From aa7969ddab57b61e79322d9682c16dcb88304b8b Mon Sep 17 00:00:00 2001 From: tymmesyde Date: Wed, 22 Oct 2025 11:43:37 +0000 Subject: [PATCH] deploy: 4a0ac61763256a759055a68cca63c8afc0e0da51 --- .../binaries/stremio_core_web_bg.wasm | Bin 30444785 -> 0 bytes .../scripts/main.js | 2 -- .../scripts/main.js.map | 1 - .../scripts/worker.js | 2 -- .../scripts/worker.js.map | 1 - .../styles/main.css.map | 1 - .../binaries/stremio_core_web_bg.wasm | Bin 0 -> 4969551 bytes .../fonts/PlusJakartaSans.ttf | Bin .../scripts/main.js | 2 ++ .../scripts/main.js.map | 1 + .../scripts/worker.js | 2 ++ .../scripts/worker.js.map | 1 + .../styles/main.css | 9 ++++++++- .../styles/main.css.map | 1 + .../index.html | 2 +- .../service-worker.js | 2 +- .../service-worker.js.map | 2 +- .../workbox-099bf95e.js | 2 ++ .../workbox-099bf95e.js.map | 1 + .../workbox-1f84e78b.js | 2 -- .../workbox-1f84e78b.js.map | 1 - 21 files changed, 21 insertions(+), 14 deletions(-) delete mode 100644 chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/binaries/stremio_core_web_bg.wasm delete mode 100644 chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/main.js delete mode 100644 chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/main.js.map delete mode 100644 chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/worker.js delete mode 100644 chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/worker.js.map delete mode 100644 chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/styles/main.css.map create mode 100644 chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/binaries/stremio_core_web_bg.wasm rename chore/update-pull-user-from-api-action/{47a330ac4a44057e9427ee0c5b2d1f772a7a783f => 4a0ac61763256a759055a68cca63c8afc0e0da51}/fonts/PlusJakartaSans.ttf (100%) create mode 100644 chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/main.js create mode 100644 chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/main.js.map create mode 100644 chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/worker.js create mode 100644 chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/worker.js.map rename chore/update-pull-user-from-api-action/{47a330ac4a44057e9427ee0c5b2d1f772a7a783f => 4a0ac61763256a759055a68cca63c8afc0e0da51}/styles/main.css (99%) create mode 100644 chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/styles/main.css.map create mode 100644 chore/update-pull-user-from-api-action/workbox-099bf95e.js create mode 100644 chore/update-pull-user-from-api-action/workbox-099bf95e.js.map delete mode 100644 chore/update-pull-user-from-api-action/workbox-1f84e78b.js delete mode 100644 chore/update-pull-user-from-api-action/workbox-1f84e78b.js.map diff --git a/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/binaries/stremio_core_web_bg.wasm b/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/binaries/stremio_core_web_bg.wasm deleted file mode 100644 index 167895b070ba29dfc665e28d492f17e1a4f32331..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30444785 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

i#mgu$19hJXBtMA6Z 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⁣CJ)%aAQ=a3IB1hSm9!M3 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%0D6P+t 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

;5BM=l)Zz%nn-n>w4o}5BG*_!QkGQE!dinyAq%O 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%0D~ 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�%>twpVMlV=OEjTNJH-i-mM61 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 jQZe`W6A|km*9vx2bX) zl}&=sMW$~}fu@(g0XFAg)Jx;v>0$L7$$;_FOo4I?ogs$Wh_ufa}b?9z};s=a~Y<6P`Pl;A9Fm zU90F*Dd=?o_0nqeOO7xCaUVrspB|r{PU*dJcy*o{(Cn;mb0GFA*X+AIC&4+2=RJ2W z!G#oTx-4HzL9YX-mn?ORC2!U@VK`X!HrUzU-}G`*4nHwR>A&P@qLzbe61iq|}M zF2VH_Y`UyNr?;f+M%g;r3uJu(*4s4jn||Q8WZ@R=ZVNYuV&|tp-zQu;OJIt3J$Ej_ zy%cP^OoOI_u-`A621SRV=i6R!;Kfz+MIvCz!~?WI(fukKguQ|aAof?QX#WcQqw?j4 zRezL%Ob1qX9!rNw?*f|6m47B507_>o0nezv;PSr|sxB`5C6~WC{f7Hii|zy?2Uced z4C2@wW|0{-UGR^{dkW`;Lx)s{QSbE%MTbjgqD8%r0CmW8*#JxD%LkSH(?IAV)BC1D z)64E#$BtKJ6dg>RCmw@EsymOR!=!fsO=r}@^!9HFN*AL(0;CrR9bkR9X!On^)JMHW z(MPM((Pb2UjK{)jR9C}5#tJtFTxSyXDEfE_##013CrJREKG9>>py}fTsF$3KN8v;y zU|!-{c@%xJC%OUFGQqy1!?GY0QJ(qIn6Ni zanH~<2t{A$2M(~#!O(7zaC0bjCRyJnTsl)HMWAz%1kmZrylK$%#RAkzrWqj&J=(>A z7yTC$9dw=NyJ&%;d;eXT#($|@Sq7Z7Hml)Hbm834>^RGE0yfc7Sh}qM=U%1DzFH0d zl+M(f7RtVsYY&9J+H>jaxc2Mc^xgIH-PTIM>P)?iyCH22{7#rI_-FB(9#`*I?pbIvx`gL!`LCz_m=#&bUGl}IWM5-Q0+YS=B$FE^GurzD0;C5 z+Ok+vMA6Y_EHLb3S~zq`MXZCOa}LOWq8Dp?!xF<@yi(}H#>Z_RSL%N0O6}K`qIQ4z zO6lP*XgbeOI2nNI2YF9V#X~d#MdvQs*v=hJ3o8dv=PrTTQ4#1O(@BS4q3FjYK8_eb z{R9F1e4A6MJVhl0`suXDbcppc9!1AAAof|E%VwR+b7>%SFm*f2$ve-5xAVH-9bwc( zbX}CCi&(lO+}tjZyPOt^4wufuV~RlMBnhsjVbiq;gy9Ea7pX6h;hHxDr_OR4tsBD4 zq1Rb%dqZ&PO!*Xn&PfuqreV`%Xk#Vxx@Z6OKKmVS2u_{QrfA(0ZVtW9D%%@+Ai)EQ zK<6Y0pwl0DL%{L(OK`ldDdXR)YbwYc6g}=y^fo=rdF)Yi@K;vb7-R_#GsIS@a4s1Nb)L&flR%LqjWSmzf2P{|&`&7s&? zUuQ&g!KL#=lwxnsol5|n-p5m_eKXMO0P4jVf`?in>G>%I)3rj;`*|J{U_B16&N^GT zITSnV?2J~aaOteGDFU67B!EsI;t@}9`GL^H{#v~ct1ieAPMvi&TEm5#L$9;W_J-in zS!YuOIwwgmIs==oYXuw+!Y(>q3-&SI5S%)<2(-ouH-}#57U2!SrE`m*2y{-8U}6R~ zU51)iXP4o4gH_jv;M7@Xqg9&$H-}#5*5D0Im0&8xX&G_n5;nJDDC<2|6 zBxuN3gZH(K8R&J}SoSrv;okX$4AZSLy(uF~b+asNrd^|Ob0~Hu`iyu-xOAR)P~7IZ za|xQbn%*>MItcsrvT3vd==psP)1c@a$3EsxYCMX*Unu$xfaJ9807c&^yE|W@=rHR1 z0*G-C_1ziBbfM^A>3c+`^K&0!kD?!_6rFyc#Ms$TBO0uDQxJ6?kDzc&d^%*hP;{{L)4Sy@wJeh9 z;?5<2PH*)s!QXF|@%MMds?+ig3U_@=&~$#$qj*0f?p%Tg8Q6673H}byUc}!`tU4_p zqVUMKY*Wi3nJ(^J0_gN7z9slOKzk8??*EZX&a{j^&^bvEJ9PR8Plki0gRPG&qv#;&yeWbLi2CR(WV%rFnyih2%1) z7-XLO=~9Ppvg-PfgQoL18hxO1k|1{I^hv%$&~&i%$sR>#v4a=Aqw@rC1^U| z8YnK#iaVD8I(><63H}bye$Mw<$4Wb^sR2-(H#JaOo@JTGpQW!+^c9koFm--GS(SxL zFQMqb>AaTVk!99lYgAf8$#a%q>MTqtc>;5tO2X7Vn+c}Q0KeywfOZ2Hw(gHc_?+{7saVVsDrL#fzm(6+L)mM zsPhPfk$XN}WO_^Kun6)m*;TF&C^`r7C3mfS96;*VvXJR^J?m}?ONUAC0-DZo+*V($ z`U8D_D+`0(6*3)E-C9MXcZN_$2AqB`3zZI>Uc}O2(z}4BBPx^W1oYQ&JT4yxDEbr0 zpJw6IA=JA#Ypl;X4$r5HOn>?6II8s`P&HUDC_10j_Z<-&&hztPHzCX2 z1+7D+!>SjtbeQxmu9rk*GQF$olVc=(JnhUG1x4>Gc|URL5b9ka(}B`85`Mr_X9FOZ z2l7^O4l0R6? zG2EloGf+CSpl8%;=zgqFb#duqVYtUh2An=F2bFH)iApLg9VWdCXgZ?FIRjCjOtV@Y zRc-mGK+&g2K2@ALgnC!Vberan%G`7fbvg$yBWE*mBGYHSLeZhqnc6rEP;?F>52#)` z3?TKo9ArA6y7O2%OnMhLPlqvIT>+)T*X0aYeIfk;q0jeRdOe4+NV3H_Ta<%J2Tm_y z=`iWMyC6}SOlJ#N9mb0CVSu8qlzdgrpw(Al79xGMKa9Nibmk@w!{g~9)7QO1(br41 z-oxJ>MTb*oB0?8Ny&)H&=pP%3-oo4UO#xe_M=1Kr2t_Zx3Cf9xQ1mM8l^&t!@Sk5h zDEet8ySlGh6#Y1(9~z;HMJRfNqB}TrQiP&^^`q!oeL-MHD7sc(5sF^?`QR%?(dAVUie6fOMJRgd zMW`{NRKF4w{TOal7oq48iXM+pbU1WUgrY|%dW51!D0+mVM=1K$2u1%+y-d*>q398c zuD}5iiq1=w5sJ>sWD$xUq3CICna+#Yz@q~q6kTsZ*F`9LgrY-wM<{xPqDLrtgrY|% zdSeq2UOoODq398c9--*Hi;Q}NqDLq?P;G>wM<{xPqDLrtgrY|%Iyh>CqDLrtgrY|% zdW53?f3++61-4|2P;`D&jCMueR^F5-LeZmL(Z42lMc=5+&%Sz5^qL4o|M%>QzL2XO zq39)SB|_0Z78HFKJ{6(p5sLnC?utGKpNdfQ2t|)}MJMWNgrXAz^=n~QbgjN36uoq( zj8OEC2}PGzMJRfNqJPZ0qEExEA{0H^6@7h#qDQ-;N4ugEJi1@BD>@u{grY|%dW51! zD0;Ljx{dam3r8q=grb-B_lZ#S2t|)}MfV$ZM<{xE46um?Foe#pk!DmCaNj5fNqvm7V75!3#qQ_c-2t~KgTZE$LDzmwQ zxxeO9_Sey_=r$^_5nofgq7P%T`|3r}heRm4`}d&e(>PxdiXNfpV8ati+b4d-yP}VS zS&2~e2u1%mQS>p~l_C^9LeV1>Jwnm#vf_b#EuiRHeMKmGgreKo*au-W!#xN!gZ^+nSP%ZK~WxWmC$UQf_<7wx(=*D!*wM zTl2mf(ribn^s?g4lJwnk1SFVMw93kp*ol5H{K~YA#qTAtUSM+FC^k`S~Xjkc-Ip9ad#=tfQ));hkTLRk>lzvBC zsvkSI1_ge^3~Xy)+k$-e8G&mGtiqat55hE2P=q|gX#_<1bj7gHZI{U%fo%_L z2PSuF3_F7lE5;~7%PwEPi~8NF-%b6HPz{HKZjWmAP}8BZ6UN>RM}}^%>h{uGO$l4s zr|zlU7vvudk5ztiuCO-zccJKmxY`kl9--(TCyG8eLeZ^`6Ix;M_d=Nbg9?sxkZGYh z#=8=;!@{x9&EaEibHXY&H#E|0a`VDMbSsmXTZO z$F@p>RTNi;Mv`DnXlwis)`qq+w6*0Sa3qH{gu@KMD&O|=)D5OzSy+csZE2obA2Lr- zyFT>u)Ys<8$-^{Ce>}CZgXgxL)RGE#?TtW{9xww2t|)j^aw?d zQ1q`I6kV&Y2t|)j^p6)smsdq7dW52X%qV*A2u0UY_Yq6o8hsCMBU7t)jP>QbKI!Ji zshl7GAZ#ctdKbi5^isPZ?ianu9P8VK@d7VC*GsiNUgZ|CUXR;Ca*N}7>as+FB@~yk zS}zKg#cf$!@2)@2+2Xi8rdNHjh@t&N<9R|wlU~AJ9xt>d-3nP)frXWEBP}PlDqg5b zxz!S^rnn|g_Oxso?PoImjEc6Ttgchzbu?KYw+Ka#Q1p0&qVuIX zLeV1>9XE(j^n($K9--(FiXNfp5sE&h(l#b-OoXCGD0Q1g#N=MOKg5DJSq>Lm%-<0+BnDz8Z>jiS{2lc+|7oq5I=%ffmcPmr2B4sN< zxg!+)aH_B`=Z@%ebc9dO(Ug%6lRK6wv{ks{5*(*^B4s2APNwW+O1}i3O4+fLol2D+ za(>Cp(?@q6AGm#b%5*waXvn!UGH`}wXH!NxO|IE@c}{|J6wjxOB*BH0UGSDKrmQ(- z7t59z;Cz{$kLiY-fcmt%#PD+NvW#4&>6Mg`E|F_ViTuAR!BvXaQbv;CddjYQ>o-!? zlClUzk5KdoMUPPQ2t|)j^aw?dQ1l2zcM*!dSKm7$6g@)G+Z2@{LeV1>JwnkV6g_YU zqg~N&XRS4BceBy1=+Um|U#+{MU;2k|R^>nc{y%+Ng@ZWzMi;l3#lPSZmiYDxOBhUB z-a?looBXii6NT@0DY85|Ok3Jz3VF6XPZ&3ZoaJ1lWvnvae_gEbE_<9OtX-9BZ|z+N z8s#bGtJt;tEw(G~U~l`#qKS9IcilUsxT2r1cih+6C*0TD*V)&1ao@oE8y$)4@k##e zWZz(&y1LHR(LQONJG*Zz$3P7~vTq~^YTA8Mp`pTkGktt>mHQU^7W<|uXAHtog=!no%S8>yX-sNyY^l7 zZWs3+L-`L3<-7U+Q}&*Hs;m37{RjJQ`*dgbAMHODSwva*l=~hGe$NNtyl*UwytAdk zz0bRb-(&CR+xo<=); z%0SO`KPc?0a6gFIAFOhpvCr5CRqj9QfIp<_!z%Yf_Cu=rVf$en-jCRSwjU`TUhE?` zSBE#3!}~mTezefh{TSsRt8yRNNA{ytt{}^wrRuX)?#J!NRrM406EgETE7<2sXX*2L zikUKJw4ZeU1rPWsia%B5e%gN8{fzw=`x);6trhNPssGt3_jC4h z?&sC)7byQimHWJX-uW3 zfB&cbcl)1R-LKmJuwSuX?d<+n*$3=@c@OxtLf^psIz9Y)mHQ3*4g0k!_nQR<@mo~= zR+am0`)yVIj{S}f?sx4s?RQHD_ZNDOp777n`v$s#*!jJZ6a2pYp8Es)efNj<2lj_u z+#fNPKV~dd{Qm{}Bl|*E_b2wpR%L(E+5M^g>1!wWqWd#U{u#TNm7L(uxt@P!e_nQi z!2Lzh3Az@Y;4kejtgHQ{oZzp}{Hvl9e39%IUpc{F7it3czcKs2tK8q%-)Ot>FX@>7 zma4z4a(`!kr>eiVzt;i&gMG>Vq2vVUEYJ}yzzb@$Z~Z?Onk(EtQS(n#?w{?S?H~E^ z5e_$S-8g>h28Y`{FcS4W0_zdTV9&s+1MA6b;6FDgFO~9a!(c z^$G9`olfgZUBAHk1+IT!eFEzra$e;`4Hy3Agz?B-K94`a|g4Y1@jty*d zU}FLs8+3N#g0lOBAKAFTd(ilxa4c{WG=K>VU}9jT@#H228t!BXCR3~pj3mL7z^3@K zGc~YDflV!+9klCpcIr7h$AZGrz)e%*X*8K0*z~~7@LkPRib%D(YtS-o( z_$3`Gt!4)$Kb#ZT?7+mLj}2Ndgai%avfe*NE^gxe~{@NGEF%C#yy7 z*$}9EQ1ApWc$H{ylIUxP5`_u&a2& z_EUKvumh}xMS9!8Ait~u0doihXi$i|!+{+N+>yWz2kvNKWR7y-@QJ`3*VQ|r+{wU> z1$L4P2k(A7uoHou;=-MN(??IsN1H0#89u0ScUHZhrT6AQBRr?#If~~4YYvRRXM+62 zLGez7hR|J*@B+e%fn5yTC2!!eDlb!cC9o@jYYFU9U@bwu+uvyPw7ME_7rGYM)xcd3 z>{{S%1V-itqra(v-_pQu>rZQ7Hv?;B^mhWg71-^-?lAhhf!%$>?FPo&J@t8yYg1ct zyZdrGYVW^tySBhRkk$i6_As!AfqN9#qafeAZ(MH2@wWwq=D2$-rN<~e;iDP4rz$?B z_$;s|f$_Jkbo{h<9uzS9LMks%dFc&QhZL)!S-XYyGBEx=FSf`Ps#C7Jq}`GB2(3rx zdWJYjFV*#;u6Jm?L&vt@Jwxjg=C|V{E0eCT#C;L>3$0)1`iHVJK$Qci92nZb&8aOj4HMsR^)p^+IDc5%Z)PVR`1b3IbIQK1bFZB*FRjSg)@ zXd^=#9d>qO!Z#+eF=5e3YC^FLW7YdudLI{RgyU5lPjNzM<3i(aO;~gikfezcPDD5< zv`L|x>N?TWz}1~0tKp_!-!|96YN*fo0Ll|eP6BETt0Cn2)!dX2c+I_s zkpW&4Bmum7QTT?F5a@nrT9h@@97;<=QCG`U6fzB74Rp=l#iirNNmhh~x&)LpDl1W0 zq56)P69Zc_%d)Bt{P4{zZoZK$%vs& zd>KP6J6lw_1v^_q+ZwuUqN;6MnBP!z5}Gy1Nw$a96uKRuZ4cef(8%oMH1E>M-K}%I zN4dSB?Fwx#r+Hs!yF=R(+CEP6{x_Xuf5}M>goU=OJE-0d()*!MBRs6)VTwmWI}{p! z50p+)ZN?py@F>D#p&bj|ac|&+Do;>(GPIMSI~CgT&`yQ<9^Of4by`kxCbZL`I~&@W z&^3ofrkT;7)4We9@_Oco#aNSS21o%=_X3I!UBW6t>SHpt)bltjlVZu zJINg&{It6(mAk0i^9Js#c%R|}5zxlpJ7p)CUg;i6`Vi@(&>n@ZO-}Myb&sig6510c zuh7~;dm831*To7omF}6u&k#RnQVQLRuz;PHs(eXhbT>+3=X|^CMz5 zBxWPn%eS~>taM9sGhV{YSgRw@tV%aBR$9!BirL7R8y&MzF*hb=WX3RRz_tnpG#NMo zeFbiO%xYpbo>5PT+1Qwki`fK5JuzkzW3OkC36*Y=hBb+vN0uC9atsHdc5-=D_kAvsU=hW|F(XN^BxXyz>7_BNkJ-|a>5vgFlj&uc?ps;7Pf?AR(PVkdmdD(R z81A@Ibt|b`6|+?_w>oAkVzxS#uhX1W>DEZR2JzaMt&KUp+hb?FD%VrFA!Zw5t|4aY zV%8ALpDnJ^X|}QKj+m1Lg=vm>rJUu~`13 zU!~LPc-elsCI?A*9(;TzYF>B^f&&BLa48YjVaj55G zcK!_?zESBesNV|=c4*0mFUkk0y;$^NR_XgH-6d&VVsw{db~)y*#Oz8e-?O+}O1ln!@!pW&2F05(BS~;8X1Dywx*fCYF}qzpS!l1&$y&k58rlvw zZH=k>JF;+xc6Vb&Y9)8i_jzA}`xGCYh^fEN0JQ?s?3f#O!%2|B#Q|%69IB#4ixPjM>YWtB%V~ zw>XvEpd-7-t$W<{h+8%9%*ONAi+)P8p7GMO*(+{6d&;e)y8cahdMoOQ{px?Zqqr`8F8Bte?8Z(ZRcjH-WXT{4a zw%T^CPFi)0Zg$*e$K4!a?8IOD>D+jsxt*IQoq6bh=91=;TM*arE|fqlE_g0U0?+5_ zWI^77^DZu*EVNhaWUc08HOo(z#0zu}vda`pI}h!8kQXYKK37Qan#vX73vj#2UkAY4 z7B7UZi9MQF3C67{?smkD z%nmNxPF=2Dx_Y~n+d~*L;*)XV_Qq`&vC9Zd#)aGWrjPC``sn_6p}xI4pw17_`9Xpq z#ce;iLvaoDump!G9^pOMqTp!Uj>g~Pw6CqSLqN)$3h$$6uhY3%M@4=6LUnt0OpTAx z_&D#%#@z|u)k#&Jr1DhUPQ~5nxSfdG>3Dv^uV_6$t24Y8`-XdsZ12vh$yu&J-;#SZ z%e|;=e&t@R?c6zOox||?xSfx?3vs&;&p+?uzcpg^qQn;wUy9qMxVs!@L4AdnWaD;) z%9c2Oay4!(yd6vNTHLPr>wi67XlU`P>uLJ)!O?uz1`(gGL7ukLO$Pxqa>3bBUiLei649arZJVJJmel zx9S96ftex`t~={XCdov8avMv^Pgl^aM*?^1nXn!S>zU~4dL_!Uob^hyM0d)GI?8VV@)B~JnQnw+ry*c;%>0~6LSVFM`- z;=3}d%tRMAIDs<{QSU?bXBbZe6E+N$;Y_BiH<>vTo!y9pjYzzniVn4RBh~T9#0O!| zlCO+P;49RQN|dIe{D@nuGNm?}@$G5PYOXZIF{&Ix<@L^`%%1kSLeCDaMuHm7(^#h0 zgd3OOe2-V%c6E=m)sR^6P zcW1s@^GGm}Us?Q&(`U1t<>(tCqZZ7jFkM=n$ z^H^*08wPVHXJ!8Dt2Cdhgf}io6oz(i3)THXy07QCBuh(jixL{_VhI*gT*BJCC|Jr| z$>*`cEn}(4f{`=oKjmmQ$Qv8*#-SYwH`=@9YP_7rE0{(30`0q6rOH)Qu4W!ixHa6` znI#kX)Ba9GtF?(jH~(E_9p9i6Zawox!foIKgrjqy4LZh+I>t@ zI}?T44sMrpcA>L7VWgep_9S$?dnMRQabLnn671(Wpg&m$cuL4bT0U85Z`8@!$jPeh zz;!s7Q1^#q;SlW(Gq;M)WqS2}9+luI#beByMZxie9rvbBuma^XKrf=5h*{`|DD)?~q0K0j!0*7@12^V6ZQwu5`D#*b&zT() z?gh(BmXL}38SkgGdYLHTru-OKowSz;*DYz)N!LATWV$E2xE@K4vS*T`?4>`wlhz|? zy^~#CpQQCnTCb$_Np^O9lh!x+dYanR!S&ORsr`~4gwHw`eN~gr z(i#8`HZW-elWtJb1|{Z9~|Di^^Q75aBlhrCe9nFTt9o!gM7(=_7q>)CG8|(WVC&4(1G}@2!i2n=q}G#YGdXFKldd+2pH5NT6zZlXZEDg@ zOImHxrX}+u@YA7rH(lcCh-V~iM$*kp%FZlR&Z4p|X?00AJ83hMFs}I{r4>`&%}JJK z)455TlVlrao6F-7=#ap0Dwoq5FUb#g{TadIxT)f3eTbQ)^q%G#+ElHN|dHCs) zq@PchCJS|Ww@d?A#sHQljkJ{9ilm0SQi7EfS0#-k!Rn-~_UC6!(pDsGP5Jzwy;bLD zE9a+Q^(zYkvj->5K=8qNEQE9g` zSy-8OyQH%Vo!v2?4`IbX(S2uCvCq!@&ifRle7b+Bj;${HXZpkj(lZa zlVh?#_lIQR5bX{pjdYOQ5#Q%g364@cmNb$C$CGy4n?8}WBS||^KB@dJDs%VWPTz}*PM6fBtD1ueA3P*-G!v= zTvX*nDlaANQqo;c+J&TDPUg24osMQ#$``LCX;+f&YSLPg?po5wT;t+h*Co55D|l16 zTS>c~v|C)f+ey2Tw3|u0&Bbed)9G4^PIrfBKY4do1Gvio?ukydJLK*sHC)J5CP#`7 zJ-I5uBay56ytfH*1xYP`jmf+1IzQVvKW+KKAs$Go@nf1mu|7$Hu&OKARVGI&Ay=O# zMXf#+xSBufCr4VnIz!MInljR0a>G(O-r*7qr#K>IBnd{QY^3MlMx|_6%0_w0j`u^*-l3DV zgOk_aT1K9I6h@02_~d$f;T-eWn)t|v22G5nH&+%NZE{( zo0*cGS*n~xWnIdMMm0NSGgCG@m0wr%Q<}|5l_$rP%}Kd=DVv*e^HWAQlCui?<~8=H#f|h|_Lqs?hM3Tc!alV*txjMp{a4MM}ek zGG%h4$nM4@3E16uwLd@XalAr19hdwR?Oi%QyEs1$Z)tMG@Y+;)a@6j~?1#*@$l3sz z%m&8YpdoM6kT>bi<`f$uv-L5PV|gFsM#jBG8y~-Rx_NK02{IjRrRUc2WUg`T zuIq~3&;`7y+%1u*c8hCwTU@H$OxbO&UF$2KvsQWBXWX4sq4^zmSH0h*_j@TL-63}$ z!Q1YE1P>@aOc_anM=5)hdM{St_Ey?`wx{M?R21HKZQjsh=|4v6NyJ7c?UV1~-Y4oepe7{Z`=_M_@r!}G;67)dOGi@XZdZn#b zS|i$DY2DMd-y1U58~t}&AL;i&zi-+|y~*|ShWbm;pW=YDkt7(Hwt?QzflBL_wgcW! zM>ohD8Z7<6XbnjlX%M-g-q0`!hEW`zHj)G*(l){yI#_8#({|7s%Da)?&?xDTLThx| zNF&LO@rG(7sG&GEZ6pc6Nym9ZhbnDM+75X`X*b>*njrlNXiZETX*{_}-q2(TCR40U z8%csGX`A8=9j>%VX*(=KmUu7589gGGK0-zFJB8Y}-BdN6N|R}6o0fLdeOEJ7IfKfX zX`7jLv(h#_ZL`w((eKDTcfIZE(xs_ocG~LFZcf@}r`_DNk(rzB;^w9C%=u|NbAkRW zOxrwhqFr5m+UBQiLE7rmo!z3eElR(hS{U16^}9IzL3pDywJb?9wNSext^1ii*h{6d zl%Xw4+cLrhrfqpTf8$x87jc^3aw{ZWfp}%wR;Jymw5>|#&;7i<2Ykk@P8VuF;nqlH z4JvEXMp{j79fG&rdI{E3+>kbs1Py6x@aOSprL9ZbQGY?+cN@K-P14_l*5UI zwC(YRj#t{wv>o?`%>hj9yU=tQL*NZSc- zsG~dL4IP#KQS^^7*0dcVcibB~A;AfXC(}lf;8fa9c|#{F?KrjGP~M&PhR#U;3|eQ? zMmkNd*&8}1!8wZO(?*iuLfS5PL#HaO8Kd4%+FkU9E=m6qT9?yCx=8MdH`F3Q3&pEx zBS~;AZP&b^)0K7w+cG5Y=Ng}p_n)Dn_7gb7b-ev8cS9C#(C%j1NY}~T@_pWx;5Nn9 zw2>sZleRnF^w~VM24!rJH*}%W`e*EdH5g8*% zFfwB!y`hVhHY{Toy`i)l~(x+}7L1*!|4zzmwr%ou4pxmg?yZ~sV8M{#z>ND|D+ z*c@+pZpLP1Y;M`|Z@Cs(ZozV`EYHgn>N~pmGBBTJ3o=HUM{Z$8?*`UOP)~7D#z+z@ z&e&pac}d0=W^75>GTK*V`YNXDJL(OxrI|uQN4HESmeFu|Mz4phP;mvtl^I)}G5#*i z6km>_#i~r9?=P`n zJ)f~NeAdgR(Y`6uH!L>ZxJ4hwH2fQxLQ5xiQxLx(Pwr7hk5JkqcnxVv z@FZhTyy>SIdz7)KWz%T4%5*EH+hqC~&eqvImxbrFdyz5HGjcDv8hKYO)T0{Kqg&QU z5_Hd6_pDBOkF34SSdVOJszCdWOy9wD-_DrsnJv_GcD-bw7Z!SFjntD|9|Ui?z7q7M z*e`1&3HoQPzc)P~YkjgdplllLyE1(j(>0yB;|i7*_76#F7aMnlz$qmWselb*n zp%jN@jU>VFtPRiVws5b~hGgv?mh=T+gf}!&`XkXAl{L}`a-+SWF%pcSSd%r91Y@%{ z)*HHCX`{1t-y3?@jq`@aOMg6C6S77cM{c4wG)aO<6enkmBtdP~YQ3Qcl{PVJ54<6B zQ@o+6(w~afw5*Y)kelue&5&RQ#hFtXr2V~D9+CsNrDAgTi^{nsqRINKt4b*N#{9edC@hKqz zv-Y&|2SYu&*pyXi6AGKNx??uVN+ZQBStCiXHEUbFPj1WF=B#a#PpZQvsWzdoJ!{*u zZb!Dj%dk7Mwj*mhsomu}jt@ zwLMuoQ10-cR1czXC~JqZ?r>Ing&oNjw*lr=CEp>p(C3v#{&}gxV_B7s(d;-4I=U0G za)RQ?tdS%*m9OHD`^#XR^h+ zCb}0Synygx)-Gn#^r-CD0o^(vLuvUVkF{B3z{=emT~5#Gq! zjjX%Lwc+VN)^29)7PYs%oz|>wxOb#_hswKI1I^@b>uWprB)o_4J|EPqdyp+03f)6K zYkW$meT4YEkel#}N+bWGbjsRreVi7B$9PdE_e55nP<)Ex6a~+?qW+XU$0<44mvApij>Fq0m2P{c~;r&%Q%9FlPgDHjvsuzQdKBTy;Am zU)`?g_JeaO4Mt%|PPg-+vNDw7u$+-37@o7?zQYkY8)y`DcQ5rkJ*U!i z6lU-$MJG2?R%TM1l{1nAbvdi^Jr&gSOaJinjc{G9e1o=@!p z-(gE9*Q1@0?@{V-VNRumDAeb)AXp?TizqH;%YdR_NzRt|4wvSv{{OJ|9`JEpb>8>f zJE}7yd*TG*SYbH_0+?b53v03lV$DL#I!nuv-DN4efrO^8fLLI|E=9H_OYU+naglqE zdv9{@w%p||ce%yAxA*%ycSe#a@B8fgd6qn%hk+aUp7uZGo_prpd(ZcGqGom~!#RpN zhp2O-W^UBZV=Y41&X1aTQ8ORk1unyzEo@1i;k+c7;X?Kch?<2&SVWVwu#077G0r7X z!=ZqsQM1%#xGZWGMa{BQhEel;#=EOOqL{ zj>@%~2y3F6Jg^rlGgX}HqJ~2O>!W79%Wy-~tcjWpsSGzN>P8}LikeMP_GnC00NX^_ zr_pS|cdN^gNkiv6!+GaqhSgEIs)?{Iswu^GS=o-0&D=N?z}{;+U54y{wk^sQXvzCy zx1#PQ!k(zv6SXz;0Wh4Xsfn7s`0i7N{DRoBJi~ceo@NEl*!@wt_7mX%HzZh&tQ^F7 zC~7zqa5!oXNA=58o@WklL%Nht+gg{hmIy~&%A-no6z8$1;ZVTws5$OZcF8kGqNa;W z+0veHDNhjLq)T~9DNo_7iy96EoQ|5)E@js|bCUbrr8M@8OL>L}XI;v3N_h_F`KaMg zz?)I?rc2o^&zxm+a4DPH3ohjaB3yJSFDd0EoR_19LjhN!=88+%JEj-hgzsdp1H<=<5K2m=M38R77=c{lx%mwM|hlfqwI0v z0`5i4J(sd)9y@B7o-XC|u)WW4`j~y71P@419OJDTf9^-!4^WI%5zIk5XkO4E#$d}B z8?&8w3lNL%9K(Ax=DsBgEFrKIQPi0295bC`@k@6-=#HkgOo3$tmd6Z_R9$$T8jBZ? z)f>4cwyOfW64)(fy2WhwnCTvizwv;SJje78rrL1on%WelgoWX8I=sd3qe6zySoJV>~cs2l3P&i;ucbo;-{WR^VU) zhs4Z~n0-BFUQY({Y&%qeLkS$l+>*8Nygp5(glbga2m&i(sNC9-F%)a#CwHlyAv;Qe zqX--wLw(kcVM>_{hiIG7qrsP{a6zJ~bVbOjG_ltHQ;DpAOKZZtAmDAW@HQn0))icez+Jsu`DYdnI zH;d+;(we#Vn0K4^6xsLc{C(yr^S&b6(!BTo6H6zXkC+bwpnt@E)I4oI+RpwZULO-~ zUIc9Z@jSg@*4yvq@aCD~&F|8NcYDw-t+|{2%CwH}>MR^ID2@Zr+l2V1Rp=A;nV^Nu zGfl!F&ksrc;IA?A*KIe5y@|e_Dk;1)!d3KFuZ4>ut|I zi|g4oA+YpTp|-XyJ_V+&DJZfD0upUPgtrPk8!+lhh%nGddRlNCTzNCZ~ivl{+;=|=kh|X*3a0_6Zi9=W~o|#fm(mw ze8JV)bG3fdevvp|Y!hmxVl=Z~qKkc5m*EBTCG$cN;5z4DVf*o~6alXPy?L>n{RgrP zz;(}l)%=6`YLR2t|H=GwzWtiJ++X9nmFt#Yr$2tfeBFE_-hmy9ze(=j6mIek0QQji z7k;&p%M+V{vU~O=p!JuE?6-o3Z}@Azg}o)^T(xgg)^E4=znsX0aL*Ls{$gTKZvtMy z^-631tBDr&JDh%}wf_yx#=pz?cMI+J%=bXsbLzgw43DqdYYI%7?lsB}{Xy;|;3qAnUyy6UW(XTa3EL9cfA zfYia$O?T+k9vvxVWR$w%imXyzBpbB1|&dsrqsB9#gGKK&UZE()csrtsvYM5 z7}kN}*g@NAIH-0;e*A`bW(b6om$(}G9flo#9RMC+9Y$Rv)$!2pu_SoLjB;7-e*ZpfIt5%rdrnVXq{X^OcrOkvQntI= z6dY!qHwaXPjzd+-Jn;44j$_yIh7k{xoj1HhqrVWXhi9u)g5{p6^2~BdutE`55P{xB zgzl_Kkk3kdUZz;YT_yJ_-0D>9FYejZGO@>zs*9z2FCB z=UW>W4s3mcXE%CgBZ3KxiJLrlb~h?+R+P=uoX*a`SPmwjw%)3&svWz&)q`;d74@Ln zQzInNz}uN#ldv+?WINPkcmuoZ*TIzl*1fi^V0YHEQjXn@bl=I@9)^py@a_cE-~?{x zP{2N6?wSxXLEl53Zih3b-^5PN==pr1UxWQhyPwMHmp=zWJ~6#5Xgr<=F>^?$JG4A= za94y{1=Qj^;u#JF92F3+oOn8bo7Z;F!E2+odQjlaH6GL3a#tTy+GFH&rET)IUe#96 zJgXY0|IJkWPpJNQpK$f35l<@0$)JS%rm35xZuL_NIz{S|0`B!Xx$1Ng3WA&cv^-AZ z(Y=7X9onAP_P8nv5_j9$vvQuL0_TL?i@MK&y2tNL{4R*Iw->!c38V2P`Ch{JvY2~u z_U8rUgVyVIzuMLU+Ot5G2*CB%Jji<4*9Z+;&)i(Nypa0q9!!1eb|)Edy(hN*wg+5a z1YGa#_q)ma{aRbldQ9A-<^u}UcLx-J*>l5#*mJ`d`|$QK_C+xEa(8s3eMj6-^#J#s z{B|PiL$=f>o6h=EmW1kyEI56sID1nL0Nh1kT^&~sQQwt!8a`A#M14DudV+cist2Jj z5=r07ub~>uK>)3$JXU0y7;V#1Pf)t@GNP|0MDKML_-P0B^Vr)!)Dkz7Nqqjq5jEC7PiU!R(_XkZ7dN=X|C4{w2%y*@$pr9|LR$p`8F~TJs}MtxZ~a#5$OZ8Jg^;$tqZQx+ z&;?lKYb4{n#&X|n?Hw3UUMce6$8!7Kjb-c@W=&PF?_!0YnH6`Kj4wO?wmvs90@MZ~)}iM`0j2 z33bnZhz~%ECDjJv9qCAj5HP$`4b8(($Z-NkDE2WoHQ3u;as&+bG}E2-8uae8mmI+< zzex+v4`*a%W#{BZqOrUtP2-O=d-Solz5Vg#Pqfhe($YWB-l9{$FMwJsb!VMc4tSpq z?yQgKISRc3eh88mA_w7u#PkgzdrrRRs4S8N9A`O`W&szwv1q}?Amox{2-H=0)%7N= zn)=bJEa0^lc53va_k7|mP1{J%009GgHOLJe1HLbk2MPw)eaROfbZ`Udl8+^-*RZBo z!8Zv;%;1)fl7TaYlmV}A@I}Mmt}g)tBo6NR@wxAdwNk~U9sKc_70N ziylbupqDfc;um;@qXd#XSoORv`KsroZ~)P(`)h!cHRvy)19V#?aPVAS^Vkz=7*q}T zi3kU`9+P@rkZcK|d4TT_D)72Q4-h=y6?xDwC?2qw1NZQ-R1Fk@!odjFFubos9btc? zhT)YYw+SA_Urb!x976a2cO_{?hLJn4qk`N<%Xc)sW5OsM*s;<l-U^8Gz^1NG%UCU2li&YM@{ z4GuP{8Sh_N`h-XM3yBI^3;_gI(ou&wVPp4S1FBh-!mH|Qwwx#i9ukXIoE(5Pm-J7yw_N97BN>DXPT)ayvI zUeX9CBLtlpHH2Km5EAp$nKy?MEbk4Ylz{F5>IhOs*b;PR742bZ1Y{AMVMGy_;A0r^ zgB_?=Nh|^J19j$I3fe_y9{Peh^UxRUZgu88VLCH12poIDC?n*ffPnD9b9s-)nyX=u zLEt{DZGX-7{m`)ii{hf0}h2Cf^f$*%rRc5Q{hGp z!>0tERPea?wZzRmA;~1LUYRuaB$I$Xg3Aqc1YVfqTbzLwf&>!oGwOokUk&bsjzWby zX0WDCLJ5*bkgZbrmg3u4$_Ua&D3Lxw{N8J^_vw-&ioo&>_8!*MAxDAL$$u^b%N6m*FmX4~6u=-BZ#BE(E27UT({4zI}9u(r#2UK5y`gi^t7xCW`kn{wj3^ zse4N(0VxHS8!8G6z4-Q%j)FuK&{*i-P_qFFe@HYzwg$`h52z-T{xbGn)oiH3ht}6@ z7e#5h@ZY3T(e0EpG5d%X(J$`;A~Bm z?^Jx>kV1kq6sBn3^7y$Q#@?fvA*8?>j{2I-0Qo=WPLGP_y+4S&w^z1QlG!Mu{k>W_%z+b>VEInkB!eF@JhFF$TMvlzJ1XH%n^)`3097 z+6&Bv@vY7<)fsl16d90Ki1+Ch{F**2x*)*?*?L%U!S2bB$ikkC_?DMq?^ex{q6(?| zY%jJ*g@ytHE_orZz_FLJ13}FYSl~SgZl|l@LJnsjo}ilXH4qhs^Nni8he6&h;8Fc@ zVik64mAaPHM>5b>Kw81&hPDE)N$@?Mfuw>I6^?SdHq`8-!cP)@O6m#{SCFmK@|AYN znGDnw>{+L_a5f`e{Zi~*s##KHAyu>U8Hrj_y{S}hlIntF5|Cfu<77}X1QmGafg801 z4uv4AaK+V(FPUgBTxe7?K31~K4UgKF-7h|>3%n2^jniGQ*Mr=CPgwyS280yi8=J+f z%9vDHNR{ypDi4$qu?5CiY@xEiafh?}K^Y$?3~Ty7{Y@UjHo{*qvj?m}ONU_>I4 zH^D%K4))n4RB4pn-~` z&4BhHL**i6GXd4}im9*H$m!)#NsZS@VaJu^{!miNK(mHq;f3>@1z+Z8m-ZiVc| zy@&P7L5LG&P{XifVHdNqMh(NN1eS#1QOs8}9w+uH^ET`zPMTJNtN-i!VlM%u{JX?h%z3LZ@or?sU`ifpp3^Aavb*wRxdM5b9Rz( z*Ihi8Q5@4ciiW|3#S{!ucno?qF#)@$l=>8D>X?6IBH|ESyfeCZXEPIHbny^zXo`qK zAnYI&hjWr|aJ^bZL)n3`850*I>42hxGki(D5^X@o;c})#94<=7LB0B_g06D$`n{@) z*Y8y%9jN$qUA!Aoa*(XUH7*`%4mau5$%}VO$!^s*%x%OV-VCAOfbSjhLBxUMHfQ&O zhC#+bDh@2WWAF_^in9=I(8beY65d!hYMA?KnEQCF`%$6>yB)G{cL00tD2)e6Jh)z6 zl10Oy@-Ryc(>aUhtTLzeP?BXzrTJjWvVxZem?)Qta!ho|Le#-_&2omj$+sK6-LsN% z4yZn$=s?5tR8UX&>{Y0S^U~l)=sM6a6w?l2RoGpg`njy#5D}-Xa=Hj(Wqfq zOOwfh8m6X2iSo-KsXZ_plg5cX*kQ?r8LoyIk(F4bhC$7tnbaJRffz1%2kAJB3>rp7 z8zmE?Ffm&44(K{K!(-(;7Tn90&} zK-dA%2Xtg5>+oFOqp`=-FjJLmYJJ0?^f2KXYM2FCiQQ_Lh3YYZ z_``gs3V|ZTqM%_^w8b*9m;x+uVh>BRoZ)5iU50O!G#=1=kOahX*Dxy-w1S2i^K&)K zn4hBqLB&_8VOC4}0TBp9A@ZgAu!e?tEcP}v%vvQ|Ti-D2=$UM1yI#KQ$!9|rY7b8R zVPnuRzoYaZT?j-Rwz!62E!9SDfkq8eqJ}BKqvo|l9d;jMW%()FD_)*3em4RK`3FkBVOymt>^nfbFB+-WgwiI1d^5iYj}%B_BPbBRRU=Wfc5mnCO_=tXcdWi!c@K7{llWUExZrTBK1 zWJFRiqAWXp>$RXCmn*!SrD4Iy$2R6w_juhP->#(UmW?z7k`aux*kf+nLm@qI_mtX$ z3qc&BmqWK%+1DMfMm0;W?n8Cp*NK~y2JHwY!lXtRqIWjx5iU1`BN%=0bGe>RE| z=tk7nY=FY0|1dBcr3i!~oUOs~9gOdgY-A#&5`lcg>)G)Rztqr`A+ZSNy3qP{&nFOe z9|qsgjAFQa16_zj9WS6O<*vlaNa;kN4uPsfuQ8!VsP6L3$=MpyzZ3B)FX93OEx z@@{aFqD+z@m!r;Hj+5m-Imi*23*bI^Ou^&gi^_3okmDQjeS;j3ow&&BH#8=AJ%JnX z2_z@@J2jbOQt0cgbAlY_%6Bd~ zAWgCEIIk$=PHI!kbMh2(k~!wN9GQkMRFs7><#^dJq zl;e^hM^q}9Uz6i9dIR&{D!Hq0FPD6U;qQ`Uj!~B*^V=1QvI0Y!T#h<(Ij)rd${@!` zH1RgON*=55nE$GBTpi@NM!svvVQqF|K9ja}awjD$)@Gw(ff7b=9dlidOv*MW$_80> zIqJ;ixKaKagB)|BiMOYuF6gU2QjVL09JeUi7INI0ov33rgw_S00da3bX+eS)$YKOJ zYO#%*?I3@_BwP8o9Nn4v>JItu2y$et%;PBq48CapR5@y!cJ7Ydinf~^_8^nNOa%!H zej{)rg0V+B7^r0gIcB;XnMUkW6p3QgxEyun>X_8RaCb*W6gn173})>Fulu=jL>xmo zHj>9ktmF5)R9_|hhN7!x$AJBmX?MjG)^RQ48Aq;>vu*`&S1IL<)|~4<5~Hi zbvd#|dL{FGd7Q%*5*z2U5#De)qPoGn9^Z@EC~cs!fffhq8S$zr#*>!*y3ZiF!8Jl_ z<8n4q8;EX5YJ-z&Xn9q8c}(oq@DQKDruiLCKwLzK>JY zyJXBTjAk zLmO84bXDZ8ip)B_EU9rY)5m!cr~Ar`DhIDy@VSal25KBQd*Hl@^LQ}}SmaSJ%pp;Z z9NSxd^_m>$aU`&g{sz91)j)!yKa0Y1B+h|W$ABCy^*KO{fr>GZ7=v<9;y{SQ<$wwY z?^N)8U1Az`sFUXynv+`WqlCk9XwczKhhsRh79(=p#Tk(ktnNEVj7k})q^a%~(+67V zA5=M5@G~k$>pMnEpaa1T6oZ``#SN4=#^N65#5TsEqA^}78YpeBG*EvgNrD4~4Yq}l z=mv@#Xl*c^SJ+f3Y#_FQx`xy?IGKil=?a=5u?>Va&?Cx0N`nPI!JS=8fsof=@TYO> zQde%at{mR8gDdBAO9o{}ZiAUS^?4A~hkp>?2-boi!O^6CVe>pioJYjc4zA+-gBS+| zL5pL)r<4vWD<`;D zh<;Mpo($@yaqU!2qMSCZlXoEM;acyE+-IoJSts(r-&4s!i8SYeG)Q;w&V@K{s`>eI zE{Kv`7p@9jP`Oa@K-l9V<+`L+yQG4+73PR|@MIu)4n#cM`W8eyLMV9z>swIi2qD$c zI@s30jaAok7@-jKK;Pp=kOEnc5W*foid%BrQVMq)aeeJ=l>kYP+YMXAZLdF>u|hM?<}1UWIaq-ZoF)aC*$P`E5{mE_+?cmlf5pohk{3!Ty#9pAeOyuDSL>0FivBy zhvYs`_dv2EWiKi6(b(S068zxNfK0wE``?!Ahj07jsyCtc(Oaq?MM!?g-9Hy45R^OE zzef@v$b7Uz=7WNw@Zs6P`h&6usvkp$g1E<^Tm(Om_{c}U{niGuLJfcXiJ=q{Uv%*7)QDT9Qh4Kgi| z*oZxjz}{n03E_zWlcOcV6HSjkOV>hBR-!J5WTS~$b8=Bs065du(pL) z2UU+XmIOfq1WAy<+!C2vnu|J!WI+)5=!-d`H_`(^0K}pP5<(9|3rcu9lPy^grutN9 z{^P0;k|6URe@GG}6o`TZb6Fl2b5I8%$r_SWwNR3^xrwS4(guYI5NU$!PPT#h9ZeAFfrL;5iSxOgPZ*2eZP5i`W{$c2QuROp zBrtbS<__he1tJ}gL%H!SG%3*^)&Y?QNXQ(?jq{D0N6iWEkroKkZpp8cQkoyUB_|xsk1M%S_HgE| z$($4QK;Z**4`+_(Xm{|MoaktL+|0GNWbRh3KB1xvzp15kK6u|vI65D9a;4_s%-xeY zC**;u2Z|of9MRG1U}8;lbUlhA67>in>!HtVJi<1Uv1z*9mUJ(LT7x+Rn3>bVnj4`$0Gx%g2fLFMD(M;}u82ubIoS278Ys*g+XgYS|g zx%qJ=LFnV=$8A4(CWSsifz(HEpJeOF4>=Fs-;kvE86_DQNfbXLEvK}F6d%T`Z!i2Ejv-V*v5OhF-Yc?{% zH5(N{6a-Zdv_IT6BRcXQyuQI2+8$#fcC2iUjp&sh)56MU?Kp*xBi!kLNcO{Zfr&CV zNx~k;e<1x4ze)!sI>H_du|%H|LHA&@p9iokCyrC1b6RAx&JgsC(|TM|L)1Emj!!)5YYh96oVRT1fYAOOPOMUnVs zNR&Yt()eJEB?jspDrb@B~F zJXE$_a_*uS=y)LO!QbscSHbKah3$cI6%31k8mEG>SH62mvCr8OG2aWR7SN9u8x zWLI^ukp4gnSkJdy#hbzWT%iWrOkuuPRvZ5kdH)NWvcv7;&ZZk#9RGtVFsVQu-)~ zO6G%;&e3+ZOhM(+`at5N$aX;%refz;iV^x3T_+VGg$Q_*@7?SzYVg6)e`gbFA6Q9%)UD?)D~9Cs0p zvyG8_`rt#iVgzE^E04Z-oN`f4<=KAn?jJ=b1dR}8zltz`2q#^HlX(&h;f+OLgJCDf z>4qQ?!YC^>5L80Y0C5kuuSd}daSyjcm1Zb)ufvI;*E5}-;pk%Go(uj#r zg7r>OWIZL=pb~6|>M4*qZd3&t>xiHrl6=D4qM$878%4=K>VyZj%6BU@u9jYi#0j?j z${!c|?RTV2;3q1dv|;0$@T)e%WIPoz83raVBk`2YdYFkr6mM+DOw8tys0q#{g{TWOMOGls#NDRnZ1vOJK9ba%ZDt-pVxSrN0*{)< z+95IE*|*aj9_QcYQWq#fS>WyFaq~pJZPD-~Xj)MF9Gj1B*^^`uC=HnWLi-n#;hp%r zv(Os;hmSS3r602IGJj#-MXMTiEJ6`1Mw|(J_Ilb-ny2l%6UF@RHT#r#w|$R!%D&gU z$Go?leIF%hNlD(%e;+XKGao3jA2cn^`^^XQ?T5^V0+vP=p0uqn*s5XU)(>+PTbU0# z(RP0RL-r%Vc8gC3yDfgyd_OIcHyTbJHZlJYF9uTeTx4+jr-Gus0}=8 zK2?a!0EP?jDk!uGlaSZnn7@&k&mcbVnPejs*hw-o2{XKX4cX7)_-vs?alp3Y`hO1R z=L+rLn!mN}O*_-xUH{q;S_2v8`9h1*fc?CZeF66u3K0_cqWzNjy!le92fT!mKnK_6 zFPJaezc()+B=GmG+ z34FtRt;W&E zZ`)VQ%l13w74w~T_PboV?@^-f^WP85cg+uqY@zv{`MxR4x38L48+yPi_JJ^Us2;>W0s|5>_!U0CDnw!6 z*Ag4}jcorGuix?rbMHx+wdPAuk?l!vPm^ei7& z7@$h^Uca;aI^$O+sR5J*3=#z8>?_Tp5@Vb)-kd(ks7;C-)Q>{bnH`F?B&^qh9#27vcDDg;=jPj5au%lg8W8^so&#}@Fu;U~%V8(gzbze~j zB-MB?*##$fX1vq`%mjWvop8V;sybPU|>$8{qE;_5{sIrIP-{uzyQZw z&K9`(E>yrmoM;JfC;(}J#jdf?5?J6NCXnn()N`5|YZ{GJqprD>Clk*iCBS}xq^t5I z9xIlWttMQvo3oiVtSCrBUe~D0vTovY1Vp( z2w1L8hFveehx7v0Imv)QL)pE|mudhT2a*KQfXz-Q06SadxfRc9sRc+TV2hLj+4w7jA#!KDu9h zbRF0bk2`D>sN4hIUnKV z^)r&JzJwlO^;wusn%hG6#phpd*zf+1m%!{@MY&6qd(HqPKBN!M2Ohw_w!FWS+VB2i zmQei+NPR{>A2J_OpDWo(ex2|u5tI+4Zvgm9VTBpYCS<|u6Wp2LGT)T31l>b_P{qAXIl69Bq9%AE2Kb5j*&^@R4wc*o@h&gRLfL1S!8nI#r+aOAKOni4cWtIv zdp1WU5Y&FC4_+?=F!k()if27jKg<_af6H|eQjOGB=3w>} zno7yu@XZ^(`1xs#w=$pZCyH~x=!rCgNW9yju(0%uXE;IW9Y+sZ?_O4^#pd`4%+6Jm zxkQ=g48YK5z|b?MX{UPtdWd_Mf>%os0D3|f5(-4W$OoY3O2V|m>)^N4hfo*HzSxIm zkKdq^)a2SK1y>Qg+y__(X_uXq@?43h!`VfuukbcZ7I zSx+->P~&b?TW`|YX5s5F=|y&n54sMk4v(G>ir%P`Y)y8OYGCt-V01Vfa^KEo?yN(U zGYO;vo$vG^)`Lc>$OTU)a2Ig_)OY*P=`sMFo&lN8>JsgAFCKl5ko5R%*GWhPo6h#n zLeYh#AMh<$IwyxH{b3cnRs}zzKSv#xew5N5^G&S}n$DK@`6AGdH|it@a)qIT*w9H* zd!WLgi%SPXPj!-YIl|B(ZYWuu4^eJUJE**KuoX0y{0v}s6quYyV#m+<2?`5H4m^YN zP3?3qRQyasClLhAM$d|Jktmm(0dR4M8=O~!m}|@X3#m?mW*v|?dzumoKYq=(*L5Xt z$nOSzK;sPFw*-^}jmL-3Nl?AJt>D`PLyzC_LB|u=xhKzic!G@I_w57mkl38y-W z=@NF6qORctGI-s>WZx~!0z%>7aN*3)Tw!}EpeIg`OgIBn1t$T+-#Z7Op&|u0K zvorK#JcA!&#PujOhWmt*lQ}@~K4IW+U~%YhkZ?A>ZwDeyfd{ILJ3# zA;iJK^8*~b;ism13@n_ChLUqha_7roVLAxD!y4^(KRmhL{Rn>L&#z_`p<~D4#w*=^ z_rTyGaPVLjK1z;Js*0Z4bL?nlum}Jun=#aRtjKT&i;r{dHC_SZ37FvcZ&Boc;S*i6 zObVNEVKXV&EHs6ksb-l;vrN~1_me3Of~vAGg>+N3r#%EYW1Y)$ngXWb1pVev0F3wy zXL@EBh}_Ifn)WH-ESa8#>6_8Sahys#izKtdVBt{VbjP{!n~UE(?Q}0D99VpQINpib zPfbj8ID{g>3&SwsAmOsJSe}dVT%w)sMTCQjFAes)*O(Op4^MP-&vIbl%ffbf7&Kfk zI43K(uq$;rSLy1m)*1XaeE1qJEC@K{_iBOQ`9R*O?&uc)d%F&~9&R@V?@a+VPyoPg zj`f^DeUmSUH`pOgxNi;xYz>>Ou6e2*1YVtL9%9c{^US7sF2)j@Vj$o+w~+)0e0vxI zTv_du=T1DqzjuW}zQMwwyyNTLES*$)QhnF~;DWzv!h*gz*+*6PtCj~;%Y*s@zP(=? z-LtA94F4_m`!H2?tan2nW_$S~%J&F`P3_)#RDBTNqxJjUSH(nmv$r#)gXKQX@;DLQ z4ZF9V3@3{7z`cocia2$`yy3lhr5sj$&nVyw&a)2YRsfXuIoDX{!v+rge5$dCJx7f- zhsG+_KH_hN6J&ou7A}zPq5yAjaE3*fC)hW`B2I^VyMU`mhiucOAGHV2OcL#awm7(IoY-cnu+YsKMf+DnA^4t!&-7CZN&0w_A zyD4JNQ~S(Q`{X5t@(Njr`;i2wyMKlq;IbMh&w+Rj(oXjRxd$-c%ZP7q{ghNgGLmEM z>pbAHw3-QDh8@N@DJ;7k3^%nLp;}hz&q$_zJhD<%ux*&`O7YwI0leMNPuX66jPe~r zVN<)ej?JK-;ybo}L-L9|3!yDcn-6gej2QvB-Ox`bg3{*MNs3d?Z9{bP9WF!l1>I)4 zhtr|kE?}D2Z8a9yHXQf#RAUi)z8Y&jjm4K2W`U5^d3L5O{2s1I$YD~|i0|tEe zJW<>-4WkXkJwIid*b8KO0j4YX!d%fr@V4-621llX8FrEOQC}>-#rQ1|x@|$Wp}Lo5 z#48z3i`l+h!OIA)Vk($nms7kZc7;4w;JH%Zwt(&B84%lUzk7;8GN5f=$o6Vxf;_a5>$q_1b-6a^>TT2+{51ggCN3NRHu&~NVc7X_*p2$=mY|Pr%}7)>5s@t>n-$3- zvK^$oJwrv^p@1C(09|v4-Ui6tMVEx&VMi(IOjEc%O6)~yn?-n3HqnkGyOnr1N%n}? zhSXM8d*vw}8$^3whWKmX}NIXww&`(Zf0BHkgGfHNd zI(Pj~gRVCbpe;n3L6V7L5Cb@y^tp9SglK1&Yoxx;5Xo#(b-5|OoA})lpe-=_ z26M=a_*%xsswVc1f`wb(Wr)lG%$6N+YaW5|1j~MqAtw7C552*D_Zh81BuUq1iDd-3X~R9>ZcE#qZ>EB*p!^9)et_O~w= zrwy6S2R!HQ>PYRbxVwqZ2F7j&j7?{T!{+^;{`BHwognNY3xN%I4Vqm6771hB8!Xa& zcj9`jY9iR0F%+UQwO1;5bqEhI>*RBR+wZ=gqV=PEOWl6=K@mZ+8BFoqpPxKg%A%C3 zO+;xkl=7WppxA8CY}y+Do3Rx?*z6%ZJqy={&5m!Oz3Z9?(PmgBcvvQ2wuQ*X&Iozd z1KGgXkk`Q0ZohkqPqI;&$=@QV>`|F^4By-`#anYSmR1?3wivIbnV_?Ye0URFT?B4z z#zUhBv(5**uD?o?xk~iLDVd4lredubLn#wfHHYx)Y4F8O>~sZ8#|d%Gp#XU6nS4bI zfmuUjLsln$iHN;ay>ThMvAAjCKobyboU=*dFl_j1Wi?Np^YEN6h+4q)ToKptjqaC- zR0}f`9o*y)qY4ZlR|A@!Szv}Wui z&PI{e4!+)$srqhKz-9urIJ8<+_EvG$YAhIQc0^bt~hs#wRQn}gj>rrv^7L_P0BPStdi*}OjpxOS2Y!6&B#jXddND% z9+2N3K&;QwOXoKgVa=FHl3G?YWP(=9&QWuqSf)MBiU!sx1pD37OG$Pjb@5IL zv=%viGE>+zCv{xB)4F7E(@2Hr3`Y92Na-Sx(`NuJ#7yS{OQ(9NUjQ`i`soGQhpnJg zfQu9Wa+>1;XO|HOXexA?7lSzAra2UFO?m zO)WcSQOi#HQ<4QJZA!9=0Ha~0O{XkV3SQY+Jaoe_#rE=`(##&ARa0AFmS@pV@hz|4 zdc3l!XlbUJ;D}wbOjjt1ENJP5{qDPGC2E`69*Wb0I3Uv;-8lo5rsM$9OfPW)OLHi| z!P081zJjL#rIU?C>=kOP6*N|@`YGTv*~3jU9+D1dnj^_glPB0T6HEer2b-2@py+{F zP|-=##9k@WD=}Tkiox!2(b5c!q=tzemSu-$F`AB$-w6CFvmm4eOb^czCw-oN%Dx1n z6#Nh-jh(Ub97~#US!P@#N?QBf(@#k@AuBnWPRxRt29k!17A4KeWG>zmU9zdVg7DCM zf)Ftc4$c0hS+LST&p^@aUz*jZpU%i~{d8tlVo+RcG>_60z@gC&m!6ZQ;?7mTTmt5~ z&F#fe!#K~+Qu{2(f{Zo`QtdAka*QEwWbvk@k*LS*$O~pquI8tQL z=(SmPo$%*|{qEOiB__m$MKd@OXJeL-XOYsIT$5~8z-F9V+~)QQfO+2PYF?dXpr@;o zHK(?AwQ9banorPv_t4N}5BSXBNILLmj%}Rnba_HQGdSYh?KZbpz#g&AYE&3#Q0baf zqf){(GQ9@V7wL2d;)0_Y97zKoy)O$gnof5>eh2V_fKlP97Vfz%%+x|^rs{n%-NJ=GdN}gI0H8W zG&48~Xm04IY%gDyO}=H|c*m3dv^-mbV>Wzq>PLKj+;&kc5zSq*L7W4^xnaM1Fz1_b zQO*pG!~t>U=+0TMY}FTlnZXffZ@0O<0$`QiFPL}ar}12+#8+?+H`3D?W?dQ8t}b@rG? zL_0G$l4h6)W-w{u`y>Q3Q|924jX^mYuQk9E;~T z?R0O)XPYs?l-+*!8e|@UUrr5<*Im| zo|+Ao42jI(nB91A6t$QGgPfTDh=n+2aHIf`#vC&_12QJxxe5pvV{LA)05IeEu6-6{ zn>oUalkG$74Qihaw9oWMG&o{-VRmY8%!WG_R=g-1ni#YgRG7h0MFu8jaMYjW+0eyc z#0-uOD6Yx|9cFOMh7@k-bVDBzEX?3Y&b6t*QJoIo)%BgO{1LlGvDQ%Jwb^EEw%Fly zjrO}=4;fC86=wr+Hfm3MfMNzm*Cd-2uo>qTx4FFnz<;;8n!^NdV!QNY&8e;3sG4u2 z=2hD7ep_~e?7@N=97zWU%(0ELoi5K^3fP5nx7*xa0egh{y1_Bq?97J#O*See+$7VR zFkKE|Q1Pg!U|q5TCb%{m%ooa6 zc8<#PD4xf%0eHpj9?3Sx-G296ySvSV?sjwo#!1n+kh=i90(Uv7-!x1Ej{iTdm%ef{ivv1Mn-Z6%;gZM3y(`#uPEROPEcG9 z1;FKAb6N+RW5Bv*Gi{;mE`fA0bVKoP5DO@m<2q-zoFPzM21J~9vbDLr0`6wR-o8J~ zQsIfoC}s0B+mc8QR9KP3$!848?69XQ;2@_azqiEk_^D`a47Lw>&H3 zgu3NWfWvN8qU~(o1kC6RIS!W+f#LEll2{JIHG?@D>I@B2z%ZNuxEu-?kz+=<677f? zc-aYvKlSV(Ri}W{g@n^f^p-0AJx#Z zxS1W7lN?$gaL45U<(lz1P`Lqy+YU6Bo;g`)Uy8<^BovqJI>hLL=0fD=3(TDc>X&*a zLD{A&-{}B?2a-bzux=>8b@h9u8yjesmy;9?D0fzlh0g`eP40JJ{fGt2{O0H|H<4DF7=+?w6aP)iF_iy=r_rWnMB zs^wV2*?MOPW|jdGCj>2r0^nvhIYWD5aJOcUGi2;$XK0J!Zy^>8Eyrfgs+}Q_S>9LT zgpcJ=0I=*1XQ(CyUTbQcq2`dYDiOdeqa?9*3z&tZWt4P=pk;Xvi4#7SLjn7Q!m88m zWxr5-ouRlmSq#C+GB^_Jp!T#k`#C%041viqEaHTTT+OZWoUoQoWQmWsrPef4ygAZz@tL@-Jhnn zKVpGtd1;9SFj|h&oPp4iCj>2T9B~5Aawy<}U|E?y7=x!Z2VEJThM|?AONxJqSP-)u z7dgA)48hIvo)Ra_EQbQFi;|V0Low)DbI2J2({hHOW_d+PEQnc-8=L{kQX)uMUQXh? zi;_VQaF0>Z89E#jMSIv8GWNbR^g!_+5FcEY<348{a%HGvE&(0kx4>gL6i|{29IF!5 z#vo};tuxddPF7U|lI3#_@yo=?I&QYy8G?mna!CMOEQf&FZn;pgGIWIP?{du%XDDvF zJ44X1Of-q*09gmj_Hu^6VVP(W0Qt%xk{0H*k27?Xeel?o+ZoD%j#Y`kV0ke~EZ|s< zzMKtkhQMI?wu2K2mO}x+u!EhUV{Eky%qK&xLp)}Wt3w>eqncm%95C8MadRQGeDERR zP;F`tRm&_>n|?#V@}&nCR4a%4L0l`{{@5cOAv;pYs!ZqD6S8~)%f;H2eiUVEF5s1c zm1MxK9HTfJOKn*Fqkww6)dhgGPH>hd=0d`ni7CrpwkKuzB$g{=c~Y+S{{?tuEfDq` z@MxMNGxpv7)u^UxhyS2!ZHeD;JD*o1;?JC z|27d1OP9oX%58410EfY<(IH_0WlyK_Aoe-sagIFJsrYAdwVy6jEcue|TrPXsJ5Uxh zmX~X9D&S25AYwU0&^jbmrlDeiW-p~o6Z^bOpT~5KOkbwMwh$r9w3c*Nwb{LcX2E26 zg>qd1*9m}*EwgW($8!Cu>L8dQY`ld{G1pb8Xis07?I1O%= zqa$af1TYpWpfk=g@vtrcPPW{c29X7Sy6HJCw4)wlmZcELJ4~hvg#?@!?=Ogvo-yQlg;>NFuNRunHI+ zF~gmqD{NI7F;|=+V@Ehcm5N_UtdSAXuOm1c{tpE=nTa{Vr2*pmI0Vp(;{%N zAhHa=&Jg%3AJK6_!*VEKR>aJ5CAuCHAbZ^zVwUR+fy6TI5^HWm4D4*q<~c)Pu#C1i zL0~x)urOj4Izu;Nz_R9s47mq@N9;{?h?{r}%1=~31`&&M5lI$DKw=?c6N7w+Sh!dK zSk%S{e!tIe;;k5TthtrkX}l^TR}~SKNA!yc8_Q^nbEVi=7XSyl%JoSQ+2s)!S-QJ2 z1eE2?08wFO*G7cLj$xH%1U}ZR#}`JH4Ee3R9W$KYPG-0B#9?MXS6G)ar z0b3(xtIH62c2fj&HksizMcqb(?GdP0$XP9e29n(o0hQ%5y~~iF&^s{*T5~6v;qHiB zyNR$Tq952AS*gJZILo1ceL`h5Rshce+3t54YTY?k*<*9d;U&yVok7zC`jn{2Y{bbUH45pFP0wE%j>%1xZN=r}>ZZLX+m zvO9E2;jYPR1O&_HcA~<--iwHTt!3qAMA+*Cd;wm`ke}vzJoBT&o6N97RIUyXa~-4l z;qD}UPP^O##d0VB9=6o&=M5X%QEY57L%>*Goe}{^wmb?Tn>go-iiMQziZ3)Q8BSUyh!z&=mGKg1FUPqm0OGa6WeD)vBMR}F%n;g@p^^wtu6?5- zTiNeEg|;$Ix(w&Hun(A`0{JF0gm1+)kYt0R`jLlfWt_z6z*ZOFz*hA_xYj}J-=hqP zbOdFYn~$p_4pW+8qycLk9tCj~22tri*Ghaxx}4Xwu*G>oS&Nfn4sBW|h&>Wmwa~cE|%| zH64-}LbT$VN(6{jLSa`~w}cadl|uortutJPpsjC+YfZN8EJd9~1i04OQPHd=Y~T|$ zbD~L{RTs0ah3%MU09iXGGlXx&6#%Z9CM=W{?Q##*%Ao*=*2ONvC60exlFAUEl`s25 zSQdq5wP394{CbX+*8l{+-@i$R%!6e$ost=Xv*KDwGALF;!C0B8;sjykPyqbuT9@HE zhq$gwWeC5@+ixOlhyt&IttQy-ep3{5)oj9dv&)c4LrES0t0_rl2*QeM3lX+PHKl-A zW%UxyZEkaW1#FL+?JmO|QLt8axJ)+bPDR~Ggk5NsN7*Az2-BXZ+0B-l_|_;xenD($ z9{YirQn$1EGul`S*Ipv*QoGzAiE49u1ssirr#vrRRvx!bVcJ#)|p3VuLvF=K2@;?*6J``t75?WjpZ#~AMmV(2#8 zl9(w;?sw0eyHtUt1a^+0S8U68otoV5p1FRx0?P^P5<@B1c8!^?$&KlGj_IbrZUlBm zNjGMDFvUy;^8D0OfjtTA#p8d>R>Vw2GLYxC-U{qZV4s-j!`^8z(>EE&(_=pc_9L)A z?@?oR07GhW*LogC2P$wNfrDaZP|OaFnZe0Go^6LHa0r2~Gq+@IJg-kvDWMt_IE=vI zF*7`7N5ssCm8EuDlFi+@f?`Q0>9 zUK#msA?4$RXXgG{A?5edNcn#gDL>A1IgOO3k@EjTkn(B#ut8m?k#b?le*h`p>SpO_ zr2MT$%C~C*mPX3$Kp~=k04c9_{WOh~ztu?jX!k^OVdbsQ~Sq|^6jplrjhcu8Yv$o z5uP+so<_>!+EDvXgp?1Y(?MOQk@7!+l<#nZV;U)ctC8}{{D`NK@-$KoB>tyE%KOpj zz+}@%c^WDIzXd7p_h=d^7f+Q&%F{@B8Yy=GcN!^ABjstNoR1M{q&$t3r;+kBQl3W2 z(@1$5DNiHi+C#ZV8YxdB}*Ws*N;K{#GO9JL#u?W=Q${G*bTGM9PP;1ntiZDSwbg%Kw{4 z`4UEwKQpAf_&>B%BfU#GOJV;PcPU@abUBTbr;+miLy+>R8nega$iDHjeBzp&`zpH_$n4LW6MlHWx>3o6w_vf&L#Z zNK}=s2-yg}k=FiGi7czl>Z7gwmWeeA&<^Uc*8YbQ88(m8yw?8Hi6?CnPMZ|krlzTl zCt~&yoR1XRW~P~aH1U*u4CiBo_HE{E_U$Ha9yM=|_v{@`JZ2v!;PFD++%&gOV5J4l z7KJw78q+4!TCUdC zCc^ezi3gs2x3T8kMfNG3zsJ1Gyr;;%*F0t3+s?j^rfG?}_w(Ne%=^p-itGnXOY?s7 z!F>B6{92h0*$L|ODd1D~lej*~HNr4a@HC%l6Kbolw)WHbJZnB}o-MNYn6_;~ z&nn=)=`U({vzlKF!9Qjz_#&R;NJG%pm{zc*htf8Wl2g)Cnr%YWd%e>7h)|5#-I$-HR( z!TeLc{i?g%U(E{z{qmpbkY6+ZY`zxnFxInQC-<+n_A?Uiu;1YH8?F6NEGR`Y`%R4f zi}|Mcmm>SGLBluvHUEmeCFNYTmniE?t^F@2a_zS`{Z?!L#l)cA1biFUw_E#PO|-Bt zbNX^?{~Mahzry(|h4wqi2Mduh4$qeBb^cQ5~{{xC;yItL9bvL-Sqp1M|c9 zAbNUL$o?B4|5j*!WPW6SEJHuR{gXmlWQy!h&5zAbM=#O8xVZQ=+sQK>JzL_LPM&4=a!yLU zcDA!eY05O5l?OR zU-!)Go*n9$0iGG`nW3H=rjCc~FvS=~jNzUc?%5H}ex*Ds@f_)yk)9ppnGv2D<)sF# zSL|rD7@YcOkG;=}*!$dd<*{BcbbZH;lYw!x3r)(c(%G})J;tvIp6-x|o*D0%iKLt4 z+><>s!84O_Pw~to&rIRsOx1OHL%B@TpXr{N>Y3?8ncX8*ojpaL$SL8qs#(n4J&ycY&nDcfCc z3cg4&7f}`Z1XU^X>|$42zrZZ^8iuJqK^YnQ47%e3n`Tc8(d3-k;&L2naM z2WrJ%yIelY@p+kI5qE{$D{#|ch|$ZlD`jGpXI6S<6(&|I!fGO@kG0~jT_c}0&P1k$ z!nJa*<-)D=%sS7m_sn|F4Tu{&v%zyi;zmW;NX_Zs+$ZH8d!y6Vo0ZiT&v0z^%qALl zt7o>-^Mm1$Xw^zsO~T4llWkLz;k_+rGD?tRw|j}&wswc&?w}kyJ;Sk`vt6EU;oS<@ zjdPD@I22IhnHul?;gH=LHM__&`iU?D1?OrOY-~AlB&r3{i zYxm1@KV}YihGQRR2VD^kDc}&!!=B+#K&@wLT~6Dg<{-sRs{&*jA^`{Y!E6VYpg#4iCrbylEClqvo)FlPn>?h?q zsf$n$-0i32aSD&_1>Ej+a@FCgC`jCGYfsC0nhKop%o)#~)$M*xe&_Hz@0s(SebY;n zFce>q?*)7>dgh{MFL~yyXWsP8rQm+Q+SXoHjLXEh;+ZR+y~Fnp* zGKH1-DPd2)wSP5r{d)Oa zKfHVSjixq~yh1T6d}f=jE&~f}Z$J2jHNE|YTfUE?^Y7j0O9?W-d6^G#ph^rHy< z6`?;7hPntt3+w>-48VtuU7mRHEtnGs8D;_+|!CX8LBDZ>IZZ zCIy`3u7sK8r>0G_eeS0@zM1WtIlh}Z%~c8KQf5t_=E*S+M{4>+!RE{U0^iK{%>wK% zOkUiEN!0(;nOUe}hwLJ?)gsy|7|9mlM150_v&C%_cXQ*+On_V%Ez`XS#O^vxlz z`eEN3rl-3psC)dY^%;4O_@>r3NBnq4=HN%wcaBmGb);i*9K#Wceay`b_O`djmFaPs z=}vnMdUx8}6TUg&H)-Md;f&0z?3~<4G?v$-Y5b99k3ROcw?E$ei59wFTKWgt+mlLr zQZ1IcvrZ`oyiWyp)<^UdRi{{W$qSKVPjm4$gzOplo}sd5eZz5@vvaGKw}N_y zTl=ecvTVs;+b2xL`|AGc7d9My!=_I--}Voi{^95Hn#Z0{!wgWe0pZ}*%drEYL$`$N zAo&g=pTS|nF_1H!iFA9vu8`Mp4-Fd*g$xUuVXk5JM$M40+1sdL_Nig^;Zgj>#MR9q zJ6x%UlV(KNj0oGxAh(h79f|L#uo)G$qr;{$Y(|IU6FOzMOFl;7V+bD`HeR_P6(R`VLLHw#)ZwqaD2l{u@9*` zHb=g5@SPhrbHjFC*vt-_dEt1;RaUUlndd8fKH&?(W;tOVQicCNoV^E_9mjR&J9F>tz7f!+B1Op3DT|gtOO$D^ttD+gFIyI2 z$`2~LC+)~%M|M<4b`(MNE75HHu9x+CY&IlqL(5ioBNV=U#+n%(Y{$k#x ztX*8pqh8U)Jn9wVA8_D%l3dJtlg73uX}h_Y_i-a~F@K`)q#9CO?U z5b1eI&m+B%v&dA3APYxJdV_LqCXMYnd$;0-xviYrr0*n+O*waycGow|@x0yQfFEm^ z6Ka?f2%7&qy0fp$-IMh_Z0;xRe$qXNOM58kL!|E|?Y*RXl(Yv)d-VRjP^rb}D^nG& z6FqOrbxwI-T_o*-v@1Po%5_Uw=ah9z6(7D;_*I?q?#l0;YU#gvV0DC7ERy!bs#nU` zda&0!?!M)SNrNwwbPgOxv+{2`3bQ*LO=`+7&xcaRRFt4+D#bi*kd zo+@_xY2kA^vJuK3(RySfDeG978zt!|tVZ)5g`SwbG4YX&RnAz_)r`I4oN;uk{>V<} zZ4A$Yj~&?=9oZQj*2p)XbJybj zt48@XbRWGh2^rRw}AGS>|R- zIvcAwDPx<(-rV@e<|$_$>G>&RQ_cdqRexk>^EQ`T=&>Vf(vdYGsCpyn*;wWl%6cI- zi&C~IB^SGOM7np8BKBU>x!TCCRbK82o`z4h^tZBWhz()B50Q_e<4 z!v4t4oEf&3i|h*NH7%KO?S=`N(Z84#!39$rtddTOe;?Yo7~>d5vge{buN?ZX!} z*e~gRtPUukg6(7PV0>hUlyivmVSXm#oFnwL{>U!m?O@6-Ja%Lkbz~P2G`tb5#qUvB zAI17u%8sR6V_e#CNsl8vL3fjKC+U5;UEe>lQ_4R@{%NlDlsl91zRpT|7HJcgMarGy zvZq;7#fI+|epyF$Uis%+kL*G!YNQ4iCB2B%CHh+`%iiVq$gU{o3h8DBuW`=RlwI{l zb}4U{(SPj7_&}Mm%Lp3Z@W1%iWPJ_m>kM*J?nYeNO-XMey~Wrz}9q&nc53BpU3t{-n-h;S~50&$f^m~kNyI7T4ISAH1T{a17UOqtl7br5)*%*@x{a+xH$m_J~v=|F)uK-xq;0I+PV3G%@1B` zQ!G58hFKu91+5LUFo^b_Epv+`T|_yH17lmr-jcXsmMUi{>1BbjDQ9_L%YDP#%-fQ{ zZa&s9x70AV5bXb9)P&y^vR;AB%D`3z?%h(u)Tv=s1yRo`8fJA6wQ*|#dpEGUz*Yse zIDR&Rv1KaBx=62q81$O(fhPk7Lxr3nc$G&sfC+mIK>e)k8b%$DNqP*c#=zK)vUfbL;|b-QAbm10HszcO z?3AzL-Mk$S?CxWAyr(+eLon>eQ4M}i%lb4nX97DDxU;2`*QAqoE{G=TI2pa&ZwCmjb&KxXavzNUunG1!;3&&4Ifb*kyVSfAX#=>l!C- z@Q-!!2LISy*U7t~lXsJAEwCHhik!S#f!%ulm#zbP1z*YM8De&sp6<>l9k&(7J@yHMDMF{L%my-8EC8dsyLmgw`W;Jwxxfm!!Rr z_71Ig==y}#GqgUTZuh>*>KpRX;7v8m+BaRlkcR0W(l7%;W9uJUzp$OF3au)9sm+HA zAJG*vP-X*}5)t?CgTm;}RbDkn`ZnbZ4vlRPdqYCs!w*%?P}1*&#-^NMp$!Yw!#~X1 zkkB4J)-dm>VctV*3gp2yH~@MwS|8lp1Dq7_C*qj0x!n$A&gCv{9jr z4sA?mW8;QV)vD#98W-b28yC9qp?5q%(g{c>hBh&DlR_IG+9cmFla)1@hPlyE4RfQT zo1%uPQNv6PjjblMDKyNq(5BHaA1QoP4KrP4(_0&+HjHX+mbn>{&Y+x`p|RDnH!E(K z*~*zsdQNC;%9$J5T;DK{@-{29M~^j3rKXHj7WjeqmuNA5=gE2=HuFQ9&s*tI!z@(8 zEDEE&YM8~kVwQxqAhd;{EedUMXiMUTQPq~p#Zp`>3vHRgJb1?|Bwc}YWoRoy_ikv* zLwnaZOr5goXqburqK29HFK(3@X0;k-O=xVZLt90|tPO1~4fD~$$J8+EWVWugVb*hH z-YIh%B;7zc^`Wt?XK!QNFq@RKiS*{s*p#y+v@O12Iu&dqw*c)>rVn@3FS^cZn9d0H zzZEs%cdM+oVzVu@ZK2yILfa7<`#a(`QLT2#dKcEaL)#s? zJp>{^x>wS@NcV-dFLe7u+Y{P;-zEo?b$~Y6{g&Ef_gn6u+T@Vhb z`Ikbw6uQfy_jN_mD@dC|BT)6#&@P8|H7xG@ZhU0dlz*-D$gb0Z)Zm7sH?X=H8ryaD zZpBA-TRFE$-wBOPId?<5>yNBk!EVvXJ$7W>b!6QUH2plP#_v5@-^1p9X!k?+ATI5p zqz{q47utKFdlcFO?xwKVqfh)8RGB8fGR+`2ZJpAtbK3jrB54<-UDMVz?YgC{bK1J4 zi+A6OujB5@?_Qe!m2o}NQQbpcH%QtOt6phi>%m@c{PBjVk8=8u?wd9?<@8HizqES3 z9tG=-=&>W~sUz!&pzhzJI~-YmS@*|gK-vbRT~%D#KuHH89h9~~Y4>*8s?zp$y7kBg zD}ONgL((=R?S`hkuXiMU2kEf14NJS>X&aih;pt+hpQ`Ihxe>}Ak>-obA4NTrZe-ez zC`L&-3aioSsEHTQW0W34dTiQ8r;WcO)5TN$Qcv;2;D15>$W=?F8b`~S`4aE#?!Xs~ zagvWi-q1l~qqG|@!FU99uc*WcafuTpok$6jI9lEkPF8v{=_zTOls5iOD3$nxFOheH zHBzaOBVVHSe2G&fpBk4~)NFxi5==wT{JKh<9+y}vX)PtpNJq`Qew(TEOwzN`HY08P zon9*OL%u{_y3Ll#Y#goiC2G%?I7jk1afxm7{3OklU@n6CAE?B6af$OKolgl1(oy{> zUQsB$ko2OoEl3-G=aouq<4a^1zE~=Y<;a()JzwGy$(O_>7V^(bF;hG*-QUQc>M+Sa9wziUb*W_^ha%Ic+3FVDV2?fDWn zO1?2JF_Vuz?lwuV2|?4FDsgjM;ucA_P{LNORYpVGl-@>qd)l_9jlY{qC2F>fAMG?q zr9tKR68)a8)g6-Wh)ZO$%qQGV33ehF_KzxYS6t$5Nq1Aio^&*fk;-1B_mbY1wmoU% z@2*mbfiIC^#D1yl$I*UYqW1hT9+3P%Tw*F8J?Rcga1cTLzo^7Rafyc|JxmElxN`XY zKC1Ll(#O(vByIdXR4Or^UCHlrqf{Dkbl8`uJzwH+$&be+@?rmz?t}y<5Zrl7C7z5+ zJSFKVN;u7x!|&i3rO%K)o3_(wyOHKc_hy=(*IU}VowgfkyPfXn?xgKz+HR%oPP(1Do7OjXyPM|wIEQ+V zg6YQZtKj<-{D8)#dJmO;Ncz3BJxCjW@5P6T<44MS#1FwRUUJ}~G85I&-*?iC;7%F7 z8)m%AE=qSH-8EyKGsfS_jPEabdD2aJ-IzXnsIt5??`O*&xbBj6&+x6gB&AN|~8@q3fk&FOtn9{a5DRlJrJ$14+vDQL+!oJ0wprjj^u;eW_o+ zjP=X7{uw@%50GpCvZ{<#W!%6_gm*Vc(m_by&Jc9N4bE8qj1A1#;EbQ!cNmo+QW=8E z(2Nb`TVlo+F-+27NQY-^c*c#$*gF{;k!hLTC&Q5$T69##MrLeOrlT93@n>grCZ6AS z1dTCrGKRK#uab-4S^eY2W|;9)ozaAkaTyz%v2oar_vr~4tIpU2(i1Z_K4TLz9o(c0 z7sX_iG(~@EGBzn=HKb>?Jdfhz;U72OA2yfe z{7l={dCd!?xB$g&o&16Gk6WmUEXvrzj4h%fi>0y{m9DW0|F|WREkUMhi$rSh3d2f4_x3}a! zKEE`%+b8ip#0TT^%Rg>^hMWF?zdjFU2=!qHDe90`W5-cBk+EYLYs}aQ+V5n1ubkvwLH(49Jry6DdZp8us3&cDM&dIZz}dK$ zYErt1^tp_k%@}`AmwF{^&c`+vq;mnCi)w!UoR3vX)53K?msGFI8M~CR%hc_*0J#um4vbgN`> zTZ!AU@V61?*WFPK?q=*x#_m#sd#b@bf8Nv?-`64B=MWxb>_Nso%-BO+B)SORQ`UQ> zhT`3el8@rE=$$iD%2j4@-YIL9S?iST=sIU{-Z`s_f@x1(M0<20OhwnMb_lD~)VSj|*m;dj(0a>oDs;qj$fms`nwSkl|$fw`VT2FSsR+Qcd|A-+s=)kj{i6Rvk}?2@BW?}nPq4(Dr+ONHY)q| zr}($+Q;$zqDlcckQhCdarFeed_uXh!YE0HfXKf6X8k@DTw3MH-;(ynwvs^0UvPO`Q zaalhNZ+w=kV|+HgxF#qufkc^Rx!fqaiE6EhH1DLWP0G5-+4zc^A~!Wzo1C>NS*ytw z4=^nd^{G;yiu$yyP0PCJayLDz*+k4UNV!^N*W$kB3EgEgvQf;e6 zPez}}NAo}GW-EI(*>kcsC+p^xYA{bVn4h(|S(}%&`Pt%PYJmCzsV_jCARr5Qog<%% zvPCAh@a~}Qqi(VC7n8pvYfG|jY02F(xm%vKrCD2+wdL93+qgr0h16G|zA|eov+iBF zdpD~YCA^+VyE1Txry|N_{Kp z+p@MT>$c11_N+er^ZZz6u0i zZ`SRTyM0-GZ|57v^3S^c%HL1^fvg?Kx`QQmhve>X)(&RvP}UA-i`!^Y)Q?F02?wzvp)sGpYlY1GeT z?M&94mAkW9eOdkx*H3%br2HoG&t>gg)}1f8yC8QLvvxjf7qWISTf8ur>!-cDB=t+E zU(VX)th*w2SE&1U3p|(BwRg?RZzlh0)~;sVwUWE*a(5$Z*Rpm!Yd2zdsNabA^83evd4sHH)%Ek9rUXQ(9mD?4Q z#?Q;7TP|w+yz4GucT9T7gg@O%CjPm#r*eB@()2}{^vXp|Uv#}C?2SnuneeAq$t0@> z&%Vm-i%Iiu$fRE`YW@w^U&8*F43G(b`jt$0R{eylQf?I{cYaGI19Q=x-*ST_9E1s> zJ<80-_lS=rtw+DX${mbJu1tor z@ci$(5fYBTWTZ^^GrVNNfN=2dyHUy>MfT{Njn26-xwuapo8z2S=WI;Q#^$U#=dUQ# z$4Px0>f>`ZKIbOL=Y*Wz`7tc4{(U!5`4h>Xl(R`WH@W0)irm%YY;w+~EAJjbYbg=8y`t<2fVoO?HC%X7xxCAs4M z+lhz?K6TQlLt|CWR^{Ak?`n;NYY?u@+1i|2m$TJ5TbFBj*2Qdnj=|D~oUPBf`kZaZ zxs5qvXJf8|+mz!+a&wL!@-5oinzKzg+nVd>w&iSd&bH)iTMn=$=bxsw=NPzfX*A@b z**UjEKg(ZtE620$?VLt;cXD(lpgb~|VHNZ-%d-JIR$%6OoQ;-QLpPk$ce z>_N^Rp;DQ*hdFyMXO;POu9Kb%JLj!a-gU`a=e+BhH+H(_JGgGj>Ylf5dF!6<=z8R> zN1kV0QHkvnb!}WvcC05bb4|y_v9A?}s;Zzc-}wVj*!X-j=d2t?fL6QYSceUWsS}o+o-&aqn{IN>Dd;wu`(Qs;l!3k zt5%~SuJ(=&_`HqJy9s%lkdL2iCn{$mb>&7ZJytAh<0eTu3F%UQOiSCi z$$6dxrsQ?4)Z}e)-fB4XsXjd|Z&UI%jr8=qP0ibMPIav+KSPzDsXw#wR?C-1RA%RG z2J@ctHk)Ia<4>B+$@}NbxhiySTov^R^XRhMxcQRKr|Jv*kt|elA<0E~TaY*Y&dbN| zzOY#AEtW`S2`Wp~5d2vjYm^=`IhbXt)AGD6%iD75w1R5b3RS}Q=_~Wx{_o~(C0I({ z_vv+VR7V@DPhX|PDiZ3``tu0xsQ(~PgsM)h>X}4ZA*uZ4G zyltQc^{PR=POHw=MjgOL4q#K>Hs#&sylvLmQj=~`)|R-9@|2&CD!b81OS%<=?usMY(F8$@Co2y-$TX@~+2{~(N%NlPBa+Wh5!v1d_>Hf2g z<=Q67$}Mk+_KA$kM{f|&Aa6vYXv2)>w${ele$9O-`hhDVEmpWEXps-w6ZT>IP&+~y z{EScrAMv3KqJU5aAG441X!x{CHTQ-zeXU0QXB+(x}E!+ zeXeavPqTD)v_rxDD&2H@`&DcIWA_Xd`!##Uecpb}eZf9&U-+NyS!}<^|9{<{wO{Y( zp0j5NjqqGM_Zv}`m;cE`q2oaKB69cPj{L@Oy+ZXb6a95Zdoo5X<0yxEBd)@PfTqJUp;G zS{}LxFA*UOqP3y>1GN62LLm&?OZHN+syP`km!JdE4i)YX?GN2orS&z^U#oC`WPjwo zZeO)86R6;J$EZFeL_xWIqk`B3RPLK7eY1k_1mAKm+snn?xM~QAP!QTH6+|d_mGA^; zy-xb|3irqM$38^C|Fl0T4*$o95AA=7t3R!9-;N%H?$1#AvkC$f{JHxJ`wQ>tVn}F$ z(EhT*{gwTd`;N5!n)F{+5PIOd?tAtf`?h^guI?n=_i^?83ik$Q;|J*cfbTZxsAt;! z4T-<0aR1Bxm-}JFSJ1yD{kIkFNA@FEVL!AttfE*mu>8wux2QnQBEH1#&qnoG_hV8& zt{@V@-?^V?3EekIzggk_-u|BO13#g#e<;?EE05Nu2}4kB9V^^FmQK(=q4-bwrHC5Z z5Q`wRf38q00{5>GzX$)D^#87KZ`oVKAoy4NNBe29beFI@LICp~ypJl^>FyO@b))x(c zb7=GaV> zfB-@Xr~u*!FeM1#aD@zTBZv&ZTptNXA|#Z+D1Keb2{}N30U`+adeya6904Z#pfOfa z16(y#XzRvFI1b@>#Sw6X58xb5lyD-#N#zD@H@V!ZeMEuDv9H-}-4tm|L8GSJY7{s? ztCmfZa2mqt3L4;Q83U(@7l3dE!kLN>K+pi2sz3q+3h?!+ZmSRiq0L5v2m*7;6*_vEHg=qis_6Z~#gjUy=L;Aao9`xTN&>zCTgWIfk>=6C@u;~vt|7Jn`9fk96 z@ofKg*!~9Pf$ukz1MI`^3)p987Y=qS3l1M_e-CDR%fa=1_zUU}v7Z3j=NUs4hR289 zKS1)JDtwR%H~s`IkbD?S#D}E?Xb+cvgyc~!D_)?NL*?5s(v7le#Ojnk%;P%DAH)VSM&5p&^-U2)O;D#Jcrm%fBJiVzJG$@y)b$Zdgyp&8!B&L0w~@=y$?)4x0ZLSd2_9mfKpi~9-X>G{ zL>|NSH2dM7M3o&uJdf%(>!KU>CZ!i4muN^dH9Q0vnYBG&0; zJiz`quwK0RuhHy;sPzU1wvNdxOlErzuuLk4%X5`3cZ< z8VY0`gnc2xMKHGs5$bpaQKy?hxHJL64m=LA?%jO3=oahua52A!^`DG-W+2KVR{U5l z199Uk5)mb>RB|QBcN1{s;>4GgsxkWsLFJ*M?atf6K_a}5#J$398w$_oK7miO}$4aX0QJ2OTdi7gfp8% z*tmg>@8_xo4KH^GMS_b8Kj^7&b`ImNv zcal8F?^6lU-evIK{un;$kAY4Jf;;qJcM}f>{-^-Enc~L3)sF8cG$AmJS;c-_SMp5(D+3My&c*I=EgOf#;=CAu1ya5Xma<~9Sy9qs>|7;Yx`VNjWjD5+DDWQpLe^bq%ZrE1iF zPAoUQSdx)Z5>DH7gRcIZ>n>q;gz(rs=)lBo17`cH5u0Ah?nO4xcJHJE(B}Pc(w_|G zzR~oxFT}96E+}~I_=1Ai?w1s<-QVNd>{KN?0BdtW!DsVwLVtj>!M6t|iQyqeTcq|7 z7|x-}dnXB=Eg<_HUh5`-vH`L?h{k5xL{hx3Aa z3T0L+vzp9tNswz1*L*dLkAnGh90eWu1nErRIrEOcq&TjLl1xPM;3s;1fWu}Cg_FsW zPfiwZ@?(fCgdhSPe@&8ZW~y?hq6Ui1R+F?T$zpd6H}t49-K#RqLRz)>Uanu1>Fm_K z5G{W}fHq?+tRb&wCf%$gaCWhCpYoW`E)HDAgbVT6#X;=?ra(+1Hlu4a@=MNnGQa6AIZ!4HHUlm)J%ug6 zx(vYDUrBt4$^cqN^)CQgqg9XAMh{hQU~iK@rp?OOOcLOlO&I{zTa#*c0P9U+ta*W9 z;WIk8rMg#^s^@+o+W!LVHOcLmKwmc`WAs|Ay?&KCCG@MblbhiM2Z0?zVDm;;ptZj4^Rj(}*SWTBmZYx-waVJX*HGLtCKwlX9JtNgKs6tYoN`g`YShw^N z%XH++IP&VRsF!FW@WStbSR*`#!TDsQvMwlnfi#r$c~RDI*l|sI{+@%jX4*5EmjzXe zvc?09HM5=(dc@jY^T_qJxSPP{y0QgKLs#EO3au^!uJ$LF?}CjXh&4CQEfj#PZzqep zuJTGZY02UpcJ9jf4rj0OTkPCrrz<;5p!pV1HCN$%wK&)`8*KGGF1v@4KvX~UL^WJ> zB@-EvR+;JmM@?2|rlX0O?&!Lt5-)Ozc1iK-N;7BpHIFryq+AP0@5iDd8Pe9B!H?Mlx%^6&2y9qhXW- zH4P<#%19y5@YIa=Qc*2A(9(2^q{lFmEY1O$9?KhCdPOnSR*kPR?!R%dtMM{uMWP|8 z0Yze0law=w^kk+c^R||~DdM7^!PWAD!ALLXvh#Of?YGH`UB9k zDn4D(>3Dh^nuZaFn;!K2Xc%v21&@PGGr=GgUBqIxELwqSU}=%ivr@(PxRq(X2j6t_ zQc)v{Fw=B`7%mVs4G`_k!J&D@ffVq0amoQiFXUY;@5jYj7rV5N8Zd>9ruRT;ndoS@ zJaz~Z%@HA8DFE6*MK2c?U7W>x?K-ULlwU{wD$&tU(cae@NrgDWL$6J_bxbaR3Gvr} zw_30K_2h356AcpWTWh1F8<9dgZ%PSuW)LXeSx?9MHqPv?6yyFasBBF!&99&yj&o!NGziYsO&qf-QZNkvUe z;gV9!JIe-&nFmp94te~Uzxz^g=dmC1Lz#!k^xQK@vmC%PLvA2!B%zg`6ssJ5fK_fO_){>;D)>qFkjo?~Vi{lq zGY>4g$^a4>G}>UIp_(70iu=B#mxY}IymtziXdCFDyC~U(WLJ_5=mMN{BiUVOvg;AR zBa2k-8qiEPenl2NWg*tMSDVKeS*jwNHTA`NcHnba-X23woeO9rnUxmtR?_D z=G7O9aL4W4AepsN#~{bWNj&|d{sj@p{M+6Q2~_)`G8>8+;PG<~?3j*>l*f)?j$6!r zO9(P%&p{qXRXI0`>U)ZKG)Q(*yfN>-up1k|61(aE))>FN0(fZnY4~Q4XLw~0X87dd zjOX-vXPi{VVKm-1+yo^jkeuk7VUm)QNKOu-=b?-#U<#=k4;D{uZHC_yb4mM;gjKwi(NbDy#l;3fi^J&Gv+MJRdO!LdA!l4 z0j`78%qSy0|!H zRJqImiFtX3*~%cQrXQ2pyCmxZpkYvAalZ{3LgXZRfI6aTLbvvh|XiXgxe7| z2m%%`yjff^&~W@xFc3NnxP}Hy@UFn^4phJ%3HKn}D`?p5qZN~af$6jmg8d!{+`$0A z7)lr<*!!vq1O~&Xp#d9wH~wMc5>wSDY_*`gsY@BfKEGS5)sA5Bpw>eKn`V_tIOT z0m*wgfbfkd0KAv+7eWZ%tAV>lz387LypHgOSYAQBR|1G%&|Y7!#+1-ro;=Zj>b)H} zU|tG<!q5Z*hGy8?N=uZEORT^=>js0^)=z9@_+pfexr zpmKR*#-nBEx`w(%yGhs$VRs%aL)U{xQV;F+2)(bm6p$_&J<;gJ(+v01WGzOwENRTZ+u5JcUT=BSqaUpFTEG{Fj z(1v;|%?9JX1Ip#qIy%ERlu*PiFX2g!2%`rVhH*Pe%>nmihzSmY0CrXcS)HXn9{o_UsVawiUJ& zjN9^aFjppXQJEL2!VtB*q9+MdOEhZGS@E;HFY^rTg4PPZ4q&SazYJrm-vfAB-qEAD z48oPcpzM~DT)}urgl$XD{+B{)vHLb~t$q;dWLJkGG;O1BTI^PnT*HWo2gz2uAGo#N z?z?UsCpYKTa|E7_-4I5#94Qnn4~-aZq@xMlrVxl0&yd0}z*H5Kmx9;v_!$D;mVOd8 zOJy@gTYT$5&+_J;bkB5fg$u)1CSz)q_sd!%&y6f>J4i?M%GNc}h1&IZz1%ZWn^|$pX+`-3&@AI*+vA&Rdl74`D z)wTXm(hqR2cU#a`eah>LyUH{wA3$GKNEb;TM_>H~)m_r=X6G6)sG z*0ULnIx7bf~~p_fFcM(qWPgLkiA1JS~QGa2m)Jj(Wy*OastVT918Eil$=CzGF)7l=v2BS zk~L{iRDji%tMcb=Dp~ClZ$Y2>p;B5yB@}C^34JSsDPtwlV5c+FVoupWV<)B|RiRfQ zQ(MMLDseWNb9@EnDmj-VP-!Lfko?3F6R= z02yVtM0%ND$Q)LbZI0(qv0Re&H-_p8DM~+v;>tAeDD0>=uamS6>8dnbsBlo`mZu>? zbq+M4Hv<#O6WSV7)=GCR2w=~bqn>oE>y%zc#`-jHsMt{YC9U5BwbR}dD_Ad^4zAOZk-x&x{z|R-~jT#oL=0$&69B4zjIN2|B+nC!&$9$eSF8rAIdh$lT2B?EWvOAF_uHzT|H zO%4-?lh^-b0&ntQh`9FEs1~b3N*^NQa2k3Oc$4H2vM2f{(W5#aC5ZD_+P@KMM1yy+ zue#$>6{R`*RY_*QDom5y6Y1i-@#TUv%iSq4n0AU|I4vf#O}fBj<%~#8Ui4GwS@}4N zkDAw_nq6h$Gx;Jw#i;JGU?mM zp6`#LS;x>!?o|Pq{um%KbqueG&ZI|E0k8REcnwNZyylH`aW2OItyvDO8RMB9g>2r| zF)({NBWjbc1Gv2_A9wN5{7Tde7Jg6Zdt?A@-cLhpl6*k+Fn{4dZt}^1T$oLsCXwHG zCAxtb*d`-4GAc8Wn8Gy~k%1JA@)u6?E8;e}aKJV@XG+{=)Tj#wSQB`&TSga7cg?AS z%Iq#Cv!m;o0l{Q)B;O$E7kXuAh+aTPpqCsz*CNm*JAGdkY}q%X*G<5d4DTp*;>+yx zW2fe2Tmn=wz=J}nemSb*DhI@*v&2;^h*^yk5R?89X)B01FazQ#5OdYXBRVQDOx9^Y zVQ5Abg0^IAM{-yuT1>2OnGYukh{-lA)6!2Y7l)~uqBJTK&8Dc)(jAR1_~n=kz@;e5 zp@K9)HF*hO;j?ASUlxN|E(Ei>1;GTlY?IKGJ4QC3m~@-?fW*W(O$>I)&W%@qF>SJM z5740k7TeXtbB8AkPk%7{L z+B6EAnJKRR9kmC@CNnconC;sG9Fr*-B+a98Nf@Cnx%eoEfX}zW4bFH zC|5-&LN~<#(;DJ)|?Ep*o$zdEV*d!e$X%Ncwd@2w=iEm)kg&81fKLAcbJdrxCQ_y8Ka>DH@Q6n zDG4N59KnR;KV1(mjFh z$&8)M2##cfvpkf6qXeMT!vh7LRtcw3JL3yHtK?adO`HIxcF4&&lIMj$LQS?@AA?yM z!54_qMSp$3K{D3^)yuRmA5Ud@g(L(d+vV1?%uFV@NUDm`HGh2oLo(w7RS?K(dPG^? zBzY?X{Rj`)a(zsMX!n*V!9H?*06!9#71et*9>;uNrvHg~#5V*e2q*Q0!K7?>N&MW4 zuMgh2srdJB^2nco$}GuB=$uYjoq^6ub|%>c&W-gFvXs!3q-P#sAX^%wmd^;}(dB#A zkw*YvN4}t<+AAA1Q#l|<9$HC1204OVf>#QP#JE?sG}ZxmWS$wC{e2Y%C^>*+RW_Q< z)DZa@ND`Qlt*W&O^ZB6atANtrtj0P}jdX^n!a7!RCjd4QgNii7beW$Ve=Q zX8l;F0mTtg9DyR>;>aunW85Q3IvOc#;+QO4qVK4yC9Os}PB@|)FVqoW5ggGELlwqk zf>b7;0*N>=3x*h}kjauxMmj|RA|#@}ZlMq9=a9D2hfs@9iV%nz!t=>A8#Q7*LwYmN z13hG`Wp7s2-*&);Jn545u%XYHE5=YCC{{9G7znWC14Z4-?p=MLco#wAD?TvuJXz1f z8ZL2u78KD3VgW?t85k)n;-V}7qOZdeNtYmnI9!@_K!=cvz=_M^x>i$7a6}%0Q2|0+ zk%d6?g@7PZDAKyD)n$bo>hfJJX^A;plXXCb0E?@#fQJ6it8lkYD(f&@p9M99H1yH0 zK?~{OkhY?Qy5PVG>EVz<7jDT4DBR#N!>#YT+a{H5sDKx4&%zY?%LJm3r(C2v#Syw) zS-M7W!(HAELP?i-?W>{;cl$NU_hgyE3s<6+`*=GQecfT6VrvOkxx;>0R44bp?g&f8;L54tu z%n>2?nMD1oZdE~q;i|%a_n+KA4oTfW;bvS-I71$RNrM`)DF?>zj=zFe7eEnhwKwIP zsWk6Wv-z*`n^bB%fJ26d2y5Srny3`?A>ATQfDs>L#UHZW%NExxX1X)^aEOc($p=Mz zlm$Sf(w%ZJh){-nW5}t}O|QB&1qei2Q>t{AoKjs-=n6ZCmu~1;H`0KIY{~&T?2*%L zx3&PDXluP`!u6D<*u(j+`d7=na&%L@(C?k&D@`8|D@NSVhCD(e>?fuW7?JKU=c@~3 z$jFd1bRnB^2Ig#FPJ>I>LWsmc_|~_~w_{fzg}ekrZAcDq5aN&yF?Iz>NQX!ogpf@+ z!$k_J&g%*ghqkVztC;_)Td%Xe9zoS>)N=$dBZoawE=FQFDhE&KiNn!xu`q-@W|K44 z!-QfHt8*}gs^_>I)FD7&T+i{bs|hlgfEqL*+j#aS#jfB7=_*M>5wa<#Mm(YFxuF1Y zXd7DUS@oK$S3T93Qn7iAHtd}fa5(7uVrg{Cy(Z?c*4J%DE~@0ex4;es zAHx65%!xW=XLhawupu|{TrpPjvUx26XxO^`_P3vh37;G&OSi3;hRZhR)^Y{re3!5;$HlQ8eifw+QrdtL zTp`ip^MsC?aRRHJXC(VKbBgJS%hvInn4 zhbaIakvY_ zz8nmqu7J%2L5rJ9UBZ58?x$vlb(J2-MfFqyCXr`y%n#+D5k0JUIOnSedC229IS_|z z!WaPzkNKl)%!x@9T&TP0cSY%)F&@Mk-spCnn{RQ2;=P6;pN~D>1#>V zz8;ODrcj4GnPUWj*gp?_7}X*LIpli_Qc%NzdGJDrMBqX{@u4sIpoSr&At6xnaE8!@ z-WNHjGKFA=V1-O%jbsH{$Rj!VkcA`iq6u{|01@)F1*vBW1rx$>izxI@XRUqK zSOIO-1d|p;$Ou$c<2a7xe#XrBJRQe)LX`qDNTgHJz=WPB ztPo5%JFmN7M?qBK4sV(OD@1b+)jjnc?$o*Yr~&hN63)XMppb1Ydk}@H9!Mc$P}0DJ zY|2?IXi!%kEFqNP5`5`ST^hRr8>Ama4TO+wDSInoS0ICY3n2|Y$flgSJmjG2xU&Fb zXggc()KlMayL83vLeTJ?sE&%PlJzQVRtqHrDD)KvCFJcUQZT}Gc?U5FX*faXpyu%G zK1Ww8jSXnj=Ya^p2cssvUD~8LdYki*giwS+2>bj=v=((3LSAg54mP+o4>QQ=*e-C8 zbqo0*L+&$)-9K`>3oKh`yGy5I2WN&BMqwv!VDPd_UUre*jZ&Pmhs6(ltL^1D^DN2~ zx7t2w?jy1GM^QDFENnzaisgYk>-xBZD*q7C`|~YJk5m5IAGtjRmcp?;rSgxkatbRR zVs$j{kK&lT93$PBXZ;kPb3D%qB5LZr1=gCez21~1u%vkcX0rN6rH<_+Ez6tdQ_47n zi_>{Kop)#Q#&$CAJGMqDdRF;o$#2TD_Jcd8ik{E2dIIYu@PV1!XA%uRcKZq}J7D`t z6}^~O>LLo4;!-Zl%VpA6@&w5DIn8+@Nk!bu;r1GyTeI3gi zc|y3mn;iH;&g-o_fy@bAUYx=#y4(3^HlY^@+RYq4RPW{qlP>r~+A}s~rExy>knTM$fvwGU>}g*Ry{Z)v$m`Kc)L&*uP-?2{u>Y z@T&?opkP%92Nv`bFsR^L>TRjMjdXCq1{RFJg9`EF&j02PEAKFc)%O^SrP88RX9_*vx|1;Q{}g zxRm?Fu=4--td=uxXy-n#nmMczq;+6Har}^^?C z!8R8xXNBVBuS88{@tWinki2cdc(EvAA&%FcfaCp;eYkj$#mM!w_an?;0_J5=@{h(O zZwL1YM#fL#_LKboDcIbnMCCpSqT7!3$n~7-pLIXQ$T+UzFWE2oDt_8NT^xBSDFC;) z?QYT;Wg0)p{$29(&S?hSFC+Wq3inz2tiar-Rn=cX^eYt(7+0cSwO`duz)`y8Hf&bKf+rC|#_7WU$%KnVLgN6F|_?2*f&Xx5S zTvdN*e`$YVf8NghRpLeatJVwYJNBL8@Iwi};J+@u(=S29j4wZW6vxcC&AU>KO*Lp` z=U(nl+;?&GJ^QYGuOq>G?)+u0k%F1LV)HUH*s5dIBM?7l9bR8Yh| z^N02WK;j>|AKBm9kG}3I@cLt`upf66FWe?uD9bYl^S9zp>?g%xRFAdGi#w^--*cJ# z0}OFT`v=x8?`Z${b@xwLzrSXA{1xR+;sZ;T$A`p-`z^-Y#RuQ!?ERGX{i&8P=X9XW zApB>H!F6VzcmKxzzg4)OM`ZjvhY$nA68*w{p|i;#{pSqQrTv_%ggmwwDV9NJ;x_^m z^V`AnN?r=H*HtjF>=?|$9lz%d+d~&)*p2+|Osz|}9y07fvZn`$mC=hg9Nv(@fA@06 z|0>a3ZyEL`zmGQrG-hr&$$kQjeFpq+e{WdH=$%R^BtEwZ^zqM1^s!0=F(hJ(t% zk9~$GkX6-Ac>_`II3$b|gB5Vn|23!M+sqUJK}%<2TZ{Pu<;Ko*n9|yEZkrk9Tw0|y&SO@Y5FbpF62T0qOo$JW$}h!BlrAQOgbJKXfl$ly zc*z05tXmmq`HNzf=X*$bVR>=lA9DdN(g7|)c`;VcBr)gtjs32^0iM?a=%iwXIU*NQ znF;0SFXz2RoUuY2vzm?vzNG-@-tswt%~-BP_1$t=*2%JtNnq|q;BV1AsZ)vXHTh^nx(U-YNmYYa!_I$H4 zfSb2?OP(kFDT#>ai&UM*5I1vkyZ`uzqjJ zyJ(%Y!~U`iiA%yqY7bBo)(%<2Q@GJi*HkpPH)kG>n(68Y9wei#DUsF0V8VH0xi#|5 zP08crR;J|X0rRgU5lOupPwkPrlaic7vi~VE*eg!npKzzjxiC*N%UyVNM|VbCb=>hi z@6LkT2M)G6Wla=yt{lkP&aww*%{6~P85c;xRkJDMl5lG^5>NE!%Xy@a`!!Z9$I%t( zw=P%?ip_il@93H`u8{=0W>dxu0oZcHs{q*Se%=w0@Vp~PY<}_3g1~0G$=)6B2n3te zVMyK+i|sSOvG03Fyh^x3SLPiVT()WijLpP$^Z~Qk#AyR&b7+w98 z*~dj0kk>Ni1H7XrMQGy)LK}JqeF$x~F6?zDBL$63Mh}t@*=)+_rB%#zXjQy40kigw ziY#s}M}4H<2Q7GPw%+W)YU2o4n>cqQVYS(mQ6)xOj(8seyFJi5B4o68G)Ve`(1PA( z8_3>Z?+APwmW8CJw|&Mt0=MOeS1N;nz2!(93B~eGg=J+B^bAzJVKN?uF?{#%gxKzC zbxYvgWijBbK}O04WRm76*8JVB#eSf?S)~gqmKoKlXOV$>D@w{($;aZaIsxXbh02HN zVjnLSJibW5zFDul*mtyo0>wY%z~2)Rex%{yZ<~lcyf@p##Mc16xuAi)0l%k!&ekMa zMmkoLV5mYjPBjicMWv>y@TsJjKNx%V5O{F{5gXAbw5&Ocn-^zV)D&nvbK>ElHCGFnLxIawLl+=$UZ)5E7Y0607(QB45w^@-xm@d>vonHNBr{O$~dZ3!sUo}g)rkoy(44Qa5-v}ek&r*I^s;f_m1Gh z=}$>|KHO)V){5YA#Jk25+*IDtlThMv1ilS6gnm=P*v_zb&O3q#Pd&E6w=ym!?4ox> z2()tvURSCg1t9W{K*8aM&;k%=(+c3t-qBTMTqOw<&Zdm(30Ct~jd;!3%suNJWmw%? zHG&Q&(j8j22yCJCzUfiDBZzPUijss5XHy0g_&x84*QB?J<{(GvBRI#r7iA=dfSI;< zy)WbYm;jMKNI;NBRq7+&Qy&3H4hT*k!AIQqmV1=Yl&?xHPg@C=*$EJqg=x9&)XBF` zd_!x1^Y2%o#x)nbs}#GU2p!JWMQnL-H{>ZguL~mQ-z4qBDDTDPiI1;{Cghixc!T9>apnZclV-cp4%3FpwN5yZ@(|ZC(ZfH93`}z443c;dMZfKla}e|aV5p3y z@cny&()ss!A?fti7_XJj!R*wt!}1vd)Dtg4r^7rq_oaQ`5u{#R(lZs`*!As%tkGOEn{r{%=srNp`U(HbGvU7cB7`oCH>97N6O(ji zpz0H~WH`9G;BZwH0@3Mt zIhy6|c#KuoGYc#_BOsm7&a|WF(fu0YbCas~JY~!y0}P!_i;H^>U3bGMUS9)q`Mcpc zz;roUB>hEb0iv@lWN(Rg#HV~Bj*^5tXHy2``EtJ=GoJ^RumZbx)Lw`>j$qUwGtmN3 zXIsHuop-cK8LeEp&+u%zYQz_YIwA&mN9NXgM-b|anK54vW}wx>!JE9JdS$#%rz->S ze3P%ySR&=IzPoqyq}B$fMq8x61uc)NdwhMHcLb2m2$_rq0qH(tht>mEjj9^=je{hGI&%xiG&8E@HMWIL8I+Ad4b zcKU7{-AZajaAn*U(yj*QI}-f+6mMznj<>vn!d+kHJz2Ic5DxH8Pc5ijmV9`Eg0JzG zy!ZB&@v7k}6SQ4?JFmUztQk17*C_?zE=xXA0m4u9mb~`niGi*;#jA^yEW7ep0^Lrx z?KyX4bQkn4OTKV*N%4hC*BNiUy=4y+dV0%Vvg}0?44zFHeHbBo%jtYlO!4(gmL7~R zgNxT=zFu?D-`6L^$n*4oQU4VE(EvFcK&px!nc;M*xc#TmmPZTEGvss2z>V2DJ>;FIK@)pV#0@}I*5ob7ZDFJJ`6B_cuHeV@b{PE-m7o6 zWj%2|wLKN>PKb{$_sfTmN=2tMID?Oefghn|#fw*`CSpv!eWJ`k$umNx9!(muR?DuM zrHK0m(M86~N(z7<&nt^mvGz)`c$82H0Fw<_ttHOALFPmPm+}gOk+0M#qn59jAB(Dp z#4nY}s7w(+4;wGLsS-{_IE}NC5*lAaBeQ_Gf7gLkt(tNMZc@VHXQV*lA>)DHJ3z%# z$vJ8bRu5--FFmt>_Ku?9=XgYZJ|PYkh=kWTRil97!Y^sq2^T;3Nv#sDb;9X`g~e0b zg(alhBl2Ys^2~Jua87{4OCR#Rb)oR3gn;&|i0kVz)c}t#1CZx>(1iddU;h5$;l(|Z zk~$BoBwdBm)#Bm3v@zk2VeyXQ-`e9Hdqco{IQ> z4UzxYD&#SVPdjl%qc}5Pyq}Aja{t9@2X}1;3WpHF6h-6Yqwm3Se?=}c$ywO zB`W`PN=QCCXKA@6U4!S;d@%S-6Q)CT3fb_(#mUA(gROKm$!fnOt(^9fVN-!vZ1yL$%m= zsc*w-ghB#%XkWbl$Uy6hvokvA0PxRs#oFTKu>SlR=hqt_7qIG;0sx5qA0M>Sy5SQ7 zElKOItBJ7Q^u820NhMF>Xoj^M|77LqVwn=~KD|cyH7Ek;vynL^C|-!Kt55l*#1*As zdJq|yKdQB;&IsWAA^+j}ixc%!*go;JmKEn;V`1^Ay_+r7nD7^ZKTAuF7k9;%;1>k^ zquO3;i_=R}xA{-7GnbvkPqdu5l;QyJ-U4BDT=PuJg5wZ0?V`GmC>j9aOQ_ExLH?!n z#(6H}61f63!azO7SQRh+Jw zgQal!(S+)Sm246r4L!vYkq-Arm}aXM%8YTNOTVg%5S@;Zy1 zhTv-i37{H;1=yiQ#o^f$7obfJ7OYe-)IVJ`=JVTG`Lq0f6D|OYy?&+fy;$s1SO7u| zgFik`)PRVI6od@m9R_tFY5<#}2pl3Kr$_<3!ypO&&!!9l1|0QkT{EfY5Ua%dLD6%B z50Ilq={KTvJkSc^T3GyqcXU!2CrO?Pj7=G*6*)jZA#-_$!HVxDk|^*jvh$AHSho-2Y4&&9T9JU?v!LD+%EH&+3N(i#zYZ6C5i|I z3%#QZK?vlC2m~o&5b&*zi5_uKf^KBw6or89m5d&tv2|vzCzIg3Bj!_eV}7a}X^4O} zQ>z#QA!uTnQeFWH=z=ln&2+ku7zNP{jT;G3Kp;Hkc!YYic|zln+5#a9Q0|9vf5j|_ zLlzW={trbhpi2$82>GpP&tDc3=RRTyanKEBdnj-LAq?8Zi-^C}rfo@!;026zvFq9{ zx`=Z~@^B#)PGN9xEakJm;#l zez=wkulCUk*cl&oQ1}8xFQBfI^k=eS7Z8O&tApD_AIo40Rj+|sW0_}$CeIVMAX?l; zaSIs9Qs#7GJTVcOy;?E~|9NR}We}`jmOmj(Xsd;-@MrcpLKn!<966eU)?6(U?w1ZH zU;&N@SU?v^#sa_Ax7HM2sE`G^M3xeHAHdf;YOj^SaYQTt&MjI?d}x40>@D?XZkRxW(5#V5%cVt8`kRu`r5c>(OI&c6*7vRgBceGj=@5eAu##&~_`5Gb;|l%GgM96LXQ{jLlFT-VxLE>OqpdqoU#$ zP$S|O5CRH)A`7r>VUHESX`=>ZG>{~Q0h=;*Du{s&jp={{I#}r)Wr$=TM}#Gy!$fNj z^NtmwfLFiX5upqi7?Jd$415N$3=Vil%q85*lx#WjPwoXxE98qMg2ip*mFNZxKQSis zz#&C9h`RRSHaeo)=&+Axz-?62Z8WNF%NpUOU#6a-FX?EkgjwsiJFJM%P)>TD2AlQNY zU6)V`dlT;92Jd|p0fAM(OLrYsw{+JL=-^hURlskDS^=D$yWDm6bl2V24fjBQh;TsY zgNNL8EbaaOa`xu&SzPDc_r2)Wy#g}EOKdkiQ)jUgQ@c&-Bsgh3Nvwo8PoAVr+q6yc zW>1RKHn-!rNt-7YAVBP52eVj!Kmr7a#ehNB0>lmmo7I>_fB>jIG`z zbo9!VP>$Ir>G&xDo`b%o%Ds}g0Kn_k5T5Y*nWGBj|8M%iN@x1_y?S&fD(p`G-=G`~lR%s@?(s8V~v|%zz_72~4inn)BD?NnW8dpyQ;-{3N6a;!GH+r*2`Ar*1(K;sm|CV3Yf-G`ZVKJ|M}x zSgPDi2$0YT&IBC2hPgBeXM!adZGujR*j=XRH`wVs;Wd~eI1`u^Aph&)OfU^@coT5c zsDwrmR){vi5>|>eL5?;O$N;l}IUP*B_Hs2+RaU1C$9<0SLRWT0scheAoO>2dKV(0M{d(7+Jq5&nfpfqw0**bmy0 za3{c~fZp|k0fWLb9jJrlf+*p9Qo~$m6zD>6FyTSJtg|>27|wH`OQKE?fdW6G7oZWb zF;C-NqEcYoPnIi^y@o?U<*sSx2bdG!R=AN2dtyqxpQIt)S^p(AAuUdk3a{C2{{5kC5#u{fgBM$ zKNjq|IdURNphj>c(1DW6I1->npaV5Wup!WaVonw@-Iu60gP)^apgHX~fK zHb+n+(1BvYh`>(?^(m+W}c#PuS-;T2}NE@!JYtlg1=Bt6RZU&K#9FT zPZLAXvU?y;AZr6z;ZIo3s#XfB1e!S00bvvG^54~{Rc@uqt)$$l6x<13Q-KX3m_J4i zb#;m+4uisKV^CO=@*qf9n}Q*s6ov$vI0OkO>*=3OB20iCAuoCa$PwU7*h~|L72!>q zc$#^B8u^x#U)Dv`2t|-1@Odc}X~+_c6oE;EZAxg@kG2GO5q8++0!jfL!XCTsPr#BO zN4u1N7sX*l;J1@4s1a}kH3FZGm@pXdQv&n|d(9EB3{e}Hqen!RfTR7&e-BrITCaO_hzLnz1JK$NE74;iUhtP$pw!9zZSNTlEzW15<(^E<3WP) zB*+mskYo5ZNB6^(AV;T^{}jdHO5i7bX~+_A1X%);o|tVZktHYro`Q3BY5+vepnh$R zO2n9eqYKI(FeXSZ`aJnBnIrfTnDWGg;DDbJu88nJH3EnNwZZ{&1n;~#x~BZs$aOsh zZ-P-N+%QM)E8%?-Zl>Tyumq?IZkeNI;20^eEMX(p6;&fY$d0lus$QAaZUPDg*bSgi z@VBdx_fFHud!9F)KxwUh9F=%A=BQTrYso(&4b1|?3oJC5qghIrg;^&y1xuJM9cMW@ z1_TaJyg7np#vH+;z%(=Y>(j6;nE3NNa|GD}JtqkZOx9Vd&+adtG`qYDOs0=+9mU|d)v>1V%5Z3j{XLTp8@pth4?X!D)FsFnTmS_d*(|PjC{S#eh+5$8&U>-ucb>44Ty@E zfl2R1RHB*mKB3Gff`asUWs3J$kydP1+HX#$914G#ul&_vMC zjqghPmG_Cc;SL#SSRD8)CE;G^8%TH;6AA}@O4yf10a`Z|DA^uZ6LeFl&wg`sK=}`l z3lax@``J2Zjt(i|5awaifL4NWH^|XxfN_v6n4?D^b5M8)nu(=|L-Qf0>fq^KQ+X2kO_EE7cA57+TS`Dnhe zDE=M-r(m@0l6+PI(pUlAgPf0+^H4i_OppN8!&tkRz!67*i?NbVi28w&5KuKsJu3Je~tgK`$8D>~*XR72(%vl+z9UzCG zCl{rIjtK@55{MgCvP7cN9CJ1q=2*$ODmfPuk_UcDn3sXoK_$UnLId%>l}t%rnv(O$ z0QUp6U8s@^F<%wygC#7=K>MJQpfDF?z+&n=Az##8D=19U-7KMfX2kwLFHHHR8OR@u z5Mmh#X>mUA@k;_we|}<$cs&ERgB*kYTn2*P96tdGgd8<0f4jc4kwTy`jiXgcSVeJT zf3Sqr8MoRT0Ud=RqRjA~k9cd$5p)oA#N>wyf?r4nfg{);=!{9&nE3!3glYu%6gG&S z=ExyMtr|i5zxxo&3AZ5kwF4)tK*OplyHxg1$Nf$%7pA&cO`k6}lpd4=|Y{+z-PJes+HjCN(6 zVYvC6VRWe6)NMOhkQ}YOgUh)Nd9UN`fDYG@SR|`M6@j>#(ddNPiKX67{^!A$b_(&O zB@?H{z?ddnXJ{LvKKrwxD6m8gq`=cI6zJA!?rmOh+ab)$Jb6(#2 z6Za>D%1#I?`!EF_elpge%6`N>>^{=N`>6Yt5SctUrY-l zvRC4L^7e(jz2!bht%LJ^EGXWj>7}mjG1oN@zBS?gv|D5&^H#e0kCXBQDNp1nur`*MRnw(FwZf;lLe$S_JUvxe|*e`ltc3*N|F7=*aSE+l(mFB&#xUZOw zq+Hb{K)@#4SGnrCiduHe{Cyb2Nxx35@P`hZYsrO)(#B1=9}!BC;KN1N^?vWi z`tuMV*NFF1_ha`H_tTPwBT?^XWc(QoF}!3<&)FrbWTHmR=jWI|2g=nU*uA%d-x&3N zf$<9y)OA01UoELTWUaa>>h-V-Dr79!*peM*Vt`{4?w8af>3-(@3&OhpijeNVb_Ww1 z6(-jGDi16+uMhJm*w~-B=X-d+cE5hcdjb15?gjUoy!Rpv@~m_#+}3=UB<<7A@+7`Ct+_9Edlq{JL-BG{Pt%hz1YCP@4a&S`&+M% zGWDTC3)e|Buu?N-Y64h(b#2-0g9U4eHOa}<^!2S&*Ngtufoa+ZUMeT|mXfT0G( ziz*2v>r+=rs3>F3 z(NVun254Q-xuXT!4ab~BZ*c@>e(es9qxPd0I zoF;MS|GxT0T|||gtrVc%)Mnw2+Z&z z71X%X?&jONn}CKJbT@$wgCyQ2LFM*GVl_uD)5E%6Kq<6I!^f0*My~B(ynnML< z*L=H1^r~CK=CoaZ)y|mdCdP~nrnIfWF}G~(iaFyT2lK+#86DJV7}Qw(7A>z_f90d1 zlfMoYA*CPUvK?j2d*aGY z5{E|Nh9VBpPLG|kZcAZJMr*Z9e zU(AQJCm6H!#Q>QBI`b9#{_Wd*N!8Q|=(cWR14?Yh9m;ySFEEdq2w;o_UP|iJJ zoDj%a)h64mpffHn2IEX7L6;f6l*hb2QgjBn+((krOz4pMXbfLWkFvcue6AScU{#Qz ze@sUjASZ$?199f3gh9eMt25@Cv%mDGgU)z}at^^DdJfN2fZ12{kVD6yp9O*LA)#v0 zhAHQOZxiBSP6f} z^S28<5`!9|iZKYeBwGuwJIfE264-OhfYRy-CXq!w7$|8%j4=qQ}w0(+qC;G6OlyY<7(a zXV;o=b}hK-8Tu9kAU#7u*?9ocG{;#&RC5N^3E`v@z@X^`H0GHtYc^In?=Qq8f$y;g z7!4X5s_h(-bVcU!S68H7`Rg&bHFWmDAPN+9;Cp_|=amFnnpYm@1(2Fwv}6qcP%<mAovk2#U6)iRtHCSqZ)~`uQ8z6Oe@YGZd;Pg_#r}JKeu+x0wI!Z0Z?{WdDyG95{ z(~;;UH|bPBSW}TV$ls{ljX>IoxS+?Qw!~5pvCJM~A*_E`p(Cuc5-TaON+nj2&J0IT zg6R!nm?_G%LQwQVMpz}C2tbY|6;LuXjs!BZ0h>&auQ#wYedB@82F6WBq`D{ajR#Dd z$Y*kv3&^lmplyKK%pcJhG&))@&^CZ=8z5~^{Wc1qjaYXcwDt#H<(s&jK4{#{c8JY5 zc{2uhn=>rg_YSgXI?@)-20ljka{$V+XDe>rQo>tQp+f2%K)9)3fZ?V_+pR|1akfKx z-6czj#@P8m47c0K&DpK0y%Phe4Qv}dTfw%2HIv|q5d0fl5dvd_EAl!cT6mpx@ON>) zS8CtEwJ8~@w-DdqQK7uqAm9F&UylT&atp)V90Sx1?Az^&m7F0Uo=gj)-a*SvzC+4) zh*KJ=qa9>ptU^pCWhD!a;u;=WLRoMhuF0d?Dd6@o$#e_h4HUdJR&shdp1VdUc3h_i z()+j+!1LZoX?s7@Auf-Ay$O}3@aYd|f1eS$+o0V*PhvuEw?n(tNYVSQ%>v}6tnk^F zLb2}xnEL|vDMFz~$=aZaqlPrmg`7;+2*rSTa|f^J)`IiSgY%XR#``_Nyz|0vgZsW7 z`(J>#sW-6g8&Ux$=uZG{MVEw*fNxW<3`yn~`0YISZP{S9Z}BF6p=2Zd| z_+mzxts@^8rz0N(wp1m-Yy;>XB=zs0Bj?b7wRx*hs1imf?sg@-qS__E_C*%-*mW@@ zuy(@0+N}mo0+r3n1)L*j?cs6hg)dx)f6&>WwnxTGrt<)f(us|hXgFx>JUHy&nF5W? z({vys7#)T`J&_Uc8jK0mYtd<{g7grt z#Qj#CVpUvC{gt?@id#1TAbWDWq>7>56cw97vF3~xIDF{uwMUZTEx~!VWV~walBRgI zy@Ke#r)dwJ9#LN`ZK`MJFE+MH;0NjMcx)_9N0I=7oOU9FdSh(r0m-{N8al|!8q{=0AGav->Fi& z;*Q@=NtZv^E@-|xE-~|W;;5H{5J#K56ajNGgACsr2O6Fapy4*%#_j_;!~qV`q^8p> zs~L-Ec#hUsEE#h)nu@(cYB~o=(x=rS{xTzNP3JHP`e4qA^Nm9zf(F54&pgF z@m#)^Vj;lUXe|~1ypmpDIqw93gZVCbo0lV*Mn(k&XM=o$luz()f`Gv$vOx&&*r*WT zKnjb500;1W`?GOERB&+0lBcrBzsN{JIX|G1K7y!=xRB!H#Q(selBxTmewD$%8A{-E zl$9K|*8*P%_c~ydr3ngAv zB#1a0Q;MDi7|wkH6h4)>9q!XK)_Xa)KFd|s*}F#Vw_KkMhiRo1ishIt=hMkRkQ3iJ z?5@-X`6d+dRViPM^3{;9IvsR@wc1h3j%JPY<*%h9`DSSM40gA6^vf7o$ehU)oh7ij zAm@kUg{iCZD427dBl*CcGqRxAZh5O?W3Rl;De^0#0;2O8!3j9@-5mjMB?Rvpi@F1B=N_*FQzBeD0}-9Z zDm{n6L~c`&?|G|>g2{t51P8%00{$m#UmQcYd4lYM8%;bNSK|iZnjD_HkQUAz718yo z&40zYQ*E+=cGpbqx?<_WGyTTdfpgz1oI7u%Ev!rn=FTh|sgK6+MYI&#%flgU0r*Z3 zryU8rJAg{^gLLQj7Fz~&*Vo`qLF3Vj4<-+GDd#SXbv#^;@~@(=_|6R-?=Hd!HRMSH zh|c^7-oUE!Q^H=>sKGI#?toSd*V76TPpO>y@XG^N_~t}ao|(2He}bmNn+f)06`Kh7 z!d0{$@1SnPA)*rnWM@*0c3t$0;Oo3<1YdVYxIIU8dydk|sN7+W;q1fBzH5)^7_CMA zARXg4;7cMtS*9)=gWFNXJ4lr~K|x!4^-rnSI7tiA_!sDV$(8=Fr}31WQod8rT&wfT#4hHLIm7mVQC=J>Kp$8kE zmy$j2E?yJdL3;?!>&yYplYW8pi%P#p`Yw%g&r=bi3K*m8$_PWxq!{2%f#^{tvLK6%`g@z9GiRU6myu{Sq-2TOO7|0nwu_UC47?mVoq2V1cQJt5x=$NP3Z# z+|tfF@$>Fx5or0s(kR7xu`~p(*cQ6EI$Z>+XNC-PZ@pcv`@M3_3-uAgUa0y$2@gm; z8~uPTS174J>o~mD!2J$jD3fSkEM;+hpnMI)7rnP#QmdqPlwqpH4=Utn)t957_igr3 z*$VPgNrKs5EF@jY`4@BE5bYlVbakj8_F(ISkIG>Tc6jF{?4xqHDmFrZdN+cKjZEk+ z1ECK-DuK~++)=myN?#--{pdsprT01TI2~XdsV__MUJ!bIV-xmKIYEvKK>9pDda_PR zbc>t~KPo}b3qr3Q_APNX=T)i5WJA@55c?^K_61fh(o_|h%6URYVoR)yW7t=nuvOM+ zN}Wb(ZLEErbvn&i3#~O;Gq2@U##@T_Qo>eSXQ;po3h-LAYYuxra1$U3uxmb3J7$uj zRh_r)#wottA|UcHXK~(jyp5EDw8DGq+d}B`gnmoWtHd-DxXsal0TnU5x0SO`-QYM4Z}gyQ_)vB*djp3iDv-ZvzPT&fcHzt`Wkl( zl)XkJB=dSvp`|+7QmjUM<{ODqwMsR`1i)t|j3j*#H}JQxHVYu%t^)I}!MWNDg02r? zsl0&LXwnAHI}x8j79u=@OSn6H-GS%lJ)$ytGwO;pX+vJtX@m6Jm#PS`zb;k8YgDmD zGA&W2H`r+C$Vc%C?OwsDuT1z$I)eYlT!q;rJ^(@fXCw-*_8go5@`c2Xa;?F|Ciz;; z##T0%{_Y4*0M}}*+P1ye*Ck*Ixcy?^3WQB%#T2kzWwk+Qtex^+{nZZQO08{dP*zb0 zEK%D~N`qeP8?`g!5(r-Go5d+W2Ddq3FLr{6-y}$pK|3r0q7tB{gbZuzId7{jG`s>B z?Zg7zAr|1CLM8ygz;POAM<5wm>_|uCyx>%6S}v*-X9IV?;pHY*&PiPpB;i1O%e{Ii=jE@OxSu0+w)w1se*Q%-u;^P55Gm zfIt)kVP6qUCP78;kasQ-EYZS3(8fDVbOhm5w0;Cu0`U?s?hCt&LE52rKxNovT-1(> z>}XT7P|C#)Vs(eIAn^gp0@4ay#xG$n(5?7|cZFA50-6HrGOnt~RXp&ecp)JogR2R6 z3mhBQ=`wDpQM}KaEaBd#QQWki`}X_V-Bh1It(|vEIm-a+GMWPq+_M-WgJ(osz{pLM z1g>{6BR3Hj1VeaUVn}Q71|u{41%1ifPnj!>!k~i85EJw-F09e^Eau~d{&hex^&Nmw z%Mg?4*Eoa)+Ng_*v4902lGN!8;;&XXAS~dug`ugRNBLI~?J$*wH+P824511`i+$26 zmAevinAi#|VYsLZbaUyKh5~d~!S*%U5yjljk;vKWyJ(d09E?P-qPYE`=*y8S;+)oK zc^-|$EG5+~k9%XR-Y7YYRUO8Vq5{BLPx)uL7w*4P`b9*AKMY01x(Q=%q)g{0j>oOROpR=BH9J6f~$|8})3^C_2K#KsPqKxX>HV0nlE2yEg_gZYU4(D4Jvi&+Ckj4oqD~p z*2}vdJ1e8!c%BFwLiUEBH-?r076&{pD7M}h7Keq!)*HVn7q8-?EW`C?>pAf`jAw~c zhUgpESW?^_{swL{tPJotEaf&Y(`hUd4n7!WH5AhuFE0*yxvDkX!L2hQT*Uo0zNchHeG%E?CZZxTU+CBWyfxmdmNo5ug} zCKXn1yhS;;U@*y!XDYBp5A2%I@m4)70oj938blA!;^23ih#V{ddWY@yz=Aw^i%MES zu$jua1HXK^71n5>eR#;*RUE9*?nVF}l_Z3bZeK+;Z<8ruETYgd=pa}`!imF~K0I3W zAq4dUuP^qpaHH$YYmPl!=NL2)6nK{;%_{HZuht~tgy6l0q4gOi19;7ER zq`u$)f7ORID}OVF)?^;#UtwujdZ>4`bOLp;_GMa#B!XpHI3!?{Xcd`+h$PrJPK!LD7J0H5_6V3G;5<`{JjH{hQ>bIS zr^BA6l1zC;#U#N?5o-|dFe9Kp%O0lFio_$q`V&dIByIfFB{`@3=PPTqc# zb2A4g>0P+aL+lVDu^5_!)q*p$MOuqguH*?8%Qn~+EE4ggzoo7Sm_az z9+{*@qpU{as~DYx*}@iSVYc8WS`6ZL`He|-hv0&$y_|&O0)C5pKyDFEhT8=jsZpn{ z2-;7<6?r8G*utV%MPdQr1wXqqg*DpGi~NFi@mWz{G)BBC)w7Dclar#pfa+pWvamw? zWp9e*eHz*ea!utxKz(@8v2jJ~vp2I|wNk1nKTT8^-t?r8Bv_4hw$osU0t4oY8Og%> zEXAO|fQnd*7tmioMJ)OYnw>ntZNbplaAj)Zc&6nTAu}H$54UwStPue`=A(X7c8T~c0ntD zjp{5l8>$N?x0hiz82v><@_%{DRU4=+mW$v5KKLZu6}*4AD(0xs3a&6mD@b2y_NpY@ z7m!%wy(W=fxTa(=SOW9$}dNLULq2#(bCMf&H&ZovqN%iMN*eHNYz;^Ao->yx%V zyFsiKdQ}kP&TE9s+by$w@eoV#keDuPeHN~ZP4HR3M3D@>!8r65720A)pz_RTXT^WP zVw3r?UE8y8U$E;fcCE|$>#`!j;Kjm4B_v~8QUn;bJ_`i~p&2`pwm!R4C$`JDFm`cb zyTiu`J_{bCH(*(lk9PhGxG!L~u=Ux!DhTlfE28@-Xxta=D?c3kfC?UObOb7su@Ekm9h2NR`F#(kwNTS(yz^l8-sxm=E>XK7^2Tm(EDkf z>X{@A8IWM)p~ax1IjeRQ9=uIu+i=|!C*wI;=df6z)LF+pXfoJnii;)#?s<~*+7Mla zt_q`-68jxrNJtcG*SCZ~( z&{JMhwXY{3)Nt3S_KgqrlsCA+Vg26^k8abA?{f^M4(;eLZ7^nH#|<6*CL85^H8RLcrGkp}4oNty3ojRY0kj;1?e>Aapl`~i z()y-oajf_C1Jh22i;IdBoiCgmg!T5vgqDK?57Yq$ViNQ}DCG?nB?n|2cB3HTVBJa- z8xV2iMa02KDAg^}+m_{!0@03Pwu7eBmHpmu6&aC&p95|Vru9V35e!8b3@Q7ll)cb{ z_1S79nMA@cMx_Yh<~JqA=O2fRKad*P6~c!WG!Vj7%IN4w}pqlJrqEmA|$=OVg<)L1Wix zI?8n8=a|mbftjNw^$ffm?1hq}R;(O(SU8~8Xn#sM8wfcVY~ZeemS;~=A;0Q~{=r2_3}L!E7BSG#v|4-olhP zIOe6SA-t;ELDT_h$0BOCIA{oq!-lZL90zn9tj|Kg0WHT;JS{WFU>yh^z`T=z1Bwno zUEYx6#*}*_NoNr3m%Ip&!)E?_aIn$AKVzJ@FfPvg`6G0M=n=5gz zSv#BAxy}{`oCrXg!7`>G0r3tS2gu>nvm*OoO-M8z?g+OBrjMf>T+6a5dwW^7N(0_% zc2!FQ9g+_^eH~G|YuEsEYd!6fLcRv&YgN8hk{iQeGK3+_r?I0E%fHl?-U;ao~g z!slg*76b|rC`S1AY^pF*@Q`=W9NrI^2)QodXOQZ4k&Q~5DHsG(9jz9I5js+vw>6%T z+cO1~9mO}o%o#;Ss;oAE6x#&>fg9`qS8LDvRb{?C-;k+PWr*h$_`*-Qc4B)l6a2@;tO>1OIV51x{mlsHIk0*_C_Ljng$cae}V=tu|r zBMdsyoJM)NeWsv~*c|$%gPDSUY1hY?Nct7n9C#6NjIlZa-Qo#s5V(*LK?xfZG7yyb z&2evlJ|qVK5gjOw5z&$GquONapSGETt#NUaFxN&VSVxAWy`gDdK`iA%QBuiHXh|5n z;tS3Pwl{{O*WqS~Ze)ZV$riasVvb6SbVLbIlZ;NQ8-IT0642~%8{1Qqa8!o)N@B^nlQPQzpZ*9602TGu4yoP=K< zwZekzD``!urGo|8$)YoXj|A3|+w-;#{t_xR)ksXH;=MWzdC4>0H0_1A1O}7okW|#@ z_SB@+Et33!1=(61V@5hyke!)^%0x6KGYiMycGU9HQRQY)u$h%eb~O{hkQO8uMibsF z9CwZwOMnH}rQyA^1zY$`7!fl_o|_I9Y&ZW~^i=MphXp2f-fb+gR%h?W3yZT4`ALt# zw3l?nUdkmMuVS4?#-&{*?=fcm|NFno@_?ni9KL}PqeI)lbu2}SHX0y>^HQP>Ub0b* zbvpY8Bi`K_vUG8sU6;IfkGAi1ce{J@0EO>y_mu{cw9=u?qe}ZghY#f*$od@s2gg7L zKL{ZBA@@h6-iJBDAG;5`KhAqVf$uni=O2!Ee83;YZxZ-6MJLQTHg+?)PW?toI3y@JaUx?=kmD_gJadl}vw%;_RR1y~o|-cO2mf z|3bw3GkN`U_k{cNy!R<>e;U=KjWTspUF#97LxCKvviW5;|Sf{ z=Ma_c=AJ6`K2N4ExX-&U>Wq=hCk^gL}R~UqOo%RE%#0L zt-SZwerE(>|Jwb{vk$nx?s#{$^MCy>(>Y6)Z*!Qxb>9XT`?v1zO1;15FyC>1@4k~q z3HBfEILtrlFbKf9f9m0VSBLqY`>y+5-uu4a5g_dM-T%X3zTdG^qU6s1ib^!^@BSs3gp4E=JVe3+WxismHTxbeb?vR3#Hy~ zDEy-Pje9WNmlm5LJ=hQP)$jQM!7w`ygbBt|oS0ggMd4jFx)+qIjwh zGSpR&&_C+>7o5?TNBy&qomgRTodX2wWHQL?A%^oDf;}`Uoz|f^tCX_>l9TBkfjGmO zA>$YI-y>|<3Ip04A?RjaNKR@Bj&r0yoOuB?M+=8pDx@ag`T}Hv)MTDVNX^h$0>q|| z9`-~l3_KG6=Opp~(ZpGmBv@S)_GCkAPR7|3Ih!i{C6LR!S1s|>&{;9iO#c+YWmdQ* zDwt*sd1}p`A+RR!O1|o&pfdqhmU^?~4AAAQDA3D1x~gt=!5JVEyJi3^sY!h(t(pg8 zDI1{ST%pJEl2iqDxd3MiMoq^ma_sT5uApwYoW88povEyv9rS9 z5oF5Qe(H+2UHc(!VTAU6aCmI4OE*~uvAKX;OZQ&J@joxz@LHvl103WL=Yc*| zwg;B)JTJMWcYR`NxqV|Q4h9dLUO#eGm<`UZuh4b`9+@KP0Nf3fyFmua8$`ljLGjxA z;=7O@^^Zo-9hE!abVDRNnwQKdHlRE3c*C&)-3=4&uGAYTccV~t6r7G;Cgw&18R@7F zwlf$z^{`{DFu1ufeEg9IAyJ$GmK!USTwVw{AaoOOHc`$d2@?k#j$Vc!)q=CTy{eeM z34JjuJSFC;Bo&$m_ak1Qv$spq z({0BFB?jte2S?tiBLn~0DG(47x59>n&vR#xV(L)$SYaSw0LR`X&t9{^d;uTZhrQo0 zVf%4*K+c+DV82{52?t|cbl3{BI(SIPuDo}|Y@l60zK&vp?E=+x3}?2U z2$HK+c&@x)T_+08x&ZCc-8yB3PYdRS5NF;yWA<6;dIIaB=K*FbP**9~E^2mO=q^M% z^MPV#ShIV;cc~p+vci|8#OW@Rryafp>MMY63Al9?XV>Hm^cGOA>tqDAb)!(Tdx3GO zW;e|l_$*Lex5!gwkgcAC`U3$b)W268Bp2YVQb}$?Gi)lGH}uSK6dT{z@>K7 z&k9!v%mqw~Zy2)yXaVRNfITqO)hzV}$=To#m6b1OXLg{Y3}IN^BFq(cjdT$PE8;4_ zn5Z3rz>0vtQacJh@91;v$Y8N(MHourtk^;UR;U`jxf^3tuOrkmn!eH`IR z_I0uBGeAQCh%S)8Oy|Xd zvmEFl^$M4*@Oy$0p(2?VU9uCbk<22AHK1MS>fSD z0`&|h52B7ZC+HpU&q!?0JAi&h;cT>=je)sQcpk<^l6DN8m4M~(FGYausPK3g%Z1S4 ztHo^KI^cOGVgu5dPy|Y+6l4z0s)WV?io@7QSe($=T_AJRlY+{@S+yWKAuLDsbc5+k zr%a7tIsj`*CDX`?hhb!9kN|RKrkt@d0dR(CC!*=^Qcrr9P&3RhVXG$vITHanqn;GV zmW_5n&G1H^Ye%jZItIB$zGTb>Ei+e&jf|H}yKw5!H)7AwHkFlI7m8;d}# zxQ*lit$;I-DH{Y%Vay~gMzAT2ndEG%Kq}x;7&8fU5;`jqDCH_+CM&$%;3wP3v%~D2 z5@rOB!k9^7j9^h1GsziXlHE|TlK|>uPr+FN=!r&id#x}i6XI6(kq2xEH3LpU_{st7 zW`mbBsyB_9YSmB|G*kg#0A?BO*l zK}Jv$N^e-t2{qbv zR+#wrwTgnzdmGFqynmg-`{_k2(0>!oHp>}N{hJlo4}4m|`(e#G6VR`3FoXiRMsG_s zFjNYZO+-JD{y{{)V*7XCj97lgKVb|%;~&NGKf@JeZUBj`9VKV z@P35gef9H&o^)@*-%LQG9htCwqWbq!y8~u7TX26f_Cdw*6TDw4aloio2-VLMs_$Aj zG7GfoNslD-y>QeDA5-wYJ4WGFvkB5aswjQNM65O{?!FX7K%AXo8BqcG`5+)abXMe@ zu||2;3b!dhpICdoT+Al$p5XlR*aV;xe}4gI7v+oqdSdG@k#Jd}f1$I4g#SR~T(QDL z%o9m}l|0wXCRm&P$rCnz1848c*-gdF6Cuxh3mr+pSusKKy7fJab$5Cd6D?14 zJYOzmmlqQ@PmDZcB1O!*KE9k7^YyDQcQ+Z-!QwDWAmJTv|=n_zBY#OGnpx3KQ{I9niR#BdYV zy^w@g6{;Q9EJygZt{Lik)MSaI`3T=;{9`up+lveF+lu5~hBG3!8UKV4+l+q{wH-Q> z>Ym=%jaGPt#bK|&*-Eol6%&+AfHvbFMQan1T}ntc&WOZbt$1w4KZH9MoOL8LTW{?3 zR(ONOV{ahOMzbvjn@DWNKhoSI5}WaloDqIaJoXk6h_v2XaE5kLv5kMMFoD(tR&OKE zcC&X#ZI9S$#y^U^CXAZ#kDToeXuuq@DT~-5$nwO$LwPk0(}gdAZFs5 zTXA+=&In>AviSrFCl$^dI_oS!JRYahR+t#(Qxe2u{9`tO%LF;MVH2%PIP*E2p@PTw z$5ihwkU)s?ML8qnh6rVP5`u&8QBQi0Vw5AS!3I4kA;%Hoj@6T*<7%I{SF9afwIdO; z%!2JT91^okySia9%r~$JTE4Ehs| zlf*3}f5&%=*@PMQQVcPpq9pOjDCDtXl*C;je3;o5g$?7bIQ(KBkksubewf-2Ks=xj zKrEYh;ekoC?HCs&2_hzBm^CB0`#^~BaDx64K|entsqY2CgDFgWFcHI}C_LKiF&6qc z2AlBD(Fy`(%}CDvOKfoHtcVC;bu$yK@FWS^5!K6=i`i8c6kLTp+2VaC<7|qYO_k&w zQNFAhB?;*boh7_!Nv#GG*-Oo86y-~3FJCTZ7ead(7bRV-;(1v!k~1QDXDO(cHKQca zyrHvVf_l}>5Y&sadIk6r)ytQQ*@X2H=6aTGXAm9*yA`mA!jF(#Koc)$M`3SU|i^|gQ8;j z(m^PWnw+)Z*t6tmGn*J#;$_ca6Z_gGl{m&faz>ylL9iD|AhPvR!5M)|1h6vxvBE^K zURE3{;~%q$UnR=*8aBbKM7UnZ*$p`(ZuN$=;28f%3@)r$Ct_38G|Ez{Sx*y)>q*EM zp{UrsQ$(k_-q=K+_EHQg;~&MA^;Iyc>q|mEiM`>>FOoPMLmuJ;34!VwLFzq4pVuE- zQw9TM48VxAcQFG~{(_ejnL1FxsVE)UF$qTj? zHIsyU4VzffC5k0wv?OPQk}gXTOUh_TYHp#kB&u%e?inX}YZ^4{~le+i0<&8?iT;l-nkpZI&}) zKndV{lLQL_4V|Tl0M-2@{*%JQe-h{UHhH$0P4p+BpWCsC_uM8mH%3cxM!Y9sp1Vlc zt!U5CS%zRwy)pJ!VWK+UQD7&lMP?JhNet*d>>#3ZKh6%wSu<*7DS|H<87WjVbe1J> zQ!nkqR+wPTLkihswaDzFDR)?boAfyf<0LYZ)gn0~bdnIv<0KGad7|JfCuKJJm{V4m zcuE2;Pm>2(HctDj1zn!SCW?|E%Ql=5M#*ZC1y7zQfdI-21!ol6XZrtfA>{krH)SB??_+wFui*i)0MLD0Emw z5>z|KXvvO5)FOe5BXNkD8mB?XB9V%tv58qEjByM{9;+i0l}Oy;I1-3Be3{cI3LfO~ zY0dkhphjWh5{XuvNS;Y%6KqJt;w#w191@*ag|o?WHbo(bh^8@GN~4DsIx8mhP%WIu zL!1$MNF-tqdMKNyLP8O1DMN5!jY13=Ey)>?g#;bWBB3r#@L=dHNnoKaFv@5YCX#S= znlM5}OJ*YxLb%~PZ1~av|If$S0yzW!56}5R5}?F>wcsoT(Y0DQ+GjXhA{{iycNs02 zjl>y5ze}+plZ9Y+8P5JEy|b`ppjnaMW3*(2SD3`v3JR|@dsP}{0ASvXmQ22^31_QS zvo%sG15V0lDGfL@bd~{9smEo#72W`rH4Scx(URH3m4ckyguPjTt3--2T9UIZ@ODd> zjL{M-Lj`AmiPD<*L!^w;+-3r0+sL!s>>VakwgY>obj#dMoFP%hXi4H@ZZ`?H^+R`^UB zeKF+67%iFIhTK`&wPBw_W(-{~oSm1m3sN9MLX6Q;8nLm^Stsw3H4XH}xMuIAr9bu_ zd9Ij!H7$*?tJv3wWtE^9t3`5lBaO@$5@U>v(x`{wjNsCndXR7OtfDrf$dFrlc5j6b zGQjHyf@6A+p*IW0N*P_?UKt&^cLpsnq{jHhF&mw+UWof(_suv^@qIIll`i%Cq3TR+eWgPBK8Y!G<{n~ezAKMmDDsRpdyEvn+!$=4w~+!Hi?eZZhI$uzUoVq@%-8sWGe$}o zJ$nAV9yXjs%3dW*3|>Qp))27%5p{V(O9QswdAp zvk~T+EB!4-N*R>9P~KvsBxk5{5gPw02`0=HUNc5YcABVgaW_%nTAV?Ki?0^5QP%>z zunfDwWVsq}wp`AT;6jY+brRmlAf**LW29uxR#@Sc8FaYN)#9tgY@+^GWLy(Ax?8Ix zy~RjL&QRJ~lR;{Wk&>jgLT8MWG75;>V1?1zLRf1fc{Z87IfDcjl39$DGHz1_eJw^x za<Xx@z;q4jeZEYvd4zqVkb<6F<-jzXM3&AW#N^*vn)^15^ zF;bGA7B%w$qbT_QU7iSlYF#5ascA(}(+b{u$Z18;)Y9XE28}%~NNe%99IzubXC$K4 zjKhOwAIc!Ng*+Ccrwlq8z{By8a{#Kr_4Gtk@fv^`RRXWQ7N3-N39HOr9ZT56!wk zSvM5B67|=ttHjwbIU9~zcGe9iVFaRr1!qZbWL9@`locMGb+A&8CeIkN$08z#Ha7OS ztQ(Vc<8bz}oQ+2#Fzd#XFabr^g0qx2(N1%c6@De_CL#z(o+`5^XWgW%n~Xgr>#DMD z3eKj=Sv6X&=>L&0E$gNgoTa_#S+(#QD-6H%^sK8T&kVC?W?c=+t=O{=0L;2sIIEMh z*;!YYb+bvBgT7zES;m{2)$6_93eU^Bxmh=lJoC+7kahJ)`e8!_J|CfLoV_Y%i?Z(3 ztXo9F;;dU-aF+F!WYsOdW`&n#9lYU7$+OJthOB!n>l(0^qvn@&%W(#uICSq>_j=a7 zK|*8JH5Q!ZycJoEZB|<0Rav(p>sFDc$?Vlxw=(NiW3S1&rmS0ov$b-zF6-82-8vH1 zXWe=^^JCry5Fu_uwp+w-d0B5`mS=Y(wmx8C9EiA07!g5=?Lpq0)j0W0JJOb{+njY< zaJbd%w-BPuy0@^=Yu}2RHAmj2BX7?lxsF&meN7grb3kmtgS<1VfzU2141EC#=DW%B zj@hVTBSgLjTXNP}l3feVj>y^3EXu-Y0y9EFqPpO$2xVTi@Z(na1oEj_1aJA0G5b^&gz>d$#e3Zv&B0?dLoGdFMrATfH8+?P}s zEl{*UFK6$VrMQ&s7>h&`cIAuF^;848Vr9|WMCS7KTA1`TS;REawq!j? zUXh(dv+^bhx9DZEOeqwF?#gm%+&y#ZM0@4XeMD%H6(zIFbI3Qka_l}iWD{MV94ksW z-1W=3zB$*Ago>Q2$l)$%7py7eRJ#FId|=M?&$)r*8f5n1oEwmHgRzI?+@PErg1ez| zSDAA|bFPwvVL3M}7xsLtDZvuRD9H*#;xIhtMv`Zg*`srAM9z)I9+PvUa&8RH#>&~a zoP+0K90@Py+{<#t&hY|LkI!|B@V@FA$#@fTwCD-gYTgrNOvETO@1!>==U+qO!j4px zbCYte3Wt-;o|1E~{&Tin{%_U>vC>p&eh>;ww%q$x!E~4hlIH~H&@P>!ZNn-dTI)auxkV^ zS=D@AcpCF%%(v5sg-_{%oW2^M7U$-^nsW5Gc-$%Gt4;JDPLHNNCNuRym`Q z9#;!K&fR5z(lwIyPUvo*2ygvK87J-5M+IOzrOcE1s)9Ptu&VSzflHbMqGTFY|!+XX(ty=+ zQ_;uV*K}Bbg*xmvblAth6oM*z-uoud*Kd*STRo7}{Obp>{s!xBdVn1Kw)81b_M%>@_@cxd>e^2JW?*XRpJK6)LP^ex8Qh&!dip=4i{YNgp#5Z-L zzRR8cZXSH$Ke_Lff-j5)_`Ie?j(N04Qv~%RQ)8kEf!$b(hh{bkDu${gPe3>=uCyGv@t^y3c=Q z$G`UQ{tZ0gzx42ar7O560le^6E+1aO-3gR3lkWMaqTdvl;MZ*bx(8^(7gXRk?pL~~ z1~?4!e-qqc(*65W(XYGTDDAi44WD}fu}m)b*Fhithx^_0pbxtMK1{ZYS?WIj0s9Y6 zMG4~hgR1%x=1bio`x6?RmqoDx5laXBkR$hEPgha}NMyS=-Hf%$y$P>enaiV3MZd~r z>JxSU?D|Auc@#EL7YI}$zrNA02%^}RaZZ$M0|ZqBjL2MVlv^+`%G1(6>bltD0!)z= zXB;-`QVx!?4Lb2fiBGcf%#n#JiUC>l_eQ)*?W^Q?Ko7LOsPOk~-M1Q9H5{_mfQ~w&8A3j)zB2`UwEE5> z*W;0|3jWA%7WJJizsfYn(2hDOK#pYkwg>)^-&`_*fBdZAkCJzUq(soi2iUVvdv0q* z;tCDQcYHmcxVAlb`CLq>z#u$hT2|Nfmwx z&?IFyaSEH25f)zM-frl~04+&*)3X44k{!EfG`qEbHw|Hfo`rX!T4mg$eS4_Hy9Swjhb@qjw44oa?;2`y zU!mo!OMs>%_kKJZRvAXczzu+C*3w_D<*+Q*0CA>D}Zo}WN+WTZ6nXIm}Yb&9D!6CqAvdm7gw-bIj z6Vx&<;P|2tns(xVG&#iE2}vokeYtRmt%L?D_j~vQja`QFmCP#?2D8ae^}D7rx+d2{ z+-A3kb(9lk0{{pqcz`a^cEi^x8d>IJ5gpXxP`q{kz_60FmZozHuNRa}_>aPm_opqpg+y-=O}hQ^*3s>lwW8!FxtPe9|YIFA$x?2VsKt z};e&n^H!nHpCmg4f<0o#7nr0ujq4(l=zs+}Ml4h7wG~?OLiweO}D30)?)9 z^SK5K3B-$GN96+Q5BT)?WC_hzf4ZFIM?5#EZzqN&mH6%Pxri3QpZ>)OJ z^}^MHH0=S>RJw$^xWG*farzZ+llFl$Rp$(8jN}Lj6wv+L5~I7_%+0gzcB_1D#b=}L z0Z>wQyhTO9nG&DG!B^@YfHke7-`2i%K|;``utl+}D|y=Crr|Tzm=Nrg4ja#PQNNbC zd71A}1cWI+6$XB~)2{Dcflv`43=4B8kf?++QJDAoyOw9ai4MNSJphTyJ-{WXR0F0y z4=R*nl+O5VT(#mY|!H>FLeuMiemt^+16bSw51a!W$5W#H!2t@Jc~ z!m>Dc*V|tqz2ZFDfo7q)6>zVeT?l*aE#xZ`a&ej=z}CKkw=y9Yrx{j&eY3BS{&6~l z{_GxL;5UG;cOgQ^gq(n|Xc0c^4Oa0X5+y{3kj2F~+JnJYNTteF#`zdlmf_}Lg!YXf z-$*mTvI2A+g$=|N)a&SYcccc%4XSmFu&vDgt3Ko6Hhvuzx5omkD@?6%+Mgba@sb`y zZtz9$uI!({6u?Y9788+8q+8X#NmK&ZE5C_sRk5opc|g4aeg*RyHlW&sAh3Mx;&~mU zCv>(lr&0vWD?b$m?OGLA1DbBg*Xf1A918d=pSu)p;-lE|fR5!iKK_Exu{1JV0*d7~ zBmO*6f;<*=DpQBw*@lIk71v`iM?2@>s15*1aB4thiQ42~a}s_dA)PYoDF$SgpDG4q zmb02;nt^ODC{(O2A^0rc#Q5VIw9vf+q$Sjoef2<7f@1)mrC+8TS{>Wzmt`)-Gss$g zItDOWjxisl-cUU-ymIvkfo$oQ@wYwdZzVEIW&=e)+wxOk(6+DHRe3|OTky4EVGh-( z+>I3GL-cjav%+)%b>&u)_IL!BU~u`ZC}PU5+I7-HNxM5$knF^AY8&kakLOv zOK?^|Z|Rpg7)YE=bj&i>Q*47ExmGbCxSZ9Zgn+qhZz@!5VL||1LP+t)7xjFr*qesY zRmDK-QZa7ER)KYa?LH4s7YAw_ZyPFCxxnj^ivxqr<+qJoJK}zQRB&BBrK!j+0d*hH zE+D&f%Iq@4u5i9P;^Ef_sjQ_&SWpf6jXiOUJ!A#QOBz64VoEUq?ebH?egS#aZ?GT> zsCQ?f->}b-199IIvbRb7#=$s1-vHlxyWcpZC;br5-(h=DTlCzvU=~om&kE(sRHH$A z1CTGzX=|b1IIe!?IQdUlae%&EfcmnSD&Q~B-tNNrvY2YH-T>wctT*U4+H~kPPT`!g zoHqx+eD4ZTzUsz+^PVqg14(?6^+f0rZ!ims=0WEe8D8Z)4Fz`)*Q^TapU|5ZptGfwYz33BbQ#fWiBQjkuC! zR+7L0KNW?3l)E2=8DsRZJm7%&U8f24 zC++bFE(aJUxPQ^}=mS!DAi_*caD>4I4o1h1Q4By~W+iYm5-6X_zbM2of$>mBO;qlQ_=7;^3O%^Y zNfZWV%uj`@R7MwaauLX5P{(0m4mCx&r%;%|P?hDGYG7ks$ZFCakKl5ep^mG$kkgCk zN@`T5h9lG({CIkix{?{%IRi%%01F0ZHB-B0aAz~m*uCI`>3(9FSy{8AlwDF?1ni(h6qw6v&P4oE7zi{!ofQ!1T~=d|&-_$lV9?ZtA5z7X>#(5EmaD~baY9E7^V~wNqecF1dSM;p z7_M7|gnmG~j%(L(cAY@&)9}|gJW9*{yr#m)uuHF#UE%BGWD&+ma-TAPr&ahg<{867 zD*>eRSrZT>hUXNgU3i_?XDHxll!c1?g=&iD4LN z={z86;LOO)|cmMB#cH!$}K*Byn zdnN2sbYOxjH84SUV?DB=sRt!q^agAHVBo6Pig>t&FqUD8So?-jkxF5!O}7ppHO=rE z@w^7A9xi+<4GC|8Sp!ePb2UTk7`kX;b1jY3uDKI9#Vm`fHjdmo!b4m!2bnZ zDFHjF%`S!SqJ%^AIAOtbbws2%<1nRaG%$QOXL|{HoHRw}Z-plUL$OltNAl{3zdRy% zoN<^euL>M@%6w2fxq5toAJ1n-)nTPROlDS*4qBQc=Gkp0Kh#m;J{3abG5LQ3DSsXp zaP;^S%5ws_uL&IoAXkq+slby68WtBguBtUDsEMj^AJ;`hlqUho%^Te5pkQYRdYouM z<(xMceyCw_z;aTbMP6M*x63(Qo+I;l5$0Aai1G_oVmNaSl^D*P5|jM05$2aD@fGVN zSC#!L*T)kmt{f zH6MltQYpEK=y$}LKdhiz3c5wmyTZ*u-r?5e#w~c9kbvEtAvSjgZzsU$Ay{;lF-+cF zWxmVhdt%WoqBH?}uD28Rf&!`^ec$7xk6a`5P59;Niv1Fz())@?Z+o18sTF_6(Ax(mz}4Z>S-wc{I2i&SYmbwm2_8Q~2_9zIUrI0v-HWRC z{BKZoJx&1AJ3^_~?u#e*!I30FpC0T{l;)0&5Y(REBd^ z4d@*T6=h6i8Y3d#SxP1wz&nQu2K`R0&cy`3bH1cdu;!Tjm$77lyheMR0K9jEdS^$H zPJ*`+(06!Mk}x;oTq;518H*8votS1khw5?_idGvLFO@LzsJs*tBG38Sg31ec^i=9~ zszStXionZrSx=Vr3A~wEc{eDJ8giqt@*4}8Q3XBEk}{cD8r@)NHYEhmt06ZN_o)yf zw}_;NsefJ+{X;qnJ5lPTt7~I6-Yd@%bJ| z3306~*JOT61QegJCMt4DEIxETLoh*)lSZD$I6qUUQcDafpVZBg9PzI(XV&FevYay- zUzyJmA0PG9WzswH>w2#98<++C3 z*A3CXn$X)xivn8^#59+4RSklluYf4Sc+dsLXkA_>8z?`A3f4-{<3tPO=UgPeO$%FN zLit&4M&5;pZWmyFz5tTtreXWa{EmQq)e4fILnVHfRIH)l89L!O-lfEM@H`ih-!VpJ zG6C~*D0^wrm7<*GcM>uMFesUSoR9!60CO+-#|d122)G~H{w5F7 zU!XtpXx1@A{j-!IZ(w?yzz+ADu&K$OUPY3dWg5dZQ)SXkXNkfx z|5nxj9>N#^OUz0#(*#s0tcrBib_wr4lNmABm;tC}AV%P9rJlnqSo}YGKa=^#$=swZ zc2y?rae_?%Sp{G@TQ}Eyons2%MeG6)z5ric+jVo*CVjjaVhBLi09Z(7{FS)?hG2sD zTpz&Eb8M%6ng=(7*KEnrp(I=F2h!sf3Fqh8H~)RTB+14 z$vlXaW$SCJ7=Tr@7vuwszJ|y(WR&~RIp71@yR}hWdX82NkHo#&Rb9)DGeuc8>^ zbd1Pm-ryRwd0pYJQ^KR_@hwTeGAf5(vUN}*TL&C1oV`g9d*EV4dk6V}_b@}TQr|#w zWz?^T%8{4M9poK(S>~Ivk)R){;LR(a8C94vdk7d?cmb0L`k@es zSp<&T{7`q3OrYLVp7+pz-2;xhNll>o$RS3b6whfEpTVc88paS9lQCz2aXq}9_S0oQ zY#3lCfkU;zJ_0&lixq7p{v$V zZ>cbhz@b#*EEN^PI0DBwQsJwsH6mwSeEmZS#t$Z@9##;R5tud;gcSr1>^2~9LMs0_ zAwixb3*Jt!n-Icm0t?C}uR@tCxSS@N2^L{y6ZANNFPn-hr1w2eu%YllnNT>Ot{50m zsFWRrwzre26c2zZu<~ld%rU3X32O=r-!iX&Ern+>si5IoMinrq!0?^oaWWT3-QG^- zDf>Kv=Ues#DF&YfT-M6K0v@`0%0m~MF6532V+z2DGN_=;zm-viPMB3Fkv#>u=+bH# z<`g=)|C=?1p6#tES>K`y%JYly@k1II3U(H>byYE+&^@#%4NCPZ@evn|i!fXS>u#&Jw8>l?4pyQ~-#3&BrFyz2Ej3Vqfa7ZQg z8&J72RbZI82r^X2C(3n^V|-P(xzJf%CJ4hD6mlr9MYy zzL_>#8q7U#s39@)Ktm$(qB+dEKtoBkZ3c7}} zwK2aTDkBh##}ubU1|Y0fZxF=Znpn{eM7~z5W3mUq*owRcJx*H9v_&hKZ zIBuk#!7c=U@Rvoxf=LMICRu~H=W+6GipR6&_>hai%AmBZ^MQNJwQmF0?>hXQj{^6)>MlcTJ1gW1{i|E4{b|a|LhM3GoaNb`g z9B4+QVLF1;1JXRG*u4?Oh6I-b$$}XP4rRt>L|Ixt6qY17A5zGSDlAGceI_$slm}ay zVP;g~J$@+6OYlP>(yUA166<+6!!nB!OqY?1|0|A{)0#kGH-h;vg7{v;xvGZg2YTwju}beWt`qs)-e3Cmt-*-4IR364s# zSE*o1Rc&S_q@>1DQK4Dp*{X(Av(tV}RHi4GLnGQOPduz3%uFyEQqFNkFfRW!ZtaZ)GGTT9Y@ zox0*u*{#541;#1b9w!*4cnIqhtZJk+oMWBhK}=MDmCJwyHY=XRW(B={wX9aS)kLgG zyET|2un)Ftm3b|J7_1<3eVQ?-p3C)ln-x7}vx3bPW~d@>vZBE<|5k3**@8?3HY>>% z6R=fbTMcl;VA+DBG5vz~8gZWr zArgBR9Iw%bnsjTOQl3+2I4yG**uK!Mbw+__5HyMJcR|%KaKT&`Wm97Q6-O4VwKZYBXEewocn`CK~ z?F`F|p^O%5q_@my##@EVsKSf}D-&d9XT=RmgY66sH6$iAXh=lfk~s}*YdkND8V|{$ z1`}X3+>t>ItZV3Da#w+O5md?7y`WYY)nICjvZ|PWGwPKJ9V^Y0czw)(hHBN9AinR$ zWK)Clelj9}PGn$PgVbdiKH2GEf{hLAiu5NlHa0k9Xaw6D90M}X$k4_B+z@6+h%pVW zhJf8;Mq_B^o`=b>3=b2GY#h)=-{G>kA^RG`Gx>)JCOU#=J$5&k9itdi=ZwcP!GYzC z7iEBh3={ zJ!s4qFz2BXb9XH;+a2>MacxGOWTCPzBojtGIFx;{EPAL>>dc&nvM;ghBww0w981W) zOa)V_# zhKI@Kj9;#Y$rhOf39NwxT~U1IR!Q8794vrr%RCywPva!@TP%Zg^>$?Z23=qS1cM+u zWDF$8Ip#ki6EnX}i1JMM6-h7YSU7ynOSu%3Cl-|Pd>i2}&KubVopMq9BI|Dq|Cst4 z$7y=RMRPlv!k!)u?|0=Ww~Q{_HNpqF4nbmesis^9ytT@CZHMQ8K(XWZtS3*d(4TVK z*aZYMB?Od>sHv{}?>*={=+2Jr!Q99JQNT{-*xe&+b7n_-uIU=@>~iDCyspIiAGmIe zq(49%sxy1Vbc<1lC-^+~#t|4}=fKUFCpbH7QbdSIbrQE~# zUk+%@SD+=seHLj3uI?vWUYBTq%2@|VjaWXkhn43^C&E7*gaX|eO?&L7s&PnQKWz7 zKA*b*^+I{d!r-L*CHgP4#ri4IJXPZPPEIHPJa-_d*s!qov{I4aFG=v1bO2TC>F$x^ zg^E#(FB0@cy!l2b&X+j<61~%u90+?o+!tMsdn0XG**;YgHt0!f$e~q}<<7qlo((*wZ-R zDb6gv=6#!#|I2;bAXC@tzNoro{gC}3d|7(l-}}c$bNXF*v~=GM?rHAF^|vCRr~i;U zJTrn1%fIoyk2v#T+0*+c#1(v4@+`-%IB`<@yroW6PX!p{ymi+YSq#dX9_dO1z)BpP_m=n_X#;7w~n-pMM2KO}T%;*RtB~ zpZRgDxo(ENp9ho2w*TGF?~jJUkx-Ui^RM)pe=Px6?Va1-684^_%>RZXO!J5N0!<(@ z2DwvaW~ybK_sKPC(Mqu#?+NbKJ}46V;>-BjX5*9}y9> zit2JcqvWC0+_13`uPp3Bu8eeg`1jXEe=Y)xM^^R$5;TA?N*~;uWqe~%;6MVwCV~@U z!&Wz92Pt+Cu{R_BuyTHv!IDep;Bao#7J zlKnr}Qst!9$~rgVRfg|X;wk|pd4$dkJ0Y=5abQDX0+hdqzy|oMs|x4(GE~i0i_Hm( zgPlW*%@zNOC6xQ^SFDW)gH5@4sN@?Y6-C;7h0G_U&O++g%@h_otf!8vMd?D}t~B$~ z{&shLM}RC@zvaQl&ciYyyVx=05q6v`0r*_15`eZYl_OBzFXjJ}641+nUkVU5P`pwK zR-%}d^TFc7GY+nYoeO2@+%Tli$|hNZrBdKwujx8aBlGIh__Y3d5-ch+(v6` z7gl>;TI1*>-9tOV{>QzYVSlSGb_uq1Pyv9k0rC4NoGq$%Q*cn*J>lFHx;l@(yqdjX z-wCzF;43Ni8)RGjogVdq2axk#Rf&od6@c4?_FZmUxK1hWDe8M# zz^*{uGvVBDwCU04nkjTEK1caBugkNfJ10)pJ8wvC(_~!F>G!HcUQ2|IazVNRY*+iR zfOIiBORmddcNu3KVaIVX=qOiJ9e~`c!g4XyCN$T2wtrjCsTSQ1+zYNH96YPkbclRI zBHy4~Bl7(mKF9ibt^U%_>-1OmBt(q$bJm=#pVvp#&#x>0b&B++e5`t{x@;vi>y}+T z;9b$UC4jv8SOUC@$yzRNh8+(&fL)Hag5uv&@e9Z<#+cqW)X?K^7kWH$Kz7CLs>kzw z#g_=0iv`@7L67H63v12N=PtNn*6&mj$@5MI>x{uu8V5~h1eE|=tE3*E zh7Skrnv;iFK4hViJ))>=jEg3wl8XYBIGg3UWms|GYZjGD+NoUgaj0Sv!V*IlFGC~S zK$iy^0f-qciGZb{lB@)+hAqY%uPTw^Rznuk<{S+H^+b<(6j^I-5*qQ(Oo#zvaO|=OIbrmHd!=-eR9m zI*+u|c`hOfnQuHup38mzIR8T|IThfX3g9;lnHi1_moVvG6C#jpiZe2Hzi z%%ca9;!4D?pUK~=>p@Eb7i00fttHuippaHtve{a)ISy^CmINf$Q~fPz05}Fdej7a1VX zmCAK4CW@nQ#*oFXEZW8EAEf~Ojo-7D91x`?2S)wb36C`#Ms?Vz!E%}_j@VjqXw+|1 zOR|1r;IVLG=;C3~ww9!@?crj4FaYVzQA_fS209)=Sw=>2rfYq2l(dZ^MKHXSraXva z_89Q!zF;kR0i+G5zKruxYsoRH)mSmez{l7ER7J+ABJX=tywcShuY?oc?{C*s!XL8{ zp-pAZo1~CQsAQWocl#BPHd8q{P>CB}yil3%-M|YkDl6KlJo(Yz>6O=1!Xh&*YE$Wi zCG+G*C7Zxe$wD7|GPSG*4|tE|6NC4?!nx7WTo zz$niVrYu5P{RJqQ`BC7%SDfL$_yA4$stWLGTT>oXQ{n-*GT~{7#T9vCdH%Iq4`jGSO?h12 zf?<#40~kX1_&rTYVetrzSwh2!^A3U8I6!S?swtZ+yourh51$H}5@Hy)5p7M$Gw6(h z&d`()1vKSN_y}vt=AbFhO2s+(40h)bbzU_&->xZlKI>gj!i!Px;yhCfL~K7FTru7y z?$ODnTm@Z0ClCTUZ^t2xbtha6bg~l6*eut=@WyP}9EksvXm#Ij|Eit=x zt;^go=frm?3+{;NG7!nP#U=OlO7kv>d&niRJQDk06FMu4K`6U2c)0#C&}49A;NmXc zfEbk?U~HX@)&pa7nL#msT0*Qb({*^iA!3ci8C#d(yHaTtT?W#4pmE7V<(n9n#BHNB zg&i)PFUw6axG_ecC2Is^<#ctKkrqCZ@KJ({ttr8c8JkIwAFUa#Z6TqY1q2WenzAe* z=fyPTn3xUMW2FMfcx=IcF*O-4VFnqq>8l{@eZ%)lF_FhCB@sK>ns#!+o2Ui1qI2Vk z1?R?U+NtK^cq(PBkf&on;vS&J=$NjiouM;6Mox>lN|MZEDS;1OF*lQ@ty0rgwKZ+E znwIZjClx#?1KM`CpM6uSTS1Mv9>9`qTCUmumE51gv^&s#37!y1SUqg74!oi8z zB*s;V}ju_`W zRB)WF?(!C=wd*Z0iPp~moEyr^D(SxF_zoAvF|$tCUITTE!yuwq&tWqtCoNj2cwND-+i!23 zdmKjh)##wcEk&oz*R9E;xyEKTEGV}19?#AEBsYS=;w`Kku-d{8^|p{>ZV0VI-IRu# zH0nEY*zDbs_vYN&)0r;rU6$@v2Do;d2e6gb4+_xKybTdmfr zN_iMTB(p^!4vQ=lxm@37`o&$}IP7t*iiLqPE$2ZWm&NhujL(la#T^i*162m=HUkAF z+e#(qC2$)a&f@rS25wVIamjoV85(CvW+;ll7l*}dNd^`Dar;-&J3>2}D5(i=iU}ouG z0J3SECk3LH1C1$fz5?c>akXh&oe;oGB^Lx5Yb9u*k<1Gbv`88kwbQ5-nZ-(37YAmB zU*B7l{p}00+yk&-c;5nL^Pvvd7yHI1c5MvHm^j`Dydx6P9-ZctCbL# zd9^%Q<84+9vuRu>1%jD_N;<*JJP*(aA4d;tNC;>~MbY>kzBrc#c>nH-9t&)4CU~f?+v*CRT*@w!VrgCRO#51+rAE-PaNr29*O1+At zgHn00ol33998yYFlAxdulhQzE(+TLzL!?co5zlyqLuaGuY)n8tODC+es(C_^K%XI@ z1K-)`JlResD>6-zEChNo_xkl1}~ORZB3s*o=@|5;QE|cXmIBq z;Ld2epbrWcbq3%J{d|cemqkB|d%hg+0_02quBZUPipGgQ9BJ*Y(ELuqP8-_f;8E>1JQrPwmw%IRCZE)4fI*Jj|Z&MatQ*H*o9^^CY zCT%Ur!$2XoXvqWCk_VWZTT8whwB&8o3X++(jyp)YtBTxh*OIKr06?>c7|E|#OTLnn zPj2=Q8#&xpSTwNn|AR|zT5^yke}fZp&K)q$kk101ha|dqLlYEWr~%J5$A@%&%zG)} zPfU8lsQ~`COT3rmiW`UAK}(KI1S>KC&Md&gM6>!nQjWOWT9U%%sb@D@jI;c6BWnzN z;v}`?*n9nSk4spe9Iq7PNfF%aOz|fuWI}?)P)=A3O^A!8Prj0{K8f#c*2m3h_arn- zRz)VOBJX=tup%=>38$J5@4Pqfia_NwDVWx#GAA&a?|!H}ZYqx_L`b7@Mxe4%l4d64 z+IuD{tE953ok~_@s+F)N&qp)BC!nIOmb0Z`cAH8kE*iK4l})CyDIq`_m2(4?Fw!iL zC*%NpJ}MVT<$`u9S&`8b6;_%Vul1L4Nr-9s%OdM95Yq6|ixE&~*Gm$x(-6}5XfRfK zX`+YRgNFg4=`T12XXL)uFF21enCMmXm(?o3>bCx}M*U@N!XKX$@yu{df8lw+!(e^B zzidbZD>57Nh_vwM4RR9R)?X-WgLH06I7aqO6l=3&ZKgKnS9yztZy}sfcx%v-+mvEk zTT3!lZ&%QEnzES_Hqj)6Khu;uf~MRl72wVctGf`jTQ%9;t|?iOfq4e?Kr|32gIIYI z5SpgMy*Psw%rj%;J_PKyYi@I(=mT6sIPVwdj5khc!n=3~+?g|&=7S=e`K&4k8UPx` zxeK&21vu8$l*iSSI2a$36xGbEou)h~*w$;xH{~htX06Da&g0L4vvJ_$wx*=8I2&gv zTaYtYGX$MvouxKob?cq8@Nm+QEZ*sd4fSdV(dXG*6ocSnWJTs}CA^sccg90G2HwOun@%WahUR;8#zZ_rb)b`yp|d3+ z^ckJE1D(*%%-ZG59Qv8%Zs~llolaI{Y`$9xHwa-&ml>G^i>Ax;H88hdQiSyXlW%jn z%wYXYLy}^nhX6o=Ko1fY4F=r>44MKAGbGqX>z9&r8EEHGN%=Krx}IdZF4`H=IT)>h znr%g9w7ESWF8(>6;N~1zW2p@^G|MO!p68s$0}fNj3DP!!6ooF6 zlJj#`PLiyLT2r>Na)O09YzHN6xVC|xS-~XvJI8CNYBEK_7@L)IYC+ihhHqA6Dim8m zEQP0OhbIA~Y1--5v@_UV%w}Q)R@(JU5z}DM49;vQPC`fb5FO26oTSvVbT-@I=-DKJ zi>?tS4I16W&}bZ_7pD~S)U@-H{>w>W&^RZiX=??vLO=&iyC@l~$Sh6hLXxQky$8=`V)MkXjms$8S$^r(B&thu>dud(33b#_MloNFzXeQ8NpY3Im zw=}(zuTJ`1g+H^9LfO^|c5ZvW|Aa_rdURKT(5oq7*m1Hh$$K_$MTHmA^_GSg(hW%$ z0*ww{NH_2|)*+>@*&8K(BiAffAPr=<0qTNXHNlU%Nk!b84EShl1?flKqBeB*?i4s9Bn-bDw;2nRGfVyd_a$hi{^tQDp}V+B}grFG%9xmDtAjzfsbY) zEtQS!RPye$R|&zR_ll5av=$X@8sVe)9$D0w5+2RxNHhjZC&z(BOyj{o;~@z$G#Wsf zX|yyRX{S-|PDhpUn6POax#PP>thA{-Aq|40gG%OvNi)EsGFXLaiiww|k|zU|O%ik} z8Q{`56_d)-?NsvabVdoA1x*7-=V@uv2p^3n=AuRiI8DHLG-?Hhha>EWX}l07!KZ<%uaXdS`dUy&&}k;#MU6az!Z6w{1$~)~;>fH&nnmIT?iP-AiUMZ_GDbv}9&Fmo6g`blBoP8D2 zH^no=bhgCAR`Xl-OWD9zCd3f5x=idc%QY!<4iJX>zI%jsr-70)5Xrm;+Tfda*A-I}#^%Mi$2%U{I!g(Y~0IET*M~JNM z0#;1{MjHog&yeyI1KpUEza}ns^NjldlR(wuQV`X_KnG84U$Y^q;jlrb;jAYx)~DJA zItq*PdFJEhYd-KjkF3c8IrYXf#lrJG=%)rPSs`r|Z7mrSSj z@;bn)1zOLgC2>~ItXnOKn|iEpvev@n8l4M`tp>GTNJ}nK0T#8j~DtAZ{v^5m=P9*J;%3bYL z^6s=-3HKO=y@!O2>~joM!e1k>O(pvz6|xVNS~l&<|KhMwxj#^OK$5_(p|M{@(m|;_ z*iI$yPKPAt5R$dVWhR~vtG^tv{sDyzpnVhp$Lt#J8bbRx*C5xh*eB>OuSwHM^_M1{ zonmZfLnBE}i=uW-eDI{doKXSJwDp%}^_R0Le_7lEsb;vQzZgjkMIH2)i>ct<=~AA- zcHq^3)zH($eI!fcu+`|i!kRe?<>-W@W?7ut;E{pNjTU~5a9HZsgO-G(7EWFK@ffS2 zs+o_|l&mV#lx1<@)imYxpef&!3V><|>sCbFP)%;MYf9dopsR&gKN({EkfvOW^AR;A zoHe)Fy`Z(O!Kp#0-$fu)HSG0mn(~e`-BnY*r!xp@xa(4AyFTfFs)q0F0z^##`of>) z7l8VuY05I_*ti&KMq1du0cpT#i0Pmy2c?5|ClKj=Mp+Luf_iYettlz&5Mf7P)3DS- z(K$@Ah5-;RQB#6U6aEt6#!TC-_p(yFOp4&iUdl6Qgn~w-S@O1~926HyO;e6c+w)+Q zR6tL|QIAGcxoT3bn!N9Mz`N5JB?O!vBTAXoa3R#DbG#Iczegwg;1x6hoh;|`^9_p& zrAFr~fzF8%1x5{3Jqb~hrE_vSoxD3uQ9?lGDZ-gq3{S&Vn@+fDhUR;8GBzt{Iyy&~ z&Jl6J*65rO=&Y0|1FgZWnU70nRXd%$J5@_gHKJ>+%hbk!u<0_hj3b_%b|Bfa5irND z=Ngthmuu*2nCyA!9^lt#T9Bs8fL622Z8Y{mk{DMllzI_eX0ZyexUI_oR6i!5dLf=h zRDz{+84&7aY4OvxX1F39ygRK-=V|NZX@F`->b5RJVcSF1OvtGX*75nWX|Q#`Rl9XT zQ^Hm=Hs8~fDN)uKH=rr`9Kz36&Sy?*$_+tNZdA1z(r#ngHBhZhs>vn^V{BH=%>`la z>q5LcZBgtNV)eb?asKzVs%f`bQ*KWKXuItQ++o){(;~BXat)NdLr``Pplo#PQPVc+ z4Cs0{1tZD6Jcte6+Xe2L0_|^W+5>9ZSJOUT2EeY_c23hmTOUdTSqDvfBptjv9W_w< z)imI>gS$R@Pt#J^W6}v}4Sszbo#53Bx722Vn)Wpde~oY$Ylc~C1ABMc6BBREFr0?5 z2DoMz7I1CvPHgbk*X%ROa)t)K85Q&iam@%zDPgV8rUTI0zGk0S#Cg&+XcqvqH47zN zZPj-^NNb`m!YN-;_$9(uD;!RkF_)`)T>)4VeFfPt){M)9FUQ(NT8uUBpweL0Al5zM zt4Um7tJ(CIhNv!l&4#FE=%s>h+t+Ni;_GWRY&BwTNK65%#=5=4fKP)}-=yO2=$CoN zei^onC<7ohhThVAnSGZsK~i(HQmD4C*$~wvV|_aPzOUIZ)pye#NOfEwHGfMpJ-t2| z)b%x-x-ZCczYOa7;h#K||6B}2&CC~fooqp&W8aQ?{WHPW>;V}+C4!nMFO(_BG>5(x z16mKr6uuUBfT>o#6j(JZG(!Ib$EQ zVJ!6G3{o9@Ylo=jDN?~mlT=@kr|>tH6?6-L&2kFGuE;=K3*8;mJF++P+nVri zJ{+u41fhxafA z?1J(S^6x|LVfUfl0JL4)2i+fZftUS5?sVWJzi$5FkmvZ=?fHjw`iOJRbC2Xf97w|t zqvyjV-lOhOPwZ?scYzJB;IjmOgr6+TSMZN={?QT-e%AY#;KYw}{qYij*~f6EI!J(Q z+&x|bANxr_*pKl|{S)p}xf9=V@sII=99KM{z!MKUH@b1&t;G8@LjRad0RpQKDAAc^LZXmHCIV;?I)!vvRKbghD>&KBvS7Gp>8!tAjP5CrNBjY&V$Lc!7x} zuoEAgR>`+VMnyTiX~$o)l$_Y{(S68j~fuum)GFWp}%F?QRZ3e2{12YivlU&PBQ ziF=T^M~U~0dqyE&c3)QFBN_LlyfxpP*OSCOVO~l6EQy~j@xJ1|q7b-NB|e&Q|1+@Q zOE35;iN9LneT~FlC-K)y1hy&!s#S?G?D)07up_HNK|cT)?Hc(6-d5w{TAS35zQJ;a z{&MYt%SV;Sd4J1j{Z03`?wdWmzbo`i_jekWa%Yc(y>HQPzKtW+Z}*0U{a*pf(j4}B zA){9bepkPP)78H(_J{8h{9T5yuwN+`ta0}bCEoYk_q^}>i4eg521h3XRAwZ+Y7^4z4w1T&q(5g4Dk#F(0g;t^ln{-IT#Ws~M!BSNw|9zbf&5 zt<=9E^>0dGT%lY`ywb2MHCLFYGVa%TV+A>{PnZmSAej1E3-$|>ryrMPVaK6}{@_8D z?=)sOV8HTL4hAUW0OAK)#zD$Bh|9quR4rnNm{b+;47NDH#>~nAw|)z@LzQ|csfWoG ztM`(@sf9skINWGQFjbPs-ROw0;~37_$S@<^4${FGz4pk{btKptBh@ksUpDV7FovgnA!l@vy5GZnufpxvD<7J zp-tIp!X=O?ha#2)?km z5USLHcUJIGVWS-3+{m;a7dpyD61oOfkv`zD*e+6&9ZqIhly@);;3IsW{Ivp+O4q_XSO%~1!#tyUg;We?G9d=D%m8ZgmG5FrU?i46A71HeDbQnk7XN>-A7X2yI zlasSyT-8g~c{-eEPh8at?F^ppHF58vR9~d5m-w}qdW-NxWH8gfoWS8ua>B}<50YFH z;|cqTRU_TxEedbp>W#3RtSTHV^Sa&SZ-(JOAv23N`BmNISGma#ck+4BZB^b@a=>cd zU~SqIy{*7|K~0|m-csN#Qob8@@3QtRbW;H5?ZQodM+xrew~PBgxp#GWm-O$+qbks) z)b)uFSahc<)RJ`$Kuh)jf*wIv_KygyEEQ%6c{w1GzsZqzEkh5yX5H}#Ia3v{!gL$v zGA8Ddje%SS%%vjOL^{;G2)@pQ94yH)b`yIU0*EXDsZ_?{$~c_MmyMoO1RUiE%hz1)I*d!SzqGFP11e;{1AD2**9EzAKPpP`)-poK&x;HIjPRwKoWD?5XGEP^< z>0Hi`8&!*di>$Patr;Axx>n1W@*pNd0F$8nmJwKzoqb%^$e*f307uTUj5n}n1e~Re zd|#uZYBJJ}mV}iIrX=k4mautnSvDu1udDf79qY*SVL`+{e4hs>$$*PG07;GooGs#U z5tWZscJXmpXP#9Ru|y75Rr9y7Z3K2ee-1GL1BpZsOe9W7NM%T*TgurA69fmz0Lvx# zBZneZ3wxBHw;5nz%S;d-BTdj+rC&>`b;dld;jG>Styjc)E;nG+UVc{@P$S@u5_B^I z9O-VFAP4oR5`j6gM~_q>j~or0Z81Sx6|t2|5JwJ07~&{F?_@wC-8&|zGrm+M2*#0- zlvJRN96LCJYov_;8yQBqY>YrPTEt!vj1qJ!Bk1v#3CaOBO3;3#mw(U$c-R!@$Z%?c z;1}cWAeS(U9Et#7JZysA&A>XkcTG?Vno)uv7a3zob<8M5xl}!Ff}j=|S-E`8AVo!- z6t$=l-Oh+$ye&bRdQkp58kX)5aQHrd{Cxr& z3qd$!;yV#dyg(4a7;nKk<|kfvRr$MA{$@vi65H&Q_g(UWD>4THRYcKU1>Pm_J?M3| zX+(Vr2#?5c3OWXr*cVI4xa?!_6t0+`c$FzZ8Jtc%*6&$S)@6UvLm&>o24__21}X4; zydry^hAMCfAKibJ#rEH%_x#sOJS zMK?ehW%VbRkANrM3CUOLLI%<(K0QS!a#9CxwZ8z!s^q|| zyrd4yG6K*8)|;RWO22_r8_n_Qdd?b5&?ZG};&QW5h>Czm++uxtn5fcQ7$neP}JR*l8j*Co` zprKiJ1V-2d;VHxf!6!09CDlpuVS0kICKCjf7za$m@<OmZG z(n=S-AsX~8_0s}V2znTJI|Vj$Z%5$@y9gt^MSnFzKCGJXJOLwo1dI@Optv>#8|gGyLc>YmO;GeQJ{sG<5>}f44xn^gF59; z4ruj$fPx1Q+!)7P46_;F!owY)3ke<+;}t&!UI;`e!ca{#R1rhD1SjNB1d!oNF}3f@ zSr|n3vi(rqL>D3mypUIWQjLhg7J?cwqM9J6Lf-AU1S;fEM0w1Wo1hU{c{&|og1Q0} zO3+xPA4@7|LXI(<@y;5QHY>QrLQCvL?Oov&ZpGBO9LA7ARfM5M z>=9(BMjDreMRen=wYzzZCJ3yM*L%`K7IMg8>3$Q$9z9<1xdbodP{ctwBbA`>S)7-; z@g}G%o=H`r!%BacR7XS*0v(os7ph5M3-N%*B^%;66mddypaf0Gf*-mGCdh#oN)TXS z9J-J})zCrVhERnFI<1J)T%Ix5PZ7;A@IeWBB`ebK6%*816d{7nDg8N8fe~_?m_%*onkUl~gxkFoC!xWu|I^-~pMca(Ocb3TP4Uhz69P$yty= zH(7%61O60s?I{GXv#%m0VvtnK{-=R4KfO;n%+jaK^6 zq~eP<$0*Lmn4qzW7|Z22xgxa)5Wevys3I$$r4=TqD{!9#0roLHB|Tgp#{|wMnIIrO zF?@`t#_lNsif^h3nwG^cshehkoL6CjrYU`!1JVl8&oDuiim2prW*lbEDFRxr$^=bk zI?6JD3F_=so1hw{uOZbeCZmG*n2(yEIf|IWrEz)|!FTt0CTK=h5Z??Fgo`B;1feHD zkHOWzy!o6hG(n3Lv4~4H(QqiDPB@+#yD}@^qm?Eo1)iriV%w5ji?U)WH=+Q0yu_Oz z_P+_h!$^i8Jd0SxtkVR|%tGq9nG%%mq*dyqRRn;dgmb5>7*s{&Js$cocpkk9G7n5| zExigdZ(TevoXO~0$$m2_5}8-7(N`yozHvR**Hglj+>MIMW0D$|w^4Z@ZHVhm*rbR} zT!Q0qC}N8|j;gBFOj2oIt7HGHVnBo(aF1a%f(hamVm;dM+>8BE36F`k;B zQ;ImnD41f5m-v!psFrVg@>@zexeP{ai;FB(awh)bgD zBxo*^RH!2pl!CTXiLNO96;fR_YVI;;Kz0==L3Z*cnuqK_@)%Er)Jf31tnj*d5~O}b z>iOzd^9g8TJ6lT5M#bJ?{7&9M#oU$Y>+Fp<&-GUM7Y&~4^qsd*mK1j+ zyM-pm!QDyFFr^D#K`F1o1OeAE+>&a#{Dry-&SsdPN<~z1IWqx8XAxC$ zE~*kOVYr1$lOXyI{OXo*1v6gwH_O;nen>;W zbgZ&kM#wtGXfEpvq*DZN-4e^VGAqh%rDb#??Lznt#85xw7aT6&wTSo9ZhGZ_cioUamZ3);rWn7yD({pQ;QRBTq zc#O;tRmbhu-l4oZ$h%YEo$$L|iQL8hwvR~@_xt2`lyRC2ll17&2``8tL3oVHT=9a) z2i+&c;Elgu4oDfVkq3uoC?1nvBJT6x@EEU&0K?;G!&_zXD;(7w)PJ%Wv`K4c& zpd93#1VM5!`6c}gITr=QWAbZ)K?Ejx$uHf?1ToV!L11>Q&64W2 zITpRe8E74i4O_>M%;kILSX2?ENmrVbpiNnEcbg>0CMfrLn>840CSd&iDqbIk1jssu z?Ig}dy?#l*QV)`{B)zv^(v>CkAffM6WW4@L+MlEYl5RlK8)$f4{#)uG#SMZPY0B^| zb+E1mb9Fo8H>CyQF-a!lP!V_lc#`�s}{*4#ex_q~DYgcgNJ2ln{0xb%1xbGq@8a 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%0D!tI3=IIh0z-tM@#*DZ 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 z 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�Gv#=d&edP^@0BJ?kyPHFwL#2m~M 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

tL(18scAhc^H+NjhrC_ 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

!VsBMlOIT>-`U16%8l(c+^&mKa}` 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

PQQwm+DBI5>Q9xP6_1gvY~27-gjv@!-fN~AT2m8 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%0DNcuy+7dp}#=eN3izhl?$EL^B|o$Jok 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Ƅ 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%0A=wrpW!Ksu2MzGbSb=G&UscvSnLFV(kYPC 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 j%#J)X`Y+@Bcgs2~2juaLe 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

0;F_jNkJziP7x^D){ym4zlP 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%0D0&}=>UyGQ=`ObDrCR)v$jhP)&x<8p{H8ZBb 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%0AR8Aq1GFd%gazQ5zzOiv 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�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�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 z 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

vcIrvB%+d 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%0DT2b-_a7@Ikuq6Wcd zHbF0^3&*$Y8viZRg?qov?phk+YTlv)Zi)G5DazO%Z!7C$s%%pprEzF^TxS!Ry*eIW zs%`#DRV{?u#i4dtW{VQi{=sCuOd6-02ETMj*+tf?kYJ-{0Qg&sv|*+}6%UiHi-_kc zJ?8O3j}=GvASNacWWHcv5$*fpJLqC-v7Qb1cp+p`(dX@sp|T9syY%C z27z#9#~auggDh1OLONGxk{Uw{NuK*KXs?X_43%Gf@jR5u{#fi3fC6Q3dyFPJ3v3F( zCUB`357X%7|G8mIq(X)}Qhn9gOKO>T1hU$Q?zLa3`l`$gU!Y(#U!1d&7c~XZ)=}p$ zEl?23*avf_PVVgFm*oE|^`a5ct+5F3uzrpk>npud*|3GUW3ks!+ZFaYH_?x9^G7)B zBsZKhn^b;go$9AWBF`f9xLcjq49|@}iwig>bj@0QjRO~QoTlim!TLm4b%kk6zB##D zqa=>f5H9hP&opPjITde^B$q*!`?DWp;u(B;$}na|bofagaMj`?R9Ut7W^+5{FqINt z6sz;x95=6s!Z{c5ZhrKoL#15Y1(u6jehV_qZjo++h6U<$6Hc6-TRP3!F8({KZ8$5< z-Jslq=%X$tfdw8YJ0RJ(I{Zp5%N4S7SfQ&i+E`D(F^e&ATXL_ihaf|zjy(?(-VF!M zOP5pBv9Mze7j7*re1a}vC+i*7z33aGlgHF~L-Kho6i)6F|2=HbsWa3V;$H_hu-gzl z`z5ZT^rCCDD0obe8M8v#=n9ns<+U$M&UK{xM|Zs&*Iq*~Gv3No-sZMi8AG?-2Vip_ zc5uImGtswBhn?e-c4f;acbCr?O$-PybKBG6Hp}2`LpEEFTAUNW>Qrfl%9NdyZDe^J zmTjaNlS|r>IcU)+z}h3gGTb#HD+mJk2%DqAiblA-sm7{{$JcNlUqeN&SVW4xW|}D_ zHLXfot)(Q}1Bx-w>K{I%%gG0YuNh)rXZ^$O=0H9~V6n)ql;n$)CwzOfD)YARKu?cv zM>Fy9@*N7H0UU~+;oSr2@6Trv1kpTCL7wP8PP!`>!y^AGqZdAxl@1Lnp|2t#{gtAJ zRz*T`9m1ZP9LZp<3(Z=`*>uagK!CF*^+<7)IxG>NAhtyxqUWJ3s%e;Vo<#Q?QSpe! zL(ng@;t@jp)9DAT3Cbu~N5R7AE~s!a4Z*#c*lGDk8F24#CLYSOJd_%*G9e77PnjoT zSoBfG!WcM`HY3|nMA2eL(PmVdjRvaKM}P2OR-un$Xk#)Kwu-KN3rSeepC92k&&vZ5 zc-I3@M^2xgbM*PKr(-W1uicy=Iq&C@M zrm(IcIuPl6CTgCD3$z8A6CI`*_XPH|AR%5c;V_9J=s3&}Ip=Z2dH5loxg|H4)xk}{A7^-!=kt{@LQe#v zCT;+m7V^0<&Vj%!YT{n#PAsO&Vo6ENhnsZ=ZPCE6>gYIbUE z97u|*3=pejgjz$7HHxiU<<)eD8l)?2rK>{nOncfJt(<9ksag$aH zHK>FT0**IY`h*JTY@(+OZ)y$d`4WLppPMA4)}&Tkou*bur(N&s+|YU}ttIRr(V*t0 zg>G=bUhAnU5(n_D_l0g~-6iUjRl30eyVHm)RrmvJn;qZ<{-c%E5t$Ji}BdlP- zFI|0p?d4NL5gmZ9H<~M)#H|Q=U6jO`W;f7eMM&S@&FHel^`?BQ7vv&6t0@(+m;59- z4RLi6_&_}zu`Tf#9M0I#i*ejtqTt}M33g0JA5o^Wjp+<^L$S#9_Ihb+%D94@2jdDo zM%r}hlcSoBRM6gTRQYs9YYLtI*)h@6AIu==LB67|YeV!WUrLct@yr=-tn;)_XSaHL zowUuOvUROmviTwtEMa*(j z{V^WBgSlEfaq@sxr#ZrkvCa8nS*WB~NG0}JyJqk%@$IHd=tI6MwL4es&^oN$4BE|1 zp40JE(|V?xRca@DDhei1$Grhb)X3IuI^?l8q4Zn2WxzF=k3nbtHWJgKG!|KR*_24a z3(`=fPFKW|RHk`R^H@sH-Xx@TiuuFi3%MN2fJKj$vr;bvJ_r?qSm7_vy}Fgg)8dOZ zmFtn*xyw6i2qPd$GTf+#T-6~=K-}c6@Q`W9+2*c9I!w9ETjDhgZ)v+l@NpfoCM4W+ zcEIFCGTx~w#6_*$szFc-Lb9vB$Q@kdP07ug;MLCO=K7nl0ch-vGzh&@E4DqQm2L5r zAg=Y=f!(96bl>K?Z9Pds*G9PzD6eNl0{)%OpCmFu70tLAiYnURH1s#EZW70eNQsoBve`9~U9p z8BeJa${5zJO}#7$hr;MtD$ilE1I0i*aksP!8E*{HJl}#F;Vpxq6^`M$>*-pi?^!bk^==fllo_ z(EUuudjkO7p>H#flLWeFzfRvb9?Xw8KH4|kT40B92iHVMt>BBN7XMEPCx980sYso13i zFM4)Gd6Z>%p_h#FdI{u;*=A`TInz8ub9XK}Um5)-$zGFn?DJ@1ifNPbzfv1NO336? z2`QkM)}xpb^x^q82?3d=juz%&BmjyEneL`*?&u@aygs5CY*EN(&NL2AUNmIxyQnp}Bm;AH~ z5sR`}0n@;maF?cW7rNR5VRBf>TRBVAce~>~SU5_iFtufb_e)ZGf2yEc5iPV#4UOdV zQe>GL4ujVLlbnKNU{^@TVLF&&;qH)Ibhqh>k?dm6kDeCX4!ADI2{J*OnIQ<9l44ROk5cFJb<3e?OmR)x1% zNJmcgw`0<+F#m5OK7e2gk}&6R4y;u^Yws z3`RLaQ33U_qrEfAU;;Gq;)6S+VC-(GQ+ao$mHj45q!3&3lvu_%97XKi$POF^d1Z>u zWXmYFSOi;MiK259M|l=|z3%|WL0$nHlNsP_R-t^OVh&+!dDloFqyoOiu|Cc!+7qgg zcjF0~RC3B>MQex`fLM+COf%6M^+apr)6^<_1LrA-*G-K6>MJVr-o&mZa}p4&VVN&j zO6gdGe<1J9CnZ<2Hx{@KoSAtyO);M#t^&%n%2kk8=>O&Nx=d$XvHorbVYqoWlhAAi zn8m6OTq7DI?`A7f`w4}v{^>75{;w4tb#6BtR+B=#m1ENH=nZpTBrpn z_HM0aF9vuziP4u*IX1z z+>rG|pXH6c*KH@pVuvddeYVwxRFnSkPR7{fcH#}#h0~Gj%~retT@_x<$F-05DkQDp zPu8$!KQHnA4rNH`xj5(x;B?60m@ki$%@a$}6yy}HYYp)Y*m%4p794vhP4ATDpMZ)R z!xn|X=2Q1Us6bwRzm0ed4E}lS`W(y-Wdt;&TUo585(^X;7%JitSHLZ_$NV4Q0HD3_ ziHOB~cboqy{Q5n_uRr|i?=pUA_P@LM#q59E_@yCVJ$^m?dx2jhLG3#b`WyiO?)aEm zMZzKWAaX^qB|&*UU?KPyAfqAPuRk&viwOCvLVQO=xK&6b!#_<;8`crV9P*KJ9ID$9 z#%dgrTJ(W0Sy=551>7n#r56krMA&u)Wgv=?CmMb7qglQ?<*5U->y|R0TB*N!GRsG= zRDn_H8v{&D0w76 zBqJv(70GniVf-Femc}0a^=i#~z9Kg)ZX<^v7KofT$7$EIiZEui#c8z|k&L7Q6W9nG z9L?Z{+jDMgAT91$H6enCs8cv{7nD#HLNt&PRmhz7om1!uO!WA!2Z_5ZoCDQAVE z7&nqMUth|;YP2X^MOIkR9A$itcjvYo8-J@Tdf)dv`Wmk7{~4mVqEqPc%uCen1Y? zjx1tb;AZxx9uu7_|a!;Hk$yG=*gMvm1}xBabhtjZ}q z^iC1ax-t6HJM68Lut#fABvIl)Y-JUq{~%zqKC_9~5Efeqvn3%@FF~M$s~ntK$x{b8 z^k!l}wj_^glp;A-1mBjzpIw{3Pia=>3L>4A6{p-htey0se-eb>{d5uSX%3i-&j>)JVu}5NWQp zqHytpq+027_Ok#&=EZLQy!}*7>AW)GJyl76Kr=6%^A~JyL{wW|ROc_+&l*59FShf8 z8I~La$hXc1wWJxsv+b7<4mXjKQCT9TOVI^&AJBd>PQ@IeQI1+W!k1#TyE%-d1;@tV zZrbp}q2*<=kC-8}Vq+T_PTuU9v^&$PR)fAH38fnz{Zqa64=0xkMVOmH3O%o8eO-K( zM@)AXDt93slQeow*w>9Ev1=^HGcDLkR4di%9CwaB730ZPMF++lFpA@vwxpCmMmZ_~ zW%-a2SXn+C0-@Pslwx~!rgl?@8M_;k$W-Fsyz2a!{yNUoxS5$JoB@$?;AeB4@Y81l zXn(!bV5MwI1x6dbQ}#t}+$b z%2aC;=?N;uvzZ{f%>-2G%5L<^=cMdn9if}f3`2SJv{X;X`tR2x!$W$x$BR?A zU*%>4WitrNuJEr07MOw%-}>E~_PfXW-4jabu7?c?g*%Y)t$t*M>6Nm6U@rTc<2Jg3 zd9ZBpb1G16I{8iZbH0>v6*Yq{o4s?SoVzu~ImXYKBuC`kTB9DbW8AGNpwJW1XU&di z$^OGEt+c^9E$a}O@R$9G$nsS`j%`IGrKU5c{cbS5x|1OTtHw>?O|oLVE&LdyM}j1hNoNB-H?rYeCNL5F zm{d}5CL;GTSXcQ?((LfMTZm06vW!r!gJjav_OF=0D=3m2vD^3 zlwEoiEmk!Jv(;cW01>#=eqL)>UBkSp^|`hS#Utp}P6;Kru48rGlyHuEjfI7yi_*;| zzEO7KA(-$7(EadDJ^nxGyXpxJ>m zYhD}Qtn?~}D_tEZC3}nrh(B$(zIV}8=(l$L{wH%99#z1nPPGcHZ zyxE^oHxdswQP*cWBTtuWrh8ddQaN=dEu0AuUU=U0mEwOYUBm5~MwXF0hkh%EEn)nFjXa?s0qc zsDTK|I)J_l0uG3H^-jaUtLMOIBlU4QU>5~TRu}^*2Zbs{FohGiK4cQLrIZ5$6kkVm zDwlzeG5XD0XiEyaWw5_B^k3ypzd{RO#!-nv1JvF@%bRu7n4mu^Ob!Vk za4XOCHUO?E@QGy0eE|SACdkALuI4V*4d` zex1qm=i4wq3auMpOwI)#Hqws0ZV*n3!)jyfl+hQzsO+*Fwz+CwoWaa$FLn-qfwl(I zT($RSn62%gxHXwtjkq0UnXC3>m1bzeY?1E7NS%uvzs#v&)-{Y6vCBq(j>2hIb0{rL zWHdL28`_;71agq{F|Fq)^-4{Ju-9xKqsosmnxhy+h|g3V-P%nXc4NIgJ9NX5lCaKr z`qD;}n{ml~x)A5^xfds;r-BH@VLm~xhtZslr`?3)sM^V8fz7PcPLIPxS1GJT^_}D< z&+b;#!9z~1{Kv&}h3 z$46sin-!-T?ypTlbqh5vvSD&qI&I!_AT1GZfkPh`iPE~vW1jW6jg13?oAyr7hHn1KppGJMx~=gm-wpER}ff2$5nJ(~gy_;?1Gkj&!At z6p~TL-89=RR<=Eo4foP%MhUGDSl~dItRqYSq^wRVwoZOdMp3m=shB|7 z3|ZyFo3uR#T(OWhHgFJDMsIy{$OUoya!o;vJVikqClBeohq5t-Sy$&hj0!S3Z>TDx zPw&QPmsM~ayec~X5j^-K*)kG7H&;(6+?nZUV}LA1t4Es+92Pr`CY#P#G=^1oCJV0h z9JQH=mdj!e*yYf2vuTu^8w1PH_0Li+S008&EgTwd){PTcXjY2IVj)eonOET)Hk{KQ zkC)*^*T!g$aI;3Ac$A78@(E4Uq87-?x=D&s%Zg@~s(A`eo80w{f(a>Ln&-JncV0)z zfm8{IP4PCo*7ySU9>brjgRF=X4w;zOS)K&^upRLX+Rk(d=DV2!G1qb&2f4ho$uqj- zbGc4UZmwPOd8onP<&x_(QGzeGJ8vab70!m)Y#}?mV*rfHN)5dy6pVJOteRCI-Mu^n za^P{o3T#6YMh(8m3yH1W3(;JPvRi?>@SV)&vLr?meoPa)0?32^w$o6!l1sC)1C2OD z9j=U5xs;=*HD1G}5=T*{8J40TIdmsSSkI|lNkJJsP4E=iscpo2`kCDr*|P2`g)i7C zwgWL8Yyq}5xlPbkwx>^14c0a0UqBJYdrGD~Pm{c%HrLI}6(v}6?dCvDj%e^}=`jQA zn+Aud+y;l&O@nV|sO@+V!sLFn+(FC4?XZ?)uG&Kn2yGaZ<36miS^NBM< zCeA<1#4|$@G9iPRuakCNuXpn zR|CuvIw5>Y6Va3dTfkAJWccGh@@q!RIX)U$=2@3Yc4^2E3PVc57!(!%+gOrOOLmmn z9cTSgDv}$@=N?bVco^YO`D&!_`T%J^Ye>M)#@hZhwJMoN$;1TgoK#yPCWDg6luS;T zRBfsqSaY39rcg2^!7q4Y?ckb0Dw)bv0FrZShU(WeG~#JVI6Y{y>AaYErZozhX?2H7 zfM&sF>emq6k|WLJvz9jGGCMHeLDgAQtwQH3SW9-;z)DB_)>bnR;%5(MVnKNxR_f#3 z8Q@neC{N8w7f-Mf|Du7UWiCxO2Qt@n4>!^2qYxIvsJYrz&V#81Vd`pEd3Csu%8Mvk z1eqp~x&%mF=qeMy(pd$>x_FlLuCk#r78Iwv-c?=?WiYNJNI=!<5 z);bRIO|CMxv5Mb#9m{bLw@}+r$2tCSfOZY}Z1h;M5<0o?ETUzbtKOMM(JTmlx4Dx8 zzf`}CqT9OCT9eXR)dAd2dTA5K2x0C>t5@NabR4xEu6hSd!-ncv$hc2{3v`88{FrgAD|i4 zAbR0qLL)}JQ}xmbh@$1iA6duEI#MHC@CalR5aTcx`Xb;`X7!T=3r79NKZc$}%2Z8u z8B9Vj15pd8!7<*>V!NII23zN;?c(=dXML#oZ2 zDu#%qkRzjWEEQe$t2iXPy-LUhsET|_#^MT1wfPCE*gf%(av!w-GcTt;q9R|NiF|da zD4LlTO`PUYzh~t(MK5J@6XmrHQ@N{eJ>k0V6tKgTgv)9nCUR^|DQV|{8yS={ltG5P zS8lqU-hM`NtE{%yG&>!}1S<<1K60NA;N%53&-wJ-Yyha0-|2D(BRf{h2EycpFyD0LZWg1w^dYZck8io#AXsJza)fq# zTer>jdA5zgCVhRE$aHkCi&ODn^;NenMQ&*f;J{Mu07t#g*ZF4Ii|&n4zN{6*dq~<% zaggP}Zc)*#cB`Z@5?3+_oxU`ykzNg*ucX(~_SzVTS*Ienl_ZU2xJH&CZF7f?VyTQZ z5GpD9iIKXAn!pUb0K`NMShe}GRl6ChRyDU%grUmZheGUj+D^Ub9cX|AX1HgM48~;M z8IujX!@JDS4BXUQj2;oQZ@!$7W|zxIlUa~tqCwhW%>hZ{qDT55(wU{pAuQe0Yy?#f zA)P9Nl784p-+^>G&#FUEEIFf6pQWQnr@$j={QI=sl|Spa4vEkg5@ZIkqZxWc_o2iy zsDKTCQJIK|wG~u7#qTtO0f2Ki+?5afo1C7yOHkv92aLY10x!Lk+qVJa%9rinl-gH) z*C{)=lbKKtZP3kzyBUTlo=C)Jos} zBr$Y2p&W{J1<#Qy=FumD%r0sH%t-r}g@h0T;+OvB-*OMawfd9Y%Ek^YEse7m}a&nUNI_8q+%N1YvY|4EFCF? zp~=^v5u0n#S`zU`39afdGwaZnm`rtmrDT0m)pYmdsfwV@RYQ!BscwYm8#j}R4zDzq zN)QNi;;QJtDMk%qNtVl$po&Z<&FZ3xn?uE}9DVadAU+h}$UHYkO4@ zF1uYBw{}&yPZjqgmcoj>Xf7iHCAX(&LP zaHG-Y5q_tBH0;VdnOgnK78mzg*8^09D5d9qEIhp{BGBz5bxt}>MtY4}?Ivqe2~IP; z!DsB0f-@YR)`*Kc?^x$B;;SIQeO!UHc{}G^X#$i^Uv1wfu`c9LIcmWDE?9%lIxurV zAR~lAxQn??jW_0K5)wJjk;n%?zHyQoyN;?JtKa&!6K=&E_HUj)z^n3 zx@}7v;VhexvS3DWVOb6;G%w>Kx(zz%V%T(gh~o(Uz_Ctfi@pgArGgtum@x9{-H_>x zxWquM@#t9-tf3vqB1)D^nZ(~@K*||$O6by54=7E^!cJ*nGNxR?ZX^u27=7k_Un7ku zPmH9YrT_DQg4AhdTJ#;2PmjL)7@HYVu8g3MQz%!SY`L-meG@-Xu^#uOXI2q3%e40_ z+MWf^BmEOX`c`f_oVMkpY#z0gV+&0 z>7z&L%fZF_^gE=%}fa|S-Ikin32q#4uEuf4l?Xqr{X@>$j zL#+7*<}Ud6ZGL*ApdvaUHG~*^)LqPn^f)vFC!yD>P9NX`AK+MD-uL+WNImM8-uIt! zauf8?r>DTDCl-I|W4_e454qG}NFz(Y)-#s%!m~$glRb+n>t3jQ!c_DUcH!8-~J!9+9Pb(F*$E zTv|OP^;nzOl$4NkRNq)SeYk8D=6%S@N4?QVp_&1D0>_YgV<;Kp;7}#Z52zl`D3sMg zy*fa!13$uzRADcVct5Qrgn3l%lb`s40T7&B(L>t#UHumov#HmktkiXI<>KnIw)!`$CXQGpgZMl+nXtRQvp%W znTe8)k-o?sC23yC+p{Dp4XANmn*R>zZcVO7{yRR{cV;BPhDPVPG|OrmlId*Sy^2_R zueSO09e1BT4ePs+zFX=Y(mnJ$iqP*Q%@^*J`@+d=C`Zakx`$pz@LZ>l+9r8$^lX=I z242eDFAGssK*u}~nMK~Z1AyS0T|J-_fOWc=GcEy7d1bm198}QBIp8bkl)`ugoqh^B zeW8L*6?A%;@4litRdlB-LwEXo1)VDBR6(bTWrt_$%CqdAsi0E@ohs;5L8mJcoqoT9 zP8D>jpi>2%u1IwHMg^TJ=u|2%D(G}Y zqSLb#bgH0J1)VDBbVZ`mS1agLL8l5jRnX~*M5o`Ypi>2%D(F-}rz;Yjez$^76?Ceg zQw5!_NOXFxf=(55s-RN^ovui9`bq_zD(F-}rwTeRG!7~{5>Uj@&{aW!-naC>e_tsca@J3oH+{G`Np(Z*XmXn9CWei(79zTw(sUi9 zbO5^pVn{hlO6^d3>7^X3oC8buKM_F3=_|914JPqwnOyOwZyj6uIN0iPHZ)7sWp$-L zU6avvUZ2u-)~8vqNXLrY2rf){GbWew-H=7YMv{9{i9yCG*-b{`8Nygs`bX|8q$ngI zfb!msVL#=r3&*hwkLO_(yX-byIquyJk=MrEP$M^_?DknA2A7{p30iZary~(V=?R$N zxSqjK*0Cu;Syu;T9f@jE%DNkEO6dm>nsID|^3{mUcLs;a!62#WE~$^QbI-JyWYgAN zJm3gTGycwe6hJ%di5=b3rMgTuj@3?-cBL=>NsjapYIZ$To;jspIGS!6C~fi%gmbt7 z64}_?1X|B|wS}6Z6Q2pKUC!o{Oo(1vz-~(D8Nx?g`VkLwVe~JLe_h$Ai?DevA~o0F zel&p4E+<0I#jxwOv)eA#^ApdRF;ta!Oji0uth7vMrcH%&MR1q$Vnz?UTfde2CBv(3eKot}x$&~AZcB6BGzTZ3{(KLEdMyn> zSiF)!zm8pUFK{)D!P3xWPl58DUaNu*)N|y;O4z&sF(~dxO|7C$wn_Y!o9#B+tkd|_ z(L?SUwoqkDdJS9I-O54NZ*xPkfGw#FNd2^(mc$ckJ4BdX`lk;CqLQ2p4_>aD2XD6? zk$7A8P`XENRc9bVfcuHI5_SS(P+1X>Xq-IdO-;MVVL!sJc!VdtA_ZuI_a54)oMso$nopY z!PpEWfrFot0Vn8Rc`LPgN*>d{)q~Er$s3+#r%_6pgakE%GP-F}2nr4OPLI97tr|ej&SkG>~D*B|F zX!77xrvj?k>8L3jDca&uunLb#Nc+IP*+{blJ#4gv?WBG1Lze0*bHY*WxI?5;?t*SD6dRIo8*>DDP;VugenI1^zK*<7IAfi{4k-2bMi%Z{KGhgz& zORLky)wQwTroqvG@|72N@IqUN;`NM&=0!T17`1B&`qmsc?a_!)3aY<=n~gBwV5Wm8fJZ6I8Gjwn}vBVpG4xZcR|KR@3*QabH85 zYsi@jh59;*)3kS+}o-u$yitfxugQaYjGjivgOQx6st~ML2QCbcx!#QEoifCj&pyz=+$>{z8yUhr*a9qDBAV%%&E{scce7Y>cG{ae@;`; zba0-%?C(uGu$xX80(RQ(&M||Mbb!Qy>cGHt;3oLj^L9vyg6KB3>Opa^AI@Hg0jN;r zoHJy&`c@|oM7d^;ph7*=7u_i@)^!<7F5Ao;AB{VIqu&r7kACu#9BR~YJCTHUX^h)l zdW&!LC#IPq=J*Uy&rZ(q11{gu3YXs{88)YA`IJj!1fOu};Xe;x8}^ilP*->_yZ0i^ zxthG=;c1G_kdpOGBBe_s+J~_mOzNf_mOAyxs|m1Lyle0M>8(e8AFE zsQ}jgp8{Cwz@G44!d0usCl$DA_53nimEWY- z23JU58eIMRzW%++?3|CD$rAbQiz_#S(r1(X^e7whx}QjYox|9n-v=ZvO808hz&uf8jLbE)P^l1cb1PbMGl$-O{!?a zTfOsX%}zghP%4$5rekoeElyios@9gGQYk&nD3URZ3=K8PmW3g$jUng4m;`OAXk%MF zKE|#p-?O5Pz|oifY)}*9LVhV-jyzrCNZ0(kAN9lWG(nCUn~;#Erf3bV9*HufXN^zw ztclL=#u09-jw_hN?xa?41aE85mUB01c)}**1`E)ynrzB4ykE*dO2V2XoJL1bUuP`OArzwBa_t7t8)9=!do+T*UXW|Q=0_F+6; zeu`%91amp}JQS^Yhfu$Y@@;)6tF$*g*Fl}@AWGSMl&%G6TWuCC!_(!HUUZ=?O3=58 zwz$>%^{m=Q-MN;a$}KsJ0_Ho17a}A!oyi8Rt3@r&MDb$NLLvtoVYbY5?s8gPVashr z60W2pR-yp7i(Eyy%f_XIe?_^uOrPwmk6h~dw71uAbd7r3@6p>%F{8K1Z)5A1g}2cd zd7W)T5^m%q8+-KjCaRP3@2TuoR`Qd_Nc#=JYTR9$(9AZYmTj@E%gB181b}3FPEg2- zwxiYibXM&%t_OCaz3n`VUkfcv`5oMi?55Hl+iiOep@0=_Z*%b3tkU}QTwH+?Wbd=R zc((T8%OVTTGLm%pB*Zyrw_S&JtC}Mt^m8)pGP_mFD0l8q5k($U1QuG_4>-tP_`_XsNF&i1oVIhnE|%zEnZ1*J2&^2C>w& z6~wx9+psr?rM|v05UXMu%C~|C!nsO*6&|hMdjmt(6>l1zieUKd4+ zv2l4F@y}IY>oqyzc`%pm(NgDDV5=97czXNNJzDDRD+9JF9<5)ovh~ax7`3i&kCwXj zs==%)+@qzwt{~RyqG(-ikJi^Ji1n-TXsK%}h;?~9TI%ZxVqFu6_4Nv3{i+a4U0Xq{ z%Y#_z>k49B6NvSV3S#}L5KCQKL9EMzSnBI51F^2TS;Na72mj?aFl5nLmo1=_b6vXo zU7dT?fEGP)*#b&A*QLAP)!SDFY+ZBi_o~Z0Y54nZVART8zJStPF9J%{wO0*hk4AMEk5x0Ro7lMh;@a>lB%yO zi1oT4R^4T`3Lkg_BUatzvkL2aVHK)tuNuUvyL?t*T`#Oc^>qcYUKhkFU1r33{tfKM z%3r<-!+b9$4Ar$)4Pxal--Kbl7ZZl+>k4AME{Juxt->F^ff4Hpw+hv@R}Era;Z~vg zx`J5O1Y&*s4Qv%&;fSTKtsvH=d)|A)nWet2AlB=GSixns3h#gNjT_yN#lBw-UeYY| z{gQY|)wNd*Vr7xRfmOBi0qZR7YKV)gaatzEnqjePtllxBCVc{PX>ld^Hz+-%oShA5xb4 zah?^FiR%TQEmXtb^~q*kWWN}bHLQ=)-IG-)DE(*zd06{W-Zv&$Sii6uu^N8XloQ=o zTmRD6##=$@+y_LY1MfUVvef~~1V*BJa;vtJ=iW zDU4i1b>s>wk@%}%*T*FO8Xne1dD5lU+lZJH_9Gif)lKHE0x2|SflcgFZ6KsMSrLA#fw%ZbGPr{q+<}|Yzef?HtO)c2cR_}lLw8}Q0J@94xT&9%p zTMH?YV`Ow!&7%q)}a^Yk!9yk)!Sw+PFm-y>8VZ@~PT8TnAQ>QFTR@QB~3p zJLz>uuZv0IwO)sABZ1e$?&eoWAMciG(u8N3R1s@40RI+Wyvf9nLl z=ZE(oQqJWSwApFpzJ2iz7*}VaN#WV(@02{XVCP~o)}IeM8Bl-7vHSe!vl@G3ZargX zttX8JiXL|9-ud1vnO0w48G2X+v3|uI%g=tGf>^I1 zLu+qH9@MoJ#JW6)rM|8p)-~bl`dS6CUJL(UZxBmeTS2VLgIMb8D+94U*VliCe;!X) zAV)|JA4KjD4zE0(uDp5Vt!9H!Il{aK?BxQ#3d%?C>sOIqMP-36;QT7${OV&>?O|VR z-+tED`XwQ0#j$>?F@8PVUwNx(^#;h$b}g6K(DGo*%L!I%wQ90|bUqwl{cS)TmZGBE zVRqe$;XS=wuiUp%|301{ch2!l88{ZyIph|;Hu!aPeSR++P`Ry(Y&zP!A!rwF5CXv>Da+=n@{i3w?B(*Qr z^vkMDx9O@fBPx{B*N4q^lQp-8vp7qO&9at+`1RRT>6=w)wN_P`Ll4fiIm%d1y83xG zza96Muf+7$mf+5cs8W?xS!fGYWl_`zf7T*`)EB3|toHC`sw}meZD~UG`DIk;MTB{LJZg3s- zT-tegtnzl7(y_Z<+rWX1w!t>WIHvMSIzJPS)~3?`yd~UBd*qq7EeSrVylqu`#q0vN zQOzZtkMT+6ZAWv^lD4;#10DFFoM$Sp^zU#ALEtETihHhwgVQI-hLm^1~hmWAJyRme^lP?P=ojs zsaL`?mB%qfig`Jv@^)0o>s*5g2aZ`{$6|a@c{|=5ti*A3y!1YZVNTHCU3jMMO2U&I z!|ybpCYLpMH}y{0-F7M_t$g0@X%1GW4c^Ov({`_&j>9t?IMW=gC)fO$(!aYGf0W!& zXYE{qJ1TGI)n1Ubhi@v6V=8q<#d1yMaY;1?JO;gI_v{3qQi{74SMS@Af5;auy+cy( z;0zD@I5NSehx`H6U+Rlj_I!2frtf?;H@)0*cOpZDdPw^9NgU03U?v;8K|3kOF3Lm2ZDfy_V~oPk6+OLJVqk5{Va0H@1gUx$bE;)utsO z0MvEU0XX!1FPy0gH`xrkDZvfT{w&<|vl7s#*;?9h!~3}5XIpC$&apX5Y6G1&7tW3T z8@_gl&$qcYKLL%{Zv&Ye94)Y@JzPlDMYhluCGx9NHG0fVjx6C(F432#(3mrMus!F& z_Hfp=v)>+rQ&2moXyzI#Z;fm;Qy>O+@z6$60swBKc`*_yv z)&$@BEw;KnT*H;DwKcXj3D?;=CP>noSg)J7P2wAHu5U>2m$Sb~c$DBT-)NiLahc0w zzQwjC@|aUKdY`+A?cBt6p&B%kZg6Hns=A%#Q(whr&Q0J2-zhIRH<6AYP%8Sa zhu@sD@3TF&FA4W+{{Y_d0|}1u{dTY&N4fmuw_BWq_{rsley_Wd!(7SX=Afi2DamQ> z$!YGcq|0eudKI5JS5o$wb0xgN&|4j&Er(Obox|K`{_8XE%|*|6a+up)F(`F1ya zG*}p$T%uN*TzdCOVeO)*L*szMgrs^Me&+HtGu5^(E(|01|WCQKxZptnrhSAK_*`slFdvsU6@tPflmO|EQvdGLRZp$D|(ZI zr`a~A9c1#QCE2_LXqul@&4W*W&s3nqBXp)H0iD=igv-dm(?VO^{<2xWtZE@#8vUIY zE|d6jTWZS_Acy^x0Mp7O1)X+4N0@Ub->TMBwVlk+ib1fmZYH5 z4(JGTHl~=fIjhg?Yk!ArwH*oT?zY>`_OOGhyR5@@C7O?;D!=zI z;P$k7%y2h(1@sVV`)2rnA`18dw7@@@36ym zM-tv?cLF*>&LBJz{ey?qgLq;`EJ?y++CMJ6CILB)*@^b>E~=hnZtY~k6x-cd)m(Tg z`X`S`HN@|=Q+96xP_TbS8cYIEoVK&=;W?_Fw{vzr2|~P#}7XQ7>IOMlpD|F!Hu^0nJv18Wx+z=r(q@X@r)wo9zP79eOhyZYAIr`-Bms zz|~>9+tGl0z-o`}O#rHWT|l!x;_>$eqjF#rh~FEG!t9Ek>n%nVgi(L>OTwt)FB7Bs z2%}!SqA}`^of%k2&A=ze^-!hC(OQEUbf{C0j*A$yC{$^*R?rZf3ag@8;S>YfXD94fwZpY@6$%k)=@T_j%lnv8p z>?6&!F1jnV0Ex|twEkwe)i1;HV`C%aXd2l+hxf{_Uf8FHU4y9-Jw6bluwbKN)T_}U zQCeu$U%72zP8LnUSu~FfjXHB-7(FrweJhRGiXIsn;*qm)ad?A`MYjq|-+f1Zc=Tj{ zw621UchOr!Yf-P!8eFuNx@D5i))lNZ5hHL?S`WD?s(d4r3B;PJb4_D^8ev-4htq9J zD)&+j1q`{F9Gj_tEe|Kv40nuo8aF{R?m+^wT)IvVmXN zmhC8X%Ss=|g}Xd@uo@Rw!B)rxwo(CGw!HM?|KzK8Z;2kPLcJ^4t%Peya1HweW39#e zwbpLw>fLqGg9Y4P1zV5XOLbg8R*b{zHWa*dsaze}UXO?@ns@dk5m|b8+trsl5Fo~C zr)|Sh+}_oE2eEm(IJArKE1k)ydc<4VZVbhaRE%f053&7-?U!rIL!H~_4#`_vus-y| zxah%==zIkier30#^2P3XMHj}Q_Z94r3&BF~yTkgFo{yu>5aq96cg9$eM}X8Sw7#R3 z#4;Bf11g~u9m}G?6mWIS1zf4MZmUs6sDW7&*oia>Y+*t6YQfp7ouPXARMa^NcUQsg ziNkw!;?wLqN7ub}#!jX8_{jAriUm9CEXwe_>UH{d9z`)0`qGPNh}C=y5F6#ZjA+PtNXsB|fZ-3Gc`$RQ3;`3G& zgKK@kwSGK~N1q4;O}RG0P;s+ab&MWXBcHqZrEh%EwbcUPrLGqI@A7x0&i8h_Ts}^& zEEW|%*O0`yxCYzM`V{eO7%FHTIQP5<(B-orRI7`_dd@e3k~9ugC8KPV%x-$1o^FuC zp@heaiiViQVTjc@I>xirg5{XEu|%KZ%%bE5yFnG{t1(@HkK4BZ-h|XmG4R$b+?%C}xS2CpQxV9fij4PJUGAPaRGf>{+!$P&XLATX zRmBAqEr`LgHWft{sUkMR{M7YhT>2)B{=6Igb$a-9Kw9e4!EF|1zI$8J9=7w$Zsyr7 zN=lONE-{6N-e*uWl;rBG3w4hYMGW3h0J|8&5a!0IzBPQdSjs#q;x!u-v5 zd%zTB`oq4#+Vi7RW$c;YB4sS<{F|=|s)&}y^T=@P!)~8eZx|cYvpP0RI7)w@{T8}b zZm=#KD_B2GFgcmYbdA1C)l6^DP7S+EE#4O4XRBquw$)KL<7k&-x3m$LHePZ4ag&H#RA8ucG-)sz`MsH2WgVyIX0eIBQ`fQ2c5Lt5S$4ol$Cp%Q0py}gKLZ3@fLKPEq3Sq(s6WM zN2zm^%MBKKQg;A{BvozJqH+7F!kzGeD%iwU@6%j;6aS)nYbIurn~AZeY~eryXXc|+ zuqg~(BsE_2apD^_l`jxO%W2`w!PDx5Y0WHIkHib zzVH0qS1Z6*0lupe_@1c%AL!K!;QPwQu72Qq{O>EkSJC*cPL1#PD!|t};QO0vK;!#j z#ni2sx>u>G`*a2PdIx-ebqxUDQx)K=0N+&#e7{oxzTN@ff4c^N@3R#jUj_KCQsDb? z1^9Xgd|$W*e0(oeG`RzbC@l}BDDh0mZ ztpH!|fbZFB0Qf#p0lo_GU8TVHYz6pw2YlDUtnM=v;Hv=NRSJAxs{mi`fbYM*MjzjA z^$p(YpRdjMRf1RWtH5>9zdWF;pu73zSz4UVA>7y@6wP&ip0 zgF@(20gM5@4U3@(s4KnrQ~*DK-{gHFfDnM~C!vyxo)lTR@Ay^3QZb5lMs>4AjV%5D zuo^rXgds9+EHgdFXpoG$Uv7eA!0c{Jl@LI2X#4X)hF77(vRmw zpAj!7dHY~giC*$yF3*b;g@k@?Rr=)8@2pghO@&Ir(FL~y#*IR*RCxU612Lha5_eaUJKnD0!bQXal5C8+1WD&yBQ`a-qYd(h!Jm4rIhPQ(=cuA2 z?dZ@+&j+Cj>`_oCNE)`A!ztShGzLeJK1#MeNp};isEE{jl7$(V}`;;4O&ZdlTH zb0v4fx&pZhR4ez`J(7lG=43`PQy1QgH2lJ+CG9BDdr}Td8fKZ(8M90YX3>3i-m$MB z{xbFz${qWPD#0q#nGp&z=HX=62NjE$(RCWQQ}P*cl$fG)z>%z|BJ?v5v50xt6TJYG zE8<0uMX~ZW|K~BQ{LA~lenm5@y!0WiufnWy%`vNd>l$EI`NN8~X1yX9_;BPhf72xX~@clAEQLc30d*-bbQ}r{fbX}j z0pNS^?Uh;G%B=3ynIY}}s{mi`fbUDM5%}JK>uf*$uV2q~w)f5dx$A7dR9Re?sIC35Z?N|KXpy4i z#6Xa@oaGO}fl?UfMOQlTU3j4aeAl9xdMyCo|EK_8?||`EedJEPiwFpdWcaVcrU@-UB}LK1KG6+BaXMI(=X@s-mbW7CjWKQ2ne= z>BH+S-{jRm4&_4*Rc$p%SR1sJ|8KRmG~VRZhW)ka9}YmQWc{s_q&!ir-cVW`(CQ7- z@uA^Bjt{bdHYkBGYVeX;zb2@*d_z!zI4W;LnuAaH(D|^fT9|`d$Fn=&l97zN!l9A) zr1CbbIcSTX@gSATTU`vN)b;R54YlE=|8N0DDQeZH4cy7@ooc}6Bu(D1a6~jY9BCtL zWP3O&y$2gr>qS5D!_kzEPC|?R!V5z)3){mnHiipa7{Kb2wscXJc(#62eVI_qZz`Z{tfpeseDUF@dXi1wB>T(UZeT z)SqmVY;qDd1#Q-pc5o9cRonqYRUDpbQ*3GyPUEtswR%u6XLf31?6= zqt)w|9;wbcd1^{p)f~WmMU!vSxMN!^|X}l zXm->mY(=!SIhYyE4Ck;rCl2S@+;ARDSM%JXm`~gD)6*Pd_gH!wM&SbUZ9%KY;MA!! zw%XWjK8^7IeM!kT%-qOi^}I+92LSP2rp?4PKju$o&EM0uB)5FrM4JaD~*9= zoNZZp;^XWd?;Zoy;c`9V6?*0?p}|_2gsZfFi>)J^}9c*{m4%?N$cD2(w zY$|h&vB{ua;a?2 zX+Z0pX$X$Oo0Ye{&B0R|Gi>!@o@V!Scb`7shx@o7N1~O42kd~}>-3f5&_NE}ZU^o5 zL}Xg@WVPVw5UoO(b=VGz7wYqUgG1*Brd)Ov>~ekltHQ2EuuJcJhF!e+Z(Qu^0V*lJ z|7x(S3qpeG%Zpt-&_nlknX&6GM#){5hFy<;GQ+NuU{{7)V9_bN=Mu0BJZc2HPJe1)0D2#&r!OrOO>vHucCAfr;|{+>NRSH|5T-Ga9QbsoYE;> z`6vf@r)NWNO#rtb0+ zgH-1lPura0OiPgO(zzzktqnH88WQn+mcP}|es=3zlOV~QOq-KqXg{S*O|eOtayu?l zs%~^jRnTVB^c8LLZa|x2GakB6AI)jH%}k*CbQ;S^Ht1J(bD)_6%?T<}-e$FWsKGig zAk(-SU;)ir3#tm2%tjqFo88%22h)6gsztSW=Tm)a4sFhb|8s5<&f{90AB7 zn<-jqH`~%AT;}wxW##iON8eh($yPK69nlLON>koe#!!Q-1 zsX162J?n+rIQuq71DbMxy0be5(DdvboV_DGJGZ?H>0PZ}_NwiUp7+8%6zz#oYWBhe zy3cl(z9GnJ2sVZL8FdG2Km4BuQhlX8jJd2sv~!s49TwXi2}GZV?6BQgA0FX4k7%H% zE;hl$V4G97jy4CKPTgvO)|8X+8?ID4+Y+ERHUz8r_#(UBsapwG$_1a(SWY2pTS^fs zV~qpH(wlPMpYAR_5}x3C?y?hhSAv3gvRm6a5^6*`T`>_~DBV~sMpO{h(S+LRin4WC z4aJJG<%O4MC{~m$0OvIsivQsY*PgQV!G8XO{&}Zs*~?vAUUN_a=bwi>YCdA14`Eo95i^y&|!7JX&wd6vtpdGsW%68I#(VYj*WQL zeXFv*r7z!~5Bq_|)i}|rlay9nYC)YEsHK70SlXNQmx|LLw)9WkmZ@VA>vHgKbEH!j`w8YI|sPbm61O4vXqh*kE0Ua$VPPJ+i~? zdK;dgvE{8^vO}t)CnP%}8ji*W`?`&EvZIi7${MaPWKFVztE10JHjJ*vC+1rS;kw!# zi)@#t3vErZgQ}xHk?eSUi4%|=5AnKW8<1_Z25U@UW6#?}$quZJ{;OmsMT1bypk=qo zPPPfzDb{3D5@^|-YimHwb=A>7NOmf+(~zBN)12&dWM`m(%}7$;mf9`R55IxzO;LZe zGv98qW+yuf*%q5+Es03kZMI|wR7dZYY%8*JkZrX&PIfM`^K7ooOTzic&X;We>gY+y zF5uqUkX>MHPPV773fV=Ht*wqeA=$;WE9GmkEpf8#w0pC)+sz5;R^FCMwx&AzykwUl zyByhNw%p0CKz1c=DY>YST_xG->gYMi-a}|BW!EUn+2|la5ZIo=^>gb;&yD6Fv_=t;rvy{iIuwT+iEi$@GLArhig>~>-YIi z{!Km=AYXrzZ}p_v%t}v)S|L(?$+7>Qv<^fQd*?BIm@U1YDb3 zHf1n7yUo!lj2Q=RG2Z;CK-x5$l9{6;!k(ZOwAoBq8BN|u8J|tws4(@&-{d^HvK6wGN3j&jLt)X{U4-yNNJI7b3Z^IT*(~xQN|FF=;3k19uT%Cog9KD5lw=@TvWY68ozDq~38i)NV zTjNf=mb0x*PrQ!Zb=~8j8tW5t^fsBG&h`WYwZ92Gl<|oTy1AXi6Wyp6wAnW7sPrw_ zjybx6Gm?8^ZZtRC$*xjQSO;T>)o7jcY5+Y?CwcV&Rsi4de;lLPtyku`(nAw zLA-;uuk^&H(CM1Im0?fN;}Qs4nc^FPN~R!E&?#aD5b)zBi&vRZX~%};ffRh6A(hv|{m08)A@ezvdd6(CjH zE0FR+=PPr*Cr!bQ*L@5KQ=i!Q)F;l2$tUt3nu_NS1w0FgFnXGs`wEm8U9 zT?k}3oI+{mE4-L?)08;?)k14`FR#O?^ejs`3m~Pl&|}MhtYs-=p$z6Y#d7K|=X%{& zI$%bzTU&FGwW@sHTYxMFQ_aCrrQ(r0Xmt!+tqIqnz^!#Bb~u%ucs(ax-~GzvKr0|? zgJ5bSFtss3OJjetZLrNrxCLEpOMAGL({Hn_wk-*_bJN?Gl+V5c$Z|N<9O%2*!O1&f z;A$5@wFCc`Aj{!Ydh)%Td~bSk?s^~6`&zy1_1hmkgLX#Ifmm>rrpPIMQ}dNgUR&xd z!%KE32@i7#htn|-fmV6DL%8QQdOG@E-P!7)SvPs}HND>CEeMZtAh9EsBw!c5uU1b3 z77Z@oLL7vZ`=lXQEHJYZ&A~xL*l1L^>58&QleZBaPAPQI;1W>mR5wy>d8+N ztce(kRVY-LiSps+lyK;7%*4By%;6TC#TcVhGnz8Vo%3DZhiFwr=5=kArc?elUl$&?)_7;LNNYics@k38RJf2Ti$E@?cNOLBe@d+^p=b#?z~~caX~w8qOLa46q6T2Bn5F<* zZa2rMSS#GL8QrrIqcnBvOY|(Fw;*~;407G71FLPdF}0?iT7&2s(tO!kiJn7r9ikT{ z`*JgE)~@5{Id*imzvw47}s@t18;RqUkA7)g>S zVTEqAtuYvv(}qw9NxaFoZP-oeb?rc6M-15Iv_UD81a{R0D;A9UO**G4X82}*KRUer5CUtVG@EJK=>fSuSgL_VypugXz8^aLRjGq2;YJ5 z9WT!i_JB;*2PDkHZ1V2T(C?^2zo5;If!{7p;yAUByHsHUrCu3yB$ z`#<+9Q(!jH_zLCe3bFA1{z5L*RbSP@OS}8(u<-OaUKa~bCw|>5Je~X(vhbdk*Z!)u z@IKr(ICH)x4d!~)fQS=(4KqiSd~lhKcN~!Kg9_FoL#f|oU-Uz+>`U)fMyw{)F|P}q z@is8*kJtdKwE+nlRNhLho+2UocSS;6$MJ!7oefM-paw}Ll=?0$XfSevn*$dK!Bz_8 z5U>VA&lv!P)Xk2!9>>ivWV!E$^l+qyrxokjB?7hVd#VSu@;0K?I~_HJBc-~J z!rwkB2}f(+Y@}HdhBn&8oN`_l3Xz24y6-b+Q&@z@GyyTBDDlqVi$l~Y%siAQDs?&6 z<#nG}`V^j@#@y8K9MO8`?VQZ-^ZK5$z0Y40I&+VjsjGcb>S~{i26SV+{84GgaH46t zLYMTEm{RS}RpyCGV?&7y4WzhKG2w@q(8?{7&~%Q?vDt)$(w6fpxfG`= zSzrsY5BS{l1D;+lpXVHZWxR?tZ(+GBgvfjELYa0H`B zr~_A*b8ZqK#d$K1lRD5@axo64{b(?>e~`vf6$an>0gGJ+rZ2;$@DK+NWibeB)r0bS z9L`>b0jWvnbeix;)Y-`cIZ7WKv7@Dj`j-7rld0wMoi+yz?!h#K$DLt(TrX`yFu82Q zF(xx3&P$EB@~a~mMcSN{ZAAMgOAr6K!pc1PsB}@zIfXRMH+jcjVb&=K)x|$tY}tLJ zZ*aPtIQhv}bCjQ<>oR;g%~>*hI(;SJ6BdOhocfjE)BXN02cTMBGeEV3XL(teEa?I% z5b9SBPZ)DAho_cThbItoZfb$(?P`&|k#}&lv>TpIzZ{-u{uS`_YhCcvR)!~MiTrZ# z2|xI2#ivbJM07bPzu)hPQb5#e$EO!xiBDX@tKt*j*O3}J>cLIriK|&T%|>PTq#nEo zpJ@LT_@o|8@u{PXPlSeIW&K=ydZah_q>m?aYsz0N#|tOYP8ApJf^vI8l$$)1vjvE{ z%R!X$tEbnMp;Zb|r^Acp5${cXQcNrRxDW_yjqyR9k)2mjq3H063Uzr^sP}YXR7Hhy zZ~LXHQ0lZh1^7wb?{yLG5b zHSykg#o*H~L4~>m6YpXbYIU~?b*cEI4(uI1z0ezcnuz(9sZcGK5>eu_G5S1>7uGo26X_EP&Dt6w>-B1@})GuJ?y}t{iDt4X%6ffP* zQxEpi&bzM{eyB;^cHZo=oyY3up8--8I}cN};wpdRy2>Bv!l;U!*DE_u9oRcP>dD?f z)az*HRs2vDKh$fr^YD%Ta;EY=P{F5PY${J3*gJfB<_(5Vzuh-DSLTg*;o_-0G`MUI z?@w^dm;Tj9a_K}~bMS4S`G!6?>(fXB&7u;KiSF1J#innZ5?{rH8&oqHrEo4ISkupf zH6?wYlXlDZV!{mu=nw&$S*Thaft$Wv7ZYeOFrDI7+kx&2+MJrW@Ae~*cLtLhvO(77c+Ht1Azs3*12fy-V<(Wm7@&=={0KJ zd?Ks(CMMw|?N7Ew$5Ta2W>b4Og}Krj>Gr8?So1>a@x!Sogvv%`DJ2hW57f`ey zCTgHfMKB|%<^#UX@1B1`in*NBFd-;Y98)Y|Y4!d@k+q8y1l&Dyr?|>?oyvt1xF|{$ zEwg267sp1sQyw&9zg#s}(A0{UKuTz(;73qRw@@Vwp`?gl0@Zw*Z>#KW8d#bUL+b6i zqPJ7PiZ$30rV`w=#@5C}Rjw=j9mAFoJ@HLF@7wzBh?R#Fe*pJXbMPIXZxq`+PiOs!M{-F!c=vrIsZh1@ev{t(0)5ywgwuQ(_-Aj+?1B$XxN@8QS z+e7Y+s0w$f=5A{4cA*FgOxUZM-Sc=VVquGJ`5nIPwRe zO}x{!U1ILfbFm3JMa(JUI6P#BR0Lg=+JnFBc6%hdk~@%Ae5IrbCATAPL5zwLOCsJ>ZudUf#h!J|A~K59C^^DNODhidJpHi zCniMrUOZ2yOTYPBG@b>KYe3QMXYH)Iy*he93j*_YE@qnhyyo}*v2U#@Z@987zPyGZ>f*~=Jq3IRTH0K+oK_tdjrGnm*>Gbmti*KD<_^3-E*EC5m}+Du zGeBLiIYbmRS4(Mat9P5$=JaQu;HVAScY)^$^>>v%tH@0 zJmW{-{aY?m7ey5Mv;M;C-4fIF4>Br?cH6AnbN<4guxPY9VSL0hg(;o=?T;B{UDx44_=b;VmT`rY;g zACQEXrkGmmINA4-TT1AU- z(CFtu-msz_0)y1y8s200Jtig?jY$5|#}Lx<8mEmG92G^*bB4`0M|VQ$nQ(j=r*-FSaW5lufv*#T zdOBs(-9i9@+Getx{PVk5F)ltI){BeJhiLy+?DtQH+B^zY^a4Ts zi1D#WX%CAwuQ~XPyOOw2kXp%I;DGC=wYBG5!sZ(JZGF4n$+K zoCO*xv~Y!sz*+%4*!##o=c=Bfa_hyL!X70|1I-qizoU#x&0 zDAfzlQ^Lq!6!e~X6QP1vzNYtWWeTrode?@g_nm7%)BE!Z==BctKKB|y?@N7yH~HuL zr%Qmob+KO#JDBy+&-o~znSbsZ+RuXQzwV>Yx>Z1}-Z!um#i><=w%+ZUbAGw1(sM;T zHeznT_f~80&m%N|pIvLG`?GfX^SDUFEkCeqnKEXV>LolYQ-+ajhOVQiVq@Z=>+YsRd)-V(d#; zPo48kjpNrEo%*%p2U#s|Rle-4lA$#gwlFBRFu2Br(^36!lMnbL?z7P2!7GZ4|4 zh~kI4$!=n`&-4G8FTpJHj3qy%-};KY%se{hv2*MD#Sb!@K4`^x=NKJenSnDQ>W6{k z*c&o3g^Xgx_0fEhp!aay&6n#A#x1wlM}369Eb8``dEM@^gWTOBQNX|4XGept>a)Xv z)t)-A)Y}K;mdZP~)Twl!Er)pPZ+@JOI^21Uxl?jgtuVQ&9Y(-9s)?V55P^%->J*(;b)^rel`XU z4vsrhuN+;cOU3b)caFEu_-e;328waI9f!d5ISr+|I2kOa8cG^SZmo}A9bMr!AaCFb zdy<)IJ&z839R?Z>owj@JbP}H74$mynnj+_L`^ay&LFxQ$J=!`?g-#a1Stk@)g!|m* zQ>8lkmS2uXjB&l=WtVrZvOtLE@@modmB6uIS>V{`{<*wKth_eN%Kv^1n3dnJn3cUVD_?qzX601? zdXH8>@7kF)y%s?4?<=6!JJ9>lYXm)fX%G2jIvuR&S5l^a)Q>FnrNy|>in!1E5b*ZR zFXr$I^<+y$3iH{jWBg_{IL-Q5ZRvBe(d8oRAHBD;v-1=_wEo0<3?SH}WY@K)Y^a## zDc}6Sly80zL2N_o!(lzWYU#cW!_|NXjUc9O?o)Zp>bVxT`pA(Cssx@vc}(!H)TjOx z`CCfzpyZtgWh(8AW?yj`G#9d)2Cb=Ntc_J=JPy|7abO`wm%~BM08$B+zW==(zB89e z2yVP@dpObZDT(t0LJb=1hSLB2d`@{~8Y%B$8ANU}zbBVd1;LL~`rxhVr^N)g1%wsc zhzo6MN{rJUy7WNwQ5rokBaI%INf^Pbda(s|$7~HIf&kumM|t?@d%vm`l%xW(*3uun zB`2ozDmVgP@Lmzx#^v?!k7c24_*>qs(6)EWH6?$`;_yA{y7%zAL%%!1M}3-q)SngT zkt}3?A>jr(K@Wc!MeXqP(b{``TV(H*bb6yVbE9MgBAQ?+p#*T!x5JeK#VI$sifvcE z#FcowZmm~v+mhOX0<5^)o@5jRv3=>U{fMXw7snRM?}fW-1AYIOpUXu*$RgEZ1*t)d zgWMKwgQ&BuwiUL&&9<%dF4y-b2u%yhZZD!|AewK_++L*h;gaO@+M5s=1IfJYtH4af;(eraXQsy36iTd++xNKYM?<&rc9(_Oh&L z?Wv=SK2OP&?@h^-VVbvd^$I3ilJZD$!8o__IJe@|xh1dGn|#;v-+Rwj%VDJiz~JP% z;Fn(du_OQR2n%rSo3&TW4Tt};e2Ud@0&YzK7Y>FGR$1m`LdMUBG)Ncu{ltnTOW4&ki&!BDt6&i z9n6jQWw);wdp!bk3)W8*TpmDH5R8;G%b9Z_tc-!i5QL{Xmw ztrcuotM}_!Wze|96oQvdA-MMFc6T27kp_t(8_oqXl>j0t`v$o;mcjhoBk@K-i8uaD z*5D_!g|)RMy|}q*qa_TrnM;&bz=Xn>(i0zrH;g9A`8eD}#|^cLcucE(CTs1pJZQ}< zj5lvmt}48TqhwTjT1W4hoqI-Gez&DRmud!J0{atU!6hhJu*T-#o4Un`+@fY2Br=)u zF0?Gz6p@e@Y?5M@+~!*(_Yhvo->Zy*;L(ljx@n0?+Q5IW<0lCghWFKDKu)LTbi$k1 z@Ps;ax7%QCWz)f&M8Re#o~ocEwg;K0_%7(nubW&bF*6heo8{uXDOb0(xOigVwjcu4 z=Lud^7)I6xfJQ0X>auV#9leA|ttCm= z?mD{N#Z!@jwjucDg(zIg<0VYEA@~+QmeV4^S%=vWhIQ0E5H-Dmf)&ld3qFmxd4kh5uJpllaIyVVbLL;|YM6^tEuY>d9`Q!7eN=*fvE>Qna}_ zIHAMa*@ug4hwWf4qF_5k9nYCh0MBerg}WG@9k$C2&)wY29$_=H6WqjJH#j-#KF+%D z1ZbVotJ2H?#a|+QkRt~VF*{MP+na-zbcrqx$O!;DrB~$$q-6gB^Qwl=-Qc%l1FjjM3+aE)NP!FBazf_fnlVYH+GY7d7ZHq3_Fuq3R@ z6tOyu5zbUc`X8n*5zyQvA+n$jKR_Kcu#sq3X<|l-LWRGQjnT%`@)ggek)K3X`q5{F zD};KM7YBIelg|3xyET^G&16i@-*)kp%8db;vwP22Ghh>(V#O;ziQ-8yU@;kj!vFGT zPPj$^oSNiyft#f#{zyv*l;OHN86!7B!ky`~}PX7OiJ?7x1wInvAONxJi5gtx8QW7S#)gi=u-=f>`4nLgIO6xX;J#3x3dyJ z3jxx^Jy{no?P`7*2hovurM$X;)Pnh(exWbc@4d|Ml{MqNeXd@ zJYUC6y4k_Cr0V&>QvuBHni|Yf^%Rw=XEa^jJ1#-qOV2t=kNleG_340J$nPS?6FlFIlHG#@c{e1;(wp`pvEK#q zE7Bjti*(Wg25 zywiw^%$avH*+)bv=o=wrS#P>;@epHJ_&bq44% zMHJ9jy5;+Q&1U{l-{9RDa^<4$SA}_lfc6juV}Y<-_qq6Xl?6>6F&K;~7mk*MRqnf1 z#rqQ|?mJV$o<~qGYd>vjoDzmU_8nCmzrq*h#Hc7RxR&SWP)Tv=*X8Y@` zFZO43>EDFvxq&n=P@MLIFf2>}x?Z0h1^O%EVk8ICWl=<6a2Dft8i4`GjkYo1;fT^-e>8|%z`BBsjX}9_;SH)f zp5Nn@>qlnd4c1Wl^a;j#Bd_R0j--JWg0;!i)uk!cf;bCGh&`I-3q|L|NmZ z6=YlG>X4tt{xlbSf#p~OgpoCa01Mi8q30}vvRP`Pg@~5f$U>INDky7C$y7-q>)B12 zF;Z~GNJGT;2(>U<4+W|lOxv0EJO;EZxOh*Shbe$TU_zh4!AA0 zn@hhJMW67o`_Nh3QYV%+QO)TpZfO$=%5qy(dh+f0=tG%q;?_5Xt5t6e^&F(F1{gXWZxl?PWt|&qjx`t_oF3cqxS$mQ88ZBu=Pv#zvz^uJlMwA0ow#>9Kq_- zq9Zcbmp;I!onti^h-{=>6zmR`69jBgKOWSU_8(%~z`uk@TnNxP3fWR5#YfnkrT4s5 zArJ*6b?tPL(lNl`6TB|ig9JhxuP?7PQrH9NM&9hq0(@Dh1LvXkSz0^W9DJ`TdaA$z zqe8a8NTwkF9Vq>1eDrt@yo(+QgmQ%p(I?GG|L$~ z`lG1zEB*cd@Rb^(C$u5h6VB{98(jLxAho(QwHkTkto1}&8$z1KRFw$Ytd0-3bTx3w zfm#}C#)761Izcy-X^j&rJf+T_$8sdIf)-Pn>V;fi=t9c`b7NI+97UxS#A_K*#(2cpJ>=XQPUY@C9xetROjeP-DE{BJY%#Vv)3@#S|=# zfy5>0%1@=wC@4z?=`+d;KN&oz0_|Cd9@t(d=SYFqLOvk1vYcPbU1kk5!Ih==e9SM~ zbTZC>2T=3>vG+CrR+Q)6_sp4dcF(d441%z-sP`-=i?WJ{d@LAu_*g(b6%bTFz63mr zz)?W(Yl)JmF|jr^UyVs?=*BEFXXgHzduFb=?(6zr|BEMJ2`{};YQQtyg4n#w8>&=bAsS)9 zYlOTBXoe!pTE^}&B)_z_W|na%0xKxBqGXmdMC(eXLW^y!+pw8&B+H?}OSv+OQzeIn zDr!l++A?TJRa{F&Te?}8r;e<5>osBME^9sPjtSbJiZv-KRq$FWnqcj%9I7HB;aWsO z_K>tm8!8|eEG~_yry;~aV7NOy^4GC{T?svs6Wx@|6iE(|zZ3v3Ce(z|JUcL`+@b+UvOd6P;be0Cvx7^~JY{`Rnfb$cz` zmds~<`uEY!KIyw{gnJgURNCTdjsNDGh^ZsWdxj`3A%t(2i0Zf5pER4jDPu?3>_76^ zNXCagHhan)YqLLuIkGL+dD4vb?>_K&&1nC%yI#&{&-jit+VjNmeXAMmqt3oY`>1BL zHzV0ho;#^)>5=0Z?P;xIw8y4l7y7D=_6+wZqy0Bt!e}pt$qOf7w13cy_B&s_(Vih4 zWwd8VFJrW4P{$hWnWH{N`)KD;Mtj6|!kWp9_BQ8b_O%X`FhAC4PkR-ky`S@)uij|S zfcX?3YqZzQf9p=3G~kw#^~K|B`O0kew9IEoFuK|bRf-ucpNP%=)rzmL_q!aAb~!$E z9G7Fi_%fekzxb-?IxID>mrU&!U*6^T8pRix8+Z4NkfpvZeK@mdb<5z6y{jlo{lSne z3q;g|qAc|fX`7c@-W6>{s72#PyQB}|bVU7@@fOU4mV7PAKr@XEWW6TTL^F%OVitAe z28kr2s7=QGa|_EqB?d%=9!k++oE+xae}>AuRTL#qM*MRtE5ci)G#90q-o`o7?KP+0 z8}6Nnin-@ZGb(0a+4WKf#3Imga3n3aP`rh#HFHJ~?d4o!`LY$th5bYMQLM++} zaj9xv%n!fLWRcm-8k798T4NT+YI$Q*sD1o33)Mn?dK zTs4<*Xjuu1+j1QOYoVGf0xz#F0{g+;tig3&PFWg0LA=U0|jNKNaxX4nYYaXLp% zr=%4alblhpq1kxP@NUmGjAU^7SgzeLaW3avHzLoteGm)eTJwgoGv_1iAi9wcfeWm_ zCpdIgN5G?Fr?BjV$=Mjq&MqSYNm|^aAxLCwXF$93!0Mg zo^OS#z@+A9?>v5(*Fdu;#v0%gx@g=7d~le9QON~%X&3Oxkv(mqpS=tDfjQ03-bGXZ z5+Qb|i|{dLvj>wA2PPZB#kNAx7_$vUt?gmS)XMacz>QlikMT4rO%og@?ZNesxQ-hU zmDAkxGNQ6hNw{%E6_JRMmxx&cTQ|c4C@yg`<|7|1mF+{Cxzu&Kw2UFHPE>2ZuSo@B z@vu(K;?%4%Vv_W=9l;;jr2Y|Z2~KrkhwCaMEaz4xbsm!nk|LW_n&_mMCA6KKo1xE1 zAQ|c>bpb!HzxhW}yf&aIG%Gc`3bF{Bk)E&YC0*bcWQtWqZmg5zv69Pk%xy}>z zaH}Bfk*n1NpZ`9sr?K@)ddmv4m&2DsWWCk*X)_KK+!>ZEPa-&ww^ODG1f};F(-fUzwuH*3}Qnhq)jM8v|M2 zsq$1-#jp}j=aL3!&altB0Y=Vf8d-x}zP{ms^0f_<`Ej7WJN7Le#6H^CU@B@Dp2RHE z&vdCnfm96T;+XYe6dl$PG^KYMAmdbilKjydZ6RsofgeE&KJB9$9)A^=pp?Os} zIRj7j#cqaRR@lXWS#%|OdsD_TlWkQFpgOtPEi%G;i+FnEF&@*dbaXN|eesLz&cpgX z*UgK6xS!O?=t1+-`wP8{?oy-{YBY-&>LOE}bcpv`-)rvXLeoK{yDwGEn#WR#)H2nq zIV*Jtq^fFSvR;;%tcw`isoBfgjv{rHYFC0QB@658}9pf+#?OAZX3fT(h5Z;<)y66rf#R z0b)Y;Qgd&KER2+{naOnsOSvWy+vh$HSmtfIjncB1t8@>S)|25gbdUwc+l{;w@89hP zX~t`#_v?<3hXr#Oi;6qL4#bE=4&U!>)Dx6zn$)UX)1>yxwYRQZd-|Cr zHM#Z-KTc4t9ieDdu06|-x1?Ot>{aEOX72>$nr5#m*EDX;Q0lO_SO$*WS8v?Z=Il+Is#8unLZhmW_k*c6vPMIEa?Xy{weGfo$UR9 zfbrEdl_!9-B%iK!XRx=5?ct!5K1R{_i(kYSR_Td)VS5myD@ubR+^Kksb7|N$Fmkv~ zN(nLPpZ39>l*^?tnP6O$4w+AYvKnB2fDYwS+%dVC#HU9Tn==qb?zF80V5DK@C3m^v z%pm^ezlFY^rKQ$_i~yO7ge;JUKCsCGZHN3_q4sNP*}w{FC(y>A4M z+i~u|2|YkjuRCx|!3MVtWAR7tIa<4Kbwb!xuY(;dBxcyRGxXlcAh9?whipUfwzHJ*z4=+`zMe zw)yllkP?9?aSX3wBW%X`3Q|G{W_L1OT&u7nhp3=seI*>rh!N6;+ab}!^?42ml- zP8-S?rwu`m4orm+=*v^x5QRiy z{up$HvpE2(7611;csK<-xhS0gHmefz2uaOUcTslBCiJ1u&ymd1->M5hUojUGVXg?l zQGm881EqkjrX%>c9+Zp4LBy#}PIZ<+T@_r~5eP5CnMOf}aG_5EhD8XtVV{XD^0PgQ zOPrP6E}Lx&g){~tyPn=~EXFgJ@z_PoON-#I3d%AzmB98sp^x(je$-7}MB9L_bW<0z zyV!Tb^Ss1`ZV8<8)Cc@9q$g z24pq_K|0v;0lu!Xp0A|4D}B#bv3phRacTr+)e6G(YPY&8Sz~Rl@ek8lj;$>x*XUuY zFpRnNe6a0$H>5*AOc81h95MY#&=-*bX3DzF9C5nft#rG!dcoIG6Ow(9gVvY>dh9=3xRYi4S5y~ zAtRn|2)Fc%Mz|@OoDYl3btjRF#sujj_dFeV=|u;C0?}Qj`ppb~4!Q3NC^RO;BGG-# z_9yB&frcZ#q#~n0vs4_4(s<*;@e8tPb^g?Qm{K|rOnZBSd89-)Qgmc@lk68wuZC#O?Jjr zx|kv|FcPCz%q)#%jw=Zk_0-q?bK`io?9L4{*@?8E%X2v7@%%`^NZ8dw)<>MQ^RwLo zCv5vEWT5&wkHer>9}eNd0J(O)Mi3(?A@dQ(SL7}bpAhnrZPA~cNKxbUX@}S6tM}Qb za~QbRsG4=eO^!eJH<5065x`mGrVt;_1|p2r9GS+hA^Iaxdp&RCgGZ60(~Yajwm;^u zejA0<3~E)etH@E2enmp0LL+521zk_+8uz1iX?p-&327R+)Tkbi$K47lcQf_?TZ@#u z@#(C22q3JRXRV>96;d9#*_MQqhMyJP2HWR^ZH<)Q@fp?Y5(k)$KO=%6wnxOj5h+4o z9UB0zoBXe>3}ZgKK2#uCz%HQHZK@K3b&ZtEai`zx@|(Q^zzPZ%Nd({OH~ZBoKM&}k zTFgG=VupS8A?Zup(y|b+h=E9uPYGfEj6kdmHclys0pKm_hMOpl;DwuL4}v#xD-A5k zV2E&E#qU*oRr_w?Pk2qh!`b4ttUigNPk` zCsOO$^lRW<)5q>&e+yyjn_9qwB)1GOWHp25L zjcBVhW9j4#&g%`{<;Mb@gj-@`S;}#+>v2=Dk^XzfcBl8L z|K-fZ3NWq9d4q%adrwJ;y2AQjNljj6Yz=L>d5NCzE9oCP2@vY5S^&9TUF&}~?`mEz z=}zCjWjwb2*K(W}G-mOfzANH=4cs-rTN%rG&aAKCT7RJXvMFsyl+Sn*Z{Rwc3#eOd zEEWJR5IbX8m~3S%*D;oo6Aj?jmIQ*H+F0hHKjp>8v(1miC;)9N7FVgUiEC_K6p zLn%|ihX5rvreAxUq3mKPyWNeTT6eph@ejWdiZH^4aua3IpqN)d?)NejuQ*9{+S^i5 zozSvvsJBx3R=6qsP;PU#Dit`7tEDBhD<5e0TOj7R%2RDAJU$7k`*rbPfxyCb* zFliNmmOiRyVoaJtl8ts_U;=aTe?w6Sk&ZnRV<|hfD#8?-G>*qpOUZGrttBBFTkY{2 zg=m9QS|aSgpV6wNXtVp5i8d2qv6LpG&|xSSP~n0KQ`jGCD3kc0UgRJQa~HV@Hk8Sz zN0O#fC_6=pHxIy60Qtl^G87Sqk+r%7g=l(hD3g$EdByQSqNkw%%y$>tP%_D85^NZH zQDEt-8A?h8$uc)HnU#J~Lz$h{q0h{6(4e}`_;CaX;f*$wxs*kFp$~lrq}+RcM6pQE zYe8{YP#elr1Y2I3%Pv2ZMTogYHk3@TnE)f)k)aUJxRjyvk!6o-D1JTYW!X}jm7`=? zCf8qHmd&WiGMkm-%d$~bQO3B}Y3{hv&!W(~f2srH8!g=Flku#+6mmKM8Q#e_DD_c^nmwH&J! zMV+R)RoKCZ|BlhuU<2z-oBy{DMW}JcF`emcR2o95Ar|_Lx)!^k@i+bhyG(m93bjpI z8&s|3WcblNy5T5clscV-q!CHOC)ggeqtoTk=}`AZqRmOE)BY&*x>04+wH9}J7o5=n zhOsbl{1MFU*;`p1y4Du#VPS$f48b)9adp;9WR8?c$RV)cG}PiLeg1(z^}&nhxO3y5 z!b(5btOV^49fn?FmAw_LBfuEe9-K$WcIX#)WyIA5*~7}2mSiFqaG?f0$xU>V$|zy% zPeyo6E+egA$M33%DH@rM3Cto4A;fnxGM%f~)Xop8`KJHP%pB)VJ#C8<%;se zg5*aZW2RRlL%o=};}fE3wJ5*h%ti&V1wMG12~aB+V3P_HGf9=vpbBn%NAT^CLmS*R zZbO;H4Q8p1fRL~D;CyeG>Ihnz0yF}%`d!QUYmJiEZt-TCXSHLu7{`K5iA53_5v>)G z@rvY-R)kr>2xSH=n7SOyh<^Or82|N1D!7*8&wVB*X}6t@wj1#)8Wxqx{H~~2gjU~J znU;AO?;(m-S<2gkXR{|B^(x>18kSwI%C!e`2{fV^v@7J&fv_xs zfC4%c3!|BJ3MKQbW~&q({!U|sCAO$QfKf?tMgd_)C|^G6P6jok(mgugC)}uinfXh* z%=|R(=PO=j9#O56zsyvtuXvgHoNAr?Wu{s^p=IXhRPy96Gu7(xRkN2_X8usMPX01e zt-jJ_<`-1yd92dUQ~mxULpJI{$=Jd%ghKl2%*JwjvDW;O*0bY?wRgYDb>_m_I@5-7GR2xT`0B;lH~YofF=B1PYZhyN z^4i7PgMS68taIqIDPcVqE=jZOg@%JH?eqwHw^rT%-1wIF`` zYZq(Q|MA7z)R&ZM_h|l>BS}uGRI{NRU#d-eNuhSXhH}z%H5+ihL>So%h(lJX7z}4Ww zB<(^3<(Hh7ZJ5o*VdBS9)`fWtgFe;Hyh$#%)Jv0y$ zvt%E#giWbk0+L5rv!j-=z5|au!;%GkTiILC?Gd5McDabnY%c#_5#v;q0&r*i$$zrP zwh1s5J;VNo>2Eg$GSYa`bHw*PZbgOxr=o}$Z;GObKg3b_1|PDsT#ixyc|OrLSVc+V z*o=d)=x%`uCp{##c-TF~7Ec;ScXRwthppl$Oja~&&Oo+|7n4-c$rA{oh9eJ$BEWH4 zmWc(kB-<4K-!I=GrmJsZaiY{18LHSiS*6;qnGmz+Is^R~{J?5D!rIeQN3bD)N4Q0f~dioPWuCWJFmMl?-v!JVwcHhN$Bq$)n=$ z{(6``oKx9Q6XA?PW7a$Qx@a_Du~*A5c@L@OTa7{Lm73vtjrPh5+~jla@6#42J==U>>6k zNHcD7y?|#2LPk1*{SlznBB0lTZ@{RCyvuueHy?Q?PXV-JcnXk_r-P(pLe8Ml8J0Xm zv*jz|D@YPD{v!QcD^!S7tWY5K_EQKG7U1wWoAPIGOUAmvJ|kqk(!3dX$iN)kh(sHY zNyTm)p5t*EoQlT)Q8@o7R{;Q{Tw{7jQ!$Zd2Z6|V@g8XA=;lHs=!M%5mcu;=tX`ak z?+zKV)c5OOu zw@jS6ZM^=M;_ z(Ysn67M{lyl=g{0R2l(6(<>-qMHHmD1o9Hj8jK$NM@Cp@ihRC}Y(X&+A2==d}&VUf-AIRm0kW zxZmN2wUeSd$>+%Jxq+fL7`dyC>~gy_Dx_c;>%1S;ZVF4nQ}`wd-(=jbISKjhH(w?7st=axXN!;E_xGDAxBfvpaAr^WAEoj#I7gw$ZG;PU_NEM+%2or4Bm zJp+Fug&e<~QAi^>$fOqE{rB_{C8Ie$x{^lixq9z-j6e7#(mzMZSWb@3^2n-iA9U$B zH$Hw8*ovT~flsFvY5I94&hyU%Pmrze1iX(bIb$ioQ!>FnC5{?##rNXx?nD|Bx|DWn zkWwANik02n3;o??dZ$p>gGAKIDtVL&z{< zbiJu2UMRer!pn_1T1UixNMSzq%lO=@F#LxUmUN-;l@z|xk`3ty*f14_6>ybU0V#Y$ zQY7$FgxkY&h+?otB!HZBHMNivHQ1&!MQ9K8T5rU?37$fdX%qFtf2fCfGu@g#2%f^k zh`NO=@LG`tQaZ+2xyGjzqI5T<`=%A5G`dKsnjL*RrRB9$+rrRFd>|w^q_jemMnBo% zv!ka6louq+D@69#-FiXxP{-Jzcj2Sl?UfktzZFJAJ(;`#C_MX=vCjr*ko!_{i(U;u zb3M{txrIm~q%P5iZb2zh=^~opKF^S-;;4lY;=d$V82=}B4v~Ims7k0!e0F>Sa-PpXN2Eh!Uc{aO-Y z?sd?TKJ;_6q`z#)ZSNT(C5bg#2GFXl*;uSSD_xb<+H=~nTqD54)@v^y*ie#`nUfogTSu|DVH4<3xf+FVp}E{r|6}6J~u{ z&B(2KWBFZCuiV*gT>R~iL{iLIl2wCvl!myS-{jRGU9GoN#XtLQ#0O?VxXHsBu+=FGjqcl zbQ(o1TBjqKt`2ALn*bcND72>O?rrg3u#T|I^_OrLFHv{`bNK7;jL@X&g{?ngv&k1X zO&`!roypK=ams`1UC0_5Oj!Kcd%3e(kI&Jj2pFt>T-3>Dx?b@%PwDm&fAcME_e_bN zW;-r=O1Y(pk`wiD5%nvug{saF;;Ltp|$n^ zgQTtRIs(-1k117dy<426%5_WQPkp{(W2*%?`W3fRnBzieVKTP474wrTc(%>nR@Q>f z7QOy*_RSoCX(>httFI_wgz?4SVS&T-$mGN(#^gl*S5wAwQ-hwUS3u2^lxpK&Qb0OZ zb@hhNck8f8-Qw29zlA12?Y4wP&A7;+l+A>E{nD8(|qc=l?$NgLe8%1xStHpf6FXi=z}v|nAAm5=Rav#!;n)J%yU zvOW)*Sxj&(f1|c?qqdS8B;`bj8YQ2%mqVavb)(Rbu0u_twBWH37Qw(>@1M`@?1HDw znC^G*YllCvlU)F{7QoD)4jbvTUo`KR%+Tt&Q_DO_tuhBZ#7%~kpB8gB_naz`meVpT z;)#s9wcZ;Oa33vLs3Z8}&{^zeT?*O!{=G7}BhBi)H0$!xjQ7W9(jMT`bX2V3X7?V9 zfSW3jm2uijS3X5Ai)GPPWTRFh!#MBPe9{et-sKl|a!WMC;$sBoN0_YA`P(?puhZOV zy2Ala#YoPNv`n-*uh<2Cjly)!lOUD+bk6&Aq0SS^pkHLCt)`{ryk95k{Qi&v{A|U{ zuKTIiY&0eOicuv{YzZMMVSPW#-(P1+Eq74S52_KcrX(ArW{~S2E8B1z2ii(lrE3vHS~6Zl>DtN> z&H5r4O>CZ~s5H=fWfPj_rfC(~!7nySTT9y*LONs!v00m;(ie07;#%HXejx_|x2iOY z-b=LTr8JR;Dm|0)nMEpsC~7QmE7(5bWm@V!y0OGc@@V?$~Tl}0wq zm+=GPo!4*d8+omOqrK@2d;)p5Aj|Wuh75yW5n787TYpDqRGXpIaZp_yU&j7r%0Dy% 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�@s43X&r<79Un(WgUOm)*bBgxavI9qKWaJ)i3whW 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

GQRHz>bRQ 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

k3l)=k(9OKPNKJM3wSrfQ?WorVBPQ z86E;`k|9&J&`9;EoB)u{rW)_`T50^(q7k#A0%& zLzoB^>k4p=CB-K+o{%Rhyr_1e9g-(>ktVp92`(;xv%>FX=nczM?Bx=7>Ea}98aPE^ zt&lXGVYMJ;T6u*2@Qtgz&r-J|1!_&Rp>ss?LT0;f6w7`|HQG;{j=4Su07SqD<3*6URkJ$6|S;1 z`14S5DIv>=aftG@@-mD8a#?l)MDntL?7fG8+hmj8%~nCZl~)Iy2^)uD!>UtI)mWzgG;bMa`pjz&YE3ME~4 z(e+Ha0*yj_C!J_?zD~UdfHT2sN;bzs7)!UYdSq;y<7BBni-xldQbhnOP0UmVoI(qc z&AP-5uF038cWm+uD_0l@a%R{hCi0uREdPL{XxNR2`&Np+4!jhGl>w#@<2;pN(-=0* zqM8-;3^JmI-NbI6V4=*=ur@lidBBtzK)o|;7A>=^Xsx220ZGxYJ#J=duWZ+_lA@p( z=lKjPsR(LW93;WlNyH-LRnf#pMrjFQD_`ff z6ymL!Hn$attzRBOE^xO6LvE8)e;iaEoJ1-|$vRdlr|Yp&IbDyH%ISKnR8H4dq;k%` zRw`$T6QOd3od}gP>_n)XVJAZ63@f8@6yf8c@{fwjF)0VrEEOgkM;+M#TRWFc}vU$+T-V=Qs0?WCup zJDoMi$&U}93maYi94vG)&{5i12D;%MO#Ovld>Y7ej9)JQ;;;FcSpO5RXozfIpHy|8 zgRehCq{qo$K%76bZ2TC;H~R5o5%7UWO~yB1v`di@G0yFOnJYB0F-&mdU5Lm&!HtUk z<=zaY$5Nsq0(?W6{EmU{95*p~D|vLtY;`~#W`RJ(-UG^^n^Hh-=eNb?6fn%SxYqV~ zD(jra1u1)%I?vgo052mix0v@djU>tEukC^_TJ2vJ@-% zK0V{*l-yZ?T)!OG{-EePk7qF5U2fMmIbP)qxqc%chtx>n`m3?_;|-|CW|ttB`}G;v zAtpqBeejcAhh2XSS6rhn7^`ay!hBLzejRwqf2QkSP5jXY>~TcsxWRUPFjDRMo%98> zaJ=RpA8+LPU0feQ-gUW+^)b;nrTbUR90=xuX}9|~*h0HLz5s8-!)nJwHS!8H1rc)l zR*e1o_h-EaKr8e;#uLwG#pRd!sSFa;rot=WcF4SEGv$zYVGO%y+|`B1x*Pl6&g0Sm zA~b+IPLgbZZgZ@%0bP$(1EA}%Y5;USRtiOU9)$_e<5ajPHmkpxh(*W@BccxVupXk||r%H_qBnIMmaz@TI;)h+e z3Y!Jq-|y?glmF}b`1ISmPhy4-vCk^Nm68Ce$o2pg+K?WGViv4-4ei7XsQ4N&0~B9#BTNSH!yWydg+|*o zW9N_^VvK^6VrxHKbf{2ZvR!oy!^RNZ5VDUnN_L=p0!?G(*<&4x5FjjUx5D=$L_3E~ za7f^>ppXg#}*OV;Qv9Xz@Y&DeJ@;>f!_$j<)0p^}Zr}GRB zK~0m~Buzcpo$Dquk9TaFPmsU*C5x}YM*tRrg@N0V=<28gt4W62TYmk^1~%BYg_{MCUoF;vy}n*5_5;*Cwue_9par@I-^2VS-ykdnF4 zgD4mPIKd$$qoau|RBroXnBP|dQQ#Yzhv#n|_b@YHtECF!l&lIR&X@JD%=QSr!XibR zlnji5TtGPH8<@wxXtOu+7q!=5117N)3q60Jmq+yS2vm|Dd4$&% zfA@Ui-v4fV;tRce;&;d={LAj;6{YeEaMoUV;#lR0-y5&^uGn)xJM&Cdiub91OBJl?d20jfr%=8O0OcIPx7yZ$lc01D)exUg1VcZAh8Ig}& z!{iJyn8akPmWlE1(WFkJg(F07eVM^cL0cT_kdH@lL!(^mi@8*|(XD~ZUIZMjtm$iJ zo=)tTlx|eb5Iv|;aDpNeA|4bqpzT4K`BDXZx&H3h(hYe~WG!L9q)7b)Hz8S2W0?gr zT@SI#TF+QC3{`bH$5(Z-sx4X%^`2G|cj>2|L<0b92SPVV&yyHLd!AExo-O<<3rv{e zT9W5kE3HDooYSxtU%&(xBo*l0)bx2apgGWmvTmGiqX0998LIzG ze2PD5`EgRbakeksNNlrzoR~sa)>PT@x1(233|hrRHSsEev`LX!fFd(r;(6#62t-V& zif6cm+tDsw7=d=N$Sp2l|4c%jcM|ffh-V7c&qa^8koZJ}CtmEs6EF4l<{a?~6-hCu zbfG!42^QK1)j>s|R+QCd)N{UE3&l{0op=>C*;NH}iA!|A*eR7lxNH2S7{#mR#%m}N zx0ZQSpmAM6dV;_3p-=o$cFmZ8<_AB`&uh%Mc};3Ac5Ar`!%SP?0ZEg%_oMXNh=sY! z5831>|3pahPxoa5o?BCJg_N+SU?o}PW)kQz5IW;vcR`S6zs6qGp$ygT3Gxv4~0;DxMAr z<0chJmWpRA1?id8z0nV5QG;cIgoJjuLQt2;&Wgz>5T8{|%Pg9_LlYR$eb z=g46GSzbaR9%7dr;=5ad0-;E!7viDTK9qK@&hnp4mQUVC9d?I|tKSSuporV#%=0=$ zmlu*QFUlw~j5hd$>gw^oY@1J?f>B_ez^S2JhWT;KIxt4Kk%f2^H$RF3nb;pJ(P}i~ zM^DbYqz7QWjqPxQz=tYT$};h?J&p<(L#1nk;brJZCW9Nh-J2#<^@)r|%QF}wU2;5s zj#s*YJ4=5y@h7&3gBgq#W|N@ot4PAGUd&RK&4QwEx)G_J)P>_;8mi2a&tu70vhDsK zByUS^m{5P-;6$F$#LZYND#bq@(m9^d!%3fyXLv@I7>SA7KOH4VOu=+9$(t(XlLsO5 zM5~)xh^KL>Y00G&kDug0K9b>)7;~v~(=lQ&xz5huS}>Ex6zEQr6VF~O=5rZ0T`Vlm zpZV6{%Nf_EKWFmi%+}zaIICme+H}^Q1L0CEVYZv)3rbb0=6p`ifj7!1Zs*?QcJ9k? zJMFYlj=sjMT!Ji=giBye%BEaGY^D)r6MHA<@0d#%bAtq6Zi5fw z5>M-n_+-S!L?zFbafzC8E>RAOj|#0%=!BbRtFbmd&) zrLY^9fY}_uC2GiINU#iwT*ANfSL6~T$k_eAGow7B?p)%K&hd;MNcub|vP!r_J zW-bw>T;fCBxrA7egp-6zz>&(i#K*gHiGS$MB|g;ymr&ig!?{G%jZ5rHZfAcPm#Fo( zQ+v!@qBi9c2kgQ1$R%Lr+*)nQCGNGJJ#q;c7Ek|D_OhP11gBQypYNGVaBii}^~5DO zcO_FEg-g_y@+*p5qSm+stl(%|;!w5+S;D>(Xvn@3xCGzH(YVBcFy#_#OGR12e*>gR z{a(04*(NyhFfPH4W)z^UOkCnIeKIFWmiU|=K#yGFi}u|VWr-(_DoZ?xv`{8XJk?#6 zc>3hY5-%n9k7I#1*qux4%lc=uUq_zNfozFOoVYA;Fw2Hpk|pkC@-kWCzHB!x@s4aa zS>pa|H(BB@IeYxF#52h)KU>BnPF$9F&K_KkT;h3q+eKO81?$-(mw3@m9Zif2>d}2a{ZFR&~!8xXcz9!fhZdNT~rGEIR)Y4R4H+T zz)g~(q2Gg1I#m1}D}yCJha^7-M^Ap1vT@{pU4yr3)XM6hfS=*438ey$p&Q;BD7=Qh zYW!aj){PN-!XspQFqda@z9z=-kYqw&c%Wjud2UtSdNke5*3gAsab|4!57DQd&zPY> zMTHY@rx{4blk-5z159?j>{=i}akBAApK*o|{O}R1p2^KZRyt(DkR#mn>;qnKHYyaQ*YSzRJDe z$*e~)m|D92_|#F^>92o*qN?ormMg96lSev{Ek7`YfTiS_K2J`Bo5}Y5b1h|dz8d!= zvc8+++M*wSP5#Mtiw&}Th{+k8p-PmW$5Q6A6pBj|M>Ve=+rh%pQd-E4ut=))eko>5 zu%%o``-NIcRloeCqIl0zESM@O9Gm|SEoE80k0m}XqmuMeTMEe#wv^>evV3v|tBEoP zSFjXsTeyORhZXhlO1HAKlxa|3g)rSa{8AK3wc3_)CGA&gDHbMm6;DM%Jxf``3Hc-4 z+IU_5J^zoTtY;}#lk=dMsgCF%f;CBxwv=n=dkyh_TFPvaAY@VyL<;dzuCpG0_NLNO z+GJ2r!UMod`amoX(w1T#RxQQHL)FMvs)#8=5Q|>^Xp-|#>M=VFp<3am+UBkYOhv(G z7?0d`I;Ig*JEY9)q)~~~ZWj?#I|laqpSf_m=NYI%NAe7rqu?0|YOLgLynUjwXrDNe zMh|asIWs);fsynv6X%>%#_-{o{S&LrM?Vu_-)x8n<{$kuKO+aM0$jyRFkJW)n9(W1 zQ#f@_d>9a024x|CNaIgq{189B&Yk9lV6IHZpAP>y-O5eRiR+oqq9h9Nkzr-mAI|s@ ze!O$TWs*q7KcOYX(8I`l&hw3~cr*c)p==e@v;UJnHlt{bIEXgMGf@pKV8UlmoeAc` zFVS~6S1UduX*)4kHu8Llp)jt}h=t-T|Bd+j8P9r}{CX6KNf>5ol2T0G*$h3~M>}#D zoga;90_H;X2zL&a%x`GT=V8j5NN|K0N)SEw!Hgm%>}$1p5f(=)L+=#cZwrs*d@&O@ zrCxlc^tFzMyI3^DD!&-8)Z8@t#LSpU&`eFAeu58}4&_W&ZR*h&8PZfM;x@nY53FTY zz6#p`k(+Ro8PPwp7SgS3E$#HhP%u$XW+G+l34dTM6sE=sIJaJmrL>l2*h__5s8~n) zPz0p5$kt*(5LyfTgst&H)&dgK64s*qVX2j|r*QqZ^;|B2wq>!r1jT(x^m*2DDHZ{- zS+iOe+3YLVj+h94vDy*K{8|jB!Pc^x_SISo4CO%;jtD$R!)QzeDMka<%O7Yh>-eVD z6W1V~a#i#UYa!Ud*0O=VL^~vW_8Oi`C(i|FCfDh%sTXT0J(m_348j-rLAER z2V$v~CYK({pTttl)3;pDp?^Qt?{dz!9t6`Lf68KAx2P z!0{>UiV7o|#u%SNNiY+anZe&PWG`$(JeW?{HMYm-S3e68m1c5kW>*YcB60#l=kPaW zUXTz_;AgwJ(L>wyNQ90!&uYwzilYyIKNPbT4OhE`mNo8w|5*sYl2BTbWcV8`H)y> z&^)^!we3U#Gj1n;`^}pe-5p?}{qei9`KLpoZNXqPD3tgnjoZWDd%6fzy_p2Ho7^qY zz4XJVu$T6|UGcuq?F&g4<8j}no4hUTif<1|<5cd}ts&dm{xEv6pqcN``8zm&XXx$> zhPY>%NbD* zVusWXzSbI6gu3r4ah~#%FW6Ogp_5d(T=dOHWw{_+vo)xYNK`>;hwK$77q0}X0u+;& z1pfxP$ooA&b9J@#DW@Ri`ZTx#!a{qZkDP8`OkR*79YZ>YF4q7f8m7w`XbNGK`t95> z=L)g1G2(W_1Nk!vq%6PzM)$`mZX->vXbrOZ_65b{-4^_8(AJ&YUL{1&_MP0GgZu+SRf4+ab9=-i zD#2ob-JWgTtpWOGQ&5F-F+*YnSGmwFGE@}(Ug{RRr3G|=CGMhjwrlOxco+G1Df{)M z1;|^Q_GR_tPM~kQrn5{txj&Q3Jp5|(v%Ber*|C%OmF;N zi$`%S*d`7aVmqRJ$kvNsUyw|n++Gzlja=_8>$wO zS3u#(8_S8tgM`Lmk`QtTHFt^1A^HPh^h<6SO0R&{8Drmc7NUnhq4SDzI)?>V4#wua zgFV*5zOonz!iXgr_;{KV%GB~hEn5pNEoy2(7D&++G`)}(B9F8H#+IsC)pFiLC5fj? zyW%f_CK1M}Jo^;1+12U10#kus5bnYjop*#kco1fA7dXF_^JHl?xCXaX=j#v%LO0Cd z7j(YBdHy2e+7)~Pz2m&=iene+yd)|98VQfMUgxDvgl?2+6FRTt7ybf|!5|`lU7*n< zE%k0ev3N9y$Ixj^qFMMT>@y8!Sr6bWH&#AQ-T8R+ZK7{em*OAXcnJ~}Iwbj0VYE$1lXY*!;5Kw~xr8&%Yv(@(oR0oiT_0;C5 zukoEy%{lrafuJ?0?~U*r0Y)hJS@|JWCl8%uY^IIf5m+$A8@Irk0)u+fbc^Uj$vNZ^ zHC^Z~)bm_|da=Ym&!zO07NNcu)AwS-c~g^cnCW{nGRe)Fw-H_y2z&W5^)(X(ILyc) zG?Cw>zPGr`K!>2OgLfftfY7AAW}pz#+iEot_n^Le;b;aqCr?6RnxO9**09EG6S7uN zdQN@!g~%`-8!kdf2~0@Q%%)3p!OVbWvI=wR4STp+xDc#EfNy~TzNxqA5{9{~CJ@op z`?e641~3Ex*8}_gM|EbWuK)=S^AVm)_VRuBkt8t-ay1jZ41gT=;|lh44$8q`Psg-VFH4a(+1naRLu-g{FbnhmzLkM=7}y2zM<@x3dFT^83R~lREv5nvLT#@U z&R!h{aySW1P;^aVI=~!R2E>RhQrmwqPgA&Q=I?HR`YWXn5F-%iSdkxxUJ$r?&wg}+ z0dm0uO4lU3!PtNieaqzuVxC5y2WLZGLgEMR^jqa<%^G$soxB#|Hg_RmIJT$CM2}F*_3nCI4VJJ)ECFT+lC~4kSBmJf4~3d# z8-JB_j9-6EydKM-+Zlaem|)nSes7itsSI4bvY2W)u-~_;GhKU!_)Y%avQ55XbihZ5 z{3<{tG^kK3AX)VNah1t2RagUaMZuouX5dO@7*x+|jrdbXgDi&qA#U)IuQbAyhhRGc0?E)T#T{%=mTqXAW1crT^8|UQ%P=j)*d@zrFX9B%bgMsENcQA-C zM0b5J%UUo7`sxXcZ$$Q-20x!c5+DqI) z`AYMd3(A+@VXo&4#xNpw^7dpW*E7CJea+cmTta8a-u7IAWGMQQ?UWRn-J`yiv~9b( z&R`fc*5KMT+09%NidP!dWi0hFu*@Tis z#%guh=(m3bCab=1upW(C^5_!=h-xTmG5Dv^=hs8Er*U7X@oq=~0uDsLhuEO-FYsnt28Akejv(i3O3w90&e{hZ6%FD&6W$PuDb|aHiB!!1TfAp)aW{eu2a0A4yqdVeRbXK zCVQ#dA+wKjt%6W%WW&#GK#fozUVE zFK_1{=p|k@=L5T#S-Q#QdKam^P-e{{;WEqigmCSJ773RRvV@zO5Uyrf4dI%BFfgvo zYT)@fKBCmXulLJ0x)-~G5qKTuhN}#dS)cA&R+b0@9YtXP0$-C5IN|`k+3+{0_cips z#zgg`7_^=S1irx&IP9Q{-XdG|-b`=yd_;9MVd7VBB=${`*x5c0DeDqI)h>3st)lYx z=72;@O1L8il)L_T6}E$03Inu_9WHt|7Rd+#FNFut3tK=jCICUafArKX^5N8BtbaSo z`fezE0Hi&T9XfKSw0kog^jZtO79#>M+q={1ec-WVgzo=!Ly#CEq6HomIg|NpPCS|L z>uGMFrNLt$(n6e|?s}W6_W+AIY;+8BbYjbm9acKFWQLjR-;{2(B+3|4(3d0%m57w4er73x>YeKt4V-`{gYbU>$;*Ljra03va1 zZ6$pigP)>+auu@=ycv;sbK7RRT$kS|~nUw|}i+;{cTwdWY`=3y|d9721n!d5H41yu?@c4qF}} zI^I$kLb;;dE9+6T*Uaf(QBx_<^tH^hwl%;`)D&z%=?>gFr2}X?M%N}znr{9bTuslb zm4chMPh9*2u?wfx0x01;<8P_UD}re*XidnO=Q}Zgg%ki!X|98luc-| z*TN=jvXo6Q*=uJL?>Qzm@$LU|Y~rP#K3-xIU+85My=>wLX~I5{luhUpc`aKw_-r|T0*g>fYm&vN${agid;Q;uIXg&5K3AD zSMoLtnV5#>(Sb)WD~1Wje>fw<1*M$>7s&%>&LRvGj2ww&vE)z`{OcJSeI}!c2v7_AR6_)h8RDUf^y^x1OH(58-$&{Vm zqB@12W~`j71I9|N+`wXGMwMr>zni)V7zHq6neqZ5u~oWhf}ddK4j2oE^;k44{aH>t z(w<4VQOVaf9adrDu;k}X4mc(^XWDp@7!7Cg_sk@ok)NQ*qHEJWhd<_|agCL3uBpwm z&!gP}8!It#Jo*8?J~_7+=n!DXtW<=uym8n)sA?z-hed7?AyfLj-McQ$d{l$+gOX5( zr#Iu8YcBI$;*zLzmk7X)=8^*w^GBt-OsE%@6TL^1@5Uj)VGqWTjQkMx5&E16LZk}u zO1|)wNvgFHsXuN@T8d+nBxl3HTdJ3`5kKcf|57YXLcs{6KN|>xZqcHs>~qp2OD${h zivgyR%3_qHTNgd{b%X#oK=(AIUiRSG!^i$Ib40{pFMH@^55H6PppWnmi#@zAmszv7 zzYi^V;xNZV5?Y|(5|WWHoghf$_(>q91PSE|n2W;86c#S*Ws1IZ05e5NhiFtncU8^9 z8h(QA>S*oHPtaY*&^myhpu0Bmb09wlT6&Iz4U-pME4pi&w&>HC_cRMb@DT?`L3eHQ z;Ro7`epl$O5duRwx@(foHV%<$9FLuKkFkxb9NkqL24%&&MH_k-rdy{V3qyA`fAy5? zJjLM6!|a7Q-0v^V{FF$c3Ccnc6UQb~Z@@3IfxZYEN%SbWkpfXELwHTnnI6UfuGpiG z3*nX6XD>|{=<6e9-+x3oP8CXlcvM|EK9(E_y_0;I{u3YI(C&*(@lZP5e557~AB%9Yky$oQ$#yWyVtE70!W|Z?LhUo% zD%8?Mg<8F}E;e-_cWssqAN4mSyH8T-G9-;MKv=vh%QZ32#bO(9gwljNMYC*1&;X&< zW}%NI93fn4Y0cjM;NSF0UYla5nA)5!7U8HCkexKo7KDy1-ClGDBRce=4dHbS7hhu$ zk8)uCR$&T#J)c0v=;pvI@`>8KA`p#F)bTUn6VfLVJ~5g!SmP5#{571N|L<#j6v{=b zNj|s)T1oy)U#;~O(h5vk9*ndsG7qF32=RFcKZl5KDaMEp1^5;h`phpadohO`09QCX z)@b69u||@;QVW8f??ekJCYHEO;K(s|8e7y6dI6Ee(d~!qMwZ5-IRktWqJ0<}Q5HUA7;gr!mKJxll;?-+9y)wPQaOsV z9zYxJ-j+11BgJ&q!<@=miAGWsln8?;>m=h8&L5&jD`;pNoK3tYQ|eWQU@X-HNh6D)*<_@D+kC3i@vSj+^_ zAZ|~cQB4V}+~;t5h8D))E>ho}>U%__u@48SgE&JAG4=tByVUoHNMj!l5<#b75{0CB zcdPFak;XnCBnK^q9@3~oeQ!|THLTauT@q<*5g|Ud??%qybM53#jl(B7Q5t3*P77dw zKW%UuqbL6^t5?>DYc?SK!(uMF_-Qc=joyh_9>SpKx`hY^oRxv;5nH*~)*`?fA;?=j z419%@3=3J<1hrR@kXWVtT0zFx25LBDWe1S5=c@E+g0ZF#HAi4sDKi<#pdYagIU#gNM45sg3A8UB3k2S2-mvM@C z+;+}U(y@^_j1MT;pi0kVhdZ6mz@EuaehyWDLnFq4sx-iX76Ke}jS&PmjL=ssUJzKI zk_@+XaZK-&{<%Q0{yQ1TsQ=z3pa~iY#vMyv3rQNM6R7_dt3)A4&hO+LQAaJ>lE?E~ zp$mi?Phi;D{CT#e5J1fn+&R%dFVdr$7oW?cI+sVqkn`x{G1{pDqjK*_P@$rYK}9TS z_6lm4O6P=5Ia7=_o}zW^;+zFPR6w~twO9{p1p!Pm_+IT{wehp9E6!`Kne_Ksd=g!# zo1NqG0xAoj?RF+1(b&R~S?653dqR$VAsEWQu+Q>NEvwi-K$!icme6D!10aAn9|^pcEnEbqHr9LCq%$Nl^+Egr|@*Jqb?un`AWR zi3~Ko#%N≠vvHk9*1gSjqppz2x6Z{t6xbU6cP)xy-V? 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Ð)$L|kW)DMe({6L6zTDe`*5 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

!4=&P*Uw%b!t@)2k@MWV_zbw^e16V1nh$!O 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

g@>Ja5+|$=qM1K8o5_M!{$vDV1coEa(p6^ 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 wEdauw9&R&`{`Ngw9)oC)@g&j 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%0A>=3IVsxDb*CLNM45a!ncRhD;6o~vkd~~ubp)Dd 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
>J!d9fi{jtC&63!a#Gmslxs`gzYME|s5LXTeEb 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
jM{WOBEd8&|Dw-*vI7K=Bzny0`@VB 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�rJ;qE*&VV%x^xrPUE9Yl*o6;J*3Skc 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 z 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

!yYEqU{6Y@-hCcSJp;EZmj=W{;f5xS_jN&d2M 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 =`h-fT@pcs(P5-@Q_XbtF&o?|6_vdegM~gS3WmF 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 X;vJJNVcuQP}myf7liU++A<*c35i;*1FQI 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�Y=OkHal03S6lDz4y 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

#CVfNt#JcK% z>)#XWst2yC66>l5uIm%H>VfNv30(ES^>_kTJ#ZaK;Hn3%_a|`G1J@M^T=l?pIDxAk zxIUD?RS#UBOyH^qt^)~N^}uyy0#`k7eIS9W9=L8x;Hn3%ixar&f$Opau6p2lEP<;Y zxNc71st2x16S(Su>%s)Cdf<8>fvX<4u1nym2d;Y)xaxuH(+OPlz;#CgS3PiDlE76D zT!#|4>VfO430(ESbx#6UJ#gKgz*P@i?@r*V2d=LqaMc6Xoe5m^z_mYts~))Ck-$|C zT(2eE)Oz50G_kIF;QCAgS3PiDp1@TPTn{I3)dSZx30(ESbxQ(QJ#bx=z*P@i*Cue) z1J}nAxaxuHvk6@F!1WIaT=l^9)U5at)sEN6{YMJgtJX! zy;pMdUSmDywXwr5evA_92-g4hS+-I=kF-G~8x86;T(@Q_$|E(clIxOOcby1ice%W- zkNZ3JOD-D?dR}IbI}T2vIX|R5XwK`7n~+@JBw6(B=wfF} zy4cgQY^ zy87CgLt>mw2lC=6lNV>xFML2@kn=o%Qd#F^(4Y^0trxpJNDm0C7GP|3Ev|KsRMo+% zO(6BM;Z6J4fZUK&J^N;^tMzkS_`&4NTc^mgHD@UH<>z(J-t{{uWYAHg6dn@vw?FqO!M_OdTg`dp$Daq zZg&oaww)TX6-;_#fXVs29oi{;*a)9C*N^c?^*$SZ>F>2y5V6T(V~F;n&CX`f8`m(W z7xnzR^LGb9-vw#k{Ek#sh7dqospina%Nmf=QCn;*Z5WFI!Ozv1R>_BUZjYqDDZpm| zGV9i07PK8o3b;I`;m@~5h&^yX>Jik65JFZxBD99wqhFu)tY6>SyjhoTp}l+y{Yt#v2F~$% z_u50L072UC)|&<9mjgE0UkuyMTCnY`1zYZ}l(0J?p{)2Ls)a*P`c92h_`_ zUUinX8TW6to=(#{S(Tz)(&Z<5uxAv;*Z9{FnA0CVhMEBrcuq?3oq zXJg11jJoZX-F8bABMS8fDg3`zA4(T{{hXd*y}s+2qSs%C5oTqCR!pb^jI*-7oINAw z`+7Aas^6@OHuAJSx6$=YNBzMr*H2L$J1>jpw!Ol01FeDO7zZjkv}E{ntqb)!Du&On zXhbu;j%=-QAQ?V!)=u2vb6I`d6Bjn-olQ9sJoWdhFc5q^2nK6c*s~$gMo!IE(&2aB ztl=%IF;wnBD?3|lcycY8PTLr|!*5g-k7KG&$1%s~6py5R1yu=)htYQ3W(|87tKx!S z8edgPjhPtX3Dpg=N^Wu#XI9GV;x;NmN1-npQ+;JH_E3RNH(p1PG-gby*k&VXsrp{{ zFJB4hILa{(Id5mMr=L4ou)`+n#c0P0jF~5Hb4+?MY--^6nyJU_ZFYbo)9kLsXO=TA z^qQufa|VVu(&Uk$r3bFUwWYvh4d6IZ1Gr{!ZkH9ft24EL<4BVOxAX%;g~hpAxV1EU z54ZHNRZQLMpMxfmZ|0!&!`3Xl+p=0)N3BNMQLAq|d9AIYk&f4bZ9IW(=Bi#YBrJ9@ zwEnq5(nuK+l194lAb3UJHdL!`8*28xZRzI;6|fzyIlRy0+Xr+O}GBBv{`z$Wwp19YR>36(&YBG z^uSe&rq9)!WO1YhaLrz;@zNX_mEjyC_}Ded9=z_ijrM zT!q_vbxq(nQUkb?H-uEtP|v7kaA(wl?c^OzD_~1j78;6$oVdfnvW})Ft`l<4l2ZjM z28F#f2Zc7@xy{b%YnCx#SqIajHG?4>Y4X8zd4UURjiyKAJkr@&%gthONe9=^oOI< z)jwrO91$3UCoc6Z85SDy-(S9YxyJ*2UJuLR7z2iL68|oP(UUvL`o4sQBhG*DN6+`2N0D0eE09% zF$N;yX2i|NxXIEJ=bYb}_T9hz+v9f&TqT{2ZU$T>fklbf?+QFNO3q`-s3vI|(S6$7?%~V4(meQz#;#h)@)f5Bkb&5z3&ls23N4OX9zrOFkHR-h$sN4&i z^jZ_N@cY+BuN%T}(nAZUh1pyKT#8Aw7Xu0t@;Hn+11?<8tfW?34> zmFqQ_NI_j0QnQCc<<`99tbfV5d@JiFsHO9P%R9`bmINOdd#TOvHwAa)M&q&kx$pUM zfK`-pV{SaU^B^V>z?$Go<`41jb=XCL;e2OBlqv2rwSXz<1Z4fm1iX3)>`mT8h87#= zv6Ndd)mkytAQ_P0En{)J(W%{#F*_Ivu4Ya+(sq#`leso$##jy$oD^Ix?gE7wQ+&+h zfC~kj6A32spj|8rFM(v1WeGC#pxpy|lk58!4n`PQ*3nozU@tIGv`5RBn{F`r-X);3 z3-Ju>O_4b4JhP*Bc5W!Q9lhzt8%nm_%ax_IPN09fTgcr5bRc41Tj!2rpcI7X+ z@T>9(wXh!1*WGnT&!0uFcHP1n(W+;8i*KvlVvV+yC>BvNz>qE_!f3CbJQA|~T-4W1 z%Qwth`p~+;LNV>-#T?ne5p^xMOpjr*Mb0QTqD=}jMp%W_q+PEckf_n3&h1HC+N2w; zy0hx^c(Lw+KCC>yeaUXLTPI;OY<$9KlUQp=+-?f7wJEeP*K$3`QT)|T8&!W+MPOCw zd^Eef{*_+LP%&otd<;c`spzV`BpVhdq#6?)eVK! zIA__|FlUxQhuFTJ?WPl`-ZorKC(!DhKo#6}^pfopVL0K-R67+QE1=&Rx4)cQYUt4wD_N;%BtX@4Na2rkPeq}9Sg;{0G-^G#;y{F zE|g0(WvA?7EbcKKwg)rXSB6+^3hHE1cwr^|(l-0JaU}P3Mo0)J_&rr)u(wiRxT!3kIez7(d|wVi85xW?D7xM3@-koB$-77F_V zD^#)G@e35MOv=-}bu3MJF;Z@@!F8NXci9@;Wrtr&tB_+yuUGc)ldS@Z>ga7rv!P^L zd*7(-i{MqkZOfVj8E+9R4x?{hvTX}T$Kju(O|sQ%NHtf|rXdBanj5l!U)GF*v1Rbj z06vphq6%~jATy@sg8`0kLS^j&M)RB5Bn)b%QLELXV`a&%>Qa%oLZT$+EMQ?-h5H;w zIyut0P)v_3R*!dKZFTdo9!D6#b&VDA((INIS4Vn-0CVnpFEa}ZV@jdPTEH}nsl>|a zQt`TC1q3Y3?n{c;F%|a&17N46@J0^1Tp=C__q!276E-drj}jjkj9Tw%53hWJp5`#1(O}UNqcyMwj`5%zY&7J$zv?KYmY%~ zDA}5-?7CFhCfS-~tFiz#bds*!DYSjV#1+1@wNKLR>r1Q9){fqIXLFJsc?w9A+nOtB zb0y8F9uIe*AUj8okV#q*Cs=!N=T<@E*w7{6==FOXezH~QZOzc}x|W0{x2=n8O$eBE zk!@cw>U5kh)Dxa@7nyqbea+Nmr8{=8ic{;8@u9mCOv2i2((P-?SJL9BZZxv3EwQIc1;1!^UO&w(Q+*UD3n~UkX z$ktTdnq=F&;MLJ9+qP=1?nm!zM6T|QVK{w8_y!H^$IcPL-z?dN?1bhP{o-2!iVAAgS1m|ooipE#7J z-1=c1ns9?|2d&iay*s6<>s{#}RujM3`F)RPF{VABgOWCZf9?n-h*5kQ_(%0 zzejhOaj~0rGycX~r)s+irUrZU8?R8k4w7H=hqqCP&tIv7aGL?w?q!o!_sn$TOWd~( zXB`1}09%Jx&1u-2hV+O9QMBMY#IhFBBi4oL5sO==$Mv4#`@p)$^%d4mtVZ^t-}V@N zpIKWAnooqOS(SID@=?q>5{_;;f21{eLcthSdeH1+L3_INQy7xS4U;>2R69SszU2InDL_bu~)u zkk_rwz4$@;3+H1Lud}b?&m3wLRheD|0>39(plEf(wVsRumZB~b&8wig%!;cgxOy^w zp{|~C6K>K?C7M|jJ3iMf#IcL{@)0zy`!8VBG#b~8f84C}EjQ~gxIRoxiDnseHPb>5 z3POl0TZNXN5t@)HV_UV5=koX6$F15RZ5l204)nfu&HyX~j{b{NT>=$)aVnyBvxu67 zgxLakLfYvD<)^#Ar0fz=digAa%tTc!(HBf#f3pbhkdS`+t>tw*$gerX?$Cl@GJ(1u zbi>h`uL{dBm<4k2Mm=!?$ki&u%XXn<0*c=b;aUX}BwV8j{-n>f710LhtgUKuO|5LJ z#!YF{1^EK!^yQ!s2{_Y1$yOIH#M5qCz(Q#Cv)+B3qG)z8n*qEjXd+5(qqqJp9k*}; zT3kT1R*2Q++E1?GFPHVIyEO+#i1C_M5PUjRYKKZ`u|uEhljw52(dXX;@%6g&vi9Jj zX;ZZsxAXY4%U|??hiDO=e^ETdgLiOr#{wi9hFDMQ%t-#6tJ#b~#38_wM%-w0_ERbJ zHtyL4?b4#%ZokR!JB;(^_yUBRkcuC@@w;I>#b;OX*c3eW(y zoMe*r)KG5}$*!q~WM{2{WEbfHRV2G2OdaDZ)uSaW#{hYSL_=CJXIr92{}94s%vBR| zg4Axy|0eM4raJVF=nmvwCmgtf5$Sp>>(1M-0X-wbdeH~J2d*v2G6Sw3O@4ss2>TpB zgr(puWLF{1!Hqea!2SO>OePK+k>rAbuo@45oGlv>K~?Y;;e4PcmplIwyle7%}~<1$kv>sO|orp1g^P~t}A(}BDg<&JE@_iGKC4=PUu4;)

-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

yx}TV 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 z

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%0AW`I83s2uWhCKb|-HfV#Hi(=L&l(>al) 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�G4YOvEm~Z&Uyb;9xLIMYYdM46TR%gTDTFE+0(&&cx$t8bw{@_Vssxg zJ-WJZmqft5+a9CIoa#T0r-w1@!y0fbL2QXhm8;E7JnHFD;;((*oL<7SQUnfc}sc(Cujf-If;6 z-J=3|wg-(-C)P1>$!k_h=ftK_hm_EPbYogT_lydZ&>~%$+9KUK>W~szq;+Wl-H{g1 zse9NM>T?6Sa+(op*>i{w6{OcbE^ zIi!IaDx5PLMJj8l@FrZwQzJH4GO>Ls9UYiZq#n%FL4=!}qS8J^vYEv7a zmg=GQGzC?k+|SXI`%@Zn4+vwsjxc^g!uWfiFn+2djG6jvycC!5$hd@2e_S`}$F){7 zuF(mjKGcPJs0Z2rb-f;HO&g$or-yo^DX99Jc)6b3A87-*U!@<_drgh1K3V);5A}3C zs3rx%ul2|A`I_T6*u>3p_fPcP{j27q+rN4Jo#Ip3KohJ+6TYsAHXOwN{I8y)qE4*Jy?7bM@45H7?_+aTl!q zhCWw6v}ZI!8+{h*)5dE3q4H)^v{4`Gd_C0WHb7mkhkCFnsQPQQP`_4xXlkwMLmil_ zwKCkLfeQFjvwZ$tJ%3sPa&JNitxp)U^{e%wX0?Ky+=80CUq7@}7+MXVAANh(U$Tq! z)N!w7$y$Y4q=$O9DX97j_Iv$;y{=iX(MMGuYNj6QoqAABiW}1*S7^*9=W4`_R!4P* zepFjEqY5a#g|q7oJ;mSC+}Txs!8YoL_NZoPtK)AXBbM;kWRGX1Dt zYid;W*J`C6>S+yBK!z%?7(s$9RJStXT!@BfSFlxlRE~VsLx)du(-E2KTXk zaQk(G8-176C;jX6r2nvn^jluEPxa&aqVBkwWcQ!xwaW!fvHSW{xJo~TyEIeS>T2Dt zhuT>Ws>unQp+7G#YQqGs(2wdl&8PwzY*z9e(Q~P*a5-_w_clEP-lAc^qZ3AbUVn=o z>g6^-E!0E3)f80yo%NMoC3;0e7_Cm=4E?B{(2S~O8r-8lOcpmsgY~CyseW(WqnW~% z$Muub^^Rs-!TG@Z$57pnx zv-G66Lqm$AQ+<8vSfHQ9jrC@6T~;%Ts}UhG(O#MLXK@W>!J1ioUO$WXVHWY!WUXxH z>4)~VW@y1IHhENjrI$4>tans43AJAjbzU2w&e011bK3y*rG8YiG*H22Zb4ywMo)%o zNQOxpduQs&@cDXV80nj@znSmQL*1u=3TCkdeeWy%EZ&Y;tTD7Dfp-BOtkEy8(BTC; zI&v!Ov*6$9S@4tfSa6d&`eQxq|4u{ut&VDiepJtBMwP^ZZPydXoy{#+ecGR)r~P#r z+HZ9huhq}u1NCNcug){IOFUEC0?*VQOBYf(7t^H)sk{c4@zn5{8AxzjbipY<;1PYS ze?tGA?tuPehSo^>DK6uYVX!1flHb7mdhuYQ#sIT>&`rS=I)hCO~^klKA4PDf3k7`R(qpClFv-MDW+5oju5A{+TpyuhJUeG`#!QMaAO8~d&*n5E2f?)rt9`8!v z)d=>%S=p>5@l`$8dVtkf5?cm42T#=;l*`)!_L_cVf6##i=U0>B?=-!ZIlrFx8wquo zFWej!F@( z3ab7D-lLzuH|kAbBw5r?B>G6NfL&0J0wX7|{-~zwNA+qOM)ie$RC6?=3YgP6oz~Dm zuERdPU+?R>e!V8A@K*g4?y5J1kx=!?eX*Y0A8d-;>qA|jhkCXtsQNT`w|)Yj(oEnK zJAYR0w>Wof7Csq54Jav8j-pYezN1mx%qu!F1VbRjU*aqXk4x0sI^#mwLsj%GVqEb?S33Kz!(X)g(-Tl^95_`K9g!@{5`3s~ zh1y&!yoq{!te4fzvRW*|i5F&Wca=~e5QQW^nqiGrJ=H52mH^ns(?`W(u}apDtgg(0 zqqAHDlOvHK$O+2IU)VJ~NTvQ5PEQO^WT7okd=STRR`GxA;-=;rSDg4`1qXK75!K;^16ov9w<2rj4qyDCB~mvS@6)ceHqK z=Td~Vm`eWaVuPm>tm z+giL2bn|&*5_s=v@xIXE-JJy9hg!V-I=l@@;Ju~Ao2kQF@IV6e@_`obavk2wNsRAZ zE#9>{yq!tly{5%mpu>AQ3A{J8cuRD6yOY4%tHnEChqpHgdfB7Jds@fOzDi+4d|*}JCDvpy=xqyIg}C=l?YK%&ZiHcp0kwawCx;lA(pueE9oe^srjTI-K`$~@`X zyK1xE`ls*zhWGovo(u*j#4{8?MaKcmGzfmGoH%?Dtg%l&Itr*#o657UcL9??J*Sf; zuMMLqr7Wy$;wzTg02H&<;{VJtu-#ZDyzuL@41All`E4mz&Vt@jCD!pcaFwN8IaR=d zujEof<=8e(E6%C36$|(H%DKa`ShzfJ6xODaiE8n3zHl$M6hBLuFR?>#P-6$ zlcK(EMf-N^&c&JoRtOxhe^gBz^p&`r5?s>zBBRuG78Zt&g;l!bg&MtdcaRrHv2TF_ zf9eDZ>|vN7!)YuEC$sU{+L!M~>)G+e>EBU%U=lPtRg73=x0`UQ`8#+vlL zoaNvd=W0p|kO6R@^29&+0yia&yHlTm_p%OeLlSrswRo@V z@U|s^H(85!LWlQc5_n^^cr$eJWuXS|3Z=DBkc-#S>F?lqM3qg|s+_@ip)(kl6=qpHalT(&Ss^VotWfoNQC}mQ0qTtaMsy`oOlN4IZ?x8f&M;wn?%uLoy7WyZe&bk+{{*!sk8M zpgreiBw{X6>_Bv0jA2ySMNq&!5rL>HK37p!eD3q&d(nA(uA2`cKt{6 zHsM^R5*)ez2eNJ;DR{w=gbdcLRSnjJfcBdL+HMMHmnoo^O#$sT1=MQ_=y_8>drblD zGzIjMDWH9(fL=5Ow8s?CMpHm9m;%~j3TTrlplzmrUNHr9z!cDCQ$Rba0yU;44|3Jy zZ^l!T^$o~jKXrr8if6H{UpG{0XoWD_q%|y5Zghx+FZi>IrHw_WNGnxPvJ4Qm`Z!dOUIIs(5Pb*(d|F$j}ds&IV97Ev+B$oX{;?H8PuUeK_Ui>12A}sz}%2b zPq8pK)1%zWw?9#{3M&o?ZLeNL)R+7~F}mNJSUl2xVP{vMw5f8P~Ou4nE7GDrj8%3JXNIG>#uh4T&S zBi;m)fPKT|fR9vCGjFT(qe96wDc(Ytvq=vg0=d?*`D}a+-xDLbS?iV$@=8K82AH!} zeZ(j=dZD9*Ib=1ttlz_Xmb!eVK)7u>p?9Bo{z1hXD|(Aj|U2L=BbC+8XJSDSB@Vs?6V`;- zj@H=w$7G{DPYZ$G*zs^4F@&?FVVq&=C>O*YLKE>gp{ESaFvCmBe-GiMQJ6p6P``|( zKeT$$G^)TqhX#^k`a@6yIWuD&Jtmdpure*yv`M_>3qvwiF|X1KGj4jJkJ;BMi>A^G z+fH1{Mk?9GHDd= zJcak2s(96Ba!5imIl`4~u)?BzLseA_mxiw^Y%yy+bp|Y)dne@W)g-m^Zgm)p2rxqh zJ2bs;hAJ@TlWCCH9=ijVT9n?gE(e1M3$~H{kHmEH7`D8PtOtM7UP{%D6vGy^Hn=(5 z6~iNg?2ciIuphpQXdzOMoZ0Eo=W!{0dH_rTgvi@)U&v)Q5@Ui7&Dt_iqc7wG`a%Ng z-M%vF-3%l8)<(U)HOwWV`dw&Z0=TyU{bvI_bqn*AwH|mYkG+8(w(QBB0ga;#zbFL^ z@2#DX=X>66!8KmQwuq;2H5EJfAp;xlACzJj+~LaQD9N*;{9sc{rf0G6l@bX?9Rl%| zP{YSxJH?0~F5w8lzj1OY;NnCs1*s!YNjy|%n2%Nw0AKf@wr4>^gwAb!0ysB!2U7YM%KFK z#=?NeO3J~Njh8(A+wxl<^;=*52GxJ!jk#hgLk@5q49-w2!nz)k$?`yx(8O~L3F)ch z|8amt@bU%>sn_Sg2NT

OW|W*UrC9@^xb`;+h1ILLwtJ;{M>xw@*us^;j~l4o>j z6RUL5vn6|@(X*QI9@641)8Rd&!Aov3jjr7NcUE1w{RHzqm##M@MP>TFK*R4pgLE$Sw9&wYA z?%P7v0`4*9`nu8SV&*Ko*@HJ(Z>tD*tv&b3qk;^pW$`3{i=YR2*kQ#|t4hFBnRrs~ ziGEOHs(73Rou7SxRL2gOmRW1_0gRF=EE44g<@#e(bgaASaTN0~FJBp*w~Mg$N>j;^ zl{3)surmDmjCCCb<2U(mt98hQdDjndSd}Fews3T4W6AzUoNHT`o6QR|~uo7SY^fjcUkEJ#^nE$|=Py!QDue zG#WFL#0!mTLll190bi6a88GV7!3 zF(M@?NaV!q`f7dvSME`6B?+MEq@qD6s@;;+6coYgMiv(Y+-oAc@q+uA35uRiROF>s zW|VGp_`@gyK}nJfF^;kuF7O06ncD9Kln9q&6mS|1g4TsKVzu#-#)eg) z9YmMd%&S;&yrc}CvQX* z_k&-9_W^CaDXRlIIXV~F4~>mzy?#Vb>PFNU(k4C9)5#<4&?7yoLmI9^QM8Prr?#TG zr4H_f??mk_n8{B(%nLDSYYkTdLSt*;lA^7JEl#Bf_c~5L1vI>($^(EGhEZtqw_CT( z)2N-L>~pG}<>a{_h~K)~e_MzXM|WF5Rf^me>b8N3A+c|>SXbnECuYgk<$?T=`3TezmoIlqeKtUVRRnCRNqAB$jFA|wl z>xJLwWIzspS~_fu*P&VKqEi2uYf}uT$heeYM@3InheFhgwR#l$m&1{7eJ-fU9o8Et z*+i3HB4hAPDEqGS+Uw6uJjpmSkAG| z*`sse4T+O{0v98dw3C$QCG{GM0bR{Hm1S$T0M7wMd0n0Z9_SBVmNA5MDm8bc>>C(d z+@H`nxP2&HC_%P8TGhK;PJ&=465uG2pLHa>Vm#7jP+!&ZyoNLMt35HpF4wBa|wwCyX=>jGTxpx=Ee~<}W z?5F`w(W}F7N8Z)L{rbiR;goq7hFd;e5BJdyZp{Wpr-$2HW-?z&XEKkLnaq=ACNs89 zfAyS36>Ud}(`X@(R$-5?(n7GaJ)=dWN(XC?lDeU)jBfeOfhqzKR6@)ldD9mj6=W_0 z@-XZnZ~2ue0r49RFJ=l=W@{s9*}N zeUU;+oJ`B|sFT!2ey*!$;OXrsA~f#R99!Y~y@$|0a$U*+5O!B=sMf4n$KaI-skYT#^=!J z{B6*WX=CDJdR{-K^_np?G{RX6 zBP|C~;-_k>9_wM}BKXZF@tJKhlw(3W;PBWs? zc_Op@tzQU0}{{*!;zpgpufR)w9-h|0j)EhdIgLV3c8! zx)Cw$DfaolF{7m_1!5q&);AWSy@r75)7KcI53ISXQ9qAoV{4`l&N#RluvR2RG#?-0Rjmk7CcOXa%ZbAzFcBD*}*gEvYX|vZCbAguPe39jF&f^m!{N zpq2t*Kz(VJ6BQIEJBK4wSJo zv#+5S3vr+acID{03NDpzP!S4M-~_+3piyDr6wc9z3csYq;$R*zf&NPbw?~V0{fAUH z0&dMNYtnYQPlG^*O<1yMm_?Goj-rme_gkGmCKl$%wKwVY+^c}#4WYaAExQ$6DJ z%7|Muh$h3EUtBD6L3WdKc!gVRCMpiG-{;(l*e}I83$Wa~AD3Z>VuzblaZZGK;&ih2 z$Ti`uZ!-4n#*>0kGM-R3x5H%%IM=N2vXVB!eGoqCqiC~|9m%Uc$9f6f#ctkvJ&2O@ z2%%J)cuy6>lOMuo5yeU12WKcn5LH*yaPW0B)bJlfsNtq?V&BCtzyJ^L2(S21EQ;~4 zI3}Y#_cYlFs3h7NP-t*9QVMriYnPK}RK;x6_Ibwh64yGt0&K@K0bQE@!WOB?AyY$A zOfYJCg&Q;tC2KKgI(tse#`A&-#)vqV7cL+#fkcc+MeLX{-s2=7YAV56%w@a9ekC2D zON;7lqujw4;&TTtuZ6clW!FiM@zGXDQ6ZP#kxnVGRvx+5n?q5kUDnDCyBp+nC@TxH zDnOEX6FnJqB$;(b^{kZ~FI+Ez1QA6l@Q_O;>YK z3;4UN8}>Mmf<=ZA9g|t>#AgdDwk&Mi+^<5{5;6*IVjne<_Y1=I*xhQi9R8G|UeH#- zjJ8=D{xDoEhNoG?VeoQ!cQsQq}gH zx$DK-IyloObdzA7TCB12VH~scCoHbPnGV+u&q9cFs7f9FO%GCOz7-r#;pgVz4+vFa z%CUYf<`Ly@FQ94PQtSXTwb()uD+({EdbseDoSQG=8tD2~eh{l!@%E&yB?P}B4uzY0 zN*1eAfiSA61zm)LawOpkFZLY!kK~c$1mQ<)6xH5}74sh4n&|7|Z$S@346lhi8sr~**BekDL6!)BTq1EVpqL7F zpm=6H=Lu6hgRAv3H)ExU?~X?X0wm@64|(g&f^pxxtn7P){%;>xV+o25$BY-q0G(lN*RIu z!8G58`VP!PGRy9O8+{sd1zdDKzMr2PWHWz+vLwc(2o%cW0)e+<(C?ZE@a0dRD-1+YR z6$^a|nQShfVeQKnm=<4Ix>tfRFZFIj^TD1oJ zF1IXiRIy!NzhZkhs|!;2Jy!NfE)v{HKRBa^1yYMxZ0+;^Wi!rytcvRW;=UZ zoW-AKqqS6h|Fq(#_`9s^9Y@l)aep|0e(1k&EDg>;2gY0ex~Wz`{RfVogq(Sd&x9f?P|_XhcB%`Y$7EGOS#@PK=e>qdqsG2CTJmRa6DJL@5Ru z$AeI3pc3$^QLZSve<_aTMA^wIWq`k<$SZE!SDZ>SEnWc()&D?>0Mb30~)=i{#IQ!Aei8uzw8!#k;@g)quN3a`W-! z8TiXt2WR9ll*k^q?}w2+aA~ERxSv{+{&|AqNJ}3#u0$(qhN)T^bZdGY`jys?!2KP=mBwkF**{cwP|6vAgp2%1n6rfb>TS z=sZ2n^)s|1`WO}X@U$S#C9Wq;$B=cMk@f=m_7x9@KTA1F282l|x-+ONi;uWebebFi zFDeK0V4W*GwFNZVtbI1-%jHd}9c^8^GKaSV{OAI{JVQ&}*4VX9HdHBn$a6o|vEwqb z=l1jsZ8^|`|(95QP zwwnT4YzpX@DWE4!0X=03Xq73TXH5ZZH3f8^DWJzp0c|n`w9ypM5>r60n*w^%6wpJa zfR>p8dd(EjPE$a=rhpza1@yKlphKo~@8zaO^r9)CU8aCuHMK@tOpWM%Q$TA?0j)L# z^qeW64W@whnF4yr6wpyqKu?;-Vk35>DhM$r?wVUkFAKWz zE5^bqvr=CAAg2quuGYlDE{+vtDW!7bYX)L0N48h(a^Pe~1_^XX)0m4$D8fXFNIw61 zha*RJDn4O~4fx}#wztGc!IERRt=(RT3k_W*%8U)4 zR2bXQy3l&hD2IkmDxjULh*mx?7;!%AXzLgX@V9_)B>^&3bwYA%5VIoZO7a50WRq3n zVk*uRcE6%7`;!6UZFW|E_eYnl@e`Ts7mh5;VS8{EqhrC4VmuTr(d&%`+9P$(i_!4% z6{?qQ4)CRzBB#WX-R>|MB!e3L{e-oqUYuNhA^)lA#6Lo$lcY6yae~d>JWBr@X`K57 z1oQYHv4|Qf7LV=0$b1_%g$PN# z&=ylb>rDZzGX=ES6wq2zK+l>2+G+}DwJD%Yrhqn>0@`Q_=y^R*nX;aWZP#sYA@K^j zh$`=S|LLs#BFZ`89mP?z_|D-RZVObYmD_^vfH=7OQ>BsnRm&<+C&-8LpzgXoZ;z)= z>p|UzcV?2!??ElR9h^Yxd9*E~@?Qf~a8$4D%!fwBcM=-aX!6OtQ9U^?Z%+%13h!VH z(=lBr6XhG*3e5yoF6(KZ=SMpBJfHja^LcxRDo^4p*rS-m-T=}vyc3>3holy^Iow@w zrXT6?Pr2ZG@f2!)-g2$L8~yzw;#LXc{5;p<)=v&=du-th{jGm7%RW185#4V9KOn;s zNqthSq}a|vEoh!d>qdGgN<~(_3AQQzq;FTOsuIxJ2}2bN=z!ou)GkSi>8 z9$;;#CQPOJ4%~qx8M52byf!>BSk9rM$yAwrvJui}HdV<>6#eUe===OcrIo9_2u?C@<=F#vM9UtC|i?7 z*{nx-C0UexdX&eKMcJ!I*_bTK0X@pPWKnwcD65i1c}b75FIkkGdXyE(qU_P5tWOqY zhaP2HvMAg1D32$LvP+M$Az75|dXz1dP|ksI0bMkZfHO!%hRzm+*6+d=&2I}dKbD&c z(KU~|+mU_&xrBNz*nOfU&HCUvm$pekcz=OGF;Id!maXTM6Y zZ)dyhiK&Cp2oQ_3+rBb&FyF|=rVi#C*|?;@91}QJNWfl6d(P>A>=ePJId%O#n%HQ` zj#EWy+g<;GKh2G0D&TXWqBgF_K^M%&1#MmTmgy4_geG{oUd${5Hc6|}|-p^H9bl96|ZyEQjlY`4+CG?0E`_O2-*=qN} zkpgc50-(iu;Sc#Cou+tUyd3_-QV==n)GPyca)ME~(G!irJz^GaiCMS>SDKwnvvBh! z86Djcvv5nz!u6VkJ8l;4eY0?jCmY?Fd(6TeHVb#cEZnpysjOYaV24NS)Yj>kJxNpN8h^wR)FvcVbt#`0B-M#WV!~p^3L_qg>rmMj&kM8aqzr9PJCQcnQnn$(ta6-iRj8Rhfbf^TPg(tl{MSLe|jRreP>K`Z0aobgfjsYuE zY9MeVFKBIm+GcdUC z5Izp}1;El|tWR&t;%%wA$z|fs?y$z39j!!|FZK*aN8>*DzSwgf*}E7%La<}277E(_ z8V;GJP|&R>=(`J&y&J9D@{W!uzaoVKF|X-}@@W7ak2@lxbldpW<)J5}Wv2npMx#jo zpx6Y#nn85YxZ!=eX6R#+7s`HI9L_cn!Yxw*Ak%44qHPeR5VpNAaJ~9iC2O4YZ?{?uCUD8C8cgH1eR~gG!pASMGoHMyat$WZXNy0edskFZ8Bs!qQjH+c@Z2x|s z5U*VErCu_;;%mkDdL0;E#|HlvcQ0G&95}cZrtM8kn_RKn;92W6{3^sMRo}MNI+Gh- zwRdT=#;gY+5?55I!Wo{}-sp9B-CO#)d5bmIVPhBX^<|JA)F3r_@t)QRqxBkL)F{vi zQ$X*V0vfMVCDNF>nWliQG6nRJsWrOJ)QCPbHKG?yjcBqdplPOnJ~p*RV@!=`swtpP zOikSpQzM#U3g}H!K-ZcA`oPp?IAscGM%<~>>Gz(K5LK`TXV6z0o$RK&(_Q0oV0dIF9ddT!#;@U^bbH>Yb|pKHjr4>~>_jz|u=e~F3Z zD&HQ>!Et<^E)7a)+68!|N)9cOub`N}b(&Apc92aH=9m`7=_aNh4eKn!PKL)8-`k~- z2~mSRa7i>lP}y2>0BwCZ7Hj1-ddH_}Z-e0solD#b<`r3hS~vBYHeJz%!{3c?06*gx zYvYc?=_gZVV>_-IVL`Q$YUO#`QAxwP@j4C1D##Iv7dZ&0sbr6@t7mwjh&ci|6JoTr#dx zM0#|2VF>sGrE~DPs;ULE0^tE10J#Uhh>E(v1Bh!U(bf_>^sOa4FQd-o!-5jxt0lQ^ z$=lD73B;=Sm^>6fShbkaS-P=X&t3^45I%D|Ny+UNoV~^?@XxPWfqz)Gl|h`K^BH$2 ziu%*@CN5_v7j!v?0xpUdDf>b~mbd?*xSh|Cu-q9K4o59fIf;Nd)l6a$I^i&T<{?QF zmTD42vM_CU>4!BZr;4qpn6tO`7D_LFET;(XV)7LwUerh1k_Xyn3h00-puMJmUNQyr zf+?U^OaUD-1=MQ_Xum0-J*I#TngV)R4^%m&A0nGY54sVw@ro7jjZ*(6+<(mAKa+yo zt@ZF^FC$I0lwJVN9jCH3G!h>W-$7*u&ni+#bFzLYUG;z}1to$Y98Itk0^jMSVeE|u z?>Jwuwo%zf1LK*A^rn?mhP+}3>zC*7;GMYbP!GZf`1X!y?S;yt!edUoCVj4b6Lr=StZtlwnk8hfZhMSZAn_UcT2-Ca;Q|`t_gS&6({HMn?QDoB-*yzBH=?3=h zXJBBac7`b&({5GMc#Uqv8+04-L(N7Up}Kh2LsHbjy6SZ-n&R@|r5h#yh|?u5AD-8Re_i5>)eSVm6wuYC zfM(VR^m*Il@8~x9m^;aR^!xc5=dsS#0gX)o=-t>riDwDCqqpUg_glVO21rSBO^69z za%R}8gmlFQ78)=~lgO|y(8KQpI<3VB-nK!wyXo{|w;^?5IHUxMjx)RdvP6J-|D_sE z-GbtG%vxrSAmz?C_upq1iL<tHe zsF|x$Enqnz+@N4&IJC}?(Kq(VkAX8?$o|fY<3`zSaOUt2yrFL45BN~EY z71ynhOhU90?B!C>12UA_<)b=1VwOgaXcXvUQ$Qb?0-ErpkX{a9Zly7GCrpj#K2tzX znF3mD3h1OMp!ueNJ~RdNgejnfrhx8`3)EOL=o82EX{R@RoQt>yVj~U73<%y6yd{`-vx?`{MMdG}GIXUljy?$IEP00lPt??SPRP}1T2ax99XvM2^cv6d<< zhTmagv@0SkWcWg0o#TrvGpjoG{Aow^RGCrTs~J`O7cE!n-ZDt5qTZs$hP1s5(Aevv zn=g5v=tpIIqKSKXPw0WF5`nIKE^9CNvY*Z}eNWzA@?~gX9uers?z}y>2fNQB0$q*2 zi4tczNh9X0MpJQ0q-eT(S?2*>mVUOQma~X46=$gA!=YUY(ZyN=k8g*_hca&7D9(_~ zSJabPyC;LxB=s9v@e2zpS+0+PrPixANtg7sYSR`H97zGTA zL#yGj2D+Hf)`HpKdSl-Fbr6c36>2)8zCQMmf3@gNksU$CKPWoMl*%qo zFUMYk=wz%>>c{_Cn_udp_-m|8FwwVIjWeRA6 zDWLVHfHs=~+F=T4obFyq;~cGyJ0jECo+%0Y_bRu`3_L}A22YMS!QjCXr;a!W`r${1yWHPnq}EP{9)H*n9eP~NKo$IYjwcV* zT&1=+&1lt_j8$rA)bv%3MC*=MLi|lqd4rBUr^2b;ffyU;_Ub^UcAhDmOI0P+p!G>V zD;Tug=-9J^GBnwa8CC03)@)a*6DyIF%6Lc1>jqaribb$d)tRKb%$I3ar%|B2 zx^18XYRtyG8drpl%02aD($?(EGDy=jNS`-TX|irtEZ6Lc&)dMJ=mxezGcavwY;|SG z#WcVv0x#w4&^(X9KcSXMb$FH@@bW=W;|VGN^TebT2VK2^bg>3Buh}&!M4z|inyOo_ zXEe)YO58RkoNg>5GOpE#j7H_{G~Lv#(o9{WK>KupT?b@(^Er;asBX#3EvS3&=nX>X z)a}Hh-sHJO9|w>~i>=J7z@P9ix2w*FZN-j}h~DL)Eg@6lpK<3m)>~-RPP+EOI)(Mr zlhKY$@pL^chqnyM*q(^4XIfFdJaIC~hIgU*O8}~+6oBesZN08CmEy1yD!0wL?uR-} zdEw=e*&7D3RGwt1pdIL^3|!#V3&ckA2vMrDHu%KSjRI(Lmq@Q6zT>1{bR(x&b=Ec| z?HUyg`*osWokj+k8jzPmps!M^2rDRZ*kaFp`V%H!^ubcVHpI-gS*6y(b0$`;wizGk z@H2w+rSy?zuMwm#r;l`UtswQ(i{xy)+Fen1)Tj`}U#2368F33{#li+<*!Z zz5r0}{M`A))*iR33=3D2o0XRyN#J3T6Vwh#CzT@>Yls#HO^fFStX0E zXGkq_?>#s(dheOOl1$^75`9-FADI3~@oItB!@>)E#!~tMWiF0hkFNAoeBg7Vrqqs) zVa)WWG^Do-+YMrIg(xd5Y}(=MLeK)!0^`PEYat_GM}%h^1RIfUryil7M$R9mk@JUX z>@VjPb49;oEB(o;cJ8%rvz!Y?pysfnn8RGJLytlFm0NvGz2PZg?fU~`P*4AE1j@7- z;P8k;W&pIlZu@I=EEik;85jL&{MUw!o-MYG6yqJicPSYsu4twGBPP%;#yeIn14%7L z02_>=-Q$on zr#)FaGdT0k{iDvnuUYHuD+^!Gf3GJ;)^M(vwGK_k129{ddp3k5L z68`MP>4i+!$ZQq|%|2(u*Yjj9+t%Dirb4i3$8^06xMQJri#X7;asCE3nHH;lL>tjwQb{yf`G{iZh2g zx>5}H|CH}gKH>#+u`x945E4cpEfoQ`6fS}(lIw7roVsc#ri-P--7?|0)jhfiQhudF z9RZ{!H6O_=5j>ryL6$GL{Q2*@QCGSfWyXo&nIa(!aX#U1bQtP8z;NQ{z9euQ3T1@| zM!SO%vw;P_IBaZdvXtl)>zd6gN+u2lfniwF*5w?Ed5}7InQJ2kPw<%;YtuMHiTG^% z>-SIQU{J~T!)a9C-^&9Ka=sYx$w*DXtVoQ*!5HyXydR97O*CFiqop11VyWYZHN ztbJ^GY&^tSxv?A)DRT3z_wLMUwZLRi-YRIY09H6RYL5-l|fa{T^ z&>d|;g`?#*gchQzY2n2w_BS{=&?L`rgOA`lKa=)sf>(3@g9_2A3D35ATl3$iJ(Pc>j@P1sX$1D0Mb;XP=H%GX2pMs zm~0+>DFTFtk@`xvxMH?}{YqyiU5*TXPq-S6aw0oeIwxnqFQAgp!ah6rO#NxaPPa*E zOr%^l_LfJVAqWWG){Kh-6mN`%<(0doXek_KU0$3i2d`PFa0dtBmg%66mJus?5zbzJ z*PBa{xKm1x&Q!SCu;0~?#lOop;jMDqxCpE|L9H(!SQ*c^nl(&-a^VUU3O-e5jyO47 z54_04$=1MLfkWDQ>bISo_LASbYMJYLa2_^WhyR3!(WaCM} z07cRm_i8YPx*<1h5X51-w>jDXLn4geG1jTVn7$wgqm4QAbKm&;xV^hD*iuuJMS z`P78IC(JtK_n~V8QW6wJ@%USy9uCS4fM-pp{QdA-25cy}u)<9KOLJYS_;R?A zE4WB>ONn>Z@d~2wpwyowK@1f@6hSGkm`Qo~)7q`Ew=-!aT4>Ot@y~RcS_JapC*|$Y z_~ya}gs)NMB)P^5-qlzwCvMEycvjGC@yJ``x8chMK-~N*>xrw_#3ht?zj#3|3e;uI z{xeKjVjxeU&qZW3T98XsslQ+`3AiK0dCGPWaHWQ-Zj<|Z^1I5RD*jVd-rG+SCHLF! zKds+WduNTF+7a$}R_bVV=cxgGM-7iIV)~-(aZ>qK77F}Y%$!hDWp`jpfd6VOTb8x) z#Nen>!g|~w)>4C5D-2>S*I`{;){76RN_sq;`Jlgxe^?H#zYI2|-aS*ov%wOop>kC(;`&s&{01!CofJ+S5;EU4Ay4!cMitw`gSG1ChJ}%N-frN zJuCm55tQ{tP&ODr*=Pi1lM$57Mo^wNg0jU3%2p#N+l-)WH-fT5gK`;L@cbKcPW2Xt zYdeYh<)**TF0~H+)U!B#Kkwwzd<)$_owPLCn{F*LCZ#xbP1x2{=|@f$l2h4UEI8|x zr&T%oGic9d&cGLtej<{s2792*TJ&rlQW^h7WvX@5h4OYal=oL9fbu~#lpU)RKsj6u z8W>zM!umRywZGxH{_Nux%ok=NRoUb`eDH>V{#?ZD*5lg z&r>h>2e`m~rW~_5awbXxbGO02*-jT5I4K%-k73W4x^{h zT9EZA$ok0b3&%Ap#S~`WL90#y)dj-ckh7rHif7Ewh|J3@`+G+d#^QHh{-gqjygqij<` zOTC|l{01a21XDlt(!ZD)oFPG!?dc&u zRsErMHY4DTgkai`Oa>oHaj210Lzs&oWvD_ZxYO9u!6{dh*mWU|Lv?9roe=fF)g5(@91;AVhEZ9V+g z*k-7T^9yV-+(X=L)OJc`c=~o-tjedx!#KY#h~%RJcTDE@4Mqiq=~_X!(R-9Dr9#Lc zK8}*>SyR8cp>O3=!yHnHhvLH%Yc2gv9C!YO*pTAr8tMj8{8pB0j0`~aLpi0Mv#gl4 z?l~9lmXtFTL)v%{rE8#SvDmP6<#d+W@n=A>B#yND3W|XmL5@}fF(fz*!KAE(e!d@{ zY}Kgo^Rn97ROL+$oI1HkitZhT|S2Ge)5W!mw|Un z?r}MTOvt!};YIpeMj z{TyE1Pd^E*<^{U3+SEP1E4o15jD9g7p+o1SR=23?ZdO^S2API@w~kZ)(dS}c4c zOWzT^)!)v-_x+7bC+-l2i(PIHG)&~f*N3$E`CQFNjx$0p8!!}}e{@ga`4^9*3L{j= zPv5iNzNsn?}MbiJv=RhIVqYI*MHv4(x{0!{5elSguX=*T~xE z1RSrJZ;a<`98p;y7A?Vcunr%EXW%SQ9~_^ntjoCwRlyy~5EDM@4=d{&Y#J0+75Y5p z2H}vu&$WyyL>qay6XzC}u-L6*O9W*>m$&MKr`Z84plsQ;tCHt@S_fxOr5;!d6Q-8|V_{?)OxU z5jcwN)WZB)D1L+GLe*3nJ~PnA8x^z@-l!~k4P@MO&|0kbzYMJf0YR^t5^Uw9F+PZ5 z{LIz1b+hHQ$o zmjXmFyua`abyzQ6?RMnLdx;MWj~KN>hpNC*xlu{LykO7Wcm)1&B;YWJiSKW1Il{!Q zQMkB}kMPUr%Ahooua0CbLavRHB%9+`WQ(ypZ=xQ_VTJ15|A;=s-djbpg32J zM!~?W)f1N8ai=~kTakV0kcZ$3rNc-4R_Jvm_xbI?mKY%bwUC`WbS2iRi_!IDee{uLPJVCOKrE+R@;`x?ujNi{0er86xXF3eR z2*(A1a<<)W30%;Kd$d>^|5yd&!E0xVk{C3U=42I0;+3D?Lc+Uv!vg`a7F?#n=HwNF z;V`MP6sf=?+pSH%h6Gce%1Nbv281+}4f-b$I{pIKm$>2Ar~nlLL)JRjaI@L!7_S+? zIBo#r6$2Q@3}75Kfbot2jJFM7ykr35hyje34Pd-$0ONH77_S<@=rw?GzyQWk0~m)4 zV0>Tz<1GUiZyLaOuVIXf++4pc8BHAx_E|6S7wJ2Ib+YfjvB`QnKJv6ECatx5P1Zx% zgyl3JsBKWNiY<~BN3EMIWc)@_3yU$k>>T)2ptKbU$6B*v2SK?CR_VAnVThZ*mO8|o zD1>9i1&xw3GcXJsbHwrPc*eFeOk657Sgq7jC#l3@F!|Ja#H`6xBTBC-uaPp!jw&eL z=8bsqU}iArLE}TVnQSaXjIhVZ;9a^mhqw6`Du)yMsneQvD-D3)<}IsI*SUFbzJ~gL zaQ7ySF-L<@KBR&v3Z=l>ZOYJL>N>(UzrkZ~J-)ypZ_~(CyezQb{BaxA^R1OdlOn}f zK-A}f)}^kg?d!$xq}qtJ^b#zS5ZK)6BFxw+<=bACO$O%)LpTo^!dYSnXR#riCk^2| zW(em|LpYBc!dYer=P5%t4;sRG#1PKIRd8y$799Uq9oItL_w>{&HTU!__fbU(-qT5I zfbX82`Zay(WcsSWrv@-iYcPhpRz*}Xv-a(l7A#^|Q0s5CCy!gj^e`qKPU4S>%1(6w z`Xz&tP|oHfj81Q)zIwk0Yp{4{f3&_( zqsG8|;IC}-&@5+Q;yJ-_B&|Omf0ptksG}z>UuOJk>JSh8RRkjGnL4;LI#WqwtXhyh z#xc!`Cq0f{19LTIZ*;Db-nmyrcW%;C^|FDfdc^?7Y6Dw$w1FjmIDJWSdQWucCcUj* z(kyw>r{lr&r|KPzuu6Iu)6+lX?`no|iHgIw;Np@{`v|(85Qm4?nH-}wRq_ZfJhF^g z;~3hZ^rJ>%|Dk7~Id(z$>BhT??uCNebWC>@`{4gUwy+NWMFuHp66>!EdOS(WduM}6y?xoLR}AXJK~%Q`l(5bd$&X^2r3yX5<%bB#19ywG|B8A8>+Vi~)s zGnlhiktfwK#xw&M(+yx;WdLJ_0gRajFs?R$ag70tYYkw`GJtWN0gUSnVB8P~qa2S5 zMl*R_5*7*;l#*CRo7^UDMNim%EWg`k-Li;UNzk5cSSHSnGY+{w=pTyqHgMxwm1O&k z1~6_ifN`?{j5!7{ZZUvys{xGL3}DPPfN{G4j5`cq+-U$~o&k*c1~Be2fN{40j0G_; z66V9){c8H5iWgrb`y%LdP1*x+z`!`(G%$`&Urv8LP8k@-*jLgY$F=*@-&Z>g%+)6b zFeVt7t5-~nL$j}vc9Ff#`dsOXtA+d0-@3c@rGEss9Y}v1dklq+QP#I1dxX#CEL}JqF)jI~(} zJ}@wjNe0fxDFZTbyaAc`f`Rooxj%g!?x=xrd}3f66Ai5SXagAU8CZ`u3}C#g!_YN% z4cE4jqHhKCb0vWg1VqUqBSRD!BzRBqd?c658a-b+;YvdQr#5ZhE{B%L_>RA;D`)}; z6?NN#5VuFlnKT!$j?T;5e}wS4(}<|e+HgA!8mTHE^aJa_By|G)Em|C+K^X)Uy(xI3 zU@n|Div8oGqd2fEr|PklD(tepu2aTWJBpeyZhuBIQ?+3PR%6*Jr$MoAHI}bx7^CW3 zEj)!iz|OSw&sAU?lRnIGSCKoRXs}3je06-X<2W)#FhV<5GmeIK?gPp1+`vrf&foS= zHKX{MDnPEOjDz#X){F?%*3gr2*LzuzS&BaH4CDn0P$vwt%?!-*W?(j(f%)imw>Wr9 zpg4HKYqQhLXttVx*=`1Aiy4?5WnjEoUq~YeF&!WVeq0Qam*a7~xC`j}tOCuNlT{;Q`h#j)NEno>XQW$zZ%*5o57#91HUNRyB;{C@}D( z;5fV`M{CXKl1rD)8Xyh;0uKs8c*}7-r-3+}vwKRJm>S3Ndo&V!Tli zW2J5!OLF$&n#S=0Fz}?%T;`T(zLq#OT3p=IcIn7Q1ty1NNfKr4~jGLaK!s``= z=w#2Ur2UK^e?W|MV=s%|iDJ~2YWD1w)oxbXYW|pFR$CJa`ysfmFUz%#%CW0k9xdPe z9BinTwD6RMDLug1#ZC0hGx3r;H$O<#H$brh)n%;}35YrC>Tc;ChdP6j2qztRP)c&B zYH~yKFC@))Y@m_i$;voI1zGFhn@;W{N}Z6IO%oD-hpL0@B1w}Ig-_Ze2WVKXUA57r z*%=y)98!nUn3a6WVk>*mk+qn$HjG1&5R$*8KB59dZ9P_4u{QM+ppsICLU?Y=rto-h z%)NoMvS|`$8#Xs9!my-Xq*jX<$JWvxN5+zL9CpJm01=c0NkdHg^9V%JB5mTKXo&RU zvNeji=CUHbvLbfsev@lMN{Ea1qYj&c~g&a0v}C7 ztZA{*Bightns#^7?r!>{SdX}=9yHa1rh3qHXg9qF&G>~ThS&`BG`(ugxL!22-aHr0 zbJ08(&2xcTT}`iA)2r6>srh=_TAS0T8vASn%BY|Z$qxp$*@S0T-?p!) zLLE%X%MZ#S&8~>NI;S~ZkQ%^TIi#Wv&akHmUb5_IQfwKLVg6U^kPMR224_0KslZED zpt%V$>pF*IvKVj2NVp3zxFH$xuo5nmJmxHvJl&?2`jQlLkuQ6a=Magh`h5(!%!#Pu^@?!?s|gB)XKz3u4ew+ zyoDExtv_C{UIVbH+VCU02Nsc(W{pX` zNj$PHOl82jNS0`Y{yDp6vaChA{d4xjz({xtzo+Sv)kx2z;}5MxwkS41yuM5^%OwSh z&Wzh0Ethm`Tlw-lb@hIF@%fs@Q5VLX-gp>Eo%UU&(|*m|EK4S((`J2-A)FTt;p{Vn zv)2&LenU7f7{WPV2xqq;oL)mXFIB<0G~33$b}hKEqy71)Oy;Pyv=#F#;RP-1o4J1K zxBlw40Yx_LgQAJsA033D&#c{*!^1l9ap!P`aYYeN_(t2FeuaP+|0SaLd3A13!^p3Q zD~<0@!x|qHacl3Ati29uF+THh_u0U(UA0!mgMu|KJcvX}>0G~AQ%Wb{8eP}DZ=_7y z^=4phCSf^*NfjQ{n_KQqzQng|%{MHAOsWJ8#-Wk@KE(MUd;(L<)lD*@~ z0w2WcM4C$8$Xgg=g9rItP8F|F-S3}BozfbppTj8g_MP8+}&eRcXCmN5n}#u~sF zX8>co0gMR-FeVznxY7W|Bm)?e4PZ<$fHBno#xw&M(+yx;WdLJ_0gRb3FcS7PtTxaZ z%i5&ca#njcj+=-Oys~K9S=m?eO*CrBmE} z9pBF8Fp&0dXO%Hn@ELQ(Ca_Te7k#gVPAYMk||&X=|D2Y534< z{IbE?rjD^zCQQbH>AuD#3r=P2^RUUh#wGLc#!*!Twq12Dx&O3sGt}R?BoK;2my$@Q zjOA}iXeqRLYwBDQz(9A82*%>c4R=QgVBEDM8dAi2(XJwuE4esfWZ7e-@VMcL(F=xmQf@vM;;g-b-{TK@rs3* zDN%CPT@be74MVU*NfxQ^%xcfA@Qn!rMhZWxiqHN+%#B3c_Z;0=OT@jdNcAJ*HpRm5 zLKG3-66h6S->z_nzz-tpg?=s2b-vWWct}N(MV%1VXA7c%E=%vsi^{6^=4oYB>a?u} zhH=fV=rHzGxH{_Ex3gw!j)<%TN{_lUyz>V%>(CEXNqW#h z8Cz+^omJ{~MR`TB)k3iqY44z}^19Yz$&Js)T8~EL;k?J=VI;+>d8bMgJt>^yRd5>i z>)#l|es0vSf0F@>n`2*; zP#H;^E!Zo`orO>ui6f4m+w9W_$s>%~J`yqtKMNOw9NCUy*M$SSAyj&b-Nl}f1N#*F zfM=R(8`=+$XqSiur-!UsZ(*NMK@_=7?bwI8%84-vkhP@h>20>a@3;7U8x_-ARRhlSk;;z`ED09l~GyT54BlwQpeqY~?`FXp)8kKVO z?Zg{&C;DA|L)AQ$Ls*jYL%e_otj_r{_{c|`DohIG0hy{Gh_e{wK)6I+ujT!C;(##3 zApbBnYlbl_R~Xe6RZEH)W}}EL)&GLgCr;x(@|Ga!$BDiHaX+94zFe{8zJcu*oECGc z*fCD&K;yCW1va;WnMBP6$tg@2stTm=yyv!Fz=R~w)F!$RU`7!FwxAwD=NaYI0RxPe zPy)$SNm(H8mn@K5(##)tuL@4mRIk_Awk+s(zpShwjZK7{H0#g@=#5zvUZNzWQImi! zAzm&n8}wUR@gimTnQ{e2jOokE3g8M3Gr-@wHVa*T@f+LeSOz5wqU_1l^qY0iXwjvN zCG9P}eisjTaMqH>xK4-Bfcs(5^c}UR5Ot|3OATObjEPZKv|`b9m?X0M+pP!pq!X?9 z%t8E2ZK|+0K*@F<_lHKa6)x^aPlJH@YJIHwJ94_ji>9N&`Xis0s%+gdH>0vW3iinr zJDGIBtBcl2i?s_U8->GZ(5qyD_F~5`)UAcIR-D2vT=J!S%6KT#R#rk`JHg5*KP@|D ze#r&FM;{`h#*lyrv$jIpDw+P2S2V+{N2QHyP?*FU#)}mv%ZVg3JXuF8qTrBJnXIb& zYq9Jvw2ckyua9cnUrEc~IXd~9u<3L4>pXSArLTJX-uq!9w{KnY@$jZyu6*2(l6?Hk zK{VoY+VKJAD}F|BU6<}50~qhe#Hd%LTOummw5hwfyOc_Is)|adv*rTcUm82g`I|dG zcYd+8CxdGR346shR8OGGCJU^5u^qqR4q+7q)wWuZ6NHUWu0=3%`(Q{xcF#a0Nwo;3 zj~B@w?6eM>i)J?NFQL}(b4dv2=iz`-*)GH$#Pswbrlb#XRr(N9(}$RrKE$N-AtpBp zk@Qu&Rp$Xr_^RDv0OP({QM0i8H4Ej?DSHB0Ldz8@ucCvr@i)ZXp&qtdV@3t!5+q2N zG}XujHSZ0G+>|eV!wl{y3{5$dDGv7jc>! zE#j2)?tN-pboVCh#5@{xV*Znge^$=zE#^e-Qa_}I*rz+A{>$>eOqcz2sBy}934Iaj z-aT0PuX`(|7_x5kMAcR6A|)ZujMYE}>mEpVvHr_su>Lq4h=Dq3Ekgz?9u&@C)ezg_ zMO<&*8;w-Hx>pzBYrxGoYyOc~7fN}yeaMAkt=IxS1>MR**WxwFi?PL8J`U~_QR3mQ zBcmf|Nt1OJA7o|yARbM&7+7=I2N+2|nhB)JNf>T``i(0pY&u-~jAP-2p?%m5@T)Cb z2)hI%ky1i4xp-cvy)F}R!K?8Wr6yj2t~|l9Vbv(CjVLQ8=bnhQw;I8ic6&UG%d#yE zuqGLd%Rr#?PRHKHZeWd=y!Fh(Om7i?+HiPJ~Zlvx>#Bh<}Kk1vOFC2*hJ> z)7ZZQK?7=&_jDmJLKu23 zApH>9!nOPI*gT$duFYC-ciui*>2iwBaSz_03gPFBIHS-AuCSJ}ZB+V7%I>$a^@7xN zvpW*F#^jXp0@y!Sc(zZ-iw@xm`E@r@^Qo8s6MsDxT^5=u2A8tdE8y%_Q5qZBxl0en z+qvbJLs2Z$Bq^^D0*K^b3Sn3{7agQtkX|fO5k=El6*V(hHEWnMfPx9LN^ua0!s2v} zL_slPSE5)jL?ly}awap#l_+H7AW_$mC=}cfEEGDBD8_&qS(rT&PR0@`!(&BuA^EH| z2w6yg!Fp`Jb1X$^AWM_eG{><^8DfJg-PQFQk)ki4P;s?1v}rLG%$Ms81UqKtNFQQM`VepZR_beUG<}FU=}**4>5pPx`VfcG zhqxvEwYWKbh`s4g)aLXduC05b9PbD{%>K$F&`zLpb{8|&>B-P?>=S>Yu4*QN<&};3 zKPkSgDeD~mlJ)kF9Oh_=O~z&eRTNG~1)$?a;&<%KfXM&gOdC+ztjAHI6c-XzB^V;q zpLB|VLrgE{s&;sHLo(g=n`54#dhunb$N4UN*bdN{|wK>kW|C?-2G?maZB-L|4 zaklt$iQ#Y$VP!Gj7h(~ZN$4wSk@pHtl0EGn?RVJ z=F~Me1EYV=85usTJTXhD-ll#T8ZBC=Z2m?n>mEcj)+>J z_^90T@su*pPsz&lzJE&dQ&z)CZK1=>QPKRg+(O`^atnc{lvxNAYV${GYy_rSB#0PY zXa>dbk?`;xGFvDWzOnjIdR(1Cl-^#umpIkgO63QDs(%H9p)` zVyO@RDxDixC6qYxR_QEvmH5w99JFs&JfAP?PeonIACFJSrQE>d9U`@#apn4a&n{*L zXHb8H^vO~dA#(`feSC2n=T3knX)A>qdpAh{jp=__X8F4)zd)1l|7x&qH>Ug$8 zyNIM>c}bMaR1&Enw_-OYpYM2iWXBh*VJaD}MoA}|+eZXODN&7`Ok*bZPpCVqH8#ZN zx*>kzc4G)8+o@AF0NHgy@bYr*tanh0ki=7$KmZActS;+r@b)^9Fy?QbIC#F!Q z`jZ03D}vNq{E06+5^r{k##P#Ln8vXmK{j3FRvV8>C#*)ndhjmP>fntdnV_oJI4j4o zvjo-!FSwZ0jnt}&ky{uP>a<9CBQie9t_qpN`0`G9!p14*u{ZGCx;Joah&$4Un4Lbv zr1T-Cqz^GOeTd2FLrhH{Vp{qT)6<8zt8R!(%62amB9?GW+;V})@t1u0x2C|drJ62P z1Dz^B6u#m|jrJ~$WmVwP^XRK`hlovKExx##RiV8zcu|z3tK1g=z-Uy*2rr!jvY1wQ z^;Bw44a7a1Dhq#fA^7|g<+BLzQMoJvJjHK)Rk)Eje9S^(c`s$JzRxX?xAZeZOP`Ph za7nJ+t*luLti7_g2VBq!&5s5*v>R$5sLE;W{Sbw|$STJwyETomiOHO#i3~+is-bua z$LM@GW-%HLkdWyX6kTcr@T82GI=@zWSDbXtE@!!l%Yv=o| zPzjVCz7^%3H_gbS>$qM!5Xwu)l=Jhs&hG1T=7>I>?j1~6TNQ0|cBiC~SQ zkzM?Ic#_mG8xHNci|)Eh5{6iQTP}hzG?t+~Hz()KwX|QZ(bD!>0Wet;!wr%Y+ z${r2tkf+*3Ib0)3yrHZN4y9I*cthEEV~c^IJf})o);nMEd@R3VU?8FGRqL9>8%Sf5 zRoCWvBb6N-nk^$BZ`L@H*aCP#-2%9*E}FDQN9)N;GWxTa(Vy5ewy^FQbCkJwkuo7w z$W1Rg9d4*=ao1M~l*JyzqPhoBRbk&VtD?gGhNrN9qF2~|>Nbw^m%((Gn?*T;K3x3f zncTR~t%v>s>M8S}K|NvrC8~*~7I9QXj~S(-Z*>f-Z-%# z7S|2YptbaIb!+L;lEbtj7b;`@`VJIyg8kBa3#;ua=3nbb>`Rva?X>1T!-6}GTbAlG zid1`USx4egTPy_?lwRv_t)!$aj)K#wi+ZhvMLK zyb&$9HRgysdQF&(k~5Of!eEf> zxV*1jNe+hAkQ-W(8o0;hsJV6L7 z%VsY1l;LKss9WLRDd`z#)u5{LirY#TN`GUXMf3vs!%N7JJf!UAz^k zd$(J+f>Z!!@t{nL;~g(}XN7yYK`Ua+7=}bbrzIG3@u(xd)i1c)xZ8RXjkO(CcTr3R zEcXy}L+?`iSycw}w3lDGGX8h3Ej6Tgr*Id*CzC%%G;>grjm zJ_+l>d#>H>s;FCL;m3qD$JG&_@z;4kv-zVRsGQ~)+X`M4;>q+OUalJ=uEO|A zoeE<;XJmGbXQV+%GOM~IX%Jyj>IjpoBa~INJilJZ=l7ZK*Ae>!9<2L##D-X2H^k)? zL(%rU8OKp>56VZunt3;kwnz9zt9=(TdhF4+;%B9cz>cFE0{`D(J@`FsJUaGZR@Ob3 z*bpn~hHxZGB=t#lFYgA4NQ(wX>lTVN+|^URp{fBR35pt?8171$^PEE^?{&^ zMnd0!iuGuX*T+vQdjf?HFD?-nDx&PdTp+gyAIMIktpFAXEyQBWm%0@L-``!mTE^3? zxzMc|%6O`VaLWX^FdIUMcaI0%4Num%5b-b+C(305)Q*uG1@0u1`VM3E<#;))><^F(8YgbkGhb5DJ%c=tUYQtMM&1peqa7QcvbS3C>Sm! zw*ywEvOD}vxQzAoou2Amuo-@Yk3dLkkWVzAcD8DLaPd^O>W{y6Tt3z3e{=-)AB?5| zM-4v2q^9S@*HV4_r~1byHTzp%Pj`0Ke>c_Hd0#&}Nv-YJqW0S-HTnAwr#tzR(Ci__ zoj)Vp$8U54SwY`_QfoU!A6iK2@iPXeI`?;WrTX|K=^opA)191g`eU2a(ry@(>fGOx z?&M5P_tZWPEmR|Ok`kG(rz{noPIu!!@}E+jor6=;)umoeS(jSamg@BEDs$f^wK=cZ zl}layRrn6BV?`VUh5_LKXj`uK5rv6izR-HkTDuNAbP8dCF;>({pQv@A{S^zv4r2s$NV+aCU&)ks5+d>cUg;TAUY)~$PvDBZI zU2w@Wf&(0pNSS?vI>{k`uf!VvL{5=sywwID3#+~3-RNq28HAy>f!sDoxXb&W-RgY( zqu2B8$k%^)s2%AO={>%;r9?IGg3T|o6=h_0R^Ow2eD6>j4+&0>SHuJUevirEJ^l(| zLOB!Te);Qe&g1RKmw#udjb}9c^ygB2`Y}v=df)x7IcYxqhWIn%dFU-tOpApP6lM|! zkWKHF24O^ll>jBoz=Dh-@O+^RIzvG~{ho+8e;mU*vFB)Z&Dr?#$evuYkb#xRu9^N{ z(fKd9X%c(()abLTD^^1?eMR6nvRKGkkoEA`T5o|(OQC}zmDe<&7M6Sb+vz_3c-6=M zb+!+QQ$ea~F>@X%N=s2PQe8o^vLg{F6rvfX0~$U<6yHZ^a1@rZv)J{^fvhdmQ|vDG zj2zgf*r#vTUssm!EFKb)GF!f)JE-^kFe2b?nBBp$8*)(fJKzC7QG>M&Wh zgUw+`CDF@ELu#>dP8?#`_FO-`CNL&!t`h}64yCiS- z1`8--!;6G*Ll6u?X*dz5Bk+F5$M%u&KK%6<1Z6Ek%@_G3LW!y3T;v$Oz3WU;AB^@mN?ma5nJnt)rF+EAcUx~tzG(ov6 z^iJ3ctnC`TtX|YAe&eprMy@OG;StRV4?i2z6M6XlYqEGdqB*^CFS{t0QJwrZO2u#f z!P&aIaE#`QdumziXMd=D_E^oc|E`je){QwN-Nv!bz`L=oo*+d&K{zXWOY$Y>4toun*`DFt;E}-rw|Bb?h+EMHrH?Rx(NO!S|Y94gFo?@T>3o7C$ zwS9kygI>zvWzw#0JoDqoywv{eQ~GDGsPOEF9K-k4%CQYgv|fpQ zgCk-rCKJzk`k+&m9O~q{MY)LiDk*28vZ^#q_lEIhiBx0zSqps_M;}NBW1A1-SV|ZV z`Y_(A5u$3LD@Qv<0eM?B!ff8JkzAzO}$1{Sb_a}<1SefWYg+m%r zD31tr6l@#h`q>MhR>8VOx}{Q7$T~u$POrvL^YIlX=VF&A8gWBON}LdDv0Ah+X~OYl zU$ecoBUW7%f`DM>p@F zs0r8k|8e|hpL~ceZ~enx+o^ka4PX56@?ZSMUz2Yb{^FOalKw#*nTN=&1*hEK$mtuD z>#vjoI4qzPh=W~ay&~lI6L@}p#P=s{>FA&|(8k#8085`K#V{CeXGx1qDFF&bl ztx;tSSZmMxHBWhLW3AT5ud40wRct|D9cu*ea9vzgqb+r@>+1IVT3s8QRy>3xYK@4W z!hV0@X-Unu#?E8nGt3n0$o5>dG!IW>nu}6ReheFvc_378A`t%!8efo{5KK;5>pMI_G>G3k&v(`D#^!h+7f#FRNc3~I7Zj9V2ZPsB?oil)h5O4qv!Y8@4#D+2K`!MVh0z2*D!F@!7E? z8Z4@PS{7i3Yh=pJ(c|NhH4$=;9(+WuG{m^w`t$SnzuI_6qvz)%{a61Wx?8Hux#o*+ z(SPwL9*WMn^Kfu?LN5N^h>M>lH~Up!IYX3yE<|~HTlt8fz3MG!>`2se_~x43GWGW( zk*GTM`6m6tb&|Y}!yi|!c$1=!w`xSzX8l&t$gJA8%C`7hrOFrAoc;Cs319dBMsBw% z&(=)J4*jIu5Iy?dPKkeWZqUz4GB@Y1_1|1`@@t=!b^2%D5}lQckfo3#u^^Ad@VlxQ z?kQFN#%U~Z_^e}$0jWxVcv1CFb6^H`T6=zu#{^aAI$})My$$!Ia!3lZvRcuWIv}o3 zAL54eA!er!abx-rH>D48bNUc-(ucSueTZArhqx_$h`H%Q+@3zf9qB{dnLfn4^daV_ z4{=xe5O=2!u^@ejd(wwkm_Ee4=|e0^AL73BA?{Bf;(;0=s#rf71LYpQbK;T5qK2~P zK$xj>AWYLb5GKR1qRFg#?N>G)5_BL``R*Dc|4IGB*J_OX+U+k1wMX9U;No0iyC{!YEq zQ{x}^wqgywtQniNlYabHQD0WIiP0?Swfd(Y{M{rbX7{IB-{*%>PnkC{HJs58^}BJ( zzedk!?Q44H+uE-_CTfn?^VN^(CBO%Xh?n_#lK&Bjm6h4+dJ&*;-h6;b*Z6Ip|HFs~ zsC~}&>CcfSFi}OkXukJ0>~qccersa%zNqqW%^_N@KSbL#0^NIf{4myN)+30dD&6=S z(J0nW6!VqxqU0%O$ls$#WxkP>R4%@>+NV!D1SvL!<1gp}t2$@27dtN;*ai9lvQdiN zBbhJi<(ou3&W9r&=gLWFrv^to&W`NL+jB$i?AbLw{N_i&zv377C%XQvs`9DNOdy5X zAy1d+5v>x7cXM3S%vd-652sdhuy?_avpr1mj?OzcX@fJ|jS>|`8ZcQMZT9J`a=48| zdLe%9MBKS^B(9;3V%HBMY2KgThgWgMYp&_-+8DyBXr@f`O%ufDPx!< z8abecZTMA#;zsOt$L1*+;I3 z)-$hb}$aPNnQ&0m1(JH zY2vl|NfE(oUa~Uple{iD0ZakSUf+OAL$f2V8JD&3l;Fmx=lL7;&!3gl^Ec_Af4%Pc zUxYPojv?MzYg1QY#CpQj%66PiI!mUQwI*(ojAM~a3>`UXEdB9UpydyMF4AKCCWI(5 zStN0+*v=%w^w+^*vj^pc%OG<|l+p{5TuLQw+(wNB>&6r4aVp{pc~NLHAZ`Q*DW{QX zv8`{{-qRf`jBVCLK5Q_+?ce|KmF52J^!Cv3^u-Y8rX?534=gNwB3o5#=2^`vg^9 ztlOV(5)2rsmH8i_Uixtv`axN2u}+_0(gAmV-rM=bR_^_-Xf+{sXCf5LE3aU$KD3oe zeqP#4@l8g8S%PiKZJK6?rRE1}_mpe&R()^IM0?*VoAVN7p^$Z)<$fN4xyqfHv6n7c z3*7?uVF4>ykn}$+=mURW%#rSirXW%=$6m=lKy!iuDW$~|FdfCz1Lpzy1awh zbI<`uImM&&6*L8I&=lAuL|?R#~9TKYi(1G`3JOVTMIP(C(OY&>A^pJj}je<6{2XS zHf%U6+fa0jz6tiApLB=;l&MB^sp3SDqGI7BjTdPHv$qXqKH}6B5=F4l>#c6f9hiKFG9D0# zjgRxzgug4y(G>qG81I3ZjTm#uU&UKsLjl304hhT#rBmBR z{dAxDsV%XrL&84M4c{ZThwAUuw&{gbLq4}g$1-**1hK6CdnxcXLA)h)IlZ!)NPDUH z0bL7gQuYBfU4}X3^+rI(x@{2a^m@qIM-#Ni@Y2BY&C3+mBzA8rR$(ubtzZ+!oD%{fO(MA_gJvo~!YJfn88Q+K$ z0VH5i&lYv=Se=142)B}Tk%UAeeqZR1@PFkush3BLjt!S*3@$xXG(4P|x#dszJV18P zCg9E9k(^GCq$c85++FZ7D1rESG=6RdUz_nW9Xk6kgnP~i|K|)XdQSgpo>TGnF)FuW zB^Z3OJ293mxB8n@MmK~vo1mV7&@k+2yIhs}PWu}6U(~coe2*4L&E+Nk1<&JUH_~Hi zvVkz9*Wyn}3IAN&7@woY;r39opCo^{o%%G=gBQb?szn1NwnzRksD$??!R~MJzamSL zUX+~!2QN9l>D-lbeMelkv}`Jw3B^g5Y&mO^I>8!y&YVGM)RU$*nq4)4*zeUS1Hj#vCyCW;(pn5~jRUWO`Unm9 zEj{>K-zy>9oZ|;WbKLR#9@cq&wWUi7^(>#SDP3~V!^gs2*{pS%>Iz=W`EnDaYj&b0 zTi+b}wjlPQ(CZmMw`L!H0&LAD9~H$uydlVw?)vh)i0X^_16?CmqNy($peJ1;5S@5Z z=u3pIj|;-xvV)?c!Cpo7JGeWj-#yOLuh<6^rh~d2U-UY_;X2WUi*uVVYydE* zr@0U`Z)S0y6utljmUE5D1*n|)VLPt|NB@onNB^n`d>{O2P;9Y+OLW5&vrE+9egc2A z0kh%%N~ds7d%e^F@i!{+oq~byO5P;ThEgLRz-rn-Oav+^G>M=tH3B6cB6l-{E0J?7 zRLqFARC4x`-xn_pSo_Z-Y-t|_ef9*7mv#I_b>=88ld;bBN4^Bbs^QhoroWlI4_^x% zc^*&V<(mo2$6`avn?O<48`louDR9l}Dx<&+d)-l-Oz~vASbU^OFFxK<>W%a7LF|7L zaK1PXVb=&akNNERCTYB&`XG4&fP9$Q*~e#^0)3#F0)2=SP@qr2zxj7cpT|@sig~q# zK*}ojC3*E5DbUciNzB(>WeUQsNtzr1ZwkWSqH%t@v~fPZ7bG;f(i7H|z7)1Sd(>(JJ+sKnm(d3*3Z*&8XVLKO2L+ibl?Mnvd zjzu?IA?&e77i-AW?z<=_2S<;LKx!n)7lV81h3!!Hf5JlXC%j+n6Z{>celoAyLG88w z9<+gCuj`BXb6{uHb09o_4)k{$UC>!NyAP)xQdT&EW9npdKT1-EJ^A)gaFW)&VwD$} z$=A5NR(z1sxxAKY$gkkqpMEZqPT6!8I8;KxTb?)tfy1f_a?Y@W>#R{jaQov!9wgS; z&Rb7Ak^5{T&4_IFPbWegkOJ!5gRlbZpQLJEsxLjoHq~?_>%R9jtRF;VZ_L7=^Jqg`1oc!j81Ku6gXNN*px5BoL088i`+S~aw+7djMp672 z(!#NWJ0x(&Jj!Z0ZWj{XNJ1up!Mc=nX&>Fc-h`*}>tJ7DuAn@xgB_I*T!#uwz7-hR zY0{|ZMc;WFkkrf`+DkyRv*^HvVJ{jz!T(G6K4Er?*_Wu`##~`|V+P9!y2!E673dPd z*gq7+{(&Gi&G(`n)e^efQx(%)jdeOUjCC5kppOeO=HCip=LE6;H$m)wCy4z-#n|!* zY4T4H^TfOWKS}DBSl4Fh`5nE!qWydhptzy21&rMrMcU+G&UG^ z3;QuB7rY5qc@zD8BCmh6Bh#79Lmw5Y%Bx$R@fBQp>kThG|En8H6DbF{!Qpz$D+gpL zE}4U?n^aEMNO*W?$%TacYvn?6&(srNWyhyol2Jg!=jxQxxg(k0WG7~m)`zQ;__!pi z?rKLi6ElvBp%UlI(v@20%WaMGCBQMI@$4+qgMStY_!2$%9Syj{a<{9$;FHoMNp8_L zs2)GKG>l-*mAQJt?`jCI#4Db!T%0jh819g50E zZq17v*6!AAO?&qj74TsVZJn$`;y!X~vEPO&2q|oWpP-PDXNw(Nbx?K4Q(k9%h(}Pi zr+dUq#NT3z{I^&w|1H*)`xaRh^6x~#4T=u0h52%?FZYOOmV0A4Mn&_8&E*~u4Wl-c zV^lPc*d+gmZRH*j&01`iUyH5s-(pR2fo(tmX&6ss6}s3QE>4p z>B{?bYzel+-H%wWXb=It3 zYP0g}9A5fng&fbktQjX1lTa*f_m`s7 zj55}rxz2TXed#(x{D>o(M^tkhE(RV4xyZWXKNpSPyPr~tGbHbm+Z}up1bfk`6$cDr z5)vx=^31DdDQ>}!;QRn(fvZQ1J!zIa?<7~doh~HikOo38_u+=&%Z8JZA5FBOFY{>P zJ{)PBI_fTilsf7sgAb{@3|^X*2c|7@unu$FmoyRCu7o+H4)8OXN4PjtSpk?sDYkeBajb|r{+(~w_Y&Ly z2e?=b>-+^|V1amd-x~@LIBApaW1PP~{akkV9tgX2EBH{I#)%oHsSbg^fVpbA9#d@0 zFvro(Sp`cIDp;y+{5p!FB6EyyU|M3Pnz(~NEJsOcwXDzK0slE&i->UYpV9J*{9^ew zgz&Q4MNX>a40;Mu=BM5Ck(&lmP#78P=ub#G209Vaj5z$0ucz(BrbK!y_jl8%Ehsn$ zy#qCJ+{sfZVEI^KzcK0DTI@>v&gmkBqXefZ52V~uJWaz^!QA8*rZ+cRL(e(Q6D^ej z4O+>uXAgF^NTE?>^Pik6buw2Xh$vc+w1!O6-1A;RBntkt z>Q(P8&&nn!^wdJdkT^Jz=sEC{DU^Jmvj(wFgJ= zW4?mhennOhD=Y3Kk-e{_a~Rz~-6eH`9|+$5OAhwHR3P@kPg1$wDPL?L_+T#!ru#zA zOm2Zc-9YeSKc~tRyh&25l92MmoN;^-wbr21W*&*3`l7pHlsUVpMV|d!2g-?G)Zd>B zjC$+ndQ}?bu1+gMI`jkgqQVBU#?CM!-Er3V`Z~UwexP7>eTi(UFF^pKm}Vjg9{v_E zxLECkAa{0=UEvsvk2ZSHYHhRbR}P=lO)hivicDMQrf&^iP@NR|8~bUUDO>BL-&12r z>f49~N7-W;b(7^W+YBi2QjcRr6$+K#bGQpNnh-wh(r*3r+4uoeH-#H5W)UTv^8HRW z(*LZx=x6!LeVtWG1}zQ*#IaL+q-?^Zb@vhpZdfH2r}|hQpGw08R$K~J-M6!~Nzbo~}fLGv%iNiz_gp3Ye z+$m7z5+?nDA^)1S!(VO*%P{oKcSoW6S|8(p@;YrdWt`x zm-rKUi$9@{_!IhyKcS!a6Z(rkVSxA(UKW4CD?U$fd^N=i>2*>_Gg^g|ToL&+1*LIV zhk9VTNU=uhU>CKS%N-_cGK%4hC{lJcO`Ci6%9M^8bg-+VdjPQg>8=j@)w0;t@nm3G zo(%MkF3h#SI0U54L9S?am9MtiUYbOXVM?&|p6qb$FRv5y%U zbF;w{Ao$RYZ{+dMn(<^Iuz}!%T{NMaR>okT455AEd*-X7`?a!bSsnH(g4iR=Vi)_v z;rKR?v3KCk_VpGd9coU(hcIvG0@{PvgM)$NmcW$A7$I+tc=em<~);CC*o zlHYe}p9snCeuDfSR`%>vx0Y{~#jb8GZ-d|dYgvqKru*~;-Tv64i{fjL4hHhO8?b@k zvj?lA`;D@6Zz(!EW_Q|Q=$b(Ap}RUccm&w~aSgf6|6EpgH@r=B7q8{>dA~^t zF*mmoq5RknvXc=084fmPllN!f;HG3Dl%VE&sv?+AVMl7d35}a!^l;1 zRfPpd3{X)6YfoR~WZEX-@V^9%x7FZZt9of~l$6IAQnC(mbK$W@*ktsZE2)7Yg+S`9 z<(+`7+NkA*wY0SSLc!C%Oj)~^5tes~rQbsuU~fkD5Ia4i22W>HYAQ}yX`q>c9(CmM zMAVzI1?h_*fejHD5Zq-v@)7WLs7(mRTI_E|1;=$x3L`~Y8mOITF{kha;6x>tDhFoS zvkG9^u?WA=3nFy%l6R@Dz2B~8u5rMPk}o-opaR$kBZN!74A`SZVUQh{4Z|S5X%t{d zNswhjwCHp$Tp^rI(V`b|W^c6UMYL~?7QKk}528gcqJ57cxfT9#(Ng(`#(|_ZXquKcU68iwKp(LSCoA>)sRZa_au9JiOrO+L@7@E2;7I1 zagY8R-0PbzuqM1{!h&Z~qmqJZi15-zJx!GoHE=1Bo%mP0 ztlqUuSf|G&X)Vbuju*ddb;+yegyhYc5WM-V65jk=shiY@ zEeQgWolr)Rg1QMUk__jx_2zq2f`AG)`VLT^NI6IFn{`VS5QjQT)Z=$lb3(d)%F*>H zpC>@q@szRFTE~}}={nH`z7P9^e>7X)RxbGj6jxZ`NE>DJgd4WT`YRMGl}HZTlQzHI z#hfzj>#dgK`mQ`NetG^FEN>->j{!W@=b7#vCs|G}^^2PqSu4&YbtC=d z5Q=3o#26*1Sd*(RTM=f>v&st6`!MJ_=jsnq6S!F@Zd)bKYOSxduS-3Vt^0l(WEWen zZ_{`%>`waL+Z?uS#=g<5^AILAxz-D7=u#(RwAN}pV^$|z>9sYn=-OKBb8Y=tiGDqQ zz>P-}E*}rNQh+73UHxijriZYnq)^7p*KNV_Z`&kQF=W>od(9JU8Lnz2Uj%Cj zm`K5eSai`si?Md!pceUQYZqQgM}z)HgF~#h&(hxWx{mB8lx)hRwc{++dnc{!c;)R# z*Eif!bf?>Qi7Gt66Y||zagE^#?lOeR3Q|e>Car6WHSI9HbzlK{LXq|S8XDV!X7c9X zMOA*3Bi;5El`u!0*xY5RoN&1<#(ioA|6Hm;m*MC3LFFC*@1ZSJpx?`)M^<$+c4KMP zjkw|eyvpfL=4K|H65v7&?Nk^H5cC=A{Fm{D^L?%Te}sh~4{e>b0V5p9+Xw{;lN|_x z=V*1r$!fycu1&yM{jL)>&Lk7bWU?r5d}f@+?25!>xwMy&-7}2?`((_k+Sm=SrWZ&*V7~MN-mU%t z(h-&b8{lM>Hh_UYqbg5QRs}e?%Lf@4(KIu%H>l34CTr1-qvORoe6pgB7L_Zyy(R=2 zkClTT9T3@9MSn|4$%*prpGAD{K@?hm7gY$FbEak_m~Bju-BxCf>IREf!Syp6Po)!^4|QA zF`-7vebLyYL3|If-J`QscKGN{(LG_O&l5y9Pvzj}2L+n!cAMs69SUyOLRcIA3lyO) zNajw?!65KD{H_r3wB3Y_*6PEAflcX}Q1sWSnwK(aOmU%MTESalSz{p$d1RI~doj64 zu+Py~M7`h{s!v+Ib%))OPOP{<8O4gDddS^!4~YdEIjl;Da0v6o*co$V8oa7XW^xy- zd}bf{vhyzHLMd~gBEF}3Ewg+_yuDRF;Q3@N$>tiwEsF9U*-^;pkCw^`Xh&HAl)u2~ zk7$LghP+e$MgrdG`up2bN-<@96oM;1_U&PTyEgBRL=eQ=qRQ&ND~S$LWm{J`u|!?| zOEbcT9!Sc6xwF6)#^ zM*Py+S-uzSa7vG7wmVE=@t&ZIBimrjw#B47w(TDwo_143h^OM!ju2B1Cq#&GrI1y_ zVO9!em5&h1KjFD@X$z!?k_7}#uuh5qH{NpCk1KerxAsxr=sIiu`*a;re7lgikVUiK zDpdR6Xk6vst-;{_dI1PvakJ-7agr} ze5)bc)tt5KhGzzj&8&khmXcn zt}~R>EoiF4=@qG7>i276*AV$+T6fKoF>XpX;3}c0OVED0tEB7ur*y77?Vz$ zWnjGEyUgr^LgwUXT3^U!486mK=ew$N`+BZjtLId&wYyXB=wKfY9S5DEc$F(Zy>AW< zVf9z)&=Ca>;Vtq{Q)9kE?pXc)i@HM~dRQt@8mnrQi2DUDHA*L@WIU>*1lviZ6p95a zXL|_ZMZqPVqXB2>LGM}GYnUu$#{&FPKf9hM{S3#R>SOrAHEl~DP9`U;Pgo`+f0C~- zm0Lq&#cxj_=M5YELnH}OqAP@dbFQiQI$X?pLD}n24mrZS$yuX) z^Co@uZcoBz!GJ<=wkS5cQ$+*im7RPNUMCkSj`f>dd~s%IwTW=XW~b z;}w!i38`E+2obLiIH^U+&Re&bl@6Gpe`JXMjIReeL34BRL0@bA-;uz_&asv4zYH=o z{cl#crIxVX>P0ra39_UrR{1^=Qc!VcKt&2M0?Oaj1b%BeC{W!cs-m;C_cu_~ksP0{ z%;SQi$*6q-oSs=bYg%OngyIVO$WpifOKV-5k!bI+Brm?8><)Hec`wm?1gfArwr!HW zg|*)H(nI7;-w%(wa=Z-g zs%|E@KMKuG&+Z}yy)2k&`xfS=m~OQ*=Ps;+=x67jb!2o3zrabcL(~X;VO*fKR5c)@Jjdpa zq$QJy7>*yzW4;qe>m*iR9TJ%Tr%mlt1{*t@R4-k)4!HV?R*}3+%B?`jTXvKK2cOJ4 z?uMXzQVqBwoOCWt@g8nUyM_x$_+hCk_jAgeG2GZ229Ec{$q_?5Eo+hyU8$--X_0be+*cEroJ5%q`lu>P>_pulsel({%7PFok`}H)>Bbrlw$gRi= zrTe5TpZDpJ4+0r~??W^COa>z#(j)H&GXCBN8EYGid_a%9lepo_=TO`@s7L;&EH_Y{ z5=`?kJ@Q(jxtP!4b(3k280aS9VPF5g2<$sD)Gqi#5o*WFP&>s0HdIHHT(90MC?5w! z+qn%r@U{-a`zZT?jR3NHt?m=6=(v&_6^P%XD*V+7AJJSt`g{7|hq5{#QVVGnFl=Vd z4%E>q!o4(826xe18Qdd6xC`gV(EG_W8Qeb8WpEeHlEJ+yw9gI-;m#D|!!n_Bd{}6o z9T&nqBy^7F2=Vu#&_3HGMDGkC+yg@U;g}HaZlQhFDzqOK39Z{KA>6@2a`Lzky|aaI zuLXg|C!L~lPKdOs18JN<>|-6_Q1fkN~i7UJ*ALi7$3!W|`qyHIF9 z91^O(A+03$5FGQn*6rc!UstF9_YovxVrLC$w&F3(0N@rYo?MGn+X9__PPlSeQLsxJRQwo$BTZ0o9|A}C zdv6%+uT{R5H*MaoIp&mksvzPjqRf5iL^73VLhl$ZTScKkbBdCMxpI|$N;V;iz+E-) z6IydTnrNa-3My9!l|fXpM@}{e?U71(elxh~Qux@{5VYAA$a-2m+9W$E)UKuok2Q6J z32t~c41URg4gL#9m7F-SkRHvHI!U{Y(^gcr%&gY}56h2qCFz*@P~2k%rEv3(Ch;+E zSuV0fB)-8K_I;G1dwa`JVYffUZb4U3eoqWtB%=QXFvPW|DQz+!*)II)9)w#@LK+Ph z!hKZ;_cbBhVM4e=jc~(D<+)!s*bbkIHgInqZlm<=8taWsq!>{(=Vc@!1e|V3>`J*E zLMRDBhmv==q&-<08|DYf(QqV}>gXYobOoV9af5Zc^TTDN|2ZSv@X~2UgMoAk&xZcp zW!P}Rhz;TCZ8gGuPT6dld~IZCQ=&F9v?)nxU0KX*pyD8&z@i#iP#c|YYsm1! z$Uw(Hrio@;#~T59cMZC~DOg_bpZAL(AzCT&+(2ailU<(XS?^ULkIF;O4u<}zT1UNO z#%`IT`rg@HXSlQx6^>+casLqOlkO;&wkGk&M{nN>f0mRthHl;sybLRa9=WgzZhv7^ z-5trhkzod<3$3-=fI70PWn`~j6*p%)>1+|&Bzv$VYh z%F$iogWf1r5&T7T`CIGYJ5`A2^3eO_pbyAF?+=EKZY2k6R`MC;nfJQ?u@Cc&FgXMO zA3qoF*<%thCGi0$2 z_u)M$E^2jGuxooj=Z_Bc0O49^r;!Z``mLR(d1e-Qdby(w_jyEnrS1Lc02ZpRd}cvs zYbt~PG#dCFKGg4y2HuZ3TV>(T$-;jq3%_3${+KNMVOjVyvhcfP;XjatUo8uNP!|4> zEc_l>_|3BL+hpO_%fhdbg+C$-e^wTLg)IDuXyE-cg|*SZ`)LXrW#RYA!XK4|-zf{f zN*4ZOS@?Cb@LOczKaqt$)=$(r*(6K-a#{G5vhW9F;Xjgv-ysXXK^Fd`Ec~fx;Qj8} zhrXpEz!s&7^duSQeE%rV?KKhf?SyD3n0n^F)uK2G*1mUzD#@An2ZSIRwf0mTB` z1dH1VK7t1N9OEq#!X)uArqeBF9)S>ULi~&5HPW(EV$kt^_wfCHrpxa+m7P$_wLJ)> zc0$Oh9#I}BEfjx6_fJZpLSswXoEQZ`G8q{#6uLr)iTdVJB}Jbd6n&+Bx%Ey06;&8T zgWg*dy_XOAi;6Sew*15nONG|jsh0=U%L5cpLl-gp#2iCIQ#)c!gBS3-W{%~d2PrB# zcqS^1tl|-(@e?>k8FLBUr#WaF?-QSK-S8?l=GlB%ezG7)zv!`9N!#9A5`qC&{H0nKRSF4^mwCUQ#%D!Ur9oBAu#=# z@dDG?9*~9d5~p(CZc$;)=9UZI0jM;lEgJM$qUdvc(971?gyziVzeR0RDPx}3dbS3- z_c=ThkEHF19+*z%j$V-cUFSfFI-)UAGbP~L zy^fN(!-@7ZS18p9WAM`G-%_uhgl0QD9kJFr(<_tPO|uKAU?8ogYSYZKIyIslf8U6Y z3xmw;(T>U7w>-f3H@LaJQHtM!hDmNQN)ce|%zzC3-V6M+ni=U+MUiVRCVc)=_^cqF z8F%%EDuV4M*c5l326xxmQrs7OOGEi4Pg<|^NLi=)QSlru_iT-I@Ps|06N6HzkeI7K zluwt2oEKeQG)|23P@SF}xOa5eHkM)yh00 z?JPXKmxSoOEQEVS2=}TG?lmFY>q59Ugm7;f;fBBa`u>5)al2(iZusMNTL||vA>2Dc zxOatcTXxEb-!T(pnul}|qPMFMZZ{#^?n1adgm8Nr;f5DyZ+}xnoSifxH@rCOC4{?J z2)DNoZXY4szCyVDjBsC6lcY1qYAFnBRSrHL0Ba%f3fVC2)Ue<>df~o8l-uzDeuqqt z2gzt7S74IbaWwLr?)dbwM6Hm~gx`?$5!q$a&Ek0}b{QHwStw4Ge4h*fg2jkFe*k z2`Nvfm&3wGLjZ0N)EPECVHe8tsoQUOkuu(BYnH{$(+q>%)A8lg;O=|c?c#A}=iAUy z<`+`Kh|e&D?QlG?0{lk1f+vv-mV|2n!_zy%snHa+XKbmNdOn!yvfL$ke2AN^Ou^q*CNPO+m=^j?;V3>WkfS zX?5%{e;h8f+|VU!NZ8@{S;zk2%Pfr2uF>Q6ZB~?O$Re&-nBqgqaKuZyEFZ{Pdf}EK z^h6}5(G~X~IWFmLLl-LuN}m(%5gr^KqXP-(W+goE7{&UUg7El@65-*~$6C27(Hq;k zeKp;ldSl_DCaSG;VL7o1`A`0qzV@&KTM(TDVcf5MqG(hA9Q z$-0+*4-sUnMnS1UwlQl|`~_%h@K5w1Yfb3X=<3@@v{OTzLA&XgG~gdKbi_^5NDlMx zvShcBED4XhM+kSVkRx=j5WV|^aQ6%09uUGkD1>`R2=_ywefHMtCXz1vc{?n`hjl`H zIATPvRs)5!^j@U4(#)z1ha9c7eFM!mJ6}UDh>beuZul|eu(xq;rF8c|L&AWVRCIK2 zG@%Z7VoR+BOL%1IF-WiWlYNQpKYj#_S3d zAn}rxS<>)wW%x!Jx$=>b_T+!jly_2}8eGL4RvvoRioh*cDb*u_b%jcy$Bhc4y3*r5 z^XEZoNcg)K^A5vb>ESo?4x>#MjuEBWP4~7zjQCsvBjLGy^!p;*US*^@RJx+NwmbKNN0w#Q?1c=!2oN* z&UEe}cxK_#>xeH>XQ?hlPOfT$^4>L*Z_pR~;nW|s&saC^;LdWpdH*cP&FjBI+0jIPC}_wG5Ob2lbL1n_AHh_m)>4;5K;!pk^>97 zI!`oJ0Ar|&MF*}qe<;z~hjPana-)}Qr461$a#XGL$yKCD0R){w?bdDp2|Z%lW{N9& zrT5rCrabQ(g2$o6mEvR+(Ane=JPN%ZPJIK+KC=&`Lvn$5NRMpY{cV+5HqA6duri7gngG2vVNI3VN zrtAi*&k{Oz-a5M|^s?6IR7yb!5 z$Iuh@7oN~EGSm~oAD%r%+F$tV%zNo93pC4KP|8%Xl174vq+Wh<7UW#YT2PW#eEkz< z3&pc2ulW4X(!65(QuBWRY4z|Rd38eT()ctkUaH(pSxZ;a)!?lOc3lnCKz}F)y;=@> zy&Uv5Iq2ztalcTu>4dFh(+m8zxs&U*kplI*P@sCR$6I!7 z;~uA+;sHbQDpaBO1gTKZ>jOdg{Bv~8u=-#u1FWPBHMk(x1!@Yi8S4xdu9jUecz`tp z9br_NP$3Sa%7n@XKCJFDl5lKy0ju4CkHGx)@XI*CXc_GoQ+b^gVW52ZQLc5=cFy32 zK2>MEIhnH3>#aLj>jpM#y!vW5bh4{eK3i`1_{h<}RY1RPg8pNDOfSDt64nLY;CJud z{deBA3=Cog9-S){9i2*@FFmn{ZbMbGj^TITXM;?fFM*tRWj>u2(_)bD#zr~c*|2?d zD!jh4K!OKWL~wZiwjfcaO5ZrUw#xe_--7)auqB==7e1yC4#zr3oQ^tCEKcD|dsvxE z_t!v}fXnWf54F#GR-u;|MzFyljBB-xm>`i5qyG=oJc;ZsIOSBwB=WZu=7?8={T~If z|C1p04+OD)D2V-3Ahy$1YfH-0{i?XWuGZ@FawfNycD25(7XIGrm9xEDjzg~#c3v%x z4*OJ_bG^w0iE=qA(HoHYGW|?hvGo|JMDM9w7J5g11M*-Grx#c_$63O9`>Y*|r7#f1 zoZ$T|#GI1Wt^ZUapX_r}{yN8*92)>V=tEVJ~n1y$nF#CIsy<A`zTj(k*u!#z&P@WXc@&dZl$u|}zB z3#Ob;?EHkcl|t(_dq}L>e8J1336!YPOP$(28opHMetLI8!Tr=TTKmoo-6LA)g)XYQ z$U%3LgTCWq-&MGbZiaN1qq@HwbYD5>0dmlNe4y>Zi4w&G77T^KYurv}mf4UTE}0Eq z@W8wjDd;3*mxfmX*Bcplfg0;P9656pJ3P6YjK~eIR?f&@0*;jqwektbR&d-;tqf<6 zx~$zZn|793yYHYvJrZko?vBXOUDod9-3I7S2U)u_Pmm?nV(Pc>H%iM}AOrdZS|CsR z*a+c|;#2lA7N10p5LR)-|GO5~pA`@tPQ0`aF-dusjEH@k&p2X~fmHJHGMFpyNP8D3PG zBAUg+Ke^#?wv@cNEqv<$T#7o^aAy|! z3T#Ybubdu6FonEAO0IWR%oU6o?*L%jiH`tGHvrgOeV`ox9Jm!fzJ(c=#!flyR%BmP zd4|s$8{#GiwU$V{IANrWgqI~Jjc_Y1SlakCTcBW1L!fA+b)`%WaS>DseFNbtB?f(| zE|*!)S?Q&j^`wWOU79*c}G| zojN!GII=`X(Nbo*QY8`WAwiO7y4L{^ew$n~+9u&~_Zg<~YK}`ZmqMkRWNq*vuN3+? zcoVSy!ZZ3ap#{8agj?1~;;>Kx+<5h-+(Gu+|=a+jZSz5}L1+8-3ps z%bpy8Xna6M@Q-!w2H1+3OD&wp)U%eejwLNJ}AE+WeQcFj?p#L6f z0F?B%%_F?1C4_2&Xlc)D$}R=#JA&&?WNSo`oc`9UnmSD%D+8(=$9SB1I0#nF{UnKx z!_`dNek^YQOvwyb`zkbr2o-&C979qrQQBwM*wv{LK1@A-vV9XoN^`a;+uXT*n{1n~ zd}vgU@F|3SWuJx*;TX(rH{S}|i8=P(zfnI(;?uP=d5`j&bGEPonrY(LM<+Je$hZcVy}DRdOouyN6Q`-CvKODV5To z)P@!T{}3uT?NIy^dL&k^<3ow2N+0k**a!S9nWS%!Eqnu#&0nSe`+gfLrAu1tYT75% zH-Tt*kV<8!V`}PqiO0}X6`eL=VLyg5MPD?Rv?kQIPtdo{g8Xa(RaV>`Q!fEIEuBK8 z@CD#Oham>(U_w$U7Xa6P5=-EQQFDm$vXRc@4|TP27$xQH(**S{X$?L^Wr-}a3!=5r zI{QPGs~M+-steRx1qH#+rv~*bsJOw^0?;*>P(?-+E&?~`p&W{zn(%31>XogimSF;= z&bPd~jBW$!d^?)n)`Mh~!I2_=8Ox>*r=>u$H<2S8`WA&wy*^GVbR-7S`hxX&^baaV zAO0TGPVImf(OVtuD=J2xyO7Z#{BkYtGkRkQ?W;BD20LV6KgumASnK!G1vxcU-(nx)J%1v9ywT1KR6jcF6sfrveWPUb6R29i+`vLT<1B9plTqd(Qy$ zv>xF3R&d|(N^5y4GULiz4J9YjiQhOLSB?=VJGNe?aN9pD4OZ= zP*MPo^-m0p8uM}EbF?#pmj1I?FZaBTwp|8@Qhda{U=Kzv}8sU$0IOO58 z7@1scp@l^_@9+xVZ?b|v2(OR7-Z7_9wl2MZJIkxRJe9{RQi(L`_?6vBojSg)4~=xK81=Fq z^#cv+vw@}#S(cm{1=o-AM-;=a1l<1sq?AIDm)4_`3Wpk9yA}h+yj&)m6yO*b6@|0+@ zhki3xY(@EjYWBk5Ww1s|L64S#I^RE-(n$c-P&xzOznD}%R1H^mcS-5a!fXwy-FYFE zgK6R31v=w&&vsMxDM-yR+UchZ?+IZ|c`;frhgV ztwpGstu<1=wH6tmYIeaM{VrIdLG?QZnzOZNsdmR6DLn=zTWf@VYb^z>{#)x?-W{u9 z!JQ@K-YgLW%K+;uzk|2d82yG_4%A|y<+lkmjD1VLwN`1C%RvpMb)ufu)z#5DPEYHH zme_>O+P zHUqYby){A4*)1B*I-;P6vl_8A5S-QAh|_+(gs}!2cA8#pe^ibE!N*{@o~=8|p%yVf zv$cBax7IG87H=(w1Hs2&tbVa}YZl7@b&MW$Z#mQ=4rsQ(VEq=@r{RFf;hLg9Tn7N_ zf4G9FeN|8GK@GJIXM<6P=ur=AP#qqOPI~Vy4Qt=g^WZ38@z-7fM`G2G}YD*JS;!Jq}b~{Wy5VhU!=B1W=35tqEt>>p6R-EN6@4frhh( z^m^Rcay$q|J*-DPuR(RLgd$XpM0{Vb9Ud;#4xIxQytRhux7G!aTD-OF&>;PSZOuYy zDV*`-%|@J&BK8Q}J6-!YafHKf2wSDCMN`mt0e|nFnMdyV2%t}FL99jw`p9N6=%sQD zIV?x@ayhDxZ4=}5l&xaWE9Dq+Mvft?<)}U`NA+4cs!z#LEhwH&%Te7`?#RrPgWe>! zLq^KoGK=LHvQ>^D=j1k@;03l_jv<0arnlUUenSp=s@%SQQ|>e_l7rqSxA{)Uokl^) zcW0BBVzx$Z8DEow9x8Vl-@QYCIv1Js^+)SKl{iyV;}@A>FS zT3WZjKk4f@4n`fLM_pVU>f3tMW7VOK)uV2#4t1O!b$xZHJkmAooS}=oWo^KzH+$CsUrw#JFF9@QQtv%<0x~csv7R7p$d&q zaacO+#svGMA$A0A`J-|I{k$CXL?3M;T+)31>qy4r+SAXn$C))1qp$77=wB*_zNljKeG2{8%b_o=7`;`Y|7JP#8)BX&>=A#@zCc)(H#XcI6S;SUuJiB5tUr~0Vv;ZiBiUK4>spi zfmMRabFD?(IE4ohD7%^(i1mD%G?+q)ITdZ0Lob(u-YW;aOb)sqPaGEE^;$WqZ^}V$ zmV-VZ2Yp=*`l#FvSs_RD2|4JGG#X_%^uzBk`ftG^9XFBDOKs`d z8g$#)M%pHNre#x|;2bOM-<+|!Uo77%)oVqEMIB&-8r=NN?udXm)t2uVHGd1oxXxz^LZ*wk4}b^YLWhqU9#j!ap*;q<2cLlf2jj0tN+ zs8q>hcLdWPcR2isF6tDDr!>=xwRs8Tf$HAQJ+8TlC9KwAOX+(Tx`&d1Y7Bne2fTL_ z;1_+s--!bJwh#E5QGg%z0UroF;BQ0$e!&O4dlcZ8eZb$1 z0(^@P_}D1Gulj&bivoPD5BS6=z)$*sza0hmN+0lUQGlQJ0e>wD@DF{!heQFs%?JFg zD8P66fRB#?e1{MC;wZp3`hbs!0{om0`1?_SpY;J>6b1N4KHz<#0N>>U{%RE9dwjrO zjspCU4|ta-z(4T;Ul;}W4Il7vQGnm^0q+|H_z55I2~mK5<^w)E3h)Cy;6tMT|I`Qk zl_~jSu*OD8P67fKQ47e4h{a zm?*&a`hfR~0{oZ{`0G)Cuk!()9tHR*AMlw`fM4_N7mBKr{CM5La(>(7&1HGQ1&x|ADywJ}lwKEIzsq`HZnCt}q`{*}U za&;7(@^#koPMk(xPo+`AT3T9u!684I=Em^u*4cjWb@^u8)xkT-!$qZznrSc}>j$^I z`BX{$qygw%J?NDmmVg@M|KHSSB)>PiH2?oc`PT2ndHNa#+_^-nU&y}W(Rq#5$A4Iw zrf)#(1bwl>=_zH1Z3!+`*l=Fk?fUpHa`=QU2Cv%}Bum!I zm$RBCf$Kr6rs?^fFIUCc^%u1)Sfkkn&WQ&oH&a7fF7>!o~kXkAt$1~eP%HfYtX*1P|d!yi{H z2Hw##c8-Rz20N<{x9=?3S>;Ya2tjyOF9oh>1fc<~gTVm}Up2HEfcDpKf!C@N1M^zb zIx%p!Ix+BJZ|!!y`*g`gV8DPo`rWEwfB|S1Jy%bc9xOjljSLu!TR<~M;7I9M#*nI~ zzgF94QOZZF{jt8R4y)}^nEkcdt$zh%ol^U3vIYY?k@}K_q{k@1PEb%AP_NLS+T}K= zB$fsmCfbY-GvCILPNb@QJJk*^n4|fCoqh8D#uOkL@nK=gZB*F%1+iBPVow&t-Y1AX zPY`>LAoeCf>`w%-X9!}i6vW;vh`n79`$IwOWrEln1hIDuVjmU6ULlA*Ul4ndAof8) z>{Wu;>jbf93SzGn#NHu@Jx36GnjrRJLG1Sgv8M}SzblBnTo8MUAofy0>?4BM9|&SE z)L@6}9dYIr#5HQrV2T>Sg&aZuMI#R!$TT-bPjifn5)ty?aX*8Y8!NluKjT}fz$4KN;QE~gJbns*kk3SWCSf32-4juh&@!0C)Wh&KEFp!p4<{Vmp27@vQcm?FA37!U6AgZf_K9W z!F_U0kl(8W`MpX|M;b%Jzv7d)5K1m)leL7u!L zhNtV3rIO=8F4zt7>1z5NReXdR}f z)u1F?lZ4P!52|V4;N(jbHOA0<|5^G@3%Z6Y2B>qwqdJSVrD(A<*-bqGt4Z#dUtMF2 z7UWDt-fCf>ez7#W)nHq7lK>qUy3>TSR0C7qbER3T`TF)iXMd5yAA8T0v#)})dnUDN zyCRI!blh=>E#6m}Logq(8X=(TU||9~H$1EX4>sugjp(`#ImC`GS}+X{ZUa`sgS~&B z!ykJW%wWf^58cJXp>b>_4dw};Wtx<*gy!N0GnPuA@4 z0@i>7YeRFu0Q8m6^2Ip>!PnMA{r5L%5TrQ+r#{x6fdPLRI(1S5`l%lDwW>gUC>>H2 zs1Kztmx8{KtfTfVX=+GCb9*wKXy7$!aB8S9>rYht;?LDj`DjM28#f~4&N1IkVNMpt z_#_a}SVrUR6Ghn^Kg&O0W?J)riD~tOsq~5mI**_ctEdtDc4{IrAZ`4Ozz2#qTO{0Q ztd_~hsI1M=!1z{rTMr4Tx)52KG~#op4GI`*f9p@wICh zNhly0XUQIJ?Q|Jx=g7cblVQRD8EWsyQ2UAuwKHX4d&^vFRD>D1`O&Mx$ z%20b%26mDR6MD(Oo|9q1YckZHk)igM4D4|k*oiW{oht*|PX>0H3~Y-G>=+r?w`E|b z%D}!V1KTQd%1+3@zAVFpw`5=k%D|4$!#=Nq9Mr)+olO-rGP9KHybT5nZH>v%n_Ys%3Y z%z+7d)E(8KPSvAsE{7VtvqtFo+O6Eq3g*CQJ*~&9qjjjB*3;GPf%$q`4_8O)a6PSE ztK;k2dRn)YqcwQ7Ch1Z4R);!Pk9xE^)R}tJ?bV@9)1$7g4)q;9>dxv=r|VIVltT@c z10(hOwR^e!8jSj;9`)nuPV6i_2R^Kh1F!38y;L2obM>_DFGp+eiJhTGU0Mz`c(sP< zIdHZ*4vf>&y1Y7C-_X-~qa3Zl9C%fadZs$mQF_!PL=Bq z&eo%Dst$FI9(8MVsAKe~tIDBT9es-1)9!uL3@L@bN_C>tFqJRYA<-6ZYf?|7p2*g;Ng&y)7I}KL9TN97 zC!4_ZI{Z|JpPI7iM-%tioT|?@bVgEGW80?CB_EjYcKWL&jSA|%okGSKCE_JOn>Y2& z1iHuXi$S0MiV?Ka2O+D;M|?n~Ba$^ved*Ot7U4I8?Rc>`7m?aGyfKyxbuUMv!tQ&O z=8k%?O}KsaZ;V*to3X7CBwf)zRFmd-@Ha{a@ERmfQdd$9YM;{NNx!b7uAIrd%)9ja zI#Q=g~oV6MqyjHzIs)nssf04rR^u`kO zO%%uiNwjAl7%nc`@N2jk=)o|eFI{bvNkNO!ng^QblKtFY! z;FZw!6X>F|(G$7h=_2rS5ja)RWL*7<9q^et@~0-<;1i1|$Il+h0pSB)RBfs#?@xxQ zLwWC%mva2<0SAN^{JA_^X14JtSqgk=n>=`j#OOA;iEX^-_}POF3@`c*Q_U#V@w>qu zNhjz^dZ#^I2>1#Br&=Xg2Twx0z622kJM16ZH{!QV*~V;BXWV1WG8dS{X^Am^^%a+Y z$!qjXKI-mP+VbPWFiDK`OsHZHr)Dp7~MZXP&uYT(RKzMNVJ4i+b!A(qnF`VNUU^ouqqLrE&_xHAMxQ`@F+ zI?49Ft4Sv@8u0bB60cOHT~rDKI%VTaVisdlUjHaH45E=!4H;W&3n zSiyFJ%>!@*Jm|3zngdw`>@>q-l^fQvSnFQAi;;XNezYtii^9&DtmM>Kt!^nk;a_M~nRaVniLTqcx{=wY@&%o%eZ1@eM$$tMguJ&JcQ+)bIOAwY>QT;bl$5aIOW9|VveV&2vswy z>M&3>Gr&In%@R=i4os21*qtl~qSy*>OQehAwApOSKr8;*>uPgY;1x+aLAO&c=vHV1 zodFAu=vi>Alm!N)PS=yVMnkHD`YkVCHLEpwk2argEl|JZ$JQcL&1x+Ls>Uz+VL8;I zouvslEa|3=T&@Rd@qRVnz(PF-HkG3_cw^1buhtfz7DriqkAY^nuHYDG4%aromK*~U z+{=30?bYI5(&O&b;W}$pv=cP@>s`I%+6CC+o#1d`px2+F6EYJK1J`WZy@17EdxeaH z+fsz9S+!}v)vVe9;Nq{nxaN28ZQUKbPIH@?L%*WCD5HVCCP(!ZIq0r(3>hQ`eM62R z-Q=ilk%JyA2mP5GuY1T*JyZ_5mmKskIp_g$(7olLd&)t-92Pp917qr2YmGfn;gF|K zU}OvCZs?dzIOHV?xoz~w8x`_zMvpAVjbmcmxTKIPNt>g-ZEjPt$PLxw9o`#XHsQ0a zHEH~w4nSkIr5Te1)=_o}&+-4G3YA^FSOTwc+R zF(R(~tcgYWS@_wTK~TXK=&8eGU~BoTgr=ggr5v zye-~gP+#=UtArz8G|g+(H7g+g`!C`>Euci-lgNvi8&spQ@8O${>0Q_blQH(Z}lFQpQUS1Ihp)t)J}SfeDbs9+Cl82YKSU) zsAA@$7SK%vmFRl%^|YGK*6`glmD1NgmQEnUlkW+hR7T~n&!uW!N>OEIDD-VE^hfgO zkNKllQ1-MtOxcs2?dpjfr@;|VPlRm7TCgq!XV^>XJO3jXUvwp=vyB~*LfV8s#cZ~4 zhkV3F-Xao5Q6UTHOVbqcmrS;GIBxV8qj{M^7SR89DrBQXmT=rSbBFf^9kS5kBOLPZ zON=bAH)3SBuVdz2sTCaBbsc%;1^i&QTNqg&<~T(mKYTCk=MmkQ8v>{Mu-M+X7tdfX zwKoK^dXC@bGbpg1`>PccpjmDOCo0J=pl`_0d@mxur}!+OZ^&_Dv!YqR4|Y%?3%F$9tN74L9^fY(9BBdkAaUV)F6KyH%U8N8!t{zmk>PLAfu*ZHIfR7}XxEVt{{D{cr#Q8}7#-h(txx*@gerw|F9VHy~qu@z0plY#02V?Mk{22ietGIjFH_^bghbaKM=j$ zJ#-L9(v4z3&H$V(NGWs8@YZz06`U`Iys-jgr=^LvIgPjLpsH=7)+R}7=Sd8e@XTVs3=`D6ZCpo1M&5~2 zFK9-@xGMy#s~3`(H#K!6?++x&K=nKI!q6n+KpPU)LR#BV7?!hWq6AP0v~WK z-~m(Y2V85##AnR|e&k#G$8%D6EKjq|9%$E?Pm!(VvJNW!0O5=OLR%S^hvfJ?U(qaZy5(qIt!OrK^n{aj%iiO?A>dwIuaE_3mgDmQMYBL-AUT>( zE1CsPw;avA7V@qWkahRsu9M^QtBTJ?Js!i!4LO?MRx}GpBsrR=DVmMW;IqjZs!Fdz z#W!~W>4Zx22C8#bjWipmXdGj8vuSE1(m=!dEWBV?Upu_;$jAg2l+WFq0z@M|%$G{H zZ3;c1k6LSTc{;2r>fGrX<488vj;m^JA3;#(I|Z>P52l9pY-UAH_Xk7dum=ia zPZ8uve?htj2x8A2Dz}z%1nHhCxRx&q(mhlVd+IFZWRj3oujuGb)xMNgBh$0(QzVKz zA)sozupUcWH2e(xkgXmUX}B?FWORc-!Wh-Z(hsN?{KPFfAiZfCYfVQ;-&&JK7cCc9 zixSYVTU!}fz(yLZXcmZH$k9Ae(JWx)%F(t`iYt|PCah8RdpwOL)NMm+-R9W z9lkLNh7=Rb3MR#bJDb(P%ZvS=OlgY18%K&Uo?0G0=I4Ha+RoHP)-TabV{(Lnp%-ODE54pw1#jT~sUR%=A{6 z&P?WGGSBLm(ONMxuHR&42=p^s*=?gSo6XsAPREXm8g|$+&u6rjGP|1bLS4c3b}X^K zFdTulBP=}{t>v|4D%c#O!fXzSiQv!phRNJXa=l0K+R@Yn)tG7dS4z8qWgHWix`CN5 z-Fe;8UC}IEIGQhiU`(?!1^8PYQKU=0TdkimJpws-#j~p`*bWoIYzL#pdEL+cMWJzC zZ~WkHoOhtKabCdWISQD{PM$m2b(68UupKKJ6^UcMtQ$2$_n|YraX8v+s(E>M(a*~( zXi2o6>*$&ag+1fX453YLz*gN+xve=WKT&S1T39g%^=IokK~&Ylim4}Uu^BJW7A?F$ zTWp6HxUn9rI8}~*3F$sAT;1t4ISakYUI|3iXmPBO1dbe05HGVb%i#& z^pIwBH|5re9TJ#R_-KOK>>~Z3Ln4W*oyBK|1e{&pOeDzB=CIp~4#K_AN<44)zm3GR zHiVx|Jf3XEcTILk+y_+vO@XsD{}mMTCv9_g$x2LS>pFwh+HCzlB7S`rpRr%BGqpf$ z+Z0YJEgQ3$wzY{QwG%yjSdr`6mB8|caiifF$bfTR4fL}~-qwC}x431#I^oxKtn!6tT)uE~=!7e^+sJ6wZw>vT^Hs}IP z3S%bqMCyrbrcHwF0_X{JB-3OHHmjEmrs<(absc^pGqEX~RthF&=$Uh5w2tgoG-N*& z#*%~3*x3cXlrl}7i_JJzdwni(s2!x+vG$R&K4mkRMTt_Z)#z!cQs51VB(Iqq&O0-3 z&_|>&eGNR0xF_&Jg)C48uvZ~}#e`-Pf5b^Me}p|3(%Yh382|_?Q~CjNc2y5_ygaCW zY6rcXRdg~C@XvVl9!|Am!?8hmKQLb$J%0XY3gMM2M`aL=5*>cb`<)FvOLBAsh{h1u}t+3Dr&Y_nNrr|Rxl=Z<`oyay? z6Ex1DzfPrJs-2|GXn?JtVs3h7a3Dn5vj? z;Yx}TVB!;k127{S@i+NwT8b5f&ZkA#=hJDhA_)ja4_W1$`=zWI*gmDPTodf0a}e4v zzz(NmUw#*ysL2^+TuZtzOoD8a&Y1<-Ot^gt0X!3Kn_zz`h<#cR`-~yBJ*lwxOj@6g zOt;Tir||!j`-rF@HbNoK0h4IHQP-&ZEHIu+Gcsy zCItZzBzy#CvI!EP=`ozbdK`BIDG4b_FAyN~d&;zL#_!uU{j|I=sdt14f|qv=CLvIU zUfWIrh4SY2?O}0ZeTHA?fh$dP(;gm*7ZN6b2gNDtzu0+pHBP`Z3-6!*f#+y! zk}zs=<3KJ6KB`700bXw%yp_Z|irCYbyR~;|y&555^Fk1F=*shB8N8OZbafcAVd{>s z3<==&!=>OY8$yFWqvrqV9r4XMN=E|e>|{-%TD=v82`h5gZ*KB+?P1Qca9yN z&eCi?AK;{Q=n8G@q_z4cZALCxw*S$`tGW`Ai;Yy5zT* zfjyipN@{UXgHvVR)1Qo)nv-FGI$w`EOM_~Dr*_kcwJDL@sVj7{CmQITa?oq#pts0D z_mEr0o^sIJL)OVry+#gtl^pbka?l^hL2s6WUM~l|S`PXnIp_^?&|Br8 zw}poepBlIJ?~T+t6JK?&*UkLk+P;x0y-^ieqWYt47CuN$bF4+0Be`ia_Et}}r@Ns!+mvnY+`dh=O;~Ds zuV!kEj$$}IoH@_PMt#33kat_dB-A=ih2YZSQ~J{4Rd6a4mlm5l6?*9`r1v#Wg>V9T z<(p?{U(lfpTNrKwdt{wD)ZUnIGMjuD)u1X4mq;L&g#w^lf10Eh6kR@w-#2F)v(2a- zb%dxskjQx~IFQ()g+>y4bgJHB4KvL7yju>sw{8iep}LO_dWkmV~PQIXaY!nMfLgF`At42{v0ya!34FpXM z+BP|tY;ZiF<%1+{6gGS~U&)R#Y#m9$!8<%F++IFB@FpD+fi`5<2Qjiyo7f7}m~COy zn2@}fev5cPW{c7amUKgM6s}%wrP{fQ=KseOazpgUXB9Ffw?$0zU4<;ru5ZCy=Cc4d z_RnKvvS}mc#vw7}qYAm8i$=HW#ArSthWx1*@>zu}&>sA@LN?L|!bzkq^QHE4_X?1M z69OJj-iNyweM_yQ>_Q5iuO1Ao>a_{FAL_9U($!6%`5UbPEHDIg z@@hsl@VyXWHt0O}R^{=0a^kRz#7U-TmiKz`TtDBEw$z zYzcNaUT-+b95JfF_@PQuB7M@W=0Ynf=(kD%xAyAONM8Pf5?wT$!8Ux%ZBv8o`D7B+ zIk|6j`l{-Y%mxpa<{Wu>Y4VNhg|qq|e3nDEp8|CoUq!SxDG}bIf3$ z3Pkgy-WB?5a;W*;0j+y^0SBQmh3Wne#+fxRpP zdr=1VoDA$f8QA@XuptH5K@kD=sUfi;&+bVX*h4a~du0UJ0U6l+GO&APc>9SA?0Fg3 z|q($eTGYB?=Np^Sib8C(l@O>*O78Y zVOum=;N%q5XaR4jGQGAF;%4LzEA&;!*0qH@rLjye6`)=onJS=CL^VIbiabtM%U$Gr z0v6*79cK#lC#Vv3?SixqYy(kS;t6v{dg1(;`jN;@w$uVn%JhZ7BWNO%$3gpo2FCrIF!F^}C2wk+ z-6N`4r%_34XlF%nb&m5{Q~r(=1q$GYN)!way!juDfJ2_&vD-wnuyHc5J?Du~d-tLU z>>U}{Rin+Q{XxEghIcY=Z-J+F8RI0fxYSzFGnVC#+%PxHB5( zEhs@oiTyR!g-z5_g^bfeqB9w%MgkY&7C8cUP6Y~Fn+O;fx4s?9WcD_qNmudXr_sMlZ08h1W#OKUF(O@%}ZOag|B zMPgROtiX{hEn6to%i@zqDRFAn4wak4LWt8?V^+kwqGaA^EGuGJLA@5Z@GWLV%!*js zj8&}I&f~G&6y=Rs5wn6~|FOR!cHO9n6|onKOO9fPUhGzg-3ru&Bet4it0}gcVyh`O z6=G8%HWlJ1ZyfMeeSBm6IM$D2{TQC3IB_FR+=vr5Vplq{KpTlzykg)+78<25SA-0-gt0}gcVyh{(ns5r@1f;ljj2ivMSvPT1A&x4-rQ|Pp`=ziD#Vbi0F7tJ)q~b}xJl$B>ujf~i_GThmSKUhX z5v6;eA>HLCPhi9Z?Sc$XO|homNn#YmhdXE#g=_M}oN+Vd%OT%Z}yu}Be zc^>pHqUP#29j(s1{gVq4vjptQ#-fo(NZ0(6%I=n)CfsjCHex=I3civ;LJ z3DDQp2=H{c1nBD$po?{&PnXpLbB8?|;PzE?Q;+>DnfsPoQqu=fi_|`A1=ec11n5Eu z(A5&4>m@+9N`UT?0NpJCx>o{pzXa$Z3D8yv(7_)Hoc$FNpsOW7w@HBRl>lv(0KF;! zdQAfKt^{b;bpo5erv&I=3D6-Dpsz}R4wnFZT>^BZ1nAompzlb4j+Fo%F9AAE0(61| z=p+fy$r7MbBtWN2fXH%fqRkpSH+0lG^9 z^p*r@j|~Fybd&_>WC_q|5}@-WK<7$;E|LIUCIPxc0(7Ya=wb=b&bJvhTQjMX*ac(G|9+;$*AuYC!;PYPDXtnANXWWQI=|PwF>o= zMtPJqb`j-DqiiZ$gQ6n5t;5H49g)>qpRMKJQZM?9Gqx(ALEbV`DWo zR%2r|HdbR}H8xgbV>LFO>KadV#VLsUugCq@XBX z-Mq2WGLP#!l1NX&NhqvC}kmn#NAkx>zZUmBLsljFrMzDU6lE zSSgH^!dNMcmBLsl#K6Wlk{(CW<4Afu$vmE99#;v)lg#5u=5cyuJjpy(3gb!U@g(!O zNH{JMj&lm*oWeM#FwQBA!^g3wFb*Hb;o~@b9EXqN@NpbIj>E@s_&5$9$Km7VSSgH^ z!dNMcmBLsljFrMzDU6lESSgH^!dNN%cB~Y}N@1)N#!6wV6vj$ntQ5vdVXPF!N@1)N zW@Du=RtjUKFjfjM8#_(d%Z;I6ffpHE}rb|zbA^*L8Mzq@kWOAhX} zvr*z+aB#auN^h%!do@yek2$z4kAmLQo{5y+Jq~WaNa@|@;9iWB-UAM9k4WkL*um`* zDehGVw`ZidhaB9yk@EMngWD}qdM`S-HzTF@h=V&IQhN6~xYr}4_mqR%OGEDuQVlO9 ze+kVx1AI=yo1kSkSrhxF z+SjwIE|YEOSnyhw#e6(@AO6G`^GC@#(*HC3x0!5BC!z;b*3y(OdP!452L7pD{nVT# zy&n{U)?~IG`v2CyVq$9@V%wJSH78Yr2cT203m6&2-WYmloz?YN+U7xx1Dman0Jw`3 z@ZFE~6#rQDchc>>Bqfo$h#_|sL+&Pq++7U0hZu5CG2~ui$i2mo`-ma;6+`YPhTLBad4M7EQzjij zQ>2Dli>4>r*XEK?8KFFP)@sf_Ql9>FE?eAk6)O1yQ0QTXWNSMl9?aI*`h6Yg_tuUR zDSXm^$23^SbNK5<{JX}EuvMB!34JDSKy0zq*n$NC+&@yL!=EVA;m@?V!ax+0_>KU4>2DK z@w#|FsJLa!hnNrUICi`r;{6cshtm9x_*}&2B0d-KxrpNz2oS|_hB(d;#~I={LmX#_ z;|y_}A&xV|afUd~5c}7;4kY#y#D0R^f^7Re z;{vno%hqP1jFSets;bX%Ym$alpW!NYxqnYBC9|MgPy4#umWitqcF}GfQtn4nxv)3m z{)gpy0X64)0g?5Bua8`P(EpY8b*U$^b>DB3$R?~KXHrdEq?&dWsoG@+#cBM=)#tBI zErmd&wfQ)6fiw6YPBp8#09E^n5?HEzZ9qm!z8bo1lT*#$ofQsPE@SAZ>I|&Ki&4Bl zyhgDx!Ezacf~{Au-fD)YRW$?cz6@F&WeQEQxEz`bmZ@%;xmu&1#Rbjzdfg;ymnTy< zCHhx|Qr%~Lae;)|-)!o!bbW5yc9#|nrQDsd7x13x>kNj}WgGsieIu5%DchKB>fF9L+uXM4 zDYX@XR&DGbsGW?mi!h5;?FL)5ShK;Z1)Y3d0JPV(bm>v3meM{Fpp$f8-#%U5Ed^VR zyMjRySl#a=anz_XJ<|~fxyD+#nDz?!c53gA{1;Zg7xU+$ z`mP}!&2%S`Y|xM7nX>w0ZY`ux;lel$nXsL-9p}ctCs^Q{J?P-N#hat-`Rs~Zvm1B% zU8qhLp+DdTACC*G7`EE$Xua+_supzA4FPpz?Op-UCAzQwRH|O}J@Q$sY=X`JV!`jU z&!nEnW?(t6DPVUOt+jS59j^`tTNU!sVW^g=n{}jC3%W-K8mNuX&h%{9lC4S~6mQi) z*w-q8E!(BFIk(JnV%OY2t+~~@GYMJcI<^<^K{2`2vUce%f&DslyGADukXfxYZrQSY zS1Na#lpRNAEgeTP>!?P5td<35bktT0dPxHGh6HHK4$Wef->z7QkIp7@t)5Lwhv{4H z6{CL=^>%$Hp8(dq&H3Tz9^mZoVXrWO^PgbL<99k3ef+*=uP;5p+=V*^>Ok93|Q7 z&2m`lc>vFP1BZFCM{dd*r?sK~9be-zn zMG@xJ2i?T}VOQFh_o}(g&vpBFk+%oOuz!g|copgDpb|5hF|_yi)_ z?kTEwb3EL521ab=c%D=gM1N9j-2e)w2L=dRfirbUG#MxNm#|rI9>%2h+OP6VDx9|J zGbtTLagIhIL=4%spOB}L3}bvz*8uc77K=DKj_rY3FCHg_=-lkloX$%{P)|=T%_r`w zgt!2%1Cv2>S6J@6&2=)5yk3-(S%)2Ah%Hsgblj&NJ`M+#G`>865f?6P6#K!q zaDRw{bE*TTEoufO%YRc&TJq;$Ha|r+dI)FLtYVy1rFOvLfr<{$YS}vzaxCvNw_~Y4 z@@iT7MXqh|lV~}e!xaTmg*VAx8C4cGnzWR>_f$9)ZbsK_FROQ!`<$Uc_c-}roMowM zk~k1SucPWJ6;Rs!j99wfqDkTP;>?f4S|CLe%59+S-uG~D|DJafTe&ap@7|^OMSk}d zaC6k6|H#LII=Rl48JzOMCiK`HJNJfgy}sv8~6jRC3C`3tLPa&YtvC{U&=0 z>x0aH?8CKk=$!d;X{}|e8On0s9OMN`a-mJwBdqiB4zoTE9zCJWv$uT7sMGhj&=8(m zD7xj_ds%%4m9ckK4_9HqIXjE7OoQc>=St_!4cww8qpc%!fs8NmvJ=Bcks7F;NlP73 z8f9W}WbY+g)ch=cpR5XZ#o@;}aFfWSD(7$gVpZkUMun=>>WFERa&*L0{NgFE>KU^< z-<&Rtg^uy)%8QMpD`(t|`LW&B=3{l^Mki|7x&6DD`2&KkynOJ~Kepfzx~=yJ z6%JjaQ@8neSv&J+C&J>-+|!BEXR?_FFF9mo+gkOh(hVjj+cN)oM=~LgPeQN}nT$d^ zQX~bv?gDp^GZR}q96<p^fnz( zY`(5yAf@RwB6Izjv%lEz%e#{lqL$kJ8LAr-BhwtW(#fdPX^Pe~etGQ| z)Z_4E;0Y;YCKR{r6r2gZu&Tia%+63nbZvKi*9OloSfAv`#01VLM)3?VZo67XC=Oi| z@OL`jQ%6Y_>M^(3C5Xi?*yb?6c(O1o7%Op4eu5ogrF zc*{7T;uO^$Y#ht*IAAi?I?^KFB9HlET1(w{$Ev$F+&y*7nf8xHX3~F+#ycdTMiMQf zqUWeTpGN2Xm@)p-FTulq@N}YGGX5&TF)iZGx#{2w3`Gn_+qNYI*Y;@|%xF93RPV$$ z=nfwL;Ys>de5Ngp;oH$N@|l+lXB-w~I}C3n;(IIQRKqOsXWS3`tFAkZk&RlU@l4vMZ@DpZkDmE7y0X znAsCnJGX|OV__$`ctIprIwQ9tUu3|u-v)RnV#aRC8+RmEOE5m}2OH0U*>F8+`oVbmKlnR#~yStQTWzMqMSK=!Bzfu_$_~+ly;C?T(fy1_Jfv%0c-e5E zt?Mao^}I=kCfxo3+|DI(r<_*H+oeSA!~kyB61lSixb-D+KMdgZDv>)dVBC6_$ek1* zZ=Vvm9|Xwzeu>;Z0o;Bia_0v0L;n)F8v?ikOXQ9U;0`X4yCr}-q(tue0Pe67xzhr; z!%O5237BUiOXN-nkau*6+_?erjwzA5IY8dAC31%c$UCk??&JV@$Ct?cAb>luMDEl8 z?&K1=V*|J|O5_d-7`M44a)$b2ca}PB4Kywc?_ds(GH1|Mr4>b3{qtpY&hxqXpLU7lN(Ow1_I|fE; zBk_!zzSe@6``*?0FO0=(9H#9}BPP|ayE#_tx-n*cG&Y2s)s(>G55l8BSrLFow}9DN zsZ@hVM4;gc5chxOvZmS(koX)$pk!6Dx;@?qs-aLxex~v4{IG*=*dHY&(kyFp4>b3H zogOe!s|bd0rf&(MR+S|h5waVQ$v5XcEz?*9c2ndC`x7ILk$q6W3)&vaKUvY3>@A-?Tif!t(_!pRZWKGB*AekfiN%%pf_NRg;wTG(;|slK z7(v($l|1eEv`D=1hOoa=I`!j@R5QpQ8P6c>oY(TG48ks&l`pKDCgiV#M*WDo*KW0S ziW@~y3;I%lUm}H{GPcq22#uny7GK<#nnZLy<@F;~E#Z`{q$54_V|RQ64f)GCOQ0=u<_tF_eLk>jUpUY9}QtZAWMa`N0--N!*Zow^Tj2FhTXLJkW zExBL#btUqwFhxo4VHd-IAM=h8If%yg(=y$1H)SYyBaA1!+6_Yq$4`gsB`SA=s&P~;422@7 zTA28W-Y~&WwaE&3#K)IfS>nKZ{B);OU`<~-&x%TQC^Seflp#I-H(OT3zMrh1a%j%l zm5P#jB{CaVH8ZK~Ut5e;6}{Ea+@CFrouAEf2?wd>xx})Lx~y;3OPq6Q^E&?i{3L2Oo^S5Y=Kkc`H=F0umwzr@x3Cw_*}(6w+hKvZ(*kp&1?Dab z%zYM^`zjsh`1N`^l@jwz?evY!?QxpkXOYEUfu}%(A*cIzvbgDVd5fYz{g!$ z0@soKK;034F8-vCyJQegKjilB{1W8#j$3a3E@I;5_V3~nxP|(6F;oA3FK0e1WRmy! zocXYbN#5N4{kX8aug5Co0}6^5Wke*m5HC?;rv9^7zUBV{bFXp+vQ;TbrpD>kgYsXi z5DAlggRda*h3Mn>0JMV%F;f+{3Gp|$bxnvTu0$9$;(q=ib(X?$5J2s|5<{|mH}?1R zYl@;qo`rmn0-yE=QfJ<-##0yh+${_)H71@pWx3Oc2L#*Ouu+J%#+jG3GCOooKQJI@Qv?zPP_XsOkVXDg$_Ml5@?tj#^}DD{AmiVc}Y`|pxTTh@Zz+AS-i zv5QZx@3K*z9K8F>yV1)0k~%Q+{k0#EHtC!`gI6dilN`PWH`yGS6A#~uwX6{7l8H>j zc(NjsR-VA0vc3vBBTyXxD1E8}fRuqu9ROqpkU=QQ0U+$0eyXO;i&ESp^j|`tWHmnL zdDNIWztK(()}urHtMt2m`Og}QQUdU%q#srBmKh)`F!o#=FCWW1kFsaubUcmF6V<~0 z5M>53)}f;~G|;nvF=xcD6GEIGWNnC;v;H52<-8jFexq7M|gF0=^a_;|b>x+0Oc);#GxqX%ha zHE#b(3-w@b-`A=yb2%;4n9)~EfU$@-Mg0gW(t}OnMl0?jyu;XqiN^LKOX={K4ij7mrd87|*Va zb=ukW229I@d@?%enO?~VnTVKKWIl>7PhuiPJGZQSkzPZuq(Ysz_oz7Cl=!_?WBJKl)>G&@0*a-Ulq+*(!M9P zgKx}SJWk70n&|1UGjHjw6qlKM?14#+ z+FowG=K|Ft&UIEq)s)CQUw|3j*k7feNyh!TM$i0Nw4A(uQG^7==IQ|nDeTqX=GX4zJ3KY<` zWJWssPK(oNC4HRAgU}6Qq0^~}+P@Z{N@prmsR{RT0C!f2+zSERxg~OM1aKFY$UPds zU0NddN&t6RiQG#8+zlmiKMUYCD7Zg~RRl)YBxI3Hh(372^F zbMbsP=+C4ZKhVJvj7_BK@V}qSt77S4^~V+&>z(a-^Uat!v=83$E^NBE2C?6Hoi+*K zotA})uz69Cr1I;?r|U5d`m7&4Q=s>-pilVG9}0Be{Tx!C^P^`8^p-H_O!QY$+6UR- zJyEq4OF~>Rk*ffPx;ByUGnDA z$*29~87_I9f*f*1JKeyLj=oD}Oj^RJx4`Uff!TwfNyfD7&Q5)`hg&<|Li5-xp}@pu zgpH<94f$}B%H4VB;5>Femak?zhs!Yj%VhM~IK>6vPDPqMbRQgRi(?8-D{Y}F67=^f z96oT{tS&^3zgHvJfXt>MJaJp$($h#9uJxX4-Lc#FnFFV4do=jA%vG^ob3=$r1sCZ` zZo+8^xA;OM1M+dWM?!Mu0J6ud*V z|M3sQp^%KzTE$sk9Q);UH13ONI+4+gnMIdHuo^{9Dp}+wn{S1YBCc{La;GA?+nTR8MQHGS!MnDq- z9<0n^#2==H!-$Acqfj;dlQsMPDsOQy+|BG)P}4giCY;<6)f3k2X%3^|qEqAk5n4rH z%skptyCar-IX9d#Suj+&mvbe9N818hlh_(~*dx~!BW+2%E#NM=N0`pO6yN&+rW}!cA$a&a;oHm#?=F%(+ZJ%#} zX=B{)&(a!(#`<&ZSS>Tut$oI-@`T=iwVVTY|!Fi_w4vflV)el-$!*3{J z0^7H&P1aI$sg3q$21|7xLHQ~etbj{J8mGx!=qiY=sSpP44wby7GI(k?q_fOu0T6SQ z-dAYM>=(wP>kbrd3#G$FT#e>CT$TVD;ck&V-t4t6usg_4FXV6f6$?=bN2c)0*=3T}y;7oX+SQSy zE>SnptiNiZORwpfb`*ZdwdAZlnZ6hu^c(CG|CoM4*=fD;sz3H~_Qr=$P9X;=d)xZa zasCxLc`HA&-$&Y2Z)f0*dvvjW3$YkgYAo)6UscDxEvUU;i<{16zG-lq{%V|fIz8kHk!)+vWv}MaE4lU7k2&#|aGBHL`_0IS|q(3B5 zZpfhX$po$(eSG*(<)WP%?ks-hfo>LL!iG6*+YE|P+9OTL9#ZR@gVRRGv{ z%tE<$gQ9RnM3e|Vru>8 zc{ZIlxqa;!IQ26oij2>s=*(*a^AqtyM}4CIHU)66m&jcoz`ao-cVhteW{KPl0o>0^ zD z7u6UMt1SY)MPzgo@0_fu#Rt8)r$v+uy2D>M8~tbcS!&$&Ll*jT<_7+@&$7TgtZ#eCj>DY+{=JgHI|9JQGvK;~*vN|(m{;{o zz23{X&181+u-{={q{sD>%6N!EgbKVBSYZKzB<=pS|FWv1#13YY7DOVOV_SBzGd&>(BlsrdWl~lPp}XNFyDe#sOLQG z(lnk+3oOWa%0djpNej%T8T@l;M1OwfWDE22qy=5KR(~~X=e%jhP_{#TBVBbhP~*|V z&WXxbw776g=oAoEoh%Fj*z9=~!G4}VT$U1K&rOa%yVCQVsGfg6% z?gd2TtQ}NZB-QNz?z$4W_XD`=OXS`O;5L-Vy&J&YR3i650C%&3YrJePiG&i~P^yjn z_-((_dR1V2z~A&Abw@p88&9O!7WSz*7MNG`_JncU7kAbg z(qV5FkDJ^q8jpMLztxSq9b3w{N9z`8d(^n`ga2P$DOoVR#T=fOy09Hs$4lb zGCAEkMp0_)_-~<3xu~<$CQ>U-`q`>gl;I*C2~*cCqpTJ92Og&sJP|`Fu-yfA)^8WW z+FAVpmD`eTT`_#25E4o|6V=91zuP%6iRwusBMph3vdXvr(V8N{e$HEP8*Z_1(hp&f z8ZXjSqqX~e!Pr@SQuFwYvXZkma+Z>sjm?P9wc$j{L%A&0A#zR=$(TqELkv3A?2x72 zsEP;4CXyTx+$&=2=nG9SDtceUjGCw4q8a=rU8m;zPpssN2E1R7%usOw6LC)6j?0`; z>NW9lJ-rvW=~7(kDQE2&9CV?okVTp;mVgMoBEiF!TLN#^N^HEqR*ux3$&FWng>p`- z^kNz}eYIY<7&8~?SC%nzu?6M`{S$b`at_xsGif-17YCGrlk@%??hH_TVjXIkV2OH@ za7axXOSw{ilqhjWnHsR8xUb5oO&{8*kcyP4K0x+V{XNCn%;tAc^Gg)<8tTufDteTP zg|kA1H6JVsQ@__#tx1uwCh^?Uukg93&HAZo+@l*T^yocoubONe<2|I|86EQ7bV}dK zNN(H(7SbQNFOj-0Dn2P{zvkuj4SY9+PkVKWtqMs$2`s&%I8M>xp9?KQ&w-xVOwVOi zID-$V?Ns9#&`a+^3p)3R;x(Rhhie#kamVWnIiOHg{--*Pr@+itbW^|>dHQu7(zrXj z>PxH|F{virX$u!68!asSeHN^;{T7(>>-cA9&!4hSrA_)FVmOu!R2<8UW+=r|Z_$ft z%-m{$xy=G|y9MSB3(U{-=0nENVSNS6wel5)E;i;`={>{NMh`t#q_C?Y;-a!Wc42y8 zugaNom)r)`u!pPLqBeicGw^UU6XBUiWS=o^?#JfY)4XPyHN{t3KWd!Geus((?!&Gl zt73~7KWE$(3fj-Dl_oBz%mN4Lo(d6zw^1uf`jN9SgEG^*c;?m}{LGOSm>VoGPh05E z)4TcmbL~!k=5`DH*>^j?oP#YeZ(CrVvM}x+Ss3@L7RG(Hh5j66fq5Zdj9v@OH-I6G z3LD~{FV!lWZvaQ1yeBQkS#|sGLCJgb4d~XOc!hk@!T_zZz#L;?ayD5Q^j#L(zT1MF z!z?iSS{S4G7MPz~X!}+Ra-Oj;m!?}_PO!jSY+;PLSzw;Gz-+Y8pF=Io&w&=02Q2jG zK?}^A7MNo!Fb7#+_OUQOFIiyjx6t;b7UujY3(U_g95ydn=+842n9D3Mk6W0Z`z$a& zw$S$B7Ut(-3vIs`aNsKCd^FyIoS#}4qka~c3oNvKyoI^6!~%1I1?El*{W;fyoFgpE zr5+aKykud$PqQHB9Si+=$iiG&Yk}F-LfhwA7^5*3+P=X;+fP_vPPEYW4=pg8EZDSl z7UUdeVSetiFzzEQ$hpV@^S*^K>S=+w&I0q2g>fHkf%&P0wl`T|)>)XJT`ctHTno&z z7WC&43uDyZ!WgZx(4W^Vw0)d~wlA|FXD3;p@I1?FiB%&`{wv$KUc|GfY zVSe_s(4XBbFwa>SqmL|%QD+OxZ5EibEX<{c7MPPQFy~rezHfnf!2)xGg|#``0`mh4 z%nKIQ(OL`4$rjo^*1}v`XF<*b7UaBPVT{&TV2-oE9BzR*#{%<~g>j!_VSZk-V23nV zkaMtw{+w@N+-F*7`&J8bp0d!N_btfzo&`DATNtCe7S_>O3;j9CLVu31z`Saq?eAM) zF1Ik3PFj$2hy~_#3*$b@0&~9w<|Yf{e$K)et+c>AZb8@eupnnI3(UP1=2CYHa&EF9 zXT1gHKnu)!7MNQstoQdUjQdIpaxS&dpGz&Y{g?$gH(Kb=X%^({ZJ|H!T3~)=fqB>h zbE5_3Cl;7nEHGDFnDgr_$T`EpI$C9+?bj{XOCMWk`#}rLAr|^`k_F~O3(Pwf#{HIs zb+pjJxF567_D&Y$ylsJb(n8y>T42t!FqhWbU|JZX4=gZGSYY0@z#M8}j22p8-m@_0 zZ&_gWw9xjw7MPz{m`j%|^yhX9ZC`9*e}CTsv!8`Ax?+Jj)dtf-e-5)C=UEHPJ{HH?V^P&ZtVT%Ph-?K1A z_bklMK^Ej(V1YTs0&}Bl z9Bg5X23U~ujD>a7#X{S6T3DNVEcE9B3vynwz`S8$+-F~Enzmsns9u)sWK zfqC2lvy%lK^1#CUTx5Yc(n5cJXo1CgmI{dIK9+a zn~XRQd&FBNQZ0n0C~J>d7*CeBiPR+Hts^z=6Uy<7exN6me;QA8i2XA53o)mYo;jVw z6QEBeqx7tES+Z=QoVd@&ofo5^;vLZE;+V?M#w+Os&~L>ZXq-s0>UsP!lB{?xPP(VS zT7k5*5b#exX!oC>B{LIiC5pAu?LqoM-K;hvY2VegfACmp|E&|Nq_Qk?R!oe`UZ8(5 z-YN!p#VYjoLP&1?Nki`2(dq)@mFix_AR zu1r?_pk;L`inrLSlQr#I)+TFP)Rdwy>n`&u;Ev3^PRzW{%)Bnlyspf=Zp^&y%)EML zUJqtoPiEeG%)DOAyxz>bKFqxLO?euF!dU-lc*f(Q;TeyIhG)D!G(2PdqTw0qdkxQc zKhp4w_YV!vSl?@S#`;vlGuHPS9{2h+)-M|QjQ4X5&sg7Uc&hy<_yJ9vB`RSw$Hb9> zP8L6cA&sA2BF70C)p0mU$Z;af|MJWsh@2$lWTGbU2Xe5KwWE^=EbVfl_?bVK%wME# zeYu&BO51J7X@mKwjJpjvZS?1(!nDz!p_y-o*Go-NshF-uQ%&%ke2KN4jgb%CqZxO2 zzVnv04cFO)Ex?H-6Rlzi@^q1RiaHdI3FlxvuLog{sfDj`G0$b@eaOuFh?zH!nfEa> zZ$2|`0W)tQGj9 zs8470xO@Jm019W4g|NqI7MK$)FsE8zP6=SXrn=^&OTL7>na0hld*#?{X;dZ~iYSKf#vJ^FY5Ao5 zQkg8H>*sQuC89V>eD+Ozv;u#sXp0NaN{ZHbOCI=&XU@7B&4ZRKXp;p&=O_d%x%G1u z(2`q!%|h#E+Yt1sN>EL-$f|oWiZOGxEr$QVp`Xf9Ptm$embb;+tZ-)kx13;!7Bw$x zFZ50B^D~3)D3%e0K?oPDSVpyS8DWXhkvzSOt~JCUV!%2o7JAtRw8;kassj3MT8(&{ zPaR3x3Hk`#Dti!LD0&d1O?xLak=#4+Q-T~G_$AbGCBCi1XDRGN1QW*5-#ID|Y#J-E z1q&#qkO;NG6#D#JTrl8qcP4bB4_DzoO^34-OC5AROI^T5UEraPVxuncP$#odS9z#I z*{D-J)R}D59vn^3F{@%maGA1*28FOi&RyvKBeDK3}`m`jBK4kT3Rf&4Dm49NeUWv zuT;<*){>0H1CQhayRJ6|KILumJ^)*JCEPW^7+C2Ap57ZzJ>dm@D#qI1 z>G0c3n(4d;I!HO!i_xNsJS*q`m#7atq7G1qTAadv-y`ZkHtG})^+Pu5bPsg}8?~>8 zx|EGN+e00}M(yvR4rZec^-zbfQRjH5)7Yp@o>ef6jk?ey>r^&sCl7TA8}){#2j;R- z=XzwF!bUyik#zlu$+xLz$5EOHtHA;bvhgMzNZJqvr)Tx zWF5msz3h>7A{%wIN7j$nsIxrOg>2NTo*r1nMqTWYbsigagoiqZje5z`1C!XOH$BwR zY}8(!9+<^OJ?oKmI2-k%hq{Q3+R@VkW7(*EJkw#WSK;Mza%qX4n^F{q0iTb^?sDG3Zb=u%)M$}n@#fK}< zoDyYy&^y}!R}``q)vI$o9dK9y{b{-bkQbfb0S)jXw~94H(_OHI+AW9cOg$16-Qk+q zBc7tX>eBmQut(fu3UM>zg~aH5aS@8vD)ytaurFm~J?xQnHpxl>U?q>&FpsRK3dw3T zx2AgL)=bshDtg3v_Q;Od7`74XoAM?t?>~nXp{d2bl@hq?%xV zPZR9#(-Z6;G862G2RjK^e3)T^4fpgygQ6EQvKlRh3m#b)sTM;9Ycy{sd*a(9eXy`lAB>49L>&?%S%=WIpxAIn&?X~Q_+8ITScX2p=ly+9 z+)SA6nF+I1Ga-XDT4N_Y(vD|aV|AX+U0tYi>r|b4OH8m^nF)3;JHhsP#GM0i@p*se zW~Q#`&U@KIo(eM0&U?>eeKZ#82-B6;*R#@QLEOBRmhA{t7dMFc+mM;RTe9=FzlS`Q zIwH4=gJT77@8pT)z)w%f+fH0bQ$S1lE_&?~!VL9>bd=0om(MIE2mYfgybh4X{2j)IQvk3Cilpd$lQ!l1qqF$M^%y@4I`-rd{G6y$N*ld z0xx9%H>ki34B$N~@E!*6Efx3{1GsL2Vqw%x2(d8Si$qct`NuFg3mj3l1r|qw0#Opq zt~Rha;>j|)?k{szQVAD))Vm=j%QKN9p{bX?8HTEv!F^{bI-&2Z5S^d_4^a)M}+l4hOGNIUp1nqJax6ucK-DJ=Mgz7iMB4rG;QstW#g%))S+JM(>0}r zTqjqSZqgT$Qud%C3_7p}Gw0zT6}pb3%&Jf-0hZCApKpvQHK-|+66D#TPk5oXij}m% z-~3&jF}4jN$!lhhFq-%J?mE?zwK2a-EJ4DLZq-O?{f=#-Y@L$c!lk z8+e))(Yh$|=$tqomFe`D`C=WV4%N9uS?F4@%-Ps8|1kZAj0p~y`Q)V(v9=TpOq&vx zlyhk?ygm5EH|YN(ROm(Q(jrop@@sw;EAJ4e>aB9AxLG^VXF(D%=_p&7ETf;QvHGh~ z;1Y{96Kjhq_bs7J;u~dw zVA*FjQL##e1C2C4{AM`7Ox;Fnn*Nh)o$5DY6&(`!b(Mv1kVtA0ItAe>;@SBBXj%0l zEz&9~4T`#;HObm{e5YD+alNZ*xZKl4?}=TQS_+w|3*54{qElps0sb?YVSw}(+E|eg z10_;uzY{v?S9mZg#WUP!>KWGP4Hb{sh%2SJ*G!wMDZO%?nRmmKrx_08_G)W$kkESI)Xf&!cO`}ftYb;6`KZq`hqATi}0{1cjk3c0Y033)7l> zEEU*D;4e>Bwin)@82mwV?vg4I2idkTlWXYw%TN6B*Xj5QO87>ssza0>^a$Ea;2ohV zEH%P$A`X4!;&hg9*214yEly|I3}so5rC^S7BI9_3(e*xZoP9aU*FK>+>`&O$Bs~`f z&fI4V%(_M)A!T9vBrG*8n{t$WK>7u1laHGNeN7G}VPP92)#yuZC*t?A?y(AIZl{N4@W8C*M^Cb5XT$#@{%mM44q*YfL7h$r9WTj~^*1=WV1l`| z7-)ypG~AaNGkbqLCCfp%wH&ri%wIsZyjbt>xx&fxNV~x;de|R5iCvejHw6jza_$}d z6Ld!*uD&U~iS8*xw37%baOiKfn8o-)yNGl>%1%yDz4{;ztXTc>{xbDVIW^lva1L%A zsSqkqI$%F_Z(F>2>K&!G)a$vxlqWao*I_ikwbCX6PjTx=IsOqijN3%Y(yOjb1gq}b z5n6Q?ov@|c798mb1tE6l>>~j5wwT+kid&74MQ9$@fLeuZD_h*Cuv*1rK)0bkX{azj zZYjLL7?4t0eSRFmofWONrC`YWAnw}yMyRNc2ep^o0G^H0?OTMtp!8p|stcV~Ui0l& zG?RWBkAoNdP91$7ZnZ_E?UR)z@6?$&r738lNWcZIH|XNP&;ayeq5 z6RA0e1(~imn8IHqcgG<++@q#kZCK4B>IVw@5O*t1EA(?FF!54gq)H(t2Bxa)geFsA zwJ}SQyVBC2)tPe1k`^1Oe``)B@IyU1OS0Wd^+EqL*`mn`dfm0cS&pbBdX-f4I32s_ ztt2Q@?U;>3oTF#VT6@RrT4`g}H`@nH(Ufw`#$>tS7Mf`%{GqoKJ`3msQ|R}+(E9<< zkh6B-5j!g3-#u45Xlt;JJj>zv=0RiM&;H#{GFyw-#zRTk1+gl->EICO{E2r#kUCaJ z+l#mR{Jvn}seoUO;<({)5iUB4<(4iCe31d(6s-m4h;$L=_*e=Z-1DNEwK39W2Lmmx zu+5FrWA=3I3|JmZO`!aOOv%`3XK3H|U&p+K_`4V#u~a4jj!G{+#OvNbRCb0PT;-g~ z?&Q#5)PZF{dV_6~W%K~N23jqd^#)85RN+=g+b)P(Bu7Byi{Anh4~W;3Pr*4ln)1OD z&WSrz;5=VYP3t2s{$5s45V3$NG{g6tlunj>_FpN zM;^oRfKDB-hTBAHlJVA&8Vn3oN$NQ}?f3GZIkch612!9lE^F(oWaehNX>+V{x*000O!sM3R_0e(PP4YVcbl=)Q8>})Wt?`T57QI$ui$_d zC0>$I=d)kK>2F%sI9>MAoWn&*lgmg4$Y-F{$sVovT4h9RKUwpT zE}5z+i$Qg=qQihM)NT72I_8Q4U^Y_6U!KDRw~ZIKgBQ0|k1Kpzl^TQ74jC!(xs{_Q zwVmgNImA)Lin&heN7|g zl&>3#S;+gqn`6dHGxv-XYNs*V$jpjWn38#uUy;q8;JsgZgUb*lL zMezjHMwAPUIwQ}}2dnUpW`lsVwI;yk_EE}pEoKq1X?Wy2n}NYaS}CFbpd*bdVgyci zcRIWC+&B-HF&+>OL#THd6#8gk3#m_Y)y}OxnRUpU1q~_kEKpWMmu(kZ<>@>WK8AwU zlnrKqU4z_p{$0a$t7IHwLBYzlmQev=i{Ij0+q|%1PSxEOBZVGuI-){dp52?(p%h+_ z(aU*NJE4_m>x9nt#Ju0Si+wZKk}iqZb+E#`^b3>$+m$oD=IYe=0Um7QWc5y){ZJC&(Fdpb|fvtu#v%BHrIZG&nn6qo? z7X*D(UQ78eOyLO@BBtwhkj?2?JJ=i{BW#=zEzolR^Q|TEhUfEanIXJ8AJSl(ql<3L0Gw(2^1qiDwlh@=n-R~%nH%RjN z^w{@f-%my!i@;uV14kmYQQYy-f0Mq4rHemUY51+2WvG*Ct4mFk)4+o{+HMejk?W{u zwihz_7uk}DsdCwKZ6c4+)#zgwJ$!i_qnExfrDTR$d2Nb|#MY5oX&bhQM6n7g+C*^g zq2jvkgp#<*R8>qWIrwS&Mv=977S1z@$g9GCnm%^WmRU4#JYE841y0}wo(pKQtu^Ex zHNCk!$#{Bfkgr2a@JatjQNRJD6c2;=b*OEhz8b&KUG3~p>h(s6ydqwuSUvl01^L_`qn8`%4? zVF;7PTjwhTa@>4&G~%k2M}hXbMkMHrkBLh&R!wO2qTfZ5U{{gTV}1q!cP4f%=UZq zZ3V8CNISsS0J{@~L7cr5_~!RZ2A|SNX{1KX7EFYXrRLDLvdD;++4~(+X59k8#JM*$ zhQ7_0b2~NBNX{LS*#gY7k|{M~w(YBp+upQL$ocDF)-Mur<}!B~%Q=KVWhv^y0M}7ORqIOq9#wqk|MT+9{yz{7!@jO~7nK0Z_0|y9ZO%AiaF>}HoA?Me@TuI;N z&-cN`%q~L&6KVdbA@prNb8Y_kyrlAT%5xwBJn0t8jrzkK7EDeYSX$t52XQs>PcYk~ z(voRUp|6zHTu^ZgnIia zQK$cDb)0AM#9PPI#Fq;O^kS)zeMa}&cpR=Ay(#aZq0*g(q10l3q+56zN)GsF8%v^5 zDMPPpn-sKHLbr4WF5i8)%_ZUXz}e=*ZBgLD_gwBcY%PgKJE6Ddwv|N79o6j$TKI98 zLta3ya63xEp#-uYx3eT%-mvac;KC1UZrANDiI%${_LM}U?cF;Ldlj_T1B-$P=b+EM zoAy9U*Ylu8+>i-Xk}U`l!sP6AOQ>Yp+K%29D*3UTEqG=A)~4Bwy4)8`GP~B&xB2E_ zM@j-RGLf!JCds+yfl|(e#&VwTxSC8FG8KAt!ngUm=0IapVN7SiBspi$xA~^RZsWGk z>nfO}WVX<^`Esr?Zu=oE^K!n$pc(hGl8MZmRDCxgXRe7@N8VziaUVmVveegt+rGrO z?G4=plgyBS{yb(pMh7L6=6nEip0S)wlKFoGGp`ws(Smx>c2xWclJjF@IhRRhRWNgv zF>{Ax(sAP`eVae$m*z8HllM9F2XW462Scj@rXqZUWTjTn#T}eubdf`KHc@q;7Iqop z2XVrVImf8*kEp-d7IUuEkhn!{&EnO_ehuXb|zRhp<`^Gxy zq-4_3`j(p6*O=L`GBb~k(zp4?!O`+oFnhJGJs#{>C75)IX`*lQ_lO8K!kaQOFyurEK^((QoWf2V%TAokP8`in z9LG+qe~WweOk|gF5<79c8BwDwmiAaf#>Qi$eCgYK<-0TAKcQhxcuz1%0WG9&^O-a9 zH}Mc_d+-0^9`AkZ#Qp5VMt0%>cH$@O#Dna_Ls??$h+HlEW<-sZJ7a9d$~`(!Sh*DZ z;JqE5pMT8OFpo|a%-?|JJYkAp=DHI{8M_!(PR+=Qf@}ks%W61(CFpVzbVYu697XA{#53+8#nIA+m<`eda@u91dL-cJ$it-V? z^Jt9mn2*?-8S@$RZT^@~&Od=^7nZ?9iP-m(i9dfVlA@4yWR!?ncMe|uqpNX$ zxbQ17EVBsQ=+3M-ysXA4-E>~*4((D%_j0(9R)ny2`*DhHq_XD$5u)HvDtI*=l35pR z8KX#scDQ0jRvTh~-Tcx->K0MR&yPT3DtJP{5M{Cq5Ch-#Hajg!&(nAjj((9 zqRt-AB)C&dOvi~d_0U!X&R`abiG%D}F$=SChAnCeKD!u9ti%6)E~zqk&0mnq4z_|CO zCy!d>NEOf|MH2ZneE}JZ8li-Lgz{~MB3m90p7llR5PD`HVDI=+wY|Wo7v1(6=C$J>Dh8pdfdl-gWbn)zz4aH@hQLi_^q@?b4yT}LNb0CQq)yEe9F&rCw_u_<~hYPF-8kfCWHnF z)zryuM*=3jSLK|#PCttQayE7qpY=b;tqHpt(Pu4*NC`Ug=-d2cn%%|;I(sCOLb)!g znbY$_xn3(GPoKJ=+-dk4r1tA2O4I-H12eO7Ow50c4uE@KOIP3cM-F z+zmOYi!|iwS&sXV03L)0x(ll(`P6q|_>`abM!G`mA1Ed{RfxqLrwXz0=i^iw7C${B ze`*CK6mzzI6i3Aue|=cZ6u&rGOmRv8uA8Eq;xqH7qlP(#K(c04lVnzkMVPHGwJ1O8 zRl{64RWNBOHqy8GiM0*J$^LcI1d|e#o9NpLOe25v=K^Cnd(99`N=_d^-{#BNFF*M? zMBwXv{_1q=p&iBBAR#k=LrA%uAGx0&d59mmnjg7=AKA!{T*r?*$dBC2kKD+QJj{>W z!H?X>k8I#a?&e4C;z#b`M{eauuH{E=GDK>ugBdr(u1lqW8tL2oUH87Rq2BblU{Y?# zJ^EH*{2N;b3vUZ1W#>20xB0mt=Z&qc8FvKpKY+QGzRhQzGiG|^T>C&UbE}T7Gj98J z0!gc|??b`N&0%?%KSnkZmn`H$H6w9i%6iURe+i|ceJN7anun)(cyOTh)|zdem*g@* zq$P#tri<);VY#Et3$l4ZHZMq7^}1OTHEW_~6^k8dkbSJ&@fADLfWA)wMYT=U|5As=l=!V$gOii?m|F8Jb zfvmtCtd}?X@noe*h1QPa*xl-#43U~~nR7sl3wcW#=-YhH#@_ssxQ5yEiC|LUDzp-&PT>xh=GR%lkR-x(YN_+ziZ4KaZE6&Kl>gR%-r`>7UwhF z`%UU-MTOSX^%H_gZSQqbDd&S8G(C-~TaO@;bipi?&|DYH#oy&;j?G`>n#pwQl#r9E zTTeMH8lS5;*5`L<$;<)y7jv3H(#!eKe2`Y25sfFm;|}^Zf7TDm7gW=DJ#$%phlaTC z+quoG98U;j(_S;Arsdbqi{7Mr<1QCOZ{|K#Q=eaaJ%pH74aE$B+{@pY%eI(xX826u zULi7ti_h8avR|3TEFL8aNCAi5%Dj4$`z*)9;rWJvJ0Oar)Y$WJ%KpO(7!=JXs#($7 zGIOS^$6|zqMzKZ}&X~vXFZ#p%3Ludts6ejdM;_H8H4k~!X1Wo9ka*(}<`mgj!dK*s z8bTfE4<9Rjl$FWqAr?wE!)NtEAiEnPHJzC7cA}U_ZYScUDCgY8{7!r;Fhw8pFF|1% zD3Op_dvYhe0iK}zXgo!gwtbO%>MRtOC*B7DThtUkGS_&k5_H+ESk7+*Hd%C-cWY^0%5N~KmQ zXFZH;3hahv`fltAe1YBlB%L&zbI;&|RrpO+TY8z5Op-UHk>g)HqF#wYTheJI=1gB5 zOFeWe>o_A$(`-RKCQrqZOk8|!jiXGq22;(XB6*raey8~x$*)C0*Hh@*{Fj_=7`se* z%@#~@z|Em=^W88T^IawyIS0-WOyPW_Z}Xjx_l%hrB@-vK)SjtnGRV#l=K^71REks*WX{kL082!^*;e7)T1*Sh zf8G!8EqOnLx8$vK?gv%0&REQCR#Z3Jl`SuHh-Y68!w!r9R-t~x$M$OFmpX_!inH_T)QS9X{MZ$8`>)O zu>t>E?q4CZ6+#dPvJ(ff69=;sKVT;gVJ8k{Ck|sL4reEhU?+}bCyp{BS~%or?qv4$ z73!yk_AdH1f8Va#PHM(j|MXyg@$Nl#VlQ@LcXnb=Ghztm?e2?ahY{CJNcYj%ofZ}} zdd1P)*G=3RlP}%^P?J*tUBOv7xIEvA-%nd+}R>ls5aw1D`Y!u z|A~?96k^SN@T-5@rN~+sn(|h5sIE1tIJA3?9^$O-D}jsci&T!PAk~*j&H|-`ifnm- zf;x6u9%9ZfxoNh~6!$(j3Reif-R(aV2hIx5HWS>JD%X#DWhQ1-pGLK#JVdK6On^MZ z3VHAffjnvGL<@h=?icEyE!+SKeM$E}qVG=~Q~OLup}g%e$PRsx9s%F797RufZKEZ(RKWn<38a z>s~gRknhCGlv^$|Z}wJ+Hef0_E*`>?yQ};=#U%@W3T?@*K5i4iwrhZ;OMBe>f6>^C zPYBY6Sd}9UV<6mnRP{Q7e_I;Y=quq;gIz6d)yeo<>W(qj`WFHt} zvb(N)@}`R6Y)6wA#|DHW(8yMZDTFWZ$5rABT=~LRN0o@M1a9t=(ZmXUuIND!r6$^F zHrGRRV%Lf6`n;PV^3D8vmFo6())Fy(<nBE!epK;`?QyG|&gW5UyNW5rG?Xd#x&g}*Rb zG8$J#!NAWwionkh5`MtGs3#f@aR?#jnr#a&;r*UCJi5A*`LR8T+zJc6}&pqIB~`7T-<~r zhIA?2Cei})8^N;9oF8H`JDAMbQ*g38bK&e?8!(b(aAh*$ymyCUKqAgrfs8ok@Ree2 zDKh%}@8i10pTS4be8Ey?%;b;E*07CDl;5$NiONx(t}9a?eO-oLigSjudo!xw2MOosk*LP z+7RgIFD7<2Of}TBo@X|#!&@M^@#S4cl1lM=Vv47ARnXkibLgFp6i+l0@Zxkz31x$w zGxwP-g)Ypfg+c6hjdKj`4~@}PFi~XsWony0+eX7HXv7^;8gXt?Rh_?rZ4wo6Q}|sO zHW85$0hNEIcj6oLJDS)yf4lEF=GU+da<68FW!eQZKTe2^bZZ|oq+0-4F?q1_`69&U zcaEl>!tUpZ5T{@Hx4uxTdG~)eve!dwdwa}?1wD4iG9pJ-C5%h4)wjjCi(=Z&;TuR3 zMuWZnI&!&urEnqU;B>>HhF|Xf3(;WHbsXGans}IhbOD2NcFz3kcn~_qX#N$%b>hW! z4#0)zzk{$COs>}4@ZxByDW|BuuO@mzmN2I*nf&K>@k#$K?`oMu3PHA_-+hlC{743! zzT_*b|KV?Cs_OUp4t>sFRKEz~=QSDPtZyoa*(Y=Rmica)vZ2M5sroW(Su}azG$!Rm z0X^=Mx%iZS8x1iy^9*Z6rIf>g=K6CvO{#dU?JIr>z5ZY^@Au^M4pH!qAJe6u8cSE|_rJWQ-ADqei zqwbqHnW(HJc2jQ#dI&ie815?}kP8iw;awwRL%2ptyBD8=P9@KS_g*~Xp7S5i#PLL) zQfl*RCuR<4a88Q7kfKZ|X9jOGAra;^RkZ;>uoaY}pnMlE&eNFZR7d?b{w{(qU!csI z;)1(GXczY9V>Nk=4zXXIFuQIJL0o9&U>OHsfHNrrG`2@1oGf0vqpbqks%h& zHuif0Ghkc@Gr*-OPOHMB>Q>UC%fp!S@UMM0;W>tG$Z)RhMGc8U zzG#~W-9L(SS{MLypH|j7LKXn-aj2#b)%#kF`_$Y7;1CODh2bcNzjT3oIQx?&iqk&? zJl2n_CBJj$jc^5#oK^eXGoi=#Ee0&VB2tJpZ=1(%-0$0FrpkU5*4d7t=A+-l#Z9^J z!pq>#sRPVf9b#<8PG*n({FHyYK5B>zugNBc&}60Dv7P8m1L}7+{#Cpj5ks+GC}M`5 zr)Z63Eh}DpnEoFfT5uNXjH5=?ik8)X77_nz>VWv6>SWE|`rS7OxCk-kYYcTz2;_ws z>@#z%p_Ep8HM|>E*4)-`hi z>TdEAL(Iy}{5|=h;S_o^8toAKzDS&VI+Chw3n%8&(La9-$=)f4en>`BQD;VdqK5vX zREHnXUqr_~9Zhv;OVtbTAN)}K_fMu0;=fe8K82wv4rX#7Qiq1Dq;OHxd;$@p0)O}N zx^&WL*2PV6gzlY&dboYDGy6YO1SJ*=TRN8!wvSV?-JGyJoUr+vuw|SBu$&XNf)lor zv(NT&!j^D0a{;Gh_im%~EAEa(Vq|+airc@?U6Wd^HEL6h`$+#l_fRP9wBOJ74<$0e z4CEgQuY)e^W>gy?V6RG_iz3ifY=+7rGl-6Nwl70urSRZnE6d2J?VuEq!n_BAd3n7W z)V%N`adtf8NPIF+3vKT{ar|6;(la9WK>FX@%f_fHWB>Xe@mB0)%&qgZ!H|dh? zG@qR{|E5fpC>FPt7q^ZVx1JZbffv`ni`&SH+r*38%!}K?i`&YJ+s2FA&Wqc@i`&VI z+r^99&5PT^i`&bK+sBLB&x>p1#U0?qeZq@7$csC~i#yDVJHm_mloxlD7k7*ocbpe@ zf){s^7k7#mcbXS>h8K617k7>qcb*q_ffsj?7k7ylcbOM=g%{Vvi@VB;`-~TNjTd*F z7k7gfcasI`ZN=@!~r3;=1tS zy7J<>sc}D6IK2|b+~>c>4pDIEShV#wD2b40&AiwESYA*v{{O%an>FR#hH!o6u)2XuJX_nG?2|vzc8uCELm=SyxWUx^cp~bHeI5 zVVgJypa-X9+c+iL$O*eSK&u?XZ|U{_rrXkkFTGKUBkxHSx@r|Ev{W0}nKw#iR%EZe zO}632e%gkD1+@HG8~@47i504O5%-o6gr;NAA{>J;sDYcIu9i1-kX2m1!(J90q2=NXW5 z|1~on^Oi;FW2Ftq9gl$L7#e)n!@I%2yXWDZR`A?Zuz0F2s_4LfmL2$WPX~T{C_AHf zcST{ZXo)>|-y`AY3JFb@$O8}Wq=M%@7OyTVi4+QF6FF5#xsMaMUr4!{6WLuzxtS9=N+26Jk-J304|5_v5y*p_ z$o`_?%Q=ys3n_PTB0CEycXA>p3*=r-IRNW8n>n1bnL9WoyTRFKD>x-<;)E^d zgq`Gs_2--#t2ia=%qiI?obzlSXESGVO16_zvWuLOUE!2$9w%%iCu}|^>=@?&%;tpE zbFR&PoUji#VefImE^rRObxznI&Su`^l=ftPJj*HB22RNia!S^lb80N$Z0250 zSR*IwA?E;WUEqXm=Y$>OgmvXyn_W0zeK=veIs5DoC#(}^GY@l0 zc8YVMZ{?KiQ%=bia!PiT6E=!-YFy&%v!$HPT*L`m&k4K43A@5M00%iGJIyKC2~Np6 za;|{0oRXd6?6dovuwI;fc7#*1tDFNcnzNY~IVD@h30uMm+r$aG$2m2&a7wn86V{}^ z7Y={(I*@bH_TYrw<{ZttoUl61X71x0%_h!f4&ZF&r<^NbD5qqHIs5E9XEU#IN;ZPC z&(3p7_CBX%M>!?y%PHAOPRSl{!VYl4)^M(XVVnbSjkB3OIVJmqv(K(@ZYcXXCEL#_ z*=L-i*^P5FPjmL!9!}U|PS`F^*kH~9xWhR$x^qhQIj3Z|IANRhqv4 zTdMVNjbK#KzfGhfnP?rUP*w#A&$}Lq_j;_NL-d!ag;6}*3Mr66da`%o8}u_IOeWew zq}a1aF|9@-oG9{8DGU43v!F40DZ4URNhzq}F;DS2X!v8)B~I0LffF`r24kG=MNY{^ zb4qrZQ?j$1u!)?_9LotC&j~xp*=IXBRoiY(SR?0lu!mE!F`T1$j&n3mbHes<_E~RE zSPxFvNY2sh$tl?`PS|wBu>draSp&4PS~#fTEpc{`KE^d?N<4E zyQtoQ=it-NH=ve>coCIy|M7e)6&k^p1Z=(tJq1q|Vuhj2cXKFSM@)WE`O ztwg6oxl_)*(CTC?V%b9TkvfN0wNutoJgtht44u$=)gyD^n>=GO zWB<+MgiX;~?BSa^l@m6N6E>X_HiHv3E6iwCb--H4yX3(#B1P0D@;F`SJdTY3j{u`E zW<`6cg`Ce;&@sFU|4~(2T(MMpR)M-aU#)n~nC@msqoMSsJgP&@eJz22p|b z$%?jgHB&P1BW~b_+`t9gz&YH&HQc}*+`#4Bz)jr1ZQQ_h+`#$Vz-ipTh1|fI+`xI< zz!}`YMclx(+`wJjz|Gvix!k~w+`#SJzzN*IW!%7}+`v`bz}4KqCEURE+`ygOz$x6o z72Lo{+`!q~z?Iym3s8@Pefxq%Jbz{%Xe@!Y^I+`z@$z;O!T%kp`y z!Uyo!_mhdo(9*ln3>m=nb((@w}hEj&&=z{%$v{5`-qu0keSzynKz!9w}P2Bl9|_=nKzV~*N2(c zjhXj8GjAp{Zw@oBGc#`iGj9wtZ!t4(9y6~yGjA9(@7^q4d+i}JZxVBR$1?NAG4nbx z^Xiy+LzsE*G4ob3^LjD!9x$(up3L$MXXZ_0=1pPdjb`ReX68*`=5=A_eaOt~!OUCA z%=>_uw~(1PmzlSmnKyu$H;9=xiMlKmTx*UZyGai5i@TDGjBFCZ&?5@eE9Bm zePA{#?6qh>T&r{nBh;P}sPLr{A*U72dAu7B^;5|x#hxQ0fMU-@MgYa0BUJXexRXrKFOd=OY}}Et zxY@Y$7B%n2t`ZIbn?x7^lV=PRUMk&a+FLk{#fLeLPT`;uU_OAL8t@3!KgTgcJ6uK1(!w zpLOF@L0vgvS2_D^$w!O}eK9BO6z8O^=Ny28oCDCr2|Lc&X9qc9$2psMjuW<&bJE`Y zfKhFq>elVfgbh>65U+~gZIepuii?2 zhDzyfs7hAi*k0ALCRv@VdEIxIN>?<I7j|o#X`qRIs_QaN*4weNwA+sG~otP)F$CQz$8P0UK<|KUTEo$sg!_T{(oD2U1=ZfgUIq!~eN_LnNc8U`= zowLtQa!S^VQ?jv~k{#uQ9p{97$_X3C37f__n(uMKPIET1o>Mt4=aj4mr(~aSO4glI zvd)}S;~-}*QJz(5BHf!Z_-*Hg8^J`N_>3RUcfyr|DfE<2C zge0ySD&)^}+2D2eIhsDK? zTPgN2sucSe@SxUXpwL9bFws0bu&6G5zDcqMdFJFwwd4UDW^jI0fetiz0~vy7|@ zjI8bdgKq=a$tc$jM%H>p)=9?xTKWcG-*0DZ<0p))b&RaFjI2Fc)@$N5RCR#9_q|r} zkU*yTHf~Lw!>w^WPnEYlLGV>5Y0nL0k4LD?k4F&s2;SymBX&AoXY^-WnxehT3V#tZ zjq{GaNjpcv@0VA!tY6t^-n)&|5Lg`|q@%q$y`)eqf}3OGzN`V;g>rxd%$fF-5*L0v zr|ZYl4QnV|qA#dM{y9a>zn20sokZY;TXY}m9qV9ScjP>w=hAijMWjl$et!}-lYwqC z#0X`gd%gruPuY+&{4jqOMh7rPONC#z-L;49@U0B7(89x(>sQ9BfvXl-O_coxy`GuR zo>e=vhdRlOH(-r7n64x(a8aQJ!cUQ_U$knsu~uy`!%yZAD#4?tU$uKVvo`i{!a^+B@cMnC_N~qEU3OBxYX?84cIW_HpCUim_&K#w!o$!1S>9?b zW%c(G+Qh&5!*}2@&cKM{oUq$^Sok@2S8G#*XWe9EJ!E9vW@L5$E8P(`e1G-Rn*8Be zBN^}4Iy1JhBO|K|BWv@2(v72ANdyM@xfw7HEjQ2X- zwEY!c>0HqpjNxHRIc@BLoKdBNIbj1hVV`pL*$__2hH}CNal-m>!uoT#pRlPw>AX0o5zC4M0C_x;jCKglzbf*a2;x1a>P0~&j zYE>zL@E)Sc+S6_LX}4{^HpZ$Hm;QwP`4@Vn+&J9)-Mkxz@NHeGpUB~1t2kk+Ibmx! zVQV>I>o{TSIbj<(VGW$HjhwJeoUqNDuq~Xht(>rJoUrYjupN3>=1ydXdq3=}U;QHr znfPw(B~Sh8sc}(F4Dl1r-hWKtQ~rdU@cMDAeq#v_+kj{oO(1G`*mzix8d&(f_`!eC zu}a!L74a~o@RlgH~(%r-Wa*O~0mFxvYY{jyEXE=l~MMn*cFNdTfUXw745-`)s_GjNifQ5HC`i zAJj04TH#xIlA`<EYcjezj0zy1rYZCBD3c3ZJQ6uW7k4A`_a z4xBEhx0pC^G_+p5x0=w3ZR@Gx+PY)l7b4y10O^Wt?U?|cTVS_v5>)K_$;4xkR010h zf}Mri%vn4zUIS-K1-7E}gFOY3mc%wuiO(ajs#a`TsKyv>n|RqEU_3=B`A9UR>clvr z+)n1XgNp6H^8x)AxG|QHrWIaI>0N!AwRZ8G(QGbBQQc7}s)Et`C^AJ}QeV|*st7>? zT;Z(zo)}zjNM5mndo^Hii{&*j^F9mU1#jNy8uVSV?0<^27JVT~9_R8GqSeX7x1-|C zvTsMLrAhWeG=?6ncp(attf14HmaFeV4Bq;lUFmhOGD=8PIjxKBz*_+gF38I`)gzhw zNKyS9)kJOw@R)Cg7!AGfI-sXEXe>A};Cj>cViN-j4n=mVNCVH4BX~DpD2nCXXXf1t z;L#0HEdP-}nHwY??Mp^wo#Ci65Uav1Jd8<6j|5iYROh>M!T~M(5Py!H6NY`EJZs*h z$Wok0{l`#4Wk2yG@*xC0W zV77!G+r7`|#y0#BC`9&Bc-T07t%lcChsSibTsA@2-8Hh={bPniG0->n(M0hUy9hXr zh9Ew8B>?z_Ol4Nvw@8U1{ggp*42op0lC@#lx2&uJB8;Bm30nk4gAx-Mvxk>{I`~Q7dGtmtIrP%)q{=tv|5}-A9bSzd(5lh!tVTxGel4q%z4imeUK_rh@7LNN~ z`5r^}y)f_Qn2f{Vb8o)HmqdEIMA^!u@HaT?@yNM!IAo0;dM`X2&fP8bIQ?cO3gKV_ zdvCt>_8~m1mma3H$7u4w)7m;h=fx_V7g6(5m=LWa6sZ9d17$$bnc|JL_VQ(TeJN1) zFb{hk?Hu*APR)c@SvRzGrNejGlrUx;qko1~%dL2F0zmEs~OIUfoSer<|UBZpI* z)E~Lt=ut@wK>ll&;hT9Bk>VPs+iNncJ!tO|ZfMj>6E4tHU7Z8L=}M#AS$Zmcc8dE- zOT8Q|qe7bgrefh1YA%$rc#HGzgjWIO3fiLWmCxX$815!M;>@@bPd$}$9J`$Fnknc} z$o0L;8v)vXoI`7Zio%7RzT@;WPU(pf+hJ-Y9W`+kLf4k*!c8HfQ{GG~Jn!&g6zl4K z?mcVc;zMk#&&AYdcl=$R-DSj!*nuJ#swnNI?OMigV=0VBs!SDY9ch8VCwVbX+C$zL zJ(c=6{o!$(k6pFW9z>)pxVnS~)@;XPDERGoT1CRqBjReMd4|EHYpGbP2$TS+gEkS; z3KgWn%34Pfm`_+el^A4XrpS0Hm~B|k+AX-g*FL$iFTrM>-q@FWHuky2Z0ya{qIy8> zr*m)Hq~Fg-cNA2=1@7DK%}nn#7Rwlh-&VKkb$NK$>a8ITU5rM5_@m9Lf6y5Z+SNSp zN)fC1$AxZW#3oJN*Mxt!pM5F*4PiZG4gO>pebdlszq!5%dLZ2MGC1A;A;P0gWKt}J z`o6TkMv=RBvUh^S^gj@8W8(@x%v*j>H_Xfyziu)cokhahU#q8SP2uoswy_^0>>{T& zxex}X8-SeH6U^jtOkm|%#I?`;HUg}D5%g4>YRq|V20zoX2z(4j=@AmAew>wRQ)AAE z#Txd8F8qLox^&icTXx=3bRZcMfX`TFoSukS82a0Sa`*~LVLv& zp0%8jwLqJ@9bT^C+Q6{zta*%beWYat+q%B^LmB4hi7mTuSM6#D<`urQUEba<0T5aur2ECK;nTDdc8OdP+XIN}Ot-a7K{c!8NqBtBf&-rI)@d2;;}?7Z-c zcCmJ$g=Yh@-X9WeYDY}Ots!?U`7E>J-!9EE-5d z7mU!8?zRj#N%TeM)CMPT?6`0{oxrhrT2#i8A|+3x96;9~q?CHEg0B7P`c#CJ!UPi6 zgS;sN%=>jo5yDeSiV)tfPY@5DGO6##$tG_bH=Jgo9HPdiC{|;A6riy*-L`b*U6XFJp{v3V#Tu=?4^{&s)}o>EftL-2YM`Wr zHbc447%dmpy*&I>{$!-~3{dP;o)<8c3#b&@elh_JvaSXts?K|WF#e`(_*P)TQangvD6c7UyL9^2;X6X*W$~Ly8HNVklCJ^C%$v=U1i%;myY)% z&hq8)NX=W(SO++*keW@fN@;n=@ehz^fqtrdI{K>ox8PAZH$6&!sB9Ulp|6Q#tSxLk zcv^5}3i}WBgxUg9^M6I-1SL%D&mV)haqtk1@-*yR`cn48$G}NN+qT3%L0_y)w-xSIc)g}&PBxIv zU2T2=;a-$6>Z!GNR+4-;yErQlQJa%S2<7LkkwHP~FR3o+WkjPqaEL($2;EH$6<=yo zb#b~HOP2owfNAkE8IxY&a9+t~ml0P4A(AEJCOFa*0V__eu9eyQ;w55HmdV|S_<(Pu zhocnav*J96@J1}77Bz0!2rn?3HGtMStM+I5023vd5N=@MiNJV>mW#M}x@{$z*p3wb zUeR}AOhgcZGvX3vvpXIb@G@uB9|;~#tu8N<)~%MUHa(TwL@;ApN5~UOob_)j(;339 zvMqPCruUCE!K%)gF>y?rgmdhMV#WI7R5c4?$jMb^3!(teIk+FkTAHtz(qaHH_Y=;D zBjme`IH&i@KvjPhh&gXGGjAj_Zxl0cctKu)EE;Fp1=VkT1B-}uX_bm7r(d|$gsGm>q_^lZ{yxi$fH7^Ng7%V3uTb~ucN9RY=HB%PW#WDJ@RlWuWw zV3JX5xL0&Wzm86WcOtwc-L!5^+Hg2NK8z(@U}vF8>pdtWQY+^_BpaB_hpj(Xnp>Ia z=8f7X8!p6xb3pg)Dg!SMQ8+1OTQbt6-(Wc;l0__ zFH|Kh`;Mn#DSRrY>*NV3p6aXO)yGrybQVJYWwc3#R|g(G6~GfVF3tl!`G&+(Ljrl7 zz{98fyuXMFAE#euQXkP_L+TAWjVEC3W4e*3kPq|Z2dHI4>9>{1DoVet#%Td*MnPv) zdaj=KccIMNgHSP389w zZIv*jvDd2FU|Vp#zA-{ zH0T3}Ft~Rp3nGH*`*y;?0_M%BYc33VA?6Tii*Qteh$6Cpg_I&)Bkw?0E?a??@AYs4 zEH3$KZ>qyE2J><8aBv>P!wqzCZfRr~YXWykjgv2d;t3z8VPjgl1orBK9pPUC)u-2D zGE~5ds>03a&5FCvi#x)L>&dITbG*`B=fyqY#Vz8+ZQ;eO7@;->N9rtspX^Ww(y;%@Wej`HH#^A6*?ywdgH zm2Q?)I&m_Jo?7W07uf808$*9g;_Sp?Oyd0COJfp=LL4_sxC?UJN3z4#f^=f{>eT-O zJ#cx&J3fQvi1R~H{U81S-VTYuIvJPc9oZ$+q+jG& zLn7JQ%_+$ykFoNF&VE|RD+rGpxPe-{_cauvkf{0$oRKYGi4(n)NP$6(AGx+sf`gDA zhDe}?3(*Kn(ZFymW@KcXOCJVc?}hh4VF3Rum@?}>YyTjW1Lrd1mb%AA{}@F|)R8OZ z6+3d%zexvKBHaGcxY+j#bKKq8Md@}j;G#!uxCJRYXs9nWb{ZU9$?8;w9;>)9rAeLT z$0|47N?-I?B?fJBd|Ireli5)4bX2DbsJjtl*YL0|N&s+_(fT_agy6?1nbMiQ)}ERH;*7)O3o8??Dz?v(@wHkY2f;elDk z8S>wScvx3%<19BAO2g993~%>b29u~kJgl<@Q!?}YToq(MitI-?C0~Q5uK_D`RyOCO4;NVv-1t06FIyLTrc}ik{d=Ld{N~4-#Tgc6A~tnDi9>;0+ByE$ zVVAL0YD+mw4`XUTg>wwXYB43zeRDxFawC?Rl(X2w9p}M);^9v7;Ffr}Q?YPfW~gK~ zL>>8T{zK4R*>Pau5H)a`9R=%yb(;OK&?QFX`#MAF1J-o;;g_a0w z2Q?(o(xIVq?i`Uk*cWT9hq=CAww{(Y$(Z@`6S<=bqPWN4Ads_X2)aXq)@^ln@KEy* z*B!`0#_Nd~eJE| zPZUND?ykTUaaKaMLu1&jLCQd3tds^H4n0+c4a8yBI_FQxjZ@FtL38qv42R2MangIU z9sCL05sEKO^O)iSj>$ifT_uh>k*pxG=w<#*Am{8>Fd0kg-iWnYwA26U07M#I5-I}+ z=_@tv1oJB`L7ehwX*+mbz8&OLnrzKSXBVa=`fo5cGT#TgRtYylyqrX+k_$IOM7#x@ zRrn;b>tA#Y`CqvG>9?1;R51m=0%^djcrlwwrBhAv&0yxcE;T~Ih{7klDj_bJGzF!C zx#MgvCrhTg@&^^b(z@wMU$EDzZ$lb_Hbhft-*IQ@-<8eMMtC97KSD|?>Y$bIx|P@= zIlE+K!At8Fj*N)t+u%g7&&Rb%G)SUDLHb7Sw#>-sTFg5MVYpjOw@NjJFTs@G`$1Uf zURA*S@j>)VAUX)^*US~}Dns|G%zY4hM<}*)AlVmiN|7|6`Vxqx45%iBq4t$9FY8Y= z;fsq+oJ(2}fuEbl_7;psydYNuuix<^kLC0uF)z`;-CuGXw#prc(A`W8#G{1a#VZEI zDAy=B^^rxnBEy4Az3||zU6J9z*sR;pEUi#pmuvDydg@pB&fw}UhDO59MGXH+r^_}7 zBMU#U+L_-GpO!#}wY1Ml)SG8Zy}4c9o0_XKN*nNp4q>(^3s^my%mZn9^65XxB;8W7HMxjypc}9jzI(ppyTlM z^Dr+ELMXSu?o@bhfQa}C1dU*I9{@AeElcTl1QYN?tRYv)#sl+)+fp{37f<5iLA*VN zeBMiQ{tgDO9NaaG_ISh2%PxmcZe1n3>Nf8Jjxv9x_~)6%9_$Kzqz^XIXqCWpxG^QAOY+Ya;BroObXmjW|eh<9YryG0_T(v<9fVp`<19 za7aXCr#yir_GZ`J3_|#4owetwa)kCC-MlJ&DF zXXF`_aHz-+dLSNigtgu|3P+9Tj(i3`kZFzmjDdB$#fQb138CBj!X3^0pchJe%SvbH zQTgKcyt1C76P}KL9dPzTv?lg$7=AA+Ug0dpH9_Kjc(#MSbeDr_Tj0BUPv?0rizNm{+B64IVFesaz2*L)zIA zSuH*!(1??BO;31o$UXHq4*HK?<3r{=I6?U;fQb{l#u&P33_#e*IeR{o&iN0N$t!Tw zS%^G{WHpGdWAp<F*s`kBLKl-Bs zp|O=vxw;0;E&JLY`#3>F2EhENj}zQl3I6fw=Hz*~Gh!oOna>p{pmOPhS$wJEai`BxwRJF`!}9W7K;4PH;@qPm3WI#=nk=eBe+m-+>V>4#xXZQ)cJBD%|0Mf%5{ zzbJnz8S;VLWPNcR0}5^m^N@8mUn{uArTVe%k*%sAEo|RZuq_JM=dd1q4oHc`0Ef!6 z&~WVK)=U)k8t<+_O%C|k>#(T7I^fz$k+_BH10>ao@-(Uf6QDy3+7-;Lo5{Pbl*!v` zHriSLU5tqBr~eim*|eXKZ`!%@we%O2p;K@r@-Hg-OF?aLj_HdwOd{InlYdYQ-RIm9 zC(7~Q0D0M6k6(3%i&HSY7(;>jNKJ8&;Jq6!W{-mp6T-kLihD;7>`Hh+p4g?~ zpOg>b5YMA{-h`)N-T!NFb?|#0KZV-DneU4eDv<+^MTt}SG*l{vJW-h2UxRH`8=UVr z@iQNM4dy=lSd_$BdQ--iEs4ZhQ~HN=5L_2WojT@iRF77$-!PX99B z6bmXtab(!*rLm%HBWPeFkW`#9gOS5iX2=s1(I)rJMe8R6(;69rkCt!M%DpZ^n#a>C~EjWaDng|aO{R|?Yg<7vP^V>6ae&-U# zAVy5Fa;yxtW*`hdDNRSTt!)@#LsabylME}e%G$a8PeHOmMOLab9awE+M%W~<1ZDV@|)-}uslBBZ{mvy|9Ai{F6cNc3q_|&+-h+zxuDxBTcxT}u4rh8d4G*Xvu>vklX z8W6Tn4=aQR5E71n>##dx@k>k?qU_leRO$>fG(5V|7$>`(AU_ zL4WL8uroh`>(v?e0tTHvqB~*rgt7xuju_ zU#f|LF#xYd=c}*|!zai6^0NEoCERGdUUb4s~@X7J5cPbuoeX`#98xc z*9yBZX6?f0YQQdxc44#&qg@y=!fF>ryD-{?(S{bp(XNf7*ccQ>+U$2dv^z$dwO~^;FezCaui71>T^Q|-(PnAc zlr)>pXLA=(19oAwK_eS9vOyyoG_pY>xH4!@Q|t`}dtJj`b+Pw)tZ!@&RN*xV>l<6& z*!srSH@3d9z1?fCGTVFGHrdc78`@+;_oX%K8(ZJl`o`8bw!X3TjjeBNePinzTi@9F z#@08sCE;vZmA#8+kB)xjm()LUOFUQTmW(dGEDGhxOzIBJ0_qSv7JN3`n~0LBD5B;uqmlrjax}SU~}9# zhP8mL&A~?ytj)<)mya)ep24nZb{+b%twYwX;wvn6+<)1|y|wpt+*=V-rTnOvid4N@33RSjtM&^yw__3 zF?VZM3qF&z6V^^xJ7MiaA?HEo@zxE>C!=*}!%wQ7g4LmoWTn+E<&UrZu;He9d3c-pV>q zqg1lNsVSAr9DJCr!uuCln3SUQeH(lU;x#yoz#DoM@Fk6}#8l=oSQI@25$Uuu^+dXP zm6*hpx$4%CSz80YU)8M12k9C_W#C6y_*M6q4}MgEsG3|F$N+4Wf^0BQJN$`rr(L#r zHT-%F{Gg^abVDQf_3A?EaDb(is%Y!>qWYV<7p?3QXttoeEog6xcG`mWwxGRT812G{ z8n6ZJZ9#imn8+3;vW1CkVIo_Y2v9v*v5@*+}OsAZQM9#AA7QoJ!P$Lj2f`MvGt9uZ)|;I>l<6&*!srSH@3cU%KFCE zHx?SOzOnUl<6&*!srS zH@3d9^^L7>oXfVz*t>Z4E*`Fk_AZ{ii)ZiR*}Hi5E}p%MXYbTqI#&r_=-=i>bB|N z_=-IyDj8WXFtT1`WPOFO!d`nmdI+Xqi%bPhV4OJO@y%SNGfTYBeEtAF{^@^_H|$Ae z741wLcpFp((-Cc)@@a7$(N1%Uwt!V@3x7|cHJx_$hgVjmU7!Oyr&5{@?7Rx5GdQNO z_Q2$yF)FR|R~0awcJ3aSW~5D2PAMJPW-I$ZhqjNkrSn*2>)M&K7pAewHj|Y$m34&d zRraZl0onXh#;Gu$Rc(8e4b_m7?j;Ca`wGWLDXR4&q$<#w%N@ z)1?dFVeHa{tZJLg+R(F{zVjkwL&N%D`W5*OvOf-ws}qxLAXTtQFEYY*LqJL@S=ba+ zNw!2NjjNppap1~eI-)I8il#%`prq-Hj@my{G*kz6K&3Su*h$ss(1A_i9JgI76*|-D z&eg2lxmcw%9nsdYigrjfICMl?!z$WD)#%U>?Ne6KI=reFYdW)F-cJ-Top!ENwo`}p z2`g=>lBT1!Au1cG)6m7NqP6E79@8K*S-R-yD6RAFDquQFTcuQ*4sE@Xrqj^#O%)B* zf$dirNgdei-(i%jp}7L4(*rA5d!XId7)4vI6iuh0Yn3#e4jswq$`5X$(3*~9TR0_~ ztXhtBB%$$r{VZGZkk(V6dO z@QhYLYn5u2Z%B*d|H_Z?_gYtMyh2a)v?W$agwgnn=3=uS~r6D6|-nkd;atcjBO2AU|DH>Qb_ zSp-d#Y`3V1lC3eCDA~fNiIQ1#O_Xez(L~9-S51`6Ez?BFc8wp&?NtsgeL#H2y-$%U z+>xk+I}nw4(E`j@YslxW##HZ`Tvg#>L`dN0c)N_787>mUE8GO}H!>AS#0wVX>ERzJ zucJVHO2|RRMDtu_s}u<7vYdV=GtH}kQv*M!X$_H}Mi6tVwinUx(v2U(!N!7cBZplF1^5cxpc{3yyd}F18BR*Z|9=zRno$ewN;&PiBoNx zSw*|ZDcTIy!L}H0pvXE@rwc}@>h|bNsx8Vc(4p;C(sUX+ptXk9RJr_TzM@Fx50gv< z>-<}cu$_>2!*)Y#Bv!)Wx?_DtbSD?>xRR#R1$C-RU18%^)t|>$MLWzXT0N_1wJ$IZ zk5jCoU2DWBTAflf%`{}TJipbF#7aGx?sX659_nQb?&rEtw1%y5YuQNa*huTyNYfi z;NdbX4oB0z;T3{dq+?~I2@+DGCl*rpHm1|3i~Na&kJ43&!U&Ln1~n4gqt%M5#pkcUv0AFB)!G(fc22UQ`ZhZ3f=2h_P;thz_FurQw*Wp=; z50aC5zs5!C#zq>%MrzMS>cB>7$42VOM(V^ydd4;~d$7sWhmF*kjnu%Vr^jrh?rg0a z%tq?UM(V;w>c>Xh4D$l&r)TpI-IvQ?qwSpSUGYjD{zUO=*>5&XCnT_dHIHYoPDY9sz zQe`kqdP5PcC=Rp)buX`CQA}CdN7%enN%nz)r58ncC^_`jBh8kaD(M}c&-!fB>U%`w! z6W3yduL^#z6e^8mHH?M;sncz9HlL%cUhs{?toC(jzeJ;sg3Qh#9ag(BDA(n3xo+sN zI>_bPxFy)eqVZ2U&W_2(Ss*ErV~k;W%^70u27dKWK}h!BnGz z)`dOHH_1+8ofxU`{J*;Ej;Q$T~i@zZo0dR*2}U0A!#nGmgw_0LVO zo$370;2ah0yn^j4Hyp)2NIE=D0uBDgueBmAX^++ejju-!V@tVu^w}m!C+PO*XPmGG z8BDti&WCnE(hj{Wqv>j`eds($I&zPKXn~Pi6iwppsT|QOs>FF6*o9UKueR8s2_##j z<-Mys(aD@X@?O=WKw(N#N%m0n*n*xz+WvnJIHY<$@?43JtVfzC$(Pa@5hDia+_X{Y zy=#41u{&`q(1Fv0r_`C&u&#S$=dy*ebK<}j{W}OLVfDExJQ^3rvRF9|UB{GHfllL8 z{2Ak^_{{OxNZIX^unthEteaA0dIMwOjbIkD9%=8yAW1U~L?)CbN+y-*;Hq>7SF04H zTv%2rU*qnvm6P##)feui3r6C3>c`JPF0hHubPKQaCHpRlxjqb z`x)c#>by+ln&^l&Ni~ghMt)Z<(Nu$VBA(^2jeOOMlVM6zNj8V`J-d0T9hTmhoz6D; zSF>$ot_%*&BfZwGlF0O7Az&TcBx3;*I2Ft{76%Ab&X%dL@qi5nCL7=BS^);fAFS3H z^y3HW?5&?O5jItoAQCpx zRL$)F5~F0@|9}y;KouRTI~G!ibK}ZZuN#rk=;WMY0FhBW-3Q zZDb?OX4@@oWs_->grpZzS@KP$kjhLpHO-QcbZ=80IEC9v_E(6qf+vx2B zGHk3JjI5m!mKPnskphcJF#il22RC-bg=B0hrrN=d<|`HMOIBHupy*j+)T21aEZsa6 z>JnE@o91^6fJCS&ILyQ_17sOOsA1DV)R#X8@K*ra&MDa;7v@G&Oq+R>Q?g^6uzmv> zd$WH$n4Yme_p`v93|*(yPgqJw8n*D(PDr#BB2^aW5Z<~D^J#|EiMuA4$PY8pP2q>h z=*(AbIKp5m-}!uVRtIURY(-;yi%&!K!xd|X25O`N6*{z9rJCg%FcY!-an!?-#0AY9 z0U7FjgB;**5))uS3SHNJ-A-DoU${ zSY1I$Z)P2=SMX-`Wn7>zfw==jso?jEku@k3k*k5JgRozQ!&5)dTxiCH0Wa`OA>cvJH$)=~?Y%;B6 zbJIJpxx}m3Wa`7Fr;co`8zmV9n#MpjG&NDO`J#!EO=3-y%tmRVWJ5s{C7XSwc}Sdh z530!C;iF7d+srQmdyyKrlwZ>lE^JBekbDE8wvAvX&Ds=duY$qH! ziEu}kf0KqgG`xio3U9$}AOzGf)Kj{K?(SpK-^iw1WwgvUch-$Wm)17Mkc_TRB zX#_t{SjW|E;8I0-*$>i{Sc0Ka#Ihi{t_}Wc5CW`5!JuS@Tidicmo4fFdZfac`U3nx z4g9#KSOr5vR|6Gin7VPayZsWz(L(Cyb`jUr62$jHVsaPGCzLCMb*GbCe1X>W4b@i& z>k^|}-ERlujv7N^l43~cpf<{nwG*M-D0wXewq*xQp^6U~T=yjD1iGwivQA_?6w;Mz z?3mzyh%ka+(8Y~A*Wd?@pfLDo1o5`ok6^{{PAFuDnBw5vMwnkHtroyOAMc875@gtg`%BA zu0-l`$NEEsgR6o1L@{kNP>U6)_akm>xvxXil+M4=eAbV|9z@5fV6B=piFe=+PfdUU z2A>@>yVB0e&S<;KGT|84=7@_kZmL;+4Q98Hi!<`(d8OFs<^=Wur6fOmMWaPDNTctT zD*8?X_4I^%c|b+^HkU0@n2QHnnKx1?_(3K7r|7l9hU?q#^BU;Gnz!KRxc36b!M%*G zIg@)!W?#gZatmx#;yFLG3M8m39 zn&RK!#Y$=Y!`+ZC1%KjSzTQph`+v>c^>-bQBZ~ce=!_1DemoM3bAkv@$cFxCJGTcp zqB83xk(AIjhRAh9B3Gi3<*NReO7(8kHciWLrEuZIs4XmP48&ol0R)vc5i zW=uo6apHx9!L<-|O=4tCNXiOn<9G>6qZ@ZA)@j|*b<%Wnxpr%w!fxq`^@MR^*GrnH zE7vrM3#ieHyA{2tf$Duy?k;Pf`Y2J=ZjI-_#)2eD7cTyImx!uh>oo4?WqvM(i}X*_uC>=A3@ zp#NFf1{~}v7@;uz@$9k6J$r<@?Bwjx>GHn{y8w6Hiq-tJINg{yLw<)xo@u|u!#VO2 z52u!?U4xl8r+z=st{=JM$A3J6W2bnyFVciD^B9i$VSu^!yu^W!I45!6<*E{Koi7RO zU3U%j>kQ_c&{RdveXydcRjLO56Lpk^aOjLb0@b5VOVLmr%+R+3nD-K`=-?Gx{6pyi z6)FxkMeN*LrJ9mf4gAjmada?!|B?lB^uGl#o^s?}rD#<9F>b_*_LUCj_C+4ff~!27 zI}&*!qNiTu+PhK?t(mS_wvCVoqlxbse3kdK1o zwy0V<2oiI;zAWV=ZrItPAL$?7i3PgGD8-V$g$dkSg0(JUb7mkXX!EB>Os7??OsHoM6zW=5v+ByCv~Kx41wzxj;9#K-alI z*TO+~E?K&UFK)W{64IRU$M9KrJU3kNN7D0u- z%ez8@vfN;ir3Z^F*Y#v6)9!f|$^{n6MFl11OmG&!xOG?4%YQ8$crih*!}SqZlcB%& zjFr20A7WjIe}nP_Q7im6MY)M|uErT(Tky+D_jk}Q6DX{x9fkT<7FTveZ5<*<#cUoX z%(%_l8`eB5WEmxsTT%#R>impJrhN*T5*wfWe<~dVi8<3D6NAI$cqU)s6U)=U#Od<7 zv|Wh?5qhqJ*2(8c;)eBPO66I?)M4#%QUxV$*V$KiI7^w@)t;$c%U|GW*9v*N5)Z`M z?ec+`7&P{p9F(}{4=|aa&2kMTmS=*TlUPCfF3J_;Z7-u%4R--T+woKB2zo#4mZo>J z5>`SN1Bsv_3Cub7_af?1T3wkFQxj|Z#_vm8mzdKbRN4MS;6j$YA~kV9a4)YD66hbq zC}VmU0EIZ{t8Na0VYZ$g?29<`){{(ef^K2SGc~Nvtj_Fo`W0JR+X1!%lHFObX4{%= zYc;IZuvVkF|4BtWI##sxV|2P}p+r48;B^{6NO)%<4>Wh-HU{9U69M zfPaPu{dRRy_-EE}u|vZS4Z5qd>!w{d?Ye2#&188&)@oR*@w{4%#Az{g@-&^q`B19F zs>A}FW6D43$CNkJPoD3SSV5ONFqO>gBX3w@fsS03XRy63t8y#K<)ZtXZwlq=pv+He zumM%>b9m0+_eJ7I=^e^qJxI)#DXY1wf;_Ip9HSawmmZx}zlf=#JYu1&8_6NdZ&L}3%a3;=H zc}4fcdLG6k&sur$zr^wkW|HSRQ*p$hO!D+M;N;z6{8%#hz*)JE6HCv8vz>{vkBM`b ziF1UBvx|wdg^9C)iL;f7bBKwvjfr!DiF1^Rvx$kbo{6)UiF2HZbC8L%pNaD+6XzHc zXCo752NP#A6Q_=evxkYZlZmri!BIQnu;Itp0PK32<|^=kCHFmwY4hZccw*3W1?Yox zH9q+od>+H;dNqSjJ*D7L3iwjt3go`?3J<)dV3R>#eQMT3P3q1@>cU1Ez((rLM(W2# z>cvLt%toqZBlTq?^u-7Q?UgFeRqYtCEAjH z_AHXeuf4rwCJ&G7(eriujK}jB`##&d;uZW{g>NS2s*0bh;Zx~2?sFj3r~ER(XP->) z*(Vcx_RI8sTBO%hz_b^+25sQ?t6QTV!WxV~`}_*GrY*0BJ))E2<6^axLPNJlho z()v&FNBEd;N;RH%=8l&i*#9Wa_}-h2vTrk$OFAj-v_yVN7CjZGD;DkYdlz07Q+TK4 zmo)}k0CNr&w|Bz&Og@Gxa^OkAG^uKp!siIFc5XUX?c9;5Cp4)_#rdlFP+a*!ShK>l zLpKAHkRAb+O=64^TeXK*x2|vkHv`zn;Ffr1zqwo5Hm)|8>1m7%V5#TqWxgyG|V`6$rOoI-m zD-)+16Q?^9r?-TY*eGn=E;kB^t=+8eNmsqZoJn%`B5}i(a=8UJn4(wpe-;)WfX z$kbz}m;~CS7($6#wnEWmi9wUOK>c^fb)8tE&0IR#!UcMuSi}=g*f~s5+4j{u^J6QQ zhPH8m7IO{9?Fxw!_t}U)mg+h&XRf^O6Hku;T=Q(FLe+^|cHt{h4JB^bZZ3gNR!Id) z+^{L~^))eP8WU$W(-7LhH8Md)Do(uhzF#n#+2T<%-aCtz*)!yYVrI{~Qs;zqh{uG% zAi%&KOq=jqEsXhHMaleuH#ejRve+AEZu}F2_l1C<)tMNkc4*k4VXX!nyV!?$e8$nP zPIle2)xF^|2di=9@Ue@Ii-qAe8rR#7dxxB-H$M;K_?z9E#oMxhvey21+OS%@hl^J= zIx0>Xlb5#cyA@Mi`~|WTUT}49pwzCwjjjI*O3c{hx6^o+7uz*;ygXYhcFfUD(#Du$ z7e&l5VdLCuz=wLEmi&!ly@d3UD(f4wsUR=KIrA`6$fkl)WzPJ8I2063^{MXWOp~yLN@9;_;1uw-88!A%l!1+LH4EJ|2qA70k z3R9M=7HO^OrOM481wlqZlPdENp9f&o$IYujQFNioRg*isQjvaRf_t&f?%?8f;VS1R z=jB5*DQ6uMXAu);B@<@>6K4$*XB87?EfZ%k6K5$CXE_sR853tU6K9E%lklK#)b|tz z>_X5-pS5W`N}bPnpCrDWdpIp^{J9S>CBo1)|cIJK&vR znuB85R(hkndo$@eo0!v4ZtK6eCm*!}%DQv8>H-w#h?$->4Bj@F!schfm{*Y;>a zVJ!NS4ibYNbAg^HK*^FRmUfpXQzWA-W}(btp)6ye%vDg-Q`Ft{gV~z>ohTPL2ITR7 zjDl!vIM%`hmF-;;&-4q5nO=BdoQp5uKKa#ryiPz3?Eu?FwCy>Nvf^)%A&6450!4Y#a z2%u)kk}ep~GQX2Lx;w7feooxGjm=1rqFIdt7{)3dAxW}maN<`MQFp#rBZAdWuPDrE zV$ek{&{YLUZIg>3phF2lKpcleF+{3+{zN(wEmGo?&jxwQ=R4`f!Iw*<6L94`Gt_FOJ* zNt$|5KFFm_!GA&l#}=7R*M1DaQ7qe7(<0LiJ~VFCx#Dks^yI~G*5r9N%c)pcpGdr@HtDRsK2Wot6o&*^M}fkR=SqFEBqoX~qszNXI(8@E#f3 z6tM>pgPxs_qVh9bI{G`%+}zz%gjXS@?%yIF-&oam`NZ0FWgg901}D#NOGLPKvu8 zDx4Yl4-B;?%iv$99jkY6qi}U0Vp0MBC!VVL79{XoZVo>c-dE*j;hH!z#aDm1uK*hnyF`igqArZf}BCn4|{1)E$%TmN|3491d z{GM-|LUZ_DUdcyml?vPze?8^BfrvjVTvk>lrh2s>-^jd*E}vKXQS7+G5>pkjmG9K! z`H!lDDKDv&G&t?@=c5xQ`<5iw>VJ9}dOlJ$D1%N+#S2z2N6>_B1LE4UT52r;=hX zvqQ0$i6fO;N60uL=$>~%tOTza!56r&^m?kwJ@2dzo_7`{iGUR&Cf3~@jB z5HQ4va3jwU+*tS!z{RlZ9S_G(LHL|kuAst>_4>P#!s_8epoPVe!66$ftXO&?aLyv$ zEp7yJ8eUDt`3^3QoBNER`W`p%_i@ITV)aG2$|tyg_!n)*7kA953R8L4=pa~trVBl# z(j%|4gZa}j8yE=dxyCVI4mFOYFfRrCLJSVVu@q*$L6!>SrNo#)L!xI;$Qp)zV-^0> zHSh)gX|(Qc8fA~EvNfy*vuNcf5#mps5z*qrRCnC*#Hj8NMZJ|q4Q1X+H!fGy=*2-r z{R|TMGQWhGgb9b~)}S%0_W?ChA8z{pV5QGs_okqxFJ62X?@DFAk+}&!5-tNg7oLO9 z7vZzWffUb&Ctk~j%h$5RoDp)4cakLcuCVe;w+DEEFzcpULCeLPq)x9cXkYw=Uzo>3 zx^3qB=u6dn4Pzhfe`VX`GJpO8&N4Vbb1u$+Zo#C}Y!mznQntoH@0{&j@rwH^tzkms zQ%!!B&cJxjJ8iy}h68H&Ri}9-m&!w+#=(ChpK>PG2r5h+fLYWkHI@O$}m zGY}Mbjo*dbRcHbT3$lErQ3`76Cd!b8mkyoDtAnS_8kogAm``{xqj)f*c`%cBF!OjY zvv@EQ)R=&e0d@^nGjARC&cx)mZ93#YIs6;na; z)nS_ib|9MMIVh2&cV#k(mWh?S;KLOP)<71$b7PphDp5yH19O=NbCm~kg$Hw;2Xl=F zb4h|JhM%CiQCZFh%!sGpKY;51-R@kgElr8Df1ih6uZDz>lJ8ywjg^5$;vc)9+XQs_ z@AL5M3Q#{8s8!-%a>A!#60&0Wz+*%#A`i!lXh-k zIt7{wusglJBS7)ygCBE~V9x!iHs%(=-1+y~nA-$%QeT=o1T*3dZE5Zj%x(Qf-6NPG zzo#wDLxQ>a`x1<(nWlDHcU}rOtpK6!DtX8to8O&sUEDS}iO?Ryui_=9jI;J1@rU?8 zCk!~@SmI}Yc7(TkRZFuui8N}=HXh7&9!xzCW_>J-cVZ4bRi)~weO=S|Q-4=gCGD#H zvBZh&@gqE#4Lq2WJea*an5{gReLR>QJeY$#n6*5ZO|dY=Np(|c{>Gh1=i#TmNd=!1 z+P|Z*#EG0#hj=i@c`#deFuP)5id{9=Ti1dsRqylJJp9zxRq#1sR~?HbPGncr@nH7w zU=HwL4)b6(@?cKzU{3L1cJpA?@nAlUg?T?y-8PLCW#ukcQ;hTC>2ifz)w{+y`2Y{O zf_`LT&CKYh%U|%#CkqV>%Jt zbkUdQ6C%wdeatf=&0+mbUPpqtuisM(Nu!SFOYVCDp`-o>>y^+d&I^&7RGU^?lCDu$3oUDBTnPf3hn zvi=MoOQh+d->6{(^Z0e`;nzSKb?bZDm?s3&O@B_^AdTv;-&4KGxT)8lnzIR}{af0) zX-_bh^e4k)g1M-V*-bFl^i_O?V20_B;sFG6LcdY>$+)?$?+UCT()84C)DD6fsgGGp zFx&K&Uz+-FtTe}WmLzxeJYm<#$QeLm66V0{%YC7AyD9lo7lF6&Ekp6KSFzKXXH%t-yoFq>e` z=r^h#!CcUH1s)Jg7ky9kAnB<=`W?QINHb1keUsje zU^f0o?M6K!D(0XN*{8oU93v_osz1Y@k*GiyeavwpO>g}L zW;wxZ(w~~OM8(_nF&l|AgY|XOjYxA!f86XQ(wx`FEFzfx`bM+^Y19e*QM`>{7XLeK zLvfT~9_ZWRheS7h^+)kEf?2I^L_Z^#UiypgO@is5KZ<)26<^jLe$xqNsJ@D45X^$_ zYLA=41T#o~G8`o;zN6o$K17-g`ethi!Hm&&Xgd+iEd6nFm0)W1*YHyWb5CEzn+axd zbM0|6lwdmP>t-z(H^=pj=m>(jt*@Jrq){{U$IUh(&3S!kY6)h%zBD&Uqk8K1)JcNr zt8Xaw5X@Hn8NQC_=8C?G7ZA+UKh~ZMQ%R$y>-W?WBFzweLs3UC{q!-P5X>We6+b1I zq59)y2vKoA{ZV{^U_R9!ewPWRuf8A|`jer7V7lu2#j}WRp0(1pevgSX*Yyp>a3W0~{YGsi z(hT{Zv>UaaU_?mtB=`0FunCL_Xy^={?xocdTN+{hj%5I+4^Zbw@9OI=}U8% zU~2WJ<~V|Rq@VFJmtdyodlZX^il^ygx)99MZ)wk|nWRw@U(&{OA(%`0!G#k9Gem#f zTp*bK`cv}|!Sv9_OeL5>`i(k5Fc0-daeIPUp&yhQL55$gext?_OnZHAYcOflO#Pl( zLogThNAW$TTAkvJ}H=>h?G?(=o)r(+;>o@8KY1CCr0vsQmH^d*?Z`X`BJh;HWS>t-I2X4=czJ=K{= zQ>$-8dlPBy>znkmM4EH@x*0&ExuW0Uhln&?^-cOdf?4oY?VjpR8Z|)Q-fSV#bkuLu zJc8+=kC{X;WA&}y0)iQ=FU??rd7^LqI*^{)tZ%l463jsT<*q+zR6l*pAR^7CKhhq> z^#s#Se-w8nnECqWQ`f0(^zF?Of@#nXb(|xOnxY>sK20#&^i6sXg6XV3rydjCT+~~%su@qvQG(SfW8ZPi|D4a{$zMaFeCIai%FyU=o^ZQM4I9HJvDf)ulIUiDexp_p%xL|| z(2g`}uzsWF6KU4!pNCH;m@NiVlVBd`d+Ga$ZhGrWbBlVK*o9M;#(6r!6U`g3X%k>-%TG%E;ZpT0?dKrqAf8?}sJ4(K;( z7g6yU{rF8+f*Gj4z}zO7WBSsZCc3$%kLg7)RJNvT;=9vB{UQI9q^i@2JbogNX1?CdL)aehuo}^Lx^>x#iNYh>4+geGaxvHID}Q!JE&ER?hO;JUG1jw zMaNhu>)+v6Ne%~P`9V7D3A7rh`i*Zeg}#4g5jD9+A2)BDYuv1f)rHkXt~&TepdA;b zaS{32Ktp$^jGKP}?M|-ppS^dk{jUwYt$dwCyx8o$RDiFH!4s0=agwEI`~1%yc<(M{ z;Rj+{R4l|xpBBlbodG9HwKW&t$_Ng9vmh>KAmKFJ(B}*yob3kk3?`iQH}&PIC7fCV zd4>?q83TES63#sX&M?9`W6)p231_W=JR=C_xB+J*;fyulj3S&32K_#oaQYZ<#t_a% z1I}2&`NTj!;|S-10cSknJT(}H69{LWfqo_u&VGY-O(L9u2As)+bHPAAQwV2*fjmOK%TjTv(P}E zd4x0DfHR+PjvBOU0pUzHkY^#`Y&DQ)5#by%kY_RBOf=wpLO5#-+O>pmt{K>krG#_C zpk2!dXNN(%mJ`k@19?^u&UFL*tR$Q%2J);ToGk{N)r7OcK+kIkr@w(bYYFF^0cRcI zY%}1jC!CW8oDGC?-eCNEN;rEA`fDTMEHh}=Cc^1yAkSvPd1#=YErfH#K%T9Hv&%p~ z+X!c)0cShmj527~4#L@EAkR+18DSvLF2WgYz}ZbWOAOkzhj8{8$g`Jl4jFLv5l(*t z&VIrQ%^V@4f^X8;mk4MoF<&v2KqTeID-u2IZHT~4D@`C za7G)*bDnS>8_08kaCR8TbCGan8E`HUPA3D-Wx}a57(Z7C=Zb-zuM*B`gLYjboP!4K zx=uKo4LCOlXMzFeCgJoj(9bQxxoXf~w+W}OLA&k{&V7S+-6fo<2Aq3@v)h1kpK!Vv za2^oODFe8*n-j&H@8YC&KAw!0Ajl^9=Odg>YsW$kUZ@E*h*C z-3aHI0jE3R3^Qm~55nnXpy!^1^T?oGy$I)?0jD?N3@~U{AHtbr!0Agk^#+`Ng!9CJ z)1Pn_8H}F+gwx$Xo`Hn3(||LGaJCt=YcS!gGmxj2aE2Oih7e8%gLVxioTmoz3?rOR z4dfY4IJXVt89_MH3^*eRr?&xT6yYp4(9dYXIc&fgLpWm$+BKGNrW(jIj&P0`$TOaB zb{fbtfp8iO9(#MF#DfMmYTpIMWH|m;q-7 z;hZ(#%p{zN2K_aQaIPB2Gn;Tm7;xqg&H)3?T*7&5z?nxl9Sk`031@);X93~NGwAn) zgfrKGvxsm88E_U8&SnGsd_p)Y4LC~(XR85cDdCJX(9bf$xnp2gmlMu#19?^uPFDl{ ztR$TA2AoxdbIpLWns81V=y?s{tTB*hE#Y)F=&yBzbKO9m^@MZLfU|*cmKe0_Q^L7z z&|ez~=QD$LZ6chT2As`=GtEFhTL`DKfjnCYXP1FI+X!dB0cShmTsG+U9fWhmKtDSP z=aKQ5~AkSXH8D=2QKEioo(C_;RXS_kX4iL@>gLWMxoW%y5 zLxfXjz^Nmgz6PAbgtI`>Uq4V@LQKDrX_{{e7Z}sI%GTlnVmeplEOTq_R^+N%H?PUn zyq3cI!lGsi-o4A_GP!IUxQSTtS_&>c3WQUR==AfzEykpXj)@V0hAa;@xm}&aboFSO2`qG>wm`?h`?;OD#e^I-`&lAiM{YG6Nm^1pAiv)ABv38>_ z5zH9<4!=w=*Yz89g<$sUW3Cd+DSgZ}f;r)6tN1#>oYj}+2EmN{incU231*ajhugb#sqk_UcP>pI}DlOY?wW4(O}+A;BEf$2=mKo%*_Y zOfWa}rFlXyo%N-8N-($drTL6t9{#rW41Y#2b^6jY5X@nH-LyMZ%5v(~OuJF-3FfAL zqdE}GE`3Z#f>}_Z-Kb6kGg^O!cP5y2`aRW!U>@lYzpezcTVI-P1T#`!H{A(lkA8>u zAeeLdn4Sc4Uw_>6BADa)()1>n4*EUShhVzDpgkG-63hX8Y5Eb&K7HNvCzwO}(hMM& z3;NOwB$zAum_Y<{Odm6tV)XY@wFGloUz#BVvroULh7wG@zBI!K=Agbb!wF`OK4t{L zbkxU;B$$)>x*0_jX($~#cg1M$I%{YSDp)bvNf*G&BYEB@SPWmQ& zBEjs}Z`34$>83BuWP&-b-&0cvX16|OD#7dwV&WFNn?^7_?&=qpn@%`4?&x!75YANt z&P>7?Xwa@%gwxf4Gn;Ux8gS+i&JY96T*7&5pyzpn)89az`Gj-YK%NDJ(_p|^NI16) zIEx5pyn%ie6V4R_c|IYWp$76SA)Jl|oTY>_&VaLwa4s6?XF1{YHjrlp;aoP5XC>iW zGT^KtoHGWT)r8aCKtF2;XRrZhE#aIpXxBQz8DSvLdcx^xz}Y}JqYXHp5>CB=el`-$ zBLmJR!kK2!uFZt=)Igpsgww}Bo~?v4)_}8(aBdp3YdhhbH{k3boM8s-+DSN_4LG|9 zXSxArH{skf(9a&id0@cVOE`TE+O>~xCK+({6V7J_?K(g>Ck;3U31_51yABafdjn1# z;XE;D*I~k$Y#`4O!Z~Ij&r!k|ZXnMw!s%kbIZilt4cc{raHbf@bCPhb8OT#lIAaXt zIYl_v4dgjZI1>!yIYT(-4CFaWI1ddt=Ln~lLA%ZqPCo!Z~3e&uzk~ zHIU~H;ao6~=Pu!NFp%dS;S4h1+$Wrg2Al_kb5^3C@E34WaUPobAYFqw#%Vao%|K># zrVZpwXCYZSn}bJRn&!73UJDp_?4`n4Js}I3)0NKA!;s@44u1X5$3#9sGxkXaB=Vk- z`B=*MLAnu2<4@g2Nooq&+xT)8K0i|l@6J@oUImI2#4^)cwWx>=LBrxdHsl#+mY_rvV<>YUEgK4%GMLw9}7F~aF=AkP)T z+0s*Ap1Xw8$v~bvgwxGHo=b%Dq_2Lvb`nlEgLa)Hocjjy+$5YS2KqTqI5&Ig>*pfj zJm{g%*+Mvn3^?lvXRLvK&JfOS1I}i`X>TxoRuIkwiGDn*n$7ovg#e#!_TDJN&-k!# z2CfyI?OpMTSYuMKC{{bSe~Le>fgjei2J_emuNlQPhf9b!Jq^@zi*W85Op9}bv&q1$ zP9&T@2HkalaJn0C4inBX13j-HoTmnQo=iB04dj_ZICmw(Iqo=INjT>XIEx79sR8F2 z;dC(Q_fH9@hXH3A;e2M$?;8o{h=G2V6Hae~@iU8XdKqx86V74-&QZcyZ@`&EIFAkb z>o(!^kjf*jlVg8`?Wa2^@7YbxPf zG~lcwoZAND@B-nCFwoCZ!s%qdnM*i>4LEZMr=0<3JK;Pu(DNR`*=ZopX~KD6AkSjL znQb7?Wx}~-FrH5kPG5udYa8KwYOsFoAe;^c`nf?kR}A#?3E}KB;9Mn~TL$5%t%UQ; zU>t5BoH|Ln-VQ%uc<7xkxRLO^w;<-6_;3OKK%7yyjLiy0#8F4T6YB~`9YY}=k4GJg z6-OP(Noy3O@KXYa@IQSJd0O#4g!j|I@V=;cLyk^z6)iF~qFIB+q?_XfjVd@)scMbE zefZs)W=+C{$$y6`d80zf5xw0mOCj4oPe?=!A5?{}lF)#kigA~ql2EQ3(JpZrpa7!b zZ<9(9XvpLL8bExIt_)TZ!g5HsMa|$rpBwtDYL%*n!#?;y3ckP(Dsq*tr>bFyq;l1* zQZPooh!eWogQCa0pPIUdT9HR= zce;5;Y^bcPm_ndlK`Kn0%4SU>G52^d4^Q9(f*?ewG~p8&tjfU4rstPFi#u+j{QUCQ zLk{RpvU=#XB_88__jo%6zn#Wu)&|bpGq0ucSmVnZWzM8pI3dqZJh9%5E>$`E`{4O+ zH5^NnN}Ro)sdP_t)A?NB-2Tn116@3}PlY>5-^{+8%YG~Sa`S5VT`_jVG6^Oh&U8O; zON^BrxMQ6(_rSddY4TKrNX9`1MjZp=FazTV1LJ5k;~k0BCdno^ zJR#G>_2N!EgDK(+ScB)J)Y{@m69HLuR>b)OStt}pSon>^l)2-|D7QbsY2ue9-0tW7 z&Mk-mO&aznh>2{{?1r?zN%M7@^x3^k{$;9|1<=OwCPm7!sa!GJbtr*OYQIZEmH=gO zVp)V$EE{%%_9vA^M(MvHDFuedk*Dc=3))9V;Tz?B^hFK3HRWCX>DpkE5(xtXS$7Uh zD;FmDgoJ{u71MCf-YdJe_$J4D!+ z;dM!yBok)n`k*l3O#=M}6!Q>_PWku^r{up&TjVYToj(oA5}}wizFuCu0gdm}`$1vC zG4MwhkEHWZAB$-D5_~6Nn|yY+{aO@eqs~fj7G|I?d9YqGWWx0e|MYJ7r+pG#J``+G zq+)_|Y2ChHH$@5)7&2R6rYBP`H0j~$Z2nc+Nw{VvraS}n`V`ZDQIHa;7+mB1YyY&* zSTNIhFf$~W$ZlE>3z07dgx@Gvu!d^p=?DXM4*qR2C5Px*aUW%)j>)TAQznc14Zo)t zsouqdGk(KYe=n%sNXkrDhJ3#7(McL}smqp(-wD~OGb7J|W%A9Xy*j3|a%`+Mh> zXwiVgmcdWyvl+E(O6ki&>8GT;9krib_D_E04qFm*Vj>|+%OK+rsHM1t}H&i9Au#!XQ7!X}ypvQQM_DMRSSVLnDA!mhS6C>Qm6Y(~0QX8= z@$7Qyc|03F-z^y3iU>^kHjdAf!X%+|-=XJ{K?7!&yNB&|CJn*+gC0YLET#_cL|uwc zyHoV_!tOTD(3HjRe9zRRKu_;ISazteM|>m6p@LtQC7QDMDW9-VmaRs|O>8X26y5YfG=fMo%(ai%M zY3}e~?(<;w@C?7(Jkp%tk!C*+<^T`oBoF2w59Txv<~$GP2oL5I59TZnrk)2=$Ah`g zgE_{7spYZ7k8ZFmcSm^|b&m&ghzGNe2Q!$br_S(5bC?ISmj`p42eY4N6rYPFP2}a| z7-d5|Pv70pmdYBsH?<3OA##;i@c{Q9SQWQ>J?;z2_8mOM#nsY46$+Hby*^%$2Ct9z z9vze>t{v+lKEo0K~;kV2>iD@&wXWZbP;RW9QkoE;QK-6kdG5D%t~2XmMQb3}qs zca%~$!`};Zlm_MD+Z>b;EV7Jbp^OSrL`fhFZ^-uXEwfO_B$sNLg;yTFkxgM86sK2L zEV&X42P6jdRe(4wRzz(f|AjkMC8;O~`Xa>>>Cd%5(R<;AvG#ZTGzEQv<$XXNs7AH& zLLmy}e|W=ktbU-LO8L_*cKk5Sujp5HM2#HqlDtQ0-h=9DY4;VCkDE8nHD;-r^`3i6 zER$aY)q=nq%eDbSRZ$37e=k>o0qb1aIWQf3IpMKYImdq&f4ds22Pqv?;6N$1Am?eO z2--zJ4gZpdUsr(ER7yZAplXmO(LMs|@~?ULbw9`}Ddu0Q+(&<4nZgh_*ufl@^ul&k z=BnO>Qbth0E?1qa`50egDC+mu9}&Jxic=%#UQxFKbW!CTg6o^;k(XA4$TEI-^5kP| z+#+K%4n7MdIwO~Akr|8C!-^dO|2(|J^ig2Yd(N4^Q((Zlor+(a10CVDDXc05B7ryk zio^p+KzT(#q<##;7)#nUE4-STv}=9^Vl0=65!Sotb(C4OcLSZ9*eC`ONfml*Z*ZKx zUpRqNji z@Qd>UucjJ0;vg9Aui*<$W2ni7--McK;GJ_;XXC5$_Ty}}ZRVF=y-|M)vCGQWuHRzBOD%Fi0pi})axRwta5VUU$3x=o_sfq<)O-3jOdKOv$3o=?AFD3vTU2+p( zSU|1FaC;4yF+(HkwuUocvrF`P6yM_lIjDCdvM!?PCG3HP!bhsVnl#}JTC)i#zAT*` zV*Q~D2i78#6xI!&MVH?SOd<`+B^Jt+ASHbAfLhBPzu>~oFlZSNF~vh$FTQ*ps2fCXF8tT=+w3lGQm!sgy*kMp`ACr{Pi-GZ(*A^OpODacu z205NF$kD*S=*ZBPb`pjcp_PpK!cjgtl)h|oE`%c`FUqRB}~sr6E|$8#EMAwekfZ zKlCw_F8AK!XzG5#Em~DB?JRyDPQ@HpT`G!il)Ddn$Vqd3B=M<0TGA>JsoqBtp9-W; z|`?ig0yk6|Q0a7=B!loP%Foxlu@ybU)4A{L?rXoK`$Bbvv9na_in z#)DbRgPG2QnZ<)y!h>1FgPF^N`Gf~En+J2@D$AU@$b&h@gE`NGnaQK#g*+H0>oYOuyoIk=f+s2q}D z;%0F6Sy9U1JSEBC^iIwE!v)Tq-LX!bN(#lq1dZW#Vsdb}g^zsL*j^Ts z(2H zB7P$=C6;=_$DP+n7?~=jls!oNAP`WxPDC{jiu;Z7gr$hbQ{65h6lwV!Nj^*IAy?V3 zUl3-%l7~h!b zw?Am_!iCAh9Ux*DKrm?K9vxvC%8f66qult03j_c3v|;IdH=jtmB z-m#VFDG(*Q-$-b~m$Jw*<2j-%fogre6uxCT<@-*TYuEioLhT+Yr?}tvl~C5eL!&;u zOgR*sNRcyO5G+Ez=lkjZvcwa!{sE zyLWW7`vivScc?@%7d%og_~5C}es7l8x^R=3=Xoj`I%%hQCjli^vC@bp)%zCMg2t!!n_le_Ma24;;=PZ(PRSbJ#A7p-bct3f);_oflhBhKb*0elEcIGG0)#aC)LqbbUK_6vd zw%$KaiogO9zDV6EH-V@Wo5K6i$)q?NY>0OTfPQeWz9^Qdg!v4X*8Dbaff90?*9)}C zWx-mf7h~nwM`A9;!bGP;;dQl&u<(62B35c}D1RU(Kg z?iI$)!V6an7`W(kv&e92j1!s|ga3XfckqV{+XNJF7Yr`M4>}lQB1Xi4hL*o=v2$xM zh#6^TyKG74*Z4Nn_?`0c5;=C4J}#?LJzghp_@sR7j+0QlCdtkMoWn=cZZbMd=Th;n zO6SR61&ns2X5yWKg^zz8!|dy1BE9-X>r;Ugm2PpPn`DflYUp zDrV)p9ab{k^^E%eJjyX*=p+VP!Ph(C!n_=3;f`Dt297P;p5r&l*OrekzgKnr9gLGR zp?3u&2CrGQ2e(T&2P>R~4NzVPNWS9uFd<{IcE@4ysrqebVMVZo?xA%`RQUS=rY~1x z?lRP)YLsjIvx5F}m2iHHXV>BVh32fR-cK+GSG>;zMXZ`Nc{_BwQp|8@_=)hUA^+VO@E3snG6Q2I z)KrnRCE6}T-uHPYv_uT-*86qB6uC8>{tUOtxypZ#3KHp1--BD{(N`lPZnM{)+>6Eu z7lFdP_?wE`?8!;j6{Kh#N7~+KL}WL4lSgg7h1o7jA}hle-beWjo@(90(0P+FW;8<* z9@X&dx_(bA{M574pmboNbYY?NV4-wkq4Z**bPiI&hi$Cwtwq3nv|^dju#0uE)ERr$ zxEod6b9M{%t2&6{W>TV?mrFbSPn0rUSFJ?f-5)%UEsVFF24Q*zg(*^U?)p%=l`n(= zL7*ld-qC*}^Rl;%?)bfY4m>hLbJATVOUUzD?p|^5p%}rt*p!fPq`H%&nVFA^9zyA4 z!OeONJ6n(zD|k8*!)xVz9TAWmU6=J|eV>9XsPf%j_zDE;&3uR?_VeY8%+Wd19lt8$ zKP{YAs}UWY2miGH6e_teewTDM3?6vkQ_`eJ%}j@t_@OTg;EDtjxhW5XYVjM1y9tG< z^SKMhI%{AS!N1+D(sk%uuLHkRE=^>c4!}tBom}EKl2QEKG^h@{Nv7Y(Zt4p0^RX|` zCiRAiQ7%k4CV$fxl6R$%DL7Iyv!I_Kn1c?pt6wcjK)=Tl>lf5{y1bW;>QDkLlJ!!I zlblZ=aS$UKAqF@B1y?R*f#jG`;?g2H_d8<17%p!!{+)ypxiBq*p>M920wqK*v7_gx z7cAqDcJ6s;o>Vc3Fm4cjgXCsabjZaEL`7Dt2#+qnJec%2^2S+=k=Ji++KtGmM_#y* z0ZHPWacNwe*(t1e+)IkWoe}mp%r8vj@NGXKa`<}jVSlIs?rVuiG8VMm z_L1LJoU+M17K0ME#Ufi#GctY&vgeWX`G-P%%YN;BdH68AxAQHi>o5vBUKWCkVE7y} zO*vj=ki(Zes42(y;>huCR6O+-?9?jq4Gj(diyKgtUlEM-?PlJ{`kw~JZzOXxVJZ&1 zhPy4;=ZD_*ja*9NVWMVY{PJIXq{yZX=h4vPNi2$Hl4fV0IG4Po2Yv35p?jNIlrx6x z#{XBWOrqElL?4Pi61?buX%Z2UgU(=_#1O>QE{n^Y>;;JMhrwVZ&&TU8`Q7k-1fEjB zo9SY0D^(Z7V2C$t{A;90d2<6yMF*q`^M~-X8IwQY3$zIbC%*kq16d*1s<6WP_zDYd zk3||11k;?cb#mhwvsLXvTNSC{O|h=@GptGB%_)mt3_B{FAnAGAunfaU;?l;O*Zu8C=tN<&V7 z@L4~0r(>%WOvmtn2i9S(YaP7ud~)j$W8e)L6*=&{h1+jq#G3=IACE8IKu$-&z*Iw2 zyyO1{whA9Et!a%9X1xXt(x7w-QX(zG=2(^?+{FX!uD*bsZI-KXfPwKSdT$-x7JnRY z$pbC7*%zh#gn@Ard_MzjbvXAQ_?FM38QuGXxy#&w~dx!^@t7(*+Oa;%Q-;z&jeIU?1%)2G(y3blr( ziNIFM)hMh&${K6W2STC`7*pQ%_C?o`75;3qP=A&QQ_QUh#Dp=Y*9|QfY?BBrXPiE= ztcb)%SnaWRvT=q+@1QJvfuA3SW-&v6y6oQOoJp?RQ%bKWmX%gTy73fw=$&-U|$H?gA9QY$&Xn3xK64lv7bB)2vh-XN` zS_R#-crq+R=5f%uJi)@}MH+E)$(anRd$ew_mYjD5jl7GJ{ssiXMAdt^%mKSAc)wBv z=kN+z4QzI+a*g298CZ95y-I}EqIzBWLq~%*Q&Yi4pE;cbFp^qCg3WR>qK}eY7mzRX6`01mpGi2oY@0aK$Hw!FhXgEQqkk4EVCs-z)5w#r;tcto5IRYV0^RZg4Ym>5e1(00_e1 z`37O;OWXDzOAdfSHkY_Jh1vx#;<{D3MZZZR3WHu_#jtag=xMsa@QgG09|Mu_@cDv~ zj53u3Z|X82G&=b6O^amcpKw1K#{IqM&|3^YYvJdzVINr=+^|QxHgS_qqe)-9yXBod zqSXk#k_qM7VJire+ZlNwQ@kd=@KaQh|Kdqh(~`shB#v$2V73?qOFPq!r}JNPr#N`d zfe9Yku3$C#<--c`=u+SaQ&A!#BmRsd3Kk}W8;y21O*1~0hfBI^9i>@VZ5jLQla#=!&v^di)Mjl^;uaUSOM6Zzy z#*+aNH521!?|H)DWG@w~bMwmF9AObMFRqiayUg!PvdT!D9sf3)t3;nceDN|#L=^|T z8VLy{_(mkW49Fl0gKi^7TF0s8$4W663{8plUc{gjR%w8y zd>zYwTdZJk0T`|eYiL zrQ;x!`t=<;;5W(_AciTxVe{EKC}evjKLH#T49jQ)y@m!U3A=eeoTV^~mK*S>I|Jr` zLYntO6M^$1$34U~eljFAqbCQcz$3dBCV_uX9=*KA-3^2u9>>qA)adk1!DHX><$xig zhhc`Is{m`d`~fyRoce{Rk4U#8G?zV>`c@W?s?zvHJR|&b$uq)X$B2I0a`y-x|Bjv# zv@qdzD*q?c>3<+7d#|~>M|wdjoPsW{Fm7Z6A)|zM4-VbPr8eAm0sBfs82MD5^BuwP z8SSTv%S?$ZrhB7wx2IPc)MBy!VG%kpOyI_ixRDL3bd@us76(Z+xT@8yVFcD-0&uiB zi0gSUG$?wMM9)C?SV`h3h*T7Dp9CESktCgV?n3&KdkusvRIt@iu^SL%(%Yb8=$v18NgA^R|!+(iW$V~oW=g*+q zYrs2&Z@h~4yRo`U27ck?)_7c*$*1x|7kvix`D-(&CO>pb7y4_q0$9{-#V_KPj;Py; zH+0g@ou7*N1WQ42KE0ik(RYy>jG~alg4_)X@QM$yTa4cFy zNycV#cP~f{ z)4Q2$p*nQV7YuKiefbA%T|b~B2nA7WEQ6Q*M%Ig0Vc~xGRD*q9JWa~vZ^9K6@T0PA z&=`SjDjc&df)>EfeEkfc{VjU0P%7Oo3VLY5I=zgB4GT*M>+}+S!Zc}+?Trk`)*^$l zfq~-UaEutsu&$DIrA6TayS2!+v0E*>^#sSqZli5j!G>9E*a^0brI^5%dTo%_dcqBa z8?yIrj8-j3NqN6HHjvWkgP|*P)s2q>5CzFRzul} z?}uM;$3KUOkAIGjbj@?mstQfOL+E@mz|-K0kc==hIRX2DG-8Y~VXTB;tjHg@BeLXc zxMv08-nw_>jcY+AzBf=Pn*ezN@G6{F6AVuuL{fnXLOr>}VXU{*iz(tphx-k{f6jjj zk{GhTAqe?lrn3C9xaWO|d*F&lg?pDA%A~>1i^m{-g%FPg_3ASf`&I=_g}OB*kHrVM z-kt%nuYFJ@i6z-9X^vOa0!1ukRtJx$+RqjDnsLDSy$yWcFD7FN1EVgCQH=E$j>!ul zZ82f;{SK{1`F~4TFR%b$!Dfm>yOI?~6XvNEBkv+^9Z?p$%DFn&wPG||*7IxQLyrCs z{yl$*w8V_M<^e|H#yk@5o)`);D= zKD3YGp1Ab~O5nt;I9}pXx`$F=4EV;bYP<}<7AeO|*@;{Js$%R8h4B(NaVxgyX4wq5 zsyK;Ug%srsfRj#Ni&UqgJ)lMKyNY=fw?)H%qHfXLvYqBs#cb?=eN?{HEb3)!nO>lN znA9>%gn0zNt7uW&vAY!Kw2~5c)J*_c;CEHBl=YEn)U9B#FP%WU0n6~~vAc=dVHM*d z@?{xbjRDu7Y8K>jLrP$-k<+<5I$dRJVIiau%9vSXbdfP+1yjK1f_(`(px(jOv^dffd#}!o0%IgGqg#+s435TKY!!rNGhCC9WNzk)sI2!x)I-^q24ddOd^(i!1ZhWdAoqvj2;q z40I_qgfdG)VHxfWJ!9qY$AGLptUmsK_TD?buH?G&dpc-uK?Uuj+=X-)*ra!}FPjx`FShs#8^`PF0;c*B#x}s*hHEgg--WwI8kX zrFFiv&KLXGO#2S1)qb?vk5>E9YCl@-2R};2@AO+`wA#~Fd)jJGTkUD9J6+SU%VS?XWNgn!+GYi9W3F#Mwkp58!84!h#fl&w<6ort% zQ3x3lg^;092pJZIkl|4X84-n$kx>X46@`$|Q3zRog|8pop#$3XWK0w_sfQe6hg*FA!I@nLh7R!CljNn$)qTRY>1*clcT7~lqiHujY7z@D1=l;A!K?KLS{rE zWM&jXWA>dE25~$)+lPSGK!k4ib6<36wO&3MNQU3A!Kb7 zLh7OrvMvfC>!T1-ABB(&Q3%->g^+DgjMz<4)MRrMLbgO9WNQ>c8ln)gEeavqqY$zq z3L!fcLINN6SlJsn4g{wwS8C zm_`#ZV{9?w^I}ezh#6vw8J8DxQXwX)%=CeqEaxXXl=Bc=bih2J`Ke= z7{rTm%3f+c^lg*gAu^k}b06T<_<mF;z6tNmeOs!29O-6Fo1K;Iy?YC}KxQ^YaO zNzI>qqHKgB^Pb`pa#|@2?N93Q2h8J~0i!Er1f#EU(dWo04lBKVJjZ3xr`IX>VTN)- z&~On!6!f`RJMk!|0<+c1L#L2V%<-ieK19fWs!BAA2NHb^g7VFCQd99Yh|iM{zt1=3 zKE2~e$9hDOj#YcaUsZgMsP%}2Q-6r*Cx*M7F2Fs|n2piVHr18 z8ig`?Sj0QKWsBJQ4kG&4U+;*-%o^6{C;{3Hy;Y)lFCnq8zF+roGD3{BORq`nLd0OuR zGRjO|zKs_st7ojdq;smcC*4yo!2jojS`PQU_S=#G?TL3zk%w1XNd0P+DH0zwSESuhH^;l|F^^}dGwvdhM{fX)K`Sh`W0%6 zSOmnU!>v4fVn>t6?k!4@NB^!&Zg;*d|Eb#)MRh3BDu=hzpZ#YMKW}=DVsQ`7ZXbIq zHjgqkX1mdJrexp$*s*OkZY9Y7l+ts)l0U2nf1I^$p0z9&QgIpxIVIwK+y_av%r-rotG|CTfQ7H>5^PPDZWi%QlmW^MJ7bjzKjk13OdOQo02 z=B`$3@*~MH5W!|cKIn5Z7-p8yvf;674#)qw|=fuTMDUT9Gr z*8PnbVa_vTy+*9*XU#aLgpfx+C-I}7$!mO$egbuwi+|4@d4VhSelM0=oc~iLBF6_!z?We3I5Qzds*O}WBW{u zziD17PCio0X^}6@yzT+U>IBF9R5f}NqXm#1TE40 zmBxvaS#RzGJbQ;8&r)XoLYxN0dgT4%<^=za6-wb5=?jBWU*Ugue`hu?WqsU3N=-aV zzjH~Ue|JmyB)3+^vqQh&lGB;LsgcaICHIei#hpx3&Z-RkyVGk|UtPuXbCq1eaA7p? zSdGFWeqLm#t^*Bp8i`2^xoST2Sv5n7c!Z01>?0ziH`J@nXP+BVM!BDiKcT&Hy5(lF zV_f_*A^w>Z|4fO0mWY3{5s8<@cmtLwi*aCBvMk1z$EmUyt%{kFvKUXyHf1sX5@c>J z7c8xQ;IZc?!4(@Lb_b@&7f>M#?I3?c8$!Y`Si)BSyP6Pn7z)>+0j|SfxDG@7B}C!- zMWEL)IUFqURekwc>XDE-iY4?yZN|xd6Fc)OFK0$j}>txA8$RULg@78$C)v5Aa z{k+J~*6OP1>{z+aL0*ahoECvn6*9CH(tDPy5N#o=DrF&hcLww7*mrk3ym}JmDkOZ8 zNOnv8M4UTj9A0WB_HOdaox52(ke-&4$>*5KuP5!xsCSdJQ~Y|8KlV_mKZOvD$(?K741y<^E}^2LVqsfPL- zmPK_tt@2i#yLFD9r%eEduCr4^LFeq$Q1pC02Cghd$A90C$GasuiLE~WqxAJ;*G%HS zzA8?j>4S_{=8_M@qLS_SCmjZKVSS5T35lb4rY;<|A8Yrcc%oaD?x1fk=te#e2e;Es zi+d!Q=#(wZrqZ|iq+XA|8q21#rRfucQn7X{hff*kI8M|pd*tjh>)3%`BgBGgb~S9x zen2h!S}dFC`nrf6$+qv(IYu8y&m^-{3^geGsN%V>-!zimNqm*sME~|>`jO0jnHnb= znXao##@cnFHrl#+om>7o(Lczfvj6Fa|MT^frLr#BluJRp$rd`I_NF`qbOMDd6uox9E6BW=C6>#JC!G3&<3K)qt;UZdt7F0lmx(UH! znJn7IzK+bacxuR{45^@I#B;lXva8p1cCUk7C)!V6ff z)ZaCcrY{Dw_ND8mT z!;r_rQ@R3GLa#4_N;s}oLilbNgf?MZE-=7!KF&gGFjB3=@B?8}lX^OZm(U0gr5PD; zBwYF}P{1K{LQYpVA-on3!dhI5PKV)N1+{n??S`eOWnO~LrzvlOI#`GH!VvXH3UAfw z&>EaT1aXZBO!bf8c+c}Q6)m>TkLNxL~F1d?Z&=n4OYFX90%bi z^f7oc^g)MWfAxe8KNLryT3nBga5+B zg@7(m`Pz^&fyLN!0_Yp@3ua32+L7ZuQq3OJ1lnD95? z%5)B`!DCcFcXT8^MQiW^6>u08a1<4A92IZ?6>tg_a1j--2^Fv&6>tI-Z~+x?3l*>( z6|eynun`ro0~N3z6>tU>@CX%f5EXC?70`qVC`Z?Y7PJOiQ301x0h>_)J5d4ksDSgR zfa|D$BdCBYsDRt3fL*A7=cs_QY612Wg=BWU{TiSvpP|u_S_vJ)Q7kS6@Avyl`WKM~ zH{Cdd-Ym!HV5uZi+J*DPan?jTQaqW>&{-P2L6#--89<32Z4rIDC+H7#CG>Sj=xrpS zpF_gMa+5mrcSv|{Bw>Ib{wx50yf(`o_XZpP@+B|Qmx5yKM3!4f9I62`+4CU{5)*O#n^Rlf@K zB@39Z?#u8s*#0J1gEeRqR;vYMwQl4F-$d{9`oa?W!4ihR5(dB$2Eh{gz!JK{5_-ZC zDqsmcUm5^{IlBVY-mUkX&{MrHJs3*n>_=M=ZQo?)6Yc&ylKAs8UbD3RuEYSi*8xLM<#| z6)a&fEMW;OVGS%{Ei7RfEMYY)VI?eK5iFs`SVGPX+67Bk2TRxiOV|oa*aS;h4@=ky zOV|QS*bYnB21}@iC2WQzG{6!zz!Em9B&Y(di&L|Ulp>Gmqm!z4>*4)}7qEmUu!N@` z5<2C+f?(&J=dU2NAw7`y#SWYJ3Ie-tbSp(4U7r6-PE@phb_IRBbsPw;l!-d0#&4y6x> z(pc>5IjLzdQwB=wqa3++59yWr<)qp_eGxk+%C-0?uK0L5rNe&By3G+^&m(1UI_-TI zc^4(}Qs?KS20rWoAMd*HfJZE)R0%u1c}aTcNG{%;L0gBPcfe}B^ASt{pLUi%T)+G; zIr;MG+T}aG7+;bexB=tuEZ5ebtNg0R+Ptg(E;VBHzpGz=w0u|pjlX1FPiTxESNVOa zwRxBRD=IMk-`cFLe^>o$_2yug{U7zqNx8Jo^Ao}iBegV^yutOz*FFEB0kk-S+ z_c+7aYU@}sJ-fd;*@9jj`mN!9D0YoYD6eTpe&s1LcNTnWl^*u}cS(S~5VB`rgV+uvD1eo?9*2AhdlTX;;)G+1@d~wlS^({rnHb#i2~KM z?wT*0HgEF^sCN1!3J;gI- z;_2Q?;vQLQee&G8B=mtL^o1q#gC+F$kl?rD33-uXA42f7aeg<4h6la$Zg2gd!NSt$ z*>-xYHSs9}xBYd={GKVSgv-_3@$OIEXjWpJT#4{!0MoyrJVXe87&D_>eVk(_hIi{h zyu2rqD(0KGz_LcSNMTOuWxa}R7-ylT?8%V`u|GiIt_e*r(Wm^CFVVHJ^rbEQ?VD8k zsc-?@T@qHtMO(%bg$)1UNrNE!C2G9yC7r*BQWC+r&wWKiqS96&pV3&2M6vedb$yAI zW|ieDiYybZkFjRyE3NeZOEYaVrS_N8!%zRE!_?D1yo6=2gzX+CD104uz!J{&RA*`n zUx%|E5&}+dT)T$``vlH(_r6`9ccow%|A<#JtG@5;J!8xErOvifArkFdx%kPc;PS<{S%g!;iFnAV z&^XO~BD^!L(_EK6%N3_dAIDR?i%n1)9Gg(#gNSbl0B>GYXf2)JENxo4; zo>72laW!RtqA5E3K#)hvAM%pRAEPKglGQ#EA-1n3>E{75Wy&XbW&p#Ne?RtJodYlF}TBl#q3aWa(%X@)?~4=$-W+QJk}f zlaO1Fj;bX1IqfdLVB{LL{RmfwT*k}0syc*PRdW*V!xHWpOUP;RAuQnmEa8ztLOA~< zr^)lOe-chWP7TLp0ltRZHJ%Q3_ZUy1N92Al30mW+yqOP<-CuzXH>PuH=&q6wx)puu zQ9Ya;j(9k{EcaaIQ3owe_EG6UOF{)Kp(iY%FD#)KETOltgxr|y4@(#TOXvqn7zj%k z3`-cKkPvP!%rk4*r^@R$+gpwEZE@kCi|?$&4OPnz`4=VPhP*_4nU??Eee4?E(r&I% z&+dTJ9oNCLD(o$M4UWK90Eay!bn*s$V<3E~qVgYx z58d7VHKgu)`t#1txao@(bys{Xp64&kWBb$IsZ1#!O4A!pn#(2Wxi_ur3+LupL;HI$ z?XOU@K%?}B3!uJVf|Xv2;ft|xzYHsV308WI0@pF#8x=>>0le#KU`UJQB5T|_x^B(T zm~n&h(fYq^-nICSJdWLZ4nBzSFCk|B%VbCMG0USWwCnHE-~Joe_}!@=GyPR({Z-DB z&it#=zqNL?AC37w(+ktTs{P?yXg={>t$zL#Ucj{)T$k$u=Rp^T9Ym`|=Kmgi4od+>ehz=nTO*pOM_jOFEYz71-Ygd%dL+qIbBobol3qI5hN}N*$_WngbJ$+7#uERxk}&Ix}2T*k=n-6#m`lg zA3;ahw>U-PGIzyCFC=)IO8vos=w-1O#qf$F(X!a9nbg~{S83lw)AaKrB)sW8<#Ayc zUczZu!Wme?Nm#;JSV9YQ7tc%33s^#V1riUyb?6RD=mATpxQV(0$Bv;Aj(bQ5u$8Wj zQJun8ee4_lRu=mOYw7ut^@GCS-iq;2CoP9%v0tYJkgZQp!m9|@jZmvscpEX)WK7tB z4VG&(X(Z}oo`+}nFppN~xOi8n7AhA{N5%-Mhe}4k*mSMqlN1lt!}sSk4_$uN!4URy zx3U<$PqZcmMY;0ooO~7l6KQ@#_H@SIv7l3Ha)$%noA`_PEfVo9Oa$i@elJKw zz{qe}t@8@26~Mbj);WFNRsIE#R|UcQ?&5@<$!)=&|ATTD=iiN?tYs(lNq)xOJn<-I zOJ9i^+ z@eC~M>WRw3+P=DruTt=x{J&^ho^YNFEmQ~y7>ce63_6N6piWVKKm*oucjk}g#$J}U z(g6*46Xac6`4bhqqjBGi29)ob%Les#bwKSAtOKSfIv}9_uJXr%JUW1W9(jLL7=iB@ z>dYdVgCq}sMR*jM7##%V9_yCHzCdA)@h^}e6_0iK5p<88vp&~y81sl*Ga$192x{hqq>Bbm2v2W6a|AjO3KVRYJ zmzh`6x5|^Gb!(CEIE~?e<@}zAqKk#=mnFBFifH>OJ>;a2fdC`%p3}%)P#CH3`rHWj z2rgkN(xcX>d;t3o;wfdxETv?B)>unp6mSF|Lt8_>^1hB zg!e@Pj`r5pLy?3A4?P6Cpw>ZmJl*e`N*DCwocjkoob&IFP>yW)xiP3as?9U{{b8l% z%Rkr}tY3#B2}58BLtzQS^d%IH%d`5LERwL>V`PUP54&IqdtnKCUpj01EH`T-yZHO&<#G zGe^E;9&JC$SAp#x3-W0FC+L^&ihwz;&%3ti4@YTlv)^!fzz_6!*Zdi*Uw;=r@R)Y} zT|C-HWmzb*|-Ix1@*8Z#4(l<>BDB5b?+^;XA? zbhb`jcy)H?2<6)%ib>!R!6`wlgr(_`w=9)X27xXd62%{MuuYBHm8ZLXPVZyqL!_ye zURKY4>CQg*J=JkwZhq#jy67umg<~H&S?t^M8K)YhQ^oY2%W*za4EvI460FY2u!O-L z9TL73Lp&rzGdMr;92l+Rh;-~2P-+BgS=4t^EGUtst}48Mork1_l_hM&do9-Kpj zvPnCPflj}-V5OhK@WU8>3d6f&s=JGoei_4WVE7XZzl7lrG5jfpH(~f43_ph9w=w(y zhL>Yg<^)#yX$)`1@Mjo)3&XEq_z?`hkKxxa{5XbR!0<;H{v5-vWB3^iU-us&@1o|{ zA$*~Xf1+}Ut(d$L>rE4RLe_T4@un$TPXG5Wv{@40+YtLD@s$tvmMd6H0vC~Vh%jtS z_h=duK}|kCYIXKZL~8wBB4xcP)EgzGo$b1agv83deegglu||n_hG5j3n0v^7m5&IF zhCE07(5$f^L>P&14m87BIJ-BJelb#N%B@tgBZgukn!$G8h}W7%H7Ob;>6hK0|L8D| zFRzm@54MzBt>&w+vnDTZlziTdfz!$w83VaNh9jke zW3c_M$*L2}=I#Bgxbf^Oc210xQe+E$%Xl57INT_`&q&6-VgEYqQ4~te7%MeDOw5hR zD~^6KYK&~w48;_WSHs?M+5tlmP6PYWMF`LH`(|duwT=&b$)+SS`|30$hGWg87*jvC z$Trf00K>uJoW_O?ifHmUN4~L%ZD*MjvHy#xIfh~)>E_7B?Pt)+cA%bLqYR)w4cBM-j z+13p?^>b<@qUIPXHiBUfH>SuC&=IDQPKv~kJ&8gL4SORo@?sj17{iXXdkHz-jljM| zvZraTyo$lP~8SGVElh2t(BtH^xXz(Ws?U+9<@(8gFR+ zT^(IX=T3(DZR4;Ch9V+Zor}BZ<<-QcSJPuF*|0?7^Bax0&sSZF)oa+%PSbBF;xpLT z8P>$PdKilM{50k>u-Aq2axSQw;SILGMJM+G3Mr zq*{3vzq}noQ8$|}Vov26cCmBz7%4WgyCi2#jQhqG66L-9%Tugt;G3UhxE4}lpEQ*n zMS}9qy7_|a>}R797qxkd>f+>O4HQ`)5vkQkOp$TR7$2NP;Gw%l{!6Thy!aTYHlmI$ zve@SDN}S8j%WP0YdXam{a7IVqHo=2GBApb?W?F=dmu9<3Q3Y2-&^J+>@c@}QWYVH8~90g^~pf8!E`*))^s+8b5)3ys|wdQO( z-&I8$Q!1RIOgtj*%Ajp>HXa>*49HIf`SBpX5acI-{Ctp~4)Wtbejdn=0{JSCp8@j2 zL4FR%k5=$H33TfI7JA~oLdJEh$NCZ07XqB=e{}dey)b@*qI@0g&HVt<-uA8%uG9Kq zE3wwE16yDDBdPj2${Qo&I<2o$)Lw^QtKfC2UxihFIM{is71h^ie!YU%Y5q2O?CRh< zFnqMEe4WzkI!Yr~M|W!!y3^r@D*9fh`qSG>)z`r%y#wK+zX0Kv`KyHH8Q*sPX9?F) z{XoTfsl(q>tT;Nlzi&SB=$qQ^#H(}6~f({l|q_XRI&+pvre&m_6l@kePYv{`l zv{8=JmklorO7Vw(#7DXFsb>T5M;P8Ojq}z?Mi*bwAVd9qc%8jRQ*u zhs_CW*np)sW2J**9;|!=W~jk_2Tdh7VZq9Sng`ns+W9rcgO)!GmNjp?z|A{O;O2Hd ziqg%kjVRsR(ptFjgpERVSB$;NC`t$W9jv^$p^l>M;IIKFEQs$l-h^6X9y3;8$C+DN zQTaz$4s1KPK!dpX=|L3c!u(!Fln!bh9P=RF9I(FoUWyjJ z11T<5S1P^*slzV?`DF@T=Qe-$D^f6m4!-fL5WY)}q0v!Zl_Cm7haY=d^G3X=^T#O4 z*U{eAKa#YkQ~k|g5YJSw`4d2Xq(Xf{rzk1)IuB=e`c$Fmc1rl;(T`G!ffC<>OVJPdP@LwY zpGC?bNIMqoTaGF?V$r6pEyQ81>X*uXt0)Z1{wjNdeo<(GgP-N#cN_529sDK(zS_Yz z8}Kt6{2>E=u7h7>z|V8=H3~i-NO#5~7I02Q;nCPt5{8Sqh@a`; zYYq6>4t}44w}V05pSzG(?K72Q{JCx>t;?jU9z z`*{xJPk{VckUseRQ&+TzjtfE||WhWI5>X z^t3n5p}k(1_IAtl4>FvK9fohEx8ZYp500hxfTQ+3<=W?qcRC*qe5wOqO~uPYFMRJc z$gS6zH*>L}cMvOmwp@B%cNz7_+uuErkHB9`y30rdFTCzJrDK+n}6u;fvqmQ@qEdo9t-(R&dg7mW$Wv zx}7qfSDwePKj9em4dAf9r5g7Beo zG~gdP_zMR7BL{!lfPd`Z*BkIp9Q;xP{;7jMX}~{o@VgB7=MMgeAMdezj$T-pzmJc^ zy_Zi93*0ig;C-A?ly5&+_dH`uFDXxUq_djz_37$EHl0J(O64s__yu$%$S+Xx{yUeu z{R$^lHT_vn#qMAD`Y&9ET@p^YgYg$YelN&Zf&7fSSo=5J!}t|o{cFMcH-P+Zu>Lh* z`3J!Ahl2b_kUtIb$3cD)$lnI}ZD9ZJ1LxlWu>7GQe-W(z98mwm!1|8^%WnYNe;6!( zHOOxR`ORSa?}2jw79|gQ2#H$ z@|!@u5#(oq{7H~M1@?ap$d3W*KLg|sg8V{|UkUQtLH-2Te}_SSIavP%p#9hbmcIq$ z7lZoS50<|a^b1PX6$=Yo?-n9re|IEUbsA`j#q+*HPbG zke>;f?(4rHHD5=2OMY3xby`0ato=o7;h7C8zZ$ImC9L}U!KpJvQGK1>>r=stqj_$L z8DRO-Kz^S>e>#JISgF)}9lSx#3a5jg!v@b@MdNike-^0x*&x3VoVyDYypHkAU|C(dUVu(LGC>r^{oP{U$5YGs()He>Z61Az_NMn#?1bD zMdNjpzfQsHw0=}O$ZYriB?;H5{R&0xb@&YmUZ?fL?!8n2_gH46U2c=(OppGpHyr}UMI(slUF3SLL~ zjac7Z!oH(D6C3xNz{a<9l=@CbciS+NbqG`aVGQq%t+jnhB-QB*+d4(h>F~=GyiV6$ z#>Q>6JZ^PLpDyD%jb9Ene!(wFeWz3VMSlq4FAu=@rePSr zXeh>C2g|=V5G(&K$WI3QuLf-Y6tMj1AioLZuYm2p3XcDM;QZYU@_YMZ$Jz)Rs1@(UooIf+s_Jj4G3$7m%!TQet`DtMN_k;SI1lGR>tp9kh z{Hx&j-2jFKTn5YE4bJ~-{V@AK4%B}Y$R8VtdE1ELn=pJchHt^}9Y2y(r!#V{ zD0)tZzpCJMdVUjj;IkD|-nPG%l&4eq<(Spj1D==+?;_P+r|b49ir3-iC~g&X_(sK@ zx{mfIVk3Vy*!-;uUZ?sK36`e+ZmA z*Rbx}308kE$nQ|_I+N!z*8GEt;&n#fTyXU50?Xg7;C0luOuppNY5smi@jCorkUs?S z7eM|T$RAhmI^DNhz9rMaZ^$3V)#<$xVC{Fw7xOx`uf*^XzYh6aXTioF#b(|au=w#< z3}?lEfRuM$QG1<{cTBuI!ezny;+v~xG7$wb)QQGWv)4ZO&g?l!) zZzH|968dw0+s@A0?@@zH?9Bw%AeG+l$%lJ)HuGw({_b~YI^%EM-%0~O2cP_ogzNPG z5=GK&o#I!@wbv>BIC#E&1mur`{2`D(qS)`~=hRktG5#D_{wA>eTVVMWgR%DS0PEimEPpfD{w9#W0`hl3{yxapgZ;M!0tVOuc9;ryXe)80seoQ~4K|tzcwyIIyQzTtwt%Ik0{YucSY#^T zfn9?-Qvnrr4HlaU=xz&GXDZ;S-Gt?)0{YlBSYs++h%KPTRKPR42}?``Jhla_H5G8r z7O=upz+hVkyG;d@+X5Dv3g}@A*kmf;iLHY@rUF`Q0rjQ=hT2WoX)55kU4yNr0tVSN zSZykxpDkdOseoa&fCdi%h0m(Tin3}__R5k>JiWMYA%cH;bv(PCGhL=KZM#si%hESu zdWkKM)?-&h$3T9P;(}A>ifIMNF97+;AU_-At3iG-$j<}$nIK;a@>4;63dk=7`DY{K z`KxooycP=(SfU6i)hT{d8|i{u3zwfF=wz$;0aW;OIkZEk?oBDFbREN2tNV155+7$0 zoR&GpK|kr51)6u$Mf@TK|6$xOE-0G|E4uSTWmHh-xQOcEYUSdR1d`08xZ2`J`%Lo9 zL@6zV^rJmxwTxxjyp!NyrIL3Nnk(P426^V_bii|ve*y9>AYTqXzUvP1Jrw*0@lsAG z?i>OlG%c2%@`tYc-84qp(um0UJe}xiJzO=lRi|8G#i-jyEw8|G}^Pt4hVfvivTURmt5O!BSRYvKTGRFnDu zEG&QFI>t`}%RdE{Uk#RD1@aHU`u79N9|7|7LH<72{-I#`L;K{udf+|)4mX$H5G=nx$j<@!Yx?bX*}sus`2#_I0Lb?S`4gc2PJ;YIu>Q}$^3Q?% zV6gs|!1AAf{9TYA4YvOxSpE#K{OkJVyX{`Y{`unx2l+Gl`g7UezF_&i zK)w&ij|cgwApZ!||5K1}2Km9D|8);6e+a1m+hF-GK)wm&Cxh+336?(yEWZ-uCxLu- zkY51u&q4i<0n0xEmOl$De*(x~1?ztqbizXF#38033`^`8#%x4`bm8xwa)3x!2{U?9PJnbHAfa*-OE?Hfm{rBC zIHZu!DN)ibE`R+sm&t%{3^}0z(M><@$oI@CzC-N7_c-)7bYrA*Tiad!hN2E$uX)X0 zblKWpaaX2uS2+OW&w=mQCu2$HPJMxT&;1EQ9pzsxlW-m7od+A=EN3v$sr_|1X_yYa zp(E7zrC@+Z6IT2Ea(-f+#y@&pYP=3ULyqwHE*qVHr8{b_m@p_^ZG%G574MO?Nvx(Y zJPxraP50@CMHq|&vm5t0!=~RoZ+r)Sk=2>LOSAq({ArNi0rGP}ek;h&0{Ph>e;(uy zfqX5@eS zt>8N)+H{Nm8?Ap_wIo$D*_AK*Gx4%mhinU_`=XVv3fM3Me((zCbbnI zdRZ?4AH-kFwzN>lPmlyr1zv&!tFXeV!u!cmxe6))auqxzh$`^bBd`kdttz~$s)9;@ zTm=saz6*J&73;|Zfnz=EPiQ&O{=T}$fJNokgTrUI@*{uYGB__>o68_w zoWWV}ibL2q=df;w(GHY1(QVQf2Bp42>TgRsqTFjCzWMq0i|fq1Dav~zzej$B>&J&v zwV&^Z+qzux?=2vI9OS2X@+JI6O+ECArp{cY{=)OKm3%n;Px7pPIDRt7PX+mDAYTpg z(?Na)$j=1%Ss*_f{u0Pv2Kg%>e--4ff&6ulZvy!nAb%6&Z-IO>$lnI}J0O1-+hla##Ar4hY%$z9q_UYfhF4V|-w z-^}LuDW1IFg{@ovQ-S(Vi=g~!Mfp160!MyF3K!79UwlKtb*_9bD}p6-il6p(Qt>)? z3s(C}VC}21+Sk4gHGU3F92u{GEFpe88VWrALqJ4BL7|I%J*3_m>;5Q~Wf= zMSUl0&2T>vpqIz=Sb_r`;^{5?z*~gqm!xlwwfepg=A!pLdA%HBsMGw77`|G@b+k7} zkpx|*_E+T3Wb5G9G5jiqUz2ei-OW8oUOr=z;*n3FLB!>7o(7wPo{UT6>#%ie zJWGG)QHNFu9ABMa4HX`kJ0@hHCUwTsWW~l!haU#=6G46^$PWSeNeW(PMOq`fQabA2 zH%U$qq{ANq`TZcj7vztC`~i?Z2J#0%ehk3}Scy9ix?oD4)A*Z;#_RCc6ueIB>*aGd9ejzr4c5Vz zzAhEHNl!uJc7 z^8&wMsWJduBprNEW;SZM7^?aF+HL3;ZOUS=^4A()CC#+$(9Sl3?%5-*DzlWwoTrMI zL{@E6+ypzR8-IS4zQRg*r6Uj#XaxE`w#-oNF?Duzl_HX4Nv&ki*)e~ZSB zvictUdI!JJkN0T)Mo05EDVlFjzC?DtZTUoUNQe5%hZY*JnFP?^d9=WpUD6@oq@(|~ zkN}=NIvUvQ(7<+u26Q^`x=#msC~&Pqfjbon%wHyWG=Gt!`2&51uLr)@f$vgiPp9=w za_e>QTQVLr`gb_`ZjYkx^1O%gH#n5PPoexE{)mI$ui*2ef3L^rpWLT#mDETA=msfIr?vae)rcn@FP^d?&PU=bih&KJ>H)L`}l1N|eL@{>?^r(@_U{pDQFgdUK*2f8Aro;;~Z*{Ea;I4iD-=28!eCPBHpTe zRh-lxx~0DB(b*|I>rDGh_cevi5$6~%du=7ik5e3R>eT!P7kH2qSKp`nB7UYEZT?gJZsTGs#^F*& zsr5dW9DK_X=ANXJ6|m|#{nED{SvQ?`=%?z6AyB|gTfjY20XJ*`4^0I$*#ho+2+%Ph zv)W3%po8D~2MO1i!Oy@Lrxzgq9OR#Ze2apQAYvkL3_rRZ7mLv3)#^pa_qtcOy@l)E zA1SVTeT-O98t2ivMzn~p93@}X>x{q|;2Jg^{@TYPz8=cOp1YP#}DJtU;e(=p# zESS-1|D+w@{%zo!X!NA!Ir#!7alq%;#UEXuXd17Jz)E!fDsh z{xW&Prh_k+ah=xJfUU1mbiPjcV?lliSpUTeUPt|XvFADWOQET^Qc-&y?JraCI<3DW zS6>Hz&btoxo<#?LY}tLf>hD5!yX_lvv#8Vf<%-7Z@JkiEPW4yH*-dncuT>PU!>>^A zI@Q1OW2y5#%;lEw2uW{G;gyIryCl{)2ca=W>v?OR@C$Ph2OmRP(mkH*{Pa;BIG(3!d@W7dM`d3K63Wb2M6RUOns2J%ZleksT=2KgEVuhak6^MoE~ zlLRpkMAusq!tUsndPF1XOrEB{mP}U!!`Cz2%KMz=G5wq3s-ou&^@g^y$+PiOQ+UqmDg`FyAou7x`tLj*%BtY1N2>_`tiDZ55L zO@0d)bus7*3gh58w}o{~ue7s3F844_f!l+efK?s>K8U{}M=l84EHZhDb=5i{{61ON zIKMQ@lzvLNMPKopPC?J-{bs)b^$@>^DM-atm56{Hc zIi%cB6!mR8hgBrO%Q^IPFI^HUJtX)#hmJOk@n}O>ev}6vXutas$dM>j$JLQQ*xo9< z_5Vb&{@$~P@=)iKG+0~u0smcN@(H(I4e+v94nO>t8n~QV;)!hZ1G_Eg zR8GfsOua7K4xb|-8YiKWGejUF{P6jqV)%$Joh!C={4_0F&duP#QN@zBJ>0}c`qK`kN{p)($rY~)TezcpS8^0gqp2;>)od=1E}4w<}-v24#O zK9#yJ`~l^SA9v)J=B{HJ@lgRUH0bzqy~z_>=kai?Tfp`(Czk zT5cIG7$bf!tE2zk3jHfi+6u}1>5ONw_1yN&#H?KT?ttpR1t~9JGAf`N6);aNAZ!<` ze3(1va(6*keph}c?B-RcorONg?mX3)`=G*Ak2lW&5}IHM<4>b?*cmK=^S247+PyT3 z7vs4vWR%6|1^L(Gd~{1MLf(zjY3$eIDcaY^Gi~YL^yb4;*}w9cPSSPJXzaRZJ-DYH zB+upuJgW#qgx#7f^4OY$-=5Wy1Z;b@#6v>ZHZ1mNgU>jUF245tZ_=`;;}vaI?2vVe z?=O!dZ(QCYT`}1ri8DrV=XzDfBk*nQFT}VFiMYB6<>Tw9e~VK6_O-1?4vIym3g1W> z?DLfYk6Yhmj$7Y(id)~H?1wdu;)nPY?@{{|4tzcpubV+*se@mj;Jrtm>{9lZPseod zffznmh5L8?T1Vr@@Yf~X*++CL-%r2vI!Ec1Sm^^)rF;3}a>oslarnYAtRq&JH`;DT zOh@@W{)c3=b@1m}u7|W_Jd<&I;f_CHrY%Z1`i z5}ldZhYI3kL?uEzF0;OLMjteLjgCm@M+Zv;B}-=!;!eaiJx&phZ{5>14wsfnAFIf@ z(mK0|^oyI~Op>=Ho7BEMaxnC=Se?~o$|jvHs66dvfP6K`PY3y_AU{pPd-xkcm-D>q z2*~^HFT#DN?U8ueUxe!GG>X$r*A|LrJbhh|AJuO{F=Bi=3_2<7|g-=`E5)z&R5*`W( zJty!I?M&WC5pN;iWpojaS72Oqe2>X(@t}9jH0Z@er zm$?xS0SQOXkn5FxrjVdBp?b|I<2vSG)oLD!=C?YlLB3&!T)s~8Cx0EP{x(JN zI_ld2^1DEOr-Bc>6u4?fm!0jaHmJS^nQqr}X(D=#R_`Nx*1=5BI%wn$#6Q7@d2M>8;OYLM3~niMw>?4ucd6hhP8lok;*m1@3K3{HFn-q>&&Qr3jZYR zfShwkJ)m_A%It4T21U6vbFd`G2#YIG-s9WP5t8B^0{ueVk&p(hd%|!rQ#-z-%#7*3 zuP;ovD(v;JWt`l-^ zNpj24lVj}Hj!^iNVI@2l5=JT{=xCsRj;sM4ewi{*A^hR)snPN&m5v2GBIl*{xtGj8 z!J?Bz?g??Okw2Z`14sIfuj!H+!6OW}ZxD7Q^gqsHX^dhdgq1K%NT^guu&udd(BhUG z&L6>yTV6nV%yIrJPTx`5g@f-oVJ3V~AGQTmq6JmT7K9&-<7JcVGn(i)>8BONm{q=z za>fnOcd1LQKH(cv@s;YfiB6feAHPa(SACZ#&5; z2@elK;Fh*P$yep4FX5|w1%WRka35J=A6lm~9#`6#c>2U6av#Xpm84f&fhmOp(GKkb z>Bc-=XFwmx)9VfBqj`Fx0evh_Z!n+_<>`6@`e2@3XFwm%(`yXq!+CnGO#7K=)uUzc zb~%49K$hj_K){Ep_uC=}L`1RVK1D*SY;zq?E9d)No-tyDQOvhu`nHl*oac%STW+u9 zx|gLd3lvJv&sKKga(B6wuSw2~}^mP>-s>di4I6Y~tqTQkCDG)soq9;T2REQq6&QxoBNWHUBMJp~V^I=+*0chB38F7U^c9G{3endf`Z`26LG%rXz6sH{Ai5c%Z$tDQh`tNa z_aOQ{L_dJ&hY?(032I(?4^qcwZnML)*qv%CS(@OxZk--pV60?{YN z%UZLKUIO-1?4h^3Cii#H0Z835KD%RYamz%x?C|@V$u||AYUo|j6o{S*(bFKh8ltB| z^bCle3DL74dNxGQf#|sqJrAPiL-YcOUZ|q|%>&&GwYROq)K!Re*sUr%v~}16(R(3! zA4Knm=mQXa5TY9)`Vd4PhUg;@eH5aPLG*EmKB1tM87W1+uuSZ&7(MMyWxH8Nng2*Z z2z-6nCe!v)y1AtEd)|JB@H6d`VD>xa|B>W(c*D+vV1{S>js*MHnqqgdDXY@|OqFhN z*E*Q(V6mUdZ1~gb{sY+^bDsfs5-+jop|!Y8=ZDtfrL1>(y#HCGDB4TYHNkE6LKg(1K6U1ZMaQt*G98)93l+mM zeAyFs@s7`QO7yeS%7ng~aJ9QpujWNPy-?B9;oDsU(JL3prXYOT=MNz|pRLfE*Dzfa zJWPG(WqXl)gw_I@Sxb~>BH?0@66uO^OJmNj58Ep>|3a)SUCFR>3ThF8q`o;vyrkQDN)Fgy%hRVihtlbzr6w(@|bBxB?eI4p=tmewm z;^)x1qEMFJlFwWH_dfo+y^p!%pIEyWaeLsgd$HmJ#A}IIwnuq+`M;10AcBPl#yhn8 z9xNpjun%g_?oaMes%3@dVoG5=g#d?*%Mkj-5`-SL6rra=HD6MTlzkJTheJJfbU9M< zEs)mELG4})(L12gav#!KEu^)FP|fc^bF4R{^IlN9*Ft6YhI(ucMAt#|c8ER*^>-sg zAA;z^5Pbxqk3#e@h&~R{Cm{MHM4y7_(-3_IqR&F~Ifyz^k|441JRWbT?Nr&A$lA{kB8_95Iqs1CqeXNh@Jw`Qz3d9L{~%fbcmh-(K8`> z7DUg6=s6HQ7oz7u^n8e30MQE}x(1>bL3AxdFNNr35WO6tS3vYih+YNJt08&~MAt#| zI*48m(e)6$0iriT^d^Yj4AEO4dMiXXK=d|<-VV__AbKZ6?}F&v5WNSY_d@hOh~5v; z2O#<&L^ne8A&5Q<(MKTqC`2EF=;IK50-{es^eKow4bf*H`Yc4Bhv*9seG#HBLG)#a zz5>x#A^I9bUx(->h`s^Qw;;M1qHja=9f-aQ(f1(wK14r&=!X#f2%;ZD^b?4F3enFX z`Z+|ufan&8E{CE#yF+vji0%o|y&$>*qI*MhABgS?(fuI0KSU3J=z$PD2%-l=^bm+1 z3em$LdN@RnfasABJsP6NKy)QUS3&exh#m*g;~{ziL{Eh1Nf135qNhOgREVAi(bW(= z9inGI^h}7J1<|u1dJaU-h3I(@Js+YMK=eY0u7T)95WN_pmq2taL@$NtWe~j_qE|rl zN{C(s(W@bP4MeYn=sJjA2hr;xx*no8K=ek4-UQK`A$ki$Z-wXvh~5U#+aY=k!=p(KjIaCPd$Y=w^t%4bgWX`YuG@gXsGZ z{Q#mLLG)vYege@?A^I6aKZocS5ZwaN>dXO&d&fdLDI|ZyG=iPB#+LbYHux`y=^bm+13em$LdN@RnfasABJqn^nL-ZJk zu7v0+h#m{k;~;uGL{EU|i4Z*rq9;T26o{S%(bW(=9inGI^h}7J1<|u1dJaU-h3I(@ zJs+YMK=eY0u7T)95WN_pmq7GVh+YQK%OQFNM6ZPCRS>-zqSrw5T8OTL=yedi9-`|Z zdILmng6Pcq8lOl5JVq_ z=pzt)6rzto^l^wj0nsNR`V>T;hUha8eHNn6LG*cuz5vk|A^H+TUxw%_5PcP*uR-*6 zh;D-D8xVaHqHjTTGeqBp=sOU77ozV$^nHka0MQR2`VmAwhUg~{{S=~~LG*KoegV-f z5M2&^fuuV`_kif05Zw!+D)Q5Ir8ECqVQ>h@J$|lOcKvL{Ek2X%Jlv(bFM%21L(< z=vfdw8=~hz^gM{3577%CdLcyDK=dMrUJTJoAi5T!mqPS1h+YoSDs3 zL-ZAhz6#OTAo@B)H$n6bh`tHYw;;M1qHja=9f-aQ(f1(w0YpE9=tmI!7^0s*^izm_ z2GP$U`UOO{Ky>+vWH#NgO(vCT)1_nEOxrhN9ol^uZ`18-v5pD)MKY7fB)fJ@Wm0d% z=x^fhBwX(WyF+vji0%o|y&$>*qI*MhABgS?(fuI0KSU3J=z$PD2%-l=^bm+13em$L zdIUs|gy>NaJsP6NKy)QUS3&exh#m*g;}!IG{8l2@oBM$uOUqbzc;W8@a18>_{5_!L zMRLg>#7lYU=KKSROgxk5N-KCW6XRt&_Ev0OqGKxCtz!wT!&A4NScHsG9_Keb7;e!L5Fr9`E?aJ z4e7(X;snJqCF$lyIX^-melU;UGQn?8%awl91i!a7htFSaQ2FM3=|=b+48Mz2zR_3n zAI3{~)UX$sqM?@RN}XInL!yM8#Zvl_5Q8t1NH3USX|BZKYWmL6_Su9OF>x9*i$}|T zsxR!a4%cPa*U5FkE62-p_@W=QCC#|~>rRQ1Ztm}?_WtJf5*c(w{zO&=51`?W!r4) z+^sd5qhe(s&Dje?dTw{7#We0hmEmbj+rdt%?q-DSzBNQ?IkAQf{b_1fg0>eH zwtPj)sTis3m?hGO#wW>pOVi>}l4;w8y*HYvWZY~6qkyf08v$Qwqh!Csi_*V(9Q(Y- z$3CmA#VY;qFQoqJlt^_;*ejY?raV?OYsE`iE1qTV$X3vb7T&N{_mWrRAo}gNT~>P0 zr36*p)TmE4DBH3k?Dig4_z^)hFVM#zdgCLc-AAFaHz~^&UL#kk=!ns=B=BmO-aniF zsMsd@98iiyyp#ym`I^=GqlH%ii{1#))e!wyNr&~dH?6YT?ew*6v!=EVE>C?*mF2vc z(Hm7|hqf-qZpkLqc7EKWg_rJ}tD0@#2~MsPtzFr@_O@0S#t<9RN4Il(yMx25cDoP5 z!;aK(%8?qDE;N$+gXwhfNbPbx|e-|_)1s#Pqk z(s#_4>G1u1po`RH;o;fHU>U;0RLikz@0(wfiVhDq%WyzfI~I|t3MbLp zi_vM4xBw`N(aw#xU5;%T9d~4se8L##A9O}yZOc+(TV{B=7`F>JdQ*i#3ckD zH&KzP^wB0N);5YmCs=wewTU9{64hc9~kD|$s!Clt1F!`8^7 z&9~w%dN@RnfasABJqn^nL-ZJku7v0+h#m{k;~;uGL{EU|i4Z*rq9;T26o{S*(bFKh z8ltB|^bCle3DL74dNxGQf#|sqJx@W0Uj)nl7FY!5D~b-k2rhu=g%Di>(TgB@F+?wc z=vs(g3en3TdO1X|fasMFy$YgNL-ZPmUJKE65WNnf*F$tYL~nrTjS#&_K_ejx-{N zy2n=Jg1Gb*L2g#$0v4g<-QiZ;LwfpmsSu=vi@Ud7?)Qd2ajv&%C-w;#Qd0Y7M;P8P$edoyI z#!F?FLa7X;eeMHX_f}`d%l84^^UY~sFH<{I1~$Cb_K2Gd_iTd~bXb6Q>#a4taEo+D zajoFhZ}*^H4@bjhB7E1Kna9J%-F4n~j*ej?yor6k48ZjqaqTWSe7!FmmFpdzJ`1&a zC(`OmNUP5)TOHO!jJzygwd%Q^?JU=mJkYmeU&y(hzQsGPQ(oMZi}#(QF0Z|OqI?v*TUwVt4>D)CMB(AOs#P!+ti6pPJ)F5095&U%TQext|!M8aB;E z_f^u0ts&phTH`F1u0PCMbrDl_=%p-1v@j1UAk9W(`{`dBRZeK}s%C^s@(zp7gUQfLm z%cipJ((qkri6CqA4GO=v3EEa3`aXdi}pt9+%ugBkrB|2qd zwEn-IASo-(K8vMS_GK|~{;%!X1*ZQc0>M}k3D2gwq{j}XKY8CXG==_NVClI(RJv0i zs6y?;pw057d?M54Q!7xMH=wkgEsK#Y;osBI%17}eKi;z5jF7gwvhB5I4Ut??+Np5) z7C=8lwP~2p?^^Lz)meU4>#z|EP3x3tH5aX>QY?@^Kg)#eq`8l#coC=N(sB*0(=}#dEg$+dOBmzT)5rB!`61tL7aCsF2fx-Smyn< z7-&=aalYqpxRy&KHg4S=pT1G;Ji z>O2}KcO%f={y?2K0pocHFs|T+ds9F*yy;)oMUjbAWR10=n9?$z0DDfc7rhZeDH;Q0{ra zwvPntq5+C2^!S0?~=3!vu-z&siR z^wC+My|aMz_bkxfro-lQVZw0hu*75@4Fhb>I$%6+1^V|8V6PSdKEo!U&U1ird+av1 zIp=_Ne-kkGuK?rf*-rEJ_5*@g{x5fxiF3|5i%ha)@P0>FWtEJ9PM`8TQO=CJ%=PFF&*5?^uY3UBw0_`{+Ug zKUVr8*&}`tS(3i_=VS{+GKKudOYIkVF0JRkN5z51iS+YTWIocD8s$Y#W4cgH9kY$B z0KJFus(0O;ZCr2bna>B5b)66y@5@RS!ppYrpo-#7K7LwFp~mk3Av1`a{Bo3Iv3{uA#h^yu*}oxg(t z#xK@K*Jdg9sCvC7J-P`ozxt`?7rg%H)!gB~ezx!V!*!Wn zV=dc=kx2N{!t)ud-f|5SAKk!QLM%fA&_?l>z7 zCA&+}u8A^kSaykD2J`DypR`7ni!=1|+3cUzQY37F=qKEcxBp^74QEG?UDB`{eb+uZl53|CRPl|CHf>jkW7cWTF%QKk>Jl zVpJv_R`S^g9lO4nNPqE_*sD}f^3`~jGE27OWJdHmO4-A|ZU4nrW9`11h|@B^6!t?PTL#It!nkB&UMPtAQrz7TKAUy%KP+X%S_r#DpX~;Dja>ot1 zV}{&rL$2Wyv;JFV$Za&NXZJr+)YIoIpXPOX^l#V)&c)+8fE#JZRT^@m47o9C?t^%W z6G_RZK8|x9$9V(UD?7h8otg$3i<^(s#v%|rOo_m(3>3=VDBccQUlC=aR+7FjDD@T5 z`_At}y{lfl1G&J8F20h>s_d?4Ah^U7tThFfnu5zr!R4l)NMT2v=)6(mMJ72+r~-(QcypP=Rl9 zXa9*=_cxhZIAd_1X^F!J`wsD9n@Y~8m4_m|dXPFDbf8k7lqr=Oa>>b^6BL#l+Jyy< zxowj_A1jB~q@sIJ-UoP2s#Z?Df(Lf|PLGZc1h<=lJ50e{9$=aHfCYJDDm%r22C?*2 zn*D8PopQ$J@b^9fTlvtV%s{Zo6ufT=J}?CznS%GX_?kvlcZiegboVK0YZIu|hcnbG z9AXdRui%-ss>xWv;;zO4Gbta82d)X=IYmw$ltkC%>H$D;eQUV+B# z{8hD86zdy*YRKE5j+{iPuT9ps8>VjY$YynA16#Rpt>L0kV+sy8t?G4CNQ)g3A12JeTv`ecWVUvv}9_+0i(8kE_<_&-wECUIWpY#~590g7y&T z8WZ%nsPI}7bdo6bkO}%!lzP|%op*rMbjbvrAS!&%1RW;O`zGl10d%XB?on?rBnF65 zdzzpl1lr34eIYuh!UUZnO5JLL&K78;3ED@XRVHYqK&P9aLj^j+1f3<&nI>qpK@f!3R#O`^gZOwcM(>M0X+lt6cxper2WcAi6ZXcy>9 zToCAOku^XQoi5t?*rdYc0<9LgMl?&kCMw))QsJutUA50(eH|z&yx63|Jq6lg;t=!~ z=*o=-6&@$h<0j}Jf!r?%?*zfKf?gIQVu1-d zO_aLR1RXBW(CCp}rDanMB133Rl`rl5)T5*5B|GI7QW zbgRisA0p6l6RUPnjHVR_{AQ9L z?@@RzZ)tO{WfeK;3oMD?s7kufXAyP?37IZcb}pU+5JVQcMqxay7-QeH3w9;fy62rLW)S6?tZ!1Dq{=lomIF{Nrae#0Kh zJcfBTyvI*qQQCfd9M2X8MrXT&cnr{Y$4hw{33ZA%cH-Wq+_q2#EZ>` zs_r@Sk*hmdkq+%p{yoo#*W4=;3P4>wnXRS!foY(%9NkTM&i6jw*77iMM^5l}Cp%=~ z>#37U7F%KDG%jfP*hY^-$-T%A;;&`m^+6=7*t^W-R+*$zxl9#VDAS8n#mWv2#mPyU-3*Zhu>(>1AyoTkO1 z87g#BX^wTvbq?QFmZr9NlAU`vLdW^K_v#^*%vL?O>bZ4XS+B2tR_21!J_mZP3p_4@ z?M2AF#=jB6qt*8;HN3LkXA0gh1<#s-D@?&trr?9;hFZN~TH+j2aEU3n#T0BZ1+STc z_e{HEt7(a+O~E^+Rh@5I;&oGSnJKu-6g*%GE;j|&n}Rz{!4sz7DpT;dDcEE>Rxg=? zH%-Bwm4*iSps8|Jn}YXE+jzvZ#ClV3n<-dh3Z6FwXPAQLOu<>E;9*nnkSVyv6r5)Y zJ~AETGfhjZH3cu3f{mu&W>fICsaB_(mblIo++hk{H3hGkD(8wRc+|A2mrYB&XbR3X zt?CWa5*L`3xZf09WC|`e1shDklcwMXQ}DWJKh~L+xYrcCYg*NXrX{X51&^767fr!4 zrr<48tT773{(UR#V9_A z9|pc>Wy-Fkz!-WM_#UOkO?@NLo&r7!4+Etu!Ez3xq3{FU#8;-=BkNNL+T~Rm*0Zl6 zx1z*MFJ}zXvzT(G`V1;B&@_&CY#24U$27@C!)U`2w|ao4*W|67I>k<_UVgUq5;*4v zd2CNYE^7HeLQ2uVA;%(epF@u0($|tGJWhNj$;yCD>ys6}PD^6CvrW_Qi-LX&A0;aU z4O3R!uP50i)0+eP-GKe(K=1*<)`b@f)3p$SkGTgqc&=1cidnK8dvq_0Q5~N zW@WJ&SD{Y264EXdJG+!8n?DB>DmXbxRyf&#j|NZt1wAg?yI+1a6|%-kE2zsl!>I$O z_5`vCs`=vk;7XW2zXw<5-4j^hQB&0!RRY1D9!_cCyW-^oIhVylMXv^;D+Jo2Km)6L zqsg$HeUGTm2?Hy8S|l0iuXytpSlJOCi+>=v+J9y7Udv{hu4R2ahCyIe&zLR{vrX5s zwWi8ha*TG;-V43AR%e)M^^~b{jJ5jj0les;)sQPflY3Ogbm{e7Jxd&p2FKVNBP(p2_PRo8Nr!D>^YtV`|q*& zZL!$e+po>V9^1#wUr6rAq? z8a!3adMt*4%BeI3y%KZ;me^yB+9e7E4_-60AO}pr2LlXCTL>?VWuT6oUNYzf#*4u$2ry2BE@-5Alg@;i%rlq;>c^23A$FG zYfR7yqQYxU&}jlaX@brX=$=OTyf;w8>qT3eO-h|4O1*7@ju&X7Nrfj1bfHP9vjn=* z1RWsI^(N>Pfp$M=&^grt-E30oIDz&xDRrF~62nZ;DpBeIlYSj3&}k;6&J^e-6EzJM zXoCqlRiFz@Dm+l2TTRd*0^M(-;nkvFpP7_8MwGhHq|`nFU21}k7U)0|beKTvP0;BA zU1oyrp2IgZmrT$>qSPfO=vaa7HbG|ybb|>xLZBN>&{bj}?lVDWi&77npmn0u9VX~R zQR-n6w4Xq0ObkqafgUs|b(BEYnxJz9y3M4*!v#9m1ReVSv-h6SbzRw==R+VxmlE9V zQ1(>MJlS$vWshvP%Oy%Iw{1GkbnxowcCTso@~0lV$CkQ3sFugm?eQuh=S*Y*AR-Y7 zfC-U^BtQZn0g%Xn$T{agq`CJ#2qJaP!#(dO38kuLtz{FG^uyl!fA-lY+;h)0&}s>4 zI)zT6E3aekyeYVM0Ko$a zdQ(?DDdR9euxAJNkFQ z@`ly&u0=oOa>jaAzYg=PRr`p&@c`|2<#$4A2a&XGQ0H?uXOMo=V|SSqwUSl zp4^$P+6IlWY>L$P4x`e}NKn&Fj-B6;76Vgny9|@F5|gIrkP+xIK}QVKz3aIB)V~JQ zZ8+>l&|$->7eRXrs{szdXu1Sd9Jaso6A-2@PZ%!eOI$WZCk?cKpnXOP7fDd_ zk{G=6uWcnUT>C*NiC-j{#9L49&J|`t(&P z+o3DtZ`w|V_P5X89(GeWN)^5+e+X$RQ3M4G=y{uLJI7{B6JgNkGTV|wFh#eF9NHo1 zwt=omP*ZJ#p20>5u7Y5Q9nf?Md+E=l9mO=nJZ&tN^)OR#wn-l17wMYMon-oQk2>mG z8=rpu=pEy&eB&&!zA<5YnefD#ZOWecMEj`6=j(!Q^NhZy`I^<~9p~eBhF<*0#urh` zw23a!^i8r;c1*4cb+DlXwg1suQ^QX z^uAGSgSwA9!|@J?(y)6~GVCgWSrYJz^sSey^y?jLZtowWKRr(C5tG6+pXQ7yL%t-R zOwkC#YB51)46Ant8fI9{Bxrzv)(|w%Kwji7*?+lbkeYzP0$eoy-8#WF&xeyR(%XKhoEDI!^s34H_#*rdNlvFKU3@R z&|Z_X|6Z{D30HCle8$^mXR7|iCNReLT%Qk9c~A3;+5HNyHOR@8uUAdiG!1qXHU(F| zY*693$Kxsavj9_P*Qm3J-f~^Pmd>uzC=*UzyV>v9`_$rr9Z*5nCo~D{**tpg{d_^N ztxnI`HkkG8WbKH^=ilDeZa!2Zzb_+Acf1mRSGsX!$~}<3(ZW4dBBkn>_R1UDO^>qO zIny9_{x8Pu|3J!_I@*{iuL9=#YW8orF*RCbM;%kJ+0Mq8sjTb2!sIF6lDDI&r@?kc zEmKd+E=WB!<%a%H%9%PEc~u^vslgk6#|$?1$PJo$+GGbbPgUd7-Cx1>u`%0veh9g! zbte7z(3h}nZNGb&#|v4LH^_fn>>jnz1&bE%yB4WdM~9dtj|a5v-J@p%+Q_LrZ_JnM zUn*^UUXy@u4sJX|Htjy;oAQ2Vx*vDdSj@GMC1gss{-Wh$f^Hd$xekJE8)y$f^Nd($ z2zt#xQLF_9x=XC)8|W-SGYxc(pg9J*L(oD4-6LqWfo>CY!$^q@f@T?3pAmG^u)0pr zT*K-^2?~pZafITFu%-nj%1(hX1&in!EsI*rwgW1x(Q-6Yc0kcIN_);K*qov3LVIzV zI(v<84%idui%lQC!VRYBUATp3Z$$k{dzn3>rcHX^&P3l7d_ck56wI{KJ(VU_*T1}p zl~FTI^%f_9diyFG?ia(HNz-bd1;mVJ~_9#N_dF>7x^U&z;=SX6M>P>7Txv zcyx%zU`-dcbAKvb*qR@HPnr8aZHMPGv>$}S^QLxN=tr=$Gg9ZY z2MnKGOYbOqe7H*GozW)^uuiwzEhoYP-s++)@LWDUzw^va2R$kYFK(;a4*uw`-C5ik zv>A=;angxnpvm&vG!M$*zG{h_Gp&1rb~?5xIBBOnOjn|N#(X-Y@3`L|A5t_SJ=%HaXj-Va``l>sgpuPs0K+p;!)@1S`oV#H)iCDd3SiM55-Zs!w zf>s*nBtgpzG@QihXUODBP%i_`Bxsf4us=cfjU4tPXo+EUktpnK#2QJg78_Q*2C2@y74}XcFnVXFSPN#xjyte zSKV0i|cg8o_Zt#H#RR`qwJO9NARo*MG> zOM)~-2MlzWp#26qK+rw|9g?8G?R4f7?F}g{$@Cj1EZUFyz0=MYEKb^w+RWMNa>3%P z{iv@GTrXH$v>)~R$IobwTlCM<2s3WuKQ$hinaqDpTQ#ri#B`9&)@{f1m$ixPmpxlI zZPy_~;RT7pUqqzeRePKEc=6`0{qMg$w}3Nsd&F>iN$U1jxJOspEpJ=J@_!uf^9xQ# zS+LNR4m+k*=KlNADsu|{N_8^LiD+XIvLVR{Q*_iwr#*s38CDM@sQFG!hu`1Zc4~UG zAB3HnAC}OHcBM)6MObsa{O|mKHobzi9|XP3`Qf@Feq8%O;7zk6&S+}iez5M3HBdhZ zYVLJU{gKxL+7E))=KONQ5x=heAn;#pi{0xxvi(5&L9lJ^`&Y{!jpec-*|vc;@)c~L znFpPi`VY1=Ptkr5MEfEQ_B&2apI9yW+oTrf-_u_!{njsN!GHX^{x|1~R_zCEj^yN4 z;;&7TjGrEKIvxGg*y;4@d)lN+ds9`Sm$u7o9O86KDb}ah#!1c(wII&wFTQ`*94q+0 z3DxuwaITFf3GpDQw@x{+zJQr9j0YDjrb@h`NlZL_{SaDj88% z5S44C5LJk%B1BzB z)D1-4MAR)r-9}U~qDl}|il{O~l_RPGQFjnkiKr?>RU@hfQMHJwL)2YF-9uD8qC8RU zZ9ul}BkBR78WGimsAfbxMARch&HN-8&1Vrc^RvX(5<1e5_>YLKS>)jyQX>g@=qDa& zP+05Dp}49MmG?75`DN6~^T@+_)LtX6k+>F+tr`?pGRmlY{X!Xsk8ZA@_PUC4V*#lV ziH-~{qW0=V9!zp(?tHlwU(s9m=RQL~SDF^HKKJA~m*!pr2y6Wex%_5qMjk; zcM&y#ddeQMwU4L+L>(f^9c6F+Pm>v}2eRdfs9n^*_7L?5^~x4R<)CrdAN9&s8<)^L$`i%qg(z=C-E~mIbH*#nxBlF*Dr%!{ zASwb;sfemUR0*Oo5EX@}>xjCIs4zs`MARKb)gdYbQQ3&fLR2iG>JgQMsLP0oL)2YF z6(Xtm|mA1&?lXb9QTfU$b>q`_$ms54DTvUQxWvt@B?v=ArH8IQKs!R2Q-}{g=en zrh}t{Ev}@0M{KozOsFxmf4GI>Iz*>FvOgekZHpc%+`}|bs^_-D2ikT-V+sc=15hH~ z`kw?36#^S%f!!93DFil-a;gpG?-R6>{R}nOu1G0JpIhK0w3vd3fharLksNzsUKSHsMl_4el@)0)2oD5*rdUHf46^iPE4}>nN zkR&4#V+vTHq|hl~)6Ciy!zLMaZvqXwh5ugAU!m1%(CLCbaZPcgzV5oSRr^f)N7|Q3 zjIa9XU&PVBN2L7=;{zr7$8lV&XY@<7&nVrOJ@;>fz|K3ne&YNC?RxIdn>+8K-Rk|{ zZ5GbEoU^)o+vS{oHFuU~Tf67`WbW_natf&x#WHeUk|XaspZUb;A0*M~DxMQmwEU_q z#y3^&EU%15_3oL(O@-_#7i)q7)qtoPk+O5={l($HTH7aboUCWu?)&TI?yS}IxrM(% zd&jZ%o{dI-`H^<^RfR(LEjYCAEdbo2N#{(8Zz~Y>hQ_M;Wvb~wjbHC zk6ZtkP}%7Iqc%r2r;a^*h^Qt+wIZqoQO$^|N7NHU-AB}8L_I>(14K0~vtw)GzM$}VrR8gqdEyz~6Bbyz^8nz-^jfi@P zsN1Ml7P*q#aQ_=Z9sadIDa;+x?av+b*@27I+3NCA}@{++ZmTOJrCK!#X6# z5fmiZkzfk_We%-RS0%<2d`xAE1T!pFf+;9+Up!f(5Ly~Db{84*W5%kGu|d|>UJ@S_ zbo6J~0CTdNVT%kKV%R>zHYAur`aeA{6l4Wz;9G=>M~kv{aUWSBvEU){jfbc}-YXCf zHYqrnbyLI?)W7~81oah+J&_nwz^2%Vbx+9|a)rNukkt^29!)fW=E9Q@|RTj;jn?X4pK#JkwCEOV1NG zL={@Q2<1qKNGY`1qGVQ~;G!2Yw!zeomL#Ntk5`e8Jxq}Hk4ZI7lhj9rM$2R4Q-%an z(D5eHv68)G7Q|*1O)Rsj88*sB!}KMwiYVys{e6;JQ7pBR85Y30XwSPOv|cu@4Y5}9 zXBpWcv8K@2rKq!wON=Shk!eY-Q^0B^y+$FlW;9`KlN2olAFna&E)z0@^_mf8txS@U z3i|t^I*jRRtFVk+C5*?q(oky^_cj1lg3dnF7|zUgQsxD57Ak zl+{!ZvCJv7buNDI^ z5L!A4Et5_9ms#acVN2dil3Blk{_zZ3krZPE{kz4DA_b~LERPD2#Y*~&0@f#KH3c67 zQSFIg>eI`yBv+v+D3Zz&GEfqmf{+bpd+9J0%~zKsX{?|~x*MH_5h$FMIfRTQa3n2yIZ(Y6@7Kq|+#19xS#?thI9`t*y{( znJ6RcB|<6~^F#GGg2`XcR?G8}p+=#x;bnz2tg{t=gLJkzW-J+{NUEgO6jEf?DnzD0 zd5MXoK-G(*ngSJq3SFc`4u!O8XB{n4Y%+z&8bv)6T&!a*hKe#Oxaco7w1SIaO#EQB zdU`17W(rOQO6tCXB8O-mKFfS8X5;P#o8yK^6j2bedtaP(DhPQC^_gOkQgHDyOUN*m zkoVbcf4gKxp%7aJTbRf6p;o((YSy4+kXJ~N9@N)DS*vxj`OBKbnnGw1s}&*>3_<6OhP&aN$R6QQ}?3&xyS_Z zVQrlv2~DBZk|dadB2B0~R!fF?1!HsK++88E97(}az}DEDB7j*-m&_>?oD5|nuSbRW zfJVXE3`^ulNg^w>_9d}rD^PhNr4U&hbMYa{{su{-DMaQjE=?4ue56MK>!6)teN=GK zM+{7%$+9IKO~F_y(&GxNjzMB%3NGG8E=DsK3z4x-_9QM88OxT;<`fbnlnLUEe5{gm z7zH0AB&9$BYms0IiRFnx>yWgyf{z}OlB$3`W{o{3nLR343zp=F0_M(k-V0fhtV&{2 zXzdi#+6hb%e+j1GV=(fuUn0l{PG>%me{I9|=@RX-{CAu!w)>afbJnh5ddJySy9`|I z>m?=M5jKq#vSdy2sAc;-^i)UDn1XF0Zdhw-u1*#fRjfkp6RH6962ZgxY|4PUY z1?v7U6RID*U4DRGW?cP4!9#^ioX-@EDPVUc8*~cTW(-=(ROcfnr|S`x$gEvvn7gD; zD<~Pjuxi!-6%4CnSPjEU8Fq(Z7Iupx#GGi-!mqYN8k*f_%`7&ghUDTYlmY=&X8 z44Y%vJi`_kw#cw0hAlH}g<-14=5PG$=6}i~_Avu#5C~0Vg z$ZktAUqMDDevT-ML>LjwJ9u%`t!N*W$OfuC`XlgbDO2k*N z)h^1RK&}6&uyRzO)@LF&7`DT(Qihc=tdU`N7*@`(28JCn>^j5R7`Do=n+zLe*dW7N88*zY6^2bP zY=mLe3@c&SeTHo?>Rz*5S9eaopzfUPx;h1e9_&HlF1xSpio}}2 zKHlS3h23Z_%8wSQ(1cGUZJ{9Qjc=)odUOY(_J`H=J!d`dv_FpW&bS!SuBfJ@LVy{m z;-g&!tiKCk>E-BP4#ckAMNTG5I+B7U-VE!PWSD}ri7GKRg~Z%DFC?Y{mGzs1nnJfw zd;b@~mVz9^OpXI2M>2A8PU50MWV;efp~((WWTEd1;w#v?iqc~Pd3f*<@o)uE0b)BV zsF5O43eCL3n)wQn{+TF;f{Uxn#Y-rs7RBPB;NmmpVgho}A5r@#?dL@~6jE^a)>+wDcC}&p+vE`LU$j4qpdxxs9T$h&Rp>Tbqc=IY(?Qp{|mGO5!rIm5OYoA!-GA zxQeJXM5Uv+){(7EL}efkw~(!EMC~9d6UFrm+1f>vI~puK5ao#|FGOV{<-L(DA4K^g z$`4Tih{{141|nOz$W{=t6^y75MCGBl!jP?SL`5Jf5>Ziz%10VTBU>?uibd2l6jvOw z6_2O_#$F5X1aB#nr4rbB{1BEyy#w#={I$M#5tW9h1+l#p_JDR`#AC(^*oNeusH5Z1`c{;))yeAok#?Ti#deU|_(MBX{oKd2 zwKJo(6Qr(hzWT!;k7kSd2~XoN>qq*T?zb)0GgfE)K&!>-#R`-o~q)Lle9L{uB18W2^Bs0SkTzSG&ye@ySl+O@ylZ(w z%P}p(E?Ar{TC~KnSkGRtXi4=W1S+hthW}S`ddBmNW0b9jdi--jm3@a$p2(J$gVbwA z<>~xo$2_!AVGe3&qw)}S8BzI&x+YS%%P5R(mu`y3{@-^#^NG_B#Mgwh_k&)uI_X14 zzBWWytgoDRIrnMb*4`k}`nD-}O%5tJy3G#buS+od)fqR&cR91RtGjFgC} zfQ7Kv6G9ml#;|aPMKMVtn6*fTU1C@?i!EAWO<|~+_$yK-ClNJ;sA)vaAZiv-bBLNp z)B>Uw5w(P%tFI8*l9@%bHvi$AHdqEeV)BuVa?Ja1dUy_j(N4u3azQ;yEsb0d51W11dfcI-r6eoswyx0_G_h zx)rbqW^GS`Dd<@H4M7nFY8<^il8&g#SBQrjuM(;bsS%IfiU~SHJj_P#2sI%M(|nwBy%h$ zTUl&(nUkpuyT`B)hQ+dW+hNuMS$|7pPL44rI~X>~up2D4I%e%E!xmY`*pWtg+-OW7b-jwO)o@V@@V9Y>i=0*|509 zB=KauyNspseI`i|b8?Sa^Jmt!S-U-9?RJedzzrtJ7>likS@UJs6NU{iY?5KqOvwN? z2Has;lEGq2VOSKyx>?7`W0G8Dm!zX1 znlH1q%aj~tSQU%yHfy(KRup`glKm{U#|#^1u{~tgCYZHCX6=As-3)uiuy%%xu#V%y zdO#O*GKXRA%*jJ$t&d@a%t?1eTIcGB|TYrjb}~{v&!YotX*P~)G}*x z3|nVdAj9r3tc|r>4YTIK+U*jv7Q?LFWSBeaZ$S*3WbO8tVg9TELYa~)%*jpW#ND`E{W$t2lh*anMjhADZQS&L&>Gs7;kc8g)wGMTkZW-X0b3t*c%)y&B# z=p@4iSjTzBdVn8Oa-1nS#bQfi))tvHKW1%$S@U5HFvXl)U{1y|Yl{qvU>(PYS@U4n zG{Z_5=FYO@DYNFwtOYS^L#%QIGACD=wRzTYZZb)(vmUU^tUY6~EitTzHNX~&ErDUT zU<0t&mKf&8R*UV-+7@f>17@w1wOb#v=EZ7B3Cofoh7Gd@=wgzDOPo}=G-LVigewOW zsGvV4RR4b_)TD#gKiaNITtn0zqFNEvht%jnwpJ0fiKy0}Bdy$vY~A>IVrvBD{5+zH zkcX4V)^%iS0oiIt?KOd@5k$=)Y70>-h?+yn&md|7QHLn5^xq=AvJ=&f$B1e})H9^U z6jI&;X*i8M97R+=qQ()mh^RHBd?&K?1X1&dT1V6vQezcSzJEw6z%q)f1NCJe(Ybt78~hcsj>);}xW|0~pD6T1VRk}Y?qZwuILqt7!k0^ipF9=nD zD1X$yw*Q29cnR6sMQd|EWGevmpdZ9uk~QCuacZd^w5jbPNjyb-mJYE&G``Eb;~@=(s-`jBLAIEpLtKM`An zD5FAAE3bc-cvys#zmDRn|DTD6erRsf{T8v+gsRQ>uMu0JsHZ$bRkRk3MBV2}T!*OI zgrm4NP|n{(*}IA2@ zMz(JKD^fRtkcM+;ZSIM(Hy2U2ks1jo=bxdvaRYhijdH^sX*h;P*b3CY%8~Lhi1J0F zLpIXT2lcOFlp6_XO_YP;Dnoe~joPaKc^HOlZK1v#hISn{kga+&rtG6V*aPI@1LR>8 zYA;XJzZ#K;<*2gxqiPd{GO88D6^?BAq6#qZ2V|DAhE^PLD6UwPhq1`kFxsCFL>?BS z>^($vV-w9BrqMq3JerH%Kx)LGRt`l}1fq&iT-VSDd;6b~zI+RLcnPWDg+_-hL=_?p zgHRRqKpqAn>Jb`K%218EiRQiW$W|H3!vNG??nwC%WUC4F${w`q7>tznMQTK%3J`{D z?Vx#YH1cp)v~}WVmd{!BPr@flzCeHCtCBX%18vX;{1qwm!6J3u>Fg)JXnD(7`*ki> zXRFIcZ@FsUm$tm;eD2fF-8;SGYUUR@=yTP1HW|+4G`z@ze^m3>7CuggZ z)%hc>>bdCU?zM{#EL!QaSY1EVirqI~sC5WZNXI~N<*m@t!R&5>nn={r!#OC67Z^6h zupWjjF>G9dDYSOlKM_inLTlHtX1m9*ynJz_Q3x$YR#%OAh1k)wS&u%UaMik=v7+7oN}7TW?#AS6nAy*%C~_ zN8eY4POU(BpuLcTzb3YBxf04t^iZLpMjB^^w<`=S}n)4;qjf6~<=NjuskW}Y5pgPwgxQXKVZtr!0= z$oFiItMv)!i_dTL@?z_kvZ=S3t6!*8jr@er9OjMaw(*yQ+H{0Eu2Uty?SQRgY8z3T zjvN_0wl(I+k=$dd6nS_HQ5lXrKsfer{uhbz8_2`^zd~$nAzRg`m3NRWUq@c)KURJf zsj>MliH5gPTsw{&p+1hQ4B5K#%OtK%WNQxP{1#GvL!5!xuf4|_?xXBY_$i`c4YIX@ zvUeS+ao3Tf;l~=Tqudxrbv_-{-ddDVbx4gglpDpOh6-zSuRCb}EuCTB4D*p-_Iu{h zgD)qyAvBj-cVt#{Y-^}cKY1iNDj@Zi-T)E%~8@c6MKuzR&AO-6u;Ot6|iy%c4Ge8tW8-3V+vH17?}b! ziEKrPw(L$K^l5|k80}~hA$g?3$rIzVO#nB<=aeTloQ=BA9ucqFHFnYj@NT63Z>0wy zPnrP6NKUjU2$C)qM+HF|u8Pw}1!Eq+BV@9IvHcp+m;x5d1X+1a@KGVMj9(Wh1s5N% zyjroFS0^P%v}DPo;A126aUJ>Cz>KYl#uVCYS)>&7XkspIB4aUAJDp-q^U;W^g?1ZfnS71KR>ZIr7Fz?ec1waObhk^Wls8FQ zTftZaGWI|cnL>^PGx@6}))Yd!i^^7mqem-k5Bti{M#V0RtX7OnL5~`dQfMZjs49_CaIu0#Hgt%lS}l@lpy1?v=H!k9QxLKm3F#+kYlYB! z81_gKnu4`Ji8Td9?um*hP!;G6*m#MH3Xw%IEJ(7_PzbGA6hy(t8rEn95=_Cz2IOOv z#F#>8-b{Y@Qs1G(Nd-ls#7Tt$RgZM^WP+5l$O^>A>nBEL+u{p#@LO&+DhyGTe~8>6r?J5pH)zM2Pb%g{F=>Du1;m#7f0SGztx{ z%&d(wYfH@99K(hfHqWpzhAlAcDZ|DYw!*M!hK(?6kYNK1n_<`*!)6&aDZvzmfb9QQ z7y=ZiTtwv{Dg#k@h)PG)RYZ0D98o?C*~&*$CZf_1HSiZijfwxAP`$`j8oFep583KO zpY`oWw(9tz_Bgg8 z>2OpKTV$OK^O!i9}&?Ook0?aBx3 zW!;mxzqiYsaQpG|SFJnrQ9WBKFFLrCv{6flYH{!Yqs>;UgOn{JCs1F@Mc2bjB3sYU zF|ZDJ+n?(c&)ln`AoJgKYI8st-|dD6V)!^&<~Mewrxn z`;Q0}ifs8ITZQ6MK_Pqnk*xqkwW0f^0+Fq(pC#=ThT1C#c~~G`Kc>)L!N^uPiYxXf zh=v2-AXEs7D-d}Yifk1j4I>a0iKs9X*JIQxLmgbe*p_o$f9_ar*r+FnYC}{vqIwba z7*QRFYDZLsgEh+5UUffDTKTSnlx=ZaBfi6Je@U!eDR1*Ik6n=1@UI;U%;w^Kk^1M_ zNA#@D?>N7veFDwN_PIRm5B)}Q?T>TX{chTK>fUqKc9Zmv=V_m*(ytlUJwL16HvZEcE2l7_7nT~O9TPl;^v$kG4-7I{I~u-cd5Pp6+PoCiq03U z&wX^)_Q^Hvt9|-c^eo?Yv1l#eYCWTWT2IRZeHT>eLi{i9ZCw7LH%`89`zD<(_w%14 zzSvXwMAt(T!g|JSI!f;_XEk-seyD%a@NLVRuYT#d|fpD)$FTY2vH4~_q6UmDkv z%+HrnbK3AqFLfdio#D`xB>E(w~*qMH2Tva7pv<9%NzPXd_${gN)HFz zcEsZ>_T@hwVk3scDZPRu0q9`u-3|wh*&aSF{<&l0xs6&9DcS)}=IkFtR}ixEFNN3? zTCFEQ6!Hj@J#f^|*6V$3$hdc1`oQrd?0$l7O&L2{WxG8IMc8V9zUF?>+QpN$_uV}_ zz5T;eYTQ4u6+R!W%V=Nya(IV-&90`pL(f06vh6I`X0};uN|w#ATMWA)!4#77E}9aT zNQ~L3e0r)Fvp@04s_}4Nt9(BU@}iTIwmEUp`q3{~w9m#_F8Wzrkbw=r=?eKYjWew7=MX!|xsY;H>%J ze9`H9PT#U>#~0pn{-*Ya#{QJ{52tVGzr{`aY1>Et={4=A*FJQMNY-5Vo#S8Nr2PV? z;~<=DK{#E^ud%t{bOgI;|IxV*tw;7v@!>Cq57eDx{k)UpQg%J~*KEf>jB_8ZT9q)4 zcpM%0(4G~)KD-y#4SpUtacymv!Q^w}D>vhnM}~Wq)|tAB^`Fwb|3l`O?dI&ty_{oVeT``+3~nU~LjwBr;n`@_rrpmhZOHL;id;bnh#d7kKh^mA6< zm0VVG^m>VYK3hLmubn)*U~#?Ztevg5SYI(_6Gu0dShVA!PWpk{kF4#ml zQI<#C2A00&P&$#kj0`mc-9Wvk1R5mJ5P^mXG(w!fjS zkQKmQJD7#tB$jRw=r)0h2~}f;RUpu}_yhOa4CVjAl^ufEN z52Cp|g6@!fZ6#3C9w-sFiF!LEBLc~wkrOT^x#`of2@=yjiRq9`_xy-#N7jOCx!bw1=LB5cT4X4-Yx`ko5+c z5g@35O!uNm?#+UMIO%PM|&lZIY?cGf8hZ&AlR0!5T>8-th&UaFVF^fQ&S# zurwxsm~N2%G)wA#4QbpB0wMLfNaL0fXpunM;b3C9olYRq-ABpdGmVT-9%RR|k<^F@ z(oUrWdPpGIT;6m(l?^t4PfItjJRr~w0<{yUlR$S# zJ7tiWTQQli_!0M(h!A(kI9)`bUIK--gRap}EL9R{nlx?;X{Rv)Ef6S>WcjE+m?IvL z3L8cCa#G0hsgbBRMWBbIyJwSxoh8s5Io}mTwxiMG$XldF+#~Je7YDMumh8*OCSj(_ zTwl_-V+86YbiOqFDlV1{&!aMDg;B&KGPMwdE3 zCq!@SMH3+c$onyEq;XO1JtC5$7ljTcLEURe1yB-crvc-G;toD8MWaRvanGNm(M|IH zW)7L=)RQ#2LUvTql;HHB9MZT;{5jnFj-P8neefYky*vW75GbEOC|~P|B_#Q*WE<8rA+kV1 zq>xzzdZh;GkP{CoL@*hq{r7<-G&4f$w9|tY$lfSw+;mbZLr76Ry@W+Vw2_HhA2}U? z%H9kqdx>OI3#o^o1)?76grOv1(H2G#d2G;2pmZ{7pmsu%`;d(~iJ2! zyXo8`2h2S($!nrWhgy;lVG!hEHwNEt5QQvyvBXp}&c1X>`_Ac2MnG)tf{0u2#phCmYpnj_FSfu;!5PoNP3<&zS2jX?3F zEJu>Mw?S$-8lO7I#1~nL*aWjMFS6(=B#nzsP+caC8&06d{$OrYG6tYrl6yr&@~7mw zCX{>V^d8#PswLCW`vkf|_E=H~6ibf2caxYl$)anGK-DD6=Ll3xgh)*SJ@)}|5A8?X zB{8LuG-@L;-6Yj0ij-xf-e?wR+}k9keM#3a-SFN00Bra+fF+?9c@GEGf7DF*d7znU zNWP+NBR{gU&`YL!BdMTqQA{1gQX4ri=}n4JHYpK1l0Inq>~4@0*gK?gb4kxFCB>+V z>~n^l+5^8m(oR046QXL=NV0sT0+cZ1-c>TO%pwq4MQ6m}EpRac_u79!xUArxZvYLM#Q7jJQXx zDGDX-p?AEml8uizB1BFqXs0J+B@{-~L+?8Jk=zR>?xDtAAXm8elEz&nH!Vjz04r8B zy4R7I1_`uAgs3N$Hc5p=84*DeHj+RYq()?tGzui@q1=liLd=qkSSPuMVnWp@nh4QC zglHv?HN1(XT9SL=h%6-gNk)W_jMyR>kxYcRLZB1^ z`I7f{QYDs5AE4xbZ%S{FVl+n*B9H3L8L5SP2eGWRlic$mxtByN`4UUnWJ-`i-18&u-6eJJYu+`Gdwt}b{WY?iQ%P!hF3AXg zk`ejDQUI}3Kr96kOZP~YFOd0Oz85%we3J+fM1*)qCLhJbyH-lVYXl6g7WB?u&s$8yN(Pm&R-B+F6m1(A$+NQ4L@ zjoU&jg%eBlWPI`?jq6XK00MOo^&*IR!Nk2V0)-POnVcmkCtIpnMDqJ2_Z|=^lBkzX zs!;-g8c9s~q;bbcJ4KSNQBEvP66g|fFPpT}3~{fCH0~U+)J!Zb5K9kPc}DJ*^j8Y6E8J|IFM$q|H> zcUeR|Cx(3R7>l5h2j1(N5aQ zovc`q5FNz5P6BlisGC4N1VZY?li{<2)QDaZlOGuXI`YBfBa=+Ak>mlS8X-%4L~>;5 zF&S!3uUICKEKeZ07eX5M5rHO1C+sH~kxYchC+?w)Ku`pkBn}Yua)^4-BqO>ckm>GY z9@u?ECE_U&?-~*BGU@FbBwq(fOk2d#5V5pFEDaM&yTsB6v9wPtjS@?T#L^hC*iF>)^C4~ZFDSiM4X{UJdt+!;7 zu$if#Yb=qN3Q2cwCNF2*AeN#?Ek~cY^pvEL>3TmOtoN5mGi{O*fvPfsqDeEM+wJB_ z78R0wjglmU>FAk3rh7>86_Q3Cq=G#n>Y+XuOC+x%8G$5EAnsizP$Ge9h!Cg~J|Wd8 znZy)B3QG@hFNL_5N+5Ji#X9Nk&j{pI3+5h&#L^Cdwg}`-V)7)=HgRvCKpw=sO=4-6 zKpO;FCD0y$yoq{i#L@wQVoBZ0CDjNG0BCe?BI6Sps80_-vnHyD*6~N_FiwRYuMB-i<$vxy=D=C&qB&K_$aaRbG zL<-A~V=Z4H$4x7I!Mq%mup6XtktGDJkP7>tWQu*|$FRGPlib@Qqecg*u-y{K z^zl;xc>IKV27+#p;VC;6%yM!GgytRyLh79!v{L~jFO%e}>C>?v$1x2J8bze8?0>x_ z_a`3+J-saNB=x_RNbV&Wr%g-wRZz-LuR9G$LNe{`zGU;Ul)UR6K-@#A7jSBmQRJQ% z8FITwl2`l~-s+DeN6-=}MpsDVdfx$qJBkTGizN3FPOZD66X{pTiN6t&5j$iWF-f3g zBKZ{pr4aQ{JM9zq{K%koNG$miOSeglI3S&HJ_GDV7tu@p=!Wf4n7WI|O=YQ!A^?UTm!A*-5n(lrW*1se5BYh@4XsBAqnu9EoY3Kxp!@A+cn-F`o-I=5t9i5VDkhzB-6dS@&W=46ZewIuGSopypY5cPuwda zmTnX127zu8=oW#l6DW@q%VJ`wgg~VP$|SYCn^YrTvW_exF_jajfi0iOpOF8oCF_Ih4c%AmN$`h zx=bVwCz5Xx$qxzCOoTuuu^$pkj|kL4pjHC45$G|2o)D;nydTp}EOihFrBNrb)I}gP zk7y#Du$#D7O|B2UK}uKzDPcV%CL}q6dWn0>c}1_<<&e0An2u{1~^FOsk;WIB3!2^&JnatncOlQrQ6QE$EwtZGhA@*hV_gJeTG zn^YsDUM`s%4Uro0lyr?qGR+wxmP$w`oFQd-n5cK1%q)GcftOvjNlXg_LJ2!U)SDq0 zQA#pml(;uepfLhX5GbCMuw^3oCDPp|NlZDUar-3)W=voE>?0KxEyGjDsNqkb64JQi zM2H~b-afIkM;iBlKvN`PGssIxo}}mACOcGKkHFS<8R>)vWa67o64sBzR8C@AC&TA7 zNuxp{#1(Q8kRQptP$GE>d4wK8o@?Zj!g85dx>pINZZ$;mG~!+cfjr4B!A(+)W=Pja zAh}mTy8AVv-hI+@lSxc>NK7GQtx-lAHg`{ySiKT4PPQ|1XUL)?^B0^LVOSj1h>1C38%Os5!3A9R}B?7Gw zXpKOZNsX8%?X*OoDKh5XBc1RTfmTUOvjkcr&q@A`2v_qgx0&Nj!mp~z8)Yv1IDzZS0s3A4t zkkp7pl6(6^h-k9?SWgDE3DR>@$rjKQv6MzET_PjlHfh{B5>qr;NbZq@Z70wcf%XYB zK%gM9^D#;+C6F`d_vQ)YN!;rvmi&mNWn$@oRM=@!EDO<4Luy13c_Cu120RrS zAe-#hN!Lgu^9Y|75Yw%80IiYSn$JsB6@acB&@OeF9C9#=S|>sFQTUo6%rZlSCT#9;vV`MDiPC7kio% zmL&o`BTx^4#tGz2=0@Gb(guMB3A9R}2?EU#sFy&S1o9w_yF)BZ5om}&fh48~GN|1l zP%$Z%8DyaLAwo2fS=c=SxtD>VW{nI0`J|nE3A9e!+aQovH&`~*k=$D(Ti^GHr6ppi zfmm85mL3pGE5uS0v9wAoJtUUah@}={X`NVVBbG8rgWJl1?~IV!BFdggaU1MiTeJiFy$P z8Y5c^_X(6w)T<h#8gS3 z5wgxL^a8o}n7H?ZK%T=O%e@HXPCDUYH*jyV6G%Qv)bl1W<#m7+bpz=de#E_e;$AqJ zEq9Urv`CC(Im^Skt`1(S?*4Rh$k@> zkeJGdKY`bJTd@;5KEZ^Dk6=WMJ!z>mNtlbxx~F2#JzlC z=_auhP6mKN;@&Od-edA&2!6Cn!85ihixgPyyWkeGsrdIO|!S4hGR5=&(yjUEv77RkBg zR${4&tN_M{dv(OUhXi^=ZUb#g0NamaWNvhe#Dq>07ZXe90~V+n)$M`(h=hA!7kis* zKSq&4a^haZAWX=S>0?5U7wqEu?F-6R4X& zVI-!z1Uew@%@C-9xHm{F)e%c*s6nH~GAUspZD0UEFYKW~4GB?0isdd*Z;wFx1Uewl zA%WaUMtBg&lR#bs@+OcEfqV(%M<9O!r4VS1tO?V}e#9(E*mcs~_sG=kF|jm4)=yJJ z2(%xOMGi8ql8neFxp#xSP@Y88yR-$CtN|pZ>jXL=37bP2H?470J&GP37`bhHF`)!Y!hgXs5eL2 zX`Vm}1X?07ZIUr}5xGa8Wzx7gM2H7u_}nCxmWdF}bzqzL%Bd~GcZm>NB=<^4MwF7q zJtQ%CkO~_?hMGunJ)qZPkVf02o$|=Dnng0-b02$W1> zDkU)m5KAEhDkJWtk(YXlNE&65m{v(OnkL2a5^*nwK&52Ix1MDABO*it8Px6)=oxV@ zk_fR%EY*=Lzf3YBkw8Ucid{@Bm6O7 z=_+Zbd6E&i#L^fMB9B-qAW$KJ+DO6{5lfY%!j_XXdWhU3{i%gmsv?%|5g|&5dvy{^ z-*Gzg$uC;o(#w>y)yeAo(OWK7m$xle7pvtx=hv(jx9R_?{VP}P@2(%db;f$;ZOfal zntrK$@c@*)J<;*ApbdWofKl12T*QVp@xNG$o2w;k_F^3^o=Zjmo#RFh4D zYh+LG5`kKYdrt|JN!(i{mZnJ>MUjN{Aj8uziRl)BN(r<`ARp4WH;JW20^KL=)Jf8) zh&*+)DB+JvtE^$3sg@=$@ew#>MLN-2Th~yJw9`Vcv?A@*q_pXz!5lz}D zhCs0dswFp5wvo#~lZks7WFC=8psNJRB2YGgatM@5piq+KbtH|h5%&rRR7jvA0$nH2 z4FcUHP$3zg_DQky^8o|(U6MxbPrv|BL8?&|fvO2qLneu#M2Kp#yt_x*DV0p!rigme z1WG6FjW}xQoVJ;>8tP!z(4iFx^j)X3(rqJ)+ggaLTg{@&Tdvx+(HU*q=*)+2owc6T zc9dM-eD%C-vq|^C#p-Nz`AFMXa_&+f<(;wJoZnUvTdD_k7z$|2-Oc-bEw7-p0k#Z*0V;-nr;Mb z^@+vVbhq>7$ByrImPm@9siByE@310!&xsHuUK8qySQn8xW4E7O})G@&a|4H zxH(&0kIRgLt)DfgTcQ+DjC| zGyy06SV%xq@mh&@-2}?<1&@332-Hm6>uGUt(xX52S|^q+Zv#sM#J!SAV5yzN)I*@v zFAFm58MnZIjlAn4A)zelCziIdK|;(COM?WOC(y72GEIoQ|0I-3!oY$0w`D6Feet7D zUyMb{1HHp#|Wgw~)U6bMnZ>ruf83l4Pfu$8muQGM7i%j4Aiom>JgSfXzpkcDz+)aeo zC+@A@2I}n+O97;v4v3|Q`yeLII#5{FBts7@YFIZl;y1Z+7U7Phf z*`~Z7>zjHCXGx>+ zQYcBIaU%J61Q^`sNK8Wnnjs0hNGvT9OB2LW4(aYC1X?5REs-?ZAeN?yqFB0_i*A$o`ny}?M>L1IcH?%g8Y{Wh6=Tql+?Nlc}rag&IpI0B^*D270J zt)Lnu5=+&jac4<)&m@*^66i7!Vu8ezK`cew0|P)hv2>O6Cv=nmt)Bu&aj%O&Nb)Mu zxZT9PIRcH7O+nO7VZ^-*0&NlK4w?9N5=*y8-J2loge0FNmd1$?cgcf;Az~>`a_-9X zVaPmj4|R=064Nw+P)t)KBVtK^Lh2!?o;2<e>qMH2PUy}&n!rBx!t27yrH4wJ_& zmxvGn1j;7EXFxcp<>ABu!hKNzTo5_X@|a=#|v9$M8DkXhISIh0;N+NmT52$4=KWfG`} zK;fiDq!CLg1iDF}cmh=t=sJPQ3A98m??@mUoy%nS>?3J(jX(tmBJT>VOLhs!RT5wD z4g`Jv`04!^FMexnj7U*Qidd)QT-{f4eFqvgdP#>`AY)A*u{21amqcdse1#n&f!i{JF6=-dC%@t30ONgg#2XoHBi zOQ1cnH@`yq#wvlvNr!4C%dRRi)C?2%)+Iui=IhqaI-ajhM28U)(mqMOF=FYESQ;gk zWHHHRRL6JKzpmem|GMOp8^-5E^bzv--mA~9%+;>?*Ke=V{?E89_vq#@nVsVcz3hD2 zgI52eFAE$O-jB5JQD`3-(Z5KbeX~Tr+4qd?iv-$rR@xU!v|FvT?-OVrJTZO#=~FBY z@cP$Iob|7re9oNqo3-zxd|UfYig63rdCiWq{x|KL2-a7$zwz&@P+3gFn;}URNggC` zOA3amdo5%mB#taSE)yu8K(PdRL|(j_Ad6A=yI>l;LmC&wG))pVha{{wk$lJdxF#Hb zjoWlsEC$oKZHXb%?o>yn2jh~JsHvq#WWu;W+7>m_yu^}eGi`&}%bdiJsdy|T(%J7y z65=ZxYg))mZiNWgLb9*y)QUufD85ElZxpn63qO-xhWaw69rW5HQuqc)Ow(k_GD9G5B7`r2qNYU2zhnF6t3$igM+xyF zV|)fVpKTu@wId3>#aC016}SWxE3* zvLu%1eAzVpDkR2Cp=6SN%_RNeB*TrVdzVQ}!^FMYB>f_YdQlR{v@CD@jN?<^GLo`I zM28N^eynNRW=nK1h2ja6g&>l8s}bUy$~2~E;$9AcG6+;dG9sT?N+i%T(oVr-SSuu! zY9wnE)82j;e5(U_CxcAAs{`JJk)|yrg0Dy*(~xS#kW85auyo&u0QDgjX-A5Gt7POf z)nOm#kVZn zYa>uEfgTg6pFrIN@*t~>F3B9sv=a^!_pa@N3Y&Em?1POH_tql7Tscp&+%i?~fVg)^ zpbGNHxQalP1ll1njY!UunM%G-x<($!y#pdd3EA_gCwE|#6HA?>Ml=xjhDb&X5@ZF`TTQ7Cb5oeTgeWF1-F1BRM%Qdmk!cRwIc zxf00pmP;XEO5oQB)EgyPK1k|bB*};YVrhcJG)tfwl6zw$rYYjy41unYc8VboYTP7= zCDU!A;ddS1Hku;Mgr?;Sq?ytsI+%{raRgeHxM!;P2v9tgcz2mVmk5+epj-lFlVSQQ zvE-fv2AUKyI^~g=4kE-MjUL>fZ&q`AXFkzht=9E@?oD&stJUvlFH>u;bHC&4YJ0<4 zKh0*bp3z?DKK)m#Pg|F-;;RHo*x%1T7H-o`E`jFvY@_-!+GDc9bDBL zLvr!d#rdI5i*_Z$JK8DF^2Qw(bO_D> zOveJb%RTi2*{)U>tLyRg0Hz_K$2ooE1u10d@u@w|86e%FhwKue^+-Y+C@O74y>T$=Mm=fV8Uj5b z{b`!0*G$}NBv1o^?h>e$K&g^6qO(!5G@`b?3htz3i);mAwyZjRAB`ouoz;ug;@0}p z!mP)1^4IuN62^G#>3KWag3_2xU9h}vb~D1!~-TyWK7#=St5cdv`U~Q z0-=U|32C=3Yu8G+AtCz6N*q}_J*el@Vk#sx?>d2cPc0_YPUR$~3Ig3BP$hwo5LLud zHGygfgkpM1a<7iKcb7o-2-HBJ0V2dAS(v8r%YGM0hy~I!P`-8(_j(94L!e#)^$_)@2^3Ct ze@2LXLlI)HL%pK^ApNrURyie89-wP9DZ)OP)%bdglwg zn;?x8O2)HJNz0mc+d^{6IgGehKrH1*n#nY#Yos&XkU*vh5r1AdfMV)hk;ITGbc;X} zWVO{NIr(U+L%n#~+ccyy$r(o3NhZa2DI7ZSLr*`M2SwVcDGV&p$|RO#@*N)pv-34g z@_voXj#)EN$z`_8Vlr(e_ZvX*d8y(i$J(mFiGx70qYyx#T1iNz;?)zVi$Lw(U>o94 zGT@pPutPAi$B|JmUIHDZxI-1}%j&krUCHk2cPCsUZ-+6>AX!iPYM{p??Pkc6j3>lW zKo;0=oFned5~!WT6i8z7A_du-K%FF}MWUW3anFZ9^TfRc0@agAJgWWoh^5j|Mu1^+QkX4yyxtuU((?CTQ{b?cUH1}A**~}MYTL>wfgH$#tjm`?&NH{ zLE?K(&iV}!-*ZyALE;i=tVja&kxu2`4^lmVK;xwQMi5H~icA58B7wL!MuZ3@mXHv0 zl3r-qb(g%?v9N`Dxd}q6pC%#vd4;S`LmUEVPbyD)gT&*E&6(o6>AuKk$y7moNEC` zrY;LLAxe=RD9y_HwVOKw@eKMdV*~s+MQ2da>*nso9V(hZ;n>c5_u57K$h_Rm%%E^= z-C`$mn{Z~|&@ItWbG%B6y(6hz*oxK1TZh1154`0mL_e9)Ok3a?&darayty*^h8=0t zqk%q!G;C>QM32J#Mp;LeG?*2%>je#qW>E8n=%-$^9d*${D zq!CDirY=8ziye$#K`Z~%yp%xa1Dy|a{_vWo;IIVUm~G zC@Xc22}3dsb4)bOG2S@GgT^_=8RvM&ILE^&a^$9LkA#pPmfU%N4Y;JTBLz4AYZ*I=Nbg zbk86}-WuUO($OaDh$4ebB<*QsD0ldpezKPV)^j zv62?5Go`B&>8NbrnjC4aNzlsjKvI{|NN>+mltJsAeMWEVL-Y1Ex=IH&&T zl%D%lHGD@6PJSkxd3MZnzI7aZI^Z~rocJVNdZSl5C8d+6?zl^@r1Wy7BZ+kK)E#%} zmGoov($ZJt^}4f2>2a8jEYiu7p8lm*(vMN*M@Z|kkLdb8>zdvupI)x?w8AON zXuYHEv^JfR4(B|sl`zz!^x8I^Ty-VAy6f+CS5jTcuCB^SPjaq~2R4O1#%?r&I^0_} z9gC8#76oM;=*n8lP$p?0J;0R_4M#J2(!)vgpcMV!v8np@4?Z{&4Y5aB(w)LPPoD`@ zKNSo78PSYp;nAxuqeX*e;jsYNjtZ5I6MbyuKgZso!J}kN=wtJto~Po;!!QD4_l72! z;ful-MKdpLXf+6BWi`r5UC#3LPB|+9c*>Dg@W=IVj&K#Fhgdw1D$yfYN29Tib{@e> zFW2GUAw|9H%{%qudC3o?1-TA=s5EwtZq51%X-zFok>qOQa@1gp#Jg&R#kG4eC15ogo zUR$S=D=k$#+$~LN<(M(%N?Y)=0o0n{(~(CC!RK2vZRAS@Y~$ZuDoBww9w~I*pLc_OawK&*)7SjjE@uV+MLFzM?b(>X0%?y>uA9%ZRn(@OX=_zSf>Mjdcm-b;Y~HlN~4FQQ;giahinGf7 z=i3Otldrb9oIa(p#3fJ0ofLt}3IJ5Y7lH4lv_{Ez>s z6>7)Mf7@MUCjgH^rOr2f{(qb<2EdaqU9}JO#j&+ev+(InF;}~xp@mpD76pLS&roFS zwv0wu40`E}kORH&Mu@%GoN}EMTQPsH6${~&=#6{eEz`}y4UTV!V|-Dh(X7{sSr=Hu zYdGJcvvgRVx3W^KxYE<`R<=cN$V*&tZDAk1OPov6`_;kVdl#`6@L@jbynwG!mJam%YQK4*%9SyjEU^ zzu%C4KgIB^qhD=^Kfn-wpdtRPhWMk|$Ep%XO&U<1C9gx@=tbAbaCC&6#JY$XnktQ{=g3 z(s{&CI;+1nW9Qj_7)fWMAv>cKx}$5{VG8;>Ri0`l%{T8flg_NuJkrr|Gt{eUI`rLU z=&yV0s-r&nS03JVlApERD;gdC1Vu~f@IU*|jQ#*a`u7;(zo;-HI{t^eZ^r)|1$|v} zt?;(4j-CCtc}E}}{%(a`(Bbbi#2;lSp6?CK?57I#(TQ`}u}0dz%TSy%4SUO7hSj~p zP@H28wf{Z^zD}GI8ySgnkYRO4E7;L#=San{qGSIZZ|BmX?=dsXKX}n~%uhC~>@q`P zuKM20QoW+ER673q8S3V61^+tfkMxRDhrantk80}BUoumLb!O;~d(m~G9HtPB4u8L) zRsM{9qC0VxrKA6(AwSa%@$WZO{r`3`dr&hJEV+!@j#q;qU9@IZh!TojN?=RR@fv;<>{a(YbLm%sHT^;(%UUZ#s?pO2_ z9sVvu%W$_sd35Zr_p+};pXEi@alhD56<$(EN5{?vFFQK)hpsmoL+@57ny$8U3~T$c zqP9BvPZ;tu*pU8%3VfY7$9u)8LtpJ}EM0B)8A|guL+*!}nT3bV)?kJzxYr41oL81Q z;XI_MtPcNiLv|kYvZLd^pVv9np+8_oeWh1%bkv{oZmQ_er(C$eqU$QV$58nF6{@Ub=RGewI`nU=j6BCl{k{8xI`TuB zn2|T^=Z_oWKX0g+gB4~_*SOy+&Ijr62Nj&vj{lv8 zt2HAG`^w#3Gpl1~sX{zD<$v4TS~~RC%+N=8nb%R@=SA1mb(o>*tTAlbfrj{>Df~5E zb;o)=ab0!CE7;MI|G?W;I`S(Nc1K5k-Z>t#sYBmjw!bsP(5l^Ss0;TP3iBE7yhbO? zy9}+)g9?0|G$)x&h+k0DR>%GzLw07GsoHId#?{q!o|n81{W~)=GFM?Tb;22MsA|;; z;p^BR?qy$xzQfEr8l`AjU2R7wYO7=CdoTAo@=q8Ff2tw=2E~aG9sA#!oh|>)ke%6v z(!WE2uVa6z*fx{jY29uR)S%&M(66#ngsj;Pbk(T4c%8P1?z^){A{ore^< zpu?Y|z}M-{U^8VHsgS;o{D)?>ov$FTtL0OP}p+D)>9v%8aUUZ%Chbjg+9sV{$!#2f?olh0yb?gjKoE6ha z=T@^FgXw16-(jd}Pbut_uC})+X3#qPK|9SBLLdFW41c5IER>F)sS5hK)|zA{{wEZM zM@Rl!GqXR)Q2Nspwbe=IWkc=xTyf4*SKT>g(j2I$u8#bhX5{x6F48}&u(CR7zN>Ia zboieeTAm?>{7f=z-GzquFBwY2Izf z&MGr@h8eOmS+NnIQ~vD=Q=-FvN3mb5lm0hmmi7mQN2?=0!z)c4`dTl#uCl`og}+9z zoT#I}%8>qJik_&W|CWNjPCWnhibscjhgsXsQ%FZgeumdu)>U?pVP(HIXK4#V2MXx6s(7`E+gW;^w} z4cqosL+O00=vX>k*y~kI9r_wGVSc1&E1fRfr@+^-bEg^ik9xV+QGebH{V^}PuCDhO zPP29?T2@E@0fj7e_F>?(duB9(0Exde$f$ z4MoE}>8srK7r@yM-p}X0w66hPgqrDoOyD4A(W&Wv?~5mO=y!YHi={)KcfLnTI`ld1 zjnJ2zZiN1r_f3pCW>$D@vkv`fGiIJBGvfVqvr+dkGwLsxRdux)`kQ9FKWiq)WoGD) znn`B;LTV~WZU1&soZYv}7wPvmQs9A5C)YOQXm(7@Y#Z1MFVX6O%^ zp?`X*kz`&olgu+_-D8Fs?~~2YUo~r{DP}rz=ZQvwoM6WLOJ;JPZbp5o8T#9QGOFr3 zX6Wn8nrX6GGretQ^yZm4C{LORa()LRL5^)_gudf1AA zY+PMwMtzDI@2{Fs|ISRsrkOD_)~r?UH$&fGrtgc*s`|DW^@(N{c#@eQ*PAi(jv4x+ z7Z`QEiDp)8qPMEL1)iB(LmqB)_#-EVjqq>XYli>)7&H8dhWxKEq`zv989$%gZ-#&C zWHb4H@wplPBZl(XYe;{JA^mAjn(;r`kp4r4`0p6%!`FuG`;;L+8w~k*(NI5MHSCWM z8}dKF5dUq%`c6{N*Dc@8^FDN-LmzgH$GYjzr<=LzL(Qn)X@>qzOC#Qgn^E6jMt!6i z_0eYNTg(=z?lYr4#ti*-GxU4R&_|h}uQzL^x6RN;m@#v&8TwE&m+=8J>W{^Yy2o8+ z)ZaA|SN8&Z}Xz-{L#JNn)wquc9`M!`_2sCl>SIV z`U4E{M;PLp@;}Is{%}M5Zw%Y(4nz9YhWMuP>2FAXs3HC^L;PC}@lESH)`}0w z>U{iHy(dC+=u^zT?Do3ZHpn_N^r>ddOfy4&y19|xu*eL3u^IZKX1qUUhCba4{c$t& zC%ou7pXdD#&3uwC4WE_SJ;?iBA{{>~pD|nW`reSfDL;cpn#so$-?YA_{C{gGA5;EK z@lES%ioe0|VWN8#hYWT4IYsegpU#ADH(Oo!*1H$saN`{j>&NhcXN*W}@X3hQqfd+D z0Hf*muUm#PXvDRLvW#eEPa4W-1hw#k5fmRNjD~4EWj_s~VLxN&cKW!v7<3KFpfNj& zudt_)rRJeMi7j12KmL`s<2xT&_P7Ewj*Yz3KQr>h77}6x{DF)fbawMhOYaRV@~$W9 zI2xn)Af*of4nzFA4Dm-A;@@wGf43q2y@vSr7~^% z;f%iFTT;2u%`==&fw#+mvq~{`=sAtAho^FjANevv=@zHL-}0Iozvh$D_`<#WUGoP1 zPD*>Sq$#aT^&BPBKD}K(>M5sgYNN9TvlQB>!=G)4KSzO|^7uWUoY`|Un9641Oj{FM zE9Y};BG(KU7?Us}#m2m{(rR)PVn<<^YLs=DXHtqeVUF4$VYF1@V{(bfXT;RsdbPiq zKfUf<8p9I5AeB;i-KQ1!BMj7x`iB;REcWvqfyBtO%=l3%jK&-_6gF)3$`@rDrkh0E z-pqfWbjP6Dc#z1kM2fkG^PG}A1z~fKdNeYU$zg7APumSZ(J?6bsFwgOLFV}qj2jwz>%{afSfUP>yQESdR|6-C>a_tARLaRWA@zJmXi)Y+rm0>jKl#C+y& zSVH5PN`N7#L*^omUYOY?}T{bHc5dsmKwebJ)sM;OIG_vTq z@|p%c{_%=h_+H}U%WwK3ygmIe)~myIvaVa%@v5R@w2W<#w|iiQMhm+bN9?EGG3GdH z$0^DnT&o*b_6Fp((~MOtHhWe?2X9jknvR-ic(QkGIcvg{db6ZnMDV4IG*e}rS6(~v zu7cC@HxpL9X5so6Z0pgQLj!VrQkGJyb6kI3+_Hyv%U+znOd}WnV4i9IvuR}7^n4nb zR;)-P)9QB)QKppIAdmQoI;XR-Y;Z{$jQq9gv`6;Ht*R>|+wvOn_Ez|!@I|zOSs&J+ zDg8FY3?tT;8G%^UWer1Fv32k6u_Eg>gsm*xp~Dt2E2~u~gt=cV(z7W}M?}N1`aPnd z*zni)Sh1|g?Vn;gh?L0KLE$EN?L{oo1300qvx)sO#0?#M#d;-tsC*%19o;`_jX=I3R;3fifbShi9HjaUw~NEXAhM*(I#_M~`Cn=(TPAdS+LIx<4Kh|I>DCuJbi4!ll!T` z;1wn+N1GH=4Kyo5&rXge=X}?T#_t=~Zf@G-SPZhN7v&>=cz? z3Tv6n-^_FT7_47TIMaSIPCkT=j*Jhh&4Y5_DichEl#DfwUXvm^b@@z#`+5M|_h(BWaQag}W^ov1a2wReWZ@^+7Y=@JJNPB!U{}lYP7Hgd>OR;^ zk22EKBr5ukv9cb~szgpabIR3^dD^m(oO0u4)7VM<`a;B>BKoy4{#&6HCaG9@un?H> zyrD@rd{H#q(26V?k!fYcc6|LBCNZ&-?FnvV;=l|mIH?z$)C(Sxlb)YUy_I|CKMi(? zzg27~q$Yirm$b1tN|C`?1EAT)xE~EycPf^7-E!BTT!XgTDKpqQVaU z3ZKnr>Satl$Z&)%S!mRP)^r_@%6Wy72HAU{<=`QkF2I@MAADuj$i_(OM#$bKI`|b$ z`2rN!SLOakD|q*j@9@rBX9AqCvE-byqK%~txN+>9mGJQWyNY#D@8Hb^&YRCQM=5>` z?Qr-Rm&9!=yibH5RLo?%IP9Pz9ba@hP=mU7H$oy$ehyFm7<413!x8Eg1r2A=aKgBq zmVJK%@5N^Qp+}Q2>jN3h!<$z3feVA=+DLR`?>kQ7@}1R$V=6+0C6AVh02N*1o>iitN12ekEYE6EOPq?GbCz zsRHNfR2yKJW;KY_vwML2N<0lVotm;g0D>QTl~aRFpMCU??Yz@m!AWY#U{Wu>L6U+K zdxJbgCr)Vxo-u^(o&wum2SwE~V-0J@mT0?z^hKLi$^3IdCu}+PdG^Ul`KTTH80M<} zq|b?;zH;iQk)QmY%2bqRD?X}~LVC_2bNs;O3Z7G7yV47BY<7Gh1$KM(^2Shmw2Tkh zW}HZ^?t?a+ZHD^e#}6kdXrHI-lh|f;U#g2D*dddebv45I$hS_Z8Jm1U);8!80XDUy z?I$0`GV$4iP5ZlQRM2XmPd-d^+ZQf#OI%&`$wkf5$h1cf+3IL$r;nWjk5qNGf<|Cl z|LS*i221vQ4y}E853C66Obq8{VL?CU4mDzDGKGc3w?&AX3qoOTAub4|9?eo% zL0|1z3D)sqaTDB{Tk}{0Umz57&Cvq=UbJxA;7hTb+F`s4>M6)q}w;M`8+YXm1(X8%5*rDeKK6u_M~xNp1-F0Q+9 zud`AL-LbVD`*g1TOQPJ-nR~D`5z-!+i)4disaDI3I2$Eaw(xmMadNa>zo z1g&{O)`;|2Y~R)jzffgI$4FwloU9|C;{d@lQdP9TRs4)RibpbvpQ z1p06&=iSbNE_+u%eJmF^o5J!Y!_K6I?H1BvwRcMbpRbXZ;yXG=r`;`y176y8JW4R$ z45u+%jsv=yZR|j130`=hJGM9iIRtW$SFZwn2=pP)2X^c;7%vp7Hi3Nz>_cE50{b8x zj}Po*U?)?q;sxVHFkS@XMKE3j;{|&>{U>iHo2NdiHo$q?touNq?oD5G;yklixG@%@ z@ld?kLm(1%)P2a0%yc_^_LKc!)M}pLtSn2|;*mhtsIyacQLA|dW60s;KgyM85OuK6 z^G6Sn)bQYcfNMX(^COW%vX!7m%b`2;^`eYy>p1O>M}TV|L=NN- z$bmn=ZFioa4+U}%Gxfke1ok1Y58g+0gMJb8i=bZw{UX(iK?3^_*oVW-J{%se*}w~K z@!BPJ^f8k-V&^E?2a1&IJM;=w=S`M)VUy(`s$sfd*_L!}8rF=v+HOERx)WWJw z@`}mfq7iJx&)^ABdc#;VEAdRLQf9XHUQoAd1+HU^MgKV;7;$m4P1*mA_^j^-5?4U)`nifu#D0@)Tl zk%GZOL)7fO8G?4rew;6Fz-h5s$5r&oz~pN z9@vwh5Z-xQ16?*Xrx(5AgNvl`m_lnraFRa}m=R6v=bF-e%_eHA+j^Toxr%Y<&n}r6 zMlY{4>#H-`B1y8`$$bh}6)0ebHCZ1r^&^(-neWj^Q9?CU!^DnQpi3)pO$X9=X>T0~~ zIvkzNtc)3U4gDuUcWb~+`_cfp1*A4q0nM6TKRZu}z#z zY7i5xvRM=Os{YY-^|j{CU(<>y$>FgC;Y^ECn2^-|qS7$AKAl@KbVU9>8@Y!6fZYH?i@m!(cnuc(uc{kc~h7?*z{*>QYi=y}x zR28~iOT&VK2aO1PTe(C;6Qw+HL|Z>alkJa!}9HQDv{Uhoi=E zYk08|L{^hMBp==H!E5D|Ow$I=Jg>r*fd=swzZT|TBc?R1Smh#{>VAbaq#3srxXtW_ zN^JvT+_v*?eI%i>o%B$1Y`%*xGd0&b8Dbm&t0}0``;((-Q}thdfY~IeJ?)1%?2+9b zts7+pQVOIL4M#J2!Wv=*C|R38Lynx@;S6)~m)K$4*%#QUMZ@lZY>Fs5g`nuJ^kRs2 zKIfzuVbzGPJ0f$5m)J2bX(K-DJ{zdwGHfG~>k!Vi8j-rXQ&X9usCNUZH+fn=Hblo} zCw-F>eK#{&&vqE z{+s+@U~08PZp*_JF|C2mphvdkvu0U6I!;hv`X6y40x{6fLF82@$3@Kw@;zM z^VVa!ikI(-|A4%kM5R~tH>IPhLR2c#Aw)b^yWr>wa&5RKnY%qR;>tWh_fZ>?Ok2H+_gf!6m2Z>EBu}MWMP0oX0UcF4kXLIik zS*$u@QzciMJ-GlkLES>GJms1Cfr`mBZZgsHVOpc1oDh9#89%f(V@1OkgyAT$n4w8fEVomC1kEDeL1|p7KvqTOWlg`w)@; z!hgz`O>sg6&-*sD9*A$ZwDAF3LI|CMmZ5$z@iPP^?jtaBMq) z8BS-wn{LQBMBXd4?ZP=K_vB2>IGuOWf#f}(gsiM{VH0B8Lm){XK?jw{qJNvAb(lS~(e=XUG8wT^a{!V$5gkXr zqxB*$7B^@q+}P&K0N^pE<2e+KsZ zr~15qs(bxYUE!ZPt_yvA0Z z*)Ur-VDvLoM>5}|38WcCqMCgN$<;ago{5YzGD@RQz*EpHfo8%D3pzqwi=e66J7&jV zreMy%edF2lnQ^5dbR&UY<2o2)jlTWpF+|Wi8)-(k*eTSikTxzt6hXyI= zowZ}GQs_mpczvSzR7Rg@wOeTIcH$IOU=xASZ(@M5XR*r&%#0;ZcJAi$qV+Z^O-*;& zsL6ANdpK(KTa0Ss)Tp=CI0Ax~nme?E#HuoECo7cZG@Et-%#6|DLkyhu!Z4PkUg8tS zno)n?6UPC28P%VG>T&|T)6oz7qrQcSqdotsk?Jrm%N;fVz;pt={?r$o>TFtTw-*uF zvb&eptsHe@ji`h290s=7sI=ZVWDsK@xs%+=Q76#-aO`-XreL6&qplpxP)|&ax|#F3 z!A2z|OhL6Dr@GxnrCyo>^>a>jG3_MS3mqv?cXQOWHY&Nan+WvEbpRO9kI=|vcW57r z6h0{h>jmm53ERqbU!EHX)30U*`V{C>&|8Au;(I6y3`Sru0)r74jKE;jxc26{|AEa6 zY-V6H1DhGx%)n;)Uf~T4Mqn@kgAo{vz+m{_6$@-;U^4@o8Q9FgW(GEs@4W_#FTvtV z;1>jbLEskzenH?D1b)F0?iaAblq;99b8L7^Mr;#--ZQLAk8)1()r`7_Ki@g~IYyOE z9d0DhOZ9txI&R}ChI$-Ow-V?@eHkZDgJCxiL7)YPV%XJveu$1r;*CtqkW3u<936d6%F5kc+x$5<`t99X8*|Q8!ItsHcGH#HkE5`SkEJFi&TyURRRv+IMj2 z3yD=_*)*5GwFG+4Oz#JOdXp5j2Zx$o;^6C{8v1$^YkFUYe`^n^PUpK!@_SY@$`w8@_=_kA!?XXd4klpzvLrvy&i(aGIoACpWk9Wj6?HPJQgLXe$=OT8Oo`kn3 z*)NfqFd3lNzZ=M(tC>&tZPfKPYI2tz%2BsYVW`yks;4rl$*6m|?k}6hP#XeuJ%L^Z zKIEv?k1|wx)5dlJGclYcJ_Xg^eN^OehDr=fe1f4KorF37y!sk*0wlk33c6je0DHt* z!+`M`T;{`gBn#RuXuFzbe1ZCg0}%uw2%em!H}M|6ld@naJ93AznpP9bZM9?b?)BfX z2`aq`awmb_)uFriWP1KChDr-bD+%=ziejDev z9CZiX566htk^32H^77PYK=nCK)=d(fH-q`=15AqB-+7)mqgPUl+yKzK9=L~BV&z7L zN-F|e3G}WryvASkQ8Vf`|5Web%{b~^#sIBe%qGyw>mdKA>o~79Q~iqbI`+Se0eaQP z$PX9;$?L2mIRj%iGgNBv`2>1}wai`StPyoB7ROm@)lBt!zIwa!BgO!|6=dqijDh2m z)^Fb65~vw7QtBfZ zNwX2fKE7?$iiJR%`QB?e1Fy7?tXUOmf>-U^uNka_t#H1=a)SY(n(VsEl+Ly}NM|R# z^)SWDwR|Z8tKe(3P(giZ&ev=m`>uZjubz^LplV?_F%!AZmN}BpQoJ24xe7-hnqJR* zZQBM&VMhcy1M7;*X5?x- z9OKLRcgG^#Q0u5Q^EnrNwUTBC^m%}_1ZH|(0{I?XJ~qPBCt$s!8$OwJUWQg)cvmrd zDOq!l=5wU1y^|omDCs2T)KAxnb-rqH1^3Wui*es>oW_;KXIt4f)OZ zbw`JgeW{FVc82tJT}`nEnO)uw-CHjHabWG$}TIXwC7%lXWws?Vu`BAl@YL`s@oSfgN_35vZLRm!#LInQE%SkuZTX{Rrh581Zt}rbv+!zPSSuYY zy&l)`RLECx?h~9o6!dVc-MMhEBA<@SXcA(7!!hRriumw3eI%-_MITuVx3%gu%4$Za zn+cWO!FLz2JwkW$E%&>N`Gi;}_4KZ=ufA=PXl{qf{$;_nN|o%ri|YP0Yj*KGSR zY(B@q!vgImKjqc;w3-zb2bu$<+7|&cs$VmsN`J!|qpEK~UwhW>T59Sc$e%T_LVQ&= zH6_>N=o$AlEV^dtfQxhNcWru;`uaHq>g=vxFVK&F*DUPEzw_$_@~MT6`(|N3zGAlJ z&kN-KoxViwEBX?>9?6$#`7nLHI!?B~j^h+}Sd5%07RU}RZ$J6r`rwMUcH8uDYAk(U z_tA}iB5saP{nCrm*IdXKk`E(XoA&jvH6h{2ndAa}+I63c=|0g?6k2;?^+o9b7l@mMo#~iQeOIF? zPDItzigX4h)yWn4P*IBdwa1FJwaA&;`Jv>)W!Lt8V_8_D1LwmkNP&>THnzdu!Wws!90`Q3E zU|_22z|JjV@1>)mNjSv*Ga=Y_EhH_(GAH-?_MxUCliJwAIvO`ru41cJ$iI?PA9Q z@D!^iR%?rfZxbtgQ51WkJ!vHE z)R2v$kqxIc%EG7?iY%WM%4!ZEN-vMWI35dEHML@E_wBK0oQ+zsMGhEQ(myjR8VcVM zweUDt({ME0@wbDUW(=@lT$ zzy}2dO0vQ!YT+upx*gox=nsklk`+y9IF7b06Ehq>X!t-euSbSt9TmA{ZA`CxnL-T( z9A>xOCRS@eegBfHpjz+BX(qSyiwLKl6?k<1>-S$E-K|+_N-dUyZXGrT`Yn`!#(}TIgnK#tMqzk zpgDo&1ez1rSWEqOnqce>#$W8*ht3p<)=09{*YEW~PQmAaev$6Ay?T@~(_4Z?Bm>owp z56?U`=B_>cHKlIpZ6!M+lV;wa5se%1C(|ADT6c&wC$*iu=cUwkR$nFk-9udABTDVq znY@%HNpG+MIR_>w@RNe6YF$oM1DkU=*qnnt{-$;s-qbh^2VFUSMdzfdGcO1o8?`!G z?Lzd{iBPP5RcxbGaRHo}vn<+p#da#TN<*<7i}zZwdf4~G39L|T7sWDZ7xc80dz_7e zdrD&x$VI(68ptJ(3mt}*_wNIp2y`OQ39+9R^oO871pOiC4|IkwumyoF2y8)M3j$jZ ztU;(w8wKM-Fg^t1LohxB<3lh$1mi=nuE?J~3;cq>F9`gCz%K~=g1|2b{DQzQ2>gOz zEj`8C9fLiFzJae8_=fv*_&ih-{f_=>Se;1dNtQQ#8=K2hKk1wK*W z69qm|;1dNtQSjW7{chXfd_k~g9L$e``B5-G3g$<_{3w_o1@og|eiY1)g85M}KMLkY z!Q3#I8wPX3U~U-94THI1FgFb5hQZu0m>ULj!(eV0%ngINVK6rg=7z!CFqj(#bHiY6 z7|acWxnVFj)XWX><-WjQ3jC$OUkd!Cz+VddrJtt1bc+4$84K%YA^LbtPx`E7I2vx0 zmCl_&i+-9~6tsKL?!jy;m~ClhTfx^Bg0H-Vf?c{`moC_)3s#+iRi|LpDOhz1R-J-* zV=!+F=8eI;F_<^j>Iu$ZXET^<2XpPm!WW9>}j#xt+wIJ*w$$)Xot&+ zhTDcM=XOJJ`~CY~^xQsL+}`}uD$i|+`0{bD$hS|oqE@r8)s+6g&#_{eJpeTeH#q(n z3yg*OhA*-aLYFpVsF~4FEEJhOBr_}P6bm;)v12;n4zfn3UezcIKeIDx%6J-8c;o10 zU?ldlCQt!n4@Wa1`!A-22izO^)^l|41nJ)N9OvG!oy+Oo(bB!W-BaItg6F&2&R1W` z_c-pIPUVgI{P|>F)=vyI$~qZVIu>eTA)tcM&<*y+BTKdpn`AG8Oo*Sp_gZqLp6lBv zt1;>nd2W4%5&PaEYELv?+Kk0DOTr!&PlG~|s>Pt8%Vzd%8jjt6YBYS>@%1e$3z{5i z7CtF9ZHK zq^h+~O+nrAYF$_JtEQlq`X*%?t8u3)TVBnXI#o?qow`M-QQMWNY6>Z|TB$qg-mPvS zb*h?&Mat4ftEH|?Rm)+gQVwc;P;)j!*_!H9wMMDstH8xDL;ecJm&npBBoI7D_A?rM zcVXhMQGiB-;W$IVT z)OpI(ZQ-gyi^|kHl%;*F#9gRN z9jK(RLn(*(N(%dxxcii;w<$~8rlh+-nYvJ^eXl5S_bPeVqQrepnfk0Ub-R-8G9_nE zD^q7F={}`QeO;OQwKDZirF?fPad#_gu~~`xmNNAtwL zdCJtMm2`(H>3*)nU8YPOsid$-$-@$5>Z?k+-zp{fj1qT+GW8>6>dVU1AJ`y z@06(*H2)9(29+E4=1{8zx$CvSf*hsEIXC6jB10~z-T3|!tX~7)vFuo6^p42 zRdancziJ-TwU}Q|MOQu3QO^U_^Qz6tIoLX7YKqkur6kp*sb_psm905anQBsFwH!<+ zsI^$#ZtA+JThjzrElG9V)cmToPd%enbEf9O1XnHftx7#p*X@9KIEl{xv9)2G7TtGF zlgwzQV@lKwZVXvLY+E9X;?QZMW(=&mL@({4lti8Q@1EnKM|=gh&z-# zsJn%_ZfcpSao2lGlj=5X0@he zeDyV+At(S>tqX#WeBi7Mdv^wFXDB%`WkE)h zP!wbP34|v&U)r7}-O^DcjsF>)ttJsIrZdXUcF)J7K=5Q*j2pQT$wYJR@{moFc7Y<7 zu(ZKnIOU|^QN_0>4dOwi$&}zH(>d=>azsivGUgu;ac1PBexa<0lg1LhJkfFzBJV-` zk*}X-8&qVJB6DA7tVRazgce6^5io}*--3}M%N47}bu;RNLfFZE|A~wqRl63lGFoAY zR?P{F(SAwX*PM-E)RRg|UEyTnN=!yCJt=tUo$j=f%U^^g+|to`mZDt-RNk8niN~WY zsUac{_s_JAmYXtd5A_cy0L!>`{tMjcz3)NZG1fkfL<}yLBQu z04jM)N2hrh53JS>oz!aMk&P#thp@78EHSw?7%h*=$UJ$7*PKOJyoyeuI8tRJ(=%M4$MDOlO>fNkGSZR)8=35P%Ms(z(SEQJO6?ttoC_@>nj+@_mVc^KM z1K<0iwUzCJaVm z>9*Os|NH(^>pR;B)4qG|@qV|zIrYzkKq^P3j|?Ab^uRB&PDo7oV0fm3lu1bSWh6I+ zkjP%f*8g`81{|a_qn46-LPnbfHwi5G;To;W`HnnuT2>?04I|$zb%p~c{^)Co@#o%;<}f@H%_JS!pED&$5ZR_w0X zc;x0h*t>1jP(I4dk7Xb?uO8g_xw&pEc5LM3ld~ED6~)qFj!CE1XF-q-{Lye=yS2b@l0TM`9~LxLoaWMaM5I0~TI$x{xd;;l!iFrD z@COp%Ndn_GQK#DlxLxr17PX%vi`U9saC8qBTzP^E&W2@naMuCXsne`&qEUC=1~qch zXABeY`*#YQIGobM$3p*sZ5?Gn64!r3dqUrBU^y)W{9A*Jt<@b^jZ_Y%Ba!tXE9 zsU9x)93|DIzr@=%DeqkbJK}l%8W()!3>TbomJ7}j;1d8HaXkCHXpIRi+~kixMC}~P z(?!O$BI8q!VeoT^jFsSNw+p%4L+K8cEm0Tz8vHpq$Bh*j?}&2V5a3(^J|as0{5Da_ zRtf$>g1?mDZ4$g)g1?gBVNxx=mePky>EB4{J0$p93Eudzkjw^x9SO|2&;^&YbHRsx z;eubHb2+&0w{*d0&vC)A0(V+dH+8n4I~elJSTYgR+xxcqTv3bh)IIjR#Do0XS+qr71>@8Jj@goS|(VpKE=&;PZJkho9BWL z3XzNx;5<>pOO0LJZGxQ(H5F7D!!TyTP*d#~VOwV*pd&|M^0UoYga^IVtM ztAh2n1;UDEF2Yv9!%88YmoIV=Rtn3#T5$G)pzw^~VV5AbL9kwZqD$;~k?mPg+6$tH zm7=-t6vW;Wsxe;h@Df0$Ur&~--J_C4ctGk)3nc4szp(!IwsyIjjdch|FGq^hxgvG$ z`7Xjj0nQf)cZzJ!3C&(8z{dsnj?m#1B6XqwHw*9u0lqG>y(&_l65s}b@Fr3n3EfY2 z->KXpf&5>A@qmQ!uAuRxK;9@)-w@#Qg2Y&f#7dEGk^o;4;A#PG6ySRT+#taD0(@V9 zYXmr1fXfBAPJqt}aIpY43Gj6Rj_&D-YLo!)7T|pXyhnid3h=24m%`+~yWn^M&J+l< z1vpE9^949nWSb_yhXweAz+E7~2L-}hk@|>8eNv=8BvK~`aEbtD2;4aWoG1|HiPT9* zb+m5qMrd6Yt!zbUUg}EXEg|eV0(?e*O9lA00G9}GngBll$hCY0+zSW3Z@L&4M@#S+ z3BE^yzmzo)CWbOcS%O(2{JxT##OKj4lj>OHfh1#g0DxVtdB_W zV-h@Bf*+FL(F8k1%@fj?A;49F$NQy>lO%Y&MC3)m?-+^SN4|ngopM$Sl)EJ=3nh4l zly!`hK3jsPOYp4{{$L3nNjOfiD@C#QN?GSg@K7o1cnO{=!Lua%2@*U=!kI6n-z}w2 zlhPlQ;87C%Fu@MXlQF_LjsGDzw+`G-a-j!Z?qUxV;47m2UKHR%0{leaZW6=vy`sF) zk`-RkTonC=;BN6%ZqaN0?1BqL>ROSyRHQBt;5-2?5#XyL+baTm4WLv1agw;ENaC6+ zXv`Pj(*j%s(4nzWlIOb;{2sxM_}?gZ(chO)Hc9YyX+k+wNN=-5WtvF-NXofILU~&h zv_m5JP?5{ZlM(*>}dPU=0vJ6#|U?h>i< z1nwx2`j(L0dZAF`1-SkUw}?kY>RO~anmR_ZNN)?|2|_2wNf@sQj0J++Q~|y!5Y`Fs zVS(_LNc~Wxz9~{)6R9%=_=H&KnsJg_rFj`HI0-^=s`SKQu@cR_wB00M<>~z6_g1uM7TzL4YZriL8inl!1 zP5nk7EEE&#DI)c`GhN)lg6@M2+|)0cy5Rliy5KfZ*R29!prEin+r@oE%)AE)gav|~ z!J;RZ4<;KVdN^LJ8kot@G|eD-4ln*Jc;BY34TT*KSzQWOE^m;_%msR^;3eKVjmTC z`UV!tDRqTJahXJAxs*Ojf){QUm7Oi6FO^}5&XZF5vl6^O!r3Xo3kb*I_;n$ur=_g@ zmkXiolhB7kTbx>bC&^%!1V1H}G*2S=yaYcZ;k^E?;AXdw-!sK-NecfdGoju#tS&w+%K zZMmTK%srw?OC|VG$vQ8S(nnJ1jtHKU(nm0HskePdf`Ca?>Kj+|a zkxON~Ai+;aCg*VpULr~7o`1MC{-&wR^}Dp9;Rxd85;ytr+ePyCu;)(suaH;5h8?^b zQCe@ABqTpVbcVHrO&hGVX&#E~*_FX|Ut`N(+e2|2@}kYy*p9^L#>D7!H!3Kt7!#tb zp;+~{JytACd-06Yrms0+Y~6-p!w`+ti!AA%Nn5$0*wlT9pTOb_ePX}84j=6HC`4uS zF%-{Y=%_yS{v!*9Wn%x?*3QvIF)NGqtnJFpKiXzt$b3$d6|sC)LbQ4&kAez2bw<1k zDnq+Ev1vbtzNPVm-JN+SXX)*?dDbnzb;xeT&N0K<@Cj#f1RaH7Y13}yG)B5V^anoLLp|vhFVgvAwwdh5o6X*85lof|g^Tu^{!7r=}Sv+mv6&!*V z9&JSyjewdSO)c`tdG_y=4)*VYYqRK3nZIDAz)O`*bd&E<+zvPqn(BYnfG3w$TR72C zUA@f8TK~vzLzaEfZx{hI*hTS7gnD+=qWDn=M=p1(2RQxNE)`==tDMiE>TKOLbo zep6MS@_6*df{NmT(kg3{6=6L50{1wbUjpu3Qc}@7UQkjQ&*@&)E1px)yRc&1+ZGvSpVp1$k|9bMw09 zRK_cc;+=a`mX&7bwa9Ie*Rnm!R}^niQF%frV*NjqcNYXpbuXx@iuWq7idL0HD|>gT zswgO|ir!RQ)je8vW4xkkN!d-nkuM3qpr|MjmD3*Q(B|t`Xc>ccv{+ks4JK%pv@qYsTUnx#H*jb8S54Zq=iZir}L7FofY0!A0>A2zO8f7sW>+ z+({8!6u%4MZi?Wd_$Y*XD1wXP_afX!5nL1>jWC8HxF~) zJf7#o9|I1jHy!ZfQv36rYVSha$KrJ{MsgMQ~AkKEeWu z;G+0Kgr_Nji{gtA79((emH=LgKo{L#hVTpmT@-&7;W>)nqWE%z=P81V;wundpa?FC zuS9qefzw|F_$4X68t}^qbP@gk+&_(&TBYcIx^M4Ka8!5g6@V8R@JHX!~&_(%o zBJ83FE{g9)_<@0{K=5wnSkpd@cc&sK3ck8AMi0! z{8+$QQoI4+hEn`Ez>TDM1n}_)oc;-bPn6;(0sa{RUG#G@{`?$)<2MF;3f;g(Kd0i) zX;S=jz`sD?_`d}FE9rg|a1-f%Q^03P_s;};mURDYz~@NuW`LU`&_zGz;?H>qyu9-P zXVVQ_^wR==a-?`J;5;eb5-`ppvx|OO<4+qY-WG5>1Wvy_;0{teAMgcI{MUdll;Xbu z%$;R`)RwTH)AiA=1;r)tBFHL^dtpazT>*DPXn=SoLU+K$2)vvg zfO{fPf2Fh%z`dmVrGU#2C@+O_z&A+uD*#tY_p1Q+mhRsO_$KN8&4Bwz_x}a>-_rg6 z0RBHIehc8f2%O()!2P87t$?rW310%goW}uxFRiGs21;pz01uYpLjd0<#cu~ZREiG+ zJY0&80DOlO9|`!tXEHYxRQAg5f(cKzcxiTSivPDbjo|yH$%0EppjBu@K#*w5)S( z=hl$%uNy^}@BIwQqvCn|11ElvcqoeJ6!$7GsRRe`b-+UxlzlhanfmEf#f3e8S6oq9 z6)i05T~ZV+Evt$a#Zi~yf|BBY#iIqKefWGk|JZ1hq2@;cT@x=XD=o^8f=25|#A=J* z9{A0|FE1kpy3@-qU@_optBMw2PrN)r;b?Qr5iI81U8| z3{6Hjo-^kBO8lihpWnD|o(N99&(7&Q--rt8&=-%divd{zUeu9{A;PvQ<=f z9w)mk-zS?c-+vl?LB78baryq_r2CVc`!hg?F8X;2e`ZSYS%5RxUHd+=)PjwH=|;~i z%r2;?DCh$tp4YlXJ7#BWBaSjAoEWhR@Jr*(&uXR2qT+7x$|@=>*D0*9tRmjIpu9Mz zu&Og#i|bNC%VE|@Cq>vg!Els&9s-a53oyx($NvNP!ld|_QvCk_|0XGZ7UBoqjk=VS z752>T(z|Qdc!gb~){^)(f&c4K&Rqy6BJlXbfX|WQ69G3)ibth5&2LXiik~XQ#{rh} zQ~Xy+_o=?T{PBQEJ_VJq%hc5!_bWg82Mp)=`NgHqifFU)vdZ(L9jTJnz7U^Px+WkH@nSKO-qlcAeiRU!K~V$H||kv4+RV zUzh7o@n1^!$=4?zgyU13@Dtkqrm~8jIatSy_rkI*X=G9ai@UT~T$zIrt+;D(A+wQ5 zvCdt37xs)-k?w9fIl|W1sNJIof0A=`WN5vMi;A(pTUk<2S#@1`5tfXL3M=CD1N_cE zkFfsU1;1oVy5X0`!V3Hzjo&MZOMAw8S9SkGyibAsgEbfD9;II$uPiSst&I0Z6Z7=t zxSxr<*Yqwdj8|52luA2_Ik=NQJ-JW^u5e1V$Bvz#cPYxF{uxEMEME1;vZ8_#UT|?y zRdH2Gycc*W=oT;Tg+JF-lwc?*D~;b=6|X2QC_xE5bzwt{lor+(Q%XH^=27WR0TWFGkXi>54#Plkt zD(o)1FVV8D(cYz11>L&Ei=y$;-o2v4*Coiq`Qm(+g4S6G*YqqdzpS9#6?{QqA;#Lm zKHZRZ{V6tY-SJDj#IEWDGQCS6hKjO^3I-0uJ*v;`_$B@>E-NXC7g7i2B{JDDg@T}= zrSYPf4(@#XQlBCIF1@+DtfGqNiL+QIDBZ`vA^BWU+@+$RqE9C%Cnw{!!C>5vBA_j0 zmFC1!%AU)b%j7hN4(f^NPFY1a$eh}Uw*{9~Wjx;V_t;-4tLRhKyQ-pWz^Qhd-GN_{ z#WlEp>5Uk|E8ss?6v3j!d;YGXtQY-WTZVN);1S)~_@%ln!Y|2=^U)h{6oDybj8w0* zpjW(CL1}SUj8aVftnZMA+GIC=Nnd#0>j6g*((Er(7<$YNy-^VBFwIVju)PBstB5Xy zTGqRwFn(15X2}jrHVB=gq5$`Y0iWtL3cti3*Za|klWaJ>e*=ypaC%qUWp*j3jF*G7 z^}dt;L+6+0I~IA)M@X-JacY&yoTB1h#b}kH&URcfkyicFBW$mN>OkdOQe0`{vIecR ztt8TuZQ*5?Ty^!uWZX)ts>&+MD~fMKC+byD0n=Mt+N~>EAM4YgP5#nk{8IZrj$ayc z=Hi!Rm0q37E6TcJp(2N@s%_&og5IT|N4Du4gzIppGhFpvSkUO&rBhKsd3i}3KR2S^ zRgjIpnr#=xE8<0H#GX~ieA6Mu4LT*AfGrO1qXh!%k7p|&T#hT9*qq2w1kG`K0X>9lmoSW`iV{6U`Y zF()67&rYP{npB%mE0@rA(1`+<*Mam%D&JM7l5=zZjhZhk8=yWu})sjFX^aMu4G2+ysdd&tZS@CUh+YCx$Obd{D;e0aFO0uel9y2yQK2D?3^LYlieDI z{M62z|2)8w{JbucmxQ$%G@45^eh--XuG98j7s{sLs$S%bh}8`ERlQ;RqfRb`Qs-*_{qwJYVJ6);*>Q^VwxoG2#jV1EQq01laQS*yR2JVDFXLJ2GD4)-WbDxG6uAxgzH>5v{PACnA5UNylaPetD^R8iaNAv-KAx_q7Fp`MFlOp zb|@-p)3QrmQDNIwUApA9&cOl*`M{V27O@$9WuMBN@`92aTJ_Fp(ITgJX=U$na--u# zIW#}6%wZ)nr(iY8?tyY?&Q3lD&8JH+jlglC%HN-5kHzWoW6w-68SUDuDyLUj5f%7P z(EJ0+xfsHsd3He*o>X~BL7ylMk8CVqvsDPJs&_>xrYi-dQ8p4{0)r7BbBK6RNgr!A z@{^xH)XRtZ}o5MK<6q z1QMOJz6`M!_AY^c8m;OchaSVd#z{NJW#alE;XCW)>eF)R>V~AhCB=noiPBmRo-YTl zw8lqc1e?qrxPX{j$t2V=&))gLu1h7>;5v6NE~VLGhvv4wOY2M2PY%4uRBM@)IQbZ7 zc4oR$=Fd?ctv^cg?uE`!Tn;;&EODNvG4Ls*D|@$JR+8v*3VW54^}rnF+z2~6cL`wH zKau0)H|Ixj-UjxVuI0cDM{M#b0t)$M@dX(1<<=uclZN&Ll z1mz}<$j&YXyaZt>!h!SEl`X9EMSLs_mSNcns|@x)QGTAi9=!(Tl5Dzm!AzA+Q1MHv zkez|YR*h()+SxwXN;6g9^0fs%7u^I}G{^i1zce@DbI~slr@HROFU=29%|(}?zI?2q z{Y!c5c^2{Kr2ESOKQF~s0Db|1d@L$^CEypO`>O!Igh2A8uo^JmyZHifT5INUT8pMR z6_5W4agxn}w?$?5f|mB4fW0qH8ce$!w%+bJKf=yjo{6%^N1zEHt--x4@x2D{D^h$d zVEnguUYb|XKB*k1IiVb|4 z|M5TjYxgO4>?)dgMR981RusWSaiaeb0l4VrWBmCoi`nsu z02fH{E`UFg@V5XilekX}DG!sopRKLbpCnJ)T?;?FBAX2;h8{#?4h74R2Q{7b;wr1*BgUrF(=0n_+H7bRCAd?Vf8 z0r*=f{vF`&rT9+3yQKJTz&}XwJ%IO0@qK{zOK}>=F0cFx`I%8#@r=TB$4m0_#pD#T zId?BB`=)poHZn0RdI-Tjj?o#0zJS&qF_E$D(vrLg(>Izk)7qjhD#fLhRm?B$Y;Qn- zRA$SF)gJlDXC}Y?l6YldMR7US@%h?1mOo3e2v9+b>|IL=xRR3j+5=dVY_;THlm zcmjv`u+49NwBjb3f=B5O=4M@Ch;FJVroDh;tx?FA<3AtvUyE42)lRSc!6IzBV2X4E6KcDaRR)v7lnFZeZTrHo~57 znT|4OO@+25%B$?Z*@fK;Dk|eV7B9sXFdERgSyE8itv9xnohU30&Yn=DvJ!jztfytu ztnQ|4Y=IPE%^hY@eZM;t18S+v+bdqxy{t%mudJfD8{bTEizI_v8P8VJ>{W1cw!^Z- zrL#|%A`ic7b3(bPQUxVd*_AgI()j?e@h`RpR9H~hJ=o3#hOSxKvT#Z`T>%gZpu z>ysimyCP0wMs`_giHkypqp+;3C$_swt7z&1b?D}-YuWo*FbOwd`z>BXLuL1}N}S-x zW*hqS>&$twF#r|Dkw9BR?p?+r5_^{>;?Z=;&02zC2*!uijhfFXuF`J&@`{3PaEvO- zZtjy!Z9!@V+_*?_Tc^Bt7t}o)?p1atAUAFHzM&XAZ!=PgPr(KHy=WL$8Pm;k1$$_mSHyhldEsKYYHD+odv zc5}daC@!qZc1QYblh%@UWS5nb-c{b5T~u0`jXl?{ah&Gh-2e?% zflYsbbTc|0Rn%7hSVbWnEQP{XxZ|sJ^aT-Si_*1u(pplV(n8z!IukTI!M?S?*hv0! z2tFQNH0Fl^UxL|uaVgFL0;YK_3xGS7-`KjIly;Pz*7j&Atv+Br_HG4CYov0V*;Vnp zDg3y^r5uj?MN-~I7?f$w$?r!HC*M(y)7U_lpYIuLWam@7tysGKud3DWX$LXJ%@;KWwl zoCAx*oCMT4{F?}SUiM1B)TTWCr=<8F5huMo3xc9`9g^AEfD^b#>-<1T!N2;z8q=xM zmM!EZXKM&}`v=OQ{gW&N`I7WieZKimSo5bRv~i>zrlPC@nK`{H08?G4&3PKt|70nC zHDFp3<@f&yxP=ra--`N@V$CA@>nKg#T9m{~n>FY8sUOmsoEN`~5}#-jKF`nRMm$dQ z4VnY-cuT;v?#tt}7C~#?JWgvBWVgKK=c4@bGOS$3Yyx5(vfo7!_AGU4*eTM*11`c|k0!5}(ccXEq}Tls zsO=A2ce~M8Sz1)q%T`|7;$VBywl9~&>~%zX#)s;|;}wWg+a7rNU3)XzmQ9Zg1<8qiDx(g%`(e3cgz<9rmoB|)^ZVy4=yxGD#ZYGF?t z`m3Z3)`Ai^4+Rx8Xy&4C%G?WV-56_Ml zHP}17*IoO&?Do-X*e<8YI}v$LpuFsqZ}bW}5m(v0DvoVTcd4H9))~0e_jtV6$qU~H z0%zQIM(2lfO>*qomii*c{SR<+rT8ExuPPVMGXyxaCdcDz5pRdMeAQ?VF+r#*fD_#r zy9nf&0_5Cry01FCkj%M^`8^t|$-a=Kj#g49u5|gK^|o_y&#psRAzVR5AE)KunekEt z|C>RJ)=_QzL?m9`N5G*qDxBTzT-LQS*s1JH`&YJjy)-{@XtI-JocT)I26Jpq`%~c3 z8d4{w>d<03F5HF2_e$%MOCxOET|O6ZJ<@1x`+)6{bS|I@H05&vyl)OeIW*SdO)%_P zb{c0J0B(qI6<~@V2e=Ue=@E^^5x~bIke^8RPXK%(!d0-NbpIs4Ka=jC4EW~=)ee4R zz^5Q^`lkXu4S~}?9q=!t_%8wf3W1jw1>6LI(`yR&41|@SPvxHp_$=xE*?`YM;N{`< zP*!tU%sS&Cl`_!;J@OO3*8?s< z;PkoxE=1t%RRlOL-R}yx8v^xj%HJJuv2?!&;GPKGo%7P{5HiejlDKL9y4TT$&0aKZLfi2CW=MrvMvRM zJ-bzqNpPmm&N>pUeBf0-m(mg9;v#tXp zGuyI7S%gI|=XuidKiGUm!6%KUZ1#7FeV^~1Fqewmz%CJ1Iv5CCo|j}BMYzV3h zyEP52uyx4U8?vH^lde%4R_5pM2d4mCBlb$MdqXd>DyP-j=yg}q{D_xDJT{Tyv|i8% zAx(J{mi6j|GY`DCl~r^uDZ`?&{ZL^wc)b?1sn1Y3VqfYC2g$8z=iU`1)ED6e7M7G% zVuFtYXE&nxiV{v9Vz&WBVbi7$9jvqG?V@fZ$MXU3hSJK%7 z(pj=OWwCe~&ov$m5+5Cpq%?<%mczk_-w?fTz>yq#Q!42-$Y!d*FzDP%kPQ%H12VF6hB9bmmp4i zpZq?>Y3?n@FOlNClJF@m<5OJ5FGHOA9H&R|^ASJb_JSkLcWt&`Y5SgAK%2%FUKaWP z)VFz@#$B={%Fs+~P_?LiNAb86z z>)I77H{{U&@{I3I7o7gyd%7B;ByV4-6Y`4_W{z{;2 z;U~b;$NlFdaLJY|yZ|1z&y&F?Md53}_024P!gq-4Y9hE~V-~&*_#Sn*>dwM41 zBK%a~(;{4J^fMy-Ex>0+_*uY3<&y7s!^6t-&@ zM(cur52YK{lw~f+!GMoMGpr*-hVy!qa%x_sYMf5k%0=#gt~=1HGcCKV@@vRR_++06 z)*}**!LrrODfB+Jo!sWQj=VK>Ned&_?4-HPXm8}3DNnYiiJfnFYtkPDot^OCjL$Y; zrX$er!dD-FB9?`!)b%ArIq=4oeJEyQ;}E$ISq1Kec;BCpkH!{blZC6 zCJ7ve%gVnM3x{DN=!KPgwrAKVadl*KCucjTMp|iXY9PGZU^{P`tMnT)FXwcAQe7O` zH;~?sJM?h-@qW*&n|#Fg+Ar$gtV#W%z!cIf%?u)|zjkDMvmI!ARCm-l`*Xs$8hWFB zhw9!s+j0$MltWsj_tC0XYAsUx{y0PCEb=>vvb+%|xqK{-eU>oENk&_SbPFny$8P?n zT6yeHp+h;1US0Vik4IC2x|7HlE(tdq_vj%vEiB*g$GTNy1c9LY~9=JyX&#}4z@8pk{sp) zCT0JuDnv*QTY{XW?1e4)oDbHcMHtga4r|7Yw@jXdbSWB=)ka^g2`axXIV`SYtrHE` zSgZb?{eS4Z-&QBRJi3XseH=*`%`pdU$(3%UF>0PL{95=r;ri9ItWnMBgVkb-SS+q9MFB%`2T}N=94P~ra`%IH355N-bl`LD_x@1oC(JXimOJ-@= zJHzrjpZqkw4(26>Nz1~ME%(-CRGiVcV0aon`~BKEv^d2rVfTYEuypST=?wof>p-pR z>=(WN(E1caw6uREt=52J9)Ii3i=Eq6dtNNYHRrdKN=U{Ani0q%*~jiCys`S3oc2gB zi12p+zca$$1$<$IUj+Q_2)`Kkk_dkf@OvZtQsB!X{BmF$$G=MclF1qVFtEm_7*`uN z{1IT)pW*ici*Fo?FBE^&?Ku|>_+|iW*h2$OcFc^R?Rd=sf6jXQiBq93eyxym`y=d| ztNAkArKbOTEDu_vSg|4*Tp`XYAaRR>L}$*U1o-4jBqNQ=9G!)rh&pF6qT0~GbgwKkBj@cBNDeQ$hO1o*HxYH1 z2*WO!$@K^AqNV9IM=E`FS`HL!YbX`*vzgJ~%YFeIPFa=O?~D*zIi>|VGQC-%QQ32= z2d~~+eSUa|Z}E-_c=V0kxT2#A%bXO@QRcf>X&e*Muu!c~^=Y1~!gJqlX^XamU?CB9 znAkqd22jJR<1@4@N@=tO8q3`mP;~X0G_F4QvF=ql9+WSud54zkqPYxR`O)L*D&tgPa^y=;GahL&wwAt zS$7NDu zQ-nVU{O1UN9{4XfOaE8kzu}Dj3&4Mm!v6vMPn^+z5%^y?i~n!n|3r8OK4ue~#orWo zGo0nOIq)l@@GXG1#2LMoTc(({ofG6TC{_emvJow1hqK@Cd z{(&I_Hs4V$5fpCBK~ube8RIo!O~!@ea_5(phvMYo38P4u6S?X z3x$HZwAQvdd!!XE@%JIV_7P^_i!VAb_&)uS`HDu<{`9D_hWvi$UjGPe0A$8(Yt&z3unUqfK+@-2v@I_^O8lw?gXa_?Gvs-M(%%;aS); zN141DemLQ-4hc6}YO|8N)Rc2nYqH^N(RUz7_Hv3Y^3Rgj3fvwqOP=gzuJ7;)e94If<@-%NSw=X<=}9P#ZlaquhBfA9@BZqh^OFDx#4`&&li6+_V& z)P3rd5J+<|bi~6M9qkFeWLbRa1`&D`I@3uTk1NuR4evC>(BVl$X3a85>E+r}KoZMg zs0yvmnVgMgwZ6g}9tI!t@bpi_Ij zt<6}TdIZljM~rzrAIVc&pm{Vjn|M*Jeg89N;$B$brAhFO&|d=GCmFaV;>Wn!gWZ*xxkUZ;uX8Stxe#)-3S9&gF%=_2K?sEAW6Hd-jEkZ&(oN zT_mrh{f6{8(rRrsqH=J)sY4suyy7#Y7e8*Y%Q{)57l9LQ@uWYuJ#JW;WE3|EajP=w z`Lg)F%$;F(ld4IiQ^9(gkH%ucYi0 z#_`q0gxB=j5wFYCs4ySv_Xnm;4S6z=wtqV>TL@)4g9bAgg6cgT#$ zic+cK^#YFd_8)wuEYvXoCt}x0a?Y>FWWGxv9Y(e>*0a6l6kz5TRqeU<%98B*rqtX> zxxKQGBbeCFTjMMoad@ts+bY~C3Yj``_&gK?C822MI)q$vsk5?}dj^PC^IVz-;rWt6 zae1CnE-2B?lq>H%;dC!Ac^$rZmPz$`(wS{A5vB!q$$<^eiwr}~%_OSLVEy3J; zR~B`>zJ)A(%UL#RD!nt=xe4|T)Oih-@XcPEIrJ@FE_Dq)(_iL8_*#d45?^Dt<)`nM z;4Hte*(6bxoy8h<;|Z~cyQiaU1Bm-vO<_;0JuZ3XM|?L}R$l|I=QF^?Umc9Ew!0ws_Fkt`j|tCRyPz-j4w?zV zgfNEIY47h2{$zU`1MnQ>SV+Df5Bd8Z-|XrMeV>8Kq8xjo?7x*YIxNbqm$w8P-HVDH z-Tk@zsfAtzO3`Q`ioi1X-H$S*-#lC(b1ekZs_m8_28_N^A=k2&#}$T|B0iQnN@aX2 z%fXaKby4Z+?`cPAqdVRD@};AC)(l=f@jf&1wB*UOdZxug%`->$}CzSu14* zoZV86{)8t%LCC-9=z4ovpW336)|#)<%v|z5n(|M>Nr%bLwd@5_fEx%?d*OGM`^%q= z%{|C}WzEQa!#kjP7a4QY3U!*v@w8a6QtV#QDQ zI~6O+d1Jp=u!GmoQ(oQR-&P;4kMhmu9WTd8{_5W~>_X2S5aSkJ-`Im@r`_it+PEba z$&DH{k0ZvZhU}o{Ays9)MdQ9Q_ie)c**FL5+p zpN_9_PQTICQm8H0wy%KRTxe;`)HvFNwE>qgu;uv-aWvMdty+BXkq1P07Wi14er?$@ zww#jAVjBkp%P7op9#H1DFe@QD{BBps=yVca>GBv#aN<5r7ozUL0YVJ7k&vU38V0)8 z=Dol*8#a}4Z}YNfqq80w`o^wCo!LX|fr_2ZRm)r4HHHQfeepp}rlze0B#Iw(89(yElKLj-JFc3D@0u$elSjT2-tNbl zD?UCA_?ky^_!@`G`0D=y`0D>>1pJ)f|B+|<>03XGv-h3| z?D|k-xDDe?@Ss@S%yVwG!`YSyOU*gbhX^q9!J3MD;Nv@dr8jEk9%1?0wUdv2wcK7SaZt9c^#n^tW0(1qfjhJRTYZ3 zBtnAO_?d_`b+fZtv!}7VzuYC0Q7t6~{^guq5u)-qwA|&&Urs|k8p50D5upHT0D(Z9 zXPKQG*YnDuKn{V3ZxPJjzNS+&v+a3)OxOiq-}DXm`u6*V=Lh2Jn=Qmw8)y#CTk*A) z>Iwd7;rV&^iho7$Z^RcLeug@!eP!{PXdZevTR)KY4TcV{Px#;G(C!)_Kfz=U?E*zI-yCvW@coj(t*cW{bG%d;?gWjiq9CM!27*c09H$NU`7<=KAjnG48Lctb~HJ_cBF z>J<)4yM~_7$T{(oKFXZ_4*%UQ3jVeD8Y`~H*SmZgU+wI6e0|S*@x_yW17F|!F?_A} z=11?gAbPid6Q*~wvFF#o`YHO;IOEwxYhPU1@0r??Bl8b&efe4__b=qSe(axQsjJhbuc9pHMu_XYp@P=?2Ork~321a6r3n*B8K^}Vc2 zMPPfc6*|NPzRN|vFWCFt$us>#`!1ZN?E+TXujBMn`29EwKMh#nJ1c;nyjStZ)^1y~ z5SYy~t1rn1gj@K85DpJ@T)tf+=0H1KMgB+(tRN?Vv+NrcYcX>JTrN>54W;u-KlRI%iGjOLz}iae^CE!gHA#`XTyp! zfI%|quNAY>d8Qh+tg-Q>r+ZI6)=79D^pAwTdt*P=_PR0Du7HO-!BVTc#jG|v&!%Cl zZ}2EOIGfBC7mssy6l{o6?Fc=X&~oT#Jz93EU&qK28rF7MJ0cA#4@ErUGe=t1Pm;$x z)%g%_J&4=}3j89pnxJKER_$Bu+S-Bos&H#32L*i0TfQ_bE-OQwps%P=eElWkGRvTS z4-551{4vv~8>RNZu_oLf{(0apMEI@1w?+6Dfxi^tUk1KC!oLFi)d>F@@Es9;C-7Yn zemAh{S3kY)y}(xQvR5*RXF-_Q>Mn;ZZ$lYOUf2aLUU+Tr>+j#WkMe8HxE1c}z<2Xfn!hwJ>OP+PdA2a%4*-7yXW`!j zelWtn1^n#@{|@j&5&kgncX6UE_dQ^SJBi?Az&7&;xaw5y`@lhB+1f3UKhJ&;rTrmr z{h6HwELj-xdl3U=9*yGu2p9`R7@-b1rC0i8GCz*u{RDWh?g}RvVK-}dtx@SNI!+2r zpJ_9v??2s})&#?BX`fiINtcbwv{7!!_{D2_zKdCoYYwm+ma%a4Yw_jAEH?SplzA+A zkDmg6i%PV5*8M_1i^3lVt`VbGKSAb+DBhF6`WE`hmt)A;@IG#jZcUm#KVJsH;(C(N_x-}|G?JQVx=%t1H)UHL(j(&uBwQMIq zES`8;*GJr;2r_|HuwBY%doravH^jH}O9IXe<>cPt2etL&`a5A3uQ|li{DQ>I8)A>b z-xR|APGugmVgBSsclDljRX^0~RWo&%LrQ~vMQ+b0{wUXP%qZ(vDwpglhi z6BM;C?6v4BY=#!c{z4o0GBW1dqheqTwdhuWmr%Yw-s?D=c-H@35quMF2qkPSQS-D; zwU7x{j&pY{eTDq>UG4W$`_-04@)6nAP|tV}IvV?YPRs@1;=vX;d8tIMd>xFtIW7L0 z7ahTddssv(pJ<57{EIvmkjKHa56O~7N!Ay+x{>cXPRj@U-IFIlcQ>5jR{`&VtG<`F zx`%~wZ8RiW@-!y!Go)9UES>gwhDz6yU0uXtRexW1HSX_;t2|4z?7sF&+g*CK#WN_1=& zZ2(I%C8RODlk{r;y6_$uy=;V3B;sD-_kQP41Qj(c!&KrXxFO{KSS%_tNaUR8wR*`o zqMCju*ROldlHWBh$-X5_Z_cjG%dbjny+qt?)|BnibRsV)(Li#n%7J4cdRoRWhBB(~ z;XNpBq3G5eotTorp81*;`PE24@_nmwy?q$a=4O>*WkCpY!iG7$>{qcnF2RUPF4?`a zTxv{2ojsZ;JJt>1TdFLQd-!7&fy?SHVC1Kp4UJr8>9xKuti%^@dqVI>*PdYfG_W-U zpEk7~dJCZ|nQVev?qjHF`PxU|O<_zYD)U3)t53f9gMME43AolYzsA=XGrDql9s)6- z8?(oK$nQH!#;du^=7(`~c&+~p-vwNAli~Y-YYkxd%(`&R%?ZwQ0yGavQOi#pf>vXN zw%qLaMB?2}IrL8V;5&IfzSf5+ePGqw66l1jgnIVVahslC*=JKWUfVy7_|qyE$}CcE zaK+}I570lSkY^Yb>Z7Ie)HTFYnJwK7;HoRbbzW~xZ%&dR@gc%KeNN?3@7hF*67JoC_X zz70Hzza{Ty@nz>Cu8)iB@b}l%kL(tzeySQ1Ra$T4`JOnhQ^CQd&Qh9>?&Z~(YWeD} z+c@7x!S!8XKE!~z#1{8x8-s z^X{f$4BCt_NMn(eXCGkE_dP4!FK!QB(J6Ed0t4Zn*Y` z6yMG9UX-rCd{p?ykNLSUkG~yp^mEjt#JB@N_5xpFPA$cU99k+uq>!u&M44$8ET#;rkJ;ekDG(MH&&|P3=9G6RtVdwRIQn zb|BL9y&=8$gD`(f9U+f;1O?`1J(y~vbun?Zu29`ZN)P4w1Q!2x;%m*Wu`kSH^-)vW z&ji|yWBX==~Qdo5i@G_g|YYxLwt>4K@TFIa}A_EMfH8xlScfj>Q~&O zR5S9qpm@PEqkR+c^qp1DKAx{YSlu+vBgEN(aJ4zdtdea^&1k(qJn;o;I~K1>t(s@@ zai6DXhHoKN5YqwSo=9hEGtGY?@wHCZ%4Dc-7ngNCaix!;cdCsWm$+J%>jQ1^TzY>o zt8l#T62`c_KN8BU_jB;;4)hLY$C)xJ0d*XYvWJ6R@+za~Hm`Tmm;* z3yGupR-1MCd0ir}?n1#VUU#6ScW!3dVo5V7&ZWfBH_`gn^)vTz7U-J8nm&CS@lBm2SzDOY`a_j@pshdi1>^S*3Gnpd*e-Mu!AHc7dl&y=#Nb$AHzRmb8T#Ai$UinUVB_v$8& z>TnXSCi8TVsM5QbxN1w{x0X1W4V$`5NA^y)6Rt5}FIG{{W!;tB z;-;f2C#+ggYM*&bVOhb!U5g6q3fbepPo7_1)YE%v`^^0ZI*ufMVbQ?iljjsVk2&Az>6JUB~G=s(#8t-9HiO%{)jx>O1O(n&URdslV0K z>j=c4UbYiNsNQo-$L2SCIjH!6nYd7%RIQ*Yu8=(6izmDWK(&x3LPI(qFO}9wE_}k- zsZA=q{9)#O*7Gpd5bE^G zW_1&;IqmDLht$`9gs=Ab`{4g0Jl}$Kljgr+=pkwO=jk|IAYSv9dw1KBcuW{A- zncA>;weUTw;$ELNR5_JeWWm={07vWObS@&XS6~Xe8`yY;+@J zT@$N`;HAvavhTDb@Fuvy``a_5+gEfp?sbhsfOvLL&6qH%v9^=Tvt=;nKxbFL<-sVi z%PsysdGQeX)`qhza{P+nUEm2W+W#5WeomZ5d{6v~(tCUKgYBDSM`>C&6YEoao(h(} z+O4YS@Y7maKY3r|&uDdWs&;Vs?DSR*w%wnvwXy3m;?K*F2l6wo82S)-90g6yN2=Gc z)2_u7(qEUh6V@nX5y&5x8rMm{HOl#Q`>kE_+JtJZ{Yt#xF+gNaQZ3!rofv;_~yW` zi100dw~X+ufL|HmTLW(s;oAal7vb9j?-1eRfX7Gpj=(!b_ypjcBm7msua59tfG=^S z_vKf68vFP%*hX__sjnwnY4Dz;pmdb=xB0u|bVgDt+DMeXV`D$W?ujG5j_ zol`4GO%Y|zr5t(kI|rBGUPHeWpC$KNV9DmyZRH*UhN{1gq}A)E&|syb)1Ie?>ADsR zg+okf>nyO^d@As?2%io-_V2K|yHs+QXqRDqW(HlNFf8foxMfmi+pqZV z@Fw0>ZNG>Vu2gQ7(G_jSV=Gv7o7aUf-uiU5r&YVOE=HM+Y_o`|-T78DkoroQ^Pwpj z=evV{IsP`_AHtXHWn1=Z^_@Qhu6q9pzIfZ1hq;Sy*FZfe9$scY{>;GHcbW-23&(%w zW&?zM^{@?XyVwCGUcD}&WFYKo57H%Fj@0bQsQvvMINkRT|7{K2*287Wb~G zQc%dmXmgRvSWHvRYu+aG-g0AdCFLnnj;TpaC5%`a;FgH!dZfl7p|#^3{_Mfcz?%CE zzYTa|gx>)yxu=ES1FSj6@CShMs^xP(u}E zZs&bU8ofs~@ zLVR#CElDP?pOVVBwz|vnsoUUd-)B2~qGq-azRAKY-cW^>Y!NdHBPp-s5YFaOJM_hu ztqJ991-87d4S5fhSCf~ONjkHj(2d@UQ&-ra)hWNJS~c;L`7wFyPoBLv)suKA{p5*% zx;(<)2dudI>G1)$UqsD9`j3N1PA$2$tFzUj%E1{W!+yoh42u*(Pr7SD( zZwYxDejm8L0rRO#=A>)$d${$zDOfszANsoApV=8-ypVpDUbyC_q3oPkx`m`O8JwmY z_9bO5C8fKLaJ5&Bvqo3#M0BlOcCH}kO{L$vlQ@%b_WjQVmQ3Gp%`eK^pQqytGI?zQ zZuVSX0FQr`PHiueomvwdB)ClOA9_#0`keZ4B+swudiBJ*prv;?oQA#0GAsd&@G{5u zlWw2rC1RVzj}WGBH0Cv3WRv)5XdVsCCdNO_-Kfz|li;1=h6^0s{bvbU_UZ8k#0f|z z;4=F19sPY}E|cmWnD>CUZ#Y^3WX!wA@<*-7^^^B<%N?Jh%zF1(45X69*Yo#B@a_2T z+#GoFNp9XfpyO}|DDqv-$zCG(ZGu%dg0pC-Fx)-+4KLTeh6cYg`Ppx@`9(6{R36**&02YEp{V_v4sIU}YS3)za6z`l zV1}47ylkO-J833Sn6Z}wd2K^|j((hfnmmptkGpZ|@3gzK@X$Rd_+?nR3$gVY9lppW z-6%Q9Tu!(f^27&UuJU2IxRo+er1PP^?eScqoFE=Y(Kk%GXuW$iLNtC+3f62 zNol~+t34`x^Pniwj$kjdN24k2DCDPkNbzfQBb*wtS0d>kCuvkze9bqGzB@x6N+r^) z<@yHFLxbAgOw+tEq%j)$wxS_DB38%}Hx$($o>WdtJkTgbbcJWs{xeQWX_v2-9b6GV}bY0}Jo4|%&I z;zy*zpx;aJ`=&eO&L`-c!(tAB^rIfwg&e+_yPY`+Sze8xtQXT#-VWyAR_IrnEwIvV zFWh)fJzi9ti?;4+tVtAeT;c03G@XahNnOCwDRYEU+*uNsRT?kY>H+PXI~xIU>$DSs z+5TLiw4Cvv(goGkT@JTWmu1hAtC|PqC|3H^v^~-X7A@UFPD3oJELm`p!(Rus01h)n z=9ap1DdO)VOVJie&M}r!U;3o_`nAu|9K&EB$8X}u%lzfO`Etkn^@WPgUzh2K9Bd61 zd#nzGyA#+l<6{q<4T@z&EVgpK`&1pxt}H7yAqC|<`rHR-)>o+ee8*+`&@Nk@szuQk z*{4}lT!7@pe>NTNYhtm(xfq#jEN5<^jcM(1FTVJ|hw;^~AIBG8{3m=^nan@&#mjB= zu$Pza68y>dk~Pi2*VukicwWR;{L}CyKe+^7`Ft2(zVhGv zyMFI*SA6jeGw?O1%)uAE6#;J#;p^~~{_XhN;9r8Ta$JKix%*e}MfW@SqT|eH4%Kd{ zM5hFjMvxRWMdlQ9T6uJH&rPZL_wRYx@g|S>ytc>JJ8$e*P`hsS%VuT|32WRqcL;Qs zLU&Kbxf%F|?**gW}G2X0jPg23ct}`Wk0z^AD@}P-=@Oo~t&V zqwP%*yDgh)InE@mzFD9Y%gJ1sRWnBSm&8*Ws`& zeMy-CERX1%QJI5sxi`9#!3-~sZ%)FI&T_J@)Q`4-ZSYE~AaOQxs&pHnt3GJ?98rfa z20wuC!F*vk-`zP~N8elfi=5v@g>>>#R+CevJJT5K6-=HI(ftPL2}3B{ zb;&c=X*pVnPnFfovopaNRdr93O{c!TW>wXhp8uiO<5b<-UXWx8EBHPMPS2Y0TOxcV z@Ugf_gyCh5{CBQZVYsok!5W=U+nG&HLYKrP30@CLk7p5LbyGXdi#;rhco_1 zW1YT>>7dl>$GwaA+CSl1nNqggSLp31uAAP~-7_uMzu%0Rs}F5#@0>NT|6Z-L*B*Sp zfd{SG^YHae^X4=!STuM3$;(?#U9oh@zKfTgvhc{`RvtU`_@j?HVbw8joHF?>Z+i2j ziF@yJL}rssH{1LbTWq=2E4SWe+wHdBVchr~cbc&Ct6sg!YhL@hU0?r(-ICq+IOMPs zPii~u^fS&p>#b*>bMD*Te%|>PyyKnky6~cRUwp}X-h1g~m%s0d_h0#etFFH0gV%oO z!`EH^k&k}th8sWriJLz8sZZbhna_Uimd}6T*4w`Lr7z$9m9Kv7jyvzV`<{F6`}+M4 zeB+xBe(T%cdFbKqe(#a*|KNv@{^-X)dF-b@d;EzffBuW7e)+3kKmD8E{_dII|KX3% z{^_|tKmV7%{_Tao|Kp!8{_EfW8GBo()k)J`H$@IjY4W-0$Kx{Ek3E1fC&7<#@e76* z2v;98{7(9|#$dyB&!_gX48IS2QiSX7(Kx>D8r8gQ@rA4X8LoRmwKf?%cE}{3D?Mh< zvc+!Zj{ieC=F)!N=@-G{@^^v9^n{Dv z*xMm%TucGYo<76rM*0zmx#_2VohKVrY6Ds`bF@QC;ToOoEaM`(-AM3TvEq?!)d9hJ z`$<}`N@u_ht+$g#<1AjLgFju|K%K)^ed}4CKjN4>@r6_Mnbms6sbaTmW&yNXm;drS z{zdI4=tH#+B&X)lNbtYG;chgv=`?PCFR2feWh;Aa0W0X*njM<{OQugVj0+#ZURe-> zE=4Sa^mlZL34j$~$32V47JEMBd?F3&tsWoe&QFectuHgu4G0f=3KCgm4ubA7%JT#h zrpEeMhJ6KLnn%Z+XC%YE37V4Qnhg6T-XFDr4yP+HEv^XCZuNxMx3{uCNg>r=MnVf7 zibWf9AvE?OjnQ~Gy#GjOq~!^;u7H;Mv(ftQhRdUGn_bTw-I-^^;6x~zd#toHS`C&N8-2wU`x#@v?bblhHm{u1cU!)e_aJ~PdAhU-2v-w&KtQb)IJShcC@^0fPD)7+SC@Ypl08`aX&i?r;iY6oRjE zuB(DvQ3(-X)ZA8uCPpxzUtX8(>uKUDXvCYeeTg6#ch(mAD*f5+%pWPwE1>;+@OS#P zFaI0xRnCd{l2=W}*O#=qI|y8I$+`G?&!a-TV}idb`1TIdh@*FC4yB=AyKA$0!kt); z20Bj!-_l7Yq;$GC%b$5CC5gN?L^-V^jqQ$p+AyS?Dyva${|9rO`RSDnwr*SE9qBf%N2GDqWUY+Qw}w%CEM zZ`FgZbp63U17GRS##cW$Klm5nt6g4=ud(n`_*!?|iZ42M;%m+M9elNk$MKcVZ}An+ z#ue$vX+J3bMdQn`>p4rmkn~!A8NL{N-#UCTcr)t)_0nM7NnKxC%p5ybo2Opg0dxy3 zS-i~T-}-V}z0L~wVfgB^N8zj9kHOb_TRBbvPH4=nWD{&KCP(lgAic3QhAK7T18{$@Jdl|5WpD`$0wZz2gxSQ&` zh}TGPRXQy)H`_P{?E(pe@NNaP_El>`{1mOG_KBxaD7*`FS@LkKMo@wt32c7WA*aKVdP^6 z+(dlwCYG|Y>-s;|>TivC9f-+o?70@55k@i9&yLG1=N&$Z)7)qHKLS4H z{G5&iOje;%ZV(*wuX@RM6?yEyN77he`0h+JlBLz_sqx7DMq8et^s_R5s@2aLE$!j- zj!uNW`p!I@_<|VM7$UvNvG)@MhuA|FZ{J!e`QGBX$czJ=u+odmGY?UgPV&5!k1U=< z>ygpEFOo<{x;#+kN`vkOO+5|Mr#JNL;zfV+VuNfClpFfi$yYO5{G9KjTDvKKr^kU| zBpnUTioNXf<_uyTNy&dhm|wP#u0oyh-?@GOF1U8bi`Pca*8#7`iD$vf4Djbv+-cFX z(}B;xy(M~fCh%Ffw?@y-20jOOZuIPJz;DN$7d<;4_yXM6zh?=-Rx8V_ZjJ`dWUO;l zUFhj;rP@`Knas6+_BKzB1lGK1_))+bdk4!A;Bz{)N0}jO_w8$zKPLMJCV$3 zsI`34&^qAa>Nj|JgAsjL_4D^VKhE(U8VfXk50&>2eAGy?WtPx--`Cyte;McO?Y=YQ zvx&Hb4Hq5ru33%@sBwEbE1)wA8r$GB=Txo4`dI7*jJ+wiuI)~U&Yad(q(j@M7|C*$hR!tAd=ehNPTcOm)c zC;TE{*ktz;t~S){Q5W6<{O&0J#lRg=cnO28*%k#cftN?!UuHz5J_B{ucO}JE-TLE=&jj#v*=5>qe`Dt3Jgmmnwkdk;W5^p>F8*%!H z?#FS~4qnAruXb?>PCtde2lrkf{DfbMyH)@{c{(#BS)P8vufTmr2tVNu;qDc}PxyVf zFAL!({C3=}Lih>44fk~+{Dj|+t3Q+UJq7Yp_#?Q@1n`r$Ie)(9Fpu8>JSz&H4gAk2 z{6*k9Bm6Gl`n%u07=?ccxGADH5BMih_+!AkMd1nXnpWCW^l;@Z(YV6TpW@;YR>VA53x;HGk=X{T*LFMH64SodACFw&&0B5q<*j z&Jq49;9tAgKK|3d?~D4?6~KRs;=cg={wVxP;QlE6THwD&@uj2lfhhh}z~v}@1^DVH z{2Jg7M)6*8_hf!aoZ9`zZfE0DmkBzXAAnQTQ{!H%8$f2i{~;UqD6M z6!`s7d9MWiL=^uf;D1H*{tf)eDEw2v?~c-64E*UR{AS?KMEGZcKNsP*0I!SEuLu5o z6#fO^TO<57;4k9D59{%l`154}{8Y@_fiH8I$1ex|N)-N8;4`D}vw*)Ah2H^uVHAE5 z@SRckUBGuo_&vZqQT!tCy;1mmz+aE>`+*;b@NWQ1PNJX6--r8V6#gLa4N?8y2rS#y z`pJ8dKOb_K$3G1GttkDsfxi>s4*_2t#lHslf(U;H@JAy2qreYG>Aws7y$F8<`1=w5 z1K=M<_@lrB5xrA^e-wrP82C@o`#cBy=Lmlu_$N{P$ACW=(YqG-r&0LNfFFj-}u_%{*$Tj1YC_%p!2kMKVL|1rX!1^!cnKL`Bh z2!9?}HZ}B<_X+;|B?|v5@L!_vzXJa)3V#9E=I`T}zs1M>B8smw%JpZE{~o3P2k<{5 z{6*k@Mfksg{}bUE^4J8YpR(B$c(VxK9QYLxz6J1>5xy1hD?e0$&> zB77Y1_z2$-_>a;1J`2246g~lX=Li>%^XdrS1^6`){#xMIMfk43uaEFI0Phyz32?|h z^)!G2@dt8?q~Y*{Cc{o3L5O~yN3QTwB<`LAXP6KhtToK^{+qu3zAEHcip#2Hv z!maV+U$nn6X#W-~!l)X!Lq|GoG!N2?McK~Y8r>@cT^}_%pOmJ6FAimREt&6xTh^N| zE_X%}M6ysSvme=4D&%C+wzRI?lkF%WkuUbIudu^aL^q;TmVqp`B+GrJHT|egv7cFD zKQGV~kEC~VM_1B(WrZZ%1mObQ^$+1ev)ghj`|~rjJ$KKTFA{W&?%v_u<~Wm)DPigg z@oNb zo0DP+52CnRg!0MoM$N~J;z(AaZ-dr-R2lj{w&f{VfYUlqt?5=;ZI)`+5_OdDIr&uK zQ?`hgw6fj-tg?ppuPK7X(H)42WA9!QX=6KrA6)#|y$0{8H~i=oCw2UOGPa~z!?kde63 zq8!gZ1^q4X+eyc8mX5b?0De`3YmF`ZbvXTKif->cOe+o-oy`=;PvM$^Un7K{aE%)` z3*aYDwm!0nzwwp{psW)EGkJcbBJfk3g*Ze9+HFNZls)Q7vc4sPgkJq$T4bK;;1GqF94UCYIGqWS0*Ae?RFcU4^xhI^3$Gz%3$AL z?dCunz25C_`ljZaPyL2k%PYrcCPiu0cIFI98=6pkV&Yv)`aSXaUQUW*WqJh_5tnH^ zafEL+cHunws*)x9Ir2B;zZkk&Td5s+ePlF6J1}0KWRsRIM!sC)ro<%N;^5UIlU%=v zowA(_oU(A`DvSvVeVEY5Rp#A+$69O-UQ!NiA7pi$HFNFOzK?5sS05QI{dA8;`(N2U z8jG)&%r@hl-0;icJ4F1#koF~`@D1rt53SEJ<`>{>7Tj1KC9a&`&d=P*J1nPeUcn$G zc_5Oj8_OIGeXmBUCCcRDH@O2V97!r6yy$Gh?L0DR4r zi|}{Gw>b=eHa0 zc;PPw|798iYc>iP|5E<=5%PI6^^~PNEAbof^;4hS5BReJ_{oz!(HT+rOkh{^epmFg z?3L~PI~eT`5>K?XAEKXVY5#3jL~Ay%+LC?>*PO{Xghn>@0K>eY;gP|ZA&FZ*nI6i- z(KpvmX(r&*#`P2K+Txhc*AKQ$%bLt-OUW8%*h0-r*kQceVqB&-TBgTl{^> zD!ybkW!1XNWD2)aX_||@g;35<1bg$t*|Rg=8*6*HJooxGd3~i=mx*a}gIj;bvAaR{ zJ>$k__M;4c#ECDmz$7R`Vf+~@bcs{&vbdimp5|+s$A)uLq+r>E+u>PD8$Ph>1{z})5|8OKvn-^m`F10aOANhQVUp|dd`1^^mq333 zZV#OOB7S0!e8Sn8Xpw$$A=e#DXZ#g9OnaFZ@U_M>y6WSi>)Ul%jHvGgDwtn}g@ug} zh!&~CzKV{lxt>t_gu$=X8+F-tg0IIJ_^QYK1O7&Q)z@5n&3`NK)jxCi8uAPHs(&lr zY+zTuVD`ejR=%e_uM2|+v-kQI>GWRp@29m@b&aRjlNwrTMZ=LZyBJ)=lpQc6wzc66 zYB-}FE`ftwY_0coN1s!G_9BxOr}w$T&g0#Dvup6D;A>vnA7A506Ta30OM-tKzUHS~ zz(?1PI1}S^?HlYZ9H)0PG>?Y1>NUYNn+XxuIQqJ+4tIW)|5mTT-;8*juz>DX92D~F zF7Vvg;<;I%?Ade99%TDE0w2AMywtY!Embc;2e>Xf`d5gj@k;Rw?*~>r8r}fx^w(V; zvUcE3FmMVI!#+K^b}wV-EpawL-26Z|>L#H>+Lrzi>cQIXzrj^^o4?wBv+aYw3%>Xk z%X=QM=7~r?=wFq=LzjKPtFi=If%bb}ZllE-p$4PN3~TgLE}<+M$8W@mS2A4lpVo#U zvN}K-b|Hhl-pk_tqz=C};2|xy#dL5mG+Eb%1UFglewI@)L6D+-?pzI%jg?^fj) zWuuC!B-kHf=)8UxUmyE2=!v%B*8*$pZuoV;Ga_7ih0-Un@UH-C{4xBiz>^|e?NRS; z;o4J<^ZQvH{`ES1>rlQ>@|4bN!gD{$z6`A;5Ynvjwb%H%QQuKn2i+~NyBiZH%1tUZ z;_J%zv40@Qt*Ll3yncS0|60EW-80mq;gZiS#9>iLW;xpP5-PCOK`Am8XMe&E!L`Bq z=i8(U)4}20EG(eE?lYIbr?$z^Mq68Fma{+>C)qbipxakY4ogV?AIhLHWxLn;ac>;H z=EWMiApv*hWM&htvD)I#0oNGBr*%K4oCxE9Iqtr`{$81em@FH8Do&P>ZS|C~S7a=d z)gXTnWmrM(b8#wLs5jNdG&g~hwPf=gg!NN|v!U)5z=tQqf0p#q@Q+{;-UWYi+#KN8 z+Lid7gLd`r{(4}|w~9BHc(MLv6S(C5n(q`o4}3mO@#Pi(TX|c+HD2jd1@*+C@;1jn zv?YtZ`kh9sgb%NEop_SQBy%lgkWAiaoCvITP*W#S`0CK-{9tTG^~e4VYU%m*yyNS~ zJN>o8$X|WScRQ8_;l!Q0!s}(o+Lj?PS(V^I@;`xm4-ff|AuDeT5IQeFa}NI7Lp>V) zMsW2L{n|!gKgH5X@5kDhJ?rP0=Besf)T#R}lR2)@n&C^@Zzr2w2{(w+4sLjZZwE$W z{V+75mQ+qK&zi_+LPY2p=xAMObdG?|WN_I8q`$aBNwatJ{M(VVUA1Ysg}{p<{3u|f zAzi5{5l!i8iKc~1-%E0Q)+VkvdzZtjVth@{>2+;8-Tx*b`m4ty|);G?}cC zp-`a$AyBCdB<e$JljE6Y(qdqQE{?Jh6p>0(b9oZzZ+u~ z?cI}bvJAc7tqI9vh60lT?vS%en4q&x%R^R5-8_w7)4xWw4G{`8O_FA(fIn-d+dS8L zOFR62Tv;{I%aHDZFHqmnI6C&chdum-g+310ll3Fynf1$n@Ev^^OYv-<#~C1AMt)Q?O;@6qZ6Xn?@u_{n;J!h{94JU$Yd4c4(b3cEnrvp$-d=V$kFrVD72_H&Qdv5TD+_~e?xpKa+)?XF zwx_o-xs>z?@s^h`h*Wf@OXgyMRY#u=vV%<(-i`mx^#e%v&+t{iOR~Ll++J;Cqrdw# z+uhH6>UX}v4PP#RBLr4I(j8S_HvEB5Uy-bzVQItS^dOcm*I%5mZ1Q+#>ud+|5dW}* zGn$=9M#8-i84K6CK;iSSJ&QFw3<-r8*dK8Ta;AC3*d1tUuUBb$oy4cPD~rKS4iRG6 zAq<1z_FK*FLFExpl~(-Ih=m?8^6Xw?|&~5i|RY zcYLbW)-)gSgsT~oX`JwC;0F<|G5Cb2oxKUzF@VXCFE>Okjr-54f7;ks|0G!El;s+q z`{&48vg0q|YmPgSd~J>SX5f=>tvC&*D!<;ljkuEUT!OE8?jC$S&wO{c%p<_|+}>Mh z`%s(2-~qf1nhl+5JUJKyUoX;0QC(Y{bqEpj7AeHh+E4oq7AHMD=UH2AmZQ<7tCcdNQ{M&pfaq%#eOZwAuafY`6 zYE5GJC4hTH_~ii)Y8{QqP{af6_Y+rr&t(bIUd++uhE9>@cOmgRaf~FD#5W+T?KI9s zgzLSmjOu6lMuzKs^j!@<9Z=8Gx|gLlt!dyzEzX&Wj&mZ_+OM3_Ih*h~I7@RH;E@sj zG2l4gkArKhu=t+@oQSKbvg7jYOSByt#rqVnc&62?1GNKK-o z(}uSB80q5j{uDf}!zaMwI{XFrpl{dgxahPz&k{#67W;+$I2JyvS!K6yTH5O|*^AsN zY1=Cv;2InCu-w=f#OW!}s*%01F_KxdO-vK03ADjkiDD=Qs`4Ofs*;UjqeA*;JaMhH(7-HsJ%erfbbQ|QnYGJ^b_d0$jf z8XLW8;330Qk7IIMb!}*4qhkph8;=#2cG%E4`wAFA{ANNdJ&0l*BIbII&*`xBj6usK^HPZ30g=u<-Ji98D-ZGcCW_t_M z9pUMPQiH^`)4UyrhK6AELE}0FTz;UJ6P|*vHH+-1oN?UBDMc_(j0)j_`|tFNyH?0KYfFF9p6V!Y>DYUxZ%){Qd~P68HlV zeiiW55q=G@bZ71RT?_o72>&qfbrF6&@JAy2qre}F@Ed?PcHD78G?w+_3r1tijn<4u zlN!f6n@t)^_QvTKjUPl8kZG!krmQyK9__2NaSvZ z`uel@yAxM3kGlA=j&sUZ2evz%OLboR0MgnV`8fSg^=kM|b-3hOYY4Yr)PIIPFG574 zrL?Olox{JL}&Pv=6VkeE4>H0q1z1phpI)sNAb3aoZL$7C8!k~goH z_MKjB(YyetH3v}VO#|q1uEt@Z?NwMU5fAK!wj38ZcjQIJL!#n2NsHkzNAkEruF@6Z z3-g85T@_xgMS5MFM9%kQxtx=GZ^iU%Lixi;MaIr{c8v<*#*QIjxzoUE#|?Uy9x*<1 z7M(T%rWIyhv7w5TV!f@VfcT>LPU4VMAMMV~%(J9~h`vKE7k>+7Ly0OA=`M-QQ zpODP5#%oR6@#v4jN(ir&QaiXmocU^_8@!_;co5c#DS(G z=lKDRaVULMuWKB%3E}r)oNT4c4it(Z;=#6e>B4oD;TlORcNcj|?wx+TSdoqA+8bnz z%vkc0*FHLaC%RSA%~$a?p*mYodsV2{(boFSt>Fm2kq^BPUv1>$z@N~(6g~SS@TYKA z_M3?}85jRXqW@;;zeqyuZ5sZyI{e-`{F`<7!*%!%>+qk};gV;^`TeF2|6?8gmpc5P zb@(QXw=umf>u}lWioWLr#mRQCw{ZVSTjHDSA8W2d8(lqRD+jvViFP)p>oFV1l7 zM>R&c_K_AxcpGpW|Du4q?J&*74v?taKk4V_3m4M#8vWN1e^;Dt;0RlSjGJ(1GU|$O zqA|&2o}g@+A1%!dz~VjKya9i)q4QM#udC}#Sor_1uHNR0YIXIT5ehcn8`jPU+N5>I zTQ<7oNh!7!p_@O9)u4fFSk$i%ucl0GeDjlW8kZYPhr%83aU*vkGPMf-zVFerxE@nX zK60a@{66?Nd`HKn=Z*w$y4bM(@q{ykZZN!Q(bD-#=C{mgoilIVvZc+fO>&g|2GxiQze`{UR#K3?uFe;tyq?%W7FQ=zL;dv-^H%FJ8I4zfXgfcXcF4n=4uDa1} zBWxzlc<`mb>YL0_gYDQyHsKFBdc3o>uJwy}c#T7nuNfV!2O>JrvcT7BRSOWg0JL@| ze!QNK(rW4M6GcYi?;wrF0ZXHGq|z9!b-i#~x2oV-S z^w?B!HyWT1kjtyBu(eQ5G>v4jed5MKXD%hjNt3>UBni`#MV-1IuAD4rZrK`-8EL@Z zz3Nnj(Vk7Xfl9W?nUzpl&L)_)PTvNNu56#q@W<4*X0=rGM19<;QcW(Rz^v_Eq-Vq~ zmkZ>sk~s|&D}izlytPj_J@X>(r?G#RCF7kf)tX^sRQh&<@6AMR;|7qY$m0a^lFp6z zM8hwqv1>hVxNKrd)@8WtV(L2@E<2dgWik8;aJAhSSNk;lG{O_`k6%=lk|vXHZZ-&_I`dn>ho@4=i0$DlvVBERGiwu%bJ(+4R-!l zE%!3xYsf@=+nDoln@J5UX{k-#bngEg#@d(-!u_*L-v{u!K(WymuF6l9F3| zF6%Rj=NL@RlTdi2m3u9)Q+Hfn$s7S}?==TtaDORvbER;Df5GHNFD?r48UEgZ|g#Yc_)-}0qn z`L|;E=>HwtGM0a-$^Hqlx3%}JXz!X&V_bZ?emiI) z=4X3Q|BcRw9v&M64c?PU6h^8E$9g*>&xO8dxNKOftojWef8Bz^wgfYlMmAoRCW_Cn z+`(ynR3~-F3%zs>c5z#!X9kUcrI#IRjR%IyR+RARxa2s$hOsc6&DQ*C_%?O;w%`+^ z@NwW8hb{h&b@+rj{MF#%X)XR1;0(bjzIh!kyH#=crgiuxb-3)6$MJPGJ;r52IL2jP zIL4o^!&Ucj-Rb)YAMKo0ca9`IH*w;s+H(^zt~HjM=gM;>&hsv&jWuU!fyp0D)~w;)XLlz#rddusd^rQc$V(HA)R;&Oxot%(F}$R3%_Y7y6!^-Q?(H-$yBx1Tl+GcOnr&> zkPa3`1x{rjp|YO$`8)5U{wSVj0q&%rQq?f|O(!+Hd7mkh4{tPZL;jS*CoOl|C&>!T zxUDxWY?gHG{e^BUn+{RAwyl-9=uLh--$)s>A8&XI@D$vV0u3&l5Ox}Z33q>xM&BT8 zu)E;aLM}}!nTcc{Y1+mlv(<@y|1wUaqxSKc2Fv@+q*eXa$8{^zpl)q(+lV&{*X_;| zv(j!UEiSZI-{ZT4sok-DZb6B;zz#c+w8!7WaJ_&7-Y$At_Q#2#q@~!$m-<`!+w&{3eJ2!pTR4i%Ar{qkzRzuy%@6yNnao!iC-r0a&U_8{4jg-; ziCYSwNo~gfERPq7Ctk>8HVMN$Ccx;DQeCjv)iP-xV}IgvY=eOoZC%YBb!S=@(sY>! z;trm7eVlVQmhT?WQQs_bH~P7)exE{RuK!tl*~d{i4c{MJ<91y+Pz&~FR(ao2!tt$E z1VfFD>Em$nLt{=_q?G2IP^SAc4`f!daoOwcGfiYCEm0fjM~*5v*{*F~#xz{s+PAHJ zc@E*D+PXGs|4YbAvKM=w1HdISGW=+8wJF18S3>bu7S|M+UF{@D8s0*<`JpYn+v| zFXb&FTH;3(zh3u462YUImo2sT`X2G(`QgXlYA2x#Xs2c}&t$!A8k@@Y*=L^yxlFsa zzc!rQK8l~N7i`^dIC(54J=tZX9Y^0`IBuuIVP2h+E3X+$!7Ssks(iF)lp9>$3e7Ti#@#52HwBGcDYF`#ijXeqs+MvpIVyMh6 zId30kALyzNG==Eyu10DooZ5wR?J1{6c4_<+4YfE_h2YbTMq8j^_}c;wM<4~FMbLn) z@uz#EGrp)9`Fp{2gwE1_d2rfhh2P0X*fu{ta~J*ud~2Vo7qw{_umm zBO0<%)t}Eyg{Jz5(LEGc?V4>{r#sTy8`ch9!NHI&?rt>LZ6la!3h4}t*{?wJMV(8 z@Y6XFZP-xKZ)B9UU#c|i#zPg9}I`hn@eGDUObwvPiP?&3#l0&W^ z{?b3C3uGQ)@K71$z7Jf|5)b$uzQgADa`yuJ(?fi4ZEg|;yCm8|;+~LRP9LovERwBc z%WIN}hbCC7?VK)-eL&g)sMEE=!1d>+mn;44lWUEVjc)tM9b+m_t2aCA$4agbRyCAc z`-^BDQ|w$YHN8jIcz0Kn?myD_X1HY3;*SkiU26Oq{DPDB(JM~Z6wr#Kd^)FTCr_E8 zn@h!Wab;-@4UNTvX((|u-otfe(S2K5KUrC}q7kXA_KW0EOcS-TCrhLGZUzYq-vM0j zhuu2HK(YQsF|Y1J-p66P#uC=S`$M7QpKDgdBo2HG^x5OyjoRH4wEFG4PZv#`NyC$8RuJz$$&Ix2We#iH> z^b#(3N&x2|g!e;}^rZi_#W@R;6y;BmNk`=X?Yjt$Ze>~6?e+e**jxOuyYmS4#)$*$%!$lOwH07E2NllJB@D&o{7iDzk4e(lMN(eT#1gKk0r z-SmZMflC8?QEvTPdpxgq0lv~$ddUgIE5vz*HE}^B! zWUQ-<-&4LtGkWIZSd8G zcf?n`SK%vs*WmAtukXJ%zQ!SYj|YI&-lK9m{#-^&!#(dRUIhA64BFFSmY4J|3M&U# zZ4g_50W+3sopuZIxnjxbW}}-$S+q90HTZYot1Uc;uloEMzS{0@@wKLD;GMN*djVX2 z<`ndcj6qs{pG(G#A@TlMCH`XkVOoO(NX98Dg7!6i7u z_hzgX&KSxWV;zb?TE{WeJfc=scA0;NvTfey-(h*xR#N$te&lu>BgmCIFrCCVBaYr< z8ov6VeS6F6GM*(k>zB6H%T*5+NDOSF3X8qS;&wRD5uW6<#D`UM71``YXydM(*mY6P z80mn*Mr$j^anbG(Oth8j-PD1`n7VQ;#>Q61K-Ca9qCjdlxcpT}(mhT+>6<@= zueQ_HUtEVScPn>SmDaTdDQe9J8Ph6EMpKLVn)^R`ddnRRe$B@mcw_%~rw`04I{wk{ z_23$(2lI#Gu?yW(raL)@;}aQGw7g1bX@6k2w5rW0ZJBHSYSNw>(pouA1DD)2u2-$& z>95kqt*KtW;;JgeKDgG)5!BAqzf|9n@ml*=zuFf(&{FsEBqC+pUDo-1I7_2Gqcq0H zs2@i(s_e`lO6W~OYhskYVDX6||1f>jzXdwHq>Ia~v0iyvnKagiGB}$JRyMUk)s@A2 zJ@JIw+^acGYqs?LQ}LQF!;Dl9xSZK#z2E1xv=5N(jYFn&({~`SUutEvh4hn&Z)MTg z9GC52!lJqua>x!uYizGx58Y{`HQrg{uK1wvPJ>wR`r3Ualq-v1gigWHRn7rL>ySMn zT6N2jdQzE#2E4wqz2hw2k^kvCKMyS2>QKC7jNcz{OMg(nv;Pm;8BI=oneB`gB7IcB zK}Ym-@>xYanT}`=dn$)vsj$eirwDr`elVDopov|6foJ0B#;mW>*;BDw(zZR#ziSg8 zQ{&#UXiw{YbAmgUQuTb8eEnKys&{FeC(=g*nfvSLot{HA3~m(Fi$Sw5$wX(7?w zZ?xqZN+&{Z+DK z+hd>82VXSj7H(|Q1Owq`P?jw3uDxcp`$&Ei^qFh*=`8-Qh_Ag?!=DD1{3}X7)P0s? zZdTrOuvht7_Lf?GuNc?-&2*o?ojCel*1jk5%_c_pB=B+IW3Os7pr?8Dnyh%I+0$pb zJu#N&Vs@XV9IfQ@ecGS$kMRk0_yOR?%X}1A^*Z+Q4QI367x4TueSf)@%F-PF2yJ~b z-&8!%_kmgJcxjD9>e{V$Lc_~j(<#Id!L^GKM=+L2JpQRejo5-#OZ>T>iDO?Kf_ra zJ`OzgZ;s5Ai&@o!Yp*IUuPOAl<~f-y^V^xz-#Xse`Or8i-cE89zh#@xx#1!RK^*K4 z;0IAkYke>_o4vp!NK*_gmRjA$ZRUCMQXOW__Wri`+kn0rU;SWTe9eak;qQPyoc!cS z!c}ke=MA2q-V&ax9-n+!>TtMzV-uVo>Q#?-P^LBHdmC;aoZ&YB?}ZyJPxf=(!`j_1 zfS(Oe8<6BN= z0ETz+l#Z@`gd{TYlA2^FmWtD4>=>EY`Ce8s_HTc3c^Z0*w6a;#_uoHmW|=PXIDvZk z%r<_09&`P8CR8g**Qg$W{!-|ljbKM|OxM3lW#0q9e?xn)dHuJ*kx)DHJ8;co3V#L| z{>59-krpM-e$O*Y`v+jEQo4=kKhLtK*I0EOjkNT_1oILJ#E1Kqf#|oE0Q>k}g?f|z?HYSB-%?Z!@ zIZ(hQ+A>a~-BTxoL`h>srTfVI|Hs~$0LWcb`M(hl3@T*sz>{AF2ni%}=b9uy$Uy>0 z2$>0o95X%BJ((sw(_?o}l0i{i(e+>z6?ailQSn^YMMY&-cEuYNuk~16UBzA9#6=t_oOqO;IVX4Q}upzy}Dn$di84DN9v6(`2KWOCd;P$dad z1>Uf8-S!Q=CI%YoBjY*_WF0xJ-?59blz4U`pWBnoPg!uuGKrC==bkinD+NV1Em~ik z;=u3oW6qr)0lID-H`&xci07##D~Y$sZKU|Tve+pB+tfOu>V2|Sc-OTKUeb5p#{rtxHZYl+`U+FBFt zVPc}oRQ-be{|tGip9OQ-&vE}EHowHSIq+Awe~tO?;M={pe}jSFDy?ED>KI3-0i7QC zbS4A1OsG*nv7oN;`E?U3&E5BX<6IstOH%@K0sq}2nhTom;tq{$W+^Z84h3Y5`%Ke) z`K6x5comJNed8rj?`07)ri4Fwqj{+fFZ1$`8)JJ@Y@dzI5|!E+!XXTOotbTO^ToX(Rcjaj<#`;|F43ca zd)Fds61PRNt-eS8#}W6xvDF@ihvc%7c+?APcw9z&n^k5TKS^3ETGXFIMf{rer}y^8 z-D}a}He^I6MQklvECm#f3@hg{i|0kKA4lkagM&-vMMddflpE54!+!VrMB3B9PQ*Rp z+%@eLW~EtY5EhL`)&g+7_T}^4nSW=F*=;C zP5Jt1o5$Ots%sUp(jBhnuLrPfw(GXQS0oy*_-~ zE4^&NN3mIAQf6CUeiz@8efdCf9sv!kx!f7tj||{>xQ~uuqjw(__&*x=V=xRMXO6*r ztW2EVeB3Pod>rn_Vr=br9Bu>*kd2N8xy|I>K=4Q9ixv+$Jv-ykAjJ7#EN}mK!t1B} zo)EhQTU|;XvK6?DdFZSBoOe9ogpcrlBJL+)o{V`4=Bb#cVNSqAm<5<0UGGP>%^ykl zPF>`>C|eT%N;K-EtRM8bp9Nwn{&f4dbx2XlU#Y2 zGG6qTzE0cP+A8I>bxrlYKlV4<>drZnhL?rAgK(!2&c>O2{|CM=;ybJEYHR;8X{bN!!^XRk*T(=h z0$Vss%V0}W^oQbc8y(pcH`Bz6FRG~g#Lk0HjEhg2MAe#!GTZ==Cd@Zaz#P3GA+O4j>CFYFR=cmd25!A^x>~_U$OX z9g?%mY8pKYDXg<(J#(A-_zhkMQz!Xq&6{ogZoZQ15T3&$j#s<&)xIAZE~<+FpW6Dq z9dQaxHc^;>G);Y%G}K@IEw=wXw!eq1^8Gl54_jHZX0Z)oZgYL)_}6%SJUSaN8u(hi ziRLO*&;KO)@O8jiA5O--5OWG<5oR&wRLp6ZC77j{HcUIF z1JjA=!gOPLFm=WP?@8ym;k^i9Dt}eQ$x=1nAU4e%U<4zKmF3n6TwXQMJ6=0KwU@F= zoz<9y4)Cv5?Vbm>iSF~Q`kj|3V&v!bhtsFg+L-JiKXj_dZnU%O# z1#R7n+hjRb2jSM>J_JL;?TrWAmWbzsJKOwf7N6#HEe#fbrh~`~-lV5)>i|xx}djMN>cOixk8>(*ofi=p2x`Dhhfz;h3H~-XS1c(JaqE?-gS6E0R;C+qC(}=cap`a0wRP))sBXH~k*@ei zmhPKtq?-&g&6jaJ8Mkv>w0K_KJnkV6@ppcQt$oWvCf+3O$uM=+Gj3bL95U z@stdfoVe=C;NyUWL--5E-wghvE2Eh9P9lPRiQ^rL6XAs#dZYSnb=RA`eqF0m=^js( zHyOrNqSHdoy7>$CIYkM1!U8Tr}-v5NCyaFNX`dPv(%XJ5H{7 zvzMbdeB%RD7#p{d&mg$HjK)vagW*t(cm4jl=4LPJVRb7xnPi&DFlRD9-bDVIE7##Z z3$q@x0kaXa33E1PGiD3s9L%|xt(a|??U?g0J21`HRpa#H_b99A#ec?}jCmNwe&KqZ zf6Jj?udgOet=A@7VX&>=P17U68NrX@ypm@G!T7AbAF;}a?I3(j{i=aKte^V&{L&ni zq4oeKGa7Mq^xSk|-HbJ@7#4iL@z!eHu=V6T*1gU1jt^hI^Xu)Uw3@+2yB*0lqu-{_!3Ws5mth+^Ywc=jIp=RNJ5pM^dS2=&@AS0YQ)BySv3&xz z_A6_!>3*rRu+>MlV2ieBew@@HOFgdv(JSqq&~Hk9S?o1*Mx*!cjd5ud*9wi{Rp96a zZrEB zh2nkIYIpEBkk5@|ho=~^GzTIXPV*!ftesac|96r9$)x!uZ1Lv4gRL=oIt`!1r(Rfs z>l{J{ewn>0wLAXVv2$bJ#_j#WV?0|o|1;k;KNS(bzeaxM=hLnfEz-p`Zt$*VuZaLl zer>(7-595BWxA+F9?3ASU29cuC3|Ytcl)|+deqDBQ;v*q1UGh6HX?hyK*a%OzI+n=Rd-s5rJ22TKQ0vG!Q z^gwO;KWM|9T(Mc#w^64mm>zeBSo`+fJKTjsmBj&5QTtA4hFtJa84Y)hjuF0)g;n5m2J_G1iOEqA}2WS2&v zOZNC<)%Yz9qbuG;+9wgVd3=$!;mJZV-o75=`vnluS{c#{J?}a6^ulJ+4Cw_cTSznA zOqd6fX1bI7>d{Oq-+SomU@K{cbuicVtjL8UQ`kPC*`qivYT)gpFJ7wjFYD|fgf)&0 z)|+pkzhL>#6`yJv)sKgj@2egUe+cy9-+@y|9~x}*;R8jpt-RIKY+ry-)P1yI{;#Y5 z$l`p4IGWePUl4!B`eF1g5{|uyRq#N?+If$9zo&~H9ovtI?PIV--#rmqH0=rTcgy>e zk+H+PRQ6An}eJWpiD0zd-}nwP4F*LCEhx%_R|qU+v|EgJi8 zF-aWig{^@@O!;t6h4h#PQ_1>x><7FqOUv&=HS$Y_Q93p9;yutRdKMY7047d79Igfj zjm5r1W z*0hh-NZ|?NPynF>1 zvZPWUl66b=okrt2oRbwXOFdlrck`WG^g|dJ$vn-^r)k?QidbC_v$pjuq^~l64qJ1P zwYm80$^7btb@>+@?d6*my0Tv1>iGNko>YzW%`a|OF%Y5>S}Kthsyhy@COyr$FOKcj z8tEp(#OXt(GlIjqBAt48-%a}B%Uk{Eo@}yyl3`pvj$@Y1=$xTm+M7S*=Ve+ZL>wU`}yT_HS#dOO4`0h4LEKXj19!VU5P2^KDB$jI=zNG9516r9_DB3^1X!d zycA=3?soi?1WPNNTTFlI+IsolOa5AOkNF2r3)uL29I(#hZ9Q55thvSNU2o1L>wT_i zxjJ+#+_*g2^RA96%3o*e4|jssf&j0_KrkfnN`^_~r&Wd?I=!E*S63_l(eJgb4)hjI zGOuJ9Yr7F})PB+6PU4CtH29_LU&B2SURCsBo%8xi{2Pd`{awxd=+5lOdI{a*e+dL1 zY*S}0#l6)QBEDS~_+5niZ2t}3tg$yH1Of$rC>1n&Eu$8+5 z`6zza#*6YIMeR-^INnK*P-!UEuG|shtbuygkKuG!WP`o}-r6hb%{cY9x$ga@_o9f) zX4@<88VPUxnoc)yWOeOFs?V#GN3j2yao#pSJ&JFszCDOL9l%4ldq{5^ej6~NuR~aL zh3-$ywG4JImMflY)AQ{*acysFYo8pi+d#uwAaC{K=KJq# z=LmkUeiwOW$m?ks&G|un&e%^{*jB>XI19qp-M?Bqol`uXxVA6#QVh|&n?L6FU~h@- zx5oC{u(jU2FNQ6h(@Dqnq4(e?+V4PdcEow_#I|%kNIdaE{tjc`MsRCAH8_u3bF^C@ zM21J`G>q{{;(O7@Jw0dm9^Uq23meOvUQ52hTkVppk0eg690&jo^CPY@ZX`7h{Vy%wUVwy(s>E_{M~n^SOz92FdTO z&=2S0*4%I)oRaMk-cxf2?i}&M&{&kq>_6D+YN?((=li?%*y`^u#a2H!Z1v!#e1AUt zcJfM-*H(=BUsLzn=1>t2$gQ;%&0Si1%BTI==1JJQsiQxO+vz31Hv@-v)~r7JaG7CdRIr$z9In^9ef0i1r419G@%X)h&ZF^U@E&OVg}@`+f6Pa*qG7ve z?n#SC^abary0NM!@5K5`-Aj7yjmOiKTNkh6vp(Ks75SRl!Zr2gg;C;*)_4VYC&#Dx z;q7QI(O-8GKK$8Qu-@Gb?v3uoU$k5E?NEnSitno2OFlY3ScTD8GWhfuo(Jnnmu#fu z!ChvCsE-d=x%CYzLn8L&s5=_svGE0|l;OSquKDgwR!eV#rB^PfL6K17W|Dgqop=#f ziV(ug@X#VBwBm z`(1;*7+Yrymi`66s_W$Z+#7GA9!Od6-+*6ue&lIb@xb)}M>exITI8-xtc5W=`guRc z=VJSc*xrM!GmI&0?Mt4E%`$cP`fjim+)7?r3$9}Ru!a4kFZlKGK=?t=si1mdW?sFr z^^=y?x95<4GF|g?bRqPEzd^sYZdx~zmU!5IjZJc?r`1R^8OF-@1j6bLMzYTw$~FC{ zFZwn80&JCe2wQj>4*!b#PjgsIfmiV>QmHPhm*jjI`4*v)EEx_S=YxViPxIPWO zCx!}+%6!RX~UXf+nX@vB}JhmHF^z+HT|zM%6-_4x;NaLi2y zhs`y2Qm=#5qt)}GuX!CDR?nt)gCOh+4}3RNR8G%7d;Ru`qhHfJn8bb1Jn4%seK(7$ zc>hLMN~if<_-UDw$tveV$6owvLQm{k>3j;%bblRoo(whz4Mz6uiY3@ z1=(RecAH@*7?A|D6#3~K=iS)ruz!NBHQ{I2qD$|`7*21-Ejiu;@`7eT`f!q6z6yIg zmv{GebvB`lXwf%4o!NoiO?i`bGtBp!`5w}nUQ@k|Z~9G;pT^ZgF}hQ|W}?6?uyLm}>5GIB?`Mbmb$7l{c-hLG(>XDxh*{bS4)arGAIp9#-DNCqyW#L4t_$ppNV@P zl_EKoB>jR$PM17Gtj+0K#y1P`@|ObPeluJ~dN1vI1I_WEaT00+==zedjA%HV5pMQdw)GWa{VwSF0VG82aS zy}@n3Ioex9A+<{%0MJyL@n zLNyOK4la&h(?RhF)A7i65k-Q5wx|+vp%2=Yx)q$oi})D!wE^y`hbVyi;(D>NZ3otR zQz@I1Ws$Cp5wYv0%P3tO4ozRs1;n}T?pWp(Tl2c5c{ypS{wl1r_%@4OJycu^J4{%e zTN*6gj%s&qL&80@NoCsqJ@_vV!oMF_=T_|tE{!Vp6nv+2RfjrP*g?oN<@2cD%|?Wq zhrk2vV%JJ|5xeMb>hSi#1l-XK8k|_PN_s_HSMX4gOTQVK+}#$fiw5I)Xiy)hC8+|Q zW)zYDdSi1^!Pv(9_uctU$AOhi?-ppxR^b{;VbIdmn4Ut<;W0C(FYp0G`aW=eZBV~o zigBJ~Z0ZM?+KYQ1Wg|o`k2s#*`qt0ZkfeRfzs*m{+=-D~ znbn(U1ar>=(710_SM8bq?se5#x{{3%dN!ZFA%>?Yqxe9YPp`!NOw6+|HpgCt+w`P7 z8@Gjh4sQFA?$vTv`sXb7XnqM^ClPk8Yx(p&hv|DX(f9m4hg$b&o`v6`-mhFon&E!M z1dbRQlSSQx(}406H=4^C=al!y#EG!&H`nqvF3;j}b_bBr_x-zjlCjV{AMWRF#P3ko z&n=`G*3Y4m$GST1bLz*3LswJgKdR-i4zMrN#>$;Ke4KcTz-g{+T9JiF?8AQ<<74~q zS@4;;|BUy={r~Cr#g>-si?v{|5)3w?@AA39xRet@jviT;Uzf;$MllrmndOq$KV49~5IX24<=+-q#oVw7M?GA)C|Ih32K1}70wOD~8`CJBWC&aXQow9a_;IA(2blhucFwsYr){A1e zdEEWZdWOts{MmB|QmHe4;O~KHJr*AJ3+VY7`yq>S27$#V3SrUc`UUap%HvtQGYS7> zMGAgl{Ce`m7JnV_M4yJR=u?B=hIg@#y)2w$40Nu1#ChtsjdkGpKl1&TXzmxTS6lHr)a%tCX@=_+8>yvwO9FJ`A?oD` zwA0~kgig#606>fb9mVnEz36Q6Ma9{gA( z^->O3{W9fIMVuCm;W*GlW4!!J^J`EY{VA74yw6{h8;Rf0+Eli)eN)dKc+wt+aGc!A)^1zoz?Q{H~G&vNRJd z`MDp*x3HJi`fTuRz#0qWeYG-wY0$4;hWk3q%Y$#P!2L>09l8dpMmGz`#qLC!X3^s2 z+oeh$+{h#kF7e)udlS?v5Uo6=p86$ayn-@lofo}muw-sD{tVV!B--Hmpj@xQ{g;@- zkFO^cZ~n!6_g>{&z(YJdgP)IEeW6DEN*xrB(dYA0R$meU8Nc3cabG|@jgES8sW{e| zX;!nv`|~)S!G8;U5~kTce#QBw#0$(zrgZ91?a^OLztT@-KOB4XqkdhzM|YX=C!`T4 z2y>`u#A`@XG@{We2HTl+({os2J^d;9HME}2HRIZwZxquEWb`<_9WLem+v{ifE{l)G z$)<5f$j9u1G3XV~zZVsF`1-k@M}7$|gWzxzxU^s&;{0mNx8-zcPkV_8KA-jbMn~vo z?)AFM7l4E2-y7-kufx0^^9IaK7z?ut|C0|ruHhU|d86{!-*{fcPVzhPkmOnaZNzKH z>*?fi$HV+sKg4ZOvwS~2ek+!H2BRha5b+s zpLe}-$NE42$B(mCczdE9h6L$JXZ~(}O69h^tu72c z{B^N2Tbkh1IOZeV1wLZ|K8HVlz0{d4Zcp#c?dDkoUG&-dzw`b3O%GUmcpT2o7lzXL zzF|h0>&IUNkG(-%)Y92@(ftps&bDWf-{s)68l!bMq`iKG-=U_xluO8;>*(z2?pd~c z#mZIbpN3=%g5pY^OBPUw8uo~vdP);14-d?n!MJO3{PY*U--U*cPN&KWdfXlVd zvWK*!&Ii}evG>w!hL6KJ{^4j4DQdy=C0uT z=Wu^MHeU$7e-ZbWV)IYI_b=oAN^HK0ZD;>q!~M^guLs}0f%{)D-weKe3-`Zbz8!q~ z4(_`#-wnR~8}5I{d@uO+ecb}3x^|NkHGWY_u#KiBm@w`;Dmc6lD|a9vS71m&M`zA1nGEKc+ESGvgK zj!VVgU&_co(kSER@p_&R z%;zt8=8{WWFTM2A_DhE@9l3P;(&DA%>AW-#s_$FgnhOQ@UUp(S+Q3zIPHZA181mUM zwjcgn6BQwoMK2fVZ>&d?Xd^+q9WlQ=;=#Al4x;I_W!!?SDiY)?~$JN>qg+(%f+FiBL~}(yC@gUYdPe!W}Y-dKA*wH=W_+E@h51% z8RuOJ9{3;Jd^6X|tV08u@cWjdTT;8g>s=Vw3aO{jZaO)HXWg17w8)> zT{qQ=yTCW2qb6`SKlVn;QxXPmel+v|mcX>i3q{8-R75Wbn4OsJ`enEe#`yP&^^Ug#%UrXepb1uogSa_XzsZSWJ^CHb521_>w$G5M)b&5O&#k>UTY+#mN~gVVze0ayLk@Ph?!_ z$8buWg!|+GUWj|kxSRXVnkr{grvTgdTZDUY0G~P?c58NgcX^cbP7C~B$iR-%+6wcy zZ)$9)kdHs?fEr-xZGJe{SxR--qyhcmV_H&!;B^AHXst9j0#-X2yaZU|-QXTzwTa(F z-+%w$vDN$NBkDJ>8}CDt=wK=H1aR{usQSlcX)}dthbsxy$3)XlKVXbHO3+79IKdPA9J(_r6^Fm!!nUH#z zEEgnr?+a!(vR);zdpO=o-P+RP=3mR>JtQ9D^nnEY!5C%??ko%y%7qg*#lI6f;$Q6G z8X=lkav2cNmBOM|La7%v9T66T+Y9m?c0}8ja(1i|%CY84dwEqWO$llwlP(UAZsyKH zp*VGx8vwR`Z~)9L7`kuU?Jy_Fh0Pg~25e zZ@~M}{p1WeTTZ0XOId_ViUe70CWgSb5#NZ;}7z&$;VI@MCSw|C=yc8@za$Ecq= z(>vu$kFJ;B@jof_V)HUdkIopJfjpyH23yurVs{<+U*WZ8TILHJh_Gb`7N$ zm!EBJk)yEQ-q;ZjpsoIMy}E9o{MGdvGo|D1eL*@unXQL=gZ*QXO#pEVq8oR(n44e{ zksPPFmqc~&;7rF&8}Z590otg6@>+jo(53SOB_0tRW>ob#TX$J!D{dp>A#Q)p0+`;i z!)t2xhtq51GII_61LA)_v6?3|mfk(iGbCqtO_#`SmYB%7iOB5kP8V_R75%@kI@AbjopAYm+?Xa}w12A_sI#Nkw6rEC6+6R^&hpB(th9l|;v3gOdh zz>sT|^smJ&d}f?;HGPWiYrm(h+tI4Vfa`y9OX>ph6OTi<>KD{s-Th@4Py4$NZcV_w z30UnKhToKcI}@<>lXGQY{XY3uw?Cztf3++gk9Ho_^xhJ3tk@p2!?XK&de2EtJD$m+ zr?xmbk}Ih@^`}Fcm-3BS@7I&hMWkYj}DnRtK7AMEFgtSk_5Mpw;9Bt2*QLeaW%lJqk{?g}@&{}$KcB=YgOz)DV z`+C}NFDOf=tsZiXO+8a#tasAFeui)-25~=?fIkYXak@S|eu_3aMeZ*S4n~~5RwbOe z@q`w)7kdY`YK8m1(XReYOIJeVm$SRMPVNc?n_wExpAk;;V$4R+o0>&BBVh*z?(I*8d&9VMTk)|-1Fom-pb)?M}H{rLh>0T zAL(0s71CG>40`c|-J`iH_Th8_Um-d{w?u@h7 zZ`wAs{mK)b`Oqgma{duddi{(Ymd+T$qe(s+= z@0#bo;Ll(9q8Gp9+P`?|%dUI*D_(j1tN!w@Zg}-;UVG!~UjK%h-uR|B-~5)hzU}Sr zc;{cg>u=uux3|3Kz3;pA{U7+?ZGZRoAG-Y?{_(?ieB`4a`}ik5`KdcU{h80+^|{Y~ z;fr7Tr!Rlyt6%%)uYcoTzWJ?x{q}e6{_em1`}e;8AOCsJ|NFrYfAr)3`pHj!_VZu- z@>jq9?|Xmq+yA-mcmI2T^YuMaDm#()6%~HUI0H!Y!MzJwQkPK2ryS|~NeG8~eS(DR z*9>~W;;kbcwOKjaUPzZ9ZHLGAwTw+a0pL@>JFFJqq;ziHCd}um=GgfyH1*@3aQqXW^yH^J^=T(WttYNI{nE<^pZTn-e(!B& z^|74#h*Wv}g7v>H{S?L%y)=^!b}h%^G+v5Xw#a>SEz_8{xYC)RwMp}`eR~`{KFtFL zKPl$<8T^EV|1k;wM*)kMWZ|V#Ax!UxgumX)3B&&uI1K-b1pMc~!r9V)ej@(W3IAsT zi*Ik?uLNEgz~@o#VR{!QVAIcH@y|@;_gm5m;~$B?))Wgbcx?ddy^#=pDDXP`XSSb2 zbfimvWhJfq6LtN|7?%8}XO>8{br!x*f%mJ2CP%nZ_0yAEoE)b3eRHKj?7m~JP+_m8 zj$hc4+CrL=-8t#dq^*-tw;?H$w$1^yCW&@8_!qdf7YJeX9fN;`TXRtei!W*L{kWCh zTY7{-d>4 z^xY`#o&ffc34PxNEUb$DDyV6SEF;7RKVPPrw_1_3b+1Zp7Y% zIUBPXvjr3O=a<*$-}-hJanB*_xtOh(Z5W-=oQLU%ao&-D&j;4GqfTo{?ZocG^ka5m zF2G!f(Y&VeUX*|@2G+L?#C#2v!c*--|Q#f)Hf zV=Uj%1e^obx7&$(1@<0H9y5j+$28w(NAk=?T~7X{+wYjJgi+D%mK8TlQumT~nzAjY z-nH({bqrSKQZLU|c{eM+q^0UTst^`WtUx)9?tde&a4`4{xV6_AWP9LGQwH{Arv{yZ zF4o7Gm%^nf^b4SYKgaC@l&op8Wkg0%5Y2Ju25m1S{SD#1a3!$rQkwrF+}aDNuY^C7 zG)gn6w5*8F7gyMdLrJ0qMdkFZhnGYsE;v()dyCa5zT zf6@t|nYwgFZ+pBY&Q9Mh;nS9FPwicJ>4#IY0bl!W_4XOLcYCq<-;n4yr?e^w} z$M#F4DO;$|^JuOXUw!RfowKbj@%+eGcCD+l)g0C^w%a|wLbmvc z+WwB0>m)q3znmQ&ZF6b)#M{!D#?qf6{f(qgO)s4;;>_~W;Baw#iN8o3@lcaxEEIQp z9P;V$HWHi-11sM{J6fFX5=(2kQrgqwQ!^{Z;_V>bDd3>u<~jLnqt%5YoM@15&v25N z%hSl$6HYbxR&4s!4A{O0aeWQaKfaiVYhmlz)~D|yAMJq*mX1Q=9ZYx_~%)%6gd=ufrIK;WP_wRQ>NM5}U0nj81m z<>0wamPapS+1QjG&JGm{dkkJTflQ|hDc^oBeUAe%<#5QGEoXPJ9=S?gUx2Q6_w&w{ z`bF-uOn>RimQiG&pr!O)7e(qBH}01bNYqG-9D z*r9v^fzSsu#vrSfAAJVv03sG8J&&`dZ{zm9E&W?A*m!#Cq#oZk;X09KF&l}CStK6a z&zTbLo$mHvwzxYpQIrmk64;gbuDzGmz)9RzMP*fns~=byECyMJT&0?vhGjIbr!#%F zW=F08#3F?=9r?ZOG{-tUk*m4`^iSZfb~*_JJF!)1PW{TZSiz+O&d!!A9y=z>N`yLd znv^C>XQ&xnqpe+tR-s&aOD1;oYZX8~Zdr?4qkFMMZ>+~wUuLagmyN^#oYo|s@aHAU z73_l0@kl)FKXqm$o{fH@Y3zrFPuTWO#H3wv&~fBS9y2a|E|^Xer%O{sqdhW~*XsDY z!Dq*CyRZ4_iq$|!OLHuzyF7bT3{XF9d5b#(5S<~prX*gz?8v#r;jDbN9-PE?xQbSi%GGD@S^)fznzF#NI$XiPU1&*OwAMu zsv~P;0oTzHclrx%y}fRr&?-81sTshA;cQ`S7|s^PkIq>#svfdip~GS%*VARnS&;=P z8;6ge;1Olt$&l9J%XEF3C{w$5nz?eG%f|4PuU+Zox3~QYw#PpI-<2}qmCMk$l`F!LB_v}4Yj2;MLM-*g(aAUAQp)A_PR$C*_o_d zlz|jXm!#@x(c;BY4Tg=p_i6Fqr@Gva+jJsN;nsX0b0zL)2JqbkepUc~9{4KYXJej& zxf=6a%%5SNhq(sxe9Q|le~!`j7h+z7c`@cCm}@cm{uh{+VqS*14)b!1zBk==30}zl zwbi_k5Ek8#j*uydxBIFanS;?)dLQYFAJO~_Bn>n(bhX;llj=C#-!Yquu2PF@x=IZ; zU8P!Iyl|SH60gXnd1e)5oBo}2rn!FvKH?*vONGe>QAr6(gds@I3EcXkCn^ivCPmOu0&4qZJaP#t0u73FU!~u!yYT_MQ;Z*E}HVLkH5VdTkD>s zyOW6Gw-lso5c`feoQ0oWOG${ka?GVXTn!opvOpcx{h8O$>Td<&4S8E})2Hm^C$ioU=FTKhv+RJ00C?`bnVAhL9M^ zq9V7Wt;6ZQ@5B+Oy)~$Jk4o^RkEPNuL|~ZLEe!HmK+-G7B=~y$6>*~8w+|B7Jp7ls z-t6DkX_rfzF@{4vS@Yw^%KhLVKfZ zC?ynvoMC2xi|1dD$no;2dum{jdz7Hevj8MeF7u{DI0VIYgzc=RAWz9-^1%r)_rQ^q3p>&2-yJ%^A*nx7YxbhE`_7@+{CH@cm2 z-$S{Zuj3e_rQ#?%@y7V=V2xjG`uzBK*I6y8EctzuF{b_ED`{)}G-qnRa(w`69ez~+ zzlT778NeD}>B`lFG*vOtd@*KG!3`38==pE_ivE^Ye_~IWcJ3qAff+qPICV_4UugVv9Q!KOL;zPp6FH z=ZlGj&{aArAeq8{+9`_pp z_zmEFQvlyU0k|;3dcfT(z8kIkCfvJt=V!w41~W70-1TtV3uDbsNuJ7>DMjf{$Cy?h zzS*B&pA4R&hYUUux8?+cmn8f}bIQMY4E^OCC*axHUZFSN4qm%RUwkFWy}UW7(>GGb z8@XIGRk?GCB<3bGTbG@*>>h65rEU)D`YpKU+JEYuaqiesP1lF8=z6QS3vq|_sQqwj z;6I34;hV2V-_kR5FSv$=o#@s1q<#wCT0@_Qi7m=5tz7yTMhoahGsrzrcD?7$0z=aT-DG zI@$}se0Fzwc&go7Tm|)a*GTLs=lb(7wSoGTC=B~1o}+lJkeTcWpef?8IGwy#h3N%s zeiOLQ#KZ`}`PH4QcBUN^DUFRyqOxPkaYMO@A0weA^61B*gAGf3x>zjzh`hy@`IjU8 z{>I=R18eLV{6yB4O~AqWTzCH;#yN{PG-GO$ZccJ;p(}L7Nq1pykz3$c{TyMrcsj2q zkr)3{JKTYBZ*<;dxmbX5Di4q9-LlLi^Eg~HzuIPU5?#~1Pu&EiC$Ze4aQw!tEpC7G z1#Hpj?_g|dp4Ys%j>M<;N3M!EXtaw`G+t0&Vpy6!u}aO-SDv!X^XK16;j|+-B6Y;N zv(|6exasW8Th2Lm>$dIZ?KppDUo2%@OTKt=@4o$0S0cX}t4KSo-L6VEV4qHyGrVfG z-qmZ?#xd&4vibnAMC*c9#F!VJvS{(Cr!869)-Dtp$nx+9ai``S`m$$$2U|{aQ13c< zsZ9fA40V(1w`||IZDaqsfn7Vd#&Yq~XDK>d;?)%n1!$hsC%3ma+VWi5Ms%+wzPEd+ zrC&+5ddN)2-9bE^*<0LvZV!xThfJ=}#;{wrW6KOw2yc1!;qDFMbKX+P)52)&5sf{a z$M~Kwi>+I>pF41Xd^Gp3iqoL}I=fb&6NkI*y`7ysD?0l6cWzv_ZOitv2l_VdykO(b znHU=`7n8<{0GAxR3Ket9whd>^j5S@(ONb-h+j*NdZCSr%-PVD18#bJ`y|1c;ERV|x z$52mc=5=xox+&`%ebC_Ax$EFB&$-+MlBg(c$uJuId2HnalU~3g(Pni#n=kKmtPsoR z`Q)KF#2tr54b0?ffa!^yKGeH%dEC^TTk6_xVkzJra8;BfjNDKOiIMn$@BvOI*mLJO zCY5tMyH8ds_4M=oc~=@+XIA;x-WPxWJLWCzF*R>pMuGkwcp#p?5(p*NrfT#kk>=qG zFih>KyLTXehy7IYk$p9`^0?t^C!}t|ZQpOht^0b4J6)GC7j3w_zkPCojdON@jaKE( zyGCH|@0eG2FYC$EU8-ZEbkHgf!^(F8>{I{&~KI z`CkvL{O_D={>xUm^u;&P??-jg|H@p`U(xN-pCo;av#q^pW9^T^xoE~WmGbTvj_kF9y{o!D;P^EEe}L|m2AACf2Bsnj=! zyMQ$Ag+_LJN!;QYPRH4#JYmV^cuO{qmKDSkxqootMIMLKu*Gkhk(G-!ovy~I){t%S z&Lo$Cp;m%|kGaJgC4Q8N32;8Mu|c`=@SfesS&nBM1Tlvmqoh6K*n@ui zgDho5z=Q41By4qryfU!BoqffJicUZ|^3w7P{*8oyh{km0Q7Y z9>@vbx#H&(yAa>-+evz&vpJwDvh-I;u^0|6j>oVP?|kB^o?JW~MddjCa6q5&yJk-f z0ij~qr7SfwId`0;GzwlSBeu5Y#&TurJ4avQ`^e+4)u*03GiXeT8c2*(e3UYG*IqeA@4opDft48<3{)+ z7Dw_0h{#mZkgS2|%kUSZS66<*(o_7Ci5$YhDf|WLF>(4{Y44$@E9X>)q7Liv+$vZ1 zQpaEJdBUHI`#Sl%3r}<9q1L*4cs+S+p#t7V9@?W~RsGEW8+be!pSk8;;ooxcaR?Sy zVV~Z%n;cOeId-5WC0@YiF}CLr5{LSn=5U_Re2X%i3(ltBRbmG`ys4wBs5A*<4rU&Q zww#QmIlaoK_p>N*k~^Fw&dR|Sx94xVZWHe==SlZGrO%5pzwu(w|v7pw=onG4CdQ z)w$`!wDGg@XwTPy4jDqk8QR31VY;hEQFi}uHk&C$d99@Ib%$CUEpKsG5m$7U!RG>Z z0e^`3Oh1j;E*2`?osm|HL9a*xtLIAZIv?CkcYVMsnjuqn=7^Vp zdp6;<1{?eW+^X|<2e;%|grnH?79Gfzmj_}YjKjio91 ztuPJI86o_{1S}cR&|fsA-~;B#T4s5kmPli10#<#6d9){B?I}Wk(Y+z8wKaq_kA|@J zbAtWZn&gpY>I!+v6^BPx$Oh8YTw%IG+S=Nh@3M?9-m~b5SCTY^-km$&pvT#(=_MZ76OTAH=qjV)T>BiP#0TON872eO$txN&;*lbWRY zY3}DfC296pWvGXeZr+;;`==Wu^MfWLtIivj#4-2W87 zU&h^hXHye#X);@chFn(lgvzmFEvZYXqzjlN#S;x-joG=@TZL9n&>z>5-!{_Spu8|4 ztU0*(vR1DJMRckU!?M+F#sN2FcwwOXz+;5`H1BBsHCSU!Yg+SoDF(se8v)9 z*Nl68GNK>ZR)q9$ZGMWB=t-kAd{&sa+JxASmojWBp8ZmkgptGzW} z8>}@_=M6L0gLJeeax%zn8M5&8*N>r^;gz=LZi}zAL*v}wRS8&aqBYC>HTSDc43_MK z=Av;V>Y0E%xdp5`kSR_Kd-3zAH#&2|^G46XhTKSbsi>%Oh|vqbx+00l{?N1Z4;0G1 z;TMyN;{1UEQd1QfDUnJCI0%o0v?_bJkAR=X+Yc}+FbLsh$0UbPNwjSQ**0~4_Dj+|5o7rL47cV0Pwq~Czn5?7 zw>5rO*Z5ZXYuBK-Z%y;U2;Fi0@gBI*^60d_O7no(W;C>xj32c<;g1Jg0sh>YtI41e37mTv2CbxpCdzvX3J=W8@pmDR;AL zodiDRnMPhGo#7F#@$kx%MVtAxay;r&(7@m@1E{rY$ zM2L9BdI8+En0;A)6Ngt*)12pkwF0?$&XIqD>|D0Q1p)HWx|?^wY)rzJb$qucW0?#c(oX?^*n6SJr23p$*hEYU7QQx4C^?rU*-2gB2GKjUKTz)yYM{QPce zx{P`JRmStgRQIc?OY>U3Ywfi;H_*dz`n&Mc*z$VfDGM+peTwVyqYM`w&nfn5Y4q}| zw${eVo7ro8i}0cqhA^7jq}RZ{jmF;$ekQPJ9D}dKtvTG_sf7Ov67cgA@HN1ihb{i| zaEIw#4Xpg!{Mjp-s5ex1Q9uTvywoqKtF?vV$-T9X7rENA5;a%7X}_2MJ#phj{oA^C z&6B-l`=;KGd8yRh_$hy6B`bA%AK$cIpr)j-f2zHG{*Gt&)B;*wVtr5=lBXi)aU2`f6?E)0pV`&P1nV5$xOJ_k(D`z z34P~|^&5+(V4%-*ATYHuQBW(P0F52>BT8BQVvTvMa~fvWOC~R#95gp>OBeU7D_y8E zWHaSS6xLLP4uS~%OsDy55Uq;c7GqK)qa8>YXj&ErnrSbcxdNfc@p67D3WXUe8O`qR zx!FTvuE)}PRLEYIJwhVEaWo%dvTXJOdH2WiD03GeXuf4 zA+BLLRL(?mg+Y6J$!k{siwl$etS+;L*_kd{p6{UU_&#VvBQH4j9kk>RG%1d}u z!a_hhy;D0qr$K!{zvg*ttk~$0NZg@gb0dA0T%Urbyyv-IZ_r;qP?TRCjg5tX7JZ> zw+8S>@rQ+2@&5$y*}%y=*Ea?2cmw`l3*dQ7EdLz9Ex@4+f@k8mX=;F(RXYOLULSvf zmpK|Ey-rLJ$Je;dESTaTbY1v+39qu9!ThQ^G5GWZycSq;N5HabPJG3st$h(z^LG?iff zMcYJTV6eHre@CBvZhl?&w8spc1CE8}*NV)GTT*G-cNcSt)=Yyh02WWLc^sU^m)!8u zbg`J8;-HbIr2W%J`P`7l;hq?W7m=st4E=)n8SZVhymj+94Iy*2XQ@B<7fK!R+hrc5 zXT8MBHM{~mBmK`M9JXBUkQE(@iY#;fUWhY`MyU^W4goaB~da+ zJDB*U4TyWmYlyt=#;9HijEc|dXyQ}Ex<86hrZ6c5NE}S&N~6r(ar{fD7tP%VjPD~l z-oC}n5f?Jty#;Zo|-vU4FA2pY1jF08e z*2OuVr@saVSH9ejud}h~a;YTuB?JP#U9;Az#F#*;y?k*7Hg)BQ{EhUaGu`a0-UoyOw1~R%N?0E0<+f zb@vQ)t;np(ps}!PWK|}!tZS$Ww5utk+%JD{to9MEcuE zcLU~FObBc5Hgk>q!;w9|`1)$u^XA(DG9tSlHWAXH)(le6sLG=w-cEjl)X8>?)@f^- zeg=3OF!uo6*r{AU2*QZJqP}Kvq(4^mZSXf4P@)YC{x-1s-pu-UI7$|pm3BJ(&p7PW z__g@I2JQ;rdx14}%zyro^=PTF>=@d&b%&%d(%ZXc-Ra0cqr7{a{|Inulnm0_t5ZS+ zT)1#v#LoplkZJdLkO+d*Grm`18eYeOS8du%DpIIn$zxM;3;$Z`Nwmbwdh#?u_O}v8bE~CsEAWB+tZUBTT3hjj>lH;ueUA#(gfqZzeEseX`)N_&a4RO;)0Ns&yex=E^yiKXSd6{<8#{e*PZkoF}Q%}uc!l0T*g-h6|nO=Z*FQ@hrq?l=}} z8|0hTXm*aUw>)MOeA9Y3Ep`Xl3VaRURfa%sp%;A#MG5i0k#L%`T%pi|I~BjT@NvFt ztZl@IHx~;JDp*lcGGp2HEK0+MV^vY99}-?PaW6);0(!X#n@wXoc=P(Pul8?VO9pBs zre7jTy7%ng%E%0)%c<|MUTTcfeNvyKLZApF5j2ov9N&$fa8#Xq7dLEAcmo6O36zi- zbUpc~jzYeMctNWBcD`Gk-%dEyxqB@E`-{M$*`&KkFJAbEL1sQZ5({BU3OzjlNha3o zuZXL4@BJ9fA=-C@GF9gP!PwvA6YcvQd_M_uw&WH|VsJPN5c%WT%J=~g3;SupsSc?> zm_^0Z3t!{UV%YIZ{dMXFV5YKqe6Fod|DL#9#y4>v?8>@05H&q23=F-oQ{m8T$dyFb zWiy`lQN`=n>KE3kZaV!sHXlO z?jHp34{`q}fPakp!~i}C_ksB0{}qIPGnxD(fPaenX94_k+`kCmU*i5%0RI~Ie+Tfr zxPKGCzs3DO0em0s-v#jh;=VtC)rd!^A^EBN55aw806!G>!vgr>xE~R~N8xUszN1&n zJhS9F@3anr8(;5v6tARXsjnTTJf%0n9Yh@ahL+R-`DpIf7z*|?hj>4){WWVnx+)kY z?NSh<{kG`ZSA&Dr@H|FzQTPk+nZd8Lc%4KL&1Ue0xRuT$gZ7(;`{>v_3OmAI-jC+b zV`5XQu6O6k?MR&s?_u{@^3OCZWoK9%9$h-zF*LMnRcB|Wb7)1jGrgjHMbAifB6wEO~l%M+T zvAE~Q#?o%bV=aCLi%+OJ`D5fS-TKA^e~IOBt>P;+x3n;&Vjt&S+`wa^kH{*|Am zcc(S9WuOb_O1#Bcw>45h+Zv)xgQRBV*4CC*7r)WI|!upio! zIl3W~x{W+8CXbI{RR6|fmQ2D)Hy?VLgq5UuF8OHBtU2-iS`&jOWZ-OwI(K{Gwqea@ zCG^5BT|UyeBGc71G?eaK*3r>9qRZ2nEZh~83QQ|;a2L8M;;YC{bMQEAt$C}3@r~1& zeh3-!zbf`O_(t}s3V&P>{sO{37Fa*fPdyHI@_mTpdk}N&L-lw%<+oJxbV6ABqeE1k z1Mc#vSc>9WxpvSOujJ-?;E*A&uVW5jo>figXy$U(3mcKoMQ`46= zIlC=AvCeI)dV9HnQXcUBF=si}JnlR=fVVdOJZ&zXpuwMx+r0TY`7pg(fi;hrzwTpcpQK;Vo-^pHnLI6m6r%-eqwVKy-zcrh zJ2&?AO{e>4(hc)@6tLRY^8H`jAzqrGP6_<)kNs!nOP|o2d*Uqd>YkUoY%P1rNtKI;-0Y8^fX zfpura;4Q$K(+xfcSaXQMJAkz=8oUx%beh301wJ!?#edx%z#j#^Ab`IH9Hw_g4LHny z5B}=+mY-ntbA$81CnR9)4MP770X&unFE|V@I1FC^R=>9N1TO(@y1m%5ndYfW|HjXg z_mK9(g1o*2k63ey<(&t9L;#NgA0NQuz~XVv9Ph^Q0F6!a|4-cFa~k|Z+)D%azi_u=bOLi#h z7_{>eOYgPB4fB69u=>QorKb!yj8IwW5SF&)`!MZ)h|@Ozr$a-8Zeez(=^cN5zB92JwR@|Eq7<@bc-QSrf;NDW8ZwKF=h+7wZHt-q% zI>mBX@@8ZTUjg(`t zn$l74@w)Mwr&(&LK-0VIHu{-w$SV!r_hA-bF31jx($#5KMpuj-|FaBdBR`e8jj-xp z7Uu}sQ~ksA=gp!mZBmb^xKxAqQ@FLxTY6XFUXIy<{FRg!?CRgN()_drt1ngBfoBn< z!oQl#41D7UTdMtQjLJNdQKuW=c}*?b)?GAk-qt8xigLW+H(KCKhqE1C7;J}EQQTdS zepndajqVqRM~j8=0+e}ATenv-%SEQWFbZ|V$I+7G-F@P{UXO|BIn9HtYEAvln(ObJ z&CUGVdd}Sc?bzPTznweg{_leRX8v7tK{NlJe$m|jU4CgZ{{}Cg`@hUkGymw_*59Qc zLi0%oKL&WN^vyI6%1y717G3iJ&kI|?TBrHV;FEyGE1x+d{Nc!@{0!XB2S?M1_%zlN zJGVLkcZ69Gd~3yhBIcyv+sU{WVonLZEyBGR)BN;S^UY-rK?YEn?5aO?^9TL)-K(*(8dA>YsMYuvfHr8RBS;G+YW|-qVPuaUA}F_;vTg z7XJj|YyWTX6M>@umJaPx0{Gj&qVX;K4}sOU41N{yB`0t2_C$K3BUMiGzYJKsspNaR z=KqB_y;B)8i^vNrbsB$`U~Y)vrMS}(2mQJY9O)d8x5n%hWF9o0ERI7^A!Xz47NG9L z#5kd=!t?7VL6bfi^Fh+J-{F)4zVt)Y=QQrdDKE@A?S1JHdOK90N~5!z=6m%Bsw|M* zSgLbNsG{z+Zm$a2e}}l@zN?!!z6xGBDj>pW&tYxx3N}RA!yEj%1bhT_C;v7z5{4M>@BbcD{-axwgDLuWB+7*QF#@!RZ{e)Q-z-Iz458&4k zKY0efBJh6&;cp7^y8$?PCU5vHjLU0qXAG|l()%LuR|T;6+Pwk%5a87Td^zx%02bf! z5+{%MO!qh9*E$wIy3*PkO@DPhxeVW0={0S6xV$`Q7r(pLx}*}@h0|3rI+X%<>sh(( zWB}bLlkfUE3Fwk=dbsSKc_G|5({v(>K#PD9>JPLV#gbpT*Wey~bLx?pbde5oQ9#C$f4`=7+HpZ@r7pp& zTHje6c$m~8&YJo3n>n>}FPCRWzEaJ#>ZQ6>n-Wpg|fc)P?EBf=ShAalCp?vNkk3F~Qnrvu(_|cas=+ zomCU0g_3<${qfM?q~XPr4p3RG&CD8qNQFfo=pRQ>Yqt1hGrrbn|Jv=|+VGMV69lz8 zR%NYua7_z`p?5#Hrp0yAy5Ye!?N4z{t34-#1EH0jeVz-MOZzW4z&xv1t^Mizo~68F zxUZ4GXR}fBfoDvEAqsy;%Z(HLJwVwWTwBA|t9Bb9q|L{nYuB3Hr}?#Yiq@{v)~yG% zU)-LpHy&Dlk9$RQsbpuL0K(R)S;t}Hwsv)NEvr*q$#6XlhD-8x!gS27e7hPl?{el(O|gc4Tfv5Jvtj~j~To+YlG0HJvtj~kIn|$qqD*G=xDG#IvQ+` zjt1MKqrvv*Xs|sx8f=e_2FFK7gYD7LV0&~l)E=FyRyEWfglnih2-i@15U!#2AY4Q3 zLAZw6gK!PC2jLoO55hIn9)xSKJytf@9xEGckChF!$I1rVV`YQwv9iJTSlM8EtZcA7 zRyNokD;sQ&6%Dq>iU!+bMT70JqQUl9(O`S5Xs|t2G}s<18f=dh4YtRM2HRtKgYB`r z!S-0*V0$cYusxPH*dEIpY>(v)w#V`Y+hciy?XkSU_E^?ndn{|PJ(e}t9?KeRk7W(E z$Fc_7V_Adkv8=)NSk_>BENiemdKzqxo(9{ar@{8%D>+oQX|_ULY~J-QogkM0KBqr1WO=x(q*x*Ked?grbVyTSJ8Zm>PN8f=fQ2HT^n z!S?8Cuss^vpLee6YOp=J8f=fo_UGi=V0(0R{PCQ|{a-(zYJ`c_*a_8xT(p4ABCc0M zqm*zBjnW6XXhH2xJH^dvXcZ$|gYEGk7j3$FD=zB!K`vUQHl`h|aCaJ{DjwvbO;=mR zrTS}-s(6r#R;jgV2le+L7j3#aDlY2fK`vUQHl`ia%Y$6B>FTJsR4)zgN)LjIHtV76 zp*vr%e@a|iHqA<15iZlS-3K_b`~#7is9B@UixNmb>P`fn$9LDMhJzC**py96(mGQw zvEQRq!GjX$4@#gvD1rWeTLS&T*}l=)zA?_%gVViH6oLJqaCTf74+>}hX~I(WzS9ZTR)3 z4&b2gsiQP7H;fXS1C3%d7u5@5SIEyhKvHh}>g`tlA8sc*1J5ob_}aD9_6D|0hw>#^&WeiJ}gV^8Rx6kGlh-tz-+)uQUuCVLqmrcLP+*QnzP3vg6JW=XxZ{OR! z)HHpyp;eI=|9FJQw1l-ukzp_pTSxNg-7{;UwL(bt@+M>QR%`1-u~2sJ>XEO!E7*EW zV=SjD_8^p$IgE3Kcy3G%qSioHStmN{+LH3Tl^%C-VX}X6D5*6EZDhxTVJ{YX{i8VX$go6*+0v0>HtTek>1p=yLfJjh7wsEGn>Zt6D&kG(LOK)i>S?@T zYzvyf(cOndtC=k_l_pYF$sy6C_Oe;iK9F)U|GH?k_;C`y!>XXnYG`_Bsfz4p9crdh zyGn>d#3G^(JjP}rkK?H5LyQ9@E4P0T=Hs^)Ipl*^A1VWSl8 zmeaX$X;W<|9uJ;Ijp;Z+ZApDO4nstC>(<-|%EP8uS8I>fs=(VOOS$1j0wM>mYTr>n zFH3GXx#omvn!B}63va1<)-q4C6SJ6oHrsSTJRmB}{;wY(&(3o*W6 zZTmzhk4_FHCfsU@y>nSx^5&lrSgnrI-aIpbgC^NG@p_~P?_xG87kINs57JLl@Q#3Y zJhhTnHH>a8Tw{gt-JH#B&z48>x&2F`TtBM8OG~27lljRd(Ymqpm4$Jjv(AgoKF`Ht zM>Q3>&2OnKirM(QOsKEJJhfMr0^@oler2z=Z{NP@)<%Kr?rf>uDsrjz18oyC1RPuc zKy@7ZimqM~lcV@Rn}LJTRGdtE#t~66z@PdQVjX9?M;*Rh|Dm5hCMJh6Xu5^KEbwf5 zk_fAwMmp-xB0DCB^10z?gG(yfRx_=Go>BV!6Pu+-TFOCGIe28f&T?jeE#t%aNz|N2 zX@)-vbBEm<%e=ceR?s{oHUKZz){dNwW0gzrsXzTrd3O%K2<*Z+CJ{sA7E2vi_Y%GJTdzG&7xpUi*>> zM(gx2gxbh?l$BvB2QFU})s(YTIQE45dZ`Hzm?wOW3V1i5~skv)65w+ck&_l$d&FmYiP2a6TKxfb z)$*L&InGYx)+Saee2qE}{J6Zuc+~0ZB~{rwyy8E#&@=x8n)VqAc1JNglG}fvq+P%3 ztx;Q*l!nT^)w7%V)F51DR_y^QCf)$djHgT-S$%-2sn^(sq&0fY%5AptlB^2Lv_{QT z<)6s6y0K>N4_d>s&t%;H(<~22i_WeUJXpq)Wxbu9Ju5oeU58%kYUMD}ezhbX=3O?| z$5Myk544wx!w^HI_Mu#vSNC$K9hW+nx86p0?~o_ps(!(HjvOqGl%ry9_h>oNydT-S z&&@v%IGWw>-%56v<#R*sEx=!b*9BlRhB*}z!g}A_;Bnk~+dYI^1Nd3E^`5wXL3!%F zPig5qoA7#{GW-ScY4_@Suz2qyg1w6wgs=Oarp0@29M9nQ#PI37$;b1a&YTgy&j-l+ z+y1?5-ls0*mmcTdh;6!CjEt4-mGG-cQ~hEaokI0s@cJ0uRUTQnQ7=$AGzKOo2Fisq z16KpiOZ{2RR_{7~5#QiXD9dc%!?c*TY z>R_@wvUFvPBUY-HFhp^6wi*!2koo$`V-7F>#H;tv<0q&#Z*@w|MGWdMl zdSmpG%Xmk$^Efy6E{p9m4m*B+mfb>ryTRe*m^M=Y{Thsg&MS*DsuluE$@v z%{9-;@C??8x5s(fI$`i3n~RW>D7Le&87*W=6!Nh>elB_#^R32Hc6_+NNMs3E$!oA# z`Yw|YtBJa>_ltI&wj>&2pUS}q_Q(j&8;_<-Q7Tm?trpUF0k&p_S7Yl9Y0KmPv-cJN zQ7z%y_@aOc3MzIk2BD;)BBG*#-D0A`0!s)i$by2RVt03Ucjq;+6T7>+Tlqil*&Td2 zsP|sc?{|Oy?;CtP=h>NgXU?37ck+D2cYrA!Gn`&n#~JO2HMCe{<*1Is=WBhnq21I{ z1#uo>wnG@*0Q$yxhQpH8-JTV`Uw0!YQQj%3{%HMu5OLu3H|JD;3ohz!&Z+)xfpQ{r zAaC4DdPj=T0u+jt%)S-wTLbtf`6-6$w-0Y4O9a{}#b>ycu$xrTLi#RvJ-t5VjcU$K zsk9Mp+?0NP)aGr2JIV`(aHV{A4p*qm3gNGnDm)e*6|eET`A^(6RBM7`Lehpn@{3fm zP~^nb4p%CpuDDVi(I`}_rDb%rL)GDd6dC;Ht#=!!cjJlmzM<&5sZ(7k6mhVlye-^# zVF(2?gt~t4?`mKCbtMcfUpWUCso_Jr_^m=(j5tvH(iot)s006Kz*2cC;cB7qLs*>w zdQX0|%?BSr>!$V%Q^)&ZuuA&M`M0sFaD1>jSgB<0pwY&v{X*Ts>uCbjaY`EELdyAL zp+%rpaRTynS_Fi{@cQ*N?0$Fsnzgd7P8ap*f4L1^j<}Lu;{rYGx71}iHBgJ?kJ7u% z>1HA2r7EZls4NOz7rY4L^}vfVULU+P<4wUy_Y(eH!Kwcs_y}+h#@B&U9v1ey!KrU5 z_*rl+uhVxp4?hg{)W;D1iCZ%s4o-bsVNblAjC(R3A#+chyC=@wM}kwISjZ=C2cAA} zp}JI7tBP7f6&<6rvZCr!>0VWdE}igeZ=_J*U#hHXAXJ~FmxXN}T5MOatg3V(QF^MA z_RarP_~r8Ef>T-u9li~#>)TQ#uQ$KD-Ar&#-){b}zk@i4`2DsTj+7YcQlL*!L8@9w zt%3T2l3-ZXLJ^2Cs{!;L$wsM)j#kBkF!K-ed8@#94Hl6^tKHnBPK=wI)VTidQr@kq z{pNZ{($~;aje_0=jZG69p^irLN|n$cgyn-Yb_S@9K0PHA!Ph&9{$!BK)1|M8>J5L4Z`q>FFl4YRu*E*zf^yEAiRzUtO`KwF>kw8!R~jr zT}hBh;}oLp!X`L;iyIS2x~zuU1RNTBtOm;_q36@=4r%jlqQj_cf{&3??SuU7VWDt` ztY1wdZA_p}L5bHoMybNF@=+V%=-}WOi-~aku?UWl2#pdd5Mc!%tcn1olXwo%$NAMb zr1qbF(jT~wuzzcRAnj0!!n=k}7k`G#OS*LjR-bmny;S^v^#Rjn#E3{;wo@ELm<RSm^^A#$ zv}Gp{y<4~TwRB|_-F!t9?x~+3+>;)`{aea7^@k`76L?+*zw}%vU;$yu)D&@RA>$Oz z0l4LI-S8Xrm1$f{gk2T)+)a5IFAPr4l3q9X?~DU=_DtKBAi9zf?YrQ=T0~Oo0GvEQ zbsZ`o>FOJZ180yE9wYoV2*e#PhUy-{tASG~NuPFFb$F0NsMePTN_?eW3Wic`G`7DQ z!*7N7+sKkaF~Un%m&ah-g>>tG91mq#rL*lf|FL@iLSA?Z!B)tNf$~WC z+ZP3g+B2xO3P0Sd0Dme>FzMs|-^qV3YJV^P3Wc;wI0fzl#CpC(j?1mga8=9;8B zX~!dfRd#Bbk&Oi^>;As6z(mNR@-_xnDrfU?rTR^T@!Q4%b;T=nZsoTA8RT;-2>OqY z&tX}OIu3PCXgv!>6NI-4b&LzHf^PyZ2cF^grq@B#5dk652=6??qxmG#Kd6j~kvui> zAC*@^5blEk8WSTPg8NXQ6Oi%v#6&|0j3I558sCumy64}7LQn}|DPjI(TYm)MQCr^< zpt_WF4A%yf>vUHnyF$3}#(inVNr#d0B}G!HOm*jn->Kdc{zyK#6P(%W3a4D>CS~324WNozhQ{1UHmBh1`sn4H|~VYF>M38kNG+O`b{` zdu&W-IL-7Z6!#Hs5W=OgJ$etUfBnPt6v7X=CkS3h#%b(?+Y_g>6YiVip4tO$Sol9& zKO+27*;WFA(|Dn!jF*vdD!<%)0q};>Bs}F$SI)Q=k6V^}+w@?<3YJqq_W(6@x) zg8!59m8Yq$eEsgSuOb9YOwc*X@G#(a2i*jSwUn* zYz7NNW|!7Bsif&J3_H`fKh*^KNdv#;YAp`yadV5+bd6R;+1UCiu|QRYVu@a}pHiAP zh(`L8q4KB2{XZY`z?g6|3u&#BcXT{0k7A|9TJMEc-^SZAcPr!u&(2sQhO+PvW&l!aZ}`7?tZ$S|E@UWC=_hRj8P%h zE)K3za?zq_N9l=>TJGMu^*E!UWZC`3wE9lC)Q~xf27VpF4MuqDP%%)OE%-`sscqAu zEtK|g>c*kmlsHRE>r47mJk{sI{d~lm(ogUO;2z*?j$3+E-J*GE^vg|Y0u2ls{sX1e z^C&se&)9H|Ghmd~G12kXO4N1Mx*cxTO8sIBcbN}Oy=GIiWlkG ze>xrXqm+_j^tqLVA`D^1qik^Wm;P1VLd+M$Nb%6E_NII|u8pp*Xp8_zrxb?kS)bvC`nA6r zcItQsTW6KCZCX7`aG_^Gjlmc;*4k-s3`J}}2=p3CB&>5%LA?oAt5DSGP`CuhvH2Zw zL*o$Os6u5M8bIl?4034<;W{3i+T)+Z2P#v5bY!(Xj~M)9Z)YL(9fhnLkVSRnKaqu5 zBFthc6m1}b^lBj^`B&njmo*KtsBRFlPX2v-Qq!7hahg?##5z&RuJ<8}##V%^3Q+c` z@BdGpEj69wLgC-V2kV%bTo=ft`te_=tcqadWjva0oCWvYQHH4e5E6c49gnGO%*;q_ zveZU>TPcKoHJ-yC;pNAgJ9_6$Rnb~?Jxz?H|KcFAK>XGNaS{EWp1&ntI0Xf}dhKJQ z!|lt_?hYw#Vhe&Is=bAx1H#=6GzWC9-KxjMRE>?+xVcdoBy%6`P<<+%;Yw*Heizq3 zja6JYUXtL2I#@{0(N!C#4U54sz*}L-!u-@z1_P8Cx5xgi;CZwYI6xvj}oXKi5Bp zjTV}30(Jw3B&Y++g(ax4YBwRQ8`emMBt!&ONI+j*?G_Untd6#IqcCf$?1KzwA)D#~JhV;wz;6){_Dl5P<57S48J0puYalG<*JUh&{}w=;wyKRy z`>the|1Lq(CTHsNE{6A0Pth@{gY>fwJ>&$_C%E zTWb2OLVRdE#6X(P57nSUL-YEy2p2spoR1r;4Ufmj8_q3>iVVe}vFbpDrJt@Ihd0Ua z_O(6isJ{B0?Q0Zd(l~}_PZ0_Gn9v9`sW>5CT0n?S7<&5=s(3namBtC9)X_Mj1?M56 z(hrEmFnSktc>EE_afO`BzZyBAcu4K5SdoCSU6pPQeLQ4SoAj&VQ*{g3JVZF;H-+3? zsAN!-CByW!bp3NUOC(1>8f#Mc|NeKB2Qv9P`q|iR6x>q3D#Pg{8>bxyx!)UGqO@S? z_3!#4|Dv((g?5h&wFQZ||K3V)J_rQLCueLi5SZ7`pvCnx?^Jdj11>4%@X%=wExX$Q> zXI`0J-)E7-wZ-QMyGE{-g&q2vY_#rg7d^(|;O^dAO*(b))|#m2HVfY$HMGI*20?`u z&Az{5PSmVUIr~>IdtJ(S^4Ws-$0V=cw#ubp*SgkO!z&fbw`*R(SCI}OO%6@-slViW z$X+dLnf}g>? zG=`Vat!y|w%O6L2MRrvO`s$W%DozJkC`j)(3)BF9wT==^1)aGr)>^p+TS$7uT9kWd z$fkON8)1I|7F0iqxE#ZMO+dK+)%6B_Q1?*YqWY&V?)w27A+$fPWJvx1-2dt`e{Xe) zU5Kt-5c{4oE}Pa->XLL2WH&^d#acDQKM@r5Zm4dboHhjAyD({vQyGpOpBRu3Yds&s zZz;IVczmK&U40QJbhHbE>f&=85y=MGTrY}&9i{!RhL@@vuyKb$kjdNJj90b(7>cOq zLX~ZK2WP3n6{x0_P&A65P~1j%)aRo7N$b8jr|~4gugUC*bNl-;d*a;wh0LBfxBn=! zC(i9NV;qpjk2tr_F0&`j?eog)iF5k`;4~k|4Xgjtjh~5hDX8}+xVenylyPGj&m!Yr z@Z1y+A@8eTmT@;3 zcarfI;53?)URMv*L}3>`^1Y3%(jMJWFkflv6KhhOl?e&DpZH{vh!e@g5O``Fy?-GL z?9Xu(^2k4z=L=3_y~2JeIL$u_!^_8y&JPiOX&#K%Go&-{{7k$k1Pk}HR*Tv{!8gnJ zRz0s55fzCYl-OE;88uqq6RE*i1HQ_mRyt9m?W#*Y{ib0ov7t|yV)YB=o3VkNPCCJW zx@cr|m5+8@l!d~Zg*^{p@v=P{oaP2Z+=%nCH5NP{v!A4QpDw+=qu&deli`Oy|9EiH z_k{gmaGoD~f%Ei@0O$F?E;!{s;lBYm^$$4b@47MUdH79aypEnX!P#O#;gMZ+U#Cf} zwrTz*HU?Q)?8w$7?YHozBWzxW&jBZWT*PMq?s=Nd1?T0l9NIB%Ujf{d`6o{E1VSEh z-u^m(Q(nhoq`KJy!etPrG)`Y;|2yl6YiQHgW7wx~A&hvhgOvSlxJ2U&Mj(A~&qQ zNT&~q6?W1=-ReMloc0t%TgWAaTM$>B&OHoaP+ia#pgKTsdM8xI|I7K?vdj1Lw{8^$ z)$m=VQ~0}vL}K-W?)Zmc@IzxEG|%*_@9TSg?{$z{4>DI9>-II3{0+iGBci0$kh!|* z`e9EXpY#;LU*VqeGUrs!3;qW8)FyLI_4xm${(bhiwEg?xtSpYe{jVl-YMGPmD~LmQ zG#36l&KNllS=6pP#Ffg{7hI`b5@Cpa1$>RMd%SLqu~0kc9I2-G?RWR>10j?5?NiU= zVrP1dWNAGL_fmbRKhtY8vm1kZTI)#TAEHB+zRlMkze1J%pBPBc9Y-NmYWCf9;|Qcf zQkx`rIox{!_4Ma`wDhj+D(qbFJJk!QXEPoV;!1G+7)>i z@$*AiD**?946Dz--#`6hv6AXYDcw}vEfgxmB>|wi|4#&oTtLYnt$aU?@ca-?5J37p zH!MBUwQs_oKRi%*65JQ}RKG!elMIy`GBma;?x!W_=F-LWr){Oa0reGaCQ@k={5wIO zJ3#pbi&1d|DrPNf=@v0X`qRhDumT5rm&NHLflAuom)?O+@5O38w9P^;&1=&$2;L0$ zls1CXcqE0}81s;7O=N5^#zU}J6;qb@$|!R;825aQ5=+k?j#r2?zAev#kZUg6Os^C!oplX|9Yw=$lV>E{xZy>xR4*YGs-u6di$4|c!1&6ot4)MkkN zG=kScrAc~6hM!S3FKw8ZeqI{ENQUKS*?eF|CvEgfxPE`!V8o#bLKOSs1pia}NCfv(lQVKT$Dv!?(3C3Lnv1w?Azk!lOR5;1_XEx~DKK{l8zI zK*5TR#Rf1`kJ4TXs%TXasq)T35ak&me;)2j3*opj`QL93ncwHQr|}9Q>m}|hFi!T= zP6+$uxaVOnk?}#`l;*-c)umJ?3*Hm=lr|a8??@BA7x8tUw0jYM+BS(cN#Bq2?yKv^ zDfMyVoSv1X=MU$rg&$kEr}Pxu4)-M)CtZoshnsZrzcYR%t!Ksd-`cQDvX{ev{U+&93>6gAQJ09g7|D>`%0XLja1gGD; z`&%d`;W`JO?nX2|$VaQbZ&{LaF4HZTX63(Nz4HD9xSvD8(d`s4`0 zp!Y#@OG;dY;cb=EfZyL%c|s;{s|5dTZIz_keE(d>RS3Hs9<&=k`4WrN1ENEtXbl<0 z@v%-jP>r>30q7$HR+08$c!p}}69@ldDUf15-V+%#y^006UkK2ruXW zKF~rz`h0DG^licG;hxfz)i>$-2f{6lOG<9j?XL+}W4#{cRq#LF2U9 zJ$prjL+w-@wFc*Rg-2+E(cflycops&vZq_ju76+B(b|+R+=uG+QB6U> zG{3<)TwG$)(Z%(#QU$s>^;CqHxc#~!Ks{)Vc~zj{J@Ry zR|)=TtcP=I{{^RgU8E0kPUCWdyUF4~`^?HP`ExRP-na9STC?3aR5 ze7NDyC(Vz3M_=OpN#9Jbzd#ApQuSqH;~ZPQoYLK$)=1D)F;QFYpXx!ummxkhh9LNI zaBfe19sXWc%lKLuKM0nf)@hk_C>*Ye2H`W%HUKF3jf4OU*(*;uPAd*oa!&( zo;bNDBYrE7->A%T&Sln;*?WSM4lLZ)0q1o<062f=(cm-&Bn(UMANI$DZ1T&?pB9{_ z2XP+P7#WX{aSb@HXNYtE9l&|qJIZ(>I4|#gz)Rx6M0|;JdHuna%ziRBl|SL0ICnn< zoWG0NGXHaAd>%OU?}fbO;Jm!70O$E{F*px@iHt9m@%b{oK*pznJG1bK+sZf(e*o-l zm_2dolZp5b1?Tl6aUS1cGCok|o;Y_uNX7@t_(*VGo`{pKFXA%}oX3ZFLzz7fZ#?Wd zA0_ioockxv-H(>>F*3ddoVQQJdHX?}*Ng`SWK+r-ip4#^AiZ$O2B| z5h8wB!Fl}OK^`xU_rQ62JOJnMzYos+KbG}hnK*x*+%o?c5Fc(|7WVx8*~z%Qj62A<6F6^=J-|z_=dBLT-$xypeQj`_ zzI4VmPoL)Cy#6NMl*uQ~%d5A{eM@j&UlBKB{yWI*{lIzt>JHA+zYjRiuYL7AXRh3e ztXZ-dn;4lIX3v}>lbL~eYM$#4Hziq^!@zl-94?bd=ZNz-Oa!MfERlyNfm58)>vXgp zTIsIDvKZgGEo;~IZPB(-%_a?7_?AocJ6Z2n$eIey(|4MT&jRP=fA)7cFAsBJ&-2$P znY?&#o}K|R_iAu1&tGOwXO46G&fxrg(3$6)(;4a9J)LRJIi0!Ac?dX<|6p*QAGd<@ z_!H;#?>3n|ac+MVob=Q5?@l@+UD>dmuV=kl-oCY4Hf-qIqFy^M_TF#GWZeemZ7=ca z%>8q4-gXe@?upl8?%#uRT_iV@Jf3e0f!j0pmf$?CY{7ZmUlyF#WtG5r_;tbgyQ(MS z&A|D)X)fcf!ArCF_=EGh=ma=V`(znE2hQK+1sT5%&g+UhGXD?s98pjh0H|7}{oLlb zQkkK5(F;f+z(EQeq+|i$AO#Lm;2;GKQs6+8M=#^F&rlnjKSLcEPeB|YD%C%2{^HMM z0?zB-?BHDgG1I#@Fvw((*}%}i$iUbji$PX{Z1^+5pDF&b<1dH)&&)vgXKtYT%W0td z%Vm)EFSkM3KMRAje|Zej{^d3J`CmSRpa11I`1xM}gP;EuG|1RrA%l$l6*kD&UlD_h z{1r72`7bB(18;kXQ~QvYK^>OOp)6lCiH90;wNGTwM7W;HiVz0Ke zRY#GL!jlj9~_i(f_PTE%*759=u!= z=jlb~W9ZT=w?&>jdGqFj$q!RNZwl&7A(<&GGe!Q!6#W|`@>wy&hxB&LQf18sW1=^v zGL!vpOpXj15uf6S59zH6gG`wX4ULS9VY0wv)fIX;Cx)fQD*N1&UNu};G`G+qjozy6ep;qZKy>&NDi0l zqL(Y|E68{?aIUYmmvLWk-Y!Lf=R`b(yzbz*Wmp9yp-{`GWYMnc|Ie~ z(>ELXWxTIy0$znZcXn`E6C=`&xE}l zu#3z+eOH=~TN1Cy{L?q5d0)N~IFCPli<&<_+4Hdg`c5?;CnRpo$+$H*&o4H5`}FA%=n&pb*KfrRU!2i}l`8I3OVw)P>E&CqB?e6~>V|3X zZ)2v1A&b`)$7Erh0Oxs$&NAlw6gaP|ZiDk@_sN=e4x>Fd_pg$1e;KE5vGBHxzQ@An zMCkh%T;5ZJUxU3%;ykU1+cNtX;P#Bu+00ztYj7)OUkTyycljCimdyT(j9b7xpR>*b z&dUmMURH{O*M_|G?-s|Y`Tq0vkK|Ap`hB-4gO++(qTH2`@lxRYT{wXA z`4xL`KE78LoWCpL+};`7nY|0*Tt0DL?-Y{pD&V{vy32S~a2qDS8aOYP)n)GKTjo5k zoJHQ?_4GM#p0|nf^#R12v+#)5m2v*O7hzwT*)7?l~`;H)QsPNDp3CjAT43xDAUx?KS4@9?0D>>0f)=tp;E|_EU2vWU>&tjU8E>rT|6*C5;{VjTyikp_B_efQ-sv^Eb$O)A zA=(PTNjIUn7&2`A%@5b_bAOcIxncg(t>;T$cha%1`h!N?v5yTOnWJBH2a$Y>Uu6V9 zzalxkS|{%}2~@Sh0({P~FU^zAJRuaAt!g7ft40?yNSs?7ZyaB5#f z_;Y1^o{ZCX7`S`-4g<~63jaI7DLwQi5mygjC!hpo0e--BfU3e#KvUoZ-~_A!qJZZB zYGK77fU4pHfDNz+2m$T`1%OEasaEF!S6~wm2fPOifqsA|kOY(h<^h4gZGhDOaey~) z8gK#D0WrX9AUiM&Xb2nu?0{uJIPe&t*D?)g4_pS^fo(tn@EJf#DEa_3f!#m}U=H99 z+ytnZ8Us-Ce-bDMtO25dmjD&BAwYfL5KsnK0(1f%0`!`v0PTQ_fE%y{=mvZQsL2@s z)CTqeR=@%v2)GMSbus~H1)K#c0vmuXz+1o!7y&c}jsXt93P1xq1*q7}06GF!foi~Z zpeOJZK*?A125JDi083ytpaO0HRLn*L&46UU8CVT;23`PEZ4CzM0S5tFU@;I1JOHRz zPX^io7l6vZW*{E;08lpU4|oB4fzrTyKn>ghNNpPrv;@uo6@c|XEbs=PVly0Q1RMqI zf#pC1@C2Y@IvwZ$Tmh;Ae*ry!F94|veSuoQ9-t&J7YG1u0aT5Q1zG^7fbzgvKnuJA zsG1%MGyo0*Wr3wY81M)nm0&9116%^C09%3Xz$XBjnPMP7>e7C|8dwMf1NQ)`rY8ce zfpb75U?b2Kcn8ojfRO+-UB>}OU?mU*MRE44xks1qSJ5^6LIwbb^=OZ z7T^b52XX?VfTq9+zzJ9dL;=r%tiT|kE^q*_0Tuxvz8#oQP0PBDl;5CpP7zQ*1jsSMRG9Vmy3={#T0qudyfIF}a zNB}+qnSee(O<*@r0+<8%12=)(z!;!8a1tm7tO25dmw*W{1gH-j0?GhOfKI?epb#(x zXa`&b+<+}WH{c^+3=9Bj1N#6gU;z*W+y(Lh6M$C0S)d}Y0q6p}1j z0&jpEz;K`ua1^iymID#M6QC$C9q0gD0jdIj0X={(KxUvXPz%@tlmzAi0l+Q50vHRl z08Rnrfwh1ZcmDtJuf#*U(~3B>0^Cq&$|8SXq;@m%R?w>gMr}LhoHL7sk4pBFpMFWmg zv12tj<^gAF;m}PSOcSUU<&ySj@N}a+KRn*Vc{s89aD@LZGCmEw9O99F>;h*?`eIhV zAs|E@5Qc--G2CI3I-YFnAim#8^P1#TI_^U^vLV7E*+%Rg&jByb_(E_fQmJ`-k&G_` z=XK6<8K?a{+@AJ-@H%1}IG4X0+=Yd=2b{ML#Ce@Uyot;`_fPvfINvGrPrL#1PrRCp zmt>swgYf5hCF2UiwBrv3dJYki5o>d3T@J0qq4hRoA>M~A+|#?}yfk=b2sT0&FAKWK z+0a!qMb0!wOz6wVg^@xf(Q1}Qm!KB97Xj!}^i|A7C*+nQlL7jr_!IKVK)xfBPnjn3=CgVZiybd$R+eJqvH9T4q?#{S3I4=(^!Fm1;2CvE7`+}EZ zd^ot0@fqMeyxHItnEf2^iZagiwfV3|$0Ieq3&DAPut?^gIQPEE67x@->#9)MBpmiWzhcV2e8?X?5XdMFA znP}Ys=MRxTxz6+joTvX+8P6N)VTWNcb?CPbGa(;g3Nt@o_}v2l6aQh zaKrO5_3*fizA`=;yfO=eI4|2{!FgF5C*y0udD$n<-!XBXC)R_PX5kU%@!JOO%Gg{L z&biJ7kET5<=vU9{Nj(GgC+GAfAS@rG2etpAjgr#m+d0qa=97e<>TpPX3BfUFB*_q* z@&T2@-xGiRSv>SC_%tb<0quUwLK+x1$4f1MaOh*Pbo>s~KKi=5KYdADi{IzL9py1$ z_}N59V3!>h8IB|SuF7@DB>k!u;zhc2n)6?e>&|~={on7;m;4_(G^8`)6O1_0Hw~yC zDGZC>59iCcUkl+;e`WqLMJs*JLoJ<}saso#144BjembJ23%(18lVyXH-PF;M@GsXR&@k z_Z0{FvRROHp6|F*7ShC}5@Az31gAK2PP#Pd5W=1~)eoGzGEO=p_fI+}ac62 z6Y|KO+B?A`!EG6j0;j4`*mnk}c3c=f>XVtWSr87@{_P{fqTlI+_3O|s6TN3^gg*^{?pah!e2Xhpnf9f zBu8-4Yq>pfZr@&JPn_Eafs_6w##Yy1}x_XA|6q(L;AK^7cc)L)?+Ttn<%in3ww+?^+jI;YSS8HR#W8B=tc(xzDZlzRd zlzv{((SAyN#UWO`4Z0K=h*tcC`|SYf2812B|EFX4Zb~c)x}^IiH)JKkJI5xTk)w zu&3_`I>@+E#;Lv#?z6*vdB$^qlO7@LiBo?}aB^Qt#;GsH?YaD%a8F~7!k#$kL7Y>4 zC^+@&xjf=rUM?A@?*j7YC9Y)hh;#q+T|^!}aUMQ>N0En5ocqrw zd3=fU@Qh_#=*=R&8xZ$eEdIo)4dwPcf08}vQ^I~D?(56An~YOmL%83Cd;Yw8z>70` z;{5rOWcI|l{a%?pac;j)W>1{k@0ZyV=k^C=_QbjUL76>qZhuH-Pn_Ey0q5y)Oy-_A zcYj=FPn_GI09OJcy@_-CWSKp2Zhul{Pn_GIlGzjI_NQg`#JT+$nLTlCe-50d#|4>t z;@tg3nLTlCe@SLfoZDZP*%RmXS7i3Yx&2j{J#lV-O=eG=+h3R26X*6f!FhVzmboX+ z-QSVf6X*7KW%k6m{XLmIac+NKW>1{kKaklI=k^a}_QbjUBbhyMZvOgkp$+d?NaL?URvFZl`QTP?`o?T-#;bs5W87WO>*>FJu@U|l1;((i)c@BirLRfiv!Q=NlS};!c^Kl^ z0nb2ny9rREW-U*z+I8yItKXnuqsC2|Hf!F(yJf4^ZQ8a|`3K;D?ck8mPGR8@n#icm z(b|~UE?wi|yE!?REALXFVkOtgWgRo--`>~3@td??k>!xV82n0@-(pQWVHn)1(0H8`!VOLw;_?p5_36?7Pok#Ux+*-T8c z=P)zJ@#fmG_#8a2(|2*XXic6%xzkL4cDgS?Z{uKVQ^)Dsu zJLgZUb0G32FKCo~s#X85yw!gZ4}}5MI%%T+qugJpuukrea=%N3e-Z9~!m0Ge{$>78 z`Cp&^d6v(flJc#F)4dbab7}ItKD(#bBfpaiT~n2kqRTcZDgU*6k0w|$q>BiXh#QgP zqMllapQUSt$LG?nh0w;RqkR42b@OtA5LR1+Li;r-K2lhY_?VB@F+`;e@sEz|s=?#w98ai6Lb%g2-I(QlL*4igCB)Ch%l2md zHV(KC_xtrYz^AI+UL{dq#`dYq|KPKOm%$);s(q z{VP;$o|u!}x66mt>sA*J!+0xHkcJWt_%8=^2E*D>(H}$*|}7 z;ds69*9QLV;fHfu#yh~C$CEgZM*z4Tb5ESdD-c}C?1|@MoaVEs4|`gwe>56=Di^Cj z)LQ!Bm3IhzepuO%UbwOa)`_Wt)wi_%eJpH_g)A}< zttesi>v>mvBQHjZhc4q$Mtc5Qmv`wM6_P^I{m1L7HgA4^T@?v?{|D(-Sw^R`|9;^B`u%>t~4JZ!VuqA&u~2xs|lr15J&yhmp&`N}!QsABV1rA{-ACaN*OnF@iaKp-5+W9}dBW91B{O{J!iLf)A zF0#4Ib$CX4x4RGkmG=zG*R8+6SM35qXgz11_d5AhM^c+jkncem-|Ad{C9 z!GBvhk)@^LL)x@t?>k+7IEQqA>L=km?*Gla?l6QydMRF6BBf=<2iIa_f?VyRRhnS6 z*528{$)SSOZc;ViOICP~2M}f;!paFyJuNu3HJnqO&v`K!r@0tzpI^qQZRPgV_Hj-n zl5<+$O8ifyL3pS?RrQJ^A9ea@AANX&_Xk%3oYT7ze1OcJIJX}xvnS5&hsf-SbNit( zd*a-Fgv_2ew;w69C(i9h$?S=9`_VFc;$;8N^RuW0bQAM|`WbaMB@QV0Y$44RinJUH zxm0HhJ`MMj-vpnId&*ye&%iz9Kfz;AU<%7P>1x8>ANHhs3B$_o_tz)DA@@sh;fDGD z;dw_tav$rDwebNlvK`dl!V5!OOT)7WUky&r!VL>Q-TDjRudV)>1z!kGdZ6Hoz^U#Q zd@;BU<4eG;7+(rb3UB~aD?Y)8f3_qVv=Lv|2l9~!dR)aj!;X9s)1GSf&Qyp;=Vd9?@hg%eW zhS!b;X=5;m<>F9DYPYGhX%Uq{hzGq#3X8(!+yOlOeko_#VXcw;E3K@=9e#5aen|&F zS1MIjFz%_17WN^yR{~_%`}|@3$^B7(kQ?UzNA>6LPC6R?^N$S;mjsWm1j888@P~$iQU-$OL}`sm!CEOTICoICMS$Tr_(3loAJL{zq2NR1mt2cyNbgxh z7ONpO!B~9|jpYOOA{yk^1krS`G0G$91x;}!9nBxthu=#(UA##JP)cfn)=gPMgCi)y zG#H83olK#O#QvXXoJ`?>p&ukltTq-cNW3yatkbiSpXG&n@vdqhS>n*}x2GWzIjY0e4 zR5(RRtqfDgyD6=$k#UE?trBjR;fmo3eZKtW2g9QFkwNy6(Xy20IwUu5cW=lNxJbZT&YZb zz?Jl5rt>gJkom6AY5tfig=cP+F$q+6~3CvH`>c}h*NvSiTY@y zOOw7u=1+tv=9p}<<&nmsm1tB+SE$*tjvGn?5z+tO+2Ql$`%U)5-Yg+Kb% zACNM@^ZcPX6jTjr zN7C3Og);L_UJWZL7BJ>&Y@j)!=1Em1YEg2`>l-m>M_M}^K zd*WoD{+)+PA9WGo42B!hB?TX?=kh(|!k)$rN-*~hNJQ@64_wM?-}cXoa+$7wE@YBE zMPpl>Q++2m=~Etm;-b+q8PjAkW`NT(i!kPb^El8M!%AkqMCP9MSMxa0nSos1 z8E`J|95}tR7`0=hN*f&-6`<+r5E33?9~g^OdBIiP{DaEJSFrMR=~5X>h{8%&kE`Wb zqebm{HN84D_3qZZaig*gn{=*Qr*+F#c5NHfZ`Y<-6D#aWfPsSs4;eaa_=u6CMvoagZv2FalO|7@I&J!lnX_ik znLBU(f`y9~FIl>5`HGdRRKIRy6vy+J9h5cy(ek!zWoOd9y)yF=&|D` zl24vGedg@B^A|2&x_ss8wd*%--nxC~?!EgD9zJ^f`B|N19p|^@ud8&g4XwTPidI9VrUWL3J<%!&UH3$ zN$!^BZSF4cZE&Zw%Vx70Un6qt9zXMg^WI?}*R1Hdy523PHHQZ6u3hagZ*Lux49JTLY<$e_=ml?R><@xZF zuGu4-wfH)9PUa_*EJKQ)x>&l|iMEaBmReG5m9=eb%_EI=OgMh*bYPXL{kpntf7ZW9 zpU;B@L@^=9)7R<_U*6rVXzo9DpGuW;`PlKdz9dfYn-JZ@ zu>FFb11otCi3zSV_+9q(%MTZSw4!cI!FF3qnY49n@_tSG{&uUcJ-zB>xBY1Cm1nBw z@SfD!?A)uqA4|<0^Un2v<<@tdn$O>zy~d|qBgyIz(dbO%=zYz}Yv)s9y|MQ|Td3x>fyFP5J_Llkk z-dV%SwKTooc4124Z0kNx@~?em9p zyB1_z=7_7&;)RD^w0n2q<%MZw3;xwArBJo1Ii4PkDE6eW@#7?`;d}Pazw2DS)rJyI zXRe&Mv^u}x`Em(w?RMGSajaP1sa#6}~!*+Qd92=3p)BJ>6lix&M zFEnHN(i^8vE%M)F*?#o>a=y9y?p)WUUY?C_O5Ckw9R0?lf59w)n@!pVyQ!9rJ?Ok? zRQ-1KyE}}U5x4wP_^^&kdyTxZb9kXePPYn{^~v?*ylJMVK7P-QsxK*JylvOnmrX|R zeR1Str8CbTgr3#*nOY+8Afv5}frT^<`5^eNsl zckgM{u6KI>+9kC6%ze`b9X~U}be{E=N*m)hue&_7QJrCv8YkWBG=G-;_5~$tH*9_) zpKr4kJ(m9oohTqWpnN$fMLF~8`WDpJGuPKY|F5q3e|63Ot84!6tZS$W=sIbR#ZxCQ z>&c7mxm;EaX}t7*W#Q(&bI6!W zufLeY-|PKiZ}qpK!FG|m5(^Y)Tf(%%s3x7uWPRelc9u!2B-ce=mCGg1X}mr;Xv%|^lltav?D2ZY;}#Jm zOoIz;S&TDTlgw-$1r=RgtGDgGOC{Z^B)7ZLu-^M)XKob#I4AzE2lrN;7(2=)Ix$<~ z_;o!CR9a}bFMo=*aw?b{zfJ0j(p~v zY@O9;!Hy;QZgtroKJKZySB~0!8g#p=Z1dsco=+qERrm8B8gSXKd8y;2r`B8FJoBRk zhnHp_v#tD!-Zd(p3#vFfHg;vUF*VMQc4|JoO$VEYJ5#D?LkgH1KHpL#&eS-`eC)h) z6ROm@bz|<0=kq!Z8*=KU!{qwy4lb{{J8b*T1G(F7Y`Utx!~51f+xoqUD6)7`{xD}Z z!eFj@x~x>2<#g2kQ=evi(HqueC0=FX&S9 ztI6_*1*=_*-fBN{>)F=#OU8J19y&J4*upuW+x_8Nb3{2V8h8G{v|ApXMlKkfd*~zIrb}f2*Ctz!AqkbbZow1tM(_xBd zwhgYWM-{skaBo15s5wn?nw&YereMQfE$yq^dsl7WlMxqI$J!mTxpMfcuUF`kLc;Yg0xpn4R@l=934mKUmgocEce(=0v@IcI(VQ$D`Fh{55RKs0#^C zpEju4VERyt*|!QdH*8YtRbA)gHBV~hnwG`A@0B?%@7bR%8yl`|v%cnJE9=bec|LjG z=oD(?S#WXL6~R?HnVR`d=@oVK(#6a<-Z=G`xo&*&-njGB~QW$Ge;P?)Yrl zxVUtgx7k}gJb%|FZgQ;}MM5i8A7L}5VPoUCa+m8|xsa&dzc62RB2o~B)b+$LArGhxq!k@uUOD>HTUhn;saZ&D8n zuAA%Sn{4ZPSFrAwvM}h=(e9R3YajUa-D%r6bo*BGBj>KAY+BrCd(n%-N4=X@Jh^#R zuc%^O&N**2%3r)$_x>GU=f1HbFGN^}9sIQ=`naCdd|op4@W@VoS-yDxx!$3L!rAqmR7B2Yt&EPg| zr#)F@f3w$vL8Eu<_kU(TVE;jr{+~8ZO6r)@=Ha?6hnD6#wZcce+`Z7wtDjxU%+kb; z%(Kg>GlMW%78oV#OTb*0owA9Ad!vZ?l7AtYQ-PP=+OEqki z*vRIu*X6f-ZsyVLr z@6~L=U{goK11s7m-SsTdYT*sT&hxHxyLBfnTgk&?x~?8lso0rrwfyQ-xoa^nZ}y11 z-ivoNd2?sSm31CRicVRwX5=OFOOMKSpC8}p>e7=rFK%9DayBBq4-So-S z!{%0|z)|(;Y+k%meJNKbrSZ@_rO%b$?q_0BsbptmCmwk=g69!KN$O2)L2&f zSVUKq<(Vs`K0o$0p5gtqR;?MeYqhg_Y&@{Iy40P8$5pNy=GUlZW^Q<^(g3U8Bkcm( zdyNb5`clnmQqo4lj|oL1mXF z&v(I6-#53q1SRasbMm1BIPTaotn7OXLFzu95)goTNT#rxlMUB9#X z%N#qc>M!j7N$aq1^5K3rJug1pUDMxl;7p&R^S|5*zOJ;rcD?fG*!i~?eI7Uu0?u^sf~+OpOfZojty7-tn&aZscw}b5GRU3ImphH|U#i`o_N5PeN|*X}NoL zv6RsS-rlh@lhu&S-!*Xu7>IY{v9~f|FOWL~SWbdH9K64GL zytsSeMZLQ_>)o1LG^$hYUI%t2&ADATu~GZgdq=5V@4dV-W{zY2GIJ`fOuYAKLbknw z9p)x_ue;K}fA+3B+f?{^(`~r-!h3ZdFZ`NP`)0{~$9LA~sqR0m`SxAfhk5#~I5mC2 zk+4d)a?KujD{H~h3(hE)_1iefcvq*v;Wxsa_sv_KwaI`}tM2SE>(*gU{@w2e9QxFA z-lAHkZ^TBL&!2K`{`ERf?RJ-LHDKWTY1IbaC^c@kd(ooTJI>!Yzwh}8#vlCLYn5ud zURC=>@lsREE-ck&Yz~$0l76+S=5{c?UhPdy^8vnDPVP8cdR3MLzlftrelf9{(u*73 z%X0X2qni2dSo`PfFx>iRprO&q%PTyh^X2mhTd~b(!^8^KryXbdXUptqb$9F2fGT~0 zYqWJcYS{02tl{*!*J^llZWU1C;Ag9p7JW)OJhBOTb#k`n=uV~v4QH)2Xj!13=OD{b zK@TUpm8`V>M)3I@4N4ff>{bL13-Q`g`-IoruiX?q_rEGpq*vSEU7GTB_Me@csnD~W z%DC2B)bpojQg180NU17fnJM$Up>?hfYMR;E>0|B3*|dQpR$s7e(OqR(f6w8-i63j$ zepB;)W*aL1%OZ2Rwz*a!>h-Gfbyscox?UvN`}}=X@F-8SE{jH+2JfvJ*yYQ?(_ZV< zTfK){t}jt~_{H)?<2xx@o-xW5aY|KUWG}Pw8;5RJq*y2C+8=N&IP&x11kT61?l0zdEBar*dBi>+7J?%RI+YNzC@cW0=ctSD#pc|sS(kZKnrry4t4ThzGE zs?A;cogOmIX6w{tmrWPljtbm-*`?F*m`O%g8-}lcVz~3-XZO6T_r##c|6U zkyi`OS1nqd&201FFWZOgYL-0p!-`JLDrGYAFn_yVTc_Pc|6avT=Q+1#tI@OCrWF@H z478qET~+brSTpNG!Q1onIh<^?W#lz&?vktg%bZg*^Y0$%(XNN7c2jboe`4v=%?=FS z>hb*O`igB-7p?uqcgkZ^*~lp8V?~}G9+5^~>#kMIQDBvIh4$Nww0ktVzEW) z(N>Sc?v3y;e7j-Yy1icuTspn)=+(VTRjW^r9dB^&Qf1BCTRr>|8zh^L)|TEer^?_H zYcr2rmw2P(rO_A8h0Ph=-Ei&V>Lz;)#;Q+O4nA|Q^WiOT>lNE^uhg0oZ;RCS+w1+% z{B-yVgE>i=G;2S~TuMBHhj zNw_j4EMiqf!-PS**EQLxxzzD}nKL#`2W+Vv5^Z9lys9o-;Jks&#~4lJ-HBIChS;qx zye4EvM4_Y;2_>BTnsl0G-m!T-lP1;gs5@rKbta<8Ut1EoepqL6t>vY{_hyILtju9p zdE(0*uiADzaZ|O#FWJ`Ed}pqj1{*d%)hz5?=<2wG8&>y!5wLFDwBwih&#Mx);qgSn zg{M!MBq#Jz@AMpc=2dpq|Sg&NuO?nN3~4+m|!(<(h2? zG0D5G*qqIm%%?O8b3b{*(Eg!|f&0Ko8v7mLSBt&dx!U}Aza8$al+oC z^;MtypH|mDVQvsVX|5(@7M1^kVNTEX%o=v-;^A#BT`Rp=qiMgl!@7y_q02wl8&JG} zv7fQF;>gRJhHTw?YKwP>%<{r?ro}Qda^}1e` z57AA-4^AJlFn00SBVM&FZA@ml)^cldbI^e9pKfg!*Q$6*?j|wEzl`6ZJvi)iEvw=A zUiTl@BdJs44RIY?U#YwLqoqNmTlJmKSMELhvGUMyqjthIXYwWQI3B~b%nW`sWR?3|P<$Ga=tsuswyy0=}ii>vo6 ztM;|@`j*EIMb3!++T~5nT$i$$PTcKZC9c5Yfej6IZ=Czc$I$Ghlgka8PlL`lkJ{um zE&Ro{{#kal@IBHaxc0(EgI?Flq(~S}dOoz5)y}~APZFAL8_;k^u5Lz^v*xOB_T)=_^f+tKV$Qop@jo=;y&)X(^+__6K>o)jp<$#;}&Th8t zc5_zE`Z;oJ&pb5Gneu_hij8b~E_TO`s*khhE;Z2o%h!g92k%+0vZ{aS!>kso4mKIw zJ+}L(oL=Kfyf%rhGShAP4etSq-&fyIyXBsgoedWqcbpKQEj%)7t=E|^D^3>L=u~xQ z!mw-?@^8Bv^XQFVMB?6&8ym!LU7@V!T_nkPjnT@A9j*lq3EgMDWdMr5B6`xEXNy|& zy0qH0iOZ^w?uM_h2kbJ3jB0Cq zqD`#PrsTcX=NEi%>u8N>cVh>yx>K~p7yHIj|3Buw1FpvR{r^NXNa&cUPJ>E&qM=gK z)KDr(ojRwX-D#JEtQ09kwu}&!Jws%aEqi1uWhBZ-{?~QRx$`*q{61fOyk7r{r{{j3 zd#~%h?(tmr70qEMH>$1aF;Ass=Ew^TcJzz0`ZBAH?>L^Fu=%t1s)!q&?+pum9NHI6 zQA#j7JnER#0hbqnN9(oh%4d8KiN9*97I%m}C92Dg7|v9sie(9nub0a0S(&pXb${Na zqqDqC<4Qc;HSYMlde$;!c9`|yo-@ofPC89Fs&HQqPPN(L zWj9*$mzI}2&gmX>F)uyLNmz*bIlb$`V$vyY%h)ssZ zoAe^hxwr1Cne}c`@mOJT!OkW8qJr4K>VgycXWu1@>`&gMwx{pQDP`LfVs=$*ukff1 zcby`V<_PYO&64y6U~JjnC;< z-Yj(3_|h5^)znc{iwj$&UH(M}YNQ?EEK=XECWX56XXQ!3>pmenh; zFRoI)-@R06@0pCoags%Ev^?&=%wOA7|E<48&&LnKB{Sy?6xSWEFE(jO(h0H2?iEa7 z#+lpad!8yAdqloCJ4fNv^=HbdGUt@&%(VS?x4Q1x-K1RBV^oh_0i}mM(h~FC`ZFH8 z?5w-!dRli@!P3tqE52^HvufeXocQCJN!JSsuYd zi&H`!hgL6ie)S@IC?&=)NN_DJRDhTer?3Iv7z7QSa*##ER-!Dye|HE(M*Z5@s;A$qH-tMC9@`YK?&jD2n<5R2Hj6A2 zyS>PI=$#j`&b7WbQtyrMJwIxA{zIcNmzJ7+7CC5=d;k6W6a8+rZgt%8uFvclO-Vg< z=&VyR1A49s?z_j$s?R-@=9y9tYiFb!*p_iJYR=s4pA7x?=?rE*2#I6`uD1;8mC~!k zXSYJJL4(KEY{isq&$d-Nee{3fkYkiX0XFo?TGoIa zbNlq|=VaPv8uowXX(qPgKPTpf%(c23K2t{C?wfqDVj_FDa5t~dcZ7|{d`%MRv83Jd z^6pvFSL~lNEFkC0;NhQAr!+kf@;|UgEIuPI*6zaR=3f2pFVywDy&!Z`dy7Y7ezeqx z(wx-N2lq4X|nr(>K-+*DDz$qF`2qI{r<)y=huYu`S$ zy7B&njQX_#dG;Y0cKK>QuU1Q@u@h^ENOy^qmiLE0pT0!%$*>5qHG`G?22E)j$MWB+ z5f(pRypP@SfMva;tr~P)&0mKW1?71>>P43_QVr4Kv<5p?U+xz@^I)!l*P1tCy$fDC zzdV{BR#?+pC9yf2uA^H`8{BW7$%Is$#ChHhRwsOIWsDQ`R6d7XXYA-zE>q_WWQ%Hs#o%NKYV zSQaaZi5JN`zg;vr?BMgeD*h)n)74nZg!C;NOs5SGOWG{aXY3m>`jCE_A&kl6UbE)< z<#}E#&ozo)@us`k+u$)zZ}v;uajmzq$NO+;+0`$7D-Y!dWL;jHP}=&~{?i(^q{6|0 zdZ9;UrYRH;4H<-u*C@chy_st);I`gNP=BcvJ4Fbx{GCFzLSov|N`Yllb< z*}$-l8_HVk>gidNU{@2chPhn>FiJ^rxCS2ew%)>%S}-|_p2`FVoJi( zrBzhDP2BtSy);rtv2LvC)EN~?Wt)$U{kY-KkS?>&Fzg%6Svl3Fp11p%7%_D%x~q7f z9@Ct9IPFkkxw5(MNog@dE8nYqMg^=)(Mi}c*}?v`LA9ho-+g+i{dZ5DqjPcMB~RPF z^y&JVKI;t}p3Sj|Dt>cGKjG{y(b4DkyPRsM3eTSDs5)_zc0c?~k!Eva^n2!=#jjL* zmJHIXxbz@}-Zb2G;1s>V7yZuUzvCRJRdRG_QF-iM-hOZWM(rbkjn8N1R=(6&kZmG0 zy*95$T>e;t8RfPG%UjlN3~O{bwSD8<&%W6U+^s8pLU-9P6ED#ATaQvbT+d*J->gX~ z+%KgUH~+=pq+#u@B?HCFl?S|RX;PJ~{W?b^U+qA1_Oo01m3q&QH=5br-dLZYp?aO= z%IrF6vyJ43W3=1V_Jap(&vHGnG%@9Z5mQfEcqwzwkhQA*3Zb-!>=>H^yXUyZU$Ypz z?$uts;xWZ3$*G<#){)BPIWE`oSG8Bw+8rNVnX&Fuw(A;+jZ<{!jq@ZQW{;}4Qu(HB zXycO!CL0aH&z66YkZjS=`%){v>T!PShW>-A%R*db7OhU{!^qG(BO9eEmbRZ+Yi?3I73B{0hWX}CwQ85$xvM98-8kiJ!zI^KRyPLsO;(`Y8~n^hT&WMU`vOtb z%X`~4Hg2BPXtX?`(r`pX_Cv9Pe9aJ_+K(PvTi$;xEmt^g)tLQY{6_DGhq67K3M*$s zd(=Ah$;n@##VTK#KCQ*Fe16LG9W8oW^STV)WFqa#>GHwPA$I22tutE^bNZ~vIw)hfw5eK@nc6BXt1mzFrHn>qv-_7lB2ET1 z$3>pJ)Yp77RwHm!%5D8+0oPK^eU#lD-i?+iIA0~=RxIH(Gxt;ALeqzuo?YpMtlpsw zyENBUl+T!x8GI}zXLIe|TTzcJno`Gm9^4jH?5;4~LFT>10sW7!*QaV;b`N}5nyYEJ zFi^xue!5em+=7bBJ>Nt3rxl8?9@KEJ@Ksaalfw_5`uZT}tm~OuvSE6eWwE0wg6u9d zgg&b&JbIULkaPG&)27){x3&%!&zVkdm$4L?;l6ZKT`8pk`$we%2inN}#XR)*zntC*8IHfz3q-mYo4q>rx7xiBl_;0g7prU893 z8g9o}7D_to&+PhSXT|mVlbq@=4izzbdqq>v_iW%Zrb()r&=>u$W|A^ZIsM(0cRm)G zx3A7=%Df?guFBmsGX^#3+a(#Mt{PY2o>O;M#`=aP~mo7TAZLT5me!#@_6MJDyl?@%SLyMZNI)%EDVaN8eh= zW+*H-o$Yn8rLSpZHFSU4)+1V;J*CvsCjNo%7R_=(sOs_%7(4Kay`cT zO!iI2V(alGFHIY2j0mQw#wPSIhOZQb1$b=T8YmCO1C7Fk!yv}aGw zo!#=O{+j6vsY>>k;Jlr=dnHXrT=Z&D)py#N0$lrJ1rEldlt=2|sVJ>>z_Z->b>6ydAFHAJ(-sCCDpecUm}2nwvtrJQ;ySVZH}i_a zXLv&QrwwR4QJp@|uVrYnp{cPLgS{puey7M+iR&BYc*`D1b+jHNBAx9WIZv^j{-EyR z>$9a}m##^H?oUf%?ye46xhb#WVY8=uhAaE+H{qSHyY+3cPqQ+;+GJ*(kQtI45;gt$ z`5vmW;|`kcd|VOAZW}qx)XP$><@kB$Z1(={)+vs?Wgi$?U$=FAQP-$irugpKmK2Yo zrqYYbnbpw!X>psYJTKp0m8TRcmpr4lZQ0tFzV$|n#S{u?+u0GvnGRx#8YuLCWCCAR5 zsTsU`v7E5&+;Qu5uVficj4I317?zxUQ(Hl$IIzApkywDf_z4Et#dIC3M0q zsj7BoWNz~HQC>|!8ue~NQWWf-hbO;TZCn=L*SzXlNPnRVc{H!!x{0~pvRX?fwXSDb zN$fXy6#u9-@l!$8{h8;-olLwV7uYqcX5WL}svDCl@)9G09O;! zFyYqe!ueizrk}_?HTz~2vweop$LP<=KH|k?mTwQ$KVQ(O5dFqcu4ajJO;vSONNF+06(95^7vIr+NkrNh!Prx7QUT`pW#c)xE}J@)?-tGs~!+$J+$o@b9PmdJH7KGvo)H?4fjPi$Y+)<2zL`lxCDrdvCkSX#A#H!RlQ8L;oNqvgx8Ei+|~ zYio1Lvzjt4NncHtKP;8)tiJwJIYIJ)1g3dyZw z4AMsT50R_6xhBGr{kHeFjUvq8xt|uDweHpK``$18i9vo-EVDXi%{r4uVtrlL?!C6@ zwSxVsGFE2j@#c};%AG#FyL4;E&YikpUbUMZj95QN?)c?}udU>kYVD5bvig4S^2x)Q zs-p3M1FtZ(w1?`heBmx5h?6)lGd#~T;FuxiJnbvd{ z*j3#uk=cBfW2kG^W&O#+7Y=oCIHFOiP_a1r`tI&S=U;7nnpT)HvG@Hm`7er{B_A~R zzob@IUl64gDPaT2Qfc6qpFe1N#` z!M>|s-3*ggXUOc^Gic1)xYv3?XVM+-c26*Ia8>i!oOe%MM}C)U_QSD?gZrFl6uNA< zdYQlHli`IWxkp=@n>`GLXCBX(+Lk(Yb#}x3jaPRJnNVo7)AatF$g1K##>*~z`OG{L zW+Pc~dH%=U+dwzS@1N=9BvEw{z3<9$pyvZorWe z^P~!?84Gu3T)%oXf@#SPEYank;pN6)0XRPywu`2u$Pd@B8_iXwHieW4@?QX zFT8efabER>3rXTeM_wOrt8h&!++F#opm7!>d^J6{>yx4h?{m#Wikh#V_MJH+>I2)$61HE;IUkH{ zyZA@+3z%2(xUZZ{R#@S^6d8T&|JpUtI(|h@{GC&CCmeS^Q~5Sy-}`kRmA2%lyDy8r z>A%pTtJJYR(`PiwZ-0BgZ0;ue853%fuV`7TKKe3ZpwunZL5e*+RX9;qDV7@#+g+RY z`rebtYhUeVNR-cdpSs9j(mvnyuF>W$TZ%sDa&Dj6;G5-|yWnd;MQfz?J4IQcVWksv z`?D0fS`RFBjz52b`TXIM)*JfIPS3GPSh{aj_l+JwI!A(bn`e)>boGIVbm5!)5iLnu zp3JprUE5Fkj6G|(L2$BKwQei(W5b!FrE+NC*DvNl<19kn_(a8qn( z$P%RiU(V1^X0~L!srB1qywm0BIFl|ld5(Gxep^_ndv3U^pS9{fWQf6tEN#E_N1pb{ zXm4p9d1{E}+B(|1e>2~9=hBk94VsaS&9aAASByU+xj0QKZQW}#HNyuDlSCHg zpLHv@JjkAU`TfL6!n1?K69?!U6$f_Pmadmq;5KGMmCEI&&u#0EON%VKrFQK_eM(8( zA^Q~J1$RAMWEy5M)DM5#HGP5F$?-{|_nmC-6{ihaH(EnA)@jH=&%v4VvqBHwe*3Ae zUTNNK(b{7tM)tV)HaKB&p=Y5+?%73&!XLfG42qOj1}<-Y>9PFy_;W>cvyUHxcWgg< zT?KR|ul?UO$7^N(E`dN8z{t~#z^=AgWS-L`K;A0`+4#7zSM0>m2_-mLC|xPZM*X& zjMi4H6t~~KZPEz&Pg9>bpDmA)`Lb|hSk;4D?JHjQTvU|CxHEeE`|Xml^F~e9oNN<* zY0LDuZ=7CMC6cQKtiAhcm}KjLQZvPKGa`Mxulg<+{$xjy{^QlDW3OGH-Aw;lv$-t% zW3#f4`po_k&b`N)W-w##O`jOnxLw)j$j!aIvbvr!8=|#%tNNFR%TwpZR69)Q`nhIZ z{f?)x%UA6Y6~B~mFQuLSRx?;h$=55^^Mbfl))C`P2@4dL7JlwqSsQHep~s*owz9)> z_h!?Z-4>N(7}vpkEP6juET~_>dg<|?ceCmbiLW;dwkca?6)#mU)Cq? zQC(b6G&TKO&Vf?rTNfW0z{!GMwhES^(Qi4YM$J)JFXYyDj*({fCtcbM9qclLRAW3n z`rZw!On9>A!>#QV8;|DoUgEoG!fd1cGxje1*824AnV~h+5z^K>C!UKJl0Bx(8WujF zQh8Ljb#e^`k{+vBQzM<+Tuw)y)^9ItS-J1}miC1r`9pH8<|J)fw(rK{hc9;D(Y-m3 z({t=A`v-Ajx)v!Z8z<9y#!c=S;<(V{bhnS;g{H%OmM@`S`dWPYo9olkog?n~uep9) zeo^Vi=3{cDvtK9A^LSt(AL5`i=y2)+mkS!NL*!(fg6$=TJFhUCJ@8G$Lx$;;yYsuA zFE6{&*5}if9kD0kRxi76nAQC3>5<7ha$k*FYJR_qNt#oTaPjoB4tF$n#EQyhI>m^; zNmyrOZgwMdsEDw)>`tR|Da-0U)jU{JRQB9q`Gn7s^9?KRA6${Sy{>In(ycSni$t(6;1>P4wmxt*{xAEa>2LH`6uUZfA__EW$zaQGvjKj z4&BK=(r~OK;%-KFXWK`kXC{r0f3Ko8e%Qc)FAofyc6F-C)q){O`!`&)&Fb;?ZoQsD zgLR7AAw|nMnJ0WJS8fa%u)T*C^K-<2-Bs@8*`C^Se1q3sR2}uX<%^hiYl-yeOViXA z&+U=?{@881OZ{Km+NNnx*DcWUpx>0m^Jk8^y8J~lt;j|<{*#9I#&i7(3%ofiZ9?x| z8*Oy3p;3IzZ~-~*6B{yS^m&TT<5|4NU@%;j$0%j*_2e2HICh|TES=3j_iI; zZFL%}&tJ9Me!!+02c~R8!+ji~DOF1j{_nf4>>tdQk`GcfE4pexE(*lJe4LlcLhzZZ{w6 zwe%{3IqvZyRh`{0`#hN?DzPp%+#qH{#WdmOEn{z-T-8|T@~Os%IdPSPHoyDRtldT2 zvbOaqs`@6@R!I=EIX&*(oZ+kCu+k@V&?>R@&zF99u{(GDsmQ6KGmXM0+f=gF z^~wo&zbVhj@yThML8_xHo<)XPmpPP{4-|iP(Bb&t($YCj`=2J%?0Bv-W81DTX@%pD zs%;#+rgie}TN}Jz^!0I-b`y1XdOI~pZl9T-ed_U${YFb8o(!^GX6HL(vFy?(%O79c zw|1X`#_T<;#F-Cw&RsC1?rN4zb+6b*+1{MJ<2EMS3N=lWkz~r&+v*QGI;*<3Mdg|S z{hp6`b7b9sy1J=#kLc=0pPSzw);4A(=SzQ=tamR5-2PCm-%VmbjI+4qfs(Gr+CK|7 zOj>Suc*q5vH#c-gO63HZjoW?r%SEt{wKcsjW?r)rj=OVU4C8(y zvu)^D<*f>RUQJYcwY{tQK|AHO1wCVyUp$??SU3IFvcN*&h)d60LRM<+^a~345~R1> zZ<@{ngJd?ninGFXZR~|;%Pbb02G;&sKlA+IBeR#wJ=lNNYeDI%yx4<&*X7IgTfSPa zE-kV+m+WCq&7Q1t@}!tyzHYAi(%3Uo6jrFKFL<5Jqfz=EVZ`9cA=uDG$Xq_>Ah z`Ls_}N>j+q9+|N8_PcqjhVHq)GP?J%t@0CJ?u=X2Z_E5U=Iic%TICsg?3^zn&T!&A zy#SYa6(8+0Gj=#U81Fh(K~!W+yxQGEwc!hoF4z*iC*hIOZbcmbg}yEf>hf9UQdg0@ zq7O4~u6#e;tF1M$%B^L#m7X-mQg`se3+{vFPx(49_Hx1NrX^e7^c;M#vB&(tS1lq! zhR^4)Mo5cx)gQ8QyTPM==TEX+zE!NKU4CMXgZA-&3J;B?l@ry2?RB&wZ>`YGo!EYB zK;H|uU#{AA=apoayS-kGZ`f_jKt4Q8opqM_swpwn6=E`OJiWSlA_6m zJ7JS$hpWY>;*v{iEWFOHHQ#9c(X#Nm^Oz~#Blg^t6W%*)alk(LF4g<*WfiNwZp~Mb zN_wkCf9W~Ao@I6qt{b|)cxUK?Wu_-LcF@+TIt9uSXXFA#pMLzx ztMXY|)2V@Pm&u7nH_LwbwnXM#n8^^y$KEe9HwQN)s7TgD9o|x(ZE##TMfXIvIY%~k zpP|)DBz1jA)2C;X-U^4BHh2BF^j&-WyRizNr&!g-jv9CC#bWEBAuXlrG%Cw{3ODSU zq%FRCOL_PdmxE!x#Upx5-oCNWXX5Zv+pk5mZqt02vsINdvZ&@OeD0KL6f^3bPxNT! zhp3Zpa_3lYUqAQo(9;=5_C?IL7%3LK-%K>bt}Jq@qr#cc(&BZi4eIh%oeg}y_R@#R zYjjhL3%7M0zQH5galNzbvvoUiW=>S8Df75K>4w|Yb7}5c;|3kLZ9edz(#7eA6n$Qa{gJ zZEy7ScB1hh54n-Dr}mF}Vt2WwpW~J5btm`Tc;hU4v+si>`TPPq##Fk7V))$I3OQnr zKc&x``*B+LhhLJH+I*fXt<|%O?+}S^S5kU?9CJ;w+xb0@o2&Oe={5H1L$MplkKTLA z42T}0**`1Sw%-DwNA&nbb26>oA6;-T`OduZ`k48aLH(wmRveaQyu)Ie$>{pj6Qv6m zkJ!H`r)pGP-i2-Ex!Ov~ti678w#{o!pwqOwLA#od9N7?a`>1bQdAVm~|6`jTMcXnq zjj_3}Hq`#kfowZv!S@f=!_O8?y(cBE`KE8{x_N!x>M?pt93A)d%OUHw?)viIgtp9YZ&Q6OniPIt zEaS-`@mW!Qd!)6;U5=RE`$}F@!qp}Iwbw!#4-9QATAN-$zkk&1_fe{$Son0m^`iRE zPrOwgc)snrvevWtw-xGBhL7nJT;l{gJhL7-=`MVA^u+6aJI$U9ntV)USbvM5!=LUN zd$rZU=0P{N428?v=4&c=)!)$B^7PKh%?VE@bQMFK^TI_OGvK54*3^|)uI4%sayEoKN? zW|ogXI(OHR@h|L3N?%(06b(BxZ=%}1Va*~j zU!iE>3C%NE+aIQeZ0S3*xh6KX{nngCYZyzT^VEYvd@t|HcfDuM(p8#JV5YKu(>%& zHl~&zR4Sc&3_Z6&s@@>s)zeY4Wiw7JdpQ3Bt9EM5Nco^!RaZqAx7Eef)$~taZm+7o z*K^c%CAl-3RbGt?AF$=1pR~Ij?TPgsi8p(SPe?Ic&&%blFMg5kyS^dDZ_GQ*HBRmK z!nL|z%2N&qPawAG1&q9Ye1%}3RC$+&vb)|&rP)1s#j)=5;n<;5J$CIg{CIWz z(C)QkZVJEHTL1awCTX!uAJNviE}!4n@6hUFz5f2=VO|%9sJWXco^|lMUumAJx#_@+ z%SC%QXIVCz4MVKlD#ebBGZrr0d-&3#Z(}QFN$lH@B5PBU(C8enVARftxz#?srr#>; z${D`u;naBlSAiLev)ANDrsuK~93o2RTlkMjmM?J0P+wM;AZG*rXvxh8MlLclB_eD-UeN zWE57l_STFLj=C}J^RzpQh(3U!zz0z84Hct)0D@7sF4Z0})gJYfQSA{^?eRkcsy$+= zy{dpcVyZpra;Ex6OtnXSlT>@eRD0BuPqjx(wMU&jRC~l!dr&?1gFRxZy%u29OGL^G zG1XpMz#cKxUPl0=no+PAyqkoC`!+PXtx8r){{-OB)NnaT8hxMxk55cBj7UTNZ`LViuf78JY{>@@^1)qXqJa|KCo zLnV?w)aGdw2U@*Bd!&(31Ums7-GaCW!JEWc1!m+Qo#$V0-$!IbBv%c!-bk(xR7|JfSA6@wktR%!FN+<PeATxJs3?!9;x1R7^qY+p>7hMwjqO>O?wA6S{b+P?bGUQhYZxp#jcpHza!0<_nnbw}f3aDpS_ z!dR$Dmal-6DEDM`xS0?V6ak7$M^2%0?{p(!9)<9*4ae!|jtqf^Cd6V#M23e%pe}l@ zR!16b8Tjc9ZaSY=xD5cVIl=w_SBIg(bX{(4`Imf@LOeLe&W8tiD#2^PjN=}`8wBuX zz&Iun`z-=k1lk7jaAGgfoyX%T?c=xYi|Pku4d@!Q$Ouq|3>*_O0-A!kdR-YI;Zb4i za8Luy%^io=(qfpbkVJ+qg9*B(IdM@@kujh+8ooRCrPD@J(jyJ&0d=Y!=~DuXavF&n zu@ePr0mcKY#2zuGjbLNI*uM$31dM!)lHZ^BEpclLZgFvpihm(r{Hi~7_!$RbC{V%} z4;aTx5~eF)lzj;H1dK8P!IJ<}>&qK3${@skGGI&-!M=R=l>GfpUwwz40D(AIfT?W= z@i0mpL4c7@lQaL4hzd4PUtHn}dBwmyw#v_{Hxa+>-F7KzP(P5HEl; z0QZ9Us6@%{Z}okW@aKSkYWnj4Q~TH&z|=a~4jA>D{vv57ZTskO3=FTW`7V*UtGW$cmc|6ay+fG~e2 zV`Cbgi+PH1LK&Zl}`Y4ZN%n zP82g1bm4OqS*rxnX+e;`TqtaDcoQ57X&DCC0q*e(gLge8|1ZHD7#S0eZ7+r=L($Gc zIFjfeo(8b*32$h!v_>$$g6B0nppYB}MXow>7#ahDQR_Girl9Sd2^z`6*h~%^E^c75 z+8`_y@Jp!EWz9*72+#uICOjkn%UeH)&K+AHLLzaDqPDFiV25e%bew_Vu|x(hf-tFV z>mSMibiD^e$Av(RQ40jpBOJ`r{ZG>V2oj0B`rm}b;DB5QlVfKH1IJtv#ua}4|4kSj z>EVa91j52~8xq#l|2sV$b&S_N#6e5o-g5vg;30&CYdj<@0~n-G7WkjiB^W69R}Z1n zOex{&L%1kUlXyJ&@eu66xBrKDF%Qf{xU?Y*ct8H>b0?oxdN{0{jaK5xO?M8WUC+)Tmm!Tf=OTfp2(!5_i=Z|~|bV!$22 zVZ45B5fcD&!#I$uVASU?_=JHS&intgjCt3J;a%d$RFRv)JyZ~;Exa{B9)vDL!}>%b zzu$v_1%G#7CMUuA2;AL-H`2jX@Qf(_H7PK+@@K;&9OhLVxX6hG`ri3@==?Ys36c5Y zx*y!KsSCp8kCLT!IGyGLX_Es%9Oq9z_gn6|p*G$z1=l&nhA_k68XXq*S~}u43o04& zNAP?;{si@gya3z4Xeb-F>&S+$j>SrKzbE7tt{(#Y>e#Ia=J9xfQ7$L8ncHh_UuiuBY;WVzB$K`M_}q zlR7R2!hJ$vj2LLJuwcZKD~uR137AZf3j#us?ScTC5Chc^5hP9<5=rOI-~OdPy!3?Y z&yDX71YWpyh~ekT=EQ}?8X3h!B)|s0gSQ=!9!uO2=|HzRt1dfKEl|c zfWSGe8<@MpBLa^oJYw*O!_xzvp72P((+eI+czVOr2cEw0NWnvg2gx~xPWu>5r%hnT zjth(QXNK|XhI=;@lM%%I4X$SARv27*#)K??m;AZRm(&}V^K#g+G&Y232x0ewIG_o0 z+irg_4}j_(NR6Fki!b;MNnyO5AfI*h>IU0*vL;`S$$Vd`2;2 zINbZxtde;9rpUuEO$3L58T%Q*F<{2K83{%i9@_xHX<$bAf#4JYJVO9y1Ez+L8231d z|HWX&GN5943eEvD)qkddd&J0_i2wNl?&k@(M~w4Z;(o4x``H5S698jdB<^v3NKFrx z7d8Eel_>6`1>8poxJOJ4e-w0XYJMyL52u7@C18*D(Hl_gqXFX@5lJuJXNxj0!7+ew zUP$n4z|`;&Q|&Va>=9G#7YX1c0(d209Fs_Vh%G31Jz(Uo#C{!MYWSN0+feMc07m(g zxW6jk{=NXN7r>B<=2QmK|kh0g?HDGm<7Nz|^*l_xGWU zL+q^qQ`@?kfcp`A{I~fTiaqo+-g$y6kUnf*gg`8uPR!Id$}~vCpC}ZSCSX!xn9pAk z_AM$A_rLoc?_{JBf!M~WMAC5?94JyO{>}J8{9XgUSYK2!rUHuDgkq)|zn$ZqOCrCK zuo+O7*arw+2N>6y3EnJ#iv{p50enyZhXTfaOv0NA7|(DL><<|8LMe}*QXWc`u&j|Tt9x2af_g7I!isy$+Liv1J7$XzJ$ z|8_r|#L)zPu>J||4>B{gOa}w@0DEkMSpUS`82BB>1cHqLn^CYmU|i=T_I3hz9AF8G zy|n-yD}b#8uohqj#lI$ClsW$Gq?e@2MIc;f0qi7zllk!w|4D$U`J5&EV;i3Xco-#} zh*1_I{$~Kj^8R^#1!s>KCZ>#VX5wGug>aaQH(6oK;?0@*LRyeN6O8@02L&sF8QVCq zR|c~=1>;%?wn1W#{SRd|D#m&z7cEZ&Q|SBplTtM73*z;DzvAf~1P=e$3p;XjTa`wz+^B+rPkO;E8O1>;Fns{m8;kPjHg8WuB&15X4S|Hj~-xET0Dn>>dXzc0Ko z-T-)GIzr%$@e}(90Zh`f3ET{Yhu|AvrqI7}FRO9vc@68%nWkPHX@xHh>cw&Wa7^#741Vqd2kO!!ri=*q2H8 zDuAi|!WA&eXT%;c@-u?n0ps{eup1x4YLTn8B|}e7Zxn8>aL;tG7^Os(5Qz|`_YjB*HZp9Gj%9*C*-DS)ZvoeCKFCGn4#+Ex)$%YPal|J(sp zRFdEbSlgRi5-1bbD+=+O*4_{-2CVbA+t{etM~XyNJW1Pq#lG5_~r@S@lD*U`~Y zWyr&cT5av`{xbRg{Kg}HvqC`hz;hz#${YA9^d5E>~}w#M0mWN;z#5E@>9Y0 z14T-c#DN58)k2>9Lh`Uz^v60W15E8xy9Dqdz|=Z8D1Z+LVDwL|a}1w~aW7N@6D9=I z1*j{KFiJ8Kfs4tKd5FMx=P=BBSKm&mW@o6xS zG|&(r86a68IUoj*JdgsAB9Ic$P@rKz%0MbWszAem)PU51G=MaLw1A+7wV}4TqzeS2 zt)4!R0gxfk2%wQbqkxQnjDbvmOo2uNnE{ytSpbazvIMdM8Vh6%G!DoH$d*rbK=wcm zK#oA;ft-Mxfn0!GfhGXC0l5QB1o8m#1o8r!1mq1g8OR4{3Xm_59}p7=s)V!=+>=JR zhhW_2qqYIuOQvGnPp0x=#8f_knCc$)38{Qf7BF;?j`$E$`Hli$9Q#Rn5M!I|^nMf^ z)`-z!vY1iu=4i3us}?qV)xzB?NLsOOa2^8WjCO2H7OJ;X!K zCx%2s0V9U9*OQ@IdNKKL7PexG_^gXB*?1O%_|W3d|^X47Ec z%L>1NgkhY278B1oMlGe&LLj};Fdn1qOK?{h3z3%)+(iHn6~Ib-{5SHOz-EWSIs$j+ z*KZk}HU-kP1s)u$Dg5oX^DE+K6W>p#`2ci`fJhb_4l{D!zR<~-kUHUfI?WT}Fag;c zWkZ5T14h}AM}7Xv{&8erARM8>Bb9L2lHVFLAU#14=}~x4mM8SHO#1)N*>K0@Kb{Tm zbX{@6LIT)YIC^s1Pbq|t^ORZeKo_O9pP$A@i*Wytpt#65IQWOf%3XR;=SsiGthlEI z@$4W?eFdF6cXEO^Op9paBYB^feD?)wV_=7E;&1d1{-><8bckaT#BmbZ8_Gn42y;gL z0Pn#~Pq658xl+C_5iR)fJUzi=yuxxu!rzhpMj0R{q<-VgjR^iw_`@&dmkdY~@@pAL zB=S3gwE+w8m!H}Paf@qX=oX0*-*5R5@#hEra864w6ELn_6CA(~mtd9vz6}^lYIu<6;6}i05kz;2ky=6fL;I0G^ADg%-q)WyB^$u_ag0X`>*bzfqTb zUKSVvAG%Uc zULxW>dUlf(6Yna~OH!yuPl@hg;ywN=I|%NthL356nvlQO|ri21)PA8MGSew?9h zu+0)YQ2?X7i{lHi$2!HeR3u9K{_XeZRDT%H&+=bn7_L7uh7DtYsbe*f0bfXk=;?OE z+a1OiUf;sSpg$*ELi!`Jv+2w~2fIK2=RCeM|6HB_{NF^k&iwP7*qMKmJpcUPl*yg> z=Qrig|FQf#^AGw5=`VQZ4CMzZ#<8jM^yhsCebQ)u)O*kqKk1$7M=+dpq9@@dGObg+ z3D{*P`jach->E(Y?736D3YG{u(XViVN9$DIg5jhSy~_{d?^F+Ck^bZl{R_u2f^mL> zdv1SGJmN&+ViE{P8;f}7QHMi(7$?DcV8(em!5UyTpkPffBMAlMBK*$#<8E^WWXqs5S$`_ z69jOg08RtUp!lB-7-duv-WtHYDflg5YI^W2CAB&XStVjv(3t(z|UjgGj zO*ovqLY-!01Dm8rr0b9Ii2|nj7ZbpA0r&j`?D6a;)&Eo2RKj*e;zNw>G6Q6IsQQlI zU&HUzdUz#(8wGHK0Dj5Gf1~~WY7J7fn70Nw2J$ch9x8SO{1?*^7t7ZVkOOI8LR^{f zD8Pd(RCoukT=9H;Z!kl3bbd|jANJ^mKpfr>2d-c6WN0t|QRMfZ=GQzI|3w*1xC`vu^@g_)cPPYp6P}^)5TdR>$Cm#0>(BEbOxzzO`dkR6tUsq?THInncsd0* z!LWT8ifi{w2I$uWt#9zje-x;zicM;Ru#~{qd?*mrEr4bTP8jUE(lWpe?h*aH`r_>ptb=&`ARavbh2tf`>tN&JzuBMo zJ+EQx;_;5T(3i1~{k^>MHIh==W){SaZLx(2w_tDJHe#C|7n^2?%VID5FboBf6|SB`TZ^b2RjF-YupdS$B{SQ zrGt@X$C-#qAGkVvGWOEBx-PQdO~#eZ*V*qz2_6sF2yyvAI<7#aVRMY-j*>wzPH~4R z=oWu31?)uV5->IgLSr4akGDRp0cjxnR+RGmNgg8ZagL@455f9iX263)@&DWX4dM^i z#qo?S$UkI*!XMSBa^N@OW&)V8jH2Q=!9?2&cX|*AoSu8aCL%I{%k+6FbogrEIH06S z3r@rYMZf@qIyOkjq8J4lrWoun)J%g)IAE^_6y0#E0E8D%y~n|M9El(M7tV7CQS$fe z{T}Xc!ao?q%MEw9fneD&@emW*LtrHQ7%*f0eir;x(4Q|?e-|zU$6=OK872&_J}T~s zhcI>ow+)l9kiX)XLU0%#kB11zZwufzad=|GfQ#~&DZj|RyTN@ubVK~?=Ht%FdPffM zWIYmYI)saT?&rKmhOvAxzpyH<4Qm1X{xTQ(3+C@<_n>F}7w+*KFS;lEFq~W8Fx0@Q zD*U#B5V6Po`6UPcdwy92VIsdI{E^5y9S4EHPWTX=JOBSv-pS1xcV+=H5B~rP1H#1R zzI8o#p~Ttb$oN@xe(}FVkd&$H60zkj&pWQ zOeFUpNHN5L^D*38!F3OUeFX4i0gQgA?y-L&wu}sqLJ8k3GIC4^9J+CaHcxoJ3wAI* zQTp$%`4f|21qxDuX$YwIhGv7aG?Yjpc#|ENll+M=S>p%@ez5SVA8%j z9hZRq#-|V;j{pCK{zj{#ymLSk;Vp$_1#g&Q(nuUcePWG{L}&b<3hq%a6A+1 zZ3o1S?cV?%To)nO5X?&OU|S)-jRP|_A%e$)c{n_Tz->C3|IHlBul&ECV`V{@$ZN

{~76-m9 z3<$;sO0VFp1tZ_awQtfsxjMtRr-Fjv+cEB<2&|5PbQu&I%m8;;;1A`f74XJA020o4 z2nTu6|DrFs2EtGUKZO3Y&324S0=m6>pXANIi5_N>N0jZN!0x~9gBcL!k9_Fg>l9^T z;Q?Wr@dvXI*W?}>IFdX1a8LC6#zpzYM#6dt*rRNLj~AG^f|M`R5nvX@jt%AspkSB9 zjA1#j17pJ@IkDCuF`QTe93tVfKu&Du+Z=CbW5$76bvS+vYoYp@{40n8nOZQ#iUO9v zWs9_Vr+8=FOQtAb@iO+%FNZUm;+>TmWwYOdX>kD(d|B*Yih8dbaVy<7X5mtx=qiFwjj4 zA8bT`_E=cZ;@~1G_p1`V@>r5L+~31KOK=ci-1{Jy4H)HSg8czg%N^?h*RNtDG5iSB z?ivLrxkF-cr4|HXTw#M1i?}EbLj}}!;E`1wL)Gu$q3$CLkCHYHW&X|t)z6Wrf)xq@ z&duX$ER3?eJa9;w@N6NDrLdY92yt_7-ua&O?{RhO%3Htqc?{ysl>?cYz|~@6x%(*W z@Tk}%6;%?44*31`_$BC0r$axaSxJ8l=lDI^JXOe5b%$3$p6)TI869L1xg5Y4->zeVO*!Shh{$h zDgH2EGC$t2)e(je|12m8vkPEyZjR)M65dbaBk^}egx8O#7-e^YPk}v_6Tue&;~Fy+ zW4r`cgFV%M9bhUSK&(Y^Uk{jCPl(kh_IChN!ygSY61FK4-x$EuzUTp1lVU#(urlCZ zv|sq73+~+EHbu~piiUsfvz`7Ls{eW>rfVjU3 znA(PG1nd!0%kqwZ`+EZJ5mVjcy&}}I!n;MN_IQ5?wd_$hJ~ch4Cm-cel3v7$6pVVh zsqRr%H#L8VsqvvcW^0On{C<^McZe-0_Hux!<;xJj`28uhZ6O{?@sAi~Dw2L3z#0OW zYCjz8sXRs~l!`4!Ve^m&q5q<+U-VuK~#1H>F@N@y3#>W%fEL`1G zEF2tEjTkBycyb$wm*gcD+~OF)`C$?J zXnr~v5LPLKLCr%D-|cX)J1<~|@)xGb3he6mcA_97A~9gJXygCZ4sR@D5??6aAEupg z@yGZg!H(JnBLr}`01gqrC_7Te`YC|nKTRFt%HqeR!7v>SkVewF9Dc|2t$;VmoFtvN zr-J21+!1?*ilc`r{C*4E!%)%T-jna1_{TLdYPpXUz+(h(FK9#Z5FSYn3Fj32j%9*; z+WFFtWm(0yBW}+E#{7@hvY@4cTWk-+u5XVY%XW|e9srnHb~1eXU+`+&M>b(hfEVa? zaj%5B?x)9q~EF8Ea8JOh6pZ?#Q~>inv37T} z))>i`g4v7+kex_4s8MDsK&;7jz0w0k9DTD+3-$!G?fwpN;rOorSzqAKb3h+DjdmH_qD(;C zegU`G4xD-8C0yA+W^ zSKR;Y`ig@UKdh-eH+j4j#~K_10-^AsJ98hC?o|F^%WY=dRYLv*8g)saTuR&rgBez8 zxM%9dM|!b2eCC6)A#pPm%obr`j;NG`8y3WcawxG61G5XT5o8xAV**>`J}7_kILA2P z67Eqp{8eMvd&Sj7SSWG-t}?`e-{oOjferpqmL=gw@xz3l|9EevV;%S(&i)R({p+*8 z81Fx=KM;Q&;0|R#LZFM_U*8*r^9Up?yBIM4>3a9~J*e;ZuF>xB?p^bT^#@f5KMukt zWsCEf1PV?BGtPO4eKMF+C^!|&(nJtXQ_4c`P)`-a+j!3p$XsTjlGG`#!;s4bUHzC7YW=P!nTJn z>!6U4-y%`k*H7z_^C@+e3FZa-CyVlXHkcRkpGEM-c?H&C4wx6ilS}z656ny8SxWhB z8JP3oSx)(F1(*xq`FU>i|IZ%l><2&Yv3?VR;pgA8N!lvN9}>2Y)nHx&50)K1Yr)*< zdgr!J)N~cg(Sn0-ap64KXk;y&<_>Wzg$LvQr~2ogLFOLefMbPlnI$Zqakv|&+|4i$ zXStVqyYti%F%sZ{TL$+GAQMi$bBq}runvH0k0Tit6D)0Q1s$m4ndM+MY_4!(L$LH< z*M%zyGky~yS34J;V}z^S0t4Z@3z$N1Qv&{iLf}3;JZ%M+<-w5?6iLThThPKE^5!Ny zD-;ybh6uvIYrr1o7ytgOUmzaY#KTfV&}`zGX{kDe|etoyU(mS>pg4tvwK-PWU#{sgXSkrgtCy~QzHB;u)^r_U#IJv=Ekp6 zJBELg;&6se`6oNDk~>RjIMVMsFk7jm;EI5e`ELoun*6Dk^G4i+t{3b zaL|6oshx1gs=4!z)Epy1Z4D)>2Gx6Ehpw4p65BeBAa2`?!}zcwewDhlhg|m$coY5-3Np zq%K+29Eff@Qo=s((h5skQKV}yN9)hv`!B@jNZV{1^Bt{>d6?v@O0)( zlm`t@1uG95o&?s~tl{C{?>M{%V~*_{UJO?GGV@Eo`Zk7-01t?;+Bq-x_D9pX_2H`k zf6JLKkL3ACUK!!jBJ-z5_>2gj3s&B?@SPXQrT=@7lV1zYI(!4TkHfcsm3Pg(TO)i2 zSb5Xr!v1^Q4ptpv@_QqEKiIqf*GRq;?9)?w7qsSJ?g@Lj;*br>yFv7e7~)UB_ZhHxGzpB>oT zxOkuj0Rxly^nvPfSJmqPRnND3hOmy{xeb1FVLhCz1ycR0!@CIo=HuTI>IT&_hOY*z zY#F{BtaiHnn6|dfBA=Q64ehkj%CPQJn*i?Wc%eJFvbu)I4Xe%9@~1e?ey3-KBo6hu z>PEww>lx^<>UHH8ldIpPI2+y`Uj1ytI@P{A`3j z0jr#v`L`nc&j`O7;nyPkLWEyT@f>a1o5bYvtX#vPyc_afvJd%i_$lyYp+XpT1o$|N z11tYo7`1Nd!(0MZ-DC1?Q~O<=_6s>+s62E&;a55N0r^;Ug2&1yh8NMMtruanA(K(A zke{mYJ!Xlx+Fa2E@H=T=rmiao|June^s*UsbsR%svqEXOPD1(lBINQ*?)(N`Yuju- zF12yf#ZLZP`0!o^WDq;QbMoKAQ(WpB7ngG6v@sXYO%}o!;;;axxE~8U7LPx|vz{=E zt*5iq2XEAh2XVc`nYpypOmL1qZ7>!M^fY@9T~MZ`Mn`CmGA zSm|^3SIHxOBwd%ByYKN~+jI9TGW&S73)?mDD?Qg}>JQQtgp1O!4N1%L%75su-Fq)> z{|)S|RyC99{!!1&fuwmIq^N)em=P>!B zVD-}sKN8trmkQeZ*8|+!nePTxzA^j5!Gjzgn%ZC9`DJrw2=@GU*gbW}2obu{UuAUtH9p>)4)FczW{sx{vF}ZBm5cIyZ;f``~N{?{{0BQ4fgr| zpOO84fYqO~@IN2n=fGJfe-iA!*P6^%`S`36VJ#5)@PCDUAO5wG55s+5pS6_H@hOig zLl=gPBR@8Z@P-jy7wp5Z4%nxO!l3bprNJPu&vOGKJRrjT!Ty`~1AF)Tf_)mz0{gN* z1?=r!EIhvik97D#u=nqLu>Xd~f;GQl_D_lMPr#ZBGx_O}{nNnS{e!^$o%tH@ zjtp!c^7ZK8@Qh{|9<5DvdI0um{*%^?vIM_ z_y|vq@NQsVX6HnBp9mii;j#$VMz}e`iz0kjgpZBzsS!Ri!e>YLwFoZ*`}BPmto+`7 zP9coq7is?lJG7JW&d_k4tB|%j_wUO}hPk|~OZ%@P`I^WzSLe!myZr+8-FjeFy=ud~ z!1}Ir^>xKzH#0jRQFv95_d)La5PiV|}-x5@8>q) z65QzK+}%DhGY-5WaULE=*tspYy#M3D{hfRo*r)eSV8vPI8rd$w4ba-)sa-W(bSz&Dr_vXT9XBo7j|C5yqg==WtQQm=D`n! z6ko%dJDCI>7D`JdGj+EanPcGT+7-<7=3{s}(kJP$=1Wx9nwz={*30LBvrc{ySbmy$ z?XeyW);KfFKPAO5Yx-Vmq}HvOiOxjPQAr6GYIg5d6#9IoEzC11N4ZNqC&Fl}IkeWC5zr?cIpJHeJqR7nWm{I;WJD*1Q z2<{_4T^CY=^di zQTzj|7iFsO?=wjCreS4vwLvYTMix{_Q9A`qVO+!ono2HwPY;1`hl*4U+K9azYi^}Su^uTO5VCgQMkMATYOWM zE&F|4|KfUOdVW~R{2Bf)5KB%WtT({Nd+2WDoyFxQ_?w;iTi|a^vD~-~KAt1Jop)yc z4){AAz6*Y0RsG~t2}wx_OH-v`!HSkq2RuwwmUh3X`?B&Gw3FFRUbCS%s6ruK*IuhA z%(I_GBB_lxta*yf99|7f6f$@7PkQhb&wJoK_WZrb?t|`!{t7(+{SA5$`a84~dI)+L zdIWkDdJK9TdIEY9lKbZqzAGYniuby!U14|{-eb={gX~%8Ip}%lAJ7ZXi_lBZ%g`&( ztI%uE>(Cp}o6uX(KOwo_uSZd4bVQa;KP5A$y?YyT`=w!e2i{}Pzl-cWXc_cA^a1oC z^bzzi^e^ZW=u_x3=yT}b&==5`(0?Gge?8&3HzEtuF9?&?fejxC*0{6FvQz~cB$!Oy zZ|$N?DgInYI;hXwW&UYeQdhesw;zUj_5u9XJg)XXsjaf#*VPYZXF+Pm@IhdW3k~b8 z0i~bE=7+s&iQFgwujA|t2J_hpZtMzHzA^i|MfSDl&&##vPkwf3nlcoMk~NcEwBD_<%|nMW`jawLuPj4Leu;u4@0Q}e@^MMlUpR?_K21(8j2)UN^{=XK z9F}fG(?>XF{iN+Vm$?JwCBuIJtNzf>mETVH7kYatr-m=Y9kpQ|Zwg+KjrZ}|*Fq9V z?T%;>eAo0XJ88P@R5^)vCl>)!5QfQ+`jvB%1EY;r(BgA5jXGGffP*!d{fclay%h&l zQpx6+(y++f4ZLA0TMa&48x9$z(#2ip?dB>^Vs>@RS(suLK zgM6%SW4K>hF5UO5m=t_YG@|F5JFs1cfn7#Dr7HgPN)<2AiGDQhyC^4pv)W zKNp@(^$VF@-Px+Kt;ecE4fl-vDoXt_d9T#IwGnq=S9Ou$XW;ue{2aW}(B#6t4H53+ zW?%ARhhK;H=7qg^VQ>DG$h@#OFYL{~7?~IL=7qiaN5H)y3-6=wTSa)V z!w*JsVadBWGatiyH-)oKE*%Cwjkg0+EDB-JJdpC7g-Q4Hs$DcZ7`!dm+RX;q56z_+ zmd-S}Z}>{E+&6p`SneCXI>OgP_}U0x3f4ZXRaM95+UvKgT3psxT`>$TVASzd-%jfI zTjgih`WtG;Hv7@atHNUS3xuHwzx5qdw;5JCt9%$92(SEQco6&+4lA#yJu$h~YSi`{ z-UD8Bh2cFTTmc^AZCLU`}rMPTpWrQlW5 zm+5r>Mf#1ZYthbka6Z+4cuY~!$JD+!<@Nu3_0VS%WsWJMToZFzjSu_gLCy=?HvgO=or~Y3t@Ba^=X^ za`GPV?Bk*o5eD~uox=N(?dA{@^P}eIz|ahxCu-$FSkldEgqr>6&dv4U)ATIo#t`&x z*yK+*KUlDqsF7%0b;#EQ#Wzi<&WY?7-zmz-ZOcEphmB~OZjl*NLMRwZIlrYt$<9Kh zX_{P>;@tTlbtjd7O;F8+g;lJkbskXM{_Q43VGSU)5keNyEWYjGyG3FAiIwoPuu5lZ zKV+KwUg>!^r@wqGZtjAc1%2f!t>(Lv{;bCF9gI28#Q$3Sw=t(8ZSQQ{sdxIh{#d*9 zMQ=xSzu}tIlkt3E%B}S)S@&79aEZ#A^i7r=TeE3VXv55%(G3ge_*qsphtRp(qIGpH#{92`o*bSdymx4 znOu95`a7(>Pa8Qr7ChGBQ@|4(z8bu%!?%OgwwwEpgS~qPc7VPA3y^CpWcG#C_b^-o z*8H8v>T7sB#o^k>ys$Sf?9FTMROrK|=_RZ-rTsXGWvVb`ppE9beOs8h8|D%$EX8Xi zx&aLD03O_-Td6Lk-s7{w!$sbem1;~A*IMIt4t8;(5Z4Rgl@=;PBK`DiAJ+e!v;GHt zuPB`39&P1drR&d5`%`IOJDGre6o0Eon?8)qHNH1|6z!YF7=}*-E5GXJ>d#Kc*JkfW z*i+qO_!O|pSr_)r()cAa6dF%ly=75Y!`}^m)ps@AhfJY-WB4w32!Y1+*lli>4*p)7vYm4d?wg`gEPSX8~gyQZ(#mi64}2r!qQ{s)8u@x`r>9^cN+UN zxfbm6*q&gYMmt63b>_y)p9ibIVD7&H9_8@ck^JA_{!ZSTKB)hueImRCSbYg|zX#ZV zW1SuM@zGw5Z(+WDUD`X%w8{LKPtyx=!>7UdV7Xy_UJ=PP-|+Q*ND<$l!Djzq%=X+Z}^W1h=NoAR6;;+PQ? z+X-Cc+JL_rud6R$Sp9Id)$PAgVHnCCU|ks6Hb($BI6+v)^e+nMB^D7brM=;^Qp}_9 zbM*t$?&U2~hRQysJSRD8bK!JQq7z0cS`MzJtEa7GhvXaUalzdE6};Ln!`H$q4;X$6 z-iMX* zXMI@dW%z})+Tw>I{6U1*jqHCF$v27QEfLl^WADG6v$pW;AIV=&-6yHSPfwAVKM|lZ zZdmPt#$1Napx-hAY(GDqZXUGi$I~a^rpmG12WHsD*DJCfb*>VMpW-V$Q1SXyyvJpB zxJIHG^-9!h#G9^uppD?&+74SeZ9Pz$Y&8#N&(dUbZ~+E&tcwaT-8#%U#KNn@L@BSN zxzR4hD5b)Znwci8B{ea1Rb9@}$7EYk8(F$SnA53Z4*qeAM``+su-6PO3i?+Urq3Vp zBzt6j#8d6e&(r7cc&hEaA$>l`Q*nQor`pKZd1}nK`c_35vQuUqo-)5N=_2=J_S^71 zU78ia_kxu6qVK@R`sNPjn^+nzfp1O!8FL#KPeZxLjJoD@4(fbo_5%1-RpvXGlW$Xt zhmFVuO(5(oA?_{2=W}Q>A{rdif2c)>G!>)!< za}^cCleN$9bxYFS@L$0yw;n4VhMz>PvSs+G2tOU+XCnL_Sn)Rd8b=Dhbi%Qj{YE6; z&t%eXHqn`tJ~P#$_VeWzBl)G{u}axU)!rNcDVUYs2IVRX$6;WVdBe?M z|$0-3#{VaX;9{ z|8=lWpEo1rI^FX{OCzT*|zloGjIazMO;&_q~+|-TC%iM-vVouZduv4|S$d@)iBH zYLriHw!Vlt8TkKo(5E`+$Bs$rbma}rgBjNRsOlHPs?U2nyd%8U&`drFet^T1;nlY` z`4o8d#SCj+Nc~g8bKq5f8s0;^!+XN34Kev%@S8ZiFTCPla^XG@YtfC(Q|l_ibLKR- znbQJ4dG~$DauT6?y9UPJm1`1>6K%*JQ|P^A2OK+ z{Mgy~p*lfpBwg6wY%{JeV~e{qDum7_{_5xYZ|%n8k-XFOzu-{%kM3dSQR3Oma~K~= zMZ&P|^Hd#USa%jl?td;k?d~TqdncrQ8^c9Zw5kgYOV7eq5!T#|$+O763#6_Hv@bBO29r|6Tr%oW?y<3ly40m0QTwfYq0u0CchbM^C&JoIvszSy~nVp zI^XcK5q>$spMv{3^J~#p@aeWTSY^Q6dmQY;y#*6v>Z6%F3zm8R^WpDod|>u_W8Z%l zot@XX-{d-X?&Xug{yXdgR^94<&i@r&Uoe07#a$oo{ZssZRcRE<#m%^23GrH%HT^%P_fJfn{Vux%-_8muZZMVgH`s;y=x+T9e5&g21P-0_8>CB?Gux^_4|0zRAefc_s`Smd=`xH zjJ>}VtZ!y%WqvHhkW$a^gJAWs4gVFaG?9K~vpafHGSA;q$GQQ2O$U3wI0Zx3uh_(y zdB~OS76uDbx>zxY%dE%KzDr{yPw9gkKUn^qfIanH&g7{&>0F*v8<`7v^64_uCeE07 zFFeIEGi&19$MycrzhEAd z@M%nC?nq~q4`+E=rc8c(TBZy?0QTYBkB_51smYb6RfY^d03PP>-@(%&?9J<3o8~Lc z{%|si!mC`AZPwI48qaJ+eZHw~AomTjDWI}Omlc_v@z~kGxgj0c%JU|d&TF-i9;>fn zxHd9h7nv89`7X>~VLsR9L>Em>#?Kc};HToRVeKo~-r?VYOC0_qc&x)Z_o6Yi*}o2~ zF?UzTqxF1=ax2TEwA>S>CH-Ob@p?lZ>suLC-iWcvyvh5)t9~=wA6|U`!7CHuAENAvy-?0VXUcVnP!p|Q|*(5Xb0;@*ZY;eEg9 zMQvz%-i?FCLpwk_LJF|b%JUO=KM%W}Ch~3)G#Q!#O@);H^4Igzcz-T-J?+H1>Cg;l zXQ=%;SyQt{YOUI!x;p1pd4_01F&s6-^dpxbp zI%!6-wtfLmjgPuIM)8@Q2k^HRf3Jkp4j8@>UiG};o8Z;n8on7`=2!IBI#HV1Y<&@P zGVuS;p{8@FhwajK4s~*UU1jxrYE}|y7s`tAj>_0fc=m*G5QrJ_^w8BT-bp6f6+TSn z8r4Vl_CnVSvI7%TIAXLon_u)8ri_MDjmR-GW43%`dmyC?i?`bB%r zLLWK2@{Ziy3qDnbliAyu-$&+6FFxk>1*@Kuo&De`^OY!{Yqyt#O*o}oO2$of=e}40>$sWJU@!0Ac7vAJNc?avOW^WD+weqy#`C#=A3~x?j?B%*+ z+{=##%U?6EvqtMXd^fn4!}owS<}>rsCn|aSwybw~OQUYrQ*+jwn?FBaq4A&DI~jZ4 z-#1csO#UX=`(x)9>gu!MmTs=fqp{=!if#|AM}eR^lf`BED)x_>8@juuoDK%>&&CuiJRpL=I_9K zAD5PQfxZ8aM)>UrzXM*^*?%{}%fS7eT-ck}o=uN8pr9+hKL2&5kJr*{z0{83Ip8dA z_@8&LGkxdYzQ$XI_r*Qct%i>UYyRBu>yiJflYl-A-$AaikeTm=P-6(g-v+DyZTO7T zJ{5(IRG``{x$7&v558PiNHE)kW{qSVy0E@+f!Vzgy9!%+5VR>=R8I-u#)6u}l}zS} z-HXD!ui5!Mc6@o0PAnfj>BQ1pnwb~&=B1-*f|E;M)lLpeca_J|W5r*=J?XUaSo*Dm zDO?(O6NSbw5)JyuszQwT$7S?EK4Xf7OM4`nmdGh3Drjy!YXrZd z%0m3FBJ&P(_!%aneEMBR2h_WFE7;dVw}H2D_HPIK@Vy?He-o_nhsEbDu>byVNA};1 z%nK_#>3(f@s63R+ChosNH*7s8!?HOV$2@(@tireX4~oK^qWSv??$Fd0!tn)og2QVO zDF5AseVZjb&YAB4_HB-^Pp7rPKA#EuHfVjY%Cm(}*r)3TVEzj7jQ|RNdUnPd=b$1t zIjmh>slvN3*GQ!m6e5NCtn2%Cq5l`waOUontaZOnA5V3p1xI^?IuCaf7wT9&gKk9J z7>QkTOLwU1`*%?9h0`O+$y&5~vBxf7S25JE+5aT9Z}?rX>I1{Kg7qD`FrCsp0jT}R z2emMn!}dBso1JY)D2c;zX>=fD?7SZ$oie+I8PR>K#-E3FJ)0&ckB_kWIA(ttyylb*zX>nE$vzl!J3^VsU5?Ifc3pS z*7r7iJiNY_;aYfoPs0bo>-!mA3ctR?_rNRtO|H2i;s5sYqgY*Qo^4_zQd5zw(>cCX zq_DNqQDm4wZ=HD#x&Zlff7vgYzdMM)s|*=dnkvp+n1|Y&U7NXo*PLDJ;2cZv*Y1eB z6MyFuPpwC39O1Fn1`5BfP6$7>8k*#!T%yv1 z7<(2bJ+b$~ykzb8HJ&(?d6VZ_JeToQI6g~pCYQWli>JankG}9;JbOSn_%euToj~RA z@%gn1-et%i{AKd+l@4zKKOf2>lY3Q?g~Va=biRCnon=gA8nl;|v(dBJ1Yx7%Iqji=IcDNp6`*LiA<=R=y}`B@3HCg`>8yhM~>&S ztMOE6D>@K<0W=6+=~)B6F(h7Ts`H1n4%flgLzdnR@X6fy?)mxoMQK+vlR1d@x`ROO zG{UF-&P1;wxM}(7dDuw_5<>3Xe5uzCw+(WsmxT5`5#$0WAZgA zlvc>?l7Q?gbv|@PTxaROU@SFTyW^RR=cA0)IqGNAf(MI!`js zYrf`^O4h#}{g8J@L&reJLdQYJLnlC*&(R#tkD-$w?Y)wlo+`R0-Xw- z2AvL_0i6kH&PVe+KZDMOCXl#t)AK*){aoDh^b6jd1Dy+<2mKQI6?8sy0rYF=Lg*sM z;_mt1@cwtW>FHwL{Z{WG%{Bc2`Xh7+bSZQhbUD=3xsE26nt%RcWxOv4;{wv-=aBmU zhVO;n9=d|?D7{qIdj3zmKcT9q4QYPtD(GtH8t7W+I_P@n&(L2W&5_**&Bi^s>-n2_ z|155Lx|w&kK(|7-LAOJ9KzBlSL3cyhe&@XnhsaPjU%~4wPC@`UUYyo zeq7$Y!X??=6YVwDAZ2qk3v-K;dB~hb$INFeNX|l7IPSv_#ntd5WP}M0KLA#^S2zrF zS}H567qt&TO;OliWd6N}``&-u73pz*u+nMy{ZF)9n3l+zmZrk|UOE@4D|0yNkFuM_ zd|@M_rTvkFPh(dL-&Fipf70-g5!T&+6P)~1u*SG%{v@#GS`8lt{zmB;?mcgxoU?0- z!rGF#e--Zg^m`=2%fL!cGv7%2?(=CASoLmK*ZB(@!(Goo)9^ClumC@IhZGjW^We8~ z_&|8|6HML$uQF)(M0kBG!;ipgd~NtWc=bCBFN0V4GQ1XLRO4^M(pTi=Q^6X$np}Dy zy!mS)^Qt4fdG-B$d`<+bO*8k-1#7Hp_&o3who!^I$6sS-Z~mUh{4B{xyKLTf+ z`&&{MD7?#C)-0Slqpdt=cxi;C*VM~DityTL9bopijPQ^M9|!j7AU&WyowrTv5OYuW zyUKt4_#_#k-Ie(}nH8+BuTg(yX+u(X?dy;h}n=*U1x@x9~KB$hHqd7*}X}WKt{v<VS8FT^<+dkJjS~j*q}oFl zb7FoZPnn;Jbe%2VmNAeGOd@1T4mnhRg;@PY8VK-Pzv3BL~Cz|5}; zU&}k|57ohM?C`hYE8I8A!zXhGv%|i-V&saW+#3oXPCTHUP8nuB+_rDKKKv-;(=jK% zM#Jw2$)fB|fFB4c?+Xut?+u9;^?{!XSw5Nuza3=zc}w8sD|v!HW-gKg37PKA$yo~f z7CpcU@47sd<{PC?OIu6p_?v9t;_@x{4Mo^j{5FCw!+(owIsC@X{I}tILfT^`Gez*d zAniF3{*GkOI3g|6k!eh>31Q{wDy58p73_r!0p9(+C;ho^8J3Iq^XNPxzpXu-{_+1^|4gUMi|J~tdJNftF z?ML*F6h9a3T|t>wQ&l6EENLr7E?a|kepUu)<8tNI&5N&I#JL2_e$#o;@VSRIHI@%+ z%q=WEIA2bq{{n8##Ld4G5R!%O8|Dg8KQg~*+~QTQ$8a`o?t(w9dJB`dxnoP2OE9Cn zX1|q>FL52F)qqm%GAq@s5NwiGJ`eMUOY!djJX4=XeQ2Ks6AoGRX)qTzeHyH~c!q;- zAx_uh$Idu>I;6B*HEEbA{p@*Yl4s5*AFHoQ)(O9_mbY?P`2m|>N-rKUbi~k6Az!B# z^riPLC?PH&tOpXhBMGFwZTo!%c3ng3?RF!&I(&tT)WWCAOgyY8Q$yIsLn?#q!^q~W zD(&Z&BK;8s^QuQ>-t5nUAL8(C@S2;R;NI;E@9pdlRzJ%B-28aE^$_!G9u|f}9&hb% z8T>$p^$pZ-F!LHiC|??GfYys{RqhvY)z8+0Q(mlZGzUJsAK9Rznwhyy zrZv#^d7!#tQFdH*^2FH_C(oF>_sW;&^7@*Ze7RJkHVrFdu_wF_i+rPTfoN~|eNs#kWcG#cimMuf8?^|s-cg))#IFYG*D*Zp*JV{G zBf5_6`#FYi)XHec+_HHBIsV?$Z>1=pikKIGHtS+M4^O)g!cS%=>P`|_iG%-+9`z`i{G2i(Wm?@m4F%g1V9AHN=8|E;w* zS$zcykM=rC9_|24>jmvcQ~%G*Y#QM~DYoXF^I>%wd!c5rF57zlTzb(oi!sU#8c;3F zSD2gQaYJ);hIfekxDu@Ix;*_AbHncHG%TG3>c1GayE+ZqU7d#4qT%#uwF!8rv;SRi z*5NF8ki(O~BOTreJPb?{7s4y*x)E!H^>%hKF zyB_TG&<&CN#z=lkB)>J1OXrU-7djj1%f+eSEa9~9`~tj#!_P!zf%oZ>C)yJ!c-~Mq8}B7HOgc?SJz{g zWSI`ioXLBQ5zgnSvc&vqWwmZAD9L87<{e$Pf-Gr+82-&~u0otyid^+f!LBNl#=2Ay zOi6Yb@(rDw?9Yxa4)mmzTfrb^HvDn22hrRL)m{fi$6-$2*38xBYwH^qXIq+b^YaQ* z1#%yz!9?;H-cel@zSBR_bh7XEe1xBi@UszqCc;lg_^Aj#nc_jH;M(w{q*th?(t9JG zsxK@)S^I?#m2Xm5Ro)DJ3_ zLMZ3n)oD1d;n|({=Kk%e`{r*fzaf>I`RgP6$J9TQONW>IpO!6IXY|QQoW`V2GxJ-_ z_%Qz(to$xr?p2soI(AuqKdewz+G5 z?RIoG<{P-bEAHFfn1=0cOv83Jrs18*p#8CD*zU$OYz+8({K&;)n0h4K90vz9M;{J-n_6kFYL|NgEg0B?g0xH-C!t#N6|!6OL-N86fLxI zfH%kfv6|c>R+1`pM-1_Q0lUgC_FMTnV{u*iF!nmsR%`hvv-ufCncZ-FERDbFWWRQD z7_wDe2cC+XyWr0%s{@lov6|ds>UJXZHtx^H{oCjySh~6PqwW6xE^GACQ)~5gq0Os4 zvnZo)Ie>y&%(H!7#k@2Y&{1q`9>l@Q!5OntiyhUKEp;sVazy|N12a8;n)ENt%yFq1 z!^6Pp|Ju*RzukI(**OtA6r+N_>w(n3r3Elws*rRJaY_9htue ztoGjIPk_}<8-6vi|0URm?;qgpocZ2V?eoVPD_T@Me+w zx-VDmn_P3f-n_8J$X!;nHGj<(x#sHmE%hy7OKE1x*~uE^UHGf`j_U47X`4=Pe!rr{F zH~$E@H)P>?6n?7+s~$J`gOOZV@@~$|$MD`w;jEKyiedj9bdQ|o%FU1AVAW-Y2QyGq z9yeS9W_Vn{yMq09+zq_Glk1K(FW)(m>ujqxzaYW~ftBaY|0b}?t;gPeOKQJM%RrmS zlF-a$rk|6n;n@0!VOt;ZSm|rHf$(ZR+VIc8`aXtrfAH2|=@YY`@2B)Tch&b(#^R>> zDcawpv^8w~mQ^q^EL?APF@EigAC-{W*cDkntX#Ks{ct{fybfK(yY9Fts)ldKRqJ}) zO3oLf*(}vxP#+dXxR|h-%|omVVs^jtio%$1?*1}qD=eOd_5IbKGQ2Ci(m_90|F`SEwU2Y}aLQTT$*|#?LSt_3 zgj;gc@c!^BXCABHXt)tx=AHkYwm)X43G-UtF#HpEwTXuBh41h1{qXXm%RWM~L%vbF z%Bv6N`!VME=vT=Z5c6B>O!iKCa8)g&oGV4wm{o9na{K4?HoO=K5Vv3H5n*k!D!F@Kh? z$=6a%=r%K5RF=j6`U{FOlXzM>zDSu=dZjLe5D4qng5UZH9}K?`>H#lW1aEst7sFe8 z*I5T)yWdKWhTREs`W?Sc>iqbOxy%3U%HO2=#zw6n9^%4!DEw{<>-b`fCEWYN;V0KG zoFt{;OWgY-;J;~1TK9x@uph|nQTd3tX$)`=G!Xix{uSmml~0D{DmcEu9rkP|X{lAd z3HxCxE==|xX{}53_SdDKnN^*xK91oL@S$F4WIuEHu#wy3E4Ry!su;UX#df1cmyO)E zV!H}FA6dCwMa4EF%SKd`j~P`~HhlE3n(DGfE_a}dp3c99aI#pBN{wNbx2XiyyQnDW z#P}AOQ1c!uogT?tYjtp2d!SCMBUyft`5`T%ixnpjmoxxO*i zR9(Ixa};??#<^c3&4r$%9V8s1~ipN?B+KxaZfh0cP02AvK49Qp-x4s(H zT?$#N!*9WBuE6BNs=GWcc35)< z-n_6kFYL{~5}6nF=7qia7bEk+-n_6k{|LA@WZ|{B1&;?i`GfFVMOgA~?w!pom>V{? zVA$ps4BOm-VVhepyd91!{~0a;D?b^wxd+2G_h8uO9t_*ugJGL{Fl=)VhHdV_u+2Rf zwz&txHuvE1`YycxZ_Pd2`Ny_%4~A{-!DIFB4cpv6-mk%Pf2hZ0iFpfy<|fpq zR5>^E{US35Ayd6(a)}_VUmNd@kNdd&$jM8DfO_>bdE=to__xsd>n>S4#Vc4ue;@T#`QJj`>vsnBZ_NSoTa_ z4OW>lTy8jvPNCF23!|CIVMd`gTnbkCHN3C6k*5FNV3kXg?-k+QBmDgo`#pSnU76HL zmL`7xUNbVXYQ|)gSSChV_wSvGd;=$M&h(~-jvCh3%L(>ya%uyMiJY~rJ}1H1D$)qYNyTpyTJV%eiZEE`vBO-?`g2s zPt3mb^!WPu`3Oq~u6IxURm~Gg9atbJNvoztKa~*!eUi;(4h+U}A0IjMQuJ8bRZGQv%<%)HN2{W1&Bg4Dd3i{;g++{{--_yurZ=iZB8 zpZBFZX^@k@4EAN=$p}9M_Ic%Du&-AYa~8CbjLf9LH_ z#cG;fp{Eos;|M3^*d$OK%3_u~l$)-`Pt{#!_d0l`qv5OI^$iSb45j?#>X&x?W5gYe zv2>uh&3+|w)8;G<+nlA`v7hs=)B4Qp+kB*98)q4|`AEYyAL+5`7{lLmKGN*le57HU zkL0tLl%PpQx|rtPl<2tf{b62bs(7#U%x0dde|(?#1m3AnY_hmdd=YZ>ElnQxiSIfsr>Ej=-y+ec znVjLt+?wQ7v#;@HXk)YVgOJIdxnpJ)U`8$*t^)gdC7-%sa*a_{&saNb?k&Q7M481r z)ef8aeRwJN&0H*>lgiEf>X!T!RiB=dEu=cz7MRmQ!g|!#P!gCB*b&cU;!F?S*4(#0*&N}%~k^LV=_792d9}4#2)7Z$T zuf{4GdsujceR`Z8$%VaKdWOAyVK4tnBp3E_-QVu*3w!xCX}`9W33C%P(z z-`RGp!LY40c&z+s*wz}lEWBavzcG(~59X$meRVGo)@s7g2&udqJ_%ms*YIiZS%=Sn zSKc-G&*7DK4Br5+`oQqr@L6b1xN`J+@4?ORNgG%i&YZ^kp!^=Gcn>4a zhTkgMqmgXqqwl}T-O1UPE68UWGaJ4hJQBPjbJg+O^vZu@QmgI0$y{T3)iCz^3`?|R zX(y-Mj=_2saj7NDmqHrD8NMvScYyWXOnxK0>RiKrj_`J1wRI*hNpV-kFNt}Qe=oWx z*%!LBTT<8Ky&n&B+&^!>=)&E^*&Py{0_@{R-Fyf)l@{%d>jpiX9<;}t8T(8vowWDd zsdEMw4*C`BKb+cEn9R*bd8azb@RQ^v)d7Z|0?SXsnxFCbS+KXiggTC8mNq}vAMJR( zp?!q>qElCWy7_rF&{mfZD}27v`;xlnC^}DyL(8aWu__`43D0ah6?`QO3nCmPneq{_(dOz>$fcDH2vI$PMe2LpdKW>xs_ zc3~J!Ia2#|5AR?zIFY#*{yyk_z2k-6{T2QJ=x@;K>AMHv{|+s$UJDDS^vC#cODB!$ zPLpfy+++3E)SorE=8l!NhSmS__#$wzlV1#0f7i_42v+@U_~uA{3wV1c7xv#p{p)E? z{#a!H@yNcg>@Ov)l$N50;2(w_fe?pxkHS9&Jq}Twg?CTDKM7e_M{o8G;l!wetrA&9-H0rds}S&)tMLl^n~-zx%9c`k2~az`=5AW>9Y^q zaNSjZ`rVcHzI4YguD@)_qFc_p{SP<&`hv4=JLSYbUh(JO{-xpaTW>t~q@Nsm?2%{u z==8>a{Oq$Q-+lYbm!E#^ljE;`|IL4W^!krK{_x-byzkCskDq<*->x}gvqv9!__0^+ z`u(qtzNC6~*}UBM|9)C?)2ToF`Qin~)YctVzkAKWCm(dw!oz>lvfqJorkC$Oakq=# zx$vHwUwr7VcR%&agKvHM%lFtvzEVH?UgwY=Y6E8H(6LBm{1o3_Wmfbw{H$;&gnMJ$ z`zt8)ZOeRZZV~3=xl%LJgtBN&#Eihqv$$h<@<{mP$P4$;IQO52FW8;Cus%H&llcel zWm)!LfR~#iTMeRqIe0UQ`QOH7RY>x<72uKsGTrSPZ!hk6dpGKEODk9b$+!0Z9$A{` zz#jQNel)8Pn>UZe= z=?6m(Z8+2Ghg})(meRnMGCEq}6y=K=C+muHuflS6m+Lj{SmeS5vfI=-aXX<5d1F}j?WkYBkjkTe zVK$89!g^zwR65obOE>3=%-g(5U80}D^&0%^4!@D|lCPpPDX(n^Ns>A9$>e;{6x>$* z=dt3~KEE(@E0wy+#_VB-Wd*qDlOtFweRwt8DpB0DxUM<3sCf9$u|u~BhhD3gT?zvr zIt~PR$WzH3otlSH`Pn16u-B{6%<7UeTleEoVR|i^m9#zPPAeX3K=nbIU8I|bwVSsFtvk793DC`xuamBoiovOmsf*<~bjMbsK(?+)=SjKLA&I5* z_XLGLC>1?8S6w5!o%s~p=)k8g{giev?USdAGUa@~AMhR3Ur@f+PfwA_PXzRISo_vA z)-$>GbqT*o8L{#ATk!vc=;{Zz-i9~xmvv9dt;a*0dzT|uduj4pz*78KBtC+m!nr+imSYuj~e>ai~dwB_Xj59Ai_Zxu2cL?L4@D(!ek>-}4mbpCe z3@apX|rBI5#4j=*;Sjc0XBmKcC+^*?&+-L(RphT$}rv zXUV2+E$@7m+5H5&zD%ktk);Z5t9_JTQ*~YR%y782=6&8#R0DkgAMytHL-+n8_?h+f z3qE%5{sq5#z9HXCwaQg;8ToDQd{07Dn<@>$pyvs%7RhxS7)eKY90n^!Nb>|0gz;S63I9 zUGusdKrpSI9NQ`j?i4KIbb${NXBC-4K{`EGQ&}*NybUgxaJEu2>6@?!#&_vP94(z! zgRjfg=2z!QR!`o;Q^{r4aOQLmHw|}~j9JT>?EycZ=?)Fj)`qt_U>*1w9q8YD^u^Bg zZ+?mlYb)RHa$}|SUTWJXUqyYoCbaX0PF)r5tDkH7Hw~NqO~a;t)3E8^G;I1e4V(T= z!=``Ju<744Z2C71oBmD1rhn7p{)F4G>EHBtpp%>aO_K|2y}{!t4oknL+BuU8d-KBH zyy@RG^WQ}Orr9<9n})xs{!O!g4)IVOX!t^S#jSmR{eNeC_vI^X$9Dub{8nU~6pxFV z?Y^^?I$f`eCXfbHhHyJqc6xQ=v_@)?A=&x$%_UiUy6DwJhh>*`aKn8JHK_&)))w%y z8o#?y38@W>!<$xvX)mqgfX{ucDCARfYn@Kq(){q(IdnemXr0I0`A#S9FnUVczm8M# zjmRDC_0*b39Jg?9XU9%thQD4E`q37a(Ve)FV|wL&SaW#N9!f#&W@=&hIa+4 z&frlnqj&0`nVH?d>Yo}e18dF2@bTasBfPc4$0FC5z|5Zv-ZsKserjZ1cbxd|ayD3H z+1xub!k2(GCNcTtVD*0tUkX;w&+vtj`HLg-7e(f;11rtU{`FwZT^qhJlHUX#;^bN< z%{r`mIed7(isYY1@^u)~dGqUmeR`}5?(N)PGcvEac5i34F3Pl<3- zgqtI*{d?ZM!@;T#EWa#_u=X|i^wj=FpMSLf(qo+!lKJHwH?^o6&U)>g>izX@?H##wTI!bhbv<~ni=)P--vSTcZsI<OYWLwHWhRZeAmvEF*Ea}}F0 z*OpE>W!87^H-PsOKHqY(4NaEL^=#y18^gEGKkd|5-_oGVszRE6+nMVrH$tN}v2}*Y zv6Dh&rn%hG)@6cx*rr*kMURU5=0uBjzKJW07lwCD3v&&nVd5nHbmfgTm89A2A0%g{ z9_C4OGtctWT=lXPf6kLB&`h@vlk+J>gpDp;paZec%Z2+p@Y9q*klQbpol@P@fa?4# zyR{RQj>%=>jd@l<2y2!_oUl2BRT693YZkYeU*80GzYFa_M%|RBehR~8@ZWTPrFAV@ zr?u+B#WD91$6auD6!F@CXPg%{$3L=Kpe^9P=kS*BS%-VW$LoH5c&DGj-WR?fWNFzS zet?q?gdYT%e}mz-a#;73Z|(39_-PD{3wv?YIPf8gdCy;PXDCcaYVa_4b9*@a(4pfq z8-AS38)pX@cMkCKH$!DN-z4?s-J&62{)CFvxtZ4 zU&EHJE1!PNjT{aL%1AUJ`6>SGhCjLoPxXe!N;|{4yTQwaCGQqWK-fK2FncHIt~DXE ztGUj84r|P+F*uKJT>cAru%IEEy}O@$a~;`nStn@W_f6B=)lW6mymXccVgz-`1}G-{gU_D%o||U<6SmC7CcJ!9ej#kIsDQ-O65Vr3nSc; zVv0#2yeEB@oQE_!2O(2Gww|l&w4R?Ggbv!4+PdsuR@P}j=T{}~)gQP5yINDYo+rgQ za~n_f3k)xf+^$2WvAKSJ{i`$mkQOGjZ$4h-5iX1Hya<;@_@Wf^DEwS_+U=*eaQp?+ z`pSlHfLDAB-k)1r{-*pv zBa&T?LpcanTHiRRxv_=W=))ErmgNTabmL=<6oRuC7VX=E&CTs_Q+d;HWrV*)-KRYd zCVv2|Z)~`nx=>i@s-L}|zh<)k(Qq?Z^?>18@TLx*8=2P~f2yC&ys)=_Ay|3B;Z)trr?rI&(@JaC6yJGlc_$?hi z1zu&%Xu-a8TJ*=V zxmO2P9bs5&ObVCb^TAq+HhckC;|Rl7gNq%$2CQ*}$<^Ogo?h{97WPAC!#p8PR*UZY z3)@+_M{KoT;XWAi;|~1T06%zyU;8%ie`l?^di7pm&Tce~iPFV>?i(IhPY;9is%Lee zriS$b_UL4Ta&T>y+acK|7p`bo1s(L}^c?)!-Ft=eisulZbs)o6!fVa3Fg9mHX|?v& z(l;3G#^Kw*hi-IwPG*dgZ400LHd>)GGaXC^jTVwYtB*s zeoEXmr#_B`U3GwAt%s=}vC{rBaeFZPbnP@!!y3K9xN``3KuJ?wSIR6?dA`)XH=APz z4bGxo=-_aR2-jaWEya$;k@owhVQL+l=^R7sb20|%zGkn?-gtBel$71@(a|3_zo`M4 z!u(DBFMJC(e{u|NYTR$*e7oOdJRYgR&?x#p~Pba(>%M2D9U5#8rJcCB7v z|Lqr~r+!`5wzppCoSBKAIsDoLQh&>1jb{uiuc_bZ>Vl5<&pJEm|EZsEZYWm5{^#6l zHy-PQ!I?dJg}T$+P<^kqYd;P?S0SSq6x>(%)sC6j9pDv){T8uDKQg<0Dl@ZcH`KNm zR=Xj)h9|)*zZo77VWpw>yA0ghnXiDCA7+0(yxcHc1+TWra5cR8=Z4GS73MC>6VaK0 zd29E|C`^kXm2JZp!e<@6D8d(m)ekcB!c!go1HAewCKuk$;q|+<_3v9?(~|?A%sdd|EvL_HlU% z?8EXYg!go=>+rNeiB&qgvo`ydDW5XznNUv+utFQ3wyctA$csFJQJOJ^T8_r z=6+3T{_E4y-=@}TcR%c^JeynUd-ir%`qp%|$K=93UoDE{!s@Gs z(}Anv>N>V<({VzrM)P7ejm@JbC@Enl;JhK+9addlrNc4lU}gF3r?W&QCFw$62adJ> zZ2vo5;Y{-eZTrG2-KWs3*|793tNfx|d2^}GzlBcCllZj{-$r9x<;j)yE9poT?$w_1 ztzPZ!)yA9fbM0^2`?bvg&y@~Ox;7M)A`#<9)9|RhQ?^`b_e0ute4p9q4SQww#g7q? z($>YdU4H{{_^ot!(leCWHm?tSCt=W9j_Im0tUX<-&*nBR))M1nP99CwasFu}N_XCi zc7pG+Hb2+Y%$gI+97*4L?nb@BJ)TEVm#JPi{6p}j4j&!i8^CH;%=}$owYi3MZdZK( z!>@q7`>%sFMz&?@Y&e6JYfkSv&5ql+S7>+4zRYKxdmn<;&YApQ;2{ow3f8wbx%N(a z|5xKXD1JMR-?8_ORBk8v}5v(@;FlXi$yz}w97(B|!F9oar?&EQ5WJmi4RUXaX+rV1m8SLKu zGqR(-c;27yt)AfJolh~p#$ZorqH=2QcHy0mlXSu;kC=QGSpCfX-MgyDP7PS$Yux~m zO%xg{e^CQ-9Jf3i^lOri1;z+Hdxbu^`LPiD3YW7Vwx@7Hrx|@2yEPzt6g&QVADP-Q zH_iexRLRuUXE_gB7qYhZI-Gn(zDZH9&|ffn=V8ys|8lU8{|#WD_P2vIUePZUY2wBX zkovls#o01W$~MvBv-Kr^4F0J9Z2mkE`SSvp>|c=ETD_TnDU!bu;WxmVdo=U!M);!$ ze;(m4!0Jbt{q9tP8aEkMrRdY;E6gizx9?1Zy-@nnOjnE_pB=d4Kpno0-)`06+pPzh ze_KTUodF((fBNQ~{mkxh%#ESA>-`@N?(5{^BKiJcUwo33>d+6u-E1k}_ zm^iJw2xa{dKPt9dRjVs zyGJ1pUy1wv+dKl+w=w_!lj6hOyPj*cwKE#*?d%!J^I%^;E&yvhW`5LyRZk5N4d^7M zWi7Q0rPY;#`V1J*XK<_CX6&l2Efy93H@n5f-tM8P-6hyvvgE(nU9!a6{b6d?;&383 zi#vv|1aIu{pTIpGzAUo;^9a8Q_TObnkG5E6uvOMeXmribLwM)E!%1NEPkN7UHS^Qd zp4mAI+~0*uSozlEzl_ZPDl#wZ&Hpws|GUV%u*`Ro+OCag=rHHb9@rYTMYyFjD)d#8 z!sfJ9l(jVL^jvn}z&AGU71C?nEs{A*i{C@I;lI<{V6|Z;mj~)Itn@g40VWsr^5NjDlaBzaJev7AVD&=`+nsTSry=+8(>$TaRbU?< ztzUbryB9n@EW$qpQ^X7YpB3RhfU{2iN3g=b(&bY%4=Q(?tLiJ7D3@<%lX;posD~B5 zWM@FBc4CyERfHaVSaNRC)LkOW?y>cdtSTI7!zpX2tYk=2m1`ofGkf<6b<6=gRks|( zQ*D;{p*B|IiEiDxu{D=Y0Qz#W^LEcSwbV4D3NRcD9yE9!V+L&`pGVo5mvj=aGlTM@ zcBMPCvkH3p8(iCzUsO&wHM>ZFP%=GL#VG$iMg_9m& z<}lpY9{Ty%$F@iYj`Rf4xr?2_JX`9@Yw9(?iah=Zx$4)7e0g)0)ctC9spy~qr=_FMG9=rW&y`mZebP}M+0;m}M$9cWsAS^ULFP%^*#Y-j z>KgOq_4DhP`@{kPV#c}ff%_$6(+VcG*_1jzs}me#eDrZ>n}PI6N#Rsx3g$E(sAy?m z53lZbl)+4V*HrYexVHy7OdS)V-Yq1qYnnNed2H@-esOdrh26{ z97+DpC%HQ-eH&e=VvC0Ey6U0F@NmVB+IY)*N zR!zDzW(!{?IXc^%;|!7NPD_#2Z@Cn==Y;UOvhZI#8j{AkysDmU>o|=kr|C3R;SR8@Lq`T5m#b&57cHka+#dtAyTv2K%^p;gH4SC;Jj z(KHkJN=_+fuw7S0i3u;&iiNkt_iVy)6i-VL8-o^7CYg@Q^c$4q^)j+qW1com`>R5f zgDSWtl;@$gC0{WUb6MQ0K_5|Zj!o-I2P&$XmY|0#d0myy=`0lc>tw1dUquHHQ%!B1 z$~5EFWZde~x%O0%+pYLjj$cPGf2z90@YyNO)zr1nUT_U~PMV3zYI1c8%IlgNQ7=ZN zJRg-ERY93x11)KD1Np9*yY9;KL8qYd>7umqHg`Xyq3-MaSxnonHpAq9PH~QRWst&F z0p+1eNPW^Os2VyDVyZN=Rd3RrXDvi=$<#xd4?PHKgqolux}o2KXA5*Nv=CYZ(Hw-e zu8BM+K}z>2kot_%pq-%U&wiNdK1!qfPX@7L+?QELhnJ#p!cB< zpbw#sppT({L7zgOL7zkFtA7D~3H=B9B^~WsdEN%y4&4FW3Ec(B|GRnK1KkVV2i*_- z6?y>r8}uObcW5c}5cDwg2=plQ7^M9UPeM;YPeac@&qB{Z&qG?L?gpu|wK}vKvq(P0BrHY)lFBlI^fOdo?K@*`VkoG2MTrm}z4($Z(0__axjMq$PH)vPr`_ODi7vy`jAzja&AC_J_2;pcFa)%0cs>a;OZ-Llw|`s1mA%G=^CK9SGGzHBddIJ+KEs z4Nw!*2(>`kudon082XCOc?eI9b2PR&6j}lu4yjx;L6cX5hmPjm520hBW1zXbJAvo% z(4O!=fKGz{G4vd?H+Wy@bokStdGO`Xzu>i&RR#SV{%lBhC_MXH!p*Z0%0kj}aRIXP zp$nm3L%)G8f{sM?JD$IVj)uRK=Oxey@K^A>9QqObkD;sKuY#_Hu7Pxa)t`A@58VXa z2z>(G1>FtZ>7IIbFLWPtk9+FfU!ez}``uIT9)$h|ErtFLJq$erJqkSnJq|qvJqbMl zJqdLDWadI5SFdI@?JdIfqNdJTFLdIS0=^cM6E^fvS!^e*%P^da=V zd+OcC&_~cup58EtkoLU{g+@TS7i1JP63P!r_QY-v{|nr$1TTS(fF|*7 zB6KA0wO)D>v=cN9ngLCRc7b+=W$1tz+x>d)yng@x@4oLn9~gJho%Y>v>bl;aH$6)~P`p0*JjD#^ z3l#f=-=UXih+d|R*XRF-+`dW|QxjcEm(k}u->bO2n&SChL#=cz#q*8VS+Aou`rpqt zzHad~yMfzyzOl<9o^SkJAYNm=nQoyDisySP#q+(L;`zpHJoiqzgYKkw-gi+K-A(bl z@8R}dYNjjbN{ZK3Z@XhhI z+~(5xcsp*lryVHHPKE#zoaz!75$oiLvj8` zyjJ`>is$xwZZl|ois!ZgxBv6pHpH2<5p7JHP!?@Un^8Qs&AH8{I7ehl+KLh=kyfIW zDP9|2g;u52D4ABLHE2yrp|$8|^mAHB6|{&h;nz6M+r`{g(g}1tEuktpiB6=GshZ*} z$5ZH3s-fkyj83CkI)hH9GpUZwrnBfAs;BelTsof`=yJM@{z%PqC0#*RQ43u|SJSoB zO4re!=z40S8|enRiQ4HFx|wdJ4!WIgqdTaR?xH*CZt9|Y=^na|y6FMBpB|(hdYB%f zN2r$`qetm+>Z2#=33`h9=^1*O-k|5`SsJA0=|y^hhUg`Fg3tfb59tH?h{ov?`j|eY3HqEqqc3QZzM?PbYnq~O=^Ofvrs>c0J^es4 z^b`F^f1z3W8~v63PIL56`Um}s=IKB5Z%SN+Yn4`}m1q@8qSa_sTAh+(DP~0sWHJqhC=P{f2%`zom5gJ^hZ>rwrPVHlU3tlQyA^X;aFg&1o}= zb4IgiD~k6wETrRT5mi#WN8xxnfvRW;ok;OshH5&QPNAh#L#NU*T28fe8l6sOP@DsP zCY?oRQ$3wS=hAu9K{y6%(DP_V+KG0icpt_t6lbRH zMg_Dx?Lm7|A?-zb(>_#0`_g{2KNZsfbRZo>C3G+yLWfc*9Y%*!{O~Q2R-%2se*V3QpI%=cq=?1!y+UX{`nQoyDx|MFD+o_Z8pgZX<>Y}^p z9=eyh={~xj9-tn2kRGCksh1w1N9i%@qsQq9dWxQ=XQ<|0t|eMV%c+)5qtodOs-rXM zEIOO&=^Q$j&Z7o8pDv&asgW+Ci|G<-qD$#Ax}2Knk8}lHNiB30T}{_eD_u)}qU)%Q zuBRL5Mrx;<=w`ZwI_Orqjc%t-x`XbdyQquqrhDjK>ZbeXetLj<=s|jj9;RM;gdU~G zsE;0}C+JD)r>E#?dWPoK<0dNMKhTf#6V1|JXdV9S+J+WTF8z*nrS)ld z+JN?;`1{5GIR2f!8Tai+$5H&db-z3L{}5fqKf9DhQu#BT-lDf@l-{9t={*{w_vr)r zkjCjF`j|eU3Hp>iqt9uQzMwDZE1IIO=^Of%rs+HSp8iZT^aK4!KhZ4xh5kx^qdEFJ z{e%8R|EB-YIeg!-i0@TiLa zkPfC2I+PBf!>E*wpu_1%Dx;(6C_0A9=~(&$Eu3nLS3+V#7h#KhI~K(8u&CP0;7`8GS*M^c8(cU(*zQOW)9U zG);e|@977cp`YkS`U}m{-{`OOcbcPr(m&{5G*ADbe^WBwFRxB((3+G&Ythf>=M*nQ zCeli@G9}R}v?{GeY4j`lHT{Ot>9>?hYtuTkE-j#6P!?@Uo6+W!Ogw(aw}lyU?z*8|Bc}v<+=bxwIW^PdiW%?MwU7{!~l{Pyy{ud(fU# zNPE$dbTl19$I`)cC>=&eP!%nq6X_(XrjzLuT1pkPkdC88R7s2JcshZepeJdFUZz** zRr-KFq&fOKeM8^UKj@#-M3>TKbU8KCAL$CZk{alIx_~aEM!JYDrc0=euBRL5Mrx;< z=w`ZwTIedeny#T%x|aS#*HIVUP502f)J^x%{qz8J(5-YE-AwI1TghGFncxbQ(QRWAr|?@R$*9-=x#&44R^^sfT|y&FutzN@vm8 z^aagR9i2(_bPoMQ@pGP+X@4&NljsHdf)3bUK|ub#x}3MQ2kz zokQo+c~n6Q={Q?a5bP6q{M!JwjGWk8zTl6-K(mV7ny+>p8 zK7BwR(l~uYAJZo^L7&oR^f^t^7xX24MN{-OJxY&JA3aV_(38|pPtnu#3=Pn;^c+1; zgY*KuNH5V4y-csrt29in(d+aEIT&~oluMyJzh6lb#+(D}H5E~E?SB5I^d=wiB*n&@)6jQ&W? zbR}IuS5XUHLs!$a)JoUUpXhpOqZ{c4x{2E97P^^kr4G8CZlgP>lkTEB>2B(xd+8p! zkGkmrx}P4T9(tG_qDQEg9-~L;aq6Qd=?Qv@`so>Znx3TrdY+!67if@Pq8I698lqR} z6?%<^=?!|F-lP$Fo8F>#Xq4Wgcj9zd*|ZgHN!!vkv>oNr4zxY(NO`m~?L@m!KJ7-k((Y71d(s}X z7ZuVzv^VWbMYKQdM+Z??JxNc{Q`Aq-(9`rR4bb!S9JSH~e6B0_It<~L z=oNaID!KnPZinej8lm^-U3#C!=tKH|ZcOC+5pMrN4^sy}gSnM%quZ&I?w~vAF6yGY z=^nb5y6HZ;pB|tddXOHXhpCqyp-1U4>Z8Z$33`(H=_z`eo}mGHmY$>MX^>u^7wIJ$ zqL=9vdXhL-lDf@l-{9t={*{w_vr)rkjCjF`j|eU3Hp>iqt9uQzMwDZ zE1IIO=^Of%rs+HSp8ia$@@At|X!rl{|1;W?3TZFeoA#k1+L!jD{i&D^pabb3Dxrhv z5IU4f=`cE+j-WC+l8&PFX#?7jGHD~)m^Ps-+LSh<%_*Cye^i=>tcz#E|$paiHW?Pn8?rW5_v5#k)Pcq z@;YK7uOlY%I$|QPBPQ}XVj{02Ch|IBBCjJR@;YK7Kif;>HN-?-Lrmo7dx`vPFOk;` z6M5Y*k=G3qdEGFP*9{YS-7t~Y4HNkpUm~v=Ci0qLBCi=H@|s~HuNiU?QzETID^n7! zLaWkhluWDB8nh;*&|35}`Z=Z2+O!U>OAF{1v>yGE(&$(8Yx)hP({Jf_^n1#n^=Sjz zkTPi_+L$(>F?ydqpbu%BKBAB56Pln;=`;GACg}_MlD?uT`kKC>Z)uvoqwnd@G($ho zkMtAG(qHJW^f#KLztcbHpVUJS(nItx_0l8sC_P4f^f*01Pf|ZUMNiW+G(gYNbM!n7 z(hKw=y+lLwGQC2t(lEV7uhSbeLT}Pr^fq0$N@7AAT~9aAjnqyz(am%Vb zbSK?KU353yL-$fQ-ADJ+1Jpwg(!QP^d$9D4V_BMXgSr=X>>ZBL3MN{ zokjI@4xLNqQ3IV%7tn>&NEgw?bO|-lrF0oJ(;w*yx{_MxD!Q6l=~@~{;pZbeX zetLj<=s|jjYS!W!p=Gq3YUwmOoz9>-I+M<#v#FlWp>ydxYM}G!0=keI=^`qjgXs`D zluGF^I-HK6GCGouqNAytj-fx$u~b0|={Q>X`UZNp-nO>n+ zX_#K4*Xa!!p*QI*dYeY+9eS7EqcM7)KA;b2oIawD=@aUpTj@5sojU0bx|8mrF1nlU zp?j&D?xXwZ0qUU#=^=WUdg&2*lpdo#dYqo1C#j#FqNnK@syKzO3mr#`sFD`b@pJ-J z(Goh5PNHf$nNFdlR70oIGFncxbQ+ybXHXrTNoUd7R8Qy7xpW>C(C)Mc?Ma2S7wt{^ zP!a7*`_cYXOb5_`bP$!$!E^{6N~Lrd9ZpA3868PS(a}^+$Iu_>SlWO$IBrOpv=MDg zn@|>QN}JKO%B?z9K(N%2O@ zL|TbfrX*U0R;AS_nO3JYXiZ9?wdiN`b4sPPX&qXZ7SJzfJ^Cf3(XZ&&^cza2-_q~s z_mn~F)9(COsDINH^KN_K0lg<4)P;CR?}dl;-grdsgGY6|Uw%x-`{u`WynlW|$ImV& zF@Hr*D5h!eKLF3@cyIlzj`!Hl=@LAz<30BYo2_{M@!tC+eJD=G@%iI@_^IB17+#>` zefeoR-k+bY<9+%WI^M6JspEb7S$ZMP*2m!-y$I*(N}Q(`<9vNQF3>07LS2Q6^b%aG zPsAlUe%@P(?G4!7ttajQNHx9R`B-x0^>AD~X}e-?M?=Ww@v9{1=$+^gef-hDVe&x!z(H9W3k&S65wyu+j(!BaZsAEtH8LCom4@vM%yh&lZZ zp4Txak+AuSYdGd5l61^XB0v&S|Y5HTFu0O#UdID$aPjQz13}@@l zagLtExjJ5B$iwk9|B?#4|0`Umr*M(}8W-ztaEbmFm+EO;roY4G`g>fV|BNg346f2Y z;A;INuF*f?T0M*F^j~nj{wr?KbGT9e9XIKJ;AYLYvI#AE9=Ga$;Wqtm+^+dnF`+{z zByyeWMBJrU!rgjh+@tw6AfZ?DSKov_y(;e4tKk8ij0g4Vcu22-hxM9xMDy3Sgi+03 zi4w;2&+xeZIiAp|cv7#8r}R2_TCa;|^a4Dqe}U)pdU#&{5+`J@xaRq5NkWqT6;9T_ z#wq$YI8~?P1^Tx*P5%z3>)+!Hoq;p;`Z!B(fV1_6I7esVT)h#_(;MS_y$LSRS-4Pd zii`ASxL9wFOLR6a)mz{)y(KQ!Tj2`54X)JN;wqhstMzucMsJU6^$xgB?}+R5PPjqu zj2m@6ZqmEpX1yzJ(YxVRU4Yy4?zmm=fjjh`xKkJ6F1;7-)_da~y$|lyMYvDzhx_&Z zct989L45!o(g)&UeGneeC3sXHjK}mLcw8TfCv+*E)Q90IeK?-hN8lMle>qOl$KYiB2b`jh#i_aiFVG8dnm!Jv>qR(2SK>^)7-#9@akf4I=jbY& ztC!$BeIm}+C*cBJjSKb3xJdKY?Sx{z6qo24T&hpSWqKJd*UNE*uEmx5G+d=m$JP1_ zT%+r7tv(ai>9cUXJ{vdadfceb!A<&H+^o;TEja$&*MQr+|9sr8FTfr8LfokvahJXb zck7FBkG=%=>L%Q$FU9@(GCZI!$Ah{V59urLu)Y$H=oUPxufk*cYCNv5!4tX_PwH#& zl>QT**4N<~-G*oN^>|L-famp%IAO~b*L*up(l_B`eKStcx8PLWffwjoahkpjr|a8s zhVI0f`VO3>@5I^qE}WygaIU@^=jm>oukXVJ`hHxfAHYSr2N&xHafyBim+FUcneN5q z`Vm~AAH|jWF`X$_^hj52}8F%Sd zaF2c!_vv9gpkKp7n4AC3FAnQBxMM_*;8Fc19@B5(as4))(4%-#zk{dryLei^hiCK{ zp4IQ;IsE~i*B|19tyVnGah#+-!pZt$oT5L$sd@r0(4XQo{TWWzpW_TYi8J*VI7@$t zv-MXvM^E8g{WZ?h-{5@xEiTa0xKMwGi}d%nSpON9=pS$?j_ct^T&{n@m3kIe`}n`$ z8vR#XtN(`U^c=3&f5#2_AGlHf6F2F3+^qkFTlBwitNsse)A3~6bt3N2F+zF|u&@qELsADE|NT=Xo9W$yUI%ZTyb6lp^ z*D=F7p<{-1QpZf|l#ZF!X&p1JGdgBmXLZcH&gqzWo!2n~n~<~O+Kw66Bpoxc$vS3Y zQ*_M8rs|lHU7%xTHce;XbRDy^89HWZGj+_;X6cx%&DJqno1c42Pf?YQnciw0dv9v= zF1S|5`;Y2$yq~CE7vKiHJ8sl56WpZt#LYTpZd-KB+_vhN6>ifpJKU~gcDO^wEODof zS>i4ov&G#yW{Z1t%o_LVm^JRxF?-yv<2_RYI^IV$sN;Q9L;6rWtYdzEM92L8sE#@Q zFf4kV&FTyiAUfZA5@qUIm9q&1q*Ht)S>lN4k5}c&teF(`q z-bIR&pWCjaiMO;Mfz%7tm8cuB|6?`QL5v;s%4m)|ITVxdjF~1QKgsRY8|uOHTra1tIxo7 z`oA-{I%aVjbj;*7>X_+m(ih`q9kbLe`cmAgW45|Y$Lw;ujv3|-9ka}xI^I{?rLV%> zI_8{vFkgcI&Sv*{f6Qq2>zFSd@G&v3J>>l{w>_+59(e?F^WXRSj_a6Tp2G3@Z^Sb` zKIXV*y+7u;=e(cc@)=q|6{mb_u&T2&41rp-K=9?ybZ_ae-d~2_J+Nz78=bpN6^l?>PXO-XCWNWb5~E zE{^9vhVyjH_~+{naDo017wU0bq(8#NI?ezn(VyT_J%P*gr?_0l837eK&J3v3ab`f3 zjxz+Rb(|qkqvK40S{-K!)akEry^b>m8g!gF(5U0gfhHYi5H#yJgP=vnnFOtR2Djn( z+Wvq$beuiVL_DQe!qa+XJfoBFtX>7r=~eN(UJWPYuDDK;agtsgC+jtEie3|^ z>J+>{uZ7d}&v3f_InL0jI8(2UvvkZnX5;w!uZwfNKV~5Fy#E)t!28$3h5DDcNT=aq z{VQCee~nA^Z*ZAT$L0FBxI)LwWhIX1^Lt$F{TaAMua9ee%m%m~^FI~ued5~lF`2ko zZ-iU)#<*2)g4=W!Zr7XQ4jr?doj9J)=D6GYvvH5!0{7}Iai87__v;)yptr_@I_6D> zaD4u4@rd`w{OPFoZ->Xde|tQkcfgZ64^QbG@wDCv&*+`;tj@=CdKWyeW8O7kyA{u8 zH=K;)&#?lWqIbusK4uS`hU4qMC(iUSg*Z#^g|qeEI7jb;b9E8U)BECl9doq>IKDpn z<09`b#>M&oT%r%erTQRTrb}?SJ{VW%LvW=&6j$j|T&)koHTrN|tB=5Sx(wIrBXNU1 z3ODMbag#2`&H5PJqW^$f^|823SKxNN5O?U~a3_wh&m!EdD{-%nS&aMi@wi`~fCqFH z9@Iyz+^uEwMKWIU!%!Q*-==k*yl zVfz)=XB|$`XX0di7EaM;<5XRb7wB_vnm!k&>+^7iZorxPe4M2(!`b?BoTHm@uKpv= z(^uepeI+i?Ex1r$g^TpnxL99w9sJ z?#8|PKHR78$Nl;NJfM54)&Jei)DFUOcKF!DISSJgy(Z6S@yi>c{bvegaSH zC-IE#$Fuq=Jg1+=^ZFT_u)~V$e*h=xXK}KA4yWknajG7~3-k*(O}~iK^-DNI58+Jx zGS1Sk;B5UW&e6j-SHFhy^y@fZzkv(%2rkrb;v)SPF4k}35Z6 z;Y$5JuF@aiYW*Ru(c`#Qe}wDw$GBd9f*bS%Zq%RRCjA+1)}P}RJ&9ZO7r0G-iQDy8 zxI<6jPW?6R(%;~2{Vnd%)3{fEhx_#RxL^Mn59k>@sDHpi`bRvhf5Ibr7LV$`;4%GI zJg)zSC-fYi)PKiQ`X6{&{}a#Xc|5ECh3E9Y@x1;IPRLtv{U@x#^{*3gvR(p1VIK*xDU zg*whZD$;TOQL&EmkVd3N;6}YZZqggzX1yV9(V4haZ-m?Q#<*Q?f;)7a*VL)w{H87) z=QnlhIM1m^$9Yb@I?i|M({a92zmD^s26UXQG^pc@r6C<>Ee-29b7@4!*-N83&R`nT zaTe3Kjx(7ibezpJspE{MDII4uP3t(bX-3D{O|v@AaGKL`meag0zzI99xc+y?NjlDW zO4f1KQ;Lo=pHg+4{j@;G8Bl3D&VowUaVAuTj)v&Dp$uD zQh7SglFHX{rc{BBv!x1koH13T-sy$Dz8N?fHE z<7$08uF)spT3v(z1QSf7rw$NF`gK{lY{EV4lzXOa!+IGb!(#~EcKI?gH^)eU$| zpO44&1$aVVh$nR;p3)cLX?-!C(J^y8t7GDg|1p!Cq+>QYS;vfW zijG<3R2?(R3v|pbr|FnsPS-KZoS|c;Ia9}MbC!-7=WHFb&N(_}o^y4~KIiF}fzH=4 z3tgaNCc03^Y;=*18R=pjv(hCxW~NJZ%ubi-n4vD$F-u*cW2U-N$82?#jv4D}9kbRo zI%ckGb6pQ;*D;ITpkpSxQO9g{la3kfW*xKIEjrG`YSnQzR-2A9vf6c=mDQo+ z%&blwXJ>WkI76#j$5~oEI?mMU)p52~pN=!O`gNSOHK60ntw9}UZw=`Gh|8eG5 zlKu`S>o@}}MaNlSsXERCTcG1?urwWKgr(~^D=b6DnPHha&JN4cafVp7jE`jBu%rS>ZArGsERNW``?u%n(=V zm?f^#F;iTvW45?P$Bc2Uj#=Y69W%%EI%ba>bj%<(>X=1t(lL|VtYbF0MaPVCtBzUa zHXSp|?K)g8{F@v3?V-`DE$4qvLj@j%~9W&Ysbj)g}>6qD0*D<@Dp<{+SQ^zcKmX4Y3 zY#p=RIXY&%b9Kym=joXF&et*fU7%wIyimt1c#)2o@M0aa;Uzj|#7lL|ikIn_886o{ zJ6@qo^CsM8|okr8>?o|L9M8~-sqdI}} z`o?r39@i`33B59&)Jb?suY#xbs(41PhG%s$p3|%2dA$Zs*mcFVy(Ui5DL7fLg;Vs; zaH{?}UZ7KPnqC{H>veF3UKeNT1vpFp0%z;>aE|^Z&edr+PyY(%>tEvn{Tp1U({Yjh zEiTr-!zKFnxKwB0GQB=7*Bjspy&G}|yp%2BGx)f*W!*I4f9OvjGaIP-H zdHP74uaCk7`e7}?`*WeC)D(=+FaFKJRH~I&A7n(J8+@C6&LB-aIwA}m*`Ghs_(#M`c7P~@4^+j3s>s9 zah1LYSL=Imjqb*^`aWEz@5lA}0onCxK?#I3QDcq-@#{K#kJfH{gpnet)>F4mUejbnLK|HEoz+?JFJg#5D z6M6_w>X-49eg#kKSMiJ<#ULWV_4RF5R z5Etl7T&Op~MS5dgtT(|WIt!QTO>vpt443Q8afQytm3j+YrMJY@dMjL`b8xNR8rSJ< zaJ}9ZH|Sj4sJFvSdVAcgcfc(=54Y+aahu)=x9gp8ht9{HdKcWK2uuf%=21^4T#@PNJ=59(|1kZ#4p`dU1q|Aa^Nb$Cp- z;c;E>Kq;JQ`x)Z19J8-JL z6EDzr;WXWa)AijrL*Iil^}RStcjIh*AI{PD<6Qj!&eJ_OUq6To^uxGN_u(S_I4;&t z;1c~LF4g_GOh1jwar_+kd0gfFL%3SMjBE5OxK_W4>+~?L*CV(=zlj_5+qg-O;b#3l zZqXm$R{bGv(-XK|e~LTw=eSdUfxGk+?$%%99{mmO)!*ViJ&pVIPk2Dj;X(a(Jf#1D zhxI@4h@QuzdgJxE&T)M2wi%w#o8u|H4W9Aw2jW>>f#>u>Jg<+#345)$h8N)^U5S(R zVw|Fn$Eo@Ryg*msG`$3;>l1N?J_%>)YMiA{#@YH5oTHcGTwR0n^r<*sFT(|TIWE+- zxJaLdi}mTaM4y36bsa9#XX0{w7Ov1|<4RqRtMoazTAzz+^m({eUx@2;Bd*tvW^!%o z$8e+W!%g~e+^nC#E&55^s{3)9ehRnir*VgV26yTK+@+tz-TFD)qo2pUdJy;N7jVCR z5fA8>@Sq;TL;7VrtY5(+`c*uthw+$x4Ug;B@q~T@PwEjorQgKU`Yk-8-^R0g6wm2* z@VtH(C+xlA`hO26=`ozF-^VHX1DvWq#0&H|PSYRZbp0{T(4XK;J%O|Ir#M@GhI91i zI9E^NJpBdE*I(iS{S_|MQ@BWfjf-_cHrKyS#HD&AT&7pXb$U%)uTyY?UJEzspW!C`bKI=hZ(v0r3ZXW$XNJ|5K@;4!@+ z9@m+8LT`j8^~QKgZ-S?F7M{_Y;#s{Jp3|G-d7X_D_E~ZLZ-JBamN;2&g;R76PSsoE z1$rBtrnklEIu~c??Qo{v9%tztaJJ6FIeJH&t9QbAdS{%k^KpUR1sCdFagp8)7wZCC zqIbuodJkNt_r&G85Lf8EaHZZGSLuClwJyRndS6_t_rrC1e_XGNaf3bpH|hg%lRgMH z>k{0e55}$f5ZtB@#qGKjcj&`#r#>8a=_7ErF2gObHi zeJmc<6?jB1#H0E+Jf;`nab1Zg^kO`zkH=H`1U#*)@Qhx9XZ4AAPM?J5bu~^XT5!I9V^nDY^!y>ScI=UXIiBX*gYgZ>k4)YsuA-G-a>^|(dffLryAxJ|d?c6}4>&^O~weGBf=9k^THihJ~JxL4nf z`*bJn*LUCneJ38&ci|!3g@^UsctqcWNAt}I}eh%mA=W(7M#QFLKT%cdXh5992q=#^^ei@hOS8%C*6_@E@T&`ck75a5tso%g= zdIVSNH*t-A3)kwmah)E;_4*y$px?!f`aRsF$8fWLAGhcaaI5|hx9M@*u0O&Z`eWRw zKfzsk0(a|AagY8C_v+7apZ*s2>uEfozr%z2dpx9n#KZb0JfdSC_Nb1%*kd~OV~^|D zlRcqhU-qPqz1dSb_GeG)*rPq8W1se{j=kD*I`(VN>)5lMu-}U7KlW`W>DarStYiOn zivI5&ZXNr$7wFi_ou*?yce;)}-5EOeb!Y0>+nuFje|NTyJ>EGw_Ic;(*z29AW50L4 zjy>N6I`(}R>e%~Tq+|bgv5r09B|7$jm+IIHUZ!I|c)5-};T1aeg;(m>8(yVje|WWy zJ>oSwc8%5Q*gaOK_rUdfPu!pjaiiV~H|f|-)~sV!S&NQcWvx1Pm$m8GS=Nr@=OnSm ztW(Dhvu+;~JI#7@>@@4uvE!^y$Bwgp9XrnkbnHAE)Ug9?NXHJeVI4csMs(~%8`ZHR zZA{0Gv~e9f({Of8v14sc$Bwmm9Xr<&_Fr+GABU6l zBAl!%af)7yQ+4cQTcBe{Tbhm?ZRt98wq@wp*_Nqehg+789d6k=cDm*0*y)z5W5-*b zz5wUz3vq#N#D)4IT%=ew+?r(?%ly^fu84LWwtHR{+w*Q8?yU9*mzbS*k|(zWXU?x@qTqpn@Y z&bki0!ChSQdPCf$GjX@x2>0lXaj)J4_vtL$uQ$a5I(FU->ezudq_gp`j-7ZTI(FiX z>e!JtrejCmxQ?B96FPS0P3qX8H>J17(|QLyqx0~r-Vx8~o$$Qg87CC4xc>8Tl8zmG z$$D3uqIbiox&SZGyW=#y2Ts>};tXAgGxc6LOYe=d^*%U97vWsJFV54k<1b&w&c6a( zj0<(_04&n61F%@fPQVf!I{`~|>tk_?uE4E&A#T&h;dZ?Ucj!vosTboeeLU{gC*U4k zg?sf9+^1v5VZV-@hXcAA59-)~IHY3-;;@dLh$H$;JgU#aWBP17uIurHJ_k?gbMcfu z4^Qg`JfqLYv-$!&r!U0wx)CQFu;Ti^2q)=_ak9Pyr|8(ln5vuc0{usvrejBAx{jTV z89H`0X6o4Cn5APMVz&Mh&e7N5T-}EA^z}Gj-+&ABjkr*^<05?%F4i~W5`7CU)g8D@ z--^riZMZ_;jw^L1uF`klYJDfJ(Rblm-G%G)-MC)ggB$d{xKVfGCVd}n*7xHU-Gf{8 zgSbsUgxmFh_d@Dk?(fvG!?H_1io5k=xJUQlUi~=k(@)@j{UjdH{diD6g@^RhcvwG! zNAv(5)z9KF{Tv?G&*KR_h$r<6cuK#Br}ayCMi1dx{W6}@ui$z8Do!|X#q~dolk{si zS;r2}6dgM`Q}w%efqoCC=`ozH-^UsH1DvTp#94YAXY1JInWO)Tb9L+;&C@kFU!RH# z^fFwim*XN`i;MMXxI~|hOZ6GJOxNLZeI~BZXW>eHHm=h3xLTisYxKFeR-cFKbOWx} z=i>%_0dCY6;wIgQoApJwMPH0t^(DAXH{o`DDelmh;ZA)y?$XV;TmKRF=qqrqz7qH8 z7Tm9|!UOthJgBe1L%J0Y>ud3d{u3V6*WoeUhR5~wctYQRC-seZO1I-_eG{J1H{)4- z3!c**cwXO%6AoH&{ojU@^zArVcj6R%2Ts*@;syFHoTj^Qy1pA{=zDOcz87cdZk(;} z!#VnXoU0$edAbMZ>j!axeh3%phjEea#l`v&T%sSvrTQ^kru%TYejHcmCvc^H5?ASd zT&tDnJjI(E#~>)1Klpx6Ho*T3EXH|Y&=v(CgVdL!JbH^yyx6Wp$|aEIO$ zck0b>m);zA>ulVkx4^x6OWdco!u>i259ruOJE*t8LwZ|0taI^*-VTrI?eUo20gvn0 zV>_W^pY5dH2~X+W@wDCp&*(kztS-cJdM`Y$_r?h&E3W^2aFQ;<$$DR$qW8n8dVjn? z7vnU208ZBj;tYKd&eSD1OCOB0^&vP%ABuBzDbCY};e35KF3?BdLS2T7^pUt&AB9VF zLK3?Obs{d)v4^)@$3ET)9ea5zb?oP@(y^zvTF1WL8XbFkYjy1Jt<$l`w_e9S-v%9f zeH(S`_ifU#=eJqMzTXxddw*MX?Eh`ku?M(a$3EZ=9eaU0b?gW3(y=GFTgSfO9vypw zdv)v&?$fbHxL?OU;Q<|cg$H%)7ar2FXLwl0zTpv_fk*ZFcudD0;&C1Oh$nRHC7#r= zpLj~gp5kd8`-*3D7M|6c;yJw;p4Xe>go9UH|JgW6Z-JBbmN-Rkg;RA7UZA(eX?h!+ zuD8V*Iu~c^?QoXf9%t(vaE{Kyxq3&Or+32ndS_gq^Kqfx1sCaEak1VFm*@gqs&~g_ zdJkN#_rw*t5LfEGaFyO0SL=OnjV{8qdS6_p_rvvif83ypaicx}H|Ya$vpxv7=-30@ zs$(B?n~uHE?K<{Dcj(v?-Kk?=beE33(cL=sNB8L1Bi*ZGpLCy&z0&)2mCqhpWttd4!w zb2|1~&+FK4op6YM|Hnx>_FX6I*n6F#WB+xkjy>25bnL@U)3FyjUB`ax3_XT3_4_zW ze}J>~hd4)%<6Qj_&eI>`eEkV7&=a^&e~OFrXSi5@j!X0;F4bS)GW{hk*I(fZJ%uav z*SJc5gRAwoxJFOoTKyfa)8FHI{b$^uXK)25~p<`G1q>i2CQ#y8+PwUuWKBHro`K*qe=5soBo6qamah`DKit9gi zohRwod7i9e_j!tr9q6e#cA+oOu@gN_$8Pj=9Xrx9bnHsc)Uh)?OULf?Y#lq)b9C%d z&(*P0Jx|AO^?V(>=L>Y~pfA+1i@r$5PWoaUyXi}G?5Ho*v8%pJ$Ikk49lPr*bnLLN z)VJa)9Xsu-b?mmU(Xr#cR>!XUIvqRj>vb1y(0AiTeGhKZ_u^*Vja&46xK-be+w=pt zUH9M){UGkt592P~i@WtBxJN&Vd-Y?uPxs+|{Wu=bPvSw{kB4;Zjvv;sLw-cZF8NU% zJLSi8?3N$bv15Kh$FBKF9XsczbnKp=*0F=)?RX`iNJw|%;f9rqbJcHL*{*m<9&+in0~hOCaf!YSm+ISbneN2p`VL&7@5Gh*E?lL%aJ9Z0*XVn2 zt-cr6>26%F@52rHe%z=Zz)iXbH|qy+i+%{V>H*xQpT+I^IozS2$DMi*cj*^!w|)`# z=$CM>9>RV4W!$e{!2|kLJgA59kbVsh>(}v!eglu{5j>{f#N+xcJfYvllX?_S>38t7 zeizT^_wcM9!*lw5Jg+~%35Tt?{y)S?dK@R~k8q0q7^mt_@B%%7)AXk}U4Mo%^yfHJ zPvR{71p{t;K` zlC`-0^})DGAA+m(p}0nu;#z$euG5F(dVK_L&}Fz$ABmgvQMg$jjazg%Zq>)&HvI?O zu8+kXx&n9Vg}6%}hr9J6+@mXTuU?G%bPev;r{V#<3=it%cu3dcVSO4N(Wm24eFh%W zb$DE#i6`_~cv7E@r*u7@*5}|EeJ-BW=ixcsfamr3IN|UW*Z&1LNnePQbt6vE7vWUh zk;e6}Z^dc)Hk__+#~Hd4XX-m}mcA2b>$`A{?!vkHZk(s@!TI`LT%fygp}r3n>HBf9 zegK!~9$cy)#AW&+T&^F+6}lH!>PK*ueiT>h$8e4A!?pTxT&JJF_4-NNp!;#7ehN3~ zr*X4>2Dj(|+^V0&ZTdOfuAj#pdJuQ&7jTz;5qImCaE~6sz4~R`r(ePS`c*ujhw-3( z4G-zp@vwdakLVFRs^7$8`Yk-J-^LSq6i@1R@RWWRPwV&aj2^?Y`h7g7Kfv?)L!5BL zitB$IC+UxHvi=yS=udE}E;xnjU+<37^d2}}?};;XAC>czNAACJ5B3AjgB z;a4eHNbAXXAvj71w_~PSWS#WPL79(dXe*oxp6LK0UKwZTB%G;N z!C87$oUK>GIXW5V>eX?cUIXXrHF1GX!G(G)T%>=7i}lZOiB83(dTm^$*TLm_U0k6T z;7a`qT&35;)%usXMyKIg{VQCje~s()Z*YT7$Bp{8xJmyGH|yWy7M+1x_4>F?Z-CqN zhPXp#;!eF0?$R6MZoLWa(OI}xZ;Jc$X1HH(jt6u$9@JalA-yFY)?48bor6d9)_6>B zgU9u@ctYpmNxdDO(%a){y#t=nd3aXui0AZ9cwX;}6OLSQ{paH(y$ep(yW$kR8&1^) zc!Ay>r|CU#y519K=o6OKW-MA-xwvNOl2d9k4%I<67cE;@yLkDQOO|f2{qbAxP`S-E#~rtD>+N!Kwmv={y|`|R z^Cv=;r($Cu&tXyNkZi_{snCpM|xxi%+hp z&8S_Pv9Pi-d_hiMyzKburDy!luXz)X{@!4_5@yC+|l6P7MJ^Uy`hmekb#-^Z=NrLY-~`=4KTWj@~ge|M?`bUd#UPp)`h^>V&w1G*Xy>;L(jyYM+V-sk`P8aw@eKHi>>H{hS|e!}7v zPw&{h>S`CCvYfB<@_m*qtf^Xj^5SFntUhgd?c!y}?y+p~!jleNd~J{JD!6T;tLQ0u#-8Q&IU1xF=q3Aqc)JhyD9Wzk{}T|9CMexT5EMj_ z&_NIq5;`F(p$H0_&1RD<*~acBAqWz03q=L&U4oTj33yvTgoua*fha0=g1r+!q?7;e z?3^nE?)E(Y_kLeKd~@c^%uc(mDLZ@ZPC4-x?7==Xt!r85A|74@umd0COYFi=_yxyM zrJB~`D-%e?DwN>>j;P~AVV!ANU66=tk%4IlVJ_xlA@0X+d#zxL;~i|lHtbYi62HPOe2X8j7su2IqKIoiQKAkSpb46y89Jde z63`tz&@dNhYFscy8&Qcq7&8(O04W%X;TVZjjK>6AgUOhpGKg+uBZy+$gj;Ys z7Gg2(!ZNJDi+BlZunwEB8SmgdY{kd;1YhB6RN!0ufIZlY{g9JJBbhis2ZE zF&Kx5aKepj1ThnHa3gNQEw~R4VHIA)Yj|Ci5jW#KwVn78K2e_%ci{)@!9MIq+*v%9 z1c?{}2PWZ0{0%p&TZs#BJD$K(>KWqeD8nXfR__qEp&Xy#OYDNx#MYYF2JyHQy;L8f z=%)q}hhYSKn2wuqEAGdGSclC@E?!2!fk#mSdB%r4+e656J%l{dL!R$&48zZ%Jdg?p zCg2)1nK%U*n1=#M&es|2cO_mH08J5&p`{c#$-%^6UA5rd4`1i zmc0Ciy!;k?Tyxf&i=ZIp;6^-z68wTca0pf_ri-@diA1C$13m;0LKqPgV+VGsFNt5F z0zac6C-KH;f;Nc93>0GpN^t;I8?G@BkIRsN{ul~BLWrUmD^ZGfQI5}GooiX=As$na zfmxV?`B;nx@r)`ZZi96m?X2LyB;+B2V(f>-ZjzBIPTePK|Z~@{m1jCUE2PR^Yx|S%WDEVEs*(k=}@iOE$n&h{c#71nw zX2|a>$?q%4Zz+8O`HiFs$nO{J!=LyI@;gM0;wcvlLL$bg=|nL{EhavKa#W&LJ6k=X zXnyVm->R8Sh{l%JB(4#n-4n6}nzwtCPU` zqaC`U8+xHH1|SLd;XyovN3jG;aRkRug*x4MJ-T5bO0WTysDjm#Je4?xW9E}A7mmYv ziZXnfV*xIMd_OacC}v|0_M+7@?8~?a^B~^^k#_RZK3>|z?@%8TrA_-jbX>;fR*A$2 zit!f8@fj*`5J%NTW}QCVU9mX zcpW~2b(Hy{8Cu~2bV6tJMqdoTK$S>LLNZb?6sxcUR~=`)u?TnJZB*hYtP>nF5s$9u zfu2Z38bXMo0LRd@ibE)*J@SC2IIfCoaX$woC`W~|c!Sy&T`&?3%tSFBMG4--JJ^m7 z@G&gf_&kadEQhqClXhCtK1^9(pcuDcE=sW)Yhj%kXVt-(ssXVV z`k*fcs6oW>$Up&#@fa$w4}anStom_Q3&f)zit!58V*@O10Mteu)I}pSLkqM*8}ve7 zT!}#{gE$Mtcm!p58}H%=SPgj{5-}bb2%{Kx!s0X5;V6cDrZ1o6%jd2ZpS5*F0{S5l z@;Rgzegq+(#}%JNIbtQAMJZNcBR1g}&TqoBR07d~5N<&!HlYH4!D0!7w-wL4hhJZo<2GAKUObzEsvZan{*rhCUdGBoyOT%u@@9 zcVH17#S$z-DSkmE4#R3jd7=&)p$VFz89Jde63`tz&f6k|SaQwxb=FjFSS_hTNKp>rBoyOSl;K^J<6Bs*;;eIV0WL!V`XLcRVewhmm5|SYe?}GR zwu!Uqt473TXn~e!jb7-3zUYr+I4}t%cm^x56Q5%@zQuR2&ZSOZm~s#w#G|T|cnD?Z zQI}DP!?4ch7=i}qjlM{P1CtQOBHV>%upBSLx`6e;nW&G3=#4AY0OC~`gkf-C5;EXH z4stOK3$Yk?;%+>E5-dl>h3t2*+EPDp4z9#N42A=fQL3zX*1J99cZjnBC`R(dOusAZ z3@ahd>e`ca#CT-jNHYCXD7T?R7v%^mmu)eP@h}w`@FIluD8sub$M2}bpRn@S4oE~Y z9GC<*3NagtkmzT>KnO*U&r9X=BP&RKMjGZ~5tg6=yYVf)LnZdY3dLCm=Mv{}{<@ud zhBNPA_zRp@Z~#Yf94BCv##tAwV!u`n;#iDVS;QQKaC9}}ucM3*!YmYH9v0(4Jc`Fq z`9Adt)^^UhNWf5dK481Sk1(#s-*5|V!wNiy!5^~k!TN~LoiG89;4v)0mAnea>sqA3o%(n~CCKEWuK|0BaZPfQ!)? zRt5Vb&O~dRhjwU>4!8uJkpMpyDQh>MFCqa~ArT`mMlJq^ZHzJ;M)`L{lz-3qqvA)- zAor_-F!z(q{atf^)!YX)_bIbk z*dWaPKy%;E+^;kD=AB4F-)RcQaa$iX9^Q6Jt&nf2KOwIc?=Kf6SdE8fp zxgX=;9?K-e^IrE-nD?jFaxR@w4td{MiNi4OGtK)x^S;Tvuc&$5I-;?CJsISB(Ofs0 z>&5c3xo&~EZZp?8=6c3lr<{I$Vy;Ij^!meGN0{@zIlr6pvN_+%`E(KzT=sd;ocGN6 z&YaK8dCMI4&2h{eKPvTjQK`p^y?VSb`@N~xu0RnVReEy*o~-K6{f<-J6RA(;b3w@| z3M(l+dBlh$9XlydWQNzJnsd9PdVI;b6=}J0Jg!{NjM&SZ!#y*cDc&4!G|3mrb!B>@ zUbpLHSH$i0GHRBLkm(-m&GPa=A`6yDm!`o$G#vEBdQ=ZN+0P$)O{zB>=7Z`i8O#3< z-QGY>j;|<`TVqsuIfqF=XPsVeOqkpC^ zZ?G@u&dZGb@#kcQGBZO_w<{3jgKU@29rR~<1I*qnE0b(`JCjX+d;Q(6h$kyq{zzAL z(3izaBzF$AyQMd!7Yw^HeV*8W5hio<&%^XW!H8Er4d>HZHy_T@<<4~lay*g3Tt1uC z$ubwar*k5G`54-s8}mJNT)!(6`X}Ssy=#oiN93NcO#Ia8j;`)qW86S?p8H=c$C#m` zlK=U_M7>d;=O1S%-P7`1Zg((05M=`g^8KE$*PWMC-Diy5 zhp{NQkSprV^!mKfq5@ag>k35kWGh$qoM884TrW))!k)YlBa#V{hjVfw!ThkBeq)C@ zho#55?E$$p1`Mw`U|Nj%U$lCkt!{LaVh?au@4qa4mdELk2066LN%4fJ zL$nUbA~9VYv|K4(7i~p2oYJiw{;a6SHH5}G&ZG$S(>c+b#a1PENm>}oGTAqW_=D5D z&eUL*H`^;sHs}>wE4zPe;{~Jzhd-Eg>ZtUY=8g4=b;Y)hjycWC*skE~k6GdxszC;Hq-G?!DaConwr*PG=Y zkwT@HLvX%_jD5}(^}C|EZtWKvEIrxZqPhQcRO)y*dfIsD(od#mrtAq;S0t~yy5>k{ zgqP~*k<1Y(>CVC40EZuE8Yd7}G#F+KPTTYep6tQw(w*bN|1hFGR~o*Z{(^jY!T8gs zn}5n=1MbWb0j_;yC8y;F+)=yX6s_mHoRsWdu~LlnF~=sZE3_uqFLvlLt471J*!Xs7 zF{M++whK(=slB~{klP#J+AQK8k)Fn)`2FmS(_H>wBsUn223&s6ND^ndWX>_9({e^~ zyyEca92O4dho+IZrBAG^xO|KCu&>&rlM!>wcyvqUk+J3Va;%&d2~3Orlk>7&Gfq1P zdvaNuydlG7>GM1svmm(`ioSbefYlozDKcgo#u>8r#T1HY0kQI zR-b33`{e7)sq~bS=V@ol>XV}{lU-L^;ZbRPFp1Uo}6Hfm94&f2t@UwD7NS5^^)vR+R2$T-(yCZ zAW5Jg7<&g6yW(P7nzv;^3PbjDPUH5Ve|KfVxsEe|Jzn*B!ajurIpo>{Y8=+-8L93W zJJJSYwZ`sOU8RCjb?kmpfr4^Tc=GLHEd7@kQn8`t{Kdj?UXJxTc?QrlcCLtZS6AFv zCi9MURKIUXlleQV-!E`v(M)$avQ9lN?zPaV6ubgReqxg)F@m4_9pQDl**Tdtw}k$iX5{SWhy zA!hxY4moq@#|lUK%SH&*=w;rk>Vo9E|6v(o7sCH=^~*J{?DyT|XsF#<(p+r>^Q7M? z*TmJ6tzPx&4m0a;B=%lbsu2z4JzT_wWA9^Q^(tNa(Dprc+lK2P$~m@L6SNm+jOu;` z!GcI(=E-Vb$ay1HA*kt8`5Ekp*VH&9NUoP=bVg)Q?7$$2Ttm$Wa>$lHS@I_@)|r>Z z{iTGsRu*?utuw#3pIz63{0#CwM4I9fR6ttQKq|sD6cd5%j7icv)&=nOwam~csB8OqTDaD zYPGUj5LytWsazMLtX~3AmZO(OlV7RB&GfF)+)OV~b2GhU@>Wb|GEth+MToKW(>R+b z>oboi%Y6?~)?+F0EaD49SswHH)#S3h{!WzTHs3QauYXtje@&G69?-l&Z98vAl-Kpv zJe4TRl}(f;b$`?0_v`TIHGfm{&xtaBvwUBY%XY0K%66`GhCQD)M48VOL@B>ML~e;& z1BtSJqlmJ;6E)A$Jf!(-&F2$kJKV4RpVYWYhrh1*dzycu`L~+y(fpX^XV$T&*ODm9 z(OzQ$QI==bSnePV8w`l$uQRe>xQI`LJ z=C#hW^RtPv{hJfdB%V){@=GAf{xn4Uo8hVCvOH$^IC80flZi5YFHz=a@&a->&YAkT zkX*|1I=+`A+kY{+%>R6j@A6UD-Q+SIGyHLKS-0{FdZW4xNZHp8-T!zClE(Z^MbQolNe~;b#1Fa@ih} zG&*&7CQ**NexgkGMxq=qA0SG7Sg!qFC(3?c#($e!>f08gy#5o7Cf`ji%l92omg_g7 zj9*EV`dhn!J$;imCzs)^iLxA*6Qw-O>wA#P`kUcHbo>$8|5~Dyo5}NZc#tU5yGh40 z`Mu<_p3f3xzkiD;_3Cr&zn3V>V}>8l+zdZVF6(!UDC=LZpxQZy{vxX?kx1K2DZPMXebodU9Ul66feMgk#-$Ru3IjVWxMs|J6-K1P#td0cUNm}&Ue>oZq9c(nw#@om|Ui3&UZKHaC5$! zuemwj-9s+>sX5;*C6{tF=etsJ*&iO|ydrTexs=B`?Qg!{xS3q`qn$+AZf1A|xs>O( zM5%{Ih*DlA&(Z70CXMaawbp3zcH~mu&GfsGOMUI7u^&;UKY%FHPbbRsO`c0G%R7xI zuL}@m{OLqFZq3pDX829yvi!FbWqt1>N_}~lDAQl9`71=(PMe9c{Y<_?hkvTWf7Ib7 z|C3zG$2!Y?U1OruLz6etybV#-`%L1yQT7LuXOYYFrV-`!Gl}wg zlg}fU?PJ#GQF7TnONg>uD~VEnP5!d>-$<18+)kA7P5uG7%x@=A=Jz8}_A_(5*h4Pc zdmr&4V)G{U_~#O3Il2<1TzU|t{-kI=oG8mZfhg0zjwstZk0|94B1-wp)c$7v^T{uy zznR}NJ~^INOqoB6#zPE95X8s;>xlXyBDAzT2Yrb6b zH#Fa=`5vN7&y2s1T6!7b z*Y#OLf2p?{HJW^jj&J7o1-Wb=Grh0LWjXc`rM|>9vzNa)QRdr;7+YV>J8N#nzg+V~ z>Vs_OE6639?c0}JmdgxJBA5DPh7Ti`?Kg@j>phVeJD+Nvsl&60GMyk%jyEPRB$w@H zuE%F-Zm!2~B$xS_>+!joo9l7Y-li)nDfP_cL&#-&bi1P4gl^7m-4d=yn9wc3nb579 zbabPmyL5DqbudbI#_1t_deEn*bo8X7mvr=sbudmZ#_276dOH*3)x5Ynljo)KN?zE5 ztcPUX3EgEXOr$40dpcv2VoJTpm`*Q7>E-M$Q)6Pi>Dk-Kw7V1N*@Mud55xL66Z#VR zIurU4`Z*K$giPBS@zI!e6?98TDCpLW|Ag*>?jFRR=q1Q|CloM z;SBE8y?_yVcPr>kM~{L&2?c!<3i>6m{YpC6_3a6wl=CwhR}!V%N;Utx=4&*6UGt5a zZ`OQ^=G!&@Nb^rM|4Q@Sn*X5rFPiVse81+0h_XK%)&5nQ*SgqV-nv8?USIRZnm5(F zx#q1jKTq=uHNQyni#5Mg^UF0)(7cD{eKfyP^MRTtX+A{r;hK-uJWca-%_nF+S@S8H zyEMxhc>4G&kk> zkmja5AJg2F=i{22@_brzQ=TixYnJD8nw#=0)!dZli<+DAd|7i-o@+EW<+)CCQ=S_% zH|4oeb5ovgX>Q8%9nDR7ZqeM7=Qhnvd48a|DbJ5IH|4ogb5ow5Yi`QZ{C$q7#xf^wuDb*7AgzT8_$b9WJ|fLp zPJX~BpObLQIS{+eU2`I)-zgKaXX}on=hL__hw1T?IAK2ID2f#MGlRZl&G-aJQfV_( zW0KN*sOHpYAw+{FA0NtPdcw30lElf!a%4=BmEa=~`Q&DZNn#)BWS{oQ!BEL-PL`kN zVWaTLdDMH#M+_tEJ~c=6+1u0J!uDT#Y3%;GF!G@=8`u?V^$`2;INfAE-^q_*bXq4r z-qjvK`x7&hXI2YP-tn(CXkQe>`k0Xmu_CaTRt|E1_Dxuevd!E zN5As1LUk`~ePqwee7>yHF)f|!q6*mCJ&+af1$2S6PxT~aIqa=NgO5Osa-~5?pypPM zeO?&*W6wC&sjrj|4{N?O_FEo;}n26;mv8R58_acL`yro@(uDCg5`qFg^sC(8BIY@!^`=Md$6g84k* zR&u#6x}7N3laCPPI`BDS&Ex+ydVOhL|AG!*MU?rhBg*ytyF@v^Zzalg<8Gq7-}{Rw z^EIzOPA=20BFgpLnVs$TH7$wq{_0|lJ&CehDMXq6)kJx}GDVliJff^$XU#7s%5?f_e>46t9X^66ub-s(wVEGqXa9DY+1`2dm+fxyAbIS( zO_cJvnJC-)R-(-BF3rvMx<~W-h_ZZ75oJBh^1i6~8#=t4DBJ4;qHNclM47%RkIytW z+vf|-zaq-~e{3(?6uTH7<>1 zwHfUUyE%>Bk|oDAa~N%RoJrYSA2}x%PRk*4Niwr=+Gt<)=%K!X(Gz?H(a{seg+kh@ zL>rLknNv=j(QyS6X3XFvlP8X>K8~8>-s#7|#P0Tb4%V2WaVSx?r}EUF5Re+&bJ(lzL$D0v$esDAT_|qseb3m+8$VO8MVQl>Noz<~X^O{!(6# z6J>r+YJ6JbGL0*UGQHUgV(vHMpVP5z(mW0`tf#_ObhntE#TE%cY=d|%^M zjoUPCC(81ho0;s&=Q3KFekb`dT>&~={4Qe>=!ynu zHW$dH#dk3Fb(lz!>E|4NvL}}pnMt6fkp87j7_UnT+tEdHmJu|x=L--%CnNe@GNwP^ zD)7*1BambVS3xA2NsFVw(&~r{O6j(vKYy^x&vmc;ClaBRa>V7F;L2skh`0(QMqPP> zbMqpZ!BB88{K4#?bjM=YmCILna{XSu+hhOr zl6!qV+9}x~KgT;5u|=znxmknrbG=!a^2hDU^C#!>$HiB8XimkSOq#*)5|@u}@5K5z zld5|$QiRRnO^$sRM7mrw-O@sFX_?S)QKpyck}3OXj~J$bqO{-fNVgsNVo$`+i<4<$ zYj?SG!x3qr7YroF{!%B=^ylmbWKSn$k+h@)WpI5OC$NUXp2-*OiyzrQDrKdHLb| zEa`N`x@aVrB8}p+Vt*pxXjXp6mx5psZS^&Ja*9Gjz&n^g&59`frC*H->tO>9LBti1 z&R8h&5AhXACG=>B=6Z)9NGp4fMwZt#3`NpWl;a78harcFOLr{#TsgzQF2V-QIoTBq zN@nf2<9D9z;iy7vJ{S0P&JCf&%Ku(^FN-KPt-Ah}1 zyY;GfMVrra-eX z%37z!x}^ECoWqH+9fpRnvBQgOWD3?BV6ULzWY!4NA#Ky;XHsLW8bhvJpR2$-qGmrQ zOC&u{8!=2VxdNw;Y4`O;T|QZg5k$Tf#*t_w~9_;jdB&aa-E~S zvOZ?L=;oL}8Vh;4wk8I{X3OQd3VD4YuVorOFJGnzj{@!MnT2Ggi^U2=xL4q_*LV~y zNZC!&rH?Z`wh{7j`O?}b`9l|i(?%hWsn~z{Hd7&osZqJw!MD+*fW4z6I>&M_^+qFk zfh-rTM!k8=-pBfkb9tTPI5_!S!O^ZDf5B~r(ej6`fX@?hk47%v(~14{`e|zJ&&>DP ze*!MKci;+3Q|&;k5jx$2fugKktZ)T*2&EYx;as1rAnh-=O_v|FW)OYJd}vt z&Ad3u%W=lZJ){VSOUf=--LJ;ESo+I&@>|S0nxr+3h@2w$rh+Tz=inz7j;WBnFcq=W zy(D%Av*1`C4hH?Q%zPCs6>I|Ol)xdGl~1*UzsMivOh^4?Lya*V9Pj;OT-<`mXLHKe zTXOuSE08sYZ7jWF18Q`JGiA3L!#728<$58L5)ClnfTz$k2E-`mV%n&C3Y}8zM$>K5Te%#UKP`u<8jSt%v32siX?z7xV$kQ#Xpvfk-*z_`U8l7S$2!vU|z3l=hQOdPagdQYocpy4@M;nO{9E zdkDE%TZTvT!+G|^$Hltnm0y&Tn;({u$H%&84$mb83!X-xGssm&k&D)~MXsRi)nQ_U zZ&s(tpI}7zU1{Kp+|nr_KZnNYawv{%nUKrpcc6$njNHSk?#OpLT=~vqzMM1Ml^^2b zgaa%ctTo>R$Z;UT@l(3F^%LUggpecR^2s|7J+Ovy12Y`CL9PsCj}4vd@`baw?(l}} z(e>Co-Q{wFZ&|Y+=Zua04NnX36`jYRXI_<3rRC_Dbg%gx*f<0SUxfdWQCF3a8|^dm6Z-EjdaEWQ_%^~ zN}ijsx#_Z1_>Q&)idu_XD*z!F;o2-6)C5jh%v`S3OlMIrJy^uuXU4JvyGpw3E^;p6 z+pE@=LH&rI(mWO=2FzurmkdS|l!nXZ|X^YnaI*fZIr&h%K$;LMp+ zwwXmmMKk%w`@9GEfmXS%^r*(iiEF7Jyk*Vsdco4k+a{fRQ&WQ`^trNh&R zvYz8KntYNDpF))T1ldHHj>!W$enjI8qAah;XK7wcl;xbO(c}xsWxDrkEFsG4P5z|j z%ZM`HQjI2mRfn%5%J$r-(d6&w@b`%_{~a1l{<#kSnkdu%L8Hn4(Bb=tvV9I}H2ESM=xL>bdI9`|T8`NKMV ziS~b5qsgDs;j4%;|1}y-{)P^Jizw^!o<@^z*Wo*e^7=0{n*3WG{v%Pg=U$B_KdQs4 zi1Il`qrUd`Z%UN>0?peIr5<(EX!0&Pyc<#0zpqA<4st|J{I;66*ZeY~Z0GJ8 z`)PkOJc(S6&u0D7$z^&IHC{`U*PH2QYX5AaEN@7o$!C(w@%lER?Dvlmr9MBQaT!sj zZ}Mj~FC|KOzpT;Z>&Rt$zNK*+QP%Sl&36%HdS-s#YHrr|N6pRnziMu_-yY5P6J@$b ziBjKBXpHM`Pv7Kq$Yp&RXl$axP2NoNRzz8!3pAR%y$iE}cbZT@HWqG_BO&-+Y5$#{3(d2W;WjW?*Ttt-ZZSuP{zn>_} z^_WJJKSeI(_q@hei1PZ^bi9okP5!P9-%6DFwNsK}d_m)jMA?q(G@AS^a;dNHXxu`S^)vZ)&CUAl(0nIRw%^wp zP5!;+ziHf0lZ~qHO2ZL@76uU!=n?(c#@RntXr`PbA85<7&;# z^v7#HN#hiv%s-nb^P5hT^^a;SB+Bxb{Cdsj5M_V6S)Hq_sC^=&GCH)xzrD{zTfEZUx~8a4rr_*#_H`ryMJ?{ zu|F@f7bkWqLkMGqAZumkLhr8ezpeL+vg0TZ0Ba0w<5~+ZKu)Xm+5e`KX=vKoZowp z%k__$UXl(s?;nO}Zmt(bkV|=`X&kS^O+HC;b3HYMT*@y~V~!3tc^oV@r)@`1$0rJZAagHSeI~b=GL|1RdU! zDC;vo^AeUr);m%26r#+3q(+lFboe-p*AV4(PL0{x-{jNCWjJi&vK$LF-lM}!{($C>Xe=R0y?K@>*Dq_dzsX3mE8sJ?1IeYmN}|TWM47+Ihmy;2emqgG=R7*x20b0Q(LD} zot|kEdU_kt)jIs|M5#lkw{UZ{)agGontZPg->>n2#)CxJzUDh_CO@XbPv~&-oidZ3-d2jwrKOCM z>}rq|%;z@>2?!4st4oQ4eh8Sywq;=Ep4M)3Rim{UIX=0i>i(%N5_htHYlw3jC`y^x<+jJ3v| znC{7uc6%PS#os5{W&E1P)9cbk`pf>kl_Y zKkaYEA51RW-;8hCFPrgG7%uzlD2=8)vdRC`zWERPBHw?N_b2B2v!{Qbb}aLe`Z0wl z^}|b)Fo~9?=DsFJ)XWy$NVlwBJExsQcnfuA72^&;}d+Yz9fpTRRvLegZ+r(B-jXN zAq`jKI!wi_Sd2}08}DEX-bXop#UD6;LpY3@&lYxauykQA=BrZT8oY)#VV)&iN%x;< zMCBFdskTJX4p$-(W03(rLU;vhu^wgEhI0H4^UQ%bDp76JK|c&YDjXPxYY@VX`2YK? z;B~xqJx+gS@K*Z$yJrR;VR$VrencJo-*`swKYKQClzG*BHt=oa@_gX`_A`Pjn5KEA z!~gc#z`Z#*m}dhg(|!80fhW-K^k)OR=qJyP2;sl^OyHN8-YfWb&jvQn1pbln_92dg zT5Z(9zj`)s4~F%EJR^7@{@pWzGZ^lIc^1as=>Fe46L>x2|GQ@b%kzNEGl6&0ZJxDJ zi<4Px)WPY`1nxw?&gh4MNXAf@X9TCxEzbuQ8F0ZoyMxD$#Gc(dhCS70Tc!y3GXfAy^2tqe2I4v}a5euWa=49K&0)E#ge+?!bQ}Vk9!~3#^Oz4g^ZD z2i7IrL&LcUBCaF%!cZ6W(Fh%JDMlexr4h$sg1Uw{6)xnU0QcYlynt0$4|(`Z9}H4S z#CssmM12fPaRTxT)XQO>fx4LPC9t}4t$=tWBLmlC4oXpmEhxtcSUp%4T#v6%ffJBt zr#`iWSixtCM~FOov*t5AFC_opKD%=e&*=PD&+e3GcD6?XQZNEzF%H?tMIPiCo?*yy zJZnD7vx;2ARk5An!vEyiofVAt1Af9EIF2gZS%+68ujpnd^Zs*<89^{swb*=b{0-l)gsm+)+W{_oVk2TBVq;=s;#tI|*0aoC9AjO@UvcdBXw5ZUTU>-5 zSdQngOZ`HWM=}lN8f*+Q)lQ=LLVZOPyVP!?h~2z6gZm}QK@?NeJmP%Zjz#zlzheR0 zU!>RNUI$*q8f;M8iQ))Oz^cbQ&;*ww0V7e2Qv8i$`G51-?($6cKQWDR7Wb*=iKTc| zttHAc)7RsDY*%vgrXAX&BQ8Z}T#oMOjebbPB*;a2U7U%bkmsn2|H-q|Z)LoBs^&A* zpQoQZSN(tbZ1ru7TMqM#^*`vY#97Vw{8H6?=K6*7i^ot5hdhJbg;^-UpO9y+7x0Fp z7>}R?m6G$LTwkIBKg$nv@uNUz!8{8qp6)^vV>!CU+lCWU@f=>jH~1F)I5%90o7Atw z{fKLCyPha!;~`w!fl~o0FQ&~H+FW7_5vPNP{#sQizJg;l9>#uHT`lWlRN^S)S=U!$ zpps`-zaq!&o;=Gwl~_XEf0E+~mf}ggh?h`?jo5_EN}i=G4zmv*#hwT( zGJLn@vj?qO)+h38Ielha9G_l^c+8Q=Ad$v45^eXI0AGsZQ zKaXG=T`h(y+IUj zsRXV$rr{WMSeR#f58)g?6cOd5&S#(*{+%`aiS zu>g0X1WRFE#x}tPl+}fBs9D6>cpuwQ*n{h7e2rbGQe_;=s&JgL6T>L4;b1Fq-|Toa=z%^Mgkp|m@(lDP>JpA+9We$qpM7qf$#XgJKY7NuJZIe6!E;;j2FER7 z#o5oA>_c5j!Zp;L>u?NQrdfZTL7l?mb!=}D-$ui_whM`35~jjI9r9x~^+#+|FH;wU zJUdd9H{pxDajOqmI3a@$u|CxCT?P824Z`Uc#?x0CiA|Rv)zInh~upvE4wN zgS+qu9>*$_b>ujVvo7QP7_7^Ae~1K3MKONCVO-pW{_r5Eii!831W#ibo<}KO#;aJ5 zGHk{>*oJa^f=}@^EY9hza6T?T8RzcpxS_l4=_R~ZhxH7{R9MT{l@L0@`2|hc2ihQ! zy1M`+)Y~`l4nBs};6Fc`z6ayfd^Y_satE$~#dC*;;7QJl@~q#%)YUXxPaU0&?bK0m z1iY=Vno>ubVXZ2w$1q$^eVm0GFbCf>lHYRWIEHB?&9OQ9K z@L`+!koXZU;`ksssmq9>2YTU348mkQh{v!5E4XGB#gyd=JP&zhtbEwe2mLVushEQ; zl<^OE6XXjo=w-X&s@IC^I+4mntIgX>a7S9Mr z3Ca;qeeQ=r>Qb)7g;g16U4{hQjSke&iy@5{x*!1q5&Q6odO1doCyFA>#8LGzb>>q% zL>+h(lh5XOiYM?4j-U#$MuxmME9AY{9F$U54oIEhoUjs~t9Z@{Q;~sLn1hL+3qCU&%qr_M}5 zh&m!}z#ROFz34_A5h)zM)3AxUu?6K%G98pW&3PRO%XrU-3LHhoa@G&U*oy7=3}0gx zGAQfoQH+iF0=rPQlKUB`#9@@~lpB$7wd|i#JxOA9!+rtx~Z#(Vvrh46hqZW z;uuU+PNFDM*Ar)9j#@yx1B;clk9nghx*-w6AQMhg12jY@HJT{KsC43ZIFW&SaX(7c2BO%8?FeQ*gu$CYs4YFPU@#v%c|&$h zVh{8}B8DIh#dr(WL9Ta@$i8&JtF^2}>`UT|y0#MbAMrSz#dkP?$_BQt&*C_Rw>cMx zt?D?D+s4*P_KD}P78_8;G5l@p$6wge(YBQ+_Hm5ekB-z;(M4qwbI_e*Z-2bcF;_&X z!`EYpx{G>yH&&=a#KWlISo#;P;8@ue#T*-7!Fp^!dDA%SCsg7vth3{+p6HEa6yqJ3 zXVMq9AM{iGiDIxCMie8| zD56M38m`7zj8hYdVv@R+D5fYUQMizaER{o?1|PzRq7X%xg&R~caXxOt!&r(Z@D!F~ zC0;`%_F~%JI4ci{)bV7*K1iS*o~>FCMJv^YD9%%DiQ*D;#O3M=VpsH3YdP+U^Qp%o zn{F@W)V6h^j(5c!Scp1|BbHLP#dBBNqriNlC%#(s)AXoMzcie~79 z&PYIa^gu84!vLgU7=~jMQZZ3YA-a(bA3}(txOtrQHp=lCid)24FX2_Z3#%p5g#(jN z(mKxChbmQeZk%-p!S-?1190=6HGrr}oW}VO8So;2AjHS;`ojWa2XOX2oF-HMKSd``C`UP;XTFBIP2>VI8Vd+lylDKoO7@QOYs7_P&c~b z2F$^B?7$&Z3F?LzMcJnznX*kmxoXOX+O1KHn^C6Xxi(t5t(NsN<@q{3!Z#?UEJYe+ zDaK&}uEA6kUK(3CQ-~s?CC3?9=X38G4bU5XF$50y5W*tdg=erFFQbBM7GZ^`|8t4+DE|e-ia4t- z&O~dRhjwU>4!8uJVg1bh1_vf#Dx7$DZ=Cfk`tP&NWZR1;)dy_<5Ai4dLL0XGg@{K- zB&Z(5fk?zCI4~8r;7(*vCev_?^Yn2XVV|RU10PP<`V$A>AY~!`qC5^`1N)q)qD;hx zm)V9;HY0Ea@0r9W?1R6cOKs{ItaCXIz=4}^D;~jPcpTORY&V>V`e=yWxKa%uUWGvz z1_vf#H)SAdm9iaHQC>K@n)PG*d9Z_R^bro?5G>ZcA=;`=#IERu?ij6{#5~-E`%#V` zP)gmd__dam!L^W>r}hxV@p^0*>|oo96Kq>iz_t}Q|1Wdx# zrnZ!`IgX%zGuu@58F4Ph9AUMlKOUv*L==q*5kn@F9c<3NTa6BF@1BcpRlz zgEz1dKcWg5N8-3Y#JQYu5x1UYn@<$CtA)h7@qj8Jie*@iXVqGwI6_&9cPTqjrP8k8 zIEb~B)dpJGp2(#v^YBO<$2%0CMg7N0Jcm-OlGudLPcZCk+cx5MOs4Eb23)Y(aGXSa)ri;( zEzlCJ(F=Xh7yU654opHR^+J3{nTty7#eU9RAK%XO@8B4W#*|wV_z}c&>J!RuCywG6 zO1Xwxg+_;MVWKF+3_O7+u@cW=i;7Yf;wIdR`>+h9co}8bh;n=a>nO)!+=KT}iNn}Q zo0PAlU5ZuP8riJ2bwOQDB?wWr3$Yk?;sGqdOX?lshZw-VE~cojh@x>TTMMFStD11E z7H?2DwqZ2)YQ${ZfFqnEMH%Nv(e-khlPJ=uLsM{^I#Y!*>dG4^#|PM9>)*NMJZNeEkaGW zZ-Ef!g?wyOYg+PpB(|b{q4Zq#ODyinu>_%M+%rNM-bLjL)G-{uQ5?q!v|Yu09$4GC zCPe~WbKQmhCwEauo)h!+R!J=drKC zVxMb@b8saFViLOcwDlv7M|ZY`7_Z7W7w*8tySQ#d0@sdyEK=p)u^-?|)>TAV*8*IR zIrvQFv+RYKi+OksFW@!2jty!XaXUW87x+mXBpyOP)>$~%*IsB}+d9^j`iDIn6GbK0 zMpJ0WdO!P?7{fl1hB<0J=fVZ(*n!Uv@Ex!D9$Tp6Tk$!*L>YB*KN1^rT>&p{!9py; zMz--L98<+yr_9G~Y9Uc9#!GkwW!R|RB8s>19^S{t*ojZE8{eS3CFe(!QHHxwiNlyo z*@+Cw>_{@@>tfp=(N8@?6~|Ixz0dftwzAJ{V|w2+KC0Aej-9We3~yjQ+gL18>xp8s z`jRMish^2r%h5P%56pAJN~W~3;+d^^4qHjK{rxuc+^*sr`+Iffxm}CNi#Up!=XPC_ z*UF-JEc4v188oWvPi~&u<)DEbr$5U)x9e3J+f5)h&+W>k(H(COEc4v1;%F;t61jP9 z*YLtt)@1S|zL$3fvGvSW)-taX~#N}85h=DBLQ^X>7?bJY@WYh?{!xOuKx{2liE&2!Z{ zk<0cl&sDP)wUVa&)^476$J+oabSK-NXr8MUy377R@(mENMTAFPq}AozWZn1CzbFyhkSSD z^v^)#yEM`U%X}6hZI)}^>ydi`a?CjWJ(9G=yA0AEuMkCe2=bkq|Mqum*0I6YtBpkS zotyXRE=SGp-c*qPhMM2KIYwTqovj{GG(a=7P;H18po6-EC_1Um#4hNHp6I6r5C>rh zMqrG(iFh+Ct~;)Wd`ABrIPX8<^k^5(U6ysq?n~fl*V=iuk`Ak%f z-T&+wMvmp?n%I0+D)-JOL+-)J^|84Jclvi>+EsD9KoTZH+E%CG^m{%3$JaiMPQ8cc z;QS)zoDk%kBlnbdLEfv*!GELe_M0DZ{z09OX?uwVXpH7)iSuzG`k_AtA`vMVszwqW z7z=5WCT+IMuo0i*OB}&5G~dZ|(G$Hf1`Y%e!aOX%GOWNxY=X4ul54N}Xb8CmGuI+= z4=Wj$QZ!bK`OhlZ*%QFuGr@`%E(fMWcm%4{2?o$sC#b@dZqBySF^FBaa ztU40KrD_6ET%#rv#dWHF0^17>Rb!%PqRu9Y7OE9dwE6$oyASZFs&?(;o8FsB5fFl) zbO^nLB=k;#(py4R5lAR@Afbu$h!q4AEL4S1l^&F4fdr)&2?(eNBp^y>zW<$h_IYzS zfZ*|czxSMj*Y)$Bm4sw6nc1_~+G{<_6e6Vvio*Z8R{_SsrMjs}N^RpuioXdYrM}TR zGts1?`^(%od?H7#{bH&Qh3TzZ)hhrSa6c%B48^RA@|-=`{CAqW9{z39K9h(I)S z9wQ&%V@&0}N!&TaH!^V!i}P7Hmxnut%bi<(IUB=<2*~MmkiMYA_;~wxHRtj8z@1b7 z4EIISb6+G8M{xpL6L+{M{R+5aCb6eErh&t73U^J`dhVmRbHp;z@08s9+`Q0ySt)30 zle*>~Xw=V?!u)N;*JvGqRN_8XMn}_&lpNeg8OX6uG)^Jz8Zup%mBZYJL>$9$g!3LT z7;7A_hxwR1Vrr9;j{77TOjc5I7|s8cV&+qaYqD@MdapgZ*QyWGmR$Vp#O>?rdV^>k zlVsy(=0X`%Kqz{nFT&uiadg-EtfP-B?pUbC&;k&{36!qg4WU2!GHzZ2!&{jn1^Av) z2!&D9)FLG*%CQso4e#aH#@EpmDf~Ev1rA#2%5$?4TjVX=8cxY@X z246wzRcfKGQ4I-E4T&DmTxQLO7>h}miYUB+d02p0EHx|1Raj@-H4KMnAI1?JMKaDo z*Ki~Q*BAaut%y$iyRPVN29v4J8$j#UWcP+2h@1|b6 ztF^jXBQzB^_j|Qww?F60VbI+0k(dFk-8}_&&XmKsNFE!Xu0#f+4MLH6EhIxE&NA#Z zTK6kj8@ z3k>q%n1%=wMb5z(-}2tMrhoTZu!+N&WLg=IL8i_p3V z(Yz&H*UvhiJ|le57@-)3F<1(%nUF*r$4MmN3N(jNCy=EOi27)V76`@jc-f2~7h{Q8 zL9WCqtV5j9It+I$#$j$J;uOx~0`7KhygM$`bs_yHXk6$RoKJY4*~{?-Ti~wga4vh- zbhv8(ZyrB#*YFp;%I}LZxYyb$b+7ZjgQ=K?tw_dIsAfv)S}8Y=SM{Y2bvLzAc!d7a z+TF;sTvJ92w6@7f=bdA!IX8i*k7m%E)8`Ngt?7+{yEZbO+ZtEXn%>X6N+Jo#7x9tE55>UxNC?4vw7DLg_2rB6ba4Eb=MHxJa9ViVlC#D};ospk@xooWH2i)siZ7@M#enx`z9qr3?Fa1ffKToIb5 zERk3McTSJyc4|(Qdo5jatIEP1ch+3yKb!MW@nIfcQ;(F?bA=LUA2mOcqB(hz4V6*b z1e4MgX;De3|>z*xYK)*myptd19hDV&{>T zu`)>y_ZoT?Zo6|?bfGi#99YdkNQTzr>H2y-G{%2it8GZTF`wsp?IUp4Ub%C@-MI@1 z{k(I)HTSzB0?`1ykb2IyuKD)Ie_S63^Uk%>8W(v3TH~VmqMECy`BtL2qndN2xucqU zqwB?*dvm+F5?ULkxf1Ri0e7yJJ6FJ+v*pf#)CIpg%|-vecpW44^$T|{g*(Ts#!>Ga zH_dGm%{BQHn&b8>G}q!+=o5U_t zdZfrk3UBc#a*?99PSIPB=q*Hei%6kEx9AWo94b?ANYpeVrtmo0!gWF8j_+ztu#e5v@oqm2{LU+dD65arGx22N*B|Oln~Q{ zlwPI}DNmVaNO{%_ASKKUB4vnqj+7V7%cKl5BgjaMHe*TQaGrw0xu#P()683>Ovih8 z-^?cEL-R2y^UMNrAwD&{4d|`FS#DO6vI?uQ4jZt=d_~H)W(O$=<~ve$nLVWJGY3dH zgu^&uj*{}DIYG)#<`+_aHD^dkLNb0czmsy=TqWhY@sN^+>lKpDWFRGz$wEptlY^98 zCJ!kOn!KdsHxH9i$UH)d>NZL-Q=F8?Oi5Boo3f;oHx)^#WK{pL7W_;A83@&sktU`Y zDJ@JZQi70r{>~t-)rjh@i0ZD0JC7%d+wuwAn&3ORy&HR>`fPI0946(6IZDcp<^(A} znO{ix)tn(E3BN&egXEIAN~*q-Z+c$4=wW)1(#JeS$}{F!QU;hXQU;kJq&#O{Amt_V z3Ms=)1Sunp>e9(%GnJIr%^Re=W!@oWx_OV3Stgp4+2%u1J~nennQs=7@~K%&$`Z4T zlojSPQdXHYq^vU=NcqBSB1LugMD^Q6_4h<|+(mWx;<3|wPs(nymz4eHASs8<5mJtt zA4xf3ej?=;^D8N5OcE*Q%x|RpZZ48?*<2;%y77>bhHHzG&SW4ZlgUC#Hj{&tTqX}G zs^cViO@2}yHibxe#1ti^m?=)mV@7p2q_inZN_kU}lu&4WQ9^FU?r7%3%9 zX;R9X@}yKWl}M>#s*zH|)FP#hsY^wQ|1{`o;3qV2{VI88DgFzMIWNf~FxlQPjv zCS|I5os>7sTjVT6o7tp%Xg(%ou9;8DLh~spi_H>JmYEf#d}daWvc{|4H1Jj60mmM(#3QmCB*a~rI+bL%2VbUQl2#fNC`88$QSXl8AeKk8A-}$ zGnSNbMs*EEbK~W8qk2nk;T6 zjih{OwvnQBtg_wgBqjCQ#ND*_n*F34G+O^E_d4I-o#(IG>6+*7)^hl>wTo`;4R^kN zTmkQV{m_Bl`T7MJ*r*_n02H(KR=$^r;u*9cRqd%QuFPf#jA+M zYJ88g$i%?Oqo{-S2*U(uetznC`A2D|o|j)}?|+_`-;Q?bdHGXmr=FLu+U%N}f2aBR zk23h8`S}c!rqp5|O`m8yUZ+p74jary@(XA$j?LI=a%bf75L!UB0>jN7@(_;TIDW#< zI0fyol_!&zFWDS(5Q|^&8&o4f@@1yqfI=va$50Zbp_-eWpxT65N2s;CU*jlLD@J>F zsaByM{Gob&ea7im&huw&NI7%iOKOktQ3zAN-6zshYPp?{(FVk9B}s3wIQ^ zWj(&Y7Hq@U*ba9uDknRa{GoNv;*W-CjHYOgR%nOz=n2)*RoyP_Ew$FHCpTdWw&81R z$8PMwF{rk&yGB;EMYLy>TU*4R+YQkex7r)ZtH_$3!75~^{mnzY|x7kQYF2y#t-013_r|%nzKu~B3)M7Di<)Q*)eMj!7z)*&8--Y`hFeQO7rWA; zBvebX5mb9-h*3?+QCNmJxV5$18X4stU|tK{nonAHFGrx-b-IYAnsusWqdIi{xKk~< zo_zjRwdg+Q<8ipt8uA1_|DAEykXL(%-v@3Domg&viN$&UQOhol+lQc9U%vU6OMrz? z?M%1kS2@mWYQy*8|61e2pN|Ea`eXy_gj*vfk=v>hBWVh<-Vjw#3w7X+CZ-M91rsnG z6$}5PHdX+)Z?1(^>5<#lYHGyinwSaX%{77E;bXrs$Kwy^;$<47GgV2qRziJlyKC+P ztMa>|2~;zoNDuBKlKW8?3%*?7s}8r;O`9-ptsB)Eod(rC5x4fqthLM&!_74)`s}3c z00v+%Uco4g#Y8N?r>OrO&nM_2S#{Jwe>`W#kn$d)F&nDEcDJ>{+*%K+!BZWoe<7!l zq&!aIEEnIBknpp&reH(P{ZwO26Z?};mP3X3!5_oS2vR;VOGw#kE|TKz;gc~VWzo^l z$Lk4FUdAv?z$6qX<`qabL<9ILQs$UNr0hUEzB9W>xd83O<5QgRWehXg zlV=$Y;V3?P%xfbl?%q6MkMrJvxRRX5U@J}_86G&Ld0)eH?8PBm#SM7MFb>6o*$_?8 z5~Vp7OHYo$(i?q|&Er*=EP}44J1NJ^FXU;sH7+*pVQw7`nyaMb<-A|2nIKZa%y?4f zn=eUmYs+e{;f?sSbzxc)CRz_B?mDhO{`TUo%es(>_b6O3w_8u8wNj$>P@=UZ;;svE z_h50?Cp6$(McnlRFLI8cbpYi!N9cza&3mNg_YdMZClMx!oQYwaLkx#IPd)Yga?LSM zJ-=LY%r&q4eP}-U4djjSy7Uq6tk_L-X7S$NPvzWTsosmu<~^wP^mRxbxODPpv+l zh32c>ZeH5$=AXIqrQCT^nhPcFe5URW&u4@hPMI88Y?hPqx%qBRGLyamFN( z9z4f$Pqf$dSiHt_NY)kg+CXl^cEsZ_j^GTEa2+@B9)HW3aQGYKgAa;fJSLzEkF)fH zYIdns`xo%{cmiM#11m(R_6D6|h}4b(zy)P?%b z9g({KoVvfPKJ!?-3iX{ueP&7BZ`K}x>Ni)xt@_O?`1og7hb`tS@?QJXkJ6_uiBhO+ zYLVJgPW|fwP#;^`n~tR0-wx$=Pt%9&k0EgPdU5;V>-d;z6T1EJbcMYAarMcoqc;3Z zeNs~Q(?`<&03Tx>=EL24K>c?48Nc9+Ng~go9PhnVP#rh->l69dG2E(u@78cn-M>HN z!?~F`LH=2Pzr62%?(eJ5f3N-h$9OY(9BzMq6Sx1YpWkM_x1T?XR6k!)scD}Kw|;J%-xOyoaXD#Kw|)MVxia1q-ZSQ-*G%34SjsM(|Ev0KEDhr zu?n{v7bu&D`WVpoKTMqaidFka|2|8ST%p+H4@>@C7tZur#lCoM0`v z4jYhqyr4=x`pKwk0!VlKKw}7>npkoLG^XH=D`;$?sCkrp3?-o&;}scesDWBG?x0$t ze$ZHhXpBL2!5wEf$Zd@^Na}Hhngwq?&d{EZcY-_K@HV&Kg~lCxQ;j>+<+jEiQjb3@ zpdE{)ScVl)ZSK1rk8o=fzr`4YXe`1VkGPO(JfgadLj;ndv4}q#k0{-P=PT|sE^+gC z#O=l*p4#ahhxng9{=gyJsfDFjhE--QxgMbz>E|FBml2nV{v!Hj;rtpWk%SAljJ{d< zI8Gu7eY4TVU}%r3lQ@sQoI8c#MU22nB*Cpc-SXfTL&?%64#~S zQH36j;3Y213rvhYme>Qtkz=TO|qF3oZoiUU2T-D(;>SZcTO7ENzBR#>llt+#|VI zPl+~Yi_K82XLs+fWZw6*mr`}!vjUKS{WuEk$>Q$463lyn_A*GoegtzI*PbVF_zDS7 zty1j`Q3r_}x3w3FTl?9qUFz;_;MUNO;kc)o?7!cI>7947a9u@-e<1$;U~YV=Pm( zQn&uh`#Idb5>yj@AwI=oEP-motLAulRD^1eJLkN6sJOMFOF5jMqltYot6{!K(x*kDF4Y)Hm%&>0mmM(#2%< z<#9t+lbw{DCO0V$nS7)aFa=3@!~|TYACLSuysD8>!_*?Bj;TvZfT>4H1Ji_*PNoYf z-ArbVT~fz%Atl80Bt`!fMFgVpsd+IS$8$ttG$xwKqxT$1UCC|;G0&1=n2NXI)>#{qh5kM! zV+vl!G|V?kNLhvzSdBHx~fCmom^XW}CGAHuj0hBhCNU3US zkWw3UP}ejd8>1PTqcwu@1UjOd2_gI71w>+unL^4mGoO?tW;rRVu?Abr*QD$~Ja*y; zj^hN*;}R$eks>`QIgk^1@Bm7iN~BaZwaGeYgvMxw=4g$!=!h=pZhDh_@FGTHjG0JI z#_Q&7@?E@VW|0zu5AZSOVj(`oYOKST*o?2t4l*7)u?PEb0$1Td4$jRak10(`ZPY;{ z(~OkXXp0V}3)vOj5rW?6gK#{L$>w!Z=9}fDti~E_HeZpl1G}&nhj7FkCr=>RTp&Hj z!MUX5F^x!RW`fBl(HngbX~vN94yI$NSxd@#Y`|80g>SF}yUkuw5^(~_IEUZi@SCYp~(nPb+I8?f1IB_-Y*AP*uD9yI0sR0bd%@0xX_Y&Qo<54Pm?+D3kh z9f(J>2fSL7LFiyQkTD z#vkyYD18bkhl=n+0P3Lu1|kg4Ap)OZF}_AT4&pEh(=T}hA!ax^0uwM5GZ2kMSd4gh z(5jHv1@bCt(r2lS=4gqDn2I%6i*1O1w)@G6E4; zVK$Sp3%ha1B$MaxyYY~c&4>3zltBfAA`F8u1XIl{G8!8Zk8|)~5`C|!C_|qs04)%L zp=Ei@@wT~8j^jEWFYi@~EQboHh^H|SgD?W`AR2ScVp2Xc8%Wt|;z`+Sj*!y50*?=7 zmiOj_=Ga zQV!!B%FpBXMr{P(MMPi=w&MVfpzVBq2Mk99c9;X?VR%f91$-a0Mi4rq3%!jo1If9MYhOdx-o!E!{ zIE*9s$t00iaRVM?cj!l)pr1br z(b$P2xCReO(DyHg76`&Ch`{@16S)<8;L*p@^L?-Yi?IuPaSa}n%0M3xy)h84n2Dsk zVcsU?1GAKr)n*;J0Te@VEX+eJJZP4k`-f%NfZuQ#rE>81L2U$}FP_G$n2acd zFs>3|7Lc+Ci?I|Nu^CrUim{f8=!`H-z+!xhBe)0;S~CXI2G3&z+&a)-ayuTsAPHCC zK{du^q$z^%0wR!TekVP6fa?lU9}yU5#*;F|yidvkEXJ=$!WDRsp6d&e138fg51_QE zL`qdto0LXqjAm$#)(Aoyv`0sDMQ`-M0EFQ=L|}rML{7$3vyzmJ=1X!DwwP~7*<<#T ziTDv7bY%=ndLjbb5RU_DbB$vqKEn_2pb=wRLFkMS3_t`{V*|cMJdVSILX3eGMmbbO z6L{dqm{>G^!wqEOT194LMK(NS@{>~C)FNx634+iW(U^z%*oXZ%0S}sT4I>C2Vlghm zgRF(Pzc_{@T!9B!xOO2mOk*+#0}zHNypDP1Gtz@hjNM6AQ-iF9I>w)rrU*i3grKi^ zhLovh8Y$BejRiQu^^nW(AP-}MQU`U>1&gr+8*m;sFrzqMkFXM6&yf*m_!vK{B9A{j zaO_ zDZYf)DXJg{Pogc_qZgh=7_Kel->hN2)>_&ajtGp$RLsD8P+fY@H$0ENC9!-5i3;&N z@6iN7*aQ#$NFY&iC&xw%f$G`+3J)58$770JID!lCpu_h(_IL>%wA;hX|x;X$TEuZPKkc+@;bN?BCIKukdtJScyZkHa4UXpUA0#?)iHCa?ila04oo z6MvjG;!p5A#|=0qd7OXZ{nVT$CCPY5+59udR_uibEq~$fiq7bUP=uf6Iw(|V#~&V~ zKkMZ~N^$cT`8Z0MDx}mjwMp?qJv2aLG&RjhX=#E}1im38ef14;G!{HIH=X zSuX)U1fUs$@B~887ar{UgE_l6gCtys2QOUYb%p~tg40OCIe3u$65k(95robN!E2a` zMOcir*nltKLE9^Q9R?x{!x4cAn1Zd?j>Gr?r;vop@ZgQBUROwuhxcgqH}s%3wb%ks zggw2B;sf?RUW}tm(o8~kHjwaKAfu>~UoO>u(qHdS0HXPC% ziNlw8lR2Jpt9>B?GBS>V<`{@D+`K=;Sw5D8E4YSx-50{i%=}&i;?MSb*v8kS&%$*C z)HT7RbVLsf#{K;sxCW7pz9Vws{(cXPPcbI^@4nwdqnum=z~8ao!@qi;2PY5X&5Y$X zM=J!QJvy4sWH*H3HT<*oarkHL+mL#{hWd>AHpD-3--Zl@nD>H4xYzv}USM4J&-P`g zR*bP?xcdl1GFJIEVlW5uun4hOiO;bfaoB=w*ntG>!9M%|?HM3`rXH#N0;0`qQu_sX z%)RUv@K6ln)tJP1X96z5`Is@}IUM6q6z;wO+A~1h{Q{;k<|!A=Rq|i4A3)-K?>+!O zk$1ZfKp1b>gYZ0FHh*P5fJ6M-M7a9_oac5L#!xdN3vwb4^1%m>qZBG24);?3|6g72 zU-kXNFbJ~{gZ20VTk$pG@g4T!01kmifJ?iKDOLCj)&z_@Wo$pgorvv~{XyV*C*85Q?YZWd7e-hd*`Q{Z=_R_cr(I?$alEkUj}= z<3W@{8Tg_ys-PNb;eSir{rmOy|2^vM-&|+E!2s&nLj{|g!>zA>yE^)RcfI_qj1`Gn zFaAz-;!iQg^Ox(yGft5X8Bi3(@F+@{lBASIWmH8C)G~EQsc)K)(#*6Vr4@qE22Y@^ z=|D;+(}k37CWMq8=!xFuDY75>V=#u|1-yh|7-1sG@tBDBFdHA@W6Z}wtij(^7k(+< zX&F|Twd8uZ^T^%#;>p>(^TpkH;_m$L@EqRx;boYkqIux%yl;1&x8`(9xR2MZ=4po% zV}6SHvw7P0Iv?Aef9=krel87TWw_lu>i^&Kq(gK5`Ml^px&JZ$xpsb@&p1`UJD<68 zVV+}f=P7q#{JsYw2YTln-)_FKJCFEY=MVE|bBg0JltdZBR1R&e?l6_YVHySJaLlbj z00Pm~%qE4?{S+(7&#=LaV4kOpGo6{g8G`X9j+8IW7E*r01!T#{v`Az}4iqwvkVVlC z1F*|DnfN+f#AWz0rsa?BrZ?kPeGqQ0lk$94uVhkQU_3*{m5MK&&uiuZ zJY>d_l7L;tHUnr!9E;-Lw`5}G9fD(@|tXf zA_aLI5Q90GhfmR(er*ssBNW3Cfot%f4t>}Fj6ek9uod5%d_K$_fe%W;7d24_{-}or zXo5C)(zGMH<1$a4Yq$Xq!s)w;o=|C!5t)(A<06L6*vdieAg#5#tVUZUWByoGn*!3o|gP9d0McpF4wI^M%?(818G#9iMI1a;$W|nxKH_`@ zrFdT`i|VL>TIL0g`7a@mxs5@HH`hrIj&rP)pUoNaEUw`?YH$n=z)Kj9Ntl8t%tVYy zAg|#Cj>#`#TUM_Cj#aXoltyp#Lw}6M7)-)^EW#-`-*GHOBjbF}b#rI~9?yRIb{vapV*rNYd5p$byo#Ws zUZ0$%J|8Na@zN$cW#NlA5Q9Znf(_V+cGNH)$T#zB!AO%RMu2*o%=;Zww74dSp7+9>GB zD|{UWARNOGiSd|GH}xSM{%zoNg8+vgws1oaCVp$(oycMQh}OvV&wO=&j0$Dj!^!jplXSsej@26WsnlH{Lhg{(#nG=7H8-7KN{I`w20$ z<=?Hp;Lm%7)_& z;2am9=JdMXPx$xhC-BmBB*sK?3=(}XD@sA{Hx*3?DGskG(M^dlH~;(F{kwEoIQK>! zqq^vUXoi+(4b@2>h0#zw^f+wAHhhC`vDc)_%J+jm0x{aGC*$yyQ62Mdkv1D&4}TL# zO6t1hEopZ!>&Xq+h%c}OZoTqvxxLq<$yEeNb_X+xRK4+d?8MFW#oc<~5xhr<>V20(B~z1>I`D()fOkMo zq^|!xn)Vos!z84x|2>noYJN*qvyznc*o>{%hT` z8r1`r3ckEXpgP?ppjzFMx=#0(w4a#IdniVm<>U&i#u}_g94ap0<%KG!3f1Ix>vF%s z?cwHEQqCd?zndQy(htE&{Dfa{3a5?gU%NH1RR>$OuHAaqOS%0SK1aDcUT&T1QM5(% ztyf?JROedttwr^%E1)u}pqfb}k0I@YTrYy^S_hyW8lnlBq6J!^gK_IytDg00+^L@R zc0M0(RL8mo0#Of*jOtl0#VWIgT#t=Lb*`7-bF9I7swc&pXrYP)H7vz@HdBBx7w{!t$Ngb;nt(pP=k~; zexyITn^01QnGvLXfH~l$lQNF=2`P)P1gg<0pPRj;Tr_{RZmU~AI`uf&RQfP(J?U&2 zIp4+Ij+@=cM1Kvc1uN&Xa9n}L)2`xNRN?${N;CF_y*PxcP<`%y<+#~zUtN zANl6`=862flhF9x-#KnKg+9o}n27~_U;#{**-6BKt`(5(ai zuNWWvpFA$OISuF8*k-;V<-B>VDCg{W7txr9#aL^;CFPp=XV!c2@II>gPV#rucT$a~ zX;7V~FHl&)C)IKK7CUgio)hzs7}vjF&xz|KjQ!uQ=frgw zu0Q-8^_=e4ar$d@oIYC1xE%vbf3=R&{rXM!>o-+7d%u3u{rXM+{rXLeBs*zQ6p{Ex zJ*S-XBXUvKDHoYLrM^==x+R?vhdtPbAK)-fE@@4AQZgE*V5_8n!!+y^*-2qqTMACo zQl?Ze#laD#6Qp1|fFoS)Pr>DRN4WH!f=ld<_?SmYDPbNbrIaZ{N;y-36kk)Bl&YpW zDYZ-;QtFxjQtFuoq%<;3NNH|blG54)lk$XVOGc3SP$>coT2qUChKRL?Z?tn2$)A zgSnV*J|Sfh7GnvPVTJjO{2Xh|CQ`PVuSwZ%G<9E?T9M*=Qg)lYr0h2bN%_Gfl5)%( zC*`F1nUquJG%07zIZ`f|KgdhCVy=;L!|=k?(r72GNl!{flbMvPCOauPO>R;iFb|QE z&lDh~peamB5#vM3qoxEYkDF4YlriN~yDF6=W0NI7JFASKZpBjva`Ny^XW6e*|8 zSyC>Ti=D`jOJ#3?wDo3?^l$d7hLP&C8?=Gb2ceG!saf zWTuc3Wu}qxrg@u`cg+k^W}5d&i7_9L@{yTC$~?1xluyheQew?gQkI*Qq2_WXGuvm z=SjI>{vhR&xkAb{bAuFzYsQk+q$ee#$xKRClbw{DCO0V$n1@KoX9|!~&=e-6i18ui zQB#7H$4x0x%9wJbR4|pu_K3;N-wRvKc2Z&Tyn1ZAfHbqGBF^`f`!aPn&DN}}&a;5?)zNRuMRZVqLYMR=l z_!)mv0!@8V8k)wWG&RjhX=z%M5^SCzrLAdCN=MU~l&+>bDWRq(DZNc!Ql2*bNa=3| zk`itPlQPsiPs)qtWm1Nj5u`+#QKXD9uafebnLx@UGli5WGmVrt&HJRpm=8$#$jl*S zo>@T3CuR{Tv1TbL%gstsJ~yjLS!>pl5@)_3Ws})L$~N;gDc_nMq$HT{NZDofkh0Gl zAmxzxfs{mZjFjW%Bq=|eQ>2_WXGuvm=SjI>{vhR&xkAb{bAy!3TszE#0(bbI0l>NNEv}hj51?LdDXl|$^Ia7g@%BCtQ)lE%OY8yXN{7oP! z^-V)k8k?r1G&e0tX>Ec@dBU_MrM>A$N@vrRl

!l%A$HDSge;r1UfWNf~HfBIOk` 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

  • q5Lr>yos5~E8H-2Vvj>Y>ZQ+fWeebQdG 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

    pFPqjc$9+C3tYMhAsCAIIWx;m)Kx!@ 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

    Es{(a5A{p1(Q5 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
    X<@729$RDvo?$oa{OBeeZt%4k4-`-MibR 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
    xSc5Ks+mKyXT1fG;E$i48xu|UTB5=w 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

    ym+t{@>_tv`FOD^1rBsBUrg}beQ+Uo2%oc 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

    {Fhe|})9AGc`E+-nEV34kjq5`Ky! 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

    -*kW?Qk|*!Nvc>U7vFFmYrm?R znRduHaTAp#%yr)1QwA4Q+Dn*pD;`qv5j{`xQdKp~_664g3%^dpypiW0`trnIM8m0Aqfr=i}(&Q!^8ADjQbt;a-o!oPy;O@ph@9+U8X~9)~uE z0}uu8G;ysDy{mgXjyMq9Ab>kQ8})GWnjVi6pjU?1JkKuPxTd|(<8joX$zRzYs6%?# zaxeCH9NE3Vfk+8lY=5o0w0PAoqORtyfyI%;gT_AXti(){L~W~YHy66zo! zDyMp~v|!9_SY}$4jGB;Tp^&GQyoBB?)vOai`$~i9D#fr4fGJ=DYx-(=!Fc;7^G@kG z1%!7_)g~!6b*Tw;ttF&fcwlfb3}8iU;I1qTQ%O%~WYN`(kYLBhT4$>Z20W3@Qq~+5 z4ob06l@^wQv(IT0`}41xJ&GI4GYOc> z_UcTP0u!yY5EHKq1u^A(R383+fgAjq;z|Hk5DdMV;v(ljh5ap1cVpr$?O^rJf8?y@ zlQ}LIzb-J~ke9W9-Kt>>wLZkQ0w}(YQ|n_3Bd9lFl0;evxsIHPLbZ3@LPd51M6ihEY~`K#R~g#ELK&-TH>3E3F{kxO)Svr1bKo2G`Gzc*`Rc(k zNM-3%))1D#DY&EuYxlcg*c(1#bxKInA5Xq~!yZDBvrGqkY z9ATpUUzx0pg-`)jDc4xEGI%)UYH}v-UU5YD)XOO5H3|mVZQkYY%<%<`LtHwI92y>6EYC8 zu>itR)n^yAKD}U^Z?u+<9EQbOm}`&7SvRSe`R{YsYpZy>A6inguzTR7_P^>1;(D#D zEFH&JDRhyM0;kl(kx=_TLlim%*!5kN`Z+ZzNAhdL!}+Fo)OIroHQKXJFaDJ~mP1e%x z-PmK$Vc|JMScU9@bo$-orXG(2eh>A;hWdvv8`t4;3&#IZTsm3WfpItLQ0OaY7%+7aalCW%SBLo`D^$QqMA4=A0$bFH{^4R4b~p(4TMV@j}4C z;bcI8(Ip2(X?~%{FVLQA*6>ildhY<;!Dw5lrC5jQt>3o!!%Qk0gwh=aRp+9g{FMdcf3!dM>^RkW%3UeA zzj>U~@ixThD1kT=f+c`h+xqH)@qZQru-di`<6D-nLg}Cij+JXphGm-2)=d4iEssDM z10m6r^Mt+QIMMB!e;#Q5E)^5L2#~={zrJ9c+{C3KDAGW&rS`6-pvYvse)hbGTqX6X znL0fiHttGJ1CfV=tlUGS5&I)0qATB6*pkDf0W6csK^+7o5B~0(T*{5$kS5&aOm*mh z@J({9sa77u{tacDWdNIN1cZ|0TSGR773%_nHa0*XK- z%n%eoFd$oj3|IR7o(^(A=m34hp**4!y@)?dc$z z@w|K#LcoBAX8f~W4#I03P644EaAVe>^yfVt#DYW7gZCDpZ)#Y-=;a__+vrxv!{CUw zwS8Yt2Su4+8Wb-FGezG0y&M!HLxc%EQXfc5P=|V;r-K}DmxxO6x|7dp^=Fw zf&~;|Y8@pH^>h#)2>lKYAcsJr=$Abmgs~RvHF$&5oP(0Gp zK}5pnyHG$yxzGviU-fcO5(p0rsW?h^td_yAdpU?YGT>v2bM%ODP3Jc~9Yh|2-7swt zUS2pYzwPND&k6_}C`b~a>MZc1CPXGJspIcC_)jS@KGP6DF26^4g%tb?w3hS=w=-CM^d?bpUzQM5}hSK;q|1R!G{n2H1vp6i`i`0I7kesKl+akJtB~J#r6-a zf&|aA<0pn55z+)29V|&`xY&`7pB#Ebz=9|`v-UttmxlIJ!;eUL2JV*J@K|Mm_4Lpq zX7DyB_+V5^xDx2-nFZrNHlP|e_?)49Ay#E4?Ij{F2(gIrq4EMKo{YrtRs8G#WB4FQ zk-toANfFW756iB2Pf2ZOD`)FmjEJ5UnI-DS6s73Yyfn}t*aIWJ zMbu01#=iD4rH1yDd7Y16B%6|BO-iUOT>7HI(pgq95tIY`Mgm41l`P|xp$A0hCkRAf z64INMgnu4(Ks0lJ_@i%0u{R*4{L8Qd@_GQ$!X-Brf=d+sb=U!kYHi@M-~h-qvoQJF zumfs>Wp<8?hKGX}tN#1Y10tD<6c~UA(n%7^e+)Yy%REMbo=R(?rLZ+#ZpHYErzpu=>GF*gd zb#M_WEvM%D7Y$dmZJ-WLr)NR`Z*Er7MpK8TE0cAYJroo%mlb87gqB6(QWUy!vDNn7 zYAr6R*(VV8K|qq{6mbIF;YC5<1KT%r3dEj{I~)cIBXF8OxHvX*V?0uAsdvMw4i$I# zL*qM@2+%Q_WuTf-lR*CS!;6?)wAyIR!uNjZh3{!J>WvPVQK7zCn*}`}>e=~^Rj6%L zf+)d(S0uiTuNrbZ>hOT)(Fhe=IiQDEFAl;&qk0QEm?|32x#&Y)v$$nn0@51K38?Ql zNZEseg~eX<$OIw-{gBoxDXW#li;IR?L^E9r^mVwqRi6$dop=*kzbh(S*De~f6SVbm zX{Fiucs6O&V(B!{va8V(B2Q{!HPO?W4UM1eOi;2*(5Hhm@!jEcJ2_gmX@d_?ZQf?cZPS z7fVVef328JR07hS;38HL$7v@3~dj(m^w}`e& z;~L%o@ETrfq{)!cCSoV~wnz{@H^_-0B}3Z?+G2`B2vRtoUj%s31pQyeC=EWB9qU(yp5wr%m1d!@DjGCl*%i{4)2u&gX zIpm#lY+zOc)R=>xYST0Ga}*UDhmaSQ`GLDbR)V0O(iBM47kb?@Jd6`W$PAZLGxnVD zi@hF*N--rC)_ScWvBmb6dOeVhjYuCcZW;t|7=kbNd?0>8ywY?AiP>=Ey0zB>bwoBy zvxFp)1w71dTig~q7kC?Nwkdio8LMX$ePzpg?x#?DP$QH697}xg)t-VskvgTYW(B+@i1P+SYx<|#_Bdun>Ww+}v) zNIua#A-2ijG1}SJ7mc9vtmfx3-q$I0PGy$hK{X0hZ_WZtGzpn4)|}Frv%j(Bg@ZYQ z4hrWC>0ETBzqx3Hos;EO3b~`henH&v!E=8kW=jwn#$kvOI}LB@XWv>hCf02Wh@T-b z=!(juQjdZnxcAPLkGuoxWHjmmGU&{)FnAW`d?h|y^c^|} z0)0+do*og3eHd7WcMLj^XwXou7F(SxEZ>h@u9>7ecG=^m-u5eImpH zcm_fj=(F$kdLZ~TqS+9V20(Le?Dw{3eREReO%b32=;yP9Cg0zlVd=!tt^tSxRtnqi z;0N0^ENcobZy;`v{WYT>E*j@<2AP)Ij5`o%e4uf7FBo%Z1kz8oPU1gy{tBVMT%|oj zlmyC?%mR9d^^-+oU-5z#m9rOc7;s`WZU^yC30zv(VqP5yk#^P3*#Iie zB|*B`8Hu@8=6k@*0?aa#;AcaPCWtE!TnV8Cg@H`{e5lcAJp(%-UV$lzx`g`0P@|y( ziS&^T=nDTFU?%r19>+`Dj2r_yp`p%zRkOYx7ge$j%QPgdD3H;-G(o(2slI>FxNakp zY(1OrB8t?ckHk9;<%y}e83aPw>50*L`+O0{XVrWq|av8S! z(4rA_#tV=gMc!UQg^j@mD!4pqsAIw<#Z@QzWj_a7q-T%>Tr}o14hinVeH{#3TuAP| z9S|z}$s_$7Y$F#(U($j&O(8t9e%05(NI8I#L{pnOS&;g_?&n~KtR;)ZZ43eq8{lvH zIheiO0+2`T5mGIoK0=^>q zV_yd&R{$1;dxcsz{KG%>b1=tb0S0bh`ZLp1>ErzzjK?n}3*HWh9QXpbPxNyz@1a~M zt~Rk0l1NYXb1*y(1idKtpgb%^>!Xfoh%(e$&QUBt?<)G0gW@A#og z#z-7TOpV&I1*V?EJ;?o(;%Am#i_yNh|@y{?b^_h6ot_ zXd0Xl0}^ODFOTNZM5YK6A`8NG z`pbCFCdLv4Dj3;{nZo_~>v+#5O@(cU1e}Q)faCpbtY_ncCp2Z30#z89cJTM{o(&FV zIJaZHPTD{^^^dWhP2eaxvVg|fGbz#A{~YVtgfOjPrO;miQ4ogCxz~aDFLM8_ifXoEk0_SyiNFfQ4XVg8ACmxQ~dsInsW2oT&2h3gD6bR z0HX&y6s{cE^`+PfjnY!Sjn|N$=nrhuhdt5tMJyh}D9n@(wJ3DPma{OjnS~nxd3BA6|IbHW_))vZa6fYd~jBQ zvpV8cGqglIH-hdC`X&ydW83s-pWto6_X+1$l<9!j0ddzK8QH~#@Ch{y=Nc?v={dz8 z9ofw2onQfHg7Lyr16th2MmDpLwi^;}Bv9a>xa8N3Y-SsrDxIVNREsqDvX75!W=yA% z5&&HQKpA>{@QD$>RH)){%`v6{t%?h9{K@iPD(qPOgb>?q3_s=6^~aN2%J=6t67 zN6UfoCTj@Ae}$iM{Miw|O^CyQ^o8|kdp=q<(TyX!*lf<&#c3?nu%1Oy@um@f@)+f% zl%7-uj~bAb|GANUa)4dr&ki!?@H!*c`TXc+_FxHG0lK7+JC*6*JhGWn;Gxh(fDVZs zoFCpYx|va7f-nGp2Ge&sC12R4m-+p?-=z*c2ISIQigQ^dw=NNxlJGW1W!5IKiHSU6R_L>@=bKth(9uF z&_RgCxr=ZLLb1u+BU@5DWOJ1jp;)ZbgjVuBBbylnDK{9^QB=oKAV}^l|29Ls_A@)i z*HJK2p7)*dr^IL`N^wcYDuMXJ(cj&sDNpeJCOpZM#s!NC+t$jyH?mtQ%v3P?n7(0c z=celWqnjBG01tr=0Q0gzCO;V6%=BuUE(GV-i+?=2nK8b@a3H3Nhsm`Leloh5lL*`}(69vUYCOb$I1w7aeGDS3kV+= zJ{X_B9o@`upDE9yW{s~2ZJFPVZe~!?mIF#7g*p>B*6&9)GZkvM(@5^oNQd&NA06Gy z_-jzb6?#4DIG*{~=w>Di;-O~ghU-q*{12m>8J}7cf)x7|+^ER^HS=Ny54m;_s5>^ouS6y3nZWPp%RSHN@Z=`o#$jT911 zZrT{AXPH*^%$UvtMdK`S>1jZ<$k=C|9oKo_#-Rw7MV5d{q5Isp&Le?uEix2ojDUrc zK0mJWC}cPi2j`s-Wyu%DbRJ&p;e&w^8kJO8s9zk{c_2xRTsDbC=!g~HOJh0@R}}axca`;^T)`VCuXwrt=8U5XR66l^Y%s&gswNIu8_(aYRA=5h5zx ztiO!wJp7d6Az_7^r1*OJe;wC(WEd05yBk<&A)C?P#&jOQ62lnf6Ug@pV?FQh<2ny` zuLpWssbJRpZTOzR?2Jar%c_cXof_E01OD_%2AJciD8tr+I6g+wnXo=Vt zjOjcmJ-{>b5K=^%f(G1$<2nzdu<;-eG_H;6uDWPk=YglGhugMkx#B;o-!rcBfEAUB z$pJ0kfFR)Fah(U9eeshuF^Qstp)VQJd89~|gckK@Sw`r=Upl7qKzy7G*8{&rCPho{ zvN4?pDq5nO9EtP~LdWXzah(UKQ^j-Pr-4RV|{!~-MueMgL7Q@0RI1S@SuBZx9^B_W)k1q>78{YOq<@`FohF05Te)jmZ~4Sxk5 zgjlI7j~M%!o`uJm2&@aiCX;p1$=)qrkc(*kSPfwOqC{b0CW~c~vOjQS7?oZdgBVT= z3u8xsfbj>18jS@JId3}Xd`K&TiOpzDh18}iMXf%KTs=a2l@#r8KHi&kaDE&^u`+D)6u)nh#yl&x?XAU8wWG{mLhn(>}Z>SV;cSY@Fb z8fDJHSkJ}*@B(=ZHkS?TCP^2^dNyJx31|@XUaDZL#@CMZY=DZQ#)H7Bk1;vAQb)#n zHe?5=#hS7rP>J%6j`eKtugC6%EdlIdY^h{vtY-tvf?WaKq!3?i7M$hro(*^a*`{bT zXcHBImGPcUqFICGWa0?pyl{2AXQO==cVU(Im`o|pIyUaJiB!e{n36%jf&0jK&jwLv z1#R6lEjDwdK04O3(PVa{o5YN64E{9z*jUddi;_WP6dnn-o-FEfvSjU2J|Tby7TwW-=%?Vx^hZMKHqTCUEvK63N7 z9Cc9sy@CS{aij@w9f5CZKVs0Crk^}woYMW1C3Bd{XfZq8vE%f)s&3@Qr}BwsXLD({ zDho2(m1&arWC{BJ*B=>!fk}wQY8VnyWP+km_6dV887Gm1U@*xPM00E?1hZ~Js zsd;?yJLJ_$t=o?DVb0>Rmx@~vi@qi93Sa5xV8qC9V#qY22~^pf=&Su4Oj|NV*8&we z?O`k9f32^B;X7k|fs7(hP^^q@@8@7PT$D>_-_y$%8@#U{G2S{+)of-qbJal!0H4Lp3Nj!cNq@VagYlU{8pFkDoYkIq^p3G!2LwDZALrTi zF!_pnb>~>m23;>M3k4Ivbtbv^T}O<)I1j#k{poFbI_Bnt`zLFO#_x5mrY85ib7Ggc zTjgGcJi89=RS*|Lk&;AjFS~oFXBVp|Y!Q&-MjsMyp6H$<#=kd9qEtci`e(EBIXk1U zt4!1kM(%TmD^v6Ni$sSBwqNcL0_NMi_egKf*0|{q?b)cS!Losj@SWj4M1(OnI%2FA zE>4E}yF-l@;)RvKMG25SA=&i5H`Hj*h-^#ayBs!iA4RjHp-E0UQEH$O6(qT_JNe3nhA>C=mU#6Jv^(e&`Nn!@igo~$QlZ;(!| z;uaM09I*SkI>3$ahewQECz{|5|J5A(P=nQLyMeqKB&nqzrX0U{%jf5Y$ zp%;#>{)=9z}hYLmDT@7STLbza4Wn#JdK$Bv!V`tIfr@(gTw^ck&z z_VH+BSf=xESWqc3*kVOxQNRfJ;a)GDNh-t|fJK9t+d7X7)0?z1lwwJ2J;%h+I}Ls{ z%wWipBD2c|fnBN_r|Q>3J){IqI>gHmTmnx@?EGe^(cmnIWt_&f4#E6T|F)lJ21k1v zeQ*&B@UgYce%IH*&`2|f6o*nIg{AoSe2&3etY(M>FnKz;01HZ{AMGzX3G6UXc8H5P zbtNRV9vk@0H+6^yx=>)Ki6hGLhh86Fmo-u3-Baq;iJAPdpKIyJ<3)834SZP&(?9id zu*<`l;2wZNGD>2udc3cL6ASi5Dq2cp625+-pM%LcQluC_Fo1CZ>HB0q2Xk%xRNhdV zRuRPDr}{ZKWg}EB&YVDuNqF_sV~w@26cuq34D?vJu>^W%tY>4>0z{J&6KqO_o^L)o z*0XU!I9;BGMI!DpzW3Z%&jxum@-o+iWrOZ>5IjHDv+;pJSP4;d0vuZV&I@Bb8^SPw zh+z>=4KeZk7sq-w+RcE7r3jJ(x?xd#X}E0?y(5%r=~qz%!d&R(p+?gfD97kz;VMoQ z*pFWsYBZ922``9Kco5t;{_}97!6*dELi`B(AEn2?3^khLTIe{V;v5jn;so^9p+*Cn z3X&PcEw&sB^#9+68jWNKZVB#U0A@0V{`*j)aXVei8kO=xO+8HgW2n*WSkVb_1j24g z%=pitMx)mNVltp|4xrRe{Bw^EgS3lMU}?Dg5b_~TZd>OKH5y5Kj5M*LOAv^?&AW#h zjbt!HMmvq6r%3hU{GmoeN6^W{p_Ga^x=H>8Lybmz0LzOMl`V96gUGt@sPR9G3~Bc8 z^qitztt6K|Q_twRJdHk6O`jzl<8@GAOkqF9^4KR}itI#Rbkumute!e3nOItzotadJ zTdn1yDw9ny;>kLmKPzu4xBiyAtDz^gniV`|{x{VSsBsphR_Y4K&vxH))cCK~pZ7EL zuKC(zdMf?#l!S3@bfQx(q6I)sPCg4RK5G2;;tY?&jnZ&d1u~L)p9tMjDWgOP(13u|myY#paN6K`B;ZEKE3_Q{vZKbn;&K+94KDr+={Y!qR-Rsbtz`8{ za_kK(YMYcnx)Kh2YRk$lKRRf^IYVD8@@+I@s15~=``)8{w61Kb@Ko{e0#>wg0{e=7 z4hH?qp31}_^*fLb@9XDasirwpa?Lo>X#42*_j53YYl1|T&M6PKZ(iBY!J;Mv&NqQW zmXQo6AL!>`P12fJc%RWJ1X^i*aH!SE@_`4?>Jpt=@}lfRLyZQ?(oHq6Wz;u7ig+JB zYMfG_U@GsJtxwZlo1cnh)jBQzx?V6`U$EBJ4)~Y26e!F|6IaKnbJf7lCp!Y zAChP{yn3k5NU0w8lN7j6<|av)UNh8a7WdE*sU;FXY1k|bHyY;AbnzXarKr!D?&84L z4DUuBZv=v{H)c6bu03javGi4U>}YVUU7z8qrHwk<+sXWwv5Ft6c-_&(@R2LbKV-Zz)L;^{fVxJPgc}eitHTUN6DR}J zu6W34)cV=6VFshjM-&i?zYEcs3O_Q;U}z^{fk;$Ke86b>qeBe_4+F0RVEj~$lOXum zFoUHc%o30gutg&BYm@Yy;2M8$6*?x^b4S6yNWf z&t5mL8mT<5lX~i8oj;a)dEBNoeVS^BuRJIp7#$W(7&G|9@I$gT>qMjo!CdjiCZ8OB zNbHR*3ZdYTxUnb6`Sgs0?vU)T9PI=Y{QVK*!nJ@F5D9%;@eLRKV+CWSg5Ar z91OzI&OSZ-kVFbO2^l*QC?Q$=nc;^NsdLKrY{;|)9W(muHVg?81uZxQZWZNlC}jSSOIEM!N-y*7-^v@zH$_Nz0AoF&_+Ewrj(0pc;+YHD04C&TTAdOfCGS9VW9ENQYVWcjs?Wv z34M1m*Kd_NnYMwXWJJM;%R*WEcA1j}>~!$H;B5==-*xXOb+RN4ApgfPPa@%IaA%p5 zk;tbJ=^XtSWr2;ktJKL<5ZTl@$!is&Q|{emPDU#Sp;GF7LiJ1?eNU;A*;-i%>_86y z9hiZ8OPvfiaob5X>qiR2!TnCDlVN>_<1@e&tR2t_`);X|MWQ22Mn-f%;n@0Ksgr3E zXo_OAOcAG6(f7-o3>u<^7`9Z0ZsaRa2iBfsbU@ZNx%*il0%MfoPB*1ee zR>61=NCofBNhGhd?V7rD00VbjV`Lg})hK2saAoV?jirT}qkxw*w3T zkrH&T2dIWpZDjwh{~_S&V(SQRSA4W-V*Gx9AuPzqV5=NFU8Fwu=m0~YM2pTiRAlUT z=n_6Qzz{6CfZ8#;mmYm!{$YS2G846PtWvnIcppZ8?0*Q)_Az`#i3iCAr1qje4KRcg z;;VpA40JM5miX}jhQLRNJApYFTu9}GPYf^w-FrV_5kXiJ>PGZr|3koQ&fJh|$(xEI zTK3ccL!_Ze+?t|v?s7if)BO(-kbVU*pfei`If@a_^gl!xuye&-Fh907lP`sWrp8psJ#t?|%pkR56-ltF!3HrndXS07Jw;g%jG!fJ*?~ zr7!kB1dup35Ckf+kn}(BUK(HsnwhXWTsl&|t0fr#njl+Dskrtoz$^b(oHgyu4 zIF?I_o93Sf7$UQ6kJ(eC7<}MGe;H&5)OeI~rO<#gUhvochv0M2QKGE?v>1YSLlCPcXwKS+m_Z?MbN&EB zq|}OO``c;k;Aa|Muw?9RkNDQ{csY1Pq&T}F@rW1&&86|oKr$+GE*x|i1h9Mv(4ot=w^A5kL>0&fq+oP>2ZyJX4uUpWA% zi8#xz{HbbY4Wu*Is7;@>W5@pd>q+f@+En9wvxsu8p(eD)f|q* z9k1j~RUz;mX80HyZz9kudhoQXyi5}r0p-gsUotKmOv)-`*kP2c<{g{!;oSgbf#ePR z1ZZl>dzTEoNm3|ERz>PpnXb>(GP%r!U~Bi^wq0N*!bAu9ZY+pU;+Vv{V#(MwaX?^P z+5Fr*n6OGggUv(%cJK7*wAHPNoua&ufV8Pdo1IbOI0D5H@pK0QMo-_jWW2SB56kru z^4F{AeedHlmuJYdMSko8ZPQRKq7Nz*p93A?t!s}Q;zx9G^mWGS_FaKFy0-xRhP9*$SDkb5jVODRc!{qcE{)5XzDn<8Bcdn5^X zPN2K$YnKL97PS0rS&z{~!w1+V@kKf|4znZu$4z*GLmgHKTEJrTReZGnAwU~~mP3~Y zmMHR;{!;%#K%R50SlL*~fu4wx<^G32P!kgeL?nUnE2yd~gGFv=Dxx@!4y8#a3PQu` zV8c+LGSPp=S%N1f3#?;<4TGs3ay@q9J0u#=A3w4*1jHFtu|%o@K&DX<@q&*ol?VVs zh0_agkf7>ELBfnbR_0`$xa~O@o49bZ@B+H7%*oIaG0`YtMBxXy&~>PL7aj+KU#wv`B`JBF%=DAn9H8Ua zj4n-(0PclCkpH$MhA>E{><=0A`b#m81M8DnhW{*XP1os=#YD=O?T6iIv~7~ z7H~bo_9Mc=$h9>1l+3#A|o#kQf?a6O}VKsxep=*buDG zF4l5haFcwbDh3VpJm7|lg02lBfebRsfrqp{J5`5^z7pJ#3O~$>p~F;VcAlt|)VT^T z0(BpG^#K9d%KjYt#vwI3Rf$ouIZKmjlZnC2WMn)qW+iiwtomU6Z0$4?Yx;Lm0*C%Z zNSTJg=ldVRLdz1|6P(1z0pD)l-2V`6;?u5-&>n#qfOp0%0}O#^4|-u*G)OE8+F$5@ z2x@955kiQQ5H-{KivtXiCNK!`%%Qj-qB39Ve~2IzUlcoxDdo`oa=+aF5TWOZP;3nQ z3Vl{9xpj~s67p`82H-U+Koqz2KLh|jVCq&(jm;Gi=&$rYL>wWLLfM#Zj|qAt{c8V1 zpz?;K8aD5|^gzI)uk}9!Fe9ou$ZbT3pP5c{`;zf*#oJzB*>{6zpEy8BTd-Ro^04{C z7(prk0dDi_8-kzB5#&2|NHL@+%vBLOb2WB{0CX%|hwN`G8UNm0&uUhyh7?Rrm4&Bu z7IdXxOpz6VIKXe!`DTBI^YCH0B0|A2#5YHOYsq-iCSqKz>Gw^~%+IZFz?+!v5SylP zf|mh~r(g!uw}*-8*c${227b>3T44rv3^N!-COX7IFAv^|0lF|Kr^~{Pq~2 zz!cLe0trcQlqUD^)OKpC<)=GMafy0f?X3CwJe$dBdw0qMcg|d;AYfEevLU*Wp^YpI znMi!^@Mo6Nd1B8MgLSgrB>v9uLxSvpRfqv!LJOIC?RS@2zE$kBEdhi1+1k5uyC^gs z&j!jdTZOk$MeLf^AZ`ls*hQK9y`i2G7s4&PAh1ug99{MOCHU$cf_6orul0&`zTrSS z{k&eIAYf;~5BfQnQWg8Y;{Xzhi7dSz4u4U>%0$$UP+8T~)u0M5B%idBOAu1! ztrGR{-bf`B;WZGqKOJnjw;~fOYAULLM0`v8KO1Zq5Wn0}+IwK=2$~!NkRvt z7$K=Z%>Tt;!%#}dl#T;jNU50z>3xF@lK|F$oxu7;*%r{q{eukynT*ZQXWvOvm*D1s zVP0K;D~X3zfs6kD0y)WpynQXX669%FB4LuVmhWr(Ud>jhH1o{BvBRdr)AV5h7Mb2d z!#~&5<;av#TnBjox+nbQ@I%rcMuilLp$rM5=i%XpBqY&*bAdJ^y9*!h5pF?yXHaBZ zYtz$m;m%Zt^4x1*@gr{^y{%a_r7LIg28uunO83LAtDWdKJQtl-dq@(K*FvQAB@}WR6aPPY9X( zcFB0%hL%s>01}v*)z1t*6k?!>r3CK8>g$;1vqKCOaw<3) z6P3g~`POsv+&WvGbBAZ7CWL|t&}CMDwQtU7{f5<9+Vf|#z;rgLNs18&AmYmq<;S() zc^0}>J*%E&)UbB!c!MlPG|+PG5<;k13S}})Rb*n3^}wcx2VR@e3roiTC{pTz7!I=< z-F75Q@~>}_NSrlKliyPP0-jJMwh?z!$bG;N@X~&<_W@L{@|;o21NuWrPLOGydP$;Z zsUmZhVrjsaLQ2O5XBxUMD|&U9K#(cHJFVZZy;b#}xSqU-5X4UB;kpZ}^lJ4@i3 z6g%+B%lQcVF|LCqX7hD%>n zXD3otVtEh!fyPZ{UiRubyTDYixB~K87wvxc@>kW_#Tag3DIg3S9=ptc@2l$U#H)=O zl@}*OY&axe@#;D|ib!+`>6-$9r+fRpSJl~RKLk^c7#5&l1c0OWzq-y25(v3(h^?NB z7O8*btLp6F`2~c|l(xVVk$8UK)pd5*1K^*Et~T^=H&Gv4Hl{Y9_nTQd@QwO>u9CKf zN2ckE(lyZSsa?9N4%X_8Q-F218BKP9LE%M!Iwa2E;B|lqm>*g;4s@*wOxA$n3rC~* zO+^sUB=yCwWzsx5Ig9h6hETQeU7*_!!o?CjvgpIhhF|3LT_m=tD$G#NEv)${SDQXQ z3A9kS2##~ra?jNO)K8h3=B1`u1xo-MAq*j}UN*wnIsRp?iXt3en^n=g9`SmO<{XKY zFt$0?BZ!C*8AY#(;-VQ`vkbT{ix+xSFcb*r*P_22YYC4QSKEzr5|h+h3b2 z#lP*qzrW_Rw{x5F#EyUCR*5lfj5<8k+l>BYytHhbG0};?k~c$y-+4^+K|Pr_4^DW) zpjVexVz z;pRIK(7Z$+>*XLDd_Cj<9Ke9*kvD&&mxDC6yntbRTMqNm=%c+q)x{f*{{hOxl-v?z z1%U8Pb?d6pXh`N z@Kzw}ymzNO?w$YAw9gaS^PPp0UVWP9D93G3<;+_@G4NXK>(B*&iD-M?Czp-44Lbon zJBAndVO7#_-mV0|f#uVHy?)s^Ys2t4zGMTqr037lHWh^W6oD=F6DYg5GTyLkyrbJx z$3s~LnT?wPQ9RTxibGH)%}*^G@7mrR=*v+dj;Zi06 z^+$^M;X-qlc!6VF~yefm(dFuN?$3EM0{#(Ab|)?7Xp`gJB(@EdkwJp|ysapMGRBy&Ja|^7ia&R z772Zniw_}oj`0AnZ$XMN6w9>jM96VKq(MYG{qksnfDkv91piU`nGnOATSqc0YY(+^ z?Es8-FlKUZ8_BGIQrM@FrU$dl71m!F$*ed4(xi8AoysgeYy8!b%t~CBu%jW{gRw%A zMqeArtkBshCSl1V-XfN5-oCsgrxjEoDoMOLsN1voMql6hkPPW|tPC-ZgGEBb{EcPf z4b5;l$71S6BNy48o`c>~Z@eC6!}{ykB>|(JjuO5YS-2nv1M8de61RX^&B4y7Z?uUn z1}Y4!Jy@vLezm6gbt7ialhTmK|<5^Y56B0Ikgj~ zcPtz7LG?K;wFXHS_)*jYL>*y2=a>tQt$Ezj)UHUDC%bu-jx?-0G}8PeMjTn+*>AM% zAuXGwDCUM>C4I-etM>tlBou{HK)XB$o`9ed_wHrG?lf(gtxC83P$h?nR{*ec-lVOz z?GS{ca)P|Ld(X1bd=$1s1;{gkuY`ax2?2=xY|mEr_I}z0C;*qw2vW8ZMibzY=sU~C ze;sG`!cExBcLO6yK3;2}pZ|mr^O8_AUgr-RJAVKwmZ5=(+ykDk?c_t6E_N*T+8}FQuoqVod zpCkk*9D^#gsTqKCSovTdwCnK1KHjsv{UzoCQ>j!b!0{}i+<-^6asfV3@s8skjbu`4 z*W~e-Oc8avVe;dVOiHl{153%!T}lJlPew5*1ly2UhkXX!NdSUB9mS;7^k8MN7s52d z?K}C|C?<7a*?KgIBXL8(_wwf>nH0s4kXkIbYuwY6`o$l+p^;2#Avgz03WW@KSdsb5kxWVrIZ(t8a5j;-eyMN$Y7~>QhnqU1!5szYz1hyMM=~iSJ|ATdjFmGoKJ}Yr4>=A0AQ1IJwr(@TK2m|vP7E27o?01q@c99_yhr?ZUvadrr-CaMlf39(| z=Fe(sl6WUCjk#}8>bZXy$*d?!U_eJ71!TUU75_MrSz+;k zQp?!ZP||hn^iLz16)kGIQ4tV*%SJvhd3+?Z0-J%12jJ2Z-dK=5v1}YFURNY1sujc% zoAnKOVJ9S==>nc^+Hlj$u538!P(y65-@<<<{!@U*2WwPGDtQH>idUg4>O`QAktzzk zCzp-51Eg@AYM>NpI#C7CjEa6~t}VD{`XF=zQK2^#r zlv%(bIU)34Sdx+dbSbmomO~|$U;tAT>=UwQ%9%x6pW}e#MVl!eEYFrQi-S*@>tdz> zUWBqr@?0si_+WHsV~hEs6@qbkzLZ%M`BWm#bqHo5=kB~v$}E^D!z#i;(#0DAC59Kv znT1L;G%uRAU|*n-zEsLAfVw;=IwISEahDgrylm`l5gO=@K+mLXf`$PVJSr#iyvT2q zFFD3$21(LcfIdx@vUP13xh`aAG2V_4CC9Pj&s!e?_Z4|$prg>* z(TVl`vTQh;f{^Nsik=j~ohkc97H_A%IcF zM!B3ScoO`LuH{D9O_N_#D;TY5y-?WXU&Y4J_D+S^f{S1JQ|LpZZs*Etokm*Fb62ao| z+?5_@L!kfwTMaImVuym0KS%7jhZ^4IC35?u{jg`) zVe~uspe}l!JbBXIM&iL#ZN+D&D3wv|0{T+f(4wT7SPsx>G!Ff)L}0 z^LaxedLTZYijdQ+i&sj`95XU0nuI1F2jwW=zGTIycGsC+Z=Q7`&5}Y(4@Nm3U?0VC zF}KaT-|`maxVPefD%TdR3MBL}Gr_AYxpc)yTU@>hx)`;CIig5{P$6Ee^+YDPViFW; zVoym7MX;#ZNnwT@jMULC(U}uaQ;v9Z3D~UcvXbV(gc8k7+IESnU@4oI_qv#cxlWiv z=_N{m)F$uk^}s-^r&2!^!W|ug?229wL|cVt+!SGC)PExLeJeffZiEOv66fGKJ-kLD z_5NPx6IhcNF=oh{u!wnA_IjW!@u=FfKOj@A?c@V1n}blh@26;w0O8?(B5wy6=z}YL z?5Bj?1YI@=TtsznuK!T4=WST&SN2!?ypYnoSm(mH9b*i4Dt9QE>r=J!tYo-M1a+@saIgP>BEn{y4SN%)az5M z1R~0wXjrLhdOi?26sois9U^9sgu%j!VQ(5XkrGz&ek%qe(x){MpXK?my~Uo60=VJ8 zpB7&d1i)hR+7)9@3voNGY6n>uXrbxGw36oBTM;*7896J5>QI5wXQQb&DFEN9g)mtN zBi3?xD?&RvvSJVyj+kzfN z6f<`M00<9CU)+g&YA%s;Y-QWgqphhRV&J)q)eG1Ws@(2JR?0w+wq^rXli_t60&G_v z5>OvqG2XQCmQ)YNjT)e`7QQ!ECTK|Agnbq{as)mlhv|rus^ZFr(+ueZDklW^AKN+_ ziW2;oL6bt#7yLkSUC)b$?4Axr<|!T~Q4oK;+?)T2(cSz{j`ZeV-|Gd>VuUEQO(Pnl zAI@VptQh~giC{2+$IRu_BGFW1jl)@jupvaalugOAlTViz z%d*K*Il*iU(i(ZN`+6xn45 zP>xD&>2+#^4bV2W#N7dQSQvky*8^#Aft^D<6^|5$I^!2tT7FD9v~aK7Uo=8^C9qeU zKZ~`zF`vxgAF3x)k1x};S>dMPkw~tP2%?aHFm%4OV(coyvhKso&Cg8gVibFQ6hye< zNT`o)47SQtUtTd@-@?_299=Wj6&6dL#jb~}U15l>A^k7_qN1~aU z3U?}mWz*2Vt(SwicrhCK00~K2xcgsOG5)P_cpj;<`7D!*x2yTJ;4eTp5XhsAAQ8I3 zar)I29 zsB^o#45=A9**CUnTw*%Z{V|jRAmT%t{N^@|i)b0ktfH_=&zEn$MRL&nVIZCrX4I6L zu4U|IQkE#b>zz`IAw9P%ws~2BMp((WS1`otEPyqiyiF(DUHAyEKN!WkC#wTDA^)MO zu|y*5x7Z9E7s~Y=D+9{|`dYw{qN>V*2r}qS3935JxK*-~-zt>yS*3J?V3P{$q&h4# zqLcMOl(N=Ox%*24zZo|S6Q@A5cG;xvS~2!EGp%OPsc^<3XJebAg+QF3lauAUCOi zJmlBx2lJLq<>Wr+@O5`35IwVj`!Gr<84Nr{6{6~s7YlHhx# z&L%6q$(rwCt4*|&eSh=UrA3zSGz8zD8-mO2+3IzHzl{qJF78lf(OwUKAeH0p*RlIl zO@98F@&e7a3$k~VJz86uWlFFOc0y!Bz+wNe)Ti8potIKJ)i{_%B$+=dc{aja#L|4C zI6kKL<8o)iBNz7<)cW(nf&Y_IXCoXW*``QJ9iHN@{%N_hQO?CpfH0Wrr~>C_<<3UD zjnjIT zpV9s0&W4|=?35-F!YGWG50pC_(0_~&5}3~@Qfm9ba%Y2<1i}^!1THyH*dHo&Hb5#i zkTwNaQGk5&~09GC@cQzNi0jkLk;{MnL#gCLao9iVu&j&DY?wgsJ zzbbb&ADb!AUI0Hq2l~OU%bg83Q2K|UupwQ-`uR<{vx)1dLWMuY+5>x=-TFmmYOKH@VUl&@`}Bu$XM_Aj8_`9$B&Ias{jucPLI=wlO3vw#OHw%rB9VR zTR{C0>$8O3xacrGUG8k4+G42Y5ID#P0{5A6XN#b&*}jOUW2Kq|&z3uz5`$$jssQm1 z-;bUvceVrsCZTc+ztcj>`1w+2!)Fi`cw90>?=-c|7s{Ot4?SE-1A1m?Re~ z9}LQQ!*%xea%Zz8;sUEjuShEF|0s7hvAi;Y;-D8N&F6oXI~$(}3Z3UW9t7ezI(N0q znm;X^m%iHdYa|GF{h%yi0WQ?s8{CQd^8a#G#RPYDIsxPYPQv({;==pOoei^gkV$5UP)~%~_Lb$%Mo^AKp90Gcddspu zQ0{DA1_O?^q6L-@Io}VKJ6i+-AwpRm{)Y*`>OmrbP~E_b#BXuY2x zDuT%yF2`4uJe$Lt%|gkFOe*JHUG8k!gB61HC~ZuV#_XDsXNzNu_i&wsvJV)k{C{YLM^=qfS`_7iQc?T_j1SR&nR-wDbzFgoJAjX=wKVWR z3JimlfoY83Rb|QYpaWTnOYz#}rIwqKQib*P-J`r6czT@u?Po#bQPtGHvDAnYq4l z2~M*nlyLb;NR()IHoxOh697I)Hk=uFHh6zTa~_TOkF6RP_ww#Ev0t;599_g%4Tw-p z=-}*Ic&2dzmS5$7*k0crvO;VVGmJA>eetxsZq+zv1LCNOUYxFrtu-f6AokjSY?_0d z*7g^C?5VBLPV8y{&0ry}MZ!P(_^Rlm+C?n0(ivqN}Mkx0UVyNR$(ND1i=q zc}mP~bp5LF)^@5HY`3~xK6z5sO(Ayjv>+`l3Mu&?=NG*qXk0iyQvf1CWb*0JwTx_P z@%Y(Olu5lCwsmm&3RpIZcAE#I()`qR4jx%_oG9J;x$%AAeR?|wM=v?GJ@jv35o4{V zKeM_e8yss=K;}s2LT?Zl<7c-%L@VvWc?a{WkgRd_jjM*+0;Cp5)WXp;*TN8qUN#>A zvLa3%qm_-*cgVtJc{lZVT$UjLghV-1F+k1A``jvKC3RuVY_QlVe%VF-frp9(Vj5g} zu6vP25F_xb$s!g!EbBhMx&?3z38+!LTFkF8Uk}a1bKg$p6ANjSF&@vNEj9 z2v2(+h%XX%tt}sigu{q2JIvoEX8-u#yruY?9L(Q#Ehlr&nceb*`<5#u%X$Yw)FTm2 z14u*&6@O_v-y4Es-%4QTW_b6Y@$uzVA@_HzgvYs2A^AL4o0}9P>HV#5+df5C*s1h} zkfugq8x^=Lv~OKC&geP~AlAlVq^e}0#i2;pQn}8|@xQEM@d?(`gArxop%huSZNr#U zQb55#sGuqudTu(@A`@t?#Ruz zsQZ(Gh#*+vgxiSbO5~Wgm-BYBt$`fCdfBI4>xI$RW%u03V%?0{-1eY!{}8rEmIfI= zvXT2G8~w(rai7tYDU>Lvkdo*?{F7I}sayZYHci5vv)!-e{<+3$3obzW!Kd-&?VQ~s z{t)~D8!oS5hoT{me6hk8|D6A&95k_iqt?Yn>f@|1uaKC>u1Si?E?NmtIlsBu;)xaU z0A5xz1O`l#>#zy)zMK0K4jC>~Uxb1qZMt#ttyRO$KSyzKnsc`#-I_w|)r`m;3`XQ* zuYnY!_3c$Wg*dOasHZz$>UAfdaprCzHchv|%e(MZ06>ti;KM=l62*(~j#Z=5eFAo> zYg9onub;)an+2Ikx~XnKKREoinBa|F3nesK4o1EmnqK()h%r@i7w$vp!P zBr13@JFSDH0A0j;*_%&5va=LUP6)D~b(J9p=6`3^cynhkTU>0y=E=$2xBO6pXSve4 z2}R~okjgp|6!K;4?#PzOyRnFm)pu8W=DhI+A>V}!6Dkn+a(s_#(fu`VUo^Wsu;8r3 zI6!kbOt1^~_g9V6*B;nnVW{eJ)<}N6uqC0Pc`@6y6?5n5;QU})7e_uUv76vAL&pK+ z`omRYFI27CyDIf_NKiycBSV9SZ;F?qpb_(|v!ZlfeI9Lse7FP@h%vnIe>CVdM8O~K z9kfjVNi;sZANRQPNeM7AX>n0Y0%e;0WYw77VD2aEEHo+kG$-p!p=`Fh`3qSk2x}7| zsWo@RwLfkB4X-iLCC?%2X-@O2vT5(^Vtv9EDO9BAJA5EG3eNVJRll zvLIwBSYpyn(6@r)aemgvu{3GW9z@3jhNcTF=jUAN4FV`)F1TaIX`+U5a&h|#YoQ9U zR)wO|T$LMG4N4?Y$^AQjJ#cInpQ(TMKGxS`wp7NJXA{@WuDnK5u%)|9%fCShi z=n_=p5;R-__r6u*KQ~yV&A{^$OQVL0S&mf$V(6Lj?d$n=eR1ycE>Z7?Z-)FC*GZ`F z_pcgn++^&WEW00}7rD|W9F#&kAT2i+ITITC1FKuw^yM3;aGQ74=h2HxPZgEZBG1S$ z)3q>{GI{0`)AApbV0UBSvOy6g|8c)aZ=C2vJKwDkWeu11ZKBXsK;818Rb$u2X^vO< z$TdPlq?HF&l18|72r-f{Mlj)B&;8|UOLQ+c$|>&gyybI?n?_Xfw8&jH3FtkPfO8Qi zH+Xo^SDSr8n9s2|TbN0x9~pEY6J|2LG@>LR?ilW`dR!xL?|^_2S}_LA$T~T{UPb1t zc;UOoOWbRGJo*i(3T^&4xs#$>n_P7gy1*ZcO|LT zCewzV#;;fLWv(*GG9Zf&uOb|E2Pw~tjmPwVH|WDaJsL??fbc2qGC&W0za0w&Ef5&a zw95d^VN2{ix{BsOr!-0K0(YjK!NpZ-H79zVs~HZ9$iwmAQxIcsdyI8w!*ER%g_lo8c4NS*Q>%`HcTZnGQ{2(|&S02WOE128MPV%puY5 zeX8G$)xzr{pc#dLtwX?UKi%&DM0G549=b|Y=d8$jX3$5(qpw1k6H;ce9U4*3t{VHB zOD18^Ms?WrmmufMi}x}Sk!aT8(9EiUAvi9Fy#467qA=w|wo9~5YwEeJA0uEQ#00pq zSv0T-4xT@8q5;JMI3rvVx^OI!@e5ne5b%WB;3;4i`>4w$FXmczoo}@3>D7sXEUf$NxscaK7$oqmL zE3%WXZ0qPywBYKZ1&Xd5T|w{9+d4X0;OGldzCwDO1R?p$wvLW%ylKkVysabz`mftM zI^Dg%rNJSNk;q=hf7{m439Au(M-&8F7s8L$-&c*-712;0kGF+|ZNEKPBt>%7i<tA@7QZYA=>I9OXXkYA;ODAsrs7_bK>D@Cm0ykmyf0tw8iS^SU>DZ(bYYgxy)RaT)0 zgA_7k2X$lLdv~t~Qk;iO7)#?mpn`0le~j)*CK5Bb1bE@CK;;m573tmPS%pZFkj>_Q zCABz(nsD(aT9UUSIPFX?P)S0*oW?h%n~HMK1;=v52$Hsr5K)@g%{t;f!aOmOY!m(| z;^%y^C%TiLj_X}F`>hs=Ov0FF732no>4oJ^mxd`TA|EfcfeA$ZMaK-Q8PGP=p$e)o zY)ACg5I$i;6NMUnrXB1>JU2vHcu-pQdyeI$%@bUbQ@A>kE)@2f>-%7{>$0&417ej% zA^HSppi|~gEMG@T*s5J1ySxwOo=pyUyiSXsg= zq671?66Yc;z{oB}LljsiS@h*)&IJY+g*;kmc%R~E_udlcLQD-2TylG1KxK};qRhEK z@&hZ=Kz>n^Q~G@+&IQ?nVr)p@ikCdK&G(l$7wtVngelT`fld+TxU$T-sIy_>gFq5_ z0lUcuN}Nk-lyYG~Kw-gjGfmR;>N4k&q*4GDnr9<+qH9W=3+YV{Y>kgf1(JlZ zUMO=eKxA|sDL4?M;7+($>Rd>CV2edXk`At)TwCH?kR?gq*uz4!T5#k(Qs!LB@*(BG z6&8`tFg;r4TnI+flo9~1SXo(1CC&v34=i@*3DhwNVsp8~xkNe~;4gycBpc{~t&}-e zgyxr{!ll zHw=72c^PK-6QWUxbTGO~;4Pu2M4vkL|0DPoS~4+Nd5AR##pEwO4&@^q9rqQ9A_QQI>vr zm{M(!f|bC9NlO<_2iC2}j8i9Ofv7_% zDF!(Dw*Ee7d!-!RFBi=!A4FG3Q8@cbe?!f;mACQY!eq+gZd&kfyzHyTj8pn3Z;QRu zTGgFiGWs{tm4hd$obYS?jWyps7PV>zrwSkn*c?;5zP*={tN8K|?ZSw_{240E*ZaFJ zwYJAHOYrSN9oWT_17vIPjsAvezr>X8MJ3lWod9x}^1nIEV~Kz&v<(wHD?-pDN#E*W z!E;fDcL-i#$`LIk*|&SSmI&?BG@uV-ft=+9yLqTP4 z9%Aq@;uE>MerQ5Cq&bPJerQ^-a#gC#2>l1prhG7Pp8LIH##vo~)w4P1tx~Ot3HD*Z zr3nbG^>fo+mIhG%>r;xq+Le3GN-K!zs~`=i48V4P1O`Vm`2I0tfA^{KW)d+)(N&sV zAH4X7&S53IXFE$20yQSP`w#ki1>4_dX~(OK9!3DEoGtu^eGb*OV1mbj=!-?K?3$5I ze>BW{0YeOLEVg%EHfiDf_?U5?(VohX3W+UwyNke9IZhtSw>EIDb#sU_Wu$%6$s`@g zgPInfEZYTp5u<2w9icuV@d&W(C%uO#{56RUtOx*k4hiK?dp{IgM_d#v%-}%&$Fcg^ z+RM--rfS9=*dYoz*2yJ5kT(1|7r#E8=t{xiDuTanNZ?NsWf$#S7-M%KG zW!GT>yulFRv~1B#LaqWARyR%5W2McM5#-Pkp){;KHxA4{9Ai6^3Qn!QX4lrxGmXmp zbc>$>kQu}`ZCYtik=wb|ky_T+!q8Rg=u$AjbJE~tPO1=bVC zjQ^|aETjm>^AmFkh*mr;p*Y-f3?gW|lW77ndvciQR19y)9XY)OqG0Ge)k}^;Wr!vh z`IoH$sJh|P!<<11w%;VP@Q6=gw)@ZYas~i!aY#aafgTF7So+yx#@;?k8uRM~4M-PM z?nu3&Bnwm5d9Ih~=~#vimYyN>eq#IV`C%?VY~d@VREBB*E_`YF!Z3q5071iqb`~TD z!~ne)d-*t6WI%=VQr-jlZb9%;F9)Hbg{=m4SyBTejFOj2TznyGit<5%9x^VIruhm8 z$MzKJ|6}hxpCmc!eBVgk-goye*tj=>!$v6frZ=;5xH~c<%|UKwMz9ACTbt&|sY2ad zO`DO#-V-4qga8Qv63F01cTe|pH{M7f3E`2jLP!V@65e|c!rjmB$*S(Enrc;Mxt(J+ z7PXmvp3F+~JU{a_Z9HMtToz|CB?K(kd-|tyPb4QG{qd$!@SwxwQh$9EC;9&n2{JG2> zM*IVJ5meFnG*C#qzf{YpJIl5ZoRpLCT*9YPp&S0S)bXi(C6pQc43z@3XZ|+I6$sGI zAO{zWw*t=-UAZ#siV;JxMaxJ``>5I^$yF;QkfN{`s7y$e(R2`fw_jLh5Of5jCWr^X z5>vblu3i}dmy8&1l3T(WvP(aN|c1@W{HQ8hd&t#2$@a$0%>vw$d~i7GMAM;0Hb2lq7{fhfOFl- z;3iIptb3fWN1}nw|5?{FW>Aj~G7;r)K;9@S2m|)z!{0ubTne02YGtsC+~kI8&oBMv z7lHn;-xyXdde$9P4VYsOM8&{c%QAsnEP{>l~O8e@MS7W7hMmKxj+6Z$AW z?t-&5NhwBO07wDSGY1wI8^`8$W|5&#wr3#k45ENhi{>$@^`d zAhG~EjPjdTFkJ3GVLUTmCnhE#JM)Sqb(Z+PA5k6ZA$!2=5$d!kqS0v10Ug=-Ei03Q z*@qgcL(=Sc zuU|2q+xv+0Q0x;V2V@7}7%k5JneE>Qt64~iwD~nXo`=vuMZxrNBe0YNQtAzT9_pS0 z%r`Do$KlnSxeT{irc9f2dE?l!2&vUmI};CWQZIVN^k?5V^eSs3#){BBYc&K1JBi*j z{JuoP3TQ?YLxe);FihV(%Gwda-62J?5q?mB>)hK{o=mlFktI}9qUw}ASo17uLA z6!VrcYYy900DBsPE?oc6=2~HU?|zQr<)tP!Q}~(e?F)-aD5rDid=w&+^$d;?D(bdJ zUP&7>ULE>|K&3SSnQ`ujmV!oFt9C;=n_7q|fD{a1z{Xe<+0Kb-Q*{PFdFB%R!GA$; z8IF^+UU909{#c&kl4Ju;z@lAn3LB$5CJ?9;+nhYZAvhKPiBaKvaRLwiLW0#Gd~AMY6DL8QtEiVb+B15*L~>O04_$MQ){ z@LhY~r^QPf=*Ar3zxxkWqfNH-MA!hRToCPh7CConzI%elk{wrWq2zgR(c<@va{2Kg z6t@RJXTV=5guS=oW6`-j@sI`y0M!I>$v9B&TN#fSfeVlg+!Ln533}A(j`2(ziHa2* zEeDTIz^mz<m;eiHT z6Q<>8LfutnNmYr(C5mE<&vVYjzMBiwulgsbiEcJ=fiT~r+D8zF4L6lBTv{^Z3hpU& zE=YL+!40ScI3e14A1pJ7d^$zt!;i_@MT6$vGK0X8fu={e7#}!9qrwl3@^T?QM(u#| z7Z73vsp7*cZE))%Y1R(<#FE&*e(W&Ki-vOdNW+aZarX#|?lE)l?GN2M-vXl_md0@2{Cr7@{O zV+nXu9r-Rxlna5T`!+lA$5)JhYiW5F3LVGenPomTICnukEi~d8N)1{QtOb4V`4_n= z?LVt6s^@bI6L7I(AuvmU1=Uvb6XSVpQ(()$8oAO0^KN8+a_HAKqO*d5CY5Zo(EvB! zSLPm2WG6tRO(mi*eiGe3{JU6!n}#+uu2_9)lm|E`%*2Ej9ZJb2l>6y&ABJil zuNvg;$pT%^9-gP_NJd3WilFyXz~G& zKxK({$NT)y4@~Uyz)>CsWKY@Oj2{@~v>>CA1c4Jl%@mG$`h_w#480zF6KO{y6T<72 zKe*D?p6d&q6lwu_SiFp&%8{saTx4c(Z;I_NmL5nw2^l5;NJ8aItcS`D1OotbQKW9r zB}Uut;nD+H7I`JG4hn2^9@8(C9f)xa`m;IzZ48`^ zfaeAGNz(-N*RPZv2*C~IN(NGB7Z$-+%MMIoP~?jM zxL;c_u6)Y=9Z}UHT<9+|Tx(-5TT8#FH}&$S`gZH*7n)?G{PnWlEsie4mo7;Olg*+F z*;lKTqgL@a@7q_absSsdT6*|c9sk;UoH}h>0#uY|=*nh6;ym_0;6>1z>nIl?1sNf! zr6Ns5Bvw7XV$AFz-gvGedT69a>dSLW2sjo(UF9N6u6--v5_$}PC$4#l8F#L}KH=k0 zyzz6XgVV~z?J51n3T%%0LURtxj?lh}PR7}MC(VfcM_(YZ3q1%hE7>yfG3Bn>Vgvjv z%O<)`qKeNdO~;#h{Wn((TcYTtW>cJpq-);#R!~mjE+Ekr8p8mTKy0Ef2ni(m)(S>0 z9f6vDj=O|zp2WUpN52_M8T$77pN2Bd-%Ixd*BO59ZP7!pgsc$dvCs@qy#KcJ0(y@v z=RLIU5Wr&*uoEFO*aEKgov|Mwmp%sF9M8iiDa)Pju2e9i(dY%>`1t)&vBX3cwbn5C zUiB$lYNaT)QhEpWpuFJw)u*5^#;S|^37b4^t>6dMrywoCP%8(&M~0{D=!Yu?^n+b( z_&vj(Lwdax2!@so#y9HCVoViTcoN8 zajRHpjQLL|enhGfpk`4Pp|Ks=f%@4H&z%<|AO~rSHYvb@{O8rDh=hko*9kRqTDmIw z#om=Ry&_&Pf=V!*RIsOsu682c==^em$D#{Ll$avr>3|iA<6lkiSPl-TDXNh~`ymqc z{;yZMjVWl+>|t_Nly(YjyE?8QROMK*Y4YRoYyW1rX+S*C+{DumWq$nq+~4+0Q_>~_ z#FVMXMlkoI9T}ub>`o7XVs`qI*T=g%|hSez0Q6koX;bB$c9-k-1k;eyuBZ0B_|hL-@62QG+Y~Joa=ZS|SxcA8oQQVd`YNp`2X%Vidt$|iTXi1bJM|idXDz+tZb{aE z(WUi{c%OH(Taxusbp>@Ejr#$F4E_iUlQcKM>ezpp#6ghNMDWmJDWL~z#^#^7I^A1S zD|xA6RAd9+^Wm=nOQdO?{$<5DAPsM^F94geh^tm21+bRY-1&v$Tn4)^jTe_{y50uI z5aD#z$dJ2+5rF^K72}-tB*pFPoC;YtBxbLlRFf`*6A$7`S04oyWsyr8T@rzc6T34y4Xrm63da9zEaLwxIPbD3ROo&m` z2Y`h7{)>A~t>hw$!&;J|lpf_a@==*{?P|Lz&~G^rac0S_=NB5sHK<5_1dc(9L5&-e zA^ApD6a{G|7rzSls4#%Cm#iAkExAhdRu^bSFY&4oo&rJA-^l@dAI}-2D6y)bHI*kX zE%gNIq87FB*s{Ql1TU-f&`Y`zneaT6IGzOAb*n?Z!U*Sx)dsU5P>tUD^{XTAc%|Gc!)zh zRt2cN&g($S7hqG)8i&&4jjP55y%TjgfbislNJ4NOG({~HxSU$7>073;Om(#M#8y~b z!?3)I%$s=2y1^Ox@8%%r@(zJ*YA*A>o{fXB13goQ%haTO_-G@oR>PIS>Qkr@pH81ZdvVb32_#dYe2zv=j!k3 z3i}D!8!}d69VBAZt*gd=D;A`}e243f$u$S=q&NE@Uv7qXhx#8 zV`EA7`c>n?{fBlhq13Ll^QcZ5c1lZayIW}vbDy+^Lh+|{2?WR>V|d5Z@m2bUk!Os> zXBayK*vv7>Vfsd9Z0mm)&sEzbT;GLdc?kCHJ200W#k6(*!R00E4E|$79&BqbWT0GF zzOjEra*MF%O{;AhK)>cKaXNgx#U-g$=z3lEt7r0P0{^EolR(@Fqc^XXDfyAgP|Cu9hB&4h4q1P#2)J`LPqNl^>Y{i?#hA7JdiiuoI<65>&E8fRW}>(Zf^g zrAJZ%0j5X@9K`SeqhzD>Nby-A>$Xsx590o#yRTpC zanuXh5y2I(y)0oNy~v}i{|(o);uo?2ut_PHXY|ooij}vuYCN<5!_oPk=y$jMn8 zJT{0N0~sqmFzOVT_0h_W-!_3`C{u422|Y!`pnT`;JHe=4|C0jk%$~3J#q%lW3X29` zQ;7rW1hB~c-hx z#iiPw2sXohceT-kC)fy~p3de49PmArM#F+*d_)2ek-*yVdn=7jkcJ{rLgb8l#v}5+ zYNHb%7l1Epq$jD=C3jRBjiV_jL2QZ%7ZSincdkx=TG0}@@zHsKAcb|E^rvj|{S!Qv zN<^@P=K#MdpJ4I>tHu>OMS&t5+9_MXmY-=JD=bM13^Q-SS;cRq#d}cWnisp?^c@e# zmIo#8_|C7e3W)*$o;Jo~e09USrg?BS02@Ls@NdFyCl2pkHMaUMuR9I$-Bftk6}Hb* z2l47wthDL^@y=u&KSBv=Cuwu`hD{=a z1l*Oxo%JXE;4qVLyWr6xE@C=dIxo6+m`RXq7-kZH+q4j*?95Y=y4EL$nFMDLb}F=aQ$%sG zBe`#wNd&j2=#=|k7rtBEGQCzezswdrOJO`Jky3G=PvXD%Er7EN%)2FOdAo} zz#4%U09c(L9$ZDCxm_CFMdh$9N#S`3^4JXHA*E z{c5(ZDqlKK-cORn^;6%uxVgw{h5+!qq*+W=Ts*EW%z*@YUW_pZ6gnrDfE}s`K+$H%X2Y|;bD;!a~aAbY=E2E^_iZ+RlqA+4J zNT9mzR|gkLSuBL4g%%@dB_xd>9Xv!BbK(>T_dMdQO}|!V2w+x4rNb^~(NPi7`aV zs0dKzKo&pst?cKklTnGnWSZs83BWDlDQ^CvQa!}eo<>B70@P4e?NGIAVKx$L`xlw5Zp`uKqvmmLWYjET6dEXtQ<^Y{AIC2h$yiA zaXeuxt*}s3-KcNIbgz;p#xpI@cx)DdZR1fzo|XM+JkzoZh^waw5*%$B-~ICh%Y807 z%c9|nm^3(o-1^G|j|H0u%^yU%A_O!-*Zu1#aUX9txd}iM5Tr=2*?$|Qd6?L63c>qg znqdQEajsl5{<(NY`+;scVBEA=iey7t0mt|4J7?~=7WyIRt%Ju3T^nLu>VnA*-K*9N zyCWZJ2?B|_rU2J;ADK}sf_Y2`jwuZN|Hyjbn&F;0YDY$BXIw~J!n1;^23?3K$gf^A z{?pfutpXlnqek^GmZW+ z@`7YxtQ+Br*V>@BGA$QM;tUKzk9G@&J?6E;oB}3?=>LS!1w6-2qxdD2P9YF|S->9R zM~Znz{?baL*=^GhGX{~7fomJQY;DM8lm0GSU62!vU?~*k*R2^B&yo?ppw_&+A<1`R zE}zjizq!1GD;e^xFo?(=FVa7r+4|`+q`;)NuGOhjLcYT-4$v?~xWK!9%{W&}tnKBB zeNmb&&o@+d4n46eG)-mSJ|ygUrrFWaxQ4luknd5YdHGr!(>8cpdJ{jDliw>!mdn^K1|Ej^#JMb?M+ye;no;D;BB zdW0}?ffT)R&A6x+qtqj$)WYy;wU^d%AkuKP8F4P-y0M=+fxyBjRN}vrysFX%w1MmJ zRyg3S!Q|P_jg>}I8by@PgBXmj2m)_6RT_<`K_0u92?($SR?4d@jmB~Ympt;v%$INc z*HjxVXjaicpp8p$*T1>aXeb|G;uIK8a=k1yZyC?CYN4wTkv?S^0=69ER;KL%XTkEn zRDjtXf?&^}M!Wm;={2!CUZQ1-2s7mr!B{7;d)u1vi~$c_TfGYmgNDd;!1d|@5Jrz` z0!ptm*~9R)YsR78>AG-sA`gC8<@!ZOr~rf_22)F|ZHA&6bODsi1*ji*uUj(?KIvrI zMDa)r?2A$&W?i*KzL$s;;WM-rXoH}6f^uX0`eD~eXc_1fI`pb=NU|;W4Qqo@b<|`q zw@h4gOwi;}ZyY>?t^gEx++-w>MjZQ1gNLxl3SyAGP!zi}_2$7tI4{;e6T@g?7Nj$8 zFEIqb5@lBPoJ$lRFAsOyCz*B+6auA;3l@de3m}UbJ1~xO0Jo44SLr__#u%tqs zJQ{bAvo`DvHo*hqtA`v5N;Y9;ofvkajC~Jk8!4YpoD=!$!^9R206-*pu_&OVmuCJ( zrIm=$HoDE&s=FeDpiWjAjie1AHP`^)+V~*;W~I?M6OxZ7A_4-WPT5=4MhhYX32{2P zoIs?uD~*m6dnhn}-czuzdHU8$qeXF%%6x7CoCT?By{*z{NEFml+4oW(G>;pK zQR7MSD2v}+X*3LS##%O$085VS_f#4!5LU{sKpa>jNmAcSK2)S;eT!^GtARZu0xf2z zE@fe`or&+gPj17W19vxB9pVWxPd7SIzFiR9MS`TF81L3;%CdowE&|xXv)sF5*agM{ zfX_!p>%37RHG3I)+<6wD5Zh){t;tV z(80LJDbiom+mLqrK$XY6FyI2`7_(uCEnLVlm)yk#X+_a{qflzl(0Y+5ytuSkEt>Mw zov1|Ky=FXnd9I;9{hVO0kuuUOe~4Yp=B3N?bgI)Bgg$b*GazhdX0AYLGi}b!H}SFP zon0aF#Vbv%mhKjmi+k3Le;qhGb8*C^fov4G@&QLcjv0O>Buxwa5CFmtj(Bfi?_z_2 z#1@d&)byi!*No@ypH~Yh&jwBaTo(=Tytw$y+4?creT)YsRy@;%&O}U{&4}qgI-ZpPbR3;J>a9NI1AHw%#uL>8lxv}J zbwJN*H4mqsT>OYqmufea-MiJFBB9VG16fGm1+_GY?2oSrKTlfi8gj?yUuuY)#S!)V zL-ca@ALz1iE%5~CWD|s$kBYC?QQ_t+7K?26zCa?vEvHJ#jNBXbz?$(- z{UQEs1iz?4fa33<`%qg)!wLWlJqPv{^9#ewAx0l$Cg}dbgGj6ghnNGaW}hw|!CQp? zhvj~8h&d#|BzUvQ?BEXu=0iiw!IF+cvFH<7IJac!!$Zu$+d;QL$jlU5=tX^Lh&f1@ ziDc=((mHhERX;Ms9K1Os$wcS@4;--ZFAp&XIReaCMA9i5;m+=SWtcf!RKoD1fr^bN zXpnq$m^oN*T*R?yw|iU;_2>|DkhF`bV+ON~7E2g^ZJ0Ue0)p+ppopgfxa4C)%)v*Y zu7bR^qI8WF!Wc5a+aes0NA5SPP5@BPM+yu|y&xz;^IKIXKrJ2e6$u1!Bz5)V+f^rkmx%nM zxDe2QM#bPeRVR>gRHDl5fpwp$PfF^Jmaj6TQH#1M@bAh9u!Ih zl0n<OWDbL(cZfy`i6W*A#CyM+%wZf58F;rQn9`$$gL~#= z4kNG&^syA=Q7}NJ`on|{17OUjo8`EGDsTz;<75sKNLT^LldKRdx8*-EnZux(1>lEg z4LCOH(BYpZbC?t{9$NwArY?b&VDjh59EP=#hz<;Y!Xid&`j-hEh5{d@dXtwFn6K^q zbNK+lZ?+`TJ6)5S_Pri6Ta31Krw5c(WDLN+T&wZg02%cPu zb+~H)e)-#)aY3>6v9s=KgmkH?vMCJuG8ig;aK7%c_BCxE&`60r;W{4R`GdPqbZ8~HVYz!nTAy%-jq}xXBg3MU;8N@LWx-XDWl*+8&b(Lpek*1sn zY0^h-48xDtSDyjaii+V~6Mki(W4)pJ3`jAH1vUj^QlBJ#WAz#M7?F^p*g2`jCvQ4o zWId&sVjE_gM2$q6!RP3&bV|?c$OGGd)c$&~M|_AS6v~#cMUxcHPV(jx#_ylfRmj*w z&0P}F#@sUP+Ln?BI-TlxLy?tg4V5A}mA}wRs`T?OF8;lv?9rCNle*CUr#-d1e6pj& zviE_2dFpfMIl>t|GqnmaMJbD5rS%O!aX_gAVn=k13u8+8@r-t|T`;;XnwPKppSrw& zRMRC3Gf&@R@;+K8Z3R*7j38yMUfc#ZILEiiW=9kOi{$nb#-ns$SR}#WX!KwNhdT?}_gK?}T4~ zns>5VW(e3>lhhMT4W5VA+TbBnmEpPNpdE0-p|f>j@DP?_bbnJK6`F*YYOkMYW2;Uf zdQ+pD%V2P87!qqRUQsEsQPK!D-Hj8*vwChy>v@`QX)vP}vCzc3BOY`|z@1n?zL7!9 zxLPVYc>)MY-^Z;}K5UQTAW#M*#({qU%|Wm)-5g~y2$&GR+00=ng3O7wMwtxFSDdmj zvk~J4NR!*6OooaTF0LqQP&=Ug6~A?q$)qv|#gVKAf&`VKw~aCxP&w?UgzFy@!zt_S zB_A+)9WVzV=!?(29S83?F=CQS7mU0ByFpsv^p2xx6V3&0$EY_g0=D67)Sc(RLFDD&~i( zP5?O!jy@4WB8hNdeYolbD4fu%L^TVWZILScNYx1lOHzCRY}CQQ;z!;`t4@HB3oD6- z>J~g4co83~Jb?=F&IA{lQ*1}g;^QYuI13Z?);w(CBPWp*aHW3O+s1XW31}7A( znLl}=0w%uzDU1IJHbxxqu=Ap=_`wROFOBAomA!9#dSQ3FT&1W3G(GS&lwhvd0~k~^*g^p?lN`f+ ziys>01&DFDWDkh2{zW(>bsrvOGR$vbs6vgQ6(sDOFG(cS4zNl5#?(BeZVz@F$rzG* zah!N$GKYaFZwjLgu$5G0+%He)Ft~G*l|a1V7%+>zGMU3<_$y?nSA*(BWGc75dcydx zJ$cnm#=n#79)y=bW~ByYRyJ7zWG;o~4=VGK`REDb`r#T`+V_0)P8JOZg)~2;BC*mn z^RJB>6 zX~PfFaq*-Kino`-Ar1$L$4?kHJ*B%iGrY-ESM#o`05q;6^w?OndxC1V(L~E!g!|jb z9C0F~#=DL?}uc+*L&NT>tAQDnLr0TjLvzm=!$>Mcn(1$|XUQLle0} zTDP-^ZSk9xXCT_86X)`_gR)DV;9Hevz>J=*%?C7?ia#xo@OzbKi1DBx4uWrmS`rkT?^mAz&R|Xj z0mZKnk3j1O)o0-Nxgf^z>rR}^`(fo761fX_J7G`c<&LR-RDA~aCs#TzS}W4`e_VM6 zk=QfjSt@rKsYWig^NSP4*}ZxL zEdv~EfJGApm*jo>F6IX&ll8q&D`7nE4yy=ocF?}=FUuzjkfzBs5s<*F8oF-ut1{=! z2wxEAu$?i^_5EL0P0;|rP`(ZG7+{YHa{f0}Cjj6|o7pi@EWkR{3V+Mfk&C^7c4eD` ze<}?CuJT25>L^Uu#S1Yp*4P6<)N&2$;0CbPge@=ZRNl7VoiLtL>?6dJg^y2%4_42= z2ns~H8x35p^iEXxWNCznZV6xjjyWo~S@5S5Z6C6}bZNbc*#0(``L^pH;6Dzd8oiP5n|5W0%2L8o`#70E&)>zN2G3?41YV1RTX_gF7nH_jh4(P70KyQuok$NLQs z0M&HLdN9AetJep1%pgUBp#`pqRR__4`J(l5T_&&+T6-G(T%6o}^P0hj;t&)}Q@Y!< zz;flic)i5Ffzl1BH4S}{QUUyP?Ya>bmuT?{Tz$lLvcVg2mbl3A93iVUyFA+>2_J|Bc< zcW$vz1JjE+-!>NxNp^$LrZ|q&3J11sssXTG*drjWt&A49nO`@~$y0P+AQ>SYidQly zwCmSPu3C6o#ZcfxRFGgbQ7>ONE@|y9((vt*=yg)9A!g|PMtjH2#|t7LUekYoWSNP& zteLXH6Zcrj4TB#(bi{KsGSKOw-$>!_73(9kE`un=`!5SJ%5IQ}{a5ndw)_^`PbFTq z61^+}A#KhL%KlS{4A4)4Z)j5iRj*n%9Nn+yV}mu^x9`v#x^S$!^N1Y?Od)T`gOAx? z0M`fOhSX*44R2gG&gvR=acj7qrnaDXn6!am_rn7|1Fd!+n<&g(D5>AX!uTZ9Tn0*` zw#d>t%i`KI6F_{F5h1Eu^mbzZ)x6=w4JS3`hO>q6s^SXBs~RImFTbpd$vBN_aEa1Z z$<=E{ebaKvL1BhA4>1=|fb8aV;~(_rxkMlk+M;<;9h*g|VX;=!3(#DG?3+>;j?vM# z%v;K=OyC9(??Da~r&ENa;#r2(}L8wecd>(xYHeDi(#mkqR(<{4vyV?6F~{JfEEjj z2>&Y-o)eRjIO4vnk5WWcZ($)R=IU>*$&0&;Wq?*ib@|eA*CYYYaBM~wBjqJZ+?AbJ zqHlP+qXvXLCQ&FcJ|t9}(z4Z(<5FB$;Z-MeQjx<{_FCDEiE~4hHb+V-5_9nEMA?Dh zK@hAU^Nh%(aJybFJrIjLo)9}{$%shyH%bo#{v$;iTqPrF_WsGz0~3^YRRYzTEyc?0 z&9Vb+oKH}9X88nEN5yul^gw!E7U&zr8VWin-7Yw~wJABYecnsj95 z@FSw+ZDj}2?seH3r0#?mnu^|DdY}u>S`5y`2b^NdJ4z3vXhPJd+y0*KC+{pf5Fjbl zCCXbkv-5hI?4C&%RFnXO;A2Ha?|o$lvMG?BgQ0-ZpQ9*$N9lnm6Q{ze1Z+$Z)4sFxK*UJkP@(yU zOA>^T_m>@rAODLg4O@^*>U2ppb8X0upOOug~p|mK~UZ;)GL= zJ|Fc<=)fNU->t&f);81V^xZUr|n0junQ!>uSk&NvoX{ zK{WnEIevMztN1SLt~r5<*C|ej^8~6~c!XPa^67Qs;v#m^7UXU2VezY8Ub#+ipLWR^ zNB^GrcK)$WDW4|`oNWfk&T;b3jA2d!y9lQRv}EMD57cMZ4H9bfhH&pv{HL8^3+=G0 z#o2|;-v89+T=Lwa4%|7oUGnEsXxbu62dqy@QS|*YlJ(D#QWgOI#oFGiMY5BNF744J zLR2EfR1kGc>QsbJpC5WA+XcD<)(wd)L}N|!fuUz|N&e}iVkC^l5HfII7=9*D#$bv( z5IH%4xBuYKGohx9xIA-_D&e8wesTDjd@?o(swnB3SrR`q{7g|uBnfE{;c5ghqKAi` z30{1JKnmNu59m&XUmAWU7{f4PFrQHXr^4isp=Uz$N5T5S*-4~x;^fOi&qPyzcnjH3 z`nfru^D9Ho1iG2{8+s%%=BPI~UmboXK+eGO5E%x=16lLYb>rFH_=YyvWu}4tD#d$U z7uqozrtPQghnMHYh_JU%M9PL{8J^N^fcu8&eQm6>Bkzs=hnb?wL^A6okF6Wet#a;* zYDT3?aWbQ7{ZBs(sVoVV!{SvT$9jC+2LKIe0&<3gMVt{@>g&{V`+tITiAtdUPrNJy zkR=3HPr2URRXXA;(mHwBaU`6zC{H(#^E6+eh2ttJN*?FOCc<#5>jsMp6cj(fF!3b3zuDX&+)_Kht)#X=RSUxN?`M0zA zuWX|FhdO-*y7BU2xfC_B{M#i<3Zy;sp z*!86)PH~}-&5_QR*3a4hG}-oxzBca~pg&?t=?PI^{@%LrFZ-X`+GDx(x)gLof8DJn z^Lt&;q@n{1=wjjfFU&DzW3g2vE(&{8i71!*6cDKMAk6Xob>lhRPg6IZsN*~ro6Bh0 zGBfhZoM?^K@iHy z>=RcY(1IkcCJ}-DRrVAoeNulT|~rjeoIjJg?Qg*>h6* zE~tLZ@W?jU%rx9$_ch!J-216Tp+(MWg4qJ8KZq&+mlWuGKS2=^$20SFP?Dq^XJYcB zJDMWDB`-g+4^r|?B&i~0wUKY3js2^ViyEsD6(j~_u^7hWzov}d{}lRl`SpiwUCRp( z9^eI;QNrV_V^cxn$S3(Bho&3%oAQsV6AWm;IQXYSWrjw#}f6Y2_7qhibbU}1r~dwg|v+a0ke?GXF~L zVXslC02FFKRcJxhZQpWr5jHQ?r1L56#CTM8yu=pzYQTaQ<)(?dfA5Y55TxE zkJlTn{(3>{=i*Q)?O>6pML&q%Qs`f|F}Y9*qK1utAp#mg4-CxfH%do*0bVRAJY$@z7HWT;Xo6Ii8@y)2_*Y)1<{UstDW)tn1bHK@qN99AEKvMYGtV{9ae0Yq?j=j9+#vwE zHTiP@o3rz^*~ZLFgWF6X=~2Hxqz6@S-jwua7NFtEv-orJmeHNY>Kq7~x@Cl!l#?LG z?ZtotF*CY#=$V)Vupi19;KO6e47UwE6WB(&Lo8TS;*pq2UOV(m5yfI<`G`|v$YaLN z>xP~QmriPYo&xeiyTetlA9^Nac?sMh+@iNcOsL*4^i1eRaWYVtJtXsK8ozP)nc%gE zF(zzK8Y`*wrlDubDHX$sCdZ(2MjQLh8^*b%o^iZBdwLKg*FYNZ@bz(NU=O=}gsB1_ z`H0ZM-~cK7)O^bbQ_=9o-Udm2Wc~16Tp4~U;1?{%=wcuYfwsT9I>J;TZy#Xt6!?jN zWY&hCinct_n&L?yh@_u}4 zI(iYzVSp$nho1^a0o^@3y2Ph}C1!JksY1s@M~5|7K!s+$HOf@9b(t*!hY8Wz+8%x? z(F%d#g^zuR^obk2b%d!%CSVF!C`hx~q{-WcpNbcmJqsCy0FFqIXKx>VDv44}np2e4 zrA83HV}z-oX#yEwMfMSyNxXNCFcnc6WlwZBQCLE;>0QH56(2nUP}>P{=v{eW79?bwv)-aphS_aX8UK^Puf=e&P&@kQ-en_Q zT#&`6a<8ChL)K~PgSTQsaEZ;i(;u7Qv1l*Tt3wNcJ_;Vb*~d4G*_}(SHA!hgCXFSH zvfsDw)Zb{)P#BMmrGpJM(@~DvLvRt`sYkzE8c}E{#NH=1jHNQSxTR6rM<;dnv6Fhu z9%8C>T!k$PF=(ZsHm#!glWb=FU(!B8u$m||4`sDr>ckLweT<3&0kkb4zCz#2D7sJ_f?mP< z9Va<9aP%gq`BH$-Keb_8u*VdOa6XpU!SP0=E(C21)`#@nyWZQn=hAppK8n@!ksxe- zdSf8R6EqOgh4ksrETwXgerEI<6`@2bN*c&PDKRej?1pj9j!;pT@NB0NXi-2^$?`FI z*Jq_W2Lpy;u*zZ>RB$fC&y9X=6iiXK!Y|%0)bA1U z6=X7%E){=q1MLXi#@bRAPG=>icOJ==YR$haLua zY)WfXY|Srk7|-hav8c9dtd4YF2o1O;$TeTUx7>EVI}V1RxyT)_Evk4?RDOe;^;T3-o+gqI>+2YjlB%NT!Z}4LXjnaA=1CY*$}p9T+%= zcw1{4bH_yNO5$|_(icTU;3ba^J5fYG3}O$e{$YUBY4Wwv?*UqQn1%<`ePBYvQ+;go zDItS}30opEj1iUP@bO{SPjU>jj6^yRAx2nqUmyM4Xxc+J;f9jBv0W$M7=21hfiy%$ z9weF>da?h_VLz^yQJG4kOl12Io3Oq$`nkcIWe*F{g`{nO+RL{mx&DbFKeZW;5QcTi zw7#=poLR&#J>9aW9@P#qX>-0IW`*5r9jm-psYHS=M9j+k?&wzmk{RI{peP}rTY2=o zVeb%4923$%z9f_oBNcpq^mAkH^%Xq(1jQfVobeAvpOQEq#ZZrgl_GN#=RX|kJ`m64 zwwRA_8&IzFel*l9HrRclM9?HOhEy8=c=V5Fx>znkYDYtowxk#QWb`QmA9rzt@>vxS zytKTZjy|P`=sVO4*s!6E+1Ae_G1yTy(m1{y6yJsD99=S3P>tn<08Yam(wv=dU>(Y4 zhGPZ|c9DhhA$F_m=cAtCkAgmw_MsniFG zbs(d^uH!4Rhi8E0=)ybik=apiM8*YnA-*4QsG?tuex^Y4phpJCU1FBR>Hd1d*y%Lq z%>|H`)G<;C!+_8xlInCXQ6laP;mr|d9@-N5Z$>{Qq>~a1az%~O#_z}a?dVg&*`hK^ z5aSZBC6V{L4daSapr9>TGEv=_A%yOQw@4UVpuTp|qo)i3v|5ZlB$*GlRUTPa%Ib8f zdHE@1CBGm2^SG$H18`1Y-9S-w(m!lqy3%`cJ$PCDV-KSB)I_cO?kdh4UKbwiA?c6` z{? zen&+&AQNs_MrAIs?Y|DYFQZhV<*L9m1VnY|-!_bvGDshl?d3Vqz>@I1h4vz}ci_85 zkx#)A(~c`o4y-z)B(@@I%ae^)f{L#?Ib?}|d;khZ?E8=@paf(uJUKGNCJfMG$WnkS zd?#Yzu22?*(aLwqSgl-{nh9Ixd6OC~0e(_1;KpSDHWqkpWVqqnvok zVvV#R=^IZ4az+woT|4@Dfo~9L1{Q3AUYhD9qfd#AqnHd))&U*@^Z%uzPbrnLfaV_= z6bdd*__CA6xve{2o0DCRj+!pTaTQxXk`#kbt;ci6mS<{)T2N1rkRJBQBzZ8`@= zW*EF?^eILA8J#;SA2E7vL2~m@H<@BH9=#Cas7SH`WVeidVwvP{REuEPi>yq1>&Z4m zzbCsdl6&2*s&gKYdeS(zffJF9-d1K1I>RJ6$jP8-$+~F2w#*El7o$<}M2uFe$`kxvt(DPnM}`11n}J5PTz00959FIq8W;9&R%!O4HY41(@4#Gk6spFqPqJ1lE(*yaq{5nOLX?Fo z?t8b7JR_B98_QBC9SKix9KL1b86oI%b}s4==rjk8wKDpQXskhyH&YYqI_jLOBhLuh zF2nQ;)h+br0okmLJR`9aWf#=seTd?4^iGUCqYqcxrl^6W2w`uQtdBfnAOf0blSfz@ z#I#K|MxN1;N`VEX-*ik!Pu|IqXEbpug(^Y)A0azXaGNKMi@SRiI}QKl?5y-2W}1*+ zblh})>%0Aj3&-rs=b_%qnuBGx3pDIOXJ!GIn!;_V?KqrnHJcWC;bkTwweL?*yt z7rSeEhsK7CLL8tFB4bEM(cM!#G@$*6Dl&d6G(Mx`p6MN0B4ga{VBVpSj@j@Br+8@i zgt)$0pmmYW3&MM+cW5;7AQ!Qoz(l7zk$h;1ht2`l5}CtB!86oRAD-T!6Bp%qB*G|w zNN3#r$P^DP;WM9_5XBSpx-k0Pw~*y z%}A`c)-l-BDEq_|4~=}LkQAv_qPgH$pPb^MMZtpi8WS-JUvY5X^bU3?b(hhEg;nnEr?NP*lZ%n$?dKRv}mBbO{5Gsr)Ih7G;X zOz+T^hfM?pXKNl;@mSl2dE0%r2L=^a`;ix7f9n;%JaYW<&|-l0Ku zLX;5>6<8IVTpyU;p}h!+F$*saQD~0>`wP=MG)-pufKpZAmyj1Qy^+Y2)ay&rJ2c13 zp+=*=iT6$BdXG%;&`>}So8(gC(_uUDm#24Vx|IM)Vk9h(>c-UTD^ol)Br9Ts00kUS zu95fE=^dJ8G%Q{S*~n?3x}qMP;-S$*4=e#m<+LT-_-j)n2oN5`58t*ktUF+*pJT&flSok5QD;%3N_{J0uogyLx02cr` zv5jvrWlq=s=ObKX7V*g1Z%ZHl)UwR^&ggG#Vil^e}NNaj*l=P3IStMw6o0;^qTKU-6y! z%Sxm1C5o{oP4~276fD=bv$S zC>>w)7`aY4E_HzDk}&!GUS_2rx1Rqi;w!Za;!9!3f!XyL}Rjw4YI`@xdhCt(^ zE&bE^PN8p9wKQH@F$uEs1jq3{O7?#=x-=bz()xtH@JWQ zW$+MS8HkCd;@N_oY@GbH#1I9KO2O(wXqj)--v$q%%Z8yk#79)QF!hbE+#HA|hh54J z<$}m`@fFIlxOb+>vX> zGAZR86ES;C<*}{_^A~R-i`l*`tTG&2Jh%_bmoDy65xR8#Gt6Qb8rTz~WY2jo0^O+z zx0h4r)d3)nhNbI4Pfh)6Cvp@K1_6qItP#R2fX!aAX&f8#XQ_#Wr+gqDa;kqYVr`_1 zV(X=YpFbCunH&cS#68IKBkyH{hhQYbO(A7sR}h1m>oyIiB^R1BFPA0u%;x1Sj3h>$ z&6>tgvh$K&+90ny;Mf?NUcXso-_C?@O%qho7MwA|m-EES&3ma!5E-a6=F3jH_}fo&p5^lsfW z{;fL@Yq_Mf439(!zHmNDmN5*GJ5&68X6r`{|Lu;$OcxG3S-OV}JQu^dt8n$Wg33 z4s%qf0`eb_#`f)#+dvV0L9R%o-%YynzV()gd>|aqvy2o3?Mt9zez-D`qY#Qxd2-Qs z#66bnb9K`QbzNwwE;@69Z-y|)f*@a>p;(|ThEKM>X`Ht=HT~=sOh6{ zOYp76(Us1Q9d2wI|5Ro!iG|^~Yl8tAk5sQA?Nac;!^=EbX~l6uj*CUQ9VYm)oB3w7 z(KMv!g`sE7dYAd(7TZ-@XT6UE`_UJ0f9K-H@j|;xEIx4efCCifaEMb}H2m$#Gr(~G z%R)0!+;pjxzID@>IfY|QV;WJzIW>>F2%`Nn&80<&3nXbT7mdh?7a_Y(_t7WSP>}0! zHqPI+Y5bR7>UhCxM@?P=5oG!E1{ znHPwfW4w?O!^pL-=@MD@o}bWyL1=^$xk~~O1@GE4{_2JVES~< z+_Al6eWRAPAUfEiQZ2;aMDJZiKuo^BsNN@84!InBvF50O2%Vgvt9L_-d%eDEL6 z#tWAUE&A*$xUy$FNFI;! zqMN^Ov)7xb-r%_8a%w@3IJEN}JY+4?WeXcE#x65O^#E0kJ0@}?sCdCDp!|x$HcZ6y z&WRj__)oM4P)R1+M9%yD6MVDb9ulWP&w$JtrtSwe+rDdUS15hucif!Lmy}oT*`-R& z*R;G$%k8BuSr}?{E_MP4tVHo$n}%Dw!R@K2*g^u7|F8~|ITv@%H=%7)cFo0{Dpmg7 z6S<~{n6q2C=){>0qKElCl~XGoDz-?nGpxn{1Y{qa%z0X9CrXW6u4U#W_fF&}cBJr@ zO+>=VL+C?&XmU?jhN77b6B$>X7#*qT!<)vlTLv?QfL^PrE?hH$KyB!!MhzC zi$}pHBk5%2pwSn)(45VjTrbJZk5t$|!L*2T7DO2U9&TcPbRw5p0kXyXHkSw(jgs(V z6FCZ8c?X<~7(gPgV5J|Q+zs_|4`^eAUkF0{Gz~tnX#|CHEB3RQR{jzG-`P?c4{tiD>Q+`pqK(wn!;uDnN8#WsMT^9 zsY^?ZEdOlpODu2iPSb0D(Yh+#4}&((rK6XEgDI*Y{^vH0o6*r~E->jSocqoiUT zQSjL}A-`D^3{&rc)9BQI9*CMXmg&#BqSC<8HrXF~Y{AK?d2pHp*eH2P75 z#B~KR2o-+u^f@(z-f3Pc%jI#yILv+MG&(i(dQcM~lXfD?5b?vOIr2JrO~DjPW< zQtwNr(Wzmi!{Ub~F0;OV`kWf#Ml^IpjMD}_ z=Ud-6eNGM4C~R%Gr+|k@f1+=0BDlLp{9Rz(iht~lzmIk!b5O>``IHR?Rv6GK_gmwc z7Q~GB6av|TWJjIs+vAxQJdzUkQH%^I33$$T#xyN@GXTDkph6}BW7F@BXd-yhSo5g^!yFNDBU3Uc_v zF-?mudw>IaVB*ykruL7oLng+`G)tIIQ!WLybSz<>IqxsjH#{X5U z{~A+N^z!TUrqGv4#ETY5(J=o_|G$bophGBJ&@;m-IQVVfzjEQ15@9DXE()V}cBy=l6a83gJ)aEUdvm64`g-KlJ^p6sx)zY`jm62ik!8~l&|IfHc2u=dB2Nnr}Fa1;hKNBHgs6DnX3M*6`|J?u202EQ< zLHQE7Y;eu)U;6(UWQRBiSPqf*r=V^Ab&o#-8q9^G0)n{)b=bdc8fUkfcgGcUooA}F zEib7-WuR`C0WJX7=x*4W4jcfQR5qqaJjBtJTf@x*cN+|f0}8<-{D`BghMfn?3zRG= zD6R!elnc`!VB`+Rw9?AyvSwl^S;#=q1A?FddYCyusVGthTLi&;+=K(ho*toZ{ zjDkjq&6f^251PJkoK5`MsXN4$`?4)#f3FNH`m2H)(Lg2L!d5eC7X4L$7hsLRf}SCW z%C-s6_`0g&ttbafPj3HuQ(q2El7f5n8bSoJpbie#{aWx6H*`omgnZdX=8{v zBc20wv1y|+<=ON_!Cyo-Y#IMwoA1(Lpewa~aW3S8YB-C0174tu19J)krt@E=;g2=J zLcxKmwUzYiCI$eI6w&~+Ca_}r6;nRGL}P+n$}%5UG!?#b+Q%ohLf7Hw6k3hudLW`{!nwfY1+q^G>6umPyZP8W$)F~K7Iy}BnL?k zYYFiy^EJ~xKI|o^=O7xe2hSq!<|!W^&1X~-u{%v;&o?vcmT4cKo;*Yl(np?uV#8af ze0)qoprnMFsE71gdfSwbp8)0uJOLpKtvlFxubuYs*=lnWy&}NK86>FJP5JoP&qKSy zo;9KVafU(|yB~kDm)#_&# z_w?b4EBF1Kj1(#(eEqJik~g_{KeHQ+E!9U3Y+a z5=v!M17L97zGeL9c4hSx?&YrAPzHNrd4^!D9{7-|NDu6Y;4zM(w`>`=K4pIov8P4I z0o8D-^=Yk-z<2N6?f$?|He1_B6(6tT4RzW1>R6l#SFQ}ASaW>C_ z8_-g8+k!40<;Psmq?+&d-hlVC%QOV0C2P? zC(V6`Sdeij9R>E<|Gqf8Pflu5oFi;CZ9Ge;xtyrFXqiARBlaB}szfs{U#~g=t}YqW z--HqyM90|Ms5(K6A270YD)OnAf@(Qgbpo9IsKG-+IQbEWVwhig^Ee6sGx|Gw)f6q z=fMokhf{80VB%p9@~$o8yuMtD&gbDw{lj@Y8?939ygUT;D1@3$M#GJ#@#=Z+9`c+V z$IGd#<0Av=(ed;53^@-~U0SuM8i_IkP^k9~IS+(dCqs=7+Z}r6miNAjr7`flsJTQg zYP7hdD0N50@ifP2FY-UU!;{ob@7x+odmJ~yfCQ8iJd0;4I<$^gR-blp9t z&#BRuBS^PU6L68oahwm1=k2oMgw7x)f@lZD+?9JP?-Wqiffv9`6+mL%G#Nna!6BtBAdi*=>9LSP?*zoCn-KDuSxFjQW@yohF5Z(cQ2 zW-sR8qA*0EpIE`lKelE3r$vlIXLQf8u>->|GLz86Zj9nE3uCH2zJ+IIm(M3o(#;3tA0bZ`Wx=PWef$_cx`h|B<6vIyxS!s_ z`MXFEG;a-`HTsBz!)Mjw1*#<(*2zoih~`MsU+m<#bpL(J9lZUQyqm&Hhq3ZJUWB#^ z6Lv@>C6)=tmJXw0K%Ma#x#jsG0+^8TkjC*?XmcQ-ZazGxRvENjS>KIi#duw6ztj(ixsI5~aW zRG_S%mz`&~XPPWGW<*O$zNiJEI`19;`32#epCwS-RX2Hhu^)reBZu9@zpTxQ$WLA5iK#~7L5cDs!en0<+~V~; z3#%lMf)cqxM|f~2QJq`nTnlqQim&n+>I#9LthTtEa4Zxq@IfW)mMj|y?k|=d$c2QI zgmSfl_lS6Gw0xG#VAJYyW9oNL778lamK{y}4r?0-YWn6KJG)bWq zGLMCDV}>n(_RF50Q?>=8Gy0|s1(&*gbZBl2+gl=8FvrX ztEj9)anWUSD$_a?eJduNS{QBhiSy~SU9_O(Bj#d}W1L@JtfPn~yKy{In?adH3sNNX zV?5!9)1u|Wd}GU)DYox;VIgL}6d8o}@>%>t@f$5sNd($b<&f2UsVSHtQGnFFvgaKA z$G^Mqxq4+snXnjDC&l*IbBPtGi17@5v+ruFn_At=G-?50hD67Sf?sZ_Z&lvv;ip4# zMG(v;&j^EWZyAo3oV#R!3nAp~=PxVqm+p=bA~0Y%O5t&Wo+2%l?@TqoL7xrTRWz8u z&cL>gzB|>UOJogbB#Dq70x52PZ{lllK$=6v7#}=xcV4LPPyC4Bha)6+0iq#z5!vYv zSif5@8Dg3>9mar$d*%*Ul4AMtei*56VBhQEu zlSQZjUls+p*i3)4Rl-N!w$be(H{b*2fopj`E;T61A|Ib+WElyl+~6mr24#6F{UZ?M zh}#6tPstjr*>*Fswxtr+NHN#gyy%%GTPiS8)%Oo~Eb=Ko@6 z$>H|t?($*%l?wAYtX6bm#T8mMVobnMWrRj;VG&}hUzQ#Sl>ikGYBDejvNZiw*?|a? zAxoXWAqjD!G?QPK9w^R834$%`?xFJH-;^FmRTd@;WpIYVDf?~NfdIcPIwS0T=ud); z{$1&T_$^p$x2Qbj5H7OcmmNqA8G%yzV1SI_v!{P3J1`|J;GztrF=WDv?JiXMO6GX8ykJ7sRg0OuAN^Z|(ocuOwSdhI=bLo0e&;RUd7U+b@r zw0=QbjJHbvHJN|!_L^!{9^Ny|0(fqNzik=!Q^D)1g0+Ac^9xOaKW12F0R~;sj!K>c zu2W{7qavM;JVukV?166_Y^a&69EPKS^>|+5z{WJG#pHlhvMaaSLgx7_5$CfCa)stt z)FhE-k?}C^h;0Oy5y651l3lfJ{9FIeAI~?mO2~Y3P9*g%XlC)u0a5(l&93_;>k=YE z8xd#^mM0GOQo#$ijT@iRa}ezvAj0Ewi}PAnSd?x$f1c487ql$(SLEjA8o3gQtLism z_+u478<9I6!`*TrYy!&03^ifxv*N3_jias7)l5U4BNFme~ zkEH{9mKTp{-cX!!0(@U^QGvkdTsy9LBQd?lIT%P-3L)wxW12VMMHJH)g~d5Llk?Is z&8vW2x@-i5@MMco@Un5ui=aMmVnMcgCT?cejcHzt8-N@@T8lAqRZ3kyrg?eYK#&kh zv6m9bSuY>cycv3Rxh!wIZy;^V8^$y*Y~uj=uRH-7h2}*5iZRU_nt*yptMUYeQ5Bo7 z+&0eXCEzsXC|Zl{!evKeM4MXZ2W()F{H#GskwmpFngp?JWBrP>gP)tP+BP2O-8^?% zNL^y*)z|F)^N3vfMXZ3wSuYPP91|CqQTI?nEf+d2-XRXSj3~Wv+jzq0MSAu>n{j=r z9x3>qPgE`-Xn{H_hY(g83XViQ=+1lnT?C3psG$h zJ$ri^EI;ZGR05w5SS4tdKeCz+vpC-qolaR+j6NOer8s8>4SiZcpOo6CY zG$D$gB>##tw%)_?h0Jz0^=kh?`|CkHoCjyVDPDPXa7mesi&zR12WJuMwcEz=o)oP8 z45rQ5S&@3?=$gk+LyVGwqNKi5s`RhUZ~dn06!yse5Va(40G%MlXXMzgo7#~nU_iJ@ z^BiIc#oYY$Q#&#>Pr*yWCKt4o8@^%NIQO!6akiGwG@=$!D{d1@Me$9I4h8jv*@k4+ z-3!Ou%7YBvV8ZA+eT1iiJgt*7JjJRvmnFep1V-daTrFh8?q0Txi|HBuI4z0 zL*(47GY98dc!<`?wI4nClY?_&v}o-=AjK4MR;Y;)Bge3@>GXXUoi)?qksM)CE`zu$ek_UJhkf4Ki?2hKS2@8!aP5Yg^H?XTT; z5*c5TQ9cOXp1kk*%C_TSFRN~JE30CnFcQMWL{C<_TlKsNOK|H9NoY7c8GK}Z}j zpM$Sks#dp+$M@Qj+IB!<^ieC?mLqLV{pV|$42^GT7hNP2xq+1dz90Zy+cuurukk0h zM0$NZzB}JRk*mS9!Pi6{(cU*H;#LDx%uJ8O2VvtAW1E@ECE*gxW>y-UBK-Aj<9tjJ z56fQyD{Q? z8G8SyW6%}IQMSm_liS8)y^l?6*OroHJj;X9`bHY3G|8(+G*3R?k>zBmu{5LfW6tB< zljBrQTktn_(ROjEdpfxjtIciW-ri5x-rw2`!s?%?cZO#+GS$2|Uf_a_<1?T#jY$b9 zIhiNb^sQ|XaDUQLG_D{#>=Ik;u2p+%!=f@pjDggO8DcOSZ}&;oTlcKJ@e4+Ruy({J zpzmzwH|8!K!zH7<=fgMz*34%MGW)ID#)G}Ly&aAg=CnL$=|W>(FC5h$fW7BBduQG; zd@QL6v%XtccM5SkecQJ2$Q~c7@6{dpgY}*5;->g19jV9IkBt7NT4|P2+e2;>K@KGD z-@aXr&O}85`=tos85mu}qwgp=&I6VTh|h!lZ^LJ>-&t~84tO8=LlgB`+LKxGu5Ixs z?)NtKy=ZNQ?!fmFBfAV^EW)P{8LlvS_qO3J(wjk?8WW!wh@k!nZrT!hIA@&2EdVS+ zVUAI1cNCuHFb)r;s%@1bbzAf1@9v`8x4Sl<2m)G7*$rRCxO`B zQ9k00F+9)>t(<+HJAdbP38VtzVIFe1SVm+aHPP(-+s4BK-!{OTdIK9Oq&j7t?U=2- zGmc|N;T9u22KxzKmx$kdKqAhrN4UMC5ib$BN=Hyu`&~|bJ&47w8oAOOLJLvzUE9V( zdt4mdRucfj@SVBt^>ufq3tDp?Zsnh2Scf7MQNR@iQ1Fl-vz@yK_eygdvnZVdho+kZ z@b;d)cbnZcp@^eKh@eiL>WGffj_6E$3|AsWokF-lwj(NfcJRUfIX)Il!km7L6@%L| z=}z1`wd~)=)D#{L%L-6VJX}7sJylEt2?+MiK8+0VJ51saPxtV+U}L+EI3_j=F}&T6 zOlafG9KvM;sG%=KLX`jL$W;M0d;$bwZ~O$XNJ&37riPoKeyDyqWOK^Sa_i&cnm0t; zRQPAE>nZ@PpBU4;V3EO7>ZM9U7s#LRPjKfB#(QeatULS&y*jE z#AlLPqAd#no8IbY2VWk~6Z=+h8HCcn2a?b64)h0~$20SFh?+!fXI`c31il6JmUU0wDL_o*viqYrCb?-$k7exRtM%agX-UAe0de5}S*;4;_WIo2hlQO{^ zUam!4+Ts<}a3s`mu*lk>aDXH;Ja`p-VcWQ*%*A!iqeM$58{iY@$Y&wb!1nQxF+CB`HE<0F^=Dfqxr6uRG0lq%JSB6g zy9h@h`O+_!=0 znco`IMWSQv0QyUSDI<1jo8KPOyrzS@q!n0Lvqu7{`_7o=O+vOATp)PmJd=mJ zWVpPAOAB#B80|X*qE<6UaIu}e9K>G4od9QgpX`sI^ZTXiED+Pdbt3!7CnL7}LHXwu z*f)q=yvltmM_MTR;kMzo*NQ&N$3;SsEm{ZExQLWUckpxBKYQ=}9LJUIc}DJE(y>2Gbk8Ve(;GfKy=GJ5Yi`RuQKn~l-qhaAyh)%50#KnK ziaq-xz;lGKA0i0zNd50&~6KG`YlO&B7X^-1Z^0DCl4CQam%ICvs=`svliZaotpAAj>d zDdNcoDR<%o-*)N>=4kC5bUdz9AiOGd^MEdT)rQdS&(R{o8E{-lsb$q%n!71+_| zR~x@?*ZbIQwoEZ5U((*nOM*1Q zO!&bnF&)xaUw^rPfEmgfFuPGBqI?U9<*TcWB}H{JzaC2mo1}sHgA8+eWJQCAeFS2D zCXjiDzXtm9*Ui0#0jhNScoG3Z2H~xNM>2^_1`#UFoP)~@Lb{R{h;%BAx+a*ilBh=nax5!*6H&eS`y z)F6N#)CJg=MJOmujw&-K;Al^$OJU~CI+mtKml=e`iA@H;-2kB}QPDA_1_e+wIi_S_ z&~Up|$Cep{PA^7-*juKo&|VN6S85Q3UpyHgVd(L=j(2>SLBO}LYIVdM$V>6!I-$%U z`rKe0!6#u_<@u3!Vwpiys8r?(y2j_xb)1vd8r%2$o9xWf07pCSGXjo-hDodEPkE|1 z`8}(uCp>QlygnizDV{VZuQe7=8=If+W})ks6<~YefF~_sgZF~c18tRo9ph#}u>X{` zhTq<@>B>#_jv4M{(_Jaxp{%HeWPnhjNOVz@Jbb5?9tpRVz0RW2CcYS1cG_CQp8dlA zFajtEc}(d#6cU)8P?%Cg8WT*cApx9TYLw5}KNENDNUl|ool$C(13i@;nfu2lD^}5& zrA9%9^Jwr;a>Q5)CEl}2jS9p&3nO`!Aj-E^e0Hf(;C5Jr=!lwVz@c=0PN`8L!Wh^? z@P~2|>;cX#H3}CNIEx7lPu!xy*gvn-C@YlX0c$urFMEf1eyLF?)1aEoYJv|9x_kBo zrA9dpM@1w*Eb?}aXWoUSMj@vrj&KN@kdxR!cu}cQ>|{PQc5DhASj@h8@mk}5&T7|B z!uBV>*nMQ6)wfFb?6}>|)1b6l0MJl3;PwH5XmKTASzfZ%_(RVgvNX&GFGT{=pT)jT{IFG_lFydWkB2C`#WP ze49$%2RXD})t8sMI8RPqr3roYJ%>`jYcgUXs?cP9zWYo9wKuexlz=~`SfkLdEYuHkqnpTJCvD+XHl9GKYAyJYruvUaTzO@LDPxU-Rgq|nGzMtu@N-$b_sL@Yez$M>xNDl~2PB+__JNUtVrrFyB(E+?E+OT$lCBEh6gt$im z4L~{>ER-K_WYuEPNT{#nZ(hn7t%e$Itmq$%k@smEClpH#mR4CGbvXJ@$WeF!7J>m% zfl)eEIyWJ5VDZ5wG*vW--8H30Mltem6yhKPgeY3Yn@W%5WKA=Mq=@zhUAADn^hmBz zf@%+<;IPO%08FJvvY1;*fR$m2Gzt6Jb!#WUaa$=@cqTHqtQe$>th)B~rS?p!|5}_K zZ2);3gUlPYej^}3#GWpGd$^1vq;ccchj1?AX@*fr=^V;?a?{p_aK|I?o3QRs6{eVd zbE&sOohE}qt+;a3d@TQ#Qlp@qvw3j*g&r(c(ac6?{kBr067;#L zpK%owQ0ySSz1%3$-IS^yHe=ju()x*?@MOy_s79c@) zmKue|2saWnEDS1vt?Ro=jpC8EFkZ*389Eos_T39PDWQB0V*m|J1dZi%c+XnnU#9O} ztWtTIfAbt-GKIiql+!4pFv!RNAk_EDt4Do87*IK3O?XfF7d^lI9V_#S9DeEW>OGOR z#}Fn7v+TaLhVyHqhCtD>1_A{^T?Ju%pg9P`ME6&*uZvVEu{?nfqjQEn9ok{0_dtcQ zq%_Twkogp$0sy)XRv0Uyq|f1)9VFz$=~)kzIoX5epdy0fHW(i;joHIx200<=t30%H z*h5;RkCYh%8kQCuS_70t99Z^`mKo%U)FplusP(WQ>-e!UgOHA=`b)79&1X^Cdc4da z4z(OL5r+b4Vo~sUqRgO}3L|A^#m$5`h2=e2W)QuXfJF#ASO|A=0{TF=j8EQJD{ zD4Qx8V4>IwUYN(&)E3h~j9O8`<<#T7IFGS-uRuMDfkfeJ4T0~a5_><#D_g1{yjT)n z_vO;blXPjhYamL3q5*mH%35Qu$=Az-%h9ud%|f^0Xdd0DjHW_{%7LE!0& zdK(ZU8$*;=OYLu%gY(-UKu|}q@$-Idt+8XfhzII`D&F2&t!yLeM}}53Rqp@V76jKGGYaV+Xa3uzN4oTRU{?U2323dv);r}#(x^rg zKgwL%W1Jh_Ej<#fJr>DP$Q>xfsN}uUBOz#O3Y2Lgf&)n$zt8!1#tpN$ne_Z+579Ig zG4Wgm8;(e>71fKd7A5isqH~HeVG?~%>K+Yg9l3gaZq2|IM{#PJz$Ufl1Rt+8em{H4+2E@^a{yr9 za3coN$Q-ONXhf6FK?TF=J^EzcTL*v#3<$A+cWD5_o%nR#Ghnif&JZr^h^V+Eho7xA zmKOPFvWkpyhSB4+pYPgCbJ5z7P(EDw&0bhFzz-zb`#f z0PDDf@dyXNWW3~uwZ`5vfs5itE_=YFA;NBjGXi&olx}iNZDVCFX+5JT)oYod9neZj zIp=t|u>H8;8ycZ!5^1FF=skyI#y@TSW`HM1k|oNF)D9dk{kilN@f{PqnsTYOi|$wW z3&*qKd2272g(82kny%)353c4?AaO4sBf9VSF|kvn`;V3ymeLcU<%+c}6h2mt14fPi zw;ioD4Qp1!obfVzE%5ZYeSp%i0C^o(V9V7%ogmXlsxI87WPmA(hb$IcSvh zdJZt9klve$ZstzK7t+IS@V4jOGG)G zJw4GE#wF#b(XxGTAG|tMR1T0afL%L2dUOG8_z;2-esMl)2+*N4K4#Q#3v|_AheaU= z5J1k3E&ihX9S;sl`yP%>kTKkw2<=yDR^rc(^GmwUGof%KuE^1FT3n z%Rs9o?bYdVqh-4BF3nafuq>Q-$si;5_|n%a!x<5H3W!IB$F_aKsPX%rqMr3@2c;Pp zMG_V=e9S6g-B3<*POSNENqtbNbnQWRDU3g@lS;pPfPN+(H(+|~00fMG^5_DOY7}aL z?Iu2nWEkRhbIRxhDZ8bH;Sa13!hpyAf_`)5A?~A zfn1`S0r=f@&MZ5S7OQw?u&_{VVmmvl^gxB>l;G>xpVGj#&n`PqR(P@)@I}(pHN$gC z4@@Xfb1vfEq7D#6=awJHK~nR2QxI#Z?VneApoRdJ;(3Ak6nkNOe%XN@Cg3o=5-EK^ z0Z|u}9+=uLCvMwLT-=J?BqgC1igssmQQ3jG1q!AkW3va?9Ay`m9f*A* zXC@0xK;Y204qj4vU;s-G+)W5Bf~JnTwDdr3Zz^IG4ov{CI=HOtz!Xpn$V2FHBHWz% zmzNz#9vgvPM=KV4MOrLZlpdJoT^-vK+9ouaD@Tn3jbbG$Fv+r#%{T|o{ztS_a7@b^ z=Zl9$Vh$jBA$XZLlyPCEdjfcS*MVI|`ultK6eP+t0U`R(tS68Ss66X{-cIWJX>`>; z=4DU=S0oR>@oYuEG`)HhT+%dHU7id`zAZ9k(?Cd)Gf$CJ@(g;0*cETNjetQ(g}Sg8 z@~{Eki1pg8M_?}%b#By^XfxQpHA)&Juc$?~!=;8BMR%+rAL-;bvFHQyj^VW8UBjW& z#pP#R$#HZpQR1L<3}6;)d9c3hI21fc5;+EQbVs~*L&IbPt{pZ0JfEot zbZhlsbLE_Kb39APrddTZ9)uvhZq)c6^O;-vM`&xTY`^}^E(?WF1u!50IHf6*sp~mX zPoIAaH=s;gT=9upa^fd5FAabQIf+0NphN&!{Dx8EuhXZW`ZO`e6s%x@+nLl19L{BE zMFF%iC*W^pG+>Rin?WCw{)&?Ojg>~rFixkl0HZA8(ek~Uq#E&`wo>}w&2L@_;}M{g zOalZFU)m+y2s{X|zaZE^Izc;Ca~Iq^Y9y1@NIpmT_2yuIBkLc8x4WeHZYkgN`~j(^ zsgg%t#Sze4jzX(N zd`Vjz$5q+Ns{`d5A`L|&pC&QZWVdZouMYeJITLOGLj2>QyM5bwb#%qi)l9(*14MG8 zJGQA;M+FU65f06qj99+GB;IH=^#|wq6}=CMsfv%~CxZR*uY?*$!Z{sQ~}eCNS! z>ea=d1OTqXaTIxEGk$2BdUc5#LpfByXDOl4qj`9ndUdI7Lh!UP%Jg|~?ckAZ?9~C= z6T5gw!$@g+k8WG94tgISYLea!Sr3eIeU64EYRXn+Ey*i=zBMlG^5Qi?Kr!6#ji~Et^~s_vOiQ7+wCieKhRtdJwuU(qOSi;MR8)_ z#|Y~w4kO6PrNOfm#i7IrCP_HnuqSAACDU3BR9_ksh1Qv-TqT8Puk$w=)1Ck!(n^77+LJQv zUuVbZr3*tg8=&kZP=C{Y>3?6GcGZ)j6{-NxoDj`4oj?P`dinoH7bmaCcXHPmriGqkBRx1?#(5SN*LacTmz06aW_ zXoCE1ref>0t>eYWzJbk&-!j?~(4}AB`Vd&8s60TUNs(Xx3jD^_huA1;BGJUtK+iFZ z>^HYQghD#acjQ$_AOjd`Z*6^uhhHrOQuueYA1RK#U1kWmOaOYA{Z(VV^v>3YPiA@j&C34jv<$@?XSKmmd}AJeFGkhM`C zY<&pQ8?FU5)dQ0%l6oJO7!m+$f^8(gYX>R9kG4JpL3bFH4vw@Y4MaQrxWo|pTZn;y zE)b_+-~MFOSl(`Q%mLgf-Pnkr4RK8Y{gNF5SNs%6SWmiU;5QS`7(JBfq5wOOw8T#9 zciaD$T}N6&Bdy>3^KW*SV6#{%1vy24RKu&56yFpZCf+VF4`#tx;Q@t#gO7)g*d_{w z0J%Tw(%Xt)lf&;p5JjX;qt8ioCf-q@Z?Nl-{GBH^Q>#Xs7SHRV%_lf|TGeRO($x53 z>z@$RX7r(fZQw9DWp42bULu1l9LTe58NPL0Jo?6B)D z%V)Q9J;ak(Siz|QItVT6TS2)Nm$-mN%o3&G=rDf`kv31(#aBkt+x0wTgCVMYS79uH zk$QN~v2XyW0OLPu{I{9cXtM-Y{#l_IxxD@NDg~XZ)ff?_sF|%-4PunK37{=1C|Fhe zkoUmB60}853;k?CpR|=%{>Ybd<-{UyIZu!PbdU&yEP&Q(Lk*-2`DN)b_oAT4K?RE% zq-#(B@PF*$+;E{0ZcAAt5P3(j@h55G&UsZP8Ji>A`ngNq%GNT_08xDUq+38 znwyg|0Sj3+z$!K&&WZ~?-s3>gk!p|l@BZs1>}lpmHU?LcXb_VG#iTz0iis>&dFBD@ zj2$PmH;M;BFycAIhhN{J{k43+`!)LYzPdjbeq7p<>^c-rq(lZ6Q1845wb;eF}U(zk8ZcqG}H!B@`5tnx}m`YgIz;V`xtgCS0 zuqjf4XR#ub+wC+sw8~iAz33}g&W zbldlis4|x40b@f|2}(a;@94;~Pe78y2q|EzLgpSrCOc}K@r}_2nao&QW7cT$j{yoB zix&Nn1+-sJ@Nl;Ldr}73U1wYW#Z{`A1INjdwv#1$tFK^Uz)pY=w=e(ef7**x57v9G zCv zLo{MRJ7h@I@|hjG&iGrgShB55;VQdA$l9Ea1zG?nH@YjxveLH=k6UNh)1tSrdhop3 zSGge^@7SPS&yD5;C|J*braVGWt>Uh~z*D{|YJ`JqXINOCS1Sq>4I zeR`e2Eu>W~Ge)QicvKcgXVe)S?On9{Vb_z(u%Ja})*0L*!+{oV0bL{WbM3S0431Wb z2 zJ*Qd1$+Q=7yqu|_fr5;WiX2Nb!cx$`FIs0T=^61|IUT~QE5N&w-zeD+_84S?T7|^p zzT%6EvO-SFW`9Ef3xRO7*Tl(*y!PUCNKwu@&rS+Lt{O%fQMFYuC$YTK3Om!9LIn|q z6mt%h)*16G&gYxkWO+GcKzT!Rhme2e-OT85A*^9}Kr(Q`MPJ0Sy-U^^Py8d^kaXmB z;QxL7bGV}};C*3eLzx6{Jg#k0Zn|`x@%%sHeYMqir6ahsub-5sJ8v&RMc+czkh>ZS zm(05CAN2Ni>I3NBT+{8hCr&BFs2RR2CDtQU+ZP#>R%8=a%ofe#H*s+svQx~QL(}#{|;D(M)X@-t>KBZ`h_%VXk z)Xq72#MgE{rGv0*YNnvVS<-_zx~>~jifuX?uGA~s%nq*a!jzFs{}m=UhMxjIxSop1?820ZAEB6x4-UdBJexOlVM^$oRM^Qw*$iy0Z|;0bR|NYIM5J-R z8P;=d>B5xI<|0IrxtfShsO;9xrv%F$dM=8#Y&N!&hPQQL$`~ZIDbfz8|D`&*z4Ix3 zC#DgEK^vG2#R=h#E=U9U6~S#O*S5-NbnMMZ#Sl-4M(Rt zv}lN8^?YA9rX-OuBTmg?H>kt=yD(*jeqDy>2QJt^z>)_#pArNaHe(nJSt&+rVf0`Z zrev=Lb7E=~K7%0h9_qrBTH)zMrPe~E%!}fOyD%l!5|bWuy3qb*HGZV?DUqxZBqvvt zG(R!JN4qd3$~z7(6bThR_t<}|3sVAx0;z?D1D+=;@E`BOl&rxbDP}Tjfba7YU6>Lv zOJv?41=CkYJ>to3Oo<8>cw~+%$Yd+`sV+>J(s!qd!l^8!E~%gHd`i(I;D!W*7C2(1 z_)Hh3}~#Xt|xcY>?0u?hS_!Ncd3tgDf2G=0sC$yUtj_WUWVM@||o6{Mk9nKS3@=_P3MqEJRBLH-dMON?z&0l&E~s=fhTrqqC>eS393FF>x>@7s8zqt3XG+)`cl;gxwR$ zzo1+l;Hs~8VM-L`aL~kf6C9)OCvS9NN<5lqnrggURN_VHn_ZZa?8-%OAGuuDFDu-W*wi)X%+Qh-fU6?Y)xhQX2(IMwZ@ktk^gwlxYpA}+O z>nJz-vWm)gL^B{wMYNaJCMpWWynnkc2gkwRR50q(8S1v;R0+KX(-8+ z;AE}sUnXDSuK}l^NMY)Nz$@t>=P7gl^%HowUmF!_hor&|SP=P)wR6Dwc`Iw1lu{_w zaGU{c&9U>q`A>niPRO>7oD--eEWZw#{}c!TTWmudc3tX&R(No!w@+1Cyhj40;o>9< zgG1&Y7)^K{De-{IxP-oWXsN&vFzi6=Dj5-R2JdluW1-yhQ z9u_{_Lr0Z*-55iK^j(1#dZ>8E_R*ccZY-^+M0ogtYGw}XW6He{D8pzX(ur^!Tv?-I z*UtwHgA}zW(j&=*^)Uw8$IWXrE))u;gKwk5>cNpZzVnNKV@bq%%KO2k997H{x-cd3 zmX-_ufWAGBZPtlhn34sD)tll8+WFW#pVWmZA(whUnz5;*9UWLFcRnRF7?3Yk45&x5 z;n=5iJ|+6IKybwa5(jUVx>LI_WrWzZFI6t=AaHm-tqW5kzKWAU0^3(M=H&Fwr*vo{ zN(usIjBU~N&gjCFDXL2zEe6^aAO@l{JD<`;g_te~`vH9=P6cOmVM?m4R%%1q@-4BF zJ-hQM;R59j^>9Y57^#nQx-cb9vN77KIPWQ3BZG6hFeMJvsEYAvgW^V5^}H@jN%joK z3v4!};mGmN@5Yo=uq|KVnj9fp=v>hGlu(y7g5s!9WNeF>cVQQ%6z?2?s!=~mEbU*^ zg(-o);*rAc&8dWq_~Oo|L@zUd81ADh?V-ezUebjrY0SYs$U^$?5v%Z}U6@j1zfOwD zIz(IFb1v(AO631Bl>xWY;6~&WLw1R4ZB=y z#gbHwc0MKc^|a9t$QmWT=VM<}6idP@4eU8oP`YueFacB=X_=pn)CE^X8PZ>L+ zw+9M0=EVZZ+}MRF@$bc*8#^=$yn3X@x-cbx7?63eFfnsfws}oArc9`ck@+X$MHEMy zx-g{%TgxGwBOz@8OO1CvC3Jt;YZX9=kd@fKw(}`5eRdHF#>^56W7CPR>%x>Srs0q$ z;Z1RbPQvTEFeTUnj1t(=Oxgmebwf9%q#T<70pp28568N(^C@AgvyoxKg?X~6;v7>`TxVZ~c#?aZIMr2UxSm4zyU6>NWF;y#wG%?3hN8j4{l;DGr53{kf z1rZK1=C&?OnbF*K$=F?o-7NBNUvKa-bwmv3!WYG5p4j!))H1;cmlUSA{oQ~c;{ zAJ9A){0Ij2J#_}BJ}(}u31Dal!(M!Eoxw3UCQm?f$^+GcyzG7Jw_3l4vT2q~8>7wUpuR+Bi>~|w>lf6~Lg*SGJauY3nYnwt2NyUE=cUy2eeM;!XcP0H zg-wI^2R@#3v+|lqkUYGwY4FOSlM<3T1tdFZ`p5#OLAyUoVg!mv#Q;n_y0B>wQUhy* z`$T9tG+La;7B&qVydmJL~aGe2oZfz_vQDw$?GPS|;i;+tF zOsTEI0;>e%K-@EFVw&-@rA9?0COFTLlGz~~6!*CC;xd-KD*qFGS&l0u5QA&=qF9MVZmgZkT?i&@1PnA z_RC{oOTCvme-rSynK7af#@0z4@8!;?BvoU1v)GFuJOKcBrPOu75|I-PGCZ6UGr%;j zcK$*@k!a}39J(V6x3c)PE=(z`0R&@H#40jm#$NBjloYs?h9X2J4m`~;Jc~OKiNAPy3QGo_)O+Qz0k?9bI z@01#4qRoz3H)TmgP}0DAxAQmc!Lah!Avwuf+|2%aoll8*0b-jZ(K&k{v)?cE-q_YG zYMKt>mZG|te$e>~p@E9`I}R;y^58~fA9g-vDEjk=C{mV5RhVQSbv~t(?I{Z5sDPh` z4(*RiT`rU{DXRjX13hGM3x2ZRSca2c-`^U8`}O4}nFAS)S{zu44)qQim9-&MZH5P% zyB5Ep(3fgDHXENsvk05lfbED=V-|f{>LqX;aGdkm#30nM-hbBlwcx}AUIKhSI~7#?G{gS>HAgf$A}wAvzVo z2q^PUB}c)5!v@?2K>+l^|GD!E3IN9fs>pc*Uc1uaFP%?`G@yz|%4jiitajY}HO zu`%$eN<)byhcxqmQlq%P#Q#AAtf*gv{(&2epjZ|WW?8hTkW}j<=V#Rrk?tX}BvmnD zEr@nPMBufG4W^KD585yxiz2~BRW%~h4yYZ5 z=^>p@iRCV2GPrr3gQH|*9oqSnsBEMOdfkZ!JBB|0VWmDWyx(mx{iT}^(l!bY-(dWo zq6f<6MQL!TZ{I-ySb@Bu)kL8Mupd;o=!gx*e)BG~<$?=X-M5gnT|N>|j?cy7u&He+ z#CjjRvBRH;$CLDc;a1dPE8 zTXA%BsZn$gfV5_mg29@TCLGiGhspVp8;-sVw=hy@&atIli07kB2u2+pT3U^Pd0gi& zgc1`wn^==`2cQjieCJc5l1@n^VWo9K7MbjX&Zopu7%A-71ii?q-1AQC!jy1sXnrHh z4W=s!)k$5L()VLT_{qFLi?UCh+=VGwl&AzkL!tDBPSPozPf5BHJiL920Y+Tg<9-~5TFRECqSdk^y1E^r0PLW z&qRV3iw@<4mvm#wjJ8FDekSE$WNt6*!j$A=u$-x&0)P)xa#`n7;sB#SP{){3(R{MQ z%R8S^luyuV^+WKlKsNOiolmJfA66>fWKNi-sq0+Xg(=Y&MS{wM7ZO8pHm~Y@O0k-U zvjJ=dt}_}nS9f8`0J#ATa@_`0ZvC~n`#rH7qZWz9nXk# zKB}D%-%?L(f!uW+&xkjR4q$EYv3T@;o%Nm1m{L4<9 zFuW-vZrorjo$Y@h7IzS^noZ%B{b8i9Ki#qTT8^gZVk1H-2UH64rVR!HlTvclbZo=C z`BL!PgrAkhXrQUUNw49kT%5A!MXp3ofEN>TurfmrU$#vPn+8E87$~qa#841;@c6=} z!KDWbYlzALE^(lqu3gwPFfZUPN#bq_*W13X)X7QwVto`36A>qe<9q!E~v#}h1e$jVj_IUU1Udhbzw>&_=PU36zMqbZFhHJN-EC?go+#%hs99e)A^KuXeji%sL&v5 z&(?Ks=Tjmg2R#@MK90#D7vR1wObO4^r)kK$M+Cvv_jf)exh|5t^qyojcirfLE=);o zmYV2w#rThbMtHE}OvSQd4BwFCBbxxsl0MX}Oa+@v_{+E|h8TAMCw;hE6LT%eCUFc# zNddfq^+>lS=0yf6C8C%IfCGT@==?Jx#IoHW&NpA5kMZKY;>OQ$LRU9lvb z1=vS5nX~z;yERWooWl3FDX5SUI8SwaL&N@tp&9_SLVTXi#?u|oNQatc4m@}0Lf9(n zXF7k5sdCw<6o}P_n|f*VZ0A!VCXQGd=5MSE^k1UqI-e3@R;+*#ixb2P3GwrtPbrpA zk&QEsgPEn7MK5$dC5l|MOA?MlG_sKHe6b5tCa`+wQacds5GxH|>cW&+!dW%s5Df7O zF!#%yPs!>B{|0pe`jj+OgI7AA5)2-tNNTU>(*QdPUhTq^^gyGKHX|RB{O7f9ObKy> zQ<4QP0WeMSdKaeT@J~BfllFxQuiZB~pArpBs?Y3!6uboK@Mh;zl7;6o|Ez3a&9(nl z=Tj!wU2^i~YJx1JG4ys9rVLG(#I#8PgyOUiztfE=6Ckcs-RXdbobcc6!j$ky!6UF} zxU`pC=e^FSq{+gzox+~R{ebep`<+iIPT?uC3;D8vn9c`Xm=YQrpSs5lgaDFnf7pd7 zK~lPK;?Qu!6gqG|>U>Io**=9Bbk<=RdY<~Y3sXW$cF;ZIPzOE0_CBGw(k?j+uNi2m z{V1CBQ8HVihFT-jOr>LLIp^wE!^3|NcjeusPBWDY%`KQD zV$R~ikz!vCOw;>p!-VPTG~CLFV}nY_(>0woPUuz zvL5IuE6fkSn19AAhAL#LIA$T#1Hj?S4aN>d-q{)%5^KKcriuBRhBuWv6a9A2?e_Sc zypdI4!Fywbh$#z*RDco@nXgK{0XQ0L&ykuU+zlSYBtnxBcHezG#x-yk$q8NfH=)}bAHagyV>Wg5QJi(M&JZ_DAWYM zFZG5gGGWjG`xi}A8_e?$8;r$0xg+$R&HjHI(akkeH|7@oNMNu4Pa|7RkSlYX^v4ZG zW1=@8mt_EFs^$6LQWIL$HEJGX<6^@^} zA40q|%KDhd+1n*&`T6_DOaO-ZDng?}0C22ng3K3-# z4K2q!xbrEw!-4e!(5A%Tf^0ve^C>kCor8}N0yu!3&G^tROzDHlg}w)Zi5g|(99HT> z1xpjy)WyLrK$WtR!%K}yX|_>Gr=0-h3CYzXI)C|sA6F)vSwPUJT=++JJ|)dx9Db+* zr?l!x9FFRIN^U8-V-7Ikz*MPHM|VCY602~>*fEfp#gs@NQ|c24Q&fZLq+$>xk{H3U z8;w8aX!qO~EdQg}bPGVd8d`#HRS%}mtgfp;IyMqTnWnEreWn*V6^agMh=#tnA!WyH zH2!OI&4^TP0FC4=!{YC3ut~>8wm4236qOtW`a?)s$CrA|xISpqRbWA))Zy*c_h7E9EX%->pQ@p80l}(1>a``vf&!??3HpUwleIGdZgJm-0Dka4CHa4 zpGr})7ajO=P221EnQYWzP!{RQ8{5t1`5sgU^-Wn8w5-py(>yG zsCRndm8Awj0ml}H#u)cHQLidBD8{=Jq_&hi6L6PTmm7q7340cq64Ih+xVF?FNldXp zg$)ZV$ni!?4H6Wv8AvUS8d_woD>F!n8?3|Jej0vf?5!^~Nc_04M_e^gnHApn` z5K+Tb1lexO+*oc9XC#;E26{}i+S0L7gXogLQo+!Tf+8RDHKhj8W~Zzdx$y2l@K~G5 z4MLs920B9R&X1FDyv!idc|2;Qgi3D~fro2L4dS)~nM~;sf(nY~*OePYH4F)7xIc&t zIL`H@22p%Rzgb8=fkh|!hEjvDMoOfgB#p}~)HjwHMB|B7i2a6CfGV4LQ>j5nF0w`n z{T*7nW8Pe95PSd*8@PZW(u4ixE#(G5^MEkTJ&|Z9Qn!{H1h@hZuhiivX#3`EWd?!s zgvQow`*PI>It2!-i8 z%M8Mrk_C?q07xAKp6sqtgHRVyH0n{u_X4m)B3GV8HYgAn|N??T#PQkV^c$4d=LIp}j9W(Ylb zFMguTAgul@!dr!N-1Y|KYX#&Alfn1?V!6T>=(`WrBZ`pkPTco(6*+S z4ZK`x5UTWI+u|eCxyPt#X4f zoZ-}kb}PCLO21ud5Ms%!L>l4+X+)U4Q)&<$d(n~S=qXAq&by@sB?{XDH-PI9$?5vN zGK27@gVc)LsRJz$xc2*{20<-Fd4B}x2w**E6vb=|t?TgqGggVe8vby3sXNxoU0e}mS` z9!sgh4Hq@6UUavp6L9Kh1%&$&f49;2pPNZ^2$C@`c2AW+XEq+?yP2RzLQJ@kDg2Nq z@L?v!HlY0PrRZ3Qm(l<2ZL|jEjSH1VM0Sd9cK*-B5B5SyKn=7OCkaYBd0%_Zv8xf8 zShQ$w{%jBE`LlFBxkjzVzQq(=TQuk_t`T}TuvHO;`Qabgi# z)8gUn_F6prJ9&n2h?|%jfQN`2?z0yvFkq}%lk#7bU)^qb{?7AP-CjA0Ut)%R<*UYU zZkfhz#=4JONC-EN$Ka5$*)pB0&{LFmnzR5cjSQt|enIMso2p57Z}#{9>whKvgTtVi z{^LJ*mjF&Uo`Rdi2$^P(edw5x78kO3N&Bk)5f(Yr8K+&aX3w(icAWj<`ITbH$SiTviecAA?%`F%QB)ncc2ovT7d@9F zDvHAf4*V7uGw2OK)SM$Lii0(9NJ~MKFu+YY!BJzzEsG;FTafi+32?(GnFe%|8g+W#u9X)0|{eR4`6>O~5$mrzrGTr18lMI588sOGh zE#yFvVFFyWZ=YU0`MWF#tELtWejjKR8^+S+;HsYA{-?QL_OHw;(`{GmW3$W^XU*02 zfs_Dh70+Ayiw3(NdCv0U$1>aYTbOPFV72{rbI&}~9E5er#l}63Yp^0;JBqLJg+&C> zd6>`&klqo024WhV95ZIPbH4sPWZ4`@8?9bhaeL`c(~86*hXvnNadK?Qai|DkaSaM7 zQ21AR`nZzgc;Hd|fqfA|odcA9e93W$mT~i-*~tFL2_-sVOtjO%FOXRb$@)ykGyl7t zU65)fa-S5x0=TZ9C1)>Let7>)R1cf71R=SGLMnJvl2wm`(urdw^IK}4R2s3hhwuVi z$vWV=<5K$t8y1D@GjvtsqjqFwRaXd9mPW;cSj9D7CK? zjKrxW$N34=P~_C9498?P-f1Pr(Z>Oe$N%Y=PzX#5HpB|QZA!Bd}CW{^S^9xoAq6OiDk?VVp{P{MVF zEX_86=r%9&f>MLfb>qwgsUx606NeX;8iXb@DNVvX5uzGkUsPrgXdqTR0Ae7NSz4lt zOAUf%OE$pK)`dy$CYO{ML^D;;Z9p%9>A`!xbj&cbVfLA(Vk;WRHLL}8(#RF!$W2*e zK-6+d(j?QYvE){lZT-2oKE11x@GjF{4*Dmd$rw;l2~BrTQe<14iCzj0}VK zF1De$x8a%Dp5*#~hLGh2jRL9girIO3mrrnDlwxXMC@parb&y>-X6#(7oO6i4=ZSDT zLzmqepmdRgE-AiYE$@wx&`7Dq1u-fb>_=B^{rb{J#vP89Vd^49@0nMRO$a~cEX#ub zxM&gEb~86_6-2hsFNqej=fO)uL=<8^wa~R=#vbi`Xs)qyq$G=nch_0ZU-tNSITkQ8 zQVMdHpz4&s)1tlwrY+H<+*w=PP+DrGycW0*NSV@hp=b$?E?PHcIPF6SRE1>GqQ%WZ z7ME)#+WN!&gWRRPvH;So0HGtRluFl+8UHeKyOg_%69bA2JL!FO|I)VV0~ttTRZf6F zJDv7!3b_guLEu3fm|`{HqecwgaD^lmlNnh1WWn9pH?Z&EN^MW5@ux9+B%2q&?6H zS}7kNc(f%7zQ=@QK4ocJtSLFgQ7wwCYsZXTXHT_dVUPAKv(}0fk$O7KU3sOquU%&OIS6oa@I=#rdN5B=`8%jJXsA2P*u+Ay!v-tAfSne|iO@wS6 zY$bZOq3a|!l^e$1MN7)2ZRS#SPW8>@hQXMiriC^%3Z@BX?_0)dN^g9la2HAfwJ>b>PGlU8#L!Zq;H5nOGqVLFN! z0|N5w1>`K=4Y)$Pkl>T>jxoa)IC6tCRpBT>j*o1w=D0KYeXsQKII#fTXO{&g_V@CO zzXK#q!*!6kxN+dTu^iW{}1!k0*#0me_cu>0@OE0fPi>31dc}Efgb^*0Kii34>R>8XEpiKh0V!B+U%$NYsrcA37j6Ye zX2EiKuPl736g>*$@F1Osh#ki2)rC(bU|%}GY-hB-VXD41W-J!AOC!-j_$dy(J7EX_ zKtS*TJdJW_pP3MYnRZ>omoo4qe1Pipg})v!7y^qBw0(dCT>8esr?MR?BGh1D{8^OY z{Wljrm4gitA6n*8-l99L-dgxnF1#1fV8pT;pL)}IyMw7H1cEXnUzd)btKaEhD#>UP zjSK+1c&fqgE_^Ch7SUIv4FIpj)6sh!Ooic^0*-<8hNiw($w*PZvHF3Y%UG=Pt8g4$yh{Y~fQWlx#qkfPzOa2FT^- z3!f_H4xoI)q1P9GW&eu~rsBW|e=I{qErynqe7W$cSX(sj4D>iqJGz%&Eqp5cd?=fP zALiDw)5!U{gQ+s|A!wT5|6=IW@iz;f3RP<-mYydRByoHFwu7k@P% z4Ac%w{ZLzEgh_ziiqjHZ>p0GStSvHUNxJ0l3HXz;dGb?jku}6{59g$qUKj3!>Cd%A zwo*-+ObX%!v}Z!+m)auJl)wei=Bx|il>_$v*VJ`ya~Pm1DcUS9Oyk5ppti`!G@riwT2ucx{ng05M3L zgYJcQ!14Tu+9FeNqtk4X7NLbo|K-TqB4dkSQ!GTwHS%RWJF2$GbhJ@>$4e3o8(i(O zqic&ylgr{Hk+MhP@*dg8)D{^EyveOiR~4HhI&R0-78&dnI+O?*NcE8p+Hti-#*f}c z(}21OyQI?k_}U^XxL!7=>lAl4YIo{{+9E?*0;qxxA=c!uYJwAMi%hN!jTO9!4+9HF&4C#)5(SjX;>CZ*AMW(16>D(+ibxm#B7uOcqLGpsM zSA>sXovY-M+9JdCrwofmCF~}uss5$4MF#Z(U>5=mh;tUw__Ep}b6-KSK#PLb6oSF_ z<+VkITSSkPVucCOpTgJ`wMB;3gif6ofFGbi;U`zt78wR03Q25`7W7wu-B;BX8QC6$ zN&x&KF{i+{UtL?|5GoiF5U|0)YT!P#wzkONWhwsIPQn+Y`q5}@krl3n2wjT1r4J53 zt*b3E+Wn}kVdex38fgY=eSMLw3@k4QQA8&Zsc|>d7Fl%j5vRv{Rl{;m?2WZWM&%1l z4}`IRGJ&ad$7+iVv;-w|tdOu54gq6aQ(I(&R$>#;G10^XaG7nYEwY?pJ;bl!jM2B26%EyZILzNNJyI@_6GKe4D{CeBBN^sRVon}GoCr#ZM8)P07^pv zE;W>PZZrG#+9HGLaM3nH%{_#>l=*km7dhpVjsSp>{jzU`f3GdF959f`K(zcNWKw)fPF#ZxZDkq-fE@0y_VA zZIO{3j$DnPCgd!9xuYj)i;Su!&L9;30=V?}1U*?>$OGZE!!pt2Sg?DX!7(MwM7n5 zN{n}(@OcD*A_W5#jFNb4x~sy>RVsb7a6Q2oZJAxLvVRP@?~w2(Vs}@_QSEV z5S2~*uWF0T5(1T+E*Z|4nXCP;Ym1CdkwRV)us(fB6iU9SEi#(~)`|j^r!tjl=iAyM z1E~#@Fl2W|`-Z~7ceO>vixY!pRN*1$huTr!*A^LMMQle{x*>A}z&H7!w#d-qHO+Rk zQxHQW1^uzM$f)_E`f7<%DD3bY>t%Ru(UHh3pd{I=h`CU=ws4Rz?D(M5>Ux6 zwMB-SfHW#n0g$_p%2xYts*C@ODktcCRx+(nYqPuqYKx3)4q!O+DDV=6D4HEuTVx#Q zDgR+9#~~vMOm$Fgk*RocxIqS8s7|2e58h<#(=$_;p-_UJ5bYXnAbhWz;=i%0d?8*# zL%GWFl z$ztkClrPcO5y>AnJ#3RPB3EfbU3&{26q6{DTqfLW-JOqXvYT8k(-RuFx1)lg~}~w+7=#5TKi4iSd(g`xhuykyNd}gk$iOi z2V*CcN@r_$fp50hw#9@Z2r*7Rio2muJjHhdCDtjspj@+rKah}J(Ngyrw}`w$9y{#{zJR#eMa zhqxuZs&9a|(u;CZ?vWslILu_8$b&omF3wetMLV32W2P}3i!;*7A~mc<_j~3YjlE8S z*8s#V*m8J~p46RbeG>*R3W_8$Si9=@gKzrbZ6QK7MJOAngTRV zN|2q}ooN+KRi9;tG8fYIPI6jzrcE8}TF~& zwXM}q-|PniU0JbN#_%sh2vj*|Z>q-FEERZ%aB$cK@CpddsVI(5-bX(YQ?o4a5av6# zqBu!}+yL+$=il*7+61foUln0ce*V?kcf;K}B(})*@|9 zu{?u4lA88~6~)2Rn`VQHjjTpP#C0yJC=QKLpiAUQfDsX!3NNlG4t6Ful(2h=&nL3# zmsAu-Hl0{HknHA|k=d746o)K2M)}r8-w=@k6<=0S91QDC)Qv&r(pd!Qe|bf5Y&KLf zOR+lSx>?Q@6~#ep6h&+>#@ySSnDmtu#R2b`MUcA?-$qy~@vo{V4(JuUJ?tP3oEZlK$PREsZZAEeDo};)CyBTFvk8F6fqBxv`T!p0yc1t$-r?sx4I6OEO zD;)Bn0W$eBbk!0h^-x~8HyFaUj^8Di(2Wi%Q$RTPKCfD#m@2dQYPB-waHaYVwK zHUmmA5!C=Qytbk^u7`5~xnfAK5Oi~TT}5%UFQ(G$q}Xo*Ht?^nC=LW?ygX>_Bif6@ zx4xmOI4)*%qPK!xl#3bZjTObQK>s+PCV`8_Ix+p5DvBfgLh;x0sK*F7|K^I~M3_29 zF}f`v+7VlDZ>cB_h5?+i=!=s00+RD@ttd`t#VCXLI9ZaGMu~e{MR7bTo~Yh?0ZF_G zGV1oK;!sY7cZ&EhE->IG?x-kEmT7Kljl4<-t2c}OUQrx)Ii4Hal|iNJ=97MG+yqzoIxiG8|7+8%22WwhbPrC=N9} z3z8dZEf_^ zYyXjo;vm#cdsTC&!=oILsz)n}gM_uHnqay`%}PC1Q5?)WLs{G`TO(CtI*(TrhsJv( zR@bt`Vf&$I)+BzmqBtC`-~o}%qcMSsi1S=UaS#^B z$PA>b%9fXf&sP*jTzTU+Mn!SpO8J~is94cp zpv3cLMR8yVQP;t@g&Z3hi1@9F;$${9+ff=uq*dtPM{idYhrKjIZ9qjLgAU&Kor>Zl zHrP1JQP4JBP?+hv6~!?FjW>ldGY`pHG^pRJC=LoB$h~;JO#@AKhW9IqgR2S3tn3SP zxpC0UKBy=TzVo4rDk&)<@(*tKVMTE=#AQX}7Dq}eqGs_?MR9zzQh0g*80UU#@yDBt zFo!d?dYf7SPip(Y?lhRF{y%A4IYB)Y&bqz0GX*~WjTE6g&Nt~Nn~VYQPD$UuipKCr zJe)N9VnOm@EZ+wRWR2JhxAeep-{1gz%uaDO~#++idewkc=2kDU`Zyxa7*(qmbX+3N70sAsT+L*;IaU+f#iaYcIIWUi#v;@lU{C9O(Vb~A=z~rk1oVrLow1WIHyOLER>P}+=MAJQ z^gyGHUzV#p47hEWTcTf2+){hwKU*!=KVH*l>WufFVCo?}5==bBh1>mVlkp!t1(0sI zzfT-s3smTm-jRWo!#nP$k`@@-8Q|LD7x)PJT5|&Kxa^I_1P-sULbnAN0qWb3^U%ahJ zB<-?+O!b4_?AKUuPoQPFEX5T0OGDV(6U{6Ods3Z!v&k@vIW~J?;^95W1@Fz}@_g6} zJ|8^#^WSbV++P_p>H94L<^ghOB=eMF&EUI|6wUbo;hH(JOL_A zWE8poF#SaT$;;g->7a*XOP?uIzB4{F|2aZ<* zKBUk^!W6+q=31m_bkMl*m-bRJFtTdVqJhDIzv<@SqD8w54*Yk%=;?FpX)98)3Vy+E zs@dvO{V+u2<|)2uF2?X+#{mCkRKf~-j#idmx9J7o^;4?v;6yqjvK2cmj4zHGVp6QYVKx$ z*UjDFzVsz*;>)#avVu2zrmx3**3*7};#ar`18lmDRe}-cedq*e8bxMK4WN^}^ssTj z=EVa!a{>vtTy~&|nWk3$nZG#k@3SL`QY>Y~fFmT2zv&*{ohufBv4wybr4c7#)69-o z*waF`Yz75Pb4^czlIuV4RW;f4ma?NAc zuesBEZJtq}Y*vU|JJl$4{2U+6NUIMzS3d(c8_pg^%7vV?=(t?4G2B8zX4i*R_@L;jk2`sUzuVEw06 z6eS*SS^hYA-1u)jGe7FhCf{8(^&i%>^za_52Y+>PvS^{`MR5e$hmyuA<3@k6V5nwO z@%oC5yr*x~Q2%eHZ|xHqX#({wH&0$R&>CFU=7Zz}oWJbxPrupa-+2N!jtu50D%T1$ zFwZ1UIRG%c=Dbr&-82~zX6$_2Xq4ko+dqxfrg$-PP+R7>2YImr!~OXI>5qNQrA@U; z2tK_afqYl+bT)K)Oq5QaoVIw^6Yo*Jn+MHBkd5d@A}B*8k7>^sH=L0scQhMTo}(=r z7?R`B@KAqWtC8Ol@~|NL4Kd0M(4!7ajK|Ncdbhyvo30IylcFc>c-~o62gLI(_C+TH z(3gZ`Gl+F>D<>-dy!};UJ|1;wdkaC6g9O!H9rJ8+eptU$jNN##| zpMDgOU)hnYs`xiv=f1`7HikI@5ktX}#nB0|;t0cxAh@7{81&5`)`PMEe3w82xUhm4 zWY!MNVG;&TAGRM~R6z_XV>HfCM)eSjM@#$S3S!tufo2eJ-4G+WR9lx+5ko5yH4UI9 z0>%@oODl-M#HNRWmrB4$qKqJvx4wcH zRMVgs;|xd^j>S~CVSMYwJGtF~UA#alC2VSUfn8=tiPNT%tJl$pL_a-BQ{4 z2b)sBotaYr%eKrEDQ)p_1`{*BkV%A#g>)K#QJpA=CD$%w65P?zYa$Vic=Wx*xo#no zz&v8_<8))wVJBO>e%xrb>j_1MJXPS+WE+wtw-b;2OGe(Bwx8WrV{DkS z3ZV*@G!bhJ*Svk)cyM+RzBw|`>RZKay=r&`m8C=q<_nSIn0ubZ`FuO|4Xorjm{opX z&cQ_%lWC9EG{q13*V$uwMS}%wLj>f2c1&#DF>XBZk9b2nQ;XlBsK?KKjg7_v-j{`{ z6K8fTC0)dcJ@xl-PEudlohgi8(}dKC+D3JExg@7dDMj*cAZ3KqoC> zF;e#}Y#K@;yd{zd7I0d)+5HQf1`$~jG0d!z5dUozJ-{@Rjeu5@{yznw{O_qeXO0Rk z-T=6y^O1AF$8OkpkdM6FG=0Kj!6L>0$cXbxUthv-vBkl!M{?3 zZBS2SZEo;AH81&c&w*herMvE{o2#4r+k|%4L;;+RBu$Apl;qk3<@#`^^I@CF9^!K| zp~vIIk90Vnt5ASP#y8~-kHRo}w8Q!MEYUxqa0u201Lp9t4(H{Cr}jZp6GDC1ky|r$583u1^Fs?vcvhL69Ie0);?!g?R!skIv?dOpdTn# zarlnB^yv=g)2SE?vL$+Wy}+?~rqlT{=uL5?X}u?6cJXZI^Kr(ckSNM-I?bNzaK6mq zU4m7k0|B*bQ zqR0!C^JYbH;C1*W=TpzM)5uNTwKWu#z-pwEZj#G#Ua%tcY%}Xg6u<4_~VM= zVC=^_;36W0!5_{=pHvhF;&cF?HOA$GVrb%hT2Y+H1KQ*SB$4zQv2gyZqBykwG`LwB z@Szpqt?+q8aq!oqC82J0Mh9*5g{w8t4Zz_tDQZ9rMu5Ee>CUv84D~f~c4JbXiQo~%XlBA{20#=0KUWk7d2;~27&ePfHHf}nDvCqN)&#Br zEe{MU`t18(TMbm6b2jKf-V=WE020CjDvAT*0W5xGB8`U|u@xRzQ5*`nSj0mHhMcSD z86Q+p96ywP2sJqX5NJ1e2Uip)6cJMgh&sYcq>0WU6~&1-{9=tQhCmqPWa`k0;?Pi{ zLKsBsaiEw3@34yEfVTu*LoynQ@JZkuUQrx5DxilB@lmQ3j(bE!adLZQdIO;gc26nu z$cp0Fh<~yjgpitZM%htS#W89BCRjWmsvuH%M^_Xl0!$g$AY?c!Bz_nlQ&Ai<2}BM6 zHXedIP$iD7D2|te(3!d00!XgPGmon%jvXR=0_Ksbn9EM5j;|;Vr4W$_PvBIk6y=x` zDvINfOF=mU9vpkf?Ib5w6o+ycUV)G^sP)n}3s0&j4t01uk3{UxMKI9|POd19nXzyC zLYUq524j>5_`#Q1utNW;djO;LzH< zw4yk<5*D&`AWm6KZRfIz;)tw_&Avl-MhAcuF0Uv~if1k4Y}40xK~avqqM|qnEF7gW zb_P`VfRJ5TQ5-mGHtP)(7Ty@C!c`T;!Cg7w?Ny*?NGd*~sLrt0)fol91K$Daa5pi_F(JPi?FyPG}=W&&4BML?7HT$0~}GxcHay!DO6GozV5KsVEM< z9udGANb#6t(X-uDQ5+7Z8VI5TEH8z6o{U!%2QDtnESv!~Wd!)>*H#n<&lS|oMC&{b zVCrSpRTKx-kwuD9a9|gn*xreM?1gILaZF8R7tH zLIiQGTPun~&MVMCtUbu(ebc+GqBxOu$U?cZBg@CgGW!3>d-Fd@syg5M756Xkm&ez= zcerTutL(=|WKxoomD)*jm-+YZ?d3x70_AJi>A? z_Py*2HH`xm)$zcI0Yjl+pSWMFX&m72FiBVyvOJ0qzWh>6BLvV=!{Dcs`sJF& zfr-DMs zkW}QP<+@*~X&kh9kqz@gc+MDeIl)(J8V5)f3O9klVvI9t6y8?XI0(A%$;6mBgpYaE`I54{ADHYqxW_tZ2Fr&Hrlrp;L1p!#_C)-(>uD$a9| zmupX7UfTxi2otnmBlHqD;gY7MR;{E&T z8i(qFfszIW4yI9@-(S}_nvx7SZ<5O?>NwE@HI0Mo0TUXPvp4~cALrk#X&jWcavYda zI4q&U#`nRR#&Nj|($^$nv7ZE&_Pv_MLG3mpH7a^;NNMQs`!$V&?T%<9k>ufEXGhKt zY8nSlapa*KN?D8DA&Y)k(>NqtVvNNyQr8$MYW+}6<2dA60z*C#7>`1+`A0R4gDExs ztD+b{Hi;u4x=k5=a~sWZ4e!vU;SZaSR^YNrrm_oNfG( z@}JZ+P7F^X&d?1(5!LqX^rtnA!#tq09U7_(vG~0Ftfp~TYd~89Sx!*fMa%BzHH`xq zke!YqgAvg@fD4sbC}z>p4w9SX7FS2c};zEF%vEQYEa z=~Np2x~6epRin)pIvnR%OqKVWn#Q55O|~kG9PB=@c?ln_YaFZz0q8=iH^-A$*@}GCA8HyW08c@|EJ%Iye9(OR zV@=~E9Os~hLOjID3U#bM)ie$gPIxrpU$P-;QYC!aj=*` zPX$&ji*?Mt@PZ@t@P9~GaWe{efAY(@lU`QSI9RRV_yx4njZqABqRVR<2MRx@p4{i2 z(6tHU7uGZmu@scu6l;nAJFUolQBC7G$TfphmQ!P-Qa68bP2=!#BGm0TCdv@kGX6_y z8VAapggPd6U~J+Oc12C&{fiF!3D!%9_T(l!CQ7Mx?~{Vov0iJe#0G>!|;m6RB#xit3>0De_X*w27PF6qm%fCn#S?q zhufM$ZA3ikxWOB18i(UN$_EbHPl!iB9=xfhanSxmPYO;B0(#h%W!Kg;PLO(9aIo+S zTuNHbn`;`!5vXOvIT+6nKU48rY8nS&7v&g(MOe&WVffaX#zAutRZS7wfE)^S_qw{q zA#h7WJe-|^50+eC+c=UB!ybXtJwW2@Z8ePpHyDe64DES}T2zJKUeh>a5hKHr5TVB_ znYeeO@gU>E8m zFXbTBXYw0r8b?Ixku>(m9R$err|++69HJ>w6~OEi+(X`?57aachk791;*$+|E)TsA z)-+BA${#`-dAx}NV^-7E>f$FCXtj4x2O)K~=&zhSL@w5D-j)^qGZ#0oVOEW*+ok66#f zjnXW%3Ikz`1J(^%O#2XSFRg=O?Sx|`?!pK88?)pE)xg&EkSlJIAUmj4mKR6L-fzErf}RWKQ?`LKHZ@&gjf!U4p7Yy#iF(8y9>mU$yHd`|R}HMRIkN+f;Z`X-(5m?81Ax^Q}F_yAf6?k zKVqFdjf`G1< zcrikA^A7rp=?}SZwu9V5 zjld)vv2NKxe==Wy|4?oLSq)kOXokA=h!y2MtarN#WA(Fo{lY!lEG+g9i{Y)BZ*-RW zg&A_Q5JYg0tx)p9+TmA@SpHMk1FBvFFKro;1rw`LhdaQC(#yVj#QN_TH*3sU8keXZ zE@}&^dvT+U=QF>J7QdZ^)TKSp*&M=dJ7Qfh{O#US+SA=uDh|DvNVk~i7+{-A`=;H) z=L(njed}NEZ@1;wT5bHOxV>h^OM=e~t6*r*I*e~WGNr`}@ah;44Ygln_OVvKL9}h3T^9PS{!yX4nyjq&)k)2t7QCLO|e$-?a_mHV3WQY^7F8SJ#DLfbf0g!b? zr4xu9CFlI>M=JPCB72DMCrPJBe7nQ+8%L}I1E<3++$lG1r?bekV4gI1AT93dg08sr zr1*_%@p1+V6~vSW6$Cz!8oK+4b;V|@uKwXgLnmsnCDZPCOGe%oF+n@O{HAa{8{3?> zY;l(9>*k=zc?yg3-rRrvZ(=A&k1~&&=mOzn$n*C?%%79so9oY|vsn7Lom>1pcL9w$ z7dJZ0?pgZ_ z)+n?beG`9cnog)RlQF=K*g@Q1Y46+9bdmtlLmN|kpppDc)9*~v3BrI8DoqH#c(`@s z;eEW?{ zJ!1XMLBsOc(hb$^D&`(9N4vMMB#u-~>~um$vBdjO-N_+8c*J_{ct|mr-n@66rNU!% z!Sq#wXT(~5Q7bbY+*o-Z6yJ_Jb)wHqrqJ_=ro^8j`reVhsBtJ24BmdS6}E@pb{c;F zFMBx>>`VO<@RG_|B7acR;ezdzl1dUl@|4DNqJ-; z6XFLnli(lyXxfefYzr}XW1%FPM;YniX*(kC0IfWSv5054tIUt5?Fb=(I47@7>#Zt$KTl+ElyzBwS<7Y53FTN)N3ro!eLVyywp z6&b;w9?@BA*OE9tAvqv|(opz^TH~c+&mfEdL8)mVio5YT-L$Y)+*912krfvqxEVqBb zZL9hDjvm@W@9k>bq4%tI+@DG<%2S@tF~bSNgt3zT;QZ zbOJaI#e4wgA_Np<@vo0q*IC0zuH1<-90wJFgao(GZnd*@o5I6w?o#eAJKTQSc$?9< z`M`P%{WoQY5`0T%2k2n)k4!t0043{O(k8zkZplsHZUhai8tC~0bn$<4#EQ#Lg=ca=brelh9XvYiGyx-z-U4Jq$^e0io!?H|5j$gS z5Yfemk_5cbzdK?j*H9Moz&RbYgc7}eB^um%)E(u{k3_5epNRLl@FRUOQ z`v%omyck1U{hoU%F9&P%zPgmLT71r8LD^Lprt|u9c#@MI|AH4pj%O4~aaaySj(LK# z#O8Zh>bGc?8QL$j+O6mF3^`U@*ds{&2)PcZ%-v zZfBu!NvA85M;oL^dEV4C5is-2AE)cGspj*B?#|1}l>J}BAxW5vRuN$JV35HsU?ZiUJYxN?!Aa$Wki7aih0q?2Md0Vu+fga}^K>yK z2MYjW5a0b2y$Uyf!Sa-+V9Bk4)4_L@ysPhImn~cWZ~5X7`4#bGtIxwI-PQ;HFyE5b zhBeDD7Z1pH`{nC7T0En$Umtn%ihYWSC0or|%!0Y49urO$qe1&7B|3$gcZ7KoK>Xak ze0i#Kc#NBrjgvZLFXDDTec|#1Zw=nF!r^nFRl!@g^A{~!-c!AD+||W0Lx@4xCs@TC zP%cUO;^kS)5K3Z7gO>4y&g=&-nMJ2mbip;_MgvF0cjN4eUH_OP=p0DA`E1Nlgv;lZ z%hvM;Z`0;OSzldj8kaO%^USgf`1-l><=p<$&U?njYgV=?asf=wVksnLzGu&VSrqw- z2__S*(Ih_LlR_;5bhl)G1MO#N_R?J)J$2aQ@I@ySpk5Q3mn~c2QkONj*^v~)vx+|# zRkz0tj~}$i2C>KboT&jaB+7aDu77Sggd&CmMH34(!6sfc-RlVhQ;ejj_p;4mYWs>^ zzY+M_hPp(^A;k7bmb`M;uYf#bLaG*mE#7)*8oX**@?{H)%|x6B6& z5@f@EBty1$so#9Ik&Iim(SsOZpVcz+*+s2hi+8TbpBeIzi+N2x)e!I}`D>T0yLR`U&Ll|P zcj;oMOWuEGw}p`uNx={yM$E<`FuiWs`WM;cN2-_O3DV(=*?Zppecf(3A<9@lFD&la zL$b8b+}rm&9=XJyU%yoM)oQzIxfZW%F}e=x`9>tswK&X>%y)tCoB_`Q$!H zM+eM2hVCYt!8C}aI-*gBiTD%l!0VT-YyZop2Ugxjk*1SRi-*wfFG^0k&BK%L=gmQ- ziR8<_3B=p2yhv0}e#g^~b#`$P=M2V{DK&$~lfiup96&f4^C;w3uUWPpu;#{|Pva7k zGB*wx*|aCU;jzXS?%yZ9oOs#Q)~W@?e4S!-lkFPSBLrq6GE*je!(ZV&A|n>#y~7!` zp#HgU{42aivR7G3;z|(mViWkLW$U5cpQ{H5m^N*yBOAE<>xuJw;tg5h^=fktkAN0> zI`FRj>%CPh?}?*hqA#3jf+%?NU+=Br{{}X|Ad05o6M6PqmaRuNZ>@vPTXu9sBIsa) z*pP&lL~n;U)Hhn~oC?sS%P>iUvd+3qzh@SM>}QM_Oky#C@=Qh)p+aOeleaEYIwxPO z=6gnUC6zTVyGpOwH!Z5BXK#EX?^gkwXbI3@nDOiIOT@gA{Oh#2zLAs|2onS<0CTy( zaBa`NZrM6-JSZAQ8pQSs($Rc}f_EyX*|P^<&7FVRK6+h;Rsa$7JTOxliY9g}=K5vp zzLR`foNoE3q<}q)wx<4oPVDOZqVs2(KEQr&8a#d$#lZ_6}q*-5*aVMGga z3qUhzK?j3-kO}WtwjSHG4Kfp#+EOs!%-UmKszIWC@>#icKYNS*&gfry;wMyZD3>6Q z$WnsH1?U!h+1|NqJ@FU0_w(k}VIv8xO-Ju~Zy&T5;+-VzJaUJA;J)iW*X;w|Mi!GQ z7i9%6OM`d+=eqq^C$zm9$10E6!OF&g*NvC|G&N) zABAcv%MK`W$+4*qE?bXo{%k7e11JByDtG-4y-xf5^Ujdq8~E!CK1ShS=b#=ms=uh) z>ks{Bxp9yt%2mkiha7rw7y9tB_0OZ{&@vrboD!&o4y!(m#Uh&A>L=rsN5G>*zb=~U zDexFC`N*>Mx00(Kfli-J$tsh4LE6a*?1__+VL|3hiUvCLKDumOG(c?~GJu*|Z5f@! zg6_;q(tXdKOS)8U$ukUoF4(X}*6lFJ_{GRRY!ZzWPi{PI?2j#5|2BHBoIM6*0!<-g zz5^jay2>f3nJ(3WUXkRNGk9ZZF)N@hV*`wR1H4IGpB?<-z*ayT{dldTq4JK+IEFCT z!f<=>Czh>yHov(~eRq?;u20?H3=fcj%5xy?I3J-zm52E!m#zO%RK72i^0!v)cBkJ+ zO+z(OB{jXHyzz`;AQ3jrtp)Kff-;URkbv!4EGY~9}sp9cG8Y(Trji4RQ7cR#&s zUBySeQ8H~UEJ|^!MB9w~d?f2zlx|L1{Ovy<4- z$en#=*?LyK)L$aG)F@G6<#*I%c%S4|-&g!SxA(Nuxd4Go@$!N#Y*^62T>sbnG<7tn;)ON z2Z%-@ZKGisik{N)Ve%fhc6jKhyF;q5DZnRiSW!3$Z<)9Upy4pDk?G>?A~WjUI(ZL%tRvAS@euU! zpYZ+S)eXn79WxT-Z(_shI*@iSzXC$$J3H<+A?= z5vMTtX5XB=2lygLL*bx+hz@Z6dnWGzCtL{XBBu$lJc;j}ya$$Og7G*9%#Yzy{;i37 z5OYUdAp9f-kq(9A+mrX;YBm}G@&Sh^6d}Jec@J=L0gk3!4x^MCxME}XyPR0_! z|Ec>Y?}0jOoI>G=nANF?ADFy{6d8EH7aYPucs>4iC+-3Nq!es?5G4SQvOIop@*bd4 zfO#d1NZ%=z);J)qA4S&8gGgjJFW9+|uc^2ltQ03KmUQwRUa5P$+%GvDz}fo6x zpaF03en&ztcbQj@PToTTc?HHJI~Le<DN&8Dwm7);i<^X(3nnLyE_mlU4_9(k1Oo!O^O_)3}c@H6? zE)a@vt0IDMygy9Q1MQ$}Bhuq&j*WkuxCet5Po#sK`+yxC=YN{K2M^Z)o(9X9d9K#ed4L` z#VaRb35OYF7%U{<=S|iqN z$F}LibG>->*vavZpHmJqBlM&plR!XWNH7Hfh7nh+SdVYM-5f28`d)T&mqG)B4A)`qF93}MhKN~#nPK- z!TZr95F+B--W@O&d0A5j8!Tf|ESuez)iaD}VWRDsvsFYCUF?_FGmL^2#km@hS8U2K z2Doa)I&-LPFsf=WC{CU&h&RfEQp6km=O(E?4iOMo$?Bs0AH8DZa(e?>GS9uFfl^#Y409~d-fK5Logrg>cnv#wHGJDeiB83=SSe9=_PTn80X$C@h+GhQ z!GJ;Ct5>W$H?N9AoQkYT6rp!O);d{FLlPE>cwIGv<<6iC!DGV*5tRvwBClVu_++=@ z^liSU;guAtA@4z<8O7_lD8x1S{Ku>4V7*;{lMIzQRABOJR;*{1Gq#*(VB#0c>U=@A z;tyzWh!u9`Pw0x60|5psSm3B|Y>eMf-{jB1EohFD!r^m5+kNB8NvWK}M*zHFAd)qC zbTjzWPweVI(dB{S8PDKT50O_uE;=QqC!){1H~n?ome^GXhNuNC8e~_ZYyUcK3qc-a z%wQ5G$jYMt^=9V#_&Zt|ZzZ(ytT7;yc7=62{+6N?6_VICh7OiFK0X`W5TKp{!E@fV#+(s#P0dNuf?OP(mq0RL)uI&+T8AM;SmXeA1SfU}AKY z8)N{Ix2;&unY81PUU>*P=IfG31vQ7pavHsT#R>{7pho9Xg#UzVkk1#-t6Z|zNf|DkK7O-c_|>jyYH$ zQUj>FLdy@|y<(kF>Q|{AgfJ-ASqG&Bq-pqD2v6L00Yn*}(;+1kO5Vzs0su19@0m?N zM-m&01u2arynTUr?`*n7_mV>^q=gLiXNuhKn^CtC3juZ?r4la$WzDg+jZ?UjXT{1*obXq)+vg+AC&FN+~VPc%;j)QaBQhOpZ~({J#M8ij_?yddkOH|o<`qo|JL9qtjq$61Ce_cqXu z8}Cs`ISObJs=E{`WA76y*58%$zrDoLRG#UUVswxIJUgxg$T_C!ng=yIAxST zWATsz$>iW97IWPG%!=jq%tFCkX7^%B=Pe0N7W-YXPUse@c1=VX0}u{ichG4Ge05|t zYZwP}W&={i8f7VEvgMU+AgHnD1p5^7U%=tA8>j3h3Pjx*R2+sp zY*sg|SYCR#FA}DMzfLc|E0hD}h_9Xv=LpP478RC>WA#E3{B)eMD>ulf8`y|`G=5+#GxLFt|{)fcAf z1tJnUf3DB}c>f&ti&OQ269Z^K$c~(|oY)J#G*vIaRLKx|Xl0@bkc8ovr|JdKdLQr< z@Cddn6=XNF8jl|OPQvHdTo)Pr1W)|8@zB<%xCDlg8h(zDvhUrpGE)kPOA*xLc<$li zZu5k1U9rUKVO>7zBzMFwbYO*)^`p_-+4K+N_YyI|0bd0IT*}$izOrI1okU--q=oPn z!ZRt4h@5aiqMtQszF0C7+4j=i>#GJ;er5JR4odl z0p#QwdcM;uGPRND!gEF-(?F>>^lxVw9}T>>NX~7Qm_y?^LARGonV1LY^o|wl;mOYX zlc&roo&4AB84enr;8eu{`kBc=7B3TKSNVkm z>xy&zX%})ak~bO2bguvI_;fbpPE#ZoQ2!Q!o4RYok}KKn-9c4aizxBvYqRmQ@gZ=K z!Gu2c1xXYD!u{HcH9y-S#>ay}Y~wD;Jjs|fN$_=o`>mfJ)3hzqwD^1ES&jEc5eSDK z9|1X5FeI$Mv10x0@U=R@W}|r75xr&~wBy{jA@d^9argF3JaOd!g8&~X!(t%#=Jri| z$kIWKbcDm{BXF{Nwr_&Oa4a(WFa;#18Q;5olh8mWfNPT&KNJ&}Z&hfLb9}K=&p24Z z#47pr_Dv!@-+<*L3F`P6X0+egz6lX3u#FgZ7Y9?5(7Uff6F}S%_(mFW$j-z2w{N0z zoF`HjmJQGh1gam{zDW*vkE{stKrU*HUjE&cq4CkMI(6=bFUyF>KJ zShZau_NJsmQSqjTn|`lyJAte60YSSo6yUyJwOyJ8BxqoYfL}rl=?7KYf&I#Hh4(p6 zg(fsVtlW;nFo184kpR#=^H9ZhWROskp^yo$G}Br7qpI!v49gKTNnA8kVVgZ%wOv4Q zpVA~nNe4nx_T#GU0D=LU&5@PIr8bNosn`zA5Gx!C-3p6i!qlHsZ3m7Yxdq&$0s%+n zKdsn~_)09<92*=*!czFNitX_B^wBpLBLK(dF#7YV?GUAhDB#7w4#^&?UsP=ugTqdI zkVt^@A*=tgYCEwEXM!T43?VIve^s?zo>7J7EQdQLT#@kC729#T#he%s@yO6a=KiK) zyAb0iR3Z$hHy6zu_tC2D`~-PlaudP~B_Z(Js_hU22D+iqg@&!DqTf|*r}1<3GV<|M zw<)AQR2X5ay!hhjOI;e!G=xv`>O4HR!>%4+y{6(+B{LUokBDj z^b9Oe99YBT4;9;C8N#-W-gRUn?G~9oR&7VUm}4=73-*Uhn?F@-$LUjZd<9S>cD|1L zWYu;gG(FPCJ~UC>vVuQXZ3h(-G$XM(;(&ITyhuX^Wuu_ z(g2l3c1;NG$R3#RB~{zO%Z2ym0Jwr7o4Hq1ZI_V0LXZK_8Pw$5zOrgNu~F4J!J920 zRgu56VmnO^EXrLE!51yngqKxqM=2SdbI`-wCI*8quiB2lOdL1Bv4_Z{=T}v2#|b<~ zmXReMv4JRkMa6bmL?Y2O4k-i7SDoaQRomfM0qQ^D>7aF?y;oIkhYBJw4>TT6)a71X zwH*{B{8DiG0+0;t^fgu6WuXJ%Ch}o0WN9v80+le=c!*&$pVx#b;s_ocUjL)tsLZjG}U0bysYK4jtN9Z9a;(Fej zSFNipacFI%Kn-vVlwx9=ECE@K0yViVIdPI-8kS)Ny!TxC*_*bC6xGm@t54<}>Bj@b z-;&}GPcD_>C^mj#XE(vf`kLzCqRZ*sv zr5q`q&Acu`CXe2~YW?4%*}#ztA-|4#6N|>a;TQkb5mjX|AItFU3v=VTK!Dv3RCvNz zIi{`$?|_*=ebW2j>JVzZxdaXdzbt_RMlR~{4jF7#a-v0!GAJ^CXw~wzOaMMzjCO}f z#b!zfMI8&TL$S>?(T7*9|6Mj)Ulm7&-t;dQbPty{R!&%^>C5W809SFh;u&yu0GWoa621OzvBHj~;I%U*HS5Nd`J1I_N10zB$ zrGd?&pg5YmohY-wJynYBC=5TgYCU%|ieZv2DX+7Y6yi-3*E5(>geV^GnzBE>dNT7l zHNQxmRSa&V&U*&WL?zk^pIEgnx8^oqYpGK--r)h$ z2iA4a2s~)x#Viqv!_7>-E1^U3Tk;i?qz$-n^R5LwLiqfo1C$-%==#Ym9$0x1^PLXZ znzQ-yoT0U&Jb5<5qNpvmJH8l>s5U@kK8HB`*)t6J0+FY^v$U7ZPO z2fYL;4a{<+lSD-Qb2I8z#3XVAkT^yfG^#&8n{N38i@Y-^55#0l_=VYY%ifNzjZxIm zw9o18i?ivL95k?A5G3Tn#47PiGwRm&Jdb72NkL1YfcE9tbQ=*6d6aU+d;}Ln`{vnn z3n_+#M{IM-2M-q7x6G*90OQFVECrcmaxvMhv*{Ld88T(i%Q$4P>t$b=O}B--3VAJg z86rxXUtP8SpG`6JkX*IMkrb}Yz##9y#jV9>szo5Ly{8SrJSjZ0t;t`*kdbAb{4=(| zock4(GRS?m5gQL-7vnOC;&FLqVzqhR%_F{ zF~rjpc&iPAy}d&JJF~Rg+ZYB~h${H6XO>?uz1M%##HBP7l^7t@U z$tL%{Gj&g_temp3mnMEi*I3^-bx*bzLX8XqR+Yekb#(vqJ#qL4q`+yM+5&2D4@}(? zIUtE70ku=zrzG~>se4K?=57#iL~_yKOx*{k?ume&Gy_RT3Z5}J>hDe66Ph68IPfq> zWfm=r^!wBIL{iS6k|qmr?k3?6R;_&}Nw}=1fX**-L38^~JBK$9Fqj;Zaq7qd@WWxm zkuOQJAFf)L6uB_rXEf#XX~c|E-qazb;KWo}k}OWLxPw8xP~z(_j0HVxdXOq zO8$@3F$T$f2ZUVerJRAa|C2h#zyLXrvoYB)pBM0_tDAYT!_90U13!?T;e_0U|wM5z*`w=^Uc1N&w_x@!GX#c_bnK=8wZTN3V@fW8D#ml8Tge#Eexttz51~jNl65BV+Zbk`KhJF}vkIO6f zk&%|N?QHa1M3ueu23&nnE5!D9>;jr0a2PKomu8bQz^wgutH>}^z9rIfP(@XDtk3#x z>Wsl~+us%pk%Z(R5KUAI{m6c7)w=tXzb(?^3)|mX%K016RFX*Y5w`Z@6MbSsjQTEp zVrLFu^4s4QuxCVIQXAZK4BR97{i=0G^-pZ5agdF?0`<+qf$G8bH-)K}2k9EoD>fRC z=TEF+H(L4aDr{Bpij@TPE`45Si<4`a@~$=;(Jsn4MpGf6E)9t353AOL)$ed{Z%x=r z9V&af^XZkh_pEZvYIjMNpE4sdu&k012-!bUJ}P$=EyaW_2uH=w&x5qsQuF6_vtqTT zw9PuaSpKk4{6>>AC3SqtUP6$AtMMl}<}3*tdgJUq6x@P`4|Do}$Zr)A7IXi6!N15s zfnpvzY{Y8d+7U@7j`Nhco}9X;1O!xwas*HTs=ZF~=T$2%?{=$@>_WL%@GWITMp$Do zTyaBkUMlg`3yxY~V7mOm7SR87Ij@GnKA3xeWyl!~Nz4M$7DbmGo%U%UA^|5PhKh-< z6lz|VPu)|7B@(XPoR7umBuic>Jq-XklOW(^j`8nHub8?gi9(ot|`c;NNwqtPu~;NLTrPnB$Fkh zQhU|ZJ+Xj;%tbUDCKcPTe#O*1q1uhk2!%K|6=t3H%ISLwrF@Y_*z8ex3EWpr-BU)$ z1PhHM1_?7Lov)s{ryQADRu!~ld=GA7{+gp4+y-T1${pi^g`+Ijf}tv^YXv9*z9JZw z^G&anEvfmf+Yh#vA$$-4Qr4Un;w%Uu%A#NJ^%=A1f~6CvYidA_qqv0ped@pV=u9fB zloY`bk|1PlfLsu~PM+OV`%|2UNU}?m05t`7@~e-|Y7f;eY9;^_FiAo9C@`--YW?eI zkOcq>UOlI}BJ)0~9ynCmJEJtSThFl5xFOVf74OxS%bZCpoR$+ibujmNpwd> zV$U9G6KBd-MS-G3B9*{60L?^@xIbyp{*Uyve2lYBGY4$0dfI;RNINl2@4>cPK>0xXTuuT=r<{xuG#8 zciuhq)*uQqhI%f-F;x8n{hrAtr5J1__+R4B3Pwf0ccRu9V+9_x25 zu>#nZi29~f?Q{EvqgKM^p$qJCgS@Qnc7`gh$lx>tecBeQRDlsnnjM9dqPnO}uHQe= zO(3}i&k0`)<{D94_<^I>k!LJk5^Y99i_}ANrK`h zK&g4(3&G+h964keLnLGYB7qe9(9{o-lN*}GCPkQ=&qc)_p1LO-1)%DhFa(f}Lxca3 zqtNeA;+yDMD8WS&q=wLnvX39N(i7mko4SN}f3eI~u$rXp^VY$Q{KHAG z15m&~3xjYWuEQBR{>1hVcXW_aIS#RurNu#xtGsf2JzzvY#o=wpK6!Lo7pFDE`dUJ&~~SaeKr)!(}bd{*kGBLi`y$4I7O$DpWxjEKl7NZO% zJAGAn-H^i~zr+y&4qUn_mp1y^RR+FzxGw-{gxZVt7@7q~r|tP7+$akP4CBVB zdvXETX(S1#D#j#HqMN4fiMp*ALgN`pdWg8;*wj72zzeC}v9jYp1;=S^ryn5!7`0Q% zG8uT>v^^=2VWAM}^bAeE5 z=%t^ZXh)A>BZ?%6qN$G#+!v<44x6qJmf@7)LC-V!7pLyYp*lnI8_7_aQzrP*)IAA{ znBqI2Dncb>NWVOFPr!t*1O)*ghb=qzZ$4`MUuD#SlClIWi}Om$HUOVQ`}hkIrfBjQ z>XxHcW4Ls1?%tAMHhx@Lw|AiWO4V}?9k8xsV%UHAR^|?RFsL=cGmJSWMaivlS5xIm zm@&XU@q|QxfT%Y53ZZ0qS6gM^H-RFc+LC96l!EtpjNZjpc_bTF@J+Pt28jklA;A%1 z(@SO(M^Wdt**_A<)QU)nDTrn_($2R}{YYZ?GN_UUfCG`#Q1%^D_k<#_A7R7eVmwNa zq3)dM#WV@<#uS?=_H5XV&Rr9=#_F8ZgTkST&lg0**CuLBh7XVopkS9QG}eY+pZXc3 zAh=nRh>Zdyg_8UmN3F1&U|W=FIv3-(GAz+xSO&HNEl1*CRL%3dWdY`0(@oC(!@tid zzTa4A$6ur(!Y;I=_e-o@62dh8Ke7OWb0gCZZ4k9PL|)A|CpgNG{|h-sdSrN9w5g+e zCVILEZrC8)*kC{kl3cm>)H!PNnUmBN;54qgF!;Z9>RcMobR5f}+#9BI7MpLMI+sSJ zhFll54KTo*g`)4AI+q4U7PA{M4~E2TyXL-A=hC!taVm%1hFK>XcFz5$&ZXfY3fP(Q z3+X2Gk%I?Lol7&3138NN1Lo#vhX&t0YB}YCdO}@DjI2sjFWSc_ijgNqpO}5pf3Qj; z!c(2V=tP+ski1dftI{ZkZio78C^&EO$I16e@@!oq8E5Y7J#Rl{s-muSu7uxk4)Cu- zXpe(0+j{B?5p$p;c@sF1bLmZiQegq@ksShVE0n zDVW1@i-5#+%3_h}S017AlT;+56u}?P z@cDG|pH9L~wL71~Js5JwWgKByh4RR6j{8-(;Dl5B7~ zdEBVCIQ&>t$aAyi_uLT-qf1Jl+1V}&+Q3P`r1!$eL8<*4LO721f< zp2(?cRttq{<&zcKAWlkJ7a=;h7+4$!f3DC5?_u0CaVG(7g9uvsf*ZGAHC-Gk0i3|b z;L<3TT~?tDHXIlWkUF5^gD6RId4)D4L`6^n_a!zQ&=D`J&;~hOcmZyt$ryu(_g++? z4SaSoTec+1u#b$K7guOQ`ZvdzJmwuw!5HY5RA|FAh&VjP_*X}*+F(x~bKoKc;iJ#t+b^%s z#t8@p6RI$9ArX!Zud2{SgaEZ`aCv4K@pSx(3TfPPy{bYR9y7>5A7~h!0x7J z5QT&LH5J-mmjnCM3~+?Z^Tt_|HffwJPuz^ zGs|&jBtcdjc*jFIIP;>eLL122a1?Iza zIi3R^ie&It7)3WeKL&Tb-XW;lubRT!PkIbOU2+l1T ze%5D7%9;Doop%W=DnuF@ zf#>KXh=)a;&m~0ENJQ6okZkhbTEx0w2GbV zQ3`d~O$q z&JkD?&;Ym-unF$xcW>xowbi&&_$byxy!*oL4GqvAPa%Nvtgjd(s4wo~&>YDi1!6q` z?u&Eqmv(Pxm`njW7p(I*!6MxHHaN=SAUbgmvv1kW zp*8SB5;#8g9iZoL-Myhn=3xT?r3JAl7&7`RyEimRe_WW5&@-`8eqz45dqd;g4d}1{ z+8RTm3+r^=&3;P%=Qg7yH-~?aay`f19 zf|MxWe=>sDtbJ=2hXzoYfqeIXg;3rLzP*b>V;3V{ zQP7A#_@)BAUCXmD@9r96_&5m?V8 zd0-cZrT~UxM2xs3XU;JA?(PkpAX1K;I3!ev8Az2sxQj!JEg-@yoO*B_h{Nyg-p~pU zQPK*SfB+g}^ZfoU4h?Aq{V(7NG05#C`N8fD4Z=w{U6|{o4%k@p!(AL214xil0NALk zn;>{-_l73b>?Hu}fe2Fi)cKEgacCrU6NI51%Af$iyoYyjXb`E8H<4&1G$eQb2m7oJN$W}kuy`eebqJ1X_JksrsoBVY5hUPN{LJMLu z15ZPi|7W{6w20&5L<=GVj)dp@{6@>eX~kSx;E9VrN@ypviXH|vrD9k!Lu`oU&rkwl zIZ)0oXts4BWKh^b$CxSzAOtkL5MdC-YUIIxS*;m~_Bi5Lh*C1n?{4y|8?ApFA5Dr+ z3U=1;r=4yFiyR8oSw#V+hhUm~FEu=>cS34z2y>WAqHMK1d?);tJ$pt9`K9$ylZpg2 zMIfq_5Mg2^kJdX}=7Y}zDg^4%%Wwkv?TyyLQ{UZ1YJSN~e}6!&5`?3f2ErY+gWv7A zo`=B_!4tC|k(dm{g2!$|V}BIN%=292iK91@FNvPqS^PPvXVN+k$u^p_r6kgPz{kns zwGIXb6ciI)^68s7{Ju1nrQ0P5$Rv2g_jP z!lh&}ryiU{FSx1Bm)f8b4r0`W5Js*#ysYNI46ii^Kq|*!m|R}#VC0<co7Jz&OJ}hXWIq{3?9E|D_2`LSCNn@Iqxi7AHu$;OiJQY+m*)3mE>tK*3GZ6Er zT$1~7%oX(x2IU~Y8484ohuhtMN9xjFa{i{y8lURCE{Siu7b=Rm_*61^nzidqMg>~^Aod5e`w zZeCgIV2N14MM$flkcFk!t7;ugG4s){%5f6sWSqRZ*1>Yl-ay8^jDs-5nAg-hn8H~> zBNc(#4Pn-6>l_T}D!{(Dk3uK%vG{ylt%IQq0y+|*Q)pEfwq0H8V1~pqpk9)&!0*EF z^|cO$G^dZ}ri%p*^hh)dR4Hja{~j57hOw4u)GI#BU73 zq0K?Be_O4CA^j_d+{lk{b4ud3*E*Pi2M0r(SKEOFK%--hX@e^7{(AQd3T+IaVSHtRB(0R+xYK2wGJkZchFgpabt^# zqxaT2SjeO&%7@HJEhS3dSLa~xU*P>A>yEaZMp@v7dI!r9M*;5&O%V`J^!{20g9wRz zh{UM@3s>@iS_cC(!RcK>V&Efg_Q6^QOOP`V?P~DSa2UJ~)jF8?!IGCF9gW?5nt!;~ z!LXQgF@Q`F7Kb(-f27XAFi22H!A3Di806d_# z2&6xVKVIu#K>)SWgFsxcG4&^E9Srmcq*RzuDk9VmK3VHvEQ&&ot%GII zr=Z>tJ!f$qa=89Aqh` zrpvVsMy?jCikKQPB0hn=Qtx0cVvjLS-wvW*Nw!+&V2GW#4%t5heF%z8ezexXBF<&F zNkkZjKta?u);bs=98P?o9K#HO$MmLJ2h$ol6_OObhI^XoW3>)OHeVwQ#YvE|R%+Jj z9SorsL2Y6@=~MqXUguyL(TAMSm>&VALHe`x4#wtUAYO|YMiA@I)j1dfw(Qgtni3?@ zBIAF)*1;kIDUiY4U#@j9mJfVuG2|fJ=Tp16*1@=~G!jNN=IdA--cs*i&=2vv#M=YXkmuf7 z=U}M1_!(tm7pw>@cV+ zqdS9$=hc$6f8!+VpyJ|2S%kH}+43WXq-f#>M6^)-Z)XQs5AD zKwO~oC_-H38+8nlXReD@84?;mKhUhYyN*E;#6@y$g%bCF!OBF3K?_ z&hM#X5I07xL}7Md2r;moxwno%FfbzdN^u+8Rn&^SZ`Cmfbre=nUKn8I?11sN>lh?Q zxE;={2pW;e(C&BY7zAAwk32HGJs6lH0@aAcVT8a={=GT| zAx=yIF1S8o(5V|Z->+j39K{eL!reNerUb>}2XzdB%XlPeOVH9#)Xx1M)-edkCR?&# z2$P3s+Sm`(F$nbsAV31h@dL~hwB&w4lL5PuERXWu1M)0 z*D(lK7;*WCP`nXjY4}JjgE$eCb$H|W#Uu5S{iKdTz-)+_D<&-PdK?x1w2ndWf9TIkA))WSr+3)HYguNYF3vnHR z9pZD|V|5GynFV3rxTp+)1CAfBV-RG!u^2#0883?ho6zMM}S(U^>rC+Zl) zbx~C!u7^mHi_O9x>KLRTy!og(Y9E_>FZ*L1gHSm@b($nQmU9HG>Q8kH!d8MbkIkl% zU`~}KPu{ds!DSE%)VUo*Q7~*k0_e{-S@WY3s*OubimOj2GZ?&+`)H|o@iEU@J>5AZ zt}|Qx?BD+#XWiaX*ZjwS?AbH+O;fbY(U=Cdi;WpE(F=}Q>F9WS_Vf=g8ip(q)Yl@gQ41i;ukLD-%lU>M9ho}Kfq=xhlP;M9j7%DX4z%Oto?(G)Co3l8*MV$94h=-f6DdA)opGmm;dTwg@g6d1ip(&Y ztYPw^om?)wEEXW3LU?^*FrU2mm=zaf-##9piX7T}2bXJ6{^c)-zWCVh*>g#&FaFA6 z^#QmjPmuLQM8to|vF*(+5Y|SQ4FZB6hY=2XS5#=DI0j+YkSHpaK;hjhE3_el0V_Wz zO841See==^Z7`H_cww;U6#=!#ec3TntI_j8QrtJYKEEcl+d<5kj>nKzGZ;=Sc74 zFO&mx8*Ck`bgsG8^r~alzdY4czeM#G8Yu+&g9ah!3yV9(J+^ZR=ATRj=7PBtOYeSz z>C(Yms)?%x+7E!y6HXOyd0#Q>0fcW9de{dM#-JeSyt2Xvo3L+SK8uqg#YUa!S5;^e zpwohfDV*&b0a}y3xr=|^12Fb5}=!)56M>{sjGB$b%i!)xFfC4y~N}?@NRg0g*K$z$nbEi#5o6pP<2g( zHmTSw<#>x=>xn?8dP9Xam_uXaOEZmK2nd@uR%inzl00pYiXk@#y8KNQ+Tf#rR%nD* zm5cs*>|R@;4WijDo;hN_<;BX=Z?4dW3MUXKPve7!drqFbr9vCDRxn!wT!(E?%189p z3T<${f%=OWD0>K@nz^n*8(hR#HL?`TYDdJmudmR?3sAMijyOe@1ns!wZ57%8)24D5 z*x25KfeiAuS7?KyB`gt2DOe%${)F$S&?YevQp3OzQ;qdh=)SW;n~2K-2gd`)Y$wg^ zcU5R3R($xg6RyIn0>1R_W7ajp4dH|>WwgT8StN{+^}OFzEuxpRx}60K2wT~bn%{a$ zDnkt2X%hy~V1GNutgpqMfl$9J(>Xn$SzmU+IxUVgP_o780vn_#de5nIX`=bhE0D1Q zD;=5my{FEl5!>Nif(;NJ0>}@j_nktQhH)lR9k#(6FThdphEwR$vV__g=sh3rF|E`0 zpE{QoxW1^HKq`(R94C?woI;ldd@cdn0G|Ah14L@=UU0N=b8^Cxt1Q8n}50tMze(GGB4usS}fm)Fr4;=N0Q|QuC;0uD1K_XGK<34%n zTpHqTxbNsVLi+@0yZ@SEIIK_$E?e(@%;ACi*3R5RU_k%mSni+Rj=Pb z)h}z58j_8r#jMCBj%E8Qe$#}!2BfSRBS+);v%O#|Fb*pk*swtv}-UR8o!D3bI0lft{R)PHIX7E z1gZ)6Asw^+V|-!^3LnfsvFPiX=OI$b!GG_;gWdCo-z?56{;lFP82hy*i88=isFPEc zNE|o*!j2ywz%Sg+;C$e`iy4^u;xX&*$8V{-)b6*WCSux$BrSeuUx}C1)RW`|_DQP~ z(IhyN3yI@P$E>I4a?h=Ho7&G1EX;4B^U8}QZhtvB&)om=v6@9bJqm0%(gSM?VMV0j z&26IB5gPnRN}HcyI!@?zl&k-BHK0H3EZ>e{=6E$ExlRF{Ir0r~ow^7Y&WK)vN71uk8Du6&%C!4Ck7bd;U&mJj2v9<$CU zm)Y%*;Hc&rb8+ci*#x(bD{$aul9~oBcH615t%=1%0RIosENu2{|Mm*W#lS=5kQg6u zJKonOyQ4}Q2y#K3r)cV=HhkMVcl;saiSFTD78|5d2(#?FPN9cN#>s{Uo`4j9Q15>2 z)VVac)xHM8BCH%}5b4(|e0C}X2OJYA;#lrrAoh(4ZQ$RKrQu``-WsiJb@wsrZ;4Dg zde5FihCePcnip;_FPx-?pD(K{EJK{(hy`%p#GEesW`$v>Ltvfh3;Z3s-%Q<8p$#P; zwC_Cau{5wqxc63QlVT-Gj1W^}g@6{P->T3i;{8CrHOwN-tDm^vuFwW&U>9K_D%AwR zupqxvp^bP4rUuAcid#(Tc=uIk1H%&Dy9f*M?0hf2|Ckk&3)?tWpeVYJ#R+2N>@$Eh0e$>F-r&6QS{lF9;0m(BO)yzF(mYWems!obbT?BI9NM zph6pPye3u9kD$_E&=CEwLK_(2O&RUz)#DysPu0fT&L}YYR0#f$sC})}Y)sDAapaMnqi~s;;QxO09 znDq}`bI@GcP)q&Jg6b;{zx@`#9W}q$M8=fG;Pk_Nb3neJO2|2~jfb^rACxs;ido>S zcwf0CU;Do~b#_XZBPN9z?$Z-wZ1Cu*b7>w&nOIW`_E^8k0{`}yL0>>l)`^lUj5)>S4q;#-813eK$PaLz( z+j>sVcRILWoXwx(^I5fZv(s%f)!|;hG|Grmak#<*lvo2my8VY^*4b0_sk`&y_iix9 zKsbikn1j}E(?1@w&fVM}rFVATW@llsC)=%9c1UuFD?WXxHIJo7@doCtgFqhXl1dtj z5WWXKRvyG@f7%J04@e%KUI~JrWO8s&f3m`|X=6eRWXpIdTzkxt{#>CA!7JOXt8JdD z0`ByJwe6vQL~W>_@vcCy#|c4SR-p|S7CA7K5*KJlpt8%Wv?1ciQMv?0!#1s*7p_%! zF98-~QZ9f9KnD;;UsRwMMhND5Q+S~6iXnab<4HgC0C;z1*` zxY21Fl8;KF%<;?-YUczZENy`e12f29THzy$e1l{zkSSy=&|e5&R-p|l_!u7n=Yu`W z7y9KD+OQsSTt)SdXgf(#b5(^ll71tK^AbQGah5u-sL+POcnWn()*j3pa_5y5+7MOp zBBJQ%f#E$Jpz^7Q1CGndoeC$X_0Net=hk91V#Jsjb z8=&1GBx=$}I6y!dd~=01HhzLx1YHWEdYUWsmI`fHT6q0=EkWDcNCLdILK{xz7;Z#z zMnpTzn69G1LDHW^&GX(?p^XP@1949mavJjHiT(Dq z=}TIK9=x$cr)W)K{rZkIYtKlswyOYl5Av}+0N)Th8m(T#EG+g9Gf}|Ba=tNm9->kY zZ2FyRR(_J!0LkHnkb4@uG6TqBW7w<6WJs?K)y^9E()_##XTT>h{XzgklVbtqh8J64 zN0}eIYt2f!hnINu+#U(zewTAiOY;scEX_9-JC_8IPY%f!E|-ZWb;4(Y&j`{Mcr(7c z!ZQ}NRz>Vgl2rr4((hS2DS~sX;@B|r;=R=bW(i^trXq(~QatHwv40L66hp&4~c29#GxpwfhPf%D-R zb*pVd*&C-al72?VADKF6H%&1%Aha7dm_3$UF)sfkBi@+}OsbuN2 zc)o}6@{GDgCKbIm@G7B8A~;={RkxW)@$rtq&Y_U9I-71m&QiKXp+6P#(m)-ZQMUn( zQJfywS%CGY_Kh>@Hs=0~fkz!coJsPVX4EZ33tSWttp;>TTJ+d#x`h%${+s}Y)1+fu zy*8U};qyVY!U!X?$q^>b@fmdsq)!{c^^sEIDSvi0-QukU8HThM8yctn>~k~fR+wE7 zHwDe_GRZzaqi)GSV{gedgK)&~_zN@Y7O8wMBvnP4fCp@UaW>sj%7Glof3|q%*wL3} z)NMd-9$5e%2`bmtU!GC720Ouv+6Y#T9D8rAwsaSy{{5+}ZxN99;Y7UVK)2u4M3S@k?j5&uvpapL_aAPhUdOBL_53T2;%b zk@^tO4WeC1)3L1GwPu}DHeT$LnaN1?aN2DE@Y4qS>aJO66?t1zDlnKsrp@!aaQ{B} zg1(!fKqoX-VPHt0i<+;=!y@w|$U6C-JbrHH+yWzTQLER&t{d2aJf@M~8vFwt9+F>a zkh+qqg)>6(K$di*BSBhxeI}igBI6#KP&J`;LTU?<*Mx-mjWz35Yapyy3K5K4e>shc zD{gH3IjZPZs#7A}7g%ux`mctgNZ3Gp- zthICZnsx8&@8>|j`;79AMjys=_`LS^_DOz)UjVLr()%j^x%f?KGc)XJkkT_5nR5R6;=0+&fjzOI!3z!UCc#{+IYa;3BQRwPx*Q>Mj&oC>LST z&eAlp63rK{(;4y?7da3ZX(FuwM99aYOM$cUoo}yM-LZFmLj{F}KrILgoe#YjV;vWK zpwFt@>ysKApo2$--EskB%Rsp;#$-N(zO0k)tXT!ve7Ml84@zpMv(%MUtH7vJ;ax!9 z7Nk1T6nu54m6;ByxguRPUMWIXiKv2%A!-qdobi3@d8SS8pJt;37km z6QBTLfWqBhv0daqC38u3z(PfKK|fHj9n3S4J6CwPyQrT#->uq?Y6M60T&J2v(YOz; zS*_x2Ec9yD*W8gcYw!;ThO5=dm!v{_gU-rTP1aygEIbqN)iJ4lm3^z>Jtz1xsZOSELwB>>IUik1$ zTQIz|Z&ES^2d=1M*zA$o`vDu{T(1doSjZ6b3i+W$C7_nxe23jbroGvi>P7nWOv#zj zY4J@H#Yp@tkq(3^6i|Wq;Z8dQA;5VYGc1i?tE%;ymS$PeIW2z%}Hc&g_TRtp7P! zv&}pZqVr9D2455?#I_NY7eJeKX5+_ zNZi3%G5nJBbwKgD|g&LXk|bwi4FB`DSq#vXoaZ z6^K21p2eR$sq&j9wJbz01>%ku74`m~?x?qnjhtg4h!6*cYNCENn;6?h&?Lh01F;RN z2fqFD*>ubD2Tm8;MfAyC2ok@TO}A3xMlK0740!@#v|rAsTV8bsv@eAkgTI{rtJ!qx z3+`2phM|j!V3huPM&05V9-zR$xyTh*?r&z(ExU$~!lhu}!W5r~M`zWoypQOv^CASH z9sPDT-6Haec?@_Af)xbY!r#rP+aL&i1gkUv>j(|7$7a+mcF;g@1o#AGG>#viO}8Wl zQ2t3{0ZVXpbALaZZt;jm5CWe?O`TZ#_7k(|mI{rlF@p!m?m{2vuViQG5qIpltFwu6un{PcgWfx zaf44P1joqn{>!t;ijmx4SXoZPGLjkpyGqrR~{XQzhCh1 zBx2%2;(4OF3n&G)Cg^dk{OI!8b&X{bcrHk#hNUTY+!xNSYbb{RSyOTd=nqn(e$nx1 zPNqv+oJ={$yD&8Y`tV=u=P#bF=Pk~UpY z>%+cFl@@uyjjJmEm9V(g=Z%-|PCyYiiZiDCxN*?Hjs`qn(EgM|117(m{k)8nnvzie zWxG0hf}0w42S^Y?^2S2w<;Q0Niy-p}vyz^ni6G7vUv=E7N`)7>G!SZ>Nr90Dx&Mme zRzljK_54QXQjY69;5JA$(WWc|>7{noX{68xc=k<)35o7c9=S=b8U2;VtqV4Gi~<}g zN|7ZB#bnQ63!zyN)$7i}LWitn*W@jbbK}_n4}=5A5yUsarTU)zs^i<8LeMLX0l~6) z!(`#`^6KN3vtSlRPnVUW|OCK^532D}XP`~E5_4g&9Zi6{d zz+OqhEUF%tzK(w_&pvQ-Bz`3KKq8z{{A-U}XUy>;3aJiEAb;-dmaMvs>AS_bGw?Ev z1_VX|9Mu4Rz3#X*xA{8CJaaks4;a;DM$2iZID%=PQywsVQt@5{tMlsP6|u*{_{!Xz zloYZ903Key?Q^yz`2>5(=hP5$z1M8p0!AN};qW6s0_PwC-*Egyddeo4d_j-6u%E}L zcbIM_J4dk&mA6XKIE^tV;j9ThJ=JeKZtdUvs7}_~fu)?eHqu$FV$_#nh;s?EEi`YM zZn55C8!(7*rkHi%aqsw`UaviFowLnl7FT^H6$x_zXs7bXJ6PYCsySF_6hR@(6Z3)m ze)Dnb%9Bl!;+>L!2;h{ws3U|QnTDIMqnueIjbK`o0o8ul=Xq&1zn7Jo@HH)oPmKZ3H@O4n;1OUY+=e&*CKaQ)H zh+1~0u0mV)V%24;pD$lNyZEvc^MJ-up!mS;0vLz|O^lC9mb|^nDhIJN1qlG!6?Ihb zZSR=bEa!mlQtrXFFpmWA`OYbqzo;O)Q}aXwD$BfgP1g-3a-=*xpd}d0l7D#jwo4Or zaUua!HAp9c?9lJowgo;D7&PE80>~C;L;tT`(7b>97RWx6t#eHPSr!4853q3$wwxiBz1d>@m@mRB(flsI z*x1HKOEnv%QtWA&?WDTJy*^aw2Z`AS=|hPnE0%mTIb4>W@tO~pN*)ZLx06%(3(SW& z{FE!j@QMrc{TWc4dj%D&M{1Ne5Y9h}=BQ6Z2EcFZe|Y`Sv;`1VvZzwSl@(V7nXQ1p z1&Gj)cl^k4>;DXp`qVl>-6Cf{sBUM5XofT;FZ`KSP{)-@g}4OllpPCxsyC2;pr`jlh{A z=teadBXaR0pxKQ!&Mhak(~7`YeHlGE%RQQyY948hOXo6VrI$|#hJA|iG*@d;ZHMTC zPP_>M%#Ck7sr_B&2(nR)rQtN}D&7c{zF0P0GDL(C;&wgI#kZXlXUVQ&OQ8k?1%zFk zDTy`|CwuW32M_I|@WMRoc!~RW86zD4KcyTGoH`YH=W{2uf5_kBt>y>0Co%)_AR!O1 z<1xqS{-SJgJDFnHA@blu2H}Yz@?#(vgCb36eZI;d4i<*!_~XKWRxhHxU#Kz&Hv)bf zZxSrF5R=|Jstl3}9h3Eo#3l?}JNY7Se6cvTDlRH3?^}xj2(QX9vk*@6icH=Zr)e}= z)M7FwIRIEd(XhY}cKFgsg(m2l9Bo~tqti!dq{ew;WwZslDO!?}_jLdzRO_*OlJy^F zuNrS3{iv~tBhwdP4FSkzN}5w0h>6|1M@L6U!DJftKcD<-?=cNDqmVZzjR18;29kaG zq!MykgS+syv_zx2E^dPlwdGp?XV#~B9mN@Mf|vMr5)O9XgjP{fe%sw^XT>K#MThFh zIQ55i=bbPfuM`X62qXijrC29VYE&#cuc0+&o*&B!khj!F$0jIH)A?Nc)pQA|w+34b zSu`qsPzhzlnA`R(gtU6~noS4)UdsCgj9B7!)c?=Mv!Dq-)Xv5Iw`&s+)I<&)Yg_PjtL<&wR-@~@}A zaP8IU-VfplD)SON<$t*61$%d${z56fr_!2ce{X&5{`^EINeaS_I9bS5{>qM=G=w(B z_9EO7A^oiG#7WU0Bx`1orT{3;(085G{$+#Le}??DNdEHWg-O%Y+%Ahh9-8b+ECa$q$kf|@WG87{3A9w^CTW)E% zV5CHuIq)B-FhWc}g&}Bzunp-C4m<+7FnAIhKCNB6YXaw?!AB4WXeirYEl8`K@T-H5 zK+0vJB?z&MUDVRQHt+~Qi=j9H)SydGmBIS@z#{}$x8ePassX;UQR+WD@CXPx5P;h7 z-2)4Jaq!5%BSaY9Vzh%*S|sjx*`ouG00@K@a)2ThKs-wA->5J`1Q9u8QiYL$?#wp_ z9)bD-6jlo(E$qqgWBbj*9e@AsVFq z6SW2taazQ_&?F{MjHB<=8Vs!-8pfzNK>!H@{mD9m;eScR2$nVcJsKwNck2vBkQV4r zso^41Bsb0P)fr3{HxrLsxD8kqWd8SS4TkUwx-`_J$;t6x`a!M1ynrG(o3g?CVmQ$c z>kQ_i0vy3hC2Ry+56Z62V4eeJTGTozAdo6rKdv*FPmKV&4kA7V+F_CZlRAS@^6_Jf zP8v=p$lI7dtut6&R{;k}jRw$Q_Om*JAs)pB0`MY6FP3ff=k*2yxr)6RyHXm5zW$3^ zgJpDJi7W{@upFu8%r6aa-!uYI>+ye6YcNrHAbbtztx$$@eoIff zMI)jvj=VM1c;v+BEhFict~dI{W0d5AS=NPv^2f(|Pj2`=mRC$;~zttf9HE8%h3!g|9D#1#)fp^(SY zDEI^Dm)w?=!iaJuRa>|eU0OD;4c;)59R|QtmXL6H&!}vRG<5m|S2`(HrmZSV_fTWu zE2+?*&3|z@Js^tW>i&X?5DrSNjf&o{epEV=k#R7+NGT%Py9|2&RX@tLh9!B}j|~ zb(w4up!89{RE~yOi<@F zwFVQ_l7yrR$8qG`tjp^RCbbjMP!okg{5SpA))|a@PH8JZQxVB5LWkGY84Qpq-ALNV zl0(A$x}wftK%Q_*rE4#cFV{$3UuUqC&jg4Ft`TMqgn@6UHCX0>1Bg8nLCs)-LN=R1a!0z2SjY-V z7~edny?oE#lKtgv3vmqR@2A3}Y8ZNKBP|Zr)Se4EIg;$5o&QL^jo;)uNuk$7LD(R} zLTEJvS^yZ$GT$<%{qr6{tX--LE|0PO;!fV0N2{9B4k25!Y>%b$V00nVeP>KYoMkjBpGfhIQl|5)c zly3=>QuFP#218*M;9%f5sCyxT`Hnh+MG$uIPZ!T`L1XAw&1q2!5~#`x3BXlw31`R` zRae-knl82Vb;wqM5HMMwme5#55scZ6X}k5#Ijv;|o0sI*+6UNaG^KUCPkpVZ$4fDS z!ZJ44a32Y&f~)7WT@j6G*OnQSV+oE=aq3a1uhO}Nj7fw|T0*bOPJ(Od+)^N9h#XPQ zfLTQ)(|y;#YXU%0$nHF1>WB%ZZr9Gi6g(_9zO(Qn?0wZsMXycpq9gn)J=gvG#5*fp z*5Y6A4~a7@&4Dr_1PPw_-E-RMtspy(0+S~AlbIZ)x$nF~hxWhh@aV|ly@&Tp`%@xG zd5REYMCBN4A4b`}{hm4P@A9K5`L|oLu(t~!ABP}7u0b8G1o-Ar&-u(^Wk=Cpt8#rk!Rb-2ASw^|g^ z`2`(}W1tx#lM!A&Cmoa_#q=>*s_n7)tGte5PXbp*hX(hFo=n#ON)twM~c)a0A8x zd3uZpBp!+c#viWx%27EFU0l4x%M#d;^O3p(vNjnAFc3b5u+&2TqpVTA({W?yX};PW z3#VX#aJd%N@PI?`#lV||8UC?3?f+Yc;m*OMyxXLyN60V_q0NEh>Ru&Po&zF!KS1vx zBgMfyVV)ha3tS+9n>JWO=+V&9ghQV>vHS5kL`t?At@r>rFj|(wtq$1m^fmz{`m2x$ zSSQdN`UE#~BXy0n4R51xC1Zhb5ivDm@M}i)$-0l4U{Du%RA>c>m00Gd>JCVxX4r&O zkX(^L4vkOGX*X!aUQ%?y^Lk1IxP!-&BLbvS1A)2~4s85~N5iQLWlcHv_;{M^BE;LZ z<=Cx5Xj!CF;LX$$a9m_i)sM`O47qv)d=ch^<{k$24Rc!14MkSVv^YYbM?W!3RLk5R z9aB0BP{M8TZ~=Qp3C^)^+~$1;p&Ls|`y|yi(xvWa>OL_O+z@iYHdQ*ljm*#1iAZQc zMXVc4P77hjIJ~LOU>5q+9w2yJlUQh7I_CwM3{q{sB4j(MA_|g+8Oym z*o7=sGDj1#(+k9yBn+M1A}UlAiw5u`%A`mT+KwXvkDuQ=nLDD zE%>-pvOkgL(09Y{?v6Tl%NFr-#3nP}rtf3>U#v4&2o25+1eXTc6KRz%ZTGT*v=1kg zDt5$q!!K|Bh-eVt&H(9_x#3aZzjIFee{yB9*{LS%Hu(>czEUTS(L9Dw1V7zo2lGzO zY5%qNPhoOUG*EvYA(;XQOa!PA(6Fqzl3^Jg74ijQIu|t{K=$(`j}!fNwq~@ysH0P1 zIaTsFc27(?#X+1sAa(VHxw6vY$b#q9cm>O54`RM&D3s$R3`8ig{KYx#MZ#?|Fk zypR?@6dpe;)qhogr}Qy1CGm6&7@z(ddLw)sq|TRQ!bl)ph=%|cr!6unL<3_-N^MLbEfQ^ne$WlXI*`IAk+Zuzr@gGzj>&_={3jvZ3iy0R8M*8o zPY$C`wCBv(8Dkg!F_n>J4zhxvNaBvaE=47f6xqt0c3jnB)U*(EctOdQ%1oCYko=-h zUCR-1MeW=LOPfWjJ8|l1rJ;vJAlx3f zUTI)wRMhU8(@qreVQ(6g!@qM6*E1EdpIR4>aKHz+hL(i$OL7hPCY5?1T!pWY*X552 z2(5C)YCX84;fW|6MWBFNeU5y82H(nKK69Pmu(9`tp`a_~P z1h_}ql0p|UjC<-230qQZR1glNuM2DM-ugpgua}sV?;&slt8&u&>JN$AQAmk3MYY%F z#dhznKV*t?L4w3TmK(rIgZP0V3`qx+$&2G8Ht5hI9-PxI+rXeZ?f`F&Ps}tkJUs+x zFA=pe=Y~ME_FLhqO9{CP&AIUp4Hl0Kpflp+q?#=M4@sdo1#2%E!+!M@O|3(NEq6Jt zxWUH4n<{%U(;B?pSLd|2KfR=dOYf3;J2)}TQasWKCp$PreF)FWb|(|q4$c@v5nm(X zDuk~J;V$(PB{)&@qDs0iPiJ~=5~d_{7ule_kb*KIx?eB5qd_CUH529d&^MXN56_{c zkXMm}v^_b|RCZmgnqc>*mHuc0U}^+85g`Stpyaua%xSOI`nJG{9ec&R4i&$WEr@NW z!yUe}B|p-sbEa}*tT5Kub~hk1!Sn!!f_bmhbRM14{#zbqv_!Dfa?itPRn2Uq0r=#+ zT(KZ^!fy<^?E;tZ(DS7Dm;qdlqiL z4_UD1FU}kXq=4du+6`4>M*O0cc51##2Vyt`#*DrPnVRW-drmkbdE;Xg?SbYoDlvHv zw=7&_ROu`2(l7Mqccc807S=nVorN$o;|IJD0H!| zc^8CyJ*`9xgchehP9f3Sph${nIZSR36E(WJ-;t$3Ud^s*NzR8>Y1dhVk0U7(A;<`J z09M%UnPE8o>K^_huK6U@j=^&UkgsUDN=f-c!9!TLi!N3T0Z0Tp}@o!5X z$j*z<7`E-m+@d%3yRrv@l*s>c^Lzxt9f6BswI$lnOE{ z8XHYS+6rD$jEhbC55&~HgO!)ZP{K9Ty(sdc%WpEn^(=aZIII;5N`zd&?+Ruy zIw2JPL{pj%0p#S5C5}O~*n|Wr7MFrz(El`?Rn^Y`Qd0|qK*lcPhkvFy+HbAy&{lyI zI5l&+sIv4(30WrinGnQ_<6vuM>CaY=uvmCWs1R!=KNS}JUj~l$EQ)&pW;)#DfI|Gm z^V<2nP?Q!3MF1#;fG?X+0an>B=4lTkj2E82CJ91>pvAj#?wU^|dLhYogkFCUBlv*$?u)OfgU^t)>F^r}cHNsg0 zwT}@?He52q5c?!54nQAl_p*8I{~8tNxtXT*>iO3EF8CvPedpf}|GV5O-ZPG;Mvlb_ z*is}<(Fb&1Q{ot$z-+J$)OH|hpbmQZ{D%ITFU~#pMi5tYD9SD&O)CwB5utGiK^|eRzkQ}h6 znD{8Zv-AgVs6C?ZLf&Fxm`o25{d!~V5krI4I=b!%t$`pm%s0(z=M8!vB@bJ>l|_w= zj2WsB+D9JtZ(e4;c~}F}&A{sl_KM`R;IQ8^tbySuI0CRV=mOD!bgvxNz-g4kj$;5g zNC`S^=dC5?H{x_)yfPPnF~X`r^0s+xX1c#tKq0u0i=l!Ln?mG;l9N(lC?OKi{VpPq z$OkydB--K!^QwhhsTbH z62PS_x@sHFK{(_g(Zuf0`h}7CJGbE+6nkhGKnFqN00@kEb&0t{UkGtoVT#0Z^6Q$%47r5f9R*Up~aG1&$YWb}Nr_jr%5-PzN-K9;|v2Wa4k zO|$>*ojpBzIn+K(sM|Cyqey?xX7hzswp1%1YS0(N2g7h2@Eyi`=e28kMV#BpB&~%- zOm&ET)M~R%^F>w8x>l>UI!j&yr#+`?;i3|=Z|0&s`(-C?{ZsdJqWgy32}w)@_XjDv z_szHPYkk5fxuRkNqEVO<836pm5W_X>>o&U+t?-K?0;CX-bCD>t#@ClP20&T}GbxFI z`O_2$-e2MvbTn~NM|BiTO^jT?2g)1+G8~kjSjnfhmxLdj*ZjQj+g6w<6t4@u60x_4 zs1fuuj1-z0RRA>QL_gB`5HWpcu+(yp8f}Ys5v#H)9Jj5)K#Um>-@!Zq> z4-akRjJ`AKq!el(p#k|$z<>$i71TvN{Md8#K_a9INqk+z;4o|RjgObOizbd#E{2SLMDZz(?N5|A zMgT0tkyaqOVYu9Wvcxg$oq-8z0)ZuSyu$_b7&*QnyF`px=F0JiP|{N@Y74Jf1EIIqn=CzsHkO+p&Q8cT$fWfsX- zg*K61?8euD*q?1hbOOa=m+IkX=C#G=UL$X_#js-ESG$FkQAclngV8@iMbPB=%6L(=jOF<@5D8AUqG>3uYY3gz5&Re`}Fr4D$6!T~bl*%#)ur+4D|y02s7 z)dkoC5mUZKw$_%e48IlHP6CNu+ayM2K}$_om*Dpy4CQf<~>Ndq)BKq))|Ix2k3@Fg`tFZ;+=Cv>5b=uAfKj z)#rB5VWh*teNdcMH$6G8z4iad+fm%=R-It)>`Y^mbpq`R>_|Z^z?ViDEu5Rz-tpIP zTY5Lh^(!c}ZEB%t@c6opXmL2dL+{UUmXOV3`_{VLUQ*oa5U+@m!Cwgk(^SohP#dF|@Ih8eRjS7e8KvdOxOI#>j{5YRKy7lx}Z z{gvDt30wDHB%#nIH;1-UhLjyl6N8pprZ3NH*FH~Xj(q-UJTB1`7+L_+vtw_)HHAnh z!$ShIg~u^fmX&$!y1$j)KB-=(m?UF$i;*RUws~81a(3=Cu#+#QYh~t*N+S<%t%Yp;q(nY?XPn zT7a?~_1VNwPCzyZVb0KmjO<5Wnb$tK6Su1SBD>2Tb+f4Qg|(iQiPpn86G=F>wsfz5 z?by~pXk-2bVlt+9c=x<^&Ou7WWU0?AqZ;SnG>Wk&04lIs z_snZIJx^|0I$z!Fm;%0rml9Bw zEOrA-l({=!+w7PE=!IdnL@qGL@O2|Q_{uKH=-oP zJ`~ZgRR3nFqYwqcRn|qih7XA2)VE3@7O zBmFz`+DrS5(XvU*KSLW4mH!BLW^{5ae1w2p8%!eLgHa|`T$|XzGiM4BU$emZR%-vG_K2Z@PdzJa z7O{;$tN-b+_z{qQBGh-0O~Mw)bE2OOYv4@iNtBdr_J%anv!9okm13t1FbXZj7;&dD(inOv1-f>)h_$ho??3nZQV*Cds5ix!U8+ z(vg$~-Ie&i9L}&X3UOtlorSp@l8XMX%G^(wgc-19&{^1!8_v@uj)A2Pj}7)JQp)s> z(qET22FE$(PmBUHYQlqvt`O^?ZyqY!9C`dLJl zLRdVW^DK*6=qxl~(*r8U#=wqXip2h3 z_#9m^ML%AqgAy*zVK(U`{?yjRr?x%@nE*`LQEU$2fnbMxNr_|7ytE;=3XuSMK&HQ{ z#4)@pG4}_{W>EeZtX+Cadr_`$onIB2o+!=I>}HV=Me9B1N#ZAqhsZO_4S|#9!4`^j z1Bn;Iy{yDZDT)$lnlZXC2p-zzt4kacLS#aTf;Jze46>xxlsJau!3IF61L}7{I3<^t zI3|N9g+6EM8Hg=F%zEu9?Lgl$21{(w$(Da!Ydh`UeFB>BY$S|cD8ayF9m{o*C`6d{ zb*D5hLoOyYckg~>6Kv`QqI{0#|E@FSu3~@<&J)uZ4h^aLWfr=#E@HNcWNl61|Hy#XA-SUzv zPiYqv+iel2<^t9Sl=Bgdld~qq#9paq@`&&=`Wsn4r=Tldst3TT9#= zWZZRh6__1}O2lFGwi3rAq{qAmx(i1M#;X7JQ{^iFCXp`2?4-${amWkaajGt98cYxC zKmwIhk6BTps|NTq>^LaX`1Dp1lBFV{32O=NAd0Vr*Lj!{FfS|KfhF^uk@*iL0Ca<6^c|w5{_VLFyJEkbx zCJ5lh_~lS}BsvJJk8kVCfO@eTp#UGdr1uzme`2#wSQMxtHrU7oauqNi&=dV+?T3cw zO>Bzqr?~f!sD5f#4=vA-K#F;pPu(vYo zj9l;YwXd1z7yUAF*~EZd9c5prJt7j>SW{9JM7o`YmeyDH$W4T_zA=&;zM)wNAy#)w9tJN?RC8h!^yxn$tK~Z0 zy+a!~!|)MTX}Eb5LCxg8VGT@87DHT&!r0@`+R5%8+Q1nqAE=xl4hKWPaUK}fzyVVG z0YwOUU!1~r9~{=eF%r=%)d|WeB$}E3(69!k@jwmSB^yZbY!98U4sBp=FN`ks{){Xj zPQEs@ff2_`LtNG97V3UxetlR2r-*UGwm;db4)pD6vD)#O+?rmiJnSt4r^2& zbej`?`;@j$-n{Q6Mf2ItTA$aCZXVr-}ZfZGFAzK6-dR;$s!l0WpFfm$;)e2Lm4fkqgifBf; z!^zmxX}g5KC~-{c1u^9eq!DBA6t4Hwwmv00v>@z}3sOl(bK;ut)qF#*KC348m99>mk9%Bd;xNGXJij2d!Ks2*C(a5;)?%iSev?WUXlnFd|ewK4;|LNY}RYD?p!kxDw)0O*09{?B8zd zl~Ei-fsQJ%)A(9$vC7I56qnJe_!Glcr`Zm1PQ91R4l^e52Y%KhHhZs zAoX~dN|dReIi>y6)<(X)y~$oMnop3gi#VX=pa|vuaTtSw7Nm|qf5yiU-LU*W)y`E# zSeqDz%@@ZsP+EVkKVm>+m0~XvpnHeM>$9~-H1RPC5L3`IA~hDYztkVmMlF~k2gO@B zvYvJELS0Az#@`r43h*Yi0N(_c)E?0maY@I)@(fjdUWHfH9ufR`8~`8zQiLNx;$K>O zL>5*218{kvTN#Faa9QmUNj8DZP&%PoBop%0wMRq{7g0H+1VTq#zl6~*1#sFV3CFLIDs|`od3FE4Q%1JBP|dtCgB0O z?iIrt*w#VJIUtr0l#bwCyna{%V}a)iQZB+c0$^M4hG7j%$$`$j&YVT%gh>94!y1?n zlV}v6G<9PZe)mm78<^k*gKAvIAQP~gym?`3cqi`DF8y3=L)e=!BY8`SV^}3FrO$oA*{^~8Zd9)R(mNhDHKM48$j1lnRTqU z*B%i#cPM%mIA?h}x$!${k0|&Xm@OG~W13CAbye*V-H0gKMOqoTb-r=lS$jk-l~yRs z1IR7los6q%j|jw>d>`pN>dz)7rq|RSG2%T0@W!i%s+AL)@2WpyLf4NqD4-}rKh?js z_K0{LLmKmGdHUe&JmcN9M@$g*7gHn}V(6M?{(I_=2n|y-vuR`?9B(A=tvw=jIQ9zo z3>N7H&gJhL)(WX(X&xf-E}n|e5yI<+H85C1?rTW?3Ix=4v+IX7Fn2VgsqAHfu61?) z{lgkqaLkgf17$Z!rri%LY$tA&8$&Z!_bKS(XkuF*EU~(KR1X0@(!xp&7$n|@N*p8p za&*-YX#+1AhQWtR90T0|Cmx5I9Vm{_k3X{6F-6ITt}0MYnlonL21e$7w8SykJ~+6> z!j?8D7KO>j7RnVZu=9ZdW+(JB;hR{=$2U7yQCceE!LtH9uY~OF}O+m%)-reEM7mg>R*iVZ|AnhQ~Wbo!pmqgV{KeO4n ziu)a8QJB*CqT^wJe{w(DK35;+sC>S{-XmpmIiQ`O0<)~XQan4l8_vTo027OCBhq2(EK`NU^n2k*w=NVH(0#A_AzM)>`_{JS2 z&X4&VJT1fnEa)d_7Jjkz=1sK@X@?Z2Fd{3~)GyT@kxLP$QzkIrTsFZkFKGX7L7&S- zA>fA1Fokm$Y|5tc!}-nWrjX>K3JG>rJ+lds(f7q8^eW!Ci)|2yT=W zV{SonljafCddq#BXJ=GnGi#2AW6f8lqlL+HgK7y&Xa+I{OgL%&{DSr(rL)m;kWgwH zxs3#*_`~8uJ}n<@G?|FSeuo4b-yY95BR#{CDn7NK{pb9nEB6toXVPuru_G~o00zE+ zNK^O=egBF=7-TYECt+ptNP@-we-*>#qcfY?@>o27sqbHLF=mJ=6+Ba5^HH|k_phMo z10iG<`Op%f|E?@(|98iyS585Ed=r-$CK~*COkfgEU+w>As2lk79>k;v@}TY9wSc>} zdW>BREE=m5)9L7B^VkHlvqRRMGeI1p$;5IYX$?lFUs=%paf3JiPEB5sJDvd%!#(u)ypMb+endbgVqfnqGC1!`Pd2tjSG7pY zIYoV2R^XtUZSfs1 zLOg*dFN>QCPBhU8Ea=t4;7Y!=p#5w2cGtGjJ35W|PZ;MB`Cj#PMDdvMF&RmxRD>!P z8Rw4Y1{sVF`Viq1L;|S&nt(>Wy`WvBNV8(~-53?SW}(aH@j%XlU(cyk@;QBvIzAQR z5O)Fp-Sf}FG0a1SXktQ~mTf3=viYJbL-EbX9$U~Z*7^=3@y75@&IKLE@0pv(hrm!y z6s)3{S&Cs<`uKu&eA_=merillEiedJ3xg?6V*iN+?SWpK#a1YjB$8#VNd%7exglqy zeDJ0URq`j&Hz?{IsUsUzrYQL$|vFJX(K$= zoR~VRIX*Mp`&kEHIne1Kt70Zv2yc=0{GiXH+wc=TpD#{LOaOzZ3sTbv&;Ud*>xT>4 zv7UFW<+cMF@u;l#t(U*UO8Zc;w46ObsG$;>j<8}Qw@ae`R0`B^nE3$qj~28On?@~Y z(Xwslk;^&k-3NAcN)MC>UX+;3#F)xr$#N+MB#?59kown;Da$B@%0h{c@}Z=}6l!FD zX z0*JW&_d?y(N{=zWRShb!)C4FnkVsPMvwpFS=OQgLsa2qffs8n)&ZoBVT#hMPfdCRx z6aqkI{c;=66~$Ec#dVk3HaF7$)i$0BT(;DwOcUZUHoC^s+i|XOGId@_RLmnf9HJlt zIyOpwy^ZGrMZ>OuQiiZ2Q$PI8g0^pyDK9U4zn2|wo9LCI_LZP&5&FMvcNjMBW>5(B z*_eng_yA1P-z{kOZMpY$=${W^hw2#Ze0mMyep)jG1SQX1a1F4N04Ia=_Y2zn|Di8R z?X`Hen`nwVahtLWFKaADBX+WB+kMd;Gb-up!5{X=(^g2G4P{{H)Oa(}MQI|4|pI9wqcs zi*_`H_$0Ow)BH2tk$jczv%JoZONnT7VhWeq0+WwSo-Ki@m*_g$ica)w$@LlYYN&T? z5%e$+Sxo;@@;JfnP*jHPg@`(pu!|R4Xo5Z;xTCwxInYIhM}nDv9%cR|WsjqhP7xAr zqXl}wvtL#6I7laS?a7XaBybRMFI}wCq9Dixe(%KCFvh^ijLQ})mf}sY9w;s+Au%(U z)K^y>2RCS7IS4eN&g)v%YbuW8fC{7?P4$};8P&tfD~=-?>oEKQpOFb5mHgVOqtiae^QFR=8$k2*`+Mr*F%I)hbjw90RU<;tafpK-C z@C_Bm$prOk>o&#%He^fvjf>A4w78)b8H@)O7C69waj{jT8Qp_?;zyHdT#|4oN92T+=-B2uu^|zKh4oQA6 z^d$P^i9o>2x0O6DC99+tPHTl+%ni-AFKV$A8P_%RQ7fDZr+{n}-xR(=9abjP3Z{`; z1qT2OXM8ptJs!@)4cZ@4zl8!7Qf=1}I-*7$ykl|uGG?sP1e=d?D|ir)Nmp&-xd4iS zp+kxor3%~z;&*Q2xzHi9SsGKHiU93g@9J$l7XlWvuK^FB(2AI9dd+s6tH@%J&ci4J zJxS~@JmQFVEowj0y5}IRw~6sif853fez~3A6U@V0YFX(lR~)d{&~VG<4k^tfRW+Js zt!g1()o;i^3XNxxg`@Tn6EOJ*H~H5tYEv83kLq?Z*NScp5O7GH;5z}L2|{A>?j1QR z*m+t4Xeh9XGhM;Dgz?S#&k-^#%B25#esn>5qMSUGgH?@Av7`HS1IBHe#vIW ziU%?)BsjWmQM+)@-vWF2o4nB(rQ*YwRm)HsXQh%}bFH9$XleZj4 zqZ2c!RB{77^ogOMRbiSy7=L}G4=uvP&{bia<6mlo-uo+!0=?acZSsQ5pu8Kz9~jO~ z4vsi<;Uc3f3L?QUJ~*6VF-t*4-(WvX0e+hHhZeOn_smWMJzJwL7oe!-c#;B79T{uJ z=>hqEkGR+HJU}!_RgQfJ6>o6T2-HAv`S7Cl;!L2d3I!R>Hl;Lw9;E2;=5!-XUdH2B zkOh!8dGBF#aw-MxCfg>c9W3(!k3yz1=M@J*B?ufu< zUow4uI5x}7#J?st~yT0#7B4~GFdQ5Rc@#_4m4=+&v4%eV43>%jTOhCeuyZ7lD1D!tJgnM z>1hEn10Ib-1WKvA+RGqSU1nZN-NvNa`)a-%OSuGdv+oQS4Ggh`zP<&7|I@cG75LDlmpS!In3 znl}Q)21m>q-T-5$~&(ZW~+~AJ#mH(5# zB%I>h{3Zutr&BLwTj`h(2uJbB_Q@BXUC}ykAWwuqp|GVwF!GN7rAqIJ89>gCsYD4Q z%(m<=R~sdApa;YMq&6zq(4Cb=L3;r!GhQS_J5f>#PgWX5bZ^j2gBYHPwR136X%seE zsFGMmVsC|4v^`&G6yd~(4iQ2;5XZvgRJBnMDgZc-d{9cHX(tPdC|w*_n;_jVhrYgn z%o~s|ZM#6|R4BSf2>MeHM!jcoi1QMHJH;~e%wkG`V9b|F7FUo=h(O{&qXD6u+Sc-- zc6QiMOo?#1DdIT!`WcQ*Ho{1P$J2@9_dzF`mXI(VOOHYUA=qQFku|_dL24YrSB7V*u> zAAu?>=6%$4Y5kZ)z292YUZXXWaRSfTnQ7Z?q1*e-xUN4_cWe4IRT9nrnBu3BcBAAe zp0qD`;jVrMtj$gWWb$7cp&_9SA@a8?t*qLKiIHjaej2zH6geJw5(UT`CKPp^mgnt-Pm_pLY)xR^G52zzIn!srl zo!JPg?UTb9mI^N-2bqqDGL0T5_^xynyX)@Vl!~eJ6|;)+*$esUE_IfuxfkQ?zlh?O zDqAtf+SO5>bPNub%rJw=Lk^$%-(w3dIB+bV@$TJwr($K#F3TnXmt;(O%pydlMcWUf z8aw`eiDNuOy>y3kFQn>>RN4;~wSUZTFXY7-&11d%C)Q{6+ugeb8+zvK3?ScDrl#{! z;t}B^(}$*!?f$UB7}PN{lQc*MA$y2^RACH|99BleX&`|qUN%3jG6rrU4)t2u>V;JP zlL}*?4<|N8F*p&xa!L5pDr1N}A6Q9@7(}Vi{#k`FpgoIBItnHfUkH|dUSSNXuAU!Z zCyG3LYKGn~s*Dlh#v8d%?(swbGV@f0F(TeokA`@R%QY2d@0V4^NC0h%=Pt(cQcnI= zg)tHw&N36JU>D{kPxd4VCk37OcZ-_YORheBmW&Voch-->{Ss%-1jX_YvOWjd$?r=Yg*vo& zIZ29X1XSk#Q0ge#_FzmSibHoAoqzM0MQybgR@a}Y)4S$N6Rd-Q(`V7|KTgj0IlDQ2 zq1=J$^trq(0;npZQb%9{+|$kexTt;QxwxFXY&L`ovXKu$OApklE1J&XpBC2>0{h?B zVLu-QA36QR;S-Zm@~iuxa8oBUb{z_9_`Cm99>)i?iudIu?w?c&YSC ziqKF@;_f4N;h?YUUb3X^&vS(CQseq8x5XyU`Am%jojtUoKwBaE0WR!SOWTNKN^sZ% zgJZg2ma!tcbV>X74K|~2CX|d(gk+FP5!O2e!)Ypr@r*P}MrS7zY_faPY{PSb>f4xy zkhW9Uy=>Sgpzr`&Bch*9T7dNZtC#477x6HuKYb2T-=mY$MBsH=jOp-Peq>Fj5Wjy+{+&wkY< zCo_;glmC~$*b5S8THf1ZA$ST3uG6qTdv6uS>as&pi=Z*)WcuYxTFdJ$dxRwqYW4flxfv z5cKq}*yi)0z=sMYddukdaX$C;+k8IsQbRQBumD90%#YJIENL%TLxG$*J+ntF>T|>h zx-1lx64rdna#4(YuvY*Pj%`Ya zB?gL+Zyt02Wc6uQq8LI53d$sW3(NF0bv{^=qtjzyB*m^Hyn7@3E=?#p?&D76T}r{s z0z#lpM+pTA(UnWue{Yp5yEv=BRHQ!FNQJdp-WWbY7~DXqiB!(8qA+rW!p2`I5?e1?42QY}KjLJA578h%(|yNL3|yq|Ad(#&F@DOt>@CMZdrRy~1;o};iW zfj>)ufMk>=we$9>r>DpY;vUZ~(8;9v<~z#ogn}*xJWe(X?k5VvtN7$w=M*5$1CMHe zM}j3v?e8pg6rE~pBj{N|E26iXUR~-aO7()YKuE{%D3jaQZ1bz?p_LqCfGkib)`;|7 z+k8Gu(R}#GL5iY!Le_L`I~GyJZFVn&71g&nob|t`-~5eacoSJBsDPrlFDmy$QjlOU zzDN7|-AkGw$XG!D6cw@41#TvdcnEfl2{xq$>X@dklj>na1M9|m&yp7Bkx-w~dUv$Z zUA9p=WRDb z*uys{T6Y3YR7N@L^Wi#iCmH2%)W_hLT6(10*DYy>kAlp5<>*tGoU0A6eo{KNYel|;DTk*!80RKW!l%5n)xt;fCY;+Ie5Rw z^xwavowc@U(6DIoK&UAkD!wZa9yE#Nw>>Qs@d;E8?6@EpzW;$bn+i7cm>&@Npfrtd zul>RD>rG63i0)GqgYAI)>wIXbCFjn4?CcgCR#lS;LGkz^ih{WWeoqmeZt;hgwEtGD zuB^;zO)l2gcnqisM?lClDKsKchM}34m>=2thzz4r3e|BcU7aBM=$1zSSMVdm&jMVA zAz8Q|+wuqm_fcQf!6ir}Z#o|z>fEI*%`3*|NBt63s`Ckg>%6HI&dy9QBkAZQf+vE` z5l&9ZDxiQ_l$_NM0-ngBtm4`hqOb#~Bc`Mm`Jde8B`^X^flD?GP|(4C=zVHQyPyoX zY=&3yz!_^XP#+mUs{0smv&f;`?$U1m^pf^3C5AqjyV`9vI8u+OzxWPiOOUVT4NKZ& zzr~29G}pV3c0%*$qf#9 z?|?|T(8ZVjUDc{?oILT^e)!amZH$>*3%{l?vT$v}!v+$G@c z0QA?r^mcigeLo>!b}2{*AaOit=5+`K-D)K_4II;8YUy;WaJ5d{Wi+eEEdg;6;?(keEeq*ZtC#N3h>>1RM^`NV!4Im$y73fd}k>lup_1 z=-26Yme}eIOgh=b=w^wRt?r#1>K2KRF0$!h@Vp=eF&E7(X)npw&K7EBcD$Jra1cJ4 z;QMflTG9j|G^_Tykje!+$=iq-iufz0^Gn)GHyBOENT(3CJ|-jzR{uW3k%Bn^$uiLq zsxe`BiZ`e)79?N38WW@i5@SwIOsxaVq_zpj5CccLtTF#tSkj~co}{BMpOz(1eGJie zYEe2SqL)(}EChH_g>_I9hE!vNg3k2Csu@Yl(gGY1;T?^i5~mvkcP$55j|TQ z`a2ji*S%{v!$NGr0*Y<|hD`_t#a|iHuqm`*WKrpo%B}V99?q~59FXc!SP=x6>)bP> zVF6IHNedUx5^;=shchhr9NmW1K~0+Oa~j+?oMA(-7bH%=4FK6EetiFMhLtP<(+VI( zKnI}pJ}{(V9Uc|poIYQ`{ss>YX;|5euPi zl=_Gx7d9tf98MA?P5(`isr0=Ez`rSV7}%y*JVM8Oc;lPheGghE;GQd*^Oh$P2`|Gp z*=LX=5A;Wtwv=L|SsYI_CsAqc5M!jTQ~a`pyV&Z?h+T-{GD_4jOsqhEbg2S33kfoc zppnpQg<$fHDq{%b1`Z97D4@B4{mlwv7!KG#xD#MWDUZeRx2lX0Bqr4Z2$3LDGBf*j zr70L?4A8lTb{jS!kJ$R~f^?_Q;^{gK{ArW7ZQ@#_)llV#7yS z74A=ve5cYF1hG1-Ia*sJ>-v)w#vroSU06qANQ6F5_}waFc+^)w@ZkxHa$XjHufiA@ zAy8dHSOnn!Sas(2tBe8P5s7nAUIka>8b7Eo21rUr)NYV3z%(^+e^_M<Z z<>AQ1qWDymF%XM2(Y^~@UKig_epz7*G}Cx*5&Ct|$AqN&t14sQUkb>8G|DFb_VuSL zi~$XUl>;RR*ASN=>NXj7*tIYFt>DbtT_Hdl`-%;gY$?htB($xX+2YA3@96M zW>GRgDhJlyAD6VGyGhrJPwg8#b^NkFGRWn9h-izE!()k;Wq(>~>GJh)f)fBtQAwa6 z>f2%H0%A`h+7f?W(#~xGe!2nhw5&$+f7!iTs^E0l0PP4C-q^)|OoHD^@kL9H2`@TIB{VLM3*nGZ}o^$ZkytND5vO8E57|G zZhDGpLP`s$o|dRkp)IO`j``YU&FcRi7BKa^45!n8MlIb$ON2brj9ypnuoMd>{+^Hm zt~~aAS1fDJre|wmY&_-k%YG7!;X}R2*3%MK-I-VNJ5EdEbo0qi% zd8$7%J1IgLU7g3S>|bFbUU1&7!!K;rLXb(vlsly#j1mJDXm6=A7+Er^0{~6nghz~c zJoHvV(#5;HD z#FYFgU~&mh zmTVl9ta)w8<3Qkuc`|u42rHJAcb7blxLwphK}-T!0PXjlWsPPS&Y|?i1X9#ulcT{l zCaC!qa-#iv1+C8+R^7|C0~$O8JBW=SWLm?0Z^=)D_!{psjiewYkdN&5l{^k{KaaK+ zT8bD=*r9XXvi9P9xzAUwH6S|eHGqGcSg&A4iar9OkPb>LSrT1eXR*hYkJ6~_;b|x6 zg7E#zT9ALPiAgrqY<9eG$2)WU-0_%giC*j2=!E(f8&N`CAH`dsvEaC}4-9fJazVuL za2epC!SRhgxUBv6{LEWI8e0pdL{%VuXTqjHbwphMjQj`Izy>imOgexLv^XeJ8Xwwl z8_S~_R-~ydOPgCN_8;*3U(ud8F@(k@&Mm&b!nhoprun9 zMuZa7i}kVg+oEnoKWvulf#*&oDmH2&tjJ82Up2t$lHO4bLFpGPWAO2kFRWl-;mXE_ zICf)!`H5xiw2s?WwB~92(9&o%e#EqLKWENUU=yVR(CQR)07C+q`{ckQAhx3OV!19! zrQxT+rv@GY-DZ4O$PN%8qw|}6df*YjBH}I}z$1#Nl-O?=cm#@T0lJ^SqI{s!VR+-< zBLJ`snRuw`kPIgFX9gcZWCY+hAc;pVX@#Gyvu2_UL}U!4xxuhZWK zPy&jHcM)70Ze4r%?^aWvy@6(<9yl4icWkq7UIs+gJ$Q(Q=!u!87-R2O$Fv`PyzMzz4QL4nkk)m0Xztxh9kePM-*_7)Q+yS3!| zCcq3(WE5i|{4r&3TON=B<3RM{HKV|e&lmB{=LQ`hNL&mm4C)O&-Oez$eb50=Z@}i8 z<&l0gB%Jv3%c$&iKf2-$BY|@wNA}K4O`JQ+f3~`HtJD7CvUWzV+-@GuDD^WM-7z+xmz zP&fo~8nRr>l{^mMByWc_e`yb*XfaO_q#&*F*7pMY*FL=p2Br9`GHg}*<+;KRACFnr z8lV8#8Z0E?>G`p5o*L4yTpJlqOosb3&qnubfu;EB=IoERtK84n@Hg69X+J<~kOcQ2D)oWYNW`El*`_7Cug zjgcZUD75j2@hM+kzZJA1VWM(O;DuCCW{sBIjU@_JooKwI-paD}Z#@gu`hiEc0~4D4!+Xb`jrQ1hR=23@Erq6c(iAcT0pwb3hF z#@@4gp>AD2xhCM!yi_Y8brLBVZ}G=Czz=yy+i^o$_65=$fkvBeqg{{DsC$Ypu=?x4|_sFu!XMSXJ6f^suepnq5$Fx&c+8j?Q5(L-A{F0 zAS(YH5`~TwU-O@(v7oTm-L)NnV(6z3?}tFg;8}fr$m4@%A+LiXM&-f>)c^1@BHII9 zz`?1Bi%y({)DVgfTTL#cYo&|M{s*@jiLys_>M^lD*p_VQ7K~8ei5^|n_IF=pYmrn9 z6M9h->_6wuAR(_>0EyUbJi(ZbonlqyNu`6sQ!DigEl1(Lx(#do3#C{ zW$kZ^%4GMKhKq$5&3{rxZYCbg-`<|Q3sw}W6Jl(PTNB;D$CmNBV_9CCUS%S4$udX^ ze3U<^7=-EL%i58i+gH4s`5V|#G-G&P(7m%sbK>w6G@rE-_rHTcx&s6xr7Vo?ljA*6 zu4}2IsLjrA!Wq>W!2M3S!!Yr4q~mK5{<@xPJ;`CJoHIHZqP_yFvY5Z>vy0e)B zD2US?Lo@pabp~S|CPG3Ypzy#%>OU-*n`Gh%No0zrA$`=u_)+CPx+z*;s$lR}f5vU;8i(R)C)pkTVL^BAZB^?a?gADgrDBm~@z1w$9R^EhSURSC zHi~wBs{dje&jkiBMIi?HahRcznLRaFz}f7GU0r<5fbKxKwX8I<%wG;RRA(4WZ=X66 zNhB#csKE4Bbta*WEDYNj00RLCTFKMY`t$9nWp6~syBjl*FZU{6XO(U@$POSEFt5UBUt{ z@dLyPw?MgX>nN8gkrXwz{2#eA3 zdEE-BQ15l*@ZRIiDblX9_e;#a*!>{x5oR=KsFgyZZ^(j~y?m?EVJV#9_(Tj%vWp9KfIa;(}Xk8jJkf9CVePhWd6wqY$xn+)H#3J_krjo}|StF+g zp9j8*d*i;jy<}9VH?a>nq&V1{B5?(d=q)8b1ndv$uK=xlIwo=KUCF)deLNd0oE%Cg zr_L7$k4Q0%O-x)kIZnMRG(>0p-aj+y=6eum*q=0Hh%)By85-UGhOt`4hAR3ZGd7jMIP5 zO0`BW_N)Q@C7)@8*SYPymz&(<{L*sv+p1g?;Gu|_3urDnrWEquSMpL4e7Ep}$Xx7K zaB$YITiFgT9a|;K=Ba`8lM1Fi1DBq## zhn@_3ZuXHn_koBpB2WfBfshsS`;TrIVS*yDK->uY%u3;)f2{hffEJkFk4)6FU+7EJbnwZGU5#Jajj1en~{>hTZK`}vMhW9ssfzL|xsXBMx zrR)nV0LWt`>4y91I)e!gio$>xwqREhBsWxC=Wwe<&=1{

    fIw|HfJ$3hX@S7)ZLv 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

    j0u?k%1Qx%{lG&#~~g^ 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


    DwfX&?AUoRW`x}JCUQ-|FT!W#dJ&RWLD` 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%0AmHTzRR;UUZVc3J!4bUw) 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¥r-!-~X^{ql3XO2A2m8vJPLf_{QiIr`X9>%`8X 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 #0Ai=Yoff^kXZZzkk8wX^>mg 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�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 z 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

    #gFx(gPT2G&8 zyhg+13oG3Pb(&JU!;4*CSX)|Ip9nGDa+BECX z+Z~OK^iSTtx1UX_SteJ}%wV}?X26iyrJrHN<#Y2-3IsfT7MmnRWjjv%;$G_=mt;nj za%yVNx`eZ;^ekg@Y3L>KZ;M74+7c8#d0^>6D*cjP>vi=bxUvjiN-USK-$<|=IdU&P zU&F_u@Pu;&B9tsX&rjO#EO*vBVu_-*qeIuOonHp9Iq~Ata$RkGs*UlhZxHu8Uwhkh z1vy`hS8%xgVNUVXLpMHhk{C(km-brUsvo!PJieTO4-MEa zs&}_aZ)f@hVWYgWojR7Z(F8OUHFD&?tk-%{{TSEpdc$>|#oC`%JhYF#Bh33eSQyZ&Ga)3@7Nne*T)c5W}MpL=)a=RVKWB-?hXd}K& zA>vPF2K}1K#ot4oFS!X>VQ1+ZS-LBMfUPMaI7eN^cmNE>jUTk@(`O04F zpK2on`9Gv*=tx#aq8c#Fz(9Upi5G>!@a_gbIWzp%C$fJp<6YNtD>^i6Sn%>eR?#eZ+VWEKcUQLq3IskiIdo{ zsoSsJ*VW(e+U*jnl=`(Av$AUVN^5SGZJ^n$C(X{ORzHbBH+B+-Vf53)uwSP&9fmCB zvdQ0-r{y`tw~_r|9%PpP&FUkM)5!4GH!);|*O>qM>kr-uu>F97yEIV(f&#sg*Y{fQ z+rL$R)f5})paSl&f+04}zf`a3>TlKEC0&2G2&})6HejICOWHDZ< zT5uteOX~tFi{Fo{Uz^U!NsUaNm6KXH_<0$?qGvIljw6Xin${b8t^ZtWY%Q*@$72O4yr*e7f=g};HIGhC?&^F8E z+nLSFx99!?35`6b0oWLwL{zl|G`rFgZ|Su@S3k_tPU|_g$bFg0bKHN<>1)GMucj?Z z9Aw*5^R2yBP`l$?wFeYnS6-xg2zs1I8omJdC+)ZOTE}Xy?N1iv8XoJO-Z(?SfKnA) zbX|e2k|7gV^+f17Z|}9XTD7fYUi`tJ$upkUhRm{4RFB?r_|{v-$Y?XRryKY9Xs3lf zmVEW&oi&t-&R^GEIdc-sK|Vx#Tu_rHNCy6)SPt%D$M91LmACD@qt|-Sq_?m~M==Fv zf9g>lwX?6f$Fa4;w;o#~*IA0oG$PQ-x7z8$E{x&uX4NmR7;9~EOl9KBU_~fKoglUh zD;6I0zV17<@8aT~DE)RIE&RzMi1C$JU@2RiT)|lv*jx zg+E*fM~?cChD8fb0H?ce#*rJpuh)9iEbFW~9x-~ND-7(A9>UDq;K2ag_U-BBTwN45 zy8*n*sX;a+jI8(fTG!OR+e4KjugvYlPC^Q!9BCO6IHL0bZ8K-Z+8L;QfYeluy{glhV&j;6yLlC0r62iG>Vincp^jzn;a=-a zv#jyT#d{IX(ovjF$%@bi^e@FDPg?!VjZzPWPMGqv$<_>N>Lw`_VMcZkC&ou~tM5?m z5dPcR3QL#;xIxl*u#RKIYEW=etZRW48PP|3t@q3_3o7S)-sed!b={@=cP5NZm8#Sk zbD|clf5|a7V>6&UI~GmDFi2@YQj5P5g!ackm(TJR2U}PX37>|^YM$M7aO1%*vphk0 znDmBOfn=QJK9kmR$v!MUlv=%TJpxxrAZNFX(2DJk>%wNmNj^w%ZUkAt1|}@{1-w8& zT%UwV@QGgQpKA}`YzHWz*sdnoG^F8UgHtt}P$ZUb&|3P*=~}x5px;ny)DgqRl0uOy zJsTpsPic>q+N@A{n-HK;p#z8w){93}+ES!}Q=@1n@zPF5sAggg|l+E0a8%@qG z?Z;gXJ_D7)u?E3_VX>pQggidoYh7JCuf``QfOR#+;VOWh%p%K*CXx~QpXs&kQQJzq zvb?skBy&DnV!O+ocwup6g~W&YuWHT$fRwQf%Vy5>mO^IyJ{G$r#7WU7?Y4f zFrb1-BtqNK=XA$q-tGun?1t%O{W1gO-w}5;JOkjFFhAdG-B9}=nus*nqt2zbH` z@^+ckL8{D^1&z03+X4+Z`So7wgY{EdbJ#I=b9jCCEQ^QT@8+{N@Ux$a9odj7Cr*|r zZFu7C)7_dJd;4^&gFpLlhhakWLc(5w?Z?(Pbi3V1TxiHVx%PH)n`+*|KN%o|jY@!R z8;L2tsg1Q{rtjj43Y1*We~)IR;i?(P%nYV1#aDQ0&;@?0*ZM~N44XCwF^d5_kEvfd zb8B3$S)Pp%8}g2{PC)ge%yQE?x63d#;s9l$2rte~lknTU){V7h#mL0#hfCMH%CA4g zf3qFajRVLl0l87u2)q7wdab+HHkkjz$Obc*eF*x3txp9AZkN)T^t-**PcF&qE1`Zb z!x>n5zKb~vOE;c#Ci;kYW1YdlE?fg}7$5uj*a02KkBtk)owFoM+^q!r8VGIs{Sq0$GoQhh1zK(@hb;tV(bP<;7a?)z1GdO z?T(mJHFzLeHPcAA$S9(IE75*Uf6{B+Qrqgd5!sIh!C#X};S2?V;Dd3A;(Ek_P2X~o zpY~e!u5CCw>X|);2vd68$rF zwY!qSSb|m$J%Ig(|Ee(#Z8Jf60GNOXKpL1o@3sD=w&i}`7Zz5#=;^4prYaYS`>o?C z9XWDM{>#vixN!&=6jw|+*Fo(3qSyMbwXIh_cONu%-;FHwjQa0wH>{|__QfbNF=j=I zRU7$8qyDnj`uP5xLwy5b5U#I&xamv4GH`=3TxLPJR9h|DZ}-0gb8l1!HnekYV~Lq0 zBvB0jn-*05#;FC$GJ#s7_U-^o& zNH$QdR1zzW5~8ta`Ta(>en%#8!6z55Q%2Uu4&7@Vt>VGHL)Cvw^}jTg^sESz-%inb zf8QAgeGXa|iJM9y(j=@b%d`C7P2c*+fZrt6))3jw>{LL8wqwMu+T|lp%HQ`||62Px zYxnt+lI<;7Q&miB>*CDn(B_7Ys81}%vtu`fAzc0eb*KNc_73$vR;BHxzC2(QT zMR?x2D*7sb+1N;pp|_{lu`WX2#vX6ZZ7WJ*b`>{`ImsakGyd3X-KTaIj_d&CHQGO8 zGhBA|d$w_zD&{GZG@x2167ipUt^Yn>^K6PYLqo}WQti8vf)PXQx?UK_*#C2*_Q%B- z3!%ntDdu{=7#z`134 zU7S8GlhHgmj_CuK6!Bkm2S@)FLj-rAH&0_m-K>7}x0j6qD0{W!7emJj85>80R`hq>4p}pEl0?Cg_5^6JJ%@pR6N9R5 z0P`OYZ7G>q2OzO~Vfq^kHu&6Zz5DT-ZpO@9>qq82Lo1A%7 zL4ITpY7FQ?90~5gi#1jF)C+feEm3=i%H4xB;<#YmNoYvq+KJ_KMU4~Af}*XHQDU3; zJHh6z&hp4_KN9Dyw-8uVI1MqPC<*lCNwl@ASpYR}IWOEO+u%cM*r1|&)u_KUe-qGEq`K!2zB#rEzTokKW$UQ)X&5KhI zc@ZK_u7CgC*8i;SOU-cQivqHl3OQ=^zLhhJpA61kDIQtr17^O*-om@r>UxKTaYN@! zC)-zz(2UX;6609q5JK;PGu)&6+7T7LyI7?HXRvpNmSvD2j&P|ZGr)V$u4Zv)$7-)1 z1)p`ck*L8U*oat0Btf*ekr_A-p5Z2?jwtHcwe^**yk_ML_sxt&my$X7Lpb4h`Gznb zvTrvT8m=Hh#>jRfi)n>t>^^knn-sg%Xi*fy<=9C|(Rg6Q_{2frJZx8I4qR2aZ&au8 zR1j^E7eMAb;s(IZL*IY+uEwe!KaNTU+*qzv-5>cu&+RB3W!da<`T2*KIgIvK?RD$MG!4(;_7%lrVqoN6m1ba@pK9D@#kD zg;?z6bBY>67+N4|^8h7^N9*R+_!eA*voy-ibVeq?3)!?nc%U%W(#Py-!a4b9jvQ0f z$#FGM2;w1?kih3h98IRdV|QDpYhTC&JMEM>-H%0O?(C@2yTsq598h_lxS)RYxZT!A zXK~!B*Un{>96RV3(`C?Arp{0bY=*G;WzdH?9YB}Dn?Neef#W-#NFKl2B52XYrKs?5 zw5M>j#d6(}IGvUF191#6zN8Z=zJS<%!t^&<>O@_k1P1%R^yTYr$iF@Tmz~-Rkju6W zj$zUY*`Dyk-BvnnkII|o&<*xVh}EtmvGh`~5itTcv2Q-9(VfP<&+%{WE!JZ;%xv#b zeS+`8kMe_0X(4v~X>drBfUhp8`%headdDGwsNYx^#s_cC}m-w|7>$ z*F!dv%?H~`Y-}Y0Y$y)6mUyamKJ<6XA?}f~jb4+nQDaANz=j>tHSuCx&y1d?eM?h} zT?ulb?gYx+r#g=#8}I~l7Ej-8otbj{D*e41`q&^Z82AsXm+HEb>_OF~9OgnN3JjQVuZJf>uosLdGajN?flcl5)n#%xQR-B(_ z@3xj}?>E6dEuv$i3t}(Ek=@Y-UJ)lLC7mQIQ};Q$t$(Y%Nkq```Ma(Ekl*x-qB;dX3R+doWgG-SHpLUR z3{1m(LCxPG8fd8l%aD+AQCj`N-6@$*y%^Lo8<22f6KC3f(XK|2rDI!aRuDvB|4j_! zdLd&m(iiKl=_^S~`oc+M-~t&gqAV}jZJ=3ASq8%tm?TlC(Xi~7?&?YzCPVupc*}f; ztuKxY^pC{Lc3U6*huU|Z(O|7D3fQU=WDx|FJ308d1BQt3YJYB>0)2hk(UHGXSAj25 zKaLhFe{CaDL6b;b3%Ov2BLZWge<6DTuKNkq^5Jq@aSG>ofgo5}PCKXb`D=va#S)07 za40;_vRV4 zYDSb}#MFNh3`$<5d)tM!aS)qCTnP00$P!Y!@@m~h9n;D};ErTa(F_0;)Q zc_Jy|CquT*9?x3#cgL2`|EK<*Cc3w&*?tmA{?V_1-VN{q!`#PJg|FieG5*cC2{!X% z@!p2~uCY&xz>KjBBZd|Q?@$JB+MR(@%=aSz{Dzx)Feybw`sUr%vu44Q9q34?uoyO9 z(^8=WeU?eI)%tB#o&(3TrlQEy?IhQWHJ||MMAp9O!1Y+@l!ppZNif>JWzO@58b9iv zV`65B50_c;)?E!et9%Nq3YAAAO|PnMIC7TPQUd$xBb`{3$Z^7a9{J=b1O-iR+tnm8 zi-F4DRsu6y=FX{gD%bD6v=WJ>{&6!vGXTr-pff`Fk31bfkGJo(J~#^==|CsQJV40t z2OIz9z;+mIWamJi;}WbXBY}D;uskq50y#W5UZ ztHihQE}c2mH@FkZd8KbeRLzn;aKd*tvR5o%m26xtJ5374DSb~9dxg4Otd+>+>1+=q z>3e56+aT`&GV74o5|W;p@7tY?2T0&25sk+rv{F}^@7Hd>B}2WxU7}^iuC@-GQ_Tkz zX^|j7laMB{<36BmZ?Ze#l4SwlWl1)3DT4TeyRCcX6QU|Ong7f325#Q+%JThWcjd^D zd#)`13%?vyX0v)ilG%xju$-eLM5a9b(5?n%n?-lCQuNz0cJv6J0d8stx)F)2U>#|?^#oexluAd)- z$Rc|9)YeCIGxbnm`I|_41|Zr9@HteO%a88rcz&AHr@~;Y_~UO>KaS@0-V6PJSpQQ8 z|Ljy&2!0|V3dr%A*#py-rp|n$sj5F$ft3pR>D|_K1-W(K1j&uGz4IqtT3N&nX zR_Q`fJ#fPcRTQ}jv?5AL)S@n%?9@EO1ax2u6F$3$?SB3u+>>%=K!avzx}=Q=#(rV9 zb+)#j`9F*VDyInK59AlJBLdJF6$i=`w-OK zfxHj6%rL-`v!QVO(r)X2)jmM+j`MK)qI!MT%X3$sUzckI9PmCH!9U)`GX9lJVO}0L z^ta%XiFc_ZyxWP_v;L>3ii9u>`cZ<~lb?Qhx3yhw)Mahur5xh~(E0br_X5%xWj5qR zBT?#`x(ayIxxGLzs!=d3KlM^@A~taV!wJ5!+uGUR$AHeI!E+E94Z(6n3dZVEsPxr+ ze~v7oSBlzKjR(7yPi>sAq18x98GLQG^?>~y52YO2WJG*bsYU3EVj}q7edFu9t%vHK zC2)4nliRyq=!ul zZ2cBv02j=FetaJ2(_hfVf-yRG+KK7A-&LxD{#t92tOUXq5*T)iz6mOj|kYqR~V`ZrV0kEO~44ukS5u&a}h@aoTtYj}<_6r%iz%0kL*h}uzm zAk~0xZ??Zz|BU4+S|py-x8jTv7a%8^B}!LCcTG~F*X?G!h|}-EjhjA|-vfNvSl+jk zkAT@R0QE!uP1S)!=FVpOi<*9_NwqMOE_5Z3<0N$+cgwZ5hgt^MCy%XNduDb0Jb$24 zg{90;CIp?cn&khS{iV8SP(+vK787W5z{%R+uF)~H?!Vdo(t&hsG}c0zHtW;q_qV9W z8afq66|E~{G-Gn#dEe}mIxGjUBOG>y6+U3I{hs>1HCsaLc1>#)id8gkfjaP7v=2zE z`lgwN(@!A)D<7))!+neBr~Z zP+cOfNC~9-1|3C=-o?eS`d*D-bU;5c7z|BR1Qgo8@g6;71n65M~FB z+or}=^?I*umg!x#z{;N%LlCN*6DBJlvJ=~WjpRDIY>X^O~+12=^J1b609n{BIh*$+_N&|>%^CL0CFQTT!L=*{+b>PM`8-B-WJ zd?HL?GSoFQuL&Ws2h{5KQ>Y#-_c5F8pUu+C%%aJs%{VFMl>42wt$F+F`RwOTs2IH{ zo3S6e+1}CYcSBaSf3u^tuj7IvsvZX(Mcw5 z<*FF6$M)RpL6WR`O@JScJRACH2ZEU-HXo-m9S>!&WY{z*k%4%@1F%HJjQ@D8PglPp zYB#ZI=g9%B318958FonUQx(h_Ptfj__5G}VyvlFqI~6LMENbP;C(xvGf?7qgB_1kA zFrgqf@A7!Aupn8w<(EVI0t zsOmE|+jgxjduU+HQdXUyNP~0ZLu4BH&)jT3a+ZNCiX;xtQbJZW?W*?P!A%Cg%yPF$ zyRWnnZWgwp;c=kEwVt)ve$*^OGP;RkEA>sTNWze&%*NZrk`kZH>R)D?T!SroLhEzR zF5*J~zZ9o@3>gw6Z=3C{S;jGdpGTErDl1)f`y^UNr%nivAR|K(Ta?)0Zg~ESH`^bZWtjH$-A=ho_x0X$E?XqV z1F*DajLJ%ExyDO2+y7K+u;>4fo`E=YZ7_9^FFSW#+|!?n#IrDTY($8PhQ&9-0r zQm)FDS|7}}hy)fiD1d2WC0XEz*KW2^6RuINxN69pP(!>3T*NiZSaC}MX-mV`5e2Ac zhpqL0%O_181H&L%%$*y#$)%4Xt5`id zE5Ds*fmJqGor9|Wc8V1@&Alcdq$U^*EIq=lCh$7o_AG@rY_=b=e=p%6&hM$lrY1%` z_p7Mu*ql3}0~0*yGBc!(!(?5&akG6*?Y36EwX6LN9T(IMOh-w^Af6e&N!v^|fjaPI zj#`7nN)4MwLUhm|ux`D1v;FE>=0@e_qrSWdGQ|xb-{WDG{e8BBlq4=sWcBW)5ht#b zsNxKjSqk5>+3wX_jheHKlwLd#jHARk_rObevf@ZqDb0pQ+mx*~IoYOc^573P3o8@S z8Avrg_QI38OfqCsA948J&GtR&=Tzn+i*8pa$(io?>$+4@EOlZz*qQLB?IiN4jRqSmgnS?P z@QXYR>RwI7zO=lu-bp*L$P}y<_50q(zCh$XhrY^GB8!b`l4V%^6xH80n%#Am?oYSM zJK)%-MXHY>f=7ne^~lkRpEbDx7ZD@6diT417=o*t3Po@PVvfb?+TEmyx(Yz_9-7^-XL@6p$Trs z9*pV&w>bXTX8SXR=t&>IbR*w$gH%{CHEm?|r@RoSrYdUf{VU(g6ZR1tC7U+5Rtj z6Ja4zIu=l{^CQ|w@mKi;kioE>K^U9QB4R}x z-S-nPZuVz3+ox*VEYzX$KR}^nX|1!)llBo$!*XX{XbL2cq2NI!h$!J_bs?#%suKo% z80sR*<&+>OIbbIYkQV#gX8S(1&sZHLTJ5eNT*aeqVB}>&inpzwSWZ{e5RlkVy2ga5 z1hEP$`TS=4U*~K7?#FMs`5GiANzbbrcu@-7LmJt{)lj&NzOdQ;Z}m6G|7AorrgFh# z^*WBjqkBwX`e50C_r=Y&sBOFm+$1QYso+hfJ}gz}=4kOxD`~o>q^S4QXXt?$C%yw# z)JEnfiER5zo9(FfCWnfqroD?qxC3<+--Ij3vb^xio9zQs9Zykhuo0?9PbO3%nqS#$ zFV*%b&+%8!t;sv1I*S)mq?F;>3zQ2HBhmC#Vq&$UK2hU|T7fhmPDh9(iaaa%+GhLz z8G3p$SgP;|0&hVc70247ib>dCZ&ZG5qf(A28$=BzRbZj>4K2DlFHohp9f|YQzy*{T zK+!kn@!C*4gfRnPw@?1vkm0vB+t&?sF6pkUE-1;nC0wwh)q?OmRkpnWuc49v3RgrJ zyeRs1lk!No7))Y~f=Q207Wv<4R_H@~8_{c)x(DxvZ+hRI7H%kfm&NR-Hr4M+-TQkD z#&Bex$PB5h=aHo3-it!dOaf51@%J0NL`#w#0vQ*(zNI7uelVC+nM%DHcP5pLEGL3& zF`!h}5~=gUX2T;K@Dwf;r>+|yB$57T+Tp=}w}gZ#189vMyWWrI86Kp-mEI-Hz81s` zLGqK$_J6INV#r%Bu24>qp+irgMz)L(e>DH|?7Qn$x*!caiqpdSISF_WAZN<_y^iKSeCWBS2)qG4B6T7v9J_n;9&!+g;(9zDaS8 zomkE-7S$!HQf2ByoO2|+;K=%wuDvYunX5kbm2?;&0!wRagYXdY#!6ik8^}exE^vRX zYj4=1>OWxdY=t!i&KUF-l3Wr=E?*eGVdE;82>M5OLk&NX1c~pV7!BsaXHovP!OM$n zRZs`h5PT!4l;Q8@dwCwA_5`|UmAhm9*uS5-Gq7Drf@M;onWX&VKQvnq(4fMX5@9)+ z*d68{wL_2}LxkpB3wE)@^1(tT{-37ZWPB@@h6e=SL*mYJ#h)8&GWF3%3u0=?Tg1xt zuwDN$^Erl$u@Zd{aO4OF#kap|&#?{LQme&N<88;O6=B|*miM=28#Mt=R3ROJSCl_P zVD)$1+d8CdqI_wxX9bp-!r0`=SX|KISYa0I+;3s!Tu1piH~!0DJ;M6nd!At@Au}IU zh2CcS?zMYhx`Y*LA(kbf-nwSx%qlsyy`>E`cnG^j5XZ`~v!h+zi!3#z65=C`d2W!V zjAIl-Y8|@v=9X@6E?P^|P98bxmlWK{^PxAJjh3%yqN8r)PFhcqOkupa*57?S3N9gjVS!fh~zyxgv;(^*n z$oC85@BaTmgA#~IPQ2LW@;w^rfpz9Y-={c z$Kj`(BAs4bHfNZKN{1LBA@p~m&_wt6;alyW%re$}GhmRW%pUJR!cVc#HvmpG0c zq7N7kCLHUJ*WM^U9}<=tp=b(6D3|qw{e=0>2g+D5xWRPEh+vT+p19S%cdcQNxl5}E z0mipw@Tf?hRxuX!h4RGC6FN?gX4amvIRu6>6Typdog$g|PuiN*(*eS5nrM(q#E}M7lbCktlc1QmrDbi2VQS<*NNa@4d4Kq zPo23-2G(8T6I}F=W)y*Zn)cP_a|{bVm5ynm0u_RQFrTg+hW;G$1B^7L3b8#P1g7(h zEe*Zmp@LQw7atyTD#o0|gWt%1rgr6Y`U1?0tauqoiE{+qcH+oqZOu@rMtPJ)K133l zun0E=&)#Z(r#`V(3--w->l$k1Y~*Lbo8AW3#n~J9S$NxnW1;-+lg`?zSdXdF<^m=- z<0uH)Fr%BJ#P{{KlR-fH-_?T$1VM2P+lIg&U;`AM^PH{r$=Z#l{D#&xB8A6_)Em0z z3RH^yPioV#3^HGi6C@#m0-+Z^ckan^W@BAx)8D9mj7^9$i%o_)IK!A~BNhLG|Zu8m)opo;grt^G+!;(AciCvez^w0fcQ{H^xC)K1Dn|B>;k zefbp$Pl5OlK_gsQaMWPKUa-~v@0!+Q(t}gAkJ1_1Z4ntn6Z0SrUbqFuf3dr=OnDUV zBr9~!G#W6RvbZTfN#re@mx7fv-Ez(|Cf;*R9Bvs=N81q`U;a0D@)m1M~e8X1zA({udYIMMh_B&@f>z&&b80e%bg;Ke}bBCw- z;|v-A<*%WVMm{6sP<`{pt@aZ&Pm@`Mlc1fIvwx~b%O67`;WeMHYUH&0&+MOnnqtF?`W) zZMH?qPyxLnysg+poAPbC$LrH?gXV+_mu!v`0PZyHx9c9S2!|_{HG$)eqobIwoOkFi z@*K4@MZOt1N(eNvog{M7ck22y@aSw%_ZFi^BHJhblDJu_-z-gjQmPu>onfhy==7_WQTm-@43(aEcjuKreF6X-XY4@zjt2t?iHqHb1a6 z69Y!Cdj`gTV>gow_$C*ZT_3hxm^L`5or{=&{r|v%<$8?g?Ol9gFxaLe|^1!*UH2o@#k42 z&Hz{8#0BPOw%YfsU5NQV3?upa1>FT+PPG^)__9C_Ht_L;ZR@j>cb$=0o7=Ift;BOu z^!0o*uuUpZ#pg)f)IMFcTZ!+YT9T-u04-E#HT-19{=BZA{bAb+brdEweMaYY_E<#5R;el(JYS638gN=G0CAPr zY5JwD_A}eHgIB-gM{l-IrcYsh&9V>7`$+rL1!lpJy{6qZ=6&K~0*=_QbM7T-m7)p5 zk)A}BA4gx_(v(PzEsD|LRDWH7%BS$zmcXPPv>n5*=)(Nf<06(;)rm!nRaIaW){KG$ z0ObPNtC(WbuWq$(uARFX6 zaShg$YL(h_8x35@Z38zTQU7&ap6rlV%+z4T8Yy~Jprb-uYlQb>_@{4FSYX2|HSK}%NxVH z>aMHT)~|#|_5t9hX}MIdn^YKlOE(=xhJt~id;M`awz$IZW*^iLBd9?t9*AWK20ilK zZ)@8f9gO^uhvr#ly+6$iHzvRZ%+N^D&hz-Cx}QUC@pF^B&5rfPU3zMXx%XMVt`0xBQoDa!-58wURO zr)qd?g!fi5_)~EHHvE17A_$KDV1|Z^Aug>C&j*5lx|}pQ=t;=@a7$DCF>y-pz*(JU z-%yGpi$ErlKLC&uOa5s3wug<+o3gT!)zzV0oluX zWxG;p+e!`7;OQwqaegsX+xdu8W;fJm1KCU{W3W-v<;)I$xuq$W9i1gb(?jl09tIoC z6N)8G8&Z4@Z{M*U>sPu-I5sTf?U!aag=%C;iI`gvHNU3wYh4z-?%4-PpCWp4V-`ip z#+@1&suL3mqZl43f1||!jNV{$l3zcZUt{Fa`i@WtF$|L+4-x<0&ei%&o!jKCH}0(> zXtZFzj}&|{unG77ZmQPD2YxSOrA9`u!{YO}pz5fBHpAa67$iIgTLYOZ$PN-rWJm>|X#1;f^^VwZt14HlK)*6cu#h9A zr=k+KCo=;#k9k5jifS%$(gZeA^mzWZ)&8GTj!|I`^miSMxf9gsclSyR;aEsKLCuSh zK}gc?@48W%IE(gn{k@4~siLaHXO>cONUh3+sqRoLwY?WH*gyyGfiyqCVYVWRH{zH^ zZ%e}oP(7EH2oE1Qatq*JWc2R6(oM3wzUZDG+yr0>!6j<-u^FIm6T4gOh1!=fHc;c; z*xQZ2AeYv*&weZwhq~Xka38cZnCf;lp)z zE0AtOYqTl~B=dUt>_&ULo4Ol?$Ljw(HbsXdb&^MHx6e#`X+w9b9>-G8$~Uylh!Qz+ z`3VL#mB)|N-muZT8(r6Bf-A*%<`{kj3asv6#i^0k ziDYAnh?Gf@4q+M)%4Yaz?HwC+u{aI~2J{eKjkk!93{|Z*!U@oeK+f@)?e=PY9~<3q zbWlr2mg*%$m+17uN}=MOR_s1@yM5n%zGvCSRyR!yVF!-1(ttoSHCm6`p0%tfp)v_{ zE=petS`xXB*A7{Kw;BLS`@%d`Yi&4MFfhIDnjK%3OQe8kffEoR#hQP@_C&B8rN=(O z983^meiRfxaa&U}T@*i2_eA?>+NFL-3DA?aHB~_39s!vmL@CQsXLR)kIL z+(L=~$JmD@u; z8BCPYaB@MoAXH(?=d+#Ezq87Hv;S-{pmY=61dLviO45G8wk8Eu-Zl!)R;)q?v1bb~ zrBWDw@Rwm+Lio*%yccfksu+tY#ZUfMq<%(yWED`PRNXQSc&`A|y-4?m#Rc=gOvSGhwTN8Y5*!sOPO2!<9LzWF0ga{uDLE1pP zc8=!vrpw^zsX<6Vrdb>d0NsUr-So}xz0<*{@4Z#ar~ZQiFBofJGBsbnt*Mc#9-O`A zE8<1MLRN}m3Zl#r;Wg(Cy2r1XHDkL#KKg3r82F=iK9tZ8lJKp;M_U-7Y27imVxlPR2fguW2I;_#R&Fr$kPZ=1LaljZ5 zVX%m|Z@2#`cTbCmoKT8fw^Nb7uITale8U;6T|p|4TjKCTH#8(6&v9kFW9COOkXgpD zmL49U1t;q}r+pL)5>dc-u?s8@DoO8M+wJ?+TMXr1X87a|9E)9K6R@89zY(ji3Q%Ub z_w2a7SuDe@rB*5>W>7g8Qqk5$%*J+0O*zI#7RzIT6c_%Uv*3@n>DVJ7dcCqmR-QyJ{P$0%|b!j_v1R%n*1B~Aw>XHX2nJ_D#)sAGM<3CSMeafRfYB{W;98hM)m(j) z)loaS^M5D{%afSL(TP)D1NV-skLmo9^7Krg96z1s^;EAD0{)P+K}x66<;V?aoxyTb z**d$vlZ{@;vB0^Xz?6$5g&TZAYvEV4qv{FN14%O9B=KX|Z(yHI%umkYRT6=UC`870 zGqJtxgQ&PtupIewl}D!axDy-l$z57wpTXTPj74Z_VPET=G8!n>KZ-_%ouo4 zA@m7gxFFo_r}1ZIadycB8H$z}#ph5JZGTobPL+Mj0Wqp~nBsl_KR3A<@N?4q+_Y`o z0F8TBEM@P{CJz?dY?=TPVTJ#^ZlwD8o!V*;$3RFshQgCDgB6F-7q&H=Px-J9qsGVh zUmXF>ouCXABPn2Vd{H+c^7cluHfpm~-HeF%8$PmfVT6)T6nsg$ZpJ-Yx}3E`s1j~z zsp?c>X!e~iZ)?hMDxYXjdlABF43m3G2jNK;=~uQjREU)`La7C0C!y-04>eGfCMj4- zpWvPG)oGi%S*}77uk_1QbI22UG-kv2Y*1wyeQoaGj7cICYJbSPB-@2yd|fv=`ZH~K zb`-?~MJ5+i54`FCCxHeSv6Xy7H#z$4jn0m|2tdFb%4W#qRaEF+^381>-DkySnC&}# zt3VANwIEk_zo+YU)#3nqy}YIvW0eYqIGuUZpxD^vNFKSS2R7LI{|Pq3pk9 z1(6txCR;i>nqrNFNR@EXAs}iQ0rD3nqWDUC2XZq2t`mUBvtZ-iqyOa>0j8(MF!U&bg1jGSA($T5`t`I1GmZxs+?0HI%t32MztJ7n8(qcyp}6BQ z;4&Lxurd|powQg;q!&3Gz28=j3+^Kl^y!xS-wtyxsoz{GAyoY_IH=B5G5EGi9g7x=`-k zB0(NERcxV_$|3~bU$)y{oxei|@pk&VSNUa5>K^zC$4;DpX-rfxO8%;g0~B*>F(Eli za2%R^+&w_>f734BoU+E37~CN?l|f_|a?8JKugMp@hy|eryl+))g&A>S+C41zWeFauPIvaiK9VA?Fs^M z-u8~hmChKV^z_Ld21-H(mbxuz`L5X6(FACZW*yBn+V9<2Uqm*b1N{4@6{56z;q)xV zbsUCOcnTPS?4t?`UANL5zCaBQW!5C+p~Pc_Vt}~!-_Zd}^1Xc#hJGI%8A-*Y8zHXu zfE`UzFdKr#bjJ88=w!g7AYfh+R`NjY^K9f+4dvVkmK}U~u0erX{Ggro)wNdW;`%z` zNgG`-04J6?;yTGK-HsXxkOe692A~`RK!L(|u&$LuL(ODHP2v1PYfT;&P%A}q2GE;_ z?C7v1L#>n_#-w_Mo`8imFs(iBp*xyzMrAA5TkDx~MST#FO-S}A-lOWkdf1KzUXnKj zCT(#AD02UqZp=QaF|q^l8tl$kZp3~f`{6q}$cv(F?VA%hE^=W0#mc^ht`clNf;36+ z2;CyepJ|QqrwzQQ{xd1a!N%G(fa2A2!9K3U_tF59ltjCHq^`XNixRC31%SqGH~3A8 zN9|}3F!}Q>N|Dt`WJc7D;@rv3{p8JXc_A&Wo)Caj8UsSMAVE>7rAO~*T+woi%R&hR z_WON(cAIZ4h9{~fTYNvoOliz;q zP9qeUVr5anKMKUJQcjQC(Zp-|TW#)c)-bBDEjnO57&PUr_`&0~+d+SO!ewBrA+c05 z%e3q#XfGu(y)6e`gtf2 zVcaUDM)1@f4Jxv)B!m4MK*0;)ph1Cx44yXMc?PG}jr# z0FKzo2*%@AD6PTdxjXIudtsrQEG=Z0Ja48((INqk7?Nuf$d?-F^LN_+q^9Kp>pD3t znN+tdE6QDwzXtU$E1D)jw2Ex4yvX$aGsM z-o%h?$mEsX4#v&>WcDVeY43(k1Q-ALn-xxDZT+TPD2tU*G{`e^{$p=Z!$?5Ug)a1k zJMG7hJad0x4fKBD=7Ak!`e&_f=NPRa%bZQD;Rj>i$A-feV9HvQ&%fw$d9VnB$B0oQ zjG**Nr2FEX_7g7Zh^ZRdv&6>7h73>$zB7SUPZ2){)=Q?Hz;GcT%pM9rb^%d0=cPOC zmA)n?(@q5dl^`bz;b!@7GG0HnoMhPBy#-(XD^QL17H~f16fHb1O3@3{o-UnV=w=Nt z|4d;0$iJ{;ToBlH__Ce$zg6BcyVJdvm(I^~H;U{+U?c?5Es$Zp_41we-HHX3t+|Co zrCk7%eA)pKaJ@W-<}_;Lsy^n(#ULboi6edCo4 zTTmwxH8koOpzv^glv`Q4(Bu2Bnxci(RGp`0s8rS<%8Lcu$YJ{GsasGKR|KrF5n%{R zoa8k-?Zv@?Trrf)f=;}CjaVH%-zxsDKjci7z5aqcMEEmw(omTVhIs9?^Ex0OO@(=kyy7{+3{rp!_Gut`s4WaD3B&jwxIcHpOQ6lqQmLpclD8cEa3UBghy;ZO?0W$?{< zqF8LlxXO@LDs6?g?X>?djH}ZND=TN-zSF+8zdgrNc|BLJ5Dz$;MFaLW<~(XuvinSM zlpNzwiX+HPrPVtKT~su5<3>&!pl!=QcHE>ik+MkKJ0pDOPEo9t-I&zq8lJF-^HHSe}e3?$$hXf@yQz50#qqjNblV{aLV_az_ibdW?Th+ z0*bwE6zIC%J-@(F*x?kp4h;?du#;?vrRwW*kD7A`T?a0pj2FYUL&E3qwHe!frozEJ zvnF_F>}>#qA(CVTL8flK=kj?p#c2Q;B~GYJ2=|FpF-Ly*@_96(Tu5b*&qx%-OB8?P@_97yJuacih$Dq! ztO?F@BRG>e8nTij%w>Y=dBH+N!j-HYQb+K8rRm2B%A^~aRL(+f|6>wit8TyB;SqI?D1B4X)wE!~oDi#X!aZ%JP#9t_jHLMk#cZ~{OlhL_D=2%uD^9xm6Xn_NS^IMOP}b6PebnfNnJu0eE@nrG4>DRz$$ zezwUqUdGu*sVS=C!bv{Y2T7|M@1@pqRm*CR7^Xz{=nYO|F4?$Az$! z3@%*6sqw`o*GROw&6MOhTLM$)OHHm(S`(-UQr8X|)APRE;2MJSaEN-aA|fdc%Kj_O zt^p>CxC}}zK%SznHn|4kQxGaC6#Qx%iN4n48s-`mE{qvZiMG?%n_L5U3sx22TM!T8 z41c4^HN=ictwY2FY}&KLH=A5T8ibNu&=Jte0k!^ClWUk{G5RS6$@5U8^4krrv22pC zUJA;Pg zsN@QwZ^4h7T;m2Ia99#4Ad7(+{-nt@F^SbU4lRfOv2Fdd$u%2OAMA-a4Z*UD5GVE{)MUvPA3-O00*TBz)dKTwAs!u3d z|FOX}fQ)>S>d@LM{Q_bBsnInF5YdFxMTms08~?eEHi&!};%|+vi364?n{^1|X&C*z$u&$)O3WxVh#`&k%?nMg zK}wDP$9j+;u??%&;2P*I;R3}+Aj<$_r@7nYnj|y`*r?4a0kk4F?_X(;mTW%2mob~7 zVFN5qg%fWzxdvt|5Be4^gIOYw+fA-vVIv<34vcUo(WIRw*Z9QKfC@xd{!nwf_iuEK z#8YPFAnwj2H6PIAngDYGyU(M55E>r;fsL*KYezK$tgS>^ocKXau0eso3@i>|Sizmp ze{hp)1Yu~x-cX)1AFTKx4X&Z{$QJ>e0iFqb$$Ds$Yg}F?(K-X z@Py%#{Ncl!ToZtT^NkpkH*iJ#Ntn#d!? z=q3Q>I2@AnxlOKNr=nb)JHS2%*x`8%u8|IBF9<;x=g8ID>GPXhLpc)pivPd7H;=BQ zy7N5CRnav)b84o~>HcrdnI6xaIiB*A?TUR-sXUz|iOFiVA`{$IT|IAZMBGR{BfY13 zPfAFiGv{DTrj)6azy`drgW31p?E7x^&DelhykW30n8g@l=JSj9l&MrosZczHkf92v zo|gN&vEJqP`z|nQ*=d5(JgY#P3_Tk>vMI`#NX;T5cTSNuZ0UjQ zhZ@OaGzIm!McOb7kV6t_0w%jSJg-O_P=`==oXBL>COvfi(T1~!yjb(FPWlOPF2UK6 ze8e{#jra?WHvV>wX0m*lZeoJW3s@q_<@0qCUs#|?ggy;iX9k}bTE2TxfhIAREU`hM z0I5rrb#Z|v+E*sJRkqk&P%gS;;U;VqG7@8fcn6^GYh7BP2`(TU7jwPGiad!fE7AlP zcc#B<640?^+v{^kBjy<8ty%7{_>Q=d&9MG+`AG zvD~*@ps=wQ-B_dvSpsY{;T0gYY$rDrXad9q8W^(mKKoMFytzOVWrMXQi;5N{`XT8p zMVgS6Kr@>uK)gTvTNiEu#7j2u9240R=%2S0Xo3kkc4Pdx$l_Vi?FE`3SBsRp9iUL{ z0X?~+KoceT7*L$i?gCA);Q+XMoS=Q*xZ7t4I4Kof=40clx|iUNw|JzAg%oJGz8 zkX~XrJZFy;Xp%AFY2fmX?aQ$}UZe?f!!a)mIWIp<)e{Rh5rZJgV5ppef?>VzWPv6K zjUY}ZE;@{wUiwslCfZ{k95J^rjt6e~gN2*0sA3Pz1dhxea(>Cv1)5-wV}k%?4~b2k zW&N;N6KY_r7Z{lVDgCHO6Lg*74}g@kvdC4>6lg;Aiz*X3pHwnPL_S-f2@5{d9*`J7 zpAA<2a|N2f5@Zn%F(eTqx#Y(SH;G6oBeThH!Sa$d_VWdrh<6OaF!*Bw`E;BY3N*pc z$@DGmNtPmz?!8!`31oJ>>a>ZJCgRrVO9h%B_Jsrqa|~kGB%yv%q={ld>L$WXBG()L zv_O-Tr%QBpUDmu@ik~gq1hOJSMFa<&X^d6h&kHnBIHi#W$jHVsi6_5UxCy&U$|R(D z5v;OwX1`pdiAK+m%nn&GmT>Mb3p63E$&44HVx<7HEP* z7BXj;E0~RM3bQwwPK!1QjgJF3pXLfNP;$E!i-t@N7mZ~noz@rJY({92{zt-r$`f> zfmnp8mqt<~`Q5@zs1FL5A!RC~{18U(7HASdhQ<+_huFu1&HR0VCQ|se(dH0>2LOfl ziZp=*!n~5Q3n!nG{-HpVIA+zOcpOPo&K>%6LOOjtWwLT zmS8&{9BstYv~!S1fPjXEo9(v1N`aW}_}qWsVV~*HdvmP5@bLw)#NV%*CJwFB{|e+t zHy{?{7Hm>JNIWJB)(nw-oFY0)Wd~MUR*3d_c)Ko(aZW^g4 z?OLpG+m&$ST^*?cL-9A`DErFh6$7$`$&M5ng9Gba@s~JivH!Vd_6&N! z0UD6#I_#@QR@Ym}XdOC1K{5e@@@!@R^Ad%R6q+sxaA23)HXHRN>34lAS0sVTP-~8k z437#s4rEqn>IfKRh8TV7O>8#OCF~3~E4JPOSVhZ|RSmgMQmxGJ+n4EL20-2|^f1xy z0>P>DFv1?7!pX$8gd%E>3Avx7CWCnQV~eA z9=}Wv3HWggtr6I;(JC<0^n_*V7p;1d^f8+vihB&&->C9U$EyYULWWuj^#qhFzgf|n zjs_D6QA#g@FF{`YTbxvv;g&0c?|5=%>QL8?9LqzSLeyfy)AeAY$w}NM0Y#S7&=NKw~AgT4$$}Nsl0Bx2_Gz1qf9O2&IoUK9-JbchcPO(R-J8xcZrP#qJ|ycZMAT9s9MHyMKqy^%a;99yR*Rl5r@Oq?in)$Qc0g!cned9IE?( zVyFp_8+WmdJZrPDU;jQcu1L;;66zDPO9#WznSb`lf5BzioK-S_?E{GKCH^90Bc;r1)$PLY2> z&k<9AVQ?Yt*FYA+O`%PJ z&%CO5%NP?&eAe0b;>}@aR~K$62Df+)p&5mED4Gq|6mKbFJvjP7-i6wfMc*sllKDG< zRh!zL183U1ws1=Tm@ZosoCpxs1hIBq@s^Z^Gm=Ln@I9n+%ZYfy$Gf$7OXvlpQE)f&LE8KAZG~F~*mZ-wW6=c_1dzn-i)hKS z6Hqaw#NzVtj>0WrTC;TF;vffzaFl&#@s`Zt5w>_UpIoM=Z8~vbgOHJl53Ox7$p2Z^6f4X=} zo>h+`(Kr`!y9+>8^0A2&?Z?A7uAL;y|=VVIHB`9K?t>d*Sn&jf08=UX6Umh+dD<6($<1 zS|Zu8zuM5yvNIlDoxinyMm&!`Nz~4 zc_Or?fR?}%`pIVF(7Crvd7f_1Tkn2$;B0NX@?)eFu#y2%VmTf}xt}gsWZZ6Ga+nst zR=z0xvn7iR7ahhJg$4HZZk#zk-)#J+PPS*)O}%_4`*?QsJ3b{%p61RyLJWb&l8PM? zF8(h{#E>NpXgZMOVDRAKzg!{)I_V+QW7o`F&|k{`Wr-Lt)W}GnAeUN@i@oHP5-~_G zf{aBf1tup5pixTx4VD%HBNkgI|@1VOhv*x(*i7WdC3j{<=gA{QY1!2v?Gn zKIyX8O2mL`8sKC|0aBE=67x4DVt~>TgEqX`Acm4dc)dgn^bBAr04WAl2HH7!qeKj$ zV2~n5RD#t!Os?OSh{5{?C5J%~+87qU!J8#wM0j<`(*-dEg^*0YRU!t~ek5ejlH_$k zS}=UOL<|;pHn2WeR;($g#=KJ^20D+>X`v}G#N!id|E@#~EIh%O0ThqG=9$WWw?qtp z**0|-?hQmJ-?o2WA_h}5`9~_l;NqEA)q5pk0Qkpo6~eiTQdg#;Ka_}};q3FE$FMCy zTU*xqC1L>e(`>1@BbXlmcK&0D7yvABBXQAyA`8bW^FfIiXkK{8){@AJ#QH2da?9f9 zC>srVTy_z1gp&^n`70%2uzkt^4yichKO}^YDiH%-Lg+$KWVrbd&1u-RUP6qVYRGAp) zjA7!DgdzIbFd>d95d)2sfE-u=$P|iq>>OJn2F5Dlis_puj-Uw}e62(bHg8^@orh)- zQ*8fwi5NceAe7B~1t={cedE%=KUjL=S`#1xensO2mNe#nL6tgttXyBtE-D3^Wg=5-xiv2w*Bc zr$met2O4D0P=s`Gu=nG0%fw*EAXHb@w`jt}-g#wWkarX{4mMH{c?0|W5;54aBy4f< zo_1guc;*EqVvvuv7z)vOPz>Hdkb19i26lkf7O2nYdhnSS@fvJ~Dvw3le z7*z7{04EU)ZI^<)cS(sDifU|@pt%Momu!D_X^9wOQ$-2~d^5~;G%7AD5d&36C{^Ud z@uDZ!r!OxNgE|HB?i7dFHSp>NSCoi>G%3s6Sh4L-5(t4;mWYvI-i(Swny{3?9U;4_ zL=23CL0%zjm!LL{u;$ezVqnpTz8eOT@W>$R#n+UH0a4k4Pig~*AmyjNS0)B^cZM(2ut0YO2mkT`paFxw=-pf*1|=Ghq#}e2 z!I0(UEhS>0H;Wj8izr142LViE^=l*7(%6YF-!)*O2N;w?kf=k zJcgHeIjl?s6SDhD#2__?+AA-c%W@m#=N5YOT-|Rgj^t_nT-uCN-GbQhyetWQk26Un~j*AnGctUA+qXXP0hMp5ODD$C1S8Q zMUV)$JSrD{X4#LHi2=iiToB1mCOTAp9xD+8(P_Y>EKPYhA~#GQFA)PDK2c@IG?V*- zO!5;YVo)ML-UDwCa{OX4{A7t38o71>IEVljMa$%=5-}Vxhtlk}nPEiH>IWraz+RQ? zC%XqUA#sX%x-q>#bs>@6hJ>)A_mVlD;K2CKq+Em?LAi_2KG1%>g4*!1(RA%eq163NmDf5 z5XW>G)bU+^zC;X$P?ETIz@_E(y4edQVlWV6QA_S3)XL$)zE~m#DfLKP$Tk6=}$|<01^UF5@a$bA`<^UD-i<>ZK$+V zE6}7&T<7N{Vjw%?Vgo@21SSXP^ouQX3Z?I2+=CzrCNfY(Gsbc=OJ6S12H`lwiVrB~{TC0PyNG7Q{6tkdMxErtgHtKA&LB339{wPDq$ zC$)iQ6Rwf?B{du3R6W2<0Tvt_gAbY_Qo*mb7@zMzZE_ktF-BU=!CE#bmdvX=-|drs zvllQf;Vs#+bZ6(ALK47i!u$22BarAum>ib}wu->vt=ASE0sIE)eS$rRN$iIHZx$UP zm2xf&Jf<4z%Xako7UN$Q24Ll2tU+-{1TZJW%Fbs2U|FBxAA1K33mX@ZpSi9Gfb=+c zV@q#rDzx-4RH3RDPy|9E@3%e1^AqG0C^e8UNK*2SZ}u3EbtGu6i?If- zPpWf|Zm~TVM|6JD@#0?9{vuZ3_&gr6gOk;02!Crp-YPN~?A}9=Pl5e*=|GInIwd7S z{w+l9;GMF8K#PLq05`xGMuo2>9vmwTt7@nc1!3`Q28Q#4hr?a;m+4}O#!G5m@)WQ<~OXNfJ!Rs{RJCnuccvkw+-fDo$WQPI*;z)O!DTi_h9E2MHGy1qdI9NhWJ z!VMJpFErZ4Z<{Igs0ACKGzahql|Gh=%8tLfa05ueS|jY|LYOhlqZe+#bDQ$CffPq@ zTy0*c0R#b)q=c|2Fs=xlEekdf(*RT%6~w5RYc;lDgA^4z7wdBi;0GFI;|nz)cZCH2 z1vnQw5r`~X7ixgwIcYQM?a028)(E#P+<>A9oE7jrHb5U|Vxa~;n(EYk@KA+}2svl_ zf(4!1j>q8mVtD*nkx}bX%-FM6FT<-&wE$n^-Op zi+ey-fE!L+umM<5EELf(hx$M_CoR+f6b!=*!hv9W&?e4KUa$d#3KKInieWA$jqWL9 z#{Yy9=xBSS#`<<}u$i1XW_%|9fL228&MoU;7Q+V~-q0f0$KH{Xioo)Kz{OAGw6R_n z^ITE%Lnz%+3WD06o<3$=`icHs=i!k}!=m1xI+_CiI;z{u#kr(F{yCQ#gbguNZ`L{! z>YNSs(WnF-tn(%Zsg@dQFRmLAbcmbjCN2XgCSjFAh87fI?3^*S*o_3Pl45hfZh-n5 z?xANcbnloQ;OhevW+@=N!0#^D0Gbb|D-lY?zAy{VTBrezGAyu}t}q{9)n}gF^Sz}G zhIV8?Zd_-`RHx_k9MM6I8z}%%OgQ_xv3+jO5%G^f@&(RW$VL@ExAVpp4{hZQ1lEpN z2jvXP-S+t1C@$@HleZd!8Xb7GIoguF z|BxP0H7GPl{_M|3C^SQ#&$UwKY?mL;O#KqXOY%T`%@s`;3cA`Zh%G_3Memo?ynMK1 ztmNJgi5Q+mJXRbqJ?IZyS~d_4fVl7?s7%oTtF`2^F(cmfEO)!yqmB0HuxxR3I&*t- z$j%?{*w9QdU5%ZGNj9ByT%fNi5knOBM9&*TD|P^`b#;jt6eW;FH-T7rEYPgzni4U{D@HgF zFt373qP+0E5;36m2e3H91V%W;n)uohG4KxH<~q}5i!_I*CPC*|PUo4QJj&oC)zNtiHB%DP{fX6(#x#zcz>}-gL8!%5V@Bk;>(sM-F z6W|lf_(R4QIg?w*jDPC?RCiU$K!kCP<>hul30mU9nHW61xX2H8_tf&?%sw?55jq&riYTwE3$5R7?$ zbh?*((XIY3?q~)eh7l4A5&%NfakKl!jMF}WWMHe=XmYlYsymGFy@kmQcYMdMnpsA5 zp|6jPlN#*n+fTmCP}|*gfwG8rqa#UQ-ytK(=VxfhVcZ~FJ?xQ?1Hr=O`(wuc_N6vM z4jZElgUwhDV8Dh$D5AC))gXZvst3l5|8rLn%^^M1lzTA1z89@}w*5eNfsKR@vh!=} zp`1xRtXd-4mh0Y4U)vb`Bfg6!`4n!DWj-`!Z0O45jkeHwYx9Ci)^c6`b?1w;>qY43 z>dn!>o^h%qRD?H+!y~sJcZ-L|jAnnV+7v+L;gcso^6Bz*-C#Y@d(`KfyItO7Mwepd z8=x{po{x=%lRPqJnEjtxzwlD??=W;@3ArCbDgI7IM|l6>Xx!HRhK&p8vrVylVNJiq9jWnr$zp< z*1psh0fUWdaFnZpI$ihE0E)j*DUm@iBQ52sC&rBaU7v+yu-P7M(Q0+)L;fc5rfta8 z3Ggt206_#l>^&sgI^>SAECY;yHpi4vS#BZ~2C}MHNI5@Vf{-HZ&A7~wS_tkW z&o4p9gtaz?Q&9I%=1SccdJjo`(hs0VV6lY0lNr9a1R+5^Al}J}3Lz#a$}cTJNDUkm z;sO|Ep3T7eN$(*^!-8@UZ6VgpvGRY~dq}iTq1`}ZrYhv3r}MMkLq<4k2@1refC6kX z`}q=tL}iHlv*7em^UAzm^d6G!6NafKCM%?eDDl7Cdr0xGBi)G3kN9O}_Ah%6nNt3s zz={}w0~X)3Us-~X6!%fk$22e_QJ7k<_8yX1S!~$I*C7#TTEVY+4~g-#hsTp6uJWww z(qAt@NU6eR)c$dYfvO(8HfH=)w`P!U>3%b2{D+y}*S@S3&yd3Eo*?Fo%;j16$y^5YOHCjWOfD%(ZdIauFt0*=mz+)jHp?=E1(#bdhhlgl2Q%IrC6GnNI3#-{rwVzq}GV24y$<4QTNq*y@!N|1Vmfx zK!Jw=kNiXLAt9`bh#L!XY`;;fd4CB)f-*$dB*5qnjX>Z2;}V3_UTh(G2{;WZh8KL$ zdq|A5fsL`%ve305-FM`8&wCK=jXXjT#s{!Oz33}T5RwEh)Om4P<9^5CQA-dq0VRQL zBV1OE@Phhk?;+XcQp}^krH~+u)8yzS2pL4|YDB&hawcWM&Ao@j5m@Zd9h`Q+_i1}e z?;#Z^4aP|dzNB7R;g2mrNOT_nVndFFe?_Kdd5CGsXDGn}oxhXksJiVGvBfOLok9OPXtSd;u(3+iE-mU zbu#E`bfh_?MidkDrnn_*1;pPaTP(_kDo;)|nhhrW0mOsxH)Amho*Z6Zy1n-kc3}rI z?2@1-|Af5QWbYwiE+>FSQ0c*BBKEDRB?yU?1OBHRA0T?Ld&i6$ZoQG}BZefyl>f6< zzU5~0|L4yfx+BX8?T7II4O#p#keLpT9XG8085u6sAT7A6A;w%%J*~;bAD{pX+zP{J zShgCug0B^6MD2`<0_xSksgNh~zFwpe`+VfY9hOaSaFIkiZhYYk983GyC(T74c(XhD z_;JIYBWu@j#^AggsP@nl$fh*19hGI9eYRF%}lQh3QZrt{X z{^`?=n@7m1d#~mZ{pqI0Cp($U9EsmeBL7Y2M?k|S@IrilocUe<4yu!8R3>wm%IlDXghC|f;LO~#&u2` zH}0JcVVhfaxHgSw=}wumuGSm?mAT_|<%{c$!)9OLT5X@Y9?VCEx%-&iU_g-L7FvT4 z-jO27?9<1M`#+4cS(g`mXCL0;&j+JcTmlhNk)1hmY-fxckA4{E)73xTYtwpW*WOPH zT?K~<9@YTNW9(_q95#n*^6zD zIRqJdurwfHkSIN8-0){E19#MG*J5?me~8SoVjD%zY^RW{4|E#gVwza-x#QFI&KZtm zqrOWE!Ny_IUF-U-4VbRxyg|Jq_kh`meI8qh8N*Rw2*U2@1Il&?KSAH5-0vc~cK*2W z<>~8Ls|~m68}t0246K|P)HQ00>(z$UozDl3fGWuc$V2PxI^x>%&s^(((ayg610Z=K z?XZIbl0jA}ykN=BE5KESRUtSU)TA60TsXc1s-1SA+82!*tL93V=4n#4Ogo?#YmVTY z4@b?Od&oOQt_sww}IP}L^Ygoao9x{@JMOLli zXHT9Qt2=H00GF%Aji|Gr&S|UJXrt?5uutQ_oahP+WpJAFsuFQ`L&<}26rnf&>T%EebO$(3 zmJ93{La*(9uiPP8{?0>$@q@Ayh$KXdQ$vb}4qFjl*`%UZiJo7G;_G@Tvr(`!B*5-Dy@s>0{INo zlTa-{=EtKxcEh;wkGr+){D5XVjsN7SVmFkp8|ynq;{0z0So>$-@Ns8BKLm~38w>3F z$a#fnh8hjxzOJ99H;o(n<^%T(W@`tNJ@col+JHKC8!VxjyHtEU9D8`X?d0ZOVo}wR z+yWYTq<{kFmY!lMM0ZeR1up}U%eu9fSm+@_DgyO_+6xS++j@uvd5{GwCVzrVV${C9 zmsogPLXJXY1nVnsE_d`2D}_Cez$(aQ%z<=vXD_iJIy2TLJ|Z88Nkw<{5Q}ZC;t9*p zlnJPoC3p7{3v3)O3zM&gb(7ln^c0IIE=m!Z&qJovy*ych!iJdMK zN>R3U0xx~Emsk{8h0X+28ZvEQKGsVtT+Kn9k|x3hMfu_5y~N_pp*H5@t<0uG*-!Kk z3&R~O4M;6XB^2(?lfA?e%m(He7*UfuSL&%=Vu_Tc6XOgTV0H*pvWHla%}!NJmGBc} zDl(t$B^IbiShsK z3(79k1jC>75-Uy_qGK_K_t7)Af7(MV^s+IGMJGVVE^|lrvz}s6Fb3-FqT2>m!2fwK zv0#hh?u6|Y^(HoCzvv|v6Gn^y1<839!PQal+KM4^v!J7YJ#L)% ziJ4o)yoxk5JV-)j_kHB7atPbX&YpLA6W`Ix>1W6L`7W7vhUn4(-~?8+*9;AhY~l|n z5bnAmttq-3z>vUYpUxx>!rb!W*H+l^p-4||GlK9AgC95Z->k6XOB{Sxxp-8I&_=bw z*H_x{k?aKUz%mc7O|(YeSZT+{&IE)A5DVWy49@=TxUsQ^*JJ(eufaMsG^^UwdGZnF zhM}CGHb%yiRpOh=*E2#BB-=6*uQ+Bg@2zF)*&>hX$E0b&vY~Tfy}f)r<93f2Deh@l zsNuKu&a(9kaLpDoOfI&KCbRjwW$RfKEm&`|lgC;<^OJX%uV+eQB;?`mgL96w{rhF> z8Bz%IFcq#4KWXw8?=4%;kO>j^O4(IG`HNEb56jjwLJLU!Vs{9PHNwr|{pIT!xf*sz z000rSMq2-m%hz*kdRSEfK18WQ+x`d3*E81GEZQx2kSUNkb>!CNnlZrtC^R@DwE034 zk=d^-U(d)5qmC`eRx;SBb=30p%&H6Z8VXZ@iqWt6>az6=f0X<`C(L#h^$dOVvh}RM zPKS|&k2I+eSOc4vt!K>r#N!ybZt9CxW^Gxvp2;ne{t<0`vSr{R$Cj_>fDIcOpOA%7 zmWYz^W$T&#BypBIrlUm>Z(X*Ysi{D^g4s`{Oiq2<)}j~`K(}bwpfAaoi@|R?vDLU| zHtMOX{WRQa!W9GeG0K7(d5K*%m;yuGMU!_9sNLLg*0fK`bXbdW0&cRWTb6Ir}KPi{3HnCEm@qljoh zt0TtO!_Ao;Xj-QW0hxi`&j`LF{CHjy61w<&hf`aPhd-<{>IxSw!AUv5e^G-)IvvlN z)IDaa(bvDX0H4zOhFn>3`s?2L_w<<68-k$WjTsPMTNDU{Al5Sdwds+j)2Jx?YX$-W5{U3j`})Z8{4*c=N823V?wA9V z?Ln51;zW}`D9~TuYW(vwJZwhl3AN@8oZVtyU?dq6WVYc2!v{lg@3^hI1Am9WAW3#B ze^P5H+H-aJcJaf}Jb~8fL7kx6*879OVlu|U1pgl!WprO3ztz~QbIH-on*lPB?-W?M zT-d7nDQOPMVeo*683I6Sgt35|gZMb1R1_5oUL6Hu_`wc?$u~+xK}S)u(RW!tv4D%b zZ%!|u=C+;Gb7Px(S#(yZ zC_af!2*RKUQ+VcabauHYXm_xdAZ-c^#EZgnN=3n77IX{JG}^?iHq6c~6$L{Dl#vlO zLqs2c_u#y8QNUGzONvp;L>w@+&My@Ou|zcI94Of6C8D=~L8&NUwz#Ia#j z&#BnTb4hWARtQhSn7pWPOWbYoE+wB4Byil6b@5gsnTCRI)TsO&s*|n&S{ERm|Fk`< zlUh!q=q$a~@x5Ssku65=@H1K2h{#_iVrdN($#d6rA(*^my0|-WhnpJYPvC5&jhU4u)f2sCQ#Q^(+!@Q zVur<#?P1%j)%DeMlj#T=KYLb^-PjW98>;CBITlnD(4z_f&)cSdV>R8de8A=wT`LcA zD4747D(VJ>R){S==pH`B;my@_16VOb7>w;RJ6aa4w^Y*&URDlxO+4J#ZgBx`t)?3& z2^It{5+lfCA{TXAHQfNzMGONMSojOj*|OWK=_W+-3N}4tL`ECZqjyx(4f!=z)?$i- znU)opcUIF4_TOk6pdN%Z7*AbtS2f+3WcxjAy9D)vBc^kAHQngUp|canRm z>Bhl$8H-SxPgT>62RjR?K_Ip^)jh}mK{egL>V$g^1u4b}F|ypJE9yp& z%qfDa5$>{yWB#z3Zdd|>MiqU1d7QoYM-_DgV*zDp<^iC-e(XO}O*c3l!M{!MQ)LsH zB$7kbqf0z6?H@U5#2mQ_NeUyN$_$t-M~CTAe5>a>|X$J$uFzvMvT)EHf+?C zp#@vNnMNlVwabFkMA=+xKH-z*m;0bm~S`U3z>7@yxN6@|eA@&$pQb0L|h-rkCV*-XSwN78p1g(fP&je3@2 z{T2)VnLpD0-I!fLz}c9f0i5$Z1r>=w!DZoVy|WSzGS-+2i@6C)8D2^KyOns5cz^{l zy8G-LV*aP!-D;dP_wC;4e=ARe!iBQ*{oXy)x;$k6x;aso8B#ptZV__BvFi6L?ErDb zPQWU&jm_#|#AxMRO!S=k@98fSlKw|Fl-pf=W3Wr@)4ADDd-+G$N6-*FkQMumCJ|T&qt(#ZN^O$$xup3 zov;3hpHBkEHAOrTw-AhKz2N9=yYp(M$pM4)xTRW~5Z#Z{wlE;hQyA`EozoA44$!VyKAQ}-_S76&SLTR3Q!sHf}}!RKhBtC z$3GgUg+(fqO65a~z~Mg2wr(>XU*6ZM^9Xh}1}N^V(=9A}dVdVj761YqW_Sex)YI9v zZN`JMPptbG?!HY~{1Rf`Q1kA1N<4yyO(Qo9Bp-ze9Ed0W^iPTOC7NUws>iVjYckpX z5jZ7K_}B)L%Et07aMa{B?P6Wugw^Z-%lx32oLrmPmOB?Y}HMMPb z|A={Cge8Bc4r(=z*t9Q-*BGWR!MX8PL30s_NgtS+I_4vEZfN6DoAmIB@)Wr~|JaYx zxdHG%VkC1QDq%qre{GxbgW0d!@+~*^nD$uwh)>!%2{|$J*TG0Q*4IBuC#Tumi-bSC zC5Qp8K5qV#TZS2WiSL{fXiFn`F2f}%vFiAb(#b)uz_Hgs1q8!r&vs7uD4m>-wtRq= z3}p3@DuhIg8dBat684WLuAn@O>$=es`4GQ_ywY@V!rWf?ij6(4aX+ zh9FA6xy^Wc7UdhQjnT$PeTa;}PN(E89bgw;At#D0h9nJY=Oe-U@?6V>Ezc5Y%ezeCK0z_PErd zaE*Pb3m_7j$B7@SvnPGy05~^cw0j|&vy(nnXOAB>YTcRdr10=@Gd=lZb@nl`)L2Ky zsOAFuaI#ZAth1lbp0d(W4}k(t~SYXk;+5bEfx zkK;wiSQN%VnDRbg1M1mle^?h`zNNu(42&Y_=qD7|QBa{|W}maIfIg!YpfZO29*SIW z1I+Z?LXFVH3n0v+$BGr8ADvgE5hIolaxoAq;g|*d`9&H99-20kqMWyA9@(JM@XOBdT7?1F_KghGfoKxFT-MYd-?#-xq9W*SfhOybKI z+1~YZka;N;(a6EY$-iQe?eRK*c%*Tp;z7Z+?8-&9hhDBx>4BFSz%um0s}|j!!c*i1 zj6!DWhW6EqZJz}St4IgqT5+iGuUT|^5<=__5GExrrtR-7vc1@?haPBl*Ro=zoog4_ z9sv!_V~=4mI3=86u3Kb#5$6IR4s8``G}gD*FSb22XI>oW&KgD5MBlL3_SmCZ4q0RF zLrPlw#znSgWA25>NRW@k4$yLLT4Z}%-*IP$3V;eah<^9xMYd1F5bhoCUk0NT8 z+aCVAiPKyHD=joL=hj8GXK)6mmifxz|4m=tw%GRQ#Q7ke6Ejp6RnFTN+dgLKB|nm( z^X5Z@xMQ*HHA*umlS3^+6efx8+*VYWTrA*8NtrP?Fjw2rUE2)jaMd2F#q~zIK_hnk z5A8$M;3x_B(FRQHdLy@;Mo9}zWHfF)Ut!~!+`Y}Xdv<|h8jv>xs%t3(gm;azbf~_> zhD`&WK0~z)L#^zdInHGoQGgkHgE9o_!THz4mm%f}bZ{Q9_mT?Yt4J}L=>4*-fDUr+ zwt02t)o^`Dl+1Stvubo?V96A}P1xnWj#UVA8n=}AzCY=c$(SS1m`1k~+eoGE|5H90 z$96Mnt|%L!*J1_s_y3en1`8hGUlD3uA#_PgKk%n~GCp%KVnB)5{GdK%KKQ46GQ27& zt6^xYWY29kdZ_TUhWZ-x9z-}D(O)&=hqoDKF85#iQd=AxHg=}8T&lGDc>tBB04*&v zbUYmAwe?7WHq4pG6`6jb5JSO-_t7G4VgwaEjiwrP0Gd5kpiSU{i$(C0${BEg(0;r? z8wKhk#X`+dkUo+qdZIv^EXL8E;a0@-EmYi}+-Cgi9M?@O2xiz`&f`jwn_BL2z4MjC z>{)KW_pAuf_XGe=$XdjGYFRpEd!3?guXX040b>4OoAJbaE0{!$sKMrjcI|L*j5RGl z#$Ff-bB0^G^$aGvEJU#(z}*tTk?`qlW&98*(PA}-q8K|`)E})MmWu*+Di$#kHs<1F z|D#e-D4HlQMH>|AGrV@|nNm??i%AWRorYsVmkpmS6~)Dy4*_pXS0h%+H zGW}wyC~oF>xGUL+c#{Y4-Iq#5!P$@9986issj`0j$s9bL?m~Qr+tL!CrsjyXbYLm8 zkTTZ_QQg6($a0gP&Viqu-f?vYn9gv8nG}iwrO;q|j<<9p7K+L2S}b;y0m(ld|7@G_ z{OqxKdG6OfEo^7mjOqQ=NHV}459$QpZP+w>(pr247|Ss1@I1yt%FULie_ra*MyQV0 z)D;aztShzui*iwth|QsAlIp}3F)?2*6$RRKW``hflcb+T!?6^Ly$QARkzqk{(!0LNdKi^AG9q&|wl znzGShf30K`<`;w)7!AqqrT%ZqMM+~XVE#prlO11>ypHMnTaS(Nu0WuHnu*<)ZNHQ=9ia_=ONP(%+Sf!uH8S?-EtDh{SO6ZmB4|0I9D4 zO!^5*y4wAHxhQa<5>Pj+A3YI7d#_X!tn6LN)Ql}S$RK<4hf-01I-45w4;xJkMl$>T zQc)797-Ct-)|dy_a{gE<3O20{o-ZgIAVros`h#*&psFiYjbyj5?()(jC(3L#071lP zNO{m`#FIJuO35e+iV@jQCN}ap&QYbJu3li^61Yf;C0JE*F9#!sOKrY#hI9PZJuBT<&`h? zMSR_Dh+tUItmVnPW}2jJbZnKKfv>@LJD~6#1I$U>uT|L@sw^7WV@!848*Xm!^(s3f zONHf1hR7-^tCS>_lQJ6yGS)h&l$UhaxqcTBP-@Zx(43u&G3BF2)cR1%^2JR*^;-Gh_yuEQqWC>tFNR zMH-PSM@><&7eSm0Fxq#DG(u+-mpg$xk#s|L^28#IV1*;^=i}zamL;~VlZrG#y^18I z>%+Oi{Va)3F4D+CY|NvcAqwo7m&B(OX#}Um4LB(ZoK(~!b!w@#O6*a6LA1c)Q4|ll z)5=8=lg0={6)PUn8^P&CPJqmC00<*<5bKW+r97iZBea%T_44)r`(jz1o>`=k*z3yj zALenwbEdyrs1YJoBm@{1lt-~LJ!`@^w8S_*8tyh|<4uq;R->{?zCW}4vnPx%mWZ4= z_U@rWv`?_8(LAu=1LJc_hW6dvLVI8hbwDR455OcXxz>60xU1-lzfB|I)Ksy-6w~I@Lp5r!BiQ<{I0h@t5^R>EU=|ba2 zfPpbtr|`1&Gjvn95(x4 zOO%g7nWSU#sum}h*w;-M&wRLNw{A2ZsgDfmB|1UYwwVhXh}9PYNJ)78gz?;me1f@9 zGqaO7_I?kcRxqlwS%~Z`2AXk0sl_eJRKydA;Ic*!g5bsp?}aLcP%jJv6A(TCPId1raSlvT%XGOLxPN>F}9(l?`=2^@8A*3FDoWcD8G$ukxxi zZ8q9VmUr{e+hkD%!qdS$_G!0p517fN2Qc<81VDMy8S~E4p7JYB2C?u{FRakD3Vsm8b`$|P2 z83Q53q>Kx(A#?5f%SC~s?87bz$#lW7Nxwf~{J(8I)RmfQ6@-Fz{{B#aNcCo8_Dni} zHV7Av3_kvNaPiUyD(C|oF%Jm@4-bwasg4IL=mSSt$ID2BQEDMA=sz@J9QTQQftzEo z=F7Ox_~qW3Kd-An7Pzb0{YkS$6{|Ts!bR)rJ23y+zy9-||76x|eR9rU9x}_-qNZ5o z4wx<(N8r5T5sD?0_wY(Nt^`p?kNPui0Vu;HkF1pAl3lV!sDv@w0~h}2N;xi!qd>$f zvf7}FoaC_;a$I;dQg)AZ2*8K!sD6Bf92cgjisY=B;pT*AarneaIW7@^qM!lhQM0Iu zo?Icv<@#PkZUM_`1)n%|o?0Qt1#kzGG3*8bUSrP}{$Rx%mo^hbJd~$GPYKI5RdS-?l5@@k6Ihz}v13ab za$J!gXpfW|%|Nk zjg%}!5+4PZpRADM0!If_MhM&{`|4Q#bj2K(lO^oYpkabGu$-T*kmI5RN}V+o5f^3S zDhsS+r^vHi<}?SP|$HKU?uI}x~l=amWLl!fdKbJ>a>>q|Se z=VwIAGupeQQs5b8{%y52CuHXLv$cMrX<6$2cxFto4;ClhY0HcPB1X#Fa!nc z+P|JKPXEwu^!^B_NEK?gdyQsPz)~Mm4f1pBKVDmrM+ry=6gGMhaNl&AhQFCGF8-8^ zF<)INQG>dXDu(jKYwk=JLwCmbC#_ohHya}ZdoM{{H%v(OlK6E39I??ud2?cSU%+YM zAKh+_wh|_x86)}PPiarl_NzCR0B;b8B9y~_naO%2OWyhjoD)JKX^iLta(gy7Wb^Hb z-MtR?bY++JKFv9QFCG}eiVP7hjgD@hkzoto`6!%J8oA`v_!qTobjJMOeH2cLHwitf z6p25S2~tnJJ7GLBd%WvDemPV?%0=y@RUaN{mKyiwk42TK8+Z1aV)4%(J9SjO;}i`F zHz9lW`;Wv~rKX6K!{G)$pHM7+Zw?mN@(mU9tpFE)w=7#S!#1M1q=r$t{KH4&yim>6 zRL!BN2cZLp`TdFA<$RX!eyyX1tJ`ZES+n=|3(P+Zeilj=)p1J8f1KFe%W?iUz4Vkd z#|X4@)YxZGErs{6iDs~@Ei5R+Vi*6xN9WXF4o6CZR<=mY*+G2d_IdBxoSXa7_ifH- z2Q}Mhz^ofk!%Ki-^kU=-kvrv)giIPmU-{^qnld9c`(}oaGQx3jaMbpBg=pry&P#jO zrbqof?o}5*1qgKycnUCL~O84LiaDaf+O}3dXh61 zG7E&N3-K}5TMM^LT$#T;%k;&DGxWC=Zi&W1kYX2rcvOr(x;s(0Wk&8^l(NxnL}0`5 zw{JHND?uTd6Fdj9F5h!aBk%+{Cz8;pvd0+;n#xHgEA9?xZsx}+rB4Ju;&`gs?!awD z8I}uBtf@|W!7K0p<>v6mUiV zcE#N}5h`J+2Z|+55Jmh>#ocL55+%&=%s{y{O-`(~JKwg%EY#At#bIrsPpY~*$3r&( z;Smb{Xhxk}ad(WCyaE7WLzDl^Q>yJwHa;O1tl~$ha1cMW;_f2eZ-z_=wH}IO;b|3j zhe!&72zI2|$D%H9dd1ygm;sF(Zav;fB!JJTwmSq?V4%T3QDXPyMrT&s9S8*~4@hm0 zRz&*eyVZ6VnGq5)B7+*6F?MigRotB&h3G_xNU}yXRi9mTcL>K}dhMG*4!k+1;_ebA z9^?&SPz4DpQRi0N9jf{4fJmq?pm@x31e>M(LNeegpvm{yKF(_J-GQHzAO%2m2tv1tjtAt)`n8YzA`x$r-YE$Oqq7O*eQ(qX#Cc zrkF5*xw^laZWK%Wn6VQrN@k$g|9&;ySnT4lXp^l3V|3&^P)#>Tva%n8|8Ii+2PpYq zHQk^kiGF$n!;{PeOYDcL=?39c3(h%2SL9{`+j+Q}ZZI5SK>(i5#~o2c>XB-?fmen! zgF?j&D{9XR9<8Pu@e0wFDYn-xS(WUuincgIY`x&8;$bix(O`wK+x%duLoN^wx27t^+Osq!6(cj5gd@&h<;ou z3JSLPrgBling^!Jp5Jc#egAsdFLodu>}-*y0`arHwP|f*q}iVVtApKLe!`uCR8P3s$SWYhH5z4Py7A6#$b`cZ;jk?LAUG2Tib z)c>^9F_>bcNWD{>Y#gM-epV_9<2&0|7Z*HM`)tI1UMdP6dSWAnr7cHfXXYcut|;-yM{Qz}Zx)x|;!WyUZu zohW&|R1~(iXsQZ+S)8mB{YI%MING5U2kwm{vHc+a?e=nxQ6A$Xt~EJSoDD?uW~rkA z+8BA55QFpZdDE=7N=5NQG!TJ4?1e^y@4r(j3Ue4L+iVoQ zn9f z&H-SENtq`X{zUeNa#4I97axlajMoBu9^Wq&C3BD`rWz88cS_{je_ZTB!(!MJD;bT- zggC@}u-E`vz}>F4To|hWUY#Q+D|Bw6+=>e;RaeTBpclihOctAlFs8$bkd-?~L^BSe zqYAc5Sx&j4%UU; zk-K%$80>0~cFHXfA%{CA(j(}pu(syk{#Nr%ZxFt|xH2Pg_TBJ7-9X?^w@cRGj`oH_6@BX*kd2@&=XI}SQ)oLlB z1c|i;uL#LX7kgsTVhH6YzV(fQ!zuv4FbnCBS}@Q<_nVW(iA%0Pyl$k`)gaDm%3b;5 z1DXvqi`NVdk8I)(c5?^pC=tgN1iL81RLM~pYoKpU8XIQ@k*#xmXn2rOq+h;%a`rDF zp-z{q5lE&|EK&A~beju=jcnLV!zL&T}obmJ+U$0_oWy>cX%aayTs;xU*+cw@6# zR+QMn(@RBR#zvl6@H3QwSuvk6Y4rDx`mT&AjnSdnj+r>s4NO`fqaz>QkoSU@l;H&f zbt+;&KYeYJ)Je~rG(Nvj`+wFgp|gLPFEWR-Z#DzdBpqYI((u1KX;@zZTC$0rHVign zg}v|>_B(K|Rr^7{BllJ(C5P^slZZHxr`ZAFW_Z?QAy@`T42FM>H={$xbk45k2HWIN zDX0NSN_@%?);W_#UrTS$N7U5lNOMSysJ_0@kvb=aqlcszAppu3l!-Vu#N?P=*d0Q| zOw2Srx73Yw>;wcsm_i!I)WD6-n>1?ub05TDvx&gne*C+?8c7CpYiANP)tMR{kMFGc!BCnyaZ})4l3vKYM~mn2gVnwOV)UQH%UJ9c9p59k{U8!u|fJ?sVGPg;Uzk(N$LEM?lh zu2dB9DaYjzkgZR-Q|ap`jeYw^Lm9q1BYk^QV?>I8)Z7(t2x?88On$1 zjT%454ep&JV9KDJ5`aoZ)a-`E#!^S@h{f;+)&u%^>L3Umc{ffP|InWdsC;5s^pOP? zay49OG7*%XV)v%SN1JhMKDOI<<_2B_cq8`hn@e4JkRLV-K~_KDTiIyeQYs4iNm!OZ zd$%$B!SDRmQc)nU!@3Wt-Lpx=ZuquRQ9?4MKGmPhgnv&>^!Acb01?<^V~`K9fy~}f zc)Ve{#0Qn+5gwYno!On$49iIR=LkU^M%YyC;qP``605 zHrl95skYW=w%CQ&zl@lJxa=I#`SAfWe@d>4_pXtFPaXi)6M9(;+}DjnFX5iThvHZv zqQmf8V$5hMrQJJe{I~wj*7Zwm>AL$;^CQ-l)4SaL)vz3G{&zWud&ckBXOAW$92(k~ z92(^s@*3byNSGjpmEKqQ&@#nz<0Il=q1cV4!~K)S0sR9bBf}h2$FoV0*|~XB!Br-g z+QO?66K@n01aUWM{NJ5`qpf;hA1msCW~)B3sjqL<&W|~SyUmEB<#Zr-m~0#=s{snZ z8uEd{r{kj8hI>{@4#f*ehCW!hC8@~>(z24x6(uM2(4=AZe`*H4AREe;)$!;CE_?pX z02L+J+@>gxkqM8ihbN8Cb<(2w@4v`tvgbNnzSKG`Ody=NmIdsu8FFp=kp)|jnMSAF zhbx|uZ&&7{3$_Tz0{LQTuBnqlyL)WG76gVOVX|Xq8qiVlI60^O|7&P;1j^6f%SGty3GF1&WDJ$(D7- zWnLrXggy4j*x@9xfb(K5iSmCiX&lrq^oFFC>LJzGAll&T$iMAZAF7Y6IbuNZJDu)1 zCR`bDjaT?0A}?w^z2JE`Je9~_Knjk~jE%w{_Iw^cl9#n}CAypmTtAzmJg58RUl+bI z8TD(AWf3D~>at&ZhJATARQF4V^f8kM!V3xj86p%?QVx3Pa7mw)DZbkP-5gSYvPYJ$ zv#w$OO7Q-4-U(S^5Dm0U$l$Jlfucv^hR;nJ_8hNXy)BlcJ6=9uy$Qt|pHVf%_#^%C zf;RxHTx7Dnhtue1Y?Yp0um$f08+slYN3a%_eqq5Dao`~+!Dc0*>dgT3A{VruOET*^ z>^O+TG9{yRPmH8<*? zO&WiZ4XK}Ze%IC`zv%we(D2KWlHN0-sG$$%{_x7O3G-Muv2f-5e#xNP8PRvBEOl)+ zdHK0N@o0T8m8pz7Yk59Zjf9$C!XWty*KbzKy{7-T)0dTG=<`yR!k>ZiVEF2!k;(Pb zL-l4&9`)McI+kf~V_)AFb-bprQLgOFKj`agjgtBj;#2-t{0YaTkAO!6L@XI?waAQd zZ0yqz#z480M~HMt`l||i5|4BgtP(Os7%Kd_vYs$31?G%Gl1oaI2kN!TdZJ`VwJB8W z7qB#QoZl>EPi+zJ;vUN02Pj({*rDXkJ>}wT_4=f-dglF}@j$FP=%Cu6YYtww_P_(k zJs!GC1`^>FNLnPN0xN<>9lkMXteGdwx_#H|x8J;hNaBi_Brqx`wwY3XJ8AsyoiUhK zj`BmR$=Yck0vQA~Jj?-9yqs^&`By1wb(xO@fY5X^Q@zD2xj~b|ZKO?NQ3vVkJNSSv z)Yct%$ib`E%*dxQP}=BAl2c+k0uKCbh8bBt0dT3c2NiF~FxK>aeFyO`wGx)F`I`(u z7h6%p1|Y{PCrIC!G!CST3m0W8+4=AwdLsRgc^M*RgyYZSe|;BY1)Aa;NpDAYQZ+Rh&*jV<#4=+rQ);~fL4Xt{R>)!hfU zY1P+VTI{3A1$Uct?5<@rmf^UWve;&iKvj^vFDzIpv^QM|JUiKn5fyY4@D4mwYb zM+FQ5G+a|1g|QbLIc50MEK`bbG;Z&v0F|% z&B(4(oETPZDhR8ajjYbiDQB;|sHM;tgrfo?>V?-%9P6d}d87 z2s|+{qhx^FFzU|PR~HVI5VH>9b@oy5l;Zm*r8vZ7OvgKVic;L{!|K!v)Zj3?1kDB7 zYtx8cJ;*s~2(HtZVzjVZ8|P zA#=y4j5Q0y8m=FvH!_&+8YuJ`u!v@os^qiYI>(bauqkfUd8YFxbnksu&0N`}40>!9 z`9D%Zp0>748GkqXKz3=rYxksWz>G2|G47EQuqNhcEP8{(pa7*NW*sEugQ^sDq2H`tq zwr<2#1I^VtzS;4X4R}(M&Oon1dyfL!oZ^lYi!$qQ7?(WmDT6#SAsokJrVM-6Ky%#( z$3@8|U@pX#P`O!l?A)zp^#%S6(+;xSQlbWv@Utjxqrr?QJ*-~HHZ zbz>EL`dQE`=sL=AC7tcrU*B=3r+dnWP6nBL=$wu|Jp$S>X(u>%n8lhAbIx&7JIaF7 z?Ul%!=0Rq~D0qZSz$9t{{0ZT{lRG$m%5XZ5@^lZ~gc-f))?n@MW=oPZc4m_@AnnBc zXHwQDOd0N;nze`7tw=j;#K4@g=hLjeE%l8B+Cg*3OUNFz3FsdJPBIbwh`u>B*SZTF zHG2&a6_=!e6Ml;~qdmg$4lB}ohvhrd{3DwIwh64U+BGR`vubJ{UK>^;0#g$~1t{I% zHXsT?PW|?jv6@W?QR-B{b1{UzzJ)i}D4fP5AyZTnS%CQJJ5$EmJPNgPx@Uhz>JQP@ ze5m8nbR`!^>DAig$VO^2em9_y>9i1r<@~7N#^#ArlB3UU!W%Nb)Q4;A8+nY@4sUc< z@oDGXpCbzc^?>3moC+s)yukBM+Cwyd!DyT!N?;xfI8G9b7SSV4MQbtj z9N)ZP$Me_eeYC-4Bw>Y*U~RMk>LNKT&sF0UMi!L(5N;@Bf|CoUj9}NDSdy`xU7c+> zs8!#XPbH})iOl&R@)HT%7uqNZBhS8QzN<^pQ!q%tztCzn^~Ll29o%p#WD=EvIa1P> z$XqeK$L%cjbEew9`UqK#whyhh>p*n-*L`Mn(W^vSf%zT`A97YKKm1FV@)oc|0gUUi z&0q}xKKQbNw}5g?Vc*qWgte7-<10Bu;oGhq;Kb zaO7(`%j!v;?V4=pJPV*NCQvQ|IG}3#syWuxoi$|lAP*+9u<0L1RSGh@o^+44v(XAj za#Co87|A8{Q~&Du9x>360aIgU@fwEOzGj}k zp#v3P%WAS)0ISu8cfLSkzCnd9U*!DgXPth*ST{wBFeIyfTb?wd^9VWD zy_!e#r<)pG`fT?Z$)Ae9>COe+`Ewn^^6Ve6NRiya0OS!s2nfca>rO7!xn;_*<~@Lz zY?L%&ufS3tOtuawIy%vHGrJ<&HIBzJy=f7|E}q96}H6|OKl@Abb5`^@^RMLT z|7(rJ7AYAOln-w-0Jtw|K{IOq?9T7vmNAV R`)~ejyS}0ES$)LF{|_en4{ZPd diff --git a/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/main.js b/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/main.js deleted file mode 100644 index 47fb3f02d..000000000 --- a/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/main.js +++ /dev/null @@ -1,2 +0,0 @@ -(()=>{var e,t,a={72888:(e,t,a)=>{"use strict";var i=a(33112),o=i(a(60326)),n=i(a(37731));e.exports=function(e,t){t.addEventListener("message",(function(){var a=(0,n.default)(o.default.mark((function a(i){var n,r,E,_,T,s,S;return o.default.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(n=i.data.request){a.next=3;break}return a.abrupt("return");case 3:if(r=n.id,E=n.path,_=n.args,a.prev=4,"function"!=typeof(T=E.reduce((function(e,t){return e[t]}),e))){a.next=13;break}return S=E.slice(0,E.length-1).reduce((function(e,t){return e[t]}),e),a.next=10,T.apply(S,_);case 10:s=a.sent,a.next=16;break;case 13:return a.next=15,T;case 15:s=a.sent;case 16:t.postMessage({response:{id:r,result:{data:s}}}),a.next=22;break;case 19:a.prev=19,a.t0=a.catch(4),t.postMessage({response:{id:r,result:{error:a.t0}}});case 22:case"end":return a.stop()}}),a,null,[[4,19]])})));return function(e){return a.apply(this,arguments)}})()),this.call=(function(){var e=(0,n.default)(o.default.mark((function e(a,i){var n;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=Math.random().toString(32).slice(2),e.abrupt("return",new Promise((function(e,o){t.addEventListener("message",(function a(i){var r=i.data.response;r&&r.id===n&&(t.removeEventListener("message",a),"error"in r.result?o(r.result.error):e(r.result.data))})),t.postMessage({request:{id:n,path:a,args:i}})})));case 2:case"end":return e.stop()}}),e)})));return function(t,a){return e.apply(this,arguments)}})()}},92255:e=>{"use strict";var t=Object.prototype.hasOwnProperty,a="~";function i(){}function o(e,t,a){this.fn=e,this.context=t,this.once=a||!1}function n(e,t,i,n,r){if("function"!=typeof i)throw new TypeError("The listener must be a function");var E=new o(i,n||e,r),_=a?a+t:t;return e._events[_]?e._events[_].fn?e._events[_]=[e._events[_],E]:e._events[_].push(E):(e._events[_]=E,e._eventsCount++),e}function r(e,t){0==--e._eventsCount?e._events=new i:delete e._events[t]}function E(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(a=!1)),E.prototype.eventNames=function(){var e,i,o=[];if(0===this._eventsCount)return o;for(i in e=this._events)t.call(e,i)&&o.push(a?i.slice(1):i);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},E.prototype.listeners=function(e){var t=a?a+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var o=0,n=i.length,r=new Array(n);o= 0x80 (not a basic code point)","invalid-input":"Invalid input"},l=Math.floor,I=String.fromCharCode;function A(e){throw RangeError(S[e])}function u(e,t){for(var a=e.length,i=[];a--;)i[a]=t(e[a]);return i}function d(e,t){var a=e.split("@"),i="";return a.length>1&&(i=a[0]+"@",e=a[1]),i+u((e=e.replace(s,".")).split("."),t).join(".")}function O(e){for(var t,a,i=[],o=0,n=e.length;o=55296&&t<=56319&&o65535&&(t+=I((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=I(e)})).join("")}function N(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function R(e,t,a){var i=0;for(e=a?l(e/700):e>>1,e+=l(e/t);e>455;i+=E)e=l(e/35);return l(i+36*e/(e+38))}function m(e){var t,a,i,o,n,_,T,s,S,I,u,d=[],O=e.length,N=0,m=128,L=72;for((a=e.lastIndexOf("-"))<0&&(a=0),i=0;i=128&&A("not-basic"),d.push(e.charCodeAt(i));for(o=a>0?a+1:0;o=O&&A("invalid-input"),((s=(u=e.charCodeAt(o++))-48<10?u-22:u-65<26?u-65:u-97<26?u-97:E)>=E||s>l((r-N)/_))&&A("overflow"),N+=s*_,!(s<(S=T<=L?1:T>=L+26?26:T-L));T+=E)_>l(r/(I=E-S))&&A("overflow"),_*=I;L=R(N-n,t=d.length+1,0==n),l(N/t)>r-m&&A("overflow"),m+=l(N/t),N%=t,d.splice(N++,0,m)}return c(d)}function L(e){var t,a,i,o,n,_,T,s,S,u,d,c,m,L,D,p=[];for(c=(e=O(e)).length,t=128,a=0,n=72,_=0;_=t&&dl((r-a)/(m=i+1))&&A("overflow"),a+=(T-t)*m,t=T,_=0;_r&&A("overflow"),d==t){for(s=a,S=E;!(s<(u=S<=n?1:S>=n+26?26:S-n));S+=E)D=s-u,L=E-u,p.push(I(N(u+D%L,0))),s=l(D/L);p.push(I(N(s,0))),n=R(a,m,i==o),a=0,++i}++a,++t}return p.join("")}n={version:"1.3.2",ucs2:{decode:O,encode:c},decode:m,encode:L,toASCII:function(e){return d(e,(function(e){return T.test(e)?"xn--"+L(e):e}))},toUnicode:function(e){return d(e,(function(e){return _.test(e)?m(e.slice(4).toLowerCase()):e}))}},void 0===(i=function(){return n}.call(t,a,t,e))||(e.exports=i)})()},36372:(e,t,a)=>{"use strict";var i=a(11176),o=a(89637);function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=N,t.resolve=function(e,t){return N(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?N(e,!1,!0).resolveObject(t):t},t.format=function(e){o.isString(e)&&(e=N(e));return e instanceof n?e.format():n.prototype.format.call(e)},t.Url=n;var r=/^([a-z0-9.+-]+:)/i,E=/:[0-9]*$/,_=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,T=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),s=["'"].concat(T),S=["%","/","?",";","#"].concat(s),l=["/","?","#"],I=/^[+a-z0-9A-Z_-]{0,63}$/,A=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,u={javascript:!0,"javascript:":!0},d={javascript:!0,"javascript:":!0},O={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},c=a(47186);function N(e,t,a){if(e&&o.isObject(e)&&e instanceof n)return e;var i=new n;return i.parse(e,t,a),i}n.prototype.parse=function(e,t,a){if(!o.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var n=e.indexOf("?"),E=-1!==n&&n127?W+="x":W+=M[y];if(!W.match(I)){var b=g.slice(0,f),G=g.slice(f+1),k=M.match(A);k&&(b.push(k[1]),G.unshift(k[2])),G.length&&(N="/"+G.join(".")+N),this.hostname=b.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),B||(this.hostname=i.toASCII(this.hostname));var F=this.port?":"+this.port:"",V=this.hostname||"";this.host=V+F,this.href+=this.host,B&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==N[0]&&(N="/"+N))}if(!u[L])for(f=0,v=s.length;f0)&&a.host.split("@"))&&(a.auth=B.shift(),a.host=a.hostname=B.shift());return a.search=e.search,a.query=e.query,o.isNull(a.pathname)&&o.isNull(a.search)||(a.path=(a.pathname?a.pathname:"")+(a.search?a.search:"")),a.href=a.format(),a}if(!D.length)return a.pathname=null,a.search?a.path="/"+a.search:a.path=null,a.href=a.format(),a;for(var C=D.slice(-1)[0],h=(a.host||e.host||D.length>1)&&("."===C||".."===C)||""===C,f=0,P=D.length;P>=0;P--)"."===(C=D[P])?D.splice(P,1):".."===C?(D.splice(P,1),f++):f&&(D.splice(P,1),f--);if(!m&&!L)for(;f--;f)D.unshift("..");!m||""===D[0]||D[0]&&"/"===D[0].charAt(0)||D.unshift(""),h&&"/"!==D.join("/").substr(-1)&&D.push("");var B,g=""===D[0]||D[0]&&"/"===D[0].charAt(0);p&&(a.hostname=a.host=g?"":D.length?D.shift():"",(B=!!(a.host&&a.host.indexOf("@")>0)&&a.host.split("@"))&&(a.auth=B.shift(),a.host=a.hostname=B.shift()));return(m=m||a.host&&D.length)&&!g&&D.unshift(""),D.length?a.pathname=D.join("/"):(a.pathname=null,a.path=null),o.isNull(a.pathname)&&o.isNull(a.search)||(a.path=(a.pathname?a.pathname:"")+(a.search?a.search:"")),a.auth=e.auth||a.auth,a.slashes=a.slashes||e.slashes,a.href=a.format(),a},n.prototype.parseHost=function(){var e=this.host,t=E.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},89637:e=>{"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},47426:(e,t,a)=>{var i=a(92255),o=a(18387);function n(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=e.chromecastTransport;if(!a)throw new Error("Chromecast transport required");var n=a.getCastDevice();if(null===n)throw new Error("Chromecast session must be started");var r=document.createElement("div");r.style.display="flex",r.style.flexDirection="row",r.style.alignItems="center",r.style.justifyContent="center",r.style.width="100%",r.style.height="100%",r.style.backgroundColor="black";var E=document.createElement("div");E.style.flex="none",E.style.maxWidth="80%",E.style.fontSize="5vmin",E.style.lineHeight="1.2em",E.style.maxHeight="3.6em",E.style.textAlign="center",E.style.color="#FFFFFF90",E.innerText="Casting to "+n.friendlyName,r.appendChild(E),t.appendChild(r),a.on("message",I),a.on("message-error",l);var _=new i,T=!1,s={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,buffered:!1,audioTracks:!1,selectedAudioTrackId:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOutlineColor:!1,volume:!1,muted:!1,playbackSpeed:!1,videoParams:!1,extraSubtitlesTracks:!1,selectedExtraSubtitlesTrackId:!1,extraSubtitlesDelay:!1,extraSubtitlesSize:!1,extraSubtitlesOffset:!1,extraSubtitlesTextColor:!1,extraSubtitlesBackgroundColor:!1,extraSubtitlesOutlineColor:!1};function S(e,t){_.emit("error",Object.assign({},o.CHROMECAST_SENDER_VIDEO.MESSAGE_SEND_FAILED,{error:e,action:t}))}function l(e){_.emit("error",Object.assign({},o.CHROMECAST_SENDER_VIDEO.INVALID_MESSAGE_RECEIVED,{error:e}))}function I(e){if(e&&"string"==typeof e.event){var t=Array.isArray(e.args)?e.args:[];_.emit.apply(_,[e.event].concat(t))}else l(new Error("Invalid message: "+e))}function A(e,t){s[e]&&_.emit("propChanged",e,t)}this.on=function(e,t){if(T)throw new Error("Video is destroyed");_.on(e,t)},this.dispatch=function(e){if(T)throw new Error("Video is destroyed");if(e)switch(e.type){case"observeProp":return o=e.propName,s.hasOwnProperty(o)&&(s[o]=!0),void a.sendMessage(e).catch((function(t){S(t,e)}));case"setProp":return void a.sendMessage(e).catch((function(t){S(t,e)}));case"command":return i=e.commandName,e.commandArgs,"destroy"===i&&(T=!0,A("stream",null),A("loaded",null),A("paused",null),A("time",null),A("duration",null),A("buffering",null),A("buffered",null),A("audioTracks",[]),A("selectedAudioTrackId",[]),A("subtitlesTracks",[]),A("selectedSubtitlesTrackId",null),A("subtitlesOffset",null),A("subtitlesSize",null),A("subtitlesTextColor",null),A("subtitlesBackgroundColor",null),A("subtitlesOutlineColor",null),A("volume",null),A("muted",null),A("playbackSpeed",null),A("videoParams",null),A("extraSubtitlesTracks",[]),A("selectedExtraSubtitlesTrackId",null),A("extraSubtitlesDelay",null),A("extraSubtitlesSize",null),A("extraSubtitlesOffset",null),A("extraSubtitlesTextColor",null),A("extraSubtitlesBackgroundColor",null),A("extraSubtitlesOutlineColor",null),_.removeAllListeners(),a.off("message",I),t.removeChild(r)),void a.sendMessage(e).catch((function(t){S(t,e)}))}var i,o;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}n.canPlayStream=function(){return Promise.resolve(!0)},n.manifest={name:"ChromecastSenderVideo",external:!0,props:["stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","volume","muted","playbackSpeed","videoParams","extraSubtitlesTracks","selectedExtraSubtitlesTrackId","extraSubtitlesDelay","extraSubtitlesSize","extraSubtitlesOffset","extraSubtitlesTextColor","extraSubtitlesBackgroundColor","extraSubtitlesOutlineColor"],commands:["load","unload","destroy","addExtraSubtitlesTracks"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded","extraSubtitlesTrackLoaded","implementationChanged"]},e.exports=n},52369:(e,t,a)=>{var i=a(47426);e.exports=i},7370:(e,t,a)=>{var i=a(92255),o=a(39473),n=a(67193),r=a(52653),E=a(2520),_=a(18387),T=a(78377),s=a(1961);function S(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=document.createElement("style");t.appendChild(a),a.sheet.insertRule("video::cue { font-size: 4vmin; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0); text-shadow: -0.15rem -0.15rem 0.15rem rgb(34, 34, 34), 0px -0.15rem 0.15rem rgb(34, 34, 34), 0.15rem -0.15rem 0.15rem rgb(34, 34, 34), -0.15rem 0px 0.15rem rgb(34, 34, 34), 0.15rem 0px 0.15rem rgb(34, 34, 34), -0.15rem 0.15rem 0.15rem rgb(34, 34, 34), 0px 0.15rem 0.15rem rgb(34, 34, 34), 0.15rem 0.15rem 0.15rem rgb(34, 34, 34); }");var S=document.createElement("video");S.style.width="100%",S.style.height="100%",S.style.backgroundColor="black",S.controls=!1,S.playsInline=!0,S.onerror=function(){!(function(){if(A)return;var e;switch(S.error.code){case 1:e=_.HTML_VIDEO.MEDIA_ERR_ABORTED;break;case 2:e=_.HTML_VIDEO.MEDIA_ERR_NETWORK;break;case 3:e=_.HTML_VIDEO.MEDIA_ERR_DECODE;break;case 4:e=_.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;break;default:e=_.UNKNOWN_ERROR}m(Object.assign({},e,{critical:!0,error:S.error}))})()},S.onended=function(){I.emit("ended")},S.onpause=function(){L("paused")},S.onplay=function(){L("paused")},S.ontimeupdate=function(){L("time"),L("buffered")},S.ondurationchange=function(){L("duration")},S.onwaiting=function(){L("buffering"),L("buffered")},S.onseeking=function(){L("time"),L("buffering"),L("buffered")},S.onseeked=function(){L("time"),L("buffering"),L("buffered")},S.onstalled=function(){L("buffering"),L("buffered")},S.onplaying=function(){L("time"),L("buffering"),L("buffered")},S.oncanplay=function(){L("buffering"),L("buffered")},S.canplaythrough=function(){L("buffering"),L("buffered")},S.onloadedmetadata=function(){L("loaded")},S.onloadeddata=function(){L("buffering"),L("buffered")},S.onvolumechange=function(){L("volume"),L("muted")},S.onratechange=function(){L("playbackSpeed")},S.textTracks.onchange=function(){L("subtitlesTracks"),L("selectedSubtitlesTrackId"),R(),Array.from(S.textTracks).forEach((function(e){e.oncuechange=R}))},t.appendChild(S);var l=null,I=new i,A=!1,u=null,d=0,O=1,c={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,buffered:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOutlineColor:!1,audioTracks:!1,selectedAudioTrackId:!1,volume:!1,muted:!1,playbackSpeed:!1};function N(e){switch(e){case"stream":return u;case"loaded":return null===u?null:S.readyState>=S.HAVE_METADATA;case"paused":return null===u?null:!!S.paused;case"time":return null!==u&&null!==S.currentTime&&isFinite(S.currentTime)?Math.floor(1e3*S.currentTime):null;case"duration":return null!==u&&null!==S.duration&&isFinite(S.duration)?Math.floor(1e3*S.duration):null;case"buffering":return null===u?null:S.readyState0?e.lang:"string"==typeof e.name&&e.name.length>0?e.name:String(e.id),label:"string"==typeof e.name&&e.name.length>0?e.name:"string"==typeof e.lang&&e.lang.length>0?e.lang:String(e.id),origin:"EMBEDDED",embedded:!0})})):[];case"selectedAudioTrackId":return null!==l&&null!==l.audioTrack&&isFinite(l.audioTrack)&&-1!==l.audioTrack?"EMBEDDED_"+String(l.audioTrack):null;case"volume":return A||null===S.volume||!isFinite(S.volume)?null:Math.floor(100*S.volume);case"muted":return A?null:!!S.muted;case"playbackSpeed":return A||null===S.playbackRate||!isFinite(S.playbackRate)?null:S.playbackRate;default:return null}}function R(){Array.from(S.textTracks).forEach((function(e){Array.from(e.cues||[]).forEach((function(e){e.snapToLines=!1,e.line=100-d}))}))}function m(e){I.emit("error",e),e.critical&&D("unload")}function L(e){c[e]&&I.emit("propChanged",e,N(e))}function D(e,i){switch(e){case"load":D("unload"),i&&i.stream&&"string"==typeof i.stream.url?(u=i.stream,L("stream"),L("loaded"),S.autoplay="boolean"!=typeof i.autoplay||i.autoplay,S.currentTime=null!==i.time&&isFinite(i.time)?parseInt(i.time,10)/1e3:0,L("paused"),L("time"),L("duration"),L("buffering"),L("buffered"),L("subtitlesTracks"),L("selectedSubtitlesTrackId"),L("audioTracks"),L("selectedAudioTrackId"),T(u).then((function(e){u===i.stream&&("application/vnd.apple.mpegurl"===e&&o.isSupported()?((l=new o(s)).on(o.Events.AUDIO_TRACKS_UPDATED,(function(){L("audioTracks"),L("selectedAudioTrackId")})),l.on(o.Events.AUDIO_TRACK_SWITCHED,(function(){L("audioTracks"),L("selectedAudioTrackId")})),l.loadSource(u.url),l.attachMedia(S)):S.src=u.url)})).catch((function(){u===i.stream&&(S.src=u.url)}))):m(Object.assign({},_.UNSUPPORTED_STREAM,{critical:!0,stream:i?i.stream:null}));break;case"unload":u=null,Array.from(S.textTracks).forEach((function(e){e.oncuechange=null})),null!==l&&(l.removeAllListeners(),l.detachMedia(S),l.destroy(),l=null),S.removeAttribute("src"),S.load(),S.currentTime=0,L("stream"),L("loaded"),L("paused"),L("time"),L("duration"),L("buffering"),L("buffered"),L("subtitlesTracks"),L("selectedSubtitlesTrackId"),L("audioTracks"),L("selectedAudioTrackId");break;case"destroy":D("unload"),A=!0,L("subtitlesOffset"),L("subtitlesSize"),L("subtitlesTextColor"),L("subtitlesBackgroundColor"),L("subtitlesOutlineColor"),L("subtitlesOpacity"),L("volume"),L("muted"),L("playbackSpeed"),I.removeAllListeners(),S.onerror=null,S.onended=null,S.onpause=null,S.onplay=null,S.ontimeupdate=null,S.ondurationchange=null,S.onwaiting=null,S.onseeking=null,S.onseeked=null,S.onstalled=null,S.onplaying=null,S.oncanplay=null,S.canplaythrough=null,S.onloadeddata=null,S.onvolumechange=null,S.onratechange=null,S.textTracks.onchange=null,t.removeChild(S),t.removeChild(a)}}this.on=function(e,t){if(A)throw new Error("Video is destroyed");I.on(e,t)},this.dispatch=function(e){if(A)throw new Error("Video is destroyed");if(e)switch((e=r(n(e))).type){case"observeProp":return t=e.propName,void(c.hasOwnProperty(t)&&(I.emit("propValue",t,N(t)),c[t]=!0));case"setProp":return void(function(e,t){switch(e){case"paused":null!==u&&(t?S.pause():S.play(),L("paused"));break;case"time":null!==u&&null!==t&&isFinite(t)&&(S.currentTime=parseInt(t,10)/1e3,L("time"));break;case"selectedSubtitlesTrackId":if(null!==u){Array.from(S.textTracks).forEach((function(e,a){e.mode="EMBEDDED_"+String(a)===t?"showing":"disabled"}));var i=N("subtitlesTracks").find((function(e){return e.id===t}));i&&(L("selectedSubtitlesTrackId"),I.emit("subtitlesTrackLoaded",i))}break;case"subtitlesOffset":null!==t&&isFinite(t)&&(d=Math.max(0,Math.min(100,parseInt(t,10))),R(),L("subtitlesOffset"));break;case"subtitlesSize":null!==t&&isFinite(t)&&(a.sheet.cssRules[0].style.fontSize=Math.floor(Math.max(0,parseInt(t,10))/25)+"vmin",L("subtitlesSize"));break;case"subtitlesTextColor":if("string"==typeof t){try{a.sheet.cssRules[0].style.color=E(t).rgb().string()}catch(e){console.error("HTMLVideo",e)}L("subtitlesTextColor")}break;case"subtitlesBackgroundColor":if("string"==typeof t){try{a.sheet.cssRules[0].style.backgroundColor=E(t).rgb().string()}catch(e){console.error("HTMLVideo",e)}L("subtitlesBackgroundColor")}break;case"subtitlesOutlineColor":if("string"==typeof t){try{var o=E(t).rgb().string();a.sheet.cssRules[0].style.textShadow="-0.15rem -0.15rem 0.15rem "+o+", 0px -0.15rem 0.15rem "+o+", 0.15rem -0.15rem 0.15rem "+o+", -0.15rem 0px 0.15rem "+o+", 0.15rem 0px 0.15rem "+o+", -0.15rem 0.15rem 0.15rem "+o+", 0px 0.15rem 0.15rem "+o+", 0.15rem 0.15rem 0.15rem "+o}catch(e){console.error("HTMLVideo",e)}L("subtitlesOutlineColor")}break;case"subtitlesOpacity":if("number"==typeof t){try{O=Math.min(Math.max(t/100,0),1),a.sheet.cssRules[0].style.opacity=O+""}catch(e){console.error("VVideo with HTML Subtitles",e)}L("subtitlesOpacity")}break;case"selectedAudioTrackId":if(null!==l){var n=N("audioTracks").find((function(e){return e.id===t}));l.audioTrack=n?parseInt(n.id.split("_").pop(),10):-1,n&&(L("selectedAudioTrackId"),I.emit("audioTrackLoaded",n))}break;case"volume":null!==t&&isFinite(t)&&(S.muted=!1,S.volume=Math.max(0,Math.min(100,parseInt(t,10)))/100,L("muted"),L("volume"));break;case"muted":S.muted=!!t,L("muted");break;case"playbackSpeed":null!==t&&isFinite(t)&&(S.playbackRate=parseFloat(t),L("playbackSpeed"))}})(e.propName,e.propValue);case"command":return void D(e.commandName,e.commandArgs)}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}S.canPlayStream=function(e){return!e||e.behaviorHints&&e.behaviorHints.notWebReady?Promise.resolve(!1):T(e).then((function(e){return!!document.createElement("video").canPlayType(e)||"application/vnd.apple.mpegurl"===e&&o.isSupported()})).catch((function(){return!1}))},S.manifest={name:"HTMLVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","subtitlesOpacity","volume","muted","playbackSpeed"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded"]},e.exports=S},78377:e=>{e.exports=function(e){return e&&"string"==typeof e.url?e.behaviorHints&&e.behaviorHints.proxyHeaders&&e.behaviorHints.proxyHeaders.response&&"string"==typeof e.behaviorHints.proxyHeaders.response["content-type"]?Promise.resolve(e.behaviorHints.proxyHeaders.response["content-type"]):fetch(e.url,{method:"HEAD"}).then((function(e){if(e.ok)return e.headers.get("content-type");throw new Error(e.status+" ("+e.statusText+")")})):Promise.reject(new Error("Invalid stream parameter!"))}},1961:e=>{e.exports={debug:!1,enableWorker:!0,lowLatencyMode:!1,backBufferLength:30,maxBufferLength:50,maxMaxBufferLength:80,maxFragLookUpTolerance:0,maxBufferHole:0,appendErrorMaxRetry:20,nudgeMaxRetry:20,manifestLoadingTimeOut:3e4,manifestLoadingMaxRetry:10,fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:20,retryDelayMs:0,maxRetryDelayMs:15},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:15}}}}},12430:(e,t,a)=>{var i=a(7370);e.exports=i},14466:(e,t,a)=>{var i=a(92255),o=a(67193),n=a(52653),r=a(18387);function E(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=document.createElement("iframe");a.style.width="100%",a.style.height="100%",a.style.border=0,a.style.backgroundColor="black",a.allowFullscreen=!1,a.allow="autoplay",t.appendChild(a);var E=new i,_=!1,T={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,buffered:!1,volume:!1,muted:!1,playbackSpeed:!1};function s(e){if(e.source===a.contentWindow){var t=e.data||e.message;if(t&&"string"==typeof t.event){var i=t.event,o=Array.isArray(t.args)?t.args:[];E.emit.apply(E,[i].concat(o))}}}function S(e){a.contentWindow.postMessage(e,"*")}function l(e,t){T[e]&&E.emit("propChanged",e,t)}function I(e,i){switch(e){case"load":return I("unload"),i&&i.stream&&"string"==typeof i.stream.playerFrameUrl?(window.addEventListener("message",s,!1),a.onload=function(){S({type:"command",commandName:e,commandArgs:i})},a.src=i.stream.playerFrameUrl):(o=Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:i?i.stream:null}),E.emit("error",o),o.critical&&I("unload")),!0;case"unload":return window.removeEventListener("message",s),a.onload=null,a.removeAttribute("src"),l("stream",null),l("loaded",null),l("paused",null),l("time",null),l("duration",null),l("buffering",null),l("buffered",null),l("volume",null),l("muted",null),l("playbackSpeed",null),!0;case"destroy":return I("unload"),_=!0,E.removeAllListeners(),t.removeChild(a),!0}var o}this.on=function(e,t){if(_)throw new Error("Video is destroyed");E.on(e,t)},this.dispatch=function(e){if(_)throw new Error("Video is destroyed");if(e)switch((e=n(o(e))).type){case"observeProp":return t=e.propName,T.hasOwnProperty(t)&&(T[t]=!0),void S(e);case"setProp":return void S(e);case"command":return void(I(e.commandName,e.commandArgs)||S(e))}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}E.canPlayStream=function(e){return Promise.resolve(e&&"string"==typeof e.playerFrameUrl)},E.manifest={name:"IFrameVideo",external:!0,props:["stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","volume","muted","playbackSpeed","extraSubtitlesTracks","selectedExtraSubtitlesTrackId","extraSubtitlesDelay","extraSubtitlesSize","extraSubtitlesOffset","extraSubtitlesTextColor","extraSubtitlesBackgroundColor","extraSubtitlesOutlineColor"],commands:["load","unload","destroy","addExtraSubtitlesTracks"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded","extraSubtitlesTrackLoaded","implementationChanged"]},e.exports=E},30113:(e,t,a)=>{var i=a(14466);e.exports=i},90514:(e,t,a)=>{var i=a(92255),o=a(67193),n=a(52653),r=a(18387),E=.0066,_={loaded:"loaded",stream:null,paused:"pause",time:"time-pos",duration:"duration",buffering:"buffering",volume:"volume",muted:"mute",playbackSpeed:"speed",audioTracks:"audioTracks",selectedAudioTrackId:"aid",subtitlesTracks:"subtitlesTracks",selectedSubtitlesTrackId:"sid",subtitlesSize:"sub-scale",subtitlesOffset:"sub-pos",subtitlesDelay:"sub-delay",subtitlesTextColor:"sub-color",subtitlesBackgroundColor:"sub-back-color",subtitlesOutlineColor:"sub-border-color"};function T(e){return e.split(".").slice(0,2).map((function(e){return parseInt(e)}))}function s(e){var t,a=(e=e||{}).shellTransport,s={},S={},l={};Object.keys(_).forEach((function(e){_[e]&&(l[_[e]]=e)}));var I=new Promise((function(e){t=e}));p("unload"),a.send("mpv-command",["stop"]),a.send("mpv-observe-prop","path"),a.send("mpv-observe-prop","time-pos"),a.send("mpv-observe-prop","volume"),a.send("mpv-observe-prop","pause"),a.send("mpv-observe-prop","seeking"),a.send("mpv-observe-prop","eof-reached"),a.send("mpv-observe-prop","duration"),a.send("mpv-observe-prop","metadata"),a.send("mpv-observe-prop","video-params"),a.send("mpv-observe-prop","track-list"),a.send("mpv-observe-prop","paused-for-cache"),a.send("mpv-observe-prop","cache-buffering-state"),a.send("mpv-observe-prop","aid"),a.send("mpv-observe-prop","vid"),a.send("mpv-observe-prop","sid"),a.send("mpv-observe-prop","sub-scale"),a.send("mpv-observe-prop","sub-pos"),a.send("mpv-observe-prop","sub-delay"),a.send("mpv-observe-prop","speed"),a.send("mpv-observe-prop","mpv-version"),a.send("mpv-observe-prop","ffmpeg-version");var A=new i,u=!1,d=null,O=0;function c(t){for(var a=t?"":"transparent",i=e.containerElement;i;i=i.parentElement)i.style.background=a;if(((window||{}).document||{}).getElementsByTagName){var o=window.document.getElementsByTagName("body");(o||[])[0]&&(o[0].style.background=a)}}function N(e){console.log(e.name+": "+e.data)}var R=0;function m(e){return _[e]?S[_[e]]:(console.log("Unsupported prop requested",e),null)}function L(e){A.emit("error",e),e.critical&&p("unload")}function D(e){s[e]&&A.emit("propChanged",e,m(e))}function p(t,i){switch(t){case"load":p("unload"),i&&i.stream&&"string"==typeof i.stream.url?I.then((function(t){d=i.stream,D("stream"),a.send("mpv-set-prop",["no-sub-ass"]);var o=i.hardwareDecoding?"auto-copy":"no";a.send("mpv-set-prop",["hwdec",o]);var n="Win32"===navigator.platform?"direct3d":"opengl",r=e.mpvSeparateWindow?n:"opengl-cb",E=e.mpvSeparateWindow?"yes":"no";a.send("mpv-set-prop",["vo",r]),a.send("mpv-set-prop",["osc",E]),a.send("mpv-set-prop",["input-default-bindings",E]),a.send("mpv-set-prop",["input-vo-keyboard",E]);var _,s,l,I=Math.floor(parseInt(i.time,10)/1e3)||0;0!==I?(_="0.39",s=T(t),l=T(_),s[0]>l[0]||!(s[0]=l[1]?a.send("mpv-command",["loadfile",d.url,"replace","-1","start=+"+I]):a.send("mpv-command",["loadfile",d.url,"replace","start=+"+I])):a.send("mpv-command",["loadfile",d.url]),a.send("mpv-set-prop",["pause",!1]),a.send("mpv-set-prop",["speed",S.speed]),S.aid&&("string"==typeof S.aid&&S.aid.startsWith("EMBEDDED_")?a.send("mpv-set-prop",["aid",S.aid.slice(9)]):a.send("mpv-set-prop",["aid",S.aid])),a.send("mpv-set-prop",["mute","no"]),D("paused"),D("time"),D("duration"),D("buffering"),D("muted"),D("subtitlesTracks"),D("selectedSubtitlesTrackId")})):L(Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:i?i.stream:null}));break;case"unload":S={loaded:!1,pause:!1,mute:!1,speed:1,subtitlesTracks:[],audioTracks:[],buffering:!1,aid:null,sid:null},O=0,a.send("mpv-command",["stop"]),D("loaded"),D("stream"),D("paused"),D("time"),D("duration"),D("buffering"),D("muted"),D("subtitlesTracks"),D("selectedSubtitlesTrackId"),c(!0);break;case"destroy":p("unload"),u=!0,A.removeAllListeners()}}a.on("mpv-prop-change",(function(e){switch(e.name){case"mpv-version":t(e.data),S[e.name]=N(e);break;case"ffmpeg-version":S[e.name]=N(e);break;case"duration":var a=0|e.data;S[e.name]=e.data>=30&&(!O||a===O)?Math.round(1e3*e.data):null,O=O?O+a>>1:a,S.loaded=a>0,S.loaded&&(c(!1),D("loaded"));break;case"time-pos":case"sub-delay":S[e.name]=Math.round(1e3*e.data);break;case"sub-scale":S[e.name]=Math.round(e.data/E);break;case"sub-pos":S[e.name]=100-e.data;break;case"volume":"number"==typeof e.data&&isFinite(e.data)&&(S[e.name]=e.data,D("volume"));break;case"paused-for-cache":case"seeking":S.buffering!==e.data&&(S.buffering=e.data,D("buffering"));break;case"aid":case"sid":case"vid":S[e.name]=(function(e){return e.data&&"no"!==e.data?"EMBEDDED_"+e.data.toString():null})(e);break;case"track-list":S.audioTracks=e.data.filter((function(e){return"audio"===e.type})).map((function(e,t){return{id:"EMBEDDED_"+e.id,lang:void 0===e.lang?"Track"+(t+1):e.lang,label:void 0===e.title||void 0===e.lang?"":e.title||e.lang,origin:"EMBEDDED",embedded:!0,mode:e.id===S.aid?"showing":"disabled"}})),D("audioTracks"),S.subtitlesTracks=e.data.filter((function(e){return"sub"===e.type})).map((function(e,t){return{id:"EMBEDDED_"+e.id,lang:void 0===e.lang?"Track "+(t+1):e.lang,label:void 0===e.title||void 0===e.lang?"":e.title||e.lang,origin:"EMBEDDED",embedded:!0,mode:e.id===S.sid?"showing":"disabled"}})),D("subtitlesTracks");break;default:S[e.name]=e.data}var i="time-pos"===e.name?Math.floor(S["time-pos"]/1e3):null;i&&R===i||!l[e.name]||(i&&(R=i),D(l[e.name]))})),a.on("mpv-event-ended",(function(e){e.error?L(e.error):A.emit("ended")})),this.on=function(e,t){if(u)throw new Error("Video is destroyed");A.on(e,t)},this.dispatch=function(e){if(u)throw new Error("Video is destroyed");if(e)switch((e=n(o(e))).type){case"observeProp":t=e.propName,A.emit("propValue",t,m(t)),s[t]=!0;break;case"setProp":return void(function(e,t){switch(e){case"paused":null!==d&&a.send("mpv-set-prop",["pause",t]);break;case"time":null!==d&&null!==t&&isFinite(t)&&a.send("mpv-set-prop",["time-pos",t/1e3]);break;case"playbackSpeed":null!==d&&null!==t&&isFinite(t)&&a.send("mpv-set-prop",["speed",t]);break;case"volume":null!==d&&null!==t&&isFinite(t)&&(S.mute=!1,a.send("mpv-set-prop",["mute","no"]),a.send("mpv-set-prop",["volume",t]),D("muted"),D("volume"));break;case"muted":null!==d&&(a.send("mpv-set-prop",["mute",t?"yes":"no"]),S.mute=t,D("muted"));break;case"selectedAudioTrackId":if(null!==d){var i=t.slice(9);a.send("mpv-set-prop",["aid",i])}break;case"selectedSubtitlesTrackId":null!==d&&(t?(i=t.slice(9),a.send("mpv-set-prop",["sid",i]),A.emit("subtitlesTrackLoaded",t)):(a.send("mpv-set-prop",["sid","no"]),S.sid=null)),D("selectedSubtitlesTrackId");break;case"subtitlesSize":a.send("mpv-set-prop",[_[e],t*E]);break;case"subtitlesDelay":a.send("mpv-set-prop",[_[e],t]);break;case"subtitlesOffset":a.send("mpv-set-prop",[_[e],100-t]);break;case"subtitlesTextColor":case"subtitlesBackgroundColor":case"subtitlesOutlineColor":var o=t.replace(/^#(\w{6})(\w{2})$/,"#$2$1");a.send("mpv-set-prop",[_[e],o]);break;default:console.log("Unhandled setProp for",e)}})(e.propName,e.propValue);case"command":return void p(e.commandName,e.commandArgs)}var t}}s.canPlayStream=function(){return Promise.resolve(!0)},s.manifest={name:"ShellVideo",external:!1,props:Object.keys(_),commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded"]},e.exports=s},2843:(e,t,a)=>{var i=a(90514);e.exports=i},50992:(e,t,a)=>{var i=a(92255),o=a(67193),n=a(52653),r=a(40551),E=a(3690),_=a(18387);function T(){var e=null,t=new i,a=!1;this.on=function(e,i){if(a)throw new Error("Video is destroyed");t.on(e,i)},this.dispatch=function(i,T){if(a)throw new Error("Video is destroyed");if(!i)throw new Error("Invalid action dispatched: "+JSON.stringify(i));if(T=T||{},"command"===(i=n(o(i))).type&&"load"===i.commandName&&i.commandArgs){i.commandArgs.platform&&E.set(i.commandArgs.platform);var s=r(i.commandArgs,T);if(null!==e&&e.constructor!==s&&(e.dispatch({type:"command",commandName:"destroy"}),e=null),null===e){if(null===s)return void t.emit("error",Object.assign({},_.UNSUPPORTED_STREAM,{error:new Error("No video implementation was selected"),critical:!0,stream:i.commandArgs.stream}));(e=new s(T)).on("ended",(function(){t.emit("ended")})),e.on("error",(function(e){t.emit("error",e)})),e.on("propValue",(function(e,a){t.emit("propValue",e,a)})),e.on("propChanged",(function(e,a){t.emit("propChanged",e,a)})),e.on("subtitlesTrackLoaded",(function(e){t.emit("subtitlesTrackLoaded",e)})),e.on("audioTrackLoaded",(function(e){t.emit("audioTrackLoaded",e)})),e.on("extraSubtitlesTrackLoaded",(function(e){t.emit("extraSubtitlesTrackLoaded",e)})),e.on("extraSubtitlesTrackAdded",(function(e){t.emit("extraSubtitlesTrackAdded",e)})),s.manifest.external?e.on("implementationChanged",(function(e){t.emit("implementationChanged",e)})):t.emit("implementationChanged",s.manifest)}}if(null!==e)try{e.dispatch(i)}catch(t){console.error(e.constructor.manifest.name,t)}"command"===i.type&&"destroy"===i.commandName&&(e=null)},this.destroy=function(){a=!0,null!==e&&(e.dispatch({type:"command",commandName:"destroy"}),e=null),t.removeAllListeners()}}T.ERROR=_,e.exports=T},62030:(e,t,a)=>{var i=a(50992);e.exports=i},40551:(e,t,a)=>{var i=a(52369),o=a(2843),n=a(12430),r=a(22429),E=a(11139),_=a(66882),T=a(97085),s=a(30113),S=a(7342),l=a(80445),I=a(7068),A=a(39735);e.exports=function(e,t){return e.stream&&"string"!=typeof e.stream.externalUrl?t.chromecastTransport&&t.chromecastTransport.getCastState()===cast.framework.CastState.CONNECTED?i:"string"==typeof e.stream.ytId?A(I(S)):"string"==typeof e.stream.playerFrameUrl?A(s):t.shellTransport?l(I(o)):"string"==typeof e.streamingServerURL?"Tizen"===e.platform?l(I(r)):"webOS"===e.platform?l(I(T)):"Titan"===e.platform||"NetTV"===e.platform?l(I(E)):"Vidaa"===e.platform?l(I(_)):l(I(n)):"string"==typeof e.stream.url?"Tizen"===e.platform?A(I(r)):"webOS"===e.platform?A(I(T)):"Titan"===e.platform||"NetTV"===e.platform?A(I(E)):"Vidaa"===e.platform?A(I(_)):A(I(n)):null:null}},43650:(e,t,a)=>{var i=a(92255),o=a(67193),n=a(52653),r=a(2520),E=a(18387),_=/^\{(\\an[1-8])+\}/i;function T(e){var t=100,a=0,T="rgb(255, 255, 255)",s="rgba(0, 0, 0, 0)",S="rgb(34, 34, 34)",l=1,I=(e=e||{}).containerElement;if(!(I instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var A=document.createElement("video");A.style.width="100%",A.style.height="100%",A.style.backgroundColor="black",A.controls=!1,A.playsInline=!0,A.onerror=function(){!(function(){if(c)return;var e;switch(A.error.code){case 1:e=E.HTML_VIDEO.MEDIA_ERR_ABORTED;break;case 2:e=E.HTML_VIDEO.MEDIA_ERR_NETWORK;break;case 3:e=E.HTML_VIDEO.MEDIA_ERR_DECODE;break;case 4:e=E.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;break;default:e=E.UNKNOWN_ERROR}C(Object.assign({},e,{critical:!0,error:A.error}))})()},A.onended=function(){O.emit("ended")},A.onpause=function(){h("paused")},A.onplay=function(){h("paused")},A.ontimeupdate=function(){h("time")},A.ondurationchange=function(){h("duration")},A.onwaiting=function(){h("buffering")},A.onseeking=function(){h("time"),h("buffering")},A.onseeked=function(){h("time"),h("buffering")},A.onstalled=function(){h("buffering")},A.onplaying=function(){h("time"),h("buffering")},A.oncanplay=function(){h("buffering")},A.canplaythrough=function(){h("buffering")},A.onloadedmetadata=function(){h("loaded")},A.onloadeddata=function(){h("buffering")},A.onvolumechange=function(){h("volume"),h("muted")},A.onratechange=function(){h("playbackSpeed")},A.textTracks.onchange=function(){h("subtitlesTracks"),h("selectedSubtitlesTrackId")},I.appendChild(A);var u=document.createElement("div");u.style.position="absolute",u.style.right="0",u.style.bottom="0",u.style.left="0",u.style.zIndex="1",u.style.textAlign="center",I.style.position="relative",I.style.zIndex="0",I.appendChild(u);var d,O=new i,c=!1,N=null,R={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOutlineColor:!1,audioTracks:!1,selectedAudioTrackId:!1,volume:!1,muted:!1,playbackSpeed:!1};async function m(){d&&L(d.text,"show")}async function L(e,i){if("hide"!==i){for(d={text:e};u.hasChildNodes();)u.removeChild(u.lastChild);u.style.bottom=a+"%",u.style.opacity=l;var o=document.createElement("span");o.innerHTML=e,o.style.display="inline-block",o.style.padding="0.2em",o.style.fontSize=Math.floor(t/25)+"vmin",o.style.color=T,o.style.backgroundColor=s,o.style.textShadow="1px 1px 0.1em "+S,o.style.whiteSpace="pre-wrap",u.appendChild(o),u.appendChild(document.createElement("br"))}else{for(;u.hasChildNodes();)u.removeChild(u.lastChild);d=null}}function D(e){var t=(e.target||{}).activeCues;if(t.length){if(t.length>3)return e.target.removeEventListener("cuechange",D),void L("","hide");var a="";for(var i in t){var o=t[i];if(o.text)a+=(a?"\n":"")+o.text.replace(_,"")}L(a,"show")}else L("","hide")}function p(e){switch(e){case"stream":return N;case"loaded":return null===N?null:A.readyState>=A.HAVE_METADATA;case"paused":return null===N?null:!!A.paused;case"time":return null!==N&&null!==A.currentTime&&isFinite(A.currentTime)?Math.floor(1e3*A.currentTime):null;case"duration":return null!==N&&null!==A.duration&&isFinite(A.duration)?Math.floor(1e3*A.duration):null;case"buffering":return null===N?null:A.readyState{var i=a(43650);e.exports=i},49388:e=>{const t="AVPlay";e.exports=e=>({getState:()=>e.request(t,"getState"),getCurrentTime:()=>e.request(t,"getCurrentTime"),getDuration:()=>e.request(t,"getDuration"),getTotalTrackInfo:()=>e.request(t,"getTotalTrackInfo"),getCurrentStreamInfo:()=>e.request(t,"getCurrentStreamInfo"),open:a=>e.request(t,"open",a),prepareAsync:async(a,i)=>{const[o,n]=await e.request(t,"prepareAsync","handler:success","handler:error");"handler:success"===o&&a(),"handler:error"===o&&i(...n)},pause:()=>e.request(t,"pause"),play:()=>e.request(t,"play"),stop:()=>e.request(t,"stop"),seekTo:a=>e.request(t,"seekTo",a),setSpeed:a=>e.request(t,"setSpeed",a),setSelectTrack:(a,i)=>e.request(t,"setSelectTrack",a,i),setDisplayRect:(a,i,o,n)=>e.request(t,"setDisplayRect",a,i,o,n),setDisplayMethod:a=>e.request(t,"setDisplayMethod",a),setListener:a=>{const i=Object.keys(a).map((e=>`handler:${e}`));e.listen(t,"setListener",((e,t)=>{const i=e.replace("handler:","");a[i]&&(t?a[i](...t):a[i]())}),...i)}})},898:(e,t,a)=>{var i=a(92255),o=a(67193),n=a(52653),r=a(2520),E=a(18387),_=a(13001),T=a(49388),s=/^\{(\\an[1-8])+\}/i;function S(e){var t=!0,a=1,S=null,l=null,I=(e=e||{}).containerElement;if(!(I instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var A,u=T(e.transport),d=!1,O=100,c=0,N="rgb(255, 255, 255)",R="rgba(0, 0, 0, 0)",m="rgb(34, 34, 34)",L=1,D=document.createElement("object");D.type="application/avplayer",D.style.width="100%",D.style.height="100%",D.style.backgroundColor="black";var p=!1;async function C(){if(A){var e=await G("time"),t=A.duration-(e-A.now);t>0&&h(t,A.text)}}async function h(e,t){if(!p){var i=await G("time"),o=t.replace(s,"");for(A={duration:e,text:o,now:i},f&&(clearTimeout(f),f=!1);P.hasChildNodes();)P.removeChild(P.lastChild);P.style.bottom=c+"%",P.style.opacity=L;var n=document.createElement("span");n.innerHTML=o,n.style.display="inline-block",n.style.padding="0.2em",n.style.fontSize=Math.floor(O/25)+"vmin",n.style.color=N,n.style.backgroundColor=R,n.style.textShadow="1px 1px 0.1em "+m,P.appendChild(n),P.appendChild(document.createElement("br")),e&&(f=setTimeout((function(){for(;P.hasChildNodes();)P.removeChild(P.lastChild)}),parseInt(e*a)))}}var f=!1;u.setListener({onbufferingstart:function(){t=!0,F("buffering")},onbufferingprogress:function(){t=!0,F("buffering")},onbufferingcomplete:function(){t=!1,F("buffering")},oncurrentplaytime:function(){F("time")},onsubtitlechange:function(e,t){h(e,t)},onstreamcompleted:function(){B.emit("ended")}}),I.appendChild(D);var P=document.createElement("div");P.style.position="absolute",P.style.right="0",P.style.bottom="0",P.style.left="0",P.style.zIndex="1",P.style.textAlign="center",I.style.position="relative",I.style.zIndex="0",I.appendChild(P);var B=new i,g=!1,v=null,M=0,W=null,y={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOutlineColor:!1,subtitlesOpacity:!1,audioTracks:!1,selectedAudioTrackId:!1,playbackSpeed:!1},U=!1,b={audio:[],subs:[]};async function G(e){switch(e){case"stream":return v;case"loaded":return W;case"paused":if(null===v)return null;var i=!("PAUSED"!==await u.getState());return!i&&d&&(u.setSelectTrack("AUDIO",parseInt(d.replace("EMBEDDED_",""))),d=!1),i;case"time":var o=await u.getCurrentTime();return null!==v&&null!==o&&isFinite(o)?Math.floor(o):null;case"duration":var n=await u.getDuration();return null!==v&&null!==n&&isFinite(n)?Math.floor(n):null;case"buffering":return null===v?null:t;case"subtitlesTracks":if(null===v)return[];for(var r=await u.getTotalTrackInfo(),E=[],_=0;_0?I.track_lang.trim():null,D=null;if(((b||{}).subs||[]).length)(B=b.subs.find((function(e){return(e||{}).id-1===T.index})))&&(A=B.lang||"eng",D=B.label||null);E.push({id:s,lang:A,label:D,origin:"EMBEDDED",embedded:!0,mode:p||s!==S?"disabled":"showing"})}return E;case"selectedSubtitlesTrackId":if(null===v||p)return null;var C=await u.getCurrentStreamInfo();for(_=0;_0?I.language:null,y=null;if(((b||{}).audio||[]).length)(B=b.audio.find((function(e){return(e||{}).id-1===f.index})))&&(M=B.lang||"eng",y=B.label||null);h.push({id:P,lang:M,label:y,origin:"EMBEDDED",embedded:!0,mode:P===l?"showing":"disabled"})}return h;case"selectedAudioTrackId":if(null===v)return null;if(d)return d;C=await u.getCurrentStreamInfo();var U=!1;for(_=0;_=6)&&(U||null===v||(U=!0,_(v.url,(function(e){e&&(b=e),((b||{}).subs||[]).length&&F("subtitlesTracks"),((b||{}).audio||[]).length&&F("audioTracks")})))),u.open(v.url),u.setDisplayRect(0,0,window.innerWidth,window.innerHeight),u.setDisplayMethod("PLAYER_DISPLAY_MODE_LETTER_BOX"),u.seekTo(null!==t.time&&isFinite(t.time)?parseInt(t.time,10):0),u.prepareAsync((function(){F("duration"),u.play(),W=!0,F("loaded"),F("stream"),F("paused"),F("time"),F("duration"),F("subtitlesTracks"),F("selectedSubtitlesTrackId"),F("audioTracks"),F("selectedAudioTrackId")}),(function(e){if(M<5){M++;try{u.stop()}catch(e){}V("load",t)}else k(Object.assign({},E.STREAM_FAILED_TO_LOAD,{critical:!0,stream:t?t.stream:null,error:e}))}))}else k(Object.assign({},E.UNSUPPORTED_STREAM,{critical:!0,stream:t?t.stream:null}));break;case"unload":v=null,u.stop(),W=!1,F("loaded"),F("stream"),F("paused"),F("time"),F("duration"),F("buffering"),F("subtitlesTracks"),F("selectedSubtitlesTrackId"),F("audioTracks"),F("selectedAudioTrackId");break;case"destroy":V("unload"),g=!0,u.stop(),F("subtitlesOffset"),F("subtitlesSize"),F("subtitlesTextColor"),F("subtitlesBackgroundColor"),F("subtitlesOutlineColor"),F("subtitlesOpacity"),F("playbackSpeed"),B.removeAllListeners(),I.removeChild(D)}}this.on=function(e,t){if(g)throw new Error("Video is destroyed");B.on(e,t)},this.dispatch=function(e){if(g)throw new Error("Video is destroyed");if(e)switch((e=n(o(e))).type){case"observeProp":return void(async function(e){if(y.hasOwnProperty(e)){var t=await G(e);B.emit("propValue",e,t),y[e]=!0}})(e.propName);case"setProp":return void(async function(e,t){switch(e){case"paused":if(null!==v){var i=!!t;i?u.pause():u.play(),i?f&&clearTimeout(f):C()}F("paused");var o=await G("paused");setTimeout((async function(){await G("paused")!==o&&F("paused")}),1e3);break;case"time":null!==v&&null!==t&&isFinite(t)&&(u.seekTo(parseInt(t,10)),h(1,""),F("time"));break;case"selectedSubtitlesTrackId":if(null!==v)if(0===(S||"").indexOf("EMBEDDED_")){if(-1===(t||"").indexOf("EMBEDDED_"))return h(1,""),p=!0,void F("selectedSubtitlesTrackId");p=!1,S=t;var n=(await G("subtitlesTracks")).find((function(e){return e.id===t}));u.setSelectTrack("TEXT",parseInt(S.replace("EMBEDDED_",""))),n&&(B.emit("subtitlesTrackLoaded",n),F("selectedSubtitlesTrackId"))}else t||(h(1,""),p=!0,F("selectedSubtitlesTrackId"));break;case"subtitlesOffset":null!==t&&isFinite(t)&&(c=Math.max(0,Math.min(100,parseInt(t,10))),C(),F("subtitlesOffset"));break;case"subtitlesSize":null!==t&&isFinite(t)&&(O=Math.max(0,parseInt(t,10)),C(),F("subtitlesSize"));break;case"subtitlesTextColor":if("string"==typeof t){try{N=r(t).rgb().string()}catch(e){console.error("Tizen player with HTML Subtitles",e)}C(),F("subtitlesTextColor")}break;case"subtitlesBackgroundColor":if("string"==typeof t){try{R=r(t).rgb().string()}catch(e){console.error("Tizen player with HTML Subtitles",e)}C(),F("subtitlesBackgroundColor")}break;case"subtitlesOutlineColor":if("string"==typeof t){try{m=r(t).rgb().string()}catch(e){console.error("Tizen player with HTML Subtitles",e)}C(),F("subtitlesOutlineColor")}break;case"subtitlesOpacity":if("number"==typeof t){try{L=Math.min(Math.max(t/100,0),1)}catch(e){console.error("Tizen player with HTML Subtitles",e)}C(),F("subtitlesOpacity")}break;case"selectedAudioTrackId":if(null!==v){l=t;var E=(await G("audioTracks")).find((function(e){return e.id===t}));await G("paused")?(d=t,F("selectedAudioTrackId")):u.setSelectTrack("AUDIO",parseInt(l.replace("EMBEDDED_",""))),E&&(B.emit("audioTrackLoaded",E),F("selectedAudioTrackId"))}break;case"playbackSpeed":if(null!==t&&isFinite(t)){a=parseFloat(t);try{u.setSpeed(a)}catch(e){}F("playbackSpeed")}}})(e.propName,e.propValue);case"command":return void V(e.commandName,e.commandArgs)}throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}S.canPlayStream=function(){return Promise.resolve(!0)},S.manifest={name:"TizenVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","subtitlesOpacity","playbackSpeed"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded"]},e.exports=S},22429:(e,t,a)=>{var i=a(898);e.exports=i},31920:(e,t,a)=>{var i=a(92255),o=a(67193),n=a(52653),r=a(18387);function E(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=document.createElement("video");a.style.width="100%",a.style.height="100%",a.style.backgroundColor="black",a.controls=!1,a.playsInline=!0,a.onerror=function(){!(function(){if(T)return;var e;switch(a.error.code){case 1:e=r.HTML_VIDEO.MEDIA_ERR_ABORTED;break;case 2:e=r.HTML_VIDEO.MEDIA_ERR_NETWORK;break;case 3:e=r.HTML_VIDEO.MEDIA_ERR_DECODE;break;case 4:e=r.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;break;default:e=r.UNKNOWN_ERROR}A(Object.assign({},e,{critical:!0,error:a.error}))})()},a.onended=function(){_.emit("ended")},a.onpause=function(){u("paused")},a.onplay=function(){u("paused")},a.ontimeupdate=function(){u("time")},a.ondurationchange=function(){u("duration")},a.onwaiting=function(){u("buffering")},a.onseeking=function(){u("time"),u("buffering")},a.onseeked=function(){u("time"),u("buffering")},a.onstalled=function(){u("buffering")},a.onplaying=function(){u("time"),u("buffering")},a.oncanplay=function(){u("buffering")},a.canplaythrough=function(){u("buffering")},a.onloadedmetadata=function(){u("loaded")},a.onloadeddata=function(){u("buffering")},a.onvolumechange=function(){u("volume"),u("muted")},a.onratechange=function(){u("playbackSpeed")},a.textTracks.onchange=function(){u("subtitlesTracks"),u("selectedSubtitlesTrackId"),I(),Array.from(a.textTracks).forEach((function(e){e.oncuechange=I}))},t.appendChild(a);var E=document.createElement("div");E.style.position="absolute",E.style.right="0",E.style.bottom="0",E.style.left="0",E.style.zIndex="1",E.style.textAlign="center",t.style.position="relative",t.style.zIndex="0",t.appendChild(E);var _=new i,T=!1,s=null,S={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,audioTracks:!1,selectedAudioTrackId:!1,volume:!1,muted:!1,playbackSpeed:!1};function l(e){switch(e){case"stream":return s;case"loaded":return null===s?null:a.readyState>=a.HAVE_METADATA;case"paused":return null===s?null:!!a.paused;case"time":return null!==s&&null!==a.currentTime&&isFinite(a.currentTime)?Math.floor(1e3*a.currentTime):null;case"duration":return null!==s&&null!==a.duration&&isFinite(a.duration)?Math.floor(1e3*a.duration):null;case"buffering":return null===s?null:a.readyState{var i=a(31920);e.exports=i},18786:(e,t,a)=>{var i=a(92255),o=a(67193),n=a(52653),r=a(18387),E=a(13001);function _(e,t,a,i){t&&(e.onSuccess=t||function(){}),e.onFailure=function(t){console.log("WebOS",(e.method||i)+" [fail]["+t.errorCode+"] "+t.errorText),console.log("fail result",JSON.stringify(t)),a&&a()},window.webOS.service.request(i||"luna://com.webos.media",e)}function T(e,t,a){window.webOS.service.request("luna://com.webos.applicationManager",{method:"launch",parameters:{id:e.id,params:{payload:[{fullPath:e.url,artist:"",subtitle:"",dlnaInfo:{flagVal:4096,cleartextSize:"-1",contentLength:"-1",opVal:1,protocolInfo:"http-get:*:video/x-matroska:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000",duration:0},mediaType:"VIDEO",thumbnail:"",deviceType:"DMR",album:"",fileName:e.name,lastPlayPosition:e.position}]}},onSuccess:function(){t&&t()},onFailure:function(){a&&a(new Error("Failed to launch"+e.id)),"com.webos.app.photovideo"===e.id?(e.id="com.webos.app.smartshare",T(e,t,a)):"com.webos.app.smartshare"===e.id&&(e.id="com.webos.app.mediadiscovery",T(e,t,a))}})}var s=["none","black","white","yellow","red","green","blue"],S={"rgba(0, 0, 0, 0)":"none","rgba(0, 0, 0, 255)":"black","rgba(255, 255, 255, 255)":"white","rgba(255, 255, 0, 255)":"yellow","rgba(255, 0, 0, 255)":"red","rgba(0, 255, 0, 255)":"green","rgba(0, 0, 255, 255)":"blue","rgba(0, 0, 0, 1)":"black","rgba(255, 255, 255, 1)":"white","rgba(255, 255, 0, 1)":"yellow","rgba(255, 0, 0, 1)":"red","rgba(0, 255, 0, 1)":"green","rgba(0, 0, 255, 1)":"blue","rgb(0, 0, 0)":"black","rgb(255, 255, 255)":"white","rgb(255, 255, 0)":"yellow","rgb(255, 0, 0)":"red","rgb(0, 255, 0)":"green","rgb(0, 0, 255)":"blue","#000000FF":"black","#FFFFFFFF":"white","#FFFF00FF":"yellow","#FF0000FF":"red","#00FF00FF":"green","#0000FFFF":"blue","#000000":"black","#FFFFFF":"white","#FFFF00":"yellow","#FF0000":"red","#00FF00":"green","#0000FF":"blue"};var l={unsupportedAudio:["DTS","TRUEHD"],unsupportedSubs:["HDMV/PGS","VOBSUB"]},I=!1;function A(){I||window.webOS.service.request("luna://com.webos.service.config",{method:"getConfigs",parameters:{configNames:["tv.model.edidType"]},onSuccess:function(e){if(((e||{}).configs||{})["tv.model.edidType"]){I=!0;var t=e.configs["tv.model.edidType"].toLowerCase();t.includes("dts")&&(l.unsupportedAudio=l.unsupportedAudio.filter((function(e){return"DTS"!==e}))),t.includes("truehd")&&(l.unsupportedAudio=l.unsupportedAudio.filter((function(e){return"TRUEHD"!==e})))}},onFailure:function(e){console.log("could not get deviceInfo",e)}})}function u(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=null,I=75,u=!0,d=!1,O=!1,c=[],N=[],R={color:"white",font_size:1,bg_color:"none",position:-1,bg_opacity:0,char_opacity:255},m=function(e){D.mediaId&&(u=!e,_({method:"setSubtitleEnable",parameters:{mediaId:D.mediaId,enable:e}}))},L=document.createElement("style");t.appendChild(L),L.sheet.insertRule("video::cue { font-size: 4vmin; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0); text-shadow: rgb(34, 34, 34) 1px 1px 0.1em; }");var D=document.createElement("video");D.style.width="100%",D.style.height="100%",D.style.backgroundColor="black",D.controls=!1,D.onerror=function(){!(function(){if(P)return;var e;switch((D.error||{}).code){case 1:e=r.HTML_VIDEO.MEDIA_ERR_ABORTED;break;case 2:e=r.HTML_VIDEO.MEDIA_ERR_NETWORK;break;case 3:e=r.HTML_VIDEO.MEDIA_ERR_DECODE,T({id:"com.webos.app.photovideo",url:B.url,name:"Stremio",position:-1},null,(function(e){console.error(e)}));break;case 4:e=r.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED,T({id:"com.webos.app.photovideo",url:B.url,name:"Stremio",position:-1},null,(function(e){console.error(e)}));break;default:e=r.UNKNOWN_ERROR}F(Object.assign({},e,{critical:!0,error:D.error}))})()},D.onended=function(){f.emit("ended")},D.onpause=function(){V("paused")},D.onplay=function(){V("paused")},D.ontimeupdate=function(){V("time"),V("buffered")},D.ondurationchange=function(){V("duration")},D.onwaiting=function(){V("buffering"),V("buffered")},D.onseeking=function(){V("buffering"),V("buffered")},D.onseeked=function(){V("buffering"),V("buffered")},D.onstalled=function(){V("buffering"),V("buffered")},D.onplaying=function(){V("buffering"),V("buffered"),a||(a=!0,V("loaded"))},D.oncanplay=function(){V("buffering"),V("buffered")},D.canplaythrough=function(){V("buffering"),V("buffered")},D.onloadeddata=function(){V("buffering"),V("buffered")},D.onloadedmetadata=function(){V("buffering"),V("buffered"),H("time",g)},D.onvolumechange=function(){V("volume"),V("muted")},D.onratechange=function(){V("playbackSpeed")},D.textTracks.onchange=function(){V("subtitlesTracks"),V("selectedSubtitlesTrackId"),k(),Array.from(D.textTracks).forEach((function(e){e.oncuechange=k}))},t.appendChild(D);var p=null,C=null,h=1,f=new i,P=!1,B=null,g=null,v=0,M=100,W={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,buffered:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOpacity:!1,audioTracks:!1,selectedAudioTrackId:!1,volume:!1,muted:!1,playbackSpeed:!1},y=!1,U={audio:[],subs:[]};function b(){y||null===B||(y=!0,E(B.url,(function(e){var t=0,a=0;c=[],N=[],e&&(U=e),((U||{}).subs||[]).length&&(U.subs.forEach((function(e){if(!l.unsupportedSubs.includes(e.codec||"")){var a=t;t++,d||c.length||(d=a),c.push({id:"EMBEDDED_"+a,lang:e.lang||"eng",label:e.label||null,origin:"EMBEDDED",embedded:!0,mode:a===d?"showing":"disabled"})}})),V("subtitlesTracks"),V("selectedSubtitlesTrackId")),((U||{}).audio||[]).length&&(U.audio.forEach((function(e){if(!l.unsupportedAudio.includes(e.codec||"")){var t=a;a++,O||N.length||(O=t),N.push({id:"EMBEDDED_"+t,lang:e.lang||"eng",label:e.label||null,origin:"EMBEDDED",embedded:!0,mode:t===O?"showing":"disabled"})}})),O="EMBEDDED_0",V("audioTracks"),V("selectedAudioTrackId"))})))}function G(e){switch(e){case"stream":return B;case"loaded":return a;case"paused":return null===B?null:!!D.paused;case"time":return null!==B&&null!==D.currentTime&&isFinite(D.currentTime)?Math.floor(1e3*D.currentTime):null;case"duration":return null!==B&&null!==D.duration&&isFinite(D.duration)?Math.floor(1e3*D.duration):null;case"buffering":return null===B?null:D.readyState=D.HAVE_METADATA&&null!==t&&isFinite(t))try{D.currentTime=parseInt(t,10)/1e3,V("time")}catch(e){}break;case"selectedSubtitlesTrackId":if(D.mediaId&&null!==B&&0===(t||"").indexOf("EMBEDDED_")){m(!0),R.bg_opacity="none"===R.bg_color?0:255,["setSubtitleCharacterColor","setSubtitleBackgroundColor","setSubtitlePosition","setSubtitleFontSize","setSubtitleBackgroundOpacity","setSubtitleCharacterOpacity"].forEach((function(e){_({method:e,parameters:{mediaId:D.mediaId,charColor:R.color,bgColor:"none"===R.bg_color?"black":R.bg_color,position:R.position,fontSize:R.font_size,bgOpacity:R.bg_opacity,charOpacity:R.char_opacity}})})),console.log("WebOS","change subtitles for id: ",D.mediaId," index:",t),d=t;var a=parseInt(t.replace("EMBEDDED_",""));console.log("set subs to track idx: "+a),setTimeout((function(){var e=function(){var e=G("subtitlesTracks").find((function(e){return e.id===t}));c=c.map((function(e){return e.mode=e.id===d?"showing":"disabled",e})),e&&(f.emit("subtitlesTrackLoaded",e),V("selectedSubtitlesTrackId"))};_({method:"selectTrack",parameters:{type:"text",mediaId:D.mediaId,index:a}},e,e)}),500)}-1===(t||"").indexOf("EMBEDDED_")&&(d=null,V("selectedSubtitlesTrackId"),m(!1));break;case"subtitlesOffset":if(null!==t&&isFinite(t)){v=t;var i=(l=Math.max(0,Math.min(100,parseInt(v,10))))<=0?-3:l<=5?-2:l<=10?0:l<=15?2:l<=20&&4;!1===i&&(i=-2),R.position=i,D.mediaId&&_({method:"setSubtitlePosition",parameters:{mediaId:D.mediaId,position:i}}),V("subtitlesOffset")}break;case"subtitlesSize":if(null!==t&&isFinite(t)){I=t;var o=(T=Math.max(0,parseInt(I,10)))<=100?1:T<=125?2:T<=150?3:T<=200&&4;!1===o&&(o=1),R.font_size=o,D.mediaId&&_({method:"setSubtitleFontSize",parameters:{mediaId:D.mediaId,fontSize:o}}),V("subtitlesSize")}break;case"subtitlesTextColor":if("string"==typeof t){var n="white";S[t]&&s.indexOf(S[t])>-1&&(n=S[t]),R.color=n,D.mediaId&&_({method:"setSubtitleCharacterColor",parameters:{mediaId:D.mediaId,charColor:n}}),p=t,V("subtitlesTextColor")}break;case"subtitlesBackgroundColor":"string"==typeof t&&(S[t]&&s.indexOf(S[t])>-1&&(R.bg_color=S[t],D.mediaId&&(_({method:"setSubtitleBackgroundColor",parameters:{mediaId:D.mediaId,bgColor:"none"===S[t]?"black":S[t]}}),_("none"===S[t]?{method:"setSubtitleBackgroundOpacity",parameters:{mediaId:D.mediaId,bgOpacity:0}}:{method:"setSubtitleBackgroundOpacity",parameters:{mediaId:D.mediaId,bgOpacity:255}}))),C=t,V("subtitlesBackgroundColor"));break;case"subtitlesOpacity":if("number"==typeof t){var r=Math.floor(t/100*255);R.char_opacity=r,D.mediaId&&_({method:"setSubtitleCharacterOpacity",parameters:{mediaId:D.mediaId,charOpacity:r}}),M=t,V("subtitlesOpacity")}break;case"selectedAudioTrackId":if(0===(t||"").indexOf("EMBEDDED_")){O=t;a=parseInt(t.replace("EMBEDDED_",""));if(D.mediaId&&_({method:"selectTrack",parameters:{type:"audio",mediaId:D.mediaId,index:a}},(function(){var e=G("audioTracks").find((function(e){return e.id===t}));N=N.map((function(e){return e.mode=e.id===O?"showing":"disabled",e})),e&&(f.emit("audioTrackLoaded",e),V("selectedAudioTrackId"))})),D&&D.audioTracks){for(var E=0;E4&&(clearInterval(n),b(),A(),o())}),300)}else F(Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:a?a.stream:null}));break;case"unload":B=null,g=null,Array.from(D.textTracks).forEach((function(e){e.oncuechange=null})),D.removeAttribute("src"),D.load(),V("stream"),V("paused"),V("time"),V("duration"),V("buffering"),V("buffered"),V("subtitlesTracks"),V("selectedSubtitlesTrackId"),V("audioTracks"),V("selectedAudioTrackId");break;case"destroy":w("unload"),P=!0,V("subtitlesOffset"),V("subtitlesSize"),V("subtitlesTextColor"),V("subtitlesBackgroundColor"),V("subtitlesOpacity"),V("volume"),V("muted"),V("playbackSpeed"),f.removeAllListeners(),D.onerror=null,D.onended=null,D.onpause=null,D.onplay=null,D.ontimeupdate=null,D.ondurationchange=null,D.onwaiting=null,D.onseeking=null,D.onseeked=null,D.onstalled=null,D.onplaying=null,D.oncanplay=null,D.canplaythrough=null,D.onloadeddata=null,D.onloadedmetadata=null,D.onvolumechange=null,D.onratechange=null,D.textTracks.onchange=null,t.removeChild(D),t.removeChild(L)}var o,n}this.on=function(e,t){if(P)throw new Error("Video is destroyed");f.on(e,t)},this.dispatch=function(e){if(P)throw new Error("Video is destroyed");if(e)switch((e=n(o(e))).type){case"observeProp":return t=e.propName,void(W.hasOwnProperty(t)&&(f.emit("propValue",t,G(t)),W[t]=!0));case"setProp":return void H(e.propName,e.propValue);case"command":return void w(e.commandName,e.commandArgs)}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}u.canPlayStream=function(){return Promise.resolve(!0)},u.manifest={name:"WebOsVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOpacity","volume","muted","playbackSpeed"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded"]},e.exports=u},97085:(e,t,a)=>{var i=a(18786);e.exports=i},98388:(e,t,a)=>{var i=a(92255),o=a(67193),n=a(52653),r=a(18387);function E(e){var t=null!==(e=e||{}).timeChangedTimeout&&isFinite(e.timeChangedTimeout)?parseInt(e.timeChangedTimeout,10):100,a=e.containerElement;if(!(a instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var E=document.createElement("script");E.type="text/javascript",E.src="https://www.youtube.com/iframe_api",E.onload=function(){if(A)return;if(!YT||"function"!=typeof YT.ready)return void c();YT.ready((function(){A||(YT&&YT.PlayerState&&"function"==typeof YT.Player?s=new YT.Player(_,{width:"100%",height:"100%",playerVars:{autoplay:1,cc_load_policy:3,controls:0,disablekb:1,enablejsapi:1,fs:0,iv_load_policy:3,loop:0,modestbranding:1,playsinline:1,rel:0},events:{onError:N,onReady:R,onApiChange:m,onStateChange:L}}):c())}))},E.onerror=c,a.appendChild(E);var _=document.createElement("div");_.style.width="100%",_.style.height="100%",_.style.backgroundColor="black",a.appendChild(_);var T=window.setInterval((function(){C("time"),C("volume"),C("muted"),C("playbackSpeed")}),t),s=null,S=!1,l=null,I=new i,A=!1,u=null,d=null,O={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,volume:!1,muted:!1,playbackSpeed:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1};function c(){A||p(Object.assign({},r.YOUTUBE_VIDEO.API_LOAD_FAILED,{critical:!0}))}function N(e){if(!A){var t;switch(e.data){case 2:t=r.YOUTUBE_VIDEO.INVALID_PARAMETER;break;case 5:t=r.YOUTUBE_VIDEO.HTML5_VIDEO;break;case 100:t=r.YOUTUBE_VIDEO.VIDEO_NOT_FOUND;break;case 101:case 150:t=r.YOUTUBE_VIDEO.VIDEO_NOT_EMBEDDABLE;break;default:t=r.UNKNOWN_ERROR}p(Object.assign({},t,{critical:!0,error:e}))}}function R(){A||(S=!0,null!==l&&(h("load",l),l=null))}function m(){A||("function"==typeof s.loadModule&&s.loadModule("captions"),"function"==typeof s.setOption&&s.setOption("captions","track",{}),C("paused"),C("time"),C("duration"),C("buffering"),C("volume"),C("muted"),C("playbackSpeed"),C("subtitlesTracks"),C("selectedSubtitlesTrackId"))}function L(e){switch(C("buffering"),e.data){case YT.PlayerState.ENDED:I.emit("ended");break;case YT.PlayerState.CUED:case YT.PlayerState.UNSTARTED:case YT.PlayerState.PAUSED:case YT.PlayerState.PLAYING:C("paused"),C("time"),C("duration")}}function D(e){switch(e){case"stream":return u;case"loaded":return null!==u||null;case"paused":return null===u||"function"!=typeof s.getPlayerState?null:s.getPlayerState()!==YT.PlayerState.PLAYING;case"time":return null!==u&&"function"==typeof s.getCurrentTime&&null!==s.getCurrentTime()&&isFinite(s.getCurrentTime())?Math.floor(1e3*s.getCurrentTime()):null;case"duration":return null!==u&&"function"==typeof s.getDuration&&null!==s.getDuration()&&isFinite(s.getDuration())?Math.floor(1e3*s.getDuration()):null;case"buffering":return null===u||"function"!=typeof s.getPlayerState?null:s.getPlayerState()===YT.PlayerState.BUFFERING;case"volume":return null!==u&&"function"==typeof s.getVolume&&null!==s.getVolume()&&isFinite(s.getVolume())?s.getVolume():null;case"muted":return null===u||"function"!=typeof s.isMuted?null:s.isMuted();case"playbackSpeed":return null!==u&&"function"==typeof s.getPlaybackRate&&null!==s.getPlaybackRate()&&isFinite(s.getPlaybackRate())?s.getPlaybackRate():null;case"subtitlesTracks":return null===u||"function"!=typeof s.getOption?[]:(s.getOption("captions","tracklist")||[]).filter((function(e){return e&&"string"==typeof e.languageCode})).map((function(e,t){return Object.freeze({id:"EMBEDDED_"+String(t),lang:e.languageCode,label:"string"==typeof e.displayName?e.displayName:e.languageCode,origin:"EMBEDDED",embedded:!0})}));case"selectedSubtitlesTrackId":return null===u?null:d;default:return null}}function p(e){I.emit("error",e),e.critical&&h("unload")}function C(e){O[e]&&I.emit("propChanged",e,D(e))}function h(e,t){switch(e){case"load":if(h("unload"),t&&t.stream&&"string"==typeof t.stream.ytId)if(S){u=t.stream,C("stream"),C("loaded");var i="boolean"!=typeof t.autoplay||t.autoplay,o=null!==t.time&&isFinite(t.time)?parseInt(t.time,10)/1e3:0;i&&"function"==typeof s.loadVideoById?s.loadVideoById({videoId:t.stream.ytId,startSeconds:o}):"function"==typeof s.cueVideoById&&s.cueVideoById({videoId:t.stream.ytId,startSeconds:o}),C("paused"),C("time"),C("duration"),C("buffering"),C("volume"),C("muted"),C("playbackSpeed"),C("subtitlesTracks"),C("selectedSubtitlesTrackId")}else l=t;else p(Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:t?t.stream:null}));break;case"unload":l=null,u=null,C("stream"),C("loaded"),d=null,S&&"function"==typeof s.stopVideo&&s.stopVideo(),C("paused"),C("time"),C("duration"),C("buffering"),C("volume"),C("muted"),C("playbackSpeed"),C("subtitlesTracks"),C("selectedSubtitlesTrackId");break;case"destroy":h("unload"),A=!0,I.removeAllListeners(),clearInterval(T),S&&"function"==typeof s.destroy&&s.destroy(),a.removeChild(E),a.removeChild(_)}}this.on=function(e,t){if(A)throw new Error("Video is destroyed");I.on(e,t)},this.dispatch=function(e){if(A)throw new Error("Video is destroyed");if(e)switch((e=n(o(e))).type){case"observeProp":return t=e.propName,void(O.hasOwnProperty(t)&&(I.emit("propValue",t,D(t)),O[t]=!0));case"setProp":return void(function(e,t){switch(e){case"paused":null!==u&&(t?"function"==typeof s.pauseVideo&&s.pauseVideo():"function"==typeof s.playVideo&&s.playVideo());break;case"time":null!==u&&"function"==typeof s.seekTo&&null!==t&&isFinite(t)&&s.seekTo(parseInt(t,10)/1e3);break;case"volume":null!==u&&null!==t&&isFinite(t)&&("function"==typeof s.unMute&&s.unMute(),"function"==typeof s.setVolume&&s.setVolume(Math.max(0,Math.min(100,parseInt(t,10)))),C("muted"),C("volume"));break;case"muted":null!==u&&(t?"function"==typeof s.mute&&s.mute():"function"==typeof s.unMute&&s.unMute(),C("muted"));break;case"playbackSpeed":null!==u&&"function"==typeof s.setPlaybackRate&&isFinite(t)&&(s.setPlaybackRate(t),C("playbackSpeed"));break;case"selectedSubtitlesTrackId":if(null!==u){d=null;var a=D("subtitlesTracks").find((function(e){return e.id===t}));"function"==typeof s.setOption&&(a?(d=a.id,s.setOption("captions","track",{languageCode:a.lang}),I.emit("subtitlesTrackLoaded",a)):s.setOption("captions","track",{})),C("selectedSubtitlesTrackId")}}})(e.propName,e.propValue);case"command":return void h(e.commandName,e.commandArgs)}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}E.canPlayStream=function(e){return Promise.resolve(e&&"string"==typeof e.ytId)},E.manifest={name:"YouTubeVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","volume","muted","playbackSpeed","subtitlesTracks","selectedSubtitlesTrackId"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded"]},e.exports=E},7342:(e,t,a)=>{var i=a(98388);e.exports=i},18387:e=>{e.exports={CHROMECAST_SENDER_VIDEO:{INVALID_MESSAGE_RECEIVED:{code:100,message:"Invalid message received"},MESSAGE_SEND_FAILED:{code:101,message:"Failed to send message"}},YOUTUBE_VIDEO:{API_LOAD_FAILED:{code:90,message:"YouTube player iframe API failed to load"},INVALID_PARAMETER:{code:91,message:"The request contains an invalid parameter value"},HTML5_VIDEO:{code:92,message:"The requested content cannot be played in an HTML5 player"},VIDEO_NOT_FOUND:{code:93,message:"The video requested was not found"},VIDEO_NOT_EMBEDDABLE:{code:94,message:"The owner of the requested video does not allow it to be played in embedded players"}},HTML_VIDEO:{MEDIA_ERR_ABORTED:{code:80,message:"Fetching process aborted"},MEDIA_ERR_NETWORK:{code:81,message:"Error occurred when downloading"},MEDIA_ERR_DECODE:{code:82,message:"Error occurred when decoding"},MEDIA_ERR_SRC_NOT_SUPPORTED:{code:83,message:"Video is not supported"}},WITH_HTML_SUBTITLES:{LOAD_FAILED:{code:70,message:"Failed to load external subtitles"}},WITH_STREAMING_SERVER:{CONVERT_FAILED:{code:60,message:"Your device does not support the stream"}},UNKNOWN_ERROR:{code:1,message:"Unknown error"},UNSUPPORTED_STREAM:{code:2,message:"Stream is not supported"},STREAM_FAILED_TO_LOAD:{code:3,message:"Stream failed to load"}}},63009:(e,t,a)=>{var i=a(62030);e.exports=i},22747:e=>{var t,a,i=[{codec:"h264",force:window.chrome||window.cast,mime:'video/mp4; codecs="avc1.42E01E"'},{codec:"h265",mime:'video/mp4; codecs="hev1.1.6.L150.B0"',aliases:["hevc"]},{codec:"vp8",mime:'video/mp4; codecs="vp8"'},{codec:"vp9",mime:'video/mp4; codecs="vp9"'}],o=[{codec:"aac",mime:'audio/mp4; codecs="mp4a.40.2"'},{codec:"mp3",mime:'audio/mp4; codecs="mp3"'},{codec:"ac3",mime:'audio/mp4; codecs="ac-3"'},{codec:"eac3",mime:'audio/mp4; codecs="ec-3"'},{codec:"vorbis",mime:'audio/mp4; codecs="vorbis"'},{codec:"opus",mime:'audio/mp4; codecs="opus"'}];function n(e,t){return e.force||t.mediaElement.canPlayType(e.mime)?[e.codec].concat(e.aliases||[]):[]}e.exports=(t=document.createElement("video"),a=["mp4"],(window.chrome||window.cast)&&a.push("matroska,webm"),{formats:a,videoCodecs:i.map((function(e){return n(e,{mediaElement:t})})).reduce((function(e,t){return e.concat(t)}),[]),audioCodecs:o.map((function(e){return n(e,{mediaElement:t})})).reduce((function(e,t){return e.concat(t)}),[]),maxAudioChannels:(function(){if(/firefox/i.test(window.navigator.userAgent))return 6;if(!window.AudioContext||window.chrome||window.cast)return 2;var e=(new AudioContext).destination.maxChannelCount;return e>0?e:2})()})},3690:e=>{var t=null;e.exports={set:function(e){t=e},get:function(){return t}}},81057:(e,t,a)=>{var i=a(3690);e.exports=function(){return["Tizen","webOS","Titan","NetTV"].includes(i.get())||void 0!==window.qt?Promise.resolve(!1):Promise.resolve(!0)}},13001:e=>{e.exports=function(e,t){fetch("http://127.0.0.1:11470/tracks/"+encodeURIComponent(e)).then((function(e){return e.json()})).then((function(e){var a=e.filter((function(e){return"audio"===(e||{}).type})),i=e.filter((function(e){return"text"===(e||{}).type}));t({audio:a,subs:i})})).catch((function(e){console.error(e),t(!1)}))}},42703:e=>{e.exports=function(e,t){if(tt?i=n-1:(e[n]{var i=a(60854);e.exports=i},93733:e=>{function t(e){for(var t="",a=(e=e.replace(/<[a-zA-Z/][^>]*>/g,"")).split(/\n/);a.length>3;){for(var i=3;i\s*(\d+):(\d+):(\d+)(?:,(\d+))?/);return n?(t+=n[1]+":"+n[2]+":"+n[3]+"."+n[4]+" --\x3e "+n[5]+":"+n[6]+":"+n[7]+"."+n[8]+"\n",a[o+=1]&&(t+=a[o]+"\n\n"),t):""}e.exports={convert:function(e){if(e.includes("WEBVTT"))return e;try{return(function(e){var a=e.replace(/\r+/g,""),i=(a=a.replace(/^\s+|\s+$/g,"")).split("\n\n"),o="";if(i.length>0){o+="WEBVTT\n\n";for(var n=0;n{var i=a(2626),o=a(42703);e.exports={parse:function(e){return new Promise((function(t,a){var n=new i.WebVTT.Parser(window,i.WebVTT.StringDecoder()),r=[],E=[],_={};n.oncue=function(e){var t={startTime:1e3*e.startTime|0,endTime:1e3*e.endTime|0,text:e.text};E.push(t),_[t.startTime]=_[t.startTime]||[],_[t.endTime]=_[t.endTime]||[]},n.onparsingerror=function(e){0===e.code?(n.oncue=null,n.onparsingerror=null,n.onflush=null,a(e)):(console.warn("Subtitles parsing error",e),r.push(e))},n.onflush=function(){_.times=Object.keys(_).map((function(e){return parseInt(e,10)})).sort((function(e,t){return e-t}));for(var e=0;e{var i=a(2626),o=a(42703);e.exports={render:function(e,t){var a=[],n=o(e.times,t);if(-1!==n)for(var r=e[e.times[n]],E=0;E{var i=a(92255),o=a(67193),n=a(52653),r=a(2520),E=a(18387),_=a(70910),T=a(17186),s=a(93733);e.exports=function(e){function t(t){var a=new e(t=t||{});a.on("error",(function(e){u.emit("error",e),e.critical&&M("unload")})),a.on("propValue",P.bind(null,"propValue")),a.on("propChanged",P.bind(null,"propChanged")),e.manifest.events.filter((function(e){return!["error","propValue","propChanged"].includes(e)})).forEach((function(e){a.on(e,(function(e){return function(){u.emit.apply(u,[e].concat(Array.from(arguments)))}})(e))}));var S=t.containerElement;if(!(S instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var l=document.createElement("div");l.style.position="absolute",l.style.right="0",l.style.bottom="0",l.style.left="0",l.style.zIndex="1",l.style.textAlign="center",S.style.position="relative",S.style.zIndex="0",S.appendChild(l);var I={time:null},A=null,u=new i,d=!1,O=[],c=null,N=null,R=100,m=0,L="rgb(255, 255, 255)",D="rgba(0, 0, 0, 0)",p="rgb(34, 34, 34)",C=1,h={extraSubtitlesTracks:!1,selectedExtraSubtitlesTrackId:!1,extraSubtitlesDelay:!1,extraSubtitlesSize:!1,extraSubtitlesOffset:!1,extraSubtitlesTextColor:!1,extraSubtitlesBackgroundColor:!1,extraSubtitlesOutlineColor:!1,extraSubtitlesOpacity:!1};function f(){for(;l.hasChildNodes();)l.removeChild(l.lastChild);null!==A&&null!==I.time&&isFinite(I.time)&&(l.style.bottom=m+"%",l.style.opacity=C,T.render(A,I.time-N).forEach((function(e){e.style.display="inline-block",e.style.padding="0.2em",e.style.whiteSpace="pre-wrap";var t=window.screen720p?1.538:1;e.style.fontSize=Math.floor(R/25*t)+"vmin",e.style.color=L,e.style.backgroundColor=D,e.style.textShadow="-0.15rem -0.15rem 0.15rem "+p+", 0px -0.15rem 0.15rem "+p+", 0.15rem -0.15rem 0.15rem "+p+", -0.15rem 0px 0.15rem "+p+", 0.15rem 0px 0.15rem "+p+", -0.15rem 0.15rem 0.15rem "+p+", 0px 0.15rem 0.15rem "+p+", 0.15rem 0.15rem 0.15rem "+p,l.appendChild(e),l.appendChild(document.createElement("br"))})))}function P(e,t,a){if("time"===t)I.time=a,f();u.emit(e,t,g(t,a))}function B(e){h[e]&&u.emit("propChanged",e,g(e,null))}function g(e,t){switch(e){case"extraSubtitlesTracks":return d?[]:O.slice();case"selectedExtraSubtitlesTrackId":return d?null:c;case"extraSubtitlesDelay":return d?null:N;case"extraSubtitlesSize":return d?null:R;case"extraSubtitlesOffset":return d?null:m;case"extraSubtitlesTextColor":return d?null:L;case"extraSubtitlesBackgroundColor":return d?null:D;case"extraSubtitlesOutlineColor":return d?null:p;case"extraSubtitlesOpacity":return d?null:C;default:return t}}function v(e,t){switch(e){case"selectedExtraSubtitlesTrackId":A=null,c=null,N=null;var i=O.find((function(e){return e.id===t}));if(i){c=i.id,N=0,(function e(t,o){(function(e,t){var a=t?e.fallbackUrl:e.url;if("string"==typeof a)return fetch(a).then((function(e){if(e.ok)return e.text();throw new Error(e.status+" ("+e.statusText+")")}));if(e.buffer instanceof ArrayBuffer)try{const t=new Uint8Array(e.buffer),a=(new TextDecoder).decode(t);return Promise.resolve(a)}catch(e){return Promise.reject(e)}return Promise.reject("No `url` or `buffer` field available for this track")})(t,o).then((function(e){return s.convert(e)})).then((function(e){return _.parse(e)})).then((function(e){c===i.id&&(A=e,f(),u.emit("extraSubtitlesTrackLoaded",i))})).catch((function(t){c===i.id&&(o||"string"!=typeof i.fallbackUrl?(function(e){u.emit("error",e),e.critical&&(M("unload"),a.dispatch({type:"command",commandName:"unload"}))})(Object.assign({},E.WITH_HTML_SUBTITLES.LOAD_FAILED,{error:t,track:i,critical:!1})):e(i,!0))}))})(i)}return f(),B("selectedExtraSubtitlesTrackId"),B("extraSubtitlesDelay"),!0;case"extraSubtitlesDelay":return null!==c&&null!==t&&isFinite(t)&&(N=parseInt(t,10),f(),B("extraSubtitlesDelay")),!0;case"extraSubtitlesSize":return null!==t&&isFinite(t)&&(R=Math.max(0,parseInt(t,10)),f(),B("extraSubtitlesSize")),!0;case"extraSubtitlesOffset":return null!==t&&isFinite(t)&&(m=Math.max(0,Math.min(100,parseInt(t,10))),f(),B("extraSubtitlesOffset")),!0;case"extraSubtitlesTextColor":if("string"==typeof t){try{L=r(t).rgb().string()}catch(e){console.error("withHTMLSubtitles",e)}f(),B("extraSubtitlesTextColor")}return!0;case"extraSubtitlesBackgroundColor":if("string"==typeof t){try{D=r(t).rgb().string()}catch(e){console.error("withHTMLSubtitles",e)}f(),B("extraSubtitlesBackgroundColor")}return!0;case"extraSubtitlesOutlineColor":if("string"==typeof t){try{p=r(t).rgb().string()}catch(e){console.error("withHTMLSubtitles",e)}f(),B("extraSubtitlesOutlineColor")}return!0;case"extraSubtitlesOpacity":if("number"==typeof t){try{C=Math.min(Math.max(t/100,0),1)}catch(e){console.error("withHTMLSubtitles",e)}f(),B("extraSubtitlesOpacity")}return!0;default:return!1}}function M(e,t){switch(e){case"addExtraSubtitlesTracks":return t&&Array.isArray(t.tracks)&&(O=O.concat(t.tracks).filter((function(e,t,a){return e&&"string"==typeof e.id&&"string"==typeof e.lang&&"string"==typeof e.label&&"string"==typeof e.origin&&!e.embedded&&t===a.findIndex((function(t){return t.id===e.id}))})),B("extraSubtitlesTracks")),!0;case"addLocalSubtitles":if(t&&"string"==typeof t.filename&&t.buffer instanceof ArrayBuffer){var i="LOCAL_"+O.filter((function(e){return e.local})).length,o={id:i,url:null,buffer:t.buffer,lang:"local",label:t.filename,origin:"LOCAL",local:!0,embedded:!1};O.push(o),B("extraSubtitlesTracks"),u.emit("extraSubtitlesTrackAdded",o)}return!0;case"load":return M("unload"),t.stream&&Array.isArray(t.stream.subtitles)&&M("addExtraSubtitlesTracks",{tracks:t.stream.subtitles.map((function(e){return Object.assign({},e,{origin:"EXCLUSIVE",exclusive:!0,embedded:!1})}))}),!1;case"unload":return A=null,O=[],c=null,N=null,f(),B("extraSubtitlesTracks"),B("selectedExtraSubtitlesTrackId"),B("extraSubtitlesDelay"),!1;case"destroy":return M("unload"),d=!0,B("extraSubtitlesSize"),B("extraSubtitlesOffset"),B("extraSubtitlesTextColor"),B("extraSubtitlesBackgroundColor"),B("extraSubtitlesOutlineColor"),B("extraSubtitlesOpacity"),a.dispatch({type:"command",commandName:"destroy"}),u.removeAllListeners(),S.removeChild(l),!0;default:return!1}}this.on=function(e,t){if(d)throw new Error("Video is destroyed");u.on(e,t)},this.dispatch=function(e){if(d)throw new Error("Video is destroyed");if(e)switch((e=n(o(e))).type){case"observeProp":if((function(e){switch(e){case"extraSubtitlesTracks":case"selectedExtraSubtitlesTrackId":case"extraSubtitlesDelay":case"extraSubtitlesSize":case"extraSubtitlesOffset":case"extraSubtitlesTextColor":case"extraSubtitlesBackgroundColor":case"extraSubtitlesOutlineColor":case"extraSubtitlesOpacity":return u.emit("propValue",e,g(e,null)),h[e]=!0,!0;default:return!1}})(e.propName))return;break;case"setProp":if(v(e.propName,e.propValue))return;break;case"command":if(M(e.commandName,e.commandArgs))return}a.dispatch(e)}}return t.canPlayStream=function(t){return e.canPlayStream(t)},t.manifest={name:e.manifest.name+"WithHTMLSubtitles",external:e.manifest.external,props:e.manifest.props.concat(["extraSubtitlesTracks","selectedExtraSubtitlesTrackId","extraSubtitlesDelay","extraSubtitlesSize","extraSubtitlesOffset","extraSubtitlesTextColor","extraSubtitlesBackgroundColor","extraSubtitlesOutlineColor","extraSubtitlesOpacity"]).filter((function(e,t,a){return a.indexOf(e)===t})),commands:e.manifest.commands.concat(["load","unload","destroy","addExtraSubtitlesTracks","addLocalSubtitles"]).filter((function(e,t,a){return a.indexOf(e)===t})),events:e.manifest.events.concat(["propValue","propChanged","error","extraSubtitlesTrackLoaded","extraSubtitlesTrackAdded"]).filter((function(e,t,a){return a.indexOf(e)===t}))},t}},30878:(e,t,a)=>{var i=a(36372),o=a(41968),n=a(28819);function r(e,t,a,o){var n=new URL(t),r=new URLSearchParams;return r.set("d",n.origin),Object.entries(a).forEach((function(e){r.append("h",e[0]+":"+e[1])})),Object.entries(o).forEach((function(e){r.append("r",e[0]+":"+e[1])})),i.resolve(e,"/proxy/"+r.toString()+n.pathname)+n.search}e.exports=function(e,t,a,i){return new Promise((function(E,_){if("string"!=typeof t.url)"string"!=typeof t.infoHash?_(new Error("Stream cannot be converted")):n(e,t.infoHash,t.fileIdx,t.announce,a).then((function(e){E({url:e.url,infoHash:e.infoHash,fileIdx:e.fileIdx})})).catch((function(e){_(e)}));else if(0===t.url.indexOf("magnet:")){var T;try{if(!(T=o.decode(t.url))||"string"!=typeof T.infoHash)throw new Error("Failed to decode magnet url")}catch(e){return void _(e)}var s=Array.isArray(T.announce)?T.announce.map((function(e){return"tracker:"+e})):[];n(e,T.infoHash,null,s,a).then((function(e){E({url:e.url,infoHash:e.infoHash,fileIdx:e.fileIdx})})).catch((function(e){_(e)}))}else{var S=i&&i.proxyStreamsEnabled,l=t.behaviorHints&&t.behaviorHints.proxyHeaders;if(S||l){var I=l&&l.request?l.request:{},A=l&&l.response?l.response:{};E({url:r(e,t.url,I,A)})}else E({url:t.url})}}))}},28819:(e,t,a)=>{var i=a(36372);function o(e,t,a,o){var n=Array.isArray(o)&&o.length>0?"?"+new URLSearchParams(o.map((function(e){return["tr",e]}))):"";return{url:i.resolve(e,"/"+encodeURIComponent(t)+"/"+encodeURIComponent(a))+n,infoHash:t,fileIdx:a,sources:o}}e.exports=function(e,t,a,n,r){if((!Array.isArray(n)||0===n.length)&&null!==a&&isFinite(a))return Promise.resolve(o(e,t,a,n));var E={torrent:{infoHash:t}};return Array.isArray(n)&&n.length>0&&(E.peerSearch={sources:["dht:"+t].concat(n).filter((function(e,t,a){return a.indexOf(e)===t})),min:40,max:200}),null!==a&&isFinite(a)?E.guessFileIdx=!1:(E.guessFileIdx={},r&&(null!==r.season&&isFinite(r.season)&&(E.guessFileIdx.season=r.season),null!==r.episode&&isFinite(r.episode)&&(E.guessFileIdx.episode=r.episode))),fetch(i.resolve(e,"/"+encodeURIComponent(t)+"/create"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(E)}).then((function(e){if(e.ok)return e.json();throw new Error(e.status+" ("+e.statusText+")")})).then((function(i){return o(e,t,E.guessFileIdx?i.guessedFileIdx:a,E.peerSearch?E.peerSearch.sources:[])}))}},21172:(e,t,a)=>{var i=a(36372);function o(e,t,a){var o=a&&"string"==typeof a.videoHash?a.videoHash:null,n=a&&isFinite(a.videoSize)?a.videoSize:null;if("string"==typeof o&&null!==n&&isFinite(n))return Promise.resolve({hash:o,size:n});var r=new URLSearchParams([["videoUrl",t]]);return fetch(i.resolve(e,"/opensubHash?"+r.toString())).then((function(e){if(e.ok)return e.json();throw new Error(e.status+" ("+e.statusText+")")})).then((function(e){if(e.error)throw new Error(e.error);return{hash:"string"==typeof o?o:e.result&&"string"==typeof e.result.hash?e.result.hash:null,size:null!==n&&isFinite(n)?n:e.result&&(e.result.size,1)?e.result.size:null}}))}function n(e,t,a,o,n){return n&&"string"==typeof n.filename?Promise.resolve(n.filename):a?fetch(i.resolve(e,"/"+encodeURIComponent(a)+"/"+encodeURIComponent(o)+"/stats.json")).then((function(e){if(e.ok)return e.json();throw new Error(e.status+" ("+e.statusText+")")})).then((function(e){if(!e||"string"!=typeof e.streamName)throw new Error("Could not retrieve filename from torrent");return e.streamName})):Promise.resolve(decodeURIComponent(t.split("/").pop()))}e.exports=function(e,t,a,i,r){return Promise.allSettled([o(e,t,r),n(e,t,a,i,r)]).then((function(e){var t={hash:null,size:null,filename:null};return"fulfilled"===e[0].status?(t.hash=e[0].value.hash,t.size=e[0].value.size):e[0].reason&&console.error(e[0].reason),"fulfilled"===e[1].status?t.filename=e[1].value:e[1].reason&&console.error(e[1].reason),t}))}},80445:(e,t,a)=>{var i=a(15826);e.exports=i},47245:e=>{e.exports=function(e,t){return t.includes("loaded")?new Promise((function(t,a){var i=null;e.on("propChanged",(function(e,o){"loaded"===e&&null!==o&&null===i&&(i=o,!0===o?t(!0):!1===o&&a(Error("Player failed to load, will not retrieve video params")))})),e.dispatch({type:"observeProp",propName:"loaded"})})):Promise.resolve(!0)}},15826:(e,t,a)=>{var i=a(92255),o=a(36372),n=a(39590),r=a(67193),E=a(52653),_=a(22747),T=a(30878),s=a(21172),S=a(47245),l=a(81057),I=a(18387);e.exports=function(e){function t(a){var l=new e(a=a||{});l.on("error",(function(e){N.emit("error",e),e.critical&&h("unload")})),l.on("propValue",L.bind(null,"propValue")),l.on("propChanged",L.bind(null,"propChanged")),e.manifest.events.filter((function(e){return!["error","propValue","propChanged"].includes(e)})).forEach((function(e){l.on(e,(function(e){return function(){N.emit.apply(N,[e].concat(Array.from(arguments)))}})(e))}));var A=this,u=null,d=!1,O=[],c=null,N=new i,R=!1,m={stream:!1,videoParams:!1};function L(e,t,a){N.emit(e,t,C(t,a))}function D(e){m[e]&&N.emit("propChanged",e,C(e,null))}function p(e){N.emit("error",e),e.critical&&(h("unload"),l.dispatch({type:"command",commandName:"unload"}))}function C(e,t){switch(e){case"stream":return null!==u?u.stream:null;case"videoParams":return c;default:return t}}function h(a,i){switch(a){case"load":return i&&i.stream&&"string"==typeof i.streamingServerURL?(h("unload"),l.dispatch({type:"command",commandName:"unload"}),u=i,D("stream"),T(i.streamingServerURL,i.stream,i.seriesInfo,i.streamingServerSettings).then((function(e){var a=e.url,r=e.infoHash,E=e.fileIdx,T=Array.isArray(i.formats)?i.formats:_.formats,s=Array.isArray(i.videoCodecs)?i.videoCodecs:_.videoCodecs,S=Array.isArray(i.audioCodecs)?i.audioCodecs:_.audioCodecs,l=null!==i.maxAudioChannels&&isFinite(i.maxAudioChannels)?i.maxAudioChannels:_.maxAudioChannels,I=Object.assign({},i,{formats:T,videoCodecs:s,audioCodecs:S,maxAudioChannels:l});return(i.forceTranscoding?Promise.resolve(!1):t.canPlayStream({url:a},I)).catch((function(e){return console.warn("Media probe error",e),!1})).then((function(e){if(e)return{mediaURL:a,infoHash:r,fileIdx:E,stream:{url:a}};var t=n(),_=new URLSearchParams([["mediaURL",a]]);return i.forceTranscoding&&_.set("forceTranscoding","1"),s.forEach((function(e){_.append("videoCodecs",e)})),S.forEach((function(e){_.append("audioCodecs",e)})),_.set("maxAudioChannels",l),{mediaURL:a,infoHash:r,fileIdx:E,stream:{url:o.resolve(i.streamingServerURL,"/hlsv2/"+t+"/master.m3u8?"+_.toString()),subtitles:Array.isArray(i.stream.subtitles)?i.stream.subtitles.map((function(e){return Object.assign({},e,{url:"string"==typeof e.url?o.resolve(i.streamingServerURL,"/subtitles.vtt?"+new URLSearchParams([["from",e.url]]).toString()):e.url})})):[],behaviorHints:{headers:{"content-type":"application/vnd.apple.mpegurl"}}}}}))})).then((function(t){i===u&&(l.dispatch({type:"command",commandName:"load",commandArgs:Object.assign({},i,{stream:t.stream})}),d=!0,(function(){for(;O.length>0;){var e=O.shift();A.dispatch.call(A,e)}})(),S(l,e.manifest.props).then((function(){return s(i.streamingServerURL,t.mediaURL,t.infoHash,t.fileIdx,i.stream.behaviorHints)})).then((function(e){i===u&&(c=e,D("videoParams"))})).catch((function(e){i===u&&(console.error(e),c={hash:null,size:null,filename:null},D("videoParams"))})))})).catch((function(e){i===u&&p(Object.assign({},I.WITH_STREAMING_SERVER.CONVERT_FAILED,{error:e,critical:!0,stream:i.stream,streamingServerURL:i.streamingServerURL}))}))):p(Object.assign({},I.UNSUPPORTED_STREAM,{critical:!0,stream:i?i.stream:null,streamingServerURL:i&&"string"==typeof i.streamingServerURL?i.streamingServerURL:null})),!0;case"addExtraSubtitlesTracks":return u&&i&&Array.isArray(i.tracks)&&(d?l.dispatch({type:"command",commandName:"addExtraSubtitlesTracks",commandArgs:Object.assign({},i,{tracks:i.tracks.map((function(e){return Object.assign({},e,{fallbackUrl:e.url,url:"string"==typeof e.url?o.resolve(u.streamingServerURL,"/subtitles.vtt?"+new URLSearchParams([["from",e.url]]).toString()):e.url})}))})}):O.push({type:"command",commandName:"addExtraSubtitlesTracks",commandArgs:i})),!0;case"unload":return u=null,d=!1,O=[],c=null,D("stream"),D("videoParams"),!1;case"destroy":return h("unload"),R=!0,l.dispatch({type:"command",commandName:"destroy"}),N.removeAllListeners(),!0;default:return!d&&(O.push({type:"command",commandName:a,commandArgs:i}),!0)}}this.on=function(e,t){if(R)throw new Error("Video is destroyed");N.on(e,t)},this.dispatch=function(e){if(R)throw new Error("Video is destroyed");if(e)switch((e=E(r(e))).type){case"observeProp":if((function(e){switch(e){case"stream":case"videoParams":return N.emit("propValue",e,C(e,null)),m[e]=!0,!0;default:return!1}})(e.propName))return;break;case"command":if(h(e.commandName,e.commandArgs))return}l.dispatch(e)}}return t.canPlayStream=function(t,a){return l().then((function(i){if(!i)return e.canPlayStream(t);var n=new URLSearchParams([["mediaURL",t.url]]);return fetch(o.resolve(a.streamingServerURL,"/hlsv2/probe?"+n.toString())).then((function(e){return e.json()})).then((function(e){var t=a.formats.some((function(t){return-1!==e.format.name.indexOf(t)})),i=e.streams.every((function(e){return"audio"===e.track?e.channels<=a.maxAudioChannels&&-1!==a.audioCodecs.indexOf(e.codec):"video"!==e.track||-1!==a.videoCodecs.indexOf(e.codec)}));return t&&i})).catch((function(){return e.canPlayStream(t)}))}))},t.manifest={name:e.manifest.name+"WithStreamingServer",external:e.manifest.external,props:e.manifest.props.concat(["stream","videoParams"]).filter((function(e,t,a){return a.indexOf(e)===t})),commands:e.manifest.commands.concat(["load","unload","destroy","addExtraSubtitlesTracks"]).filter((function(e,t,a){return a.indexOf(e)===t})),events:e.manifest.events.concat(["propValue","propChanged","error"]).filter((function(e,t,a){return a.indexOf(e)===t}))},t}},39735:(e,t,a)=>{var i=a(83662);e.exports=i},83662:(e,t,a)=>{var i=a(92255),o=a(67193),n=a(52653);e.exports=function(e){function t(t){var a=new e(t=t||{});a.on("propValue",s.bind(null,"propValue")),a.on("propChanged",s.bind(null,"propChanged")),e.manifest.events.filter((function(e){return!["propValue","propChanged"].includes(e)})).forEach((function(e){a.on(e,(function(e){return function(){E.emit.apply(E,[e].concat(Array.from(arguments)))}})(e))}));var r=null,E=new i,_=!1,T={videoParams:!1};function s(e,t,a){"videoParams"!==t&&E.emit(e,t,S(t,a)),"stream"===t&&(r=a,(function(e){T[e]&&E.emit("propChanged",e,S(e,null))})("videoParams"))}function S(e,t){return"videoParams"===e?null===r?null:{hash:r.behaviorHints&&"string"==typeof r.behaviorHints.videoHash?r.behaviorHints.videoHash:null,size:r.behaviorHints&&null!==r.behaviorHints.videoSize&&isFinite(r.behaviorHints.videoSize)?r.behaviorHints.videoSize:null,filename:r.behaviorHints&&"string"==typeof r.behaviorHints.filename?r.behaviorHints.filename:null}:t}this.on=function(e,t){if(_)throw new Error("Video is destroyed");E.on(e,t)},this.dispatch=function(e){if(_)throw new Error("Video is destroyed");if(e)switch((e=n(o(e))).type){case"observeProp":if("videoParams"===(i=e.propName)&&(E.emit("propValue",i,S(i,null)),T[i]=!0,1))return;break;case"command":if(t=e.commandName,e.commandArgs,"destroy"===t&&(_=!0,a.dispatch({type:"command",commandName:"destroy"}),E.removeAllListeners(),1))return}var t,i;a.dispatch(e)}}return t.canPlayStream=function(t,a){return e.canPlayStream(t,a)},t.manifest={name:e.manifest.name+"WithVideoParams",external:e.manifest.external,props:e.manifest.props.concat(["videoParams"]).filter((function(e,t,a){return a.indexOf(e)===t})),commands:e.manifest.commands.concat(["destroy"]).filter((function(e,t,a){return a.indexOf(e)===t})),events:e.manifest.events.concat(["propValue","propChanged"]).filter((function(e,t,a){return a.indexOf(e)===t}))},t}},21154:function(e){"undefined"!=typeof self&&self,e.exports=(function(e){var t={};function a(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,a),o.l=!0,o.exports}return a.m=e,a.c=t,a.d=function(e,t,i){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(a.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)a.d(i,o,function(t){return e[t]}.bind(null,o));return i},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=1)})([function(e,t,a){"use strict";var i=a(3);function o(e){return!0===i(e)&&"[object Object]"===Object.prototype.toString.call(e)}e.exports=function(e){var t,a;return!1!==o(e)&&"function"==typeof(t=e.constructor)&&!1!==o(a=t.prototype)&&!1!==a.hasOwnProperty("isPrototypeOf")}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VERSION=t.PALETTE_MATERIAL_CHROME=t.PALETTE_MATERIAL_500=t.COLOR_NAMES=t.getLuminance=t.intToRgb=t.rgbToInt=t.rgbToHsv=t.rgbToHsl=t.hslToRgb=t.rgbToHex=t.parseColor=t.parseColorToHsla=t.parseColorToHsl=t.parseColorToRgba=t.parseColorToRgb=t.from=t.createPicker=void 0;var i=(function(){function e(e,t){for(var a=0;a-1,l="undefined"!=typeof window&&window.navigator.userAgent.indexOf("rv:")>-1,I={id:null,attachTo:"body",showHSL:!0,showRGB:!0,showHEX:!0,showAlpha:!1,color:"#ff0000",palette:null,paletteEditable:!1,useAlphaInPalette:"auto",slBarSize:[232,150],hueBarSize:[150,11],alphaBarSize:[150,11]},A="COLOR",u="RGBA_USER",d="HSLA_USER";function O(e,t,a){return e?e instanceof HTMLElement?e:e instanceof NodeList?e[0]:"string"==typeof e?document.querySelector(e):e.jquery?e.get(0):a?t:null:t}function c(e){var t=e.getContext("2d"),a=+e.width,i=+e.height,r=t.createLinearGradient(1,1,1,i-1);return r.addColorStop(0,"white"),r.addColorStop(1,"black"),{setHue:function(e){var o=t.createLinearGradient(1,0,a-1,0);o.addColorStop(0,"hsla("+e+", 100%, 50%, 0)"),o.addColorStop(1,"hsla("+e+", 100%, 50%, 1)"),t.fillStyle=r,t.fillRect(0,0,a,i),t.fillStyle=o,t.globalCompositeOperation="multiply",t.fillRect(0,0,a,i),t.globalCompositeOperation="source-over"},grabColor:function(e,a){return t.getImageData(e,a,1,1).data},findColor:function(e,t,r){var E=(0,n.rgbToHsv)(e,t,r),_=o(E,3),T=_[1],s=_[2];return[T*a,i-s*i]}}}function N(e,t,a){return null===e?t:/^\s*$/.test(e)?a:!!/true|yes|1/i.test(e)||!/false|no|0/i.test(e)&&t}function R(e,t,a){if(null===e)return t;if(/^\s*$/.test(e))return a;var i=e.split(",").map(Number);return 2===i.length&&i[0]&&i[1]?i:t}var m=(function(){function e(t,a){if(T(this,e),a?(t=O(t),this.options=Object.assign({},I,a)):t&&(0,r.default)(t)?(this.options=Object.assign({},I,t),t=O(this.options.attachTo)):(this.options=Object.assign({},I),t=O((0,n.nvl)(t,this.options.attachTo))),!t)throw new Error("Container not found: "+this.options.attachTo);!(function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"acp-";if(t.hasAttribute(a+"show-hsl")&&(e.showHSL=N(t.getAttribute(a+"show-hsl"),I.showHSL,!0)),t.hasAttribute(a+"show-rgb")&&(e.showRGB=N(t.getAttribute(a+"show-rgb"),I.showRGB,!0)),t.hasAttribute(a+"show-hex")&&(e.showHEX=N(t.getAttribute(a+"show-hex"),I.showHEX,!0)),t.hasAttribute(a+"show-alpha")&&(e.showAlpha=N(t.getAttribute(a+"show-alpha"),I.showAlpha,!0)),t.hasAttribute(a+"palette-editable")&&(e.paletteEditable=N(t.getAttribute(a+"palette-editable"),I.paletteEditable,!0)),t.hasAttribute(a+"sl-bar-size")&&(e.slBarSize=R(t.getAttribute(a+"sl-bar-size"),I.slBarSize,[232,150])),t.hasAttribute(a+"hue-bar-size")&&(e.hueBarSize=R(t.getAttribute(a+"hue-bar-size"),I.hueBarSize,[150,11]),e.alphaBarSize=e.hueBarSize),t.hasAttribute(a+"palette")){var i=t.getAttribute(a+"palette");switch(i){case"PALETTE_MATERIAL_500":e.palette=n.PALETTE_MATERIAL_500;break;case"PALETTE_MATERIAL_CHROME":case"":e.palette=n.PALETTE_MATERIAL_CHROME;break;default:e.palette=i.split(/[;|]/)}}t.hasAttribute(a+"color")&&(e.color=t.getAttribute(a+"color"))})(this.options,t),this.H=0,this.S=0,this.L=0,this.R=0,this.G=0,this.B=0,this.A=1,this.palette={},this.element=document.createElement("div"),this.options.id&&(this.element.id=this.options.id),this.element.className="a-color-picker",this.element.innerHTML=E.default,t.appendChild(this.element);var i=this.element.querySelector(".a-color-picker-h");this.setupHueCanvas(i),this.hueBarHelper=c(i),this.huePointer=this.element.querySelector(".a-color-picker-h+.a-color-picker-dot");var o=this.element.querySelector(".a-color-picker-sl");this.setupSlCanvas(o),this.slBarHelper=c(o),this.slPointer=this.element.querySelector(".a-color-picker-sl+.a-color-picker-dot"),this.preview=this.element.querySelector(".a-color-picker-preview"),this.setupClipboard(this.preview.querySelector(".a-color-picker-clipbaord")),this.options.showHSL?(this.setupInput(this.inputH=this.element.querySelector(".a-color-picker-hsl>input[nameref=H]")),this.setupInput(this.inputS=this.element.querySelector(".a-color-picker-hsl>input[nameref=S]")),this.setupInput(this.inputL=this.element.querySelector(".a-color-picker-hsl>input[nameref=L]"))):this.element.querySelector(".a-color-picker-hsl").remove(),this.options.showRGB?(this.setupInput(this.inputR=this.element.querySelector(".a-color-picker-rgb>input[nameref=R]")),this.setupInput(this.inputG=this.element.querySelector(".a-color-picker-rgb>input[nameref=G]")),this.setupInput(this.inputB=this.element.querySelector(".a-color-picker-rgb>input[nameref=B]"))):this.element.querySelector(".a-color-picker-rgb").remove(),this.options.showHEX?this.setupInput(this.inputRGBHEX=this.element.querySelector("input[nameref=RGBHEX]")):this.element.querySelector(".a-color-picker-rgbhex").remove(),this.options.paletteEditable||this.options.palette&&this.options.palette.length>0?this.setPalette(this.paletteRow=this.element.querySelector(".a-color-picker-palette")):(this.paletteRow=this.element.querySelector(".a-color-picker-palette"),this.paletteRow.remove()),this.options.showAlpha?(this.setupAlphaCanvas(this.element.querySelector(".a-color-picker-a")),this.alphaPointer=this.element.querySelector(".a-color-picker-a+.a-color-picker-dot")):this.element.querySelector(".a-color-picker-alpha").remove(),this.element.style.width=this.options.slBarSize[0]+"px",this.onValueChanged(A,this.options.color)}return i(e,[{key:"setupHueCanvas",value:function(e){var t=this;e.width=this.options.hueBarSize[0],e.height=this.options.hueBarSize[1];for(var a=e.getContext("2d"),i=a.createLinearGradient(0,0,this.options.hueBarSize[0],0),o=0;o<=1;o+=1/360)i.addColorStop(o,"hsl("+360*o+", 100%, 50%)");a.fillStyle=i,a.fillRect(0,0,this.options.hueBarSize[0],this.options.hueBarSize[1]);var r=function(a){var i=(0,n.limit)(a.clientX-e.getBoundingClientRect().left,0,t.options.hueBarSize[0]),o=Math.round(360*i/t.options.hueBarSize[0]);t.huePointer.style.left=i-7+"px",t.onValueChanged("H",o)},E=function e(){document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",e)};e.addEventListener("mousedown",(function(e){r(e),document.addEventListener("mousemove",r),document.addEventListener("mouseup",E)}))}},{key:"setupSlCanvas",value:function(e){var t=this;e.width=this.options.slBarSize[0],e.height=this.options.slBarSize[1];var a=function(a){var i=(0,n.limit)(a.clientX-e.getBoundingClientRect().left,0,t.options.slBarSize[0]-1),o=(0,n.limit)(a.clientY-e.getBoundingClientRect().top,0,t.options.slBarSize[1]-1),r=t.slBarHelper.grabColor(i,o);t.slPointer.style.left=i-7+"px",t.slPointer.style.top=o-7+"px",t.onValueChanged("RGB",r)},i=function e(){document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",e)};e.addEventListener("mousedown",(function(e){a(e),document.addEventListener("mousemove",a),document.addEventListener("mouseup",i)}))}},{key:"setupAlphaCanvas",value:function(e){var t=this;e.width=this.options.alphaBarSize[0],e.height=this.options.alphaBarSize[1];var a=e.getContext("2d"),i=a.createLinearGradient(0,0,e.width-1,0);i.addColorStop(0,"hsla(0, 0%, 50%, 0)"),i.addColorStop(1,"hsla(0, 0%, 50%, 1)"),a.fillStyle=i,a.fillRect(0,0,this.options.alphaBarSize[0],this.options.alphaBarSize[1]);var o=function(a){var i=(0,n.limit)(a.clientX-e.getBoundingClientRect().left,0,t.options.alphaBarSize[0]),o=+(i/t.options.alphaBarSize[0]).toFixed(2);t.alphaPointer.style.left=i-7+"px",t.onValueChanged("ALPHA",o)},r=function e(){document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",e)};e.addEventListener("mousedown",(function(e){o(e),document.addEventListener("mousemove",o),document.addEventListener("mouseup",r)}))}},{key:"setupInput",value:function(e){var t=this,a=+e.min,i=+e.max,o=e.getAttribute("nameref");e.hasAttribute("select-on-focus")&&e.addEventListener("focus",(function(){e.select()})),"text"===e.type?e.addEventListener("change",(function(){t.onValueChanged(o,e.value)})):((S||l)&&e.addEventListener("keydown",(function(r){"Up"===r.key?(e.value=(0,n.limit)(+e.value+1,a,i),t.onValueChanged(o,e.value),r.returnValue=!1):"Down"===r.key&&(e.value=(0,n.limit)(+e.value-1,a,i),t.onValueChanged(o,e.value),r.returnValue=!1)})),e.addEventListener("change",(function(){var r=+e.value;t.onValueChanged(o,(0,n.limit)(r,a,i))})))}},{key:"setupClipboard",value:function(e){var t=this;e.title="click to copy",e.addEventListener("click",(function(){e.value=(0,n.parseColor)([t.R,t.G,t.B,t.A],"hexcss4"),e.select(),document.execCommand("copy")}))}},{key:"setPalette",value:function(e){var t=this,a="auto"===this.options.useAlphaInPalette?this.options.showAlpha:this.options.useAlphaInPalette,i=null;switch(this.options.palette){case"PALETTE_MATERIAL_500":i=n.PALETTE_MATERIAL_500;break;case"PALETTE_MATERIAL_CHROME":i=n.PALETTE_MATERIAL_CHROME;break;default:i=(0,n.ensureArray)(this.options.palette)}if(this.options.paletteEditable||i.length>0){var o=function(a,i,o){var n=e.querySelector('.a-color-picker-palette-color[data-color="'+a+'"]')||document.createElement("div");n.className="a-color-picker-palette-color",n.style.backgroundColor=a,n.setAttribute("data-color",a),n.title=a,e.insertBefore(n,i),t.palette[a]=!0,o&&t.onPaletteColorAdd(a)},r=function(a,i){a?(e.removeChild(a),t.palette[a.getAttribute("data-color")]=!1,i&&t.onPaletteColorRemove(a.getAttribute("data-color"))):(e.querySelectorAll(".a-color-picker-palette-color[data-color]").forEach((function(t){e.removeChild(t)})),Object.keys(t.palette).forEach((function(e){t.palette[e]=!1})),i&&t.onPaletteColorRemove())};if(i.map((function(e){return(0,n.parseColor)(e,a?"rgbcss4":"hex")})).filter((function(e){return!!e})).forEach((function(e){return o(e)})),this.options.paletteEditable){var E=document.createElement("div");E.className="a-color-picker-palette-color a-color-picker-palette-add",E.innerHTML="+",e.appendChild(E),e.addEventListener("click",(function(e){/a-color-picker-palette-add/.test(e.target.className)?e.shiftKey?r(null,!0):o(a?(0,n.parseColor)([t.R,t.G,t.B,t.A],"rgbcss4"):(0,n.rgbToHex)(t.R,t.G,t.B),e.target,!0):/a-color-picker-palette-color/.test(e.target.className)&&(e.shiftKey?r(e.target,!0):t.onValueChanged(A,e.target.getAttribute("data-color")))}))}else e.addEventListener("click",(function(e){/a-color-picker-palette-color/.test(e.target.className)&&t.onValueChanged(A,e.target.getAttribute("data-color"))}))}else e.style.display="none"}},{key:"updatePalette",value:function(e){this.paletteRow.innerHTML="",this.palette={},this.paletteRow.parentElement||this.element.appendChild(this.paletteRow),this.options.palette=e,this.setPalette(this.paletteRow)}},{key:"onValueChanged",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{silent:!1};switch(e){case"H":this.H=t;var i=(0,n.hslToRgb)(this.H,this.S,this.L),r=o(i,3);this.R=r[0],this.G=r[1],this.B=r[2],this.slBarHelper.setHue(t),this.updatePointerH(this.H),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"S":this.S=t;var E=(0,n.hslToRgb)(this.H,this.S,this.L),_=o(E,3);this.R=_[0],this.G=_[1],this.B=_[2],this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"L":this.L=t;var T=(0,n.hslToRgb)(this.H,this.S,this.L),s=o(T,3);this.R=s[0],this.G=s[1],this.B=s[2],this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"R":this.R=t;var S=(0,n.rgbToHsl)(this.R,this.G,this.B),l=o(S,3);this.H=l[0],this.S=l[1],this.L=l[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"G":this.G=t;var I=(0,n.rgbToHsl)(this.R,this.G,this.B),O=o(I,3);this.H=O[0],this.S=O[1],this.L=O[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"B":this.B=t;var c=(0,n.rgbToHsl)(this.R,this.G,this.B),N=o(c,3);this.H=N[0],this.S=N[1],this.L=N[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"RGB":var R=o(t,3);this.R=R[0],this.G=R[1],this.B=R[2];var m=(0,n.rgbToHsl)(this.R,this.G,this.B),L=o(m,3);this.H=L[0],this.S=L[1],this.L=L[2],this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case u:var D=o(t,4);this.R=D[0],this.G=D[1],this.B=D[2],this.A=D[3];var p=(0,n.rgbToHsl)(this.R,this.G,this.B),C=o(p,3);this.H=C[0],this.S=C[1],this.L=C[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case d:var h=o(t,4);this.H=h[0],this.S=h[1],this.L=h[2],this.A=h[3];var f=(0,n.hslToRgb)(this.H,this.S,this.L),P=o(f,3);this.R=P[0],this.G=P[1],this.B=P[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case"RGBHEX":var B=(0,n.cssColorToRgb)(t)||[this.R,this.G,this.B],g=o(B,3);this.R=g[0],this.G=g[1],this.B=g[2];var v=(0,n.rgbToHsl)(this.R,this.G,this.B),M=o(v,3);this.H=M[0],this.S=M[1],this.L=M[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B);break;case A:var W=(0,n.parseColor)(t,"rgba")||[0,0,0,1],y=o(W,4);this.R=y[0],this.G=y[1],this.B=y[2],this.A=y[3];var U=(0,n.rgbToHsl)(this.R,this.G,this.B),b=o(U,3);this.H=b[0],this.S=b[1],this.L=b[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case"ALPHA":this.A=t}1===this.A?this.preview.style.backgroundColor="rgb("+this.R+","+this.G+","+this.B+")":this.preview.style.backgroundColor="rgba("+this.R+","+this.G+","+this.B+","+this.A+")",a&&a.silent||this.onchange&&this.onchange(this.preview.style.backgroundColor)}},{key:"onPaletteColorAdd",value:function(e){this.oncoloradd&&this.oncoloradd(e)}},{key:"onPaletteColorRemove",value:function(e){this.oncolorremove&&this.oncolorremove(e)}},{key:"updateInputHSL",value:function(e,t,a){this.options.showHSL&&(this.inputH.value=e,this.inputS.value=t,this.inputL.value=a)}},{key:"updateInputRGB",value:function(e,t,a){this.options.showRGB&&(this.inputR.value=e,this.inputG.value=t,this.inputB.value=a)}},{key:"updateInputRGBHEX",value:function(e,t,a){this.options.showHEX&&(this.inputRGBHEX.value=(0,n.rgbToHex)(e,t,a))}},{key:"updatePointerH",value:function(e){var t=this.options.hueBarSize[0]*e/360;this.huePointer.style.left=t-7+"px"}},{key:"updatePointerSL",value:function(e,t,a){var i=(0,n.hslToRgb)(e,t,a),r=o(i,3),E=r[0],_=r[1],T=r[2],s=this.slBarHelper.findColor(E,_,T),S=o(s,2),l=S[0],I=S[1];l>=0&&(this.slPointer.style.left=l-7+"px",this.slPointer.style.top=I-7+"px")}},{key:"updatePointerA",value:function(e){if(this.options.showAlpha){var t=this.options.alphaBarSize[0]*e;this.alphaPointer.style.left=t-7+"px"}}}]),e})(),L=(function(){function e(t){T(this,e),this.name=t,this.listeners=[]}return i(e,[{key:"on",value:function(e){e&&this.listeners.push(e)}},{key:"off",value:function(e){this.listeners=e?this.listeners.filter((function(t){return t!==e})):[]}},{key:"emit",value:function(e,t){for(var a=this.listeners.slice(0),i=0;i1&&void 0!==arguments[1]&&arguments[1];a.onValueChanged(A,e,{silent:t})},get all(){if(r){var e=[a.R,a.G,a.B,a.A],t=a.A<1?"rgba("+a.R+","+a.G+","+a.B+","+a.A+")":n.rgbToHex.apply(void 0,e);(E=(0,n.parseColor)(e,E)).toString=function(){return t},r=!1}return Object.assign({},E)},get onchange(){return i.change&&i.change.listeners[0]},set onchange(e){this.off("change").on("change",e)},get oncoloradd(){return i.coloradd&&i.coloradd.listeners[0]},set oncoloradd(e){this.off("coloradd").on("coloradd",e)},get oncolorremove(){return i.colorremove&&i.colorremove.listeners[0]},set oncolorremove(e){this.off("colorremove").on("colorremove",e)},get palette(){return Object.keys(a.palette).filter((function(e){return a.palette[e]}))},set palette(e){a.updatePalette(e)},show:function(){a.element.classList.remove("hidden")},hide:function(){a.element.classList.add("hidden")},toggle:function(){a.element.classList.toggle("hidden")},on:function(e,t){return e&&i[e]&&i[e].on(t),this},off:function(e,t){return e&&i[e]&&i[e].off(t),this},destroy:function(){i.change.off(),i.coloradd.off(),i.colorremove.off(),a.element.remove(),i=null,a=null}};return a.onchange=function(){for(var e=arguments.length,t=Array(e),a=0;astyle[data-source="a-color-picker"]')){var p=a(5).toString(),C=document.createElement("style");C.setAttribute("type","text/css"),C.setAttribute("data-source","a-color-picker"),C.innerHTML=p,document.querySelector("head").appendChild(C)}t.createPicker=D,t.from=function(e,t){var a=(function(e){return e?Array.isArray(e)?e:e instanceof HTMLElement?[e]:e instanceof NodeList?[].concat(s(e)):"string"==typeof e?[].concat(s(document.querySelectorAll(e))):e.jquery?e.get():[]:[]})(e).map((function(e,a){var i=D(e,t);return i.index=a,i}));return a.on=function(e,t){return a.forEach((function(a){return a.on(e,t)})),this},a.off=function(e){return a.forEach((function(t){return t.off(e)})),this},a},t.parseColorToRgb=n.parseColorToRgb,t.parseColorToRgba=n.parseColorToRgba,t.parseColorToHsl=n.parseColorToHsl,t.parseColorToHsla=n.parseColorToHsla,t.parseColor=n.parseColor,t.rgbToHex=n.rgbToHex,t.hslToRgb=n.hslToRgb,t.rgbToHsl=n.rgbToHsl,t.rgbToHsv=n.rgbToHsv,t.rgbToInt=n.rgbToInt,t.intToRgb=n.intToRgb,t.getLuminance=n.getLuminance,t.COLOR_NAMES=n.COLOR_NAMES,t.PALETTE_MATERIAL_500=n.PALETTE_MATERIAL_500,t.PALETTE_MATERIAL_CHROME=n.PALETTE_MATERIAL_CHROME,t.VERSION="1.2.1"},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nvl=t.ensureArray=t.limit=t.getLuminance=t.parseColor=t.parseColorToHsla=t.parseColorToHsl=t.cssHslaToHsla=t.cssHslToHsl=t.parseColorToRgba=t.parseColorToRgb=t.cssRgbaToRgba=t.cssRgbToRgb=t.cssColorToRgba=t.cssColorToRgb=t.intToRgb=t.rgbToInt=t.rgbToHsv=t.rgbToHsl=t.hslToRgb=t.rgbToHex=t.PALETTE_MATERIAL_CHROME=t.PALETTE_MATERIAL_500=t.COLOR_NAMES=void 0;var i=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return(function(e,t){var a=[],i=!0,o=!1,n=void 0;try{for(var r,E=e[Symbol.iterator]();!(i=(r=E.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){o=!0,n=e}finally{try{!i&&E.return&&E.return()}finally{if(o)throw n}}return a})(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},o=(function(e){return e&&e.__esModule?e:{default:e}})(a(0));function n(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);ta?a:e}function _(e,t){return null==e?t:e}function T(e,t,a){var i=[E(e,0,255),E(t,0,255),E(a,0,255)];return"#"+("000000"+((e=i[0])<<16|(t=i[1])<<8|(a=i[2])).toString(16)).slice(-6)}function s(e,t,a){var i=void 0,o=void 0,n=void 0,r=[E(e,0,360)/360,E(t,0,100)/100,E(a,0,100)/100];if(e=r[0],a=r[2],0==(t=r[1]))i=o=n=a;else{var _=function(e,t,a){return a<0&&(a+=1),a>1&&(a-=1),a<1/6?e+6*(t-e)*a:a<.5?t:a<2/3?e+(t-e)*(2/3-a)*6:e},T=a<.5?a*(1+t):a+t-a*t,s=2*a-T;i=_(s,T,e+1/3),o=_(s,T,e),n=_(s,T,e-1/3)}return[255*i,255*o,255*n].map(Math.round)}function S(e,t,a){var i=[E(e,0,255)/255,E(t,0,255)/255,E(a,0,255)/255];e=i[0],t=i[1],a=i[2];var o=Math.max(e,t,a),n=Math.min(e,t,a),r=void 0,_=void 0,T=(o+n)/2;if(o==n)r=_=0;else{var s=o-n;switch(_=T>.5?s/(2-o-n):s/(o+n),o){case e:r=(t-a)/s+(t>16&255,e>>8&255,255&e]},t.cssColorToRgb=I,t.cssColorToRgba=A,t.cssRgbToRgb=u,t.cssRgbaToRgba=d,t.parseColorToRgb=function(e){return Array.isArray(e)?e=[E(e[0],0,255),E(e[1],0,255),E(e[2],0,255)]:I(e)||u(e)},t.parseColorToRgba=O,t.cssHslToHsl=c,t.cssHslaToHsla=N,t.parseColorToHsl=function(e){return Array.isArray(e)?e=[E(e[0],0,360),E(e[1],0,100),E(e[2],0,100)]:c(e)},t.parseColorToHsla=R,t.parseColor=function(e,t){if(t=t||"rgb",null!=e){var a=void 0;if((a=O(e))||(a=R(e))&&(a=[].concat(n(s.apply(void 0,n(a))),[a[3]])))return(0,o.default)(t)?["rgb","rgbcss","rgbcss4","rgba","rgbacss","hsl","hslcss","hslcss4","hsla","hslacss","hex","hexcss4","int"].reduce((function(e,t){return e[t]=m(a,t),e}),t||{}):m(a,t.toString().toLowerCase())}},t.getLuminance=function(e,t,a){return.2126*(e=(e/=255)<.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.7152*(t=(t/=255)<.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.0722*((a/=255)<.03928?a/12.92:Math.pow((a+.055)/1.055,2.4))},t.limit=E,t.ensureArray=function(e){return e?Array.from(e):[]},t.nvl=_},function(e,t,a){"use strict";e.exports=function(e){return null!=e&&"object"==typeof e&&!1===Array.isArray(e)}},function(e,t){e.exports='

    '},function(e,t,a){var i=a(6);e.exports="string"==typeof i?i:i.toString()},function(e,t,a){(e.exports=a(7)(!1)).push([e.i,"/*!\n * a-color-picker\n * https://github.com/narsenico/a-color-picker\n *\n * Copyright (c) 2017-2018, Gianfranco Caldi.\n * Released under the MIT License.\n */.a-color-picker{background-color:#fff;padding:0;display:inline-flex;flex-direction:column;user-select:none;width:232px;font:400 10px Helvetica,Arial,sans-serif;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 4px rgba(0,0,0,.25)}.a-color-picker,.a-color-picker-row,.a-color-picker input{box-sizing:border-box}.a-color-picker-row{padding:15px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;user-select:none}.a-color-picker-row-top{padding:0}.a-color-picker-row:not(:first-child){border-top:1px solid #f5f5f5}.a-color-picker-column{display:flex;flex-direction:column}.a-color-picker-cell{flex:1 1 auto;margin-bottom:4px}.a-color-picker-cell:last-child{margin-bottom:0}.a-color-picker-stack{position:relative}.a-color-picker-dot{position:absolute;width:14px;height:14px;top:0;left:0;background:#fff;pointer-events:none;border-radius:50px;z-index:1000;box-shadow:0 1px 2px rgba(0,0,0,.75)}.a-color-picker-a,.a-color-picker-h,.a-color-picker-sl{cursor:cell}.a-color-picker-a+.a-color-picker-dot,.a-color-picker-h+.a-color-picker-dot{top:-2px}.a-color-picker-a,.a-color-picker-h{border-radius:2px}.a-color-picker-preview{box-sizing:border-box;width:30px;height:30px;user-select:none;border-radius:15px}.a-color-picker-circle{border-radius:50px;border:1px solid #eee}.a-color-picker-hsl,.a-color-picker-rgb,.a-color-picker-single-input{justify-content:space-evenly}.a-color-picker-hsl>label,.a-color-picker-rgb>label,.a-color-picker-single-input>label{padding:0 8px;flex:0 0 auto;color:#969696}.a-color-picker-hsl>input,.a-color-picker-rgb>input,.a-color-picker-single-input>input{text-align:center;padding:2px 0;width:0;flex:1 1 auto;border:1px solid #e0e0e0;line-height:20px}.a-color-picker-hsl>input::-webkit-inner-spin-button,.a-color-picker-rgb>input::-webkit-inner-spin-button,.a-color-picker-single-input>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.a-color-picker-hsl>input:focus,.a-color-picker-rgb>input:focus,.a-color-picker-single-input>input:focus{border-color:#04a9f4;outline:none}.a-color-picker-transparent{background-image:linear-gradient(-45deg,#cdcdcd 25%,transparent 0),linear-gradient(45deg,#cdcdcd 25%,transparent 0),linear-gradient(-45deg,transparent 75%,#cdcdcd 0),linear-gradient(45deg,transparent 75%,#cdcdcd 0);background-size:11px 11px;background-position:0 0,0 -5.5px,-5.5px 5.5px,5.5px 0}.a-color-picker-sl{border-radius:3px 3px 0 0}.a-color-picker.hide-alpha [show-on-alpha],.a-color-picker.hide-hsl [show-on-hsl],.a-color-picker.hide-rgb [show-on-rgb],.a-color-picker.hide-single-input [show-on-single-input]{display:none}.a-color-picker-clipbaord{width:100%;height:100%;opacity:0;cursor:pointer}.a-color-picker-palette{flex-flow:wrap;flex-direction:row;justify-content:flex-start;padding:10px}.a-color-picker-palette-color{width:15px;height:15px;flex:0 1 15px;margin:3px;box-sizing:border-box;cursor:pointer;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.a-color-picker-palette-add{text-align:center;line-height:13px;color:#607d8b}.a-color-picker.hidden{display:none}",""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var a=(function(e,t){var a=e[1]||"",i=e[3];if(!i)return a;if(t&&"function"==typeof btoa){var o=(function(e){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */"})(i),n=i.sources.map((function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"}));return[a].concat(n).concat([o]).join("\n")}return[a].join("\n")})(t,e);return t[2]?"@media "+t[2]+"{"+a+"}":a})).join("")},t.i=function(e,a){"string"==typeof e&&(e=[[null,e,""]]);for(var i={},o=0;o{"use strict";t.byteLength=function(e){var t=E(e),a=t[0],i=t[1];return 3*(a+i)/4-i},t.toByteArray=function(e){var t,a,n=E(e),r=n[0],_=n[1],T=new o((function(e,t,a){return 3*(t+a)/4-a})(0,r,_)),s=0,S=_>0?r-4:r;for(a=0;a>16&255,T[s++]=t>>8&255,T[s++]=255&t;2===_&&(t=i[e.charCodeAt(a)]<<2|i[e.charCodeAt(a+1)]>>4,T[s++]=255&t);1===_&&(t=i[e.charCodeAt(a)]<<10|i[e.charCodeAt(a+1)]<<4|i[e.charCodeAt(a+2)]>>2,T[s++]=t>>8&255,T[s++]=255&t);return T},t.fromByteArray=function(e){for(var t,i=e.length,o=i%3,n=[],r=16383,E=0,T=i-o;ET?T:E+r));1===o?(t=e[i-1],n.push(a[t>>2]+a[t<<4&63]+"==")):2===o&&(t=(e[i-2]<<8)+e[i-1],n.push(a[t>>10]+a[t>>4&63]+a[t<<2&63]+"="));return n.join("")};for(var a=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=0;r<64;++r)a[r]=n[r],i[n.charCodeAt(r)]=r;function E(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var a=e.indexOf("=");return-1===a&&(a=t),[a,a===t?0:4-a%4]}function _(e,t,i){for(var o,n,r=[],E=t;E>18&63]+a[n>>12&63]+a[n>>6&63]+a[63&n]);return r.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},13960:e=>{function t(e){return e.reduce(((e,t,a,i)=>{const o=t.split("-").map((e=>parseInt(e)));return e.concat(((e,t=e)=>Array.from({length:t-e+1},((t,a)=>a+e)))(...o))}),[])}e.exports=t,e.exports.parse=t,e.exports.compose=function(e){return e.reduce(((e,t,a,i)=>(0!==a&&t===i[a-1]+1||e.push([]),e[e.length-1].push(t),e)),[]).map((e=>e.length>1?`${e[0]}-${e[e.length-1]}`:`${e[0]}`))}},46880:function(e){e.exports=(function(e){var t={};function a(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,a),o.l=!0,o.exports}return a.m=e,a.c=t,a.d=function(e,t,i){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(a.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)a.d(i,o,function(t){return e[t]}.bind(null,o));return i},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=90)})({17:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var i=a(18),o=(function(){function e(){}return e.getFirstMatch=function(e,t){var a=t.match(e);return a&&a.length>0&&a[1]||""},e.getSecondMatch=function(e,t){var a=t.match(e);return a&&a.length>1&&a[2]||""},e.matchAndReturnConst=function(e,t,a){if(e.test(t))return a},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,a,i){void 0===i&&(i=!1);var o=e.getVersionPrecision(t),n=e.getVersionPrecision(a),r=Math.max(o,n),E=0,_=e.map([t,a],(function(t){var a=r-e.getVersionPrecision(t),i=t+new Array(a+1).join(".0");return e.map(i.split("."),(function(e){return new Array(20-e.length).join("0")+e})).reverse()}));for(i&&(E=r-Math.min(o,n)),r-=1;r>=E;){if(_[0][r]>_[1][r])return 1;if(_[0][r]===_[1][r]){if(r===E)return 0;r-=1}else if(_[0][r]<_[1][r])return-1}},e.map=function(e,t){var a,i=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(a=0;a1?o-1:0),r=1;r0){var r=Object.keys(a),_=E.default.find(r,(function(e){return t.isOS(e)}));if(_){var T=this.satisfies(a[_]);if(void 0!==T)return T}var s=E.default.find(r,(function(e){return t.isPlatform(e)}));if(s){var S=this.satisfies(a[s]);if(void 0!==S)return S}}if(n>0){var l=Object.keys(o),I=E.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==I)return this.compareVersion(o[I])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var a=this.getBrowserName().toLowerCase(),i=e.toLowerCase(),o=E.default.getBrowserTypeByAlias(i);return t&&o&&(i=o.toLowerCase()),i===a},t.compareVersion=function(e){var t=[0],a=e,i=!1,o=this.getBrowserVersion();if("string"==typeof o)return">"===e[0]||"<"===e[0]?(a=e.substr(1),"="===e[1]?(i=!0,a=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?a=e.substr(1):"~"===e[0]&&(i=!0,a=e.substr(1)),t.indexOf(E.default.compareVersions(o,a,i))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e})();t.default=T,e.exports=t.default},92:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var i,o=(i=a(17))&&i.__esModule?i:{default:i},n=/version\/(\d+(\.?_?\d+)+)/i,r=[{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},a=o.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},a=o.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},a=o.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},a=o.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},a=o.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},a=o.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},a=o.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},a=o.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},a=o.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},a=o.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},a=o.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},a=o.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},a=o.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},a=o.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},a=o.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return a&&(t.version=a),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},a=o.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},a=o.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},a=o.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},a=o.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},a=o.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},a=o.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},a=o.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},a=o.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},a=o.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},a=o.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},a=o.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},a=o.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:function(e){var t=!e.test(/like android/i),a=e.test(/android/i);return t&&a},describe:function(e){var t={name:"Android Browser"},a=o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},a=o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},a=o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:o.default.getFirstMatch(t,e),version:o.default.getSecondMatch(t,e)}}}];t.default=r,e.exports=t.default},93:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var i,o=(i=a(17))&&i.__esModule?i:{default:i},n=a(18),r=[{test:[/Roku\/DVP/],describe:function(e){var t=o.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:n.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=o.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:n.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=o.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),a=o.default.getWindowsVersionName(t);return{name:n.OS_MAP.Windows,version:t,versionName:a}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:n.OS_MAP.iOS},a=o.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return a&&(t.version=a),t}},{test:[/macintosh/i],describe:function(e){var t=o.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),a=o.default.getMacOSVersionName(t),i={name:n.OS_MAP.MacOS,version:t};return a&&(i.versionName=a),i}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=o.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:n.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),a=e.test(/android/i);return t&&a},describe:function(e){var t=o.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),a=o.default.getAndroidVersionName(t),i={name:n.OS_MAP.Android,version:t};return a&&(i.versionName=a),i}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=o.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),a={name:n.OS_MAP.WebOS};return t&&t.length&&(a.version=t),a}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=o.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||o.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||o.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:n.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=o.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:n.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=o.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:n.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:n.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:n.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=o.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:n.OS_MAP.PlayStation4,version:t}}}];t.default=r,e.exports=t.default},94:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var i,o=(i=a(17))&&i.__esModule?i:{default:i},n=a(18),r=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(e){var t=o.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",a={type:n.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(a.model=t),a}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),a=e.test(/like (ipod|iphone)/i);return t&&!a},describe:function(e){var t=o.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:n.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:n.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:n.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:n.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:n.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.mobile}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.tv}}}];t.default=r,e.exports=t.default},95:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var i,o=(i=a(17))&&i.__esModule?i:{default:i},n=a(18),r=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:n.ENGINE_MAP.Blink};var t=o.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:n.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:n.ENGINE_MAP.Trident},a=o.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:n.ENGINE_MAP.Presto},a=o.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:function(e){var t=e.test(/gecko/i),a=e.test(/like gecko/i);return t&&!a},describe:function(e){var t={name:n.ENGINE_MAP.Gecko},a=o.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:n.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:n.ENGINE_MAP.WebKit},a=o.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}}];t.default=r,e.exports=t.default}})},48287:(e,t,a)=>{"use strict";const i=a(67526),o=a(251),n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.hp=_,t.IS=50;const r=2147483647;function E(e){if(e>r)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,_.prototype),t}function _(e,t,a){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return S(e)}return T(e,t,a)}function T(e,t,a){if("string"==typeof e)return(function(e,t){"string"==typeof t&&""!==t||(t="utf8");if(!_.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const a=0|u(e,t);let i=E(a);const o=i.write(e,t);o!==a&&(i=i.slice(0,o));return i})(e,t);if(ArrayBuffer.isView(e))return(function(e){if(X(e,Uint8Array)){const t=new Uint8Array(e);return I(t.buffer,t.byteOffset,t.byteLength)}return l(e)})(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(X(e,ArrayBuffer)||e&&X(e.buffer,ArrayBuffer))return I(e,t,a);if("undefined"!=typeof SharedArrayBuffer&&(X(e,SharedArrayBuffer)||e&&X(e.buffer,SharedArrayBuffer)))return I(e,t,a);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return _.from(i,t,a);const o=(function(e){if(_.isBuffer(e)){const t=0|A(e.length),a=E(t);return 0===a.length||e.copy(a,0,0,t),a}if(void 0!==e.length)return"number"!=typeof e.length||$(e.length)?E(0):l(e);if("Buffer"===e.type&&Array.isArray(e.data))return l(e.data)})(e);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return _.from(e[Symbol.toPrimitive]("string"),t,a);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function s(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function S(e){return s(e),E(e<0?0:0|A(e))}function l(e){const t=e.length<0?0:0|A(e.length),a=E(t);for(let i=0;i=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|e}function u(e,t){if(_.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||X(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const a=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===a)return 0;let o=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return a;case"utf8":case"utf-8":return j(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*a;case"hex":return a>>>1;case"base64":return x(e).length;default:if(o)return i?-1:j(e).length;t=(""+t).toLowerCase(),o=!0}}function d(e,t,a){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===a||a>this.length)&&(a=this.length),a<=0)return"";if((a>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return g(this,t,a);case"utf8":case"utf-8":return h(this,t,a);case"ascii":return P(this,t,a);case"latin1":case"binary":return B(this,t,a);case"base64":return C(this,t,a);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return v(this,t,a);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function O(e,t,a){const i=e[t];e[t]=e[a],e[a]=i}function c(e,t,a,i,o){if(0===e.length)return-1;if("string"==typeof a?(i=a,a=0):a>2147483647?a=2147483647:a<-2147483648&&(a=-2147483648),$(a=+a)&&(a=o?0:e.length-1),a<0&&(a=e.length+a),a>=e.length){if(o)return-1;a=e.length-1}else if(a<0){if(!o)return-1;a=0}if("string"==typeof t&&(t=_.from(t,i)),_.isBuffer(t))return 0===t.length?-1:N(e,t,a,i,o);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,a):Uint8Array.prototype.lastIndexOf.call(e,t,a):N(e,[t],a,i,o);throw new TypeError("val must be string, number or Buffer")}function N(e,t,a,i,o){let n,r=1,E=e.length,_=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;r=2,E/=2,_/=2,a/=2}function T(e,t){return 1===r?e[t]:e.readUInt16BE(t*r)}if(o){let i=-1;for(n=a;nE&&(a=E-_),n=a;n>=0;n--){let a=!0;for(let i=0;i<_;i++)if(T(e,n+i)!==T(t,i)){a=!1;break}if(a)return n}return-1}function R(e,t,a,i){a=Number(a)||0;const o=e.length-a;i?(i=Number(i))>o&&(i=o):i=o;const n=t.length;let r;for(i>n/2&&(i=n/2),r=0;r>8,o=a%256,n.push(o),n.push(i);return n})(t,e.length-a),e,a,i)}function C(e,t,a){return 0===t&&a===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,a))}function h(e,t,a){a=Math.min(e.length,a);const i=[];let o=t;for(;o239?4:t>223?3:t>191?2:1;if(o+r<=a){let a,i,E,_;switch(r){case 1:t<128&&(n=t);break;case 2:a=e[o+1],128==(192&a)&&(_=(31&t)<<6|63&a,_>127&&(n=_));break;case 3:a=e[o+1],i=e[o+2],128==(192&a)&&128==(192&i)&&(_=(15&t)<<12|(63&a)<<6|63&i,_>2047&&(_<55296||_>57343)&&(n=_));break;case 4:a=e[o+1],i=e[o+2],E=e[o+3],128==(192&a)&&128==(192&i)&&128==(192&E)&&(_=(15&t)<<18|(63&a)<<12|(63&i)<<6|63&E,_>65535&&_<1114112&&(n=_))}}null===n?(n=65533,r=1):n>65535&&(n-=65536,i.push(n>>>10&1023|55296),n=56320|1023&n),i.push(n),o+=r}return(function(e){const t=e.length;if(t<=f)return String.fromCharCode.apply(String,e);let a="",i=0;for(;ii.length?(_.isBuffer(t)||(t=_.from(t)),t.copy(i,o)):Uint8Array.prototype.set.call(i,t,o);else{if(!_.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,o)}o+=t.length}return i},_.byteLength=u,_.prototype._isBuffer=!0,_.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;ta&&(e+=" ... "),""},n&&(_.prototype[n]=_.prototype.inspect),_.prototype.compare=function(e,t,a,i,o){if(X(e,Uint8Array)&&(e=_.from(e,e.offset,e.byteLength)),!_.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===a&&(a=e?e.length:0),void 0===i&&(i=0),void 0===o&&(o=this.length),t<0||a>e.length||i<0||o>this.length)throw new RangeError("out of range index");if(i>=o&&t>=a)return 0;if(i>=o)return-1;if(t>=a)return 1;if(this===e)return 0;let n=(o>>>=0)-(i>>>=0),r=(a>>>=0)-(t>>>=0);const E=Math.min(n,r),T=this.slice(i,o),s=e.slice(t,a);for(let e=0;e>>=0,isFinite(a)?(a>>>=0,void 0===i&&(i="utf8")):(i=a,a=void 0)}const o=this.length-t;if((void 0===a||a>o)&&(a=o),e.length>0&&(a<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let n=!1;for(;;)switch(i){case"hex":return R(this,e,t,a);case"utf8":case"utf-8":return m(this,e,t,a);case"ascii":case"latin1":case"binary":return L(this,e,t,a);case"base64":return D(this,e,t,a);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return p(this,e,t,a);default:if(n)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),n=!0}},_.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const f=4096;function P(e,t,a){let i="";a=Math.min(e.length,a);for(let o=t;oi)&&(a=i);let o="";for(let i=t;ia)throw new RangeError("Trying to access beyond buffer length")}function W(e,t,a,i,o,n){if(!_.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function y(e,t,a,i,o){w(t,i,o,e,a,7);let n=Number(t&BigInt(4294967295));e[a++]=n,n>>=8,e[a++]=n,n>>=8,e[a++]=n,n>>=8,e[a++]=n;let r=Number(t>>BigInt(32)&BigInt(4294967295));return e[a++]=r,r>>=8,e[a++]=r,r>>=8,e[a++]=r,r>>=8,e[a++]=r,a}function U(e,t,a,i,o){w(t,i,o,e,a,7);let n=Number(t&BigInt(4294967295));e[a+7]=n,n>>=8,e[a+6]=n,n>>=8,e[a+5]=n,n>>=8,e[a+4]=n;let r=Number(t>>BigInt(32)&BigInt(4294967295));return e[a+3]=r,r>>=8,e[a+2]=r,r>>=8,e[a+1]=r,r>>=8,e[a]=r,a+8}function b(e,t,a,i,o,n){if(a+i>e.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("Index out of range")}function G(e,t,a,i,n){return t=+t,a>>>=0,n||b(e,0,a,4),o.write(e,t,a,i,23,4),a+4}function k(e,t,a,i,n){return t=+t,a>>>=0,n||b(e,0,a,8),o.write(e,t,a,i,52,8),a+8}_.prototype.slice=function(e,t){const a=this.length;(e=~~e)<0?(e+=a)<0&&(e=0):e>a&&(e=a),(t=void 0===t?a:~~t)<0?(t+=a)<0&&(t=0):t>a&&(t=a),t>>=0,t>>>=0,a||M(e,t,this.length);let i=this[e],o=1,n=0;for(;++n>>=0,t>>>=0,a||M(e,t,this.length);let i=this[e+--t],o=1;for(;t>0&&(o*=256);)i+=this[e+--t]*o;return i},_.prototype.readUint8=_.prototype.readUInt8=function(e,t){return e>>>=0,t||M(e,1,this.length),this[e]},_.prototype.readUint16LE=_.prototype.readUInt16LE=function(e,t){return e>>>=0,t||M(e,2,this.length),this[e]|this[e+1]<<8},_.prototype.readUint16BE=_.prototype.readUInt16BE=function(e,t){return e>>>=0,t||M(e,2,this.length),this[e]<<8|this[e+1]},_.prototype.readUint32LE=_.prototype.readUInt32LE=function(e,t){return e>>>=0,t||M(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},_.prototype.readUint32BE=_.prototype.readUInt32BE=function(e,t){return e>>>=0,t||M(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},_.prototype.readBigUInt64LE=J((function(e){Y(e>>>=0,"offset");const t=this[e],a=this[e+7];void 0!==t&&void 0!==a||z(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,o=this[++e]+256*this[++e]+65536*this[++e]+a*2**24;return BigInt(i)+(BigInt(o)<>>=0,"offset");const t=this[e],a=this[e+7];void 0!==t&&void 0!==a||z(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],o=this[++e]*2**24+65536*this[++e]+256*this[++e]+a;return(BigInt(i)<>>=0,t>>>=0,a||M(e,t,this.length);let i=this[e],o=1,n=0;for(;++n=o&&(i-=Math.pow(2,8*t)),i},_.prototype.readIntBE=function(e,t,a){e>>>=0,t>>>=0,a||M(e,t,this.length);let i=t,o=1,n=this[e+--i];for(;i>0&&(o*=256);)n+=this[e+--i]*o;return o*=128,n>=o&&(n-=Math.pow(2,8*t)),n},_.prototype.readInt8=function(e,t){return e>>>=0,t||M(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},_.prototype.readInt16LE=function(e,t){e>>>=0,t||M(e,2,this.length);const a=this[e]|this[e+1]<<8;return 32768&a?4294901760|a:a},_.prototype.readInt16BE=function(e,t){e>>>=0,t||M(e,2,this.length);const a=this[e+1]|this[e]<<8;return 32768&a?4294901760|a:a},_.prototype.readInt32LE=function(e,t){return e>>>=0,t||M(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},_.prototype.readInt32BE=function(e,t){return e>>>=0,t||M(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},_.prototype.readBigInt64LE=J((function(e){Y(e>>>=0,"offset");const t=this[e],a=this[e+7];void 0!==t&&void 0!==a||z(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(a<<24);return(BigInt(i)<>>=0,"offset");const t=this[e],a=this[e+7];void 0!==t&&void 0!==a||z(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<>>=0,t||M(e,4,this.length),o.read(this,e,!0,23,4)},_.prototype.readFloatBE=function(e,t){return e>>>=0,t||M(e,4,this.length),o.read(this,e,!1,23,4)},_.prototype.readDoubleLE=function(e,t){return e>>>=0,t||M(e,8,this.length),o.read(this,e,!0,52,8)},_.prototype.readDoubleBE=function(e,t){return e>>>=0,t||M(e,8,this.length),o.read(this,e,!1,52,8)},_.prototype.writeUintLE=_.prototype.writeUIntLE=function(e,t,a,i){if(e=+e,t>>>=0,a>>>=0,!i){W(this,e,t,a,Math.pow(2,8*a)-1,0)}let o=1,n=0;for(this[t]=255&e;++n>>=0,a>>>=0,!i){W(this,e,t,a,Math.pow(2,8*a)-1,0)}let o=a-1,n=1;for(this[t+o]=255&e;--o>=0&&(n*=256);)this[t+o]=e/n&255;return t+a},_.prototype.writeUint8=_.prototype.writeUInt8=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,1,255,0),this[t]=255&e,t+1},_.prototype.writeUint16LE=_.prototype.writeUInt16LE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},_.prototype.writeUint16BE=_.prototype.writeUInt16BE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},_.prototype.writeUint32LE=_.prototype.writeUInt32LE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},_.prototype.writeUint32BE=_.prototype.writeUInt32BE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},_.prototype.writeBigUInt64LE=J((function(e,t=0){return y(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),_.prototype.writeBigUInt64BE=J((function(e,t=0){return U(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),_.prototype.writeIntLE=function(e,t,a,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*a-1);W(this,e,t,a,i-1,-i)}let o=0,n=1,r=0;for(this[t]=255&e;++o>>=0,!i){const i=Math.pow(2,8*a-1);W(this,e,t,a,i-1,-i)}let o=a-1,n=1,r=0;for(this[t+o]=255&e;--o>=0&&(n*=256);)e<0&&0===r&&0!==this[t+o+1]&&(r=1),this[t+o]=(e/n|0)-r&255;return t+a},_.prototype.writeInt8=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},_.prototype.writeInt16LE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},_.prototype.writeInt16BE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},_.prototype.writeInt32LE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},_.prototype.writeInt32BE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},_.prototype.writeBigInt64LE=J((function(e,t=0){return y(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),_.prototype.writeBigInt64BE=J((function(e,t=0){return U(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),_.prototype.writeFloatLE=function(e,t,a){return G(this,e,t,!0,a)},_.prototype.writeFloatBE=function(e,t,a){return G(this,e,t,!1,a)},_.prototype.writeDoubleLE=function(e,t,a){return k(this,e,t,!0,a)},_.prototype.writeDoubleBE=function(e,t,a){return k(this,e,t,!1,a)},_.prototype.copy=function(e,t,a,i){if(!_.isBuffer(e))throw new TypeError("argument should be a Buffer");if(a||(a=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,a=void 0===a?this.length:a>>>0,e||(e=0),"number"==typeof e)for(o=t;o=i+4;a-=3)t=`_${e.slice(a-3,a)}${t}`;return`${e.slice(0,a)}${t}`}function w(e,t,a,i,o,n){if(e>a||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(n+1)}${i}`:`>= -(2${i} ** ${8*(n+1)-1}${i}) and < 2 ** ${8*(n+1)-1}${i}`:`>= ${t}${i} and <= ${a}${i}`,new F.ERR_OUT_OF_RANGE("value",o,e)}!(function(e,t,a){Y(t,"offset"),void 0!==e[t]&&void 0!==e[t+a]||z(t,e.length-(a+1))})(i,o,n)}function Y(e,t){if("number"!=typeof e)throw new F.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,a){if(Math.floor(e)!==e)throw Y(e,a),new F.ERR_OUT_OF_RANGE(a||"offset","an integer",e);if(t<0)throw new F.ERR_BUFFER_OUT_OF_BOUNDS;throw new F.ERR_OUT_OF_RANGE(a||"offset",`>= ${a?1:0} and <= ${t}`,e)}V("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),V("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),V("ERR_OUT_OF_RANGE",(function(e,t,a){let i=`The value of "${e}" is out of range.`,o=a;return Number.isInteger(a)&&Math.abs(a)>2**32?o=H(String(a)):"bigint"==typeof a&&(o=String(a),(a>BigInt(2)**BigInt(32)||a<-(BigInt(2)**BigInt(32)))&&(o=H(o)),o+="n"),i+=` It must be ${t}. Received ${o}`,i}),RangeError);const K=/[^+/0-9A-Za-z-_]/g;function j(e,t){let a;t=t||1/0;const i=e.length;let o=null;const n=[];for(let r=0;r55295&&a<57344){if(!o){if(a>56319){(t-=3)>-1&&n.push(239,191,189);continue}if(r+1===i){(t-=3)>-1&&n.push(239,191,189);continue}o=a;continue}if(a<56320){(t-=3)>-1&&n.push(239,191,189),o=a;continue}a=65536+(o-55296<<10|a-56320)}else o&&(t-=3)>-1&&n.push(239,191,189);if(o=null,a<128){if((t-=1)<0)break;n.push(a)}else if(a<2048){if((t-=2)<0)break;n.push(a>>6|192,63&a|128)}else if(a<65536){if((t-=3)<0)break;n.push(a>>12|224,a>>6&63|128,63&a|128)}else{if(!(a<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;n.push(a>>18|240,a>>12&63|128,a>>6&63|128,63&a|128)}}return n}function x(e){return i.toByteArray((function(e){if((e=(e=e.split("=")[0]).trim().replace(K,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e})(e))}function Q(e,t,a,i){let o;for(o=0;o=t.length||o>=e.length);++o)t[o+a]=e[o];return o}function X(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function $(e){return e!=e}const q=(function(){const e="0123456789abcdef",t=new Array(256);for(let a=0;a<16;++a){const i=16*a;for(let o=0;o<16;++o)t[i+o]=e[a]+e[o]}return t})();function J(e){return"undefined"==typeof BigInt?Z:e}function Z(){throw new Error("BigInt not supported")}},38075:(e,t,a)=>{"use strict";var i=a(70453),o=a(10487),n=o(i("String.prototype.indexOf"));e.exports=function(e,t){var a=i(e,!!t);return"function"==typeof a&&n(e,".prototype.")>-1?o(a):a}},10487:(e,t,a)=>{"use strict";var i=a(66743),o=a(70453),n=a(96897),r=a(69675),E=o("%Function.prototype.apply%"),_=o("%Function.prototype.call%"),T=o("%Reflect.apply%",!0)||i.call(_,E),s=a(30655),S=o("%Math.max%");e.exports=function(e){if("function"!=typeof e)throw new r("a function is required");var t=T(i,_,arguments);return n(t,1+S(0,e.length-(arguments.length-1)),!0)};var l=function(){return T(i,E,arguments)};s?s(e.exports,"apply",{value:l}):e.exports.apply=l},15659:(e,t,a)=>{const i=a(8156),o={};for(const e of Object.keys(i))o[i[e]]=e;const n={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};e.exports=n;for(const e of Object.keys(n)){if(!("channels"in n[e]))throw new Error("missing channels property: "+e);if(!("labels"in n[e]))throw new Error("missing channel labels property: "+e);if(n[e].labels.length!==n[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:t,labels:a}=n[e];delete n[e].channels,delete n[e].labels,Object.defineProperty(n[e],"channels",{value:t}),Object.defineProperty(n[e],"labels",{value:a})}n.rgb.hsl=function(e){const t=e[0]/255,a=e[1]/255,i=e[2]/255,o=Math.min(t,a,i),n=Math.max(t,a,i),r=n-o;let E,_;n===o?E=0:t===n?E=(a-i)/r:a===n?E=2+(i-t)/r:i===n&&(E=4+(t-a)/r),E=Math.min(60*E,360),E<0&&(E+=360);const T=(o+n)/2;return _=n===o?0:T<=.5?r/(n+o):r/(2-n-o),[E,100*_,100*T]},n.rgb.hsv=function(e){let t,a,i,o,n;const r=e[0]/255,E=e[1]/255,_=e[2]/255,T=Math.max(r,E,_),s=T-Math.min(r,E,_),S=function(e){return(T-e)/6/s+.5};return 0===s?(o=0,n=0):(n=s/T,t=S(r),a=S(E),i=S(_),r===T?o=i-a:E===T?o=1/3+t-i:_===T&&(o=2/3+a-t),o<0?o+=1:o>1&&(o-=1)),[360*o,100*n,100*T]},n.rgb.hwb=function(e){const t=e[0],a=e[1];let i=e[2];const o=n.rgb.hsl(e)[0],r=1/255*Math.min(t,Math.min(a,i));return i=1-1/255*Math.max(t,Math.max(a,i)),[o,100*r,100*i]},n.rgb.cmyk=function(e){const t=e[0]/255,a=e[1]/255,i=e[2]/255,o=Math.min(1-t,1-a,1-i);return[100*((1-t-o)/(1-o)||0),100*((1-a-o)/(1-o)||0),100*((1-i-o)/(1-o)||0),100*o]},n.rgb.keyword=function(e){const t=o[e];if(t)return t;let a,n=1/0;for(const t of Object.keys(i)){const o=i[t],_=(E=o,((r=e)[0]-E[0])**2+(r[1]-E[1])**2+(r[2]-E[2])**2);_.04045?((t+.055)/1.055)**2.4:t/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;return[100*(.4124*t+.3576*a+.1805*i),100*(.2126*t+.7152*a+.0722*i),100*(.0193*t+.1192*a+.9505*i)]},n.rgb.lab=function(e){const t=n.rgb.xyz(e);let a=t[0],i=t[1],o=t[2];a/=95.047,i/=100,o/=108.883,a=a>.008856?a**(1/3):7.787*a+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;return[116*i-16,500*(a-i),200*(i-o)]},n.hsl.rgb=function(e){const t=e[0]/360,a=e[1]/100,i=e[2]/100;let o,n,r;if(0===a)return r=255*i,[r,r,r];o=i<.5?i*(1+a):i+a-i*a;const E=2*i-o,_=[0,0,0];for(let e=0;e<3;e++)n=t+1/3*-(e-1),n<0&&n++,n>1&&n--,r=6*n<1?E+6*(o-E)*n:2*n<1?o:3*n<2?E+(o-E)*(2/3-n)*6:E,_[e]=255*r;return _},n.hsl.hsv=function(e){const t=e[0];let a=e[1]/100,i=e[2]/100,o=a;const n=Math.max(i,.01);i*=2,a*=i<=1?i:2-i,o*=n<=1?n:2-n;return[t,100*(0===i?2*o/(n+o):2*a/(i+a)),100*((i+a)/2)]},n.hsv.rgb=function(e){const t=e[0]/60,a=e[1]/100;let i=e[2]/100;const o=Math.floor(t)%6,n=t-Math.floor(t),r=255*i*(1-a),E=255*i*(1-a*n),_=255*i*(1-a*(1-n));switch(i*=255,o){case 0:return[i,_,r];case 1:return[E,i,r];case 2:return[r,i,_];case 3:return[r,E,i];case 4:return[_,r,i];case 5:return[i,r,E]}},n.hsv.hsl=function(e){const t=e[0],a=e[1]/100,i=e[2]/100,o=Math.max(i,.01);let n,r;r=(2-a)*i;const E=(2-a)*o;return n=a*o,n/=E<=1?E:2-E,n=n||0,r/=2,[t,100*n,100*r]},n.hwb.rgb=function(e){const t=e[0]/360;let a=e[1]/100,i=e[2]/100;const o=a+i;let n;o>1&&(a/=o,i/=o);const r=Math.floor(6*t),E=1-i;n=6*t-r,1&r&&(n=1-n);const _=a+n*(E-a);let T,s,S;switch(r){default:case 6:case 0:T=E,s=_,S=a;break;case 1:T=_,s=E,S=a;break;case 2:T=a,s=E,S=_;break;case 3:T=a,s=_,S=E;break;case 4:T=_,s=a,S=E;break;case 5:T=E,s=a,S=_}return[255*T,255*s,255*S]},n.cmyk.rgb=function(e){const t=e[0]/100,a=e[1]/100,i=e[2]/100,o=e[3]/100;return[255*(1-Math.min(1,t*(1-o)+o)),255*(1-Math.min(1,a*(1-o)+o)),255*(1-Math.min(1,i*(1-o)+o))]},n.xyz.rgb=function(e){const t=e[0]/100,a=e[1]/100,i=e[2]/100;let o,n,r;return o=3.2406*t+-1.5372*a+-.4986*i,n=-.9689*t+1.8758*a+.0415*i,r=.0557*t+-.204*a+1.057*i,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,n=n>.0031308?1.055*n**(1/2.4)-.055:12.92*n,r=r>.0031308?1.055*r**(1/2.4)-.055:12.92*r,o=Math.min(Math.max(0,o),1),n=Math.min(Math.max(0,n),1),r=Math.min(Math.max(0,r),1),[255*o,255*n,255*r]},n.xyz.lab=function(e){let t=e[0],a=e[1],i=e[2];t/=95.047,a/=100,i/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;return[116*a-16,500*(t-a),200*(a-i)]},n.lab.xyz=function(e){let t,a,i;a=(e[0]+16)/116,t=e[1]/500+a,i=a-e[2]/200;const o=a**3,n=t**3,r=i**3;return a=o>.008856?o:(a-16/116)/7.787,t=n>.008856?n:(t-16/116)/7.787,i=r>.008856?r:(i-16/116)/7.787,t*=95.047,a*=100,i*=108.883,[t,a,i]},n.lab.lch=function(e){const t=e[0],a=e[1],i=e[2];let o;o=360*Math.atan2(i,a)/2/Math.PI,o<0&&(o+=360);return[t,Math.sqrt(a*a+i*i),o]},n.lch.lab=function(e){const t=e[0],a=e[1],i=e[2]/360*2*Math.PI;return[t,a*Math.cos(i),a*Math.sin(i)]},n.rgb.ansi16=function(e,t=null){const[a,i,o]=e;let r=null===t?n.rgb.hsv(e)[2]:t;if(r=Math.round(r/50),0===r)return 30;let E=30+(Math.round(o/255)<<2|Math.round(i/255)<<1|Math.round(a/255));return 2===r&&(E+=60),E},n.hsv.ansi16=function(e){return n.rgb.ansi16(n.hsv.rgb(e),e[2])},n.rgb.ansi256=function(e){const t=e[0],a=e[1],i=e[2];if(t===a&&a===i)return t<8?16:t>248?231:Math.round((t-8)/247*24)+232;return 16+36*Math.round(t/255*5)+6*Math.round(a/255*5)+Math.round(i/255*5)},n.ansi16.rgb=function(e){let t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const a=.5*(1+~~(e>50));return[(1&t)*a*255,(t>>1&1)*a*255,(t>>2&1)*a*255]},n.ansi256.rgb=function(e){if(e>=232){const t=10*(e-232)+8;return[t,t,t]}let t;e-=16;return[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},n.rgb.hex=function(e){const t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},n.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let a=t[0];3===t[0].length&&(a=a.split("").map((e=>e+e)).join(""));const i=parseInt(a,16);return[i>>16&255,i>>8&255,255&i]},n.rgb.hcg=function(e){const t=e[0]/255,a=e[1]/255,i=e[2]/255,o=Math.max(Math.max(t,a),i),n=Math.min(Math.min(t,a),i),r=o-n;let E,_;return E=r<1?n/(1-r):0,_=r<=0?0:o===t?(a-i)/r%6:o===a?2+(i-t)/r:4+(t-a)/r,_/=6,_%=1,[360*_,100*r,100*E]},n.hsl.hcg=function(e){const t=e[1]/100,a=e[2]/100,i=a<.5?2*t*a:2*t*(1-a);let o=0;return i<1&&(o=(a-.5*i)/(1-i)),[e[0],100*i,100*o]},n.hsv.hcg=function(e){const t=e[1]/100,a=e[2]/100,i=t*a;let o=0;return i<1&&(o=(a-i)/(1-i)),[e[0],100*i,100*o]},n.hcg.rgb=function(e){const t=e[0]/360,a=e[1]/100,i=e[2]/100;if(0===a)return[255*i,255*i,255*i];const o=[0,0,0],n=t%1*6,r=n%1,E=1-r;let _=0;switch(Math.floor(n)){case 0:o[0]=1,o[1]=r,o[2]=0;break;case 1:o[0]=E,o[1]=1,o[2]=0;break;case 2:o[0]=0,o[1]=1,o[2]=r;break;case 3:o[0]=0,o[1]=E,o[2]=1;break;case 4:o[0]=r,o[1]=0,o[2]=1;break;default:o[0]=1,o[1]=0,o[2]=E}return _=(1-a)*i,[255*(a*o[0]+_),255*(a*o[1]+_),255*(a*o[2]+_)]},n.hcg.hsv=function(e){const t=e[1]/100,a=t+e[2]/100*(1-t);let i=0;return a>0&&(i=t/a),[e[0],100*i,100*a]},n.hcg.hsl=function(e){const t=e[1]/100,a=e[2]/100*(1-t)+.5*t;let i=0;return a>0&&a<.5?i=t/(2*a):a>=.5&&a<1&&(i=t/(2*(1-a))),[e[0],100*i,100*a]},n.hcg.hwb=function(e){const t=e[1]/100,a=t+e[2]/100*(1-t);return[e[0],100*(a-t),100*(1-a)]},n.hwb.hcg=function(e){const t=e[1]/100,a=1-e[2]/100,i=a-t;let o=0;return i<1&&(o=(a-i)/(1-i)),[e[0],100*i,100*o]},n.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},n.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},n.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},n.gray.hsl=function(e){return[0,0,e[0]]},n.gray.hsv=n.gray.hsl,n.gray.hwb=function(e){return[0,100,e[0]]},n.gray.cmyk=function(e){return[0,0,0,e[0]]},n.gray.lab=function(e){return[e[0],0,0]},n.gray.hex=function(e){const t=255&Math.round(e[0]/100*255),a=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(a.length)+a},n.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},10734:(e,t,a)=>{const i=a(15659),o=a(8507),n={};Object.keys(i).forEach((e=>{n[e]={},Object.defineProperty(n[e],"channels",{value:i[e].channels}),Object.defineProperty(n[e],"labels",{value:i[e].labels});const t=o(e);Object.keys(t).forEach((a=>{const i=t[a];n[e][a]=(function(e){const t=function(...t){const a=t[0];if(null==a)return a;a.length>1&&(t=a);const i=e(t);if("object"==typeof i)for(let e=i.length,t=0;t1&&(t=a),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t})(i)}))})),e.exports=n},8507:(e,t,a)=>{const i=a(15659);function o(e){const t=(function(){const e={},t=Object.keys(i);for(let a=t.length,i=0;i{"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},28854:(e,t,a)=>{var i=a(8156),o=a(19872),n=Object.hasOwnProperty,r=Object.create(null);for(var E in i)n.call(i,E)&&(r[i[E]]=E);var _=e.exports={to:{},get:{}};function T(e,t,a){return Math.min(Math.max(t,e),a)}function s(e){var t=Math.round(e).toString(16).toUpperCase();return t.length<2?"0"+t:t}_.get=function(e){var t,a;switch(e.substring(0,3).toLowerCase()){case"hsl":t=_.get.hsl(e),a="hsl";break;case"hwb":t=_.get.hwb(e),a="hwb";break;default:t=_.get.rgb(e),a="rgb"}return t?{model:a,value:t}:null},_.get.rgb=function(e){if(!e)return null;var t,a,o,r=[0,0,0,1];if(t=e.match(/^#([a-f0-9]{6})([a-f0-9]{2})?$/i)){for(o=t[2],t=t[1],a=0;a<3;a++){var E=2*a;r[a]=parseInt(t.slice(E,E+2),16)}o&&(r[3]=parseInt(o,16)/255)}else if(t=e.match(/^#([a-f0-9]{3,4})$/i)){for(o=(t=t[1])[3],a=0;a<3;a++)r[a]=parseInt(t[a]+t[a],16);o&&(r[3]=parseInt(o+o,16)/255)}else if(t=e.match(/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)){for(a=0;a<3;a++)r[a]=parseInt(t[a+1],0);t[4]&&(t[5]?r[3]=.01*parseFloat(t[4]):r[3]=parseFloat(t[4]))}else{if(!(t=e.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)))return(t=e.match(/^(\w+)$/))?"transparent"===t[1]?[0,0,0,0]:n.call(i,t[1])?((r=i[t[1]])[3]=1,r):null:null;for(a=0;a<3;a++)r[a]=Math.round(2.55*parseFloat(t[a+1]));t[4]&&(t[5]?r[3]=.01*parseFloat(t[4]):r[3]=parseFloat(t[4]))}for(a=0;a<3;a++)r[a]=T(r[a],0,255);return r[3]=T(r[3],0,1),r},_.get.hsl=function(e){if(!e)return null;var t=e.match(/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(t){var a=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,T(parseFloat(t[2]),0,100),T(parseFloat(t[3]),0,100),T(isNaN(a)?1:a,0,1)]}return null},_.get.hwb=function(e){if(!e)return null;var t=e.match(/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(t){var a=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,T(parseFloat(t[2]),0,100),T(parseFloat(t[3]),0,100),T(isNaN(a)?1:a,0,1)]}return null},_.to.hex=function(){var e=o(arguments);return"#"+s(e[0])+s(e[1])+s(e[2])+(e[3]<1?s(Math.round(255*e[3])):"")},_.to.rgb=function(){var e=o(arguments);return e.length<4||1===e[3]?"rgb("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+")":"rgba("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+", "+e[3]+")"},_.to.rgb.percent=function(){var e=o(arguments),t=Math.round(e[0]/255*100),a=Math.round(e[1]/255*100),i=Math.round(e[2]/255*100);return e.length<4||1===e[3]?"rgb("+t+"%, "+a+"%, "+i+"%)":"rgba("+t+"%, "+a+"%, "+i+"%, "+e[3]+")"},_.to.hsl=function(){var e=o(arguments);return e.length<4||1===e[3]?"hsl("+e[0]+", "+e[1]+"%, "+e[2]+"%)":"hsla("+e[0]+", "+e[1]+"%, "+e[2]+"%, "+e[3]+")"},_.to.hwb=function(){var e=o(arguments),t="";return e.length>=4&&1!==e[3]&&(t=", "+e[3]),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+t+")"},_.to.keyword=function(e){return r[e.slice(0,3)]}},2520:(e,t,a)=>{const i=a(28854),o=a(10734),n=["keyword","gray","hex"],r={};for(const e of Object.keys(o))r[[...o[e].labels].sort().join("")]=e;const E={};function _(e,t){if(!(this instanceof _))return new _(e,t);if(t&&t in n&&(t=null),t&&!(t in o))throw new Error("Unknown model: "+t);let a,T;if(null==e)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(e instanceof _)this.model=e.model,this.color=[...e.color],this.valpha=e.valpha;else if("string"==typeof e){const t=i.get(e);if(null===t)throw new Error("Unable to parse color from string: "+e);this.model=t.model,T=o[this.model].channels,this.color=t.value.slice(0,T),this.valpha="number"==typeof t.value[T]?t.value[T]:1}else if(e.length>0){this.model=t||"rgb",T=o[this.model].channels;const a=Array.prototype.slice.call(e,0,T);this.color=l(a,T),this.valpha="number"==typeof e[T]?e[T]:1}else if("number"==typeof e)this.model="rgb",this.color=[e>>16&255,e>>8&255,255&e],this.valpha=1;else{this.valpha=1;const t=Object.keys(e);"alpha"in e&&(t.splice(t.indexOf("alpha"),1),this.valpha="number"==typeof e.alpha?e.alpha:0);const i=t.sort().join("");if(!(i in r))throw new Error("Unable to parse color from object: "+JSON.stringify(e));this.model=r[i];const{labels:n}=o[this.model],E=[];for(a=0;a(e%360+360)%360)),saturationl:s("hsl",1,S(100)),lightness:s("hsl",2,S(100)),saturationv:s("hsv",1,S(100)),value:s("hsv",2,S(100)),chroma:s("hcg",1,S(100)),gray:s("hcg",2,S(100)),white:s("hwb",1,S(100)),wblack:s("hwb",2,S(100)),cyan:s("cmyk",0,S(100)),magenta:s("cmyk",1,S(100)),yellow:s("cmyk",2,S(100)),black:s("cmyk",3,S(100)),x:s("xyz",0,S(95.047)),y:s("xyz",1,S(100)),z:s("xyz",2,S(108.833)),l:s("lab",0,S(100)),a:s("lab",1),b:s("lab",2),keyword(e){return void 0!==e?new _(e):o[this.model].keyword(this.color)},hex(e){return void 0!==e?new _(e):i.to.hex(this.rgb().round().color)},hexa(e){if(void 0!==e)return new _(e);const t=this.rgb().round().color;let a=Math.round(255*this.valpha).toString(16).toUpperCase();return 1===a.length&&(a="0"+a),i.to.hex(t)+a},rgbNumber(){const e=this.rgb().color;return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},luminosity(){const e=this.rgb().color,t=[];for(const[a,i]of e.entries()){const e=i/255;t[a]=e<=.04045?e/12.92:((e+.055)/1.055)**2.4}return.2126*t[0]+.7152*t[1]+.0722*t[2]},contrast(e){const t=this.luminosity(),a=e.luminosity();return t>a?(t+.05)/(a+.05):(a+.05)/(t+.05)},level(e){const t=this.contrast(e);return t>=7?"AAA":t>=4.5?"AA":""},isDark(){const e=this.rgb().color;return(2126*e[0]+7152*e[1]+722*e[2])/1e4<128},isLight(){return!this.isDark()},negate(){const e=this.rgb();for(let t=0;t<3;t++)e.color[t]=255-e.color[t];return e},lighten(e){const t=this.hsl();return t.color[2]+=t.color[2]*e,t},darken(e){const t=this.hsl();return t.color[2]-=t.color[2]*e,t},saturate(e){const t=this.hsl();return t.color[1]+=t.color[1]*e,t},desaturate(e){const t=this.hsl();return t.color[1]-=t.color[1]*e,t},whiten(e){const t=this.hwb();return t.color[1]+=t.color[1]*e,t},blacken(e){const t=this.hwb();return t.color[2]+=t.color[2]*e,t},grayscale(){const e=this.rgb().color,t=.3*e[0]+.59*e[1]+.11*e[2];return _.rgb(t,t,t)},fade(e){return this.alpha(this.valpha-this.valpha*e)},opaquer(e){return this.alpha(this.valpha+this.valpha*e)},rotate(e){const t=this.hsl();let a=t.color[0];return a=(a+e)%360,a=a<0?360+a:a,t.color[0]=a,t},mix(e,t){if(!e||!e.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof e);const a=e.rgb(),i=this.rgb(),o=void 0===t?.5:t,n=2*o-1,r=a.alpha()-i.alpha(),E=((n*r==-1?n:(n+r)/(1+n*r))+1)/2,T=1-E;return _.rgb(E*a.red()+T*i.red(),E*a.green()+T*i.green(),E*a.blue()+T*i.blue(),a.alpha()*o+i.alpha()*(1-o))}};for(const e of Object.keys(o)){if(n.includes(e))continue;const{channels:t}=o[e];_.prototype[e]=function(...t){return this.model===e?new _(this):t.length>0?new _(t,e):new _([...(a=o[this.model][e].raw(this.color),Array.isArray(a)?a:[a]),this.valpha],e);var a},_[e]=function(...a){let i=a[0];return"number"==typeof i&&(i=l(a,t)),new _(i,e)}}function T(e){return function(t){return(function(e,t){return Number(e.toFixed(t))})(t,e)}}function s(e,t,a){e=Array.isArray(e)?e:[e];for(const i of e)(E[i]||(E[i]=[]))[t]=a;return e=e[0],function(i){let o;return void 0!==i?(a&&(i=a(i)),o=this[e](),o.color[t]=i,o):(o=this[e]().color[t],a&&(o=a(o)),o)}}function S(e){return function(t){return Math.max(0,Math.min(e,t))}}function l(e,t){for(let a=0;a{e.exports=function e(t){return Object.freeze(t),Object.getOwnPropertyNames(t).forEach((function(a){!t.hasOwnProperty(a)||null===t[a]||"object"!=typeof t[a]&&"function"!=typeof t[a]||Object.isFrozen(t[a])||e(t[a])})),t}},30041:(e,t,a)=>{"use strict";var i=a(30655),o=a(58068),n=a(69675),r=a(75795);e.exports=function(e,t,a){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new n("`obj` must be an object or a function`");if("string"!=typeof t&&"symbol"!=typeof t)throw new n("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new n("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new n("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new n("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new n("`loose`, if provided, must be a boolean");var E=arguments.length>3?arguments[3]:null,_=arguments.length>4?arguments[4]:null,T=arguments.length>5?arguments[5]:null,s=arguments.length>6&&arguments[6],S=!!r&&r(e,t);if(i)i(e,t,{configurable:null===T&&S?S.configurable:!T,enumerable:null===E&&S?S.enumerable:!E,value:a,writable:null===_&&S?S.writable:!_});else{if(!s&&(E||_||T))throw new o("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[t]=a}}},30655:(e,t,a)=>{"use strict";var i=a(70453)("%Object.defineProperty%",!0)||!1;if(i)try{i({},"a",{value:1})}catch(e){i=!1}e.exports=i},41237:e=>{"use strict";e.exports=EvalError},69383:e=>{"use strict";e.exports=Error},79290:e=>{"use strict";e.exports=RangeError},79538:e=>{"use strict";e.exports=ReferenceError},58068:e=>{"use strict";e.exports=SyntaxError},69675:e=>{"use strict";e.exports=TypeError},35345:e=>{"use strict";e.exports=URIError},30228:e=>{"use strict";var t=Object.prototype.hasOwnProperty,a="~";function i(){}function o(e,t,a){this.fn=e,this.context=t,this.once=a||!1}function n(e,t,i,n,r){if("function"!=typeof i)throw new TypeError("The listener must be a function");var E=new o(i,n||e,r),_=a?a+t:t;return e._events[_]?e._events[_].fn?e._events[_]=[e._events[_],E]:e._events[_].push(E):(e._events[_]=E,e._eventsCount++),e}function r(e,t){0==--e._eventsCount?e._events=new i:delete e._events[t]}function E(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(a=!1)),E.prototype.eventNames=function(){var e,i,o=[];if(0===this._eventsCount)return o;for(i in e=this._events)t.call(e,i)&&o.push(a?i.slice(1):i);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},E.prototype.listeners=function(e){var t=a?a+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var o=0,n=i.length,r=new Array(n);o{"use strict";t.A=function(e){var t={};for(var a in e)e.hasOwnProperty(a)&&o(a)&&(t[a]=e[a]);return t};var a={onCopy:!0,onCut:!0,onPaste:!0,onLoad:!0,onError:!0,onWheel:!0,onScroll:!0,onCompositionEnd:!0,onCompositionStart:!0,onCompositionUpdate:!0,onKeyDown:!0,onKeyPress:!0,onKeyUp:!0,onFocus:!0,onBlur:!0,onChange:!0,onInput:!0,onSubmit:!0,onClick:!0,onContextMenu:!0,onDoubleClick:!0,onDrag:!0,onDragEnd:!0,onDragEnter:!0,onDragExit:!0,onDragLeave:!0,onDragOver:!0,onDragStart:!0,onDrop:!0,onMouseDown:!0,onMouseEnter:!0,onMouseLeave:!0,onMouseMove:!0,onMouseOut:!0,onMouseOver:!0,onMouseUp:!0,onSelect:!0,onTouchCancel:!0,onTouchEnd:!0,onTouchMove:!0,onTouchStart:!0,onAnimationStart:!0,onAnimationEnd:!0,onAnimationIteration:!0,onTransitionEnd:!0},i={abbr:"abbr",accept:"accept",acceptCharset:"accept-charset",accessKey:"accesskey",action:"action",allowFullScreen:"allowfullscreen",allowTransparency:"allowtransparency",alt:"alt",async:"async",autoComplete:"autocomplete",autoFocus:"autofocus",autoPlay:"autoplay",cellPadding:"cellpadding",cellSpacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",cite:"cite",class:"class",className:"class",cols:"cols",colSpan:"colspan",command:"command",content:"content",contentEditable:"contenteditable",contextMenu:"contextmenu",controls:"controls",coords:"coords",crossOrigin:"crossorigin",data:"data",dateTime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",dropzone:"dropzone",encType:"enctype",for:"for",form:"form",formAction:"formaction",formEncType:"formenctype",formMethod:"formmethod",formNoValidate:"formnovalidate",formTarget:"formtarget",frameBorder:"frameBorder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hrefLang:"hreflang",htmlFor:"for",httpEquiv:"http-equiv",icon:"icon",id:"id",inputMode:"inputmode",isMap:"ismap",itemId:"itemid",itemProp:"itemprop",itemRef:"itemref",itemScope:"itemscope",itemType:"itemtype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",manifest:"manifest",max:"max",maxLength:"maxlength",media:"media",mediaGroup:"mediagroup",method:"method",min:"min",minLength:"minlength",multiple:"multiple",muted:"muted",name:"name",noValidate:"novalidate",open:"open",optimum:"optimum",pattern:"pattern",ping:"ping",placeholder:"placeholder",poster:"poster",preload:"preload",radioGroup:"radiogroup",readOnly:"readonly",rel:"rel",required:"required",role:"role",rows:"rows",rowSpan:"rowspan",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",sortable:"sortable",span:"span",spellCheck:"spellcheck",src:"src",srcDoc:"srcdoc",srcSet:"srcset",start:"start",step:"step",style:"style",tabIndex:"tabindex",target:"target",title:"title",translate:"translate",type:"type",typeMustMatch:"typemustmatch",useMap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"};function o(e){return a[e]||i[e]||/^(data|aria)-/.test(e)}},89353:e=>{"use strict";var t=Object.prototype.toString,a=Math.max,i=function(e,t){for(var a=[],i=0;i{"use strict";var i=a(89353);e.exports=Function.prototype.bind||i},70453:(e,t,a)=>{"use strict";var i,o=a(69383),n=a(41237),r=a(79290),E=a(79538),_=a(58068),T=a(69675),s=a(35345),S=Function,l=function(e){try{return S('"use strict"; return ('+e+").constructor;")()}catch(e){}},I=Object.getOwnPropertyDescriptor;if(I)try{I({},"")}catch(e){I=null}var A=function(){throw new T},u=I?(function(){try{return A}catch(e){try{return I(arguments,"callee").get}catch(e){return A}}})():A,d=a(64039)(),O=a(80024)(),c=Object.getPrototypeOf||(O?function(e){return e.__proto__}:null),N={},R="undefined"!=typeof Uint8Array&&c?c(Uint8Array):i,m={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?i:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?i:ArrayBuffer,"%ArrayIteratorPrototype%":d&&c?c([][Symbol.iterator]()):i,"%AsyncFromSyncIteratorPrototype%":i,"%AsyncFunction%":N,"%AsyncGenerator%":N,"%AsyncGeneratorFunction%":N,"%AsyncIteratorPrototype%":N,"%Atomics%":"undefined"==typeof Atomics?i:Atomics,"%BigInt%":"undefined"==typeof BigInt?i:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?i:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?i:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?i:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":o,"%eval%":eval,"%EvalError%":n,"%Float32Array%":"undefined"==typeof Float32Array?i:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?i:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?i:FinalizationRegistry,"%Function%":S,"%GeneratorFunction%":N,"%Int8Array%":"undefined"==typeof Int8Array?i:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?i:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?i:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":d&&c?c(c([][Symbol.iterator]())):i,"%JSON%":"object"==typeof JSON?JSON:i,"%Map%":"undefined"==typeof Map?i:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&d&&c?c((new Map)[Symbol.iterator]()):i,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?i:Promise,"%Proxy%":"undefined"==typeof Proxy?i:Proxy,"%RangeError%":r,"%ReferenceError%":E,"%Reflect%":"undefined"==typeof Reflect?i:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?i:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&d&&c?c((new Set)[Symbol.iterator]()):i,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?i:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":d&&c?c(""[Symbol.iterator]()):i,"%Symbol%":d?Symbol:i,"%SyntaxError%":_,"%ThrowTypeError%":u,"%TypedArray%":R,"%TypeError%":T,"%Uint8Array%":"undefined"==typeof Uint8Array?i:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?i:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?i:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?i:Uint32Array,"%URIError%":s,"%WeakMap%":"undefined"==typeof WeakMap?i:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?i:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?i:WeakSet};if(c)try{null.error}catch(e){var L=c(c(e));m["%Error.prototype%"]=L}var D=function e(t){var a;if("%AsyncFunction%"===t)a=l("async function () {}");else if("%GeneratorFunction%"===t)a=l("function* () {}");else if("%AsyncGeneratorFunction%"===t)a=l("async function* () {}");else if("%AsyncGenerator%"===t){var i=e("%AsyncGeneratorFunction%");i&&(a=i.prototype)}else if("%AsyncIteratorPrototype%"===t){var o=e("%AsyncGenerator%");o&&c&&(a=c(o.prototype))}return m[t]=a,a},p={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},C=a(66743),h=a(9957),f=C.call(Function.call,Array.prototype.concat),P=C.call(Function.apply,Array.prototype.splice),B=C.call(Function.call,String.prototype.replace),g=C.call(Function.call,String.prototype.slice),v=C.call(Function.call,RegExp.prototype.exec),M=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,W=/\\(\\)?/g,y=function(e,t){var a,i=e;if(h(p,i)&&(i="%"+(a=p[i])[0]+"%"),h(m,i)){var o=m[i];if(o===N&&(o=D(i)),void 0===o&&!t)throw new T("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:a,name:i,value:o}}throw new _("intrinsic "+e+" does not exist!")};e.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new T("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new T('"allowMissing" argument must be a boolean');if(null===v(/^%?[^%]*%?$/,e))throw new _("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var a=(function(e){var t=g(e,0,1),a=g(e,-1);if("%"===t&&"%"!==a)throw new _("invalid intrinsic syntax, expected closing `%`");if("%"===a&&"%"!==t)throw new _("invalid intrinsic syntax, expected opening `%`");var i=[];return B(e,M,(function(e,t,a,o){i[i.length]=a?B(o,W,"$1"):t||e})),i})(e),i=a.length>0?a[0]:"",o=y("%"+i+"%",t),n=o.name,r=o.value,E=!1,s=o.alias;s&&(i=s[0],P(a,f([0,1],s)));for(var S=1,l=!0;S=a.length){var O=I(r,A);r=(l=!!O)&&"get"in O&&!("originalValue"in O.get)?O.get:r[A]}else l=h(r,A),r=r[A];l&&!E&&(m[n]=r)}}return r}},75795:(e,t,a)=>{"use strict";var i=a(70453)("%Object.getOwnPropertyDescriptor%",!0);if(i)try{i([],"length")}catch(e){i=null}e.exports=i},30592:(e,t,a)=>{"use strict";var i=a(30655),o=function(){return!!i};o.hasArrayLengthDefineBug=function(){if(!i)return null;try{return 1!==i([],"length",{value:1}).length}catch(e){return!0}},e.exports=o},80024:e=>{"use strict";var t={__proto__:null,foo:{}},a=Object;e.exports=function(){return{__proto__:t}.foo===t.foo&&!(t instanceof a)}},64039:(e,t,a)=>{"use strict";var i="undefined"!=typeof Symbol&&Symbol,o=a(41333);e.exports=function(){return"function"==typeof i&&("function"==typeof Symbol&&("symbol"==typeof i("foo")&&("symbol"==typeof Symbol("bar")&&o())))}},41333:e=>{"use strict";e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),a=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(a))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var i=Object.getOwnPropertySymbols(e);if(1!==i.length||i[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(e,t);if(42!==o.value||!0!==o.enumerable)return!1}return!0}},9957:(e,t,a)=>{"use strict";var i=Function.prototype.call,o=Object.prototype.hasOwnProperty,n=a(66743);e.exports=n.call(i,o)},39590:e=>{var t=e.exports=function(e,a){if(a||(a=16),void 0===e&&(e=128),e<=0)return"0";for(var i=Math.log(Math.pow(2,e))/Math.log(a),o=2;i===1/0;o*=2)i=Math.log(Math.pow(2,e/o))/Math.log(a)*o;var n=i-Math.floor(i),r="";for(o=0;o=Math.pow(2,e)?t(e,a):r};t.rack=function(e,a,i){var o=function(o){var r=0;do{if(r++>10){if(!i)throw new Error("too many ID collisions, use more bits");e+=i}var E=t(e,a)}while(Object.hasOwnProperty.call(n,E));return n[E]=o,E},n=o.hats={};return o.get=function(e){return o.hats[e]},o.set=function(e,t){return o.hats[e]=t,o},o.bits=e||128,o.base=a||16,o}},39473:e=>{!(function t(a){e.exports=(function(){"use strict";function e(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}return a}function i(t){for(var a=1;ae.length)&&(t=e.length);for(var a=0,i=new Array(t);a=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function m(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var L={exports:{}};!(function(e){var t,a,i,o,n;t=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,a=/^(?=([^\/?#]*))\1([^]*)$/,i=/(?:\/|^)\.(?=\/)/g,o=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,n={buildAbsoluteURL:function(e,t,i){if(i=i||{},e=e.trim(),!(t=t.trim())){if(!i.alwaysNormalize)return e;var o=n.parseURL(e);if(!o)throw new Error("Error trying to parse base URL.");return o.path=n.normalizePath(o.path),n.buildURLFromParts(o)}var r=n.parseURL(t);if(!r)throw new Error("Error trying to parse relative URL.");if(r.scheme)return i.alwaysNormalize?(r.path=n.normalizePath(r.path),n.buildURLFromParts(r)):t;var E=n.parseURL(e);if(!E)throw new Error("Error trying to parse base URL.");if(!E.netLoc&&E.path&&"/"!==E.path[0]){var _=a.exec(E.path);E.netLoc=_[1],E.path=_[2]}E.netLoc&&!E.path&&(E.path="/");var T={scheme:E.scheme,netLoc:r.netLoc,path:null,params:r.params,query:r.query,fragment:r.fragment};if(!r.netLoc&&(T.netLoc=E.netLoc,"/"!==r.path[0]))if(r.path){var s=E.path,S=s.substring(0,s.lastIndexOf("/")+1)+r.path;T.path=n.normalizePath(S)}else T.path=E.path,r.params||(T.params=E.params,r.query||(T.query=E.query));return null===T.path&&(T.path=i.alwaysNormalize?n.normalizePath(r.path):r.path),n.buildURLFromParts(T)},parseURL:function(e){var a=t.exec(e);return a?{scheme:a[1]||"",netLoc:a[2]||"",path:a[3]||"",params:a[4]||"",query:a[5]||"",fragment:a[6]||""}:null},normalizePath:function(e){for(e=e.split("").reverse().join("").replace(i,"");e.length!==(e=e.replace(o,"")).length;);return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}},e.exports=n})(L);var D=L.exports,p=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},C=Number.isSafeInteger||function(e){return"number"==typeof e&&Math.abs(e)<=h},h=Number.MAX_SAFE_INTEGER||9007199254740991,f=(function(e){return e.MEDIA_ATTACHING="hlsMediaAttaching",e.MEDIA_ATTACHED="hlsMediaAttached",e.MEDIA_DETACHING="hlsMediaDetaching",e.MEDIA_DETACHED="hlsMediaDetached",e.BUFFER_RESET="hlsBufferReset",e.BUFFER_CODECS="hlsBufferCodecs",e.BUFFER_CREATED="hlsBufferCreated",e.BUFFER_APPENDING="hlsBufferAppending",e.BUFFER_APPENDED="hlsBufferAppended",e.BUFFER_EOS="hlsBufferEos",e.BUFFER_FLUSHING="hlsBufferFlushing",e.BUFFER_FLUSHED="hlsBufferFlushed",e.MANIFEST_LOADING="hlsManifestLoading",e.MANIFEST_LOADED="hlsManifestLoaded",e.MANIFEST_PARSED="hlsManifestParsed",e.LEVEL_SWITCHING="hlsLevelSwitching",e.LEVEL_SWITCHED="hlsLevelSwitched",e.LEVEL_LOADING="hlsLevelLoading",e.LEVEL_LOADED="hlsLevelLoaded",e.LEVEL_UPDATED="hlsLevelUpdated",e.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",e.LEVELS_UPDATED="hlsLevelsUpdated",e.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",e.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",e.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",e.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",e.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",e.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",e.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",e.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",e.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",e.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",e.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",e.CUES_PARSED="hlsCuesParsed",e.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",e.INIT_PTS_FOUND="hlsInitPtsFound",e.FRAG_LOADING="hlsFragLoading",e.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",e.FRAG_LOADED="hlsFragLoaded",e.FRAG_DECRYPTED="hlsFragDecrypted",e.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",e.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",e.FRAG_PARSING_METADATA="hlsFragParsingMetadata",e.FRAG_PARSED="hlsFragParsed",e.FRAG_BUFFERED="hlsFragBuffered",e.FRAG_CHANGED="hlsFragChanged",e.FPS_DROP="hlsFpsDrop",e.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",e.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",e.ERROR="hlsError",e.DESTROYING="hlsDestroying",e.KEY_LOADING="hlsKeyLoading",e.KEY_LOADED="hlsKeyLoaded",e.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",e.BACK_BUFFER_REACHED="hlsBackBufferReached",e.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",e})({}),P=(function(e){return e.NETWORK_ERROR="networkError",e.MEDIA_ERROR="mediaError",e.KEY_SYSTEM_ERROR="keySystemError",e.MUX_ERROR="muxError",e.OTHER_ERROR="otherError",e})({}),B=(function(e){return e.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",e.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",e.KEY_SYSTEM_NO_SESSION="keySystemNoSession",e.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",e.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",e.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",e.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",e.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",e.MANIFEST_LOAD_ERROR="manifestLoadError",e.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",e.MANIFEST_PARSING_ERROR="manifestParsingError",e.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",e.LEVEL_EMPTY_ERROR="levelEmptyError",e.LEVEL_LOAD_ERROR="levelLoadError",e.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",e.LEVEL_PARSING_ERROR="levelParsingError",e.LEVEL_SWITCH_ERROR="levelSwitchError",e.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",e.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",e.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",e.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",e.FRAG_LOAD_ERROR="fragLoadError",e.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",e.FRAG_DECRYPT_ERROR="fragDecryptError",e.FRAG_PARSING_ERROR="fragParsingError",e.FRAG_GAP="fragGap",e.REMUX_ALLOC_ERROR="remuxAllocError",e.KEY_LOAD_ERROR="keyLoadError",e.KEY_LOAD_TIMEOUT="keyLoadTimeOut",e.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",e.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",e.BUFFER_APPEND_ERROR="bufferAppendError",e.BUFFER_APPENDING_ERROR="bufferAppendingError",e.BUFFER_STALLED_ERROR="bufferStalledError",e.BUFFER_FULL_ERROR="bufferFullError",e.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",e.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",e.INTERNAL_EXCEPTION="internalException",e.INTERNAL_ABORTED="aborted",e.UNKNOWN="unknown",e})({}),g=function(){},v={trace:g,debug:g,log:g,warn:g,info:g,error:g},M=v;function W(e){var t=self.console[e];return t?t.bind(self.console,"["+e+"] >"):g}function y(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),i=1;iNumber.MAX_SAFE_INTEGER?1/0:t},t.hexadecimalInteger=function(e){if(this[e]){var t=(this[e]||"0x").slice(2);t=(1&t.length?"0":"")+t;for(var a=new Uint8Array(t.length/2),i=0;iNumber.MAX_SAFE_INTEGER?1/0:t},t.decimalFloatingPoint=function(e){return parseFloat(this[e])},t.optionalFloat=function(e,t){var a=this[e];return a?parseFloat(a):t},t.enumeratedString=function(e){return this[e]},t.bool=function(e){return"YES"===this[e]},t.decimalResolution=function(e){var t=G.exec(this[e]);if(null!==t)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}},e.parseAttrList=function(e){var t,a={},i='"';for(k.lastIndex=0;null!==(t=k.exec(e));){var o=t[2];0===o.indexOf(i)&&o.lastIndexOf(i)===o.length-1&&(o=o.slice(1,-1)),a[t[1].trim()]=o}return a},E(e,[{key:"clientAttrs",get:function(){return Object.keys(this).filter((function(e){return"X-"===e.substring(0,2)}))}}]),e})();function V(e){return"ID"!==e&&"CLASS"!==e&&"START-DATE"!==e&&"DURATION"!==e&&"END-DATE"!==e&&"END-ON-NEXT"!==e}function H(e){return"SCTE35-OUT"===e||"SCTE35-IN"===e}var w=(function(){function e(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){var a=t.attr;for(var i in a)if(Object.prototype.hasOwnProperty.call(e,i)&&e[i]!==a[i]){b.warn('DATERANGE tag attribute: "'+i+'" does not match for tags with ID: "'+e.ID+'"'),this._badValueForSameId=i;break}e=T(new F({}),a,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){var o=new Date(this.attr["END-DATE"]);p(o.getTime())&&(this._endDate=o)}}return E(e,[{key:"id",get:function(){return this.attr.ID}},{key:"class",get:function(){return this.attr.CLASS}},{key:"startDate",get:function(){return this._startDate}},{key:"endDate",get:function(){if(this._endDate)return this._endDate;var e=this.duration;return null!==e?new Date(this._startDate.getTime()+1e3*e):null}},{key:"duration",get:function(){if("DURATION"in this.attr){var e=this.attr.decimalFloatingPoint("DURATION");if(p(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}},{key:"plannedDuration",get:function(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}},{key:"endOnNext",get:function(){return this.attr.bool("END-ON-NEXT")}},{key:"isValid",get:function(){return!!this.id&&!this._badValueForSameId&&p(this.startDate.getTime())&&(null===this.duration||this.duration>=0)&&(!this.endOnNext||!!this.class)}}]),e})(),Y=function(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}},z={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},K=(function(){function e(e){var t;this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams=((t={})[z.AUDIO]=null,t[z.VIDEO]=null,t[z.AUDIOVIDEO]=null,t),this.baseurl=e}return e.prototype.setByteRange=function(e,t){var a,i=e.split("@",2);a=1===i.length?(null==t?void 0:t.byteRangeEndOffset)||0:parseInt(i[1]),this._byteRange=[a,parseInt(i[0])+a]},E(e,[{key:"byteRange",get:function(){return this._byteRange?this._byteRange:[]}},{key:"byteRangeStartOffset",get:function(){return this.byteRange[0]}},{key:"byteRangeEndOffset",get:function(){return this.byteRange[1]}},{key:"url",get:function(){return!this._url&&this.baseurl&&this.relurl&&(this._url=D.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""},set:function(e){this._url=e}}]),e})(),j=(function(e){function t(t,a){var i;return(i=e.call(this,a)||this)._decryptdata=null,i.rawProgramDateTime=null,i.programDateTime=null,i.tagList=[],i.duration=0,i.sn=0,i.levelkeys=void 0,i.type=void 0,i.loader=null,i.keyLoader=null,i.level=-1,i.cc=0,i.startPTS=void 0,i.endPTS=void 0,i.startDTS=void 0,i.endDTS=void 0,i.start=0,i.deltaPTS=void 0,i.maxStartPTS=void 0,i.minEndPTS=void 0,i.stats=new Y,i.data=void 0,i.bitrateTest=!1,i.title=null,i.initSegment=null,i.endList=void 0,i.gap=void 0,i.urlId=0,i.type=t,i}s(t,e);var a=t.prototype;return a.setKeyFormat=function(e){if(this.levelkeys){var t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}},a.abortRequests=function(){var e,t;null==(e=this.loader)||e.abort(),null==(t=this.keyLoader)||t.abort()},a.setElementaryStreamInfo=function(e,t,a,i,o,n){void 0===n&&(n=!1);var r=this.elementaryStreams,E=r[e];E?(E.startPTS=Math.min(E.startPTS,t),E.endPTS=Math.max(E.endPTS,a),E.startDTS=Math.min(E.startDTS,i),E.endDTS=Math.max(E.endDTS,o)):r[e]={startPTS:t,endPTS:a,startDTS:i,endDTS:o,partial:n}},a.clearElementaryStreamInfo=function(){var e=this.elementaryStreams;e[z.AUDIO]=null,e[z.VIDEO]=null,e[z.AUDIOVIDEO]=null},E(t,[{key:"decryptdata",get:function(){if(!this.levelkeys&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){var e=this.levelkeys.identity;if(e)this._decryptdata=e.getDecryptData(this.sn);else{var t=Object.keys(this.levelkeys);if(1===t.length)return this._decryptdata=this.levelkeys[t[0]].getDecryptData(this.sn)}}return this._decryptdata}},{key:"end",get:function(){return this.start+this.duration}},{key:"endProgramDateTime",get:function(){if(null===this.programDateTime)return null;if(!p(this.programDateTime))return null;var e=p(this.duration)?this.duration:0;return this.programDateTime+1e3*e}},{key:"encrypted",get:function(){var e;if(null!=(e=this._decryptdata)&&e.encrypted)return!0;if(this.levelkeys){var t=Object.keys(this.levelkeys),a=t.length;if(a>1||1===a&&this.levelkeys[t[0]].encrypted)return!0}return!1}}]),t})(K),x=(function(e){function t(t,a,i,o,n){var r;(r=e.call(this,i)||this).fragOffset=0,r.duration=0,r.gap=!1,r.independent=!1,r.relurl=void 0,r.fragment=void 0,r.index=void 0,r.stats=new Y,r.duration=t.decimalFloatingPoint("DURATION"),r.gap=t.bool("GAP"),r.independent=t.bool("INDEPENDENT"),r.relurl=t.enumeratedString("URI"),r.fragment=a,r.index=o;var E=t.enumeratedString("BYTERANGE");return E&&r.setByteRange(E,n),n&&(r.fragOffset=n.fragOffset+n.duration),r}return s(t,e),E(t,[{key:"start",get:function(){return this.fragment.start+this.fragOffset}},{key:"end",get:function(){return this.start+this.duration}},{key:"loaded",get:function(){var e=this.elementaryStreams;return!!(e.audio||e.video||e.audiovideo)}}]),t})(K),Q=10,X=(function(){function e(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}return e.prototype.reloaded=function(e){if(!e)return this.advanced=!0,void(this.updated=!0);var t=this.lastPartSn-e.lastPartSn,a=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!a||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||0===t&&a>0,this.updated||this.advanced?this.misses=Math.floor(.6*e.misses):this.misses=e.misses+1,this.availabilityDelay=e.availabilityDelay},E(e,[{key:"hasProgramDateTime",get:function(){return!!this.fragments.length&&p(this.fragments[this.fragments.length-1].programDateTime)}},{key:"levelTargetDuration",get:function(){return this.averagetargetduration||this.targetduration||Q}},{key:"drift",get:function(){var e=this.driftEndTime-this.driftStartTime;return e>0?1e3*(this.driftEnd-this.driftStart)/e:1}},{key:"edge",get:function(){return this.partEnd||this.fragmentEnd}},{key:"partEnd",get:function(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}},{key:"fragmentEnd",get:function(){var e;return null!=(e=this.fragments)&&e.length?this.fragments[this.fragments.length-1].end:0}},{key:"age",get:function(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}},{key:"lastPartIndex",get:function(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].index:-1}},{key:"lastPartSn",get:function(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}}]),e})();function $(e){return Uint8Array.from(atob(e),(function(e){return e.charCodeAt(0)}))}function q(e){var t=ee(e).subarray(0,16),a=new Uint8Array(16);return a.set(t,16-t.length),a}function J(e){var t=function(e,t,a){var i=e[t];e[t]=e[a],e[a]=i};t(e,0,3),t(e,1,2),t(e,4,5),t(e,6,7)}function Z(e){var t=e.split(":"),a=null;if("data"===t[0]&&2===t.length){var i=t[1].split(";"),o=i[i.length-1].split(",");if(2===o.length){var n="base64"===o[0],r=o[1];n?(i.splice(-1,1),a=$(r)):a=q(r)}}return a}function ee(e){return Uint8Array.from(unescape(encodeURIComponent(e)),(function(e){return e.charCodeAt(0)}))}var te="undefined"!=typeof self?self:void 0,ae={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},ie={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function oe(e){switch(e){case ie.FAIRPLAY:return ae.FAIRPLAY;case ie.PLAYREADY:return ae.PLAYREADY;case ie.WIDEVINE:return ae.WIDEVINE;case ie.CLEARKEY:return ae.CLEARKEY}}var ne={WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function re(e){if(e===ne.WIDEVINE)return ae.WIDEVINE}function Ee(e){switch(e){case ae.FAIRPLAY:return ie.FAIRPLAY;case ae.PLAYREADY:return ie.PLAYREADY;case ae.WIDEVINE:return ie.WIDEVINE;case ae.CLEARKEY:return ie.CLEARKEY}}function _e(e){var t=e.drmSystems,a=e.widevineLicenseUrl,i=t?[ae.FAIRPLAY,ae.WIDEVINE,ae.PLAYREADY,ae.CLEARKEY].filter((function(e){return!!t[e]})):[];return!i[ae.WIDEVINE]&&a&&i.push(ae.WIDEVINE),i}var Te,se=null!=te&&null!=(Te=te.navigator)&&Te.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;function Se(e,t,a,i){var o;switch(e){case ae.FAIRPLAY:o=["cenc","sinf"];break;case ae.WIDEVINE:case ae.PLAYREADY:o=["cenc"];break;case ae.CLEARKEY:o=["cenc","keyids"];break;default:throw new Error("Unknown key-system: "+e)}return le(o,t,a,i)}function le(e,t,a,i){return[{initDataTypes:e,persistentState:i.persistentState||"optional",distinctiveIdentifier:i.distinctiveIdentifier||"optional",sessionTypes:i.sessionTypes||[i.sessionType||"temporary"],audioCapabilities:t.map((function(e){return{contentType:'audio/mp4; codecs="'+e+'"',robustness:i.audioRobustness||"",encryptionScheme:i.audioEncryptionScheme||null}})),videoCapabilities:a.map((function(e){return{contentType:'video/mp4; codecs="'+e+'"',robustness:i.videoRobustness||"",encryptionScheme:i.videoEncryptionScheme||null}}))}]}function Ie(e,t,a){return Uint8Array.prototype.slice?e.slice(t,a):new Uint8Array(Array.prototype.slice.call(e,t,a))}var Ae,ue=function(e,t){return t+10<=e.length&&73===e[t]&&68===e[t+1]&&51===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128},de=function(e,t){return t+10<=e.length&&51===e[t]&&68===e[t+1]&&73===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128},Oe=function(e,t){for(var a=t,i=0;ue(e,t);)i+=10,i+=ce(e,t+6),de(e,t+10)&&(i+=10),t+=i;if(i>0)return e.subarray(a,a+i)},ce=function(e,t){var a=0;return a=(127&e[t])<<21,a|=(127&e[t+1])<<14,a|=(127&e[t+2])<<7,a|=127&e[t+3]},Ne=function(e,t){return ue(e,t)&&ce(e,t+6)+10<=e.length-t},Re=function(e){for(var t=De(e),a=0;a>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:T+=String.fromCharCode(n);break;case 12:case 13:r=e[s++],T+=String.fromCharCode((31&n)<<6|63&r);break;case 14:r=e[s++],E=e[s++],T+=String.fromCharCode((15&n)<<12|(63&r)<<6|63&E)}}return T};function ge(){if(!navigator.userAgent.includes("PlayStation 4"))return Ae||void 0===self.TextDecoder||(Ae=new self.TextDecoder("utf-8")),Ae}var ve={hexDump:function(e){for(var t="",a=0;a>24,e[t+1]=a>>16&255,e[t+2]=a>>8&255,e[t+3]=255&a}function He(e){for(var t=e.byteLength,a=0;a8&&109===e[a+4]&&111===e[a+5]&&111===e[a+6]&&102===e[a+7])return!0;a=i>1?a+i:t}return!1}function we(e,t){var a=[];if(!t.length)return a;for(var i=e.byteLength,o=0;o1?o+n:i;if(Ue(e.subarray(o+4,o+8))===t[0])if(1===t.length)a.push(e.subarray(o+8,r));else{var E=we(e.subarray(o+8,r),t.slice(1));E.length&&We.apply(a,E)}o=r}return a}function Ye(e){var t=[],a=e[0],i=8,o=Ge(e,i);i+=4;var n=0,r=0;0===a?(n=Ge(e,i),r=Ge(e,i+4),i+=8):(n=ke(e,i),r=ke(e,i+8),i+=16),i+=2;var E=e.length+r,_=be(e,i);i+=2;for(var T=0;T<_;T++){var s=i,S=Ge(e,s);s+=4;var l=2147483647&S;if(1==(2147483648&S)>>>31)return b.warn("SIDX has hierarchical references (not supported)"),null;var I=Ge(e,s);s+=4,t.push({referenceSize:l,subsegmentDuration:I,info:{duration:I/o,start:E,end:E+l-1}}),E+=l,i=s+=4}return{earliestPresentationTime:n,timescale:o,version:a,referencesCount:_,references:t}}function ze(e){for(var t=[],a=we(e,["moov","trak"]),o=0;o12){var s=4;if(3!==T[s++])break;s=je(T,s),s+=2;var S=T[s++];if(128&S&&(s+=2),64&S&&(s+=T[s++]),4!==T[s++])break;s=je(T,s);var l=T[s++];if(64!==l)break;if(o+="."+xe(l),s+=12,5!==T[s++])break;s=je(T,s);var I=T[s++],A=(248&I)>>3;31===A&&(A+=1+((7&I)<<3)+((224&T[s])>>5)),o+="."+A}break;case"hvc1":case"hev1":var u=we(a,["hvcC"])[0],d=u[1],O=["","A","B","C"][d>>6],c=31&d,N=Ge(u,2),R=(32&d)>>5?"H":"L",m=u[12],L=u.subarray(6,12);o+="."+O+c,o+="."+N.toString(16).toUpperCase(),o+="."+R+m;for(var D="",p=L.length;p--;){var C=L[p];(C||D)&&(D="."+C.toString(16).toUpperCase()+D)}o+=D;break;case"dvh1":case"dvhe":var h=we(a,["dvcC"])[0],f=h[2]>>1&127,P=h[2]<<5&32|h[3]>>3&31;o+="."+Qe(f)+"."+Qe(P);break;case"vp09":var B=we(a,["vpcC"])[0],g=B[4],v=B[5],M=B[6]>>4&15;o+="."+Qe(g)+"."+Qe(v)+"."+Qe(M);break;case"av01":var W=we(a,["av1C"])[0],y=W[1]>>>5,U=31&W[1],b=W[2]>>>7?"H":"M",G=(64&W[2])>>6,k=(32&W[2])>>5,F=2===y&&G?k?12:10:G?10:8,V=(16&W[2])>>4,H=(8&W[2])>>3,w=(4&W[2])>>2,Y=3&W[2],z=1,K=1,j=1,x=0;o+="."+y+"."+Qe(U)+b+"."+Qe(F)+"."+V+"."+H+w+Y+"."+Qe(z)+"."+Qe(K)+"."+Qe(j)+"."+x}return{codec:o,encrypted:n}}function je(e,t){for(var a=t+5;128&e[t++]&&t0;o||(i=we(t,["encv"])),i.forEach((function(e){we(o?e.subarray(28):e.subarray(78),["sinf"]).forEach((function(e){var t=$e(e);if(t){var i=t.subarray(8,24);i.some((function(e){return 0!==e}))||(b.log("[eme] Patching keyId in 'enc"+(o?"a":"v")+">sinf>>tenc' box: "+ve.hexDump(i)+" -> "+ve.hexDump(a)),t.set(a,8))}}))}))})),e}function $e(e){var t=we(e,["schm"])[0];if(t){var a=Ue(t.subarray(4,8));if("cbcs"===a||"cenc"===a)return we(e,["schi","tenc"])[0]}return b.error("[eme] missing 'schm' box"),null}function qe(e,t){return we(t,["moof","traf"]).reduce((function(t,a){var i=we(a,["tfdt"])[0],o=i[0],n=we(a,["tfhd"]).reduce((function(t,a){var n=Ge(a,4),r=e[n];if(r){var E=Ge(i,4);if(1===o){if(E===Me)return b.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),t;E*=Me+1,E+=Ge(i,8)}var _=E/(r.timescale||9e4);if(p(_)&&(null===t||_>1&63;return 39===a||40===a}return 6==(31&t)}function rt(e,t,a,i){var o=Et(e),n=0;n+=t;for(var r=0,E=0,_=0;n=o.length)break;r+=_=o[n++]}while(255===_);E=0;do{if(n>=o.length)break;E+=_=o[n++]}while(255===_);var T=o.length-n,s=n;if(ET){b.error("Malformed SEI payload. "+E+" is too small, only "+T+" bytes left to parse.");break}if(4===r){if(181===o[s++]){var S=be(o,s);if(s+=2,49===S){var l=Ge(o,s);if(s+=4,1195456820===l){var I=o[s++];if(3===I){var A=o[s++],u=64&A,d=u?2+3*(31&A):0,O=new Uint8Array(d);if(u){O[0]=A;for(var c=1;c16){for(var N=[],R=0;R<16;R++){var m=o[s++].toString(16);N.push(1==m.length?"0"+m:m),3!==R&&5!==R&&7!==R&&9!==R||N.push("-")}for(var L=E-16,D=new Uint8Array(L),p=0;p1?t-1:0),i=1;i>24&255,E[1]=n>>16&255,E[2]=n>>8&255,E[3]=255&n,E.set(e,4),r=0,n=8;r0?(n=new Uint8Array(4),t.length>0&&new DataView(n.buffer).setUint32(0,t.length,!1)):n=new Uint8Array;var _=new Uint8Array(4);return a&&a.byteLength>0&&new DataView(_.buffer).setUint32(0,a.byteLength,!1),Tt([112,115,115,104],new Uint8Array([i,0,0,0]),e,n,o,_,a||new Uint8Array)}function St(e){if(!(e instanceof ArrayBuffer)||e.byteLength<32)return null;var t={version:0,systemId:"",kids:null,data:null},a=new DataView(e),i=a.getUint32(0);if(e.byteLength!==i&&i>44)return null;if(1886614376!==a.getUint32(4))return null;if(t.version=a.getUint32(8)>>>24,t.version>1)return null;t.systemId=ve.hexDump(new Uint8Array(e,12,16));var o=a.getUint32(28);if(0===t.version){if(i-32=22&&(this.keyId=i.subarray(i.length-22,i.length-6));break;case ie.PLAYREADY:var o=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=st(o,null,i);var n=new Uint16Array(i.buffer,i.byteOffset,i.byteLength/2),r=String.fromCharCode.apply(null,Array.from(n)),E=r.substring(r.indexOf("<"),r.length),_=(new DOMParser).parseFromString(E,"text/xml").getElementsByTagName("KID")[0];if(_){var T=_.childNodes[0]?_.childNodes[0].nodeValue:_.getAttribute("VALUE");if(T){var s=$(T).subarray(0,16);J(s),this.keyId=s}}break;default:var S=i.subarray(0,16);if(16!==S.length){var l=new Uint8Array(16);l.set(S,16-S.length),S=l}this.keyId=S}if(!this.keyId||16!==this.keyId.byteLength){var I=lt[this.uri];if(!I){var A=Object.keys(lt).length%Number.MAX_SAFE_INTEGER;I=new Uint8Array(16),new DataView(I.buffer,12,4).setUint32(0,A),lt[this.uri]=I}this.keyId=I}return this},e})();function At(e){for(var t=new Uint8Array(16),a=12;a<16;a++)t[a]=e>>8*(15-a)&255;return t}var ut=/\{\$([a-zA-Z0-9-_]+)\}/g;function dt(e){return ut.test(e)}function Ot(e,t,a){if(null!==e.variableList||e.hasVariableRefs)for(var i=a.length;i--;){var o=a[i],n=t[o];n&&(t[o]=ct(e,n))}}function ct(e,t){if(null!==e.variableList||e.hasVariableRefs){var a=e.variableList;return t.replace(ut,(function(t){var i=t.substring(2,t.length-1),o=null==a?void 0:a[i];return void 0===o?(e.playlistParsingError||(e.playlistParsingError=new Error('Missing preceding EXT-X-DEFINE tag for Variable Reference: "'+i+'"')),t):o}))}return t}function Nt(e,t,a){var i,o,n=e.variableList;if(n||(e.variableList=n={}),"QUERYPARAM"in t){i=t.QUERYPARAM;try{var r=new self.URL(a).searchParams;if(!r.has(i))throw new Error('"'+i+'" does not match any query parameter in URI: "'+a+'"');o=r.get(i)}catch(t){e.playlistParsingError||(e.playlistParsingError=new Error("EXT-X-DEFINE QUERYPARAM: "+t.message))}}else i=t.NAME,o=t.VALUE;i in n?e.playlistParsingError||(e.playlistParsingError=new Error('EXT-X-DEFINE duplicate Variable Name declarations: "'+i+'"')):n[i]=o||""}function Rt(e,t,a){var i=t.IMPORT;if(a&&i in a){var o=e.variableList;o||(e.variableList=o={}),o[i]=a[i]}else e.playlistParsingError||(e.playlistParsingError=new Error('EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "'+i+'"'))}function mt(e){if(void 0===e&&(e=!0),"undefined"!=typeof self)return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}var Lt={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function Dt(e,t){var a=Lt[t];return!!a&&!!a[e.slice(0,4)]}function pt(e,t,a){return void 0===a&&(a=!0),!e.split(",").some((function(e){return!Ct(e,t,a)}))}function Ct(e,t,a){var i;void 0===a&&(a=!0);var o=mt(a);return null!=(i=null==o?void 0:o.isTypeSupported(ht(e,t)))&&i}function ht(e,t){return t+'/mp4;codecs="'+e+'"'}function ft(e){if(e){var t=e.substring(0,4);return Lt.video[t]}return 2}function Pt(e){return e.split(",").reduce((function(e,t){var a=Lt.video[t];return a?(2*a+e)/(e?3:2):(Lt.audio[t]+e)/(e?2:1)}),0)}var Bt={};function gt(e,t){if(void 0===t&&(t=!0),Bt[e])return Bt[e];for(var a={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[e],i=0;i2){var a=t.shift()+".";return a+=parseInt(t.shift()).toString(16),a+=("000"+parseInt(t.shift()).toString(16)).slice(-4)}return e}var Ut=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,bt=/#EXT-X-MEDIA:(.*)/g,Gt=/^#EXT(?:INF|-X-TARGETDURATION):/m,kt=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[\S ]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),Ft=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),Vt=(function(){function e(){}return e.findGroup=function(e,t){for(var a=0;a0&&n.length0&&K.bool("CAN-SKIP-DATERANGES"),s.partHoldBack=K.optionalFloat("PART-HOLD-BACK",0),s.holdBack=K.optionalFloat("HOLD-BACK",0);break;case"PART-INF":var Q=new F(P);s.partTarget=Q.decimalFloatingPoint("PART-TARGET");break;case"PART":var $=s.partList;$||($=s.partList=[]);var q=A>0?$[$.length-1]:void 0,J=A++,Z=new F(P);Ot(s,Z,["BYTERANGE","URI"]);var ee=new x(Z,c,t,J,q);$.push(ee),c.duration+=ee.duration;break;case"PRELOAD-HINT":var te=new F(P);Ot(s,te,["URI"]),s.preloadHint=te;break;case"RENDITION-REPORT":var ae=new F(P);Ot(s,ae,["URI"]),s.renditionReports=s.renditionReports||[],s.renditionReports.push(ae);break;default:b.warn("line parsed but not handled: "+r)}}}O&&!O.relurl?(S.pop(),u-=O.duration,s.partList&&(s.fragmentHint=O)):s.partList&&(jt(c,O),c.cc=d,s.fragmentHint=c,_&&Qt(c,_,s));var ie=S.length,oe=S[0],ne=S[ie-1];if((u+=s.skippedSegments*s.targetduration)>0&&ie&&ne){s.averagetargetduration=u/ie;var re=ne.sn;s.endSN="initSegment"!==re?re:0,s.live||(ne.endList=!0),oe&&(s.startCC=oe.cc)}else s.endSN=0,s.startCC=0;return s.fragmentHint&&(u+=s.fragmentHint.duration),s.totalduration=u,s.endCC=d,N>0&&Kt(S,N),s},e})();function Ht(e,t,a){var i,o,n=new F(e);Ot(a,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);var r=null!=(i=n.METHOD)?i:"",E=n.URI,_=n.hexadecimalInteger("IV"),T=n.KEYFORMATVERSIONS,s=null!=(o=n.KEYFORMAT)?o:"identity";E&&n.IV&&!_&&b.error("Invalid IV: "+n.IV);var S=E?Vt.resolve(E,t):"",l=(T||"1").split("/").map(Number).filter(Number.isFinite);return new It(r,S,s,l,_)}function wt(e){var t=new F(e).decimalFloatingPoint("TIME-OFFSET");return p(t)?t:null}function Yt(e,t){var a=(e||"").split(/[ ,]+/).filter((function(e){return e}));["video","audio","text"].forEach((function(e){var i=a.filter((function(t){return Dt(t,e)}));i.length&&(t[e+"Codec"]=i.join(","),a=a.filter((function(e){return-1===i.indexOf(e)})))})),t.unknownCodecs=a}function zt(e,t,a){var i=t[a];i&&(e[a]=i)}function Kt(e,t){for(var a=e[t],i=t;i--;){var o=e[i];if(!o)return;o.programDateTime=a.programDateTime-1e3*o.duration,a=o}}function jt(e,t){e.rawProgramDateTime?e.programDateTime=Date.parse(e.rawProgramDateTime):null!=t&&t.programDateTime&&(e.programDateTime=t.endProgramDateTime),p(e.programDateTime)||(e.programDateTime=null,e.rawProgramDateTime=null)}function xt(e,t,a,i){e.relurl=t.URI,t.BYTERANGE&&e.setByteRange(t.BYTERANGE),e.level=a,e.sn="initSegment",i&&(e.levelkeys=i),e.initSegment=null}function Qt(e,t,a){e.levelkeys=t;var i=a.encryptedFragments;i.length&&i[i.length-1].levelkeys===t||!Object.keys(t).some((function(e){return t[e].isCommonEncryption}))||i.push(e)}var Xt={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},$t={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function qt(e){switch(e.type){case Xt.AUDIO_TRACK:return $t.AUDIO;case Xt.SUBTITLE_TRACK:return $t.SUBTITLE;default:return $t.MAIN}}function Jt(e,t){var a=e.url;return void 0!==a&&0!==a.indexOf("data:")||(a=t.url),a}var Zt=(function(){function e(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}var t=e.prototype;return t.startLoad=function(e){},t.stopLoad=function(){this.destroyInternalLoaders()},t.registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.LEVEL_LOADING,this.onLevelLoading,this),e.on(f.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(f.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)},t.unregisterListeners=function(){var e=this.hls;e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.LEVEL_LOADING,this.onLevelLoading,this),e.off(f.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(f.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)},t.createInternalLoader=function(e){var t=this.hls.config,a=t.pLoader,i=t.loader,o=new(a||i)(t);return this.loaders[e.type]=o,o},t.getInternalLoader=function(e){return this.loaders[e.type]},t.resetInternalLoader=function(e){this.loaders[e]&&delete this.loaders[e]},t.destroyInternalLoaders=function(){for(var e in this.loaders){var t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}},t.destroy=function(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()},t.onManifestLoading=function(e,t){var a=t.url;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:Xt.MANIFEST,url:a,deliveryDirectives:null})},t.onLevelLoading=function(e,t){var a=t.id,i=t.level,o=t.pathwayId,n=t.url,r=t.deliveryDirectives;this.load({id:a,level:i,pathwayId:o,responseType:"text",type:Xt.LEVEL,url:n,deliveryDirectives:r})},t.onAudioTrackLoading=function(e,t){var a=t.id,i=t.groupId,o=t.url,n=t.deliveryDirectives;this.load({id:a,groupId:i,level:null,responseType:"text",type:Xt.AUDIO_TRACK,url:o,deliveryDirectives:n})},t.onSubtitleTrackLoading=function(e,t){var a=t.id,i=t.groupId,o=t.url,n=t.deliveryDirectives;this.load({id:a,groupId:i,level:null,responseType:"text",type:Xt.SUBTITLE_TRACK,url:o,deliveryDirectives:n})},t.load=function(e){var t,a,i,o=this,n=this.hls.config,r=this.getInternalLoader(e);if(r){var E=r.context;if(E&&E.url===e.url&&E.level===e.level)return void b.trace("[playlist-loader]: playlist request ongoing");b.log("[playlist-loader]: aborting previous loader for type: "+e.type),r.abort()}if(a=e.type===Xt.MANIFEST?n.manifestLoadPolicy.default:T({},n.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),r=this.createInternalLoader(e),p(null==(t=e.deliveryDirectives)?void 0:t.part)&&(e.type===Xt.LEVEL&&null!==e.level?i=this.hls.levels[e.level].details:e.type===Xt.AUDIO_TRACK&&null!==e.id?i=this.hls.audioTracks[e.id].details:e.type===Xt.SUBTITLE_TRACK&&null!==e.id&&(i=this.hls.subtitleTracks[e.id].details),i)){var _=i.partTarget,s=i.targetduration;if(_&&s){var S=1e3*Math.max(3*_,.8*s);a=T({},a,{maxTimeToFirstByteMs:Math.min(S,a.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(S,a.maxTimeToFirstByteMs)})}}var l=a.errorRetry||a.timeoutRetry||{},I={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:l.maxNumRetry||0,retryDelay:l.retryDelayMs||0,maxRetryDelay:l.maxRetryDelayMs||0},A={onSuccess:function(e,t,a,i){var n=o.getInternalLoader(a);o.resetInternalLoader(a.type);var r=e.data;0===r.indexOf("#EXTM3U")?(t.parsing.start=performance.now(),Vt.isMediaPlaylist(r)?o.handleTrackOrLevelPlaylist(e,t,a,i||null,n):o.handleMasterPlaylist(e,t,a,i)):o.handleManifestParsingError(e,a,new Error("no EXTM3U delimiter"),i||null,t)},onError:function(e,t,a,i){o.handleNetworkError(t,a,!1,e,i)},onTimeout:function(e,t,a){o.handleNetworkError(t,a,!0,void 0,e)}};r.load(e,I,A)},t.handleMasterPlaylist=function(e,t,a,i){var o=this.hls,n=e.data,r=Jt(e,a),E=Vt.parseMasterPlaylist(n,r);if(E.playlistParsingError)this.handleManifestParsingError(e,a,E.playlistParsingError,i,t);else{var _=E.contentSteering,T=E.levels,s=E.sessionData,S=E.sessionKeys,l=E.startTimeOffset,I=E.variableList;this.variableList=I;var A=Vt.parseMasterPlaylistMedia(n,r,E),u=A.AUDIO,d=void 0===u?[]:u,O=A.SUBTITLES,c=A["CLOSED-CAPTIONS"];d.length&&(d.some((function(e){return!e.url}))||!T[0].audioCodec||T[0].attrs.AUDIO||(b.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),d.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new F({}),bitrate:0,url:""}))),o.trigger(f.MANIFEST_LOADED,{levels:T,audioTracks:d,subtitles:O,captions:c,contentSteering:_,url:r,stats:t,networkDetails:i,sessionData:s,sessionKeys:S,startTimeOffset:l,variableList:I})}},t.handleTrackOrLevelPlaylist=function(e,t,a,i,o){var n=this.hls,r=a.id,E=a.level,_=a.type,T=Jt(e,a),s=0,S=p(E)?E:p(r)?r:0,l=qt(a),I=Vt.parseLevelPlaylist(e.data,T,S,l,s,this.variableList);if(_===Xt.MANIFEST){var A={attrs:new F({}),bitrate:0,details:I,name:"",url:T};n.trigger(f.MANIFEST_LOADED,{levels:[A],audioTracks:[],url:T,stats:t,networkDetails:i,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),a.levelDetails=I,this.handlePlaylistLoaded(I,e,t,a,i,o)},t.handleManifestParsingError=function(e,t,a,i,o){this.hls.trigger(f.ERROR,{type:P.NETWORK_ERROR,details:B.MANIFEST_PARSING_ERROR,fatal:t.type===Xt.MANIFEST,url:e.url,err:a,error:a,reason:a.message,response:e,context:t,networkDetails:i,stats:o})},t.handleNetworkError=function(e,t,a,o,n){void 0===a&&(a=!1);var r="A network "+(a?"timeout":"error"+(o?" (status "+o.code+")":""))+" occurred while loading "+e.type;e.type===Xt.LEVEL?r+=": "+e.level+" id: "+e.id:e.type!==Xt.AUDIO_TRACK&&e.type!==Xt.SUBTITLE_TRACK||(r+=" id: "+e.id+' group-id: "'+e.groupId+'"');var E=new Error(r);b.warn("[playlist-loader]: "+r);var _=B.UNKNOWN,T=!1,s=this.getInternalLoader(e);switch(e.type){case Xt.MANIFEST:_=a?B.MANIFEST_LOAD_TIMEOUT:B.MANIFEST_LOAD_ERROR,T=!0;break;case Xt.LEVEL:_=a?B.LEVEL_LOAD_TIMEOUT:B.LEVEL_LOAD_ERROR,T=!1;break;case Xt.AUDIO_TRACK:_=a?B.AUDIO_TRACK_LOAD_TIMEOUT:B.AUDIO_TRACK_LOAD_ERROR,T=!1;break;case Xt.SUBTITLE_TRACK:_=a?B.SUBTITLE_TRACK_LOAD_TIMEOUT:B.SUBTITLE_LOAD_ERROR,T=!1}s&&this.resetInternalLoader(e.type);var S={type:P.NETWORK_ERROR,details:_,fatal:T,url:e.url,loader:s,context:e,error:E,networkDetails:t,stats:n};if(o){var l=(null==t?void 0:t.url)||e.url;S.response=i({url:l,data:void 0},o)}this.hls.trigger(f.ERROR,S)},t.handlePlaylistLoaded=function(e,t,a,i,o,n){var r=this.hls,E=i.type,_=i.level,T=i.id,s=i.groupId,S=i.deliveryDirectives,l=Jt(t,i),I=qt(i),A="number"==typeof i.level&&I===$t.MAIN?_:void 0;if(e.fragments.length){e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));var u=e.playlistParsingError;if(u)r.trigger(f.ERROR,{type:P.NETWORK_ERROR,details:B.LEVEL_PARSING_ERROR,fatal:!1,url:l,error:u,reason:u.message,response:t,context:i,level:A,parent:I,networkDetails:o,stats:a});else switch(e.live&&n&&(n.getCacheAge&&(e.ageHeader=n.getCacheAge()||0),n.getCacheAge&&!isNaN(e.ageHeader)||(e.ageHeader=0)),E){case Xt.MANIFEST:case Xt.LEVEL:r.trigger(f.LEVEL_LOADED,{details:e,level:A||0,id:T||0,stats:a,networkDetails:o,deliveryDirectives:S});break;case Xt.AUDIO_TRACK:r.trigger(f.AUDIO_TRACK_LOADED,{details:e,id:T||0,groupId:s||"",stats:a,networkDetails:o,deliveryDirectives:S});break;case Xt.SUBTITLE_TRACK:r.trigger(f.SUBTITLE_TRACK_LOADED,{details:e,id:T||0,groupId:s||"",stats:a,networkDetails:o,deliveryDirectives:S})}}else{var d=new Error("No Segments found in Playlist");r.trigger(f.ERROR,{type:P.NETWORK_ERROR,details:B.LEVEL_EMPTY_ERROR,fatal:!1,url:l,error:d,reason:d.message,response:t,context:i,level:A,parent:I,networkDetails:o,stats:a})}},e})();function ea(e,t){var a;try{a=new Event("addtrack")}catch(e){(a=document.createEvent("Event")).initEvent("addtrack",!1,!1)}a.track=e,t.dispatchEvent(a)}function ta(e,t){var a=e.mode;if("disabled"===a&&(e.mode="hidden"),e.cues&&!e.cues.getCueById(t.id))try{if(e.addCue(t),!e.cues.getCueById(t.id))throw new Error("addCue is failed for: "+t)}catch(a){b.debug("[texttrack-utils]: "+a);try{var i=new self.TextTrackCue(t.startTime,t.endTime,t.text);i.id=t.id,e.addCue(i)}catch(e){b.debug("[texttrack-utils]: Legacy TextTrackCue fallback failed: "+e)}}"disabled"===a&&(e.mode=a)}function aa(e){var t=e.mode;if("disabled"===t&&(e.mode="hidden"),e.cues)for(var a=e.cues.length;a--;)e.removeCue(e.cues[a]);"disabled"===t&&(e.mode=t)}function ia(e,t,a,i){var o=e.mode;if("disabled"===o&&(e.mode="hidden"),e.cues&&e.cues.length>0)for(var n=na(e.cues,t,a),r=0;re[a].endTime)return-1;for(var i=0,o=a;i<=o;){var n=Math.floor((o+i)/2);if(te[n].startTime&&i-1)for(var n=o,r=e.length;n=t&&E.endTime<=a)i.push(E);else if(E.startTime>a)return i}return i}function ra(e){for(var t=[],a=0;aSa&&(S=Sa),S-s<=0&&(S=s+_a);for(var l=0;lt.startDate&&(!e||t.startDate.05&&this.forwardBufferLength>1){var _=Math.min(2,Math.max(1,n)),T=Math.round(2/(1+Math.exp(-.75*E-this.edgeStalled))*20)/20;e.playbackRate=Math.min(_,Math.max(1,T))}else 1!==e.playbackRate&&0!==e.playbackRate&&(e.playbackRate=1)}}}}},t.estimateLiveEdge=function(){var e=this.levelDetails;return null===e?null:e.edge+e.age},t.computeLatency=function(){var e=this.estimateLiveEdge();return null===e?null:e-this.currentTime},E(e,[{key:"latency",get:function(){return this._latency||0}},{key:"maxLatency",get:function(){var e=this.config,t=this.levelDetails;return void 0!==e.liveMaxLatencyDuration?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}},{key:"targetLatency",get:function(){var e=this.levelDetails;if(null===e)return null;var t=e.holdBack,a=e.partHoldBack,i=e.targetduration,o=this.config,n=o.liveSyncDuration,r=o.liveSyncDurationCount,E=o.lowLatencyMode,_=this.hls.userConfig,T=E&&a||t;(_.liveSyncDuration||_.liveSyncDurationCount||0===T)&&(T=void 0!==n?n:r*i);var s=i,S=1;return T+Math.min(this.stallCount*S,s)}},{key:"liveSyncPosition",get:function(){var e=this.estimateLiveEdge(),t=this.targetLatency,a=this.levelDetails;if(null===e||null===t||null===a)return null;var i=a.edge,o=e-t-this.edgeStalled,n=i-a.totalduration,r=i-(this.config.lowLatencyMode&&a.partTarget||a.targetduration);return Math.min(Math.max(n,o),r)}},{key:"drift",get:function(){var e=this.levelDetails;return null===e?1:e.drift}},{key:"edgeStalled",get:function(){var e=this.levelDetails;if(null===e)return 0;var t=3*(this.config.lowLatencyMode&&e.partTarget||e.targetduration);return Math.max(e.age-t,0)}},{key:"forwardBufferLength",get:function(){var e=this.media,t=this.levelDetails;if(!e||!t)return 0;var a=e.buffered.length;return(a?e.buffered.end(a-1):t.edge)-this.currentTime}}]),e})(),da=["NONE","TYPE-0","TYPE-1",null];function Oa(e){return da.indexOf(e)>-1}var ca=["SDR","PQ","HLG"];function Na(e){return!!e&&ca.indexOf(e)>-1}var Ra={No:"",Yes:"YES",v2:"v2"};function ma(e,t){var a=e.canSkipUntil,i=e.canSkipDateRanges,o=e.endSN;return a&&(void 0!==t?t-o:0)e.sn?(o=a-e.start,i=e):(o=e.start-a,i=t),i.duration!==o&&(i.duration=o)}else t.sn>e.sn?e.cc===t.cc&&e.minEndPTS?t.start=e.start+(e.minEndPTS-e.start):t.start=e.start+e.duration:t.start=Math.max(e.start-t.duration,0)}function ha(e,t,a,i,o,n){i-a<=0&&(b.warn("Fragment should have a positive duration",t),i=a+t.duration,n=o+t.duration);var r=a,E=i,_=t.startPTS,T=t.endPTS;if(p(_)){var s=Math.abs(_-a);p(t.deltaPTS)?t.deltaPTS=Math.max(s,t.deltaPTS):t.deltaPTS=s,r=Math.max(a,_),a=Math.min(a,_),o=Math.min(o,t.startDTS),E=Math.min(i,T),i=Math.max(i,T),n=Math.max(n,t.endDTS)}var S=a-t.start;0!==t.start&&(t.start=a),t.duration=i-t.start,t.startPTS=a,t.maxStartPTS=r,t.startDTS=o,t.endPTS=i,t.minEndPTS=E,t.endDTS=n;var l,I=t.sn;if(!e||Ie.endSN)return 0;var A=I-e.startSN,u=e.fragments;for(u[A]=t,l=A;l>0;l--)Ca(u[l],u[l-1]);for(l=A;l=0;o--){var n=i[o].initSegment;if(n){a=n;break}}e.fragmentHint&&delete e.fragmentHint.endPTS;var r,E=0;if(ga(e,t,(function(e,i){e.relurl&&(E=e.cc-i.cc),p(e.startPTS)&&p(e.endPTS)&&(i.start=i.startPTS=e.startPTS,i.startDTS=e.startDTS,i.maxStartPTS=e.maxStartPTS,i.endPTS=e.endPTS,i.endDTS=e.endDTS,i.minEndPTS=e.minEndPTS,i.duration=e.endPTS-e.startPTS,i.duration&&(r=i),t.PTSKnown=t.alignedSliding=!0),i.elementaryStreams=e.elementaryStreams,i.loader=e.loader,i.stats=e.stats,e.initSegment&&(i.initSegment=e.initSegment,a=e.initSegment)})),a&&(t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments).forEach((function(e){var t;!e||e.initSegment&&e.initSegment.relurl!==(null==(t=a)?void 0:t.relurl)||(e.initSegment=a)})),t.skippedSegments)if(t.deltaUpdateFailed=t.fragments.some((function(e){return!e})),t.deltaUpdateFailed){b.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(var _=t.skippedSegments;_--;)t.fragments.shift();t.startSN=t.fragments[0].sn,t.startCC=t.fragments[0].cc}else t.canSkipDateRanges&&(t.dateRanges=Pa(e.dateRanges,t.dateRanges,t.recentlyRemovedDateranges));var T=t.fragments;if(E){b.warn("discontinuity sliding from playlist, take drift into account");for(var s=0;s=i.length||Ma(t,i[a].start)}function Ma(e,t){if(t){for(var a=e.fragments,i=e.skippedSegments;it){var n=1e3*i[i.length-1].duration;n499)}var za={search:function(e,t){for(var a=0,i=e.length-1,o=null,n=null;a<=i;){var r=t(n=e[o=(a+i)/2|0]);if(r>0)a=o+1;else{if(!(r<0))return n;i=o-1}}return null}};function Ka(e,t,a){if(null===t||!Array.isArray(e)||!e.length||!p(t))return null;if(t<(e[0].programDateTime||0))return null;if(t>=(e[e.length-1].endProgramDateTime||0))return null;a=a||0;for(var i=0;i0&&n<15e-7&&(a+=15e-7)}else 0===a&&0===t[0].start&&(o=t[0]);if(o&&(!e||e.level===o.level)&&0===xa(a,i,o))return o;var r=za.search(t,xa.bind(null,a,i));return!r||r===e&&o?o:r}function xa(e,t,a){if(void 0===e&&(e=0),void 0===t&&(t=0),a.start<=e&&a.start+a.duration>e)return 0;var i=Math.min(t,a.duration+(a.deltaPTS?a.deltaPTS:0));return a.start+a.duration-i<=e?1:a.start-i>e&&a.start?-1:0}function Qa(e,t,a){var i=1e3*Math.min(t,a.duration+(a.deltaPTS?a.deltaPTS:0));return(a.endProgramDateTime||0)-i>e}function Xa(e,t){return za.search(e,(function(e){return e.cct?-1:0}))}var $a={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},qa={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},Ja=(function(){function e(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=b.log.bind(b,"[info]:"),this.warn=b.warn.bind(b,"[warning]:"),this.error=b.error.bind(b,"[error]:"),this.registerListeners()}var t=e.prototype;return t.registerListeners=function(){var e=this.hls;e.on(f.ERROR,this.onError,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.LEVEL_UPDATED,this.onLevelUpdated,this)},t.unregisterListeners=function(){var e=this.hls;e&&(e.off(f.ERROR,this.onError,this),e.off(f.ERROR,this.onErrorOut,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.LEVEL_UPDATED,this.onLevelUpdated,this))},t.destroy=function(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}},t.startLoad=function(e){},t.stopLoad=function(){this.playlistError=0},t.getVariantLevelIndex=function(e){return(null==e?void 0:e.type)===$t.MAIN?e.level:this.hls.loadLevel},t.onManifestLoading=function(){this.playlistError=0,this.penalizedRenditions={}},t.onLevelUpdated=function(){this.playlistError=0},t.onError=function(e,t){var a,i;if(!t.fatal){var o=this.hls,n=t.context;switch(t.details){case B.FRAG_LOAD_ERROR:case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_ERROR:case B.KEY_LOAD_TIMEOUT:return void(t.errorAction=this.getFragRetryOrSwitchAction(t));case B.FRAG_PARSING_ERROR:if(null!=(a=t.frag)&&a.gap)return void(t.errorAction={action:$a.DoNothing,flags:qa.None});case B.FRAG_GAP:case B.FRAG_DECRYPT_ERROR:return t.errorAction=this.getFragRetryOrSwitchAction(t),void(t.errorAction.action=$a.SendAlternateToPenaltyBox);case B.LEVEL_EMPTY_ERROR:case B.LEVEL_PARSING_ERROR:var r,E,_=t.parent===$t.MAIN?t.level:o.loadLevel;return void(t.details===B.LEVEL_EMPTY_ERROR&&null!=(r=t.context)&&null!=(E=r.levelDetails)&&E.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,_):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,_)));case B.LEVEL_LOAD_ERROR:case B.LEVEL_LOAD_TIMEOUT:return void("number"==typeof(null==n?void 0:n.level)&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.level)));case B.AUDIO_TRACK_LOAD_ERROR:case B.AUDIO_TRACK_LOAD_TIMEOUT:case B.SUBTITLE_LOAD_ERROR:case B.SUBTITLE_TRACK_LOAD_TIMEOUT:if(n){var T=o.levels[o.loadLevel];if(T&&(n.type===Xt.AUDIO_TRACK&&T.hasAudioGroup(n.groupId)||n.type===Xt.SUBTITLE_TRACK&&T.hasSubtitleGroup(n.groupId)))return t.errorAction=this.getPlaylistRetryOrSwitchAction(t,o.loadLevel),t.errorAction.action=$a.SendAlternateToPenaltyBox,void(t.errorAction.flags=qa.MoveAllAlternatesMatchingHost)}return;case B.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:var s=o.levels[o.loadLevel],S=null==s?void 0:s.attrs["HDCP-LEVEL"];return void(S?t.errorAction={action:$a.SendAlternateToPenaltyBox,flags:qa.MoveAllAlternatesMatchingHDCP,hdcpLevel:S}:this.keySystemError(t));case B.BUFFER_ADD_CODEC_ERROR:case B.REMUX_ALLOC_ERROR:case B.BUFFER_APPEND_ERROR:return void(t.errorAction=this.getLevelSwitchAction(t,null!=(i=t.level)?i:o.loadLevel));case B.INTERNAL_EXCEPTION:case B.BUFFER_APPENDING_ERROR:case B.BUFFER_FULL_ERROR:case B.LEVEL_SWITCH_ERROR:case B.BUFFER_STALLED_ERROR:case B.BUFFER_SEEK_OVER_HOLE:case B.BUFFER_NUDGE_ON_STALL:return void(t.errorAction={action:$a.DoNothing,flags:qa.None})}t.type===P.KEY_SYSTEM_ERROR&&this.keySystemError(t)}},t.keySystemError=function(e){var t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t)},t.getPlaylistRetryOrSwitchAction=function(e,t){var a=Fa(this.hls.config.playlistLoadPolicy,e),i=this.playlistError++;if(wa(a,i,ka(e),e.response))return{action:$a.RetryRequest,flags:qa.None,retryConfig:a,retryCount:i};var o=this.getLevelSwitchAction(e,t);return a&&(o.retryConfig=a,o.retryCount=i),o},t.getFragRetryOrSwitchAction=function(e){var t=this.hls,a=this.getVariantLevelIndex(e.frag),i=t.levels[a],o=t.config,n=o.fragLoadPolicy,r=o.keyLoadPolicy,E=Fa(e.details.startsWith("key")?r:n,e),_=t.levels.reduce((function(e,t){return e+t.fragmentError}),0);if(i&&(e.details!==B.FRAG_GAP&&i.fragmentError++,wa(E,_,ka(e),e.response)))return{action:$a.RetryRequest,flags:qa.None,retryConfig:E,retryCount:_};var T=this.getLevelSwitchAction(e,a);return E&&(T.retryConfig=E,T.retryCount=_),T},t.getLevelSwitchAction=function(e,t){var a=this.hls;null==t&&(t=a.loadLevel);var i=this.hls.levels[t];if(i){var o,n,r=e.details;i.loadError++,r===B.BUFFER_APPEND_ERROR&&i.fragmentError++;var E=-1,_=a.levels,T=a.loadLevel,s=a.minAutoLevel,S=a.maxAutoLevel;a.autoLevelEnabled||(a.loadLevel=-1);for(var l,I=null==(o=e.frag)?void 0:o.type,A=(I===$t.AUDIO&&r===B.FRAG_PARSING_ERROR||"audio"===e.sourceBufferName&&(r===B.BUFFER_ADD_CODEC_ERROR||r===B.BUFFER_APPEND_ERROR))&&_.some((function(e){var t=e.audioCodec;return i.audioCodec!==t})),u="video"===e.sourceBufferName&&(r===B.BUFFER_ADD_CODEC_ERROR||r===B.BUFFER_APPEND_ERROR)&&_.some((function(e){var t=e.codecSet,a=e.audioCodec;return i.codecSet!==t&&i.audioCodec===a})),d=null!=(n=e.context)?n:{},O=d.type,c=d.groupId,N=function(){var t=(R+T)%_.length;if(t!==T&&t>=s&&t<=S&&0===_[t].loadError){var a,o,n=_[t];if(r===B.FRAG_GAP&&e.frag){var l=_[t].details;if(l){var d=ja(e.frag,l.fragments,e.frag.start);if(null!=d&&d.gap)return 0}}else{if(O===Xt.AUDIO_TRACK&&n.hasAudioGroup(c)||O===Xt.SUBTITLE_TRACK&&n.hasSubtitleGroup(c))return 0;if(I===$t.AUDIO&&null!=(a=i.audioGroups)&&a.some((function(e){return n.hasAudioGroup(e)}))||I===$t.SUBTITLE&&null!=(o=i.subtitleGroups)&&o.some((function(e){return n.hasSubtitleGroup(e)}))||A&&i.audioCodec===n.audioCodec||!A&&i.audioCodec!==n.audioCodec||u&&i.codecSet===n.codecSet)return 0}return E=t,1}},R=_.length;R--&&(0===(l=N())||1!==l););if(E>-1&&a.loadLevel!==E)return e.levelRetry=!0,this.playlistError=0,{action:$a.SendAlternateToPenaltyBox,flags:qa.None,nextAutoLevel:E}}return{action:$a.SendAlternateToPenaltyBox,flags:qa.MoveAllAlternatesMatchingHost}},t.onErrorOut=function(e,t){var a;switch(null==(a=t.errorAction)?void 0:a.action){case $a.DoNothing:break;case $a.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),t.errorAction.resolved||t.details===B.FRAG_GAP?/MediaSource readyState: ended/.test(t.error.message)&&(this.warn('MediaSource ended after "'+t.sourceBufferName+'" sourceBuffer append error. Attempting to recover from media error.'),this.hls.recoverMediaError()):t.fatal=!0}t.fatal&&this.hls.stopLoad()},t.sendAlternateToPenaltyBox=function(e){var t=this.hls,a=e.errorAction;if(a){var i=a.flags,o=a.hdcpLevel,n=a.nextAutoLevel;switch(i){case qa.None:this.switchLevel(e,n);break;case qa.MoveAllAlternatesMatchingHDCP:o&&(t.maxHdcpLevel=da[da.indexOf(o)-1],a.resolved=!0),this.warn('Restricting playback to HDCP-LEVEL of "'+t.maxHdcpLevel+'" or lower')}a.resolved||this.switchLevel(e,n)}},t.switchLevel=function(e,t){void 0!==t&&e.errorAction&&(this.warn("switching to level "+t+" after "+e.details),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)},e})(),Za=(function(){function e(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=b.log.bind(b,t+":"),this.warn=b.warn.bind(b,t+":"),this.hls=e}var t=e.prototype;return t.destroy=function(){this.clearTimer(),this.hls=this.log=this.warn=null},t.clearTimer=function(){-1!==this.timer&&(self.clearTimeout(this.timer),this.timer=-1)},t.startLoad=function(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()},t.stopLoad=function(){this.canLoad=!1,this.clearTimer()},t.switchParams=function(e,t){var a=null==t?void 0:t.renditionReports;if(a){for(var i=-1,o=0;o=0&&s>t.partTarget&&(T+=1)}return new La(_,T>=0?T:void 0,Ra.No)}}},t.loadPlaylist=function(e){-1===this.requestScheduled&&(this.requestScheduled=self.performance.now())},t.shouldLoadPlaylist=function(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)},t.shouldReloadPlaylist=function(e){return-1===this.timer&&-1===this.requestScheduled&&this.shouldLoadPlaylist(e)},t.playlistLoaded=function(e,t,a){var i=this,o=t.details,n=t.stats,r=self.performance.now(),E=n.loading.first?Math.max(0,r-n.loading.first):0;if(o.advancedDateTime=Date.now()-E,o.live||null!=a&&a.live){if(o.reloaded(a),a&&this.log("live playlist "+e+" "+(o.advanced?"REFRESHED "+o.lastPartSn+"-"+o.lastPartIndex:o.updated?"UPDATED":"MISSED")),a&&o.fragments.length>0&&fa(a,o),!this.canLoad||!o.live)return;var _,T=void 0,s=void 0;if(o.canBlockReload&&o.endSN&&o.advanced){var S=this.hls.config.lowLatencyMode,l=o.lastPartSn,I=o.endSN,A=o.lastPartIndex,u=l===I;-1!==A?(T=u?I+1:l,s=u?S?0:A:A+1):T=I+1;var d=o.age,O=d+o.ageHeader,c=Math.min(O-o.partTarget,1.5*o.targetduration);if(c>0){if(a&&c>a.tuneInGoal)this.warn("CDN Tune-in goal increased from: "+a.tuneInGoal+" to: "+c+" with playlist age: "+o.age),c=0;else{var N=Math.floor(c/o.targetduration);T+=N,void 0!==s&&(s+=Math.round(c%o.targetduration/o.partTarget)),this.log("CDN Tune-in age: "+o.ageHeader+"s last advanced "+d.toFixed(2)+"s goal: "+c+" skip sn "+N+" to part "+s)}o.tuneInGoal=c}if(_=this.getDeliveryDirectives(o,t.deliveryDirectives,T,s),S||!u)return void this.loadPlaylist(_)}else(o.canBlockReload||o.canSkipUntil)&&(_=this.getDeliveryDirectives(o,t.deliveryDirectives,T,s));var R=this.hls.mainForwardBufferInfo,m=R?R.end-R.len:0,L=Wa(o,1e3*(o.edge-m));o.updated&&r>this.requestScheduled+L&&(this.requestScheduled=n.loading.start),void 0!==T&&o.canBlockReload?this.requestScheduled=n.loading.first+L-(1e3*o.partTarget||1e3):-1===this.requestScheduled||this.requestScheduled+L=T.maxNumRetry)return!1;if(i&&null!=(S=e.context)&&S.deliveryDirectives)this.warn("Retrying playlist loading "+(_+1)+"/"+T.maxNumRetry+' after "'+a+'" without delivery-directives'),this.loadPlaylist();else{var l=Va(T,_);this.timer=self.setTimeout((function(){return t.loadPlaylist()}),l),this.warn("Retrying playlist loading "+(_+1)+"/"+T.maxNumRetry+' after "'+a+'" in '+l+"ms")}e.levelRetry=!0,o.resolved=!0}return s},e})(),ei=(function(){function e(e,t,a){void 0===t&&(t=0),void 0===a&&(a=0),this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=a}var t=e.prototype;return t.sample=function(e,t){var a=Math.pow(this.alpha_,e);this.estimate_=t*(1-a)+a*this.estimate_,this.totalWeight_+=e},t.getTotalWeight=function(){return this.totalWeight_},t.getEstimate=function(){if(this.alpha_){var e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_},e})(),ti=(function(){function e(e,t,a,i){void 0===i&&(i=100),this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=a,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new ei(e),this.fast_=new ei(t),this.defaultTTFB_=i,this.ttfb_=new ei(e)}var t=e.prototype;return t.update=function(e,t){var a=this.slow_,i=this.fast_,o=this.ttfb_;a.halfLife!==e&&(this.slow_=new ei(e,a.getEstimate(),a.getTotalWeight())),i.halfLife!==t&&(this.fast_=new ei(t,i.getEstimate(),i.getTotalWeight())),o.halfLife!==e&&(this.ttfb_=new ei(e,o.getEstimate(),o.getTotalWeight()))},t.sample=function(e,t){var a=(e=Math.max(e,this.minDelayMs_))/1e3,i=8*t/a;this.fast_.sample(a,i),this.slow_.sample(a,i)},t.sampleTTFB=function(e){var t=e/1e3,a=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(a,Math.max(e,5))},t.canEstimate=function(){return this.fast_.getTotalWeight()>=this.minWeight_},t.getEstimate=function(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_},t.getEstimateTTFB=function(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_},t.destroy=function(){},e})(),ai={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},ii={};function oi(e,t,a,i,o,n){var r=e.audioCodec?e.audioGroups:null,E=null==n?void 0:n.audioCodec,_=null==n?void 0:n.channels,T=_?parseInt(_):E?1/0:2,s=null;if(null!=r&&r.length)try{s=1===r.length&&r[0]?t.groups[r[0]].channels:r.reduce((function(e,a){if(a){var i=t.groups[a];if(!i)throw new Error("Audio track group "+a+" not found");Object.keys(i.channels).forEach((function(t){e[t]=(e[t]||0)+i.channels[t]}))}return e}),{2:0})}catch(e){return!0}return void 0!==e.videoCodec&&(e.width>1920&&e.height>1088||e.height>1920&&e.width>1088||e.frameRate>Math.max(i,30)||"SDR"!==e.videoRange&&e.videoRange!==a||e.bitrate>Math.max(o,8e6))||!!s&&p(T)&&Object.keys(s).some((function(e){return parseInt(e)>T}))}function ni(e,t,a){var o=e.videoCodec,n=e.audioCodec;if(!o||!n||!a)return Promise.resolve(ai);var r={width:e.width,height:e.height,bitrate:Math.ceil(Math.max(.9*e.bitrate,e.averageBitrate)),framerate:e.frameRate||30},E=e.videoRange;"SDR"!==E&&(r.transferFunction=E.toLowerCase());var _=o.split(",").map((function(e){return{type:"media-source",video:i(i({},r),{},{contentType:ht(e,"video")})}}));return n&&e.audioGroups&&e.audioGroups.forEach((function(e){var a;e&&(null==(a=t.groups[e])||a.tracks.forEach((function(t){if(t.groupId===e){var a=t.channels||"",i=parseFloat(a);p(i)&&i>2&&_.push.apply(_,n.split(",").map((function(e){return{type:"media-source",audio:{contentType:ht(e,"audio"),channels:""+i}}})))}})))})),Promise.all(_.map((function(e){var t=ri(e);return ii[t]||(ii[t]=a.decodingInfo(e))}))).then((function(e){return{supported:!e.some((function(e){return!e.supported})),configurations:_,decodingInfoResults:e}})).catch((function(e){return{supported:!1,configurations:_,decodingInfoResults:[],error:e}}))}function ri(e){var t=e.audio,a=e.video,i=a||t;if(i){var o=i.contentType.split('"')[1];if(a)return"r"+a.height+"x"+a.width+"f"+Math.ceil(a.framerate)+(a.transferFunction||"sd")+"_"+o+"_"+Math.ceil(a.bitrate/1e5);if(t)return"c"+t.channels+(t.spatialRendering?"s":"n")+"_"+o}return""}function Ei(){if("function"==typeof matchMedia){var e=matchMedia("(dynamic-range: high)"),t=matchMedia("bad query");if(e.media!==t.media)return!0===e.matches}return!1}function _i(e,t){var a=!1,i=[];return e&&(a="SDR"!==e,i=[e]),t&&(i=t.allowedVideoRanges||ca.slice(0),i=(a=void 0!==t.preferHDR?t.preferHDR:Ei())?i.filter((function(e){return"SDR"!==e})):["SDR"]),{preferHDR:a,allowedVideoRanges:i}}function Ti(e,t,a,i,o){for(var n=Object.keys(e),r=null==i?void 0:i.channels,E=null==i?void 0:i.audioCodec,_=r&&2===parseInt(r),T=!0,s=!1,S=1/0,l=1/0,I=1/0,A=0,u=[],d=_i(t,o),O=d.preferHDR,c=d.allowedVideoRanges,N=function(){var t=e[n[R]];T=t.channels[2]>0,S=Math.min(S,t.minHeight),l=Math.min(l,t.minFramerate),I=Math.min(I,t.minBitrate);var a=c.filter((function(e){return t.videoRanges[e]>0}));a.length>0&&(s=!0,u=a)},R=n.length;R--;)N();S=p(S)?S:0,l=p(l)?l:0;var m=Math.max(1080,S),L=Math.max(30,l);return I=p(I)?I:a,a=Math.max(I,a),s||(t=void 0,u=[]),{codecSet:n.reduce((function(t,i){var o=e[i];if(i===t)return t;if(o.minBitrate>a)return si(i,"min bitrate of "+o.minBitrate+" > current estimate of "+a),t;if(!o.hasDefaultAudio)return si(i,"no renditions with default or auto-select sound found"),t;if(E&&i.indexOf(E.substring(0,4))%5!=0)return si(i,'audio codec preference "'+E+'" not found'),t;if(r&&!_){if(!o.channels[r])return si(i,"no renditions with "+r+" channel sound found (channels options: "+Object.keys(o.channels)+")"),t}else if((!E||_)&&T&&0===o.channels[2])return si(i,"no renditions with stereo sound found"),t;return o.minHeight>m?(si(i,"min resolution of "+o.minHeight+" > maximum of "+m),t):o.minFramerate>L?(si(i,"min framerate of "+o.minFramerate+" > maximum of "+L),t):u.some((function(e){return o.videoRanges[e]>0}))?o.maxScore=Pt(t)||o.fragmentError>e[t].fragmentError)?t:(A=o.maxScore,i):(si(i,"no variants with VIDEO-RANGE of "+JSON.stringify(u)+" found"),t)}),void 0),videoRanges:u,preferHDR:O,minFramerate:l,minBitrate:I}}function si(e,t){b.log('[abr] start candidates with "'+e+'" ignored because '+t)}function Si(e){return e.reduce((function(e,t){var a=e.groups[t.groupId];a||(a=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),a.tracks.push(t);var i=t.channels||"2";return a.channels[i]=(a.channels[i]||0)+1,a.hasDefault=a.hasDefault||t.default,a.hasAutoSelect=a.hasAutoSelect||t.autoselect,a.hasDefault&&(e.hasDefaultAudio=!0),a.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e}),{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function li(e,t,a,i){return e.slice(a,i+1).reduce((function(e,a){if(!a.codecSet)return e;var i=a.audioGroups,o=e[a.codecSet];o||(e[a.codecSet]=o={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!i,fragmentError:0}),o.minBitrate=Math.min(o.minBitrate,a.bitrate);var n=Math.min(a.height,a.width);return o.minHeight=Math.min(o.minHeight,n),o.minFramerate=Math.min(o.minFramerate,a.frameRate),o.maxScore=Math.max(o.maxScore,a.score),o.fragmentError+=a.fragmentError,o.videoRanges[a.videoRange]=(o.videoRanges[a.videoRange]||0)+1,i&&i.forEach((function(e){if(e){var a=t.groups[e];o.hasDefaultAudio=o.hasDefaultAudio||t.hasDefaultAudio?a.hasDefault:a.hasAutoSelect||!t.hasDefaultAudio&&!t.hasAutoSelectAudio,Object.keys(a.channels).forEach((function(e){o.channels[e]=(o.channels[e]||0)+a.channels[e]}))}})),e}),{})}function Ii(e,t,a){if("attrs"in e){var i=t.indexOf(e);if(-1!==i)return i}for(var o=0;o1&&(i=Math.max.apply(Math,r));var E=n.videoRange,_=n.frameRate,T=n.codecSet.substring(0,4),s=ci(t,i,(function(t){if(t.videoRange!==E||t.frameRate!==_||t.codecSet.substring(0,4)!==T)return!1;var i=t.audioGroups,n=a.filter((function(e){return!i||-1!==i.indexOf(e.groupId)}));return Ii(e,n,o)>-1}));return s>-1?s:ci(t,i,(function(t){var i=t.audioGroups,n=a.filter((function(e){return!i||-1!==i.indexOf(e.groupId)}));return Ii(e,n,o)>-1}))}function ci(e,t,a){for(var i=t;i;i--)if(a(e[i]))return i;for(var o=t+1;o-1,O=t.getBwEstimate(),c=i.levels,N=c[e.level],R=E.total||Math.max(E.loaded,Math.round(_*N.averageBitrate/8)),m=d?T-u:T;m<1&&d&&(m=Math.min(T,8*E.loaded/O));var L=d?1e3*E.loaded/m:0,D=L?(R-E.loaded)/L:8*R/O+l/1e3;if(!(D<=A)){var C,h=L?8*L:O,P=Number.POSITIVE_INFINITY;for(C=e.level-1;C>s;C--){var B=c[C].maxBitrate;if((P=t.getTimeToLoadFrag(l/1e3,h,_*B,!c[C].details))=D||P>10*_)){i.nextLoadLevel=i.nextAutoLevel=C,d?t.bwEstimator.sample(T-Math.min(l,u),E.loaded):t.bwEstimator.sampleTTFB(T);var g=c[C].maxBitrate;t.getBwEstimate()*t.hls.config.abrBandWidthUpFactor>g&&t.resetEstimator(g),t.clearTimer(),b.warn("[abr] Fragment "+e.sn+(a?" part "+a.index:"")+" of level "+e.level+" is loading too slowly;\n Time to underbuffer: "+A.toFixed(3)+" s\n Estimated load time for current fragment: "+D.toFixed(3)+" s\n Estimated load time for down switch fragment: "+P.toFixed(3)+" s\n TTFB estimate: "+(0|u)+" ms\n Current BW estimate: "+(p(O)?0|O:"Unknown")+" bps\n New BW estimate: "+(0|t.getBwEstimate())+" bps\n Switching to level "+C+" @ "+(0|g)+" bps"),i.trigger(f.FRAG_LOAD_EMERGENCY_ABORTED,{frag:e,part:a,stats:E})}}}}}}},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}var t=e.prototype;return t.resetEstimator=function(e){e&&(b.log("setting initial bwe to "+e),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()},t.initEstimator=function(){var e=this.hls.config;return new ti(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)},t.registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.FRAG_LOADING,this.onFragLoading,this),e.on(f.FRAG_LOADED,this.onFragLoaded,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this),e.on(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(f.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(f.ERROR,this.onError,this)},t.unregisterListeners=function(){var e=this.hls;e&&(e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.FRAG_LOADING,this.onFragLoading,this),e.off(f.FRAG_LOADED,this.onFragLoaded,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this),e.off(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(f.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(f.ERROR,this.onError,this))},t.destroy=function(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null},t.onManifestLoading=function(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()},t.onLevelsUpdated=function(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null},t.onMaxAutoLevelUpdated=function(){this.firstSelection=-1,this.nextAutoLevelKey=""},t.onFragLoading=function(e,t){var a,i=t.frag;this.ignoreFragment(i)||(i.bitrateTest||(this.fragCurrent=i,this.partCurrent=null!=(a=t.part)?a:null),this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100))},t.onLevelSwitching=function(e,t){this.clearTimer()},t.onError=function(e,t){if(!t.fatal)switch(t.details){case B.BUFFER_ADD_CODEC_ERROR:case B.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case B.FRAG_LOAD_TIMEOUT:var a=t.frag,i=this.fragCurrent,o=this.partCurrent;if(a&&i&&a.sn===i.sn&&a.level===i.level){var n=performance.now(),r=o?o.stats:a.stats,E=n-r.loading.start,_=r.loading.first?r.loading.first-r.loading.start:-1;if(r.loaded&&_>-1){var T=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(E-Math.min(T,_),r.loaded)}else this.bwEstimator.sampleTTFB(E)}}},t.getTimeToLoadFrag=function(e,t,a,i){return e+a/t+(i?this.lastLevelLoadSec:0)},t.onLevelLoaded=function(e,t){var a=this.hls.config,i=t.stats.loading,o=i.end-i.start;p(o)&&(this.lastLevelLoadSec=o/1e3),t.details.live?this.bwEstimator.update(a.abrEwmaSlowLive,a.abrEwmaFastLive):this.bwEstimator.update(a.abrEwmaSlowVoD,a.abrEwmaFastVoD)},t.onFragLoaded=function(e,t){var a=t.frag,i=t.part,o=i?i.stats:a.stats;if(a.type===$t.MAIN&&this.bwEstimator.sampleTTFB(o.loading.first-o.loading.start),!this.ignoreFragment(a)){if(this.clearTimer(),a.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){var n=i?i.duration:a.duration,r=this.hls.levels[a.level],E=(r.loaded?r.loaded.bytes:0)+o.loaded,_=(r.loaded?r.loaded.duration:0)+n;r.loaded={bytes:E,duration:_},r.realBitrate=Math.round(8*E/_)}if(a.bitrateTest){var T={stats:o,frag:a,part:i,id:a.type};this.onFragBuffered(f.FRAG_BUFFERED,T),a.bitrateTest=!1}else this.lastLoadedFragLevel=a.level}},t.onFragBuffered=function(e,t){var a=t.frag,i=t.part,o=null!=i&&i.stats.loaded?i.stats:a.stats;if(!o.aborted&&!this.ignoreFragment(a)){var n=o.parsing.end-o.loading.start-Math.min(o.loading.first-o.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(n,o.loaded),o.bwEstimate=this.getBwEstimate(),a.bitrateTest?this.bitrateTestDelay=n/1e3:this.bitrateTestDelay=0}},t.ignoreFragment=function(e){return e.type!==$t.MAIN||"initSegment"===e.sn},t.clearTimer=function(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)},t.getAutoLevelKey=function(){var e;return this.getBwEstimate()+"_"+(null==(e=this.hls.mainForwardBufferInfo)?void 0:e.len)},t.getNextABRAutoLevel=function(){var e=this.fragCurrent,t=this.partCurrent,a=this.hls,i=a.maxAutoLevel,o=a.config,n=a.minAutoLevel,r=a.media,E=t?t.duration:e?e.duration:0,_=r&&0!==r.playbackRate?Math.abs(r.playbackRate):1,T=this.getBwEstimate(),s=a.mainForwardBufferInfo,S=(s?s.len:0)/_,l=o.abrBandWidthFactor,I=o.abrBandWidthUpFactor;if(S){var A=this.findBestLevel(T,n,i,S,0,l,I);if(A>=0)return A}var u=E?Math.min(E,o.maxStarvationDelay):o.maxStarvationDelay;if(!S){var d=this.bitrateTestDelay;d&&(u=(E?Math.min(E,o.maxLoadingDelay):o.maxLoadingDelay)-d,b.info("[abr] bitrate test took "+Math.round(1e3*d)+"ms, set first fragment max fetchDuration to "+Math.round(1e3*u)+" ms"),l=I=1)}var O=this.findBestLevel(T,n,i,S,u,l,I);if(b.info("[abr] "+(S?"rebuffering expected":"buffer is empty")+", optimal quality level "+O),O>-1)return O;var c=a.levels[n],N=a.levels[a.loadLevel];return(null==c?void 0:c.bitrate)<(null==N?void 0:N.bitrate)?n:a.loadLevel},t.getBwEstimate=function(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate},t.findBestLevel=function(e,t,a,i,o,n,r){var E,_=this,T=i+o,s=this.lastLoadedFragLevel,S=-1===s?this.hls.firstLevel:s,l=this.fragCurrent,I=this.partCurrent,A=this.hls,u=A.levels,d=A.allAudioTracks,O=A.loadLevel,c=A.config;if(1===u.length)return 0;var N,R=u[S],m=!(null==R||null==(E=R.details)||!E.live),L=-1===O||-1===s,D="SDR",C=(null==R?void 0:R.frameRate)||0,h=c.audioPreference,f=c.videoPreference,P=this.audioTracksByGroup||(this.audioTracksByGroup=Si(d));if(L){if(-1!==this.firstSelection)return this.firstSelection;var B=Ti(this.codecTiers||(this.codecTiers=li(u,P,t,a)),D,e,h,f),g=B.codecSet,v=B.videoRanges,M=B.minFramerate,W=B.minBitrate,y=B.preferHDR;N=g,D=y?v[v.length-1]:v[0],C=M,e=Math.max(e,W),b.log("[abr] picked start tier "+JSON.stringify(B))}else N=null==R?void 0:R.codecSet,D=null==R?void 0:R.videoRange;for(var U,G=I?I.duration:l?l.duration:0,k=this.bwEstimator.getEstimateTTFB()/1e3,F=[],V=function(){var t,E=u[H],l=H>S;if(!E)return 0;if(c.useMediaCapabilities&&!E.supportedResult&&!E.supportedPromise){var A=navigator.mediaCapabilities;"function"==typeof(null==A?void 0:A.decodingInfo)&&oi(E,P,D,C,e,h)?(E.supportedPromise=ni(E,P,A),E.supportedPromise.then((function(e){E.supportedResult=e;var t=_.hls.levels,a=t.indexOf(E);e.error?b.warn('[abr] MediaCapabilities decodingInfo error: "'+e.error+'" for level '+a+" "+JSON.stringify(e)):e.supported||(b.warn("[abr] Unsupported MediaCapabilities decodingInfo result for level "+a+" "+JSON.stringify(e)),a>-1&&t.length>1&&(b.log("[abr] Removing unsupported level "+a),_.hls.removeLevel(a)))}))):E.supportedResult=ai}if(N&&E.codecSet!==N||D&&E.videoRange!==D||l&&C>E.frameRate||!l&&C>0&&C=2*G&&0===o?u[H].averageBitrate:u[H].maxBitrate,v=_.getTimeToLoadFrag(k,d,g*B,void 0===f);if(d>=g&&(H===s||0===E.loadError&&0===E.fragmentError)&&(v<=k||!p(v)||m&&!_.bitrateTestDelay||v"+H+" adjustedbw("+Math.round(d)+")-bitrate="+Math.round(d-g)+" ttfb:"+k.toFixed(1)+" avgDuration:"+B.toFixed(1)+" maxFetchDuration:"+T.toFixed(1)+" fetchDuration:"+v.toFixed(1)+" firstSelection:"+L+" codecSet:"+N+" videoRange:"+D+" hls.loadLevel:"+O)),L&&(_.firstSelection=H),{v:H}}},H=a;H>=t;H--)if(0!==(U=V())&&U)return U.v;return-1},E(e,[{key:"firstAutoLevel",get:function(){var e=this.hls,t=e.maxAutoLevel,a=e.minAutoLevel,i=this.getBwEstimate(),o=this.hls.config.maxStarvationDelay,n=this.findBestLevel(i,a,t,0,o,1,1);if(n>-1)return n;var r=this.hls.firstLevel,E=Math.min(Math.max(r,a),t);return b.warn("[abr] Could not find best starting auto level. Defaulting to first in playlist "+r+" clamped to "+E),E}},{key:"forcedAutoLevel",get:function(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}},{key:"nextAutoLevel",get:function(){var e=this.forcedAutoLevel,t=this.bwEstimator.canEstimate(),a=this.lastLoadedFragLevel>-1;if(!(-1===e||t&&a&&this.nextAutoLevelKey!==this.getAutoLevelKey()))return e;var i=t&&a?this.getNextABRAutoLevel():this.firstAutoLevel;if(-1!==e){var o=this.hls.levels;if(o.length>Math.max(e,i)&&o[e].loadError<=o[i].loadError)return e}return this._nextAutoLevel=i,this.nextAutoLevelKey=this.getAutoLevelKey(),i},set:function(e){var t=this.hls,a=t.maxAutoLevel,i=t.minAutoLevel,o=Math.min(Math.max(e,i),a);this._nextAutoLevel!==o&&(this.nextAutoLevelKey="",this._nextAutoLevel=o)}}]),e})(),Ri=(function(){function e(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}var t=e.prototype;return t.destroy=function(){this.onHandlerDestroying(),this.onHandlerDestroyed()},t.onHandlerDestroying=function(){this.clearNextTick(),this.clearInterval()},t.onHandlerDestroyed=function(){},t.hasInterval=function(){return!!this._tickInterval},t.hasNextTick=function(){return!!this._tickTimer},t.setInterval=function(e){return!this._tickInterval&&(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)},t.clearInterval=function(){return!!this._tickInterval&&(self.clearInterval(this._tickInterval),this._tickInterval=null,!0)},t.clearNextTick=function(){return!!this._tickTimer&&(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0)},t.tick=function(){this._tickCallCount++,1===this._tickCallCount&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)},t.tickImmediate=function(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)},t.doTick=function(){},e})(),mi={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},Li=(function(){function e(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}var t=e.prototype;return t._registerListeners=function(){var e=this.hls;e.on(f.BUFFER_APPENDED,this.onBufferAppended,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this),e.on(f.FRAG_LOADED,this.onFragLoaded,this)},t._unregisterListeners=function(){var e=this.hls;e.off(f.BUFFER_APPENDED,this.onBufferAppended,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this),e.off(f.FRAG_LOADED,this.onFragLoaded,this)},t.destroy=function(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null},t.getAppendedFrag=function(e,t){var a=this.activePartLists[t];if(a)for(var i=a.length;i--;){var o=a[i];if(!o)break;var n=o.end;if(o.start<=e&&null!==n&&e<=n)return o}return this.getBufferedFrag(e,t)},t.getBufferedFrag=function(e,t){for(var a=this.fragments,i=Object.keys(a),o=i.length;o--;){var n=a[i[o]];if((null==n?void 0:n.body.type)===t&&n.buffered){var r=n.body;if(r.start<=e&&e<=r.end)return r}}return null},t.detectEvictedFragments=function(e,t,a,i){var o=this;this.timeRanges&&(this.timeRanges[e]=t);var n=(null==i?void 0:i.fragment.sn)||-1;Object.keys(this.fragments).forEach((function(i){var r=o.fragments[i];if(r&&!(n>=r.body.sn))if(r.buffered||r.loaded){var E=r.range[e];E&&E.time.some((function(e){var a=!o.isTimeBuffered(e.startPTS,e.endPTS,t);return a&&o.removeFragment(r.body),a}))}else r.body.type===a&&o.removeFragment(r.body)}))},t.detectPartialFragments=function(e){var t=this,a=this.timeRanges,i=e.frag,o=e.part;if(a&&"initSegment"!==i.sn){var n=pi(i),r=this.fragments[n];if(!(!r||r.buffered&&i.gap)){var E=!i.relurl;Object.keys(a).forEach((function(e){var n=i.elementaryStreams[e];if(n){var _=a[e],T=E||!0===n.partial;r.range[e]=t.getBufferedTimes(i,o,T,_)}})),r.loaded=null,Object.keys(r.range).length?(r.buffered=!0,(r.body.endList=i.endList||r.body.endList)&&(this.endListFragments[r.body.type]=r),Di(r)||this.removeParts(i.sn-1,i.type)):this.removeFragment(r.body)}}},t.removeParts=function(e,t){var a=this.activePartLists[t];a&&(this.activePartLists[t]=a.filter((function(t){return t.fragment.sn>=e})))},t.fragBuffered=function(e,t){var a=pi(e),i=this.fragments[a];!i&&t&&(i=this.fragments[a]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),i&&(i.loaded=null,i.buffered=!0)},t.getBufferedTimes=function(e,t,a,i){for(var o={time:[],partial:a},n=e.start,r=e.end,E=e.minEndPTS||r,_=e.maxStartPTS||n,T=0;T=s&&E<=S){o.time.push({startPTS:Math.max(n,i.start(T)),endPTS:Math.min(r,i.end(T))});break}if(ns){var l=Math.max(n,i.start(T)),I=Math.min(r,i.end(T));I>l&&(o.partial=!0,o.time.push({startPTS:l,endPTS:I}))}else if(r<=s)break}return o},t.getPartialFragment=function(e){var t,a,i,o=null,n=0,r=this.bufferPadding,E=this.fragments;return Object.keys(E).forEach((function(_){var T=E[_];T&&Di(T)&&(a=T.body.start-r,i=T.body.end+r,e>=a&&e<=i&&(t=Math.min(e-a,i-e),n<=t&&(o=T.body,n=t)))})),o},t.isEndListAppended=function(e){var t=this.endListFragments[e];return void 0!==t&&(t.buffered||Di(t))},t.getState=function(e){var t=pi(e),a=this.fragments[t];return a?a.buffered?Di(a)?mi.PARTIAL:mi.OK:mi.APPENDING:mi.NOT_LOADED},t.isTimeBuffered=function(e,t,a){for(var i,o,n=0;n=i&&t<=o)return!0;if(t<=i)return!1}return!1},t.onFragLoaded=function(e,t){var a=t.frag,i=t.part;if("initSegment"!==a.sn&&!a.bitrateTest){var o=i?null:t,n=pi(a);this.fragments[n]={body:a,appendedPTS:null,loaded:o,buffered:!1,range:Object.create(null)}}},t.onBufferAppended=function(e,t){var a=this,i=t.frag,o=t.part,n=t.timeRanges;if("initSegment"!==i.sn){var r=i.type;if(o){var E=this.activePartLists[r];E||(this.activePartLists[r]=E=[]),E.push(o)}this.timeRanges=n,Object.keys(n).forEach((function(e){var t=n[e];a.detectEvictedFragments(e,t,r,o)}))}},t.onFragBuffered=function(e,t){this.detectPartialFragments(t)},t.hasFragment=function(e){var t=pi(e);return!!this.fragments[t]},t.hasParts=function(e){var t;return!(null==(t=this.activePartLists[e])||!t.length)},t.removeFragmentsInRange=function(e,t,a,i,o){var n=this;i&&!this.hasGaps||Object.keys(this.fragments).forEach((function(r){var E=n.fragments[r];if(E){var _=E.body;_.type!==a||i&&!_.gap||_.starte&&(E.buffered||o)&&n.removeFragment(_)}}))},t.removeFragment=function(e){var t=pi(e);e.stats.loaded=0,e.clearElementaryStreamInfo();var a=this.activePartLists[e.type];if(a){var i=e.sn;this.activePartLists[e.type]=a.filter((function(e){return e.fragment.sn!==i}))}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]},t.removeAllFragments=function(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1},e})();function Di(e){var t,a,i;return e.buffered&&(e.body.gap||(null==(t=e.range.video)?void 0:t.partial)||(null==(a=e.range.audio)?void 0:a.partial)||(null==(i=e.range.audiovideo)?void 0:i.partial))}function pi(e){return e.type+"_"+e.level+"_"+e.sn}var Ci={length:0,start:function(){return 0},end:function(){return 0}},hi=(function(){function e(){}return e.isBuffered=function(t,a){try{if(t)for(var i=e.getBuffered(t),o=0;o=i.start(o)&&a<=i.end(o))return!0}catch(e){}return!1},e.bufferInfo=function(t,a,i){try{if(t){var o,n=e.getBuffered(t),r=[];for(o=0;or&&(i[n-1].end=e[o].end):i.push(e[o])}else i.push(e[o])}else i=e;for(var E,_=0,T=t,s=t,S=0;S=l&&ta.startCC||e&&e.cc>>8^255&d^99,e[I]=d,t[d]=I;var O=l[I],c=l[O],N=l[c],R=257*l[d]^16843008*d;i[I]=R<<24|R>>>8,o[I]=R<<16|R>>>16,n[I]=R<<8|R>>>24,r[I]=R,R=16843009*N^65537*c^257*O^16843008*I,_[d]=R<<24|R>>>8,T[d]=R<<16|R>>>16,s[d]=R<<8|R>>>24,S[d]=R,I?(I=O^l[l[l[N^O]]],A^=l[l[A]]):I=A=1}},t.expandKey=function(e){for(var t=this.uint8ArrayToUint32Array_(e),a=!0,i=0;ir.end){var s=n>T;(n<_||s)&&(s&&t.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}a&&(this.fragmentTracker.removeFragmentsInRange(n,1/0,this.playlistType,!0),this.lastCurrentTime=n),this.loadedmetadata||r.len||(this.nextLoadPosition=this.startPosition=n),this.tickImmediate()},a.onMediaEnded=function(){this.startPosition=this.lastCurrentTime=0},a.onManifestLoaded=function(e,t){this.startTimeOffset=t.startTimeOffset,this.initPTS=[]},a.onHandlerDestroying=function(){this.hls.off(f.MANIFEST_LOADED,this.onManifestLoaded,this),this.stopLoad(),e.prototype.onHandlerDestroying.call(this),this.hls=null},a.onHandlerDestroyed=function(){this.state=Xi.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,e.prototype.onHandlerDestroyed.call(this)},a.loadFragment=function(e,t,a){this._loadFragForPlayback(e,t,a)},a._loadFragForPlayback=function(e,t,a){var i=this,o=function(t){if(i.fragContextChanged(e))return i.warn("Fragment "+e.sn+(t.part?" p: "+t.part.index:"")+" of level "+e.level+" was dropped during download."),void i.fragmentTracker.removeFragment(e);e.stats.chunkCount++,i._handleFragmentLoadProgress(t)};this._doFragLoad(e,t,a,o).then((function(t){if(t){var a=i.state;i.fragContextChanged(e)?(a===Xi.FRAG_LOADING||!i.fragCurrent&&a===Xi.PARSING)&&(i.fragmentTracker.removeFragment(e),i.state=Xi.IDLE):("payload"in t&&(i.log("Loaded fragment "+e.sn+" of level "+e.level),i.hls.trigger(f.FRAG_LOADED,t)),i._handleFragmentLoadComplete(t))}})).catch((function(t){i.state!==Xi.STOPPED&&i.state!==Xi.ERROR&&(i.warn(t),i.resetFragmentLoading(e))}))},a.clearTrackerIfNeeded=function(e){var t,a=this.fragmentTracker;if(a.getState(e)===mi.APPENDING){var i=e.type,o=this.getFwdBufferInfo(this.mediaBuffer,i),n=Math.max(e.duration,o?o.len:this.config.maxBufferLength);this.reduceMaxBufferLength(n)&&a.removeFragment(e)}else 0===(null==(t=this.mediaBuffer)?void 0:t.buffered.length)?a.removeAllFragments():a.hasParts(e.type)&&(a.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),a.getState(e)===mi.PARTIAL&&a.removeFragment(e))},a.checkLiveUpdate=function(e){if(e.updated&&!e.live){var t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)},a.flushMainBuffer=function(e,t,a){if(void 0===a&&(a=null),e-t){var i={startOffset:e,endOffset:t,type:a};this.hls.trigger(f.BUFFER_FLUSHING,i)}},a._loadInitSegment=function(e,t){var a=this;this._doFragLoad(e,t).then((function(t){if(!t||a.fragContextChanged(e)||!a.levels)throw new Error("init load aborted");return t})).then((function(t){var i=a.hls,o=t.payload,n=e.decryptdata;if(o&&o.byteLength>0&&null!=n&&n.key&&n.iv&&"AES-128"===n.method){var r=self.performance.now();return a.decrypter.decrypt(new Uint8Array(o),n.key.buffer,n.iv.buffer).catch((function(t){throw i.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_DECRYPT_ERROR,fatal:!1,error:t,reason:t.message,frag:e}),t})).then((function(o){var n=self.performance.now();return i.trigger(f.FRAG_DECRYPTED,{frag:e,payload:o,stats:{tstart:r,tdecrypt:n}}),t.payload=o,a.completeInitSegmentLoad(t)}))}return a.completeInitSegmentLoad(t)})).catch((function(t){a.state!==Xi.STOPPED&&a.state!==Xi.ERROR&&(a.warn(t),a.resetFragmentLoading(e))}))},a.completeInitSegmentLoad=function(e){if(!this.levels)throw new Error("init load aborted, missing levels");var t=e.frag.stats;this.state=Xi.IDLE,e.frag.data=new Uint8Array(e.payload),t.parsing.start=t.buffering.start=self.performance.now(),t.parsing.end=t.buffering.end=self.performance.now(),this.tick()},a.fragContextChanged=function(e){var t=this.fragCurrent;return!e||!t||e.sn!==t.sn||e.level!==t.level},a.fragBufferedComplete=function(e,t){var a,i,o,n,r=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log("Buffered "+e.type+" sn: "+e.sn+(t?" part: "+t.index:"")+" of "+(this.playlistType===$t.MAIN?"level":"track")+" "+e.level+" (frag:["+(null!=(a=e.startPTS)?a:NaN).toFixed(3)+"-"+(null!=(i=e.endPTS)?i:NaN).toFixed(3)+"] > buffer:"+(r?Qi.toString(hi.getBuffered(r)):"(detached)")+")"),"initSegment"!==e.sn){var E;if(e.type!==$t.SUBTITLE){var _=e.elementaryStreams;if(!Object.keys(_).some((function(e){return!!_[e]})))return void(this.state=Xi.IDLE)}var T=null==(E=this.levels)?void 0:E[e.level];null!=T&&T.fragmentError&&(this.log("Resetting level fragment error count of "+T.fragmentError+" on frag buffered"),T.fragmentError=0)}this.state=Xi.IDLE,r&&(!this.loadedmetadata&&e.type==$t.MAIN&&r.buffered.length&&(null==(o=this.fragCurrent)?void 0:o.sn)===(null==(n=this.fragPrevious)?void 0:n.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())},a.seekToStartPos=function(){},a._handleFragmentLoadComplete=function(e){var t=this.transmuxer;if(t){var a=e.frag,i=e.part,o=e.partsLoaded,n=!o||0===o.length||o.some((function(e){return!e})),r=new fi(a.level,a.sn,a.stats.chunkCount+1,0,i?i.index:-1,!n);t.flush(r)}},a._handleFragmentLoadProgress=function(e){},a._doFragLoad=function(e,t,a,i){var o,n=this;void 0===a&&(a=null);var r=null==t?void 0:t.details;if(!this.levels||!r)throw new Error("frag load aborted, missing level"+(r?"":" detail")+"s");var E=null;if(!e.encrypted||null!=(o=e.decryptdata)&&o.key?!e.encrypted&&r.encryptedFragments.length&&this.keyLoader.loadClear(e,r.encryptedFragments):(this.log("Loading key for "+e.sn+" of ["+r.startSN+"-"+r.endSN+"], "+("[stream-controller]"===this.logPrefix?"level":"track")+" "+e.level),this.state=Xi.KEY_LOADING,this.fragCurrent=e,E=this.keyLoader.load(e).then((function(e){if(!n.fragContextChanged(e.frag))return n.hls.trigger(f.KEY_LOADED,e),n.state===Xi.KEY_LOADING&&(n.state=Xi.IDLE),e})),this.hls.trigger(f.KEY_LOADING,{frag:e}),null===this.fragCurrent&&(E=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))),a=Math.max(e.start,a||0),this.config.lowLatencyMode&&"initSegment"!==e.sn){var _=r.partList;if(_&&i){a>e.end&&r.fragmentHint&&(e=r.fragmentHint);var T=this.getNextPart(_,e,a);if(T>-1){var s,S=_[T];return this.log("Loading part sn: "+e.sn+" p: "+S.index+" cc: "+e.cc+" of playlist ["+r.startSN+"-"+r.endSN+"] parts [0-"+T+"-"+(_.length-1)+"] "+("[stream-controller]"===this.logPrefix?"level":"track")+": "+e.level+", target: "+parseFloat(a.toFixed(3))),this.nextLoadPosition=S.start+S.duration,this.state=Xi.FRAG_LOADING,s=E?E.then((function(a){return!a||n.fragContextChanged(a.frag)?null:n.doFragPartsLoad(e,S,t,i)})).catch((function(e){return n.handleFragLoadError(e)})):this.doFragPartsLoad(e,S,t,i).catch((function(e){return n.handleFragLoadError(e)})),this.hls.trigger(f.FRAG_LOADING,{frag:e,part:S,targetBufferTime:a}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):s}if(!e.url||this.loadedEndOfParts(_,a))return Promise.resolve(null)}}this.log("Loading fragment "+e.sn+" cc: "+e.cc+" "+(r?"of ["+r.startSN+"-"+r.endSN+"] ":"")+("[stream-controller]"===this.logPrefix?"level":"track")+": "+e.level+", target: "+parseFloat(a.toFixed(3))),p(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=Xi.FRAG_LOADING;var l,I=this.config.progressive;return l=I&&E?E.then((function(t){return!t||n.fragContextChanged(null==t?void 0:t.frag)?null:n.fragmentLoader.load(e,i)})).catch((function(e){return n.handleFragLoadError(e)})):Promise.all([this.fragmentLoader.load(e,I?i:void 0),E]).then((function(e){var t=e[0];return!I&&t&&i&&i(t),t})).catch((function(e){return n.handleFragLoadError(e)})),this.hls.trigger(f.FRAG_LOADING,{frag:e,targetBufferTime:a}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):l},a.doFragPartsLoad=function(e,t,a,i){var o=this;return new Promise((function(n,r){var E,_=[],T=null==(E=a.details)?void 0:E.partList;!(function t(E){o.fragmentLoader.loadPart(e,E,i).then((function(i){_[E.index]=i;var r=i.part;o.hls.trigger(f.FRAG_LOADED,i);var s=Ua(a,e.sn,E.index+1)||ba(T,e.sn,E.index+1);if(!s)return n({frag:e,part:r,partsLoaded:_});t(s)})).catch(r)})(t)}))},a.handleFragLoadError=function(e){if("data"in e){var t=e.data;e.data&&t.details===B.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(f.ERROR,t)}else this.hls.trigger(f.ERROR,{type:P.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null},a._handleTransmuxerFlush=function(e){var t=this.getCurrentContext(e);if(t&&this.state===Xi.PARSING){var a=t.frag,i=t.part,o=t.level,n=self.performance.now();a.stats.parsing.end=n,i&&(i.stats.parsing.end=n),this.updateLevelTiming(a,i,o,e.partial)}else this.fragCurrent||this.state===Xi.STOPPED||this.state===Xi.ERROR||(this.state=Xi.IDLE)},a.getCurrentContext=function(e){var t=this.levels,a=this.fragCurrent,i=e.level,o=e.sn,n=e.part;if(null==t||!t[i])return this.warn("Levels object was unset while buffering fragment "+o+" of level "+i+". The current chunk will not be buffered."),null;var r=t[i],E=n>-1?Ua(r,o,n):null,_=E?E.fragment:ya(r,o,a);return _?(a&&a!==_&&(_.stats=a.stats),{frag:_,part:E,level:r}):null},a.bufferFragmentData=function(e,t,a,i,o){var n;if(e&&this.state===Xi.PARSING){var r=e.data1,E=e.data2,_=r;if(r&&E&&(_=at(r,E)),null!=(n=_)&&n.length){var T={type:e.type,frag:t,part:a,chunkMeta:i,parent:t.type,data:_};if(this.hls.trigger(f.BUFFER_APPENDING,T),e.dropped&&e.independent&&!a){if(o)return;this.flushBufferGap(t)}}}},a.flushBufferGap=function(e){var t=this.media;if(t)if(hi.isBuffered(t,t.currentTime)){var a=t.currentTime,i=hi.bufferInfo(t,a,0),o=e.duration,n=Math.min(2*this.config.maxFragLookUpTolerance,.25*o),r=Math.max(Math.min(e.start-n,i.end-n),a+n);e.start-r>n&&this.flushMainBuffer(r,e.start)}else this.flushMainBuffer(0,e.start)},a.getFwdBufferInfo=function(e,t){var a=this.getLoadPosition();return p(a)?this.getFwdBufferInfoAtPos(e,a,t):null},a.getFwdBufferInfoAtPos=function(e,t,a){var i=this.config.maxBufferHole,o=hi.bufferInfo(e,t,i);if(0===o.len&&void 0!==o.nextStart){var n=this.fragmentTracker.getBufferedFrag(t,a);if(n&&o.nextStart=a&&(t.maxMaxBufferLength/=2,this.warn("Reduce max buffer length to "+t.maxMaxBufferLength+"s"),!0)},a.getAppendedFrag=function(e,t){var a=this.fragmentTracker.getAppendedFrag(e,$t.MAIN);return a&&"fragment"in a?a.fragment:a},a.getNextFragment=function(e,t){var a=t.fragments,i=a.length;if(!i)return null;var o,n=this.config,r=a[0].start;if(t.live){var E=n.initialLiveManifestSize;if(it},a.getNextFragmentLoopLoading=function(e,t,a,i,o){var n=e.gap,r=this.getNextFragment(this.nextLoadPosition,t);if(null===r)return r;if(e=r,n&&e&&!e.gap&&a.nextStart){var E=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,a.nextStart,i);if(null!==E&&a.len+E.len>=o)return this.log('buffer full after gaps in "'+i+'" playlist starting at sn: '+e.sn),null}return e},a.mapToInitFragWhenRequired=function(e){return null==e||!e.initSegment||null!=e&&e.initSegment.data||this.bitrateTest?e:e.initSegment},a.getNextPart=function(e,t,a){for(var i=-1,o=!1,n=!0,r=0,E=e.length;r-1&&a<_.start)break;var T=_.loaded;T?i=-1:(o||_.independent||n)&&_.fragment===t&&(i=r),o=T}return i},a.loadedEndOfParts=function(e,t){var a=e[e.length-1];return a&&t>a.start&&a.loaded},a.getInitialLiveFragment=function(e,t){var a=this.fragPrevious,i=null;if(a){if(e.hasProgramDateTime&&(this.log("Live playlist, switching playlist, load frag with same PDT: "+a.programDateTime),i=Ka(t,a.endProgramDateTime,this.config.maxFragLookUpTolerance)),!i){var o=a.sn+1;if(o>=e.startSN&&o<=e.endSN){var n=t[o-e.startSN];a.cc===n.cc&&(i=n,this.log("Live playlist, switching playlist, load frag with next SN: "+i.sn))}i||(i=Xa(t,a.cc))&&this.log("Live playlist, switching playlist, load frag with same CC: "+i.sn)}}else{var r=this.hls.liveSyncPosition;null!==r&&(i=this.getFragmentAtPosition(r,this.bitrateTest?e.fragmentEnd:e.edge,e))}return i},a.getFragmentAtPosition=function(e,t,a){var i,o=this.config,n=this.fragPrevious,r=a.fragments,E=a.endSN,_=a.fragmentHint,T=o.maxFragLookUpTolerance,s=a.partList,S=!!(o.lowLatencyMode&&null!=s&&s.length&&_);if(S&&_&&!this.bitrateTest&&(r=r.concat(_),E=_.sn),i=et-T?0:T):r[r.length-1]){var l=i.sn-a.startSN,I=this.fragmentTracker.getState(i);if((I===mi.OK||I===mi.PARTIAL&&i.gap)&&(n=i),n&&i.sn===n.sn&&(!S||s[0].fragment.sn>i.sn)&&n&&i.level===n.level){var A=r[l+1];i=i.sn=n-t.maxFragLookUpTolerance&&o<=r;if(null!==i&&a.duration>i&&(o"+e.startSN+" prev-sn: "+(E?E.sn:"na")+" fragments: "+i),_}return o},a.waitForCdnTuneIn=function(e){var t=3;return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*t)},a.setStartPosition=function(e,t){var a=this.startPosition;if(a "+(null==(o=this.fragCurrent)?void 0:o.url))}else{var n=t.details===B.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(i,!0);var r=t.errorAction,E=r||{},_=E.action,T=E.retryCount,s=void 0===T?0:T,S=E.retryConfig;if(r&&_===$a.RetryRequest&&S){this.resetStartWhenNotLoaded(this.levelLastLoaded);var l=Va(S,s);this.warn("Fragment "+i.sn+" of "+e+" "+i.level+" errored with "+t.details+", retrying loading "+(s+1)+"/"+S.maxNumRetry+" in "+l+"ms"),r.resolved=!0,this.retryDate=self.performance.now()+l,this.state=Xi.FRAG_LOADING_WAITING_RETRY}else if(S&&r){if(this.resetFragmentErrors(e),!(s.5;i&&this.reduceMaxBufferLength(a.len);var o=!i;return o&&this.warn("Buffer full error while media.currentTime is not buffered, flush "+t+" buffer"),e.frag&&(this.fragmentTracker.removeFragment(e.frag),this.nextLoadPosition=e.frag.start),this.resetLoadingState(),o}return!1},a.resetFragmentErrors=function(e){e===$t.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==Xi.STOPPED&&(this.state=Xi.IDLE)},a.afterBufferFlushed=function(e,t,a){if(e){var i=hi.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,i,a),this.state===Xi.ENDED&&this.resetLoadingState()}},a.resetLoadingState=function(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=Xi.IDLE},a.resetStartWhenNotLoaded=function(e){if(!this.loadedmetadata){this.startFragRequested=!1;var t=e?e.details:null;null!=t&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}},a.resetWhenMissingContext=function(e){this.warn("The loading context changed while buffering fragment "+e.sn+" of level "+e.level+". This chunk will not be buffered."),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()},a.removeUnbufferedFrags=function(e){void 0===e&&(e=0),this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)},a.updateLevelTiming=function(e,t,a,i){var o,n=this,r=a.details;if(r){if(!Object.keys(e.elementaryStreams).reduce((function(t,o){var E=e.elementaryStreams[o];if(E){var _=E.endPTS-E.startPTS;if(_<=0)return n.warn("Could not parse fragment "+e.sn+" "+o+" duration reliably ("+_+")"),t||!1;var T=i?0:ha(r,e,E.startPTS,E.endPTS,E.startDTS,E.endDTS);return n.hls.trigger(f.LEVEL_PTS_UPDATED,{details:r,level:a,drift:T,type:o,frag:e,start:E.startPTS,end:E.endPTS}),!0}return t}),!1)&&null===(null==(o=this.transmuxer)?void 0:o.error)){var E=new Error("Found no media in fragment "+e.sn+" of level "+e.level+" resetting transmuxer to fallback to playlist timing");if(0===a.fragmentError&&(a.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(E.message),this.hls.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:E,frag:e,reason:"Found no media in msn "+e.sn+' of level "'+a.url+'"'}),!this.hls)return;this.resetTransmuxer()}this.state=Xi.PARSED,this.hls.trigger(f.FRAG_PARSED,{frag:e,part:t})}else this.warn("level.details undefined")},a.resetTransmuxer=function(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)},a.recoverWorkerError=function(e){"demuxerWorker"===e.event&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())},E(t,[{key:"state",get:function(){return this._state},set:function(e){var t=this._state;t!==e&&(this._state=e,this.log(t+"->"+e))}}]),t})(Ri),qi=(function(){function e(){this.chunks=[],this.dataLength=0}var t=e.prototype;return t.push=function(e){this.chunks.push(e),this.dataLength+=e.length},t.flush=function(){var e,t=this.chunks,a=this.dataLength;return t.length?(e=1===t.length?t[0]:Ji(t,a),this.reset(),e):new Uint8Array(0)},t.reset=function(){this.chunks.length=0,this.dataLength=0},e})();function Ji(e,t){for(var a=new Uint8Array(t),i=0,o=0;o0&&r.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Ea.audioId3,duration:Number.POSITIVE_INFINITY});o<_;){if(this.canParse(e,o)){var T=this.appendFrame(n,e,o);T?(this.frameIndex++,this.lastPTS=T.sample.pts,a=o+=T.length):o=_}else Ne(e,o)?(i=Oe(e,o),r.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Ea.audioId3,duration:Number.POSITIVE_INFINITY}),a=o+=i.length):o++;if(o===_&&a!==_){var s=Ie(e,a);this.cachedData?this.cachedData=at(this.cachedData,s):this.cachedData=s}}return{audioTrack:n,videoTrack:Zi(),id3Track:r,textTrack:Zi()}},t.demuxSampleAes=function(e,t,a){return Promise.reject(new Error("["+this+"] This demuxer does not support Sample-AES decryption"))},t.flush=function(e){var t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:Zi(),id3Track:this._id3Track,textTrack:Zi()}},t.destroy=function(){},e})(),to=function(e,t,a){return p(e)?90*e:9e4*t+(a?9e4*a.baseTime/a.timescale:0)};function ao(e,t,a,i){var o,n,r,E,_=navigator.userAgent.toLowerCase(),T=i,s=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];o=1+((192&t[a+2])>>>6);var S=(60&t[a+2])>>>2;if(!(S>s.length-1))return r=(1&t[a+2])<<2,r|=(192&t[a+3])>>>6,b.log("manifest codec:"+i+", ADTS type:"+o+", samplingIndex:"+S),/firefox/i.test(_)?S>=6?(o=5,E=new Array(4),n=S-3):(o=2,E=new Array(2),n=S):-1!==_.indexOf("android")?(o=2,E=new Array(2),n=S):(o=5,E=new Array(4),i&&(-1!==i.indexOf("mp4a.40.29")||-1!==i.indexOf("mp4a.40.5"))||!i&&S>=6?n=S-3:((i&&-1!==i.indexOf("mp4a.40.2")&&(S>=6&&1===r||/vivaldi/i.test(_))||!i&&1===r)&&(o=2,E=new Array(2)),n=S)),E[0]=o<<3,E[0]|=(14&S)>>1,E[1]|=(1&S)<<7,E[1]|=r<<3,5===o&&(E[1]|=(14&n)>>1,E[2]=(1&n)<<7,E[2]|=8,E[3]=0),{config:E,samplerate:s[S],channelCount:r,codec:"mp4a.40."+o,manifestCodec:T};var l=new Error("invalid ADTS sampling index:"+S);e.emit(f.ERROR,f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!0,error:l,reason:l.message})}function io(e,t){return 255===e[t]&&240==(246&e[t+1])}function oo(e,t){return 1&e[t+1]?7:9}function no(e,t){return(3&e[t+3])<<11|e[t+4]<<3|(224&e[t+5])>>>5}function ro(e,t){return t+5=e.length)return!1;var i=no(e,t);if(i<=a)return!1;var o=t+i;return o===e.length||Eo(e,o)}return!1}function so(e,t,a,i,o){if(!e.samplerate){var n=ao(t,a,i,o);if(!n)return;e.config=n.config,e.samplerate=n.samplerate,e.channelCount=n.channelCount,e.codec=n.codec,e.manifestCodec=n.manifestCodec,b.log("parsed codec:"+e.codec+", rate:"+n.samplerate+", channels:"+n.channelCount)}}function So(e){return 9216e4/e}function lo(e,t){var a=oo(e,t);if(t+a<=e.length){var i=no(e,t)-a;if(i>0)return{headerLength:a,frameLength:i}}}function Io(e,t,a,i,o){var n,r=i+o*So(e.samplerate),E=lo(t,a);if(E){var _=E.frameLength,T=E.headerLength,s=T+_,S=Math.max(0,a+s-t.length);S?(n=new Uint8Array(s-T)).set(t.subarray(a+T,t.length),0):n=t.subarray(a+T,a+s);var l={unit:n,pts:r};return S||e.samples.push(l),{sample:l,length:s,missing:S}}var I=t.length-a;return(n=new Uint8Array(I)).set(t.subarray(a,t.length),0),{sample:{unit:n,pts:r},length:I,missing:-1}}var Ao=null,uo=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],Oo=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],co=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],No=[0,1,1,4];function Ro(e,t,a,i,o){if(!(a+24>t.length)){var n=mo(t,a);if(n&&a+n.frameLength<=t.length){var r=i+o*(9e4*n.samplesPerFrame/n.sampleRate),E={unit:t.subarray(a,a+n.frameLength),pts:r,dts:r};return e.config=[],e.channelCount=n.channelCount,e.samplerate=n.sampleRate,e.samples.push(E),{sample:E,length:n.frameLength,missing:0}}}}function mo(e,t){var a=e[t+1]>>3&3,i=e[t+1]>>1&3,o=e[t+2]>>4&15,n=e[t+2]>>2&3;if(1!==a&&0!==o&&15!==o&&3!==n){var r=e[t+2]>>1&1,E=e[t+3]>>6,_=1e3*uo[14*(3===a?3-i:3===i?3:4)+o-1],T=Oo[3*(3===a?0:2===a?1:2)+n],s=3===E?1:2,S=co[a][i],l=No[i],I=8*S*l,A=Math.floor(S*_/T+r)*l;if(null===Ao){var u=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Ao=u?parseInt(u[1]):0}return!!Ao&&Ao<=87&&2===i&&_>=224e3&&0===E&&(e[t+3]=128|e[t+3]),{sampleRate:T,channelCount:s,frameLength:A,samplesPerFrame:I}}}function Lo(e,t){return!(255!==e[t]||224&~e[t+1]||!(6&e[t+1]))}function Do(e,t){return t+10;){r[0]=e[t];var E=Math.min(i,8),_=8-E;n[0]=4278190080>>>24+_<<_,o[0]=(r[0]&n[0])>>_,a=a?a<t.length)return-1;if(11!==t[a]||119!==t[a+1])return-1;var n=t[a+4]>>6;if(n>=3)return-1;var r=[48e3,44100,32e3][n],E=63&t[a+4],_=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*E+n];if(a+_>t.length)return-1;var T=t[a+6]>>5,s=0;2===T?s+=2:(1&T&&1!==T&&(s+=2),4&T&&(s+=2));var S=(t[a+6]<<8|t[a+7])>>12-s&1,l=[2,1,2,3,3,4,4,5][T]+S,I=t[a+5]>>3,A=7&t[a+5],u=new Uint8Array([n<<6|I<<1|A>>2,(3&A)<<6|T<<3|S<<2|E>>4,E<<4&224]),d=i+o*(1536/r*9e4),O=t.subarray(a,a+_);return e.config=u,e.channelCount=l,e.samplerate=r,e.samples.push({unit:O,pts:d}),_}var Mo=(function(){function e(){this.VideoSample=null}var t=e.prototype;return t.createVideoSample=function(e,t,a,i){return{key:e,frame:!1,pts:t,dts:a,units:[],debug:i,length:0}},t.getLastNalUnit=function(e){var t,a,i=this.VideoSample;if(i&&0!==i.units.length||(i=e[e.length-1]),null!=(t=i)&&t.units){var o=i.units;a=o[o.length-1]}return a},t.pushAccessUnit=function(e,t){if(e.units.length&&e.frame){if(void 0===e.pts){var a=t.samples,i=a.length;if(!i)return void t.dropped++;var o=a[i-1];e.pts=o.pts,e.dts=o.dts}t.samples.push(e)}e.debug.length&&b.log(e.pts+"/"+e.dts+":"+e.debug)},e})(),Wo=(function(){function e(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}var t=e.prototype;return t.loadWord=function(){var e=this.data,t=this.bytesAvailable,a=e.byteLength-t,i=new Uint8Array(4),o=Math.min(4,t);if(0===o)throw new Error("no bytes available");i.set(e.subarray(a,a+o)),this.word=new DataView(i.buffer).getUint32(0),this.bitsAvailable=8*o,this.bytesAvailable-=o},t.skipBits=function(e){var t;e=Math.min(e,8*this.bytesAvailable+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,e-=(t=e>>3)<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)},t.readBits=function(e){var t=Math.min(this.bitsAvailable,e),a=this.word>>>32-t;if(e>32&&b.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else{if(!(this.bytesAvailable>0))throw new Error("no bits available");this.loadWord()}return(t=e-t)>0&&this.bitsAvailable?a<>>e)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()},t.skipUEG=function(){this.skipBits(1+this.skipLZ())},t.skipEG=function(){this.skipBits(1+this.skipLZ())},t.readUEG=function(){var e=this.skipLZ();return this.readBits(e+1)-1},t.readEG=function(){var e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)},t.readBoolean=function(){return 1===this.readBits(1)},t.readUByte=function(){return this.readBits(8)},t.readUShort=function(){return this.readBits(16)},t.readUInt=function(){return this.readBits(32)},t.skipScalingList=function(e){for(var t=8,a=8,i=0;i4){var I=new Wo(l).readSliceType();2!==I&&4!==I&&7!==I&&9!==I||(s=!0)}s&&null!=(S=_)&&S.frame&&!_.key&&(r.pushAccessUnit(_,e),_=r.VideoSample=null),_||(_=r.VideoSample=r.createVideoSample(!0,a.pts,a.dts,"")),_.frame=!0,_.key=s;break;case 5:n=!0,null!=(E=_)&&E.frame&&!_.key&&(r.pushAccessUnit(_,e),_=r.VideoSample=null),_||(_=r.VideoSample=r.createVideoSample(!0,a.pts,a.dts,"")),_.key=!0,_.frame=!0;break;case 6:n=!0,rt(i.data,1,a.pts,t.samples);break;case 7:var A,u;n=!0,T=!0;var d=i.data,O=new Wo(d).readSPS();if(!e.sps||e.width!==O.width||e.height!==O.height||(null==(A=e.pixelRatio)?void 0:A[0])!==O.pixelRatio[0]||(null==(u=e.pixelRatio)?void 0:u[1])!==O.pixelRatio[1]){e.width=O.width,e.height=O.height,e.pixelRatio=O.pixelRatio,e.sps=[d],e.duration=o;for(var c=d.subarray(1,4),N="avc1.",R=0;R<3;R++){var m=c[R].toString(16);m.length<2&&(m="0"+m),N+=m}e.codec=N}break;case 8:n=!0,e.pps=[i.data];break;case 9:n=!0,e.audFound=!0,_&&r.pushAccessUnit(_,e),_=r.VideoSample=r.createVideoSample(!1,a.pts,a.dts,"");break;case 12:n=!0;break;default:n=!1,_&&(_.debug+="unknown NAL "+i.type+" ")}_&&n&&_.units.push(i)})),i&&_&&(this.pushAccessUnit(_,e),this.VideoSample=null)},a.parseAVCNALu=function(e,t){var a,i,o=t.byteLength,n=e.naluState||0,r=n,E=[],_=0,T=-1,s=0;for(-1===n&&(T=0,s=31&t[0],n=0,_=1);_=0){var S={data:t.subarray(T,i),type:s};E.push(S)}else{var l=this.getLastNalUnit(e.samples);l&&(r&&_<=4-r&&l.state&&(l.data=l.data.subarray(0,l.data.byteLength-r)),i>0&&(l.data=at(l.data,t.subarray(0,i)),l.state=0))}_=0&&n>=0){var I={data:t.subarray(T,o),type:s,state:n};E.push(I)}if(0===E.length){var A=this.getLastNalUnit(e.samples);A&&(A.data=at(A.data,t))}return e.naluState=n,E},t})(Mo),Uo=(function(){function e(e,t,a){this.keyData=void 0,this.decrypter=void 0,this.keyData=a,this.decrypter=new xi(t,{removePKCS7Padding:!1})}var t=e.prototype;return t.decryptBuffer=function(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)},t.decryptAacSample=function(e,t,a){var i=this,o=e[t].unit;if(!(o.length<=16)){var n=o.subarray(16,o.length-o.length%16),r=n.buffer.slice(n.byteOffset,n.byteOffset+n.length);this.decryptBuffer(r).then((function(n){var r=new Uint8Array(n);o.set(r,16),i.decrypter.isSync()||i.decryptAacSamples(e,t+1,a)}))}},t.decryptAacSamples=function(e,t,a){for(;;t++){if(t>=e.length)return void a();if(!(e[t].unit.length<32||(this.decryptAacSample(e,t,a),this.decrypter.isSync())))return}},t.getAvcEncryptedData=function(e){for(var t=16*Math.floor((e.length-48)/160)+16,a=new Int8Array(t),i=0,o=32;o=e.length)return void i();for(var o=e[t].units;!(a>=o.length);a++){var n=o[a];if(!(n.data.length<=48||1!==n.type&&5!==n.type||(this.decryptAvcSample(e,t,a,i,n),this.decrypter.isSync())))return}}},e})(),bo=188,Go=(function(){function e(e,t,a){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=a,this.videoParser=new yo}e.probe=function(t){var a=e.syncOffset(t);return a>0&&b.warn("MPEG2-TS detected but first sync word found @ offset "+a),-1!==a},e.syncOffset=function(e){for(var t=e.length,a=Math.min(5*bo,t-bo)+1,i=0;i1&&(0===n&&r>2||E+bo>a))return n}i++}return-1},e.createTrack=function(e,t){return{container:"video"===e||"audio"===e?"video/mp2t":void 0,type:e,id:ye[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:"audio"===e?t:void 0}};var t=e.prototype;return t.resetInitSegment=function(t,a,i,o){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=e.createTrack("video"),this._audioTrack=e.createTrack("audio",o),this._id3Track=e.createTrack("id3"),this._txtTrack=e.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=a,this.videoCodec=i,this._duration=o},t.resetTimeStamp=function(){},t.resetContiguity=function(){var e=this._audioTrack,t=this._videoTrack,a=this._id3Track;e&&(e.pesData=null),t&&(t.pesData=null),a&&(a.pesData=null),this.aacOverFlow=null,this.remainderData=null},t.demux=function(t,a,i,o){var n;void 0===i&&(i=!1),void 0===o&&(o=!1),i||(this.sampleAes=null);var r=this._videoTrack,E=this._audioTrack,_=this._id3Track,T=this._txtTrack,s=r.pid,S=r.pesData,l=E.pid,I=_.pid,A=E.pesData,u=_.pesData,d=null,O=this.pmtParsed,c=this._pmtId,N=t.length;if(this.remainderData&&(N=(t=at(this.remainderData,t)).length,this.remainderData=null),N>4>1){if((C=L+5+t[L+4])===L+bo)continue}else C=L+4;switch(p){case s:D&&(S&&(n=wo(S))&&this.videoParser.parseAVCPES(r,T,n,!1,this._duration),S={data:[],size:0}),S&&(S.data.push(t.subarray(C,L+bo)),S.size+=L+bo-C);break;case l:if(D){if(A&&(n=wo(A)))switch(E.segmentCodec){case"aac":this.parseAACPES(E,n);break;case"mp3":this.parseMPEGPES(E,n);break;case"ac3":this.parseAC3PES(E,n)}A={data:[],size:0}}A&&(A.data.push(t.subarray(C,L+bo)),A.size+=L+bo-C);break;case I:D&&(u&&(n=wo(u))&&this.parseID3PES(_,n),u={data:[],size:0}),u&&(u.data.push(t.subarray(C,L+bo)),u.size+=L+bo-C);break;case 0:D&&(C+=t[C]+1),c=this._pmtId=Fo(t,C);break;case c:D&&(C+=t[C]+1);var h=Vo(t,C,this.typeSupported,i);(s=h.videoPid)>0&&(r.pid=s,r.segmentCodec=h.segmentVideoCodec),(l=h.audioPid)>0&&(E.pid=l,E.segmentCodec=h.segmentAudioCodec),(I=h.id3Pid)>0&&(_.pid=I),null===d||O||(b.warn("MPEG-TS PMT found at "+L+" after unknown PID '"+d+"'. Backtracking to sync byte @"+R+" to parse all TS packets."),d=null,L=R-188),O=this.pmtParsed=!0;break;case 17:case 8191:break;default:d=p}}else m++;if(m>0){var g=new Error("Found "+m+" TS packet/s that do not start with 0x47");this.observer.emit(f.ERROR,f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:g,reason:g.message})}r.pesData=S,E.pesData=A,_.pesData=u;var v={audioTrack:E,videoTrack:r,id3Track:_,textTrack:T};return o&&this.extractRemainingSamples(v),v},t.flush=function(){var e,t=this.remainderData;return this.remainderData=null,e=t?this.demux(t,-1,!1,!0):{videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(e),this.sampleAes?this.decrypt(e,this.sampleAes):e},t.extractRemainingSamples=function(e){var t,a=e.audioTrack,i=e.videoTrack,o=e.id3Track,n=e.textTrack,r=i.pesData,E=a.pesData,_=o.pesData;if(r&&(t=wo(r))?(this.videoParser.parseAVCPES(i,n,t,!0,this._duration),i.pesData=null):i.pesData=r,E&&(t=wo(E))){switch(a.segmentCodec){case"aac":this.parseAACPES(a,t);break;case"mp3":this.parseMPEGPES(a,t);break;case"ac3":this.parseAC3PES(a,t)}a.pesData=null}else null!=E&&E.size&&b.log("last AAC PES packet truncated,might overlap between fragments"),a.pesData=E;_&&(t=wo(_))?(this.parseID3PES(o,t),o.pesData=null):o.pesData=_},t.demuxSampleAes=function(e,t,a){var i=this.demux(e,a,!0,!this.config.progressive),o=this.sampleAes=new Uo(this.observer,this.config,t);return this.decrypt(i,o)},t.decrypt=function(e,t){return new Promise((function(a){var i=e.audioTrack,o=e.videoTrack;i.samples&&"aac"===i.segmentCodec?t.decryptAacSamples(i.samples,0,(function(){o.samples?t.decryptAvcSamples(o.samples,0,0,(function(){a(e)})):a(e)})):o.samples&&t.decryptAvcSamples(o.samples,0,0,(function(){a(e)}))}))},t.destroy=function(){this._duration=0},t.parseAACPES=function(e,t){var a,i,o,n=0,r=this.aacOverFlow,E=t.data;if(r){this.aacOverFlow=null;var _=r.missing,T=r.sample.unit.byteLength;if(-1===_)E=at(r.sample.unit,E);else{var s=T-_;r.sample.unit.set(E.subarray(0,_),s),e.samples.push(r.sample),n=r.missing}}for(a=n,i=E.length;a0;)E+=o;else b.warn("[tsdemuxer]: AC3 PES unknown PTS")},t.parseID3PES=function(e,t){if(void 0!==t.pts){var a=T({},t,{type:this._videoTrack?Ea.emsg:Ea.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(a)}else b.warn("[tsdemuxer]: ID3 PES unknown PTS")},e})();function ko(e,t){return((31&e[t+1])<<8)+e[t+2]}function Fo(e,t){return(31&e[t+10])<<8|e[t+11]}function Vo(e,t,a,i){var o={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},n=t+3+((15&e[t+1])<<8|e[t+2])-4;for(t+=12+((15&e[t+10])<<8|e[t+11]);t0)for(var _=t+5,T=E;T>2;){106===e[_]&&(!0!==a.ac3?b.log("AC-3 audio found, not supported in this browser for now"):(o.audioPid=r,o.segmentAudioCodec="ac3"));var s=e[_+1]+2;_+=s,T-=s}break;case 194:case 135:b.warn("Unsupported EC-3 in M2TS found");break;case 36:b.warn("Unsupported HEVC in M2TS found")}t+=E+5}return o}function Ho(e){b.log(e+" with AES-128-CBC encryption found in unencrypted stream")}function wo(e){var t,a,i,o,n,r=0,E=e.data;if(!e||0===e.size)return null;for(;E[0].length<19&&E.length>1;)E[0]=at(E[0],E[1]),E.splice(1,1);if(1===((t=E[0])[0]<<16)+(t[1]<<8)+t[2]){if((a=(t[4]<<8)+t[5])&&a>e.size-6)return null;var _=t[7];192&_&&(o=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,64&_?o-(n=536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2)>54e5&&(b.warn(Math.round((o-n)/9e4)+"s delta between PTS and DTS, align them"),o=n):n=o);var T=(i=t[8])+9;if(e.size<=T)return null;e.size-=T;for(var s=new Uint8Array(e.size),S=0,l=E.length;SI){T-=I;continue}t=t.subarray(T),I-=T,T=0}s.set(t,r),r+=I}return a&&(a-=i+3),{data:s,pts:o,dts:n,len:a}}return null}var Yo=(function(e){function t(){return e.apply(this,arguments)||this}s(t,e);var a=t.prototype;return a.resetInitSegment=function(t,a,i,o){e.prototype.resetInitSegment.call(this,t,a,i,o),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:a,duration:o,inputTimeScale:9e4,dropped:0}},t.probe=function(e){if(!e)return!1;var t=Oe(e,0),a=(null==t?void 0:t.length)||0;if(t&&11===e[a]&&119===e[a+1]&&void 0!==Re(t)&&Bo(e,a)<=16)return!1;for(var i=e.length;a1?a-1:0),o=1;o>24&255,E[1]=t>>16&255,E[2]=t>>8&255,E[3]=255&t,E.set(e,4),n=0,t=8;n>24&255,t>>16&255,t>>8&255,255&t,i>>24,i>>16&255,i>>8&255,255&i,o>>24,o>>16&255,o>>8&255,255&o,85,196,0,0]))},e.mdia=function(t){return e.box(e.types.mdia,e.mdhd(t.timescale,t.duration),e.hdlr(t.type),e.minf(t))},e.mfhd=function(t){return e.box(e.types.mfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]))},e.minf=function(t){return"audio"===t.type?e.box(e.types.minf,e.box(e.types.smhd,e.SMHD),e.DINF,e.stbl(t)):e.box(e.types.minf,e.box(e.types.vmhd,e.VMHD),e.DINF,e.stbl(t))},e.moof=function(t,a,i){return e.box(e.types.moof,e.mfhd(t),e.traf(i,a))},e.moov=function(t){for(var a=t.length,i=[];a--;)i[a]=e.trak(t[a]);return e.box.apply(null,[e.types.moov,e.mvhd(t[0].timescale,t[0].duration)].concat(i).concat(e.mvex(t)))},e.mvex=function(t){for(var a=t.length,i=[];a--;)i[a]=e.trex(t[a]);return e.box.apply(null,[e.types.mvex].concat(i))},e.mvhd=function(t,a){a*=t;var i=Math.floor(a/(Ko+1)),o=Math.floor(a%(Ko+1)),n=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,i>>24,i>>16&255,i>>8&255,255&i,o>>24,o>>16&255,o>>8&255,255&o,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return e.box(e.types.mvhd,n)},e.sdtp=function(t){var a,i,o=t.samples||[],n=new Uint8Array(4+o.length);for(a=0;a>>8&255),n.push(255&o),n=n.concat(Array.prototype.slice.call(i));for(a=0;a>>8&255),r.push(255&o),r=r.concat(Array.prototype.slice.call(i));var E=e.box(e.types.avcC,new Uint8Array([1,n[3],n[4],n[5],255,224|t.sps.length].concat(n).concat([t.pps.length]).concat(r))),_=t.width,T=t.height,s=t.pixelRatio[0],S=t.pixelRatio[1];return e.box(e.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,_>>8&255,255&_,T>>8&255,255&T,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),E,e.box(e.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),e.box(e.types.pasp,new Uint8Array([s>>24,s>>16&255,s>>8&255,255&s,S>>24,S>>16&255,S>>8&255,255&S])))},e.esds=function(e){var t=e.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(e.config).concat([6,1,2]))},e.audioStsd=function(e){var t=e.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,255&t,0,0])},e.mp4a=function(t){return e.box(e.types.mp4a,e.audioStsd(t),e.box(e.types.esds,e.esds(t)))},e.mp3=function(t){return e.box(e.types[".mp3"],e.audioStsd(t))},e.ac3=function(t){return e.box(e.types["ac-3"],e.audioStsd(t),e.box(e.types.dac3,t.config))},e.stsd=function(t){return"audio"===t.type?"mp3"===t.segmentCodec&&"mp3"===t.codec?e.box(e.types.stsd,e.STSD,e.mp3(t)):"ac3"===t.segmentCodec?e.box(e.types.stsd,e.STSD,e.ac3(t)):e.box(e.types.stsd,e.STSD,e.mp4a(t)):e.box(e.types.stsd,e.STSD,e.avc1(t))},e.tkhd=function(t){var a=t.id,i=t.duration*t.timescale,o=t.width,n=t.height,r=Math.floor(i/(Ko+1)),E=Math.floor(i%(Ko+1));return e.box(e.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,a>>24&255,a>>16&255,a>>8&255,255&a,0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r,E>>24,E>>16&255,E>>8&255,255&E,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,o>>8&255,255&o,0,0,n>>8&255,255&n,0,0]))},e.traf=function(t,a){var i=e.sdtp(t),o=t.id,n=Math.floor(a/(Ko+1)),r=Math.floor(a%(Ko+1));return e.box(e.types.traf,e.box(e.types.tfhd,new Uint8Array([0,0,0,0,o>>24,o>>16&255,o>>8&255,255&o])),e.box(e.types.tfdt,new Uint8Array([1,0,0,0,n>>24,n>>16&255,n>>8&255,255&n,r>>24,r>>16&255,r>>8&255,255&r])),e.trun(t,i.length+16+20+8+16+8+8),i)},e.trak=function(t){return t.duration=t.duration||4294967295,e.box(e.types.trak,e.tkhd(t),e.mdia(t))},e.trex=function(t){var a=t.id;return e.box(e.types.trex,new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))},e.trun=function(t,a){var i,o,n,r,E,_,T=t.samples||[],s=T.length,S=12+16*s,l=new Uint8Array(S);for(a+=8+S,l.set(["video"===t.type?1:0,0,15,1,s>>>24&255,s>>>16&255,s>>>8&255,255&s,a>>>24&255,a>>>16&255,a>>>8&255,255&a],0),i=0;i>>24&255,n>>>16&255,n>>>8&255,255&n,r>>>24&255,r>>>16&255,r>>>8&255,255&r,E.isLeading<<2|E.dependsOn,E.isDependedOn<<6|E.hasRedundancy<<4|E.paddingValue<<1|E.isNonSync,61440&E.degradPrio,15&E.degradPrio,_>>>24&255,_>>>16&255,_>>>8&255,255&_],12+16*i);return e.box(e.types.trun,l)},e.initSegment=function(t){e.types||e.init();var a=e.moov(t);return at(e.FTYP,a)},e})();jo.types=void 0,jo.HDLR_TYPES=void 0,jo.STTS=void 0,jo.STSC=void 0,jo.STCO=void 0,jo.STSZ=void 0,jo.VMHD=void 0,jo.SMHD=void 0,jo.STSD=void 0,jo.FTYP=void 0,jo.DINF=void 0;var xo=9e4;function Qo(e,t,a,i){void 0===a&&(a=1),void 0===i&&(i=!1);var o=e*t*a;return i?Math.round(o):o}function Xo(e,t,a,i){return void 0===a&&(a=1),void 0===i&&(i=!1),Qo(e,t,1/a,i)}function $o(e,t){return void 0===t&&(t=!1),Qo(e,1e3,1/xo,t)}function qo(e,t){return void 0===t&&(t=1),Qo(e,xo,1/t)}var Jo=1e4,Zo=1024,en=1152,tn=1536,an=null,on=null,nn=(function(){function e(e,t,a,i){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=a,this.ISGenerated=!1,null===an){var o=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);an=o?parseInt(o[1]):0}if(null===on){var n=navigator.userAgent.match(/Safari\/(\d+)/i);on=n?parseInt(n[1]):0}}var t=e.prototype;return t.destroy=function(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null},t.resetTimeStamp=function(e){b.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e},t.resetNextTimestamp=function(){b.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1},t.resetInitSegment=function(){b.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0},t.getVideoStartPts=function(e){var t=!1,a=e.reduce((function(e,a){var i=a.pts-e;return i<-4294967296?(t=!0,rn(e,a.pts)):i>0?e:a.pts}),e[0].pts);return t&&b.debug("PTS rollover detected"),a},t.remux=function(e,t,a,i,o,n,r,E){var _,T,s,S,l,I,A=o,u=o,d=e.pid>-1,O=t.pid>-1,c=t.samples.length,N=e.samples.length>0,R=r&&c>0||c>1;if((!d||N)&&(!O||R)||this.ISGenerated||r){if(this.ISGenerated){var m,L,D,p,C=this.videoTrackConfig;!C||t.width===C.width&&t.height===C.height&&(null==(m=t.pixelRatio)?void 0:m[0])===(null==(L=C.pixelRatio)?void 0:L[0])&&(null==(D=t.pixelRatio)?void 0:D[1])===(null==(p=C.pixelRatio)?void 0:p[1])||this.resetInitSegment()}else s=this.generateIS(e,t,o,n);var h,f=this.isVideoContiguous,P=-1;if(R&&(P=En(t.samples),!f&&this.config.forceKeyFrameOnDiscontinuity))if(I=!0,P>0){b.warn("[mp4-remuxer]: Dropped "+P+" out of "+c+" video samples due to a missing keyframe");var B=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(P),t.dropped+=P,h=u+=(t.samples[0].pts-B)/t.inputTimeScale}else-1===P&&(b.warn("[mp4-remuxer]: No keyframe found out of "+c+" video samples"),I=!1);if(this.ISGenerated){if(N&&R){var g=this.getVideoStartPts(t.samples),v=(rn(e.samples[0].pts,g)-g)/t.inputTimeScale;A+=Math.max(0,v),u+=Math.max(0,-v)}if(N){if(e.samplerate||(b.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),s=this.generateIS(e,t,o,n)),T=this.remuxAudio(e,A,this.isAudioContiguous,n,O||R||E===$t.AUDIO?u:void 0),R){var M=T?T.endPTS-T.startPTS:0;t.inputTimeScale||(b.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),s=this.generateIS(e,t,o,n)),_=this.remuxVideo(t,u,f,M)}}else R&&(_=this.remuxVideo(t,u,f,0));_&&(_.firstKeyFrame=P,_.independent=-1!==P,_.firstKeyFramePTS=h)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(a.samples.length&&(l=_n(a,o,this._initPTS,this._initDTS)),i.samples.length&&(S=Tn(i,o,this._initPTS))),{audio:T,video:_,initSegment:s,independent:I,text:S,id3:l}},t.generateIS=function(e,t,a,i){var o,n,r,E=e.samples,_=t.samples,T=this.typeSupported,s={},S=this._initPTS,l=!S||i,I="audio/mp4";if(l&&(o=n=1/0),e.config&&E.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":T.mpeg?(I="audio/mpeg",e.codec=""):T.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3"}s.audio={id:"audio",container:I,codec:e.codec,initSegment:"mp3"===e.segmentCodec&&T.mpeg?new Uint8Array(0):jo.initSegment([e]),metadata:{channelCount:e.channelCount}},l&&(r=e.inputTimeScale,S&&r===S.timescale?l=!1:o=n=E[0].pts-Math.round(r*a))}if(t.sps&&t.pps&&_.length){if(t.timescale=t.inputTimeScale,s.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:jo.initSegment([t]),metadata:{width:t.width,height:t.height}},l)if(r=t.inputTimeScale,S&&r===S.timescale)l=!1;else{var A=this.getVideoStartPts(_),u=Math.round(r*a);n=Math.min(n,rn(_[0].dts,A)-u),o=Math.min(o,A-u)}this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(s).length)return this.ISGenerated=!0,l?(this._initPTS={baseTime:o,timescale:r},this._initDTS={baseTime:n,timescale:r}):o=r=void 0,{tracks:s,initPTS:o,timescale:r}},t.remuxVideo=function(e,t,a,i){var o,n,r=e.inputTimeScale,E=e.samples,_=[],s=E.length,S=this._initPTS,l=this.nextAvcDts,I=8,A=this.videoSampleDuration,u=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY,O=!1;if(!a||null===l){var c=t*r,N=E[0].pts-rn(E[0].dts,E[0].pts);an&&null!==l&&Math.abs(c-N-l)<15e3?a=!0:l=c-N}for(var R=S.baseTime*r/S.timescale,m=0;m0?m-1:m].dts&&(O=!0)}O&&E.sort((function(e,t){var a=e.dts-t.dts,i=e.pts-t.pts;return a||i})),o=E[0].dts;var D=(n=E[E.length-1].dts)-o,p=D?Math.round(D/(s-1)):A||e.inputTimeScale/30;if(a){var C=o-l,h=C>p,g=C<-1;if((h||g)&&(h?b.warn("AVC: "+$o(C,!0)+" ms ("+C+"dts) hole between fragments detected at "+t.toFixed(3)):b.warn("AVC: "+$o(-C,!0)+" ms ("+C+"dts) overlapping between fragments detected at "+t.toFixed(3)),!g||l>=E[0].pts||an)){o=l;var v=E[0].pts-C;if(h)E[0].dts=o,E[0].pts=v;else for(var M=0;Mv);M++)E[M].dts-=C,E[M].pts-=C;b.log("Video: Initial PTS/DTS adjusted: "+$o(v,!0)+"/"+$o(o,!0)+", delta: "+$o(C,!0)+" ms")}}for(var W=0,y=0,U=o=Math.max(0,o),G=0;G0?J.dts-E[q-1].dts:p;if(re=q>0?J.pts-E[q-1].pts:p,Ee.stretchShortVideoTrack&&null!==this.nextAudioPts){var Te=Math.floor(Ee.maxBufferHole*r),se=(i?u+i*r:this.nextAudioPts)-J.pts;se>Te?((A=se-_e)<0?A=_e:j=!0,b.log("[mp4-remuxer]: It is approximately "+se/90+" ms to the next segment; using duration "+A/90+" ms for the last video frame.")):A=_e}else A=_e}var Se=Math.round(J.pts-J.dts);x=Math.min(x,A),X=Math.max(X,A),Q=Math.min(Q,re),$=Math.max($,re),_.push(new Sn(J.key,A,ee,Se))}if(_.length)if(an){if(an<70){var le=_[0].flags;le.dependsOn=2,le.isNonSync=0}}else if(on&&$-Q0&&(i&&Math.abs(O-d)<9e3||Math.abs(rn(A[0].pts-c,O)-d)<20*_),A.forEach((function(e){e.pts=rn(e.pts-c,O)})),!a||d<0){if(A=A.filter((function(e){return e.pts>=0})),!A.length)return;d=0===o?0:i&&!I?Math.max(0,O):A[0].pts}if("aac"===e.segmentCodec)for(var N=this.config.maxAudioFramesDrift,R=0,m=d;R=N*_&&C0))return;G+=u;try{W=new Uint8Array(G)}catch(e){return void this.observer.emit(f.ERROR,f.ERROR,{type:P.MUX_ERROR,details:B.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:G,reason:"fail allocating audio mdat "+G})}S||(new DataView(W.buffer).setUint32(0,G),W.set(jo.types.mdat,4))}W.set(w,u);var z=w.byteLength;u+=z,l.push(new Sn(!0,E,z,0)),U=Y}var K=l.length;if(K){var j=l[l.length-1];this.nextAudioPts=d=U+r*j.duration;var x=S?new Uint8Array(0):jo.moof(e.sequenceNumber++,y/r,T({},e,{samples:l}));e.samples=[];var Q=y/n,X=d/n,$={data1:x,data2:W,startPTS:Q,endPTS:X,startDTS:Q,endDTS:X,type:"audio",hasAudio:!0,hasVideo:!1,nb:K};return this.isAudioContiguous=!0,$}},t.remuxEmptyAudio=function(e,t,a,i){var o=e.inputTimeScale,n=o/(e.samplerate?e.samplerate:o),r=this.nextAudioPts,E=this._initDTS,_=9e4*E.baseTime/E.timescale,T=(null!==r?r:i.startDTS*o)+_,s=i.endDTS*o+_,S=n*Zo,l=Math.ceil((s-T)/S),I=zo.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(b.warn("[mp4-remuxer]: remux empty Audio"),I){for(var A=[],u=0;u4294967296;)e+=a;return e}function En(e){for(var t=0;t0?this.lastEndTime=c:(b.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());var N=!!I.audio,R=!!I.video,m="";N&&(m+="audio"),R&&(m+="video");var L={data1:S,startPTS:O,startDTS:O,endPTS:c,endDTS:c,type:m,hasAudio:N,hasVideo:R,nb:1,dropped:0};return s.audio="audio"===L.type?L:void 0,s.video="audio"!==L.type?L:void 0,s.initSegment=l,s.id3=_n(a,o,_,_),i.samples.length&&(s.text=Tn(i,o,_)),s},e})();function In(e,t,a,i){if(null===e)return!0;var o=Math.max(i,1),n=t-e.baseTime/e.timescale;return Math.abs(n-a)>o}function An(e,t){var a=null==e?void 0:e.codec;if(a&&a.length>4)return a;if(t===z.AUDIO){if("ec-3"===a||"ac-3"===a||"alac"===a)return a;if("fLaC"===a||"Opus"===a)return Mt(a,!1);var i="mp4a.40.5";return b.info('Parsed audio codec "'+a+'" or audio object type not handled. Using "'+i+'"'),i}return b.warn('Unhandled video codec "'+a+'"'),"hvc1"===a||"hev1"===a?"hvc1.1.6.L120.90":"av01"===a?"av01.0.04M.08":"avc1.42e01e"}try{sn=self.performance.now.bind(self.performance)}catch(e){b.debug("Unable to use Performance API on this environment"),sn=null==te?void 0:te.Date.now}var un=[{demux:Po,remux:ln},{demux:Go,remux:nn},{demux:ho,remux:nn},{demux:Yo,remux:nn}];un.splice(2,0,{demux:go,remux:nn});var dn=(function(){function e(e,t,a,i,o){this.async=!1,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=a,this.vendor=i,this.id=o}var t=e.prototype;return t.configure=function(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()},t.push=function(e,t,a,i){var o=this,n=a.transmuxing;n.executeStart=sn();var r=new Uint8Array(e),E=this.currentTransmuxState,_=this.transmuxConfig;i&&(this.currentTransmuxState=i);var T=i||E,s=T.contiguous,S=T.discontinuity,l=T.trackSwitch,I=T.accurateTimeOffset,A=T.timeOffset,u=T.initSegmentChange,d=_.audioCodec,O=_.videoCodec,c=_.defaultInitPts,N=_.duration,R=_.initSegmentData,m=On(r,t);if(m&&"AES-128"===m.method){var L=this.getDecrypter();if(!L.isSync())return this.decryptionPromise=L.webCryptoDecrypt(r,m.key.buffer,m.iv.buffer).then((function(e){var t=o.push(e,null,a);return o.decryptionPromise=null,t})),this.decryptionPromise;var D=L.softwareDecrypt(r,m.key.buffer,m.iv.buffer);if(a.part>-1&&(D=L.flush()),!D)return n.executeEnd=sn(),cn(a);r=new Uint8Array(D)}var p=this.needsProbing(S,l);if(p){var C=this.configureTransmuxer(r);if(C)return b.warn("[transmuxer] "+C.message),this.observer.emit(f.ERROR,f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:C,reason:C.message}),n.executeEnd=sn(),cn(a)}(S||l||u||p)&&this.resetInitSegment(R,d,O,N,t),(S||u||p)&&this.resetInitialTimestamp(c),s||this.resetContiguity();var h=this.transmux(r,m,A,I,a),g=this.currentTransmuxState;return g.contiguous=!0,g.discontinuity=!1,g.trackSwitch=!1,n.executeEnd=sn(),h},t.flush=function(e){var t=this,a=e.transmuxing;a.executeStart=sn();var i=this.decrypter,o=this.currentTransmuxState,n=this.decryptionPromise;if(n)return n.then((function(){return t.flush(e)}));var r=[],E=o.timeOffset;if(i){var _=i.flush();_&&r.push(this.push(_,null,e))}var T=this.demuxer,s=this.remuxer;if(!T||!s)return a.executeEnd=sn(),[cn(e)];var S=T.flush(E);return Nn(S)?S.then((function(a){return t.flushRemux(r,a,e),r})):(this.flushRemux(r,S,e),r)},t.flushRemux=function(e,t,a){var i=t.audioTrack,o=t.videoTrack,n=t.id3Track,r=t.textTrack,E=this.currentTransmuxState,_=E.accurateTimeOffset,T=E.timeOffset;b.log("[transmuxer.ts]: Flushed fragment "+a.sn+(a.part>-1?" p: "+a.part:"")+" of level "+a.level);var s=this.remuxer.remux(i,o,n,r,T,_,!0,this.id);e.push({remuxResult:s,chunkMeta:a}),a.transmuxing.executeEnd=sn()},t.resetInitialTimestamp=function(e){var t=this.demuxer,a=this.remuxer;t&&a&&(t.resetTimeStamp(e),a.resetTimeStamp(e))},t.resetContiguity=function(){var e=this.demuxer,t=this.remuxer;e&&t&&(e.resetContiguity(),t.resetNextTimestamp())},t.resetInitSegment=function(e,t,a,i,o){var n=this.demuxer,r=this.remuxer;n&&r&&(n.resetInitSegment(e,t,a,i),r.resetInitSegment(e,t,a,o))},t.destroy=function(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)},t.transmux=function(e,t,a,i,o){return t&&"SAMPLE-AES"===t.method?this.transmuxSampleAes(e,t,a,i,o):this.transmuxUnencrypted(e,a,i,o)},t.transmuxUnencrypted=function(e,t,a,i){var o=this.demuxer.demux(e,t,!1,!this.config.progressive),n=o.audioTrack,r=o.videoTrack,E=o.id3Track,_=o.textTrack;return{remuxResult:this.remuxer.remux(n,r,E,_,t,a,!1,this.id),chunkMeta:i}},t.transmuxSampleAes=function(e,t,a,i,o){var n=this;return this.demuxer.demuxSampleAes(e,t,a).then((function(e){return{remuxResult:n.remuxer.remux(e.audioTrack,e.videoTrack,e.id3Track,e.textTrack,a,i,!1,n.id),chunkMeta:o}}))},t.configureTransmuxer=function(e){for(var t,a=this.config,i=this.observer,o=this.typeSupported,n=this.vendor,r=0,E=un.length;r0&&null!=(null==t?void 0:t.key)&&null!==t.iv&&null!=t.method&&(a=t),a}var cn=function(e){return{remuxResult:{},chunkMeta:e}};function Nn(e){return"then"in e&&e.then instanceof Function}var Rn=function(e,t,a,i,o){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=a,this.duration=i,this.defaultInitPts=o||null},mn=function(e,t,a,i,o,n){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=a,this.trackSwitch=i,this.timeOffset=o,this.initSegmentChange=n},Ln={exports:{}};!(function(e){var t=Object.prototype.hasOwnProperty,a="~";function i(){}function o(e,t,a){this.fn=e,this.context=t,this.once=a||!1}function n(e,t,i,n,r){if("function"!=typeof i)throw new TypeError("The listener must be a function");var E=new o(i,n||e,r),_=a?a+t:t;return e._events[_]?e._events[_].fn?e._events[_]=[e._events[_],E]:e._events[_].push(E):(e._events[_]=E,e._eventsCount++),e}function r(e,t){0==--e._eventsCount?e._events=new i:delete e._events[t]}function E(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(a=!1)),E.prototype.eventNames=function(){var e,i,o=[];if(0===this._eventsCount)return o;for(i in e=this._events)t.call(e,i)&&o.push(a?i.slice(1):i);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},E.prototype.listeners=function(e){var t=a?a+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var o=0,n=i.length,r=new Array(n);o1&&_.id===(null==d?void 0:d.stats.chunkCount),L=!c&&(1===N||0===N&&(1===R||m&&R<=0)),D=self.performance.now();(c||N||0===o.stats.parsing.start)&&(o.stats.parsing.start=D),!n||!R&&L||(n.stats.parsing.start=D);var p=!(d&&(null==(s=o.initSegment)?void 0:s.url)===(null==(S=d.initSegment)?void 0:S.url)),C=new mn(O,L,E,c,A,p);if(!L||O||p){b.log("[transmuxer-interface, "+o.type+"]: Starting new transmux session for sn: "+_.sn+" p: "+_.part+" level: "+_.level+" id: "+_.id+"\n discontinuity: "+O+"\n trackSwitch: "+c+"\n contiguous: "+L+"\n accurateTimeOffset: "+E+"\n timeOffset: "+A+"\n initSegmentChange: "+p);var h=new Rn(a,i,t,r,T);this.configureTransmuxer(h)}if(this.frag=o,this.part=n,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:u,chunkMeta:_,state:C},e instanceof ArrayBuffer?[e]:[]);else if(I){var f=I.push(e,u,_,C);Nn(f)?(I.async=!0,f.then((function(e){l.handleTransmuxComplete(e)})).catch((function(e){l.transmuxerError(e,_,"transmuxer-interface push error")}))):(I.async=!1,this.handleTransmuxComplete(f))}},t.flush=function(e){var t=this;e.transmuxing.start=self.performance.now();var a=this.transmuxer;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(a){var i=a.flush(e);Nn(i)||a.async?(Nn(i)||(i=Promise.resolve(i)),i.then((function(a){t.handleFlushResult(a,e)})).catch((function(a){t.transmuxerError(a,e,"transmuxer-interface flush error")}))):this.handleFlushResult(i,e)}},t.transmuxerError=function(e,t,a){this.hls&&(this.error=e,this.hls.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,chunkMeta:t,fatal:!1,error:e,err:e,reason:a}))},t.handleFlushResult=function(e,t){var a=this;e.forEach((function(e){a.handleTransmuxComplete(e)})),this.onFlush(t)},t.onWorkerMessage=function(e){var t=e.data,a=this.hls;switch(t.event){case"init":var i,o=null==(i=this.workerContext)?void 0:i.objectURL;o&&self.URL.revokeObjectURL(o);break;case"transmuxComplete":this.handleTransmuxComplete(t.data);break;case"flush":this.onFlush(t.data);break;case"workerLog":b[t.data.logType]&&b[t.data.logType](t.data.message);break;default:t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,a.trigger(t.event,t.data)}},t.configureTransmuxer=function(e){var t=this.transmuxer;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)},t.handleTransmuxComplete=function(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)},e})();function Wn(e,t){if(e.length!==t.length)return!1;for(var a=0;a0&&-1===e?(this.log("Override startPosition with lastCurrentTime @"+t.toFixed(3)),e=t,this.state=Xi.IDLE):(this.loadedmetadata=!1,this.state=Xi.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()},a.doTick=function(){switch(this.state){case Xi.IDLE:this.doTickIdle();break;case Xi.WAITING_TRACK:var t,a=this.levels,i=this.trackId,o=null==a||null==(t=a[i])?void 0:t.details;if(o){if(this.waitForCdnTuneIn(o))break;this.state=Xi.WAITING_INIT_PTS}break;case Xi.FRAG_LOADING_WAITING_RETRY:var n,r=performance.now(),E=this.retryDate;if(!E||r>=E||null!=(n=this.media)&&n.seeking){var _=this.levels,T=this.trackId;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((null==_?void 0:_[T])||null),this.state=Xi.IDLE}break;case Xi.WAITING_INIT_PTS:var s=this.waitingData;if(s){var S=s.frag,l=s.part,I=s.cache,A=s.complete;if(void 0!==this.initPTS[S.cc]){this.waitingData=null,this.waitingVideoCC=-1,this.state=Xi.FRAG_LOADING;var u={frag:S,part:l,payload:I.flush(),networkDetails:null};this._handleFragmentLoadProgress(u),A&&e.prototype._handleFragmentLoadComplete.call(this,u)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log("Waiting fragment cc ("+S.cc+") cancelled because video is at cc "+this.videoTrackCC),this.clearWaitingFragment();else{var d=this.getLoadPosition(),O=hi.bufferInfo(this.mediaBuffer,d,this.config.maxBufferHole);xa(O.end,this.config.maxFragLookUpTolerance,S)<0&&(this.log("Waiting fragment cc ("+S.cc+") @ "+S.start+" cancelled because another fragment at "+O.end+" is needed"),this.clearWaitingFragment())}}else this.state=Xi.IDLE}this.onTickEnd()},a.clearWaitingFragment=function(){var e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=Xi.IDLE)},a.resetLoadingState=function(){this.clearWaitingFragment(),e.prototype.resetLoadingState.call(this)},a.onTickEnd=function(){var e=this.media;null!=e&&e.readyState&&(this.lastCurrentTime=e.currentTime)},a.doTickIdle=function(){var e=this.hls,t=this.levels,a=this.media,i=this.trackId,o=e.config;if((a||!this.startFragRequested&&o.startFragPrefetch)&&null!=t&&t[i]){var n=t[i],r=n.details;if(!r||r.live&&this.levelLastLoaded!==n||this.waitForCdnTuneIn(r))this.state=Xi.WAITING_TRACK;else{var E=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&E&&(this.bufferFlushed=!1,this.afterBufferFlushed(E,z.AUDIO,$t.AUDIO));var _=this.getFwdBufferInfo(E,$t.AUDIO);if(null!==_){var T=this.bufferedTrack,s=this.switchingTrack;if(!s&&this._streamEnded(_,r))return e.trigger(f.BUFFER_EOS,{type:"audio"}),void(this.state=Xi.ENDED);var S=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,$t.MAIN),l=_.len,I=this.getMaxBufferLength(null==S?void 0:S.len),A=r.fragments,u=A[0].start,d=this.flushing?this.getLoadPosition():_.end;if(s&&a){var O=this.getLoadPosition();T&&!yn(s.attrs,T.attrs)&&(d=O),r.PTSKnown&&Ou||_.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),a.currentTime=u+.05)}if(!(l>=I&&!s&&dS.end+r.targetduration;if(R||(null==S||!S.len)&&_.len){var m=this.getAppendedFrag(c.start,$t.MAIN);if(null===m)return;if(N||(N=!!m.gap||!!R&&0===S.len),R&&!N||N&&_.nextStart&&_.nextStart-1)o=n[E];else{var _=Ii(r,this.tracks);o=this.tracks[_]}}var T=this.findTrackId(o);-1===T&&o&&(T=this.findTrackId(null));var s={audioTracks:n};this.log("Updating audio tracks, "+n.length+" track(s) found in group(s): "+(null==a?void 0:a.join(","))),this.hls.trigger(f.AUDIO_TRACKS_UPDATED,s);var S=this.trackId;if(-1!==T&&-1===S)this.setAudioTrack(T);else if(n.length&&-1===S){var l,I=new Error("No audio track selected for current audio group-ID(s): "+(null==(l=this.groupIds)?void 0:l.join(","))+" track count: "+n.length);this.warn(I.message),this.hls.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:I})}}else this.shouldReloadPlaylist(o)&&this.setAudioTrack(this.trackId)}},a.onError=function(e,t){!t.fatal&&t.context&&(t.context.type!==Xt.AUDIO_TRACK||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||(this.requestScheduled=-1,this.checkRetry(t)))},a.setAudioOption=function(e){var t=this.hls;if(t.config.audioPreference=e,e){var a=this.allAudioTracks;if(this.selectDefaultTrack=!1,a.length){var i=this.currentTrack;if(i&&Ai(e,i,di))return i;var o=Ii(e,this.tracksInGroup,di);if(o>-1){var n=this.tracksInGroup[o];return this.setAudioTrack(o),n}if(i){var r=t.loadLevel;-1===r&&(r=t.firstAutoLevel);var E=Oi(e,t.levels,a,r,di);if(-1===E)return null;t.nextLoadLevel=E}if(e.channels||e.audioCodec){var _=Ii(e,a);if(_>-1)return a[_]}}}return null},a.setAudioTrack=function(e){var t=this.tracksInGroup;if(e<0||e>=t.length)this.warn("Invalid audio track id: "+e);else{this.clearTimer(),this.selectDefaultTrack=!1;var a=this.currentTrack,o=t[e],n=o.details&&!o.details.live;if(!(e===this.trackId&&o===a&&n||(this.log("Switching to audio-track "+e+' "'+o.name+'" lang:'+o.lang+" group:"+o.groupId+" channels:"+o.channels),this.trackId=e,this.currentTrack=o,this.hls.trigger(f.AUDIO_TRACK_SWITCHING,i({},o)),n))){var r=this.switchParams(o.url,null==a?void 0:a.details);this.loadPlaylist(r)}}},a.findTrackId=function(e){for(var t=this.tracksInGroup,a=0;a=o[E].start&&r<=o[E].end){n=o[E];break}var _=a.start+a.duration;n?n.end=_:(n={start:r,end:_},o.push(n)),this.fragmentTracker.fragBuffered(a),this.fragBufferedComplete(a,null)}}},a.onBufferFlushing=function(e,t){var a=t.startOffset,i=t.endOffset;if(0===a&&i!==Number.POSITIVE_INFINITY){var o=i-1;if(o<=0)return;t.endOffsetSubtitles=Math.max(0,o),this.tracksBuffered.forEach((function(e){for(var t=0;t=o.length||r!==i)&&E){this.log("Subtitle track "+r+" loaded ["+n.startSN+","+n.endSN+"]"+(n.lastPartSn?"[part-"+n.lastPartSn+"-"+n.lastPartIndex+"]":"")+",duration:"+n.totalduration),this.mediaBuffer=this.mediaBufferTimeRanges;var _=0;if(n.live||null!=(a=E.details)&&a.live){var T=this.mainDetails;if(n.deltaUpdateFailed||!T)return;var s,S=T.fragments[0];E.details?0===(_=this.alignPlaylists(n,E.details,null==(s=this.levelLastLoaded)?void 0:s.details))&&S&&Ma(n,_=S.start):n.hasProgramDateTime&&T.hasProgramDateTime?(bi(n,T),_=n.fragments[0].start):S&&Ma(n,_=S.start)}E.details=n,this.levelLastLoaded=E,this.startFragRequested||!this.mainDetails&&n.live||this.setStartPosition(this.mainDetails||n,_),this.tick(),n.live&&!this.fragCurrent&&this.media&&this.state===Xi.IDLE&&(ja(null,n.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),E.details=void 0))}}else this.warn("Subtitle tracks were reset while loading level "+r)},a._handleFragmentLoadComplete=function(e){var t=this,a=e.frag,i=e.payload,o=a.decryptdata,n=this.hls;if(!this.fragContextChanged(a)&&i&&i.byteLength>0&&null!=o&&o.key&&o.iv&&"AES-128"===o.method){var r=performance.now();this.decrypter.decrypt(new Uint8Array(i),o.key.buffer,o.iv.buffer).catch((function(e){throw n.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:a}),e})).then((function(e){var t=performance.now();n.trigger(f.FRAG_DECRYPTED,{frag:a,payload:e,stats:{tstart:r,tdecrypt:t}})})).catch((function(e){t.warn(e.name+": "+e.message),t.state=Xi.IDLE}))}},a.doTick=function(){if(this.media){if(this.state===Xi.IDLE){var e=this.currentTrackId,t=this.levels,a=null==t?void 0:t[e];if(!a||!t.length||!a.details)return;var i=this.config,o=this.getLoadPosition(),n=hi.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],o,i.maxBufferHole),r=n.end,E=n.len,_=this.getFwdBufferInfo(this.media,$t.MAIN),T=a.details;if(E>this.getMaxBufferLength(null==_?void 0:_.len)+T.levelTargetDuration)return;var s=T.fragments,S=s.length,l=T.edge,I=null,A=this.fragPrevious;if(rl-u?0:u;!(I=ja(A,s,Math.max(s[0].start,r),d))&&A&&A.start>>=0)>i-1)throw new DOMException("Failed to execute '"+t+"' on 'TimeRanges': The index provided ("+a+") is greater than the maximum bound ("+i+")");return e[a][t]};this.buffered={get length(){return e.length},end:function(a){return t("end",a,e.length)},start:function(a){return t("start",a,e.length)}}},wn=(function(e){function t(t){var a;return(a=e.call(this,t,"[subtitle-track-controller]")||this).media=null,a.tracks=[],a.groupIds=null,a.tracksInGroup=[],a.trackId=-1,a.currentTrack=null,a.selectDefaultTrack=!0,a.queuedDefaultTrack=-1,a.asyncPollTrackChange=function(){return a.pollTrackChange(0)},a.useTextTrackPolling=!1,a.subtitlePollingInterval=-1,a._subtitleDisplay=!0,a.onTextTracksChanged=function(){if(a.useTextTrackPolling||self.clearInterval(a.subtitlePollingInterval),a.media&&a.hls.config.renderTextTracksNatively){for(var e=null,t=ra(a.media.textTracks),i=0;i-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))},a.pollTrackChange=function(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)},a.onMediaDetaching=function(){this.media&&(self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),ra(this.media.textTracks).forEach((function(e){aa(e)})),this.subtitleTrack=-1,this.media=null)},a.onManifestLoading=function(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0},a.onManifestParsed=function(e,t){this.tracks=t.subtitleTracks},a.onSubtitleTrackLoaded=function(e,t){var a=t.id,i=t.groupId,o=t.details,n=this.tracksInGroup[a];if(n&&n.groupId===i){var r=n.details;n.details=t.details,this.log("Subtitle track "+a+' "'+n.name+'" lang:'+n.lang+" group:"+i+" loaded ["+o.startSN+"-"+o.endSN+"]"),a===this.trackId&&this.playlistLoaded(a,t,r)}else this.warn("Subtitle track with id:"+a+" and group:"+i+" not found in active group "+(null==n?void 0:n.groupId))},a.onLevelLoading=function(e,t){this.switchLevel(t.level)},a.onLevelSwitching=function(e,t){this.switchLevel(t.level)},a.switchLevel=function(e){var t=this.hls.levels[e];if(t){var a=t.subtitleGroups||null,i=this.groupIds,o=this.currentTrack;if(!a||(null==i?void 0:i.length)!==(null==a?void 0:a.length)||null!=a&&a.some((function(e){return-1===(null==i?void 0:i.indexOf(e))}))){this.groupIds=a,this.trackId=-1,this.currentTrack=null;var n=this.tracks.filter((function(e){return!a||-1!==a.indexOf(e.groupId)}));if(n.length)this.selectDefaultTrack&&!n.some((function(e){return e.default}))&&(this.selectDefaultTrack=!1),n.forEach((function(e,t){e.id=t}));else if(!o&&!this.tracksInGroup.length)return;this.tracksInGroup=n;var r=this.hls.config.subtitlePreference;if(!o&&r){this.selectDefaultTrack=!1;var E=Ii(r,n);if(E>-1)o=n[E];else{var _=Ii(r,this.tracks);o=this.tracks[_]}}var T=this.findTrackId(o);-1===T&&o&&(T=this.findTrackId(null));var s={subtitleTracks:n};this.log("Updating subtitle tracks, "+n.length+' track(s) found in "'+(null==a?void 0:a.join(","))+'" group-id'),this.hls.trigger(f.SUBTITLE_TRACKS_UPDATED,s),-1!==T&&-1===this.trackId&&this.setSubtitleTrack(T)}else this.shouldReloadPlaylist(o)&&this.setSubtitleTrack(this.trackId)}},a.findTrackId=function(e){for(var t=this.tracksInGroup,a=this.selectDefaultTrack,i=0;i-1){var o=this.tracksInGroup[i];return this.setSubtitleTrack(i),o}if(a)return null;var n=Ii(e,t);if(n>-1)return t[n]}}return null},a.loadPlaylist=function(t){e.prototype.loadPlaylist.call(this);var a=this.currentTrack;if(this.shouldLoadPlaylist(a)&&a){var i=a.id,o=a.groupId,n=a.url;if(t)try{n=t.addDirectives(n)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}this.log("Loading subtitle playlist for id "+i),this.hls.trigger(f.SUBTITLE_TRACK_LOADING,{url:n,id:i,groupId:o,deliveryDirectives:t||null})}},a.toggleTrackModes=function(){var e=this.media;if(e){var t,a=ra(e.textTracks),i=this.currentTrack;if(i&&((t=a.filter((function(e){return Un(i,e)}))[0])||this.warn('Unable to find subtitle TextTrack with name "'+i.name+'" and language "'+i.lang+'"')),[].slice.call(a).forEach((function(e){"disabled"!==e.mode&&e!==t&&(e.mode="disabled")})),t){var o=this.subtitleDisplay?"showing":"hidden";t.mode!==o&&(t.mode=o)}}},a.setSubtitleTrack=function(e){var t=this.tracksInGroup;if(this.media)if(e<-1||e>=t.length||!p(e))this.warn("Invalid subtitle track id: "+e);else{this.clearTimer(),this.selectDefaultTrack=!1;var a=this.currentTrack,i=t[e]||null;if(this.trackId=e,this.currentTrack=i,this.toggleTrackModes(),i){var o=!!i.details&&!i.details.live;if(e!==this.trackId||i!==a||!o){this.log("Switching to subtitle-track "+e+(i?' "'+i.name+'" lang:'+i.lang+" group:"+i.groupId:""));var n=i.id,r=i.groupId,E=void 0===r?"":r,_=i.name,T=i.type,s=i.url;this.hls.trigger(f.SUBTITLE_TRACK_SWITCH,{id:n,groupId:E,name:_,type:T,url:s});var S=this.switchParams(i.url,null==a?void 0:a.details);this.loadPlaylist(S)}}else this.hls.trigger(f.SUBTITLE_TRACK_SWITCH,{id:e})}else this.queuedDefaultTrack=e},E(t,[{key:"subtitleDisplay",get:function(){return this._subtitleDisplay},set:function(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}},{key:"allSubtitleTracks",get:function(){return this.tracks}},{key:"subtitleTracks",get:function(){return this.tracksInGroup}},{key:"subtitleTrack",get:function(){return this.trackId},set:function(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}}]),t})(Za),Yn=(function(){function e(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}var t=e.prototype;return t.append=function(e,t,a){var i=this.queues[t];i.push(e),1!==i.length||a||this.executeNext(t)},t.insertAbort=function(e,t){this.queues[t].unshift(e),this.executeNext(t)},t.appendBlocker=function(e){var t,a=new Promise((function(e){t=e})),i={execute:t,onStart:function(){},onComplete:function(){},onError:function(){}};return this.append(i,e),a},t.executeNext=function(e){var t=this.queues[e];if(t.length){var a=t[0];try{a.execute()}catch(t){b.warn('[buffer-operation-queue]: Exception executing "'+e+'" SourceBuffer operation: '+t),a.onError(t);var i=this.buffers[e];null!=i&&i.updating||this.shiftAndExecuteNext(e)}}},t.shiftAndExecuteNext=function(e){this.queues[e].shift(),this.executeNext(e)},t.current=function(e){return this.queues[e][0]},e})(),zn=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,Kn=(function(){function e(e){var t=this;this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=function(e){t.hls&&t.hls.pauseBuffering()},this._onStartStreaming=function(e){t.hls&&t.hls.resumeBuffering()},this._onMediaSourceOpen=function(){var e=t.media,a=t.mediaSource;t.log("Media source opened"),e&&(e.removeEventListener("emptied",t._onMediaEmptied),t.updateMediaElementDuration(),t.hls.trigger(f.MEDIA_ATTACHED,{media:e,mediaSource:a})),a&&a.removeEventListener("sourceopen",t._onMediaSourceOpen),t.checkPendingTracks()},this._onMediaSourceClose=function(){t.log("Media source closed")},this._onMediaSourceEnded=function(){t.log("Media source ended")},this._onMediaEmptied=function(){var e=t.mediaSrc,a=t._objectUrl;e!==a&&b.error("Media element src was set while attaching MediaSource ("+a+" > "+e+")")},this.hls=e;var a="[buffer-controller]";this.appendSource=e.config.preferManagedMediaSource,this.log=b.log.bind(b,a),this.warn=b.warn.bind(b,a),this.error=b.error.bind(b,a),this._initSourceBuffer(),this.registerListeners()}var t=e.prototype;return t.hasSourceTypes=function(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0},t.destroy=function(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null},t.registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.BUFFER_RESET,this.onBufferReset,this),e.on(f.BUFFER_APPENDING,this.onBufferAppending,this),e.on(f.BUFFER_CODECS,this.onBufferCodecs,this),e.on(f.BUFFER_EOS,this.onBufferEos,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(f.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(f.FRAG_PARSED,this.onFragParsed,this),e.on(f.FRAG_CHANGED,this.onFragChanged,this)},t.unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.BUFFER_RESET,this.onBufferReset,this),e.off(f.BUFFER_APPENDING,this.onBufferAppending,this),e.off(f.BUFFER_CODECS,this.onBufferCodecs,this),e.off(f.BUFFER_EOS,this.onBufferEos,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(f.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(f.FRAG_PARSED,this.onFragParsed,this),e.off(f.FRAG_CHANGED,this.onFragChanged,this)},t._initSourceBuffer=function(){this.sourceBuffer={},this.operationQueue=new Yn(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null},t.onManifestLoading=function(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null},t.onManifestParsed=function(e,t){var a=2;(t.audio&&!t.video||!t.altAudio)&&(a=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=a,this.log(this.bufferCodecEventsExpected+" bufferCodec event(s) expected")},t.onMediaAttaching=function(e,t){var a=this.media=t.media,i=mt(this.appendSource);if(a&&i){var o,n=this.mediaSource=new i;this.log("created media source: "+(null==(o=n.constructor)?void 0:o.name)),n.addEventListener("sourceopen",this._onMediaSourceOpen),n.addEventListener("sourceended",this._onMediaSourceEnded),n.addEventListener("sourceclose",this._onMediaSourceClose),n.addEventListener("startstreaming",this._onStartStreaming),n.addEventListener("endstreaming",this._onEndStreaming);var r=this._objectUrl=self.URL.createObjectURL(n);if(this.appendSource)try{a.removeAttribute("src");var E=self.ManagedMediaSource;a.disableRemotePlayback=a.disableRemotePlayback||E&&n instanceof E,jn(a),xn(a,r),a.load()}catch(e){a.src=r}else a.src=r;a.addEventListener("emptied",this._onMediaEmptied)}},t.onMediaDetaching=function(){var e=this.media,t=this.mediaSource,a=this._objectUrl;if(t){if(this.log("media source detaching"),"open"===t.readyState)try{t.endOfStream()}catch(e){this.warn("onMediaDetaching: "+e.message+" while calling endOfStream")}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming),e&&(e.removeEventListener("emptied",this._onMediaEmptied),a&&self.URL.revokeObjectURL(a),this.mediaSrc===a?(e.removeAttribute("src"),this.appendSource&&jn(e),e.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(f.MEDIA_DETACHED,void 0)},t.onBufferReset=function(){var e=this;this.getSourceBufferTypes().forEach((function(t){e.resetBuffer(t)})),this._initSourceBuffer()},t.resetBuffer=function(e){var t=this.sourceBuffer[e];try{var a;t&&(this.removeBufferListeners(e),this.sourceBuffer[e]=void 0,null!=(a=this.mediaSource)&&a.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t))}catch(t){this.warn("onBufferReset "+e,t)}},t.onBufferCodecs=function(e,t){var a=this,i=this.getSourceBufferTypes().length,o=Object.keys(t);if(o.forEach((function(e){if(i){var o=a.tracks[e];if(o&&"function"==typeof o.buffer.changeType){var n,r=t[e],E=r.id,_=r.codec,T=r.levelCodec,s=r.container,S=r.metadata,l=Wt(o.codec,o.levelCodec),I=null==l?void 0:l.replace(zn,"$1"),A=Wt(_,T),u=null==(n=A)?void 0:n.replace(zn,"$1");if(A&&I!==u){"audio"===e.slice(0,5)&&(A=Mt(A,a.hls.config.preferManagedMediaSource));var d=s+";codecs="+A;a.appendChangeType(e,d),a.log("switching codec "+l+" to "+A),a.tracks[e]={buffer:o.buffer,codec:_,container:s,levelCodec:T,metadata:S,id:E}}}}else a.pendingTracks[e]=t[e]})),!i){var n=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==n&&(this.log(n+" bufferCodec event(s) expected "+o.join(",")),this.bufferCodecEventsExpected=n),this.mediaSource&&"open"===this.mediaSource.readyState&&this.checkPendingTracks()}},t.appendChangeType=function(e,t){var a=this,i=this.operationQueue,o={execute:function(){var o=a.sourceBuffer[e];o&&(a.log("changing "+e+" sourceBuffer type to "+t),o.changeType(t)),i.shiftAndExecuteNext(e)},onStart:function(){},onComplete:function(){},onError:function(t){a.warn("Failed to change "+e+" SourceBuffer type",t)}};i.append(o,e,!!this.pendingTracks[e])},t.onBufferAppending=function(e,t){var a=this,i=this.hls,o=this.operationQueue,n=this.tracks,r=t.data,E=t.type,_=t.frag,T=t.part,s=t.chunkMeta,S=s.buffering[E],l=self.performance.now();S.start=l;var I=_.stats.buffering,A=T?T.stats.buffering:null;0===I.start&&(I.start=l),A&&0===A.start&&(A.start=l);var u=n.audio,d=!1;"audio"===E&&"audio/mpeg"===(null==u?void 0:u.container)&&(d=!this.lastMpegAudioChunk||1===s.id||this.lastMpegAudioChunk.sn!==s.sn,this.lastMpegAudioChunk=s);var O=_.start,c={execute:function(){if(S.executeStart=self.performance.now(),d){var e=a.sourceBuffer[E];if(e){var t=O-e.timestampOffset;Math.abs(t)>=.1&&(a.log("Updating audio SourceBuffer timestampOffset to "+O+" (delta: "+t+") sn: "+_.sn+")"),e.timestampOffset=O)}}a.appendExecutor(r,E)},onStart:function(){},onComplete:function(){var e=self.performance.now();S.executeEnd=S.end=e,0===I.first&&(I.first=e),A&&0===A.first&&(A.first=e);var t=a.sourceBuffer,i={};for(var o in t)i[o]=hi.getBuffered(t[o]);a.appendErrors[E]=0,"audio"===E||"video"===E?a.appendErrors.audiovideo=0:(a.appendErrors.audio=0,a.appendErrors.video=0),a.hls.trigger(f.BUFFER_APPENDED,{type:E,frag:_,part:T,chunkMeta:s,parent:_.type,timeRanges:i})},onError:function(e){var t={type:P.MEDIA_ERROR,parent:_.type,details:B.BUFFER_APPEND_ERROR,sourceBufferName:E,frag:_,part:T,chunkMeta:s,error:e,err:e,fatal:!1};if(e.code===DOMException.QUOTA_EXCEEDED_ERR)t.details=B.BUFFER_FULL_ERROR;else{var o=++a.appendErrors[E];t.details=B.BUFFER_APPEND_ERROR,a.warn("Failed "+o+"/"+i.config.appendErrorMaxRetry+' times to append segment in "'+E+'" sourceBuffer'),o>=i.config.appendErrorMaxRetry&&(t.fatal=!0)}i.trigger(f.ERROR,t)}};o.append(c,E,!!this.pendingTracks[E])},t.onBufferFlushing=function(e,t){var a=this,i=this.operationQueue,o=function(e){return{execute:a.removeExecutor.bind(a,e,t.startOffset,t.endOffset),onStart:function(){},onComplete:function(){a.hls.trigger(f.BUFFER_FLUSHED,{type:e})},onError:function(t){a.warn("Failed to remove from "+e+" SourceBuffer",t)}}};t.type?i.append(o(t.type),t.type):this.getSourceBufferTypes().forEach((function(e){i.append(o(e),e)}))},t.onFragParsed=function(e,t){var a=this,i=t.frag,o=t.part,n=[],r=o?o.elementaryStreams:i.elementaryStreams;r[z.AUDIOVIDEO]?n.push("audiovideo"):(r[z.AUDIO]&&n.push("audio"),r[z.VIDEO]&&n.push("video"));var E=function(){var e=self.performance.now();i.stats.buffering.end=e,o&&(o.stats.buffering.end=e);var t=o?o.stats:i.stats;a.hls.trigger(f.FRAG_BUFFERED,{frag:i,part:o,stats:t,id:i.type})};0===n.length&&this.warn("Fragments must have at least one ElementaryStreamType set. type: "+i.type+" level: "+i.level+" sn: "+i.sn),this.blockBuffers(E,n)},t.onFragChanged=function(e,t){this.trimBuffers()},t.onBufferEos=function(e,t){var a=this;this.getSourceBufferTypes().reduce((function(e,i){var o=a.sourceBuffer[i];return!o||t.type&&t.type!==i||(o.ending=!0,o.ended||(o.ended=!0,a.log(i+" sourceBuffer now EOS"))),e&&!(o&&!o.ended)}),!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers((function(){a.getSourceBufferTypes().forEach((function(e){var t=a.sourceBuffer[e];t&&(t.ending=!1)}));var e=a.mediaSource;e&&"open"===e.readyState?(a.log("Calling mediaSource.endOfStream()"),e.endOfStream()):e&&a.log("Could not call mediaSource.endOfStream(). mediaSource.readyState: "+e.readyState)})))},t.onLevelUpdated=function(e,t){var a=t.details;a.fragments.length&&(this.details=a,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())},t.trimBuffers=function(){var e=this.hls,t=this.details,a=this.media;if(a&&null!==t&&this.getSourceBufferTypes().length){var i=e.config,o=a.currentTime,n=t.levelTargetDuration,r=t.live&&null!==i.liveBackBufferLength?i.liveBackBufferLength:i.backBufferLength;if(p(r)&&r>0){var E=Math.max(r,n),_=Math.floor(o/n)*n-E;this.flushBackBuffer(o,n,_)}if(p(i.frontBufferFlushThreshold)&&i.frontBufferFlushThreshold>0){var T=Math.max(i.maxBufferLength,i.frontBufferFlushThreshold),s=Math.max(T,n),S=Math.floor(o/n)*n+s;this.flushFrontBuffer(o,n,S)}}},t.flushBackBuffer=function(e,t,a){var i=this,o=this.details,n=this.sourceBuffer;this.getSourceBufferTypes().forEach((function(r){var E=n[r];if(E){var _=hi.getBuffered(E);if(_.length>0&&a>_.start(0)){if(i.hls.trigger(f.BACK_BUFFER_REACHED,{bufferEnd:a}),null!=o&&o.live)i.hls.trigger(f.LIVE_BACK_BUFFER_REACHED,{bufferEnd:a});else if(E.ended&&_.end(_.length-1)-e<2*t)return void i.log("Cannot flush "+r+" back buffer while SourceBuffer is in ended state");i.hls.trigger(f.BUFFER_FLUSHING,{startOffset:0,endOffset:a,type:r})}}}))},t.flushFrontBuffer=function(e,t,a){var i=this,o=this.sourceBuffer;this.getSourceBufferTypes().forEach((function(n){var r=o[n];if(r){var E=hi.getBuffered(r),_=E.length;if(_<2)return;var T=E.start(_-1),s=E.end(_-1);if(a>T||e>=T&&e<=s)return;if(r.ended&&e-s<2*t)return void i.log("Cannot flush "+n+" front buffer while SourceBuffer is in ended state");i.hls.trigger(f.BUFFER_FLUSHING,{startOffset:T,endOffset:1/0,type:n})}}))},t.updateMediaElementDuration=function(){if(this.details&&this.media&&this.mediaSource&&"open"===this.mediaSource.readyState){var e=this.details,t=this.hls,a=this.media,i=this.mediaSource,o=e.fragments[0].start+e.totalduration,n=a.duration,r=p(i.duration)?i.duration:0;e.live&&t.config.liveDurationInfinity?(i.duration=1/0,this.updateSeekableRange(e)):(o>r&&o>n||!p(n))&&(this.log("Updating Media Source duration to "+o.toFixed(3)),i.duration=o)}},t.updateSeekableRange=function(e){var t=this.mediaSource,a=e.fragments;if(a.length&&e.live&&null!=t&&t.setLiveSeekableRange){var i=Math.max(0,a[0].start),o=Math.max(i,i+e.totalduration);this.log("Media Source duration is set to "+t.duration+". Setting seekable range to "+i+"-"+o+"."),t.setLiveSeekableRange(i,o)}},t.checkPendingTracks=function(){var e=this.bufferCodecEventsExpected,t=this.operationQueue,a=this.pendingTracks,i=Object.keys(a).length;if(i&&(!e||2===i||"audiovideo"in a)){this.createSourceBuffers(a),this.pendingTracks={};var o=this.getSourceBufferTypes();if(o.length)this.hls.trigger(f.BUFFER_CREATED,{tracks:this.tracks}),o.forEach((function(e){t.executeNext(e)}));else{var n=new Error("could not create source buffer for media codec(s)");this.hls.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:n,reason:n.message})}}},t.createSourceBuffers=function(e){var t=this,a=this.sourceBuffer,i=this.mediaSource;if(!i)throw Error("createSourceBuffers called when mediaSource was null");var o=function(o){if(!a[o]){var n=e[o];if(!n)throw Error("source buffer exists for track "+o+", however track does not");var r=n.levelCodec||n.codec;r&&"audio"===o.slice(0,5)&&(r=Mt(r,t.hls.config.preferManagedMediaSource));var E=n.container+";codecs="+r;t.log("creating sourceBuffer("+E+")");try{var _=a[o]=i.addSourceBuffer(E),T=o;t.addBufferListener(T,"updatestart",t._onSBUpdateStart),t.addBufferListener(T,"updateend",t._onSBUpdateEnd),t.addBufferListener(T,"error",t._onSBUpdateError),t.addBufferListener(T,"bufferedchange",(function(e,a){var i=a.removedRanges;null!=i&&i.length&&t.hls.trigger(f.BUFFER_FLUSHED,{type:o})})),t.tracks[o]={buffer:_,codec:r,container:n.container,levelCodec:n.levelCodec,metadata:n.metadata,id:n.id}}catch(e){t.error("error while trying to add sourceBuffer: "+e.message),t.hls.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:e,sourceBufferName:o,mimeType:E})}}};for(var n in e)o(n)},t._onSBUpdateStart=function(e){this.operationQueue.current(e).onStart()},t._onSBUpdateEnd=function(e){var t;if("closed"!==(null==(t=this.mediaSource)?void 0:t.readyState)){var a=this.operationQueue;a.current(e).onComplete(),a.shiftAndExecuteNext(e)}else this.resetBuffer(e)},t._onSBUpdateError=function(e,t){var a,i=new Error(e+" SourceBuffer error. MediaSource readyState: "+(null==(a=this.mediaSource)?void 0:a.readyState));this.error(""+i,t),this.hls.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:i,fatal:!1});var o=this.operationQueue.current(e);o&&o.onError(i)},t.removeExecutor=function(e,t,a){var i=this.media,o=this.mediaSource,n=this.operationQueue,r=this.sourceBuffer[e];if(!i||!o||!r)return this.warn("Attempting to remove from the "+e+" SourceBuffer, but it does not exist"),void n.shiftAndExecuteNext(e);var E=p(i.duration)?i.duration:1/0,_=p(o.duration)?o.duration:1/0,T=Math.max(0,t),s=Math.min(a,E,_);s>T&&(!r.ending||r.ended)?(r.ended=!1,this.log("Removing ["+T+","+s+"] from the "+e+" SourceBuffer"),r.remove(T,s)):n.shiftAndExecuteNext(e)},t.appendExecutor=function(e,t){var a=this.sourceBuffer[t];if(a)a.ended=!1,a.appendBuffer(e);else if(!this.pendingTracks[t])throw new Error("Attempting to append to the "+t+" SourceBuffer, but it does not exist")},t.blockBuffers=function(e,t){var a=this;if(void 0===t&&(t=this.getSourceBufferTypes()),!t.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),void Promise.resolve().then(e);var i=this.operationQueue,o=t.map((function(e){return i.appendBlocker(e)}));Promise.all(o).then((function(){e(),t.forEach((function(e){var t=a.sourceBuffer[e];null!=t&&t.updating||i.shiftAndExecuteNext(e)}))}))},t.getSourceBufferTypes=function(){return Object.keys(this.sourceBuffer)},t.addBufferListener=function(e,t,a){var i=this.sourceBuffer[e];if(i){var o=a.bind(this,e);this.listeners[e].push({event:t,listener:o}),i.addEventListener(t,o)}},t.removeBufferListeners=function(e){var t=this.sourceBuffer[e];t&&this.listeners[e].forEach((function(e){t.removeEventListener(e.event,e.listener)}))},E(e,[{key:"mediaSrc",get:function(){var e,t=(null==(e=this.media)?void 0:e.firstChild)||this.media;return null==t?void 0:t.src}}]),e})();function jn(e){var t=e.querySelectorAll("source");[].slice.call(t).forEach((function(t){e.removeChild(t)}))}function xn(e,t){var a=self.document.createElement("source");a.type="video/mp4",a.src=t,e.appendChild(a)}var Qn={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},Xn=function(e){var t=e;return Qn.hasOwnProperty(e)&&(t=Qn[e]),String.fromCharCode(t)},$n=15,qn=100,Jn={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},Zn={17:2,18:4,21:6,22:8,23:10,19:13,20:15},er={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},tr={25:2,26:4,29:6,30:8,31:10,27:13,28:15},ar=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],ir=(function(){function e(){this.time=null,this.verboseLevel=0}return e.prototype.log=function(e,t){if(this.verboseLevel>=e){var a="function"==typeof t?t():t;b.log(this.time+" ["+e+"] "+a)}},e})(),or=function(e){for(var t=[],a=0;aqn&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=qn)},t.moveCursor=function(e){var t=this.pos+e;if(e>1)for(var a=this.pos+1;a=144&&this.backSpace();var a=Xn(e);this.pos>=qn?this.logger.log(0,(function(){return"Cannot insert "+e.toString(16)+" ("+a+") at position "+t.pos+". Skipping it!"})):(this.chars[this.pos].setChar(a,this.currPenState),this.moveCursor(1))},t.clearFromPos=function(e){var t;for(t=e;t0&&(a=e?"["+t.join(" | ")+"]":t.join("\n")),a},t.getTextAndFormat=function(){return this.rows},e})(),Tr=(function(){function e(e,t,a){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new _r(a),this.nonDisplayedMemory=new _r(a),this.lastOutputScreen=new _r(a),this.currRollUpRow=this.displayedMemory.rows[$n-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=a}var t=e.prototype;return t.reset=function(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[$n-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null},t.getHandler=function(){return this.outputFilter},t.setHandler=function(e){this.outputFilter=e},t.setPAC=function(e){this.writeScreen.setPAC(e)},t.setBkgData=function(e){this.writeScreen.setBkgData(e)},t.setMode=function(e){e!==this.mode&&(this.mode=e,this.logger.log(2,(function(){return"MODE="+e})),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)},t.insertChars=function(e){for(var t=this,a=0;a=46,t.italics)t.foreground="white";else{var a=Math.floor(e/2)-16,i=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=i[a]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)},t.outputDataUpdate=function(e){void 0===e&&(e=!1);var t=this.logger.time;null!==t&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t):this.cueStartTime=t,this.lastOutputScreen.copy(this.displayedMemory))},t.cueSplitAtTime=function(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))},e})(),sr=(function(){function e(e,t,a){this.channels=void 0,this.currentChannel=0,this.cmdHistory=Ir(),this.logger=void 0;var i=this.logger=new ir;this.channels=[null,new Tr(e,t,i),new Tr(e+1,a,i)]}var t=e.prototype;return t.getHandler=function(e){return this.channels[e].getHandler()},t.setHandler=function(e,t){this.channels[e].setHandler(t)},t.addData=function(e,t){var a,i,o,n=!1;this.logger.time=e;for(var r=0;r ("+or([i,o])+")"),(a=this.parseCmd(i,o))||(a=this.parseMidrow(i,o)),a||(a=this.parsePAC(i,o)),a||(a=this.parseBackgroundAttributes(i,o)),!a&&(n=this.parseChars(i,o))){var E=this.currentChannel;E&&E>0?this.channels[E].insertChars(n):this.logger.log(2,"No channel found yet. TEXT-MODE?")}a||n||this.logger.log(2,"Couldn't parse cleaned data "+or([i,o])+" orig: "+or([t[r],t[r+1]]))}},t.parseCmd=function(e,t){var a=this.cmdHistory;if(!((20===e||28===e||21===e||29===e)&&t>=32&&t<=47||(23===e||31===e)&&t>=33&&t<=35))return!1;if(lr(e,t,a))return Sr(null,null,a),this.logger.log(3,"Repeated command ("+or([e,t])+") is dropped"),!0;var i=20===e||21===e||23===e?1:2,o=this.channels[i];return 20===e||21===e||28===e||29===e?32===t?o.ccRCL():33===t?o.ccBS():34===t?o.ccAOF():35===t?o.ccAON():36===t?o.ccDER():37===t?o.ccRU(2):38===t?o.ccRU(3):39===t?o.ccRU(4):40===t?o.ccFON():41===t?o.ccRDC():42===t?o.ccTR():43===t?o.ccRTD():44===t?o.ccEDM():45===t?o.ccCR():46===t?o.ccENM():47===t&&o.ccEOC():o.ccTO(t-32),Sr(e,t,a),this.currentChannel=i,!0},t.parseMidrow=function(e,t){var a=0;if((17===e||25===e)&&t>=32&&t<=47){if((a=17===e?1:2)!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;var i=this.channels[a];return!!i&&(i.ccMIDROW(t),this.logger.log(3,"MIDROW ("+or([e,t])+")"),!0)}return!1},t.parsePAC=function(e,t){var a,i=this.cmdHistory;if(!((e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127||(16===e||24===e)&&t>=64&&t<=95))return!1;if(lr(e,t,i))return Sr(null,null,i),!0;var o=e<=23?1:2;a=t>=64&&t<=95?1===o?Jn[e]:er[e]:1===o?Zn[e]:tr[e];var n=this.channels[o];return!!n&&(n.setPAC(this.interpretPAC(a,t)),Sr(e,t,i),this.currentChannel=o,!0)},t.interpretPAC=function(e,t){var a,i={color:null,italics:!1,indent:null,underline:!1,row:e};return a=t>95?t-96:t-64,i.underline=!(1&~a),a<=13?i.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(a/2)]:a<=15?(i.italics=!0,i.color="white"):i.indent=4*Math.floor((a-16)/2),i},t.parseChars=function(e,t){var a,i,o=null,n=null;if(e>=25?(a=2,n=e-8):(a=1,n=e),n>=17&&n<=19?(i=17===n?t+80:18===n?t+112:t+144,this.logger.log(2,"Special char '"+Xn(i)+"' in channel "+a),o=[i]):e>=32&&e<=127&&(o=0===t?[e]:[e,t]),o){var r=or(o);this.logger.log(3,"Char codes = "+r.join(",")),Sr(e,t,this.cmdHistory)}return o},t.parseBackgroundAttributes=function(e,t){var a;if(!((16===e||24===e)&&t>=32&&t<=47||(23===e||31===e)&&t>=45&&t<=47))return!1;var i={};16===e||24===e?(a=Math.floor((t-32)/2),i.background=ar[a],t%2==1&&(i.background=i.background+"_semi")):45===t?i.background="transparent":(i.foreground="black",47===t&&(i.underline=!0));var o=e<=23?1:2;return this.channels[o].setBkgData(i),Sr(e,t,this.cmdHistory),!0},t.reset=function(){for(var e=0;ee)&&(this.startTime=e),this.endTime=t,this.screen=a,this.timelineController.createCaptionsTrack(this.trackName)},t.reset=function(){this.cueRanges=[],this.startTime=null},e})(),ur=(function(){if(null!=te&&te.VTTCue)return self.VTTCue;var e=["","lr","rl"],t=["start","middle","end","left","right"];function a(e,t){if("string"!=typeof t)return!1;if(!Array.isArray(e))return!1;var a=t.toLowerCase();return!!~e.indexOf(a)&&a}function i(t){return a(e,t)}function o(e){return a(t,e)}function n(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),i=1;i100)throw new Error("Position must be between 0 and 100.");c=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"positionAlign",n({},E,{get:function(){return N},set:function(e){var t=o(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");N=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"size",n({},E,{get:function(){return R},set:function(e){if(e<0||e>100)throw new Error("Size must be between 0 and 100.");R=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"align",n({},E,{get:function(){return m},set:function(e){var t=o(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");m=t,this.hasBeenReset=!0}})),r.displayState=void 0}return r.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},r})(),dr=(function(){function e(){}return e.prototype.decode=function(e,t){if(!e)return"";if("string"!=typeof e)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))},e})();function Or(e){function t(e,t,a,i){return 3600*(0|e)+60*(0|t)+(0|a)+parseFloat(i||0)}var a=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return a?parseFloat(a[2])>59?t(a[2],a[3],0,a[4]):t(a[1],a[2],a[3],a[4]):null}var cr=(function(){function e(){this.values=Object.create(null)}var t=e.prototype;return t.set=function(e,t){this.get(e)||""===t||(this.values[e]=t)},t.get=function(e,t,a){return a?this.has(e)?this.values[e]:t[a]:this.has(e)?this.values[e]:t},t.has=function(e){return e in this.values},t.alt=function(e,t,a){for(var i=0;i=0&&a<=100)return this.set(e,a),!0}return!1},e})();function Nr(e,t,a,i){var o=i?e.split(i):[e];for(var n in o)if("string"==typeof o[n]){var r=o[n].split(a);2===r.length&&t(r[0],r[1])}}var Rr=new ur(0,0,""),mr="middle"===Rr.align?"middle":"center";function Lr(e,t,a){var i=e;function o(){var t=Or(e);if(null===t)throw new Error("Malformed timestamp: "+i);return e=e.replace(/^[^\sa-zA-Z-]+/,""),t}function n(e,t){var i=new cr;Nr(e,(function(e,t){var o;switch(e){case"region":for(var n=a.length-1;n>=0;n--)if(a[n].id===t){i.set(e,a[n].region);break}break;case"vertical":i.alt(e,t,["rl","lr"]);break;case"line":o=t.split(","),i.integer(e,o[0]),i.percent(e,o[0])&&i.set("snapToLines",!1),i.alt(e,o[0],["auto"]),2===o.length&&i.alt("lineAlign",o[1],["start",mr,"end"]);break;case"position":o=t.split(","),i.percent(e,o[0]),2===o.length&&i.alt("positionAlign",o[1],["start",mr,"end","line-left","line-right","auto"]);break;case"size":i.percent(e,t);break;case"align":i.alt(e,t,["start",mr,"end","left","right"])}}),/:/,/\s/),t.region=i.get("region",null),t.vertical=i.get("vertical","");var o=i.get("line","auto");"auto"===o&&-1===Rr.line&&(o=-1),t.line=o,t.lineAlign=i.get("lineAlign","start"),t.snapToLines=i.get("snapToLines",!0),t.size=i.get("size",100),t.align=i.get("align",mr);var n=i.get("position","auto");"auto"===n&&50===Rr.position&&(n="start"===t.align||"left"===t.align?0:"end"===t.align||"right"===t.align?100:50),t.position=n}function r(){e=e.replace(/^\s+/,"")}if(r(),t.startTime=o(),r(),"--\x3e"!==e.slice(0,3))throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+i);e=e.slice(3),r(),t.endTime=o(),r(),n(e,t)}function Dr(e){return e.replace(//gi,"\n")}var pr=(function(){function e(){this.state="INITIAL",this.buffer="",this.decoder=new dr,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}var t=e.prototype;return t.parse=function(e){var t=this;function a(){var e=t.buffer,a=0;for(e=Dr(e);a9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!(p(t)&&p(a)&&p(i)&&p(o)))throw Error("Malformed X-TIMESTAMP-MAP: Local:"+e);return t+=1e3*a,t+=6e4*i,t+=36e5*o},Pr=function(e){for(var t=5381,a=e.length;a;)t=33*t^e.charCodeAt(--a);return(t>>>0).toString()};function Br(e,t,a){return Pr(e.toString())+Pr(t.toString())+Pr(a)}var gr=function(e,t,a){var i=e[t],o=e[i.prevCC];if(!o||!o.new&&i.new)return e.ccOffset=e.presentationOffset=i.start,void(i.new=!1);for(;null!=(n=o)&&n.new;){var n;e.ccOffset+=i.start-o.start,i.new=!1,o=e[(i=o).prevCC]}e.presentationOffset=a};function vr(e,t,a,i,o,n,r){var E,_=new pr,T=Be(new Uint8Array(e)).trim().replace(Cr,"\n").split("\n"),s=[],S=t?qo(t.baseTime,t.timescale):0,l="00:00.000",I=0,A=0,u=!0;_.oncue=function(e){var n=a[i],r=a.ccOffset,_=(I-S)/9e4;if(null!=n&&n.new&&(void 0!==A?r=a.ccOffset=n.start:gr(a,i,_)),_){if(!t)return void(E=new Error("Missing initPTS for VTT MPEGTS"));r=_-a.presentationOffset}var T=e.endTime-e.startTime,l=rn(9e4*(e.startTime+r-A),9e4*o)/9e4;e.startTime=Math.max(l,0),e.endTime=Math.max(l+T,0);var u=e.text.trim();e.text=decodeURIComponent(encodeURIComponent(u)),e.id||(e.id=Br(e.startTime,e.endTime,u)),e.endTime>0&&s.push(e)},_.onparsingerror=function(e){E=e},_.onflush=function(){E?r(E):n(s)},T.forEach((function(e){if(u){if(hr(e,"X-TIMESTAMP-MAP=")){u=!1,e.slice(16).split(",").forEach((function(e){hr(e,"LOCAL:")?l=e.slice(6):hr(e,"MPEGTS:")&&(I=parseInt(e.slice(7)))}));try{A=fr(l)/1e3}catch(e){E=e}return}""===e&&(u=!1)}_.parse(e+"\n")})),_.flush()}var Mr="stpp.ttml.im1t",Wr=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,yr=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,Ur={left:"start",center:"center",right:"end",start:"start",end:"end"};function br(e,t,a,i){var o=we(new Uint8Array(e),["mdat"]);if(0!==o.length){var n=o.map((function(e){return Be(e)})),r=Xo(t.baseTime,1,t.timescale);try{n.forEach((function(e){return a(Gr(e,r))}))}catch(e){i(e)}}else i(new Error("Could not parse IMSC1 mdat"))}function Gr(e,t){var a=(new DOMParser).parseFromString(e,"text/xml").getElementsByTagName("tt")[0];if(!a)throw new Error("Invalid ttml");var i={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},o=Object.keys(i).reduce((function(e,t){return e[t]=a.getAttribute("ttp:"+t)||i[t],e}),{}),n="preserve"!==a.getAttribute("xml:space"),r=Fr(kr(a,"styling","style")),E=Fr(kr(a,"layout","region")),_=kr(a,"body","[begin]");return[].map.call(_,(function(e){var a=Vr(e,n);if(!a||!e.hasAttribute("begin"))return null;var i=zr(e.getAttribute("begin"),o),_=zr(e.getAttribute("dur"),o),s=zr(e.getAttribute("end"),o);if(null===i)throw Yr(e);if(null===s){if(null===_)throw Yr(e);s=i+_}var S=new ur(i-t,s-t,a);S.id=Br(S.startTime,S.endTime,S.text);var l=Hr(E[e.getAttribute("region")],r[e.getAttribute("style")],r),I=l.textAlign;if(I){var A=Ur[I];A&&(S.lineAlign=A),S.align=I}return T(S,l),S})).filter((function(e){return null!==e}))}function kr(e,t,a){var i=e.getElementsByTagName(t)[0];return i?[].slice.call(i.querySelectorAll(a)):[]}function Fr(e){return e.reduce((function(e,t){var a=t.getAttribute("xml:id");return a&&(e[a]=t),e}),{})}function Vr(e,t){return[].slice.call(e.childNodes).reduce((function(e,a,i){var o;return"br"===a.nodeName&&i?e+"\n":null!=(o=a.childNodes)&&o.length?Vr(a,t):t?e+a.textContent.trim().replace(/\s+/g," "):e+a.textContent}),"")}function Hr(e,t,a){var i="http://www.w3.org/ns/ttml#styling",o=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],r=null!=e&&e.hasAttribute("style")?e.getAttribute("style"):null;return r&&a.hasOwnProperty(r)&&(o=a[r]),n.reduce((function(a,n){var r=wr(t,i,n)||wr(e,i,n)||wr(o,i,n);return r&&(a[n]=r),a}),{})}function wr(e,t,a){return e&&e.hasAttributeNS(t,a)?e.getAttributeNS(t,a):null}function Yr(e){return new Error("Could not parse ttml timestamp "+e)}function zr(e,t){if(!e)return null;var a=Or(e);return null===a&&(Wr.test(e)?a=Kr(e,t):yr.test(e)&&(a=jr(e,t))),a}function Kr(e,t){var a=Wr.exec(e),i=(0|a[4])+(0|a[5])/t.subFrameRate;return 3600*(0|a[1])+60*(0|a[2])+(0|a[3])+i/t.frameRate}function jr(e,t){var a=yr.exec(e),i=Number(a[1]);switch(a[2]){case"h":return 3600*i;case"m":return 60*i;case"ms":return 1e3*i;case"f":return i/t.frameRate;case"t":return i/t.tickRate}return i}var xr=(function(){function e(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=qr(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(f.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(f.FRAG_LOADING,this.onFragLoading,this),e.on(f.FRAG_LOADED,this.onFragLoaded,this),e.on(f.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(f.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(f.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(f.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this)}var t=e.prototype;return t.destroy=function(){var e=this.hls;e.off(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(f.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(f.FRAG_LOADING,this.onFragLoading,this),e.off(f.FRAG_LOADED,this.onFragLoaded,this),e.off(f.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(f.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(f.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(f.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0},t.initCea608Parsers=function(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){var e=new Ar(this,"textTrack1"),t=new Ar(this,"textTrack2"),a=new Ar(this,"textTrack3"),i=new Ar(this,"textTrack4");this.cea608Parser1=new sr(1,e,t),this.cea608Parser2=new sr(3,a,i)}},t.addCues=function(e,t,a,i,o){for(var n=!1,r=o.length;r--;){var E=o[r],_=$r(E[0],E[1],t,a);if(_>=0&&(E[0]=Math.min(E[0],t),E[1]=Math.max(E[1],a),n=!0,_/(a-t)>.5))return}if(n||o.push([t,a]),this.config.renderTextTracksNatively){var T=this.captionsTracks[e];this.Cues.newCue(T,t,a,i)}else{var s=this.Cues.newCue(null,t,a,i);this.hls.trigger(f.CUES_PARSED,{type:"captions",cues:s,track:e})}},t.onInitPtsFound=function(e,t){var a=this,i=t.frag,o=t.id,n=t.initPTS,r=t.timescale,E=this.unparsedVttFrags;"main"===o&&(this.initPTS[i.cc]={baseTime:n,timescale:r}),E.length&&(this.unparsedVttFrags=[],E.forEach((function(e){a.onFragLoaded(f.FRAG_LOADED,e)})))},t.getExistingTrack=function(e,t){var a=this.media;if(a)for(var i=0;ii.cc||_.trigger(f.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:t})}))}else r.push(e)},t._fallbackToIMSC1=function(e,t){var a=this,i=this.tracks[e.level];i.textCodec||br(t,this.initPTS[e.cc],(function(){i.textCodec=Mr,a._parseIMSC1(e,t)}),(function(){i.textCodec="wvtt"}))},t._appendCues=function(e,t){var a=this.hls;if(this.config.renderTextTracksNatively){var i=this.textTracks[t];if(!i||"disabled"===i.mode)return;e.forEach((function(e){return ta(i,e)}))}else{var o=this.tracks[t];if(!o)return;var n=o.default?"default":"subtitles"+t;a.trigger(f.CUES_PARSED,{type:"subtitles",cues:e,track:n})}},t.onFragDecrypted=function(e,t){t.frag.type===$t.SUBTITLE&&this.onFragLoaded(f.FRAG_LOADED,t)},t.onSubtitleTracksCleared=function(){this.tracks=[],this.captionsTracks={}},t.onFragParsingUserdata=function(e,t){this.initCea608Parsers();var a=this.cea608Parser1,i=this.cea608Parser2;if(this.enabled&&a&&i){var o=t.frag,n=t.samples;if(o.type!==$t.MAIN||"NONE"!==this.closedCaptionsForLevel(o))for(var r=0;rthis.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}},t.getMaxLevel=function(t){var a=this,i=this.hls.levels;if(!i.length)return-1;var o=i.filter((function(e,i){return a.isLevelAllowed(e)&&i<=t}));return this.clientRect=null,e.getMaxLevelByMediaSize(o,this.mediaWidth,this.mediaHeight)},t.startCapping=function(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())},t.stopCapping=function(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)},t.getDimensions=function(){if(this.clientRect)return this.clientRect;var e=this.media,t={width:0,height:0};if(e){var a=e.getBoundingClientRect();t.width=a.width,t.height=a.height,t.width||t.height||(t.width=a.right-a.left||e.width||0,t.height=a.bottom-a.top||e.height||0)}return this.clientRect=t,t},t.isLevelAllowed=function(e){return!this.restrictedLevels.some((function(t){return e.bitrate===t.bitrate&&e.width===t.width&&e.height===t.height}))},e.getMaxLevelByMediaSize=function(e,t,a){if(null==e||!e.length)return-1;for(var i=function(e,t){return!t||e.width!==t.width||e.height!==t.height},o=e.length-1,n=Math.max(t,a),r=0;r=n||E.height>=n)&&i(E,e[r+1])){o=r;break}}return o},E(e,[{key:"mediaWidth",get:function(){return this.getDimensions().width*this.contentScaleFactor}},{key:"mediaHeight",get:function(){return this.getDimensions().height*this.contentScaleFactor}},{key:"contentScaleFactor",get:function(){var e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch(e){}return e}}]),e})(),Zr=(function(){function e(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}var t=e.prototype;return t.setStreamController=function(e){this.streamController=e},t.registerListeners=function(){this.hls.on(f.MEDIA_ATTACHING,this.onMediaAttaching,this)},t.unregisterListeners=function(){this.hls.off(f.MEDIA_ATTACHING,this.onMediaAttaching,this)},t.destroy=function(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null},t.onMediaAttaching=function(e,t){var a=this.hls.config;if(a.capLevelOnFPSDrop){var i=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=i,i&&"function"==typeof i.getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),a.fpsDroppedMonitoringPeriod)}},t.checkFPS=function(e,t,a){var i=performance.now();if(t){if(this.lastTime){var o=i-this.lastTime,n=a-this.lastDroppedFrames,r=t-this.lastDecodedFrames,E=1e3*n/o,_=this.hls;if(_.trigger(f.FPS_DROP,{currentDropped:n,currentDecoded:r,totalDroppedFrames:a}),E>0&&n>_.config.fpsDroppedMonitoringThreshold*r){var T=_.currentLevel;b.warn("drop FPS ratio greater than max allowed value for currentLevel: "+T),T>0&&(-1===_.autoLevelCapping||_.autoLevelCapping>=T)&&(T-=1,_.trigger(f.FPS_DROP_LEVEL_CAPPING,{level:T,droppedLevel:_.currentLevel}),_.autoLevelCapping=T,this.streamController.nextLevelSwitch())}}this.lastTime=i,this.lastDroppedFrames=a,this.lastDecodedFrames=t}},t.checkFPSInterval=function(){var e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){var t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)},e})(),eE="[eme]",tE=(function(){function e(t){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=e.CDMCleanupPromise?[e.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=b.debug.bind(b,eE),this.log=b.log.bind(b,eE),this.warn=b.warn.bind(b,eE),this.error=b.error.bind(b,eE),this.hls=t,this.config=t.config,this.registerListeners()}var t=e.prototype;return t.destroy=function(){this.unregisterListeners(),this.onMediaDetached();var e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null},t.registerListeners=function(){this.hls.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(f.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(f.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(f.MANIFEST_LOADED,this.onManifestLoaded,this)},t.unregisterListeners=function(){this.hls.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(f.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(f.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(f.MANIFEST_LOADED,this.onManifestLoaded,this)},t.getLicenseServerUrl=function(e){var t=this.config,a=t.drmSystems,i=t.widevineLicenseUrl,o=a[e];if(o)return o.licenseUrl;if(e===ae.WIDEVINE&&i)return i;throw new Error('no license server URL configured for key-system "'+e+'"')},t.getServerCertificateUrl=function(e){var t=this.config.drmSystems[e];if(t)return t.serverCertificateUrl;this.log('No Server Certificate in config.drmSystems["'+e+'"]')},t.attemptKeySystemAccess=function(e){var t=this,a=this.hls.levels,i=function(e,t,a){return!!e&&a.indexOf(e)===t},o=a.map((function(e){return e.audioCodec})).filter(i),n=a.map((function(e){return e.videoCodec})).filter(i);return o.length+n.length===0&&n.push("avc1.42e01e"),new Promise((function(a,i){!(function e(r){var E=r.shift();t.getMediaKeysPromise(E,o,n).then((function(e){return a({keySystem:E,mediaKeys:e})})).catch((function(t){r.length?e(r):i(t instanceof rE?t:new rE({type:P.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_ACCESS,error:t,fatal:!0},t.message))}))})(e)}))},t.requestMediaKeySystemAccess=function(e,t){var a=this.config.requestMediaKeySystemAccessFunc;if("function"!=typeof a){var i="Configured requestMediaKeySystemAccess is not a function "+a;return null===se&&"http:"===self.location.protocol&&(i="navigator.requestMediaKeySystemAccess is not available over insecure protocol "+location.protocol),Promise.reject(new Error(i))}return a(e,t)},t.getMediaKeysPromise=function(e,t,a){var i=this,o=Se(e,t,a,this.config.drmSystemOptions),n=this.keySystemAccessPromises[e],r=null==n?void 0:n.keySystemAccess;if(!r){this.log('Requesting encrypted media "'+e+'" key-system access with config: '+JSON.stringify(o)),r=this.requestMediaKeySystemAccess(e,o);var E=this.keySystemAccessPromises[e]={keySystemAccess:r};return r.catch((function(t){i.log('Failed to obtain access to key-system "'+e+'": '+t)})),r.then((function(t){i.log('Access for key-system "'+t.keySystem+'" obtained');var a=i.fetchServerCertificate(e);return i.log('Create media-keys for "'+e+'"'),E.mediaKeys=t.createMediaKeys().then((function(t){return i.log('Media-keys created for "'+e+'"'),a.then((function(a){return a?i.setMediaKeysServerCertificate(t,e,a):t}))})),E.mediaKeys.catch((function(t){i.error('Failed to create media-keys for "'+e+'"}: '+t)})),E.mediaKeys}))}return r.then((function(){return n.mediaKeys}))},t.createMediaKeySessionContext=function(e){var t=e.decryptdata,a=e.keySystem,i=e.mediaKeys;this.log('Creating key-system session "'+a+'" keyId: '+ve.hexDump(t.keyId||[]));var o=i.createSession(),n={decryptdata:t,keySystem:a,mediaKeys:i,mediaKeysSession:o,keyStatus:"status-pending"};return this.mediaKeySessions.push(n),n},t.renewKeySession=function(e){var t=e.decryptdata;if(t.pssh){var a=this.createMediaKeySessionContext(e),i=this.getKeyIdString(t),o="cenc";this.keyIdToKeySessionPromise[i]=this.generateRequestWithPreferredKeySession(a,o,t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)},t.getKeyIdString=function(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(null===e.keyId)throw new Error("keyId is null");return ve.hexDump(e.keyId)},t.updateKeySession=function(e,t){var a,i=e.mediaKeysSession;return this.log('Updating key-session "'+i.sessionId+'" for keyID '+ve.hexDump((null==(a=e.decryptdata)?void 0:a.keyId)||[])+"\n } (data length: "+(t?t.byteLength:t)+")"),i.update(t)},t.selectKeySystemFormat=function(e){var t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log("Selecting key-system from fragment (sn: "+e.sn+" "+e.type+": "+e.level+") key formats "+t.join(", ")),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise},t.getKeyFormatPromise=function(e){var t=this;return new Promise((function(a,i){var o=_e(t.config),n=e.map(oe).filter((function(e){return!!e&&-1!==o.indexOf(e)}));return t.getKeySystemSelectionPromise(n).then((function(e){var t=e.keySystem,o=Ee(t);o?a(o):i(new Error('Unable to find format for key-system "'+t+'"'))})).catch(i)}))},t.loadKey=function(e){var t=this,a=e.keyInfo.decryptdata,i=this.getKeyIdString(a),o="(keyId: "+i+' format: "'+a.keyFormat+'" method: '+a.method+" uri: "+a.uri+")";this.log("Starting session for key "+o);var n=this.keyIdToKeySessionPromise[i];return n||(n=this.keyIdToKeySessionPromise[i]=this.getKeySystemForKeyPromise(a).then((function(i){var n=i.keySystem,r=i.mediaKeys;return t.throwIfDestroyed(),t.log("Handle encrypted media sn: "+e.frag.sn+" "+e.frag.type+": "+e.frag.level+" using key "+o),t.attemptSetMediaKeys(n,r).then((function(){t.throwIfDestroyed();var e=t.createMediaKeySessionContext({keySystem:n,mediaKeys:r,decryptdata:a}),i="cenc";return t.generateRequestWithPreferredKeySession(e,i,a.pssh,"playlist-key")}))}))).catch((function(e){return t.handleError(e)})),n},t.throwIfDestroyed=function(e){if(!this.hls)throw new Error("invalid state")},t.handleError=function(e){this.hls&&(this.error(e.message),e instanceof rE?this.hls.trigger(f.ERROR,e.data):this.hls.trigger(f.ERROR,{type:P.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))},t.getKeySystemForKeyPromise=function(e){var t=this.getKeyIdString(e),a=this.keyIdToKeySessionPromise[t];if(!a){var i=oe(e.keyFormat),o=i?[i]:_e(this.config);return this.attemptKeySystemAccess(o)}return a},t.getKeySystemSelectionPromise=function(e){if(e.length||(e=_e(this.config)),0===e.length)throw new rE({type:P.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},"Missing key-system license configuration options "+JSON.stringify({drmSystems:this.config.drmSystems}));return this.attemptKeySystemAccess(e)},t._onMediaEncrypted=function(e){var t=this,a=e.initDataType,i=e.initData;if(this.debug('"'+e.type+'" event: init data type: "'+a+'"'),null!==i){var o,n;if("sinf"===a&&this.config.drmSystems[ae.FAIRPLAY]){var r=Ue(new Uint8Array(i));try{var E=$(JSON.parse(r).sinf),_=$e(new Uint8Array(E));if(!_)return;o=_.subarray(8,24),n=ae.FAIRPLAY}catch(e){return void this.warn('Failed to parse sinf "encrypted" event message initData')}}else{var T=St(i);if(null===T)return;0===T.version&&T.systemId===ne.WIDEVINE&&T.data&&(o=T.data.subarray(8,24)),n=re(T.systemId)}if(n&&o){for(var s,S=ve.hexDump(o),l=this.keyIdToKeySessionPromise,I=this.mediaKeySessions,A=l[S],u=function(){var e=I[d],n=e.decryptdata;if(n.pssh||!n.keyId)return 0;var r=ve.hexDump(n.keyId);return S===r||-1!==n.uri.replace(/-/g,"").indexOf(S)?(A=l[r],delete l[r],n.pssh=new Uint8Array(i),n.keyId=o,A=l[S]=A.then((function(){return t.generateRequestWithPreferredKeySession(e,a,i,"encrypted-event-key-match")})),1):void 0},d=0;d0)for(var n,r=0,E=o.length;r in key message");return ee(atob(I))},t.setupLicenseXHR=function(e,t,a,i){var o=this,n=this.config.licenseXhrSetup;return n?Promise.resolve().then((function(){if(!a.decryptdata)throw new Error("Key removed");return n.call(o.hls,e,t,a,i)})).catch((function(r){if(!a.decryptdata)throw r;return e.open("POST",t,!0),n.call(o.hls,e,t,a,i)})).then((function(a){return e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:a||i}})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:i}))},t.requestLicense=function(e,t){var a=this,i=this.config.keyLoadPolicy.default;return new Promise((function(o,n){var r=a.getLicenseServerUrl(e.keySystem);a.log("Sending license request to URL: "+r);var E=new XMLHttpRequest;E.responseType="arraybuffer",E.onreadystatechange=function(){if(!a.hls||!e.mediaKeysSession)return n(new Error("invalid state"));if(4===E.readyState)if(200===E.status){a._requestLicenseFailureCount=0;var _=E.response;a.log("License received "+(_ instanceof ArrayBuffer?_.byteLength:_));var T=a.config.licenseResponseCallback;if(T)try{_=T.call(a.hls,E,r,e)}catch(e){a.error(e)}o(_)}else{var s=i.errorRetry,S=s?s.maxNumRetry:0;if(a._requestLicenseFailureCount++,a._requestLicenseFailureCount>S||E.status>=400&&E.status<500)n(new rE({type:P.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:E,response:{url:r,data:void 0,code:E.status,text:E.statusText}},"License Request XHR failed ("+r+"). Status: "+E.status+" ("+E.statusText+")"));else{var l=S-a._requestLicenseFailureCount+1;a.warn("Retrying license request, "+l+" attempts left"),a.requestLicense(e,t).then(o,n)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=E,a.setupLicenseXHR(E,r,e,t).then((function(t){var i=t.xhr,o=t.licenseChallenge;e.keySystem==ae.PLAYREADY&&(o=a.unpackPlayReadyKeyMessage(i,o)),i.send(o)}))}))},t.onMediaAttached=function(e,t){if(this.config.emeEnabled){var a=t.media;this.media=a,a.addEventListener("encrypted",this.onMediaEncrypted),a.addEventListener("waitingforkey",this.onWaitingForKey)}},t.onMediaDetached=function(){var t=this,a=this.media,i=this.mediaKeySessions;a&&(a.removeEventListener("encrypted",this.onMediaEncrypted),a.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},It.clearKeyUriToKeyIdMap();var o=i.length;e.CDMCleanupPromise=Promise.all(i.map((function(e){return t.removeSession(e)})).concat(null==a?void 0:a.setMediaKeys(null).catch((function(e){t.log("Could not clear media keys: "+e)})))).then((function(){o&&(t.log("finished closing key sessions and clearing media keys"),i.length=0)})).catch((function(e){t.log("Could not close sessions and clear media keys: "+e)}))},t.onManifestLoading=function(){this.keyFormatPromise=null},t.onManifestLoaded=function(e,t){var a=t.sessionKeys;if(a&&this.config.emeEnabled&&!this.keyFormatPromise){var i=a.reduce((function(e,t){return-1===e.indexOf(t.keyFormat)&&e.push(t.keyFormat),e}),[]);this.log("Selecting key-system from session-keys "+i.join(", ")),this.keyFormatPromise=this.getKeyFormatPromise(i)}},t.removeSession=function(e){var t=this,a=e.mediaKeysSession,i=e.licenseXhr;if(a){this.log("Remove licenses and keys and close session "+a.sessionId),e._onmessage&&(a.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(a.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),i&&i.readyState!==XMLHttpRequest.DONE&&i.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;var o=this.mediaKeySessions.indexOf(e);return o>-1&&this.mediaKeySessions.splice(o,1),a.remove().catch((function(e){t.log("Could not remove session: "+e)})).then((function(){return a.close()})).catch((function(e){t.log("Could not close session: "+e)}))}},e})();tE.CDMCleanupPromise=void 0;var aE,iE,oE,nE,rE=(function(e){function t(t,a){var i;return(i=e.call(this,a)||this).data=void 0,t.error||(t.error=new Error(a)),i.data=t,t.err=t.error,i}return s(t,e),t})(d(Error));(function(e){e.MANIFEST="m",e.AUDIO="a",e.VIDEO="v",e.MUXED="av",e.INIT="i",e.CAPTION="c",e.TIMED_TEXT="tt",e.KEY="k",e.OTHER="o"})(aE||(aE={})),(function(e){e.DASH="d",e.HLS="h",e.SMOOTH="s",e.OTHER="o"})(iE||(iE={})),(function(e){e.OBJECT="CMCD-Object",e.REQUEST="CMCD-Request",e.SESSION="CMCD-Session",e.STATUS="CMCD-Status"})(oE||(oE={}));var EE=((nE={})[oE.OBJECT]=["br","d","ot","tb"],nE[oE.REQUEST]=["bl","dl","mtp","nor","nrr","su"],nE[oE.SESSION]=["cid","pr","sf","sid","st","v"],nE[oE.STATUS]=["bs","rtp"],nE),_E=function e(t,a){this.value=void 0,this.params=void 0,Array.isArray(t)&&(t=t.map((function(t){return t instanceof e?t:new e(t)}))),this.value=t,this.params=a},TE=function(e){this.description=void 0,this.description=e},sE="Dict";function SE(e){return Array.isArray(e)?JSON.stringify(e):e instanceof Map?"Map{}":e instanceof Set?"Set{}":"object"==typeof e?JSON.stringify(e):String(e)}function lE(e,t,a,i){return new Error("failed to "+e+' "'+SE(t)+'" as '+a,{cause:i})}var IE="Bare Item",AE="Boolean",uE="Byte Sequence",dE="Decimal",OE="Integer";function cE(e){return e<-999999999999999||99999999999999912)throw LE(e,dE);var a=t.toString();return a.includes(".")?a:a+".0"}var gE="String";function vE(e){if(NE.test(e))throw LE(e,gE);return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'}function ME(e){return e.description||e.toString().slice(7,-1)}function WE(e){var t=ME(e);if(!1===/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(t))throw LE(t,RE);return t}function yE(e){switch(typeof e){case"number":if(!p(e))throw LE(e,IE);return Number.isInteger(e)?hE(e):BE(e);case"string":return vE(e);case"symbol":return WE(e);case"boolean":return DE(e);case"object":if(e instanceof Date)return fE(e);if(e instanceof Uint8Array)return CE(e);if(e instanceof TE)return WE(e);default:throw LE(e,IE)}}function UE(e){if(!1===/^[a-z*][a-z0-9\-_.*]*$/.test(e))throw LE(e,mE);return e}function bE(e){return null==e?"":Object.entries(e).map((function(e){var t=e[0],a=e[1];return!0===a?";"+UE(t):";"+UE(t)+"="+yE(a)})).join("")}function GE(e){return e instanceof _E?""+yE(e.value)+bE(e.params):yE(e)}function kE(e){return"("+e.value.map(GE).join(" ")+")"+bE(e.params)}function FE(e,t){var a;if(void 0===t&&(t={whitespace:!0}),"object"!=typeof e)throw LE(e,sE);var i=e instanceof Map?e.entries():Object.entries(e),o=null!=(a=t)&&a.whitespace?" ":"";return Array.from(i).map((function(e){var t=e[0],a=e[1];a instanceof _E==0&&(a=new _E(a));var i=UE(t);return!0===a.value?i+=bE(a.params):(i+="=",Array.isArray(a.value)?i+=kE(a):i+=GE(a)),i})).join(","+o)}function VE(e,t){return FE(e,t)}var HE=function(e){return"ot"===e||"sf"===e||"st"===e},wE=function(e){return"number"==typeof e?p(e):null!=e&&""!==e&&!1!==e};function YE(e,t){var a=new URL(e),i=new URL(t);if(a.origin!==i.origin)return e;for(var o=a.pathname.split("/").slice(1),n=i.pathname.split("/").slice(1,-1);o[0]===n[0];)o.shift(),n.shift();for(;n.length;)n.shift(),o.unshift("..");return o.join("/")}function zE(){try{return crypto.randomUUID()}catch(i){try{var e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch(e){var a=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=(a+16*Math.random())%16|0;return a=Math.floor(a/16),("x"==e?t:3&t|8).toString(16)}))}}}var KE=function(e){return Math.round(e)},jE=function(e){return 100*KE(e/100)},xE={br:KE,d:KE,bl:jE,dl:jE,mtp:jE,nor:function(e,t){return null!=t&&t.baseUrl&&(e=YE(e,t.baseUrl)),encodeURIComponent(e)},rtp:jE,tb:KE};function QE(e,t){var a={};if(null==e||"object"!=typeof e)return a;var i=Object.keys(e).sort(),o=T({},xE,null==t?void 0:t.formatters),n=null==t?void 0:t.filter;return i.forEach((function(i){if(null==n||!n(i)){var r=e[i],E=o[i];E&&(r=E(r,t)),"v"===i&&1===r||"pr"==i&&1===r||wE(r)&&(HE(i)&&"string"==typeof r&&(r=new TE(r)),a[i]=r)}})),a}function XE(e,t){return void 0===t&&(t={}),e?VE(QE(e,t),T({whitespace:!1},t)):""}function $E(e,t){var a;if(void 0===t&&(t={}),!e)return{};var i=Object.entries(e),o=Object.entries(EE).concat(Object.entries((null==(a=t)?void 0:a.customHeaderMap)||{})),n=i.reduce((function(e,t){var a,i=t[0],n=t[1],r=(null==(a=o.find((function(e){return e[1].includes(i)})))?void 0:a[0])||oE.REQUEST;return null!=e[r]||(e[r]={}),e[r][i]=n,e}),{});return Object.entries(n).reduce((function(e,a){var i=a[0],o=a[1];return e[i]=XE(o,t),e}),{})}function qE(e,t,a){return T(e,$E(t,a))}var JE="CMCD";function ZE(e,t){if(void 0===t&&(t={}),!e)return"";var a=XE(e,t);return JE+"="+encodeURIComponent(a)}var e_=/CMCD=[^&#]+/;function t_(e,t,a){var i=ZE(t,a);if(!i)return e;if(e_.test(e))return e.replace(e_,i);var o=e.includes("?")?"&":"?";return""+e+o+i}var a_=(function(){function e(e){var t=this;this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=function(){t.initialized&&(t.starved=!0),t.buffering=!0},this.onPlaying=function(){t.initialized||(t.initialized=!0),t.buffering=!1},this.applyPlaylistData=function(e){try{t.apply(e,{ot:aE.MANIFEST,su:!t.initialized})}catch(e){b.warn("Could not generate manifest CMCD data.",e)}},this.applyFragmentData=function(e){try{var a=e.frag,i=t.hls.levels[a.level],o=t.getObjectType(a),n={d:1e3*a.duration,ot:o};o!==aE.VIDEO&&o!==aE.AUDIO&&o!=aE.MUXED||(n.br=i.bitrate/1e3,n.tb=t.getTopBandwidth(o)/1e3,n.bl=t.getBufferLength(o)),t.apply(e,n)}catch(e){b.warn("Could not generate segment CMCD data.",e)}},this.hls=e;var a=this.config=e.config,i=a.cmcd;null!=i&&(a.pLoader=this.createPlaylistLoader(),a.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||zE(),this.cid=i.contentId,this.useHeaders=!0===i.useHeaders,this.includeKeys=i.includeKeys,this.registerListeners())}var t=e.prototype;return t.registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHED,this.onMediaDetached,this),e.on(f.BUFFER_CREATED,this.onBufferCreated,this)},t.unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHED,this.onMediaDetached,this),e.off(f.BUFFER_CREATED,this.onBufferCreated,this)},t.destroy=function(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null},t.onMediaAttached=function(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)},t.onMediaDetached=function(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)},t.onBufferCreated=function(e,t){var a,i;this.audioBuffer=null==(a=t.tracks.audio)?void 0:a.buffer,this.videoBuffer=null==(i=t.tracks.video)?void 0:i.buffer},t.createData=function(){var e;return{v:1,sf:iE.HLS,sid:this.sid,cid:this.cid,pr:null==(e=this.media)?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}},t.apply=function(e,t){void 0===t&&(t={}),T(t,this.createData());var a=t.ot===aE.INIT||t.ot===aE.VIDEO||t.ot===aE.MUXED;this.starved&&a&&(t.bs=!0,t.su=!0,this.starved=!1),null==t.su&&(t.su=this.buffering);var i=this.includeKeys;i&&(t=Object.keys(t).reduce((function(e,a){return i.includes(a)&&(e[a]=t[a]),e}),{})),this.useHeaders?(e.headers||(e.headers={}),qE(e.headers,t)):e.url=t_(e.url,t)},t.getObjectType=function(e){var t=e.type;return"subtitle"===t?aE.TIMED_TEXT:"initSegment"===e.sn?aE.INIT:"audio"===t?aE.AUDIO:"main"===t?this.hls.audioTracks.length?aE.VIDEO:aE.MUXED:void 0},t.getTopBandwidth=function(e){var t,a=0,i=this.hls;if(e===aE.AUDIO)t=i.audioTracks;else{var o=i.maxAutoLevel,n=o>-1?o+1:i.levels.length;t=i.levels.slice(0,n)}for(var r,E=R(t);!(r=E()).done;){var _=r.value;_.bitrate>a&&(a=_.bitrate)}return a>0?a:NaN},t.getBufferLength=function(e){var t=this.hls.media,a=e===aE.AUDIO?this.audioBuffer:this.videoBuffer;return a&&t?1e3*hi.bufferInfo(a,t.currentTime,this.config.maxBufferHole).len:NaN},t.createPlaylistLoader=function(){var e=this.config.pLoader,t=this.applyPlaylistData,a=e||this.config.loader;return(function(){function e(e){this.loader=void 0,this.loader=new a(e)}var i=e.prototype;return i.destroy=function(){this.loader.destroy()},i.abort=function(){this.loader.abort()},i.load=function(e,a,i){t(e),this.loader.load(e,a,i)},E(e,[{key:"stats",get:function(){return this.loader.stats}},{key:"context",get:function(){return this.loader.context}}]),e})()},t.createFragmentLoader=function(){var e=this.config.fLoader,t=this.applyFragmentData,a=e||this.config.loader;return(function(){function e(e){this.loader=void 0,this.loader=new a(e)}var i=e.prototype;return i.destroy=function(){this.loader.destroy()},i.abort=function(){this.loader.abort()},i.load=function(e,a,i){t(e),this.loader.load(e,a,i)},E(e,[{key:"stats",get:function(){return this.loader.stats}},{key:"context",get:function(){return this.loader.context}}]),e})()},e})(),i_=3e5,o_=(function(){function e(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=b.log.bind(b,"[content-steering]:"),this.registerListeners()}var t=e.prototype;return t.registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.ERROR,this.onError,this)},t.unregisterListeners=function(){var e=this.hls;e&&(e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.ERROR,this.onError,this))},t.startLoad=function(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){var e=1e3*this.timeToLoad-(performance.now()-this.updated);if(e>0)return void this.scheduleRefresh(this.uri,e)}this.loadSteeringManifest(this.uri)}},t.stopLoad=function(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()},t.clearTimeout=function(){-1!==this.reloadTimer&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)},t.destroy=function(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null},t.removeLevel=function(e){var t=this.levels;t&&(this.levels=t.filter((function(t){return t!==e})))},t.onManifestLoading=function(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null},t.onManifestLoaded=function(e,t){var a=t.contentSteering;null!==a&&(this.pathwayId=a.pathwayId,this.uri=a.uri,this.started&&this.startLoad())},t.onManifestParsed=function(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks},t.onError=function(e,t){var a=t.errorAction;if((null==a?void 0:a.action)===$a.SendAlternateToPenaltyBox&&a.flags===qa.MoveAllAlternatesMatchingHost){var i=this.levels,o=this.pathwayPriority,n=this.pathwayId;if(t.context){var r=t.context,E=r.groupId,_=r.pathwayId,T=r.type;E&&i?n=this.getPathwayForGroupId(E,T,n):_&&(n=_)}n in this.penalizedPathways||(this.penalizedPathways[n]=performance.now()),!o&&i&&(o=i.reduce((function(e,t){return-1===e.indexOf(t.pathwayId)&&e.push(t.pathwayId),e}),[])),o&&o.length>1&&(this.updatePathwayPriority(o),a.resolved=this.pathwayId!==n),a.resolved||b.warn("Could not resolve "+t.details+' ("'+t.error.message+'") with content-steering for Pathway: '+n+" levels: "+(i?i.length:i)+" priorities: "+JSON.stringify(o)+" penalized: "+JSON.stringify(this.penalizedPathways))}},t.filterParsedLevels=function(e){this.levels=e;var t=this.getLevelsForPathway(this.pathwayId);if(0===t.length){var a=e[0].pathwayId;this.log("No levels found in Pathway "+this.pathwayId+'. Setting initial Pathway to "'+a+'"'),t=this.getLevelsForPathway(a),this.pathwayId=a}return t.length!==e.length?(this.log("Found "+t.length+"/"+e.length+' levels in Pathway "'+this.pathwayId+'"'),t):e},t.getLevelsForPathway=function(e){return null===this.levels?[]:this.levels.filter((function(t){return e===t.pathwayId}))},t.updatePathwayPriority=function(e){var t;this.pathwayPriority=e;var a=this.penalizedPathways,i=performance.now();Object.keys(a).forEach((function(e){i-a[e]>i_&&delete a[e]}));for(var o=0;o0){this.log('Setting Pathway to "'+n+'"'),this.pathwayId=n,Ga(t),this.hls.trigger(f.LEVELS_UPDATED,{levels:t});var _=this.hls.levels[r];E&&_&&this.levels&&(_.attrs["STABLE-VARIANT-ID"]!==E.attrs["STABLE-VARIANT-ID"]&&_.bitrate!==E.bitrate&&this.log("Unstable Pathways change from bitrate "+E.bitrate+" to "+_.bitrate),this.hls.nextLoadLevel=r);break}}}},t.getPathwayForGroupId=function(e,t,a){for(var i=this.getLevelsForPathway(a).concat(this.levels||[]),o=0;o=2&&(0===a.loading.first&&(a.loading.first=Math.max(self.performance.now(),a.loading.start),o.timeout!==o.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),o.timeout=o.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),o.loadPolicy.maxLoadTimeMs-(a.loading.first-a.loading.start)))),4===i)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;var n=t.status,r="text"!==t.responseType;if(n>=200&&n<300&&(r&&t.response||null!==t.responseText)){a.loading.end=Math.max(self.performance.now(),a.loading.first);var E=r?t.response:t.responseText,_="arraybuffer"===t.responseType?E.byteLength:E.length;if(a.loaded=a.total=_,a.bwEstimate=8e3*a.total/(a.loading.end-a.loading.first),!this.callbacks)return;var T=this.callbacks.onProgress;if(T&&T(a,e,E,t),!this.callbacks)return;var s={url:t.responseURL,data:E,code:n};this.callbacks.onSuccess(s,a,e,t)}else{var S=o.loadPolicy.errorRetry;wa(S,a.retry,!1,{url:e.url,data:void 0,code:n})?this.retry(S):(b.error(n+" while loading "+e.url),this.callbacks.onError({code:n,text:t.statusText},e,t,a))}}}},t.loadtimeout=function(){var e,t=null==(e=this.config)?void 0:e.loadPolicy.timeoutRetry;if(wa(t,this.stats.retry,!0))this.retry(t);else{var a;b.warn("timeout while loading "+(null==(a=this.context)?void 0:a.url));var i=this.callbacks;i&&(this.abortInternal(),i.onTimeout(this.stats,this.context,this.loader))}},t.retry=function(e){var t=this.context,a=this.stats;this.retryDelay=Va(e,a.retry),a.retry++,b.warn((status?"HTTP Status "+status:"Timeout")+" while loading "+(null==t?void 0:t.url)+", retrying "+a.retry+"/"+e.maxNumRetry+" in "+this.retryDelay+"ms"),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)},t.loadprogress=function(e){var t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)},t.getCacheAge=function(){var e=null;if(this.loader&&E_.test(this.loader.getAllResponseHeaders())){var t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e},t.getResponseHeader=function(e){return this.loader&&new RegExp("^"+e+":\\s*[\\d.]+\\s*$","im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null},e})();function T_(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(e){}return!1}var s_=/(\d+)-(\d+)\/(\d+)/,S_=(function(){function e(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||u_,this.controller=new self.AbortController,this.stats=new Y}var t=e.prototype;return t.destroy=function(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null},t.abortInternal=function(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())},t.abort=function(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)},t.load=function(e,t,a){var i=this,o=this.stats;if(o.loading.start)throw new Error("Loader can only be used once.");o.loading.start=self.performance.now();var n=l_(e,this.controller.signal),r=a.onProgress,E="arraybuffer"===e.responseType,_=E?"byteLength":"length",T=t.loadPolicy,s=T.maxTimeToFirstByteMs,S=T.maxLoadTimeMs;this.context=e,this.config=t,this.callbacks=a,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=s&&p(s)?s:S,this.requestTimeout=self.setTimeout((function(){i.abortInternal(),a.onTimeout(o,e,i.response)}),t.timeout),self.fetch(this.request).then((function(n){i.response=i.loader=n;var _=Math.max(self.performance.now(),o.loading.start);if(self.clearTimeout(i.requestTimeout),t.timeout=S,i.requestTimeout=self.setTimeout((function(){i.abortInternal(),a.onTimeout(o,e,i.response)}),S-(_-o.loading.start)),!n.ok){var T=n.status,s=n.statusText;throw new O_(s||"fetch, bad network response",T,n)}return o.loading.first=_,o.total=A_(n.headers)||o.total,r&&p(t.highWaterMark)?i.loadProgressively(n,o,e,t.highWaterMark,r):E?n.arrayBuffer():"json"===e.responseType?n.json():n.text()})).then((function(n){var E=i.response;if(!E)throw new Error("loader destroyed");self.clearTimeout(i.requestTimeout),o.loading.end=Math.max(self.performance.now(),o.loading.first);var T=n[_];T&&(o.loaded=o.total=T);var s={url:E.url,data:n,code:E.status};r&&!p(t.highWaterMark)&&r(o,e,n,E),a.onSuccess(s,o,e,E)})).catch((function(t){if(self.clearTimeout(i.requestTimeout),!o.aborted){var n=t&&t.code||0,r=t?t.message:null;a.onError({code:n,text:r},e,t?t.details:null,o)}}))},t.getCacheAge=function(){var e=null;if(this.response){var t=this.response.headers.get("age");e=t?parseFloat(t):null}return e},t.getResponseHeader=function(e){return this.response?this.response.headers.get(e):null},t.loadProgressively=function(e,t,a,i,o){void 0===i&&(i=0);var n=new qi,r=e.body.getReader();return(function E(){return r.read().then((function(r){if(r.done)return n.dataLength&&o(t,a,n.flush(),e),Promise.resolve(new ArrayBuffer(0));var _=r.value,T=_.length;return t.loaded+=T,T=i&&o(t,a,n.flush(),e)):o(t,a,_,e),E()})).catch((function(){return Promise.reject()}))})()},e})();function l_(e,t){var a={method:"GET",mode:"cors",credentials:"same-origin",signal:t,headers:new self.Headers(T({},e.headers))};return e.rangeEnd&&a.headers.set("Range","bytes="+e.rangeStart+"-"+String(e.rangeEnd-1)),a}function I_(e){var t=s_.exec(e);if(t)return parseInt(t[2])-parseInt(t[1])+1}function A_(e){var t=e.get("Content-Range");if(t){var a=I_(t);if(p(a))return a}var i=e.get("Content-Length");if(i)return parseInt(i)}function u_(e,t){return new self.Request(e.url,t)}var d_,O_=(function(e){function t(t,a,i){var o;return(o=e.call(this,t)||this).code=void 0,o.details=void 0,o.code=a,o.details=i,o}return s(t,e),t})(d(Error)),c_=/\s/,N_={newCue:function(e,t,a,i){for(var o,n,r,E,_,T=[],s=self.VTTCue||self.TextTrackCue,S=0;S=16?E--:E++;var A=Dr(_.trim()),u=Br(t,a,A);null!=e&&null!=(l=e.cues)&&l.getCueById(u)||((n=new s(t,a,A)).id=u,n.line=S+1,n.align="left",n.position=10+Math.min(80,10*Math.floor(8*E/32)),T.push(n))}return e&&T.length&&(T.sort((function(e,t){return"auto"===e.line||"auto"===t.line?0:e.line>8&&t.line>8?t.line-e.line:e.line-t.line})),T.forEach((function(t){return ta(e,t)}))),T}},R_=i(i({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:6e7,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:__,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:Ni,bufferController:Kn,capLevelController:Jr,errorController:Ja,fpsController:Zr,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:se,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},m_()),{},{subtitleStreamController:Vn,subtitleTrackController:wn,timelineController:xr,audioStreamController:Gn,audioTrackController:kn,emeController:tE,cmcdController:a_,contentSteeringController:o_});function m_(){return{cueHandler:N_,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function L_(e,t){if((t.liveSyncDurationCount||t.liveMaxLatencyDurationCount)&&(t.liveSyncDuration||t.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(void 0!==t.liveMaxLatencyDurationCount&&(void 0===t.liveSyncDurationCount||t.liveMaxLatencyDurationCount<=t.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(void 0!==t.liveMaxLatencyDuration&&(void 0===t.liveSyncDuration||t.liveMaxLatencyDuration<=t.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');var a=D_(e),o=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach((function(e){var i=("level"===e?"playlist":e)+"LoadPolicy",n=void 0===t[i],r=[];o.forEach((function(o){var E=e+"Loading"+o,_=t[E];if(void 0!==_&&n){r.push(E);var T=a[i].default;switch(t[i]={default:T},o){case"TimeOut":T.maxLoadTimeMs=_,T.maxTimeToFirstByteMs=_;break;case"MaxRetry":T.errorRetry.maxNumRetry=_,T.timeoutRetry.maxNumRetry=_;break;case"RetryDelay":T.errorRetry.retryDelayMs=_,T.timeoutRetry.retryDelayMs=_;break;case"MaxRetryTimeout":T.errorRetry.maxRetryDelayMs=_,T.timeoutRetry.maxRetryDelayMs=_}}})),r.length&&b.warn('hls.js config: "'+r.join('", "')+'" setting(s) are deprecated, use "'+i+'": '+JSON.stringify(t[i]))})),i(i({},a),t)}function D_(e){return e&&"object"==typeof e?Array.isArray(e)?e.map(D_):Object.keys(e).reduce((function(t,a){return t[a]=D_(e[a]),t}),{}):e}function p_(e){var t=e.loader;t!==S_&&t!==__?(b.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1):T_()&&(e.loader=S_,e.progressive=!0,e.enableSoftwareAES=!0,b.log("[config]: Progressive streaming enabled, using FetchLoader"))}var C_=(function(e){function t(t,a){var i;return(i=e.call(this,t,"[level-controller]")||this)._levels=[],i._firstLevel=-1,i._maxAutoLevel=-1,i._startLevel=void 0,i.currentLevel=null,i.currentLevelIndex=-1,i.manualLevelIndex=-1,i.steering=void 0,i.onParsedComplete=void 0,i.steering=a,i._registerListeners(),i}s(t,e);var a=t.prototype;return a._registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this),e.on(f.ERROR,this.onError,this)},a._unregisterListeners=function(){var e=this.hls;e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this),e.off(f.ERROR,this.onError,this)},a.destroy=function(){this._unregisterListeners(),this.steering=null,this.resetLevels(),e.prototype.destroy.call(this)},a.stopLoad=function(){this._levels.forEach((function(e){e.loadError=0,e.fragmentError=0})),e.prototype.stopLoad.call(this)},a.resetLevels=function(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1},a.onManifestLoading=function(e,t){this.resetLevels()},a.onManifestLoaded=function(e,t){var a=this.hls.config.preferManagedMediaSource,i=[],o={},n={},r=!1,E=!1,_=!1;t.levels.forEach((function(e){var t,T,s=e.attrs,S=e.audioCodec,l=e.videoCodec;-1!==(null==(t=S)?void 0:t.indexOf("mp4a.40.34"))&&(d_||(d_=/chrome|firefox/i.test(navigator.userAgent)),d_&&(e.audioCodec=S=void 0)),S&&(e.audioCodec=S=Mt(S,a)),0===(null==(T=l)?void 0:T.indexOf("avc1"))&&(l=e.videoCodec=yt(l));var I=e.width,A=e.height,u=e.unknownCodecs;if(r||(r=!(!I||!A)),E||(E=!!l),_||(_=!!S),!(null!=u&&u.length||S&&!pt(S,"audio",a)||l&&!pt(l,"video",a))){var d=s.CODECS,O=s["FRAME-RATE"],c=s["HDCP-LEVEL"],N=s["PATHWAY-ID"],R=s.RESOLUTION,m=s["VIDEO-RANGE"],L=(N||".")+"-"+e.bitrate+"-"+R+"-"+O+"-"+d+"-"+m+"-"+c;if(o[L])if(o[L].uri===e.url||e.attrs["PATHWAY-ID"])o[L].addGroupId("audio",s.AUDIO),o[L].addGroupId("text",s.SUBTITLES);else{var D=n[L]+=1;e.attrs["PATHWAY-ID"]=new Array(D+1).join(".");var p=new Da(e);o[L]=p,i.push(p)}else{var C=new Da(e);o[L]=C,n[L]=1,i.push(C)}}})),this.filterAndSortMediaOptions(i,t,r,E,_)},a.filterAndSortMediaOptions=function(e,t,a,i,o){var n=this,r=[],E=[],_=e;if((a||i)&&o&&(_=_.filter((function(e){var t=e.videoCodec,a=e.videoRange,i=e.width,o=e.height;return(!!t||!(!i||!o))&&Na(a)}))),0!==_.length){if(t.audioTracks){var T=this.hls.config.preferManagedMediaSource;h_(r=t.audioTracks.filter((function(e){return!e.audioCodec||pt(e.audioCodec,"audio",T)})))}t.subtitles&&h_(E=t.subtitles);var s=_.slice(0);_.sort((function(e,t){if(e.attrs["HDCP-LEVEL"]!==t.attrs["HDCP-LEVEL"])return(e.attrs["HDCP-LEVEL"]||"")>(t.attrs["HDCP-LEVEL"]||"")?1:-1;if(a&&e.height!==t.height)return e.height-t.height;if(e.frameRate!==t.frameRate)return e.frameRate-t.frameRate;if(e.videoRange!==t.videoRange)return ca.indexOf(e.videoRange)-ca.indexOf(t.videoRange);if(e.videoCodec!==t.videoCodec){var i=ft(e.videoCodec),o=ft(t.videoCodec);if(i!==o)return o-i}if(e.uri===t.uri&&e.codecSet!==t.codecSet){var n=Pt(e.codecSet),r=Pt(t.codecSet);if(n!==r)return r-n}return e.averageBitrate!==t.averageBitrate?e.averageBitrate-t.averageBitrate:0}));var S=s[0];if(this.steering&&(_=this.steering.filterParsedLevels(_)).length!==s.length)for(var l=0;ld&&d===R_.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=O)}break}var c=o&&!i,N={levels:_,audioTracks:r,subtitleTracks:E,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:o,video:i,altAudio:!c&&r.some((function(e){return!!e.url}))};this.hls.trigger(f.MANIFEST_PARSED,N),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}else Promise.resolve().then((function(){if(n.hls){t.levels.length&&n.warn("One or more CODECS in variant not supported: "+JSON.stringify(t.levels[0].attrs));var e=new Error("no level with compatible codecs found in manifest");n.hls.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:e,reason:e.message})}}))},a.onError=function(e,t){!t.fatal&&t.context&&t.context.type===Xt.LEVEL&&t.context.level===this.level&&this.checkRetry(t)},a.onFragBuffered=function(e,t){var a=t.frag;if(void 0!==a&&a.type===$t.MAIN){var i=a.elementaryStreams;if(!Object.keys(i).some((function(e){return!!i[e]})))return;var o=this._levels[a.level];null!=o&&o.loadError&&(this.log("Resetting level error count of "+o.loadError+" on frag buffered"),o.loadError=0)}},a.onLevelLoaded=function(e,t){var a,i,o=t.level,n=t.details,r=this._levels[o];if(!r)return this.warn("Invalid level index "+o),void(null!=(i=t.deliveryDirectives)&&i.skip&&(n.deltaUpdateFailed=!0));o===this.currentLevelIndex?(0===r.fragmentError&&(r.loadError=0),this.playlistLoaded(o,t,r.details)):null!=(a=t.deliveryDirectives)&&a.skip&&(n.deltaUpdateFailed=!0)},a.loadPlaylist=function(t){e.prototype.loadPlaylist.call(this);var a=this.currentLevelIndex,i=this.currentLevel;if(i&&this.shouldLoadPlaylist(i)){var o=i.uri;if(t)try{o=t.addDirectives(o)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}var n=i.attrs["PATHWAY-ID"];this.log("Loading level index "+a+(void 0!==(null==t?void 0:t.msn)?" at sn "+t.msn+" part "+t.part:"")+" with"+(n?" Pathway "+n:"")+" "+o),this.clearTimer(),this.hls.trigger(f.LEVEL_LOADING,{url:o,level:a,pathwayId:i.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}},a.removeLevel=function(e){var t,a=this,i=this._levels.filter((function(t,i){return i!==e||(a.steering&&a.steering.removeLevel(t),t===a.currentLevel&&(a.currentLevel=null,a.currentLevelIndex=-1,t.details&&t.details.fragments.forEach((function(e){return e.level=-1}))),!1)}));Ga(i),this._levels=i,this.currentLevelIndex>-1&&null!=(t=this.currentLevel)&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(f.LEVELS_UPDATED,{levels:i})},a.onLevelsUpdated=function(e,t){var a=t.levels;this._levels=a},a.checkMaxAutoUpdated=function(){var e=this.hls,t=e.autoLevelCapping,a=e.maxAutoLevel,i=e.maxHdcpLevel;this._maxAutoLevel!==a&&(this._maxAutoLevel=a,this.hls.trigger(f.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:t,levels:this.levels,maxAutoLevel:a,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:i}))},E(t,[{key:"levels",get:function(){return 0===this._levels.length?null:this._levels}},{key:"level",get:function(){return this.currentLevelIndex},set:function(e){var t=this._levels;if(0!==t.length){if(e<0||e>=t.length){var a=new Error("invalid level idx"),i=e<0;if(this.hls.trigger(f.ERROR,{type:P.OTHER_ERROR,details:B.LEVEL_SWITCH_ERROR,level:e,fatal:i,error:a,reason:a.message}),i)return;e=Math.min(e,t.length-1)}var o=this.currentLevelIndex,n=this.currentLevel,r=n?n.attrs["PATHWAY-ID"]:void 0,E=t[e],_=E.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=E,o!==e||!E.details||!n||r!==_){this.log("Switching to level "+e+" ("+(E.height?E.height+"p ":"")+(E.videoRange?E.videoRange+" ":"")+(E.codecSet?E.codecSet+" ":"")+"@"+E.bitrate+")"+(_?" with Pathway "+_:"")+" from level "+o+(r?" with Pathway "+r:""));var T={level:e,attrs:E.attrs,details:E.details,bitrate:E.bitrate,averageBitrate:E.averageBitrate,maxBitrate:E.maxBitrate,realBitrate:E.realBitrate,width:E.width,height:E.height,codecSet:E.codecSet,audioCodec:E.audioCodec,videoCodec:E.videoCodec,audioGroups:E.audioGroups,subtitleGroups:E.subtitleGroups,loaded:E.loaded,loadError:E.loadError,fragmentError:E.fragmentError,name:E.name,id:E.id,uri:E.uri,url:E.url,urlId:0,audioGroupIds:E.audioGroupIds,textGroupIds:E.textGroupIds};this.hls.trigger(f.LEVEL_SWITCHING,T);var s=E.details;if(!s||s.live){var S=this.switchParams(E.uri,null==n?void 0:n.details);this.loadPlaylist(S)}}}}},{key:"manualLevel",get:function(){return this.manualLevelIndex},set:function(e){this.manualLevelIndex=e,void 0===this._startLevel&&(this._startLevel=e),-1!==e&&(this.level=e)}},{key:"firstLevel",get:function(){return this._firstLevel},set:function(e){this._firstLevel=e}},{key:"startLevel",get:function(){if(void 0===this._startLevel){var e=this.hls.config.startLevel;return void 0!==e?e:this.hls.firstAutoLevel}return this._startLevel},set:function(e){this._startLevel=e}},{key:"nextLoadLevel",get:function(){return-1!==this.manualLevelIndex?this.manualLevelIndex:this.hls.nextAutoLevel},set:function(e){this.level=e,-1===this.manualLevelIndex&&(this.hls.nextAutoLevel=e)}}]),t})(Za);function h_(e){var t={};e.forEach((function(e){var a=e.groupId||"";e.id=t[a]=t[a]||0,t[a]++}))}var f_=(function(){function e(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}var t=e.prototype;return t.abort=function(e){for(var t in this.keyUriToKeyInfo){var a=this.keyUriToKeyInfo[t].loader;if(a){var i;if(e&&e!==(null==(i=a.context)?void 0:i.frag.type))return;a.abort()}}},t.detach=function(){for(var e in this.keyUriToKeyInfo){var t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}},t.destroy=function(){for(var e in this.detach(),this.keyUriToKeyInfo){var t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}},t.createKeyLoadError=function(e,t,a,i,o){return void 0===t&&(t=B.KEY_LOAD_ERROR),new Hi({type:P.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:o,error:a,networkDetails:i})},t.loadClear=function(e,t){var a=this;if(this.emeController&&this.config.emeEnabled)for(var i=e.sn,o=e.cc,n=function(){var e=t[r];if(o<=e.cc&&("initSegment"===i||"initSegment"===e.sn||iW_,l=!s||t&&t.start<=n||s-n>W_&&!this.fragmentTracker.getPartialFragment(n);if(S||l)return;this.moved=!1}if(!this.moved&&null!==this.stalled){var I;if(!(T.len>0||s))return;var A=Math.max(s,T.start||0)-n,u=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,d=(null==u||null==(I=u.details)?void 0:I.live)?2*u.details.targetduration:W_,O=this.fragmentTracker.getPartialFragment(n);if(A>0&&(A<=d||O))return void(i.paused||this._trySkipBufferHole(O))}var c=self.performance.now();if(null!==o){var N=c-o;if(r||!(N>=M_)||(this._reportStall(T),this.media)){var R=hi.bufferInfo(i,n,a.maxBufferHole);this._tryFixBufferStall(R,N)}}else this.stalled=c}else if(this.moved=!0,r||(this.nudgeRetry=0),null!==o){if(this.stallReported){var m=self.performance.now()-o;b.warn("playback not stuck anymore @"+n+", after "+Math.round(m)+"ms"),this.stallReported=!1}this.stalled=null}}},t._tryFixBufferStall=function(e,t){var a=this.config,i=this.fragmentTracker,o=this.media;if(null!==o){var n=o.currentTime,r=i.getPartialFragment(n);if(r&&(this._trySkipBufferHole(r)||!this.media))return;(e.len>a.maxBufferHole||e.nextStart&&e.nextStart-n1e3*a.highBufferWatchdogPeriod&&(b.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}},t._reportStall=function(e){var t=this.hls,a=this.media;if(!this.stallReported&&a){this.stallReported=!0;var i=new Error("Playback stalling at @"+a.currentTime+" due to low buffer ("+JSON.stringify(e)+")");b.warn(i.message),t.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.BUFFER_STALLED_ERROR,fatal:!1,error:i,buffer:e.len})}},t._trySkipBufferHole=function(e){var t=this.config,a=this.hls,i=this.media;if(null===i)return 0;var o=i.currentTime,n=hi.bufferInfo(i,o,0),r=o0&&n.len<1&&i.readyState<3,T=r-o;if(T>0&&(E||_)){if(T>t.maxBufferHole){var s=this.fragmentTracker,S=!1;if(0===o){var l=s.getAppendedFrag(0,$t.MAIN);l&&r1?(i=0,this.bitrateTest=!0):i=a.firstAutoLevel),a.nextLoadLevel=i,this.level=a.loadLevel,this.loadedmetadata=!1}t>0&&-1===e&&(this.log("Override startPosition with lastCurrentTime @"+t.toFixed(3)),e=t),this.state=Xi.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=Xi.STOPPED},a.stopLoad=function(){this._forceStartLoad=!1,e.prototype.stopLoad.call(this)},a.doTick=function(){switch(this.state){case Xi.WAITING_LEVEL:var e=this.levels,t=this.level,a=null==e?void 0:e[t],i=null==a?void 0:a.details;if(i&&(!i.live||this.levelLastLoaded===a)){if(this.waitForCdnTuneIn(i))break;this.state=Xi.IDLE;break}if(this.hls.nextLoadLevel!==this.level){this.state=Xi.IDLE;break}break;case Xi.FRAG_LOADING_WAITING_RETRY:var o,n=self.performance.now(),r=this.retryDate;if(!r||n>=r||null!=(o=this.media)&&o.seeking){var E=this.levels,_=this.level,T=null==E?void 0:E[_];this.resetStartWhenNotLoaded(T||null),this.state=Xi.IDLE}}this.state===Xi.IDLE&&this.doTickIdle(),this.onTickEnd()},a.onTickEnd=function(){e.prototype.onTickEnd.call(this),this.checkBuffer(),this.checkFragmentChanged()},a.doTickIdle=function(){var e=this.hls,t=this.levelLastLoaded,a=this.levels,i=this.media,o=e.config,n=e.nextLoadLevel;if(null!==t&&(i||!this.startFragRequested&&o.startFragPrefetch)&&(!this.altAudio||!this.audioOnly)&&null!=a&&a[n]){var r=a[n],E=this.getMainFwdBufferInfo();if(null!==E){var _=this.getLevelDetails();if(_&&this._streamEnded(E,_)){var T={};return this.altAudio&&(T.type="video"),this.hls.trigger(f.BUFFER_EOS,T),void(this.state=Xi.ENDED)}e.loadLevel!==n&&-1===e.manualLevel&&this.log("Adapting to level "+n+" from level "+this.level),this.level=e.nextLoadLevel=n;var s=r.details;if(!s||this.state===Xi.WAITING_LEVEL||s.live&&this.levelLastLoaded!==r)return this.level=n,void(this.state=Xi.WAITING_LEVEL);var S=E.len,l=this.getMaxBufferLength(r.maxBitrate);if(!(S>=l)){this.backtrackFragment&&this.backtrackFragment.start>E.end&&(this.backtrackFragment=null);var I=this.backtrackFragment?this.backtrackFragment.start:E.end,A=this.getNextFragment(I,s);if(this.couldBacktrack&&!this.fragPrevious&&A&&"initSegment"!==A.sn&&this.fragmentTracker.getState(A)!==mi.OK){var u,d=(null!=(u=this.backtrackFragment)?u:A).sn-s.startSN,O=s.fragments[d-1];O&&A.cc===O.cc&&(A=O,this.fragmentTracker.removeFragment(O))}else this.backtrackFragment&&E.len&&(this.backtrackFragment=null);if(A&&this.isLoopLoading(A,I)){if(!A.gap){var c=this.audioOnly&&!this.altAudio?z.AUDIO:z.VIDEO,N=(c===z.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;N&&this.afterBufferFlushed(N,c,$t.MAIN)}A=this.getNextFragmentLoopLoading(A,s,E,$t.MAIN,l)}A&&(!A.initSegment||A.initSegment.data||this.bitrateTest||(A=A.initSegment),this.loadFragment(A,r,I))}}}},a.loadFragment=function(t,a,i){var o=this.fragmentTracker.getState(t);this.fragCurrent=t,o===mi.NOT_LOADED||o===mi.PARTIAL?"initSegment"===t.sn?this._loadInitSegment(t,a):this.bitrateTest?(this.log("Fragment "+t.sn+" of level "+t.level+" is being downloaded to test bitrate and will not be buffered"),this._loadBitrateTestFrag(t,a)):(this.startFragRequested=!0,e.prototype.loadFragment.call(this,t,a,i)):this.clearTrackerIfNeeded(t)},a.getBufferedFrag=function(e){return this.fragmentTracker.getBufferedFrag(e,$t.MAIN)},a.followingBufferedFrag=function(e){return e?this.getBufferedFrag(e.end+.5):null},a.immediateLevelSwitch=function(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)},a.nextLevelSwitch=function(){var e=this.levels,t=this.media;if(null!=t&&t.readyState){var a,i=this.getAppendedFrag(t.currentTime);i&&i.start>1&&this.flushMainBuffer(0,i.start-1);var o=this.getLevelDetails();if(null!=o&&o.live){var n=this.getMainFwdBufferInfo();if(!n||n.len<2*o.targetduration)return}if(!t.paused&&e){var r=e[this.hls.nextLoadLevel],E=this.fragLastKbps;a=E&&this.fragCurrent?this.fragCurrent.duration*r.maxBitrate/(1e3*E)+1:0}else a=0;var _=this.getBufferedFrag(t.currentTime+a);if(_){var T=this.followingBufferedFrag(_);if(T){this.abortCurrentFrag();var s=T.maxStartPTS?T.maxStartPTS:T.start,S=T.duration,l=Math.max(_.end,s+Math.min(Math.max(S-this.config.maxFragLookUpTolerance,S*(this.couldBacktrack?.5:.125)),S*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(l,Number.POSITIVE_INFINITY)}}}},a.abortCurrentFrag=function(){var e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case Xi.KEY_LOADING:case Xi.FRAG_LOADING:case Xi.FRAG_LOADING_WAITING_RETRY:case Xi.PARSING:case Xi.PARSED:this.state=Xi.IDLE}this.nextLoadPosition=this.getLoadPosition()},a.flushMainBuffer=function(t,a){e.prototype.flushMainBuffer.call(this,t,a,this.altAudio?"video":null)},a.onMediaAttached=function(t,a){e.prototype.onMediaAttached.call(this,t,a);var i=a.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),i.addEventListener("playing",this.onvplaying),i.addEventListener("seeked",this.onvseeked),this.gapController=new b_(this.config,i,this.fragmentTracker,this.hls)},a.onMediaDetaching=function(){var t=this.media;t&&this.onvplaying&&this.onvseeked&&(t.removeEventListener("playing",this.onvplaying),t.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),e.prototype.onMediaDetaching.call(this)},a.onMediaPlaying=function(){this.tick()},a.onMediaSeeked=function(){var e=this.media,t=e?e.currentTime:null;p(t)&&this.log("Media seeked to "+t.toFixed(3));var a=this.getMainFwdBufferInfo();null!==a&&0!==a.len?this.tick():this.warn('Main forward buffer length on "seeked" event '+(a?a.len:"empty")+")")},a.onManifestLoading=function(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(f.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1},a.onManifestParsed=function(e,t){var a=!1,i=!1;t.levels.forEach((function(e){var t=e.audioCodec;t&&(a=a||-1!==t.indexOf("mp4a.40.2"),i=i||-1!==t.indexOf("mp4a.40.5"))})),this.audioCodecSwitch=a&&i&&!v_(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1},a.onLevelLoading=function(e,t){var a=this.levels;if(a&&this.state===Xi.IDLE){var i=a[t.level];(!i.details||i.details.live&&this.levelLastLoaded!==i||this.waitForCdnTuneIn(i.details))&&(this.state=Xi.WAITING_LEVEL)}},a.onLevelLoaded=function(e,t){var a,i=this.levels,o=t.level,n=t.details,r=n.totalduration;if(i){this.log("Level "+o+" loaded ["+n.startSN+","+n.endSN+"]"+(n.lastPartSn?"[part-"+n.lastPartSn+"-"+n.lastPartIndex+"]":"")+", cc ["+n.startCC+", "+n.endCC+"] duration:"+r);var E=i[o],_=this.fragCurrent;!_||this.state!==Xi.FRAG_LOADING&&this.state!==Xi.FRAG_LOADING_WAITING_RETRY||_.level!==t.level&&_.loader&&this.abortCurrentFrag();var T=0;if(n.live||null!=(a=E.details)&&a.live){var s;if(this.checkLiveUpdate(n),n.deltaUpdateFailed)return;T=this.alignPlaylists(n,E.details,null==(s=this.levelLastLoaded)?void 0:s.details)}if(E.details=n,this.levelLastLoaded=E,this.hls.trigger(f.LEVEL_UPDATED,{details:n,level:o}),this.state===Xi.WAITING_LEVEL){if(this.waitForCdnTuneIn(n))return;this.state=Xi.IDLE}this.startFragRequested?n.live&&this.synchronizeToLiveEdge(n):this.setStartPosition(n,T),this.tick()}else this.warn("Levels were reset while loading level "+o)},a._handleFragmentLoadProgress=function(e){var t,a=e.frag,i=e.part,o=e.payload,n=this.levels;if(n){var r=n[a.level],E=r.details;if(!E)return this.warn("Dropping fragment "+a.sn+" of level "+a.level+" after level details were reset"),void this.fragmentTracker.removeFragment(a);var _=r.videoCodec,T=E.PTSKnown||!E.live,s=null==(t=a.initSegment)?void 0:t.data,S=this._getAudioCodec(r),l=this.transmuxer=this.transmuxer||new Mn(this.hls,$t.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),I=i?i.index:-1,A=-1!==I,u=new fi(a.level,a.sn,a.stats.chunkCount,o.byteLength,I,A),d=this.initPTS[a.cc];l.push(o,s,S,_,a,i,E.totalduration,T,u,d)}else this.warn("Levels were reset while fragment load was in progress. Fragment "+a.sn+" of level "+a.level+" will not be buffered")},a.onAudioTrackSwitching=function(e,t){var a=this.altAudio;if(!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;var i=this.fragCurrent;i&&(this.log("Switching to main audio track, cancel main fragment load"),i.abortRequests(),this.fragmentTracker.removeFragment(i)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();var o=this.hls;a&&(o.trigger(f.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),o.trigger(f.AUDIO_TRACK_SWITCHED,t)}},a.onAudioTrackSwitched=function(e,t){var a=t.id,i=!!this.hls.audioTracks[a].url;if(i){var o=this.videoBuffer;o&&this.mediaBuffer!==o&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=o)}this.altAudio=i,this.tick()},a.onBufferCreated=function(e,t){var a,i,o=t.tracks,n=!1;for(var r in o){var E=o[r];if("main"===E.id){if(i=r,a=E,"video"===r){var _=o[r];_&&(this.videoBuffer=_.buffer)}}else n=!0}n&&a?(this.log("Alternate track found, use "+i+".buffered to schedule main fragment loading"),this.mediaBuffer=a.buffer):this.mediaBuffer=this.media},a.onFragBuffered=function(e,t){var a=t.frag,i=t.part;if(!a||a.type===$t.MAIN){if(this.fragContextChanged(a))return this.warn("Fragment "+a.sn+(i?" p: "+i.index:"")+" of level "+a.level+" finished buffering, but was aborted. state: "+this.state),void(this.state===Xi.PARSED&&(this.state=Xi.IDLE));var o=i?i.stats:a.stats;this.fragLastKbps=Math.round(8*o.total/(o.buffering.end-o.loading.first)),"initSegment"!==a.sn&&(this.fragPrevious=a),this.fragBufferedComplete(a,i)}},a.onError=function(e,t){var a;if(t.fatal)this.state=Xi.ERROR;else switch(t.details){case B.FRAG_GAP:case B.FRAG_PARSING_ERROR:case B.FRAG_DECRYPT_ERROR:case B.FRAG_LOAD_ERROR:case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_ERROR:case B.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError($t.MAIN,t);break;case B.LEVEL_LOAD_ERROR:case B.LEVEL_LOAD_TIMEOUT:case B.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==Xi.WAITING_LEVEL||(null==(a=t.context)?void 0:a.type)!==Xt.LEVEL||(this.state=Xi.IDLE);break;case B.BUFFER_APPEND_ERROR:case B.BUFFER_FULL_ERROR:if(!t.parent||"main"!==t.parent)return;if(t.details===B.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case B.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}},a.checkBuffer=function(){var e=this.media,t=this.gapController;if(e&&t&&e.readyState){if(this.loadedmetadata||!hi.getBuffered(e).length){var a=this.state!==Xi.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,a)}this.lastCurrentTime=e.currentTime}},a.onFragLoadEmergencyAborted=function(){this.state=Xi.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()},a.onBufferFlushed=function(e,t){var a=t.type;if(a!==z.AUDIO||this.audioOnly&&!this.altAudio){var i=(a===z.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(i,a,$t.MAIN),this.tick()}},a.onLevelsUpdated=function(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=t.levels},a.swapAudioCodec=function(){this.audioCodecSwap=!this.audioCodecSwap},a.seekToStartPos=function(){var e=this.media;if(e){var t=e.currentTime,a=this.startPosition;if(a>=0&&t0&&(oN.cc;if(!1!==o.independent){var L=s.startPTS,D=s.endPTS,C=s.startDTS,h=s.endDTS;if(_)_.elementaryStreams[s.type]={startPTS:L,endPTS:D,startDTS:C,endDTS:h};else if(s.firstKeyFrame&&s.independent&&1===n.id&&!m&&(this.couldBacktrack=!0),s.dropped&&s.independent){var P=this.getMainFwdBufferInfo(),B=(P?P.end:this.getLoadPosition())+this.config.maxBufferHole,g=s.firstKeyFramePTS?s.firstKeyFramePTS:L;if(!R&&BW_&&(E.gap=!0);E.setElementaryStreamInfo(s.type,L,D,C,h),this.backtrackFragment&&(this.backtrackFragment=E),this.bufferFragmentData(s,E,_,n,R||m)}else{if(!R&&!m)return void this.backtrack(E);E.gap=!0}}if(u){var v=u.startPTS,M=u.endPTS,W=u.startDTS,y=u.endDTS;_&&(_.elementaryStreams[z.AUDIO]={startPTS:v,endPTS:M,startDTS:W,endDTS:y}),E.setElementaryStreamInfo(z.AUDIO,v,M,W,y),this.bufferFragmentData(u,E,_,n)}if(A&&null!=l&&null!=(t=l.samples)&&t.length){var U={id:a,frag:E,details:A,samples:l.samples};i.trigger(f.FRAG_PARSING_METADATA,U)}if(A&&S){var b={id:a,frag:E,details:A,samples:S.samples};i.trigger(f.FRAG_PARSING_USERDATA,b)}}}else this.resetWhenMissingContext(n)},a._bufferInitSegment=function(e,t,a,i){var o=this;if(this.state===Xi.PARSING){this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;var n=t.audio,r=t.video,E=t.audiovideo;if(n){var _=e.audioCodec,T=navigator.userAgent.toLowerCase();this.audioCodecSwitch&&(_&&(_=-1!==_.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5"),1!==n.metadata.channelCount&&-1===T.indexOf("firefox")&&(_="mp4a.40.5")),_&&-1!==_.indexOf("mp4a.40.5")&&-1!==T.indexOf("android")&&"audio/mpeg"!==n.container&&(_="mp4a.40.2",this.log("Android: force audio codec to "+_)),e.audioCodec&&e.audioCodec!==_&&this.log('Swapping manifest audio codec "'+e.audioCodec+'" for "'+_+'"'),n.levelCodec=_,n.id="main",this.log("Init audio buffer, container:"+n.container+", codecs[selected/level/parsed]=["+(_||"")+"/"+(e.audioCodec||"")+"/"+n.codec+"]")}r&&(r.levelCodec=e.videoCodec,r.id="main",this.log("Init video buffer, container:"+r.container+", codecs[level/parsed]=["+(e.videoCodec||"")+"/"+r.codec+"]")),E&&this.log("Init audiovideo buffer, container:"+E.container+", codecs[level/parsed]=["+e.codecs+"/"+E.codec+"]"),this.hls.trigger(f.BUFFER_CODECS,t),Object.keys(t).forEach((function(e){var n=t[e].initSegment;null!=n&&n.byteLength&&o.hls.trigger(f.BUFFER_APPENDING,{type:e,data:n,frag:a,part:null,chunkMeta:i,parent:a.type})})),this.tickImmediate()}},a.getMainFwdBufferInfo=function(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,$t.MAIN)},a.backtrack=function(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=Xi.IDLE},a.checkFragmentChanged=function(){var e=this.media,t=null;if(e&&e.readyState>1&&!1===e.seeking){var a=e.currentTime;if(hi.isBuffered(e,a)?t=this.getAppendedFrag(a):hi.isBuffered(e,a+.1)&&(t=this.getAppendedFrag(a+.1)),t){this.backtrackFragment=null;var i=this.fragPlaying,o=t.level;i&&t.sn===i.sn&&i.level===o||(this.fragPlaying=t,this.hls.trigger(f.FRAG_CHANGED,{frag:t}),i&&i.level===o||this.hls.trigger(f.LEVEL_SWITCHED,{level:o}))}}},E(t,[{key:"nextLevel",get:function(){var e=this.nextBufferedFrag;return e?e.level:-1}},{key:"currentFrag",get:function(){var e=this.media;return e?this.fragPlaying||this.getAppendedFrag(e.currentTime):null}},{key:"currentProgramDateTime",get:function(){var e=this.media;if(e){var t=e.currentTime,a=this.currentFrag;if(a&&p(t)&&p(a.programDateTime)){var i=a.programDateTime+1e3*(t-a.start);return new Date(i)}}return null}},{key:"currentLevel",get:function(){var e=this.currentFrag;return e?e.level:-1}},{key:"nextBufferedFrag",get:function(){var e=this.currentFrag;return e?this.followingBufferedFrag(e):null}},{key:"forceStartLoad",get:function(){return this._forceStartLoad}}]),t})($i),F_=(function(){function e(t){void 0===t&&(t={}),this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new Dn,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,U(t.debug||!1,"Hls instance");var a=this.config=L_(e.DefaultConfig,t);this.userConfig=t,a.progressive&&p_(a);var i=a.abrController,o=a.bufferController,n=a.capLevelController,r=a.errorController,E=a.fpsController,_=new r(this),T=this.abrController=new i(this),s=this.bufferController=new o(this),S=this.capLevelController=new n(this),l=new E(this),I=new Zt(this),A=new Aa(this),u=a.contentSteeringController,d=u?new u(this):null,O=this.levelController=new C_(this,d),c=new Li(this),N=new f_(this.config),R=this.streamController=new k_(this,c,N);S.setStreamController(R),l.setStreamController(R);var m=[I,O,R];d&&m.splice(1,0,d),this.networkControllers=m;var L=[T,s,S,l,A,c];this.audioTrackController=this.createController(a.audioTrackController,m);var D=a.audioStreamController;D&&m.push(new D(this,c,N)),this.subtitleTrackController=this.createController(a.subtitleTrackController,m);var p=a.subtitleStreamController;p&&m.push(new p(this,c,N)),this.createController(a.timelineController,L),N.emeController=this.emeController=this.createController(a.emeController,L),this.cmcdController=this.createController(a.cmcdController,L),this.latencyController=this.createController(ua,L),this.coreComponents=L,m.push(_);var C=_.onErrorOut;"function"==typeof C&&this.on(f.ERROR,C,_)}e.isMSESupported=function(){return B_()},e.isSupported=function(){return g_()},e.getMediaSource=function(){return mt()};var t=e.prototype;return t.createController=function(e,t){if(e){var a=new e(this);return t&&t.push(a),a}return null},t.on=function(e,t,a){void 0===a&&(a=this),this._emitter.on(e,t,a)},t.once=function(e,t,a){void 0===a&&(a=this),this._emitter.once(e,t,a)},t.removeAllListeners=function(e){this._emitter.removeAllListeners(e)},t.off=function(e,t,a,i){void 0===a&&(a=this),this._emitter.off(e,t,a,i)},t.listeners=function(e){return this._emitter.listeners(e)},t.emit=function(e,t,a){return this._emitter.emit(e,t,a)},t.trigger=function(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(t){if(b.error("An internal error happened while handling event "+e+'. Error message: "'+t.message+'". Here is a stacktrace:',t),!this.triggeringException){this.triggeringException=!0;var a=e===f.ERROR;this.trigger(f.ERROR,{type:P.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,fatal:a,event:e,error:t}),this.triggeringException=!1}}return!1},t.listenerCount=function(e){return this._emitter.listenerCount(e)},t.destroy=function(){b.log("destroy"),this.trigger(f.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach((function(e){return e.destroy()})),this.networkControllers.length=0,this.coreComponents.forEach((function(e){return e.destroy()})),this.coreComponents.length=0;var e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null},t.attachMedia=function(e){b.log("attachMedia"),this._media=e,this.trigger(f.MEDIA_ATTACHING,{media:e})},t.detachMedia=function(){b.log("detachMedia"),this.trigger(f.MEDIA_DETACHING,void 0),this._media=null},t.loadSource=function(e){this.stopLoad();var t=this.media,a=this.url,i=this.url=D.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,b.log("loadSource:"+i),t&&a&&(a!==i||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(f.MANIFEST_LOADING,{url:e})},t.startLoad=function(e){void 0===e&&(e=-1),b.log("startLoad("+e+")"),this.started=!0,this.networkControllers.forEach((function(t){t.startLoad(e)}))},t.stopLoad=function(){b.log("stopLoad"),this.started=!1,this.networkControllers.forEach((function(e){e.stopLoad()}))},t.resumeBuffering=function(){this.started&&this.networkControllers.forEach((function(e){"fragmentLoader"in e&&e.startLoad(-1)}))},t.pauseBuffering=function(){this.networkControllers.forEach((function(e){"fragmentLoader"in e&&e.stopLoad()}))},t.swapAudioCodec=function(){b.log("swapAudioCodec"),this.streamController.swapAudioCodec()},t.recoverMediaError=function(){b.log("recoverMediaError");var e=this._media;this.detachMedia(),e&&this.attachMedia(e)},t.removeLevel=function(e){this.levelController.removeLevel(e)},t.setAudioOption=function(e){var t;return null==(t=this.audioTrackController)?void 0:t.setAudioOption(e)},t.setSubtitleOption=function(e){var t;return null==(t=this.subtitleTrackController)||t.setSubtitleOption(e),null},E(e,[{key:"levels",get:function(){var e=this.levelController.levels;return e||[]}},{key:"currentLevel",get:function(){return this.streamController.currentLevel},set:function(e){b.log("set currentLevel:"+e),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}},{key:"nextLevel",get:function(){return this.streamController.nextLevel},set:function(e){b.log("set nextLevel:"+e),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}},{key:"loadLevel",get:function(){return this.levelController.level},set:function(e){b.log("set loadLevel:"+e),this.levelController.manualLevel=e}},{key:"nextLoadLevel",get:function(){return this.levelController.nextLoadLevel},set:function(e){this.levelController.nextLoadLevel=e}},{key:"firstLevel",get:function(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)},set:function(e){b.log("set firstLevel:"+e),this.levelController.firstLevel=e}},{key:"startLevel",get:function(){var e=this.levelController.startLevel;return-1===e&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e},set:function(e){b.log("set startLevel:"+e),-1!==e&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}},{key:"capLevelToPlayerSize",get:function(){return this.config.capLevelToPlayerSize},set:function(e){var t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}},{key:"autoLevelCapping",get:function(){return this._autoLevelCapping},set:function(e){this._autoLevelCapping!==e&&(b.log("set autoLevelCapping:"+e),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}},{key:"bandwidthEstimate",get:function(){var e=this.abrController.bwEstimator;return e?e.getEstimate():NaN},set:function(e){this.abrController.resetEstimator(e)}},{key:"ttfbEstimate",get:function(){var e=this.abrController.bwEstimator;return e?e.getEstimateTTFB():NaN}},{key:"maxHdcpLevel",get:function(){return this._maxHdcpLevel},set:function(e){Oa(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}},{key:"autoLevelEnabled",get:function(){return-1===this.levelController.manualLevel}},{key:"manualLevel",get:function(){return this.levelController.manualLevel}},{key:"minAutoLevel",get:function(){var e=this.levels,t=this.config.minAutoBitrate;if(!e)return 0;for(var a=e.length,i=0;i=t)return i;return 0}},{key:"maxAutoLevel",get:function(){var e,t=this.levels,a=this.autoLevelCapping,i=this.maxHdcpLevel;if(e=-1===a&&null!=t&&t.length?t.length-1:a,i)for(var o=e;o--;){var n=t[o].attrs["HDCP-LEVEL"];if(n&&n<=i)return o}return e}},{key:"firstAutoLevel",get:function(){return this.abrController.firstAutoLevel}},{key:"nextAutoLevel",get:function(){return this.abrController.nextAutoLevel},set:function(e){this.abrController.nextAutoLevel=e}},{key:"playingDate",get:function(){return this.streamController.currentProgramDateTime}},{key:"mainForwardBufferInfo",get:function(){return this.streamController.getMainFwdBufferInfo()}},{key:"allAudioTracks",get:function(){var e=this.audioTrackController;return e?e.allAudioTracks:[]}},{key:"audioTracks",get:function(){var e=this.audioTrackController;return e?e.audioTracks:[]}},{key:"audioTrack",get:function(){var e=this.audioTrackController;return e?e.audioTrack:-1},set:function(e){var t=this.audioTrackController;t&&(t.audioTrack=e)}},{key:"allSubtitleTracks",get:function(){var e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}},{key:"subtitleTracks",get:function(){var e=this.subtitleTrackController;return e?e.subtitleTracks:[]}},{key:"subtitleTrack",get:function(){var e=this.subtitleTrackController;return e?e.subtitleTrack:-1},set:function(e){var t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}},{key:"media",get:function(){return this._media}},{key:"subtitleDisplay",get:function(){var e=this.subtitleTrackController;return!!e&&e.subtitleDisplay},set:function(e){var t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}},{key:"lowLatencyMode",get:function(){return this.config.lowLatencyMode},set:function(e){this.config.lowLatencyMode=e}},{key:"liveSyncPosition",get:function(){return this.latencyController.liveSyncPosition}},{key:"latency",get:function(){return this.latencyController.latency}},{key:"maxLatency",get:function(){return this.latencyController.maxLatency}},{key:"targetLatency",get:function(){return this.latencyController.targetLatency}},{key:"drift",get:function(){return this.latencyController.drift}},{key:"forceStartLoad",get:function(){return this.streamController.forceStartLoad}}],[{key:"version",get:function(){return"1.5.5-0.canary.9893"}},{key:"Events",get:function(){return f}},{key:"ErrorTypes",get:function(){return P}},{key:"ErrorDetails",get:function(){return B}},{key:"DefaultConfig",get:function(){return e.defaultConfig?e.defaultConfig:R_},set:function(t){e.defaultConfig=t}}]),e})();return F_.defaultConfig=void 0,F_})()})(!1)},35543:e=>{"use strict";const t=e=>"string"==typeof e,a=()=>{let e,t;const a=new Promise(((a,i)=>{e=a,t=i}));return a.resolve=e,a.reject=t,a},i=e=>null==e?"":""+e,o=/###/g,n=e=>e&&e.indexOf("###")>-1?e.replace(o,"."):e,r=e=>!e||t(e),E=(e,a,i)=>{const o=t(a)?a.split("."):a;let E=0;for(;E{const{obj:i,k:o}=E(e,t,Object);if(void 0!==i||1===t.length)return void(i[o]=a);let n=t[t.length-1],r=t.slice(0,t.length-1),_=E(e,r,Object);for(;void 0===_.obj&&r.length;)n=`${r[r.length-1]}.${n}`,r=r.slice(0,r.length-1),_=E(e,r,Object),_?.obj&&void 0!==_.obj[`${_.k}.${n}`]&&(_.obj=void 0);_.obj[`${_.k}.${n}`]=a},T=(e,t)=>{const{obj:a,k:i}=E(e,t);if(a)return a[i]},s=(e,a,i)=>{for(const o in a)"__proto__"!==o&&"constructor"!==o&&(o in e?t(e[o])||e[o]instanceof String||t(a[o])||a[o]instanceof String?i&&(e[o]=a[o]):s(e[o],a[o],i):e[o]=a[o]);return e},S=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var l={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const I=e=>t(e)?e.replace(/[&<>"'\/]/g,(e=>l[e])):e;const A=[" ",",","?","!",";"],u=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const a=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,a),this.regExpQueue.push(e),a}}(20),d=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t])return e[t];const i=t.split(a);let o=e;for(let e=0;e-1&&re?.replace("_","-"),c={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class N{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||c,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),a=0;a{this.observers[e]||(this.observers[e]=new Map);const a=this.observers[e].get(t)||0;this.observers[e].set(t,a+1)})),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),i=1;i{let[t,i]=e;for(let e=0;e{let[i,o]=t;for(let t=0;t1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,a,i){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const n=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,r=void 0!==o.ignoreJSONStructure?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let E;e.indexOf(".")>-1?E=e.split("."):(E=[e,a],i&&(Array.isArray(i)?E.push(...i):t(i)&&n?E.push(...i.split(n)):E.push(i)));const _=T(this.data,E);return!_&&!a&&!i&&e.indexOf(".")>-1&&(e=E[0],a=E[1],i=E.slice(2).join(".")),!_&&r&&t(i)?d(this.data?.[e]?.[a],i,n):_}addResource(e,t,a,i){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const n=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator;let r=[e,t];a&&(r=r.concat(n?a.split(n):a)),e.indexOf(".")>-1&&(r=e.split("."),i=t,t=r[1]),this.addNamespaces(t),_(this.data,r,i),o.silent||this.emit("added",e,t,a,i)}addResources(e,a,i){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const o in i)(t(i[o])||Array.isArray(i[o]))&&this.addResource(e,a,o,i[o],{silent:!0});o.silent||this.emit("added",e,a,i)}addResourceBundle(e,t,a,i,o){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1,skipCopy:!1},r=[e,t];e.indexOf(".")>-1&&(r=e.split("."),i=a,a=t,t=r[1]),this.addNamespaces(t);let E=T(this.data,r)||{};n.skipCopy||(a=JSON.parse(JSON.stringify(a))),i?s(E,a,o):E={...E,...a},_(this.data,r,E),n.silent||this.emit("added",e,t,a)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((e=>t[e]&&Object.keys(t[e]).length>0))}toJSON(){return this.data}}var D={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,a,i,o){return e.forEach((e=>{t=this.processors[e]?.process(t,a,i,o)??t})),t}};const p={};class C extends m{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var a,i;super(),a=e,i=this,["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"].forEach((e=>{a[e]&&(i[e]=a[e])})),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=R.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;const a=this.resolve(e,t);return void 0!==a?.res}extractFromKey(e,a){let i=void 0!==a.nsSeparator?a.nsSeparator:this.options.nsSeparator;void 0===i&&(i=":");const o=void 0!==a.keySeparator?a.keySeparator:this.options.keySeparator;let n=a.ns||this.options.defaultNS||[];const r=i&&e.indexOf(i)>-1,E=!(this.options.userDefinedKeySeparator||a.keySeparator||this.options.userDefinedNsSeparator||a.nsSeparator||((e,t,a)=>{t=t||"",a=a||"";const i=A.filter((e=>t.indexOf(e)<0&&a.indexOf(e)<0));if(0===i.length)return!0;const o=u.getRegExp(`(${i.map((e=>"?"===e?"\\?":e)).join("|")})`);let n=!o.test(e);if(!n){const t=e.indexOf(a);t>0&&!o.test(e.substring(0,t))&&(n=!0)}return n})(e,i,o));if(r&&!E){const a=e.match(this.interpolator.nestingRegexp);if(a&&a.length>0)return{key:e,namespaces:t(n)?[n]:n};const r=e.split(i);(i!==o||i===o&&this.options.ns.indexOf(r[0])>-1)&&(n=r.shift()),e=r.join(o)}return{key:e,namespaces:t(n)?[n]:n}}translate(e,a,i){if("object"!=typeof a&&this.options.overloadTranslationOptionHandler&&(a=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof a&&(a={...a}),a||(a={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);const o=void 0!==a.returnDetails?a.returnDetails:this.options.returnDetails,n=void 0!==a.keySeparator?a.keySeparator:this.options.keySeparator,{key:r,namespaces:E}=this.extractFromKey(e[e.length-1],a),_=E[E.length-1],T=a.lng||this.language,s=a.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if("cimode"===T?.toLowerCase()){if(s){const e=a.nsSeparator||this.options.nsSeparator;return o?{res:`${_}${e}${r}`,usedKey:r,exactUsedKey:r,usedLng:T,usedNS:_,usedParams:this.getUsedParamsDetails(a)}:`${_}${e}${r}`}return o?{res:r,usedKey:r,exactUsedKey:r,usedLng:T,usedNS:_,usedParams:this.getUsedParamsDetails(a)}:r}const S=this.resolve(e,a);let l=S?.res;const I=S?.usedKey||r,A=S?.exactUsedKey||r,u=Object.prototype.toString.apply(l),d=void 0!==a.joinArrays?a.joinArrays:this.options.joinArrays,O=!this.i18nFormat||this.i18nFormat.handleAsObject,c=!t(l)&&"boolean"!=typeof l&&"number"!=typeof l;if(!(O&&l&&c&&["[object Number]","[object Function]","[object RegExp]"].indexOf(u)<0)||t(d)&&Array.isArray(l))if(O&&t(d)&&Array.isArray(l))l=l.join(d),l&&(l=this.extendTranslation(l,e,a,i));else{let o=!1,E=!1;const s=void 0!==a.count&&!t(a.count),I=C.hasDefaultValue(a),A=s?this.pluralResolver.getSuffix(T,a.count,a):"",u=a.ordinal&&s?this.pluralResolver.getSuffix(T,a.count,{ordinal:!1}):"",d=s&&!a.ordinal&&0===a.count,O=d&&a[`defaultValue${this.options.pluralSeparator}zero`]||a[`defaultValue${A}`]||a[`defaultValue${u}`]||a.defaultValue;!this.isValidLookup(l)&&I&&(o=!0,l=O),this.isValidLookup(l)||(E=!0,l=r);const c=(a.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&E?void 0:l,N=I&&O!==l&&this.options.updateMissing;if(E||o||N){if(this.logger.log(N?"updateKey":"missingKey",T,_,r,N?O:l),n){const e=this.resolve(r,{...a,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,a.lng||this.language);if("fallback"===this.options.saveMissingTo&&t&&t[0])for(let a=0;a{const o=I&&i!==l?i:c;this.options.missingKeyHandler?this.options.missingKeyHandler(e,_,t,o,N,a):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,_,t,o,N,a),this.emit("missingKey",e,_,t,l)};this.options.saveMissing&&(this.options.saveMissingPlurals&&s?e.forEach((e=>{const t=this.pluralResolver.getSuffixes(e,a);d&&a[`defaultValue${this.options.pluralSeparator}zero`]&&t.indexOf(`${this.options.pluralSeparator}zero`)<0&&t.push(`${this.options.pluralSeparator}zero`),t.forEach((t=>{i([e],r+t,a[`defaultValue${t}`]||O)}))})):i(e,r,O))}l=this.extendTranslation(l,e,a,S,i),E&&l===r&&this.options.appendNamespaceToMissingKey&&(l=`${_}:${r}`),(E||o)&&this.options.parseMissingKeyHandler&&(l=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${_}:${r}`:r,o?l:void 0))}else{if(!a.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(I,l,{...a,ns:E}):`key '${r} (${this.language})' returned an object instead of string.`;return o?(S.res=e,S.usedParams=this.getUsedParamsDetails(a),S):e}if(n){const e=Array.isArray(l),t=e?[]:{},i=e?A:I;for(const e in l)if(Object.prototype.hasOwnProperty.call(l,e)){const o=`${i}${n}${e}`;t[e]=this.translate(o,{...a,joinArrays:!1,ns:E}),t[e]===o&&(t[e]=l[e])}l=t}}return o?(S.res=l,S.usedParams=this.getUsedParamsDetails(a),S):l}extendTranslation(e,a,i,o,n){var r=this;if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!i.skipInterpolation){i.interpolation&&this.interpolator.init({...i,interpolation:{...this.options.interpolation,...i.interpolation}});const E=t(e)&&(void 0!==i?.interpolation?.skipOnVariables?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let _;if(E){const t=e.match(this.interpolator.nestingRegexp);_=t&&t.length}let T=i.replace&&!t(i.replace)?i.replace:i;if(this.options.interpolation.defaultVariables&&(T={...this.options.interpolation.defaultVariables,...T}),e=this.interpolator.interpolate(e,T,i.lng||this.language||o.usedLng,i),E){const t=e.match(this.interpolator.nestingRegexp);_<(t&&t.length)&&(i.nest=!1)}!i.lng&&o&&o.res&&(i.lng=this.language||o.usedLng),!1!==i.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,t=new Array(e),o=0;o1&&void 0!==arguments[1]?arguments[1]:{};return t(e)&&(e=[e]),e.forEach((e=>{if(this.isValidLookup(a))return;const _=this.extractFromKey(e,E),T=_.key;i=T;let s=_.namespaces;this.options.fallbackNS&&(s=s.concat(this.options.fallbackNS));const S=void 0!==E.count&&!t(E.count),l=S&&!E.ordinal&&0===E.count,I=void 0!==E.context&&(t(E.context)||"number"==typeof E.context)&&""!==E.context,A=E.lngs?E.lngs:this.languageUtils.toResolveHierarchy(E.lng||this.language,E.fallbackLng);s.forEach((e=>{this.isValidLookup(a)||(r=e,p[`${A[0]}-${e}`]||!this.utils?.hasLoadedNamespace||this.utils?.hasLoadedNamespace(r)||(p[`${A[0]}-${e}`]=!0,this.logger.warn(`key "${i}" for languages "${A.join(", ")}" won't get resolved as namespace "${r}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),A.forEach((t=>{if(this.isValidLookup(a))return;n=t;const i=[T];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(i,T,t,e,E);else{let e;S&&(e=this.pluralResolver.getSuffix(t,E.count,E));const a=`${this.options.pluralSeparator}zero`,o=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(S&&(i.push(T+e),E.ordinal&&0===e.indexOf(o)&&i.push(T+e.replace(o,this.options.pluralSeparator)),l&&i.push(T+a)),I){const t=`${T}${this.options.contextSeparator}${E.context}`;i.push(t),S&&(i.push(t+e),E.ordinal&&0===e.indexOf(o)&&i.push(t+e.replace(o,this.options.pluralSeparator)),l&&i.push(t+a))}}let r;for(;r=i.pop();)this.isValidLookup(a)||(o=r,a=this.getResource(t,e,r,E))})))}))})),{res:a,usedKey:i,exactUsedKey:o,usedLng:n,usedNS:r}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,a){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,a,i):this.resourceStore.getResource(e,t,a,i)}getUsedParamsDetails(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const a=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],i=e.replace&&!t(e.replace);let o=i?e.replace:e;if(i&&void 0!==e.count&&(o.count=e.count),this.options.interpolation.defaultVariables&&(o={...this.options.interpolation.defaultVariables,...o}),!i){o={...o};for(const e of a)delete o[e]}return o}static hasDefaultValue(e){const t="defaultValue";for(const a in e)if(Object.prototype.hasOwnProperty.call(e,a)&&t===a.substring(0,12)&&void 0!==e[a])return!0;return!1}}class h{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=R.create("languageUtils")}getScriptPartFromCode(e){if(!(e=O(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=O(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(t(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch(e){}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach((e=>{if(t)return;const a=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(a)||(t=a)})),!t&&this.options.supportedLngs&&e.forEach((e=>{if(t)return;const a=this.getLanguagePartFromCode(e);if(this.isSupportedCode(a))return t=a;t=this.options.supportedLngs.find((e=>e===a?e:e.indexOf("-")<0&&a.indexOf("-")<0?void 0:e.indexOf("-")>0&&a.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===a||0===e.indexOf(a)&&a.length>1?e:void 0))})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,a){if(!e)return[];if("function"==typeof e&&(e=e(a)),t(e)&&(e=[e]),Array.isArray(e))return e;if(!a)return e.default||[];let i=e[a];return i||(i=e[this.getScriptPartFromCode(a)]),i||(i=e[this.formatLanguageCode(a)]),i||(i=e[this.getLanguagePartFromCode(a)]),i||(i=e.default),i||[]}toResolveHierarchy(e,a){const i=this.getFallbackCodes(a||this.options.fallbackLng||[],e),o=[],n=e=>{e&&(this.isSupportedCode(e)?o.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return t(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&n(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&n(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&n(this.getLanguagePartFromCode(e))):t(e)&&n(this.formatLanguageCode(e)),i.forEach((e=>{o.indexOf(e)<0&&n(this.formatLanguageCode(e))})),o}}const f={zero:0,one:1,two:2,few:3,many:4,other:5},P={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class B{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=R.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const a=O("dev"===e?"en":e),i=t.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:a,type:i});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];let n;try{n=new Intl.PluralRules(a,{type:i})}catch(a){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),P;if(!e.match(/-|_/))return P;const i=this.languageUtils.getLanguagePartFromCode(e);n=this.getRule(i,t)}return this.pluralRulesCache[o]=n,n}needsPlural(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=this.getRule(e,t);return a||(a=this.getRule("dev",t)),a?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,a).map((e=>`${t}${e}`))}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=this.getRule(e,t);return a||(a=this.getRule("dev",t)),a?a.resolvedOptions().pluralCategories.sort(((e,t)=>f[e]-f[t])).map((e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`)):[]}getSuffix(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=this.getRule(e,a);return i?`${this.options.prepend}${a.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,a))}}const g=function(e,a,i){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=((e,t,a)=>{const i=T(e,a);return void 0!==i?i:T(t,a)})(e,a,i);return!r&&n&&t(i)&&(r=d(e,i,o),void 0===r&&(r=d(a,i,o))),r},v=e=>e.replace(/\$/g,"$$$$");class M{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=R.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:a,useRawValueToEscape:i,prefix:o,prefixEscaped:n,suffix:r,suffixEscaped:E,formatSeparator:_,unescapeSuffix:T,unescapePrefix:s,nestingPrefix:l,nestingPrefixEscaped:A,nestingSuffix:u,nestingSuffixEscaped:d,nestingOptionsSeparator:O,maxReplaces:c,alwaysFormat:N}=e.interpolation;this.escape=void 0!==t?t:I,this.escapeValue=void 0===a||a,this.useRawValueToEscape=void 0!==i&&i,this.prefix=o?S(o):n||"{{",this.suffix=r?S(r):E||"}}",this.formatSeparator=_||",",this.unescapePrefix=T?"":s||"-",this.unescapeSuffix=this.unescapePrefix?"":T||"",this.nestingPrefix=l?S(l):A||S("$t("),this.nestingSuffix=u?S(u):d||S(")"),this.nestingOptionsSeparator=O||",",this.maxReplaces=c||1e3,this.alwaysFormat=void 0!==N&&N,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,a,o,n){let r,E,_;const T=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},s=e=>{if(e.indexOf(this.formatSeparator)<0){const t=g(a,T,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(t,void 0,o,{...n,...a,interpolationkey:e}):t}const t=e.split(this.formatSeparator),i=t.shift().trim(),r=t.join(this.formatSeparator).trim();return this.format(g(a,T,i,this.options.keySeparator,this.options.ignoreJSONStructure),r,o,{...n,...a,interpolationkey:i})};this.resetRegExp();const S=n?.missingInterpolationHandler||this.options.missingInterpolationHandler,l=void 0!==n?.interpolation?.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>v(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?v(this.escape(e)):v(e)}].forEach((a=>{for(_=0;r=a.regex.exec(e);){const o=r[1].trim();if(E=s(o),void 0===E)if("function"==typeof S){const a=S(e,r,n);E=t(a)?a:""}else if(n&&Object.prototype.hasOwnProperty.call(n,o))E="";else{if(l){E=r[0];continue}this.logger.warn(`missed to pass in variable ${o} for interpolating ${e}`),E=""}else t(E)||this.useRawValueToEscape||(E=i(E));const T=a.safeValue(E);if(e=e.replace(r[0],T),l?(a.regex.lastIndex+=E.length,a.regex.lastIndex-=r[0].length):a.regex.lastIndex=0,_++,_>=this.maxReplaces)break}})),e}nest(e,a){let o,n,r,E=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const _=(e,t)=>{const a=this.nestingOptionsSeparator;if(e.indexOf(a)<0)return e;const i=e.split(new RegExp(`${a}[ ]*{`));let o=`{${i[1]}`;e=i[0],o=this.interpolate(o,r);const n=o.match(/'/g),E=o.match(/"/g);((n?.length??0)%2==0&&!E||E.length%2!=0)&&(o=o.replace(/'/g,'"'));try{r=JSON.parse(o),t&&(r={...t,...r})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${a}${o}`}return r.defaultValue&&r.defaultValue.indexOf(this.prefix)>-1&&delete r.defaultValue,e};for(;o=this.nestingRegexp.exec(e);){let T=[];r={...E},r=r.replace&&!t(r.replace)?r.replace:r,r.applyPostProcessor=!1,delete r.defaultValue;let s=!1;if(-1!==o[0].indexOf(this.formatSeparator)&&!/{.*}/.test(o[1])){const e=o[1].split(this.formatSeparator).map((e=>e.trim()));o[1]=e.shift(),T=e,s=!0}if(n=a(_.call(this,o[1].trim(),r),r),n&&o[0]===e&&!t(n))return n;t(n)||(n=i(n)),n||(this.logger.warn(`missed to resolve ${o[1]} for nesting ${e}`),n=""),s&&(n=T.reduce(((e,t)=>this.format(e,t,E.lng,{...E,interpolationkey:o[1].trim()})),n.trim())),e=e.replace(o[0],n),this.regexp.lastIndex=0}return e}}const W=e=>{const t={};return(a,i,o)=>{let n=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(n={...n,[o.interpolationkey]:void 0});const r=i+JSON.stringify(n);let E=t[r];return E||(E=e(O(i),o),t[r]=E),E(a)}};class y{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=R.create("formatter"),this.options=e,this.formats={number:W(((e,t)=>{const a=new Intl.NumberFormat(e,{...t});return e=>a.format(e)})),currency:W(((e,t)=>{const a=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>a.format(e)})),datetime:W(((e,t)=>{const a=new Intl.DateTimeFormat(e,{...t});return e=>a.format(e)})),relativetime:W(((e,t)=>{const a=new Intl.RelativeTimeFormat(e,{...t});return e=>a.format(e,t.range||"day")})),list:W(((e,t)=>{const a=new Intl.ListFormat(e,{...t});return e=>a.format(e)}))},this.init(e)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};this.formatSeparator=t.interpolation.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=W(t)}format(e,t,a){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&o[0].indexOf(")")<0&&o.find((e=>e.indexOf(")")>-1))){const e=o.findIndex((e=>e.indexOf(")")>-1));o[0]=[o[0],...o.splice(1,e)].join(this.formatSeparator)}return o.reduce(((e,t)=>{const{formatName:o,formatOptions:n}=(e=>{let t=e.toLowerCase().trim();const a={};if(e.indexOf("(")>-1){const i=e.split("(");t=i[0].toLowerCase().trim();const o=i[1].substring(0,i[1].length-1);"currency"===t&&o.indexOf(":")<0?a.currency||(a.currency=o.trim()):"relativetime"===t&&o.indexOf(":")<0?a.range||(a.range=o.trim()):o.split(";").forEach((e=>{if(e){const[t,...i]=e.split(":"),o=i.join(":").trim().replace(/^'+|'+$/g,""),n=t.trim();a[n]||(a[n]=o),"false"===o&&(a[n]=!1),"true"===o&&(a[n]=!0),isNaN(o)||(a[n]=parseInt(o,10))}}))}return{formatName:t,formatOptions:a}})(t);if(this.formats[o]){let t=e;try{const r=i?.formatParams?.[i.interpolationkey]||{},E=r.locale||r.lng||i.locale||i.lng||a;t=this.formats[o](e,E,{...n,...i,...r})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e}),e)}}class U extends m{constructor(e,t,a){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=a,this.languageUtils=a.languageUtils,this.options=i,this.logger=R.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(a,i.backend,i)}queueLoad(e,t,a,i){const o={},n={},r={},E={};return e.forEach((e=>{let i=!0;t.forEach((t=>{const r=`${e}|${t}`;!a.reload&&this.store.hasResourceBundle(e,t)?this.state[r]=2:this.state[r]<0||(1===this.state[r]?void 0===n[r]&&(n[r]=!0):(this.state[r]=1,i=!1,void 0===n[r]&&(n[r]=!0),void 0===o[r]&&(o[r]=!0),void 0===E[t]&&(E[t]=!0)))})),i||(r[e]=!0)})),(Object.keys(o).length||Object.keys(n).length)&&this.queue.push({pending:n,pendingCount:Object.keys(n).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(n),toLoadLanguages:Object.keys(r),toLoadNamespaces:Object.keys(E)}}loaded(e,t,a){const i=e.split("|"),o=i[0],n=i[1];t&&this.emit("failedLoading",o,n,t),!t&&a&&this.store.addResourceBundle(o,n,a,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&a&&(this.state[e]=0);const r={};this.queue.forEach((a=>{((e,t,a)=>{const{obj:i,k:o}=E(e,t,Object);i[o]=i[o]||[],i[o].push(a)})(a.loaded,[o],n),((e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)})(a,e),t&&a.errors.push(t),0!==a.pendingCount||a.done||(Object.keys(a.loaded).forEach((e=>{r[e]||(r[e]={});const t=a.loaded[e];t.length&&t.forEach((t=>{void 0===r[e][t]&&(r[e][t]=!0)}))})),a.done=!0,a.errors.length?a.callback(a.errors):a.callback())})),this.emit("loaded",r),this.queue=this.queue.filter((e=>!e.done))}read(e,t,a){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,n=arguments.length>5?arguments[5]:void 0;if(!e.length)return n(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:a,tried:i,wait:o,callback:n});this.readingCalls++;const r=(r,E)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}r&&E&&i{this.read.call(this,e,t,a,i+1,2*o,n)}),o):n(r,E)},E=this.backend[a].bind(this.backend);if(2!==E.length)return E(e,t,r);try{const a=E(e,t);a&&"function"==typeof a.then?a.then((e=>r(null,e))).catch(r):r(null,a)}catch(e){r(e)}}prepareLoading(e,a){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();t(e)&&(e=this.languageUtils.toResolveHierarchy(e)),t(a)&&(a=[a]);const n=this.queueLoad(e,a,i,o);if(!n.toLoad.length)return n.pending.length||o(),null;n.toLoad.forEach((e=>{this.loadOne(e)}))}load(e,t,a){this.prepareLoading(e,t,{},a)}reload(e,t,a){this.prepareLoading(e,t,{reload:!0},a)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const a=e.split("|"),i=a[0],o=a[1];this.read(i,o,"read",void 0,void 0,((a,n)=>{a&&this.logger.warn(`${t}loading namespace ${o} for language ${i} failed`,a),!a&&n&&this.logger.log(`${t}loaded namespace ${o} for language ${i}`,n),this.loaded(e,a,n)}))}saveMissing(e,t,a,i,o){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(!this.services?.utils?.hasLoadedNamespace||this.services?.utils?.hasLoadedNamespace(t)){if(null!=a&&""!==a){if(this.backend?.create){const E={...n,isUpdate:o},_=this.backend.create.bind(this.backend);if(_.length<6)try{let o;o=5===_.length?_(e,t,a,i,E):_(e,t,a,i),o&&"function"==typeof o.then?o.then((e=>r(null,e))).catch(r):r(null,o)}catch(e){r(e)}else _(e,t,a,i,r,E)}e&&e[0]&&this.store.addResource(e[0],t,a,i)}}else this.logger.warn(`did not save key "${a}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")}}const b=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let a={};if("object"==typeof e[1]&&(a=e[1]),t(e[1])&&(a.defaultValue=e[1]),t(e[2])&&(a.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const t=e[3]||e[2];Object.keys(t).forEach((e=>{a[e]=t[e]}))}return a},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),G=e=>(t(e.ns)&&(e.ns=[e.ns]),t(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),t(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),"boolean"==typeof e.initImmediate&&(e.initAsync=e.initImmediate),e),k=()=>{};class F extends m{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;var a;if(super(),this.options=G(e),this.services={},this.logger=R,this.modules={external:[]},a=this,Object.getOwnPropertyNames(Object.getPrototypeOf(a)).forEach((e=>{"function"==typeof a[e]&&(a[e]=a[e].bind(a))})),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout((()=>{this.init(e,t)}),0)}}init(){var e=this;let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,"function"==typeof i&&(o=i,i={}),!i.defaultNS&&!1!==i.defaultNS&&i.ns&&(t(i.ns)?i.defaultNS=i.ns:i.ns.indexOf("translation")<0&&(i.defaultNS=i.ns[0]));const n=b();this.options={...n,...this.options,...G(i)},this.options.interpolation={...n.interpolation,...this.options.interpolation},void 0!==i.keySeparator&&(this.options.userDefinedKeySeparator=i.keySeparator),void 0!==i.nsSeparator&&(this.options.userDefinedNsSeparator=i.nsSeparator);const r=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let t;this.modules.logger?R.init(r(this.modules.logger),this.options):R.init(null,this.options),t=this.modules.formatter?this.modules.formatter:y;const a=new h(this.options);this.store=new L(this.options.resources,this.options);const i=this.services;i.logger=R,i.resourceStore=this.store,i.languageUtils=a,i.pluralResolver=new B(a,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!t||this.options.interpolation.format&&this.options.interpolation.format!==n.interpolation.format||(i.formatter=r(t),i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new M(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new U(r(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on("*",(function(t){for(var a=arguments.length,i=new Array(a>1?a-1:0),o=1;o1?a-1:0),o=1;o{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,o||(o=k),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((t=>{this[t]=function(){return e.store[t](...arguments)}}));["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((t=>{this[t]=function(){return e.store[t](...arguments),e}}));const E=a(),_=()=>{const e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),E.resolve(t),o(e,t)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?_():setTimeout(_,0),E}loadResources(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:k;const i=t(e)?e:this.language;if("function"==typeof e&&(a=e),!this.options.resources||this.options.partialBundledLanguages){if("cimode"===i?.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return a();const e=[],t=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};if(i)t(i);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e=>t(e)))}this.options.preload?.forEach?.((e=>t(e))),this.services.backendConnector.load(e,this.options.ns,(e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),a(e)}))}else a(null)}reloadResources(e,t,i){const o=a();return"function"==typeof e&&(i=e,e=void 0),"function"==typeof t&&(i=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),i||(i=k),this.services.backendConnector.reload(e,t,(e=>{o.resolve(),i(e)})),o}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&D.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(let e=0;e-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}}changeLanguage(e,i){var o=this;this.isLanguageChangingTo=e;const n=a();this.emit("languageChanging",e);const r=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},E=(e,t)=>{t?(r(t),this.translator.changeLanguage(t),this.isLanguageChangingTo=void 0,this.emit("languageChanged",t),this.logger.log("languageChanged",t)):this.isLanguageChangingTo=void 0,n.resolve((function(){return o.t(...arguments)})),i&&i(e,(function(){return o.t(...arguments)}))},_=a=>{e||a||!this.services.languageDetector||(a=[]);const i=t(a)?a:this.services.languageUtils.getBestMatchFromCodes(a);i&&(this.language||r(i),this.translator.language||this.translator.changeLanguage(i),this.services.languageDetector?.cacheUserLanguage?.(i)),this.loadResources(i,(e=>{E(e,i)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(_):this.services.languageDetector.detect(_):_(e):_(this.services.languageDetector.detect()),n}getFixedT(e,a,i){var o=this;const n=function(e,t){let a;if("object"!=typeof t){for(var r=arguments.length,E=new Array(r>2?r-2:0),_=2;_`${a.keyPrefix}${T}${e}`)):a.keyPrefix?`${a.keyPrefix}${T}${e}`:e,o.t(s,a)};return t(e)?n.lng=e:n.lngs=e,n.ns=a,n.keyPrefix=i,n}t(){for(var e=arguments.length,t=new Array(e),a=0;a1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const a=t.lng||this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===a.toLowerCase())return!0;const n=(e,t)=>{const a=this.services.backendConnector.state[`${e}|${t}`];return-1===a||0===a||2===a};if(t.precheck){const e=t.precheck(this,n);if(void 0!==e)return e}return!!this.hasResourceBundle(a,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!n(a,e)||i&&!n(o,e)))}loadNamespaces(e,i){const o=a();return this.options.ns?(t(e)&&(e=[e]),e.forEach((e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)})),this.loadResources((e=>{o.resolve(),i&&i(e)})),o):(i&&i(),Promise.resolve())}loadLanguages(e,i){const o=a();t(e)&&(e=[e]);const n=this.options.preload||[],r=e.filter((e=>n.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e)));return r.length?(this.options.preload=n.concat(r),this.loadResources((e=>{o.resolve(),i&&i(e)})),o):(i&&i(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services?.languageUtils||new h(b());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new F(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:k;const a=e.forkResourceStore;a&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},o=new F(i);void 0===e.debug&&void 0===e.prefix||(o.logger=o.logger.clone(e));return["store","services","language"].forEach((e=>{o[e]=this[e]})),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},a&&(o.store=new L(this.store.data,i),o.services.resourceStore=o.store),o.translator=new C(o.services,i),o.translator.on("*",(function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),i=1;i{t.read=function(e,t,a,i,o){var n,r,E=8*o-i-1,_=(1<>1,s=-7,S=a?o-1:0,l=a?-1:1,I=e[t+S];for(S+=l,n=I&(1<<-s)-1,I>>=-s,s+=E;s>0;n=256*n+e[t+S],S+=l,s-=8);for(r=n&(1<<-s)-1,n>>=-s,s+=i;s>0;r=256*r+e[t+S],S+=l,s-=8);if(0===n)n=1-T;else{if(n===_)return r?NaN:1/0*(I?-1:1);r+=Math.pow(2,i),n-=T}return(I?-1:1)*r*Math.pow(2,n-i)},t.write=function(e,t,a,i,o,n){var r,E,_,T=8*n-o-1,s=(1<>1,l=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,I=i?0:n-1,A=i?1:-1,u=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(E=isNaN(t)?1:0,r=s):(r=Math.floor(Math.log(t)/Math.LN2),t*(_=Math.pow(2,-r))<1&&(r--,_*=2),(t+=r+S>=1?l/_:l*Math.pow(2,1-S))*_>=2&&(r++,_/=2),r+S>=s?(E=0,r=s):r+S>=1?(E=(t*_-1)*Math.pow(2,o),r+=S):(E=t*Math.pow(2,S-1)*Math.pow(2,o),r=0));o>=8;e[a+I]=255&E,I+=A,E/=256,o-=8);for(r=r<0;e[a+I]=255&r,I+=A,r/=256,T-=8);e[a+I-A]|=128*u}},73220:e=>{e.exports=[{name:"Abkhaz",local:"Аҧсуа",1:"ab",2:"abk","2T":"abk","2B":"abk",3:"abk"},{name:"Afar",local:"Afaraf",1:"aa",2:"aar","2T":"aar","2B":"aar",3:"aar"},{name:"Afrikaans",local:"Afrikaans",1:"af",2:"afr","2T":"afr","2B":"afr",3:"afr"},{name:"Akan",local:"Akan",1:"ak",2:"aka","2T":"aka","2B":"aka",3:"aka"},{name:"Albanian",local:"Shqip",1:"sq",2:"sqi","2T":"sqi","2B":"alb",3:"sqi"},{name:"Amharic",local:"አማርኛ",1:"am",2:"amh","2T":"amh","2B":"amh",3:"amh"},{name:"Arabic",local:"العربية",1:"ar",2:"ara","2T":"ara","2B":"ara",3:"ara"},{name:"Aragonese",local:"Aragonés",1:"an",2:"arg","2T":"arg","2B":"arg",3:"arg"},{name:"Armenian",local:"Հայերեն",1:"hy",2:"hye","2T":"hye","2B":"arm",3:"hye"},{name:"Assamese",local:"অসমীয়া",1:"as",2:"asm","2T":"asm","2B":"asm",3:"asm"},{name:"Avaric",local:"Авар",1:"av",2:"ava","2T":"ava","2B":"ava",3:"ava"},{name:"Avestan",local:"avesta",1:"ae",2:"ave","2T":"ave","2B":"ave",3:"ave"},{name:"Aymara",local:"Aymar",1:"ay",2:"aym","2T":"aym","2B":"aym",3:"aym"},{name:"Azerbaijani",local:"Azərbaycanca",1:"az",2:"aze","2T":"aze","2B":"aze",3:"aze"},{name:"Bambara",local:"Bamanankan",1:"bm",2:"bam","2T":"bam","2B":"bam",3:"bam"},{name:"Bashkir",local:"Башҡортса",1:"ba",2:"bak","2T":"bak","2B":"bak",3:"bak"},{name:"Basque",local:"Euskara",1:"eu",2:"eus","2T":"eus","2B":"baq",3:"eus"},{name:"Belarusian",local:"Беларуская",1:"be",2:"bel","2T":"bel","2B":"bel",3:"bel"},{name:"Bengali",local:"বাংলা",1:"bn",2:"ben","2T":"ben","2B":"ben",3:"ben"},{name:"Bihari",local:"भोजपुरी",1:"bh",2:"bih","2T":"bih","2B":"bih",3:"bih"},{name:"Bislama",local:"Bislama",1:"bi",2:"bis","2T":"bis","2B":"bis",3:"bis"},{name:"Bosnian",local:"Bosanski",1:"bs",2:"bos","2T":"bos","2B":"bos",3:"bos"},{name:"Breton",local:"Brezhoneg",1:"br",2:"bre","2T":"bre","2B":"bre",3:"bre"},{name:"Bulgarian",local:"Български",1:"bg",2:"bul","2T":"bul","2B":"bul",3:"bul"},{name:"Burmese",local:"မြန်မာဘာသာ",1:"my",2:"mya","2T":"mya","2B":"bur",3:"mya"},{name:"Catalan",local:"Català",1:"ca",2:"cat","2T":"cat","2B":"cat",3:"cat"},{name:"Chamorro",local:"Chamoru",1:"ch",2:"cha","2T":"cha","2B":"cha",3:"cha"},{name:"Chechen",local:"Нохчийн",1:"ce",2:"che","2T":"che","2B":"che",3:"che"},{name:"Chichewa",local:"Chichewa",1:"ny",2:"nya","2T":"nya","2B":"nya",3:"nya"},{name:"Chinese",local:"中文",1:"zh",2:"zho","2T":"zho","2B":"chi",3:"zho",locale:"zh-CN"},{name:"Chinese (Simplified)",local:"中文(簡體)",1:"zh",2:"zhe","2T":"zhe","2B":"chi",3:"zhe",locale:"zh-Hans"},{name:"Chinese (Traditional)",local:"中文(繁體)",1:"zh",2:"zht","2T":"zht","2B":"chi",3:"zht",locale:"zh-Hant"},{name:"Chuvash",local:"Чӑвашла",1:"cv",2:"chv","2T":"chv","2B":"chv",3:"chv"},{name:"Cornish",local:"Kernewek",1:"kw",2:"cor","2T":"cor","2B":"cor",3:"cor"},{name:"Corsican",local:"Corsu",1:"co",2:"cos","2T":"cos","2B":"cos",3:"cos"},{name:"Cree",local:"ᓀᐦᐃᔭᐍᐏᐣ",1:"cr",2:"cre","2T":"cre","2B":"cre",3:"cre"},{name:"Croatian",local:"Hrvatski",1:"hr",2:"hrv","2T":"hrv","2B":"hrv",3:"hrv"},{name:"Czech",local:"Čeština",1:"cs",2:"ces","2T":"ces","2B":"cze",3:"ces"},{name:"Danish",local:"Dansk",1:"da",2:"dan","2T":"dan","2B":"dan",3:"dan"},{name:"Divehi",local:"Divehi",1:"dv",2:"div","2T":"div","2B":"div",3:"div"},{name:"Dutch",local:"Nederlands",1:"nl",2:"nld","2T":"nld","2B":"dut",3:"nld"},{name:"Dzongkha",local:"རྫོང་ཁ",1:"dz",2:"dzo","2T":"dzo","2B":"dzo",3:"dzo"},{name:"English",local:"English",1:"en",2:"eng","2T":"eng","2B":"eng",3:"eng",locale:"en-US"},{name:"Esperanto",local:"Esperanto",1:"eo",2:"epo","2T":"epo","2B":"epo",3:"epo"},{name:"Estonian",local:"Eesti",1:"et",2:"est","2T":"est","2B":"est",3:"est"},{name:"Ewe",local:"Eʋegbe",1:"ee",2:"ewe","2T":"ewe","2B":"ewe",3:"ewe"},{name:"Faroese",local:"Føroyskt",1:"fo",2:"fao","2T":"fao","2B":"fao",3:"fao"},{name:"Fijian",local:"Na Vosa Vaka-Viti",1:"fj",2:"fij","2T":"fij","2B":"fij",3:"fij"},{name:"Finnish",local:"Suomi",1:"fi",2:"fin","2T":"fin","2B":"fin",3:"fin"},{name:"French",local:"Français",1:"fr",2:"fra","2T":"fra","2B":"fre",3:"fra",locale:"fr-FR"},{name:"Fula",local:"Fulfulde",1:"ff",2:"ful","2T":"ful","2B":"ful",3:"ful"},{name:"Galician",local:"Galego",1:"gl",2:"glg","2T":"glg","2B":"glg",3:"glg"},{name:"Georgian",local:"ქართული",1:"ka",2:"kat","2T":"kat","2B":"geo",3:"kat"},{name:"German",local:"Deutsch",1:"de",2:"deu","2T":"deu","2B":"ger",3:"deu"},{name:"Greek",local:"Ελληνικά",1:"el",2:"ell","2T":"ell","2B":"gre",3:"ell"},{name:"Guaraní",local:"Avañe'ẽ",1:"gn",2:"grn","2T":"grn","2B":"grn",3:"grn"},{name:"Gujarati",local:"ગુજરાતી",1:"gu",2:"guj","2T":"guj","2B":"guj",3:"guj"},{name:"Haitian",local:"Kreyòl Ayisyen",1:"ht",2:"hat","2T":"hat","2B":"hat",3:"hat"},{name:"Hausa",local:"هَوُسَ",1:"ha",2:"hau","2T":"hau","2B":"hau",3:"hau"},{name:"Hebrew",local:"עברית",1:"he",2:"heb","2T":"heb","2B":"heb",3:"heb"},{name:"Herero",local:"Otjiherero",1:"hz",2:"her","2T":"her","2B":"her",3:"her"},{name:"Hindi",local:"हिन्दी",1:"hi",2:"hin","2T":"hin","2B":"hin",3:"hin"},{name:"Hiri Motu",local:"Hiri Motu",1:"ho",2:"hmo","2T":"hmo","2B":"hmo",3:"hmo"},{name:"Hungarian",local:"Magyar",1:"hu",2:"hun","2T":"hun","2B":"hun",3:"hun"},{name:"Interlingua",local:"Interlingua",1:"ia",2:"ina","2T":"ina","2B":"ina",3:"ina"},{name:"Indonesian",local:"Bahasa Indonesia",1:"id",2:"ind","2T":"ind","2B":"ind",3:"ind"},{name:"Interlingue",local:"Interlingue",1:"ie",2:"ile","2T":"ile","2B":"ile",3:"ile"},{name:"Irish",local:"Gaeilge",1:"ga",2:"gle","2T":"gle","2B":"gle",3:"gle"},{name:"Igbo",local:"Igbo",1:"ig",2:"ibo","2T":"ibo","2B":"ibo",3:"ibo"},{name:"Inupiaq",local:"Iñupiak",1:"ik",2:"ipk","2T":"ipk","2B":"ipk",3:"ipk"},{name:"Ido",local:"Ido",1:"io",2:"ido","2T":"ido","2B":"ido",3:"ido"},{name:"Icelandic",local:"Íslenska",1:"is",2:"isl","2T":"isl","2B":"ice",3:"isl"},{name:"Italian",local:"Italiano",1:"it",2:"ita","2T":"ita","2B":"ita",3:"ita",locale:"it-IT"},{name:"Inuktitut",local:"ᐃᓄᒃᑎᑐᑦ",1:"iu",2:"iku","2T":"iku","2B":"iku",3:"iku"},{name:"Japanese",local:"日本語",1:"ja",2:"jpn","2T":"jpn","2B":"jpn",3:"jpn",locale:"ja-JP"},{name:"Javanese",local:"Basa Jawa",1:"jv",2:"jav","2T":"jav","2B":"jav",3:"jav"},{name:"Kalaallisut",local:"Kalaallisut",1:"kl",2:"kal","2T":"kal","2B":"kal",3:"kal"},{name:"Kannada",local:"ಕನ್ನಡ",1:"kn",2:"kan","2T":"kan","2B":"kan",3:"kan"},{name:"Kanuri",local:"Kanuri",1:"kr",2:"kau","2T":"kau","2B":"kau",3:"kau"},{name:"Kashmiri",local:"كشميري",1:"ks",2:"kas","2T":"kas","2B":"kas",3:"kas"},{name:"Kazakh",local:"Қазақша",1:"kk",2:"kaz","2T":"kaz","2B":"kaz",3:"kaz"},{name:"Khmer",local:"ភាសាខ្មែរ",1:"km",2:"khm","2T":"khm","2B":"khm",3:"khm"},{name:"Kikuyu",local:"Gĩkũyũ",1:"ki",2:"kik","2T":"kik","2B":"kik",3:"kik"},{name:"Kinyarwanda",local:"Kinyarwanda",1:"rw",2:"kin","2T":"kin","2B":"kin",3:"kin"},{name:"Kyrgyz",local:"Кыргызча",1:"ky",2:"kir","2T":"kir","2B":"kir",3:"kir"},{name:"Komi",local:"Коми",1:"kv",2:"kom","2T":"kom","2B":"kom",3:"kom"},{name:"Kongo",local:"Kongo",1:"kg",2:"kon","2T":"kon","2B":"kon",3:"kon"},{name:"Korean",local:"한국어",1:"ko",2:"kor","2T":"kor","2B":"kor",3:"kor"},{name:"Kurdish",local:"Kurdî",1:"ku",2:"kur","2T":"kur","2B":"kur",3:"kur"},{name:"Kwanyama",local:"Kuanyama",1:"kj",2:"kua","2T":"kua","2B":"kua",3:"kua"},{name:"Latin",local:"Latina",1:"la",2:"lat","2T":"lat","2B":"lat",3:"lat"},{name:"Luxembourgish",local:"Lëtzebuergesch",1:"lb",2:"ltz","2T":"ltz","2B":"ltz",3:"ltz"},{name:"Ganda",local:"Luganda",1:"lg",2:"lug","2T":"lug","2B":"lug",3:"lug"},{name:"Limburgish",local:"Limburgs",1:"li",2:"lim","2T":"lim","2B":"lim",3:"lim"},{name:"Lingala",local:"Lingála",1:"ln",2:"lin","2T":"lin","2B":"lin",3:"lin"},{name:"Lao",local:"ພາສາລາວ",1:"lo",2:"lao","2T":"lao","2B":"lao",3:"lao"},{name:"Lithuanian",local:"Lietuvių",1:"lt",2:"lit","2T":"lit","2B":"lit",3:"lit"},{name:"Luba-Katanga",local:"Tshiluba",1:"lu",2:"lub","2T":"lub","2B":"lub",3:"lub"},{name:"Latvian",local:"Latviešu",1:"lv",2:"lav","2T":"lav","2B":"lav",3:"lav"},{name:"Manx",local:"Gaelg",1:"gv",2:"glv","2T":"glv","2B":"glv",3:"glv"},{name:"Macedonian",local:"Македонски",1:"mk",2:"mkd","2T":"mkd","2B":"mac",3:"mkd"},{name:"Malagasy",local:"Malagasy",1:"mg",2:"mlg","2T":"mlg","2B":"mlg",3:"mlg"},{name:"Malay",local:"Bahasa Melayu",1:"ms",2:"msa","2T":"msa","2B":"may",3:"msa"},{name:"Malayalam",local:"മലയാളം",1:"ml",2:"mal","2T":"mal","2B":"mal",3:"mal"},{name:"Maltese",local:"Malti",1:"mt",2:"mlt","2T":"mlt","2B":"mlt",3:"mlt"},{name:"Māori",local:"Māori",1:"mi",2:"mri","2T":"mri","2B":"mao",3:"mri"},{name:"Marathi",local:"मराठी",1:"mr",2:"mar","2T":"mar","2B":"mar",3:"mar"},{name:"Marshallese",local:"Kajin M̧ajeļ",1:"mh",2:"mah","2T":"mah","2B":"mah",3:"mah"},{name:"Mongolian",local:"Монгол",1:"mn",2:"mon","2T":"mon","2B":"mon",3:"mon"},{name:"Nauru",local:"Dorerin Naoero",1:"na",2:"nau","2T":"nau","2B":"nau",3:"nau"},{name:"Navajo",local:"Diné Bizaad",1:"nv",2:"nav","2T":"nav","2B":"nav",3:"nav"},{name:"Northern Ndebele",local:"isiNdebele",1:"nd",2:"nde","2T":"nde","2B":"nde",3:"nde"},{name:"Nepali",local:"नेपाली",1:"ne",2:"nep","2T":"nep","2B":"nep",3:"nep"},{name:"Ndonga",local:"Owambo",1:"ng",2:"ndo","2T":"ndo","2B":"ndo",3:"ndo"},{name:"Norwegian Bokmål",local:"Norsk (Bokmål)",1:"nb",2:"nob","2T":"nob","2B":"nob",3:"nob",locale:"nb-NO"},{name:"Norwegian Nynorsk",local:"Norsk (Nynorsk)",1:"nn",2:"nno","2T":"nno","2B":"nno",3:"nno",locale:"nn-NO"},{name:"Norwegian",local:"Norsk",1:"no",2:"nor","2T":"nor","2B":"nor",3:"nor",locale:"no-NO"},{name:"Nuosu",local:"ꆈꌠ꒿ Nuosuhxop",1:"ii",2:"iii","2T":"iii","2B":"iii",3:"iii"},{name:"Southern Ndebele",local:"isiNdebele",1:"nr",2:"nbl","2T":"nbl","2B":"nbl",3:"nbl"},{name:"Occitan",local:"Occitan",1:"oc",2:"oci","2T":"oci","2B":"oci",3:"oci"},{name:"Ojibwe",local:"ᐊᓂᔑᓈᐯᒧᐎᓐ",1:"oj",2:"oji","2T":"oji","2B":"oji",3:"oji"},{name:"Old Church Slavonic",local:"Словѣ́ньскъ",1:"cu",2:"chu","2T":"chu","2B":"chu",3:"chu"},{name:"Oromo",local:"Afaan Oromoo",1:"om",2:"orm","2T":"orm","2B":"orm",3:"orm"},{name:"Oriya",local:"ଓଡି଼ଆ",1:"or",2:"ori","2T":"ori","2B":"ori",3:"ori"},{name:"Ossetian",local:"Ирон æвзаг",1:"os",2:"oss","2T":"oss","2B":"oss",3:"oss"},{name:"Panjabi",local:"ਪੰਜਾਬੀ",1:"pa",2:"pan","2T":"pan","2B":"pan",3:"pan"},{name:"Pāli",local:"पाऴि",1:"pi",2:"pli","2T":"pli","2B":"pli",3:"pli"},{name:"Persian",local:"فارسی",1:"fa",2:"fas","2T":"fas","2B":"per",3:"fas"},{name:"Polish",local:"Polski",1:"pl",2:"pol","2T":"pol","2B":"pol",3:"pol"},{name:"Pashto",local:"پښتو",1:"ps",2:"pus","2T":"pus","2B":"pus",3:"pus"},{name:"Portuguese",local:"Português",1:"pt",2:"por","2T":"por","2B":"por",3:"por",locale:"pt-PT"},{name:"Portuguese (Brazil)",local:"Português (Brasil)",1:"pb",2:"pob","2T":"pob","2B":"pob",3:"pob",locale:"pt-BR"},{name:"Quechua",local:"Runa Simi",1:"qu",2:"que","2T":"que","2B":"que",3:"que"},{name:"Romansh",local:"Rumantsch",1:"rm",2:"roh","2T":"roh","2B":"roh",3:"roh"},{name:"Kirundi",local:"Kirundi",1:"rn",2:"run","2T":"run","2B":"run",3:"run"},{name:"Romanian",local:"Română",1:"ro",2:"ron","2T":"ron","2B":"rum",3:"ron"},{name:"Russian",local:"Русский",1:"ru",2:"rus","2T":"rus","2B":"rus",3:"rus"},{name:"Sanskrit",local:"संस्कृतम्",1:"sa",2:"san","2T":"san","2B":"san",3:"san"},{name:"Sardinian",local:"Sardu",1:"sc",2:"srd","2T":"srd","2B":"srd",3:"srd"},{name:"Sindhi",local:"سنڌي‎",1:"sd",2:"snd","2T":"snd","2B":"snd",3:"snd"},{name:"Northern Sami",local:"Sámegiella",1:"se",2:"sme","2T":"sme","2B":"sme",3:"sme"},{name:"Samoan",local:"Gagana Sāmoa",1:"sm",2:"smo","2T":"smo","2B":"smo",3:"smo"},{name:"Sango",local:"Sängö",1:"sg",2:"sag","2T":"sag","2B":"sag",3:"sag"},{name:"Serbian",local:"Српски",1:"sr",2:"srp","2T":"srp","2B":"srp",3:"srp"},{name:"Gaelic",local:"Gàidhlig",1:"gd",2:"gla","2T":"gla","2B":"gla",3:"gla"},{name:"Shona",local:"ChiShona",1:"sn",2:"sna","2T":"sna","2B":"sna",3:"sna"},{name:"Sinhala",local:"සිංහල",1:"si",2:"sin","2T":"sin","2B":"sin",3:"sin"},{name:"Slovak",local:"Slovenčina",1:"sk",2:"slk","2T":"slk","2B":"slo",3:"slk"},{name:"Slovene",local:"Slovenščina",1:"sl",2:"slv","2T":"slv","2B":"slv",3:"slv"},{name:"Somali",local:"Soomaaliga",1:"so",2:"som","2T":"som","2B":"som",3:"som"},{name:"Southern Sotho",local:"Sesotho",1:"st",2:"sot","2T":"sot","2B":"sot",3:"sot"},{name:"Spanish",local:"Español",1:"es",2:"spa","2T":"spa","2B":"spa",3:"spa",locale:"es-ES"},{name:"Spanish (Latin America)",local:"Español (América Latina)",1:"es",2:"spl","2T":"spl","2B":"spl",3:"spl",locale:"es-419"},{name:"Sundanese",local:"Basa Sunda",1:"su",2:"sun","2T":"sun","2B":"sun",3:"sun"},{name:"Swahili",local:"Kiswahili",1:"sw",2:"swa","2T":"swa","2B":"swa",3:"swa"},{name:"Swati",local:"SiSwati",1:"ss",2:"ssw","2T":"ssw","2B":"ssw",3:"ssw"},{name:"Swedish",local:"Svenska",1:"sv",2:"swe","2T":"swe","2B":"swe",3:"swe"},{name:"Tamil",local:"தமிழ்",1:"ta",2:"tam","2T":"tam","2B":"tam",3:"tam"},{name:"Telugu",local:"తెలుగు",1:"te",2:"tel","2T":"tel","2B":"tel",3:"tel"},{name:"Tajik",local:"Тоҷикӣ",1:"tg",2:"tgk","2T":"tgk","2B":"tgk",3:"tgk"},{name:"Thai",local:"ภาษาไทย",1:"th",2:"tha","2T":"tha","2B":"tha",3:"tha"},{name:"Tigrinya",local:"ትግርኛ",1:"ti",2:"tir","2T":"tir","2B":"tir",3:"tir"},{name:"Tibetan Standard",local:"བོད་ཡིག",1:"bo",2:"bod","2T":"bod","2B":"tib",3:"bod"},{name:"Turkmen",local:"Türkmençe",1:"tk",2:"tuk","2T":"tuk","2B":"tuk",3:"tuk"},{name:"Tagalog",local:"Tagalog",1:"tl",2:"tgl","2T":"tgl","2B":"tgl",3:"tgl"},{name:"Tswana",local:"Setswana",1:"tn",2:"tsn","2T":"tsn","2B":"tsn",3:"tsn"},{name:"Tonga",local:"faka Tonga",1:"to",2:"ton","2T":"ton","2B":"ton",3:"ton"},{name:"Turkish",local:"Türkçe",1:"tr",2:"tur","2T":"tur","2B":"tur",3:"tur"},{name:"Tsonga",local:"Xitsonga",1:"ts",2:"tso","2T":"tso","2B":"tso",3:"tso"},{name:"Tatar",local:"Татарча",1:"tt",2:"tat","2T":"tat","2B":"tat",3:"tat"},{name:"Twi",local:"Twi",1:"tw",2:"twi","2T":"twi","2B":"twi",3:"twi"},{name:"Tahitian",local:"Reo Mā’ohi",1:"ty",2:"tah","2T":"tah","2B":"tah",3:"tah"},{name:"Uyghur",local:"ئۇيغۇرچه",1:"ug",2:"uig","2T":"uig","2B":"uig",3:"uig"},{name:"Ukrainian",local:"Українська",1:"uk",2:"ukr","2T":"ukr","2B":"ukr",3:"ukr"},{name:"Urdu",local:"اردو",1:"ur",2:"urd","2T":"urd","2B":"urd",3:"urd"},{name:"Uzbek",local:"O‘zbek",1:"uz",2:"uzb","2T":"uzb","2B":"uzb",3:"uzb"},{name:"Venda",local:"Tshivenḓa",1:"ve",2:"ven","2T":"ven","2B":"ven",3:"ven"},{name:"Vietnamese",local:"Tiếng Việt",1:"vi",2:"vie","2T":"vie","2B":"vie",3:"vie"},{name:"Volapük",local:"Volapük",1:"vo",2:"vol","2T":"vol","2B":"vol",3:"vol"},{name:"Walloon",local:"Walon",1:"wa",2:"wln","2T":"wln","2B":"wln",3:"wln"},{name:"Welsh",local:"Cymraeg",1:"cy",2:"cym","2T":"cym","2B":"wel",3:"cym"},{name:"Wolof",local:"Wolof",1:"wo",2:"wol","2T":"wol","2B":"wol",3:"wol"},{name:"Western Frisian",local:"Frysk",1:"fy",2:"fry","2T":"fry","2B":"fry",3:"fry"},{name:"Xhosa",local:"isiXhosa",1:"xh",2:"xho","2T":"xho","2B":"xho",3:"xho"},{name:"Yiddish",local:"ייִדיש",1:"yi",2:"yid","2T":"yid","2B":"yid",3:"yid"},{name:"Yoruba",local:"Yorùbá",1:"yo",2:"yor","2T":"yor","2B":"yor",3:"yor"},{name:"Zhuang",local:"Cuengh",1:"za",2:"zha","2T":"zha","2B":"zha",3:"zha"},{name:"Zulu",local:"isiZulu",1:"zu",2:"zul","2T":"zul","2B":"zul",3:"zul"}]},96854:(e,t,a)=>{var i=a(73220),o={all:function(){return i},has:function(e,t){return void 0!==n(e,t)},codes:function(e){if((function(e){return-1!==[1,2,3,"1","2","2B","2T","3"].indexOf(e)})(e))return r(i,(function(t){return t[e]}))},names:function(e){return r(i,(function(t){return e?t.local:t.name}))},where:n};function n(e,t){for(var a=0;a{e=a.nmd(e);var i="__lodash_hash_undefined__",o=9007199254740991,n="[object Arguments]",r="[object Boolean]",E="[object Date]",_="[object Function]",T="[object GeneratorFunction]",s="[object Map]",S="[object Number]",l="[object Object]",I="[object Promise]",A="[object RegExp]",u="[object Set]",d="[object String]",O="[object Symbol]",c="[object WeakMap]",N="[object ArrayBuffer]",R="[object DataView]",m="[object Float32Array]",L="[object Float64Array]",D="[object Int8Array]",p="[object Int16Array]",C="[object Int32Array]",h="[object Uint8Array]",f="[object Uint8ClampedArray]",P="[object Uint16Array]",B="[object Uint32Array]",g=/\w*$/,v=/^\[object .+?Constructor\]$/,M=/^(?:0|[1-9]\d*)$/,W={};W[n]=W["[object Array]"]=W[N]=W[R]=W[r]=W[E]=W[m]=W[L]=W[D]=W[p]=W[C]=W[s]=W[S]=W[l]=W[A]=W[u]=W[d]=W[O]=W[h]=W[f]=W[P]=W[B]=!0,W["[object Error]"]=W[_]=W[c]=!1;var y="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,U="object"==typeof self&&self&&self.Object===Object&&self,b=y||U||Function("return this")(),G=t&&!t.nodeType&&t,k=G&&e&&!e.nodeType&&e,F=k&&k.exports===G;function V(e,t){return e.set(t[0],t[1]),e}function H(e,t){return e.add(t),e}function w(e,t,a,i){var o=-1,n=e?e.length:0;for(i&&n&&(a=e[++o]);++o-1},fe.prototype.set=function(e,t){var a=this.__data__,i=Me(a,e);return i<0?a.push([e,t]):a[i][1]=t,this},Pe.prototype.clear=function(){this.__data__={hash:new he,map:new(Ae||fe),string:new he}},Pe.prototype.delete=function(e){return Ge(this,e).delete(e)},Pe.prototype.get=function(e){return Ge(this,e).get(e)},Pe.prototype.has=function(e){return Ge(this,e).has(e)},Pe.prototype.set=function(e,t){return Ge(this,e).set(e,t),this},Be.prototype.clear=function(){this.__data__=new fe},Be.prototype.delete=function(e){return this.__data__.delete(e)},Be.prototype.get=function(e){return this.__data__.get(e)},Be.prototype.has=function(e){return this.__data__.has(e)},Be.prototype.set=function(e,t){var a=this.__data__;if(a instanceof fe){var i=a.__data__;if(!Ae||i.length<199)return i.push([e,t]),this;a=this.__data__=new Pe(i)}return a.set(e,t),this};var Fe=se?K(se,Object):function(){return[]},Ve=function(e){return te.call(e)};function He(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||M.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=o})(e.length)&&!Qe(e)}var xe=Se||function(){return!1};function Qe(e){var t=Xe(e)?te.call(e):"";return t==_||t==T}function Xe(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function $e(e){return je(e)?ge(e):(function(e){if(!we(e))return le(e);var t=[];for(var a in Object(e))ee.call(e,a)&&"constructor"!=a&&t.push(a);return t})(e)}e.exports=function(e){return We(e,!0,!0)}},20181:(e,t,a)=>{var i=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,n=/^0b[01]+$/i,r=/^0o[0-7]+$/i,E=parseInt,_="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,T="object"==typeof self&&self&&self.Object===Object&&self,s=_||T||Function("return this")(),S=Object.prototype.toString,l=Math.max,I=Math.min,A=function(){return s.Date.now()};function u(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function d(e){if("number"==typeof e)return e;if((function(e){return"symbol"==typeof e||(function(e){return!!e&&"object"==typeof e})(e)&&"[object Symbol]"==S.call(e)})(e))return NaN;if(u(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=u(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var a=n.test(e);return a||r.test(e)?E(e.slice(2),a?2:8):o.test(e)?NaN:+e}e.exports=function(e,t,a){var i,o,n,r,E,_,T=0,s=!1,S=!1,O=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function c(t){var a=i,n=o;return i=o=void 0,T=t,r=e.apply(n,a)}function N(e){var a=e-_;return void 0===_||a>=t||a<0||S&&e-T>=n}function R(){var e=A();if(N(e))return m(e);E=setTimeout(R,(function(e){var a=t-(e-_);return S?I(a,n-(e-T)):a})(e))}function m(e){return E=void 0,O&&i?c(e):(i=o=void 0,r)}function L(){var e=A(),a=N(e);if(i=arguments,o=this,_=e,a){if(void 0===E)return(function(e){return T=e,E=setTimeout(R,t),s?c(e):r})(_);if(S)return E=setTimeout(R,t),c(_)}return void 0===E&&(E=setTimeout(R,t)),r}return t=d(t)||0,u(a)&&(s=!!a.leading,n=(S="maxWait"in a)?l(d(a.maxWait)||0,t):n,O="trailing"in a?!!a.trailing:O),L.cancel=function(){void 0!==E&&clearTimeout(E),T=0,i=_=o=E=void 0},L.flush=function(){return void 0===E?r:m(A())},L}},72931:(e,t,a)=>{var i="__lodash_hash_undefined__",o=9007199254740991,n=/^\[object .+?Constructor\]$/,r="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,E="object"==typeof self&&self&&self.Object===Object&&self,_=r||E||Function("return this")();function T(e,t){return!!(e?e.length:0)&&(function(e,t,a){if(t!=t)return(function(e,t,a,i){var o=e.length,n=a+(i?1:-1);for(;i?n--:++n-1}function s(e,t,a){for(var i=-1,o=e?e.length:0;++i-1&&e%1==0&&e<=o})(e.length)&&!w(e)})(e)})(e)?e:[]}function G(e,t){var a,i,o=e.__data__;return("string"==(i=typeof(a=t))||"number"==i||"symbol"==i||"boolean"==i?"__proto__"!==a:null===a)?o["string"==typeof t?"string":"hash"]:o.map}function k(e,t){var a=(function(e,t){return null==e?void 0:e[t]})(e,t);return U(a)?a:void 0}g.prototype.clear=function(){this.__data__=B?B(null):{}},g.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},g.prototype.get=function(e){var t=this.__data__;if(B){var a=t[e];return a===i?void 0:a}return L.call(t,e)?t[e]:void 0},g.prototype.has=function(e){var t=this.__data__;return B?void 0!==t[e]:L.call(t,e)},g.prototype.set=function(e,t){return this.__data__[e]=B&&void 0===t?i:t,this},v.prototype.clear=function(){this.__data__=[]},v.prototype.delete=function(e){var t=this.__data__,a=y(t,e);return!(a<0)&&(a==t.length-1?t.pop():C.call(t,a,1),!0)},v.prototype.get=function(e){var t=this.__data__,a=y(t,e);return a<0?void 0:t[a][1]},v.prototype.has=function(e){return y(this.__data__,e)>-1},v.prototype.set=function(e,t){var a=this.__data__,i=y(a,e);return i<0?a.push([e,t]):a[i][1]=t,this},M.prototype.clear=function(){this.__data__={hash:new g,map:new(P||v),string:new g}},M.prototype.delete=function(e){return G(this,e).delete(e)},M.prototype.get=function(e){return G(this,e).get(e)},M.prototype.has=function(e){return G(this,e).has(e)},M.prototype.set=function(e,t){return G(this,e).set(e,t),this},W.prototype.add=W.prototype.push=function(e){return this.__data__.set(e,i),this},W.prototype.has=function(e){return this.__data__.has(e)};var F,V,H=(F=function(e){var t=S(e,b);return t.length&&t[0]===e[0]?(function(e,t,a){for(var i=a?s:T,o=e[0].length,n=e.length,r=n,E=Array(n),_=1/0,l=[];r--;){var u=e[r];r&&t&&(u=S(u,I(t))),_=f(u.length,_),E[r]=!a&&(t||o>=120&&u.length>=120)?new W(r&&u):void 0}u=e[0];var d=-1,O=E[0];e:for(;++d{e=a.nmd(e);var i="__lodash_hash_undefined__",o=9007199254740991,n="[object Arguments]",r="[object Array]",E="[object Boolean]",_="[object Date]",T="[object Error]",s="[object Function]",S="[object Map]",l="[object Number]",I="[object Object]",A="[object Promise]",u="[object RegExp]",d="[object Set]",O="[object String]",c="[object Symbol]",N="[object WeakMap]",R="[object ArrayBuffer]",m="[object DataView]",L=/^\[object .+?Constructor\]$/,D=/^(?:0|[1-9]\d*)$/,p={};p["[object Float32Array]"]=p["[object Float64Array]"]=p["[object Int8Array]"]=p["[object Int16Array]"]=p["[object Int32Array]"]=p["[object Uint8Array]"]=p["[object Uint8ClampedArray]"]=p["[object Uint16Array]"]=p["[object Uint32Array]"]=!0,p[n]=p[r]=p[R]=p[E]=p[m]=p[_]=p[T]=p[s]=p[S]=p[l]=p[I]=p[u]=p[d]=p[O]=p[N]=!1;var C="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,h="object"==typeof self&&self&&self.Object===Object&&self,f=C||h||Function("return this")(),P=t&&!t.nodeType&&t,B=P&&e&&!e.nodeType&&e,g=B&&B.exports===P,v=g&&C.process,M=(function(){try{return v&&v.binding&&v.binding("util")}catch(e){}})(),W=M&&M.isTypedArray;function y(e,t){for(var a=-1,i=null==e?0:e.length;++aE))return!1;var T=n.get(e);if(T&&n.get(t))return T==t;var s=-1,S=!0,l=2&a?new Re:void 0;for(n.set(e,t),n.set(t,e);++s-1},ce.prototype.set=function(e,t){var a=this.__data__,i=De(a,e);return i<0?(++this.size,a.push([e,t])):a[i][1]=t,this},Ne.prototype.clear=function(){this.size=0,this.__data__={hash:new Oe,map:new(ne||ce),string:new Oe}},Ne.prototype.delete=function(e){var t=ve(this,e).delete(e);return this.size-=t?1:0,t},Ne.prototype.get=function(e){return ve(this,e).get(e)},Ne.prototype.has=function(e){return ve(this,e).has(e)},Ne.prototype.set=function(e,t){var a=ve(this,e),i=a.size;return a.set(e,t),this.size+=a.size==i?0:1,this},Re.prototype.add=Re.prototype.push=function(e){return this.__data__.set(e,i),this},Re.prototype.has=function(e){return this.__data__.has(e)},me.prototype.clear=function(){this.__data__=new ce,this.size=0},me.prototype.delete=function(e){var t=this.__data__,a=t.delete(e);return this.size=t.size,a},me.prototype.get=function(e){return this.__data__.get(e)},me.prototype.has=function(e){return this.__data__.has(e)},me.prototype.set=function(e,t){var a=this.__data__;if(a instanceof ce){var i=a.__data__;if(!ne||i.length<199)return i.push([e,t]),this.size=++a.size,this;a=this.__data__=new Ne(i)}return a.set(e,t),this.size=a.size,this};var We=te?function(e){return null==e?[]:(e=Object(e),(function(e,t){for(var a=-1,i=null==e?0:e.length,o=0,n=[];++a-1&&e%1==0&&e-1&&e%1==0&&e<=o}function Ye(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ze(e){return null!=e&&"object"==typeof e}var Ke=W?(function(e){return function(t){return e(t)}})(W):function(e){return ze(e)&&we(e.length)&&!!p[pe(e)]};function je(e){return null!=(t=e)&&we(t.length)&&!He(t)?Le(e):Pe(e);var t}e.exports=function(e,t){return he(e,t)}},25858:(e,t,a)=>{var i="Expected a function",o=/^\s+|\s+$/g,n=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,E=/^0o[0-7]+$/i,_=parseInt,T="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,s="object"==typeof self&&self&&self.Object===Object&&self,S=T||s||Function("return this")(),l=Object.prototype.toString,I=Math.max,A=Math.min,u=function(){return S.Date.now()};function d(e,t,a){var o,n,r,E,_,T,s=0,S=!1,l=!1,d=!0;if("function"!=typeof e)throw new TypeError(i);function N(t){var a=o,i=n;return o=n=void 0,s=t,E=e.apply(i,a)}function R(e){var a=e-T;return void 0===T||a>=t||a<0||l&&e-s>=r}function m(){var e=u();if(R(e))return L(e);_=setTimeout(m,(function(e){var a=t-(e-T);return l?A(a,r-(e-s)):a})(e))}function L(e){return _=void 0,d&&o?N(e):(o=n=void 0,E)}function D(){var e=u(),a=R(e);if(o=arguments,n=this,T=e,a){if(void 0===_)return(function(e){return s=e,_=setTimeout(m,t),S?N(e):E})(T);if(l)return _=setTimeout(m,t),N(T)}return void 0===_&&(_=setTimeout(m,t)),E}return t=c(t)||0,O(a)&&(S=!!a.leading,r=(l="maxWait"in a)?I(c(a.maxWait)||0,t):r,d="trailing"in a?!!a.trailing:d),D.cancel=function(){void 0!==_&&clearTimeout(_),s=0,o=T=n=_=void 0},D.flush=function(){return void 0===_?E:L(u())},D}function O(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function c(e){if("number"==typeof e)return e;if((function(e){return"symbol"==typeof e||(function(e){return!!e&&"object"==typeof e})(e)&&"[object Symbol]"==l.call(e)})(e))return NaN;if(O(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=O(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(o,"");var a=r.test(e);return a||E.test(e)?_(e.slice(2),a?2:8):n.test(e)?NaN:+e}e.exports=function(e,t,a){var o=!0,n=!0;if("function"!=typeof e)throw new TypeError(i);return O(a)&&(o="leading"in a?!!a.leading:o,n="trailing"in a?!!a.trailing:n),d(e,t,{leading:o,maxWait:t,trailing:n})}},41968:(e,t,a)=>{var i=a(48287).hp;e.exports=r,e.exports.decode=r,e.exports.encode=function(e){e=Object.assign({},e);let t=new Set;e.xt&&"string"==typeof e.xt&&t.add(e.xt);e.xt&&Array.isArray(e.xt)&&(t=new Set(e.xt));e.infoHashBuffer&&t.add(`urn:btih:${e.infoHashBuffer.toString("hex")}`);e.infoHash&&t.add(`urn:btih:${e.infoHash}`);e.infoHashV2Buffer&&t.add(e.xt=`urn:btmh:1220${e.infoHashV2Buffer.toString("hex")}`);e.infoHashV2&&t.add(`urn:btmh:1220${e.infoHashV2}`);const a=Array.from(t);1===a.length&&(e.xt=a[0]);a.length>1&&(e.xt=a);e.publicKeyBuffer&&(e.xs=`urn:btpk:${e.publicKeyBuffer.toString("hex")}`);e.publicKey&&(e.xs=`urn:btpk:${e.publicKey}`);e.name&&(e.dn=e.name);e.keywords&&(e.kt=e.keywords);e.announce&&(e.tr=e.announce);e.urlList&&(e.ws=e.urlList,delete e.as);e.peerAddresses&&(e["x.pe"]=e.peerAddresses);let i="magnet:?";return Object.keys(e).filter((e=>2===e.length||"x.pe"===e)).forEach(((t,a)=>{const o=Array.isArray(e[t])?e[t]:[e[t]];o.forEach(((e,o)=>{(a>0||o>0)&&("kt"!==t&&"so"!==t||0===o)&&(i+="&"),"dn"===t&&(e=encodeURIComponent(e).replace(/%20/g,"+")),"tr"!==t&&"as"!==t&&"ws"!==t||(e=encodeURIComponent(e)),"xs"!==t||e.startsWith("urn:btpk:")||(e=encodeURIComponent(e)),"kt"===t&&(e=encodeURIComponent(e)),"so"!==t&&(i+="kt"===t&&o>0?`+${e}`:`${t}=${e}`)})),"so"===t&&(i+=`${t}=${n.compose(o)}`)})),i};const o=a(30804),n=a(13960);function r(e){const t={},a=e.split("magnet:?")[1];let r;if((a&&a.length>=0?a.split("&"):[]).forEach((e=>{const a=e.split("=");if(2!==a.length)return;const i=a[0];let o=a[1];"dn"===i&&(o=decodeURIComponent(o).replace(/\+/g," ")),"tr"!==i&&"xs"!==i&&"as"!==i&&"ws"!==i||(o=decodeURIComponent(o)),"kt"===i&&(o=decodeURIComponent(o).split("+")),"ix"===i&&(o=Number(o)),"so"===i&&(o=n.parse(decodeURIComponent(o).split(","))),t[i]?(Array.isArray(t[i])||(t[i]=[t[i]]),t[i].push(o)):t[i]=o})),t.xt){(Array.isArray(t.xt)?t.xt:[t.xt]).forEach((e=>{if(r=e.match(/^urn:btih:(.{40})/))t.infoHash=r[1].toLowerCase();else if(r=e.match(/^urn:btih:(.{32})/)){const e=o.decode(r[1]);t.infoHash=i.from(e,"binary").toString("hex")}else(r=e.match(/^urn:btmh:1220(.{64})/))&&(t.infoHashV2=r[1].toLowerCase())}))}if(t.xs){(Array.isArray(t.xs)?t.xs:[t.xs]).forEach((e=>{(r=e.match(/^urn:btpk:(.{64})/))&&(t.publicKey=r[1].toLowerCase())}))}return t.infoHash&&(t.infoHashBuffer=i.from(t.infoHash,"hex")),t.infoHashV2&&(t.infoHashV2Buffer=i.from(t.infoHashV2,"hex")),t.publicKey&&(t.publicKeyBuffer=i.from(t.publicKey,"hex")),t.dn&&(t.name=t.dn),t.kt&&(t.keywords=t.kt),t.announce=[],("string"==typeof t.tr||Array.isArray(t.tr))&&(t.announce=t.announce.concat(t.tr)),t.urlList=[],("string"==typeof t.as||Array.isArray(t.as))&&(t.urlList=t.urlList.concat(t.as)),("string"==typeof t.ws||Array.isArray(t.ws))&&(t.urlList=t.urlList.concat(t.ws)),t.peerAddresses=[],("string"==typeof t["x.pe"]||Array.isArray(t["x.pe"]))&&(t.peerAddresses=t.peerAddresses.concat(t["x.pe"])),t.announce=Array.from(new Set(t.announce)),t.urlList=Array.from(new Set(t.urlList)),t.peerAddresses=Array.from(new Set(t.peerAddresses)),t}},46565:e=>{e.exports={"error-container":"error-container-OJnoc","error-image":"error-image-qU9Qo","error-message":"error-message-kW59Z","buttons-container":"buttons-container-tQonN","button-container":"button-container-vLSQK",label:"label-Up_te"}},8589:e=>{e.exports={"updater-banner":"updater-banner-MjMLN",button:"button-ixcOU",close:"close-Quid9",icon:"icon-N2Lyd"}},19654:e=>{e.exports={"fade-in":"fade-in-pFkt_","fade-in-no-motion":"fade-in-no-motion-lYmxL","slide-up":"slide-up-lSxrC","toasts-container":"toasts-container-oKECy","tooltip-container":"tooltip-container-Qpse8","file-drop-container":"file-drop-container-gHJoy","updater-banner-container":"updater-banner-container-Bk1mq",router:"router-_65XU","loader-container":"loader-container-vwvnb","error-container":"error-container-VZXwH"}},39459:e=>{e.exports={"toast-item-container":"toast-item-container-nG0uk",success:"success-eIDTa","icon-container":"icon-container-rjAiH",icon:"icon-Y4I_O",error:"error-quyOd",info:"info-KEWq8","info-container":"info-container-xD9V6","title-container":"title-container-VFReJ","message-container":"message-container-znkCj","close-button-container":"close-button-container-YtyYE"}},70913:e=>{e.exports={"tooltip-placeholder":"tooltip-placeholder-niioe"}},86780:e=>{e.exports={"tooltip-item":"tooltip-item-gfYXu"}},12698:e=>{e.exports={"addon-details-container":"addon-details-container-tUlp2","title-container":"title-container-Ca076",logo:"logo-Nynh9",icon:"icon-ZYXtC","name-container":"name-container-XxPAj",name:"name-i0o3Y",version:"version-FdUq6","section-container":"section-container-N6QHW","section-header":"section-header-tbXCb","section-label":"section-label-_R7gz","transport-url-label":"transport-url-label-upr4V","disclaimer-label":"disclaimer-label-I7kvM"}},51139:e=>{e.exports={"addon-details-modal-container":"addon-details-modal-container-aBFaQ","addon-details-container":"addon-details-container-VdGrt","addon-details-message-container":"addon-details-message-container-X2sRf","cancel-button":"cancel-button-zuUX6","cancel-button-label":"cancel-button-label-ZOQUJ","uninstall-button":"uninstall-button-iLxLs"}},21512:e=>{e.exports={"bottom-sheet":"bottom-sheet-VtqY2",backdrop:"backdrop-Doe6y",container:"container-yiLtz",dragging:"dragging-ML0cp",heading:"heading-xf2ct",handle:"handle-TCLds",title:"title-QtERv",content:"content-ElxXl"}},82050:e=>{e.exports={"button-container":"button-container-zVLH6"}},54576:e=>{e.exports={checkbox:"checkbox-_AF32",label:"label-UHMAy",link:"link-ih0xx","checkbox-container":"checkbox-container-O5cy3","checkbox-icon":"checkbox-icon-viDqg",disabled:"disabled-oxpfi",error:"error-LWgU0",checked:"checked-cf9YT"}},69546:e=>{e.exports={chip:"chip-L3r9A",active:"active-jnhyP"}},71976:e=>{e.exports={chips:"chips-Uw41c"}},99648:e=>{e.exports={"color-input-container":"color-input-container-FAQiP","transparent-label-container":"transparent-label-container-uuGMx","transparent-label":"transparent-label-NxKvi","color-picker-container":"color-picker-container-szQfD"}},55685:e=>{e.exports={"color-picker-container":"color-picker-container-Cny5U"}},12160:e=>{e.exports={"context-menu-container":"context-menu-container-TdwXy","context-menu":"context-menu-kWx7C"}},21847:e=>{e.exports={"event-modal":"event-modal-lIGmX","body-container":"body-container-x9t4v",image:"image-iUBVI","info-container":"info-container-ewqxH","title-container":"title-container-tBMsA",title:"title-lE2cq",label:"label-KwjpM","addon-container":"addon-container-YNNkt",icon:"icon-n54me",name:"name-DVEMC","action-button":"action-button-QSvOg","button-label":"button-label-hRZRW"}},92160:e=>{e.exports={"horizontal-scroll":"horizontal-scroll-pGtUW",left:"left-MCk5v",right:"right-bxsRb",center:"center-J9E02"}},35668:e=>{e.exports={"main-nav-bars-container":"main-nav-bars-container-wNjS5","horizontal-nav-bar":"horizontal-nav-bar-ji5GB","vertical-nav-bar":"vertical-nav-bar-qGRze","nav-content-container":"nav-content-container-zl9hQ"}},306:e=>{e.exports={"meta-item-container":"meta-item-container-Tj0Ib","poster-container":"poster-container-qkw48","dismiss-icon-layer":"dismiss-icon-layer-BWztF","poster-image-layer":"poster-image-layer-KimPZ","play-icon-layer":"play-icon-layer-vpQIo","play-icon-outer":"play-icon-outer-r3iKR","play-icon-background":"play-icon-background-Uazjh","title-bar-container":"title-bar-container-1Ba0x","menu-label-container":"menu-label-container-ChuX8","poster-shape-poster":"poster-shape-poster-MEhNx","poster-shape-square":"poster-shape-square-meMeN","poster-shape-landscape":"poster-shape-landscape-kF6i8","dismiss-icon":"dismiss-icon-db3fv","dismiss-icon-backdrop":"dismiss-icon-backdrop-MkuLQ","watched-icon-layer":"watched-icon-layer-bi3DO","watched-icon":"watched-icon-zuUdK","poster-image":"poster-image-NiV7O","placeholder-icon":"placeholder-icon-xttvb","play-icon":"play-icon-QmEEA","progress-bar-layer":"progress-bar-layer-LVYYi","progress-bar":"progress-bar-w1rNN","progress-bar-background":"progress-bar-background-kyRgp","new-videos":"new-videos-cwuD9",layer:"layer-dQmEe",icon:"icon-gh1t9",label:"label-ZZ2m7","title-label":"title-label-VnEAc"}},38414:e=>{e.exports={"action-button-container":"action-button-container-sVyRr","icon-container":"icon-container-rQBA0",icon:"icon-RouVG","label-container":"label-container-xslEF",label:"label-WCWIO"}},33274:e=>{e.exports={"meta-links-container":"meta-links-container-dh69_","label-container":"label-container-dYN2B","links-container":"links-container-C8Mw9","link-container":"link-container-gHxPW"}},29636:e=>{e.exports={"meta-preview-placeholder-container":"meta-preview-placeholder-container-IVU4R","meta-info-container":"meta-info-container-zVaVX","logo-container":"logo-container-CES89","duration-release-info-container":"duration-release-info-container-JQE0f","duration-container":"duration-container-tVH7K","release-info-container":"release-info-container-dbZja","genres-container":"genres-container-MkCtO","genres-header-container":"genres-header-container-XNnjL","genre-label-container":"genre-label-container-r3gbk","action-buttons-container":"action-buttons-container-FHoD2"}},58824:e=>{e.exports={"ratings-container":"ratings-container-eQRLs","icon-container":"icon-container-kow_q",icon:"icon-QwGlD",disabled:"disabled-W7ks1"}},60781:e=>{e.exports={"meta-preview-container":"meta-preview-container-o22hc",compact:"compact-ii1zu","meta-info-container":"meta-info-container-ub8AH",logo:"logo-X3hTV","logo-placeholder":"logo-placeholder-rE1ld","runtime-release-info-container":"runtime-release-info-container-BGd_r","runtime-label":"runtime-label-TzAGI","release-info-label":"release-info-label-LPJMB","description-container":"description-container-yi8iU","action-buttons-container":"action-buttons-container-XbKVa","action-button":"action-button-XIZa3","background-image-layer":"background-image-layer-kk_WI","background-image":"background-image-9zToE","imdb-button-container":"imdb-button-container-gGjxp",label:"label-MXv72",icon:"icon-N_uIU","label-container":"label-container-_VXZt","meta-links":"meta-links-Xiao3","show-button":"show-button-_yuOF",ratings:"ratings-zUtHH","share-prompt":"share-prompt-QbhIA"}},89452:e=>{e.exports={"meta-row-placeholder-container":"meta-row-placeholder-container-x8ykQ","header-container":"header-container-LRLpi","title-container":"title-container-RuV2b","see-all-container":"see-all-container-GtLII",label:"label-FP9bt",icon:"icon-U2Gj8","meta-items-container":"meta-items-container-M4vN4","meta-item":"meta-item-iOgzp","poster-container":"poster-container-WX2KD","title-bar-container":"title-bar-container-U0ZAT","title-label":"title-label-mb1GR"}},31537:e=>{e.exports={"meta-row-container":"meta-row-container-xtlB1","header-container":"header-container-tR3Ev","title-container":"title-container-Mkwnq","see-all-container":"see-all-container-MoOtW",label:"label-bytni",icon:"icon-Sj7HO","message-container":"message-container-KWmlO","meta-items-container":"meta-items-container-qcuUA","meta-item":"meta-item-QFHCh","poster-shape-poster":"poster-shape-poster-LKBza","poster-shape-square":"poster-shape-square-g5a1z","poster-shape-landscape":"poster-shape-landscape-KmmRZ"}},54623:e=>{e.exports={"modal-container":"modal-container-OuxEF","modal-dialog-container":"modal-dialog-container-DZMKq","modal-dialog-background":"modal-dialog-background-vZpB_","close-button-container":"close-button-container-cmxAp",icon:"icon-OYzlV","modal-dialog-content":"modal-dialog-content-Xgv7Z","title-container":"title-container-v2mmF","body-container":"body-container-H80dD","buttons-container":"buttons-container-e_JoR","action-button":"action-button-eprQG",label:"label-wbfsE"}},89547:e=>{e.exports={"label-container":"label-container-dhjQS",icon:"icon-jg2il",label:"label-AR_l8","modal-container":"modal-container-WaYOG","menu-container":"menu-container-qiz0X","option-container":"option-container-mO9yW","no-options-container":"no-options-container-z47Tg"}},17109:e=>{e.exports={dropdown:"dropdown-MWaxp",open:"open-yuN4f","back-button":"back-button-dGLHu","back-button-icon":"back-button-icon-VdHBJ"}},51261:e=>{e.exports={option:"option-HcOSE",label:"label-IR8xX",icon:"icon-I_g2q"}},90672:e=>{e.exports={"multiselect-menu":"multiselect-menu-qMdaj",disabled:"disabled-RaqL9","multiselect-button":"multiselect-button-XXdgA",label:"label-SoEGc",icon:"icon-gQU96",open:"open-TvFQd",active:"active-gKhO5"}},54636:e=>{e.exports={"nav-menu-popup-label":"nav-menu-popup-label-XmUBo","nav-menu-container":"nav-menu-container-Pl25j","with-warning":"with-warning-SNmXK","user-info-container":"user-info-container-uigVE","avatar-container":"avatar-container-f6ino","user-info-details":"user-info-details-XJ5OH","email-container":"email-container-LNcms","email-label":"email-label-IFT0d","logout-button-container":"logout-button-container-prHdW","logout-label":"logout-label-HhwtK","nav-menu-section":"nav-menu-section-j87xd","nav-menu-option-container":"nav-menu-option-container-Qj9Xh",icon:"icon-MRjOP","nav-menu-option-label":"nav-menu-option-label-d7fgK"}},36345:e=>{e.exports={"search-bar-container":"search-bar-container-asfq1","search-input":"search-input-IQ0ZW","placeholder-label":"placeholder-label-XyrN_","submit-button-container":"submit-button-container-MImNa",icon:"icon-TkvAO","menu-container":"menu-container-GcXNG",label:"label-J908i",title:"title-s74ty","search-history-clear":"search-history-clear-ap0h8",items:"items-P1xS5",item:"item-TgYCX"}},3043:e=>{e.exports={"horizontal-nav-bar-container":"horizontal-nav-bar-container-Y_zvK","logo-container":"logo-container-jteMT",logo:"logo-oPx1q","back-button-container":"back-button-container-lDB1N",title:"title-DGh6h","search-bar":"search-bar-h60ja","buttons-container":"buttons-container-Oc5z1","button-container":"button-container-xT9_L",icon:"icon-T8MU6","menu-button-container":"menu-button-container-DtW4v"}},2572:e=>{e.exports={"nav-tab-button-container":"nav-tab-button-container-dYhs0",label:"label-BCz2f",icon:"icon-TzPrK",logo:"logo-xJBE9"}},41121:e=>{e.exports={"vertical-nav-bar-container":"vertical-nav-bar-container-UPAkA","nav-tab-button":"nav-tab-button-tW6qT"}},3952:e=>{e.exports={"number-input":"number-input-igJ35",button:"button-GWY2o",icon:"icon-EndAk","number-display":"number-display-hLJ72",label:"label-y4qDZ",value:"value-Y2xdx"}},6526:e=>{e.exports={"label-container":"label-container-XOyzm","menu-container":"menu-container-B6cqK","menu-direction-top-left":"menu-direction-top-left-ongjn","menu-direction-bottom-left":"menu-direction-bottom-left-Dvtqk","menu-direction-top-right":"menu-direction-top-right-tmrFG","menu-direction-bottom-right":"menu-direction-bottom-right-aJ89V"}},37872:e=>{e.exports={"radio-button":"radio-button-SGEc1","radio-container":"radio-container-wPddo","inner-circle":"inner-circle-vdtUP",disabled:"disabled-ZzMU9",error:"error-_vY0h",selected:"selected-M_zHA"}},54408:e=>{e.exports={"search-bar-container":"search-bar-container-sTkGP","search-input":"search-input-Q18HV",icon:"icon-M3jX0"}},95939:e=>{e.exports={"search-bar-container":"search-bar-container-p4tSt","search-input":"search-input-bAgAh",icon:"icon-QOYfJ"}},8303:e=>{e.exports={"share-prompt-container":"share-prompt-container-EXOaj","buttons-container":"buttons-container-fiSbJ","button-container":"button-container-KJoeC",icon:"icon-OX8pK","facebook-button":"facebook-button-La6ud","x-button":"x-button-pA7ym","reddit-button":"reddit-button-sd07c","url-container":"url-container-OKpfh","url-text-input":"url-text-input-nqDsC","copy-button":"copy-button-XmXGg",label:"label-gMoQ8"}},63943:e=>{e.exports={"active-slider-within":"active-slider-within-NcgYf","slider-container":"slider-container-nJz5F",layer:"layer-aC5Vt",track:"track-gItfW","audio-boost":"audio-boost-AyRq0","track-before":"track-before-kJzIb","track-after":"track-after-pUXC0",thumb:"thumb-PiTF5"}},78263:e=>{e.exports={"text-input":"text-input-hnLiz"}},87038:e=>{e.exports={"toggle-container":"toggle-container-lZfHP",toggle:"toggle-toOWM"}},52100:e=>{e.exports={"video-placeholder-container":"video-placeholder-container-DgoIs","info-container":"info-container-BATmf","name-container":"name-container-N4C39","released-container":"released-container-egHHb"}},99005:e=>{e.exports={"video-container":"video-container-ezBpK","thumbnail-container":"thumbnail-container-Zm8Cl",thumbnail:"thumbnail-J81W3",blurred:"blurred-ZmA2z","placeholder-icon":"placeholder-icon-GNOI3","progress-bar-container":"progress-bar-container-w8eFT","progress-bar":"progress-bar-E23CT","progress-bar-background":"progress-bar-background-Q7aEH","info-container":"info-container-xyynk","title-container":"title-container-NcfV9","flex-row-container":"flex-row-container-CAyQu","released-container":"released-container-XLPqf","upcoming-watched-container":"upcoming-watched-container-msCaq","upcoming-container":"upcoming-container-LXfQ7","watched-container":"watched-container-gvzs3","flag-icon":"flag-icon-RDrvf","flag-label":"flag-label-zJloD","context-menu-content":"context-menu-content-ItIFy","context-menu-option-container":"context-menu-option-container-KNVWj","context-menu-option-label":"context-menu-option-label-dy2nc"}},10540:e=>{e.exports={"addon-container":"addon-container-lC5KN","logo-container":"logo-container-ZcSSC",logo:"logo-WrsGF",icon:"icon-GxVbY","info-container":"info-container-AdMB6","name-container":"name-container-qIAg8","version-container":"version-container-zdPyN","types-container":"types-container-DaOrg","description-container":"description-container-v7Jhe","buttons-container":"buttons-container-g0xXr","action-buttons-container":"action-buttons-container-xMVmz","install-button-container":"install-button-container-yfcq5","configure-button-container":"configure-button-container-VwVAQ","uninstall-button-container":"uninstall-button-container-oV4Yo","share-button-container":"share-button-container-s3gwP",label:"label-OnWh2"}},61594:e=>{e.exports={"addon-container":"addon-container-A53Om",content:"content-gjK8A","logo-container":"logo-container-uixVa","info-container":"info-container-EuwPe","placeholder-pill":"placeholder-pill-OmvfW","buttons-container":"buttons-container-_S1YF","action-buttons-container":"action-buttons-container-bYZoV"}},75063:e=>{e.exports={"addons-container":"addons-container-ogGYu","addons-content":"addons-content-zhFBl","addons-list-container":"addons-list-container-Ovr2Z","selectable-inputs-container":"selectable-inputs-container-tUul1","add-button-container":"add-button-container-SkafT",icon:"icon-HsyZS","add-button-label":"add-button-label-NN6bu","select-input-container":"select-input-container-KqG8N",spacing:"spacing-wH1w5","search-bar":"search-bar-k7MXd","filter-button":"filter-button-lLJ1X","filter-icon":"filter-icon-LUDTS","message-container":"message-container-GBw0P",addon:"addon-whmdO","filters-modal":"filters-modal-w6oWY","add-addon-modal-container":"add-addon-modal-container-KR5ny",notice:"notice-UQkO1","addon-url-input":"addon-url-input-ucetZ","cancel-button":"cancel-button-R2AxR","share-modal-container":"share-modal-container-DkzPM","title-container":"title-container-La49g",logo:"logo-PmYDP","name-container":"name-container-m_Sz0",name:"name-YD0xd",version:"version-wuAFB","share-prompt-container":"share-prompt-container-vaK4P"}},98985:e=>{e.exports={"warning-container":"warning-container-_GJlx","warning-statement":"warning-statement-MQjVq",actions:"actions-IOe34",action:"action-t06kj",label:"label-PkwRv"}},42786:e=>{e.exports={"board-container":"board-container-DTN_b","board-content-container":"board-content-container-ToQTz","board-content":"board-content-nPWv1","board-row":"board-row-CoJrZ","board-warning-container":"board-warning-container-a4m04","board-row-poster":"board-row-poster-QPQqC","board-row-square":"board-row-square-pgaZ3","continue-watching-row":"continue-watching-row-ZiNSa","board-row-landscape":"board-row-landscape-FRGXx"}},76160:e=>{e.exports={calendar:"calendar-cH2jw",content:"content-wBwrQ",main:"main-vWt7d"}},91559:e=>{e.exports={details:"details-EuHwi",video:"video-BIs3a",name:"name-vpn8u",info:"info-n1Tz1",icon:"icon-Di3yP",placeholder:"placeholder-Kigxt"}},45958:e=>{e.exports={item:"item-PwXPg",heading:"heading-aqSxF",body:"body-pUnX4",video:"video-XnjiE",name:"name-tepO3",info:"info-dnUvu",icon:"icon-bz23A",placeholder:"placeholder-NxxV1",text:"text-x3anZ",today:"today-JJfHO",active:"active-ymNy0"}},88405:e=>{e.exports={list:"list-fa_2a"}},53159:e=>{e.exports={placeholder:"placeholder-pCQTz",title:"title-bE4zd","image-container":"image-container-DOkaE",image:"image-qgtvg",overview:"overview-RGglv",point:"point-iTc1_",icon:"icon-Y5Zkw",text:"text-Pa9GN","button-container":"button-container-fBjqZ",button:"button-DsyS9"}},65979:e=>{e.exports={selector:"selector-uRGQ6",prev:"prev-__2gh",next:"next-t6hvT",label:"label-xSEWG",icon:"icon-ixEYr",selected:"selected-lBBwk",year:"year-jHuog",month:"month-VlFJ6"}},79706:e=>{e.exports={cell:"cell-l3eWl",heading:"heading-TYXvp",day:"day-nttmc",items:"items-ZZ9Jt",item:"item-qsUNQ",icon:"icon-F3Uu8",poster:"poster-goLqZ",more:"more-gGKzA",today:"today-G8kuO",active:"active-KC8sV"}},83511:e=>{e.exports={table:"table-QbfK0",week:"week-mTZNI",day:"day-LPW9e",long:"long-UpX3r",short:"short-MoF9_",grid:"grid-cUaUg"}},95407:e=>{e.exports={"discover-container":"discover-container-L6OGL","discover-content":"discover-content-CRsRg","catalog-container":"catalog-container-VNK_T","meta-items-container":"meta-items-container-n8vNz","selectable-inputs-container":"selectable-inputs-container-IRz50","select-input":"select-input-CHDbe","filter-container":"filter-container-BVkqT","filter-button":"filter-button-GU_n0","filter-icon":"filter-icon-zlFnX","missing-addon-warning-container":"missing-addon-warning-container-IXGuv","warning-label":"warning-label-f19Jg","install-button":"install-button-SmJe1",label:"label-ToW4S","message-container":"message-container-Zv9eF",image:"image-txC9E","message-label":"message-label-mRyRX","meta-item-placeholder":"meta-item-placeholder-wxG4I","poster-container":"poster-container-Dch4R","title-bar-container":"title-bar-container-dtDnk","title-label":"title-label-vHdQd","meta-preview-container":"meta-preview-container-CoWs5","selectable-inputs-modal":"selectable-inputs-modal-ChpOa"}},74248:e=>{e.exports={"password-reset-modal-container":"password-reset-modal-container-KzJPQ","credentials-text-input":"credentials-text-input-ncrIR","error-message":"error-message-DkekN","cancel-button":"cancel-button-AneJE"}},77928:e=>{e.exports={"intro-container":"intro-container-tkNS6","background-container":"background-container-aYKCH","heading-container":"heading-container-oI70m","logo-container":"logo-container-W49kt",logo:"logo-WJ36F","title-container":"title-container-CbIkM","slogan-container":"slogan-container-UlcYd","content-container":"content-container-A1Drn","form-button":"form-button-vyqqj",icon:"icon-L_6b6",label:"label-uHD7L",uppercase:"uppercase-UbR3f","submit-button":"submit-button-x3L8z","guest-login-button":"guest-login-button-D8DWZ","signup-form-button":"signup-form-button-UGmSk","login-form-button":"login-form-button-DqJUV","form-container":"form-container-HMlEh","credentials-text-input":"credentials-text-input-QMCZz","forgot-password-link-container":"forgot-password-link-container-ygZqb","forgot-password-link":"forgot-password-link-NxNUD","error-message":"error-message-cKdzB","options-container":"options-container-qxboQ","facebook-button":"facebook-button-LZ_kG","apple-button":"apple-button-V5nEI","loading-modal-container":"loading-modal-container-eLyTm","loader-container":"loader-container-oe8rU",flash:"flash-wUFXY",button:"button-ryGtP"}},78450:e=>{e.exports={placeholder:"placeholder-XbuMS",title:"title-eBwtZ","image-container":"image-container-YnqQ_",image:"image-yTheT",overview:"overview-nYi3n",point:"point-vQhRj",icon:"icon-RD7Oa",text:"text-NNOtt","button-container":"button-container-HU08c",button:"button-GHZkA"}},77259:e=>{e.exports={"library-container":"library-container-zM_bj","library-content":"library-content-PgX4O","meta-items-container":"meta-items-container-IKrND","selectable-inputs-container":"selectable-inputs-container-hR3or","select-input-container":"select-input-container-H1VZ1","message-container":"message-container-MhY5t",image:"image-csRHm","message-label":"message-label-UExl3","selectable-inputs-modal":"selectable-inputs-modal-rHlo7"}},86396:e=>{e.exports={"button-container":"button-container-PmUa2",label:"label-sAyL4"}},22710:e=>{e.exports={background:"background-Xro_t",icon:"icon-UFaeB"}},53080:e=>{e.exports={"stream-placeholder-container":"stream-placeholder-container-T1nxv","addon-container":"addon-container-pm1P0","addon-name":"addon-name-zAOKP","info-container":"info-container-Z1Dl6","description-container":"description-container-ZOMcn","play-icon":"play-icon-MXqj3"}},83298:e=>{e.exports={"stream-container":"stream-container-JPdah",icon:"icon-rAZvO","info-container":"info-container-TihQo",thumbnail:"thumbnail-whoms","placeholder-icon":"placeholder-icon-znYz0","addon-name":"addon-name-tC8PX","progress-bar-container":"progress-bar-container-ADRp_","progress-bar":"progress-bar-XrEBL","progress-bar-background":"progress-bar-background-HueVQ","description-container":"description-container-vW_De","menu-icon":"menu-icon-JD2rP","context-menu-content":"context-menu-content-Xe_lN","context-menu-title":"context-menu-title-aoWE4","context-menu-option-container":"context-menu-option-container-BZGla","context-menu-option-label":"context-menu-option-label-EbNNz"}},54815:e=>{e.exports={"streams-list-container":"streams-list-container-xYMJo","message-container":"message-container-f9_L4",search:"search-Bo8nu",image:"image-rIyu6",label:"label-luvnO","addons-loading-container":"addons-loading-container-Vkwp3","addons-loading":"addons-loading-zhdQr","addons-loading-bar":"addons-loading-bar-MqT59","select-choices-wrapper":"select-choices-wrapper-xGzfs","back-button-container":"back-button-container-cJ4bk",icon:"icon-SoFgF","episode-title":"episode-title-dln_c","select-input-container":"select-input-container-irGn_","streams-container":"streams-container-bbSc4","install-button-container":"install-button-container-Q60yJ"}},70523:e=>{e.exports={"seasons-bar-placeholder-container":"seasons-bar-placeholder-container-M81RN","prev-season-button":"prev-season-button-TCbOq","next-season-button":"next-season-button-oGnlT",icon:"icon-UzQjF",label:"label-lmBnj","seasons-popup-label-container":"seasons-popup-label-container-r2UDB","seasons-popup-label":"seasons-popup-label-xBinL","seasons-popup-icon":"seasons-popup-icon-p1T5d"}},69450:e=>{e.exports={"seasons-bar-container":"seasons-bar-container-nOZjG","prev-season-button":"prev-season-button-bs1GQ","next-season-button":"next-season-button-RrYAq",disabled:"disabled-WJy2x",label:"label-uJbfD",icon:"icon-_ZBEE","seasons-popup-label-container":"seasons-popup-label-container-fZcu4"}},14028:e=>{e.exports={"videos-list-container":"videos-list-container-NepX5","message-container":"message-container-_hhmQ","episode-picker":"episode-picker-JPpsC",image:"image-_xAbP",label:"label-Ff1_X","notifications-toggle":"notifications-toggle-PaWY3","seasons-bar":"seasons-bar-Ma8vp","search-bar":"search-bar-mZHWa","videos-container":"videos-container-msX8s"}},30673:e=>{e.exports={"metadetails-container":"metadetails-container-K_Dqa","background-image-layer":"background-image-layer-wJa90","background-image":"background-image-tSjYu","nav-bar":"nav-bar-MH6Vk","metadetails-content":"metadetails-content-Uz5EV","vertical-nav-bar":"vertical-nav-bar-B39nq","meta-message-container":"meta-message-container-MJZN5",image:"image-R1LcJ","message-label":"message-label-Uz4_P","meta-preview":"meta-preview-ES0h3",spacing:"spacing-rgIYg","videos-list":"videos-list-nE0LJ","streams-list":"streams-list-Y1lCM","meta-extension-modal-container":"meta-extension-modal-container-gHjqy","meta-extension-modal-iframe":"meta-extension-modal-iframe-GGHlm"}},56747:e=>{e.exports={"not-found-container":"not-found-container-Q1qsP","nav-bar":"nav-bar-Eu3_y","not-found-content":"not-found-content-z_Eza","not-found-image":"not-found-image-Qab4G","not-found-label":"not-found-label-mmwyZ"}},19596:e=>{e.exports={"audio-menu":"audio-menu-qB4SQ",container:"container-lNRgG",header:"header-yT4vp",list:"list-lt_h8",option:"option-COcvW",info:"info-BPG2q",lang:"lang-EXxoG",label:"label-_DvDN",icon:"icon-DebLV"}},41339:e=>{e.exports={"buffering-loader-container":"buffering-loader-container-P7S0m","buffering-loader":"buffering-loader-fMSpb",fadeInOut:"fadeInOut-WS5RD"}},34784:e=>{e.exports={"seek-bar-container":"seek-bar-container-JGGTa",label:"label-QFbsS",slider:"slider-hBDOf"}},4792:e=>{e.exports={"volume-slider":"volume-slider-G_xAt"}},66446:e=>{e.exports={"control-bar-container":"control-bar-container-xsWA7","seek-bar":"seek-bar-I7WeY","control-bar-buttons-container":"control-bar-buttons-container-SWhkU","control-bar-button":"control-bar-button-FQUsj",icon:"icon-qy6I6","volume-slider":"volume-slider-U9jfo",spacing:"spacing-p8NJQ","control-bar-buttons-menu-button":"control-bar-buttons-menu-button-h0MWd","control-bar-buttons-menu-container":"control-bar-buttons-menu-container-M6L0_"}},11130:e=>{e.exports={error:"error-ty_iB","error-label":"error-label-lyLDv","error-sub":"error-sub-rdwAf","playlist-button":"playlist-button-tZTCo",icon:"icon-fIGRf",label:"label-Z7jSJ"}},9748:e=>{e.exports={"indicator-container":"indicator-container-wgAZn",indicator:"indicator-jM65y"}},87946:e=>{e.exports={"next-video-popup-container":"next-video-popup-container-H4wnL","slide-fade-in":"slide-fade-in-rk2M8","poster-container":"poster-container-tXZjA","poster-image":"poster-image-2D6wg",blurred:"blurred-rcoS5","placeholder-icon":"placeholder-icon-fu1rK","info-container":"info-container-KLOMx","details-container":"details-container-bUOTZ",name:"name-sIiDL",label:"label-zOq_w",title:"title-Z5Kgo","buttons-container":"buttons-container-iYrpZ",spacing:"spacing-iFwsN","button-container":"button-container-i4F7t","play-button":"play-button-Dluk6",icon:"icon-N3Ewm",dismiss:"dismiss-IvEL_"}},51885:e=>{e.exports={"option-container":"option-container-m_jZq",icon:"icon-krR0X",label:"label-cmqqu"}},63959:e=>{e.exports={"options-menu-container":"options-menu-container-qlzLt"}},15722:e=>{e.exports={"side-drawer":"side-drawer-r9EuA","close-button":"close-button-ruzkn",icon:"icon-k44IU",info:"info-hhNTg","side-drawer-meta-preview":"side-drawer-meta-preview-pB8v6","series-content":"series-content-VkYHB",videos:"videos-nRM2D"}},854:e=>{e.exports={"side-drawer-button":"side-drawer-button-lVLKS",icon:"icon-g5Oo_"}},43228:e=>{e.exports={option:"option-_O96j",icon:"icon-kqaPF",label:"label-FEOiu"}},80956:e=>{e.exports={"speed-menu-container":"speed-menu-container-ABjzc",title:"title-Hu2Dm","options-container":"options-container-DNn3D",option:"option-GcPlB"}},17748:e=>{e.exports={"statistics-menu-container":"statistics-menu-container-DhiHn",title:"title-NCwWH",label:"label-h6nN_",value:"value-E8Ftb",stats:"stats-Tr37t",stat:"stat-zoq5A","info-hash":"info-hash-GT1Cv"}},56621:e=>{e.exports={stepper:"stepper-OL8zv",header:"header-fEtxa",content:"content-A6qIn",button:"button-fisbt",icon:"icon-zdvuT",value:"value-Z6LnU"}},32110:e=>{e.exports={"subtitles-menu-container":"subtitles-menu-container-PxBRZ","languages-container":"languages-container-NS7H9","variants-container":"variants-container-XglzH","subtitles-settings-container":"subtitles-settings-container-LhRGS","languages-header":"languages-header-jGNcK","variants-header":"variants-header-TsVSR","settings-header":"settings-header-eaWnm","languages-list":"languages-list-sxIwI","variants-list":"variants-list-yZo6B","language-option":"language-option-O1Yr9","variant-option":"variant-option-t7_LA","language-label":"language-label-FjjqA","variant-label":"variant-label-opjnP","variant-origin":"variant-origin-SVnd1",icon:"icon-I1Ruh",info:"info-mxjJh","no-variants-container":"no-variants-container-q6u1Q","no-variants-label":"no-variants-label-RmDKZ","settings-list":"settings-list-mhZV6",spacing:"spacing-AWJpt",stepper:"stepper-FTDeY"}},18761:e=>{e.exports={"video-container":"video-container-v9_vA",video:"video-tkpQm"}},26213:e=>{e.exports={"volume-change-indicator":"volume-change-indicator-EWypD","volume-icon":"volume-icon-zn9zT","volume-slider":"volume-slider-FKN0X"}},90977:e=>{e.exports={"player-container":"player-container-wIELK",overlayHidden:"overlayHidden-gyjIy","nav-bar-layer":"nav-bar-layer-r9HT5","control-bar-layer":"control-bar-layer-m2jto","menu-layer":"menu-layer-HZFG9","side-drawer-button-layer":"side-drawer-button-layer-RrB8k",layer:"layer-qalDW","buffering-layer":"buffering-layer-ZZCYp","error-layer":"error-layer-RCEZC","background-layer":"background-layer-ldsp8",image:"image-XxZuJ","indicator-layer":"indicator-layer-EpiA6","side-drawer-layer":"side-drawer-layer-CZtJ1"}},84142:e=>{e.exports={"search-container":"search-container-uXEFf","search-content":"search-content-LX6un","search-row":"search-row-EQLaD","search-hints-wrapper":"search-hints-wrapper-IjhmE","search-hints-title-container":"search-hints-title-container-MXt8W","search-hints-title":"search-hints-title-cigX3","search-hints-container":"search-hints-container-FHpPM","search-hint-container":"search-hint-container-kd8iX",icon:"icon-fOZZl",label:"label-l6wxz","message-container":"message-container-YAunr",image:"image-Xuwya","message-label":"message-label-K8LPz","search-row-poster":"search-row-poster-m7CUE","search-row-square":"search-row-square-VesJA","search-row-landscape":"search-row-landscape-o3Lfv"}},80368:e=>{e.exports={"trakt-container":"trakt-container-wWlM8"}},73591:e=>{e.exports={user:"user-qhCA4","user-info-content":"user-info-content-uzAvu","avatar-container":"avatar-container-DeGD6","email-logout-container":"email-logout-container-YPJlN","email-label-container":"email-label-container-NEqIq","email-label":"email-label-LXltS","user-panel-container":"user-panel-container-WxLTU","user-panel-label":"user-panel-label-KmZCD"}},33770:e=>{e.exports={info:"info-nBG5H",label:"label-ldqPK"}},58468:e=>{e.exports={menu:"menu-xeE06",button:"button-DNmYL",selected:"selected-S7SeK",spacing:"spacing-PVpEn","version-info-label":"version-info-label-rSTCy"}},95302:e=>{e.exports={"settings-container":"settings-container-_g1tS","settings-content":"settings-content-co5eU","sections-container":"sections-container-ZaZpD"}},21916:e=>{e.exports={"shortcut-container":"shortcut-container-iOrn9",label:"label-UWwT7"}},77616:e=>{e.exports={"configure-input-container":"configure-input-container-IqUdN",label:"label-bkapj","configure-button-container":"configure-button-container-tJJ5b",icon:"icon-DoVQm"}},65161:e=>{e.exports={"add-item":"add-item-EBrwa",input:"input-iITch",actions:"actions-a9mxc",add:"add-IsY_6",cancel:"cancel-gSD5_",icon:"icon-lYjLQ"}},40669:e=>{e.exports={item:"item-A9qrP",content:"content-SRbPn",selectable:"selectable-qF2vl",label:"label-WLvfI",actions:"actions-QcMQ_",status:"status-crByJ",icon:"icon-aswqE",ready:"ready-VKkmT",error:"error-sL3We",delete:"delete-mV6G_"}},74635:e=>{e.exports={wrapper:"wrapper-mdG7D",header:"header-epxi0",label:"label-Yi3xl",content:"content-XG6N_",item:"item-hsmmX",footer:"footer-Bo7gV","add-url":"add-url-fEacA",icon:"icon-L0f3e",reload:"reload-OVkwB"}},23245:e=>{e.exports={category:"category-GP0hI",heading:"heading-XePFl",label:"label-N_O2v",icon:"icon-oZoyV"}},49957:e=>{e.exports={link:"link-FrL1t",label:"label-PJvSJ"}},36335:e=>{e.exports={option:"option-vFOAS",heading:"heading-dYMDt",content:"content-P2T0i",icon:"icon-fE4hv",label:"label-qI6Vh"}},76879:e=>{e.exports={section:"section-hcYuV",label:"label-wXG3e"}},58859:(e,t,a)=>{var i="function"==typeof Map&&Map.prototype,o=Object.getOwnPropertyDescriptor&&i?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,n=i&&o&&"function"==typeof o.get?o.get:null,r=i&&Map.prototype.forEach,E="function"==typeof Set&&Set.prototype,_=Object.getOwnPropertyDescriptor&&E?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,T=E&&_&&"function"==typeof _.get?_.get:null,s=E&&Set.prototype.forEach,S="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,l="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,I="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,A=Boolean.prototype.valueOf,u=Object.prototype.toString,d=Function.prototype.toString,O=String.prototype.match,c=String.prototype.slice,N=String.prototype.replace,R=String.prototype.toUpperCase,m=String.prototype.toLowerCase,L=RegExp.prototype.test,D=Array.prototype.concat,p=Array.prototype.join,C=Array.prototype.slice,h=Math.floor,f="function"==typeof BigInt?BigInt.prototype.valueOf:null,P=Object.getOwnPropertySymbols,B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,g="function"==typeof Symbol&&"object"==typeof Symbol.iterator,v="function"==typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===g||"symbol")?Symbol.toStringTag:null,M=Object.prototype.propertyIsEnumerable,W=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function y(e,t){if(e===1/0||e===-1/0||e!=e||e&&e>-1e3&&e<1e3||L.call(/e/,t))return t;var a=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof e){var i=e<0?-h(-e):h(e);if(i!==e){var o=String(i),n=c.call(t,o.length+1);return N.call(o,a,"$&_")+"."+N.call(N.call(n,/([0-9]{3})/g,"$&_"),/_$/,"")}}return N.call(t,a,"$&_")}var U=a(42634),b=U.custom,G=z(b)?b:null,k={__proto__:null,double:'"',single:"'"},F={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};function V(e,t,a){var i=a.quoteStyle||t,o=k[i];return o+e+o}function H(e){return N.call(String(e),/"/g,""")}function w(e){return!("[object Array]"!==x(e)||v&&"object"==typeof e&&v in e)}function Y(e){return!("[object RegExp]"!==x(e)||v&&"object"==typeof e&&v in e)}function z(e){if(g)return e&&"object"==typeof e&&e instanceof Symbol;if("symbol"==typeof e)return!0;if(!e||"object"!=typeof e||!B)return!1;try{return B.call(e),!0}catch(e){}return!1}e.exports=function e(t,i,o,E){var _=i||{};if(j(_,"quoteStyle")&&!j(k,_.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(j(_,"maxStringLength")&&("number"==typeof _.maxStringLength?_.maxStringLength<0&&_.maxStringLength!==1/0:null!==_.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var u=!j(_,"customInspect")||_.customInspect;if("boolean"!=typeof u&&"symbol"!==u)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(j(_,"indent")&&null!==_.indent&&"\t"!==_.indent&&!(parseInt(_.indent,10)===_.indent&&_.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(j(_,"numericSeparator")&&"boolean"!=typeof _.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var R=_.numericSeparator;if(void 0===t)return"undefined";if(null===t)return"null";if("boolean"==typeof t)return t?"true":"false";if("string"==typeof t)return X(t,_);if("number"==typeof t){if(0===t)return 1/0/t>0?"0":"-0";var L=String(t);return R?y(t,L):L}if("bigint"==typeof t){var h=String(t)+"n";return R?y(t,h):h}var P=void 0===_.depth?5:_.depth;if(void 0===o&&(o=0),o>=P&&P>0&&"object"==typeof t)return w(t)?"[Array]":"[Object]";var b=(function(e,t){var a;if("\t"===e.indent)a="\t";else{if(!("number"==typeof e.indent&&e.indent>0))return null;a=p.call(Array(e.indent+1)," ")}return{base:a,prev:p.call(Array(t+1),a)}})(_,o);if(void 0===E)E=[];else if(Q(E,t)>=0)return"[Circular]";function F(t,a,i){if(a&&(E=C.call(E)).push(a),i){var n={depth:_.depth};return j(_,"quoteStyle")&&(n.quoteStyle=_.quoteStyle),e(t,n,o+1,E)}return e(t,_,o+1,E)}if("function"==typeof t&&!Y(t)){var K=(function(e){if(e.name)return e.name;var t=O.call(d.call(e),/^function\s*([\w$]+)/);if(t)return t[1];return null})(t),$=te(t,F);return"[Function"+(K?": "+K:" (anonymous)")+"]"+($.length>0?" { "+p.call($,", ")+" }":"")}if(z(t)){var ae=g?N.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):B.call(t);return"object"!=typeof t||g?ae:q(ae)}if((function(e){if(!e||"object"!=typeof e)return!1;if("undefined"!=typeof HTMLElement&&e instanceof HTMLElement)return!0;return"string"==typeof e.nodeName&&"function"==typeof e.getAttribute})(t)){for(var ie="<"+m.call(String(t.nodeName)),oe=t.attributes||[],ne=0;ne"}if(w(t)){if(0===t.length)return"[]";var re=te(t,F);return b&&!(function(e){for(var t=0;t=0)return!1;return!0})(re)?"["+ee(re,b)+"]":"[ "+p.call(re,", ")+" ]"}if((function(e){return!("[object Error]"!==x(e)||v&&"object"==typeof e&&v in e)})(t)){var Ee=te(t,F);return"cause"in Error.prototype||!("cause"in t)||M.call(t,"cause")?0===Ee.length?"["+String(t)+"]":"{ ["+String(t)+"] "+p.call(Ee,", ")+" }":"{ ["+String(t)+"] "+p.call(D.call("[cause]: "+F(t.cause),Ee),", ")+" }"}if("object"==typeof t&&u){if(G&&"function"==typeof t[G]&&U)return U(t,{depth:P-o});if("symbol"!==u&&"function"==typeof t.inspect)return t.inspect()}if((function(e){if(!n||!e||"object"!=typeof e)return!1;try{n.call(e);try{T.call(e)}catch(e){return!0}return e instanceof Map}catch(e){}return!1})(t)){var _e=[];return r&&r.call(t,(function(e,a){_e.push(F(a,t,!0)+" => "+F(e,t))})),Z("Map",n.call(t),_e,b)}if((function(e){if(!T||!e||"object"!=typeof e)return!1;try{T.call(e);try{n.call(e)}catch(e){return!0}return e instanceof Set}catch(e){}return!1})(t)){var Te=[];return s&&s.call(t,(function(e){Te.push(F(e,t))})),Z("Set",T.call(t),Te,b)}if((function(e){if(!S||!e||"object"!=typeof e)return!1;try{S.call(e,S);try{l.call(e,l)}catch(e){return!0}return e instanceof WeakMap}catch(e){}return!1})(t))return J("WeakMap");if((function(e){if(!l||!e||"object"!=typeof e)return!1;try{l.call(e,l);try{S.call(e,S)}catch(e){return!0}return e instanceof WeakSet}catch(e){}return!1})(t))return J("WeakSet");if((function(e){if(!I||!e||"object"!=typeof e)return!1;try{return I.call(e),!0}catch(e){}return!1})(t))return J("WeakRef");if((function(e){return!("[object Number]"!==x(e)||v&&"object"==typeof e&&v in e)})(t))return q(F(Number(t)));if((function(e){if(!e||"object"!=typeof e||!f)return!1;try{return f.call(e),!0}catch(e){}return!1})(t))return q(F(f.call(t)));if((function(e){return!("[object Boolean]"!==x(e)||v&&"object"==typeof e&&v in e)})(t))return q(A.call(t));if((function(e){return!("[object String]"!==x(e)||v&&"object"==typeof e&&v in e)})(t))return q(F(String(t)));if("undefined"!=typeof window&&t===window)return"{ [object Window] }";if("undefined"!=typeof globalThis&&t===globalThis||void 0!==a.g&&t===a.g)return"{ [object globalThis] }";if(!(function(e){return!("[object Date]"!==x(e)||v&&"object"==typeof e&&v in e)})(t)&&!Y(t)){var se=te(t,F),Se=W?W(t)===Object.prototype:t instanceof Object||t.constructor===Object,le=t instanceof Object?"":"null prototype",Ie=!Se&&v&&Object(t)===t&&v in t?c.call(x(t),8,-1):le?"Object":"",Ae=(Se||"function"!=typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(Ie||le?"["+p.call(D.call([],Ie||[],le||[]),": ")+"] ":"");return 0===se.length?Ae+"{}":b?Ae+"{"+ee(se,b)+"}":Ae+"{ "+p.call(se,", ")+" }"}return String(t)};var K=Object.prototype.hasOwnProperty||function(e){return e in this};function j(e,t){return K.call(e,t)}function x(e){return u.call(e)}function Q(e,t){if(e.indexOf)return e.indexOf(t);for(var a=0,i=e.length;at.maxStringLength){var a=e.length-t.maxStringLength,i="... "+a+" more character"+(a>1?"s":"");return X(c.call(e,0,t.maxStringLength),t)+i}var o=F[t.quoteStyle||"single"];return o.lastIndex=0,V(N.call(N.call(e,o,"\\$1"),/[\x00-\x1f]/g,$),"single",t)}function $(e){var t=e.charCodeAt(0),a={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return a?"\\"+a:"\\x"+(t<16?"0":"")+R.call(t.toString(16))}function q(e){return"Object("+e+")"}function J(e){return e+" { ? }"}function Z(e,t,a,i){return e+" ("+t+") {"+(i?ee(a,i):p.call(a,", "))+"}"}function ee(e,t){if(0===e.length)return"";var a="\n"+t.prev+t.base;return a+p.call(e,","+a)+"\n"+t.prev}function te(e,t){var a=w(e),i=[];if(a){i.length=e.length;for(var o=0;o{"use strict";var i=a(6925);function o(){}function n(){}n.resetWarningCache=o,e.exports=function(){function e(e,t,a,o,n,r){if(r!==i){var E=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw E.name="Invariant Violation",E}}function t(){return e}e.isRequired=e;var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:n,resetWarningCache:o};return a.PropTypes=a,a}},5556:(e,t,a)=>{e.exports=a(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},9655:function(e,t,a){var i;e=a.nmd(e),(function(){t&&t.nodeType,e&&e.nodeType;var o="object"==typeof a.g&&a.g;o.global!==o&&o.window!==o&&o.self;var n,r=2147483647,E=36,_=/^xn--/,T=/[^\x20-\x7E]/,s=/[\x2E\u3002\uFF0E\uFF61]/g,S={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},l=Math.floor,I=String.fromCharCode;function A(e){throw new RangeError(S[e])}function u(e,t){for(var a=e.length,i=[];a--;)i[a]=t(e[a]);return i}function d(e,t){var a=e.split("@"),i="";return a.length>1&&(i=a[0]+"@",e=a[1]),i+u((e=e.replace(s,".")).split("."),t).join(".")}function O(e){for(var t,a,i=[],o=0,n=e.length;o=55296&&t<=56319&&o65535&&(t+=I((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=I(e)})).join("")}function N(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function R(e,t,a){var i=0;for(e=a?l(e/700):e>>1,e+=l(e/t);e>455;i+=E)e=l(e/35);return l(i+36*e/(e+38))}function m(e){var t,a,i,o,n,_,T,s,S,I,u,d=[],O=e.length,N=0,m=128,L=72;for((a=e.lastIndexOf("-"))<0&&(a=0),i=0;i=128&&A("not-basic"),d.push(e.charCodeAt(i));for(o=a>0?a+1:0;o=O&&A("invalid-input"),((s=(u=e.charCodeAt(o++))-48<10?u-22:u-65<26?u-65:u-97<26?u-97:E)>=E||s>l((r-N)/_))&&A("overflow"),N+=s*_,!(s<(S=T<=L?1:T>=L+26?26:T-L));T+=E)_>l(r/(I=E-S))&&A("overflow"),_*=I;L=R(N-n,t=d.length+1,0==n),l(N/t)>r-m&&A("overflow"),m+=l(N/t),N%=t,d.splice(N++,0,m)}return c(d)}function L(e){var t,a,i,o,n,_,T,s,S,u,d,c,m,L,D,p=[];for(c=(e=O(e)).length,t=128,a=0,n=72,_=0;_=t&&dl((r-a)/(m=i+1))&&A("overflow"),a+=(T-t)*m,t=T,_=0;_r&&A("overflow"),d==t){for(s=a,S=E;!(s<(u=S<=n?1:S>=n+26?26:S-n));S+=E)D=s-u,L=E-u,p.push(I(N(u+D%L,0))),s=l(D/L);p.push(I(N(s,0))),n=R(a,m,i==o),a=0,++i}++a,++t}return p.join("")}n={version:"1.4.1",ucs2:{decode:O,encode:c},decode:m,encode:L,toASCII:function(e){return d(e,(function(e){return T.test(e)?"xn--"+L(e):e}))},toUnicode:function(e){return d(e,(function(e){return _.test(e)?m(e.slice(4).toLowerCase()):e}))}},void 0===(i=function(){return n}.call(t,a,t,e))||(e.exports=i)})()},74765:e=>{"use strict";var t=String.prototype.replace,a=/%20/g,i="RFC1738",o="RFC3986";e.exports={default:o,formatters:{RFC1738:function(e){return t.call(e,a,"+")},RFC3986:function(e){return String(e)}},RFC1738:i,RFC3986:o}},55373:(e,t,a)=>{"use strict";var i=a(98636),o=a(62642),n=a(74765);e.exports={formats:n,parse:o,stringify:i}},62642:(e,t,a)=>{"use strict";var i=a(37720),o=Object.prototype.hasOwnProperty,n=Array.isArray,r={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:i.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1},E=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},_=function(e,t){return e&&"string"==typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},T=function(e,t,a,i){if(e){var n=a.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,r=/(\[[^[\]]*])/g,E=a.depth>0&&/(\[[^[\]]*])/.exec(n),T=E?n.slice(0,E.index):n,s=[];if(T){if(!a.plainObjects&&o.call(Object.prototype,T)&&!a.allowPrototypes)return;s.push(T)}for(var S=0;a.depth>0&&null!==(E=r.exec(n))&&S=0;--n){var r,E=e[n];if("[]"===E&&a.parseArrays)r=a.allowEmptyArrays&&(""===o||a.strictNullHandling&&null===o)?[]:[].concat(o);else{r=a.plainObjects?{__proto__:null}:{};var T="["===E.charAt(0)&&"]"===E.charAt(E.length-1)?E.slice(1,-1):E,s=a.decodeDotInKeys?T.replace(/%2E/g,"."):T,S=parseInt(s,10);a.parseArrays||""!==s?!isNaN(S)&&E!==s&&String(S)===s&&S>=0&&a.parseArrays&&S<=a.arrayLimit?(r=[])[S]=o:"__proto__"!==s&&(r[s]=o):r={0:o}}o=r}return o})(s,t,a,i)}};e.exports=function(e,t){var a=(function(e){if(!e)return r;if(void 0!==e.allowEmptyArrays&&"boolean"!=typeof e.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==e.decodeDotInKeys&&"boolean"!=typeof e.decodeDotInKeys)throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?r.charset:e.charset,a=void 0===e.duplicates?r.duplicates:e.duplicates;if("combine"!==a&&"first"!==a&&"last"!==a)throw new TypeError("The duplicates option must be either combine, first, or last");return{allowDots:void 0===e.allowDots?!0===e.decodeDotInKeys||r.allowDots:!!e.allowDots,allowEmptyArrays:"boolean"==typeof e.allowEmptyArrays?!!e.allowEmptyArrays:r.allowEmptyArrays,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:r.allowPrototypes,allowSparse:"boolean"==typeof e.allowSparse?e.allowSparse:r.allowSparse,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:r.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:r.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:r.comma,decodeDotInKeys:"boolean"==typeof e.decodeDotInKeys?e.decodeDotInKeys:r.decodeDotInKeys,decoder:"function"==typeof e.decoder?e.decoder:r.decoder,delimiter:"string"==typeof e.delimiter||i.isRegExp(e.delimiter)?e.delimiter:r.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:r.depth,duplicates:a,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:r.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:r.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:r.plainObjects,strictDepth:"boolean"==typeof e.strictDepth?!!e.strictDepth:r.strictDepth,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:r.strictNullHandling}})(t);if(""===e||null==e)return a.plainObjects?{__proto__:null}:{};for(var s="string"==typeof e?(function(e,t){var a={__proto__:null},T=t.ignoreQueryPrefix?e.replace(/^\?/,""):e;T=T.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var s,S=t.parameterLimit===1/0?void 0:t.parameterLimit,l=T.split(t.delimiter,S),I=-1,A=t.charset;if(t.charsetSentinel)for(s=0;s-1&&(d=n(d)?[d]:d);var R=o.call(a,u);R&&"combine"===t.duplicates?a[u]=i.combine(a[u],d):R&&"last"!==t.duplicates||(a[u]=d)}return a})(e,a):e,S=a.plainObjects?{__proto__:null}:{},l=Object.keys(s),I=0;I{"use strict";var i=a(920),o=a(37720),n=a(74765),r=Object.prototype.hasOwnProperty,E={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},_=Array.isArray,T=Array.prototype.push,s=function(e,t){T.apply(e,_(t)?t:[t])},S=Date.prototype.toISOString,l=n.default,I={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,commaRoundTrip:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:o.encode,encodeValuesOnly:!1,filter:void 0,format:l,formatter:n.formatters[l],indices:!1,serializeDate:function(e){return S.call(e)},skipNulls:!1,strictNullHandling:!1},A={},u=function e(t,a,n,r,E,T,S,l,u,d,O,c,N,R,m,L,D,p){for(var C,h=t,f=p,P=0,B=!1;void 0!==(f=f.get(A))&&!B;){var g=f.get(t);if(P+=1,void 0!==g){if(g===P)throw new RangeError("Cyclic object value");B=!0}void 0===f.get(A)&&(P=0)}if("function"==typeof d?h=d(a,h):h instanceof Date?h=N(h):"comma"===n&&_(h)&&(h=o.maybeMap(h,(function(e){return e instanceof Date?N(e):e}))),null===h){if(T)return u&&!L?u(a,I.encoder,D,"key",R):a;h=""}if("string"==typeof(C=h)||"number"==typeof C||"boolean"==typeof C||"symbol"==typeof C||"bigint"==typeof C||o.isBuffer(h))return u?[m(L?a:u(a,I.encoder,D,"key",R))+"="+m(u(h,I.encoder,D,"value",R))]:[m(a)+"="+m(String(h))];var v,M=[];if(void 0===h)return M;if("comma"===n&&_(h))L&&u&&(h=o.maybeMap(h,u)),v=[{value:h.length>0?h.join(",")||null:void 0}];else if(_(d))v=d;else{var W=Object.keys(h);v=O?W.sort(O):W}var y=l?String(a).replace(/\./g,"%2E"):String(a),U=r&&_(h)&&1===h.length?y+"[]":y;if(E&&_(h)&&0===h.length)return U+"[]";for(var b=0;b0?m+R:""}},37720:(e,t,a)=>{"use strict";var i=a(74765),o=Object.prototype.hasOwnProperty,n=Array.isArray,r=(function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e})(),E=function(e,t){for(var a=t&&t.plainObjects?{__proto__:null}:{},i=0;i1;){var t=e.pop(),a=t.obj[t.prop];if(n(a)){for(var i=[],o=0;o=_?E.slice(s,s+_):E,l=[],I=0;I=48&&A<=57||A>=65&&A<=90||A>=97&&A<=122||n===i.RFC1738&&(40===A||41===A)?l[l.length]=S.charAt(I):A<128?l[l.length]=r[A]:A<2048?l[l.length]=r[192|A>>6]+r[128|63&A]:A<55296||A>=57344?l[l.length]=r[224|A>>12]+r[128|A>>6&63]+r[128|63&A]:(I+=1,A=65536+((1023&A)<<10|1023&S.charCodeAt(I)),l[l.length]=r[240|A>>18]+r[128|A>>12&63]+r[128|A>>6&63]+r[128|63&A])}T+=l.join("")}return T},isBuffer:function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(n(e)){for(var a=[],i=0;i{"use strict";function t(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,a,i,o){a=a||"&",i=i||"=";var n={};if("string"!=typeof e||0===e.length)return n;var r=/\+/g;e=e.split(a);var E=1e3;o&&"number"==typeof o.maxKeys&&(E=o.maxKeys);var _=e.length;E>0&&_>E&&(_=E);for(var T=0;T<_;++T){var s,S,l,I,A=e[T].replace(r,"%20"),u=A.indexOf(i);u>=0?(s=A.substr(0,u),S=A.substr(u+1)):(s=A,S=""),l=decodeURIComponent(s),I=decodeURIComponent(S),t(n,l)?Array.isArray(n[l])?n[l].push(I):n[l]=[n[l],I]:n[l]=I}return n}},59106:e=>{"use strict";var t=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,a,i,o){return a=a||"&",i=i||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map((function(o){var n=encodeURIComponent(t(o))+i;return Array.isArray(e[o])?e[o].map((function(e){return n+encodeURIComponent(t(e))})).join(a):n+encodeURIComponent(t(e[o]))})).join(a):o?encodeURIComponent(t(o))+i+encodeURIComponent(t(e)):""}},47186:(e,t,a)=>{"use strict";t.decode=t.parse=a(11630),t.encode=t.stringify=a(59106)},22551:(e,t,a)=>{"use strict";var i=a(96540),o=a(69982);function n(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=1;a
    الاتصال بنا .","WEBSITE_P2P_CONTACT_EXTRA":"سنكون سعداء لمساعدتك على دمج المحتوى الخاص بك مع Stremio!","WEBSITE_P2P":"من حين لآخر ، تأتي تقنية تغير اسم اللعبة. لقد استثمرنا الكثير من الوقت والجهد في بناء محرك دفق الفيديو من نظير إلى نظير (P2P) الذي يوفر أداءً رائعًا وتعدد الاستخدامات للتكيف مع أي حالة استخدام. \\n اتصل بنا للحصول على فيديو P2P ممكّن بواسطة DRM عند الطلب أو البث المباشر.","WEBSITE_THOUGHTS":"الأفكار التي نشاركها:","WEBSITE_SPREAD":"انشر الخبر حول Stremio:","WEBSITE_CONTACT":"اتصل بنا ، يسعدنا أن نسمع منك!","WEBSITE_OPENSOURCE":"لمشاريعنا مفتوحة المصدر ، انتقل إلى","WEBSITE_BITCOIN":"تبرع بعملة البيتكوين:","WEBSITE_FAQ":"أسئلة مكررة","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"أسئلة","WEBSITE_TOS":"تعليمات الاستخدام","WEBSITE_LEGAL":"قانوني","WEBSITE_PAGE_ABOUT":"حول","WEBSITE_PAGE_BECOME_PARTNER":"كن شريكا معنا","WEBSITE_ALL_YOU_CAN_WATCH":"حرية المشاهدة \\n كل ما تريد.","WEBSITE_FREEDOM_TO_STREAM":"الحرية للبث","WEBSITE_WHAT_IS_STREMIO":"ما هو Stremio ?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio هو مركز شامل لتجميع محتوى الفيديو. اكتشف ، نظم ، وشاهد الفيديو من جميع أنواع المصادر على أي جهاز تملكه.","WEBSITE_WHAT_IS_STREMIO_P2":"الأفلام والبرامج التلفزيونية والمسلسلات والتلفزيون المباشر أو قنوات الويب مثل YouTube و Twitch.tv - يمكنك العثور على كل هذا على Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio هو مركز وسائط حديث يمثل حلاً شاملاً لترفيه الفيديو الخاص بك. يمكنك اكتشاف محتوى الفيديو ومشاهدته وتنظيمه من الوظائف الإضافية سهلة التثبيت.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"الأفلام والبرامج التلفزيونية والتلفزيون المباشر أو قنوات الويب - ابحث عن كل هذا على Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"استمتع على جميع أجهزة الوسائط الخاصة بك","WEBSITE_DEVICES_COLLECT":"جمع من Stremio","WEBSITE_DEVICES_IMPORT_FB":"استيراد من فيسبوك","WEBSITE_DEVICES_LOCAL":"اضافة من القرص الصلب","WEBSITE_JOIN_THE_PARTY_NOW":"انضم إلى الحفلة الآن","WEBSITE_DEVICES_ALL":"سهل الاستخدام على جميع أجهزتك؛","WEBSITE_EXTENDABLE_CATALOG":"مجموعة كبيرة من الفيديوهات يمكنك توسعتها ايضا","WEBSITE_ORGANIZE_YOUR_MEDIA":"ميزات رائعة لتنظيم الوسائط الخاصة بك ؛","WEBSITE_AS_SEEN_ON":"كما شوهد على","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"معلومات عنا","WEBSITE_LINK_TECHNOLOGY":"التقنية","WEBSITE_LINK_APPS":"التطبيقات","WEBSITE_LINK_DOWNLOADS":"تنزيل","WEBSITE_MORE":"المزيد","WEBSITE_LINK_ADDONS":"الأضافات","WEBSITE_LINK_ADDON_SDK":"حزمة مساعدة لأنشاء أضافات","WEBSITE_LINK_CONTRIBUTE":"ساهم معنا","WEBSITE_LINK_COMMUNITY":"المجتمع","WEBSITE_LINK_BLOG":"المدونة","WEBSITE_MORE_MORE":"... و المزيد","WEBSITE_LINK_HELP":"مركز المساعدة","WEBSITE_LINK_CONTACTS":"استفسارات الأعمال","WEBSITE_LINK_TOS":"البنود و الشروط","WEBSITE_LINK_PRAVACY":"سياسة الخصوصية","WEBSITE_SUBSCRIBE":"اشتراك","WEBSITE_NEWSLETTER":"انضم إلى النشرة الإخبارية لدينا لأشياء مذهلة","WEBSITE_PLACEHOLDER_EMAIL":"بريدك الالكتروني","WEBSITE_COMMUNITY":"المجتمع","WEBSITE_LINK_PRAVACY_LEGAL":"الخصوصية والقانونية","WEBSITE_WHY":"لماذا نقوم بذلك","WEBSITE_WHY_P1":"في Stremio ، نأتي إلى العمل كل يوم لأننا نريد حل مشكلة مهمة لصناعة الفيديو عند الطلب. يتم نشر الكثير من المحتوى الجديد كل دقيقة بحيث يكاد يكون من المستحيل العثور على ما تريده.","WEBSITE_WHY_P2":"نحن نساعد الأشخاص على التنقل في هذا العالم الضخم من الترفيه بالفيديو واكتشاف محتوى جديد للاستمتاع به. تجمع تطبيقاتنا بين الأفلام والمسلسلات والبث التلفزيوني المباشر وقنوات الويب والمزيد. نحن ملتزمون بجعل من السهل جدًا على المستخدمين العثور على العناوين والمذيعين الذين يحبونهم.","WEBSITE_WHY_P3":"يمكنك استخدام خدمتنا على أي جهاز وفي أي وقت ، مما يجعل Stremio مركز الترفيه بالفيديو الوحيد الذي ستحتاج إليه على الإطلاق.","WEBSITE_TEAM":"الفريق","WEBSITE_TEAM_P":"فريق Stremio صغير ولكنه قوي: بين العشرة منا ، نقوم بالبرمجة بلغات X ، ونتشارك الخبرات في تطوير البرمجيات ، وتصميم UI و UX ، والتسويق والإعلان ، والأعمال التجارية والشركات الناشئة.","WEBSITE_FEATURES":"المميزات","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"اكتشف محتوى جديدًا بسهولة","WEBSITE_FEATURES_DISCOVER_P":"اكتشف بسهولة الأفلام والبرامج التلفزيونية والمسلسلات والقنوات الجديدة لمشاهدتها. تصفح حسب الفئة أو النوع أو التصنيف أو الحداثة أو ما إلى ذلك ، أو ببساطة اكتب اسمًا للبحث عنه. يجعل Stremio العثور على محتوى فيديو جديد بمثابة قطعة من الكعكة.","WEBSITE_FEATURES_ALL_CONTENT":"كل محتوى الفيديو الخاص بك على شاشة واحدة","WEBSITE_FEATURES_ALL_CONTENT_P1":"تعرف على الأفلام أو المسلسلات أو مقاطع الفيديو التي لم تنته واستمر في مشاهدتها ؛ الحصول على إشعارات بشأن الحلقات والإصدارات الجديدة ؛ وتصفح التوصيات التي ستحصل عليها بناءً على عادات المشاهدة لديك.","WEBSITE_FEATURES_LIBRARY":"تنظيم مكتبة الفيديو الخاصة بك","WEBSITE_FEATURES_LIBRARY_P1":"أضف أي عنوان إلى مكتبة Stremio الخاصة بك بنقرة واحدة وابحث عن طريقك حول المحتوى الخاص بك ، مرتبة بدقة حسب النوع أو الحداثة أو الترتيب الأبجدي.","WEBSITE_FEATURES_CALENDAR":"تتبع كل ما تشاهده","WEBSITE_FEATURES_CALENDAR_P1":"احصل على تصور تقويم لجميع الأفلام والمسلسلات التي تضيفها إلى مكتبتك. قم بتصدير تقويم Stremio الخاص بك وقم بمزامنته حتى تعرف دائمًا موعد حلقة جديدة أو عرض أول.","WEBSITE_FEATURES_BIG_SCREEN":"استمتع بمحتوى الفيديو الخاص بك على شاشة أكبر","WEBSITE_FEATURES_BIG_SCREEN_P1":"قم بإرسال كل ما تشاهده إلى جهاز آخر - سواء كان هاتفًا أو جهازًا لوحيًا أو تلفزيونًا بنقرة واحدة.","WEBSITE_FEATURES_SOURCES":"شاهد الفيديو من عدة مصادر مختلفة","WEBSITE_FEATURES_SOURCES_P":"قم بتثبيت الوظائف الإضافية الرسمية والمجتمعية للاستمتاع بمقاطع الفيديو التي يتم الحصول عليها من العديد من المزودين المختلفين - كل ذلك في تطبيق واحد أنيق وسهل الاستخدام.","WEBSITE_CREATE_AN_ADDON":"أنشاء أضافة","WEBSITE_FEATURES_SYNC":"قم بمزامنة مكتبتك عبر أجهزة مختلفة واستأنف التشغيل","WEBSITE_FEATURES_SYNC_P1":"قم بتسجيل الدخول بحسابك عبر جميع أجهزتك واستمتع بمكتبتك ووظائفك الإضافية والتشغيل والتقويم المتزامن.","WEBSITE_FEATURES_EXTENDABLE":"كتالوج الفيديو القابل للتوسيع من خلال الإضافات","WEBSITE_FEATURES_EXTENDABLE_P1":"يوفر كتالوج Stremio الملحق عددًا من الوظائف الإضافية لتثبيت ومشاهدة مجموعة متنوعة من محتوى الفيديو. يتضمن ذلك الأفلام والعروض والتلفزيون المباشر والرياضة والأخبار والبودكاست وقنوات الويب وألعاب الفيديو والمزيد.","WEBSITE_FEATURES_AUTO_SUBS":"ترجمة تلقائية","WEBSITE_FEATURES_AUTO_SUBS_P1":"من خلال إضافات الترجمة لدينا ، ستحصل تلقائيًا على خيارات محددة للغتك المفضلة.","WEBSITE_FEATURES_CHROMECAST":"الإرسال إلى Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"استمتع بمحتوى الفيديو الخاص بك على شاشة أكبر أو قم فقط بإرسال كل ما تشاهده إلى جهاز آخر.","WEBSITE_FEATURES_KEEP_TRACK":"تتبع البرامج التلفزيونية وقنوات الويب المفضلة لديك","WEBSITE_FEATURES_KEEP_TRACK_P1":"احصل على تصور للتقويم وإشعارات لحلقات جديدة من مسلسلاتك وقنوات الويب المفضلة لديك.","WEBSITE_FEATURES_POWER_USER":"ميزات المستخدم القوي","WEBSITE_FEATURES_POWER_USER_P1":"التشغيل على مشغل خارجي","WEBSITE_FEATURES_POWER_USER_P2":"التشغيل من رابط تورنيت","WEBSITE_FEATURES_POWER_USER_P3":"الاستيراد إلى مكتبتك من الإعجابات على Facebook أو القرص المحلي","WEBSITE_ADD_ONS":"الأضافات","WEBSITE_ADD_ONS_P1":"يتم الحصول على كل محتوى الفيديو الذي يوفره Stremio من خلال نظام إضافي - لم يتم تضمين أي محتوى أو مزود محتوى في التطبيق.","WEBSITE_ADD_ONS_P2":"هناك مجموعتان من الاضافات المتاحة: الاضافات الرسمية واضافات المجتمع.","WEBSITE_ADD_ONS_P3":"يتم تطوير الاضافات الرسمية واستضافتها بواسطة Stremio ، بينما يتم إنشاء الإضافات المجتمعية من قبل أعضاء مجتمعنا ، والذين يستضيفونها أيضًا.","WEBSITE_ADDONS_OFFICIAL":"الاضافات الرسمية","WEBSITE_ADDONS_WATCHUB":"قم ببث أفلامك ومسلسلاتك وعروضك المفضلة من مزودين مثل iTunes و Hulu و Amazon وغيرها من خدمات المملكة المتحدة / الولايات المتحدة.","WEBSITE_ADDONS_YOUTUBE":"شاهد قنوات YouTube المفضلة لديك بدون إعلانات واحصل على إشعارات بالتحميلات الجديدة من المساهمين الذين تتابعهم.","WEBSITE_ADDONS_FILMON":"شاهد البث التلفزيوني المباشر والأفلام والتلفزيون الاجتماعي مجانًا. 600 قناة تلفزيونية و 45000 فيلم مجاني ووثائقي وغير ذلك.","WEBSITE_ADDONS_OPENSUBTITLES":"ترجمات الأفلام والتلفزيون بلغات متعددة ، يتم تحميل آلاف الترجمات المترجمة كل يوم.","WEBSITE_ADDONS_COMMUNITY":"أضافات المجتمع","WEBSITE_ADDONS_FILMON_VOD":"شاهد الفيديو عند الطلب من Filmon.tv","WEBSITE_ADDONS_TWICH":"شاهد البث المباشر من Twitch.tv - منصة بث فيديو لصناعة الرياضة الإلكترونية.","WEBSITE_ADDONS_VODO":"مشاهدة الافلام المستقلة تماما مجانا.","WEBSITE_ADDONS_NETFLIX":"شاهد أفلام Netflix ومسلسلات الويب.","WEBSITE_ADDONS_CREATE":"أنشىء أضافة جديدة","WEBSITE_ADDONS_CREATE_P1":"إذا كنت ترغب في ذلك ، يمكنك تطوير الأضافة الخاصة بك. بهذه الطريقة ، يمكنك منح نفسك ومجتمعنا إمكانية الوصول إلى محتوى فيديو جديد والوصول إلى جمهور مستهدف جديد من ملايين المستخدمين حول العالم.","WEBSITE_ADDONS_START_CREATE":"للبدء ، قم بزيارة صفحة Stremio Addon SDK:","WEBSITE_DOWNLOADS":"التنزيلات","WEBSITE_DOWNLOADS_P1":"للحصول على الأداء الأمثل ، نوصي باستخدام أحدث إصدار متوفر من تطبيقات Stremio. ومع ذلك ، إذا كنت ترغب في استخدام إصدار أقدم لسبب ما ، فيمكنك تنزيله من هنا.","WEBSITE_DOWNLOADS_P1_SHORT":"لأفضل أداء، نوصي باستخدام أحدث إصدار متاح من تطبيقات Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio لأجهزة الويندوز","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio لأجهزة ماك","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio لأجهزة لينوكس","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio لأجهزة الأندرويد","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio لأجهزة تلفاز الأندرويد","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio لأجهزة الأندرويد","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio لجهاز ستيم ديك","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio لأجهزة الأيفون (نسخة محدودة)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio لـ Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio لـ LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio لـ Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio لـ Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio لـ Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio لـ Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio لـ Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio لـ Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio لـ Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio لـ المتصفح","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"ابحث عن Stremio في متجر التطبيقات للطرازات من 2019+ من Samsung TV","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"ابحث عن Stremio في متجر التطبيقات للطرازات من 2020+ من LG TV","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"ابحث عن Stremio في تطبيق Play Store على Sony TV الذي يعمل بنظام Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"ابحث عن Stremio في تطبيق Play Store على Philips TV الذي يعمل بنظام Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"ابحث عن Stremio في متجر التطبيقات على جهاز Xbox الخاص بك","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"دليل لـ Stremio OS على Raspberry Pi","WEBSITE_LINK_GUIDE":"دليل","WEBSITE_DOWNLOAD_SERVICE":"تحميل خدمة Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"خدمة Stremio هي تطبيق مرفق لـ Stremio Web. نوصي باستخدام أحدث إصدار متاح من خدمة Stremio.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"خدمة Stremio لـ Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"خدمة Stremio لـ macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"خدمة Stremio لـ Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"خدمة Stremio لـ Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio لـ Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"خيارات تحميل إضافية","WEBSITE_DOWNLOAD_NEW":"جديد!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"أطلقنا Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"أطلقنا Stremio لـ Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"أطلقنا Stremio لـ LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"أطلقنا Stremio لـ Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"أطلقنا Stremio لـ Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"أطلقنا Stremio 5 لـ Windows","WEBSITE_CONTRIBUTE":"شارك في التطوير","WEBSITE_CONTRIBUTE_P1":"منصة Stremio مفتوحة المصدر ويمكنك بسهولة إنشاء أضافات للمحتوى غير المصدر حاليًا.","WEBSITE_CONTRIBUTE_WHY":"لماذا يجب عليك إنشاء أضافة ؟","WEBSITE_CONTRIBUTE_WHY_P1":"الوصول إلى جمهور جديد لمحتوى الفيديو الخاص بك","WEBSITE_CONTRIBUTE_WHY_P2":"تنمو قاعدة مستخدمي Stremio بسرعة - خلال العام الأول من الإطلاق ، اكتسبت Stremio مليون مستخدم حول العالم ، وفي العام الثاني من وجود النظام الأساسي ارتفع هذا الرقم إلى 2.5 مليون.","WEBSITE_CONTRIBUTE_WHY_P3":"باستخدام الأضافة الخاصة بك ، يمكنك الوصول بسهولة إلى هذا الجمهور وتوزيع محتوى الفيديو الخاص بك عليهم.","WEBSITE_CONTRIBUTE_ALL":"شاهد أفلامك ومقاطع الفيديو والمسلسلات والقنوات المفضلة لديك في مكان واحد.","WEBSITE_CONTRIBUTE_ALL_P1":"هل أنت معجب بنوع معين من المحتوى غير متوفر على Stremio حتى الآن؟ قم بإنشاء أضافة له واستمتع بمشاهدة مقاطع الفيديو المفضلة لديك في واحدة من أكبر وأسهل مراكز الترفيه في السوق من حيث الاستخدام.","WEBSITE_CONTRIBUTE_ALL_P2":"علاوة على ذلك ، ستحصل على الامتنان اللانهائي لأعضاء مجتمع Stremio الآخرين المتشابهين في التفكير.","WEBSITE_CONTRIBUTE_MONETIZE":"استثمر الأضافة الخاصة بك واكسب المال بمساعدته","WEBSITE_CONTRIBUTE_MONETIZE_P1":"بمجرد تطوير أضافة جديدة لـ Stremio ، يمكنك بسهولة تحقيق الدخل منه من خلال عدد من الطرق المختلفة. إذا كنت تفكر في ذلك ، فلا تتردد في الاتصال بنا على","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":"- يسعدنا أن نتشاور معك وننصحك بخيارات تحقيق الدخل الإضافي.","WEBSITE_CONTRIBUTE_TRANSLATE":"كن مترجمًا متطوعًا","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"إذا كنت ترغب في الاستمتاع بتطبيقات Stremio بلغات مختلفة ، فيمكنك الانضمام إلى مجتمع المترجمين المتطوعين لدينا. يساعدوننا في إضافة إصدارات من Stremio بعدة لغات مختلفة.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"هل أنت متشوق للبدء؟","WEBSITE_TRANSALTE_STREMIO":"ترجمة Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"المجتمع الرسمي","WEBSITE_COMMUNITY_OFFICIALS_P1":"كن جزءًا من مجتمع Stremio المتنامي. تابعنا على وسائل التواصل الاجتماعي ولا تخجل من إلقاء التحية - فنحن نحب أن نسمع من معجبينا!","WEBSITE_COMMUNITY_UNOFFICIALS":"المجتمعات غير الرسمية","STREMIO_COMMUNITY_NL":"Stremio في هولندا","STREMIO_COMMUNITY_BRASIL":"Stremio في البرازيل","STREMIO_COMMUNITY_GERMANY":"Stremio في المانيا","STREMIO_COMMUNITY_BELGIUM":"Stremio في بلجيكا","STREMIO_COMMUNITY_FRANCE":"Stremio في فرنسا","STREMIO_COMMUNITY_PORTUGAL":"Stremio في البرتغال","STREMIO_COMMUNITY_ITALY":"Stremio في ايطاليا","STREMIO_COMMUNITY_UK":"Stremio الممكلة المتحدة","STREMIO_COMMUNITY_USA":"Stremio الولايات المتحدة الأمريكية","STREMIO_COMMUNITY_MEXICO":"Stremio في المكسيك","STREMIO_COMMUNITY_ADDONS":"Stremio أضافات","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"الشركاء والداعمون","WEBSITE_COMMUNITY_GOODIES":"الأشياء الجيدة Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"خلفيات الشاشة","WEBSITE_COMMUNITY_ART":"معرض الفنون","WEBSITE_LINK_ART":"معرض الفنون","WEBSITE_CONTACT_US":"تواصل معنا","WEBSITE_CONTACT_US_P1":"إذا كان لديك أي أسئلة أو تعليقات أو اقتراحات ، فلا تتردد في الاتصال بنا من خلال نموذج الاتصال أدناه.","WEBSITE_CONTACT_US_P2":"ضع في اعتبارك أننا موجودون في بلغاريا ، لذا قد يكون هناك تأخير في معالجة استفسارك بسبب اختلافات المنطقة الزمنية.","WEBSITE_CONTACT_US_SUCCESS":"تم ارسال رسالتك. سنعود إليك في أقرب وقت ممكن.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"يرجى إدخال البريد الإلكتروني الصحيح!","WEBSITE_CONTACT_US_Q_RELATED_TO":"بماذا يتعلق سؤالك؟","WEBSITE_CONTACT_US_Q_OS":"ما هو نظام التشغيل الخاص بك؟","WEBSITE_CONTACT_US_PH_EMAIL":"بريدك الالكتروني","WEBSITE_CONTACT_US_PH_MESSAGE":"رسالتك","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"أرسال","WEBSITE_CONTACT_US_Q_1":"كيفية التثبيت ؟","WEBSITE_CONTACT_US_Q_2":"كيفية ألغاء التثبيت ؟","WEBSITE_CONTACT_US_Q_3":"(HTML) كيف تصنع اللازانيا؟","WEBSITE_CONTACT_US_Q_4":"أضافات","WEBSITE_CONTACT_US_OS_1":"ويندوز","WEBSITE_CONTACT_US_OS_2":"ماك","WEBSITE_CONTACT_US_OS_3":"لينوكس","WEBSITE_CONTACT_US_OS_4":"أندرويد","WEBSITE_CONTACT_US_OS_5":"أيفون","WEBSITE_TECHNOLOGY":"التقنية","WEBSITE_TECHNOLOGY_P1":"نحن نحب التكنولوجيا والعلم المجنون.
    هنا ما يمدك بالطاقة Stremio (كلها مفتوحة المصدر).","WEBSITE_TECHNOLOGY_P_QT":"تطوير البرامج عبر الأنظمة الأساسية في أفضل حالاتها.","WEBSITE_TECHNOLOGY_P_MPV":"مشغل وسائط مجاني ومفتوح المصدر ومتعدد المنصات.","WEBSITE_TECHNOLOGY_P_RN":"يتيح لك React Native إنشاء تطبيقات جوال باستخدام JavaScript فقط.","WEBSITE_TECHNOLOGY_P_VLC":"إطار الوسائط المضمن في التطبيق للحصول على الوسائط المتعددة.","WEBSITE_TECHNOLOGY_P_REALM":"Realm هي منصة متنقلة وبديل لبيانات SQLite & Core.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js هي بيئة تشغيل JavaScript مفتوحة المصدر ومتعددة المنصات.","WEBSITE_TECHNOLOGY_P_RUST":"Rust هي لغة برمجة نظام متعددة النماذج تركز على السلامة ، وخاصة التزامن الآمن.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"المساهمة في المشروع","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"هناك طريقتان يمكنك من خلالهما المساهمة في Stremio ومساعدتنا على تحسين المنتج.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"يمكنك التبرع بمهاراتك اللغوية القيمة من خلال ترجمة المنصة ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"أو","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... يمكنك توظيف مهاراتك في البرمجة لإنشاء إضافات مجتمعية.","WEBSITE_TRANSLATE_STREMIO":"ترجمة Stremio","WEBSITE_404_OH_NO":"عذرًا! الصفحة التي تبحث عنها ليست هنا ...","WEBSITE_GO_HOME":"الرئيسية","WEBSITE_LINK_OTHER_DOWNLOADS":"تنزيلات أخرى","WEBSITE_FAQ_ABR":"أسئلة متكررة","WEBSITE_SUPPORT":"الدعم","WEBSITE_DOWNLOAD_4_0_BETA":"قم بتنزيل Stremio 4 beta الآن","WEBSITE_GET_FOR_DESKTOP":"احصل عليه للكمبيوتر","WEBSITE_LINK_ADDON_COMPETITION":"منافسة الأضافات","WEBSITE_LINK_ART_CONTEST":"مسابقه الفنون","WEBSITE_MY_ACCOUNT":"حسابي الشخصي","WEBSITE_MAINPAGE_FAQ_001_H1":"ما هو Stremio ؟ ","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio هو مركز وسائط حديث يمنحك حرية مشاهدة كل ما تريد.","WEBSITE_MAINPAGE_FAQ_002_H1":"كيف يعمل؟","WEBSITE_MAINPAGE_FAQ_002_P1":"بمجرد تثبيت Stremio على جهازك وإنشاء حساب ، كل ما عليك فعله هو زيارة الكتالوج الإضافي وتثبيت أي أداة إضافية تريدها ، وأنت على ما يرام!","WEBSITE_MAINPAGE_FAQ_002_P2":"بعد ذلك ، يمكنك الانتقال إلى قسم الأكتشاف أو لوحة التحكم لبدء استكشاف المحتوى.","WEBSITE_MAINPAGE_FAQ_003_H1":"ماذا يمكنني أن أشاهد هنا؟","WEBSITE_MAINPAGE_FAQ_003_P1":"الكثير: الأفلام والبرامج التلفزيونية وقنوات الويب والرياضة والقنوات التلفزيونية والاستماع إلى البودكاست والمزيد. بفضل نظام الأضافات الخاص بنا ، يمكنك الوصول إلى مجموعة متنوعة من المحتويات.","WEBSITE_MAINPAGE_FAQ_004_H1":"هل Stremio مفتوح المصدر؟","WEBSITE_MAINPAGE_FAQ_004_P1":"يمكنك التحقق من بعض الروابط : ${1}برنامج سطح المكتب${2} و ${3}GitHub المنظمة${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"هل Stremio آمن؟","WEBSITE_MAINPAGE_FAQ_005_P1":"نعم: نظرًا لأنه برنامج مفتوح المصدر ، فإن الكود قابل للتدقيق بشكل عام ويمكنك مراجعته بنفسك.","WEBSITE_MAINPAGE_FAQ_005_P2":"تم تصميم نظام الإضافات في Stremio مع مراعاة أمان المستخدم. الإضافات لا تشغل أي كود محليًا، لذا فهي لا تشكل أي خطر على جهازك.","WEBSITE_MAINPAGE_FAQ_006_H1":"ماذا عن خصوصيتي؟","WEBSITE_MAINPAGE_FAQ_006_P1":"نحترم خصوصية المستخدمين ولا نجمع أي بيانات شخصية إلى جانب الحد الأدنى الأساسي لإنشاء حسابك ومزامنته.","WEBSITE_MAINPAGE_FAQ_006_P2":"يوجد أيضًا ${1} وضع الضيف ${2} عند التسجيل ، والذي لا يتطلب أي بيانات على الإطلاق: في هذا الوضع ، لا يتم إجراء مكالمات إلى الواجهة الخلفية لدينا. ومع ذلك ، فإنه يأتي على حساب الميزات المفيدة ، مثل القدرة على مزامنة مكتبتك عبر الأجهزة.","WEBSITE_MAINPAGE_FAQ_007_H1":"هل يمكنني ارسال البث إلى التلفزيون الخاص بي؟","WEBSITE_MAINPAGE_FAQ_007_P1":"نعم ، نحن ندعم Chromecast ويمكنك الإرسال من تطبيقات سطح المكتب والأجهزة المحمولة (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"كم عدد الإضافات التي يمتلكها Stremio؟","WEBSITE_MAINPAGE_FAQ_008_P1":"اعتبارًا من أواخر عام 2019 ، أكثر من 50 - لمزيد من المعلومات ، راجع كتالوج الملحقات الخاصة بنا.","WEBSITE_MAINPAGE_FAQ_009_H1":"هل يمكن تمديد Stremio بما يتجاوز ما هو موجود في الكتالوج الإضافي؟","WEBSITE_MAINPAGE_FAQ_009_P1":"نعم ، يجب عليك التحقق مما يلي: ${1} PimpMyStremio ${2} ، ${3} مجتمعات Reddit ${4} ، ${5} Stremio Downloader ${6} ، إلخ.","WEBSITE_MAINPAGE_FAQ_010_H1":"ما هي الأجهزة التي يدعمها Stremio؟","WEBSITE_MAINPAGE_FAQ_010_P1":"لدينا تطبيقات سطح مكتب لأنظمة Windows و Mac و Linux. بالنسبة للجوال ، ندعم Android و iOS ، على الرغم من أن ضع في اعتبارك أن وظائف iOS محدودة (لا تدعم معظم الوظائف الإضافية).","WEBSITE_MAINPAGE_FAQ_010_P2":"هناك العديد من الأجهزة التي تعمل بنظام Android والتي يمكنك تشغيل Stremio عليها ، مثل NVIDIA Shield و Amazon Fire Stick ، ​​لكننا لا ندعمها رسميًا.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"لدينا تطبيقات سطح مكتب لأنظمة Windows وMac وLinux. كما لدينا تطبيقات مخصصة لـ Android Mobile وAndroid TV. بالنسبة لـ iOS و iPadOS، نوصي باستخدام Stremio Web، على الرغم من أنه محدود في الوظائف.","WEBSITE_MAINPAGE_FAQ_011_H1":"هل يمكنك إضافة محتوى معين إلى Stremio؟","WEBSITE_MAINPAGE_FAQ_011_P1":"عذرًا ، لا نقدم أي محتوى بأنفسنا ، ولكن كلما قمت بتثبيت المزيد من إضافات Stremio ، ستتمكن من العثور على المزيد من المحتوى.","WEBSITE_MAINPAGE_FAQ_012_H1":"هل يستطيع Stremio تشغيل روابط التورنيت ؟","WEBSITE_MAINPAGE_FAQ_012_P1":"نعم ، ويمكنه أيضًا تشغيل روابط HTTP العادية وملفات التورنت (السحب والإفلات).","WEBSITE_MAINPAGE_FAQ_013_H1":"هل يمكنني تنزيل مقطع فيديو ومشاهدته بلا إنترنت؟","WEBSITE_MAINPAGE_FAQ_013_P1":"تعد الميزة المتاحة في وضع عدم الاتصال ميزة قادمة ، ولكن إذا سمحت لـ Stremio بالتخزين المؤقت على جهازك (من لوحة الإعدادات) ، يمكنك مشاهدة مقاطع الفيديو لاحقًا دون اتصال.","WEBSITE_MAINPAGE_FAQ_014_H1":"لا شيء يعمل ، ساعدني!","WEBSITE_MAINPAGE_FAQ_014_P1":"هل أنت متأكد أنك قمت بتثبيت الوظائف الإضافية؟ إذا كانت الإجابة بنعم ، فراجع ${1} مركز المساعدة ${2} الخاص بنا.","WEBSITE_MAINPAGE_FAQ_015_H1":"كيف يحافظ Stremio على عمليات التطوير الخاصة به؟","WEBSITE_MAINPAGE_FAQ_015_P1":"نعرض إعلانات غير تدخلية من حين لآخر ، لكننا نفكر في الانتقال إلى نموذج التبرع.","WEBSITE_MAINPAGE_FAQ_015_P2":"لمزيد من الأسئلة ، انتقل إلى مركز المساعدة $ {1}${2}.","HELP_LEARN_MORE":"ساعدنا في معرفة المزيد عنك.","LIFESTYLE":"أسلوب الحياة","SPORTS":"الرياضة","FOOD_HEALTH":"الطعام والصحة","BEAUTY_FASHION":"جمال و موضة","NEWS":"أخبار","GAMING":"ألعاب","SCIENCE_EDUCATION":"علم و تعليم","MUSIC":"موسيقى","TRAVEL":"السفر","LATE_NIGHT":"أخر الليل","REALITY":"واقعي","COMEDY":"كوميديا","DIY":"كيف تفعلها بنفسك","TECH":"تقنية","CINEMA":"سينيما","CONTINUE":"متابعة","SLOW_LOADING":"تحميل بطيئ ؟","I_GIVE_UP":"أنا أستسلم","LEARN_MORE":"معرفة المزيد","POOR_SOURCE":"هذا المصدر غير متاح بشكل جيد أو أن اتصالك بالإنترنت ليس سريعًا بما يكفي","PICK_CATEGORIES_ERR":"عليك أن تختار 3 فئات على الأقل","ADJUST_TIMING":"ضبط التوقيت باستخدام","ADJUST_SIZE":"ضبط الحجم مع","SEARCH_ANYTHING":"يمكنك البحث عن أي شيء ...","ALL_CATEGORIES":"الجميع","SEARCH_CATEGORIES":"أفلام ومسلسلات ويوتيوب وتلفزيون","SEARCH_PERSONS":"الممثلين والمخرجين والكتاب","SEARCH_PROTOCOLS":"روابط HTTP و التورنيت","SEARCH_TYPES":"IMDB / TVDB روابط","WATCHED":"تمت المشاهدة","SHOW_LESS":"إظهار أقل","LAST_SEARCHES":"أخر عمليات البحث","CLEAR_HISTORY":"مسح السجل","CHOOSE_SOME":"اختر بعضًا من هذا:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"تعذر تحميل Web Remote","STREMIO_OFFLINE":"Stremio غير متصل","STREMIO_EXPENSIVE_CONNECTION":"لقد اكتشفنا أنك تستخدم اتصال بيانات الجوال ، هل تريد المتابعة؟","USE_DATA":"استخدم البيانات","WARNING":"تحذير","MORE_INFO":"مزيد من المعلومات ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"جار التحميل ...","STREMIO_TV_BACK_TO_LANGUAGES":"رجوع إلى اللغات","STREMIO_TV_REMOTE":"ريموت","STREMIO_TV_GO_TO":"أذهب الى:","STREMIO_TV_OR_SCAN":"أو قم بمسح:","STREMIO_TV_ADDON_INSTRUCTIONS":"يرجى اتباع التعليمات لتثبيت الإضافات المفضلة لديك.","STREMIO_TV_LIVE_TV":"تلفاز مباشر","STREMIO_TV_RESUME_WATCHING":"تابع المشاهدة","STREMIO_TV_LOADING_BACKGROUND":"التحميل في الخلفية","STREMIO_TV_CHECKING_AUTHENTICATION":"التحقق من المصادقة","STREMIO_TV_LOADING_BOARD":"تحميل لوحة التحكم","STREMIO_TV_LOGIN_HEADER_LINE_1":"نريد لمستخدمينا الحصول على أفضل تجربة شخصية ممكنة مع برنامجنا.","STREMIO_TV_LOGIN_HEADER_LINE_2":"لهذا السبب نطلب منك التفضل بإنشاء و / أو تسجيل الدخول إلى حسابك.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"شكرا لتفهمك،","STREMIO_TV_LOGIN_FOOTER_LINE_2":"فريق Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"من أجل استخدام Web Remote مع الهاتف الذكي / الجهاز اللوحي / سطح المكتب:","STREMIO_TV_WIFI_SETUP":"Wi-Fi ضبط","STREMIO_TV_WIFI_HEADER_LINE_1":"لم يكتشف Stremio Circle اتصالاً بالإنترنت.","STREMIO_TV_WIFI_DETAILS_1":"الاتصال بـ:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"استخدم كلمة المرور:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"افتح متصفح الويب بالرابط:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"تلقائي","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"باخر مرة تمت المشاهدة","STREMIO_TV_LIBRARY_SORT_NAME":"بالاسم","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"بعدد مرات المشاهدة","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"موسم ${1}","STREMIO_TV_STREAMS_LOADING":"حملت ${1} / ${2} الاضافات...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} االاضافة لازالت قيد التحميل...","STREMIO_TV_PLAYER_SETTINGS":"اعدادات المشغل","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"تاخير الترجمة","STREMIO_TV_PLAYER_AUDIO_DELAY":"تاخير الصوت","STREMIO_TV_PLAYER_VIDEO_SCALING":"مقياس الفيديو","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"مصدر بث غير مدعوم","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"فشل فتح الرابط الحارجي","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"غير قابل للتعديل في وضع تمرير الصوت","STREMIO_TV_PLAYER_PLAY_IN_EXO":"تشغيل بـ ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"تشغيل بـ libVLC مشغل","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"الانتقال إلى مشغل libVLC بسبب خطأ في التشغيل","STREMIO_TV_ADDONS_TITLE":"استعمل stremio على هاتفك او حاسوبك واعد تثبيت او اضبط الاضافات ثم اضغط على \\"اعادة المزامنة\\"","STREMIO_TV_ADDONS_SUBTITLE":"ملاحظة: تاكد من استعمال نفس حساب stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"مزامنة الاضافات","STREMIO_TV_ADDONS_SYNC_SUCCESS":"تمت مزامنة الاضافات بنجاح","STREMIO_TV_ADDONS_SYNC_FAILED":"فشل مزامنة الاضافات","STREMIO_TV_META_LINK_FAILED":"فشل فتح ارتباط التعريف","STREMIO_TV_CATALOG_LOADING":"لم يتم تحميل الفهرس بعد ...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"تم تحديث لغة الواجهة","STREMIO_TV_SETTINGS_THEME_UPDATED":"تم تحديث المظهر","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"المشغل الافتراضي","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"المشغل الخارجي","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"اللغة المفضلة","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"اللغة المفضلة الثانية","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"تشغيل عبر الانفاق","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"قد يكون هنالك مشاكل تشغيل محتملة على بعض الأجهزة","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"بعض انواع الفيديوهات قد لا تعمل","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"مزامنة معدل الإطار","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"معطل","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"معدل الإطار فقط","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"معدل الإطار والدقة","STREMIO_TV_SETTINGS_NO_CACHING":"بدون تخزين مؤقت","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"تلقائي","STREMIO_TV_SETTINGS_PROFILE_SOFT":"ناعم","STREMIO_TV_SETTINGS_PROFILE_FAST":"سريع","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"سريع جدا","STREMIO_TV_SETTINGS_SERVER_URL":"رابط سيرفر المشاهدة","STREMIO_TV_SETTINGS_SERVER_VERSION":"اصدار السيرفر","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"مجهول","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio اصدار","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"تغير رابط السريفر","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"ادخل عنوان رابط السيرفر","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"عرض الإحصائيات أثناء التحميل","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"لقراءت سايسة الخصوصية زر:","STREMIO_TV_SETTINGS_TOS_TEXT":"لقراءت الاحكام والشروط زر:","STREMIO_TV_NAV_SEARCH":"البحث","STREMIO_TV_NAV_HOME":"الرئيسية","STREMIO_TV_NAV_DISCOVER":"اكتشاف","STREMIO_TV_NAV_LIBRARY":"المكتبة","STREMIO_TV_NAV_MOVIES":"افلام","STREMIO_TV_NAV_SERIES":"مسلسلات","STREMIO_TV_NAV_CHANNELS":"قنوات","STREMIO_TV_NAV_TV":"قنوات تلفزيونية مباشرة","STREMIO_TV_NAV_SETTINGS":"الاعدادات","STREMIO_TV_NAV_ADDONS":"اضافات","STREMIO_TV_LOGIN_TITLE":"ربط الحساب","STREMIO_TV_LOGIN_EXPIRES_IN":"تنتهي الصلاحية في","STREMIO_TV_LOGIN_STEP_ONE":"امسح QR Code اعلاه او اذهب الى","STREMIO_TV_LOGIN_STEP_TWO":"تسجيل الدحول لحساب Stremio الخاص بك","STREMIO_TV_LOGIN_NEW_LINK":"طلب رابط جديد","STREMIO_TV_LOGIN_LINK_REFRESHED":"تم تحديث كود تسجيل الدحول","STREMIO_TV_SEARCH_PLACEHOLDER":"اكتب شيئا ما","STREMIO_TV_SEARCH_NO_ADDONS":"لم يتم طلب اي اضافة لهذا الفهرس!","STREMIO_TV_SEARCH_BUTTON":"بحث","STREMIO_TV_SEARCH_KEY_DEL":"حذف","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"مسح","STREMIO_TV_SEARCH_HISTORY_TITLE":"سجل البحث","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"يمكنك البحث عن عناوين, ممثلين, قنوات والمزيد ...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"مسح سجل البحث","STREMIO_TV_FILTERS_DESCRIPTION":"اختر احد الفلترات اسفله","STREMIO_TV_STREAMING_SERVER_OFFLINE":"خادم البث غير متصل. تحقق من إعدادات الخادم.","FILTERS":"قلترات","SETTINGS":"الاعدادات","ACCOUNT":"الحساب","LOGOUT":"تسجيل الخروج","THEMES":"مظاهر","PLAYBACK":"العرض","PLAYBACK_SPEED":"سرعة العرض","AUDIO_TRACKS":"مسار صوت","UNKNOWN_TRACK_LANG":"غير معروف","VIDEOS":"فديوهات","SERVER":"السيرفر","LINKS":"روابط","ABOUT":"حول","INTERFACE":"الواجهة","ANIMATIONS":"التاثيرات","STATUS":"الحالة","LANGUAGE":"اللغة","SIZE":"الحجم","DELAY":"التاخير","BOLD":"عريض","OPACITY":"الشفافية","TEXT_COLOR":"لون الكتابة","OUTLINE_COLOR":"لون الخط الخارجي","BACKGROUND_COLOR":"لون الخلفية","BACKGROUND_BLUR":"ضبابية الخلفية","SEEK_TIME_DURATION":"مدة وقت التقديم","AUTO_PLAY":"التشعيل التلقائي للحلقة القادمة","PLAY_NOW":"شغل الان","MARK_AS_WATCHED":"تعليم كتمت مشاهدته","MARK_AS_UNWATCHED":"تعليم كلم تتم مشاهدته","REWIND_TO_BEGINNING":"اعادة من الاول","CONTINUE_WATCHING":"اكمل المشاهدة","ALL":"الكل","SECONDS":"ثواني","ON":"مفعل","OFF":"معطل","RELOAD":"اعادة تحميل","EDIT_URL":"تعديل الرابط","URL":"URL","NONE":"لاشيء","EMBEDDED":"مضمن","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"تبديل الأجهزة","REMOTE_VIDEOS":"فيديوهات","REMOTE_ADJUST_TIMING":"ضبط التوقيت","REMOTE_ADJUST_SIZE":"ضبط الحجم","REMOTE_COULD_NOT_BE_LOADED":"تعذر تحميل Web Remote","REMOTE_RETRY":"أعادة المحاولة","TORRENT_PROFILE_DEFAULT":"إفتراضي","TORRENT_PROFILE_SOFT":"معتدل","TORRENT_PROFILE_FAST":"سريع","TORRENT_PROFILE_ULTRA_FAST":"فائقة السرعة","MB_S":"MB/s","FAQ_001_H1":"ما هو Stremio؟","FAQ_001_P1":"Stremio هو برنامج مركز وسائط مصمم للترفيه بالفيديو مع وضع سهولة الاستخدام في الاعتبار. يسمح لك Stremio بتنظيم شاهد مجموعتك الخاصة من الأفلام والمسلسلات والقنوات والبث التلفزيوني المباشر.","FAQ_001_P2":"يقوم Stremio بجمع المحتوى الذي يعرضه لك من القرص المحلي ونظام الوظائف الإضافية الخاص بنا.","FAQ_001_P3":"سيُعلمك أيضًا عند ظهور حلقات / مقاطع فيديو / أفلام جديدة تهتم بها ، ويقدم لك توصيات بشأن الأفلام.","FAQ_02_H1":"كيف يقارن Stremio بـ Kodi و Plex؟","FAQ_02_P1":"نحن مستوحون من هذين البرنامجين. لكن لدينا أهدافًا مختلفة - يستهدف Stremio بشكل خاص الفيديو الترفيهي ، ويسعى جاهداً ليصبح الحل السائد لذلك من خلال كونه سهل الاستخدام للغاية.","FAQ_02_P2":"لن يكون Stremio أبدًا قابلاً للتخصيص وغنيًا بالميزات مثل Kodi و Plex ، ولكنه أسهل كثيرًا في الاستخدام. فقط ${1} احصل عليه واطلع على ${2} :)","FAQ_03_H1":"كيف يقارن Stremio بـ Netflix؟","FAQ_03_P1":"مرة أخرى ، يعد Netflix أحد مصادر إلهامنا. نحن نسعى جاهدين لتحقيق تجربة مستخدم Netflix ، بالإضافة إلى الكثير من الأشياء الجيدة المضافة. ولكن الأهم من ذلك ، أننا نمنحك حرية إدارة مكتبتك الخاصة وإضافة مصادر محتوى جديدة باستخدام نظام الملحق الخاص بنا.","FAQ_03_P2":"هذا يجعل Stremio قابلًا للتمديد بشكل لا نهائي ، لذلك عندما تستخدم Stremio ، فأنت لا تقتصر أبدًا على المحتوى الذي تقرر Netflix ترخيصه. على سبيل المثال ، من خلال Stremio ، يمكنك مشاهدة محتوى من $ {1} Filmon.tv ${2} ، ${3} Twitch.tv ${4} ، ${5} YouTube ${6} ، ${7} Vodo ${8} وحتى ${9} Netflix ${10} نفسها!","FAQ_04_H1":"كيف يقارن Stremio بـ Flipboard؟","FAQ_04_P1":"لا نتلقى هذا السؤال كثيرًا ، إلا عند التحدث إلى أشخاص مبتدئين :)","FAQ_04_P2":"يعد Stremio عن طريق تصميم مجمع محتوى ، مما يجعله بشكل أساسي Flipboard للفيديو. هذا واضح جدًا في قسم Board الخاص بنا ، والذي يمنحك كتالوجات وإشعارات حلقة جديدة / فيديو جديد لما تتابعه ، تمامًا مثل Flipboard.","FAQ_05_H1":"كيف يقارن Stremio بـ Popcorn Time؟","FAQ_05_P1":"يتشابه كل من Stremio و Popcorn Time في واجهة المستخدم ، لأنه لا توجد طرق عديدة لعمل كتالوجات فيديو ترفيهية بشكل صحيح :)","FAQ_05_P2":"ولكن بينما يركز Popcorn Time على بث التورنت من مصادر محددة ، فإن Stremio غير مقيد وهو مجرد مجمع محتوى - فهو غير مقيد بمصدر محتوى معين.","FAQ_05_P3":"علاوة على ذلك ، نحن لا نقدم أي إضافات تورنت افتراضيًا ، لذلك لا يغطي Stremio حالة استخدام Popcorn Time بالوظائف الرسمية.","FAQ_05_P4":"الفرق الملحوظ الآخر هو أن Popcorn Time مفتوح المصدر بالكامل ، بينما Stremio ${1} مفتوح المصدر جزئيًا ${2}.","FAQ_06_H1":"هل ستضيف هذا الفيلم / المسلسل؟","FAQ_06_P1":"لا آسف :(","FAQ_06_P2":"كما هو مذكور في معظم الأسئلة الأخرى ، لا يوفر Stremio أي محتوى بمفرده - تتم إضافة كل شيء من خلال نظام الوظائف الإضافية. في حالة وجود طلب محتوى ، يمكنك استخدام الزر إبلاغ في المشغل ، والذي سيرسل بريدًا إلكترونيًا إلى مؤلف الوظيفة الإضافية التي تستخدمها حاليًا.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"هل ستقوم بإنشاء أضافة لـ X؟","FAQ_08_P1":"إنه ممكن تمامًا.","FAQ_08_P2":"إذا كانت لديك فكرة عن أضافة ، فأرسل لنا سطرًا على ${1}office@stremio.com ${2} ، ولكن يُرجى التأكد من أن فكرة الملحق لن تنتهك أي حقوق طبع ونشر أو شروط استخدام.","FAQ_08_P3":"في الوقت الحالي ، الأشياء التالية في خارطة الطريق هي الإضافات لـ FandangoNOW ، فيديو Filmon.tv عند الطلب و Crunchyroll.","FAQ_09_H1":"هل يستخدم Stremio برنامج BitTorrent؟","FAQ_09_P1":"نعم ، يدعم Stremio BitTorrent كبروتوكول دفق. يمكنك استخدام ذلك إما مع أضافة تورنت ، أو عن طريق سحب وإفلات ملف .torrent في Stremio ، أو عن طريق لصق رابط تورينت في شريط البحث.","FAQ_09_P2":"يرجى ملاحظة أن الملحق الرسمي الوحيد الذي يستخدم BitTorrent هو ${1} Vodo ${2} ، والذي يوفر محتوى مستقل ، وكلها مسموح بتوزيعها باستخدام BitTorrent.","FAQ_09_P3":"نحن لا ندعم استخدام أي أدوات إضافية لطرف ثالث والتي قد تتيح انتهاك حقوق النشر.","FAQ_10_H1":"ما الذي يمكنني مشاهدته في Stremio باستخدام الإضافات الرسمية؟","FAQ_10_P1":"بشكل افتراضي ، يمكنك مشاهدة محتوى Filmon.tv و YouTube و Vodo داخل Stremio نفسها ، باستخدام مشغلها المضمن. بالإضافة إلى ذلك ، لدينا ملحق لـ Twitch.tv وعدد قليل من البرامج الأخرى.","FAQ_10_P2":"يوفر هذا مجتمعة مجموعة مختارة من:","FAQ_10_L1":"قنوات تلفزيونية شهيرة ، تقدمها Filmon.tv - على سبيل المثال E4 و BBC و Bollyworld TV","FAQ_10_L2":"كل شيء من YouTube - على سبيل المثال BBC News و Top Gear و Vevo و PewDiePie","FAQ_10_L3":"الأفلام المستقلة مع Vodo","FAQ_10_L4":"يتم بث الألعاب عبر الإنترنت باستخدام Twitch.tv","FAQ_10_P3":"بالإضافة إلى ذلك ، هناك العديد من مصادر المحتوى المتوفرة مع Guidebox ووظائف Netflix الإضافية ، والتي لا تعمل بالكامل داخل Stremio ، ولكنها ستعيد التوجيه إلى الخدمة المحددة. على سبيل المثال ، ستمنحك الوظيفة الإضافية Guidebox مجموعة مختارة من الأفلام التي يمكنك بثها في الولايات المتحدة مجانًا ، من خدمات مثل TubiTV و Crackle.","FAQ_11_H1":"لن يتم تثبيت Stremio ، فماذا أفعل؟","FAQ_11_P1":"إذا كنت تستخدم نظام التشغيل Windows ، فجرّب ${1} أداة التثبيت البديلة هذه ${2}.","FAQ_11_P2":"إذا كنت تستخدم نظام التشغيل Mac OS X ، فيرجى العلم أننا لا ندعم أي شيء أقدم من OS X Mavericks (10.9).","FAQ_11_P3":"إذا كنت تستخدم نظام Linux ، فاعلم أننا ندعم نظام Linux 64 بت (x64) فقط في الوقت الحالي.","FAQ_11_P4":"إذا كنت لا تزال غير قادر على حل مشكلتك ، فيرجى مراسلتنا على ${1} Facebook group ${2}.","FAQ_12_H1":"لماذا يشتكي برنامج مكافحة الفيروسات الخاص بي؟ هل Stremio آمن؟","FAQ_12_P1":"نؤكد لك أن Stremio هو ${1} 100٪ نظيف ${2}.","FAQ_12_P2":"يشكو برنامج مكافحة الفيروسات الخاص بك لأننا نقوم بتضمين إعلانات في أداة التثبيت الخاصة بنا ، والتي تتعرف عليها بعض برامج مكافحة الفيروسات على أنها أدوات إعلانية.","FAQ_12_P3":"إذا كنت لا تزال غير متأكد ، فيمكنك تجربة ${1} المثبت البديل ${2}.","FAQ_13_H1":"كيف يمكنني عمل أضافة جديدة ؟","FAQ_13_P1":"بالنسبة للمبتدئين ، نوصيك بالتحقق من وحدة نظام الإضافات ${1} الخاصة بنا ${2} على GitHub.","FAQ_13_P2":"بعد ذلك ، يمكنك اتباع البرنامج التعليمي ${1} Hello World ${2}.","FAQ_13_P3":"إذا لم تكن لديك أي مهارات برمجية ، فالرجاء نشر فكرتك على ${1} مجتمع Reddit ${2} والاتصال بنا لتقديم فكرة الملحق الخاص بك على ${3}office@stremio.com${4}.","FAQ_14_H1":"كيف يتم نشر الإضافات؟","FAQ_14_P1":"عندما تنشئ ملحقًا ومضيفًا ، وتضع حقل نقطة نهاية في البيان الخاص بك ، والذي يشير إلى عنوان ملحق يعمل ، فإن الوظيفة الإضافية ستنشر نفسها تلقائيًا في كتالوج ${1} Addon ${2} .","FAQ_14_P2":"يحدث هذا لأن جزء الخادم من وحدة stremio-addons يقوم تلقائيًا بإجراء مكالمة إلى واجهة برمجة التطبيقات الخاصة بنا للإعلان عن الملحق. عندما تتحقق واجهة برمجة التطبيقات الخاصة بنا من نقطة النهاية كإضافة صالحة ، ستبدأ في الظهور في الكتالوج.","FAQ_15_H1":"هل يمكنني تشغيل Stremio في المتصفح الخاص بي؟","FAQ_15_P1":"ليس في الوقت الحالي ، لكن هذا قادم!","FAQ_15_P2":"إذا كنت مهتمًا برؤية ألفا ، فيمكنك رؤيته هنا: ${1} alpha4.strem.io ${2}. ضع في اعتبارك أن البث معطل في هذا الإصدار ألفا. نحن ندعم Chrome و Firefox و Opera و Edge.","FAQ_16_H1":"الإرسال إلى التلفزيون لا يعمل / لا تعمل الترجمة","FAQ_16_P1":"يستخدم Casting to TV تقنية DLNA وهي غير متسقة للغاية بين مختلف العلامات التجارية والموديلات. لهذا السبب ، ليس لدينا القدرة على اختباره في كل حالة ، لذا فهو بعيد عن الكمال. على الرغم من ذلك ، نحن نعمل على تحسينه باستمرار ولكن لا يمكننا منحك تقديرًا للوقت حول موعد بدء DLNA في العمل بشكل صحيح مع تلفزيونك.","FAQ_16_P2":"إذا كنت لا ترى التلفزيون الخاص بك في قائمة الإرسال ، فالرجاء محاولة تعطيل اتصال الشبكة وإعادة تمكينه (في Windows ، انقر بزر الماوس الأيمن فوق الشبكة واستخدم تمكين / تعطيل) ، وكذلك إعادة تشغيل جهاز التوجيه والتلفزيون والكمبيوتر .","FAQ_16_P3":"إذا كنت لا تزال تواجه مشكلات ، فيمكنك مساعدتنا عن طريق إرسال معلومات الطراز والعلامة التجارية التلفزيونية الخاصة بك على ${1}office@stremio.com${2}.","FAQ_16_P4":"في غضون ذلك ، نوصي باستخدام Chromecast ، الذي ندعمه جيدًا ، أو ببساطة قم بتوصيل التلفزيون بجهاز الكمبيوتر باستخدام كابل HDMI.","FAQ_17_H1":"يتجمد Stremio و / أو يتعطل ، ماذا يمكنني أن أفعل؟","FAQ_17_P1":"بادئ ذي بدء ، إذا كنت تستخدم Windows 7 مع برنامج مكافحة الفيروسات AVG: لدينا مشكلة في هذه المجموعة. المشكلة في AVG نفسه ، وليس هناك طريقة معقولة لحلها من جانبنا. لسوء الحظ ، لن تعمل الاستثناءات أو تعطيل برنامج مكافحة الفيروسات. الحل الوحيد هو استبدال AVG بشيء آخر.","FAQ_17_P2":"إذا لم تكن هذه هي المشكلة ، ولكنك لا تزال تستخدم Windows ، فيرجى التحديث إلى أحدث حزمة خدمة وتحديث / إعادة تثبيت برامج تشغيل GPU ، ثم حاول مرة أخرى.","FAQ_17_P3":"إذا لم يتم حل المشكلة بعد ، أو إذا كنت تستخدم نظام التشغيل Mac أو Linux ، فيرجى مراسلتنا للإبلاغ عن التفاصيل الدقيقة للمشكلة على ${1} مجموعة Facebook ${2}.","FAQ_18_H1":"كيف يمكنني عمل أضافة ؟","FAQ_18_P1":"بالنسبة للمبتدئين ، نوصيك بالتحقق من وحدة نظام الإضافات ${1} الخاصة بنا ${2} على GitHub.","FAQ_18_P2":"بعد ذلك ، يمكنك اتباع البرنامج التعليمي ${1} Hello World ${2}.","FAQ_18_P3":"إذا لم تكن لديك أي مهارات برمجية ، فالرجاء نشر فكرتك على ${1} مجتمع Reddit ${2} والاتصال بنا لتقديم فكرة الملحق الخاص بك على ${3}office@stremio.com${4}.","FAQ_19_H1":"لماذا يشغل Stremio مساحة على القرص؟","FAQ_19_P1":"يحتوي Stremio على ذاكرة تخزين مؤقت محلية للاحتفاظ مؤقتًا بملفات الفيديو التي تقوم بدفقها.","FAQ_19_P2":"هذا له فائدتان: أولاً ، يسمح لـ Stremio بالتخزين المؤقت للفيديو مسبقًا لضمان تدفق أكثر سلاسة. ثانيًا ، يحتفظ بمقاطع الفيديو في ذاكرة التخزين المؤقت المحلية حتى تتمكن من متابعة مشاهدتها في وضع عدم الاتصال.","FAQ_19_P3":"يعتمد مقدار ما يحتفظ به Stremio على إعداد ذاكرة التخزين المؤقت في لوحة الإعدادات. قد يحافظ Stremio على الكمية المحددة (على سبيل المثال 2 جيجا بايت) على القرص الخاص بك ، ما لم يكن الفيديو المتدفق حاليًا أكبر من ذلك ، وفي هذه الحالة يجب عليه تخصيص مساحة تخزين كافية للاحتفاظ به حتى تقوم بدفقه.","FAQ_20_H1":"أين هو مجلد ذاكرة التخزين المؤقت؟","FAQ_20_P1":"في Windows ، يكون stremio-cache في محرك الأقراص الذي اخترته في الإعدادات (مثال \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"على MacOS ، إنه \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"على Linux ، إنه \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"تلقيت خطأ لم يتم العثور على خادم البث ، فماذا أفعل؟","FAQ_21_P1":"إذا تلقيت هذا الخطأ ، فهذا يعني أحد الأشياء القليلة:","FAQ_21_P2":"1) أنت تحاول استخدام ملحق مدعوم من مصدر YouTube / BitTorrent ، من خلال إصدار الويب ${1} الخاص بنا ${2}. في هذه الحالة ، يجب عليك تثبيت إصدار سطح المكتب من $ {3} موقعنا $ {4}.","FAQ_21_P3":"2) هناك خطأ ما في تثبيت Stremio. في هذه الحالة ، حاول إعادة تثبيت أحدث إصدار لسطح المكتب من ${1} موقع الويب ${2}. إذا لم يساعدك ذلك ، فحاول تعطيل برامج مكافحة الفيروسات والجدران النارية وإعادة تشغيل الكمبيوتر والمحاولة مرة أخرى. إذا لم يفلح هذا أيضًا ، يرجى مراسلتنا على ${3} مجموعتنا على Facebook ${4}.","FAQ_22_H1":"لا يمكنني رؤية / استخدام معظم الوظائف الإضافية على iOS","FAQ_22_P1":"نظرًا للقيود الواردة في شروط وأحكام متجر تطبيقات Apple ، فقد قصرنا تطبيق iOS على مجموعة معينة من الوظائف الإضافية.","FAQ_22_P2":"لكن كن مطمئنًا - سيكون هناك المزيد من الوظائف الإضافية لنظام iOS في المستقبل ، وقد نضيف أيضًا تكاملًا يسمح لك باستخدام جميع إضافات Stremio بفضل توصيل تطبيق iOS بخادم Stremio Streaming Server."}')},15955:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Филм","TYPE_series":"Сериал","TYPE_tv":"TV канал","TYPE_channel":"Канал","TYPE_other":"Друго","TYPE_movie_PL":"Филми","TYPE_series_PL":"Сериали","TYPE_tv_PL":"TV канали","TYPE_channel_PL":"Канали","TYPE_other_PL":"Други","TYPE_ALL":"Всички","TYPE":"Тип","CATALOG_com_linvo_cinemeta_top":"Популярни","CATALOG_com_linvo_cinemeta_imdbRating":"Препоръчани","CATALOG_com_linvo_cinemeta_year":"Нови","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Видео","BACK":"Назад","MORE":"Още","DONE":"Готово","COPY":"Копирай","SUCCESS":"Успех","ERROR":"Грешка","SETTINGS_CASTING_MODE_PICKER":"Режим на излъчване","CASTING_MODE_HLSV2":"По подразбиране","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Без транскодиране","Discover":"Открий","Board":"Табло","Library":"Библиотека","My Library":"Моята библиотека","Calendar":"Календар","NOTIFICATION_ONLINE":"Вече сте онлайн","NOTIFICATION_OFFLINE":"В момента сте офлайн","INTERNET_CONNECTION":"Интернет връзка","STORAGE_FULL_TITLE":"Внимание: Паметта е пълна!","STORAGE_FULL_TEXT":"Stremio няма да може да запази вашите настройки, предпочитания или информация за вход. Помислете за повторно стартиране или преинсталиране на Stremio.","SEARCH":"Търсене","SEARCH_NO_RESULTS":"Не са намерени резултати","SEARCH_EXPLANATION_CONTENT":"Търсете на филми, сериали, TV и YouTube канали","SEARCH_EXPLANATION_PEOPLE":"Търсене на актьори и режисьори","SEARCH_PASTE_LINKS":"Поставете HTTP или магнитна връзка","SEARCH_OR_PASTE_LINK":"Търсене или поставяне на връзка","SEARCH_SUGGESTIONS":"Предложения за търсене","ADD_TO_LIB":"Добави","REMOVE_FROM_LIB":"Премахни","ADDED_TO_LIB":"Добавено към библиотека","REMOVED_FROM_LIB":"Премахнато от библиотека","TRAILER":"Трейлър","WATCH_TRAILER":"Трейлър","WATCH_NOW":"Гледай","SHOW":"Покажи","SHOW_MOVIE":"Показване на филма","WATCH_RANDOM":"Произволно гледане","IMDB_RATING":"IMDb рейтинг","YEAR":"Година","DIRECTOR":"Режисьор","WRITER":"Автор","LEAD_ACTORS":"В главните роли","CAST":"Състав","CREW":"Екип","SHOW_MORE_CAST":"Показване на повече актьорски състав »","AIRED":"Излъчено","SEASONS":"Сезони","GENRE":"Жанр","GENRE_ALL":"Всичи жанрове","CATALOG":"Каталог","SUMMARY":"Описание","SHOW_MORE":"Показване на повече","SIMILAR":"Подобни","UPCOMING":"Очаквайте","TBA":"TBA","ENDED":"Прекратено","DURATION":"Продължителност","FEATURED":"Предложено","METADATA":"Метаданни","CATEGORY":"Категория","LINKS_GENRES":"Жанрове","LINKS_CAST":"Актьорски състав","LINKS_DIRECTORS":"Режисьори","SEARCH_VIDEOS":"търси видеа","SEARCH_PLACEHOLDER":"търсене или поставяне на магнитна връзка","ADDON":"добавка","ADDONS":"Добавки","OFFICIAL":"официални","ADDONS_OFFICIAL":"Официални добавки","ADDONS_POPULAR":"Популярни в региона ви","ADDON_FREE":"безплатно","ADDON_PEERED":"преглеждано","ADDON_SUBSCRIPTION":"абонамент","ADDON_STREAM_GEORESTRICTED":"недостъпно във вашия регион","ADDON_STREAM_OFFLINECACHE":"Офлайн кеш","ADDON_STREAM_LOCALFILE":"Локален файл","SHARE_ADDON":"Споделяне на добавка","AVAILABLE_STREAMS":"Достъпни източници","NO_STREAM":"Няма достъпни източници","ALL_ADDONS":"Всички","INSTALL_MORE_ADDONS":"За повече източници, моля инсталирайте повече добавки","STREAM_NOT_SUPPORTED":"Избраният източник не е подържан на тази платформа.","ADDON_CATALOGUE":"Показване на всички добавки »","ADDON_CATALOGUE_MORE":"Още добавки »","REPO_ADDED":"Хранилището е добавено","ADDON_REPO_EXIST_ERR":"Това хранилище за добавки вече съществува","ADDON_REPO_ERR":"Грешка при добавяне на хранилището","ADDON_ADD_ERR":"Грешка при добавяне на добавката","ERR_ADDON_PROTECTED":"Защитена добавка","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Нещо се обърка - удостоверяването може да се е провалило","ERR_NOT_COLLECTION_URL":"Това не е url на колекция","ERR_NOT_ADDON_URL":"Това не е url на добавка","ERR_DETECTFROMURL":"Не може да се разпознае url","ADDON_DUPLICATE_WARNING":"Предупреждение: съществуваща добавка","ADDON_COLLECTION_SET_FAILED":"Колекцията на добавката е провалена","SETTINGS_DATA_EXPORT":"Експортиране на данни","ADDON_PULL_FAILED":"Извличането на добавката се провали","REFRESH_ON_CLICK":"Кликнете за повторение","ADDON_LOADING_MANIFEST":"Зареждане на манифеста на добавката","ADDON_LOADING_MANIFEST_FROM":"Зареждане на манифеста на добавката от {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Извличането на манифеста на добавката от {{origin}} се провали","STILL_IN_THEATER":"Филмът е все още по кината","WATCH_IN_CINEMA":"Гледайте по кината","IN_THEATER":"По кината","GET_TICKETS":"Купи билети","UPCOMING_EPISODE":"Предстоящ епизод","UPCOMING_EPISODE_MESSAGE":"Този епизод ще бъде излъчен","MISSING_DATE_EPISODE":"Липсваща дата на епизода","MISSING_DATE_EPISODE_MESSAGE":"Този епизод може да не е излъчен все още","CHANNEL_NOT_SCRAPED":"Нямаме информация за този канал все още.
    Върнете се след няколко минути.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Добавете го в библиотеката, за да получите известие.","GET_NOTIFIED_WHEN_AVAILABLE":"Ще получите известие когато излезе.","WARNING_STREAMING_SERVER":"Предупреждение: локалният сървър за поточно предаване не е свързан. Не е възможно поточно предаване от YouTube и BitTorrent.","WARNING_STREAMING_SERVER_DISMISS":"Отхвърляне","WARNING_STREAMING_SERVER_LATER":"По-късно","DECODER_WARNING":"Внимание: Това видео може да не се поддържа от вашия хардуер. Имайте предвид, че плейбека може да е бавен.","GENERIC_ERROR_MESSAGE":"Нещо се обърка!","TRY_AGAIN":"Опитай отново","CLEAR_DATA":"Изчисти данни","PLAYER_ERROR":"Упс, грешка на плеъра","PLAYER_ERROR_LOOKSLIKE":"Изглежда като","PLAYER_ORIENTATION":"Ориентация на плеъра","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Заключен","PLAYER_ORIENTATION_SENSOR_SHORT":"Заключен","PLAYER_ORIENTATION_LANDSCAPE":"Ориентацията на екрана е заключена пейзажно","PLAYER_ORIENTATION_SENSOR":"Ориентацията на плеъра е автоматична (сензор)","PLAYER_PLAYBACK_SPEED":"Скорост на плейбека","PLAYER_PLAYBACK_ERROR":"Грешка при пускане, моля, опитайте отново","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Непозната грешка","PLAYER_PLAYBACK_ERROR_DEFAULT":"Съжаляваме, това видео не може да се пусне от {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Езици на субтитрите","PLAYER_SUBTITLES_VARIANTS":"Варианти на субтитрите","PLAYER_SUBTITLES_SETTINGS":"Настройки на субтитрите","PLAYER_SUBTITLES_DISABLED":"Субтитрите са изключени","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Вертикална позиция","PLAYER_SUBTITLES_LOADED":"Субтитрите са заредени","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Вградените субтитри са заредени","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Ексклузивните субтитри са заредени","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Субтитрите от {{origin}} са заредени","PLAYER_PLAY":"Пусни","PLAYER_PAUSE":"Пауза","PLAYER_NEXT_VIDEO":"Следващо видео","PLAYER_MUTE":"Без звук","PLAYER_UNMUTE":"Пускане на звука","PLAYER_OPEN_IN_EXTERNAL":"Отваряне във външен плеър","PLAYER_OPEN_IN_NPLAYER":"Отваряне в nPlayer","PLAYER_PLAY_IN":"Пускане на {{device}}","PLAYER_LIVE":"На живо","PLAYER_NEXT_VIDEO_TITLE":"Следва","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Отхвърляне","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Гледане сега","PLAYER_COPY_STREAM_SUCCESS":"Връзката за поточно предаване беше копирана във клипборда","PLAYER_COPY_STREAM_ERROR":"Неуспешно копиране на връзката за поточно предаване","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Линка за изтегляне е копиран в клипборда","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Неуспешно копиране на линка за изтегляне","PLAYER_STATISTICS":"Статистика","PLAYER_PEERS":"Пиъри","PLAYER_SPEED":"Скорост","PLAYER_COMPLETED":"Завършен","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Поточно предаване от","CASTING_TO":"Предаване към","NETWORK_STATUS":"Състояние на мрежата","STREAM_SPEED":"Скорост:","STREAM_BUFFERED":"Буфер:","PEERS_INFO":"Пиъри","PEERS_ACTIVE":"Активни:","PEERS_CONNECTED":"Свързани:","PEERS_WAITING":"Чакащи:","TRANSCODING_WARNING":"Внимание: транскодиране на видеото.","STREAM_LOADING":"зареждане...","PLAYING_LOCAL":"Пусни от локален файл","PLAYING_CACHE":"Пусни от кеш","WRONG_SUBS":"Грешни субтитри?","ERR_SUBS_LOADING_TITLE":"Грешка при зареждане на субтитри","ERR_SUBS_LOADING":"Зареждането на субтитрите се провали: може да е проблем с добавката, която използвате, или с вашата мрежова връзка","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Следните добавки за субтитри са неуспешни","ERR_CASTING_UPDATE_TITLE":"Информацията на устройството за предаване не можа да се актуализира: сървъра за поточно предаване може да е онлайн","CHOOSE_DEVICE":"Изберете устройство","NO_CAST_DEVICES":"Няма налични устройства за предаване.","NO_SETTINGS":"Няма налични настройки.","NO_OPTIONS":"Няма налични опции.","PHONE_TABLET":"Телефон / Таблет","DISABLED_LABEL":"{{label}} не може да се редактира","SUBTITLES":"Субтитри","SUBTITLES_CHANGE":"Сменяне на субтитрите на ","SUBTITLES_CHANGE_NONE":"Няма други субтитри за този език.","SUBTITLES_CHANGE_ACIVE":"В момента субтитри #{{subtitlesDialog.activeIdx + 1}} са активирани. Кликнете \\"Продължи\\" за да активирате #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Алтернативно,","SUBTITLES_ADJUST_DELAY":"Настройте забавяне на субтитрите:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Или използвайте G / H, за да настроите субтитрите.","SUBTITLES_ADJUST_DELAY_TIP":"Съвет: може да ползвате G / H, за да настроите субтитрите.","SUBTITLES_DELAY":"Забавяне на субтитрите:","SUBTITLES_LOADING":"Зареждане на субтитри...","SUBTITLES_UNAVAILABLE":"Не са налични външен субтитри","SUBTITLES_DISABLED":"Изключено","EXTERNAL_PLAYER_DISABLED":"Изключено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Позволяване на избирането","EXTERNAL_PLAYER_HINT":"Съвет: Има настройка, която да позволява винаги да се отваря с външен плейър","DONT_SHOW_AGAIN":"Да не се показва отново","SERVICE_INSTALL":"Инсталиране","AUDIO":"Аудио","DEFAULT_LANGUAGE":"Език по подразбиране","DEFAULT_SECONDARY_LANGUAGE":"Допълнителен език по подразбиране","SEASON":"Сезон","SEASON_NUMBER":"Сезон {{season}}","PREV_SEASON":"Предишен сезон","NEXT_SEASON":"Следващ сезон","EPISODE":"Епизод","EPISODE_ABBREVIATION":"ЕП","SPECIAL":"Специално","SORT":"Сортиране","SORT_BY":"Сортиране по","FILTER":"Филтър","SORT_TRENDING":"Популярни","SORT_RECENT":"Последни","SORT_ALPHABET":"А-Я","SORT_ALPHABET_REVERSE":"Я-А","SORT_RATING":"Рейтинг","SORT_WATCHED":"Гледани","SORT_YEAR":"Година","SELECT":"Избиране","SELECT_TYPE":"Избиране на тип","SELECT_SORT":"Избиране на сортиране","SELECT_CATALOG":"Избиране на каталог","NO_CATALOG_SELECTED":"Няма избран каталог.","CATALOG_FILTERS":"Филтри за каталог","ALL_FILTERS":"Всички филтри","SELECT_GENRE":"Избиране на жанр","SORT_LASTWATCHED":"Гледани последно","SORT_NAME":"По име","SORT_NAMEREVERSE":"я-а","SORT_TIMESWATCHED":"Гледани последно","SORT_NOTWATCHED":"не е гледано","New for You":"Ново за Вас","New Episodes":"Нови епизоди","New Videos":"Нови видеа","Recommendations":"Препоръчано","LIBRARY_RESUME":"Продължи","LIBRARY_PLAY":"Пусни","LIBRARY_DETAILS":"Детайли","LIBRARY_RESUME_DISMISS":"Отхвърляне","LIBRARY_CLEAR_PROGRESS":"Изчистване на напредъка","LIBRARY_REMOVE":"Премахване","LIBRARY_NOT_LOGGED_IN":"Библиотеката е достъпна само за вписани потребители","LIBRARY_NOT_LOADED":"Библиотеката не е заредена!","LIBRARY_EMPTY":"Празна библиотека","CALENDAR_NOT_LOGGED_IN":"Календарът е достъпен само за вписани потребители","NOT_LOGGED_IN_CLOUD":"Получете достъп до любимите си филми и ТВ програми по всяко време, навсякъде","NOT_LOGGED_IN_RECOMMENDATIONS":"Препоръки, съобразени с вашата история на гледане","NOT_LOGGED_IN_NOTIFICATIONS":"Никога не изпускайте отново епизод","NOT_LOGGED_IN_CALENDAR":"Планирайте личния си календар за гледане","CALENDAR_NO_NEW_EPISODES":"Няма нови епизоди за днес","DISCOVER_FEATURED":"Избрано","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Носители на Оскар","DISCOVER_WARNING_TITLE":"Опа!","DISCOVER_EMPTY_CATALOG":"Тази добавка върна празно съдържание.","DISCOVER_ADULT_WARNING":"Това съдържание е достъпно само за възрастни. Имате ли навършени 18 години?","DISCOVER_NOADDON_WARNING":"Внимание: няма активна Stremio добавка за този тип съдържание. Тук виждате запазена информация, тя няма да се обнови.","DISCOVER_LOAD_ERR":"Съдържанието не може да се зареди. Възникна грешка.","DISCOVER_ADDON_UNINSTALLED":"Това съдържание вече не е достъпно. Може би добавката е премахната.","UNINSTALL_THIS_ADDON":"Деинсталирайте тази добавка","ERR_ADDON_NOT_INSTALLED":"Тази добавка не е инсталирана. Инсталиране?","DETAIL_RECEIVE_NOTIF_SERIES":"Получаване на известия за нови епизоди","DETAIL_RECEIVE_NOTIF_VIDEOS":"Получаване на известия за нови видеа","SIDEBAR_SHOW_STREAMS":"Показване на източниците","RELAUNCH":"Стартиране на новата версия!","UPGRADE":"Достъпна е нова версия","RELOAD_UI":"Презареждане на потребителският интерфейс","MANUAL_UPDATE_TITLE":"Обновете вашата версия на Stremio","MANUAL_UPDATE_LINE1":"Използвате стара версия на Stremio.","MANUAL_UPDATE_LINE2":"Моля обновете колкото се може по-скоро.","BUTTON_UPDATE_LATTER":"По-късно","BUTTON_UPDATE_NOW":"Обнови сега","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Анонимен потребител","DONT_HAVE_ACC":"Нямате акаунт?","HAVE_ACC":"Вече имате акаунт?","PASSWORD":"Парола","PASSWORD_CONFIRM":"Потвърждаване на паролата","EMAIL":"E-mail","FB_LOGIN":"Впишете се с Facebook","APPLE_LOGIN":"Впишете се с Apple","FB_NOTHINGSHARED":"Нищо не се споделя без ваше разрешение.","FB_NOPOST":"Ние няма да публикуваме нищо от ваше име","OR":"или","I_ACCEPT":"Прочетох и приемам","I_ACCEPT_BY_CLICKING":"Със натискането на бутона, се съгласявате, че приемате ","TOS":"Общите условия","MUST_ACCEPT_TERMS":"Вие трябва да се съгласите с условията","PASSWORDS_NOMATCH":"Паролите се различават","SIGN_UP":"Регистрирайте се","SIGN_UP_EMAIL":"Регистрирайте се с email","CLICK_TO_SIGN_UP":"Натиснете тук, за да се регистрирате.","LOG_IN":"Вход","LOG_OUT":"Отписване","EXIT_FULLSCREEN":"Излизане от цял екран","ENTER_FULLSCREEN":"Цял екран","PLAY_URL_MAGNET_LINK":"Пускане от URL/магнитна връзка","HELP_FEEDBACK":"Помощ и обратна връзка","TERMS_OF_SERVICE":"Условия за ползване","PRIVACY_POLICY":"Политика за поверителност","ABOUT_STREMIO":"За Stremio","USER_PANEL":"Потребителски панел","LOGIN_LABEL":"Вход","GUEST_LOGIN":"Вход като гост","GUEST_LOGIN_NOTICE":"Входът за гости не се препоръчва. Използването на редовно влизане позволява на Stremio да синхронизира библиотеката Ви, да получава известия за любими серии/канали. Сигурни ли сте, че искате да продължите?","GUEST_LOGIN_NOTICE_2":"Входът за гости не се препоръчва - няма да имате синхронизирани библиотеки и известия за табло, които са жизненоважни функции на Stremio. Сигурни ли сте, че искате да продължите?","CLICK_HERE":"Кликнете тук","WRONG_PASSWORD":"Грешна парола. В случай, че сте я забравили, ","SET_A_PASS":"Сложете ваша парола","RESET_PASSWORD":"Възстановяване на парола","PASSWORD_RESET":"Възстановяване на парола","FORGOT_PASSWORD":"Забравена парола?","EMAIL_USED_WITH_FB":"Този имейл е използван с Фейсбук логин.","INVALID_EMAIL":"Моля, въведете валиден email адрес","INVALID_PASSWORD":"Моля, въведете валидна парола","CONN_ERR":"Грешка при свързването - моля, опитайте отново по-късно.\\n\\nАко проблема продължава, изключете защитните стени/антивирусният софтуер (особено Bitdefender).","IMPORT_FROM_GUEST":"Импортиране на вашата Библиотека от входа за гости","RECEIVE_UPDATES_EMAIL":"Получавайте актуализации на вашият имейл от Stremio","LOGIN_FAILED":"Вписването се провали.","SIGNUP_FAILED":"Регистрацията се провали.","SEARCH_FAILED":"Търсенето се провали","EMAIL_USED":"Този имейл вече се използва.","WAITING_FB_LOGIN":"Вписване с Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Пускане във външен плеър","EXTERNAL_REMEMBER_PLAYER":"Искате ли да запомните вашият избор","EXTERNAL_ALWAYS_PLAY":"Да","EXTERNAL_ONLY_ONCE":"Не","BEST_FIT":"Най-добро побиране","FIT_SCREEN":"Побиране в екрана","FILL":"Запълване","16:9":"16:9","4:3":"4:3","Original":"Оригинал","INTRO_TASTE":"Кажете ни какво харесвате","INTRO_TASTE_LONG":"Кажете ни какво би Ви харесало да гледате","INTRO_TASTE_PICK":"Изберете {{interestsRemaining}} интереси","INTRO_TASTE_PICK_MORE":"Изберете {{interestsRemaining}} повече интереси","INTRO_TASTE_HELP_US":"Помогнете ни да научим повече за Вас.","INTRO_TASTE_CHOOSE_THESE":"Изберете някои от тези:","INTRO_TASTE_CHOOSE_MIN":"Изберете най-малко 3 категории","INTRO_TASTE_CHOOSE_MIN_ERR":"Трябва да изберете най-малко 3 категории!","INTRO_TASTE_LIFESTYLE":"Лайфстайл","INTRO_TASTE_SPORTS":"Спорт","INTRO_TASTE_FOOD_HEALTH":"Храна & Здраве","INTRO_TASTE_BEAUTY_FASHION":"Красота & Мода","INTRO_TASTE_NEWS":"Новини","INTRO_TASTE_GAMING":"Гейминг","INTRO_TASTE_SCIENCE_EDU":"Наука & Образование","INTRO_TASTE_MUSIC":"Музика","INTRO_TASTE_TRAVEL":"Пътуване","INTRO_TASTE_LATE_NIGHT":"Късно шоу","INTRO_TASTE_REALITY":"Реалити","INTRO_TASTE_COMEDY":"Комедия","INTRO_TASTE_DIY":"Направи сам","INTRO_TASTE_TECH":"Техника","INTRO_TASTE_CINEMA":"Кино","NO_ADDONS":"Няма инсталирани добавки!","NO_ADDONS_FOR_TYPE":"Няма инсталирани добавки за този тип!","ADDON_NOT_SUPPORTED":"Избраната добавка не се поддържа на тази платформа.","ADDON_DISCLAIMER":"Използването на добавката от трети лица е ваша отговорност.","ADDON_ACTIVATE":"Активиране на тази добавка?","ADDON_REPO_ADD":"URL на хранилище за добавка","ADDON_ADD":"Добави добавка","INSTALL_ADDON":"Инсталирай добавка","ADD_ADDON":"Добавяне на добавка","ADD_ADDON_DESCRIPTION":"Вие можете да добавите добавка чрез външна връзка, която ще се появи под Инсталираните добавки.","PASTE_ADDON_URL":"Поставяне на URL на добавката","ADDONS_FILTERS":"Филтри за добавки","WHATS_NEW":"Какво ново?","BUTTON_CONTINUE":"Продължи","BUTTON_ACTIVATE":"Активирай","BUTTON_ACTIVATED":"Активирано","BUTTON_CANCEL":"Отказ","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Изпращане","BUTTON_SEND":"Изпращане","BUTTON_DISMISS_ALL":"Отхвърляне на всички","BUTTON_VIEW_ALL":"Разглеждане на всички","BUTTON_SEE_ALL":"Вижте всички","BUTTON_COLOR_TRANSPARENT":"Прозрачно","BUTTON_PREV":"Назад","BUTTON_NEXT":"Напред","BUTTON_CLOSE":"Затвори","OPEN_IN_BROWSER":"Отваряне в браузър","LIB_EMPTY":"Библиотеката ви е празна. Открийте колко е полезна :) ","HOW_START":"Започнете така:","LIB_EMPTY_CAL":"Календарът показва епизоди от сериалите във вашата Библиотека.","HOW_START_CAL":"Ето как добавяте сериали:","LIB_EMPTY_BOARD":"Тук ще видите каталог от популярно съдържание, както и известия и препоръки, свързани с Библиотеката ви.","HOW_START_BOARD_WAIT":"Моля, добавете няколко канала/сериала и ни дайте няколко минути да съберем известия :)","HOW_START_BOARD":"Ето как добавяте филми и сериали в библиотеката:","IMPORT_FB":"Добавяне от Facebook","IMPORT_TRAKT":"Добавяне на вашата медийна библиотека от Trakt","IMPORT_DISCOVER":"Намерете интересни неща в Откриване","IMPORT_DISK":"Сканирайте за филми и сериали от вашия локален диск","PLEASE_CREATE_ACC":"Моля, създайте акаунт, за да използвате Библиотека и Табло.","IMPORT_DISCOVER_SIGNUP":"Регистрирайте се и намерете интересни неща в Откриване","IMPORT_DISK_SIGNUP":"Регистрирайте се и импортирате вашите филми или сериали от вашият локален диск","LIB_EMPTY_CLOUD":"Облачна библиотека","LIB_EMPTY_CLOUD_DESC":"Личната облачна библиотека, синхронизирана на всички устройства","LIB_EMPTY_EARLY":"Ранна птица","LIB_EMPTY_EARLY_DESC":"Получаване на известия за нови епизоди","LIB_EMPTY_PERSONAL":"Лична","LIB_EMPTY_PERSONAL_DESC":"Получавайте персонализирани препоръки","LIB_EMPTY_CALENDAR_DESC":"Планирайте личния си календар за гледане","LIB_EMPTY_ALL":"Регистрирайте се, за да получите всичко това:","LIB_EMPTY_BEST":"Регистрирайте се, за да получите най-доброто от Stremio","LIB_EMPTY_OTHER":"Регистрирайте се, за да включите Календар и други готини функции","CALENDAR_ADDED":"Календарът на Stremio беше добавен към настолния ви календар по подразбиране.","CALENDAR_ADDED_MSG":"Ако това не проработи, моля добавете този URL в вашият календар ръчно","TRAKT_EXPIRED":"Trakt удостоверяването е изтекло, моля, отидете в настройки и се удостоверете отново","TRAKT_REQUIRES_LOGIN":"Trakt грешка","TRAKT_REQUIRES_LOGIN_MSG":"Трябва да се впишете","TRAKT_IMPORT_WATCHED":"Внасяне","THEME":"Тема","THEME_DEFAULT":"Стандартна","THEME_ADAPTIVE":"Адаптивна","CHOOSE_COLOR":"Избери цвят:","SETTINGS_APP_VERSION":"Версия на приложението","SETTINGS_BUILD_VERSION":"Версия на build","SETTINGS_SERVER_VERSION":"Версия на сървър","SETTINGS_SHELL_VERSION":"Shell версия","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Настройки","SETTINGS_NAV_GENERAL":"Общи","SETTINGS_NAV_PLAYER":"Плеър","SETTINGS_NAV_STREAMING":"Поточно предаване","SETTINGS_NAV_SHORTCUTS":"Преки пътища","SETTINGS_SHORTCUT_RELOAD_APP":"Презареждане на приложението","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Отваряне на Настройки","SETTINGS_SHORTCUT_SWITCH_TABS":"Сменяне на разделите","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Преминаване през разделите напред","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Преминаване през разделите назад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Навигация между менютата","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Търсене","SETTINGS_SHORTCUT_EXIT_BACK":"Изход / Назад","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Меню за скорост на плейбека","SETTINGS_SHORTCUT_MENU_VIDEOS":"Меню Видеа","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Меню Субтитри","SETTINGS_SHORTCUT_MENU_AUDIO":"Меню Аудио","SETTINGS_SHORTCUT_MENU_INFO":"Меню Информация","SETTINGS_SHORTCUT_FULLSCREEN":"Цял екран","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Показване на контролите","SETTINGS_SHORTCUT_PLAY_PAUSE":"Пусни / Пауза","SETTINGS_SHORTCUT_VOLUME_UP":"Увеличаване на звука","SETTINGS_SHORTCUT_VOLUME_DOWN":"Намаляне на звука","SETTINGS_SHORTCUT_SEEK_NEXT":"Превъртане на следващ","SETTINGS_SHORTCUT_SEEK_PREV":"Превъртане на предишен","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Превъртане назад","SETTINGS_SHORTCUT_SEEK_FORWARD":"Превъртане напред","SETTINGS_SHORTCUT_PLAY_NEXT":"Пускане на следващ","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Увеличаване на размера на субтитрите","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Намаляване на размера на субтитрите","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Увеличаване на забавянето на субтитрите","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Намаляване на забавянето на субтитрите","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Странична лента","SETTINGS_SHORTCUT_OR":"или","SETTINGS_SHORTCUT_TO":"до","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Интервал","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Удостоверяване","SETTINGS_FACEBOOK_IMPORT":"Импортиране","SETTINGS_CALENDAR_SUBSCRIBE":"Абониране","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Приложението календар е отворено. Моля абонирайте се в календара ръчно.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Файлът за календар е изтеглен. Моля импортирайте го във вашето приложение календар.","SETTINGS_INTERFACE_LANGUAGE":"Език на интерфейса","SETTINGS_LAUNCH_STARTUP":"Зареждане при стартиране на компютъра","SETTINGS_VLC_DEFAULT":"Пускане във VLC","SETTINGS_UI_LANGUAGE":"Език на потребителският интерфейс","SETTINGS_UI_ZOOM":"Увеличаване на интерфейса","SETTINGS_FULLSCREEN_EXIT":"Бутона Esc изключва цял екран","SETTINGS_GAMEPAD":"Включване на подръжка за геймпад","SETTINGS_CLOSE_WINDOW":"Затваряне на приложението, когато прозореца е затворен","SETTINGS_SUBTITLES_LANGUAGE":"Език на субтитрите по подразбиране","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Размер на субтитрите по подразбиране","SETTINGS_SUBTITLES_BACKGROUND":"Фон на субтитрите","SETTINGS_SUBTITLES_COLOR":"Цвят на субтитрите","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Цвят на очертанията на субтитрите","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Цвят на фона на субтитрите","SETTINGS_SEEK_KEY":"Време за превъртане, когато превъртате със стрелките","SETTINGS_SEEK_KEY_SHIFT":"Време за превъртане, когато превъртате със стрелките и бутона Shift е задържан","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Времетраене на превъртането напред или назад","SETTINGS_BINGE":"Автом. пускане на следващият епизод","SETTINGS_NEXT_VIDEO":"Показване на известието, за да започнете следващия епизод","SETTINGS_NEXT_VIDEO_TRIGGER":"Показване на известието за следващ епизод за:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Продължителност на известието за следващо видео","SETTINGS_PLAY_IN_BACKGROUND":"Пусни на заден фон","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Пусни във външен плейър","SETTINGS_RESIZE":"Автоматично преоразмеряване на прозореца преди пускане","SETTINGS_OVERRIDE_SERVER":"Заобикаляне на URL на сървъра за поточно предаване (разширено)","SETTINGS_SERVER_ADD_URL":"Добави URL","SETTINGS_SERVER_URL":"URL на сървър за поточно предаване: ","SETTINGS_SERVER_AVAILABLE":"Сървъра за поточно предаване е достъпен.","SETTINGS_SERVER_UNAVAILABLE":"Сървъра за поточно предаване не е достъпен.","SETTINGS_SERVER_STATUS_ONLINE":"Онлайн","SETTINGS_SERVER_STATUS_ERROR":"Грешка","SETTINGS_SERVER_CONFIGURE_TITLE":"Конфигурирайте url на сървъра за поточно предаване","SETTINGS_SERVER_CONFIGURE_INPUT":"Въведете url на сървъра за поточно предаване","SETTINGS_SERVER_CACHE_SIZE":"Размер на кеша","SETTINGS_SERVER_TORRENT_PROFILE":"Торент профил","SETTINGS_HTTPS_ENDPOINT":"HTTPS за поточно предаване на крайната точка: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Ползване винаги на последната Beta","SETTINGS_IMPORT_FB":"Импортиране от Facebook","SETTINGS_IMPORT_DISK":"Импортиране от локален диск","SETTINGS_IMPORT_TRAKT":"Импортиране от Trakt","SETTINGS_PAUSE_MINIMIZED":"Пауза на плейбекa при минимализиране","SETTINGS_HWDEC":"Хардуерно ускорено декодиране","SETTINGS_BACKGROUND":"Пускане на заден фон","SETTINGS_SUBSCRIBE_CALENDAR":"Абонирайте се за календара","SETTINGS_REQ_EXPORT":"Заявка за експорт на данните","SETTINGS_ACC_DELETE":"Заявка за изтриване на акаунта","SETTINGS_CHANGE_PASSWORD":"Промяна на парола","SETTINGS_TOS":"Условия за ползване","SETTINGS_SUPPORT":"Поддръжка","SETTING_LANGUAGE":"Език","SETTINGS_BLUR_UNWATCHED_IMAGE":"Замъгли негледаните епизоди","SETTINGS_QUIT_ON_CLOSE":"Изход при затваряне","SETTINGS_TRAKT":"Trakt Записване&Препоръки","SETTINGS_TRAKT_RE_AUTH":"Удостовери наново","SETTINGS_TRAKT_LOGOUT":"Изход от Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Изход от Trakt","SETTINGS_SCAN_FOR_REMOTE":"Сканирайте QR кода, за да отворите дистанционното управление","SETTINGS_DESKTOP_NOTIFICATIONS":"Известия на работния плот","SETTINGS_DATA_SAVER":"Икономия на данни","SETTINGS_LANGUAGE_INTERFACE":"интерфейс","SETTINGS_LANGUAGE_SUBS":"Субтитри по подразбиране","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Автоматично избиране на аудио","SETTINGS_DEFAULT_AUDIO_TRACK":"Аудио по подразбиране","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Съраунд звук","SETTINGS_ACCOUNT":"акаунт","SETTINGS_PLATFORM":"Платформа","SETTINGS_VERSION":"версия","SETTINGS_ABOUT":"Относно","SETTINGS_MPV_WINDOW":"Стартиране на плеъра в отделен прозорец (разширено)","SETTINGS_PLAY_IN_EXTERNAL":"Старт. на видеото винаги в външен плеър","SETTINGS_STORAGE_BUTTON":"Изчистване на локалните данни","SETTINGS_STORAGE_MODAL_TITLE":"Сигурни ли сте?","SETTINGS_STORAGE_MODAL_MESSAGE":"Това ще изтрие локалните данни и ще ви отпише.","SETTINGS_HWDEC_PICKER":"Изберете настройката за декодиране, ускорена с хардуер","SETTINGS_HW_AUTOMATIC":"Автоматично","SETTINGS_HW_DISABLED":"Изключено","SETTINGS_HW_ACCELERATED":"Ускорение на декодирането","SETTINGS_HW_FULL":"Пълно ускорение","SETTINGS_HW_LEGACY":"Наследяване","SETTINGS_DISABLED":"Деактивирано","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Известие за мрежова връзка","SETTINGS_ANALYTICS":"Позволи анализи","SETTINGS_REMOTE_URL":"Отдалечен URL","SETTINGS_COPY_REMOTE_URL":"Копитай отдалечения URL","SETTINGS_REMOTE_URL_COPIED":"Отдалечения URL беше копиран в клипборда","SETTINGS_SECTION_SUBTITLES":"Субтитри","SETTINGS_SECTION_AUDIO":"Аудио","SETTINGS_SECTION_CONTROLS":"Контроли","SETTINGS_SECTION_AUTO_PLAY":"Автоматичен плейбек","SETTINGS_SECTION_ADVANCED":"Разширени","SUBSPICKER_AUDIO":"Аудио","SUBSPICKER_SUBTITLES":"Добавки за субтитри","SUBSPICKER_BLACK_BACKGROUND":"Използване на черен цвят за заден фон","SUBSPICKER_VERTICAL_OFFSET":"Вертикално отместване","SUBSPICKER_SIZE":"Размер","SUBSPICKER_DELAY":"Забавяне","SUBSPICKER_EMBEDDED_SUBS":"Вградени субтитри","MOBILE_PRIVACY_POLICY":"Политика за поверителност","MOBILE_CRASH_REPORTING":"Доклади за грешки","MOBILE_ZOOM_TO_FILL":"Мащабиране до пълен екран","MOBILE_PASSTHROUGH":"Цифров аудио изход (пропускане)","MOBILE_RUN_LOW_BATTERY":"Изпълнение при изтощена батерия","MOBILE_RUN_FOREGROUND":"Изпълнение като услуга на преден план","MOBILE_PERFORMANCE":"ПРОИЗВОДИТЕЛНОСТ и СТАБИЛНОСТ","MOBILE_SERVER_ONLINE":"Онлайн","MOBILE_SERVER_OFFLINE":"Офлайн","MOBILE_QR_EXPIRES":"QR кода ще изтече след ","MOBILE_LOG_INTO":"Вписване във вашият Stremio акаунта ","MOBILE_SCAN_QR":"Сканирайте QR кода по-горе или отидете на ","MOBILE_LINK_ACCOUNT":"Свързване на акаунта","MOBILE_SPEEDPICKER_CANCEL":"Отказ","MOBILE_SPEEDPICKER_LABEL":"Изберете скорост на плейбека","MOBILE_EMPTY_LIBRARY":"Вашата библиотека е празна","MOBILE_NO_ADDON_ACTIVE":"Няма активна Stremio добавка за този тип.","MOBILE_ORGANIZER_WARNING":"Приложението Stremio Organizer осигурява ограничена функционалност. За списък на възпроизвеждаемите източници и за пълно Stremio изживяване, използвайте Stremio за работен плот.","MOBILE_ADDON_LOADING":"все още се зарежда","MOBILE_ADDONS_LOADING":"добавките все още се зареждат","MOBILE_ADDON":"Добавка","MOBILE_CONFIGURE_ADDON":"Конфигуриране на вашата добавка","MOBILE_CONFIGURE_ADDON_LABEL":"Конфигуриране на добавка","MOBILE_ORGANIZER_ADDONS_WARNING":"Приложението Stremio Organizer осигурява ограничен избор на добавки. За пълно Stremio изживяване, използвайте Stremio за работен плот.","MOBILE_DISCONNECT":"Прекъсване на връзката","MOBILE_LOOKING_FOR_DEVICES":"Търсене на устройства...","MOBILE_CAST_TO":"Предаване на","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Изтриване на акаунт","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Изтриването на акаунта не е незабавно поради законови задължения. След като поискате изтриване на акаунта си, ще трябва да използвате различен имейл адрес/профил във Facebook, за да създадете нов акаунт в Stremio в бъдеще.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Потвърдете изтриването на акаунта","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Вашият акаунт е създаден с помощта на Facebook. За да изтриете акаунта си, моля, използвайте нашия потребителски портал на адрес www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Моля, предоставете паролата си, за да потвърдите изтриването на акаунта.","MOBILE_DELETE_ACCOUNT_BUTTON":"Изтриване на акаунт","NAVIGATION_ON":"Включено","NAVIGATION_OFF":"Изключено","READ_AND_AGREE":"Прочетох и се съгласявам с","MARKETING_AGREE":"Съгласен съм да получавам маркетингови комуникации от Stremio","QUIT":"Спиране","CONNECTED":"Свързано","AUTHENTICATE":"Оторизация","AUTHENTICATING":"Оторизиране...","CACHING":"Кеширане","SETTINGS_CACHING_DRIVE":"Изберете диск за кеш","ENABLE_LOCAL_FILES_ADDON":"Активирайте добавката за локални файлове (изисква рестартиране)","LOCAL_ADDON_NOT_ENABLED":"Локалната добавка не е активирана. Клекнете тук за да отидете в настройките и да я активирате","ENABLE_REMOTE_HTTPS_CONN":"Включване на отдалечени HTTPS връзки","TORRENT_PROFILE":"Торент профил","DATA_CACHING":"Кеширане на данните","MAGNET_PARSING":"Анализиране на магнитна връзка","January":"Януари","February":"Февруари","March":"Март","April":"Април","May":"Май","June":"Юни","July":"Юли","August":"Август","September":"Септември","October":"Октомври","November":"Ноември","December":"Декември","Monday":"Понеделник","Tuesday":"Вторник","Wednesday":"Сряда","Thursday":"Четвъртък","Friday":"Петък","Saturday":"Събота","Sunday":"Неделя","Action":"Екшън","Comedy":"Комедия","War":"Военен","Family":"Семейни","Animation":"Анимация","Adventure":"Приключенски","Fantasy":"Фентъзи","Crime":"Криминални","Mystery":"Мистерия","Romance":"Романтични","Drama":"Драма","Horror":"Ужаси","Thriller":"Трилър","Sci-Fi":"Научна фантастика","Music":"Музикален","Biography":"Биографичен","Documentary":"Документален","Sport":"Спорт","Musical":"Мюзикъл","Western":"Уестърн","Film-Noir":"Филм ноар","News":"Новини","History":"Исторически","Game-Show":"Гейм-шоу","Reality-TV":"Риалити","Talk-Show":"Токшоу","Film & Entertainment":"Филм и забавление","Gaming":"Гейминг","From TV":"От телевизията","Lifestyle":"Лайфстайл","Science & Education":"Наука и Образование","Cooking & Health":"Готвене и Здраве","Beauty & Fashion":"Красота и Мода","Sports":"Спорт","News & Politics":"Новини и Политика","How-to & DIY":"Как да и Направи си сам","Tech":"Техника","Automotive":"Автомобил","Causes & Non-Profits":"Каузи и Нестопански цели","Movies":"Филми","Uk Live Tv":"ТВ на живо от Обединеното Кралство","Fashion":"Мода","Business News Radio":"Бизнес новини радио","Business Tv":"Бизнес телевизия","Cars & Auto":"Автомобили","Comedy Radio":"Комедийно радио","Lifestyle Radio":"Лайфстайл радио","News Tv":"Новинарска телевизия","Food And Wine":"Храна и Вино","Latino Tv":"Латино ТВ","Shopping Tv":"Шопинг ТВ","Religion":"Религия","Kids":"Деца","Body & Soul":"Душа и тяло","Education":"Образование","Indian Tv":"Индийска ТВ","Extreme Sports":"Екстремни спортове","Middle Eastern Tv":"ТВ от Близкият Изток","Celebrity Tv":"Телевизия за звезди","Science Tv":"Научна ТВ","Bikini babe":"Бикини бейби","Outdoors":"На открито","German Tv":"Немска ТВ","French Tv":"Френска ТВ","Italian Tv":"Италианска ТВ","Gamer Tv":"Гехмърска ТВ","Travel":"Пътуване","Asian Tv":"Азиатска ТВ","Entertainment":"Развлечение","News Radio":"Новинарско радио","Music Radio":"Музикално радио","Language Learning":"Изучаване на езици","Science Radio":"Научно радио","Tech Radio":"Радио за технологии","Science & Technology Vod":"Наука и Технологии VOD","new video":"ново видео","new episode":"нов епизод","new movie":"нов филм","recommended":"препоръчано","we recommend":"Ние препоръчваме","offer of the day":"оферта на деня","news":"новини","music video":"музикално видео","CTX_SHOW_HOTKEYS":"Показване на клавишни комбинации","CTX_DISMISS_NOTIF":"Премахни известия","CTX_DISMISS_ALL":"Премахни всички","CTX_SHARE":"Сподели","CTX_COPY_SHARE_LINK":"Копирай връзка за споделяне","CTX_COPY_MAGNET_LINK":"Копиране на магнитна връзка","CTX_COPY_STREAM_LINK":"Копиране на връзка за поточно предаване","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Изтегляне на това видео","CTX_DOWNLOAD_SUBS":"Изтегляне на субтитри","CTX_VIEW_ON_YOUTUBE":"Преглед в YouTube","CTX_SHOW":"Покажи","CTX_PLAY":"Гледай","CTX_PLAY_IN":"Гледай в","CTX_PLAY_ON":"Гледай на","CTX_WATCH_ON":"Гледай на","CTX_WATCH":"Гледай","CTX_WATCHED":"Гледано","CTX_WATCH_BEGINNING":"Гледай от началото","CTX_WATCH_MOBILE":"Гледай на мобилно устройство","CTX_REWIND":"Превърти до началото","CTX_MARK_WATCHED":"Маркирай като гледано","CTX_MARK_NON_WATCHED":"Маркирай като негледано","CTX_MARK_UNWATCHED":"Маркиране като негледано","CTX_MARK_REST":"Маркиране на останалите като гледани","CTX_UNMARK_REST":"Маркиране на останалите като негледани","CTX_RECEIVE_NEW_NOTIF":"Получавай нови известия","CTX_ENABLE_NEW_NOTIF":"Активирай известията","CTX_DISABLE_NEW_NOTIF":"Деактивирай известията","CTX_REMOVE_CACHE":"Премахни от кеша","CTX_REMOVE_CACHE_EP":"Премахни епизод от кеша","CTX_OPEN_CONTAINING":"Отвори папка","CTX_REMOVE":"Премахни от библиотеката","CTX_AVAILABLE_OFFLINE":"Достъпно офлайн","CTX_PAUSED":"Пауза","CTX_ALWAYS_ON_TOP":"Винаги отгоре","CTX_FULLSCREEN":"Цял екран","CTX_WRONG_SUBS":"Грешни субтитри?","CTX_REPORT_ISSUES":"Докладвай проблем","CTX_COPY":"Копирай","CTX_COPY_TO_CLIPBOARD":"Копирай в клипборда","CTX_PASTE":"Постави","CTX_CLEAR":"Изчисти","CTX_CLEAR_RECENT_SEARCHES":"Изчисти последни търсения","HELLO_THERE":"Здравейте","HOPE_YOU_ENJOY":"Надяваме се, че харесвате Stremio и вече е едно от любимите Ви приложения!","WHO_ARE_WE":"Кои сме ние? Ние сме двама и работихме усилено всеки ден в последните 3 години, за да подобряваме този продукт.","SUPPORT_US":"Ако продуктът ни ви е полезен и ви прави щастливи, подкрепете ни!","SPREAD_THE_WORD":"Споделете с приятелите си, разгласете Stremio","MORE_PEOPLE":"Колкото повече хора ползват Stremio, толкова по-добро ще става!","SEND_A_LINK":"Или изпратете връзка към уебсайта","TIP_LOCALFILES":"Съвет: можете да плъзнете и пуснете локални видео файлове в Stremio","ADDON_MY":"Моите добавки","ADDON_COMMUNITY":"Неофициални добавки","ADDON_OFFICIAL":"Официални добавки","ADDON_REPOS":"Хранилища за добавки","ADDON_SEARCH":"Търсене на добавки","ADDON_INSTALL":"Инсталиране","ADDON_CONFIGURE":"Конфигуриране","ADDON_UNINSTALL":"Деинсталиране","ADDON_UPGRADE":"Актуализиране","ADDON_INSTALLED":"Инсталирано","ADDON_INSTALLED_MSG":"Добавката е инсталирана!","ADDON_UPGRADED_MSG":"Добавката е актуализирана!","ADDON_UNKNOWN":"Неизвестно","ADDON_ERR":"Грешка при инсталиране на добавката!","ADDON_DISCONNECTED":"Прекъснат","ADDON_APP_MISSING":"Приложението за този източник не е инсталирано. Искате ли да го инсталирате сега?","ADDON_APP_INSTALL":"Инсталиране сега","ADDON_PAGE":"Страница на добавката","ADDON_TOP_CONTENT":"Най-доброто от тази добавка","ADDON_PROVIDES":"предоставя","ADDON_WATCH":"Гледай #{types} сега!","ADDON_WATCH_FREE":"Гледай #{types} БЕЗПЛАТНО сега!","ADDON_ADDON":"Добавка","ADDON_SUPPORTED_TYPES":"Подържани типове","ADDON_SUPPORTED_CATALOGS":"Подържани каталози","ADDON_PROVIDES_DISCOVER":"Повече #{types} в Откриване","ADDON_PROVIDES_STREAMS":"Гледай #{types}","ADDON_PROVIDES_STREAMS_FREE":"Гледай #{types} БЕЗПЛАТНО","ADDON_PROVIDES_SUBTITLES":"Субтитри за #{types}","ADDON_CANTDETECT":"Не успяхме да засечем работещ Stremio, затова не можем да засечем кои добавки са инсталирани.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Не е намерена информация относно това ","ERR_NO_META_SELECTED":"Няма селектирана мета!","ERR_NO_META_FOUND":"Не беше намерена метадата!","ERR_NO_ADDONS_FOR_META":"Няма заявени добавки за тази мета!","ERR_NO_ADDONS_FOR_STREAMS":"Няма заявени добавки за стриймовете!","ERR_NO_VIDEOS_FOR_META":"Няма намерени видеа за тази мета!","ERR_GETTING_META":"Грешка при получаването на информация относно това.","ERR_CANT_PARSE_MAGNET":"Невъзможно е да се анализира този magnet","ERR_NO_MAGNET_INFOHASH":"Няма валиден info hash за този magnet","ERR_NO_FILE_PATH":"Не може да се изпрати заявка без път към файл","ERR_NO_TORRENT":"Няма отговор от торента","ERR_NO_SUPPORTERD_FILES":"Не са открити поддържани файлове","ERR_OPENING_FILES":"Не могат да се отворят външните файлове","ERR_INVALID_LINK":"Невалидна връзка","ERR_REGISTERED_ONLY":"Тази опция е налична само за регистрирани потребители.","ERR_CLIPBOARD":"Не може да се възпроизведе от клипборда","ERR_CLIPBOARD_READ":"Не може да се прочете клипборда на тази платформа","ERR_CLIPBOARD_GENERIC":"В клипборда не е намерен URL за възпроизвеждане. Моля, копирайте URL (напр. магнитна връзка) към видеото.","BOARD_CONTINUE_WATCHING":"Продължи да гледаш","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Продължи да гледаш не е заредено!","BOARD_CONTINUE_WATCHING_EMPTY":"Празно Продължи да гледаш","BOARD_EXPLANATION_RECOMMENDATIONS":"Филми, подбрани специално за вас.
    Този филм е примерна препоръка.","BOARD_EXPLANATION_EPISODES":"Нови епизоди от любимите Ви сериали идват тук.
    Добавете сериали, които следвате към вашата библиотека.","BOARD_EXPLANATION_VIDEOS":"Нови епизоди от любимите Ви канали идват тук.
    Добавете YouTube канали, които следвате към вашата библиотека.","WEBSITE_ENJOYED_BY":"Харесано от повече от 30 милиона потребители по целия свят","WEBSITE_STREAMING_ENHANCED":"Поточното предаване е подобрено","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio предлага сигурно, модерно и безпроблемно забавление. Със своя лесен за използване интерфейс и разнообразна библиотека със съдържание, включително 4K HDR поддръжка, потребителите могат да се насладят на любимите си филми и телевизионни предавания на всички свои устройства. И със своя ангажимент към сигурността, Stremio е най-добрият избор за безгрижно, висококачествено изживяване на поточното предаване.","WEBSITE_AVAILABLE_ON":"Достъпно на","WEBSITE_WATCH_AND_ENJOY":"Гледай и се наслаждавай.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio го прави лесно като детска игра","WEBSITE_ALL_FEATURES":"Всички функции","WEBSITE_EASY_TO_USE":"Лесен за използване","WEBSITE_EASY_TO_USE_DETAILS":"Stremio е проектиран да бъде удобен за потребителя и лесен за използване. Със своя чист и интуитивен интерфейс можете лесно да се ориентирате и да намерите съдържанието, което искате да гледате.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Безпроблемно между устройства","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Предлага се за широка гама от платформи (вкл. Windows, Mac, Linux, Android и други), Stremio ще следи напредъка Ви във всичките Ви устройства. Просто влезте и продължете да гледате, без да се налага да конфигурирате приложението отново на всяко ново устройство.","WEBSITE_ALL_DOWNLOADS":"Всички изтегляния","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Подръжка на видео във висока резолюция","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Интегриран видео плейър, поддържащ повечето видео формати, включително 4K HDR съдържание, Ви позволява да се наслаждавате на най-високото качество на разположение.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Разнообразна библиотека със съдържание","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio се интегрира с голям брой популярни видео източници, като Netflix, Amazon Prime Video, Hulu, YouTube и много други.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Създайтe безплатен акаунт","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Персонализирано изживяване при гледане","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio ви позволява да персонализирате външния вид и усещането на интерфейса, като промените темата, добавяте или премахвате добавки и други.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Многоезична поддръжка на субтитри","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Вече можете да се насладите на цялото любимо съдържание на предпочитания от вас език, тъй като Stremio поддържа субтитри на всички езици.","WEBSITE_ALL_STREMIO_FEATURES":"Всички Stremio функции","WEBSITE_TRY_STREMIO_TITLE_P1":"Опитайте Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"На вашият телевизор сега","WEBSITE_YOU_CAN_NOW_WATCH":"Вече можете да гледате всички любими телевизионни предавания на вашите Android TV устройства. Приложението за телевизия Stremio ви позволява да се наслаждавате на филмова вечер с лекота.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Вече можете да гледате всички любими телевизионни предавания на вашия Smart TV или Android TV. Приложенията на Stremio TV ви позволяват да се наслаждавате на филмова нощ с лекота.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio за Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Вероятно най-доброто и най-полезно приложение, което имате във вашето устройство. Това е едно от приложенията, които използвам ежедневно, особено на моя Android TV вече много години. Добре направено със силна общност, осигуряващо полезни функционалности. Много добре. Продължавай с добрата работа.","WEBSITE_REVIEWS":"отзиви","WEBSITE_GET_STREMIO_FOR_FREE":"Вземете Stremio Безплатно","WEBSITE_GET_STREMIO_NOW":"Вземете Stremio Сега","WEBSITE_STREMIO_FEATURES":"Stremio функции","WEBSITE_STREMIO_FEATURES_DETAILS":"Предавайте поточно като професионалист с усъвършенстваните функции на Stremio и се наслаждавайте на безпроблемен достъп до всичките си любими медии","WEBSITE_DISCOVER_MORE":"Открийте още.","WEBSITE_DISCOVER_MORE_DETAILS":"Никога не изчерпвайте нещата за гледане","WEBSITE_COMMUNITY_DRIVEN":"Задвижван от общността","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio има голяма и активна общност от потребители, които допринасят за развитието на софтуера чрез създаване и споделяне на добавки.","WEBSITE_GET_INVOLVED":"Включете се","WEBSITE_NEW_THEATER_EXPERIENCE":"Ново кино изживяване","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Новото специализирано телевизионно приложение Stremio ви позволява да се насладите на филмова вечер на вашите Android TV устройства.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Новите специализирани телевизионни приложения на Stremio ви позволяват да се наслаждавате на филмова вечер на вашите устройства за смарт телевизори или Android TV.","WEBSITE_FREE_AND_SECURE":"Безплатно и Сигурно","WEBSITE_STREAMING":"Поточно предаване","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio предлага несравнима сигурност и поверителност за потребителите. Със своята уникална характеристика на пускането на добавки дистанционно, Stremio осигурява по-безопасен начин за предаване на любимото ви съдържание в сравнение с други платформи. Вашата сигурност и поверителност са основни приоритети и платформата гарантира, че всички ваши данни са защитени.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Кажете сбогом на притесненията относно сигурността и личния живот и поздравете света на безкрайните забавления със Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Информацията е предоставена от","WEBSITE_CONTRIBUTE_DESC":"Допринесете за проекта и ни помогнете да направим Stremio още по-добър","WEBSITE_COMMUNITY_DESC":"Ние вярваме, че най-добрият начин да създадете наистина невероятно изживяване на поточното предаване е като включите нашата общност в процеса. Независимо дали сте програмист, художник или просто фен - можете да помогнете на Stremio да расте.","WEBSITE_COMMUNITY_DESC_2":"Затова се присъединете към нас днес и станете част от общността на Stremio и продължете да оформяте бъдещето на поточното предаване.","WEBSITE_WAYS_TO_GET_INVOLVED":"Начини да се включите","WEBSITE_IN_THE_STREMIO_COMMUNITY":"в общността на Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Споделете вашите мисли","WEBSITE_REPORT_BUGS":"Докладвайте грешки","WEBSITE_SUGGEST_FEATURES":"препоръчайте функции","WEBSITE_AND_PROVIDE_FEEDBACK":"и предоставяйте отзиви в нашите канали за социални медии.","WEBSITE_BETA_TESTING_PROGRAM":"Програма за бета тестване","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Участвайте в нашата програма за бета тестване (ние изпращаме покани редовно) в общността на Stremio.","WEBSITE_JOIN_NOW":"Включи се сега!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Официални общности на Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Неофициални общности на Stremio","WEBSITE_BECOME":"Станете","WEBSITE_A_VOLUNTEER_TRANSLATOR":"доброволен преводач","WEBSITE_ARE_YOU_A_DEVELOPER":"Програмист ли сте?","WEBSITE_CONTRIBUTE_CODE":"Можете да допринесете с код за нашите проекти с отворен код. Имаме няколко проекта в GitHub, които търсят сътрудници. Ако се интересувате да помогнете, вижте ги:","WEBSITE_STREMIO_ON_GITHUB":"Stremio в GitHub","WEBSITE_CREATE_ADDON_DESC":"Създайте добавка за подобряване на функционалността на Stremio (имаме лесен за използване API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Ние също така предоставяме възможност да се присъедините към нас като стажант програмист, за да можем да растем заедно.","WEBSITE_APPLY_AS_AN_INTERN":"Кандидатствай като стажант","WEBSITE_CALLING_ALL_ARTISTS":"Обръщаме се към всички артисти!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Покажете своята креативност и любов към Stremio, като качите вашето фен изкуство в нашата онлайн галерия. Независимо дали става въпрос за рисунка, картина или дигитален дизайн, ние искаме да видим вашия уникален поглед върху марката Stremio. Присъединете се към нашата общност от ентусиасти на изкуството и споделете работата си с други фенове на Stremio по целия свят.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Галерия","WEBSITE_INTERN_DESIGNER":"Станете част от нашия екип и поставете творчеството си на нови висоти с нашите вълнуващи възможности за стаж.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Проект за филми за публично достояние","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Ние в Stremio се ангажираме да запазим историята на филма и телевизията, като идентифицираме обществено достояние и осиротели видеоклипове. Като работим заедно с нашата общност, можем да гарантираме, че тези класически произведения на изкуството са достъпни за всеки и защитени, за да могат да се наслаждават на бъдещите поколения.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Чувствайте се свободни да се свържете с нас, ако искате да се включите в този проект.","WEBSITE_JOIN_THE_PROJECT":"Включете се в проекта","WEBSITE_BE_PART_OF_OUR_MISSION":"Бъдете част от нашата мисия","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Интересувате ли се да се присъедините към екипа на Stremio? Ние предлагаме напълно отдалечена работа за страстни професионалисти. Вижте нашите отворени позиции.","WEBSITE_OPEN_POSITIONS":"ОТВОРЕНИ ПОЗИЦИИ","WEBSITE_DESCRIPTION":"ОПИСАНИЕ","WEBSITE_LEARN_MORE":"Научете повече","WEBSITE_COMPANY":"Компанията","WEBSITE_CONTACTS":"Контакти","WEBSITE_NEED_HELP":"Нуждате се от помощ?","WEBSITE_STREMIO_WEB_ON_IOS":"Ръководство за Stremio Web за iOS","WEBSITE_LINK_ART_V2":"Fanart Галерия","WEBSITE_PARTNERS":"Партньори","WEBSITE_SLOGAN_WATCH":"Гледайте незабавно","WEBSITE_SLOGAN_ALL":"Цялото видео съдържание, на което може да се насладите на едно място","WEBSITE_SLOGAN_NEW":"Всичко, което може да гледате","WEBSITE_SLOGAN_NEW_NEW":"Свободата да стриймваш","WEBSITE_WATCH_FROM":"Гледане от","WEBSITE_DOWNLOAD":"Изтегляне сега","WEBSITE_DOWNLOAD_FOR":"Изтегляне сега за","WEBSITE_IS_DESKTOP":"Stremio е приложение за компютър, отворете тази страница на вашия компютър и го изтеглете","WEBSITE_DESKTOP_DEMO_VID":"Desktop демо","WEBSITE_PAGE_HOME":"Начало","WEBSITE_PAGE_FEATURES":"Функции","WEBSITE_PAGE_ADDONS":"Добавки","WEBSITE_PAGE_TECH":"Технология","WEBSITE_PAGE_CREATE_ADDON":"Създаване на добавка","WEBSITE_PAGE_CONTACTS":"Контакти","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Моля, въведете желаната нова парола по-долу.","WEBSITE_RESET_PASSWORD_WARNING":"Сигурни ли сте, че искате да нулирате паролата за ${1}?","WEBSITE_TYPE_movie":"Филми","WEBSITE_TYPE_series_PL":"Сериали","WEBSITE_TYPE_tv":"ТВ на живо","WEBSITE_TYPE_channel":"Канали","WEBSITE_STREMIO_WHAT_IS":"Stremio е приложение, което ви помага да организирате и незабавно да гледате любимите си видеоклипове, филми, ТВ сериали и ТВ канали..","WEBSITE_FEATURES_WATCH":"Гледайте без чакане в HD","WEBSITE_FEATURES_WATCH_DETAIL":"Кликнете и пуснете любимите си Филми, ТВ сериали, видеоклипове и ТВ канали.","WEBSITE_FEATURES_SUBS":"Автоматични субтитри","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio автоматично избира синхронизирани субтитри за вашия език.","WEBSITE_FEATURES_SUBS_LABEL":"Вие сте на ход, шефе.","WEBSITE_FEATURES_CAST":"Пусни на ТВ & мобилни устройства","WEBSITE_FEATURES_CAST_DETAIL":"Прехвърляй към AppleTV, Chromecast, Smart TV (DLNA/UPnP) и мобилни устройства.","WEBSITE_LIB":"Насладете се на личната си библиотека, синхронизирана на всички ваши устройства","WEBSITE_LIB_COLLECT":"Съберете от Stremio","WEBSITE_LIB_IMPORT":"Импортиране от Facebook","WEBSITE_LIB_LOCAL":"Добавяне от вашето локално устройство","WEBSITE_BOARD":"The Board - Вашето единствено място за известия и препоръки","WEBSITE_BOARD_RECOMMEND":"Препоръчани ТВ сериали","WEBSITE_BOARD_TRENDING":"Популярен филм","WEBSITE_BOARD_NEW":"Ново видео","WEBSITE_BOARD_EPISODE":"Нов епизод","WEBSITE_BOARD_1":"Търсите нещо интересно за гледане? Получете препоръки въз основа на вашия вкус!","WEBSITE_BOARD_2":"Получете уведомление, когато е излязъл нов епизод на любимото ви телевизионно предаване или YouTube канал!","WEBSITE_BOARD_YOUTUBE":"Нови видеоклипове на YouTube канали","WEBSITE_BOARD_EPISODES":"Нови епизоди от сериали, които следвате","WEBSITE_ADDONS":"Добавки за съдържание","WEBSITE_TECH_DETAIL":"Ние обичаме технологията, обичаме лудата наука!\\nStremio използва следните технологии с отворен код:","WEBSITE_TECH_WCJS":"WebChimera.js позволява на Stremio да пуска всеки видео формат с добра производителност.","WEBSITE_TECH_WCJS_EXTRA":"Ние сме основни сътрудници на проекта","WEBSITE_TECH_ELECTRON":"Electron осигурява иновативна платформа за изграждане на Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Ние сме сътрудници на проекта","WEBSITE_TECH_LINVODB":"Технология на база данни, която гарантира, че вашите данни са организирани и достъпни навсякъде, където влезете.","WEBSITE_TECH_LINVODB_EXTRA":"Вътрешна технология","WEBSITE_CREATE_ADDON":"Създайте ваша добавка","WEBSITE_CREATE_ADDON_DETAIL":"Имате ли услуга, предоставяща видео съдържание? Ще ви помогнем да се възползвате от функциите на Stremio, като създадем ваша добавка.","WEBSITE_CREATE_ADDON_BENEFITS":"Ползи от създаването на добавка за Stremio","WEBSITE_P2P_BEAUTY":"Красотата на поточното предаване Peer-to-Peer","WEBSITE_P2P_1":"Надеждно и достъпно пълно HD / 4K видео при поискване или поточно предаване на живо","WEBSITE_P2P_2":"Платформа за разпространение, осигуряваща страхотно потребителско изживяване","WEBSITE_P2P_3":"Ще създадем добавка, отговаряща на вашите точни нужди","WEBSITE_P2P_CONTACT":"Заинтересовани ли сте? Добре дошли сте на където да ни пишете.","WEBSITE_P2P_CONTACT_EXTRA":"Ще се радваме да ви помогнем да интегрирате съдържанието си със Stremio!","WEBSITE_P2P":"От време на време идва технология, която променя правилата на играта. Инвестирахме тонове време и усилия в изграждането на нашия двигател за видео поточно предаване (P2P), който осигурява страхотна производителност и гъвкавост за адаптиране с всеки случай на използване..\\nСвържете се с нас за P2P видео с активиран DRM или поточно предаване на живо.","WEBSITE_THOUGHTS":"Мисли, които споделяме:","WEBSITE_SPREAD":"Разпространете информацията за Stremio:","WEBSITE_CONTACT":"Ако обмисляте да се свържете с нас, не се двоумете","WEBSITE_OPENSOURCE":"За нашите проекти с отворен код, отидете на нашите","WEBSITE_BITCOIN":"Дарете Биткойн:","WEBSITE_FAQ":"Често Задавани Въпроси","WEBSITE_FAQ_SHORT":"ЧЗВ","WEBSITE_QUESTIONS":"Въпроси","WEBSITE_TOS":"Условия за ползване","WEBSITE_LEGAL":"Правни","WEBSITE_PAGE_ABOUT":"Относно","WEBSITE_PAGE_BECOME_PARTNER":"Станете наш партньор","WEBSITE_ALL_YOU_CAN_WATCH":"Свободата да гледаш\\nВсичко което искаш.","WEBSITE_FREEDOM_TO_STREAM":"Свободата да стриймваш","WEBSITE_WHAT_IS_STREMIO":"Какво е stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio е хъб за агрегиране на видео съдържание. Открийте, организирайте и гледайте видео от всякакви източници на всяко устройство, което притежавате.","WEBSITE_WHAT_IS_STREMIO_P2":"Филми, телевизионни предавания, сериали, телевизия на живо или уеб канали като YouTube и Twitch.tv - Можете да намерите всичко това на Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio е модерен медиен център, който е решение за вашето видео забавление. Откривайте, гледайте и организирайте видео съдържание от лесни за инсталиране добавки.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Филми, телевизионни предавания, телевизия на живо или уеб канали - намерете всичко това на Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Насладете се на всички ваши медийни устройства","WEBSITE_DEVICES_COLLECT":"Съберете от Stremio","WEBSITE_DEVICES_IMPORT_FB":"Импортиране от facebook","WEBSITE_DEVICES_LOCAL":"Добавяне от локално устройство","WEBSITE_JOIN_THE_PARTY_NOW":"Включете се в партито сега","WEBSITE_DEVICES_ALL":"Лесен за използване на всички ваши устройства;","WEBSITE_EXTENDABLE_CATALOG":"Безкрайно разширяващ се видео каталог;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Страхотни функции за организиране на вашите медии;","WEBSITE_AS_SEEN_ON":"Познато от","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"За нас","WEBSITE_LINK_TECHNOLOGY":"Технология","WEBSITE_LINK_APPS":"Приложения","WEBSITE_LINK_DOWNLOADS":"Изтегляне","WEBSITE_MORE":"Още","WEBSITE_LINK_ADDONS":"Добавки","WEBSITE_LINK_ADDON_SDK":"SDK за добавки","WEBSITE_LINK_CONTRIBUTE":"Допринасяне","WEBSITE_LINK_COMMUNITY":"Общност","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"... и Още","WEBSITE_LINK_HELP":"Помощен център","WEBSITE_LINK_CONTACTS":"Контакти","WEBSITE_LINK_TOS":"Правила и Условия","WEBSITE_LINK_PRAVACY":"Политика за поверителност","WEBSITE_SUBSCRIBE":"Абониране","WEBSITE_NEWSLETTER":"Впишете се в нашият Нюзлетър за страхотни неща","WEBSITE_PLACEHOLDER_EMAIL":"Вашият Email","WEBSITE_COMMUNITY":"Общност","WEBSITE_LINK_PRAVACY_LEGAL":"Поверителност и разпоредби","WEBSITE_WHY":"Защо го правим","WEBSITE_WHY_P1":"В Stremio идваме на работа всеки ден, защото искаме да решим важен проблем за индустрията за видео при поискване. Има толкова много ново съдържание, публикувано всяка минута, че е практически невъзможно да намерите пътя си около него.","WEBSITE_WHY_P2":"Ние помагаме на хората да се ориентират в този огромен свят на видео забавления и да открият ново съдържание, на което да се насладят. Нашите приложения събират филми, сериали, телевизия на живо, уеб канали и други. Ние сме посветени да направим невероятно лесно за потребителите да намерят заглавия и телевизионни оператори, които обичат.","WEBSITE_WHY_P3":"Можете да използвате нашата услуга на всяко устройство и по всяко време, превръщайки Stremio единственият център за видео развлечения, който някога ще ви трябва.","WEBSITE_TEAM":"ОТБОР","WEBSITE_TEAM_P":"Екипът на Stremio е малък, но мощен: между десетте от нас кодираме на X езици и споделяме опит в разработването на софтуер, UI и UX дизайн, маркетинг и реклама и бизнес и стартиращи компании.","WEBSITE_FEATURES":"Функции","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Откривайте ново съдържание с лекота","WEBSITE_FEATURES_DISCOVER_P":"Лесно открийте нови филми, телевизионни предавания, сериали и канали за гледане. Прегледайте по категория, жанр, оценка, рецепта и т.н. или просто въведете име, за да намерите. Stremio прави намирането на ново видео съдържание лесно като детска игра.","WEBSITE_FEATURES_ALL_CONTENT":"Цялото ви видео съдържание на един екран","WEBSITE_FEATURES_ALL_CONTENT_P1":"Вижте какви филми, сериали или видеоклипове не сте завършили и продължете да ги гледате; Получавайте уведомления за нови епизоди и издания; и разгледайте препоръките, които ще получите въз основа на вашите навици за гледане.","WEBSITE_FEATURES_LIBRARY":"Организирайте вашата видео Библиотека","WEBSITE_FEATURES_LIBRARY_P1":"Добавете всяко заглавие към вашата библиотека в Stremio с едно щракване и намерете пътя си около съдържанието си, добре подредено по тип, дата или азбучна подредба.","WEBSITE_FEATURES_CALENDAR":"Следете всичко, което гледате","WEBSITE_FEATURES_CALENDAR_P1":"Получете визуализация на календара на всички филми и сериали, които добавяте към библиотеката си. Експортирайте вашия календар на Stremio и го синхронизирайте, така че винаги да знаете кога има нов епизод или премиера.","WEBSITE_FEATURES_BIG_SCREEN":"Насладете се на вашето видео съдържание на по-голям екран","WEBSITE_FEATURES_BIG_SCREEN_P1":"Прехвърлете каквото и да гледате на друго устройство - било то телефон, таблет или телевизор с едно щракване.","WEBSITE_FEATURES_SOURCES":"Гледайте видео от много различни източници","WEBSITE_FEATURES_SOURCES_P":"Инсталирайте официални и общностни добавки, за да се насладите на видео, получено от много различни доставчици - всичко това в едно елегантно, лесно за използване приложение.","WEBSITE_CREATE_AN_ADDON":"Създайте добавка","WEBSITE_FEATURES_SYNC":"Синхронизирайте библиотеката си на различни устройства и възобновете възпроизвеждането си","WEBSITE_FEATURES_SYNC_P1":"Влезте с акаунта си във всичките си устройства и се насладете на вашата библиотека, добавки, възпроизвеждане и синхронизиране в календара.","WEBSITE_FEATURES_EXTENDABLE":"Разширяващ се видео каталог от добавки","WEBSITE_FEATURES_EXTENDABLE_P1":"Каталогът с добавки на Stremio предоставя редица добавки за инсталиране и гледане на разнообразие от видео съдържание. Това включва филми, предавания, телевизия на живо, спорт, новини, подкасти, уеб канали, видео игри и други.","WEBSITE_FEATURES_AUTO_SUBS":"Автоматични субтитри","WEBSITE_FEATURES_AUTO_SUBS_P1":"С нашите добавки за субтитри получавате автоматично избрани опции за предпочитания от вас език.","WEBSITE_FEATURES_CHROMECAST":"Предаване към Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Насладете се на вашето видео съдържание на по-голям екран или просто хвърлете каквото и да гледате на друго устройство.","WEBSITE_FEATURES_KEEP_TRACK":"Следете любимите си телевизионни предавания и уеб канали","WEBSITE_FEATURES_KEEP_TRACK_P1":"Получете визуализация на календара и известия за нови епизоди от любимите си серии и уеб канали.","WEBSITE_FEATURES_POWER_USER":"Мощни потребителски функции","WEBSITE_FEATURES_POWER_USER_P1":"Пуснете на външен плеър","WEBSITE_FEATURES_POWER_USER_P2":"Пуснете от торент файл или магнитна връзка","WEBSITE_FEATURES_POWER_USER_P3":"Импортирайте във вашата библиотека от Facebook харесвания или локален диск","WEBSITE_ADD_ONS":"Добавки","WEBSITE_ADD_ONS_P1":"Цялото видеосъдържание, което Stremio предоставя, се доставя чрез допълнителна система - в приложението не е вградено съдържание или доставчик на съдържание.","WEBSITE_ADD_ONS_P2":"Налични са две групи добавки: официални и общностни добавки.","WEBSITE_ADD_ONS_P3":"Официалните са разработени и хоствани от Stremio, докато добавките на общността са създадени от нашите членове на общността, които също ги хостват.","WEBSITE_ADDONS_OFFICIAL":"Официални добавки","WEBSITE_ADDONS_WATCHUB":"Предавайте любимите си филми, сериали и предавания от доставчици като iTunes, Hulu, Amazon и други услуги за Обединеното кралство/САЩ.","WEBSITE_ADDONS_YOUTUBE":"Гледайте любимите си канали в YouTube без реклами и получавате известия за нови качвания от сътрудниците, които следвате.","WEBSITE_ADDONS_FILMON":"Гледайте телевизия на живо, филми и социална телевизия безплатно. 600 телевизионни канала, 45 000 безплатни филма, документални филми и др.","WEBSITE_ADDONS_OPENSUBTITLES":"Филмови и телевизионни субтитри на няколко езика, хиляди преведени субтитри, качени всеки ден.","WEBSITE_ADDONS_COMMUNITY":"Добавки от общността","WEBSITE_ADDONS_FILMON_VOD":"Гледайте видео при поискване от Filmon.tv","WEBSITE_ADDONS_TWICH":"Гледайте потоци на живо от twitch.tv - платформа за поточно предаване на видео за индустрията за електронни спортове.","WEBSITE_ADDONS_VODO":"Гледайте инди филми абсолютно безплатно.","WEBSITE_ADDONS_NETFLIX":"Гледайте филми и уеб сериали на Netflix.","WEBSITE_ADDONS_CREATE":"Създайте добавка","WEBSITE_ADDONS_CREATE_P1":"Ако желаете, можете да разработите своя собствена добавка. По този начин можете да дадете достъп до себе си и нашата общност до ново видео съдържание и да достигнете до нова, насочена аудитория от милиони потребители по целия свят.","WEBSITE_ADDONS_START_CREATE":"За да започнете, посетете страницата на Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Изтегляния","WEBSITE_DOWNLOADS_P1":"За оптимална ефективност препоръчваме да използвате най-новата налична версия на приложенията на Stremio. Ако по някаква причина обаче бихте искали да използвате по-стара версия, можете да я изтеглите тук.","WEBSITE_DOWNLOADS_P1_SHORT":"За оптимална ефективност препоръчваме да използвате най-новата налична версия на приложенията на Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio за Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio за macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio за Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio за Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio за Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio за Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio за Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio за iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio за Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio за LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio за Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio за Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio за Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio за Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio за Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio за Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio за Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio за Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio за Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio за Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Потърсете Stremio в магазина на 2019+ Samsung TV моделите","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Потърсете Stremio в магазина на 2020+ LG Телевизори","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Потърсете Stremio в Play Store приложението на Sony TV с Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Потърсете Stremio в Play Store приложението на Philips TV с Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Потърсете Stremio в магазина за приложения на вашето Xbox устройство","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Упътване за Stremio OS на RPI","WEBSITE_LINK_GUIDE":"Упътване","WEBSITE_DOWNLOAD_SERVICE":"Изтегляне на Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service е придружително приложение за Stremio Web. Препоръчваме да използвате най-новата налична версия на Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service за Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service за macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service за Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service за Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio за Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Още опции за изтегляния","WEBSITE_DOWNLOAD_NEW":"Ново!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Ние пуснахме Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Ние пуснахме Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Ние пуснахме Stremio за LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Ние пуснахме Stremio за Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Ние пуснахме Stremio за Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Ние пуснахме Stremio 5 за Windows","WEBSITE_CONTRIBUTE":"Допринесете","WEBSITE_CONTRIBUTE_P1":"Платформата Stremio е с отворен код и лесно можете да създадете добавка за съдържание, което в момента не е снабдено.","WEBSITE_CONTRIBUTE_WHY":"Защо трябва да създадете добавка?","WEBSITE_CONTRIBUTE_WHY_P1":"Достигнете до нова аудитория за вашето видео съдържание","WEBSITE_CONTRIBUTE_WHY_P2":"Потребителската база на Stremio нараства бързо - в рамките на първата година от старта, Stremio спечели 1 милион потребители по целия свят, а през втората година от съществуването на платформата този брой нарасна до 2,5 милиона.","WEBSITE_CONTRIBUTE_WHY_P3":"С вашата добавка можете лесно да достигнете до тази аудитория и да разпространите видеото си към тях.","WEBSITE_CONTRIBUTE_ALL":"Гледайте любимите си филми, видеоклипове, сериали и канали на едно едно място.","WEBSITE_CONTRIBUTE_ALL_P1":"Вие сте фен на определен тип съдържание, което все още не е достъпно в Stremio? Създайте добавка за него и се насладете на гледането на любимите си видеоклипове в един от най -големите и лесни за използване на развлекателни центрове на пазара.","WEBSITE_CONTRIBUTE_ALL_P2":"Освен това ще получите безкрайната благодарност на други съмишленици на общността на Stremio.","WEBSITE_CONTRIBUTE_MONETIZE":"Осигурете приходи от добавката си и печелете пари с нейната помощ","WEBSITE_CONTRIBUTE_MONETIZE_P1":"След като разработите нова добавка за Stremio, можете лесно да го осигурите монетизиране по няколко различни начини. Ако обмисляте това, не се колебайте да се свържете с нас на ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - ще се радваме да се консултираме и да ви посъветваме за възможностите за осигуряване на монетизация на добавката.","WEBSITE_CONTRIBUTE_TRANSLATE":"Станете доброволен преводач","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Ако искате да се насладите на приложенията на Stremio на различни езици, можете да се присъедините към нашата общност от доброволни преводачи. Те ни помагат да добавим версии на Stremio на много различни езици.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Имате ли желание да започнете?","WEBSITE_TRANSALTE_STREMIO":"Преведете Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Официални общности","WEBSITE_COMMUNITY_OFFICIALS_P1":"Станете част от нарастващата общност на Stremio. Следвайте ни в социалните медии и не се срамувайте да ни поздравите - обичаме да слушаме нашите фенове! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Неофициални общности","STREMIO_COMMUNITY_NL":"Stremio Нидерландия","STREMIO_COMMUNITY_BRASIL":"Stremio Бразилия","STREMIO_COMMUNITY_GERMANY":"Stremio Германия","STREMIO_COMMUNITY_BELGIUM":"Stremio Белгия","STREMIO_COMMUNITY_FRANCE":"Stremio Франция","STREMIO_COMMUNITY_PORTUGAL":"Stremio Португалия","STREMIO_COMMUNITY_ITALY":"Stremio Италия","STREMIO_COMMUNITY_UK":"Stremio Обединено Кралство","STREMIO_COMMUNITY_USA":"Stremio САЩ","STREMIO_COMMUNITY_MEXICO":"Stremio Мексико","STREMIO_COMMUNITY_ADDONS":"Stremio добавки","STREMIO_COMMUNITY_ADDON":"Stremio добавка","STREMIO_COMMUNITY_AWESOME":"Страхотен Stremio","WEBSITE_COMMUNITY_PARTNERS":"Партньори и привърженици","WEBSITE_COMMUNITY_GOODIES":"Stremio екстри","WEBSITE_COMMUNITY_WALLPAPERS":"Тапети","WEBSITE_COMMUNITY_ART":"Арт галерия на общността","WEBSITE_LINK_ART":"Арт галерия на общността","WEBSITE_CONTACT_US":"Свържете се с нас","WEBSITE_CONTACT_US_P1":"Ако имате някакви въпроси, коментари или предложения, не се колебайте да се свържете с нас чрез формата за контакт по-долу.","WEBSITE_CONTACT_US_P2":"Имайте предвид, че ние се намираме в България, така че може да има забавяне в адресирането на вашата заявка поради разликите в часовата зона.","WEBSITE_CONTACT_US_SUCCESS":"Вашето съобщение е изпратено. Ще се свържем с вас при първа възможност.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Моля, въведете валиден email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"С какво е свързан вашият въпрос?","WEBSITE_CONTACT_US_Q_OS":"Каква е вашата операционна система?","WEBSITE_CONTACT_US_PH_EMAIL":"Вашият имейл","WEBSITE_CONTACT_US_PH_MESSAGE":"Съобщение","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ИЗПРАЩАНЕ","WEBSITE_CONTACT_US_Q_1":"Как да инсталирам?","WEBSITE_CONTACT_US_Q_2":"Как да деинсталирам?","WEBSITE_CONTACT_US_Q_3":"(HTML) Как да направя лазаня?","WEBSITE_CONTACT_US_Q_4":"Добавки","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Технология","WEBSITE_TECHNOLOGY_P1":"Ние обичаме технологиите и лудата наука.
    Ето какво задвижва Stremio (всичко е с отворен код).","WEBSITE_TECHNOLOGY_P_QT":"Разработка на междуплатформен софтуер в най-добрия случай.","WEBSITE_TECHNOLOGY_P_MPV":"Безплатен, отворен и кросплатформен медиен плейър.","WEBSITE_TECHNOLOGY_P_RN":"React Native ви позволява да изграждате мобилни приложения, използвайки само JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Медийна рамка, вградена в приложение, за да получи мултимедия.","WEBSITE_TECHNOLOGY_P_REALM":"Realm е мобилна платформа и заместител на Sqlite и Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js е отворен код, кросплатформена JavaScript среда за изпълнение.","WEBSITE_TECHNOLOGY_P_RUST":"Rust е многопарадигмен системен програмен език, фокусиран върху безопасността, особено безопасната едновременност.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Допринесете за проекта","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Има два начина, по които можете да допринесете за Stremio и да ни помогнете да направим продукта още по-добър.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Можете да дарите своите ценни езикови умения, като преведете платформата...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"или","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... Можете да използвате вашите умения за кодиране за създаване на добавки в общността. ","WEBSITE_TRANSLATE_STREMIO":"Преведете Stremio","WEBSITE_404_OH_NO":"Ъ-ъ! Страницата, която търсите, не е тук...","WEBSITE_GO_HOME":"Върни се на Началната страница","WEBSITE_LINK_OTHER_DOWNLOADS":"Други изтегляния","WEBSITE_FAQ_ABR":"ЧЗВ","WEBSITE_SUPPORT":"Подръжка","WEBSITE_DOWNLOAD_4_0_BETA":"Изтеглете сега Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Вземете сега за работен плот","WEBSITE_LINK_ADDON_COMPETITION":"Конкурс за добавки","WEBSITE_LINK_ART_CONTEST":"Конкурс за изкуство","WEBSITE_MY_ACCOUNT":"Моят акаунт","WEBSITE_MAINPAGE_FAQ_001_H1":"Какво е Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio е модерен медиен център, който ви дава свободата да гледате всичко, което искате.","WEBSITE_MAINPAGE_FAQ_002_H1":"Как работи?","WEBSITE_MAINPAGE_FAQ_002_P1":"След като инсталирате Stremio на устройството си и създадете акаунт, всичко, което трябва да направите, е да посетите каталога за добавки и да инсталирате всяка добавка, която искате, и сте готови да започнете!","WEBSITE_MAINPAGE_FAQ_002_P2":"След това можете да отидете в секциите Откриване или Табло, за да започнете да изследвате съдържание.","WEBSITE_MAINPAGE_FAQ_003_H1":"Какво мога да гледам тук?","WEBSITE_MAINPAGE_FAQ_003_P1":"Много: филми, телевизионни предавания, уеб канали, спорт, телевизионни канали, слушане на подкасти и други. Благодарение на нашата система за добавки, можете да получите достъп до разнообразие от съдържание.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio с отворен код ли е?","WEBSITE_MAINPAGE_FAQ_004_P1":"Да, може да проверите следните връзки: ${1}Приложение за работен плот${2} and ${3}GitHub организация${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio сигурен ли е?","WEBSITE_MAINPAGE_FAQ_005_P1":"Да: тъй като това е софтуер с отворен код, кодът е публично достъпен и можете да го прегледате сами.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Какво ще кажете за моята поверителност?","WEBSITE_MAINPAGE_FAQ_006_P1":"Ние уважаваме поверителността на потребителите и не събираме лични данни, освен съществения минимум за създаване и синхронизиране на вашия акаунт.","WEBSITE_MAINPAGE_FAQ_006_P2":"Също така има и ${1}Вход за гост${2} при регистрация, което не изисква никакви данни: в този режим не се извършват заявки към нашия бекенд. Въпреки това, той идва за сметка на полезни функции, като например да можете да синхронизирате библиотеката си в устройства.","WEBSITE_MAINPAGE_FAQ_007_H1":"Може ли да прехвърлям съдържание към моят телевизор?","WEBSITE_MAINPAGE_FAQ_007_P1":"Да, ние поддържаме Chromecast и можете да прехвърлите съдържание както от настолни, така и от мобилни приложения (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Колко добавки има Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Към края на 2019 г. над 50 - за повече информация вижте нашия каталог с добавки.","WEBSITE_MAINPAGE_FAQ_009_H1":"Може ли Stremio да бъде разширен отвъд това, което е в каталога за добавки?","WEBSITE_MAINPAGE_FAQ_009_P1":"Да, трябва да разгледате тези: ${1}PimpMyStremio${2}, ${3}Reddit общност${4}, ${5}Stremio Downloader${6}, и други.","WEBSITE_MAINPAGE_FAQ_010_H1":"Какви устройства поддържат Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Имаме настолни приложения за Windows, Mac и Linux. За мобилни устройства поддържаме Android и iOS, но имайте предвид, че iOS е с ограничена функционалност (не поддържа повечето добавки).","WEBSITE_MAINPAGE_FAQ_010_P2":"Има много устройства, базирани на Android, на които можете да стартирате Stremio, като Nvidia Shield и Amazon Fire Stick, но ние не ги поддържаме официално.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Имаме настолни приложения за Windows, Mac и Linux. Имаме и специални приложения за Android Mobile и Android TV. За iOS и iPadOS предлагаме да използвате Stremio Web, въпреки че функционалността му е по-ограничена.","WEBSITE_MAINPAGE_FAQ_011_H1":"Можете ли да добавите определено съдържание към Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"За съжаление ние самите не предоставяме съдържание, но колкото повече Stremio добавки сте инсталирали, толкова повече съдържание ще можете да намерите.","WEBSITE_MAINPAGE_FAQ_012_H1":"Може ли Stremio да възпроизвежда магнитни връзки?","WEBSITE_MAINPAGE_FAQ_012_P1":"Да, и може също да възпроизвежда нормални HTTP връзки и торент файлове (плъзгане и пускане).","WEBSITE_MAINPAGE_FAQ_013_H1":"Мога ли да изтегля видео и да го гледам офлайн?","WEBSITE_MAINPAGE_FAQ_013_P1":"Изтеглянето офлайн е предстояща функция, но ако позволите на Stremio да кешира на вашето устройство (от панела за настройки), можете да гледате видеоклиповете по-късно без връзка.","WEBSITE_MAINPAGE_FAQ_014_H1":"Нищо не работи, помогнете ми!","WEBSITE_MAINPAGE_FAQ_014_P1":"Сигурни ли сте, че сте инсталирали добавки? Ако да, консултирайте се с нашият ${1}помощен център${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Как Stremio поддържа своите операции за развитие?","WEBSITE_MAINPAGE_FAQ_015_P1":"Понякога пускаме ненатрапчиви реклами, но обмисляме да преминем към модел на дарение.","WEBSITE_MAINPAGE_FAQ_015_P2":"За повече отговори посетете нашият ${1}помощен център${2}.","HELP_LEARN_MORE":"Помогнете ни да научим повече за вас.","LIFESTYLE":"Лайфстайл","SPORTS":"Спорт","FOOD_HEALTH":"Храна и Здраве","BEAUTY_FASHION":"Красота и Мода","NEWS":"Новини","GAMING":"Гейминг","SCIENCE_EDUCATION":"Наука и Образование","MUSIC":"Музика","TRAVEL":"Пътуване","LATE_NIGHT":"Късно вечер","REALITY":"Реалити","COMEDY":"Комедия","DIY":"Направи си сам","TECH":"Технологии","CINEMA":"Кино","CONTINUE":"Продължение","SLOW_LOADING":"БАВНО ЗАРЕЖДАНЕ?","I_GIVE_UP":"ПРЕДАВАМ СЕ","LEARN_MORE":"Научете повече","POOR_SOURCE":"Този източник е слабо достъпен или вашата интернет връзка не е достатъчно бърза","PICK_CATEGORIES_ERR":"Трябва да изберете поне 3 категории","ADJUST_TIMING":"Настройване на времето с ","ADJUST_SIZE":"Настройване на размера с ","SEARCH_ANYTHING":"Може да търсите всичко...","ALL_CATEGORIES":"Всички","SEARCH_CATEGORIES":"Филми, Серии, YouTube и ТВ","SEARCH_PERSONS":"Актьори, режисьори и сценаристи","SEARCH_PROTOCOLS":"HTTP & магнитни връзки","SEARCH_TYPES":"IMDB / TVDB връзки","WATCHED":"Гледано","SHOW_LESS":"Показване на по-малко","LAST_SEARCHES":"Последни търсения","CLEAR_HISTORY":"Изчистване на историята","CHOOSE_SOME":"ИЗБЕРЕТЕ ЕДНО ОТ ТЕЗИ:","PAGE_NOT_FOUND":"Страницата не е намерена!","NO_WEB_REMOTE":"Уеб дистанционното не може да бъде заредено","STREMIO_OFFLINE":"Stremio е офлайн","STREMIO_EXPENSIVE_CONNECTION":"Открихме, че използвате мобилна връзка за данни, искате ли да продължите?","USE_DATA":"Използване на данни","WARNING":"Внимание","MORE_INFO":"Повече информация ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Зареждане ...","STREMIO_TV_BACK_TO_LANGUAGES":"Връщане към езиците","STREMIO_TV_REMOTE":"Дистанционно","STREMIO_TV_GO_TO":"Отидете на:","STREMIO_TV_OR_SCAN":"или сканирайте:","STREMIO_TV_ADDON_INSTRUCTIONS":"Моля, следвайте инструкциите, за да инсталирате предпочитаните ви добавки.","STREMIO_TV_LIVE_TV":"ТВ на живо","STREMIO_TV_RESUME_WATCHING":"Продължаване на гледането","STREMIO_TV_LOADING_BACKGROUND":"Зареждане на фон","STREMIO_TV_CHECKING_AUTHENTICATION":"Проверка на удостоверяването","STREMIO_TV_LOADING_BOARD":"Зареждане на Табло","STREMIO_TV_LOGIN_HEADER_LINE_1":"Искаме нашите потребители да имат най-доброто възможно персонализирано изживяване с нашия софтуер.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Именно поради тази причина любезно ви молим да направите акаунт и/или да влезете във вашия акаунт.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Благодарим ви за разбирането,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Екипа на Stremio ","STREMIO_TV_REMOTE_INSTRUCTIONS":"За да използвате уеб дистанционното с вашия смартфон / таблет / десктоп:","STREMIO_TV_WIFI_SETUP":"Wi-Fi настройка","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle не засече активна връзка към интернет","STREMIO_TV_WIFI_DETAILS_1":"Свързване към:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Използвайте парола:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Отворете уеб браузър с връзката:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"По подразбиране","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"По последно гледани","STREMIO_TV_LIBRARY_SORT_NAME":"По име","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"По Име Низходящо","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"По брой гледания","STREMIO_TV_LIBRARY_SORT_WATCHED":"По Гледани","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"По Не Гледани","STREMIO_TV_DETAILS_SEASON_NUMBER":"Сезон ${1}","STREMIO_TV_STREAMS_LOADING":"Заредени ${1} / ${2} добавки...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} добавка/и все още зарежда/т...","STREMIO_TV_PLAYER_SETTINGS":"Настройки на плеъра","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Закъснение на субтитрите","STREMIO_TV_PLAYER_AUDIO_DELAY":"Закъснение на аудиото","STREMIO_TV_PLAYER_VIDEO_SCALING":"Видео мащабиране","STREMIO_TV_PLAYER_CHAPTERS":"Глави","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Пропускане ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Неподдържан източник на поток","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Неуспешно отваряне на външна връзка","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Не се регулира в режим на аудио преминаване","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Възпроизвеждане с ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Възпроизвеждане с libVLC плеър","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Преминаване към плейър libVLC поради грешка във възпроизвеждането","STREMIO_TV_ADDONS_TITLE":"Използвайте Stremio на вашия телефон или компютър, за да инсталирате или конфигурирате добавки и натиснете \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Забележка: Уверете се, че използвате същия акаунт в Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Синхронизиране на добавки","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Добавките са сихнронизирани успешно","STREMIO_TV_ADDONS_SYNC_FAILED":"Грешка при синхронизиране на добавки","STREMIO_TV_META_LINK_FAILED":"Грешка при отваряне на meta връзката","STREMIO_TV_CATALOG_LOADING":"Каталога все още се зарежда...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Езика на интерфейса е актуализиран","STREMIO_TV_SETTINGS_THEME_UPDATED":"Темата е актуализирана","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Плеър по подразбиране","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Външен плеър","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Предпочитан език","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Втори предпочитан език","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Тунелен плейбек","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Възможни проблеми с плейбека на някои устройства","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Някои видео формати може да не работят","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Съвпадение на скоростта на кадрите","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Деактивирано","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Само честота на кадрите","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Честота на кадрите и разделителна способност","STREMIO_TV_SETTINGS_NO_CACHING":"Без кеширане","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"По подразбиране","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Меко","STREMIO_TV_SETTINGS_PROFILE_FAST":"Бързо","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ултра бързо","STREMIO_TV_SETTINGS_SERVER_URL":"URL на сървъра за поточно предване","STREMIO_TV_SETTINGS_SERVER_VERSION":"Версия на сървъра","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Непознато","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Версия на Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Редактиране на URL на сървъра","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Въведете URL адрес на сървър за поточно предаване","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Показване на статистики при зареждане","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"За да прочетете политиката за поверителност на Stremio, посетете:","STREMIO_TV_SETTINGS_TOS_TEXT":"За да прочетете Общите условия на Stremio, посетете:","STREMIO_TV_NAV_SEARCH":"Търсене","STREMIO_TV_NAV_HOME":"Начало","STREMIO_TV_NAV_DISCOVER":"Откриване","STREMIO_TV_NAV_LIBRARY":"Библиотека","STREMIO_TV_NAV_MOVIES":"Филми","STREMIO_TV_NAV_SERIES":"Сериали","STREMIO_TV_NAV_CHANNELS":"Канали","STREMIO_TV_NAV_TV":"ТВ на живо","STREMIO_TV_NAV_SETTINGS":"Настройки","STREMIO_TV_NAV_ADDONS":"Добавки","STREMIO_TV_LOGIN_TITLE":"Свързване на акаунт","STREMIO_TV_LOGIN_EXPIRES_IN":"Изтича на","STREMIO_TV_LOGIN_STEP_ONE":"Сканирайте QR кода по-горе или отидете на","STREMIO_TV_LOGIN_STEP_TWO":"Влезте във вашия акаунт в Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Заявка за нова връзка","STREMIO_TV_LOGIN_LINK_REFRESHED":"Кодът за вход е актуализиран","STREMIO_TV_SEARCH_PLACEHOLDER":"Напишете нещо","STREMIO_TV_SEARCH_NO_ADDONS":"Не бяха поискани добавки за каталози!","STREMIO_TV_SEARCH_BUTTON":"Търсене","STREMIO_TV_SEARCH_KEY_DEL":"Изтриване","STREMIO_TV_SEARCH_KEY_SPACE":"Интервал","STREMIO_TV_SEARCH_KEY_CLEAR":"Изчистване","STREMIO_TV_SEARCH_HISTORY_TITLE":"История на търсенията","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Можете да търсите заглавия, актьори, канали и други...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Изчистване на историята на търсенията","STREMIO_TV_FILTERS_DESCRIPTION":"Изберете от един от филтрите по-долу","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Стрийминг сървърът няма връзка. Моля, вижте сървърните настройки.","FILTERS":"Филтри","SETTINGS":"Настройки","ACCOUNT":"Акаунт","LOGOUT":"Изход","THEMES":"Теми","PLAYBACK":"Плейбек","PLAYBACK_SPEED":"Скорост на плейбека","AUDIO_TRACKS":"Аудио пътеки","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Видеа","SERVER":"Сървър","LINKS":"Връзки","ABOUT":"Относно","INTERFACE":"Интерфейс","ANIMATIONS":"Анимации","STATUS":"Статус","LANGUAGE":"Език","SIZE":"Размер","DELAY":"Забавяне","BOLD":"Удебеляване","OPACITY":"Непрозрачност","TEXT_COLOR":"Цвят на текста","OUTLINE_COLOR":"Цвят на очертанията","BACKGROUND_COLOR":"Цвят на фона","BACKGROUND_BLUR":"Замъгляване на фона","SEEK_TIME_DURATION":"Продължителност на времето за търсене","AUTO_PLAY":"Авто-пускане на следващият епизод","PLAY_NOW":"Пусни сега","MARK_AS_WATCHED":"Маркиране като гледано","MARK_AS_UNWATCHED":"Маркиране като негледано","REWIND_TO_BEGINNING":"Преминаване към началото","CONTINUE_WATCHING":"Продължаване на гледането","ALL":"Всички","SECONDS":"секунди","ON":"ВКЛ","OFF":"ИЗКЛ","RELOAD":"Презареждане","EDIT_URL":"Редактиране на URL","URL":"URL","NONE":"Нищо","EMBEDDED":"Вградени","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Смяна на устройствата","REMOTE_VIDEOS":"Видеа","REMOTE_ADJUST_TIMING":"Регулиране на времето","REMOTE_ADJUST_SIZE":"Регулиране на размера","REMOTE_COULD_NOT_BE_LOADED":"Уеб дистанционното не може да бъде заредено","REMOTE_RETRY":"Повторение","TORRENT_PROFILE_DEFAULT":"По подразбиране","TORRENT_PROFILE_SOFT":"Меко","TORRENT_PROFILE_FAST":"Бързо","TORRENT_PROFILE_ULTRA_FAST":"Ултра бързо","MB_S":"MB/s","FAQ_001_H1":"Какво е Stremio?","FAQ_001_P1":"Stremio е софтуер за медиен център, предназначен за видео забавление с мисъл за лесна употреба. Stremio ви позволява да организирате & гледайте собствената си колекция от филми, сериали, канали и телевизия на живо.","FAQ_001_P2":"Stremio събира съдържанието, което ви показва, от вашия локален диск и нашата система за добавки.","FAQ_001_P3":"Също така ще ви уведоми, когато излязат нови епизоди/видеоклипове/филми, които ви интересуват, и ще ви предостави препоръки за филми.","FAQ_02_H1":"Може ли Stremio да се сравнява с Kodi и Plex?","FAQ_02_P1":"Ние сме вдъхновени от тези два софтуера. Но ние имаме различни цели - Stremio е специално насочен към развлекателно видео и се стреми да стане основното решение за това, като е много лесен за използване.","FAQ_02_P2":"Stremio никога няма да бъде толкова персонализиран и богат на функции като Kodi и Plex, но е значително по-лесен за използване. Просто ${1} го вземете и ще се убедите ${2} :)","FAQ_03_H1":"Може ли Stremio да се сравнява с Netflix?","FAQ_03_P1":"Отново Netflix е едно от нашите вдъхновения. Стремим се да постигнем потребителското изживяване на Netflix, плюс много добавени екстри. Но най-важното е, че ви даваме свободата да управлявате собствената си библиотека и да добавяте нови източници на съдържание с нашата система за добавки.","FAQ_03_P2":"Това прави Stremio безкрайно разширяем, така че когато използвате Stremio, никога не сте ограничени до съдържанието, което Netflix решава да лицензира. Например чрез Stremio можете да гледате съдържание от ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} и дори от самият${9}Netflix${10}!","FAQ_04_H1":"Може ли Stremio да се сравнява с Flipboard?","FAQ_04_P1":"Ние не получаваме този въпрос толкова често, освен когато разговаряме със стартиращи хора :)","FAQ_04_P2":"Stremio по дизайн е агрегатор на съдържание, което по същество го прави Flipboard за видео. Това е много очевидно в нашата секция Табло, която ви дава каталози и известия за нови епизоди/нови видеоклипове за това, което следвате, точно като Flipboard.","FAQ_05_H1":"Може ли Stremio да се сравнява с Popcorn Time?","FAQ_05_P1":"Stremio и Popcorn Time са сходни в потребителския интерфейс, защото няма много начини да правите правилно каталози с видеоразвлечения :)","FAQ_05_P2":"Но докато Popcorn Time е фокусиран върху поточно предаване на торенти от конкретни източници, Stremio е неограничен и е просто агрегатор на съдържание - не е заключен в конкретен източник на съдържание.","FAQ_05_P3":"Освен това, ние не предоставяме добавки за торент по подразбиране, така че Stremio не покрива случая на използване на Popcorn Time с официална функционалност.","FAQ_05_P4":"Друга основна разлика е, че Popcorn Time е с напълно отворен код, докато Stremio е с ${1} частично отворен код${2}.","FAQ_06_H1":"Ще добавите ли този филм/серия?","FAQ_06_P1":"Не, съжеляваме :(","FAQ_06_P2":"Както се споменава в повечето други въпроси, Stremio не предоставя съдържание само по себе си - всичко се добавя чрез системата за добавки. В случай, че имате заявка за съдържание, можете да използвате бутона „Докладвай“ в плеъра, който ще изпрати имейл до автора на добавката, която използвате в момента.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Ще създадете ли добавка за X?","FAQ_08_P1":"Напълно е възможно.","FAQ_08_P2":"Ако имате идея за добавка, пишете ни на ${1}office@stremio.com${2}, но моля, уверете се, че вашата идея за добавка няма да наруши никакви авторски права или условия за използване.","FAQ_08_P3":"В момента следващите неща в нашата пътна карта са добавки за FandangoNOW, Filmon.tv видео при поискване и Crunchyroll.","FAQ_09_H1":"Използва ли Stremio BitTorrent?","FAQ_09_P1":"Да, Stremio поддържа BitTorrent като протокол за поточно предаване. Можете да го използвате или с добавка за торент, или като плъзнете и пуснете .torrent файл в Stremio, или като поставите магнитна връзка в лентата за търсене.","FAQ_09_P2":"Моля, обърнете внимание, че единствената официален добавка, използваща BitTorrent, е ${1}Vodo${2}, което осигурява съдържание на инди, всички разрешени да бъдат разпределени с BitTorrent.","FAQ_09_P3":"Ние не подкрепяме използването на никакви добавки на трети страни, които могат да позволят нарушаване на авторски права.","FAQ_10_H1":"Какво мога да гледам в Stremio с официалните добавки?","FAQ_10_P1":"По подразбиране можете да гледате Filmon.tv, YouTube и Vodo съдържание в рамките на самия Stremio, с вграден плейър. Освен това имаме добавка за Twitch.tv и няколко други.","FAQ_10_P2":"Тази комбинация осигурява избор на:","FAQ_10_L1":"Популярни ТВ канали, предоставени от Filmon.tv - например E4, BBC, Bollyworld TV","FAQ_10_L2":"Всичко от YouTube - например BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Индийски филми от Vodo","FAQ_10_L4":"Онлайн гейминг излъчвания с Twitch.tv","FAQ_10_P3":"Освен това има много източници на съдържание, предоставени с Guidebox и добавките на Netflix, които не се възпроизвеждат изцяло в Stremio, но ще ви пренасочат към дадената услуга. Например добавката Guidebox ще ви даде селекция от филми, които можете да предавате поточно безплатно в САЩ от услуги като TubiTV и Crackle.","FAQ_11_H1":"Stremio не се инсталира, какво да правя?","FAQ_11_P1":"Ако сте с Windows, пробвайте ${1}този алтернативен инсталатор${2}.","FAQ_11_P2":"Ако сте с Mac OS X, моля, бъдете наясно, че не поддържаме ОС преди OS X Mavericks (10.9).","FAQ_11_P3":"Ако сте с Linux, бъдете наясно, че в момента поддържаме само 64-битов (x64) Linux.","FAQ_11_P4":"Ако все още не можете да разрешите проблема си, моля, пишете ни в нашата ${1}Facebook група${2}.","FAQ_12_H1":"Защо моята анти-вирусна се оплаква? Stremio чист ли е?","FAQ_12_P1":"Бъдете сигурни, че Stremio е ${1}100% чист${2}.","FAQ_12_P2":"Вашият антивирус се оплаква, защото ние включваме реклама в нашия инсталатор, които някои антивирусни програми разпознават като ad-ware.","FAQ_12_P3":"Ако все още не сте сигурни, може да пробвате нашите ${1}алтернативни инсталатори{2}.","FAQ_13_H1":"Как мога да направя добавка?","FAQ_13_P1":"За начало препоръчваме ви да проверите нашият ${1}системен модул за добавки${2} в GitHub.","FAQ_13_P2":"След това може да последвате нашият ${1}Hello World съветник${2}.","FAQ_13_P3":"Ако нямате никакви умения за програмиране, моля, публикувайте идеята си в ${1}Reddit общността${2} и се свържете с нас с вашата идея за добавка на ${3}office@stremio.com${4}.","FAQ_14_H1":"Как се публикуват добавките?","FAQ_14_P1":"Когато създадете добавка и хост и поставите поле endpoint във вашия манифест, което сочи към работещ адрес на добавка, добавката автоматично ще се публикува в нашия ${1}Каталог с добавки${2}.","FAQ_14_P2":"Това се случва, защото сървърната част на модула stremio-addons автоматично се обажда към нашия API, за да обяви добавката. Когато нашият API потвърди вашата endpoint като валидна добавка, тя ще започне да се показва в каталога.","FAQ_15_H1":"Мога ли да пусна Stremio в браузъра си?","FAQ_15_P1":"В момента не, но това предстои!","FAQ_15_P2":"Ако сте любопитни да видите Alpha, можете да го видите тук: ${1}alpha4.strem.io${2}. Имайте предвид, че поточното предаване е деактивирано в тази alpha версия. Ние поддържаме Chrome, Firefox, Opera и Edge.","FAQ_16_H1":"Предаването към телевизор не работи / субтитрите не работят","FAQ_16_P1":"Предаването към телевизор използва технологията DLNA, която е много непоследователна между различните марки и модели телевизори. Поради тази причина нямаме възможност да го тестваме във всеки случай, така че далеч не е идеален. Въпреки това ние работим постоянно върху подобряването му, но не можем да ви дадем прогноза кога DLNA ще започне да работи правилно с вашия телевизор.","FAQ_16_P2":"Ако дори не виждате телевизора си в менюто за предаване, моля, опитайте да деактивирате мрежовата си връзка и да я активирате отново (в Windows щракнете с десния бутон върху Мрежа и използвайте Активиране/Деактивиране), както и рестартирайте рутера, телевизора и компютъра.","FAQ_16_P3":"Ако все още срещате проблеми, можете да ни помогнете, като изпратите информация за марката и модела на вашия телевизор на ${1}office@stremio.com${2}.","FAQ_16_P4":"Междувременно препоръчваме Chromecast, който поддържаме много добре, или просто да включите вашия телевизор към вашия компютър с HDMI кабел.","FAQ_17_H1":"Stremio замръзва и/или се срива, какво мога да направя?","FAQ_17_P1":"Първо, ако използвате Windows 7 с антивирусна програма AVG: имаме проблем с тази комбинация. Проблемът е в самия AVG и няма разумен начин да го разрешим от наша страна. За съжаление, изключенията или деактивирането на антивирусната програма няма да работят. Единственото решение е да замените AVG с нещо друго.","FAQ_17_P2":"Ако това не е проблемът, но все още използвате Windows, моля, актуализирайте до най-новия сервизен пакет и актуализирайте/преинсталирайте драйверите на видеокартата, след което опитайте отново.","FAQ_17_P3":"Ако проблемът ви все още не е решен или използвате Mac или Linux, моля, пишете ни, съобщавайки точните подробности за проблема в ${1}нашата Facebook група${2}.","FAQ_18_H1":"Как мога да направя добавка?","FAQ_18_P1":"За начало препоръчваме ви да проверите нашият ${1}системен модул за добавки${2} в GitHub.","FAQ_18_P2":"След това може да последвате нашият ${1}Hello World съветник${2}.","FAQ_18_P3":"Ако нямате никакви умения за програмиране, моля, публикувайте идеята си в ${1}Reddit общността${2} и се свържете с нас с вашата идея за добавка на ${3}office@stremio.com${4}.","FAQ_19_H1":"Защо Stremio заема дисково пространство?","FAQ_19_P1":"Stremio има локален кеш за временно запазване на видео файловете, които предавате поточно.","FAQ_19_P2":"Това има две предимства: първо, позволява на Stremio да буферира предварително видеото, за да осигури по-плавно поточно предаване. Второ, той запазва видеоклиповете в локалния кеш, така че можете да продължите да ги гледате офлайн.","FAQ_19_P3":"Колко запазва Stremio зависи от настройката Кеш в панела с настройки. Stremio може да поддържа зададеното количество (напр. 2 GB) на вашия диск, освен ако текущо поточно предаваното видео е по-голямо от това, в който случай трябва да разпредели достатъчно място за съхранение, за да го запази, докато не го предавате поточно.","FAQ_20_H1":"Къде е папката за кеша?","FAQ_20_P1":"В Windows, това е stremio-cache в устройството, което сте избрали в Настройки (например \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"В MacOS, това е \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"В Linux, това е \\"~/.stremio/stremio-cache\\" или \\"~/stremio-cache\\"","FAQ_21_H1":"Получих грешка \\"Сървърът за поточно предаване не е намерен\\", какво да правя?","FAQ_21_P1":"Ако получите тази грешка, това означава едно от малкото неща:","FAQ_21_P2":"1) Опитвате се да използвате добавка, поддържана от източник на YouTube/BitTorrent, чрез нашата ${1}уеб версия${2}. В този случай трябва да инсталирате нашата десктоп версия от ${3}нашата страница${4}.","FAQ_21_P3":"2) Нещо не е наред с вашата инсталация на Stremio. В този случай опитайте да инсталирате отново най-новата ни настолна версия от ${1}нашата страница${2}. Ако това не помогне, опитайте да деактивирате антивирусните програми и защитните стени, рестартирайте компютъра си и опитайте отново. Ако и това не работи, моля, пишете ни в ${3}нашата Facebook група${4}.","FAQ_22_H1":"Не виждам/не мога да използвам повечето добавки на iOS","FAQ_22_P1":"Поради ограниченията в правилата и условията на Apple App Store, ние ограничихме приложението за iOS само до определен набор от добавки.","FAQ_22_P2":"Но бъдете сигурни – в бъдеще ще има още добавки за iOS и може също да добавим интеграция, която ще ви позволи да използвате всички добавки на Stremio, благодарение на свързването на приложението за iOS към Stremio Streaming Server."}')},41547:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"মুভি","TYPE_series":"সিরিজ","TYPE_tv":"টিভি চ্যানেল","TYPE_channel":"চ্যানেল","TYPE_other":"অন্যান্য","TYPE_movie_PL":"মুভি","TYPE_series_PL":"সিরিজ","TYPE_tv_PL":"টিভি চ্যানেল","TYPE_channel_PL":"চ্যানেল","TYPE_other_PL":"অন্যান্য","TYPE_ALL":"সব","TYPE":"টাইপ","CATALOG_com_linvo_cinemeta_top":"জনপ্রিয়","CATALOG_com_linvo_cinemeta_imdbRating":"বৈশিষ্ট্যযুক্ত","CATALOG_com_linvo_cinemeta_year":"নতুন","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"পাব্লিক ডোমেইন মুভিসমূহ","VIDEO":"ভিডিও","BACK":"পেছনে","MORE":"আরো","DONE":"সম্পন্ন","COPY":"কপি","SUCCESS":"সফল","ERROR":"ত্রুটি","SETTINGS_CASTING_MODE_PICKER":"কাস্টিং মোড","CASTING_MODE_HLSV2":"স্বয়ংক্রিয়","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"ট্রান্সকোডিং নেই","Discover":"আবিষ্কার করুন","Board":"বোর্ড","Library":"লাইব্রেরি","My Library":"আমার লাইব্রেরি","Calendar":"ক্যালেন্ডার","NOTIFICATION_ONLINE":"আপনি এখন অনলাইনে","NOTIFICATION_OFFLINE":"আপনি বর্তমানে অফলাইনে","INTERNET_CONNECTION":"নেটওয়ার্ক সংযোগ","STORAGE_FULL_TITLE":"সতর্কতা: স্টোরেজ পূর্ণ!","STORAGE_FULL_TEXT":"স্ট্রেমিও আপনার সেটিংস, পছন্দ বা লগইন তথ্য সংরক্ষণ করতে পারবে না। স্ট্রেমিও পুনরায় চালু করা বা পুনরায় ইনস্টল করার কথা বিবেচনা করুন।","SEARCH":"অনুসন্ধান","SEARCH_NO_RESULTS":"কোনো ফলাফল পাওয়া যায়নি","SEARCH_EXPLANATION_CONTENT":"চলচ্চিত্র, সিরিজ, ইউটিউব এবং টিভি চ্যানেল অনুসন্ধান করুন","SEARCH_EXPLANATION_PEOPLE":"অভিনেতা, পরিচালক এবং লেখকদের অনুসন্ধান করুন","SEARCH_PASTE_LINKS":"HTTP এবং ম্যাগনেট লিংক পেস্ট করুন","SEARCH_OR_PASTE_LINK":"অনুসন্ধান করুন বা লিংক পেস্ট করুন","SEARCH_SUGGESTIONS":"অনুসন্ধান পরামর্শ","ADD_TO_LIB":"লাইব্রেরিতে যোগ করুন","REMOVE_FROM_LIB":"লাইব্রেরি থেকে সরান","ADDED_TO_LIB":"লাইব্রেরিতে যোগ করা হয়েছে","REMOVED_FROM_LIB":"লাইব্রেরি থেকে সরানো হয়েছে","TRAILER":"ট্রেইলার","WATCH_TRAILER":"ট্রেইলার দেখুন","WATCH_NOW":"এখন দেখুন","SHOW":"দেখান","SHOW_MOVIE":"চলচ্চিত্র দেখান","WATCH_RANDOM":"এলোমেলোভাবে দেখুন","IMDB_RATING":"IMDb রেটিং","YEAR":"বছর","DIRECTOR":"পরিচালক","WRITER":"লেখক","LEAD_ACTORS":"প্রধান অভিনেতা","CAST":"অভিনেতা","CREW":"দল","SHOW_MORE_CAST":"আরো দেখান »","AIRED":"প্রচারিত","SEASONS":"সিজন","GENRE":"ধরন","GENRE_ALL":"সব ধরন","CATALOG":"ক্যাটালগ","SUMMARY":"সারসংক্ষেপ","SHOW_MORE":"আরো দেখান","SIMILAR":"অনুরূপ","UPCOMING":"আসন্ন","TBA":"TBA","ENDED":"সমাপ্ত","DURATION":"সময়কাল","FEATURED":"বৈশিষ্ট্যযুক্ত","METADATA":"মেটাডেটা","CATEGORY":"বিভাগ","LINKS_GENRES":"ধরন","LINKS_CAST":"অভিনেতা","LINKS_DIRECTORS":"পরিচালক","SEARCH_VIDEOS":"ভিডিও অনুসন্ধান","SEARCH_PLACEHOLDER":"অনুসন্ধান করুন বা URL পেস্ট করুন","ADDON":"অ্যাড-অন","ADDONS":"অ্যাড-অনস","OFFICIAL":"অফিসিয়াল","ADDONS_OFFICIAL":"অফিসিয়াল স্ট্রেমিও অ্যাড-অনস","ADDONS_POPULAR":"আপনার এলাকায় জনপ্রিয়","ADDON_FREE":"বিনামূল্যে","ADDON_PEERED":"পিয়ার্ড","ADDON_SUBSCRIPTION":"সাবস্ক্রিপশন","ADDON_STREAM_GEORESTRICTED":"আপনার এলাকায় উপলব্ধ নয়","ADDON_STREAM_OFFLINECACHE":"অফলাইন ক্যাশে","ADDON_STREAM_LOCALFILE":"লোকাল ফাইল","SHARE_ADDON":"অ্যাড-অন শেয়ার করুন","AVAILABLE_STREAMS":"উপলব্ধ স্ট্রিমসমূহ","NO_STREAM":"কোনো স্ট্রিম পাওয়া যায়নি","ALL_ADDONS":"সমস্ত","INSTALL_MORE_ADDONS":"আরও স্ট্রিমের জন্য, অনুগ্রহ করে আরও অ্যাড-অন ইনস্টল করুন","STREAM_NOT_SUPPORTED":"নির্বাচিত স্ট্রিম এই প্ল্যাটফর্মে সমর্থিত নয়।","ADDON_CATALOGUE":"সমস্ত অ্যাড-অন দেখান »","ADDON_CATALOGUE_MORE":"অ্যাড-অন ইনস্টল করুন","REPO_ADDED":"রিপোজিটরি যোগ করা হয়েছে","ADDON_REPO_EXIST_ERR":"এই অ্যাড-অন সংগ্রহ ইতিমধ্যে বিদ্যমান","ADDON_REPO_ERR":"সংগ্রহ যোগ করার সময় ত্রুটি ঘটেছে","ADDON_ADD_ERR":"অ্যাড-অন যোগ করার সময় ত্রুটি ঘটেছে","ERR_ADDON_PROTECTED":"অ্যাড-অন আনইনস্টল করা যাবে না, এটি সুরক্ষিত","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"কিছু ভুল হয়েছে - প্রমাণীকরণ ব্যর্থ হতে পারে","ERR_NOT_COLLECTION_URL":"সংগ্রহের URL নয়","ERR_NOT_ADDON_URL":"বৈধ অ্যাড-অন URL নয়","ERR_DETECTFROMURL":"এই URL থেকে অ্যাড-অন/সংগ্রহ খুঁজে পাওয়া যাচ্ছে না","ADDON_DUPLICATE_WARNING":"সতর্কতা: ডুপ্লিকেট অ্যাড-অন","ADDON_COLLECTION_SET_FAILED":"আপনার অ্যাকাউন্টে ইনস্টল করা অ্যাড-অনগুলি সিঙ্ক করা ব্যর্থ হয়েছে","SETTINGS_DATA_EXPORT":"ব্যবহারকারীর ডেটা এক্সপোর্ট করুন","ADDON_PULL_FAILED":"আপনার অ্যাকাউন্ট থেকে ইনস্টল করা অ্যাড-অনগুলি সিঙ্ক করা ব্যর্থ হয়েছে","REFRESH_ON_CLICK":"পুনরায় চেষ্টা করতে ক্লিক করুন","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"চলচ্চিত্র এখনও থিয়েটারে আছে","WATCH_IN_CINEMA":"আপনার স্থানীয় সিনেমা হলে দেখুন","IN_THEATER":"সিনেমা হলে","GET_TICKETS":"টিকিট সংগ্রহ করুন","UPCOMING_EPISODE":"আসন্ন এপিসোড","UPCOMING_EPISODE_MESSAGE":"এই এপিসোডটি প্রচারিত হবে","MISSING_DATE_EPISODE":"এপিসোডের তারিখ অনুপস্থিত","MISSING_DATE_EPISODE_MESSAGE":"এই এপিসোডটি এখনও প্রচারিত হয়নি","CHANNEL_NOT_SCRAPED":"এই চ্যানেলটি এখনও স্ক্র্যাপ করা হয়নি।
    অনুগ্রহ করে কয়েক মিনিট পরে আবার আসুন।","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"একবার উপলব্ধ হলে বিজ্ঞপ্তি পেতে এটি আপনার লাইব্রেরিতে যোগ করুন।","GET_NOTIFIED_WHEN_AVAILABLE":"একবার উপলব্ধ হলে আপনি বিজ্ঞপ্তি পাবেন।","WARNING_STREAMING_SERVER":"সতর্কতা: স্থানীয় স্ট্রিমিং সার্ভার পাওয়া যায়নি। স্থানীয় ফাইল, ইউটিউব এবং বিটটরেন্ট থেকে স্ট্রিমিং উপলব্ধ হবে না।","WARNING_STREAMING_SERVER_DISMISS":"বাতিল করুন","WARNING_STREAMING_SERVER_LATER":"পরে","DECODER_WARNING":"সতর্কতা: এই ভিডিওটি আপনার হার্ডওয়্যার দ্বারা সমর্থিত নাও হতে পারে। মনে রাখবেন, প্লেব্যাক ধীর হতে পারে।","GENERIC_ERROR_MESSAGE":"কিছু ভুল হয়েছে!","TRY_AGAIN":"আবার চেষ্টা করুন","CLEAR_DATA":"ডেটা মুছে ফেলুন","PLAYER_ERROR":"উফ, প্লেয়ার ত্রুটি","PLAYER_ERROR_LOOKSLIKE":"মনে হচ্ছে","PLAYER_ORIENTATION":"প্লেয়ার অভিমুখীকরণ","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"লক করা","PLAYER_ORIENTATION_SENSOR_SHORT":"সেন্সর","PLAYER_ORIENTATION_LANDSCAPE":"প্লেয়ার অভিমুখীকরণ ল্যান্ডস্কেপে লক করা","PLAYER_ORIENTATION_SENSOR":"প্লেয়ার অভিমুখীকরণ স্বয়ংক্রিয় (সেন্সর)","PLAYER_PLAYBACK_SPEED":"প্লেব্যাক গতি","PLAYER_PLAYBACK_ERROR":"প্লেব্যাক ত্রুটি, অনুগ্রহ করে আবার চেষ্টা করুন","PLAYER_PLAYBACK_ERROR_UNKNOWN":"অজানা ত্রুটি","PLAYER_PLAYBACK_ERROR_DEFAULT":"দুঃখিত, এই ভিডিওটি {{productName}} দ্বারা চালানো যাবে না।","PLAYER_SUBTITLES_LANGUAGES":"সাবটাইটেল ভাষাসমূহ","PLAYER_SUBTITLES_VARIANTS":"সাবটাইটেল বৈকল্পিকগুলি","PLAYER_SUBTITLES_SETTINGS":"সাবটাইটেল সেটিংস","PLAYER_SUBTITLES_DISABLED":"সাবটাইটেল নিষ্ক্রিয় করা হয়েছে","PLAYER_SUBTITLES_VERTICAL_POSIITON":"উল্লম্ব অবস্থান","PLAYER_SUBTITLES_LOADED":"সাবটাইটেল লোড করা হয়েছে","PLAYER_SUBTITLES_LOADED_EMBEDDED":"এম্বেডেড সাবটাইটেল লোড করা হয়েছে","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"এক্সক্লুসিভ সাবটাইটেল লোড করা হয়েছে","PLAYER_SUBTITLES_LOADED_LOCAL":"স্থানীয় সাবটাইটেল লোড করা হয়েছে","PLAYER_SUBTITLES_LOADED_ORIGIN":"{{origin}} থেকে সাবটাইটেল লোড করা হয়েছে","PLAYER_PLAY":"চালান","PLAYER_PAUSE":"বিরতি","PLAYER_NEXT_VIDEO":"পরবর্তী ভিডিও","PLAYER_MUTE":"নিঃশব্দ করুন","PLAYER_UNMUTE":"শব্দ চালু করুন","PLAYER_OPEN_IN_EXTERNAL":"বাহ্যিক প্লেয়ারে খুলুন","PLAYER_OPEN_IN_NPLAYER":"nPlayer-এ খুলুন","PLAYER_PLAY_IN":"{{device}}-এ চালান","PLAYER_LIVE":"লাইভ","PLAYER_NEXT_VIDEO_TITLE":"পরবর্তীতে আসছে","PLAYER_NEXT_VIDEO_TITLE_SHORT":"পরবর্তীতে","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"বাতিল করুন","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"এখন দেখুন","PLAYER_COPY_STREAM_SUCCESS":"স্ট্রিম লিংক আপনার ক্লিপবোর্ডে কপি করা হয়েছে","PLAYER_COPY_STREAM_ERROR":"স্ট্রিম লিংক কপি করতে ব্যর্থ হয়েছে","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"ডাউনলোড লিংক আপনার ক্লিপবোর্ডে কপি করা হয়েছে","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"ডাউনলোড লিংক কপি করতে ব্যর্থ হয়েছে","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"থেকে স্ট্রিমিং হচ্ছে","CASTING_TO":"কাস্ট করা হচ্ছে","NETWORK_STATUS":"নেটওয়ার্কের অবস্থা","STREAM_SPEED":"স্ট্রিমের গতি:","STREAM_BUFFERED":"বাফার করা হয়েছে:","PEERS_INFO":"পিয়ার তথ্য","PEERS_ACTIVE":"সক্রিয়:","PEERS_CONNECTED":"সংযুক্ত:","PEERS_WAITING":"অপেক্ষমান:","TRANSCODING_WARNING":"সতর্কতা: ভিডিও ট্রান্সকোডিং হচ্ছে।","STREAM_LOADING":"লোড হচ্ছে...","PLAYING_LOCAL":"স্থানীয় ফাইল থেকে চালানো হচ্ছে","PLAYING_CACHE":"ক্যাশে থেকে চালানো হচ্ছে","WRONG_SUBS":"ভুল সাবটাইটেল?","ERR_SUBS_LOADING_TITLE":"সাবটাইটেল লোড করতে ত্রুটি","ERR_SUBS_LOADING":"সাবটাইটেল লোড করতে ব্যর্থ হয়েছে: এটি আপনার ব্যবহৃত অ্যাড-অন বা আপনার নেটওয়ার্ক সংযোগের সমস্যা হতে পারে","WARN_FOLLOWING_SUB_ADDONS_FAILED":"নিম্নলিখিত সাবটাইটেল অ্যাড-অনগুলি ব্যর্থ হয়েছে","ERR_CASTING_UPDATE_TITLE":"কাস্টিং ডিভাইসের তথ্য আপডেট করা যায়নি: স্ট্রিমিং সার্ভার অফলাইন হতে পারে","CHOOSE_DEVICE":"দেখার জন্য একটি ডিভাইস বেছে নিন","NO_CAST_DEVICES":"কোনো কাস্টিং ডিভাইস উপলব্ধ নেই।","NO_SETTINGS":"কোনো সেটিংস উপলব্ধ নেই।","NO_OPTIONS":"No options available","PHONE_TABLET":"ফোন / ট্যাবলেট","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"সাবটাইটেল","SUBTITLES_CHANGE":"সাবটাইটেল পরিবর্তন করুন","SUBTITLES_CHANGE_NONE":"দুঃখিত, এই ভাষায় অন্য কোনো সাবটাইটেল নেই।","SUBTITLES_CHANGE_ACIVE":"বর্তমানে সাবটাইটেল #{{subtitlesDialog.activeIdx + 1}} সক্রিয় আছে। সাবটাইটেল #{{subtitlesDialog.pickedIdx + 1}} সক্রিয় করতে \'চালিয়ে যান\' ক্লিক করুন।","SUBTITLES_OR":"বিকল্পভাবে,","SUBTITLES_ADJUST_DELAY":"সাবটাইটেল বিলম্ব সামঞ্জস্য করুন:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"অথবা চালানোর সময় সামঞ্জস্য করতে G / H কী ব্যবহার করুন।","SUBTITLES_ADJUST_DELAY_TIP":"পরামর্শ: আপনি চালানোর সময় সামঞ্জস্য করতে G / H কী ব্যবহার করতে পারেন।","SUBTITLES_DELAY":"সাবটাইটেল বিলম্ব:","SUBTITLES_LOADING":"সাবটাইটেল লোড হচ্ছে...","SUBTITLES_UNAVAILABLE":"কোনো বাহ্যিক সাবটাইটেল উপলব্ধ নেই","SUBTITLES_DISABLED":"নিষ্ক্রিয়","EXTERNAL_PLAYER_DISABLED":"নিষ্ক্রিয়","EXTERNAL_PLAYER_ALLOW_CHOOSING":"বেছে নেওয়ার অনুমতি দিন","EXTERNAL_PLAYER_HINT":"ইঙ্গিত: সর্বদা বাহ্যিক প্লেয়ারে খোলার অনুমতি দেওয়ার জন্য একটি সেটিং রয়েছে","DONT_SHOW_AGAIN":"আবার দেখাবেন না","SERVICE_INSTALL":"ইনস্টল করুন","AUDIO":"অডিও","DEFAULT_LANGUAGE":"স্বয়ংক্রিয় ভাষা","DEFAULT_SECONDARY_LANGUAGE":"স্বয়ংক্রিয় দ্বিতীয় ভাষা","SEASON":"সিজন","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"এপিসোড","EPISODE_ABBREVIATION":"ইপি","SPECIAL":"বিশেষ","SORT":"সাজান","SORT_BY":"সাজান","FILTER":"ফিল্টার","SORT_TRENDING":"ট্রেন্ডিং","SORT_RECENT":"সাম্প্রতিক","SORT_ALPHABET":"ক-খ","SORT_ALPHABET_REVERSE":"খ-ক","SORT_RATING":"রেটিং","SORT_WATCHED":"দেখা হয়েছে","SORT_YEAR":"বছর","SELECT":"Select","SELECT_TYPE":"ধরন নির্বাচন করুন","SELECT_SORT":"সাজানোর ধরন নির্বাচন করুন","SELECT_CATALOG":"ক্যাটালগ নির্বাচন করুন","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"ধরন নির্বাচন করুন","SORT_LASTWATCHED":"শেষ দেখা","SORT_NAME":"ক-খ","SORT_NAMEREVERSE":"খ-ক","SORT_TIMESWATCHED":"সবচেয়ে বেশি দেখা","SORT_NOTWATCHED":"দেখা হয়নি","New for You":"আপনার জন্য নতুন","New Episodes":"নতুন এপিসোড","New Videos":"নতুন ভিডিও","Recommendations":"সুপারিশকৃত","LIBRARY_RESUME":"পুনরায় শুরু করুন","LIBRARY_PLAY":"চালান","LIBRARY_DETAILS":"বিস্তারিত","LIBRARY_RESUME_DISMISS":"বাতিল করুন","LIBRARY_CLEAR_PROGRESS":"অগ্রগতি মুছে ফেলুন","LIBRARY_REMOVE":"সরান","LIBRARY_NOT_LOGGED_IN":"লাইব্রেরি শুধুমাত্র লগ ইন করা ব্যবহারকারীদের জন্য উপলব্ধ","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"ক্যালেন্ডার শুধুমাত্র লগ ইন করা ব্যবহারকারীদের জন্য উপলব্ধ","NOT_LOGGED_IN_CLOUD":"আপনার প্রিয় সিনেমা এবং টিভি শোগুলি যেকোনো সময়, যেকোনো জায়গায় অ্যাক্সেস করুন","NOT_LOGGED_IN_RECOMMENDATIONS":"আপনার দেখার ইতিহাস অনুযায়ী সুপারিশ","NOT_LOGGED_IN_NOTIFICATIONS":"কখনও একটি এপিসোড মিস করবেন না","NOT_LOGGED_IN_CALENDAR":"আপনার ব্যক্তিগত দেখার ক্যালেন্ডার শিডিউল করুন","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"বৈশিষ্ট্যযুক্ত","DISCOVER_TOP":"শীর্ষ","DISCOVER_OSCAR":"অস্কার বিজয়ী","DISCOVER_WARNING_TITLE":"ওহ!","DISCOVER_EMPTY_CATALOG":"এই অ্যাডঅনটি খালি কনটেন্ট প্রদান করেছে।","DISCOVER_ADULT_WARNING":"কন্টেন্ট শুধুমাত্র প্রাপ্তবয়স্কদের জন্য দৃশ্যমান। আপনি কি ১৮+?","DISCOVER_NOADDON_WARNING":"সতর্কবার্তা: এই ধরণের জন্য কোনো Stremio অ্যাডঅন সক্রিয় নয়। সংরক্ষিত আইটেম দেখানো হচ্ছে, এখানে কিছু আপডেট হবে না।","DISCOVER_LOAD_ERR":"কন্টেন্ট লোড হয়নি, একটি ত্রুটি ঘটেছে।","DISCOVER_ADDON_UNINSTALLED":"এই কন্টেন্ট আর উপলব্ধ নেই, আপনি সম্ভবত অ্যাডঅন আনইনস্টল করেছেন।","UNINSTALL_THIS_ADDON":"এই অ্যাডঅন আনইনস্টল করুন","ERR_ADDON_NOT_INSTALLED":"এই অ্যাডঅনটি ইনস্টল করা নেই। এখনই ইনস্টল করবেন?","DETAIL_RECEIVE_NOTIF_SERIES":"নতুন এপিসোডের জন্য বিজ্ঞপ্তি পান","DETAIL_RECEIVE_NOTIF_VIDEOS":"নতুন ভিডিওর জন্য বিজ্ঞপ্তি পান","SIDEBAR_SHOW_STREAMS":"স্ট্রিমগুলি দেখান","RELAUNCH":"এখনই পুনরায় চালু করুন!","UPGRADE":"নতুন সংস্করণ! সর্বশেষ Stremio সংস্করণে আপগ্রেড করুন","RELOAD_UI":"ইউজার ইন্টারফেস পুনরায় লোড করুন","MANUAL_UPDATE_TITLE":"আপনার Stremio সংস্করণ আপডেট করুন","MANUAL_UPDATE_LINE1":"আপনি একটি পুরানো Stremio সংস্করণ চালাচ্ছেন যা অত্যন্ত অনির্দেশিত।","MANUAL_UPDATE_LINE2":"দয়া করে যত তাড়াতাড়ি সম্ভব আপডেট করুন।","BUTTON_UPDATE_LATTER":"এখন নয়","BUTTON_UPDATE_NOW":"আপডেট করুন","UPDATER_TITLE":"স্ট্রেমিও এর একটি নতুন সংস্করণ আছে","UPDATER_INSTALL_BUTTON":"এখন ইনস্টল করুন","ANONYMOUS_USER":"অজ্ঞাত ব্যবহারকারী","DONT_HAVE_ACC":"আপনার কি একটি অ্যাকাউন্ট নেই?","HAVE_ACC":"আপনার কি একটি অ্যাকাউন্ট আছে?","PASSWORD":"পাসওয়ার্ড","PASSWORD_CONFIRM":"পাসওয়ার্ড নিশ্চিত করুন","EMAIL":"ই-মেইল","FB_LOGIN":"ফেসবুক দিয়ে চালিয়ে যান","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"আপনার অনুমতি ছাড়া কিছুই শেয়ার করা হয় না","FB_NOPOST":"আমরা আপনার পক্ষে কিছু পোস্ট করব না","OR":"অথবা","I_ACCEPT":"আমি গ্রহণ করি","I_ACCEPT_BY_CLICKING":"উপরের বোতামে ক্লিক করে আমি স্বীকার করছি যে আমি গ্রহণ করছি ","TOS":"শর্তাবলী","MUST_ACCEPT_TERMS":"আপনাকে শর্তগুলি গ্রহণ করতে হবে","PASSWORDS_NOMATCH":"পাসওয়ার্ডগুলি মেলে না","SIGN_UP":"নিবন্ধন করুন","SIGN_UP_EMAIL":"ইমেইল দিয়ে নিবন্ধন করুন","CLICK_TO_SIGN_UP":"নিবন্ধনের জন্য এখানে ক্লিক করুন।","LOG_IN":"লগ ইন","LOG_OUT":"লগ আউট","EXIT_FULLSCREEN":"ফুলস্ক্রীন মোড থেকে বেরিয়ে যান","ENTER_FULLSCREEN":"ফুলস্ক্রীন মোডে যান","PLAY_URL_MAGNET_LINK":"URL/ম্যাগনেট লিংক চালান","HELP_FEEDBACK":"সহায়তা ও প্রতিক্রিয়া","TERMS_OF_SERVICE":"সেবার শর্তাবলী","PRIVACY_POLICY":"গোপনীয়তা নীতি","ABOUT_STREMIO":"Stremio সম্পর্কে","USER_PANEL":"ব্যবহারকারী প্যানেল","LOGIN_LABEL":"লগইন","GUEST_LOGIN":"অতিথি লগইন","GUEST_LOGIN_NOTICE":"অতিথি লগইন সুপারিশ করা হয় না। একটি নিয়মিত লগইন ব্যবহার করলে Stremio আপনার লাইব্রেরি সিঙ্ক করতে পারে, প্রিয় সিরিজ/চ্যানেলের বিজ্ঞপ্তি পেতে পারে। আপনি কি নিশ্চিত যে আপনি এগিয়ে যেতে চান?","GUEST_LOGIN_NOTICE_2":"অতিথি লগইন সুপারিশ করা হয় না - আপনার সিঙ্কড লাইব্রেরি এবং বোর্ড বিজ্ঞপ্তি থাকবে না, যা Stremio এর গুরুত্বপূর্ণ বৈশিষ্ট্য। আপনি কি নিশ্চিত যে আপনি এগিয়ে যেতে চান?","CLICK_HERE":"এখানে ক্লিক করুন","WRONG_PASSWORD":"ভুল ইমেল বা পাসওয়ার্ড। আপনি যদি আপনার পাসওয়ার্ড ভুলে থাকেন, ","SET_A_PASS":"একটি পাসওয়ার্ড সেট করুন","RESET_PASSWORD":"পাসওয়ার্ড পুনরায় সেট করুন","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"পাসওয়ার্ড ভুলে গেছেন?","EMAIL_USED_WITH_FB":"এই ইমেইলটি ফেসবুক লগইনের সাথে ব্যবহৃত হয়েছে।","INVALID_EMAIL":"অনুগ্রহ করে একটি বৈধ ইমেইল ঠিকানা প্রবেশ করুন","INVALID_PASSWORD":"অনুগ্রহ করে একটি বৈধ পাসওয়ার্ড প্রবেশ করুন","CONN_ERR":"সংযোগ ত্রুটি - দয়া করে পরে আবার চেষ্টা করুন।\\n\\nযদি এটি চলতে থাকে, ফায়ারওয়াল/অ্যান্টি-ভাইরাস সফটওয়্যার (বিশেষ করে Bitdefender) অক্ষম করুন।","IMPORT_FROM_GUEST":"আপনার অতিথি অ্যাকাউন্ট থেকে লাইব্রেরি আমদানি করুন","RECEIVE_UPDATES_EMAIL":"Stremio থেকে আপনার ইমেইলে আপডেটগুলি পান","LOGIN_FAILED":"লগইন ব্যর্থ হয়েছে।","SIGNUP_FAILED":"নিবন্ধন ব্যর্থ হয়েছে।","SEARCH_FAILED":"অনুসন্ধান ব্যর্থ হয়েছে","EMAIL_USED":"এই ইমেইলটি ইতিমধ্যে ব্যবহৃত হয়েছে।","WAITING_FB_LOGIN":"ফেসবুক দিয়ে লগইন হচ্ছে...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"বাহ্যিক প্লেয়ারে চালান","EXTERNAL_REMEMBER_PLAYER":"আপনি কি আপনার পছন্দটি মনে রাখতে চান?","EXTERNAL_ALWAYS_PLAY":"হ্যাঁ","EXTERNAL_ONLY_ONCE":"না","BEST_FIT":"সেরা ফিট","FIT_SCREEN":"স্ক্রীনে ফিট","FILL":"ভরাট করুন","16:9":"১৬:৯","4:3":"৪:৩","Original":"মূল","INTRO_TASTE":"আমাদের বলুন আপনি কী পছন্দ করেন","INTRO_TASTE_LONG":"আমাদের বলুন আপনি কী দেখতে চান","INTRO_TASTE_PICK":"{{interestsRemaining}} টি আগ্রহ বেছে নিন","INTRO_TASTE_PICK_MORE":"{{interestsRemaining}} টি আরও আগ্রহ বেছে নিন","INTRO_TASTE_HELP_US":"আমাদের আপনার সম্পর্কে আরও জানতে সাহায্য করুন।","INTRO_TASTE_CHOOSE_THESE":"এগুলির মধ্যে কিছু বেছে নিন:","INTRO_TASTE_CHOOSE_MIN":"অন্তত ৩টি বিভাগ বেছে নিন","INTRO_TASTE_CHOOSE_MIN_ERR":"আপনাকে অন্তত ৩টি বিভাগ বেছে নিতে হবে!","INTRO_TASTE_LIFESTYLE":"জীবনধারা","INTRO_TASTE_SPORTS":"খেলাধুলা","INTRO_TASTE_FOOD_HEALTH":"খাদ্য ও স্বাস্থ্য","INTRO_TASTE_BEAUTY_FASHION":"সৌন্দর্য ও ফ্যাশন","INTRO_TASTE_NEWS":"সংবাদ","INTRO_TASTE_GAMING":"গেমিং","INTRO_TASTE_SCIENCE_EDU":"বিজ্ঞান ও শিক্ষা","INTRO_TASTE_MUSIC":"সঙ্গীত","INTRO_TASTE_TRAVEL":"ভ্রমণ","INTRO_TASTE_LATE_NIGHT":"লেট নাইট শো","INTRO_TASTE_REALITY":"রিয়েলিটি","INTRO_TASTE_COMEDY":"কৌতুক","INTRO_TASTE_DIY":"DIY কিভাবে হবে","INTRO_TASTE_TECH":"প্রযুক্তি","INTRO_TASTE_CINEMA":"সিনেমা","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"নির্বাচিত অ্যাডঅনটি এই প্ল্যাটফর্মে সমর্থিত নয়।","ADDON_DISCLAIMER":"তৃতীয় পক্ষের অ্যাডঅন ব্যবহার সর্বদা আপনার দায়িত্ব এবং আপনি যে অধিক্ষেত্রে আছেন তার শাসনকানুনের অধীনে হবে।","ADDON_ACTIVATE":"এই অ্যাডঅনটি সক্রিয় করবেন?","ADDON_REPO_ADD":"অ্যাডঅন সংগ্রহের URL","ADDON_ADD":"যোগ করুন","INSTALL_ADDON":"অ্যাডঅন ইনস্টল করুন","ADD_ADDON":"অ্যাডঅন যোগ করুন","ADD_ADDON_DESCRIPTION":"আপনি একটি বাহ্যিক লিঙ্কের মাধ্যমে একটি অ্যাডঅন যোগ করতে পারেন, যা ইনস্টল করা অ্যাডঅনগুলির অধীনে প্রদর্শিত হবে।","PASTE_ADDON_URL":"অ্যাডঅন URL পেস্ট করুন","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"নতুন কী","BUTTON_CONTINUE":"চালিয়ে যান","BUTTON_ACTIVATE":"সক্রিয় করুন","BUTTON_ACTIVATED":"সক্রিয় হয়েছে","BUTTON_CANCEL":"বাতিল করুন","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"জমা দিন","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"সব বাদ দিন","BUTTON_VIEW_ALL":"সব দেখুন","BUTTON_SEE_ALL":"সব দেখুন","BUTTON_COLOR_TRANSPARENT":"স্বচ্ছ","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"ব্রাউজারে খুলুন","LIB_EMPTY":"আপনার লাইব্রেরি খালি দেখাচ্ছে। এটি কতটা উপকারী তা খুঁজে বের করুন :)","HOW_START":"এভাবে আপনি শুরু করতে পারেন:","LIB_EMPTY_CAL":"আপনার ক্যালেন্ডার আপনার লাইব্রেরিতে থাকা সিরিজগুলি দেখায়।","HOW_START_CAL":"এভাবে আপনি সিরিজ যোগ করতে পারেন:","LIB_EMPTY_BOARD":"বোর্ড আপনার লাইব্রেরি সম্পর্কিত বিজ্ঞপ্তি ও সুপারিশগুলি দেখায়।","HOW_START_BOARD_WAIT":"অনুগ্রহ করে, আপনার লাইব্রেরিতে কয়েকটি সিরিজ বা চ্যানেল যোগ করুন এবং আমাদের প্রক্রিয়া করতে কয়েক মিনিট সময় দিন :)","HOW_START_BOARD":"এভাবে আপনি এতে সিরিজ এবং সিনেমা যোগ করতে পারেন:","IMPORT_FB":"ফেসবুক থেকে আপনার পছন্দের জিনিস আমদানি করুন","IMPORT_TRAKT":"Trakt থেকে আপনার মিডিয়া লাইব্রেরি আমদানি করুন","IMPORT_DISCOVER":"ডিসকভার থেকে আকর্ষণীয় জিনিসগুলি খুঁজে বের করুন","IMPORT_DISK":"আপনার লোকাল ডিস্ক এ থাকা সিনেমা বা শো আমদানি করুন","PLEASE_CREATE_ACC":"লাইব্রেরি সিঙ্ক এবং বোর্ড সক্ষম করতে দয়া করে একটি অ্যাকাউন্ট তৈরি করুন।","IMPORT_DISCOVER_SIGNUP":"নিবন্ধন করুন এবং ডিসকভার থেকে আকর্ষণীয় জিনিস খুঁজে বের করুন","IMPORT_DISK_SIGNUP":"নিবন্ধন করুন এবং আপনার লোকাল ডিস্ক এ থাকা সিনেমা বা শো আমদানি করুন","LIB_EMPTY_CLOUD":"ক্লাউড লাইব্রেরি","LIB_EMPTY_CLOUD_DESC":"ব্যক্তিগত ক্লাউড লাইব্রেরি সব ডিভাইসে সিঙ্ক করা থাকে","LIB_EMPTY_EARLY":"প্রথম ব্যবহারকারী","LIB_EMPTY_EARLY_DESC":"নতুন এপিসোডের জন্য বিজ্ঞপ্তি পান","LIB_EMPTY_PERSONAL":"ব্যক্তিগত","LIB_EMPTY_PERSONAL_DESC":"ব্যক্তিগত সুপারিশ পান","LIB_EMPTY_CALENDAR_DESC":"আপনার ব্যক্তিগত দেখার ক্যালেন্ডার শিডিউল করুন","LIB_EMPTY_ALL":"এইসব পেতে নিবন্ধন করুন:","LIB_EMPTY_BEST":"Stremio এর সর্বোত্তম সুবিধা পেতে নিবন্ধন করুন","LIB_EMPTY_OTHER":"ক্যালেন্ডার ও অন্যান্য চমৎকার বৈশিষ্ট্য সক্ষম করতে নিবন্ধন করুন","CALENDAR_ADDED":"Stremio ক্যালেন্ডার আপনার স্বয়ংক্রিয় ডেস্কটপ ক্যালেন্ডারে যুক্ত করা হয়েছে।","CALENDAR_ADDED_MSG":"যদি এটি কাজ না করে, অনুগ্রহ করে এই URLটি আপনার ক্যালেন্ডার অ্যাপ্লিকেশনে ম্যানুয়ালি যুক্ত করুন।","TRAKT_EXPIRED":"Trakt প্রমাণীকরণ মেয়াদ শেষ হয়েছে, দয়া করে সেটিংসে যান এবং পুনরায় প্রমাণীকরণ করুন","TRAKT_REQUIRES_LOGIN":"Trakt ত্রুটি","TRAKT_REQUIRES_LOGIN_MSG":"আপনাকে লগইন করতে হবে","TRAKT_IMPORT_WATCHED":"আমদানি করুন","THEME":"থিম","THEME_DEFAULT":"স্বয়ংক্রিয়","THEME_ADAPTIVE":"অ্যাডাপটিভ","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"সেটিংস","SETTINGS_NAV_GENERAL":"সাধারণ","SETTINGS_NAV_PLAYER":"প্লেয়ার","SETTINGS_NAV_STREAMING":"স্ট্রিমিং","SETTINGS_NAV_SHORTCUTS":"শর্টকাট","SETTINGS_SHORTCUT_RELOAD_APP":"অ্যাপ পুনরায় লোড করুন","SETTINGS_SHORTCUT_OPEN_SETTINGS":"সেটিংস খুলুন","SETTINGS_SHORTCUT_SWITCH_TABS":"ট্যাব পরিবর্তন করুন","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"ট্যাবগুলি এগিয়ে ঘোরান","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"ট্যাবগুলি পিছনে ঘোরান","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"মেনুগুলির মধ্যে নেভিগেট করুন","SETTINGS_SHORTCUT_GO_TO_SEARCH":"সার্চে যান","SETTINGS_SHORTCUT_EXIT_BACK":"বের হন / পেছনে যান","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"প্লেব্যাক স্পিড মেনু চালু/বন্ধ করুন","SETTINGS_SHORTCUT_MENU_VIDEOS":"ভিডিও মেনু চালু/বন্ধ করুন","SETTINGS_SHORTCUT_MENU_SUBTITLES":"সাবটাইটেল মেনু চালু/বন্ধ করুন","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"তথ্য মেনু চালু/বন্ধ করুন","SETTINGS_SHORTCUT_FULLSCREEN":"ফুলস্ক্রিন চালু/বন্ধ করুন","SETTINGS_SHORTCUT_SHOW_CONTROLS":"কন্ট্রোলগুলি দেখান","SETTINGS_SHORTCUT_PLAY_PAUSE":"চালান / বিরতি দিন","SETTINGS_SHORTCUT_VOLUME_UP":"ভলিউম বাড়ান","SETTINGS_SHORTCUT_VOLUME_DOWN":"ভলিউম কমান","SETTINGS_SHORTCUT_SEEK_NEXT":"পরবর্তী দিকে যান","SETTINGS_SHORTCUT_SEEK_PREV":"আগের দিকে যান","SETTINGS_SHORTCUT_SEEK_BACKWARD":"পেছনের দিকে যান","SETTINGS_SHORTCUT_SEEK_FORWARD":"সামনের দিকে যান","SETTINGS_SHORTCUT_PLAY_NEXT":"পরবর্তীটি চালান","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"সাবটাইটেলের আকার বাড়ান","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"সাবটাইটেলের আকার কমান","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"সাবটাইটেলের বিলম্ব বাড়ান","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"সাবটাইটেলের বিলম্ব কমান","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"সাইডবার চালু/বন্ধ করুন","SETTINGS_SHORTCUT_OR":"অথবা","SETTINGS_SHORTCUT_TO":"থেকে","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"স্পেস","SETTINGS_SHORTCUT_SHIFT":"শিফট","SETTINGS_SHORTCUT_ESC":"এস্কেপ","SETTINGS_TRAKT_AUTHENTICATE":"যাচাই করুন","SETTINGS_FACEBOOK_IMPORT":"আমদানি করুন","SETTINGS_CALENDAR_SUBSCRIBE":"সাবস্ক্রাইব করুন","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"ক্যালেন্ডার অ্যাপ খোলা হয়েছে। অনুগ্রহ করে ক্যালেন্ডারটিতে ম্যানুয়ালি সাবস্ক্রাইব করুন।","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"ক্যালেন্ডার ফাইল ডাউনলোড করা হয়েছে। অনুগ্রহ করে এটি আপনার ক্যালেন্ডার অ্যাপে আমদানি করুন।","SETTINGS_INTERFACE_LANGUAGE":"ইন্টারফেস ভাষা","SETTINGS_LAUNCH_STARTUP":"স্টার্টআপে চালু করুন","SETTINGS_VLC_DEFAULT":"VLC দিয়ে চালান","SETTINGS_UI_LANGUAGE":"UI ভাষা","SETTINGS_UI_ZOOM":"ইন্টারফেস জুম","SETTINGS_FULLSCREEN_EXIT":"Escape কী দিয়ে ফুলস্ক্রিন থেকে বের হন","SETTINGS_GAMEPAD":"গেমপ্যাড সমর্থন সক্রিয় করুন","SETTINGS_CLOSE_WINDOW":"উইন্ডো বন্ধ হলে অ্যাপ বন্ধ করুন","SETTINGS_SUBTITLES_LANGUAGE":"স্বয়ংক্রিয় সাবটাইটেল ভাষা","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"দ্বিতীয় সাবটাইটেল ভাষা","SETTINGS_SUBTITLES_SIZE":"স্বয়ংক্রিয় সাবটাইটেল আকার","SETTINGS_SUBTITLES_BACKGROUND":"সাবটাইটেল ব্যাকগ্রাউন্ড","SETTINGS_SUBTITLES_COLOR":"সাবটাইটেল রং","SETTINGS_SUBTITLES_COLOR_OUTLINE":"সাবটাইটেল আউটলাইন রং","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"সাবটাইটেল ব্যাকগ্রাউন্ড রং","SETTINGS_SEEK_KEY":"অ্যারো কী দিয়ে সময় পরিবর্তন করুন","SETTINGS_SEEK_KEY_SHIFT":"শিফট কী ধরে রাখলে অ্যারো কী দিয়ে সময় পরিবর্তন করুন","SETTINGS_REWIND_FAST_FORWARD_DURATION":"রিওয়াইন্ড এবং দ্রুত এগিয়ে যাওয়ার সময়কাল","SETTINGS_BINGE":"পরবর্তী এপিসোড স্বয়ংক্রিয়ভাবে চালান","SETTINGS_NEXT_VIDEO":"পরবর্তী এপিসোড শুরু করার বিজ্ঞপ্তি দেখান","SETTINGS_NEXT_VIDEO_TRIGGER":"পরবর্তী এপিসোডের বিজ্ঞপ্তি দেখান:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"পরবর্তী ভিডিও পপআপ সময়কাল","SETTINGS_PLAY_IN_BACKGROUND":"পটভূমিতে চালান","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"বাহ্যিক প্লেয়ারে চালান","SETTINGS_RESIZE":"চালানোর আগে উইন্ডো স্বয়ংক্রিয়ভাবে পুনরায় আকার দিন","SETTINGS_OVERRIDE_SERVER":"স্ট্রিমিং সার্ভারের URL ওভাররাইড করুন (উন্নত)","SETTINGS_SERVER_ADD_URL":"URL যোগ করুন","SETTINGS_SERVER_URL":"স্ট্রিমিং সার্ভারের URL:","SETTINGS_SERVER_AVAILABLE":"স্ট্রিমিং সার্ভার উপলব্ধ।","SETTINGS_SERVER_UNAVAILABLE":"স্ট্রিমিং সার্ভার উপলব্ধ নয়।","SETTINGS_SERVER_STATUS_ONLINE":"অনলাইন","SETTINGS_SERVER_STATUS_ERROR":"ত্রুটি","SETTINGS_SERVER_CONFIGURE_TITLE":"স্ট্রিমিং সার্ভারের URL কনফিগার করুন","SETTINGS_SERVER_CONFIGURE_INPUT":"একটি স্ট্রিমিং সার্ভারের URL প্রবেশ করান","SETTINGS_SERVER_CACHE_SIZE":"ক্যাশের আকার","SETTINGS_SERVER_TORRENT_PROFILE":"টরেন্ট প্রোফাইল","SETTINGS_HTTPS_ENDPOINT":"স্ট্রিমিং HTTPS এন্ডপয়েন্ট:","SETTINGS_TRANSCODE_PROFILE":"ট্রান্সকোড প্রোফাইল","SETTINGS_USE_BETA":"সবসময় সর্বশেষ বিটা ব্যবহার করুন","SETTINGS_IMPORT_FB":"ফেসবুক থেকে আমদানি করুন","SETTINGS_IMPORT_DISK":"লোকাল ডিস্ক থেকে আমদানি করুন","SETTINGS_IMPORT_TRAKT":"Trakt থেকে আমদানি করুন","SETTINGS_PAUSE_MINIMIZED":"মিনিমাইজ করা হলে প্লেব্যাক বিরতি দিন","SETTINGS_HWDEC":"হার্ডওয়্যার-অ্যাক্সিলারেটেড ডিকোডিং","SETTINGS_BACKGROUND":"পটভূমিতে প্লেব্যাক","SETTINGS_SUBSCRIBE_CALENDAR":"ক্যালেন্ডারে সাবস্ক্রাইব করুন","SETTINGS_REQ_EXPORT":"ডেটা রপ্তানির অনুরোধ করুন","SETTINGS_ACC_DELETE":"অ্যাকাউন্ট মুছে ফেলার অনুরোধ করুন","SETTINGS_CHANGE_PASSWORD":"পাসওয়ার্ড পরিবর্তন করুন","SETTINGS_TOS":"সেবার শর্তাবলী","SETTINGS_SUPPORT":"সমর্থন পরিষেবার সাথে যোগাযোগ করুন","SETTING_LANGUAGE":"ভাষা","SETTINGS_BLUR_UNWATCHED_IMAGE":"না দেখা এপিসোডের ছবি ঝাপসা করুন","SETTINGS_QUIT_ON_CLOSE":"বন্ধ করার সময় প্রস্থান করুন","SETTINGS_TRAKT":"Trakt স্ক্রব্লিং","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Trakt.tv থেকে লগআউট করুন","SETTINGS_TRAKT_LOGOUT_2":"Trakt থেকে লগ আউট করুন","SETTINGS_SCAN_FOR_REMOTE":"রিমোট খুলতে QR কোড স্ক্যান করুন","SETTINGS_DESKTOP_NOTIFICATIONS":"ডেস্কটপ বিজ্ঞপ্তি","SETTINGS_DATA_SAVER":"ডেটা সেভার","SETTINGS_LANGUAGE_INTERFACE":"ইন্টারফেস","SETTINGS_LANGUAGE_SUBS":"স্বয়ংক্রিয় সাবটাইটেল","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"অডিও ট্র্যাক স্বয়ংক্রিয়ভাবে নির্বাচন করুন","SETTINGS_DEFAULT_AUDIO_TRACK":"স্বয়ংক্রিয় অডিও ট্র্যাক","SETTINGS_SECONDARY_AUDIO_TRACK":"দ্বিতীয় অডিও ট্র্যাক","SETTINGS_SURROUND_SOUND":"সারাউন্ড সাউন্ড","SETTINGS_ACCOUNT":"অ্যাকাউন্ট","SETTINGS_PLATFORM":"প্ল্যাটফর্ম","SETTINGS_VERSION":"সংস্করণ","SETTINGS_ABOUT":"সম্পর্কে","SETTINGS_MPV_WINDOW":"প্লেয়ারকে একটি পৃথক উইন্ডোতে চালু করুন (উন্নত)","SETTINGS_PLAY_IN_EXTERNAL":"সর্বদা বাহ্যিক প্লেয়ারে ভিডিও শুরু করুন","SETTINGS_STORAGE_BUTTON":"লোকাল স্টোরেজ মুছুন","SETTINGS_STORAGE_MODAL_TITLE":"আপনি কি নিশ্চিত?","SETTINGS_STORAGE_MODAL_MESSAGE":"এটি লোকাল স্টোরেজ মুছে ফেলবে এবং আপনাকে লগ আউট করবে।","SETTINGS_HWDEC_PICKER":"হার্ডওয়্যার-ত্বরান্বিত ডিকোডিং সেটিং বেছে নিন","SETTINGS_HW_AUTOMATIC":"স্বয়ংক্রিয়","SETTINGS_HW_DISABLED":"নিষ্ক্রিয়","SETTINGS_HW_ACCELERATED":"ডিকোডিং ত্বরণ","SETTINGS_HW_FULL":"সম্পূর্ণ ত্বরণ","SETTINGS_HW_LEGACY":"লেগাসি","SETTINGS_DISABLED":"নিষ্ক্রিয়","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"নেটওয়ার্ক সংযোগ বিজ্ঞপ্তি","SETTINGS_ANALYTICS":"বিশ্লেষণের অনুমতি দিন","SETTINGS_REMOTE_URL":"দূরবর্তী URL","SETTINGS_COPY_REMOTE_URL":"দূরবর্তী URL কপি করুন","SETTINGS_REMOTE_URL_COPIED":"দূরবর্তী URL আপনার ক্লিপবোর্ডে কপি করা হয়েছে","SETTINGS_SECTION_SUBTITLES":"সাবটাইটেল","SETTINGS_SECTION_AUDIO":"অডিও","SETTINGS_SECTION_CONTROLS":"নিয়ন্ত্রণ","SETTINGS_SECTION_AUTO_PLAY":"অটো-প্লে","SETTINGS_SECTION_ADVANCED":"উন্নত","SUBSPICKER_AUDIO":"অডিও","SUBSPICKER_SUBTITLES":"অ্যাডঅন সাবটাইটেল","SUBSPICKER_BLACK_BACKGROUND":"কালো ব্যাকগ্রাউন্ড ব্যবহার করুন","SUBSPICKER_VERTICAL_OFFSET":"লম্বভাবে অফসেট","SUBSPICKER_SIZE":"আকার","SUBSPICKER_DELAY":"বিলম্ব","SUBSPICKER_EMBEDDED_SUBS":"এমবেডেড সাবটাইটেল","MOBILE_PRIVACY_POLICY":"গোপনীয়তা নীতি","MOBILE_CRASH_REPORTING":"ক্র্যাশ রিপোর্টিং","MOBILE_ZOOM_TO_FILL":"স্ক্রিন ভরাট করতে জুম করুন","MOBILE_PASSTHROUGH":"ডিজিটাল অডিও আউটপুট (পাসথ্রু)","MOBILE_RUN_LOW_BATTERY":"কম ব্যাটারিতে চালান","MOBILE_RUN_FOREGROUND":"ফোরগ্রাউন্ড সার্ভিস হিসেবে চালান","MOBILE_PERFORMANCE":"কর্মক্ষমতা ও স্থিতিশীলতা","MOBILE_SERVER_ONLINE":"অনলাইন","MOBILE_SERVER_OFFLINE":"অফলাইন","MOBILE_QR_EXPIRES":"QR কোড মেয়াদ শেষ হচ্ছে ","MOBILE_LOG_INTO":"আপনার স্ট্রেমিও অ্যাকাউন্টে লগ ইন করুন ","MOBILE_SCAN_QR":"উপরের QR কোড স্ক্যান করুন অথবা যান ","MOBILE_LINK_ACCOUNT":"অ্যাকাউন্ট লিংক করুন","MOBILE_SPEEDPICKER_CANCEL":"বাতিল","MOBILE_SPEEDPICKER_LABEL":"প্লেব্যাক স্পিড নির্বাচন করুন","MOBILE_EMPTY_LIBRARY":"আপনার লাইব্রেরি খালি","MOBILE_NO_ADDON_ACTIVE":"এই ধরনের জন্য কোনো স্ট্রেমিও অ্যাডঅন সক্রিয় নেই।","MOBILE_ORGANIZER_WARNING":"স্ট্রেমিও অর্গানাইজার অ্যাপ সীমিত কার্যকারিতা প্রদান করে। প্লে করার যোগ্য স্ট্রিমের তালিকা এবং সম্পূর্ণ স্ট্রেমিও অভিজ্ঞতার জন্য, ডেস্কটপে স্ট্রেমিও ব্যবহার করুন।","MOBILE_ADDON_LOADING":"এখনও লোড হচ্ছে","MOBILE_ADDONS_LOADING":"অ্যাডঅন এখনও লোড হচ্ছে","MOBILE_ADDON":"অ্যাডঅন","MOBILE_CONFIGURE_ADDON":"আপনার অ্যাডঅন কনফিগার করুন","MOBILE_CONFIGURE_ADDON_LABEL":"অ্যাডঅন কনফিগার করুন","MOBILE_ORGANIZER_ADDONS_WARNING":"স্ট্রেমিও অর্গানাইজার অ্যাপ সীমিত অ্যাডঅন নির্বাচন প্রদান করে। সম্পূর্ণ স্ট্রেমিও অভিজ্ঞতার জন্য, ডেস্কটপে স্ট্রেমিও ব্যবহার করুন।","MOBILE_DISCONNECT":"সংযোগ বিচ্ছিন্ন করুন","MOBILE_LOOKING_FOR_DEVICES":"ডিভাইস খোঁজা হচ্ছে...","MOBILE_CAST_TO":"কাস্ট করুন","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"অ্যাকাউন্ট মুছুন","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"আইনি বাধ্যবাধকতার কারণে অ্যাকাউন্ট মোছা তাৎক্ষণিক নয়। আপনার অ্যাকাউন্ট মোছার অনুরোধ করার পরে আপনাকে ভবিষ্যতে একটি নতুন স্ট্রেমিও অ্যাকাউন্ট তৈরি করতে ভিন্ন ইমেইল ঠিকানা/ফেসবুক প্রোফাইল ব্যবহার করতে হবে।","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"অ্যাকাউন্ট মোছা নিশ্চিত করুন","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"আপনার অ্যাকাউন্ট ফেসবুক ব্যবহার করে তৈরি করা হয়েছে। আপনার অ্যাকাউন্ট মুছতে, অনুগ্রহ করে www.stremio.com/login এ আমাদের ব্যবহারকারী পোর্টাল ব্যবহার করুন","MOBILE_DELETE_ACCOUNT_MESSAGE":"অ্যাকাউন্ট মোছা নিশ্চিত করতে অনুগ্রহ করে আপনার পাসওয়ার্ড প্রদান করুন।","MOBILE_DELETE_ACCOUNT_BUTTON":"অ্যাকাউন্ট মুছুন","NAVIGATION_ON":"চালু","NAVIGATION_OFF":"বন্ধ","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"আমি স্ট্রেমিও থেকে মার্কেটিং যোগাযোগ গ্রহণ করতে সম্মত হচ্ছি।","QUIT":"প্রস্থান","CONNECTED":"সংযুক্ত","AUTHENTICATE":"প্রমাণীকরণ","AUTHENTICATING":"Authenticating...","CACHING":"ক্যাশিং","SETTINGS_CACHING_DRIVE":"ক্যাশিং ড্রাইভ","ENABLE_LOCAL_FILES_ADDON":"লোকাল ফাইল অ্যাডঅন সক্রিয় করুন (পুনরারম্ভ প্রয়োজন)","LOCAL_ADDON_NOT_ENABLED":"লোকাল অ্যাডঅন সক্রিয় নয়। সেটিংসে যেতে এবং এটি সক্রিয় করতে এখানে ক্লিক করুন","ENABLE_REMOTE_HTTPS_CONN":"দূরবর্তী HTTPS সংযোগ সক্রিয় করুন","TORRENT_PROFILE":"টরেন্ট প্রোফাইল","DATA_CACHING":"ডেটা ক্যাশিং","MAGNET_PARSING":"একটি ম্যাগনেট লিঙ্ক পার্স করা হচ্ছে","January":"জানুয়ারি","February":"ফেব্রুয়ারি","March":"মার্চ","April":"এপ্রিল","May":"মে","June":"জুন","July":"জুলাই","August":"আগস্ট","September":"সেপ্টেম্বর","October":"অক্টোবর","November":"নভেম্বর","December":"ডিসেম্বর","Monday":"সোমবার","Tuesday":"মঙ্গলবার","Wednesday":"বুধবার","Thursday":"বৃহস্পতিবার","Friday":"শুক্রবার","Saturday":"শনিবার","Sunday":"রবিবার","Action":"অ্যাকশন","Comedy":"কমেডি","War":"যুদ্ধ","Family":"পারিবারিক","Animation":"অ্যানিমেশন","Adventure":"অ্যাডভেঞ্চার","Fantasy":"ফ্যান্টাসি","Crime":"অপরাধ","Mystery":"রহস্য","Romance":"রোমান্স","Drama":"নাটক","Horror":"ভয়ঙ্কর","Thriller":"থ্রিলার","Sci-Fi":"সায়েন্স ফিকশন","Music":"সঙ্গীত","Biography":"জীবনী","Documentary":"তথ্যচিত্র","Sport":"ক্রীড়া","Musical":"সাঙ্গীতিক","Western":"পশ্চিমী","Film-Noir":"ফিল্ম নোয়ার","News":"সংবাদ","History":"ইতিহাস","Game-Show":"গেম-শো","Reality-TV":"রিয়েলিটি-টিভি","Talk-Show":"টক-শো","Film & Entertainment":"চলচ্চিত্র ও বিনোদন","Gaming":"গেমিং","From TV":"টিভি থেকে","Lifestyle":"জীবনধারা","Science & Education":"বিজ্ঞান ও শিক্ষা","Cooking & Health":"রান্না ও স্বাস্থ্য","Beauty & Fashion":"সৌন্দর্য ও ফ্যাশন","Sports":"খেলাধুলা","News & Politics":"সংবাদ ও রাজনীতি","How-to & DIY":"কিভাবে করবেন ও নিজে করুন","Tech":"প্রযুক্তি","Automotive":"যানবাহন","Causes & Non-Profits":"কারণ ও অলাভজনক সংস্থা","Movies":"চলচ্চিত্র","Uk Live Tv":"যুক্তরাজ্য লাইভ টিভি","Fashion":"ফ্যাশন","Business News Radio":"ব্যবসা সংবাদ রেডিও","Business Tv":"ব্যবসা টিভি","Cars & Auto":"গাড়ি ও অটোমোবাইল","Comedy Radio":"কমেডি রেডিও","Lifestyle Radio":"লাইফস্টাইল রেডিও","News Tv":"সংবাদ টিভি","Food And Wine":"খাবার ও মদ","Latino Tv":"ল্যাটিনো টিভি","Shopping Tv":"শপিং টিভি","Religion":"ধর্ম","Kids":"শিশু","Body & Soul":"দেহ ও আত্মা","Education":"শিক্ষা","Indian Tv":"ভারতীয় টিভি","Extreme Sports":"চরম ক্রীড়া","Middle Eastern Tv":"মধ্যপ্রাচ্যের টিভি","Celebrity Tv":"সেলিব্রিটি টিভি","Science Tv":"বিজ্ঞান টিভি","Bikini babe":"বিকিনি বেব","Outdoors":"বাইরে","German Tv":"জার্মান টিভি","French Tv":"ফরাসি টিভি","Italian Tv":"ইতালীয় টিভি","Gamer Tv":"গেমার টিভি","Travel":"ভ্রমণ","Asian Tv":"এশীয় টিভি","Entertainment":"বিনোদন","News Radio":"সংবাদ রেডিও","Music Radio":"সঙ্গীত রেডিও","Language Learning":"ভাষা শেখা","Science Radio":"বিজ্ঞান রেডিও","Tech Radio":"প্রযুক্তি রেডিও","Science & Technology Vod":"বিজ্ঞান ও প্রযুক্তি ভিওডি","new video":"নতুন ভিডিও","new episode":"নতুন পর্ব","new movie":"নতুন চলচ্চিত্র","recommended":"সুপারিশকৃত","we recommend":"আমরা সুপারিশ করি","offer of the day":"আজকের অফার","news":"সংবাদ","music video":"সঙ্গীত ভিডিও","CTX_SHOW_HOTKEYS":"হটকী দেখান","CTX_DISMISS_NOTIF":"বিজ্ঞপ্তি খারিজ করুন","CTX_DISMISS_ALL":"সব খারিজ করুন","CTX_SHARE":"শেয়ার করুন","CTX_COPY_SHARE_LINK":"শেয়ার লিঙ্ক কপি করুন","CTX_COPY_MAGNET_LINK":"ম্যাগনেট লিঙ্ক কপি করুন","CTX_COPY_STREAM_LINK":"স্ট্রিম লিঙ্ক কপি করুন","CTX_COPY_VIDEO_DOWNLOAD_LINK":"ভিডিও ডাউনলোড লিঙ্ক কপি করুন","CTX_DOWNLOAD_VIDEO":"এই ভিডিওটি ডাউনলোড করুন","CTX_DOWNLOAD_SUBS":"সাবটাইটেল ডাউনলোড করুন","CTX_VIEW_ON_YOUTUBE":"ইউটিউবে দেখুন","CTX_SHOW":"দেখান","CTX_PLAY":"চালান","CTX_PLAY_IN":"এতে চালান","CTX_PLAY_ON":"এতে চালান","CTX_WATCH_ON":"এতে দেখুন","CTX_WATCH":"দেখুন","CTX_WATCHED":"দেখা হয়েছে","CTX_WATCH_BEGINNING":"শুরু থেকে দেখুন","CTX_WATCH_MOBILE":"মোবাইল ডিভাইসে দেখুন","CTX_REWIND":"শুরুতে ফিরে যান","CTX_MARK_WATCHED":"দেখা হিসেবে চিহ্নিত করুন","CTX_MARK_NON_WATCHED":"না দেখা হিসেবে চিহ্নিত করুন","CTX_MARK_UNWATCHED":"না দেখা হিসেবে চিহ্নিত করুন","CTX_MARK_REST":"বাকিগুলো দেখা হিসেবে চিহ্নিত করুন","CTX_UNMARK_REST":"বাকিগুলো না দেখা হিসেবে চিহ্নিত করুন","CTX_RECEIVE_NEW_NOTIF":"নতুন বিজ্ঞপ্তি পান","CTX_ENABLE_NEW_NOTIF":"বিজ্ঞপ্তি চালু করুন","CTX_DISABLE_NEW_NOTIF":"বিজ্ঞপ্তি বন্ধ করুন","CTX_REMOVE_CACHE":"ক্যাশে থেকে সরান","CTX_REMOVE_CACHE_EP":"এপিসোড ক্যাশে থেকে সরান","CTX_OPEN_CONTAINING":"ধারণকারী ফোল্ডার খুলুন","CTX_REMOVE":"লাইব্রেরি থেকে সরান","CTX_AVAILABLE_OFFLINE":"অফলাইনে উপলব্ধ","CTX_PAUSED":"বিরতি","CTX_ALWAYS_ON_TOP":"সবসময় উপরে","CTX_FULLSCREEN":"পূর্ণ পর্দা","CTX_WRONG_SUBS":"ভুল সাবটাইটেল?","CTX_REPORT_ISSUES":"সমস্যা রিপোর্ট করুন","CTX_COPY":"কপি করুন","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"পেস্ট করুন","CTX_CLEAR":"মুছে ফেলুন","CTX_CLEAR_RECENT_SEARCHES":"সাম্প্রতিক অনুসন্ধান মুছে ফেলুন","HELLO_THERE":"হ্যালো","HOPE_YOU_ENJOY":"আমরা আশা করি আপনি স্ট্রেমিও উপভোগ করছেন এবং এটি ইতিমধ্যে আপনার পছন্দের অ্যাপগুলির মধ্যে একটি!","WHO_ARE_WE":"আমরা কারা? আমরা এর পিছনের দল - দুজন লোক যারা গত ৩ বছর ধরে প্রতিদিন কঠোর পরিশ্রম করে এই পণ্যটিকে আরও ভালো করে তুলছে।","SUPPORT_US":"যদি আপনি স্ট্রেমিও ব্যবহার করে আনন্দ পান, যদি স্ট্রেমিও আপনার কাছে মূল্যবান হয় - কথাটি ছড়িয়ে দিন!","SPREAD_THE_WORD":"এখনই আপনার বন্ধুদের সাথে শেয়ার করুন, স্ট্রেমিও সম্পর্কে কথা ছড়িয়ে দিন","MORE_PEOPLE":"যত বেশি লোক স্ট্রেমিও ব্যবহার করবে, এটি তত ভালো হবে!","SEND_A_LINK":"অথবা আমাদের ওয়েবসাইটের একটি লিঙ্ক পাঠান","TIP_LOCALFILES":"টিপ: আপনি স্থানীয় ভিডিও ফাইলগুলি স্ট্রেমিওতে টেনে এনে ছাড়তে পারেন","ADDON_MY":"আমার অ্যাডঅন","ADDON_COMMUNITY":"কমিউনিটি অ্যাডঅন","ADDON_OFFICIAL":"অফিসিয়াল অ্যাডঅন","ADDON_REPOS":"অ্যাডঅন সংগ্রহ","ADDON_SEARCH":"অ্যাডঅন খুঁজুন","ADDON_INSTALL":"ইনস্টল করুন","ADDON_CONFIGURE":"কনফিগার করুন","ADDON_UNINSTALL":"আনইনস্টল করুন","ADDON_UPGRADE":"আপগ্রেড করুন","ADDON_INSTALLED":"ইনস্টল করা হয়েছে","ADDON_INSTALLED_MSG":"অ্যাডঅন ইনস্টল করা হয়েছে!","ADDON_UPGRADED_MSG":"অ্যাডঅন আপগ্রেড করা হয়েছে!","ADDON_UNKNOWN":"অজানা","ADDON_ERR":"অ্যাডঅন ইনস্টল ত্রুটি!","ADDON_DISCONNECTED":"সংযোগ বিচ্ছিন্ন","ADDON_APP_MISSING":"এই উৎসের জন্য অ্যাপটি ইনস্টল করা নেই। আপনি কি এখন এটি ইনস্টল করতে চান?","ADDON_APP_INSTALL":"এখন ইনস্টল করুন","ADDON_PAGE":"অ্যাডঅন পৃষ্ঠা","ADDON_TOP_CONTENT":"এই অ্যাডঅন থেকে সেরা","ADDON_PROVIDES":"এই অ্যাডঅন আপনাকে দেবে:","ADDON_WATCH":"এখন #{types} দেখুন!","ADDON_WATCH_FREE":"এখন বিনামূল্যে #{types} দেখুন!","ADDON_ADDON":"অ্যাডঅন","ADDON_SUPPORTED_TYPES":"সমর্থিত প্রকার","ADDON_SUPPORTED_CATALOGS":"সমর্থিত ক্যাটালগ","ADDON_PROVIDES_DISCOVER":"আবিষ্কারে আরও #{types}","ADDON_PROVIDES_STREAMS":"#{types} দেখুন","ADDON_PROVIDES_STREAMS_FREE":"বিনামূল্যে #{types} দেখুন","ADDON_PROVIDES_SUBTITLES":"#{types} এর জন্য সাবটাইটেল","ADDON_CANTDETECT":"আমরা একটি চলমান স্ট্রেমিও সনাক্ত করতে পারিনি, তাই আমরা আপনার কোন অ্যাডঅন ইনস্টল করা আছে তা সনাক্ত করতে পারিনি।","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"এই সম্পর্কে কোন তথ্য পাওয়া যায়নি ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"এই সম্পর্কে তথ্য সংগ্রহ করতে ত্রুটি।","ERR_CANT_PARSE_MAGNET":"ম্যাগনেট পার্স করতে অক্ষম","ERR_NO_MAGNET_INFOHASH":"ম্যাগনেটের জন্য কোন বৈধ তথ্য হ্যাশ নেই","ERR_NO_FILE_PATH":"ফাইলের পাথ ছাড়া অনুরোধ পাঠাতে অক্ষম","ERR_NO_TORRENT":"কোন টরেন্ট ফেরত আসেনি","ERR_NO_SUPPORTERD_FILES":"কোন সমর্থিত ফাইল পাওয়া যায়নি","ERR_OPENING_FILES":"বাহ্যিক ফাইল খুলতে পারেনি","ERR_INVALID_LINK":"অবৈধ লিঙ্ক","ERR_REGISTERED_ONLY":"এই অপশনটি শুধুমাত্র নিবন্ধিত ব্যবহারকারীদের জন্য উপলব্ধ।","ERR_CLIPBOARD":"ক্লিপবোর্ড থেকে চালাতে পারে না","ERR_CLIPBOARD_READ":"এই প্ল্যাটফর্মে ক্লিপবোর্ড পড়তে পারে না","ERR_CLIPBOARD_GENERIC":"ক্লিপবোর্ডে কোনো চালানোর যোগ্য URL পাওয়া যায়নি। অনুগ্রহ করে একটি ভিডিওর URL (যেমন একটি ম্যাগনেট লিঙ্ক) কপি করুন।","BOARD_CONTINUE_WATCHING":"দেখা চালিয়ে যান","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"বিশেষভাবে আপনার জন্য নির্বাচিত চলচ্চিত্র।
    এই চলচ্চিত্রটি একটি নমুনা সুপারিশ।","BOARD_EXPLANATION_EPISODES":"আপনার প্রিয় সিরিজের নতুন পর্বগুলি এখানে আসে।
    আপনি যে সিরিজগুলি অনুসরণ করেন সেগুলি আপনার লাইব্রেরিতে যোগ করুন।","BOARD_EXPLANATION_VIDEOS":"আপনার প্রিয় চ্যানেলগুলির নতুন ভিডিও এখানে আসে।
    আপনি যে YouTube চ্যানেলগুলি অনুসরণ করেন সেগুলি আপনার লাইব্রেরিতে যোগ করুন।","WEBSITE_ENJOYED_BY":"বিশ্বব্যাপী ৩০ মিলিয়নেরও বেশি ব্যবহারকারী দ্বারা উপভোগ করা হয়েছে","WEBSITE_STREAMING_ENHANCED":"স্ট্রিমিং উন্নত করা হয়েছে","WEBSITE_STREAMING_ENHANCED_DETAILS":"স্ট্রেমিও একটি নিরাপদ, আধুনিক এবং নির্বিঘ্ন বিনোদন অভিজ্ঞতা প্রদান করে। এর ব্যবহারকারী-বান্ধব ইন্টারফেস এবং বৈচিত্র্যময় কন্টেন্ট লাইব্রেরির সাথে, 4K HDR সমর্থন সহ, ব্যবহারকারীরা তাদের সমস্ত ডিভাইসে প্রিয় চলচ্চিত্র এবং টিভি শো উপভোগ করতে পারেন। এবং নিরাপত্তার প্রতি এর প্রতিশ্রুতির সাথে, স্ট্রেমিও একটি উচ্চ-মানের স্ট্রিমিং অভিজ্ঞতার জন্য চূড়ান্ত পছন্দ।","WEBSITE_AVAILABLE_ON":"উপলব্ধ","WEBSITE_WATCH_AND_ENJOY":"দেখুন ও উপভোগ করুন।","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"স্ট্রেমিও এটিকে খুব সহজ করে তোলে","WEBSITE_ALL_FEATURES":"সমস্ত বৈশিষ্ট্য","WEBSITE_EASY_TO_USE":"ব্যবহার করা সহজ","WEBSITE_EASY_TO_USE_DETAILS":"স্ট্রেমিও ব্যবহারকারী-বান্ধব এবং ব্যবহার করা সহজ হিসাবে ডিজাইন করা হয়েছে। এর পরিষ্কার এবং সহজবোধ্য ইন্টারফেসের সাহায্যে আপনি সহজেই নেভিগেট করতে পারেন এবং আপনি যে কন্টেন্ট দেখতে চান তা খুঁজে পেতে পারেন।","WEBSITE_SEAMLESS_ACROSS_DEVICES":"ডিভাইসগুলিতে নির্বিঘ্ন","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"বিস্তৃত প্ল্যাটফর্মের জন্য উপলব্ধ (উইন্ডোজ, ম্যাক, লিনাক্স, অ্যান্ড্রয়েড এবং আরও অনেক কিছু সহ), স্ট্রেমিও আপনার সমস্ত ডিভাইসে আপনার অগ্রগতি ট্র্যাক করবে। শুধু লগইন করুন এবং প্রতিটি নতুন ডিভাইসে অ্যাপটি আবার কনফিগার না করেই দেখা চালিয়ে যান।","WEBSITE_ALL_DOWNLOADS":"সমস্ত ডাউনলোড","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"উচ্চ-রেজোলিউশন ভিডিও সমর্থন","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"একটি সমন্বিত ভিডিও প্লেয়ার যা বেশিরভাগ ভিডিও ফরম্যাট সমর্থন করে, 4K HDR কন্টেন্ট সহ, আপনাকে উপলব্ধ সর্বোচ্চ মান উপভোগ করতে দেয়।","WEBSITE_DIVERSE_CONTENT_LIBRARY":"বৈচিত্র্যময় কন্টেন্ট লাইব্রেরি","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"স্ট্রেমিও বড় সংখ্যক জনপ্রিয় ভিডিও উৎসের সাথে একীভূত হয়, যেমন Netflix, Amazon Prime Video, Hulu, YouTube, এবং আরও অনেক কিছু।","WEBSITE_CREATE_A_FREE_ACCOUNT":"একটি বিনামূল্যের অ্যাকাউন্ট তৈরি করুন","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"ব্যক্তিগতকৃত দর্শন অভিজ্ঞতা","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"স্ট্রেমিও আপনাকে থিম পরিবর্তন করে, অ্যাড-অন যোগ বা অপসারণ করে, এবং আরও অনেক কিছু করে ইন্টারফেসের চেহারা ও অনুভূতি কাস্টমাইজ করার অনুমতি দেয়।","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"বহুভাষিক সাবটাইটেল সমর্থন","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"আপনি এখন আপনার পছন্দের ভাষায় সমস্ত প্রিয় কন্টেন্ট উপভোগ করতে পারেন কারণ স্ট্রেমিও সমস্ত ভাষায় সাবটাইটেল সমর্থন করে।","WEBSITE_ALL_STREMIO_FEATURES":"স্ট্রেমিওর সমস্ত বৈশিষ্ট্য","WEBSITE_TRY_STREMIO_TITLE_P1":"স্ট্রেমিও ব্যবহার করে দেখুন","WEBSITE_TRY_STREMIO_TITLE_P2":"আপনার টিভিতে এখনই","WEBSITE_YOU_CAN_NOW_WATCH":"আপনি এখন আপনার Android TV ডিভাইসে সমস্ত প্রিয় টিভি শো দেখতে পারেন। স্ট্রেমিও TV অ্যাপটি আপনাকে সহজে একটি মুভি নাইট উপভোগ করতে দেয়।","WEBSITE_YOU_CAN_NOW_WATCH_2":"আপনি এখন আপনার স্মার্ট টিভি বা Android TV-তে সমস্ত প্রিয় টিভি শো দেখতে পারেন। স্ট্রেমিও TV অ্যাপগুলি আপনাকে সহজে একটি মুভি নাইট উপভোগ করতে দেয়।","WEBSITE_STREMIO_FOR_SMART_TV":"স্মার্ট টিভির জন্য স্ট্রেমিও","WEBSITE_PLAY_STORE_REVIEW":"সম্ভবত আপনার ডিভাইসে থাকা সবচেয়ে ভাল এবং সবচেয়ে উপযোগী অ্যাপ। এটি সেই অ্যাপগুলির মধ্যে একটি যা আমি দৈনন্দিন ব্যবহার করি, বিশেষ করে আমার Android TV-তে অনেক বছর ধরে। উপযোগী কার্যকারিতা প্রদান করে একটি শক্তিশালী সম্প্রদায়ের সাথে ভালভাবে তৈরি করা হয়েছে। ভাল কাজ। এভাবেই চালিয়ে যান।","WEBSITE_REVIEWS":"রিভিউ","WEBSITE_GET_STREMIO_FOR_FREE":"বিনামূল্যে স্ট্রেমিও পান","WEBSITE_GET_STREMIO_NOW":"এখনই স্ট্রেমিও পান","WEBSITE_STREMIO_FEATURES":"স্ট্রেমিওর বৈশিষ্ট্যসমূহ","WEBSITE_STREMIO_FEATURES_DETAILS":"স্ট্রেমিওর উন্নত বৈশিষ্ট্যগুলির সাথে একজন পেশাদারের মতো স্ট্রিম করুন এবং আপনার সমস্ত প্রিয় মিডিয়াতে নির্বিঘ্ন অ্যাক্সেস উপভোগ করুন","WEBSITE_DISCOVER_MORE":"আরও আবিষ্কার করুন।","WEBSITE_DISCOVER_MORE_DETAILS":"দেখার জন্য কখনও জিনিস শেষ হবে না","WEBSITE_COMMUNITY_DRIVEN":"কমিউনিটি-চালিত","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"স্ট্রেমিওর একটি বড় এবং সক্রিয় ব্যবহারকারী সম্প্রদায় রয়েছে যারা অ্যাড-অন তৈরি এবং শেয়ার করে সফ্টওয়্যারের উন্নয়নে অবদান রাখে।","WEBSITE_GET_INVOLVED":"যুক্ত হোন","WEBSITE_NEW_THEATER_EXPERIENCE":"নতুন থিয়েটার অভিজ্ঞতা","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"স্ট্রেমিওর নতুন নিবেদিত টিভি অ্যাপ আপনাকে আপনার Android TV ডিভাইসে একটি মুভি নাইট উপভোগ করতে দেয়।","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"স্ট্রেমিওর নতুন নিবেদিত টিভি অ্যাপগুলি আপনাকে আপনার স্মার্ট টিভি বা Android TV ডিভাইসে একটি মুভি নাইট উপভোগ করতে দেয়।","WEBSITE_FREE_AND_SECURE":"বিনামূল্য ও নিরাপদ","WEBSITE_STREAMING":"স্ট্রিমিং","WEBSITE_FREE_AND_SECURE_DETAILS":"স্ট্রেমিও ব্যবহারকারীদের জন্য অতুলনীয় নিরাপত্তা এবং গোপনীয়তা প্রদান করে। দূরবর্তীভাবে অ্যাড-অন চালানোর এর অনন্য বৈশিষ্ট্যের সাথে, স্ট্রেমিও অন্যান্য প্ল্যাটফর্মের তুলনায় আপনার প্রিয় কন্টেন্ট স্ট্রিম করার একটি নিরাপদ উপায় প্রদান করে। আপনার নিরাপত্তা এবং গোপনীয়তা সর্বোচ্চ অগ্রাধিকার, এবং প্ল্যাটফর্মটি নিশ্চিত করে যে আপনার সমস্ত তথ্য সুরক্ষিত।","WEBSITE_FREE_AND_SECURE_DETAILS_2":"নিরাপত্তা এবং গোপনীয়তা সম্পর্কে উদ্বেগের বিদায় জানান এবং স্ট্রেমিওর সাথে অসীম বিনোদনের জগতকে স্বাগত জানান।","WEBSITE_INFORMATION_PROVIDED_BY":"তথ্য প্রদান করেছেন","WEBSITE_CONTRIBUTE_DESC":"প্রকল্পে এবং স্ট্রেমিওকে আরও ভাল করতে সাহায্য করুন","WEBSITE_COMMUNITY_DESC":"আমরা বিশ্বাস করি যে সত্যিই একটি অসাধারণ স্ট্রিমিং অভিজ্ঞতা তৈরি করার সেরা উপায় হল প্রক্রিয়ায় আমাদের সম্প্রদায়কে জড়িত করা। আপনি একজন প্রোগ্রামার, একজন শিল্পী, বা শুধু একজন ভক্ত হোন না কেন - আপনি স্ট্রেমিওকে বাড়তে সাহায্য করতে পারেন।","WEBSITE_COMMUNITY_DESC_2":"তাই আজই আমাদের সাথে যোগ দিন এবং স্ট্রেমিও সম্প্রদায়ের একটি অংশ হয়ে উঠুন এবং স্ট্রিমিংয়ের ভবিষ্যৎকে আকার দিতে থাকুন।","WEBSITE_WAYS_TO_GET_INVOLVED":"জড়িত হওয়ার উপায়","WEBSITE_IN_THE_STREMIO_COMMUNITY":"স্ট্রেমিও সম্প্রদায়ে","WEBSITE_SHARE_YOUR_THOUGHTS":"আপনার চিন্তাভাবনা শেয়ার করুন","WEBSITE_REPORT_BUGS":"বাগ রিপোর্ট করুন","WEBSITE_SUGGEST_FEATURES":"বৈশিষ্ট্য প্রস্তাব করুন","WEBSITE_AND_PROVIDE_FEEDBACK":"এবং আমাদের সোশ্যাল মিডিয়া চ্যানেলগুলিতে প্রতিক্রিয়া প্রদান করুন।","WEBSITE_BETA_TESTING_PROGRAM":"বিটা টেস্টিং প্রোগ্রাম","WEBSITE_BETA_TESTING_PROGRAM_DESC":"স্ট্রেমিও সম্প্রদায়ে আমাদের বিটা টেস্টিং প্রোগ্রামে অংশগ্রহণ করুন (আমরা নিয়মিত আমন্ত্রণ পাঠাই)।","WEBSITE_JOIN_NOW":"এখনই যোগ দিন!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"অফিসিয়াল স্ট্রেমিও সম্প্রদায়","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"অনানুষ্ঠানিক স্ট্রেমিও সম্প্রদায়","WEBSITE_BECOME":"হয়ে উঠুন","WEBSITE_A_VOLUNTEER_TRANSLATOR":"একজন স্বেচ্ছাসেবক অনুবাদক","WEBSITE_ARE_YOU_A_DEVELOPER":"আপনি কি একজন ডেভেলপার?","WEBSITE_CONTRIBUTE_CODE":"আপনি আমাদের ওপেন সোর্স প্রকল্পগুলিতে কোড অবদান রাখতে পারেন। আমাদের GitHub-এ বেশ কয়েকটি প্রকল্প রয়েছে যা অবদানকারীদের খুঁজছে। আপনি সাহায্য করতে আগ্রহী হলে, সেগুলি দেখে নিন:","WEBSITE_STREMIO_ON_GITHUB":"GitHub-এ স্ট্রেমিও","WEBSITE_CREATE_ADDON_DESC":"স্ট্রেমিওর কার্যকারিতা বাড়াতে একটি অ্যাড-অন তৈরি করুন (আমাদের একটি সহজ-ব্যবহারযোগ্য API রয়েছে):","WEBSITE_STREMIO_ADDON_SDK":"স্ট্রেমিও অ্যাড-অন SDK","WEBSITE_INTERN_DEVELOPER":"আমরা একজন ইন্টার্ন ডেভেলপার হিসাবে আমাদের সাথে যোগ দেওয়ার সুযোগও প্রদান করি যাতে আমরা একসাথে বৃদ্ধি পেতে পারি।","WEBSITE_APPLY_AS_AN_INTERN":"ইন্টার্ন হিসাবে আবেদন করুন","WEBSITE_CALLING_ALL_ARTISTS":"সমস্ত শিল্পীদের ডাকছি!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"আমাদের অনলাইন গ্যালারিতে আপনার ফ্যান আর্ট আপলোড করে স্ট্রেমিওর প্রতি আপনার সৃজনশীলতা এবং ভালোবাসা প্রদর্শন করুন। এটি একটি অঙ্কন, পেইন্টিং, বা ডিজিটাল ডিজাইন হোক না কেন, আমরা স্ট্রেমিও ব্র্যান্ডের উপর আপনার অনন্য দৃষ্টিভঙ্গি দেখতে চাই। আমাদের শিল্প উৎসাহীদের সম্প্রদায়ে যোগ দিন এবং বিশ্বজুড়ে স্ট্রেমিও ভক্তদের সাথে আপনার কাজ শেয়ার করুন।","WEBSITE_STREMIO_FANART_GALLERY":"স্ট্রেমিও ফ্যানআর্ট গ্যালারি","WEBSITE_INTERN_DESIGNER":"আমাদের দলের অংশ হয়ে উঠুন এবং আমাদের উত্তেজনাপূর্ণ ইন্টার্নশিপ সুযোগের সাথে আপনার সৃজনশীলতাকে নতুন উচ্চতায় নিয়ে যান।","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"পাবলিক ডোমেইন মুভি প্রকল্প","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"স্ট্রেমিওতে, আমরা পাবলিক ডোমেইন এবং অনাথ ভিডিওগুলি চিহ্নিত করে চলচ্চিত্র এবং টেলিভিশনের ইতিহাস সংরক্ষণে প্রতিশ্রুতিবদ্ধ। আমাদের সম্প্রদায়ের সাথে একসাথে কাজ করে, আমরা নিশ্চিত করতে পারি যে এই ক্লাসিক শিল্পকর্মগুলি সবার জন্য অ্যাক্সেসযোগ্য এবং ভবিষ্যৎ প্রজন্মের উপভোগের জন্য সুরক্ষিত।","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"আপনি যদি সেই প্রকল্পে জড়িত হতে চান তবে আমাদের সাথে যোগাযোগ করতে দ্বিধা করবেন না।","WEBSITE_JOIN_THE_PROJECT":"প্রকল্পে যোগ দিন","WEBSITE_BE_PART_OF_OUR_MISSION":"আমাদের মিশনের অংশ হোন","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"স্ট্রেমিও টিমে যোগ দিতে আগ্রহী? আমরা আগ্রহী পেশাদারদের জন্য সম্পূর্ণ দূরবর্তী কাজ প্রদান করি। আমাদের খোলা পদগুলি দেখুন।","WEBSITE_OPEN_POSITIONS":"খোলা পদসমূহ","WEBSITE_DESCRIPTION":"বিবরণ","WEBSITE_LEARN_MORE":"আরও জানুন","WEBSITE_COMPANY":"কোম্পানি","WEBSITE_CONTACTS":"যোগাযোগ","WEBSITE_NEED_HELP":"সাহায্য প্রয়োজন?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS-এ স্ট্রেমিও ওয়েবের জন্য গাইড","WEBSITE_LINK_ART_V2":"ফ্যানআর্ট গ্যালারি","WEBSITE_PARTNERS":"অংশীদার","WEBSITE_SLOGAN_WATCH":"তাৎক্ষণিকভাবে দেখুন","WEBSITE_SLOGAN_ALL":"আপনার পছন্দের সমস্ত ভিডিও কন্টেন্ট এক জায়গায়","WEBSITE_SLOGAN_NEW":"যত খুশি দেখুন","WEBSITE_SLOGAN_NEW_NEW":"স্ট্রিম করার স্বাধীনতা","WEBSITE_WATCH_FROM":"এখান থেকে দেখুন","WEBSITE_DOWNLOAD":"এখনই ডাউনলোড করুন","WEBSITE_DOWNLOAD_FOR":"এর জন্য এখনই ডাউনলোড করুন","WEBSITE_IS_DESKTOP":"স্ট্রেমিও একটি ডেস্কটপ অ্যাপ্লিকেশন, আপনার পিসিতে এই পৃষ্ঠাটি খুলুন এবং এটি ডাউনলোড করুন","WEBSITE_DESKTOP_DEMO_VID":"ডেস্কটপ ডেমো","WEBSITE_PAGE_HOME":"হোম","WEBSITE_PAGE_FEATURES":"বৈশিষ্ট্য","WEBSITE_PAGE_ADDONS":"অ্যাড-অন","WEBSITE_PAGE_TECH":"প্রযুক্তি","WEBSITE_PAGE_CREATE_ADDON":"অ্যাড-অন তৈরি করুন","WEBSITE_PAGE_CONTACTS":"যোগাযোগ","WEBSITE_PAGE_BLOG":"ব্লগ","WEBSITE_RESET_PASSWORD_MESSAGE":"অনুগ্রহ করে নীচে আপনার কাঙ্ক্ষিত নতুন পাসওয়ার্ড লিখুন।","WEBSITE_RESET_PASSWORD_WARNING":"আপনি কি নিশ্চিত যে আপনি ${1} এর জন্য পাসওয়ার্ড রিসেট করতে চান?","WEBSITE_TYPE_movie":"চলচ্চিত্র","WEBSITE_TYPE_series_PL":"সিরিজ","WEBSITE_TYPE_tv":"লাইভ টিভি","WEBSITE_TYPE_channel":"চ্যানেল","WEBSITE_STREMIO_WHAT_IS":"স্ট্রেমিও একটি অ্যাপ যা আপনাকে আপনার প্রিয় ভিডিও, চলচ্চিত্র, টিভি সিরিজ এবং টিভি চ্যানেলগুলি সংগঠিত করতে এবং তাৎক্ষণিকভাবে দেখতে সাহায্য করে।","WEBSITE_FEATURES_WATCH":"তাৎক্ষণিকভাবে HD-তে দেখুন","WEBSITE_FEATURES_WATCH_DETAIL":"আপনার প্রিয় চলচ্চিত্র, টিভি শো, ভিডিও এবং টিভি চ্যানেলগুলি ক্লিক করে চালান।","WEBSITE_FEATURES_SUBS":"স্বয়ংক্রিয় সাবটাইটেল","WEBSITE_FEATURES_SUBS_DETAIL":"স্ট্রেমিও স্বয়ংক্রিয়ভাবে আপনার ভাষার জন্য সিঙ্ক করা সাবটাইটেল বেছে নেয়।","WEBSITE_FEATURES_SUBS_LABEL":"এবার আপনার পালা, প্রধান।","WEBSITE_FEATURES_CAST":"টিভি ও মোবাইল ডিভাইসে চালান","WEBSITE_FEATURES_CAST_DETAIL":"AppleTV, Chromecast, স্মার্ট টিভি (DLNA/UPnP) এবং মোবাইল ডিভাইসে কাস্ট করুন।","WEBSITE_LIB":"আপনার সমস্ত ডিভাইসে সিঙ্ক করা আপনার ব্যক্তিগত লাইব্রেরি উপভোগ করুন","WEBSITE_LIB_COLLECT":"স্ট্রেমিও থেকে সংগ্রহ করুন","WEBSITE_LIB_IMPORT":"ফেসবুক থেকে আমদানি করুন","WEBSITE_LIB_LOCAL":"আপনার স্থানীয় ড্রাইভ থেকে যোগ করুন","WEBSITE_BOARD":"বোর্ড - বিজ্ঞপ্তি এবং সুপারিশের জন্য আপনার একমাত্র জায়গা","WEBSITE_BOARD_RECOMMEND":"সুপারিশকৃত টিভি শো","WEBSITE_BOARD_TRENDING":"ট্রেন্ডিং মুভি","WEBSITE_BOARD_NEW":"নতুন ভিডিও","WEBSITE_BOARD_EPISODE":"নতুন এপিসোড","WEBSITE_BOARD_1":"দেখার জন্য কিছু আকর্ষণীয় খুঁজছেন? আপনার পছন্দের উপর ভিত্তি করে সুপারিশ পান!","WEBSITE_BOARD_2":"আপনার প্রিয় টিভি শো বা ইউটিউব চ্যানেলের একটি নতুন এপিসোড বের হলে বিজ্ঞপ্তি পান!","WEBSITE_BOARD_YOUTUBE":"ইউটিউব চ্যানেলগুলির নতুন ভিডিও","WEBSITE_BOARD_EPISODES":"আপনি যে সিরিজগুলি অনুসরণ করেন তার নতুন এপিসোড","WEBSITE_ADDONS":"কন্টেন্ট অ্যাড-অন","WEBSITE_TECH_DETAIL":"আমরা প্রযুক্তিকে ভালোবাসি, আমরা পাগল বিজ্ঞানকে ভালোবাসি!\\nস্ট্রেমিও নিম্নলিখিত ওপেন সোর্স প্রযুক্তিগুলি ব্যবহার করে:","WEBSITE_TECH_WCJS":"WebChimera.js স্ট্রেমিওকে ভালো কর্মক্ষমতার সাথে যেকোনো ভিডিও ফরম্যাট চালানোর অনুমতি দেয়।","WEBSITE_TECH_WCJS_EXTRA":"আমরা মূল প্রকল্পের অবদানকারী","WEBSITE_TECH_ELECTRON":"Electron স্ট্রেমিও তৈরি করার জন্য একটি উদ্ভাবনী প্ল্যাটফর্ম প্রদান করে।","WEBSITE_TECH_ELECTRON_EXTRA":"আমরা প্রকল্পের অবদানকারী","WEBSITE_TECH_LINVODB":"একটি ডাটাবেস প্রযুক্তি যা নিশ্চিত করে যে আপনার ডেটা সংগঠিত এবং আপনি যেখানেই লগইন করুন না কেন উপলব্ধ।","WEBSITE_TECH_LINVODB_EXTRA":"ইন-হাউস প্রযুক্তি","WEBSITE_CREATE_ADDON":"আপনার অ্যাড-অন তৈরি করুন","WEBSITE_CREATE_ADDON_DETAIL":"আপনার কি ভিডিও কন্টেন্ট প্রদানকারী একটি পরিষেবা আছে? আপনার অ্যাড-অন তৈরি করে স্ট্রেমিওর বৈশিষ্ট্যগুলি থেকে উপকৃত হতে আমরা আপনাকে সাহায্য করব।","WEBSITE_CREATE_ADDON_BENEFITS":"স্ট্রেমিওর জন্য একটি অ্যাড-অন তৈরি করার সুবিধা","WEBSITE_P2P_BEAUTY":"পিয়ার-টু-পিয়ার স্ট্রিমিংয়ের সৌন্দর্য","WEBSITE_P2P_1":"নির্ভরযোগ্য এবং সাশ্রয়ী মূল্যের পূর্ণ HD / 4K ভিডিও অন ডিমান্ড বা লাইভ স্ট্রিমিং","WEBSITE_P2P_2":"চমৎকার ব্যবহারকারী অভিজ্ঞতা প্রদানকারী বিতরণ প্ল্যাটফর্ম","WEBSITE_P2P_3":"আমরা আপনার সঠিক প্রয়োজন মেটাতে একটি অ্যাড-অন তৈরি করব","WEBSITE_P2P_CONTACT":"আগ্রহী? আপনি আমাদের সাথে যোগাযোগ করতে স্বাগত।","WEBSITE_P2P_CONTACT_EXTRA":"আপনার কন্টেন্ট স্ট্রেমিওর সাথে একীভূত করতে সাহায্য করতে পেরে আমরা আনন্দিত হব!","WEBSITE_P2P":"মাঝে মাঝে, এমন একটি প্রযুক্তি আসে যা খেলার নাম পরিবর্তন করে। আমরা আমাদের পিয়ার-টু-পিয়ার (P2P) ভিডিও স্ট্রিমিং ইঞ্জিন তৈরি করতে প্রচুর সময় ও প্রচেষ্টা বিনিয়োগ করেছি যা দুর্দান্ত কর্মক্ষমতা এবং যেকোনো ব্যবহারের ক্ষেত্রে খাপ খাইয়ে নেওয়ার বহুমুখিতা প্রদান করে।\\nDRM-সক্ষম P2P ভিডিও অন ডিমান্ড বা লাইভ স্ট্রিমিংয়ের জন্য আমাদের সাথে যোগাযোগ করুন।","WEBSITE_THOUGHTS":"আমরা যে চিন্তাভাবনা শেয়ার করি:","WEBSITE_SPREAD":"স্ট্রেমিও সম্পর্কে কথা ছড়িয়ে দিন:","WEBSITE_CONTACT":"আমাদের সাথে যোগাযোগ করুন, আপনার কাছ থেকে শুনতে পেলে আমরা খুশি হব!","WEBSITE_OPENSOURCE":"আমাদের ওপেন সোর্স প্রকল্পগুলির জন্য, আমাদের এখানে যান","WEBSITE_BITCOIN":"বিটকয়েন দান করুন:","WEBSITE_FAQ":"প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী","WEBSITE_FAQ_SHORT":"প্রশ্নোত্তর","WEBSITE_QUESTIONS":"প্রশ্ন","WEBSITE_TOS":"ব্যবহারের শর্তাবলী","WEBSITE_LEGAL":"আইনি","WEBSITE_PAGE_ABOUT":"সম্পর্কে","WEBSITE_PAGE_BECOME_PARTNER":"পার্টনার হোন","WEBSITE_ALL_YOU_CAN_WATCH":"যা খুশি দেখার\\nস্বাধীনতা।","WEBSITE_FREEDOM_TO_STREAM":"স্ট্রিম করার স্বাধীনতা","WEBSITE_WHAT_IS_STREMIO":"স্ট্রেমিও কী?","WEBSITE_WHAT_IS_STREMIO_P1":"স্ট্রেমিও হল ভিডিও কন্টেন্ট সংগ্রহের জন্য একটি এক-স্টপ হাব। আপনার মালিকানাধীন যেকোনো ডিভাইসে সব ধরনের উৎস থেকে ভিডিও আবিষ্কার করুন, সংগঠিত করুন এবং দেখুন।","WEBSITE_WHAT_IS_STREMIO_P2":"চলচ্চিত্র, টিভি শো, সিরিজ, লাইভ টেলিভিশন বা ইউটিউব এবং Twitch.tv-এর মতো ওয়েব চ্যানেল - আপনি এসব কিছুই স্ট্রেমিওতে খুঁজে পাবেন।","WEBSITE_WHAT_IS_STREMIO_P1_V2":"স্ট্রেমিও একটি আধুনিক মিডিয়া সেন্টার যা আপনার ভিডিও বিনোদনের জন্য একটি এক-স্টপ সমাধান। আপনি সহজে ইনস্টল করা যায় এমন অ্যাড-অন থেকে ভিডিও কন্টেন্ট আবিষ্কার করেন, দেখেন এবং সংগঠিত করেন।","WEBSITE_WHAT_IS_STREMIO_P2_V2":"চলচ্চিত্র, টিভি শো, লাইভ টিভি বা ওয়েব চ্যানেল - এসব কিছুই স্ট্রেমিওতে খুঁজে পান।","WEBSITE_ENJOI_ON_ALL_DEVICES":"আপনার সমস্ত মিডিয়া ডিভাইসে উপভোগ করুন","WEBSITE_DEVICES_COLLECT":"স্ট্রেমিও থেকে সংগ্রহ করুন","WEBSITE_DEVICES_IMPORT_FB":"ফেসবুক থেকে আমদানি করুন","WEBSITE_DEVICES_LOCAL":"স্থানীয় ড্রাইভ থেকে যোগ করুন","WEBSITE_JOIN_THE_PARTY_NOW":"এখনই পার্টিতে যোগ দিন","WEBSITE_DEVICES_ALL":"আপনার সব ডিভাইসে ব্যবহার করা সহজ;","WEBSITE_EXTENDABLE_CATALOG":"অসীম বিস্তারযোগ্য ভিডিও ক্যাটালগ;","WEBSITE_ORGANIZE_YOUR_MEDIA":"আপনার মিডিয়া সংগঠিত করার জন্য দারুণ বৈশিষ্ট্য;","WEBSITE_AS_SEEN_ON":"যেখানে দেখা গেছে","WEBSITE_STREMIO":"স্ট্রেমিও","WEBSITE_LINK_ABOUT_US":"আমাদের সম্পর্কে","WEBSITE_LINK_TECHNOLOGY":"প্রযুক্তি","WEBSITE_LINK_APPS":"অ্যাপস","WEBSITE_LINK_DOWNLOADS":"ডাউনলোডস","WEBSITE_MORE":"আরও","WEBSITE_LINK_ADDONS":"অ্যাড-অনস","WEBSITE_LINK_ADDON_SDK":"অ্যাড-অন এসডিকে","WEBSITE_LINK_CONTRIBUTE":"অবদান রাখুন","WEBSITE_LINK_COMMUNITY":"কমিউনিটি","WEBSITE_LINK_BLOG":"ব্লগ","WEBSITE_MORE_MORE":"... এবং আরও","WEBSITE_LINK_HELP":"সাহায্য কেন্দ্র","WEBSITE_LINK_CONTACTS":"ব্যবসায়িক অনুসন্ধান","WEBSITE_LINK_TOS":"শর্তাবলী","WEBSITE_LINK_PRAVACY":"গোপনীয়তা নীতি","WEBSITE_SUBSCRIBE":"সাবস্ক্রাইব করুন","WEBSITE_NEWSLETTER":"আমাদের নিউজলেটারে যোগ দিন অসাধারণ জিনিসের জন্য","WEBSITE_PLACEHOLDER_EMAIL":"আপনার ইমেইল","WEBSITE_COMMUNITY":"কমিউনিটি","WEBSITE_LINK_PRAVACY_LEGAL":"গোপনীয়তা ও আইনি","WEBSITE_WHY":"আমরা কেন এটি করি","WEBSITE_WHY_P1":"স্ট্রেমিওতে, আমরা প্রতিদিন কাজে আসি কারণ আমরা ভিডিও-অন-ডিমান্ড শিল্পের একটি গুরুত্বপূর্ণ সমস্যার সমাধান করতে চাই। প্রতি মিনিটে এত বেশি নতুন কন্টেন্ট প্রকাশিত হয় যে এর মধ্যে নিজের পথ খুঁজে পাওয়া প্রায় অসম্ভব।","WEBSITE_WHY_P2":"আমরা লোকেদের সেই বিশাল ভিডিও বিনোদন জগতে নেভিগেট করতে এবং উপভোগ করার জন্য নতুন কন্টেন্ট আবিষ্কার করতে সাহায্য করি। আমাদের অ্যাপগুলি সিনেমা, সিরিজ, লাইভ টিভি, ওয়েব চ্যানেল এবং আরও অনেক কিছুকে একত্রিত করে। আমরা ব্যবহারকারীদের জন্য তাদের পছন্দের শিরোনাম এবং সম্প্রচারকারী খুঁজে পেতে অবিশ্বাস্যভাবে সহজ করে তোলার জন্য নিবেদিত।","WEBSITE_WHY_P3":"আপনি যেকোনো ডিভাইসে এবং যেকোনো সময়ে আমাদের পরিষেবা ব্যবহার করতে পারেন, যা স্ট্রেমিওকে আপনার একমাত্র প্রয়োজনীয় ভিডিও বিনোদন হাব বানিয়ে তোলে।","WEBSITE_TEAM":"টিম","WEBSITE_TEAM_P":"স্ট্রেমিও টিম ছোট কিন্তু শক্তিশালী: আমাদের দশজনের মধ্যে, আমরা X ভাষায় কোড লিখি, এবং সফটওয়্যার ডেভেলপমেন্ট, UI এবং UX ডিজাইন, মার্কেটিং এবং বিজ্ঞাপন, এবং ব্যবসা ও স্টার্টআপে দক্ষতা ভাগ করে নিই।","WEBSITE_FEATURES":"বৈশিষ্ট্যসমূহ","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"সহজে নতুন কন্টেন্ট আবিষ্কার করুন","WEBSITE_FEATURES_DISCOVER_P":"সহজেই নতুন সিনেমা, টিভি শো, সিরিজ এবং চ্যানেল আবিষ্কার করুন দেখার জন্য। বিভাগ, ধরন, রেটিং, সাম্প্রতিকতা ইত্যাদি দ্বারা ব্রাউজ করুন অথবা শুধু একটি নাম টাইপ করুন খুঁজে পেতে। স্ট্রেমিও নতুন ভিডিও কন্টেন্ট খুঁজে পাওয়াকে খুব সহজ করে তোলে।","WEBSITE_FEATURES_ALL_CONTENT":"আপনার সমস্ত ভিডিও কন্টেন্ট একটি স্ক্রিনে","WEBSITE_FEATURES_ALL_CONTENT_P1":"দেখুন কোন সিনেমা, সিরিজ বা ভিডিও আপনি শেষ করেননি এবং সেগুলি দেখা চালিয়ে যান; নতুন এপিসোড এবং রিলিজের জন্য বিজ্ঞপ্তি পান; এবং আপনার দেখার অভ্যাসের উপর ভিত্তি করে আপনি যে সুপারিশগুলি পাবেন তা ব্রাউজ করুন।","WEBSITE_FEATURES_LIBRARY":"আপনার ভিডিও লাইব্রেরি সংগঠিত করুন","WEBSITE_FEATURES_LIBRARY_P1":"একটি ক্লিকেই আপনার স্ট্রেমিও লাইব্রেরিতে যেকোনো শিরোনাম যোগ করুন এবং আপনার কন্টেন্টের মধ্যে নিজের পথ খুঁজে নিন, যা ধরন, সাম্প্রতিকতা, বা বর্ণানুক্রমিক ক্রমে সুন্দরভাবে সাজানো।","WEBSITE_FEATURES_CALENDAR":"আপনি যা দেখেন তার সবকিছুর হিসাব রাখুন","WEBSITE_FEATURES_CALENDAR_P1":"আপনার লাইব্রেরিতে যোগ করা সমস্ত সিনেমা এবং সিরিজের একটি ক্যালেন্ডার ভিজুয়ালাইজেশন পান। আপনার স্ট্রেমিও ক্যালেন্ডার রপ্তানি করুন এবং সিঙ্ক করুন যাতে আপনি সবসময় জানতে পারেন কখন একটি নতুন এপিসোড বা প্রিমিয়ার আসছে।","WEBSITE_FEATURES_BIG_SCREEN":"বড় স্ক্রিনে আপনার ভিডিও কন্টেন্ট উপভোগ করুন","WEBSITE_FEATURES_BIG_SCREEN_P1":"আপনি যা দেখছেন তা অন্য ডিভাইসে কাস্ট করুন - তা ফোন, ট্যাবলেট বা টিভি হোক একটি ক্লিকেই।","WEBSITE_FEATURES_SOURCES":"বিভিন্ন উৎস থেকে ভিডিও দেখুন","WEBSITE_FEATURES_SOURCES_P":"অফিসিয়াল এবং কমিউনিটি অ্যাড-অন ইনস্টল করুন বিভিন্ন প্রদানকারী থেকে সোর্স করা ভিডিও উপভোগ করতে - সবকিছু একটি স্লিক, ব্যবহার করা সহজ অ্যাপে।","WEBSITE_CREATE_AN_ADDON":"একটি অ্যাড-অন তৈরি করুন","WEBSITE_FEATURES_SYNC":"বিভিন্ন ডিভাইসে আপনার লাইব্রেরি সিঙ্ক করুন এবং আপনার প্লেব্যাক পুনরায় শুরু করুন","WEBSITE_FEATURES_SYNC_P1":"আপনার সমস্ত ডিভাইসে আপনার অ্যাকাউন্ট দিয়ে লগইন করুন এবং আপনার লাইব্রেরি, অ্যাড-অন, প্লেব্যাক এবং ক্যালেন্ডার সিঙ্ক করে উপভোগ করুন।","WEBSITE_FEATURES_EXTENDABLE":"অ্যাড-অন দ্বারা সম্প্রসারণযোগ্য ভিডিও ক্যাটালগ","WEBSITE_FEATURES_EXTENDABLE_P1":"স্ট্রেমিও অ্যাড-অন ক্যাটালগ বিভিন্ন অ্যাড-অন প্রদান করে যা ইনস্টল করে বিভিন্ন ধরনের ভিডিও কন্টেন্ট দেখতে পারেন। এর মধ্যে রয়েছে সিনেমা, শো, লাইভ টিভি, খেলাধুলা, সংবাদ, পডকাস্ট, ওয়েব চ্যানেল, ভিডিও গেম এবং আরও অনেক কিছু।","WEBSITE_FEATURES_AUTO_SUBS":"স্বয়ংক্রিয় সাবটাইটেল","WEBSITE_FEATURES_AUTO_SUBS_P1":"আমাদের সাবটাইটেল অ্যাড-অন দিয়ে আপনি আপনার পছন্দের ভাষার জন্য স্বয়ংক্রিয়ভাবে নির্বাচিত অপশন পান।","WEBSITE_FEATURES_CHROMECAST":"Chromecast-এ কাস্টিং","WEBSITE_FEATURES_CHROMECAST_P1":"বড় স্ক্রিনে আপনার ভিডিও কন্টেন্ট উপভোগ করুন বা আপনি যা দেখছেন তা অন্য ডিভাইসে কাস্ট করুন।","WEBSITE_FEATURES_KEEP_TRACK":"আপনার প্রিয় টিভি শো এবং ওয়েব চ্যানেলের হিসাব রাখুন","WEBSITE_FEATURES_KEEP_TRACK_P1":"আপনার প্রিয় সিরিজ এবং ওয়েব চ্যানেলের নতুন এপিসোডের জন্য একটি ক্যালেন্ডার ভিজুয়ালাইজেশন এবং বিজ্ঞপ্তি পান।","WEBSITE_FEATURES_POWER_USER":"পাওয়ার ইউজার বৈশিষ্ট্য","WEBSITE_FEATURES_POWER_USER_P1":"বাহ্যিক প্লেয়ারে চালান","WEBSITE_FEATURES_POWER_USER_P2":"টরেন্ট ফাইল বা ম্যাগনেট লিঙ্ক থেকে চালান","WEBSITE_FEATURES_POWER_USER_P3":"Facebook লাইক বা স্থানীয় ডিস্ক থেকে আপনার লাইব্রেরিতে ইমপোর্ট করুন","WEBSITE_ADD_ONS":"অ্যাড-অন","WEBSITE_ADD_ONS_P1":"স্ট্রেমিও যে সমস্ত ভিডিও কন্টেন্ট প্রদান করে তা একটি অ্যাড-অন সিস্টেমের মাধ্যমে সোর্স করা হয় - অ্যাপে কোনো কন্টেন্ট বা কন্টেন্ট প্রদানকারী অন্তর্ভুক্ত করা হয়নি।","WEBSITE_ADD_ONS_P2":"দুটি গ্রুপের অ্যাড-অন উপলব্ধ: অফিসিয়াল এবং কমিউনিটি অ্যাড-অন।","WEBSITE_ADD_ONS_P3":"অফিসিয়াল গুলি স্ট্রেমিও দ্বারা বিকশিত এবং হোস্ট করা হয়, অন্যদিকে কমিউনিটি অ্যাড-অন আমাদের কমিউনিটি সদস্যদের দ্বারা তৈরি করা হয়, যারা এগুলিও হোস্ট করেন।","WEBSITE_ADDONS_OFFICIAL":"অফিসিয়াল অ্যাড-অন","WEBSITE_ADDONS_WATCHUB":"iTunes, Hulu, Amazon এবং অন্যান্য যুক্তরাজ্য/মার্কিন যুক্তরাষ্ট্রের পরিষেবা থেকে আপনার প্রিয় সিনেমা, সিরিজ এবং শো স্ট্রিম করুন।","WEBSITE_ADDONS_YOUTUBE":"বিজ্ঞাপন ছাড়াই আপনার প্রিয় YouTube চ্যানেলগুলি দেখুন এবং আপনি যে কন্ট্রিবিউটরদের অনুসরণ করেন তাদের নতুন আপলোডের জন্য বিজ্ঞপ্তি পান।","WEBSITE_ADDONS_FILMON":"বিনামূল্যে লাইভ টিভি, সিনেমা এবং সামাজিক টেলিভিশন দেখুন। 600টি টিভি চ্যানেল, 45,000 বিনামূল্যের সিনেমা, ডকুমেন্টারি এবং আরও অনেক কিছু।","WEBSITE_ADDONS_OPENSUBTITLES":"একাধিক ভাষায় সিনেমা এবং টিভি সাবটাইটেল, প্রতিদিন হাজার হাজার অনুবাদিত সাবটাইটেল আপলোড করা হয়।","WEBSITE_ADDONS_COMMUNITY":"কমিউনিটি অ্যাড-অন","WEBSITE_ADDONS_FILMON_VOD":"Filmon.tv থেকে ভিডিও অন ডিমান্ড দেখুন","WEBSITE_ADDONS_TWICH":"Twitch.tv থেকে লাইভ স্ট্রিম দেখুন - ই-স্পোর্টস ইন্ডাস্ট্রির জন্য একটি ভিডিও স্ট্রিমিং প্ল্যাটফর্ম।","WEBSITE_ADDONS_VODO":"সম্পূর্ণ বিনামূল্যে ইন্ডি সিনেমা দেখুন।","WEBSITE_ADDONS_NETFLIX":"Netflix সিনেমা এবং ওয়েব সিরিজ দেখুন।","WEBSITE_ADDONS_CREATE":"একটি অ্যাড-অন তৈরি করুন","WEBSITE_ADDONS_CREATE_P1":"আপনি চাইলে নিজের অ্যাড-অন তৈরি করতে পারেন। এভাবে, আপনি নিজেকে এবং আমাদের সম্প্রদায়কে নতুন ভিডিও কন্টেন্টে অ্যাক্সেস দিতে পারেন, এবং সারা বিশ্বের লক্ষ লক্ষ ব্যবহারকারীর একটি নতুন, লক্ষ্যবদ্ধ দর্শকগোষ্ঠীর কাছে পৌঁছাতে পারেন।","WEBSITE_ADDONS_START_CREATE":"শুরু করতে, স্ট্রেমিও অ্যাড-অন SDK পৃষ্ঠাটি দেখুন:","WEBSITE_DOWNLOADS":"ডাউনলোডস","WEBSITE_DOWNLOADS_P1":"সর্বোত্তম কার্যক্ষমতার জন্য, আমরা সুপারিশ করি যে আপনি স্ট্রেমিও অ্যাপগুলির সর্বশেষ উপলব্ধ সংস্করণ ব্যবহার করুন। যদিও কোনো কারণে আপনি একটি পুরানো সংস্করণ ব্যবহার করতে চান, তাহলে আপনি এখানে এটি ডাউনলোড করতে পারেন।","WEBSITE_DOWNLOADS_P1_SHORT":"সর্বোত্তম কার্যক্ষমতার জন্য, আমরা সুপারিশ করি যে আপনি স্ট্রেমিও অ্যাপগুলির সর্বশেষ উপলব্ধ সংস্করণ ব্যবহার করুন।","WEBSITE_DOWNLOADS_FOR_WIN":"উইন্ডোজের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_MAC":"ম্যাকওএসের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_LINUX":"লিনাক্সের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_ANDROID":"অ্যান্ড্রয়েডের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"অ্যান্ড্রয়েড টিভির জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"অ্যান্ড্রয়েড মোবাইলের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"স্টিম ডেকের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_IOS":"আইওএসের জন্য স্ট্রেমিও (সীমিত সংস্করণ)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"স্যামসাং টিভির জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_LG_TV":"এলজি টিভির জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"সনি টিভির জন্য স্ট্রেমিও (অ্যান্ড্রয়েড)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"ফিলিপস টিভির জন্য স্ট্রেমিও (অ্যান্ড্রয়েড)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"অকুলাস কুয়েস্টের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_META_QUEST":"মেটা কুয়েস্টের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"ভিশন প্রো\'র জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_XBOX":"এক্সবক্সের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_RPI":"রাস্পবেরি পাইয়ের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"ব্রাউজারের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_STREMIO_OS":"স্ট্রেমিও ওএস","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"২০১৯+ স্যামসাং টিভি মডেলের অ্যাপ স্টোরে স্ট্রেমিও খুঁজুন","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"২০২০+ এলজি টিভি মডেলের অ্যাপ স্টোরে স্ট্রেমিও খুঁজুন","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"অ্যান্ড্রয়েড চালিত সনি টিভিতে প্লে স্টোর অ্যাপে স্ট্রেমিও খুঁজুন","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"অ্যান্ড্রয়েড চালিত ফিলিপস টিভিতে প্লে স্টোর অ্যাপে স্ট্রেমিও খুঁজুন","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"আপনার এক্সবক্স ডিভাইসের অ্যাপ স্টোরে স্ট্রেমিও খুঁজুন","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"আরপিআই-তে স্ট্রেমিও ওএস-এর জন্য গাইড","WEBSITE_LINK_GUIDE":"গাইড","WEBSITE_DOWNLOAD_SERVICE":"স্ট্রেমিও সার্ভিস ডাউনলোড করুন","WEBSITE_DOWNLOAD_SERVICE_P1":"স্ট্রেমিও সার্ভিস হল স্ট্রেমিও ওয়েবের জন্য একটি সহযোগী অ্যাপ। আমরা স্ট্রেমিও সার্ভিসের সর্বশেষ উপলব্ধ সংস্করণ ব্যবহার করার পরামর্শ দিই।","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"উইন্ডোজের জন্য স্ট্রেমিও সার্ভিস","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"ম্যাকওএসের জন্য স্ট্রেমিও সার্ভিস","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"লিনাক্সের জন্য স্ট্রেমিও সার্ভিস","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"ডকারের জন্য স্ট্রেমিও সার্ভিস","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"ডকারের জন্য স্ট্রেমিও","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"আরও ডাউনলোড বিকল্প","WEBSITE_DOWNLOAD_NEW":"নতুন!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"আমরা স্ট্রেমিও ওয়েব প্রকাশ করেছি","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"আমরা স্যামসাং টিভির জন্য স্ট্রেমিও প্রকাশ করেছি","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"আমরা এলজি টিভির জন্য স্ট্রেমিও প্রকাশ করেছি","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"আমরা এক্সবক্সের জন্য স্ট্রেমিও প্রকাশ করেছি","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"আমরা রেসবেরি পাইয়ের জন্য স্ট্রেমিও প্রকাশ করেছি","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"আমরা উইন্ডোজের জন্য স্ট্রেমিও ৫ উন্মুক্ত করেছি","WEBSITE_CONTRIBUTE":"অবদান রাখুন","WEBSITE_CONTRIBUTE_P1":"স্ট্রেমিও প্ল্যাটফর্মটি ওপেন সোর্স এবং আপনি সহজেই বর্তমানে উৎস না হওয়া কন্টেন্টের জন্য একটি অ্যাড-অন তৈরি করতে পারেন।","WEBSITE_CONTRIBUTE_WHY":"আপনি কেন একটি অ্যাড-অন তৈরি করবেন?","WEBSITE_CONTRIBUTE_WHY_P1":"আপনার ভিডিও কন্টেন্টের জন্য নতুন দর্শক পৌঁছান","WEBSITE_CONTRIBUTE_WHY_P2":"স্ট্রেমিওর ব্যবহারকারী ভিত্তি দ্রুত বাড়ছে - লঞ্চের প্রথম বছরের মধ্যে, স্ট্রেমিও বিশ্বব্যাপী 1 মিলিয়ন ব্যবহারকারী অর্জন করেছিল, এবং প্ল্যাটফর্মের অস্তিত্বের দ্বিতীয় বছরে এই সংখ্যা বেড়ে 2.5 মিলিয়ন হয়েছে।","WEBSITE_CONTRIBUTE_WHY_P3":"আপনার অ্যাড-অনের মাধ্যমে, আপনি সহজেই এই দর্শকদের কাছে পৌঁছাতে পারেন এবং তাদের কাছে আপনার ভিডিও কন্টেন্ট বিতরণ করতে পারেন।","WEBSITE_CONTRIBUTE_ALL":"আপনার প্রিয় সিনেমা, ভিডিও, সিরিজ এবং চ্যানেলগুলি একটি একক স্থানে দেখুন।","WEBSITE_CONTRIBUTE_ALL_P1":"আপনি কি একটি বিশেষ ধরনের কন্টেন্টের ভক্ত যা এখনও স্ট্রেমিওতে উপলব্ধ নেই? এর জন্য একটি অ্যাড-অন তৈরি করুন এবং বাজারের সবচেয়ে বড় এবং ব্যবহার করা সহজ বিনোদন হাবগুলির মধ্যে একটিতে আপনার প্রিয় ভিডিওগুলি দেখার আনন্দ উপভোগ করুন।","WEBSITE_CONTRIBUTE_ALL_P2":"এর উপরে, আপনি অন্যান্য একই মনোভাবাপন্ন স্ট্রেমিও কমিউনিটি সদস্যদের অসীম কৃতজ্ঞতা পাবেন।","WEBSITE_CONTRIBUTE_MONETIZE":"আপনার অ্যাড-অনকে মানিটাইজ করুন এবং এর সাহায্যে অর্থ উপার্জন করুন","WEBSITE_CONTRIBUTE_MONETIZE_P1":"একবার আপনি স্ট্রেমিওর জন্য একটি নতুন অ্যাড-অন তৈরি করলে, আপনি সহজেই বিভিন্ন উপায়ে এটি মানিটাইজ করতে পারেন। আপনি যদি এটি বিবেচনা করছেন, তাহলে আমাদের সাথে যোগাযোগ করতে দ্বিধা করবেন না ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - আমরা অ্যাড-অন মানিটাইজেশন বিকল্পগুলি সম্পর্কে আপনাকে পরামর্শ দিতে এবং সলাহ দিতে খুশি হব।","WEBSITE_CONTRIBUTE_TRANSLATE":"একজন স্বেচ্ছাসেবক অনুবাদক হোন","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"আপনি যদি বিভিন্ন ভাষায় স্ট্রেমিও অ্যাপগুলি উপভোগ করতে চান, তাহলে আপনি আমাদের স্বেচ্ছাসেবক অনুবাদকদের কমিউনিটিতে যোগ দিতে পারেন। তারা আমাদের অনেক বিভিন্ন ভাষায় স্ট্রেমিওর সংস্করণ যোগ করতে সাহায্য করে।","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"আপনি কি শুরু করতে উদগ্রীব?","WEBSITE_TRANSALTE_STREMIO":"স্ট্রেমিও অনুবাদ করুন","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"অফিসিয়াল কমিউনিটি","WEBSITE_COMMUNITY_OFFICIALS_P1":"বর্ধনশীল স্ট্রেমিও কমিউনিটির অংশ হোন। সোশ্যাল মিডিয়ায় আমাদের অনুসরণ করুন এবং হ্যালো বলতে সংকোচ করবেন না - আমরা আমাদের ভক্তদের কাছ থেকে শুনতে পছন্দ করি!","WEBSITE_COMMUNITY_UNOFFICIALS":"অনানুষ্ঠানিক কমিউনিটি","STREMIO_COMMUNITY_NL":"স্ট্রেমিও নেদারল্যান্ডস","STREMIO_COMMUNITY_BRASIL":"স্ট্রেমিও ব্রাজিল","STREMIO_COMMUNITY_GERMANY":"স্ট্রেমিও জার্মানি","STREMIO_COMMUNITY_BELGIUM":"স্ট্রেমিও বেলজিয়াম","STREMIO_COMMUNITY_FRANCE":"স্ট্রেমিও ফ্রান্স","STREMIO_COMMUNITY_PORTUGAL":"স্ট্রেমিও পর্তুগাল","STREMIO_COMMUNITY_ITALY":"স্ট্রেমিও ইতালি","STREMIO_COMMUNITY_UK":"স্ট্রেমিও যুক্তরাজ্য","STREMIO_COMMUNITY_USA":"স্ট্রেমিও যুক্তরাষ্ট্র","STREMIO_COMMUNITY_MEXICO":"স্ট্রেমিও মেক্সিকো","STREMIO_COMMUNITY_ADDONS":"স্ট্রেমিও অ্যাড-অন","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"দারুণ স্ট্রেমিও","WEBSITE_COMMUNITY_PARTNERS":"অংশীদার এবং সমর্থক","WEBSITE_COMMUNITY_GOODIES":"স্ট্রেমিও গুডিজ","WEBSITE_COMMUNITY_WALLPAPERS":"ওয়ালপেপার","WEBSITE_COMMUNITY_ART":"কমিউনিটি আর্ট গ্যালারি","WEBSITE_LINK_ART":"কমিউনিটি আর্ট গ্যালারি","WEBSITE_CONTACT_US":"আমাদের সাথে যোগাযোগ করুন","WEBSITE_CONTACT_US_P1":"আপনার কোনো প্রশ্ন, মন্তব্য বা পরামর্শ থাকলে, নীচের যোগাযোগ ফর্মের মাধ্যমে আমাদের সাথে যোগাযোগ করতে দ্বিধা করবেন না।","WEBSITE_CONTACT_US_P2":"মনে রাখবেন যে আমরা বুলগেরিয়ায় অবস্থিত তাই সময় অঞ্চলের পার্থক্যের কারণে আপনার প্রশ্নের উত্তর দিতে বিলম্ব হতে পারে।","WEBSITE_CONTACT_US_SUCCESS":"আপনার বার্তা পাঠানো হয়েছে। আমরা যত তাড়াতাড়ি সম্ভব আপনার সাথে যোগাযোগ করব।","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"অনুগ্রহ করে একটি বৈধ ইমেইল লিখুন!","WEBSITE_CONTACT_US_Q_RELATED_TO":"আপনার প্রশ্নটি কিসের সাথে সম্পর্কিত?","WEBSITE_CONTACT_US_Q_OS":"আপনার অপারেটিং সিস্টেম কি?","WEBSITE_CONTACT_US_PH_EMAIL":"আপনার ই-মেইল","WEBSITE_CONTACT_US_PH_MESSAGE":"বার্তা","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"পাঠান","WEBSITE_CONTACT_US_Q_1":"কিভাবে ইনস্টল করবেন?","WEBSITE_CONTACT_US_Q_2":"কিভাবে আনইনস্টল করবেন?","WEBSITE_CONTACT_US_Q_3":"(HTML) কিভাবে লাজানিয়া বানাবেন?","WEBSITE_CONTACT_US_Q_4":"অ্যাড-অন","WEBSITE_CONTACT_US_OS_1":"উইন্ডোজ","WEBSITE_CONTACT_US_OS_2":"ম্যাকওএস","WEBSITE_CONTACT_US_OS_3":"লিনাক্স","WEBSITE_CONTACT_US_OS_4":"অ্যান্ড্রয়েড","WEBSITE_CONTACT_US_OS_5":"আইওএস","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"আমরা প্রযুক্তি এবং পাগল বিজ্ঞান পছন্দ করি।
    এখানে দেখুন যা স্ট্রেমিওকে চালায় (এটি সম্পূর্ণ ওপেন-সোর্স)।","WEBSITE_TECHNOLOGY_P_QT":"ক্রস-প্ল্যাটফর্ম সফটওয়্যার ডেভেলপমেন্ট তার সেরা রূপে।","WEBSITE_TECHNOLOGY_P_MPV":"একটি বিনামূল্যের, ওপেন সোর্স এবং ক্রস-প্ল্যাটফর্ম মিডিয়া প্লেয়ার।","WEBSITE_TECHNOLOGY_P_RN":"রিয়্যাক্ট নেটিভ আপনাকে শুধুমাত্র জাভাস্ক্রিপ্ট ব্যবহার করে মোবাইল অ্যাপ তৈরি করতে দেয়।","WEBSITE_TECHNOLOGY_P_VLC":"মাল্টিমিডিয়া পেতে অ্যাপ্লিকেশনে এম্বেডেড মিডিয়া ফ্রেমওয়ার্ক।","WEBSITE_TECHNOLOGY_P_REALM":"রিয়েলম একটি মোবাইল প্ল্যাটফর্ম এবং SQLite ও কোর ডেটার একটি বিকল্প।","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js একটি ওপেন-সোর্স, ক্রস-প্ল্যাটফর্ম, জাভাস্ক্রিপ্ট রানটাইম পরিবেশ।","WEBSITE_TECHNOLOGY_P_RUST":"রাস্ট একটি মাল্টি-প্যারাডাইম সিস্টেম প্রোগ্রামিং ভাষা যা নিরাপত্তার উপর ফোকাস করে, বিশেষ করে নিরাপদ কনকারেন্সি।","WEBSITE_TECHNOLOGY_CONTRIBUTE":"প্রকল্পে অবদান রাখুন","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"স্ট্রেমিওতে অবদান রাখার এবং পণ্যটিকে আরও ভালো করতে সাহায্য করার দুটি উপায় রয়েছে।","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"আপনি প্ল্যাটফর্মটি অনুবাদ করে আপনার মূল্যবান ভাষা দক্ষতা দান করতে পারেন...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"অথবা","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... আপনি কমিউনিটি অ্যাড-অন তৈরি করতে আপনার কোডিং দক্ষতা ব্যবহার করতে পারেন।","WEBSITE_TRANSLATE_STREMIO":"স্ট্রেমিও অনুবাদ করুন","WEBSITE_404_OH_NO":"ওহ নো! আপনি যে পৃষ্ঠাটি খুঁজছেন তা এখানে নেই...","WEBSITE_GO_HOME":"হোমে যান","WEBSITE_LINK_OTHER_DOWNLOADS":"অন্যান্য ডাউনলোড","WEBSITE_FAQ_ABR":"সাধারণ জিজ্ঞাসা","WEBSITE_SUPPORT":"সহায়তা","WEBSITE_DOWNLOAD_4_0_BETA":"স্ট্রেমিও ৪ বিটা এখনই ডাউনলোড করুন","WEBSITE_GET_FOR_DESKTOP":"ডেস্কটপের জন্য পান","WEBSITE_LINK_ADDON_COMPETITION":"অ্যাড-অন প্রতিযোগিতা","WEBSITE_LINK_ART_CONTEST":"শিল্প প্রতিযোগিতা","WEBSITE_MY_ACCOUNT":"আমার অ্যাকাউন্ট","WEBSITE_MAINPAGE_FAQ_001_H1":"স্ট্রেমিও কি?","WEBSITE_MAINPAGE_FAQ_001_P1":"স্ট্রেমিও একটি আধুনিক মিডিয়া সেন্টার যা আপনাকে যা খুশি দেখার স্বাধীনতা দেয়।","WEBSITE_MAINPAGE_FAQ_002_H1":"এটি কীভাবে কাজ করে?","WEBSITE_MAINPAGE_FAQ_002_P1":"আপনার ডিভাইসে স্ট্রেমিও ইনস্টল করে একটি অ্যাকাউন্ট তৈরি করার পর, আপনাকে শুধু অ্যাড-অন ক্যাটালগে যেতে হবে এবং যেকোনো অ্যাড-অন ইনস্টল করতে হবে, এবং আপনি প্রস্তুত!","WEBSITE_MAINPAGE_FAQ_002_P2":"এরপর, আপনি বিষয়বস্তু অন্বেষণ শুরু করতে ডিসকভার বা বোর্ড বিভাগে যেতে পারেন।","WEBSITE_MAINPAGE_FAQ_003_H1":"আমি এখানে কী দেখতে পারি?","WEBSITE_MAINPAGE_FAQ_003_P1":"অনেক কিছু: চলচ্চিত্র, টিভি শো, ওয়েব চ্যানেল, স্পোর্টস, টিভি চ্যানেল, পডকাস্ট শোনা এবং আরও অনেক কিছু। আমাদের অ্যাড-অন সিস্টেমের কারণে, আপনি বিভিন্ন ধরনের বিষয়বস্তু অ্যাক্সেস করতে পারেন।","WEBSITE_MAINPAGE_FAQ_004_H1":"স্ট্রেমিও কি ওপেন-সোর্স?","WEBSITE_MAINPAGE_FAQ_004_P1":"হ্যাঁ, আপনি নিম্নলিখিত লিঙ্কগুলি দেখতে পারেন: ${1}ডেস্কটপ অ্যাপ${2} এবং ${3}GitHub সংগঠন${4}।","WEBSITE_MAINPAGE_FAQ_005_H1":"স্ট্রেমিও কি নিরাপদ?","WEBSITE_MAINPAGE_FAQ_005_P1":"হ্যাঁ: কারণ এটি ওপেন-সোর্স সফ্টওয়্যার, কোডটি পাবলিকভাবে নিরীক্ষণযোগ্য এবং আপনি নিজেই এটি পর্যালোচনা করতে পারেন।","WEBSITE_MAINPAGE_FAQ_005_P2":"স্ট্রেমিওর অ্যাড-অন সিস্টেমটিও ব্যবহারকারীর নিরাপত্তা মাথায় রেখে তৈরি করা হয়েছে। অ্যাড-অনগুলি স্থানীয়ভাবে কোনও কোড চালায় না, তাই তারা আপনার ডিভাইসের জন্য কোনও ঝুঁকি সৃষ্টি করে না।","WEBSITE_MAINPAGE_FAQ_006_H1":"আমার গোপনীয়তা সম্পর্কে কী?","WEBSITE_MAINPAGE_FAQ_006_P1":"আমরা ব্যবহারকারীদের গোপনীয়তা সম্মান করি এবং আপনার অ্যাকাউন্ট তৈরি ও সিঙ্ক করার জন্য প্রয়োজনীয় ন্যূনতম ছাড়া কোনও ব্যক্তিগত তথ্য সংগ্রহ করি না।","WEBSITE_MAINPAGE_FAQ_006_P2":"সাইন আপের সময় একটি ${1}অতিথি মোড${2}ও রয়েছে, যার জন্য কোনও ডেটা প্রয়োজন নেই: এই মোডে, আমাদের ব্যাকএন্ডে কোনও কল করা হয় না। তবে, এটি উপযোগী বৈশিষ্ট্যগুলির খরচে আসে, যেমন আপনার লাইব্রেরি ডিভাইসগুলিতে সিঙ্ক করার ক্ষমতা।","WEBSITE_MAINPAGE_FAQ_007_H1":"আমি কি আমার টিভিতে কাস্ট করতে পারি?","WEBSITE_MAINPAGE_FAQ_007_P1":"হ্যাঁ, আমরা ক্রোমকাস্ট সমর্থন করি এবং আপনি ডেস্কটপ এবং মোবাইল অ্যাপ (অ্যান্ড্রয়েড) উভয় থেকে কাস্ট করতে পারেন।","WEBSITE_MAINPAGE_FAQ_008_H1":"স্ট্রেমিওর কতগুলি অ্যাড-অন আছে?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 সালের শেষের দিকে, 50-এর বেশি - আরও তথ্যের জন্য, আমাদের অ্যাড-অন ক্যাটালগ দেখুন।","WEBSITE_MAINPAGE_FAQ_009_H1":"অ্যাড-অন ক্যাটালগে যা আছে তার বাইরেও কি স্ট্রেমিও সম্প্রসারণ করা যায়?","WEBSITE_MAINPAGE_FAQ_009_P1":"হ্যাঁ, আপনার এগুলি দেখা উচিত: ${1}PimpMyStremio${2}, ${3}Reddit কমিউনিটি${4}, ${5}Stremio ডাউনলোডার${6}, ইত্যাদি।","WEBSITE_MAINPAGE_FAQ_010_H1":"স্ট্রেমিও কোন ডিভাইসগুলি সমর্থন করে?","WEBSITE_MAINPAGE_FAQ_010_P1":"আমাদের উইন্ডোজ, ম্যাক এবং লিনাক্সের জন্য ডেস্কটপ অ্যাপ রয়েছে। মোবাইলের জন্য, আমরা অ্যান্ড্রয়েড এবং iOS সমর্থন করি, যদিও মনে রাখবেন যে iOS-এর কার্যকারিতা সীমিত (বেশিরভাগ অ্যাড-অন সমর্থন করে না)।","WEBSITE_MAINPAGE_FAQ_010_P2":"অনেক অ্যান্ড্রয়েড-ভিত্তিক ডিভাইস রয়েছে যেখানে আপনি স্ট্রেমিও চালাতে পারেন, যেমন NVIDIA Shield এবং Amazon Fire Stick, তবে আমরা সেগুলি অফিসিয়ালি সমর্থন করি না।","WEBSITE_MAINPAGE_FAQ_010_P1_2":"আমাদের উইন্ডোজ, ম্যাক এবং লিনাক্সের জন্য ডেস্কটপ অ্যাপ রয়েছে। আমাদের অ্যান্ড্রয়েড মোবাইল এবং অ্যান্ড্রয়েড টিভির জন্যও নিবেদিত অ্যাপ রয়েছে। iOS এবং iPadOS-এর জন্য আমরা স্ট্রেমিও ওয়েব ব্যবহার করার পরামর্শ দিই, যদিও এটি কার্যকারিতায় আরও সীমিত।","WEBSITE_MAINPAGE_FAQ_011_H1":"আপনি কি স্ট্রেমিওতে নির্দিষ্ট বিষয়বস্তু যোগ করতে পারেন?","WEBSITE_MAINPAGE_FAQ_011_P1":"দুঃখিত, আমরা নিজেরা কোনও বিষয়বস্তু প্রদান করি না, তবে আপনি যত বেশি স্ট্রেমিও অ্যাড-অন ইনস্টল করবেন, তত বেশি বিষয়বস্তু আপনি খুঁজে পাবেন।","WEBSITE_MAINPAGE_FAQ_012_H1":"স্ট্রেমিও কি ম্যাগনেট লিঙ্ক চালাতে পারে?","WEBSITE_MAINPAGE_FAQ_012_P1":"হ্যাঁ, এবং এটি সাধারণ HTTP লিঙ্ক এবং টরেন্ট ফাইলও চালাতে পারে (ড্র্যাগ এবং ড্রপ)।","WEBSITE_MAINPAGE_FAQ_013_H1":"আমি কি একটি ভিডিও ডাউনলোড করে অফলাইনে দেখতে পারি?","WEBSITE_MAINPAGE_FAQ_013_P1":"অফলাইনে উপলব্ধ একটি আসন্ন বৈশিষ্ট্য, তবে যদি আপনি স্ট্রেমিওকে আপনার ডিভাইসে ক্যাশে করার অনুমতি দেন (সেটিংস প্যানেল থেকে) তাহলে আপনি পরে সংযোগ ছাড়াই ভিডিওগুলি দেখতে পারবেন।","WEBSITE_MAINPAGE_FAQ_014_H1":"কিছুই কাজ করছে না, আমাকে সাহায্য করুন!","WEBSITE_MAINPAGE_FAQ_014_P1":"আপনি কি নিশ্চিত যে আপনি অ্যাড-অন ইনস্টল করেছেন? যদি হ্যাঁ হয়, তাহলে আমাদের ${1}সাহায্য কেন্দ্র${2} দেখুন।","WEBSITE_MAINPAGE_FAQ_015_H1":"স্ট্রেমিও কীভাবে তার উন্নয়ন কার্যক্রম বজায় রাখে?","WEBSITE_MAINPAGE_FAQ_015_P1":"আমরা মাঝে মাঝে অ-বিরক্তিকর বিজ্ঞাপন চালাই, তবে আমরা একটি দান মডেলে যাওয়ার কথা বিবেচনা করছি।","WEBSITE_MAINPAGE_FAQ_015_P2":"আরও প্রশ্নের জন্য, আমাদের ${1}সাহায্য কেন্দ্রে${2} যান।","HELP_LEARN_MORE":"আমাদের আপনার সম্পর্কে আরও জানতে সাহায্য করুন।","LIFESTYLE":"জীবনযাত্রা","SPORTS":"খেলাধুলা","FOOD_HEALTH":"খাদ্য ও স্বাস্থ্য","BEAUTY_FASHION":"সৌন্দর্য ও ফ্যাশন","NEWS":"সংবাদ","GAMING":"গেমিং","SCIENCE_EDUCATION":"বিজ্ঞান ও শিক্ষা","MUSIC":"সঙ্গীত","TRAVEL":"ভ্রমণ","LATE_NIGHT":"দেরি রাতের","REALITY":"রিয়েলিটি","COMEDY":"কমেডি","DIY":"নিজে করার পদ্ধতি","TECH":"প্রযুক্তি","CINEMA":"সিনেমা","CONTINUE":"চালিয়ে যান","SLOW_LOADING":"ধীরে লোড হচ্ছে?","I_GIVE_UP":"আমি হাল ছেড়ে দিচ্ছি","LEARN_MORE":"আরও জানুন","POOR_SOURCE":"এই উৎসটি দুর্বলভাবে উপলব্ধ অথবা আপনার ইন্টারনেট সংযোগ যথেষ্ট দ্রুত নয়","PICK_CATEGORIES_ERR":"আপনাকে অন্তত ৩টি বিভাগ বেছে নিতে হবে","ADJUST_TIMING":"সময় সমন্বয় করুন","ADJUST_SIZE":"আকার সমন্বয় করুন","SEARCH_ANYTHING":"আপনি যা খুশি অনুসন্ধান করতে পারেন...","ALL_CATEGORIES":"সব","SEARCH_CATEGORIES":"চলচ্চিত্র, সিরিজ, ইউটিউব ও টিভি","SEARCH_PERSONS":"অভিনেতা, পরিচালক ও লেখক","SEARCH_PROTOCOLS":"HTTP ও ম্যাগনেট লিংক","SEARCH_TYPES":"IMDB / TVDB লিংক","WATCHED":"দেখা হয়েছে","SHOW_LESS":"কম দেখান","LAST_SEARCHES":"সর্বশেষ অনুসন্ধান","CLEAR_HISTORY":"ইতিহাস মুছুন","CHOOSE_SOME":"এর মধ্যে থেকে কিছু বেছে নিন:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"ওয়েব রিমোট লোড করা যায়নি","STREMIO_OFFLINE":"স্ট্রেমিও অফলাইন","STREMIO_EXPENSIVE_CONNECTION":"আমরা দেখেছি যে আপনি একটি মোবাইল ডেটা সংযোগ ব্যবহার করছেন, আপনি কি চালিয়ে যেতে চান?","USE_DATA":"ডেটা ব্যবহার করুন","WARNING":"সতর্কতা","MORE_INFO":"আরও তথ্য ...","STREMIO_TV_STREMIO":"স্ট্রেমিও","STREMIO_TV_LOADING":"লোড হচ্ছে ...","STREMIO_TV_BACK_TO_LANGUAGES":"ভাষায় ফিরে যান","STREMIO_TV_REMOTE":"রিমোট","STREMIO_TV_GO_TO":"যান:","STREMIO_TV_OR_SCAN":"অথবা স্ক্যান করুন:","STREMIO_TV_ADDON_INSTRUCTIONS":"আপনার পছন্দের অ্যাড-অন ইনস্টল করতে অনুগ্রহ করে নির্দেশাবলী অনুসরণ করুন।","STREMIO_TV_LIVE_TV":"লাইভ টিভি","STREMIO_TV_RESUME_WATCHING":"দেখা চালিয়ে যান","STREMIO_TV_LOADING_BACKGROUND":"পটভূমি লোড হচ্ছে","STREMIO_TV_CHECKING_AUTHENTICATION":"প্রমাণীকরণ যাচাই করা হচ্ছে","STREMIO_TV_LOADING_BOARD":"বোর্ড লোড হচ্ছে","STREMIO_TV_LOGIN_HEADER_LINE_1":"আমরা চাই আমাদের ব্যবহারকারীরা আমাদের সফটওয়্যারে সর্বোত্তম সম্ভব ব্যক্তিগতকৃত অভিজ্ঞতা পাক।","STREMIO_TV_LOGIN_HEADER_LINE_2":"এই কারণেই আমরা আপনাকে অনুরোধ করছি আপনার অ্যাকাউন্ট তৈরি করতে এবং/অথবা লগইন করতে।","STREMIO_TV_LOGIN_FOOTER_LINE_1":"বোঝার জন্য ধন্যবাদ,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"স্ট্রেমিও টিম","STREMIO_TV_REMOTE_INSTRUCTIONS":"আপনার স্মার্টফোন / ট্যাবলেট / ডেস্কটপে ওয়েব রিমোট ব্যবহার করতে:","STREMIO_TV_WIFI_SETUP":"ওয়াই-ফাই সেটআপ","STREMIO_TV_WIFI_HEADER_LINE_1":"স্ট্রেমিও সার্কেল কোনো ইন্টারনেট সংযোগ সনাক্ত করেনি।","STREMIO_TV_WIFI_DETAILS_1":"সংযোগ করুন:","STREMIO_TV_WIFI_DETAILS_2":"স্ট্রেমিও-সার্কেল","STREMIO_TV_WIFI_DETAILS_3":"পাসওয়ার্ড ব্যবহার করুন:","STREMIO_TV_WIFI_DETAILS_4":"স্ট্রেমিও সার্কেল","STREMIO_TV_WIFI_DETAILS_5":"লিঙ্কসহ একটি ওয়েব ব্রাউজার খুলুন:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"স্বয়ংক্রিয়","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"সর্বশেষ দেখা অনুযায়ী","STREMIO_TV_LIBRARY_SORT_NAME":"নাম অনুযায়ী","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"নাম অনুযায়ী অবরোহী ক্রমে","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"দেখার সংখ্যা অনুযায়ী","STREMIO_TV_LIBRARY_SORT_WATCHED":"দেখা হয়েছে অনুযায়ী","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"দেখা হয়নি অনুযায়ী","STREMIO_TV_DETAILS_SEASON_NUMBER":"সিজন ${1}","STREMIO_TV_STREAMS_LOADING":"${2} এর মধ্যে ${1} টি অ্যাড-অন লোড হয়েছে...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} টি অ্যাড-অন এখনও লোড হচ্ছে...","STREMIO_TV_PLAYER_SETTINGS":"প্লেয়ার সেটিংস","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"সাবটাইটেল বিলম্ব","STREMIO_TV_PLAYER_AUDIO_DELAY":"অডিও বিলম্ব","STREMIO_TV_PLAYER_VIDEO_SCALING":"ভিডিও স্কেলিং","STREMIO_TV_PLAYER_CHAPTERS":"অধ্যায়","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"${1} এড়িয়ে যান","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"অসমর্থিত স্ট্রিম সোর্স","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"বাহ্যিক লিঙ্ক খোলা ব্যর্থ হয়েছে","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"অডিও পাসথ্রু মোডে সমন্বয়যোগ্য নয়","STREMIO_TV_PLAYER_PLAY_IN_EXO":"ExoPlayer দিয়ে চালান","STREMIO_TV_PLAYER_PLAY_IN_VLC":"libVLC প্লেয়ার দিয়ে চালান","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"প্লেব্যাক ত্রুটির কারণে libVLC প্লেয়ারে স্যুইচ করা হচ্ছে","STREMIO_TV_ADDONS_TITLE":"অ্যাড-অন ইনস্টল বা কনফিগার করতে আপনার ফোন বা পিসিতে স্ট্রেমিও ব্যবহার করুন এবং \\"অ্যাড-অন সিঙ্ক করুন চাপুন\\"","STREMIO_TV_ADDONS_SUBTITLE":"নোট: নিশ্চিত করুন যে আপনি একই স্ট্রেমিও অ্যাকাউন্ট ব্যবহার করছেন","STREMIO_TV_ADDONS_SYNC_ADDONS":"অ্যাড-অন সিঙ্ক করুন","STREMIO_TV_ADDONS_SYNC_SUCCESS":"অ্যাড-অন সফলভাবে সিঙ্ক করা হয়েছে","STREMIO_TV_ADDONS_SYNC_FAILED":"অ্যাড-অন সিঙ্ক করতে ব্যর্থ হয়েছে","STREMIO_TV_META_LINK_FAILED":"মেটা লিঙ্ক খোলা ব্যর্থ হয়েছে","STREMIO_TV_CATALOG_LOADING":"ক্যাটালগ এখনও লোড হচ্ছে...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"ইন্টারফেস ভাষা আপডেট করা হয়েছে","STREMIO_TV_SETTINGS_THEME_UPDATED":"থিম আপডেট করা হয়েছে","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"স্বয়ংক্রিয় প্লেয়ার","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"বাহ্যিক প্লেয়ার","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"পছন্দের ভাষা","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"দ্বিতীয় পছন্দের ভাষা","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"টানেলড প্লেব্যাক","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"কিছু ডিভাইসে সম্ভাব্য প্লেব্যাক সমস্যা","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"কিছু ভিডিও ফরম্যাট কাজ নাও করতে পারে","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"ফ্রেম রেট মিলকরণ","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"নিষ্ক্রিয়","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"শুধুমাত্র ফ্রেম রেট","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"ফ্রেম রেট এবং রেজোলিউশন","STREMIO_TV_SETTINGS_NO_CACHING":"ক্যাশিং নেই","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"স্বয়ংক্রিয়","STREMIO_TV_SETTINGS_PROFILE_SOFT":"নরম","STREMIO_TV_SETTINGS_PROFILE_FAST":"দ্রুত","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"অতি দ্রুত","STREMIO_TV_SETTINGS_SERVER_URL":"স্ট্রিমিং সার্ভার url","STREMIO_TV_SETTINGS_SERVER_VERSION":"সার্ভার সংস্করণ","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"অজানা","STREMIO_TV_SETTINGS_STREMIO_VERSION":"স্ট্রেমিও সংস্করণ","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"সার্ভার url সম্পাদনা করুন","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"একটি স্ট্রিমিং সার্ভার url লিখুন","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"লোড করার সময় পরিসংখ্যান দেখান","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"স্ট্রেমিওর গোপনীয়তা নীতি পড়তে, দেখুন:","STREMIO_TV_SETTINGS_TOS_TEXT":"স্ট্রেমিওর শর্তাবলী পড়তে, দেখুন:","STREMIO_TV_NAV_SEARCH":"অনুসন্ধান","STREMIO_TV_NAV_HOME":"হোম","STREMIO_TV_NAV_DISCOVER":"আবিষ্কার করুন","STREMIO_TV_NAV_LIBRARY":"লাইব্রেরি","STREMIO_TV_NAV_MOVIES":"চলচ্চিত্র","STREMIO_TV_NAV_SERIES":"সিরিজ","STREMIO_TV_NAV_CHANNELS":"চ্যানেল","STREMIO_TV_NAV_TV":"লাইভ টিভি","STREMIO_TV_NAV_SETTINGS":"সেটিংস","STREMIO_TV_NAV_ADDONS":"অ্যাড-অন","STREMIO_TV_LOGIN_TITLE":"অ্যাকাউন্ট লিঙ্ক করুন","STREMIO_TV_LOGIN_EXPIRES_IN":"মেয়াদ শেষ হবে","STREMIO_TV_LOGIN_STEP_ONE":"উপরের QR কোড স্ক্যান করুন অথবা যান","STREMIO_TV_LOGIN_STEP_TWO":"আপনার Stremio অ্যাকাউন্টে লগ ইন করুন","STREMIO_TV_LOGIN_NEW_LINK":"নতুন লিঙ্ক অনুরোধ করুন","STREMIO_TV_LOGIN_LINK_REFRESHED":"লগইন কোড রিফ্রেশ করা হয়েছে","STREMIO_TV_SEARCH_PLACEHOLDER":"কিছু টাইপ করুন","STREMIO_TV_SEARCH_NO_ADDONS":"ক্যাটালগের জন্য কোনো অ্যাড-অন অনুরোধ করা হয়নি!","STREMIO_TV_SEARCH_BUTTON":"অনুসন্ধান","STREMIO_TV_SEARCH_KEY_DEL":"মুছুন","STREMIO_TV_SEARCH_KEY_SPACE":"স্পেস","STREMIO_TV_SEARCH_KEY_CLEAR":"পরিষ্কার","STREMIO_TV_SEARCH_HISTORY_TITLE":"অনুসন্ধান ইতিহাস","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"আপনি শিরোনাম, অভিনেতা, চ্যানেল এবং আরও অনেক কিছু অনুসন্ধান করতে পারেন...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"অনুসন্ধান ইতিহাস মুছুন","STREMIO_TV_FILTERS_DESCRIPTION":"নিচের ফিল্টারগুলির মধ্যে থেকে একটি বেছে নিন","STREMIO_TV_STREAMING_SERVER_OFFLINE":"স্ট্রিমিং সার্ভার অফলাইন। সার্ভার সেটিংস পরীক্ষা করুন।","FILTERS":"ফিল্টার","SETTINGS":"সেটিংস","ACCOUNT":"অ্যাকাউন্ট","LOGOUT":"লগআউট","THEMES":"থিম","PLAYBACK":"প্লেব্যাক","PLAYBACK_SPEED":"প্লেব্যাক গতি","AUDIO_TRACKS":"অডিও ট্র্যাক","UNKNOWN_TRACK_LANG":"অজানা","VIDEOS":"ভিডিও","SERVER":"সার্ভার","LINKS":"লিংক","ABOUT":"সম্পর্কে","INTERFACE":"ইন্টারফেস","ANIMATIONS":"অ্যানিমেশন","STATUS":"স্থিতি","LANGUAGE":"ভাষা","SIZE":"আকার","DELAY":"বিলম্ব","BOLD":"বোল্ড","OPACITY":"স্বচ্ছতা","TEXT_COLOR":"টেক্সট রং","OUTLINE_COLOR":"আউটলাইন রং","BACKGROUND_COLOR":"পটভূমির রং","BACKGROUND_BLUR":"পটভূমির ঝাপসা","SEEK_TIME_DURATION":"সময় অনুসন্ধানের সময়কাল","AUTO_PLAY":"পরবর্তী এপিসোড স্বয়ংক্রিয়ভাবে চালু","PLAY_NOW":"এখন চালাও","MARK_AS_WATCHED":"দেখা হয়েছে হিসেবে চিহ্নিত করুন","MARK_AS_UNWATCHED":"না দেখা হিসেবে চিহ্নিত করুন","REWIND_TO_BEGINNING":"শুরুতে ফিরে যান","CONTINUE_WATCHING":"দেখা চালিয়ে যান","ALL":"সব","SECONDS":"সেকেন্ড","ON":"চালু","OFF":"বন্ধ","RELOAD":"পুনরায় লোড করুন","EDIT_URL":"URL সম্পাদনা করুন","URL":"URL","NONE":"কোনোটিই নয়","EMBEDDED":"এম্বেডেড","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"ডিভাইস পরিবর্তন করুন","REMOTE_VIDEOS":"ভিডিও","REMOTE_ADJUST_TIMING":"সময় সমন্বয় করুন","REMOTE_ADJUST_SIZE":"আকার সমন্বয় করুন","REMOTE_COULD_NOT_BE_LOADED":"ওয়েব রিমোট লোড করা যায়নি","REMOTE_RETRY":"পুনরায় চেষ্টা করুন","TORRENT_PROFILE_DEFAULT":"স্বয়ংক্রিয়","TORRENT_PROFILE_SOFT":"নরম","TORRENT_PROFILE_FAST":"দ্রুত","TORRENT_PROFILE_ULTRA_FAST":"অতি দ্রুত","MB_S":"MB/s","FAQ_001_H1":"স্ট্রেমিও কী?","FAQ_001_P1":"স্ট্রেমিও একটি মিডিয়া সেন্টার সফ্টওয়্যার যা ব্যবহারের সহজতা মাথায় রেখে ভিডিও বিনোদনের জন্য ডিজাইন করা হয়েছে। স্ট্রেমিও আপনাকে আপনার নিজস্ব সিনেমা, সিরিজ, চ্যানেল এবং লাইভ টিভি সংগ্রহ সংগঠিত করতে ও দেখতে দেয়।","FAQ_001_P2":"স্ট্রেমিও আপনাকে যে কন্টেন্ট দেখায় তা আপনার স্থানীয় ডিস্ক এবং আমাদের অ্যাড-অন সিস্টেম থেকে সংগ্রহ করে।","FAQ_001_P3":"এটি আপনাকে নতুন এপিসোড/ভিডিও/সিনেমা যা আপনি আগ্রহী সেগুলি বের হলে জানাবে, এবং আপনার জন্য সিনেমা সুপারিশ প্রদান করবে।","FAQ_02_H1":"স্ট্রেমিও কিভাবে কোডি এবং প্লেক্সের সাথে তুলনা করে?","FAQ_02_P1":"আমরা এই দুটি সফ্টওয়্যার দ্বারা অনুপ্রাণিত। তবে আমাদের লক্ষ্য আলাদা - স্ট্রেমিও বিশেষভাবে বিনোদনমূলক ভিডিওর দিকে লক্ষ্য করে, এবং খুব সহজে ব্যবহারযোগ্য হওয়ার মাধ্যমে মূলধারার সমাধান হয়ে উঠতে চায়।","FAQ_02_P2":"স্ট্রেমিও কখনোই কোডি এবং প্লেক্সের মতো কাস্টমাইজযোগ্য এবং বৈশিষ্ট্য-সমৃদ্ধ হবে না, তবে এটি উল্লেখযোগ্যভাবে ব্যবহার করা সহজ। শুধু ${1} এটি নিন এবং দেখুন ${2} :)","FAQ_03_H1":"স্ট্রেমিও কিভাবে নেটফ্লিক্সের সাথে তুলনা করে?","FAQ_03_P1":"আবারও, নেটফ্লিক্স আমাদের অনুপ্রেরণাগুলির একটি। আমরা নেটফ্লিক্সের ব্যবহারকারী অভিজ্ঞতা অর্জন করার চেষ্টা করি, এর সাথে অনেক অতিরিক্ত সুবিধা। তবে সবচেয়ে গুরুত্বপূর্ণ বিষয় হল, আমরা আপনাকে আপনার নিজস্ব লাইব্রেরি পরিচালনা করার এবং আমাদের অ্যাড-অন সিস্টেমের মাধ্যমে নতুন কন্টেন্ট সোর্স যোগ করার স্বাধীনতা দিচ্ছি।","FAQ_03_P2":"এটি স্ট্রেমিওকে অসীমভাবে সম্প্রসারণযোগ্য করে তোলে, তাই যখন আপনি স্ট্রেমিও ব্যবহার করেন, আপনি কখনোই নেটফ্লিক্স যে কন্টেন্ট লাইসেন্স করার সিদ্ধান্ত নেয় তার মধ্যে সীমাবদ্ধ থাকেন না। উদাহরণস্বরূপ, স্ট্রেমিওর মাধ্যমে আপনি ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} এবং এমনকি ${9}Netflix${10} নিজেও দেখতে পারেন!","FAQ_04_H1":"স্ট্রেমিও কিভাবে ফ্লিপবোর্ডের সাথে তুলনা করে?","FAQ_04_P1":"আমরা এই প্রশ্নটি খুব বেশি পাই না, স্টার্ট-আপ লোকদের সাথে কথা বলার সময় ছাড়া :)","FAQ_04_P2":"স্ট্রেমিও ডিজাইন অনুযায়ী একটি কন্টেন্ট সংগ্রাহক, যা এটিকে মূলত ভিডিওর জন্য ফ্লিপবোর্ড বানিয়ে তোলে। এটি আমাদের বোর্ড সেকশনে খুব স্পষ্ট, যা আপনাকে আপনি যা অনুসরণ করেন তার জন্য ক্যাটালগ এবং নতুন এপিসোড/নতুন ভিডিও বিজ্ঞপ্তি দেয়, ঠিক ফ্লিপবোর্ডের মতো।","FAQ_05_H1":"স্ট্রেমিও কিভাবে পপকর্ন টাইমের সাথে তুলনা করে?","FAQ_05_P1":"স্ট্রেমিও এবং পপকর্ন টাইম ব্যবহারকারী ইন্টারফেসে অনুরূপ, কারণ ভিডিও বিনোদন ক্যাটালগ সঠিকভাবে করার খুব বেশি উপায় নেই :)","FAQ_05_P2":"কিন্তু যেখানে পপকর্ন টাইম নির্দিষ্ট উৎস থেকে টরেন্ট স্ট্রিমিংয়ের উপর ফোকাস করে, সেখানে স্ট্রেমিও অবাধ এবং শুধুমাত্র একটি কন্টেন্ট সংগ্রাহক - এটি কোনো নির্দিষ্ট কন্টেন্ট উৎসের মধ্যে আবদ্ধ নয়।","FAQ_05_P3":"তদুপরি, আমরা স্বয়ংক্রিয়ভাবে কোনো টরেন্ট অ্যাড-অন প্রদান করি না, তাই স্ট্রেমিও অফিসিয়াল ফাংশনালিটি দিয়ে পপকর্ন টাইমের ব্যবহার-ক্ষেত্র কভার করে না।","FAQ_05_P4":"আরেকটি উল্লেখযোগ্য পার্থক্য হল যে পপকর্ন টাইম সম্পূর্ণ ওপেন সোর্স, যেখানে স্ট্রেমিও ${1} আংশিকভাবে ওপেন সোর্স${2}।","FAQ_06_H1":"আপনি কি এই সিনেমা/সিরিজ যোগ করবেন?","FAQ_06_P1":"না, দুঃখিত :(","FAQ_06_P2":"যেমন অন্যান্য বেশিরভাগ প্রশ্নে উল্লেখ করা হয়েছে, স্ট্রেমিও নিজে থেকে কোনো কন্টেন্ট প্রদান করে না - সবকিছু অ্যাড-অন সিস্টেমের মাধ্যমে যোগ করা হয়। যদি আপনার কোনো কন্টেন্ট অনুরোধ থাকে, আপনি প্লেয়ারে \'রিপোর্ট\' বাটন ব্যবহার করতে পারেন, যা আপনি বর্তমানে ব্যবহার করছেন সেই অ্যাড-অনের লেখকের কাছে একটি ইমেইল পাঠাবে।","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"আপনি কি X এর জন্য অ্যাড-অন তৈরি করবেন?","FAQ_08_P1":"এটা সম্পূর্ণ সম্ভব।","FAQ_08_P2":"যদি আপনার কাছে একটি অ্যাড-অনের ধারণা থাকে, তাহলে আমাদের ${1}office@stremio.com${2} এ একটি লাইন দিন, তবে অনুগ্রহ করে নিশ্চিত করুন যে আপনার অ্যাড-অন ধারণা কোনো কপিরাইট বা ব্যবহারের শর্তাবলী লঙ্ঘন করবে না।","FAQ_08_P3":"এই মুহূর্তে, আমাদের রোডম্যাপে পরবর্তী জিনিসগুলি হল FandangoNOW, Filmon.tv ভিডিও অন ডিমান্ড এবং Crunchyroll এর জন্য অ্যাড-অন।","FAQ_09_H1":"স্ট্রেমিও কি বিটটরেন্ট ব্যবহার করে?","FAQ_09_P1":"হ্যাঁ, স্ট্রেমিও একটি স্ট্রিমিং প্রোটোকল হিসাবে বিটটরেন্ট সমর্থন করে। আপনি এটি একটি টরেন্ট অ্যাড-অনের সাথে, বা একটি .torrent ফাইল স্ট্রেমিওতে টেনে এনে ড্রপ করে, অথবা সার্চ বারে একটি ম্যাগনেট লিঙ্ক পেস্ট করে ব্যবহার করতে পারেন।","FAQ_09_P2":"অনুগ্রহ করে মনে রাখবেন যে বিটটরেন্ট ব্যবহার করে একমাত্র অফিসিয়াল অ্যাড-অন হল ${1}Vodo${2}, যা ইন্ডি কন্টেন্ট প্রদান করে, যা সবই বিটটরেন্টের মাধ্যমে বিতরণের অনুমতি প্রাপ্ত।","FAQ_09_P3":"আমরা এমন কোনো তৃতীয় পক্ষের অ্যাড-অনের ব্যবহার সমর্থন করি না যা কপিরাইট লঙ্ঘন সক্ষম করতে পারে।","FAQ_10_H1":"অফিসিয়াল অ্যাড-অন দিয়ে স্ট্রেমিওতে আমি কী দেখতে পারি?","FAQ_10_P1":"স্বয়ংক্রিয়ভাবে, আপনি স্ট্রেমিওর নিজস্ব এম্বেডেড প্লেয়ারে Filmon.tv, YouTube এবং Vodo কন্টেন্ট দেখতে পারেন। এছাড়াও, আমাদের কাছে Twitch.tv এবং আরও কয়েকটির জন্য একটি অ্যাড-অন আছে।","FAQ_10_P2":"এগুলি মিলিত হয়ে নিম্নলিখিত নির্বাচন প্রদান করে:","FAQ_10_L1":"Filmon.tv দ্বারা প্রদত্ত জনপ্রিয় টিভি চ্যানেল - উদাহরণস্বরূপ E4, BBC, Bollyworld TV","FAQ_10_L2":"YouTube থেকে সবকিছু - উদাহরণস্বরূপ BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Vodo দিয়ে ইন্ডি সিনেমা","FAQ_10_L4":"Twitch.tv দিয়ে অনলাইন গেমিং সম্প্রচার","FAQ_10_P3":"এছাড়াও, Guidebox এবং Netflix অ্যাড-অন দিয়ে অনেক কন্টেন্ট সোর্স প্রদান করা হয়, যা স্ট্রেমিওর মধ্যে সম্পূর্ণভাবে চালানো যায় না, কিন্তু প্রদত্ত পরিষেবায় রিডাইরেক্ট করবে। উদাহরণস্বরূপ, Guidebox অ্যাড-অন আপনাকে যুক্তরাষ্ট্রে বিনামূল্যে স্ট্রিম করতে পারেন এমন সিনেমার একটি নির্বাচন দেবে, TubiTV এবং Crackle-এর মতো পরিষেবা থেকে।","FAQ_11_H1":"স্ট্রেমিও ইনস্টল হচ্ছে না, আমার কী করা উচিত?","FAQ_11_P1":"যদি আপনি উইন্ডোজে থাকেন, তবে ${1}এই বিকল্প ইনস্টলার${2} চেষ্টা করুন।","FAQ_11_P2":"যদি আপনি ম্যাক ওএস এক্স-এ থাকেন, তবে অনুগ্রহ করে জেনে রাখুন যে আমরা ওএস এক্স ম্যাভেরিকস (10.9) এর পুরোনো কোনো সংস্করণ সমর্থন করি না।","FAQ_11_P3":"যদি আপনি লিনাক্সে থাকেন, তবে জেনে রাখুন যে আমরা বর্তমানে শুধুমাত্র 64 বিট (x64) লিনাক্স সমর্থন করি।","FAQ_11_P4":"যদি আপনি এখনও আপনার সমস্যার সমাধান করতে না পারেন, তবে অনুগ্রহ করে আমাদের ${1}ফেসবুক গ্রুপে${2} লিখুন।","FAQ_12_H1":"কেন আমার অ্যান্টি-ভাইরাস অভিযোগ করছে? স্ট্রেমিও কি নিরাপদ?","FAQ_12_P1":"আমরা আপনাকে নিশ্চিত করছি যে স্ট্রেমিও ${1}100% নিরাপদ${2}।","FAQ_12_P2":"আপনার অ্যান্টিভাইরাস অভিযোগ করছে কারণ আমরা আমাদের ইনস্টলারে বিজ্ঞাপন অন্তর্ভুক্ত করি, যা কিছু অ্যান্টি-ভাইরাস প্রোগ্রাম অ্যাড-ওয়্যার হিসেবে চিহ্নিত করে।","FAQ_12_P3":"যদি আপনি এখনও অনিশ্চিত থাকেন, তবে আপনি আমাদের ${1}বিকল্প ইনস্টলার${2} ব্যবহার করে দেখতে পারেন।","FAQ_13_H1":"আমি কিভাবে একটি অ্যাড-অন তৈরি করতে পারি?","FAQ_13_P1":"শুরু করার জন্য, আমরা আপনাকে GitHub-এ আমাদের ${1}অ্যাড-অন সিস্টেম মডিউল${2} দেখতে সুপারিশ করি।","FAQ_13_P2":"এরপর, আপনি ${1}হ্যালো ওয়ার্ল্ড টিউটোরিয়াল${2} অনুসরণ করতে পারেন।","FAQ_13_P3":"যদি আপনার কোনো প্রোগ্রামিং দক্ষতা না থাকে, তাহলে অনুগ্রহ করে ${1}রেডিট কমিউনিটিতে${2} আপনার ধারণা পোস্ট করুন এবং আপনার অ্যাড-অন ধারণা নিয়ে আমাদের সাথে ${3}office@stremio.com${4}-এ যোগাযোগ করুন।","FAQ_14_H1":"অ্যাড-অনগুলি কিভাবে প্রকাশিত হয়?","FAQ_14_P1":"যখন আপনি একটি অ্যাড-অন তৈরি করেন এবং হোস্ট করেন, এবং আপনার ম্যানিফেস্টে একটি এন্ডপয়েন্ট ক্ষেত্র রাখেন, যা একটি কার্যকর অ্যাড-অন ঠিকানায় নির্দেশ করে, তখন অ্যাড-অনটি স্বয়ংক্রিয়ভাবে নিজেকে আমাদের ${1}অ্যাড-অন ক্যাটালগে${2} প্রকাশ করবে।","FAQ_14_P2":"এটি ঘটে কারণ stremio-addons মডিউলের সার্ভার অংশ স্বয়ংক্রিয়ভাবে অ্যাড-অনটি ঘোষণা করার জন্য আমাদের API-তে একটি কল করে। যখন আমাদের API আপনার এন্ডপয়েন্টকে একটি বৈধ অ্যাড-অন হিসাবে যাচাই করে, এটি ক্যাটালগে দেখাতে শুরু করবে।","FAQ_15_H1":"আমি কি আমার ব্রাউজারে স্ট্রেমিও চালাতে পারি?","FAQ_15_P1":"এই মুহূর্তে না, তবে এটি আসছে!","FAQ_15_P2":"যদি আপনি একটি আলফা দেখতে আগ্রহী হন, তাহলে আপনি এখানে দেখতে পারেন: ${1}alpha4.strem.io${2}। মনে রাখবেন এই আলফায় স্ট্রিমিং নিষ্ক্রিয় করা আছে। আমরা Chrome, Firefox, Opera এবং Edge সমর্থন করি।","FAQ_16_H1":"টিভিতে কাস্টিং কাজ করে না / সাবটাইটেল কাজ করে না","FAQ_16_P1":"টিভিতে কাস্টিং DLNA প্রযুক্তি ব্যবহার করে যা বিভিন্ন টিভি ব্র্যান্ড এবং মডেলের মধ্যে খুব অসঙ্গতিপূর্ণ। এই কারণে, আমাদের প্রতিটি ক্ষেত্রে এটি পরীক্ষা করার ক্ষমতা নেই, তাই এটি নিখুঁত থেকে অনেক দূরে। এসত্ত্বেও, আমরা এটি নিরন্তর উন্নত করার চেষ্টা করছি কিন্তু আমরা আপনাকে কখন DLNA আপনার টিভির সাথে সঠিকভাবে কাজ করতে শুরু করবে তার সময়ের অনুমান দিতে পারি না।","FAQ_16_P2":"যদি আপনি কাস্টিং মেনুতে আপনার টিভি দেখতেই না পান, তাহলে অনুগ্রহ করে আপনার নেটওয়ার্ক সংযোগ নিষ্ক্রিয় করে পুনরায় সক্রিয় করার চেষ্টা করুন (উইন্ডোজে, নেটওয়ার্কে ডান ক্লিক করে সক্রিয়/নিষ্ক্রিয় ব্যবহার করুন), এবং আপনার রাউটার, টিভি এবং পিসি পুনরায় চালু করুন।","FAQ_16_P3":"যদি আপনি এখনও সমস্যার সম্মুখীন হন, তাহলে আপনি আপনার টিভি ব্র্যান্ড এবং মডেল তথ্য ${1}office@stremio.com${2}-এ পাঠিয়ে আমাদের সাহায্য করতে পারেন।","FAQ_16_P4":"ইতিমধ্যে, আমরা Chromecast সুপারিশ করি, যা আমরা খুব ভালভাবে সমর্থন করি, অথবা সহজভাবে আপনার টিভিকে একটি HDMI কেবল দিয়ে আপনার পিসির সাথে সংযুক্ত করুন।","FAQ_17_H1":"স্ট্রেমিও হিমায়িত হয়ে যায় এবং/অথবা ক্র্যাশ করে, আমি কী করতে পারি?","FAQ_17_P1":"প্রথমত, যদি আপনি AVG অ্যান্টি-ভাইরাস সহ Windows 7 ব্যবহার করছেন: আমাদের এই সংমিশ্রণের সাথে একটি সমস্যা আছে। সমস্যাটি AVG-তেই রয়েছে, এবং আমাদের দিক থেকে এটি সমাধান করার কোনো যুক্তিসঙ্গত উপায় নেই। দুর্ভাগ্যবশত, ব্যতিক্রম বা অ্যান্টি-ভাইরাস নিষ্ক্রিয় করা কাজ করবে না। একমাত্র সমাধান হল AVG-কে অন্য কিছু দিয়ে প্রতিস্থাপন করা।","FAQ_17_P2":"যদি এটি সমস্যা না হয়, কিন্তু আপনি এখনও Windows ব্যবহার করছেন, তাহলে অনুগ্রহ করে সর্বশেষ সার্ভিস প্যাকে আপডেট করুন এবং আপনার GPU ড্রাইভার আপডেট/পুনরায় ইনস্টল করুন, তারপর আবার চেষ্টা করুন।","FAQ_17_P3":"যদি আপনার সমস্যা এখনও সমাধান না হয়, অথবা আপনি একটি Mac বা Linux ব্যবহার করছেন, তাহলে অনুগ্রহ করে সমস্যার সঠিক বিবরণ ${1}আমাদের Facebook গ্রুপে${2} রিপোর্ট করে আমাদের লিখুন।","FAQ_18_H1":"আমি কিভাবে একটি অ্যাড-অন তৈরি করতে পারি?","FAQ_18_P1":"শুরু করার জন্য, আমরা আপনাকে GitHub-এ আমাদের ${1}অ্যাড-অন সিস্টেম মডিউল${2} দেখতে সুপারিশ করি।","FAQ_18_P2":"এরপর, আপনি ${1}হ্যালো ওয়ার্ল্ড টিউটোরিয়াল${2} অনুসরণ করতে পারেন।","FAQ_18_P3":"যদি আপনার কোনো প্রোগ্রামিং দক্ষতা না থাকে, তাহলে অনুগ্রহ করে ${1}রেডিট কমিউনিটিতে${2} আপনার ধারণা পোস্ট করুন এবং আপনার অ্যাড-অন ধারণা নিয়ে আমাদের সাথে ${3}office@stremio.com${4}-এ যোগাযোগ করুন।","FAQ_19_H1":"কেন স্ট্রেমিও ডিস্ক স্পেস নিচ্ছে?","FAQ_19_P1":"স্ট্রেমিওর একটি স্থানীয় ক্যাশে আছে যা আপনি স্ট্রিম করা ভিডিও ফাইলগুলি সাময়িকভাবে রাখে।","FAQ_19_P2":"এর দুটি সুবিধা আছে: প্রথমত, এটি স্ট্রেমিওকে আগে থেকে ভিডিও প্রি-বাফার করতে দেয় যাতে মসৃণ স্ট্রিমিং নিশ্চিত করা যায়। দ্বিতীয়ত, এটি স্থানীয় ক্যাশেতে ভিডিওগুলি রাখে যাতে আপনি অফলাইনে তাদের দেখতে পারেন।","FAQ_19_P3":"স্ট্রেমিও কতটা রাখে তা সেটিংস প্যানেলের ক্যাশে সেটিংয়ের উপর নির্ভর করে। স্ট্রেমিও নির্ধারিত পরিমাণ (যেমন 2GB) পর্যন্ত আপনার ডিস্কে রাখতে পারে, যদি না বর্তমানে স্ট্রিম করা ভিডিও এর চেয়ে বড় হয়, যে ক্ষেত্রে এটিকে পর্যাপ্ত স্টোরেজ বরাদ্দ করতে হবে যতক্ষণ না আপনি এটি স্ট্রিম করছেন।","FAQ_20_H1":"ক্যাশে ফোল্ডারটি কোথায়?","FAQ_20_P1":"উইন্ডোজে, এটি আপনি সেটিংসে বেছে নেওয়া ড্রাইভে stremio-cache (যেমনঃ \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"ম্যাকওএসে, এটি \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"লিনাক্সে, এটি \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"আমি \'স্ট্রিমিং সার্ভার পাওয়া যায়নি\' ত্রুটি পাচ্ছি, আমি কী করতে পারি?","FAQ_21_P1":"যদি আপনি এই ত্রুটিটি পান, তার মানে কয়েকটি জিনিসের মধ্যে একটি:","FAQ_21_P2":"১) আপনি আমাদের ${1}ওয়েব সংস্করণের${2} মাধ্যমে YouTube/BitTorrent উৎস দ্বারা সমর্থিত একটি অ্যাড-অন ব্যবহার করার চেষ্টা করছেন। এই ক্ষেত্রে, আপনার ${3}আমাদের ওয়েবসাইট${4} থেকে আমাদের ডেস্কটপ সংস্করণ ইনস্টল করা উচিত।","FAQ_21_P3":"২) আপনার স্ট্রেমিও ইনস্টলেশনের সাথে কিছু সমস্যা আছে। এই ক্ষেত্রে, ${1}ওয়েবসাইট${2} থেকে আমাদের সর্বশেষ ডেস্কটপ সংস্করণ পুনরায় ইনস্টল করার চেষ্টা করুন। যদি এটি সাহায্য না করে, অ্যান্টি-ভাইরাস প্রোগ্রাম এবং ফায়ারওয়াল নিষ্ক্রিয় করে, আপনার পিসি পুনরায় চালু করে আবার চেষ্টা করুন। যদি এটিও কাজ না করে, তাহলে অনুগ্রহ করে আমাদের ${3}আমাদের ফেসবুক গ্রুপে${4} লিখুন।","FAQ_22_H1":"আমি iOS-এ বেশিরভাগ অ্যাড-অন দেখতে/ব্যবহার করতে পারছি না","FAQ_22_P1":"অ্যাপল অ্যাপ স্টোরের শর্তাবলীতে সীমাবদ্ধতার কারণে, আমরা iOS অ্যাপ্লিকেশনটিকে শুধুমাত্র একটি নির্দিষ্ট সেট অ্যাড-অনে সীমাবদ্ধ করেছি।","FAQ_22_P2":"তবে নিশ্চিন্ত থাকুন - ভবিষ্যতে iOS-এর জন্য আরও অ্যাড-অন থাকবে, এবং আমরা একটি একীকরণও যোগ করতে পারি যা আপনাকে iOS অ্যাপটিকে স্ট্রেমিও স্ট্রিমিং সার্ভারের সাথে সংযোগ করে সমস্ত স্ট্রেমিও অ্যাড-অন ব্যবহার করতে দেবে।"}')},78969:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Pel·lícula","TYPE_series":"Sèries","TYPE_tv":"Canal de TV","TYPE_channel":"Canal","TYPE_other":"Altres","TYPE_movie_PL":"Pel·lícules","TYPE_series_PL":"Sèries","TYPE_tv_PL":"Canals de TV","TYPE_channel_PL":"Canals","TYPE_other_PL":"Altres","TYPE_ALL":"Tot","TYPE":"Tipus","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Destacat","CATALOG_com_linvo_cinemeta_year":"Nou","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Pel·lícules de Domini Públic","VIDEO":"Vídeo","BACK":"Enrere","MORE":"Més","DONE":"Fet","COPY":"Copia","SUCCESS":"Èxit","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Mode d\'emissió","CASTING_MODE_HLSV2":"Per defecte","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Sense transcodificació","Discover":"Descobrir","Board":"Panell","Library":"Biblioteca","My Library":"La meva Biblioteca","Calendar":"Calendari","NOTIFICATION_ONLINE":"Ara esteu en línia","NOTIFICATION_OFFLINE":"Ara esteu fora de línia","INTERNET_CONNECTION":"Connexió de xarxa","STORAGE_FULL_TITLE":"Advertència: Emmagatzematge ple!","STORAGE_FULL_TEXT":"Stremio no podrà desar la configuració, les preferències ni la informació d\'inici de sessió. Penseu a reiniciar o tornar a instal·lar Stremio.","SEARCH":"cerca","SEARCH_NO_RESULTS":"No s\'han trobat resultats","SEARCH_EXPLANATION_CONTENT":"Cerca pel·lícules, sèries, canals de YouTube i TV","SEARCH_EXPLANATION_PEOPLE":"Cerca actors, directors i escriptors","SEARCH_PASTE_LINKS":"Enganxa enllaços HTTP i Magnètics","SEARCH_OR_PASTE_LINK":"Cerca o enganxa l\'enllaç","SEARCH_SUGGESTIONS":"Suggeriments de cerca","ADD_TO_LIB":"Afegir a la Biblioteca","REMOVE_FROM_LIB":"Elimina de la Biblioteca","ADDED_TO_LIB":"Afegit a la Biblioteca","REMOVED_FROM_LIB":"Eliminat de la Biblioteca","TRAILER":"Tràiler","WATCH_TRAILER":"Mirar el tràiler","WATCH_NOW":"Mirar ara","SHOW":"Mirar","SHOW_MOVIE":"Mirar Pel·lícula","WATCH_RANDOM":"Mirar aleatòriament","IMDB_RATING":"Qualificació IMDb","YEAR":"Any","DIRECTOR":"Director","WRITER":"Escriptor","LEAD_ACTORS":"Actors principals","CAST":"Elenc","CREW":"Equip tècnic","SHOW_MORE_CAST":"Mostra més »","AIRED":"Emès","SEASONS":"Temporades","GENRE":"Gènere","GENRE_ALL":"Tots els gèneres","CATALOG":"Catàleg","SUMMARY":"Resum","SHOW_MORE":"Mostra Més","SIMILAR":"Similar","UPCOMING":"Properament","TBA":"TBA","ENDED":"Finalitzat","DURATION":"Duració","FEATURED":"Destacat","METADATA":"Metadades","CATEGORY":"categoria","LINKS_GENRES":"Gèneres","LINKS_CAST":"Elenc","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"cercar vídeos","SEARCH_PLACEHOLDER":"cercar o enganxar URL","ADDON":"complement","ADDONS":"Complements","OFFICIAL":"oficial","ADDONS_OFFICIAL":"Complements Stremio oficials","ADDONS_POPULAR":"Popular a la vostra regió","ADDON_FREE":"gratuït","ADDON_PEERED":"compartit","ADDON_SUBSCRIPTION":"subscripció","ADDON_STREAM_GEORESTRICTED":"no disponible a la vostra regió","ADDON_STREAM_OFFLINECACHE":"Memòria cau fora de línia","ADDON_STREAM_LOCALFILE":"Fitxer local","SHARE_ADDON":"Comparteix el complement","AVAILABLE_STREAMS":"Streams disponibles","NO_STREAM":"No s\'ha trobat cap stream","ALL_ADDONS":"Tot","INSTALL_MORE_ADDONS":"Per obtenir més streams, instal·leu més complements","STREAM_NOT_SUPPORTED":"El stream seleccionat no és compatible amb aquesta plataforma.","ADDON_CATALOGUE":"Mostra tots els complements »","ADDON_CATALOGUE_MORE":"Instal·la complements","REPO_ADDED":"Repositori afegit","ADDON_REPO_EXIST_ERR":"Aquesta col·lecció de complements ja existeix","ADDON_REPO_ERR":"S\'ha produït un error en afegir la col·lecció","ADDON_ADD_ERR":"S\'ha produït un error en afegir un complement","ERR_ADDON_PROTECTED":"No es pot desinstal·lar el complement, està protegit","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Hi ha hagut un problema - l\'autenticació pot haver fallat","ERR_NOT_COLLECTION_URL":"No és un URL de col·lecció","ERR_NOT_ADDON_URL":"No és un URL de complement vàlid","ERR_DETECTFROMURL":"No es pot trobar cap complement/col·lecció en aquest URL","ADDON_DUPLICATE_WARNING":"Advertència: complement duplicat","ADDON_COLLECTION_SET_FAILED":"Ha fallat la sincronització de complements instal·lats al vostre compte","SETTINGS_DATA_EXPORT":"Exporta dades d\'usuari","ADDON_PULL_FAILED":"Ha fallat la sincronització dels complements instal·lats del vostre compte","REFRESH_ON_CLICK":"Prem per reintentar","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Pel·lícula encara als cinemes","WATCH_IN_CINEMA":"Mireu-lo al vostre cinema local","IN_THEATER":"En el cinema","GET_TICKETS":"Obtenir entrades","UPCOMING_EPISODE":"Pròxim episodi","UPCOMING_EPISODE_MESSAGE":"Aquest episodi s’emetrà al","MISSING_DATE_EPISODE":"Falta la data de l\'episodi","MISSING_DATE_EPISODE_MESSAGE":"És possible que aquest episodi encara no s’hagi emès","CHANNEL_NOT_SCRAPED":"Aquest canal encara no s\'ha habilitat.
    Si us plau, torneu d\'aquí a uns minuts.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Afegiu-lo a la vostra Biblioteca per rebre una notificació un cop estigui disponible.","GET_NOTIFIED_WHEN_AVAILABLE":"Rebràs una notificació un cop estigui disponible.","WARNING_STREAMING_SERVER":"Advertència: no s\'ha trobat el servidor d\'streaming local. L\'streaming des de fitxers locals, YouTube i BitTorrent no estarà disponible.","WARNING_STREAMING_SERVER_DISMISS":"Descartar","WARNING_STREAMING_SERVER_LATER":"Més tard","DECODER_WARNING":"Advertència: és possible que aquest vídeo no sigui compatible amb el vostre maquinari. Tingueu en compte que la reproducció pot ser lenta.","GENERIC_ERROR_MESSAGE":"Alguna cosa ha anat malament!","TRY_AGAIN":"Tornar-ho a provar","CLEAR_DATA":"Esborrar dades","PLAYER_ERROR":"Vaja, error del reproductor","PLAYER_ERROR_LOOKSLIKE":"Sembla que","PLAYER_ORIENTATION":"Orientació del reproductor","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Bloquejat","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"L\'orientació del reproductor bloquejada en horitzontal","PLAYER_ORIENTATION_SENSOR":"Orientació del reproductor automàtica (sensor)","PLAYER_PLAYBACK_SPEED":"Velocitat de reproducció","PLAYER_PLAYBACK_ERROR":"Error de reproducció, torneu-ho a provar","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Error desconegut","PLAYER_PLAYBACK_ERROR_DEFAULT":"Ho sentim, aquest vídeo no pot ser reproduït per {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Idiomes dels subtítols","PLAYER_SUBTITLES_VARIANTS":"Variants de subtítols","PLAYER_SUBTITLES_SETTINGS":"Configuració dels subtítols","PLAYER_SUBTITLES_DISABLED":"Subtítols desactivats","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posició Vertical","PLAYER_SUBTITLES_LOADED":"Subtítols carregats","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Subtítols incrustats carregats","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Subtítols exclusius carregats","PLAYER_SUBTITLES_LOADED_LOCAL":"Subtítols locals carregats","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtítols de {{origin}} carregats","PLAYER_PLAY":"Reprodueix","PLAYER_PAUSE":"Pausa","PLAYER_NEXT_VIDEO":"Següent Vídeo","PLAYER_MUTE":"Silenciar","PLAYER_UNMUTE":"Activar so","PLAYER_OPEN_IN_EXTERNAL":"Obre en un reproductor extern","PLAYER_OPEN_IN_NPLAYER":"Obre en nPlayer","PLAYER_PLAY_IN":"Reprodueix a {{device}}","PLAYER_LIVE":"En directe","PLAYER_NEXT_VIDEO_TITLE":"A continuació","PLAYER_NEXT_VIDEO_TITLE_SHORT":"A continuació","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Descartar","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Veure ara","PLAYER_COPY_STREAM_SUCCESS":"Enllaç de la reproducció copiat al porta-retalls","PLAYER_COPY_STREAM_ERROR":"No s\'ha pogut copiar l\'enllaç","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"L\'enllaç de baixada s\'ha copiat al porta-retalls","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"No s\'ha pogut copiar l\'enllaç de baixada","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"transmissió des de","CASTING_TO":"S\'està emetent a","NETWORK_STATUS":"Estat de la xarxa","STREAM_SPEED":"Velocitat del stream:","STREAM_BUFFERED":"Emmagatzemat:","PEERS_INFO":"Informació dels pars","PEERS_ACTIVE":"Actiu:","PEERS_CONNECTED":"Connectat:","PEERS_WAITING":"Esperant:","TRANSCODING_WARNING":"Advertència: transcodificant vídeo.","STREAM_LOADING":"carregant ...","PLAYING_LOCAL":"reproduint des del fitxer local","PLAYING_CACHE":"reproduint des de la memòria cau","WRONG_SUBS":"Subtítols incorrectes?","ERR_SUBS_LOADING_TITLE":"Error en carregar els subtítols","ERR_SUBS_LOADING":"Ha fallat la càrrega de subtítols: això podria ser un problema amb el complement que utilitzeu o amb la vostra connexió de xarxa","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Els següents complements de subtítols han fallat","ERR_CASTING_UPDATE_TITLE":"No s\'ha pogut actualitzar la informació del dispositiu d\'emissió: el servidor d\'streaming podria estar fora de línia","CHOOSE_DEVICE":"Trieu un dispositiu on mirar-lo","NO_CAST_DEVICES":"No hi ha dispositius d\'emissió disponibles.","NO_SETTINGS":"No hi ha cap configuració disponible.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telèfon / Tauleta","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtítols","SUBTITLES_CHANGE":"Canvia els subtítols per a ","SUBTITLES_CHANGE_NONE":"No hi ha cap altre subtítol en aquest idioma, ho sento.","SUBTITLES_CHANGE_ACIVE":"Actualment els subtítols #{{subtitlesDialog.activeIdx + 1}} estan activats. Prem \\"Continua\\" per activar els subtítols #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativament,","SUBTITLES_ADJUST_DELAY":"Ajustar el retard de subtítols:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"O usa les tecles G / H durant la reproducció per ajustar.","SUBTITLES_ADJUST_DELAY_TIP":"Nota: podeu utilitzar les tecles G / H durant la reproducció per ajustar.","SUBTITLES_DELAY":"Retard de subtítols:","SUBTITLES_LOADING":"Carregant els subtítols...","SUBTITLES_UNAVAILABLE":"No hi ha subtítols externs disponibles","SUBTITLES_DISABLED":"Desactivat","EXTERNAL_PLAYER_DISABLED":"Desactivat","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permet Triar","EXTERNAL_PLAYER_HINT":"Pista: hi ha una configuració per permetre l\'obertura sempre amb un reproductor extern","DONT_SHOW_AGAIN":"No tornis a mostrar","SERVICE_INSTALL":"Instal·lar","AUDIO":"Àudio","DEFAULT_LANGUAGE":"Idioma per Defecte","DEFAULT_SECONDARY_LANGUAGE":"Idioma Secundari per Defecte","SEASON":"Temporada","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episodi","EPISODE_ABBREVIATION":"EP","SPECIAL":"Especial","SORT":"ordenar","SORT_BY":"Ordenar per","FILTER":"filtrar","SORT_TRENDING":"tendències","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"qualificació","SORT_WATCHED":"vist","SORT_YEAR":"any","SELECT":"Select","SELECT_TYPE":"Selecciona el tipus","SELECT_SORT":"Selecciona ordre","SELECT_CATALOG":"Selecciona catàleg","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Selecciona gènere","SORT_LASTWATCHED":"Últim vist","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"més vist","SORT_NOTWATCHED":"no vist","New for You":"Nou per a tu","New Episodes":"Nous episodis","New Videos":"Nous vídeos","Recommendations":"Recomanacions","LIBRARY_RESUME":"Reprendre","LIBRARY_PLAY":"Reprodueix","LIBRARY_DETAILS":"Detalls","LIBRARY_RESUME_DISMISS":"Descartar","LIBRARY_CLEAR_PROGRESS":"Esborrar progrés","LIBRARY_REMOVE":"Elimina","LIBRARY_NOT_LOGGED_IN":"La biblioteca només està disponible per als usuaris registrats","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"El calendari només està disponible per als usuaris registrats","NOT_LOGGED_IN_CLOUD":"Accediu a les vostres pel·lícules i programes de televisió preferits en qualsevol moment i en qualsevol lloc","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomanacions adaptades al vostre historial de visualitzacions","NOT_LOGGED_IN_NOTIFICATIONS":"No et perdis mai cap episodi","NOT_LOGGED_IN_CALENDAR":"Programeu el vostre calendari de visualització personal","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Destacat","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Guanyadors d\'Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Aquest complement ha retornat un contingut buit.","DISCOVER_ADULT_WARNING":"El contingut només és visible per a adults. Teniu més de 18 anys?","DISCOVER_NOADDON_WARNING":"Avís: no hi ha cap complement Stremio actiu per a aquest tipus. Mostrant elements desats, res d\'aquí s\'actualitzarà.","DISCOVER_LOAD_ERR":"El contingut no s\'ha carregat, s\'ha produït un error.","DISCOVER_ADDON_UNINSTALLED":"Aquest contingut ja no està disponible, és possible que hàgiu desinstal·lat el complement.","UNINSTALL_THIS_ADDON":"Desinstal·la aquest complement","ERR_ADDON_NOT_INSTALLED":"Aquest complement no està instal·lat. Instal·lar-lo ara?","DETAIL_RECEIVE_NOTIF_SERIES":"Rep notificacions d\'episodis nous","DETAIL_RECEIVE_NOTIF_VIDEOS":"Rep notificacions de vídeos nous","SIDEBAR_SHOW_STREAMS":"Mostra streams","RELAUNCH":"Rellançar ara!","UPGRADE":"Hi ha disponible una nova versió. Actualitzeu a la darrera versió d\'Stremio","RELOAD_UI":"Recarregar la interfície d\'usuari","MANUAL_UPDATE_TITLE":"Actualitza la teva versió d\'Stremio","MANUAL_UPDATE_LINE1":"Esteu executant una versió obsoleta d\'Stremio, que és molt poc recomanable.","MANUAL_UPDATE_LINE2":"Actualitzeu com més aviat millor.","BUTTON_UPDATE_LATTER":"Ara no","BUTTON_UPDATE_NOW":"Actualitza","UPDATER_TITLE":"Hi ha disponible una nova versió d\'Stremio","UPDATER_INSTALL_BUTTON":"Instal·la\'l ara","ANONYMOUS_USER":"Usuari anònim","DONT_HAVE_ACC":"No teniu cap compte?","HAVE_ACC":"Ja tens un compte?","PASSWORD":"Contrasenya","PASSWORD_CONFIRM":"Confirma la contrasenya","EMAIL":"Correu electrònic","FB_LOGIN":"Continueu amb Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"No es comparteix res sense el vostre permís","FB_NOPOST":"No publicarem res en nom vostre","OR":"o","I_ACCEPT":"Accepto els","I_ACCEPT_BY_CLICKING":"En fer clic al botó superior, declaro que accepto els ","TOS":"Termes i condicions","MUST_ACCEPT_TERMS":"Heu d\'acceptar els termes","PASSWORDS_NOMATCH":"Les contrasenyes no coincideixen","SIGN_UP":"Registra\'t","SIGN_UP_EMAIL":"Registra\'t amb el correu electrònic","CLICK_TO_SIGN_UP":"Feu clic aquí per registrar-vos.","LOG_IN":"Iniciar Sessió","LOG_OUT":"Tancar sessió","EXIT_FULLSCREEN":"Surt del mode de pantalla completa","ENTER_FULLSCREEN":"Introduïu el mode de pantalla completa","PLAY_URL_MAGNET_LINK":"Reprodueix URL/Enllaç magnètic","HELP_FEEDBACK":"Ajuda i comentaris","TERMS_OF_SERVICE":"Termes del servei","PRIVACY_POLICY":"Política de Privacitat","ABOUT_STREMIO":"Quant a Stremio","USER_PANEL":"Tauler d\'usuaris","LOGIN_LABEL":"Inicia sessió","GUEST_LOGIN":"Inici de sessió de convidat","GUEST_LOGIN_NOTICE":"No es recomana l\'inici de sessió de convidat. Si feu servir un inici de sessió habitual, Stremio pot sincronitzar la Biblioteca i rebre notificacions de sèries o canals preferits. Esteu segur que voleu continuar?","GUEST_LOGIN_NOTICE_2":"No es recomana l\'inici de sessió com a convidat: no tindreu notificacions sincronitzades de la Biblioteca i del fòrum, que són funcions fonamentals d\'Stremio. Esteu segur que voleu continuar?","CLICK_HERE":"clica aquí","WRONG_PASSWORD":"Correu electrònic o contrasenya incorrectes. En cas que hàgiu oblidat la contrasenya, ","SET_A_PASS":"definiu una contrasenya","RESET_PASSWORD":"Restablir la contrasenya","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Has oblidat la contrasenya?","EMAIL_USED_WITH_FB":"Aquest correu electrònic s\'ha utilitzat amb un inici de sessió de Facebook.","INVALID_EMAIL":"si us plau, introdueixi una adreça de correu electrònic vàlida","INVALID_PASSWORD":"Introduïu una contrasenya vàlida","CONN_ERR":"Error de connexió - torneu-ho a provar més tard.\\n\\nSi això persisteix, desactiveu els tallafocs/antivirus (especialment Bitdefender).","IMPORT_FROM_GUEST":"Importeu la Biblioteca des del vostre compte de convidat","RECEIVE_UPDATES_EMAIL":"Rebeu actualitzacions al vostre correu electrònic des d\'Stremio","LOGIN_FAILED":"Error en iniciar sessió.","SIGNUP_FAILED":"Ha fallat el registre.","SEARCH_FAILED":"La cerca ha fallat","EMAIL_USED":"Aquest correu electrònic ja està en ús.","WAITING_FB_LOGIN":"Iniciant la sessió amb Facebook...","EXTERNAL_OPENING_YOUTUBE":"Esteu sortint d\'Stremio i obrint YouTube. N\'estàs segur?","EXTERNAL_OPENING_APP":"Esteu sortint d\'Stremio per obrir una altra aplicació. N\'estàs segur?","EXTERNAL_PLAYER_TITLE":"Reprodueix en un reproductor extern","EXTERNAL_REMEMBER_PLAYER":"Voleu recordar la vostra elecció?","EXTERNAL_ALWAYS_PLAY":"Sí","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Millor encaix","FIT_SCREEN":"Encaixar la Pantalla","FILL":"Omplir","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Explica\'ns què t\'agrada","INTRO_TASTE_LONG":"Explica\'ns què voleu veure","INTRO_TASTE_PICK":"Selecciona {{interestsRemaining}} interessos","INTRO_TASTE_PICK_MORE":"Selecciona {{interestsRemaining}} interessos més","INTRO_TASTE_HELP_US":"Ajudeu-nos a aprendre més informació sobre vosaltres.","INTRO_TASTE_CHOOSE_THESE":"Trieu alguns d\'aquests:","INTRO_TASTE_CHOOSE_MIN":"Trieu com a mínim 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"Heu de triar almenys 3 categories.","INTRO_TASTE_LIFESTYLE":"Estil de vida","INTRO_TASTE_SPORTS":"Esports","INTRO_TASTE_FOOD_HEALTH":"Alimentació i Salut","INTRO_TASTE_BEAUTY_FASHION":"Bellesa i Moda","INTRO_TASTE_NEWS":"Notícies","INTRO_TASTE_GAMING":"Jocs","INTRO_TASTE_SCIENCE_EDU":"Ciència i Educació","INTRO_TASTE_MUSIC":"Música","INTRO_TASTE_TRAVEL":"Viatges","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comèdia","INTRO_TASTE_DIY":"Fes-ho tu mateix (DIY)","INTRO_TASTE_TECH":"Tecnologia","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Aquesta plataforma no admet el complement seleccionat.","ADDON_DISCLAIMER":"L\'ús de complements de tercers sempre estarà subjecte a la vostra responsabilitat i a la legislació vigent de la jurisdicció on esteu ubicat.","ADDON_ACTIVATE":"Activar aquest complement?","ADDON_REPO_ADD":"URL del repositori de complements","ADDON_ADD":"Afegir","INSTALL_ADDON":"Instal·la el complement","ADD_ADDON":"Afegir complement","ADD_ADDON_DESCRIPTION":"Podeu afegir un complement mitjançant un enllaç extern, que apareixerà a Complements instal·lats.","PASTE_ADDON_URL":"Enganxeu l\'URL del complement","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Que hi ha de nou","BUTTON_CONTINUE":"Continua","BUTTON_ACTIVATE":"Activa","BUTTON_ACTIVATED":"Activat","BUTTON_CANCEL":"Cancel·lar","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Envia","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Descartar-ho tot","BUTTON_VIEW_ALL":"veure-ho tot","BUTTON_SEE_ALL":"Veure Tot","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Obre al navegador","LIB_EMPTY":"La vostra Biblioteca sembla buida. Esbrineu com n\'és d\'útil :)","HOW_START":"Així és com podeu començar:","LIB_EMPTY_CAL":"El vostre calendari mostra sèries a la Biblioteca.","HOW_START_CAL":"Així és com podeu afegir sèries:","LIB_EMPTY_BOARD":"El Tauler mostra notificacions i recomanacions relacionades amb la vostra Biblioteca.","HOW_START_BOARD_WAIT":"Afegiu unes quantes sèries o canals a la vostra Biblioteca i doneu-nos uns minuts per processar :)","HOW_START_BOARD":"Així és com podeu afegir-hi sèries i pel·lícules:","IMPORT_FB":"Importeu les coses que us agradin de Facebook","IMPORT_TRAKT":"Importeu la vostra biblioteca multimèdia de Trakt","IMPORT_DISCOVER":"Troba coses interessants de Descobrir","IMPORT_DISK":"Importeu pel·lícules o sèries que tingueu al disc local","PLEASE_CREATE_ACC":"Creeu un compte per habilitar la sincronització de la Biblioteca i el Tauler.","IMPORT_DISCOVER_SIGNUP":"Registreu-vos i trobeu coses interessants a Descobrir","IMPORT_DISK_SIGNUP":"Inscriviu-vos i importeu pel·lícules o espectacles que tingueu al vostre disc local","LIB_EMPTY_CLOUD":"Biblioteca al núvol","LIB_EMPTY_CLOUD_DESC":"Biblioteca personal al núvol sincronitzada a tots els dispositius","LIB_EMPTY_EARLY":"Accés aviat","LIB_EMPTY_EARLY_DESC":"Rep notificacions d\'episodis nous","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Obteniu recomanacions personalitzades","LIB_EMPTY_CALENDAR_DESC":"Programa el teu calendari de visualització personal","LIB_EMPTY_ALL":"Registreu-vos per obtenir tot això:","LIB_EMPTY_BEST":"Registreu-vos per obtenir el millor d\'Stremio","LIB_EMPTY_OTHER":"Registreu-vos per activar el calendari i altres funcions interessants","CALENDAR_ADDED":"El calendari d\'Stremio s\'ha afegit al calendari d\'escriptori predeterminat.","CALENDAR_ADDED_MSG":"Si això no funciona, afegiu aquest URL manualment a la vostra aplicació de calendari","TRAKT_EXPIRED":"L\'autenticació de Trakt ha caducat, aneu a Configuració i torneu a autenticar-la","TRAKT_REQUIRES_LOGIN":"Error de Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Cal iniciar sessió","TRAKT_IMPORT_WATCHED":"Importa","THEME":"Tema","THEME_DEFAULT":"Per defecte","THEME_ADAPTIVE":"Adaptatiu","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Configuració","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Reproductor","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Dreceres","SETTINGS_SHORTCUT_RELOAD_APP":"Recarregar l\'aplicació","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Obrir Configuració","SETTINGS_SHORTCUT_SWITCH_TABS":"Canviar Pestanya","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Mou Entre Pestanyes Cap Endavant","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Mou Entre Pestanyes Cap Enrere","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navega entre menús","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Vés a Cerca","SETTINGS_SHORTCUT_EXIT_BACK":"Sortir / Tornar enrere","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Commuta el Menú de Velocitat de Reproducció","SETTINGS_SHORTCUT_MENU_VIDEOS":"Commuta el Menú de Vídeos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Commuta el Menú de Subtítols","SETTINGS_SHORTCUT_MENU_AUDIO":"Commuta el Menú d\'Àudio","SETTINGS_SHORTCUT_MENU_INFO":"Commuta el Menú d\'informació","SETTINGS_SHORTCUT_FULLSCREEN":"Commuta la Pantalla Completa","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostra els Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Reproduir / Pausa","SETTINGS_SHORTCUT_VOLUME_UP":"Apujar volum","SETTINGS_SHORTCUT_VOLUME_DOWN":"Abaixar volum","SETTINGS_SHORTCUT_SEEK_NEXT":"Moure Endavant","SETTINGS_SHORTCUT_SEEK_PREV":"Moure Enrere","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Busca Enrere","SETTINGS_SHORTCUT_SEEK_FORWARD":"Busca Endavant","SETTINGS_SHORTCUT_PLAY_NEXT":"Reproduir Següent","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Augmentar Mida Subtítols","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Disminuir Mida Subtítols","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Augmentar Retard Subtítols","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Disminuir Retard Subtítols","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Commutar Barra Lateral","SETTINGS_SHORTCUT_OR":"o","SETTINGS_SHORTCUT_TO":"a","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Espai","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticar","SETTINGS_FACEBOOK_IMPORT":"Importar","SETTINGS_CALENDAR_SUBSCRIBE":"Subscriure","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"S\'ha obert l\'aplicació Calendari. Si us plau, subscriviu-vos al calendari manualment.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"S\'ha baixat el fitxer del calendari. Importeu-lo en la vostra aplicació de calendari.","SETTINGS_INTERFACE_LANGUAGE":"Llenguatge de la interfície","SETTINGS_LAUNCH_STARTUP":"Iniciar a l\'arrancar l\'equip","SETTINGS_VLC_DEFAULT":"Reproduir amb VLC","SETTINGS_UI_LANGUAGE":"Idioma de la interfície","SETTINGS_UI_ZOOM":"Zoom de la interfície","SETTINGS_FULLSCREEN_EXIT":"Tecla per sortir de la pantalla completa","SETTINGS_GAMEPAD":"Activa la compatibilitat amb el gamepad","SETTINGS_CLOSE_WINDOW":"Tanca l\'aplicació quan la finestra estigui tancada","SETTINGS_SUBTITLES_LANGUAGE":"Idioma Predeterminat dels Subtítols","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Idioma Secundari dels Subtítols","SETTINGS_SUBTITLES_SIZE":"Mida Predeterminada dels Subtítols","SETTINGS_SUBTITLES_BACKGROUND":"Fons dels subtítols","SETTINGS_SUBTITLES_COLOR":"Color dels subtítols","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Color de l\'esquema dels subtítols","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Color de fons dels subtítols","SETTINGS_SEEK_KEY":"Les tecles de fletxa et mouen en el temps","SETTINGS_SEEK_KEY_SHIFT":"Les tecles de fletxa et mouen en el temps quan es manté premuda la tecla Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Durada del rebobinat i de l\'avançament ràpid","SETTINGS_BINGE":"Reprodueix automàticament el pròxim episodi","SETTINGS_NEXT_VIDEO":"Mostra la notificació per iniciar el pròxim episodi","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostra la notificació del següent episodi per a:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Durada de la finestra emergent del següent vídeo","SETTINGS_PLAY_IN_BACKGROUND":"Reprodueix en segon pla","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Reprodueix en un reproductor extern","SETTINGS_RESIZE":"Canvia la mida de la finestra abans de reproduir","SETTINGS_OVERRIDE_SERVER":"Substitueix l\'URL del servidor de transmissió (avançat)","SETTINGS_SERVER_ADD_URL":"Afegir URL","SETTINGS_SERVER_URL":"URL del servidor de transmissió: ","SETTINGS_SERVER_AVAILABLE":"El servidor de transmissió està disponible.","SETTINGS_SERVER_UNAVAILABLE":"El servidor de transmissió no està disponible.","SETTINGS_SERVER_STATUS_ONLINE":"En línia","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configura l\'URL del servidor de transmissió","SETTINGS_SERVER_CONFIGURE_INPUT":"Introdueix l\'URL d\'un servidor de transmissió","SETTINGS_SERVER_CACHE_SIZE":"Mida de la memòria cau","SETTINGS_SERVER_TORRENT_PROFILE":"Perfil de Torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint de transmissió HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Perfil de transcodificació","SETTINGS_USE_BETA":"Utilitzeu sempre l\'última versió Beta","SETTINGS_IMPORT_FB":"Importar de Facebook","SETTINGS_IMPORT_DISK":"Importar del disc local","SETTINGS_IMPORT_TRAKT":"Importar de Trakt","SETTINGS_PAUSE_MINIMIZED":"Aturar la reproducció quan es minimitzi","SETTINGS_HWDEC":"Descodificació accelerada per maquinari","SETTINGS_BACKGROUND":"Reproducció en segon pla","SETTINGS_SUBSCRIBE_CALENDAR":"Subscriu-te al calendari","SETTINGS_REQ_EXPORT":"Sol·licitar l\'exportació de dades","SETTINGS_ACC_DELETE":"Sol·licitar eliminació del compte","SETTINGS_CHANGE_PASSWORD":"Canvia la contrasenya","SETTINGS_TOS":"Termes del servei","SETTINGS_SUPPORT":"Contactar suport","SETTING_LANGUAGE":"Llenguatge","SETTINGS_BLUR_UNWATCHED_IMAGE":"Desenfoca la imatge dels episodis no vistos","SETTINGS_QUIT_ON_CLOSE":"Surt al tancar","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Torna a autenticar","SETTINGS_TRAKT_LOGOUT":"Tanca la sessió de Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Tanca la sessió de Trakt","SETTINGS_SCAN_FOR_REMOTE":"Escaneja el codi QR per obrir el comandament a distància","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificacions d\'escriptori","SETTINGS_DATA_SAVER":"Estalviador de dades","SETTINGS_LANGUAGE_INTERFACE":"interfície","SETTINGS_LANGUAGE_SUBS":"subtítols per defecte","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Seleccionar Automàticament la Pista d\'Àudio","SETTINGS_DEFAULT_AUDIO_TRACK":"Pista d\'Àudio Predeterminada","SETTINGS_SECONDARY_AUDIO_TRACK":"Pista d\'Àudio Secundària","SETTINGS_SURROUND_SOUND":"So envoltant","SETTINGS_ACCOUNT":"compte","SETTINGS_PLATFORM":"Plataforma","SETTINGS_VERSION":"Versió","SETTINGS_ABOUT":"Sobre","SETTINGS_MPV_WINDOW":"Inicia el reproductor en una finestra separada (avançat)","SETTINGS_PLAY_IN_EXTERNAL":"Inicieu sempre el vídeo en un reproductor extern","SETTINGS_STORAGE_BUTTON":"Esborra l\'emmagatzematge local","SETTINGS_STORAGE_MODAL_TITLE":"Estàs segur ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Això esborrarà l\'emmagatzematge local i tancarà la sessió.","SETTINGS_HWDEC_PICKER":"Trieu la configuració de descodificació accelerada per maquinari","SETTINGS_HW_AUTOMATIC":"Automàtic","SETTINGS_HW_DISABLED":"Desactivat","SETTINGS_HW_ACCELERATED":"Acceleració de descodificació","SETTINGS_HW_FULL":"Acceleració total","SETTINGS_HW_LEGACY":"Heretat","SETTINGS_DISABLED":"Inhabilitat","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notificació de connexió a la xarxa","SETTINGS_ANALYTICS":"Permet analítiques","SETTINGS_REMOTE_URL":"URL remot","SETTINGS_COPY_REMOTE_URL":"Copia l\'URL remot","SETTINGS_REMOTE_URL_COPIED":"L\'URL remot s\'ha copiat al porta-retalls","SETTINGS_SECTION_SUBTITLES":"Subtítols","SETTINGS_SECTION_AUDIO":"Àudio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Reproducció automàtica","SETTINGS_SECTION_ADVANCED":"Avançat","SUBSPICKER_AUDIO":"Àudio","SUBSPICKER_SUBTITLES":"Subtítols dels complements","SUBSPICKER_BLACK_BACKGROUND":"Utilitzar negre com color de fons","SUBSPICKER_VERTICAL_OFFSET":"Desplaçament vertical","SUBSPICKER_SIZE":"Mida","SUBSPICKER_DELAY":"Retard","SUBSPICKER_EMBEDDED_SUBS":"Subtítols incrustats","MOBILE_PRIVACY_POLICY":"Política de privacitat","MOBILE_CRASH_REPORTING":"Informe de fallades","MOBILE_ZOOM_TO_FILL":"Ampliar per omplir la pantalla","MOBILE_PASSTHROUGH":"Sortida d\'àudio digital (passthrough)","MOBILE_RUN_LOW_BATTERY":"Executar amb bateria baixa","MOBILE_RUN_FOREGROUND":"Executar com a servei de primer pla","MOBILE_PERFORMANCE":"RENDIMENT I ESTABILITAT","MOBILE_SERVER_ONLINE":"En línia","MOBILE_SERVER_OFFLINE":"Fora de línia","MOBILE_QR_EXPIRES":"El codi QR caduca en ","MOBILE_LOG_INTO":"Iniciar sessió al compte Stremio ","MOBILE_SCAN_QR":"Escaneja el codi QR de dalt o ves a ","MOBILE_LINK_ACCOUNT":"Enllaçar el compte","MOBILE_SPEEDPICKER_CANCEL":"Cancel·lar","MOBILE_SPEEDPICKER_LABEL":"Seleccionar Velocitat de Reproducció","MOBILE_EMPTY_LIBRARY":"La teva biblioteca està buida","MOBILE_NO_ADDON_ACTIVE":"No hi ha cap complement Stremio actiu per a aquest tipus.","MOBILE_ORGANIZER_WARNING":"L\'aplicació Stremio Organizer ofereix una funcionalitat limitada. Per obtenir una llista de reproduccions i l\'experiència completa d\'Stremio, feu servir Stremio a l\'escriptori.","MOBILE_ADDON_LOADING":"encara està carregant","MOBILE_ADDONS_LOADING":"els complements encara estan carregant","MOBILE_ADDON":"Complement","MOBILE_CONFIGURE_ADDON":"Configura el teu complement","MOBILE_CONFIGURE_ADDON_LABEL":"Configurar Complement","MOBILE_ORGANIZER_ADDONS_WARNING":"L\'aplicació Stremio Organizer ofereix una selecció limitada de complements. Per gaudir de l\'experiència Stremio completa, utilitzeu Stremio a l\'escriptori.","MOBILE_DISCONNECT":"Desconnectar","MOBILE_LOOKING_FOR_DEVICES":"Buscant dispositius...","MOBILE_CAST_TO":"Emet a","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Esborrar compte","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"L\'eliminació del compte no és instantània a causa d\'obligacions legals. Després de sol·licitar l\'eliminació del vostre compte, haureu d\'utilitzar una adreça de correu electrònic/perfil de Facebook diferent per crear un nou compte d\'Stremio en el futur.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmeu la supressió del compte","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"El vostre compte s\'ha creat mitjançant Facebook. Per suprimir el vostre compte, utilitzeu el nostre portal d\'usuaris a www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Proporcioneu la vostra contrasenya per confirmar la supressió del compte.","MOBILE_DELETE_ACCOUNT_BUTTON":"Esborrar compte","NAVIGATION_ON":"Encès","NAVIGATION_OFF":"Apagat","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Accepto rebre comunicacions de màrqueting d\'Stremio","QUIT":"Sortir","CONNECTED":"Connectat","AUTHENTICATE":"Autenticar","AUTHENTICATING":"Authenticating...","CACHING":"Memòria cau","SETTINGS_CACHING_DRIVE":"Disc de memòria cau","ENABLE_LOCAL_FILES_ADDON":"Activa el complement de fitxers locals (requereix un reinici)","LOCAL_ADDON_NOT_ENABLED":"El complement local no està habilitat. Feu clic aquí per anar a la configuració i activar-lo","ENABLE_REMOTE_HTTPS_CONN":"Activeu les connexions HTTPS remotes","TORRENT_PROFILE":"Perfil del torrent","DATA_CACHING":"Memòria cau emmagatzemada","MAGNET_PARSING":"Analitzant un enllaç magnètic","January":"Gener","February":"Febrer","March":"Març","April":"Abril","May":"Maig","June":"Juny","July":"Juliol","August":"Agost","September":"Setembre","October":"Octubre","November":"Novembre","December":"Desembre","Monday":"Dilluns","Tuesday":"Dimarts","Wednesday":"Dimecres","Thursday":"Dijous","Friday":"Divendres","Saturday":"Dissabte","Sunday":"Diumenge","Action":"Acció","Comedy":"Comèdia","War":"Bèl·lic","Family":"Família","Animation":"Animació","Adventure":"Aventura","Fantasy":"Fantasia","Crime":"Crim","Mystery":"Misteri","Romance":"Romanç","Drama":"Drama","Horror":"Terror","Thriller":"Suspens","Sci-Fi":"Ciència-ficció","Music":"Musical","Biography":"Biogràfic","Documentary":"Documental","Sport":"Esports","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Notícies","History":"Història","Game-Show":"Concursos","Reality-TV":"Reality shows","Talk-Show":"Entrevistes","Film & Entertainment":"Cinema i entreteniment","Gaming":"Videojocs","From TV":"De la TV","Lifestyle":"Estil de vida","Science & Education":"Ciència i educació","Cooking & Health":"Cuina i salut","Beauty & Fashion":"Bellesa i moda","Sports":"Esports","News & Politics":"Notícies i política","How-to & DIY":"Com fer-ho i DIY","Tech":"Tecnologia","Automotive":"Automoció","Causes & Non-Profits":"Causes i organitzacions sense ànim de lucre","Movies":"Pel·lícules","Uk Live Tv":"TV britànica en directe","Fashion":"Moda","Business News Radio":"Ràdio - Notícies de negocis","Business Tv":"TV negocis","Cars & Auto":"Automòbils","Comedy Radio":"Ràdio - Comèdia","Lifestyle Radio":"Ràdio - Estil de vida","News Tv":"TV notícies","Food And Wine":"Menjar i Vi","Latino Tv":"TV Llatina","Shopping Tv":"TV compres","Religion":"Religió","Kids":"Nens","Body & Soul":"Cos i ànima","Education":"Educació","Indian Tv":"TV índia","Extreme Sports":"Esports extrems","Middle Eastern Tv":"TV de l\'Orient Mitjà","Celebrity Tv":"TV famosos","Science Tv":"TV ciència","Bikini babe":"Bikini babe","Outdoors":"A l\'aire lliure","German Tv":"TV alemanya","French Tv":"TV francesa","Italian Tv":"TV italiana","Gamer Tv":"TV videojocs","Travel":"Viatges","Asian Tv":"TV asiàtica","Entertainment":"Entreteniment","News Radio":"Ràdio - Notícies","Music Radio":"Ràdio - Música","Language Learning":"Aprenentatge d\'idiomes","Science Radio":"Ràdio - Ciències","Tech Radio":"Ràdio - Tecnologia","Science & Technology Vod":"Ciència i tecnologia sota demanda","new video":"nou vídeo","new episode":"nou episodi","new movie":"nova pel·lícula","recommended":"recomanat","we recommend":"recomanem","offer of the day":"oferta del dia","news":"notícies","music video":"vídeo musical","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Descarta les notificacions","CTX_DISMISS_ALL":"Descarta-ho tot","CTX_SHARE":"Comparteix","CTX_COPY_SHARE_LINK":"Copia l\'enllaç per compartir","CTX_COPY_MAGNET_LINK":"Copia enllaç magnètic","CTX_COPY_STREAM_LINK":"Copia enllaç de l\'stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copia l\'enllaç de descàrrega del vídeo","CTX_DOWNLOAD_VIDEO":"Descarregar aquest vídeo","CTX_DOWNLOAD_SUBS":"Descarregar els subtítols","CTX_VIEW_ON_YOUTUBE":"Veure a YouTube","CTX_SHOW":"Mostra","CTX_PLAY":"Reproduir","CTX_PLAY_IN":"Reprodueix aquí","CTX_PLAY_ON":"Reprodueix a","CTX_WATCH_ON":"Veure a","CTX_WATCH":"Veure","CTX_WATCHED":"Vist","CTX_WATCH_BEGINNING":"Veure des del principi","CTX_WATCH_MOBILE":"Veure en un dispositiu mòbil","CTX_REWIND":"Rebobinar fins al començament","CTX_MARK_WATCHED":"Marca com a vist","CTX_MARK_NON_WATCHED":"Marca com a no vist","CTX_MARK_UNWATCHED":"Marca com sense mirar","CTX_MARK_REST":"Marca la resta com a vist","CTX_UNMARK_REST":"Marca la resta com a no vist","CTX_RECEIVE_NEW_NOTIF":"Rebre notificacions noves","CTX_ENABLE_NEW_NOTIF":"Activa les notificacions","CTX_DISABLE_NEW_NOTIF":"Desactiva les notificacions","CTX_REMOVE_CACHE":"Elimina de la memòria cau","CTX_REMOVE_CACHE_EP":"Elimina l\'episodi de la memòria cau","CTX_OPEN_CONTAINING":"Obre la carpeta que conté","CTX_REMOVE":"Elimina de la biblioteca","CTX_AVAILABLE_OFFLINE":"Disponible fora de línia","CTX_PAUSED":"En pausa","CTX_ALWAYS_ON_TOP":"Sempre a la part superior","CTX_FULLSCREEN":"Pantalla completa","CTX_WRONG_SUBS":"Subtítols incorrectes?","CTX_REPORT_ISSUES":"Informar del problema","CTX_COPY":"Copia","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Enganxa","CTX_CLEAR":"Esborra","CTX_CLEAR_RECENT_SEARCHES":"Esborra les cerques recents","HELLO_THERE":"Hola","HOPE_YOU_ENJOY":"Esperem que gaudiu d\'Stremio i ja sigui una de les vostres aplicacions preferides.","WHO_ARE_WE":"Qui som? Som l\'equip que hi ha darrere: dos nois que treballen molt cada dia durant els darrers 3 anys per fer que aquest producte sigui cada vegada millor.","SUPPORT_US":"Si us agrada utilitzar Stremio, si Stremio és valuós per a vosaltres, correu la veu!","SPREAD_THE_WORD":"Comparteix amb els teus amics ara, difon la notícia sobre Stremio","MORE_PEOPLE":"Com més gent utilitzi Stremio, millor serà.","SEND_A_LINK":"O envieu un enllaç al nostre lloc web","TIP_LOCALFILES":"Consell: podeu arrossegar i deixar anar fitxers de vídeo locals a Stremio","ADDON_MY":"Els meus complements","ADDON_COMMUNITY":"Complements de la comunitat","ADDON_OFFICIAL":"Complements oficials","ADDON_REPOS":"Col·leccions de complements","ADDON_SEARCH":"Cerca de complements","ADDON_INSTALL":"Instal·la","ADDON_CONFIGURE":"Configura","ADDON_UNINSTALL":"Desinstal·la","ADDON_UPGRADE":"Actualitza","ADDON_INSTALLED":"Instal·lat","ADDON_INSTALLED_MSG":"Complement instal·lat!","ADDON_UPGRADED_MSG":"Complement actualitzat!","ADDON_UNKNOWN":"Desconegut","ADDON_ERR":"Error d\'instal·lació del complement!","ADDON_DISCONNECTED":"Desconnectat","ADDON_APP_MISSING":"l\'aplicació d\'aquesta font no està instal·lada. Voleu instal·lar-la ara?","ADDON_APP_INSTALL":"Instal·lar ara","ADDON_PAGE":"Pàgina del complement","ADDON_TOP_CONTENT":"El millor d\'aquest complement","ADDON_PROVIDES":"Aquest complement proporciona:","ADDON_WATCH":"Mireu #{types} ara!","ADDON_WATCH_FREE":"Mireu #{types} GRATIS ara!","ADDON_ADDON":"Complement","ADDON_SUPPORTED_TYPES":"Tipus compatibles","ADDON_SUPPORTED_CATALOGS":"Catàlegs compatibles","ADDON_PROVIDES_DISCOVER":"Més #{types} a Descobreix","ADDON_PROVIDES_STREAMS":"Mira #{types}","ADDON_PROVIDES_STREAMS_FREE":"Mireu #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Subtítols per #{types}","ADDON_CANTDETECT":"No hem pogut detectar un Stremio en execució, de manera que no hem pogut detectar quins complements heu instal·lat.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Aquest dispositiu no admet la reproducció de torrents a causa de les regles de l\'App Store","ERR_NO_META":"No s\'ha trobat informació sobre això ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error en recuperar informació sobre això.","ERR_CANT_PARSE_MAGNET":"No es pot analitzar l\'enllaç magnètic","ERR_NO_MAGNET_INFOHASH":"No hi ha cap hash d\'informació magnet vàlida","ERR_NO_FILE_PATH":"No es pot enviar la sol·licitud sense una ruta al fitxer","ERR_NO_TORRENT":"No s\'ha retornat cap torrent","ERR_NO_SUPPORTERD_FILES":"No s\'han trobat fitxers compatibles","ERR_OPENING_FILES":"No s\'han pogut obrir els fitxers externs","ERR_INVALID_LINK":"Enllaç invàlid","ERR_REGISTERED_ONLY":"Aquesta opció només està disponible per als usuaris registrats.","ERR_CLIPBOARD":"No es pot reproduir des del porta-retalls","ERR_CLIPBOARD_READ":"No es pot llegir el porta-retalls d\'aquesta plataforma","ERR_CLIPBOARD_GENERIC":"No s\'ha trobat cap URL reproduïble al porta-retalls. Copieu un URL (per exemple, un enllaç magnètic) a un vídeo.","BOARD_CONTINUE_WATCHING":"Continuar mirant","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Pel·lícules seleccionades especialment per a vosaltres.
    Aquesta pel·lícula és una recomanació d\'exemple.","BOARD_EXPLANATION_EPISODES":"Els nous episodis de les vostres Sèries preferides arriben aquí.
    Afegiu sèries que seguiu a la Biblioteca.","BOARD_EXPLANATION_VIDEOS":"Els nous episodis dels vostres Canals preferits arriben aquí.
    Afegiu a la Biblioteca els canals de YouTube que seguiu.","WEBSITE_ENJOYED_BY":"Gaudit per més de 30 milions d\'usuaris a tot el món.","WEBSITE_STREAMING_ENHANCED":"Transmissió millorada","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio ofereix una experiència d\'entreteniment segura, moderna i sense interrupcions. Amb la seva interfície fàcil d\'utilitzar i una àmplia biblioteca de continguts diversa, que inclou suport per a 4K HDR, els usuaris poden gaudir de les seves pel·lícules i sèries preferides a tots els seus dispositius. I amb el seu compromís amb la seguretat, Stremio és l\'opció definitiva per a una experiència de transmissió d\'alta qualitat sense preocupacions.","WEBSITE_AVAILABLE_ON":"Disponible a","WEBSITE_WATCH_AND_ENJOY":"Mira i gaudeix.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio és bufar i fer ampolles","WEBSITE_ALL_FEATURES":"Totes les funcionalitats","WEBSITE_EASY_TO_USE":"Fàcil d\'utilitzar","WEBSITE_EASY_TO_USE_DETAILS":"Stremio està dissenyat per ser fàcil d\'utilitzar i amigable. Amb la seva interfície neta i intuïtiva, pots navegar fàcilment i trobar el contingut que vols veure.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sense problemes en tots els dispositius","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponible per a una àmplia gamma de plataformes (incloent-hi Windows, Mac, Linux, Android i més), Stremio seguirà el teu progrés a través de tots els teus dispositius. Només has d\'iniciar la sessió i continuar veient sense haver de configurar l\'aplicació de nou a cada nou dispositiu.","WEBSITE_ALL_DOWNLOADS":"Totes les descàrregues","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Suport de vídeo d\'alta definició","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un reproductor de vídeo integrat que suporta la majoria dels formats de vídeo, incloent contingut 4K HDR, et permet gaudir de la millor qualitat disponible.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Biblioteca de continguts variada","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio s\'integra amb moltes fonts de vídeo populars, com Netflix, Amazon Prime Video, Hulu, YouTube i moltes més.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Crea un Compte Gratuït","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiència de Visualització Personalitzada","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio et permet personalitzar l\'aparença i el comportament de la interfície canviant el tema, afegint o eliminant complements i més.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Suport de Subtítols Multilingües","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Ara pots gaudir de tot el teu contingut preferit en el teu idioma preferit, ja que Stremio admet subtítols en tots els idiomes.","WEBSITE_ALL_STREMIO_FEATURES":"Totes les característiques d\'Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Prova Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Al Teu Televisor Ara Mateix","WEBSITE_YOU_CAN_NOW_WATCH":"Ara pots veure totes les teves sèries de televisió preferides als teus dispositius Android TV. L\'aplicació d\'Stremio per a TV et permet gaudir d\'una nit de pel·lícules amb facilitat.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Ara pots veure totes les teves sèries de televisió preferides al teu Smart TV o Android TV. Les aplicacions de TV d\'Stremio et permeten gaudir d\'una nit de pel·lícules amb facilitat.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio per a Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probablement l\'aplicació millor i més útil que pots tenir al teu dispositiu. És una de les aplicacions que utilitzo diàriament, especialment al meu Android TV, des de fa molts anys. Ben feta, amb una comunitat sòlida que aporta funcionalitats útils. Molt bona feina. Seguiu així!","WEBSITE_REVIEWS":"resenyes","WEBSITE_GET_STREMIO_FOR_FREE":"Aconsegueix Stremio Gratuïtament","WEBSITE_GET_STREMIO_NOW":"Aconsegueix Stremio Ara","WEBSITE_STREMIO_FEATURES":"Característiques d\'Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Reprodueix com un professional amb les funcions avançades d\'Stremio i gaudeix d\'un accés perfecte a tots els teus mitjans preferits","WEBSITE_DISCOVER_MORE":"Descobreix més.","WEBSITE_DISCOVER_MORE_DETAILS":"No et quedis mai sense coses per veure","WEBSITE_COMMUNITY_DRIVEN":"Impulsat per la comunitat","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio té una gran i activa comunitat d\'usuaris que contribueixen al desenvolupament del programari creant i compartint complements.","WEBSITE_GET_INVOLVED":"Impliqueu-vos","WEBSITE_NEW_THEATER_EXPERIENCE":"Nova Experiència de Cinema","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"La nova aplicació de TV dedicada d\'Stremio et permet gaudir d\'una nit de pel·lícules als teus dispositius Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Les noves aplicacions de TV dedicades d\'Stremio et permeten gaudir d\'una nit de pel·lícules als teus Smart TV o dispositius Android TV.","WEBSITE_FREE_AND_SECURE":"Gratuït i segur","WEBSITE_STREAMING":"Transmissió","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio ofereix una seguretat i privadesa inigualables per als usuaris. Amb la seva característica única d\'executar complements de forma remota, Stremio ofereix una manera més segura de reproduir el vostre contingut preferit en comparació amb altres plataformes. La vostra seguretat i privadesa són les principals prioritats, i la plataforma garanteix que totes les teves dades estiguin protegides.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Acomiadeu-vos de les preocupacions per la seguretat i la privadesa i saludeu un món d\'entreteniment sense fi amb Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informació proporcionada per","WEBSITE_CONTRIBUTE_DESC":"al projecte i ajuda\'ns a millorar encara més Stremio","WEBSITE_COMMUNITY_DESC":"Creiem que la millor manera de crear una experiència de transmissió realment sorprenent és implicar la nostra comunitat en el procés. Tant si sou un programador, un artista o només un fan, podeu ajudar a Stremio a créixer.","WEBSITE_COMMUNITY_DESC_2":"Així que uneix-te a nosaltres avui i forma part de la comunitat Stremio i continua donant forma al futur de la reproducció en temps real.","WEBSITE_WAYS_TO_GET_INVOLVED":"Maneres d\'implicar-se","WEBSITE_IN_THE_STREMIO_COMMUNITY":"a la comunitat Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Comparteix els teus pensaments","WEBSITE_REPORT_BUGS":"Informa d\'errors","WEBSITE_SUGGEST_FEATURES":"suggereix funcions","WEBSITE_AND_PROVIDE_FEEDBACK":"i proporcionar comentaris als nostres canals de xarxes socials.","WEBSITE_BETA_TESTING_PROGRAM":"Programa de proves Beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participa en el nostre programa de proves Beta (enviem invitacions regularment) a la comunitat d\'Stremio.","WEBSITE_JOIN_NOW":"Uniu-vos ara!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunitats Oficials d\'Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunitats No Oficials d\'Stremio","WEBSITE_BECOME":"Converteix-te","WEBSITE_A_VOLUNTEER_TRANSLATOR":"en un traductor voluntari","WEBSITE_ARE_YOU_A_DEVELOPER":"Ets desenvolupador?","WEBSITE_CONTRIBUTE_CODE":"Pots contribuir amb codi als nostres projectes de codi obert. Tenim diversos projectes a GitHub que busquen col·laboradors. Si estàs interessat a ajudar-nos, dona una ullada:","WEBSITE_STREMIO_ON_GITHUB":"Stremio a GitHub","WEBSITE_CREATE_ADDON_DESC":"Crea un complement per millorar la funcionalitat d\'Stremio (tenim una API fàcil d\'utilitzar):","WEBSITE_STREMIO_ADDON_SDK":"SDK dels complements d\'Stremio","WEBSITE_INTERN_DEVELOPER":"També oferim l\'oportunitat d\'unir-se a nosaltres com a desenvolupador en pràctiques perquè puguem créixer junts.","WEBSITE_APPLY_AS_AN_INTERN":"Sol·licita com a estudiant en pràctiques","WEBSITE_CALLING_ALL_ARTISTS":"Convoquem a tots els artistes!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mostra la teva creativitat i amor per Stremio pujant la teva obra d\'art d\'aficionat a la nostra galeria en línia. Sigui un dibuix, una pintura o un disseny digital, volem veure la teva visió única de la marca Stremio. Uneix-te a la nostra comunitat d\'entusiastes de l\'art i comparteix la teva obra amb altres fans d\'Stremio d\'arreu del món.","WEBSITE_STREMIO_FANART_GALLERY":"Galeria d\'Art d\'aficionats d\'Stremio","WEBSITE_INTERN_DESIGNER":"Forma part del nostre equip i porta la teva creativitat a nous nivells amb les nostres emocionants oportunitats de pràctiques.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Projecte de Pel·lícules de Domini Públic","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"A Stremio, estem compromesos a preservar la història del cinema i la televisió mitjançant la identificació de vídeos orfes i de domini públic. Treballant conjuntament amb la nostra comunitat, podem garantir que aquestes obres d\'art clàssiques siguin accessibles per a tothom i protegides perquè les generacions futures en gaudeixin.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"No dubtis a contactar amb nosaltres si vols involucrar-te en aquest projecte.","WEBSITE_JOIN_THE_PROJECT":"Uneix-te al Projecte","WEBSITE_BE_PART_OF_OUR_MISSION":"Forma part de la nostra missió","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interessat a unir-te a l\'equip d\'Stremio? Oferim treball completament remot per a professionals apassionats. Consulta les nostres posicions obertes.","WEBSITE_OPEN_POSITIONS":"POSICIONS OBERTES","WEBSITE_DESCRIPTION":"DESCRIPCIÓ","WEBSITE_LEARN_MORE":"Més informació","WEBSITE_COMPANY":"Empresa","WEBSITE_CONTACTS":"Contactes","WEBSITE_NEED_HELP":"Necessites ajuda?","WEBSITE_STREMIO_WEB_ON_IOS":"Guia per a Stremio Web a iOS","WEBSITE_LINK_ART_V2":"Galeria d\'Art","WEBSITE_PARTNERS":"Socis","WEBSITE_SLOGAN_WATCH":"Veure instantàniament","WEBSITE_SLOGAN_ALL":"Tot el contingut de vídeo que gaudiu d\'un sol lloc","WEBSITE_SLOGAN_NEW":"Tot el que podeu veure","WEBSITE_SLOGAN_NEW_NEW":"Llibertat d\'emissió","WEBSITE_WATCH_FROM":"Veure des de","WEBSITE_DOWNLOAD":"Baixa-ho ara","WEBSITE_DOWNLOAD_FOR":"Baixeu-lo ara per","WEBSITE_IS_DESKTOP":"Stremio és una aplicació d\'escriptori, obriu aquesta pàgina al vostre PC i descarregueu-la","WEBSITE_DESKTOP_DEMO_VID":"Demostració d\'escriptori","WEBSITE_PAGE_HOME":"Inici","WEBSITE_PAGE_FEATURES":"Característiques","WEBSITE_PAGE_ADDONS":"Complements","WEBSITE_PAGE_TECH":"Tecnologia","WEBSITE_PAGE_CREATE_ADDON":"Crea un Complement","WEBSITE_PAGE_CONTACTS":"Contactes","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Si us plau, introdueix la nova contrasenya a continuació.","WEBSITE_RESET_PASSWORD_WARNING":"Esteu segur que voleu restablir la contrasenya de ${1}?","WEBSITE_TYPE_movie":"Pel·lícules","WEBSITE_TYPE_series_PL":"Sèries","WEBSITE_TYPE_tv":"TV en directe","WEBSITE_TYPE_channel":"Canals","WEBSITE_STREMIO_WHAT_IS":"Stremio és una aplicació que us ajuda a organitzar i veure a l\'instant els vostres vídeos, pel·lícules, sèries i canals de televisió preferits.","WEBSITE_FEATURES_WATCH":"Veure instantàniament en HD","WEBSITE_FEATURES_WATCH_DETAIL":"Feu clic i reproduïu les vostres pel·lícules, programes de televisió, vídeos i canals de TV preferits.","WEBSITE_FEATURES_SUBS":"Subtítols automàtics","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio selecciona automàticament els subtítols sincronitzats per al vostre idioma.","WEBSITE_FEATURES_SUBS_LABEL":"Tu mous, mestre.","WEBSITE_FEATURES_CAST":"Reprodueix a la TV i dispositius mòbils","WEBSITE_FEATURES_CAST_DETAIL":"Emet a AppleTV, Chromecast, Smart TV (DLNA/UPnP) i dispositius mòbils.","WEBSITE_LIB":"Gaudeix de la teva biblioteca personal sincronitzada en tots els teus dispositius","WEBSITE_LIB_COLLECT":"Recopila informació d\'Stremio","WEBSITE_LIB_IMPORT":"Importa de Facebook","WEBSITE_LIB_LOCAL":"Afegeix des del vostre disc local","WEBSITE_BOARD":"El tauler - El lloc principal per a Notificacions i Recomanacions","WEBSITE_BOARD_RECOMMEND":"Programa de televisió recomanat","WEBSITE_BOARD_TRENDING":"Tendències de pel·lícules","WEBSITE_BOARD_NEW":"Nou vídeo","WEBSITE_BOARD_EPISODE":"Nou episodi","WEBSITE_BOARD_1":"Busqueu alguna cosa interessant per veure? Obteniu recomanacions segons el vostre gust!","WEBSITE_BOARD_2":"Sigues notificat quan surti un nou episodi del vostre programa de televisió o canal de YouTube preferit.","WEBSITE_BOARD_YOUTUBE":"Nous vídeos de canals de YouTube","WEBSITE_BOARD_EPISODES":"Nous episodis de sèries que seguiu","WEBSITE_ADDONS":"Complements de contingut","WEBSITE_TECH_DETAIL":"Ens encanta la tecnologia, ens encanta la ciència boja!\\nStremio utilitza les següents tecnologies de codi obert:","WEBSITE_TECH_WCJS":"WebChimera.js permet a Stremio reproduir qualsevol format de vídeo amb un bon rendiment.","WEBSITE_TECH_WCJS_EXTRA":"Som col·laboradors principals del projecte","WEBSITE_TECH_ELECTRON":"Electron proporciona una plataforma innovadora per construir Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Som col·laboradors del projecte","WEBSITE_TECH_LINVODB":"Una tecnologia de base de dades que garanteix que les vostres dades estiguin organitzades i disponibles a qualsevol lloc on us inicieu la sessió.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnologia pròpia","WEBSITE_CREATE_ADDON":"Creeu el vostre complement","WEBSITE_CREATE_ADDON_DETAIL":"Teniu un servei que proporcioni contingut de vídeo? Us ajudarem a beneficiar-vos de les funcions d\'Stremio creant el vostre complement","WEBSITE_CREATE_ADDON_BENEFITS":"Avantatges de crear un complement per a Stremio","WEBSITE_P2P_BEAUTY":"La bellesa de la transmissió d\'igual a igual (P2P)","WEBSITE_P2P_1":"Vídeo HD / 4K fiable i assequible a petició o en directe","WEBSITE_P2P_2":"Plataforma de distribució que proporciona una gran experiència d\'usuari","WEBSITE_P2P_3":"Crearem un complement que compleixi les vostres necessitats exactes","WEBSITE_P2P_CONTACT":"T\'interessa? Et convidem a contactar-nos.","WEBSITE_P2P_CONTACT_EXTRA":"Estarem encantats d\'ajudar-vos a integrar el vostre contingut amb Stremio!","WEBSITE_P2P":"De tant en tant, arriba una tecnologia que canvia el joc. Hem invertit molt de temps i esforç en desenvolupar el nostre motor de transmissió de vídeo Peer-to-Peer (P2P), que ofereix un gran rendiment i versatilitat per adaptar-se a qualsevol cas d\'ús.\\nContacteu amb nosaltres per a solucions de vídeo a la carta o transmissió en directe amb P2P compatible amb DRM.","WEBSITE_THOUGHTS":"Pensaments que compartim:","WEBSITE_SPREAD":"Difon la notícia sobre Stremio:","WEBSITE_CONTACT":"Poseu-vos en contacte amb nosaltres, estarem encantats de conèixer-vos!","WEBSITE_OPENSOURCE":"Per als nostres projectes de codi obert, aneu al nostre","WEBSITE_BITCOIN":"Feu una donació de bitcoins:","WEBSITE_FAQ":"Preguntes freqüents","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Preguntes","WEBSITE_TOS":"Condicions d\'ús","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"Quant a","WEBSITE_PAGE_BECOME_PARTNER":"Feu-vos soci","WEBSITE_ALL_YOU_CAN_WATCH":"Llibertat de visualització\\nTot el que desitgeu.","WEBSITE_FREEDOM_TO_STREAM":"Llibertat d\'emissió","WEBSITE_WHAT_IS_STREMIO":"Què és Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio és un centre únic per a l\'agregació de contingut de vídeo. Descobriu, organitzeu i mireu vídeos de tota mena de fonts en qualsevol dispositiu que tingueu.","WEBSITE_WHAT_IS_STREMIO_P2":"Pel·lícules, programes de televisió, sèries, televisió en directe o canals web com YouTube i Twitch.tv - tot això ho podeu trobar a Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio és un modern centre multimèdia que és una solució única per al vostre entreteniment de vídeo. Descobriu, mireu i organitzeu contingut de vídeo des de complements fàcils d\'instal·lar.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Pel·lícules, programes de televisió, TV en directe o canals web: trobeu tot això a Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Gaudeix en tots els teus dispositius multimèdia","WEBSITE_DEVICES_COLLECT":"Recopila informació d\'Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importa de Facebook","WEBSITE_DEVICES_LOCAL":"Afegeix des del disc local","WEBSITE_JOIN_THE_PARTY_NOW":"Uniu-vos a la festa ara","WEBSITE_DEVICES_ALL":"Fàcil d\'utilitzar en tots els vostres dispositius;","WEBSITE_EXTENDABLE_CATALOG":"Catàleg de vídeo extensible infinitament;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Funcions fantàstiques per organitzar el vostre contingut multimèdia;","WEBSITE_AS_SEEN_ON":"Com es veu a","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Sobre nosaltres","WEBSITE_LINK_TECHNOLOGY":"Tecnologia","WEBSITE_LINK_APPS":"Aplicacions","WEBSITE_LINK_DOWNLOADS":"Descàrregues","WEBSITE_MORE":"Més","WEBSITE_LINK_ADDONS":"Complements","WEBSITE_LINK_ADDON_SDK":"SDK dels Complements","WEBSITE_LINK_CONTRIBUTE":"Contribuir","WEBSITE_LINK_COMMUNITY":"Comunitat","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... i més","WEBSITE_LINK_HELP":"Centre d\'ajuda","WEBSITE_LINK_CONTACTS":"Consultes empresarials","WEBSITE_LINK_TOS":"Termes i Condicions","WEBSITE_LINK_PRAVACY":"Política de privacitat","WEBSITE_SUBSCRIBE":"Subscriu-te","WEBSITE_NEWSLETTER":"Uniu-vos al nostre butlletí de coses increïbles","WEBSITE_PLACEHOLDER_EMAIL":"El teu correu electrònic","WEBSITE_COMMUNITY":"Comunitat","WEBSITE_LINK_PRAVACY_LEGAL":"Privadesa i legal","WEBSITE_WHY":"Per què ho fem?","WEBSITE_WHY_P1":"A Stremio, treballem cada dia perquè volem resoldre un problema important per a la indústria del vídeo a la carta. Hi ha tants continguts nous publicats cada minut que és pràcticament impossible trobar-hi el camí.","WEBSITE_WHY_P2":"Ajudem la gent a navegar per aquest enorme món d\'entreteniment en vídeo i a descobrir contingut nou per gaudir-ne. Les nostres aplicacions reuneixen pel·lícules, sèries, TV en directe, canals web i molt més. Ens dediquem a facilitar als usuaris la possibilitat de trobar títols i emissores que els encanten.","WEBSITE_WHY_P3":"Podeu utilitzar el nostre servei en qualsevol dispositiu i en qualsevol moment, cosa que converteix Stremio en l\'únic centre d\'entreteniment de vídeo que necessiteu.","WEBSITE_TEAM":"EQUIP","WEBSITE_TEAM_P":"L\'equip d\'Stremio és petit, però potent: entre els deu programem en X idiomes i compartim experiència en desenvolupament de programari, disseny UI i UX, màrqueting i publicitat, i empreses i startups.","WEBSITE_FEATURES":"Característiques","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Descobriu contingut nou amb facilitat","WEBSITE_FEATURES_DISCOVER_P":"Descobriu fàcilment noves pel·lícules, programes de televisió, sèries i canals per veure. Navegueu per categoria, gènere, classificació, actualitat, etc. o simplement escriviu un nom per trobar-lo. Stremio fa que trobar contingut de vídeo nou sigui bufar i fer ampolles.","WEBSITE_FEATURES_ALL_CONTENT":"Tot el contingut de vídeo en una sola pantalla","WEBSITE_FEATURES_ALL_CONTENT_P1":"Vegeu quines pel·lícules, sèries o vídeos no heu acabat i continueu veient-les; rebre notificacions de nous episodis i llançaments; i navegueu per les recomanacions que obtindreu en funció dels vostres hàbits de visualització.","WEBSITE_FEATURES_LIBRARY":"Organitzeu la vostra videoteca","WEBSITE_FEATURES_LIBRARY_P1":"Afegiu qualsevol títol a la vostra biblioteca Stremio amb un sol clic i cerqueu el vostre contingut, ordenat per tipus, actualitat o ordre alfabètic.","WEBSITE_FEATURES_CALENDAR":"Feu un seguiment de tot el que mireu","WEBSITE_FEATURES_CALENDAR_P1":"Obtingues una visualització del calendari de totes les pel·lícules i sèries que afegeixis a la biblioteca. Exporta el calendari d\'Stremio i sincronitza\'l per estar sempre al dia sobre nous episodis o estrenes.","WEBSITE_FEATURES_BIG_SCREEN":"Gaudeix del teu contingut de vídeo en una pantalla més gran","WEBSITE_FEATURES_BIG_SCREEN_P1":"Emet qualsevol cosa que estigueu veient a un altre dispositiu, sigui un telèfon, una tauleta o un televisor amb un sol clic.","WEBSITE_FEATURES_SOURCES":"Mireu el vídeo de moltes fonts diferents","WEBSITE_FEATURES_SOURCES_P":"Instal·leu complements oficials i de la comunitat per gaudir de vídeos provinents de molts proveïdors diferents - tot en una aplicació elegant i fàcil d\'utilitzar.","WEBSITE_CREATE_AN_ADDON":"Creeu un complement","WEBSITE_FEATURES_SYNC":"Sincronitzeu la biblioteca entre diferents dispositius i repreneu la reproducció","WEBSITE_FEATURES_SYNC_P1":"Inicieu la sessió amb el vostre compte a tots els vostres dispositius i gaudiu de la vostra biblioteca, complements, reproducció i calendari sincronitzats.","WEBSITE_FEATURES_EXTENDABLE":"Catàleg de vídeo ampliable amb complements","WEBSITE_FEATURES_EXTENDABLE_P1":"El catàleg de complements Stremio proporciona diversos complements per instal·lar i veure una gran varietat de contingut de vídeo. Això inclou pel·lícules, programes, TV en directe, esports, notícies, pòdcasts, canals web, videojocs i molt més.","WEBSITE_FEATURES_AUTO_SUBS":"Subtítols automàtics","WEBSITE_FEATURES_AUTO_SUBS_P1":"Amb els nostres complements de subtítols obtindreu opcions seleccionades automàticament per al vostre idioma preferit.","WEBSITE_FEATURES_CHROMECAST":"Emetent a Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Gaudeix del contingut de vídeo en una pantalla més gran o simplement emet el que estiguis mirant a un altre dispositiu.","WEBSITE_FEATURES_KEEP_TRACK":"Feu un seguiment dels vostres programes de televisió i canals web preferits","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obteniu una visualització del calendari i notificacions de capítols nous de les vostres sèries i canals web preferits.","WEBSITE_FEATURES_POWER_USER":"Funcions d\'usuari avançat","WEBSITE_FEATURES_POWER_USER_P1":"Reprodueix en un reproductor extern","WEBSITE_FEATURES_POWER_USER_P2":"Reprodueix des d\'un fitxer torrent o un enllaç magnètic","WEBSITE_FEATURES_POWER_USER_P3":"Importa a la teva biblioteca des del M\'agrada de Facebook o de discs locals","WEBSITE_ADD_ONS":"Complements","WEBSITE_ADD_ONS_P1":"Tot el contingut de vídeo que proporciona Stremio s\'obté a través d\'un sistema de complements - no hi ha cap contingut ni proveïdor de contingut integrat a l\'aplicació.","WEBSITE_ADD_ONS_P2":"Hi ha dos grups de complements disponibles: complements oficials i de comunitat.","WEBSITE_ADD_ONS_P3":"Els oficials són desenvolupats i allotjats per Stremio, mentre que els complements de la comunitat els creen els membres de la comunitat, que també els allotgen.","WEBSITE_ADDONS_OFFICIAL":"Complements oficials","WEBSITE_ADDONS_WATCHUB":"Reprodueix les teves pel·lícules, sèries i programes preferits de proveïdors com iTunes, Hulu, Amazon i altres serveis del Regne Unit i dels Estats Units.","WEBSITE_ADDONS_YOUTUBE":"Mireu els vostres canals de YouTube preferits sense anuncis i obteniu notificacions de les contribucions que heu seguit sobre les càrregues noves.","WEBSITE_ADDONS_FILMON":"Mireu TV en directe, pel·lícules i televisió social de franc. 600 canals de televisió, 45.000 pel·lícules gratuïtes, documentals i molt més.","WEBSITE_ADDONS_OPENSUBTITLES":"Subtítols de pel·lícules i TV en diversos idiomes, milers de subtítols traduïts penjats cada dia.","WEBSITE_ADDONS_COMMUNITY":"Complements de la comunitat","WEBSITE_ADDONS_FILMON_VOD":"Mireu el vídeo a la carta de Filmon.tv","WEBSITE_ADDONS_TWICH":"Mireu en directe des de Twitch.tv - una plataforma de transmissió de vídeo per a la indústria dels esports electrònics.","WEBSITE_ADDONS_VODO":"Mireu pel·lícules independents de forma totalment gratuïta.","WEBSITE_ADDONS_NETFLIX":"Mireu pel·lícules i sèries web de Netflix.","WEBSITE_ADDONS_CREATE":"Creeu un complement","WEBSITE_ADDONS_CREATE_P1":"Si ho desitgeu, podeu desenvolupar el vostre propi complement. D\'aquesta manera, podeu oferir a vosaltres mateixos i a la nostra comunitat accés a contingut de vídeo nou i arribar a un públic nou i dirigit de milions d\'usuaris de tot el món.","WEBSITE_ADDONS_START_CREATE":"Per començar, visiteu la pàgina del SDK de Complements Stremio:","WEBSITE_DOWNLOADS":"Descàrregues","WEBSITE_DOWNLOADS_P1":"Per obtenir un rendiment òptim, us recomanem que utilitzeu la versió més recent disponible de les aplicacions Stremio. Tanmateix, si per algun motiu voleu utilitzar una versió anterior, la podeu descarregar aquí.","WEBSITE_DOWNLOADS_P1_SHORT":"Per obtenir un rendiment òptim, us recomanem que utilitzeu la versió més recent disponible de les aplicacions d\'Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio per a Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio per a macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio per a Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio per a Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio per a Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio per a Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio per a Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio per a iOS (versió limitada)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio per a televisors Samsung","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio per a televisors LG","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio per a Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio per a Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio per a Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio per a Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio per a Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio per a Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio per a Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio per a Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio per a Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Aplicació Stremio Launch on Boot","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio per al Navegador","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Cerca Stremio a l\'App Store dels models de televisors Samsung de 2019 i posteriors","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Cerca Stremio a l\'App Store dels models de televisors LG de 2020 i posteriors","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Cerca Stremio a l\'aplicació Play Store del Sony TV amb Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Cerca Stremio a l\'aplicació Play Store del Philips TV amb Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Cerca Stremio a la botiga d\'aplicacions del televisor Philips amb TitanOS (versió limitada)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Cerca Stremio a l\'App Store del teu dispositiu Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guia per a Stremio OS en la RPI","WEBSITE_LINK_GUIDE":"Guia","WEBSITE_DOWNLOAD_SERVICE":"Descarrega el Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service és una aplicació auxiliar per a Stremio Web. Us recomanem que utilitzeu la darrera versió disponible del Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service per Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service Per macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service per Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service per Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio per Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Més Opcions De Descàrrega","WEBSITE_DOWNLOAD_NEW":"Nou!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Hem publicat Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Hem publicat Stremio per a televisors Samsung","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Hem publicat Stremio per a televisors LG","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Hem publicat Stremio per a Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Hem publicat Stremio per a Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Hem publicat Stremio 5 per a Windows","WEBSITE_CONTRIBUTE":"Contribueix","WEBSITE_CONTRIBUTE_P1":"La plataforma Stremio és de codi obert i podeu crear fàcilment un complement per al contingut que actualment no existeix.","WEBSITE_CONTRIBUTE_WHY":"Per què heu de crear un complement?","WEBSITE_CONTRIBUTE_WHY_P1":"Arribeu a un públic nou pel contingut del vostre vídeo","WEBSITE_CONTRIBUTE_WHY_P2":"La base d\'usuaris d\'Stremio creix ràpidament - el primer any del llançament, Stremio va guanyar un milió d\'usuaris a tot el món i, el segon any d\'existència de la plataforma, aquest nombre va créixer fins als 2,5 milions.","WEBSITE_CONTRIBUTE_WHY_P3":"Amb el vostre complement, podeu arribar fàcilment a aquest públic i distribuir-hi el vostre contingut de vídeo.","WEBSITE_CONTRIBUTE_ALL":"Mireu les vostres pel·lícules, vídeos, sèries i canals preferits en un sol lloc.","WEBSITE_CONTRIBUTE_ALL_P1":"Sou fans d\'un tipus de contingut concret que encara no està disponible a Stremio? Crea un complement i gaudeix veient els teus vídeos preferits en un dels centres d\'entreteniment més grans i fàcils d\'utilitzar del mercat.","WEBSITE_CONTRIBUTE_ALL_P2":"A més, obtindreu l\'agraïment interminable d\'altres membres de la comunitat Stremio amb idees semblants.","WEBSITE_CONTRIBUTE_MONETIZE":"Obteniu ingressos del vostre complement i guanyeu diners amb la seva ajuda","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Un cop hàgiu desenvolupat un nou complement per a Stremio, podeu obtenir ingressos fàcilment a través de diverses maneres. Si ho teniu en compte, no dubteu a posar-vos en contacte amb nosaltres a ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - estarem encantats de consultar-los i assessorar-vos sobre les opcions de monetització dels complements.","WEBSITE_CONTRIBUTE_TRANSLATE":"Feu-vos traductor voluntari","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Si voleu gaudir de les aplicacions Stremio en diferents idiomes, podeu unir-vos a la nostra comunitat de traductors voluntaris. Ens ajuden a afegir versions d\'Stremio en molts idiomes diferents.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Teniu moltes ganes de començar?","WEBSITE_TRANSALTE_STREMIO":"Tradueix Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunitats oficials","WEBSITE_COMMUNITY_OFFICIALS_P1":"Formeu part de la creixent comunitat Stremio. Seguiu-nos a les xarxes socials i no tingueu por de saludar - ens encanta escoltar els nostres fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunitats no oficials","STREMIO_COMMUNITY_NL":"Stremio Països Baixos","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemanya","STREMIO_COMMUNITY_BELGIUM":"Stremio Bèlgica","STREMIO_COMMUNITY_FRANCE":"Stremio França","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Itàlia","STREMIO_COMMUNITY_UK":"Stremio Regne Unit","STREMIO_COMMUNITY_USA":"Stremio EUA","STREMIO_COMMUNITY_MEXICO":"Stremio Mèxic","STREMIO_COMMUNITY_ADDONS":"Complements Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Socis i simpatitzants","WEBSITE_COMMUNITY_GOODIES":"Llaminadures Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Fons de pantalla","WEBSITE_COMMUNITY_ART":"Galeria d\'Art de la Comunitat","WEBSITE_LINK_ART":"Galeria d\'art de la comunitat","WEBSITE_CONTACT_US":"Contacteu amb nosaltres","WEBSITE_CONTACT_US_P1":"Si teniu cap pregunta, comentari o suggeriment, no dubteu a posar-vos en contacte amb nosaltres a través del formulari de contacte següent.","WEBSITE_CONTACT_US_P2":"Tingueu en compte que estem ubicats a Bulgària, de manera que pot haver-hi un retard en atendre la vostra consulta a causa de les diferències de zona horària.","WEBSITE_CONTACT_US_SUCCESS":"El teu missatge ha estat enviat. Ens posarem en contacte amb vostè el més aviat possible.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Introduïu un correu electrònic vàlid!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Amb què està relacionada la vostra pregunta?","WEBSITE_CONTACT_US_Q_OS":"Quin és el vostre Sistema Operatiu?","WEBSITE_CONTACT_US_PH_EMAIL":"El teu correu electrònic","WEBSITE_CONTACT_US_PH_MESSAGE":"Missatge","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVIAR","WEBSITE_CONTACT_US_Q_1":"Com instal·lar?","WEBSITE_CONTACT_US_Q_2":"Com es desinstal·la?","WEBSITE_CONTACT_US_Q_3":"(HTML) Com fer lasanya?","WEBSITE_CONTACT_US_Q_4":"Complements","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnologia","WEBSITE_TECHNOLOGY_P1":"Ens encanta la tecnologia i la ciència boja.
    Això és el que potencia Stremio (tot és de codi obert).","WEBSITE_TECHNOLOGY_P_QT":"Desenvolupament de programari multiplataforma al màxim.","WEBSITE_TECHNOLOGY_P_MPV":"Un reproductor multimèdia gratuït, de codi obert i multiplataforma.","WEBSITE_TECHNOLOGY_P_RN":"React Native us permet crear aplicacions per a mòbils només amb JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Framework multimèdia incrustat a l\'aplicació per obtenir multimèdia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm és una plataforma mòbil i un substitut de SQLite i Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js és un entorn de temps d\'execució de JavaScript de multiplataforma i de codi obert.","WEBSITE_TECHNOLOGY_P_RUST":"Rust és un llenguatge de programació de sistemes multiparadigma centrat en la seguretat, sobretot la concurrència.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuir al projecte","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Hi ha dues maneres de contribuir a Stremio i ajudar-nos a millorar el producte.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Podeu donar les vostres valuoses habilitats lingüístiques traduint la plataforma ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"o bé","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... podeu emprar les vostres habilitats de codificació per crear complements de la comunitat. ","WEBSITE_TRANSLATE_STREMIO":"Tradueix Stremio","WEBSITE_404_OH_NO":"Uh-oh! La pàgina que cerqueu no és aquí...","WEBSITE_GO_HOME":"Anar a l\'inici","WEBSITE_LINK_OTHER_DOWNLOADS":"Altres descàrregues","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Suport","WEBSITE_DOWNLOAD_4_0_BETA":"Descarregueu Stremio 4 beta ara","WEBSITE_GET_FOR_DESKTOP":"Per a escriptori","WEBSITE_LINK_ADDON_COMPETITION":"Competició de complements","WEBSITE_LINK_ART_CONTEST":"Concurs d\'art","WEBSITE_MY_ACCOUNT":"El meu compte","WEBSITE_MAINPAGE_FAQ_001_H1":"Què és Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio és un modern centre de comunicació que us ofereix la llibertat de veure tot el que desitgeu.","WEBSITE_MAINPAGE_FAQ_002_H1":"Com funciona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Un cop instal·leu Stremio al dispositiu i creeu un compte, tot el que heu de fer és visitar el catàleg de complements i instal·lar qualsevol que vulgueu, i llestos!","WEBSITE_MAINPAGE_FAQ_002_P2":"Després d\'això, podeu anar a les seccions Descobreix o Tauler per començar a explorar el contingut.","WEBSITE_MAINPAGE_FAQ_003_H1":"Què puc veure aquí?","WEBSITE_MAINPAGE_FAQ_003_P1":"Molt: pel·lícules, programes de televisió, canals web, esports, canals de TV, escoltar pòdcasts i molt més. Gràcies al nostre sistema de complements, podeu accedir a diversos continguts.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio és de codi obert?","WEBSITE_MAINPAGE_FAQ_004_P1":"Sí, podeu consultar els enllaços següents: ${1}aplicació d\'escriptori${2} i ${3}organització GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"És segur Stremio?","WEBSITE_MAINPAGE_FAQ_005_P1":"Sí: com que és programari de codi obert, el codi es pot auditar públicament i el podeu revisar vosaltres mateixos.","WEBSITE_MAINPAGE_FAQ_005_P2":"El sistema de complements d\'Stremio també va ser creat tenint en compte la seguretat de l\'usuari. Els complements no executen cap codi localment, de manera que no suposen cap risc per al teu dispositiu.","WEBSITE_MAINPAGE_FAQ_006_H1":"I la meva privadesa?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respectem la privadesa dels usuaris i no recopilem cap dada personal a més del mínim essencial per crear i sincronitzar el vostre compte.","WEBSITE_MAINPAGE_FAQ_006_P2":"També hi ha un ${1}mode de convidat${2} al registre, que no requereix cap mena de dades: en aquest mode, no es realitzen crides al nostre backend. Tanmateix, a costa de funcions útils com ara poder sincronitzar la biblioteca entre dispositius.","WEBSITE_MAINPAGE_FAQ_007_H1":"Puc emetre al meu televisor?","WEBSITE_MAINPAGE_FAQ_007_P1":"Sí, donem suport a Chromecast i podeu emetre-les des d\'aplicacions d\'escriptori i mòbils (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Quants complements té Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"A finals de 2019, més de 50 - per a més informació, consulteu el nostre catàleg de complements.","WEBSITE_MAINPAGE_FAQ_009_H1":"Es pot ampliar Stremio més enllà del que hi ha al catàleg de complements?","WEBSITE_MAINPAGE_FAQ_009_P1":"Sí, hauríeu de comprovar els següents: ${1}PimpMyStremio${2}, ${3}comunitats Reddit${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Quins dispositius admeten Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Disposem d\'aplicacions d\'escriptori per a Windows, Mac i Linux. Per a mòbils, admetem Android i iOS, tot i que tingueu en compte que la funcionalitat d\'iOS és limitada (no admet la majoria dels complements).","WEBSITE_MAINPAGE_FAQ_010_P2":"Hi ha molts dispositius basats en Android en els quals podeu executar Stremio, com NVIDIA Shield i Amazon Fire Stick, però no els admetem oficialment.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Tenim aplicacions d\'escriptori per a Windows, Mac i Linux. També tenim aplicacions dedicades per a dispositius mòbils Android i Android TV. Per a iOS i iPadOS, suggerim utilitzar Stremio Web, tot i que té una funcionalitat més limitada.","WEBSITE_MAINPAGE_FAQ_011_H1":"Podeu afegir un determinat contingut a Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Ho sentim, nosaltres mateixos no proporcionem contingut, però com més complements Stremio tingueu instal·lats, més contingut podreu trobar.","WEBSITE_MAINPAGE_FAQ_012_H1":"Pot Stremio reproduir enllaços magnètics?","WEBSITE_MAINPAGE_FAQ_012_P1":"Sí, i també pot reproduir enllaços HTTP normals i fitxers torrent (arrossegar i deixar anar)..","WEBSITE_MAINPAGE_FAQ_013_H1":"Puc descarregar un vídeo i mirar-lo fora de línia?","WEBSITE_MAINPAGE_FAQ_013_P1":"Disponible fora de línia és una característica pròxima, però si permeteu que Stremio emmagatzemi memòria cau al dispositiu (des del tauler de configuració) podreu veure els vídeos més endavant sense connexió.","WEBSITE_MAINPAGE_FAQ_014_H1":"Res funciona, ajuda\'m!","WEBSITE_MAINPAGE_FAQ_014_P1":"Esteu segur que teniu instal·lats complements? Si és així, consulteu el nostre ${1}centre d\'ajuda${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Com manté Stremio les seves operacions de desenvolupament?","WEBSITE_MAINPAGE_FAQ_015_P1":"Publiquem anuncis no intrusius de tant en tant, però estem considerant passar a un model de donació.","WEBSITE_MAINPAGE_FAQ_015_P2":"Per obtenir més preguntes, aneu al nostre ${1}centre d\'ajuda${2}.","HELP_LEARN_MORE":"Ajudeu-nos a obtenir més informació sobre vosaltres.","LIFESTYLE":"Estil de vida","SPORTS":"Esports","FOOD_HEALTH":"Alimentació i salut","BEAUTY_FASHION":"Bellesa i moda","NEWS":"Notícies","GAMING":"Videojocs","SCIENCE_EDUCATION":"Ciència i educació","MUSIC":"Música","TRAVEL":"Viatges","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comèdia","DIY":"Fes-ho tu mateix (DIY)","TECH":"Tecnologia","CINEMA":"Cinema","CONTINUE":"Continua","SLOW_LOADING":"CÀRREGA LENTA?","I_GIVE_UP":"EM RENDEIXO","LEARN_MORE":"Aprèn més","POOR_SOURCE":"Aquesta font té poca disponibilitat o la vostra connexió a Internet no és prou ràpida","PICK_CATEGORIES_ERR":"Heu de triar com a mínim 3 categories","ADJUST_TIMING":"Ajusteu el temps amb ","ADJUST_SIZE":"Ajusta la mida amb ","SEARCH_ANYTHING":"Podeu cercar qualsevol cosa...","ALL_CATEGORIES":"Tots","SEARCH_CATEGORIES":"Pel·lícules, Sèries, YouTube i TV","SEARCH_PERSONS":"Actors, directors i escriptors","SEARCH_PROTOCOLS":"Enllaços HTTP i magnètics","SEARCH_TYPES":"Enllaços IMDB / TVDB","WATCHED":"Vist","SHOW_LESS":"Mostrar menys","LAST_SEARCHES":"Darreres cerques","CLEAR_HISTORY":"Neteja l’historial","CHOOSE_SOME":"TRIA ALGUNS D\'AQUEST:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"No s\'ha pogut carregar el comandament a distància web","STREMIO_OFFLINE":"Stremio està fora de línia","STREMIO_EXPENSIVE_CONNECTION":"Hem detectat que utilitzeu una connexió de dades mòbils, voleu continuar?","USE_DATA":"Utilitzeu dades","WARNING":"Avís","MORE_INFO":"Més informació ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Carregant ...","STREMIO_TV_BACK_TO_LANGUAGES":"Torna als idiomes","STREMIO_TV_REMOTE":"Remot","STREMIO_TV_GO_TO":"Anar a:","STREMIO_TV_OR_SCAN":"o escaneja:","STREMIO_TV_ADDON_INSTRUCTIONS":"Seguiu les instruccions per instal·lar els vostres complements preferits.","STREMIO_TV_LIVE_TV":"TV en directe","STREMIO_TV_RESUME_WATCHING":"Reprèn la visualització","STREMIO_TV_LOADING_BACKGROUND":"Carregant el fons","STREMIO_TV_CHECKING_AUTHENTICATION":"Comprovant l\'autenticació","STREMIO_TV_LOADING_BOARD":"Carregant el Tauler","STREMIO_TV_LOGIN_HEADER_LINE_1":"Volem que els nostres usuaris tinguin la millor experiència personalitzada possible amb el nostre programari.","STREMIO_TV_LOGIN_HEADER_LINE_2":"És per aquest motiu que us demanem que creeu i/o inicieu sessió al vostre compte.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Gràcies per la comprensió,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"L\'equip d\'Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Per utilitzar el comandament a distància web amb el vostre telèfon / tauleta / escriptori:","STREMIO_TV_WIFI_SETUP":"Configuració Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle no ha detectat connexió a Internet.","STREMIO_TV_WIFI_DETAILS_1":"Connecta\'t amb:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Utilitzeu la contrasenya:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Obriu un navegador web amb l\'enllaç:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Per defecte","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Per Última Visualització","STREMIO_TV_LIBRARY_SORT_NAME":"Per Nom","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Per Nom Descendent","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Per Vegades Vist","STREMIO_TV_LIBRARY_SORT_WATCHED":"Per Vistos","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Per No Vistos","STREMIO_TV_DETAILS_SEASON_NUMBER":"Temporada ${1}","STREMIO_TV_STREAMS_LOADING":"Carregat ${1} / ${2} complements...","STREMIO_TV_STREAMS_STILL_LOADING":"Complement ${1} encara està carregant...","STREMIO_TV_PLAYER_SETTINGS":"Configuració del Reproductor","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Retard dels subtítols","STREMIO_TV_PLAYER_AUDIO_DELAY":"Retard d\'àudio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Escalat de vídeo","STREMIO_TV_PLAYER_CHAPTERS":"Capítols","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Salta ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Font de reproducció no compatible","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"No s\'ha pogut obrir l\'enllaç extern","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"No es pot ajustar en el mode d\'àudio passthrough","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Reprodueix amb ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Reprodueix amb el reproductor libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Canviant al reproductor libVLC a causa d\'un error de reproducció","STREMIO_TV_ADDONS_TITLE":"Utilitzeu Stremio al vostre telèfon o PC per instal·lar o configurar complements i premeu \\"Sincronitza complements\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: assegureu-vos que feu servir el mateix compte d\'Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronitza complements","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Els complements s\'han sincronitzat correctament","STREMIO_TV_ADDONS_SYNC_FAILED":"No s\'han pogut sincronitzar els complements","STREMIO_TV_META_LINK_FAILED":"No s\'ha pogut obrir el metaenllaç","STREMIO_TV_CATALOG_LOADING":"El catàleg encara s\'està carregant...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Idioma de la interfície actualitzat","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema actualitzat","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Reproductor per Defecte","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Reproductor Extern","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Idioma preferit","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Idioma secundari preferit","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Reproducció en túnel","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possibles problemes de reproducció en alguns dispositius","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"És possible que alguns formats de vídeo no funcionin","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Coincidir la velocitat de fotogrames","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Desactivat","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Només velocitat de fotogrames","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Velocitat de Fotogrames i Resolució","STREMIO_TV_SETTINGS_NO_CACHING":"Sense memòria cau","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Per defecte","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Suau","STREMIO_TV_SETTINGS_PROFILE_FAST":"Ràpid","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra-Ràpid","STREMIO_TV_SETTINGS_SERVER_URL":"URL del servidor de transmissió","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versió del servidor","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Desconegut","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versió d\'Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edita l\'URL del servidor","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Introduïu l\'URL d\'un servidor de transmissió","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostra les estadístiques mentre es carrega","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Per llegir la Política de Privadesa d\'Stremio, visiteu:","STREMIO_TV_SETTINGS_TOS_TEXT":"Per llegir els Termes i Condicions d\'Stremio, visiteu:","STREMIO_TV_NAV_SEARCH":"Cerca","STREMIO_TV_NAV_HOME":"Inici","STREMIO_TV_NAV_DISCOVER":"Descobreix","STREMIO_TV_NAV_LIBRARY":"Biblioteca","STREMIO_TV_NAV_MOVIES":"Pel·lícules","STREMIO_TV_NAV_SERIES":"Sèries","STREMIO_TV_NAV_CHANNELS":"Canals","STREMIO_TV_NAV_TV":"TV en directe","STREMIO_TV_NAV_SETTINGS":"Configuració","STREMIO_TV_NAV_ADDONS":"Complements","STREMIO_TV_LOGIN_TITLE":"Enllaça Compte","STREMIO_TV_LOGIN_EXPIRES_IN":"Caduca en","STREMIO_TV_LOGIN_STEP_ONE":"Escaneja el codi QR de dalt o ves a","STREMIO_TV_LOGIN_STEP_TWO":"Inicieu sessió al vostre compte Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Demana un enllaç nou","STREMIO_TV_LOGIN_LINK_REFRESHED":"S\'ha actualitzat el codi d\'inici de sessió","STREMIO_TV_SEARCH_PLACEHOLDER":"Escriu alguna cosa","STREMIO_TV_SEARCH_NO_ADDONS":"No s\'han demanat complements per als catàlegs!","STREMIO_TV_SEARCH_BUTTON":"Cerca","STREMIO_TV_SEARCH_KEY_DEL":"Supr","STREMIO_TV_SEARCH_KEY_SPACE":"Espai","STREMIO_TV_SEARCH_KEY_CLEAR":"Retrocés","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historial de cerques","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Pots cercar Títols, Actors, Canals i més...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Esborrar l\'historial de cerques","STREMIO_TV_FILTERS_DESCRIPTION":"Trieu un dels filtres següents","STREMIO_TV_STREAMING_SERVER_OFFLINE":"El servidor d\'emissió està fora de línia. Comproveu la configuració del servidor.","FILTERS":"Filtres","SETTINGS":"Configuració","ACCOUNT":"Compte","LOGOUT":"Tancar sessió","THEMES":"Temes","PLAYBACK":"Reproducció","PLAYBACK_SPEED":"Velocitat de reproducció","AUDIO_TRACKS":"Pistes d\'Àudio","UNKNOWN_TRACK_LANG":"Desconegut","VIDEOS":"Vídeos","SERVER":"Servidor","LINKS":"Enllaços","ABOUT":"Quant a","INTERFACE":"Interfície","ANIMATIONS":"Animacions","STATUS":"Estat","LANGUAGE":"Idioma","SIZE":"Mida","DELAY":"Retard","BOLD":"Negreta","OPACITY":"Opacitat","TEXT_COLOR":"Color del text","OUTLINE_COLOR":"Color del contorn","BACKGROUND_COLOR":"Color de fons","BACKGROUND_BLUR":"Desenfocament de fons","SEEK_TIME_DURATION":"Cerca la durada del temps","AUTO_PLAY":"Reprodueix automàticament el següent episodi","PLAY_NOW":"Reprodueix Ara","MARK_AS_WATCHED":"Marca com a Vist","MARK_AS_UNWATCHED":"Marca com a No vist","REWIND_TO_BEGINNING":"Rebobina al principi","CONTINUE_WATCHING":"Continuar Mirant","ALL":"Tot","SECONDS":"segons","ON":"ON","OFF":"OFF","RELOAD":"Recarrega","EDIT_URL":"Edita l\'URL","URL":"URL","NONE":"Cap","EMBEDDED":"Incrustat","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Canviar Dispositius","REMOTE_VIDEOS":"Vídeos","REMOTE_ADJUST_TIMING":"Ajusteu el temps","REMOTE_ADJUST_SIZE":"Ajusta la mida","REMOTE_COULD_NOT_BE_LOADED":"No s\'ha pogut carregar el comandament a distància web","REMOTE_RETRY":"Reintentar","TORRENT_PROFILE_DEFAULT":"Per defecte","TORRENT_PROFILE_SOFT":"Suau","TORRENT_PROFILE_FAST":"Ràpid","TORRENT_PROFILE_ULTRA_FAST":"Ultra-Ràpid","MB_S":"MB/s","FAQ_001_H1":"Què és Stremio?","FAQ_001_P1":"Stremio és un centre multimèdia dissenyat per a l\'entreteniment en vídeo tenint en compte la facilitat d\'ús. Stremio us permet organitzar & mirar la vostra pròpia col·lecció de pel·lícules, sèries, canals i TV en directe.","FAQ_001_P2":"Stremio recopila el contingut que us mostra del vostre disc local i del nostre sistema de complements.","FAQ_001_P3":"També us notificarà quan surten nous episodis/vídeos/pel·lícules que us interessin i us recomanarà pel·lícules.","FAQ_02_H1":"Com es compara Stremio amb Kodi i Plex?","FAQ_02_P1":"Ens inspiren aquests dos programes. Però tenim objectius diferents - Stremio s\'orienta específicament cap a l\'entreteniment en vídeo i s\'esforça per convertir-se en la solució principal per ser molt fàcil d\'utilitzar.","FAQ_02_P2":"Stremio mai serà tan personalitzable i ric en funcions com Kodi i Plex, però és molt més fàcil d\'utilitzar. Només ${1} proveu-lo i veureu ${2} :)","FAQ_03_H1":"Com es compara Stremio amb Netflix?","FAQ_03_P1":"Una vegada més, Netflix és una de les nostres inspiracions. Ens esforcem per aconseguir l\'experiència d\'usuari de Netflix, a més d\'un munt de coses addicionals. Però el més important és que us oferim la llibertat de gestionar la vostra pròpia biblioteca i afegir noves fonts de contingut amb el nostre sistema de complements.","FAQ_03_P2":"Això fa que Stremio sigui infinitament extensible, de manera que quan feu servir Stremio mai no es limita al contingut que Netflix decideix llicenciar. Per exemple, mitjançant Stremio podeu veure contingut de ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} i fins i tot el mateix ${9}Netflix${10}!","FAQ_04_H1":"Com es compara Stremio amb Flipboard?","FAQ_04_P1":"Aquesta pregunta no ens arriba tan sovint, excepte quan parlem amb emprenedors :)","FAQ_04_P2":"Stremio és per disseny d\'un agregador de continguts, que bàsicament el converteix en Flipboard per a vídeo. Això és molt evident a la nostra secció de Tauler, que us proporciona catàlegs i notificacions d\'episodis/vídeos nous del que seguiu, igual que Flipboard.","FAQ_05_H1":"Com es compara Stremio amb Popcorn Time?","FAQ_05_P1":"Stremio i Popcorn Time són similars a la interfície d\'usuari, perquè no hi ha moltes maneres de fer els catàlegs d\'entreteniment de vídeo correctament :)","FAQ_05_P2":"Però, mentre que Popcorn Time se centra en la transmissió de torrents de fonts específiques, Stremio no té restriccions i és només un agregador de continguts - no està bloquejat en una font de contingut específica.","FAQ_05_P3":"A més, no proporcionem cap complement de torrent per defecte, de manera que Stremio no cobreix el cas d\'ús Popcorn Time amb la funcionalitat oficial.","FAQ_05_P4":"Una altra diferència notable és que Popcorn Time és completament de codi obert, mentre que Stremio és ${1} parcialment de codi obert${2}.","FAQ_06_H1":"Afegireu aquesta pel·lícula/sèrie?","FAQ_06_P1":"No, ho sento :(","FAQ_06_P2":"Com s\'esmenta a la majoria de les altres preguntes, Stremio no proporciona cap contingut per si mateix - tot s\'afegeix a través del sistema de complements. En cas que tingueu una sol·licitud de contingut, podeu fer servir el botó “Informa” del reproductor, que enviarà un correu electrònic a l\'autor del complement que esteu utilitzant actualment.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Creeu un complement per a X?","FAQ_08_P1":"És del tot possible.","FAQ_08_P2":"Si teniu una idea per a un complement, envieu-nos una línia a ${1}office@stremio.com${2}, però assegureu-vos que la vostra idea de complement no infringeixi cap copyright ni les condicions d\'ús.","FAQ_08_P3":"De moment, les següents coses del nostre full de ruta són complements per a FandangoNOW, el vídeo a la carta de Filmon.tv i Crunchyroll.","FAQ_09_H1":"Stremio utilitza BitTorrent?","FAQ_09_P1":"Sí, Stremio admet BitTorrent com a protocol de transmissió. Podeu fer-ho amb un complement de torrent, arrossegant i deixant anar un fitxer .torrent a Stremio o enganxant un enllaç magnètic a la barra de cerca.","FAQ_09_P2":"Tingueu en compte que l\'únic complement oficial que utilitza BitTorrent és ${1}Vodo${2}, que proporciona contingut independent, tot el que es pot distribuir amb BitTorrent.","FAQ_09_P3":"No admetem l\'ús de complements de tercers que puguin permetre la infracció dels drets d\'autor.","FAQ_10_H1":"Què puc veure a Stremio amb els complements oficials?","FAQ_10_P1":"Per defecte, podeu veure el contingut de Filmon.tv, YouTube i Vodo dins del mateix Stremio, amb el reproductor incrustat. A més, tenim un complement per a Twitch.tv i alguns altres.","FAQ_10_P2":"Aquesta combinació proporciona una selecció de:","FAQ_10_L1":"Canals de televisió populars, proporcionats per Filmon.tv - per exemple E4, BBC, Bollyworld TV","FAQ_10_L2":"Tot des de YouTube - per exemple BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Pel·lícules independents amb Vodo","FAQ_10_L4":"Emissions de jocs en línia amb Twitch.tv","FAQ_10_P3":"A més, hi ha moltes fonts de contingut que es proporcionen amb Guidebox i els complements Netflix, que no es reprodueixen completament dins Stremio, però que redirigiran al servei indicat. Per exemple, el complement Guidebox us proporcionarà una selecció de pel·lícules que podeu reproduir gratuïtament als Estats Units, des de serveis com TubiTV i Crackle.","FAQ_11_H1":"Stremio no s\'instal·la, què he de fer?","FAQ_11_P1":"Si utilitzeu Windows, proveu ${1}aquest instal·lador alternatiu${2}.","FAQ_11_P2":"Si utilitzeu Mac OS X, tingueu en compte que no admetem res més antic que OS X Mavericks (10.9).","FAQ_11_P3":"Si utilitzeu Linux, tingueu en compte que en aquest moment només admetem Linux de 64 bits (x64).","FAQ_11_P4":"Si encara no podeu resoldre el vostre problema, escriviu-nos al nostre ${1}grup de Facebook${2}.","FAQ_12_H1":"Per què es queixa del meu antivirus? És segur Stremio?","FAQ_12_P1":"Us assegurem que Stremio és ${1}100% net${2}.","FAQ_12_P2":"El vostre antivirus es queixa perquè incloem publicitat al nostre instal·lador, que alguns programes antivirus reconeixen com a ad-ware.","FAQ_12_P3":"Si encara no esteu segur, podeu provar el nostre ${1}instal·lador alternatiu${2}.","FAQ_13_H1":"Com puc fer un complement?","FAQ_13_P1":"Per començar, us recomanem que consulteu el nostre ${1}mòdul del sistema de complements${2} a GitHub.","FAQ_13_P2":"Després, podeu seguir el ${1}tutorial Hola Món${2}.","FAQ_13_P3":"Si no teniu cap habilitat de programació, publiqueu la vostra idea a ${1}la comunitat Reddit${2} i poseu-vos en contacte amb nosaltres amb la vostra idea de complement a ${3}office@stremio.com${4}.","FAQ_14_H1":"Com es publiquen els complements?","FAQ_14_P1":"Quan creeu un complement i un amfitrió, i col·loqueu un camp endpoint al manifest, que apunti a una adreça de complement funcional, el complement es publicarà automàticament al nostre ${1}catàleg de complements${2}.","FAQ_14_P2":"Això passa perquè la part del servidor del mòdul stremio-addons fa una crida automàticament a la nostra API per anunciar-lo. Quan la nostra API validi el vostre endpoint com a complement vàlid, començarà a aparèixer al catàleg.","FAQ_15_H1":"Puc executar Stremio al meu navegador?","FAQ_15_P1":"De moment no, però s\'acosta!","FAQ_15_P2":"Si teniu curiositat per veure una Alfa, el podeu veure aquí: ${1}alpha4.strem.io${2}. Recordeu que la transmissió està desactivada en aquesta alfa. Admetem Chrome, Firefox, Opera i Edge.","FAQ_16_H1":"Emetre a la televisió no funciona / els subtítols no funcionen","FAQ_16_P1":"La transmissió a TV utilitza la tecnologia DLNA, que és molt inconsistent entre les diferents marques i models de televisors. Per aquest motiu, no tenim la capacitat de provar-ho en tots els casos, de manera que no és ni molt menys perfecte. Tot i això, estem treballant per millorar-lo constantment, però no podem proporcionar-vos una estimació de temps sobre quan DLNA començarà a funcionar correctament amb el vostre televisor.","FAQ_16_P2":"Si ni tan sols veieu el televisor al menú d\'emissió, proveu de desactivar la connexió de xarxa i tornar-la a activar (a Windows, feu clic amb el botó dret a la xarxa i utilitzeu Activa/Desactiva), així com reiniciar el router, el televisor i l\'ordinador.","FAQ_16_P3":"Si encara teniu problemes, podeu ajudar-nos enviant la informació de la vostra marca i model de televisió a ${1}office@stremio.com${2}.","FAQ_16_P4":"Mentrestant, recomanem Chromecast, que funciona molt bé, o simplement connecteu el televisor al PC amb un cable HDMI.","FAQ_17_H1":"Stremio es congela o es bloqueja, què puc fer?","FAQ_17_P1":"En primer lloc, si utilitzeu Windows 7 amb antivirus AVG: tenim aquesta problemàtica. El problema es troba en la mateixa AVG i no hi ha cap manera raonable de resoldre-ho per nosaltres mateixos. Malauradament, les excepcions o la desactivació de l\'antivirus no funcionaran. L\'única solució és substituir AVG per un altre.","FAQ_17_P2":"Si aquest no és el problema, però encara esteu utilitzant Windows, actualitzeu-lo a la versió més recent i actualitzeu/reinstal·leu els controladors de la GPU, llavors torneu-ho a provar.","FAQ_17_P3":"Si el problema encara no s\'ha resolt o si utilitzeu un Mac o Linux, escriviu-nos informant dels detalls exactes del problema al ${1}grup de Facebook${2}.","FAQ_18_H1":"Com puc fer un complement?","FAQ_18_P1":"Per començar, us recomanem que consulteu el nostre ${1}mòdul del sistema de complements${2} a GitHub.","FAQ_18_P2":"Després, podeu seguir el ${1}tutorial Hola Món${2}.","FAQ_18_P3":"Si no teniu cap habilitat de programació, publiqueu la vostra idea a ${1}la comunitat Reddit${2} i poseu-vos en contacte amb nosaltres amb la vostra idea de complement a ${3}office@stremio.com${4}.","FAQ_19_H1":"Per què Stremio ocupa espai al disc?","FAQ_19_P1":"Stremio té una memòria cau local per conservar temporalment els fitxers de vídeo que transmets.","FAQ_19_P2":"Això té dos avantatges: en primer lloc, permet a Stremio pre-emmagatzemar el vídeo per garantir una transmissió més fluida. En segon lloc, manté els vídeos a la memòria cau local perquè pugueu continuar veient-los fora de línia.","FAQ_19_P3":"La quantitat que guarda Stremio depèn del paràmetre Memòria cau del tauler de configuració. És possible que Stremio mantingui la quantitat establerta (ex: 2GB) al disc, tret que el vídeo que es reprodueixi actualment sigui més gran que aquest. En aquest cas ha d\'assignar prou emmagatzematge per conservar-lo mentre que l\'estiguis reproduint.","FAQ_20_H1":"On és la carpeta de memòria cau?","FAQ_20_P1":"A Windows, és stremio-cache a la unitat que heu seleccionat a Configuració (per exemple \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"A MacOS, és \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"A Linux, és \\"~/.stremio/stremio-cache\\" o \\"~/stremio-cache\\"","FAQ_21_H1":"Tinc l\'error \\"El servidor de transmissió no s\'ha trobat\\" què puc fer?","FAQ_21_P1":"Si obteniu aquest error, significa alguna d\'aquestes coses:","FAQ_21_P2":"1) Esteu provant d\'utilitzar un complement compatible amb la font de YouTube/BitTorrent a través de la nostra ${1}versió web${2}. En aquest cas, hauríeu d\'instal·lar la nostra versió d\'escriptori des del ${3}nostre lloc web${4}.","FAQ_21_P3":"2) Hi ha un problema amb la instal·lació d\'Stremio. En aquest cas, proveu de tornar a instal·lar la nostra versió d\'escriptori més recent des del ${1}lloc web${2}. Si això no ajuda, proveu de desactivar els programes antivirus i els tallafocs, reinicieu el PC i torneu-ho a provar. Si això també no funciona, escriviu-nos al nostre ${3}grup de Facebook${4}.","FAQ_22_H1":"No puc veure/utilitzar la majoria dels complements a iOS","FAQ_22_P1":"A causa de les restriccions dels termes i condicions de l\'App Store d\'Apple, hem restringit l\'aplicació iOS només a un conjunt concret de complements.","FAQ_22_P2":"Però tingueu la seguretat: hi haurà més complements per a iOS en el futur, i també podem afegir una integració que us permetrà utilitzar tots els complements Stremio gràcies a la connexió de l\'aplicació iOS al servidor de transmissió Stremio."}')},68318:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Seriál","TYPE_tv":"Televizní kanál","TYPE_channel":"Kanál","TYPE_other":"Ostatní","TYPE_movie_PL":"Filmy","TYPE_series_PL":"Seriály","TYPE_tv_PL":"Televizní kanály","TYPE_channel_PL":"Kanály","TYPE_other_PL":"Ostatní","TYPE_ALL":"Všechny","TYPE":"Typ","CATALOG_com_linvo_cinemeta_top":"Populární","CATALOG_com_linvo_cinemeta_imdbRating":"Doporučené","CATALOG_com_linvo_cinemeta_year":"Nejnovější","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Filmy ve veřejném vlastnictví","VIDEO":"Video","BACK":"Zpět","MORE":"Více","DONE":"Hotovo","COPY":"Kopírovat","SUCCESS":"Úspěch","ERROR":"Chyba","SETTINGS_CASTING_MODE_PICKER":"Režim odesílání","CASTING_MODE_HLSV2":"Výchozí","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Bez transkodování","Discover":"Objevit","Board":"Nástěnka","Library":"Knihovna","My Library":"Moje knihovna","Calendar":"Kalendář","NOTIFICATION_ONLINE":"Nyní jste online","NOTIFICATION_OFFLINE":"V současné době jste offline","INTERNET_CONNECTION":"Připojení k síti","STORAGE_FULL_TITLE":"Varování: Úložiště je plné!","STORAGE_FULL_TEXT":"Stremio nebude moci uložit vaše nastavení, preference ani přihlašovací údaje. Zvažte opětovné spuštění nebo přeinstalování aplikace Stremio.","SEARCH":"hledat","SEARCH_NO_RESULTS":"Nebyly nalezeny žádné výsledky","SEARCH_EXPLANATION_CONTENT":"Hledejte filmy, seriály, YouTube kanály a TV kanály","SEARCH_EXPLANATION_PEOPLE":"Hledejte herce, režiséry a scénáristy","SEARCH_PASTE_LINKS":"Vložte webový, či Magnet odkaz","SEARCH_OR_PASTE_LINK":"Vyhledat nebo vložit odkaz","SEARCH_SUGGESTIONS":"Návrhy hledání","ADD_TO_LIB":"Přidat do knihovny","REMOVE_FROM_LIB":"Odebrat z knihovny","ADDED_TO_LIB":"Přidáno do knihovny","REMOVED_FROM_LIB":"Odstraněno z knihovny","TRAILER":"Ukázka","WATCH_TRAILER":"Sledovat ukázku","WATCH_NOW":"Sledujte nyní","SHOW":"Zobrazit","SHOW_MOVIE":"Zobrazit film","WATCH_RANDOM":"Sledovat náhodné","IMDB_RATING":"IMDb hodnocení","YEAR":"Rok","DIRECTOR":"Režisér","WRITER":"Scénárista","LEAD_ACTORS":"Hlavní obsazení","CAST":"Obsazení","CREW":"Štáb","SHOW_MORE_CAST":"Zobrazit více »","AIRED":"Vysíláno na","SEASONS":"Série","GENRE":"Žánr","GENRE_ALL":"Všechny žánry","CATALOG":"Katalog","SUMMARY":"Shrnutí","SHOW_MORE":"Zobrazit více","SIMILAR":"Podobné","UPCOMING":"Nadcházející","TBA":"TBA","ENDED":"Ukončeno","DURATION":"Délka","FEATURED":"Doporučené","METADATA":"Metadata","CATEGORY":"kategorie","LINKS_GENRES":"Žánr","LINKS_CAST":"Herci","LINKS_DIRECTORS":"Režiséři","SEARCH_VIDEOS":"vyhledávání videí","SEARCH_PLACEHOLDER":"vyhledat nebo vložit adresu URL","ADDON":"doplněk","ADDONS":"Doplňky","OFFICIAL":"oficiální","ADDONS_OFFICIAL":"Oficiální doplňky Stremio","ADDONS_POPULAR":"Oblíbené ve vaší oblasti","ADDON_FREE":"zdarma","ADDON_PEERED":"peerované","ADDON_SUBSCRIPTION":"předplatné","ADDON_STREAM_GEORESTRICTED":"není k dispozici ve vaší oblasti","ADDON_STREAM_OFFLINECACHE":"Offline mezipaměť","ADDON_STREAM_LOCALFILE":"Místní soubor","SHARE_ADDON":"Sdílet doplněk","AVAILABLE_STREAMS":"Dostupné zdroje","NO_STREAM":"Nebyly nalezeny žádné zdroje","ALL_ADDONS":"Vše","INSTALL_MORE_ADDONS":"Chcete-li získat více streamů, nainstalujte si další doplňky","STREAM_NOT_SUPPORTED":"Vybraný stream není na této platformě podporován.","ADDON_CATALOGUE":"Zobrazit všechny doplňky \\"","ADDON_CATALOGUE_MORE":"Instalovat doplňky","REPO_ADDED":"Přidáno úložiště","ADDON_REPO_EXIST_ERR":"Tato kolekce doplňků již existuje","ADDON_REPO_ERR":"Při přidávání kolekce došlo k chybě","ADDON_ADD_ERR":"Při přidávání doplňku došlo k chybě","ERR_ADDON_PROTECTED":"Nelze odinstalovat, doplněk je chráněn","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Došlo k chybě - autentizace mohla selhat","ERR_NOT_COLLECTION_URL":"Nejedná se o adresu URL sbírky","ERR_NOT_ADDON_URL":"Není platná adresa URL doplňku","ERR_DETECTFROMURL":"Nelze najít doplněk/sbírku z této adresy URL","ADDON_DUPLICATE_WARNING":"Varování: duplicitní doplněk","ADDON_COLLECTION_SET_FAILED":"Synchronizace nainstalovaných doplňků s vaším účtem se nezdařila","SETTINGS_DATA_EXPORT":"Export uživatelských dat","ADDON_PULL_FAILED":"Synchronizace nainstalovaných doplňků z vašeho účtu se nezdařila","REFRESH_ON_CLICK":"Klikněte pro opakovaný pokus","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film stále v kinech","WATCH_IN_CINEMA":"Podívejte se na něj v místním kině","IN_THEATER":"V kině","GET_TICKETS":"Získat vstupenky","UPCOMING_EPISODE":"Nadcházející epizoda","UPCOMING_EPISODE_MESSAGE":"Tato epizoda bude vysílána dne","MISSING_DATE_EPISODE":"Chybějící datum epizody","MISSING_DATE_EPISODE_MESSAGE":"Tato epizoda nejspíš ještě nebyla odvysílána","CHANNEL_NOT_SCRAPED":"Tento kanál ještě není prohledán.
    Vraťte se prosím za několik minut.
    ","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Přidejte si ji do své knihovny, abyste byli informováni, jakmile bude k dispozici.","GET_NOTIFIED_WHEN_AVAILABLE":"Jakmile bude k dispozici, budete o tom informováni.","WARNING_STREAMING_SERVER":"Varování: místní streamovací server nebyl nalezen. Streamování z místních souborů, YouTube a BitTorrent nebude k dispozici.","WARNING_STREAMING_SERVER_DISMISS":"Skrýt","WARNING_STREAMING_SERVER_LATER":"Později","DECODER_WARNING":"Varování: toto video nemusí být podporováno vaším hardwarem. Mějte na paměti, že přehrávání může být pomalé.","GENERIC_ERROR_MESSAGE":"Něco se pokazilo!","TRY_AGAIN":"Zkusit znovu","CLEAR_DATA":"Vymazat data","PLAYER_ERROR":"Jejda, chyba přehrávače","PLAYER_ERROR_LOOKSLIKE":"Vypadá to, že","PLAYER_ORIENTATION":"Orientace přehravače","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Zamknuto","PLAYER_ORIENTATION_SENSOR_SHORT":"Senzor","PLAYER_ORIENTATION_LANDSCAPE":"Orientace přehrávače uzamčená na šířku","PLAYER_ORIENTATION_SENSOR":"Automatická orientace hráče (senzor)","PLAYER_PLAYBACK_SPEED":"Rychlost přehrávání","PLAYER_PLAYBACK_ERROR":"Chyba přehrávání, zkuste to prosím znovu","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Neznámá chyba","PLAYER_PLAYBACK_ERROR_DEFAULT":"Je nám líto, ale toto video nelze přehrát pomocí {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Jazyky titulků","PLAYER_SUBTITLES_VARIANTS":"Varianty titulků","PLAYER_SUBTITLES_SETTINGS":"Nastavení titulků","PLAYER_SUBTITLES_DISABLED":"Titulky jsou vypnuty","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertikální pozice","PLAYER_SUBTITLES_LOADED":"Titulky načteny","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Vložené titulky načteny","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exkluzivní titulky načteny","PLAYER_SUBTITLES_LOADED_LOCAL":"Místní titulky načteny","PLAYER_SUBTITLES_LOADED_ORIGIN":"Titulky z {{origin}} načteny","PLAYER_PLAY":"Přehrát","PLAYER_PAUSE":"Pozastavit","PLAYER_NEXT_VIDEO":"Další video","PLAYER_MUTE":"Ztluimt","PLAYER_UNMUTE":"Zrušit ztlumení","PLAYER_OPEN_IN_EXTERNAL":"Otevřít v externím přehrávači","PLAYER_OPEN_IN_NPLAYER":"Otevřít v nPlayer","PLAYER_PLAY_IN":"Přehrát na {{device}}","PLAYER_LIVE":"Živě","PLAYER_NEXT_VIDEO_TITLE":"Další v pořadí přehrávání","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Další v pořadí","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Skrýt","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Sledovat nyní","PLAYER_COPY_STREAM_SUCCESS":"Odkaz na stream byl zkopírován do schránky","PLAYER_COPY_STREAM_ERROR":"Odkay na stream se nepodařilo zkopírovat","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Odkaz ke stažení byl zkopírován do vaší schránky","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Nepodařilo se kopírovat odkaz ke stažení","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streamování z","CASTING_TO":"Odesílání na","NETWORK_STATUS":"Stav sítě","STREAM_SPEED":"Rychlost streamu:","STREAM_BUFFERED":"Vyrovnávací paměť:","PEERS_INFO":"Informace o vrstevnících","PEERS_ACTIVE":"Používáno:","PEERS_CONNECTED":"Připojeno:","PEERS_WAITING":"Čekání:","TRANSCODING_WARNING":"Varování: překódování videa.","STREAM_LOADING":"načítám...","PLAYING_LOCAL":"přehrávání z místního souboru","PLAYING_CACHE":"přehrávání z mezipaměti","WRONG_SUBS":"Špatné titulky?","ERR_SUBS_LOADING_TITLE":"Chyba při načítání titulků","ERR_SUBS_LOADING":"Neúspěšné načítání titulků: může se jednat o problém s používaným doplňkem nebo se síťovým připojením","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Následující doplňky titulků selhaly","ERR_CASTING_UPDATE_TITLE":"Nelze aktualizovat informace o zařízení pro odlévání: streamovací server může být offline","CHOOSE_DEVICE":"Výběr zařízení, na kterém chcete sledovat","NO_CAST_DEVICES":"Žádné odlévací zařízení není k dispozici.","NO_SETTINGS":"Žádné nastavení není k dispozici.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Titulky","SUBTITLES_CHANGE":"Změna titulků pro","SUBTITLES_CHANGE_NONE":"Pro tento jazyk nejsou k dispozici žádné další titulky, omlouváme se.","SUBTITLES_CHANGE_ACIVE":"Aktuálně jsou aktivovány titulky #{{subtitlesDialog.activeIdx + 1}}. Kliknutím na \\"Pokračovat\\" aktivujete titulky #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Případně,","SUBTITLES_ADJUST_DELAY":"Nastavení zpoždění titulků:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Nebo můžete při přehrávání použít klávesy G / H pro nastavení.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: při hraní můžete použít klávesy G / H pro nastavení.","SUBTITLES_DELAY":"Zpoždění titulků:","SUBTITLES_LOADING":"Načítání titulků...","SUBTITLES_UNAVAILABLE":"Žádné externí titulky k dispozici","SUBTITLES_DISABLED":"Vypnuto","EXTERNAL_PLAYER_DISABLED":"Vypnuto","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Povolit výběr","EXTERNAL_PLAYER_HINT":"Tip: V nastavení lze zvolit přehrávání vždy v externím přehravači","DONT_SHOW_AGAIN":"Znovu nezobrazovat","SERVICE_INSTALL":"Nainstalovat","AUDIO":"Zvuk","DEFAULT_LANGUAGE":"Výchozí jazyk","DEFAULT_SECONDARY_LANGUAGE":"Výchozí sekundární jazyk","SEASON":"Série","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Epizoda","EPISODE_ABBREVIATION":"EP","SPECIAL":"Speciál","SORT":"řadit","SORT_BY":"Seřadit podle","FILTER":"filtr","SORT_TRENDING":"trendy","SORT_RECENT":"nedávné","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"hodnocení","SORT_WATCHED":"shlédnuto","SORT_YEAR":"rok","SELECT":"Select","SELECT_TYPE":"Vyberte typ","SELECT_SORT":"Vyberte řazení","SELECT_CATALOG":"Vyberte katalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Vyberte žánr","SORT_LASTWATCHED":"Podle posledních","SORT_NAME":"Podle názvu","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Podle počtu zhlédnutí","SORT_NOTWATCHED":"neshlédnuto","New for You":"Novinky pro vás","New Episodes":"Nové epizody","New Videos":"Nové videa","Recommendations":"Doporučení","LIBRARY_RESUME":"Pokračovat","LIBRARY_PLAY":"Přehrát","LIBRARY_DETAILS":"Detaily","LIBRARY_RESUME_DISMISS":"Skrýt","LIBRARY_CLEAR_PROGRESS":"Vymazat pokrok","LIBRARY_REMOVE":"Odebrat","LIBRARY_NOT_LOGGED_IN":"Knihovna je k dispozici pouze pro přihlášené uživatele","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Kalendář je k dispozici pouze pro přihlášené uživatele","NOT_LOGGED_IN_CLOUD":"Mějte přístup k svým oblíbeným filmům pořadům kdykoliv a kdekoli","NOT_LOGGED_IN_RECOMMENDATIONS":"Doporučení podle vaší historie sledování","NOT_LOGGED_IN_NOTIFICATIONS":"Nikdy nezmeškejte další díl","NOT_LOGGED_IN_CALENDAR":"Plánujte svůj osobní sledovací kalendář","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Doporučené","DISCOVER_TOP":"Nahoře","DISCOVER_OSCAR":"Vítězové Oscara","DISCOVER_WARNING_TITLE":"Jejda!","DISCOVER_EMPTY_CATALOG":"Tento doplněk vrátil prázdný obsah.","DISCOVER_ADULT_WARNING":"Obsah je viditelný pouze pro dospělé. Jste starší 18 let?","DISCOVER_NOADDON_WARNING":"Varování: pro tento typ není aktivní žádný doplněk Stremio. Zobrazuje uložené položky, nic se zde neaktualizuje.","DISCOVER_LOAD_ERR":"Obsah se nenačetl, došlo k chybě.","DISCOVER_ADDON_UNINSTALLED":"Tento obsah již není k dispozici, možná jste doplněk odinstalovali.","UNINSTALL_THIS_ADDON":"Odinstalování tohoto doplňku","ERR_ADDON_NOT_INSTALLED":"Tento doplněk není nainstalován. Nainstalovat nyní?","DETAIL_RECEIVE_NOTIF_SERIES":"Přijímání oznámení o nových epizodách","DETAIL_RECEIVE_NOTIF_VIDEOS":"Přijímání upozornění na nová videa","SIDEBAR_SHOW_STREAMS":"Ukázat zdroje","RELAUNCH":"Restartovat nyní!","UPGRADE":"Nová verze je k dispozici! Upgrade na nejnovější verzi Stremio","RELOAD_UI":"Opětovné načtení uživatelského rozhraní","MANUAL_UPDATE_TITLE":"Aktualizace verze aplikace Stremio","MANUAL_UPDATE_LINE1":"Používáte zastaralou verzi aplikace Stremio, doporučujeme aktualizovat.","MANUAL_UPDATE_LINE2":"Prosíme o co nejrychlejší aktualizaci.","BUTTON_UPDATE_LATTER":"Nyní ne","BUTTON_UPDATE_NOW":"Aktualizovat","UPDATER_TITLE":"Je k dispozivi nová verze Stremia","UPDATER_INSTALL_BUTTON":"Nainstalovat","ANONYMOUS_USER":"Anonymní uživatel","DONT_HAVE_ACC":"Nemáte účet?","HAVE_ACC":"Již máte účet?","PASSWORD":"Heslo","PASSWORD_CONFIRM":"Potvrďte heslo","EMAIL":"E-mail","FB_LOGIN":"Pokračovat na Facebooku","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nic není sdíleno bez vašeho souhlasu","FB_NOPOST":"Vaším jménem nic nezveřejníme","OR":"nebo","I_ACCEPT":"Přijímám","I_ACCEPT_BY_CLICKING":"Kliknutím na výše uvedené tlačítko stvrzuji, že souhlasím s tím, že","TOS":"Obchodní podmínky","MUST_ACCEPT_TERMS":"Musíte přijmout podmínky","PASSWORDS_NOMATCH":"Heslo se neshodují","SIGN_UP":"Registrovat se","SIGN_UP_EMAIL":"Zaregistrujte se pomocí e-mailu","CLICK_TO_SIGN_UP":"Klikněte zde a zaregistrujte se.","LOG_IN":"Přihlásit","LOG_OUT":"Odhlásit se","EXIT_FULLSCREEN":"Ukončení celoobrazovkového režimu","ENTER_FULLSCREEN":"Vstup do celoobrazovkového režimu","PLAY_URL_MAGNET_LINK":"Přehrát adresu URL / odkaz na magnet","HELP_FEEDBACK":"Nápověda a zpětná vazba","TERMS_OF_SERVICE":"Podmínky služby","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"O Stremio","USER_PANEL":"Uživatelský panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Přihlášení hosta","GUEST_LOGIN_NOTICE":"Přihlášení hosta se nedoporučuje. Použití běžného přihlášení umožňuje službě Stremio synchronizovat vaši knihovnu a přijímat oznámení o oblíbených seriálech/kanálech. Jste si jisti, že chcete pokračovat?","GUEST_LOGIN_NOTICE_2":"Přihlášení hosta se nedoporučuje - nebudete mít synchronizované oznámení o knihovně a nástěnce, což jsou důležité funkce aplikace Stremio. Jste si jisti, že chcete pokračovat?","CLICK_HERE":"klikněte sem","WRONG_PASSWORD":"Špatný e-mail nebo heslo. V případě, že jste zapomněli heslo,","SET_A_PASS":"nastavit heslo","RESET_PASSWORD":"Obnovit heslo","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Zapomenuté heslo?","EMAIL_USED_WITH_FB":"Tento e-mail byl použit s přihlášením na Facebook.","INVALID_EMAIL":"Zadejte prosím platnou emailovou adresu","INVALID_PASSWORD":"Zadejte prosím platné heslo","CONN_ERR":"Chyba připojení - zkuste to prosím později.\\n\\nPokud přetrvává, vypněte firewall/antivirový software (zejména Bitdefender).","IMPORT_FROM_GUEST":"Import knihovny z účtu hosta","RECEIVE_UPDATES_EMAIL":"Přijímání aktualizací do e-mailu od Stremio","LOGIN_FAILED":"Přihlášení se nezdařilo.","SIGNUP_FAILED":"Registrace se nezdařila.","SEARCH_FAILED":"Vyhledávání se nezdařilo","EMAIL_USED":"E-mail je už používán.","WAITING_FB_LOGIN":"Přihlášení pomocí Facebooku...","EXTERNAL_OPENING_YOUTUBE":"Opravdu chcete opustit Stremio a spustit YouTube?","EXTERNAL_OPENING_APP":"Opravdu chcete zavřít Stremio a otevřít jinou aplikaci?","EXTERNAL_PLAYER_TITLE":"Přehrávání v externím přehrávači","EXTERNAL_REMEMBER_PLAYER":"Chcete si svou volbu zapamatovat","EXTERNAL_ALWAYS_PLAY":"Ano","EXTERNAL_ONLY_ONCE":"Ne","BEST_FIT":"Automatické přizpůsobení","FIT_SCREEN":"Přizpůsobit obrazovce","FILL":"Vyplnit","16:9":"16:9","4:3":"4:3","Original":"Původní","INTRO_TASTE":"Řekněte nám, co se vám líbí","INTRO_TASTE_LONG":"Řekněte nám, co byste chtěli sledovat","INTRO_TASTE_PICK":"Vyberte {{interestsRemaining}} zájmy","INTRO_TASTE_PICK_MORE":"Vyberte {{interestsRemaining}} dalších zájmů","INTRO_TASTE_HELP_US":"Pomozte nám dozvědět se o vás více.","INTRO_TASTE_CHOOSE_THESE":"Vyberte si některé z nich:","INTRO_TASTE_CHOOSE_MIN":"Vyberte alespoň 3 kategorie","INTRO_TASTE_CHOOSE_MIN_ERR":"Musíte vybrat alespoň 3 kategorie!","INTRO_TASTE_LIFESTYLE":"Životní styl","INTRO_TASTE_SPORTS":"Sporty","INTRO_TASTE_FOOD_HEALTH":"Jídlo a zdraví","INTRO_TASTE_BEAUTY_FASHION":"Krása a móda","INTRO_TASTE_NEWS":"Novinky","INTRO_TASTE_GAMING":"Hry","INTRO_TASTE_SCIENCE_EDU":"Věda a vzdělávání","INTRO_TASTE_MUSIC":"Hudba","INTRO_TASTE_TRAVEL":"Cestování","INTRO_TASTE_LATE_NIGHT":"Pozdní noční show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedie","INTRO_TASTE_DIY":"Kutilství","INTRO_TASTE_TECH":"Technologie","INTRO_TASTE_CINEMA":"Kino","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Vybraný doplněk není na této platformě podporován.","ADDON_DISCLAIMER":"Používání doplňků třetích stran vždy podléhá vaší odpovědnosti a právním předpisům jurisdikce, ve které se nacházíte.","ADDON_ACTIVATE":"Aktivovat tento doplněk?","ADDON_REPO_ADD":"Adresa URL sbírky doplňků","ADDON_ADD":"Přidat","INSTALL_ADDON":"Instalovat doplněk","ADD_ADDON":"Přidat doplněk","ADD_ADDON_DESCRIPTION":"Nyní můžete přidat doplněk skrze externí odkaz, který se objeví pod nainstalovaným doplňkem.","PASTE_ADDON_URL":"Vložte URL adresu doplňku","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Co je nového","BUTTON_CONTINUE":"Pokračovat","BUTTON_ACTIVATE":"Aktivovat","BUTTON_ACTIVATED":"Aktivovaný","BUTTON_CANCEL":"Zrušit","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Odeslat","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Odmítnout vše","BUTTON_VIEW_ALL":"zobrazit vše","BUTTON_SEE_ALL":"Zobrazit vše","BUTTON_COLOR_TRANSPARENT":"Průhledné","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Otevřít v prohlížeči","LIB_EMPTY":"Vaše knihovna vypadá prázdně. Zjistěte, jak je užitečná :)","HOW_START":"Zde je návod, jak začít:","LIB_EMPTY_CAL":"V kalendáři se zobrazují série ve vaší knihovně.","HOW_START_CAL":"Zde je návod, jak můžete přidávat série:","LIB_EMPTY_BOARD":"Tabule zobrazuje oznámení & doporučení týkající se vaší knihovny.","HOW_START_BOARD_WAIT":"Prosím, přidejte do své knihovny několik seriálů nebo kanálů a dejte nám pár minut na zpracování :)","HOW_START_BOARD":"Zde je návod, jak do něj můžete přidat seriály & filmy:","IMPORT_FB":"Import věcí, které se vám líbí, ze služby Facebook","IMPORT_TRAKT":"Import knihovny médií ze služby Trakt","IMPORT_DISCOVER":"Najděte zajímavé věci ze služby Discover","IMPORT_DISK":"Importovat filmy nebo pořady, které máte na místním disku","PLEASE_CREATE_ACC":" Vytvořte si účet, abyste mohli synchronizovat knihovnu a tabuli.","IMPORT_DISCOVER_SIGNUP":"Zaregistrujte se a najděte zajímavé věci z Discover","IMPORT_DISK_SIGNUP":"Zaregistrujte se a importujte filmy nebo pořady, které máte na místním disku","LIB_EMPTY_CLOUD":"Cloudová knihovna","LIB_EMPTY_CLOUD_DESC":"Osobní cloudová knihovna synchronizovaná na všech zařízeních","LIB_EMPTY_EARLY":"Ranní ptáče","LIB_EMPTY_EARLY_DESC":"Přijímání oznámení o nových epizodách","LIB_EMPTY_PERSONAL":"Osobní","LIB_EMPTY_PERSONAL_DESC":"Získejte osobní doporučení","LIB_EMPTY_CALENDAR_DESC":"Naplánujte si osobní kalendář sledování","LIB_EMPTY_ALL":"Zaregistrujte se a získejte je všechny:","LIB_EMPTY_BEST":"Zaregistrujte se a získejte to nejlepší ze Stremio","LIB_EMPTY_OTHER":"Zaregistrujte se a povolte Kalendář a další skvělé funkce","CALENDAR_ADDED":"Kalendář Stremio byl přidán do vašeho výchozího kalendáře na ploše.","CALENDAR_ADDED_MSG":"Pokud to nefunguje, přidejte tuto adresu URL do aplikace kalendáře ručně","TRAKT_EXPIRED":"Platnost ověření Traktu vypršela, přejděte prosím do Nastavení a znovu se ověřte","TRAKT_REQUIRES_LOGIN":"Chyba traktu","TRAKT_REQUIRES_LOGIN_MSG":"Musíte se přihlásit","TRAKT_IMPORT_WATCHED":"Importovat","THEME":"Vzhled","THEME_DEFAULT":"Výchozí","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Nastavení","SETTINGS_NAV_GENERAL":"Obecné","SETTINGS_NAV_PLAYER":"Přehravač","SETTINGS_NAV_STREAMING":"Streamování","SETTINGS_NAV_SHORTCUTS":"Zkratky","SETTINGS_SHORTCUT_RELOAD_APP":"Obnovit aplikaci","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Otevřít nastavení","SETTINGS_SHORTCUT_SWITCH_TABS":"Přepnout záložky","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Procházet záložky dopředu","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Procházet záložky dozadu","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigovat mezi nabídkami","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Přejít na vyhledávání","SETTINGS_SHORTCUT_EXIT_BACK":"Ukončit / Zpět","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Přepnout menu rychlosti přehrávání","SETTINGS_SHORTCUT_MENU_VIDEOS":"Přepnout menu videí","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Přepnout menu titulků","SETTINGS_SHORTCUT_MENU_AUDIO":"Přepnout menu zvuku","SETTINGS_SHORTCUT_MENU_INFO":"Přepnout menu informací","SETTINGS_SHORTCUT_FULLSCREEN":"Přepnout na celou obrazovku","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Zobrazit ovládací prvky","SETTINGS_SHORTCUT_PLAY_PAUSE":"Přehrát / Pozastavit","SETTINGS_SHORTCUT_VOLUME_UP":"Zvýšit hlasitost","SETTINGS_SHORTCUT_VOLUME_DOWN":"Snížit hlasitost","SETTINGS_SHORTCUT_SEEK_NEXT":"Hledat další","SETTINGS_SHORTCUT_SEEK_PREV":"Hledat předchozí","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Hledat dozadu","SETTINGS_SHORTCUT_SEEK_FORWARD":"Hledat vpřed","SETTINGS_SHORTCUT_PLAY_NEXT":"Přehrát další","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Zvětšit titulky","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Zmenšit titulky","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Zvýšit zpoždění titulků","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Snížit zpoždění titulků","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Přepnout postranní panel","SETTINGS_SHORTCUT_OR":"nebo","SETTINGS_SHORTCUT_TO":"až","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Mezerník","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autentifikovat","SETTINGS_FACEBOOK_IMPORT":"Importovat","SETTINGS_CALENDAR_SUBSCRIBE":"Přihlásit se k odběru","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Aplikace kalendáře byla otevřena. Přidejte kalendář manuáně.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Soubor kalendáře byl stažen. Přidejte kalendář manuálně.","SETTINGS_INTERFACE_LANGUAGE":"Jazyk uživatelského rozhraní","SETTINGS_LAUNCH_STARTUP":"Spustit při spuštění","SETTINGS_VLC_DEFAULT":"Přehrát pomocí VLC","SETTINGS_UI_LANGUAGE":"Jazyk uživatelského rozhraní","SETTINGS_UI_ZOOM":"Přiblížení rozhraní","SETTINGS_FULLSCREEN_EXIT":"Klávesa ESC ukončí celou obrazovku","SETTINGS_GAMEPAD":"Povolení podpory gamepadu","SETTINGS_CLOSE_WINDOW":"Zavření aplikace při zavření okna","SETTINGS_SUBTITLES_LANGUAGE":"Výchozí jazyk titulků","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Sekundární jazyk titulků","SETTINGS_SUBTITLES_SIZE":"Výchozí velikost titulků","SETTINGS_SUBTITLES_BACKGROUND":"Pozadí titulků","SETTINGS_SUBTITLES_COLOR":"Barva titulků","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Barva obrysu titulků","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Barva pozadí titulků","SETTINGS_SEEK_KEY":"Klávesy se šipkami vyhledaávají čas","SETTINGS_SEEK_KEY_SHIFT":"Klávesy se šipkami vyhledaávají čas při podržení klávesy Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Délka přetáčení vpřed a vzad","SETTINGS_BINGE":"Automatické přehrávání další epizody","SETTINGS_NEXT_VIDEO":"Upozornění na spuštění další epizody","SETTINGS_NEXT_VIDEO_TRIGGER":"Zobrazit upozornění na další epizodu:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Doba zobrazení upozornění na další video","SETTINGS_PLAY_IN_BACKGROUND":"Přehrát na pozadí","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Spustit v externím přehrávači","SETTINGS_RESIZE":"Automatická změna velikosti okna před přehráváním","SETTINGS_OVERRIDE_SERVER":"Přepsání adresy URL streamovacího serveru (pro pokročilé)","SETTINGS_SERVER_ADD_URL":"Přidat URL","SETTINGS_SERVER_URL":"Adresa URL streamovacího serveru","SETTINGS_SERVER_AVAILABLE":"Streamovací server je k dispozici.","SETTINGS_SERVER_UNAVAILABLE":"Streamovací server není k dispozici.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Nastavení URL streamovacího serveru","SETTINGS_SERVER_CONFIGURE_INPUT":"Zadejte adresu URL streamovacího serveru","SETTINGS_SERVER_CACHE_SIZE":"Velikost mezipaměti","SETTINGS_SERVER_TORRENT_PROFILE":"Profil torrentu","SETTINGS_HTTPS_ENDPOINT":"Koncový bod HTTPS pro streamování","SETTINGS_TRANSCODE_PROFILE":"Profil transkódování","SETTINGS_USE_BETA":"Vždy používejte nejnovější betaverzi","SETTINGS_IMPORT_FB":"Import ze služby Facebook","SETTINGS_IMPORT_DISK":"Import z místního disku","SETTINGS_IMPORT_TRAKT":"Import ze služby Trakt","SETTINGS_PAUSE_MINIMIZED":"Pozastavení přehrávání při minimalizaci","SETTINGS_HWDEC":"Hardwarově akcelerované dekódování","SETTINGS_BACKGROUND":"Přehrávání na pozadí","SETTINGS_SUBSCRIBE_CALENDAR":"Přihlásit se k odběru kalendáře","SETTINGS_REQ_EXPORT":"Žádost o export dat","SETTINGS_ACC_DELETE":"Žádost o odstranění účtu","SETTINGS_CHANGE_PASSWORD":"Změnit heslo","SETTINGS_TOS":"Podmínky služby","SETTINGS_SUPPORT":"Kontaktovat podporu","SETTING_LANGUAGE":"Jazyk","SETTINGS_BLUR_UNWATCHED_IMAGE":"Rozmazat neshlédnuté epizody","SETTINGS_QUIT_ON_CLOSE":"Vypnout aplikaci při zavření okna","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Přihlásit se znovu","SETTINGS_TRAKT_LOGOUT":"Odhlášení z Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Odhlášení z Trakt","SETTINGS_SCAN_FOR_REMOTE":"Naskenujte QR kód pro otevření dálkového ovládání","SETTINGS_DESKTOP_NOTIFICATIONS":"Oznámení na ploše","SETTINGS_DATA_SAVER":"Spořič dat","SETTINGS_LANGUAGE_INTERFACE":"rozhraní","SETTINGS_LANGUAGE_SUBS":"výchozí titulky","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Automatický výběr zvukové stopy","SETTINGS_DEFAULT_AUDIO_TRACK":"Výchozí zvuková stopa","SETTINGS_SECONDARY_AUDIO_TRACK":"Sekundární zvuková stopa","SETTINGS_SURROUND_SOUND":"Prostorový zvuk","SETTINGS_ACCOUNT":"účet","SETTINGS_PLATFORM":"Platforma","SETTINGS_VERSION":"verze","SETTINGS_ABOUT":"O aplikaci","SETTINGS_MPV_WINDOW":"Spuštění přehrávače v samostatném okně (pokročilé)","SETTINGS_PLAY_IN_EXTERNAL":"Vždy spustit video v externím přehrávači","SETTINGS_STORAGE_BUTTON":"Vymazat lokální mezipaměť","SETTINGS_STORAGE_MODAL_TITLE":"Jste si jisti?","SETTINGS_STORAGE_MODAL_MESSAGE":"Tato akce odstraní lokální mezipaměť a odhlásí Vás","SETTINGS_HWDEC_PICKER":"Vyberte nastavení hardwarově akcelerovaného dekódování","SETTINGS_HW_AUTOMATIC":"Automaticky","SETTINGS_HW_DISABLED":"Vypnuto","SETTINGS_HW_ACCELERATED":"Akcelerace dekódování","SETTINGS_HW_FULL":"Plná akcelerace","SETTINGS_HW_LEGACY":"Zastaralá","SETTINGS_DISABLED":"Vypnuto","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Zásady ochrany osobních údajů","MOBILE_CRASH_REPORTING":"Hlášení pádů aplikace","MOBILE_ZOOM_TO_FILL":"Vyplnit","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Běh při nízkém nabití","MOBILE_RUN_FOREGROUND":"Běh na pozadí","MOBILE_PERFORMANCE":"VÝKON","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Odejít","CONNECTED":"Připojeno","AUTHENTICATE":"Ověřit","AUTHENTICATING":"Authenticating...","CACHING":"Mezipaměť","SETTINGS_CACHING_DRIVE":"Jednotka mezipaměti","ENABLE_LOCAL_FILES_ADDON":"Povolení doplňku pro místní soubory (vyžaduje restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Povolení vzdálených připojení HTTPS","TORRENT_PROFILE":"Profil Torrent","DATA_CACHING":"Ukládání dat do mezipaměti","MAGNET_PARSING":"Rozbor odkazu magnetu","January":"Leden","February":"Únor","March":"Březen","April":"Duben","May":"Květen","June":"Červen","July":"Červenec","August":"Srpen","September":"Září","October":"Říjen","November":"Listopad","December":"Prosinec","Monday":"Pondělí","Tuesday":"Úterý","Wednesday":"Středa","Thursday":"Čtvrtek","Friday":"Pátek","Saturday":"Sobota","Sunday":"Neděle","Action":"Akce","Comedy":"Komedie","War":"Válka","Family":"Rodina","Animation":"Animace","Adventure":"Dobroudružná hra","Fantasy":"Fantasy","Crime":"Zločin","Mystery":"Záhada","Romance":"Romantické","Drama":"Drama","Horror":"Horory","Thriller":"Thriller","Sci-Fi":"Sci-fi","Music":"Hudba","Biography":"Životopis","Documentary":"Dokumentární film","Sport":"Sport","Musical":"Hudební","Western":"Západní","Film-Noir":"Film-noir","News":"Novinky","History":"Historie","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film a zábava","Gaming":"Hry","From TV":"Z televize","Lifestyle":"Životní styl","Science & Education":"Věda a vzdělávání","Cooking & Health":"Vaření a zdraví","Beauty & Fashion":"Krása a móda","Sports":"Sporty","News & Politics":"Zprávy a politika","How-to & DIY":"Jak na to & Udělej si sám","Tech":"Tech","Automotive":"Automobilový průmysl","Causes & Non-Profits":"Kauzy a neziskové organizace","Movies":"Filmy","Uk Live Tv":"Spojené království Živá televize","Fashion":"Móda","Business News Radio":"Business News Radio","Business Tv":"Obchodní televize","Cars & Auto":"Automobily a auta","Comedy Radio":"Komediální rádio","Lifestyle Radio":"Rádio životního stylu","News Tv":"Zpravodajská televize","Food And Wine":"Jídlo a víno","Latino Tv":"Latinskoamerická televize","Shopping Tv":"Nákupní televize","Religion":"Náboženství","Kids":"Děti","Body & Soul":"Tělo a duše","Education":"Vzdělání","Indian Tv":"Indická televize","Extreme Sports":"Extrémní sporty","Middle Eastern Tv":"Blízkovýchodní televize","Celebrity Tv":"Celebrity Tv","Science Tv":"Vědecká televize","Bikini babe":"Kočka v bikinách","Outdoors":"Venku","German Tv":"Německá televize","French Tv":"Francouzská televize","Italian Tv":"Italská televize","Gamer Tv":"Gamer Tv","Travel":"Cestovní kancelář","Asian Tv":"Asijská televize","Entertainment":"Zábava","News Radio":"Zpravodajské rádio","Music Radio":"Hudební rádio","Language Learning":"Výuka jazyků","Science Radio":"Vědecké rádio","Tech Radio":"Tech Radio","Science & Technology Vod":"Věda a technika Vod","new video":"nové video","new episode":"nová epizoda","new movie":"nový film","recommended":"doporučené","we recommend":"doporučujeme","offer of the day":"nabídka dne","news":"novinky","music video":"hudební video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Odmítnutí oznámení","CTX_DISMISS_ALL":"Odmítnout všechny","CTX_SHARE":"Sdílet","CTX_COPY_SHARE_LINK":"Kopírovat odkaz na sdílení","CTX_COPY_MAGNET_LINK":"Kopírovat odkaz na magnet","CTX_COPY_STREAM_LINK":"Kopírovat odkaz na stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Stáhněte si toto video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Zobrazit","CTX_PLAY":"Přehrát","CTX_PLAY_IN":"Přehrát v","CTX_PLAY_ON":"Přehrát na","CTX_WATCH_ON":"Sledujte na","CTX_WATCH":"Sledovat","CTX_WATCHED":"Sledováno","CTX_WATCH_BEGINNING":"Sledujte od začátku","CTX_WATCH_MOBILE":"Sledování na mobilním zařízení","CTX_REWIND":"Přetočení na začátek","CTX_MARK_WATCHED":"Označit jako sledované","CTX_MARK_NON_WATCHED":"Označit jako nesledované","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Zbytek označte jako sledovaný","CTX_UNMARK_REST":"Zbytek označte jako nesledovaný","CTX_RECEIVE_NEW_NOTIF":"Přijímání nových oznámení","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Odstranění z mezipaměti","CTX_REMOVE_CACHE_EP":"Odstranění epizody z mezipaměti","CTX_OPEN_CONTAINING":"Otevřít složku obsahující","CTX_REMOVE":"Odebrat z knihovny","CTX_AVAILABLE_OFFLINE":"Dostupné offline","CTX_PAUSED":"Pozastaveno","CTX_ALWAYS_ON_TOP":"Vždy na vrcholu","CTX_FULLSCREEN":"Celá obrazovka","CTX_WRONG_SUBS":"Špatné titulky?","CTX_REPORT_ISSUES":"Nahlásit problém","CTX_COPY":"Kopírovat","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Vložit","CTX_CLEAR":"Vymazat","CTX_CLEAR_RECENT_SEARCHES":"Vymazat poslední vyhledávání","HELLO_THERE":"Dobrý den","HOPE_YOU_ENJOY":"Doufáme, že se vám Stremio bude líbit a že se stane jednou z vašich oblíbených aplikací!","WHO_ARE_WE":"Kdo jsme? Jsme tým, který za tím stojí - dva kluci, kteří už tři roky každý den tvrdě pracují na tom, aby byl tento produkt stále lepší a lepší.","SUPPORT_US":"Pokud se vám Stremio líbí, pokud je pro vás Stremio přínosné - šiřte tuto informaci dál!","SPREAD_THE_WORD":"Sdílejte se svými přáteli, rozšiřte informace o Stremiu","MORE_PEOPLE":"Čím více lidí bude Stremio používat, tím lepší bude!","SEND_A_LINK":"Nebo pošlete odkaz na naše webové stránky","TIP_LOCALFILES":"Tip: do aplikace Stremio můžete přetáhnout místní video soubory","ADDON_MY":"Moje doplňky","ADDON_COMMUNITY":"Doplňky komunity","ADDON_OFFICIAL":"Oficiální doplňky","ADDON_REPOS":"Sbírky doplňků","ADDON_SEARCH":"Vyhledávání doplňků","ADDON_INSTALL":"Instalovat","ADDON_CONFIGURE":"Konfigurovat","ADDON_UNINSTALL":"Odinstalovat","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Nainstalováno","ADDON_INSTALLED_MSG":"Addon nainstalován!","ADDON_UPGRADED_MSG":"Addon upgradován!","ADDON_UNKNOWN":"Neznámý","ADDON_ERR":"Chyba při instalaci doplňku!","ADDON_DISCONNECTED":"Odpojeno","ADDON_APP_MISSING":"aplikace pro tento zdroj není nainstalována. Chcete ji nyní nainstalovat?","ADDON_APP_INSTALL":"Nainstalovat nyní","ADDON_PAGE":"Stránka doplňku","ADDON_TOP_CONTENT":"To nejlepší z tohoto doplňku","ADDON_PROVIDES":"Tento doplněk vám poskytne:","ADDON_WATCH":"Sledujte #{types} nyní!","ADDON_WATCH_FREE":"Sledujte #{types} nyní ZDARMA!","ADDON_ADDON":"Doplněk","ADDON_SUPPORTED_TYPES":"Podporované typy","ADDON_SUPPORTED_CATALOGS":"Podporované katalogy","ADDON_PROVIDES_DISCOVER":"Další #{types} v aplikaci Discover","ADDON_PROVIDES_STREAMS":"Sledujte #{types}","ADDON_PROVIDES_STREAMS_FREE":"Sledujte #{types} ZDARMA","ADDON_PROVIDES_SUBTITLES":"Titulky pro #{types}","ADDON_CANTDETECT":"Nepodařilo se nám zjistit spuštěné Stremio, takže jsme nemohli zjistit, jaké máte nainstalované doplňky.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"O tomto nebyly nalezeny žádné informace","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Chyba při načítání informací o tomto.","ERR_CANT_PARSE_MAGNET":"Nelze analyzovat magnet","ERR_NO_MAGNET_INFOHASH":"Žádný platný informační hash pro magnet","ERR_NO_FILE_PATH":"Nelze odeslat požadavek bez cesty k souboru","ERR_NO_TORRENT":"Žádný torrent se nevrátil","ERR_NO_SUPPORTERD_FILES":"Nebyly nalezeny žádné podporované soubory","ERR_OPENING_FILES":"Nelze otevřít externí soubory","ERR_INVALID_LINK":"Neplatný odkaz","ERR_REGISTERED_ONLY":"Tato možnost je k dispozici pouze pro registrované uživatele.","ERR_CLIPBOARD":"Nelze přehrávat ze schránky","ERR_CLIPBOARD_READ":"Na této platformě nelze číst schránku","ERR_CLIPBOARD_GENERIC":"Ve schránce nebyla nalezena žádná přehrávatelná adresa URL. Zkopírujte prosím adresu URL (např. odkaz na magnet) na video.","BOARD_CONTINUE_WATCHING":"Pokračovat ve sledování","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmy vybrané speciálně pro vás.
    Tento film je ukázkovým doporučením.","BOARD_EXPLANATION_EPISODES":"Zde se objevují nové epizody vašich oblíbených seriálů.
    Přidejte si sledované seriály do své knihovny.","BOARD_EXPLANATION_VIDEOS":"Zde se objevují nové epizody vašich oblíbených kanálů.
    Přidejte si sledované kanály YouTube do své knihovny.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Sledujte okamžitě","WEBSITE_SLOGAN_ALL":"Veškerý videoobsah, který si užíváte, na jednom místě","WEBSITE_SLOGAN_NEW":"Vše, co můžete sledovat","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Sledujte od","WEBSITE_DOWNLOAD":"Stáhnout nyní","WEBSITE_DOWNLOAD_FOR":"Stáhnout nyní pro","WEBSITE_IS_DESKTOP":"Stremio je aplikace pro stolní počítače, otevřete tuto stránku v počítači a stáhněte si ji","WEBSITE_DESKTOP_DEMO_VID":"Demonstrační verze pro stolní počítače","WEBSITE_PAGE_HOME":"Domů","WEBSITE_PAGE_FEATURES":"Vlastnosti","WEBSITE_PAGE_ADDONS":"Doplňky","WEBSITE_PAGE_TECH":"Technologie","WEBSITE_PAGE_CREATE_ADDON":"Vytvořit doplněk","WEBSITE_PAGE_CONTACTS":"Kontakty","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmy","WEBSITE_TYPE_series_PL":"Seriály","WEBSITE_TYPE_tv":"Živý televizní přenos","WEBSITE_TYPE_channel":"Kanály","WEBSITE_STREMIO_WHAT_IS":"Stremio je aplikace, která vám pomůže uspořádat a okamžitě sledovat vaše oblíbená videa, filmy, seriály a televizní kanály.","WEBSITE_FEATURES_WATCH":"Sledujte okamžitě v HD","WEBSITE_FEATURES_WATCH_DETAIL":"Klikněte a přehrávejte své oblíbené filmy, televizní pořady, videa a televizní kanály.","WEBSITE_FEATURES_SUBS":"Automatické titulky","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automaticky vybere synchronizované titulky pro váš jazyk.","WEBSITE_FEATURES_SUBS_LABEL":"Váš tah, šéfe.","WEBSITE_FEATURES_CAST":"Přehrávání na televizoru a mobilních zařízeních","WEBSITE_FEATURES_CAST_DETAIL":"Cast na AppleTV, Chromecast, Smart TV (DLNA/UPnP) a mobilní zařízení.","WEBSITE_LIB":"Užívejte si svou osobní knihovnu synchronizovanou na všech zařízeních","WEBSITE_LIB_COLLECT":"Sbírat od Stremio","WEBSITE_LIB_IMPORT":"Import ze služby Facebook","WEBSITE_LIB_LOCAL":"Přidání z místní jednotky","WEBSITE_BOARD":"Rada - Vaše jediné místo pro oznámení a doporučení","WEBSITE_BOARD_RECOMMEND":"Doporučený televizní pořad","WEBSITE_BOARD_TRENDING":"Trendy film","WEBSITE_BOARD_NEW":"Nové video","WEBSITE_BOARD_EPISODE":"Nová epizoda","WEBSITE_BOARD_1":"Hledáte něco zajímavého ke sledování? Získejte doporučení podle svého vkusu!","WEBSITE_BOARD_2":"Nechte se upozornit na nový díl svého oblíbeného televizního pořadu nebo kanálu YouTube!","WEBSITE_BOARD_YOUTUBE":"Nová videa kanálů YouTube","WEBSITE_BOARD_EPISODES":"Nové epizody seriálů, které sledujete","WEBSITE_ADDONS":"Doplňky obsahu","WEBSITE_TECH_DETAIL":"Milujeme technologie, milujeme šílenou vědu!\\nStremio používá následující open source technologie:","WEBSITE_TECH_WCJS":"WebChimera.js umožňuje službě Stremio přehrávat jakýkoli formát videa s dobrým výkonem.","WEBSITE_TECH_WCJS_EXTRA":"Jsme hlavními přispěvateli projektu","WEBSITE_TECH_ELECTRON":"Electron poskytuje inovativní platformu, na které lze vytvořit Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Jsme přispěvatelé projektu","WEBSITE_TECH_LINVODB":"Databázová technologie, která zajišťuje, že vaše data jsou uspořádaná a dostupná kdekoli, kde se přihlásíte.","WEBSITE_TECH_LINVODB_EXTRA":"Vlastní technologie","WEBSITE_CREATE_ADDON":"Vytvoření doplňku","WEBSITE_CREATE_ADDON_DETAIL":"Máte službu poskytující videoobsah? Pomůžeme vám využít funkce Stremio vytvořením vašeho doplňku.","WEBSITE_CREATE_ADDON_BENEFITS":"Výhody vytvoření doplňku pro Stremio","WEBSITE_P2P_BEAUTY":"Krása peer-to-peer streamování","WEBSITE_P2P_1":"Spolehlivé a cenově dostupné video v rozlišení Full HD / 4K na vyžádání nebo živé vysílání","WEBSITE_P2P_2":"Distribuční platforma poskytující skvělý uživatelský zážitek","WEBSITE_P2P_3":"Vytvoříme doplněk, který bude přesně odpovídat vašim potřebám","WEBSITE_P2P_CONTACT":"Máte zájem? Můžete nás kontaktovat.","WEBSITE_P2P_CONTACT_EXTRA":"Rádi vám pomůžeme s integrací vašeho obsahu do služby Stremio!","WEBSITE_P2P":"Jednou za čas se objeví technologie, která změní název hry. Investovali jsme spoustu času a úsilí do vytvoření našeho enginu pro streamování videa P2P (Peer-to-Peer), který poskytuje skvělý výkon a všestrannost, aby se přizpůsobil jakémukoli případu použití.\\nKontaktujte nás pro P2P video na vyžádání nebo živé streamování s podporou DRM.","WEBSITE_THOUGHTS":"Myšlenky, které sdílíme:","WEBSITE_SPREAD":"Šíření informací o Stremio:","WEBSITE_CONTACT":"Kontaktujte nás, budeme rádi, když se nám ozvete!","WEBSITE_OPENSOURCE":"Naše projekty s otevřeným zdrojovým kódem naleznete na adrese","WEBSITE_BITCOIN":"Darujte bitcoin:","WEBSITE_FAQ":"Nejčastější dotazy","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Otázky","WEBSITE_TOS":"Podmínky použití","WEBSITE_LEGAL":"Právo","WEBSITE_PAGE_ABOUT":"O nás","WEBSITE_PAGE_BECOME_PARTNER":"Staňte se partnerem","WEBSITE_ALL_YOU_CAN_WATCH":"Svoboda sledování\\nVše, co chcete.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Co je stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio je komplexní centrum pro agregaci video obsahu. Objevujte, organizujte a sledujte videa ze všech zdrojů na jakémkoli zařízení, které vlastníte.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmy, televizní pořady, seriály, živé televizní vysílání nebo webové kanály jako YouTube a Twitch.tv - to vše najdete na Stremiu.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio je moderní multimediální centrum, které představuje komplexní řešení pro vaši videozábavu. Objevujete, sledujete a organizujete videoobsah ze snadno instalovatelných doplňků.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmy, televizní pořady, živé vysílání nebo webové kanály - to vše najdete na Stremiu.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Užívejte si na všech svých multimediálních zařízeních","WEBSITE_DEVICES_COLLECT":"Sbírat od Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import z facebooku","WEBSITE_DEVICES_LOCAL":"Přidání z místní jednotky","WEBSITE_JOIN_THE_PARTY_NOW":"Připojte se k večírku nyní","WEBSITE_DEVICES_ALL":"Snadné použití na všech zařízeních;","WEBSITE_EXTENDABLE_CATALOG":"Nekonečně rozšiřitelný katalog videa;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Skvělé funkce pro organizaci médií;","WEBSITE_AS_SEEN_ON":"Neviděno","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"O nás","WEBSITE_LINK_TECHNOLOGY":"Technologie","WEBSITE_LINK_APPS":"Aplikace","WEBSITE_LINK_DOWNLOADS":"Stahování","WEBSITE_MORE":"Více","WEBSITE_LINK_ADDONS":"Doplňky","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Přispět","WEBSITE_LINK_COMMUNITY":"Komunita","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"Dnes již máte procvičeno. Buď přidejte více karet, nebo začněte znovu zítra.","WEBSITE_LINK_HELP":"Centrum nápovědy","WEBSITE_LINK_CONTACTS":"Obchodní dotazy","WEBSITE_LINK_TOS":"Podmínky a pravidla","WEBSITE_LINK_PRAVACY":"Zásady ochrany osobních údajů","WEBSITE_SUBSCRIBE":"Odebírat","WEBSITE_NEWSLETTER":"Připojte se k našemu zpravodaji pro úžasné věci","WEBSITE_PLACEHOLDER_EMAIL":"Váš e-mail","WEBSITE_COMMUNITY":"Komunita","WEBSITE_LINK_PRAVACY_LEGAL":"Ochrana soukromí a právní předpisy","WEBSITE_WHY":"Proč to děláme","WEBSITE_WHY_P1":"Ve Stremio chodíme každý den do práce, protože chceme vyřešit důležitý problém pro odvětví videa na vyžádání. Každou minutu je zveřejněno tolik nového obsahu, že je prakticky nemožné se v něm zorientovat.","WEBSITE_WHY_P2":"Pomáháme lidem orientovat se v obrovském světě video zábavy a objevovat nový obsah. Naše aplikace sdružují filmy, seriály, živé televizní vysílání, webové kanály a další. Snažíme se uživatelům neuvěřitelně usnadnit vyhledávání oblíbených titulů a televizních stanic.","WEBSITE_WHY_P3":"Naši službu můžete používat na jakémkoli zařízení a kdykoli, takže Stremio je jediné centrum video zábavy, které kdy budete potřebovat.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"Tým Stremio je malý, ale výkonný: deset z nás programuje v X jazycích a sdílíme odborné znalosti v oblasti vývoje softwaru, designu uživatelského rozhraní a UX, marketingu a reklamy a podnikání a startupů.","WEBSITE_FEATURES":"Vlastnosti","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Snadné objevování nového obsahu","WEBSITE_FEATURES_DISCOVER_P":"Snadno objevujte nové filmy, televizní pořady, seriály a kanály ke sledování. Procházejte podle kategorie, žánru, hodnocení, oblíbenosti atd. nebo jednoduše zadejte název a vyhledejte. Se službou Stremio je vyhledávání nového videoobsahu hračka.","WEBSITE_FEATURES_ALL_CONTENT":"Veškerý video obsah na jedné obrazovce","WEBSITE_FEATURES_ALL_CONTENT_P1":"Podívejte se, které filmy, seriály nebo videa jste nedokoukali, a pokračujte v jejich sledování, nechte si posílat upozornění na nové epizody a novinky a procházejte doporučení, která dostanete na základě svých diváckých návyků.","WEBSITE_FEATURES_LIBRARY":"Uspořádejte svou knihovnu videí","WEBSITE_FEATURES_LIBRARY_P1":"Jedním kliknutím přidáte do knihovny Stremio libovolný titul a můžete se orientovat v obsahu, který je přehledně uspořádán podle typu, aktuálnosti nebo abecedního pořadí.","WEBSITE_FEATURES_CALENDAR":"Sledujte vše, co sledujete","WEBSITE_FEATURES_CALENDAR_P1":"Získejte vizualizaci všech filmů a seriálů, které přidáte do své knihovny, v kalendáři. Exportujte svůj kalendář Stremio a synchronizujte jej, abyste vždy věděli, kdy se má objevit nová epizoda nebo premiéra.","WEBSITE_FEATURES_BIG_SCREEN":"Vychutnejte si video obsah na větší obrazovce","WEBSITE_FEATURES_BIG_SCREEN_P1":"Jediným kliknutím můžete přehrát cokoli, co sledujete, do jiného zařízení - telefonu, tabletu nebo televizoru.","WEBSITE_FEATURES_SOURCES":"Sledování videí z mnoha různých zdrojů","WEBSITE_FEATURES_SOURCES_P":"Nainstalujte si oficiální a komunitní doplňky, abyste si mohli vychutnat videa od mnoha různých poskytovatelů - to vše v jedné elegantní a snadno použitelné aplikaci.","WEBSITE_CREATE_AN_ADDON":"Vytvoření doplňku","WEBSITE_FEATURES_SYNC":"Synchronizace knihovny mezi různými zařízeními a obnovení přehrávání","WEBSITE_FEATURES_SYNC_P1":"Přihlaste se pomocí svého účtu do všech zařízení a užívejte si synchronizovanou knihovnu, doplňky, přehrávání a kalendář.","WEBSITE_FEATURES_EXTENDABLE":"Rozšiřitelný katalog videí pomocí doplňků","WEBSITE_FEATURES_EXTENDABLE_P1":"Katalog doplňků Stremio nabízí řadu doplňků, které si můžete nainstalovat a sledovat z nich nejrůznější videoobsah. Patří sem filmy, seriály, živé televizní vysílání, sport, zprávy, podcasty, webové kanály, videohry a další.","WEBSITE_FEATURES_AUTO_SUBS":"Automatické titulky","WEBSITE_FEATURES_AUTO_SUBS_P1":"S našimi doplňky titulků získáte automaticky vybrané možnosti pro preferovaný jazyk.","WEBSITE_FEATURES_CHROMECAST":"Casting do Chromecastu","WEBSITE_FEATURES_CHROMECAST_P1":"Vychutnejte si videoobsah na větší obrazovce nebo jen přenášejte sledované video do jiného zařízení.","WEBSITE_FEATURES_KEEP_TRACK":"Sledování oblíbených televizních pořadů a webových kanálů","WEBSITE_FEATURES_KEEP_TRACK_P1":"Získejte vizualizaci kalendáře a upozornění na nové epizody oblíbených seriálů a webových kanálů.","WEBSITE_FEATURES_POWER_USER":"Funkce pro výkonné uživatele","WEBSITE_FEATURES_POWER_USER_P1":"Přehrávání v externím přehrávači","WEBSITE_FEATURES_POWER_USER_P2":"Přehrávání ze souboru torrent nebo odkazu magnet","WEBSITE_FEATURES_POWER_USER_P3":"Import do knihovny ze služby Facebook likes nebo z místního disku","WEBSITE_ADD_ONS":"Doplňky","WEBSITE_ADD_ONS_P1":"Veškerý videoobsah, který Stremio poskytuje, je získáván prostřednictvím systému doplňků - aplikace neobsahuje žádný obsah ani poskytovatele obsahu.","WEBSITE_ADD_ONS_P2":"K dispozici jsou dvě skupiny doplňků: oficiální a komunitní.","WEBSITE_ADD_ONS_P3":"Oficiální doplňky vyvíjí a hostuje Stremio, zatímco komunitní doplňky vytvářejí členové naší komunity, kteří je také hostují.","WEBSITE_ADDONS_OFFICIAL":"Oficiální doplňky","WEBSITE_ADDONS_WATCHUB":"Streamujte své oblíbené filmy, seriály a pořady od poskytovatelů, jako jsou iTunes, Hulu, Amazon a další britské/americké služby.","WEBSITE_ADDONS_YOUTUBE":"Sledujte své oblíbené kanály YouTube bez reklam a dostávejte upozornění na nové příspěvky od autorů, které sledujete.","WEBSITE_ADDONS_FILMON":"Sledujte živé televizní vysílání, filmy a sociální televizi zdarma. 600 televizních kanálů, 45 000 bezplatných filmů, dokumentů a další.","WEBSITE_ADDONS_OPENSUBTITLES":"Filmové a televizní titulky ve více jazycích, tisíce přeložených titulků nahraných každý den.","WEBSITE_ADDONS_COMMUNITY":"Doplňky komunity","WEBSITE_ADDONS_FILMON_VOD":"Sledujte video na vyžádání z Filmon.tv","WEBSITE_ADDONS_TWICH":"Sledujte živé přenosy z Twitch.tv - platformy pro streamování videa z e-sportů.","WEBSITE_ADDONS_VODO":"Sledujte nezávislé filmy zcela zdarma.","WEBSITE_ADDONS_NETFLIX":"Sledování filmů a webových seriálů Netflix.","WEBSITE_ADDONS_CREATE":"Vytvoření doplňku","WEBSITE_ADDONS_CREATE_P1":"Pokud chcete, můžete si vytvořit vlastní doplněk. Tímto způsobem můžete sobě i naší komunitě poskytnout přístup k novému videoobsahu a oslovit nové, cílené publikum milionů uživatelů po celém světě.","WEBSITE_ADDONS_START_CREATE":"Chcete-li začít, navštivte stránku Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Stahování","WEBSITE_DOWNLOADS_P1":"Pro optimální výkon doporučujeme používat nejnovější dostupnou verzi aplikací Stremio. Pokud však z nějakého důvodu chcete používat starší verzi, můžete si ji stáhnout zde.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio pro Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio pro macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio pro Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio pro Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio pro iOS (omezená verze)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Přispět","WEBSITE_CONTRIBUTE_P1":"Platforma Stremio má otevřený zdrojový kód a můžete snadno vytvořit doplněk pro obsah, který v současné době nemá zdrojový kód.","WEBSITE_CONTRIBUTE_WHY":"Proč byste si měli vytvořit doplněk?","WEBSITE_CONTRIBUTE_WHY_P1":"Oslovte nové publikum pro svůj video obsah","WEBSITE_CONTRIBUTE_WHY_P2":"Uživatelská základna Stremio rychle roste - během prvního roku od spuštění získalo Stremio 1 milion uživatelů po celém světě a ve druhém roce existence platformy se jejich počet zvýšil na 2,5 milionu.","WEBSITE_CONTRIBUTE_WHY_P3":"S vaším doplňkem můžete toto publikum snadno oslovit a distribuovat mu svůj videoobsah.","WEBSITE_CONTRIBUTE_ALL":"Sledujte své oblíbené filmy, videa, seriály a kanály na jednom místě.","WEBSITE_CONTRIBUTE_ALL_P1":"Jste fanouškem určitého typu obsahu, který zatím není na Stremiu k dispozici? Vytvořte si pro něj doplněk a užijte si sledování oblíbených videí v jednom z největších a nejsnadněji použitelných zábavních center na trhu.","WEBSITE_CONTRIBUTE_ALL_P2":"Kromě toho získáte nekonečnou vděčnost dalších podobně smýšlejících členů komunity Stremio.","WEBSITE_CONTRIBUTE_MONETIZE":"Zpeněžujte svůj doplněk a vydělávejte peníze s jeho pomocí","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Jakmile vyvinete nový doplněk pro Stremio, můžete jej snadno zpeněžit několika různými způsoby. Pokud o tom uvažujete, neváhejte nás kontaktovat na adrese","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - rádi s vámi zkonzultujeme možnosti zpeněžení doplňků a poradíme vám.","WEBSITE_CONTRIBUTE_TRANSLATE":"Staňte se dobrovolným překladatelem","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Pokud chcete využívat aplikace Stremio v různých jazycích, můžete se připojit k naší komunitě dobrovolných překladatelů. Ti nám pomáhají přidávat verze aplikace Stremio v mnoha různých jazycích.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Máte chuť začít?","WEBSITE_TRANSALTE_STREMIO":"Přeložit Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Oficiální komunity","WEBSITE_COMMUNITY_OFFICIALS_P1":"Staňte se součástí rostoucí komunity Stremio. Sledujte nás na sociálních sítích a nestyďte se nás pozdravit - rádi se ozýváme našim fanouškům!","WEBSITE_COMMUNITY_UNOFFICIALS":"Neoficiální komunity","STREMIO_COMMUNITY_NL":"Stremio Nizozemsko","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Německo","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgie","STREMIO_COMMUNITY_FRANCE":"Stremio Francie","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugalsko","STREMIO_COMMUNITY_ITALY":"Stremio Itálie","STREMIO_COMMUNITY_UK":"Stremio Česká republika","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexiko","STREMIO_COMMUNITY_ADDONS":"Doplňky Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Úžasné Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partneři a podporovatelé","WEBSITE_COMMUNITY_GOODIES":"Stremio dobroty","WEBSITE_COMMUNITY_WALLPAPERS":"Tapety na plochu","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Kontaktujte nás","WEBSITE_CONTACT_US_P1":"Máte-li jakékoli dotazy, připomínky nebo návrhy, neváhejte nás kontaktovat prostřednictvím níže uvedeného kontaktního formuláře.","WEBSITE_CONTACT_US_P2":"Mějte na paměti, že se nacházíme v Bulharsku, takže může dojít ke zpoždění při řešení vašeho dotazu kvůli rozdílům v časových pásmech.","WEBSITE_CONTACT_US_SUCCESS":"Vaše zpráva byla odeslána. Ozveme se vám v nejbližším možném termínu.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Zadejte prosím platný e-mail!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Čeho se vaše otázka týká?","WEBSITE_CONTACT_US_Q_OS":"Jaký je váš operační systém?","WEBSITE_CONTACT_US_PH_EMAIL":"Váš e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Zpráva","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ODESLAT","WEBSITE_CONTACT_US_Q_1":"Jak nainstalovat?","WEBSITE_CONTACT_US_Q_2":"Jak odinstalovat?","WEBSITE_CONTACT_US_Q_3":"(HTML) Jak připravit lasagne?","WEBSITE_CONTACT_US_Q_4":"Doplňky","WEBSITE_CONTACT_US_OS_1":"Umístěním databáze na síťovou jednotku je ve Windows zakázáno, aby se předešlo poškození dat. Mnemosyne bude nyní uzavřeno.","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technologie","WEBSITE_TECHNOLOGY_P1":"
    Milujeme technologie a bláznivou vědu.
    Tady je to, co pohání Stremio (vše je open-source).","WEBSITE_TECHNOLOGY_P_QT":"Vývoj softwaru napříč platformami v té nejlepší podobě.","WEBSITE_TECHNOLOGY_P_MPV":"Bezplatný multiplatformní přehrávač médií s otevřeným zdrojovým kódem.","WEBSITE_TECHNOLOGY_P_RN":"React Native umožňuje vytvářet mobilní aplikace pouze pomocí JavaScriptu.","WEBSITE_TECHNOLOGY_P_VLC":"Mediální rámec vložený do aplikace pro získání multimédií.","WEBSITE_TECHNOLOGY_P_REALM":"Realm je mobilní platforma a náhrada SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js je open-source, multiplatformní běhové prostředí jazyka JavaScript.","WEBSITE_TECHNOLOGY_P_RUST":"Rust je multiparadigmatický systémový programovací jazyk zaměřený na bezpečnost, zejména na bezpečnou souběžnost.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Přispět k projektu","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Existují dva způsoby, jak můžete přispět na Stremio a pomoci nám produkt ještě vylepšit.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Své cenné jazykové znalosti můžete věnovat překladu platformy...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"nebo","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... můžete využít své programátorské dovednosti při vytváření komunitních doplňků","WEBSITE_TRANSLATE_STREMIO":"Přeložit Stremio","WEBSITE_404_OH_NO":"Uh-oh! Hledaná stránka se zde nenachází...","WEBSITE_GO_HOME":"Jít domů","WEBSITE_LINK_OTHER_DOWNLOADS":"Ostatní soubory ke stažení","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Podpora","WEBSITE_DOWNLOAD_4_0_BETA":"Stáhněte si Stremio 4 beta nyní","WEBSITE_GET_FOR_DESKTOP":"Získat pro stolní počítače","WEBSITE_LINK_ADDON_COMPETITION":"Soutěž o doplněk","WEBSITE_LINK_ART_CONTEST":"Výtvarná soutěž","WEBSITE_MY_ACCOUNT":"Můj účet","WEBSITE_MAINPAGE_FAQ_001_H1":"Co je Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio je moderní multimediální centrum, které vám dává svobodu sledovat vše, co chcete.","WEBSITE_MAINPAGE_FAQ_002_H1":"Jak to funguje?","WEBSITE_MAINPAGE_FAQ_002_P1":"Po instalaci aplikace Stremio do zařízení a vytvoření účtu stačí navštívit katalog doplňků, nainstalovat libovolný doplněk a můžete začít!","WEBSITE_MAINPAGE_FAQ_002_P2":"Poté můžete přejít do sekce Objevovat nebo Nástěnka a začít zkoumat obsah.","WEBSITE_MAINPAGE_FAQ_003_H1":"Co zde mohu sledovat?","WEBSITE_MAINPAGE_FAQ_003_P1":"Hodně: Filmy, televizní pořady, webové kanály, sport, televizní kanály, poslech podcastů a další. Díky našemu systému doplňků máte přístup k nejrůznějšímu obsahu.","WEBSITE_MAINPAGE_FAQ_004_H1":"Je Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Ano, můžete se podívat na následující odkazy: ${1}desktopová aplikace${2} a ${3}Organizace GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Je Stremio bezpečné?","WEBSITE_MAINPAGE_FAQ_005_P1":"Ano: protože se jedná o software s otevřeným zdrojovým kódem, kód je veřejně kontrolovatelný a můžete si ho sami zkontrolovat.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"A co moje soukromí?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respektujeme soukromí uživatelů a neshromažďujeme žádné osobní údaje kromě nezbytného minima pro vytvoření a synchronizaci vašeho účtu.","WEBSITE_MAINPAGE_FAQ_006_P2":"Při registraci je k dispozici také režim ${1}Guest${2}, který nevyžaduje žádná data: v tomto režimu se nevolá na náš backend. Je to však na úkor užitečných funkcí, jako je možnost synchronizovat knihovnu napříč zařízeními.","WEBSITE_MAINPAGE_FAQ_007_H1":"Mohu vysílat na televizoru?","WEBSITE_MAINPAGE_FAQ_007_P1":"Ano, podporujeme Chromecast a můžete vysílat jak z počítače, tak z mobilních aplikací (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Kolik má Stremio doplňků?","WEBSITE_MAINPAGE_FAQ_008_P1":"Od konce roku 2019 je jich více než 50 - více informací najdete v našem katalogu doplňků.","WEBSITE_MAINPAGE_FAQ_009_H1":"Lze Stremio rozšířit nad rámec toho, co je v katalogu doplňků?","WEBSITE_MAINPAGE_FAQ_009_P1":"Ano, měli byste je zkontrolovat: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, atd.","WEBSITE_MAINPAGE_FAQ_010_H1":"Jaká zařízení Stremio podporuje?","WEBSITE_MAINPAGE_FAQ_010_P1":"Máme desktopové aplikace pro Windows, Mac a Linux. Pro mobilní zařízení podporujeme Android a iOS, i když mějte na paměti, že iOS má omezené funkce (nepodporuje většinu doplňků).","WEBSITE_MAINPAGE_FAQ_010_P2":"Existuje mnoho zařízení se systémem Android, na kterých můžete spustit Stremio, například NVIDIA Shield a Amazon Fire Stick, ale oficiálně je nepodporujeme.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Můžete do služby Stremio přidat určitý obsah?","WEBSITE_MAINPAGE_FAQ_011_P1":"Omlouváme se, ale sami neposkytujeme žádný obsah, ale čím více doplňků Stremio máte nainstalováno, tím více obsahu budete moci najít.","WEBSITE_MAINPAGE_FAQ_012_H1":"Umí Stremio přehrávat magnetické odkazy?","WEBSITE_MAINPAGE_FAQ_012_P1":"Ano, a umí také přehrávat běžné odkazy HTTP a soubory torrent (přetažením).","WEBSITE_MAINPAGE_FAQ_013_H1":"Mohu si video stáhnout a sledovat ho offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Funkce dostupná offline je připravovaná, ale pokud povolíte, aby Stremio ukládalo videa do mezipaměti ve vašem zařízení (na panelu nastavení), můžete je později sledovat bez připojení.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nic nefunguje, pomozte mi!","WEBSITE_MAINPAGE_FAQ_014_P1":"Jste si jisti, že máte nainstalované doplňky? Pokud ano, obraťte se na naše ${1}pomocné centrum${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Jak Stremio udržuje své vývojové operace?","WEBSITE_MAINPAGE_FAQ_015_P1":"Občas spouštíme nevtíravé reklamy, ale zvažujeme přechod na model dárcovství.","WEBSITE_MAINPAGE_FAQ_015_P2":"Další dotazy naleznete v našem ${1}pomocném centru${2}.","HELP_LEARN_MORE":"Pomozte nám dozvědět se o vás více.","LIFESTYLE":"Životní styl","SPORTS":"Sporty","FOOD_HEALTH":"Potraviny a zdraví","BEAUTY_FASHION":"Krása a móda","NEWS":"Novinky","GAMING":"Hry","SCIENCE_EDUCATION":"Věda & vzdělávání","MUSIC":"Hudba","TRAVEL":"Cestovní kancelář","LATE_NIGHT":"Pozdní noc","REALITY":"Realita","COMEDY":"Komedie","DIY":"Jak na kutilství","TECH":"Tech","CINEMA":"Kino","CONTINUE":"Pokračovat","SLOW_LOADING":"POMALÉ NAČÍTÁNÍ?","I_GIVE_UP":"VZDÁVÁM SE","LEARN_MORE":"Zjistit více","POOR_SOURCE":"Tento zdroj je špatně dostupný nebo vaše internetové připojení není dostatečně rychlé","PICK_CATEGORIES_ERR":"Musíte vybrat alespoň 3 kategorie","ADJUST_TIMING":"Nastavte časování pomocí","ADJUST_SIZE":"Upravte velikost pomocí","SEARCH_ANYTHING":"Můžete vyhledávat cokoli...","ALL_CATEGORIES":"Vše","SEARCH_CATEGORIES":"Filmy, seriály, YouTube a TV","SEARCH_PERSONS":"Herci, režiséři a scénáristé","SEARCH_PROTOCOLS":"HTTP & Magnet Odkazy","SEARCH_TYPES":"Odkazy na IMDB / TVDB","WATCHED":"Sledováno","SHOW_LESS":"Zobrazit méně","LAST_SEARCHES":"Poslední vyhledávání","CLEAR_HISTORY":"Vymazat historii","CHOOSE_SOME":"VYBERTE SI NĚCO Z TOHO:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote nelze načíst","STREMIO_OFFLINE":"Stremio je offline","STREMIO_EXPENSIVE_CONNECTION":"Zjistili jsme, že používáte mobilní datové připojení, chcete pokračovat?","USE_DATA":"Použití dat","WARNING":"Varování","MORE_INFO":"Více informací ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Načítám...","STREMIO_TV_BACK_TO_LANGUAGES":"Zpět na jazyky","STREMIO_TV_REMOTE":"Vzdálený","STREMIO_TV_GO_TO":"Přejít na:","STREMIO_TV_OR_SCAN":"nebo skenování:","STREMIO_TV_ADDON_INSTRUCTIONS":"Při instalaci preferovaných doplňků postupujte podle pokynů.","STREMIO_TV_LIVE_TV":"Živý televizní přenos","STREMIO_TV_RESUME_WATCHING":"Sledování životopisu","STREMIO_TV_LOADING_BACKGROUND":"Načítání pozadí","STREMIO_TV_CHECKING_AUTHENTICATION":"Kontrola ověřování","STREMIO_TV_LOADING_BOARD":"Nakládací deska","STREMIO_TV_LOGIN_HEADER_LINE_1":"Chceme, aby naši uživatelé měli s naším softwarem co nejlepší personalizované zkušenosti.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Z tohoto důvodu vás žádáme, abyste si vytvořili a/nebo se přihlásili ke svému účtu.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Děkujeme za pochopení,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Tým Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Chcete-li používat webový ovladač pomocí chytrého telefonu / tabletu / stolního počítače:","STREMIO_TV_WIFI_SETUP":"Nastavení Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Aplikace Stremio Circle nezjistila připojení k internetu.","STREMIO_TV_WIFI_DETAILS_1":"Připojte se k:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Použijte heslo:","STREMIO_TV_WIFI_DETAILS_4":"stremiokruh","STREMIO_TV_WIFI_DETAILS_5":"Otevřete webový prohlížeč s odkazem:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Podle posledního zhlédnutí","STREMIO_TV_LIBRARY_SORT_NAME":"Podle názvu","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Podle počtu zhlédnutí","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Série ${1}","STREMIO_TV_STREAMS_LOADING":"Načteno ${1} / ${2} doplňků...","STREMIO_TV_STREAMS_STILL_LOADING":"Stále se načítá ${1} doplněk...","STREMIO_TV_PLAYER_SETTINGS":"Nastavení přehrávače","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Zpoždění titulků","STREMIO_TV_PLAYER_AUDIO_DELAY":"Zpoždění zvuku","STREMIO_TV_PLAYER_VIDEO_SCALING":"Škálování videa","STREMIO_TV_PLAYER_CHAPTERS":"Kapitoly","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Přeskočit ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nepodporovaný zdroj streamu","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Chyba při otevírání externího odkazu","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Nelze upravit v režimu audio průchodu","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Přehrát s ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Přehrát s libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Přepnutí na přehrávač libVLC kvůli chybě přehrávání","STREMIO_TV_ADDONS_TITLE":"Použijte Stremio na vašem telefonu nebo PC k instalaci nebo konfiguraci doplňků a stiskněte „Synchronizovat doplňky“","STREMIO_TV_ADDONS_SUBTITLE":"Poznámka: ujistěte se, že používáte stejný účet Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Synchronizovat doplňky","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Doplňky úspěšně synchronizovány","STREMIO_TV_ADDONS_SYNC_FAILED":"Synchronizace doplňků se nezdařila","STREMIO_TV_META_LINK_FAILED":"Chyba při otevírání meta odkazu","STREMIO_TV_CATALOG_LOADING":"Stále se načítá katalog...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Jazyk rozhraní aktualizován","STREMIO_TV_SETTINGS_THEME_UPDATED":"Téma aktualizováno","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Výchozí přehrávač","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Externí přehrávač","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferovaný jazyk","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Sekundární preferovaný jazyk","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunelované přehrávání","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Možné problémy s přehráváním na některých zařízeních","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Některé formáty videa nemusí fungovat","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Shoda obnovovací frekvence","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Vypnuto","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Pouze obnovovací frekvence","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Obnovovací frekvence a rozlišení","STREMIO_TV_SETTINGS_NO_CACHING":"Bez ukládání do mezipaměti","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Výchozí","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Měkký","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rychlý","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra rychlý","STREMIO_TV_SETTINGS_SERVER_URL":"URL streamovacího serveru","STREMIO_TV_SETTINGS_SERVER_VERSION":"Verze serveru","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Neznámé","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Verze Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Upravit URL serveru","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Zadejte URL streamovacího serveru","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Zobrazovat statistiky během načítání","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Chcete-li si přečíst Zásady ochrany osobních údajů Stremio, navštivte:","STREMIO_TV_SETTINGS_TOS_TEXT":"Chcete-li si přečíst Podmínky používání Stremio, navštivte:","STREMIO_TV_NAV_SEARCH":"Najít","STREMIO_TV_NAV_HOME":"Domů","STREMIO_TV_NAV_DISCOVER":"Objevovat","STREMIO_TV_NAV_LIBRARY":"Knihovna","STREMIO_TV_NAV_MOVIES":"Filmy","STREMIO_TV_NAV_SERIES":"Seriály","STREMIO_TV_NAV_CHANNELS":"Kanály","STREMIO_TV_NAV_TV":"TV","STREMIO_TV_NAV_SETTINGS":"Nastavení","STREMIO_TV_NAV_ADDONS":"Doplňky","STREMIO_TV_LOGIN_TITLE":"Propojit účet","STREMIO_TV_LOGIN_EXPIRES_IN":"Vyprší","STREMIO_TV_LOGIN_STEP_ONE":"Naskenujte QR kód nebo přejděte na","STREMIO_TV_LOGIN_STEP_TWO":"Přihlašte se do svého Stremio účtu","STREMIO_TV_LOGIN_NEW_LINK":"Vyžádat nový odkaz","STREMIO_TV_LOGIN_LINK_REFRESHED":"Přihlašovací kód byl obnoven","STREMIO_TV_SEARCH_PLACEHOLDER":"Napište něco","STREMIO_TV_SEARCH_NO_ADDONS":"Nebyly vyžádány žádné doplňky pro katalogy","STREMIO_TV_SEARCH_BUTTON":"Vyhledat","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Mezera","STREMIO_TV_SEARCH_KEY_CLEAR":"Vymazat","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historie vyhledávání","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Můžete vyhledávat názvy, herce, kanály a další","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Vymazat historii vyhledávání","STREMIO_TV_FILTERS_DESCRIPTION":"Vyberte jeden z níže uvedených filtrů","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streamingový server je offline. Zkontrolujte nastavení serveru.","FILTERS":"Filtry","SETTINGS":"Nastavení","ACCOUNT":"Účet","LOGOUT":"Odhlásit se","THEMES":"Témata","PLAYBACK":"Přehrávání","PLAYBACK_SPEED":"Rychlost přehrávání","AUDIO_TRACKS":"Zvukové stopy","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videa","SERVER":"Server","LINKS":"Odkazy","ABOUT":"O aplikaci","INTERFACE":"Rozhraní","ANIMATIONS":"Animace","STATUS":"Stav","LANGUAGE":"Jazyk","SIZE":"Velikost","DELAY":"Zpoždění","BOLD":"Tučné","OPACITY":"Opacity","TEXT_COLOR":"Barva textu","OUTLINE_COLOR":"Barva obrysu","BACKGROUND_COLOR":"Barva pozadí","BACKGROUND_BLUR":"Zaměření pozadí","SEEK_TIME_DURATION":"Doba přesunu","AUTO_PLAY":"Automatické přehrávání další epizody","PLAY_NOW":"Přehrát nyní","MARK_AS_WATCHED":"Označit jako zhlédnuté","MARK_AS_UNWATCHED":"Označit jako nezhlédnuté","REWIND_TO_BEGINNING":"Zpět na začátek","CONTINUE_WATCHING":"Pokračovat ve sledování","ALL":"Vše","SECONDS":"sekundy","ON":"ON","OFF":"OFF","RELOAD":"Znovu načíst","EDIT_URL":"Upravit URL","URL":"URL","NONE":"Žádné","EMBEDDED":"Vložené","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Přepínací zařízení","REMOTE_VIDEOS":"Videa","REMOTE_ADJUST_TIMING":"Nastavení časování","REMOTE_ADJUST_SIZE":"Nastavení velikosti","REMOTE_COULD_NOT_BE_LOADED":"Web Remote nelze načíst","REMOTE_RETRY":"Zkusit znovu","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"Co je Stremio?","FAQ_001_P1":"Stremio je software mediálního centra navržený pro video zábavu s ohledem na snadné používání. Stremio vám umožňuje organizovat & sledovat vlastní sbírku filmů, seriálů, kanálů a živého televizního vysílání.","FAQ_001_P2":"Stremio shromažďuje obsah, který vám zobrazuje, z vašeho místního disku a z našeho systému doplňků.","FAQ_001_P3":"Upozorní vás také na nové epizody/videa/filmy, které vás zajímají, a doporučí vám filmy.","FAQ_02_H1":"Jak si Stremio vede ve srovnání s Kodi a Plexem?","FAQ_02_P1":"Inspirovali jsme se těmito dvěma softwary. Máme však odlišné cíle - Stremio je zaměřeno speciálně na video pro zábavu a snaží se stát hlavním řešením pro tuto oblast, protože se velmi snadno používá.","FAQ_02_P2":"Stremio nikdy nebude tak přizpůsobitelné a funkčně bohaté jako Kodi a Plex, ale jeho používání je podstatně jednodušší. Stačí ${1} si ho pořídit a uvidíte ${2} :)","FAQ_03_H1":"Jak si Stremio vede ve srovnání s Netflixem?","FAQ_03_P1":"Jednou z našich inspirací je opět Netflix. Snažíme se dosáhnout uživatelského zážitku Netflixu a navíc přidat spoustu dalších vychytávek. Co je však nejdůležitější, dáváme vám svobodu spravovat vlastní knihovnu a přidávat nové zdroje obsahu pomocí našeho systému doplňků.","FAQ_03_P2":"Díky tomu je Stremio nekonečně rozšiřitelné, takže při používání Stremio nejste nikdy omezeni obsahem, který se Netflix rozhodne licencovat. Prostřednictvím služby Stremio můžete například sledovat obsah z ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} a dokonce i ${9}Netflix${10} samotný!","FAQ_04_H1":"Jak si Stremio vede ve srovnání s Flipboardem?","FAQ_04_P1":"Tuto otázku nedostáváme tak často, kromě rozhovorů se začínajícími podnikateli :)","FAQ_04_P2":"Stremio je svým založením agregátor obsahu, což z něj v podstatě dělá Flipboard pro video. To je velmi patrné v sekci Nástěnka, která vám stejně jako Flipboard nabízí katalogy a upozornění na nové epizody/nová videa, která sledujete.","FAQ_05_H1":"Jak si Stremio vede ve srovnání s Popcorn Time?","FAQ_05_P1":"Stremio a Popcorn Time jsou si podobné uživatelským rozhraním, protože není mnoho způsobů, jak udělat katalogy video zábavy správně :)","FAQ_05_P2":"Zatímco Popcorn Time se zaměřuje na streamování torrentů z konkrétních zdrojů, Stremio je bez omezení a je pouze agregátorem obsahu - není vázáno na konkrétní zdroj obsahu.","FAQ_05_P3":"Kromě toho ve výchozím nastavení neposkytujeme žádné doplňky torrentů, takže Stremio nepokrývá případ použití Popcorn Time oficiálními funkcemi.","FAQ_05_P4":"Dalším významným rozdílem je, že Popcorn Time je zcela open source, zatímco Stremio je ${1} částečně open source${2}.","FAQ_06_H1":"Přidáte tento film/seriál?","FAQ_06_P1":"Ne, je mi líto :(","FAQ_06_P2":"Jak je uvedeno ve většině ostatních otázek, Stremio samo o sobě neposkytuje žádný obsah - vše se přidává prostřednictvím systému doplňků. V případě, že máte požadavek na obsah, můžete použít tlačítko \\"Nahlásit\\" v přehrávači, které odešle e-mail autorovi doplňku, který právě používáte.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Vytvoříte doplněk pro X?","FAQ_08_P1":"Je to docela možné.","FAQ_08_P2":"Pokud máte nápad na doplněk, napište nám na ${1}office@stremio.com${2}, ale ujistěte se, že váš nápad na doplněk neporušuje autorská práva ani podmínky používání.","FAQ_08_P3":"V současné době jsou na našem plánu doplňky pro FandangoNOW, Filmon.tv video on demand a Crunchyroll.","FAQ_09_H1":"Používá Stremio BitTorrent?","FAQ_09_P1":"Ano, Stremio podporuje BitTorrent jako streamovací protokol. Ten můžete použít buď pomocí doplňku torrent, nebo přetažením souboru .torrent do aplikace Stremio, případně vložením odkazu na magnet do vyhledávacího panelu.","FAQ_09_P2":"Vezměte prosím na vědomí, že jediným oficiálním doplňkem využívajícím BitTorrent je ${1}Vodo${2}, který poskytuje nezávislý obsah povolený k distribuci pomocí BitTorrentu.","FAQ_09_P3":"Nepodporujeme používání doplňků třetích stran, které by mohly umožnit porušování autorských práv.","FAQ_10_H1":"Co mohu sledovat v aplikaci Stremio s oficiálními doplňky?","FAQ_10_P1":"Ve výchozím nastavení můžete sledovat obsah serverů Filmon.tv, YouTube a Vodo přímo v aplikaci Stremio pomocí vloženého přehrávače. Kromě toho máme doplněk pro Twitch.tv a několik dalších.","FAQ_10_P2":"Tato kombinace nabízí výběr:","FAQ_10_L1":"Oblíbené televizní kanály, které poskytuje Filmon.tv - například E4, BBC, Bollyworld TV","FAQ_10_L2":"Vše z YouTube - například BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Nezávislé filmy s Vodo","FAQ_10_L4":"Online vysílání her pomocí Twitch.tv","FAQ_10_P3":"Kromě toho existuje mnoho zdrojů obsahu poskytovaných pomocí služby Guidebox a doplňků Netflix, které se nepřehrávají zcela uvnitř služby Stremio, ale přesměrovávají se na danou službu. Například doplněk Guidebox by vám poskytl výběr filmů, které můžete v USA streamovat zdarma, ze služeb jako TubiTV a Crackle.","FAQ_11_H1":"Stremio se nechce nainstalovat, co mám dělat?","FAQ_11_P1":"Pokud používáte Windows, zkuste ${1}tento alternativní instalátor${2}.","FAQ_11_P2":"Pokud používáte systém Mac OS X, upozorňujeme, že nepodporujeme nic staršího než OS X Mavericks (10.9).","FAQ_11_P3":"Pokud používáte Linux, vězte, že v současné době podporujeme pouze 64bitový (x64) Linux.","FAQ_11_P4":"Pokud se vám stále nedaří vyřešit váš problém, napište nám na naši ${1}Facebookovou skupinu${2}.","FAQ_12_H1":"Proč si můj antivirový program stěžuje? Je Stremio bezpečné?","FAQ_12_P1":"Ujišťujeme vás, že Stremio je ${1}100% cčistý ${2}.","FAQ_12_P2":"Váš antivirový program si stěžuje, protože v našem instalačním programu je reklama, kterou některé antivirové programy rozpoznávají jako ad-ware.","FAQ_12_P3":"Pokud si stále nejste jisti, můžete vyzkoušet náš ${1}alternativní instalátor${2}.","FAQ_13_H1":"Jak mohu vytvořit doplněk?","FAQ_13_P1":"Pro začátek doporučujeme zkontrolovat náš systémový modul ${1}addons${2} na GitHubu.","FAQ_13_P2":"Poté můžete postupovat podle výukového programu ${1}Hello World${2}.","FAQ_13_P3":"Pokud nemáte žádné programátorské dovednosti, napište svůj nápad na ${1}komunitu Reddit${2} a kontaktujte nás s nápadem na doplněk na ${3}office@stremio.com${4}.","FAQ_14_H1":"Jak se publikují doplňky?","FAQ_14_P1":"Když vytvoříte doplněk a hostitele a do manifestu vložíte pole koncového bodu, které ukazuje na adresu funkčního doplňku, doplněk se automaticky zveřejní v našem katalogu ${1}Addon catalogue${2}.","FAQ_14_P2":"K tomu dochází proto, že serverová část modulu stremio-addons automaticky volá naše rozhraní API a oznamuje doplněk. Jakmile naše rozhraní API potvrdí váš koncový bod jako platný doplněk, začne se zobrazovat v katalogu.","FAQ_15_H1":"Mohu spustit Stremio v prohlížeči?","FAQ_15_P1":"Momentálně ne, ale už se to blíží!","FAQ_15_P2":"Pokud jste zvědaví na verzi Alpha, můžete si ji prohlédnout zde: ${1}alpha4.strem.io${2}. Mějte na paměti, že streamování je v této alfě vypnuté. Podporujeme prohlížeče Chrome, Firefox, Opera a Edge.","FAQ_16_H1":"Casting do TV nefunguje / titulky nefungují","FAQ_16_P1":"Odesílání do televizoru využívá technologii DLNA, která je u různých značek a modelů televizorů velmi nejednotná. Z tohoto důvodu nemáme možnost testovat ji ve všech případech, takže zdaleka není dokonalá. Přesto na jejím vylepšování neustále pracujeme, ale nemůžeme vám poskytnout časový odhad, kdy DLNA začne s vaším televizorem správně fungovat.","FAQ_16_P2":"Pokud se televizor nezobrazuje ani v nabídce obsazení, zkuste zakázat síťové připojení a znovu jej povolit (v systému Windows klikněte pravým tlačítkem myši na položku Síť a použijte příkaz Povolit/Zakázat) a restartujte směrovač, televizor a počítač.","FAQ_16_P3":"Pokud se stále potýkáte s problémy, můžete nám pomoci zasláním informací o značce a modelu televizoru na adresu ${1}office@stremio.com${2}.","FAQ_16_P4":"Do té doby doporučujeme Chromecast, který velmi dobře podporujeme, nebo jednoduše připojit televizor k počítači pomocí kabelu HDMI.","FAQ_17_H1":"Co mám dělat, když Stremio zamrzne a/nebo spadne?","FAQ_17_P1":"Pokud používáte systém Windows 7 s antivirovým programem AVG, máme s touto kombinací problém. Problém je v samotném AVG a na naší straně neexistuje žádný rozumný způsob, jak jej vyřešit. Výjimky ani vypnutí antiviru bohužel nepomohou. Jediným řešením je nahradit AVG něčím jiným.","FAQ_17_P2":"Pokud to není problém, ale stále používáte systém Windows, aktualizujte jej na nejnovější servisní balíček a aktualizujte/přeinstalujte ovladače grafického procesoru a pak to zkuste znovu.","FAQ_17_P3":"Pokud problém stále není vyřešen nebo používáte Mac či Linux, napište nám přesné informace o problému na ${1}naší skupinu na Facebooku${2}.","FAQ_18_H1":"Jak mohu vytvořit doplněk?","FAQ_18_P1":"Pro začátek doporučujeme zkontrolovat náš systémový modul ${1}addons${2} na GitHubu.","FAQ_18_P2":"Poté můžete postupovat podle výukového programu ${1}Hello World${2}.","FAQ_18_P3":"Pokud nemáte žádné programátorské dovednosti, napište svůj nápad na ${1}komunitu Reddit${2} a kontaktujte nás s nápadem na doplněk na ${3}office@stremio.com${4}.","FAQ_19_H1":"Proč Stremio zabírá místo na disku?","FAQ_19_P1":"Stremio má místní mezipaměť pro dočasné uchovávání streamovaných video souborů.","FAQ_19_P2":"To má dvě výhody: zaprvé umožňuje Stremio předem vyrovnat video do vyrovnávací paměti, aby bylo zajištěno plynulejší streamování. Zadruhé uchovává videa v místní mezipaměti, takže je můžete dále sledovat offline.","FAQ_19_P3":"Množství, které Stremio uchovává, závisí na nastavení vyrovnávací paměti na panelu Nastavení. Stremio může na vašem disku uchovávat až nastavené množství (např. 2 GB), pokud není aktuálně streamované video větší než toto množství, v takovém případě musí vyčlenit dostatek úložného prostoru, aby jej uchoval až do doby, kdy jej budete streamovat.","FAQ_20_H1":"Kde se nachází složka mezipaměti?","FAQ_20_P1":"V systému Windows je to stremio-cache v jednotce, kterou jste vybrali v Nastavení (např. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"V systému MacOS je to \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"V systému Linux je to \\"~/.stremio/stremio-cache\\" nebo \\"~/stremio-cache\\"","FAQ_21_H1":"Zobrazí se mi chyba \\"Streaming server nebyl nalezen\\", co mám dělat?","FAQ_21_P1":"Pokud se vám tato chyba zobrazí, znamená to jednu z několika možností:","FAQ_21_P2":"1) Snažíte se použít doplněk podporovaný zdrojem YouTube/BitTorrent prostřednictvím naší verze ${1}web${2}. V takovém případě byste si měli nainstalovat naši verzi pro stolní počítače z ${3}našich webových stránek${4}.","FAQ_21_P3":"2) Něco je špatně s vaší instalací Stremio. V takovém případě zkuste znovu nainstalovat naši nejnovější verzi pro stolní počítače z ${1}webové stránky${2}. Pokud to nepomůže, zkuste vypnout antivirové programy a brány firewall, restartovat počítač a zkusit to znovu. Pokud ani to nepomůže, napište nám do naší ${3}skupiny na Facebooku${4}.","FAQ_22_H1":"Většinu doplňků v systému iOS nevidím/používám","FAQ_22_P1":"Vzhledem k omezením v podmínkách obchodu Apple App Store jsme aplikaci pro iOS omezili pouze na určitou sadu doplňků.","FAQ_22_P2":"Ale buďte si jisti - v budoucnu se objeví další doplňky pro iOS a možná přidáme také integraci, která vám umožní používat všechny doplňky Stremio díky připojení aplikace iOS ke Stremio Streaming Serveru."}')},80149:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"Kanal","TYPE_channel":"Kanal","TYPE_other":"Andet","TYPE_movie_PL":"Film","TYPE_series_PL":"Serier","TYPE_tv_PL":"TV","TYPE_channel_PL":"YouTube","TYPE_other_PL":"Andrer","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Tilbage","MORE":"Mere","DONE":"Færdig","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Opdag","Board":"Væg","Library":"Bibliotek","My Library":"Mit Bibliotek","Calendar":"Kalender","NOTIFICATION_ONLINE":"Du er nu online","NOTIFICATION_OFFLINE":"Du er nu offline","INTERNET_CONNECTION":"Netværk forbindelse","STORAGE_FULL_TITLE":"OBS: Ikke mere ledig plads","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"Søg efter","SEARCH_NO_RESULTS":"Ingen resultater fundet","SEARCH_EXPLANATION_CONTENT":"Søg efter film, serier, YouTube og TV kanaler","SEARCH_EXPLANATION_PEOPLE":"Søg efter skuespiller, direktører og forfatterer","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Tilføj til Bibliotek","REMOVE_FROM_LIB":"Fjern fra Bibliotek","ADDED_TO_LIB":"Tilføjet til Bibliotek","REMOVED_FROM_LIB":"Fjernet fra Bibliotek","TRAILER":"Trailer","WATCH_TRAILER":"Se Trailer","WATCH_NOW":"Afspil","SHOW":"Vis","SHOW_MOVIE":"Vis film","WATCH_RANDOM":"Se tilfældig","IMDB_RATING":"IMDb Bedømmelse","YEAR":"År","DIRECTOR":"Instruktør","WRITER":"Skrevet af","LEAD_ACTORS":"Hovedroller","CAST":"Medvirkende","CREW":"Filmhold","SHOW_MORE_CAST":"Se flere »","AIRED":"Sendt","SEASONS":"Sæsoner","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Katalog","SUMMARY":"Opsummering","SHOW_MORE":"Show More","SIMILAR":"Lignende","UPCOMING":"Kommende","TBA":"TBA","ENDED":"Sluttet","DURATION":"Længde","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"Kategori","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"Søg videoer","SEARCH_PLACEHOLDER":"Søg eller indsæt magnet link","ADDON":"Tilføjelse","ADDONS":"Tilføjelser","OFFICIAL":"Officielle","ADDONS_OFFICIAL":"Officielle Stremio tilføjelser","ADDONS_POPULAR":"Populære nær dig","ADDON_FREE":"Gratis","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnement","ADDON_STREAM_GEORESTRICTED":"Ikke tilgængeligt i dit område","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Lokal Fil","SHARE_ADDON":"Del tilføjelse","AVAILABLE_STREAMS":"Tilgængelige Streams","NO_STREAM":"Ingen tilgængelige streams","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For flere streams, vær venlig at installere flere tilføjelser","STREAM_NOT_SUPPORTED":"Den valgte stream er ikke understøttet på denne platform.","ADDON_CATALOGUE":"Vis alle tilføjelser »","ADDON_CATALOGUE_MORE":"Flere tilføjelser »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons repository already exist","ADDON_REPO_ERR":"Der opstod fejl under tilføjelse af repository","ADDON_ADD_ERR":"Der skete en fejl under tilføjelse af tilføjelsen","ERR_ADDON_PROTECTED":"Beskyttet tilføjelse","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Noget gik galt - authentificering slog måske fejl","ERR_NOT_COLLECTION_URL":"Not a collection url","ERR_NOT_ADDON_URL":"Not an addon url","ERR_DETECTFROMURL":"Cannot detect from url","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Addon pulling failed","REFRESH_ON_CLICK":"Click to retry","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film stadig i biografen","WATCH_IN_CINEMA":"se den i din lokale biograf","IN_THEATER":"I biografen","GET_TICKETS":"Køb biletter","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"Denne kanal er ikke indekseret endnu.
    Kom tilbage om et par minutter.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Tilføj til dit bibliotek og bliv notificeret når den er tilgængelig","GET_NOTIFIED_WHEN_AVAILABLE":"Du vil blive notificeret når den er tilgængelig","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streamer fra","CASTING_TO":"Afspiller på","NETWORK_STATUS":"Netværksstatus","STREAM_SPEED":"Hastighed:","STREAM_BUFFERED":"Downloadet:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Aktive:","PEERS_CONNECTED":"Forbundet:","PEERS_WAITING":"Venter:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"Henter..","PLAYING_LOCAL":"afspiller fra lokal fil","PLAYING_CACHE":"afspiller fra cache","WRONG_SUBS":"Forkert tekst?","ERR_SUBS_LOADING_TITLE":"Fejl under indlæsning af undertekster","ERR_SUBS_LOADING":"Kunne ikke indlæse undertekster: det kunne være et problem med tilføjelsen du bruger eller med din netværk forbindelse","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Følgende underteksts tilføjelse fejlede","ERR_CASTING_UPDATE_TITLE":"Kunne ikke opdatere casting enheds info: streaming serveren er måske offline","CHOOSE_DEVICE":"Vælg enhed at afspille på","NO_CAST_DEVICES":"Ingen casting enheder tilgængelige.","NO_SETTINGS":"Ingen instillinger tilgængelige.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Undertekster","SUBTITLES_CHANGE":"Ændre undertekster","SUBTITLES_CHANGE_NONE":"Der er ikke flere undertekster til dette sprog, desværre.","SUBTITLES_CHANGE_ACIVE":"Undertekst #{{subtitlesDialog.activeIdx + 1}} er aktiveret. Klik \\"Forsæt\\" for at aktivere #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativt,","SUBTITLES_ADJUST_DELAY":"Juster undertekst forsinkelse:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Eller brug G / H taster under afspilning for at justere.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: du kan bruge G / H taster under afspilning for at justere.","SUBTITLES_DELAY":"Undertekst forsinkelse:","SUBTITLES_LOADING":"Indlæser undertekster...","SUBTITLES_UNAVAILABLE":"Ingen eksterne undertekster tilgængelige","SUBTITLES_DISABLED":"Slået fra","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Lyd","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sæson","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"tendens","SORT_RECENT":"seneste","SORT_ALPHABET":"alfabetisk","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"bedømmelser","SORT_WATCHED":"set","SORT_YEAR":"år","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Nyt til dig","New Episodes":"Nye episoder","New Videos":"Nye Videoer","Recommendations":"Anbefalinger","LIBRARY_RESUME":"Genoptag","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Detaljer","LIBRARY_RESUME_DISMISS":"Afvis","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Indhold","DISCOVER_TOP":"Populære","DISCOVER_OSCAR":"Oscar Vindere","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Tilføjelsen returnerede tomt indhold.","DISCOVER_ADULT_WARNING":"Inholdet er kun synligt for voksne. Er du 18+?","DISCOVER_NOADDON_WARNING":"Advarsel: intet Stremio tilføjelse aktiveret for denne type. Viser gemte ting, intet vil blive opdateret.","DISCOVER_LOAD_ERR":"Indholdet kunne ikke indlæses, fejl opstået.","DISCOVER_ADDON_UNINSTALLED":"Indholdet er ikke længere tilgængeligt, måske har du afinstalleret tilføjelsen.","UNINSTALL_THIS_ADDON":"Afinstaler tilføjelsen","ERR_ADDON_NOT_INSTALLED":"Tilføjelsen er ikke instaleret. Instaler nu?","DETAIL_RECEIVE_NOTIF_SERIES":"Modtag notifikationer for nye episoder","DETAIL_RECEIVE_NOTIF_VIDEOS":"Modtag notificationer for nye videoer","SIDEBAR_SHOW_STREAMS":"Vis streams","RELAUNCH":"Genindlæs nu!","UPGRADE":"Opdater til seneste Stremio version","RELOAD_UI":"Genindlæs brugerflade","MANUAL_UPDATE_TITLE":"Opdater din Stremio version","MANUAL_UPDATE_LINE1":"Du kører en gammel version af Stremio hvilket ikke er anbefalet.","MANUAL_UPDATE_LINE2":"Opdater venligst så hurtigt som muligt.","BUTTON_UPDATE_LATTER":"Ikke nu","BUTTON_UPDATE_NOW":"Opdater","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonym bruger","DONT_HAVE_ACC":"Har du ikke en konto?","HAVE_ACC":"Har du allerede en konto?","PASSWORD":"Adgangskode","PASSWORD_CONFIRM":"Bekræft adgangskode","EMAIL":"E-mail","FB_LOGIN":"Login med Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Intet bliver delt uden din tilladelse","FB_NOPOST":"Vi slår aldrig noget op på dine vegne","OR":"eller","I_ACCEPT":"Jeg accepterer","I_ACCEPT_BY_CLICKING":"Ved at klikke overstående knap bekræfter jeg at jeg accepterer ","TOS":"Betingelser","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Kodeord ikke korrekt","SIGN_UP":"Opret","SIGN_UP_EMAIL":"Tilmeld med email","CLICK_TO_SIGN_UP":"Klik her for at tilmelde dig.","LOG_IN":"Log ind","LOG_OUT":"Log ud","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Hjælp & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"Om Stremio","USER_PANEL":"Bruger Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Gæste log ind","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"Klik her","WRONG_PASSWORD":"Forkert kodeord. Har du glemt dit kodeord, ","SET_A_PASS":"Vælg kodeord","RESET_PASSWORD":"Reset kodeord","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Glemt kodeord?","EMAIL_USED_WITH_FB":"Denne email er brugt til Facebook log ind.","INVALID_EMAIL":"Venligst intast en gyldig email addresse","INVALID_PASSWORD":"Venligst indtast et gyldigt kodeord","CONN_ERR":"Forbindelse fejl - Prøv igen senere.\\n\\nHvis fejl forsætter, deaktiver firewalls/anti-virus software (specielt Bitdefender).","IMPORT_FROM_GUEST":"Importer bibliotek fra din gæstekonto","RECEIVE_UPDATES_EMAIL":"Modtag opdateringer til din email fra Stremio","LOGIN_FAILED":"Login fejlede.","SIGNUP_FAILED":"Tilmelding fejlede.","SEARCH_FAILED":"Søgning fejlede","EMAIL_USED":"Denne email er allerede i brug.","WAITING_FB_LOGIN":"Logger ind med Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Afspil i extern afspiller","EXTERNAL_REMEMBER_PLAYER":"Husk valg?","EXTERNAL_ALWAYS_PLAY":"Ja","EXTERNAL_ONLY_ONCE":"Nej","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Fortæl os hvad du godt kan lide","INTRO_TASTE_LONG":"Fortæl os om hvad du gerne vil se","INTRO_TASTE_PICK":"Vælg {{interestsRemaining}} interesser","INTRO_TASTE_PICK_MORE":"Vælg {{interestsRemaining}} flere interesser","INTRO_TASTE_HELP_US":"Hjælp os med at lære mere om dig.","INTRO_TASTE_CHOOSE_THESE":"Vælg nogle af disse:","INTRO_TASTE_CHOOSE_MIN":"Vælg mindst 3 kategorier","INTRO_TASTE_CHOOSE_MIN_ERR":"Du skal vælge mindst 3 kategorier!","INTRO_TASTE_LIFESTYLE":"Livsstil","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Mad & Sunhed","INTRO_TASTE_BEAUTY_FASHION":"Skønhed & Mode","INTRO_TASTE_NEWS":"Nyheder","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Videnskab & Uddannelse","INTRO_TASTE_MUSIC":"Musik","INTRO_TASTE_TRAVEL":"Rejse","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedie","INTRO_TASTE_DIY":"Gør det selv","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Biograf","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Den valgte tilføjelse er ikke understøttet på denne platform.","ADDON_DISCLAIMER":"Brug af tredjeparts tilføjelser vil altid være dit eget ansvar og love og regler kan være forskellige fra land til land.","ADDON_ACTIVATE":"Aktiver denne tilføjelse?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Hvad er nyt","BUTTON_CONTINUE":"Fortsæt","BUTTON_ACTIVATE":"Aktiver","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Annuller","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Dit bibliotek er tomt. Find ud af hvor brugbart det er :) ","HOW_START":"Tilføj indhold til dit bibliotek","LIB_EMPTY_CAL":"Din kalender viser serier fra dit bibliotek.","HOW_START_CAL":"Tilføj indhold til dit bibliotek","LIB_EMPTY_BOARD":"Din væg viser notifikationer & anbefalinger relateret til dit bibliotek.","HOW_START_BOARD_WAIT":"Tilføj indhold til dit bibliotek og vent et par minutter til indholdet er opdateret :)","HOW_START_BOARD":"Sådan tilføjer du indhold","IMPORT_FB":"Importer ting du kan lide fra Facebook","IMPORT_TRAKT":"Import your media library from Trakt","IMPORT_DISCOVER":"Find interessante ting fra Opdag","IMPORT_DISK":"Importer film og serier fra din computer","PLEASE_CREATE_ACC":"Venligst opret en konto for at aktivere Bibliotek & Væg.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from Discover","IMPORT_DISK_SIGNUP":"Sigm up and import movies or shows you have on your local disk","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Kør ved opstart","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Importer fra Facebook","SETTINGS_IMPORT_DISK":"Importer fra computer","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Abonner på kalender","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Ændre kodeord","SETTINGS_TOS":"Servicevilkår","SETTINGS_SUPPORT":"Kontakt support","SETTING_LANGUAGE":"Sprog","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Afslut","CONNECTED":"Connected","AUTHENTICATE":"Godkend","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Vælg caching drev","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januar","February":"Februar","March":"Marts","April":"April","May":"Maj","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"December","Monday":"Mandag","Tuesday":"Tirsdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"Lørdag","Sunday":"Søndag","Action":"Action","Comedy":"Komedie","War":"Krig","Family":"Familie","Animation":"Animation","Adventure":"Eventyr","Fantasy":"Fantasy","Crime":"Krimi","Mystery":"Mystik","Romance":"Romantik","Drama":"Drama","Horror":"Gyser","Thriller":"Spænding","Sci-Fi":"Sci-Fi","Music":"Musik","Biography":"Biografi","Documentary":"Dokumentar","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Nyheder","History":"Historie","Game-Show":"Gameshow","Reality-TV":"Reality TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Underholdning","Gaming":"Gaming","From TV":"Fra TV","Lifestyle":"Livsstil","Science & Education":"Videnskab & Uddannelse","Cooking & Health":"Madlavning & Helbred","Beauty & Fashion":"Skønhed & Mode","Sports":"Sport","News & Politics":"Nyheder & Politik","How-to & DIY":"Gør det selv","Tech":"Teknologi","Automotive":"Biler","Causes & Non-Profits":"Sager & Non-profit","Movies":"Film","Uk Live Tv":"UK Direkte TV","Fashion":"Mode","Business News Radio":"Business Nyheds Radio","Business Tv":"Business TV","Cars & Auto":"Biler & Auto","Comedy Radio":"Komedie Radio","Lifestyle Radio":"Livsstils Radio","News Tv":"Nyheds TV","Food And Wine":"Mad & Vin","Latino Tv":"Latino TV","Shopping Tv":"Shopping TV","Religion":"Religion","Kids":"Børn","Body & Soul":"Krop & Sjæl","Education":"Uddannelse","Indian Tv":"Indisk TV","Extreme Sports":"Ekstremsport","Middle Eastern Tv":"TV fra Mellemøsten","Celebrity Tv":"Kendis TV","Science Tv":"Videnskabs TV","Bikini babe":"Bikini Piger","Outdoors":"udendørs","German Tv":"Tysk TV","French Tv":"Fransk TV","Italian Tv":"Italiensk TV","Gamer Tv":"Spil TV","Travel":"Rejse TV","Asian Tv":"Asiatisk TV","Entertainment":"Underholdning","News Radio":"Nyheds Radio","Music Radio":"Musik Radio","Language Learning":"Sprog & Læring","Science Radio":"Videnskabs Radio","Tech Radio":"Teknologi Radio","Science & Technology Vod":"Videnskab & Teknologi VOD","new video":"ny video","new episode":"ny episode","new movie":"ny film","recommended":"anbefalet","we recommend":"vi anbefaler","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Afvis notifikationer","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Del","CTX_COPY_SHARE_LINK":"Kopier dele link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Vis","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Se på","CTX_WATCH":"Se","CTX_WATCHED":"Set","CTX_WATCH_BEGINNING":"Se fra begyndelsen","CTX_WATCH_MOBILE":"Se på en mobil enhed","CTX_REWIND":"Tilbage til begyndelsen","CTX_MARK_WATCHED":"Marker som set","CTX_MARK_NON_WATCHED":"Marker som ikke set","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Modtag nye notifikationer","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Fjern cache","CTX_REMOVE_CACHE_EP":"Fjern episode fra cache","CTX_OPEN_CONTAINING":"Åben mappe","CTX_REMOVE":"Fjern fra bibliotek","CTX_AVAILABLE_OFFLINE":"Tilgængelig Offline","CTX_PAUSED":"Pause","CTX_ALWAYS_ON_TOP":"Altid øverst","CTX_FULLSCREEN":"Fuldskærm","CTX_WRONG_SUBS":"Forkerte undetekster?","CTX_REPORT_ISSUES":"Rapporter problem","CTX_COPY":"Kopier","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Indsæt","CTX_CLEAR":"Ryd","CTX_CLEAR_RECENT_SEARCHES":"Ryd seneste søgninger","HELLO_THERE":"Hej","HOPE_YOU_ENJOY":"Vi håber du nyder Stremio og at det er et af dine favorit programmer allerede!","WHO_ARE_WE":"Hvem er vi? Vi er holded bag - to gutter som har arbejdet hårdt de sidste 3 år, med et samlet mål - at gøre dette produkt bedre og bedre.","SUPPORT_US":"Hvis du kan lide Stremio, hvis Stremio er værdifuldt for dig - støt os!","SPREAD_THE_WORD":"Del med dine venner nu, spred ordet omkring Stremio","MORE_PEOPLE":"Nu flere folk der bruger Stremio, nu bedre vil det blive!","SEND_A_LINK":"Eller send et link til vores hjemmeside","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"provides","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.
    This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.
    Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.
    Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to contact us.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"If you are looking to contact us, go ahead at","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science.
    Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which do not play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a endpoint field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your endpoint as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a local cache to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the Cache setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},65835:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"Fernsehkanal","TYPE_channel":"Kanal","TYPE_other":"Sonstige","TYPE_movie_PL":"Filme","TYPE_series_PL":"Serien","TYPE_tv_PL":"Fernsehkanäle","TYPE_channel_PL":"Kanäle","TYPE_other_PL":"Sonstiges","TYPE_ALL":"Alle","TYPE":"Typ","CATALOG_com_linvo_cinemeta_top":"Beliebt","CATALOG_com_linvo_cinemeta_imdbRating":"Vorgestellt","CATALOG_com_linvo_cinemeta_year":"Neu","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Filme","VIDEO":"Video","BACK":"Zurück","MORE":"Mehr","DONE":"Erledigt","COPY":"Kopieren","SUCCESS":"Erfolg","ERROR":"Fehler","SETTINGS_CASTING_MODE_PICKER":"Casting Modus","CASTING_MODE_HLSV2":"Standard","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Keine Transkodierung","Discover":"Entdecken","Board":"Dashboard","Library":"Bibliothek","My Library":"Meine Bibliothek","Calendar":"Kalender","NOTIFICATION_ONLINE":"Sie sind jetzt online","NOTIFICATION_OFFLINE":"Sie sind gerade offline.","INTERNET_CONNECTION":"Netzwerkverbindung","STORAGE_FULL_TITLE":"Warnung: Speicher voll!","STORAGE_FULL_TEXT":"Stremio kann Ihre Einstellungen, Präferenzen oder Anmeldeinformationen nicht speichern. Erwägen Sie, Stremio neu zu starten oder zu installieren.","SEARCH":"Suche","SEARCH_NO_RESULTS":"Es wurden keine Ergebnisse gefunden","SEARCH_EXPLANATION_CONTENT":"Suche nach Filmen, Serien, YouTube- und Fernsehkanälen","SEARCH_EXPLANATION_PEOPLE":"Suche nach Schauspielern, Regisseuren und Autoren","SEARCH_PASTE_LINKS":"HTTP- und Magnet-Links einfügen","SEARCH_OR_PASTE_LINK":"Suchen oder Link einfügen","SEARCH_SUGGESTIONS":"Suchvorschläge","ADD_TO_LIB":"Zur Bibliothek hinzufügen","REMOVE_FROM_LIB":"Aus Bibliothek entfernen","ADDED_TO_LIB":"Zur Bibliothek hinzugefügt","REMOVED_FROM_LIB":"Aus der Bibliothek entfernt","TRAILER":"Filmvorschau","WATCH_TRAILER":"Filmvorschau ansehen","WATCH_NOW":"Jetzt ansehen","SHOW":"Anzeigen","SHOW_MOVIE":"Zeige Film","WATCH_RANDOM":"Zufälliges ansehen","IMDB_RATING":"IMDb-Bewertung","YEAR":"Jahr","DIRECTOR":"Regisseur","WRITER":"Autor","LEAD_ACTORS":"Hauptdarsteller","CAST":"Besetzung","CREW":"Crew","SHOW_MORE_CAST":"Mehr anzeigen »","AIRED":"Ausgestrahlt","SEASONS":"Staffeln","GENRE":"Genre","GENRE_ALL":"Alle Genres","CATALOG":"Katalog","SUMMARY":"Zusammenfassung","SHOW_MORE":"Zeige mehr","SIMILAR":"Ähnlich","UPCOMING":"Bevorstehend","TBA":"TBA","ENDED":"Beendet","DURATION":"Dauer","FEATURED":"Vorgestellt","METADATA":"Metadaten","CATEGORY":"Kategorie","LINKS_GENRES":"Genres","LINKS_CAST":"Besetzung","LINKS_DIRECTORS":"Regisseure","SEARCH_VIDEOS":"Videos suchen","SEARCH_PLACEHOLDER":"Magnet-Link suchen oder einfügen","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"Offiziell","ADDONS_OFFICIAL":"Offizielle Stremio-Addons","ADDONS_POPULAR":"In Ihrer Gegend beliebt","ADDON_FREE":"frei","ADDON_PEERED":"peer-basiert","ADDON_SUBSCRIPTION":"Abonnement","ADDON_STREAM_GEORESTRICTED":"In Ihrer Gegend nicht verfügbar","ADDON_STREAM_OFFLINECACHE":"Offline-Zwischenspeicher","ADDON_STREAM_LOCALFILE":"Lokale Datei","SHARE_ADDON":"Addon teilen","AVAILABLE_STREAMS":"Verfügbare Streams","NO_STREAM":"Keine Streams verfügbar","ALL_ADDONS":"Alle","INSTALL_MORE_ADDONS":"Um mehr Streams bitte weitere Addons installieren","STREAM_NOT_SUPPORTED":"Ausgewählter Stream wird auf dieser Plattform nicht unterstützt.","ADDON_CATALOGUE":"Alle Addons anzeigen »","ADDON_CATALOGUE_MORE":"Mehr Addons »","REPO_ADDED":"Quelle hinzugefügt","ADDON_REPO_EXIST_ERR":"Diese Addon-Quelle existiert bereits","ADDON_REPO_ERR":"Beim Hinzufügen der Addon-Quelle ist ein Fehler aufgetreten","ADDON_ADD_ERR":"Beim Hinzufügen des Addons ist ein Fehler aufgetreten","ERR_ADDON_PROTECTED":"Geschütztes Addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Etwas ist schief gelaufen - die Authentifizierung ist möglicherweise fehlgeschlagen","ERR_NOT_COLLECTION_URL":"Keine Sammlungs-URL","ERR_NOT_ADDON_URL":"Keine Addon-URL","ERR_DETECTFROMURL":"Kann nicht aus der URL erkannt werden","ADDON_DUPLICATE_WARNING":"Warnung: Addon bereits vorhanden","ADDON_COLLECTION_SET_FAILED":"Addon-Sammlung konnte nicht festgelegt werden","SETTINGS_DATA_EXPORT":"Daten exportieren","ADDON_PULL_FAILED":"Herunterladen des Addons fehlgeschlagen","REFRESH_ON_CLICK":"Hier klicken, um es erneut zu versuchen","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film noch im Kino","WATCH_IN_CINEMA":"Sehen Sie ihn in Ihrem lokalen Kino an","IN_THEATER":"Im Kino","GET_TICKETS":"Karten besorgen","UPCOMING_EPISODE":"Bevorstehende Folge","UPCOMING_EPISODE_MESSAGE":"Diese Folge wird ausgestrahlt am","MISSING_DATE_EPISODE":"Für diese Folge gibt es noch kein Datum","MISSING_DATE_EPISODE_MESSAGE":"Diese Folge wurde möglicherweise noch nicht ausgestrahlt","CHANNEL_NOT_SCRAPED":"Dieser Kanal wurde noch nicht gescraped.
    Bitte versuchen Sie es in ein paar Minuten noch mal.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Fügen Sie es zu Ihrer Bibliothek hinzu, um benachrichtigt zu werden, sobald es verfügbar ist.","GET_NOTIFIED_WHEN_AVAILABLE":"Sie werden benachrichtigt, sobald es verfügbar ist.","WARNING_STREAMING_SERVER":"Warnung: lokaler Streaming-Server nicht gefunden. Streaming von lokalen Dateien, YouTube und BitTorrent wird nicht verfügbar sein.","WARNING_STREAMING_SERVER_DISMISS":"Schließen","WARNING_STREAMING_SERVER_LATER":"Später","DECODER_WARNING":"Warnung: Dieses Video wird von Ihrer Hardware möglicherweise nicht unterstützt. Denken Sie daran, dass die Wiedergabe langsam sein könnte.","GENERIC_ERROR_MESSAGE":"Etwas ist schiefgelaufen!","TRY_AGAIN":"Nochmal versuchen","CLEAR_DATA":"Daten löschen","PLAYER_ERROR":"Hoppla, Abspielerfehler","PLAYER_ERROR_LOOKSLIKE":"Es sieht aus wie","PLAYER_ORIENTATION":"Abspielerausrichtung","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Gesperrt","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Abspielerausrichtung im Querformat fixiert","PLAYER_ORIENTATION_SENSOR":"Abspielerausrichtung automatisch (Sensor)","PLAYER_PLAYBACK_SPEED":"Wiedergabegeschwindigkeit","PLAYER_PLAYBACK_ERROR":"Wiedergabefehler, bitte versuchen Sie es erneut","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unbekannter Fehler","PLAYER_PLAYBACK_ERROR_DEFAULT":"Entschuldigung, dieses Video kann nicht von {{productName}} abgespielt werden.","PLAYER_SUBTITLES_LANGUAGES":"Untertitel Sprachen","PLAYER_SUBTITLES_VARIANTS":"Untertitel Varianten","PLAYER_SUBTITLES_SETTINGS":"Untertitel Einstellungen","PLAYER_SUBTITLES_DISABLED":"Untertitel sind deaktiviert","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertikale Position","PLAYER_SUBTITLES_LOADED":"Untertitel geladen","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Eingebettete Untertitel geladen","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exklusive Untertitel geladen","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Untertitel von {{origin}} geladen","PLAYER_PLAY":"Abspielen","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Nächstes Video","PLAYER_MUTE":"Stummschalten","PLAYER_UNMUTE":"Ton einschalten","PLAYER_OPEN_IN_EXTERNAL":"In externem Player öffnen","PLAYER_OPEN_IN_NPLAYER":"In nPlayer öffnen","PLAYER_PLAY_IN":"Auf {{device}} abspielen","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Als Nächstes im Programm","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Als Nächstes","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Ablehnen","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Jetzt ansehen","PLAYER_COPY_STREAM_SUCCESS":"Stream-Link wurde in die Zwischenablage kopiert","PLAYER_COPY_STREAM_ERROR":"Stream-Link konnte nicht kopiert werden","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download-Link wurde in die Zwischenablage kopiert","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Download-Link konnte nicht kopiert werden","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"wiedergegeben von","CASTING_TO":"Casting nach","NETWORK_STATUS":"Netzwerkstatus","STREAM_SPEED":"Stream-Geschwindigkeit:","STREAM_BUFFERED":"Gepuffert:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Aktiv:","PEERS_CONNECTED":"Verbunden:","PEERS_WAITING":"Warten:","TRANSCODING_WARNING":"Warnung: Video wird transkodiert.","STREAM_LOADING":"Ladevorgang...","PLAYING_LOCAL":"Wiedergabe aus lokaler Datei","PLAYING_CACHE":"Wiedergabe aus Zwischenspeicher","WRONG_SUBS":"Falsche Untertitel?","ERR_SUBS_LOADING_TITLE":"Fehler beim Laden der Untertitel","ERR_SUBS_LOADING":"Fehler beim Laden der Untertitel: Dies könnte ein Problem mit dem verwendeten Addon oder Ihrer Netzwerkverbindung sein","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Die folgenden Untertitel-Addons sind fehlgeschlagen","ERR_CASTING_UPDATE_TITLE":"Casting-Geräteinformationen konnten nicht aktualisiert werden: Streaming-Server könnte offline sein","CHOOSE_DEVICE":"Wählen Sie ein Gerät aus, auf dem Sie zuschauen möchten","NO_CAST_DEVICES":"Keine Casting-Geräte vorhanden.","NO_SETTINGS":"Keine Einstellungen verfügbar","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Untertitel","SUBTITLES_CHANGE":"Untertitel ändern für ","SUBTITLES_CHANGE_NONE":"Es gibt keine anderen Untertitel für diese Sprache, Entschuldigung.","SUBTITLES_CHANGE_ACIVE":"Derzeit sind Untertitel #{{subtitlesDialog.activeIdx + 1}} aktiviert. Klicken Sie auf \\"Fortsetzen\\", um Untertitel #{{subtitlesDialog.pickedIdx + 1}}. zu aktivieren","SUBTITLES_OR":"Alternativ,","SUBTITLES_ADJUST_DELAY":"Untertitelverzögerung anpassen:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Oder verwenden Sie die Tasten G / H zum Anpassen während der Wiedergabe.","SUBTITLES_ADJUST_DELAY_TIP":"TIPP: Sie können die Tasten G / H zum Anpassen während der Wiedergabe verwenden.","SUBTITLES_DELAY":"Untertitelverzögerung:","SUBTITLES_LOADING":"Untertitel werden geladen...","SUBTITLES_UNAVAILABLE":"Keine externen Untertitel verfügbar","SUBTITLES_DISABLED":"Deaktiviert","EXTERNAL_PLAYER_DISABLED":"Deaktiviert","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Auswahl erlauben","EXTERNAL_PLAYER_HINT":"Hinweis: Es gibt eine Einstellung, um immer mit externem Player zu öffnen","DONT_SHOW_AGAIN":"Nicht mehr anzeigen","SERVICE_INSTALL":"Installieren","AUDIO":"Audio","DEFAULT_LANGUAGE":"Standard-Sprache","DEFAULT_SECONDARY_LANGUAGE":"Standard-Sekundärsprache","SEASON":"Staffel","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sortieren","SORT_BY":"Sortieren nach","FILTER":"filtern","SORT_TRENDING":"im Trend","SORT_RECENT":"kürzlich","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"Bewertung","SORT_WATCHED":"gesehen","SORT_YEAR":"Jahr","SELECT":"Select","SELECT_TYPE":"Typ auswählen","SELECT_SORT":"Sortierung auswählen","SELECT_CATALOG":"Katalog auswählen","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Genre auswählen","SORT_LASTWATCHED":"Nach zuletzt gesehen","SORT_NAME":"Nach Name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Nach Anzahl gesehen","SORT_NOTWATCHED":"Nicht gesehen","New for You":"Neu für Sie","New Episodes":"Neue Episoden","New Videos":"Neue Videos","Recommendations":"Empfehlungen","LIBRARY_RESUME":"Fortsetzen","LIBRARY_PLAY":"Abspielen","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"Ablehnen","LIBRARY_CLEAR_PROGRESS":"Fortschritt löschen","LIBRARY_REMOVE":"Entfernen","LIBRARY_NOT_LOGGED_IN":"Bibliothek ist nur für angemeldete Benutzer verfügbar","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Kalender ist nur für angemeldete Benutzer verfügbar","NOT_LOGGED_IN_CLOUD":"Greifen Sie jederzeit und überall auf Ihre Lieblingsfilme und Serien zu","NOT_LOGGED_IN_RECOMMENDATIONS":"Empfehlungen basierend auf Ihrem Sehverhalten","NOT_LOGGED_IN_NOTIFICATIONS":"Verpassen Sie nie wieder eine Episode","NOT_LOGGED_IN_CALENDAR":"Planen Sie Ihren persönlichen Serien-Kalender","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Ausgewählt","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar-Gewinner","DISCOVER_WARNING_TITLE":"Hoppla!","DISCOVER_EMPTY_CATALOG":"Dieses Addon liefert leeren Inhalt.","DISCOVER_ADULT_WARNING":"Diese Inhalte sind nur für Erwachsene sichtbar. Sind Sie über 18?","DISCOVER_NOADDON_WARNING":"Warnung: Für diesen Typ ist kein Stremio-Addon aktiv. Gespeicherte Elemente werden angezeigt, nichts wird hier aktualisiert.","DISCOVER_LOAD_ERR":"Diese Inhalte konnten nicht geladen werden, da ein Fehler vorlag.","DISCOVER_ADDON_UNINSTALLED":"Diese Inhalte sind nicht mehr verfügbar. Möglicherweise wurde das Addon deinstalliert.","UNINSTALL_THIS_ADDON":"Dieses Addon deinstallieren","ERR_ADDON_NOT_INSTALLED":"Dieses Addon ist nicht installiert. Jetzt installieren?","DETAIL_RECEIVE_NOTIF_SERIES":"Benachrichtigungen über neue Episoden erhalten","DETAIL_RECEIVE_NOTIF_VIDEOS":"Benachrichtigungen über neue Videos erhalten","SIDEBAR_SHOW_STREAMS":"Streams zeigen","RELAUNCH":"Jetzt neu starten!","UPGRADE":"Neue Version ist verfügbar! Aktualisieren Sie auf die neueste Stremio-Version","RELOAD_UI":"Benutzeroberfläche neu laden","MANUAL_UPDATE_TITLE":"Aktualisieren Sie Ihre Stremio-Version","MANUAL_UPDATE_LINE1":"Sie nutzen eine veraltete Version von Stremio, was nicht empfohlen wird.","MANUAL_UPDATE_LINE2":"Bitte aktualisieren Sie schnellstmöglich.","BUTTON_UPDATE_LATTER":"Nicht jetzt","BUTTON_UPDATE_NOW":"Aktualisieren","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonymer Benutzer","DONT_HAVE_ACC":"Sie haben kein Konto?","HAVE_ACC":"Sie haben bereits ein Konto?","PASSWORD":"Passwort","PASSWORD_CONFIRM":"Passwort bestätigen","EMAIL":"E-Mail","FB_LOGIN":"Mit Facebook anmelden","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Ohne Ihre Berechtigung wird nichts geteilt","FB_NOPOST":"Wir werden nichts in Ihrem Namen posten","OR":"oder","I_ACCEPT":"Ich akzeptiere die","I_ACCEPT_BY_CLICKING":"Wenn Sie auf die obige Schaltfläche klicken, bestätigen Sie, dass Sie die ","TOS":"Nutzungsbedingungen annehmen","MUST_ACCEPT_TERMS":"Sie müssen die Bedingungen annehmen","PASSWORDS_NOMATCH":"Passwörter stimmen nicht überein","SIGN_UP":"Registrieren","SIGN_UP_EMAIL":"Mit E-Mail registrieren","CLICK_TO_SIGN_UP":"Klicken Sie hier, um sich zu registrieren.","LOG_IN":"Anmelden","LOG_OUT":"Abmelden","EXIT_FULLSCREEN":"Vollbildmodus verlassen","ENTER_FULLSCREEN":"Vollbildmodus aktivieren","PLAY_URL_MAGNET_LINK":"URL/Magnet-Link abspielen","HELP_FEEDBACK":"Hilfe und Feedback","TERMS_OF_SERVICE":"Nutzungsbedingungen","PRIVACY_POLICY":"Datenschutzerklärung","ABOUT_STREMIO":"Über Stremio","USER_PANEL":"Nutzerpanel","LOGIN_LABEL":"Anmeldung","GUEST_LOGIN":"Gast-Anmeldung","GUEST_LOGIN_NOTICE":"Gast-Anmeldung wird nicht empfohlen. Mit einer regelmäßigen Anmeldung kann Stremio Ihre Bibliothek synchronisieren und Sie können Benachrichtigungen für Ihre Lieblingserien/-kanäle erhalten. Sind Sie sicher, dass Sie fortfahren möchten?","GUEST_LOGIN_NOTICE_2":"Gast-Anmeldung wird nicht empfohlen - Sie werden keine Bibliotheks- und Dasboard-Benachrichtigungen synchronisiert haben, die wichtige Stremio-Funktionen sind. Sind Sie sicher, dass Sie fortfahren möchten?","CLICK_HERE":"Klicken Sie hier","WRONG_PASSWORD":"Falsche E-Mail-Adresse oder Passwort. Falls Sie Ihr Passwort vergessen haben, ","SET_A_PASS":"Passwort festlegen","RESET_PASSWORD":"Passwort zurücksetzen","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Passwort vergessen?","EMAIL_USED_WITH_FB":"Diese E-Mail-Adresse wurde mit einer Facebook-Anmeldung verwendet.","INVALID_EMAIL":"Bitte geben Sie eine gültige E-Mail-Adresse ein","INVALID_PASSWORD":"Bitte geben Sie ein gültiges Passwort ein","CONN_ERR":"Verbindungsfehler - bitte versuchen Sie es später noch einmal.\\n\\nWenn dies weiterhin besteht, deaktivieren Sie Firewalls/Antivirus-Software (vor allem Bitdefender).","IMPORT_FROM_GUEST":"Bibliothek von Ihrem Gastkonto importieren","RECEIVE_UPDATES_EMAIL":"Aktualisierungen in Ihrer E-Mail von Stremio erhalten","LOGIN_FAILED":"Anmeldung fehlgeschlagen.","SIGNUP_FAILED":"Registrierung fehlgeschlagen.","SEARCH_FAILED":"Suche fehlgeschlagen","EMAIL_USED":"Diese E-Mail-Adresse wird bereits verwendet","WAITING_FB_LOGIN":"Anmeldung mit Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Wiedergabe im externen Player","EXTERNAL_REMEMBER_PLAYER":"Möchten Sie Ihre Auswahl in Erinnerung behalten?","EXTERNAL_ALWAYS_PLAY":"Ja","EXTERNAL_ONLY_ONCE":"Nein","BEST_FIT":"Beste Anpassung","FIT_SCREEN":"In Bildschirm einpassen","FILL":"Ausfüllen","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Erzählen Sie uns, was Sie mögen","INTRO_TASTE_LONG":"Erzählen Sie uns, was Sie gerne sehen möchten","INTRO_TASTE_PICK":"Wählen Sie {{interestsRemaining}} Interessen aus","INTRO_TASTE_PICK_MORE":"Wählen Sie {{interestsRemaining}} weitere Interessen aus","INTRO_TASTE_HELP_US":"Helfen Sie uns, mehr über Sie zu erfahren.","INTRO_TASTE_CHOOSE_THESE":"Wählen Sie einige davon:","INTRO_TASTE_CHOOSE_MIN":"Wählen Sie mindestens 3 Kategorien aus","INTRO_TASTE_CHOOSE_MIN_ERR":"Sie müssen mindestens 3 Kategorien auswählen!","INTRO_TASTE_LIFESTYLE":"Lebensstil","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Essen & Gesundheit","INTRO_TASTE_BEAUTY_FASHION":"Schönheit & Mode","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Spielen","INTRO_TASTE_SCIENCE_EDU":"Wissenschaft & Bildung","INTRO_TASTE_MUSIC":"Musik","INTRO_TASTE_TRAVEL":"Reise","INTRO_TASTE_LATE_NIGHT":"Late-Night-Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Kino","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Ausgewähltes Addon wird auf dieser Plattform nicht unterstützt.","ADDON_DISCLAIMER":"Die Verwendung von Drittanbieter-Addons unterliegt immer Ihrer Verantwortung und dem Recht der Gerichtsbarkeit, in der Sie sich befinden.","ADDON_ACTIVATE":"Dieses Addon aktivieren?","ADDON_REPO_ADD":"Addon-Sammlung URL","ADDON_ADD":"Hinzufügen","INSTALL_ADDON":"Addon installieren","ADD_ADDON":"Addon hinzufügen","ADD_ADDON_DESCRIPTION":"Sie können ein Addon über einen externen Link hinzufügen, das dann unter Installierte Addons erscheint.","PASTE_ADDON_URL":"Addon-URL einfügen","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Was gibt\'s Neues","BUTTON_CONTINUE":"Fortsetzen","BUTTON_ACTIVATE":"Aktivieren","BUTTON_ACTIVATED":"Aktiviert","BUTTON_CANCEL":"Abbrechen","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Senden","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Alle ablehnen","BUTTON_VIEW_ALL":"Alle ansehen","BUTTON_SEE_ALL":"Alle anzeigen","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Im Browser öffnen","LIB_EMPTY":"Ihre Bibliothek sieht leer aus. Finden Sie heraus, wie nützlich sie ist :) ","HOW_START":"So können Sie anfangen:","LIB_EMPTY_CAL":"Ihr Kalender zeigt die Serien in Ihrer Bibliothek an.","HOW_START_CAL":"So können Sie Serien hinzufügen:","LIB_EMPTY_BOARD":"Dashboard zeigt Benachrichtigungen & Empfehlungen zu Ihrer Bibliothek an.","HOW_START_BOARD_WAIT":"Bitte fügen Sie ein paar Serien oder Kanäle zu Ihrer Bibliothek hinzu und geben uns ein paar Minuten zum Verarbeiten :)","HOW_START_BOARD":"So können Sie Serien & Filme zu ihr hinzufügen:","IMPORT_FB":"Importieren Sie Dinge von Facebook, die Sie mögen","IMPORT_TRAKT":"Importieren Sie Ihre Medienbibliothek von Trakt","IMPORT_DISCOVER":"Finden Sie interessante Sachen von Entdecken","IMPORT_DISK":"Importieren Sie Filme oder Shows, die Sie auf Ihrer lokalen Festplatte haben","PLEASE_CREATE_ACC":"Bitte erstellen Sie ein Konto, um das Synchronisieren der Bibliothek und des Dashboards zu ermöglichen.","IMPORT_DISCOVER_SIGNUP":"Registrieren Sie sich und finden Sie interessante Sachen von Entdecken","IMPORT_DISK_SIGNUP":"Registrieren Sie sich und importieren Sie Filme oder Shows, die Sie auf Ihrer lokalen Festplatte haben","LIB_EMPTY_CLOUD":"Cloud-Bibliothek","LIB_EMPTY_CLOUD_DESC":"Persönliche Cloud-Bibliothek auf allen Geräten synchronisiert","LIB_EMPTY_EARLY":"Früher Vogel","LIB_EMPTY_EARLY_DESC":"Erhalten Sie Benachrichtigungen für neue Episoden","LIB_EMPTY_PERSONAL":"Persönlich","LIB_EMPTY_PERSONAL_DESC":"Holen Sie sich persönliche Empfehlungen","LIB_EMPTY_CALENDAR_DESC":"Planen Sie Ihren persönlichen Anschau-Kalender","LIB_EMPTY_ALL":"Registrieren Sie sich, um all dies zu bekommen:","LIB_EMPTY_BEST":"Registrieren Sie sich, um das Beste von Stremio zu bekommen","LIB_EMPTY_OTHER":"Registrieren Sie sich, um Kalender & andere tolle Funktionen zu aktivieren","CALENDAR_ADDED":"Der Stremio-Kalender wurde zu Ihrem Standard-Desktop-Kalender hinzugefügt.","CALENDAR_ADDED_MSG":"Wenn dies nicht funktioniert, fügen Sie diese URL bitte manuell zu Ihrer Kalenderanwendung hinzu","TRAKT_EXPIRED":"Trakt-Authentifizierung abgelaufen, bitte gehen Sie zu den Einstellungen und authentifizieren Sie sich erneut","TRAKT_REQUIRES_LOGIN":"Trakt-Fehler","TRAKT_REQUIRES_LOGIN_MSG":"Sie müssen sich anmelden","TRAKT_IMPORT_WATCHED":"Importieren","THEME":"Design","THEME_DEFAULT":"Standard","THEME_ADAPTIVE":"Adaptiv","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Einstellungen","SETTINGS_NAV_GENERAL":"Allgemein","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Verknüpfungen","SETTINGS_SHORTCUT_RELOAD_APP":"App neu laden","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Einstellungen öffnen","SETTINGS_SHORTCUT_SWITCH_TABS":"Tabs wechseln","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Vorwärts durch Tabs blättern","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Rückwärts durch Tabs blättern","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Zwischen Menüs navigieren","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Zur Suche gehen","SETTINGS_SHORTCUT_EXIT_BACK":"Beenden / Zurück","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Wiedergabegeschwindigkeit-Menü umschalten","SETTINGS_SHORTCUT_MENU_VIDEOS":"Videos-Menü umschalten","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Untertitel-Menü umschalten","SETTINGS_SHORTCUT_MENU_AUDIO":"Audio-Menü umschalten","SETTINGS_SHORTCUT_MENU_INFO":"Info-Menü umschalten","SETTINGS_SHORTCUT_FULLSCREEN":"Vollbild umschalten","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Steuerung anzeigen","SETTINGS_SHORTCUT_PLAY_PAUSE":"Wiedergabe / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Lautstärke erhöhen","SETTINGS_SHORTCUT_VOLUME_DOWN":"Lautstärke verringern","SETTINGS_SHORTCUT_SEEK_NEXT":"Vorwärts springen","SETTINGS_SHORTCUT_SEEK_PREV":"Rückwärts springen","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Zurückspulen","SETTINGS_SHORTCUT_SEEK_FORWARD":"Vorspulen","SETTINGS_SHORTCUT_PLAY_NEXT":"Nächstes abspielen","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Untertitelgröße erhöhen","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Untertitelgröße verringern","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Untertitelverzögerung erhöhen","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Untertitelverzögerung verringern","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Seitenleiste umschalten","SETTINGS_SHORTCUT_OR":"oder","SETTINGS_SHORTCUT_TO":"bis","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Leertaste","SETTINGS_SHORTCUT_SHIFT":"Umschalttaste","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authentifizieren","SETTINGS_FACEBOOK_IMPORT":"Importieren","SETTINGS_CALENDAR_SUBSCRIBE":"Abonnieren","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Kalender-App wurde geöffnet. Bitte abonnieren Sie den Kalender manuell.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Kalenderdatei wurde heruntergeladen. Bitte importieren Sie sie in Ihre Kalender-App.","SETTINGS_INTERFACE_LANGUAGE":"Sprache","SETTINGS_LAUNCH_STARTUP":"Beim Start ausführen","SETTINGS_VLC_DEFAULT":"Mit VLC wiedergeben","SETTINGS_UI_LANGUAGE":"Sprache","SETTINGS_UI_ZOOM":"Oberflächenzoom","SETTINGS_FULLSCREEN_EXIT":"Esc-Taste beendet den Vollbildmodus","SETTINGS_GAMEPAD":"Gamepad-Unterstützung aktivieren","SETTINGS_CLOSE_WINDOW":"Anwendungen beenden, wenn das Fenster geschlossen wird","SETTINGS_SUBTITLES_LANGUAGE":"Standardauswahl für die Untertitelsprache","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Standardgröße der Untertitel","SETTINGS_SUBTITLES_BACKGROUND":"Hintergrund der Untertitel","SETTINGS_SUBTITLES_COLOR":"Farbe der Untertitel","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Umrandungsfarbe der Untertitel","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Hintergrundfarbe der Untertitel","SETTINGS_SEEK_KEY":"Zeitsprung mit Pfeiltasten","SETTINGS_SEEK_KEY_SHIFT":"Zeitsprung mit Pfeiltasten bei gedrückter Umschalttaste","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rückspul- & Vorspuldauer","SETTINGS_BINGE":"Nächste Episode automatisch wiedergeben","SETTINGS_NEXT_VIDEO":"Benachrichtigung zum Start der nächsten Episode anzeigen","SETTINGS_NEXT_VIDEO_TRIGGER":"Nächste Episode-Benachrichtigung anzeigen für:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Dauer des Popup für nächstes Video","SETTINGS_PLAY_IN_BACKGROUND":"Im Hintergrund abspielen","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"In externem Player abspielen","SETTINGS_RESIZE":"Größe des Fensters vor der Wiedergabe automatisch ändern","SETTINGS_OVERRIDE_SERVER":"Streaming-Server-URL überschreiben (erweitert)","SETTINGS_SERVER_ADD_URL":"URL hinzufügen","SETTINGS_SERVER_URL":"Streaming-Server-URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming-Server ist verfügbar.","SETTINGS_SERVER_UNAVAILABLE":"Streaming-Server ist nichtverfügbar.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Fehler","SETTINGS_SERVER_CONFIGURE_TITLE":"Streaming-Server-URL konfigurieren","SETTINGS_SERVER_CONFIGURE_INPUT":"Geben Sie eine Streaming-Server-URL ein","SETTINGS_SERVER_CACHE_SIZE":"Zwischenspeicher-Größe","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent-Profil","SETTINGS_HTTPS_ENDPOINT":"Streaming-HTTPS-Endpunkt: ","SETTINGS_TRANSCODE_PROFILE":"Transkodierungsprofil","SETTINGS_USE_BETA":"Immer neueste Beta verwenden","SETTINGS_IMPORT_FB":"Von Facebook importieren","SETTINGS_IMPORT_DISK":"Von lokaler Festplatte importieren","SETTINGS_IMPORT_TRAKT":"Von Trakt importieren","SETTINGS_PAUSE_MINIMIZED":"Wiedergabe pausieren, wenn die Anwendung minimiert wird","SETTINGS_HWDEC":"Hardwarebeschleunigte Dekodierung","SETTINGS_BACKGROUND":"Hintergrund-Wiedergabe","SETTINGS_SUBSCRIBE_CALENDAR":"Kalender abonnieren","SETTINGS_REQ_EXPORT":"Datenexport anfordern","SETTINGS_ACC_DELETE":"Kontolöschung anfordern","SETTINGS_CHANGE_PASSWORD":"Passwort ändern","SETTINGS_TOS":"Nutzungsbedingungen","SETTINGS_SUPPORT":"Kundendienst kontaktieren","SETTING_LANGUAGE":"Sprache","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Von Trakt.tv abmelden","SETTINGS_TRAKT_LOGOUT_2":"Von Trakt abmelden","SETTINGS_SCAN_FOR_REMOTE":"QR-Code zum Öffnen der Fernbedienung scannen","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop-Benachrichtigungen","SETTINGS_DATA_SAVER":"Datenretter","SETTINGS_LANGUAGE_INTERFACE":"Oberfläche","SETTINGS_LANGUAGE_SUBS":"Standarduntertitel","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Audiospur automatisch auswählen","SETTINGS_DEFAULT_AUDIO_TRACK":"Standard-Audiospur","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround-Sound","SETTINGS_ACCOUNT":"Konto","SETTINGS_PLATFORM":"Plattform","SETTINGS_VERSION":"Version","SETTINGS_ABOUT":"Über","SETTINGS_MPV_WINDOW":"Abspieler in einem separaten Fenster starten (erweitert)","SETTINGS_PLAY_IN_EXTERNAL":"Video immer im externen Player starten","SETTINGS_STORAGE_BUTTON":"Lokalen Speicher leeren","SETTINGS_STORAGE_MODAL_TITLE":"Sind Sie sicher?","SETTINGS_STORAGE_MODAL_MESSAGE":"Dies wird den lokalen Speicher leeren und Sie auslogggen.","SETTINGS_HWDEC_PICKER":"Einstellung für hardwarebeschleunigte Dekodierung wählen","SETTINGS_HW_AUTOMATIC":"Automatik","SETTINGS_HW_DISABLED":"Deaktiviert","SETTINGS_HW_ACCELERATED":"Dekodier-Beschleunigung","SETTINGS_HW_FULL":"Vollständige Beschleunigung","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Deaktiviert","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Netzwerkverbindungsbenachrichtigung","SETTINGS_ANALYTICS":"Analyse erlauben","SETTINGS_REMOTE_URL":"Remote-URL","SETTINGS_COPY_REMOTE_URL":"Remote-URL kopieren","SETTINGS_REMOTE_URL_COPIED":"Remote-URL wurde in die Zwischenablage kopiert","SETTINGS_SECTION_SUBTITLES":"Untertitel","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Steuerung","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Erweitert","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addon-Untertitel","SUBSPICKER_BLACK_BACKGROUND":"Schwarze Hintergrundfarbe verwenden","SUBSPICKER_VERTICAL_OFFSET":"Vertikaler Offset","SUBSPICKER_SIZE":"Größe","SUBSPICKER_DELAY":"Verzögerung","SUBSPICKER_EMBEDDED_SUBS":"Eingebettete Untertitel","MOBILE_PRIVACY_POLICY":"Datenschutzbestimmungen","MOBILE_CRASH_REPORTING":"Absturzbericht","MOBILE_ZOOM_TO_FILL":"Bildschirm ausfüllen","MOBILE_PASSTHROUGH":"Digitaler Audioausgang (Passthrough)","MOBILE_RUN_LOW_BATTERY":"Bei niedrigem Akkustand ausführen","MOBILE_RUN_FOREGROUND":"Als Vordergrund-Dienst ausführen","MOBILE_PERFORMANCE":"LEISTUNG & STABILITÄT","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code läuft ab in ","MOBILE_LOG_INTO":"Mit Ihrem Stremio Konto anmelden ","MOBILE_SCAN_QR":"Scannen Sie den QR Code oder gehen Sie zu ","MOBILE_LINK_ACCOUNT":"Konto verbinden","MOBILE_SPEEDPICKER_CANCEL":"Abbrechen","MOBILE_SPEEDPICKER_LABEL":"Wiedergabegeschwindigkeit wählen","MOBILE_EMPTY_LIBRARY":"Ihre Bibliothek ist leer","MOBILE_NO_ADDON_ACTIVE":"Kein Stremio-Addon für diesen Typ aktiv.","MOBILE_ORGANIZER_WARNING":"Die Stremio Organizer App bietet eingeschränkte Funktionalität. Für eine Liste der abspielbaren Streams und das vollständige Stremio-Erlebnis nutzen Sie bitte Stremio auf dem Desktop.","MOBILE_ADDON_LOADING":"lädt noch","MOBILE_ADDONS_LOADING":"Addons laden noch","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Konfigurieren Sie Ihr Addon","MOBILE_CONFIGURE_ADDON_LABEL":"Addon konfigurieren","MOBILE_ORGANIZER_ADDONS_WARNING":"Die Stremio Organizer App bietet eine eingeschränkte Auswahl an Addons. Für das vollständige Stremio-Erlebnis nutzen Sie bitte Stremio auf dem Desktop.","MOBILE_DISCONNECT":"Trennen","MOBILE_LOOKING_FOR_DEVICES":"Suche nach Geräten...","MOBILE_CAST_TO":"Übertragen an","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Konto löschen","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Die Kontolöschung erfolgt aufgrund rechtlicher Verpflichtungen nicht sofort. Nach der Beantragung der Löschung Ihres Kontos müssen Sie in Zukunft eine andere E-Mail-Adresse/ein anderes Facebook-Profil verwenden, um ein neues Stremio-Konto zu erstellen.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Kontolöschung bestätigen","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ihr Konto wurde mit Facebook erstellt. Um Ihr Konto zu löschen, nutzen Sie bitte unser Benutzerportal unter www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Bitte geben Sie Ihr Passwort ein, um die Kontolöschung zu bestätigen.","MOBILE_DELETE_ACCOUNT_BUTTON":"Konto löschen","NAVIGATION_ON":"An","NAVIGATION_OFF":"Aus","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Ich bin damit einverstanden, von Stremio Marketingmitteilungen zu erhalten","QUIT":"Beenden","CONNECTED":"Verbunden","AUTHENTICATE":"Authentifizieren","AUTHENTICATING":"Authenticating...","CACHING":"Zwischenspeicherung","SETTINGS_CACHING_DRIVE":"Zwischenspeicherungslaufwerk","ENABLE_LOCAL_FILES_ADDON":"Lokales Dateien-Addon aktivieren (Neustart erforderlich)","LOCAL_ADDON_NOT_ENABLED":"Lokales Addon ist nicht aktiviert. Klicken Sie hier, um zu den Einstellungen zu gehen und es zu aktivieren","ENABLE_REMOTE_HTTPS_CONN":"Remote HTTPS-Verbindungen aktivieren","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Datenzwischenspeicherung","MAGNET_PARSING":"Magnet-Link wird geparst","January":"Januar","February":"Februar","March":"März","April":"April","May":"Mai","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"Dezember","Monday":"Montag","Tuesday":"Dienstag","Wednesday":"Mittwoch","Thursday":"Donnerstag","Friday":"Freitag","Saturday":"Samstag","Sunday":"Sonntag","Action":"Action","Comedy":"Comedy","War":"Krieg","Family":"Familie","Animation":"Animation","Adventure":"Abenteuer","Fantasy":"Fantasy","Crime":"Krimi","Mystery":"Mystery","Romance":"Romantik","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Musik","Biography":"Biografie","Documentary":"Dokumentation","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Nachrichten","History":"Geschichte","Game-Show":"Spielshow","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Unterhaltung","Gaming":"Gaming","From TV":"Vom Fernsehen","Lifestyle":"Lebensstil","Science & Education":"Wissenschaft & Bildung","Cooking & Health":"Kochen & Gesundheit","Beauty & Fashion":"Schönheit & Mode","Sports":"Sport","News & Politics":"News & Politik","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automobil","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Filme","Uk Live Tv":"Uk Live Tv","Fashion":"Mode","Business News Radio":"Business News Radio","Business Tv":"Geschäftsfernsehen","Cars & Auto":"Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lebensstilradio","News Tv":"News Tv","Food And Wine":"Essen und Wein","Latino Tv":"Latino Tv","Shopping Tv":"Verkaufsfernsehen","Religion":"Religion","Kids":"Kinder","Body & Soul":"Körper & Seele","Education":"Bildung","Indian Tv":"Indisches Tv","Extreme Sports":"Extremsport","Middle Eastern Tv":"Tv des Mittleren Ostens","Celebrity Tv":"Promifernsehen","Science Tv":"Wissenschaftsfernsehen","Bikini babe":"Bademode","Outdoors":"Outdoors","German Tv":"Deutsches Fernsehen","French Tv":"Französisches Fernsehen","Italian Tv":"Italienisches Fernsehen","Gamer Tv":"Spielerfernsehen","Travel":"Reise","Asian Tv":"Asiatisches Fernsehen","Entertainment":"Unterhaltung","News Radio":"Nachrichtenradio","Music Radio":"Musikradio","Language Learning":"Sprachen lernen","Science Radio":"Wissenschaftsradio","Tech Radio":"Tech Radio","Science & Technology Vod":"Abrufvideo Wissenschaft & Technologie","new video":"neues Video","new episode":"neue Episode","new movie":"neuer Film","recommended":"empfohlen","we recommend":"wir empfehlen","offer of the day":"Angebot des Tages","news":"Nachrichten","music video":"Musikvideo","CTX_SHOW_HOTKEYS":"Hotkeys anzeigen","CTX_DISMISS_NOTIF":"Benachrichtigungen ablehnen","CTX_DISMISS_ALL":"Alles ablehnen","CTX_SHARE":"Teilen","CTX_COPY_SHARE_LINK":"Freigabelink kopieren","CTX_COPY_MAGNET_LINK":"Magnet-Link kopieren","CTX_COPY_STREAM_LINK":"Stream-Link kopieren","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Video-Download-Link kopieren","CTX_DOWNLOAD_VIDEO":"Dieses Video herunterladen","CTX_DOWNLOAD_SUBS":"Untertitel herunterladen","CTX_VIEW_ON_YOUTUBE":"Auf YouTube ansehen","CTX_SHOW":"Anzeigen","CTX_PLAY":"Wiedergabe","CTX_PLAY_IN":"Wiedergabe in","CTX_PLAY_ON":"Wiedergabe auf","CTX_WATCH_ON":"Angesehen am","CTX_WATCH":"Ansehen","CTX_WATCHED":"Angesehen","CTX_WATCH_BEGINNING":"Von Anfang an ansehen","CTX_WATCH_MOBILE":"Auf einem mobilen Gerät ansehen","CTX_REWIND":"Zurückspulen zum Anfang","CTX_MARK_WATCHED":"Als angesehen markieren","CTX_MARK_NON_WATCHED":"Als nicht angesehen markieren","CTX_MARK_UNWATCHED":"Als nicht angesehen markieren","CTX_MARK_REST":"Rest als angesehen markieren","CTX_UNMARK_REST":"Rest als nicht angesehen markieren","CTX_RECEIVE_NEW_NOTIF":"Neue Benachrichtigungen erhalten","CTX_ENABLE_NEW_NOTIF":"Benachrichtigungen aktivieren","CTX_DISABLE_NEW_NOTIF":"Benachrichtigungen deaktivieren","CTX_REMOVE_CACHE":"Aus Zwischenspeicher entfernen","CTX_REMOVE_CACHE_EP":"Episode aus Zwischenspeicher entfernen","CTX_OPEN_CONTAINING":"Enthaltenden Ordner öffnen","CTX_REMOVE":"Aus Bibliothek entfernen","CTX_AVAILABLE_OFFLINE":"Offline verfügbar","CTX_PAUSED":"Pausiert","CTX_ALWAYS_ON_TOP":"Immer oben","CTX_FULLSCREEN":"Vollbild","CTX_WRONG_SUBS":"Falsche Untertitel?","CTX_REPORT_ISSUES":"Problem melden","CTX_COPY":"Kopieren","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Einfügen","CTX_CLEAR":"Löschen","CTX_CLEAR_RECENT_SEARCHES":"Kürzliche Suchanfragen löschen","HELLO_THERE":"Hallöchen","HOPE_YOU_ENJOY":"Wir hoffen, dass Sie Stremio genießen und es schon eine Ihrer Lieblings-Apps ist!","WHO_ARE_WE":"Wer sind wir? Wir sind das Team dahinter - zwei Jungs, die jeden Tag seit den letzten 3 Jahren hart arbeiten, um dieses Produkt besser und besser zu machen.","SUPPORT_US":"Wenn Sie Stremio gerne verwenden, wenn Stremio für Sie wertvoll ist - sagen Sie es weiter!","SPREAD_THE_WORD":"Teilen Sie es jetzt mit Ihren Freunden, erzählen Sie Stremio weiter","MORE_PEOPLE":"Je mehr Menschen Stremio benutzen, desto besser wird es!","SEND_A_LINK":"Oder senden Sie einen Link zu unserer Website","TIP_LOCALFILES":"Tipp: Sie können lokale Videodateien per Drag & Drop in Stremio verschieben","ADDON_MY":"Meine Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Offizielle Addons","ADDON_REPOS":"Addon-Quellen","ADDON_SEARCH":"Addons suchen","ADDON_INSTALL":"Installieren","ADDON_CONFIGURE":"Konfigurieren","ADDON_UNINSTALL":"Deinstallieren","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installiert","ADDON_INSTALLED_MSG":"Addon installiert!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unbekannt","ADDON_ERR":"Addon-Installationsfehler!","ADDON_DISCONNECTED":"Getrennt","ADDON_APP_MISSING":"die App für diese Quelle ist nicht installiert. Möchten Sie sie jetzt installieren?","ADDON_APP_INSTALL":"Jetzt installieren","ADDON_PAGE":"Addon-Seite","ADDON_TOP_CONTENT":"Bestes aus diesem Addon","ADDON_PROVIDES":"Dieses Addon gibt Ihnen:","ADDON_WATCH":"#{types} jetzt ansehen!","ADDON_WATCH_FREE":"#{types} jetzt KOSTENLOS ansehen!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Unterstützte Typen","ADDON_SUPPORTED_CATALOGS":"Unterstützte Kataloge","ADDON_PROVIDES_DISCOVER":"Mehr #{types} in Entdecken","ADDON_PROVIDES_STREAMS":"#{types} ansehen","ADDON_PROVIDES_STREAMS_FREE":"#{types} KOSTENLOS ansehen","ADDON_PROVIDES_SUBTITLES":"Untertitel für #{types}","ADDON_CANTDETECT":"Wir konnten kein laufendes Stremio erkennen, deshalb konnten wir nicht erkennen, welche Addons Sie installiert haben.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Keine Informationen dazu gefunden ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Fehler beim Abrufen von Informationen darüber.","ERR_CANT_PARSE_MAGNET":"Kann Magnet nicht parsen","ERR_NO_MAGNET_INFOHASH":"Kein gültiger Info-Hash für Magnet","ERR_NO_FILE_PATH":"Kann keine Anfrage ohne Pfad zur Datei senden","ERR_NO_TORRENT":"Kein Torrent zurückgegeben","ERR_NO_SUPPORTERD_FILES":"Keine unterstützten Dateien gefunden","ERR_OPENING_FILES":"Externe Dateien konnten nicht geöffnet werden","ERR_INVALID_LINK":"Ungültiger Link","ERR_REGISTERED_ONLY":"Diese Option ist nur für registrierte Benutzer verfügbar.","ERR_CLIPBOARD":"Wiedergabe aus Zwischenablage nicht möglich","ERR_CLIPBOARD_READ":"Zwischenablage kann auf dieser Plattform nicht gelesen werden","ERR_CLIPBOARD_GENERIC":"Keine abspielbare URL in der Zwischenablage gefunden. Bitte kopieren Sie eine URL (z.B. einen Magnet-Link) zu einem Video.","BOARD_CONTINUE_WATCHING":"Weiter ansehen","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filme, die speziell für Sie ausgewählt wurden.
    Dieser Film ist eine Beispielempfehlung.","BOARD_EXPLANATION_EPISODES":"Neue Episoden Ihrer Lieblingsserie kommen hierher.
    Fügen Sie Serien, denen Sie folgen, zu Ihrer Bibliothek hinzu.","BOARD_EXPLANATION_VIDEOS":"Neue Episoden Ihrer Lieblingskanäle kommen hierher.
    Fügen Sie YouTube-Kanäle, denen Sie folgen, zu Ihrer Bibliothek hinzu.","WEBSITE_ENJOYED_BY":"Von über 30 Millionen Nutzern weltweit geschätzt","WEBSITE_STREAMING_ENHANCED":"Streaming verbessert","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio bietet ein sicheres, modernes und nahtloses Unterhaltungserlebnis. Mit seiner benutzerfreundlichen Oberfläche und vielfältigen Inhaltsbibliothek, einschließlich 4K HDR-Unterstützung, können Nutzer ihre Lieblingsfilme und TV-Serien auf allen Geräten genießen. Mit seinem Fokus auf Sicherheit ist Stremio die ultimative Wahl für ein sorgenfreies Streaming-Erlebnis in hoher Qualität.","WEBSITE_AVAILABLE_ON":"Verfügbar für","WEBSITE_WATCH_AND_ENJOY":"Schauen & Genießen.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio macht es kinderleicht","WEBSITE_ALL_FEATURES":"Alle Funktionen","WEBSITE_EASY_TO_USE":"Einfach zu bedienen","WEBSITE_EASY_TO_USE_DETAILS":"Stremio wurde entwickelt, um benutzerfreundlich und einfach zu bedienen zu sein. Mit seiner übersichtlichen und intuitiven Oberfläche können Sie problemlos navigieren und die gewünschten Inhalte finden.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Nahtlos über alle Geräte","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Verfügbar für eine Vielzahl von Plattformen (inkl. Windows, Mac, Linux, Android und mehr), behält Stremio Ihren Fortschritt über alle Ihre Geräte hinweg bei. Melden Sie sich einfach an und schauen Sie weiter, ohne die App auf jedem neuen Gerät neu konfigurieren zu müssen.","WEBSITE_ALL_DOWNLOADS":"Alle Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition-Video-Unterstützung","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Ein integrierter Videoplayer, der die meisten Videoformate unterstützt, einschließlich 4K HDR-Inhalte, ermöglicht Ihnen den Genuss der höchsten verfügbaren Qualität.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Vielfältige Inhaltsbibliothek","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integriert sich mit einer großen Anzahl beliebter Videoquellen wie Netflix, Amazon Prime Video, Hulu, YouTube und vielen mehr.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Kostenloses Konto erstellen","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Maßgeschneidertes Seherlebnis","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio ermöglicht es Ihnen, das Aussehen der Benutzeroberfläche durch Ändern des Designs, Hinzufügen oder Entfernen von Addons und mehr anzupassen.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Mehrsprachige Untertitel-Unterstützung","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Sie können jetzt alle Lieblingsinhalte in Ihrer bevorzugten Sprache genießen, da Stremio Untertitel in allen Sprachen unterstützt.","WEBSITE_ALL_STREMIO_FEATURES":"Alle Stremio-Funktionen","WEBSITE_TRY_STREMIO_TITLE_P1":"Testen Sie Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Jetzt auf Ihrem Fernseher","WEBSITE_YOU_CAN_NOW_WATCH":"Sie können jetzt alle Lieblingsserien auf Ihren Android TV-Geräten ansehen. Die Stremio TV-App ermöglicht Ihnen einen entspannten Filmabend.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Sie können jetzt alle Lieblingsserien auf Ihrem Smart TV oder Android TV ansehen. Die Stremio TV-Apps ermöglichen Ihnen einen entspannten Filmabend.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio für Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Wahrscheinlich die beste und nützlichste App, die man auf seinem Gerät haben kann. Es ist eine der Apps, die ich seit vielen Jahren täglich nutze, besonders auf meinem Android TV. Gut gemacht mit einer starken Community, die nützliche Funktionen bereitstellt. Gut gemacht. Weiter so.","WEBSITE_REVIEWS":"Bewertungen","WEBSITE_GET_STREMIO_FOR_FREE":"Holen Sie sich Stremio kostenlos","WEBSITE_GET_STREMIO_NOW":"Holen Sie sich Stremio jetzt","WEBSITE_STREMIO_FEATURES":"Stremio-Funktionen","WEBSITE_STREMIO_FEATURES_DETAILS":"Streamen Sie wie ein Profi mit Stremios erweiterten Funktionen und genießen Sie nahtlosen Zugriff auf all Ihre Lieblingsmedien","WEBSITE_DISCOVER_MORE":"Entdecken Sie mehr.","WEBSITE_DISCOVER_MORE_DETAILS":"Endlose Unterhaltung garantiert","WEBSITE_COMMUNITY_DRIVEN":"Von der Community entwickelt","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio hat eine große und aktive Community von Nutzern, die durch das Erstellen und Teilen von Addons zur Entwicklung der Software beitragen.","WEBSITE_GET_INVOLVED":"Machen Sie mit","WEBSITE_NEW_THEATER_EXPERIENCE":"Neues Kino-Erlebnis","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremios neue TV-App ermöglicht Ihnen einen Filmabend auf Ihren Android TV-Geräten.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremios neue TV-Apps ermöglichen Ihnen einen Filmabend auf Ihrem Smart TV oder Android TV-Geräten.","WEBSITE_FREE_AND_SECURE":"Kostenlos & Sicher","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio bietet unübertroffene Sicherheit und Privatsphäre für Benutzer. Mit seiner einzigartigen Funktion, Addons remote auszuführen, bietet Stremio im Vergleich zu anderen Plattformen eine sicherere Möglichkeit, Ihre Lieblingsinhalte zu streamen. Ihre Sicherheit und Privatsphäre haben oberste Priorität, und die Plattform stellt sicher, dass alle Ihre Daten geschützt sind.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Verabschieden Sie sich von Sorgen um Sicherheit und Privatsphäre und begrüßen Sie eine Welt der endlosen Unterhaltung mit Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informationen bereitgestellt von","WEBSITE_CONTRIBUTE_DESC":"zum Projekt & helfen Sie uns, Stremio noch besser zu machen","WEBSITE_COMMUNITY_DESC":"Wir glauben, dass der beste Weg, ein wirklich erstaunliches Streaming-Erlebnis zu schaffen, darin besteht, unsere Community in den Prozess einzubinden. Ob Sie Programmierer, Künstler oder einfach nur Fan sind - Sie können helfen, Stremio weiterzuentwickeln.","WEBSITE_COMMUNITY_DESC_2":"Machen Sie also noch heute mit und werden Sie Teil der Stremio-Community und gestalten Sie weiterhin die Zukunft des Streamings.","WEBSITE_WAYS_TO_GET_INVOLVED":"Möglichkeiten zum Mitmachen","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in der Stremio-Community","WEBSITE_SHARE_YOUR_THOUGHTS":"Teilen Sie Ihre Gedanken","WEBSITE_REPORT_BUGS":"Melden Sie Fehler","WEBSITE_SUGGEST_FEATURES":"schlagen Sie Funktionen vor","WEBSITE_AND_PROVIDE_FEEDBACK":"und geben Sie Feedback in unseren sozialen Medien.","WEBSITE_BETA_TESTING_PROGRAM":"Beta-Testprogramm","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Nehmen Sie an unserem Beta-Testprogramm teil (wir verschicken regelmäßig Einladungen).","WEBSITE_JOIN_NOW":"Jetzt beitreten!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Offizielle Stremio-Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Inoffizielle Stremio-Communities","WEBSITE_BECOME":"Werden Sie","WEBSITE_A_VOLUNTEER_TRANSLATOR":"freiwilliger Übersetzer","WEBSITE_ARE_YOU_A_DEVELOPER":"Sind Sie Entwickler?","WEBSITE_CONTRIBUTE_CODE":"Sie können Code zu unseren Open-Source-Projekten beitragen. Wir haben mehrere Projekte auf GitHub, die nach Mitwirkenden suchen. Wenn Sie interessiert sind zu helfen, schauen Sie hier:","WEBSITE_STREMIO_ON_GITHUB":"Stremio auf GitHub","WEBSITE_CREATE_ADDON_DESC":"Erstellen Sie ein Addon zur Erweiterung von Stremios Funktionalität (wir haben eine benutzerfreundliche API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio-Addon SDK","WEBSITE_INTERN_DEVELOPER":"Wir bieten auch die Möglichkeit, als Praktikant in der Entwicklung bei uns einzusteigen, damit wir gemeinsam wachsen können.","WEBSITE_APPLY_AS_AN_INTERN":"Als Praktikant bewerben","WEBSITE_CALLING_ALL_ARTISTS":"Aufruf an alle Künstler!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Zeigen Sie Ihre Kreativität und Ihre Begeisterung für Stremio, indem Sie Ihre Fan-Art in unserer Online-Galerie hochladen. Ob Zeichnung, Gemälde oder digitales Design - wir möchten Ihre einzigartige Interpretation der Marke Stremio sehen. Werden Sie Teil unserer Kunstgemeinschaft und teilen Sie Ihre Werke mit Stremio-Fans auf der ganzen Welt.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart-Galerie","WEBSITE_INTERN_DESIGNER":"Werden Sie Teil unseres Teams und entfalten Sie Ihre Kreativität mit unseren spannenden Praktikumsmöglichkeiten.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Filme Projekt","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Bei Stremio setzen wir uns dafür ein, die Film- und Fernsehgeschichte zu bewahren, indem wir gemeinfreie und verwaiste Videos identifizieren. Durch die Zusammenarbeit mit unserer Community können wir sicherstellen, dass diese klassischen Kunstwerke für alle zugänglich und für zukünftige Generationen erhalten bleiben.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Kontaktieren Sie uns gerne, wenn Sie sich an diesem Projekt beteiligen möchten.","WEBSITE_JOIN_THE_PROJECT":"Projekt beitreten","WEBSITE_BE_PART_OF_OUR_MISSION":"Werden Sie Teil unserer Mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interessiert daran, Teil des Stremio-Teams zu werden? Wir bieten vollständig remote Arbeit für engagierte Fachkräfte. Schauen Sie sich unsere offenen Stellen an.","WEBSITE_OPEN_POSITIONS":"OFFENE STELLEN","WEBSITE_DESCRIPTION":"BESCHREIBUNG","WEBSITE_LEARN_MORE":"Mehr erfahren","WEBSITE_COMPANY":"Unternehmen","WEBSITE_CONTACTS":"Kontakte","WEBSITE_NEED_HELP":"Hilfe gefällig?","WEBSITE_STREMIO_WEB_ON_IOS":"Anleitung für Stremio Web auf iOS","WEBSITE_LINK_ART_V2":"Fanart-Galerie","WEBSITE_PARTNERS":"Partner","WEBSITE_SLOGAN_WATCH":"Sofort ansehen","WEBSITE_SLOGAN_ALL":"Alle Videoinhalte, die Sie an einem Ort genießen","WEBSITE_SLOGAN_NEW":"Alles, was Sie sehen können","WEBSITE_SLOGAN_NEW_NEW":"Streaming ohne Einschränkungen","WEBSITE_WATCH_FROM":"Ansehen von","WEBSITE_DOWNLOAD":"Jetzt herunterladen","WEBSITE_DOWNLOAD_FOR":"Jetzt herunterladen für","WEBSITE_IS_DESKTOP":"Stremio ist eine Desktop-Anwendung, öffnen Sie diese Seite auf Ihrem PC und laden Sie sie herunter","WEBSITE_DESKTOP_DEMO_VID":"Desktop-Demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Funktionen","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technologie","WEBSITE_PAGE_CREATE_ADDON":"Addon erstellen","WEBSITE_PAGE_CONTACTS":"Kontakte","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Bitte geben Sie unten Ihr gewünschtes neues Passwort ein.","WEBSITE_RESET_PASSWORD_WARNING":"Sind Sie sicher, dass Sie das Passwort für ${1} zurücksetzen möchten?","WEBSITE_TYPE_movie":"Filme","WEBSITE_TYPE_series_PL":"Serien","WEBSITE_TYPE_tv":"Live-Fernsehen","WEBSITE_TYPE_channel":"Kanäle","WEBSITE_STREMIO_WHAT_IS":"Stremio ist eine App, die Ihnen hilft, Ihre Lieblingsvideos, Filme, Fernsehserien und Fernsehkanäle zu organisieren und sofort anzusehen.","WEBSITE_FEATURES_WATCH":"Sofort in HD ansehen","WEBSITE_FEATURES_WATCH_DETAIL":"Klicken und geben Sie Ihre Lieblingsfilme, Fernsehshows, Videos und Fernsehkanäle wieder.","WEBSITE_FEATURES_SUBS":"Automatische Untertitel","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio holt automatisch synchronisierte Untertitel für Ihre Sprache.","WEBSITE_FEATURES_SUBS_LABEL":"Sie sind dran, Chef.","WEBSITE_FEATURES_CAST":"Auf Fernseher & mobilen Geräten wiedergeben","WEBSITE_FEATURES_CAST_DETAIL":"An AppleTV, Chromecast, Smart TV (DLNA/UPnP) und mobile Geräte übertragen.","WEBSITE_LIB":"Genießen Sie Ihre persönliche synchronisierte Bibliothek auf all Ihren Geräten","WEBSITE_LIB_COLLECT":"Von Stremio sammeln","WEBSITE_LIB_IMPORT":"Von Facebook importieren","WEBSITE_LIB_LOCAL":"Von Ihrer lokaler Festplatte hinzufügen","WEBSITE_BOARD":"Das Dashboard - Ihr zentraler Ort für Benachrichtigungen und Empfehlungen","WEBSITE_BOARD_RECOMMEND":"Empfohlene Fernsehshow","WEBSITE_BOARD_TRENDING":"Film im Trend","WEBSITE_BOARD_NEW":"Neues Video","WEBSITE_BOARD_EPISODE":"Neue Episode","WEBSITE_BOARD_1":"Suchen Sie etwas Interessantes zum Anschauen? Holen Sie sich Empfehlungen nach Ihrem Geschmack!","WEBSITE_BOARD_2":"Lassen Sie sich benachrichtigen, wenn eine neue Episode Ihrer Lieblingssendung oder Ihres Lieblingskanals auf YouTube veröffentlicht wurde!","WEBSITE_BOARD_YOUTUBE":"Neue Videos von YouTube-Kanälen","WEBSITE_BOARD_EPISODES":"Neue Episoden von Serien, denen Sie folgen","WEBSITE_ADDONS":"Inhalts-Addons","WEBSITE_TECH_DETAIL":"Wir lieben Technologie, wir lieben verrückte Wissenschaft!\\nStremio verwendet die folgenden Open-Source-Technologien:","WEBSITE_TECH_WCJS":"WebChimera.js erlaubt Stremio die Wiedergabe jedes Videoformats mit guter Leistung.","WEBSITE_TECH_WCJS_EXTRA":"Wir sind Kern-Projektbeitragende","WEBSITE_TECH_ELECTRON":"Electron bietet eine innovative Plattform, um Stremio damit zu bauen.","WEBSITE_TECH_ELECTRON_EXTRA":"Wir sind Projektbeitragende","WEBSITE_TECH_LINVODB":"Eine Datenbank-Technologie, die sicherstellt, dass Ihre Daten organisiert und überall verfügbar sind, wo Sie sich anmelden.","WEBSITE_TECH_LINVODB_EXTRA":"Hauseigene Technologie","WEBSITE_CREATE_ADDON":"Erstellen Sie Ihr Addon","WEBSITE_CREATE_ADDON_DETAIL":"Haben Sie einen Dienst, der Videoinhalte anbietet? Wir helfen Ihnen, von den Funktionen von Stremio zu profitieren, indem wir Ihr Addon erstellen.","WEBSITE_CREATE_ADDON_BENEFITS":"Vorteile vom Erstellen eines Addons für Stremio","WEBSITE_P2P_BEAUTY":"Die Schönheit von Peer-to-Peer-Streaming","WEBSITE_P2P_1":"Zuverlässige und erschwingliche Full HD / 4K Video on Demand oder Live-Streaming","WEBSITE_P2P_2":"Verteilungsplattform für großartige Benutzererfahrung","WEBSITE_P2P_3":"Wir erstellen ein Addon, das Ihre genauen Bedürfnisse erfüllt","WEBSITE_P2P_CONTACT":"Interessiert? Sie sind herzlich eingeladen, uns zu kontaktieren.","WEBSITE_P2P_CONTACT_EXTRA":"Wir helfen Ihnen gerne bei der Integration Ihrer Inhalte mit Stremio!","WEBSITE_P2P":"Gelegentlich kommt eine Technologie, die den Namen des Spiels ändert. Wir haben viel Zeit und Mühe investiert, unsere Peer-to-Peer (P2P) Video-Streaming-Engine zu bauen, die eine hervorragende Leistung und Vielseitigkeit bietet, um sich jedem Anwendungsfall anzupassen.\\nKontaktieren Sie uns für DRM-fähiges P2P-Abrufvideo oder Live-Streaming.","WEBSITE_THOUGHTS":"Gedanken, die wir teilen:","WEBSITE_SPREAD":"Erzählen Sie über Stremio:","WEBSITE_CONTACT":"Kontaktieren Sie uns, wir freuen uns von Ihnen zu hören!","WEBSITE_OPENSOURCE":"Für unsere Open-Source-Projekte, gehen Sie zu unserem","WEBSITE_BITCOIN":"Bitcoin spenden:","WEBSITE_FAQ":"Häufig gestellte Fragen","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Fragen","WEBSITE_TOS":"Nutzungsbedingungen","WEBSITE_LEGAL":"Rechtlich","WEBSITE_PAGE_ABOUT":"Über","WEBSITE_PAGE_BECOME_PARTNER":"Werden Sie Partner","WEBSITE_ALL_YOU_CAN_WATCH":"Alles, was Sie ansehen können","WEBSITE_FREEDOM_TO_STREAM":"Streaming ohne Einschränkungen","WEBSITE_WHAT_IS_STREMIO":"Was ist Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio ist eine zentrale Anlaufstelle für Video-Content-Aggregation. Entdecken, organisieren und schauen Sie Videos aus allen möglichen Quellen auf jedem Ihrer Geräte.","WEBSITE_WHAT_IS_STREMIO_P2":"Filme, TV-Shows, Serien, Live-Fernsehen oder Web-Kanäle wie YouTube und Twitch.tv - all das finden Sie auf Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio ist ein modernes Mediencenter, das eine Komplettlösung für Ihre Videounterhaltung bietet. Sie entdecken, schauen und organisieren Videoinhalte über einfach zu installierende Addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filme, TV-Shows, Live-TV oder Web-Kanäle - finden Sie all das auf Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Genießen Sie es auf all Ihren Mediengeräten.","WEBSITE_DEVICES_COLLECT":"Von Stremio abholen","WEBSITE_DEVICES_IMPORT_FB":"Von Facebook importieren","WEBSITE_DEVICES_LOCAL":"Von lokalem Laufwerk hinzufügen","WEBSITE_JOIN_THE_PARTY_NOW":"Seien Sie jetzt dabei","WEBSITE_DEVICES_ALL":"Einfach zu bedienen auf all Ihren Geräten;","WEBSITE_EXTENDABLE_CATALOG":"Unbegrenzt erweiterbarer Video-Katalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Großartige Funktionen zur Organisation Ihrer Medien;","WEBSITE_AS_SEEN_ON":"Wie gesehen am","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Über uns","WEBSITE_LINK_TECHNOLOGY":"Technologie","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"Mehr","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Beitragen","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Mehr","WEBSITE_LINK_HELP":"Hilfezentrum","WEBSITE_LINK_CONTACTS":"Kontaktieren Sie uns","WEBSITE_LINK_TOS":"Nutzungsbedingungen","WEBSITE_LINK_PRAVACY":"Datenschutzerklärung","WEBSITE_SUBSCRIBE":"Abonnieren","WEBSITE_NEWSLETTER":"Abonnieren Sie unseren Newsletter für spannende Neuigkeiten","WEBSITE_PLACEHOLDER_EMAIL":"Ihre E-Mail","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Datenschutz & Rechtliches","WEBSITE_WHY":"Warum wir es tun","WEBSITE_WHY_P1":"Bei Stremio kommen wir jeden Tag zur Arbeit, weil wir ein wichtiges Problem der Video-on-Demand-Branche lösen wollen. Es wird so viel neuer Content pro Minute veröffentlicht, dass es praktisch unmöglich ist, sich darin zurechtzufinden.","WEBSITE_WHY_P2":"Wir helfen Menschen, sich in dieser riesigen Welt der Videounterhaltung zurechtzufinden und neue Inhalte zu entdecken. Unsere Apps vereinen Filme, Serien, Live-TV, Web-Kanäle und mehr. Wir setzen uns dafür ein, dass Nutzer ihre bevorzugten Titel und Sender unglaublich einfach finden können.","WEBSITE_WHY_P3":"Sie können unseren Service auf jedem Gerät und zu jeder Zeit nutzen, wodurch Stremio die einzige Anlaufstelle für Videounterhaltung ist, die Sie jemals brauchen werden.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"Das Stremio-Team ist klein, aber schlagkräftig: Zu zehnt programmieren wir in X Sprachen und teilen Expertise in Softwareentwicklung, UI- und UX-Design, Marketing und Werbung sowie in Business und Startups.","WEBSITE_FEATURES":"Funktionen","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Entdecken Sie neue Inhalte mit Leichtigkeit","WEBSITE_FEATURES_DISCOVER_P":"Entdecken Sie mühelos neue Filme, TV-Shows, Serien und Kanäle zum Anschauen. Durchsuchen Sie nach Kategorie, Genre, Bewertung, Aktualität etc. oder geben Sie einfach einen Namen ein. Stremio macht das Finden neuer Videoinhalte zum Kinderspiel.","WEBSITE_FEATURES_ALL_CONTENT":"All Ihre Videoinhalte auf einem Bildschirm","WEBSITE_FEATURES_ALL_CONTENT_P1":"Sehen Sie, welche Filme, Serien oder Videos Sie nicht beendet haben und schauen Sie weiter; erhalten Sie Benachrichtigungen über neue Episoden und Veröffentlichungen; und durchstöbern Sie die Empfehlungen, die Sie basierend auf Ihren Sehgewohnheiten erhalten.","WEBSITE_FEATURES_LIBRARY":"Organisieren Sie Ihre Videobibliothek","WEBSITE_FEATURES_LIBRARY_P1":"Fügen Sie jeden Titel mit einem einzigen Klick zu Ihrer Stremio-Bibliothek hinzu und finden Sie sich in Ihren Inhalten zurecht, übersichtlich sortiert nach Art, Aktualität oder alphabetischer Reihenfolge.","WEBSITE_FEATURES_CALENDAR":"Behalten Sie alles im Blick, was Sie schauen","WEBSITE_FEATURES_CALENDAR_P1":"Erhalten Sie eine Kalenderansicht aller Filme und Serien, die Sie Ihrer Bibliothek hinzufügen. Exportieren und synchronisieren Sie Ihren Stremio-Kalender, damit Sie immer wissen, wann eine neue Episode oder Premiere ansteht.","WEBSITE_FEATURES_BIG_SCREEN":"Genießen Sie Ihre Videoinhalte auf einem größeren Bildschirm","WEBSITE_FEATURES_BIG_SCREEN_P1":"Übertragen Sie mit einem Klick, was Sie gerade schauen, auf ein anderes Gerät - sei es ein Smartphone, Tablet oder Fernseher.","WEBSITE_FEATURES_SOURCES":"Schauen Sie Videos aus vielen verschiedenen Quellen","WEBSITE_FEATURES_SOURCES_P":"Installieren Sie offizielle und Community-Addons, um Videos von verschiedenen Anbietern zu genießen - alles in einer eleganten, benutzerfreundlichen App.","WEBSITE_CREATE_AN_ADDON":"Addon erstellen","WEBSITE_FEATURES_SYNC":"Synchronisieren Sie Ihre Bibliothek über verschiedene Geräte und setzen Sie die Wiedergabe fort","WEBSITE_FEATURES_SYNC_P1":"Melden Sie sich mit Ihrem Konto auf allen Ihren Geräten an und genießen Sie Ihre synchronisierte Bibliothek, Addons, Wiedergabe und Kalender.","WEBSITE_FEATURES_EXTENDABLE":"Erweiterbarer Video-Katalog durch Addons","WEBSITE_FEATURES_EXTENDABLE_P1":"Der Stremio-Addon-Katalog bietet eine Vielzahl von Addons zum Installieren und Ansehen verschiedener Videoinhalte. Dazu gehören Filme, Shows, Live-TV, Sport, Nachrichten, Podcasts, Web-Kanäle, Videospiele und mehr.","WEBSITE_FEATURES_AUTO_SUBS":"Automatische Untertitel","WEBSITE_FEATURES_AUTO_SUBS_P1":"Mit unseren Untertitel-Addons erhalten Sie automatisch ausgewählte Optionen für Ihre bevorzugte Sprache.","WEBSITE_FEATURES_CHROMECAST":"Übertragung auf Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Genießen Sie Ihre Videoinhalte auf einem größeren Bildschirm oder übertragen Sie einfach, was Sie gerade schauen, auf ein anderes Gerät.","WEBSITE_FEATURES_KEEP_TRACK":"Behalten Sie Ihre Lieblings-TV-Shows und Web-Kanäle im Blick","WEBSITE_FEATURES_KEEP_TRACK_P1":"Erhalten Sie eine Kalenderansicht und Benachrichtigungen für neue Episoden Ihrer Lieblingsserien und Web-Kanäle.","WEBSITE_FEATURES_POWER_USER":"Funktionen für Power-User","WEBSITE_FEATURES_POWER_USER_P1":"Wiedergabe in externem Player","WEBSITE_FEATURES_POWER_USER_P2":"Wiedergabe von Torrent-Datei oder Magnet-Link","WEBSITE_FEATURES_POWER_USER_P3":"Import in Ihre Bibliothek von Facebook-Likes oder lokalem Speicher","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"Alle Videoinhalte, die Stremio bereitstellt, werden über ein Addon-System bezogen - keine Inhalte oder Anbieter sind direkt in die App eingebaut.","WEBSITE_ADD_ONS_P2":"Es gibt zwei Gruppen von Addons: offizielle und Community-Addons.","WEBSITE_ADD_ONS_P3":"Die offiziellen werden von Stremio entwickelt und gehostet, während Community-Addons von unseren Community-Mitgliedern erstellt und gehostet werden.","WEBSITE_ADDONS_OFFICIAL":"Offizielle Addons","WEBSITE_ADDONS_WATCHUB":"Streamen Sie Ihre Lieblingsfilme, -serien und -shows von Anbietern wie iTunes, Hulu, Amazon und anderen UK/US-Diensten.","WEBSITE_ADDONS_YOUTUBE":"Schauen Sie Ihre bevorzugten YouTube-Kanäle werbefrei und erhalten Sie Benachrichtigungen über neue Uploads von den Erstellern, denen Sie folgen.","WEBSITE_ADDONS_FILMON":"Schauen Sie kostenlos Live-TV, Filme und Social Television. 600 TV-Kanäle, 45.000 kostenlose Filme, Dokumentationen und mehr.","WEBSITE_ADDONS_OPENSUBTITLES":"Film- und TV-Untertitel in mehreren Sprachen, täglich werden tausende übersetzte Untertitel hochgeladen.","WEBSITE_ADDONS_COMMUNITY":"Community-Addons","WEBSITE_ADDONS_FILMON_VOD":"Schauen Sie Video-on-Demand von Filmon.tv","WEBSITE_ADDONS_TWICH":"Schauen Sie Live-Streams von Twitch.tv - einer Videostreaming-Plattform für die E-Sports-Branche.","WEBSITE_ADDONS_VODO":"Schauen Sie Indie-Filme völlig kostenlos.","WEBSITE_ADDONS_NETFLIX":"Schauen Sie Netflix-Filme und Webserien.","WEBSITE_ADDONS_CREATE":"Addon erstellen","WEBSITE_ADDONS_CREATE_P1":"Wenn Sie möchten, können Sie Ihr eigenes Addon entwickeln. Auf diese Weise können Sie sich selbst und unserer Community Zugang zu neuen Videoinhalten verschaffen und ein neues, gezieltes Publikum von Millionen von Nutzern weltweit erreichen.","WEBSITE_ADDONS_START_CREATE":"Besuchen Sie zum Einstieg die Stremio-Addon SDK-Seite:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"Für optimale Leistung empfehlen wir die Nutzung der neuesten verfügbaren Version der Stremio-Apps. Falls Sie aus irgendeinem Grund jedoch eine ältere Version verwenden möchten, können Sie diese hier herunterladen.","WEBSITE_DOWNLOADS_P1_SHORT":"Für optimale Leistung empfehlen wir die Nutzung der neuesten verfügbaren Version der Stremio-Apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio für Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio für macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio für Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio für Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio für Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio für Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio für Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio für iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio für Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio für LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio für Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio für Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio für Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio für Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio für Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio für Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio für Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio für Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Suchen Sie nach Stremio im App Store von Samsung TV-Modellen ab 2019","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Suchen Sie nach Stremio im App Store von LG TV-Modellen ab 2020","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Suchen Sie nach Stremio in der Play Store App auf Sony TV mit Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Suchen Sie nach Stremio in der Play Store App auf Philips TV mit Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Suchen Sie nach Stremio im App Store Ihres Xbox-Geräts","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Anleitung für Stremio OS auf RPI","WEBSITE_LINK_GUIDE":"Anleitung","WEBSITE_DOWNLOAD_SERVICE":"Stremio Service herunterladen","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service ist eine Begleit-App für Stremio Web. Wir empfehlen die Nutzung der neuesten verfügbaren Version von Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service für Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service für macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service für Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service für Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio für Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Mehr Download Optionen","WEBSITE_DOWNLOAD_NEW":"Neu!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Wir haben Stremio Web veröffentlicht","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Wir haben Stremio für Samsung TV veröffentlicht","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Wir haben Stremio für LG TV veröffentlicht","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Wir haben Stremio für Xbox veröffentlicht","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Wir haben Stremio für Raspberry Pi veröffentlicht","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Wir haben Stremio 5 für Windows veröffentlicht","WEBSITE_CONTRIBUTE":"Tragen Sie bei","WEBSITE_CONTRIBUTE_P1":"Die Stremio-Plattform ist Open Source und Sie können einfach ein Addon für Inhalte erstellen, die aktuell nicht verfügbar sind.","WEBSITE_CONTRIBUTE_WHY":"Warum sollten Sie ein Addon erstellen?","WEBSITE_CONTRIBUTE_WHY_P1":"Erreichen Sie neue Zielgruppen für Ihre Videoinhalte","WEBSITE_CONTRIBUTE_WHY_P2":"Stremios Nutzerbasis wächst rasant - im ersten Jahr nach der Einführung hatte Stremio bereits 1 Million Nutzer weltweit, und im zweiten Jahr stieg diese Zahl auf 2,5 Millionen.","WEBSITE_CONTRIBUTE_WHY_P3":"Mit Ihrem Addon können Sie diese Zielgruppe einfach erreichen und Ihre Videoinhalte an sie verteilen.","WEBSITE_CONTRIBUTE_ALL":"Schauen Sie Ihre Lieblingsfilme, -videos, -serien und -kanäle an einem einzigen Ort.","WEBSITE_CONTRIBUTE_ALL_P1":"Sind Sie Fan von bestimmten Inhalten, die es auf Stremio noch nicht gibt? Erstellen Sie ein Addon dafür und genießen Sie Ihre Lieblingsvideos in einer der größten und benutzerfreundlichsten Unterhaltungszentralen auf dem Markt.","WEBSITE_CONTRIBUTE_ALL_P2":"Darüber hinaus erhalten Sie die endlose Dankbarkeit anderer gleichgesinnter Stremio-Community-Mitglieder.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetarisieren Sie Ihr Addon und verdienen Sie damit Geld","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Sobald Sie ein neues Addon für Stremio entwickelt haben, können Sie es auf verschiedene Arten monetarisieren. Wenn Sie dies in Betracht ziehen, kontaktieren Sie uns gerne unter ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - wir beraten Sie gerne zu den Monetarisierungsmöglichkeiten für Addons.","WEBSITE_CONTRIBUTE_TRANSLATE":"Werden Sie freiwilliger Übersetzer","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Wenn Sie die Stremio-Apps in verschiedenen Sprachen genießen möchten, können Sie sich unserer Community freiwilliger Übersetzer anschließen. Sie helfen uns, Versionen von Stremio in vielen verschiedenen Sprachen anzubieten.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Möchten Sie direkt loslegen?","WEBSITE_TRANSALTE_STREMIO":"Stremio übersetzen","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Offizielle Communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Werden Sie Teil der wachsenden Stremio-Community. Folgen Sie uns in den sozialen Medien und scheuen Sie sich nicht, Hallo zu sagen - wir freuen uns über jede Nachricht unserer Fans!","WEBSITE_COMMUNITY_UNOFFICIALS":"Inoffiziell","STREMIO_COMMUNITY_NL":"Stremio Niederlande","STREMIO_COMMUNITY_BRASIL":"Stremio Brasilien","STREMIO_COMMUNITY_GERMANY":"Stremio Deutschland","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgien","STREMIO_COMMUNITY_FRANCE":"Stremio Frankreich","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italien","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexiko","STREMIO_COMMUNITY_ADDONS":"Stremio-Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partner und Unterstützer","WEBSITE_COMMUNITY_GOODIES":"Stremio-Goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Hintergrundbilder","WEBSITE_COMMUNITY_ART":"Community-Kunstgalerie","WEBSITE_LINK_ART":"Community-Kunstgalerie","WEBSITE_CONTACT_US":"Kontaktieren Sie uns","WEBSITE_CONTACT_US_P1":"Wenn Sie Fragen, Kommentare oder Vorschläge haben, können Sie uns gerne über das untenstehende Kontaktformular erreichen.","WEBSITE_CONTACT_US_P2":"Bitte beachten Sie, dass wir uns in Bulgarien befinden, sodass es aufgrund der Zeitzonenunterschiede zu Verzögerungen bei der Bearbeitung Ihrer Anfrage kommen kann.","WEBSITE_CONTACT_US_SUCCESS":"Ihre Nachricht wurde gesendet. Wir werden uns schnellstmöglich bei Ihnen melden.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Bitte geben Sie eine gültige E-Mail-Adresse ein!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Worauf bezieht sich Ihre Frage?","WEBSITE_CONTACT_US_Q_OS":"Was ist Ihr Betriebssystem?","WEBSITE_CONTACT_US_PH_EMAIL":"Ihre E-Mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Nachricht","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SENDEN","WEBSITE_CONTACT_US_Q_1":"Wie installiere ich?","WEBSITE_CONTACT_US_Q_2":"Wie deinstalliere ich?","WEBSITE_CONTACT_US_Q_3":"(HTML) Wie macht man Lasagne?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technologie","WEBSITE_TECHNOLOGY_P1":"Wir lieben Technologie und verrückte Wissenschaft.
    Hier ist, was Stremio antreibt (es ist alles Open-Source).","WEBSITE_TECHNOLOGY_P_QT":"Plattformübergreifende Softwareentwicklung vom Feinsten.","WEBSITE_TECHNOLOGY_P_MPV":"Ein kostenloser, quelloffener und plattformübergreifender Media Player.","WEBSITE_TECHNOLOGY_P_RN":"React Native ermöglicht die Entwicklung mobiler Apps nur mit JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"In die Anwendung eingebettetes Media-Framework für Multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm ist eine mobile Plattform und ein Ersatz für SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js ist eine quelloffene, plattformübergreifende JavaScript-Laufzeitumgebung.","WEBSITE_TECHNOLOGY_P_RUST":"Rust ist eine Multi-Paradigmen-Systemprogrammiersprache mit Fokus auf Sicherheit, insbesondere sichere Nebenläufigkeit.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Zum Projekt beitragen","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Es gibt zwei Möglichkeiten, wie Sie zu Stremio beitragen und uns helfen können, das Produkt noch besser zu machen.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Sie können Ihre wertvollen Sprachkenntnisse durch Übersetzen der Plattform einbringen...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"oder","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... Sie können Ihre Programmierkenntnisse für die Erstellung von Community-Addons einsetzen.","WEBSITE_TRANSLATE_STREMIO":"Stremio übersetzen","WEBSITE_404_OH_NO":"Oh nein! Die gesuchte Seite ist nicht hier...","WEBSITE_GO_HOME":"Zur Startseite","WEBSITE_LINK_OTHER_DOWNLOADS":"Weitere Downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Jetzt Stremio 4 Beta herunterladen","WEBSITE_GET_FOR_DESKTOP":"Für Desktop herunterladen","WEBSITE_LINK_ADDON_COMPETITION":"Addon-Wettbewerb","WEBSITE_LINK_ART_CONTEST":"Kunst-Wettbewerb","WEBSITE_MY_ACCOUNT":"Mein Konto","WEBSITE_MAINPAGE_FAQ_001_H1":"Was ist Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio ist ein modernes Mediencenter, das Ihnen die Freiheit gibt, alles zu schauen, was Sie möchten.","WEBSITE_MAINPAGE_FAQ_002_H1":"Wie funktioniert es?","WEBSITE_MAINPAGE_FAQ_002_P1":"Sobald Sie Stremio auf Ihrem Gerät installiert und ein Konto erstellt haben, müssen Sie nur noch den Addon-Katalog besuchen, die gewünschten Addons installieren, und schon kann es losgehen!","WEBSITE_MAINPAGE_FAQ_002_P2":"Danach können Sie im Bereich Entdecken oder auf dem Dashboard mit dem Erkunden der Inhalte beginnen.","WEBSITE_MAINPAGE_FAQ_003_H1":"Was kann ich hier schauen?","WEBSITE_MAINPAGE_FAQ_003_P1":"Eine Menge: Filme, TV-Serien, Webkanäle, Sport, TV-Sender, Podcasts hören und mehr. Dank unseres Addon-Systems haben Sie Zugriff auf verschiedenste Inhalte.","WEBSITE_MAINPAGE_FAQ_004_H1":"Ist Stremio Open-Source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Ja, Sie können die folgenden Links überprüfen: ${1}Desktop-App${2} und ${3}GitHub-Organisation${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Ist Stremio sicher?","WEBSITE_MAINPAGE_FAQ_005_P1":"Ja: Da es sich um Open-Source-Software handelt, ist der Code öffentlich überprüfbar und Sie können ihn selbst begutachten.","WEBSITE_MAINPAGE_FAQ_005_P2":"Das Addon-System von Stremio wurde auch mit Blick auf die Sicherheit der Nutzer entwickelt. Die Addons führen keinen Code lokal aus, sodass sie keine Risiken für Ihr Gerät darstellen.","WEBSITE_MAINPAGE_FAQ_006_H1":"Was ist mit meiner Privatsphäre?","WEBSITE_MAINPAGE_FAQ_006_P1":"Wir respektieren die Privatsphäre der Nutzer und erheben keine persönlichen Daten über das notwendige Minimum zur Erstellung und Synchronisierung Ihres Kontos hinaus.","WEBSITE_MAINPAGE_FAQ_006_P2":"Bei der Anmeldung gibt es auch einen ${1}Gast-Modus${2}, der keinerlei Daten erfordert: In diesem Modus werden keine Anfragen an unser Backend gesendet. Dies geht allerdings auf Kosten nützlicher Funktionen, wie der Möglichkeit, Ihre Bibliothek über mehrere Geräte zu synchronisieren.","WEBSITE_MAINPAGE_FAQ_007_H1":"Kann ich auf meinen Fernseher streamen?","WEBSITE_MAINPAGE_FAQ_007_P1":"Ja, wir unterstützen Chromecast und Sie können sowohl von Desktop- als auch von mobilen Apps (Android) streamen.","WEBSITE_MAINPAGE_FAQ_008_H1":"Wie viele Addons hat Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Stand Ende 2019 über 50 - weitere Informationen finden Sie in unserem Addon-Katalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Kann Stremio über den Addon-Katalog hinaus erweitert werden?","WEBSITE_MAINPAGE_FAQ_009_P1":"Ja, Sie sollten folgendes überprüfen: ${1}PimpMyStremio${2}, ${3}Reddit-Communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Welche Geräte unterstützt Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Wir haben Desktop-Apps für Windows, Mac und Linux. Für mobile Geräte unterstützen wir Android und iOS, wobei die iOS-Version in ihrer Funktionalität eingeschränkt ist (unterstützt die meisten Addons nicht).","WEBSITE_MAINPAGE_FAQ_010_P2":"Es gibt viele Android-basierte Geräte, auf denen Sie Stremio ausführen können, wie NVIDIA Shield und Amazon Fire Stick, aber wir unterstützen diese nicht offiziell.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Wir haben Desktop-Apps für Windows, Mac und Linux. Außerdem haben wir spezielle Apps für Android Mobile und Android TV. Für iOS und iPadOS empfehlen wir die Nutzung von Stremio Web, auch wenn es in der Funktionalität eingeschränkter ist.","WEBSITE_MAINPAGE_FAQ_011_H1":"Können Sie bestimmte Inhalte zu Stremio hinzufügen?","WEBSITE_MAINPAGE_FAQ_011_P1":"Tut uns leid, wir stellen selbst keine Inhalte bereit, aber je mehr Stremio-Addons Sie installiert haben, desto mehr Inhalte werden Sie finden können.","WEBSITE_MAINPAGE_FAQ_012_H1":"Kann Stremio Magnet-Links abspielen?","WEBSITE_MAINPAGE_FAQ_012_P1":"Ja, und es kann auch normale HTTP-Links und Torrent-Dateien abspielen (per Drag and Drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Kann ich ein Video herunterladen und offline anschauen?","WEBSITE_MAINPAGE_FAQ_013_P1":"Offline-Verfügbarkeit ist eine kommende Funktion, aber wenn Sie Stremio erlauben, auf Ihrem Gerät zwischenzuspeichern (in den Einstellungen), können Sie die Videos später auch ohne Verbindung ansehen.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nichts funktioniert, helfen Sie mir!","WEBSITE_MAINPAGE_FAQ_014_P1":"Sind Sie sicher, dass Sie Addons installiert haben? Wenn ja, schauen Sie in unserem ${1}Hilfecenter${2} nach.","WEBSITE_MAINPAGE_FAQ_015_H1":"Wie finanziert Stremio seine Entwicklung?","WEBSITE_MAINPAGE_FAQ_015_P1":"Wir schalten gelegentlich nicht-aufdringliche Werbung, erwägen aber den Umstieg auf ein Spenden-Modell.","WEBSITE_MAINPAGE_FAQ_015_P2":"Für weitere Fragen besuchen Sie unser ${1}Hilfecenter${2}.","HELP_LEARN_MORE":"Helfen Sie uns, mehr über Sie zu erfahren.","LIFESTYLE":"Lebensstil","SPORTS":"Sport","FOOD_HEALTH":"Essen & Gesundheit","BEAUTY_FASHION":"Schönheit & Mode","NEWS":"Nachrichten","GAMING":"Spielen","SCIENCE_EDUCATION":"Wissenschaft & Bildung","MUSIC":"Musik","TRAVEL":"Reise","LATE_NIGHT":"Late-Night-Show","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Kino","CONTINUE":"Fortsetzen","SLOW_LOADING":"LANGSAMES LADEN?","I_GIVE_UP":"ICH GEBE AUF","LEARN_MORE":"Erfahren Sie mehr","POOR_SOURCE":"Diese Quelle ist schlecht verfügbar oder Ihre Internetverbindung ist nicht schnell genug","PICK_CATEGORIES_ERR":"Sie müssen mindestens 3 Kategorien auswählen","ADJUST_TIMING":"zeitliche Abstimmung anpassen mit ","ADJUST_SIZE":"Größe anpassen mit ","SEARCH_ANYTHING":"Sie können alles suchen...","ALL_CATEGORIES":"Alle","SEARCH_CATEGORIES":"Filme, Serien, YouTube & Fernsehen","SEARCH_PERSONS":"Schauspieler, Regisseure und Autoren","SEARCH_PROTOCOLS":"HTTP- & Magnet-Links","SEARCH_TYPES":"IMDB- / TVDB-Links","WATCHED":"Angesehen","SHOW_LESS":"Weniger anzeigen","LAST_SEARCHES":"Letzte Suchanfragen","CLEAR_HISTORY":"Verlauf löschen","CHOOSE_SOME":"WÄHLEN SIE VON DIESEN AUS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web-Fernbedienung konnte nicht geladen werden","STREMIO_OFFLINE":"Stremio ist offline","STREMIO_EXPENSIVE_CONNECTION":"Wir haben festgestellt, dass du eine mobile Datenverbindung verwendest. Möchtest du fortfahren?","USE_DATA":"Mobile Daten benutzen","WARNING":"Warnung","MORE_INFO":"Weitere Informationen ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Wird geladen ...","STREMIO_TV_BACK_TO_LANGUAGES":"Zurück zu den Sprachen","STREMIO_TV_REMOTE":"Fernbedienung","STREMIO_TV_GO_TO":"Gehe zu:","STREMIO_TV_OR_SCAN":"oder scanne:","STREMIO_TV_ADDON_INSTRUCTIONS":"Bitte folgen Sie den Anweisungen, um Ihre bevorzugten Addons zu installieren.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Weiterschauen","STREMIO_TV_LOADING_BACKGROUND":"Lade Hintergrund","STREMIO_TV_CHECKING_AUTHENTICATION":"Überprüfe Authentifizierung","STREMIO_TV_LOADING_BOARD":"Lade Dashboard","STREMIO_TV_LOGIN_HEADER_LINE_1":"Wir möchten, dass unsere Nutzer die bestmögliche personalisierte Erfahrung mit unserer Software haben.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Aus diesem Grund bitten wir Sie, sich ein Konto zu erstellen und/oder sich anzumelden.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Vielen Dank für Ihr Verständnis,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Das Stremio-Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"Um die Web-Fernbedienung mit Ihrem Smartphone / Tablet / Desktop zu nutzen:","STREMIO_TV_WIFI_SETUP":"Wi-Fi-Einrichtung","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle hat keine Internetverbindung erkannt.","STREMIO_TV_WIFI_DETAILS_1":"Verbinden mit:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Passwort verwenden:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Web Browser öffnen mit dem Link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Standard","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Nach Zuletzt Geschaut","STREMIO_TV_LIBRARY_SORT_NAME":"Nach Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Nach Name Absteigend","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Nach Geschauter Zeit","STREMIO_TV_LIBRARY_SORT_WATCHED":"Nach Geschaut","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Nach Nicht Geschaut","STREMIO_TV_DETAILS_SEASON_NUMBER":"Staffel ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} Addons geladen...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} Addons laden noch...","STREMIO_TV_PLAYER_SETTINGS":"Player-Einstellungen","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Untertitel-Verzögerung","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio-Verzögerung","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video-Skalierung","STREMIO_TV_PLAYER_CHAPTERS":"Kapitel","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"${1} überspringen","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nicht unterstützte Streamquelle","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Öffnen des externen Links fehlgeschlagen","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Im Audio-Passthrough-Modus nicht einstellbar","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Mit ExoPlayer abspielen","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Mit libVLC-Player abspielen","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Wechsel zum libVLC-Player aufgrund eines Wiedergabefehlers","STREMIO_TV_ADDONS_TITLE":"Nutzen Sie Stremio auf Ihrem Telefon oder PC, um Addons zu installieren oder zu konfigurieren und drücken Sie \\"Addons Synchronisieren\\"","STREMIO_TV_ADDONS_SUBTITLE":"Hinweis: Stellen Sie sicher, dass Sie dasselbe Stremio-Konto verwenden","STREMIO_TV_ADDONS_SYNC_ADDONS":"Addons Synchronisieren","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons erfolgreich synchronisiert","STREMIO_TV_ADDONS_SYNC_FAILED":"Synchronisierung der Addons fehlgeschlagen","STREMIO_TV_META_LINK_FAILED":"Öffnen des Meta-Links fehlgeschlagen","STREMIO_TV_CATALOG_LOADING":"Katalog wird noch geladen...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Sprache aktualisiert","STREMIO_TV_SETTINGS_THEME_UPDATED":"Design aktualisiert","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Standard-Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Externer Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Bevorzugte Sprache","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Sekundäre bevorzugte Sprache","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Getunnelte Wiedergabe","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Mögliche Wiedergabeprobleme auf einigen Geräten","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Einige Videoformate funktionieren möglicherweise nicht","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Bildwiederholrate anpassen","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Deaktiviert","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Nur Bildwiederholrate","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Bildwiederholrate und Auflösung","STREMIO_TV_SETTINGS_NO_CACHING":"Kein Zwischenspeichern","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Standard","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Sanft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Schnell","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Schnell","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming-Server-URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server-Version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unbekannt","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio-Version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Server-URL bearbeiten","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Geben Sie eine Streaming-Server-URL ein","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Statistiken während des Ladens anzeigen","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Um Stremios Datenschutzerklärung zu lesen, besuchen Sie:","STREMIO_TV_SETTINGS_TOS_TEXT":"Um Stremios Nutzungsbedingungen zu lesen, besuchen Sie:","STREMIO_TV_NAV_SEARCH":"Suchen","STREMIO_TV_NAV_HOME":"Start","STREMIO_TV_NAV_DISCOVER":"Entdecken","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Filme","STREMIO_TV_NAV_SERIES":"Serien","STREMIO_TV_NAV_CHANNELS":"Kanäle","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Einstellungen","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Konto verlinken","STREMIO_TV_LOGIN_EXPIRES_IN":"Läuft ab in","STREMIO_TV_LOGIN_STEP_ONE":"Scanne den QR Code oder gehe zu","STREMIO_TV_LOGIN_STEP_TWO":"Melden Sie sich mit Ihrem Stremio-Konto an","STREMIO_TV_LOGIN_NEW_LINK":"Neuen Link anfordern","STREMIO_TV_LOGIN_LINK_REFRESHED":"Anmeldecode aktualisiert","STREMIO_TV_SEARCH_PLACEHOLDER":"Schreib etwas","STREMIO_TV_SEARCH_NO_ADDONS":"Keine Addons wurden für Kataloge angefordert!","STREMIO_TV_SEARCH_BUTTON":"Suchen","STREMIO_TV_SEARCH_KEY_DEL":"Entf","STREMIO_TV_SEARCH_KEY_SPACE":"Leer","STREMIO_TV_SEARCH_KEY_CLEAR":"Löschen","STREMIO_TV_SEARCH_HISTORY_TITLE":"Suchverlauf","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Sie können nach Titeln, Schauspielern, Kanälen und mehr suchen...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Suchverlauf löschen","STREMIO_TV_FILTERS_DESCRIPTION":"Wählen Sie einen der untenstehenden Filter","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming-Server ist offline. Überprüfen Sie die Server-Einstellungen.","FILTERS":"Filter","SETTINGS":"Einstellungen","ACCOUNT":"Konto","LOGOUT":"Ausloggen","THEMES":"Designs","PLAYBACK":"Wiedergabe","PLAYBACK_SPEED":"Wiedergabegeschwindigkeit","AUDIO_TRACKS":"Audiospuren","UNKNOWN_TRACK_LANG":"Unbekannt","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"Über","INTERFACE":"Oberfläche","ANIMATIONS":"Animationen","STATUS":"Status","LANGUAGE":"Sprache","SIZE":"Größe","DELAY":"Verzögerung","BOLD":"Fett","OPACITY":"Transparenz","TEXT_COLOR":"Text Farbe","OUTLINE_COLOR":"Gliederungs Farbe","BACKGROUND_COLOR":"Hintergrundfarbe","BACKGROUND_BLUR":"Hintergrund-Unschärfe","SEEK_TIME_DURATION":"Zeitsprung-Dauer","AUTO_PLAY":"Automatisch nächste Episode abspielen","PLAY_NOW":"Jetzt abspielen","MARK_AS_WATCHED":"Als Angeschaut markieren","MARK_AS_UNWATCHED":"Als Nicht Angeschaut markieren","REWIND_TO_BEGINNING":"Zum Anfang zurückspulen","CONTINUE_WATCHING":"Weiterschauen","ALL":"Alle","SECONDS":"Sekunden","ON":"AN","OFF":"AUS","RELOAD":"Neu laden","EDIT_URL":"URL bearbeiten","URL":"URL","NONE":"Keine","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Geräte wechseln","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Timing anpassen","REMOTE_ADJUST_SIZE":"Größe anpassen","REMOTE_COULD_NOT_BE_LOADED":"Web Remote konnte nicht geladen werden","REMOTE_RETRY":"Wiederholen","TORRENT_PROFILE_DEFAULT":"Standard","TORRENT_PROFILE_SOFT":"Sanft","TORRENT_PROFILE_FAST":"Schnell","TORRENT_PROFILE_ULTRA_FAST":"Ultra Schnell","MB_S":"MB/s","FAQ_001_H1":"Was ist Stremio?","FAQ_001_P1":"Stremio ist eine Media-Center-Software, die für Videounterhaltung mit Fokus auf einfacher Bedienung entwickelt wurde. Stremio ermöglicht es Ihnen, Ihre eigene Sammlung von Filmen, Serien, Kanälen und Live-TV zu organisieren und anzusehen.","FAQ_001_P2":"Stremio sammelt die angezeigten Inhalte von Ihrer lokalen Festplatte und unserem Addon-System.","FAQ_001_P3":"Es benachrichtigt Sie auch, wenn neue Episoden/Videos/Filme, die Sie interessieren, erscheinen, und bietet Ihnen Filmempfehlungen.","FAQ_02_H1":"Wie unterscheidet sich Stremio von Kodi und Plex?","FAQ_02_P1":"Wir sind von diesen beiden Programmen inspiriert. Aber wir haben andere Ziele - Stremio ist speziell auf Videounterhaltung ausgerichtet und strebt durch seine sehr einfache Bedienung an, die Standardlösung dafür zu werden.","FAQ_02_P2":"Stremio wird nie so anpassbar und funktionsreich sein wie Kodi und Plex, ist aber deutlich einfacher zu bedienen. ${1}Probieren Sie es einfach aus${2} :)","FAQ_03_H1":"Wie unterscheidet sich Stremio von Netflix?","FAQ_03_P1":"Auch Netflix ist eine unserer Inspirationen. Wir streben danach, die Benutzerfreundlichkeit von Netflix zu erreichen und noch viele zusätzliche Funktionen zu bieten. Am wichtigsten ist aber, dass wir Ihnen die Freiheit geben, Ihre eigene Bibliothek zu verwalten und neue Inhaltsquellen über unser Addon-System hinzuzufügen.","FAQ_03_P2":"Das macht Stremio unendlich erweiterbar, sodass Sie bei der Nutzung von Stremio nie auf die Inhalte beschränkt sind, die Netflix lizenzieren möchte. Über Stremio können Sie zum Beispiel Inhalte von ${1}Filmon.tv${2}, ${3}Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} und sogar ${9}Netflix${10} selbst ansehen!","FAQ_04_H1":"Wie unterscheidet sich Stremio von Flipboard?","FAQ_04_P1":"Diese Frage bekommen wir nicht so oft, außer wenn wir mit Start-up-Leuten sprechen :)","FAQ_04_P2":"Stremio ist vom Design her ein Content-Aggregator, was es im Wesentlichen zu einem Flipboard für Videos macht. Das wird besonders in unserem Dashboard deutlich, der Ihnen Kataloge und Benachrichtigungen über neue Episoden/Videos für Ihre Abonnements anzeigt, genau wie Flipboard.","FAQ_05_H1":"Wie unterscheidet sich Stremio von Popcorn Time?","FAQ_05_P1":"Stremio und Popcorn Time ähneln sich in der Benutzeroberfläche, weil es nicht viele Möglichkeiten gibt, Videounterhaltungskataloge richtig zu gestalten :)","FAQ_05_P2":"Aber während Popcorn Time sich auf das Streaming von Torrents aus bestimmten Quellen konzentriert, ist Stremio uneingeschränkt und lediglich ein Content-Aggregator - es ist nicht an bestimmte Inhaltsquellen gebunden.","FAQ_05_P3":"Außerdem bieten wir standardmäßig keine Torrent-Addons an, sodass Stremio den Anwendungsfall von Popcorn Time nicht mit offizieller Funktionalität abdeckt.","FAQ_05_P4":"Ein weiterer bemerkenswerter Unterschied ist, dass Popcorn Time komplett Open Source ist, während Stremio ${1}teilweise Open Source${2} ist.","FAQ_06_H1":"Werden Sie diesen Film/diese Serie hinzufügen?","FAQ_06_P1":"Nein, tut uns leid :(","FAQ_06_P2":"Wie in den meisten anderen Fragen erwähnt, stellt Stremio selbst keine Inhalte bereit - alles wird über das Addon-System hinzugefügt. Falls Sie einen Inhaltswunsch haben, können Sie den \\"Melden\\"-Button im Player verwenden, der eine E-Mail an den Autor des aktuell verwendeten Addons sendet.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Werden Sie ein Addon für X erstellen?","FAQ_08_P1":"Das ist durchaus möglich.","FAQ_08_P2":"Wenn Sie eine Idee für ein Addon haben, schreiben Sie uns an ${1}office@stremio.com${2}, aber bitte stellen Sie sicher, dass Ihre Addon-Idee keine Urheberrechte oder Nutzungsbedingungen verletzt.","FAQ_08_P3":"Derzeit sind die nächsten Punkte auf unserer Roadmap Addons für FandangoNOW, Filmon.tv Video on Demand und Crunchyroll.","FAQ_09_H1":"Verwendet Stremio BitTorrent?","FAQ_09_P1":"Ja, Stremio unterstützt BitTorrent als Streaming-Protokoll. Sie können dies entweder mit einem Torrent-Addon nutzen, oder indem Sie eine .torrent-Datei in Stremio ziehen und ablegen, oder einen Magnet-Link in die Suchleiste einfügen.","FAQ_09_P2":"Bitte beachten Sie, dass das einzige offizielle Addon, das BitTorrent verwendet, ${1}Vodo${2} ist, das unabhängige Inhalte anbietet, die alle für die Verteilung über BitTorrent zugelassen sind.","FAQ_09_P3":"Wir unterstützen keine Nutzung von Drittanbieter-Addons, die Urheberrechtsverletzungen ermöglichen könnten.","FAQ_10_H1":"Was kann ich in Stremio mit den offiziellen Addons ansehen?","FAQ_10_P1":"Standardmäßig können Sie Filmon.tv, YouTube und Vodo-Inhalte direkt in Stremio mit dem eingebauten Player ansehen. Zusätzlich haben wir ein Addon für Twitch.tv und einige andere.","FAQ_10_P2":"Dies bietet zusammen eine Auswahl von:","FAQ_10_L1":"Beliebte TV-Sender, bereitgestellt von Filmon.tv - zum Beispiel E4, BBC, Bollyworld TV","FAQ_10_L2":"Alles von YouTube - zum Beispiel BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie-Filme mit Vodo","FAQ_10_L4":"Online-Gaming-Übertragungen mit Twitch.tv","FAQ_10_P3":"Zusätzlich gibt es viele Inhaltsquellen, die mit Guidebox und den Netflix-Addons bereitgestellt werden, die nicht vollständig in Stremio abgespielt werden, sondern zum jeweiligen Dienst weiterleiten. Zum Beispiel würde das Guidebox-Addon Ihnen eine Auswahl an Filmen anbieten, die Sie in den USA kostenlos von Diensten wie TubiTV und Crackle streamen können.","FAQ_11_H1":"Stremio lässt sich nicht installieren, was soll ich tun?","FAQ_11_P1":"Wenn Sie Windows nutzen, versuchen Sie ${1}diesen alternativen Installer${2}.","FAQ_11_P2":"Wenn Sie Mac OS X nutzen, beachten Sie bitte, dass wir nichts älter als OS X Mavericks (10.9) unterstützen.","FAQ_11_P3":"Wenn Sie Linux nutzen, beachten Sie, dass wir derzeit nur 64-Bit (x64) Linux unterstützen.","FAQ_11_P4":"Wenn Sie Ihr Problem immer noch nicht lösen können, schreiben Sie uns bitte in unserer ${1}Facebook-Gruppe${2}.","FAQ_12_H1":"Warum meldet mein Antivirus-Programm Bedenken? Ist Stremio sicher?","FAQ_12_P1":"Wir versichern Ihnen, dass Stremio ${1}100% virenfrei${2} ist.","FAQ_12_P2":"Ihr Antivirus-Programm meldet Bedenken an, weil wir Werbung in unserem Installer integrieren, die einige Antivirus-Programme als Adware erkennen.","FAQ_12_P3":"Wenn Sie immer noch unsicher sind, können Sie unseren ${1}alternativen Installer${2} verwenden.","FAQ_13_H1":"Wie kann ich ein Addon erstellen?","FAQ_13_P1":"Zunächst empfehlen wir Ihnen, unser ${1}Addons-System-Modul${2} auf GitHub zu überprüfen.","FAQ_13_P2":"Danach können Sie dem ${1}Hello World Tutorial${2} folgen.","FAQ_13_P3":"Wenn Sie keine Programmierkenntnisse haben, posten Sie Ihre Idee bitte in ${1}der Reddit-Community${2} und kontaktieren Sie uns mit Ihrer Addon-Idee unter ${3}office@stremio.com${4}.","FAQ_14_H1":"Wie werden Addons veröffentlicht?","FAQ_14_P1":"Wenn Sie ein Addon erstellen und hosten und ein endpoint-Feld in Ihrem Manifest angeben, das auf eine funktionierende Addon-Adresse verweist, wird sich das Addon automatisch in unserem ${1}Addon-Katalog${2} veröffentlichen.","FAQ_14_P2":"Dies geschieht, weil der Server-Teil des stremio-addons-Moduls automatisch einen Aufruf an unsere API macht, um das Addon anzukündigen. Wenn unsere API Ihren endpoint als gültiges Addon validiert, wird es im Katalog angezeigt.","FAQ_15_H1":"Kann ich Stremio in meinem Browser ausführen?","FAQ_15_P1":"Derzeit nicht, aber das kommt noch!","FAQ_15_P2":"Wenn Sie neugierig auf eine Alpha-Version sind, können Sie sie hier sehen: ${1}alpha4.strem.io${2}. Beachten Sie, dass Streaming in dieser Alpha-Version deaktiviert ist. Wir unterstützen Chrome, Firefox, Opera und Edge.","FAQ_16_H1":"TV-Übertragung funktioniert nicht / Untertitel funktionieren nicht","FAQ_16_P1":"Die TV-Übertragung nutzt die DLNA-Technologie, die zwischen verschiedenen TV-Marken und -Modellen sehr unterschiedlich ist. Aus diesem Grund haben wir nicht die Möglichkeit, sie in jedem Fall zu testen, sodass sie bei weitem nicht perfekt ist. Trotzdem arbeiten wir ständig an Verbesserungen, können Ihnen aber keine zeitliche Einschätzung geben, wann DLNA mit Ihrem Fernseher richtig funktionieren wird.","FAQ_16_P2":"Wenn Sie Ihren Fernseher nicht einmal im Übertragungsmenü sehen, versuchen Sie bitte, Ihre Netzwerkverbindung zu deaktivieren und wieder zu aktivieren (unter Windows klicken Sie mit der rechten Maustaste auf das Netzwerk und verwenden Sie Aktivieren/Deaktivieren) sowie Ihren Router, Fernseher und PC neu zu starten.","FAQ_16_P3":"Wenn Sie immer noch Probleme haben, können Sie uns helfen, indem Sie uns Ihre TV-Marke und Modellinformationen an ${1}office@stremio.com${2} senden.","FAQ_16_P4":"In der Zwischenzeit empfehlen wir Chromecast, das wir sehr gut unterstützen, oder schließen Sie Ihren Fernseher einfach mit einem HDMI-Kabel an Ihren PC an.","FAQ_17_H1":"Stremio friert ein und/oder stürzt ab, was kann ich tun?","FAQ_17_P1":"Zunächst einmal, wenn Sie Windows 7 mit AVG-Antivirus verwenden: Wir haben ein Problem mit dieser Kombination. Das Problem liegt in AVG selbst und es gibt keine vernünftige Möglichkeit, es unsererseits zu lösen. Leider funktionieren Ausnahmen oder das Deaktivieren des Antivirenprogramms nicht. Die einzige Lösung ist, AVG durch etwas anderes zu ersetzen.","FAQ_17_P2":"Wenn das nicht das Problem ist, Sie aber immer noch Windows verwenden, aktualisieren Sie bitte auf das neueste Service Pack und aktualisieren/installieren Sie Ihre GPU-Treiber neu, dann versuchen Sie es erneut.","FAQ_17_P3":"Wenn Ihr Problem immer noch nicht gelöst ist oder Sie einen Mac oder Linux verwenden, schreiben Sie uns bitte die genauen Details des Problems in ${1}unserer Facebook-Gruppe${2}.","FAQ_18_H1":"Wie kann ich ein Addon erstellen?","FAQ_18_P1":"Zunächst empfehlen wir Ihnen, unser ${1}Addons-System-Modul${2} auf GitHub zu überprüfen.","FAQ_18_P2":"Danach können Sie dem ${1}Hello World Tutorial${2} folgen.","FAQ_18_P3":"Wenn Sie keine Programmierkenntnisse haben, posten Sie Ihre Idee bitte in ${1}der Reddit-Community${2} und kontaktieren Sie uns mit Ihrer Addon-Idee unter ${3}office@stremio.com${4}.","FAQ_19_H1":"Warum belegt Stremio Speicherplatz?","FAQ_19_P1":"Stremio hat einen lokalen Zwischenspeicher, um die gestreamten Videodateien temporär zu speichern.","FAQ_19_P2":"Dies hat zwei Vorteile: Erstens ermöglicht es Stremio, das Video im Voraus zu puffern, um ein reibungsloseres Streaming zu gewährleisten. Zweitens bleiben die Videos im lokalen Zwischenspeicher, sodass Sie sie offline weiterschauen können.","FAQ_19_P3":"Wie viel Stremio speichert, hängt von der Zwischenspeicher-Einstellung ab. Stremio kann bis zur eingestellten Menge (z.B. 2GB) auf Ihrer Festplatte speichern, es sei denn, das aktuell gestreamte Video ist größer als das, in diesem Fall muss es genügend Speicherplatz zuweisen, um es zu behalten, während Sie es streamen.","FAQ_20_H1":"Wo befindet sich der Zwischenspeicher-Ordner?","FAQ_20_P1":"Unter Windows ist es stremio-cache im Laufwerk, das Sie in den Einstellungen ausgewählt haben (z.B. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Unter MacOS ist es \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Unter Linux ist es \\"~/.stremio/stremio-cache\\" oder \\"~/stremio-cache\\"","FAQ_21_H1":"Ich erhalte den Fehler \\"Streaming-Server wurde nicht gefunden\\", was kann ich tun?","FAQ_21_P1":"Wenn Sie diesen Fehler erhalten, bedeutet das eines von wenigen Dingen:","FAQ_21_P2":"1) Sie versuchen, ein Addon mit YouTube/BitTorrent-Quelle über unsere ${1}Web-Version${2} zu nutzen. In diesem Fall sollten Sie unsere Desktop-Version von ${3}unserer Website${4} installieren.","FAQ_21_P3":"2) Etwas stimmt nicht mit Ihrer Stremio-Installation. Versuchen Sie in diesem Fall, unsere neueste Desktop-Version von ${1}der Website${2} neu zu installieren. Wenn das nicht hilft, versuchen Sie, Antivirenprogramme und Firewalls zu deaktivieren, Ihren PC neu zu starten und es erneut zu versuchen. Wenn auch das nicht funktioniert, schreiben Sie uns bitte in ${3}unserer Facebook-Gruppe${4}.","FAQ_22_H1":"Ich kann die meisten Addons unter iOS nicht sehen/nutzen","FAQ_22_P1":"Aufgrund von Einschränkungen in den Geschäftsbedingungen des Apple App Stores haben wir die iOS-Anwendung nur auf bestimmte Addons beschränkt.","FAQ_22_P2":"Aber seien Sie versichert - es wird in Zukunft mehr Addons für iOS geben, und wir werden möglicherweise auch eine Integration hinzufügen, die es Ihnen ermöglicht, alle Stremio-Addons zu nutzen, indem Sie die iOS-App mit dem Stremio Streaming Server verbinden."}')},82271:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Ταινία","TYPE_series":"Σειρά","TYPE_tv":"Τηλ. κανάλι","TYPE_channel":"Κανάλι","TYPE_other":"Άλλο","TYPE_movie_PL":"Ταινίες","TYPE_series_PL":"Σειρές","TYPE_tv_PL":"Τηλ. κανάλια","TYPE_channel_PL":"Κανάλια","TYPE_other_PL":"Άλλα","TYPE_ALL":"Όλα","TYPE":"Τύπος","CATALOG_com_linvo_cinemeta_top":"Δημοφιλείς","CATALOG_com_linvo_cinemeta_imdbRating":"Επιλεγμένες","CATALOG_com_linvo_cinemeta_year":"Νέες","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Δημόσιες ταινίες","VIDEO":"Βίντεο","BACK":"Πίσω","MORE":"Περισσότερα","DONE":"Τέλος","COPY":"Αντιγραφή","SUCCESS":"Επιτυχία","ERROR":"Υπήρξε πρόβλημα","SETTINGS_CASTING_MODE_PICKER":"Τύπος αναπαραγωγής","CASTING_MODE_HLSV2":"Προεπιλογή","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Χωρίς διακωδικοποίηση","Discover":"Ανακάλυψη","Board":"Πίνακας","Library":"Βιβλιοθήκη","My Library":"Η βιβλιοθήκη μου","Calendar":"Ημερολόγιο","NOTIFICATION_ONLINE":"Είστε σε σύνδεση","NOTIFICATION_OFFLINE":"Είστε εκτός σύνδεσης","INTERNET_CONNECTION":"Σύνδεση δικτύου","STORAGE_FULL_TITLE":"Προειδοποίηση: Πλήρης αποθηκευτικός χώρος!","STORAGE_FULL_TEXT":"Το Stremio δεν θα μπορεί να αποθηκεύει τις ρυθμίσεις, τις προτιμήσεις ή τα στοιχεία σύνδεσής σας. Δοκιμάστε να κάνετε εκ νέου εκκίνηση ή εγκατάσταση του Stremio.","SEARCH":"Αναζήτηση","SEARCH_NO_RESULTS":"Δεν βρέθηκαν αποτελέσματα","SEARCH_EXPLANATION_CONTENT":"Αναζήτηση ταινιών, σειρών, καναλιών τηλεόρασης και YouTube","SEARCH_EXPLANATION_PEOPLE":"Αναζήτηση ηθοποιών, σκηνοθετών και σεναριογράφων","SEARCH_PASTE_LINKS":"Επικόλληση συνδέσμων HTTP και magnet","SEARCH_OR_PASTE_LINK":"Αναζητήστε ή επικολλήστε σύνδεσμο","SEARCH_SUGGESTIONS":"Προτάσεις αναζήτησης","ADD_TO_LIB":"Εισαγωγή στη βιβλιοθήκη","REMOVE_FROM_LIB":"Αφαίρεση από τη βιβλιοθήκη","ADDED_TO_LIB":"Προστέθηκε στη βιβλιοθήκη","REMOVED_FROM_LIB":"Αφαιρέθηκε από τη βιβλιοθήκη","TRAILER":"Τρέιλερ","WATCH_TRAILER":"Προβολή τρέιλερ","WATCH_NOW":"Προβολή τώρα","SHOW":"Εμφάνιση","SHOW_MOVIE":"Εμφάνιση ταινίας","WATCH_RANDOM":"Τυχαία προβολή","IMDB_RATING":"Στο IMDb","YEAR":"Έτος","DIRECTOR":"Σκηνοθεσία","WRITER":"Σενάριο","LEAD_ACTORS":"Πρωταγωνιστές","CAST":"Ηθοποιοί","CREW":"Συντελεστές","SHOW_MORE_CAST":"Περισσότερα »","AIRED":"Μετάδοση","SEASONS":"Κύκλοι","GENRE":"Είδος","GENRE_ALL":"Όλα τα είδη","CATALOG":"Κατάλογος","SUMMARY":"Περίληψη","SHOW_MORE":"Περισσότερα","SIMILAR":"Παρόμοια","UPCOMING":"Επερχόμενα","TBA":"TBA","ENDED":"Τέλος","DURATION":"Διάρκεια","FEATURED":"Προτεινόμενα","METADATA":"Μεταδεδομένα","CATEGORY":"Κατηγορία","LINKS_GENRES":"Είδη","LINKS_CAST":"Καστ","LINKS_DIRECTORS":"Σκηνοθέτες","SEARCH_VIDEOS":"Αναζήτηση βίντεο","SEARCH_PLACEHOLDER":"Αναζήτηση ή επικόλληση URL","ADDON":"Πρόσθετο","ADDONS":"Πρόσθετα","OFFICIAL":"Επίσημο","ADDONS_OFFICIAL":"Επίσημα πρόσθετα του Stremio","ADDONS_POPULAR":"Δημοφιλή στην περιοχή σας","ADDON_FREE":"Δωρεάν","ADDON_PEERED":"Σε peers","ADDON_SUBSCRIPTION":"Συνδρομή","ADDON_STREAM_GEORESTRICTED":"Δεν διατίθεται στην περιοχή σας","ADDON_STREAM_OFFLINECACHE":"Προσωρινή μνήμη εκτός σύνδεσης","ADDON_STREAM_LOCALFILE":"Τοπικό αρχείο","SHARE_ADDON":"Κοινοποίηση προσθέτου","AVAILABLE_STREAMS":"Διαθέσιμες ροές","NO_STREAM":"Δεν βρέθηκαν ροές","ALL_ADDONS":"Όλα τα","INSTALL_MORE_ADDONS":"Για περισσότερες ροές, παρακαλώ εγκαταστήστε περισσότερα πρόσθετα","STREAM_NOT_SUPPORTED":"Η επιλεγμένη ροή δεν υποστηρίζεται σε αυτήν την πλατφόρμα.","ADDON_CATALOGUE":"Εμφάνιση όλων των προσθέτων »","ADDON_CATALOGUE_MORE":"Εγκατάσταση προσθέτων","REPO_ADDED":"Το αποθετήριο προστέθηκε","ADDON_REPO_EXIST_ERR":"Αυτή η συλλογή προσθέτων υπάρχει ήδη","ADDON_REPO_ERR":"Προέκυψε σφάλμα κατά την προσθήκη της συλλογής","ADDON_ADD_ERR":"Προέκυψε σφάλμα κατά την προσθήκη του προσθέτου","ERR_ADDON_PROTECTED":"Δεν είναι δυνατή η αφαίρεση του προσθέτου, είναι προστατευόμενο","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Κάτι πήγε στραβά - η ταυτοποίηση ενδέχεται να απέτυχε","ERR_NOT_COLLECTION_URL":"Δεν είναι URL συλλογής","ERR_NOT_ADDON_URL":"Δεν είναι έγκυρο URL προσθέτου","ERR_DETECTFROMURL":"Δεν είναι δυνατή η εύρεση του προσθέτου/συλλογής από αυτό το URL","ADDON_DUPLICATE_WARNING":"Προειδοποίηση: Διπλότυπο πρόσθετο","ADDON_COLLECTION_SET_FAILED":"Αποτυχία συγχρονισμού εγκατεστημένων προσθέτων στον λογαριασμό σας","SETTINGS_DATA_EXPORT":"Εξαγωγή δεδομένων χρήστη","ADDON_PULL_FAILED":"Αποτυχία συγχρονισμού εγκατεστημένων προσθέτων από τον λογαριασμό σας","REFRESH_ON_CLICK":"Κάντε κλικ για επανάληψη","ADDON_LOADING_MANIFEST":"Γίνεται φόρτωση του πρόσθετου","ADDON_LOADING_MANIFEST_FROM":"Γίνεται φόρτωση του πρόσθετου από το {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Αποτυχία φόρτωσης του πρόσθετου από το {{origin}}","STILL_IN_THEATER":"Ακόμη στις αίθουσες","WATCH_IN_CINEMA":"Δείτε το στον τοπικό σας κινηματογράφο","IN_THEATER":"Στις αίθουσες","GET_TICKETS":"Εισιτήρια","UPCOMING_EPISODE":"Επερχόμενο επεισόδιο","UPCOMING_EPISODE_MESSAGE":"Αυτό το επεισόδιο θα προβληθεί σε","MISSING_DATE_EPISODE":"Απουσία ημερομηνίας","MISSING_DATE_EPISODE_MESSAGE":"Αυτό το επεισόδιο ενδέχεται να μην έχει προβληθεί ακόμα","CHANNEL_NOT_SCRAPED":"Δεν έχει γίνει ακόμα συλλογή δεδομένων για αυτό το κανάλι.
    Παρακαλώ επιστρέψτε σε λίγα λεπτά.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Προσθέστε το στη βιβλιοθήκη σας για να ειδοποιηθείτε μόλις γίνει διαθέσιμο.","GET_NOTIFIED_WHEN_AVAILABLE":"Θα ειδοποιηθείτε μόλις γίνει διαθέσιμο.","WARNING_STREAMING_SERVER":"Προειδοποίηση: Δεν βρέθηκε τοπική υπηρεσία ροής. Η ροή από τοπικά αρχεία, YouTube και BitTorrent δεν θα είναι διαθέσιμη.","WARNING_STREAMING_SERVER_DISMISS":"Απόρριψη","WARNING_STREAMING_SERVER_LATER":"Αργότερα","DECODER_WARNING":"Προειδοποίηση: Αυτό το βίντεο ενδέχεται να μην υποστηρίζεται από το υλικό σας. Λάβετε υπόψη ότι η αναπαραγωγή μπορεί να είναι αργή.","GENERIC_ERROR_MESSAGE":"Κάτι πήγε στραβά!","TRY_AGAIN":"Δοκιμάστε ξανά","CLEAR_DATA":"Εκκαθάριση δεδομένων","PLAYER_ERROR":"Ωχ, σφάλμα αναπαραγωγής","PLAYER_ERROR_LOOKSLIKE":"Φαίνεται ότι","PLAYER_ORIENTATION":"Προσανατολισμός αναπαραγωγής","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Κλειδωμένος","PLAYER_ORIENTATION_SENSOR_SHORT":"Αισθητήρας","PLAYER_ORIENTATION_LANDSCAPE":"Ο προσανατολισμός αναπαραγωγής κλείδωσε στην οριζόντια θέση","PLAYER_ORIENTATION_SENSOR":"Αυτόματος προσανατολισμός αναπαραγωγής (αισθητήρας)","PLAYER_PLAYBACK_SPEED":"Ταχύτητα αναπαραγωγής","PLAYER_PLAYBACK_ERROR":"Σφάλμα αναπαραγωγής, παρακαλώ δοκιμάστε ξανά","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Άγνωστο σφάλμα","PLAYER_PLAYBACK_ERROR_DEFAULT":"Δυστυχώς, αυτό το βίντεο δεν μπορεί να αναπαραχθεί από το {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Γλώσσα υποτίτλων","PLAYER_SUBTITLES_VARIANTS":"Παραλλαγές υποτίτλων","PLAYER_SUBTITLES_SETTINGS":"Ρυθμίσεις υποτίτλων","PLAYER_SUBTITLES_DISABLED":"Οι υπότιτλοι είναι απενεργοποιημένοι","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Ύψος υποτίτλων","PLAYER_SUBTITLES_LOADED":"Οι υπότιτλοι φορτώθηκαν","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Οι ενσωματωμένοι υπότιτλοι φορτώθηκαν","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Οι ειδικοί υπότιτλοι φορτώθηκαν","PLAYER_SUBTITLES_LOADED_LOCAL":"Οι τοπικοί υπότιτλοι φορτώθηκαν","PLAYER_SUBTITLES_LOADED_ORIGIN":"Οι υπότιτλοι από το {{origin}} φορτώθηκαν","PLAYER_PLAY":"Αναπαραγωγή","PLAYER_PAUSE":"Παύση","PLAYER_NEXT_VIDEO":"Επόμενο βίντεο","PLAYER_MUTE":"Σίγαση","PLAYER_UNMUTE":"Κατάργηση σίγασης","PLAYER_OPEN_IN_EXTERNAL":"Άνοιγμα σε εξωτερικό πρόγραμμα αναπαραγωγής","PLAYER_OPEN_IN_NPLAYER":"Άνοιγμα στον nPlayer","PLAYER_PLAY_IN":"Αναπαραγωγή στο {{device}}","PLAYER_LIVE":"Ζωντανά","PLAYER_NEXT_VIDEO_TITLE":"Επόμενο βίντεο","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Ακολουθεί","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Απόρριψη","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Προβολή τώρα","PLAYER_COPY_STREAM_SUCCESS":"Ο σύνδεσμος ροής αντιγράφηκε στο πρόχειρο","PLAYER_COPY_STREAM_ERROR":"Σφάλμα αντιγραφής συνδέσμου ροής","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Ο σύνδεσμος λήψης αντιγράφηκε στο πρόχειρό σας","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Αποτυχία αντιγραφής συνδέσμου λήψης","PLAYER_STATISTICS":"Στατιστικά","PLAYER_PEERS":"Χρήστες","PLAYER_SPEED":"Ταχύτητα","PLAYER_COMPLETED":"Ολοκληρώθηκε","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Ροή από","CASTING_TO":"Μετάδοση σε","NETWORK_STATUS":"Κατάσταση δικτύου","STREAM_SPEED":"Ταχύτητα ροής:","STREAM_BUFFERED":"Ενδιάμεση μνήμη:","PEERS_INFO":"Πληροφορίες peers","PEERS_ACTIVE":"Ενεργοί:","PEERS_CONNECTED":"Σε σύνδεση:","PEERS_WAITING":"Αναμονή:","TRANSCODING_WARNING":"Προειδοποίηση: Αλλαγή κωδικοποίησης βίντεο.","STREAM_LOADING":"Φόρτωση...","PLAYING_LOCAL":"Αναπαραγωγή από τοπικό αρχείο","PLAYING_CACHE":"Αναπαραγωγή από προσωρινή μνήμη","WRONG_SUBS":"Εσφαλμένοι υπότιτλοι;","ERR_SUBS_LOADING_TITLE":"Σφάλμα φόρτωσης υποτίτλων","ERR_SUBS_LOADING":"Αποτυχία φόρτωσης υποτίτλων: ενδέχεται να υπάρχει πρόβλημα με το πρόσθετό σας ή τη σύνδεση δικτύου σας","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Τα ακόλουθα πρόσθετα υποτίτλων απέτυχαν","ERR_CASTING_UPDATE_TITLE":"Δεν ήταν δυνατή η ενημέρωση των πληροφοριών της συσκευής μετάδοσης: ο διακομιστής ροής ενδέχεται να είναι εκτός σύνδεσης","CHOOSE_DEVICE":"Επιλέξτε συσκευή για παρακολούθηση","NO_CAST_DEVICES":"Δεν διατίθενται συσκευές μετάδοσης.","NO_SETTINGS":"Καμία διαθέσιμη ρύθμιση.","NO_OPTIONS":"Δεν υπάρχουν διαθέσιμες επιλογές","PHONE_TABLET":"Τηλέφωνο/Tablet","DISABLED_LABEL":"Η ρύθμιση {{label}} δεν μπορεί να αλλάξει","SUBTITLES":"Υπότιτλοι","SUBTITLES_CHANGE":"Αλλαγή υποτίτλων για ","SUBTITLES_CHANGE_NONE":"Δυστυχώς, δεν υπάρχουν άλλοι υπότιτλοι για αυτήν τη γλώσσα.","SUBTITLES_CHANGE_ACIVE":"Αυτήν τη στιγμή, είναι ενεργοί οι υπότιτλοι #{{subtitlesDialog.activeIdx + 1}}. Κάντε κλικ στο «Συνέχεια» για να ενεργοποιήσετε τους υπότιτλους #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Εναλλακτικά,","SUBTITLES_ADJUST_DELAY":"Προσαρμογή καθυστέρησης υποτίτλων:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Ή χρησιμοποιήστε τα πλήκτρα G / H κατά την αναπαραγωγή.","SUBTITLES_ADJUST_DELAY_TIP":"ΣΥΜΒΟΥΛΗ: Μπορείτε να χρησιμοποιήσετε τα πλήκτρα G / H κατά την αναπαραγωγή.","SUBTITLES_DELAY":"Καθυστέρηση υποτίτλων:","SUBTITLES_LOADING":"Φόρτωση υποτίτλων...","SUBTITLES_UNAVAILABLE":"Δεν διατίθενται εξωτερικοί υπότιτλοι","SUBTITLES_DISABLED":"Ανενεργοί","EXTERNAL_PLAYER_DISABLED":"Απενεργοποιημένο","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Να επιτρέπεται η επιλογή","EXTERNAL_PLAYER_HINT":"Συμβουλή: Υπάρχει μια ρύθμιση που επιτρέπει πάντα το άνοιγμα με εξωτερική συσκευή αναπαραγωγής","DONT_SHOW_AGAIN":"Να μην ξαναεμφανιστεί","SERVICE_INSTALL":"Εγκατάσταση","AUDIO":"Ήχος","DEFAULT_LANGUAGE":"Προεπιλεγμένη γλώσσα","DEFAULT_SECONDARY_LANGUAGE":"Δευτερεύουσα προεπιλεγμένη γλώσσα","SEASON":"Κύκλος","SEASON_NUMBER":"Κύκλος {{season}}","PREV_SEASON":"Προηγούμενος κύκλος","NEXT_SEASON":"Επόμενος κύκλος","EPISODE":"Επεισόδιο","EPISODE_ABBREVIATION":"ΕΠ","SPECIAL":"Σπέσιαλ","SORT":"Ταξινόμηση","SORT_BY":"Ταξινόμηση κατά","FILTER":"Φιλτράρισμα","SORT_TRENDING":"Τάσεις","SORT_RECENT":"Πρόσφατα","SORT_ALPHABET":"Α-Ω","SORT_ALPHABET_REVERSE":"Ω-Α","SORT_RATING":"Βαθμολογία","SORT_WATCHED":"Προβλήθηκαν","SORT_YEAR":"Έτος","SELECT":"Επιλογή","SELECT_TYPE":"Επιλέξτε τύπο","SELECT_SORT":"Ταξινόμηση κατά","SELECT_CATALOG":"Επιλέξτε κατάλογο","NO_CATALOG_SELECTED":"Δεν έχει επιλεγεί κατάλογος!","CATALOG_FILTERS":"Φίλτρα καταλόγου","ALL_FILTERS":"Όλα τα φίλτρα","SELECT_GENRE":"Επιλέξτε τύπο","SORT_LASTWATCHED":"Από τη τελευταία προβολή","SORT_NAME":"Από το όνομα","SORT_NAMEREVERSE":"Ω-Α","SORT_TIMESWATCHED":"Από τον αριθμό αναπαραγωγών","SORT_NOTWATCHED":"δεν έχει προβληθεί","New for You":"Νέα για εσάς","New Episodes":"Νέα επεισόδια","New Videos":"Νέα βίντεο","Recommendations":"Προτάσεις","LIBRARY_RESUME":"Συνέχιση","LIBRARY_PLAY":"Αναπαραγωγή","LIBRARY_DETAILS":"Λεπτομέρειες","LIBRARY_RESUME_DISMISS":"Απόρριψη","LIBRARY_CLEAR_PROGRESS":"Κατάργηση προόδου","LIBRARY_REMOVE":"Αφαίρεση","LIBRARY_NOT_LOGGED_IN":"Μόνο οι χρήστες που έχουν λογαριασμό στο Stremio έχουν πρόσβαση στη βιβλιοθήκη","LIBRARY_NOT_LOADED":"Η βιβλιοθήκη δεν έχει φορτωθεί!","LIBRARY_EMPTY":"Κενή βιβλιοθήκη","CALENDAR_NOT_LOGGED_IN":"Μόνο οι χρήστες που έχουν λογαριασμό στο Stremio έχουν πρόσβαση στο ημερολόγιο","NOT_LOGGED_IN_CLOUD":"Δείτε τις αγαπημένες σας ταινίες και σειρές οπουδήποτε, οποιαδήποτε στιγμή.","NOT_LOGGED_IN_RECOMMENDATIONS":"Προτάσεις προσαρμοσμένες στο ιστορικό παρακολούθησής σας","NOT_LOGGED_IN_NOTIFICATIONS":"Μη χάσετε κανένα επεισόδιο","NOT_LOGGED_IN_CALENDAR":"Προσαρμόστε και προγραμματίστε το προσωπικό σας ημερολόγιο παρακολούθησης","CALENDAR_NO_NEW_EPISODES":"Δεν υπάρχουν νέα επεισόδια για σήμερα","DISCOVER_FEATURED":"Προτεινόμενα","DISCOVER_TOP":"Κορυφαία","DISCOVER_OSCAR":"Νικητές Όσκαρ","DISCOVER_WARNING_TITLE":"Ωχ!","DISCOVER_EMPTY_CATALOG":"Αυτό το πρόσθετο επέστρεψε κενό περιεχόμενο.","DISCOVER_ADULT_WARNING":"Το περιεχόμενο είναι ορατό μόνο για ενήλικες. Είστε 18+;","DISCOVER_NOADDON_WARNING":"Προειδοποίηση: Δεν υπάρχει ενεργό πρόσθετο στο Stremio για αυτόν τον τύπο. Εμφανίζονται αποθηκευμένα στοιχεία, δεν θα ενημερωθεί τίποτα εδώ.","DISCOVER_LOAD_ERR":"Το περιεχόμενο δεν φορτώθηκε, προέκυψε σφάλμα.","DISCOVER_ADDON_UNINSTALLED":"Αυτό το περιεχόμενο δεν είναι πλέον διαθέσιμο, ενδέχεται να έχετε αφαιρέσει το πρόσθετο.","UNINSTALL_THIS_ADDON":"Αφαίρεση προσθέτου","ERR_ADDON_NOT_INSTALLED":"Αυτό το πρόσθετο δεν έχει εγκατασταθεί. Να γίνει εγκατάσταση;","DETAIL_RECEIVE_NOTIF_SERIES":"Λήψη ειδοποιήσεων για νέα επεισόδια","DETAIL_RECEIVE_NOTIF_VIDEOS":"Λήψη ειδοποιήσεων για νέα βίντεο","SIDEBAR_SHOW_STREAMS":"Εμφάνιση ροών","RELAUNCH":"Κάντε επανεκκίνηση τώρα!","UPGRADE":"Υπάρχει νέα διαθέσιμη έκδοση! Αναβαθμίστε στην πιο πρόσφατη έκδοση του Stremio","RELOAD_UI":"Ανανεώστε το περιβάλλον χρήστη","MANUAL_UPDATE_TITLE":"Ενημερώστε την έκδοση του Stremio σας","MANUAL_UPDATE_LINE1":"Χρησιμοποιείτε μια παρωχημένη έκδοση του Stremio, κάτι που δεν προτείνεται.","MANUAL_UPDATE_LINE2":"Παρακαλώ κάντε ενημέρωση το συντομότερο δυνατόν.","BUTTON_UPDATE_LATTER":"Όχι τώρα","BUTTON_UPDATE_NOW":"Ενημέρωση τώρα","UPDATER_TITLE":"Μια νέα έκδοση του Stremio είναι διαθέσιμη","UPDATER_INSTALL_BUTTON":"Εγκατάσταση τώρα","ANONYMOUS_USER":"Ανώνυμος χρήστης","DONT_HAVE_ACC":"Δεν έχετε λογαριασμό;","HAVE_ACC":"Έχετε ήδη λογαριασμό;","PASSWORD":"Κωδικός πρόσβασης","PASSWORD_CONFIRM":"Επιβεβαίωση κωδικού πρόσβασης","EMAIL":"Email","FB_LOGIN":"Συνέχεια με Facebook","APPLE_LOGIN":"Συνέχεια με Apple","FB_NOTHINGSHARED":"Δεν κοινοποιούμε τίποτα χωρίς την άδειά σας","FB_NOPOST":"Δεν θα δημοσιεύσουμε τίποτα εκ μέρους σας","OR":"ή","I_ACCEPT":"Αποδοχή","I_ACCEPT_BY_CLICKING":"Κάνοντας κλικ στο παραπάνω κουμπί, δηλώνω την αποδοχή ","TOS":"Όροι και Προϋποθέσεις","MUST_ACCEPT_TERMS":"Πρέπει να αποδεχθείτε τους όρους","PASSWORDS_NOMATCH":"Οι κωδικοί πρόσβασης δεν ταιριάζουν","SIGN_UP":"Εγγραφή","SIGN_UP_EMAIL":"Εγγραφή με email","CLICK_TO_SIGN_UP":"Κάντε κλικ εδώ για να εγγραφείτε.","LOG_IN":"Σύνδεση","LOG_OUT":"Αποσύνδεση","EXIT_FULLSCREEN":"Έξοδος από πλήρη οθόνη","ENTER_FULLSCREEN":"Είσοδος σε πλήρη οθόνη","PLAY_URL_MAGNET_LINK":"Αναπαραγωγή URL/συνδέσμου magnet","HELP_FEEDBACK":"Βοήθεια & σχόλια","TERMS_OF_SERVICE":"Όροι υπηρεσίας","PRIVACY_POLICY":"Πολιτική Απορρήτου","ABOUT_STREMIO":"Σχετικά με το Stremio","USER_PANEL":"Πίνακας χρήστη","LOGIN_LABEL":"Σύνδεση","GUEST_LOGIN":"Σύνδεση επισκέπτη","GUEST_LOGIN_NOTICE":"Δεν προτείνεται η σύνδεση επισκέπτη. Η κανονική σύνδεση επιτρέπει στο Stremio να συγχρονίζει τη βιβλιοθήκη σας και να σας στέλνει ειδοποιήσεις για αγαπημένες σειρές/κανάλια. Θέλετε σίγουρα να συνεχίσετε;","GUEST_LOGIN_NOTICE_2":"Δεν προτείνεται η σύνδεση επισκέπτη - δεν θα συγχρονίζεται η βιβλιοθήκη και οι ειδοποιήσεις πίνακα, που είναι βασικές λειτουργίες του Stremio. Θέλετε σίγουρα να συνεχίσετε;","CLICK_HERE":"Κάντε κλικ εδώ","WRONG_PASSWORD":"Εσφαλμένο email ή κωδικός πρόσβασης. Σε περίπτωση που έχετε ξεχάσει τον κωδικό πρόσβασής σας, ","SET_A_PASS":"Ορισμός κωδικού πρόσβασης","RESET_PASSWORD":"Επαναφορά κωδικού πρόσβασης","PASSWORD_RESET":"Ο κωδικός πρόσβασης επαναφέρθηκε","FORGOT_PASSWORD":"Ξεχάσατε τον κωδικό πρόσβασής σας;","EMAIL_USED_WITH_FB":"Αυτό το email χρησιμοποιήθηκε με σύνδεση Facebook.","INVALID_EMAIL":"Παρακαλώ εισαγάγετε μια έγκυρη διεύθυνση email","INVALID_PASSWORD":"Παρακαλώ εισαγάγετε έναν έγκυρο κωδικό πρόσβασης","CONN_ERR":"Σφάλμα σύνδεσης - παρακαλώ δοκιμάστε ξανά αργότερα.\\n\\nΑν επιμένει, απενεργοποιήστε το λογισμικό προστασίας από ιούς ή το τείχος προστασίας (ειδικά το Bitdefender).","IMPORT_FROM_GUEST":"Εισαγωγή βιβλιοθήκης από λογαριασμό επισκέπτη","RECEIVE_UPDATES_EMAIL":"Λήψη ενημερώσεων από το Stremio στο email σας","LOGIN_FAILED":"Αποτυχία σύνδεσης.","SIGNUP_FAILED":"Αποτυχία εγγραφής.","SEARCH_FAILED":"Αποτυχία αναζήτησης","EMAIL_USED":"Αυτό το email χρησιμοποιείται ήδη.","WAITING_FB_LOGIN":"Σύνδεση μέσω Facebook...","EXTERNAL_OPENING_YOUTUBE":"Αφήνεις το Stremio και ανοίγεις το YouTube. Είσαι σίγουρος;","EXTERNAL_OPENING_APP":"Αφήνεις το Stremio για να ανοίξεις άλλη εφαρμογή. Είσαι σίγουρος;","EXTERNAL_PLAYER_TITLE":"Αναπαραγωγή σε εξωτερικό πρόγραμμα","EXTERNAL_REMEMBER_PLAYER":"Θέλετε να αποθηκεύσετε την επιλογή σας;","EXTERNAL_ALWAYS_PLAY":"Ναι","EXTERNAL_ONLY_ONCE":"Όχι","BEST_FIT":"Βέλτιστη προσαρμογή","FIT_SCREEN":"Προσαρμογή στην οθόνη","FILL":"Γέμισμα","16:9":"16:9","4:3":"4:3","Original":"Αρχικό","INTRO_TASTE":"Πείτε μας τι σας αρέσει","INTRO_TASTE_LONG":"Πείτε μας τι θα θέλατε να δείτε","INTRO_TASTE_PICK":"Επιλέξτε {{interestsRemaining}} ενδιαφέροντα","INTRO_TASTE_PICK_MORE":"Επιλέξτε {{interestsRemaining}} κι άλλα ενδιαφέροντα","INTRO_TASTE_HELP_US":"Βοηθήστε μας να μάθουμε περισσότερα για εσάς.","INTRO_TASTE_CHOOSE_THESE":"Επιλέξτε κάποια από αυτά:","INTRO_TASTE_CHOOSE_MIN":"Επιλέξτε τουλάχιστον 3 κατηγορίες","INTRO_TASTE_CHOOSE_MIN_ERR":"Πρέπει να επιλέξετε τουλάχιστον 3 κατηγορίες!","INTRO_TASTE_LIFESTYLE":"Τρόπος ζωής","INTRO_TASTE_SPORTS":"Αθλήματα","INTRO_TASTE_FOOD_HEALTH":"Φαγητό & υγεία","INTRO_TASTE_BEAUTY_FASHION":"Ομορφιά & μόδα","INTRO_TASTE_NEWS":"Ειδήσεις","INTRO_TASTE_GAMING":"Παιχνίδια","INTRO_TASTE_SCIENCE_EDU":"Επιστήμη & εκπαίδευση","INTRO_TASTE_MUSIC":"Μουσική","INTRO_TASTE_TRAVEL":"Ταξίδια","INTRO_TASTE_LATE_NIGHT":"Βραδινό","INTRO_TASTE_REALITY":"Ριάλιτι","INTRO_TASTE_COMEDY":"Κωμωδία","INTRO_TASTE_DIY":"Κατασκευές","INTRO_TASTE_TECH":"Τεχνολογία","INTRO_TASTE_CINEMA":"Κινηματογράφος","NO_ADDONS":"Δεν έχουν εγκατασταθεί πρόσθετα!","NO_ADDONS_FOR_TYPE":"Δεν έχουν εγκατασταθεί πρόσθετα για αυτόν τον τύπο!","ADDON_NOT_SUPPORTED":"Το επιλεγμένο πρόσθετο δεν υποστηρίζεται σε αυτήν την πλατφόρμα.","ADDON_DISCLAIMER":"Η χρήση τρίτων προσθέτων θα υπόκειται πάντα στη δική σας ευθύνη και την ισχύουσα νομοθεσία της χώρας σας.","ADDON_ACTIVATE":"Ενεργοποίηση προσθέτου;","ADDON_REPO_ADD":"URL συλλογής προσθέτων","ADDON_ADD":"Προσθήκη","INSTALL_ADDON":"Εγκατάσταση προσθέτου","ADD_ADDON":"Προσθέστε πρόσθετο","ADD_ADDON_DESCRIPTION":"Μπορείτε να προσθέσετε ένα πρόσθετο μέσω ενός εξωτερικού συνδέσμου, ο οποίος θα εμφανίζεται στην ενότητα Εγκατεστημένα πρόσθετα.","PASTE_ADDON_URL":"Επικόλληση URL προσθέτου","ADDONS_FILTERS":"Φίλτρα προσθέτων","WHATS_NEW":"Τί νέο υπάρχει","BUTTON_CONTINUE":"Συνέχεια","BUTTON_ACTIVATE":"Ενεργοποίηση","BUTTON_ACTIVATED":"Ενεργό","BUTTON_CANCEL":"Ακύρωση","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Υποβολή","BUTTON_SEND":"Αποστολή","BUTTON_DISMISS_ALL":"Απόρριψη όλων","BUTTON_VIEW_ALL":"Προβολή όλων","BUTTON_SEE_ALL":"Προβολή όλων","BUTTON_COLOR_TRANSPARENT":"Διαφάνεια","BUTTON_PREV":"Προηγ","BUTTON_NEXT":"Επόμ","BUTTON_CLOSE":"Κλείσιμο","OPEN_IN_BROWSER":"Άνοιγμα σε πρόγραμμα περιήγησης","LIB_EMPTY":"Η βιβλιοθήκη σας είναι κενή. Ανακαλύψτε πόσο χρήσιμη είναι :)","HOW_START":"Δείτε από πού μπορείτε να ξεκινήσετε:","LIB_EMPTY_CAL":"Το ημερολόγιό σας εμφανίζει σειρές στη βιβλιοθήκη σας.","HOW_START_CAL":"Δείτε πώς μπορείτε να προσθέσετε σειρές:","LIB_EMPTY_BOARD":"Ο πίνακας εμφανίζει ειδοποιήσεις & προτάσεις σχετικές με τη βιβλιοθήκη σας.","HOW_START_BOARD_WAIT":"Παρακαλούμε προσθέστε μερικές σειρές ή κανάλια στη βιβλιοθήκη σας και δώστε μας λίγα λεπτά για να τα επεξεργαστούμε :)","HOW_START_BOARD":"Δείτε πώς μπορείτε να προσθέσετε σειρές & ταινίες:","IMPORT_FB":"Εισαγωγή αγαπημένων από το Facebook","IMPORT_TRAKT":"Εισαγωγή βιβλιοθήκης πολυμέσων από το Trakt","IMPORT_DISCOVER":"Εύρεση ενδιαφέροντος περιεχομένου από την Ανακάλυψη","IMPORT_DISK":"Εισαγωγή ταινιών ή εκπομπών από τον τοπικό σας δίσκο","PLEASE_CREATE_ACC":"Παρακαλώ δημιουργήστε έναν λογαριασμό για να ενεργοποιήσετε τον συγχρονισμό βιβλιοθήκης & πίνακα.","IMPORT_DISCOVER_SIGNUP":"Εγγραφείτε και βρείτε ενδιαφέρον περιεχόμενο από την Ανακάλυψη","IMPORT_DISK_SIGNUP":"Εγγραφείτε και εισαγάγετε ταινίες ή εκπομπές από τον τοπικό σας δίσκο","LIB_EMPTY_CLOUD":"Συγχρονισμός","LIB_EMPTY_CLOUD_DESC":"Συγχρονισμός προσωπικής βιβλιοθήκης cloud σε κάθε συσκευή","LIB_EMPTY_EARLY":"Πρόωρη άφιξη","LIB_EMPTY_EARLY_DESC":"Λήψη ειδοποιήσεων για νέα επεισόδια","LIB_EMPTY_PERSONAL":"Εξατομίκευση","LIB_EMPTY_PERSONAL_DESC":"Λήψη εξατομικευμένων προτάσεων","LIB_EMPTY_CALENDAR_DESC":"Διαχειριστείτε το προσωπικό σας ημερολόγιο παρακολούθησης","LIB_EMPTY_ALL":"Εγγραφείτε για να έχετε όλα τα ακόλουθα:","LIB_EMPTY_BEST":"Εγγραφείτε για να αξιοποιήσετε το Stremio στο έπακρο","LIB_EMPTY_OTHER":"Εγγραφείτε για να ενεργοποιήσετε το Ημερολόγιο και άλλες λειτουργίες","CALENDAR_ADDED":"Το ημερολόγιο του Stremio έχει προστεθεί στο προεπιλεγμένο ημερολόγιο του υπολογιστή σας.","CALENDAR_ADDED_MSG":"Αν δεν λειτουργήσει αυτό, παρακαλώ προσθέστε χειροκίνητα αυτό το URL της εφαρμογής ημερολογίου σας","TRAKT_EXPIRED":"Η ταυτοποίηση στο Trakt έληξε, παρακαλώ μεταβείτε στις Ρυθμίσεις και κάντε ξανά έλεγχο ταυτότητας","TRAKT_REQUIRES_LOGIN":"Σφάλμα Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Πρέπει να κάνετε σύνδεση","TRAKT_IMPORT_WATCHED":"Εισαγωγή","THEME":"Θέμα","THEME_DEFAULT":"Προκαθορισμένο","THEME_ADAPTIVE":"Προσαρμοστικός","CHOOSE_COLOR":"Επίλεξε χρώμα:","SETTINGS_APP_VERSION":"Έκδοση εφαρμογής","SETTINGS_BUILD_VERSION":"Έκδοση build","SETTINGS_SERVER_VERSION":"Έκδοση Server","SETTINGS_SHELL_VERSION":"Έκδοση Shell","SETTINGS_SOURCE_CODE":"Έκδοση πηγής","SETTINGS_LABEL":"Ρυθμίσεις","SETTINGS_NAV_GENERAL":"Γενικά","SETTINGS_NAV_PLAYER":"Αναπαραγωγή","SETTINGS_NAV_STREAMING":"Ροή","SETTINGS_NAV_SHORTCUTS":"Συντομεύσεις","SETTINGS_SHORTCUT_RELOAD_APP":"Επαναφόρτωση εφαρμογής","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Άνοιγμα ρυθμίσεων","SETTINGS_SHORTCUT_SWITCH_TABS":"Αλλαγή σελίδας","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Εναλλαγή καρτελών προς τα εμπρός","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Εναλλαγή καρτελών προς τα πίσω","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Πλοήγηση ανάμεσα στα μενού","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Πηγαίνετε στην αναζήτηση","SETTINGS_SHORTCUT_EXIT_BACK":"Έξοδος / Πίσω","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Ταχύτητα αναπαραγωγής","SETTINGS_SHORTCUT_MENU_VIDEOS":"Μενού βίντεο","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Μενού ρυθμίσεων υποτίτλων","SETTINGS_SHORTCUT_MENU_AUDIO":"Μενού ρυθμίσεων Ήχου","SETTINGS_SHORTCUT_MENU_INFO":"Μενού πληροφοριών","SETTINGS_SHORTCUT_FULLSCREEN":"Λειτουργία πλήρους οθόνης","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Εμφάνιση στοιχείων ελέγχου","SETTINGS_SHORTCUT_PLAY_PAUSE":"Αναπαραγωγή / Παύση","SETTINGS_SHORTCUT_VOLUME_UP":"Ανεβάστε την ένταση","SETTINGS_SHORTCUT_VOLUME_DOWN":"Χαμηλώστε την ένταση","SETTINGS_SHORTCUT_SEEK_NEXT":"Πηγαίνετε στο επόμενο επεισόδιο","SETTINGS_SHORTCUT_SEEK_PREV":"Πηγαίνετε στο προηγούμενο επεισόδιο","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Πηγαίνετε προς τα πίσω κατά 10 δευτερόλεπτα","SETTINGS_SHORTCUT_SEEK_FORWARD":"Παράκαμψη 10 δευτερολέπτων","SETTINGS_SHORTCUT_PLAY_NEXT":"Επόμενο","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Αυξήστε το μέγεθος των υποτίτλων","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Μειώστε το μέγεθος των υποτίτλων","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Αυξήστε την καθυστέρηση των υποτίτλων","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Μειώστε την καθυστέρηση των υποτίτλων","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Ρύθμιση καθυστέρησης υπότιτλων","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Αλλαγή θέσης πλευρικής γραμμής","SETTINGS_SHORTCUT_OR":"ή","SETTINGS_SHORTCUT_TO":"μέχρι","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Πιστοποίηση","SETTINGS_FACEBOOK_IMPORT":"Εισαγωγή","SETTINGS_CALENDAR_SUBSCRIBE":"Εγγραφή","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Η εφαρμογή Ημερολογίου άνοιξε. Παρακαλώ εγγραφείτε στο ημερολόγιο χειροκίνητα.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Το αρχείο ημερολογίου κατεβάστηκε. Παρακαλώ εισαγάγετέ το στην εφαρμογή ημερολογίου σας.","SETTINGS_INTERFACE_LANGUAGE":"Γλώσσα εφαρμογής","SETTINGS_LAUNCH_STARTUP":"Άνοιγμα κατά την εκκίνηση","SETTINGS_VLC_DEFAULT":"Αναπαραγωγή με VLC","SETTINGS_UI_LANGUAGE":"Γλώσσα εφαρμογής","SETTINGS_UI_ZOOM":"Ζουμ διεπαφής","SETTINGS_FULLSCREEN_EXIT":"Έξοδος από πλήρη οθόνη με το πλήκτρο Escape","SETTINGS_GAMEPAD":"Ενεργοποίηση υποστήριξης για gamepad","SETTINGS_CLOSE_WINDOW":"Κλείσιμο εφαρμογής όταν κλείνει το παράθυρο","SETTINGS_SUBTITLES_LANGUAGE":"Προεπιλεγμένη γλώσσα υποτίτλων","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Δευτερευόντων γλώσσα υποτίτλων","SETTINGS_SUBTITLES_SIZE":"Προεπιλεγμένο μέγεθος υποτίτλων","SETTINGS_SUBTITLES_BACKGROUND":"Φόντο υποτίτλων","SETTINGS_SUBTITLES_COLOR":"Χρώμα υποτίτλων","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Χρώμα περιγράμματος υποτίτλων","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Χρώμα φόντου υποτίτλων","SETTINGS_SEEK_KEY":"Χρονική μετατόπιση με πλήκτρα-βέλη","SETTINGS_SEEK_KEY_SHIFT":"Χρονική μετατόπιση με πλήκτρα-βέλη όταν είναι πατημένο το πλήκτρο Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Χρονική διάρκεια παράκαμψης χρόνου βίντεο","SETTINGS_BINGE":"Αυτόματη αναπαραγωγή επόμενου επεισοδίου","SETTINGS_NEXT_VIDEO":"Εμφάνιση ειδοποίησης για έναρξη επόμενου επεισοδίου","SETTINGS_NEXT_VIDEO_TRIGGER":"Εμφάνιση ειδοποίησης επόμενου επεισοδίου για:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Διάρκεια αναδυόμενου παραθύρου για το επόμενο βίντεο","SETTINGS_PLAY_IN_BACKGROUND":"Αναπαραγωγή στο παρασκήνιο","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Αναπαραγωγή σε εξωτερική εφαρμογή","SETTINGS_RESIZE":"Αυτόματη προσαρμογή παραθύρου πριν από την αναπαραγωγή","SETTINGS_OVERRIDE_SERVER":"Παράκαμψη URL διακομιστή ροής (σύνθετο)","SETTINGS_SERVER_ADD_URL":"Εισαγωγή URL","SETTINGS_SERVER_URL":"URL διακομιστή ροής:","SETTINGS_SERVER_AVAILABLE":"Ο διακομιστής ροής είναι διαθέσιμος.","SETTINGS_SERVER_UNAVAILABLE":"Ο διακομιστής ροής δεν είναι διαθέσιμος.","SETTINGS_SERVER_STATUS_ONLINE":"Σε σύνδεση","SETTINGS_SERVER_STATUS_ERROR":"Προέκυψε σφάλμα","SETTINGS_SERVER_CONFIGURE_TITLE":"Διαμορφώστε το URL του διακομιστή αναπαραγωγής","SETTINGS_SERVER_CONFIGURE_INPUT":"Εισαγωγή ενός URL διακομιστή αναπαραγωγής","SETTINGS_SERVER_CACHE_SIZE":"Μέγεθος επιτρεπόμενης μνήμης cache","SETTINGS_SERVER_TORRENT_PROFILE":"Προφίλ torrent","SETTINGS_HTTPS_ENDPOINT":"Ακροσημείο HTTPS ροής: ","SETTINGS_TRANSCODE_PROFILE":"Διακωδικοποίηση προφίλ","SETTINGS_USE_BETA":"Πάντα χρήση της πιο πρόσφατης έκδοσης beta","SETTINGS_IMPORT_FB":"Εισαγωγή από Facebook","SETTINGS_IMPORT_DISK":"Εισαγωγή από τοπικό δίσκο","SETTINGS_IMPORT_TRAKT":"Εισαγωγή από Trakt","SETTINGS_PAUSE_MINIMIZED":"Παύση αναπαραγωγής κατά την ελαχιστοποίηση","SETTINGS_HWDEC":"Αποκωδικοποίηση με επιτάχυνση υλικού","SETTINGS_BACKGROUND":"Αναπαραγωγή στο παρασκήνιο","SETTINGS_SUBSCRIBE_CALENDAR":"Εγγραφή σε ημερολόγιο","SETTINGS_REQ_EXPORT":"Αίτημα εξαγωγής δεδομένων","SETTINGS_ACC_DELETE":"Αίτημα διαγραφής λογαριασμού","SETTINGS_CHANGE_PASSWORD":"Αλλαγή κωδικού πρόσβασης","SETTINGS_TOS":"Όροι υπηρεσίας","SETTINGS_SUPPORT":"Επικοινωνία με την υποστήριξη","SETTING_LANGUAGE":"Γλώσσα","SETTINGS_BLUR_UNWATCHED_IMAGE":"Θόλωσε την εικόνα των επεισοδίων που δεν έχουν παρακολουθηθεί","SETTINGS_QUIT_ON_CLOSE":"Έξοδος στο κλείσιμο","SETTINGS_TRAKT":"Αυτόματη παρακολούθηση Trakt","SETTINGS_TRAKT_RE_AUTH":"Επαναπιστοποίηση","SETTINGS_TRAKT_LOGOUT":"Αποσύνδεση από Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Αποσύνδεση από Trakt","SETTINGS_SCAN_FOR_REMOTE":"Σαρώστε τον κωδικό QR για να ανοίξετε το τηλεχειριστήριο","SETTINGS_DESKTOP_NOTIFICATIONS":"Ειδοποιήσεις υπολογιστή","SETTINGS_DATA_SAVER":"Εξοικονόμηση δεδομένων","SETTINGS_LANGUAGE_INTERFACE":"Περιβάλλον χρήστη","SETTINGS_LANGUAGE_SUBS":"Προεπιλεγμένοι υπότιτλοι","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Αυτόματη επιλογή κομματιού ήχου","SETTINGS_DEFAULT_AUDIO_TRACK":"Προεπιλεγμένο κομμάτι ήχου","SETTINGS_SECONDARY_AUDIO_TRACK":"Δευτερεύον κομμάτι ήχου","SETTINGS_SURROUND_SOUND":"Ήχος surround","SETTINGS_ACCOUNT":"Λογαριασμός","SETTINGS_PLATFORM":"Πλατφόρμα","SETTINGS_VERSION":"Έκδοση","SETTINGS_ABOUT":"Πληροφορίες","SETTINGS_MPV_WINDOW":"Εκκίνηση αναπαραγωγής σε ξεχωριστό παράθυρο (σύνθετο)","SETTINGS_PLAY_IN_EXTERNAL":"Πάντα εκκίνηση του βίντεο σε εξωτερικό πρόγραμμα","SETTINGS_STORAGE_BUTTON":"Απαλοιφή τοπικής αποθήκευσης","SETTINGS_STORAGE_MODAL_TITLE":"Σίγουρα;","SETTINGS_STORAGE_MODAL_MESSAGE":"Αυτό θα εκκαθαρίσει τον τοπικό χώρο αποθήκευσης και θα σας αποσυνδέσει.","SETTINGS_HWDEC_PICKER":"Επιλέξτε ρύθμιση αποκωδικοποίησης με επιτάχυνση υλικού","SETTINGS_HW_AUTOMATIC":"Αυτόματη","SETTINGS_HW_DISABLED":"Ανενεργή","SETTINGS_HW_ACCELERATED":"Επιτάχυνση αποκωδικοποίησης","SETTINGS_HW_FULL":"Πλήρης επιτάχυνση","SETTINGS_HW_LEGACY":"Παλαιού τύπου","SETTINGS_DISABLED":"Ανενεργό","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Ειδοποίηση για σύνδεση δικτύου","SETTINGS_ANALYTICS":"Επέτρεψε τα αναλυτικά στοιχεία","SETTINGS_REMOTE_URL":"Σύνδεσμος remote","SETTINGS_COPY_REMOTE_URL":"Αντιγραφή σνδέσμου remote","SETTINGS_REMOTE_URL_COPIED":"Ο σύνδεσμος remote αντιγράφηκε στο πρόχειρό σας","SETTINGS_SECTION_SUBTITLES":"Υπότιτλοι","SETTINGS_SECTION_AUDIO":"Ήχος","SETTINGS_SECTION_CONTROLS":"Χειρισμός","SETTINGS_SECTION_AUTO_PLAY":"Αυτόματη αναπαραγωγή","SETTINGS_SECTION_ADVANCED":"Για προχωρημένους","SUBSPICKER_AUDIO":"Ήχος","SUBSPICKER_SUBTITLES":"Πρόσθετα Υποτίτλων","SUBSPICKER_BLACK_BACKGROUND":"Χρήση μαύρου φόντου","SUBSPICKER_VERTICAL_OFFSET":"Απόσταση από το κάτω μέρος","SUBSPICKER_SIZE":"Μέγεθος","SUBSPICKER_DELAY":"Καθυστέρηση","SUBSPICKER_EMBEDDED_SUBS":"Ενσωματωμένοι Υπότιτλοι","MOBILE_PRIVACY_POLICY":"Πολιτική Απορρήτου","MOBILE_CRASH_REPORTING":"Αναφορά σφάλματος","MOBILE_ZOOM_TO_FILL":"Ζουμ για πλήρη οθόνη","MOBILE_PASSTHROUGH":"Ψηφιακή έξοδος ήχου (passthrough)","MOBILE_RUN_LOW_BATTERY":"Λειτουργία με χαμηλή μπαταρία","MOBILE_RUN_FOREGROUND":"Εκτέλεση ως υπηρεσία προσκηνίου","MOBILE_PERFORMANCE":"Απόδοση & Σταθερότητα","MOBILE_SERVER_ONLINE":"Σε σύνδεση","MOBILE_SERVER_OFFLINE":"Δεν υπάρχει σύνδεση","MOBILE_QR_EXPIRES":"Ο κωδικός QR λήγει σε","MOBILE_LOG_INTO":"Συνδεθείτε στον λογαριασμό σας","MOBILE_SCAN_QR":"Σκανάρετε το κωδικό QR η πηγαίνετε","MOBILE_LINK_ACCOUNT":"Σύνδεση λογαριασμού","MOBILE_SPEEDPICKER_CANCEL":"Ακύρωση","MOBILE_SPEEDPICKER_LABEL":"Ταχύτητα Αναπαραγωγής","MOBILE_EMPTY_LIBRARY":"Η βιβλιοθήκη σας είναι άδεια","MOBILE_NO_ADDON_ACTIVE":"Κανένα πρόσθετο δε μπορεί να εκτελέσει αυτή τη λειτουργία.","MOBILE_ORGANIZER_WARNING":"Η εφαρμογή Stremio Organizer παρέχει περιορισμένη λειτουργικότητα. Για μια λίστα με ροές με δυνατότητα αναπαραγωγής και την πλήρη εμπειρία του Stremio, χρησιμοποιήστε το Stremio στον υπολογιστή.","MOBILE_ADDON_LOADING":"Φορτώνει","MOBILE_ADDONS_LOADING":"Τα πρόσθετα φορτώνουν","MOBILE_ADDON":"Πρόσθετο","MOBILE_CONFIGURE_ADDON":"Διαμορφώστε το πρόσθετο","MOBILE_CONFIGURE_ADDON_LABEL":"Διαμορφώστε το πρόσθετο","MOBILE_ORGANIZER_ADDONS_WARNING":"Η εφαρμογή Stremio Organizer παρέχει περιορισμένα πρόσθετα. Για την πλήρη εμπειρία του Stremio, χρησιμοποιήστε το Stremio στον υπολογιστή.","MOBILE_DISCONNECT":"Αποσύνδεση","MOBILE_LOOKING_FOR_DEVICES":"Αναζήτηση συσκευών...","MOBILE_CAST_TO":"Μετάδοση σε","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Διαγραφή λογαριασμού","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Η διαγραφή λογαριασμού δεν είναι άμεση λόγω νομικών υποχρεώσεων. Αφού ζητήσετε τη διαγραφή του λογαριασμού σας, θα πρέπει να χρησιμοποιήσετε διαφορετική διεύθυνση email/προφίλ Facebook για να δημιουργήσετε έναν νέο λογαριασμό Stremio στο μέλλον.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Επιβεβαίωση διαγραφής λογαριασμού","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ο λογαριασμός σας έχει δημιουργηθεί με λογαριασμό Facebook. Για να διαγράψετε τον λογαριασμό σας, πηγαίνετε στη διεύθυνση www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Εισάγετε τον κωδικό πρόσβασής σας για να επιβεβαιώσετε τη διαγραφή του λογαριασμού σας.","MOBILE_DELETE_ACCOUNT_BUTTON":"Διαγραφή λογαριασμού","NAVIGATION_ON":"Ανοιχτό","NAVIGATION_OFF":"Κλειστό","READ_AND_AGREE":"Έχω διαβάσει και συμφωνώ με τους όρους του Stremio","MARKETING_AGREE":"Συμφωνώ να λαμβάνω ενημερωτικά e-mail από το Stremio","QUIT":"Έξοδος","CONNECTED":"Σε σύνδεση","AUTHENTICATE":"Ταυτοποίηση","AUTHENTICATING":"Γίνεται ταυτοποίηση...","CACHING":"Προσωρινή αποθήκευση","SETTINGS_CACHING_DRIVE":"Δίσκος προσωρινής μνήμης","ENABLE_LOCAL_FILES_ADDON":"Ενεργοποίηση προσθέτου τοπικών αρχείων (απαιτεί επανεκκίνηση)","LOCAL_ADDON_NOT_ENABLED":"Το τοπικό πρόσθετο δεν είναι ενεργοποιημένο. Κάντε κλικ εδώ για να μεταβείτε στις ρυθμίσεις και να το ενεργοποιήσετε","ENABLE_REMOTE_HTTPS_CONN":"Ενεργοποίηση απομακρυσμένων συνδέσεων HTTPS","TORRENT_PROFILE":"Προφίλ torrent","DATA_CACHING":"Προσωρινή αποθήκευση δεδομένων","MAGNET_PARSING":"Ανάλυση συνδέσμου magnet","January":"Ιανουάριος","February":"Φεβρουάριος","March":"Μάρτιος","April":"Απρίλιος","May":"Μάιος","June":"Ιούνιος","July":"Ιούλιος","August":"Αύγουστος","September":"Σεπτέμβριος","October":"Οκτώβριος","November":"Νοέμβριος","December":"Δεκέμβριος","Monday":"Δευτέρα","Tuesday":"Τρίτη","Wednesday":"Τετάρτη","Thursday":"Πέμπτη","Friday":"Παρασκευή","Saturday":"Σάββατο","Sunday":"Κυριακή","Action":"Δράση","Comedy":"Κωμωδία","War":"Πόλεμος","Family":"Οικογενειακές","Animation":"Κινούμενα σχέδια","Adventure":"Περιπέτεια","Fantasy":"Φαντασία","Crime":"Έγκλημα","Mystery":"Μυστήριο","Romance":"Ρομαντικές","Drama":"Δράμα","Horror":"Τρόμος","Thriller":"Θρίλερ","Sci-Fi":"Επιστημονική φαντασία","Music":"Μουσική","Biography":"Βιογραφία","Documentary":"Ντοκιμαντέρ","Sport":"Αθλήματα","Musical":"Μιούζικαλ","Western":"Γουέστερν","Film-Noir":"Φιλμ νουάρ","News":"Ειδήσεις","History":"Ιστορία","Game-Show":"Τηλεπαιχνίδι","Reality-TV":"Ριάλιτι","Talk-Show":"Τοκ σόου","Film & Entertainment":"Σινεμά & ψυχαγωγία","Gaming":"Παιχνίδια","From TV":"Από την τηλεόραση","Lifestyle":"Τρόπος ζωής","Science & Education":"Επιστήμη & εκπαίδευση","Cooking & Health":"Μαγειρική & υγεία","Beauty & Fashion":"Ομορφιά & μόδα","Sports":"Αθλήματα","News & Politics":"Ειδήσεις & πολιτική","How-to & DIY":"Κατασκευές","Tech":"Τεχνολογία","Automotive":"Αυτοκίνηση","Causes & Non-Profits":"Φιλανθρωπία","Movies":"Ταινίες","Uk Live Tv":"Ηνωμένο Βασίλειο","Fashion":"Μόδα","Business News Radio":"Επιχειρήσεις - Ράδιο","Business Tv":"Επιχειρήσεις","Cars & Auto":"Αυτοκίνητα","Comedy Radio":"Κωμωδία - Ράδιο","Lifestyle Radio":"Τρόπος ζωής - Ράδιο","News Tv":"Ειδήσεις","Food And Wine":"Φαγητό & ποτά","Latino Tv":"Λατινική Αμερική","Shopping Tv":"Αγορές","Religion":"Θρησκεία","Kids":"Παιδικά","Body & Soul":"Σώμα & πνεύμα","Education":"Εκπαίδευση","Indian Tv":"Ινδία","Extreme Sports":"Εξτρίμ σπορ","Middle Eastern Tv":"Μέση Ανατολή","Celebrity Tv":"Διάσημοι","Science Tv":"Επιστήμη","Bikini babe":"Bikini babe","Outdoors":"Εξοχή","German Tv":"Γερμανία","French Tv":"Γαλλία","Italian Tv":"Ιταλία","Gamer Tv":"Παιχνίδια","Travel":"Ταξίδια","Asian Tv":"Ασία","Entertainment":"Ψυχαγωγία","News Radio":"Ειδήσεις - Ράδιο","Music Radio":"Μουσική - Ράδιο","Language Learning":"Εκμάθηση γλωσσών","Science Radio":"Επιστήμη - Ράδιο","Tech Radio":"Τεχνολογία - Ράδιο","Science & Technology Vod":"Επιστήμη & τεχνολογία","new video":"Νέο βίντεο","new episode":"Νέο επεισόδιο","new movie":"Νέα ταινία","recommended":"Προτάσεις","we recommend":"Προτείνουμε","offer of the day":"Προσφορά ημέρας","news":"Ειδήσεις","music video":"Μουσικό βίντεο","CTX_SHOW_HOTKEYS":"Εμφάνιση πλήκτρων συντομεύσεων","CTX_DISMISS_NOTIF":"Απόρριψη ειδοποιήσεων","CTX_DISMISS_ALL":"Απόρριψη όλων","CTX_SHARE":"Κοινοποίηση","CTX_COPY_SHARE_LINK":"Αντιγραφή συνδέσμου κοινής χρήσης","CTX_COPY_MAGNET_LINK":"Αντιγραφή συνδέσμου magnet","CTX_COPY_STREAM_LINK":"Αντιγραφή συνδέσμου ροής","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Αντιγραφή συνδέσμου λήψης βίντεο","CTX_DOWNLOAD_VIDEO":"Λήψη βίντεο","CTX_DOWNLOAD_SUBS":"Λήψη υποτίτλων","CTX_VIEW_ON_YOUTUBE":"Προβολή στο YouTube","CTX_SHOW":"Εμφάνιση","CTX_PLAY":"Αναπαραγωγή","CTX_PLAY_IN":"Αναπαραγωγή σε","CTX_PLAY_ON":"Αναπαραγωγή σε","CTX_WATCH_ON":"Παρακολούθηση σε","CTX_WATCH":"Προβολή","CTX_WATCHED":"Προβλήθηκε","CTX_WATCH_BEGINNING":"Προβολή από την αρχή","CTX_WATCH_MOBILE":"Προβολή σε κινητή συσκευή","CTX_REWIND":"Επιστροφή στην αρχή","CTX_MARK_WATCHED":"Σήμανση ως προβεβλημένο","CTX_MARK_NON_WATCHED":"Σήμανση ως μη προβεβλημένο","CTX_MARK_UNWATCHED":"Σήμανση ως μη προβεβλημένο","CTX_MARK_REST":"Σήμανση υπολοίπων ως προβεβλημένων","CTX_UNMARK_REST":"Σήμανση υπολοίπων ως μη προβεβλημένων","CTX_RECEIVE_NEW_NOTIF":"Λήψη νέων ειδοποιήσεων","CTX_ENABLE_NEW_NOTIF":"Ενεργοποίηση ειδοποιήσεων","CTX_DISABLE_NEW_NOTIF":"Απενεργοποίηση ειδοποιήσεων","CTX_REMOVE_CACHE":"Αφαίρεση από προσωρινή μνήμη","CTX_REMOVE_CACHE_EP":"Αφαίρεση επεισοδίου από προσωρινή μνήμη","CTX_OPEN_CONTAINING":"Άνοιγμα φακέλου αποθήκευσης","CTX_REMOVE":"Αφαίρεση από βιβλιοθήκη","CTX_AVAILABLE_OFFLINE":"Διαθέσιμο εκτός σύνδεσης","CTX_PAUSED":"Σε παύση","CTX_ALWAYS_ON_TOP":"Πάντα στο προσκήνιο","CTX_FULLSCREEN":"Πλήρης οθόνη","CTX_WRONG_SUBS":"Εσφαλμένοι υπότιτλοι;","CTX_REPORT_ISSUES":"Αναφορά ζητήματος","CTX_COPY":"Αντιγραφή","CTX_COPY_TO_CLIPBOARD":"Αντιγραφή στο πρόχειρο","CTX_PASTE":"Επικόλληση","CTX_CLEAR":"Απαλοιφή","CTX_CLEAR_RECENT_SEARCHES":"Απαλοιφή πρόσφατων αναζητήσεων","HELLO_THERE":"Γεια σας","HOPE_YOU_ENJOY":"Ελπίζουμε να απολαμβάνετε το Stremio και να έχει γίνει ήδη μία από τις αγαπημένες σας εφαρμογές!","WHO_ARE_WE":"Ποιοι είμαστε; Είμαστε η ομάδα που το αναπτύσσει - δύο τύποι που εργάζονται σκληρά κάθε μέρα για τα τελευταία 3 έτη, προκειμένου να κάνουν αυτό το προϊόν όλο και καλύτερο.","SUPPORT_US":"Αν απολαμβάνετε το Stremio, αν το Stremio είναι ανεκτίμητο για εσάς - μοιραστείτε το με όλους!","SPREAD_THE_WORD":"Μοιραστείτε το με τους φίλους σας, μιλήστε σε όλους για το Stremio","MORE_PEOPLE":"Όσο περισσότερα άτομα χρησιμοποιούν το Stremio, τόσο καλύτερο θα γίνεται!","SEND_A_LINK":"Ή στείλτε έναν σύνδεσμο για τον ιστότοπό μας","TIP_LOCALFILES":"Συμβουλή: Μπορείτε να σύρετε και να εναποθέσετε τοπικά αρχεία βίντεο στο Stremio","ADDON_MY":"Τα πρόσθετά μου","ADDON_COMMUNITY":"Πρόσθετα κοινότητας","ADDON_OFFICIAL":"Επίσημα πρόσθετα","ADDON_REPOS":"Συλλογές προσθέτων","ADDON_SEARCH":"Αναζήτηση προσθέτων","ADDON_INSTALL":"Εγκατάσταση","ADDON_CONFIGURE":"Ρύθμιση","ADDON_UNINSTALL":"Αφαίρεση","ADDON_UPGRADE":"Αναβάθμιση","ADDON_INSTALLED":"Εγκατεστημένο","ADDON_INSTALLED_MSG":"Το πρόσθετο εγκαταστάθηκε!","ADDON_UPGRADED_MSG":"Το πρόσθετο αναβαθμίστηκε!","ADDON_UNKNOWN":"Άγνωστο","ADDON_ERR":"Σφάλμα εγκατάστασης προσθέτου!","ADDON_DISCONNECTED":"Αποσυνδέθηκε","ADDON_APP_MISSING":"Η εφαρμογή για αυτήν την πηγή δεν έχει εγκατασταθεί. Θέλετε να την εγκαταστήσετε τώρα;","ADDON_APP_INSTALL":"Εγκατάσταση","ADDON_PAGE":"Σελίδα προσθέτου","ADDON_TOP_CONTENT":"Τα καλύτερα από αυτό το πρόσθετο","ADDON_PROVIDES":"Αυτό το πρόσθετο προσφέρει:","ADDON_WATCH":"Παρακολούθηση «#{types}»!","ADDON_WATCH_FREE":"Δωρεάν παρακολούθηση «#{types}»!","ADDON_ADDON":"Πρόσθετο","ADDON_SUPPORTED_TYPES":"Υποστηριζόμενοι τύποι","ADDON_SUPPORTED_CATALOGS":"Υποστηριζόμενοι κατάλογοι","ADDON_PROVIDES_DISCOVER":"Περισσότερα «#{types}» στην Ανακάλυψη","ADDON_PROVIDES_STREAMS":"Παρακολούθηση «#{types}»","ADDON_PROVIDES_STREAMS_FREE":"Δωρεάν παρακολούθηση «#{types}»","ADDON_PROVIDES_SUBTITLES":"Υπότιτλοι για «#{types}»","ADDON_CANTDETECT":"Δεν μπορέσαμε να εντοπίσουμε κάποια εκτέλεση του Stremio, επομένως δεν μπορέσαμε να προσδιορίσουμε τα εγκατεστημένα σας πρόσθετα.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Η αναπαραγωγή torrent δεν υποστηρίζεται σε αυτή τη συσκευή λόγω κανόνων του App Store","ERR_NO_META":"Δεν βρέθηκε καμία πληροφορία σχετικά με αυτό ","ERR_NO_META_SELECTED":"Δεν επιλέχθηκε στοιχείο!","ERR_NO_META_FOUND":"Δεν βρέθηκαν στοιχεία!","ERR_NO_ADDONS_FOR_META":"Δεν ζητήθηκαν πρόσθετα για αυτό το στοιχείο!","ERR_NO_ADDONS_FOR_STREAMS":"Δεν ζητήθηκαν πρόσθετα για ροές!","ERR_NO_VIDEOS_FOR_META":"Δεν βρέθηκαν βίντεο για αυτό το στοιχείο!","ERR_GETTING_META":"Σφάλμα ανάκτηση σχετικών πληροφοριών.","ERR_CANT_PARSE_MAGNET":"Δεν ήταν δυνατή η ανάλυση του magnet","ERR_NO_MAGNET_INFOHASH":"Κανένα έγκυρο hash πληροφοριών για το magnet","ERR_NO_FILE_PATH":"Δεν είναι δυνατή η αποστολή αιτήματος χωρίς διαδρομή σε αρχείο","ERR_NO_TORRENT":"Δεν επιστράφηκε κανένα torrent","ERR_NO_SUPPORTERD_FILES":"Δεν βρέθηκαν υποστηριζόμενα αρχεία","ERR_OPENING_FILES":"Δεν ήταν δυνατό το άνοιγμα εξωτερικών αρχείων","ERR_INVALID_LINK":"Μη έγκυρος σύνδεσμος","ERR_REGISTERED_ONLY":"Αυτή η επιλογή είναι διαθέσιμη μόνο για εγγεγραμμένους χρήστες.","ERR_CLIPBOARD":"Δεν είναι δυνατή η αναπαραγωγή από το πρόχειρο","ERR_CLIPBOARD_READ":"Δεν είναι δυνατή η ανάγνωση από το πρόχειρο σε αυτήν την πλατφόρμα","ERR_CLIPBOARD_GENERIC":"Δεν βρέθηκε κατάλληλο URL στο πρόχειρο. Παρακαλώ αντιγράψτε ένα URL βίντεο (π.χ. σύνδεσμος magnet).","BOARD_CONTINUE_WATCHING":"Συνέχεια παρακολούθησης","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Η λίστα «Συνέχεια παρακολούθησης» δεν έχει φορτωθεί!","BOARD_CONTINUE_WATCHING_EMPTY":"Η λίστα «Συνέχεια παρακολούθησης» είναι άδεια","BOARD_EXPLANATION_RECOMMENDATIONS":"Ταινίες ειδικά επιλεγμένες για εσάς.
    Αυτή η ταινία αποτελεί δείγμα πρότασης.","BOARD_EXPLANATION_EPISODES":"Τα νέα επεισόδια των αγαπημένων σας σειρών έρχονται εδώ.
    Προσθέστε στη βιβλιοθήκη σας τις σειρές που ακολουθείτε.","BOARD_EXPLANATION_VIDEOS":"Τα νέα επεισόδια των αγαπημένων σας καναλιών έρχονται εδώ.
    Προσθέστε στη βιβλιοθήκη σας τα κανάλια που ακολουθείτε.","WEBSITE_ENJOYED_BY":"Το απολαμβάνουν περισσότεροι από 30 εκατομμύρια χρήστες σε όλο τον κόσμο","WEBSITE_STREAMING_ENHANCED":"Το streaming ανανεωμένο","WEBSITE_STREAMING_ENHANCED_DETAILS":"Το Stremio προσφέρει μια ασφαλή, σύγχρονη και απρόσκοπτη εμπειρία ψυχαγωγίας. Με την εύκολη στη χρήση διεπαφή και τη βιβλιοθήκη ποικίλου περιεχομένου, συμπεριλαμβανομένης της υποστήριξης 4K HDR, οι χρήστες μπορούν να απολαμβάνουν τις αγαπημένες τους ταινίες και τηλεοπτικές εκπομπές σε όλες τις συσκευές τους. Και με τη δέσμευσή του στην ασφάλεια, το Stremio είναι η απόλυτη επιλογή για μια άνετη, υψηλής ποιότητας εμπειρία streraming.","WEBSITE_AVAILABLE_ON":"Διαθέσιμο σε","WEBSITE_WATCH_AND_ENJOY":"Δείτε & Απολαύστε.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Το Stremio το κάνει παιχνιδάκι","WEBSITE_ALL_FEATURES":"Όλες οι λειτουργίες","WEBSITE_EASY_TO_USE":"Εύκολο στη χρήση","WEBSITE_EASY_TO_USE_DETAILS":"Το Stremio έχει σχεδιαστεί για να είναι φιλικό προς το χρήστη και εύκολο στη χρήση. Με την καθαρή και διαισθητική διεπαφή του μπορείτε εύκολα να πλοηγηθείτε και να βρείτε το περιεχόμενο που θέλετε να παρακολουθήσετε.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Απρόσκοπτο σε όλες τις συσκευές","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Διαθέσιμο για ένα ευρύ φάσμα πλατφορμών (συμπεριλαμβανομένων των Windows, Mac, Linux, Android και άλλες), το Stremio θα παρακολουθεί την πρόοδό σας σε όλες τις συσκευές σας. Απλώς συνδεθείτε και συνεχίστε την παρακολούθηση χωρίς να χρειάζεται να ρυθμίσετε ξανά την εφαρμογή σε κάθε νέα συσκευή.","WEBSITE_ALL_DOWNLOADS":"Όλες οι λήψεις","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Υποστήριξη για βίντεο υψηλής ανάλυσης","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Ένα ενσωματωμένο πρόγραμμα αναπαραγωγής βίντεο που υποστηρίζει τις περισσότερες μορφές βίντεο, συμπεριλαμβανομένου περιεχομένου 4K HDR, σας επιτρέπει να απολαύσετε την υψηλότερη διαθέσιμη ποιότητα.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Βιβλιοθήκη με ποικιλία περιεχομένου","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Το Stremio ενσωματώνεται με μεγάλο αριθμό δημοφιλών πηγών βίντεο, όπως το Netflix, το Amazon Prime Video, το Hulu, το YouTube και πολλά άλλα.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Δημιουργήστε έναν δωρεάν λογαριασμό.","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Προσαρμοσμένη εμπειρία προβολής","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Το Stremio σάς επιτρέπει να προσαρμόσετε την εμφάνιση και την αίσθηση της διεπαφής αλλάζοντας το θέμα, προσθέτοντας ή αφαιρώντας πρόσθετα και πολλά άλλα.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Υποστήριξη πολύγλωσσων υπότιτλων","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Τώρα μπορείτε να απολαύσετε όλο το αγαπημένο περιεχόμενο στη γλώσσα που προτιμάτε, καθώς το Stremio υποστηρίζει υπότιτλους σε όλες τις γλώσσες.","WEBSITE_ALL_STREMIO_FEATURES":"Όλες οι λειτουργίες του Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Δοκιμάστε το Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Τώρα στη τηλεόρασή σας","WEBSITE_YOU_CAN_NOW_WATCH":"Μπορείτε πλέον να παρακολουθείτε όλες τις αγαπημένες τηλεοπτικές εκπομπές στις συσκευές σας με Android TV. Η εφαρμογή Stremio TV σάς επιτρέπει να απολαύσετε μια κινηματογραφική βραδιά με ευκολία.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Τώρα μπορείτε να παρακολουθήσετε όλες τις αγαπημένες τηλεοπτικές εκπομπές στη Smart TV ή στην Android TV σας. Οι εφαρμογές Stremio TV σάς επιτρέπουν να απολαύσετε μια βραδιά ταινιών με ευκολία.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio για Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Ίσως η καλύτερη και πιο χρήσιμη εφαρμογή που μπορείτε να έχετε στη συσκευή σας. Είναι μια από τις εφαρμογές που χρησιμοποιώ σε καθημερινή βάση ειδικά στην Android TV μου εδώ και πολλά χρόνια. Καλοφτιαγμένο με μια ισχυρή κοινότητα που παρέχει χρήσιμες λειτουργίες. Μπράβο. Συνέχισε την καλή δουλειά.","WEBSITE_REVIEWS":"αξιολογήσεις","WEBSITE_GET_STREMIO_FOR_FREE":"Αποκτήστε το Stremio δωρεάν","WEBSITE_GET_STREMIO_NOW":"Αποκτήστε το Stremio τώρα","WEBSITE_STREMIO_FEATURES":"Λειτουργίες του Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Κάντε stream σαν επαγγελματίας με τις προηγμένες δυνατότητες του Stremio και απολαύστε απρόσκοπτη πρόσβαση σε όλα τα αγαπημένα σας μέσα","WEBSITE_DISCOVER_MORE":"Εξερευνήστε περισσότερα.","WEBSITE_DISCOVER_MORE_DETAILS":"Μην ξεμείνετε ποτέ από πράγματα για να παρακολουθήσετε","WEBSITE_COMMUNITY_DRIVEN":"Με γνώμονα την κοινότητα","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Το Stremio έχει μια μεγάλη και ενεργή κοινότητα χρηστών που συμβάλλουν στην ανάπτυξη του λογισμικού δημιουργώντας και μοιράζοντας πρόσθετα.","WEBSITE_GET_INVOLVED":"Συμμετέχετε","WEBSITE_NEW_THEATER_EXPERIENCE":"Νέα εμεπιρία κηνιματογράφου","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Η νέα αποκλειστική εφαρμογή τηλεόρασης του Stremio σας επιτρέπει να απολαύσετε μια βραδιά ταινίας στις συσκευές Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Η νέα αποκλειστική εφαρμογή τηλεόρασης του Stremio σας επιτρέπει να απολαύσετε μια βραδιά ταινίας στις συσκευές Smart TV ή Android TV σας.","WEBSITE_FREE_AND_SECURE":"Δωρεάν & Ασφαλές","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Το Stremio προσφέρει απαράμιλλη ασφάλεια και απόρρητο στους χρήστες. Με τη μοναδική του δυνατότητα να εκτελείτε πρόσθετα από απόσταση, το Stremio παρέχει έναν ασφαλέστερο τρόπο για να μεταδώσετε το αγαπημένο σας περιεχόμενο σε σύγκριση με άλλες πλατφόρμες. Η ασφάλεια και το απόρρητό σας αποτελούν κορυφαίες προτεραιότητες και η πλατφόρμα διασφαλίζει ότι όλα τα δεδομένα σας προστατεύονται.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Πείτε αντίο στις ανησυχίες για την ασφάλεια και την ιδιωτικότητα και πείτε γεια σε έναν κόσμο ατελείωτης διασκέδασης με το Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Οι πληροφορίες παρέχονται από","WEBSITE_CONTRIBUTE_DESC":"στο project & βοηθήστε μας να κάνουμε το Stremio ακόμα καλύτερο.","WEBSITE_COMMUNITY_DESC":"Πιστεύουμε ότι ο καλύτερος τρόπος για να δημιουργήσετε μια πραγματικά εκπληκτική εμπειρία ροής είναι να εμπλέξετε την κοινότητά μας στη διαδικασία. Είτε είστε προγραμματιστής, είτε καλλιτέχνης είτε απλώς θαυμαστής - θα μπορούσατε να βοηθήσετε το Stremio να αναπτυχθεί.","WEBSITE_COMMUNITY_DESC_2":"Ελάτε λοιπόν σήμερα και γίνετε μέλος της κοινότητας του Stremio και συνεχίστε να διαμορφώνετε το μέλλον του streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Τρόποι να συμμετέχετε","WEBSITE_IN_THE_STREMIO_COMMUNITY":"στη κοινότητα του Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Μοιραστείτε τις σκέψεις σας","WEBSITE_REPORT_BUGS":"Αναφέρετε σφάλματα","WEBSITE_SUGGEST_FEATURES":"προτείνετε λειτουργίες","WEBSITE_AND_PROVIDE_FEEDBACK":"και παρέχετε σχόλια στα κανάλια μας στα μέσα κοινωνικής δικτύωσης.","WEBSITE_BETA_TESTING_PROGRAM":"Πρόγραμμα δοκιμών beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Λάβετε μέρος στο πρόγραμμα δοκιμών beta (αποστέλλουμε προσκλήσεις τακτικά) στην κοινότητα Stremio.","WEBSITE_JOIN_NOW":"Πάρε μέρος τώρα!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Επίσημες Κοινότητες Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Ανεπίσημες Κοινότητες Stremio","WEBSITE_BECOME":"Γίνετε","WEBSITE_A_VOLUNTEER_TRANSLATOR":"ένας εθελοντής μεταφραστής","WEBSITE_ARE_YOU_A_DEVELOPER":"Είστε προγραμματιστής;?","WEBSITE_CONTRIBUTE_CODE":"Θα μπορούσατε να συνεισφέρετε κώδικα στα έργα ανοιχτού κώδικα μας. Έχουμε πολλά έργα στο GitHub που αναζητούν συντελεστές. Εάν ενδιαφέρεστε να βοηθήσετε, ελέγξτε τα:","WEBSITE_STREMIO_ON_GITHUB":"Stremio στο GitHub","WEBSITE_CREATE_ADDON_DESC":"Δημιουργήστε ένα πρόσθετο για να βελτιώσετε τη λειτουργικότητα του Stremio (διαθέτουμε ένα εύχρηστο API):","WEBSITE_STREMIO_ADDON_SDK":"SDK για πρόσθετα Stremio","WEBSITE_INTERN_DEVELOPER":"Παρέχουμε επίσης την ευκαιρία να συμμετάσχετε ως ασκούμενος προγραμματιστής για να μπορέσουμε να αναπτυχθούμε μαζί.","WEBSITE_APPLY_AS_AN_INTERN":"Κάντε αίτηση ως ασκούμενος!","WEBSITE_CALLING_ALL_ARTISTS":"Καλούμε όλους τους καλλιτέχνες!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Δείξτε τη δημιουργικότητα και την αγάπη σας για το Stremio ανεβάζοντας τα fan art σας στην ηλεκτρονική μας συλλογή. Είτε πρόκειται για σχέδιο, ζωγραφική ή ψηφιακό σχέδιο, θέλουμε να δούμε τη μοναδική σας άποψη για τη μάρκα Stremio. Γίνετε μέλος της κοινότητας των λάτρεις της τέχνης και μοιραστείτε τη δουλειά σας με άλλους θαυμαστές του Stremio σε όλο τον κόσμο.","WEBSITE_STREMIO_FANART_GALLERY":"Συλλογή Stremio Fanart","WEBSITE_INTERN_DESIGNER":"Γίνετε μέλος της ομάδας μας και ανεβάστε τη δημιουργικότητά σας σε νέα ύψη με τις συναρπαστικές μας ευκαιρίες πρακτικής άσκησης.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Project δημόσιων ταινιών","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Στο Stremio, δεσμευόμαστε να διατηρήσουμε την ιστορία του κινηματογράφου και της τηλεόρασης εντοπίζοντας δημόσια και ορφανά βίντεο. Δουλεύοντας μαζί με την κοινότητά μας, μπορούμε να διασφαλίσουμε ότι αυτά τα κλασικά έργα τέχνης είναι προσβάσιμα σε όλους και προστατεύονται για να τα απολαύσουν οι μελλοντικές γενιές.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Μη διστάσετε να επικοινωνήσετε μαζί μας εάν θέλετε να συμμετάσχετε σε αυτό το project.","WEBSITE_JOIN_THE_PROJECT":"Συμμετέχετε στο project","WEBSITE_BE_PART_OF_OUR_MISSION":"Γίνετε μέρος της αποστολής μας","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Ενδιαφέρεστε να ενταχθείτε στην ομάδα του Stremio; Προσφέρουμε πλήρως απομακρυσμένη εργασία για παθιασμένους επαγγελματίες. Δείτε τις ανοιχτές θέσεις μας.","WEBSITE_OPEN_POSITIONS":"ΕΛΕΥΘΕΡΕΣ ΘΕΣΕΙΣ","WEBSITE_DESCRIPTION":"ΠΕΡΙΓΡΑΦΗ","WEBSITE_LEARN_MORE":"Μάθετε περισσότερα","WEBSITE_COMPANY":"Εταιρία","WEBSITE_CONTACTS":"Επαφές","WEBSITE_NEED_HELP":"Χρειάζεστε βοήθεια;","WEBSITE_STREMIO_WEB_ON_IOS":"Οδηγός για το Stremio Web σε iOS","WEBSITE_LINK_ART_V2":"Fanart","WEBSITE_PARTNERS":"Συνεργάτες","WEBSITE_SLOGAN_WATCH":"Άμεση παρακολούθηση","WEBSITE_SLOGAN_ALL":"Όλο το περιεχόμενό σας, σε ένα μέρος","WEBSITE_SLOGAN_NEW":"Απεριόριστη παρακολούθηση","WEBSITE_SLOGAN_NEW_NEW":"Ελευθερία στο streaming","WEBSITE_WATCH_FROM":"Προβολή από","WEBSITE_DOWNLOAD":"Λήψη τώρα","WEBSITE_DOWNLOAD_FOR":"Λήψη τώρα για","WEBSITE_IS_DESKTOP":"Το Stremio είναι εφαρμογή για υπολογιστές, ανοίξτε αυτήν τη σελίδα στον υπολογιστή για να κάντε λήψη","WEBSITE_DESKTOP_DEMO_VID":"Επίδειξη σε υπολογιστή","WEBSITE_PAGE_HOME":"Αρχική","WEBSITE_PAGE_FEATURES":"Λειτουργίες","WEBSITE_PAGE_ADDONS":"Πρόσθετα","WEBSITE_PAGE_TECH":"Τεχνολογία","WEBSITE_PAGE_CREATE_ADDON":"Δημιουργία προσθέτου","WEBSITE_PAGE_CONTACTS":"Επαφές","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Εισαγάγετε τον επιθυμητό νέο κωδικό πρόσβασης παρακάτω.","WEBSITE_RESET_PASSWORD_WARNING":"Είστε βέβαιοι ότι θέλετε να επαναφέρετε τον κωδικό πρόσβασης για ${1};","WEBSITE_TYPE_movie":"Ταινίες","WEBSITE_TYPE_series_PL":"Σειρές","WEBSITE_TYPE_tv":"Ζωντανή τηλεόραση","WEBSITE_TYPE_channel":"Κανάλια","WEBSITE_STREMIO_WHAT_IS":"Το Stremio είναι μια εφαρμογή που σας βοηθά να οργανώσετε και να παρακολουθήσετε άμεσα τα αγαπημένα σας βίντεο, ταινίες, σειρές και τηλεοπτικά κανάλια.","WEBSITE_FEATURES_WATCH":"Άμεση παρακολούθηση σε HD","WEBSITE_FEATURES_WATCH_DETAIL":"Κάντε κλικ και δείτε τις αγαπημένες σας ταινίες, εκπομπές, βίντεο και κανάλια.","WEBSITE_FEATURES_SUBS":"Αυτόματοι υπότιτλοι","WEBSITE_FEATURES_SUBS_DETAIL":"Το Stremio επιλέγει αυτόματα συγχρονισμένους υπότιτλους στη γλώσσα σας.","WEBSITE_FEATURES_SUBS_LABEL":"Εσύ αποφασίζεις.","WEBSITE_FEATURES_CAST":"Αναπαραγωγή σε τηλεόραση & κινητές συσκευές","WEBSITE_FEATURES_CAST_DETAIL":"Μετάδοση σε Apple TV, Chromecast, Smart TV (DLNA/UPnP) και κινητές συσκευές.","WEBSITE_LIB":"Η προσωπική σας βιβλιοθήκη σε όλες τις συσκευές σας","WEBSITE_LIB_COLLECT":"Συλλογή από Stremio","WEBSITE_LIB_IMPORT":"Εισαγωγή από Facebook","WEBSITE_LIB_LOCAL":"Προσθήκη από τοπικό δίσκο","WEBSITE_BOARD":"Ο πίνακας - Ένα ενιαίο μέρος για ειδοποιήσεις και προτάσεις","WEBSITE_BOARD_RECOMMEND":"Προτεινόμενη εκπομπή","WEBSITE_BOARD_TRENDING":"Δημοφιλής ταινία","WEBSITE_BOARD_NEW":"Νέο βίντεο","WEBSITE_BOARD_EPISODE":"Νέο επεισόδιο","WEBSITE_BOARD_1":"Ψάχνετε να παρακολουθήσετε κάτι ενδιαφέρον; Λάβετε προτάσεις βάσει των προτιμήσεών σας!","WEBSITE_BOARD_2":"Ειδοποιηθείτε όταν κυκλοφορήσει ένα νέο επεισόδιο της αγαπημένης σας εκπομπής ή καναλιού YouTube!","WEBSITE_BOARD_YOUTUBE":"Νέα βίντεο καναλιών YouTube","WEBSITE_BOARD_EPISODES":"Νέα επεισόδια των σειρών που ακολουθείτε","WEBSITE_ADDONS":"Πρόσθετα περιεχομένου","WEBSITE_TECH_DETAIL":"Αγαπούμε την τεχνολογία και την επιστήμη!\\nΤο Stremio χρησιμοποιεί τις εξής τεχνολογίες ανοικτού κώδικα:","WEBSITE_TECH_WCJS":"Το WebChimera.js επιτρέπει στο Stremio την αναπαραγωγή οποιασδήποτε μορφής βίντεο με καλές επιδόσεις.","WEBSITE_TECH_WCJS_EXTRA":"Είμαστε οι βασικοί συντελεστές του έργου","WEBSITE_TECH_ELECTRON":"Το Electron αποτελεί μια καινοτόμα πλατφόρμα για την ανάπτυξη του Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Είμαστε συντελεστές του έργου","WEBSITE_TECH_LINVODB":"Μια τεχνολογία βάσης δεδομένων που εξασφαλίζει ότι τα δεδομένα σας είναι οργανωμένα και διαθέσιμα απ\' όπου κάνετε σύνδεση.","WEBSITE_TECH_LINVODB_EXTRA":"Τεχνολογία από εμάς","WEBSITE_CREATE_ADDON":"Δημιουργήστε το πρόσθετό σας","WEBSITE_CREATE_ADDON_DETAIL":"Διαθέτετε κάποια υπηρεσία παροχής περιεχομένου βίντεο; Θα σας βοηθήσουμε να επωφεληθείτε από τις δυνατότητες του Stremio δημιουργώντας το πρόσθετό σας.","WEBSITE_CREATE_ADDON_BENEFITS":"Οφέλη της δημιουργίας ενός προσθέτου για το Stremio","WEBSITE_P2P_BEAUTY":"Η άνεση και ομορφιά της ροής peer-to-peer","WEBSITE_P2P_1":"Αξιόπιστη και προσιτή προβολή Full HD/4K βίντεο on demand ή σε ζωντανή ροή","WEBSITE_P2P_2":"Πλατφόρμα διανομής με εξαιρετική εμπειρία χρήσης","WEBSITE_P2P_3":"Θα δημιουργήσουμε ένα πρόσθετο που θα καλύπτει απόλυτα τις ανάγκες σας","WEBSITE_P2P_CONTACT":"Σας ενδιαφέρει; Μπορείτε πάντα να επικοινωνήσετε μαζί μας.","WEBSITE_P2P_CONTACT_EXTRA":"Θα χαρούμε να σας βοηθήσουμε στην ενσωμάτωση του περιεχομένου σας στο Stremio!","WEBSITE_P2P":"Κατά καιρούς, εμφανίζεται μια τεχνολογία που αλλάζει το τοπίο. Επενδύσαμε πολύ χρόνο και προσπάθεια στην ανάπτυξη της δικής μας μηχανής ροής βίντεο Peer-to-Peer (P2P) που παρέχει εξαιρετικές επιδόσεις και ανταποκρίνεται σε κάθε είδους χρήση.\\nΕπικοινωνήστε μαζί μας για P2P βίντεο με DRM, on demand ή σε ζωντανή ροή.","WEBSITE_THOUGHTS":"Οι σκέψεις μας:","WEBSITE_SPREAD":"Μιλήστε σε άλλους για το Stremio:","WEBSITE_CONTACT":"Επικοινωνήστε μαζί μας, θα χαρούμε να σας ακούσουμε!","WEBSITE_OPENSOURCE":"Για τα έργα μας με ανοικτό κώδικα, μεταβείτε στο","WEBSITE_BITCOIN":"Δωρεά bitcoin:","WEBSITE_FAQ":"Συχνές ερωτήσεις","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Ερωτήσεις","WEBSITE_TOS":"Όροι χρήσης","WEBSITE_LEGAL":"Νομικά","WEBSITE_PAGE_ABOUT":"Πληροφορίες","WEBSITE_PAGE_BECOME_PARTNER":"Γίνετε συνεργάτης","WEBSITE_ALL_YOU_CAN_WATCH":"Δείτε ό,τι θέλετε, ελεύθερα.","WEBSITE_FREEDOM_TO_STREAM":"Ελευθερία στο streaming","WEBSITE_WHAT_IS_STREMIO":"Τι είναι το Stremio;","WEBSITE_WHAT_IS_STREMIO_P1":"Το Stremio αποτελεί ένα ενιαίο κέντρο για περιεχόμενο βίντεο. Ανακαλύψτε, οργανώστε και παρακολουθήστε βίντεο από όλα τα είδη πηγών σε οποιαδήποτε συσκευή σας.","WEBSITE_WHAT_IS_STREMIO_P2":"Ταινίες, εκπομπές, σειρές, ζωντανή τηλεόραση ή διαδικτυακά κανάλια, όπως το YouTube και το Twitch.tv - μπορείτε να τα βρείτε όλα στο Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Το Stremio είναι ένα σύγχρονο κέντρο πολυμέσων για όλο σας το ψυχαγωγικό περιεχόμενο βίντεο. Ανακαλύψτε, παρακολουθήστε και οργανώστε το περιεχόμενο βίντεο με εύχρηστα πρόσθετα.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Ταινίες, εκπομπές, ζωντανή τηλεόραση ή διαδικτυακά κανάλια - βρείτε τα όλα στο Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Απολαύστε σε όλες τις συσκευές πολυμέσων σας","WEBSITE_DEVICES_COLLECT":"Συλλογή από Stremio","WEBSITE_DEVICES_IMPORT_FB":"Εισαγωγή από Facebook","WEBSITE_DEVICES_LOCAL":"Προσθήκη από τοπικό δίσκο","WEBSITE_JOIN_THE_PARTY_NOW":"Ελάτε κι εσείς στο πάρτι","WEBSITE_DEVICES_ALL":"Εύκολο στη χρήση σε όλες σας τις συσκευές·","WEBSITE_EXTENDABLE_CATALOG":"Απεριόριστα επεκτάσιμος κατάλογος βίντεο·","WEBSITE_ORGANIZE_YOUR_MEDIA":"Εξαιρετικές δυνατότητες οργάνωσης πολυμέσων·","WEBSITE_AS_SEEN_ON":"Γνώμες από τον τύπο","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Σχετικά με εμάς","WEBSITE_LINK_TECHNOLOGY":"Τεχνολογία","WEBSITE_LINK_APPS":"Εφαρμογές","WEBSITE_LINK_DOWNLOADS":"Λήψεις","WEBSITE_MORE":"Περισσότερα","WEBSITE_LINK_ADDONS":"Πρόσθετα","WEBSITE_LINK_ADDON_SDK":"SDK προσθέτων","WEBSITE_LINK_CONTRIBUTE":"Συνεισφορά","WEBSITE_LINK_COMMUNITY":"Κοινότητα","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & ακόμα περισσότερα","WEBSITE_LINK_HELP":"Κέντρο βοήθειας","WEBSITE_LINK_CONTACTS":"Επαγγελματικές ερωτήσεις","WEBSITE_LINK_TOS":"Όροι & προϋποθέσεις","WEBSITE_LINK_PRAVACY":"Πολιτική απορρήτου","WEBSITE_SUBSCRIBE":"Συνδρομή","WEBSITE_NEWSLETTER":"Εγγραφείτε στο ενημερωτικό μας δελτίο για απίθανα πράγματα","WEBSITE_PLACEHOLDER_EMAIL":"Το email σας","WEBSITE_COMMUNITY":"Κοινότητα","WEBSITE_LINK_PRAVACY_LEGAL":"Απόρρητο & νομικά","WEBSITE_WHY":"Γιατί το κάνουμε","WEBSITE_WHY_P1":"Στο Stremio, εργαζόμαστε καθημερινά επειδή θέλουμε να επιλύσουμε ένα σημαντικό πρόβλημα της βιομηχανίας βίντεο on demand. Υπάρχει τόσο πολύ νέο περιεχόμενο που δημοσιεύεται κάθε λεπτό, που είναι σχεδόν αδύνατο να το διαχειριστείτε.","WEBSITE_WHY_P2":"Βοηθούμε τους ανθρώπους να πλοηγηθούν σε αυτόν τον τεράστιο κόσμο βίντεο ψυχαγωγίας και να ανακαλύψουν νέο περιεχόμενο. Οι εφαρμογές μας συνδυάζουν ταινίες, σειρές, ζωντανή τηλεόραση, διαδικτυακά κανάλια και πολλά άλλα. Έχουμε αφοσιωθεί στο να κάνουμε την εύρεση τίτλων εξαιρετική εύκολη για τους χρήστες μας.","WEBSITE_WHY_P3":"Μπορείτε να χρησιμοποιήσετε την υπηρεσία μας σε οποιαδήποτε συσκευή και ανά πάσα στιγμή, καθιστώντας το Stremio το μοναδικό κέντρο ψυχαγωγίας βίντεο που θα χρειαστείτε.","WEBSITE_TEAM":"Ομάδα","WEBSITE_TEAM_P":"Η ομάδα του Stremio είναι μικρή αλλά ισχυρή: τα δέκα μέλη της γράφουν κώδικα σε X γλώσσες και μοιράζονται εμπειρία στην ανάπτυξη λογισμικού, στον σχεδιασμό UI και UX, στο μάρκετινγκ και στη διαφήμιση, καθώς και στις επιχειρήσεις.","WEBSITE_FEATURES":"Λειτουργίες","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Εύκολη ανακάλυψη νέου περιεχομένου","WEBSITE_FEATURES_DISCOVER_P":"Ανακαλύψτε εύκολα νέες ταινίες, εκπομπές, σειρές και κανάλια. Περιηγηθείτε κατά κατηγορία, είδος, βαθμολογία, πρόσφατη προβολή κ.λπ. ή απλά πληκτρολογήστε ένα όνομα. Το Stremio κάνει πανεύκολη την εύρεση νέου περιεχομένου.","WEBSITE_FEATURES_ALL_CONTENT":"Όλο σας το περιεχόμενο σε μία οθόνη","WEBSITE_FEATURES_ALL_CONTENT_P1":"Δείτε ποιες ταινίες, σειρές ή βίντεο δεν τελειώσατε και συνεχίστε την παρακολούθηση τους· λάβετε ειδοποιήσεις για νέα επεισόδια και κυκλοφορίες· περιηγηθείτε στις προτάσεις που θα λάβετε βάσει των συνηθειών παρακολούθησής σας.","WEBSITE_FEATURES_LIBRARY":"Οργάνωση βιβλιοθήκης βίντεο","WEBSITE_FEATURES_LIBRARY_P1":"Προσθέστε οποιονδήποτε τίτλο στη βιβλιοθήκη του Stremio σας με ένα μόνο κλικ και πλοηγηθείτε στο περιεχόμενό σας, οργανωμένο κατά τύπο, πρόσφατη προβολή ή αλφαβητική σειρά.","WEBSITE_FEATURES_CALENDAR":"Εποπτεία όλων όσων παρακολουθείτε","WEBSITE_FEATURES_CALENDAR_P1":"Δείτε ένα ημερολόγιο με όλες τις ταινίες και σειρές που προσθέτετε στη βιβλιοθήκη σας. Εξαγάγετε και συγχρονίστε το ημερολόγιο σας, ώστε να γνωρίζετε πάντα πότε θα κυκλοφορήσει ένα νέο επεισόδιο ή μια νέα σειρά.","WEBSITE_FEATURES_BIG_SCREEN":"Απολαύστε το περιεχόμενό σας σε μεγαλύτερη οθόνη","WEBSITE_FEATURES_BIG_SCREEN_P1":"Μεταδώστε ό,τι παρακολουθείτε σε μια άλλη συσκευή - σε τηλέφωνο, tablet ή τηλεόραση TV με ένα μόνο κλικ.","WEBSITE_FEATURES_SOURCES":"Προβολή βίντεο από πολλές διαφορετικές πηγές","WEBSITE_FEATURES_SOURCES_P":"Εγκαταστήστε επίσημα πρόσθετα και πρόσθετα κοινότητας για να απολαμβάνετε βίντεο από πολλούς διαφορετικούς παρόχους - όλα σε μία κομψή, εύχρηστη εφαρμογή.","WEBSITE_CREATE_AN_ADDON":"Δημιουργία προσθέτου","WEBSITE_FEATURES_SYNC":"Συγχρονίστε τη βιβλιοθήκη σας σε πολλαπλές συσκευές και συνεχίστε την αναπαραγωγή","WEBSITE_FEATURES_SYNC_P1":"Συνδεθείτε με τον λογαριασμό σας σε όλες τις συσκευές σας και απολαύστε τον συγχρονισμό της βιβλιοθήκης, των προσθέτων, της αναπαραγωγής και του ημερολογίου σας.","WEBSITE_FEATURES_EXTENDABLE":"Επεκτάσιμος κατάλογος βίντεο με τα πρόσθετα","WEBSITE_FEATURES_EXTENDABLE_P1":"Ο κατάλογος προσθέτων του Stremio παρέχει πολυάριθμα πρόσθετα για την παρακολούθηση ποικίλου περιεχομένου βίντεο. Δείτε ταινίες, εκπομπές, ζωντανή τηλεόραση, αθλήματα, ειδήσεις, podcast, διαδικτυακά κανάλια, βιντεοπαιχνίδια και πολλά άλλα.","WEBSITE_FEATURES_AUTO_SUBS":"Αυτόματοι υπότιτλοι","WEBSITE_FEATURES_AUTO_SUBS_P1":"Με τα πρόσθετα υποτίτλων μας, καθορίζονται αυτόματα οι επιλογές για την προτιμώμενη γλώσσα σας.","WEBSITE_FEATURES_CHROMECAST":"Μετάδοση σε Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Απολαύστε το περιεχόμενό σας σε μια μεγαλύτερη οθόνη ή μεταδώστε ό,τι βλέπετε σε μια άλλη συσκευή.","WEBSITE_FEATURES_KEEP_TRACK":"Εποπτεία των αγαπημένων σειρών και καναλιών σας","WEBSITE_FEATURES_KEEP_TRACK_P1":"Δείτε ένα ημερολόγιο και λάβετε ειδοποιήσεις για νέα επεισόδια των αγαπημένων σας σειρών και καναλιών.","WEBSITE_FEATURES_POWER_USER":"Λειτουργίες για έμπειρους χρήστες","WEBSITE_FEATURES_POWER_USER_P1":"Αναπαραγωγή σε εξωτερικό πρόγραμμα","WEBSITE_FEATURES_POWER_USER_P2":"Αναπαραγωγή από αρχείο torrent ή σύνδεσμο magnet","WEBSITE_FEATURES_POWER_USER_P3":"Εισαγωγή στη βιβλιοθήκη από αγαπημένα στο Facebook ή τον τοπικό δίσκο","WEBSITE_ADD_ONS":"Πρόσθετα","WEBSITE_ADD_ONS_P1":"Όλο το περιεχόμενο που παρέχει το Stremio προέρχεται από ένα σύστημα προσθέτων - δεν ενσωματώνεται καθόλου περιεχόμενο και κανένας πάροχος στην εφαρμογή.","WEBSITE_ADD_ONS_P2":"Υπάρχουν δύο ομάδες διαθέσιμων προσθέτων: επίσημα πρόσθετα και πρόσθετα κοινότητας.","WEBSITE_ADD_ONS_P3":"Τα επίσημα αναπτύσσονται και φιλοξενούνται από το Stremio, ενώ τα πρόσθετα κοινότητας δημιουργούνται και φιλοξενούνται από τα μέλη της κοινότητάς μας.","WEBSITE_ADDONS_OFFICIAL":"Επίσημα πρόσθετα","WEBSITE_ADDONS_WATCHUB":"Δείτε τις αγαπημένες σας ταινίες, σειρές και εκπομπές από παρόχους, όπως το iTunes, το Hulu, το Amazon και άλλες υπηρεσίες των ΗΠΑ/ΗΒ.","WEBSITE_ADDONS_YOUTUBE":"Παρακολουθήστε τα αγαπημένα σας κανάλια YouTube χωρίς διαφημίσεις και λάβετε ειδοποιήσεις για νέες μεταφορτώσεις από τους δημιουργούς που ακολουθείτε.","WEBSITE_ADDONS_FILMON":"Παρακολουθήστε ζωντανή τηλεόραση, ταινίες και εκπομπές δωρεάν. 600 τηλεοπτικά κανάλια, 45.000 δωρεάν ταινίες, ντοκιμαντέρ και πολλά άλλα.","WEBSITE_ADDONS_OPENSUBTITLES":"Υπότιτλοι ταινιών και σειρών σε πολλαπλές γλώσσες, μεταφορτώνονται χιλιάδες μεταφρασμένοι υπότιτλοι καθημερινά.","WEBSITE_ADDONS_COMMUNITY":"Πρόσθετα κοινότητας","WEBSITE_ADDONS_FILMON_VOD":"Παρακολουθήστε βίντεο on demand από το Filmon.tv","WEBSITE_ADDONS_TWICH":"Παρακολουθήστε ζωντανές ροές από το Twitch.tv - μια πλατφόρμα ροής βίντεο για τη βιομηχανία των e-sports.","WEBSITE_ADDONS_VODO":"Παρακολουθήστε ανεξάρτητες ταινίες εντελώς δωρεάν.","WEBSITE_ADDONS_NETFLIX":"Παρακολουθήστε ταινίες και σειρές του Netflix.","WEBSITE_ADDONS_CREATE":"Δημιουργία προσθέτου","WEBSITE_ADDONS_CREATE_P1":"Εάν το επιθυμείτε, μπορείτε να αναπτύξετε το δικό σας πρόσθετο. Με αυτόν τον τρόπο, μπορείτε να παραχωρήσετε στον εαυτό σας και στην κοινότητά μας πρόσβαση σε νέο περιεχόμενο βίντεο και να προσεγγίσετε ένα νέο κοινό εκατομμυρίων χρηστών παγκοσμίως.","WEBSITE_ADDONS_START_CREATE":"Για να ξεκινήσετε, επισκεφθείτε τη σελίδα του SDK προσθέτων του Stremio:","WEBSITE_DOWNLOADS":"Λήψεις","WEBSITE_DOWNLOADS_P1":"Για βέλτιστες επιδόσεις, προτείνουμε τη χρήση της πιο πρόσφατης έκδοσης των εφαρμογών Stremio. Αν όμως, για κάποιο λόγο, θέλετε να χρησιμοποιήσετε μια παλαιότερη έκδοση, μπορείτε να τη βρείτε εδώ.","WEBSITE_DOWNLOADS_P1_SHORT":"Για βέλτιστη απόδοση, συνιστούμε να χρησιμοποιήσετε την πιο πρόσφατη διαθέσιμη έκδοση των εφαρμογών Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio για Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio για macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio για Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio για Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio για Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio για φορητή συσκευή Android","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio για το Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio για iOS (περιορισμένη έκδοση)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio για Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio για LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio για Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio για Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio για Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio για Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio για Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio για Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio για Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio για Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Αναζητήστε το Stremio στο App Store των μοντέλων τηλεοράσεων Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Αναζητήστε το Stremio στο App Store των μοντέλων τηλεοράσεων LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Αναζήτησε το Stremio στην εφαρμογή Play Store σε τηλεόραση Sony που λειτουργεί με Android.","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Αναζήτησε το Stremio στην εφαρμογή Play Store σε τηλεόραση Philips που λειτουργεί με Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Αναζήτησε το Stremio στο κατάστημα εφαρμογών σε τηλεόραση Philips που λειτουργεί με TitanOS (περιορισμένη έκδοση)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Αναζητήστε το Stremio στο App Store της συσκευής σας Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Οδηγός για το Stremio OS σε RPI","WEBSITE_LINK_GUIDE":"Οδηγός","WEBSITE_DOWNLOAD_SERVICE":"Λήψη του Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Το Stremio Service είναι μια συνοδευτική εφαρμογή για το Stremio Web. Συνιστούμε να χρησιμοποιήσετε την πιο πρόσφατη διαθέσιμη έκδοση του Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service για Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service για macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service για Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service για Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio για Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Περισσότερες επιλογές λήψης","WEBSITE_DOWNLOAD_NEW":"Νέο!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Κυκλοφορήσαμε το Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Κυκλοφορήσαμε το Stremio για Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Κυκλοφόρησε το Stremio για LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Κυκλοφόρησε το Stremio για Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Κυκλοφορήσαμε το Stremio για το Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Κυκλοφορήσαμε το Stremio 5 για Windows","WEBSITE_CONTRIBUTE":"Συνεισφέρετε","WEBSITE_CONTRIBUTE_P1":"Η πλατφόρμα του Stremio είναι ανοικτού κώδικα και μπορείτε εύκολα να δημιουργήσετε ένα πρόσθετο για περιεχόμενο που δεν παρέχεται αυτήν τη στιγμή.","WEBSITE_CONTRIBUTE_WHY":"Γιατί να δημιουργήσετε ένα πρόσθετο;","WEBSITE_CONTRIBUTE_WHY_P1":"Βρείτε νέο κοινό για τα βίντεό σας","WEBSITE_CONTRIBUTE_WHY_P2":"Η βάση χρηστών του Stremio αυξάνεται ταχύτατα - μέσα στο πρώτο έτος κυκλοφορίας, το Stremio απέκτησε 1 εκατομμύριο χρήστες σε όλο τον κόσμο, ενώ το δεύτερο έτος της ύπαρξης της πλατφόρμας ο αριθμός αυτός έφτασε τα 2,5 εκατομμύρια.","WEBSITE_CONTRIBUTE_WHY_P3":"Με το πρόσθετό σας, μπορείτε εύκολα να προσεγγίσετε και να διανείμετε το περιεχόμενο σε αυτό το κοινό.","WEBSITE_CONTRIBUTE_ALL":"Παρακολουθήστε τις αγαπημένες σας ταινίες, σειρές, βίντεο και κανάλια σε ένα ενιαίο μέρος.","WEBSITE_CONTRIBUTE_ALL_P1":"Είστε λάτρης ενός συγκεκριμένου τύπου περιεχομένου που δεν διατίθεται ακόμα στο Stremio; Δημιουργήστε ένα πρόσθετο για αυτόν και απολαύστε τα αγαπημένα σας βίντεο σε ένα από τα μεγαλύτερα και πιο εύχρηστα κέντρα ψυχαγωγίας της αγοράς.","WEBSITE_CONTRIBUTE_ALL_P2":"Επιπλέον, θα έχετε την απεριόριστη ευγνωμοσύνη των υπόλοιπων μελών της κοινότητας του Stremio.","WEBSITE_CONTRIBUTE_MONETIZE":"Δημιουργήστε έσοδα με το πρόσθετό σας","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Μόλις αναπτύξετε ένα νέο πρόσθετο για το Stremio, μπορείτε εύκολα να δημιουργήσετε έσοδα μέσω πολλαπλών μεθόδων. Αν σκέφτεστε αυτήν την προοπτική, μπορείτε να επικοινωνήσετε μαζί μας στο ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - θα χαρούμε να ανταλλάξουμε συμβουλές μαζί σας σχετικά με τις επιλογές δημιουργίας εσόδων από τα πρόσθετα.","WEBSITE_CONTRIBUTE_TRANSLATE":"Γίνετε εθελοντής μεταφραστής","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Αν θέλετε να απολαύσετε τις εφαρμογές Stremio σε διαφορετικές γλώσσες, μπορείτε να συμμετάσχετε στην κοινότητα των εθελοντών μεταφραστών μας, οι οποίοι μας βοηθούν να προσθέσουμε εκδόσεις του Stremio σε πολλές διαφορετικές γλώσσες.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Θέλετε να ξεκινήσετε;","WEBSITE_TRANSALTE_STREMIO":"Μετάφραση του Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Επίσημες κοινότητες","WEBSITE_COMMUNITY_OFFICIALS_P1":"Γίνετε μέλος της αναπτυσσόμενης κοινότητας του Stremio. Ακολουθήστε μας στα κοινωνικά δίκτυα και μην ντραπείτε να πείτε ένα «γεια» - λατρεύουμε να γνωρίζουμε τους υποστηρικτές μας! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Ανεπίσημες κοινότητες","STREMIO_COMMUNITY_NL":"Stremio Ολλανδίας","STREMIO_COMMUNITY_BRASIL":"Stremio Βραζιλίας","STREMIO_COMMUNITY_GERMANY":"Stremio Γερμανίας","STREMIO_COMMUNITY_BELGIUM":"Stremio Βελγίου","STREMIO_COMMUNITY_FRANCE":"Stremio Γαλλίας","STREMIO_COMMUNITY_PORTUGAL":"Stremio Πορτογαλίας","STREMIO_COMMUNITY_ITALY":"Stremio Ιταλίας","STREMIO_COMMUNITY_UK":"Stremio ΗΒ","STREMIO_COMMUNITY_USA":"Stremio ΗΠΑ","STREMIO_COMMUNITY_MEXICO":"Stremio Μεξικού","STREMIO_COMMUNITY_ADDONS":"Πρόσθετα Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Το απίθανο Stremio","WEBSITE_COMMUNITY_PARTNERS":"Συνεργάτες και υποστηρικτές","WEBSITE_COMMUNITY_GOODIES":"Καλούδια Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Ταπετσαρίες","WEBSITE_COMMUNITY_ART":"Συλλογή κοινότητας","WEBSITE_LINK_ART":"Συλλογή κοινότητας","WEBSITE_CONTACT_US":"Επικοινωνία","WEBSITE_CONTACT_US_P1":"Αν έχετε τυχόν απορίες, σχόλια ή προτάσεις, μπορείτε να επικοινωνήσετε μαζί μας μέσω της παρακάτω φόρμας επικοινωνίας.","WEBSITE_CONTACT_US_P2":"Σημειώστε ότι εδρεύουμε στη Βουλγαρία, επομένως ενδέχεται να υπάρξει καθυστέρηση στην απάντησή σας λόγω διαφορών στις ζώνες ώρας.","WEBSITE_CONTACT_US_SUCCESS":"Το μήνυμά σας έχει αποσταλεί. Θα σας απαντήσουμε το συντομότερο δυνατόν.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Παρακαλούμε εισαγάγετε ένα έγκυρο email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Ποιο θέμα αφορά η ερώτησή σας;","WEBSITE_CONTACT_US_Q_OS":"Ποιο είναι το λειτουργικό σας σύστημα;","WEBSITE_CONTACT_US_PH_EMAIL":"Το email σας","WEBSITE_CONTACT_US_PH_MESSAGE":"Μήνυμα","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"Αποστολή","WEBSITE_CONTACT_US_Q_1":"Πώς κάνω εγκατάσταση;","WEBSITE_CONTACT_US_Q_2":"Πώς κάνω κατάργηση εγκατάστασης;","WEBSITE_CONTACT_US_Q_3":"(HTML) Πώς φτιάχνω λαζάνια;","WEBSITE_CONTACT_US_Q_4":"Πρόσθετα","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Τεχνολογία","WEBSITE_TECHNOLOGY_P1":"Αγαπάμε την τεχνολογία και την επιστήμη.
    Δείτε τί κρύβεται πίσω από το Stremio (είναι όλα ανοικτού κώδικα).","WEBSITE_TECHNOLOGY_P_QT":"Η ανάπτυξη λογισμικού για πολλαπλές πλατφόρμες, στα καλύτερά της.","WEBSITE_TECHNOLOGY_P_MPV":"Ένα δωρεάν, ανοικτού κώδικα, πρόγραμμα αναπαραγωγής πολυμέσων για πολλαπλές πλατφόρμες.","WEBSITE_TECHNOLOGY_P_RN":"Το React Native σας επιτρέπει να αναπτύσσετε εφαρμογές για κινητές συσκευές, μόνο με τη χρήση JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Ενσωματωμένο πλαίσιο πολυμέσων στην εφαρμογή για τη λήψη πολυμέσων.","WEBSITE_TECHNOLOGY_P_REALM":"Το Realm είναι μια πλατφόρμα για κινητές συσκευές και αντικαθιστά τα SQLite και Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Το Node.js είναι ένα ανοικτού κώδικα περιβάλλον εκτέλεσης JavaScript για όλες τις πλατφόρμες.","WEBSITE_TECHNOLOGY_P_RUST":"Η Rust είναι μια γλώσσα πολλαπλών προγραμματιστικών παραδειγμάτων, η οποία εστιάζει στην ασφάλεια και ειδικά στον ασφαλή ταυτοχρονισμό.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Συνεισφορά στο έργο","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Υπάρχουν δύο τρόποι συνεισφοράς στο Stremio για την περαιτέρω βελτίωση του προϊόντος.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Μπορείτε να δωρίσετε τις πολύτιμες γλωσσικές ικανότητές σας μεταφράζοντας την πλατφόρμα...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ή","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... μπορείτε να αξιοποιήσετε τις ικανότητές σας στον προγραμματισμό για τη δημιουργία προσθέτων κοινότητας. ","WEBSITE_TRANSLATE_STREMIO":"Μετάφραση του Stremio","WEBSITE_404_OH_NO":"Ωχ όχι! Η σελίδα που ψάχνετε δεν είναι εδώ...","WEBSITE_GO_HOME":"Αρχική","WEBSITE_LINK_OTHER_DOWNLOADS":"Άλλες λήψεις","WEBSITE_FAQ_ABR":"Συχνές ερωτήσεις","WEBSITE_SUPPORT":"Υποστήριξη","WEBSITE_DOWNLOAD_4_0_BETA":"Λήψη του Stremio 4 Beta","WEBSITE_GET_FOR_DESKTOP":"Λήψη για υπολογιστή","WEBSITE_LINK_ADDON_COMPETITION":"Διαγωνισμός προσθέτων","WEBSITE_LINK_ART_CONTEST":"Καλλιτεχνικός διαγωνισμός","WEBSITE_MY_ACCOUNT":"Ο λογαριασμός μου","WEBSITE_MAINPAGE_FAQ_001_H1":"Τι είναι το Stremio;","WEBSITE_MAINPAGE_FAQ_001_P1":"Το Stremio είναι ένα σύγχρονο κέντρο πολυμέσων που σάς επιτρέπει να παρακολουθήσετε τα πάντα.","WEBSITE_MAINPAGE_FAQ_002_H1":"Πώς λειτουργεί;","WEBSITE_MAINPAGE_FAQ_002_P1":"Μόλις εγκαταστήσετε το Stremio στη συσκευή σας και δημιουργήσετε έναν λογαριασμό, το μόνο που χρειάζεται να κάνετε είναι να επισκεφθείτε τον κατάλογο προσθέτων και να εγκαταστήσετε όποιο πρόσθετο επιθυμείτε. Αυτό ήταν!","WEBSITE_MAINPAGE_FAQ_002_P2":"Έπειτα, μπορείτε να μεταβείτε στις ενότητες «Ανακάλυψη» ή «Πίνακας» για να ξεκινήσετε την εξερεύνηση περιεχομένου.","WEBSITE_MAINPAGE_FAQ_003_H1":"Τι μπορώ να παρακολουθήσω εδώ;","WEBSITE_MAINPAGE_FAQ_003_P1":"Πολλά: Ταινίες, εκπομπές, διαδικτυακά κανάλια, αθλήματα, τηλεοπτικά κανάλια, podcasts και πολλά άλλα. Χάρη στο σύστημα προσθέτων μας, μπορείτε να προσπελάσετε μια ευρεία γκάμα περιεχομένου.","WEBSITE_MAINPAGE_FAQ_004_H1":"Είναι το Stremio λογισμικό ανοικτού κώδικα;","WEBSITE_MAINPAGE_FAQ_004_P1":"Ναι, μπορείτε να δείτε τους εξής συνδέσμους: ${1}εφαρμογή για υπολογιστές${2} και ${3}οργανισμός GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Είναι το Stremio ασφαλές;","WEBSITE_MAINPAGE_FAQ_005_P1":"Ναι. Επειδή είναι λογισμικό ανοικτού κώδικα, ο κώδικάς του είναι δημόσια διαθέσιμος και μπορείτε να τον ελέγξετε και εσείς.","WEBSITE_MAINPAGE_FAQ_005_P2":"Το σύστημα προσθέτων του Stremio δημιουργήθηκε επίσης με την ασφάλεια του χρήστη στο μυαλό. Τα πρόσθετα δεν εκτελούν κανέναν κώδικα τοπικά, οπότε δεν απειλούν τη συσκευή σας.","WEBSITE_MAINPAGE_FAQ_006_H1":"Τι γίνεται με το απόρρητό μου;","WEBSITE_MAINPAGE_FAQ_006_P1":"Σεβόμαστε το απόρρητο των χρηστών και δεν συλλέγουμε κανένα προσωπικό δεδομένο, εκτός από τα απολύτως απαραίτητα στοιχεία για τη δημιουργία και τον συγχρονισμό του λογαριασμού σας.","WEBSITE_MAINPAGE_FAQ_006_P2":"Υπάρχει επίσης η ${1}λειτουργία επισκέπτη${2} κατά την εγγραφή, η οποία δεν απαιτεί καθόλου δεδομένα: σε αυτήν τη λειτουργία, δεν γίνεται καμία κλήση στο παρασκηνιακό μας σύστημα. Ωστόσο, δεν περιέχει ορισμένες χρήσιμες λειτουργίες, όπως η δυνατότητα συγχρονισμού βιβλιοθήκης με άλλες συσκευές.","WEBSITE_MAINPAGE_FAQ_007_H1":"Μπορώ να κάνω μετάδοση στην τηλεόρασή μου;","WEBSITE_MAINPAGE_FAQ_007_P1":"Ναι, υποστηρίζουμε Chromecast και μπορείτε να κάνετε μετάδοση τόσο από τον υπολογιστή, όσο και από την κινητή σας συσκευή (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Πόσα πρόσθετα διαθέτει το Stremio;","WEBSITE_MAINPAGE_FAQ_008_P1":"Από τα τέλη του 2019, πάνω από 50 - για περισσότερες πληροφορίες, δείτε τον κατάλογο των προσθέτων μας.","WEBSITE_MAINPAGE_FAQ_009_H1":"Μπορώ να επεκτείνω τον κατάλογο προσθέτων του Stremio;","WEBSITE_MAINPAGE_FAQ_009_P1":"Ναι, ανατρέξετε στα εξής: ${1}PimpMyStremio${2}, ${3}κοινότητες Reddit${4}, ${5}Stremio Downloader${6}, κ.λπ.","WEBSITE_MAINPAGE_FAQ_010_H1":"Ποιες συσκευές υποστηρίζει το Stremio;","WEBSITE_MAINPAGE_FAQ_010_P1":"Διαθέτουμε εφαρμογές για Windows, Mac και Linux. Για τις κινητές συσκευές, υποστηρίζουμε Android και iOS, ωστόσο λάβετε υπόψη ότι η έκδοση για iOS διαθέτει περιορισμένη λειτουργικότητα (δεν υποστηρίζει τα περισσότερα πρόσθετα).","WEBSITE_MAINPAGE_FAQ_010_P2":"Υπάρχουν πολλές συσκευές που βασίζονται στο Android και μπορούν να εκτελέσουν το Stremio, όπως το NVIDIA Shield και το Amazon Fire Stick, αλλά δεν τις υποστηρίζουμε επίσημα.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Έχουμε εφαρμογές για υπολογιστές με Windows, Mac και Linux. Έχουμε επίσης εφαρμογές για κινητά Android και Android TV. Για iOS και iPadOS συνιστούμε τη χρήση του Stremio Web, αν και έχει περιορισμένη λειτουργικότητα.","WEBSITE_MAINPAGE_FAQ_011_H1":"Μπορείτε να προσθέσετε συγκεκριμένο περιεχόμενο στο Stremio;","WEBSITE_MAINPAGE_FAQ_011_P1":"Δυστυχώς, δεν παρέχουμε εμείς το περιεχόμενο, αλλά όσα περισσότερα πρόσθετε έχετε εγκαταστήσει στο Stremio, τόσο περισσότερο περιεχόμενο θα μπορέσετε να βρείτε.","WEBSITE_MAINPAGE_FAQ_012_H1":"Μπορεί το Stremio να κάνει αναπαραγωγή συνδέσμων magnet;","WEBSITE_MAINPAGE_FAQ_012_P1":"Ναι και μπορεί επίσης να κάνει αναπαραγωγή κανονικών συνδέσμων HTTP και αρχείων torrent (μεταφορά και εναπόθεση).","WEBSITE_MAINPAGE_FAQ_013_H1":"Μπορώ να κάνω λήψη ενός βίντεο για προβολή εκτός σύνδεσης;","WEBSITE_MAINPAGE_FAQ_013_P1":"Η διαθεσιμότητα εκτός σύνδεσης αποτελεί επερχόμενη λειτουργία, αλλά εάν επιτρέψετε στο Stremio την προσωρινή αποθήκευση στη συσκευή σας (από τον πίνακα ρυθμίσεων), μπορείτε να παρακολουθήσετε τα βίντεο αργότερα, χωρίς σύνδεση στο διαδίκτυο.","WEBSITE_MAINPAGE_FAQ_014_H1":"Δεν λειτουργεί τίποτα, βοήθεια!","WEBSITE_MAINPAGE_FAQ_014_P1":"Έχετε σίγουρα εγκαταστήσει πρόσθετα; Εάν ναι, δείτε το ${1}κέντρο βοήθειάς${2} μας.","WEBSITE_MAINPAGE_FAQ_015_H1":"Πώς υποστηρίζει το Stremio την ανάπτυξή του;","WEBSITE_MAINPAGE_FAQ_015_P1":"Προβάλλουμε μη παρεμβατικές διαφημίσεις περιστασιακά, αλλά εξετάζουμε το ενδεχόμενο να προχωρήσουμε σε ένα μοντέλο δωρεάς.","WEBSITE_MAINPAGE_FAQ_015_P2":"Για περισσότερες ερωτήσεις, μεταβείτε στο ${1}κέντρο βοήθειάς${2} μας.","HELP_LEARN_MORE":"Βοηθήστε μας να μάθουμε περισσότερα για εσάς.","LIFESTYLE":"Τρόπος ζωής","SPORTS":"Αθλήματα","FOOD_HEALTH":"Φαγητό & υγεία","BEAUTY_FASHION":"Ομορφιά & μόδα","NEWS":"Ειδήσεις","GAMING":"Παιχνίδια","SCIENCE_EDUCATION":"Επιστήμη & εκπαίδευση","MUSIC":"Μουσική","TRAVEL":"Ταξίδια","LATE_NIGHT":"Βραδινό","REALITY":"Ριάλιτι","COMEDY":"Κωμωδία","DIY":"Κατασκευές","TECH":"Τεχνολογία","CINEMA":"Κινηματογράφος","CONTINUE":"Συνέχεια","SLOW_LOADING":"Αργή Φόρτωση;","I_GIVE_UP":"Ακύρωση","LEARN_MORE":"Μάθετε περισσότερα","POOR_SOURCE":"Αυτή η πηγή δεν είναι επαρκώς διαθέσιμη ή η σύνδεση σας στο διαδίκτυο δεν είναι αρκετά γρήγορη","PICK_CATEGORIES_ERR":"Πρέπει να επιλέξετε τουλάχιστον 3 κατηγορίες","ADJUST_TIMING":"Προσαρμογή χρονισμού με","ADJUST_SIZE":"Προσαρμογή μεγέθους με","SEARCH_ANYTHING":"Μπορείτε να αναζητήσετε οτιδήποτε...","ALL_CATEGORIES":"Όλα","SEARCH_CATEGORIES":"Ταινίες, σειρές, YouTube & τηλεόραση","SEARCH_PERSONS":"Ηθοποιοί, σκηνοθέτες & σεναριογράφοι","SEARCH_PROTOCOLS":"Σύνδεσμοι HTTP & Magnet","SEARCH_TYPES":"Σύνδεσμοι IMDB/TVDB","WATCHED":"Προβλήθηκε","SHOW_LESS":"Λιγότερα","LAST_SEARCHES":"Πρόσφατες αναζητήσεις","CLEAR_HISTORY":"Απαλοιφή ιστορικού","CHOOSE_SOME":"ΕΠΙΛΕΞΤΕ ΚΑΠΟΙΑ ΑΠΟ ΑΥΤΑ:","PAGE_NOT_FOUND":"Η σελίδα δεν βρέθηκεd!","NO_WEB_REMOTE":"Δεν ήταν δυνατή η φόρτωση του Web Remote","STREMIO_OFFLINE":"Το Stremio είναι εκτός σύνδεσης","STREMIO_EXPENSIVE_CONNECTION":"Εντοπίσαμε ότι χρησιμοποιείτε σύνδεση δεδομένων κινητής, θέλετε να συνεχίσετε;","USE_DATA":"Χρήση δεδομένων","WARNING":"Προειδοποίηση","MORE_INFO":"Περισσότερες πληροφορίες...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Φόρτωση...","STREMIO_TV_BACK_TO_LANGUAGES":"Πίσω στις γλώσσες","STREMIO_TV_REMOTE":"Τηλεχειριστήριο","STREMIO_TV_GO_TO":"Μεταβείτε στο:","STREMIO_TV_OR_SCAN":"ή σαρώστε το:","STREMIO_TV_ADDON_INSTRUCTIONS":"Παρακαλούμε ακολουθήστε τις οδηγίες για να εγκαταστήσετε τα προτιμώμενα πρόσθετά σας.","STREMIO_TV_LIVE_TV":"Ζωντανή TV","STREMIO_TV_RESUME_WATCHING":"Συνέχιση παρακολούθησης","STREMIO_TV_LOADING_BACKGROUND":"Φόρτωση παρασκηνίου","STREMIO_TV_CHECKING_AUTHENTICATION":"Έλεγχος ταυτοποίησης","STREMIO_TV_LOADING_BOARD":"Φόρτωση πίνακα","STREMIO_TV_LOGIN_HEADER_LINE_1":"Θέλουμε οι χρήστες μας να έχουν την καλύτερη δυνατή, εξατομικευμένη εμπειρία με το λογισμικό μας.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Αυτός είναι ο λόγος που σας ζητούμε να δημιουργήσετε ή/και να συνδεθείτε στον λογαριασμό σας.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Σας ευχαριστούμε για την κατανόηση,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Η ομάδα του Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Για να χρησιμοποιήσετε το Web Remote με το smartphone/tablet/υπολογιστή σας:","STREMIO_TV_WIFI_SETUP":"Ρύθμιση Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Το Stremio Circle δεν εντόπισε σύνδεση στο διαδίκτυο.","STREMIO_TV_WIFI_DETAILS_1":"Συνδεθείτε στο:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Χρησιμοποιήστε τον κωδικό πρόσβασης:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Ανοίξτε ένα πρόγραμμα περιήγησης με τον σύνδεσμο:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Προεπιλεγμένο","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Από την τελευταία παρακολούθηση","STREMIO_TV_LIBRARY_SORT_NAME":"Από το όνομα","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Κατά Όνομα Φθίνουσα","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Από τις φορές που παρακολουθήσατε","STREMIO_TV_LIBRARY_SORT_WATCHED":"Έχω Παρακολούθηση","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Δεν Έχω Παρακολουθήσει","STREMIO_TV_DETAILS_SEASON_NUMBER":"Κύκλος ${1}","STREMIO_TV_STREAMS_LOADING":"Φορτωμένα ${1} / ${2} πρόσθετα...","STREMIO_TV_STREAMS_STILL_LOADING":"Το ${1} ακόμα φορτώνει ...","STREMIO_TV_PLAYER_SETTINGS":"Ρυθμίσεις προγράμματος αναπαραγωγής","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Καθυστέρηση υποτίτλων","STREMIO_TV_PLAYER_AUDIO_DELAY":"Καθυστέρηση ήχου","STREMIO_TV_PLAYER_VIDEO_SCALING":"Κλιμάκωση βίντεο","STREMIO_TV_PLAYER_CHAPTERS":"Κεφάλαια","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Παράλειψη ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Μη υποστηριζόμενη πηγή ροής","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Αποτυχία ανοίγματος εξωτερικού συνδέσμου","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Δεν ρυθμίζεται στη λειτουργία διέλευσης ήχου","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Αναπαραγωγή με τον ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Αναπαραγωγή με τον libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Αλλαγή στον libVLC player λόγω σφάλματος αναπαραγωγής","STREMIO_TV_ADDONS_TITLE":"Χρησιμοποιήστε το Stremio στο τηλέφωνο ή τον υπολογιστή σας για να εγκαταστήσετε ή να διαμορφώσετε πρόσθετα και πατήστε \\"Συγχρονισμός πρόσθετων\\"","STREMIO_TV_ADDONS_SUBTITLE":"Σημείωση: βεβαιωθείτε ότι χρησιμοποιείτε τον ίδιο λογαριασμό Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Συγχρονισμός πρόσθετων","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Επιτυχής συγχρονισμός πρόσθετων","STREMIO_TV_ADDONS_SYNC_FAILED":"Αποτυχία συγχρονισμού πρόσθετων","STREMIO_TV_META_LINK_FAILED":"Αποτυχία ανοίγματος μετα-συνδέσμου","STREMIO_TV_CATALOG_LOADING":"Ο κατάλογος φορτώνει...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Η γλώσσα της εφαρμογής ενημερώθηκε","STREMIO_TV_SETTINGS_THEME_UPDATED":"Το θέμα ενημερώθηκε","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Προεπιλεγμένη εφαρμογή αναπαραγωγής","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Εξωτερική εφαρμογή αναπαραγωγής","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Προτιμητέα γλώσσα","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Εναλλακτική Γλώσσα","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Αναπαραγωγή μέσω διαμεσολαβητή","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Πιθανά προβλήματα αναπαραγωγής σε ορισμένες συσκευές","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Ορισμένες μορφές βίντεο ενδέχεται να μην λειτουργούν","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Ταίριασμα ρυθμού καρέ","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Απενεργοποιημένο","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Μόνο ρυθμός καρέ","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Ρυθμός καρέ και ανάλυση εικόνας","STREMIO_TV_SETTINGS_NO_CACHING":"Χωρίς προσωρινή αποθήκευση","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Προεπιλεγμένη","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Ήπιο","STREMIO_TV_SETTINGS_PROFILE_FAST":"Γρήγορο","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Πολύ γρήγορο","STREMIO_TV_SETTINGS_SERVER_URL":"URL διακομιστή ροής","STREMIO_TV_SETTINGS_SERVER_VERSION":"Έκδοση διακομιστή","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Άγνωστη","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Έκδοση του Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Επεξεργασία διεύθυνσης URL διακομιστή","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Εισαγάγετε μια διεύθυνση url διακομιστή ροής","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Εμφάνιση στατιστικών κατά τη φόρτωση","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Για να διαβάσετε την Πολιτική Απορρήτου του Stremio, επισκεφτείτε:","STREMIO_TV_SETTINGS_TOS_TEXT":"Για να διαβάσετε τους Όρους και τις Προϋποθέσεις του Stremio, επισκεφτείτε:","STREMIO_TV_NAV_SEARCH":"Αναζήτηση","STREMIO_TV_NAV_HOME":"Αρχική","STREMIO_TV_NAV_DISCOVER":"Περιήγηση","STREMIO_TV_NAV_LIBRARY":"Βιβλιοθήκη","STREMIO_TV_NAV_MOVIES":"Ταινίες","STREMIO_TV_NAV_SERIES":"Σειρές","STREMIO_TV_NAV_CHANNELS":"Κανάλια","STREMIO_TV_NAV_TV":"Ζωντανά","STREMIO_TV_NAV_SETTINGS":"Ρυθμίσεις","STREMIO_TV_NAV_ADDONS":"Πρόσθετα","STREMIO_TV_LOGIN_TITLE":"Σύνδεση λογαριασμού","STREMIO_TV_LOGIN_EXPIRES_IN":"Λήγει σε","STREMIO_TV_LOGIN_STEP_ONE":"Σαρώστε τον κωδικό QR παραπάνω ή μεταβείτε στο","STREMIO_TV_LOGIN_STEP_TWO":"Συνδεθείτε στον λογαριασμό σας στο Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Νέος σύνδεσμος","STREMIO_TV_LOGIN_LINK_REFRESHED":"Ο κωδικός σύνδεσης ανανεώθηκε","STREMIO_TV_SEARCH_PLACEHOLDER":"Πληκτρολογήστε κάτι","STREMIO_TV_SEARCH_NO_ADDONS":"Δεν ζητήθηκαν πρόσθετα για καταλόγους!","STREMIO_TV_SEARCH_BUTTON":"Αναζήτηση","STREMIO_TV_SEARCH_KEY_DEL":"Διαγραφή όλων","STREMIO_TV_SEARCH_KEY_SPACE":"Κενό","STREMIO_TV_SEARCH_KEY_CLEAR":"Διαγραφή","STREMIO_TV_SEARCH_HISTORY_TITLE":"Ιστορικό αναζήτησης","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Μπορείτε να αναζητήσετε Τίτλους, Ηθοποιούς, Κανάλια και άλλα...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Διαγράψτε το ιστορικό αναζήτησης","STREMIO_TV_FILTERS_DESCRIPTION":"Επιλέξτε ένα από τα παρακάτω φίλτρα","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Ο διακομιστής ροής είναι εκτός σύνδεσης. Ελέγξτε τις Ρυθμίσεις διακομιστή.","FILTERS":"Φίλτρα","SETTINGS":"Ρυθμίσεις","ACCOUNT":"Λογαριασμός","LOGOUT":"Αποσύνδεση","THEMES":"Θέματα","PLAYBACK":"Αναπαραγωγή","PLAYBACK_SPEED":"Ταχύτητα Αναπαραγωγής","AUDIO_TRACKS":"Κομμάτια ήχου","UNKNOWN_TRACK_LANG":"Άγνωστο","VIDEOS":"Βίντεο","SERVER":"Διακομιστής","LINKS":"Σύνδεσμοι","ABOUT":"Πληροφορίες","INTERFACE":"Εμφάνιση","ANIMATIONS":"Οπτικά εφέ","STATUS":"Κατάσταση","LANGUAGE":"Γλώσσα","SIZE":"Μέγεθος","DELAY":"Καθυστέρηση","BOLD":"Έντονα γράμματα","OPACITY":"Αδιαφάνεια","TEXT_COLOR":"Χρώμα κειμένου","OUTLINE_COLOR":"Χρώμα περιγράμματος","BACKGROUND_COLOR":"Χρώμα φόντου","BACKGROUND_BLUR":"Θάμπωμα φόντου","SEEK_TIME_DURATION":"Διάρκεια χρόνου παράλειψης","AUTO_PLAY":"Αυτόματη αναπαραγωγή επόμενου επεισοδίου","PLAY_NOW":"Αναπαραγωγή τώρα","MARK_AS_WATCHED":"Επισήμανση ως προβεβλημένο","MARK_AS_UNWATCHED":"Επισήμανση ως μη προβεβλημένο","REWIND_TO_BEGINNING":"Προβολή από την αρχή","CONTINUE_WATCHING":"Συνεχίστε να βλέπετε","ALL":"Όλα","SECONDS":"Δευτερόλεπτα","ON":"Ανοιχτοί","OFF":"Κλειστοί","RELOAD":"Επανάληψη φόρτωσης","EDIT_URL":"Επεξεργασία συνδέσμου URL","URL":"URL","NONE":"Κανένα","EMBEDDED":"Ενσωματωμένοι","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Εναλλαγή συσκευών","REMOTE_VIDEOS":"Βίντεο","REMOTE_ADJUST_TIMING":"Προσαρμογή χρονισμού","REMOTE_ADJUST_SIZE":"Προσαρμογή μεγέθους","REMOTE_COULD_NOT_BE_LOADED":"Δεν ήταν δυνατή η φόρτωση του Web Remote","REMOTE_RETRY":"Επανάληψη","TORRENT_PROFILE_DEFAULT":"Προεπιλεγμένο","TORRENT_PROFILE_SOFT":"Ήπιο","TORRENT_PROFILE_FAST":"Γρήγορο","TORRENT_PROFILE_ULTRA_FAST":"Πολύ γρήγορο","MB_S":"MB/s","FAQ_001_H1":"Τι είναι το Stremio;","FAQ_001_P1":"Το Stremio είναι ένα λογισμικό κέντρου πολυμέσων που έχει σχεδιαστεί για εύκολη πρόσβαση σε ψυχαγωγικά βίντεο. Σας επιτρέπει να οργανώσετε και να παρακολουθείτε την προσωπική σας συλλογή ταινιών, σειρών, καναλιών και ζωντανής τηλεόρασης.","FAQ_001_P2":"Το Stremio συλλέγει το περιεχόμενο, που προβάλλει σε εσάς, από τον τοπικό σας δίσκο και το σύστημα προσθέτων μας.","FAQ_001_P3":"Θα σας ειδοποιήσει επίσης όταν κυκλοφορήσουν νέα επεισόδια/βίντεο/ταινίες που σας ενδιαφέρουν και θα σας προσφέρει προτάσεις ταινιών.","FAQ_02_H1":"Πόσο μοιάζει το Stremio με το Kodi και το Plex;","FAQ_02_P1":"Έχουμε εμπνευστεί από αυτά τα δύο λογισμικά. Όμως έχουν διαφορετικούς στόχους - το Stremio αφορά αποκλειστικά τα ψυχαγωγικά βίντεο και προσπαθεί να γίνει η πιο γνωστή και εύχρηστη λύση.","FAQ_02_P2":"Το Stremio δεν θα προσφέρει ποτέ τόσες λειτουργίες και δυνατότητες προσαρμογής, όσες το Kodi και το Plex, αλλά είναι σημαντικά πιο απλό στη χρήση. ${1} Δοκιμάστε το κι εσείς ${2} :)","FAQ_03_H1":"Πόσο μοιάζει το Stremio με το Netflix;","FAQ_03_P1":"Το Netflix αποτελεί μία από τις εμπνεύσεις μας. Προσπαθούμε να επιτύχουμε την εμπειρία χρήσης του Netflix, σε συνδυασμό με πολλά άλλα «καλούδια». Το πιο σημαντικό όμως είναι ότι σας παρέχουμε την ελευθερία να διαχειρίζεστε τη δική σας βιβλιοθήκη και να προσθέτετε νέες πηγές περιεχομένου με το σύστημα προσθέτων μας.","FAQ_03_P2":"Αυτό καθιστά το Stremio απεριόριστα επεκτάσιμο, ώστε να μην περιορίζεστε ποτέ στο περιεχόμενο που αποφασίζει να προσθέσει το Netflix. Για παράδειγμα, μέσω του Stremio μπορείτε να παρακολουθήσετε περιεχόμενο από το ${1} Filmon.tv ${2}, το ${3} Twitch.tv${4}, το ${5}YouTube${6}, το ${7}Vodo${8}, ακόμα και από το ίδιο το ${9}Netflix${10}!","FAQ_04_H1":"Πόσο μοιάζει το Stremio με το Flipboard;","FAQ_04_P1":"Δεν λαμβάνουμε τόσο συχνά αυτήν την ερώτηση, εκτός αν μιλάμε με άτομα από νεοφυείς εταιρείες :)","FAQ_04_P2":"Το Stremio είναι εκ σχεδιασμού μια εφαρμογή συγκέντρωσης περιεχομένου, αποτελώντας πρακτικά ένα Flipboard για βίντεο. Αυτό είναι ιδιαίτερα προφανές στην ενότητα «Πίνακας», η οποία παρέχει καταλόγους και ειδοποιήσεις νέων επεισοδίων/βίντεο για όσα ακολουθείτε, όπως και το Flipboard.","FAQ_05_H1":"Πόσο μοιάζει το Stremio με το Popcorn Time;","FAQ_05_P1":"Το Stremio και το Popcorn Time μοιάζουν όσον αφορά το περιβάλλον χρήστη, επειδή δεν υπάρχουν και τόσοι πολλοί τρόποι για τη σωστή υλοποίηση ψυχαγωγικών καταλόγων βίντεο :)","FAQ_05_P2":"Ωστόσο, το Popcorn Time εστιάζει στη ροή torrent από συγκεκριμένες πηγές, ενώ το Stremio κάνει απλά συγκέντρωση περιεχομένου - δεν περιορίζεται σε μια συγκεκριμένη πηγή περιεχομένου.","FAQ_05_P3":"Επιπλέον, δεν παρέχουμε κανένα πρόσθετο για torrent από προεπιλογή, επομένως το Stremio δεν καλύπτει τις δυνατότητες του Popcorn Time με την επίσημη λειτουργικότητά του.","FAQ_05_P4":"Μια ακόμα αξιοσημείωτη διαφορά είναι ότι ο κώδικας του Popcorn Time είναι πλήρως ανοικτός, ενώ ο κώδικας του Stremio είναι ${1}μερικώς ανοικτός{2}.","FAQ_06_H1":"Θα προσθέσετε αυτήν την ταινία/σειρά;","FAQ_06_P1":"Δυστυχώς, όχι :(","FAQ_06_P2":"Όπως αναφέρουμε και σε πολλές άλλες απαντήσεις, το Stremio δεν παρέχει από μόνο του περιεχόμενο - όλα προστίθενται μέσω του συστήματος προσθέτων. Σε περίπτωση που έχετε κάποιο αίτημα περιεχομένου, μπορείτε να χρησιμοποιήσετε το κουμπί «Αναφορά» στο πρόγραμμα αναπαραγωγής, το οποίο θα στείλει ένα email στον δημιουργό του προσθέτου που χρησιμοποιείτε τη δεδομένη στιγμή.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Θα δημιουργήσετε πρόσθετο για το X;","FAQ_08_P1":"Είναι πολύ πιθανό.","FAQ_08_P2":"Αν έχετε κάποια ιδέα για ένα πρόσθετο, στείλτε μας ένα email στο ${1}office@stremio.com${2}, αλλά παρακαλούμε βεβαιωθείτε ότι η ιδέα σας δεν θα παραβιάσει κανένα πνευματικό δικαίωμα ή όρο χρήσης.","FAQ_08_P3":"Αυτήν τη στιγμή, τα επόμενά μας σχέδια περιλαμβάνουν πρόσθετα για το FandangoNOW, το Filmon.tv και το Crunchyroll.","FAQ_09_H1":"Το Stremio χρησιμοποιεί το BitTorrent;","FAQ_09_P1":"Ναι, το Stremio υποστηρίζει το BitTorrent ως πρωτόκολλο ροής. Μπορείτε να το χρησιμοποιήσετε με ένα πρόσθετο για torrent, με εναπόθεση ενός αρχείου .torrent στο Stremio ή με επικόλληση ενός συνδέσμου magnet στη γραμμή αναζήτησης.","FAQ_09_P2":"Παρακαλούμε σημειώστε ότι το μόνο επίσημο πρόσθετο που χρησιμοποιεί BitTorrent είναι το ${1}Vodo${2}, που παρέχει ανεξάρτητο περιεχόμενο για το οποίο επιτρέπεται η διανομή με BitTorrent.","FAQ_09_P3":"Δεν υποστηρίζουμε τη χρήση τρίτων προσθέτων που ενδέχεται να οδηγήσουν σε καταπάτηση πνευματικών δικαιωμάτων.","FAQ_10_H1":"Τι μπορώ να παρακολουθήσω στο Stremio με τα επίσημα πρόσθετα;","FAQ_10_P1":"Από προεπιλογή, μπορείτε να παρακολουθήσετε περιεχόμενο από το Filmon.tv, το YouTube και το Vodo στο Stremio, με το ενσωματωμένο πρόγραμμα αναπαραγωγής. Επιπροσθέτως, διαθέτουμε ένα πρόσθετο για το Twitch.tv και κάποιους άλλους παρόχους.","FAQ_10_P2":"Με όλα τα παραπάνω, παρέχεται μια συλλογή από:","FAQ_10_L1":"Δημοφιλή τηλεοπτικά κανάλια από το Filmon.tv - για παράδειγμα, το E4, το BBC, το Bollyworld TV","FAQ_10_L2":"Όλο το YouTube - για παράδειγμα, το BBC News, το Top Gear, το Vevo, τον PewDiePie","FAQ_10_L3":"Ανεξάρτητες ταινίες με το Vodo","FAQ_10_L4":"Διαδικτυακές μεταδόσεις παιχνιδιών με το Twitch.tv","FAQ_10_P3":"Επιπλέον, υπάρχουν πολλές πηγές περιεχομένου που παρέχονται από τα πρόσθετα Guidebox και Netflix, τα οποία δεν κάνουν αναπαραγωγή εξ ολοκλήρου εντός του Stremio, αλλά ανακατεύθυνση στην αντίστοιχη υπηρεσία. Για παράδειγμα, το πρόσθετο Guidebox σάς προσφέρει μια συλλογή από ταινίες που μπορείτε να παρακολουθήσετε δωρεάν στις ΗΠΑ, από υπηρεσίες όπως το TubiTV και το Crackle.","FAQ_11_H1":"Το Stremio δεν εγκαθίσταται, τι να κάνω;","FAQ_11_P1":"Εάν χρησιμοποιείτε Windows, δοκιμάστε ${1}αυτό το εναλλακτικό πρόγραμμα εγκατάστασης${2}.","FAQ_11_P2":"Εάν χρησιμοποιείτε Mac OS X, σημειώστε ότι δεν υποστηρίζουμε καμία έκδοση πριν από το OS X Mavericks (10.9).","FAQ_11_P3":"Εάν χρησιμοποιείτε Linux, σημειώστε ότι υποστηρίζουμε μόνο εκδόσεις 64-bit (x64) του Linux αυτήν τη στιγμή.","FAQ_11_P4":"Αν δεν μπορείτε ακόμα να λύσετε το πρόβλημά σας, παρακαλούμε στείλτε μας μήνυμα στην {1}ομάδα μας στο Facebook${2}.","FAQ_12_H1":"Γιατί με προειδοποιεί το πρόγραμμα προστασίας από ιούς; Είναι ασφαλές το Stremio;","FAQ_12_P1":"Σας διαβεβαιώνουμε ότι το Stremio είναι ${1}100% «καθαρό»${2}.","FAQ_12_P2":"Το λογισμικό σας, σάς προειδοποιεί επειδή το πρόγραμμα εγκατάστασής μας περιλαμβάνει διαφημίσεις, οι οποίες θεωρούνται ως ad-ware από ορισμένα προγράμματα προστασίας από ιούς.","FAQ_12_P3":"Αν ακόμα έχετε αμφιβολίες, μπορείτε να δοκιμάσετε το ${1}εναλλακτικό πρόγραμμα εγκατάστασής${2} μας.","FAQ_13_H1":"Πώς μπορώ να δημιουργήσω ένα πρόσθετο;","FAQ_13_P1":"Για αρχή, προτείνουμε να δείτε τη ${1}μονάδα του συστήματος προσθέτων${2} μας στο GitHub.","FAQ_13_P2":"Έπειτα, μπορείτε να ακολουθήσετε τον ${1}εισαγωγικό οδηγό${2} μας.","FAQ_13_P3":"Αν δεν διαθέτετε γνώσεις προγραμματισμού, παρακαλούμε αναφέρετε την ιδέα σας στην ${1}κοινότητα του Reddit${2} και επικοινωνήστε μαζί μας σχετικά με την ιδέα σας στο ${3}office@stremio.com${4}.","FAQ_14_H1":"Πώς δημοσιεύονται τα πρόσθετα;","FAQ_14_P1":"Όταν δημιουργήσετε ένα πρόσθετο και έναν κεντρικό υπολογιστή και προσθέσετε ένα πεδίο ακροσημείου (endpoint) στο αρχείο manifest σας, το οποίο δείχνει σε μια λειτουργική διεύθυνση προσθέτου, το πρόσθετο θα δημοσιευτεί αυτόματα στον ${1}κατάλογο προσθέτων${2} μας.","FAQ_14_P2":"Αυτό συμβαίνει επειδή το τμήμα διακομιστή της μονάδας stremio-addons κάνει αυτόματα κλήση στο API μας, προκειμένου να ανακοινώσει το πρόσθετο. Όταν το API μας επαληθεύσει το ακροσημείο (endpoint) σας ως έγκυρο πρόσθετο, τότε θα αρχίσει να εμφανίζεται στον κατάλογο.","FAQ_15_H1":"Μπορώ να εκτελέσω το Stremio στο πρόγραμμα περιήγησής μου;","FAQ_15_P1":"Προς το παρόν, όχι. Αλλά έρχεται σύντομα!","FAQ_15_P2":"Αν έχετε περιέργεια να δείτε μια πρώιμη έκδοση, μπορείτε να τη βρείτε εδώ: ${1}alpha4.strem.io${2}. Σημειώστε ότι η ροή είναι απενεργοποιημένη σε αυτήν την έκδοση. Υποστηρίζουμε τα Chrome, Firefox, Opera και Edge.","FAQ_16_H1":"Η μετάδοση σε τηλεόραση δεν λειτουργεί / οι υπότιτλοι δεν λειτουργούν","FAQ_16_P1":"Η μετάδοση σε τηλεόραση χρησιμοποιεί την τεχνολογία DLNA που δεν είναι κοινή για όλες τις μάρκες και τα μοντέλα τηλεοράσεων. Για τον λόγο αυτό, δεν μπορούμε να τη δοκιμάσουμε σε όλες τις περιπτώσεις, επομένως δεν είναι σε καμία περίπτωση τέλεια. Εργαζόμαστε για τη συνεχή βελτίωση της λειτουργίας, αλλά δεν μπορούμε να προσδιορίσουμε πότε θα αρχίσει να λειτουργεί κανονικά το DLNA στην τηλεόρασή σας.","FAQ_16_P2":"Αν δεν βλέπετε καν την τηλεόρασή σας στο μενού μετάδοσης, παρακαλούμε δοκιμάστε να απενεργοποιήσετε και να ενεργοποιήσετε εκ νέου τη σύνδεση δικτύου σας (στα Windows, κάντε δεξί κλικ στο «Δίκτυο» και επιλέξτε «Ενεργοποίηση/Απενεργοποίηση»). Επίσης, επανεκκινήστε το router, την τηλεόραση και τον υπολογιστή σας.","FAQ_16_P3":"Αν εξακολουθείτε να αντιμετωπίζετε ζητήματα, μπορείτε να μας βοηθήσετε στέλνοντας τη μάρκα και το μοντέλο της τηλεόρασής σας στο ${1}office@stremio.com${2}.","FAQ_16_P4":"Εν τω μεταξύ, προτείνουμε το Chromecast, το οποίο υποστηρίζουμε πολύ καλά ή μπορείτε απλά να συνδέσετε την τηλεόρασή σας στον υπολογιστή σας με ένα καλώδιο HDMI.","FAQ_17_H1":"Το Stremio «παγώνει» ή/και καταρρέει, τί μπορώ να κάνω;","FAQ_17_P1":"Πρώτα απ\' όλα, εάν χρησιμοποιείτε Windows 7 με το πρόγραμμα προστασίας AVG: υπάρχει πρόβλημα με αυτόν τον συνδυασμό. Το πρόβλημα έγκειται στο ίδιο το AVG και δεν υπάρχει κάποιος τρόπος να το επιλύσουμε από την πλευρά μας. Δυστυχώς, οι εξαιρέσεις ή η απενεργοποίηση του λογισμικού ασφαλείας δεν θα λειτουργήσει. Η μόνη λύση είναι να αντικαταστήσετε το AVG με κάποιο άλλο πρόγραμμα.","FAQ_17_P2":"Αν δεν είναι αυτό το πρόβλημα, αλλά χρησιμοποιείτε Windows, παρακαλούμε ενημερώστε στο πιο πρόσφατο Service Pack και ενημερώστε/εγκαταστήστε εκ νέου τα προγράμματα οδήγησης της GPU και έπειτα, δοκιμάστε ξανά.","FAQ_17_P3":"Αν δεν έχει επιλυθεί ακόμα το πρόβλημά σας ή χρησιμοποιείτε Mac ή Linux, παρακαλούμε στείλτε μας μια αναφορά με ακριβείς λεπτομέρειες για το πρόβλημα στην ${1}ομάδα μας στο Facebook${2}.","FAQ_18_H1":"Πώς μπορώ να δημιουργήσω ένα πρόσθετο;","FAQ_18_P1":"Για αρχή, προτείνουμε να δείτε τη ${1}μονάδα του συστήματος προσθέτων${2} μας στο GitHub.","FAQ_18_P2":"Έπειτα, μπορείτε να ακολουθήσετε τον ${1}εισαγωγικό οδηγό${2} μας.","FAQ_18_P3":"Αν δεν διαθέτετε γνώσεις προγραμματισμού, παρακαλούμε αναφέρετε την ιδέα σας στην ${1}κοινότητα του Reddit${2} και επικοινωνήστε μαζί μας σχετικά με την ιδέα σας στο ${3}office@stremio.com${4}.","FAQ_19_H1":"Γιατί το Stremio καταλαμβάνει χώρο στον δίσκο;","FAQ_19_P1":"Το Stremio διαθέτει τοπική προσωρινή μνήμη (cache) για την προσωρινή διατήρηση των αρχείων βίντεο που παρακολουθείτε.","FAQ_19_P2":"Αυτή έχει δύο πλεονεκτήματα: πρώτον, επιτρέπει στο Stremio να προφορτώσει το βίντεο για πιο ομαλή ροή. Δεύτερον, διατηρεί τα βίντεο στην τοπική προσωρινή μνήμη, ώστε να μπορείτε να τα παρακολουθείτε εκτός σύνδεσης.","FAQ_19_P3":"Μπορείτε να προσαρμόσετε το μέγεθος των αρχείων που επιτρέπεται να αποθηκεύει το Stremio με τη ρύθμιση Προσωρινή μνήμη του πίνακα ρυθμίσεων. Το Stremio μπορεί να διατηρήσει έως και το καθορισμένο μέγεθος (π.χ. 2GB) στον δίσκο σας, εκτός αν το τρέχον βίντεο ροής είναι μεγαλύτερο, στην οποία περίπτωση θα πρέπει το Stremio να δεσμεύσει επαρκή χώρο ώστε να διατηρήσει το βίντεο μέχρι να ολοκληρώσετε τη ροή του.","FAQ_20_H1":"Πού βρίσκεται ο φάκελος προσωρινής μνήμης;","FAQ_20_P1":"Στα Windows, είναι ο φάκελος «stremio-cache» στον δίσκο που επιλέξατε από τις Ρυθμίσεις (π.χ. «E:\\\\stremio-cache»)","FAQ_20_P2":"Στο MacOS, είναι στη διαδρομή «~/Library/Application Support/Stremio/stremio-cache»","FAQ_20_P3":"Στο Linux, είναι στη διαδρομή «~/.stremio/stremio-cache» ή «~/stremio-cache»","FAQ_21_H1":"Λαμβάνω το σφάλμα «Δεν βρέθηκε διακομιστής ροής», τι μπορώ να κάνω;","FAQ_21_P1":"Αν λάβετε αυτό το σφάλμα, υπάρχουν δύο πιθανές εξηγήσεις:","FAQ_21_P2":"1) Προσπαθείτε να χρησιμοποιήσετε ένα πρόσθετο με πηγή YouTube/BitTorrent, μέσω της ${1}διαδικτυακής έκδοσης${2}. Σε αυτήν την περίπτωση, θα πρέπει να εγκαταστήσετε την εφαρμογή μας για υπολογιστές από τον ${3}ιστότοπό${4} μας.","FAQ_21_P3":"2) Κάτι δεν πάει καλά με την εγκατάσταση του Stremio σας. Σε αυτήν την περίπτωση, δοκιμάστε να εγκαταστήσετε εκ νέου την πιο πρόσφατη έκδοση για υπολογιστές από τον ${1}ιστότοπό${2} μας. Αν αυτό δεν βοηθήσει, δοκιμάστε να απενεργοποιήσετε τα προγράμματα προστασίας από ιούς και τα τείχη προστασίας, επανεκκινήστε τον υπολογιστή σας και προσπαθήστε ξανά. Αν δεν λειτουργήσει ούτε αυτό, παρακαλούμε στείλτε μας μήνυμα στην ${3}ομάδα μας στο Facebook${4}.","FAQ_22_H1":"Δεν μπορώ να δω/χρησιμοποιήσω τα περισσότερα πρόσθετα στο iOS","FAQ_22_P1":"Λόγω των περιορισμών στους όρους και τις προϋποθέσεις του Apple App Store, διατίθεται μόνο ένα συγκεκριμένο σύνολο προσθέτων για την εφαρμογή του iOS.","FAQ_22_P2":"Αλλά μην ανησυχείτε - θα διατεθούν περισσότερα πρόσθετα για το iOS στο μέλλον και ίσως προστεθεί η δυνατότητα χρήσης όλων των προσθέτων του Stremio, χάρη στη σύνδεση της εφαρμογής για iOS με τον διακομιστή ροής του Stremio."}')},44704:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Movie","TYPE_series":"Series","TYPE_tv":"TV channel","TYPE_channel":"Channel","TYPE_other":"Other","TYPE_movie_PL":"Movies","TYPE_series_PL":"Series","TYPE_tv_PL":"TV channels","TYPE_channel_PL":"Channels","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Back","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Discover","Board":"Board","Library":"Library","My Library":"My Library","Calendar":"Calendar","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"search","SEARCH_NO_RESULTS":"No results were found","SEARCH_EXPLANATION_CONTENT":"Search for movies, series, YouTube and TV channels","SEARCH_EXPLANATION_PEOPLE":"Search for actors, directors and writers","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Add to Library","REMOVE_FROM_LIB":"Remove from Library","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Watch Trailer","WATCH_NOW":"Watch Now","SHOW":"Show","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb Rating","YEAR":"Year","DIRECTOR":"Director","WRITER":"Writer","LEAD_ACTORS":"Lead Actors","CAST":"Cast","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Aired","SEASONS":"Seasons","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Summary","SHOW_MORE":"Show More","SIMILAR":"Similar","UPCOMING":"Upcoming","TBA":"TBA","ENDED":"Ended","DURATION":"Duration","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"search videos","SEARCH_PLACEHOLDER":"search or paste URL","ADDON":"addon","ADDONS":"Addons","OFFICIAL":"official","ADDONS_OFFICIAL":"Official Stremio Addons","ADDONS_POPULAR":"Popular in your area","ADDON_FREE":"free","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"subscription","ADDON_STREAM_GEORESTRICTED":"not available in your area","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Available Streams","NO_STREAM":"No streams were found","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Show all addons »","ADDON_CATALOGUE_MORE":"Install addons","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons collection already exist","ADDON_REPO_ERR":"Error occurred while adding collection","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Cannot uninstall addon, it is protected","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection URL","ERR_NOT_ADDON_URL":"Not a valid addon URL","ERR_DETECTFROMURL":"Cannot find addon/collection from this URL","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Syncing installed addons to your account failed","SETTINGS_DATA_EXPORT":"Export user data","ADDON_PULL_FAILED":"Syncing installed addons from your account failed","REFRESH_ON_CLICK":"Click to retry","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Movie still in theaters","WATCH_IN_CINEMA":"Watch it in your local cinema","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.
    Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from local files, YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streaming from","CASTING_TO":"Casting to","NETWORK_STATUS":"Network status","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Waiting:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"loading...","PLAYING_LOCAL":"playing from local file","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Choose a device to watch on","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","NO_OPTIONS":"No options available","PHONE_TABLET":"Phone / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Change subtitles for ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles #{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use G / H keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use G / H keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Season","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"watched","SORT_YEAR":"year","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"last watched","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"most watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"Resume","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"Dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar Winners","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Continue with Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"or","I_ACCEPT":"I accept the","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terms and Conditions","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passwords don\'t match","SIGN_UP":"Sign up","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Log in","LOG_OUT":"Log out","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Wrong email or password. In case you have forgotten your password, ","SET_A_PASS":"set a password","RESET_PASSWORD":"Reset password","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Activate this addon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"What\'s new","BUTTON_CONTINUE":"Continue","BUTTON_ACTIVATE":"Activate","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Cancel","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications & recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series & movies to it:","IMPORT_FB":"Import things you like from Facebook","IMPORT_TRAKT":"Import your media library from Trakt","IMPORT_DISCOVER":"Find interesting stuff from Discover","IMPORT_DISK":"Import movies or shows you have on your local disk","PLEASE_CREATE_ACC":"Please create an account to enable Library sync & Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from Discover","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your local disk","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Language","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"January","February":"February","March":"March","April":"April","May":"May","June":"June","July":"July","August":"August","September":"September","October":"October","November":"November","December":"December","Monday":"Monday","Tuesday":"Tuesday","Wednesday":"Wednesday","Thursday":"Thursday","Friday":"Friday","Saturday":"Saturday","Sunday":"Sunday","Action":"Action","Comedy":"Comedy","War":"War","Family":"Family","Animation":"Animation","Adventure":"Adventure","Fantasy":"Fantasy","Crime":"Crime","Mystery":"Mystery","Romance":"Romance","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Music","Biography":"Biography","Documentary":"Documentary","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.
    This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.
    Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.
    Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to contact us.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science.
    Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occasionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which do not play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a endpoint field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your endpoint as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a local cache to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the Cache setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},39693:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filmo","TYPE_series":"Serio","TYPE_tv":"Televida Kanalo","TYPE_channel":"Kanalo","TYPE_other":"Alia","TYPE_movie_PL":"Filmoj","TYPE_series_PL":"Serioj","TYPE_tv_PL":"Televidaj kanaloj","TYPE_channel_PL":"Kanaloj","TYPE_other_PL":"Aliaj","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Malantaŭen","MORE":"Pli","DONE":"Farite","COPY":"Kopii","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Esplori","Board":"Tabulo","Library":"Biblioteko","My Library":"Mia biblioteko","Calendar":"Kalendaro","NOTIFICATION_ONLINE":"Nun vi estas enreta","NOTIFICATION_OFFLINE":"Nune vi estas eksterreta","INTERNET_CONNECTION":"Reta Konekto","STORAGE_FULL_TITLE":"Atentu: Via datumstoro estas plena!","STORAGE_FULL_TEXT":"Stremio ne kapablos savi viajn agordojn, preferojn aŭ ensalut-informacion. Konsideru re-ŝalti aŭ re-instali Stremio-n.","SEARCH":"serĉi","SEARCH_NO_RESULTS":"Neniuj rezultoj trovitaj","SEARCH_EXPLANATION_CONTENT":"Serĉi filmojn, seriojn, Youtube kaj TV-kanalojn","SEARCH_EXPLANATION_PEOPLE":"Serĉi aktorojn, reĝisorojn kaj verkistojn","SEARCH_PASTE_LINKS":"Algui HTTP kaj Magnetajn ligilojn","SEARCH_OR_PASTE_LINK":"Serĉi aŭ alglui ligilon","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Aldoni al Biblioteko","REMOVE_FROM_LIB":"Forigi el Biblioteko","ADDED_TO_LIB":"Aldonite al via Biblioteko","REMOVED_FROM_LIB":"Forigita el via Biblioteko","TRAILER":"Film-anonco (trailer)","WATCH_TRAILER":"Spekti Film-anoncon","WATCH_NOW":"Spekti Nun","SHOW":"Spekti","SHOW_MOVIE":"Montri Filmon","WATCH_RANDOM":"Spekti ion hazarze","IMDB_RATING":"IMDb Poentaro","YEAR":"Jaro","DIRECTOR":"Reĝisoro","WRITER":"Verkisto","LEAD_ACTORS":"Ĉefaj geaktoroj","CAST":"Rolularo","CREW":"Crew","SHOW_MORE_CAST":"Montri pli »","AIRED":"Aerumita","SEASONS":"Sezonoj","GENRE":"Ĝenro","GENRE_ALL":"All genres","CATALOG":"Katalogo","SUMMARY":"Resumo","SHOW_MORE":"Montri pli","SIMILAR":"Simila","UPCOMING":"Venonta","TBA":"TBA","ENDED":"Finiĝita","DURATION":"Daŭro","FEATURED":"Elstara","METADATA":"Metadatoj","CATEGORY":"Kategorio","LINKS_GENRES":"Ĝenroj","LINKS_CAST":"Aktoroj","LINKS_DIRECTORS":"Reĝisoroj","SEARCH_VIDEOS":"serĉi videojn","SEARCH_PLACEHOLDER":"Serĉi aŭ algui ligilon","ADDON":"aldonaĵo","ADDONS":"Aldonaĵoj","OFFICIAL":"oficiala","ADDONS_OFFICIAL":"Oficialaj Stremio-aj Aldonaĵoj","ADDONS_POPULAR":"Populara ĉe via regiono","ADDON_FREE":"senpaga","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abono","ADDON_STREAM_GEORESTRICTED":"Ne disponebla ĉe via regiono","ADDON_STREAM_OFFLINECACHE":"Eksterreta Kaŝmemoro","ADDON_STREAM_LOCALFILE":"loka dosiero","SHARE_ADDON":"Konigi Aldonaĵon","AVAILABLE_STREAMS":"Disponeblaj elsendfluoj","NO_STREAM":"Neniu elsendfluo estis trovita","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"Por trovi pli elsendfluojn, bonvolu instalu pli aldonaĵojn","STREAM_NOT_SUPPORTED":"La elektita elsendfluo ne estas suportata en ĉi plataformo.","ADDON_CATALOGUE":"Montri ĉiujn aldonaĵojn »","ADDON_CATALOGUE_MORE":"Instali aldonaĵojn","REPO_ADDED":"Deponejo aldonita","ADDON_REPO_EXIST_ERR":"Ĉi tiu aldonaĵa kolekto jam ekzistas","ADDON_REPO_ERR":"Eraro okazis dum aldonado de kolekto","ADDON_ADD_ERR":"Eraro okazis dum aldonado de aldonaĵo","ERR_ADDON_PROTECTED":"Oni ne povas malinstali la aldonaĵon, ĝi estas protektita","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Io misfunkciis - aŭtentikigo eble malsukcesis","ERR_NOT_COLLECTION_URL":"Ĉi tiu ne estas URL por kolekto ","ERR_NOT_ADDON_URL":"Ĉi tiu ne estas valida URL por aldonaĵo","ERR_DETECTFROMURL":"Oni ne povas trovi aldonaĵon/kolekton el ĉi tiu URL","ADDON_DUPLICATE_WARNING":"Atentu: duobligita aldonaĵo","ADDON_COLLECTION_SET_FAILED":"Sinkronigado de instalitaj aldonaĵoj al via konto malsukcesis","SETTINGS_DATA_EXPORT":"Eksportu uzantajn datumojn","ADDON_PULL_FAILED":"Sinkronigado de instalitaj aldonaĵoj el via konto malsukcesis","REFRESH_ON_CLICK":"Alklaku por reprovi","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Filmo ankoraŭ en kinejoj","WATCH_IN_CINEMA":"Spektu ĝin ĉe via loka kinejo","IN_THEATER":"Ĉe kinejo","GET_TICKETS":"Aĉeti boletojn","UPCOMING_EPISODE":"Venonta Epizodo","UPCOMING_EPISODE_MESSAGE":"Ĉi tiu epizodo estos elsendita","MISSING_DATE_EPISODE":"Dato de epizodo mankas","MISSING_DATE_EPISODE_MESSAGE":"Eble ĉi tiu epizodo ne elsendiĝis ankoraŭ","CHANNEL_NOT_SCRAPED":"Ĉi tiu kanalo ankoraŭ ne estis akirita.
    Bonvolu reveni post kelkaj minutoj.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Aldonu ĝin al via biblioteko por ricevi sciigon kiam ĝi estos disponebla.","GET_NOTIFIED_WHEN_AVAILABLE":"Vi estos sciigita kiam ĝi estos disponebla.","WARNING_STREAMING_SERVER":"Atentu: loka elsendfluservilo ne estis trovita. Elsendfluado el lokaj dosieroj, Youtube kaj BitTorrent ne estos disponeblaj.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Atentu: ĉi tiu video eble ne estas subtenita de via aparataro (hardware). Sciu, ke la ludado povas esti malrapida.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Ho ve, ludila eraro!","PLAYER_ERROR_LOOKSLIKE":"Ŝajnas ke","PLAYER_ORIENTATION":"Orientiĝo de la ludilo","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Ŝlosita","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensilo","PLAYER_ORIENTATION_LANDSCAPE":"Orientiĝo de la ludilo ŝlosita kiel pejzaĝa reĝimo","PLAYER_ORIENTATION_SENSOR":"Aŭtomata orientiĝo de la ludilo (per sensilo)","PLAYER_PLAYBACK_SPEED":"Rapideco","PLAYER_PLAYBACK_ERROR":"Ludila eraro, bonvolu reprovi","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Nekonata eraro","PLAYER_PLAYBACK_ERROR_DEFAULT":"Pardonon! Ĉi tiu video ne povas esti ludita per {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Sekvos","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Forĵeti","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Spekti nun","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"elsendado el","CASTING_TO":"Elsendante al","NETWORK_STATUS":"Reta stato","STREAM_SPEED":"Elsendada rapideco:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Atendante:","TRANSCODING_WARNING":"Atentu: transcoding video.","STREAM_LOADING":"ŝargante...","PLAYING_LOCAL":"ludante el loka dosiero","PLAYING_CACHE":"ludante el kaŝmemoro","WRONG_SUBS":"Ĉu malĝustaj subtekstoj?","ERR_SUBS_LOADING_TITLE":"Eraro dum ŝarĝo de subtekstoj","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Elektu aparaton per kiun spekti","NO_CAST_DEVICES":"Ne disponeblas aparatoj por elsendi.","NO_SETTINGS":"Agordoj ne disponeblas.","NO_OPTIONS":"No options available","PHONE_TABLET":"Phone / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtekstoj","SUBTITLES_CHANGE":"Ŝangi subtekstoj por ","SUBTITLES_CHANGE_NONE":"Subtitloj por ĉi lingvo ne disponeblas, pardonon.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles #{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternative,","SUBTITLES_ADJUST_DELAY":"Sinkronigi subtekstoj:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Aŭ uzu G / H klavojn dum ludado por sinkronigi.","SUBTITLES_ADJUST_DELAY_TIP":"KONSILO: vi povas uzi G / H klavojn dum ludado por sinkronigi.","SUBTITLES_DELAY":"Subtekstoj sinkronado:","SUBTITLES_LOADING":"Ŝarĝante subtekstoj...","SUBTITLES_UNAVAILABLE":"Eksteraj subtekstoj ne disponeblas","SUBTITLES_DISABLED":"Malebligita","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sezono","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episodo","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"ordigi","SORT_BY":"Ordigi laŭ ","FILTER":"filtri","SORT_TRENDING":"tendenca","SORT_RECENT":"lastatempa","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"poentaro","SORT_WATCHED":"spektita","SORT_YEAR":"jaro","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Nova por vi","New Episodes":"Novaj Epizodoj","New Videos":"Novaj Videoj","Recommendations":"Rekomendoj","LIBRARY_RESUME":"Daŭrigi","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Detaloj","LIBRARY_RESUME_DISMISS":"Forĵeti","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oskar-premiitoj","DISCOVER_WARNING_TITLE":"Ho ve!","DISCOVER_EMPTY_CATALOG":"Ĉi tiu aldonaĵo resendas malplenan enhavon.","DISCOVER_ADULT_WARNING":"La enhavo estas videbla nur por plenkreskuloj. Ĉu vi estas +18-aĝa?","DISCOVER_NOADDON_WARNING":"Atentu: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"La enhavo ne ŝargis, eraro okazis.","DISCOVER_ADDON_UNINSTALLED":"Ĉi tiu enhavo ne plu disponeblas, vi eble malinstalis la aldonaĵon.","UNINSTALL_THIS_ADDON":"Malinstali ĉi tiun aldonaĵon","ERR_ADDON_NOT_INSTALLED":"Ĉi tiu aldonaĵo ne estas instalita. Instali nun?","DETAIL_RECEIVE_NOTIF_SERIES":"Ricevi sciigoj de novaj epizodoj Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Ricevi sciigoj de novaj videoj","SIDEBAR_SHOW_STREAMS":"Montri elsendojn","RELAUNCH":"Remalfermi nun!","UPGRADE":"Nova versio estas disponebla! Ĝisdatigu Stremio-n a la lasta versio!","RELOAD_UI":"Reŝargi la uzantan interfacon","MANUAL_UPDATE_TITLE":"Ĝisdatigu vian Stremio version","MANUAL_UPDATE_LINE1":"Vi estas uzante malĝisdatiga version de Stremio, kion tute ne estas rekomendita.","MANUAL_UPDATE_LINE2":"Bonvolu ĝisdatigi kiel eble plej baldaŭ.","BUTTON_UPDATE_LATTER":"Ne nun","BUTTON_UPDATE_NOW":"Ĝisdatigi","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonima uzanto","DONT_HAVE_ACC":"Ĉu vi ankoraŭ ne havas konton?","HAVE_ACC":"Ĉu vi jam havas konton?","PASSWORD":"Pasvorto","PASSWORD_CONFIRM":"Konfirmu pasvorton","EMAIL":"Retpoŝto","FB_LOGIN":"Daŭri per Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nenio estas disdonita sen via permeso","FB_NOPOST":"Ni ne afiŝos nenion en via nomo","OR":"aŭ","I_ACCEPT":"Mi akceptas la","I_ACCEPT_BY_CLICKING":"Alklakante la supran butonon mi atestas, ke mi akceptas la ","TOS":"Uzkondiĉoj","MUST_ACCEPT_TERMS":"Vi devas akcepti la uzkondiĉojn","PASSWORDS_NOMATCH":"Pasvortoj ne koincidas","SIGN_UP":"Registriĝi","SIGN_UP_EMAIL":"Registriĝi per retpoŝto","CLICK_TO_SIGN_UP":"Klaku ĉi por ensaluti.","LOG_IN":"Ensaluti","LOG_OUT":"Elsaluti","EXIT_FULLSCREEN":"Malplenekranigi","ENTER_FULLSCREEN":"Plenekranigi","PLAY_URL_MAGNET_LINK":"Ludi URL/Magneta ligilon","HELP_FEEDBACK":"Helpo kaj sugestoj","TERMS_OF_SERVICE":"Serv-kondiĉoj","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"Pri Stremio","USER_PANEL":"Uzantaj agordoj","LOGIN_LABEL":"Login","GUEST_LOGIN":"Ensaluti kiel gasto","GUEST_LOGIN_NOTICE":"Gasta ensaluto ne estas rekomendita. Uzado de regula ensaluto permesas al Stremio sinkronigi vian Bibliotekon, ricevi sciigojn pri viaj plej ŝatataj serioj/kanaloj. Ĉu vi certas, ke vi volas daŭrigi?","GUEST_LOGIN_NOTICE_2":"Gasta ensaluto ne estas rekomendita - vi ne havos sinkronigitajn sciigojn de Biblioteko kaj Estraro, kiuj estas esencaj funkcioj de Stremio. Ĉu vi certas, ke vi volas daŭrigi?","CLICK_HERE":"klaku ĉi-tie","WRONG_PASSWORD":"Erara retpoŝtadreso aŭ pasvorto. Se vi forgesis vian pasvorton, ","SET_A_PASS":"defini pasvorton","RESET_PASSWORD":"Restarigi pasvorton","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Ĉu vi forgesis vian pasvorton?","EMAIL_USED_WITH_FB":"Ĉi tiu retpoŝtadreso jam estis uzata kun Facebook-ensaluto.","INVALID_EMAIL":"Bonvolu entajpi validan retpoŝtadreson","INVALID_PASSWORD":"Bonvolu entajpi validan pasvorton","CONN_ERR":"Eraro de konekto - Bonvolu reprovi poste.\\n\\nSe ĉi tiu eraro daŭras, malŝaltu fajroŝirmilojn/kontraŭvirusajn programojn (precipe Bitdefender).","IMPORT_FROM_GUEST":"Importu Bibliotekon el via gasta konto","RECEIVE_UPDATES_EMAIL":"Ricevu ĝisdatigojn al via retpoŝto de Stremio","LOGIN_FAILED":"Ensaluto malsukcesis.","SIGNUP_FAILED":"Aliĝo malsukcesis.","SEARCH_FAILED":"Serĉo malsukcesis","EMAIL_USED":"Ĉi tiu retpoŝtadreso jam estas uzata.","WAITING_FB_LOGIN":"Ensaluto per Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Ludi per ekstera ludilo","EXTERNAL_REMEMBER_PLAYER":"Ĉu vi volas memori vian selekton","EXTERNAL_ALWAYS_PLAY":"Jes","EXTERNAL_ONLY_ONCE":"Ne","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Diru al ni pri tio, kion vi ŝatas","INTRO_TASTE_LONG":"Diru al ni pri tio, kion vi ŝatus spekti","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Helpu nin lerni pli pri vi.","INTRO_TASTE_CHOOSE_THESE":"Elektu kelkajn el ĉi tiuj:","INTRO_TASTE_CHOOSE_MIN":"Elektu almenaŭ 3 kategoriojn","INTRO_TASTE_CHOOSE_MIN_ERR":"Vi devas elekti almenaŭ 3 kategoriojn!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sportoj","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"Novaĵoj","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Scienco kaj Edukado","INTRO_TASTE_MUSIC":"Musiko","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedio","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Selektita aldonaĵo ne estas subtenata por ĉi tiu platformo.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Ĉu aktivigi ĉi tiun aldonaĵon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Kio estas nova?","BUTTON_CONTINUE":"Continue","BUTTON_ACTIVATE":"Activate","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Cancel","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Forĵeti ĉion","BUTTON_VIEW_ALL":"vidi ĉiujn","BUTTON_SEE_ALL":"Vidi ĉiujn","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications & recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series & movies to it:","IMPORT_FB":"Import things you like from Facebook","IMPORT_TRAKT":"Import your media library from Trakt","IMPORT_DISCOVER":"Find interesting stuff from Discover","IMPORT_DISK":"Importu filmojn aŭ spektaklojn kiujn vi havas ĉe via loka disko","PLEASE_CREATE_ACC":"Please create an account to enable Library sync & Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from Discover","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your local disk","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Agordoj","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Ludilo","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Malfermi per VLC","SETTINGS_UI_LANGUAGE":"Interfaca Lingvo","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Importi el Facebook","SETTINGS_IMPORT_DISK":"Importi el loka disko","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Peti forigon de konto","SETTINGS_CHANGE_PASSWORD":"Ŝangi pasvorton","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Kontaktu subtenon","SETTING_LANGUAGE":"Lingvo","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"versio","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Fini","CONNECTED":"Konektita","AUTHENTICATE":"Authenticate","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januaro","February":"Februaro","March":"Marto","April":"Aprilo","May":"Majo","June":"Junio","July":"Julio","August":"Aŭgusto","September":"Septembro","October":"Oktobro","November":"Novembro","December":"Decembro","Monday":"Lundo","Tuesday":"Mardo","Wednesday":"Merkredo","Thursday":"Ĵaŭdo","Friday":"Vendredo","Saturday":"Sabato","Sunday":"Dimanĉo","Action":"Agadfilmo","Comedy":"Komedio","War":"Milito","Family":"Familia","Animation":"Animacio","Adventure":"Aventuroj","Fantasy":"Fantasto","Crime":"Krimo","Mystery":"Mistero","Romance":"Romance","Drama":"Dramo","Horror":"Horora Filmo","Thriller":"Suspenso","Sci-Fi":"Sciencfikcio","Music":"Music","Biography":"Biografio","Documentary":"Dokumentario","Sport":"Sport","Musical":"Musical","Western":"Vesterno","Film-Noir":"Film-Noir","News":"News","History":"Historio","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Vivstilo","Science & Education":"Scienco kaj Edukado","Cooking & Health":"Kuirado kaj Sano","Beauty & Fashion":"Beauty & Fashion","Sports":"Sportoj","News & Politics":"Novaĵoj kaj Politiko","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religio","Kids":"Infana","Body & Soul":"Body & Soul","Education":"Edukado","Indian Tv":"Hinda Televido","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Scienca Televido","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"nova video","new episode":"nova epizodo","new movie":"nova filmo","recommended":"rekomendita","we recommend":"ni rekomendas","offer of the day":"offer of the day","news":"novaĵoj","music video":"muzikvideo","CTX_SHOW_HOTKEYS":"Montri Agklavoj","CTX_DISMISS_NOTIF":"Forĵeti sciigojn","CTX_DISMISS_ALL":"Forĵeti ĉion","CTX_SHARE":"Konigi","CTX_COPY_SHARE_LINK":"Kopii ligilon por kunhavigi","CTX_COPY_MAGNET_LINK":"Kopii magnetan ligilon","CTX_COPY_STREAM_LINK":"Kopii elsendfluan ligilon","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Elŝuti ĉi-tiun videon","CTX_DOWNLOAD_SUBS":"Elŝuti subtekstojn","CTX_VIEW_ON_YOUTUBE":"Spekti ĉe Youtube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Spekti ĉe","CTX_WATCH":"Spekti","CTX_WATCHED":"Spektita","CTX_WATCH_BEGINNING":"Spekti ekde la komenco","CTX_WATCH_MOBILE":"Spekti per poŝtelefono","CTX_REWIND":"Rebobeni al komenco","CTX_MARK_WATCHED":"Marki kiel spektita","CTX_MARK_NON_WATCHED":"Marki kiel ne spektita","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Marki la ceterajn kiel rigarditajn","CTX_UNMARK_REST":"Marki la ceterajn kiel ne-spektitajn","CTX_RECEIVE_NEW_NOTIF":"Ricevi novajn sciigojn","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Forigi el kaŝmemoro","CTX_REMOVE_CACHE_EP":"Forigi epizodon el kaŝmemoro","CTX_OPEN_CONTAINING":"Malfermu enhavantan dosierujon","CTX_REMOVE":"Forigi de la biblioteko","CTX_AVAILABLE_OFFLINE":"Disponebla eksterrete","CTX_PAUSED":"Paŭzo","CTX_ALWAYS_ON_TOP":"Ĉiam supre ĉio","CTX_FULLSCREEN":"Plenekrane","CTX_WRONG_SUBS":"Malĝustaj subtekstoj?","CTX_REPORT_ISSUES":"Raporti problemon","CTX_COPY":"Kopii","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Algui","CTX_CLEAR":"Viŝi","CTX_CLEAR_RECENT_SEARCHES":"Viŝi freŝajn serĉojn","HELLO_THERE":"Saluton!","HOPE_YOU_ENJOY":"Ni esperas, ke vi ĝuos Stremio-n kaj ke ĝi jam estas unu el viaj plej ŝatataj aplikaĵoj!","WHO_ARE_WE":"Kiuj ni estas? Ni estas la teamo malantaŭ ĝi - du uloj kiuj intense laboras ĉiutage dum la lastaj 3 jaroj por fari ĉi tiun produkton pli kaj pli bona.","SUPPORT_US":"Se vi ŝatas uzi Stremio, se Stremio estas valora por vi - diskonigu ĝin!","SPREAD_THE_WORD":"Kunhavigu ĝin kun viaj amikoj nun, diskonigu pri Stremio","MORE_PEOPLE":"Ju pli da homoj uzas Stremio-n, des pli bone ĝi fariĝos!","SEND_A_LINK":"Aŭ sendu ligilon al nia retejo","TIP_LOCALFILES":"Konsilo: vi povas ŝovi kaj demeti lokaj videaj dosierojn en Stremio-n","ADDON_MY":"Miaj Aldonaĵoj","ADDON_COMMUNITY":"Komunumaj aldonaĵoj","ADDON_OFFICIAL":"Oficialaj Aldonaĵoj","ADDON_REPOS":"Aldonaĵa kolekto","ADDON_SEARCH":"Serĉi Aldonaĵoj","ADDON_INSTALL":"Instali","ADDON_CONFIGURE":"Agordi","ADDON_UNINSTALL":"Malinstali","ADDON_UPGRADE":"Ĝisdatigi","ADDON_INSTALLED":"Instalita","ADDON_INSTALLED_MSG":"Aldonaĵo instalita!","ADDON_UPGRADED_MSG":"Aldonaĵo ĝisdatita!","ADDON_UNKNOWN":"Nekonata","ADDON_ERR":"Aldonaĵ-instalado eraro!","ADDON_DISCONNECTED":"Malkonektita","ADDON_APP_MISSING":"la aplikaĵo por ĉi tiu fonto ne estas instalita. Ĉu vi volas instali ĝin nun?","ADDON_APP_INSTALL":"Instali nun","ADDON_PAGE":"Paĝo de la aldonaĵo","ADDON_TOP_CONTENT":"La plej bona de ĉi tiu aldonaĵo","ADDON_PROVIDES":"Ĉi tiu aldonaĵo donos al vi:","ADDON_WATCH":"Spekti #{types} nun!","ADDON_WATCH_FREE":"Spekti #{types} SENPAGE nun!","ADDON_ADDON":"Aldonaĵo","ADDON_SUPPORTED_TYPES":"Subtenataj tipoj","ADDON_SUPPORTED_CATALOGS":"Subtenataj katalogoj","ADDON_PROVIDES_DISCOVER":"Pli da #{types} en Discover","ADDON_PROVIDES_STREAMS":"Spekti #{types}","ADDON_PROVIDES_STREAMS_FREE":"Spekti #{types} SENPAGE","ADDON_PROVIDES_SUBTITLES":"Subtekstoj al #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Neniu informo trovita pri tio ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Daŭre spekti","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmoj elektitaj speciale por vi.
    Ĉi tiu filmo estas ekzempla rekomendo.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.
    Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.
    Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Spektu tuj!","WEBSITE_SLOGAN_ALL":"La tuta video-enhavo, kiun vi ĝuas en unu loko","WEBSITE_SLOGAN_NEW":"Ĉio, kion vi povas spekti","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Spekti el","WEBSITE_DOWNLOAD":"Elŝuti nun!","WEBSITE_DOWNLOAD_FOR":"Elŝutu Nun Por","WEBSITE_IS_DESKTOP":"Stremio estas komputila aplikaĵo, malfermu ĉi tiun paĝon je via komputilo kaj elŝutu ĝin","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Hejmo","WEBSITE_PAGE_FEATURES":"Funkcioj","WEBSITE_PAGE_ADDONS":"Aldonaĵoj","WEBSITE_PAGE_TECH":"Teknologio","WEBSITE_PAGE_CREATE_ADDON":"Kreu aldonaĵon","WEBSITE_PAGE_CONTACTS":"Kontaktoj","WEBSITE_PAGE_BLOG":"Blogo","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmog","WEBSITE_TYPE_series_PL":"Filmoj","WEBSITE_TYPE_tv":"Viva televido","WEBSITE_TYPE_channel":"Kanaloj","WEBSITE_STREMIO_WHAT_IS":"Stremio estas aplikaĵo, kiu helpas vin organizi kaj tuj spekti viajn plej ŝatatajn videojn, filmojn, televidseriojn kaj televidkanalojn..","WEBSITE_FEATURES_WATCH":"Spektu tuj en HD","WEBSITE_FEATURES_WATCH_DETAIL":"Alklaku kaj ludu viajn plej ŝatatajn filmojn, televidajn programojn, filmetojn kaj televidajn kanalojn.","WEBSITE_FEATURES_SUBS":"Aŭtomataj Subtekstoj","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Importi el Facebook","WEBSITE_LIB_LOCAL":"Aldonu el via loka disko","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"Ni amas teknologion, ni amas frenezan sciencon!\\nStremio uzas la jenajn malfermitkodajn teknologiojn","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to contact us.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donaci Bitcoin:","WEBSITE_FAQ":"Plej Oftaj Demandoj","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Demandoj","WEBSITE_TOS":"Uzkondiĉoj","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"Pri","WEBSITE_PAGE_BECOME_PARTNER":"Iĝu partnero","WEBSITE_ALL_YOU_CAN_WATCH":"Libereco por Spekti\\nĈion Kion Vi Volas.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Kio estas Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio estas kompleta centro por videoenhava kolektado. Malkovru, organizu kaj spektu filmetojn el ĉiaj fontoj sur iu ajn aparato, kiun vi posedas.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio estas moderna aŭdvidaĵa centro, integrala solvo por via amuziĝo. Vi povas malkovri, spekti kaj organizi video-enhavon per facile instaleblaj aldonaĵoj.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmoj, televidaj programoj, viva televido aŭ retkanaloj - Stremio disponigas por vi ĉion ĉi.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importi el facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Aliĝu al la festo nun","WEBSITE_DEVICES_ALL":"Facile uzebla en ĉiuj viaj aparatoj;","WEBSITE_EXTENDABLE_CATALOG":"Senfine etendebla videokatalogo;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Mojosaj funkcioj por organizi viajn aŭdvidaĵojn;","WEBSITE_AS_SEEN_ON":"Kiel vi vidis ĝin en","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Pri ni","WEBSITE_LINK_TECHNOLOGY":"Teknologio","WEBSITE_LINK_APPS":"Aplikaĵoj","WEBSITE_LINK_DOWNLOADS":"Elŝutoj","WEBSITE_MORE":"Pli","WEBSITE_LINK_ADDONS":"Aldonaĵoj","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Kontribuu","WEBSITE_LINK_COMMUNITY":"Komunumo","WEBSITE_LINK_BLOG":"Blogo","WEBSITE_MORE_MORE":"... kaj pli","WEBSITE_LINK_HELP":"Helpcentro","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privatecaj politikoj","WEBSITE_SUBSCRIBE":"Aboni","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Via Retpoŝto","WEBSITE_COMMUNITY":"Komunumo","WEBSITE_LINK_PRAVACY_LEGAL":"Privateco kaj legalaĵo","WEBSITE_WHY":"Kial ni faras kion ni faras","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAMO","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Funkcioj","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Facile malkovru novan enhavon","WEBSITE_FEATURES_DISCOVER_P":"Facile esplori novaj filmoj, televidaj spektakloj, serioj kaj kanaloj por spekti. Serĉu laŭ kategorio, ĝenro, poentaro, lastatempeco, noveco, ktp. aŭ simple tajpu nomon por trovi. Stremio faciligas trovante novan videoenhavon tre facile.","WEBSITE_FEATURES_ALL_CONTENT":"Ĉiuj viaj videoenhavoj en unu ekrano","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organizu vian videobibliotekon","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Ĝuu vian videon enhavon sur granda ekrano","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Spektu videon el multaj diversaj fontoj","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Kreu aldonaĵon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Spektu Netflix-aj filmoj kaj ret-serioj.","WEBSITE_ADDONS_CREATE":"Kreu aldonaĵon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Elŝutoj","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Kontribuu","WEBSITE_CONTRIBUTE_P1":"La platformo Stremio estas liberafontkoda kaj vi povas facile krei aldonaĵo por enhavo kiu ne estas indeksita ankoraŭ.","WEBSITE_CONTRIBUTE_WHY":"Kial vi devus krei aldonaĵon?","WEBSITE_CONTRIBUTE_WHY_P1":"Atingu nova spektantaro por via videoenhavo","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Iĝu volontula tradukisto","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Ĉu vi avidas por komenci?","WEBSITE_TRANSALTE_STREMIO":"Traduku Stremio-n","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Komunuma Artgalerio","WEBSITE_LINK_ART":"Komunuma artgalerio","WEBSITE_CONTACT_US":"Kontaktu nin","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Bonvolu entajpi vian retpoŝton!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Pri kio temas via demando?","WEBSITE_CONTACT_US_Q_OS":"Kiu estas via Operaciumo?","WEBSITE_CONTACT_US_PH_EMAIL":"Via Retpoŝto","WEBSITE_CONTACT_US_PH_MESSAGE":"Mesaĝo","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SENDI","WEBSITE_CONTACT_US_Q_1":"Kiel instali","WEBSITE_CONTACT_US_Q_2":"Kiel malinstali?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Aldonaĵoj","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknologio","WEBSITE_TECHNOLOGY_P1":"Ni amas teknologion kaj frenezan sciencon.
    Jen kio ebligas Stremio-n (ĉio estas malfermitkoda).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"Senpaga, malfermitfonta kaj plurplatforma plurmedia ludilo.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Kontribuu al la projekto","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Estas du manieroj per kiuj vi povas kontribui kun Stremio kaj helpi al ni plibonigi ĝin eĉ pli!.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Vi povas donaci viajn valorajn lingvokapablojn tradukante la platformon...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"aŭ","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... vi povas uzi viajn programadajn kapablojn por krei komunumajn aldonaĵojn. ","WEBSITE_TRANSLATE_STREMIO":"Traduku Stremio-n","WEBSITE_404_OH_NO":"Ho ve! La paĝo kiu vi serĉas ne estas ĉi tie...","WEBSITE_GO_HOME":"Iru hejmen","WEBSITE_LINK_OTHER_DOWNLOADS":"Aliaj elŝut-opcioj","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Subteni","WEBSITE_DOWNLOAD_4_0_BETA":"Elŝutu Stremio-n 4 beta nun!","WEBSITE_GET_FOR_DESKTOP":"Akiru ĝin por komputilo","WEBSITE_LINK_ADDON_COMPETITION":"Aldonaĵa konkurso","WEBSITE_LINK_ART_CONTEST":"Arta konkurso","WEBSITE_MY_ACCOUNT":"Mia konto","WEBSITE_MAINPAGE_FAQ_001_H1":"Kio estas Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio estas moderna plurmedia centro, kiu donas al vi la liberon spekti ĉion, kion vi volas.","WEBSITE_MAINPAGE_FAQ_002_H1":"Kiel ĝi funkcias?","WEBSITE_MAINPAGE_FAQ_002_P1":"Post kiam vi instalos Stremio sur via aparato kaj kreos konton, vi nur devas viziti la katalogon de aldonaĵoj kaj instali ajnan aldonaĵon, kiun vi volas, kaj vi estas bona por preta por ekkomenci!","WEBSITE_MAINPAGE_FAQ_002_P2":"Post tio, vi povas iri al la sekcioj Discover aŭ Board por komenci esplori enhavon.","WEBSITE_MAINPAGE_FAQ_003_H1":"Kion mi povas spekti ĉi tie?","WEBSITE_MAINPAGE_FAQ_003_P1":"Multaĵon: Filmoj, Televidaj Spektakloj, Retaj Kanaloj, Sporto, Televidaj kanaloj, aŭskulti Podkastojn kaj multe pli. Danke al nia aldonaĵa sistemo, vi povas akiri ĉiajn enhavojn.","WEBSITE_MAINPAGE_FAQ_004_H1":"Ĉu Stremio estas malfermitkoda?","WEBSITE_MAINPAGE_FAQ_004_P1":"Jes, vi povas viziti la jenajn ligilojn: ${1}desktop app${2} kaj ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Ĉu estas Stremio sekura?","WEBSITE_MAINPAGE_FAQ_005_P1":"Jes: ĉar ĝi estas libera programaro, la kodo estas publike alirebla kaj vi mem povas revizii ĝin.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Kio pri mia privateco?","WEBSITE_MAINPAGE_FAQ_006_P1":"Ni respektas la privateco de la uzantoj, tial ni ne kolektas nenian personalan datumon, krom la minimunon esencialan por krei kaj sinkronigi vian konton.","WEBSITE_MAINPAGE_FAQ_006_P2":"Ankaŭ ekzistas ${1}Gasta reĝimo${2} ĉe la aliĝo, kiu postulas neniujn datumojn: en ĉi tiu reĝimo, neniuj vokoj estas faritaj al nia servilo. Tamen, ĝi forĵetas utilajn funkciojn, kiel sinkronigi vian bibliotekon inter aparatoj.","WEBSITE_MAINPAGE_FAQ_007_H1":"Ĉu mi povas elsendi al mia televidilo?","WEBSITE_MAINPAGE_FAQ_007_P1":"Jes, ni subtenas Chromecast-on kaj vi povas elsendi el kaj labortablaj kaj el poŝtelefonaj aplikaĵoj (Android)..","WEBSITE_MAINPAGE_FAQ_008_H1":"Kiom da aldonaĵoj Stremio havas?","WEBSITE_MAINPAGE_FAQ_008_P1":"Je 2019, pli ol 50 - por plia informo, vidu nian aldonaĵan katalogon.","WEBSITE_MAINPAGE_FAQ_009_H1":"Ĉu Stremio povas esti etendita preter kio estas en la aldonaĵa katalogo?","WEBSITE_MAINPAGE_FAQ_009_P1":"jes, vi povas rigardi la jenajn: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, ktp.","WEBSITE_MAINPAGE_FAQ_010_H1":"Kiujn aparatojn Stremio subtenas?","WEBSITE_MAINPAGE_FAQ_010_P1":"Ni havas labortablaj aplikaĵoj por Vindozo, Mac kaj Linukso. Por poŝtelefono, ni subtenas Android kaj iOS, kvankam konsciu, ke iOS estas limigita en funkcioj (ne subtenas la plejmultajn aldonaĵojn).","WEBSITE_MAINPAGE_FAQ_010_P2":"Estas multaj Android-bazitaj aparatoj sur kiuj vi povas ruli Stremio-n, kiel NVIDIA Shield kaj Amazon Fire Stick, sed ni ne oficiale subtenas ilin.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Ĉu vi povas aldoni certan enhavon al Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Pardonu, ni mem provizas neniun enhavon, sed ju pli da Stremio-aldonaĵoj vi instalos, des pli da enhavo vi povos trovi.","WEBSITE_MAINPAGE_FAQ_012_H1":"Ĉu Stremio povas ludi magnetligojn","WEBSITE_MAINPAGE_FAQ_012_P1":"Jes, kaj ĝi ankaŭ povas ludi normalajn HTTP-ligilojn kaj torentajn dosierojn (ŝovi kaj demeti).","WEBSITE_MAINPAGE_FAQ_013_H1":"Ĉu mi povas elŝuti videon kaj spekti ĝin eksterrete?","WEBSITE_MAINPAGE_FAQ_013_P1":"Eksterreta disponebleco estas venonta funkcio, sed se vi permesas al Stremio konservi kaŝmemoron en via aparato (ĉe la agorda panelo) vi povas spekti la videojn senkonekte.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nenio funkcias, helpu min!","WEBSITE_MAINPAGE_FAQ_014_P1":"Ĉu vi certas, ke vi instalis aldonaĵojn? Se jes, iru al nia ${1}helpcentro${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Kiel Stremio subtenas ĝian programadon?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ni prezentas netrudemajn reklamojn foje, sed ni pripensas translokiĝi al donacmodelo.","WEBSITE_MAINPAGE_FAQ_015_P2":"Se vi havas pliaj demandoj, iru al nia ${1}helpcentro${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Montri malpli","LAST_SEARCHES":"Lastaj serĉoj","CLEAR_HISTORY":"Forigi serĉhistorion","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"Pli da informo ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Serĉi","STREMIO_TV_NAV_HOME":"Hejmo","STREMIO_TV_NAV_DISCOVER":"Esplori","STREMIO_TV_NAV_LIBRARY":"Biblioteko","STREMIO_TV_NAV_MOVIES":"Filmoj","STREMIO_TV_NAV_SERIES":"Serioj","STREMIO_TV_NAV_CHANNELS":"Kanaloj","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Agordoj","STREMIO_TV_NAV_ADDONS":"Aldonaĵoj","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Reprovi","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"Kio estas Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"Kiel Stremio komparas al Kodi kaj al Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"Kiel Stremio komparas al Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"Kiel Stremio komparas al Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"Kiel Stremio komparas al Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Ĉu vi aldonos ĉi tiun filmon/serion?","FAQ_06_P1":"Ne, pardonon :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which do not play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"Kiel mi povas krei aldonaĵon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a endpoint field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your endpoint as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a local cache to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the Cache setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Kie estas la kaŝmemora dosiero?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},17949:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Película","TYPE_series":"Series","TYPE_tv":"TV","TYPE_channel":"Youtube","TYPE_other":"Otros","TYPE_movie_PL":"Películas","TYPE_series_PL":"Series","TYPE_tv_PL":"Canales de TV","TYPE_channel_PL":"Canales","TYPE_other_PL":"Otros","TYPE_ALL":"Todo","TYPE":"Tipo","CATALOG_com_linvo_cinemeta_top":"Populares","CATALOG_com_linvo_cinemeta_imdbRating":"Destacadas","CATALOG_com_linvo_cinemeta_year":"Nuevas","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Películas de Dominio Público","VIDEO":"Video","BACK":"Atrás","MORE":"Más","DONE":"Listo","COPY":"Copiar","SUCCESS":"Éxito","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Modo de emisión","CASTING_MODE_HLSV2":"Por defecto","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Sin transcodificación","Discover":"Descubrir","Board":"Panel","Library":"Biblioteca","My Library":"Mi Biblioteca","Calendar":"Calendario","NOTIFICATION_ONLINE":"Actualmente estás en línea","NOTIFICATION_OFFLINE":"Actualmente no estás conectado","INTERNET_CONNECTION":"Conexión de red","STORAGE_FULL_TITLE":"Advertencia: ¡Almacenamiento lleno!","STORAGE_FULL_TEXT":"Stremio no podrá guardar su configuración, preferencias o información de inicio de sesión. Considere reiniciar o reinstalar Stremio.","SEARCH":"Buscar","SEARCH_NO_RESULTS":"No se encontraron resultados","SEARCH_EXPLANATION_CONTENT":"Buscar películas, series, Canales de Youtube y TV","SEARCH_EXPLANATION_PEOPLE":"Buscar por actores, directores y escritores","SEARCH_PASTE_LINKS":"Pegar un enlace HTTP o enlace magnético","SEARCH_OR_PASTE_LINK":"Buscar o pegar enlace","SEARCH_SUGGESTIONS":"Buscar sugerencias","ADD_TO_LIB":"Añadir a la biblioteca","REMOVE_FROM_LIB":"Eliminar de la biblioteca","ADDED_TO_LIB":"Añadido a la biblioteca","REMOVED_FROM_LIB":"Eliminado de la biblioteca","TRAILER":"Avance","WATCH_TRAILER":"Ver avance","WATCH_NOW":"Ver ahora","SHOW":"Ver","SHOW_MOVIE":"Mostrar película","WATCH_RANDOM":"Ver al azar","IMDB_RATING":"Calificación de IMDb","YEAR":"Año","DIRECTOR":"Director","WRITER":"Escritor","LEAD_ACTORS":"Actores principales","CAST":"Reparto","CREW":"Equipo técnico","SHOW_MORE_CAST":"Ver más »","AIRED":"Salió al aire:","SEASONS":"Temporadas","GENRE":"Género","GENRE_ALL":"Todos los géneros:","CATALOG":"Catálogo","SUMMARY":"Resumen","SHOW_MORE":"Ver más","SIMILAR":"Similar","UPCOMING":"Próximamente","TBA":"TBA","ENDED":"Terminado","DURATION":"Duración","FEATURED":"Destacado","METADATA":"Metadatos","CATEGORY":"categoría","LINKS_GENRES":"Géneros","LINKS_CAST":"Reparto","LINKS_DIRECTORS":"Directores","SEARCH_VIDEOS":"buscar videos","SEARCH_PLACEHOLDER":"buscar o pegar URL","ADDON":"complemento","ADDONS":"Complementos","OFFICIAL":"oficial","ADDONS_OFFICIAL":"Complementos Oficiales","ADDONS_POPULAR":"Popular en tu región","ADDON_FREE":"gratis","ADDON_PEERED":"compartido","ADDON_SUBSCRIPTION":"suscripción","ADDON_STREAM_GEORESTRICTED":"no está disponible en su región","ADDON_STREAM_OFFLINECACHE":"Caché sin conexión","ADDON_STREAM_LOCALFILE":"Archivo Local","SHARE_ADDON":"Compartir complemento","AVAILABLE_STREAMS":"Transmisiones Disponibles","NO_STREAM":"No se encontraron transmisiones ","ALL_ADDONS":"Todos","INSTALL_MORE_ADDONS":"Para más transmisiones, por favor instale más complementos","STREAM_NOT_SUPPORTED":"La transmisión seleccionada no es soportada en esta plataforma.","ADDON_CATALOGUE":"Mostrar todos los complementos »","ADDON_CATALOGUE_MORE":"Instalar complementos","REPO_ADDED":"Repositorio agregado","ADDON_REPO_EXIST_ERR":"Este repositorio de complementos ya existe","ADDON_REPO_ERR":"Error ocurrido mientras agregaba repositorio","ADDON_ADD_ERR":"Error agregado mientras agregaba complemento","ERR_ADDON_PROTECTED":"No puedes desinstalar este complemento, esta protegido","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Algo ha salido mal - la autenticación pudo haber fallado","ERR_NOT_COLLECTION_URL":"No es una URL de colección","ERR_NOT_ADDON_URL":"No es una URL de complemento","ERR_DETECTFROMURL":"No se puede encontrar un complemento o coleccion desde esta URL","ADDON_DUPLICATE_WARNING":"Advertencia: complemento duplicado","ADDON_COLLECTION_SET_FAILED":"La sincronización de los complementos instalados en tu cuenta ha fallado","SETTINGS_DATA_EXPORT":"Exportar datos de usuario","ADDON_PULL_FAILED":"La sincronización de los complementos instalados desde tu cuenta ha fallado","REFRESH_ON_CLICK":"Hacer clic para intentarlo de nuevo","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Película aún en cines","WATCH_IN_CINEMA":"Véalo en su cine favorito","IN_THEATER":"En el cine","GET_TICKETS":"Conseguir entradas","UPCOMING_EPISODE":"Próximo episodio","UPCOMING_EPISODE_MESSAGE":"El próximo episodio se emitirá el","MISSING_DATE_EPISODE":"No existe la fecha de este episodio","MISSING_DATE_EPISODE_MESSAGE":"Es posible que este episodio no se haya emitido todavía","CHANNEL_NOT_SCRAPED":"Este canal aún no está habilitado.
    Por favor, vuelve en unos minutos.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Añádelo a tu biblioteca para ser notificado una vez que esté disponible.","GET_NOTIFIED_WHEN_AVAILABLE":"Recibirá una notificación cuando esté disponible.","WARNING_STREAMING_SERVER":"Advertencia: Servidor de transmisión local no encontrado. La transmisión desde archivos locales, YouTube y BitTorrent no estará disponible.","WARNING_STREAMING_SERVER_DISMISS":"Descartar","WARNING_STREAMING_SERVER_LATER":"Después","DECODER_WARNING":"Advertencia: este video podría no ser soportado por su hardware. Tenga en cuenta que la reproducción podría ser lenta.","GENERIC_ERROR_MESSAGE":"¡Algo salió mal!","TRY_AGAIN":"Intentar nuevamente","CLEAR_DATA":"Limpiar datos","PLAYER_ERROR":"Ups!, ha ocurrido un error en el reproductor","PLAYER_ERROR_LOOKSLIKE":"Parece que","PLAYER_ORIENTATION":"Orientación del reproductor","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Bloqueada","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Orientación del reproductor está bloqueada en modo horizontal","PLAYER_ORIENTATION_SENSOR":"Orientación del reproductor automática (sensor)","PLAYER_PLAYBACK_SPEED":"Velocidad de reproducción","PLAYER_PLAYBACK_ERROR":"Error de reproducción, por favor inténtalo de nuevo","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Error desconocido","PLAYER_PLAYBACK_ERROR_DEFAULT":"Lo sentimos, este video no puede ser reproducido por {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Idiomas de los subtítulos","PLAYER_SUBTITLES_VARIANTS":"Variantes de subtítulos","PLAYER_SUBTITLES_SETTINGS":"Configuración de subtítulos","PLAYER_SUBTITLES_DISABLED":"Los subtítulos están deshabilitados","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posición vertical","PLAYER_SUBTITLES_LOADED":"Subtitulos cargados","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Subtitulos incrustados cargados","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Subtitulos exclusivos cargados","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitulos desde {{origin}} cargados","PLAYER_PLAY":"Reproducir","PLAYER_PAUSE":"Pausa","PLAYER_NEXT_VIDEO":"Siguiente vídeo","PLAYER_MUTE":"Silenciar","PLAYER_UNMUTE":"Activar sonido","PLAYER_OPEN_IN_EXTERNAL":"Abrir en reproductor externo","PLAYER_OPEN_IN_NPLAYER":"Abrir en nPlayer","PLAYER_PLAY_IN":"Reproducir en {{device}}","PLAYER_LIVE":"En vivo","PLAYER_NEXT_VIDEO_TITLE":"A continuación en","PLAYER_NEXT_VIDEO_TITLE_SHORT":"A continuación","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Descartar","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Ver ahora","PLAYER_COPY_STREAM_SUCCESS":"El enlace de la transmisión se copió en tu portapapeles.","PLAYER_COPY_STREAM_ERROR":"No se pudo copiar el enlace de la transmisión","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"El enlace de descarga fue copiado a tu portapapeles","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Error al copiar enlace de descarga","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Transmitiendo desde","CASTING_TO":"Transmitiendo a","NETWORK_STATUS":"Estado de la red","STREAM_SPEED":"Velocidad de la transmisión:","STREAM_BUFFERED":"Almacenado:","PEERS_INFO":"Información de pares","PEERS_ACTIVE":"Activos:","PEERS_CONNECTED":"Conectados:","PEERS_WAITING":"Esperando:","TRANSCODING_WARNING":"Alerta: transcodificando video.","STREAM_LOADING":"cargando...","PLAYING_LOCAL":"reproduciendo desde archivo local","PLAYING_CACHE":"reproduciendo desde la memoria caché","WRONG_SUBS":"¿Subtítulos erróneos?","ERR_SUBS_LOADING_TITLE":"Error cargando subtítulos","ERR_SUBS_LOADING":"Error al cargar los subtítulos: esto podría ser un problema con el complemento que está utilizando o con su conexión de internet","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Los siguientes complementos de subtítulos fallaron","ERR_CASTING_UPDATE_TITLE":"No se pudo actualizar la información del dispositivo de transmisión: el servidor de transmisión puede estar fuera de línea","CHOOSE_DEVICE":"Elija un dispositivo para ver","NO_CAST_DEVICES":"No hay dispositivos de transmisión disponibles.","NO_SETTINGS":"No hay configuraciones disponibles.","NO_OPTIONS":"No options available","PHONE_TABLET":"Móvil / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtítulos","SUBTITLES_CHANGE":"Cambiar subtítulos por ","SUBTITLES_CHANGE_NONE":"Lo siento, no hay otros subtítulos para este idioma.","SUBTITLES_CHANGE_ACIVE":"Actualmente los subtítulos #{{subtitlesDialog.activeIdx + 1}} están activados. Haga clic en \\"Continuar\\" para activar los subtítulos #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativamente,","SUBTITLES_ADJUST_DELAY":"Ajuste de retraso de subtítulos:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"O utilice las teclas G / H durante la reproducción para ajustar.","SUBTITLES_ADJUST_DELAY_TIP":"Nota: Puede usar las teclas G / H durante la reproducción para ajustar.","SUBTITLES_DELAY":"Retraso de subtítulos:","SUBTITLES_LOADING":"Cargando subtítulos...","SUBTITLES_UNAVAILABLE":"No hay subtítulos externos disponibles","SUBTITLES_DISABLED":"Desactivado","EXTERNAL_PLAYER_DISABLED":"Desactivado","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permitir elegir","EXTERNAL_PLAYER_HINT":"Consejo: Existe una configuración que permite abrír siempre con un reproductor externo","DONT_SHOW_AGAIN":"No mostrar de nuevo","SERVICE_INSTALL":"Instalar","AUDIO":"Audio","DEFAULT_LANGUAGE":"Idioma por defecto","DEFAULT_SECONDARY_LANGUAGE":"Idioma secundario por defecto","SEASON":"Temporada","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episodio","EPISODE_ABBREVIATION":"EP","SPECIAL":"Especial","SORT":"ordenar","SORT_BY":"Ordenar por","FILTER":"filtrar","SORT_TRENDING":"tendencias","SORT_RECENT":"reciente","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"calificación","SORT_WATCHED":"visto","SORT_YEAR":"año","SELECT":"Select","SELECT_TYPE":"Seleccionar tipo","SELECT_SORT":"Seleccionar orden","SELECT_CATALOG":"Seleccionar catálogo","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Seleccionar género","SORT_LASTWATCHED":"Por último visto","SORT_NAME":"Por nombre","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Por veces vista","SORT_NOTWATCHED":"not watched","New for You":"Nuevo para ti","New Episodes":"Nuevos Episodios","New Videos":"Nuevos Videos","Recommendations":"Recomendaciones","LIBRARY_RESUME":"Reanudar","LIBRARY_PLAY":"Reproducir","LIBRARY_DETAILS":"Detalles","LIBRARY_RESUME_DISMISS":"Descartar","LIBRARY_CLEAR_PROGRESS":"Limpiar progreso","LIBRARY_REMOVE":"Eliminar","LIBRARY_NOT_LOGGED_IN":"La biblioteca sólo está disponible para usuarios conectados","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"El calendario sólo está disponible para usuarios conectados","NOT_LOGGED_IN_CLOUD":"Acceda a sus películas y programas de televisión favoritos en cualquier momento y lugar","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomendaciones personalizadas basadas en tu historial de visualización","NOT_LOGGED_IN_NOTIFICATIONS":"No vuelva a perderse un episodio","NOT_LOGGED_IN_CALENDAR":"Programe su calendario de visualización personal","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Destacado","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Ganadores del Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Esta extensión no retornó contenido.","DISCOVER_ADULT_WARNING":"El contenido es visible solo para adultos. ¿Eres mayor de 18 años?","DISCOVER_NOADDON_WARNING":"Advertencia: no hay un complemento de Stremio activo para este tipo. Se muestran elementos guardados, nada aquí se actualizará","DISCOVER_LOAD_ERR":"El contentido no se cargó, ocurrió un error.","DISCOVER_ADDON_UNINSTALLED":"Este contenido ya no está disponible, es posible que hayas desinstalado el complemento.","UNINSTALL_THIS_ADDON":"Desinstalar este complemento","ERR_ADDON_NOT_INSTALLED":"Este complemento no está instalado. ¿Instalar ahora?","DETAIL_RECEIVE_NOTIF_SERIES":"Recibir notificaciones de nuevos episodios","DETAIL_RECEIVE_NOTIF_VIDEOS":"Recibir notificaciones de nuevos videos","SIDEBAR_SHOW_STREAMS":"Mostrar transmisiones","RELAUNCH":"¡Relanzar ahora!","UPGRADE":"¡Una nueva versión está disponible! Actualiza a la versión más reciente de Stremio","RELOAD_UI":"Recargar la interfaz de usuario","MANUAL_UPDATE_TITLE":"Actualice su versión de Stremio","MANUAL_UPDATE_LINE1":"Está ejecutando una versión desactualizada de Stremio lo cual no se recomienda.","MANUAL_UPDATE_LINE2":"Por favor, actualice lo antes posible.","BUTTON_UPDATE_LATTER":"Ahora no","BUTTON_UPDATE_NOW":"Actualizar","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Usuario anónimo","DONT_HAVE_ACC":"¿No tienes una cuenta?","HAVE_ACC":"¿Ya tiene una cuenta?","PASSWORD":"Contraseña","PASSWORD_CONFIRM":"Confirme su contraseña","EMAIL":"Correo electrónico","FB_LOGIN":"Continuar con Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nada será compartido sin su permiso","FB_NOPOST":"No publicaremos nada en su nombre","OR":"o","I_ACCEPT":"Yo acepto los","I_ACCEPT_BY_CLICKING":"Al hacer clic en el botón de arriba testifico que acepto los ","TOS":"Términos y Condiciones","MUST_ACCEPT_TERMS":"Debes aceptar los términos","PASSWORDS_NOMATCH":"Las contraseñas no coinciden","SIGN_UP":"Regístrate","SIGN_UP_EMAIL":"Regístrese con un correo electrónico","CLICK_TO_SIGN_UP":"Clic aquí para registrarse.","LOG_IN":"Iniciar sesión","LOG_OUT":"Cerrar sesión","EXIT_FULLSCREEN":"Salir de modo pantalla completa","ENTER_FULLSCREEN":"Entrar en modo pantalla completa","PLAY_URL_MAGNET_LINK":"Reproducir URL/enlace magnético","HELP_FEEDBACK":"Ayuda y retroalimentación","TERMS_OF_SERVICE":"Términos del servicio","PRIVACY_POLICY":"Política de privacidad","ABOUT_STREMIO":"Sobre Stremio","USER_PANEL":"Panel de usuario","LOGIN_LABEL":"Acceder","GUEST_LOGIN":"Acceder como invitado","GUEST_LOGIN_NOTICE":"Acceder como invitado no es recomendable. Ingresar con tu cuenta le permite a Stremio sincronizar tu Biblioteca y recibir notificaciones para tus series/canales favoritos. ¿Estás seguro de que quieres continuar?","GUEST_LOGIN_NOTICE_2":"Acceder como invitado no es recomendable - no se sincronizaran las notificaciones de la Biblioteca y el Panel, que son carácterísticas vitales de Stremio. ¿Seguro que desea continuar?","CLICK_HERE":"clic aquí","WRONG_PASSWORD":"Correo electrónico y/o contraseña incorrectos. En caso de que haya olvidado su contraseña, ","SET_A_PASS":"establecer una contraseña","RESET_PASSWORD":"Restablecer contraseña","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"¿Olvidaste tu contraseña?","EMAIL_USED_WITH_FB":"Este correo electrónico ya fue utilizado con un inicio de sesión de Facebook.","INVALID_EMAIL":"Por favor, ingrese un correo electrónico válido","INVALID_PASSWORD":"Por favor, ingrese una contraseña válida","CONN_ERR":"Error de conexión - por favor, inténtelo de nuevo más tarde.\\n\\nSi esto persiste, desactivar programas cortafuegos / antivirus (especialmente Bitdefender).","IMPORT_FROM_GUEST":"Importar Biblioteca desde su cuenta de invitado","RECEIVE_UPDATES_EMAIL":"Recibe novedades de Stremio en tu correo electrónico","LOGIN_FAILED":"Error al iniciar sesión.","SIGNUP_FAILED":"Error al registrarse.","SEARCH_FAILED":"Error al buscar","EMAIL_USED":"Este correo electrónico ya está en uso.","WAITING_FB_LOGIN":"Iniciando sesión con Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Reproducir en reproductor externo","EXTERNAL_REMEMBER_PLAYER":"¿Quieres recordar tu elección?","EXTERNAL_ALWAYS_PLAY":"Si","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Mejor Ajuste","FIT_SCREEN":"Ajustar a la pantalla","FILL":"Rellenar","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Cuéntanos de tus gustos","INTRO_TASTE_LONG":"Cuéntanos que te gustaría ver","INTRO_TASTE_PICK":"Selecciona {{interestsRemaining}} intereses","INTRO_TASTE_PICK_MORE":"Selecciona {{interestsRemaining}} más intereses","INTRO_TASTE_HELP_US":"Ayúdanos a saber más de ti.","INTRO_TASTE_CHOOSE_THESE":"Escoge algunos de estos:","INTRO_TASTE_CHOOSE_MIN":"Escoge al menos 3 categorías","INTRO_TASTE_CHOOSE_MIN_ERR":"¡Tienes que seleccionar al menos 3 categorías!","INTRO_TASTE_LIFESTYLE":"Estilo de vida","INTRO_TASTE_SPORTS":"Deportes","INTRO_TASTE_FOOD_HEALTH":"Comida y Salud","INTRO_TASTE_BEAUTY_FASHION":"Belleza y Moda","INTRO_TASTE_NEWS":"Noticias","INTRO_TASTE_GAMING":"Juegos","INTRO_TASTE_SCIENCE_EDU":"Ciencia y Educación","INTRO_TASTE_MUSIC":"Música","INTRO_TASTE_TRAVEL":"Viajes","INTRO_TASTE_LATE_NIGHT":"Espectáculo nocturno","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedia","INTRO_TASTE_DIY":"Hazlo tú mismo","INTRO_TASTE_TECH":"Tecnología","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"El complemento seleccionado no es soportado en esta plataforma.","ADDON_DISCLAIMER":"El uso de complementos siempre estarán sujetos a su responsabilidad y la ley de gobierno de la jurisdicción en que te encuentres.","ADDON_ACTIVATE":"¿Activar este complemento?","ADDON_REPO_ADD":"URL del repositorio de complementos","ADDON_ADD":"Agregar","INSTALL_ADDON":"Instalar extensión","ADD_ADDON":"Agregar complemento","ADD_ADDON_DESCRIPTION":"Puedes agregar un complemento a través de un enlace externo, que aparecerá en complementos instalados.","PASTE_ADDON_URL":"Pegar enlace de complemento","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Qué hay de nuevo","BUTTON_CONTINUE":"Continuar","BUTTON_ACTIVATE":"Activar","BUTTON_ACTIVATED":"Activado","BUTTON_CANCEL":"Cancelar","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Enviar","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Descartar todo","BUTTON_VIEW_ALL":"ver todo","BUTTON_SEE_ALL":"Ver Todo","BUTTON_COLOR_TRANSPARENT":"Transparente","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Abrir en el navegador","LIB_EMPTY":"Su biblioteca se ve vacía. Averigüe lo útil que es :) ","HOW_START":"Así es cómo puedes empezar:","LIB_EMPTY_CAL":"Su calendario muestra series en su Biblioteca.","HOW_START_CAL":"Así es como se puede agregar series:","LIB_EMPTY_BOARD":"El Panel muestra notificaciones y recomendaciones relacionadas con su Biblioteca.","HOW_START_BOARD_WAIT":"Por favor, añada algunas series o canales a su Biblioteca y denos unos minutos para procesarlo :)","HOW_START_BOARD":"Así es como se puede agregar series y películas a la misma:","IMPORT_FB":"Importa cosas que te gustan desde Facebook","IMPORT_TRAKT":"Importa tu biblioteca multimedia de Trakt","IMPORT_DISCOVER":"Encontrar cosas interesantes de Descubrir","IMPORT_DISK":"Importar películas o series que tiene en su disco local","PLEASE_CREATE_ACC":"Por favor crea una cuenta para activar la sincronización de la Biblioteca y Panel.","IMPORT_DISCOVER_SIGNUP":"Regístrate y encuentra cosas interesantes en Descubrir","IMPORT_DISK_SIGNUP":"Regístrate e importa películas o series desde tu disco local","LIB_EMPTY_CLOUD":"Biblioteca en la nube","LIB_EMPTY_CLOUD_DESC":"Biblioteca en la nube personal y sincronizada con todos los dispositivos","LIB_EMPTY_EARLY":"Acceso temprano","LIB_EMPTY_EARLY_DESC":"Recibir notificaciones de nuevos episodios","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Obtener recomendaciones personalizadas","LIB_EMPTY_CALENDAR_DESC":"Programe su calendario de visualización personal","LIB_EMPTY_ALL":"Regístrese para obtener todo esto:","LIB_EMPTY_BEST":"Regístrese para obtener lo mejor de Stremio","LIB_EMPTY_OTHER":"Regístrese para habilitar el Calendario y otras excelentes características","CALENDAR_ADDED":"El calendario de Stremio ha sido agregado a su calendario de escritorio por defecto.","CALENDAR_ADDED_MSG":"Si esto no funciona, por favor agregue esta URL manualmente a su aplicación de calendario","TRAKT_EXPIRED":"La autenticación de Trakt expiró, vaya a Configuración y vuelva a autenticar","TRAKT_REQUIRES_LOGIN":"Error de Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Necesitas iniciar sesión","TRAKT_IMPORT_WATCHED":"Importar","THEME":"Tema","THEME_DEFAULT":"Por defecto","THEME_ADAPTIVE":"Adaptativo","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Configuración","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Reproductor","SETTINGS_NAV_STREAMING":"Transmisión","SETTINGS_NAV_SHORTCUTS":"Atajos","SETTINGS_SHORTCUT_RELOAD_APP":"Recargar Aplicación","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Abrir Configuración","SETTINGS_SHORTCUT_SWITCH_TABS":"Cambiar Pestañas","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Desplazarse por las Pestañas hacia Adelante","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Desplazarse por las Pestañas hacia Atrás","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navegar entre Menús","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Ir a Buscar","SETTINGS_SHORTCUT_EXIT_BACK":"Salir / Regresar","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Alternar el menú de velocidad de reproducción","SETTINGS_SHORTCUT_MENU_VIDEOS":"Alternar menú de videos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Alternar menú de subtítulos","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Alternar menú de información","SETTINGS_SHORTCUT_FULLSCREEN":"Alternar Pantalla Completa","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostrar Controles","SETTINGS_SHORTCUT_PLAY_PAUSE":"Reproducir / Pausar","SETTINGS_SHORTCUT_VOLUME_UP":"Subir Volumen","SETTINGS_SHORTCUT_VOLUME_DOWN":"Bajar Volumen","SETTINGS_SHORTCUT_SEEK_NEXT":"Buscar Siguiente","SETTINGS_SHORTCUT_SEEK_PREV":"Buscar Previo","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Buscar hacia atrás","SETTINGS_SHORTCUT_SEEK_FORWARD":"Buscar hacia adelante","SETTINGS_SHORTCUT_PLAY_NEXT":"Reproducir Siguiente","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Aumentar Tamaño del Subtítulo","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Reducir Tamaño del Subtítulo","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Aumentar Retraso del Subtítulo","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Reducir Retraso del Subtítulo","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Alternar Menu Lateral","SETTINGS_SHORTCUT_OR":"o","SETTINGS_SHORTCUT_TO":"a","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Espacio","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticar","SETTINGS_FACEBOOK_IMPORT":"Importar","SETTINGS_CALENDAR_SUBSCRIBE":"Suscribir","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Lenguaje de interfaz","SETTINGS_LAUNCH_STARTUP":"Abrir cuando arranque el equipo","SETTINGS_VLC_DEFAULT":"Reproducir con VLC","SETTINGS_UI_LANGUAGE":"Idioma de la interfaz de usuario","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Tecla de escape para salir del modo pantalla completa","SETTINGS_GAMEPAD":"Habilitar soporte para mando","SETTINGS_CLOSE_WINDOW":"Cerrar la aplicación cuando se cierra la ventana","SETTINGS_SUBTITLES_LANGUAGE":"Idioma de subtítulos predeterminado","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Tamaño de subtítulos predeterminado","SETTINGS_SUBTITLES_BACKGROUND":"Fondo de subtítulos","SETTINGS_SUBTITLES_COLOR":"Color de subtítulos","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Color del contorno de los subtítulos","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Color de fondo de los subtítulos","SETTINGS_SEEK_KEY":"Tiempo de búsqueda de las teclas de flecha","SETTINGS_SEEK_KEY_SHIFT":"Tiempo de búsqueda de las teclas de flecha cuando se mantiene la tecla Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Duración de rebobinado y avance rápido","SETTINGS_BINGE":"Comenzar automáticamente el siguiente episodio","SETTINGS_NEXT_VIDEO":"Mostrar notificación para que comience el siguiente episodio","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostrar la notificación de próximo episodio para:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Duración de la ventana emergente del siguiente video","SETTINGS_PLAY_IN_BACKGROUND":"Reproducir en segundo plano","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Reproducir en un reproductor externo","SETTINGS_RESIZE":"Ajustar ventana automáticamente antes de reproducir","SETTINGS_OVERRIDE_SERVER":"Anular la URL del servidor de transmisión (avanzado)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"URL del servidor de transmisión ","SETTINGS_SERVER_AVAILABLE":"El servidor de transmisión está disponible.","SETTINGS_SERVER_UNAVAILABLE":"El servidor de transmisión no está disponible.","SETTINGS_SERVER_STATUS_ONLINE":"En linea","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurar enlace del servidor de transmisión","SETTINGS_SERVER_CONFIGURE_INPUT":"Ingrese enlace del servidor de transmisión","SETTINGS_SERVER_CACHE_SIZE":"Tamaño de caché","SETTINGS_SERVER_TORRENT_PROFILE":"Perfil de torrent","SETTINGS_HTTPS_ENDPOINT":"Punto final HTTPS de transmisión: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Utilice siempre la última Beta","SETTINGS_IMPORT_FB":"Importar desde Facebook","SETTINGS_IMPORT_DISK":"Importar desde el disco local","SETTINGS_IMPORT_TRAKT":"Importar desde Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausar la reproducción cuando se minimiza","SETTINGS_HWDEC":"Decodificación acelerada por hardware","SETTINGS_BACKGROUND":"Reproducción de fondo","SETTINGS_SUBSCRIBE_CALENDAR":"Suscribirse al calendario","SETTINGS_REQ_EXPORT":"Solicitar mis datos","SETTINGS_ACC_DELETE":"Eliminar mi cuenta","SETTINGS_CHANGE_PASSWORD":"Cambiar contraseña","SETTINGS_TOS":"Términos de servicio","SETTINGS_SUPPORT":"Soporte","SETTING_LANGUAGE":"Idioma","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Seguimiento con Trakt","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Salir de Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Salir de Trakt","SETTINGS_SCAN_FOR_REMOTE":"Escanear código QR para abrir el control remoto","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificaciones de escritorio","SETTINGS_DATA_SAVER":"Ahorrador de datos","SETTINGS_LANGUAGE_INTERFACE":"interfaz","SETTINGS_LANGUAGE_SUBS":"Subtítulos por defecto","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoseleccionar Pista de Audio","SETTINGS_DEFAULT_AUDIO_TRACK":"Pista de Audio por defecto","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"cuenta","SETTINGS_PLATFORM":"Plataforma","SETTINGS_VERSION":"versión","SETTINGS_ABOUT":"Acerca de","SETTINGS_MPV_WINDOW":"Abrir reproductor en una ventana separada (avanzado)","SETTINGS_PLAY_IN_EXTERNAL":"Iniciar siempre el video en un reproductor externo","SETTINGS_STORAGE_BUTTON":"Borrar almacenamiento local","SETTINGS_STORAGE_MODAL_TITLE":"¿Está seguro?","SETTINGS_STORAGE_MODAL_MESSAGE":"Esta opción borrará el almacenamiento local y terminará su sesión.","SETTINGS_HWDEC_PICKER":"Selecciona la configuración de decodificación acelerada por hardware","SETTINGS_HW_AUTOMATIC":"Automático","SETTINGS_HW_DISABLED":"Deshabilitada","SETTINGS_HW_ACCELERATED":"Decodificación Acelerada","SETTINGS_HW_FULL":"Aceleración Completa","SETTINGS_HW_LEGACY":"Legado","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL remota","SETTINGS_COPY_REMOTE_URL":"Copiar URL remota","SETTINGS_REMOTE_URL_COPIED":"La URL remota fue copiada a tu portapapeles","SETTINGS_SECTION_SUBTITLES":"Subtítulos","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controles","SETTINGS_SECTION_AUTO_PLAY":"Reproducción automática","SETTINGS_SECTION_ADVANCED":"Avanzado","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Subtítulos de complementos","SUBSPICKER_BLACK_BACKGROUND":"Usar color de fondo negro","SUBSPICKER_VERTICAL_OFFSET":"Desplazamiento Vertical","SUBSPICKER_SIZE":"Tamaño","SUBSPICKER_DELAY":"Retraso","SUBSPICKER_EMBEDDED_SUBS":"Subtítulos Embebidos","MOBILE_PRIVACY_POLICY":"Política de Privacidad","MOBILE_CRASH_REPORTING":"Reporte de Errores","MOBILE_ZOOM_TO_FILL":"Aumentar para Rellenar la Pantalla","MOBILE_PASSTHROUGH":"Salida de audio digital (passthrough)","MOBILE_RUN_LOW_BATTERY":"Ejecutar con batería baja","MOBILE_RUN_FOREGROUND":"Ejecutar en segundo plano","MOBILE_PERFORMANCE":"Rendimiento y Estabilidad","MOBILE_SERVER_ONLINE":"En Línea","MOBILE_SERVER_OFFLINE":"Desconectado","MOBILE_QR_EXPIRES":"El Código QR expira en ","MOBILE_LOG_INTO":"Iniciar sesión en tu cuenta de Stremio ","MOBILE_SCAN_QR":"Escanea el Código QR de arriba o visita ","MOBILE_LINK_ACCOUNT":"Asociar Cuenta","MOBILE_SPEEDPICKER_CANCEL":"Cancelar","MOBILE_SPEEDPICKER_LABEL":"Seleccionar Velocidad de Reproducción","MOBILE_EMPTY_LIBRARY":"Tu Biblioteca está vacía","MOBILE_NO_ADDON_ACTIVE":"No hay complemento de Stremio activo para este tipo.","MOBILE_ORGANIZER_WARNING":"La aplicación Stremio Organizer proporciona una funcionalidad limitada. Para obtener una lista de transmisiones reproducibles y la experiencia completa de Stremio, use Stremio en el escritorio.","MOBILE_ADDON_LOADING":"todavía está cargando","MOBILE_ADDONS_LOADING":"los complementos aún se están cargando","MOBILE_ADDON":"Complemento","MOBILE_CONFIGURE_ADDON":"Configura tu complemento","MOBILE_CONFIGURE_ADDON_LABEL":"Configurar Complemento","MOBILE_ORGANIZER_ADDONS_WARNING":"La aplicación Stremio Organizer ofrece una selección limitada de complementos. Para disfrutar de la experiencia completa de Stremio, use Stremio en el escritorio.","MOBILE_DISCONNECT":"Desconectar","MOBILE_LOOKING_FOR_DEVICES":"Buscando dispositivos...","MOBILE_CAST_TO":"Emitir a","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Eliminar cuenta","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"La eliminación de la cuenta no es instantánea debido a obligaciones legales. Después de solicitar la eliminación de su cuenta, tendrá que utilizar un correo electrónico/perfil de Facebook diferente para crear una nueva cuenta de Stremio","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmar eliminación de la cuenta","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Su cuenta ha sido creada usando Facebook. Para eliminar su cuenta, utilice nuestro portal de usuario en www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Proporcione su contraseña para confirmar la eliminación de su cuenta.","MOBILE_DELETE_ACCOUNT_BUTTON":"Eliminar cuenta","NAVIGATION_ON":"Encendido","NAVIGATION_OFF":"Apagado","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Acepto recibir comunicaciones de marketing de Stremio","QUIT":"Salir","CONNECTED":"Conectado","AUTHENTICATE":"Autenticar","AUTHENTICATING":"Authenticating...","CACHING":"Almacenamiento en caché","SETTINGS_CACHING_DRIVE":"Seleccione la unidad de almacenamiento en caché","ENABLE_LOCAL_FILES_ADDON":"Habilite el complemento de archivos locales (requiere reiniciar)","LOCAL_ADDON_NOT_ENABLED":"El complemento local no está habilitado. Haga clic aquí para ir a la configuración y habilitarlo","ENABLE_REMOTE_HTTPS_CONN":"Habilitar conexiones HTTPS remotas","TORRENT_PROFILE":"Perfil de Torrent","DATA_CACHING":"Caché almacenada","MAGNET_PARSING":"Analizando un enlace magnético","January":"Enero","February":"Febrero","March":"Marzo","April":"Abril","May":"Mayo","June":"Junio","July":"Julio","August":"Agosto","September":"Septiembre","October":"Octubre","November":"Noviembre","December":"Diciembre","Monday":"Lunes","Tuesday":"Martes","Wednesday":"Miércoles","Thursday":"Jueves","Friday":"Viernes","Saturday":"Sábado","Sunday":"Domingo","Action":"Acción","Comedy":"Comedia","War":"Guerra","Family":"Familia","Animation":"Animación","Adventure":"Aventura","Fantasy":"Fantasía","Crime":"Crimen","Mystery":"Misterio","Romance":"Romántico","Drama":"Drama","Horror":"Terror","Thriller":"Suspenso","Sci-Fi":"Ciencia ficción","Music":"Música","Biography":"Biografía","Documentary":"Documental","Sport":"Deporte","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Noticias","History":"Historia","Game-Show":"Programa de juegos","Reality-TV":"Reality shows","Talk-Show":"Programa de entrevistas","Film & Entertainment":"Cine y Entretenimiento","Gaming":"Juegos","From TV":"De la televisión","Lifestyle":"Estilo de vida","Science & Education":"Ciencia y Educación","Cooking & Health":"Cocina y Salud","Beauty & Fashion":"Belleza y Moda","Sports":"Deportes","News & Politics":"Noticias y Política","How-to & DIY":"Cómo hacer y bricolaje","Tech":"Tecnología","Automotive":"Automotores","Causes & Non-Profits":"Causas y Fines de Lucro","Movies":"Películas","Uk Live Tv":"TV británica en vivo","Fashion":"Moda","Business News Radio":"Noticias de negocios - Radio","Business Tv":"Negocios TV","Cars & Auto":"Autos","Comedy Radio":"Comedia - Radio","Lifestyle Radio":"Estilo de vida - Radio","News Tv":"Noticias TV","Food And Wine":"Comida y Vino","Latino Tv":"Latino TV","Shopping Tv":"Compras TV","Religion":"Religión","Kids":"Niños","Body & Soul":"Cuerpo y Alma","Education":"Educación","Indian Tv":"India TV","Extreme Sports":"Deportes extremos","Middle Eastern Tv":"Medio oriente TV","Celebrity Tv":"Celebridades TV","Science Tv":"Ciencia TV","Bikini babe":"Bikini babe","Outdoors":"Al aire libre","German Tv":"TV alemana","French Tv":"TV francesa","Italian Tv":"TV italiana","Gamer Tv":"TV Videojuegos","Travel":"Viajes","Asian Tv":"TV asiática","Entertainment":"Entretenimiento","News Radio":"Noticias - Radio","Music Radio":"Música - Radio","Language Learning":"Aprendizaje de idiomas","Science Radio":"Ciencia - Radio","Tech Radio":"Tecnología - Radio","Science & Technology Vod":"Ciencia y Tecnología VBD","new video":"nuevo video","new episode":"nuevo episodio","new movie":"nueva película","recommended":"recomendado","we recommend":"recomendamos","offer of the day":"oferta del día","news":"noticias","music video":"vídeo musical","CTX_SHOW_HOTKEYS":"Mostrar teclas de acceso rápido","CTX_DISMISS_NOTIF":"Descartar notificaciones","CTX_DISMISS_ALL":"Descartar todo","CTX_SHARE":"Compartir","CTX_COPY_SHARE_LINK":"Copiar enlace para compartir","CTX_COPY_MAGNET_LINK":"Copiar enlace magnético","CTX_COPY_STREAM_LINK":"Copiar enlace de la transmisión","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copiar enlace de descarga del video","CTX_DOWNLOAD_VIDEO":"Descargar este vídeo","CTX_DOWNLOAD_SUBS":"Descargar subtítulos","CTX_VIEW_ON_YOUTUBE":"Ver en YouTube","CTX_SHOW":"Mostrar","CTX_PLAY":"Reproducir","CTX_PLAY_IN":"Reproducir aquí","CTX_PLAY_ON":"Reproducir en","CTX_WATCH_ON":"Ver en","CTX_WATCH":"Ver","CTX_WATCHED":"Visto","CTX_WATCH_BEGINNING":"Mirar desde el principio","CTX_WATCH_MOBILE":"Ver en un dispositivo móvil","CTX_REWIND":"Retroceder al comienzo","CTX_MARK_WATCHED":"Marcar como visto","CTX_MARK_NON_WATCHED":"Marcar como no visto","CTX_MARK_UNWATCHED":"Marcar como no visto","CTX_MARK_REST":"Marcar el resto como visto","CTX_UNMARK_REST":"Marcar el resto como no visto","CTX_RECEIVE_NEW_NOTIF":"Recibir notificaciones nuevas","CTX_ENABLE_NEW_NOTIF":"Habilitar notificaciones","CTX_DISABLE_NEW_NOTIF":"Deshabilitar notificaciones","CTX_REMOVE_CACHE":"Eliminar de caché","CTX_REMOVE_CACHE_EP":"Eliminar el episodio de la memoria caché","CTX_OPEN_CONTAINING":"Abrir carpeta contenedora","CTX_REMOVE":"Eliminar de la Biblioteca","CTX_AVAILABLE_OFFLINE":"Disponible sin conexión","CTX_PAUSED":"Pausado","CTX_ALWAYS_ON_TOP":"Siempre en la parte superior","CTX_FULLSCREEN":"Pantalla completa","CTX_WRONG_SUBS":"¿Subtítulos erróneos?","CTX_REPORT_ISSUES":"Reportar un problema","CTX_COPY":"Copiar","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Pegar","CTX_CLEAR":"Limpiar","CTX_CLEAR_RECENT_SEARCHES":"Borrar búsquedas recientes","HELLO_THERE":"Hola","HOPE_YOU_ENJOY":"¡Esperamos que disfrute de Stremio y sea una de sus aplicaciones favoritas!","WHO_ARE_WE":"¿Quiénes somos? Somos el equipo detrás de ella
    dos chicos que trabajan duro todos los días durante los últimos 3 años, con un único objetivo
    para hacer este producto cada vez mejor.","SUPPORT_US":"Si disfrutas usando Stremio, si Stremio es valioso para ti - apóyanos!","SPREAD_THE_WORD":"Comparte con tus amigos ahora, corre la voz sobre Stremio","MORE_PEOPLE":"Cuantas más personas usen Stremio, mejor será","SEND_A_LINK":"O envía un enlace de nuestro sitio web","TIP_LOCALFILES":"Consejo: puede arrastrar y soltar archivos de vídeo locales en Stremio","ADDON_MY":"Mis complementos","ADDON_COMMUNITY":"Complementos de la comunidad","ADDON_OFFICIAL":"Complementos oficiales","ADDON_REPOS":"Repositorios de complementos","ADDON_SEARCH":"Buscar complementos","ADDON_INSTALL":"Instalar","ADDON_CONFIGURE":"Configurar","ADDON_UNINSTALL":"Desinstalar","ADDON_UPGRADE":"Actualizar","ADDON_INSTALLED":"Instalado","ADDON_INSTALLED_MSG":"¡Complemento instalado!","ADDON_UPGRADED_MSG":"¡Complemento actualizado!","ADDON_UNKNOWN":"Desconocido","ADDON_ERR":"¡Error instalando complemento!","ADDON_DISCONNECTED":"Desconectado","ADDON_APP_MISSING":"la aplicación para este recurso no está instalada. ¿Quieres instalarla ahora?","ADDON_APP_INSTALL":"Instalar ahora","ADDON_PAGE":"Página del complemento","ADDON_TOP_CONTENT":"Lo mejor de este complemento","ADDON_PROVIDES":"Este complemento le proporciona:","ADDON_WATCH":"¡Ver #{types} ahora!","ADDON_WATCH_FREE":"¡Ver #{types} de forma GRATUITA ahora!","ADDON_ADDON":"Complemento","ADDON_SUPPORTED_TYPES":"Tipos compatibles","ADDON_SUPPORTED_CATALOGS":"Catálogos compatibles","ADDON_PROVIDES_DISCOVER":"Más #{types} en Descubrir","ADDON_PROVIDES_STREAMS":"Ver #{types}","ADDON_PROVIDES_STREAMS_FREE":"Ver #{types} de forma GRATUITA","ADDON_PROVIDES_SUBTITLES":"Subtítulos #{types}","ADDON_CANTDETECT":"No hemos podido detectar un Stremio en ejecución, así que no pudimos detectar qué complementos tiene instalado.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No se encontró información sobre esto ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error al recuperar información sobre esto.","ERR_CANT_PARSE_MAGNET":"Incapaz de analizar enlace magnético","ERR_NO_MAGNET_INFOHASH":"Código hash inválido para enlace magnético","ERR_NO_FILE_PATH":"Incapaz de enviar solicitud sin una ruta de archivo","ERR_NO_TORRENT":"No se devolvió torrent","ERR_NO_SUPPORTERD_FILES":"No se encontraron archivos compartibles","ERR_OPENING_FILES":"No se pudieron abrir los archivos externos","ERR_INVALID_LINK":"Enlace inválido","ERR_REGISTERED_ONLY":"Esta opción está disponible solo para usuarios registrados.","ERR_CLIPBOARD":"No se puede reproducir desde el portapapeles","ERR_CLIPBOARD_READ":"Desde esta plataforma no se puede acceder al portapapeles","ERR_CLIPBOARD_GENERIC":"No se ha encontrado ningún URL reproducible en el portapapeles. Por favor, copie una URL (por ejemplo un enlace magnético) que lleve a un vídeo.","BOARD_CONTINUE_WATCHING":"Continuar viendo","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Películas elegidas especialmente para ti.
    Esta película es una muestra de recomendación.","BOARD_EXPLANATION_EPISODES":"Los nuevos episodios de tus series favoritas están aquí
    Agrega las series que sigues en tu Biblioteca.","BOARD_EXPLANATION_VIDEOS":"Los nuevos videos de tus canales favoritos están aquí.
    Agrega los canales de YouTube que sigues a tu Biblioteca.","WEBSITE_ENJOYED_BY":"Disfrutado por más de 30 millones de usuarios en todo el mundo","WEBSITE_STREAMING_ENHANCED":"Transmisión mejorada","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio ofrece una experiencia de entretenimiento segura, moderna y fluida. Con su interfaz fácil de usar y su diversa biblioteca de contenido, incluida la compatibilidad con 4K HDR, los usuarios pueden disfrutar de sus películas y programas de TV favoritos en todos sus dispositivos. Y con su compromiso con la seguridad, Stremio es la mejor opción para un servicio de sin preocupaciones y experiencia de transmisión de calidad.","WEBSITE_AVAILABLE_ON":"Disponible en","WEBSITE_WATCH_AND_ENJOY":"Ver y Disfrutar.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio lo hace muy fácil","WEBSITE_ALL_FEATURES":"Todas las características","WEBSITE_EASY_TO_USE":"Facil de usar","WEBSITE_EASY_TO_USE_DETAILS":"Stremio está diseñado para ser amigable para el usuario y fácil de usar. Con su interfaz limpia e intuitiva podrás navegar y encontrar fácilmente el contenido que deseas ver.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sin interrupciones en todos los dispositivos","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponible en una amplia variedad de plataformas (incluido Windows, Mac, Linux, Android y más), Stremio realizará un seguimiento de su progreso en todos sus dispositivos. Solo inicia sesión y continúa viendo sin tener que configurar la aplicación nuevamente en cada dispositivo nuevo.","WEBSITE_ALL_DOWNLOADS":"Todas las Descargas","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Soporte de vídeo de alta definición","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un reproductor de video integrado que soporta la mayoría de los formatos de video, incluido el contenido 4K HDR, le permite disfrutar de la más alta calidad disponible.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Biblioteca de contenido diverso","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio se integra con una grán cantidad de repositorios de video populares, como Netflix, Amazon Prime Video, Hulu, YouTube y muchos más.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Crea una cuenta gratis","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiencia de visualización personalizada","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio le permite personalizar la apariencia de la interfaz cambiando el tema, agregando o eliminando complementos y más.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Soporte de subtitulos multilenguaje","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Ahora puede disfrutar de todo su contenido favorito su idioma preferido, ya que Stremio soporta subtitulos en todos los idiomas.","WEBSITE_ALL_STREMIO_FEATURES":"Todas las características de Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Prueba Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"En tu TV ahora","WEBSITE_YOU_CAN_NOW_WATCH":"Ahora puede ver todos sus programas de TV favoritos en su dispositivo Android TV","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. La aplicación de Stremio le permite disfrutar una noche de cine con facilidad.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio para Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probablemente la mejor y más útil aplicación para tener en tu dispositivo. Es una de las aplicaciones que uso a diario, especialmente en mi Android TV desde hace muchos años. Bien hecho con una comunidad sólida que proporciona funcionalidades útiles. Bien hecho. Sigan con el buen trabajo.","WEBSITE_REVIEWS":"opiniones","WEBSITE_GET_STREMIO_FOR_FREE":"Obtén Stremio gratis","WEBSITE_GET_STREMIO_NOW":"Obtén Stremio ahora","WEBSITE_STREMIO_FEATURES":"Características de Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Transmite como un profesional con las funciones avanzadas de Stremio y disfruta de un acceso fluido en todos tus medios favoritos","WEBSITE_DISCOVER_MORE":"Descubrir más.","WEBSITE_DISCOVER_MORE_DETAILS":"Nunca te quedes sin cosas para ver","WEBSITE_COMMUNITY_DRIVEN":"Impulsado por la comunidad","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio tiene una comunidad grande y activa de usuarios que contribuyen al desarrollo del software creando y compartiendo complementos.","WEBSITE_GET_INVOLVED":"Participa","WEBSITE_NEW_THEATER_EXPERIENCE":"Nueva experiencia de cine","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"La nueva aplicación de Stremio dedicada a la TV le permite disfutar una noche de cine en sus dispositivos Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"La nueva aplicación de Stremio dedicada a la TV le permite disfrutar una noche de cine en su Smart TV o dispositivos Android TV.","WEBSITE_FREE_AND_SECURE":"Gratis y Seguro","WEBSITE_STREAMING":"Transmisión","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio ofrece seguridad y privacidad inigualables para los usuarios. Con su característica única de ejecutar complementos de forma remota, Stremio proporciona una forma segura de transmitir su contenido favorito en comparación con otras plataformas. Su seguridad y privacidad son las principales prioridades, y la plataforma garantiza que todos tus datos estén protegidos.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Diga adiós a las preocupaciones sobre la seguridad y la privacidad y di hola a un mundo de entretenimiento sin final con Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Información proporcionada por","WEBSITE_CONTRIBUTE_DESC":"al proyecto y ayudanos a hacer Stremio aún mejor","WEBSITE_COMMUNITY_DESC":"Creemos que la mejor manera de crear una experiencia de streaming realmente sorprendente es involucrar a nuestra comunidad en el proceso. Si eres programador, artista o simplemente un fan, podrías ayudar a Stremio a crecer.","WEBSITE_COMMUNITY_DESC_2":"Únase a nosotros hoy y forme parte de la comunidad Stremio y siga dando forma al futuro del streaming","WEBSITE_WAYS_TO_GET_INVOLVED":"Maneras de involucrarse","WEBSITE_IN_THE_STREMIO_COMMUNITY":"en la comunidad de Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Comparte tus pensamientos","WEBSITE_REPORT_BUGS":"Informa errores","WEBSITE_SUGGEST_FEATURES":"sugerir características","WEBSITE_AND_PROVIDE_FEEDBACK":"y proporciona comentarios en nuestros canales de redes sociales.","WEBSITE_BETA_TESTING_PROGRAM":"Programa de pruebas","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participe en nuestro programa de prueba (enviamos invitaciones regularmente) en la comunidad Stremio.","WEBSITE_JOIN_NOW":"¡Únete ahora!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunidades oficiales de Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunidades no oficiales de Stremio","WEBSITE_BECOME":"Conviértase","WEBSITE_A_VOLUNTEER_TRANSLATOR":"en traductor voluntario","WEBSITE_ARE_YOU_A_DEVELOPER":"¿Eres desarrollador?","WEBSITE_CONTRIBUTE_CODE":"Podrías contribuir con código a nuestros proyectos de código abierto. Tenemos varios proyectos en GitHub que buscan colaboradores. Si estás interesado en ayudar, échales un vistazo:","WEBSITE_STREMIO_ON_GITHUB":"Stremio en GitHub","WEBSITE_CREATE_ADDON_DESC":"Cree un complemento para mejorar la funcionalidad de Stremio (tenemos una API fácil de usar):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"También ofrecemos la oportunidad de unirse a nosotros como desarrollador en prácticas para poder crecer juntos.","WEBSITE_APPLY_AS_AN_INTERN":"Aplicar como practicante","WEBSITE_CALLING_ALL_ARTISTS":"¡Llamando a todos los artistas!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Demuestra tu creatividad y amor por Stremio subiendo tu fan art a nuestra galería en línea. Ya sea un dibujo, una pintura o un diseño digital, queremos ver su visión única de la marca Stremio. Únase a nuestra comunidad de entusiastas del arte y comparta su trabajo con otros fanáticos de Stremio en todo el mundo.","WEBSITE_STREMIO_FANART_GALLERY":"Galería Fanart de Stremio","WEBSITE_INTERN_DESIGNER":"Forme parte de nuestro equipo y lleve su creatividad a nuevas alturas con nuestras emocionantes oportunidades de pasantías.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Proyecto de películas de dominio público","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"En Stremio estamos comprometidos a preservar la historia del cine y la televisión identificando vídeos de dominio público y huérfanos. Al trabajar junto con nuestra comunidad, podemos garantizar que estas obras de arte clásicas sean accesibles para todos y estén protegidas para que las disfruten las generaciones futuras.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"No dude en contactarnos si desea involucrarse en ese proyecto.","WEBSITE_JOIN_THE_PROJECT":"Únase al Proyecto","WEBSITE_BE_PART_OF_OUR_MISSION":"Se parte de nuestra misión","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"¿Interesado en unirse al equipo Stremio? Ofrecemos trabajo totalmente remoto para profesionales apasionados. Consulte nuestras posiciones abiertas.","WEBSITE_OPEN_POSITIONS":"POSICIONES ABIERTAS","WEBSITE_DESCRIPTION":"DESCRIPCIÓN","WEBSITE_LEARN_MORE":"Aprende más","WEBSITE_COMPANY":"Compañía","WEBSITE_CONTACTS":"Contactos","WEBSITE_NEED_HELP":"¿Necesitas ayuda?","WEBSITE_STREMIO_WEB_ON_IOS":"Guía para Stremio Web en iOS","WEBSITE_LINK_ART_V2":"Galería de Fanart","WEBSITE_PARTNERS":"Socios","WEBSITE_SLOGAN_WATCH":"Disfrute al instante","WEBSITE_SLOGAN_ALL":"de todo el contenido de vídeo en un solo lugar","WEBSITE_SLOGAN_NEW":"Todo lo que puedes ver","WEBSITE_SLOGAN_NEW_NEW":"Libertad para transmitir","WEBSITE_WATCH_FROM":"Ver desde","WEBSITE_DOWNLOAD":"Descargar ahora","WEBSITE_DOWNLOAD_FOR":"Descargar para","WEBSITE_IS_DESKTOP":"Stremio es una aplicación de escritorio, abrí esta página en tu ordenador y descárgalo","WEBSITE_DESKTOP_DEMO_VID":"Demostración","WEBSITE_PAGE_HOME":"Inicio","WEBSITE_PAGE_FEATURES":"Características","WEBSITE_PAGE_ADDONS":"Complementos","WEBSITE_PAGE_TECH":"Tecnología","WEBSITE_PAGE_CREATE_ADDON":"Crear Complemento","WEBSITE_PAGE_CONTACTS":"Contactos","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Por favor ingresa tu contraseña deseada a continuación.","WEBSITE_RESET_PASSWORD_WARNING":"¿Está seguro de que desea restablecer su contraseña por ${1}?","WEBSITE_TYPE_movie":"Películas","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"TV en vivo","WEBSITE_TYPE_channel":"Canales de Youtube","WEBSITE_STREMIO_WHAT_IS":"Stremio es una aplicación que le ayuda a organizar y ver al instante sus canales de videos, películas, series de televisión y canales de televisión favoritos.","WEBSITE_FEATURES_WATCH":"Ver en HD al instante","WEBSITE_FEATURES_WATCH_DETAIL":"Haga clic y reproduzca sus películas favoritas, programas de televisión, videos y canales de televisión.","WEBSITE_FEATURES_SUBS":"Subtítulos automáticos","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio selecciona automáticamente los subtítulos sincronizados para su idioma.","WEBSITE_FEATURES_SUBS_LABEL":"Tu turno, jefe.","WEBSITE_FEATURES_CAST":"Reproducir en TV y dispositivos móviles","WEBSITE_FEATURES_CAST_DETAIL":"Emitir en AppleTV, Chromecast, Smart TV (DLNA/UPnP) y dispositivos móviles.","WEBSITE_LIB":"Disfrute de su biblioteca personal sincronizado en todos sus dispositivos","WEBSITE_LIB_COLLECT":"Recoger información de Stremio","WEBSITE_LIB_IMPORT":"Importar desde Facebook","WEBSITE_LIB_LOCAL":"Añadir de la unidad local","WEBSITE_BOARD":"El Panel - Su lugar único para recibir Notificaciones y Recomendaciones","WEBSITE_BOARD_RECOMMEND":"Programa de televisión recomendado","WEBSITE_BOARD_TRENDING":"Tendencias en Películas","WEBSITE_BOARD_NEW":"Nuevo video","WEBSITE_BOARD_EPISODE":"Nuevo episodio","WEBSITE_BOARD_1":"¿Buscando algo interesante que ver?\\n¡Obtén recomendaciones basadas en lo que te gusta!","WEBSITE_BOARD_2":"¡Sea notificado cuando un nuevo episodio de su programa favorito de televisión o canal de YouTube esté disponible!","WEBSITE_BOARD_YOUTUBE":"Nuevos videos de canales de YouTube","WEBSITE_BOARD_EPISODES":"Nuevos episodios de las series que sigues","WEBSITE_ADDONS":"Complemento de contenidos","WEBSITE_TECH_DETAIL":"¡Nos encanta la tecnología, nos gusta la ciencia loca!\\nStremio utiliza las siguientes tecnologías de código abierto:","WEBSITE_TECH_WCJS":"WebChimera.js permite a Stremio reproducir cualquier formato de vídeo con un buen rendimiento.","WEBSITE_TECH_WCJS_EXTRA":"Somos contribuidores fundamentales del proyecto","WEBSITE_TECH_ELECTRON":"Electron proporciona una plataforma innovadora para construir Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Somos contribuidores del proyecto","WEBSITE_TECH_LINVODB":"Una tecnología de base de datos que asegura que sus datos se organicen y estén disponible en cualquier lugar que inicie sesión.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnología interna","WEBSITE_CREATE_ADDON":"Creé su complemento","WEBSITE_CREATE_ADDON_DETAIL":"¿Tiene un servicio para proporcionar contenido de vídeo?\\nVamos a ayudarle a beneficiarse de las características de Stremio creando su Complemento.","WEBSITE_CREATE_ADDON_BENEFITS":"Beneficios de crear un Complemento para Stremio","WEBSITE_P2P_BEAUTY":"La belleza de la transmisión Par a Par (P2P)","WEBSITE_P2P_1":"Vídeo o transmisión en vivo fiable y asequible en Full HD / 4K","WEBSITE_P2P_2":"La plataforma de distribución proporciona una gran experiencia de usuario","WEBSITE_P2P_3":"Vamos a crear un complemento para la satisfacción de sus necesidades exactas","WEBSITE_P2P_CONTACT":"¿Interesado? Eres bienvenido, Contáctenos.","WEBSITE_P2P_CONTACT_EXTRA":"¡Estaremos encantados de ayudarle a integrar su contenido con Stremio!","WEBSITE_P2P":"De vez en cuando, llega una tecnología que cambia el nombre del juego. Hemos invertido un montón de tiempo y esfuerzo en la construcción de nuestro motor de transmisión de Par A Par (P2P) de vídeo que proporciona un gran rendimiento y versatilidad para adaptarse a cualquier caso de uso.\\nContáctenos por DRM-enabled P2P video en demanda o transmisión en vivo.","WEBSITE_THOUGHTS":"Pensamientos que compartimos:","WEBSITE_SPREAD":"Difunde Stremio en tus redes sociales:","WEBSITE_CONTACT":"Contacta con nosotros, ¡Estamos deseando escucharte!","WEBSITE_OPENSOURCE":"Para nuestros proyectos de código abierto, visita nuestro","WEBSITE_BITCOIN":"Donar Bitcoin:","WEBSITE_FAQ":"Preguntas frecuentes","WEBSITE_FAQ_SHORT":"Preguntas frecuentes","WEBSITE_QUESTIONS":"Preguntas","WEBSITE_TOS":"Términos de Uso","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"Acerca de","WEBSITE_PAGE_BECOME_PARTNER":"Vuélvete un socio","WEBSITE_ALL_YOU_CAN_WATCH":"Libertad para ver\\nTodo lo que quieras.","WEBSITE_FREEDOM_TO_STREAM":"Libertad para transmitir","WEBSITE_WHAT_IS_STREMIO":"¿Qué es Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio es un centro unificado para agregación de contenido de vídeo. Descubre, organiza y ver videos de todo tipo de fuente en cualquier dispositivo que poseas.","WEBSITE_WHAT_IS_STREMIO_P2":"Películas, programas de televisión, series, televisión en vivo o canales web como YouTube y Twitch.tv: puedes encontrar todo esto en Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio es un media center moderno que le ofrece una solución integral de entretenimiento por vídeo. Puede descubrir, ver y organizar su contenido de vídeo desde complementos de fácil instalación.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Películas, programas de TV, TV en directo o canales web - Stremio pone todo esto a su disposición.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Disfruta en todos tus dispositivos","WEBSITE_DEVICES_COLLECT":"Recopilar desde Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importar desde Facebook","WEBSITE_DEVICES_LOCAL":"Agregar desde el disco local","WEBSITE_JOIN_THE_PARTY_NOW":"Únete a la fiesta ahora","WEBSITE_DEVICES_ALL":"Fácil de usar en todos tus dispositivos;","WEBSITE_EXTENDABLE_CATALOG":"Catálogo de videos extensible infinitamente;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Excelentes funcionalidades para organizar tu multimedia;","WEBSITE_AS_SEEN_ON":"Como se ve en","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Acerca de nosotros","WEBSITE_LINK_TECHNOLOGY":"Tecnología","WEBSITE_LINK_APPS":"Aplicaciones","WEBSITE_LINK_DOWNLOADS":"Descargas","WEBSITE_MORE":"Más","WEBSITE_LINK_ADDONS":"Complementos","WEBSITE_LINK_ADDON_SDK":"SDK para extensiones","WEBSITE_LINK_CONTRIBUTE":"Contribuye","WEBSITE_LINK_COMMUNITY":"Comunidad","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Más","WEBSITE_LINK_HELP":"Centro de ayuda","WEBSITE_LINK_CONTACTS":"Preguntas de negocios","WEBSITE_LINK_TOS":"Términos y condiciones","WEBSITE_LINK_PRAVACY":"Política de privacidad","WEBSITE_SUBSCRIBE":"Suscribir","WEBSITE_NEWSLETTER":"Únete a nuestro boletín de noticias para cosas increíbles","WEBSITE_PLACEHOLDER_EMAIL":"Su correo electrónico","WEBSITE_COMMUNITY":"Comunidad","WEBSITE_LINK_PRAVACY_LEGAL":"Privacidad y legal","WEBSITE_WHY":"¿Por qué hacemos esto?","WEBSITE_WHY_P1":"En Stremio, trabajamos cada día porque queremos solucionar un problema importante en la industria de vídeo bajo demanda. Hay tanto contenido nuevo publicado cada minuto que es virtualmente imposible de encontrar el camino a él.","WEBSITE_WHY_P2":"Ayudamos a las personas a navegar aquel enorme mundo del entretenimiento en vídeo y descubrir nuevo contenido para disfrutar. Nuestras aplicaciones traen juntas películas, series, televisión en vivo, canales web y más. Estamos dedicados a hacer esto increíblemente fácil para los usuarios buscar títulos y transmisiones que amarán.","WEBSITE_WHY_P3":"Puedes usar nuestro servicio en cualquier dispositivo y en cualquier momento, haciendo Stremio el único centro de entretenimiento de vídeo que necesitaras.","WEBSITE_TEAM":"EQUIPO","WEBSITE_TEAM_P":"El equipo Stremio es pequeño pero poderoso: entre diez de nosotros, programamos en X lenguajes y compartimos habilidades en desarrollo de software, diseño UI y UX, mercadeo y publicidad, y negocios y startups.","WEBSITE_FEATURES":"Características","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Descubre nuevo contenido con facilidad","WEBSITE_FEATURES_DISCOVER_P":"Descubre fácilmente nuevas películas, programas de televisión, series y canales para ver. Busca por categoría, género, calificación, año, etc. o simplemente escribe un nombre para buscar. Stremio hace fácil encontrar nuevo contenido de vídeo.","WEBSITE_FEATURES_ALL_CONTENT":"Todo tu contenido de vídeo en una pantalla","WEBSITE_FEATURES_ALL_CONTENT_P1":"Mira que películas, series o vídeos no has terminado y continua viéndolos; obtén notificaciones de nuevos episodios y estrenos; y navega a través de recomendaciones que obtendrás basadas en tus hábitos.","WEBSITE_FEATURES_LIBRARY":"Organiza tus videos","WEBSITE_FEATURES_LIBRARY_P1":"Agrega cualquier título a tu biblioteca de Stremio con un solo clic y encuentra tu camino a través de tu contenido, perfectamente ordenado por tipo, año u orden alfabético.","WEBSITE_FEATURES_CALENDAR":"Mantiene seguimiento de todo lo que ves","WEBSITE_FEATURES_CALENDAR_P1":"Obtén un calendario de todas las películas y series que agregas a tu biblioteca. Exporta tu calendario Stremio y sincroniza este para que siempre sepas cuando hay un nuevo episodio o un estreno.","WEBSITE_FEATURES_BIG_SCREEN":"Disfruta tu contenido de video en una pantalla grande","WEBSITE_FEATURES_BIG_SCREEN_P1":"Transmite lo que sea que estés viendo a otro dispositivo - sea este un teléfono, tableta o un T.V. con un solo clic.","WEBSITE_FEATURES_SOURCES":"Ve videos de diferentes fuentes","WEBSITE_FEATURES_SOURCES_P":"Instala complementos oficiales y de la comunidad para disfrutar las fuentes de vídeo desde diferentes proveedores - todo en una aplicación elegante y fácil de usar.","WEBSITE_CREATE_AN_ADDON":"Crear un complemento","WEBSITE_FEATURES_SYNC":"Sincroniza tu biblioteca entre distintos dispositivos y continua la reproducción","WEBSITE_FEATURES_SYNC_P1":"Haz login en tu cuenta en todos los dispositivos y podrás disfrutar de tener tu biblioteca, complementos, lista de reproducción y calendario.","WEBSITE_FEATURES_EXTENDABLE":"Catálogo de videos ampliable a través de complementos","WEBSITE_FEATURES_EXTENDABLE_P1":"El complemento de catálogo de Stremio provee de una serie de complementos instalables que permiten ver contenido a través de ellos. Ésto incluye películas, series, televisión en directo, deportes, noticias, podcasts, suscripciones webs, video juego, etc.","WEBSITE_FEATURES_AUTO_SUBS":"Subtítulos automáticos","WEBSITE_FEATURES_AUTO_SUBS_P1":"Con nuestros complementos de subtítulos puedes obtener automáticamente una variedad de opciones en tu idioma.","WEBSITE_FEATURES_CHROMECAST":"Emitiendo a Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Disfruta del video en una pantalla más grande o envía lo que estás viendo a otro dispositivo.","WEBSITE_FEATURES_KEEP_TRACK":"Haz el seguimiento de tus series o canales favoritos.","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obtén un calendario con notificaciones cuando haya nuevos episodios de tu serie o canal favoritos.","WEBSITE_FEATURES_POWER_USER":"Características de usuario experto","WEBSITE_FEATURES_POWER_USER_P1":"Ver en un reproductor externo.","WEBSITE_FEATURES_POWER_USER_P2":"Reproducir desde un fichero torrent o un enlace magnet","WEBSITE_FEATURES_POWER_USER_P3":"Importa en tu librería a través de los Me gusta de Facebook o desde tu disco duro local","WEBSITE_ADD_ONS":"Complementos","WEBSITE_ADD_ONS_P1":"Todo el contenido de vídeo que Stremio provee es obtenido a través de un sistema de complementos - no se ha incorporado ningún contenido o proveedor de contenido dentro de la aplicación.","WEBSITE_ADD_ONS_P2":"Hay dos grupos de complementos disponibles: oficiales y de la comunidad.","WEBSITE_ADD_ONS_P3":"Los complementos oficiales son desarrollados y alojados por Stremio, mientras que los complementos de la comunidad son creados por nuestros miembros de la comunidad, quienes también los alojan.","WEBSITE_ADDONS_OFFICIAL":"Complementos oficiales","WEBSITE_ADDONS_WATCHUB":"Reproduce tus películas, series y programas favoritos desde proveedores como iTunes, Hulu, Amazon y otros servicios de Estados Unidos y Reino Unido.","WEBSITE_ADDONS_YOUTUBE":"Mira tus canales favoritos de Youtube libres de publicidad y obtén notificaciones de nuevos vídeos de los contribuidores que sigues.","WEBSITE_ADDONS_FILMON":"Mira canales en vivo, películas y televisión pública gratis. 600 canales de televisión, 45000 películas, documentales y más gratis.","WEBSITE_ADDONS_OPENSUBTITLES":"Subtítulos de películas y televisión en múltiples lenguajes, miles de subtítulos traducidos subidos todos los días.","WEBSITE_ADDONS_COMMUNITY":"Complementos de la comunidad","WEBSITE_ADDONS_FILMON_VOD":"Mira vídeos bajo demanda desde Filmon.tv","WEBSITE_ADDONS_TWICH":"Mira programas en vivo desde Twitch.tv - una plataforma de transmisión de vídeo para la industria de deportes electrónicos.","WEBSITE_ADDONS_VODO":"Ve películas independientes completamente gratis.","WEBSITE_ADDONS_NETFLIX":"Ve películas de Netflix y series web.","WEBSITE_ADDONS_CREATE":"Crear un complemento","WEBSITE_ADDONS_CREATE_P1":"Si lo deseas, puedes desarrollar tu propio complemento. De esta manera, puedes darte a ti y a la comunidad acceso a nuevo contenido de vídeo, y alcanzar una nueva audiencia de millones de usuarios alrededor del mundo.","WEBSITE_ADDONS_START_CREATE":"Para empezar, visita la página del SDK de complementos de Stremio:","WEBSITE_DOWNLOADS":"Descargas","WEBSITE_DOWNLOADS_P1":"Para un óptimo rendimiento, recomendamos que uses la última versión disponible de las aplicaciones de Stremio. Si por alguna razón, deseas usar una versión anterior, puedes descargarla aquí.","WEBSITE_DOWNLOADS_P1_SHORT":"Para un óptimo rendimiento, recomendamos que uses la última versión disponible de las aplicaciones de Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio para Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio para macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio para Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio para Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio para Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio para Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio para Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio para iOS (versión limitada)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio para Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio para LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio para Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio para Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio para Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio para Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio para Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio para Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio para Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio para Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Buscar Stremio en el App Store de modelos de TV Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Buscar Stremio en el App Store de modelos TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Buscar Stremio en el Play Store de Sony TV ejecutando Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Buscar Stremio en el Play Store de Philips TV ejecutando Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Buscar Stremio en el App Store de tu dispositivo Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guía para Stremio OS en RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Descargar Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service es una aplicación complementaria para Stremio Web. Recomendamos utilizar la última versión disponible de Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service para Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service para macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service para Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service para Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Más opciones de descarga","WEBSITE_DOWNLOAD_NEW":"¡Nuevo!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Lanzamos Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Lanzamos Stremio para Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Lanzamos Stremio para LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Lanzamos Stremio para Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Lanzamos Stremio para Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribuye","WEBSITE_CONTRIBUTE_P1":"La plataforma Stremio es código abierto y puedes crear fácilmente un complemento para contenido que actualmente no posee fuente.","WEBSITE_CONTRIBUTE_WHY":"¿Por qué deberías crear un complemento?","WEBSITE_CONTRIBUTE_WHY_P1":"Alcanzar nueva audiencia para tu contenido de vídeo","WEBSITE_CONTRIBUTE_WHY_P2":"La base de usuarios de Stremio crece rápidamente - desde el primer año de lanzamiento, Stremio ha ganado 1 millón de usuarios alrededor del mundo, y en el segundo año de la existencia de la plataforma este número ha crecido a 2.5 millones.","WEBSITE_CONTRIBUTE_WHY_P3":"Con tu complemento fácilmente alcanzarás esta audiencia y distribuirás tu contenido de vídeo a ellos.","WEBSITE_CONTRIBUTE_ALL":"Mira tus películas, series y canales favoritos en un solo lugar.","WEBSITE_CONTRIBUTE_ALL_P1":"¿Eres aficionado de un un tipo particular de contenido no disponible aún en Stremio? Crea un complemento para este y disfruta de ver tus vídeos favoritos en uno de los centros de entretenimiento más grandes y fáciles de usar en el mercado.","WEBSITE_CONTRIBUTE_ALL_P2":"Además de eso, obtendrás la infinita gratitud de otros miembros de la comunidad de Stremio afines.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetiza tu complemento y gana dinero con su ayuda","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Una vez desarrolles un nuevo complemento para Stremio, puedes fácilmente monetizar este a través de diferentes maneras. Si estás considerando esto, siéntete libre de entrar en contacto con nosotros a ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - estaremos felices de consultarte y asesorarte sobre las opciones de monetización de tu complemento.","WEBSITE_CONTRIBUTE_TRANSLATE":"Conviértete en un traductor voluntario","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Si deseas disfrutar de las aplicaciones de Stremio en diferentes lenguajes, puedes unirte a nuestra comunidad de traductores voluntarios. Ellos nos ayudan a agregar versiones de Stremio en diferentes lenguajes.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"¿Estás ansioso por comenzar?","WEBSITE_TRANSALTE_STREMIO":"Traduce Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunidades oficiales","WEBSITE_COMMUNITY_OFFICIALS_P1":"Sé parte de la creciente comunidad de Stremio. Síguenos en redes sociales y no seas tímido de decir hola - ¡nos encanta escuchar a nuestros fanáticos! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunidades no oficiales","STREMIO_COMMUNITY_NL":"Stremio Países Bajos","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemania","STREMIO_COMMUNITY_BELGIUM":"Stremio Bélgica","STREMIO_COMMUNITY_FRANCE":"Stremio Francia","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio Reino Unido","STREMIO_COMMUNITY_USA":"Stremio Estados Unidos","STREMIO_COMMUNITY_MEXICO":"Stremio México","STREMIO_COMMUNITY_ADDONS":"Complementos de Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Socios y colaboradores","WEBSITE_COMMUNITY_GOODIES":"Stremio Goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Fondos de pantalla","WEBSITE_COMMUNITY_ART":"Galería de Arte de la Comunidad","WEBSITE_LINK_ART":"Galería de arte de la comunidad","WEBSITE_CONTACT_US":"Contacta con nosotros","WEBSITE_CONTACT_US_P1":"Si tienes alguna pregunta, comentario o sugerencia, siéntete libre de entrar en contacto con nosotros a través del formulario de contacto más abajo.","WEBSITE_CONTACT_US_P2":"Ten presente que nos ubicamos en Bulgaria, entonces habrá un retraso en la respuesta a su consulta debido a las diferencias de zona horaria.","WEBSITE_CONTACT_US_SUCCESS":"Tu mensaje ha sido enviado. Nos pondremos en contacto contigo lo antes posible.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"¡Por favor escribe un correo electrónico válido!","WEBSITE_CONTACT_US_Q_RELATED_TO":"¿Con qué se relaciona su pregunta?","WEBSITE_CONTACT_US_Q_OS":"¿Cuál es su sistema operativo?","WEBSITE_CONTACT_US_PH_EMAIL":"Su correo electrónico","WEBSITE_CONTACT_US_PH_MESSAGE":"Mensaje","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVIAR","WEBSITE_CONTACT_US_Q_1":"¿Cómo instalar?","WEBSITE_CONTACT_US_Q_2":"¿Cómo desinstalar?","WEBSITE_CONTACT_US_Q_3":"¿(HTML) Cómo hacer lasaña?","WEBSITE_CONTACT_US_Q_4":"Complementos","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnología","WEBSITE_TECHNOLOGY_P1":"Amamos la tecnología y la ciencia loca.
    Aquí está lo que potencia a Stremio (todo es código abierto).","WEBSITE_TECHNOLOGY_P_QT":"Desarrollo de software multiplataforma en su mejor momento.","WEBSITE_TECHNOLOGY_P_MPV":"Un reproductor libre, de código abierto y multiplataforma.","WEBSITE_TECHNOLOGY_P_RN":"React Native te permite desarrollar aplicaciones móviles usando solo Javascript.","WEBSITE_TECHNOLOGY_P_VLC":"Framework multimedia embebido en la aplicación para obtener multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm es una plataforma móvil y un reemplazo para SQlite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js es un entorno de Javascript multi-plataforma y de código abierto.","WEBSITE_TECHNOLOGY_P_RUST":"Rust es un lenguaje de programación de sistemas multi-paradigma que se enfoca en la seguridad, y más concretamente en ejecución concurrente de manera segura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuye al proyecto","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Hay dos formas en las que puedes contribuir a Stremio y ayudarnos a hacer el producto aún mejor.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Puedes donar tus habilidades en lenguaje traduciendo la plataforma...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"o","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... puedes emplear tus habilidades de programación para la creación de extensiones de la comunidad. ","WEBSITE_TRANSLATE_STREMIO":"Traduce Stremio","WEBSITE_404_OH_NO":"¡Oh no! La página que estás buscando no está aquí...","WEBSITE_GO_HOME":"Ir al inicio","WEBSITE_LINK_OTHER_DOWNLOADS":"Otras descargas","WEBSITE_FAQ_ABR":"Preguntas frecuentes","WEBSITE_SUPPORT":"Soporte","WEBSITE_DOWNLOAD_4_0_BETA":"Descarga ahora Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Para escritorio","WEBSITE_LINK_ADDON_COMPETITION":"Competición de complementos","WEBSITE_LINK_ART_CONTEST":"Concurso de arte","WEBSITE_MY_ACCOUNT":"Mi cuenta","WEBSITE_MAINPAGE_FAQ_001_H1":"¿Qué es Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio es un \'media center\' moderno que te da la libertad de ver todo lo que quieras.","WEBSITE_MAINPAGE_FAQ_002_H1":"¿Cómo funciona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Una vez que Stremio esté instalado en tu dispositivo y hayas creado una cuenta, todo lo que tienes que hacer es ver el catálogo de complementos para instalar el complemento que quieras y estarás listo para comenzar a explorar contenido.","WEBSITE_MAINPAGE_FAQ_002_P2":"A continuación, puede ir a las secciones Descubrir o Panel para comenzar a explorar contenido.","WEBSITE_MAINPAGE_FAQ_003_H1":"¿Qué puedo ver?","WEBSITE_MAINPAGE_FAQ_003_P1":"Muchas cosas: Películas, series, canales web, deporte, canales de televisión, podcasts, etc. Gracias a nuestro sistema de complementos puedes acceder a una gran variedad de contenidos.","WEBSITE_MAINPAGE_FAQ_004_H1":"¿Es Stremio software libre?","WEBSITE_MAINPAGE_FAQ_004_P1":"Sí, puedes consultar los siguientes enlaces: ${1}aplicación de escritorio${2} y ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"¿Es Stremio seguro?","WEBSITE_MAINPAGE_FAQ_005_P1":"Sí: al ser software libre, el código es auditable publicamente y puedes revisarlo tú mismo.","WEBSITE_MAINPAGE_FAQ_005_P2":"El sistema de complementos de Stremio también se creó teniendo en cuenta la seguridad del usuario. Los complementos no ejecutan ningún código localmente, por lo que no suponen ningún riesgo para su dispositivo.","WEBSITE_MAINPAGE_FAQ_006_H1":"¿Qué ocurre con mi privacidad?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respetamos la privacidad de los usuarios y no guardamos ningún dato personal exceptuando lo mínimo necesario para poder crear y sincronizar tu cuenta.","WEBSITE_MAINPAGE_FAQ_006_P2":"Hay un ${1}modo invitado{2} al crear la cuenta, que no requiere ningún dato: en éste modo, no hay ninguna llamada a nuestros servidores. Sin embargo, ésto tiene el coste de no tener disponible algunas características útiles como sincronizar tu biblioteca entre distintos dispositivos.","WEBSITE_MAINPAGE_FAQ_007_H1":"¿Puedo enviar el contenido a mi TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Sí, damos soporte a Chromecast y puedes enviar contenido de video desde la aplicación de escritorio o aplicación móvil (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"¿Cuantos complementos tiene Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"A finales de 2019, más de 50 - para más información, consulta nuestro catálogo de complementos.","WEBSITE_MAINPAGE_FAQ_009_H1":"¿Es posible ampliar Stremio más allá de lo que se ofrece en el catálogo de complementos?","WEBSITE_MAINPAGE_FAQ_009_P1":"Sí, deberías visitar: ${1}PimpMyStremio${2}, ${3}la comunidad en Reddit{4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"¿Qué dispositivos soporta Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Tenemos aplicaciones de escritorio para Windows, Mac y GNU/Linux. Para móviles o celulares, damos soporte a Android e iOS, aunque la funcionalidad en iOS es limitada (no soporta muchos complementos).","WEBSITE_MAINPAGE_FAQ_010_P2":"Hay muchos dispositivos basados en Android en los cuales puedes ejecutar Stremio, por ejemplo NVIDIA Shield y Amazon Fire Stick, aunque no damos soporte oficial.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Disponemos de aplicaciones de escritorio para Windows, Mac y Linux. También contamos con aplicaciones dedicadas para Android Mobile y Android TV. Para iOS y iPadOS sugerimos utilizar Stremio Web, aunque tiene una funcionalidad más limitada.","WEBSITE_MAINPAGE_FAQ_011_H1":"¿Pueden añadir cierto contenido a Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Lo sentimos, nosotros no proveemos del contenido, sin embargo, cuantos más complementos tengas instalads, mayor será el contenido que tendrás disponible.","WEBSITE_MAINPAGE_FAQ_012_H1":"¿Puede Stremio reproducir enlaces magnet?","WEBSITE_MAINPAGE_FAQ_012_P1":"Sí, y también puede reproducir enlaces HTTP normales, así como ficheros torrent(mediante arrastrar y soltar).","WEBSITE_MAINPAGE_FAQ_013_H1":"¿Puedo descargar un video y verlo offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Tener el contenido offline es una característica en desarrollo que estará disponible más adelante, aunque si dejas que Stremio cachee el contenido en tu dispositivo (revisa el panel de administración) podrás ver el contenido posteriormente sin conexión.","WEBSITE_MAINPAGE_FAQ_014_H1":"¡No funciona nada, ayuda!","WEBSITE_MAINPAGE_FAQ_014_P1":"¿Estás seguro de que has instalado los complementos? Si la respuesta es sí, dirigete a nuestro ${1}centro de ayuda${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"¿Cómo mantiene Stremio los costes de desarrollo?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ocasionalmente publicamos anuncios no intrusivos, pero estamos considerando pasar a un modelo de donación.","WEBSITE_MAINPAGE_FAQ_015_P2":"Si tienes más preguntas, visita nuestro ${1}centro de ayuda${2}.","HELP_LEARN_MORE":"Ayúdanos a saber más de ti.","LIFESTYLE":"Estilo de vida","SPORTS":"Deportes","FOOD_HEALTH":"Comida y Salud","BEAUTY_FASHION":"Belleza y Moda","NEWS":"Noticias","GAMING":"Juegos","SCIENCE_EDUCATION":"Ciencia y Educación","MUSIC":"Música","TRAVEL":"Viajes","LATE_NIGHT":"Programa nocturno","REALITY":"Reality","COMEDY":"Comedia","DIY":"Hazlo tú mismo","TECH":"Tecnología","CINEMA":"Cinema","CONTINUE":"Continuar","SLOW_LOADING":"¿CARGA LENTO?","I_GIVE_UP":"ME RINDO","LEARN_MORE":"Saber más","POOR_SOURCE":"Esta fuente posee poca disponibilidad o su conexión de internet no es suficientemente rápida","PICK_CATEGORIES_ERR":"Tienes que seleccionar al menos 3 categorías","ADJUST_TIMING":"Ajustar tiempo con ","ADJUST_SIZE":"Ajustar tamaño con ","SEARCH_ANYTHING":"Puedes buscar cualquier cosa...","ALL_CATEGORIES":"Todas","SEARCH_CATEGORIES":"Películas, Series, YouTube & TV","SEARCH_PERSONS":"Actores, Directores y Escritores","SEARCH_PROTOCOLS":"HTTP y enlaces magnéticos","SEARCH_TYPES":"Enlaces IMDB / TVDB","WATCHED":"Visto","SHOW_LESS":"Mostrar menos","LAST_SEARCHES":"Últimas búsquedas","CLEAR_HISTORY":"Borrar historial","CHOOSE_SOME":"ESCOGE ALGUNO DE ESTOS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote no se pudo cargar","STREMIO_OFFLINE":"Stremio está desconectado","STREMIO_EXPENSIVE_CONNECTION":"Hemos detectado que estás utilizando una conexión de datos móviles, ¿quieres continuar?","USE_DATA":"Usar datos","WARNING":"Advertencia","MORE_INFO":"Más información ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Cargando ...","STREMIO_TV_BACK_TO_LANGUAGES":"Regresar a lenguajes","STREMIO_TV_REMOTE":"Remoto","STREMIO_TV_GO_TO":"Ir a:","STREMIO_TV_OR_SCAN":"o escanear:","STREMIO_TV_ADDON_INSTRUCTIONS":"Por favor, siga las instrucciones para instalar su complemento preferido.","STREMIO_TV_LIVE_TV":"TV en directo","STREMIO_TV_RESUME_WATCHING":"Continuar viendo","STREMIO_TV_LOADING_BACKGROUND":"Cargando fondo","STREMIO_TV_CHECKING_AUTHENTICATION":"Verificando Autenticación","STREMIO_TV_LOADING_BOARD":"Cargando Panel","STREMIO_TV_LOGIN_HEADER_LINE_1":"Nosotros queremos que nuestros usuarios tengan la mejor experiencia personalizada posible con nuestro software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Esta es la razón por la cual le pedimos cree una cuenta y/o ingrese a ella.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Gracias por su comprensión,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"El equipo Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Para usar el Control Web con su teléfono inteligente / tableta / escritorio:","STREMIO_TV_WIFI_SETUP":"Configuración Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle no detecta una conexión a internet.","STREMIO_TV_WIFI_DETAILS_1":"Conectar a:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Contraseña a usar:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Abrir el navegador con el enlace:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Por Defecto","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Por Último Visto","STREMIO_TV_LIBRARY_SORT_NAME":"Por Nombre","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Por Nombre Descendente","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Por Veces Visto","STREMIO_TV_LIBRARY_SORT_WATCHED":"Por Vistos","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Por No Vistos","STREMIO_TV_DETAILS_SEASON_NUMBER":"Temporada ${1}","STREMIO_TV_STREAMS_LOADING":"Cargados ${1} / ${2} complementos...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} complemento continua cargando...","STREMIO_TV_PLAYER_SETTINGS":"Configuración del Reproductor","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Retraso de Subtítulos","STREMIO_TV_PLAYER_AUDIO_DELAY":"Retraso de audio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Escalado de vídeo","STREMIO_TV_PLAYER_CHAPTERS":"Capítulos","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Saltar ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Fuente no soportada","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Fallo al abrir el enlace externo","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"No ajustable en modo passthrough de audio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Reproducir con ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Reproducir con libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Cambiar al reproductor libVLC debido a un error de reproducción","STREMIO_TV_ADDONS_TITLE":"Utiliza Stremio en tu dispositivo móvil o PC para instalar o configurar complementos y pulsa \\"Sincronizar Complementos\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: asegúrate de utilizar la misma cuenta de Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizar Complementos","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Complementos sincronizados exitosamente","STREMIO_TV_ADDONS_SYNC_FAILED":"Fallo al sincronizar complementos","STREMIO_TV_META_LINK_FAILED":"Fallo al abrir meta enlace","STREMIO_TV_CATALOG_LOADING":"El catálogo sigue cargando...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Idioma de la interfaz actualizado","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema actualizado","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Reproductor predeterminado","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Reproductor externo","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Idioma Preferido","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Idioma Preferido Secundario","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Reproducción tunelizada","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Posibles errores de reproducción en algunos dispositivos","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Algunos formatos de video pueden no funcionar","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Sincronización de frecuencia de cuadros","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Desactivado","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Solo Frecuencia de Cuadros","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frecuencia de Cuadros y Resolución","STREMIO_TV_SETTINGS_NO_CACHING":"Sin caché","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Por Defecto","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Suave","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rápido","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Rápido","STREMIO_TV_SETTINGS_SERVER_URL":"URL del servidor de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versión del servidor","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Desconocido","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versión de Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Editar URL del servidor","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Ingrese la URL del servidor de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostrar estadísticas durante la carga","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Para leer la Política de Privacidad de Stremio, visite:","STREMIO_TV_SETTINGS_TOS_TEXT":"Para leer los Términos y Condiciones de Stremio, visite:","STREMIO_TV_NAV_SEARCH":"Buscar","STREMIO_TV_NAV_HOME":"Inicio","STREMIO_TV_NAV_DISCOVER":"Descubrir","STREMIO_TV_NAV_LIBRARY":"Biblioteca","STREMIO_TV_NAV_MOVIES":"Películas","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Canales","STREMIO_TV_NAV_TV":"TV en vivo","STREMIO_TV_NAV_SETTINGS":"Configuración","STREMIO_TV_NAV_ADDONS":"Complementos","STREMIO_TV_LOGIN_TITLE":"Asociar Cuenta","STREMIO_TV_LOGIN_EXPIRES_IN":"Expira en","STREMIO_TV_LOGIN_STEP_ONE":"Escanea el Código QR de arriba o visita","STREMIO_TV_LOGIN_STEP_TWO":"Inicia sesión a tu cuenta Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Solicitar un nuevo enlace","STREMIO_TV_LOGIN_LINK_REFRESHED":"Código de login actualizado","STREMIO_TV_SEARCH_PLACEHOLDER":"Escribe algo","STREMIO_TV_SEARCH_NO_ADDONS":"¡No se solicitaron complementos para los catálogos!","STREMIO_TV_SEARCH_BUTTON":"Buscar","STREMIO_TV_SEARCH_KEY_DEL":"Borrar","STREMIO_TV_SEARCH_KEY_SPACE":"Espacio","STREMIO_TV_SEARCH_KEY_CLEAR":"Limpiar","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historial de Búsqueda","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Puedes buscar por Título, Actores, Canales y más...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Vaciar el Historial de Búsqueda","STREMIO_TV_FILTERS_DESCRIPTION":"Elija uno de los filtros a continuación","STREMIO_TV_STREAMING_SERVER_OFFLINE":"El servidor de streaming está desconectado. Verifique la configuración del servidor.","FILTERS":"Filtros","SETTINGS":"Configuración","ACCOUNT":"Cuenta","LOGOUT":"Cerrar Sesión","THEMES":"Temas","PLAYBACK":"Reproducción","PLAYBACK_SPEED":"Velocidad de Reproducción","AUDIO_TRACKS":"Pistas de Audio","UNKNOWN_TRACK_LANG":"Desconocido","VIDEOS":"Videos","SERVER":"Servidor","LINKS":"Enlaces","ABOUT":"Acerca De","INTERFACE":"Interfaz","ANIMATIONS":"Animaciones","STATUS":"Estado","LANGUAGE":"Idioma","SIZE":"Tamaño","DELAY":"Retraso","BOLD":"Negrita","OPACITY":"Opacidad","TEXT_COLOR":"Color del Texto","OUTLINE_COLOR":"Color del Contorno","BACKGROUND_COLOR":"Color de Fondo","BACKGROUND_BLUR":"Desenfoque de Fondo","SEEK_TIME_DURATION":"Duración del Tiempo de Búsqueda","AUTO_PLAY":"Reproducir el Episodio Siguiente automáticamente","PLAY_NOW":"Reproducir Ahora","MARK_AS_WATCHED":"Marcar como Visto","MARK_AS_UNWATCHED":"Marcar como No Visto","REWIND_TO_BEGINNING":"Rebobinar al Principio","CONTINUE_WATCHING":"Seguir Viendo","ALL":"Todo","SECONDS":"segundos","ON":"ENCENDIDO","OFF":"APAGADO","RELOAD":"Recargar","EDIT_URL":"Editar URL","URL":"URL","NONE":"Ninguno","EMBEDDED":"Embebido","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Cambiar dispositivos","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Ajustar tiempo","REMOTE_ADJUST_SIZE":"Ajustar tamaño","REMOTE_COULD_NOT_BE_LOADED":"El Control Web podría no cargar","REMOTE_RETRY":"Volver a intentar","TORRENT_PROFILE_DEFAULT":"Por Defecto","TORRENT_PROFILE_SOFT":"Suave","TORRENT_PROFILE_FAST":"Rápido","TORRENT_PROFILE_ULTRA_FAST":"Ultra Rápido","MB_S":"MB/s","FAQ_001_H1":"¿Qué es Stremio?","FAQ_001_P1":"Stremio es un software de centro multimedia diseñado para el entretenimiento de vídeo pensando en el fácil uso. Stremio te permite organizar y ver tu propia colección de películas, series, canales y programas en vivo.","FAQ_001_P2":"Stremio colecta el contenido que muestra desde tu disco local y nuestro sistema de complementos.","FAQ_001_P3":"Te notificará cuando nuevos episodios, películas y vídeos en los cuales estás interesado salgan y proveerá recomendaciones de películas para ti.","FAQ_02_H1":"¿Cómo se compara Stremio con Kodi y Plex?","FAQ_02_P1":"Estamos inspirados por estas dos piezas de software. Pero tenemos diferentes objetivos - Stremio es específicamente pensado en el entretenimiento de vídeo, y se esfuerza por convertirse en la solución principal para eso al ser muy fácil de usar.","FAQ_02_P2":"Stremio nunca será tan personalizable y rico en características como Kodi y Plex, pero es significativamente más fácil de usar. ${1} Obtén y mira ${2} :)","FAQ_03_H1":"¿Cómo se compara Stremio con Netflix?","FAQ_03_P1":"Nuevamente, Netflix es una de nuestras inspiraciones. Nos esforzamos por lograr la experiencia del usuario de Netflix, además de muchos extras adicionales. Pero más importante, te damos la libertad de manejar tu propia biblioteca y agregar nuevas fuentes de contenido con nuestro sistema de complementos.","FAQ_03_P2":"Esto hace a Stremio infinitamente extensible, entonces cuando usas Stremio, no estás limitado al contenido que Netflix decide licenciar. Por ejemplo, a través de Stremio puedes ver contenido desde ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} e incluso ¡${9}Netflix${10} mismo!","FAQ_04_H1":"¿Cómo se compara Stremio con Flipboard?","FAQ_04_P1":"No nos hacemos esa pregunta frecuentemente, excepto cuando hablamos con emprendedores :)","FAQ_04_P2":"Stremio es por diseño un recopilador de contenido, lo cual esencialmente lo hace un Flipboard para vídeo. Esto es muy evidente en nuestra sección de Panel, que te da un catálogo y notificaciones de nuevos episodios y vídeos que sigues, tal como Flipboard.","FAQ_05_H1":"¿Cómo se compara Stremio con Popcorn Time?","FAQ_05_P1":"Stremio y Popcorn Time son similares en la interfaz de usuario, porque no hay muchas formas de hacer catálogos de entretenimiento de vídeo correctamente :)","FAQ_05_P2":"Mientras que Popcorn Time es enfocado en transmitir torrents desde fuentes específicas, Stremio no es restrictivo y es meramente un recopilador de contenido - no se restringe a una fuente específica de contenido.","FAQ_05_P3":"Además, nosotros no proveemos ningún complemento torrent por defecto, así Stremio no cubre el caso de uso de Popcorn Time oficialmente.","FAQ_05_P4":"Otra diferencia notable es que Popcorn Time es completamente código abierto, mientras Stremio es ${1} parcialmente código abierto${2}.","FAQ_06_H1":"¿Agregarán esta película/serie?","FAQ_06_P1":"No, disculpa :(","FAQ_06_P2":"Como es mencionado en la mayoría de las otras preguntas, Stremio no provee contenido alguno por si mismo - todo es agregado a través de un sistema de complementos. En caso de quieras solicitar un contenido, puedes usar el botón “Reportar” en el reproductor, el cual enviará un correo al autor del complemento que estás usando actualmente.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"¿Crearan un complemento para X?","FAQ_08_P1":"Es completamente posible.","FAQ_08_P2":"Si tienes una idea para un complemento, escríbenos a ${1}office@stremio.com${2}, pero asegúrate de que tu idea complementaria no infrinja los derechos de autor ni los términos de uso.","FAQ_08_P3":"En el momento, la siguiente cosa en nuestro plan de trabajo son complementos para FandangoNOW, vídeo bajo demanda Filmon.tv y Crunchyroll.","FAQ_09_H1":"¿Usa Stremio BitTorrent?","FAQ_09_P1":"Si, Stremio soporta BitTorrent como un protocolo de transmisión. Puedes usar este con un complemento torrent, arrastrando y soltando un archivo .torrent en Stremio, o pegando un enlace magnético en la barra de búsqueda.","FAQ_09_P2":"Por favor note que el único complemento oficial usando BitTorrent es ${1}Vodo${2}, el cual provee contenido independiente, todos permitidos para ser distribuidos con BitTorrent.","FAQ_09_P3":"No soportamos el uso de cualquier complemento de terceros que pueda infringir derechos de autor.","FAQ_10_H1":"¿Qué puedo ver en Stremio con los complementos oficiales?","FAQ_10_P1":"Por defecto, puedes ver contenido de Filmon.tv, YouTube y Vodo en Stremio mismo, con su reproductor embebido. Adicionalmente, tenemos un complemento para Twitch.tv y otros tantos.","FAQ_10_P2":"Esto combinado provee una selección de:","FAQ_10_L1":"Canales de televisión populares, proveídos por Filmon.tv - por ejemplo E4, BBC, Bollyworld TV","FAQ_10_L2":"Todo desde YouTube - por ejemplo BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Películas independientes con Vodo","FAQ_10_L4":"Transmisiones de juegos en línea con Twitch.tv","FAQ_10_P3":"Adicionalmente, hay muchas fuentes de contenido provistas con los complementos de Guidebox y Netflix, los cuales no reproducirán completamente dentro de Stremio, pero podría redirigirte al service dado. For example, el complemento de Guidebox puede darte una selección de películas que puedes reproducir en Estados Unidos gratuitamente, desde servicios como TubiTV y Crackle.","FAQ_11_H1":"Stremio no instala, ¿Qué puedo hacer?","FAQ_11_P1":"Si estás en Windows, intenta ${1}este instalador alternativo${2}.","FAQ_11_P2":"Si estás en Mac OS X, ten presente que no soportamos versiones anteriores a OS X Mavericks (10.9).","FAQ_11_P3":"Si estás en Linux, ten presente que solo soportamos Linux de 64 bits (x64) en el momento.","FAQ_11_P4":"Si aún no puede resolver su problema, por favor escríbanos a nuestro ${1}grupo de Facebook${2}.","FAQ_12_H1":"¿Por qué mi antivirus reclama? ¿Es Stremio seguro?","FAQ_12_P1":"Aseguramos que Stremio ${1}100% libre de virus${2}.","FAQ_12_P2":"Su antivirus está reclamando porque nosotros incluimos publicidad en nuestro instalador, la cual es reconocida por algunos antivirus como software publicitario.","FAQ_12_P3":"Si aún estás inseguro, puedes probar nuestro ${1}instalador alternativo${2}.","FAQ_13_H1":"¿Cómo puedo crear un complemento?","FAQ_13_P1":"Para principiantes, recomendamos que revises nuestro ${1}módulo de sistema de complementos${2} en GitHub.","FAQ_13_P2":"Después, puedes seguir el ${1}tutorial: Hello World${2}.","FAQ_13_P3":"Si no tienes habilidades en programación, por favor publica tu idea en ${1}la comunidad Reddit${2} y contáctanos con tu idea de complemento a ${3}office@stremio.com${4}.","FAQ_14_H1":"¿Cómo se publican complementos?","FAQ_14_P1":"Cuando creas un complemento y lo alojas, y pones un campo endpoint en su manifiesto, que apunta a una dirección de complemento funcional, el complemento automáticamente se publicará por si mismo en nuestro ${1}catálogo de complementos${2}.","FAQ_14_P2":"Esto sucede porque la parte del servidor del módulo stremio-addons realiza automáticamente una llamada a nuestra API para anunciar el complemento. Cuando nuestra API valida su endpoint como un complemento válido, comenzará a mostrarse en el catálogo.","FAQ_15_H1":"¿Puedo ejecutar Stremio en mi navegador?","FAQ_15_P1":"No en este momento, ¡pero vendrá pronto!","FAQ_15_P2":"Si tienes curiosidad de ver un alfa, puedes verlo aquí: ${1}alpha4.strem.io${2}. Ten en mente que la transmisión es deshabilitada en este alfa. Soportamos Chrome, Firefox, Opera y Edge.","FAQ_16_H1":"Transmitir al televisor no funciona / subtítulos no funcionas","FAQ_16_P1":"La transmisión al televisor usa tecnología DLNA, que es muy inconsistente entre diferentes marcas y modelos de televisor. Por esa razón, no tenemos la capacidad de probarlo en todos los casos, por lo que está lejos de ser perfecto. A pesar de esto, estamos trabajando para mejorarlo constantemente, pero no podemos darle una estimación de cuándo la tecnología DLNA comenzará a funcionar correctamente con su televisor.","FAQ_16_P2":"Si ni siquiera ve su televisor en el menú de transmisión, intente deshabilitar su conexión de red y volver a habilitarla (en Windows, haga clic derecho en la red y use Activar/Desactivar), y reinicie su enrutador, televisor y computador.","FAQ_16_P3":"Si aún presentas problemas, puedes ayudarnos enviándonos la información de marca y modelo de tu televisor a ${1}office@stremio.com${2}.","FAQ_16_P4":"En el momento, recomendamos Chromecast, el cual soportamos bastante bien, o simplemente conecta a tu televisor con un cable HDMI.","FAQ_17_H1":"Stremio se bloquea y/o cierra, ¿qué puedo hacer?","FAQ_17_P1":"Primero que todo, si estás usando Windows 7 con el antivirus AVG: tenemos un problema con esta combinación. El problema es en el mismo AVG y no hay forma razonable para resolver el problema para nuestro fin. Desafortunadamente, excepciones o deshabilitar el antivirus no funcionará. La única solución es reemplazar AVG con otro antivirus.","FAQ_17_P2":"Si esto no soluciona el problema, pero aún estás usando Windows, por favor actualiza al último service pack y actualiza/reinstala tus controladores de la GPU, luego intenta de nuevo.","FAQ_17_P3":"Si su problema aún no se resuelve, o estás usando un Mac o Linux, por favor escríbenos reportando los detalles exactos del problema a ${1}nuestro grupo de Facebook${2}.","FAQ_18_H1":"¿Cómo puedo crear un complemento?","FAQ_18_P1":"Para principiantes, recomendamos que revises nuestro ${1}módulo de sistema de complementos${2} en GitHub.","FAQ_18_P2":"Después, puedes seguir el ${1}tutorial: Hello World${2}.","FAQ_18_P3":"Si no tienes habilidades en programación, por favor publica tu idea en ${1}la comunidad Reddit${2} y contáctanos con tu idea de complemento a ${3}office@stremio.com${4}.","FAQ_19_H1":"¿Por qué Stremio ocupa espacio en disco?","FAQ_19_P1":"Stremio tiene una cache local para almacenar temporalmente los archivos de vídeo que ves.","FAQ_19_P2":"Esto tiene dos beneficios: primero, esto permite a Stremio precargar el vídeo y así asegurar una transmisión más fluida. Segundo, este guarda los vídeos en la cache local, así puedes continuar viéndolos sin conexión.","FAQ_19_P3":"La cantidad que almacena Stremio depende de la configuración de Cache en el panel de Configuración. Stremio puede ser configurado para almacenar una cantidad (ej. 2GB) en su disco local, a menos que el vídeo transmitido actualmente sea mayor que eso, en cuyo caso tendrá que ubicar suficiente almacenamiento para guardarlo hasta que lo retransmitas","FAQ_20_H1":"¿Donde está la carpeta de almacenamiento?","FAQ_20_P1":"En Windows, es stremio-cache en el disco que seleccionaste en Configuración (ej. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"En MacOS, es \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"En Linux, es \\"~/.stremio/stremio-cache\\" o \\"~/stremio-cache\\"","FAQ_21_H1":"Obtengo el error \\"Streaming server is not found\\", ¿qué puedo hacer?","FAQ_21_P1":"Si ves este error, quiere decir una de las siguientes cosas::","FAQ_21_P2":"1) Estás intentando usar un complemento que depende de fuentes de Youtube/BitTorrent, a través de nuestra ${1}versión web${2}. En este caso, deberías instalar nuestra versión de escritorio desde ${3}nuestro sitio web${4}.","FAQ_21_P3":"2) Algo está mal con tu instalación de Stremio. En este caso, intenta reinstalar nuestra última versión de escritorio desde ${1}el sitio web${2}. Si esto no ayuda, intenta deshabilitar los programas de antivirus y el cortafuegos, reinicia tu computador e intenta de nuevo. Si esto tampoco funciona, escríbenos por favor a ${3}nuestro grupo de facebook${4}.","FAQ_22_H1":"No puedo ver/usar la mayoría de complementos en iOS","FAQ_22_P1":"Debido a las restricciones de los términos y condiciones de Apple App Store, tenemos restringida la aplicación iOS solo a un conjunto particular de complementos.","FAQ_22_P2":"Pero puedes estar seguro - habrán más complementos para iOS en el futuro, y podríamos también agregar una integración que te permita usar todos los complementos de Stremio gracias a la conexión de la aplicación iOS con el servidor de transmisión de Stremio."}')},34016:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Seriaal","TYPE_tv":"Telekanal","TYPE_channel":"Kanal","TYPE_other":"Muu","TYPE_movie_PL":"Filmid","TYPE_series_PL":"Seriaalid","TYPE_tv_PL":"Telekanalid","TYPE_channel_PL":"Kanalid","TYPE_other_PL":"Muu","TYPE_ALL":"Kõik","TYPE":"Tüüp","CATALOG_com_linvo_cinemeta_top":"Populaarne","CATALOG_com_linvo_cinemeta_imdbRating":"Esiletõstetud","CATALOG_com_linvo_cinemeta_year":"Uus","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Avalikult saadaval filmid","VIDEO":"Video","BACK":"Tagasi","MORE":"Veel","DONE":"Tehtud","COPY":"Kopeeri","SUCCESS":"Õnnestus","ERROR":"Viga","SETTINGS_CASTING_MODE_PICKER":"Ekraaniülekande viis","CASTING_MODE_HLSV2":"Tavaline","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Ümberkodeerimiseta","Discover":"Avasta","Board":"Kodu","Library":"Teek","My Library":"Minu teek","Calendar":"Kalender","NOTIFICATION_ONLINE":"Oled võrgus","NOTIFICATION_OFFLINE":"Sa ei ole hetkel võrgus","INTERNET_CONNECTION":"Netiühendus","STORAGE_FULL_TITLE":"Tähelepanu: maht on täis!","STORAGE_FULL_TEXT":"Stremio ei saa salvestada su sätteid, eelistusi ega kontoandmeid. Palun taaskäivitage või taaspaigaldage rakendus.","SEARCH":"otsi","SEARCH_NO_RESULTS":"Tulemusi ei leitud","SEARCH_EXPLANATION_CONTENT":"Otsi filme, sarju, YouTube-i ja telekanaleid","SEARCH_EXPLANATION_PEOPLE":"Otsi näitlejaid, lavastajaid ja stsenariste","SEARCH_PASTE_LINKS":"Kleebi HTTP või magnet-lingid","SEARCH_OR_PASTE_LINK":"Otsi või kleebi link","SEARCH_SUGGESTIONS":"Otsi soovitusi","ADD_TO_LIB":"Lisa teeki","REMOVE_FROM_LIB":"Eemalda teegist","ADDED_TO_LIB":"Lisatud teeki","REMOVED_FROM_LIB":"Eemaldatud teegist","TRAILER":"Treiler","WATCH_TRAILER":"Vaata treilerit","WATCH_NOW":"Vaata kohe","SHOW":"Näita","SHOW_MOVIE":"Näita filmi","WATCH_RANDOM":"Vaata suvalist","IMDB_RATING":"IMDb reiting","YEAR":"Aasta","DIRECTOR":"Lavastaja","WRITER":"Stsenarist","LEAD_ACTORS":"Peaosatäitjad","CAST":"Näitlejad","CREW":"Meeskond","SHOW_MORE_CAST":"Näita rohkem »","AIRED":"Eetriaeg","SEASONS":"Hooajad","GENRE":"Žanr","GENRE_ALL":"Kõik žanrid","CATALOG":"Kataloog","SUMMARY":"Kokkuvõte","SHOW_MORE":"Näita rohkem","SIMILAR":"Sarnane","UPCOMING":"Tulemas","TBA":"TBA","ENDED":"Lõppes","DURATION":"Kestus","FEATURED":"Esiletõstetud","METADATA":"Meta-andmed","CATEGORY":"Kategooria","LINKS_GENRES":"Žanrid","LINKS_CAST":"Näitlejad","LINKS_DIRECTORS":"Lavastajad","SEARCH_VIDEOS":"otsi videoid","SEARCH_PLACEHOLDER":"otsi või kleebi URL","ADDON":"laiendus","ADDONS":"Laiendused","OFFICIAL":"Ametlik","ADDONS_OFFICIAL":"Ametlikud Stremio laiendused","ADDONS_POPULAR":"Sinu regioonis populaarne","ADDON_FREE":"tasuta","ADDON_PEERED":"Võrgupõhine (peered)","ADDON_SUBSCRIPTION":"tellimus","ADDON_STREAM_GEORESTRICTED":"pole sinu regioonis saadaval","ADDON_STREAM_OFFLINECACHE":"Offlain-vahemälu","ADDON_STREAM_LOCALFILE":"Enda fail","SHARE_ADDON":"Jaga laiendust","AVAILABLE_STREAMS":"Saadaolevad vood","NO_STREAM":"Vooge ei leitud","ALL_ADDONS":"Kõik","INSTALL_MORE_ADDONS":"Rohkemate voogude leidmiseks palun paigaldage laiendusi juurde.","STREAM_NOT_SUPPORTED":"Valitud voog ei ole sel platvormil toetatud.","ADDON_CATALOGUE":"Näita kõiki laiendusi »","ADDON_CATALOGUE_MORE":"Paigalda laiendusi","REPO_ADDED":"Lisatud","ADDON_REPO_EXIST_ERR":"See laiendustekogu on juba olemas","ADDON_REPO_ERR":"Viga kollektsiooni lisamisel","ADDON_ADD_ERR":"Viga laienduse lisamisel","ERR_ADDON_PROTECTED":"Laiendust ei saa eemaldada, see on kaitstud","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Miskit läks nihu - autentimine võis ebaõnnestuda","ERR_NOT_COLLECTION_URL":"See ei ole kollektsiooni-URL","ERR_NOT_ADDON_URL":"See ei ole õige laienduse-URL","ERR_DETECTFROMURL":"Sellelt lingilt laiendust ei leitud","ADDON_DUPLICATE_WARNING":"Hoiatus: korduv laiendus","ADDON_COLLECTION_SET_FAILED":"Laienduste sünkroniseerimine ebaõnnestus","SETTINGS_DATA_EXPORT":"Ekspordi kasutaja-andmed","ADDON_PULL_FAILED":"Laienduste sünkroniseerimine ebaõnnestus","REFRESH_ON_CLICK":"Proovi uuesti","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film veel kinodes","WATCH_IN_CINEMA":"Vaata kohalikus kinos","IN_THEATER":"Kinodes","GET_TICKETS":"Hangi pilet","UPCOMING_EPISODE":"Järgmine episood","UPCOMING_EPISODE_MESSAGE":"Episood ilmub","MISSING_DATE_EPISODE":"Kuupäev puudub","MISSING_DATE_EPISODE_MESSAGE":"See jagu pole veel vist ilmunud","CHANNEL_NOT_SCRAPED":"Seda kanalit pole veel kraabitud.
    Tulge tagasi mõne minuti pärast.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Lisa teeki, et saada teavitus, kui see on saadaval.","GET_NOTIFIED_WHEN_AVAILABLE":"Saad teavituse, kui see on saadaval.","WARNING_STREAMING_SERVER":"Hoiatus: kohalikku serverit ei leitud.","WARNING_STREAMING_SERVER_DISMISS":"Eira","WARNING_STREAMING_SERVER_LATER":"Hiljem","DECODER_WARNING":"Hoiatus: see video ei pruugi teie riistvaraga ühilduda. Arvestage, et esitus võib olla aeglane.","GENERIC_ERROR_MESSAGE":"Midagi läks valesti!","TRY_AGAIN":"Proovi uuesti","CLEAR_DATA":"Kustuta andmed","PLAYER_ERROR":"Oih, esitaja viga","PLAYER_ERROR_LOOKSLIKE":"Paistab, et","PLAYER_ORIENTATION":"Esitaja orientatsioon","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Lukustatud","PLAYER_ORIENTATION_SENSOR_SHORT":"Andur","PLAYER_ORIENTATION_LANDSCAPE":"Esitaja orientatsioon on lukustatud maastiku režiimis","PLAYER_ORIENTATION_SENSOR":"Esitaja orientatsioon on automaatne (andur)","PLAYER_PLAYBACK_SPEED":"Esituse kiirus","PLAYER_PLAYBACK_ERROR":"Esituse viga, palun proovi uuesti","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Tundmatu viga","PLAYER_PLAYBACK_ERROR_DEFAULT":"Vabandust, seda videot ei saa {{productName}} esitada.","PLAYER_SUBTITLES_LANGUAGES":"Subtiitrite keeled","PLAYER_SUBTITLES_VARIANTS":"Subtiitrite variandid","PLAYER_SUBTITLES_SETTINGS":"Subtiitrite sätted","PLAYER_SUBTITLES_DISABLED":"Subtiitrid on keelatud","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertikaalne asend","PLAYER_SUBTITLES_LOADED":"Subtiitrid on laetud","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Sisseehitatud subtiitrid on laetud","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Eksklusiivsed subtiitrid on laetud","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtiitrid allikast {{origin}} on laetud","PLAYER_PLAY":"Esita","PLAYER_PAUSE":"Peata","PLAYER_NEXT_VIDEO":"Järgmine video","PLAYER_MUTE":"Vaigista","PLAYER_UNMUTE":"Tühista vaigistus","PLAYER_OPEN_IN_EXTERNAL":"Ava välises esitajas","PLAYER_OPEN_IN_NPLAYER":"Ava nPlayeris","PLAYER_PLAY_IN":"Esita seadmes {{device}}","PLAYER_LIVE":"Otse","PLAYER_NEXT_VIDEO_TITLE":"Järgmine video","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Järgmine","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Loobu","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Vaata kohe","PLAYER_COPY_STREAM_SUCCESS":"Esituslink kopeeriti lõikelauale","PLAYER_COPY_STREAM_ERROR":"Esituslinki ei õnnestunud kopeerida","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Allalaadimislink kopeeriti lõikelauale","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Allalaadimislinki ei õnnestunud kopeerida","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"esitab allikast","CASTING_TO":"Kuvatakse seadmes","NETWORK_STATUS":"Võrguseisund","STREAM_SPEED":"Esituskiirus:","STREAM_BUFFERED":"Puhverdatud:","PEERS_INFO":"Paaride teave","PEERS_ACTIVE":"Aktiivsed:","PEERS_CONNECTED":"Ühendatud:","PEERS_WAITING":"Ootab:","TRANSCODING_WARNING":"Hoiatus: video kodeerimine.","STREAM_LOADING":"laadimine...","PLAYING_LOCAL":"esitamine kohalikust failist","PLAYING_CACHE":"esitamine vahemälust","WRONG_SUBS":"Valed subtiitrid?","ERR_SUBS_LOADING_TITLE":"Viga subtiitrite laadimisel","ERR_SUBS_LOADING":"Subtiitreid ei õnnestunud laadida: probleem võib olla teie kasutatavas laienduses või võrgus.","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Järgmised subtiitrite laiendused ebaõnnestusid","ERR_CASTING_UPDATE_TITLE":"Edastusseadet ei õnnestunud värskendada: server võib olla võrguühenduseta","CHOOSE_DEVICE":"Valige seade, millel vaadata","NO_CAST_DEVICES":"Edastus-seadmeid pole saadaval.","NO_SETTINGS":"Seadmed puuduvad.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Tahvelarvuti","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtiitrid","SUBTITLES_CHANGE":"Muuda subtiitreid","SUBTITLES_CHANGE_NONE":"Selle keele jaoks pole muid subtiitreid, vabandame.","SUBTITLES_CHANGE_ACIVE":"Praegu on aktiveeritud subtiitrid #{{subtitlesDialog.activeIdx + 1}}. Vajuta \\"Jätka\\" subtiitrite #{{subtitlesDialog.pickedIdx + 1}} aktiveerimiseks.","SUBTITLES_OR":"Alternatiivina,","SUBTITLES_ADJUST_DELAY":"Subtiitrite viivituse kohandamine:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Või kasutage esitamise ajal G / H klahve viivituse kohandamiseks.","SUBTITLES_ADJUST_DELAY_TIP":"Vihje: kasutage esitamise ajal G / H klahve viivituse kohandamiseks.","SUBTITLES_DELAY":"Subtiitrite viivitus:","SUBTITLES_LOADING":"Subtiitrid laaditakse...","SUBTITLES_UNAVAILABLE":"Väliseid subtiitreid pole saadaval","SUBTITLES_DISABLED":"Keelatud","EXTERNAL_PLAYER_DISABLED":"Keelatud","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Luba valik","EXTERNAL_PLAYER_HINT":"Vihje: Seade, mis võimaldab alati avada välises esitajas","DONT_SHOW_AGAIN":"Ära näita enam","SERVICE_INSTALL":"Paigalda","AUDIO":"Heli","DEFAULT_LANGUAGE":"Eelistatud keel","DEFAULT_SECONDARY_LANGUAGE":"Teine eelistatud keel","SEASON":"Hooaeg","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Osa","EPISODE_ABBREVIATION":"EP","SPECIAL":"Eriosa","SORT":"sorteeri","SORT_BY":"Sorteeri","FILTER":"filtreeri","SORT_TRENDING":"populaarsemad","SORT_RECENT":"uuemad","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"hinnang","SORT_WATCHED":"vaadatud","SORT_YEAR":"aasta","SELECT":"Select","SELECT_TYPE":"Vali tüüp","SELECT_SORT":"Vali sorteerimine","SELECT_CATALOG":"Vali kataloog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Vali žanr","SORT_LASTWATCHED":"viimati vaadatud","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"enim vaadatud","SORT_NOTWATCHED":"pole vaadatud","New for You":"Uus sulle","New Episodes":"Uued osad","New Videos":"Uued videod","Recommendations":"Soovitused","LIBRARY_RESUME":"Jätka","LIBRARY_PLAY":"Esita","LIBRARY_DETAILS":"Üksikasjad","LIBRARY_RESUME_DISMISS":"Loobu","LIBRARY_CLEAR_PROGRESS":"Kustuta progress","LIBRARY_REMOVE":"Eemalda","LIBRARY_NOT_LOGGED_IN":"Teek on saadaval ainult sisselogitud kasutajatele","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Kalender on saadaval ainult sisselogitud kasutajatele","NOT_LOGGED_IN_CLOUD":"Pääsete oma lemmikfilmidele ja -sarjadele ligi igal ajal ja igal pool","NOT_LOGGED_IN_RECOMMENDATIONS":"Soovitused teie vaatamisajaloo põhjal","NOT_LOGGED_IN_NOTIFICATIONS":"Ärge jätke ühtegi episoodi vahele","NOT_LOGGED_IN_CALENDAR":"Planeerige oma vaatamiskalender","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Esiletõstetud","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscarite võitjad","DISCOVER_WARNING_TITLE":"Oih!","DISCOVER_EMPTY_CATALOG":"See laiendus tagastas tühja sisu.","DISCOVER_ADULT_WARNING":"Sisu on nähtav ainult täiskasvanutele. Kas olete üle 18?","DISCOVER_NOADDON_WARNING":"Hoiatus: selle tüübi jaoks pole Stremio laiendust. Näitame salvestatud üksusi, midagi siin ei uuendata.","DISCOVER_LOAD_ERR":"Sisu ei laaditud, ilmnes tõrge.","DISCOVER_ADDON_UNINSTALLED":"See sisu pole enam saadaval, võib-olla olete laienduse eemaldanud.","UNINSTALL_THIS_ADDON":"Eemalda see laiendus","ERR_ADDON_NOT_INSTALLED":"See laiendus pole paigaldatud. Paigalda nüüd?","DETAIL_RECEIVE_NOTIF_SERIES":"Saa teavitusi uute osade kohta","DETAIL_RECEIVE_NOTIF_VIDEOS":"Saa teavitusi uute videote kohta","SIDEBAR_SHOW_STREAMS":"Kuva edastusvood","RELAUNCH":"Käivita uuesti!","UPGRADE":"Uus versioon on saadaval! Uuenda Stremio viimase versioonini","RELOAD_UI":"Laadi kasutajaliides uuesti","MANUAL_UPDATE_TITLE":"Uuenda oma Stremio versiooni","MANUAL_UPDATE_LINE1":"Kasutad aegunud Stremio versiooni, mis ei ole soovitatav.","MANUAL_UPDATE_LINE2":"Palun uuenda seda nii kiiresti kui võimalik.","BUTTON_UPDATE_LATTER":"Mitte praegu","BUTTON_UPDATE_NOW":"Uuenda","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonüümne kasutaja","DONT_HAVE_ACC":"Ei ole veel kontot?","HAVE_ACC":"Juba on konto?","PASSWORD":"Parool","PASSWORD_CONFIRM":"Kinnita parool","EMAIL":"E-post","FB_LOGIN":"Jätka Facebookiga","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Midagi ei jagata ilma sinu loata","FB_NOPOST":"Me ei tee sinu nimel ühtegi postitust","OR":"või","I_ACCEPT":"Nõustun","I_ACCEPT_BY_CLICKING":"Klikkides eelnimetatud nupule kinnitan, et nõustun ","TOS":"Kasutustingimustega","MUST_ACCEPT_TERMS":"Pead nõustuma tingimustega","PASSWORDS_NOMATCH":"Paroolid ei ühti","SIGN_UP":"Registreeru","SIGN_UP_EMAIL":"Registreeru e-posti teel","CLICK_TO_SIGN_UP":"Kliki siia, et registreeruda.","LOG_IN":"Logi sisse","LOG_OUT":"Logi välja","EXIT_FULLSCREEN":"Välju täisekraanilt","ENTER_FULLSCREEN":"Täisekraanile","PLAY_URL_MAGNET_LINK":"Esita URL/Magnet-link","HELP_FEEDBACK":"Abi ja tagasiside","TERMS_OF_SERVICE":"Kasutustingimused","PRIVACY_POLICY":"Privaatsuspoliitika","ABOUT_STREMIO":"Stremio kohta","USER_PANEL":"Kasutajapaneel","LOGIN_LABEL":"Logi sisse","GUEST_LOGIN":"Sisselogimine külalisena","GUEST_LOGIN_NOTICE":"Külalisena sisselogimine ei ole soovitatav. Tavalise sisselogimise abil saad Stremioga sünkroonida oma teegi, saada teavitusi lemmikute sarjade/kanalite kohta. Kas oled kindel, et soovid jätkata?","GUEST_LOGIN_NOTICE_2":"Külalisena sisselogimine ei ole soovitatav - sul ei ole sünkroonitud teeki ega teavitusi, mis on Stremio põhilised funktsioonid. Kas oled kindel, et soovid jätkata?","CLICK_HERE":"kliki siia","WRONG_PASSWORD":"Vale e-post või parool. Kui oled unustanud oma parooli, ","SET_A_PASS":"määra parool","RESET_PASSWORD":"Taasta parool","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Unustasid parooli?","EMAIL_USED_WITH_FB":"Seda e-posti kasutati Facebooki sisselogimiseks.","INVALID_EMAIL":"Sisesta palun kehtiv e-posti aadress","INVALID_PASSWORD":"Sisesta palun kehtiv parool","CONN_ERR":"Ühendusveateade - palun proovi hiljem uuesti.\\n\\nKui see jätkub, lülita välja tulemüürid/viirusetõrjetarkvara (eriti Bitdefender).","IMPORT_FROM_GUEST":"Impordi teek külaliskontolt","RECEIVE_UPDATES_EMAIL":"Saa Stremio uuenduste teated oma e-postile","LOGIN_FAILED":"Sisselogimine ebaõnnestus.","SIGNUP_FAILED":"Registreerimine ebaõnnestus.","SEARCH_FAILED":"Otsing ebaõnnestus","EMAIL_USED":"See e-posti aadress on juba kasutusel.","WAITING_FB_LOGIN":"Sisselogimine Facebookiga...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Esita välises Esitajas","EXTERNAL_REMEMBER_PLAYER":"Kas soovid seda valikut meeles pidada","EXTERNAL_ALWAYS_PLAY":"Jah","EXTERNAL_ONLY_ONCE":"Ei","BEST_FIT":"Parim sobivus","FIT_SCREEN":"Mahutle ekraanile","FILL":"Täida","16:9":"16:9","4:3":"4:3","Original":"Originaal","INTRO_TASTE":"Räägi meile oma huvidest","INTRO_TASTE_LONG":"Räägi meile, mida tahaksid vaadata","INTRO_TASTE_PICK":"Vali {{interestsRemaining}} huvi","INTRO_TASTE_PICK_MORE":"Vali {{interestsRemaining}} täiendavat huvi","INTRO_TASTE_HELP_US":"Aita meil sind paremini tundma õppida.","INTRO_TASTE_CHOOSE_THESE":"Vali mõned neist:","INTRO_TASTE_CHOOSE_MIN":"Vali vähemalt 3 kategooriat","INTRO_TASTE_CHOOSE_MIN_ERR":"Pead valima vähemalt 3 kategooriat!","INTRO_TASTE_LIFESTYLE":"Eluviis","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Toit ja tervis","INTRO_TASTE_BEAUTY_FASHION":"Ilu ja mood","INTRO_TASTE_NEWS":"Uudised","INTRO_TASTE_GAMING":"Mängud","INTRO_TASTE_SCIENCE_EDU":"Teadus ja haridus","INTRO_TASTE_MUSIC":"Muusika","INTRO_TASTE_TRAVEL":"Reisimine","INTRO_TASTE_LATE_NIGHT":"Hilised ööshow\'d","INTRO_TASTE_REALITY":"Tõsielusarjad","INTRO_TASTE_COMEDY":"Komöödia","INTRO_TASTE_DIY":"Teeme ise (DIY)","INTRO_TASTE_TECH":"Tehnoloogia","INTRO_TASTE_CINEMA":"Kino","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Valitud laiendust ei toetata sellel platvormil.","ADDON_DISCLAIMER":"Kolmandate osapoolte laienduste kasutamine on alati sinu enda vastutus ja sõltub sinu asukohariigi õigusaktidest.","ADDON_ACTIVATE":"Kas aktiveerida see laiendus?","ADDON_REPO_ADD":"Laiendustekogu URL","ADDON_ADD":"Lisa","INSTALL_ADDON":"Paigalda laiendus","ADD_ADDON":"Lisa laiendus","ADD_ADDON_DESCRIPTION":"Saad lisada laienduse välise lingi kaudu, mis kuvatakse paigaldatud laienduste all.","PASTE_ADDON_URL":"Kleebi laienduse URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Mis on uut","BUTTON_CONTINUE":"Jätka","BUTTON_ACTIVATE":"Aktiveeri","BUTTON_ACTIVATED":"Aktiveeritud","BUTTON_CANCEL":"Tühista","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Esita","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Uuri kõik","BUTTON_VIEW_ALL":"kuva kõik","BUTTON_SEE_ALL":"Vaata kõiki","BUTTON_COLOR_TRANSPARENT":"Läbipaistev","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Ava veebilehitsejas","LIB_EMPTY":"Sinu teek paistab tühi olevat. Avasta, kui kasulik see on :) ","HOW_START":"Siin on kirjas, kuidas saad alustada:","LIB_EMPTY_CAL":"Sinu kalender näitab sarjasid, mis on sinu teegis.","HOW_START_CAL":"Siin on, kuidas saad sarjasid lisada:","LIB_EMPTY_BOARD":"Koduleht kuvab teavitusi ja soovitusi, mis on seotud sinu teegiga.","HOW_START_BOARD_WAIT":"Palun lisa oma teeki mõned sarjad või kanalid ning anna meile mõni minut, et neid töödelda :)","HOW_START_BOARD":"Siin on näidatud, kuidas saad sarjasid ja filme lisada:","IMPORT_FB":"Impordi asju, mis sulle meeldivad Facebookist","IMPORT_TRAKT":"Impordi oma meediateek Trakt-ist","IMPORT_DISCOVER":"Leia huvitavaid asju Avastuslehelt","IMPORT_DISK":"Impordi filmid või sarjad, mis on sinu kohalikul kettalt","PLEASE_CREATE_ACC":"Palun loo konto, et lubada teegi sünkroonimist ja muid teenuseid.","IMPORT_DISCOVER_SIGNUP":"Registreeru ja leia huvitavaid asju Avastuse sektsioonist","IMPORT_DISK_SIGNUP":"Registreeru ja impordi filmid või sarjad, mis on sinu kohalikul kettal","LIB_EMPTY_CLOUD":"Pilveteek","LIB_EMPTY_CLOUD_DESC":"Isiklik pilveteek, mis on sünkroonitud kõikide seadmetega","LIB_EMPTY_EARLY":"Varajane pääsuke","LIB_EMPTY_EARLY_DESC":"Saa teavitusi uute episoodide kohta","LIB_EMPTY_PERSONAL":"Isiklik","LIB_EMPTY_PERSONAL_DESC":"Saa isiklikke soovitusi","LIB_EMPTY_CALENDAR_DESC":"Planeeri oma isiklik vaatamise kalender","LIB_EMPTY_ALL":"Registreeru, et saada kõike seda:","LIB_EMPTY_BEST":"Registreeru, et saada parim kogemus","LIB_EMPTY_OTHER":"Registreeru, et lubada kalendrit ja muid põnevaid funktsioone","CALENDAR_ADDED":"Stremio kalender on lisatud sinu vaikimisi töölauakalendriks.","CALENDAR_ADDED_MSG":"Kui see ei tööta, palun lisa see URL-i käsitsi oma kalendrirakendusse","TRAKT_EXPIRED":"Trakti autentimine aegus, palun mine Seadetesse ja authenticakse uuesti","TRAKT_REQUIRES_LOGIN":"Trakti viga","TRAKT_REQUIRES_LOGIN_MSG":"Pead sisse logima","TRAKT_IMPORT_WATCHED":"Impordi","THEME":"Teema","THEME_DEFAULT":"Vaikimisi","THEME_ADAPTIVE":"Kohandatud","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Seaded","SETTINGS_NAV_GENERAL":"Üldine","SETTINGS_NAV_PLAYER":"Pleier","SETTINGS_NAV_STREAMING":"Voogedastus","SETTINGS_NAV_SHORTCUTS":"Otseteеd","SETTINGS_SHORTCUT_RELOAD_APP":"Laadi rakendus uuesti","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Ava sätted","SETTINGS_SHORTCUT_SWITCH_TABS":"Vaheta vahelehti","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Liigu järgmisele vahelehele","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Liigu eelmisele vahelehele","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigeeri menüüde vahel","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Mine otsingu juurde","SETTINGS_SHORTCUT_EXIT_BACK":"Välju / Mine tagasi","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Esituskiiruse menüü","SETTINGS_SHORTCUT_MENU_VIDEOS":"Videote menüü","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Subtiitrite menüü","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Info menüü","SETTINGS_SHORTCUT_FULLSCREEN":"Täisekraan","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Kuva Juhtnupud","SETTINGS_SHORTCUT_PLAY_PAUSE":"Esita / Pane pausile","SETTINGS_SHORTCUT_VOLUME_UP":"Volüümi juurde","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volüümi vähemaks","SETTINGS_SHORTCUT_SEEK_NEXT":"Järgmine","SETTINGS_SHORTCUT_SEEK_PREV":"Eelmine","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Tagasi","SETTINGS_SHORTCUT_SEEK_FORWARD":"Edasi","SETTINGS_SHORTCUT_PLAY_NEXT":"Esita järgmist","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Subtiitrid suuremaks","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Subtiitrid väiksemaks","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Suurenda subtiitrite viivitust","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Vähenda subtiitrite viivitust","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Küljeriba","SETTINGS_SHORTCUT_OR":"või","SETTINGS_SHORTCUT_TO":"kuni","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Tühik","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autendi","SETTINGS_FACEBOOK_IMPORT":"Impordi","SETTINGS_CALENDAR_SUBSCRIBE":"Telli","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Kalendrirakendus avati. Tellige kalendriteavitused käsitsi.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Kalendrifail laaditi alla. Avage see oma kalendrirakenduses.","SETTINGS_INTERFACE_LANGUAGE":"Kasutajaliidese keel","SETTINGS_LAUNCH_STARTUP":"Ava käivitamisel","SETTINGS_VLC_DEFAULT":"Esita VLC-ga","SETTINGS_UI_LANGUAGE":"Kasutajaliidese keel","SETTINGS_UI_ZOOM":"Kasutajaliidese suum (zoom)","SETTINGS_FULLSCREEN_EXIT":"Escape nupp välju täisekraanilt","SETTINGS_GAMEPAD":"Luba gamepad-i toetus","SETTINGS_CLOSE_WINDOW":"Sule rakendus, kui aken sulgub","SETTINGS_SUBTITLES_LANGUAGE":"Eelistatud subtiitrite keel","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Eelistatud subtiitrite suurus","SETTINGS_SUBTITLES_BACKGROUND":"Subtiitrite tagataust","SETTINGS_SUBTITLES_COLOR":"Subtiitrite värv","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtiitrite piirjoone värv","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtiitrite taustavärv","SETTINGS_SEEK_KEY":"Nooleklahvide abil ajas edasi-tagasi liikumine","SETTINGS_SEEK_KEY_SHIFT":"Nooleklahvide abil ajas liikumine, kui Shift-klahv on all","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Tagasikerimise ja kiire edasikerimise kestus","SETTINGS_BINGE":"Automaatne järgmise osa esitamine","SETTINGS_NEXT_VIDEO":"Kuva teade järgmise osa käivitamiseks","SETTINGS_NEXT_VIDEO_TRIGGER":"Kuva järgmise osa teade:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Järgmise video hüpikakna kestus","SETTINGS_PLAY_IN_BACKGROUND":"Esita taustal","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Esita välises mängijas","SETTINGS_RESIZE":"Muuda akna suurust automaatselt enne esitamist","SETTINGS_OVERRIDE_SERVER":"Asenda voogesituse serveri URL (edasijõudnutele)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Voogesituse serveri URL:","SETTINGS_SERVER_AVAILABLE":"Voogesituse server on saadaval.","SETTINGS_SERVER_UNAVAILABLE":"Voogesituse server pole saadaval.","SETTINGS_SERVER_STATUS_ONLINE":"Võrgus","SETTINGS_SERVER_STATUS_ERROR":"Viga","SETTINGS_SERVER_CONFIGURE_TITLE":"Seadista voogesituse serveri URL","SETTINGS_SERVER_CONFIGURE_INPUT":"Sisesta voogesituse serveri URL","SETTINGS_SERVER_CACHE_SIZE":"Vahemälu suurus","SETTINGS_SERVER_TORRENT_PROFILE":"Torrentiprofiil","SETTINGS_HTTPS_ENDPOINT":"Voogesituse HTTPS lõpp-punkt:","SETTINGS_TRANSCODE_PROFILE":"Transkodeerimise profiil","SETTINGS_USE_BETA":"Kasuta alati uusimat Beta versiooni","SETTINGS_IMPORT_FB":"Impordi Facebookist","SETTINGS_IMPORT_DISK":"Impordi kohalikult kettalt","SETTINGS_IMPORT_TRAKT":"Impordi Traktist","SETTINGS_PAUSE_MINIMIZED":"Peata esitus, kui aken on minimeeritud","SETTINGS_HWDEC":"Riistvarakiirendusega dekodeerimine","SETTINGS_BACKGROUND":"Taustaesitus","SETTINGS_SUBSCRIBE_CALENDAR":"Telli kalender","SETTINGS_REQ_EXPORT":"Nõua andmete eksporti","SETTINGS_ACC_DELETE":"Nõua konto kustutamist","SETTINGS_CHANGE_PASSWORD":"Muuda parooli","SETTINGS_TOS":"Kasutustingimused","SETTINGS_SUPPORT":"Võta ühendust toega","SETTING_LANGUAGE":"Keel","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt jälgimine","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Logi välja Trakt.tv-st","SETTINGS_TRAKT_LOGOUT_2":"Logi välja Trakt-st","SETTINGS_SCAN_FOR_REMOTE":"Skaneeri QR-kood kaugjuhtimise avamiseks","SETTINGS_DESKTOP_NOTIFICATIONS":"Töölaua teavitused","SETTINGS_DATA_SAVER":"Andmesäästja","SETTINGS_LANGUAGE_INTERFACE":"liides","SETTINGS_LANGUAGE_SUBS":"vaikimisi subtiitrid","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Vali automaatselt helirada","SETTINGS_DEFAULT_AUDIO_TRACK":"Vaikimisi helirada","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Ruumiline heli","SETTINGS_ACCOUNT":"konto","SETTINGS_PLATFORM":"Platvorm","SETTINGS_VERSION":"Versioon","SETTINGS_ABOUT":"Teave","SETTINGS_MPV_WINDOW":"Käivita mängija eraldi aknas (edasijõudnutele)","SETTINGS_PLAY_IN_EXTERNAL":"Alusta videot alati välises mängijas","SETTINGS_STORAGE_BUTTON":"Tühjenda kohalik mälu","SETTINGS_STORAGE_MODAL_TITLE":"Kas oled kindel?","SETTINGS_STORAGE_MODAL_MESSAGE":"See tühjendab kohaliku mälu ja logib sind välja.","SETTINGS_HWDEC_PICKER":"Vali riistvarakiirendusega dekodeerimise seade","SETTINGS_HW_AUTOMATIC":"Automaatne","SETTINGS_HW_DISABLED":"Keelatud","SETTINGS_HW_ACCELERATED":"Dekodeerimise kiirendus","SETTINGS_HW_FULL":"Täielik kiirendus","SETTINGS_HW_LEGACY":"Vana versioon","SETTINGS_DISABLED":"Keelatud","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Võrguga ühenduse teavitamine","SETTINGS_ANALYTICS":"Luba analüütika","SETTINGS_REMOTE_URL":"Kaugjuhtimise URL","SETTINGS_COPY_REMOTE_URL":"Kopeeri kaugjuhtimise URL","SETTINGS_REMOTE_URL_COPIED":"Kaugjuhtimise URL on kopeeritud lõikelauale","SETTINGS_SECTION_SUBTITLES":"Subtiitrid","SETTINGS_SECTION_AUDIO":"Heli","SETTINGS_SECTION_CONTROLS":"Juhtnupud","SETTINGS_SECTION_AUTO_PLAY":"Automaatne esitamine","SETTINGS_SECTION_ADVANCED":"Täpsemalt","SUBSPICKER_AUDIO":"Heli","SUBSPICKER_SUBTITLES":"Lisa subtiitrid","SUBSPICKER_BLACK_BACKGROUND":"Kasuta musta taustavärvi","SUBSPICKER_VERTICAL_OFFSET":"Vertikaalne nihe","SUBSPICKER_SIZE":"Suurus","SUBSPICKER_DELAY":"Viivitus","SUBSPICKER_EMBEDDED_SUBS":"Sisseehitatud subtiitrid","MOBILE_PRIVACY_POLICY":"Privaatsuspoliitika","MOBILE_CRASH_REPORTING":"Vigadest teavitamine","MOBILE_ZOOM_TO_FILL":"Suumi täisekraanile","MOBILE_PASSTHROUGH":"Digitaalne heliväljund (passthrough)","MOBILE_RUN_LOW_BATTERY":"Tööta madala akutaseme korral","MOBILE_RUN_FOREGROUND":"Tööta esiplaanil","MOBILE_PERFORMANCE":"TULEMUSLIKKUS & STABIILSUS","MOBILE_SERVER_ONLINE":"Võrgus","MOBILE_SERVER_OFFLINE":"Võrgust väljas","MOBILE_QR_EXPIRES":"QR-kood aegub ","MOBILE_LOG_INTO":"Logi sisse oma Stremio kontosse ","MOBILE_SCAN_QR":"Skaneeri QR-kood ülal või mine lehele ","MOBILE_LINK_ACCOUNT":"Seo konto","MOBILE_SPEEDPICKER_CANCEL":"Tühista","MOBILE_SPEEDPICKER_LABEL":"Vali esituskiirus","MOBILE_EMPTY_LIBRARY":"Sinu teek on tühi","MOBILE_NO_ADDON_ACTIVE":"Ükski Stremio laiendus pole selle tüübi jaoks aktiivne.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer rakendusel on piiratud funktsionaalsus. Täieliku Stremio kogemuse jaoks kasuta Stremiot arvutis.","MOBILE_ADDON_LOADING":"on veel laadimisel","MOBILE_ADDONS_LOADING":"laiendused on veel laadimisel","MOBILE_ADDON":"Laiendus","MOBILE_CONFIGURE_ADDON":"Seadista oma laiendus","MOBILE_CONFIGURE_ADDON_LABEL":"Seadista laiendus","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer rakenduses on saadaval piiratud kogus laiendusi. Täieliku kogemuse jaoks kasuta Stremiot arvutis.","MOBILE_DISCONNECT":"Ühenda lahti","MOBILE_LOOKING_FOR_DEVICES":"Otsib seadmeid...","MOBILE_CAST_TO":"Edasta","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Konto kustutamine","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Konto kustutamine ei ole kohene õiguslike kohustuste tõttu. Pärast konto kustutamise taotlemist tuleb tulevikus kasutada uut e-posti aadressi/Facebooki profiili uue Stremio konto loomiseks.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Kinnita konto kustutamine","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Sinu konto on loodud Facebooki kaudu. Konto kustutamiseks kasuta meie kasutajaportaali aadressil www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Palun sisesta oma parool konto kustutamise kinnitamiseks.","MOBILE_DELETE_ACCOUNT_BUTTON":"Kustuta konto","NAVIGATION_ON":"Sees","NAVIGATION_OFF":"Väljas","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Nõustun saama Stremio turunduskommunikatsioone","QUIT":"Lahku","CONNECTED":"Ühendatud","AUTHENTICATE":"Autendi","AUTHENTICATING":"Authenticating...","CACHING":"Vahemällu salvestamine","SETTINGS_CACHING_DRIVE":"Vahemälu draiv","ENABLE_LOCAL_FILES_ADDON":"Luba kohalike failide lisa (vajab taaskäivitust)","LOCAL_ADDON_NOT_ENABLED":"Kohalik lisa pole lubatud. Klõpsa siin, et minna seadetesse ja see lubada","ENABLE_REMOTE_HTTPS_CONN":"Luba kaug-HTTPS ühendused","TORRENT_PROFILE":"Torrentiprofiil","DATA_CACHING":"Andmete vahemällu salvestamine","MAGNET_PARSING":"Magnetlingi töötlemine","January":"Jaanuar","February":"Veebruar","March":"Märts","April":"Aprill","May":"Mai","June":"Juuni","July":"Juuli","August":"August","September":"September","October":"Oktoober","November":"November","December":"Detsember","Monday":"Esmaspäev","Tuesday":"Teisipäev","Wednesday":"Kolmapäev","Thursday":"Neljapäev","Friday":"Reede","Saturday":"Laupäev","Sunday":"Pühapäev","Action":"Märul","Comedy":"Komöödia","War":"Sõda","Family":"Perekond","Animation":"Animatsioon","Adventure":"Seiklus","Fantasy":"Fantaasia","Crime":"Kuritegu","Mystery":"Müsteerium","Romance":"Romantika","Drama":"Draama","Horror":"Õudus","Thriller":"Põnevik","Sci-Fi":"Ulme","Music":"Muusika","Biography":"Elulugu","Documentary":"Dokumentaal","Sport":"Sport","Musical":"Muusikal","Western":"Vestern","Film-Noir":"Film-Noir","News":"Uudised","History":"Ajalugu","Game-Show":"Mängusaade","Reality-TV":"Tegelikkus-TV","Talk-Show":"Vestlussaade","Film & Entertainment":"Film & Meelelahutus","Gaming":"Mängimine","From TV":"TV-st","Lifestyle":"Elustiil","Science & Education":"Teadus & Haridus","Cooking & Health":"Toit ja Tervis","Beauty & Fashion":"Ilu ja Mood","Sports":"Sport","News & Politics":"Uudised ja Poliitika","How-to & DIY":"Kuidas teha ja isetegemine","Tech":"Tehnika","Automotive":"Autotööstus","Causes & Non-Profits":"Heategevus ja mittetulundus","Movies":"Filmid","Uk Live Tv":"UK Otse-TV","Fashion":"Mood","Business News Radio":"Äriuudiste Raadio","Business Tv":"Äri TV","Cars & Auto":"Autod ja Auto","Comedy Radio":"Komöödia Raadio","Lifestyle Radio":"Elustiili Raadio","News Tv":"Uudiste TV","Food And Wine":"Toit ja Vein","Latino Tv":"Ladina TV","Shopping Tv":"Ostu-TV","Religion":"Religioon","Kids":"Lapsed","Body & Soul":"Keha ja Hing","Education":"Haridus","Indian Tv":"India TV","Extreme Sports":"Ekstreemsport","Middle Eastern Tv":"Lähis-Ida TV","Celebrity Tv":"Kuulsuste TV","Science Tv":"Teadus-TV","Bikini babe":"Bikiinitüdruk","Outdoors":"Õues","German Tv":"Saksa TV","French Tv":"Prantsuse TV","Italian Tv":"Itaalia TV","Gamer Tv":"Mänguri-TV","Travel":"Reisimine","Asian Tv":"Aasia TV","Entertainment":"Meelelahutus","News Radio":"Uudiste Raadio","Music Radio":"Muusika Raadio","Language Learning":"Keeleõpe","Science Radio":"Teaduse Raadio","Tech Radio":"Tehnikaraadio","Science & Technology Vod":"Teadus ja Tehnoloogia VOD","new video":"uus video","new episode":"uus osa","new movie":"uus film","recommended":"soovitatav","we recommend":"me soovitame","offer of the day":"päeva pakkumine","news":"uudised","music video":"muusikavideo","CTX_SHOW_HOTKEYS":"Näita kiirklahve","CTX_DISMISS_NOTIF":"Eemalda teavitused","CTX_DISMISS_ALL":"Eemalda kõik","CTX_SHARE":"Jaga","CTX_COPY_SHARE_LINK":"Kopeeri jagamislink","CTX_COPY_MAGNET_LINK":"Kopeeri magnetlink","CTX_COPY_STREAM_LINK":"Kopeeri voogesituslink","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Kopeeri video allalaadimislink","CTX_DOWNLOAD_VIDEO":"Laadi see video alla","CTX_DOWNLOAD_SUBS":"Laadi subtiitrid alla","CTX_VIEW_ON_YOUTUBE":"Vaata YouTube\'is","CTX_SHOW":"Näita","CTX_PLAY":"Esita","CTX_PLAY_IN":"Esita rakendusega","CTX_PLAY_ON":"Esita seadmel","CTX_WATCH_ON":"Vaata seadmel","CTX_WATCH":"Vaata","CTX_WATCHED":"Vaadatud","CTX_WATCH_BEGINNING":"Alusta algusest","CTX_WATCH_MOBILE":"Vaata mobiilseadmel","CTX_REWIND":"Keri tagasi algusesse","CTX_MARK_WATCHED":"Märgi vaadatuks","CTX_MARK_NON_WATCHED":"Märgi mittevaadatuks","CTX_MARK_UNWATCHED":"Märgi mittevaadatuks","CTX_MARK_REST":"Märgi ülejäänud vaadatuks","CTX_UNMARK_REST":"Märgi ülejäänud mittevaadatuks","CTX_RECEIVE_NEW_NOTIF":"Saa uusi teavitusi","CTX_ENABLE_NEW_NOTIF":"Luba teavitused","CTX_DISABLE_NEW_NOTIF":"Keela teavitused","CTX_REMOVE_CACHE":"Eemalda vahemälust","CTX_REMOVE_CACHE_EP":"Eemalda episood vahemälust","CTX_OPEN_CONTAINING":"Ava kaust","CTX_REMOVE":"Eemalda teegist","CTX_AVAILABLE_OFFLINE":"Saadaval võrguühenduseta","CTX_PAUSED":"Pausil","CTX_ALWAYS_ON_TOP":"Alati peal","CTX_FULLSCREEN":"Täisekraan","CTX_WRONG_SUBS":"Valed subtiitrid?","CTX_REPORT_ISSUES":"Teata murest","CTX_COPY":"Kopeeri","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Kleebi","CTX_CLEAR":"Kustuta","CTX_CLEAR_RECENT_SEARCHES":"Kustuta hiljutised otsingud","HELLO_THERE":"Tere","HOPE_YOU_ENJOY":"Loodame, et naudid Stremiot ja see on juba üks sinu lemmikrakendusi!","WHO_ARE_WE":"Kes me oleme? Oleme meeskond selle taga - kaks meest, kes töötavad igapäevaselt, et muuta see toode järjest paremaks viimase kolme aasta jooksul.","SUPPORT_US":"Kui naudid Stremiot - levita sõna!","SPREAD_THE_WORD":"Jaga oma sõpradega, levita infot Stremio kohta","MORE_PEOPLE":"Mida rohkem inimesi Stremiot kasutab, seda paremaks see muutub!","SEND_A_LINK":"Või saada link meie veebilehele","TIP_LOCALFILES":"Nõuanne: Sa võid Stremiosse kohalikud videofailid lohistada","ADDON_MY":"Minu laiendused","ADDON_COMMUNITY":"Kogukonna laiendused","ADDON_OFFICIAL":"Ametlikud laiendused","ADDON_REPOS":"Laiendusekollektsioonid","ADDON_SEARCH":"Otsi laiendusi","ADDON_INSTALL":"Paigalda","ADDON_CONFIGURE":"Seadista","ADDON_UNINSTALL":"Desinstalleeri","ADDON_UPGRADE":"Uuenda","ADDON_INSTALLED":"Paigaldatud","ADDON_INSTALLED_MSG":"Laiendus on paigaldatud!","ADDON_UPGRADED_MSG":"Laiendus on uuendatud!","ADDON_UNKNOWN":"Tundmatu","ADDON_ERR":"Laienduse paigaldusviga!","ADDON_DISCONNECTED":"Ühendus katkestatud","ADDON_APP_MISSING":"Selle allika rakendus ei ole paigaldatud. Kas soovid seda nüüd paigaldada?","ADDON_APP_INSTALL":"Paigalda kohe","ADDON_PAGE":"Lisa leht","ADDON_TOP_CONTENT":"Parim sellest laiendusest","ADDON_PROVIDES":"See laiendus annab sulle:","ADDON_WATCH":"Vaata #{types} kohe!","ADDON_WATCH_FREE":"Vaata #{types} TASUTA kohe!","ADDON_ADDON":"Laiendus","ADDON_SUPPORTED_TYPES":"Toetatud tüübid","ADDON_SUPPORTED_CATALOGS":"Toetatud kataloogid","ADDON_PROVIDES_DISCOVER":"Rohkem #{types} avastamiseks","ADDON_PROVIDES_STREAMS":"Vaata #{types}","ADDON_PROVIDES_STREAMS_FREE":"Vaata #{types} TASUTA","ADDON_PROVIDES_SUBTITLES":"Subtiitrid #{types} jaoks","ADDON_CANTDETECT":"Me ei suutnud tuvastada töötavat Stremiot, seetõttu ei saa me tuvastada, millised laiendused sul on paigaldatud.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Selle kohta pole teavet leitud","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Viga teabe hankimisel.","ERR_CANT_PARSE_MAGNET":"Ei saa magnetlinki töödelda","ERR_NO_MAGNET_INFOHASH":"Kehtiv infohash magnetlinki jaoks puudub","ERR_NO_FILE_PATH":"Päringut ei saa saata ilma failitee määramiseta","ERR_NO_TORRENT":"Torrentit ei leitud","ERR_NO_SUPPORTERD_FILES":"Toetatud faile ei leitud","ERR_OPENING_FILES":"Ei saanud väliseid faile avada","ERR_INVALID_LINK":"Vigane link","ERR_REGISTERED_ONLY":"See valik on saadaval ainult registreeritud kasutajatele.","ERR_CLIPBOARD":"Ei saa mängida lõikelaualt","ERR_CLIPBOARD_READ":"Ei saa lõikelaua sisu lugeda sellel platvormil","ERR_CLIPBOARD_GENERIC":"Lõikelaual ei leitud ühtegi esitatavat URL-i. Palun kopeeri URL (nt. magnetlink) videole.","BOARD_CONTINUE_WATCHING":"Jätka vaatamist","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmid, mis on valitud spetsiaalselt sinu jaoks.
    See film on soovitusnäide.","BOARD_EXPLANATION_EPISODES":"Sinu lemmikseriaalide uued osad ilmuvad siia.
    Lisa jälgitavad seriaalid oma raamatukokku.","BOARD_EXPLANATION_VIDEOS":"Sinu lemmikkanalite uued videod ilmuvad siia.
    Lisa jälgitavad YouTube\'i kanalid oma raamatukokku.","WEBSITE_ENJOYED_BY":"Naudivad üle 30 miljoni kasutaja üle maailma","WEBSITE_STREAMING_ENHANCED":"Parendatud voogesitus","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio pakub turvalist, modernset ja sujuvat meelelahutuskogemust. Tänu kasutajasõbralikule liidesele ja mitmekesisele sisuraamatukogule, sealhulgas 4K HDR tugi, saavad kasutajad nautida oma lemmikfilme ja -sarju kõigis oma seadmetes. Tänu turvalisusele on Stremio ideaalne valik muretuks, kvaliteetseks voogesituseks.","WEBSITE_AVAILABLE_ON":"Saadaval platvormidel","WEBSITE_WATCH_AND_ENJOY":"Vaata ja naudi.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio muudab selle lihtsaks","WEBSITE_ALL_FEATURES":"Kõik funktsioonid","WEBSITE_EASY_TO_USE":"Lihtne kasutada","WEBSITE_EASY_TO_USE_DETAILS":"Stremio on loodud olema kasutajasõbralik. Tänu puhtale ja intuitiivsele liidesele saate hõlpsalt leida ja vaadata soovitud sisu.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sujuv kõikides seadmetes","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Saadaval laias valikus platvormidel (sealhulgas Windows, Mac, Linux, Android ja rohkem), jälgib Stremio teie progressi kõigis seadmetes. Logige lihtsalt sisse ja jätkake vaatamist, ilma et peaksite iga uue seadmega rakendust uuesti seadistama.","WEBSITE_ALL_DOWNLOADS":"Kõik allalaadimised","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Kõrglahutusega video tugi","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Integreeritud videomängija, mis toetab enamikku videoformaate, sealhulgas 4K HDR-sisu, võimaldab teil nautida parimat võimalikku kvaliteeti.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Mitmekesine sisuteek","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integreerub paljude populaarsete videosisuga allikatega, nagu Netflix, Amazon Prime Video, Hulu, YouTube ja palju muud.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Loo tasuta konto","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Kohandatud vaatamiskogemus","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio võimaldab kohandada liidese välimust ja funktsioone, muutes teemat, lisades või eemaldades laiendusi ja rohkem.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Mitmekeelne subtiitrite tugi","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Saate nüüd nautida kogu lemmiksisu oma eelistatud keeles, kuna Stremio toetab subtiitreid kõigis keeltes.","WEBSITE_ALL_STREMIO_FEATURES":"Kõik Stremio funktsioonid","WEBSITE_TRY_STREMIO_TITLE_P1":"Proovi Stremiot","WEBSITE_TRY_STREMIO_TITLE_P2":"Oma teleris kohe","WEBSITE_YOU_CAN_NOW_WATCH":"Saate nüüd vaadata kõiki oma lemmiksaateid oma Android TV seadmetes. Stremio TV rakendus võimaldab teil nautida filmide õhtut lihtsalt.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Saate nüüd vaadata kõiki oma lemmiksaateid oma nuti- või Android-teleris. Stremio TV rakendused võimaldavad nautida filmide õhtut lihtsalt.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio nutiteleritele","WEBSITE_PLAY_STORE_REVIEW":"Tõenäoliselt parim ja kõige kasulikum rakendus, mida oma seadmes omada. Kasutan seda iga päev, eriti oma Android TV-l juba aastaid. Hästi tehtud koos tugeva kogukonnaga, mis pakub kasulikke funktsioone. Tubli töö. Jätkake samas vaimus.","WEBSITE_REVIEWS":"ülevaated","WEBSITE_GET_STREMIO_FOR_FREE":"Hangi Stremio tasuta","WEBSITE_GET_STREMIO_NOW":"Hangi Stremio kohe","WEBSITE_STREMIO_FEATURES":"Stremio funktsioonid","WEBSITE_STREMIO_FEATURES_DETAILS":"Voogesita nagu professionaal Stremio täiustatud funktsioonide abil ja naudi sujuvat juurdepääsu kogu oma lemmikmeediale","WEBSITE_DISCOVER_MORE":"Avasta rohkem.","WEBSITE_DISCOVER_MORE_DETAILS":"Kunagi ei lõppe vaatamist vajav sisu","WEBSITE_COMMUNITY_DRIVEN":"Kogukonna juhitud","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremiol on suur ja aktiivne kasutajaskond, kes panustab tarkvara arendamisse, luues ja jagades laiendusi.","WEBSITE_GET_INVOLVED":"Osale","WEBSITE_NEW_THEATER_EXPERIENCE":"Uus teatrikogemus","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio uus pühendatud TV rakendus võimaldab nautida filmide õhtut oma Android TV seadmetes.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio uued pühendatud TV rakendused võimaldavad nautida filmide õhtut teie nuti- või Android TV seadmetes.","WEBSITE_FREE_AND_SECURE":"Tasuta ja turvaline","WEBSITE_STREAMING":"Voogesitus","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio pakub kasutajatele ületamatut turvalisust ja privaatsust. Unikaalne laienduste kaugkasutamise funktsioon tagab ohutuma viisi oma lemmiksisu voogesitamiseks võrreldes teiste platvormidega. Teie turvalisus ja privaatsus on esmatähtsad ning platvorm tagab kogu teie andmete kaitse.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Ütle hüvasti muredele turvalisuse ja privaatsuse pärast ning naudi piiritut meelelahutust Stremio abil.","WEBSITE_INFORMATION_PROVIDED_BY":"Informatsioon esitatud poolt","WEBSITE_CONTRIBUTE_DESC":"projekti ja aita meil Stremiot veelgi paremaks muuta","WEBSITE_COMMUNITY_DESC":"Usume, et parim viis tõeliselt hämmastava voogesituskogemuse loomiseks on kogukonna kaasamine protsessi. Olgu sa programmeerija, kunstnik või lihtsalt fänn - sa võiksid aidata Stremiol kasvada.","WEBSITE_COMMUNITY_DESC_2":"Liitu meiega juba täna ja saa osaks Stremio kogukonnast ning jätka voogesituse tuleviku kujundamist.","WEBSITE_WAYS_TO_GET_INVOLVED":"Viisid osalemiseks","WEBSITE_IN_THE_STREMIO_COMMUNITY":"Stremio kogukonnas","WEBSITE_SHARE_YOUR_THOUGHTS":"Jaga oma mõtteid","WEBSITE_REPORT_BUGS":"Teata vigadest","WEBSITE_SUGGEST_FEATURES":"soovita funktsioone","WEBSITE_AND_PROVIDE_FEEDBACK":"ja anna tagasisidet meie sotsiaalmeedia kanalites.","WEBSITE_BETA_TESTING_PROGRAM":"Beetatestimise programm","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Osale meie beetatestimise programmis (saadame regulaarselt kutseid) Stremio kogukonnas.","WEBSITE_JOIN_NOW":"Liitu kohe!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Ametlikud Stremio kogukonnad","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Mitteametlikud Stremio kogukonnad","WEBSITE_BECOME":"Muuda","WEBSITE_A_VOLUNTEER_TRANSLATOR":"vabatahtlikuks tõlkijaks","WEBSITE_ARE_YOU_A_DEVELOPER":"Oled sa arendaja?","WEBSITE_CONTRIBUTE_CODE":"Võiksid panustada koodiga meie avatud lähtekoodiga projektidesse. Meil on mitmeid projekte GitHubis, mis otsivad kaastöötajaid. Kui oled huvitatud abist, vaata lähemalt:","WEBSITE_STREMIO_ON_GITHUB":"Stremio GitHubis","WEBSITE_CREATE_ADDON_DESC":"Loo laiendus, et täiustada Stremio funktsionaalsust (meil on lihtne kasutada API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Laiendus SDK","WEBSITE_INTERN_DEVELOPER":"Pakume võimalust liituda meiega praktikandina, et saaksime koos kasvada.","WEBSITE_APPLY_AS_AN_INTERN":"Kandideeri praktikandiks","WEBSITE_CALLING_ALL_ARTISTS":"Kutsume kõiki kunstnikke!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Näita oma loovust ja armastust Stremio vastu, laadides oma fännikunst üles meie veebigaleriisse. Olgu see joonistus, maal või digitaalne kujundus - tahame näha sinu ainulaadset vaadet Stremio brändile. Liitu kunstihuviliste kogukonnaga ja jaga oma töid Stremio fännidega üle maailma.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio fännikunsti galerii","WEBSITE_INTERN_DESIGNER":"Liitu meie meeskonnaga ja vii oma loovus uutesse kõrgustesse meie põnevate praktikavõimaluste abil.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Avaliku domeeni filmide projekt","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremio eesmärk on säilitada filmi- ja televisiooniajalugu, tuvastades avaliku domeeni ja orb-videod. Teeme koostööd oma kogukonnaga, et tagada nende klassikaliste kunstiteoste kättesaadavus kõigile ja kaitse tulevaste põlvkondade jaoks.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Kui soovite selle projektiga liituda, võtke meiega ühendust.","WEBSITE_JOIN_THE_PROJECT":"Liitu projektiga","WEBSITE_BE_PART_OF_OUR_MISSION":"Ole osa meie missioonist","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Kas soovite liituda Stremio meeskonnaga? Pakume täielikult kaugtöö võimalust pühendunud professionaalidele. Vaata meie avatud tööpakkumisi.","WEBSITE_OPEN_POSITIONS":"AVATUD TÖÖKOHTAD","WEBSITE_DESCRIPTION":"KIRJELDUS","WEBSITE_LEARN_MORE":"Loe rohkem","WEBSITE_COMPANY":"Ettevõte","WEBSITE_CONTACTS":"Kontaktid","WEBSITE_NEED_HELP":"Vajad abi?","WEBSITE_STREMIO_WEB_ON_IOS":"Juhend Stremio Webi jaoks iOS-is","WEBSITE_LINK_ART_V2":"Fännikunsti galerii","WEBSITE_PARTNERS":"Partnerid","WEBSITE_SLOGAN_WATCH":"Vaata kohe","WEBSITE_SLOGAN_ALL":"Kõik video-sisu, mida naudid, ühes kohas","WEBSITE_SLOGAN_NEW":"Kõik, mida saad vaadata","WEBSITE_SLOGAN_NEW_NEW":"Voogedastuse vabadus","WEBSITE_WATCH_FROM":"Vaata alates","WEBSITE_DOWNLOAD":"Laadi alla kohe","WEBSITE_DOWNLOAD_FOR":"Laadi alla platvormile","WEBSITE_IS_DESKTOP":"Stremio on töölauarakendus, ava see leht oma arvutis ja laadi see alla","WEBSITE_DESKTOP_DEMO_VID":"Töölaua demo","WEBSITE_PAGE_HOME":"Kodu","WEBSITE_PAGE_FEATURES":"Funktsioonid","WEBSITE_PAGE_ADDONS":"Laiendused","WEBSITE_PAGE_TECH":"Tehnoloogia","WEBSITE_PAGE_CREATE_ADDON":"Loo laiendus","WEBSITE_PAGE_CONTACTS":"Kontaktid","WEBSITE_PAGE_BLOG":"Blogi","WEBSITE_RESET_PASSWORD_MESSAGE":"Palun sisesta oma uus parool allpool.","WEBSITE_RESET_PASSWORD_WARNING":"Oled kindel, et soovid ${1} jaoks parooli lähtestada?","WEBSITE_TYPE_movie":"Filmid","WEBSITE_TYPE_series_PL":"Sarjad","WEBSITE_TYPE_tv":"Otse-TV","WEBSITE_TYPE_channel":"Kanalid","WEBSITE_STREMIO_WHAT_IS":"Stremio on rakendus, mis aitab vaadata teie lemmikvideoid, -filme, -sarju ja -kanaleid.","WEBSITE_FEATURES_WATCH":"Vaata kohe HD kvaliteediga","WEBSITE_FEATURES_WATCH_DETAIL":"Esita oma lemmikfilme, TV-saateid, videoid ja TV-kanaleid.","WEBSITE_FEATURES_SUBS":"Automaatne subtiitrite tugi","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio valib automaatselt sünkroonitud subtiitrid teie keeles.","WEBSITE_FEATURES_SUBS_LABEL":"Sinu käik, pealik.","WEBSITE_FEATURES_CAST":"Esita teleris ja mobiilseadmetes","WEBSITE_FEATURES_CAST_DETAIL":"Kuvage AppleTV-s, Chromecasti, nutitelevisioonis (DLNA/UPnP) ja mobiilseadmetes.","WEBSITE_LIB":"Nautige oma isiklikku raamatukogu sünkroonituna kõigis seadmetes","WEBSITE_LIB_COLLECT":"Kogu Stremiost","WEBSITE_LIB_IMPORT":"Impordi Facebookist","WEBSITE_LIB_LOCAL":"Lisa oma kohalikult kettalt","WEBSITE_BOARD":"Töölaud - teie keskne koht teavituste ja soovituste jaoks","WEBSITE_BOARD_RECOMMEND":"Soovitatud TV-saade","WEBSITE_BOARD_TRENDING":"Populaarne film","WEBSITE_BOARD_NEW":"Uus video","WEBSITE_BOARD_EPISODE":"Uus osa","WEBSITE_BOARD_1":"Otsid midagi huvitavat, mida vaadata? Saa soovitusi vastavalt oma maitsele!","WEBSITE_BOARD_2":"Saate teate, kui teie lemmik TV-saate või YouTube\'i kanali uus osa ilmub!","WEBSITE_BOARD_YOUTUBE":"Uued videod YouTube\'i kanalitest","WEBSITE_BOARD_EPISODES":"Uued osad sarjadest, mida jälgite","WEBSITE_ADDONS":"Sisu laiendused","WEBSITE_TECH_DETAIL":"Me armastame tehnoloogiat, me armastame pöörast teadust! \\nStremio kasutab järgmisi avatud lähtekoodiga tehnoloogiaid:","WEBSITE_TECH_WCJS":"WebChimera.js võimaldab Stremiol mängida kõiki videoformaate hea jõudlusega.","WEBSITE_TECH_WCJS_EXTRA":"Me oleme projekti peamised kaastöötajad","WEBSITE_TECH_ELECTRON":"Electron pakub uuenduslikku platvormi Stremio loomiseks.","WEBSITE_TECH_ELECTRON_EXTRA":"Me oleme projekti kaastöötajad","WEBSITE_TECH_LINVODB":"Andmebaasi tehnoloogia, mis tagab teie andmete korrastamise ja kättesaadavuse kõikjal, kus logite sisse.","WEBSITE_TECH_LINVODB_EXTRA":"Kohapealne tehnoloogia","WEBSITE_CREATE_ADDON":"Loo oma laiendus","WEBSITE_CREATE_ADDON_DETAIL":"Kas teil on teenus, mis pakub videosisu? Aitame teil Stremio funktsioonidest kasu saada, luues teie laienduse.","WEBSITE_CREATE_ADDON_BENEFITS":"Laienduse loomise eelised Stremiole","WEBSITE_P2P_BEAUTY":"P2P voogedastuse ilu","WEBSITE_P2P_1":"Usaldusväärne ja taskukohane HD/4K video tellitav või otseülekanne","WEBSITE_P2P_2":"Levitamisplatvorm, mis pakub suurepärast kasutajakogemust","WEBSITE_P2P_3":"Loodame teie vajadustele vastava laienduse","WEBSITE_P2P_CONTACT":"Huvitatud? Olete oodatud meiega ühendust võtma.","WEBSITE_P2P_CONTACT_EXTRA":"Aitame teil meeleldi oma sisu Stremioga integreerida!","WEBSITE_P2P":"Aeg-ajalt ilmub tehnoloogia, mis muudab mängureegleid. Oleme investeerinud palju aega ja vaeva oma P2P (peer-to-peer) video voogedastuse mootori ehitamisse, mis tagab suurepärase jõudluse ja kohandatavuse mis tahes kasutusjuhtumi jaoks.\\n Võtke meiega ühendust DRM-toega P2P video tellitava või otseülekande jaoks.","WEBSITE_THOUGHTS":"Mõtted, mida jagame:","WEBSITE_SPREAD":"Jaga sõna Stremio kohta:","WEBSITE_CONTACT":"Võtke meiega ühendust, meil on hea meel teid kuulda!","WEBSITE_OPENSOURCE":"Meie vabavaraprojektide jaoks mine:","WEBSITE_BITCOIN":"Anneta bitcoinis:","WEBSITE_FAQ":"Korduma kippuvad küsimused","WEBSITE_FAQ_SHORT":"KKK","WEBSITE_QUESTIONS":"Küsimused","WEBSITE_TOS":"Kasutustingimused","WEBSITE_LEGAL":"Õiguslik","WEBSITE_PAGE_ABOUT":"Teave","WEBSITE_PAGE_BECOME_PARTNER":"Saage partneriks","WEBSITE_ALL_YOU_CAN_WATCH":"Vabadus vaadata\\nkõike, mida soovite.","WEBSITE_FREEDOM_TO_STREAM":"Vabadus voogesitada","WEBSITE_WHAT_IS_STREMIO":"Mis on Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio on keskne videosisu kogumise keskus. Avastage vaadake videoid igasugustest allikatest kõigis oma seadmetes.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmid, telesaated, sarjad, otsetelevisioon või veebikanalid nagu YouTube ja Twitch.tv - kõik see on Stremios olemas.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio on kaasaegne meediakeskus, mis on teie videomeelelahutuse ühekordne lahendus. Avastage, vaadake ja korraldage videosisu lihtsalt paigaldatavate laienduste kaudu.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmid, telesaated, otse-TV või veebikanalid - kõik see on saadaval Stremios.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Naudi kõigis oma meediaseadmetes","WEBSITE_DEVICES_COLLECT":"Koguge Stremiost","WEBSITE_DEVICES_IMPORT_FB":"Importige Facebookist","WEBSITE_DEVICES_LOCAL":"Lisage kohalikust kettast","WEBSITE_JOIN_THE_PARTY_NOW":"Liitu peoga kohe","WEBSITE_DEVICES_ALL":"Lihtne kasutada kõigis oma seadmetes;","WEBSITE_EXTENDABLE_CATALOG":"Lõputult laiendatav videokataloog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Suurepärased funktsioonid oma meedia korraldamiseks;","WEBSITE_AS_SEEN_ON":"Nagu nähtud","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Meist","WEBSITE_LINK_TECHNOLOGY":"Tehnoloogia","WEBSITE_LINK_APPS":"Rakendused","WEBSITE_LINK_DOWNLOADS":"Allalaadimised","WEBSITE_MORE":"Veel","WEBSITE_LINK_ADDONS":"Laiendused","WEBSITE_LINK_ADDON_SDK":"Laienduste SDK","WEBSITE_LINK_CONTRIBUTE":"Panusta","WEBSITE_LINK_COMMUNITY":"Kogukond","WEBSITE_LINK_BLOG":"Blogi","WEBSITE_MORE_MORE":"... & Veel","WEBSITE_LINK_HELP":"Abikeskus","WEBSITE_LINK_CONTACTS":"Ärikontaktid","WEBSITE_LINK_TOS":"Tingimused ja määrused","WEBSITE_LINK_PRAVACY":"Privaatsuspoliitika","WEBSITE_SUBSCRIBE":"Telli","WEBSITE_NEWSLETTER":"Liitu meie uudiskirjaga, et saada häid uudiseid","WEBSITE_PLACEHOLDER_EMAIL":"Teie e-post","WEBSITE_COMMUNITY":"Kogukond","WEBSITE_LINK_PRAVACY_LEGAL":"Privaatsus ja õigusalane teave","WEBSITE_WHY":"Miks me seda teeme","WEBSITE_WHY_P1":"Stremios tuleme iga päev tööle, sest tahame lahendada olulist probleemi tellitava video tööstuses. Iga minut avaldatakse nii palju uut sisu, et selles orienteerumine on praktiliselt võimatu.","WEBSITE_WHY_P2":"Aitame inimestel navigeerida tohutul videomeelelahutuse maastikul ja avastada uut sisu, mida nautida. Meie rakendused koondavad filme, sarju, otse-TV-d, veebikanaleid ja palju muud. Meie eesmärk on muuta oma lemmiknimede ja -saadete leidmine uskumatult lihtsaks.","WEBSITE_WHY_P3":"Saate kasutada meie teenust igal seadmel ja igal ajal, muutes Stremio ainukeseks videomeelelahutuskeskuseks, mida teil kunagi vaja läheb.","WEBSITE_TEAM":"MEESKOND","WEBSITE_TEAM_P":"Stremio meeskond on väike, kuid võimas: meie kümne vahel kodeerime X keeles ja jagame teadmisi tarkvaraarenduse, UI ja UX disaini, turunduse ja reklaami ning äri ja startup-ide valdkonnas.","WEBSITE_FEATURES":"Funktsioonid","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Avasta uut sisu kergusega","WEBSITE_FEATURES_DISCOVER_P":"Avasta hõlpsasti uusi filme, telesaateid, sarju ja kanaleid, mida vaadata. Sirvi kategooriate, žanri, reitingu, värskuse jms alusel või lihtsalt sisestage nimi, et leida. Stremio muudab uue videosisu leidmise lihtsaks.","WEBSITE_FEATURES_ALL_CONTENT":"Kõik teie videosisu ühel ekraanil","WEBSITE_FEATURES_ALL_CONTENT_P1":"Vaadake, milliseid filme, sarju või videoid te ei lõpetanud, ja jätkake nende vaatamist; saate teateid uute episoodide ja väljalasete kohta; ning sirvige soovitusi, mida saate oma vaatamisharjumuste põhjal.","WEBSITE_FEATURES_LIBRARY":"Organiseerige oma videoteek","WEBSITE_FEATURES_LIBRARY_P1":"Lisage ükskõik milline film oma Stremio teeki ühe klõpsuga ja otsige sisu, mis on korralikult paigutatud tüübi, värskuse või tähestikulise järjekorra alusel.","WEBSITE_FEATURES_CALENDAR":"Jälgige kõike, mida vaatate","WEBSITE_FEATURES_CALENDAR_P1":"Saate kalendri visualiseerimise kõikide filmide ja sarjade kohta, mida oma teeki lisate. Eksportige oma Stremio kalender ja sünkroonige see, et te alati teaksite, millal uus episood või esilinastus on oodata.","WEBSITE_FEATURES_BIG_SCREEN":"Nautige oma videosisu suuremal ekraanil","WEBSITE_FEATURES_BIG_SCREEN_P1":"Kuvage ükskõik, mida vaatate, teises seadmes - olgu see telefon, tahvelarvuti või teler ühe klõpsuga.","WEBSITE_FEATURES_SOURCES":"Vaadake videoid paljudest erinevatest allikatest","WEBSITE_FEATURES_SOURCES_P":"Paigaldage ametlikud ja kogukonna laiendused, et nautida videoid paljudest erinevatest teenusepakkujatest - kõik ühes klanitud ja kergesti kasutatavas rakenduses.","WEBSITE_CREATE_AN_ADDON":"Loo laiendus","WEBSITE_FEATURES_SYNC":"Sünkroniseerige oma teek erinevate seadmete vahel ja jätkake taasesitust","WEBSITE_FEATURES_SYNC_P1":"Logige sisse oma kontoga kõigis oma seadmetes ja nautige oma teeki, laiendusi, taasesitust ja kalendrit sünkroonituna.","WEBSITE_FEATURES_EXTENDABLE":"Laiendatav videokataloog laienduste kaudu","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio laienduste kataloog pakub mitmeid laiendusi, mille abil saate vaadata erinevat videosisu. See hõlmab filme, saateid, otse-TV-d, sporti, uudiseid, podcaste, veebikanaleid, videomänge ja palju muud.","WEBSITE_FEATURES_AUTO_SUBS":"Automaatne subtiitrite tugi","WEBSITE_FEATURES_AUTO_SUBS_P1":"Meie subtiitrite laienduste abil saate automaatselt valitud valikud oma eelistatud keeles.","WEBSITE_FEATURES_CHROMECAST":"Kuvamine Chromecastile","WEBSITE_FEATURES_CHROMECAST_P1":"Nautige oma videosisu suuremal ekraanil või lihtsalt kuvage ükskõik mida vaatate teises seadmes.","WEBSITE_FEATURES_KEEP_TRACK":"Jälgige oma lemmik telesaateid ja veebikanaleid","WEBSITE_FEATURES_KEEP_TRACK_P1":"Saate kalendri visualiseerimise ja teateid oma lemmiksarjade ja veebikanalite uute episoodide kohta.","WEBSITE_FEATURES_POWER_USER":"Täpsemad funktsioonid","WEBSITE_FEATURES_POWER_USER_P1":"Esita välise mängijaga","WEBSITE_FEATURES_POWER_USER_P2":"Esita torrent-faililt või magnetlingilt","WEBSITE_FEATURES_POWER_USER_P3":"Impordi teeki Facebooki meeldimistest või kõvakettalt","WEBSITE_ADD_ONS":"Laiendused","WEBSITE_ADD_ONS_P1":"Kogu videosisu, mida Stremio pakub, pärineb laiendusesüsteemist - rakendusse pole sisu ega sisupakkujat integreeritud.","WEBSITE_ADD_ONS_P2":"Saadaval on kahte tüüpi laiendusi: ametlikud ja kogukonna laiendused.","WEBSITE_ADD_ONS_P3":"Ametlikud laiendused on Stremio arendatud ja majutatud, samas kui kogukonna laiendused on loodud meie kogukonna liikmete poolt, kes neid ka majutavad.","WEBSITE_ADDONS_OFFICIAL":"Ametlikud laiendused","WEBSITE_ADDONS_WATCHUB":"Esita oma lemmikfilme, sarju ja saateid sellistest teenustest nagu iTunes, Hulu, Amazon ja teised UK/US teenused.","WEBSITE_ADDONS_YOUTUBE":"Vaata oma lemmik YouTube\'i kanaleid reklaamivabalt ja saa teavitusi uute üleslaadimiste kohta jälgitavatelt autoritelt.","WEBSITE_ADDONS_FILMON":"Vaata tasuta otse-TV-d, filme ja sotsiaaltelevisiooni. 600 telekanalit, 45 000 tasuta filmi, dokumentaale ja rohkem.","WEBSITE_ADDONS_OPENSUBTITLES":"Filmi- ja telesarja subtiitrid erinevates keeltes, iga päev laetakse üles tuhandeid tõlgitud subtiitreid.","WEBSITE_ADDONS_COMMUNITY":"Kogukonna laiendused","WEBSITE_ADDONS_FILMON_VOD":"Vaata videoid nõudmisel Filmon.tv-st","WEBSITE_ADDONS_TWICH":"Vaata otseülekandeid Twitch.tv-st - e-spordi video voogedastusplatvorm.","WEBSITE_ADDONS_VODO":"Vaata indie-filme täiesti tasuta.","WEBSITE_ADDONS_NETFLIX":"Vaata Netflixi filme ja veebisarju.","WEBSITE_ADDONS_CREATE":"Loo laiendus","WEBSITE_ADDONS_CREATE_P1":"Kui soovite, saate arendada oma laienduse. Sel moel saate pakkuda endale ja meie kogukonnale juurdepääsu uuele videosisule ning jõuda miljonite kasutajate sihtrühmani üle kogu maailma.","WEBSITE_ADDONS_START_CREATE":"Alustamiseks külastage Stremio Addon SDK lehte:","WEBSITE_DOWNLOADS":"Allalaadimised","WEBSITE_DOWNLOADS_P1":"Parima jõudluse saavutamiseks soovitame kasutada uusimat saadaolevat Stremio rakenduste versiooni. Kui mingil põhjusel soovite kasutada vanemat versiooni, saate selle siit alla laadida.","WEBSITE_DOWNLOADS_P1_SHORT":"Parima jõudluse saavutamiseks soovitame kasutada uusimat saadaolevat Stremio rakenduste versiooni.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio Windowsi jaoks","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio macOS-i jaoks","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio Linuxi jaoks","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio Androidi jaoks","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio Android TV jaoks","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio Androidi mobiiltelefoni jaoks","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio Steam Decki jaoks","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio iOS-i jaoks (piiratud versioon)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio Samsung TV jaoks","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio LG TV jaoks","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio Sony TV jaoks (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio Philips TV jaoks (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio Oculus Quest jaoks","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio Meta Quest jaoks","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio Vision Pro jaoks","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio Xboxi jaoks","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio Raspberry Pi jaoks","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio brauseri jaoks","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Otsige Stremiot 2019+ Samsung TV mudelite rakenduste poest","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Otsige Stremiot 2020+ LG TV mudelite rakenduste poest","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Otsige Stremiot Play Store rakendusest Sony TV-l, mis töötab Androidiga","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Otsige Stremiot Play Store rakendusest Philips TV-l, mis töötab Androidiga","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Otsige Stremiot oma Xboxi seadme rakenduste poest","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Juhend Stremio OS-i jaoks Raspberry Pi-l","WEBSITE_LINK_GUIDE":"Juhend","WEBSITE_DOWNLOAD_SERVICE":"Laadi alla Stremio teenus","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio teenus on Stremio Webi kaasrakendus. Soovitame kasutada uusimat saadaolevat versiooni Stremio teenusest.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio teenus Windowsi jaoks","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio teenus macOS-i jaoks","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio teenus Linuxi jaoks","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio teenus Dockeri jaoks","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio Dockeri jaoks","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Rohkem allalaadimisvalikuid","WEBSITE_DOWNLOAD_NEW":"Uus!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Oleme avaldanud Stremio Webi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Oleme avaldanud Stremio Samsung TV jaoks","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Oleme avaldanud Stremio LG TV jaoks","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Oleme avaldanud Stremio Xboxi jaoks","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Oleme avaldanud Stremio Raspberry Pi jaoks","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Panusta","WEBSITE_CONTRIBUTE_P1":"Stremio platvorm on avatud lähtekoodiga ja saate hõlpsasti luua laienduse sisu jaoks, mida praegu pole lisatud.","WEBSITE_CONTRIBUTE_WHY":"Miks peaksite looma laienduse?","WEBSITE_CONTRIBUTE_WHY_P1":"Jõudke oma videosisuga uue vaatajaskonnani","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio kasutajaskond kasvab kiiresti - esimese aasta jooksul kogus Stremio miljon kasutajat üle kogu maailma ja platvormi teisel aastal kasvas see arv 2,5 miljonini.","WEBSITE_CONTRIBUTE_WHY_P3":"Oma laiendusega saate hõlpsasti jõuda selle vaatajaskonnani ja levitada oma videosisu neile.","WEBSITE_CONTRIBUTE_ALL":"Vaata oma lemmikfilme, -videoid, -sarju ja -kanaleid ühes kohas.","WEBSITE_CONTRIBUTE_ALL_P1":"Kas olete teatud sisutüübi fänn, mida Stremios veel pole? Loo selle jaoks laiendus ja naudi oma lemmikvideote vaatamist ühes suurimas ja kasutajasõbralikumas meelelahutuskeskuses turul.","WEBSITE_CONTRIBUTE_ALL_P2":"Lisaks saate lõputu tänu teistest sarnase mõtlemisega Stremio kogukonna liikmetelt.","WEBSITE_CONTRIBUTE_MONETIZE":"Teenige oma laiendusega raha","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Kui olete Stremiole uue laienduse loonud, saate selle hõlpsasti mitmel erineval viisil rahaks muuta. Kui kaalute seda võimalust, võtke meiega ühendust aadressil ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - meil on hea meel teid nõustada ja pakkuda laienduse monetiseerimise võimalusi.","WEBSITE_CONTRIBUTE_TRANSLATE":"Saage vabatahtlikuks tõlkijaks","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Kui soovite nautida Stremio rakendusi erinevates keeltes, saate liituda meie vabatahtlike tõlkijate kogukonnaga. Nad aitavad meil lisada Stremiole versioone paljudes erinevates keeltes.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Kas olete valmis alustama?","WEBSITE_TRANSALTE_STREMIO":"Tõlkige Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Ametlikud kogukonnad","WEBSITE_COMMUNITY_OFFICIALS_P1":"Saage osaks kasvavast Stremio kogukonnast. Jälgige meid sotsiaalmeedias ja tervitage julgelt - meile meeldib kuulda oma fännidelt!","WEBSITE_COMMUNITY_UNOFFICIALS":"Mitteametlikud kogukonnad","STREMIO_COMMUNITY_NL":"Stremio Holland","STREMIO_COMMUNITY_BRASIL":"Stremio Brasiilia","STREMIO_COMMUNITY_GERMANY":"Stremio Saksamaa","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgia","STREMIO_COMMUNITY_FRANCE":"Stremio Prantsusmaa","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Itaalia","STREMIO_COMMUNITY_UK":"Stremio Ühendkuningriik","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mehhiko","STREMIO_COMMUNITY_ADDONS":"Stremio laiendused","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Äge Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partnerid ja toetajad","WEBSITE_COMMUNITY_GOODIES":"Stremio nänn","WEBSITE_COMMUNITY_WALLPAPERS":"Taustapildid","WEBSITE_COMMUNITY_ART":"Kogukonna kunstigalerii","WEBSITE_LINK_ART":"Kogukonna kunstigalerii","WEBSITE_CONTACT_US":"Võtke meiega ühendust","WEBSITE_CONTACT_US_P1":"Kui teil on küsimusi, kommentaare või ettepanekuid, võtke meiega ühendust alloleva kontaktvormi kaudu.","WEBSITE_CONTACT_US_P2":"Pidage meeles, et asume Bulgaarias, seega võib ajavööndi erinevuste tõttu teie päringule vastamisega viibida.","WEBSITE_CONTACT_US_SUCCESS":"Teie sõnum on saadetud. Vastame esimesel võimalusel.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Sisestage kehtiv e-mail!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Millega on teie küsimus seotud?","WEBSITE_CONTACT_US_Q_OS":"Mis on teie operatsioonisüsteem?","WEBSITE_CONTACT_US_PH_EMAIL":"Teie e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Sõnum","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SAADA","WEBSITE_CONTACT_US_Q_1":"Kuidas paigaldada?","WEBSITE_CONTACT_US_Q_2":"Kuidas eemaldada?","WEBSITE_CONTACT_US_Q_3":"(HTML) Kuidas teha lasanjet?","WEBSITE_CONTACT_US_Q_4":"Laiendused","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tehnoloogia","WEBSITE_TECHNOLOGY_P1":"Me armastame tehnoloogiat ja hullu teadust.
    Siin on see, mis Stremiot jõustab (kõik on avatud lähtekoodiga).","WEBSITE_TECHNOLOGY_P_QT":"Parim platvormidevaheline tarkvaraarendus.","WEBSITE_TECHNOLOGY_P_MPV":"Tasuta, avatud lähtekoodiga ja platvormidevaheline meediamängija.","WEBSITE_TECHNOLOGY_P_RN":"React Native võimaldab luua mobiilirakendusi, kasutades ainult JavaScripti.","WEBSITE_TECHNOLOGY_P_VLC":"Meediaraamistik, mis on integreeritud rakendusse, et saada multimeediat.","WEBSITE_TECHNOLOGY_P_REALM":"Realm on mobiiliplatvorm ja SQLite & Core Data asendaja.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js on avatud lähtekoodiga, platvormidevaheline JavaScripti tööaeg.","WEBSITE_TECHNOLOGY_P_RUST":"Rust on mitmeparadigmaline süsteemiprogrammeerimise keel, mis keskendub ohutusele, eriti turvalisele samaaegsusele.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Panustage projekti","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Stremiosse panustamiseks ja toote täiustamiseks on kaks võimalust.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Saate annetada oma väärtuslikke keeleoskusi platvormi tõlkimiseks...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"või","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... saate kasutada oma koodimisoskusi kogukonna laienduste loomiseks.","WEBSITE_TRANSLATE_STREMIO":"Tõlkige Stremio","WEBSITE_404_OH_NO":"Oh ei! Otsitud lehekülge siin pole...","WEBSITE_GO_HOME":"Mine avalehele","WEBSITE_LINK_OTHER_DOWNLOADS":"Muud allalaadimised","WEBSITE_FAQ_ABR":"KKK","WEBSITE_SUPPORT":"Tugi","WEBSITE_DOWNLOAD_4_0_BETA":"Laadi alla Stremio 4 beta kohe","WEBSITE_GET_FOR_DESKTOP":"Hangi töölauale","WEBSITE_LINK_ADDON_COMPETITION":"Laienduste võistlus","WEBSITE_LINK_ART_CONTEST":"Kunstivõistlus","WEBSITE_MY_ACCOUNT":"Minu konto","WEBSITE_MAINPAGE_FAQ_001_H1":"Mis on Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio on kaasaegne meediakeskus, mis annab teile vabaduse vaadata kõike, mida soovite.","WEBSITE_MAINPAGE_FAQ_002_H1":"Kuidas see töötab?","WEBSITE_MAINPAGE_FAQ_002_P1":"Kui olete Stremio oma seadmesse paigaldanud ja konto loonud, peate külastama ainult laienduste kataloogi ja installima soovitud laiendused ning oletegi valmis!","WEBSITE_MAINPAGE_FAQ_002_P2":"Pärast seda võite alustada sisu uurimist ja avastamist Discover või Board sektsioonides.","WEBSITE_MAINPAGE_FAQ_003_H1":"Mida ma siin vaadata saan?","WEBSITE_MAINPAGE_FAQ_003_P1":"Palju: filme, telesaateid, veebikanaleid, sporti, telekanaleid, kuulata taskuhäälinguid ja palju muud. Tänu meie laienduste süsteemile pääsete juurde erinevale sisule.","WEBSITE_MAINPAGE_FAQ_004_H1":"Kas Stremio on avatud lähtekoodiga?","WEBSITE_MAINPAGE_FAQ_004_P1":"Jah, vaadake järgmisi linke: ${1}töölauarakendus${2} ja ${3}GitHubi organisatsioon${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Kas Stremio on turvaline?","WEBSITE_MAINPAGE_FAQ_005_P1":"Jah: kuna tegemist on avatud lähtekoodiga tarkvaraga, on kood avalikult auditeeritav ja saate seda ise üle vaadata.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio laienduste süsteem on loodud ka kasutaja turvalisust silmas pidades. Laiendused ei käivita kohapeal koodi, seega ei kujuta need teie seadmele ohtu.","WEBSITE_MAINPAGE_FAQ_006_H1":"Kuidas on minu privaatsusega?","WEBSITE_MAINPAGE_FAQ_006_P1":"Austame kasutajate privaatsust ja ei kogu isikuandmeid peale minimaalse vajaliku konto loomiseks ja sünkroonimiseks.","WEBSITE_MAINPAGE_FAQ_006_P2":"Samuti on olemas ${1}Külalisrežiim${2} registreerimisel, mis ei nõua mingeid andmeid: selles režiimis pole meie taustsüsteemiga ühendust. Kuid see piirab mõningaid kasulikke funktsioone, näiteks raamatukogu sünkroonimist seadmete vahel.","WEBSITE_MAINPAGE_FAQ_007_H1":"Kas saan oma telerisse edastada?","WEBSITE_MAINPAGE_FAQ_007_P1":"Jah, toetame Chromecast\'i ning saate edastada nii töölaua- kui mobiilirakendustest (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Mitu laiendust Stremiol on?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019. aasta lõpuks üle 50 - lisateabe saamiseks külastage meie laienduste kataloogi.","WEBSITE_MAINPAGE_FAQ_009_H1":"Kas Stremiot saab laiendada rohkem kui on laienduste kataloogis?","WEBSITE_MAINPAGE_FAQ_009_P1":"Jah, tutvuge nendega: ${1}PimpMyStremio${2}, ${3}Redditi kogukonnad${4}, ${5}Stremio Downloader${6} jne.","WEBSITE_MAINPAGE_FAQ_010_H1":"Milliseid seadmeid Stremio toetab?","WEBSITE_MAINPAGE_FAQ_010_P1":"Meil on töölauarakendused Windowsi, Maci ja Linuxi jaoks. Mobiili jaoks toetame Androidi ja iOS-i, kuigi pidage meeles, et iOS on piiratud funktsionaalsusega (enamik laiendusi pole toetatud).","WEBSITE_MAINPAGE_FAQ_010_P2":"On palju Androidi-põhiseid seadmeid, nagu NVIDIA Shield ja Amazon Fire Stick, millel saate Stremiot kasutada, kuid me ei toeta neid ametlikult.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Meil on töölauarakendused Windowsi, Maci ja Linuxi jaoks. Meil on ka spetsiaalsed rakendused Android Mobile\'ile ja Android TV-le. iOS-i ja iPadOS-i jaoks soovitame kasutada Stremio Webi, kuigi selle funktsionaalsus on piiratum.","WEBSITE_MAINPAGE_FAQ_011_H1":"Kas te saate lisada Stremiosse teatud sisu?","WEBSITE_MAINPAGE_FAQ_011_P1":"Kahjuks me ise sisu ei paku, kuid mida rohkem Stremio laiendusi olete installinud, seda rohkem sisu leiate.","WEBSITE_MAINPAGE_FAQ_012_H1":"Kas Stremio suudab esitada magnetlinke?","WEBSITE_MAINPAGE_FAQ_012_P1":"Jah, samuti saab esitada tavalisi HTTP linke ja torrentifaile (lohistades ja asetades).","WEBSITE_MAINPAGE_FAQ_013_H1":"Kas ma saan video alla laadida ja seda ilma internetita vaadata?","WEBSITE_MAINPAGE_FAQ_013_P1":"Võimalus vaadata ilma internetita on tulemas, kuid kui lubate Stremiol seadetesse vahemälu salvestada, saate videoid hiljem ühenduseta vaadata.","WEBSITE_MAINPAGE_FAQ_014_H1":"Miski ei tööta, aidake mind!","WEBSITE_MAINPAGE_FAQ_014_P1":"Kas olete kindel, et olete laiendusi installinud? Kui jah, vaadake meie ${1}abikeskust${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Kuidas Stremio oma arendustegevust toetab?","WEBSITE_MAINPAGE_FAQ_015_P1":"Aeg-ajalt kuvame mittepealetükkivaid reklaame, kuid kaalume annetuste mudelile üleminekut.","WEBSITE_MAINPAGE_FAQ_015_P2":"Rohkemate küsimuste puhul külastage meie ${1}abikeskust${2}.","HELP_LEARN_MORE":"Aita meil sinust rohkem teada saada.","LIFESTYLE":"Elustiil","SPORTS":"Sport","FOOD_HEALTH":"Toit ja tervis","BEAUTY_FASHION":"Ilu ja mood","NEWS":"Uudised","GAMING":"Mängud","SCIENCE_EDUCATION":"Teadus ja haridus","MUSIC":"Muusika","TRAVEL":"Reisimine","LATE_NIGHT":"Hilisõhtu","REALITY":"Tõsielu","COMEDY":"Komöödia","DIY":"Kuidas teha","TECH":"Tehnoloogia","CINEMA":"Kino","CONTINUE":"Jätka","SLOW_LOADING":"LAADIMINE ON AEGALANE?","I_GIVE_UP":"ANNAN ALLA","LEARN_MORE":"Loe rohkem","POOR_SOURCE":"See allikas on halvasti saadaval või teie internetiühendus pole piisavalt kiire","PICK_CATEGORIES_ERR":"Peate valima vähemalt 3 kategooriat","ADJUST_TIMING":"Kohandage ajastust koos ","ADJUST_SIZE":"Kohandage suurust koos ","SEARCH_ANYTHING":"Võite otsida kõike...","ALL_CATEGORIES":"Kõik","SEARCH_CATEGORIES":"Filmid, Seriaalid, YouTube ja TV","SEARCH_PERSONS":"Näitlejad, Režissöörid ja Kirjanikud","SEARCH_PROTOCOLS":"HTTP ja Magnet Lingid","SEARCH_TYPES":"IMDB / TVDB lingid","WATCHED":"Vaadatud","SHOW_LESS":"Näita vähem","LAST_SEARCHES":"Viimased otsingud","CLEAR_HISTORY":"Tühjenda ajalugu","CHOOSE_SOME":"VALI MIDAGI NENDEST:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Veebipult ei saanud laadida","STREMIO_OFFLINE":"Stremio on ühenduseta","STREMIO_EXPENSIVE_CONNECTION":"Oleme tuvastanud, et kasutate mobiilset andmesidet. Kas soovite jätkata?","USE_DATA":"Kasuta andmesidet","WARNING":"Hoiatus","MORE_INFO":"Rohkem infot...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Laadimine ...","STREMIO_TV_BACK_TO_LANGUAGES":"Tagasi keelte juurde","STREMIO_TV_REMOTE":"Pult","STREMIO_TV_GO_TO":"Mine aadressile:","STREMIO_TV_OR_SCAN":"või skaneeri:","STREMIO_TV_ADDON_INSTRUCTIONS":"Palun järgige juhiseid oma eelistatud laienduste installimiseks.","STREMIO_TV_LIVE_TV":"Otse-TV","STREMIO_TV_RESUME_WATCHING":"Jätka vaatamist","STREMIO_TV_LOADING_BACKGROUND":"Tausta laadimine","STREMIO_TV_CHECKING_AUTHENTICATION":"Autentimise kontrollimine","STREMIO_TV_LOADING_BOARD":"Töölauda laaditakse","STREMIO_TV_LOGIN_HEADER_LINE_1":"Soovime pakkuda oma kasutajatele parimat võimalikku isikustatud kogemust meie tarkvaraga.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Seetõttu palume teil konto luua ja/või sisse logida.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Tänan mõistva suhtumise eest,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio tiim","STREMIO_TV_REMOTE_INSTRUCTIONS":"Veebipuldi kasutamiseks oma nutitelefoni/tahvelarvuti/lauaarvutiga:","STREMIO_TV_WIFI_SETUP":"Wi-Fi seadistus","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle ei tuvastanud internetiühendust.","STREMIO_TV_WIFI_DETAILS_1":"Ühenda järgmisega:","STREMIO_TV_WIFI_DETAILS_2":"stremio-ring","STREMIO_TV_WIFI_DETAILS_3":"Kasutage parooli:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Ava veebilehitseja lingiga:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Vaikimisi","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Viimati vaadatud järgi","STREMIO_TV_LIBRARY_SORT_NAME":"Nime järgi","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Nime järgi kahanevalt","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Vaatamiskordade järgi","STREMIO_TV_LIBRARY_SORT_WATCHED":"Vaadatud järgi","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Mitte vaadatud järgi","STREMIO_TV_DETAILS_SEASON_NUMBER":"Hooaeg ${1}","STREMIO_TV_STREAMS_LOADING":"Laetud ${1} / ${2} laiendust...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} laiendus on veel laadimisel...","STREMIO_TV_PLAYER_SETTINGS":"Mängija seaded","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtiitrite viivitus","STREMIO_TV_PLAYER_AUDIO_DELAY":"Heli viivitus","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video skaleerimine","STREMIO_TV_PLAYER_CHAPTERS":"Peadükk","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Jäta vahele ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Mitte toetatud voo allikas","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Väline link ei avanenud","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Ei saa kohandada helipääsrežiimis","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Esita ExoPlayeriga","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Esita libVLC mängijaga","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Ümberlülitamine libVLC mängijale taasesituse vea tõttu","STREMIO_TV_ADDONS_TITLE":"Kasutage oma telefonis või arvutis Stremiot laienduste installimiseks või seadistamiseks ja vajutage „Sünkrooni laiendused“","STREMIO_TV_ADDONS_SUBTITLE":"Märkus: veenduge, et kasutate sama Stremio kontot","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sünkrooni laiendused","STREMIO_TV_ADDONS_SYNC_SUCCESS":"laiendused edukalt sünkroniseeritud","STREMIO_TV_ADDONS_SYNC_FAILED":"Laienduste sünkroniseerimine ebaõnnestus","STREMIO_TV_META_LINK_FAILED":"Meta linki ei õnnestunud avada","STREMIO_TV_CATALOG_LOADING":"Kataloog veel laadimisel...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Liidese keel uuendatud","STREMIO_TV_SETTINGS_THEME_UPDATED":"Teema uuendatud","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Vaikimisi mängija","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Väline mängija","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Eelistatud keel","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Teisene eelistatud keel","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunneliga taasesitus","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Mõnel seadmel võivad tekkida taasesitusprobleemid","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Mõned videoformaadid ei pruugi töötada","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Kaadrisageduse sobitamine","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Keelatud","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Ainult kaadrisagedus","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Kaadrisagedus ja resolutsioon","STREMIO_TV_SETTINGS_NO_CACHING":"Pole vahemälu","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Vaikimisi","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Pehme","STREMIO_TV_SETTINGS_PROFILE_FAST":"Kiire","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ülikiire","STREMIO_TV_SETTINGS_SERVER_URL":"Voogesituse serveri URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"Serveri versioon","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Teadmata","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio versioon","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Muuda serveri URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Sisestage voogesituse serveri URL","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Näita statistikat laadimise ajal","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremio privaatsuspoliitika lugemiseks külastage:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremio tingimuste ja eeskirjade lugemiseks külastage:","STREMIO_TV_NAV_SEARCH":"Otsing","STREMIO_TV_NAV_HOME":"Avaleht","STREMIO_TV_NAV_DISCOVER":"Avasta","STREMIO_TV_NAV_LIBRARY":"Raamatukogu","STREMIO_TV_NAV_MOVIES":"Filmid","STREMIO_TV_NAV_SERIES":"Seriaalid","STREMIO_TV_NAV_CHANNELS":"Kanalid","STREMIO_TV_NAV_TV":"Otse-TV","STREMIO_TV_NAV_SETTINGS":"Seaded","STREMIO_TV_NAV_ADDONS":"Laiendused","STREMIO_TV_LOGIN_TITLE":"Konto linkimine","STREMIO_TV_LOGIN_EXPIRES_IN":"Aegub","STREMIO_TV_LOGIN_STEP_ONE":"Skaneeri QR-kood või mine aadressile","STREMIO_TV_LOGIN_STEP_TWO":"Logi sisse oma Stremio kontole","STREMIO_TV_LOGIN_NEW_LINK":"Küsi uus link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Sisselogimiskood uuendatud","STREMIO_TV_SEARCH_PLACEHOLDER":"Sisestage midagi","STREMIO_TV_SEARCH_NO_ADDONS":"Laiendusi kataloogide jaoks ei leitud!","STREMIO_TV_SEARCH_BUTTON":"Otsi","STREMIO_TV_SEARCH_KEY_DEL":"Kustuta","STREMIO_TV_SEARCH_KEY_SPACE":"Tühik","STREMIO_TV_SEARCH_KEY_CLEAR":"Tühjenda","STREMIO_TV_SEARCH_HISTORY_TITLE":"Otsinguajalugu","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Saate otsida pealkirju, näitlejaid, kanaleid ja palju muud...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Tühjenda otsinguajalugu","STREMIO_TV_FILTERS_DESCRIPTION":"Valige üks allolevatest filtritest","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Voogedastuse server on võrguühenduseta. Kontrollige serveri seadeid.","FILTERS":"Filtrid","SETTINGS":"Seaded","ACCOUNT":"Konto","LOGOUT":"Logi välja","THEMES":"Teemad","PLAYBACK":"Esitamine","PLAYBACK_SPEED":"Esituskiirus","AUDIO_TRACKS":"Helirajad","UNKNOWN_TRACK_LANG":"Tundmatu","VIDEOS":"Videod","SERVER":"Server","LINKS":"Lingid","ABOUT":"Teave","INTERFACE":"Liides","ANIMATIONS":"Animatsioonid","STATUS":"Olek","LANGUAGE":"Keel","SIZE":"Suurus","DELAY":"Viivitus","BOLD":"Rasvane","OPACITY":"Läbipaistvus","TEXT_COLOR":"Teksti värv","OUTLINE_COLOR":"Kontuurvärv","BACKGROUND_COLOR":"Taustavärv","BACKGROUND_BLUR":"Taustahägusus","SEEK_TIME_DURATION":"Otsimise ajakestus","AUTO_PLAY":"Automaatne järgmise osa esitus","PLAY_NOW":"Esita nüüd","MARK_AS_WATCHED":"Märgi vaadatuks","MARK_AS_UNWATCHED":"Märgi vaatamata","REWIND_TO_BEGINNING":"Kerige algusesse","CONTINUE_WATCHING":"Jätka vaatamist","ALL":"Kõik","SECONDS":"sekundit","ON":"SEES","OFF":"VÄLJAS","RELOAD":"Laadi uuesti","EDIT_URL":"Muuda URL-i","URL":"URL","NONE":"Pole","EMBEDDED":"Manustatud","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Vaheta seadmeid","REMOTE_VIDEOS":"Videod","REMOTE_ADJUST_TIMING":"Kohanda ajastust","REMOTE_ADJUST_SIZE":"Kohanda suurust","REMOTE_COULD_NOT_BE_LOADED":"Veebipult ei laaditud","REMOTE_RETRY":"Proovi uuesti","TORRENT_PROFILE_DEFAULT":"Vaikimisi","TORRENT_PROFILE_SOFT":"Aeglane","TORRENT_PROFILE_FAST":"Kiire","TORRENT_PROFILE_ULTRA_FAST":"Ülikiire","MB_S":"MB/s","FAQ_001_H1":"Mis on Stremio?","FAQ_001_P1":"Stremio on meediakeskuse tarkvara, mis on loodud videomeelelahutuse jaoks ja mille kasutusmugavus on esikohal. Stremio võimaldab sul korraldada ja vaadata oma filmide, sarjade, kanalite ja otse-TV kogu.","FAQ_001_P2":"Stremio kogub sisu sinu kohalikust kettast ja meie laienduste süsteemist.","FAQ_001_P3":"See teavitab sind ka siis, kui tulevad välja uued episoodid/videod/filmid, mis sind huvitavad, ning pakub filmisoovitusi.","FAQ_02_H1":"Kuidas on Stremio võrreldav Kodi ja Plexiga?","FAQ_02_P1":"Oleme inspiratsiooni saanud neist kahest tarkvarast. Kuid meil on erinevad eesmärgid - Stremio on suunatud spetsiaalselt meelelahutusvideole ja püüab saada peamiseks lahenduseks.","FAQ_02_P2":"Stremio ei ole kunagi nii kohandatav ja funktsionaalselt rikkalik kui Kodi ja Plex, kuid seda on oluliselt lihtsam kasutada. Lihtsalt ${1} proovi järele ja vaata ise ${2} :)","FAQ_03_H1":"Kuidas on Stremio võrreldav Netflixiga?","FAQ_03_P1":"Ka Netflix on meie inspiratsiooniallikas. Püüame pakkuda Netflixi kasutuskogemust, lisades juurde mitmesuguseid lisavõimalusi. Kuid mis veelgi olulisem - anname sulle vabaduse hallata oma raamatukogu ja lisada uusi allikaid meie laiendustesüsteemi kaudu.","FAQ_03_P2":"See teeb Stremio lõputult laiendatavaks, nii et Stremio kasutamisel pole sa kunagi piiratud ainult Netflixi litsentsitud sisuga. Näiteks saad Stremio kaudu vaadata sisu ${1} Filmon.tv${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} ja isegi ${9}Netflix${10} enda teenusest!","FAQ_04_H1":"Kuidas on Stremio võrreldav Flipboardiga?","FAQ_04_P1":"Meile seda küsimust sageli ei esitata, välja arvatud siis, kui räägime start-up inimestega :)","FAQ_04_P2":"Stremio on sisuliselt sisu agregaat, mis muudab selle Flipboardiks video jaoks. See on väga ilmne meie Teadete sektsioonis, mis annab sulle kataloogid ja teavitused uutest episoodidest/videotest, mida jälgid, sarnaselt Flipboardile.","FAQ_05_H1":"Kuidas on Stremio võrreldav Popcorn Time\'iga?","FAQ_05_P1":"Stremio ja Popcorn Time on sarnased kasutajaliidese poolest, kuna videomeelelahutuse kataloogide tegemiseks pole palju võimalusi :)","FAQ_05_P2":"Kuid samas kui Popcorn Time keskendub konkreetsetest allikatest torrentite voogesitusele, on Stremio piiranguteta ja lihtsalt sisu kogujana - see pole seotud kindla sisuteenusepakkujaga.","FAQ_05_P3":"Lisaks ei paku me vaikimisi ühtegi torrent-laiendust, nii et Stremio ei kata Popcorn Time\'i kasutusjuhtumit ametliku funktsionaalsusega.","FAQ_05_P4":"Veel üks märkimisväärne erinevus on see, et Popcorn Time on täiesti avatud lähtekoodiga, samas kui Stremio on ${1} osaliselt avatud lähtekoodiga${2}.","FAQ_06_H1":"Kas te lisate selle filmi/sarja?","FAQ_06_P1":"Ei, kahjuks mitte :(","FAQ_06_P2":"Nagu mainitud enamikus teistes küsimustes, ei paku Stremio iseseisvalt sisu - kõik lisatakse laienduste süsteemi kaudu. Kui sul on sisu soov, saad Playeris kasutada nuppu „Teata”, mis saadab e-kirja laienduse autorile, mida hetkel kasutad.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Kas te loote laienduse X jaoks?","FAQ_08_P1":"See on täiesti võimalik.","FAQ_08_P2":"Kui sul on idee laienduse jaoks, võta meiega ühendust aadressil ${1}office@stremio.com${2}, kuid palun veendu, et sinu laienduse idee ei rikuks autoriõigusi ega kasutustingimusi.","FAQ_08_P3":"Praegu on meie plaanis järgmised laiendused FandangoNOW, Filmon.tv nõudmisvideod ja Crunchyroll.","FAQ_09_H1":"Kas Stremio kasutab BitTorrent\'i?","FAQ_09_P1":"Jah, Stremio toetab BitTorrent\'i voogesitusprotokollina. Sa saad seda kasutada kas torrent-laiendusega või .torrent-faili lohistamisega Stremiosse või magnetlingi kleepimisega Otsingu riba.","FAQ_09_P2":"Palun pange tähele, et ainus ametlik laiendus, mis kasutab BitTorrent\'i, on ${1}Vodo${2}, mis pakub indie-sisu, mis on lubatud levitada BitTorrent\'iga.","FAQ_09_P3":"Me ei toeta kolmandate osapoolte laienduste kasutamist, mis võivad võimaldada autoriõiguste rikkumist.","FAQ_10_H1":"Mida saab Stremios vaadata ametlike laiendustega?","FAQ_10_P1":"Vaikimisi saad vaadata Filmon.tv, YouTube ja Vodo sisu otse Stremio sees, kasutades sisseehitatud mängijat. Lisaks on meil laiendus Twitch.tv jaoks ja mõned teised.","FAQ_10_P2":"See kombinatsioon pakub valikut:","FAQ_10_L1":"Populaarsed telekanalid, mida pakub Filmon.tv – näiteks E4, BBC, Bollyworld TV","FAQ_10_L2":"Kõik YouTube\'is – näiteks BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie-filmid Vodost","FAQ_10_L4":"Veebimängude ülekanded Twitch.tv kaudu","FAQ_10_P3":"Lisaks on Guideboxi ja Netflixi laiendustega saadaval palju sisuallikaid, mis ei mängi täielikult Stremio sees, vaid suunatakse edasi antud teenusele. Näiteks pakub Guideboxi laiendus valiku filme, mida saad USA-s tasuta voogedastada teenustest nagu TubiTV ja Crackle.","FAQ_11_H1":"Stremiot ei saa installida, mida peaksin tegema?","FAQ_11_P1":"Kui kasutad Windowsi, proovi ${1}seda alternatiivset installerit${2}.","FAQ_11_P2":"Kui kasutad Mac OS X-i, siis teadmiseks, et me ei toeta midagi vanemat kui OS X Mavericks (10.9).","FAQ_11_P3":"Kui kasutad Linuxit, siis arvestage, et praegu toetame ainult 64-bitist (x64) Linuxit.","FAQ_11_P4":"Kui sa ikka ei suuda probleemi lahendada, kirjuta meile ${1}meie Facebooki gruppi${2}.","FAQ_12_H1":"Miks minu viirusetõrje kaebab? Kas Stremio on ohutu?","FAQ_12_P1":"Kinnitame, et Stremio on ${1}100% puhas${2}.","FAQ_12_P2":"Sinu viirusetõrje kaebab, sest meie installer sisaldab reklaame, mida mõned viirusetõrje programmid tuvastavad reklaamvarana.","FAQ_12_P3":"Kui oled endiselt kahtleval seisukohal, võid proovida meie ${1}alternatiivset installerit${2}.","FAQ_13_H1":"Kuidas ma saan teha laienduse?","FAQ_13_P1":"Algajatele soovitame tutvuda meie ${1}\'laienduste\' süsteemi mooduliga${2} GitHubis.","FAQ_13_P2":"Seejärel saad järgida ${1}Hello World õpetust${2}.","FAQ_13_P3":"Kui sul puuduvad programmeerimisoskused, postita oma idee ${1}Redditi kogukonda${2} ja võta meiega ühendust oma laienduse ideega aadressil ${3}office@stremio.com${4}.","FAQ_14_H1":"Kuidas laiendusi avaldatakse?","FAQ_14_P1":"Kui sa lood laienduse ja hostid seda ning lisad oma manifestile endpoint väljale toimiva laienduse aadressi, siis laiendus avaldatakse automaatselt meie ${1}Laienduste kataloogis${2}.","FAQ_14_P2":"See juhtub seetõttu, et stremio-addons mooduli serveripool teeb automaatselt kõne meie API-sse, et laiendusest teada anda. Kui meie API valideerib su endpoint kui kehtiva laienduse, siis hakkab see kataloogis kuvama.","FAQ_15_H1":"Kas ma saan Stremiot kasutada oma brauseris?","FAQ_15_P1":"Praegu mitte, kuid see on tulemas!","FAQ_15_P2":"Kui oled uudishimulik nägema Alpha versiooni, võid seda vaadata siit: ${1}alpha4.strem.io${2}. Pidage meeles, et voogesitus on selles alfas keelatud. Toetame Chrome\'i, Firefoxi, Opera ja Edge\'i.","FAQ_16_H1":"Telerisse edastamine ei tööta / subtiitrid ei tööta","FAQ_16_P1":"Telerisse edastamine kasutab DLNA-tehnoloogiat, mis on väga ebajärjekindel erinevate telekaubamärkide ja -mudelite vahel. Seetõttu ei saa me seda igal juhul testida, nii et see pole kaugeltki täiuslik. Sellest hoolimata töötame selle pideva täiustamise kallal, kuid ei saa anda tähtaega, millal DLNA hakkab korralikult tööle sinu teleriga.","FAQ_16_P2":"Kui sa ei näe isegi oma telerit edastusmenüüs, proovi oma võrguühendust välja ja uuesti sisse lülitada (Windowsis paremklõpsa Võrku ja kasuta Luba/Keela) ning taaskäivita oma ruuter, teler ja arvuti.","FAQ_16_P3":"Kui probleemid jätkuvad, saad meid aidata, saates oma teleka brändi ja mudeli teabe aadressil ${1}office@stremio.com${2}.","FAQ_16_P4":"Seniks soovitame Chromecasti, mida toetame väga hästi, või lihtsalt ühendada teleri HDMI-kaabliga arvutiga.","FAQ_17_H1":"Stremio hangub ja/või jookseb kokku, mida ma saan teha?","FAQ_17_P1":"Esiteks, kui kasutad Windows 7 AVG viirusetõrjega: meil on selle kombinatsiooniga probleem. Probleem on AVG-s endas ja meil pole mõistlikku lahendust selle lahendamiseks. Kahjuks ei aita erandid ega viirusetõrje keelamine. Ainus lahendus on AVG millegi muuga asendamine.","FAQ_17_P2":"Kui see pole probleem, kuid kasutad endiselt Windowsi, uuenda uusimale teeninduspaketile ja uuenda/paigalda uuesti oma GPU draiverid ning proovi uuesti.","FAQ_17_P3":"Kui probleem pole ikka lahendatud või kasutad Maci või Linuxit, siis kirjuta meile probleemist täpselt meie ${1}Facebooki gruppi${2}.","FAQ_18_H1":"Kuidas ma saan teha laienduse?","FAQ_18_P1":"Algajatele soovitame tutvuda meie ${1}\'laienduste\' süsteemi mooduliga${2} GitHubis.","FAQ_18_P2":"Seejärel saad järgida ${1}Hello World õpetust${2}.","FAQ_18_P3":"Kui sul puuduvad programmeerimisoskused, postita oma idee ${1}Redditi kogukonda${2} ja võta meiega ühendust oma laienduse ideega aadressil ${3}office@stremio.com${4}.","FAQ_19_H1":"Miks Stremio võtab kettaruumi?","FAQ_19_P1":"Stremiol on kohalik vahemälu, et ajutiselt hoida voogesitatud videofaile.","FAQ_19_P2":"Sellel on kaks eelist: esiteks võimaldab see Stremiol videot ette puhverdada, et tagada sujuvam voogesitus. Teiseks hoiab see videoid kohalikus vahemälus, et saaksid neid hiljem võrguühenduseta vaadata.","FAQ_19_P3":"Kui palju Stremio hoiab, sõltub Vahemälu seadetest Seadete paneelil. Stremio võib hoida kuni määratud suuruseni (nt 2GB) kettal, välja arvatud juhul, kui praegu voogesitatav video on sellest suurem, sel juhul peab see määrama piisavalt salvestusruumi selle hoidmiseks, kuni sa seda voogesitad.","FAQ_20_H1":"Kus on vahemälukaust?","FAQ_20_P1":"Windowsis asub see stremio-cache kettal, mille valisid Seadetes (nt \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"MacOS-is on see \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linuxis on see \\"~/.stremio/stremio-cache\\" või \\"~/stremio-cache\\"","FAQ_21_H1":"Ma saan veateate \\"Voogesituse serverit ei leitud\\", mida ma saan teha?","FAQ_21_P1":"Kui sa saad selle veateate, tähendab see ühte järgmistest:","FAQ_21_P2":"1) Sa üritad kasutada YouTube/BitTorrent allikat kasutavat laiendust meie ${1}veebiversiooni${2} kaudu. Sel juhul tuleks paigaldada meie lauaarvuti versioon ${3}meie veebisaidilt${4}.","FAQ_21_P3":"2) Midagi on Stremio installatsiooniga valesti. Sel juhul proovi uuesti paigaldada meie uusim versioon ${1}veebisaidilt${2}. Kui see ei aita, proovi viirusetõrjeprogrammid ja tulemüürid välja lülitada, arvuti taaskäivitada ja uuesti proovida. Kui see ikka ei aita, kirjuta meile ${3}meie Facebooki gruppi${4}.","FAQ_22_H1":"Enamikku laiendusi ei saa kasutada iOS-is","FAQ_22_P1":"Apple\'i App Store\'i tingimuste piirangute tõttu oleme iOS-i rakenduse piiranud ainult kindla hulga laiendustega.","FAQ_22_P2":"Aga ole mureta - tulevikus lisame iOS-ile rohkem laiendusi ning võime lisada ka integratsiooni, mis võimaldab kasutada kõiki Stremio laiendusi, ühendades iOS-i rakenduse Stremio Voogesituse Serveriga."}')},53447:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filma","TYPE_series":"Telesaila","TYPE_tv":"Telebista katea","TYPE_channel":"Kanala","TYPE_other":"Beste batzuk","TYPE_movie_PL":"Filmak","TYPE_series_PL":"Telesaila","TYPE_tv_PL":"Telebista kateak","TYPE_channel_PL":"Kanalak","TYPE_other_PL":"Beste batzuk","TYPE_ALL":"Guztiak","TYPE":"Mota","CATALOG_com_linvo_cinemeta_top":"Herrikoia","CATALOG_com_linvo_cinemeta_imdbRating":"Nabarmendua","CATALOG_com_linvo_cinemeta_year":"Berria","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Bideoa","BACK":"Atzera","MORE":"Gehiago","DONE":"Eginda","COPY":"Kopiatu","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Ezagutu","Board":"Arbela","Library":"Liburutegia","My Library":"Nire Liburutegia","Calendar":"Egutegia","NOTIFICATION_ONLINE":"Linean zaude orain","NOTIFICATION_OFFLINE":"Une honetan lineaz kanpo zaude","INTERNET_CONNECTION":"Sareko konexioa","STORAGE_FULL_TITLE":"Abisua: biltegiratzea beteta!","STORAGE_FULL_TEXT":"Stremio-k ezin izango ditu zure ezarpenak, lehentasunak edo saio-hasierako informazioa gorde. Baloratu Stremio berriro abiaraztea edo berriro instalatzea.","SEARCH":"bilatu","SEARCH_NO_RESULTS":"Ez da emaitzarik aurkitu","SEARCH_EXPLANATION_CONTENT":"Bilatu filmak, serieak, YouTube eta telebista kateak","SEARCH_EXPLANATION_PEOPLE":"Aktore, zuzendari eta idazleak bilatu","SEARCH_PASTE_LINKS":"Itsatsi HTTP eta Magnet estekak","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Gehitu liburutegian","REMOVE_FROM_LIB":"Kendu liburutegitik","ADDED_TO_LIB":"Liburutegian gehitu da","REMOVED_FROM_LIB":"Liburutegitik kendu da","TRAILER":"Trailerra","WATCH_TRAILER":"Ikusi Trailerra","WATCH_NOW":"Ikusi orain","SHOW":"Ikuskizuna","SHOW_MOVIE":"Erakutsi filma","WATCH_RANDOM":"Ikusi ausaz","IMDB_RATING":"IMDb balorazioa","YEAR":"Urtea","DIRECTOR":"Zuzendaria","WRITER":"Idazlea","LEAD_ACTORS":"Aktore nagusiak","CAST":"Aktoreak","CREW":"Tripulazioa","SHOW_MORE_CAST":"Erakutsi gehiago »","AIRED":"Erretransmititua","SEASONS":"Denboraldiak","GENRE":"Generoa","GENRE_ALL":"Genero denak","CATALOG":"Katalogoa","SUMMARY":"Laburpena","SHOW_MORE":"Erakutsi gehiago","SIMILAR":"Antzekoak","UPCOMING":"Datozenak","TBA":"TBA","ENDED":"Bukatuta","DURATION":"Iraupena","FEATURED":"Nabarmenduak","METADATA":"Metadatuak","CATEGORY":"kategoria","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Zuzendariak","SEARCH_VIDEOS":"bilatu bideoak","SEARCH_PLACEHOLDER":"bilatu edo itsatsi URLa","ADDON":"gehigarria","ADDONS":"Gehigarriak","OFFICIAL":"ofiziala","ADDONS_OFFICIAL":"Stremio gehigarri ofizialak","ADDONS_POPULAR":"Zure inguruan ezaguna","ADDON_FREE":"doan","ADDON_PEERED":"begiratu","ADDON_SUBSCRIPTION":"harpidetza","ADDON_STREAM_GEORESTRICTED":"ez dago erabilgarri zure eremuan","ADDON_STREAM_OFFLINECACHE":"Lineaz kanpoko cachea","ADDON_STREAM_LOCALFILE":"Tokiko fitxategia","SHARE_ADDON":"Partekatu gehigarria","AVAILABLE_STREAMS":"Eskuragarri dauden stream-ak","NO_STREAM":"Ez da stream-ik aurkitu","ALL_ADDONS":"Denak","INSTALL_MORE_ADDONS":"Stream gehiagorako, instalatu gehigarriak","STREAM_NOT_SUPPORTED":"Aukeratutako stream-a ez da onartzen plataforma honetan.","ADDON_CATALOGUE":"Erakutsi gehigarri guztiak »","ADDON_CATALOGUE_MORE":"Instalatu gehigarriak","REPO_ADDED":"Biltegia gehitu da","ADDON_REPO_EXIST_ERR":"Gehigarrien bilduma hau dagoeneko existitzen da","ADDON_REPO_ERR":"Errore bat gertatu da bilduma gehitzean","ADDON_ADD_ERR":"Errore bat gertatu da gehigarria gehitzean","ERR_ADDON_PROTECTED":"Ezin da gehigarria desinstalatu, babestuta dago","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Arazoren bat izan da. Baliteke autentifikazioak huts egitea","ERR_NOT_COLLECTION_URL":"Ez da bildumaren URLa","ERR_NOT_ADDON_URL":"Ez da baliozko gehigarri URLa","ERR_DETECTFROMURL":"Ezin da URL honetatik gehigarririk/bildumarik aurkitu","ADDON_DUPLICATE_WARNING":"Abisua: gehigarri bikoiztua","ADDON_COLLECTION_SET_FAILED":"Instalatutako gehigarriak zure kontuan sinkronizatzeak huts egin du","SETTINGS_DATA_EXPORT":"Esportatu erabiltzaileen datuak","ADDON_PULL_FAILED":"Instalatutako gehigarriak zure kontutik sinkronizatzeak huts egin du","REFRESH_ON_CLICK":"Egin klik berriro saiatzeko","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Filma oraindik zinema aretoetan","WATCH_IN_CINEMA":"Ikusi zure tokiko zineman","IN_THEATER":"Zineman","GET_TICKETS":"Sarrerak eskuratu","UPCOMING_EPISODE":"Hurrengo atala","UPCOMING_EPISODE_MESSAGE":"Atal hau emitituko da","MISSING_DATE_EPISODE":"Atalaren data falta da","MISSING_DATE_EPISODE_MESSAGE":"Baliteke atal hau oraindik ez emititzea","CHANNEL_NOT_SCRAPED":"Kanal hau ez dago oraindik zatituta.
    Itzuli minutu batzuen buruan.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Gehitu liburutegian erabilgarri dagoenean jakinarazpenak jasotzeko.","GET_NOTIFIED_WHEN_AVAILABLE":"Erabilgarri dagoenean jakinaraziko zaizu.","WARNING_STREAMING_SERVER":"Abisua: ez da aurkitu streaming lokaleko zerbitzaria. Tokiko fitxategietatik, YouTube-tik eta BitTorrent-etik erreproduzitzea ez da erabilgarri egongo.","WARNING_STREAMING_SERVER_DISMISS":"Baztertu","WARNING_STREAMING_SERVER_LATER":"Geroago","DECODER_WARNING":"Oharra: baliteke bideo hau zure hardwareak ez onartzea. Gogoan izan, erreprodukzioa motela izan daitekela.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Berriz saiatu","CLEAR_DATA":"Datuak garbitu","PLAYER_ERROR":"Erreproduktorearen akatsa","PLAYER_ERROR_LOOKSLIKE":"Badirudi","PLAYER_ORIENTATION":"Erreproduktorearen orientazioa","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Blokeatuta","PLAYER_ORIENTATION_SENSOR_SHORT":"Sentsorea","PLAYER_ORIENTATION_LANDSCAPE":"Erreproduktorearen orientazio etzana blokeatuta dago","PLAYER_ORIENTATION_SENSOR":"Erreproduktorearen orientazio automatikoa (sentsorea)","PLAYER_PLAYBACK_SPEED":"Erreprodukzio abiadura","PLAYER_PLAYBACK_ERROR":"Erreprodukzioaren errorea. Saiatu berriro","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Errore ezezaguna","PLAYER_PLAYBACK_ERROR_DEFAULT":"Barkatu, bideo hau ezin du {{productName}} erabiltzaileak erreproduzitu.","PLAYER_SUBTITLES_LANGUAGES":"Azpitutuluen hizkontzak","PLAYER_SUBTITLES_VARIANTS":"Azpitutuluen aldaerak","PLAYER_SUBTITLES_SETTINGS":"Azpitutuluen ezarpenak","PLAYER_SUBTITLES_DISABLED":"Azpitutuluen desgaiatuta daude","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posizio bertikala","PLAYER_SUBTITLES_LOADED":"Azpitutuluak kargatuta","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Txertatutako azpitituluak kargatuta","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Azpitutulu esklusiboak kargatuta","PLAYER_SUBTITLES_LOADED_LOCAL":"Azpitutuluen lokalak kargatuta","PLAYER_SUBTITLES_LOADED_ORIGIN":"{{origin}}eko azpitituluak kargatuta","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Hurrengo bideoa","PLAYER_MUTE":"Mututu","PLAYER_UNMUTE":"Desmututu","PLAYER_OPEN_IN_EXTERNAL":"Kanpoko erreproduzitzailean ireki","PLAYER_OPEN_IN_NPLAYER":"nPlayer-en ireki","PLAYER_PLAY_IN":"{{device}}-en ireki","PLAYER_LIVE":"Zuzenean","PLAYER_NEXT_VIDEO_TITLE":"Bueltan dator","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Hurrengoa","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Baztertu","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Orain ikusi","PLAYER_COPY_STREAM_SUCCESS":"Stream-aren linka zuzenki kopiatu da","PLAYER_COPY_STREAM_ERROR":"Stream-aren linka kopiatzen akats bat gertatu da","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Deskargako linka zure arbelera kopiatu da","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Deskarga linka kopiatzen errorea gertatu da","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streaming jatorria","CASTING_TO":"(e)ra igortzen","NETWORK_STATUS":"Sarearen egoera","STREAM_SPEED":"Stream-aren abiadura:","STREAM_BUFFERED":"Bufferrean:","PEERS_INFO":"Peer informazioa","PEERS_ACTIVE":"Aktibo:","PEERS_CONNECTED":"Konektatuta:","PEERS_WAITING":"Itxaroten:","TRANSCODING_WARNING":"Abisua: bideoa transkodetzen.","STREAM_LOADING":"kargatzen...","PLAYING_LOCAL":"fitxategi lokaletik erreproduzitzen","PLAYING_CACHE":"cachetik erreproduzitzen","WRONG_SUBS":"Azpititulu okerrak?","ERR_SUBS_LOADING_TITLE":"Errorea azpitituluak kargatzean","ERR_SUBS_LOADING":"Ezin izan dira azpitituluak kargatu: arazoa izan daiteke erabiltzen ari zaren gehigarrian edo sareko konexioan","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Azpitituluen gehigarri hauek huts egin dute","ERR_CASTING_UPDATE_TITLE":"Ezin izan da eguneratu gailuaren informazioa: streaming zerbitzaria konexiorik gabe egon liteke","CHOOSE_DEVICE":"Aukeratu ikusi nahi duzun gailua","NO_CAST_DEVICES":"Ez dago galdaketa gailurik erabilgarri.","NO_SETTINGS":"Ez dago ezarpenik erabilgarri.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefonoa / Tableta","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Azpitituluak","SUBTITLES_CHANGE":"Aldatu azpitituluak","SUBTITLES_CHANGE_NONE":"Ez dago hizkuntza honen azpititulurik, barkatu.","SUBTITLES_CHANGE_ACIVE":"Une honetan #{{subtitlesDialog.activeIdx + 1}} azpitituluak aktibatuta daude. Egin klik \\"Jarraitu\\" #{{subtitlesDialog.pickedIdx + 1}} azpitituluak aktibatzeko.","SUBTITLES_OR":"Bestela,","SUBTITLES_ADJUST_DELAY":"Doitu azpidatzien atzerapena:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Edo erabili G / H teklak erreproduzitzerakoan doiketarako.","SUBTITLES_ADJUST_DELAY_TIP":"AHOLKUA: G / H teklak erabil ditzakezu erreproduzitzerakoan doiketarako.","SUBTITLES_DELAY":"Azpitituluen atzerapena:","SUBTITLES_LOADING":"Azpitituluak kargatzen ...","SUBTITLES_UNAVAILABLE":"Ez dago kanpoko azpititulurik erabilgarri","SUBTITLES_DISABLED":"Desgaituta","EXTERNAL_PLAYER_DISABLED":"Desgaituta","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Aukeratzea gaitu","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Ez erakutsi berriz","SERVICE_INSTALL":"Instalatu","AUDIO":"Audioa","DEFAULT_LANGUAGE":"Defektuzko hizkuntza","DEFAULT_SECONDARY_LANGUAGE":"Defektuzko Bigarren Hizkuntza","SEASON":"Denboraldia","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Atala","EPISODE_ABBREVIATION":"EP","SPECIAL":"Berezia","SORT":"ordenatu","SORT_BY":"Ordenatu","FILTER":"iragazkia","SORT_TRENDING":"joera","SORT_RECENT":"berriena","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"balorazioa","SORT_WATCHED":"ikusita","SORT_YEAR":"urtea","SELECT":"Select","SELECT_TYPE":"Mota aukeratu","SELECT_SORT":"Ordena aukeratu","SELECT_CATALOG":"Katalogoa aukeratu","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Generoa aukeratu","SORT_LASTWATCHED":"Azkenik ikusitakoaren arabera","SORT_NAME":"Izenaren arabera","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Zenbat aldiz ikusitaren arabera","SORT_NOTWATCHED":"ikusi gabe","New for You":"Zuretzako berria","New Episodes":"Atal berriak","New Videos":"Bideo berriak","Recommendations":"Gomendioak","LIBRARY_RESUME":"Jarraitu","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Xehetasunak","LIBRARY_RESUME_DISMISS":"Baztertu","LIBRARY_CLEAR_PROGRESS":"Progresua ezabatu","LIBRARY_REMOVE":"Ezabatu","LIBRARY_NOT_LOGGED_IN":"Liburutegia saioa hasi duten erabiltzaileentzat bakarrik dago erabilgarri","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Egutegia saioa hasitako erabiltzaileentzat bakarrik dago erabilgarri","NOT_LOGGED_IN_CLOUD":"Zure pelikula eta telesailak edonoiz eta edonon gozatu","NOT_LOGGED_IN_RECOMMENDATIONS":"Zure ikustaldi-historiari egokitutako gomendioak","NOT_LOGGED_IN_NOTIFICATIONS":"Ez galdu berriro atalik","NOT_LOGGED_IN_CALENDAR":"Antolatu zure ikusteko egutegi pertsonala","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Nabarmenduak","DISCOVER_TOP":"Gora","DISCOVER_OSCAR":"Oscar saridunak","DISCOVER_WARNING_TITLE":"Glubs!","DISCOVER_EMPTY_CATALOG":"Gehigarri honek eduki hutsa itzuli du.","DISCOVER_ADULT_WARNING":"Edukia helduentzat soilik dago ikusgai. 18 urte baino gehiago al dituzu?","DISCOVER_NOADDON_WARNING":"Abisua: ez dago Stremio gehigarririk aktibo mota honetarako. Gordetako elementuak erakutsiz, hemen ez da ezer eguneratuko.","DISCOVER_LOAD_ERR":"Edukia ez da kargatu, errorea gertatu da.","DISCOVER_ADDON_UNINSTALLED":"Eduki hau jada ez dago erabilgarri, baliteke gehigarria instalatuta ez izatea.","UNINSTALL_THIS_ADDON":"Desinstalatu gehigarri hau","ERR_ADDON_NOT_INSTALLED":"Gehigarri hau ez dago instalatuta. Orain instalatu nahi duzu?","DETAIL_RECEIVE_NOTIF_SERIES":"Jaso atal berrien jakinarazpenak","DETAIL_RECEIVE_NOTIF_VIDEOS":"Jaso bideo berrien jakinarazpenak","SIDEBAR_SHOW_STREAMS":"Erakutsi stream-ak","RELAUNCH":"Berrabiarazi orain!","UPGRADE":"Bertsio berria eskuragarri dago! Bertsio berritu Stremio azken bertsiora","RELOAD_UI":"Erabiltzailearen interfazea berriro kargatu","MANUAL_UPDATE_TITLE":"Eguneratu Stremio bertsioa","MANUAL_UPDATE_LINE1":"Oso gomendagarria ez den Stremioren bertsio zaharkitu bat erabiltzen ari zara.","MANUAL_UPDATE_LINE2":"Mesedez, eguneratu lehenbailehen.","BUTTON_UPDATE_LATTER":"Orain ez","BUTTON_UPDATE_NOW":"Eguneratu","UPDATER_TITLE":"Stremio-ren bertsio berri bat eskuragarri dago","UPDATER_INSTALL_BUTTON":"Orain instalatu","ANONYMOUS_USER":"Erabiltzaile anonimoa","DONT_HAVE_ACC":"Ez duzu konturik?","HAVE_ACC":"Baduzu kontua?","PASSWORD":"Pasahitza","PASSWORD_CONFIRM":"Pasahitza baieztatu","EMAIL":"Posta elektronikoa","FB_LOGIN":"Jarraitu Facebook-ekin","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Ez da ezer partekatzen zure baimenik gabe","FB_NOPOST":"Ez dugu ezer argitaratuko zure izenean","OR":"edo","I_ACCEPT":"Onartzen dut","I_ACCEPT_BY_CLICKING":"Goiko botoian klik eginda onartzen dudala deklaratzen dut","TOS":"Terminoak eta baldintzak","MUST_ACCEPT_TERMS":"Baldintzak onartu behar dituzu","PASSWORDS_NOMATCH":"Pasahitzak ez datoz bat","SIGN_UP":"Izena eman","SIGN_UP_EMAIL":"Eman izena posta elektronikoz","CLICK_TO_SIGN_UP":"Izena emateko egin klik hemen.","LOG_IN":"Saioa hasi","LOG_OUT":"Saioa amaitu","EXIT_FULLSCREEN":"Irten pantaila osoko modutik","ENTER_FULLSCREEN":"Sartu pantaila osoko moduan","PLAY_URL_MAGNET_LINK":"Erreproduzitu URL/Magnet esteka","HELP_FEEDBACK":"Laguntza eta oharrak","TERMS_OF_SERVICE":"Zerbitzu-baldintzak","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"Stremiori buruz","USER_PANEL":"Erabiltzaile panela","LOGIN_LABEL":"Login","GUEST_LOGIN":"Gonbidatuaren saioa hasi","GUEST_LOGIN_NOTICE":"Gonbidatuen saioa hastea ez da gomendagarria. Ohiko saio-hasiera erabiliz Stremio-k zure Liburutegia sinkronizatzeko eta telesail/kanal gogokoen jakinarazpenak jasotzeko aukera ematen du. Ziur zaude jarraitu nahi duzula?","GUEST_LOGIN_NOTICE_2":"Gonbidatuen saioa hastea ez da gomendagarria; ez dituzu Liburutegi eta Taularen jakinarazpenak sinkronizatuko eta ezinbesteko Stremio funtzioak dira. Ziur zaude jarraitu nahi duzula?","CLICK_HERE":"klikatu hemen","WRONG_PASSWORD":"Posta elektroniko edo pasahitz okerra. Pasahitza ahaztu baduzu,","SET_A_PASS":"ezarri pasahitza","RESET_PASSWORD":"Pasahitza berrezarri","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Pasahitza ahaztu duzu?","EMAIL_USED_WITH_FB":"Mezu elektronikoa Facebookeko saio hasierarekin erabili da.","INVALID_EMAIL":"Mesedez, sar ezazu helbide elektroniko egokia","INVALID_PASSWORD":"Mesedez, sartu baliozko pasahitza","CONN_ERR":"Konexioaren errorea. Saiatu berriro geroago.\\n\\nHonek jarraitzen badu, desgaitu firewall/antibirusa (batez ere Bitdefender).","IMPORT_FROM_GUEST":"Inportatu liburutegia zure gonbidatu kontutik","RECEIVE_UPDATES_EMAIL":"Jaso zure posta elektronikoaren eguneratzeak Stremioren eskutik","LOGIN_FAILED":"Errorea saioa hastean.","SIGNUP_FAILED":"Ezin izan da erregistratu.","SEARCH_FAILED":"Bilaketak huts egin du","EMAIL_USED":"Mezu elektronikoa dagoeneko erabiltzen ari da.","WAITING_FB_LOGIN":"Facebook-ekin saioa hasten...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Erreproduzitu kanpoko erreproduzitzailean","EXTERNAL_REMEMBER_PLAYER":"Zure aukera gogoratu nahi al duzu?","EXTERNAL_ALWAYS_PLAY":"Bai","EXTERNAL_ONLY_ONCE":"Ez","BEST_FIT":"Egokipen onena","FIT_SCREEN":"Pantailara egokitu","FILL":"Bete","16:9":"16:9","4:3":"4:3","Original":"Jatorrizkoa","INTRO_TASTE":"Konta iezaguzu zer gustatzen zaizun","INTRO_TASTE_LONG":"Kontatu zer ikusi nahiko zenukeen","INTRO_TASTE_PICK":"Aukeratu {{interestRemaining}} interesak","INTRO_TASTE_PICK_MORE":"Aukeratu {{interestRemaining}} interes gehiago","INTRO_TASTE_HELP_US":"Lagundu iezaguzu zure inguruan gehiago jakiten.","INTRO_TASTE_CHOOSE_THESE":"Aukeratu hauetako batzuk:","INTRO_TASTE_CHOOSE_MIN":"Aukeratu gutxienez 3 kategoria","INTRO_TASTE_CHOOSE_MIN_ERR":"Gutxienez 3 kategoria aukeratu behar dituzu!","INTRO_TASTE_LIFESTYLE":"Bizimodua","INTRO_TASTE_SPORTS":"Kirolak","INTRO_TASTE_FOOD_HEALTH":"Elikadura eta Osasuna","INTRO_TASTE_BEAUTY_FASHION":"Edertasuna eta Moda","INTRO_TASTE_NEWS":"Albisteak","INTRO_TASTE_GAMING":"Jokoa","INTRO_TASTE_SCIENCE_EDU":"Zientzia eta Hezkuntza","INTRO_TASTE_MUSIC":"Musika","INTRO_TASTE_TRAVEL":"Bidaia","INTRO_TASTE_LATE_NIGHT":"Late Night Showa","INTRO_TASTE_REALITY":"Errealitatea","INTRO_TASTE_COMEDY":"Komedia","INTRO_TASTE_DIY":"Nola egin zerorrek","INTRO_TASTE_TECH":"Teknologia","INTRO_TASTE_CINEMA":"Zinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Aukeratutako gehigarria ez da plataforma honetan onartzen.","ADDON_DISCLAIMER":"Hirugarrenen gehigarriak erabiltzea beti egongo da zure erantzukizunaren eta kokatzen zaren jurisdikzioaren lege arauaren menpe.","ADDON_ACTIVATE":"Gehigarri hau aktibatu nahi duzu?","ADDON_REPO_ADD":"Gehigarrien bildumaren URLa","ADDON_ADD":"Gehitu","INSTALL_ADDON":"Gehigarria instalatu","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"Gehigarri bat gehi dezakezu kanpoko esteka baten bidez, Instalatutako gehigarriak atalean agertuko dena.","PASTE_ADDON_URL":"Gehigarriaren URLa itsatsi","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Berriak","BUTTON_CONTINUE":"Jarraitu","BUTTON_ACTIVATE":"Aktibatu","BUTTON_ACTIVATED":"Aktibatuta","BUTTON_CANCEL":"Utzi","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Bidali","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Guztiak baztertu","BUTTON_VIEW_ALL":"Guztiak ikusi","BUTTON_SEE_ALL":"Dena ikusi","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Nabegadorean ireki","LIB_EMPTY":"Liburutegia hutsik dago. Deskubritu zeinen erabilgarria den :)","HOW_START":"Hona hemen nola hasi:","LIB_EMPTY_CAL":"Zure Egutegian liburutegiko telesailak agertzen dira.","HOW_START_CAL":"Hemen duzu telesailak nola gehitu:","LIB_EMPTY_BOARD":"Taulan jakinarazpenak agertzen dira & zure Liburutegiari lotutako gomendioak.","HOW_START_BOARD_WAIT":"Mesedez, gehitu telesail edo kanal batzuk zure liburutegian, eman iezaguzu minutu batzuk prozesatzeko :)","HOW_START_BOARD":"Hona hemen nola gehi ditzakezu telesailak & filmak:","IMPORT_FB":"Inportatu gustuko dituzun gauzak Facebooketik","IMPORT_TRAKT":"Inportatu mediateka Traktetik","IMPORT_DISCOVER":"Bilatu Ezagutu-ko gauza interesgarriak","IMPORT_DISK":"Inportatu zure disko lokalean dituzun filmak edo saioak","PLEASE_CREATE_ACC":"Mesedez, sortu kontua Liburutegiaren sinkronizazioa eta & Taula aktibatzeko.","IMPORT_DISCOVER_SIGNUP":"Erregistratu eta aurkitu gauza interesgarriak Ezagutu atalean","IMPORT_DISK_SIGNUP":"Erregistratu eta inportatu zure disko lokalean dituzun filmak edo saioak","LIB_EMPTY_CLOUD":"Hodei liburutegia","LIB_EMPTY_CLOUD_DESC":"Hodei liburutegi pertsonala gailu guztietan sinkronizatuta","LIB_EMPTY_EARLY":"Txori goiztiarra","LIB_EMPTY_EARLY_DESC":"Jaso atal berrien jakinarazpenak","LIB_EMPTY_PERSONAL":"Pertsonala","LIB_EMPTY_PERSONAL_DESC":"Jaso gomendio pertsonalak","LIB_EMPTY_CALENDAR_DESC":"Antolatu zure behaketa egutegi pertsonala","LIB_EMPTY_ALL":"Izena eman hauek guztiak lortzeko:","LIB_EMPTY_BEST":"Eman izena Stremioren onena lortzeko","LIB_EMPTY_OTHER":"Eman izena Egutegia eta beste funtzio interesgarri batzuk gaitzeko","CALENDAR_ADDED":"Stremio egutegia zure mahaigaineko egutegi lehenetsian gehitu da.","CALENDAR_ADDED_MSG":"Honek funtzionatzen ez badu, gehitu URL hau zure egutegiko aplikazioan eskuz","TRAKT_EXPIRED":"Trakt autentifikazioa iraungita dago, joan Ezarpenak atalera eta berriro autentifikatu","TRAKT_REQUIRES_LOGIN":"Trakt errorea","TRAKT_REQUIRES_LOGIN_MSG":"Saioa hasi behar duzu","TRAKT_IMPORT_WATCHED":"Import","THEME":"Gaia","THEME_DEFAULT":"Lehentsia","THEME_ADAPTIVE":"Moldakorra","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Ezarpenak","SETTINGS_NAV_GENERAL":"Orokorra","SETTINGS_NAV_PLAYER":"Erreproduktorea","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Laburbideak","SETTINGS_SHORTCUT_RELOAD_APP":"App-a freskatu","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Ezaugarriak Ireki","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Menuen Artean Nabigatu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Bilaketara Joan","SETTINGS_SHORTCUT_EXIT_BACK":"Irten / Atzera joan","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Erreprodukzio abiadura aldatu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Bideoen menua aldatu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Azpitituluen menua aldatu","SETTINGS_SHORTCUT_MENU_AUDIO":"Audioaren menua aldatu","SETTINGS_SHORTCUT_MENU_INFO":"informazioaren menua aldatu","SETTINGS_SHORTCUT_FULLSCREEN":"Pantaila osora aldatu","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Kontrolak erakutsi","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Igo bolumena","SETTINGS_SHORTCUT_VOLUME_DOWN":"Jaitsi bolumena","SETTINGS_SHORTCUT_SEEK_NEXT":"Eskatu hurrengoa","SETTINGS_SHORTCUT_SEEK_PREV":"Eskatu aurrekoa","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Erreproduzitu hurrengoa","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Handitu azpitituluen tamaina","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Txikitu azpitituluen tamaina","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Handitu azpitituluen atzerapena","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Txikitu azpitituluen atzerapena","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Ireki/Itxi alboko barra","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Abiarazi piztean","SETTINGS_VLC_DEFAULT":"Erreproduzitu VLC-rekin","SETTINGS_UI_LANGUAGE":"UI hizkuntza","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Esc teklarekin irten pantaila osotik","SETTINGS_GAMEPAD":"Gaitu gamepad laguntza","SETTINGS_CLOSE_WINDOW":"Itxi aplikazioa leihoa itxita dagoenean","SETTINGS_SUBTITLES_LANGUAGE":"Azpitituluen hizkuntza lehenetsia","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Azpitituluen tamaina lehenetsia","SETTINGS_SUBTITLES_BACKGROUND":"Azpitituluen atzeko planoa","SETTINGS_SUBTITLES_COLOR":"Azpitituluen kolorea","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Azpitituluen eskema kolorea","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Azpitituluen atzeko kolorea","SETTINGS_SEEK_KEY":"Geziek denbora bilatzen dute","SETTINGS_SEEK_KEY_SHIFT":"Gezien teklek Shift tekla sakatuta dagoenean denbora bilatzen dute","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Erreproduzitu automatikoki hurrengo atala","SETTINGS_NEXT_VIDEO":"Erakutsi jakinarazpena hurrengo atala hasteko","SETTINGS_NEXT_VIDEO_TRIGGER":"Erakutsi hurrengo atalaren jakinarazpena:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Aldatu automatikoki leihoa erreproduzitu aurretik","SETTINGS_OVERRIDE_SERVER":"Gainidatzi streaming zerbitzariaren URLa (aurreratua)","SETTINGS_SERVER_ADD_URL":"URLa gehitu","SETTINGS_SERVER_URL":"Streaming zerbitzariaren URLa:","SETTINGS_SERVER_AVAILABLE":"Streaming zerbitzaria eskuragarri dago.","SETTINGS_SERVER_UNAVAILABLE":"Streaming zerbitzaria ez dago erabilgarri.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Streaming zerbitzariaren URLa sartu","SETTINGS_SERVER_CACHE_SIZE":"Cache tamaina","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profila","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS amaiera:","SETTINGS_TRANSCODE_PROFILE":"Transcode profila","SETTINGS_USE_BETA":"Erabili beti azken bertsioa","SETTINGS_IMPORT_FB":"Inportatu Facebooketik","SETTINGS_IMPORT_DISK":"Inportatu disko lokaletik","SETTINGS_IMPORT_TRAKT":"Inportatu Trakt-etik","SETTINGS_PAUSE_MINIMIZED":"Pausatu erreprodukzioa minimizatutakoan","SETTINGS_HWDEC":"Hardwarea azeleratutako deskodetzea","SETTINGS_BACKGROUND":"Atzeko planoaren erreprodukzioa","SETTINGS_SUBSCRIBE_CALENDAR":"Egutegira harpidetu","SETTINGS_REQ_EXPORT":"Datuak esportatzeko eskatu","SETTINGS_ACC_DELETE":"Kontua ezabatzeko eskatu","SETTINGS_CHANGE_PASSWORD":"Pasahitza aldatu","SETTINGS_TOS":"Zerbitzu-baldintzak","SETTINGS_SUPPORT":"Jarri harremanetan laguntza zerbitzuarekin","SETTING_LANGUAGE":"Hizkuntza","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Ixtean gendu","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Amaitu saioa Trakt.tv-tik","SETTINGS_TRAKT_LOGOUT_2":"Amaitu saioa Trakt-tik","SETTINGS_SCAN_FOR_REMOTE":"Eskaneatu QR kodea urrunekoa irekitzeko","SETTINGS_DESKTOP_NOTIFICATIONS":"Mahaigaineko jakinarazpenak","SETTINGS_DATA_SAVER":"Datu aurrezlea","SETTINGS_LANGUAGE_INTERFACE":"interfazea","SETTINGS_LANGUAGE_SUBS":"azpititulu lehenetsiak","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Aukeratu automatikoki Audio pista","SETTINGS_DEFAULT_AUDIO_TRACK":"Audio pista lehenetsia","SETTINGS_SECONDARY_AUDIO_TRACK":"Bigarren Audio Track-a","SETTINGS_SURROUND_SOUND":"Inguruko soinua","SETTINGS_ACCOUNT":"kontua","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"bertsioa","SETTINGS_ABOUT":"Honi buruz","SETTINGS_MPV_WINDOW":"Abiarazi erreproduzitzailea beste leiho batean (aurreratua)","SETTINGS_PLAY_IN_EXTERNAL":"Hasi beti bideoa kanpoko erreproduzitzailean","SETTINGS_STORAGE_BUTTON":"Garbitu tokiko biltegiratzea","SETTINGS_STORAGE_MODAL_TITLE":"Ziur zaude ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Honek tokiko biltegia garbitu eta saioa amaituko du.","SETTINGS_HWDEC_PICKER":"Hardware-accelerated decoding ezarpenak aukeratu","SETTINGS_HW_AUTOMATIC":"Automatikoa","SETTINGS_HW_DISABLED":"Desgaitua","SETTINGS_HW_ACCELERATED":"Decoding azelerazioa","SETTINGS_HW_FULL":"Guztiaren azelerazioa","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Desgaituta","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URLa zure arbelera kopiatua izan da","SETTINGS_SECTION_SUBTITLES":"Azpitituluak","SETTINGS_SECTION_AUDIO":"Audioa","SETTINGS_SECTION_CONTROLS":"Kontrolak","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Aurreratua","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Gehigarriaren subtituluak","SUBSPICKER_BLACK_BACKGROUND":"Atzealde beltzarana erabili","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Tamaina","SUBSPICKER_DELAY":"Atzerapena","SUBSPICKER_EMBEDDED_SUBS":"Kapsulatutako Azpitituluak","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Errorea erreportatu","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Bateria baxuakin erabili","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Irten","CONNECTED":"Konektatuta","AUTHENTICATE":"Autentifikatu","AUTHENTICATING":"Authenticating...","CACHING":"Cachea","SETTINGS_CACHING_DRIVE":"Caching unitatea","ENABLE_LOCAL_FILES_ADDON":"Gaitu fitxategi lokalen gehigarria (berrabiarazi behar da)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Gaitu urruneko HTTPS konexioak","TORRENT_PROFILE":"Torrent profila","DATA_CACHING":"Datuen cache-a","MAGNET_PARSING":"Magnet parseoa","January":"Urtarrila","February":"Otsaila","March":"Martxoa","April":"Apirila","May":"Maiatza","June":"Ekaina","July":"Uztaila","August":"Abuztua","September":"Iraila","October":"Urria","November":"Azaroa","December":"Abendua","Monday":"Astelehena","Tuesday":"Asteartea","Wednesday":"Asteazkena","Thursday":"Osteguna","Friday":"Ostirala","Saturday":"Larunbata","Sunday":"Igandea","Action":"Akzioa","Comedy":"Komedia","War":"Gerra","Family":"Familia","Animation":"Animazioa","Adventure":"Abentura","Fantasy":"Fantasia","Crime":"Delitua","Mystery":"Misterioa","Romance":"Erromantikoa","Drama":"Drama","Horror":"Beldurra","Thriller":"Thrillerra","Sci-Fi":"Zientzia-fikzioa","Music":"Musika","Biography":"Biografia","Documentary":"Dokumentala","Sport":"Kirola","Musical":"Musikala","Western":"Westerna","Film-Noir":"Film-Noir","News":"Albisteak","History":"Historia","Game-Show":"Joko-Ikuskizuna","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Zinema eta aisialdia","Gaming":"Gaming","From TV":"Telebistatik","Lifestyle":"Bizimodua","Science & Education":"Zientzia eta Hezkuntza","Cooking & Health":"Sukaldaritza eta Osasuna","Beauty & Fashion":"Edertasuna eta Moda","Sports":"Kirolak","News & Politics":"Albisteak eta politika","How-to & DIY":"Nola egin eta DIY","Tech":"Teknologia","Automotive":"Automobilgintza","Causes & Non-Profits":"Kausak eta irabazi asmorik gabekoak","Movies":"Filmak","Uk Live Tv":"Uk Live Tv","Fashion":"Moda","Business News Radio":"Business News Radio","Business Tv":"Business Telebista","Cars & Auto":"Autoak","Comedy Radio":"Komedia Irratia","Lifestyle Radio":"Bizimodu Irratia","News Tv":"Albiste Telebista","Food And Wine":"Janaria eta ardoa","Latino Tv":"Latino Tv","Shopping Tv":"Erosketa Telebista","Religion":"Erlijioa","Kids":"Haurrak","Body & Soul":"Gorputza eta Arima","Education":"Hezkuntza","Indian Tv":"Indiako telebista","Extreme Sports":"Muturreko Kirolak","Middle Eastern Tv":"Ekialde Hurbileko Telebista","Celebrity Tv":"Celebrity telebista","Science Tv":"Zientzia telebista","Bikini babe":"Bikini babe","Outdoors":"Aire librean","German Tv":"Alemaniako telebista","French Tv":"Telebista frantsesa","Italian Tv":"Italiako telebista","Gamer Tv":"Gamer telebista","Travel":"Bidaia","Asian Tv":"Asiako telebista","Entertainment":"Aisialdia","News Radio":"Albiste Irratia","Music Radio":"Musika Irratia","Language Learning":"Hizkuntzen ikaskuntza","Science Radio":"Zientzia Irratia","Tech Radio":"Tech Radio","Science & Technology Vod":"Zientzia eta Teknologia Vod","new video":"bideo berria","new episode":"atal berria","new movie":"film berria","recommended":"gomendatua","we recommend":"gomendatzen dugu","offer of the day":"eguneko eskaintza","news":"berriak","music video":"bideoklipa","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Baztertu jakinarazpenak","CTX_DISMISS_ALL":"Baztertu guztiak","CTX_SHARE":"Partekatu","CTX_COPY_SHARE_LINK":"Kopiatu partekatzeko esteka","CTX_COPY_MAGNET_LINK":"Kopiatu magnet esteka","CTX_COPY_STREAM_LINK":"Kopiatu stream-aren esteka","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Deskargatu bideo hau","CTX_DOWNLOAD_SUBS":"Deskargatu azpitituluak","CTX_VIEW_ON_YOUTUBE":"Ikusi Youtuben","CTX_SHOW":"Ikuskizuna","CTX_PLAY":"Erreproduzitu","CTX_PLAY_IN":"Erreproduzitu","CTX_PLAY_ON":"Erreproduzitu","CTX_WATCH_ON":"Ikusi","CTX_WATCH":"Ikusi","CTX_WATCHED":"Ikusita","CTX_WATCH_BEGINNING":"Ikusi hasieratik","CTX_WATCH_MOBILE":"Ikusi gailu mugikorrean","CTX_REWIND":"Atzera hasierara","CTX_MARK_WATCHED":"Markatu ikusitako moduan","CTX_MARK_NON_WATCHED":"Markatu ez ikusi gisa","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Markatu gainerakoa ikusi bezala","CTX_UNMARK_REST":"Markatu gainerakoak ez ikusi gisa","CTX_RECEIVE_NEW_NOTIF":"Jaso jakinarazpen berriak","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Kendu cache-tik","CTX_REMOVE_CACHE_EP":"Kendu pasartea katxetik","CTX_OPEN_CONTAINING":"Ireki duen karpeta","CTX_REMOVE":"Kendu liburutegitik","CTX_AVAILABLE_OFFLINE":"Lineaz kanpo eskuragarri","CTX_PAUSED":"Pausatuta","CTX_ALWAYS_ON_TOP":"Beti gainean","CTX_FULLSCREEN":"Pantaila osoa","CTX_WRONG_SUBS":"Azpititulu okerrak?","CTX_REPORT_ISSUES":"Salatu alea","CTX_COPY":"Kopiatu","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Itsatsi","CTX_CLEAR":"Garbi","CTX_CLEAR_RECENT_SEARCHES":"Garbitu azken bilaketak","HELLO_THERE":"Kaixo","HOPE_YOU_ENJOY":"Stremio gustatuko zaizula espero dugu eta laster zure aplikazio gogokoenetako bat izango da!","WHO_ARE_WE":"Nor gara gu? Atzean dagoen taldea gara. Azken 3 urteetan egunero gogor lan egiten duten bi mutil produktu hau gero eta hobea izan dadin.","SUPPORT_US":"Stremio erabiltzea gustatzen bazaizu, Stremio zuretzat baliotsua bada - zabaldu!","SPREAD_THE_WORD":"Partekatu orain zure lagunekin, zabaldu Stremioren berri","MORE_PEOPLE":"Zenbat eta jende gehiagok erabili Stremio, orduan eta hobeto lortuko du!","SEND_A_LINK":"Edo bidali esteka gure webgunera","TIP_LOCALFILES":"Aholkua: bideo fitxategi lokalak arrastatu eta askatu ditzakezu Stremiora","ADDON_MY":"Nire gehigarriak","ADDON_COMMUNITY":"Komunitateko gehigarriak","ADDON_OFFICIAL":"Addon ofizialak","ADDON_REPOS":"Gehigarrien bildumak","ADDON_SEARCH":"Bilatu gehigarriak","ADDON_INSTALL":"Instalatu","ADDON_CONFIGURE":"Konfiguratu","ADDON_UNINSTALL":"Desinstalatu","ADDON_UPGRADE":"Berritu","ADDON_INSTALLED":"Instalatuta","ADDON_INSTALLED_MSG":"Gehigarria instalatuta!","ADDON_UPGRADED_MSG":"Gehigarria bertsio-berritu da!","ADDON_UNKNOWN":"Ezezaguna","ADDON_ERR":"Gehigarri instalazio errorea!","ADDON_DISCONNECTED":"Deskonektatuta","ADDON_APP_MISSING":"iturri honen aplikazioa ez dago instalatuta. Orain instalatu nahi duzu?","ADDON_APP_INSTALL":"Instalatu orain","ADDON_PAGE":"Gehigarrien orria","ADDON_TOP_CONTENT":"Onena Addon honetatik","ADDON_PROVIDES":"Gehigarri honek emango dizu:","ADDON_WATCH":"Ikusi #{types} orain!","ADDON_WATCH_FREE":"Ikusi DOAKO #{types} orain!","ADDON_ADDON":"Gehitu","ADDON_SUPPORTED_TYPES":"Onartutako motak","ADDON_SUPPORTED_CATALOGS":"Onartutako katalogoak","ADDON_PROVIDES_DISCOVER":"#{types} gehiago Ezagutu-n","ADDON_PROVIDES_STREAMS":"Ikusi #{types}","ADDON_PROVIDES_STREAMS_FREE":"Ikusi DOAKO #{types}","ADDON_PROVIDES_SUBTITLES":"#{types}(r)en azpitituluak","ADDON_CANTDETECT":"Ezin izan dugu Stremio exekutatzen ari den detektatu, beraz, ezin dugu detektatu zer gehigarri instalatu dituzun.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Ez da honi buruzko informaziorik aurkitu","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Errorea honi buruzko informazioa eskuratzean.","ERR_CANT_PARSE_MAGNET":"Ezin da magnet parseatu","ERR_NO_MAGNET_INFOHASH":"Ez da baliozko hash-a magnetentzat","ERR_NO_FILE_PATH":"Ezin da eskaera bidali artxiborako biderik gabe","ERR_NO_TORRENT":"Ez da torrentik itzuli","ERR_NO_SUPPORTERD_FILES":"Ez da onartutako fitxategirik aurkitu","ERR_OPENING_FILES":"Ezin izan dira kanpoko fitxategiak ireki","ERR_INVALID_LINK":"Esteka baliogabea","ERR_REGISTERED_ONLY":"Aukera hau erregistratutako erabiltzaileentzat bakarrik dago erabilgarri.","ERR_CLIPBOARD":"Ezin da arbeletik erreproduzitu","ERR_CLIPBOARD_READ":"Ezin da plataforma honetako arbela irakurri","ERR_CLIPBOARD_GENERIC":"Ez da arbelean erreproduzitzeko URLrik aurkitu. Kopiatu URL bat (adibidez, magnet esteka) bideo batera.","BOARD_CONTINUE_WATCHING":"Jarraitu ikusten","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Zuretzat bereziki aukeratutako filmak.
    Film hau gomendio lagin bat da.","BOARD_EXPLANATION_EPISODES":"Zure telesail gogokoen atal berriak datoz hona.
    Gehitu jarraitzen dituzun serieak liburutegian.","BOARD_EXPLANATION_VIDEOS":"Zure kanal gogokoen atal berriak etorriko dira.
    Gehitu jarraitzen dituzun YouTube kanalak Liburutegian.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Ikusi berehala","WEBSITE_SLOGAN_ALL":"Leku bakarrean gozatzen duzun bideo eduki guztia","WEBSITE_SLOGAN_NEW":"Ikus dezakezun guztia","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Ikusi hemendik","WEBSITE_DOWNLOAD":"Deskargatu orain","WEBSITE_DOWNLOAD_FOR":"Deskargatu orain","WEBSITE_IS_DESKTOP":"Stremio mahaigaineko aplikazioa da, ireki orri hau zure ordenagailuan eta deskargatu","WEBSITE_DESKTOP_DEMO_VID":"Mahaigaineko demoa","WEBSITE_PAGE_HOME":"Hasiera","WEBSITE_PAGE_FEATURES":"Ezaugarriak","WEBSITE_PAGE_ADDONS":"Gehigarriak","WEBSITE_PAGE_TECH":"Teknologia","WEBSITE_PAGE_CREATE_ADDON":"Sortu gehigarria","WEBSITE_PAGE_CONTACTS":"Kontaktuak","WEBSITE_PAGE_BLOG":"Bloga","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmak","WEBSITE_TYPE_series_PL":"Telesaila","WEBSITE_TYPE_tv":"Zuzeneko telebista","WEBSITE_TYPE_channel":"Kanalak","WEBSITE_STREMIO_WHAT_IS":"Stremio zure gogoko bideoak, filmak, telesailak eta telebista kateak antolatzen eta berehala ikusten laguntzen duen aplikazioa da.","WEBSITE_FEATURES_WATCH":"Ikusi berehala HD formatuan","WEBSITE_FEATURES_WATCH_DETAIL":"Egin klik eta erreproduzitu gogoko dituzun filmak, telesailak, bideoak eta telebista kateak.","WEBSITE_FEATURES_SUBS":"Azpititulu automatikoak","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio-k zure hizkuntzarako azpitituluak automatikoki hautatzen ditu.","WEBSITE_FEATURES_SUBS_LABEL":"Zure mugimendua, buruzagi.","WEBSITE_FEATURES_CAST":"Erreproduzitu telebistan eta gailu mugikorretan","WEBSITE_FEATURES_CAST_DETAIL":"Igorri AppleTV, Chromecast, Smart TV (DLNA/UPnP) eta gailu mugikorretara.","WEBSITE_LIB":"Gozatu zure gailu guztietan sinkronizatutako liburutegi pertsonalarekin","WEBSITE_LIB_COLLECT":"Bildu Stremiotik","WEBSITE_LIB_IMPORT":"Inportatu Facebooketik","WEBSITE_LIB_LOCAL":"Gehitu zure disko lokaletik","WEBSITE_BOARD":"Taula - Jakinarazpen eta gomendioetarako lekua","WEBSITE_BOARD_RECOMMEND":"Gomendatutako telesaila","WEBSITE_BOARD_TRENDING":"Modako filma","WEBSITE_BOARD_NEW":"Bideo berria","WEBSITE_BOARD_EPISODE":"Atal berria","WEBSITE_BOARD_1":"Ikusteko zerbait interesgarria bilatzen al duzu? Jaso gomendioak zure gustuaren arabera!","WEBSITE_BOARD_2":"Jaso jakinarazpen zure gogoko telesaio edo YouTube kanaleko atal berri bat ateratzen denean!","WEBSITE_BOARD_YOUTUBE":"YouTube kanalen bideo berriak","WEBSITE_BOARD_EPISODES":"Jarraitzen dituzun telesailen atal berriak","WEBSITE_ADDONS":"Edukien gehigarriak","WEBSITE_TECH_DETAIL":"Teknologia maite dugu, zientzia eroa maite dugu!\\nStremio kode irekiko teknologia hauek erabiltzen ari da:","WEBSITE_TECH_WCJS":"WebChimera.js-k Stremio-k edozein bideo formatu erreproduzitzeko aukera ematen du errendimendu onarekin.","WEBSITE_TECH_WCJS_EXTRA":"Proiektuaren laguntzaileak gara","WEBSITE_TECH_ELECTRON":"Electronek Stremio eraikitzeko plataforma berritzailea eskaintzen du.","WEBSITE_TECH_ELECTRON_EXTRA":"Proiektuaren laguntzaileak gara","WEBSITE_TECH_LINVODB":"Zure datuak saioa hasten zaren edozein lekutan antolatuta eta eskuragarri daudela bermatzen duen datu basearen teknologia.","WEBSITE_TECH_LINVODB_EXTRA":"Barne teknologia","WEBSITE_CREATE_ADDON":"Sortu zure gehigarria","WEBSITE_CREATE_ADDON_DETAIL":"Ba al duzu bideo edukia eskaintzen duen zerbitzurik? Stremioren ezaugarriez baliatzen lagunduko dizugu zure gehigarria sortuz.","WEBSITE_CREATE_ADDON_BENEFITS":"Stremiorako gehigarria sortzearen abantailak","WEBSITE_P2P_BEAUTY":"Peer-to-Peer Streaming-en edertasuna","WEBSITE_P2P_1":"HD/4K bideo fidagarria eta merkea, eskariaren arabera edo zuzeneko erreprodukzioarekin","WEBSITE_P2P_2":"Erabiltzaileen esperientzia bikaina eskaintzen duen banaketa plataforma","WEBSITE_P2P_3":"Zure beharretara egokitzen den gehigarri bat sortuko dugu","WEBSITE_P2P_CONTACT":"Interesatuta? Jarri gurekin harremanetan.","WEBSITE_P2P_CONTACT_EXTRA":"Pozik lagunduko dizugu zure edukia Stremio-rekin integratzen!","WEBSITE_P2P":"Noizean behin, jokoaren izena aldatzen duen teknologia bat dator. Denbora eta ahalegin ugari inbertitu dugu Peer-to-Peer (P2P) bideo bidezko erreprodukzio motorra eraikitzen, edozein erabilera kasutan egokitzeko errendimendu eta aldakortasun bikaina eskaintzen duena.\\nJarri gurekin harremanetan DRM gaitutako P2P bideoa eskatuta edo zuzenean igortzeko.","WEBSITE_THOUGHTS":"Partekatzen ditugun pentsamenduak:","WEBSITE_SPREAD":"Zabaldu Stremiori buruz:","WEBSITE_CONTACT":"Jar zaitez gurekin harremanetan, pozik jasoko dugu zure berri!","WEBSITE_OPENSOURCE":"Gure kode irekiko proiektuak ikusteko, joan gure webgunera","WEBSITE_BITCOIN":"Eman bitcoinak:","WEBSITE_FAQ":"Ohiko galderak","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Galderak","WEBSITE_TOS":"Erabilera baldintzak","WEBSITE_LEGAL":"Legezkoa","WEBSITE_PAGE_ABOUT":"Buruz","WEBSITE_PAGE_BECOME_PARTNER":"Egin bazkide","WEBSITE_ALL_YOU_CAN_WATCH":"Zuk nahi duzuna\\nIkusteko askatasuna.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Zer da stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio bideoaren edukiak batzeko gune bakarra da. Ezagutu, antolatu eta ikusi bideoa zure iturri mota guztietako zure gailu guztietan.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmak, telebista saioak, telesailak, zuzeneko telebistak edo YouTube eta Twitch.tv bezalako web kateak - hori guztia Stremion aurkituko duzu.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio multimedia zentro modernoa da, bideo entretenimendurako irtenbide bakarra eskaintzen duena. Bideo edukia instalatzeko erraza den gehigarrietatik deskubritu, ikusi eta antolatzen duzu.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmak, telesailak, zuzeneko telebista edo web kateak. Aurkitu hau guztia Stremion.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Gozatu zure multimedia gailu guztietan","WEBSITE_DEVICES_COLLECT":"Bildu Stremiotik","WEBSITE_DEVICES_IMPORT_FB":"Inportatu facebooketik","WEBSITE_DEVICES_LOCAL":"Gehitu tokiko unitatetik","WEBSITE_JOIN_THE_PARTY_NOW":"Sartu orain festara","WEBSITE_DEVICES_ALL":"Erraza zure gailu guztietan erabiltzeko;","WEBSITE_EXTENDABLE_CATALOG":"Bideo katalogo luzagarria infinituki;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Ezaugarri bikainak zure komunikabideak antolatzeko;","WEBSITE_AS_SEEN_ON":"Ikusitakoan","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Guri buruz","WEBSITE_LINK_TECHNOLOGY":"Teknologia","WEBSITE_LINK_APPS":"Aplikazioak","WEBSITE_LINK_DOWNLOADS":"Deskargak","WEBSITE_MORE":"Gehiago","WEBSITE_LINK_ADDONS":"Gehigarriak","WEBSITE_LINK_ADDON_SDK":"Gehigarriaren SDK","WEBSITE_LINK_CONTRIBUTE":"Lagundu","WEBSITE_LINK_COMMUNITY":"Komunitatea","WEBSITE_LINK_BLOG":"Bloga","WEBSITE_MORE_MORE":"... eta gehiago","WEBSITE_LINK_HELP":"Laguntza zentroa","WEBSITE_LINK_CONTACTS":"Enpresa kontsultak","WEBSITE_LINK_TOS":"Baldintzak","WEBSITE_LINK_PRAVACY":"Pribatutasun politika","WEBSITE_SUBSCRIBE":"Harpidetu","WEBSITE_NEWSLETTER":"Sartu gure buletinera gauza harrigarrietarako","WEBSITE_PLACEHOLDER_EMAIL":"Zure emaila","WEBSITE_COMMUNITY":"Komunitatea","WEBSITE_LINK_PRAVACY_LEGAL":"Pribatutasuna eta legea","WEBSITE_WHY":"Zergatik egiten dugun","WEBSITE_WHY_P1":"Stremion, egunero lan egitera gatoz, bideo-eskaeraren industriaren arazo garrantzitsu bat konpondu nahi dugulako. Hainbeste eduki berri argitaratzen dira minuturo, ia ezinezkoa baita zure bidea aurkitzea.","WEBSITE_WHY_P2":"Jendeari bideo entretenimendu mundu erraldoi horretan nabigatzen eta gozatzeko eduki berriak aurkitzen laguntzen diogu. Gure aplikazioek filmak, serieak, zuzeneko telebista, web kateak eta beste biltzen dituzte. Erabiltzaileek gustuko dituzten izenburuak eta emisorak aurkitzea oso erraz bihurtzeaz arduratzen gara.","WEBSITE_WHY_P3":"Gure zerbitzua edozein gailutan eta noiznahi erabil dezakezu, Stremio inoiz beharko duzun bideo entretenimendu zentro bakarra bihurtuz.","WEBSITE_TEAM":"TALDEA","WEBSITE_TEAM_P":"Stremio taldea txikia baina indartsua da: gutako hamar artean X hizkuntzatan kodetzen dugu eta softwarearen garapenean, UI eta UX diseinuan, marketinean eta publizitatean eta negozioetan eta startupetan espezializazioa partekatzen dugu.","WEBSITE_FEATURES":"Ezaugarriak","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Ezagutu eduki berriak erraz","WEBSITE_FEATURES_DISCOVER_P":"Ikusi erraz ikusteko film, telesail, serie eta kanal berriak. Arakatu kategoriaren, generoaren, balorazioaren, berritasunen eta abarren arabera edo idatzi izen bat aurkitzeko. Stremio-k bideo-eduki berriak aurkitzea tarta bihurtzen du.","WEBSITE_FEATURES_ALL_CONTENT":"Zure bideoaren eduki guztia pantaila batean","WEBSITE_FEATURES_ALL_CONTENT_P1":"Ikusi zer film, serie edo bideo amaitu ez zenituen eta jarraitu ikusten; atal berri eta estreinaldien berri jaso; eta arakatu ikusmen ohituretan oinarrituta jasoko dituzun gomendioak.","WEBSITE_FEATURES_LIBRARY":"Antolatu zure bideoteka","WEBSITE_FEATURES_LIBRARY_P1":"Gehitu edozein titulu zure Stremio liburutegian klik bakarrarekin eta bilatu zure edukia, motaren, berritasunaren edo alfabetoaren arabera ordenatuta.","WEBSITE_FEATURES_CALENDAR":"Jarrai ezazu ikusten duzun guztiaren jarraipena","WEBSITE_FEATURES_CALENDAR_P1":"Lortu liburutegian gehitzen dituzun film eta serie guztien egutegia bistaratzea. Esportatu Stremio egutegia eta sinkronizatu, atal berri bat edo estreinaldi bat noiz iritsi behar den jakiteko.","WEBSITE_FEATURES_BIG_SCREEN":"Gozatu zure bideo edukia pantaila handiago batean","WEBSITE_FEATURES_BIG_SCREEN_P1":"Igorri ikusten ari zena beste gailu batera, izan telefono, tableta edo telebista klik bakarrarekin.","WEBSITE_FEATURES_SOURCES":"Ikusi bideoa iturri askotatik","WEBSITE_FEATURES_SOURCES_P":"Instalatu gehigarri ofizialak eta komunitarioak hornitzaile desberdinetatik ateratako bideoaz gozatzeko - aplikazio dotore eta erraz batean.","WEBSITE_CREATE_AN_ADDON":"Sortu gehigarri bat","WEBSITE_FEATURES_SYNC":"Sinkronizatu liburutegia gailu desberdinetan eta hasi berriro erreprodukzioa","WEBSITE_FEATURES_SYNC_P1":"Hasi saioa zure kontuarekin gailu guztietan eta gozatu liburutegia, gehigarriak, erreprodukzioa eta egutegia sinkronizatuta.","WEBSITE_FEATURES_EXTENDABLE":"Gehigarrien bideo katalogo luzagarria","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio gehigarrien katalogoak hainbat gehigarri eskaintzen ditu hainbat bideo eduki instalatu eta ikusteko. Filmak, saioak, zuzeneko telebista, kirola, albisteak, podcastak, web kateak, bideojokoak eta beste biltzen ditu.","WEBSITE_FEATURES_AUTO_SUBS":"Azpititulu automatikoak","WEBSITE_FEATURES_AUTO_SUBS_P1":"Gure azpitituluen gehigarriekin automatikoki hautatutako aukerak lortuko dituzu zure gustuko hizkuntzarako.","WEBSITE_FEATURES_CHROMECAST":"Chromecast-era igortzen","WEBSITE_FEATURES_CHROMECAST_P1":"Gozatu zure bideoaren edukia pantaila handiago batean edo ikusi zer ikusten ari zaren beste gailu batera.","WEBSITE_FEATURES_KEEP_TRACK":"Jarrai itzazu zure gogoko telebista saioak eta web kateak","WEBSITE_FEATURES_KEEP_TRACK_P1":"Lortu egutegia bistaratzea eta zure serie eta kanal gogokoen atal berrien jakinarazpenak.","WEBSITE_FEATURES_POWER_USER":"Erabiltzaile indartsuen ezaugarriak","WEBSITE_FEATURES_POWER_USER_P1":"Erreproduzitu kanpoko erreproduzitzailean","WEBSITE_FEATURES_POWER_USER_P2":"Erreproduzitu torrent fitxategi edo iman esteka batetik","WEBSITE_FEATURES_POWER_USER_P3":"Inportatu liburutegira Facebook atsegin dut edo disko lokaletik","WEBSITE_ADD_ONS":"Gehigarriak","WEBSITE_ADD_ONS_P1":"Stremio-k eskaintzen duen bideo guztia gehigarri sistema baten bidez lortzen da - aplikazioan ez da eduki edo eduki hornitzailerik sartu.","WEBSITE_ADD_ONS_P2":"Gehigarrien bi talde daude eskuragarri: gehigarri ofizialak eta komunitarioak.","WEBSITE_ADD_ONS_P3":"Ofizialak Stremio-k garatu eta ostatatzen ditu, eta komunitateko gehigarriak, aldiz, gure komunitateko kideek sortzen dituzte, hauek ere ostatatzen baitituzte.","WEBSITE_ADDONS_OFFICIAL":"Gehigarri ofizialak","WEBSITE_ADDONS_WATCHUB":"Erreproduzitu zure gogoko filmak, serieak eta ikuskizunak, hala nola iTunes, Hulu, Amazon eta Erresuma Batuko / AEBetako beste zerbitzu batzuen hornitzaileek.","WEBSITE_ADDONS_YOUTUBE":"Ikusi gogoko dituzun YouTube kanalak iragarkirik gabe eta jaso jarraitzen dituzun laguntzaileen kargatze berrien berri.","WEBSITE_ADDONS_FILMON":"Ikusi zuzenean telebista, filmak eta telebista sozialak doan. 600 telebista kate, doako 45.000 film, dokumental eta gehiago.","WEBSITE_ADDONS_OPENSUBTITLES":"Filma eta telebistako azpitituluak hizkuntza anitzetan, egunero kargatutako milaka azpitituluak.","WEBSITE_ADDONS_COMMUNITY":"Komunitateko gehigarriak","WEBSITE_ADDONS_FILMON_VOD":"Ikusi bideoa Filmon.tv-k eskatuta","WEBSITE_ADDONS_TWICH":"Ikusi zuzeneko erreprodukzioak Twitch.tv - kirol bideo elektronikoaren industriarako bideoa erreproduzitzeko plataforma.","WEBSITE_ADDONS_VODO":"Ikusi indie filmak guztiz doan.","WEBSITE_ADDONS_NETFLIX":"Ikusi Netflix filmak eta web serieak.","WEBSITE_ADDONS_CREATE":"Sortu gehigarri bat","WEBSITE_ADDONS_CREATE_P1":"Nahi izanez gero, zure gehigarria garatu dezakezu. Horrela, zure buruari eta gure komunitateari bideo eduki berrietarako sarbidea eman ahal izango diezu eta mundu osoko milioika erabiltzaileri zuzendutako ikusle berri batengana heldu.","WEBSITE_ADDONS_START_CREATE":"Hasteko, bisitatu Stremio Addon SDK orria:","WEBSITE_DOWNLOADS":"Deskargak","WEBSITE_DOWNLOADS_P1":"Errendimendu optimoa lortzeko, Stremio aplikazioen eskuragarri dagoen azken bertsioa erabiltzea gomendatzen dugu. Arrazoiren batengatik, ordea, bertsio zaharragoa erabili nahi baduzu, hemen deskarga dezakezu.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Windows-erako Stremio","WEBSITE_DOWNLOADS_FOR_MAC":"MacOS-erako Stremio","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio Linuxerako","WEBSITE_DOWNLOADS_FOR_ANDROID":"Androiderako Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"IOS Stremio (bertsio mugatua)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Lagundu","WEBSITE_CONTRIBUTE_P1":"Stremio plataforma kode irekia da eta gaur egun iturri gabeko edukirako gehigarri bat sor dezakezu.","WEBSITE_CONTRIBUTE_WHY":"Zergatik sortu behar zenuke gehigarri bat?","WEBSITE_CONTRIBUTE_WHY_P1":"Iritsi ikusle berrietara zure bideoaren edukira","WEBSITE_CONTRIBUTE_WHY_P2":"Stremioren erabiltzaile-oinarria bizkor hazten ari da - merkaturatu zen lehen urtean, Stremiok milioi bat erabiltzaile irabazi zituen mundu osoan, eta plataformaren existentziaren bigarren urtean kopuru hori 2,5 milioi izatera iritsi zen.","WEBSITE_CONTRIBUTE_WHY_P3":"Zure gehigarriarekin, ikusle honetara erraz irits zaitezke eta zure bideo edukia haiei banatu.","WEBSITE_CONTRIBUTE_ALL":"Ikusi gogoko dituzun filmak, bideoak, serieak eta kanalak leku bakarrean.","WEBSITE_CONTRIBUTE_ALL_P1":"Oraindik Stremion erabilgarri ez dagoen eduki mota jakin baten zalea zara? Sortu gehigarri bat eta disfrutatu zure bideo gogokoenak merkatuan dauden entretenimendu zentro handienetako eta erabilerrazenetako batean ikustean.","WEBSITE_CONTRIBUTE_ALL_P2":"Horretaz gain, gogo bereko beste Stremio komunitateko kideen esker on amaigabea lortuko duzu.","WEBSITE_CONTRIBUTE_MONETIZE":"Dirua irabazi zure gehigarria eta irabazi dirua bere laguntzarekin","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Stremiorako gehigarri berri bat garatu ondoren, modu desberdinetan irabazteko aukera dezakezu. Hori aztertzen ari bazara, jar zaitez gurekin harremanetan harremanetan","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":"- Gehigarriak dirua irabazteko aukerei buruz kontsultatu eta aholkuak emango dizkizugu.","WEBSITE_CONTRIBUTE_TRANSLATE":"Egin itzultzaile boluntario","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Stremio aplikazioak hizkuntza desberdinetan gozatu nahi badituzu, itzultzaile boluntarioen komunitatean sar zaitezke. Stremioren bertsioak hizkuntza desberdinetan gehitzen laguntzen digute.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Hasteko gogoz zaude?","WEBSITE_TRANSALTE_STREMIO":"Itzuli Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Komunitate ofizialak","WEBSITE_COMMUNITY_OFFICIALS_P1":"Bihur zaitez hazten ari den Stremio komunitatearen parte. Jarrai iezaguzu sare sozialetan eta ez izan lotsarik agurtzeko: maite dugu gure zaleengandik entzutea!","WEBSITE_COMMUNITY_UNOFFICIALS":"Komunitate ez ofizialak","STREMIO_COMMUNITY_NL":"Stremio Herbehereak","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemania","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgika","STREMIO_COMMUNITY_FRANCE":"Stremio Frantzia","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio AEB","STREMIO_COMMUNITY_MEXICO":"Stremio Mexiko","STREMIO_COMMUNITY_ADDONS":"Stremio gehigarriak","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Stremio zoragarria","WEBSITE_COMMUNITY_PARTNERS":"Bazkideak eta laguntzaileak","WEBSITE_COMMUNITY_GOODIES":"Stremio opariak","WEBSITE_COMMUNITY_WALLPAPERS":"Atzeko irudiak","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Jarri gurekin harremanetan","WEBSITE_CONTACT_US_P1":"Galderarik, iruzkinik edo iradokizunik baduzu, jar zaitez gurekin harremanetan beheko harremanetarako formularioaren bidez.","WEBSITE_CONTACT_US_P2":"Gogoan izan Bulgarian gaudela, beraz, zure kontsultari erantzuteko denbora atzeratu daiteke ordu-zona desberdintasunengatik.","WEBSITE_CONTACT_US_SUCCESS":"Zure mezua bidali da. Guregana lehenbailehen itzuliko gara.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Mesedez, sartu baliozko mezu elektronikoa!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Zein da zure galdera lotuta?","WEBSITE_CONTACT_US_Q_OS":"Zein da zure Eragiketa Sistema?","WEBSITE_CONTACT_US_PH_EMAIL":"Zure emaila","WEBSITE_CONTACT_US_PH_MESSAGE":"Mezua","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"BIDALI","WEBSITE_CONTACT_US_Q_1":"Nola instalatu?","WEBSITE_CONTACT_US_Q_2":"Nola desinstalatu?","WEBSITE_CONTACT_US_Q_3":"(HTML) Nola egin lasagna?","WEBSITE_CONTACT_US_Q_4":"Gehigarriak","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknologia","WEBSITE_TECHNOLOGY_P1":"Teknologia eta zientzia eroa maite ditugu.
    Hona hemen zerk bultzatzen duen Stremio (kode irekikoa da guztia).","WEBSITE_TECHNOLOGY_P_QT":"Plataforma anitzeko softwarearen garapena onenean.","WEBSITE_TECHNOLOGY_P_MPV":"Doako, kode irekiko eta plataforma anitzeko multimedia erreproduzitzailea.","WEBSITE_TECHNOLOGY_P_RN":"React Native-k aplikazio mugikorrak JavaScript soilik erabiliz eraikitzeko aukera ematen du.","WEBSITE_TECHNOLOGY_P_VLC":"Multimedia esparrua aplikazioan txertatuta multimedia lortzeko.","WEBSITE_TECHNOLOGY_P_REALM":"Realm plataforma mugikorra da eta SQLite & Core Data-ren ordezkoa da.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js iturburu irekiko, plataforma anitzeko JavaScript exekuzio ingurunea da.","WEBSITE_TECHNOLOGY_P_RUST":"Herdoila paradigma anitzeko sistemaren programazio lengoaia da, segurtasunera bideratua, batez ere aldi bereko segurura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Lagundu proiektuan","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Bi modu daude Stremioren ekarpenak egiteko eta produktua hobetzen lagun gaitzazun.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Zure hizkuntza trebetasun baliotsuak eman ditzakezu plataforma itzulita ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"edo","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... zure kodeketa gaitasunak erabil ditzakezu komunitatearen gehigarriak sortzeko.","WEBSITE_TRANSLATE_STREMIO":"Itzuli Stremio","WEBSITE_404_OH_NO":"Ui ui ui! Bilatzen ari zaren orria ez dago hemen ...","WEBSITE_GO_HOME":"Hasierara","WEBSITE_LINK_OTHER_DOWNLOADS":"Beste deskarga batzuk","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Laguntza","WEBSITE_DOWNLOAD_4_0_BETA":"Deskargatu Stremio 4 beta orain","WEBSITE_GET_FOR_DESKTOP":"Lortu mahaigainerako","WEBSITE_LINK_ADDON_COMPETITION":"Addon lehiaketa","WEBSITE_LINK_ART_CONTEST":"Arte lehiaketa","WEBSITE_MY_ACCOUNT":"Nire kontua","WEBSITE_MAINPAGE_FAQ_001_H1":"Zer da Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio nahi duzun guztia ikusteko askatasuna ematen duen media zentro modernoa da.","WEBSITE_MAINPAGE_FAQ_002_H1":"Nola dabil?","WEBSITE_MAINPAGE_FAQ_002_P1":"Stremio gailuan instalatu eta kontu bat sortu ondoren, egin behar duzun guztia gehigarrien katalogoa bisitatzea eta nahi duzun gehigarria instalatzea da, eta listo!","WEBSITE_MAINPAGE_FAQ_002_P2":"Horren ondoren, Ezagutu edo Taula ataletara joan zaitezke edukia aztertzen hasteko.","WEBSITE_MAINPAGE_FAQ_003_H1":"Zer ikusi dezaket hemen?","WEBSITE_MAINPAGE_FAQ_003_P1":"Asko: filmak, telebista saioak, web kateak, kirola, telebista kateak, podcastak eta beste. Gure gehigarri sistemari esker, hainbat eduki sar dezakezu.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio kode irekia al da?","WEBSITE_MAINPAGE_FAQ_004_P1":"Bai, lotura hauek ikus ditzakezu: ${1}mahaigaineko aplikazioa${2} eta ${3}GitHub erakundea${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio segurua al da?","WEBSITE_MAINPAGE_FAQ_005_P1":"Bai: kode irekiko softwarea denez, kodea publikoki ikuskatzen da eta zuk zeuk berrikus dezakezu.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Zer moduz nire pribatutasuna?","WEBSITE_MAINPAGE_FAQ_006_P1":"Erabiltzaileen pribatutasuna errespetatzen dugu eta ez dugu zure kontua sortzeko eta sinkronizatzeko ezinbesteko gutxieneko datu pertsonalik biltzen.","WEBSITE_MAINPAGE_FAQ_006_P2":"Erregistratzerakoan ${1}Gonbidatu modua${2} ere badago, inolako daturik behar ez duena: modu honetan, ez da deirik egiten gure backendera. Hala ere, funtzio erabilgarrien kaltetan dator, hala nola liburutegia gailuetan sinkronizatu ahal izatea.","WEBSITE_MAINPAGE_FAQ_007_H1":"Telebistara bota al dezaket?","WEBSITE_MAINPAGE_FAQ_007_P1":"Bai, Chromecast-a onartzen dugu eta mahaigaineko zein mugikorreko aplikazioetatik (Android) bota ditzakezu.","WEBSITE_MAINPAGE_FAQ_008_H1":"Zenbat gehigarri ditu Stremiok?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 amaieran, 50 urte baino gehiago. Informazio gehiagorako, begiratu gure gehigarrien katalogoa.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio gehigarrien katalogoan dagoenaz haratago al daiteke?","WEBSITE_MAINPAGE_FAQ_009_P1":"Bai, hauek egiaztatu beharko zenituzke: ${1}PimpMyStremio${2}, ${3}Reddit komunitateak${4}, ${5}Stremio Downloader${6}, etab.","WEBSITE_MAINPAGE_FAQ_010_H1":"Zer gailu onartzen ditu Stremiok?","WEBSITE_MAINPAGE_FAQ_010_P1":"Windows, Mac eta Linuxerako mahaigaineko aplikazioak ditugu. Mugikorretarako, Android eta iOS onartzen ditugu, baina kontuan izan iOS funtzionalitate mugatua duela (ez ditu gehigarri gehien onartzen).","WEBSITE_MAINPAGE_FAQ_010_P2":"Android-en oinarritutako gailu ugari daude Stremio exekutatu ahal izateko, adibidez NVIDIA Shield eta Amazon Fire Stick, baina ez ditugu ofizialki onartzen.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Stremioren zenbait eduki gehi al ditzakezu?","WEBSITE_MAINPAGE_FAQ_011_P1":"Barkatu, guk ez dugu edukirik eskaintzen, baina zenbat eta Stremio gehigarri gehiago instalatu, orduan eta eduki gehiago aurkituko duzu.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio-k magnet estekak erreproduzitu al ditzake?","WEBSITE_MAINPAGE_FAQ_012_P1":"Bai, eta HTTP esteka normalak eta torrent fitxategiak erreproduzi ditzake (arrastatu eta jaregin).","WEBSITE_MAINPAGE_FAQ_013_H1":"Bideo bat deskargatu eta konexiorik gabe ikusi al dezaket?","WEBSITE_MAINPAGE_FAQ_013_P1":"Lineaz kanpoko erabilgarritasuna laster datorren eginbidea da, baina Stremio gailuan gordetzeko baimena ematen baduzu (ezarpenen paneletik) bideoak geroago ikusi ahal izango dituzu konexiorik gabe.","WEBSITE_MAINPAGE_FAQ_014_H1":"Ezerk ez du funtzionatzen, lagundu iezadazu!","WEBSITE_MAINPAGE_FAQ_014_P1":"Ziur zaude gehigarriak instalatu dituzula? Bai bada, begiratu ${2} laguntza zentroarekin ${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Nola eusten dio Stremiok bere garapen eragiketei?","WEBSITE_MAINPAGE_FAQ_015_P1":"Noizean behin iragarki ez-intrusiboak jartzen ditugu, baina dohaintza eredu batera pasatzea pentsatzen ari gara.","WEBSITE_MAINPAGE_FAQ_015_P2":"Galdera gehiagorako, joan ${1}laguntza-zentrora${2}.","HELP_LEARN_MORE":"Lagundu iezaguzu zure inguruan gehiago jakiten.","LIFESTYLE":"Bizimodua","SPORTS":"Kirolak","FOOD_HEALTH":"Elikadura eta osasuna","BEAUTY_FASHION":"Edertasuna eta Moda","NEWS":"Albisteak","GAMING":"Jokoa","SCIENCE_EDUCATION":"Zientzia eta hezkuntza","MUSIC":"Musika","TRAVEL":"Bidaia","LATE_NIGHT":"Late Night","REALITY":"Realitya","COMEDY":"Komedia","DIY":"Nola egin zerorrek","TECH":"Teknologia","CINEMA":"Zinema","CONTINUE":"Jarraitu","SLOW_LOADING":"KARGA MOTELA?","I_GIVE_UP":"AMORE EMATEN DUT","LEARN_MORE":"Gehiago ikasi","POOR_SOURCE":"Iturri hau ez dago erabilgarri edo zure Interneteko konexioa ez da behar bezain azkarra","PICK_CATEGORIES_ERR":"Gutxienez 3 kategoria aukeratu behar dituzu","ADJUST_TIMING":"Egokitu denborarekin","ADJUST_SIZE":"Doitu tamaina honekin","SEARCH_ANYTHING":"Edozer gauza bila dezakezu ...","ALL_CATEGORIES":"Guztiak","SEARCH_CATEGORIES":"Filmak, Telesailak, YouTube eta Telebista","SEARCH_PERSONS":"Aktoreak, Zuzendariak eta Idazleak","SEARCH_PROTOCOLS":"HTTP eta iman estekak","SEARCH_TYPES":"IMDB/TVDB estekak","WATCHED":"Ikusita","SHOW_LESS":"Erakutsi gutxiago","LAST_SEARCHES":"Azken bilaketak","CLEAR_HISTORY":"Garbitu historia","CHOOSE_SOME":"AUKERATU HEMENDIK BATZUK:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Urruneko Web-a ezin izan da kargatu","STREMIO_OFFLINE":"Stremio lineaz kanpo dago","STREMIO_EXPENSIVE_CONNECTION":"Mugikorreko datu konexioa erabiltzen ari zarela antzeman dugu, jarraitu nahi al duzu?","USE_DATA":"Erabili datuak","WARNING":"Abisua","MORE_INFO":"Informazio gehiago ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Kargatzen ...","STREMIO_TV_BACK_TO_LANGUAGES":"Itzuli hizkuntzetara","STREMIO_TV_REMOTE":"Urrunekoa","STREMIO_TV_GO_TO":"Joan:","STREMIO_TV_OR_SCAN":"edo eskaneatu:","STREMIO_TV_ADDON_INSTRUCTIONS":"Mesedez, jarraitu argibideak nahiago dituzun gehigarriak instalatzeko.","STREMIO_TV_LIVE_TV":"Zuzeneko telebista","STREMIO_TV_RESUME_WATCHING":"Berrekin Ikustea","STREMIO_TV_LOADING_BACKGROUND":"Aurrekariak kargatzen","STREMIO_TV_CHECKING_AUTHENTICATION":"Autentifikazioa egiaztatzen","STREMIO_TV_LOADING_BOARD":"Kargatzeko taula","STREMIO_TV_LOGIN_HEADER_LINE_1":"Gure erabiltzaileek ahalik eta esperientzia pertsonalizatu onena izan dezaten nahi dugu gure softwarearekin.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Arrazoi horregatik eskatzen dizugu zure kontua egitea edota saioa hastea.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Eskerrik asko ulertzeagatik,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio Taldea","STREMIO_TV_REMOTE_INSTRUCTIONS":"Urruneko Web-a zure Smartphone/Tablet/Mahaigainarekin erabiltzeko:","STREMIO_TV_WIFI_SETUP":"Wi-Fi konfigurazioa","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle-k ez du Interneteko konexiorik antzeman.","STREMIO_TV_WIFI_DETAILS_1":"Konektatu hona:","STREMIO_TV_WIFI_DETAILS_2":"estremio-zirkulua","STREMIO_TV_WIFI_DETAILS_3":"Erabili pasahitza:","STREMIO_TV_WIFI_DETAILS_4":"estremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Ireki web arakatzailea estekarekin:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Azpitituluen atzerapena","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Bilatu","STREMIO_TV_NAV_HOME":"Hasiera","STREMIO_TV_NAV_DISCOVER":"Deskubritu","STREMIO_TV_NAV_LIBRARY":"Liburutegia","STREMIO_TV_NAV_MOVIES":"Pelikulak","STREMIO_TV_NAV_SERIES":"Serieak","STREMIO_TV_NAV_CHANNELS":"Kanalak","STREMIO_TV_NAV_TV":"Zuzeneko Telebista","STREMIO_TV_NAV_SETTINGS":"Ezarpenak","STREMIO_TV_NAV_ADDONS":"Addon-ak","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Idatzi zerbait","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Bilatu","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Espazio","STREMIO_TV_SEARCH_KEY_CLEAR":"Garbitu","STREMIO_TV_SEARCH_HISTORY_TITLE":"Bilatu historialean","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Izenburu, aktore, kanal eta gehiagoren arabera bilatu dezakezu","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Garbitu bilaketa historiala","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Iragazkiak","SETTINGS":"Ezarpenak","ACCOUNT":"Kontua","LOGOUT":"Irten","THEMES":"Theme-ak","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Pistak","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Bideoak","SERVER":"Zerbitzaria","LINKS":"Estekak","ABOUT":"About","INTERFACE":"Interfazea","ANIMATIONS":"Animazioak","STATUS":"Egoera","LANGUAGE":"Hizkuntza","SIZE":"Tamaina","DELAY":"Atzerapena","BOLD":"Lodia","OPACITY":"Opacity","TEXT_COLOR":"Testuaren Kolorea","OUTLINE_COLOR":"Outline Kolorea","BACKGROUND_COLOR":"Atzealdeko Kolorea","BACKGROUND_BLUR":"Atzealde lausoa","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Erreproduzitu orain","MARK_AS_WATCHED":"Markatu ikusita","MARK_AS_UNWATCHED":"Markatu ikusi gabe","REWIND_TO_BEGINNING":"Itzuli hasierara","CONTINUE_WATCHING":"Jarraitu ikusten","ALL":"Guztia","SECONDS":"segundu","ON":"ON","OFF":"OFF","RELOAD":"Eguneratu","EDIT_URL":"Aldatu URLa","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Aldatu gailuak","REMOTE_VIDEOS":"Bideoak","REMOTE_ADJUST_TIMING":"Egokitu denbora","REMOTE_ADJUST_SIZE":"Doitu neurria","REMOTE_COULD_NOT_BE_LOADED":"Web urrunekoa ezin izan da kargatu","REMOTE_RETRY":"Saiatu berriro","TORRENT_PROFILE_DEFAULT":"Defektuzkoa","TORRENT_PROFILE_SOFT":"Leuna","TORRENT_PROFILE_FAST":"Azkarra","TORRENT_PROFILE_ULTRA_FAST":"Ultra Azkarra","MB_S":"MB/s","FAQ_001_H1":"Zer da Stremio?","FAQ_001_P1":"Stremio bideo entretenimendurako diseinatutako multimedia zentroen softwarea da, erabiltzeko erraztasunak kontuan hartuta. Stremio-k & amp; ikusi zure film, serie, kanal eta zuzeneko telebista bilduma.","FAQ_001_P2":"Stremio-k zure disko lokaletik eta gure gehigarri sistematik erakusten duen edukia bildu.","FAQ_001_P3":"Era berean, interesatzen zaizkizun atal/bideo/film berriak ateratzen direnean jakinaraziko zaizu eta filmen gomendioak emango dizkizu.","FAQ_02_H1":"Nola alderatzen da Stremio Kodi eta Plexekin?","FAQ_02_P1":"Bi softwareak inspiratzen gaitu. Baina helburu desberdinak ditugu - Stremio entretenimendu bideoetara bideratuta dago bereziki, eta horretarako oso konponbide nagusia bilakatzen ahalegintzen da erabiltzeko oso erraza izanik.","FAQ_02_P2":"Stremio ez da inoiz Kodi eta Plex bezain pertsonalizagarria eta aberatsa izango, baina errazagoa da erabiltzea. ${1}eskuratu eta ikusi${2} :)","FAQ_03_H1":"Nola alderatzen da Stremio Netflix-ekin?","FAQ_03_P1":"Berriro ere, Netflix da gure inspirazioetako bat. Netflix-en erabiltzailearen esperientzia lortzen ahalegintzen gara, eta gehitutako opari asko. Baina garrantzitsuena, zure liburutegia kudeatzeko eta eduki gehigarri berriak gehitzeko askatasuna ematen dizugu gure addon sistemarekin.","FAQ_03_P2":"Horrek Stremio ezin du luzatu, beraz, Stremio erabiltzen duzunean ez zara inoiz Netflix-ek lizentzia ematea erabakitzen duen edukira mugatzen. Adibidez, Stremioren bidez ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} edukia ikusi dezakezu. eta baita ${9}Netflix${10} bera ere!","FAQ_04_H1":"Nola alderatzen da Stremio Flipboard-ekin?","FAQ_04_P1":"Galdera hori ez dugu hain maiz jasotzen, hasierako jendearekin hitz egitean izan ezik :)","FAQ_04_P2":"Stremio edukien agregatzailea diseinatzean datza, eta horrek bideoetarako Flipboard bihurtzen du. Hori oso agerikoa da gure Batzordearen atalean, katalogoak eta atal berrien / bideo berrien jakinarazpenak eskaintzen dizkizu, Flipboard-ek bezala.","FAQ_05_H1":"Nola alderatzen da Stremio krispeten denborarekin?","FAQ_05_P1":"Stremio eta Popcorn Time erabiltzailearen interfazean antzekoak dira, bideo entretenimendu katalogoak ondo egiteko modu asko ez dagoelako :)","FAQ_05_P2":"Popcorn Time iturri zehatzetatik torrent-ekin erreproduzitzera bideratuta dagoen arren, Stremio mugarik gabe dago eta eduki-agregatzailea besterik ez da, ez dago eduki-iturri zehatz batean blokeatuta.","FAQ_05_P3":"Gainera, ez dugu torrent gehigarririk ematen lehenespenez, beraz, Stremiok ez du krispeten denboraren erabilera-kasua funtzionalitate ofizialarekin estaltzen.","FAQ_05_P4":"Beste desberdintasun aipagarri bat Popcorn Time erabat irekia dela da, Stremio ${1}partzialki irekita${2} dela.","FAQ_06_H1":"Gehituko al duzu film/telesail hau?","FAQ_06_P1":"Ez, barkatu :(","FAQ_06_P2":"Beste galdera gehienetan aipatzen den bezala, Stremiok ez du berez edukirik eskaintzen - dena gehigarrien sistemaren bidez gehitzen da. Eduki eskaera izanez gero, erreproduzitzailean dagoen \\"Salatu\\" botoia erabil dezakezu, mezu elektroniko bat bidaliko dio unean erabiltzen ari zaren gehigarriaren egileari.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"X-rako gehigarria sortuko al duzu?","FAQ_08_P1":"Erabat posible da.","FAQ_08_P2":"Gehigarri bat egiteko ideia baduzu, idatzi ${1}office@stremio.com${2} helbidera, baina ziurtatu gehigarrien ideiak ez dituela inolako copyright edo erabilera baldintzak urratuko.","FAQ_08_P3":"Momentuz, gure bide orriko hurrengo gauzak FandangoNOW, Filmon.tv bideoaren eskaera eta Crunchyroll-en gehigarriak dira.","FAQ_09_H1":"Stremiok BitTorrent erabiltzen al du?","FAQ_09_P1":"Bai, Stremiok BitTorrent onartzen du streaming protokolo gisa. Hori erabil dezakezu torrent gehigarri batekin edo .torrent fitxategi bat Stremiora arrastatuz eta jareginez edo Bilaketa barran iman esteka itsatsita.","FAQ_09_P2":"Kontuan izan BitTorrent erabiltzen duen gehigarri ofizial bakarra ${1} Vodo ${2} dela, indie edukia eskaintzen duena, guztia BitTorrent-ekin banatzeko baimendua.","FAQ_09_P3":"Ez dugu onartzen copyright-urraketa egin dezaketen hirugarrenen gehigarririk erabiltzea.","FAQ_10_H1":"Zer ikusi dezaket Stremion gehigarri ofizialekin?","FAQ_10_P1":"Berez, Filmon.tv, YouTube eta Vodo edukiak Stremio beraren barruan ikus ditzakezu, kapsulatutako erreproduzitzailearekin. Gainera, Twitch.tv-rako gehigarria dugu eta beste batzuk.","FAQ_10_P2":"Konbinatu honek aukera hauek eskaintzen ditu:","FAQ_10_L1":"Filmon.tv-k eskainitako telebista kate ezagunak - adibidez, E4, BBC, Bollyworld TV","FAQ_10_L2":"YouTube-tik dena - adibidez BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Film indiarrak Vodorekin","FAQ_10_L4":"Lineako jokoen emisioak Twitch.tv-rekin","FAQ_10_P3":"Gainera, gida-kutxa eta Netflix gehigarriekin hornitutako eduki iturri ugari daude, ez Stremio barruan guztiz erreproduzitzen direnak, baina emandako zerbitzura birbideratuko lirateke. Adibidez, Guidebox gehigarriak AEBetan doan erreproduzi ditzakezun filmen aukeraketa emango dizu TubiTV eta Crackle bezalako zerbitzuetatik.","FAQ_11_H1":"Stremiok ez du instalatuko, zer egin behar dut?","FAQ_11_P1":"Windows-en bazaude, probatu ${1} ${2} instalatzaile alternatibo hau.","FAQ_11_P2":"Mac OS X erabiltzen baduzu, kontuan izan ez dugula OS X Mavericks (10.9) baino zaharragoak onartzen.","FAQ_11_P3":"Linux erabiltzen baduzu, kontuan izan momentuz 64 bit (x64) Linux soilik onartzen ditugula.","FAQ_11_P4":"Oraindik arazoa konpondu ezin baduzu, idatzi iezaguzu ${1}Facebook taldean${2}.","FAQ_12_H1":"Zergatik kexatzen da nire birusaren kontrakoa? Stremio segurua al da?","FAQ_12_P1":"Stremio ${1}%100 garbi${2} dagoela ziurtatzen dizugu.","FAQ_12_P2":"Birusen aurkako arazoa kexatzen ari da publizitatea gure instalatzailean sartzen dugulako, birusen aurkako programa batzuek iragarki gisa aitortzen baitute.","FAQ_12_P3":"Oraindik ziur ez bazaude, ${1}instalatzaile alternatiboa${2} probatu dezakezu.","FAQ_13_H1":"Nola egin dezaket gehigarri bat?","FAQ_13_P1":"Hasiberrientzat, GitHub-en gure ${1}addons sistemaren modulua${2} begiratzea gomendatzen dugu.","FAQ_13_P2":"Ondoren, ${1}Hello World tutoriala${2} jarraitu dezakezu.","FAQ_13_P3":"Programaziorako trebetasunik ez baduzu, idatzi zure ideia ${1}Reddit komunitatean${2} eta jarri gurekin harremanetan zure addon ideiarekin ${3}office@stremio.com${4} helbidean.","FAQ_14_H1":"Nola argitaratzen dira gehigarriak?","FAQ_14_P1":"Gehigarri eta ostalari bat sortzen duzunean eta zure manifestuan amaiera eremua jartzen duzunean, funtzionatzen duen gehigarrien helbidea seinalatzen duena, gehigarriak automatikoki argitaratuko du gure ${1} gehigarrien katalogoan ${2} .","FAQ_14_P2":"Stremio-addons moduluko zerbitzariaren zatiak automatikoki dei egiten duelako gure APIra gehigarria iragartzeko. Gure APIak zure amaierako puntua baliozko gehigarri gisa balioztatzen duenean, katalogoan erakusten hasiko da.","FAQ_15_H1":"Exekutatu al dezaket Stremio nire arakatzailean?","FAQ_15_P1":"Momentuz ez, baina badator hau!","FAQ_15_P2":"Alpha bat ikusteko jakinmina baduzu, hemen ikus dezakezu: ${1} alpha4.strem.io ${2}. Gogoan izan streaming hau alfa honetan desgaituta dagoela. Chrome, Firefox, Opera eta Edge onartzen ditugu.","FAQ_16_H1":"Telebistara igortzeak ez du funtzionatzen / azpitituluak ez dira funtzionatzen","FAQ_16_P1":"Telebistara igotzeak telebista marka eta modelo desberdinen artean oso bat ez datorren DLNA teknologia erabiltzen du. Hori dela eta, kasu guztietan ez dugu probatzeko gaitasunik, beraz, oso urrun dago perfektua izatetik. Hala ere, etengabe hobetzeko lanean ari gara, baina ezin dugu DLNA zure telebistarekin ondo funtzionatzen noiz hasiko den kalkulatzeko denbora.","FAQ_16_P2":"Zure telebista casting menuan ikusten ez baduzu ere, saiatu sareko konexioa desgaitzen eta berriro gaitzen (Windows-en, egin klik eskuineko botoiarekin Sarea eta erabili Gaitu / Desgaitu), baita router, telebista eta ordenagailua berrabiarazi ere. .","FAQ_16_P3":"Oraindik arazoak topatzen badituzu, lagun diezagukezu telebistaren marka eta modeloaren informazioa ${1}office@stremio.com${2} helbidera bidalita.","FAQ_16_P4":"Bitartean, oso ondo onartzen dugun Chromecast gomendatzen dugu edo, besterik gabe, zure telebista ordenagailura HDMI kable batekin konektatzea.","FAQ_17_H1":"Stremio izoztu edota huts egiten du, zer egin dezaket?","FAQ_17_P1":"Lehenik eta behin, Windows 7 AVG antibirusarekin erabiltzen ari bazara: arazo bat dugu konbinazio horrekin. Arazoa AVG-n dago, eta ez dago arrazoizko modurik gure aldetik konpontzeko. Zoritxarrez, salbuespenak edo birusen aurkako desgaitzea ez dira funtzionatuko. Irtenbide bakarra AVG beste zerbaitengatik ordezkatzea da.","FAQ_17_P2":"Hori ez bada arazoa, baina Windows erabiltzen jarraitzen baduzu, eguneratu azken zerbitzu-paketera eta eguneratu/instalatu berriro GPU kontrolatzaileak, eta saiatu berriro.","FAQ_17_P3":"Arazoa oraindik konpontzen ez bada edo Mac edo Linux erabiltzen ari bazara, idatzi iezaguzu arazoaren xehetasun zehatzen berri ${1}gure Facebook taldeko${2} helbidean.","FAQ_18_H1":"Nola egin dezaket gehigarri bat?","FAQ_18_P1":"Hasiberrientzat, GitHub-en gure ${1}addons sistemaren modulua${2} begiratzea gomendatzen dugu.","FAQ_18_P2":"Ondoren, ${1} Hello World tutoretza ${2} jarraitu dezakezu.","FAQ_18_P3":"Programaziorako trebetasunik ez baduzu, idatzi zure ideia ${1}Reddit komunitatean${2} eta jarri gurekin harremanetan zure addon ideiarekin ${3}office@stremio.com${4} helbidean.","FAQ_19_H1":"Zergatik ari da Stremio diskoan lekua hartzen?","FAQ_19_P1":"Stremio-k cache lokal bat du igortzen dituzun bideo fitxategiak aldi baterako mantentzeko.","FAQ_19_P2":"Horrek bi abantaila ditu: lehenik, Stremiok bideoa aurrez bufferrean uzteko aukera ematen du, streaming zuzenagoa bermatzeko. Bigarrenik, bideoak cache lokalean gordetzen ditu, lineaz kanpo ikusten jarraitu ahal izateko.","FAQ_19_P3":"Stremio-k zenbat gordetzen duen ezarpenen paneleko Cache ezarpenaren araberakoa da. Stremio-k zure diskoan ezarritako zenbatekoa (adibidez, 2 GB) gorde dezake, unean erreproduzitutako bideoa hori baino handiagoa ez bada, kasu horretan, gordetzeko adina biltegiratze esleitu behar du erreproduzitu arte.","FAQ_20_H1":"Non dago cache karpeta?","FAQ_20_P1":"Windows-en, Stremio-cache da Ezarpenetan aukeratu duzun unitatean (adibidez, \\"E: \\\\ stremio-cache\\")","FAQ_20_P2":"MacOS-en \\"~ /Library/Application Support/Stremio/stremio-cache\\" da","FAQ_20_P3":"Linux-en \\"~/.stremio/stremio-cache\\" edo \\"~/stremio-cache\\" da.","FAQ_21_H1":"\\"Streaming zerbitzaria ez da aurkitu\\" errorea dut. Zer egin dezaket?","FAQ_21_P1":"Akats hau jasoz gero, gauza gutxietako bat esan nahi du:","FAQ_21_P2":"1) YouTube/BitTorrent iturriak babestutako gehigarri bat erabiltzen saiatzen ari zara, gure ${1}web bertsioaren${2} bidez. Kasu honetan, gure mahaigaineko bertsioa ${3}webgunetik${4} instalatu beharko zenuke.","FAQ_21_P3":"2) Zerbait ez dago gaizki zure Stremio instalazioarekin. Kasu honetan, saiatu berriro instalatzen mahaigaineko azken bertsioa ${1} ${2} webgunetik. Honek laguntzen ez badu, saiatu birusen aurkako programak eta suebakiak desgaitzen, ordenagailua berrabiarazi eta saiatu berriro. Honek ere funtzionatzen ez badu, idatzi iezaguzu ${3}gure Facebook taldean${4}.","FAQ_22_H1":"Ezin ditut iOSeko gehigarri gehienak ikusi/erabili","FAQ_22_P1":"Apple App Store-ren baldintzak eta mugak direla eta, iOS aplikazioa gehigarri jakin batzuetara soilik mugatu dugu.","FAQ_22_P2":"Baina lasai - etorkizunean iOS-erako gehigarri gehiago egongo dira, eta Stremio gehigarri guztiak erabiltzea ahalbidetuko duen integrazioa ere gehi dezakegu iOS aplikazioa Stremio Streaming Server-era konektatzeari esker."}')},58145:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"فیلم","TYPE_series":"سریال","TYPE_tv":"کانال تلویزیونی","TYPE_channel":"کانال","TYPE_other":"دیگر","TYPE_movie_PL":"فیلم ها","TYPE_series_PL":"سریال","TYPE_tv_PL":"کانال های تلویزیونی","TYPE_channel_PL":"کانال ها","TYPE_other_PL":"سایر","TYPE_ALL":"همه","TYPE":"نوع","CATALOG_com_linvo_cinemeta_top":"محبوب","CATALOG_com_linvo_cinemeta_imdbRating":"برجسته","CATALOG_com_linvo_cinemeta_year":"جدید","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"فیلم های دامنه عمومی","VIDEO":"ویدئو","BACK":"برگشت","MORE":"بیشتر","DONE":"انجام شد","COPY":"کپی","SUCCESS":"موفقیت","ERROR":"خطا","SETTINGS_CASTING_MODE_PICKER":"حالت کست","CASTING_MODE_HLSV2":"پیش فرض","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"بدون رمزگذاری","Discover":"کاوش","Board":"تابلو","Library":"کتابخانه","My Library":"کتابخانه من","Calendar":"تقویم","NOTIFICATION_ONLINE":"شما اکنون آنلاین هستید","NOTIFICATION_OFFLINE":"شما در حال حاضر آفلاین هستید","INTERNET_CONNECTION":"اتصال شبکه","STORAGE_FULL_TITLE":"هشدار: فضای ذخیره سازی پر است!","STORAGE_FULL_TEXT":"Stremio نمی‌تواند تنظیمات، تنظیمات برگزیده یا اطلاعات ورود به سیستم شما را ذخیره کند. راه اندازی مجدد یا نصب مجدد Stremio را در نظر بگیرید.","SEARCH":"جستجو","SEARCH_NO_RESULTS":"هیچ نتیجه ای یافت نشد","SEARCH_EXPLANATION_CONTENT":"جستجوی فیلم، سریال، یوتیوب و کانال های تلویزیونی","SEARCH_EXPLANATION_PEOPLE":"جستجوی بازیگران، کارگردانان و نویسندگان","SEARCH_PASTE_LINKS":"پیوندهای HTTP و Magnet را جایگذاری کنید","SEARCH_OR_PASTE_LINK":"جستجو یا جایگذاری پیوند","SEARCH_SUGGESTIONS":"پیشنهادات جستجو","ADD_TO_LIB":"افزودن به کتابخانه","REMOVE_FROM_LIB":"حذف از کتابخانه","ADDED_TO_LIB":"به کتابخانه اضافه شد","REMOVED_FROM_LIB":"از کتابخانه حذف شد","TRAILER":"تریلر","WATCH_TRAILER":"دیدن تریلر","WATCH_NOW":"اکنون تماشا کنید","SHOW":"نمایش","SHOW_MOVIE":"نمایش فیلم","WATCH_RANDOM":"تصادفی ببینید","IMDB_RATING":"امتیاز IMDb","YEAR":"سال","DIRECTOR":"کارگردان","WRITER":"نویسنده","LEAD_ACTORS":"بازیگران اصلی","CAST":"بازیگران","CREW":"کادر","SHOW_MORE_CAST":"نمایش بیشتر »","AIRED":"پخش شده","SEASONS":"فصل ها","GENRE":"ژانر","GENRE_ALL":"همه ژانرها","CATALOG":"کاتالوگ","SUMMARY":"خلاصه","SHOW_MORE":"نمایش بیشتر","SIMILAR":"مشابه","UPCOMING":"آینده","TBA":"TBA","ENDED":"پایان یافته","DURATION":"مدت زمان","FEATURED":"برجسته","METADATA":"فراداده","CATEGORY":"دسته بندی","LINKS_GENRES":"ژانرها","LINKS_CAST":"بازیگران","LINKS_DIRECTORS":"کارگردانان","SEARCH_VIDEOS":"جستجوی ویدیوها","SEARCH_PLACEHOLDER":"URL را جستجو یا جایگذاری کنید","ADDON":"افزونه","ADDONS":"افزونه ها","OFFICIAL":"رسمی","ADDONS_OFFICIAL":"افزونه های رسمی Stremio","ADDONS_POPULAR":"محبوب در منطقه شما","ADDON_FREE":"رایگان","ADDON_PEERED":"همتا شده","ADDON_SUBSCRIPTION":"اشتراک","ADDON_STREAM_GEORESTRICTED":"در منطقه شما موجود نیست","ADDON_STREAM_OFFLINECACHE":"کش آفلاین","ADDON_STREAM_LOCALFILE":"فایل محلی","SHARE_ADDON":"اشتراک‌گذاری افزونه","AVAILABLE_STREAMS":"استریم‌های موجود","NO_STREAM":"هیچ استریمی یافت نشد","ALL_ADDONS":"همه","INSTALL_MORE_ADDONS":"برای استریم های بیشتر، لطفا افزونه های بیشتری نصب کنید","STREAM_NOT_SUPPORTED":"استریم انتخابی در این پلتفرم پشتیبانی نمی‌شود.","ADDON_CATALOGUE":"نمایش همه افزونه ها »","ADDON_CATALOGUE_MORE":"نصب افزونه ها","REPO_ADDED":"مخزن اضافه شد","ADDON_REPO_EXIST_ERR":"این مجموعه افزونه‌ها از قبل وجود دارد","ADDON_REPO_ERR":"هنگام افزودن مجموعه خطایی روی داد","ADDON_ADD_ERR":"هنگام افزودن افزونه خطایی رخ داد","ERR_ADDON_PROTECTED":"نمی توان افزونه را حذف کرد، محافظت شده است","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"مشکلی پیش آمد - ممکن است تایید اعتبار ناموفق باشد","ERR_NOT_COLLECTION_URL":"یک URL مجموعه نیست","ERR_NOT_ADDON_URL":"یک URL افزونه معتبر نیست","ERR_DETECTFROMURL":"افزونه/مجموعه از این URL پیدا نمی شود","ADDON_DUPLICATE_WARNING":"هشدار: افزونه تکراری","ADDON_COLLECTION_SET_FAILED":"همگام سازی افزونه های نصب شده با حساب شما انجام نشد","SETTINGS_DATA_EXPORT":"صادر کردن داده های کاربر","ADDON_PULL_FAILED":"همگام سازی افزونه های نصب شده از حساب شما انجام نشد","REFRESH_ON_CLICK":"برای امتحان مجدد کلیک کنید","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"فیلم هنوز در سینماها است","WATCH_IN_CINEMA":"آن را در سینمای محلی خود تماشا کنید","IN_THEATER":"در سینما","GET_TICKETS":"بلیط بگیرید","UPCOMING_EPISODE":"قسمت آینده","UPCOMING_EPISODE_MESSAGE":"این قسمت پخش خواهد شد در","MISSING_DATE_EPISODE":"تاریخ قسمت از دست رفته است","MISSING_DATE_EPISODE_MESSAGE":"شاید این قسمت هنوز پخش نشده باشد","CHANNEL_NOT_SCRAPED":"این کانال هنوز بررسی نشده است.
    لطفا چند دقیقه دیگر برگردید.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"آن را به کتابخانه خود اضافه کنید تا پس از در دسترس قرار گرفتن از آن مطلع شوید.","GET_NOTIFIED_WHEN_AVAILABLE":"پس از در دسترس قرار گرفتن به شما اطلاع داده می شود.","WARNING_STREAMING_SERVER":"هشدار: سرور پخش محلی یافت نشد. پخش استریم از فایل های محلی، YouTube و BitTorrent در دسترس نخواهند بود.","WARNING_STREAMING_SERVER_DISMISS":"رد کردن","WARNING_STREAMING_SERVER_LATER":"بعدا","DECODER_WARNING":"هشدار: این ویدئو ممکن است توسط سخت افزار شما پشتیبانی نشود. به خاطر داشته باشید، پخش ممکن است کند باشد.","GENERIC_ERROR_MESSAGE":"مشکلی پیش آمد!","TRY_AGAIN":"امتحان دوباره","CLEAR_DATA":"پاک کردن داده ها","PLAYER_ERROR":"اوه، خطای پخش کننده","PLAYER_ERROR_LOOKSLIKE":"به نظر می رسد","PLAYER_ORIENTATION":"جهت پخش","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"قفل شده","PLAYER_ORIENTATION_SENSOR_SHORT":"سنسور","PLAYER_ORIENTATION_LANDSCAPE":"جهت پخش در حالت افقی قفل شده است","PLAYER_ORIENTATION_SENSOR":"جهت گیری بازیکن خودکار (سنسور)","PLAYER_PLAYBACK_SPEED":"سرعت پخش","PLAYER_PLAYBACK_ERROR":"خطای پخش، لطفا دوباره امتحان کنید","PLAYER_PLAYBACK_ERROR_UNKNOWN":"خطای ناشناخته","PLAYER_PLAYBACK_ERROR_DEFAULT":"متأسفیم، این ویدیو توسط {{productName}} قابل پخش نیست.","PLAYER_SUBTITLES_LANGUAGES":"زبان های زیرنویس","PLAYER_SUBTITLES_VARIANTS":"انواع زیرنویس","PLAYER_SUBTITLES_SETTINGS":"تنظیمات زیرنویس","PLAYER_SUBTITLES_DISABLED":"زیرنویس غیرفعال است","PLAYER_SUBTITLES_VERTICAL_POSIITON":"موقعیت عمودی","PLAYER_SUBTITLES_LOADED":"زیرنویس بارگذاری شد","PLAYER_SUBTITLES_LOADED_EMBEDDED":"زیرنویس های جاسازی شده بارگیری شد","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"زیرنویس انحصاری بارگذاری شد","PLAYER_SUBTITLES_LOADED_LOCAL":"زیرنویس محلی بارگذاری شد","PLAYER_SUBTITLES_LOADED_ORIGIN":"زیرنویس از {{origin}} بارگیری شد","PLAYER_PLAY":"پخش","PLAYER_PAUSE":"توقف","PLAYER_NEXT_VIDEO":"ویدیوی بعدی","PLAYER_MUTE":"بی صدا","PLAYER_UNMUTE":"باصدا کردن","PLAYER_OPEN_IN_EXTERNAL":"باز کردن در پخش کننده خارجی","PLAYER_OPEN_IN_NPLAYER":"باز کردن در nPlayer","PLAYER_PLAY_IN":"پخش در {{device}}","PLAYER_LIVE":"زنده","PLAYER_NEXT_VIDEO_TITLE":"بعدی می‌آید در","PLAYER_NEXT_VIDEO_TITLE_SHORT":"بعدی در","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"رد کردن","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"اکنون تماشا کنید","PLAYER_COPY_STREAM_SUCCESS":"پیوند استریم در کلیپ بورد شما کپی شد","PLAYER_COPY_STREAM_ERROR":"پیوند استریم کپی نشد","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"لینک دانلود در کلیپ بورد شما کپی شد","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"لینک دانلود کپی نشد","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"استریم از","CASTING_TO":"ارسال به","NETWORK_STATUS":"وضعیت شبکه","STREAM_SPEED":"سرعت استریم:","STREAM_BUFFERED":"بافر شده:","PEERS_INFO":"اطلاعات همتایان","PEERS_ACTIVE":"فعال:","PEERS_CONNECTED":"متصل:","PEERS_WAITING":"در انتظار:","TRANSCODING_WARNING":"هشدار: رمزگذاری ویدیو.","STREAM_LOADING":"در حال بارگذاری...","PLAYING_LOCAL":"پخش از فایل محلی","PLAYING_CACHE":"پخش از حافظه پنهان","WRONG_SUBS":"زیرنویس اشتباهه؟","ERR_SUBS_LOADING_TITLE":"خطا در بارگیری زیرنویس","ERR_SUBS_LOADING":"بارگیری ناموفق زیرنویس: این ممکن است مشکل از افزونه ای باشد که استفاده می کنید یا اتصال شبکه شما","WARN_FOLLOWING_SUB_ADDONS_FAILED":"افزونه های زیرنویس زیر ناموفق بودند","ERR_CASTING_UPDATE_TITLE":"اطلاعات دستگاه ارسال محتوا به‌روزرسانی نشد: سرور پخش استریم ممکن است آفلاین باشد","CHOOSE_DEVICE":"دستگاهی را برای تماشا انتخاب کنید","NO_CAST_DEVICES":"دستگاهی برای کست موجود نیست.","NO_SETTINGS":"هیچ تنظیماتی در دسترس نیست.","NO_OPTIONS":"No options available","PHONE_TABLET":"تلفن / تبلت","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"زیرنویس","SUBTITLES_CHANGE":"تغییر زیرنویس برای ","SUBTITLES_CHANGE_NONE":"هیچ زیرنویس دیگری برای این زبان وجود ندارد، متاسفم.","SUBTITLES_CHANGE_ACIVE":"در حال حاضر زیرنویس‌های #{{subtitlesDialog.activeIdx + 1}} فعال هستند. برای فعال کردن زیرنویس‌ها روی \\"ادامه\\" کلیک کنید #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"بصورت جایگزین،","SUBTITLES_ADJUST_DELAY":"تنظیم تاخیر زیرنویس:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"یا هنگام پخش از کلیدهای G / H برای تنظیم استفاده کنید.","SUBTITLES_ADJUST_DELAY_TIP":"نکته: می‌توانید هنگام پخش از کلیدهای G / H برای تنظیم استفاده کنید.","SUBTITLES_DELAY":"تاخیر زیرنویس:","SUBTITLES_LOADING":"در حال بارگیری زیرنویس...","SUBTITLES_UNAVAILABLE":"زیرنویس خارجی موجود نیست","SUBTITLES_DISABLED":"غیر فعال","EXTERNAL_PLAYER_DISABLED":"غیر فعال","EXTERNAL_PLAYER_ALLOW_CHOOSING":"اجازه انتخاب","EXTERNAL_PLAYER_HINT":"نکته: تنظیمی وجود دارد که اجازه می دهد همیشه با پخش کننده خارجی باز شود","DONT_SHOW_AGAIN":"دیگر نشان نده","SERVICE_INSTALL":"نصب","AUDIO":"صوتی","DEFAULT_LANGUAGE":"زبان پیش فرض","DEFAULT_SECONDARY_LANGUAGE":"زبان ثانویه پیش فرض","SEASON":"فصل","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"قسمت","EPISODE_ABBREVIATION":"EP","SPECIAL":"ویژه","SORT":"مرتب کردن","SORT_BY":"مرتب سازی بر اساس","FILTER":"فیلتر","SORT_TRENDING":"روند","SORT_RECENT":"اخیر","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"امتیاز","SORT_WATCHED":"تماشا شده","SORT_YEAR":"سال","SELECT":"Select","SELECT_TYPE":"انتخاب نوع","SELECT_SORT":"انتخاب مرتب سازی","SELECT_CATALOG":"انتخاب کاتالوگ","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"انتخاب ژانر","SORT_LASTWATCHED":"آخرین تماشا","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"بیشترین تماشا شده","SORT_NOTWATCHED":"تماشا نشده","New for You":"جدید برای شما","New Episodes":"قسمت های جدید","New Videos":"ویدیوهای جدید","Recommendations":"توصیه ها","LIBRARY_RESUME":"از سرگیری","LIBRARY_PLAY":"پخش","LIBRARY_DETAILS":"جزئیات","LIBRARY_RESUME_DISMISS":"رد کردن","LIBRARY_CLEAR_PROGRESS":"پاک کردن پیشرفت","LIBRARY_REMOVE":"حذف","LIBRARY_NOT_LOGGED_IN":"کتابخانه فقط برای کاربران وارد شده در دسترس است","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"تقویم فقط برای کاربرانی که وارد سیستم شده اند در دسترس است","NOT_LOGGED_IN_CLOUD":"در هر زمان و هر مکان به فیلم ها و برنامه های تلویزیونی مورد علاقه خود دسترسی داشته باشید","NOT_LOGGED_IN_RECOMMENDATIONS":"توصیه هایی متناسب با سابقه مشاهده شما","NOT_LOGGED_IN_NOTIFICATIONS":"هرگز یک قسمت را دوباره از دست ندهید","NOT_LOGGED_IN_CALENDAR":"تقویم تماشای شخصی خود را برنامه ریزی کنید","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"برجسته","DISCOVER_TOP":"بالا","DISCOVER_OSCAR":"برندگان اسکار","DISCOVER_WARNING_TITLE":"اوه!","DISCOVER_EMPTY_CATALOG":"این افزونه محتوای خالی را برگرداند.","DISCOVER_ADULT_WARNING":"محتوا فقط برای بزرگسالان قابل مشاهده است. 18+ هستی؟","DISCOVER_NOADDON_WARNING":"هشدار: هیچ افزونه Stremio برای این نوع فعال نیست. نمایش موارد ذخیره شده، هیچ چیزی در اینجا به روز نمی شود.","DISCOVER_LOAD_ERR":"محتوا بارگیری نشد، خطایی رخ داد.","DISCOVER_ADDON_UNINSTALLED":"این محتوا دیگر در دسترس نیست، ممکن است افزونه را حذف نصب کرده باشید.","UNINSTALL_THIS_ADDON":"حذف کردن این افزونه","ERR_ADDON_NOT_INSTALLED":"این افزونه نصب نشده است. اکنون نصب شود؟","DETAIL_RECEIVE_NOTIF_SERIES":"دریافت اطلاعیه برای قسمت های جدید","DETAIL_RECEIVE_NOTIF_VIDEOS":"دریافت اعلان برای ویدیوهای جدید","SIDEBAR_SHOW_STREAMS":"نمایش استریم‌ها","RELAUNCH":"اکنون دوباره راه اندازی کنید!","UPGRADE":"نسخه جدید موجود است! به آخرین نسخه Stremio ارتقا دهید","RELOAD_UI":"بارگذاری دوباره رابط کاربری","MANUAL_UPDATE_TITLE":"نسخه Stremio خود را به روز کنید","MANUAL_UPDATE_LINE1":"شما یک نسخه قدیمی از Stremio را اجرا می کنید که بسیار توصیه نمی شود.","MANUAL_UPDATE_LINE2":"لطفا در اسرع وقت به روز رسانی کنید.","BUTTON_UPDATE_LATTER":"الان نه","BUTTON_UPDATE_NOW":"به روز رسانی","UPDATER_TITLE":"نسخه جدیدی از Stremio در دسترس است","UPDATER_INSTALL_BUTTON":"اکنون نصب کنید","ANONYMOUS_USER":"کاربر ناشناس","DONT_HAVE_ACC":"حساب کاربری ندارید؟","HAVE_ACC":"از قبل حساب کاربری دارید؟","PASSWORD":"رمز عبور","PASSWORD_CONFIRM":"تأیید رمز عبور","EMAIL":"ایمیل","FB_LOGIN":"با فیس بوک ادامه دهید","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"هیچ چیزی بدون اجازه شما به اشتراک گذاشته نمی شود","FB_NOPOST":"ما چیزی از طرف شما پست نمی کنیم","OR":"یا","I_ACCEPT":"من قبول دارم","I_ACCEPT_BY_CLICKING":"با کلیک بر روی دکمه بالا شهادت می دهم که این را قبول دارم ","TOS":"شرایط و ضوابط","MUST_ACCEPT_TERMS":"شما باید شرایط را بپذیرید","PASSWORDS_NOMATCH":"گذرواژه ها مطابقت ندارند","SIGN_UP":"ثبت نام","SIGN_UP_EMAIL":"ثبت نام با ایمیل","CLICK_TO_SIGN_UP":"برای ثبت نام اینجا را کلیک کنید.","LOG_IN":"وارد شوید","LOG_OUT":"خروج از سیستم","EXIT_FULLSCREEN":"خروج از حالت تمام صفحه","ENTER_FULLSCREEN":"ورود به حالت تمام صفحه","PLAY_URL_MAGNET_LINK":"پخش کردن لینک URL/Magnet","HELP_FEEDBACK":"راهنما و بازخورد","TERMS_OF_SERVICE":"شرایط خدمات","PRIVACY_POLICY":"سیاست حفظ حریم خصوصی","ABOUT_STREMIO":"درباره Stremio","USER_PANEL":"پنل کاربری","LOGIN_LABEL":"ورود","GUEST_LOGIN":"ورود مهمان","GUEST_LOGIN_NOTICE":"ورود با حساب مهمان توصیه نمی‌شود. استفاده از ورود معمولی به Stremio این امکان را می‌دهد که کتابخانه شما را همگام‌سازی کند و اعلان‌ها برای سریال‌ها/کانال‌های مورد علاقه‌تان دریافت شود. آیا مطمئن هستید که می‌خواهید ادامه دهید؟","GUEST_LOGIN_NOTICE_2":"ورود با حساب مهمان توصیه نمی‌شود - شما کتابخانه همگام‌سازی‌شده و اعلان‌های بورد، که از ویژگی‌های حیاتی Stremio هستند، را نخواهید داشت. آیا مطمئن هستید که می‌خواهید ادامه دهید؟","CLICK_HERE":"اینجا کلیک کنید","WRONG_PASSWORD":"ایمیل یا رمز عبور اشتباه است. در صورتی که رمز عبور خود را فراموش کرده اید، ","SET_A_PASS":"تنظیم رمز عبور","RESET_PASSWORD":"بازنشانی رمز عبور","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"رمز عبور را فراموش کرده اید؟","EMAIL_USED_WITH_FB":"این ایمیل با ورود به سیستم فیس بوک استفاده شده است.","INVALID_EMAIL":"لطفا یک آدرس ایمیل معتبر وارد کنید","INVALID_PASSWORD":"لطفا یک رمز عبور معتبر وارد کنید","CONN_ERR":"خطای اتصال - لطفاً بعداً دوباره امتحان کنید.\\n\\nاگر این مشکل ادامه داشت، فایروال ها/نرم افزارهای آنتی ویروس (مخصوصا Bitdefender) را غیرفعال کنید.","IMPORT_FROM_GUEST":"کتابخانه را از حساب مهمان خود وارد کنید","RECEIVE_UPDATES_EMAIL":"به روزرسانی های Stremio را در ایمیل خود دریافت کنید","LOGIN_FAILED":"ورود ناموفق بود.","SIGNUP_FAILED":"ثبت نام انجام نشد.","SEARCH_FAILED":"جستجو ناموفق بود","EMAIL_USED":"این ایمیل از قبل در حال استفاده است.","WAITING_FB_LOGIN":"ورود با فیس بوک...","EXTERNAL_OPENING_YOUTUBE":"شما Stremio را ترک می کنید و YouTube را باز می کنید. مطمئنی?","EXTERNAL_OPENING_APP":"شما Stremio را ترک می کنید تا برنامه دیگری را باز کنید. مطمئنی?","EXTERNAL_PLAYER_TITLE":"پخش در پخش کننده خارجی","EXTERNAL_REMEMBER_PLAYER":"آیا می خواهید انتخاب خود را به خاطر بسپارید","EXTERNAL_ALWAYS_PLAY":"بله","EXTERNAL_ONLY_ONCE":"خیر","BEST_FIT":"بهترین تناسب","FIT_SCREEN":"متناسب با صفحه نمایش","FILL":"کامل","16:9":"16:9","4:3":"4:3","Original":"اصل","INTRO_TASTE":"در مورد آنچه دوست دارید به ما بگویید","INTRO_TASTE_LONG":"درباره آنچه می خواهید تماشا کنید به ما بگویید","INTRO_TASTE_PICK":"علایق {{interestsRemaining}} را انتخاب کنید","INTRO_TASTE_PICK_MORE":"{{interestsRemaining}} علایق بیشتر را انتخاب کنید","INTRO_TASTE_HELP_US":"به ما کمک کنید در مورد شما بیشتر بدانیم.","INTRO_TASTE_CHOOSE_THESE":"برخی از این موارد را انتخاب کنید:","INTRO_TASTE_CHOOSE_MIN":"حداقل 3 دسته را انتخاب کنید","INTRO_TASTE_CHOOSE_MIN_ERR":"شما باید حداقل 3 دسته را انتخاب کنید!","INTRO_TASTE_LIFESTYLE":"سبک زندگی","INTRO_TASTE_SPORTS":"ورزش","INTRO_TASTE_FOOD_HEALTH":"غذا و سلامت","INTRO_TASTE_BEAUTY_FASHION":"زیبایی و مد","INTRO_TASTE_NEWS":"اخبار","INTRO_TASTE_GAMING":"بازی","INTRO_TASTE_SCIENCE_EDU":"علم و آموزش","INTRO_TASTE_MUSIC":"موسیقی","INTRO_TASTE_TRAVEL":"سفر","INTRO_TASTE_LATE_NIGHT":"نمایش آخر شب","INTRO_TASTE_REALITY":"واقعیت","INTRO_TASTE_COMEDY":"کمدی","INTRO_TASTE_DIY":"چگونه DIY کنیم","INTRO_TASTE_TECH":"فنی","INTRO_TASTE_CINEMA":"سینما","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"افزونه انتخاب شده در این پلتفرم پشتیبانی نمی شود.","ADDON_DISCLAIMER":"استفاده از افزونه های شخص ثالث همیشه مشمول مسئولیت شما و قانون حاکم بر حوزه قضایی است که در آن قرار دارید.","ADDON_ACTIVATE":"این افزونه فعال شود؟","ADDON_REPO_ADD":"URL مجموعه افزونه","ADDON_ADD":"افزودن","INSTALL_ADDON":"نصب افزونه","ADD_ADDON":"افزودن افزونه","ADD_ADDON_DESCRIPTION":"می‌توانید افزونه‌ای را از طریق پیوند خارجی اضافه کنید، که در قسمت افزونه‌های نصب‌شده ظاهر می‌شود.","PASTE_ADDON_URL":"URL افزونه را جایگذاری کنید","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"چه چیز جدید است","BUTTON_CONTINUE":"ادامه","BUTTON_ACTIVATE":"فعال کردن","BUTTON_ACTIVATED":"فعال شد","BUTTON_CANCEL":"لغو","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"ارسال","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"رد کردن همه","BUTTON_VIEW_ALL":"مشاهده همه","BUTTON_SEE_ALL":"مشاهده همه","BUTTON_COLOR_TRANSPARENT":"شفاف","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"باز کردن در مرورگر","LIB_EMPTY":"کتابخانه شما خالی به نظر می رسد. ببینید چقدر مفید است :) ","HOW_START":"در اینجا نحوه شروع آمده است:","LIB_EMPTY_CAL":"تقویم شما سریال‌هایی را در کتابخانه شما نشان می‌دهد.","HOW_START_CAL":"در اینجا نحوه اضافه کردن سریال‌ها آمده است:","LIB_EMPTY_BOARD":"تابلو، اعلان ها و توصیه های مربوط به کتابخانه شما را نشان می دهد.","HOW_START_BOARD_WAIT":"لطفاً چند سریال یا کانال را به کتابخانه خود اضافه کنید، چند دقیقه به ما فرصت دهید تا پردازش کنیم :)","HOW_START_BOARD":"در اینجا نحوه اضافه کردن سریال‌ها و فیلم‌ها به آن آمده است:","IMPORT_FB":"چیزهایی را که دوست دارید از فیس بوک وارد کنید","IMPORT_TRAKT":"کتابخانه رسانه خود را از Trakt وارد کنید","IMPORT_DISCOVER":"مطالب جالب را از Discover بیابید","IMPORT_DISK":"فیلم ها یا نمایش هایی را که روی دیسک محلی خود دارید وارد کنید","PLEASE_CREATE_ACC":"لطفا یک حساب کاربری برای فعال کردن همگام سازی کتابخانه و تابلو ایجاد کنید.","IMPORT_DISCOVER_SIGNUP":"ثبت نام کنید و مطالب جالب را از Discover بیابید","IMPORT_DISK_SIGNUP":"ثبت نام کنید و فیلم ها یا نمایش هایی را که روی دیسک محلی خود دارید وارد کنید","LIB_EMPTY_CLOUD":"کتابخانه ابری","LIB_EMPTY_CLOUD_DESC":"کتابخانه ابری شخصی در همه دستگاه‌ها همگام‌سازی شده است","LIB_EMPTY_EARLY":"پرنده زودرس","LIB_EMPTY_EARLY_DESC":"دریافت اطلاعیه برای قسمت های جدید","LIB_EMPTY_PERSONAL":"شخصی","LIB_EMPTY_PERSONAL_DESC":"دریافت توصیه های شخصی","LIB_EMPTY_CALENDAR_DESC":"تقویم تماشای شخصی خود را برنامه ریزی کنید","LIB_EMPTY_ALL":"برای دریافت همه این موارد ثبت نام کنید:","LIB_EMPTY_BEST":"ثبت نام کنید تا بهترین ها را از Stremio دریافت کنید","LIB_EMPTY_OTHER":"ثبت نام کنید تا تقویم و سایر ویژگی های جالب را فعال کنید","CALENDAR_ADDED":"تقویم Stremio به تقویم رومیزی پیش فرض شما اضافه شده است.","CALENDAR_ADDED_MSG":"اگر این کار نمی کند، لطفاً این URL را به صورت دستی به برنامه تقویم خود اضافه کنید","TRAKT_EXPIRED":"تایید اعتبار Trakt منقضی شده است، لطفا به تنظیمات بروید و دوباره تایید اعتبار کنید","TRAKT_REQUIRES_LOGIN":"خطای Trakt","TRAKT_REQUIRES_LOGIN_MSG":"شما باید وارد شوید","TRAKT_IMPORT_WATCHED":"وارد کردن","THEME":"تم","THEME_DEFAULT":"پیش فرض","THEME_ADAPTIVE":"تطبیقی","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"تنظیمات","SETTINGS_NAV_GENERAL":"عمومی","SETTINGS_NAV_PLAYER":"پخش کننده","SETTINGS_NAV_STREAMING":"استریم کردن","SETTINGS_NAV_SHORTCUTS":"میانبرها","SETTINGS_SHORTCUT_RELOAD_APP":"بارگیری مجدد برنامه","SETTINGS_SHORTCUT_OPEN_SETTINGS":"باز کردن تنظیمات","SETTINGS_SHORTCUT_SWITCH_TABS":"تغییر زبانه ها","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"جابجایی به جلو بین تب‌ها.","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"جابجایی به عقب بین تب ها","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"حرکت بین منوها","SETTINGS_SHORTCUT_GO_TO_SEARCH":"رفتن به جستجو","SETTINGS_SHORTCUT_EXIT_BACK":"خروج/برگشت","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"تغییر منوی سرعت پخش","SETTINGS_SHORTCUT_MENU_VIDEOS":"تغییر وضعیت منوی فیلم ها","SETTINGS_SHORTCUT_MENU_SUBTITLES":"تغییر وضعیت منوی زیرنویس ها","SETTINGS_SHORTCUT_MENU_AUDIO":"تغییر منو صدا","SETTINGS_SHORTCUT_MENU_INFO":"تغییر وضعیت منوی اطلاعات","SETTINGS_SHORTCUT_FULLSCREEN":"تغییر حالت تمام صفحه","SETTINGS_SHORTCUT_SHOW_CONTROLS":"نمایش کنترل ها","SETTINGS_SHORTCUT_PLAY_PAUSE":"پخش / توقف","SETTINGS_SHORTCUT_VOLUME_UP":"افزایش صدا","SETTINGS_SHORTCUT_VOLUME_DOWN":"کاهش صدا","SETTINGS_SHORTCUT_SEEK_NEXT":"جابجایی به بعدی","SETTINGS_SHORTCUT_SEEK_PREV":"جابجایی به قبلی","SETTINGS_SHORTCUT_SEEK_BACKWARD":"جابجایی به عقب","SETTINGS_SHORTCUT_SEEK_FORWARD":"جابجایی به جلو","SETTINGS_SHORTCUT_PLAY_NEXT":"پخش بعدی","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"افزایش سایز زیرنویس","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"کاهش اندازه زیرنویس","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"افزایش تاخیر زیرنویس","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"کاهش تاخیر زیرنویس","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"کلید نوار کناری","SETTINGS_SHORTCUT_OR":"یا","SETTINGS_SHORTCUT_TO":"به","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"فاصله","SETTINGS_SHORTCUT_SHIFT":"شیفت","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"تأیید اعتبار","SETTINGS_FACEBOOK_IMPORT":"وارد کردن","SETTINGS_CALENDAR_SUBSCRIBE":"اشتراک","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"برنامه تقویم باز شد. لطفاً به صورت دستی در تقویم مشترک شوید.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"فایل تقویم بارگیری شد. لطفاً آن را به برنامه تقویم خود وارد کنید.","SETTINGS_INTERFACE_LANGUAGE":"زبان رابط","SETTINGS_LAUNCH_STARTUP":"راه اندازی در هنگام شروع به کار","SETTINGS_VLC_DEFAULT":"پخش با VLC","SETTINGS_UI_LANGUAGE":"زبان رابط کاربری","SETTINGS_UI_ZOOM":"بزرگنمایی رابط","SETTINGS_FULLSCREEN_EXIT":"خروج از تمام صفحه با کلید Escape","SETTINGS_GAMEPAD":"فعالسازی پشتیبانی از گیم پد","SETTINGS_CLOSE_WINDOW":"وقتی پنجره بسته شد برنامه هم بسته شود","SETTINGS_SUBTITLES_LANGUAGE":"زبان پیش‌فرض زیرنویس","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"زبان زیرنویس ثانویه","SETTINGS_SUBTITLES_SIZE":"اندازه پیش‌فرض زیرنویس","SETTINGS_SUBTITLES_BACKGROUND":"پس زمینه زیرنویس","SETTINGS_SUBTITLES_COLOR":"رنگ زیرنویس","SETTINGS_SUBTITLES_COLOR_OUTLINE":"رنگ حاشيه زیرنویس","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"رنگ پس زمینه زیرنویس","SETTINGS_SEEK_KEY":"زمان جابجایی کلیدهای جهت دار","SETTINGS_SEEK_KEY_SHIFT":"هنگامی که کلید Shift نگه داشته شده است، کلیدهای جهت دار زمان را جابه‌جا می کنند","SETTINGS_REWIND_FAST_FORWARD_DURATION":"مدت زمان عقب و جلو بردن سریع","SETTINGS_BINGE":"پخش خودکار قسمت بعدی","SETTINGS_NEXT_VIDEO":"نمایش اعلان برای شروع قسمت بعدی","SETTINGS_NEXT_VIDEO_TRIGGER":"نمایش اعلان قسمت بعدی برای:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"مدت زمان نمایش پنجره ویدیوی بعدی","SETTINGS_PLAY_IN_BACKGROUND":"پخش در پس زمینه","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"پخش در پخش کننده خارجی","SETTINGS_RESIZE":"تغییر اندازه خودکار پنجره قبل از پخش","SETTINGS_OVERRIDE_SERVER":"نادیده گرفتن URL سرور استریم(پیشرفته)","SETTINGS_SERVER_ADD_URL":"افزودن URL","SETTINGS_SERVER_URL":"URL سرور استریم: ","SETTINGS_SERVER_AVAILABLE":"سرور استریم در دسترس است.","SETTINGS_SERVER_UNAVAILABLE":"سرور استریم در دسترس نیست.","SETTINGS_SERVER_STATUS_ONLINE":"آنلاین","SETTINGS_SERVER_STATUS_ERROR":"خطا","SETTINGS_SERVER_CONFIGURE_TITLE":"پیکربندی آدرس سرور استریم","SETTINGS_SERVER_CONFIGURE_INPUT":"وارد کردن URL سرور استریم","SETTINGS_SERVER_CACHE_SIZE":"اندازه کش","SETTINGS_SERVER_TORRENT_PROFILE":"پروفایل تورنت","SETTINGS_HTTPS_ENDPOINT":"نقطه پایانی استریم HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"پروفایل رمزگذاری","SETTINGS_USE_BETA":"همیشه از آخرین نسخه بتا استفاده کنید","SETTINGS_IMPORT_FB":"وارد کردن از فیس بوک","SETTINGS_IMPORT_DISK":"وارد کردن از دیسک محلی","SETTINGS_IMPORT_TRAKT":"واردا کردن از Trakt","SETTINGS_PAUSE_MINIMIZED":"توقف پخش هنگام کوچک کردن","SETTINGS_HWDEC":"رمزگشایی با شتاب سخت افزاری","SETTINGS_BACKGROUND":"پخش در پس زمینه","SETTINGS_SUBSCRIBE_CALENDAR":"مشترک شدن در تقویم","SETTINGS_REQ_EXPORT":"درخواست صادر کردن داده‌ها","SETTINGS_ACC_DELETE":"درخواست حذف اکانت","SETTINGS_CHANGE_PASSWORD":"تغییر رمز عبور","SETTINGS_TOS":"شرایط استفاده از خدمات","SETTINGS_SUPPORT":"با پشتیبانی تماس بگیرید","SETTING_LANGUAGE":"زبان","SETTINGS_BLUR_UNWATCHED_IMAGE":"تار کردن تصویر قسمت‌های دیده نشده","SETTINGS_QUIT_ON_CLOSE":"خروج پس از بستن","SETTINGS_TRAKT":"ثبت و پیگیری Trakt","SETTINGS_TRAKT_RE_AUTH":"تأیید مجدد","SETTINGS_TRAKT_LOGOUT":"خروج از Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"خروج از Trakt","SETTINGS_SCAN_FOR_REMOTE":"برای باز کردن ریموت، کد QR را اسکن کنید","SETTINGS_DESKTOP_NOTIFICATIONS":"اعلان های دسکتاپ","SETTINGS_DATA_SAVER":"ذخیره کننده داده","SETTINGS_LANGUAGE_INTERFACE":"رابط","SETTINGS_LANGUAGE_SUBS":"زیرنویس پیش فرض","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"انتخاب خودکار آهنگ صوتی","SETTINGS_DEFAULT_AUDIO_TRACK":"صدای پیش فرض صوتی","SETTINGS_SECONDARY_AUDIO_TRACK":"صدای صوتی دوم","SETTINGS_SURROUND_SOUND":"صدای فراگیر","SETTINGS_ACCOUNT":"حساب کاربری","SETTINGS_PLATFORM":"پلت فرم","SETTINGS_VERSION":"نسخه","SETTINGS_ABOUT":"درباره","SETTINGS_MPV_WINDOW":"باز کردن پخش کننده در یک پنجره جداگانه (پیشرفته)","SETTINGS_PLAY_IN_EXTERNAL":"همیشه ویدیو را در پخش کننده خارجی شروع کنید","SETTINGS_STORAGE_BUTTON":"پاکسازی ذخیره سازی محلی","SETTINGS_STORAGE_MODAL_TITLE":"مطمئن هستید؟","SETTINGS_STORAGE_MODAL_MESSAGE":"با این کار فضای ذخیره‌سازی محلی پاک می‌شود و شما از سیستم خارج می‌شوید.","SETTINGS_HWDEC_PICKER":"تنظیم رمزگشایی با شتاب سخت افزاری را انتخاب کنید","SETTINGS_HW_AUTOMATIC":"خودکار","SETTINGS_HW_DISABLED":"غیر فعال","SETTINGS_HW_ACCELERATED":"شتاب دهنده رمزگشایی","SETTINGS_HW_FULL":"شتاب کامل","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"غیر فعال","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"اعلان اتصال به شبکه","SETTINGS_ANALYTICS":"اجازه تجزیه و تحلیل","SETTINGS_REMOTE_URL":"URL از راه دور","SETTINGS_COPY_REMOTE_URL":"کپی کردن URL راه دور","SETTINGS_REMOTE_URL_COPIED":"URL راه دور در کلیپ بورد شما کپی شده است","SETTINGS_SECTION_SUBTITLES":"زیرنویس","SETTINGS_SECTION_AUDIO":"صوت","SETTINGS_SECTION_CONTROLS":"کنترل ها","SETTINGS_SECTION_AUTO_PLAY":"پخش خودکار","SETTINGS_SECTION_ADVANCED":"پیشرفته","SUBSPICKER_AUDIO":"صوت","SUBSPICKER_SUBTITLES":"افزونه های زیرنویس","SUBSPICKER_BLACK_BACKGROUND":"استفاده از رنگ پس‌زمینه سیاه","SUBSPICKER_VERTICAL_OFFSET":"افست عمودی","SUBSPICKER_SIZE":"اندازه","SUBSPICKER_DELAY":"تاخیر","SUBSPICKER_EMBEDDED_SUBS":"زیرنویس های تعبیه شده","MOBILE_PRIVACY_POLICY":"سیاست حفظ حریم خصوصی","MOBILE_CRASH_REPORTING":"گزارش خرابی","MOBILE_ZOOM_TO_FILL":"بزرگنمایی برای پر کردن صفحه","MOBILE_PASSTHROUGH":"خروجی صدای دیجیتال (عبور)","MOBILE_RUN_LOW_BATTERY":"اجرا هنگام پایین بودن باتری","MOBILE_RUN_FOREGROUND":"اجرا به عنوان سرویس پس زمینه","MOBILE_PERFORMANCE":"عملکرد و ثبات","MOBILE_SERVER_ONLINE":"آنلاین","MOBILE_SERVER_OFFLINE":"آفلاین","MOBILE_QR_EXPIRES":"کد QR در منقضی می شود ","MOBILE_LOG_INTO":"وارد حساب Stremio خود شوید ","MOBILE_SCAN_QR":"کد QR بالا را اسکن کنید یا به آن بروید ","MOBILE_LINK_ACCOUNT":"پیوند حساب","MOBILE_SPEEDPICKER_CANCEL":"لغو","MOBILE_SPEEDPICKER_LABEL":"انتخاب سرعت پخش","MOBILE_EMPTY_LIBRARY":"کتابخانه شما خالی است","MOBILE_NO_ADDON_ACTIVE":"هیچ افزونه Stremio برای این نوع فعال نیست.","MOBILE_ORGANIZER_WARNING":"برنامه Stremio Organizer عملکرد محدودی را ارائه می دهد. برای لیستی از جریان های قابل پخش و تجربه کامل Stremio، از Stremio در دسکتاپ استفاده کنید.","MOBILE_ADDON_LOADING":"هنوز در حال بارگذاری است","MOBILE_ADDONS_LOADING":"افزونه ها هنوز در حال بارگیری هستند","MOBILE_ADDON":"افزونه","MOBILE_CONFIGURE_ADDON":"افزونه خود را پیکربندی کنید","MOBILE_CONFIGURE_ADDON_LABEL":"پیکربندی افزونه","MOBILE_ORGANIZER_ADDONS_WARNING":"برنامه Stremio Organizer مجموعه محدودی از افزونه ها را ارائه می دهد. برای تجربه کامل Stremio، از Stremio در دسکتاپ استفاده کنید.","MOBILE_DISCONNECT":"قطع","MOBILE_LOOKING_FOR_DEVICES":"در جستجوی دستگاه‌ها...","MOBILE_CAST_TO":"فرستادن به","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"حذف اکانت","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"حذف حساب به دلیل تعهدات قانونی فوری نیست. پس از درخواست حذف حساب خود، باید از آدرس ایمیل/نمایه فیس بوک متفاوتی برای ایجاد یک حساب کاربری جدید در آینده استفاده کنید.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"حذف اکانت را تایید کنید","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"حساب کاربری شما با استفاده از فیس بوک ایجاد شده است. برای حذف حساب کاربری خود، لطفا از پورتال کاربری ما در www.stremio.com/login استفاده کنید","MOBILE_DELETE_ACCOUNT_MESSAGE":"لطفاً رمز عبور خود را برای تأیید حذف حساب وارد کنید.","MOBILE_DELETE_ACCOUNT_BUTTON":"حذف اکانت","NAVIGATION_ON":"روشن","NAVIGATION_OFF":"خاموش","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"من موافقت می کنم که ارتباطات بازاریابی را از Stremio دریافت کنم","QUIT":"خروج","CONNECTED":"متصل شده","AUTHENTICATE":"تأیید اعتبار","AUTHENTICATING":"Authenticating...","CACHING":"ذخیره سازی","SETTINGS_CACHING_DRIVE":"درایو حافظه پنهان","ENABLE_LOCAL_FILES_ADDON":"افزونه فایل های محلی را فعال کنید (نیاز به راه اندازی مجدد دارد)","LOCAL_ADDON_NOT_ENABLED":"افزونه محلی فعال نیست. اینجا را کلیک کنید تا به تنظیمات بروید و آن را فعال کنید","ENABLE_REMOTE_HTTPS_CONN":"اتصالات HTTPS راه دور را فعال کنید","TORRENT_PROFILE":"نمایه تورنت","DATA_CACHING":"کش داده ها","MAGNET_PARSING":"تجزیه یک پیوند مگنت","January":"ژانویه","February":"فوریه","March":"مارس","April":"آوریل","May":"می","June":"ژوئن","July":"جولای","August":"آگوست","September":"سپتامبر","October":"اکتبر","November":"نوامبر","December":"دسامبر","Monday":"دوشنبه","Tuesday":"سه شنبه","Wednesday":"چهارشنبه","Thursday":"پنج شنبه","Friday":"جمعه","Saturday":"شنبه","Sunday":"یکشنبه","Action":"اکشن","Comedy":"کمدی","War":"جنگ","Family":"خانواده","Animation":"انیمیشن","Adventure":"ماجراجویی","Fantasy":"فانتزی","Crime":"جنایی","Mystery":"رمز و راز","Romance":"عاشقانه","Drama":"درام","Horror":"وحشت","Thriller":"هیجان انگیز","Sci-Fi":"علمی تخیلی","Music":"موسیقی","Biography":"بیوگرافی","Documentary":"مستند","Sport":"ورزش","Musical":"موزیکال","Western":"غربی","Film-Noir":"فیلم نوآر","News":"اخبار","History":"تاریخ","Game-Show":"بازی-نمایش","Reality-TV":"رئالیتی شو","Talk-Show":"تاک شو","Film & Entertainment":"فیلم و سرگرمی","Gaming":"بازی","From TV":"از تلویزیون","Lifestyle":"سبک زندگی","Science & Education":"علم و آموزش","Cooking & Health":"آشپزی و سلامتی","Beauty & Fashion":"زیبایی و مد","Sports":"ورزش","News & Politics":"اخبار و سیاست","How-to & DIY":"چگونه و DIY","Tech":"تکنولوژی","Automotive":"خودرو","Causes & Non-Profits":"علل و سازمان های غیرانتفاعی","Movies":"فیلم ها","Uk Live Tv":"تلویزیون زنده انگلستان","Fashion":"مد","Business News Radio":"رادیو اخبار کسب و کار","Business Tv":"تلویزیون تجاری","Cars & Auto":"ماشین و خودرو","Comedy Radio":"رادیو کمدی","Lifestyle Radio":"رادیو سبک زندگی","News Tv":"اخبار تلویزیون","Food And Wine":"غذا و شراب","Latino Tv":"تلویزیون لاتین","Shopping Tv":"تلویزیون خرید","Religion":"مذهبی","Kids":"کودکان","Body & Soul":"بدن و روح","Education":"آموزش","Indian Tv":"تلویزیون هند","Extreme Sports":"ورزش‌های سخت","Middle Eastern Tv":"تلویزیون خاورمیانه","Celebrity Tv":"تلویزیون سلبریتی","Science Tv":"تلویزیون علمی","Bikini babe":"بیکینی","Outdoors":"در فضای باز","German Tv":"تلویزیون آلمان","French Tv":"تلویزیون فرانسه","Italian Tv":"تلویزیون ایتالیایی","Gamer Tv":"تلویزیون گیمر","Travel":"سفر","Asian Tv":"تلویزیون آسیایی","Entertainment":"سرگرمی","News Radio":"رادیو خبری","Music Radio":"رادیو موسیقی","Language Learning":"یادگیری زبان","Science Radio":"رادیو علم","Tech Radio":"رادیو فناوری","Science & Technology Vod":"علم و فناوری Vod","new video":"ویدیوی جدید","new episode":"قسمت جدید","new movie":"فیلم جدید","recommended":"توصیه شده","we recommend":"توصیه می کنیم","offer of the day":"پیشنهاد روز","news":"اخبار","music video":"موزیک ویدیو","CTX_SHOW_HOTKEYS":"نمایش کلیدهای میانبر","CTX_DISMISS_NOTIF":"رد اعلان‌ها","CTX_DISMISS_ALL":"همه را رد کنید","CTX_SHARE":"اشتراک گذاری","CTX_COPY_SHARE_LINK":"کپی کردن لینک اشتراک گذاری","CTX_COPY_MAGNET_LINK":"کپی کردن لینک مگنت","CTX_COPY_STREAM_LINK":"کپی کردن لینک استریم","CTX_COPY_VIDEO_DOWNLOAD_LINK":"کپی کردن لینک دانلود","CTX_DOWNLOAD_VIDEO":"دانلود این ویدیو","CTX_DOWNLOAD_SUBS":"دانلود زیرنویس","CTX_VIEW_ON_YOUTUBE":"مشاهده در یوتیوب","CTX_SHOW":"نمایش","CTX_PLAY":"پخش","CTX_PLAY_IN":"پخش در","CTX_PLAY_ON":"پخش در","CTX_WATCH_ON":"تماشا در","CTX_WATCH":"تماشا","CTX_WATCHED":"تماشا شده","CTX_WATCH_BEGINNING":"از ابتدا تماشا کنید","CTX_WATCH_MOBILE":"در دستگاه تلفن همراه تماشا کنید","CTX_REWIND":"به ابتدا برگردید","CTX_MARK_WATCHED":"علامت گذاری به عنوان تماشا شده","CTX_MARK_NON_WATCHED":"علامت گذاری به عنوان تماشا نشده","CTX_MARK_UNWATCHED":"علامت گذاری به عنوان تماشا نشده","CTX_MARK_REST":"علامت گذاری همه به عنوان دیده شده","CTX_UNMARK_REST":"علامت گذاری همه به عنوان دیده نشده","CTX_RECEIVE_NEW_NOTIF":"دریافت اعلان های جدید","CTX_ENABLE_NEW_NOTIF":"فعال کردن اعلان ها","CTX_DISABLE_NEW_NOTIF":"غیرفعال کردن اعلان ها","CTX_REMOVE_CACHE":"حذف از حافظه پنهان","CTX_REMOVE_CACHE_EP":"حذف قسمت از حافظه پنهان","CTX_OPEN_CONTAINING":"پوشه محتوا را باز کنید","CTX_REMOVE":"حذف از کتابخانه","CTX_AVAILABLE_OFFLINE":"آفلاین موجود است","CTX_PAUSED":"متوقف شده","CTX_ALWAYS_ON_TOP":"همیشه در بالا","CTX_FULLSCREEN":"تمام صفحه","CTX_WRONG_SUBS":"زیرنویس اشتباهه؟","CTX_REPORT_ISSUES":"گزارش مشکل","CTX_COPY":"کپی","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"چسباندن","CTX_CLEAR":"پاک کردن","CTX_CLEAR_RECENT_SEARCHES":"پاک کردن جستجوهای اخیر","HELLO_THERE":"سلام به همه","HOPE_YOU_ENJOY":"امیدواریم از Stremio لذت ببرید و در حال حاضر یکی از برنامه های مورد علاقه شما باشد!","WHO_ARE_WE":"ما کی هستیم؟ ما تیم پشت آن هستیم - دو نفر که در 3 سال گذشته هر روز سخت کار می کنند تا این محصول را بهتر و بهتر کنند.","SUPPORT_US":"اگر از استفاده از Stremio لذت می برید، اگر Stremio برای شما ارزشمند است - این را پخش کنید!","SPREAD_THE_WORD":"اکنون با دوستان خود به اشتراک بگذارید، در مورد Stremio صحبت کنید","MORE_PEOPLE":"هرچه افراد بیشتری از Stremio استفاده کنند، بهتر خواهد شد!","SEND_A_LINK":"یا یک لینک به وب سایت ما ارسال کنید","TIP_LOCALFILES":"نکته: می‌توانید فایل‌های ویدیویی محلی را به Stremio بکشید و رها کنید","ADDON_MY":"افزونه های من","ADDON_COMMUNITY":"افزونه های انجمن","ADDON_OFFICIAL":"افزونه های رسمی","ADDON_REPOS":"مجموعه های افزونه","ADDON_SEARCH":"جست‌وجو افزونه ها","ADDON_INSTALL":"نصب","ADDON_CONFIGURE":"پیکربندی","ADDON_UNINSTALL":"حذف","ADDON_UPGRADE":"ارتقاء","ADDON_INSTALLED":"نصب شده است","ADDON_INSTALLED_MSG":"افزونه نصب شد!","ADDON_UPGRADED_MSG":"افزونه ارتقا یافت!","ADDON_UNKNOWN":"ناشناخته","ADDON_ERR":"خطای نصب افزونه!","ADDON_DISCONNECTED":"قطع شده است","ADDON_APP_MISSING":"برنامه این منبع نصب نشده است. آیا می خواهید اکنون آن را نصب کنید؟","ADDON_APP_INSTALL":"اکنون نصب کنید","ADDON_PAGE":"صفحه افزونه","ADDON_TOP_CONTENT":"بهترین از این افزونه","ADDON_PROVIDES":"این افزونه به شما می دهد:","ADDON_WATCH":"اکنون #{types} را تماشا کنید!","ADDON_WATCH_FREE":"اکنون #{types} را رایگان تماشا کنید!","ADDON_ADDON":"افزونه","ADDON_SUPPORTED_TYPES":"انواع پشتیبانی شده","ADDON_SUPPORTED_CATALOGS":"کاتالوگ های پشتیبانی شده","ADDON_PROVIDES_DISCOVER":"#{types} بیشتر در Discover","ADDON_PROVIDES_STREAMS":"تماشای #{types}","ADDON_PROVIDES_STREAMS_FREE":"#{types} را به صورت رایگان تماشا کنید","ADDON_PROVIDES_SUBTITLES":"زیرنویس برای #{types}","ADDON_CANTDETECT":"ما نتوانستیم Stremio در حال اجرا را شناسایی کنیم، بنابراین نتوانستیم افزونه هایی را که نصب کرده اید تشخیص دهیم.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"پخش تورنت به دلیل قوانین اپ استور در این دستگاه پشتیبانی نمی شود","ERR_NO_META":"هیچ اطلاعاتی در این مورد یافت نشد ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"در بازیابی اطلاعات این مورد خطا رخ داده است","ERR_CANT_PARSE_MAGNET":"قادر به تجزیه مگنت نیست","ERR_NO_MAGNET_INFOHASH":"هیچ هش اطلاعات معتبری برای مگنت وجود ندارد","ERR_NO_FILE_PATH":"ارسال درخواست بدون مسیر فایل امکان پذیر نیست","ERR_NO_TORRENT":"هیچ تورنتی بازگردانده نشد","ERR_NO_SUPPORTERD_FILES":"هیچ فایل پشتیبانی شده ای یافت نشد","ERR_OPENING_FILES":"فایل های خارجی باز نشد","ERR_INVALID_LINK":"پیوند نامعتبر","ERR_REGISTERED_ONLY":"این گزینه فقط برای کاربران ثبت نام شده در دسترس است.","ERR_CLIPBOARD":"نمی توان از کلیپ بورد پخش کرد","ERR_CLIPBOARD_READ":"در این پلتفرم امکان خواندن کلیپ بورد وجود ندارد.","ERR_CLIPBOARD_GENERIC":"هیچ URL قابل پخش در کلیپ بورد یافت نشد. لطفا یک URL (به عنوان مثال یک پیوند مگنت) را در یک ویدیو کپی کنید.","BOARD_CONTINUE_WATCHING":"به تماشای ادامه دهید","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"فیلم هایی که به طور خاص برای شما انتخاب شده اند.
    این فیلم یک نمونه توصیه است.","BOARD_EXPLANATION_EPISODES":"قسمت‌های جدید سریال‌های مورد علاقه‌تان به اینجا می‌آیند.
    سریالی را که دنبال می‌کنید به کتابخانه خود اضافه کنید.","BOARD_EXPLANATION_VIDEOS":"قسمت‌های جدید کانال‌های مورد علاقه‌تان اینجا می‌آیند.
    کانال‌های YouTube را که دنبال می‌کنید به کتابخانه خود اضافه کنید.","WEBSITE_ENJOYED_BY":"بیش از 30 میلیون کاربر در سراسر جهان از آن لذت می برند","WEBSITE_STREAMING_ENHANCED":"پخش جریانی بهبود یافته","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio یک تجربه سرگرمی ایمن، مدرن و یکپارچه را ارائه می دهد. با رابط کاربری آسان و کتابخانه محتوای متنوع، از جمله پشتیبانی 4K HDR، کاربران می توانند از فیلم ها و برنامه های تلویزیونی مورد علاقه خود در همه دستگاه های خود لذت ببرند. و با تعهد خود به امنیت، Stremio انتخاب نهایی برای یک تجربه پخش بدون نگرانی و با کیفیت بالا است.","WEBSITE_AVAILABLE_ON":"موجود در","WEBSITE_WATCH_AND_ENJOY":"تماشا کنید و لذت ببرید.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio آن را به یک تکه کیک تبدیل می کند","WEBSITE_ALL_FEATURES":"همه ویژگی ها","WEBSITE_EASY_TO_USE":"استفاده آسان","WEBSITE_EASY_TO_USE_DETAILS":"Stremio به گونه ای طراحی شده است که کاربر پسند و آسان برای استفاده باشد. با رابط کاربری تمیز و شهودی آن، می توانید به راحتی پیمایش کنید و محتوایی را که می خواهید تماشا کنید پیدا کنید.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"یکپارچه در سراسر دستگاه ها","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Stremio که برای طیف وسیعی از پلتفرم‌ها (از جمله ویندوز، مک، لینوکس، اندروید و موارد دیگر) موجود است، پیشرفت شما را در همه دستگاه‌های شما پیگیری می‌کند. فقط وارد شوید و بدون نیاز به پیکربندی مجدد برنامه در هر دستگاه جدید، به تماشای آن ادامه دهید.","WEBSITE_ALL_DOWNLOADS":"همه دانلودها","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"پشتیبانی از ویدئو با کیفیت بالا","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"یک پخش کننده ویدئویی یکپارچه که از اکثر فرمت های ویدئویی، از جمله محتوای 4K HDR پشتیبانی می کند، به شما امکان می دهد از بالاترین کیفیت موجود لذت ببرید.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"کتابخانه محتوای متنوع","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio با تعداد زیادی از منابع ویدیویی محبوب مانند Netflix، Amazon Prime Video، Hulu، YouTube و بسیاری دیگر ادغام می شود.","WEBSITE_CREATE_A_FREE_ACCOUNT":"یک حساب کاربری رایگان ایجاد کنید","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"تجربه تماشای متناسب","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio به شما این امکان را می دهد که ظاهر و رابط رابط را با تغییر تم، افزودن یا حذف افزونه ها و موارد دیگر سفارشی کنید.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"پشتیبانی از زیرنویس چند زبانه","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"اکنون می توانید از تمام محتوای مورد علاقه به زبان دلخواه خود لذت ببرید زیرا Stremio از زیرنویس ها به همه زبان ها پشتیبانی می کند.","WEBSITE_ALL_STREMIO_FEATURES":"تمام ویژگی های Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Stremio را امتحان کنید","WEBSITE_TRY_STREMIO_TITLE_P2":"اکنون در تلویزیون شما","WEBSITE_YOU_CAN_NOW_WATCH":"اکنون می توانید تمام برنامه های تلویزیونی مورد علاقه خود را در دستگاه های Android TV خود تماشا کنید. برنامه Stremio TV به شما این امکان را می دهد که از یک شب سینمایی به راحتی لذت ببرید.","WEBSITE_YOU_CAN_NOW_WATCH_2":"اکنون می توانید تمام برنامه های تلویزیونی مورد علاقه خود را در تلویزیون هوشمند یا Android TV خود تماشا کنید. برنامه‌های Stremio TV به شما امکان می‌دهند به راحتی از یک شب فیلم لذت ببرید.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio برای تلویزیون هوشمند","WEBSITE_PLAY_STORE_REVIEW":"احتمالاً بهترین و مفیدترین برنامه ای است که در دستگاه شما وجود دارد. این یکی از برنامه‌هایی است که سال‌هاست به‌طور روزانه مخصوصاً در تلویزیون اندرویدم استفاده می‌کنم. به خوبی با یک جامعه قوی ساخته شده است که عملکردهای مفیدی را ارائه می دهد. آفرین. به کار خود ادامه دهید.","WEBSITE_REVIEWS":"بررسی ها","WEBSITE_GET_STREMIO_FOR_FREE":"Stremio را به صورت رایگان دریافت کنید","WEBSITE_GET_STREMIO_NOW":"اکنون Stremio را دریافت کنید","WEBSITE_STREMIO_FEATURES":"ویژگی های Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"مانند یک حرفه ای با ویژگی های پیشرفته Stremio استریم کنید و از دسترسی یکپارچه به همه رسانه های مورد علاقه خود لذت ببرید","WEBSITE_DISCOVER_MORE":"بیشتر کشف کنید.","WEBSITE_DISCOVER_MORE_DETAILS":"هیچ‌وقت بدون چیزی برای تماشا نمانید","WEBSITE_COMMUNITY_DRIVEN":"جامعه محور","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio دارای یک جامعه بزرگ و فعال از کاربران است که با ایجاد و اشتراک گذاری افزونه ها در توسعه نرم افزار کمک می کنند.","WEBSITE_GET_INVOLVED":"مشارکت کنید","WEBSITE_NEW_THEATER_EXPERIENCE":"تجربه سینما جدید","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"برنامه تلویزیونی اختصاصی جدید Stremio به شما امکان می دهد از یک شب فیلم در دستگاه های Android TV خود لذت ببرید.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"اپلیکیشن‌های تلویزیون جدید اختصاصی Stremio به شما امکان می‌دهند که از شب سینمایی خود در تلویزیون هوشمند یا دستگاه‌های تلویزیون اندرویدتان لذت ببرید.»","WEBSITE_FREE_AND_SECURE":"رایگان و ایمن","WEBSITE_STREAMING":"استریم کردن","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio امنیت و حریم خصوصی بی نظیری را برای کاربران ارائه می دهد. Stremio با ویژگی منحصر به فرد خود در اجرای افزونه ها از راه دور، راه ایمن تری برای پخش محتوای مورد علاقه شما در مقایسه با سایر پلتفرم ها فراهم می کند. امنیت و حریم خصوصی شما اولویت های اصلی است و این پلتفرم تضمین می کند که تمام داده های شما محافظت می شود.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"با نگرانی های مربوط به امنیت و حریم خصوصی خداحافظی کنید و با Stremio به دنیایی از سرگرمی های بی پایان سلام کنید.","WEBSITE_INFORMATION_PROVIDED_BY":"اطلاعات ارائه شده توسط","WEBSITE_CONTRIBUTE_DESC":"به پروژه کمک کنید تا Stremio را حتی بهتر کنیم","WEBSITE_COMMUNITY_DESC":"ما معتقدیم که بهترین راه برای ایجاد یک تجربه پخش واقعا شگفت انگیز، مشارکت دادن جامعه ما در این فرآیند است. چه یک برنامه نویس، یک هنرمند یا فقط یک طرفدار باشید - می توانید به رشد Stremio کمک کنید.","WEBSITE_COMMUNITY_DESC_2":"بنابراین امروز به ما بپیوندید و بخشی از جامعه Stremio شوید و به شکل دادن به آینده استریم ادامه دهید.","WEBSITE_WAYS_TO_GET_INVOLVED":"راه های مشارکت","WEBSITE_IN_THE_STREMIO_COMMUNITY":"در جامعه Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"نظرات خود را به اشتراک بگذارید","WEBSITE_REPORT_BUGS":"گزارش اشکالات","WEBSITE_SUGGEST_FEATURES":"ویژگی‌های پیشنهادی","WEBSITE_AND_PROVIDE_FEEDBACK":"و در کانال های رسانه های اجتماعی ما بازخورد ارائه دهید.","WEBSITE_BETA_TESTING_PROGRAM":"برنامه تست بتا","WEBSITE_BETA_TESTING_PROGRAM_DESC":"در برنامه آزمایش بتا ما (به طور منظم دعوت نامه ارسال می کنیم) در انجمن Stremio شرکت کنید.","WEBSITE_JOIN_NOW":"اکنون بپیوندید!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"جوامع رسمی Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"جوامع غیر رسمی Stremio","WEBSITE_BECOME":"تبدیل شدن","WEBSITE_A_VOLUNTEER_TRANSLATOR":"یک مترجم داوطلب","WEBSITE_ARE_YOU_A_DEVELOPER":"آیا شما یک توسعه دهنده هستید؟","WEBSITE_CONTRIBUTE_CODE":"شما می توانید به پروژه های متن باز ما کد دهید. ما چندین پروژه در GitHub داریم که به دنبال مشارکت کننده هستند. اگر علاقه مند به کمک هستید، آنها را بررسی کنید:","WEBSITE_STREMIO_ON_GITHUB":"Stremio در GitHub","WEBSITE_CREATE_ADDON_DESC":"یک افزونه برای بهبود عملکرد Stremio ایجاد کنید (ما یک API با استفاده آسان داریم):","WEBSITE_STREMIO_ADDON_SDK":"Stremio افزونه SDK","WEBSITE_INTERN_DEVELOPER":"ما همچنین این فرصت را فراهم می کنیم که به عنوان یک توسعه دهنده کارآموز به ما بپیوندید تا بتوانیم با هم رشد کنیم.","WEBSITE_APPLY_AS_AN_INTERN":"به عنوان کارآموز اقدام کنید","WEBSITE_CALLING_ALL_ARTISTS":"فراخوان همه هنرمندان!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"خلاقیت و عشق خود را به Stremio با آپلود فن آرت خود در گالری آنلاین ما به نمایش بگذارید. چه طراحی، نقاشی یا طراحی دیجیتال، ما می خواهیم برداشت منحصر به فرد شما از برند Stremio را ببینیم. به جامعه علاقه مندان به هنر ما بپیوندید و کارهای خود را با طرفداران Stremio در سراسر جهان به اشتراک بگذارید.","WEBSITE_STREMIO_FANART_GALLERY":"گالری Stremio Fanart","WEBSITE_INTERN_DESIGNER":"عضو تیم ما شوید و با فرصت‌های هیجان‌انگیز کارآموزی ما خلاقیت خود را به اوج برسانید.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"پروژه فیلم های دامنه عمومی","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"در Stremio، ما متعهد به حفظ تاریخ فیلم و تلویزیون با شناسایی فیلم های مالکیت عمومی و یتیم هستیم. با همکاری با جامعه خود، می توانیم اطمینان حاصل کنیم که این آثار هنری کلاسیک برای همه قابل دسترسی هستند و برای لذت بردن نسل های آینده محافظت می شوند.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"اگر می خواهید در آن پروژه شرکت کنید، با ما تماس بگیرید.","WEBSITE_JOIN_THE_PROJECT":"به پروژه بپیوندید","WEBSITE_BE_PART_OF_OUR_MISSION":"بخشی از ماموریت ما باشید","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"علاقه مند به پیوستن به تیم Stremio هستید؟ ما کار از راه دور را برای متخصصان پرشور ارائه می دهیم. موقعیت های باز ما را بررسی کنید.","WEBSITE_OPEN_POSITIONS":"موقعیت های باز","WEBSITE_DESCRIPTION":"توضیحات","WEBSITE_LEARN_MORE":"بیشتر بدانید","WEBSITE_COMPANY":"شرکت","WEBSITE_CONTACTS":"مخاطبین","WEBSITE_NEED_HELP":"به کمک نیاز دارید؟","WEBSITE_STREMIO_WEB_ON_IOS":"راهنمای Stremio Web در iOS","WEBSITE_LINK_ART_V2":"گالری فن آرت","WEBSITE_PARTNERS":"شریکان","WEBSITE_SLOGAN_WATCH":"تماشای فوری","WEBSITE_SLOGAN_ALL":"تمام محتوای ویدیویی که از آن لذت می برید در یک مکان","WEBSITE_SLOGAN_NEW":"همه شما می توانید تماشا کنید","WEBSITE_SLOGAN_NEW_NEW":"آزادی در استریم","WEBSITE_WATCH_FROM":"تماشا از","WEBSITE_DOWNLOAD":"اکنون دانلود کنید","WEBSITE_DOWNLOAD_FOR":"دانلود کن برای","WEBSITE_IS_DESKTOP":"Stremio یک برنامه دسکتاپ است، این صفحه را در رایانه شخصی خود باز کنید و آن را دانلود کنید","WEBSITE_DESKTOP_DEMO_VID":"دمو دسکتاپ","WEBSITE_PAGE_HOME":"صفحه اصلی","WEBSITE_PAGE_FEATURES":"ویژگی ها","WEBSITE_PAGE_ADDONS":"افزونه ها","WEBSITE_PAGE_TECH":"تکنولوژی","WEBSITE_PAGE_CREATE_ADDON":"ایجاد افزونه","WEBSITE_PAGE_CONTACTS":"مخاطبین","WEBSITE_PAGE_BLOG":"وبلاگ","WEBSITE_RESET_PASSWORD_MESSAGE":"لطفا رمز عبور جدید مورد نظر خود را در زیر وارد کنید.","WEBSITE_RESET_PASSWORD_WARNING":"آیا مطمئن هستید که می خواهید رمز عبور ${1} را بازنشانی کنید؟","WEBSITE_TYPE_movie":"فیلم ها","WEBSITE_TYPE_series_PL":"سریال‌ها","WEBSITE_TYPE_tv":"تلویزیون زنده","WEBSITE_TYPE_channel":"کانال ها","WEBSITE_STREMIO_WHAT_IS":"Stremio برنامه ای است که به شما کمک می کند ویدیوها، فیلم ها، سریال های تلویزیونی و کانال های تلویزیونی مورد علاقه خود را سازماندهی و فورا تماشا کنید.","WEBSITE_FEATURES_WATCH":"فورا با کیفیت HD تماشا کنید","WEBSITE_FEATURES_WATCH_DETAIL":"روی فیلم ها، نمایش های تلویزیونی، ویدیوها و کانال های تلویزیونی مورد علاقه خود کلیک کنید و پخش کنید.","WEBSITE_FEATURES_SUBS":"زیرنویس خودکار","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio به طور خودکار زیرنویس های همگام سازی شده را برای زبان شما انتخاب می کند.","WEBSITE_FEATURES_SUBS_LABEL":"حرکت شما است، رئیس.","WEBSITE_FEATURES_CAST":"پخش در تلویزیون و دستگاه های تلفن همراه","WEBSITE_FEATURES_CAST_DETAIL":"به AppleTV، Chromecast، تلویزیون هوشمند (DLNA/UPnP) و دستگاه‌های تلفن همراه ارسال کنید.","WEBSITE_LIB":"از همگام سازی کتابخانه شخصی خود در همه دستگاه های خود لذت ببرید","WEBSITE_LIB_COLLECT":"جمع آوری از Stremio","WEBSITE_LIB_IMPORT":"وارد کردن از فیس بوک","WEBSITE_LIB_LOCAL":"افزودن از درایو محلی خود","WEBSITE_BOARD":"بورد - مکانی برای اعلان‌ها و توصیه‌های شما","WEBSITE_BOARD_RECOMMEND":"برنامه تلویزیونی توصیه شده","WEBSITE_BOARD_TRENDING":"فیلم پرطرفدار","WEBSITE_BOARD_NEW":"ویدیو جدید","WEBSITE_BOARD_EPISODE":"قسمت جدید","WEBSITE_BOARD_1":"به دنبال چیز جالبی برای تماشا هستید؟ بر اساس سلیقه خود توصیه هایی دریافت کنید!","WEBSITE_BOARD_2":"وقتی قسمت جدیدی از برنامه تلویزیونی یا کانال YouTube مورد علاقه شما منتشر شد، مطلع شوید!","WEBSITE_BOARD_YOUTUBE":"ویدیوهای جدید کانال های یوتیوب","WEBSITE_BOARD_EPISODES":"قسمت های جدید سریالی که دنبال می کنید","WEBSITE_ADDONS":"افزونه های محتوا","WEBSITE_TECH_DETAIL":"ما عاشق فناوری هستیم، ما عاشق و دیوانه علم هستیم!\\nStremio از فناوری های منبع باز زیر استفاده می کند:","WEBSITE_TECH_WCJS":"WebChimera.js به Stremio اجازه می دهد تا هر فرمت ویدیویی را با عملکرد خوب پخش کند.","WEBSITE_TECH_WCJS_EXTRA":"ما مشارکت کنندگان اصلی پروژه هستیم","WEBSITE_TECH_ELECTRON":"Electron یک پلت فرم نوآورانه برای ساخت Stremio فراهم می کند.","WEBSITE_TECH_ELECTRON_EXTRA":"ما مشارکت کنندگان پروژه هستیم","WEBSITE_TECH_LINVODB":"یک فناوری پایگاه داده که تضمین می کند داده های شما در هر کجا که وارد می شوید سازماندهی شده و در دسترس باشند.","WEBSITE_TECH_LINVODB_EXTRA":"فناوری داخلی","WEBSITE_CREATE_ADDON":"افزونه خود را ایجاد کنید","WEBSITE_CREATE_ADDON_DETAIL":"آیا سرویسی دارید که محتوای ویدیویی ارائه می دهد؟ ما به شما کمک می کنیم تا با ایجاد افزونه خود از ویژگی های Stremio بهره مند شوید.","WEBSITE_CREATE_ADDON_BENEFITS":"مزایای ایجاد افزونه برای Stremio","WEBSITE_P2P_BEAUTY":"زیبایی پخش همتا به همتا","WEBSITE_P2P_1":"ویدیوی فول اچ دی / 4K قابل اعتماد و مقرون به صرفه در صورت تقاضا یا پخش زنده","WEBSITE_P2P_2":"پلت فرم توزیع، تجربه کاربری عالی را ارائه می دهد","WEBSITE_P2P_3":"ما یک افزونه ایجاد خواهیم کرد که دقیقاً نیازهای شما را برآورده کند","WEBSITE_P2P_CONTACT":"علاقه مندید؟ شما می توانید با ما تماس بگیرید.","WEBSITE_P2P_CONTACT_EXTRA":"ما خوشحال خواهیم شد که به شما کمک کنیم تا محتوای خود را با Stremio یکپارچه کنید!","WEBSITE_P2P":"هر چند وقت یکبار، فناوری می آید که نام بازی را تغییر می دهد. ما زمان و تلاش زیادی را برای ساخت موتور پخش ویدیوی همتا به همتا (P2P) خود سرمایه گذاری کردیم که عملکرد و تطبیق پذیری عالی را برای انطباق با هر مورد استفاده ارائه می دهد.\\nبرای ویدیوی P2P با قابلیت DRM یا پخش زنده با ما تماس بگیرید.","WEBSITE_THOUGHTS":"افکاری که ما به اشتراک می گذاریم:","WEBSITE_SPREAD":"در مورد Stremio صحبت کنید:","WEBSITE_CONTACT":"با ما تماس بگیرید، خوشحال خواهیم شد که از شما بشنویم!","WEBSITE_OPENSOURCE":"برای پروژه های متن باز ما، بروید به","WEBSITE_BITCOIN":"اهدای بیت کوین:","WEBSITE_FAQ":"سوالات متداول","WEBSITE_FAQ_SHORT":"سوالات متداول","WEBSITE_QUESTIONS":"سوالات","WEBSITE_TOS":"شرایط استفاده","WEBSITE_LEGAL":"قانونی","WEBSITE_PAGE_ABOUT":"درباره","WEBSITE_PAGE_BECOME_PARTNER":"شریک شوید","WEBSITE_ALL_YOU_CAN_WATCH":"آزادی در تماشا\\nهر چیزی که می خواهید.","WEBSITE_FREEDOM_TO_STREAM":"آزادی در استریم","WEBSITE_WHAT_IS_STREMIO":"Stremio چیست؟","WEBSITE_WHAT_IS_STREMIO_P1":"با استفاده از Stremio می توانید یک مرکز یک مرحله ای برای جمع آوری محتوای ویدیویی داشته باشید. محتوا را از انواع منابع کشف کرده، سازماندهی کنید و ویدیوها را بر روی هر دستگاهی که دارید تماشا کنید.","WEBSITE_WHAT_IS_STREMIO_P2":"فیلم‌ها، نمایش‌های تلویزیونی، سریال‌ها، تلویزیون زنده یا کانال‌های وب مانند YouTube و Twitch.tv - همه اینها را می‌توانید در Stremio بیابید.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio یک مرکز رسانه ای مدرن است که یک راه حل یک مرحله ای برای سرگرمی ویدیویی شما است. شما محتوای ویدیویی را از افزونه های آسان برای نصب، کشف، تماشا و سازماندهی می کنید.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"فیلم ها، برنامه های تلویزیونی، تلویزیون زنده یا کانال های وب - همه اینها را در Stremio پیدا کنید.","WEBSITE_ENJOI_ON_ALL_DEVICES":"در همه دستگاه های رسانه ای خود لذت ببرید","WEBSITE_DEVICES_COLLECT":"جمع آوری از Stremio","WEBSITE_DEVICES_IMPORT_FB":"وارد کردن از فیس بوک","WEBSITE_DEVICES_LOCAL":"افزودن از درایو محلی","WEBSITE_JOIN_THE_PARTY_NOW":"همین حالا به مهمانی بپیوندید","WEBSITE_DEVICES_ALL":"استفاده آسان در همه دستگاه های شما؛","WEBSITE_EXTENDABLE_CATALOG":"کاتالوگ ویدئویی با قابلیت گسترش بی نهایت.","WEBSITE_ORGANIZE_YOUR_MEDIA":"ویژگی های عالی برای سازماندهی رسانه های شما؛","WEBSITE_AS_SEEN_ON":"همانطور ببسنید که در","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"درباره ما","WEBSITE_LINK_TECHNOLOGY":"تکنولوژی","WEBSITE_LINK_APPS":"برنامه ها","WEBSITE_LINK_DOWNLOADS":"دانلودها","WEBSITE_MORE":"بیشتر","WEBSITE_LINK_ADDONS":"افزونه ها","WEBSITE_LINK_ADDON_SDK":"افزونه SDK","WEBSITE_LINK_CONTRIBUTE":"مشارکت","WEBSITE_LINK_COMMUNITY":"جامعه","WEBSITE_LINK_BLOG":"وبلاگ","WEBSITE_MORE_MORE":"... و بیشتر","WEBSITE_LINK_HELP":"مرکز راهنمایی","WEBSITE_LINK_CONTACTS":"سوالات تجاری","WEBSITE_LINK_TOS":"شرایط و ضوابط","WEBSITE_LINK_PRAVACY":"سیاست حفظ حریم خصوصی","WEBSITE_SUBSCRIBE":"اشتراک","WEBSITE_NEWSLETTER":"برای چیزهای شگفت انگیز به خبرنامه ما بپیوندید","WEBSITE_PLACEHOLDER_EMAIL":"ایمیل شما","WEBSITE_COMMUNITY":"جامعه","WEBSITE_LINK_PRAVACY_LEGAL":"حریم خصوصی و قانونی","WEBSITE_WHY":"چرا این کار را می کنیم","WEBSITE_WHY_P1":"در Stremio ، هر روز به محل کار می آییم زیرا می خواهیم یک مشکل مهم برای صنعت ویدیوی درخواستی را حل کنیم. آنقدر محتوای جدید هر دقیقه منتشر می شود که تقریباً غیرممکن است راه خود را در آن پیدا کنید.","WEBSITE_WHY_P2":"ما به مردم کمک می کنیم تا در دنیای عظیم سرگرمی های ویدیویی حرکت کنند و محتوای جدیدی را برای لذت بردن کشف کنند. برنامه های ما فیلم ها، سریال ها، تلویزیون زنده، کانال های وب و موارد دیگر را گرد هم می آورند. ما متعهد هستیم که یافتن عناوین و پخش کننده های مورد علاقه کاربران را برای کاربران بسیار آسان کنیم.","WEBSITE_WHY_P3":"شما می توانید از خدمات ما در هر دستگاهی و در هر زمان استفاده کنید و Stremio را به تنها مرکز سرگرمی ویدیویی تبدیل کنید که تا به حال به دنبال آن بوده‌اید.","WEBSITE_TEAM":"تیم","WEBSITE_TEAM_P":"تیم Stremio کوچک اما قدرتمند است: بین ده نفر، ما به زبان X کدنویسی می کنیم و تخصص خود را در توسعه نرم افزار، طراحی UI و UX، بازاریابی و تبلیغات، و تجارت و استارت آپ ها به اشتراک می گذاریم.","WEBSITE_FEATURES":"ویژگی ها","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"محتوای جدید را به راحتی کشف کنید","WEBSITE_FEATURES_DISCOVER_P":"به راحتی فیلم ها، برنامه های تلویزیونی، سریال ها و کانال های جدید را برای تماشا کشف کنید. بر اساس دسته بندی، ژانر، رتبه بندی، تازگی و غیره مرور کنید یا به سادگی نامی را برای یافتن تایپ کنید. Stremio یافتن محتوای ویدیویی جدید را مثل آب خوردن راحت کرده.","WEBSITE_FEATURES_ALL_CONTENT":"تمام محتوای ویدیوی شما در یک صفحه نمایش","WEBSITE_FEATURES_ALL_CONTENT_P1":"ببینید چه فیلم ها، سریال ها یا ویدیوهایی را تمام نکرده اید و به تماشای آنها ادامه دهید. برای قسمت ها و نسخه های جدید مطلع شوید. و توصیه هایی را که بر اساس عادات مشاهده خود دریافت خواهید کرد، مرور کنید.","WEBSITE_FEATURES_LIBRARY":"کتابخانه ویدیویی خود را سازماندهی کنید","WEBSITE_FEATURES_LIBRARY_P1":"با یک کلیک هر عنوانی را به کتابخانه Stremio خود اضافه کنید و با مرتب کردن محتوای خود بر اساس نوع، تازگی یا ترتیب الفبایی، راه خود را در میان آنها پیدا کنید.","WEBSITE_FEATURES_CALENDAR":"همه چیزهایی را که تماشا می کنید پیگیری کنید","WEBSITE_FEATURES_CALENDAR_P1":"یک نمای تقویم از تمام فیلم‌ها و سریال‌هایی که به کتابخانه خود اضافه می‌کنید دریافت کنید. تقویم Stremio خود را صادر کرده و آن را همگام‌سازی کنید تا همیشه بدانید چه زمانی یک قسمت جدید یا یک اکران جدید در راه است.","WEBSITE_FEATURES_BIG_SCREEN":"از محتوای ویدیویی خود در صفحه نمایش بزرگتر لذت ببرید","WEBSITE_FEATURES_BIG_SCREEN_P1":"هر آنچه را که تماشا می کنید با یک کلیک به دستگاه دیگری ارسال کنید - خواه تلفن، تبلت یا تلویزیون باشد.","WEBSITE_FEATURES_SOURCES":"ویدیو را از منابع مختلف تماشا کنید","WEBSITE_FEATURES_SOURCES_P":"تجربه لذت بردن از ویدیوهای تهیه شده از ارائه دهندگان مختلف را با نصب افزونه های رسمی و جامعه، تقویت کنید - همه چیز در یک برنامه شیک و آسان برای استفاده.","WEBSITE_CREATE_AN_ADDON":"یک افزونه ایجاد کنید","WEBSITE_FEATURES_SYNC":"کتابخانه خود را در دستگاه های مختلف همگام سازی کنید و پخش خود را از سر بگیرید","WEBSITE_FEATURES_SYNC_P1":"با حساب خود در همه دستگاه های خود وارد شوید و از کتابخانه، افزونه ها، پخش و تقویم همگام سازی شده خود لذت ببرید.","WEBSITE_FEATURES_EXTENDABLE":"کاتالوگ ویدیویی قابل افزایش توسط افزونه ها","WEBSITE_FEATURES_EXTENDABLE_P1":"کاتالوگ افزونه Stremio تعدادی افزونه برای نصب و تماشای انواع محتوای ویدیویی ارائه می دهد. که شامل فیلم ها، سریال ها، تلویزیون زنده، ورزش، اخبار، پادکست ها، کانال های وب، بازی های ویدیویی و موارد دیگر می شود.","WEBSITE_FEATURES_AUTO_SUBS":"زیرنویس خودکار","WEBSITE_FEATURES_AUTO_SUBS_P1":"با نصب افزونه های زیرنویس ما، گزینه های انتخابی خود را به صورت خودکار برای زبان دلخواهتان دریافت نمایید.","WEBSITE_FEATURES_CHROMECAST":"ارسال به Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"از محتوای ویدیویی خود در صفحه نمایش بزرگتر لذت ببرید یا فقط هر آنچه را که تماشا می کنید به دستگاه دیگری ارسال کنید.","WEBSITE_FEATURES_KEEP_TRACK":"برنامه های تلویزیونی و کانال های وب مورد علاقه خود را پیگیری کنید","WEBSITE_FEATURES_KEEP_TRACK_P1":"تصویر کلی تقویم و اعلان‌ها را برای قسمت‌های جدید سریال‌ها و کانال‌های وب محبوب خود دریافت نمایید.","WEBSITE_FEATURES_POWER_USER":"ویژگی‌های قدرتمند کاربر","WEBSITE_FEATURES_POWER_USER_P1":"پخش در پخش کننده خارجی","WEBSITE_FEATURES_POWER_USER_P2":"پخش از یک فایل تورنت یا لینک مگنت","WEBSITE_FEATURES_POWER_USER_P3":"از لایک های فیس بوک یا دیسک محلی به کتابخانه خود وارد کنید","WEBSITE_ADD_ONS":"افزونه ها","WEBSITE_ADD_ONS_P1":"تمام محتوای ویدیویی که Stremio ارائه می‌کند از طریق یک سیستم افزونه تهیه می‌شود - هیچ محتوا یا ارائه‌دهنده محتوایی در برنامه ساخته نشده است.","WEBSITE_ADD_ONS_P2":"دو گروه افزونه در دسترس است: افزونه های رسمی و جامعه.","WEBSITE_ADD_ONS_P3":"موارد رسمی توسط Stremio توسعه و میزبانی می شوند، در حالی که افزونه های انجمن توسط اعضای جامعه ما ایجاد می شوند که میزبان آنها نیز هستند.","WEBSITE_ADDONS_OFFICIAL":"افزونه های رسمی","WEBSITE_ADDONS_WATCHUB":"فیلم‌ها، سریال‌ها و نمایش‌های مورد علاقه خود را از ارائه‌دهندگانی مانند iTunes، Hulu، Amazon و سایر سرویس‌های بریتانیا/ایالات متحده پخش کنید.","WEBSITE_ADDONS_YOUTUBE":"بدون نمایش تبلیغات، ویدیوهای محبوب خود را در کانال‌های YouTube تماشا کنید و از آپلود محتوای جدید توسط کسانی که دنبالشان هستید، آگاه شوید.","WEBSITE_ADDONS_FILMON":"تلویزیون زنده، فیلم و تلویزیون اجتماعی را به صورت رایگان تماشا کنید. 600 کانال تلویزیونی، 45000 فیلم رایگان، مستند و موارد دیگر.","WEBSITE_ADDONS_OPENSUBTITLES":"زیرنویس فیلم و سریال به چندین زبان، هزاران زیرنویس ترجمه شده هر روز آپلود می شود.","WEBSITE_ADDONS_COMMUNITY":"افزونه های انجمن","WEBSITE_ADDONS_FILMON_VOD":"ویدیوی درخواستی را از Filmon.tv تماشا کنید","WEBSITE_ADDONS_TWICH":"پخش‌های زنده را از Twitch.tv تماشا کنید - یک پلتفرم پخش ویدیو برای صنعت ورزش‌های الکترونیکی.","WEBSITE_ADDONS_VODO":"فیلم های مستقل را کاملا رایگان تماشا کنید.","WEBSITE_ADDONS_NETFLIX":"فیلم ها و سریال های نتفلیکس را تماشا کنید.","WEBSITE_ADDONS_CREATE":"یک افزونه ایجاد کنید","WEBSITE_ADDONS_CREATE_P1":"در صورت تمایل، می توانید افزونه خود را توسعه دهید. با این روش، می توانید به خود و جامعه ما دسترسی به محتوای ویدیویی جدید را بدهید و به مخاطبان جدید و هدفمند میلیون نفری در سراسر جهان دسترسی پیدا کنید.","WEBSITE_ADDONS_START_CREATE":"برای شروع، از صفحه Stremio Addon SDK دیدن کنید:","WEBSITE_DOWNLOADS":"دانلودها","WEBSITE_DOWNLOADS_P1":"برای عملکرد بهینه، توصیه می کنیم از آخرین نسخه موجود برنامه های Stremio استفاده کنید. اما اگر به دلایلی مایل به استفاده از نسخه قدیمی هستید، می توانید آن را از اینجا دانلود کنید.","WEBSITE_DOWNLOADS_P1_SHORT":"برای عملکرد بهینه، توصیه می کنیم از آخرین نسخه موجود برنامه های Stremio استفاده کنید.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio برای ویندوز","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio برای macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio برای لینوکس","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio برای اندروید","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio برای Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio برای موبایل اندروید","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio برای Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio برای iOS (نسخه محدود)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio برای تلویزیون سامسونگ","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio برای تلویزیون ال جی","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio برای تلویزیون سونی (اندروید)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio برای Philips TV (اندروید)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio برای تلویزیون فیلیپس","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio برای تلویزیون هایسنس","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio برای Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio برای متا کوئست","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio برای ویژن پرو","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio برای Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio برای Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"راه اندازی Stremio در برنامه بوت","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio برای مرورگر","WEBSITE_DOWNLOADS_STREMIO_OS":"سیستم عامل Stremio","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Stremio را در اپ استور مدل‌های تلویزیون سامسونگ 2019+ جستجو کنید","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Stremio را در اپ استور مدل‌های تلویزیون ال‌جی 2020+ جستجو کنید","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Stremio را در برنامه Play Store در Sony TV دارای Android جستجو کنید","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Stremio را در برنامه Play Store در Philips TV دارای Android جستجو کنید","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Stremio را در فروشگاه برنامه در تلویزیون فیلیپس با TitanOS (نسخه محدود) جستجو کنید","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Stremio را در App Store دستگاه Xbox خود جستجو کنید","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"راهنمای سیستم عامل Stremio در RPI","WEBSITE_LINK_GUIDE":"راهنما","WEBSITE_DOWNLOAD_SERVICE":"سرویس Stremio را دانلود کنید","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service یک برنامه همراه برای Stremio Web است. توصیه می کنیم از آخرین نسخه موجود سرویس Stremio استفاده کنید.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"سرویس Stremio برای ویندوز","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"سرویس Stremio برای macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"سرویس Stremio برای لینوکس","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"سرویس Stremio برای Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio برای Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"گزینه های دانلود بیشتر","WEBSITE_DOWNLOAD_NEW":"جدید!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"ما Stremio Web را منتشر کردیم","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Stremio را برای تلویزیون سامسونگ منتشر کردیم","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Stremio را برای تلویزیون ال جی منتشر کردیم","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Stremio را برای Xbox منتشر کردیم","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"ما Stremio را برای Raspberry Pi منتشر کردیم","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"ما Stremio 5 را برای ویندوز منتشر کردیم","WEBSITE_CONTRIBUTE":"مشارکت","WEBSITE_CONTRIBUTE_P1":"پلتفرم Stremio منبع باز است و می توانید به راحتی یک افزونه برای محتوایی که در حال حاضر منبع ندارد ایجاد کنید.","WEBSITE_CONTRIBUTE_WHY":"چرا باید یک افزونه ایجاد کنید؟","WEBSITE_CONTRIBUTE_WHY_P1":"برای محتوای ویدیوی خود به مخاطبان جدیدی دست پیدا کنید","WEBSITE_CONTRIBUTE_WHY_P2":"پایگاه کاربران Stremio به سرعت در حال رشد است - در سال اول راه اندازی، Stremio 1 میلیون کاربر در سراسر جهان به دست آورد و در سال دوم وجود این پلتفرم این تعداد به 2.5 میلیون نفر افزایش یافت.","WEBSITE_CONTRIBUTE_WHY_P3":"با افزونه خود می توانید به راحتی به این مخاطبان دسترسی پیدا کنید و محتوای ویدیوی خود را بین آنها توزیع کنید.","WEBSITE_CONTRIBUTE_ALL":"فیلم ها، ویدیوها، سریال ها و کانال های مورد علاقه خود را در یک مکان مشاهده کنید.","WEBSITE_CONTRIBUTE_ALL_P1":"شما طرفدار نوع خاصی از محتوا هستید که هنوز در Stremio در دسترس نیست؟ یک افزونه برای آن ایجاد کنید و از تماشای ویدیوهای مورد علاقه خود در یکی از بزرگترین و ساده ترین مراکز سرگرمی موجود در بازار لذت ببرید.","WEBSITE_CONTRIBUTE_ALL_P2":"علاوه بر این، سپاس بی پایان سایر اعضای جامعه Stremio را نیز دریافت خواهید کرد.","WEBSITE_CONTRIBUTE_MONETIZE":"از افزونه خود کسب درآمد کنید و با کمک آن درآمد کسب کنید","WEBSITE_CONTRIBUTE_MONETIZE_P1":"هنگامی که یک افزونه جدید برای Stremio ایجاد می کنید، می توانید به راحتی از راه های مختلف از آن درآمد کسب کنید. اگر به این موضوع فکر می کنید، با ما در تماس باشید ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - ما خوشحال می شویم که در مورد گزینه های کسب درآمد از افزونه ها به شما مشاوره دهیم.","WEBSITE_CONTRIBUTE_TRANSLATE":"مترجم داوطلب شوید","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"اگر می‌خواهید از برنامه‌های Stremio به زبان‌های مختلف لذت ببرید، می‌توانید به انجمن مترجمان داوطلب ما بپیوندید. آنها به ما کمک می کنند تا نسخه های Stremio را به زبان های مختلف اضافه کنیم.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"آیا مشتاق شروع کار هستید؟","WEBSITE_TRANSALTE_STREMIO":"Stremio را ترجمه کنید","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"جوامع رسمی","WEBSITE_COMMUNITY_OFFICIALS_P1":"بخشی از جامعه رو به رشد Stremio شوید. ما را در شبکه های اجتماعی دنبال کنید و از سلام کردن خجالت نکشید - ما دوست داریم از طرفداران خود بشنویم! ","WEBSITE_COMMUNITY_UNOFFICIALS":"جوامع غیر رسمی","STREMIO_COMMUNITY_NL":"Stremio هلند","STREMIO_COMMUNITY_BRASIL":"Stremio برزیل","STREMIO_COMMUNITY_GERMANY":"Stremio آلمان","STREMIO_COMMUNITY_BELGIUM":"Stremio بلژیک","STREMIO_COMMUNITY_FRANCE":"Stremio فرانسه","STREMIO_COMMUNITY_PORTUGAL":"Stremio پرتغال","STREMIO_COMMUNITY_ITALY":"Stremio ایتالیا","STREMIO_COMMUNITY_UK":"Stremio انگلستان","STREMIO_COMMUNITY_USA":"Stremio ایالات متحده","STREMIO_COMMUNITY_MEXICO":"Stremio مکزیک","STREMIO_COMMUNITY_ADDONS":"افزونه های Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Stremio عالی","WEBSITE_COMMUNITY_PARTNERS":"شرکا و حامیان","WEBSITE_COMMUNITY_GOODIES":"محصولات Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"تصاویر پس زمینه","WEBSITE_COMMUNITY_ART":"نمایشگاه هنری جامعه","WEBSITE_LINK_ART":"نمایشگاه هنری جامعه","WEBSITE_CONTACT_US":"تماس با ما","WEBSITE_CONTACT_US_P1":"در صورت داشتن هرگونه سوال، نظر یا پیشنهاد می توانید از طریق فرم تماس زیر با ما در تماس باشید.","WEBSITE_CONTACT_US_P2":"به خاطر داشته باشید که ما در بلغارستان واقع شده‌ایم، بنابراین ممکن است به دلیل اختلاف منطقه زمانی، رسیدگی به درخواست شما با تأخیر مواجه شود.","WEBSITE_CONTACT_US_SUCCESS":"پیام شما ارسال شد. در اولین فرصت با شما تماس خواهیم گرفت.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"لطفا یک ایمیل معتبر وارد کنید!","WEBSITE_CONTACT_US_Q_RELATED_TO":"سوال شما به چی مربوط میشه؟","WEBSITE_CONTACT_US_Q_OS":"سیستم عامل شما چیست؟","WEBSITE_CONTACT_US_PH_EMAIL":"ایمیل شما","WEBSITE_CONTACT_US_PH_MESSAGE":"پیام","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ارسال","WEBSITE_CONTACT_US_Q_1":"چگونه نصب کنیم؟","WEBSITE_CONTACT_US_Q_2":"چگونه حذف نصب کنیم؟","WEBSITE_CONTACT_US_Q_3":"(HTML) چگونه لازانیا درست کنیم؟","WEBSITE_CONTACT_US_Q_4":"افزونه ها","WEBSITE_CONTACT_US_OS_1":"ویندوز","WEBSITE_CONTACT_US_OS_2":"Macos","WEBSITE_CONTACT_US_OS_3":"لینوکس","WEBSITE_CONTACT_US_OS_4":"اندروید","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"تکنولوژی","WEBSITE_TECHNOLOGY_P1":"ما عاشق فناوری و علم و دیوانه آنها هستیم. و این
    چیزی است که Stremio را تقویت می کند (همه چیز منبع باز است).","WEBSITE_TECHNOLOGY_P_QT":"توسعه نرم افزار چند پلتفرمی در بهترین حالت.","WEBSITE_TECHNOLOGY_P_MPV":"یک پخش کننده رسانه ای رایگان، متن باز و چند پلتفرمی.","WEBSITE_TECHNOLOGY_P_RN":"React Native به شما امکان می دهد برنامه های تلفن همراه را فقط با استفاده از جاوا اسکریپت بسازید.","WEBSITE_TECHNOLOGY_P_VLC":"چارچوب رسانه ای که در برنامه وجود دارد برای دریافت محتوای چند رسانه ای طراحی شده است.","WEBSITE_TECHNOLOGY_P_REALM":"Realm یک پلتفرم موبایل و جایگزینی برای SQLite & Core Data است.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js یک محیط اجرای متن باز برای جاوا اسکریپت است که روی چندین پلتفرم قابل استفاده است.","WEBSITE_TECHNOLOGY_P_RUST":"Rust یک زبان برنامه‌نویسی چندپارادایم بر سیستم است که برای ایمنی، به ویژه بر روی همزمانی ایمن تمرکز دارد.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"به پروژه کمک کنید","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"دو راه برای مشارکت در استریمو و کمک به بهبود محصول وجود دارد.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"شما می توانید مهارت های زبانی ارزشمند خود را با ترجمه پلتفرم اهدا کنید...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"یا","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... می توانید از مهارت های کدنویسی خود برای ایجاد افزونه های انجمن استفاده کنید. ","WEBSITE_TRANSLATE_STREMIO":"ترجمه Stremio","WEBSITE_404_OH_NO":"اوه اوه! صفحه مورد نظر شما اینجا نیست...","WEBSITE_GO_HOME":"رفتن به خانه","WEBSITE_LINK_OTHER_DOWNLOADS":"دانلودهای دیگر","WEBSITE_FAQ_ABR":"سوالات متداول","WEBSITE_SUPPORT":"پشتیبانی","WEBSITE_DOWNLOAD_4_0_BETA":"اکنون Stremio 4 بتا را دانلود کنید","WEBSITE_GET_FOR_DESKTOP":"دریافت برای دسکتاپ","WEBSITE_LINK_ADDON_COMPETITION":"مسابقه افزونه","WEBSITE_LINK_ART_CONTEST":"مسابقه هنری","WEBSITE_MY_ACCOUNT":"حساب کاربری من","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremio چیست؟","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio یک مرکز رسانه مدرن است که به شما آزادی تماشای هر آنچه را که می خواهید می دهد.","WEBSITE_MAINPAGE_FAQ_002_H1":"چگونه کار می کند؟","WEBSITE_MAINPAGE_FAQ_002_P1":"هنگامی که Stremio را بر روی دستگاه خود نصب کردید و یک حساب کاربری ایجاد کردید، تنها کاری که باید انجام دهید این است که به کاتالوگ افزونه ها مراجعه کنید و هر افزونه ای را که می خواهید نصب کنید، و شما آماده هستید!","WEBSITE_MAINPAGE_FAQ_002_P2":"پس از آن، می توانید به بخش Discover یا Board بروید تا کاوش محتوا را شروع کنید.","WEBSITE_MAINPAGE_FAQ_003_H1":"چه چیزی را می توانم اینجا تماشا کنم؟","WEBSITE_MAINPAGE_FAQ_003_P1":"بسیاری از موارد: فیلم ها، برنامه های تلویزیونی، کانال های وب، ورزش، کانال های تلویزیونی، گوش دادن به پادکست و موارد دیگر. به لطف سیستم افزونه ما، می توانید به محتوای متنوعی دسترسی داشته باشید.","WEBSITE_MAINPAGE_FAQ_004_H1":"آیا Stremio منبع باز است؟","WEBSITE_MAINPAGE_FAQ_004_P1":"بله، می‌توانید پیوندهای زیر را بررسی کنید: ${1}desktop app${2} و ${3}GitHub organisation${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"آیا Stremio ایمن است؟","WEBSITE_MAINPAGE_FAQ_005_P1":"بله: به دلیل اینکه این نرم افزار منبع باز است، کد قابل بازرسی عمومی است و می توانید خودتان آن را بررسی کنید.","WEBSITE_MAINPAGE_FAQ_005_P2":"سیستم افزودنی Stremio نیز با در نظر گرفتن امنیت کاربر ایجاد شده است. افزونه ها هیچ کدی را به صورت محلی اجرا نمی کنند، بنابراین هیچ خطری برای دستگاه شما ایجاد نمی کنند.","WEBSITE_MAINPAGE_FAQ_006_H1":"در مورد حریم خصوصی من چطور؟","WEBSITE_MAINPAGE_FAQ_006_P1":"ما به حریم خصوصی کاربران احترام می گذاریم و به جز حداقل های ضروری برای ایجاد و همگام سازی حساب شما، هیچ داده شخصی جمع آوری نمی کنیم.","WEBSITE_MAINPAGE_FAQ_006_P2":"همچنین یک ${1}حالت مهمان${2} در هنگام ثبت نام وجود دارد که به هیچ داده ای نیاز ندارد: در این حالت، هیچ تماسی با بخش پشتیبان ما برقرار نمی شود. با این حال، این به قیمت از دست دادن ویژگی‌های مفید، مانند همگام‌سازی کتابخانه‌تان در بین دستگاه‌ها، تمام می‌شود.","WEBSITE_MAINPAGE_FAQ_007_H1":"آیا می توانم به تلویزیون خود ارسال کنم؟","WEBSITE_MAINPAGE_FAQ_007_P1":"بله، ما از Chromecast پشتیبانی می کنیم و می توانید هم از برنامه های دسکتاپ و هم از برنامه های تلفن همراه (اندروید) ارسال کنید.","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio چند افزونه دارد؟","WEBSITE_MAINPAGE_FAQ_008_P1":"از اواخر سال 2019، بیش از 50 - برای اطلاعات بیشتر، کاتالوگ افزونه ما را بررسی کنید.","WEBSITE_MAINPAGE_FAQ_009_H1":"آیا می توان Stremio را فراتر از آنچه در کاتالوگ افزونه است گسترش داد؟","WEBSITE_MAINPAGE_FAQ_009_P1":"بله، باید این موارد را بررسی کنید: ${1}PimpMyStremio${2}، ${3}Reddit communities${4}، ${5}Stremio Downloader${6}، و غیره.","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio از چه دستگاه هایی پشتیبانی می کند؟","WEBSITE_MAINPAGE_FAQ_010_P1":"ما برنامه های دسکتاپ برای ویندوز، مک و لینوکس داریم. برای تلفن همراه، ما از Android و iOS پشتیبانی می کنیم، اگرچه به خاطر داشته باشید که iOS از نظر عملکرد محدود است (از اکثر افزونه ها پشتیبانی نمی کند).","WEBSITE_MAINPAGE_FAQ_010_P2":"بسیاری از دستگاه های مبتنی بر اندروید وجود دارند که می توانید Stremio را روی آنها اجرا کنید، مانند NVIDIA Shield و Amazon Fire Stick، اما ما به طور رسمی از آنها پشتیبانی نمی کنیم.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"ما برنامه های دسکتاپ برای ویندوز، مک و لینوکس داریم. ما همچنین برنامه های اختصاصی برای Android Mobile و Android TV داریم. برای iOS و iPadOS ما استفاده از Stremio Web را پیشنهاد می کنیم، اگرچه از نظر عملکرد محدودتر است.","WEBSITE_MAINPAGE_FAQ_011_H1":"آیا می توانید محتوای خاصی را به Stremio اضافه کنید؟","WEBSITE_MAINPAGE_FAQ_011_P1":"متأسفیم، ما خودمان هیچ محتوایی ارائه نمی دهیم، اما هرچه افزونه های Stremio بیشتری نصب کرده باشید، محتوای بیشتری را می توانید پیدا کنید.","WEBSITE_MAINPAGE_FAQ_012_H1":"آیا Stremio می تواند لینک های مگنت را پخش کند؟","WEBSITE_MAINPAGE_FAQ_012_P1":"بله، و همچنین می تواند لینک های HTTP معمولی و فایل های تورنت (کشیدن و رها کردن) را پخش کند.","WEBSITE_MAINPAGE_FAQ_013_H1":"آیا می توانم یک ویدیو دانلود کنم و به صورت آفلاین تماشا کنم؟","WEBSITE_MAINPAGE_FAQ_013_P1":"داشتن قابلیت دیدن ویدیوها بدون نیاز به اینترنت یک ویژگی آینده محسوب می‌شود، اما اگر اجازه دهید Stremio اطلاعات آفلاین را در حافظه داخلی دستگاه شما ذخیره کند، بعدا می‌توانید ویدیوها را بدون نیاز به اتصال اینترنتی تماشا کنید.","WEBSITE_MAINPAGE_FAQ_014_H1":"هیچی کار نمیکنه کمکم کن!","WEBSITE_MAINPAGE_FAQ_014_P1":"آیا مطمئن هستید که افزونه ها را نصب کرده اید؟ اگر بله، با ${1}مرکز راهنمایی${2} ما بررسی کنید.","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio چگونه عملیات توسعه خود را حفظ می کند؟","WEBSITE_MAINPAGE_FAQ_015_P1":"ما گهگاه تبلیغات غیرمزاحم را اجرا می کنیم، اما در نظر داریم به سراغ یک مدل اهدا برویم.","WEBSITE_MAINPAGE_FAQ_015_P2":"برای سؤالات بیشتر، به ${1}مرکز راهنمایی${2} ما بروید.","HELP_LEARN_MORE":"به ما کمک کنید در مورد شما بیشتر بدانیم.","LIFESTYLE":"سبک زندگی","SPORTS":"ورزش","FOOD_HEALTH":"غذا و سلامت","BEAUTY_FASHION":"زیبایی و مد","NEWS":"اخبار","GAMING":"بازی","SCIENCE_EDUCATION":"علم و آموزش","MUSIC":"موسیقی","TRAVEL":"سفر","LATE_NIGHT":"اواخر شب","REALITY":"واقعیت","COMEDY":"کمدی","DIY":"چگونه DIY انجام دهیم","TECH":"فنی","CINEMA":"سینما","CONTINUE":"ادامه","SLOW_LOADING":"بارگذاری آهسته؟","I_GIVE_UP":"من تسلیم می شوم","LEARN_MORE":"بیشتر بدانید","POOR_SOURCE":"این منبع ضعیف است یا اتصال اینترنت شما به اندازه کافی سریع نیست","PICK_CATEGORIES_ERR":"شما باید حداقل 3 دسته را انتخاب کنید","ADJUST_TIMING":"تنظیم زمان با ","ADJUST_SIZE":"تنظیم اندازه با ","SEARCH_ANYTHING":"شما می توانید هر چیزی را جستجو کنید ...","ALL_CATEGORIES":"همه","SEARCH_CATEGORIES":"فیلم، سریال، یوتیوب و تلویزیون","SEARCH_PERSONS":"بازیگران، کارگردانان و نویسندگان","SEARCH_PROTOCOLS":"پیوندهای HTTP و مگنت","SEARCH_TYPES":"پیوندهای IMDB / TVDB","WATCHED":"تماشا شده","SHOW_LESS":"نمایش موارد کمتر","LAST_SEARCHES":"آخرین جستجوها","CLEAR_HISTORY":"پاک کردن تاریخچه","CHOOSE_SOME":"برخی از این موارد را انتخاب کنید:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"کنترل از راه دور وب بارگیری نشد","STREMIO_OFFLINE":"Stremio آفلاین است","STREMIO_EXPENSIVE_CONNECTION":"ما متوجه شده ایم که از اتصال داده تلفن همراه استفاده می کنید، آیا می خواهید ادامه دهید؟","USE_DATA":"استفاده از داده ها","WARNING":"هشدار","MORE_INFO":"اطلاعات بیشتر...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"در حال بارگذاری...","STREMIO_TV_BACK_TO_LANGUAGES":"بازگشت به زبان ها","STREMIO_TV_REMOTE":"از راه دور","STREMIO_TV_GO_TO":"رفتن به:","STREMIO_TV_OR_SCAN":"یا اسکن کنید:","STREMIO_TV_ADDON_INSTRUCTIONS":"لطفاً دستورالعمل ها را دنبال کنید تا افزونه های دلخواه خود را نصب کنید.","STREMIO_TV_LIVE_TV":"تلویزیون زنده","STREMIO_TV_RESUME_WATCHING":"از سرگیری تماشا","STREMIO_TV_LOADING_BACKGROUND":"در حال بارگذاری پس زمینه","STREMIO_TV_CHECKING_AUTHENTICATION":"بررسی احراز هویت","STREMIO_TV_LOADING_BOARD":"بارگیری تابلو","STREMIO_TV_LOGIN_HEADER_LINE_1":"ما می خواهیم کاربرانمان بهترین تجربه شخصی سازی شده ممکن را با نرم افزار ما داشته باشند.","STREMIO_TV_LOGIN_HEADER_LINE_2":"به همین دلیل است که از شما می خواهیم حساب کاربری خود را ایجاد و/یا وارد شوید.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"ممنون از درک شما،","STREMIO_TV_LOGIN_FOOTER_LINE_2":"تیم Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"به منظور استفاده از کنترل وب با تلفن هوشمند / تبلت / دسکتاپ:","STREMIO_TV_WIFI_SETUP":"راه اندازی Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle اتصال اینترنت را شناسایی نکرد.","STREMIO_TV_WIFI_DETAILS_1":"اتصال به:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"استفاده از رمز عبور:","STREMIO_TV_WIFI_DETAILS_4":"StremioCircle","STREMIO_TV_WIFI_DETAILS_5":"یک مرورگر وب را با پیوند باز کنید:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"پیش فرض","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"توسط آخرین تماشا","STREMIO_TV_LIBRARY_SORT_NAME":"توسط نام","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"توسط نام نزولی","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"توسط تعداد مشاهده‌ها","STREMIO_TV_LIBRARY_SORT_WATCHED":"توسط تماشا شده","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"توسط تماشا نشده","STREMIO_TV_DETAILS_SEASON_NUMBER":"فصل ${1}","STREMIO_TV_STREAMS_LOADING":"افزونه‌های ${1} / ${2} بارگیری شد...","STREMIO_TV_STREAMS_STILL_LOADING":"افزونه ${1} هنوز در حال بارگیری است...","STREMIO_TV_PLAYER_SETTINGS":"تنظیمات پخش کننده","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"تاخیر زیرنویس","STREMIO_TV_PLAYER_AUDIO_DELAY":"تاخیر صوتی","STREMIO_TV_PLAYER_VIDEO_SCALING":"مقیاس بندی ویدیو","STREMIO_TV_PLAYER_CHAPTERS":"بخش ها","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"رد شدن ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"منبع استریم پشتیبانی نشده است","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"پیوند خارجی باز نشد","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"در حالت عبور صوتی قابل تنظیم نیست","STREMIO_TV_PLAYER_PLAY_IN_EXO":"پخش با ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"پخش با libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"تغییر به پخش کننده libVLC به دلیل خطای پخش","STREMIO_TV_ADDONS_TITLE":"برای نصب یا پیکربندی افزونه ها از Stremio بر روی تلفن همراه یا رایانه شخصی خود استفاده کنید و گزینه \\"همگام‌سازی افزونه ها\\" را انتخاب کنید","STREMIO_TV_ADDONS_SUBTITLE":"توجه: مطمئن شوید که از همان حساب Stremio استفاده می کنید","STREMIO_TV_ADDONS_SYNC_ADDONS":"همگام سازی افزونه ها","STREMIO_TV_ADDONS_SYNC_SUCCESS":"افزونه ها با موفقیت همگام‌سازی شدند","STREMIO_TV_ADDONS_SYNC_FAILED":"همگام سازی افزونه ها انجام نشد","STREMIO_TV_META_LINK_FAILED":"پیوند متا باز نشد","STREMIO_TV_CATALOG_LOADING":"کاتالوگ هنوز در حال بارگیری است...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"زبان رابط کاربری به روز شد","STREMIO_TV_SETTINGS_THEME_UPDATED":"تم به روز شد","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"پخش کننده پیش فرض","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"پخش کننده خارجی","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"زبان برگزیده","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"زبان ترجیحی ثانویه","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"پخش تونلی","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"مشکلات احتمالی پخش در برخی دستگاه ها","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"برخی از فرمت های ویدیویی ممکن است کار نکنند","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"تطبیق نرخ فریم","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"غیر فعال","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"فقط نرخ فریم","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"نرخ فریم و وضوح تصویر","STREMIO_TV_SETTINGS_NO_CACHING":"بدون حافظه پنهان","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"پیش فرض","STREMIO_TV_SETTINGS_PROFILE_SOFT":"نرم","STREMIO_TV_SETTINGS_PROFILE_FAST":"سریع","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"فوق العاده سریع","STREMIO_TV_SETTINGS_SERVER_URL":"آدرس سرور استریم","STREMIO_TV_SETTINGS_SERVER_VERSION":"نسخه سرور","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"ناشناخته","STREMIO_TV_SETTINGS_STREMIO_VERSION":"نسخه Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"ویرایش آدرس سرور","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"آدرس سرور استریم را وارد کنید","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"نمایش آمار هنگام بارگذاری","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"برای خواندن خط مشی رازداری Stremio، به این آدرس مراجعه کنید:","STREMIO_TV_SETTINGS_TOS_TEXT":"برای مطالعه شرایط و ضوابط Stremio، به آدرس زیر مراجعه کنید:","STREMIO_TV_NAV_SEARCH":"جستجو","STREMIO_TV_NAV_HOME":"صفحه اصلی","STREMIO_TV_NAV_DISCOVER":"کشف کردن","STREMIO_TV_NAV_LIBRARY":"کتابخانه","STREMIO_TV_NAV_MOVIES":"فیلم ها","STREMIO_TV_NAV_SERIES":"سریال‌ها","STREMIO_TV_NAV_CHANNELS":"کانال ها","STREMIO_TV_NAV_TV":"تلویزیون زنده","STREMIO_TV_NAV_SETTINGS":"تنظیمات","STREMIO_TV_NAV_ADDONS":"افزونه ها","STREMIO_TV_LOGIN_TITLE":"پیوند حساب","STREMIO_TV_LOGIN_EXPIRES_IN":"منقضی می شود در","STREMIO_TV_LOGIN_STEP_ONE":"کد QR بالا را اسکن کنید یا به آن بروید","STREMIO_TV_LOGIN_STEP_TWO":"وارد حساب کاربری Stremio خود شوید","STREMIO_TV_LOGIN_NEW_LINK":"درخواست لینک جدید","STREMIO_TV_LOGIN_LINK_REFRESHED":"کد ورود سیستم به‌روز شد","STREMIO_TV_SEARCH_PLACEHOLDER":"چیزی تایپ کنید","STREMIO_TV_SEARCH_NO_ADDONS":"هیچ افزونه ای برای کاتالوگ ها درخواست نشد!","STREMIO_TV_SEARCH_BUTTON":"جستجو","STREMIO_TV_SEARCH_KEY_DEL":"حذف","STREMIO_TV_SEARCH_KEY_SPACE":"فاصله","STREMIO_TV_SEARCH_KEY_CLEAR":"پاک کردن","STREMIO_TV_SEARCH_HISTORY_TITLE":"تاریخچه جستجو","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"می توانید عناوین، بازیگران، کانال ها و موارد دیگر را جستجو کنید...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"پاک کردن تاریخچه جستجو","STREMIO_TV_FILTERS_DESCRIPTION":"یکی از فیلترهای زیر را انتخاب کنید","STREMIO_TV_STREAMING_SERVER_OFFLINE":"سرور استریم آفلاین است. تنظیمات سرور را بررسی کنید.","FILTERS":"فیلترها","SETTINGS":"تنظیمات","ACCOUNT":"حساب","LOGOUT":"خروج از سیستم","THEMES":"تم","PLAYBACK":"پخش","PLAYBACK_SPEED":"سرعت پخش","AUDIO_TRACKS":"فایل‌های صوتی","UNKNOWN_TRACK_LANG":"ناشناخته","VIDEOS":"ویدیوها","SERVER":"سرور","LINKS":"پیوندها","ABOUT":"درباره","INTERFACE":"رابط","ANIMATIONS":"انیمیشن ها","STATUS":"وضعیت","LANGUAGE":"زبان","SIZE":"اندازه","DELAY":"تاخیر","BOLD":"پررنگ","OPACITY":"تیرگی","TEXT_COLOR":"رنگ متن","OUTLINE_COLOR":"رنگ بیرونی","BACKGROUND_COLOR":"رنگ پس‌زمینه","BACKGROUND_BLUR":"تاری پس زمینه","SEEK_TIME_DURATION":"به دنبال مدت زمان","AUTO_PLAY":"پخش خودکار قسمت بعدی","PLAY_NOW":"الان پخش کن","MARK_AS_WATCHED":"علامت گذاری به عنوان تماشا شده","MARK_AS_UNWATCHED":"علامت گذاری به عنوان دیده نشده","REWIND_TO_BEGINNING":"شروع از اول","CONTINUE_WATCHING":"به تماشا ادامه دهید","ALL":"همه","SECONDS":"ثانیه","ON":"روشن","OFF":"خاموش","RELOAD":"بارگذاری مجدد","EDIT_URL":"ویرایش URL","URL":"URL","NONE":"هیچ کدام","EMBEDDED":"تعبیه شده","LOCAL":"محلی","REMOTE_SWITCH_DEVICES":"تعویض دستگاه ها","REMOTE_VIDEOS":"ویدیوها","REMOTE_ADJUST_TIMING":"تنظیم زمان‌بندی","REMOTE_ADJUST_SIZE":"تنظیم اندازه","REMOTE_COULD_NOT_BE_LOADED":"کنترل از راه دور وب بارگیری نشد","REMOTE_RETRY":"امتحان دوباره","TORRENT_PROFILE_DEFAULT":"پیش فرض","TORRENT_PROFILE_SOFT":"نرم","TORRENT_PROFILE_FAST":"سریع","TORRENT_PROFILE_ULTRA_FAST":"فوق العاده سریع","MB_S":"MB/s","FAQ_001_H1":"Stremio چیست؟","FAQ_001_P1":"Stremio یک برنامه مرکز رسانه است که برای لذت بردن از موارد ویدیویی با تمرکز بر راحتی استفاده طراحی شده است. این اپلیکیشن به شما امکان می دهد که مجموعه فیلم ها، سریال ها، کانال ها و تلوزیون زنده خود را سازماندهی و تماشا کنید.","FAQ_001_P2":"Stremio اطلاعاتی را که ارائه می دهد از حافظه داخلی شما و افزونه های ما جمع آوری می کند.","FAQ_001_P3":"همچنین شما را در جریان انتشار قسمت‌ها/ویدیو‌ها/فیلم‌های جدیدی که به آن‌ها علاقه دارید قرار می‌دهد و پیشنهادهایی برای دیدن فیلم مطرح می‌کند.","FAQ_02_H1":"Stremio چگونه با Kodi و Plex مقایسه می شود؟","FAQ_02_P1":"ما از این دو نرم افزار الهام گرفته ایم. اما ما اهداف متفاوتی داریم - Stremio به طور خاص به سمت ویدیوهای سرگرمی هدف گذاری شده است و تلاش می کند تا با استفاده بسیار آسان به راه حل اصلی برای آن تبدیل شود.","FAQ_02_P2":"Stremio هرگز به اندازه Kodi و Plex قابل تنظیم و ویژگی های غنی نخواهد بود، اما استفاده از آن به طور قابل توجهی آسان تر است. فقط ${1} آن را دریافت کنید و ${2} را ببینید :)","FAQ_03_H1":"Stremio چگونه با Netflix مقایسه می شود؟","FAQ_03_P1":"باز هم، نتفلیکس یکی از الهام‌بخش‌های ما است. ما در تلاش برای دستیابی به تجربه کاربری نتفلیکس، به علاوه بسیاری از موارد مفید هستیم. اما مهمتر از همه، ما به شما این آزادی را می دهیم که کتابخانه خود را مدیریت کنید و منابع محتوای جدید را با سیستم افزونه خود اضافه کنید.","FAQ_03_P2":"این باعث می‌شود Stremio بی‌نهایت قابل تمدید باشد، بنابراین وقتی از Stremio استفاده می‌کنید، هرگز محدود به محتوایی نیستید که Netflix تصمیم به صدور مجوز می‌گیرد. برای مثال، از طریق Stremio می‌توانید محتوایی را از ${1} Filmon.tv ${2}، ${3} Twitch.tv${4}، ${5}YouTube${6}، ${7}Vodo$ تماشا کنید. {8} و حتی خود ${9}Netflix${10}!","FAQ_04_H1":"Stremio چگونه با Flipboard مقایسه می شود؟","FAQ_04_P1":"ما اغلب این پرسش را جواب نمی‌دهیم، مگر زمانی که با افراد تازه کار صحبت می‌کنیم :)","FAQ_04_P2":"استریمو به طور ذاتی یک گردآورنده محتوا است که اساساً آن را به یک فلیپ‌برد برای ویدیو تبدیل می‌کند. این موضوع به ویژه در بخش «تابلو» (Board) ما بسیار مشهود است که کاتالوگ‌ها و اعلان‌های قسمت‌های جدید/ویدیوهای جدیدی را که دنبال می‌کنید، درست مانند فلیپ‌برد، به شما ارائه می‌دهد.","FAQ_05_H1":"Stremio چگونه با Popcorn Time مقایسه می شود؟","FAQ_05_P1":"Stremio و Popcorn Time در رابط کاربری مشابه هستند، زیرا راه های زیادی برای انجام درست کاتالوگ های سرگرمی ویدیویی وجود ندارد :)","FAQ_05_P2":"اما در حالی که Popcorn Time بر روی استریم کردن تورنت از منابع خاص متمرکز است، Stremio نامحدود است و صرفاً یک جمع‌آورنده محتوا است - در منبع محتوای خاصی قفل نشده است.","FAQ_05_P3":"علاوه بر این، ما هیچ افزونه تورنتی را به‌طور پیش‌فرض ارائه نمی‌کنیم، بنابراین Stremio موارد استفاده Popcorn Time را با عملکرد رسمی پوشش نمی‌دهد.","FAQ_05_P4":"تفاوت قابل توجه دیگر این است که Popcorn Time کاملاً منبع باز است، در حالی که Stremio ${1} تا حدی منبع باز ${2} است.","FAQ_06_H1":"آیا این فیلم/سریال را اضافه می کنید؟","FAQ_06_P1":"نه ببخشید :(","FAQ_06_P2":"همانطور که در بسیاری از سوالات دیگر ذکر شد، Stremio هیچ محتوایی را به خودی خود ارائه نمی دهد - همه چیز از طریق سیستم افزونه ها اضافه می شود. اگر درخواست محتوا دارید، می‌توانید از دکمه «گزارش» در Player استفاده کنید، که یک ایمیل برای نویسنده افزونه‌ای که در حال حاضر استفاده می‌کنید ارسال می‌کند.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"آیا افزونه ای برای X ایجاد می کنید؟","FAQ_08_P1":"کاملا امکان پذیر است.","FAQ_08_P2":"اگر ایده ای برای افزونه دارید، به آدرس ${1}office@stremio.com${2} برای ما بفرستید، اما لطفاً مطمئن شوید که ایده افزونه شما هیچ گونه حق نسخه برداری یا شرایط استفاده را نقض نمی کند.","FAQ_08_P3":"در حال حاضر، چیزهای بعدی در نقشه راه ما افزونه‌هایی برای FandangoNOW، ویدیوی درخواستی Filmon.tv و Crunchyroll هستند.","FAQ_09_H1":"آیا Stremio از بیت تورنت استفاده می کند؟","FAQ_09_P1":"بله، Stremio از بیت تورنت به عنوان یک پروتکل استریم پشتیبانی می کند. می‌توانید از آن با افزونه تورنت یا با کشیدن و رها کردن یک فایل تورنت. در Stremio یا با چسباندن یک لینک مگنت در نوار جستجو استفاده کنید.","FAQ_09_P2":"لطفاً توجه داشته باشید که تنها افزونه رسمی که از BitTorrent استفاده می‌کند، ${1}Vodo${2} است که محتوای مستقلی را ارائه می‌کند که همگی مجاز به توزیع با BitTorrent هستند.","FAQ_09_P3":"ما از استفاده از افزونه های شخص ثالث که ممکن است نقض حق نسخه برداری را فعال کند، پشتیبانی نمی کنیم.","FAQ_10_H1":"چه چیزی را می توانم در Stremio با افزونه های رسمی تماشا کنم؟","FAQ_10_P1":"به طور پیش فرض، می توانید محتوای Filmon.tv، YouTube و Vodo را در خود Stremio با پخش کننده تعبیه شده تماشا کنید. علاوه بر این، ما یک افزونه برای Twitch.tv و چند مورد دیگر داریم.","FAQ_10_P2":"این ترکیب مجموعه ای از موارد زیر را ارائه می دهد:","FAQ_10_L1":"کانال های تلویزیونی محبوب ارائه شده توسط Filmon.tv - به عنوان مثال E4، BBC، Bollyworld TV","FAQ_10_L2":"همه چیز از YouTube - برای مثال BBC News، Top Gear، Vevo، PewDiePie","FAQ_10_L3":"فیلم های مستقل با Vodo","FAQ_10_L4":"پخش بازی های آنلاین با Twitch.tv","FAQ_10_P3":"علاوه بر این، منابع محتوای زیادی با Guidebox و افزونه‌های Netflix ارائه شده‌اند که نمی‌شوند کاملاً در Stremio پخش شوند، اما به سرویس داده‌شده هدایت می‌شوند. به عنوان مثال، افزونه Guidebox مجموعه‌ای از فیلم‌هایی را که می‌توانید به صورت رایگان در ایالات متحده پخش کنید، از سرویس‌هایی مانند TubiTV و Crackle در اختیار شما قرار می‌دهد.","FAQ_11_H1":"Stremio نصب نمیشه، چیکار کنم؟","FAQ_11_P1":"اگر از ویندوز استفاده می کنید، ${1}این نصب کننده جایگزین${2} را امتحان کنید.","FAQ_11_P2":"اگر از Mac OS X استفاده می‌کنید، لطفاً توجه داشته باشید که ما هیچ چیز قدیمی‌تر از OS X Mavericks (10.9) را پشتیبانی نمی‌کنیم.","FAQ_11_P3":"اگر از لینوکس استفاده می کنید، توجه داشته باشید که ما در حال حاضر فقط از لینوکس 64 بیتی (x64) پشتیبانی می کنیم.","FAQ_11_P4":"اگر هنوز نمی توانید مشکل خود را حل کنید، لطفاً در ${1}گروه Facebook${2} ما برای ما بنویسید.","FAQ_12_H1":"چرا آنتی ویروس مرا اخطار می دهد؟ آیا Stremio امن است؟","FAQ_12_P1":"ما به شما اطمینان می دهیم که Stremio ${1}100% تمیز ${2} است.","FAQ_12_P2":"آنتی ویروس شما اخطار می‌دهد زیرا ما تبلیغاتی را در نصب کننده خود اضافه می کنیم که برخی از برنامه های ضد ویروس آن را به عنوان ad-ware می شناسند.","FAQ_12_P3":"اگر هنوز مطمئن نیستید، می‌توانید ${1}نصب‌کننده جایگزین${2} ما را امتحان کنید.","FAQ_13_H1":"چگونه می توانم یک افزونه بسازم؟","FAQ_13_P1":"برای شروع، توصیه می‌کنیم ${1}addons system module${2} ما را در GitHub بررسی کنید.","FAQ_13_P2":"پس از آن، می‌توانید ${1}آموزش Hello World${2} را دنبال کنید.","FAQ_13_P3":"اگر هیچ مهارت برنامه نویسی ندارید، لطفاً ایده خود را در ${1}انجمن Reddit${2} ارسال کنید و با ایده افزونه خود در ${3}office@stremio.com${4} با ما تماس بگیرید.","FAQ_14_H1":"افزونه ها چگونه منتشر می شوند؟","FAQ_14_P1":"هنگامی که یک افزونه و میزبان ایجاد می‌کنید و یک فیلد نقطه پایانی در مانیفست خود قرار می‌دهید که به آدرس افزونه فعال اشاره می‌کند، افزونه به‌طور خودکار خود را در ${1}کاتالوگ Addon${2} ما منتشر می‌کند.","FAQ_14_P2":"این اتفاق می افتد زیرا بخش سرور ماژول stremio-addons به طور خودکار با API ما تماس می گیرد تا افزونه را اعلام کند. هنگامی که API ما نقطه پایان شما را به عنوان یک افزونه معتبر تأیید می‌کند، در کاتالوگ نشان داده می‌شود.","FAQ_15_H1":"آیا می توانم Stremio را در مرورگر خود اجرا کنم؟","FAQ_15_P1":"در حال حاضر نه، اما این در حال آمدن است!","FAQ_15_P2":"اگر شما کنجکاو هستید تا یک آلفا را ببینید، می توانید آن را در اینجا ببینید: ${1}alpha4.strem.io${2}. به خاطر داشته باشید که استریمینگ در این آلفا غیر فعال است. ما Chrome ،Firefox ،Opera و Edge را پشتیبانی می کنیم.","FAQ_16_H1":"ارسال به تلویزیون کار نمی کند / زیرنویس ها کار نمی کنند","FAQ_16_P1":"Casting to TV از فناوری DLNA استفاده می کند که بین برندها و مدل های مختلف تلویزیون بسیار متناقض است. به همین دلیل، ما توانایی آزمایش آن را در هر موردی نداریم، بنابراین با کامل بودن فاصله زیادی دارد. با وجود این، ما در حال کار بر روی بهبود مداوم آن هستیم، اما نمی توانیم تخمین زمانی را در مورد زمان شروع کار صحیح DLNA با تلویزیون شما به شما ارائه دهیم.","FAQ_16_P2":"اگر حتی تلویزیون خود را در منوی ارسال نمی‌بینید، لطفاً اتصال شبکه خود را غیرفعال کرده و مجدداً فعال کنید (در ویندوز، روی Network کلیک راست کرده و از Enable/Disable استفاده کنید)، و همچنین روتر، تلویزیون و رایانه شخصی خود را مجدداً راه‌اندازی کنید.","FAQ_16_P3":"اگر همچنان با مشکل مواجه هستید، می‌توانید با ارسال اطلاعات برند و مدل تلویزیون خود به آدرس ${1}office@stremio.com${2} به ما کمک کنید.","FAQ_16_P4":"در عین حال، Chromecast را توصیه می کنیم که به خوبی از آن پشتیبانی می کنیم یا به سادگی تلویزیون خود را با کابل HDMI به رایانه شخصی خود وصل کنید.","FAQ_17_H1":"Stremio فریز می‌شود و/یا خراب می شود، چه کاری می توانم انجام دهم؟","FAQ_17_P1":"اول از همه، اگر از Windows 7 با ضد ویروس AVG استفاده می کنید: ما با این ترکیب مشکل داریم. مشکل در AVG است و راه منطقی برای حل آن در سمت ما وجود ندارد. متأسفانه، استثناها یا غیرفعال کردن ضد ویروس کار نمی کند. تنها راه حل جایگزینی AVG با چیز دیگری است.","FAQ_17_P2":"اگر مشکل این نیست، اما همچنان از ویندوز استفاده می‌کنید، لطفاً به آخرین سرویس پک به‌روزرسانی کنید و درایورهای GPU خود را به‌روزرسانی/نصب مجدد کنید، سپس دوباره امتحان کنید.","FAQ_17_P3":"اگر مشکل شما هنوز حل نشده است، یا از مک یا لینوکس استفاده می‌کنید، لطفاً جزئیات دقیق مشکل را در ${1}گروه ما در فیسبوک${2} برای ما بنویسید.","FAQ_18_H1":"چگونه می توانم افزونه ایجاد کنم؟","FAQ_18_P1":"برای شروع، توصیه می‌کنیم ${1}addons system module${2} ما را در GitHub بررسی کنید.","FAQ_18_P2":"پس از آن، می‌توانید ${1}آموزش Hello World${2} را دنبال کنید.","FAQ_18_P3":"اگر هیچ مهارت برنامه نویسی ندارید، لطفاً ایده خود را در ${1}انجمن Reddit${2} ارسال کنید و با ایده افزونه خود در ${3}office@stremio.com${4} با ما تماس بگیرید.","FAQ_19_H1":"چرا Stremio فضای دیسک را اشغال می کند؟","FAQ_19_P1":"Stremio یک حافظه پنهان محلی برای نگهداری موقت فایل‌های ویدئویی که پخش می‌کنید دارد.","FAQ_19_P2":"این دو مزیت دارد: اول اینکه به Stremio اجازه می‌دهد تا ویدیوی پیش‌رو را از قبل بافر کند تا از پخش روان‌تر اطمینان حاصل شود. دوم، ویدئوها را در حافظه پنهان محلی نگه می دارد تا بتوانید به تماشای آفلاین آنها ادامه دهید.","FAQ_19_P3":"مقدار Stremio به تنظیم Cache در پانل تنظیمات بستگی دارد. Stremio ممکن است تا مقدار تنظیم‌شده (مثلاً 2 گیگابایت) روی دیسک شما باقی بماند، مگر اینکه ویدیوی پخش‌شده فعلی بزرگ‌تر از آن باشد، در این صورت باید فضای ذخیره‌سازی کافی برای حفظ آن تا زمانی که آن را پخش کنید، اختصاص دهد.","FAQ_20_H1":"پوشه کش کجاست؟","FAQ_20_P1":"در ویندوز، آن stremio-cache در درایوی است که در تنظیمات انتخاب کرده اید (به عنوان مثال \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"در MacOS، \\"~/Library/Application Support/Stremio/stremio-cache\\" است","FAQ_20_P3":"در لینوکس، \\"~/.stremio/stremio-cache\\" یا \\"~/stremio-cache\\" است","FAQ_21_H1":"من با خطای \\"سرور استریم یافت نشد\\" مواجه شدم، چه باید بکنم؟","FAQ_21_P1":"اگر این خطا را دریافت کردید، به معنی یکی از موارد زیر است:","FAQ_21_P2":"1) شما دارید سعی می کنید از یک افزونه توسط منبع YouTube/BitTorrent، از طریق نسخه ${1}وب ما${2} استفاده کنید. در این موارد، باید نسخه دسکتاپ ما را از ${3}وبسایت ما${4} نصب کنید.","FAQ_21_P3":"2) مشکلی در نصب Stremio شما وجود دارد. در این مورد، سعی کنید آخرین نسخه دسکتاپ ما را از ${1}وب سایت${2} دوباره نصب کنید. اگر این کار کمکی نکرد، برنامه های ضد ویروس و فایروال ها را غیرفعال کنید، کامپیوتر خود را مجددا راه اندازی کنید و دوباره امتحان کنید. اگر این نیز جواب نداد، لطفاً در ${3}گروه ما در فیس بوک${4} برای ما بنویسید.","FAQ_22_H1":"با iOS اکثر افزونه‌ها قابل مشاهده و استفاده نیستند","FAQ_22_P1":"به دلیل محدودیت‌های موجود در شرایط و ضوابط فروشگاه App Apple، ما برنامه iOS را فقط به مجموعه خاصی از افزونه‌ها محدود کرده‌ایم.","FAQ_22_P2":"اما مطمئن باشید - در آینده افزونه های بیشتری برای iOS وجود خواهد داشت، و ممکن است همچنین یک ادغامی اضافه کنیم که به شما اجازه می دهد تمام افزونه های Stremio را با اتصال برنامه iOS به سرور استریمینگ Stremio استفاده کنید."}')},96579:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Elokuva","TYPE_series":"Sarja","TYPE_tv":"TV-kanava","TYPE_channel":"Kanava","TYPE_other":"Muu","TYPE_movie_PL":"Elokuvat","TYPE_series_PL":"Sarjat","TYPE_tv_PL":"TV-kanavat","TYPE_channel_PL":"Kanavat","TYPE_other_PL":"Muut","TYPE_ALL":"Kaikki","TYPE":"Tyyppi","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Takaisin","MORE":"Lisää","DONE":"Valmis","COPY":"Kopioi","SUCCESS":"Onnistui","ERROR":"Virhe","SETTINGS_CASTING_MODE_PICKER":"Heijastustila","CASTING_MODE_HLSV2":"Oletus","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Ei muunnosta","Discover":"Tutustu","Board":"Lauta","Library":"Kirjasto","My Library":"Oma kirjasto","Calendar":"Kalenteri","NOTIFICATION_ONLINE":"Olet nyt verkossa","NOTIFICATION_OFFLINE":"Olet tällä hetkellä offline-tilassa","INTERNET_CONNECTION":"Verkkoyhteys","STORAGE_FULL_TITLE":"Varoitus: Tallennustila täynnä!","STORAGE_FULL_TEXT":"Stremio ei pysty tallentamaan asetuksiasi, mieltymyksiäsi tai kirjautumistietojasi. Harkitse Stremion uudelleenkäynnistämistä tai uudelleenasentamista.","SEARCH":"haku","SEARCH_NO_RESULTS":"Ei tuloksia","SEARCH_EXPLANATION_CONTENT":"Etsi elokuvia, sarjoja, YouTube- ja TV-kanavia","SEARCH_EXPLANATION_PEOPLE":"Etsi näyttelijöitä, ohjaajia ja käsikirjoittajia","SEARCH_PASTE_LINKS":"Liitä HTTP- ja Magnet-linkkejä","SEARCH_OR_PASTE_LINK":"Etsi tai liitä linkki","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Lisää kirjastoon","REMOVE_FROM_LIB":"Poista kirjastosta","ADDED_TO_LIB":"Lisätty kirjastoon","REMOVED_FROM_LIB":"Poistettu kirjastosta","TRAILER":"Traileri","WATCH_TRAILER":"Katso traileri","WATCH_NOW":"Katso nyt","SHOW":"Näytä","SHOW_MOVIE":"Näytä elokuva","WATCH_RANDOM":"Katso satunnainen","IMDB_RATING":"IMDb-arvosana","YEAR":"Vuosi","DIRECTOR":"Ohjaaja","WRITER":"Käsikirjoittaja","LEAD_ACTORS":"Pääosissa","CAST":"Näyttelijät","CREW":"Työryhmä","SHOW_MORE_CAST":"Näytä lisää »","AIRED":"Esitetty","SEASONS":"Kaudet","GENRE":"Laji","GENRE_ALL":"Kaikki lajit","CATALOG":"Katalogi","SUMMARY":"Tiivistelmä","SHOW_MORE":"Näytä lisää","SIMILAR":"Samanlaisia","UPCOMING":"Tulossa","TBA":"TBA","ENDED":"Päättyi","DURATION":"Kesto","FEATURED":"Esittelyssä","METADATA":"Metatiedot","CATEGORY":"kategoria","LINKS_GENRES":"Lajit","LINKS_CAST":"Näyttelijät","LINKS_DIRECTORS":"Ohjaajat","SEARCH_VIDEOS":"etsi videoita","SEARCH_PLACEHOLDER":"etsi tai liitä URL","ADDON":"lisäosa","ADDONS":"Lisäosat","OFFICIAL":"virallinen","ADDONS_OFFICIAL":"Viralliset Stremio-lisäosat","ADDONS_POPULAR":"Suosittuja alueellasi","ADDON_FREE":"ilmainen","ADDON_PEERED":"jaettu","ADDON_SUBSCRIPTION":"tilaus","ADDON_STREAM_GEORESTRICTED":"ei saatavilla alueellasi","ADDON_STREAM_OFFLINECACHE":"Offline-välimuisti","ADDON_STREAM_LOCALFILE":"Paikallinen tiedosto","SHARE_ADDON":"Jaa lisäosa","AVAILABLE_STREAMS":"Saatavilla olevat streamit","NO_STREAM":"Streamia ei löytynyt","ALL_ADDONS":"Kaikki","INSTALL_MORE_ADDONS":"Asenna lisää lisäosia saadaksesi lisää streamejä","STREAM_NOT_SUPPORTED":"Valittu stream ei ole tuettu tällä alustalla.","ADDON_CATALOGUE":"Näytä kaikki lisäosat »","ADDON_CATALOGUE_MORE":"Asenna lisäosia","REPO_ADDED":"Kokoelma lisätty","ADDON_REPO_EXIST_ERR":"Tämä lisäosakokoelma on jo olemassa","ADDON_REPO_ERR":"Virhe lisäosakokoelman lisäämisessä","ADDON_ADD_ERR":"Virhe lisäosan lisäämisessä","ERR_ADDON_PROTECTED":"Lisäosaa ei voi poistaa, se on suojattu","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Jotain meni pieleen - todennus epäonnistui","ERR_NOT_COLLECTION_URL":"Ei kokoelman URL-osoite","ERR_NOT_ADDON_URL":"Ei kelvollinen lisäosan URL-osoite","ERR_DETECTFROMURL":"Lisäosaa/kokoelmaa ei löydy tästä URL-osoitteesta","ADDON_DUPLICATE_WARNING":"Varoitus: duplikaattilisäosa","ADDON_COLLECTION_SET_FAILED":"Asennettujen lisäosien synkronointi tilillesi epäonnistui","SETTINGS_DATA_EXPORT":"Vie käyttäjätiedot","ADDON_PULL_FAILED":"Asennettujen lisäosien synkronointi tililtäsi epäonnistui","REFRESH_ON_CLICK":"Klikkaa yrittääksesi uudelleen","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Elokuva yhä teattereissa","WATCH_IN_CINEMA":"Katso se paikallisessa elokuvateatterissa","IN_THEATER":"Teatterissa","GET_TICKETS":"Osta liput","UPCOMING_EPISODE":"Tuleva jakso","UPCOMING_EPISODE_MESSAGE":"Tämä jakso esitetään","MISSING_DATE_EPISODE":"Puuttuva jakson päivämäärä","MISSING_DATE_EPISODE_MESSAGE":"Tämä jakso ei ehkä ole vielä esitetty","CHANNEL_NOT_SCRAPED":"Tätä kanavaa ei ole vielä haettu.
    Palaa takaisin muutaman minuutin kuluttua.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Lisää se kirjastoosi, niin saat ilmoituksen, kun se on saatavilla.","GET_NOTIFIED_WHEN_AVAILABLE":"Saat ilmoituksen, kun se on saatavilla.","WARNING_STREAMING_SERVER":"Varoitus: paikallista stream-palvelinta ei löytynyt. Paikallisista tiedostoista, YouTube- ja BitTorrent-streamauksesta ei ole saatavilla.","WARNING_STREAMING_SERVER_DISMISS":"Hylkää","WARNING_STREAMING_SERVER_LATER":"Myöhemmin","DECODER_WARNING":"Varoitus: tämä video ei ehkä ole tuettu laitteistollasi. Huomioi, että toisto voi olla hidasta.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, soitinvirhe","PLAYER_ERROR_LOOKSLIKE":"Näyttää siltä,","PLAYER_ORIENTATION":"Soittimen suuntaus","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Lukittu","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensori","PLAYER_ORIENTATION_LANDSCAPE":"Soittimen suuntaus lukittu vaakasuoraan","PLAYER_ORIENTATION_SENSOR":"Soittimen suuntaus automaattinen (sensori)","PLAYER_PLAYBACK_SPEED":"Toistonopeus","PLAYER_PLAYBACK_ERROR":"Toistovirhe, yritä uudelleen","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Tuntematon virhe","PLAYER_PLAYBACK_ERROR_DEFAULT":"Valitettavasti tätä videota ei voi toistaa {{productName}}:lla.","PLAYER_SUBTITLES_LANGUAGES":"Tekstityskielet","PLAYER_SUBTITLES_VARIANTS":"Tekstitysversiot","PLAYER_SUBTITLES_SETTINGS":"Tekstitysasetukset","PLAYER_SUBTITLES_DISABLED":"Tekstitykset pois päältä","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Pystysuuntainen sijainti","PLAYER_SUBTITLES_LOADED":"Tekstitykset ladattu","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Upotetut tekstitykset ladattu","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Yksinoikeudella olevat tekstitykset ladattu","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Tekstitykset lähteestä {{origin}} ladattu","PLAYER_PLAY":"Toista","PLAYER_PAUSE":"Tauko","PLAYER_NEXT_VIDEO":"Seuraava video","PLAYER_MUTE":"Mykistä","PLAYER_UNMUTE":"Poista mykistys","PLAYER_OPEN_IN_EXTERNAL":"Avaa ulkoisessa soittimessa","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Toista laitteessa {{device}}","PLAYER_LIVE":"Suora lähetys","PLAYER_NEXT_VIDEO_TITLE":"Seuraavaksi","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Hylkää","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Katso nyt","PLAYER_COPY_STREAM_SUCCESS":"Virtalinkki kopioitu leikepöydälle","PLAYER_COPY_STREAM_ERROR":"Virhe kopioitaessa virtalinkkiä","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"suoratoistetaan","CASTING_TO":"Heijastetaan","NETWORK_STATUS":"Verkon tila","STREAM_SPEED":"Suoratoistonopeus:","STREAM_BUFFERED":"Puskuroitu:","PEERS_INFO":"Käyttäjätiedot","PEERS_ACTIVE":"Aktiiviset:","PEERS_CONNECTED":"Yhdistetyt:","PEERS_WAITING":"Odottavat:","TRANSCODING_WARNING":"Varoitus: videon transkoodaus.","STREAM_LOADING":"ladataan...","PLAYING_LOCAL":"toistetaan paikallisesta tiedostosta","PLAYING_CACHE":"toistetaan välimuistista","WRONG_SUBS":"Väärät tekstitykset?","ERR_SUBS_LOADING_TITLE":"Virhe ladattaessa tekstityksiä","ERR_SUBS_LOADING":"Tekstitysten lataaminen epäonnistui: tämä voi johtua käyttämästäsi lisäosasta tai verkkoyhteydestäsi","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Seuraavat tekstityslisäosat epäonnistuivat","ERR_CASTING_UPDATE_TITLE":"Ei voitu päivittää heijastuslaitteen tietoja: suoratoistopalvelin saattaa olla poissa käytöstä","CHOOSE_DEVICE":"Valitse laite, jolla katsot","NO_CAST_DEVICES":"Ei heijastuslaitteita saatavilla.","NO_SETTINGS":"Ei asetuksia saatavilla.","NO_OPTIONS":"No options available","PHONE_TABLET":"Puhelin / Tabletti","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Tekstitykset","SUBTITLES_CHANGE":"Vaihda tekstityksiä kielelle ","SUBTITLES_CHANGE_NONE":"Tälle kielelle ei ole muita tekstityksiä, pahoittelut.","SUBTITLES_CHANGE_ACIVE":"Tällä hetkellä tekstitykset #{{subtitlesDialog.activeIdx + 1}} ovat käytössä. Klikkaa \\"Jatka\\" aktivoidaksesi tekstitykset #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Tai vaihtoehtoisesti,","SUBTITLES_ADJUST_DELAY":"Säädä tekstitysten viivettä:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Tai käytä näppäimiä G / H säätääksesi viivettä toiston aikana.","SUBTITLES_ADJUST_DELAY_TIP":"Vinkki: voit käyttää näppäimiä G / H säätääksesi viivettä toiston aikana.","SUBTITLES_DELAY":"Tekstitysten viive:","SUBTITLES_LOADING":"Ladataan tekstityksiä...","SUBTITLES_UNAVAILABLE":"Ei saatavilla olevia ulkoisia tekstityksiä","SUBTITLES_DISABLED":"Poissa käytöstä","EXTERNAL_PLAYER_DISABLED":"Poissa käytöstä","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Salli valitseminen","EXTERNAL_PLAYER_HINT":"Vinkki: asetuksista voi sallia aina avaamisen ulkoisessa soittimessa","DONT_SHOW_AGAIN":"Älä näytä uudelleen","SERVICE_INSTALL":"Asenna","AUDIO":"Ääni","DEFAULT_LANGUAGE":"Oletuskieli","DEFAULT_SECONDARY_LANGUAGE":"Oletus toissijainen kieli","SEASON":"Kausi","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Jakso","EPISODE_ABBREVIATION":"Jk","SPECIAL":"Erikoisjakso","SORT":"lajittele","SORT_BY":"Lajittele","FILTER":"suodata","SORT_TRENDING":"trendaavat","SORT_RECENT":"uusimmat","SORT_ALPHABET":"a-ö","SORT_ALPHABET_REVERSE":"ö-a","SORT_RATING":"arvostelu","SORT_WATCHED":"katsotuimmat","SORT_YEAR":"vuosi","SELECT":"Select","SELECT_TYPE":"Valitse tyyppi","SELECT_SORT":"Valitse lajittelu","SELECT_CATALOG":"Valitse katalogi","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Valitse genre","SORT_LASTWATCHED":"Viimeksi katsotun mukaan","SORT_NAME":"Nimen mukaan","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Katselukertojen mukaan","SORT_NOTWATCHED":"not watched","New for You":"Uutta sinulle","New Episodes":"Uudet jaksot","New Videos":"Uudet videot","Recommendations":"Suositukset","LIBRARY_RESUME":"Jatka","LIBRARY_PLAY":"Toista","LIBRARY_DETAILS":"Tiedot","LIBRARY_RESUME_DISMISS":"Hylkää","LIBRARY_CLEAR_PROGRESS":"Tyhjennä edistyminen","LIBRARY_REMOVE":"Poista","LIBRARY_NOT_LOGGED_IN":"Kirjasto on käytettävissä vain kirjautuneille käyttäjille","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Kalenteri on käytettävissä vain kirjautuneille käyttäjille","NOT_LOGGED_IN_CLOUD":"Pääsy suosikkielokuviisi ja TV-ohjelmiisi milloin tahansa, missä tahansa","NOT_LOGGED_IN_RECOMMENDATIONS":"Suositukset katseluhistoriasi perusteella","NOT_LOGGED_IN_NOTIFICATIONS":"Älä missaa yhtään jaksoa","NOT_LOGGED_IN_CALENDAR":"Aikatauluta henkilökohtainen katselukalenterisi","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Esittelyssä","DISCOVER_TOP":"Parhaat","DISCOVER_OSCAR":"Oscar-voittajat","DISCOVER_WARNING_TITLE":"Hups!","DISCOVER_EMPTY_CATALOG":"Tämä lisäosa palautti tyhjän sisällön.","DISCOVER_ADULT_WARNING":"Sisältö on näkyvissä vain aikuisille. Oletko yli 18-vuotias?","DISCOVER_NOADDON_WARNING":"Varoitus: tälle tyypille ei ole aktiivista Stremio-lisäosaa. Näytetään tallennetut kohteet, mikään täällä ei päivity.","DISCOVER_LOAD_ERR":"Sisältöä ei ladattu, virhe tapahtui.","DISCOVER_ADDON_UNINSTALLED":"Tämä sisältö ei ole enää saatavilla, olet ehkä poistanut lisäosan.","UNINSTALL_THIS_ADDON":"Poista tämä lisäosa","ERR_ADDON_NOT_INSTALLED":"Tätä lisäosaa ei ole asennettu. Asennetaanko nyt?","DETAIL_RECEIVE_NOTIF_SERIES":"Vastaanota ilmoituksia uusista jaksoista","DETAIL_RECEIVE_NOTIF_VIDEOS":"Vastaanota ilmoituksia uusista videoista","SIDEBAR_SHOW_STREAMS":"Näytä streamit","RELAUNCH":"Käynnistä uudelleen nyt!","UPGRADE":"Uusi versio on saatavilla! Päivitä uusimpaan Stremio-versioon","RELOAD_UI":"Lataa käyttöliittymä uudelleen","MANUAL_UPDATE_TITLE":"Päivitä Stremio-versiosi","MANUAL_UPDATE_LINE1":"Käytät vanhentunutta Stremio-versiota, mikä ei ole suositeltavaa.","MANUAL_UPDATE_LINE2":"Päivitä mahdollisimman pian.","BUTTON_UPDATE_LATTER":"Ei nyt","BUTTON_UPDATE_NOW":"Päivitä","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonyymi käyttäjä","DONT_HAVE_ACC":"Ei tiliä?","HAVE_ACC":"Onko sinulla jo tili?","PASSWORD":"Salasana","PASSWORD_CONFIRM":"Vahvista salasana","EMAIL":"Sähköposti","FB_LOGIN":"Jatka Facebookilla","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Mikään ei jaeta ilman lupaa","FB_NOPOST":"Emme julkaise mitään puolestasi","OR":"tai","I_ACCEPT":"Hyväksyn","I_ACCEPT_BY_CLICKING":"Klikkaamalla yllä olevaa painiketta vahvistan hyväksyväni ","TOS":"Käyttöehdot","MUST_ACCEPT_TERMS":"Sinun on hyväksyttävä ehdot","PASSWORDS_NOMATCH":"Salasanat eivät täsmää","SIGN_UP":"Rekisteröidy","SIGN_UP_EMAIL":"Rekisteröidy sähköpostilla","CLICK_TO_SIGN_UP":"Klikkaa tästä rekisteröityäksesi.","LOG_IN":"Kirjaudu sisään","LOG_OUT":"Kirjaudu ulos","EXIT_FULLSCREEN":"Poistu koko näytön tilasta","ENTER_FULLSCREEN":"Siirry koko näytön tilaan","PLAY_URL_MAGNET_LINK":"Toista URL-/magnet-linkki","HELP_FEEDBACK":"Apua ja palautetta","TERMS_OF_SERVICE":"Käyttöehdot","PRIVACY_POLICY":"Tietosuojakäytäntö","ABOUT_STREMIO":"Tietoa Stremiosta","USER_PANEL":"Käyttäjäpaneeli","LOGIN_LABEL":"Kirjaudu sisään","GUEST_LOGIN":"Vieraskirjautuminen","GUEST_LOGIN_NOTICE":"Vieraskirjautuminen ei ole suositeltavaa. Tavallisen kirjautumisen käyttäminen mahdollistaa Stremion kirjaston synkronoinnin, suosikkisarjojen/kanavien ilmoitusten vastaanottamisen. Oletko varma, että haluat jatkaa?","GUEST_LOGIN_NOTICE_2":"Vieraskirjautuminen ei ole suositeltavaa - sinulla ei ole synkronoitua kirjastoa ja lautailmoituksia, jotka ovat tärkeitä Stremio-ominaisuuksia. Oletko varma, että haluat jatkaa?","CLICK_HERE":"klikkaa tästä","WRONG_PASSWORD":"Väärä sähköposti tai salasana. Jos olet unohtanut salasanasi, ","SET_A_PASS":"aseta salasana","RESET_PASSWORD":"Nollaa salasana","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Unohditko salasanasi?","EMAIL_USED_WITH_FB":"Tätä sähköpostia käytettiin Facebook-kirjautumisessa.","INVALID_EMAIL":"Anna kelvollinen sähköpostiosoite","INVALID_PASSWORD":"Anna kelvollinen salasana","CONN_ERR":"Yhteysvirhe - yritä myöhemmin uudelleen.Jos tämä jatkuu, poista palomuurit/antivirusohjelmat (erityisesti Bitdefender).","IMPORT_FROM_GUEST":"Tuo kirjasto vieraskäyttäjätililtäsi","RECEIVE_UPDATES_EMAIL":"Vastaanota päivityksiä sähköpostiisi Stremiolta","LOGIN_FAILED":"Kirjautuminen epäonnistui.","SIGNUP_FAILED":"Rekisteröityminen epäonnistui.","SEARCH_FAILED":"Haku epäonnistui","EMAIL_USED":"Tämä sähköposti on jo käytössä.","WAITING_FB_LOGIN":"Kirjaudutaan Facebookilla...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Toista ulkoisessa soittimessa","EXTERNAL_REMEMBER_PLAYER":"Haluatko muistaa valintasi","EXTERNAL_ALWAYS_PLAY":"Kyllä","EXTERNAL_ONLY_ONCE":"Ei","BEST_FIT":"Paras sovitus","FIT_SCREEN":"Sovita näyttöön","FILL":"Täytä","16:9":"16:9","4:3":"4:3","Original":"Alkuperäinen","INTRO_TASTE":"Kerro meille mistä pidät","INTRO_TASTE_LONG":"Kerro meille mitä haluaisit katsoa","INTRO_TASTE_PICK":"Valitse {{interestsRemaining}} kiinnostusta","INTRO_TASTE_PICK_MORE":"Valitse {{interestsRemaining}} kiinnostusta lisää","INTRO_TASTE_HELP_US":"Autathan meitä oppimaan lisää sinusta.","INTRO_TASTE_CHOOSE_THESE":"Valitse joitakin näistä:","INTRO_TASTE_CHOOSE_MIN":"Valitse vähintään 3 luokkaa","INTRO_TASTE_CHOOSE_MIN_ERR":"Sinun on valittava vähintään 3 luokkaa!","INTRO_TASTE_LIFESTYLE":"Elämäntyyli","INTRO_TASTE_SPORTS":"Urheilu","INTRO_TASTE_FOOD_HEALTH":"Ruoka ja terveys","INTRO_TASTE_BEAUTY_FASHION":"Kauneus ja muoti","INTRO_TASTE_NEWS":"Uutiset","INTRO_TASTE_GAMING":"Pelaaminen","INTRO_TASTE_SCIENCE_EDU":"Tiede ja koulutus","INTRO_TASTE_MUSIC":"Musiikki","INTRO_TASTE_TRAVEL":"Matkailu","INTRO_TASTE_LATE_NIGHT":"Myöhäisillan ohjelma","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedia","INTRO_TASTE_DIY":"Tee se itse","INTRO_TASTE_TECH":"Tekniikka","INTRO_TASTE_CINEMA":"Elokuvat","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Valittu lisäosa ei ole tuettu tällä alustalla.","ADDON_DISCLAIMER":"Kolmannen osapuolen lisäosien käyttö on aina vastuullasi ja säännelty sen lain mukaan, jossa sijaitset.","ADDON_ACTIVATE":"Aktivoidaanko tämä lisäosa?","ADDON_REPO_ADD":"Lisäosakokoelman URL-osoite","ADDON_ADD":"Lisää","INSTALL_ADDON":"Install addon","ADD_ADDON":"Lisää lisäosa","ADD_ADDON_DESCRIPTION":"Voit lisätä lisäosan ulkoisen linkin kautta, joka näkyy Asennetut lisäosat -osiossa.","PASTE_ADDON_URL":"Liitä lisäosan URL-osoite","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Mitä uutta","BUTTON_CONTINUE":"Jatka","BUTTON_ACTIVATE":"Aktivoi","BUTTON_ACTIVATED":"Aktivoitu","BUTTON_CANCEL":"Peruuta","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Lähetä","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Hylkää kaikki","BUTTON_VIEW_ALL":"näytä kaikki","BUTTON_SEE_ALL":"Katso kaikki","BUTTON_COLOR_TRANSPARENT":"Läpinäkyvä","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Avaa selaimessa","LIB_EMPTY":"Kirjastosi näyttää tyhjältä. Selvitä kuinka hyödyllinen se on :)","HOW_START":"Tässä on miten voit aloittaa:","LIB_EMPTY_CAL":"Kalenterisi näyttää sarjoja kirjastossasi.","HOW_START_CAL":"Tässä on miten voit lisätä sarjoja:","LIB_EMPTY_BOARD":"Board näyttää ilmoituksia ja suosituksia kirjastoosi liittyen.","HOW_START_BOARD_WAIT":"Lisää muutama sarja tai kanava kirjastoosi ja anna meille muutama minuutti käsitellä :)","HOW_START_BOARD":"Tässä on miten voit lisätä sarjoja ja elokuvia siihen:","IMPORT_FB":"Tuo tykkäämäsi asiat Facebookista","IMPORT_TRAKT":"Tuo mediatietokantasi Traktista","IMPORT_DISCOVER":"Löydä mielenkiintoista sisältöä Discoverista","IMPORT_DISK":"Tuo elokuvat tai sarjat, joita sinulla on paikallisella levyltäsi","PLEASE_CREATE_ACC":"Luo tunnus mahdollistaaksesi kirjaston synkronoinnin ja Boardin.","IMPORT_DISCOVER_SIGNUP":"Rekisteröidy ja löydä mielenkiintoista sisältöä Discoverista","IMPORT_DISK_SIGNUP":"Rekisteröidy ja tuo elokuvat tai sarjat, joita sinulla on paikallisella levyltäsi","LIB_EMPTY_CLOUD":"Pilvikirjasto","LIB_EMPTY_CLOUD_DESC":"Henkilökohtainen pilvikirjasto synkronoitu kaikilla laitteilla","LIB_EMPTY_EARLY":"Aikainen lintu","LIB_EMPTY_EARLY_DESC":"Vastaanota ilmoituksia uusista jaksoista","LIB_EMPTY_PERSONAL":"Henkilökohtainen","LIB_EMPTY_PERSONAL_DESC":"Saat henkilökohtaisia suosituksia","LIB_EMPTY_CALENDAR_DESC":"Aikatauluta henkilökohtainen katselukalenterisi","LIB_EMPTY_ALL":"Rekisteröidy saadaksesi kaikki nämä:","LIB_EMPTY_BEST":"Rekisteröidy saadaksesi parhaat Stremio-ominaisuudet","LIB_EMPTY_OTHER":"Rekisteröidy mahdollistaaksesi kalenterin ja muita hienoja ominaisuuksia","CALENDAR_ADDED":"Stremio-kalenteri on lisätty oletuskalenteriisi.","CALENDAR_ADDED_MSG":"Jos tämä ei toimi, lisää tämä URL-kalenterisovellukseesi manuaalisesti.","TRAKT_EXPIRED":"Traktin todennus vanhentunut, mene Asetuksiin ja todenna uudelleen","TRAKT_REQUIRES_LOGIN":"Trakt-virhe","TRAKT_REQUIRES_LOGIN_MSG":"Sinun täytyy kirjautua sisään","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Asetukset","SETTINGS_NAV_GENERAL":"Yleiset","SETTINGS_NAV_PLAYER":"Soitin","SETTINGS_NAV_STREAMING":"Suoratoisto","SETTINGS_NAV_SHORTCUTS":"Pikanäppäimet","SETTINGS_SHORTCUT_RELOAD_APP":"Lataa sovellus uudelleen","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Avaa asetukset","SETTINGS_SHORTCUT_SWITCH_TABS":"Vaihda välilehtiä","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Selaa välilehtiä eteenpäin","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Selaa välilehtiä taaksepäin","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigoi valikoiden välillä","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Siirry hakuun","SETTINGS_SHORTCUT_EXIT_BACK":"Poistu / Palaa takaisin","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Vaihda toistonopeus-valikko","SETTINGS_SHORTCUT_MENU_VIDEOS":"Vaihda videovalikko","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Vaihda tekstitysvalikko","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Vaihda infovalikko","SETTINGS_SHORTCUT_FULLSCREEN":"Vaihda koko näyttöön","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Näytä ohjaimet","SETTINGS_SHORTCUT_PLAY_PAUSE":"Toista / Tauko","SETTINGS_SHORTCUT_VOLUME_UP":"Äänenvoimakkuus ylös","SETTINGS_SHORTCUT_VOLUME_DOWN":"Äänenvoimakkuus alas","SETTINGS_SHORTCUT_SEEK_NEXT":"Etsi seuraava","SETTINGS_SHORTCUT_SEEK_PREV":"Etsi edellinen","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Etsi taaksepäin","SETTINGS_SHORTCUT_SEEK_FORWARD":"Etsi eteenpäin","SETTINGS_SHORTCUT_PLAY_NEXT":"Toista seuraava","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Kasvata tekstityksen kokoa","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Pienennä tekstityksen kokoa","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Kasvata tekstityksen viivettä","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Pienennä tekstityksen viivettä","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Vaihda sivupalkki","SETTINGS_SHORTCUT_OR":"tai","SETTINGS_SHORTCUT_TO":"näppäin","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Välilyönti","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Todenna","SETTINGS_FACEBOOK_IMPORT":"Tuo","SETTINGS_CALENDAR_SUBSCRIBE":"Tilaa","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Käyttöliittymän kieli","SETTINGS_LAUNCH_STARTUP":"Käynnistä käynnistyksen yhteydessä","SETTINGS_VLC_DEFAULT":"Toista VLC:llä","SETTINGS_UI_LANGUAGE":"Käyttöliittymän kieli","SETTINGS_UI_ZOOM":"Käyttöliittymän zoomaus","SETTINGS_FULLSCREEN_EXIT":"Poistu koko näytöstä Esc-näppäimellä","SETTINGS_GAMEPAD":"Ota käyttöön peliohjain","SETTINGS_CLOSE_WINDOW":"Sulje sovellus ikkunan sulkemisen yhteydessä","SETTINGS_SUBTITLES_LANGUAGE":"Oletuskieli tekstityksille","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Oletuskoko tekstityksille","SETTINGS_SUBTITLES_BACKGROUND":"Tekstitysten tausta","SETTINGS_SUBTITLES_COLOR":"Tekstitysten väri","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Tekstitysten reunaväri","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Tekstitysten taustaväri","SETTINGS_SEEK_KEY":"Nuolinäppäimet hakuun","SETTINGS_SEEK_KEY_SHIFT":"Nuolinäppäimet hakuun Shift-näppäintä painettaessa","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Kelaa taaksepäin ja eteenpäin -kesto","SETTINGS_BINGE":"Toista automaattisesti seuraava jakso","SETTINGS_NEXT_VIDEO":"Näytä ilmoitus seuraavan jakson aloittamisesta","SETTINGS_NEXT_VIDEO_TRIGGER":"Näytä seuraavan jakson ilmoitus:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Seuraavan videon ilmoituksen kesto","SETTINGS_PLAY_IN_BACKGROUND":"Toista taustalla","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Toista ulkoisessa soittimessa","SETTINGS_RESIZE":"Muuta ikkunan kokoa automaattisesti ennen toistoa","SETTINGS_OVERRIDE_SERVER":"Ohita suoratoistopalvelimen URL-osoite (edistynyt)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Suoratoistopalvelimen URL-osoite: ","SETTINGS_SERVER_AVAILABLE":"Suoratoistopalvelin on käytettävissä.","SETTINGS_SERVER_UNAVAILABLE":"Suoratoistopalvelin ei ole käytettävissä.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Virhe","SETTINGS_SERVER_CONFIGURE_TITLE":"Määritä suoratoistopalvelimen URL-osoite","SETTINGS_SERVER_CONFIGURE_INPUT":"Syötä suoratoistopalvelimen URL-osoite","SETTINGS_SERVER_CACHE_SIZE":"Välimuistin koko","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent-profiili","SETTINGS_HTTPS_ENDPOINT":"Suoratoiston HTTPS-päätepiste: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Käytä aina uusinta beta-versiota","SETTINGS_IMPORT_FB":"Tuo Facebookista","SETTINGS_IMPORT_DISK":"Tuo paikalliselta levyltä","SETTINGS_IMPORT_TRAKT":"Tuo Traktista","SETTINGS_PAUSE_MINIMIZED":"Tauko toistossa, kun sovellus on pienennetty","SETTINGS_HWDEC":"Laitteistokiihdytetty dekoodaus","SETTINGS_BACKGROUND":"Toista taustalla","SETTINGS_SUBSCRIBE_CALENDAR":"Tilaa kalenteri","SETTINGS_REQ_EXPORT":"Pyydä tietojen vientiä","SETTINGS_ACC_DELETE":"Pyydä tilin poistoa","SETTINGS_CHANGE_PASSWORD":"Vaihda salasana","SETTINGS_TOS":"Käyttöehdot","SETTINGS_SUPPORT":"Ota yhteyttä tukeen","SETTING_LANGUAGE":"Kieli","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Kirjaudu ulos Trakt.tv:stä","SETTINGS_TRAKT_LOGOUT_2":"Kirjaudu ulos Traktista","SETTINGS_SCAN_FOR_REMOTE":"Skannaa QR-koodi avataksesi etäyhteyden","SETTINGS_DESKTOP_NOTIFICATIONS":"Työpöytäilmoitukset","SETTINGS_DATA_SAVER":"Datansäästötila","SETTINGS_LANGUAGE_INTERFACE":"käyttöliittymä","SETTINGS_LANGUAGE_SUBS":"oletuskieli tekstityksille","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Valitse oletusääniraita automaattisesti","SETTINGS_DEFAULT_AUDIO_TRACK":"Oletusääniraita","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"Tili","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Versio","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Käynnistä soitin erillisessä ikkunassa (edistynyt)","SETTINGS_PLAY_IN_EXTERNAL":"Aloita video aina ulkoisessa soittimessa","SETTINGS_STORAGE_BUTTON":"Tyhjennä paikallinen tallennustila","SETTINGS_STORAGE_MODAL_TITLE":"Oletko varma?","SETTINGS_STORAGE_MODAL_MESSAGE":"Tämä tyhjentää paikallisen tallennustilan ja kirjaa sinut ulos.","SETTINGS_HWDEC_PICKER":"Valitse laitteistokiihdytetyn dekoodauksen asetus","SETTINGS_HW_AUTOMATIC":"Automaattinen","SETTINGS_HW_DISABLED":"Poistettu käytöstä","SETTINGS_HW_ACCELERATED":"Dekoodauksen kiihdytys","SETTINGS_HW_FULL":"Täysi kiihdytys","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Tekstitykset","SETTINGS_SECTION_AUDIO":"Ääni","SETTINGS_SECTION_CONTROLS":"Ohjaimet","SETTINGS_SECTION_AUTO_PLAY":"Automaattinen toisto","SETTINGS_SECTION_ADVANCED":"Edistyneet","SUBSPICKER_AUDIO":"Ääni","SUBSPICKER_SUBTITLES":"Lisäosien tekstitykset","SUBSPICKER_BLACK_BACKGROUND":"Käytä mustaa taustaväriä","SUBSPICKER_VERTICAL_OFFSET":"Pystysuuntainen siirtymä","SUBSPICKER_SIZE":"Koko","SUBSPICKER_DELAY":"Viive","SUBSPICKER_EMBEDDED_SUBS":"Upotetut tekstitykset","MOBILE_PRIVACY_POLICY":"Tietosuojakäytäntö","MOBILE_CRASH_REPORTING":"Kaatumisraportointi","MOBILE_ZOOM_TO_FILL":"Zoomaa täyttämään näyttö","MOBILE_PASSTHROUGH":"Digitaalinen äänilähtö (passthrough)","MOBILE_RUN_LOW_BATTERY":"Toimi vähäisellä akulla","MOBILE_RUN_FOREGROUND":"Toimi etualalla","MOBILE_PERFORMANCE":"SUORITUSKYKY JA VAKAUS","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR-koodi vanhenee ","MOBILE_LOG_INTO":"Kirjaudu Stremio-tilillesi ","MOBILE_SCAN_QR":"Skannaa yllä oleva QR-koodi tai siirry osoitteeseen ","MOBILE_LINK_ACCOUNT":"Linkitä tili","MOBILE_SPEEDPICKER_CANCEL":"Peruuta","MOBILE_SPEEDPICKER_LABEL":"Valitse toistonopeus","MOBILE_EMPTY_LIBRARY":"Kirjastosi on tyhjä","MOBILE_NO_ADDON_ACTIVE":"Ei aktiivisia Stremio-lisäosia tälle tyypille.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer -sovellus tarjoaa rajoitetun toiminnallisuuden. Käytä Stremioa työpöydällä saadaksesi luettelon toistettavista virtauksista ja täyden Stremio-kokemuksen.","MOBILE_ADDON_LOADING":"latautuu edelleen","MOBILE_ADDONS_LOADING":"lisäosat latautuvat edelleen","MOBILE_ADDON":"Lisäosa","MOBILE_CONFIGURE_ADDON":"Määritä lisäosa","MOBILE_CONFIGURE_ADDON_LABEL":"Määritä lisäosa","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer -sovellus tarjoaa vain rajoitetun valikoiman lisäosia. Käytä Stremioa työpöydällä saadaksesi täyden Stremio-kokemuksen.","MOBILE_DISCONNECT":"Katkaise yhteys","MOBILE_LOOKING_FOR_DEVICES":"Etsitään laitteita...","MOBILE_CAST_TO":"Heijasta","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Poista tili","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Tilin poisto ei ole välitön oikeudellisten velvoitteiden vuoksi. Tilin poistamisen jälkeen sinun on käytettävä eri sähköpostiosoitetta / Facebook-profiilia luodaksesi uuden Stremio-tilin tulevaisuudessa.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Vahvista tilin poisto","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Tilisi on luotu Facebookin kautta. Tilin poistamiseksi käytä käyttäjäportaalia osoitteessa www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Vahvista tilin poisto antamalla salasanasi.","MOBILE_DELETE_ACCOUNT_BUTTON":"Poista tili","NAVIGATION_ON":"Päällä","NAVIGATION_OFF":"Pois päältä","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Hyväksyn Stremion markkinointiviestinnän","QUIT":"Lopeta","CONNECTED":"Yhdistetty","AUTHENTICATE":"Todennus","AUTHENTICATING":"Authenticating...","CACHING":"Välimuisti","SETTINGS_CACHING_DRIVE":"Välimuistin asema","ENABLE_LOCAL_FILES_ADDON":"Ota käyttöön paikallisten tiedostojen lisäosa (vaatii käynnistyksen uudelleen)","LOCAL_ADDON_NOT_ENABLED":"Paikallinen lisäosa ei ole käytössä. Napsauta tästä siirtyäksesi asetuksiin ja ota se käyttöön","ENABLE_REMOTE_HTTPS_CONN":"Ota käyttöön etä-HTTPS-yhteydet","TORRENT_PROFILE":"Torrent-profiili","DATA_CACHING":"Tietojen välimuisti","MAGNET_PARSING":"Magneettilinkin jäsentäminen","January":"Tammikuu","February":"Helmikuu","March":"Maaliskuu","April":"Huhtikuu","May":"Toukokuu","June":"Kesäkuu","July":"Heinäkuu","August":"Elokuu","September":"Syyskuu","October":"Lokakuu","November":"Marraskuu","December":"Joulukuu","Monday":"Maanantai","Tuesday":"Tiistai","Wednesday":"Keskiviikko","Thursday":"Torstai","Friday":"Perjantai","Saturday":"Lauantai","Sunday":"Sunnuntai","Action":"Toiminta","Comedy":"Komedia","War":"Sota","Family":"Perhe","Animation":"Animaatio","Adventure":"Seikkailu","Fantasy":"Fantasia","Crime":"Rikos","Mystery":"Mysteeri","Romance":"Romantiikka","Drama":"Draama","Horror":"Kauhu","Thriller":"Jännitys","Sci-Fi":"Tieteisfiktio","Music":"Musiikki","Biography":"Elämäkerta","Documentary":"Dokumentti","Sport":"Urheilu","Musical":"Musikaali","Western":"Lännenelokuva","Film-Noir":"Film Noir","News":"Uutiset","History":"Historia","Game-Show":"Kilpailuohjelma","Reality-TV":"Todellisuus-TV","Talk-Show":"Keskusteluohjelma","Film & Entertainment":"Elokuvat ja viihde","Gaming":"Pelaaminen","From TV":"TV:stä","Lifestyle":"Elämäntyyli","Science & Education":"Tiede ja koulutus","Cooking & Health":"Ruuanlaitto ja terveys","Beauty & Fashion":"Kauneus ja muoti","Sports":"Urheilu","News & Politics":"Uutiset ja politiikka","How-to & DIY":"Kuinka tehdä itse","Tech":"Tekniikka","Automotive":"Autot","Causes & Non-Profits":"Syyt ja voittoa tavoittelemattomat","Movies":"Elokuvat","Uk Live Tv":"Brittiläinen live-TV","Fashion":"Muoti","Business News Radio":"Liiketoimintauutiset radio","Business Tv":"Liiketoiminta-TV","Cars & Auto":"Autot","Comedy Radio":"Komedia radio","Lifestyle Radio":"Elämäntyyli radio","News Tv":"Uutiset TV","Food And Wine":"Ruoka ja viini","Latino Tv":"Latinalainen TV","Shopping Tv":"Ostos-TV","Religion":"Uskonto","Kids":"Lapset","Body & Soul":"Keho ja sielu","Education":"Koulutus","Indian Tv":"Intialainen TV","Extreme Sports":"Ekstreemilajit","Middle Eastern Tv":"Lähi-idän TV","Celebrity Tv":"Julkkis-TV","Science Tv":"Tiede-TV","Bikini babe":"Bikini kaunotar","Outdoors":"Ulkoilu","German Tv":"Saksalainen TV","French Tv":"Ranskalainen TV","Italian Tv":"Italialainen TV","Gamer Tv":"Pelaaja-TV","Travel":"Matkailu","Asian Tv":"Aasialainen TV","Entertainment":"Viihde","News Radio":"Uutisradio","Music Radio":"Musiikkiradio","Language Learning":"Kielten oppiminen","Science Radio":"Tiede radio","Tech Radio":"Tekniikka radio","Science & Technology Vod":"Tiede ja teknologia VOD","new video":"uusi video","new episode":"uusi jakso","new movie":"uusi elokuva","recommended":"suositeltu","we recommend":"suosittelemme","offer of the day":"päivän tarjous","news":"uutiset","music video":"musiikkivideo","CTX_SHOW_HOTKEYS":"Näytä pikanäppäimet","CTX_DISMISS_NOTIF":"Hylkää ilmoitukset","CTX_DISMISS_ALL":"Hylkää kaikki","CTX_SHARE":"Jaa","CTX_COPY_SHARE_LINK":"Kopioi jakolinkki","CTX_COPY_MAGNET_LINK":"Kopioi magnet-linkki","CTX_COPY_STREAM_LINK":"Kopioi stream-linkki","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Lataa tämä video","CTX_DOWNLOAD_SUBS":"Lataa tekstitykset","CTX_VIEW_ON_YOUTUBE":"Katso YouTubessa","CTX_SHOW":"Näytä","CTX_PLAY":"Toista","CTX_PLAY_IN":"Toista kohteessa","CTX_PLAY_ON":"Toista kohteessa","CTX_WATCH_ON":"Katso kohteessa","CTX_WATCH":"Katso","CTX_WATCHED":"Katsottu","CTX_WATCH_BEGINNING":"Katso alusta","CTX_WATCH_MOBILE":"Katso mobiililaitteella","CTX_REWIND":"Kelaa alkuun","CTX_MARK_WATCHED":"Merkitse katsotuksi","CTX_MARK_NON_WATCHED":"Merkitse ei-katsotuksi","CTX_MARK_UNWATCHED":"Merkitse katsomattomaksi","CTX_MARK_REST":"Merkitse loput katsotuksi","CTX_UNMARK_REST":"Merkitse loput ei-katsotuksi","CTX_RECEIVE_NEW_NOTIF":"Vastaanota uusia ilmoituksia","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Poista välimuistista","CTX_REMOVE_CACHE_EP":"Poista jakso välimuistista","CTX_OPEN_CONTAINING":"Avaa sisältävä kansio","CTX_REMOVE":"Poista kirjastosta","CTX_AVAILABLE_OFFLINE":"Saatavilla offline-tilassa","CTX_PAUSED":"Tauolla","CTX_ALWAYS_ON_TOP":"Aina päällimmäisenä","CTX_FULLSCREEN":"Koko näyttö","CTX_WRONG_SUBS":"Väärät tekstitykset?","CTX_REPORT_ISSUES":"Ilmoita ongelmasta","CTX_COPY":"Kopioi","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Liitä","CTX_CLEAR":"Tyhjennä","CTX_CLEAR_RECENT_SEARCHES":"Tyhjennä viimeisimmät haut","HELLO_THERE":"Hei siellä","HOPE_YOU_ENJOY":"Toivomme, että nautit Stremiosta ja se on jo yksi suosikki sovelluksistasi!","WHO_ARE_WE":"Kuka me olemme? Olemme sen takana oleva tiimi - kaksi kaveria, jotka ovat työskennelleet kovasti joka päivä viimeiset 3 vuotta tehdäkseen tästä tuotteesta paremman ja paremman.","SUPPORT_US":"Jos nautit Stremion käytöstä, jos Stremio on arvokas sinulle - levitä sanaa!","SPREAD_THE_WORD":"Jaa nyt ystäviesi kanssa, levitä sanaa Stremiosta","MORE_PEOPLE":"Mitä enemmän ihmisiä käyttää Stremiota, sitä paremmaksi se tulee!","SEND_A_LINK":"Tai lähetä linkki verkkosivustollemme","TIP_LOCALFILES":"Vinkki: voit raahata ja pudottaa paikallisia videotiedostoja Stremioon","ADDON_MY":"Omat lisäosat","ADDON_COMMUNITY":"Yhteisön lisäosat","ADDON_OFFICIAL":"Viralliset lisäosat","ADDON_REPOS":"Lisäosakokoelmat","ADDON_SEARCH":"Etsi lisäosia","ADDON_INSTALL":"Asenna","ADDON_CONFIGURE":"Määritä","ADDON_UNINSTALL":"Poista asennus","ADDON_UPGRADE":"Päivitä","ADDON_INSTALLED":"Asennettu","ADDON_INSTALLED_MSG":"Lisäosa asennettu!","ADDON_UPGRADED_MSG":"Lisäosa päivitetty!","ADDON_UNKNOWN":"Tuntematon","ADDON_ERR":"Lisäosan asennusvirhe!","ADDON_DISCONNECTED":"Yhteys katkaistu","ADDON_APP_MISSING":"tämän lähteen sovellusta ei ole asennettu. Haluatko asentaa sen nyt?","ADDON_APP_INSTALL":"Asenna nyt","ADDON_PAGE":"Lisäosan sivu","ADDON_TOP_CONTENT":"Parhaat tästä lisäosasta","ADDON_PROVIDES":"Tämä lisäosa antaa sinulle:","ADDON_WATCH":"Katso #{types} nyt!","ADDON_WATCH_FREE":"Katso #{types} ilmaiseksi nyt!","ADDON_ADDON":"Lisäosa","ADDON_SUPPORTED_TYPES":"Tuetut tyypit","ADDON_SUPPORTED_CATALOGS":"Tuetut katalogit","ADDON_PROVIDES_DISCOVER":"Lisää #{types} löytyy Discoverista","ADDON_PROVIDES_STREAMS":"Katso #{types}","ADDON_PROVIDES_STREAMS_FREE":"Katso #{types} ilmaiseksi","ADDON_PROVIDES_SUBTITLES":"#{types} tekstitykset","ADDON_CANTDETECT":"Emme voineet havaita käynnissä olevaa Stremiota, joten emme voineet havaita, mitä lisäosia sinulla on asennettuna.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Tietoja ei löytynyt tästä","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Virhe tietojen noutamisessa","ERR_CANT_PARSE_MAGNET":"Magnetin jäsentäminen ei onnistu","ERR_NO_MAGNET_INFOHASH":"Ei kelvollista info-hashia magnetissa","ERR_NO_FILE_PATH":"Pyyntöä ei voi lähettää ilman tiedostopolkua","ERR_NO_TORRENT":"Ei palautettu torrentia","ERR_NO_SUPPORTERD_FILES":"Ei tuettuja tiedostoja löydetty","ERR_OPENING_FILES":"Ei voitu avata ulkoisia tiedostoja","ERR_INVALID_LINK":"Virheellinen linkki","ERR_REGISTERED_ONLY":"Tämä vaihtoehto on saatavilla vain rekisteröityneille käyttäjille.","ERR_CLIPBOARD":"Ei voi toistaa leikepöydältä","ERR_CLIPBOARD_READ":"Leikepöytää ei voi lukea tällä alustalla","ERR_CLIPBOARD_GENERIC":"Leikepöydältä ei löytynyt toistettavaa URL-osoitetta. Kopioi URL-osoite (esim. magnet-linkki) videolle.","BOARD_CONTINUE_WATCHING":"Jatka katsomista","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Elokuvia valittu erityisesti sinulle.
    Tämä elokuva on esimerkki suosituksesta.","BOARD_EXPLANATION_EPISODES":"Uudet jaksot suosikkisarjoistasi tulevat tänne.
    Lisää seurattavat sarjat kirjastoosi.","BOARD_EXPLANATION_VIDEOS":"Uudet jaksot suosikkikanaviltasi tulevat tänne.
    Lisää seurattavat YouTube-kanavat kirjastoosi.","WEBSITE_ENJOYED_BY":"Nauttii yli 30 miljoonaa käyttäjää ympäri maailmaa","WEBSITE_STREAMING_ENHANCED":"Suoratoisto parannettu","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio tarjoaa turvallisen, modernin ja saumattoman viihdekokemuksen. Helppokäyttöisen käyttöliittymän ja monipuolisen sisältökirjaston, mukaan lukien 4K HDR -tuki, ansiosta käyttäjät voivat nauttia suosikkielokuvistaan ja TV-ohjelmistaan kaikilla laitteillaan. Ja sitoutumalla turvallisuuteen Stremio on paras valinta huoleton, korkealaatuinen suoratoistokokemus.","WEBSITE_AVAILABLE_ON":"Saatavilla","WEBSITE_WATCH_AND_ENJOY":"Katso ja nauti.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio tekee siitä lasten leikkiä","WEBSITE_ALL_FEATURES":"Kaikki ominaisuudet","WEBSITE_EASY_TO_USE":"Helppo käyttää","WEBSITE_EASY_TO_USE_DETAILS":"Stremio on suunniteltu käyttäjäystävälliseksi ja helppokäyttöiseksi. Sen selkeän ja intuitiivisen käyttöliittymän avulla voit helposti navigoida ja löytää haluamasi sisällön katsottavaksi.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Saumaton laitteiden välillä","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Saatavilla laajalle valikoimalle alustoja (mukaan lukien Windows, Mac, Linux, Android ja paljon muuta), Stremio pitää kirjaa edistymisestäsi kaikilla laitteillasi. Kirjaudu vain sisään ja jatka katselua ilman, että sinun tarvitsee määrittää sovellusta uudelleen jokaiselle uudelle laitteelle.","WEBSITE_ALL_DOWNLOADS":"Kaikki lataukset","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Korkean määritelmän videotuki","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Integroitu videotoistin, joka tukee useimpia videoformaatteja, mukaan lukien 4K HDR -sisältö, antaa sinun nauttia korkeimmasta mahdollisesta laadusta.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Monipuolinen sisältökirjasto","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integroituu suureen määrään suosittuja videolähteitä, kuten Netflix, Amazon Prime Video, Hulu, YouTube ja monia muita.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Luo ilmainen tili","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Räätälöity katselukokemus","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio mahdollistaa käyttöliittymän ulkoasun ja tunteen mukauttamisen teeman vaihtamalla, lisäämällä tai poistamalla lisäosia ja paljon muuta.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Monikielinen tekstitystuki","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Voit nyt nauttia kaikista suosikkisisällöistäsi haluamallasi kielellä, koska Stremio tukee tekstityksiä kaikilla kielillä.","WEBSITE_ALL_STREMIO_FEATURES":"Kaikki Stremio-ominaisuudet","WEBSITE_TRY_STREMIO_TITLE_P1":"Kokeile Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"TV:ssäsi nyt","WEBSITE_YOU_CAN_NOW_WATCH":"Voit nyt katsoa kaikkia suosikki TV-ohjelmiasi Android TV -laitteillasi. Stremio TV -sovellus antaa sinun nauttia elokuvailloista helposti.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Voit nyt katsoa kaikkia suosikki TV-ohjelmiasi Smart TV:lläsi tai Android TV:lläsi. Stremio TV -sovellukset antavat sinun nauttia elokuvailloista helposti.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio Smart TV:lle","WEBSITE_PLAY_STORE_REVIEW":"Todennäköisesti paras ja hyödyllisin sovellus, joka sinulla voi olla laitteessasi. Se on yksi sovelluksista, joita käytän päivittäin, erityisesti Android TV:ssäni monien vuosien ajan. Hyvin tehty vahvan yhteisön tarjoamilla hyödyllisillä toiminnoilla. Hyvin tehty. Jatka hyvää työtä.","WEBSITE_REVIEWS":"arvostelut","WEBSITE_GET_STREMIO_FOR_FREE":"Hanki Stremio ilmaiseksi","WEBSITE_GET_STREMIO_NOW":"Hanki Stremio nyt","WEBSITE_STREMIO_FEATURES":"Stremio-ominaisuudet","WEBSITE_STREMIO_FEATURES_DETAILS":"Suoratoista kuin ammattilainen Stremio:n edistyksellisten ominaisuuksien avulla ja nauti saumattomasta pääsystä kaikkiin suosikkimediaasi","WEBSITE_DISCOVER_MORE":"Löydä lisää.","WEBSITE_DISCOVER_MORE_DETAILS":"Älä koskaan lopu katsottavasta","WEBSITE_COMMUNITY_DRIVEN":"Yhteisöllinen","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremiolla on suuri ja aktiivinen käyttäjäyhteisö, joka osallistuu ohjelmiston kehittämiseen luomalla ja jakamalla lisäosia.","WEBSITE_GET_INVOLVED":"Osallistu","WEBSITE_NEW_THEATER_EXPERIENCE":"Uusi teatterikokemus","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio:n uusi omistettu TV-sovellus antaa sinun nauttia elokuvailloista Android TV -laitteillasi.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio:n uudet omistetut TV-sovellukset antavat sinun nauttia elokuvailloista Smart TV:lläsi tai Android TV:lläsi.","WEBSITE_FREE_AND_SECURE":"Ilmainen ja turvallinen","WEBSITE_STREAMING":"Suoratoisto","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio tarjoaa vertaansa vailla olevan turvallisuuden ja yksityisyyden käyttäjille. Ainutlaatuisen etäkäyttölisäosan ansiosta Stremio tarjoaa turvallisemman tavan suoratoistaa suosikkisisältöä verrattuna muihin alustoihin. Turvallisuutesi ja yksityisyytesi ovat tärkeimmät prioriteetit, ja alusta varmistaa, että kaikki tietosi ovat suojattuja.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Sano hyvästit huolille turvallisuudesta ja yksityisyydestä ja sano hei loputtomalle viihdemaailmalle Stremio:n kanssa.","WEBSITE_INFORMATION_PROVIDED_BY":"Tiedot tarjoaa","WEBSITE_CONTRIBUTE_DESC":"projektiin ja auta meitä tekemään Stremio vielä paremmaksi","WEBSITE_COMMUNITY_DESC":"Uskomme, että paras tapa luoda todella uskomaton suoratoistokokemus on osallistaa yhteisömme prosessiin. Olitpa sitten ohjelmoija, taiteilija tai vain fani - voit auttaa Stremio:n kasvua.","WEBSITE_COMMUNITY_DESC_2":"Liity siis tänään ja tule osaksi Stremio-yhteisöä ja jatka suoratoiston tulevaisuuden muotoilua.","WEBSITE_WAYS_TO_GET_INVOLVED":"Tapoja osallistua","WEBSITE_IN_THE_STREMIO_COMMUNITY":"Stremio-yhteisössä","WEBSITE_SHARE_YOUR_THOUGHTS":"Jaa ajatuksesi","WEBSITE_REPORT_BUGS":"Ilmoita virheistä","WEBSITE_SUGGEST_FEATURES":"ehdota ominaisuuksia","WEBSITE_AND_PROVIDE_FEEDBACK":"ja anna palautetta sosiaalisen median kanavissamme.","WEBSITE_BETA_TESTING_PROGRAM":"Beta-testausohjelma","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Osallistu beta-testausohjelmaamme (lähetämme kutsuja säännöllisesti) Stremio-yhteisössä.","WEBSITE_JOIN_NOW":"Liity nyt!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Viralliset Stremio-yhteisöt","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Epäviralliset Stremio-yhteisöt","WEBSITE_BECOME":"Tule","WEBSITE_A_VOLUNTEER_TRANSLATOR":"vapaaehtoiseksi kääntäjäksi","WEBSITE_ARE_YOU_A_DEVELOPER":"Oletko kehittäjä?","WEBSITE_CONTRIBUTE_CODE":"Voit osallistua koodin kehittämiseen avoimen lähdekoodin projekteissamme. Meillä on useita projekteja GitHubissa, jotka etsivät avustajia. Jos olet kiinnostunut auttamaan, tarkista ne:","WEBSITE_STREMIO_ON_GITHUB":"Stremio GitHubissa","WEBSITE_CREATE_ADDON_DESC":"Luo lisäosa Stremio:n toiminnallisuuden parantamiseksi (meillä on helppokäyttöinen API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Tarjoamme myös mahdollisuuden liittyä meihin harjoittelijakehittäjänä, jotta voimme kasvaa yhdessä.","WEBSITE_APPLY_AS_AN_INTERN":"Hae harjoittelijaksi","WEBSITE_CALLING_ALL_ARTISTS":"Kutsutaan kaikki taiteilijat!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Näytä luovuutesi ja rakkautesi Stremio:ta kohtaan lataamalla fanitaiteesi verkkogalleriaamme. Olipa kyseessä piirros, maalaus tai digitaalinen suunnittelu, haluamme nähdä ainutlaatuisen näkemyksesi Stremio-brändistä. Liity taideharrastajien yhteisöömme ja jaa työsi muiden Stremio-fanien kanssa ympäri maailmaa.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart -galleria","WEBSITE_INTERN_DESIGNER":"Tule osaksi tiimiämme ja vie luovuutesi uusiin korkeuksiin jännittävien harjoittelumahdollisuuksiemme avulla.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies -projekti","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremio:ssa sitoudumme säilyttämään elokuva- ja televisiohistorian tunnistamalla julkisen alan ja orvoiksi jääneet videot. Yhteistyössä yhteisömme kanssa voimme varmistaa, että nämä klassiset taideteokset ovat kaikkien saatavilla ja suojattu tuleville sukupolville nautittavaksi.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Ota rohkeasti yhteyttä, jos haluat osallistua siihen projektiin.","WEBSITE_JOIN_THE_PROJECT":"Liity projektiin","WEBSITE_BE_PART_OF_OUR_MISSION":"Ole osa tehtäväämme","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Kiinnostunut liittymään Stremio-tiimiin? Tarjoamme täysin etätyön intohimoisille ammattilaisille. Tutustu avoimiin paikkoihimme.","WEBSITE_OPEN_POSITIONS":"AVOIMET PAIKAT","WEBSITE_DESCRIPTION":"KUVAUS","WEBSITE_LEARN_MORE":"Lue lisää","WEBSITE_COMPANY":"Yritys","WEBSITE_CONTACTS":"Yhteystiedot","WEBSITE_NEED_HELP":"Tarvitsetko apua?","WEBSITE_STREMIO_WEB_ON_IOS":"Opas Stremio Webille iOS:lla","WEBSITE_LINK_ART_V2":"Fanitaidegalleria","WEBSITE_PARTNERS":"Kumppanit","WEBSITE_SLOGAN_WATCH":"Katso heti","WEBSITE_SLOGAN_ALL":"Kaikki videosisältö, josta nautit, yhdessä paikassa","WEBSITE_SLOGAN_NEW":"Kaikki, mitä voit katsoa","WEBSITE_SLOGAN_NEW_NEW":"Vapaus suoratoistaa","WEBSITE_WATCH_FROM":"Katso alkaen","WEBSITE_DOWNLOAD":"Lataa nyt","WEBSITE_DOWNLOAD_FOR":"Lataa nyt","WEBSITE_IS_DESKTOP":"Stremio on työpöytäsovellus, avaa tämä sivu tietokoneellasi ja lataa se","WEBSITE_DESKTOP_DEMO_VID":"Työpöytädemo","WEBSITE_PAGE_HOME":"Koti","WEBSITE_PAGE_FEATURES":"Ominaisuudet","WEBSITE_PAGE_ADDONS":"Lisäosat","WEBSITE_PAGE_TECH":"Teknologia","WEBSITE_PAGE_CREATE_ADDON":"Luo lisäosa","WEBSITE_PAGE_CONTACTS":"Yhteystiedot","WEBSITE_PAGE_BLOG":"Blogi","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Elokuvat","WEBSITE_TYPE_series_PL":"Sarjat","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Kanavat","WEBSITE_STREMIO_WHAT_IS":"Stremio on sovellus, joka auttaa sinua järjestämään ja katsomaan suosikki videoitasi, elokuviasi, TV-sarjojasi ja TV-kanavia heti.","WEBSITE_FEATURES_WATCH":"Katso välittömästi HD-laadulla","WEBSITE_FEATURES_WATCH_DETAIL":"Klikkaa ja toista suosikki elokuvasi, TV-ohjelmasi, videot ja TV-kanavasi.","WEBSITE_FEATURES_SUBS":"Automaattiset tekstitykset","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio valitsee automaattisesti synkronoidut tekstitykset kielellesi.","WEBSITE_FEATURES_SUBS_LABEL":"Sinun vuorosi, pomo.","WEBSITE_FEATURES_CAST":"Toista TV:ssä ja mobiililaitteissa","WEBSITE_FEATURES_CAST_DETAIL":"Toista AppleTV:ssä, Chromecastissa, Smart TV:ssä (DLNA/UPnP) ja mobiililaitteissa.","WEBSITE_LIB":"Nauti henkilökohtaisesta kirjastostasi synkronoituna kaikilla laitteillasi","WEBSITE_LIB_COLLECT":"Kerää Stremiosta","WEBSITE_LIB_IMPORT":"Tuo Facebookista","WEBSITE_LIB_LOCAL":"Lisää paikalliselta asemalta","WEBSITE_BOARD":"Board - Yksi paikka ilmoituksille ja suosituksille","WEBSITE_BOARD_RECOMMEND":"Suositeltu TV-ohjelma","WEBSITE_BOARD_TRENDING":"Trendaava elokuva","WEBSITE_BOARD_NEW":"Uusi video","WEBSITE_BOARD_EPISODE":"Uusi jakso","WEBSITE_BOARD_1":"Etsitkö jotain mielenkiintoista katsottavaa? Saat suosituksia makusi mukaan!","WEBSITE_BOARD_2":"Saat ilmoituksen, kun uusi jakso suosikki TV-ohjelmastasi tai YouTube-kanavaltasi on ulkona!","WEBSITE_BOARD_YOUTUBE":"Uudet videot YouTube-kanavilta","WEBSITE_BOARD_EPISODES":"Uudet jaksot sarjoista, joita seuraat","WEBSITE_ADDONS":"Sisältölisäosat","WEBSITE_TECH_DETAIL":"Rakastamme teknologiaa, rakastamme hullua tiedettä!\\nStremio käyttää seuraavia avoimen lähdekoodin teknologioita:","WEBSITE_TECH_WCJS":"WebChimera.js mahdollistaa Stremion toistavan mitä tahansa videomuotoa hyvällä suorituskyvyllä.","WEBSITE_TECH_WCJS_EXTRA":"Olemme ydintiimin jäseniä","WEBSITE_TECH_ELECTRON":"Electron tarjoaa innovatiivisen alustan Stremion rakentamiseen.","WEBSITE_TECH_ELECTRON_EXTRA":"Olemme projektin jäseniä","WEBSITE_TECH_LINVODB":"Tietokantateknologia, joka varmistaa, että tietosi ovat järjestettyjä ja saatavilla missä tahansa kirjaudut sisään.","WEBSITE_TECH_LINVODB_EXTRA":"Sisäinen teknologia","WEBSITE_CREATE_ADDON":"Luo lisäosa","WEBSITE_CREATE_ADDON_DETAIL":"Onko sinulla palvelu, joka tarjoaa videosisältöä? Autamme sinua hyötymään Stremion ominaisuuksista luomalla lisäosan.","WEBSITE_CREATE_ADDON_BENEFITS":"Hyödyt Stremion lisäosan luomisesta","WEBSITE_P2P_BEAUTY":"Vertaisverkkoon perustuvan suoratoiston kauneus","WEBSITE_P2P_1":"Luotettava ja edullinen täysi HD / 4K video pyynnöstä tai suorana","WEBSITE_P2P_2":"Jakelualusta, joka tarjoaa erinomaisen käyttökokemuksen","WEBSITE_P2P_3":"Luomme lisäosan, joka vastaa tarkasti tarpeitasi","WEBSITE_P2P_CONTACT":"Kiinnostunut? Ota yhteyttä.","WEBSITE_P2P_CONTACT_EXTRA":"Autamme mielellämme integroimaan sisältösi Stremioon!","WEBSITE_P2P":"Joskus tulee teknologia, joka muuttaa pelin nimen. Investoimme valtavasti aikaa ja vaivaa rakentaessamme vertaisverkkoon perustuvan (P2P) videon suoratoistomoottorimme, joka tarjoaa erinomaisen suorituskyvyn ja monipuolisuuden sopeutua mihin tahansa käyttötapaukseen.\\nOta yhteyttä DRM-yhteensopivaan P2P-videoon pyynnöstä tai suorana suoratoistoon.","WEBSITE_THOUGHTS":"Ajatuksia, joita jaamme:","WEBSITE_SPREAD":"Levitä sanaa Stremiosta:","WEBSITE_CONTACT":"Ota yhteyttä, olemme iloisia kuullessamme sinusta!","WEBSITE_OPENSOURCE":"Avointen lähdekoodiprojektien osalta siirry sivustollemme","WEBSITE_BITCOIN":"Lahjoita bitcoinilla:","WEBSITE_FAQ":"Usein kysytyt kysymykset","WEBSITE_FAQ_SHORT":"UKK","WEBSITE_QUESTIONS":"Kysymykset","WEBSITE_TOS":"Käyttöehdot","WEBSITE_LEGAL":"Lakiasiat","WEBSITE_PAGE_ABOUT":"Tietoja","WEBSITE_PAGE_BECOME_PARTNER":"Tule kumppaniksi","WEBSITE_ALL_YOU_CAN_WATCH":"Vapaus katsoa Kaikkea mitä haluat.","WEBSITE_FREEDOM_TO_STREAM":"Vapaus suoratoistaa","WEBSITE_WHAT_IS_STREMIO":"Mikä on Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio on yhden pysähdyksen keskus videosisällön keräämiseen. Löydä, järjestä ja katso videoita kaikenlaisista lähteistä millä tahansa laitteella, joka sinulla on.","WEBSITE_WHAT_IS_STREMIO_P2":"Elokuvat, TV-ohjelmat, sarjat, live-televisio tai web-kanavat, kuten YouTube ja Twitch.tv - kaikki tämä löytyy Stremiosta.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio on moderni mediasoitin, joka on yhden pysähdyksen ratkaisu videoviihteellesi. Löydät, katsot ja järjestät videosisältöä helposti asennettavista lisäosista.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Elokuvat, TV-ohjelmat, live-TV tai web-kanavat - löydät kaiken tämän Stremiosta.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Nauti kaikilla laitteillasi","WEBSITE_DEVICES_COLLECT":"Kerää Stremiosta","WEBSITE_DEVICES_IMPORT_FB":"Tuo Facebookista","WEBSITE_DEVICES_LOCAL":"Lisää paikalliselta asemalta","WEBSITE_JOIN_THE_PARTY_NOW":"Liity juhlaan nyt","WEBSITE_DEVICES_ALL":"Helppo käyttää kaikilla laitteillasi;","WEBSITE_EXTENDABLE_CATALOG":"Loputtomasti laajennettavissa oleva videoluettelo;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Mahtavia ominaisuuksia videoidesi järjestämiseen;","WEBSITE_AS_SEEN_ON":"Kuten nähty","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Tietoa meistä","WEBSITE_LINK_TECHNOLOGY":"Teknologia","WEBSITE_LINK_APPS":"Sovellukset","WEBSITE_LINK_DOWNLOADS":"Lataukset","WEBSITE_MORE":"Lisää","WEBSITE_LINK_ADDONS":"Lisäosat","WEBSITE_LINK_ADDON_SDK":"Lisäosan SDK","WEBSITE_LINK_CONTRIBUTE":"Osallistu","WEBSITE_LINK_COMMUNITY":"Yhteisö","WEBSITE_LINK_BLOG":"Blogi","WEBSITE_MORE_MORE":"... & Lisää","WEBSITE_LINK_HELP":"Ohjekeskus","WEBSITE_LINK_CONTACTS":"Liiketoimintakyselyt","WEBSITE_LINK_TOS":"Käyttöehdot","WEBSITE_LINK_PRAVACY":"Tietosuojakäytäntö","WEBSITE_SUBSCRIBE":"Tilaa","WEBSITE_NEWSLETTER":"Liity uutiskirjeemme tilaajaksi ja saat upeita juttuja","WEBSITE_PLACEHOLDER_EMAIL":"Sähköpostiosoitteesi","WEBSITE_COMMUNITY":"Yhteisö","WEBSITE_LINK_PRAVACY_LEGAL":"Tietosuoja ja oikeudelliset asiat","WEBSITE_WHY":"Miksi teemme tätä","WEBSITE_WHY_P1":"Stremio-tiimi tulee töihin joka päivä, koska haluamme ratkaista tärkeän ongelman videon suoratoistoteollisuudelle. Joka minuutti julkaistaan niin paljon uutta sisältöä, että sen läpikäyminen on käytännössä mahdotonta.","WEBSITE_WHY_P2":"Autamme ihmisiä navigoimaan tuon valtavan videoviihde-maailman läpi ja löytämään uutta sisältöä nautittavaksi. Sovelluksemme yhdistävät elokuvat, sarjat, suorat TV-lähetykset, verkkokanavat ja paljon muuta. Olemme omistautuneet tekemään käyttäjille uskomattoman helppoa löytää heidän rakastamansa nimikkeet ja lähettäjät.","WEBSITE_WHY_P3":"Voit käyttää palveluamme millä tahansa laitteella ja milloin tahansa, joten Stremio on ainoa videoviihdekeskus, jota koskaan tarvitset.","WEBSITE_TEAM":"TIIMI","WEBSITE_TEAM_P":"Stremio-tiimi on pieni mutta voimakas: meitä on kymmenen, ja koodaamme X kielellä. Jaamme asiantuntemusta ohjelmistokehityksestä, käyttöliittymä- ja käyttökokemussuunnittelusta, markkinoinnista ja mainonnasta sekä liiketoiminnasta ja startupeista.","WEBSITE_FEATURES":"Ominaisuudet","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Löydä uutta sisältöä helposti","WEBSITE_FEATURES_DISCOVER_P":"Löydä helposti uusia elokuvia, TV-ohjelmia, sarjoja ja kanavia katsottavaksi. Selaa kategoria-, genre-, arvostelu-, ajankohta- jne. -perusteella tai kirjoita nimi löytääksesi. Stremio tekee uuden videosisällön löytämisestä helppoa kuin kakkupalan syöminen.","WEBSITE_FEATURES_ALL_CONTENT":"Kaikki videosisältö yhdellä näytöllä","WEBSITE_FEATURES_ALL_CONTENT_P1":"Näe, mitä elokuvia, sarjoja tai videoita et ole vielä katsonut loppuun ja jatka niiden katsomista; saat ilmoituksen uusista jaksoista ja julkaisuista; ja selaa suosituksia, jotka saat katselutottumuksiesi perusteella.","WEBSITE_FEATURES_LIBRARY":"Järjestä videokirjastosi","WEBSITE_FEATURES_LIBRARY_P1":"Lisää mikä tahansa nimike Stremio-kirjastoosi yhdellä napsautuksella ja löydä tiensä sisältöösi, joka on järjestetty tyypin, ajankohdan tai aakkosjärjestyksen mukaan.","WEBSITE_FEATURES_CALENDAR":"Pidä kirjaa kaikesta, mitä katsot","WEBSITE_FEATURES_CALENDAR_P1":"Saat kalenterinäkymän kaikista elokuvista ja sarjoista, jotka lisäät kirjastoosi. Vie Stremio-kalenterisi ja synkronoi se, jotta tiedät aina, milloin uusi jakso tai ensi-ilta on tulossa.","WEBSITE_FEATURES_BIG_SCREEN":"Nauti videosisällöstä suuremmalla näytöllä","WEBSITE_FEATURES_BIG_SCREEN_P1":"Heijasta mitä tahansa katsot toiselle laitteelle - olipa se sitten puhelin, tabletti tai TV - yhdellä napsautuksella.","WEBSITE_FEATURES_SOURCES":"Katso videoita monista eri lähteistä","WEBSITE_FEATURES_SOURCES_P":"Asenna virallisia ja yhteisölisäosia nauttiaksesi videoista, jotka ovat peräisin monilta eri tarjoajilta - kaikki yhdessä tyylikkäässä ja helppokäyttöisessä sovelluksessa.","WEBSITE_CREATE_AN_ADDON":"Luo lisäosa","WEBSITE_FEATURES_SYNC":"Synkronoi kirjastosi eri laitteiden välillä ja jatka toistoa","WEBSITE_FEATURES_SYNC_P1":"Kirjaudu tilillesi kaikilla laitteillasi ja nauti kirjastostasi, lisäosistasi, toistostasi ja kalenteristasi synkronoituna.","WEBSITE_FEATURES_EXTENDABLE":"Laajennettava videoluettelo lisäosilla","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio-lisäosakatalogi tarjoaa useita lisäosia, joita voit asentaa ja katsella erilaisia videosisältöjä. Tämä sisältää elokuvia, ohjelmia, suoraa TV-lähetystä, urheilua, uutisia, podcasteja, verkkokanavia, videopelejä ja paljon muuta.","WEBSITE_FEATURES_AUTO_SUBS":"Automaattiset tekstitykset","WEBSITE_FEATURES_AUTO_SUBS_P1":"Tekstityslisäosiemme avulla saat automaattisesti valitut vaihtoehdot haluamallasi kielellä.","WEBSITE_FEATURES_CHROMECAST":"Heijastus Chromecastiin","WEBSITE_FEATURES_CHROMECAST_P1":"Nauti videosisällöstä suuremmalla näytöllä tai heijasta mitä tahansa katsot toiselle laitteelle.","WEBSITE_FEATURES_KEEP_TRACK":"Pidä kirjaa suosikki-TV-ohjelmistasi ja verkkokanavistasi","WEBSITE_FEATURES_KEEP_TRACK_P1":"Saat kalenterinäkymän ja ilmoitukset suosikkisarjojesi ja verkkokanaviesi uusista jaksoista.","WEBSITE_FEATURES_POWER_USER":"Tehokäyttäjän ominaisuudet","WEBSITE_FEATURES_POWER_USER_P1":"Toista ulkoisessa soittimessa","WEBSITE_FEATURES_POWER_USER_P2":"Toista torrent-tiedostosta tai magnet-linkistä","WEBSITE_FEATURES_POWER_USER_P3":"Tuo kirjastoosi Facebook-tykkäyksistä tai paikalliselta levyltä","WEBSITE_ADD_ONS":"Lisäosat","WEBSITE_ADD_ONS_P1":"Kaikki Stremion tarjoama videosisältö hankitaan lisäosajärjestelmän kautta - sovellukseen ei ole rakennettu sisältöä tai sisällöntarjoajaa.","WEBSITE_ADD_ONS_P2":"Saatavilla on kaksi lisäosaryhmää: viralliset ja yhteisölisäosat.","WEBSITE_ADD_ONS_P3":"Viralliset ovat Stremion kehittämiä ja isännöimiä, kun taas yhteisölisäosat on luonut yhteisömme jäsenet, jotka myös isännöivät niitä.","WEBSITE_ADDONS_OFFICIAL":"Viralliset lisäosat","WEBSITE_ADDONS_WATCHUB":"Suoratoista suosikkielokuvasi, -sarjasi ja -ohjelmasi iTunesilta, Hululta, Amazonilta ja muilta brittiläisiltä/amerikkalaisilta palveluilta.","WEBSITE_ADDONS_YOUTUBE":"Katso suosikki-YouTube-kanaviasi mainoksettomasti ja saat ilmoituksia uusista lähetyksistä seuraamiltaan tekijöiltä.","WEBSITE_ADDONS_FILMON":"Katso ilmaiseksi suoraa TV-lähetystä, elokuvia, dokumentteja ja paljon muuta. 600 TV-kanavaa, 45 000 ilmaista elokuvaa ja paljon muuta.","WEBSITE_ADDONS_OPENSUBTITLES":"Elokuvien ja TV-ohjelmien tekstitykset useilla kielillä, tuhansia käännettyjä tekstityksiä ladattu päivittäin.","WEBSITE_ADDONS_COMMUNITY":"Yhteisölisäosat","WEBSITE_ADDONS_FILMON_VOD":"Katso videoita pyynnöstä Filmon.tv:stä","WEBSITE_ADDONS_TWICH":"Katso suoratoistoja Twitch.tv:stä - videostreaming-alustasta e-urheilualalle.","WEBSITE_ADDONS_VODO":"Katso indie-elokuvia täysin ilmaiseksi.","WEBSITE_ADDONS_NETFLIX":"Katso Netflix-elokuvia ja -sarjoja.","WEBSITE_ADDONS_CREATE":"Luo lisäosa","WEBSITE_ADDONS_CREATE_P1":"Jos haluat, voit kehittää oman lisäosan. Tällä tavalla voit antaa itsellesi ja yhteisöllemme pääsyn uuteen videosisältöön ja tavoittaa uuden, kohdennetun yleisön miljoonien käyttäjien ympäri maailmaa.","WEBSITE_ADDONS_START_CREATE":"Aloittaaksesi, käy Stremio Addon SDK -sivulla:","WEBSITE_DOWNLOADS":"Lataukset","WEBSITE_DOWNLOADS_P1":"Optimaalisen suorituskyvyn saavuttamiseksi suosittelemme käyttämään Stremio-sovelluksen uusinta saatavilla olevaa versiota. Jos kuitenkin jostain syystä haluat käyttää vanhempaa versiota, voit ladata sen täältä.","WEBSITE_DOWNLOADS_P1_SHORT":"Optimaalisen suorituskyvyn saavuttamiseksi suosittelemme käyttämään Stremio-sovelluksen uusinta saatavilla olevaa versiota.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio Windowsille","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio macOS:lle","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio Linuxille","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio Androidille","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio Android TV:lle","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio Android-mobiililaitteille","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio Steam Deckille","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio iOS:lle (rajoitettu versio)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Lataa Stremio-palvelu","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio-palvelu on kumppanisovellus Stremio Webille. Suosittelemme käyttämään Stremio-palvelun uusinta saatavilla olevaa versiota.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio-palvelu Windowsille","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio-palvelu macOS:lle","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio-palvelu Linuxille","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio-palvelu Dockerille","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Lisää latausvaihtoehtoja","WEBSITE_DOWNLOAD_NEW":"Uusi!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Julkaisimme Stremio Webin","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Osallistu","WEBSITE_CONTRIBUTE_P1":"Stremio-alusta on avoimen lähdekoodin ja voit helposti luoda lisäosan sisällölle, jota ei tällä hetkellä ole saatavilla.","WEBSITE_CONTRIBUTE_WHY":"Miksi sinun pitäisi luoda lisäosa?","WEBSITE_CONTRIBUTE_WHY_P1":"Tavoita uusi yleisö videosisällöllesi","WEBSITE_CONTRIBUTE_WHY_P2":"Stremion käyttäjämäärä kasvaa nopeasti - ensimmäisen vuoden aikana julkaisun jälkeen Stremio oli saanut 1 miljoonaa käyttäjää ympäri maailmaa, ja toisena vuonna alustan olemassaolon tämä luku kasvoi 2,5 miljoonaan.","WEBSITE_CONTRIBUTE_WHY_P3":"Lisäosallasi voit helposti tavoittaa tämän yleisön ja jakaa videosisältösi heille.","WEBSITE_CONTRIBUTE_ALL":"Katso suosikkielokuvasi, -videosi, -sarjasi ja -kanavasi yhdessä paikassa.","WEBSITE_CONTRIBUTE_ALL_P1":"Oletko jonkin tietyn sisällön fani, jota ei ole vielä saatavilla Stremiossa? Luo lisäosa sille ja nauti suosikki-videoistasi yhdessä markkinoiden suurimmista ja helpoimmin käytettävistä viihdekeskuksista.","WEBSITE_CONTRIBUTE_ALL_P2":"Lisäksi saat loputtoman kiitollisuuden muilta samanmielisiltä Stremio-yhteisön jäseniltä.","WEBSITE_CONTRIBUTE_MONETIZE":"Ansaitse rahaa lisäosallasi","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Kun kehität uuden lisäosan Stremiolle, voit helposti ansaita rahaa monella eri tavalla. Jos harkitset tätä, ota yhteyttä meihin osoitteessa ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - olemme iloisia voidessamme konsultoida ja neuvoa sinua lisäosan ansaitsemisvaihtoehdoista.","WEBSITE_CONTRIBUTE_TRANSLATE":"Tule vapaaehtoiseksi kääntäjäksi","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Jos haluat nauttia Stremio-sovelluksista eri kielillä, voit liittyä vapaaehtoisten kääntäjien yhteisöömme. He auttavat meitä lisäämään Stremion versioita monilla eri kielillä.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Haluatko aloittaa?","WEBSITE_TRANSALTE_STREMIO":"Käännä Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Viralliset yhteisöt","WEBSITE_COMMUNITY_OFFICIALS_P1":"Tule osaksi kasvavaa Stremio-yhteisöä. Seuraa meitä sosiaalisessa mediassa ja älä ole ujo sanoa hei - rakastamme kuulla faneiltamme! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Epäviralliset yhteisöt","STREMIO_COMMUNITY_NL":"Stremio Alankomaat","STREMIO_COMMUNITY_BRASIL":"Stremio Brasilia","STREMIO_COMMUNITY_GERMANY":"Stremio Saksa","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgia","STREMIO_COMMUNITY_FRANCE":"Stremio Ranska","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugali","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Meksiko","STREMIO_COMMUNITY_ADDONS":"Stremio-lisäosat","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Mahtava Stremio","WEBSITE_COMMUNITY_PARTNERS":"Kumppanit ja tukijat","WEBSITE_COMMUNITY_GOODIES":"Stremio-hyödykkeet","WEBSITE_COMMUNITY_WALLPAPERS":"Taustakuvat","WEBSITE_COMMUNITY_ART":"Yhteisön taidegalleria","WEBSITE_LINK_ART":"Yhteisön taidegalleria","WEBSITE_CONTACT_US":"Ota yhteyttä","WEBSITE_CONTACT_US_P1":"Jos sinulla on kysyttävää, kommentteja tai ehdotuksia, ota meihin yhteyttä alla olevan yhteydenottolomakkeen kautta.","WEBSITE_CONTACT_US_P2":"Pidä mielessä, että sijaitsemme Bulgariassa, joten kyselyysi vastaaminen voi kestää aikavyöhyke-erojen vuoksi.","WEBSITE_CONTACT_US_SUCCESS":"Viestisi on lähetetty. Otamme sinuun yhteyttä mahdollisimman pian.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Syötä kelvollinen sähköpostiosoite!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Mihin kysymyksesi liittyy?","WEBSITE_CONTACT_US_Q_OS":"Mikä on käyttöjärjestelmäsi?","WEBSITE_CONTACT_US_PH_EMAIL":"Sähköpostiosoitteesi","WEBSITE_CONTACT_US_PH_MESSAGE":"Viesti","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"LÄHETÄ","WEBSITE_CONTACT_US_Q_1":"Miten asennetaan?","WEBSITE_CONTACT_US_Q_2":"Miten poistetaan?","WEBSITE_CONTACT_US_Q_3":"(HTML) Miten tehdään lasagnea?","WEBSITE_CONTACT_US_Q_4":"Lisäosat","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknologia","WEBSITE_TECHNOLOGY_P1":"Rakastamme teknologiaa ja hullua tiedettä.
    Tässä on mitä Stremio käyttää (kaikki on avoimen lähdekoodin).","WEBSITE_TECHNOLOGY_P_QT":"Ristiin alustan ohjelmistokehitys parhaimmillaan.","WEBSITE_TECHNOLOGY_P_MPV":"Ilmainen, avoimen lähdekoodin ja ristiin alustan mediasoitin.","WEBSITE_TECHNOLOGY_P_RN":"React Native mahdollistaa mobiilisovellusten rakentamisen vain JavaScriptillä.","WEBSITE_TECHNOLOGY_P_VLC":"Mediakehys, joka on upotettu sovellukseen multimediaa varten.","WEBSITE_TECHNOLOGY_P_REALM":"Realm on mobiilialusta ja korvaa SQLite:n ja Core Datan.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js on avoimen lähdekoodin, ristiin alustan JavaScript-suoritusympäristö.","WEBSITE_TECHNOLOGY_P_RUST":"Rust on moniparadigmainen järjestelmäohjelmointikieli, joka keskittyy turvallisuuteen, erityisesti turvalliseen samanaikaisuuteen.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Osallistu projektiin","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Voit osallistua Stremioon kahdella tavalla ja auttaa meitä tekemään tuotteesta vielä paremman.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Voit lahjoittaa arvokkaat kielitaitosi kääntämällä alustan...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"tai","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... voit käyttää koodaustaitojasi yhteisön lisäosien luomiseen.","WEBSITE_TRANSLATE_STREMIO":"Käännä Stremio","WEBSITE_404_OH_NO":"Voi ei! Etsimääsi sivua ei löydy...","WEBSITE_GO_HOME":"Mene kotiin","WEBSITE_LINK_OTHER_DOWNLOADS":"Muut lataukset","WEBSITE_FAQ_ABR":"UKK","WEBSITE_SUPPORT":"Tuki","WEBSITE_DOWNLOAD_4_0_BETA":"Lataa Stremio 4 beta nyt","WEBSITE_GET_FOR_DESKTOP":"Hanki työpöydälle","WEBSITE_LINK_ADDON_COMPETITION":"Lisäosakilpailu","WEBSITE_LINK_ART_CONTEST":"Taidekilpailu","WEBSITE_MY_ACCOUNT":"Oma tili","WEBSITE_MAINPAGE_FAQ_001_H1":"Mikä on Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio on moderni mediasoitin, joka antaa sinulle vapauden katsoa kaikkea mitä haluat.","WEBSITE_MAINPAGE_FAQ_002_H1":"Miten se toimii?","WEBSITE_MAINPAGE_FAQ_002_P1":"Kun olet asentanut Stremion laitteellesi ja luonut tilin, sinun tarvitsee vain käydä lisäosakatalogissa ja asentaa haluamasi lisäosa, ja olet valmis!","WEBSITE_MAINPAGE_FAQ_002_P2":"Sen jälkeen voit siirtyä Löydä tai Board -osioihin aloittaaksesi sisällön tutkimisen.","WEBSITE_MAINPAGE_FAQ_003_H1":"Mitä voin katsoa täällä?","WEBSITE_MAINPAGE_FAQ_003_P1":"Paljon: elokuvia, TV-ohjelmia, verkkokanavia, urheilua, TV-kanavia, podcasteja ja paljon muuta. Lisäosajärjestelmämme ansiosta voit käyttää monipuolista sisältöä.","WEBSITE_MAINPAGE_FAQ_004_H1":"Onko Stremio avoimen lähdekoodin ohjelmisto?","WEBSITE_MAINPAGE_FAQ_004_P1":"Kyllä, voit tarkistaa seuraavat linkit: ${1}työpöytäsovellus${2} ja ${3}GitHub-organisaatio${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Onko Stremio turvallinen?","WEBSITE_MAINPAGE_FAQ_005_P1":"Kyllä: koska se on avoimen lähdekoodin ohjelmisto, koodi on julkisesti tarkastettavissa ja voit tarkistaa sen itse.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremion lisäosajärjestelmä on myös luotu käyttäjän turvallisuus mielessä. Lisäosat eivät suorita mitään koodia paikallisesti, joten ne eivät aiheuta riskejä laitteellesi.","WEBSITE_MAINPAGE_FAQ_006_H1":"Entä yksityisyyteni?","WEBSITE_MAINPAGE_FAQ_006_P1":"Kunnioitamme käyttäjien yksityisyyttä emmekä kerää mitään henkilökohtaisia tietoja paitsi välttämättömimmät tiedot tilin luomiseen ja synkronointiin.","WEBSITE_MAINPAGE_FAQ_006_P2":"On myös ${1}Vieras-tila${2} rekisteröitymisen yhteydessä, joka ei vaadi mitään tietoja: tässä tilassa ei tehdä mitään kutsuja taustajärjestelmäämme. Se tulee kuitenkin kustannuksella hyödyllisiä ominaisuuksia, kuten kirjaston synkronointia laitteiden välillä.","WEBSITE_MAINPAGE_FAQ_007_H1":"Voinko heijastaa TV:hen?","WEBSITE_MAINPAGE_FAQ_007_P1":"Kyllä, tuemme Chromecastia ja voit heijastaa sekä työpöytä- että mobiilisovelluksista (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Kuinka monta lisäosaa Stremiolla on?","WEBSITE_MAINPAGE_FAQ_008_P1":"Vuoden 2019 lopulla yli 50 - lisätietoja löytyy lisäosakatalogistamme.","WEBSITE_MAINPAGE_FAQ_009_H1":"Voiko Stremiota laajentaa lisäosakatalogin ulkopuolelle?","WEBSITE_MAINPAGE_FAQ_009_P1":"Kyllä, sinun pitäisi tarkistaa nämä: ${1}PimpMyStremio${2}, ${3}Reddit-yhteisöt${4}, ${5}Stremio Downloader${6}, jne.","WEBSITE_MAINPAGE_FAQ_010_H1":"Mitä laitteita Stremio tukee?","WEBSITE_MAINPAGE_FAQ_010_P1":"Meillä on työpöytäsovelluksia Windowsille, Macille ja Linuxille. Mobiililaitteille tuemme Androidia ja iOS:ia, vaikka iOS onkin rajoitettu toiminnallisuudessaan (ei tue suurinta osaa lisäosista).","WEBSITE_MAINPAGE_FAQ_010_P2":"On monia Android-pohjaisia laitteita, joilla voit käyttää Stremiota, kuten NVIDIA Shield ja Amazon Fire Stick, mutta emme tue niitä virallisesti.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Meillä on työpöytäsovelluksia Windowsille, Macille ja Linuxille. Meillä on myös omistetut sovellukset Android Mobilelle ja Android TV:lle. iOS:lle ja iPadOS:lle suosittelemme käyttämään Stremio Webiä, vaikka se onkin rajoitetumpi toiminnallisuudessaan.","WEBSITE_MAINPAGE_FAQ_011_H1":"Voitko lisätä tiettyä sisältöä Stremioon?","WEBSITE_MAINPAGE_FAQ_011_P1":"Pahoittelut, emme tarjoa sisältöä itse, mutta mitä enemmän Stremio-lisäosia sinulla on asennettuna, sitä enemmän sisältöä löydät.","WEBSITE_MAINPAGE_FAQ_012_H1":"Voiko Stremio toistaa magnet-linkkejä?","WEBSITE_MAINPAGE_FAQ_012_P1":"Kyllä, ja se voi myös toistaa normaaleja HTTP-linkkejä ja torrent-tiedostoja (vedä ja pudota).","WEBSITE_MAINPAGE_FAQ_013_H1":"Voinko ladata videon ja katsoa sitä offline-tilassa?","WEBSITE_MAINPAGE_FAQ_013_P1":"Offline-tila on tulossa, mutta jos sallit Stremion välimuistin laitteellasi (asetuspaneelista), voit katsoa videoita myöhemmin ilman yhteyttä.","WEBSITE_MAINPAGE_FAQ_014_H1":"Mikään ei toimi, auta minua!","WEBSITE_MAINPAGE_FAQ_014_P1":"Oletko varma, että olet asentanut lisäosia? Jos kyllä, tarkista ${1}apukeskuksestamme${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Kuinka Stremio ylläpitää kehitystoimintaansa?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ajastamme ei-häiritseviä mainoksia satunnaisesti, mutta harkitsemme siirtymistä lahjoitusmalliin.","WEBSITE_MAINPAGE_FAQ_015_P2":"Lisää kysymyksiä varten siirry ${1}apukeskukseemme${2}.","HELP_LEARN_MORE":"Auttakaa meitä oppimaan lisää sinusta.","LIFESTYLE":"Elämäntyyli","SPORTS":"Urheilu","FOOD_HEALTH":"Ruoka ja terveys","BEAUTY_FASHION":"Kauneus ja muoti","NEWS":"Uutiset","GAMING":"Pelaaminen","SCIENCE_EDUCATION":"Tiede ja koulutus","MUSIC":"Musiikki","TRAVEL":"Matkailu","LATE_NIGHT":"Myöhäinen yö","REALITY":"Todellisuus","COMEDY":"Komedia","DIY":"Kuinka tehdä itse","TECH":"Tekniikka","CINEMA":"Elokuvat","CONTINUE":"Jatka","SLOW_LOADING":"HIDAS LATAUS?","I_GIVE_UP":"LUOVUTAN","LEARN_MORE":"Lue lisää","POOR_SOURCE":"Tämä lähde on huonosti saatavilla tai internet-yhteytesi ei ole tarpeeksi nopea","PICK_CATEGORIES_ERR":"Sinun on valittava vähintään 3 luokkaa","ADJUST_TIMING":"Säädä ajoitusta ","ADJUST_SIZE":"Säädä kokoa ","SEARCH_ANYTHING":"Voit etsiä mitä tahansa...","ALL_CATEGORIES":"Kaikki","SEARCH_CATEGORIES":"Elokuvat, sarjat, YouTube ja TV","SEARCH_PERSONS":"Näyttelijät, ohjaajat ja kirjoittajat","SEARCH_PROTOCOLS":"HTTP- ja magnet-linkit","SEARCH_TYPES":"IMDB / TVDB -linkit","WATCHED":"Katsottu","SHOW_LESS":"Näytä vähemmän","LAST_SEARCHES":"Viimeiset haut","CLEAR_HISTORY":"Tyhjennä historia","CHOOSE_SOME":"VALITSE JOITAIN TÄSTÄ:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote ei voitu ladata","STREMIO_OFFLINE":"Stremio on offline-tilassa","STREMIO_EXPENSIVE_CONNECTION":"Havaitsemme, että käytät matkapuhelinverkkoyhteyttä. Haluatko jatkaa?","USE_DATA":"Käytä dataa","WARNING":"Varoitus","MORE_INFO":"Lisätietoja ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Ladataan...","STREMIO_TV_BACK_TO_LANGUAGES":"Takaisin kielivalintoihin","STREMIO_TV_REMOTE":"Kaukosäädin","STREMIO_TV_GO_TO":"Siirry kohteeseen:","STREMIO_TV_OR_SCAN":"tai skannaa:","STREMIO_TV_ADDON_INSTRUCTIONS":"Seuraa ohjeita asentaaksesi haluamasi lisäosat.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Jatka katselua","STREMIO_TV_LOADING_BACKGROUND":"Ladataan taustaa","STREMIO_TV_CHECKING_AUTHENTICATION":"Tarkistetaan todennus","STREMIO_TV_LOADING_BOARD":"Ladataan hallintapaneelia","STREMIO_TV_LOGIN_HEADER_LINE_1":"Haluamme käyttäjiemme saavan parhaan mahdollisen henkilökohtaisen kokemuksen ohjelmistostamme.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Siksi pyydämme ystävällisesti sinua tekemään tilin ja/tai kirjautumaan sisään.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Kiitos ymmärryksestäsi,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio-tiimi","STREMIO_TV_REMOTE_INSTRUCTIONS":"Jotta voit käyttää Web Remotea älypuhelimellasi / tabletillasi / työpöydälläsi:","STREMIO_TV_WIFI_SETUP":"Wi-Fi-asetukset","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle ei havainnut internet-yhteyttä.","STREMIO_TV_WIFI_DETAILS_1":"Yhdistä:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Käytä salasanaa:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Avaa verkkoselain linkillä:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Oletus","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Viimeksi katsotun mukaan","STREMIO_TV_LIBRARY_SORT_NAME":"Nimen mukaan","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Katselukertojen mukaan","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Kausi ${1}","STREMIO_TV_STREAMS_LOADING":"Ladattu ${1} / ${2} lisäosaa...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} lisäosa latautuu edelleen...","STREMIO_TV_PLAYER_SETTINGS":"Soittimen asetukset","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Tekstitysten viive","STREMIO_TV_PLAYER_AUDIO_DELAY":"Äänen viive","STREMIO_TV_PLAYER_VIDEO_SCALING":"Videon skaalaus","STREMIO_TV_PLAYER_CHAPTERS":"Luvut","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Ohita ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Tämä lähteen lähetykset eivät ole tuettuja","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Epäonnistui avattaessa ulkoista linkkiä","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Ei säädettävissä äänen läpivientitilassa","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Toista ExoPlayerilla","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Toista libVLC-soittimella","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Siirrytään libVLC-soittimeen toistovirheen vuoksi","STREMIO_TV_ADDONS_TITLE":"Käytä Stremioa puhelimellasi tai tietokoneellasi asentaaksesi tai määrittääksesi lisäosia ja paina \\"Synkronoi lisäosat\\"","STREMIO_TV_ADDONS_SUBTITLE":"Huomaa: varmista, että käytät samaa Stremio-tiliä","STREMIO_TV_ADDONS_SYNC_ADDONS":"Synkronoi lisäosat","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Lisäosat synkronoitu onnistuneesti","STREMIO_TV_ADDONS_SYNC_FAILED":"Lisäosien synkronointi epäonnistui","STREMIO_TV_META_LINK_FAILED":"Epäonnistui avattaessa meta-linkkiä","STREMIO_TV_CATALOG_LOADING":"Luetteloa ladataan edelleen...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Käyttöliittymän kieli päivitetty","STREMIO_TV_SETTINGS_THEME_UPDATED":"Teema päivitetty","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Oletussoitin","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Ulkoiset soittimet","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Ensisijainen kieli","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Toissijainen kieli","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunneloitu toisto","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Mahdollisia toistovirheitä joillakin laitteilla","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Jotkin videomuodot eivät ehkä toimi","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Kuvataajuuden vastaavuus","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Poistettu käytöstä","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Vain kuvataajuus","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Kuvataajuus ja resoluutio","STREMIO_TV_SETTINGS_NO_CACHING":"Ei välimuistia","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Oletus","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Pehmeä","STREMIO_TV_SETTINGS_PROFILE_FAST":"Nopea","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Erittäin nopea","STREMIO_TV_SETTINGS_SERVER_URL":"Suoratoistopalvelimen URL-osoite","STREMIO_TV_SETTINGS_SERVER_VERSION":"Palvelimen versio","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Tuntematon","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio-versio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Muokkaa palvelimen URL-osoitetta","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Syötä suoratoistopalvelimen URL-osoite","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Näytä tilastot latauksen aikana","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremion tietosuojakäytännön lukemiseksi käy osoitteessa:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremion käyttöehtojen lukemiseksi käy osoitteessa:","STREMIO_TV_NAV_SEARCH":"Haku","STREMIO_TV_NAV_HOME":"Koti","STREMIO_TV_NAV_DISCOVER":"Löydä","STREMIO_TV_NAV_LIBRARY":"Kirjasto","STREMIO_TV_NAV_MOVIES":"Elokuvat","STREMIO_TV_NAV_SERIES":"Sarjat","STREMIO_TV_NAV_CHANNELS":"Kanavat","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Asetukset","STREMIO_TV_NAV_ADDONS":"Lisäosat","STREMIO_TV_LOGIN_TITLE":"Linkitä tili","STREMIO_TV_LOGIN_EXPIRES_IN":"Vanhenee","STREMIO_TV_LOGIN_STEP_ONE":"Skannaa yllä oleva QR-koodi tai siirry osoitteeseen","STREMIO_TV_LOGIN_STEP_TWO":"Kirjaudu sisään Stremio-tilillesi","STREMIO_TV_LOGIN_NEW_LINK":"Pyydä uutta linkkiä","STREMIO_TV_LOGIN_LINK_REFRESHED":"Kirjautumiskoodi päivitetty","STREMIO_TV_SEARCH_PLACEHOLDER":"Kirjoita jotain","STREMIO_TV_SEARCH_NO_ADDONS":"Ei lisäosia pyydetty katalogeille!","STREMIO_TV_SEARCH_BUTTON":"Hae","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Väli","STREMIO_TV_SEARCH_KEY_CLEAR":"Tyhjennä","STREMIO_TV_SEARCH_HISTORY_TITLE":"Hakuhistoria","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Voit hakea otsikoita, näyttelijöitä, kanavia ja paljon muuta...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Tyhjennä hakuhistoria","STREMIO_TV_FILTERS_DESCRIPTION":"Valitse yksi alla olevista suodattimista","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Suoratoistopalvelin ei ole käytössä. Tarkista palvelimen asetukset.","FILTERS":"Suodattimet","SETTINGS":"Asetukset","ACCOUNT":"Tili","LOGOUT":"Kirjaudu ulos","THEMES":"Teemat","PLAYBACK":"Toisto","PLAYBACK_SPEED":"Toistonopeus","AUDIO_TRACKS":"Ääniraidat","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videot","SERVER":"Palvelin","LINKS":"Linkit","ABOUT":"Tietoja","INTERFACE":"Käyttöliittymä","ANIMATIONS":"Animaatiot","STATUS":"Tila","LANGUAGE":"Kieli","SIZE":"Koko","DELAY":"Viive","BOLD":"Lihavointi","OPACITY":"Opacity","TEXT_COLOR":"Tekstin väri","OUTLINE_COLOR":"Ääriviivan väri","BACKGROUND_COLOR":"Taustan väri","BACKGROUND_BLUR":"Taustan sumennus","SEEK_TIME_DURATION":"Etsi aikaa kesto","AUTO_PLAY":"Toista seuraava jakso automaattisesti","PLAY_NOW":"Toista nyt","MARK_AS_WATCHED":"Merkitse katsotuksi","MARK_AS_UNWATCHED":"Merkitse katsomattomaksi","REWIND_TO_BEGINNING":"Kelaa alkuun","CONTINUE_WATCHING":"Jatka katselua","ALL":"Kaikki","SECONDS":"sekuntia","ON":"PÄÄLLÄ","OFF":"POIS PÄÄLTÄ","RELOAD":"Lataa uudelleen","EDIT_URL":"Muokkaa URL-osoitetta","URL":"URL","NONE":"Ei mitään","EMBEDDED":"Upotettu","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Vaihda laitetta","REMOTE_VIDEOS":"Videot","REMOTE_ADJUST_TIMING":"Säädä ajoitusta","REMOTE_ADJUST_SIZE":"Säädä kokoa","REMOTE_COULD_NOT_BE_LOADED":"Verkkokaukosäädin ei voitu ladata","REMOTE_RETRY":"Yritä uudelleen","TORRENT_PROFILE_DEFAULT":"Oletus","TORRENT_PROFILE_SOFT":"Hidas","TORRENT_PROFILE_FAST":"Nopea","TORRENT_PROFILE_ULTRA_FAST":"Erittäin nopea","MB_S":"MB/s","FAQ_001_H1":"Mikä on Stremio?","FAQ_001_P1":"Stremio on mediasoitinohjelmisto, joka on suunniteltu videoviihdettä ajatellen. Stremio mahdollistaa oman elokuva-, sarja-, kanava- ja suoratoistokokoelman järjestämisen ja katsomisen.","FAQ_001_P2":"Stremio kerää näyttämänsä sisällön paikalliselta levyltäsi ja lisäosajärjestelmästämme.","FAQ_001_P3":"Se myös ilmoittaa sinulle, kun uusia jaksoja/videoita/elokuvia, joista olet kiinnostunut, tulee ulos, ja antaa sinulle elokuvasuosituksia.","FAQ_02_H1":"Miten Stremio vertautuu Kodiin ja Plexiin?","FAQ_02_P1":"Olemme saaneet inspiraatiota näistä kahdesta ohjelmistosta. Mutta meillä on erilaiset tavoitteet - Stremio on suunnattu erityisesti viihdevideoille ja pyrkii olemaan pääasiallinen ratkaisu tähän tarjoamalla erittäin helppokäyttöisen käyttöliittymän.","FAQ_02_P2":"Stremio ei koskaan tule olemaan yhtä muokattava ja ominaisuuksiltaan rikas kuin Kodi ja Plex, mutta se on merkittävästi helpompi käyttää. ${1} Hanki se ja katso ${2} :)","FAQ_03_H1":"Miten Stremio vertautuu Netflixiin?","FAQ_03_P1":"Netflix on jälleen yksi inspiraatioistamme. Pyrimme saavuttamaan Netflixin käyttökokemuksen, plus paljon lisäominaisuuksia. Mutta ennen kaikkea annamme sinulle vapauden hallita omaa kirjastoasi ja lisätä uusia sisältölähteitä lisäosajärjestelmämme avulla.","FAQ_03_P2":"Tämä tekee Stremiosta äärettömän laajennettavan, joten kun käytät Stremiota, et ole koskaan rajoitettu Netflixin lisensioimaan sisältöön. Esimerkiksi Stremion kautta voit katsoa sisältöä ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} ja jopa ${9}Netflix${10} itsestään!","FAQ_04_H1":"Miten Stremio vertautuu Flipboardiin?","FAQ_04_P1":"Emme saa sitä kysymystä kovin usein, paitsi kun puhumme aloittaville ihmisille :)","FAQ_04_P2":"Stremio on suunniteltu sisällön kerääjäksi, mikä tekee siitä käytännössä Flipboardin videolle. Tämä on erittäin ilmeistä Board-osiossamme, joka antaa sinulle katalogeja ja uusien jaksojen/uusien videoiden ilmoituksia siitä, mitä seuraat, aivan kuten Flipboard.","FAQ_05_H1":"Miten Stremio vertautuu Popcorn Timeen?","FAQ_05_P1":"Stremio ja Popcorn Time ovat samanlaisia käyttöliittymän suhteen, koska videoviihdekatalogeja ei ole monia tapoja tehdä oikein :)","FAQ_05_P2":"Mutta kun Popcorn Time keskittyy tiettyjen lähteiden torrentien suoratoistoon, Stremio on rajoittamaton ja on vain sisällön kerääjä - se ei ole lukittautunut tiettyyn sisältölähteeseen.","FAQ_05_P3":"Lisäksi emme tarjoa mitään torrent-lisäosia oletusarvoisesti, joten Stremio ei kata Popcorn Time -käyttötapaa virallisella toiminnallisuudella.","FAQ_05_P4":"Toinen huomattava ero on, että Popcorn Time on täysin avoimen lähdekoodin ohjelmisto, kun taas Stremio on ${1} osittain avoimen lähdekoodin${2}.","FAQ_06_H1":"Lisäättekö tämän elokuvan/sarjan?","FAQ_06_P1":"Ei, pahoittelut :(","FAQ_06_P2":"Kuten useimmissa muissa kysymyksissä mainitaan, Stremio ei tarjoa sisältöä itse - kaikki lisätään lisäosajärjestelmän kautta. Jos sinulla on sisältöpyyntö, voit käyttää “Report” -painiketta Soittimessa, joka lähettää sähköpostin käyttämäsi lisäosan tekijälle.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Luotteko lisäosan X:lle?","FAQ_08_P1":"Se on täysin mahdollista.","FAQ_08_P2":"Jos sinulla on idea lisäosalle, lähetä meille viesti osoitteeseen ${1}office@stremio.com${2}, mutta varmista, että lisäosa-ideasi ei loukkaa tekijänoikeuksia tai käyttöehtoja.","FAQ_08_P3":"Tällä hetkellä seuraavat asiat ovat tienhaarassamme: lisäosat FandangoNOW:lle, Filmon.tv videon tilaukselle ja Crunchyroll:lle.","FAQ_09_H1":"Käyttääkö Stremio BitTorrentia?","FAQ_09_P1":"Kyllä, Stremio tukee BitTorrentia suoratoistoprotokollana. Voit käyttää sitä joko torrent-lisäosan kanssa, raahaamalla ja pudottamalla .torrent-tiedoston Stremioon tai liittämällä magneettilinkin Haku-palkkiin.","FAQ_09_P2":"Huomaa, että ainoa virallinen BitTorrentia käyttävä lisäosa on ${1}Vodo${2}, joka tarjoaa indie-sisältöä, joka on kaikki sallittu jaettavaksi BitTorrentin kanssa.","FAQ_09_P3":"Emme tue kolmannen osapuolen lisäosien käyttöä, jotka saattavat mahdollistaa tekijänoikeusrikkomuksen.","FAQ_10_H1":"Mitä voin katsoa Stremiossa virallisilla lisäosilla?","FAQ_10_P1":"Oletusarvoisesti voit katsoa Filmon.tv:n, YouTuben ja Vodon sisältöä Stremiossa sen upotetulla soittimella. Lisäksi meillä on lisäosa Twitch.tv:lle ja muutamille muille.","FAQ_10_P2":"Tämä yhdistettynä tarjoaa valikoiman:","FAQ_10_L1":"Suosittuja TV-kanavia, jotka tarjoaa Filmon.tv - esimerkiksi E4, BBC, Bollyworld TV","FAQ_10_L2":"Kaikki YouTubesta - esimerkiksi BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie-elokuvia Vodolla","FAQ_10_L4":"Online-pelilähetyksiä Twitch.tv:ltä","FAQ_10_P3":"Lisäksi on monia sisältölähteitä, jotka on tarjottu Guideboxin ja Netflix-lisäosien kanssa, jotka eivät soita kokonaan Stremiossa, vaan ohjaisivat annettuun palveluun. Esimerkiksi Guidebox-lisäosa antaisi sinulle valikoiman elokuvia, joita voit suoratoistaa Yhdysvalloissa ilmaiseksi palveluista, kuten TubiTV ja Crackle.","FAQ_11_H1":"Stremio ei asennu, mitä minun pitäisi tehdä?","FAQ_11_P1":"Jos käytät Windowsia, kokeile ${1}tätä vaihtoehtoista asennusohjelmaa${2}.","FAQ_11_P2":"Jos käytät Mac OS X:ää, huomaa, että emme tue mitään vanhempaa kuin OS X Mavericks (10.9).","FAQ_11_P3":"Jos käytät Linuxia, huomaa, että tuemme tällä hetkellä vain 64-bittistä (x64) Linuxia.","FAQ_11_P4":"Jos et vieläkään pysty ratkaisemaan ongelmaasi, kirjoita meille ${1}Facebook-ryhmässämme${2}.","FAQ_12_H1":"Miksi anti-virusohjelmani valittaa? Onko Stremio turvallinen?","FAQ_12_P1":"Vakuutamme sinulle, että Stremio on ${1}100% puhdas${2}.","FAQ_12_P2":"Anti-virusohjelmasi valittaa, koska sisällytämme mainoksia asennusohjelmaamme, jonka jotkut anti-virusohjelmat tunnistavat mainosohjelmaksi.","FAQ_12_P3":"Jos olet edelleen epävarma, voit kokeilla ${1}vaihtoehtoista asennusohjelmaamme${2}.","FAQ_13_H1":"Kuinka voin tehdä lisäosan?","FAQ_13_P1":"Aluksi suosittelemme tarkistamaan ${1}lisäosajärjestelmän moduulin${2} GitHubista.","FAQ_13_P2":"Sen jälkeen voit seurata ${1}Hello World -opetusohjelmaa${2}.","FAQ_13_P3":"Jos sinulla ei ole ohjelmointitaitoja, julkaise idea Reddit-yhteisössä ja ota yhteyttä meihin lisäosa-ideallasi osoitteessa ${1}office@stremio.com${2}.","FAQ_14_H1":"Kuinka lisäosat julkaistaan?","FAQ_14_P1":"Kun luot lisäosan ja isännöit sen, ja laitat endpoint-kentän manifestiisi, joka osoittaa toimivan lisäosan osoitteen, lisäosa julkaisee itsensä automaattisesti ${1}lisäosakatalogiimme${2}.","FAQ_14_P2":"Tämä tapahtuu, koska stremio-addons-moduulin palvelinosa tekee automaattisesti kutsun API:lle ilmoittaakseen lisäosasta. Kun API validoi endpoint-osoitteesi kelvolliseksi lisäosaksi, se alkaa näkyä katalogissa.","FAQ_15_H1":"Voinko käyttää Stremiota selaimessani?","FAQ_15_P1":"Ei tällä hetkellä, mutta tämä on tulossa!","FAQ_15_P2":"Jos olet utelias näkemään Alphan, voit nähdä sen täällä: ${1}alpha4.strem.io${2}. Huomaa, että suoratoisto on poistettu käytöstä tässä alfa-versiossa. Tuemme Chromea, Firefoxia, Operaa ja Edgeä.","FAQ_16_H1":"Heijastaminen TV:lle ei toimi / tekstitykset eivät toimi","FAQ_16_P1":"TV:lle heijastaminen käyttää DLNA-teknologiaa, joka on erittäin epäjohdonmukainen eri TV-merkkien ja -mallien välillä. Tämän vuoksi meillä ei ole mahdollisuutta testata sitä jokaisessa tapauksessa, joten se on kaukana täydellisestä. Siitä huolimatta työskentelemme sen parantamiseksi jatkuvasti, mutta emme voi antaa aikatauluarviota siitä, milloin DLNA alkaa toimia kunnolla TV:si kanssa.","FAQ_16_P2":"Jos et näe TV:täsi heijastusvalikossa, yritä poistaa verkkoyhteys käytöstä ja ottaa se uudelleen käyttöön (Windowsissa napsauta hiiren kakkospainikkeella Verkkoa ja käytä Käytä/Poista käytöstä), samoin kuin käynnistämällä reititin, TV ja tietokone uudelleen.","FAQ_16_P3":"Jos kohtaat edelleen ongelmia, voit auttaa meitä lähettämällä TV:si merkki- ja mallitiedot osoitteeseen ${1}office@stremio.com${2}.","FAQ_16_P4":"Sillä välin suosittelemme Chromecastia, jota tuemme erittäin hyvin, tai yksinkertaisesti liittämällä TV:si tietokoneeseesi HDMI-kaapelilla.","FAQ_17_H1":"Stremio jäätyy ja/tai kaatuu, mitä voin tehdä?","FAQ_17_P1":"Ensinnäkin, jos käytät Windows 7:ää AVG-antivirusohjelman kanssa: meillä on ongelma tämän yhdistelmän kanssa. Ongelma on AVG:ssä, eikä sitä ole järkevää ratkaista meidän puoleltamme. Valitettavasti poikkeukset tai anti-virusohjelman poistaminen käytöstä eivät toimi. Ainoa ratkaisu on korvata AVG jollain muulla.","FAQ_17_P2":"Jos tämä ei ole ongelma, mutta käytät edelleen Windowsia, päivitä uusimpaan palvelupakettiin ja päivitä/uudelleenasenna GPU-ohjaimet, ja yritä sitten uudelleen.","FAQ_17_P3":"Jos ongelmasi ei ole vielä ratkaistu tai käytät Macia tai Linuxia, kirjoita meille raportoiden ongelman tarkat tiedot ${1}Facebook-ryhmässämme${2}.","FAQ_18_H1":"Kuinka voin tehdä lisäosan?","FAQ_18_P1":"Aluksi suosittelemme tarkistamaan ${1}lisäosajärjestelmän moduulin${2} GitHubista.","FAQ_18_P2":"Sen jälkeen voit seurata ${1}Hello World -opetusohjelmaa${2}.","FAQ_18_P3":"Jos sinulla ei ole ohjelmointitaitoja, julkaise idea Reddit-yhteisössä ja ota yhteyttä meihin lisäosa-ideallasi osoitteessa ${1}office@stremio.com${2}.","FAQ_19_H1":"Miksi Stremio vie levytilaa?","FAQ_19_P1":"Stremiolla on paikallinen välimuisti videoiden tilapäiseen säilyttämiseen, joita suoratoistat.","FAQ_19_P2":"Tämä on kaksi etua: ensinnäkin se mahdollistaa Stremion esipuskuroinnin videon edessä, jotta varmistetaan sujuvampi suoratoisto. Toiseksi se pitää videot paikallisessa välimuistissa, jotta voit jatkaa niiden katselua offline-tilassa.","FAQ_19_P3":"Kuinka paljon Stremio pitää riippuu välimuisti-asetuksesta Asetukset-paneelissa. Stremio voi pitää jopa asetetun määrän (esim. 2 Gt) levyltäsi, ellei tällä hetkellä suoratoistettava video ole suurempi kuin se, jolloin sen on varattava tarpeeksi tallennustilaa, jotta voit suoratoistaa sen.","FAQ_20_H1":"Missä välimuistikansio on?","FAQ_20_P1":"Windowsissa se on stremio-cache asemassa, jonka valitsit Asetuksissa (esim. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"MacOS:ssa se on \\"~/Kirjasto/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linuxissa se on \\"~/.stremio/stremio-cache\\" tai \\"~/stremio-cache\\"","FAQ_21_H1":"Saan \\"Suoratoistopalvelinta ei löydy\\" -virheen, mitä voin tehdä?","FAQ_21_P1":"Jos saat tämän virheen, se tarkoittaa yhtä muutamaa asiaa:","FAQ_21_P2":"1) Yrität käyttää YouTube/BitTorrent-lähteellä varustettua lisäosaa, web-versiomme kautta. Tässä tapauksessa sinun pitäisi asentaa pöytäversiomme ${1}verkkosivustoltamme${2}.","FAQ_21_P3":"2) Jotain on vialla Stremio-asennuksessasi. Tässä tapauksessa kokeile uudelleenasentaa uusin pöytäversiomme ${1}verkkosivustoltamme${2}. Jos tämä ei auta, kokeile poistaa käytöstä anti-virusohjelmat ja palomuurit, käynnistä tietokone uudelleen ja yritä uudelleen. Jos tämäkään ei toimi, kirjoita meille Facebook-ryhmässämme.","FAQ_22_H1":"En voi nähdä/käyttää useimpia lisäosia iOS:lla","FAQ_22_P1":"Apple App Storen ehtojen rajoitusten vuoksi olemme rajoittaneet iOS-sovelluksen vain tiettyyn joukkoon lisäosia.","FAQ_22_P2":"Mutta ole varma - tulevaisuudessa on enemmän lisäosia iOS:lle, ja voimme myös lisätä integraation, joka mahdollistaa kaikkien Stremio-lisäosien käytön yhdistämällä iOS-sovelluksen Stremio Streaming Serveriin."}')},11421:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Série","TYPE_tv":"Chaîne TV","TYPE_channel":"Chaîne","TYPE_other":"Autre","TYPE_movie_PL":"Film","TYPE_series_PL":"Séries","TYPE_tv_PL":"Chaînes TV","TYPE_channel_PL":"Chaînes","TYPE_other_PL":"Autres","TYPE_ALL":"Tous","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Populaire","CATALOG_com_linvo_cinemeta_imdbRating":"À la une","CATALOG_com_linvo_cinemeta_year":"Nouveau","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Films du domaine public","VIDEO":"Vidéo","BACK":"Retour","MORE":"Plus","DONE":"Terminer","COPY":"Copier","SUCCESS":"Succès","ERROR":"Erreur","SETTINGS_CASTING_MODE_PICKER":"Mode de diffusion","CASTING_MODE_HLSV2":"Par défaut","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Pas de transcodage","Discover":"Découverte","Board":"Tableau","Library":"Bibliothèque","My Library":"Ma bibliothèque","Calendar":"Calendrier","NOTIFICATION_ONLINE":"Vous êtes maintenant connecté","NOTIFICATION_OFFLINE":"Vous êtes maintenant hors-ligne","INTERNET_CONNECTION":"Connexion internet","STORAGE_FULL_TITLE":"Attention : Espace de stockage plein !","STORAGE_FULL_TEXT":"Stremio sera incapable de sauvegarder vos réglages, préférences ou informations de connexion. N’hésitez pas à relancer ou réinstaller Stremio.","SEARCH":"Recherche","SEARCH_NO_RESULTS":"Aucun résultat trouvé","SEARCH_EXPLANATION_CONTENT":"Recherchez des films, séries, chaines YouTube ou TV…","SEARCH_EXPLANATION_PEOPLE":"Recherchez des acteurs, directeurs et réalisateurs","SEARCH_PASTE_LINKS":"Collez une URL ou un lien magnet","SEARCH_OR_PASTE_LINK":"Rechercher ou coller un lien","SEARCH_SUGGESTIONS":"Suggestions de recherche","ADD_TO_LIB":"Ajouter à la bibliothèque","REMOVE_FROM_LIB":"Retirer de la bibliothèque","ADDED_TO_LIB":"Ajouté à la bibliothèque","REMOVED_FROM_LIB":"Retiré de la bibliothèque","TRAILER":"Bande-annonce","WATCH_TRAILER":"Regarder la bande-annonce","WATCH_NOW":"Regarder","SHOW":"Regarder","SHOW_MOVIE":"Afficher le film","WATCH_RANDOM":"Regarder aléatoirement","IMDB_RATING":"Note IMDb","YEAR":"Année","DIRECTOR":"Réalisateur","WRITER":"Scénariste","LEAD_ACTORS":"Acteurs principaux","CAST":"Casting","CREW":"Équipe","SHOW_MORE_CAST":"Afficher plus","AIRED":"Sortie","SEASONS":"Saisons","GENRE":"Genre","GENRE_ALL":"Tous les genres","CATALOG":"Catalogue","SUMMARY":"Résumé","SHOW_MORE":"Afficher plus","SIMILAR":"Similaire","UPCOMING":"À venir","TBA":"TBA","ENDED":"Terminé","DURATION":"Durée","FEATURED":"À l’affiche","METADATA":"Métadonnées","CATEGORY":"Catégorie","LINKS_GENRES":"Genres","LINKS_CAST":"Casting","LINKS_DIRECTORS":"Réalisateurs","SEARCH_VIDEOS":"Rechercher des vidéos","SEARCH_PLACEHOLDER":"Chercher ou coller un lien magnet","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"Officiels","ADDONS_OFFICIAL":"Addons Stremio officiels","ADDONS_POPULAR":"Populaire près de chez vous","ADDON_FREE":"Gratuit","ADDON_PEERED":"Peered","ADDON_SUBSCRIPTION":"Abonnement","ADDON_STREAM_GEORESTRICTED":"Non disponible chez vous","ADDON_STREAM_OFFLINECACHE":"Cache hors-ligne","ADDON_STREAM_LOCALFILE":"Fichier local","SHARE_ADDON":"Partager cet addon","AVAILABLE_STREAMS":"Flux disponibles","NO_STREAM":"Aucun flux n’a été trouvé","ALL_ADDONS":"Tous","INSTALL_MORE_ADDONS":"Pour plus de flux, veuillez installer plus d’addons","STREAM_NOT_SUPPORTED":"Le flux sélectionné n’est pas supporté par la plateforme","ADDON_CATALOGUE":"Afficher tous les addons »","ADDON_CATALOGUE_MORE":"Installer des addons","REPO_ADDED":"Répertoire ajouté","ADDON_REPO_EXIST_ERR":"Cette collection d’addons existe déjà","ADDON_REPO_ERR":"Une erreur s’est produite lors de l’ajout de la collection","ADDON_ADD_ERR":"Une erreur est survenue lors de l’ajout du répertoire","ERR_ADDON_PROTECTED":"Extension protégée","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Quelque chose n’a pas fonctionné - l’authentification a peut-être échoué","ERR_NOT_COLLECTION_URL":"Ce n’est pas une URL de collection","ERR_NOT_ADDON_URL":"Ce n’est pas une URL d’addon","ERR_DETECTFROMURL":"Impossible de trouver un addon/collection à partir de cette URL","ADDON_DUPLICATE_WARNING":"Attention : addon dupliqué","ADDON_COLLECTION_SET_FAILED":"La synchronisation des addons installés vers votre compte a échoué","SETTINGS_DATA_EXPORT":"Exporter mes données","ADDON_PULL_FAILED":"La synchronisation des addons installés depuis de votre compte a échoué","REFRESH_ON_CLICK":"Cliquez pour réessayer","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Le film est toujours en salle","WATCH_IN_CINEMA":"Regardez-le dans votre cinéma local","IN_THEATER":"Au cinéma","GET_TICKETS":"Acheter des places","UPCOMING_EPISODE":"Épisode à venir","UPCOMING_EPISODE_MESSAGE":"Cet épisode sera diffusé le","MISSING_DATE_EPISODE":"Date d’épisode manquante","MISSING_DATE_EPISODE_MESSAGE":"Cet épisode n’a peut-être pas encore été diffusé","CHANNEL_NOT_SCRAPED":"Cette chaîne n’est pas disponible.
    Revenez dans quelques minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Ajoutez le à votre bibliothèque pour être notifié une fois sorti.","GET_NOTIFIED_WHEN_AVAILABLE":"Vous serez notifié une fois disponible.","WARNING_STREAMING_SERVER":"Attention, serveur de streaming local non trouvé. Le streaming depuis Youtube et BitTorrent ne sera pas disponible.","WARNING_STREAMING_SERVER_DISMISS":"Ignorer","WARNING_STREAMING_SERVER_LATER":"Plus tard","DECODER_WARNING":"Attention : cette vidéo peut ne pas être supportée par votre matériel. Gardez à l’esprit que la lecture peut être lente.","GENERIC_ERROR_MESSAGE":"Il y a eu un problème !","TRY_AGAIN":"Réessayer","CLEAR_DATA":"Effacer les données","PLAYER_ERROR":"Oups, erreur du lecteur","PLAYER_ERROR_LOOKSLIKE":"On dirait que","PLAYER_ORIENTATION":"Orientation du lecteur","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Verrouillé","PLAYER_ORIENTATION_SENSOR_SHORT":"Capteur","PLAYER_ORIENTATION_LANDSCAPE":"Orientation du lecteur verrouillé en paysage","PLAYER_ORIENTATION_SENSOR":"Orientation automatique du lecteur (capteur)","PLAYER_PLAYBACK_SPEED":"Vitesse de lecture","PLAYER_PLAYBACK_ERROR":"Erreur de lecture, veuillez réessayer","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Erreur inconnue","PLAYER_PLAYBACK_ERROR_DEFAULT":"Désolé, cette vidéo ne peut pas être lue par {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Langues des sous-titres","PLAYER_SUBTITLES_VARIANTS":"Variantes des sous-titres","PLAYER_SUBTITLES_SETTINGS":"Réglages des sous-titres","PLAYER_SUBTITLES_DISABLED":"Sous-titres désactivés","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Position verticale","PLAYER_SUBTITLES_LOADED":"Sous-titres chargés","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Sous-titres intégrés chargés","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Sous-titres exclusifs chargés","PLAYER_SUBTITLES_LOADED_LOCAL":"Sous-titres locaux chargés","PLAYER_SUBTITLES_LOADED_ORIGIN":"Sous-titres de {{origin}} chargés","PLAYER_PLAY":"Lecture","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Vidéo suivante","PLAYER_MUTE":"Sourdine","PLAYER_UNMUTE":"Rétablir le son","PLAYER_OPEN_IN_EXTERNAL":"Ouvrir dans un lecteur externe","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Jouer sur {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"À venir dans","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Ignorer","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Regarder maintenant","PLAYER_COPY_STREAM_SUCCESS":"Le lien du flux a été copié dans votre presse-papiers","PLAYER_COPY_STREAM_ERROR":"Échec de la copie du lien de flux","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Diffusé à partir de","CASTING_TO":"Transmis à","NETWORK_STATUS":"Statut du réseau","STREAM_SPEED":"Vitesse du stream :","STREAM_BUFFERED":"Mis en cache :","PEERS_INFO":"Informations sur les pairs","PEERS_ACTIVE":"Actif :","PEERS_CONNECTED":"Connecté :","PEERS_WAITING":"En attente :","TRANSCODING_WARNING":"Attention: transcodage vidéo.","STREAM_LOADING":"Chargement…","PLAYING_LOCAL":"Lecture à partir d’un fichier local","PLAYING_CACHE":"Lecture à partir du cache","WRONG_SUBS":"Mauvais sous-titres ?","ERR_SUBS_LOADING_TITLE":"Erreur de chargement des sous-titres","ERR_SUBS_LOADING":"Échec du chargement des sous-titres : il peut s’agir d’un problème avec l’addon que vous utilisez, ou avec votre connexion réseau.","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Les addons de sous-titres suivants ont échoués","ERR_CASTING_UPDATE_TITLE":"Impossible de mettre à jour les informations sur le périphérique de diffusion : le serveur de streaming est peut-être hors ligne.","CHOOSE_DEVICE":"Choisissez un appareil sur lequel regarder","NO_CAST_DEVICES":"Aucun appareil de diffusion n’est disponible.","NO_SETTINGS":"Aucun réglage disponible.","NO_OPTIONS":"No options available","PHONE_TABLET":"Téléphone / Tablette","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Sous-titres","SUBTITLES_CHANGE":"Changer les sous-titres pour ","SUBTITLES_CHANGE_NONE":"Il n’y a pas d’autres sous-titres pour cette langue, désolé.","SUBTITLES_CHANGE_ACIVE":"Les sous-titres #{{subtitlesDialog.activeIdx + 1}} sont actuellement activés. Cliquez sur \\"Continue\\" pour activer les sous-titres #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Sinon,","SUBTITLES_ADJUST_DELAY":"Ajuster le décalage des sous-titres :","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Utilisez les touches G / H pour les ajuster.","SUBTITLES_ADJUST_DELAY_TIP":"ASTUCE : vous pouvez utiliser les touches G / H pendant la lecture pour les régler.","SUBTITLES_DELAY":"Délai des sous-titres :","SUBTITLES_LOADING":"Chargement des sous-titres…","SUBTITLES_UNAVAILABLE":"Aucun sous-titre externe disponible","SUBTITLES_DISABLED":"Désactivés","EXTERNAL_PLAYER_DISABLED":"Désactivé","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permettre le choix","EXTERNAL_PLAYER_HINT":"Conseil : il existe un paramètre permettant de toujours ouvrir avec un lecteur externe.","DONT_SHOW_AGAIN":"Ne plus montrer","SERVICE_INSTALL":"Installer","AUDIO":"Audio","DEFAULT_LANGUAGE":"Langue par défaut","DEFAULT_SECONDARY_LANGUAGE":"Langue secondaire par défaut","SEASON":"Saison","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Épisode","EPISODE_ABBREVIATION":"ÉP","SPECIAL":"Spécial","SORT":"Trier","SORT_BY":"Trier par","FILTER":"Filtrer","SORT_TRENDING":"Tendances","SORT_RECENT":"Récent","SORT_ALPHABET":"A-Z","SORT_ALPHABET_REVERSE":"Z-A","SORT_RATING":"Note","SORT_WATCHED":"regardés","SORT_YEAR":"Année","SELECT":"Select","SELECT_TYPE":"Sélectionner le type","SELECT_SORT":"Sélectionner le filtre","SELECT_CATALOG":"Sélectionner le catalogue","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Sélectionner le genre","SORT_LASTWATCHED":"dernier regardés","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"plus regardés","SORT_NOTWATCHED":"non regardés","New for You":"Nouveau pour vous","New Episodes":"Nouveaux épisodes","New Videos":"Nouvelles vidéos","Recommendations":"Recommandations","LIBRARY_RESUME":"Reprendre","LIBRARY_PLAY":"Lire","LIBRARY_DETAILS":"Détails","LIBRARY_RESUME_DISMISS":"Effacer","LIBRARY_CLEAR_PROGRESS":"Effacer l’avancée de la lecture","LIBRARY_REMOVE":"Retirer","LIBRARY_NOT_LOGGED_IN":"La bibliothèque n’est disponible que pour les utilisateurs connectés","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Le calendrier n’est disponible que pour les utilisateurs connectés","NOT_LOGGED_IN_CLOUD":"Accédez à vos films et émissions de télévision préférés à tout moment et en tout lieu","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommandations adaptées à votre historique de visionnage","NOT_LOGGED_IN_NOTIFICATIONS":"Ne manquez plus jamais un épisode","NOT_LOGGED_IN_CALENDAR":"Planifiez votre calendrier des sorties","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Têtes d’affiches","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Primés aux Oscars","DISCOVER_WARNING_TITLE":"Oups !","DISCOVER_EMPTY_CATALOG":"Cet addon a renvoyé un contenu vide.","DISCOVER_ADULT_WARNING":"Ce contenu n’est visible que pour les adultes. Avez-vous plus de 18 ans ?","DISCOVER_NOADDON_WARNING":"Attention : aucune extension Stremio active pour ce type. Les fichiers sauvegardés seront montrés, rien ne sera mis à jour.","DISCOVER_LOAD_ERR":"Découvrir : n’a pas réussi à charger le catalogue à partir de l’addon","DISCOVER_ADDON_UNINSTALLED":"Ce contenu n’est plus disponible, vous avez peut-être désinstallé l’addon.","UNINSTALL_THIS_ADDON":"Désinstallez cet addon","ERR_ADDON_NOT_INSTALLED":"Cet addon n’est pas installé. L’installer maintenant ?","DETAIL_RECEIVE_NOTIF_SERIES":"Recevoir des notifications pour les nouveaux épisodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Recevoir des notifications pour les nouvelles vidéos","SIDEBAR_SHOW_STREAMS":"Afficher les flux","RELAUNCH":"Redémarrez maintenant !","UPGRADE":"Nouvelle version disponible ! Mise à jour vers la dernière version de Stremio","RELOAD_UI":"Rafraîchir l’interface utilisateur","MANUAL_UPDATE_TITLE":"Mettez à jour votre version de Stremio","MANUAL_UPDATE_LINE1":"Vous utilisez une version obsolète de Stremio, ce qui est fortement déconseillé.","MANUAL_UPDATE_LINE2":"Veuillez mettre à jour dès que possible.","BUTTON_UPDATE_LATTER":"Pas maintenant.","BUTTON_UPDATE_NOW":"Mettre à jour","UPDATER_TITLE":"Une nouvelle version de Stremio est disponible","UPDATER_INSTALL_BUTTON":"Installer maintenant","ANONYMOUS_USER":"Utilisateur anonyme","DONT_HAVE_ACC":"Vous n’avez pas de compte ?","HAVE_ACC":"Vous avez déjà un compte ?","PASSWORD":"Mot de passe","PASSWORD_CONFIRM":"Confirmer le mot de passe","EMAIL":"E-mail","FB_LOGIN":"Continuer avec Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Rien ne sera partagé sans votre permission","FB_NOPOST":"Nous ne posterons rien en votre nom","OR":"ou","I_ACCEPT":"J’accepte les","I_ACCEPT_BY_CLICKING":"En cliquant sur le bouton ci-dessus, je certifie que j’accepte les ","TOS":"Conditions d’utilisation","MUST_ACCEPT_TERMS":"Vous devez accepter les conditions","PASSWORDS_NOMATCH":"Les mots de passe ne correspondent pas","SIGN_UP":"Inscription","SIGN_UP_EMAIL":"S’inscrire par email","CLICK_TO_SIGN_UP":"Cliquez ici pour vous inscrire.","LOG_IN":"Connexion","LOG_OUT":"Déconnexion","EXIT_FULLSCREEN":"Quitter le mode plein écran","ENTER_FULLSCREEN":"Entrer en mode plein écran","PLAY_URL_MAGNET_LINK":"Lire un URL/lien magnet","HELP_FEEDBACK":"Aide & commentaires","TERMS_OF_SERVICE":"Conditions d’utilisation","PRIVACY_POLICY":"Politique de confidentialité","ABOUT_STREMIO":"À propos de Stremio","USER_PANEL":"Panneau utilisateur","LOGIN_LABEL":"Se connecter","GUEST_LOGIN":"Connexion invité","GUEST_LOGIN_NOTICE":"La connexion en tant qu’invité n’est pas recommandée. Se connecter de façon régulière permet à Stremio de synchroniser votre bibliothèque et de recevoir des notifications pour vos séries/chaines favorites. Êtes-vous sûr de vouloir continuer ?","GUEST_LOGIN_NOTICE_2":"La connexion en tant qu’invité n’est pas recommandée - vous n’aurez pas de notifications synchronisées pour votre Bibliothèque ou Tableau, qui sont des fonctionnalités vitales de Stremio. Êtes-vous sûr de vouloir continuer ?","CLICK_HERE":"Cliquez ici","WRONG_PASSWORD":"Mauvais mot de passe. Si vous avez oublié votre mot de passe, ","SET_A_PASS":"Choisissez-en un","RESET_PASSWORD":"Réinitialiser le mot de passe","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Mot de passe oublié ?","EMAIL_USED_WITH_FB":"Cet e-mail a été utilisé avec une connexion Facebook.","INVALID_EMAIL":"Veuillez entrer une adresse email valide","INVALID_PASSWORD":"Veuillez entrer un mot de passe valide","CONN_ERR":"Erreur de connexion - Réessayez plus tard.\\n\\nSi le problème persiste, désactivez le pare-feux/anti-virus (particulièrement Bitdefender).","IMPORT_FROM_GUEST":"Importer la bibliothèque à partir de votre compte invité","RECEIVE_UPDATES_EMAIL":"Recevoir des muses à jour par email de la part de Stremio","LOGIN_FAILED":"La connexion à échouée.","SIGNUP_FAILED":"L’inscription a échoué.","SEARCH_FAILED":"Échec de la recherche","EMAIL_USED":"Cet email est déjà utilisé.","WAITING_FB_LOGIN":"Se connecter avec Facebook…","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Lire dans un lecteur externe","EXTERNAL_REMEMBER_PLAYER":"Voulez-vous vous souvenir de votre choix","EXTERNAL_ALWAYS_PLAY":"Oui","EXTERNAL_ONLY_ONCE":"Non","BEST_FIT":"Meilleur ajustement","FIT_SCREEN":"Ajuster à l’écran","FILL":"Remplir","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Dites-nous ce que vous aimez","INTRO_TASTE_LONG":"Dites-nous ce que vous aimeriez regarder","INTRO_TASTE_PICK":"Choisissez {{interestsRemaining}} centres d’intérêt","INTRO_TASTE_PICK_MORE":"Choisissez encore {{interestsRemaining}} centres d’intérêt","INTRO_TASTE_HELP_US":"Aidez-nous à mieux vous connaître.","INTRO_TASTE_CHOOSE_THESE":"Choisis-en quelques-unes :","INTRO_TASTE_CHOOSE_MIN":"Choisissez au moins 3 catégories","INTRO_TASTE_CHOOSE_MIN_ERR":"Vous devez choisir au moins 3 catégories !","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Alimentation & santé","INTRO_TASTE_BEAUTY_FASHION":"Beauté & mode","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & éducation","INTRO_TASTE_MUSIC":"Musique","INTRO_TASTE_TRAVEL":"Voyages","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Télé-réalité","INTRO_TASTE_COMEDY":"Comédie","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinéma","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"L’addon sélectionné n’est pas supporté sur cette plate-forme.","ADDON_DISCLAIMER":"Utiliser des extensions tierces sera toujours sujet à votre responsabilité ainsi qu’aux lois et juridictions de votre lieu de résidence.","ADDON_ACTIVATE":"Activer cette extension ?","ADDON_REPO_ADD":"URL de la collection de l’addon","ADDON_ADD":"Ajouter","INSTALL_ADDON":"Installer l’addon","ADD_ADDON":"Ajouter un addon","ADD_ADDON_DESCRIPTION":"Vous pouvez ajouter un addon via un lien externe, qui apparaîtra dans la rubrique Addons installés.","PASTE_ADDON_URL":"Collez l’URL de l’addon","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Nouveautés","BUTTON_CONTINUE":"Continuer","BUTTON_ACTIVATE":"Activer","BUTTON_ACTIVATED":"Activé","BUTTON_CANCEL":"Annuler","BUTTON_CONFIRM":"Confirmer","BUTTON_SUBMIT":"Valider","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Tout effacer","BUTTON_VIEW_ALL":"Voir tous","BUTTON_SEE_ALL":"Voir tous","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Ouvrir dans un navigateur","LIB_EMPTY":"Votre bibliothèque est vide. Découvrez à quel point c’est utile :) ","HOW_START":"Voilà comment démarrer :","LIB_EMPTY_CAL":"Votre calendrier affiche les séries qui sont dans votre bibliothèque.","HOW_START_CAL":"Voici comment ajouter des séries :","LIB_EMPTY_BOARD":"Le tableau montre les notifications & recommendations liées à votre Bibliothèque.","HOW_START_BOARD_WAIT":"S’il vous plait, ajoutez quelques séries ou chaînes à votre Bibliothèque et laissez-nous quelques minutes pour procéder :)","HOW_START_BOARD":"Voici comment y ajouter des séries & des films :","IMPORT_FB":"Importez des choses que vous aimez depuis Facebook","IMPORT_TRAKT":"Importez votre médiathèque depuis Trakt.","IMPORT_DISCOVER":"Trouver des choses intéressantes dans Découverte","IMPORT_DISK":"Importez des séries ou films que vous avez dans votre disque dur","PLEASE_CREATE_ACC":"S’il vous plait créez un compte pour activer la Bibliothèque sync & et le Tableau.","IMPORT_DISCOVER_SIGNUP":"Inscrivez-vous et trouvez des choses intéressantes à partir de DiscoverDécouvrez","IMPORT_DISK_SIGNUP":"Inscrivez-vous et importez les films ou émissions que vous avez sur votre disque Disque local.","LIB_EMPTY_CLOUD":"Bibliothèque Cloud","LIB_EMPTY_CLOUD_DESC":"Bibliothèque cloud personnelle synchronisé sur tous les appareils","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Recevoir des notifications pour les nouveaux épisodes","LIB_EMPTY_PERSONAL":"Personnel","LIB_EMPTY_PERSONAL_DESC":"Obtenir des recommandations personnelles","LIB_EMPTY_CALENDAR_DESC":"Planifiez votre calendrier personnel de visionnage","LIB_EMPTY_ALL":"Inscrivez-vous pour obtenir tout cela :","LIB_EMPTY_BEST":"Inscrivez-vous pour profiter pleinement de Stremio","LIB_EMPTY_OTHER":"Inscrivez-vous pour activer l’option Calendrier et d’autres fonctions intéressantes","CALENDAR_ADDED":"Le calendrier Stremio a été ajouté à votre calendrier de bureau par défaut.","CALENDAR_ADDED_MSG":"Si cela ne fonctionne pas, veuillez ajouter manuellement cette URL à votre application de calendrier.","TRAKT_EXPIRED":"L’authentification à Trakt a expiré, allez dans Paramètres et ré-authentifiez-vous.","TRAKT_REQUIRES_LOGIN":"Erreur de Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Vous devez vous connecter","TRAKT_IMPORT_WATCHED":"Import","THEME":"Thème","THEME_DEFAULT":"Défaut","THEME_ADAPTIVE":"Adaptatif","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Réglages","SETTINGS_NAV_GENERAL":"Général","SETTINGS_NAV_PLAYER":"Lecteur vidéo","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Raccourcis","SETTINGS_SHORTCUT_RELOAD_APP":"Rafraîchir l’application","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Ouvrir les réglages","SETTINGS_SHORTCUT_SWITCH_TABS":"Changer d’onglet","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Parcourir les onglets en avant","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Parcourir les onglets en arrière","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Naviguer entre les menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Aller à la recherche","SETTINGS_SHORTCUT_EXIT_BACK":"Quitter / Retour","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Afficher le menu de Vitesse de Lecture","SETTINGS_SHORTCUT_MENU_VIDEOS":"Afficher le menu Vidéos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Basculer le menu des sous-titres","SETTINGS_SHORTCUT_MENU_AUDIO":"Basculer le menu audio","SETTINGS_SHORTCUT_MENU_INFO":"Basculer le menu d’information","SETTINGS_SHORTCUT_FULLSCREEN":"Basculer en mode plein écran","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Afficher les contrôles","SETTINGS_SHORTCUT_PLAY_PAUSE":"Lecture / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Augmenter le volume","SETTINGS_SHORTCUT_VOLUME_DOWN":"Réduire le volume","SETTINGS_SHORTCUT_SEEK_NEXT":"Avancer la lecture","SETTINGS_SHORTCUT_SEEK_PREV":"Reculer la lecture","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Reculer dans la lecture","SETTINGS_SHORTCUT_SEEK_FORWARD":"Avancer dans la lecture","SETTINGS_SHORTCUT_PLAY_NEXT":"Lancer la vidéo suivante","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Augmenter la taille des sous-titres","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Réduire la taille des sous-titres","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Augmenter le délai des sous-titres","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Réduire le délai des sous-titres","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjuster le délai des sous-titres","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjuster la taille des sous-titres","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Afficher la barre latérale","SETTINGS_SHORTCUT_OR":"ou","SETTINGS_SHORTCUT_TO":"à","SETTINGS_SHORTCUT_AND":"et","SETTINGS_SHORTCUT_SPACE":"Espace","SETTINGS_SHORTCUT_SHIFT":"Maj","SETTINGS_SHORTCUT_ESC":"Échap","SETTINGS_TRAKT_AUTHENTICATE":"Authentifier","SETTINGS_FACEBOOK_IMPORT":"Importer","SETTINGS_CALENDAR_SUBSCRIBE":"S’abonner","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Langage de l’interface","SETTINGS_LAUNCH_STARTUP":"Lancer au démarrage","SETTINGS_VLC_DEFAULT":"Lire avec VLC","SETTINGS_UI_LANGUAGE":"Langue de l’interface","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Touche Echap pour quitter le plein écran","SETTINGS_GAMEPAD":"Activer le support de la manette de jeu","SETTINGS_CLOSE_WINDOW":"Fermer l’application lorsque la fenêtre est fermée","SETTINGS_SUBTITLES_LANGUAGE":"Langue des sous-titres par défaut","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Taille par défaut des sous-titres","SETTINGS_SUBTITLES_BACKGROUND":"Arrière-plan des sous-titres","SETTINGS_SUBTITLES_COLOR":"Couleur des sous-titres","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Couleur du contour des sous-titres","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Couleur de l’arrière-plan des sous-titres","SETTINGS_SEEK_KEY":"Touches directionnelles pour naviguer dans le temps","SETTINGS_SEEK_KEY_SHIFT":"Touches directionnelles pour naviguer dans le temps lorsque Maj est maintenue","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Durée du rembobinage et de l’avance rapide","SETTINGS_BINGE":"Lire automatiquement le prochain épisode","SETTINGS_NEXT_VIDEO":"Afficher une notification pour commencer l’épisode suivant","SETTINGS_NEXT_VIDEO_TRIGGER":"Afficher la notification du prochain épisode pendant :","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Durée de la popup pour la vidéo suivante","SETTINGS_PLAY_IN_BACKGROUND":"Lire en arrière-plan","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Lecture dans un lecteur externe","SETTINGS_RESIZE":"Redimensionnement automatique la fenêtre avant la lecture","SETTINGS_OVERRIDE_SERVER":"Remplacer l’URL du serveur de streaming (avancé)","SETTINGS_SERVER_ADD_URL":"Ajouter une URL","SETTINGS_SERVER_URL":"URL du serveur de streaming: ","SETTINGS_SERVER_AVAILABLE":"Le serveur de streaming est disponible.","SETTINGS_SERVER_UNAVAILABLE":"Le serveur de streaming n’est pas disponible.","SETTINGS_SERVER_STATUS_ONLINE":"En ligne","SETTINGS_SERVER_STATUS_ERROR":"Erreur","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurer l’URL du serveur de streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Entrez l’URL du serveur de streaming","SETTINGS_SERVER_CACHE_SIZE":"Taille du cache","SETTINGS_SERVER_TORRENT_PROFILE":"Profil de torrent","SETTINGS_HTTPS_ENDPOINT":"Point d’accès au streaming HTTPS :","SETTINGS_TRANSCODE_PROFILE":"Profil de transcodage","SETTINGS_USE_BETA":"Toujours utiliser les dernières version bêta","SETTINGS_IMPORT_FB":"Importer depuis Facebook","SETTINGS_IMPORT_DISK":"Importer depuis le disque dur","SETTINGS_IMPORT_TRAKT":"Importer depuis Trakt","SETTINGS_PAUSE_MINIMIZED":"Mettre en pause la lecture lorsque la fenêtre est réduite","SETTINGS_HWDEC":"Décodage accéléré par le matériel","SETTINGS_BACKGROUND":"Lecture en arrière-plan","SETTINGS_SUBSCRIBE_CALENDAR":"Inscrire au calendrier","SETTINGS_REQ_EXPORT":"Demande d’exportation de données","SETTINGS_ACC_DELETE":"Demander la suppression du compte","SETTINGS_CHANGE_PASSWORD":"Changer de mot de passe","SETTINGS_TOS":"Conditions d’utilisation","SETTINGS_SUPPORT":"Contacter le support","SETTING_LANGUAGE":"Langue","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Déconnexion de Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Déconnexion de Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scanner le code QR pour ouvrir la télécommande","SETTINGS_DESKTOP_NOTIFICATIONS":"Notifications de bureau","SETTINGS_DATA_SAVER":"Économiseur de données","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"Sous-titres par défaut","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Sélection automatique de la piste audio","SETTINGS_DEFAULT_AUDIO_TRACK":"Piste audio par défaut","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Son surround","SETTINGS_ACCOUNT":"Compte","SETTINGS_PLATFORM":"Plateforme","SETTINGS_VERSION":"Version","SETTINGS_ABOUT":"À propos","SETTINGS_MPV_WINDOW":"Lancer le lecteur dans une fenêtre séparée (avancé)","SETTINGS_PLAY_IN_EXTERNAL":"Toujours lancer la vidéo dans un lecteur externe","SETTINGS_STORAGE_BUTTON":"Effacer le stockage local","SETTINGS_STORAGE_MODAL_TITLE":"Êtes-vous sûr ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Cela effacera le stockage local et vous déconnectera.","SETTINGS_HWDEC_PICKER":"Choisir un paramètre de décodage accéléré par le matériel","SETTINGS_HW_AUTOMATIC":"Automatique","SETTINGS_HW_DISABLED":"Désactivé","SETTINGS_HW_ACCELERATED":"Accélération du décodage","SETTINGS_HW_FULL":"Accélération complète","SETTINGS_HW_LEGACY":"Normal","SETTINGS_DISABLED":"Désactivé","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Autoriser la télémétrie","SETTINGS_REMOTE_URL":"URL distante","SETTINGS_COPY_REMOTE_URL":"Copier l’URL distante","SETTINGS_REMOTE_URL_COPIED":"L’URL distante a été copiée dans votre presse-papiers","SETTINGS_SECTION_SUBTITLES":"Sous-titres","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Contrôles","SETTINGS_SECTION_AUTO_PLAY":"Lecture automatique","SETTINGS_SECTION_ADVANCED":"Avancé","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Sous-titres addons","SUBSPICKER_BLACK_BACKGROUND":"Utiliser un fond de couleur noir","SUBSPICKER_VERTICAL_OFFSET":"Décalage vertical","SUBSPICKER_SIZE":"Taille","SUBSPICKER_DELAY":"Retard","SUBSPICKER_EMBEDDED_SUBS":"Sous-titres intégrés","MOBILE_PRIVACY_POLICY":"Politique de confidentialité","MOBILE_CRASH_REPORTING":"Rapport d’incident","MOBILE_ZOOM_TO_FILL":"Agrandir pour remplir l’écran","MOBILE_PASSTHROUGH":"Sortie audio numérique (passthrough)","MOBILE_RUN_LOW_BATTERY":"Fonctionne avec une batterie faible","MOBILE_RUN_FOREGROUND":"Exécuter en tant que service de premier plan","MOBILE_PERFORMANCE":"PERFORMANCES ET STABILITÉ","MOBILE_SERVER_ONLINE":"En ligne","MOBILE_SERVER_OFFLINE":"Hors ligne","MOBILE_QR_EXPIRES":"Le code QR expire dans ","MOBILE_LOG_INTO":"Connectez-vous à votre compte Stremio ","MOBILE_SCAN_QR":"Scannez le code QR ci-dessus ou rendez-vous sur ","MOBILE_LINK_ACCOUNT":"Lien du compte","MOBILE_SPEEDPICKER_CANCEL":"Annuler","MOBILE_SPEEDPICKER_LABEL":"Choisir la vitesse de lecture","MOBILE_EMPTY_LIBRARY":"Votre bibliothèque est vide","MOBILE_NO_ADDON_ACTIVE":"Aucun addon Stremio actif pour ce type.","MOBILE_ORGANIZER_WARNING":"L’application Stremio Organizer offre des fonctionnalités limitées. Pour une liste des flux lisibles et l’expérience complète de Stremio, utilisez Stremio sur ordinateur.","MOBILE_ADDON_LOADING":"Est toujours en cours de chargement","MOBILE_ADDONS_LOADING":"Les addons sont toujours en cours de chargement","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configurez votre addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configurer l’addon","MOBILE_ORGANIZER_ADDONS_WARNING":"L’application Stremio Organizer fournit une sélection limitée d’addons. Pour profiter pleinement de l’expérience Stremio, utilisez Stremio sur ordinateur.","MOBILE_DISCONNECT":"Déconnecter","MOBILE_LOOKING_FOR_DEVICES":"Recherche d’appareils…","MOBILE_CAST_TO":"Diffuser sur","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Supprimer le compte","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"La suppression du compte n’est pas instantanée en raison d’obligations légales. Après avoir demandé la suppression de votre compte, vous devrez utiliser une autre adresse électronique/un autre profil Facebook pour créer un nouveau compte Stremio à l’avenir.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmer la suppression du compte","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Votre compte a été créé à l’aide de Facebook. Pour supprimer votre compte, veuillez utiliser notre portail utilisateur à l’adresse www.stremio.com/login.","MOBILE_DELETE_ACCOUNT_MESSAGE":"Veuillez indiquer votre mot de passe pour confirmer la suppression du compte.","MOBILE_DELETE_ACCOUNT_BUTTON":"Supprimer le compte","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"J’accepte de recevoir des communications marketing de Stremio","QUIT":"Quitter","CONNECTED":"Connecté","AUTHENTICATE":"S’authentifier","AUTHENTICATING":"Authenticating...","CACHING":"Mise en cache","SETTINGS_CACHING_DRIVE":"Emplacement du cache","ENABLE_LOCAL_FILES_ADDON":"Activer l’addon pour les fichiers locaux (nécessite un redémarrage)","LOCAL_ADDON_NOT_ENABLED":"L’addon local n’est pas activé. Cliquez ici pour accéder aux paramètres et l’activer","ENABLE_REMOTE_HTTPS_CONN":"Activer les connexions HTTPS à distance","TORRENT_PROFILE":"Profil du client Torrent","DATA_CACHING":"Mise en cache des données","MAGNET_PARSING":"Analyser un lien magnet","January":"Janvier","February":"Février","March":"Mars","April":"Avril","May":"Mai","June":"Juin","July":"Juillet","August":"Août","September":"Septembre","October":"Octobre","November":"Novembre","December":"Décembre","Monday":"Lundi","Tuesday":"Mardi","Wednesday":"Mercredi","Thursday":"Jeudi","Friday":"Vendredi","Saturday":"Samedi","Sunday":"Dimanche","Action":"Action","Comedy":"Comédie","War":"Guerre","Family":"Famille","Animation":"Animation","Adventure":"Aventure","Fantasy":"Fantaisie","Crime":"Crime","Mystery":"Mystère","Romance":"Romance","Drama":"Drame","Horror":"Horreur","Thriller":"Thriller","Sci-Fi":"Science-fiction","Music":"Musique","Biography":"Biographie","Documentary":"Documentaire","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-noir","News":"Actualité","History":"Histoire","Game-Show":"Jeu télévisé","Reality-TV":"Télé-réalité","Talk-Show":"Talk-show","Film & Entertainment":"Film & divertissement","Gaming":"Gaming","From TV":"Depuis la TV","Lifestyle":"Lifestyle","Science & Education":"Science & éducation","Cooking & Health":"Cuisine & santé","Beauty & Fashion":"Beauté & mode","Sports":"Sports","News & Politics":"Actualités & politique","How-to & DIY":"Tutoriels","Tech":"Tech","Automotive":"Auto-moto","Causes & Non-Profits":"Causes et organisations à but non lucratif","Movies":"Films","Uk Live Tv":"TV en direct du Royaume-Uni","Fashion":"Mode","Business News Radio":"Radio actualité Business","Business Tv":"Business TV","Cars & Auto":"Voiture & auto","Comedy Radio":"Radio Comédie","Lifestyle Radio":"Radio Lifestyle","News Tv":"Actualités TV","Food And Wine":"Nourriture et vin","Latino Tv":"TV Latino","Shopping Tv":"Télé-Shopping","Religion":"Religion","Kids":"Enfants","Body & Soul":"Corps & âme","Education":"Éducation","Indian Tv":"TV Indienne","Extreme Sports":"Sports extrêmes","Middle Eastern Tv":"TV Moyen Orient","Celebrity Tv":"TV Célébrité","Science Tv":"TV Science","Bikini babe":"Bikini","Outdoors":"Extérieur","German Tv":"TV Allemande","French Tv":"TV Française","Italian Tv":"TV Italienne","Gamer Tv":"TV Gamer","Travel":"Voyage","Asian Tv":"TV Asiatique","Entertainment":"Divertissement","News Radio":"Radio Actualité","Music Radio":"Radio Musique","Language Learning":"Apprentissage de Langues","Science Radio":"Radio Science","Tech Radio":"Radio Tech","Science & Technology Vod":"VOD Science & Technologie","new video":"Nouvelle vidéo","new episode":"Nouvel épisode","new movie":"Nouveau film","recommended":"Recommandé","we recommend":"Nous vous conseillons","offer of the day":"Offre du jour","news":"News","music video":"Clip","CTX_SHOW_HOTKEYS":"Afficher les raccourcis","CTX_DISMISS_NOTIF":"Ignorer les notifications","CTX_DISMISS_ALL":"Effacer tout","CTX_SHARE":"Partager","CTX_COPY_SHARE_LINK":"Copier le lien de partage","CTX_COPY_MAGNET_LINK":"Copier le lien magnet","CTX_COPY_STREAM_LINK":"Copier le lien du stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Télécharger cette vidéo","CTX_DOWNLOAD_SUBS":"Télécharger les sous-titres","CTX_VIEW_ON_YOUTUBE":"Regarder sur YouTube","CTX_SHOW":"Regarder","CTX_PLAY":"Lire","CTX_PLAY_IN":"Lire dans","CTX_PLAY_ON":"Lire sur","CTX_WATCH_ON":"Regarder sur","CTX_WATCH":"Regarder","CTX_WATCHED":"Regardé","CTX_WATCH_BEGINNING":"Regarder depuis le début","CTX_WATCH_MOBILE":"Regarder sur un appareil mobile","CTX_REWIND":"Redémarrer","CTX_MARK_WATCHED":"Marquer comme vu","CTX_MARK_NON_WATCHED":"Marquer comme non-vu","CTX_MARK_UNWATCHED":"Marquer comme non-vu","CTX_MARK_REST":"Marquer le reste comme vu","CTX_UNMARK_REST":"Marquer le reste comme vu","CTX_RECEIVE_NEW_NOTIF":"Recevoir les nouvelles notifications","CTX_ENABLE_NEW_NOTIF":"Activer les notifications","CTX_DISABLE_NEW_NOTIF":"Désactiver les notifications","CTX_REMOVE_CACHE":"Supprimer du cache","CTX_REMOVE_CACHE_EP":"Supprimer l’épisode du cache","CTX_OPEN_CONTAINING":"Ouvrir le fichier cible","CTX_REMOVE":"Retirer de la bibliothèque","CTX_AVAILABLE_OFFLINE":"Disponible hors-ligne","CTX_PAUSED":"Mis en pause","CTX_ALWAYS_ON_TOP":"Toujours en haut","CTX_FULLSCREEN":"Plein écran","CTX_WRONG_SUBS":"Mauvais sous-titres ?","CTX_REPORT_ISSUES":"Rapporter un problème","CTX_COPY":"Copier","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Coller","CTX_CLEAR":"Effacer","CTX_CLEAR_RECENT_SEARCHES":"Effacer les recherches récentes","HELLO_THERE":"Salut","HOPE_YOU_ENJOY":"Nous espérons que vous apprécierez Stremio et que c’est déjà une de vos applications préférées !","WHO_ARE_WE":"Qui sommes-nous ? L’équipe derrière ça, deux mecs travaillant très dur dans un seul but : rendre ce logiciel de mieux en mieux.","SUPPORT_US":"Si vous aimez Stremio - aidez-nous !","SPREAD_THE_WORD":"Parlez-en à vos amis, partagez l’application","MORE_PEOPLE":"Plus de personnes utiliseront Stremio, mieux l’application sera !","SEND_A_LINK":"ou envoyez un lien vers notre site !","TIP_LOCALFILES":"Astuce : vous pouvez glisser-déposer des fichiers vidéo locaux dans Stremio","ADDON_MY":"Mes addons","ADDON_COMMUNITY":"Addons communautaires","ADDON_OFFICIAL":"Addons officiels","ADDON_REPOS":"Dépôts d’addons","ADDON_SEARCH":"Rechercher des addons","ADDON_INSTALL":"Installer","ADDON_CONFIGURE":"Configurer","ADDON_UNINSTALL":"Désinstaller","ADDON_UPGRADE":"Mettre à jour","ADDON_INSTALLED":"Installés","ADDON_INSTALLED_MSG":"Addon installé !","ADDON_UPGRADED_MSG":"Addon mis à jour !","ADDON_UNKNOWN":"Inconnu","ADDON_ERR":"Erreur d’installation de l’addon !","ADDON_DISCONNECTED":"Déconnecté","ADDON_APP_MISSING":"L’application pour cette source n’est pas installée. Voulez-vous l’installer maintenant ?","ADDON_APP_INSTALL":"Installer maintenant","ADDON_PAGE":"Page des addons","ADDON_TOP_CONTENT":"Le meilleur de cet addon","ADDON_PROVIDES":"fournit","ADDON_WATCH":"Regardez des #{types} maintenant !","ADDON_WATCH_FREE":"Regardez des #{types} GRATUITEMENT maintenant !","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Types pris en charge","ADDON_SUPPORTED_CATALOGS":"Catalogues pris en charge","ADDON_PROVIDES_DISCOVER":"Plus de #{types} dans Découverte","ADDON_PROVIDES_STREAMS":"Regarder #{types}","ADDON_PROVIDES_STREAMS_FREE":"Regarder #{types} GRATUITEMENT","ADDON_PROVIDES_SUBTITLES":"Sous-titres pour #{types}","ADDON_CANTDETECT":"Nous n’avons pas pu détecter une instance Stremio en cours d’exécution, nous ne pouvions donc pas détecter quels addons vous avez installés.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Aucune information trouvée à ce sujet ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Erreur lors de la récupération d’informations à ce sujet.","ERR_CANT_PARSE_MAGNET":"Impossible d’analyser le magnet","ERR_NO_MAGNET_INFOHASH":"Pas de hachage d’info valide pour le magnet","ERR_NO_FILE_PATH":"Impossible d’envoyer une requête sans chemin d’accès au fichier","ERR_NO_TORRENT":"Aucun torrent retourné","ERR_NO_SUPPORTERD_FILES":"Aucun fichier supporté trouvé","ERR_OPENING_FILES":"Impossible d’ouvrir les fichiers externes","ERR_INVALID_LINK":"Lien invalide","ERR_REGISTERED_ONLY":"Cette option n’est disponible que pour les utilisateurs enregistrés seulement.","ERR_CLIPBOARD":"Impossible de lire à partir du presse-papiers","ERR_CLIPBOARD_READ":"Impossible de lire le presse-papiers sur cette plateforme","ERR_CLIPBOARD_GENERIC":"Aucune URL lisible trouvée dans le presse-papiers. Veuillez copier une URL (par exemple un lien magnet) vers une vidéo.","BOARD_CONTINUE_WATCHING":"Continuer de regarder","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Films sélectionnés spécialement pour vous.
    Ce film est un exemple de recommandation.","BOARD_EXPLANATION_EPISODES":"Les nouveaux épisodes de vos Séries préférées arrivent ici.
    Ajouter les séries que vous suivez à votre bibliothèque.","BOARD_EXPLANATION_VIDEOS":"Les nouveaux épisodes de vos Chaînes préférées arrivent ici.
    Ajouter les chaînes YouTube que vous suivez dans votre bibliothèque.","WEBSITE_ENJOYED_BY":"Apprécié par plus de 30 millions d’utilisateurs dans le monde","WEBSITE_STREAMING_ENHANCED":"Streaming amélioré","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offre une expérience de divertissement sécurisée, moderne et transparente. Grâce à son interface conviviale et à sa bibliothèque de contenus variés, dont la prise en charge du 4K HDR, les utilisateurs peuvent profiter de leurs films et émissions de télévision préférés sur tous leurs appareils. Grâce à son engagement en matière de sécurité, Stremio est le meilleur choix pour une expérience de streaming de haute qualité en toute sérénité.","WEBSITE_AVAILABLE_ON":"Disponible sur","WEBSITE_WATCH_AND_ENJOY":"Regarder & profiter.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Avec Stremio, c’est du gâteau","WEBSITE_ALL_FEATURES":"Toutes les fonctionnalités","WEBSITE_EASY_TO_USE":"Facile à utiliser","WEBSITE_EASY_TO_USE_DETAILS":"Stremio est conçu pour être convivial et facile à utiliser. Grâce à son interface claire et intuitive, vous pouvez facilement naviguer et trouver le contenu que vous souhaitez regarder.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Synchronisation transparente entre les appareils","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponible pour un large éventail de plateformes (Windows, Mac, Linux, Android, etc.), Stremio suit vos progrès sur tous vos appareils. Il vous suffit de vous connecter et de continuer à regarder sans avoir à configurer à nouveau l’application sur chaque nouvel appareil.","WEBSITE_ALL_DOWNLOADS":"Tous les téléchargements","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Supporte la vidéo HD","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un lecteur vidéo intégré prenant en charge la plupart des formats vidéo, y compris les contenus 4K HDR, vous permet de profiter de la meilleure qualité disponible.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Bibliothèque de contenu diversifié","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio intègre un grand nombre de sources vidéo populaires, telles que Netflix, Amazon Prime Video, Hulu, YouTube et bien d’autres.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Créer un compte gratuit","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Expérience de visionnage sur mesure","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio vous permet de personnaliser l’aspect et la convivialité de l’interface en changeant le thème, en ajoutant ou en supprimant des addons, etc..","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Prise en charge des sous-titres multilingues","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Vous pouvez désormais profiter de vos contenus préférés dans la langue de votre choix, car Stremio prend en charge les sous-titres dans toutes les langues.","WEBSITE_ALL_STREMIO_FEATURES":"Toutes les fonctionnalités de Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Essayer Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Sur votre TV maintenant","WEBSITE_YOU_CAN_NOW_WATCH":"Vous pouvez désormais regarder vos émissions de télévision préférées sur vos appareils TV Android. L’application Stremio TV vous permet de profiter d’une soirée cinéma en toute simplicité.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Vous pouvez désormais regarder vos émissions de télévision préférées sur votre Smart TV ou Android TV. Les applications Stremio TV vous permettent de profiter d’une soirée cinéma en toute simplicité.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio pour Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probablement la meilleure et la plus utile des applications à avoir sur son appareil. C’est l’une des applications que j’utilise quotidiennement, en particulier sur mon Android TV depuis de nombreuses années maintenant. Bien faite avec une communauté forte qui fournit des fonctionnalités utiles. Bien joué. Continuez à faire du bon travail.","WEBSITE_REVIEWS":"Avis","WEBSITE_GET_STREMIO_FOR_FREE":"Obtenir Stremio gratuitement","WEBSITE_GET_STREMIO_NOW":"Obtenir Stremio maintenant","WEBSITE_STREMIO_FEATURES":"Fonctionnalités de Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Visionnez comme un pro grâce aux fonctions avancées de Stremio et profitez d’un accès transparent à tous vos médias préférés.","WEBSITE_DISCOVER_MORE":"Découvrez plus.","WEBSITE_DISCOVER_MORE_DETAILS":"Jamais à court de choses à regarder","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio dispose d’une grande communauté active d’utilisateurs qui contribuent au développement du logiciel en créant et en partageant des addons.","WEBSITE_GET_INVOLVED":"Participez","WEBSITE_NEW_THEATER_EXPERIENCE":"Nouvelle expérience de cinéma","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"La nouvelle application TV dédiée de Stremio vous permet de profiter d’une soirée cinéma sur vos appareils Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Les nouvelles applications TV dédiées de Stremio vous permettent de profiter d’une soirée cinéma sur votre Smart TV ou vos appareils Android TV.","WEBSITE_FREE_AND_SECURE":"Gratuit et sécurisé","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offre aux utilisateurs une sécurité et une confidentialité inégalées. Grâce à sa fonction unique d’exécution à distance des modules complémentaires, Stremio offre un moyen plus sûr de diffuser vos contenus préférés que d’autres plateformes. Votre sécurité et votre vie privée sont des priorités absolues, et la plateforme veille à ce que toutes vos données soient protégées.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Dites adieu aux inquiétudes concernant la sécurité et la vie privée et dites bonjour à un monde de divertissement sans fin avec Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informations fournies par","WEBSITE_CONTRIBUTE_DESC":"au projet & aidez nous à améliorer Stremio","WEBSITE_COMMUNITY_DESC":"Nous pensons que la meilleure manière de créer une expérience de streaming vraiment étonnante est d’impliquer notre communauté dans le processus. Que vous soyez un programmeur, un artiste ou simplement un fan, vous pouvez aider Stremio à se développer.","WEBSITE_COMMUNITY_DESC_2":"Rejoignez-nous dès aujourd’hui, devenez membre de la communauté Stremio et continuez à façonner l’avenir du streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Comment contribuer","WEBSITE_IN_THE_STREMIO_COMMUNITY":"dans la communauté Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Partagez vos impressions","WEBSITE_REPORT_BUGS":"Rapporter un bug","WEBSITE_SUGGEST_FEATURES":"Suggérer une fonctionnalité","WEBSITE_AND_PROVIDE_FEEDBACK":"et donnez votre avis sur nos réseaux sociaux.","WEBSITE_BETA_TESTING_PROGRAM":"Programme de béta test","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participez à notre programme de test bêta (nous envoyons régulièrement des invitations) dans la communauté Stremio.","WEBSITE_JOIN_NOW":"Rejoignez maintenant !","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Communautés officielles de Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Communautés non officielles de Stremio","WEBSITE_BECOME":"Devenir","WEBSITE_A_VOLUNTEER_TRANSLATOR":"un traducteur volontaire","WEBSITE_ARE_YOU_A_DEVELOPER":"Êtes-vous un développeur ?","WEBSITE_CONTRIBUTE_CODE":"Vous pouvez contribuer au code de nos projets open source. Nous avons plusieurs projets sur GitHub qui recherchent des contributeurs. Si vous souhaitez nous aider, consultez-les :","WEBSITE_STREMIO_ON_GITHUB":"Stremio sur GitHub","WEBSITE_CREATE_ADDON_DESC":"Créer un addon pour améliorer les fonctionnalités de Stremio (nous avons une API facile à utiliser) :","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Nous offrons également la possibilité de nous rejoindre en tant que développeur stagiaire afin que nous puissions grandir ensemble.","WEBSITE_APPLY_AS_AN_INTERN":"Postuler en tant que stagiaire","WEBSITE_CALLING_ALL_ARTISTS":"Appel à tous les artistes !","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Montrez votre créativité et votre amour pour Stremio en téléchargeant votre fan art dans notre galerie en ligne. Qu’il s’agisse d’un dessin, d’une peinture ou d’une conception numérique, nous voulons voir votre vision unique de la marque Stremio. Rejoignez notre communauté de passionnés d’art et partagez votre travail avec d’autres fans de Stremio dans le monde entier.","WEBSITE_STREMIO_FANART_GALLERY":"Galerie de fanarts de Stremio","WEBSITE_INTERN_DESIGNER":"Intégrez notre équipe et donnez une nouvelle dimension à votre créativité grâce à nos offres de stage passionnantes.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Projet de films du domaine public","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Chez Stremio, nous nous engageons à préserver l’histoire du cinéma et de la télévision en identifiant les vidéos du domaine public et les vidéos orphelines. En collaborant avec notre communauté, nous pouvons faire en sorte que ces œuvres d’art classiques soient accessibles à tous et protégées pour que les générations futures puissent en profiter.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"N’hésitez pas à nous contacter si vous souhaitez participer à ce projet.","WEBSITE_JOIN_THE_PROJECT":"Rejoignez le projet","WEBSITE_BE_PART_OF_OUR_MISSION":"Participez à notre mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Intéressé pour rejoindre l’équipe Stremio ? Toutes nos offres sont 100% remote pour professionnels passionés. Regardez nos offres d’emploi.","WEBSITE_OPEN_POSITIONS":"POSTES OUVERTS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"En savoir plus","WEBSITE_COMPANY":"Entreprise","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Aide ?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide pour Stremio Web sur iOS","WEBSITE_LINK_ART_V2":"Galerie de fanarts","WEBSITE_PARTNERS":"Partenaires","WEBSITE_SLOGAN_WATCH":"Regarder instantanément","WEBSITE_SLOGAN_ALL":"Toutes les vidéos que vous aimez au même endroit","WEBSITE_SLOGAN_NEW":"Tout ce que vous pouvez regarder","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Regarder depuis","WEBSITE_DOWNLOAD":"Télécharger maintenant","WEBSITE_DOWNLOAD_FOR":"Télécharger maintenant pour","WEBSITE_IS_DESKTOP":"Stremio est une application de bureau, ouvrez cette page sur votre PC et téléchargez la","WEBSITE_DESKTOP_DEMO_VID":"Démo","WEBSITE_PAGE_HOME":"Accueil","WEBSITE_PAGE_FEATURES":"Fonctionnalités","WEBSITE_PAGE_ADDONS":"Extensions","WEBSITE_PAGE_TECH":"Technologies","WEBSITE_PAGE_CREATE_ADDON":"Créer une extension","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Veuillez saisir votre nouveau mot de passe ci-dessous.","WEBSITE_RESET_PASSWORD_WARNING":"Êtes-vous sûr de vouloir réinitialiser le mot de passe pour ${1} ?","WEBSITE_TYPE_movie":"Films","WEBSITE_TYPE_series_PL":"Séries","WEBSITE_TYPE_tv":"TV en live","WEBSITE_TYPE_channel":"Chaînes","WEBSITE_STREMIO_WHAT_IS":"Stremio set une application qui vous aide à organiser et à accéder instantanément à vos vidéos, films, séries TV et chaînes TV préférées","WEBSITE_FEATURES_WATCH":"Regarder immédiatement en HD","WEBSITE_FEATURES_WATCH_DETAIL":"Cliquer pour lancer vos vidéos, films, séries TV et chaînes TV préférées","WEBSITE_FEATURES_SUBS":"Sous-titres automatiques","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio choisit automatiquement les sous-titres pour votre langue.","WEBSITE_FEATURES_SUBS_LABEL":"À vous, chef","WEBSITE_FEATURES_CAST":"Lecture sur TV et appareils mobiles","WEBSITE_FEATURES_CAST_DETAIL":"Envoyer vers une AppleTV, Chromecast, Smart TV (DLNA/UPnP) ou un appareil mobile.","WEBSITE_LIB":"Profitez de votre bibliothèque personnelle, synchronisée sur tous vos appareils","WEBSITE_LIB_COLLECT":"Récupérer depuis Stremio","WEBSITE_LIB_IMPORT":"Importer depuis Facebook","WEBSITE_LIB_LOCAL":"Ajouter depuis votre disque","WEBSITE_BOARD":"Le tableau - Votre étape pour les notifications et recommandations","WEBSITE_BOARD_RECOMMEND":"Série TV recommandée","WEBSITE_BOARD_TRENDING":"Film tendance","WEBSITE_BOARD_NEW":"Nouvelle vidéo","WEBSITE_BOARD_EPISODE":"Nouvel épisode","WEBSITE_BOARD_1":"Envie de regarder quelque chose d’intéressant ? Recevez des recommandations basées sur vos goûts !","WEBSITE_BOARD_2":"Soyez notifié dès qu’un nouvel épisode de votre show TV ou chaîne youtube favorite sort !","WEBSITE_BOARD_YOUTUBE":"Nouvelles vidéos des chaînes YouTube","WEBSITE_BOARD_EPISODES":"Nouveaux épisodes des séries que vous suivez","WEBSITE_ADDONS":"Extensions de contenu","WEBSITE_TECH_DETAIL":"Nous aimons les nouvelles technologies et les expérimentations !\\nStremio utilise les technologies open source suivantes :","WEBSITE_TECH_WCJS":"WebChimera.js permet à Stremio de lire n’importe quel format vidéo avec de bonnes performances.","WEBSITE_TECH_WCJS_EXTRA":"Nous sommes des contributeurs principaux du projet.","WEBSITE_TECH_ELECTRON":"Electron fournit une plateforme innovante sur laquelle bâtir Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Nous contribuons au projet.","WEBSITE_TECH_LINVODB":"Une technologie de base de données qui assure une bonne organisation et une mise à disposition partout.","WEBSITE_TECH_LINVODB_EXTRA":"Technologie maison","WEBSITE_CREATE_ADDON":"Créez votre extension","WEBSITE_CREATE_ADDON_DETAIL":"Vous avez un service qui fournit des vidéos ? Nous vous aiderons à bénéficier des fonctionnalités de Stremio en faisant votre propre extension.","WEBSITE_CREATE_ADDON_BENEFITS":"Avantages de créer une extension pour Stremio","WEBSITE_P2P_BEAUTY":"La beauté du Streaming En peer to peer","WEBSITE_P2P_1":"Vidéos full HD / 4K fiables et accessibles en VoD ou streaming","WEBSITE_P2P_2":"Plateforme de distribution avec une expérience utilisateur optimale","WEBSITE_P2P_3":"Nous vous créerons une extension sur mesure","WEBSITE_P2P_CONTACT":"Interessé ? Nous vous invitons à nous contacter.","WEBSITE_P2P_CONTACT_EXTRA":"Nous serions heureux de vous aider à intégrer votre contenu à Stremio !","WEBSITE_P2P":"De temps en temps, une nouvelle technologie vient changer la donne. Nous avons investi énormément de temps et d’efforts pour construire un moteur de streaming peer to perr (P2P) fournissant une bonne performance et polyvalence, s’adaptant à tous les cas de figure.\\nContactez-nous pour mettre en place des vidéos en P2P ou streaming avec DRM.","WEBSITE_THOUGHTS":"Des pensées à partager :","WEBSITE_SPREAD":"Passer le mot à propos de Stremio :","WEBSITE_CONTACT":"Si vous voulez nous contatez, utilisez ","WEBSITE_OPENSOURCE":"Pour nos projets open source, rendez-vous sur notre","WEBSITE_BITCOIN":"Faites-nous une donation de Bitcoin :","WEBSITE_FAQ":"Questions fréquemment posées","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Conditions d’utilisation","WEBSITE_LEGAL":"Juridique","WEBSITE_PAGE_ABOUT":"À propos","WEBSITE_PAGE_BECOME_PARTNER":"Devenez partenaire","WEBSITE_ALL_YOU_CAN_WATCH":"La Liberté de Regarder\\nTout ce que Vous Voulez.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Qu’est-ce que Stremio ?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio est un hub unique pour l’agrégation de contenu vidéo. Découvrez, organisez et regardez des vidéos provenant de toutes sortes de sources sur n’importe quel appareil que vous possédez.","WEBSITE_WHAT_IS_STREMIO_P2":"Films, émissions de télévision, séries, chaînes de télévision en direct ou chaînes web comme YouTube et Twitch.tv - vous trouverez tout cela sur Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio est un centre de médias moderne qui constitue une solution unique pour vos divertissements vidéo. Vous découvrez, regardez et organisez le contenu vidéo à partir d’addons faciles à installer.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Films, émissions de télévision, télévision en direct ou chaînes web - trouvez tout cela sur Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Profitez sur tous vos appareils","WEBSITE_DEVICES_COLLECT":"Collecter depuis Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importer depuis facebook","WEBSITE_DEVICES_LOCAL":"Ajouter depuis un disque local","WEBSITE_JOIN_THE_PARTY_NOW":"Rejoignez la fête dès maintenant","WEBSITE_DEVICES_ALL":"Facile à utiliser sur tous vos appareils;","WEBSITE_EXTENDABLE_CATALOG":"Catalogue vidéo extensible à l’infini;","WEBSITE_ORGANIZE_YOUR_MEDIA":"De superbes fonctionnalités pour organiser vos médias;","WEBSITE_AS_SEEN_ON":"As été vu sur","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"A propos de nous","WEBSITE_LINK_TECHNOLOGY":"Technologie","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Téléchargement","WEBSITE_MORE":"Plus","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribuer","WEBSITE_LINK_COMMUNITY":"Communauté","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"… & Plus","WEBSITE_LINK_HELP":"Centre d’aide","WEBSITE_LINK_CONTACTS":"Contactez-nous","WEBSITE_LINK_TOS":"Conditions d’utilisation","WEBSITE_LINK_PRAVACY":"Politique de confidentialité","WEBSITE_SUBSCRIBE":"Souscrire","WEBSITE_NEWSLETTER":"Rejoignez notre newsletter pour des nouvelles incroyables","WEBSITE_PLACEHOLDER_EMAIL":"Votre Email","WEBSITE_COMMUNITY":"Communauté","WEBSITE_LINK_PRAVACY_LEGAL":"Confidentialité et mentions légales","WEBSITE_WHY":"Pourquoi nous le faisons","WEBSITE_WHY_P1":"Chez Stremio, nous venons travailler tous les jours parce que nous voulons résoudre un problème important pour l’industrie de la vidéo à la demande. Il y a tellement de nouveaux contenus publiés chaque minute qu’il est pratiquement impossible de s’y retrouver.","WEBSITE_WHY_P2":"Nous aidons les gens à naviguer dans cet immense monde de divertissement vidéo et à découvrir de nouveaux contenus pour en profiter. Nos applications regroupent des films, des séries, des émissions de TV en direct, des chaînes Web et plus encore. Nous nous engageons à faire en sorte qu’il soit incroyablement facile pour les utilisateurs de trouver les titres et les diffuseurs qu’ils aiment.","WEBSITE_WHY_P3":"Vous pouvez utiliser notre service sur n’importe quel appareil et à tout moment, faisant de Stremio le seul centre de divertissement vidéo dont vous aurez jamais besoin.","WEBSITE_TEAM":"L’ÉQUIPE","WEBSITE_TEAM_P":"L’équipe de Stremio est petite mais puissante : à nous dix, nous codons en X langages et partageons notre expertise en développement logiciel, conception d’interface utilisateur et d’interface utilisateur, marketing et publicité, ainsi qu’en business et startups.","WEBSITE_FEATURES":"Fonctionnalités","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Découvrez facilement de nouveaux contenus","WEBSITE_FEATURES_DISCOVER_P":"Découvrez facilement les nouveaux films, émissions de télévision, séries et chaînes à regarder. Parcourez par catégorie, genre, classement, récence, etc. ou tapez simplement un nom pour trouver. Stremio fait de la recherche d’un nouveau contenu vidéo un jeu d’enfant.","WEBSITE_FEATURES_ALL_CONTENT":"Tout votre contenu vidéo sur un seul écran","WEBSITE_FEATURES_ALL_CONTENT_P1":"Voyez quels films, séries ou vidéos vous n’avez pas terminés et continuez à les regarder ; soyez averti des nouveaux épisodes et sorties ; et parcourez les recommandations que vous recevrez en fonction de vos habitudes de visionnage.","WEBSITE_FEATURES_LIBRARY":"Organisez votre vidéothèque","WEBSITE_FEATURES_LIBRARY_P1":"Ajoutez n’importe quel titre à votre bibliothèque Stremio d’un simple clic et trouvez votre chemin à travers votre contenu, classé par type, récence ou ordre alphabétique.","WEBSITE_FEATURES_CALENDAR":"Gardez une trace de tout ce que vous regardez","WEBSITE_FEATURES_CALENDAR_P1":"Obtenez une visualisation du calendrier de tous les films et séries que vous ajoutez à votre bibliothèque. Exportez votre calendrier Stremio et synchronisez-le afin de toujours savoir quand un nouvel épisode ou une première est prévu.","WEBSITE_FEATURES_BIG_SCREEN":"Profitez de votre contenu vidéo sur un écran plus grand","WEBSITE_FEATURES_BIG_SCREEN_P1":"Lancez tout ce que vous regardez sur un autre appareil, qu’il s’agisse d’un téléphone, d’une tablette ou d’un téléviseur d’un simple clic.","WEBSITE_FEATURES_SOURCES":"Regarder des vidéos provenant de nombreuses sources différentes","WEBSITE_FEATURES_SOURCES_P":"Installez des addons officiels et communautaires pour profiter de vidéos provenant de nombreux fournisseurs différents - le tout dans une seule application élégante et facile à utiliser.","WEBSITE_CREATE_AN_ADDON":"Créer un addon","WEBSITE_FEATURES_SYNC":"Synchronisez votre bibliothèque sur différents appareils et reprenez votre lecture","WEBSITE_FEATURES_SYNC_P1":"Connectez-vous avec votre compte sur tous vos appareils et profitez de la synchronisation de votre bibliothèque, de vos addons, de la lecture et de votre calendrier.","WEBSITE_FEATURES_EXTENDABLE":"Catalogue vidéo extensible via l’ajout d’addons","WEBSITE_FEATURES_EXTENDABLE_P1":"Le catalogue d’addons de Stremio propose un certain nombre d’addons à installer vous permetant de regarder une variété de contenus vidéo. Cela comprend des films, émissions, télévisions en direct, du sport, des actualités, podcasts, chaînes web, jeux vidéo et bien d’autres encore.","WEBSITE_FEATURES_AUTO_SUBS":"Sous-titres automatiques","WEBSITE_FEATURES_AUTO_SUBS_P1":"Avec nos addons de sous-titres, vous obtenez automatiquement des options pour votre langue préférée.","WEBSITE_FEATURES_CHROMECAST":"Caster vers un Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Profitez de votre contenu vidéo sur un écran plus grand ou diffusez simplement ce que vous regardez sur un autre appareil.","WEBSITE_FEATURES_KEEP_TRACK":"Gardez une trace de vos émissions TV et de vos chaînes Web préférées","WEBSITE_FEATURES_KEEP_TRACK_P1":"Bénéficiez d’un calendrier et de notifications pour les nouveaux épisodes de vos séries et chaînes web préférées.","WEBSITE_FEATURES_POWER_USER":"Fonctionnalités pour les utilisateurs avancés","WEBSITE_FEATURES_POWER_USER_P1":"Jouer dans un lecteur externe","WEBSITE_FEATURES_POWER_USER_P2":"Lecture à partir d’un fichier torrent ou d’un lien magnet","WEBSITE_FEATURES_POWER_USER_P3":"Importation dans votre bibliothèque à partir de favoris Facebook ou d’un disque local","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"Tout le contenu vidéo fourni par Stremio provient d’un système d’addon - aucun contenu ou fournisseur de contenu n’a été intégré dans l’application.","WEBSITE_ADD_ONS_P2":"Il y a deux groupes d’addons disponibles : les addons officiels et les addons communautaires.","WEBSITE_ADD_ONS_P3":"Les officiels sont développés et hébergés par Stremio, tandis que les addons communautaires sont créés par les membres de notre communauté, qui les hébergent également.","WEBSITE_ADDONS_OFFICIAL":"Addons officiels","WEBSITE_ADDONS_WATCHUB":"Diffusez vos films, séries et émissions préférés de fournisseurs tels que iTunes, Hulu, Amazon et d’autres services du Royaume-Uni et des États-Unis.","WEBSITE_ADDONS_YOUTUBE":"Regardez vos chaînes YouTube préférées sans publicité et recevez des notifications pour les nouveaux uploads des contributeurs que vous suivez.","WEBSITE_ADDONS_FILMON":"Regardez la télévision en direct, les films et la télévision gratuitement. 600 chaînes de télévision, 45 000 films, film gratuits, documentaires et plus encore","WEBSITE_ADDONS_OPENSUBTITLES":"Sous-titres de films et de télévision en plusieurs langues, des milliers de sous-titres traduits sont mis en ligne chaque jour.","WEBSITE_ADDONS_COMMUNITY":"Addons de la communauté","WEBSITE_ADDONS_FILMON_VOD":"Regarder la vidéo à la demande de Filmon.tv","WEBSITE_ADDONS_TWICH":"Regardez les flux en direct de Twitch.tv - une plateforme de streaming vidéo pour l’industrie du e-sport","WEBSITE_ADDONS_VODO":"Regardez des films indépendants totalement gratuitement.","WEBSITE_ADDONS_NETFLIX":"Regardez des films et des séries Web de Netflix.","WEBSITE_ADDONS_CREATE":"Créer un addon","WEBSITE_ADDONS_CREATE_P1":"Si vous le souhaitez, vous pouvez développer votre propre addon. De cette façon, vous pouvez vous donner, ainsi qu’à notre communauté, accès à un nouveau contenu vidéo et atteindre un nouveau public ciblé de millions d’utilisateurs dans le monde entier.","WEBSITE_ADDONS_START_CREATE":"Pour commencer, visitez la page Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Téléchargements","WEBSITE_DOWNLOADS_P1":"Pour des performances optimales, nous vous recommandons d’utiliser la dernière version disponible des applications Stremio. Si, pour une raison quelconque, vous souhaitez utiliser une version plus ancienne, vous pouvez la télécharger ici.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio pour Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio pour macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio pour Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio pour Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio pour iOS (version limitée)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New !","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribuer","WEBSITE_CONTRIBUTE_P1":"La plateforme Stremio est open source et vous pouvez facilement créer un addon pour du contenu qui n’est actuellement pas sourcé.","WEBSITE_CONTRIBUTE_WHY":"Pourquoi créer un addon ?","WEBSITE_CONTRIBUTE_WHY_P1":"Atteignez un nouveau public pour votre contenu vidéo","WEBSITE_CONTRIBUTE_WHY_P2":"La base d’utilisateurs de Stremio s’accroît rapidement - au cours de la première année du lancement, Stremio avait gagné 1 million d’utilisateurs à travers le monde, et au cours de la deuxième année d’existence de la plate-forme, ce nombre est passé à 2,5 millions.","WEBSITE_CONTRIBUTE_WHY_P3":"Avec votre addon, vous pouvez facilement atteindre cet audience et lui distribuer votre contenu vidéo.","WEBSITE_CONTRIBUTE_ALL":"Regardez vos films, vidéos, séries et chaînes préférés en un seul endroit.","WEBSITE_CONTRIBUTE_ALL_P1":"Vous êtes fan d’un type particulier de contenu qui n’est pas encore disponible sur Stremio ? Créez un addon et regardez vos vidéos préférées dans l’un des hubs de divertissement les plus grands et les plus faciles à utiliser sur le marché.","WEBSITE_CONTRIBUTE_ALL_P2":"En plus de cela, vous obtiendrez la gratitude infinie d’autres membres de la communauté Stremio partageant les mêmes idées.","WEBSITE_CONTRIBUTE_MONETIZE":"Monétisez votre addon et gagnez de l’argent grâce à lui","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Une fois que vous avez développé un nouvel addon pour Stremio, vous pouvez facilement le monétiser de différentes manières. Si vous envisagez de le faire, n’hésitez pas à nous contacter à l’adresse suivante ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - nous nous ferons un plaisir de vous consulter et de vous conseiller sur les options de monétisation des addons.","WEBSITE_CONTRIBUTE_TRANSLATE":"Devenez traducteur bénévole","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Si vous souhaitez profiter des applications Stremio dans différentes langues, vous pouvez rejoindre notre communauté de traducteurs bénévoles. Ils nous aident à ajouter des versions de Stremio dans de nombreuses langues différentes.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Vous avez hâte de commencer ?","WEBSITE_TRANSALTE_STREMIO":"Traduire Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Communautés officielles","WEBSITE_COMMUNITY_OFFICIALS_P1":"Devenez membre de la communauté Stremio en pleine croissance. Suivez-nous sur les réseaux sociaux et n’hésitez pas à nous dire bonjour - nous adorons avoir des nouvelles de nos fans !","WEBSITE_COMMUNITY_UNOFFICIALS":"Communautés non officielles","STREMIO_COMMUNITY_NL":"Stremio Pays-Bas","STREMIO_COMMUNITY_BRASIL":"Stremio Brésil","STREMIO_COMMUNITY_GERMANY":"Stremio Allemagne","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgique","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italie","STREMIO_COMMUNITY_UK":"Stremio Royaume-Uni","STREMIO_COMMUNITY_USA":"Stremio Etats-Unis","STREMIO_COMMUNITY_MEXICO":"Stremio Mexique","STREMIO_COMMUNITY_ADDONS":"Addons Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partenaires et supporters","WEBSITE_COMMUNITY_GOODIES":"Goodies Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Fonds d’écran","WEBSITE_COMMUNITY_ART":"Galerie d’Art de la Communauté","WEBSITE_LINK_ART":"Galerie d’Art de la Communauté","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"Si vous avez des questions, commentaires ou suggestions, n’hésitez pas à nous contacter via le formulaire de contact ci-dessous.","WEBSITE_CONTACT_US_P2":"Gardez à l’esprit que nous sommes situés en Bulgarie, il peut donc y avoir un retard dans le traitement de votre demande en raison de différences de fuseau horaire.","WEBSITE_CONTACT_US_SUCCESS":"Votre message a bien été envoyé. Nous vous répondrons dans les plus brefs délais.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Veuillez entrer un email valide !","WEBSITE_CONTACT_US_Q_RELATED_TO":"Sur quoi porte votre question ?","WEBSITE_CONTACT_US_Q_OS":"Quel est votre système d’exploitation ?","WEBSITE_CONTACT_US_PH_EMAIL":"Votre E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVOYER","WEBSITE_CONTACT_US_Q_1":"Comment installer ?","WEBSITE_CONTACT_US_Q_2":"Comment désinstaller ?","WEBSITE_CONTACT_US_Q_3":"(HTML) Comment faire des lasagnes ?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technologie","WEBSITE_TECHNOLOGY_P1":"Nous aimons la technologie et la science folle.
    Voici ce qui fait fonctionner Stremio (tout est open-source).","WEBSITE_TECHNOLOGY_P_QT":"Le développement logiciel multiplateforme à son meilleur.","WEBSITE_TECHNOLOGY_P_MPV":"Un lecteur multimédia gratuit, open source et multiplateforme.","WEBSITE_TECHNOLOGY_P_RN":"React Native vous permet de créer des applications mobiles en utilisant uniquement JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework intégré à l’application pour obtenir du multimédia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm est une plateforme mobile qui remplace SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuer au projet","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Il y a deux façons de contribuer à Stremio et de nous aider à rendre le produit encore mieux.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Vous pouvez faire don de vos précieuses compétences linguistiques en traduisant la plateforme …","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ou","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"… vous pouvez utiliser vos compétences en développement pour créer des addons communautaires. ","WEBSITE_TRANSLATE_STREMIO":"Traduire Stremio","WEBSITE_404_OH_NO":"Oh, oh ! La page que vous cherchez n’est pas ici…","WEBSITE_GO_HOME":"Retourner à l’accueil","WEBSITE_LINK_OTHER_DOWNLOADS":"Autres téléchargements","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Télécharger Stremio 4 beta maintenant","WEBSITE_GET_FOR_DESKTOP":"Télécharger pour le bureau","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"Mon compte","WEBSITE_MAINPAGE_FAQ_001_H1":"Qu’est-ce que Stremio ?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio est un centre de médias moderne qui vous donne la liberté de regarder tout ce que vous voulez.","WEBSITE_MAINPAGE_FAQ_002_H1":"Comment cela fonctionne ?","WEBSITE_MAINPAGE_FAQ_002_P1":"Une fois que vous avez installé Stremio sur votre appareil et que vous avez créé un compte, il vous suffit de vous rendre dans le catalogue d’addons et d’installer tous les addons que vous voulez, et c’est parti !","WEBSITE_MAINPAGE_FAQ_002_P2":"Ensuite, vous pouvez vous rendre dans les sections Découvrir ou Tableau pour commencer à explorer le contenu.","WEBSITE_MAINPAGE_FAQ_003_H1":"Que puis-je regarder ici ?","WEBSITE_MAINPAGE_FAQ_003_P1":"Beaucoup : Films, émissions de télévision, chaînes Internet, sport, chaînes de télévision, écouter de podcasts et bien d’autres choses encore. Grâce à notre système d’addons, vous pouvez accéder à une grande variété de contenus.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio est-il open-source ?","WEBSITE_MAINPAGE_FAQ_004_P1":"Oui, vous pouvez consulter les liens suivants: ${1}application de bureau${2} et ${3}Organisation GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio est-il sans danger ?","WEBSITE_MAINPAGE_FAQ_005_P1":"Oui: comme il s’agit d’un logiciel open-source, le code est publiquement contrôlable et vous pouvez l’examiner vous-même.","WEBSITE_MAINPAGE_FAQ_005_P2":"Le système d’extensions de Stremio a également été conçu en tenant compte de la sécurité des utilisateurs. Les extensions n’exécutent aucun code localement, ce qui ne présente aucun risque pour votre appareil.","WEBSITE_MAINPAGE_FAQ_006_H1":"Qu’en est-il de ma vie privée ?","WEBSITE_MAINPAGE_FAQ_006_P1":"Nous respectons la vie privée des utilisateurs et ne recueillons aucune donnée personnelle en dehors du minimum indispensable pour créer et synchroniser votre compte.","WEBSITE_MAINPAGE_FAQ_006_P2":"Il existe également un ${1}Mode invité${2} à l’inscription, qui ne nécessite aucune donnée particulière : dans ce mode, aucune requète n’est effectuée vers notre serveur. Toutefois, cela se fait au détriment de fonctions importantes, telles que la possibilité de synchroniser votre bibliothèque entre les appareils.","WEBSITE_MAINPAGE_FAQ_007_H1":"Puis-je caster sur ma TV ?","WEBSITE_MAINPAGE_FAQ_007_P1":"Oui, nous supportons Chromecast et vous pouvez caster à partir des applications bureau et mobiles (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Combien d’addons possède Stremio ?","WEBSITE_MAINPAGE_FAQ_008_P1":"Fin 2019, plus de 50 - pour plus d’informations, consultez notre catalogue d’addons.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio peut-il être étendu au-delà de ce qui se trouve dans le catalogue de l’addon ?","WEBSITE_MAINPAGE_FAQ_009_P1":"Oui, vous devriez faire un tour ici: ${1}PimpMyStremio${2}, ${3}Communautés Reddit${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Quels sont les appareils pris en charge par Stremio ?","WEBSITE_MAINPAGE_FAQ_010_P1":"Nous avons des applications de bureau pour Windows, Mac et Linux. Pour les mobiles, nous prenons en charge Android et iOS, tout en gardant à l’esprit que la version iOS est limitée dans ses fonctionnalités (elle ne prend pas en charge la plupart des addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"Il existe de nombreux appareils basés sur Android sur lesquels vous pouvez faire tourner Stremio, comme NVIDIA Shield et Amazon Fire Stick, mais nous ne les supportons pas officiellement.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Nous proposons des applications de bureau pour Windows, Mac et Linux. Nous avons également des applications dédiées pour Android Mobile et Android TV. Pour iOS et iPadOS, nous recommandons d’utiliser Stremio Web, bien que ses fonctionnalités soient plus limitées.","WEBSITE_MAINPAGE_FAQ_011_H1":"Pouvez-vous ajouter certains contenus à Stremio ?","WEBSITE_MAINPAGE_FAQ_011_P1":"Désolé, nous ne fournissons pas de contenu nous-mêmes, mais plus vous avez installé d’addons Stremio, plus vous serez en mesure de trouver du contenu.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio peut-il jouer les liens magnet ?","WEBSITE_MAINPAGE_FAQ_012_P1":"Oui, et il peut également lire des liens HTTP normaux et des fichiers torrents (glisser-déposer).","WEBSITE_MAINPAGE_FAQ_013_H1":"Puis-je télécharger une vidéo et la regarder hors ligne ?","WEBSITE_MAINPAGE_FAQ_013_P1":"La disponibilité hors ligne est une fonctionnalité à venir, mais si vous autorisez Stremio à se mettre en cache sur votre appareil (à partir du panneau de configuration), vous pouvez regarder les vidéos plus tard sans connexion.","WEBSITE_MAINPAGE_FAQ_014_H1":"Rien ne marche, aidez-moi !","WEBSITE_MAINPAGE_FAQ_014_P1":"Êtes-vous sûr d’avoir installé des addons ? Si oui, vérifiez auprès de notre ${1}centre d’aide${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Comment Stremio soutient-il ses opérations de développement ?","WEBSITE_MAINPAGE_FAQ_015_P1":"Nous diffusons occasionnellement des publicités non intrusives, mais nous envisageons de passer à un modèle de don.","WEBSITE_MAINPAGE_FAQ_015_P2":"Pour plus de questions, consultez notre ${1}centre d’aide${2}.","HELP_LEARN_MORE":"Aidez-nous à mieux vous connaître.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Alimentation & santé","BEAUTY_FASHION":"Beauté & mode","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & éducation","MUSIC":"Musique","TRAVEL":"Voyages","LATE_NIGHT":"Late Night","REALITY":"Télé-réalité","COMEDY":"Comédie","DIY":"DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continuer","SLOW_LOADING":"CHARGEMENT LENT ?","I_GIVE_UP":"J’ABANDONNE","LEARN_MORE":"En savoir plus","POOR_SOURCE":"Cette source est difficilement accessible ou votre connexion Internet n’est pas assez rapide.","PICK_CATEGORIES_ERR":"Vous devez choisir au moins 3 catégories","ADJUST_TIMING":"Ajuster le timing avec ","ADJUST_SIZE":"Ajuster la taille avec ","SEARCH_ANYTHING":"Vous pouvez tout rechercher…","ALL_CATEGORIES":"Tous","SEARCH_CATEGORIES":"Films, Séries, YouTube & TV","SEARCH_PERSONS":"Acteurs, réalisateurs et scénaristes","SEARCH_PROTOCOLS":"HTTP & Liens Magnet","SEARCH_TYPES":"Liens IMDB / TVDB","WATCHED":"Regardé","SHOW_LESS":"Afficher moins","LAST_SEARCHES":"Dernières recherches","CLEAR_HISTORY":"Effacer l’historique","CHOOSE_SOME":"CHOISISSEZ-EN CERTAINS :","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"La télécommande Web n’a pas pu être chargée","STREMIO_OFFLINE":"Stremio est hors-ligne","STREMIO_EXPENSIVE_CONNECTION":"Une connexion réseau coûte cher","USE_DATA":"Utiliser les données","WARNING":"Attention","MORE_INFO":"Plus d’infos…","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Chargement…","STREMIO_TV_BACK_TO_LANGUAGES":"Retour aux langues","STREMIO_TV_REMOTE":"Télécommande","STREMIO_TV_GO_TO":"Aller à:","STREMIO_TV_OR_SCAN":"ou scanner :","STREMIO_TV_ADDON_INSTRUCTIONS":"Veuillez suivre les instructions afin d’installer vos addons préférés.","STREMIO_TV_LIVE_TV":"Télé en direct","STREMIO_TV_RESUME_WATCHING":"Reprendre le visionnage","STREMIO_TV_LOADING_BACKGROUND":"Chargement de l’arrière-plan","STREMIO_TV_CHECKING_AUTHENTICATION":"Vérification de l’authentification","STREMIO_TV_LOADING_BOARD":"Chargement du tableau","STREMIO_TV_LOGIN_HEADER_LINE_1":"Nous voulons que nos utilisateurs bénéficient de la meilleure expérience personnalisée possible avec notre logiciel.","STREMIO_TV_LOGIN_HEADER_LINE_2":"C’est pour cette raison que nous vous demandons de bien vouloir créer et/ou vous connecter à votre compte.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Merci de votre compréhension,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"L’équipe Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Pour utiliser la télécommande Web avec votre smartphone / tablette / ordinateur :","STREMIO_TV_WIFI_SETUP":"Configuration Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle n’a pas détecté de connexion Internet.","STREMIO_TV_WIFI_DETAILS_1":"Connectez-vous à :","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Utilisez le mot de passe :","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Ouvrez un navigateur Web avec le lien :","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Par défaut","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Par dernier visionnage","STREMIO_TV_LIBRARY_SORT_NAME":"Par titre","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Par le nombre de visionnages","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Saison ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} addons chargés…","STREMIO_TV_STREAMS_STILL_LOADING":"L’addon ${1} est toujours en chargement…","STREMIO_TV_PLAYER_SETTINGS":"Paramètres du lecteur","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Délai des sous-titres","STREMIO_TV_PLAYER_AUDIO_DELAY":"Délai de l’audio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Mise à l’échelle de la vidéo","STREMIO_TV_PLAYER_CHAPTERS":"Chapitres","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Sauter ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Source de flux non prise en charge","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Échec de l’ouverture d’un lien externe","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Non réglable en mode audio passthrough","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Lecture avec ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Lecture avec libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Passage au lecteur libVLC en raison d’une erreur de lecture","STREMIO_TV_ADDONS_TITLE":"Utilisez Stremio sur votre téléphone ou votre PC pour installer ou configurer les addons et appuyez sur \\"Synchroniser les addons\\".","STREMIO_TV_ADDONS_SUBTITLE":"Note : assurez-vous que vous utilisez le même compte Stremio.","STREMIO_TV_ADDONS_SYNC_ADDONS":"Synchroniser les addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Synchronisation des Addons réussie","STREMIO_TV_ADDONS_SYNC_FAILED":"Échec de la synchronisation des addons","STREMIO_TV_META_LINK_FAILED":"Échec de l’ouverture du méta lien","STREMIO_TV_CATALOG_LOADING":"Catalogue en cours de chargement…","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Mise à jour de la langue de l’interface","STREMIO_TV_SETTINGS_THEME_UPDATED":"Thème mis à jour","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Lecteur par défaut","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Lecteur externe","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Langue préférée","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Langue secondaire préférée","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Problèmes de lecture possibles sur certains appareils","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Certains formats vidéo peuvent ne pas fonctionner","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Correspondance des fréquences d’images","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Désactivé","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Taux de rafraîchissement uniquement","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Taux de rafraîchissement et résolution","STREMIO_TV_SETTINGS_NO_CACHING":"Pas de mise en cache","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Par défaut","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Calme","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rapide","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Très rapide","STREMIO_TV_SETTINGS_SERVER_URL":"URL du serveur de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Version du serveur","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Inconnue","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Version de Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Modifier l’URL du serveur","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Entrez l’URL d’un serveur de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Afficher les statistiques pendant le chargement","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Pour consulter la politique de confidentialité de Stremio, visitez le site suivant :","STREMIO_TV_SETTINGS_TOS_TEXT":"Pour lire les conditions générales d’utilisation de Stremio, rendez-vous sur le site suivant :","STREMIO_TV_NAV_SEARCH":"Recherche","STREMIO_TV_NAV_HOME":"Accueil","STREMIO_TV_NAV_DISCOVER":"Découvrir","STREMIO_TV_NAV_LIBRARY":"Bibliothèque","STREMIO_TV_NAV_MOVIES":"Films","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Chaînes","STREMIO_TV_NAV_TV":"TV en direct","STREMIO_TV_NAV_SETTINGS":"Réglages","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Lier un compte","STREMIO_TV_LOGIN_EXPIRES_IN":"Expire dans","STREMIO_TV_LOGIN_STEP_ONE":"Scannez le code QR ci-dessus ou rendez-vous sur","STREMIO_TV_LOGIN_STEP_TWO":"Connectez-vous à votre compte Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Demander un nouveau lien","STREMIO_TV_LOGIN_LINK_REFRESHED":"Code de connexion actualisé","STREMIO_TV_SEARCH_PLACEHOLDER":"Entrez quelque chose","STREMIO_TV_SEARCH_NO_ADDONS":"Aucun addon n’a été demandé pour les catalogues !","STREMIO_TV_SEARCH_BUTTON":"Rechercher","STREMIO_TV_SEARCH_KEY_DEL":"Suppr","STREMIO_TV_SEARCH_KEY_SPACE":"Espace","STREMIO_TV_SEARCH_KEY_CLEAR":"Effacer","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historique de recherche","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Vous pouvez rechercher des titres, des acteurs, des chaînes et plus encore…","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Effacer l’historique de recherche","STREMIO_TV_FILTERS_DESCRIPTION":"Choisissez l’un des filtres ci-dessous","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Le serveur de streaming est hors ligne. Vérifiez les paramètres du serveur.","FILTERS":"Filtres","SETTINGS":"Réglages","ACCOUNT":"Compte","LOGOUT":"Déconnexion","THEMES":"Thèmes","PLAYBACK":"Lecture","PLAYBACK_SPEED":"Vitesse de lecture","AUDIO_TRACKS":"Pistes audio","UNKNOWN_TRACK_LANG":"Inconnue","VIDEOS":"Vidéos","SERVER":"Serveur","LINKS":"Liens","ABOUT":"À propos","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Statut","LANGUAGE":"Langue","SIZE":"Taille","DELAY":"Délai","BOLD":"Gras","OPACITY":"Opacité","TEXT_COLOR":"Couleur du texte","OUTLINE_COLOR":"Couleur du contour","BACKGROUND_COLOR":"Couleur de l’arrière-plan","BACKGROUND_BLUR":"Flou d’arrière-plan","SEEK_TIME_DURATION":"Durée de la navigation de la lecture","AUTO_PLAY":"Lecture automatique du prochain épisode","PLAY_NOW":"Regarder","MARK_AS_WATCHED":"Marquer comme regardé","MARK_AS_UNWATCHED":"Marquer comme non regardé","REWIND_TO_BEGINNING":"Revenir au début","CONTINUE_WATCHING":"Continuer de regarder","ALL":"Tous","SECONDS":"Secondes","ON":"ON","OFF":"OFF","RELOAD":"Actualiser","EDIT_URL":"Modifier l’URL","URL":"URL","NONE":"Aucun","EMBEDDED":"Embarqué","LOCAL":"Locale","REMOTE_SWITCH_DEVICES":"Changer d’appareil","REMOTE_VIDEOS":"Vidéos","REMOTE_ADJUST_TIMING":"Ajuster le chronométrage","REMOTE_ADJUST_SIZE":"Ajuster la taille","REMOTE_COULD_NOT_BE_LOADED":"La télécommande Web n’a pas pu être chargée","REMOTE_RETRY":"Réessayer","TORRENT_PROFILE_DEFAULT":"Par défaut","TORRENT_PROFILE_SOFT":"Calme","TORRENT_PROFILE_FAST":"Rapide","TORRENT_PROFILE_ULTRA_FAST":"Très rapide","MB_S":"MB/s","FAQ_001_H1":"Qu’est-ce que le Stremio ?","FAQ_001_P1":"Stremio est un logiciel de centre multimédia conçu pour le divertissement vidéo avec une facilité d’utilisation à l’esprit. Stremio vous permet d’organiser & regardez votre propre collection de films, séries, chaînes et TV en direct.","FAQ_001_P2":"Stremio collecte le contenu qu’il vous montre à partir de votre disque local et de notre système d’addons.","FAQ_001_P3":"Il vous avertira également de la sortie de nouveaux épisodes/vidéos/films qui vous intéressent et vous fournira des recommandations de films.","FAQ_02_H1":"Comment Stremio se compare-t-il à Kodi et Plex ?","FAQ_02_P1":"Nous nous inspirons de ces deux logiciels. Mais nous avons des objectifs différents - Stremio est spécifiquement destiné à la vidéo de divertissement et s’efforce de devenir la solution grand public pour cela en étant très facile à utiliser.","FAQ_02_P2":"Stremio ne sera jamais aussi personnalisable et riche en fonctionnalités que Kodi et Plex, mais il est nettement plus facile à utiliser. Juste ${1} l’obtenir et voir ${2} :)","FAQ_03_H1":"Comment Stremio se compare-t-il à Netflix ?","FAQ_03_P1":"Encore une fois, Netflix est l’une de nos inspirations. Nous nous efforçons d’obtenir l’expérience utilisateur de Netflix, ainsi que de nombreux avantages supplémentaires. Mais plus important encore, nous vous donnons la liberté de gérer votre propre bibliothèque et d’ajouter de nouvelles sources de contenu avec notre système d’extensions.","FAQ_03_P2":"Cela rend Stremio extensible à l’infini, donc lorsque vous utilisez Stremio, vous n’êtes jamais limité au contenu que Netflix décide d’octroyer via une licence. Par exemple, via Stremio, vous pouvez regarder le contenu de ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo$ {8} et même ${9}Netflix${10}","FAQ_04_H1":"Comment Stremio se compare-t-il à Flipboard ?","FAQ_04_P1":"Nous ne recevons pas souvent cette question, sauf lorsque nous parlons à des start-up :)","FAQ_04_P2":"Stremio est par conception un agrégateur de contenu, ce qui en fait essentiellement Flipboard pour la vidéo. Cela est très évident dans notre section Tableau, qui vous donne des catalogues et des notifications de nouveaux épisodes/nouvelles vidéos en lien avec se que vous suivez, tout comme Flipboard.","FAQ_05_H1":"Comment Stremio se compare-t-il à Popcorn Time ?","FAQ_05_P1":"Stremio et Popcorn Time sont similaires dans l’interface utilisateur, car il n’y a pas beaucoup de façons de faire des catalogues de divertissement vidéo correctement :)","FAQ_05_P2":"Mais alors que Popcorn Time se concentre sur la diffusion de torrents à partir de sources spécifiques, Stremio est illimité et est simplement un agrégateur de contenu - il n’est pas verrouillé dans une source de contenu spécifique.","FAQ_05_P3":"De plus, nous ne fournissons aucun addon torrent par défaut, donc Stremio ne couvre pas le cas d’utilisation de Popcorn Time avec des fonctionnalités officielles.","FAQ_05_P4":"Une autre différence notable est que Popcorn Time est entièrement open source, tandis que Stremio est ${1} partiellement open source${2}.","FAQ_06_H1":"Allez-vous ajouter ce film/série ?","FAQ_06_P1":"Non désolé :(","FAQ_06_P2":"Comme mentionné dans la plupart des autres questions, Stremio ne fournit aucun contenu par lui-même - tout est ajouté via le système d’addons. Si vous avez une demande de contenu, vous pouvez utiliser le bouton “Signaler” dans le lecteur, qui enverra un e-mail à l’auteur de l’addon que vous utilisez actuellement.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Allez-vous créer un addon pour X ?","FAQ_08_P1":"C’est tout à fait possible.","FAQ_08_P2":"Si vous avez une idée pour un addon, écrivez-nous à ${1}office@stremio.com${2}, mais assurez-vous que votre idée d’addon n’enfreindra aucun droit d’auteur ou condition d’utilisation.","FAQ_08_P3":"Pour le moment, les prochaines choses sur notre feuille de route sont des addons pour FandangoNOW, la vidéo à la demande Filmon.tv et Crunchyroll.","FAQ_09_H1":"Est-ce que Stremio utilise BitTorrent ?","FAQ_09_P1":"Oui, Stremio prend en charge BitTorrent comme protocole de streaming. Vous pouvez l’utiliser soit avec un addon torrent, soit en glissant-déposant un fichier .torrent dans Stremio, soit en collant un lien magnet dans la barre de recherche.","FAQ_09_P2":"Veuillez noter que le seul addon officiel utilisant BitTorrent est ${1}Vodo${2}, qui fournit du contenu indépendant, tous autorisés à être distribués avec BitTorrent.","FAQ_09_P3":"Nous ne prenons pas en charge l’utilisation d’addons tierces susceptibles de permettre une violation du droit d’auteur.","FAQ_10_H1":"Que puis-je regarder dans Stremio avec les addons officielles ?","FAQ_10_P1":"Par défaut, vous pouvez regarder du contenu Filmon.tv, YouTube et Vodo dans Stremio lui-même, avec son lecteur intégré. De plus, nous avons un addon pour Twitch.tv et quelques autres.","FAQ_10_P2":"Cette combinaison offre une sélection de :","FAQ_10_L1":"Chaînes de télévision populaires, fournies par Filmon.tv - par exemple E4, BBC, Bollyworld TV","FAQ_10_L2":"Tout sur YouTube - par exemple BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Films indépendants avec Vodo","FAQ_10_L4":"Diffusions de jeux en ligne avec Twitch.tv","FAQ_10_P3":"De plus, il existe de nombreuses sources de contenu fournies avec Guidebox et les addons Netflix, qui ne sont pas lues entièrement dans Stremio, mais redirigeraient vers le service donné. Par exemple, l’addon Guidebox vous donnerait une sélection de films que vous pouvez diffuser gratuitement aux États-Unis, à partir de services tels que TubiTV et Crackle.","FAQ_11_H1":"Stremio ne s’installe pas, que dois-je faire ?","FAQ_11_P1":"Si vous utilisez Windows, essayez ${1}cet programme d’installation alternatif${2}.","FAQ_11_P2":"Si vous utilisez Mac OS X, sachez que nous ne prenons en charge aucune version antérieure à OS X Mavericks (10.9).","FAQ_11_P3":"Si vous êtes sous Linux, sachez que nous ne prenons en charge que Linux 64 bits (x64) pour le moment.","FAQ_11_P4":"Si vous ne parvenez toujours pas à résoudre votre problème, veuillez nous écrire sur notre ${1}groupe Facebook${2}.","FAQ_12_H1":"Pourquoi mon antivirus se plaint-il ? Est-ce que Stremio est sûr ?","FAQ_12_P1":"Nous vous assurons que Stremio est $ à {1}100% sûr${2}.","FAQ_12_P2":"Votre antivirus se plaint parce que nous incluons de la publicité dans notre programme d’installation, que certains programmes antivirus reconnaissent comme un logiciel publicitaire.","FAQ_12_P3":"Si vous n’êtes toujours pas sûr, vous pouvez essayer notre ${1}programme d’installation alternatif${2}.","FAQ_13_H1":"Comment créer un addon ?","FAQ_13_P1":"Pour commencer, nous vous recommandons de consulter notre ${1}module système d’addons${2} sur GitHub.","FAQ_13_P2":"Ensuite, vous pouvez suivre le ${1}tutoriel Hello World${2}.","FAQ_13_P3":"Si vous n’avez aucune compétence en programmation, veuillez publier votre idée sur ${1}la communauté Reddit${2} et contactez-nous avec votre idée d’extension sur ${3}office@stremio.com${4}.","FAQ_14_H1":"Comment les addons sont-ils publiés ?","FAQ_14_P1":"Lorsque vous créez un addon et un hôte, et que vous placez un champ endpoint dans votre répertoire, qui pointe vers une adresse d’addon fonctionnelle, l’addon se publiera automatiquement dans notre ${1}catalogue d’addons${2} .","FAQ_14_P2":"Cela se produit parce que la partie serveur du module stremio-addons fait automatiquement un appel à notre API pour annoncer l’addon. Lorsque notre API validera votre endpoint comme un addon valide, il commencera à apparaître dans le catalogue.","FAQ_15_H1":"Puis-je exécuter Stremio dans mon navigateur ?","FAQ_15_P1":"Pas pour le moment, mais ça s’en vient !","FAQ_15_P2":"Si vous êtes curieux de voir une version Alpha, vous pouvez le voir ici : ${1}alpha4.strem.io${2}. Gardez à l’esprit que le streaming est désactivé sur cette version alpha. Nous prenons en charge Chrome, Firefox, Opera et Edge.","FAQ_16_H1":"La diffusion sur la télévision ne fonctionne pas/les sous-titres ne fonctionnent pas","FAQ_16_P1":"La diffusion sur téléviseur utilise la technologie DLNA qui varie entre les différentes marques et modèles de téléviseurs. Pour cette raison, nous n’avons pas la capacité de la tester dans tous les cas, il est donc loin d’être parfait. Malgré cela, nous travaillons constamment à son amélioration, mais nous ne pouvons pas vous donner une estimation du moment où DLNA commencera à fonctionner correctement sur votre téléviseur.","FAQ_16_P2":"Si vous ne voyez même pas votre téléviseur dans le menu de diffusion, essayez de désactiver votre connexion réseau et de la réactiver (sous Windows, cliquez avec le bouton droit sur le réseau et utilisez Activer/Désactiver), ainsi que de redémarrer votre routeur, votre téléviseur et votre PC..","FAQ_16_P3":"Si vous rencontrez toujours des problèmes, vous pouvez nous aider en envoyant des informations sur la marque et le modèle de votre téléviseur à l’adresse ${1}office@stremio.com${2}.","FAQ_16_P4":"En attendant, nous vous recommandons Chromecast, que nous supportons très bien, ou simplement brancher votre téléviseur à votre PC avec un câble HDMI.","FAQ_17_H1":"Stremio se fige et/ou plante, que puis-je faire ?","FAQ_17_P1":"Tout d’abord, si vous utilisez Windows 7 avec l’antivirus AVG : nous avons un problème avec cette combinaison. Le problème est dans AVG lui-même, et il n’y a aucun moyen raisonnable de le résoudre de notre côté. Malheureusement, les exceptions ou la désactivation de l’antivirus ne fonctionneront pas. La seule solution est de remplacer AVG par autre chose.","FAQ_17_P2":"Si ce n’est pas le problème, mais que vous utilisez toujours Windows, veuillez mettre à jour le dernier service pack et mettre à jour/réinstaller vos pilotes GPU, puis réessayer.","FAQ_17_P3":"Si votre problème n’est toujours pas résolu, ou si vous utilisez un Mac ou Linux, veuillez nous écrire pour nous signaler les détails exacts du problème sur ${1}notre groupe Facebook${2}.","FAQ_18_H1":"Comment créer un addon ?","FAQ_18_P1":"Pour commencer, nous vous recommandons de consulter notre ${1}système de addons${2} sur GitHub.","FAQ_18_P2":"Ensuite, vous pouvez suivre le ${1}tutoriel Hello World${2}.","FAQ_18_P3":"Si vous n’avez aucune compétence en programmation, veuillez publier votre idée sur ${1}la communauté Reddit${2} et contactez-nous avec votre idée d’extension sur ${3}office@stremio.com${4}.","FAQ_19_H1":"Pourquoi Stremio prend-il de l’espace disque ?","FAQ_19_P1":"Stremio dispose d’un cache local pour conserver temporairement les fichiers vidéo que vous diffusez.","FAQ_19_P2":"Cela présente deux avantages : premièrement, cela permet à Stremio de pré-charger en mémoire tampon la vidéo à l’avance afin d’assurer un streaming plus fluide. Deuxièmement, il conserve les vidéos dans le cache local afin que vous puissiez continuer à les regarder hors ligne.","FAQ_19_P3":"La quantité conservée par Stremio dépend du paramètre Cache dans le panneau Paramètres. Stremio peut conserver jusqu’à la quantité définie (par exemple 2 Go) sur votre disque, à moins que la vidéo actuellement diffusée ne soit plus grande que cela, auquel cas il doit allouer suffisamment de stockage pour la conserver jusqu’à ce que vous la regardiez.","FAQ_20_H1":"Où est le dossier contenant les caches ?","FAQ_20_P1":"Sous Windows, c’est stremio-cache dans le lecteur que vous avez choisi dans les paramètres (ex. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Sur Mac c’est \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Sur Linux, c’est \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"J’obtiens l’erreur \\"Le serveur de streaming est introuvable\\", que puis-je faire ?","FAQ_21_P1":"Si vous obtenez cette erreur, cela signifie l’une des rares choses suivantes :","FAQ_21_P2":"1) Vous essayez d’utiliser un module complémentaire soutenu par la source YouTube/BitTorrent, via notre ${1}version Web${2}. Dans ce cas, vous devez installer notre version de bureau à partir de ${3}notre site Web${4}.","FAQ_21_P3":"2) Quelque chose ne va pas avec votre installation Stremio. Dans ce cas, essayez de réinstaller notre dernière version de bureau à partir du ${1}site Web${2}. Si cela ne résout pas le problème, essayez de désactiver les programmes antivirus et les pare-feu, redémarrez votre PC et réessayez. Si cela ne fonctionne pas non plus, écrivez-nous à notre ${3}notre groupe Facebook${4}.","FAQ_22_H1":"Je ne peux pas voir/utiliser la plupart des addons sur iOS","FAQ_22_P1":"En raison de restrictions dans les termes et conditions de l’App Store d’Apple, nous avons limité l’application iOS uniquement à un ensemble particulier d’addons.","FAQ_22_P2":"Mais rassurez-vous - il y aura plus d’addons pour iOS à l’avenir, et nous pouvons également ajouter une intégration qui vous permettra d’utiliser tous les addons Stremio grâce à la connexion de l’application iOS au serveur de streaming Stremio."}')},20637:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"סרט","TYPE_series":"סדרה","TYPE_tv":"ערוץ טלויזיה","TYPE_channel":"ערוץ","TYPE_other":"אחר","TYPE_movie_PL":"סרטים","TYPE_series_PL":"סדרות","TYPE_tv_PL":"ערוצי טלויזיה","TYPE_channel_PL":"ערוצים","TYPE_other_PL":"אחרים","TYPE_ALL":"הכל","TYPE":"סוג","CATALOG_com_linvo_cinemeta_top":"פופולרי","CATALOG_com_linvo_cinemeta_imdbRating":"מומלצים","CATALOG_com_linvo_cinemeta_year":"חדש","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"סרטים פומביים","VIDEO":"וידאו","BACK":"חזור","MORE":"עוד","DONE":"סיום","COPY":"העתקה","SUCCESS":"הצלחה","ERROR":"שגיאה","SETTINGS_CASTING_MODE_PICKER":"מצב ליהוק","CASTING_MODE_HLSV2":"ברירת מחדל","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"לא מקודד","Discover":"גלה","Board":"לוח","Library":"ספרייה","My Library":"הספרייה שלי","Calendar":"לוח שנה","NOTIFICATION_ONLINE":"הנך כרגע מחובר","NOTIFICATION_OFFLINE":"הנך כרגע מנותק","INTERNET_CONNECTION":"חיבור רשת","STORAGE_FULL_TITLE":"אזהרה: כונן האחסון מלא!","STORAGE_FULL_TEXT":"Stremio לא תוכל לשמור את ההגדרות שלך, אפשרויות או פרטי ההתחברות. נא לשקול הסרה והתקנה מחדש של Stremio.","SEARCH":"חיפוש","SEARCH_NO_RESULTS":"לא נמצאו תוצאות","SEARCH_EXPLANATION_CONTENT":"YouTube-חפש סרטים, סדרות ועורצי טלויזיה ו","SEARCH_EXPLANATION_PEOPLE":"חפש שחקנים, בימאים ותסריטאים","SEARCH_PASTE_LINKS":"הדבקת קישורים ישירים ומגנט","SEARCH_OR_PASTE_LINK":"חפש או הדבק קישור","SEARCH_SUGGESTIONS":"המלצות חיפוש","ADD_TO_LIB":"הוסף לספרייה","REMOVE_FROM_LIB":"הסר מהספרייה","ADDED_TO_LIB":"נוסף לספרייה","REMOVED_FROM_LIB":"הוסר מהספרייה","TRAILER":"קדימון","WATCH_TRAILER":"צפייה בקדימון","WATCH_NOW":"צפה כעת","SHOW":"הצג","SHOW_MOVIE":"הצגת סרט","WATCH_RANDOM":"צפייה אקראית","IMDB_RATING":"דירוג IMDb","YEAR":"שנה","DIRECTOR":"במאי","WRITER":"כותב","LEAD_ACTORS":"שחקנים ראשיים","CAST":"משתתפים","CREW":"צוות","SHOW_MORE_CAST":"הצג יותר","AIRED":"תאריך שידור","SEASONS":"עונות","GENRE":"סוגה","GENRE_ALL":"כל הסגנונות","CATALOG":"קטלוג","SUMMARY":"תקציר","SHOW_MORE":"להציג יותר","SIMILAR":"דומה","UPCOMING":"בקרוב","TBA":"TBA","ENDED":"הסתיים","DURATION":"אורך","FEATURED":"מומלצים","METADATA":"מידע","CATEGORY":"קטגוריה","LINKS_GENRES":"ז\'אנר","LINKS_CAST":"שחקנים","LINKS_DIRECTORS":"מפיקים","SEARCH_VIDEOS":"חפש וידאו","SEARCH_PLACEHOLDER":"חיפוש או שימוש בקישור מגנט","ADDON":"תוסף","ADDONS":"תוספים","OFFICIAL":"רשמי","ADDONS_OFFICIAL":"תוספי סטרימיו רשמיים","ADDONS_POPULAR":"פופולרי באזור שלך","ADDON_FREE":"חינם","ADDON_PEERED":"משותף","ADDON_SUBSCRIPTION":"הרשמה","ADDON_STREAM_GEORESTRICTED":"לא זמין באזורך","ADDON_STREAM_OFFLINECACHE":"מטמון לא מקוון","ADDON_STREAM_LOCALFILE":"קובץ מקומי","SHARE_ADDON":"שתף את ההרחבות","AVAILABLE_STREAMS":"מקורות זמינים","NO_STREAM":"לא נמצאו מקורות","ALL_ADDONS":"הכל","INSTALL_MORE_ADDONS":"לעוד אפשרויות הזרמה, אנא התקינו תוספים נוספים","STREAM_NOT_SUPPORTED":"ההזרמה שנבחרה אינה נתמכת בפלטפורמה זו.","ADDON_CATALOGUE":"כל התוספים »","ADDON_CATALOGUE_MORE":"עוד תוספים »","REPO_ADDED":"מקור נוסף","ADDON_REPO_EXIST_ERR":"מקור תוספים זה כבר קיים","ADDON_REPO_ERR":"ארעה שגיאה בזמן הוספת מקור","ADDON_ADD_ERR":"ארעה שגיאה זמן הוספת תוסף","ERR_ADDON_PROTECTED":"תוסף מוגן","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"משהו השתבש - התחברות נכשלה","ERR_NOT_COLLECTION_URL":"לא קישור לאוסף","ERR_NOT_ADDON_URL":"לא כתובת תוסף","ERR_DETECTFROMURL":"אין אפשרות לזהות בקישור","ADDON_DUPLICATE_WARNING":"אזהרה: כפילות תוסף","ADDON_COLLECTION_SET_FAILED":"אוסף תוספים נכשל","SETTINGS_DATA_EXPORT":"ייצוא מידע","ADDON_PULL_FAILED":"משיכת התוסף נכשל","REFRESH_ON_CLICK":"נא ללחוץ כאן כדי לנסות שוב","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"הסרט עדיין בקולנוע","WATCH_IN_CINEMA":"צפה בו בקולנוע","IN_THEATER":"בקולנוע","GET_TICKETS":"קבל כרטיסים","UPCOMING_EPISODE":"הפרק הבא","UPCOMING_EPISODE_MESSAGE":"פרק זה ישודר בתאריך","MISSING_DATE_EPISODE":"תאריך הפרק חסר","MISSING_DATE_EPISODE_MESSAGE":"פרק זה כנראה טרם שודר","CHANNEL_NOT_SCRAPED":"ערוץ זה עדיין לא מוכן.
    אנא חזור בעוד כמה דקות.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"הוסף לסיפריה וקבל התרעה מתי שיהיה מוכן.","GET_NOTIFIED_WHEN_AVAILABLE":"אתה תקבל התרעה שהוא יהיה מוכן.","WARNING_STREAMING_SERVER":"אזהרה: שרת שידור מקומי לא נמצא. שידור מ-YouTube ומ-BitTorrent אינו אפשרי.","WARNING_STREAMING_SERVER_DISMISS":"התעלמות","WARNING_STREAMING_SERVER_LATER":"מאוחר יותר","DECODER_WARNING":"אזהרה: וידאו זה אינו נתמך עם החומרה שיש ברשותך. שימו לב, ההפעלה עשויה להיות איטית.","GENERIC_ERROR_MESSAGE":"משהו רע קרה!","TRY_AGAIN":"נסה שוב","CLEAR_DATA":"נקה את המידע","PLAYER_ERROR":"אופס, שגיאת נגן","PLAYER_ERROR_LOOKSLIKE":"נראה כי","PLAYER_ORIENTATION":"כיוון הנגן","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"נעול","PLAYER_ORIENTATION_SENSOR_SHORT":"חיישן","PLAYER_ORIENTATION_LANDSCAPE":"כיוון הנגן נעול לתצוגה רחבה","PLAYER_ORIENTATION_SENSOR":"כיוון הנגן אוטומטי (חיישן)","PLAYER_PLAYBACK_SPEED":"מהירות ניגון","PLAYER_PLAYBACK_ERROR":"תקלה במהירות ניגון, נא לנסות שוב","PLAYER_PLAYBACK_ERROR_UNKNOWN":"שגיאה לא ידועה","PLAYER_PLAYBACK_ERROR_DEFAULT":"מצטערים, אין אפשרות לנגן וידאו {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"שפת כתוביות","PLAYER_SUBTITLES_VARIANTS":"אפשרויות כתביות","PLAYER_SUBTITLES_SETTINGS":"הגדרות כתוביות","PLAYER_SUBTITLES_DISABLED":"כתוביות מבוטלות","PLAYER_SUBTITLES_VERTICAL_POSIITON":"מיקום אנכי","PLAYER_SUBTITLES_LOADED":"כתוביות נטענו","PLAYER_SUBTITLES_LOADED_EMBEDDED":"כתוביות מוטבעות ניטענו","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"כתוביות אקסלוסיביות נטענו","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"כתוביות מ-{{origin}} נטענו","PLAYER_PLAY":"ניגון","PLAYER_PAUSE":"הפסקה","PLAYER_NEXT_VIDEO":"הוידאו הבא","PLAYER_MUTE":"השתקה","PLAYER_UNMUTE":"ביטול השתקה","PLAYER_OPEN_IN_EXTERNAL":"פתח בנגן וידאו חיצוני","PLAYER_OPEN_IN_NPLAYER":"פתיחה בnPlayer","PLAYER_PLAY_IN":"נגן ב {{device}}","PLAYER_LIVE":"חי","PLAYER_NEXT_VIDEO_TITLE":"הוידאו הבא","PLAYER_NEXT_VIDEO_TITLE_SHORT":"בהמשך","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"הסתרה","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"צפייה כעת","PLAYER_COPY_STREAM_SUCCESS":"הלינק של ההזרמה הועתק למקלדת","PLAYER_COPY_STREAM_ERROR":"העתקת לינק ההזרמה נכשל","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"קישור ההורדה הועתק","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"נכשל בהעתקת קישור הורדה","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"מזרים מ","CASTING_TO":"משדר ל","NETWORK_STATUS":"מצב הרשת","STREAM_SPEED":"מהירות זרימה:","STREAM_BUFFERED":"נאגר:","PEERS_INFO":"פרטי חיבורים","PEERS_ACTIVE":"פעילים:","PEERS_CONNECTED":"מחוברים:","PEERS_WAITING":"ממתינים:","TRANSCODING_WARNING":"אזהרה: מקודד וידאו.","STREAM_LOADING":"טוען...","PLAYING_LOCAL":"מנגן מקובץ מקומי","PLAYING_CACHE":"מנגן ממטמון","WRONG_SUBS":"כתוביות שגויות?","ERR_SUBS_LOADING_TITLE":"שגיאה בטעינת כתוביות","ERR_SUBS_LOADING":"טעינת כתוביות נכשלה: זאת יכולה להיות בעיה של תוסף, או חיבור לאינטרנט","WARN_FOLLOWING_SUB_ADDONS_FAILED":"תוספי הכתוביות הבאים כשלו","ERR_CASTING_UPDATE_TITLE":"לא ניתן לעדכן מידע של מכשיר המשודר: שרת שידור ככל הנראה כבוי","CHOOSE_DEVICE":"בחר מכשיר לצפות בו","NO_CAST_DEVICES":"אין מכירים להזרמה.","NO_SETTINGS":"אין הגדרות זמינות.","NO_OPTIONS":"No options available","PHONE_TABLET":"סלולארי / טאבלט","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"כתוביות","SUBTITLES_CHANGE":"שנה כתוביות עבור","SUBTITLES_CHANGE_NONE":"לא קיימים כתוביות אחרות לשפה זו, מתנצלים.","SUBTITLES_CHANGE_ACIVE":"כרגע כתוביות #{{subtitlesDialog.activeIdx + 1}} מופעלות. לחץ \\"המשך\\" להפעלת הכתוביות #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"לחילופין,","SUBTITLES_ADJUST_DELAY":"שנה השהיית כתוביות:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"או להשתמש במקשים G / H בזמן ניגון לשינוי.","SUBTITLES_ADJUST_DELAY_TIP":"טיפ: באפשרותך להשתמש במקשים G / H בזמן ניגון לשינוי.","SUBTITLES_DELAY":"השהיית כתוביות:","SUBTITLES_LOADING":"טוען כתוביות...","SUBTITLES_UNAVAILABLE":"אין כתוביות חיצוניות זמינות","SUBTITLES_DISABLED":"מבוטל","EXTERNAL_PLAYER_DISABLED":"מבוטל","EXTERNAL_PLAYER_ALLOW_CHOOSING":"אפשר בחירה","EXTERNAL_PLAYER_HINT":"טיפ: יש הגדרה לאפשר פתיחה תמיד עם נגן חיצוני","DONT_SHOW_AGAIN":"אל תציג שוב","SERVICE_INSTALL":"התקנה","AUDIO":"אודיו","DEFAULT_LANGUAGE":"שפת ברירת מחדל","DEFAULT_SECONDARY_LANGUAGE":"שפה משנית כברירת מחדל","SEASON":"עונה","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"פרק","EPISODE_ABBREVIATION":"EP","SPECIAL":"מיוחד","SORT":"מיון","SORT_BY":"מיון לפי","FILTER":"סינון","SORT_TRENDING":"פופולרי","SORT_RECENT":"חדש","SORT_ALPHABET":"א-ת","SORT_ALPHABET_REVERSE":"ת-א","SORT_RATING":"דירוג","SORT_WATCHED":"נצפה","SORT_YEAR":"שנה","SELECT":"Select","SELECT_TYPE":"לפי סוג","SELECT_SORT":"מיון לפי","SELECT_CATALOG":"לפי קטלוג","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"לפי ז\'אנר","SORT_LASTWATCHED":"לפי נראה לאחרונה","SORT_NAME":"לפי שם","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"לפי פעמים שנצפה","SORT_NOTWATCHED":"לא נצפה","New for You":"חדש בשבילך","New Episodes":"פרקים חדשים","New Videos":"סרטים חדשים","Recommendations":"המלצות","LIBRARY_RESUME":"המשך","LIBRARY_PLAY":"ניגון","LIBRARY_DETAILS":"פרטים","LIBRARY_RESUME_DISMISS":"הסר","LIBRARY_CLEAR_PROGRESS":"ניקוי תהליך","LIBRARY_REMOVE":"הסרה","LIBRARY_NOT_LOGGED_IN":"הספרייה מאופשרת רק למשתמשים מחוברים","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"היומן מאופשר רק למשתמשים מחוברים","NOT_LOGGED_IN_CLOUD":"תיגש לסרטים ולסדרות שלך, בכל מקום, בכל זמן","NOT_LOGGED_IN_RECOMMENDATIONS":"המלצות בעקבות היסטוריית הצפיה שלך","NOT_LOGGED_IN_NOTIFICATIONS":"אל תפספס פרק עוד פעם","NOT_LOGGED_IN_CALENDAR":"תזמן את יומן הצפייה האישי שלך","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"מומלץ","DISCOVER_TOP":"מומלץ","DISCOVER_OSCAR":"זוכי אוסקר","DISCOVER_WARNING_TITLE":"אבוי!","DISCOVER_EMPTY_CATALOG":"תוסף זה החזיר תוכן ריק.","DISCOVER_ADULT_WARNING":"תוכן זה מיועד למבוגרים. האם גילך הוא 18 ומעלה?","DISCOVER_NOADDON_WARNING":"אזהרה: אין תוסף סטרימיו פעיל עבור סוג זה. מציג פריטים שמורים, כלום לא ישמר כאן.","DISCOVER_LOAD_ERR":"גילוי: טעינת קטלוג נכשלה","DISCOVER_ADDON_UNINSTALLED":"תוכן זה אינו זמין יותר, ייתכן שהתוסף הוסר.","UNINSTALL_THIS_ADDON":"הסרת תוסף זה","ERR_ADDON_NOT_INSTALLED":"תוסף זה אינו מותקן. האם להתקין אותו כעת?","DETAIL_RECEIVE_NOTIF_SERIES":"קבלת התראות עבור פרקים חדשים","DETAIL_RECEIVE_NOTIF_VIDEOS":"קבלת התראות עבור סרטים חדשים","SIDEBAR_SHOW_STREAMS":"הצגת זרימות","RELAUNCH":"הפעל מחדש כעת!","UPGRADE":"עדכן לגרסה האחרונה של סטרימיו","RELOAD_UI":"טעינה מחדש של ממשק המשתמש","MANUAL_UPDATE_TITLE":"עדכון גרסת Stremio","MANUAL_UPDATE_LINE1":"גרסה זו של Stremio אינה עדכנית והשימוש בה אינו מומלץ.","MANUAL_UPDATE_LINE2":"נא לעדכן בהקדם האפשרי.","BUTTON_UPDATE_LATTER":"לא כעת","BUTTON_UPDATE_NOW":"עדכון","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"משתמש אנונימי","DONT_HAVE_ACC":"אין לך חשבון?","HAVE_ACC":"כבר יש לך חשבון?","PASSWORD":"סיסמה","PASSWORD_CONFIRM":"אישור סיסמה","EMAIL":"דואר אלקטרוני","FB_LOGIN":"התחבר באמצעות פייסבוק","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"שום דבר לא ישותף ללא רשותך","FB_NOPOST":"לא נשלח על שמך שום דבר","OR":"או","I_ACCEPT":"אני מסכים","I_ACCEPT_BY_CLICKING":"על ידי לחיצה למעלה, אני מאשר את","TOS":"תנאי המשימוש","MUST_ACCEPT_TERMS":"חובה לאשר תנאי שימוש","PASSWORDS_NOMATCH":"סיסמאות לא תואמות","SIGN_UP":"הרשמה","SIGN_UP_EMAIL":"הרשמה עם כתובת מייל","CLICK_TO_SIGN_UP":"לחץ כאן להרשמה.","LOG_IN":"התחברות","LOG_OUT":"התנתקות","EXIT_FULLSCREEN":"יציאה ממצב מסך מלא","ENTER_FULLSCREEN":"כניסה למצב מסך מלא","PLAY_URL_MAGNET_LINK":"ניגון קישור URL/Magnet","HELP_FEEDBACK":"עזרה ומשוב","TERMS_OF_SERVICE":"תנאי שימוש","PRIVACY_POLICY":"מדיניות הפרטיות","ABOUT_STREMIO":"אודות Stremio","USER_PANEL":"לוח בקרת משתמש","LOGIN_LABEL":"התחברות","GUEST_LOGIN":"התחברות כאורח","GUEST_LOGIN_NOTICE":"התחברות כאורח אינה מומלצת. התחברות רגילה מאפשרת לStremio לסנכרן את הספריות שלך, לקבל התראות על סדרות ווידאו האהובים עליך. האם אתה בטוח שתרצה להמשיך?","GUEST_LOGIN_NOTICE_2":"התחברות כאורח אינה מומלצת - לא יסונכרנו התראות בספריה או הלוח שלך, שאלו תכונות של Stremio. האם אתה בטוח שברצונך להמשיך?","CLICK_HERE":"לחץ כאן","WRONG_PASSWORD":"סיסמה שגויה, במקרה ששכחת את הסיסמה,","SET_A_PASS":"קבע סיסמה","RESET_PASSWORD":"איפוס סיסמה","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"שכחת סיסמה?","EMAIL_USED_WITH_FB":"כתובת דואר אלקטרוני זה שומש בחיבור בעזרת פייסבוק.","INVALID_EMAIL":"נא לכתוב כתובת מייל תקינה","INVALID_PASSWORD":"נא לכתוב סיסמה תקינה","CONN_ERR":"בעיית התחברות - אנא נסו מאוחר יותר.\\n\\nאם הבעיה ממשיכה, נטרלו את חומת האש/אנטי וירוס שלכם (במיוחד Bitdefender).","IMPORT_FROM_GUEST":"ייבוא ספריה מחשבון האורח שלך","RECEIVE_UPDATES_EMAIL":"-קבל עדכונים לדואר האלקטרוני מStremio","LOGIN_FAILED":"התחברות כשלה.","SIGNUP_FAILED":"הרשמה כשלה.","SEARCH_FAILED":"חיפוש כשל","EMAIL_USED":"כתובת מייל זו כבר בשימוש.","WAITING_FB_LOGIN":"מתחבר עם פייסבוק...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"שימוש בנגן חיצוני","EXTERNAL_REMEMBER_PLAYER":"האם לזכור בחירה זו","EXTERNAL_ALWAYS_PLAY":"כן","EXTERNAL_ONLY_ONCE":"לא","BEST_FIT":"התאמה טובה ביותר","FIT_SCREEN":"התאמה למסך","FILL":"מילוי","16:9":"16:9","4:3":"4:3","Original":"מקורי","INTRO_TASTE":"ספרו לנו מה אתם אוהבים","INTRO_TASTE_LONG":"תספרו לנו במה תרצו לצפות","INTRO_TASTE_PICK":"בחירת {{interestsRemaining}} נושאים","INTRO_TASTE_PICK_MORE":"בחירת {{interestsRemaining}} נושאים נוספים","INTRO_TASTE_HELP_US":"עזרו לנו ללמוד עליכם עוד.","INTRO_TASTE_CHOOSE_THESE":"בחירה מהרשימה:","INTRO_TASTE_CHOOSE_MIN":"נא לבחור לפחות 3 קטגוריות","INTRO_TASTE_CHOOSE_MIN_ERR":"חובה לבחור לפחות 3 קטגוריות!","INTRO_TASTE_LIFESTYLE":"סגנון חיים","INTRO_TASTE_SPORTS":"ספורט","INTRO_TASTE_FOOD_HEALTH":"אוכל ובריאות","INTRO_TASTE_BEAUTY_FASHION":"יופי ואופנה","INTRO_TASTE_NEWS":"חדשות","INTRO_TASTE_GAMING":"משחקים","INTRO_TASTE_SCIENCE_EDU":"מדעים וחינוך","INTRO_TASTE_MUSIC":"מוסיקה","INTRO_TASTE_TRAVEL":"טיולים","INTRO_TASTE_LATE_NIGHT":"תוכנית אירוח","INTRO_TASTE_REALITY":"ריאליטי","INTRO_TASTE_COMEDY":"קומדיה","INTRO_TASTE_DIY":"עשה זאת בעצמך","INTRO_TASTE_TECH":"טכנולוגיה","INTRO_TASTE_CINEMA":"קולנוע","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"התוסף הנבחר אינו תומך בפלטפורמה זו.","ADDON_DISCLAIMER":"שימוש בתוספים צד שלישי תמיד יהיו תחת אחריותך ותחת החוק הקיים באזור מגוריך.","ADDON_ACTIVATE":"הפעלת תוסף זה?","ADDON_REPO_ADD":"כתובת מקור התוסף","ADDON_ADD":"הוספה","INSTALL_ADDON":"התקן תוסף","ADD_ADDON":"הוספת תוסף","ADD_ADDON_DESCRIPTION":"ניתן להוסיף תוסף באמצעות קישור חיצוני, התוסף יופיע תחת התוספים המותקנים","PASTE_ADDON_URL":"קישור לתוסף","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"מה חדש","BUTTON_CONTINUE":"המשך","BUTTON_ACTIVATE":"הפעל","BUTTON_ACTIVATED":"מופעל","BUTTON_CANCEL":"ביטול","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"שליחה","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"התעלם מהכל","BUTTON_VIEW_ALL":"הצגת הכל","BUTTON_SEE_ALL":"להציג הכל","BUTTON_COLOR_TRANSPARENT":"שקוף","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"פתח בדפדפן","LIB_EMPTY":"הספרייה שלך נראית ריקה. גלו כמה זה שימושי :) ","HOW_START":"ככה תוכל להתחיל:","LIB_EMPTY_CAL":"לוח השנה מציג סדרות בספרייה שלך","HOW_START_CAL":"כך אתה יכול להוסיף סדרות:","LIB_EMPTY_BOARD":"הלוח מציג התראות והמלצות אשר קשורים לספרייה שלך.","HOW_START_BOARD_WAIT":"אנא הוסף סדרות וערוצים לספרייה שלך ותן לנו כמה דקות לארגן את הכל :)","HOW_START_BOARD":"ככה אתה יכול להוסיף סדרות וסרטים אליו:","IMPORT_FB":"יבא דברים שאתה אוהב מפייסבוק","IMPORT_TRAKT":"ייבוא ספריה מאתר Trakt","IMPORT_DISCOVER":"מצא דברים מעניינים דרך טאב הגלה","IMPORT_DISK":"יבא סרטים או סדרות אשר נמצאים בדיסק המקומי","PLEASE_CREATE_ACC":"אנא צור חשבון כדי לאפשר סנכרון ספרייה ולוח.","IMPORT_DISCOVER_SIGNUP":"הירשמו ותמצאו דברים מעניינים בגילוי","IMPORT_DISK_SIGNUP":"הירשמו וייבאו סרטים וסדרות שיש ברשותכם בכונן מקומי","LIB_EMPTY_CLOUD":"ספריה בענן","LIB_EMPTY_CLOUD_DESC":"ענן אישי לסנכרון סיפריה עם כל המכשירים","LIB_EMPTY_EARLY":"לפני כולם","LIB_EMPTY_EARLY_DESC":"קבלת התראות על פרקים חדשים","LIB_EMPTY_PERSONAL":"אישי","LIB_EMPTY_PERSONAL_DESC":"קבלת המלצות אישיות","LIB_EMPTY_CALENDAR_DESC":"קביעת לוח שנה לצפיה האישית שלכם","LIB_EMPTY_ALL":"הירשמו כדי לקבל את כל זה:","LIB_EMPTY_BEST":"הירשמו בכדי לקבל את הטוב ביותר מStremio","LIB_EMPTY_OTHER":"הרשמה בכדי להפעיל לוח שנה לצפיה ועוד דברים מגניבים","CALENDAR_ADDED":"הלוח שנה של Stremio התווסף ללוח שנה של שולחן העבודה.","CALENDAR_ADDED_MSG":"אם זה לא עובד, אנא השתמש בקישור כדי להוסיף את לוח השנה בצורה ידנית","TRAKT_EXPIRED":"קישוריות עם Trakt פגה, אנא עבור להגדרות והתחבר שוב","TRAKT_REQUIRES_LOGIN":"Trakt שגיאה","TRAKT_REQUIRES_LOGIN_MSG":"חובה להתחבר","TRAKT_IMPORT_WATCHED":"ייבא","THEME":"נושא","THEME_DEFAULT":"ברירת מחדשל","THEME_ADAPTIVE":"אדפטיבי","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"הגדרות","SETTINGS_NAV_GENERAL":"כללי","SETTINGS_NAV_PLAYER":"נגן","SETTINGS_NAV_STREAMING":"תזרימים","SETTINGS_NAV_SHORTCUTS":"קיצורי דרך","SETTINGS_SHORTCUT_RELOAD_APP":"הפעלת אפליקציה מחדש","SETTINGS_SHORTCUT_OPEN_SETTINGS":"פתיחת הגדרות","SETTINGS_SHORTCUT_SWITCH_TABS":"החלפת טאבים","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"מעבר מעגלי בטאבים קדימה","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"מעבר מעגלי בטאבים אחורה","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"ניווט בין תפריטים","SETTINGS_SHORTCUT_GO_TO_SEARCH":"מעבר לחיפוש","SETTINGS_SHORTCUT_EXIT_BACK":"יציאה / חזרה","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"פתיחת תפריט מהירות הניגון","SETTINGS_SHORTCUT_MENU_VIDEOS":"פתיחת תפריט וידאו","SETTINGS_SHORTCUT_MENU_SUBTITLES":"פתיחת תפריט כתוביות","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"פתיחת תפריט מידע","SETTINGS_SHORTCUT_FULLSCREEN":"מסך מלא","SETTINGS_SHORTCUT_SHOW_CONTROLS":"הצגת שליטה","SETTINGS_SHORTCUT_PLAY_PAUSE":"ניגון / עצירה","SETTINGS_SHORTCUT_VOLUME_UP":"הגברת שמע","SETTINGS_SHORTCUT_VOLUME_DOWN":"הנמכת שמע","SETTINGS_SHORTCUT_SEEK_NEXT":"קפיצה להבא","SETTINGS_SHORTCUT_SEEK_PREV":"קפיצה לקודם","SETTINGS_SHORTCUT_SEEK_BACKWARD":"קפיצה אחורה","SETTINGS_SHORTCUT_SEEK_FORWARD":"קפיצה קדימה","SETTINGS_SHORTCUT_PLAY_NEXT":"הפעלת הבא","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"הגדל את גודל הכתוביות","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"הקטן את גודל הכתוביות","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"הגדל את עיכוב הכתוביות","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"הקטנת השהיית כתוביות","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"פתיחת תפריט צד","SETTINGS_SHORTCUT_OR":"או","SETTINGS_SHORTCUT_TO":"אל","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"רווח","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"התחברות","SETTINGS_FACEBOOK_IMPORT":"ייבוא","SETTINGS_CALENDAR_SUBSCRIBE":"הרשמה לעדכונים","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"שפת ממשק","SETTINGS_LAUNCH_STARTUP":"הפעל בעת הפעלת המחשב","SETTINGS_VLC_DEFAULT":"לנגן עם vlc","SETTINGS_UI_LANGUAGE":"שפת ממשק","SETTINGS_UI_ZOOM":"זום ממשק","SETTINGS_FULLSCREEN_EXIT":"יש ללחוץ על Escape כדי לצאת ממצב מסך מלא","SETTINGS_GAMEPAD":"הפעלת תמיכה בבקר משחק","SETTINGS_CLOSE_WINDOW":"סגירת היישום עם סגירת החלון","SETTINGS_SUBTITLES_LANGUAGE":"שפת כתוביות ברירת מחדל","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"גודל כתוביות ברירת מחדל","SETTINGS_SUBTITLES_BACKGROUND":"צבע רקע עבור כתוביות","SETTINGS_SUBTITLES_COLOR":"צבע כתוביות","SETTINGS_SUBTITLES_COLOR_OUTLINE":"צבע מתאר עבור כתוביות","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"צבע רקע עבור כתוביות","SETTINGS_SEEK_KEY":"מקשי החצים כדי לנוע בזמן","SETTINGS_SEEK_KEY_SHIFT":"מקשי החצים כדי לנוע בזמן כאשר המקש Shift מוחזק","SETTINGS_REWIND_FAST_FORWARD_DURATION":"משך הרצה אחורה וקדימה","SETTINGS_BINGE":"לנגן אוטומטית את הפרק הבא","SETTINGS_NEXT_VIDEO":"הצגת הודעה לתחילת הפרק הבא","SETTINGS_NEXT_VIDEO_TRIGGER":"משך הצגת ההודעה על הפרק הבא:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"משך הסרטון הקופץ הבא","SETTINGS_PLAY_IN_BACKGROUND":"נגן ברקע","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"נגן בנגן חיצוני","SETTINGS_RESIZE":"שינוי גודל אוטומטי של החלון לפני תחילת ניגון","SETTINGS_OVERRIDE_SERVER":"עקוף את כתובת שרת ההזרמה (מתקדם)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"כתובת שרת הזרמה: ","SETTINGS_SERVER_AVAILABLE":"שרת הזרמה זמין.","SETTINGS_SERVER_UNAVAILABLE":"שרת הזרמה אינו זמין.","SETTINGS_SERVER_STATUS_ONLINE":"מחובר","SETTINGS_SERVER_STATUS_ERROR":"שגיאה","SETTINGS_SERVER_CONFIGURE_TITLE":"הגדר את כתובת האתר של שרת ההזרמה","SETTINGS_SERVER_CONFIGURE_INPUT":"הזן כתובת אתר של שרת ההזרמה","SETTINGS_SERVER_CACHE_SIZE":"גודל המטמון","SETTINGS_SERVER_TORRENT_PROFILE":"פרופיל הטורנט","SETTINGS_HTTPS_ENDPOINT":"כתובת הזרמה ב־HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"פרופיל לקידוד","SETTINGS_USE_BETA":"תמיד להשתמש ב Beta האחרונה","SETTINGS_IMPORT_FB":"ייבא מפייסבוק","SETTINGS_IMPORT_DISK":"ייבא מדיסק מקומי","SETTINGS_IMPORT_TRAKT":"ייבא מ-Trakt","SETTINGS_PAUSE_MINIMIZED":"השהיית ניגון כאשר החלון ממוזער","SETTINGS_HWDEC":"קידוד מואץ בחומרה","SETTINGS_BACKGROUND":"רקע נגן","SETTINGS_SUBSCRIBE_CALENDAR":"הרשמה ללוח שנה","SETTINGS_REQ_EXPORT":"בקשה לייצוא מידע","SETTINGS_ACC_DELETE":"בקשה להסרת חשבון","SETTINGS_CHANGE_PASSWORD":"שנה סיסמה","SETTINGS_TOS":"תנאי שימוש","SETTINGS_SUPPORT":"צור קשר עם התמיכה","SETTING_LANGUAGE":"שפה","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt שילוב","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"התנתקות מ-Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"התנתקות מ-Trakt","SETTINGS_SCAN_FOR_REMOTE":"סריקת קוד QR לשימוש מרוחק","SETTINGS_DESKTOP_NOTIFICATIONS":"התראות שולחן עבודה","SETTINGS_DATA_SAVER":"חיסכון משאבים","SETTINGS_LANGUAGE_INTERFACE":"מראה","SETTINGS_LANGUAGE_SUBS":"כתוביות ברירת מחדל","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"בחירה אוטומטית בפס הקול","SETTINGS_DEFAULT_AUDIO_TRACK":"פס קול ברירת מחדל","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"קול היקפי","SETTINGS_ACCOUNT":"חשבון","SETTINGS_PLATFORM":"פלטפורמה","SETTINGS_VERSION":"גרסה","SETTINGS_ABOUT":"אודות","SETTINGS_MPV_WINDOW":"הפעלת נגן בחלון חיצוני (מתקדם)","SETTINGS_PLAY_IN_EXTERNAL":"תמיד התחלת ניגון בנגן חיצוני","SETTINGS_STORAGE_BUTTON":"ניקוי מטמון מקומי","SETTINGS_STORAGE_MODAL_TITLE":"האם אתה בטוח?","SETTINGS_STORAGE_MODAL_MESSAGE":"זה ינקה את המטמון המקומי וינתק אותך.","SETTINGS_HWDEC_PICKER":"בחירת הגדרה לdecoding מואצת בחומרה","SETTINGS_HW_AUTOMATIC":"אוטומטי","SETTINGS_HW_DISABLED":"מבוטל","SETTINGS_HW_ACCELERATED":"האצת קידוד","SETTINGS_HW_FULL":"האצה מלאה","SETTINGS_HW_LEGACY":"מורשת","SETTINGS_DISABLED":"השבת","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"הודעת חיבור לרשת","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL חיצוני","SETTINGS_COPY_REMOTE_URL":"העתק URL חיצוני","SETTINGS_REMOTE_URL_COPIED":"URL חיצוני הועתק למקלדת","SETTINGS_SECTION_SUBTITLES":"כתוביות","SETTINGS_SECTION_AUDIO":"שמע","SETTINGS_SECTION_CONTROLS":"בקרה","SETTINGS_SECTION_AUTO_PLAY":"ניגון אוטומטי","SETTINGS_SECTION_ADVANCED":"מתקדם","SUBSPICKER_AUDIO":"אודיו","SUBSPICKER_SUBTITLES":"תוסף כתוביות","SUBSPICKER_BLACK_BACKGROUND":"שימוש ברקע שחור","SUBSPICKER_VERTICAL_OFFSET":"מיקום אנכי","SUBSPICKER_SIZE":"גודל","SUBSPICKER_DELAY":"עיכוב","SUBSPICKER_EMBEDDED_SUBS":"כתוביות מוטבעות","MOBILE_PRIVACY_POLICY":"מדיניות הפרטיות","MOBILE_CRASH_REPORTING":"דיווח קריסות","MOBILE_ZOOM_TO_FILL":"זום למילוי מסך","MOBILE_PASSTHROUGH":"יציאת אודיו דיגיטלי (passthrough)","MOBILE_RUN_LOW_BATTERY":"ניגון במצב סוללה חלשה","MOBILE_RUN_FOREGROUND":"ניגון כשירות","MOBILE_PERFORMANCE":"ביצעים & יציבות","MOBILE_SERVER_ONLINE":"מחובר","MOBILE_SERVER_OFFLINE":"מנותק","MOBILE_QR_EXPIRES":"QR Code פג בתוך ","MOBILE_LOG_INTO":"התחברות לחשבון Stremio שלך ","MOBILE_SCAN_QR":"סרקו את הQR code למעלה או עברו אל ","MOBILE_LINK_ACCOUNT":"קישור חשבון","MOBILE_SPEEDPICKER_CANCEL":"ביטול","MOBILE_SPEEDPICKER_LABEL":"בחירת מהירות נגינה","MOBILE_EMPTY_LIBRARY":"הספריה שלך ריקה","MOBILE_NO_ADDON_ACTIVE":"אין תוסף stremio פעיל עבור סוג זה.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"עדיין טוען","MOBILE_ADDONS_LOADING":"תוספים עדיין בטעינה","MOBILE_ADDON":"תוסף","MOBILE_CONFIGURE_ADDON":"הגדרת התוסף שלך","MOBILE_CONFIGURE_ADDON_LABEL":"הגדרת תוסף","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"התנתקות","MOBILE_LOOKING_FOR_DEVICES":"מחפש מכשירים...","MOBILE_CAST_TO":"ליהוק אל","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"הסרת חשבון","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"אשר מחיקת חשבון","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"בבקשה ספר את סיסמתך עבור מחיקת המשתמש","MOBILE_DELETE_ACCOUNT_BUTTON":"הסרת חשבון","NAVIGATION_ON":"פועל","NAVIGATION_OFF":"כבוי","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"אני מסכים לקבל תוכן מאת Stremio","QUIT":"יציאה","CONNECTED":"מחובר","AUTHENTICATE":"אימות","AUTHENTICATING":"Authenticating...","CACHING":"מטמון","SETTINGS_CACHING_DRIVE":"בחר כונן למטמון","ENABLE_LOCAL_FILES_ADDON":"הפעלת תוסף גישה לקבצים מקומיים (נדרשת הפעלה מחדש)","LOCAL_ADDON_NOT_ENABLED":"תוסף מקומי אינו מופעל. לחץ כאן כדי לעבור להגדרות ולאפשר זאת","ENABLE_REMOTE_HTTPS_CONN":"הפעלת חיבורי HTTPS מרוחקים","TORRENT_PROFILE":"פרופיל Torrent","DATA_CACHING":"מידע זמני","MAGNET_PARSING":"מנתח קישור מגנט","January":"ינואר","February":"פברואר","March":"מרץ","April":"אפריל","May":"מאי","June":"יוני","July":"יולי","August":"אוגוסט","September":"ספטמבר","October":"אוקטובר","November":"נובמבר","December":"דצמבר","Monday":"שני","Tuesday":"שלישי","Wednesday":"רביעי","Thursday":"חמישי","Friday":"שישי","Saturday":"שבת","Sunday":"ראשון","Action":"פעולה","Comedy":"קומדיה","War":"מלחמה","Family":"משפחה","Animation":"אנימציה","Adventure":"הרפתקה","Fantasy":"פנטזיה","Crime":"פשע","Mystery":"מיסתורי","Romance":"רומנטיקה","Drama":"דרמה","Horror":"אימה","Thriller":"מותחן","Sci-Fi":"מדע בדיוני","Music":"מוזיקה","Biography":"ביוגרפיה","Documentary":"תיעודי","Sport":"ספורט","Musical":"מוזיקלי","Western":"מערבונים","Film-Noir":"סרט-נואר","News":"חדשות","History":"היסטוריה","Game-Show":"שעשועונים","Reality-TV":"ריאלטי","Talk-Show":"טוק שואו","Film & Entertainment":"סרטים ובידור","Gaming":"גיימינג","From TV":"מהטלויזיה","Lifestyle":"לייף סטייל","Science & Education":"מדע וחינוך","Cooking & Health":"בישול ובריאות","Beauty & Fashion":"יופי ואופנה","Sports":"ספורט","News & Politics":"חדשות ופוליטיקה","How-to & DIY":"עשה זאת בעצמך","Tech":"טכנולוגיה","Automotive":"רכב","Causes & Non-Profits":"ללא מטרות רווח","Movies":"סרטים","Uk Live Tv":"טלויזיה לייב בריטית","Fashion":"אופנה","Business News Radio":"רדיו חדשות עסקים","Business Tv":"טלויזיה עסקית","Cars & Auto":"רכבים","Comedy Radio":"רדיו קומדיה","Lifestyle Radio":"רדיו לייף סטייל","News Tv":"טלויזית חדשות","Food And Wine":"אוכל ויין","Latino Tv":"טלויזיה לטינית","Shopping Tv":"טלויזיית קניות","Religion":"דת","Kids":"ילדים","Body & Soul":"גוף ונפש","Education":"חינוך","Indian Tv":"טלויזיה הודית","Extreme Sports":"ספורט אקסטרים","Middle Eastern Tv":"טלויזיה מזרח תיכונית","Celebrity Tv":"טלויזיית סלבריטי","Science Tv":"טלויזיית מדע","Bikini babe":"ביקיני","Outdoors":"באוויר הפתוח","German Tv":"טלויזיה גרמנית","French Tv":"טלויזיה צרפתית","Italian Tv":"טלויזיה איטלקית","Gamer Tv":"טלויזיית גיימרים","Travel":"טלויזיית טיולים","Asian Tv":"טלויזיה אסייתית","Entertainment":"בידור","News Radio":"רדיו חדשות","Music Radio":"רדיו מוזיקה","Language Learning":"לימוד שפות","Science Radio":"רדיו מדע","Tech Radio":"רדיו טכנולוגיה","Science & Technology Vod":"מדע וטכנולוגיה VOD","new video":"וידאו חדש","new episode":"פרק חדש","new movie":"סרט חדש","recommended":"מומלצים","we recommend":"אנו ממליצים","offer of the day":"הצעת היום","news":"חדשות","music video":"קליפ מוסיקה","CTX_SHOW_HOTKEYS":"הצג מקשי קיצור","CTX_DISMISS_NOTIF":"התעלמות מהתראות","CTX_DISMISS_ALL":"התעלמות מהכל","CTX_SHARE":"שתף","CTX_COPY_SHARE_LINK":"העתקה ושיתוף קישור","CTX_COPY_MAGNET_LINK":"העתקת קישור magnet","CTX_COPY_STREAM_LINK":"העתקת קישור הזרמה stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"העתקת קישור הורדה","CTX_DOWNLOAD_VIDEO":"הורדת וידאו זה","CTX_DOWNLOAD_SUBS":"הורדת כתוביות","CTX_VIEW_ON_YOUTUBE":"צפיה בYouTube","CTX_SHOW":"הצג","CTX_PLAY":"הפעלה","CTX_PLAY_IN":"הפעלה בתוך","CTX_PLAY_ON":"הפעלה על","CTX_WATCH_ON":"צפה ב","CTX_WATCH":"צפה","CTX_WATCHED":"נצפה","CTX_WATCH_BEGINNING":"צפה מההתחלה","CTX_WATCH_MOBILE":"צפה במכשיר נייד","CTX_REWIND":"אחורה להתחלה","CTX_MARK_WATCHED":"סמן כנצפה","CTX_MARK_NON_WATCHED":"סמן כלא נצפה","CTX_MARK_UNWATCHED":"סמן כלא נצפה","CTX_MARK_REST":"סימון כל הבאים כנצפו","CTX_UNMARK_REST":"סימון כל הבאים שלא נצפו","CTX_RECEIVE_NEW_NOTIF":"קבל התראות חדשות","CTX_ENABLE_NEW_NOTIF":"אפשר התראות","CTX_DISABLE_NEW_NOTIF":"השבת התראות","CTX_REMOVE_CACHE":"הסר ממטמון","CTX_REMOVE_CACHE_EP":"הסר פרק ממטמון","CTX_OPEN_CONTAINING":"פתח תיקייה מכילה","CTX_REMOVE":"הסר מהספריה","CTX_AVAILABLE_OFFLINE":"זמין במצב לא מקוון","CTX_PAUSED":"השהה","CTX_ALWAYS_ON_TOP":"תמיד למעלה","CTX_FULLSCREEN":"מסך מלא","CTX_WRONG_SUBS":"כתוביות שגויות?","CTX_REPORT_ISSUES":"דווח על בעיה","CTX_COPY":"העתק","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"הדבק","CTX_CLEAR":"נקה","CTX_CLEAR_RECENT_SEARCHES":"נקה חיפושים אחרונים","HELLO_THERE":"היי שם","HOPE_YOU_ENJOY":"אנו מקווים שאתם נהנים מהתוכנה Stremio ושהיא אחת המועדפות שלכם!","WHO_ARE_WE":"מי אנחנו? אנחנו צוות מאחורי זה - שני בחורים שעובדים קשה מאוד כבר 3 שנים, עם מטרה אחת - לשפר את המוצר עוד ועוד.","SUPPORT_US":"אם אתם נהנים מStremio, ו-Stremio בעל ערך עבורכם - תתמכו בנו!","SPREAD_THE_WORD":"תשתפו עם חברים שלכם, הפיצו את המילה על Stremio","MORE_PEOPLE":"אמרו לעוד אנשים להשתמש ב-Stremio, וכך נשתפר!","SEND_A_LINK":"או שליחת קישור אל האתר שלנו","TIP_LOCALFILES":"טיפ: אפשר לגרור ולשחרר מדיה מתיקיה אל תוך Stremio","ADDON_MY":"תוספים שלי","ADDON_COMMUNITY":"תוספים של הקהילה","ADDON_OFFICIAL":"תוספים רשמיים","ADDON_REPOS":"מקורות תוספים","ADDON_SEARCH":"חיפוש תוספים","ADDON_INSTALL":"התקן","ADDON_CONFIGURE":"הגדר","ADDON_UNINSTALL":"הסר התקנה","ADDON_UPGRADE":"שדרוג","ADDON_INSTALLED":"מותקן","ADDON_INSTALLED_MSG":"התוסף מותקן!","ADDON_UPGRADED_MSG":"התוסף משודרג!","ADDON_UNKNOWN":"לא ידוע","ADDON_ERR":"שגיאה בהתקנת תוסף!","ADDON_DISCONNECTED":"מנותק","ADDON_APP_MISSING":"אפליקציה למקור זה אינה מותקנת. להתקין אותה?","ADDON_APP_INSTALL":"התקן כעת","ADDON_PAGE":"עמוד תוסף","ADDON_TOP_CONTENT":"תוכן הכי טוב מתוסף זה","ADDON_PROVIDES":"ספקים","ADDON_WATCH":"צפיה ב-#{types} כעט!","ADDON_WATCH_FREE":"צפה עכשיו ב-#{types} בחינם כעט!","ADDON_ADDON":"תוסף","ADDON_SUPPORTED_TYPES":"סוג נתמך","ADDON_SUPPORTED_CATALOGS":"קטלוג נתמך","ADDON_PROVIDES_DISCOVER":"עוד #{types} בגילוי","ADDON_PROVIDES_STREAMS":"צפיה ב-#{types}","ADDON_PROVIDES_STREAMS_FREE":"צפיה ב-#{types} בחינם","ADDON_PROVIDES_SUBTITLES":"כתוביות עבור #{types}","ADDON_CANTDETECT":"Stremio לא נמצא עובד, אז לא הצלחנו למצוא את התוספים המותקים.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"לא נמצא מידע על זה ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"שגיאה בהבאת מידע עבור זה.","ERR_CANT_PARSE_MAGNET":"לא ניתן לנתח קישור מגנט","ERR_NO_MAGNET_INFOHASH":"אין מידע hash עבור מגנט","ERR_NO_FILE_PATH":"אין אפשרות לשלוח את הבקשה ללא קישור אל הקובץ","ERR_NO_TORRENT":"אין טורנט חוזר","ERR_NO_SUPPORTERD_FILES":"קבצים לא נתמכים נמצאו","ERR_OPENING_FILES":"אין אפשרות לפתוח קבצים חיצוניים","ERR_INVALID_LINK":"קישור לא תקין","ERR_REGISTERED_ONLY":"אפשרות זו פעילה רק לרשומים בלבד.","ERR_CLIPBOARD":"לא ניתן לנגן מלוח הגזירים","ERR_CLIPBOARD_READ":"לא ניתן לקרוא את לוח הגזירים בפלטפורמה זו","ERR_CLIPBOARD_GENERIC":"לא נמצא קישור שהועקת ניתן לצפיה. נא להעתיק קישור (למשל, קישור magnet) של וידאו.","BOARD_CONTINUE_WATCHING":"המשך לצפות","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"סרטים נבחרים במיוחד בשבילך.
    הסרט הזה הוא דוגמא להמלצה.","BOARD_EXPLANATION_EPISODES":"פרקים חדשים של הסדרות האהובות עליך יופיעו כאן.
    הוסף סדרות שאתה עוקב אחריהן לספריה שלך.","BOARD_EXPLANATION_VIDEOS":"פרקים חדשים של הערוצים האהובים עליך יופיעו כאן.
    הוסף ערוצי YouTube שאתה עוקב אחריהן לספריה שלך.","WEBSITE_ENJOYED_BY":"אתר זה נהנה ושומש על ידיד יותר מ-30 מיליון משתמשים ברחבי העולם","WEBSITE_STREAMING_ENHANCED":"סטרימינג משופר","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"זמין ב","WEBSITE_WATCH_AND_ENJOY":"צפה ותהנה.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"stremio הופך אתזה לקלי קלות","WEBSITE_ALL_FEATURES":"כל התכונות","WEBSITE_EASY_TO_USE":"קל לשימוש","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"מעבר חלק בין מכשירים","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"כל ההורדות","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"תמיכה בוידאו HD(High-Definition)","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"יצירת חשבון בחינם","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"חווית צפיה מתואמת","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"כל התכונות של stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"נסה את Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"בטלוויזיה שלך עכשיו","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio בשביל טלוויזיה חכמה","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"ביקורות","WEBSITE_GET_STREMIO_FOR_FREE":"קבל את Stremio בחינם","WEBSITE_GET_STREMIO_NOW":"קבל את stremio עכשיו","WEBSITE_STREMIO_FEATURES":"תכונות של Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"גלה עוד","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"חינם ומאובטח","WEBSITE_STREAMING":"סטרימינג","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"בקהילת Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"שתף את מחשבותיך","WEBSITE_REPORT_BUGS":"דווח על באגים","WEBSITE_SUGGEST_FEATURES":"הצע תכונות נוספות","WEBSITE_AND_PROVIDE_FEEDBACK":"ותספקו משוב בערוצי המדיה החברתית שלנו.","WEBSITE_BETA_TESTING_PROGRAM":"תוכנית בדיקות בטא","WEBSITE_BETA_TESTING_PROGRAM_DESC":"השתתפו בתוכנית בדיקות הבטא שלנו (אנו שולחים הזמנות באופן קבוע) בקהילת Stremio.","WEBSITE_JOIN_NOW":"הירשם עכשיו!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"קהילות רשמיות של Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"קהילות לא רשמיות של Stremio","WEBSITE_BECOME":"להפוך","WEBSITE_A_VOLUNTEER_TRANSLATOR":"למתרגם מתנדב","WEBSITE_ARE_YOU_A_DEVELOPER":"האם אתה מפתח?","WEBSITE_CONTRIBUTE_CODE":"תוכל לתרום קוד לפרויקטים שלנו בקוד פתוח. יש לנו מספר פרויקטים ב-GitHub שמחפשים תורמים. אם אתה מעוניין לעזור, בדוק אותם:","WEBSITE_STREMIO_ON_GITHUB":"Stremio ב-GitHub","WEBSITE_CREATE_ADDON_DESC":"צור תוסף כדי לשפר את הפונקציונליות של Stremio (יש לנו API קל לשימוש):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"אנו גם מציעים הזדמנות להצטרף אלינו כמפתח מתמחה כדי שנוכל לצמוח יחד.","WEBSITE_APPLY_AS_AN_INTERN":"הגש מועמדות כמתמחה","WEBSITE_CALLING_ALL_ARTISTS":"קריאה לכל האמנים!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"הציגו את היצירתיות והאהבה שלכם ל-Stremio על ידי העלאת אמנות מעריצים לגלריה המקוונת שלנו. בין אם זה ציור, ציור או עיצוב דיגיטלי, אנחנו רוצים לראות את הפרשנות הייחודית שלכם למותג Stremio. הצטרפו לקהילת חובבי האמנות שלנו ושתפו את עבודתכם עם מעריצי Stremio ברחבי העולם.","WEBSITE_STREMIO_FANART_GALLERY":"גלריית אמנות מעריצים של Stremio","WEBSITE_INTERN_DESIGNER":"הפוך לחלק מהצוות שלנו וקח את היצירתיות שלך לגבהים חדשים עם הזדמנויות ההתמחות המרגשות שלנו.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"פרויקט סרטי נחלת הכלל","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"ב-Stremio, אנו מחויבים לשמר את ההיסטוריה של הקולנוע והטלוויזיה על ידי זיהוי סרטים בנחלת הכלל וסרטים יתומים. בעבודה משותפת עם הקהילה שלנו, אנו יכולים להבטיח שיצירות אמנות קלאסיות אלה יהיו נגישות לכולם ומוגנות עבור הדורות הבאים ליהנות מהן.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"צרו איתנו קשר אם תרצו להיות מעורבים בפרויקט.","WEBSITE_JOIN_THE_PROJECT":"הצטרף לפרויקט","WEBSITE_BE_PART_OF_OUR_MISSION":"היה חלק מהמשימה שלנו","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"מעוניין להצטרף לצוות Stremio? אנו מציעים עבודה מרחוק מלאה לאנשי מקצוע נלהבים. בדוק את המשרות הפתוחות שלנו.","WEBSITE_OPEN_POSITIONS":"משרות פתוחות","WEBSITE_DESCRIPTION":"תאור","WEBSITE_LEARN_MORE":"למד עוד","WEBSITE_COMPANY":"החברה","WEBSITE_CONTACTS":"צור קשר","WEBSITE_NEED_HELP":"צריך עזרה?","WEBSITE_STREMIO_WEB_ON_IOS":"מדריכים עבור Stremio Web על iOS","WEBSITE_LINK_ART_V2":"גלריית Fanart","WEBSITE_PARTNERS":"שותפים","WEBSITE_SLOGAN_WATCH":"צפיה מיידית","WEBSITE_SLOGAN_ALL":"כל תוכן הוידאו במקום אחד להנאה מלאה","WEBSITE_SLOGAN_NEW":"כל מה שאתה יכול לצפות","WEBSITE_SLOGAN_NEW_NEW":"חופש בהזרמת תוכן","WEBSITE_WATCH_FROM":"צפה מ","WEBSITE_DOWNLOAD":"הורד עכשיו","WEBSITE_DOWNLOAD_FOR":"כעט מוריד עבור","WEBSITE_IS_DESKTOP":"Stremio היא תוכנת שולחן עבודה, פתח עמוד זה להורדה אל המחשב האישי","WEBSITE_DESKTOP_DEMO_VID":"הדגמת שולחן עבודה","WEBSITE_PAGE_HOME":"בית","WEBSITE_PAGE_FEATURES":"תכונות","WEBSITE_PAGE_ADDONS":"הרחבות","WEBSITE_PAGE_TECH":"טכנולוגיה","WEBSITE_PAGE_CREATE_ADDON":"צור הרחבה","WEBSITE_PAGE_CONTACTS":"צור קשר","WEBSITE_PAGE_BLOG":"בלוג","WEBSITE_RESET_PASSWORD_MESSAGE":"נא לכתוב סיסמה חדשה.","WEBSITE_RESET_PASSWORD_WARNING":"הנכם בטוחים שתרצו לאפס את הסיסמה עבור ${1}?","WEBSITE_TYPE_movie":"סרטים","WEBSITE_TYPE_series_PL":"סדרות","WEBSITE_TYPE_tv":"שידורים חיים","WEBSITE_TYPE_channel":"ערוצים","WEBSITE_STREMIO_WHAT_IS":"Stremio היא אפליקציה שעוזרת לך לארגן ולצפות מייד בסרטונים, סרטים, סדרות טלוויזיה וערוצי טלוויזיה האהובים עליך.","WEBSITE_FEATURES_WATCH":"צפיה מיידית באיכות HD","WEBSITE_FEATURES_WATCH_DETAIL":"לחץ ונגן את הסרטונים, סרטים, סדרות טלוויזיה וערוצי טלוויזיה האהובים עליך.","WEBSITE_FEATURES_SUBS":"כתוביות אוטומטיות","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio בוחרת לבד את הכתוביות על בסיס שפה שנבחרה.","WEBSITE_FEATURES_SUBS_LABEL":"הצעד שלך, בוס.","WEBSITE_FEATURES_CAST":"נגינה בטלויזיה & מכשירים ניידים","WEBSITE_FEATURES_CAST_DETAIL":"שידור בAppleTV, Chromecast, טלויזיה חכמה (DLNA/UPnP) ומכשירים ניידים.","WEBSITE_LIB":"תהנה מהספריה הפרטית שלך מסונכרת לכל מכשירך.","WEBSITE_LIB_COLLECT":"איסוף מStremio","WEBSITE_LIB_IMPORT":"ייבוא מFacebook","WEBSITE_LIB_LOCAL":"הוספה מכונן מקומי","WEBSITE_BOARD":"הלוח - נקודת העצירה להודעות וההמלצות שלך","WEBSITE_BOARD_RECOMMEND":"סדרות מומלצות","WEBSITE_BOARD_TRENDING":"סרט חם","WEBSITE_BOARD_NEW":"וידאו חדש","WEBSITE_BOARD_EPISODE":"פרק חדש","WEBSITE_BOARD_1":"מחפש משהו מעניין לצפות? קבל המלצות על בסיס טמעך האישי!","WEBSITE_BOARD_2":"קבל הודעה כאשר פרק חדש של הסדרה או ערוץ YouTube יוצא!","WEBSITE_BOARD_YOUTUBE":"סרטונים חדשים של ערוצי YouTube","WEBSITE_BOARD_EPISODES":"פרקים חדשים של הסדרות שהינך עוקב אחריהן","WEBSITE_ADDONS":"תוספי תוכן","WEBSITE_TECH_DETAIL":"אנחנו אוהבים טכנולוגיה, אנחנו אוהבים מדע משוגע!\\nStremio משתמש בטכנולוגיות קוד פתוח הבאות:","WEBSITE_TECH_WCJS":"WebChimera.js-מאפשר ל-Stremio להפעיל כל פורמט וידאו עם ביצועים טובים.","WEBSITE_TECH_WCJS_EXTRA":"אנחנו תורמים מרכזיים לפרויקט","WEBSITE_TECH_ELECTRON":"Electron מספק פלטפורמה חדשנית לבניית Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"אנחנו תורמים לפרויקט","WEBSITE_TECH_LINVODB":"טכנולוגיית מסד נתונים המבטיחה שהנתונים שלך מאורגנים וזמינים בכל מקום שבו אתה מתחבר.","WEBSITE_TECH_LINVODB_EXTRA":"טכנולוגיה פנימית","WEBSITE_CREATE_ADDON":"צור את התוסף שלך","WEBSITE_CREATE_ADDON_DETAIL":"יש לך שירות המספק תוכן וידאו? נעזור לך להפיק תועלת מהתכונות של Stremio על ידי יצירת התוסף שלך.","WEBSITE_CREATE_ADDON_BENEFITS":"יתרונות של יצירת תוסף ל-Stremio","WEBSITE_P2P_BEAUTY":"היופי של הזרמת עמית-לעמית","WEBSITE_P2P_1":"וידאו באיכות HD מלאה / 4K אמין ובמחיר סביר לפי דרישה או בשידור חי","WEBSITE_P2P_2":"פלטפורמת הפצה המספקת חוויית משתמש מעולה","WEBSITE_P2P_3":"ניצור תוסף שיענה על הצרכים המדויקים שלך","WEBSITE_P2P_CONTACT":"מתעניינים? אתם מוזמנים ליצור איתנו קשר.","WEBSITE_P2P_CONTACT_EXTRA":"נשמח לעזור לכם לשלב את התוכן שלכם בסטרמיו!","WEBSITE_P2P":"מדי פעם מגיעה טכנולוגיה שמשנה את כללי המשחק. השקענו המון זמן ומאמץ בבניית מנוע הזרמת הווידאו עמית-לעמית (P2P) שלנו, המספק ביצועים מעולים וורסטיליות להתאמה לכל מקרה שימוש.\\nצרו איתנו קשר עבור וידאו P2P מוגן DRM לפי דרישה או בשידור חי.","WEBSITE_THOUGHTS":"מחשבות שאנחנו משתפים:","WEBSITE_SPREAD":"הפיצו את הבשורה על סטרמיו:","WEBSITE_CONTACT":"אם אתם מעוניינים ליצור איתנו קשר, פנו אלינו ב","WEBSITE_OPENSOURCE":"לפרויקטים בקוד פתוח שלנו, בקרו ב","WEBSITE_BITCOIN":"תרומת ביטקוין:","WEBSITE_FAQ":"שאלות נפוצות","WEBSITE_FAQ_SHORT":"שו״ת","WEBSITE_QUESTIONS":"שאלות","WEBSITE_TOS":"תנאי שימוש","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"עלינו","WEBSITE_PAGE_BECOME_PARTNER":"הפוך לשותף","WEBSITE_ALL_YOU_CAN_WATCH":"חופש לצפות\\nבכל מה שתרצה.","WEBSITE_FREEDOM_TO_STREAM":"חופש להזרים","WEBSITE_WHAT_IS_STREMIO":"מה זה Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio הוא מרכז אחד לאיסוף תוכן וידאו. גלה, ארגן וצפה בוידאו ממגוון מקורות בכל מכשיר שברשותך.","WEBSITE_WHAT_IS_STREMIO_P2":"סרטים, תוכניות טלוויזיה, סדרות, טלוויזיה בשידור חי או ערוצי אינטרנט כמו YouTube ו-Twitch.tv - תוכל למצוא את כל אלה בStremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio הוא מרכז מדיה מודרני שמהווה פתרון כולל לבידור הוידאו שלך. אתה מגלה, צופה ומארגן תוכן וידאו מתוספים קלים להתקנה.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"סרטים, תוכניות טלוויזיה, טלוויזיה בשידור חי או ערוצי אינטרנט - מצא את כל אלה בStremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"תהנה בכל מכשירי המדיה שלך","WEBSITE_DEVICES_COLLECT":"איסוף מתוך Stremio","WEBSITE_DEVICES_IMPORT_FB":"ייבוא מפייסבוק","WEBSITE_DEVICES_LOCAL":"הוסף מכונן מקומי","WEBSITE_JOIN_THE_PARTY_NOW":"הצטרף למסיבה עכשיו","WEBSITE_DEVICES_ALL":"קל לשימוש בכל המכשירים שלך;","WEBSITE_EXTENDABLE_CATALOG":"קטלוג וידאו הניתן להרחבה אינסופית;","WEBSITE_ORGANIZE_YOUR_MEDIA":"תכונות נהדרות לארגון המדיה שלך;","WEBSITE_AS_SEEN_ON":"כמו שנצפה ב","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"עלינו","WEBSITE_LINK_TECHNOLOGY":"טכנולוגיה","WEBSITE_LINK_APPS":"אפליקציות","WEBSITE_LINK_DOWNLOADS":"הורדות","WEBSITE_MORE":"עוד","WEBSITE_LINK_ADDONS":"תוספים","WEBSITE_LINK_ADDON_SDK":"SDK תוספים","WEBSITE_LINK_CONTRIBUTE":"לתרום","WEBSITE_LINK_COMMUNITY":"קהילה","WEBSITE_LINK_BLOG":"בלוג","WEBSITE_MORE_MORE":"... & ועוד","WEBSITE_LINK_HELP":"מרכז עזרה","WEBSITE_LINK_CONTACTS":"יצירת קשר","WEBSITE_LINK_TOS":"תנאי שימוש","WEBSITE_LINK_PRAVACY":"פרטיות","WEBSITE_SUBSCRIBE":"הרשמה לעדכונים","WEBSITE_NEWSLETTER":"הצטרפו לעדכונים של דברים שווים","WEBSITE_PLACEHOLDER_EMAIL":"דואר אלקטרוני","WEBSITE_COMMUNITY":"קהילה","WEBSITE_LINK_PRAVACY_LEGAL":"פרטיות & חוקים","WEBSITE_WHY":"למה אנחנו עושים את זה","WEBSITE_WHY_P1":"בStremio, אנחנו מגיעים לעבודה כל יום כי אנחנו רוצים לפתור בעיה חשובה בתעשיית הווידאו לפי דרישה. יש כל כך הרבה תוכן חדש שמתפרסם בכל דקה שכמעט בלתי אפשרי למצוא את דרכך בתוכו.","WEBSITE_WHY_P2":"אנחנו עוזרים לאנשים לנווט בעולם העצום הזה של בידור וידאו ולגלות תוכן חדש ליהנות ממנו. האפליקציות שלנו מאגדות סרטים, סדרות, טלוויזיה בשידור חי, ערוצי אינטרנט ועוד. אנחנו מחויבים להפוך את זה לקל באופן מדהים למשתמשים למצוא כותרים ושדרנים שהם אוהבים.","WEBSITE_WHY_P3":"אתם יכולים להשתמש בשירות שלנו בכל מכשיר ובכל זמן, מה שהופך את Stremio למרכז הבידור הוידאו היחיד שתצטרכו אי פעם.","WEBSITE_TEAM":"צוות","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"ארגון ספריית הוידאו","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"יצירת תוסף","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"כתוביות אוטוצטיות","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"שידור אל Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"ניגון בנגן חיצוני","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"תוספים","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"תוספים רשמיים","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"תוספי קהילה","WEBSITE_ADDONS_FILMON_VOD":"צפיה של VOD מאתר Filmon.tv","WEBSITE_ADDONS_TWICH":"צפיה בשידור חי מאתר Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"צפיה בסרטים הודים ללא עלות.","WEBSITE_ADDONS_NETFLIX":"צפיה בסרטים וסדרות של Netflix.","WEBSITE_ADDONS_CREATE":"יצירת תוסף","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"להתחלה, בקרו בעמוד Stremio Addon SDK:","WEBSITE_DOWNLOADS":"הורדות","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio עבור Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio עבור macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio עבור Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio עבור Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio עבור Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio עבור Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio עבור Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio עבור iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio עבור Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio עבור LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio עבור Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio עבור Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio עבור Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio עבור Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio עבור Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio עבור Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio עבור Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio עבור Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"מדריך עבור Stremio OS על RPI","WEBSITE_LINK_GUIDE":"מדריך","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service עבור Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service עבור macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service עבור Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service עבור Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio עבור Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"עוד אפשרויות הורדה","WEBSITE_DOWNLOAD_NEW":"חדש!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"לתרום","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"תרגום Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"קהילות רשמיות","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"קהילות לא רשמיות","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio ברזיל","STREMIO_COMMUNITY_GERMANY":"Stremio גרמניה","STREMIO_COMMUNITY_BELGIUM":"Stremio בלגיה","STREMIO_COMMUNITY_FRANCE":"Stremio צרפת","STREMIO_COMMUNITY_PORTUGAL":"Stremio פורטוגל","STREMIO_COMMUNITY_ITALY":"Stremio איטלקית","STREMIO_COMMUNITY_UK":"Stremio אנגליה","STREMIO_COMMUNITY_USA":"Stremio ארה\'\'ב","STREMIO_COMMUNITY_MEXICO":"Stremio מקסיקו","STREMIO_COMMUNITY_ADDONS":"Stremio תוספים","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"שותפים ותומכים","WEBSITE_COMMUNITY_GOODIES":"הטבות Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"רקעים","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"צור קשר","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"אנא הכנס אימייל תקני","WEBSITE_CONTACT_US_Q_RELATED_TO":"למה השאלה שלך שייכת?","WEBSITE_CONTACT_US_Q_OS":"מה המערכת הפעלה שלך?","WEBSITE_CONTACT_US_PH_EMAIL":"כתובת דואר האלקטרוני שלך","WEBSITE_CONTACT_US_PH_MESSAGE":"הודעה","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"שליחה","WEBSITE_CONTACT_US_Q_1":"איך להתקין?","WEBSITE_CONTACT_US_Q_2":"איך להסיר?","WEBSITE_CONTACT_US_Q_3":"(HTML) איך לעשות lasagna?","WEBSITE_CONTACT_US_Q_4":"תוספים","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"טכנולוגיה","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science.
    Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"או","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"תרגום Stremio","WEBSITE_404_OH_NO":"אוי לא! העמוד שחיפשת לא נמצא כאן...","WEBSITE_GO_HOME":"מעבר לבית","WEBSITE_LINK_OTHER_DOWNLOADS":"הורדות אחרות","WEBSITE_FAQ_ABR":"שאלות ותשובות","WEBSITE_SUPPORT":"תמיכה","WEBSITE_DOWNLOAD_4_0_BETA":"הורדת Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"הורדה לשולחן העבודה","WEBSITE_LINK_ADDON_COMPETITION":"תחרות התוספים","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"חשבון שלי","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"עזרו לנו ללמוד עליכם יותר.","LIFESTYLE":"סגנון חיים","SPORTS":"ספורט","FOOD_HEALTH":"אוכל ובריאות","BEAUTY_FASHION":"יופי ואופנה","NEWS":"חדשות","GAMING":"גיימינג","SCIENCE_EDUCATION":"מדע וחינוך","MUSIC":"מוזיקה","TRAVEL":"טיולים","LATE_NIGHT":"תוכניות אירוח","REALITY":"ריאלטי","COMEDY":"קומדיה","DIY":"עשה זאת בעצמך","TECH":"טכנולוגיה","CINEMA":"קולנוע","CONTINUE":"המשך","SLOW_LOADING":"טעינה איטית?","I_GIVE_UP":"לוותר","LEARN_MORE":"מידע נוסף","POOR_SOURCE":"מקור זה בקושי זמין או שחיבור האינטרנט שלך איטי מאוד","PICK_CATEGORIES_ERR":"נא לבחור 3 קטגוריות מינימום","ADJUST_TIMING":"שינוי תזמון בעזרת ","ADJUST_SIZE":"שינוי גודל בעזרת","SEARCH_ANYTHING":"אפשר לחפש הכל...","ALL_CATEGORIES":"הכל","SEARCH_CATEGORIES":"סרטים, סדרות, Youtube & טלויזיה","SEARCH_PERSONS":"שחקנים, מפיקים & כותבים","SEARCH_PROTOCOLS":"קישורים ישירים או מגנט","SEARCH_TYPES":"IMDB / TVDB קישורים","WATCHED":"נצפה","SHOW_LESS":"הצג פחות","LAST_SEARCHES":"חיפושים אחרונים","CLEAR_HISTORY":"נקה היסטוריה","CHOOSE_SOME":"בחירה של משהו מכאן:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"שימוש מרוחק לא ניתן לטעינה","STREMIO_OFFLINE":"Stremio מנותק","STREMIO_EXPENSIVE_CONNECTION":"חיבור לאינטרנט הוא יקר","USE_DATA":"השתמש בנתונים ניידים","WARNING":"אזהרה","MORE_INFO":"מידע נוסף ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"טוען ...","STREMIO_TV_BACK_TO_LANGUAGES":"חזרה לשפות","STREMIO_TV_REMOTE":"שלט","STREMIO_TV_GO_TO":"מעבר אל:","STREMIO_TV_OR_SCAN":"או סריקה:","STREMIO_TV_ADDON_INSTRUCTIONS":"נא לעקוב אחר ההוראות בכדי להתקין את התוספים המועדפים עליכם.","STREMIO_TV_LIVE_TV":"טלויזיה חיה","STREMIO_TV_RESUME_WATCHING":"המשך צפיה","STREMIO_TV_LOADING_BACKGROUND":"טוען ברקע","STREMIO_TV_CHECKING_AUTHENTICATION":"בודק פרטי התחברות","STREMIO_TV_LOADING_BOARD":"טוען לוח","STREMIO_TV_LOGIN_HEADER_LINE_1":"אנו רוצים שהמשתמשים שלנו יזכו לחוויה המותאמת אישית הטובה ביותר עם התוכנה שלנו.","STREMIO_TV_LOGIN_HEADER_LINE_2":"מסיבה זו אנו מבקשים מכם לבקש ו / או להתחבר לחשבונכם.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"תודה על ההבנה,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"צוות Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"על מנת להשתמש מרחוק באמצעות טלפון חכם / טאבלט / מחשב:","STREMIO_TV_WIFI_SETUP":"התקנת Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle לא הצליח לזהות חיבור אינטרנט.","STREMIO_TV_WIFI_DETAILS_1":"חיבור אל:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"שימוש בסיסמה:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"פתיחת דפדפן עם קישור:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"ברירת המחדל","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"לפי נצפה לאחרונה","STREMIO_TV_LIBRARY_SORT_NAME":"לפי שם","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"לפי שם - סדר יורד","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"לפי כמות הצפיות","STREMIO_TV_LIBRARY_SORT_WATCHED":"לפי נצפה","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"לפי לא נצפה","STREMIO_TV_DETAILS_SEASON_NUMBER":"${1} עונה","STREMIO_TV_STREAMS_LOADING":"נטענו {1}$ / {2}$ תוספים...","STREMIO_TV_STREAMS_STILL_LOADING":"תוסף {1}$ עדיין נטען","STREMIO_TV_PLAYER_SETTINGS":"הגדרות נגן","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"השהיית כתוביות","STREMIO_TV_PLAYER_AUDIO_DELAY":"השהיית אודיו","STREMIO_TV_PLAYER_VIDEO_SCALING":"קנה מידה של וידאו","STREMIO_TV_PLAYER_CHAPTERS":"פרקים","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"דילוג על ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"מקור השידור אינו נתמך","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"שגיאה בפתיחת קישור חיצוני","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"לא ניתן לשינוי במצב passthrough","STREMIO_TV_PLAYER_PLAY_IN_EXO":"נגן עם ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"נגן עם libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"מחליף לנגן libVLAC עקב שגיאה בשידור","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"סינכרון תוספים\\"","STREMIO_TV_ADDONS_SUBTITLE":"הערה: ודא כי אתה משתמש באותו משתמש Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"סינכרון תוספים","STREMIO_TV_ADDONS_SYNC_SUCCESS":"תוספים סונכרונו בהצחלה","STREMIO_TV_ADDONS_SYNC_FAILED":"שגיאה סינכרון התוספים","STREMIO_TV_META_LINK_FAILED":"פתיחת לינק meta נכשלה","STREMIO_TV_CATALOG_LOADING":"הקטלוג עדין נטען...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"שפת הממשק עודכנה","STREMIO_TV_SETTINGS_THEME_UPDATED":"ערכת הנושא עודכנה","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"נגן ברירת המחדל","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"נגן חיצוני","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"שפה מועדפת","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"שפה מועדפת משנית","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"ללא זיכרון מטמון","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"ברירת מחדל","STREMIO_TV_SETTINGS_PROFILE_SOFT":"עדין","STREMIO_TV_SETTINGS_PROFILE_FAST":"מהיר","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"מהיר במיוחד","STREMIO_TV_SETTINGS_SERVER_URL":"קישור לשרת צפייה","STREMIO_TV_SETTINGS_SERVER_VERSION":"גרסת שרת","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"לא ידוע","STREMIO_TV_SETTINGS_STREMIO_VERSION":"גרסת Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"עריכת קישור שרת","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"הזן כתובת אתר של שרת הזרמה(סטרימינג)","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"הצג סטיסטיקות בזמן הטעינה","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"לקריאת תנאי הפרטיות של Stremio, בקרו ב:","STREMIO_TV_SETTINGS_TOS_TEXT":"לקריאת תנאי השימוש של Stremio, בקרו ב:","STREMIO_TV_NAV_SEARCH":"חיפוש","STREMIO_TV_NAV_HOME":"דף הבית","STREMIO_TV_NAV_DISCOVER":"גלה","STREMIO_TV_NAV_LIBRARY":"ספרייה","STREMIO_TV_NAV_MOVIES":"סרטים","STREMIO_TV_NAV_SERIES":"סדרות","STREMIO_TV_NAV_CHANNELS":"ערוצים","STREMIO_TV_NAV_TV":"שידורים חיים","STREMIO_TV_NAV_SETTINGS":"הגדרות","STREMIO_TV_NAV_ADDONS":"תוספים","STREMIO_TV_LOGIN_TITLE":"חבר משתמש","STREMIO_TV_LOGIN_EXPIRES_IN":"פג תוקף ב-","STREMIO_TV_LOGIN_STEP_ONE":"סרקו את קוד ה-QR או גשו ל:","STREMIO_TV_LOGIN_STEP_TWO":"התחברות למשתמש Stremio","STREMIO_TV_LOGIN_NEW_LINK":"בקש קישור חדש","STREMIO_TV_LOGIN_LINK_REFRESHED":"קישור ההתחברות חודש","STREMIO_TV_SEARCH_PLACEHOLDER":"הקלד משהו","STREMIO_TV_SEARCH_NO_ADDONS":"לא התבקשו תוספים לקטלוגים!","STREMIO_TV_SEARCH_BUTTON":"חיפוש","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"רווח","STREMIO_TV_SEARCH_KEY_CLEAR":"נקה","STREMIO_TV_SEARCH_HISTORY_TITLE":"היסטוריית החיפושים","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"אפשר לחפש כותרים, שחקנים, ערוצים ועוד...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"נקה את היסטוריית החיפושים","STREMIO_TV_FILTERS_DESCRIPTION":"בחרו אחד מהפילטרים מטה","STREMIO_TV_STREAMING_SERVER_OFFLINE":"שרת הסטרימינג במצב לא מקוון, בדוק את הגדרות השרת.","FILTERS":"פילטרים","SETTINGS":"הגדרות","ACCOUNT":"משתמש","LOGOUT":"התנתק","THEMES":"ערכות נושא","PLAYBACK":"ניגון","PLAYBACK_SPEED":"מהירות ניגון","AUDIO_TRACKS":"רצועות שמע","UNKNOWN_TRACK_LANG":"לא ידוע","VIDEOS":"סרטונים","SERVER":"שרת","LINKS":"קישורים","ABOUT":"אודות","INTERFACE":"ממשק","ANIMATIONS":"אנימציות","STATUS":"סטטוס","LANGUAGE":"שפה","SIZE":"גודל","DELAY":"השהייה","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"צבע טקסט","OUTLINE_COLOR":"צבע מתאר","BACKGROUND_COLOR":"צבע רקע","BACKGROUND_BLUR":"טשטוש רקע","SEEK_TIME_DURATION":"משך זמן חיפוש","AUTO_PLAY":"נגן אוטומטית את הפרק הבא","PLAY_NOW":"נגן עכשיו","MARK_AS_WATCHED":"סמן כנצפה","MARK_AS_UNWATCHED":"סמן כלא נצפה","REWIND_TO_BEGINNING":"חזור להתחלה","CONTINUE_WATCHING":"המשך צפייה","ALL":"הכל","SECONDS":"שניות","ON":"דלוק","OFF":"כבוי","RELOAD":"טעינה מחדש","EDIT_URL":"ערוך קישור","URL":"URL","NONE":"כלום","EMBEDDED":"מוטבע","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"שינוי מכשירים","REMOTE_VIDEOS":"וידאו","REMOTE_ADJUST_TIMING":"שינוי תזמון","REMOTE_ADJUST_SIZE":"שינוי גודל","REMOTE_COULD_NOT_BE_LOADED":"שליטה מרחוק לא אפשרית","REMOTE_RETRY":"לנסות שוב","TORRENT_PROFILE_DEFAULT":"ברירת המחדל","TORRENT_PROFILE_SOFT":"עדין","TORRENT_PROFILE_FAST":"מהיר","TORRENT_PROFILE_ULTRA_FAST":"מהיר במיוחד","MB_S":"MB/s","FAQ_001_H1":"?Stremio מה זה","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which do not play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a endpoint field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your endpoint as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a local cache to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the Cache setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},97791:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"फ़िल्म","TYPE_series":"धारावाहिक","TYPE_tv":"टीवी चैनल","TYPE_channel":"चैनल","TYPE_other":"अन्य","TYPE_movie_PL":"फ़िल्म","TYPE_series_PL":"धारावाहिक","TYPE_tv_PL":"टी वी चैनल","TYPE_channel_PL":"चैनल","TYPE_other_PL":"अन्य","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"वीडियो","BACK":"पीछे","MORE":"अधिक","DONE":"किया हुआ","COPY":"प्रतिलिपि","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"डिस्कवर","Board":"तख़्ता","Library":"पुस्तकालय","My Library":"मेरा पुस्तकालय","Calendar":"पंचांग","NOTIFICATION_ONLINE":"अब आप ऑनलाइन हैं","NOTIFICATION_OFFLINE":"आप वर्तमान में ऑफ़लाइन हैं","INTERNET_CONNECTION":"नेटवर्क कनेक्शन","STORAGE_FULL_TITLE":"चेतावनी: भंडारण पूर्ण!","STORAGE_FULL_TEXT":"Stremio आपकी सेटिंग्स वरीयताओं या लॉगिन जानकारी को सहेजने में सक्षम नहीं होगा। फिर से शुरू करने या फिर से स्थापित करने पर विचार करें।","SEARCH":"तलाशी","SEARCH_NO_RESULTS":"कोई परिणाम नहीं मिले थे","SEARCH_EXPLANATION_CONTENT":"फिल्में श्रृंखला यूट्यूब और टीवी चैनल खोजें","SEARCH_EXPLANATION_PEOPLE":"अभिनेता निदेशकों और लेखकों के लिए खोजें","SEARCH_PASTE_LINKS":"HTTP और चुंबक लिंक पेस्ट करें","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"पुस्तकालय में जोड़ें","REMOVE_FROM_LIB":"पुस्तकालय से निकालें","ADDED_TO_LIB":"पुस्तकालय में जोड़ा गया","REMOVED_FROM_LIB":"पुस्तकालय से हटा दिया गया","TRAILER":"ट्रेलर","WATCH_TRAILER":"ट्रेलर देखें","WATCH_NOW":"अब देखिए","SHOW":"प्रदर्शन","SHOW_MOVIE":"फिल्म दिखाओ","WATCH_RANDOM":"यादृच्छिक","IMDB_RATING":"आईएमडीबी रेटिंग","YEAR":"वर्ष","DIRECTOR":"निर्देशक","WRITER":"लेखक","LEAD_ACTORS":"मुख्य अभिनेता","CAST":"ढालना","CREW":"कर्मी दल","SHOW_MORE_CAST":"और दिखाओ","AIRED":"प्रसारित","SEASONS":"मौसम के","GENRE":"शैली","GENRE_ALL":"All genres","CATALOG":"सूची","SUMMARY":"सारांश","SHOW_MORE":"और दिखाओ","SIMILAR":"एक जैसा","UPCOMING":"आगामी","TBA":"TBA","ENDED":"समाप्त","DURATION":"अवधि","FEATURED":"विशेष रुप से प्रदर्शित","METADATA":"मेटाडाटा","CATEGORY":"वर्ग","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"वीडियो खोजें","SEARCH_PLACEHOLDER":"यूआरएल खोजें या पेस्ट करें","ADDON":"ऐड ऑन","ADDONS":"ऐड-ऑन","OFFICIAL":"अधिकारी","ADDONS_OFFICIAL":"आधिकारिक स्ट्रीमियो एडॉन्स","ADDONS_POPULAR":"आपके क्षेत्र में लोकप्रिय","ADDON_FREE":"नि: शुल्क","ADDON_PEERED":"झाँका","ADDON_SUBSCRIPTION":"अंशदान","ADDON_STREAM_GEORESTRICTED":"आपके क्षेत्र में उपलब्ध नहीं है","ADDON_STREAM_OFFLINECACHE":"ऑफ़लाइन कैश","ADDON_STREAM_LOCALFILE":"स्थानीय संचिका","SHARE_ADDON":"शेयर एडन","AVAILABLE_STREAMS":"उपलब्ध धाराएं","NO_STREAM":"कोई धारा नहीं मिली","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"अधिक धाराओं के लिए कृपया अधिक addons स्थापित करें","STREAM_NOT_SUPPORTED":"चयनित स्ट्रीम इस मंच पर समर्थित नहीं है।","ADDON_CATALOGUE":"सभी एडॉन्स दिखाएं »","ADDON_CATALOGUE_MORE":"Addons स्थापित करें","REPO_ADDED":"रिपोजिटरी ने कहा","ADDON_REPO_EXIST_ERR":"यह एडॉन्स संग्रह पहले से मौजूद है","ADDON_REPO_ERR":"संग्रह जोड़ने के दौरान त्रुटि हुई","ADDON_ADD_ERR":"Addon जोड़ने के दौरान त्रुटि हुई","ERR_ADDON_PROTECTED":"Addon को अनइंस्टॉल नहीं कर सकता यह संरक्षित है","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"कुछ गलत हो गया - प्रमाणीकरण विफल हो सकता है","ERR_NOT_COLLECTION_URL":"एक संग्रह यूआरएल नहीं","ERR_NOT_ADDON_URL":"एक वैध एडन यूआरएल नहीं","ERR_DETECTFROMURL":"इस यूआरएल से एडन / संग्रह नहीं मिल रहा है","ADDON_DUPLICATE_WARNING":"चेतावनी: डुप्लिकेट एडन","ADDON_COLLECTION_SET_FAILED":"अपने खाते में स्थापित एडॉन्स को सिंक करना विफल रहा","SETTINGS_DATA_EXPORT":"निर्यात उपयोगकर्ता डेटा","ADDON_PULL_FAILED":"अपने खाते से स्थापित एडॉन्स को सिंक करना विफल रहा","REFRESH_ON_CLICK":"पुनः प्रयास करने के लिए क्लिक करें","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"फिल्म अभी भी सिनेमाघरों में","WATCH_IN_CINEMA":"इसे अपने स्थानीय सिनेमा में देखें","IN_THEATER":"सिनेमा में","GET_TICKETS":"टिकिट पाएं","UPCOMING_EPISODE":"आगामी एपिसोड","UPCOMING_EPISODE_MESSAGE":"इस प्रकरण पर प्रसारित किया जाएगा","MISSING_DATE_EPISODE":"गायब एपिसोड तिथि","MISSING_DATE_EPISODE_MESSAGE":"यह एपिसोड अभी तक प्रसारित नहीं हो सकता है","CHANNEL_NOT_SCRAPED":"यह चैनल अभी तक स्क्रैप नहीं है।
    कृपया कुछ मिनटों में वापस आएं।","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"इसे उपलब्ध होने के बाद अधिसूचित होने के लिए इसे अपनी लाइब्रेरी में जोड़ें।","GET_NOTIFIED_WHEN_AVAILABLE":"एक बार उपलब्ध होने के बाद आपको सूचित किया जाएगा।","WARNING_STREAMING_SERVER":"चेतावनी: स्थानीय स्ट्रीमिंग सर्वर नहीं मिला। स्थानीय फाइलों से स्ट्रीमिंग यूट्यूब और बिटटोरेंट उपलब्ध नहीं होंगे।","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"चेतावनी: इस वीडियो को आपके हार्डवेयर द्वारा समर्थित नहीं किया जा सकता है। ध्यान रखें प्लेबैक धीमा हो सकता है।","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"ओह खिलाड़ी त्रुटि","PLAYER_ERROR_LOOKSLIKE":"ऐसा लग रहा है","PLAYER_ORIENTATION":"खिलाड़ी अभिविन्यास","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"बंद","PLAYER_ORIENTATION_SENSOR_SHORT":"सेंसर","PLAYER_ORIENTATION_LANDSCAPE":"प्लेयर ओरिएंटेशन लैंडस्केप पर लॉक किया गया","PLAYER_ORIENTATION_SENSOR":"प्लेयर अभिविन्यास स्वचालित (सेंसर)","PLAYER_PLAYBACK_SPEED":"प्लेबैक गति","PLAYER_PLAYBACK_ERROR":"प्लेबैक त्रुटि कृपया पुनः प्रयास करें","PLAYER_PLAYBACK_ERROR_UNKNOWN":"अज्ञात त्रुटि","PLAYER_PLAYBACK_ERROR_DEFAULT":"क्षमा करें इस वीडियो को {{PRODUCTNAME}} द्वारा नहीं खेला जा सकता है।","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"रहना","PLAYER_NEXT_VIDEO_TITLE":"आगे आ रहा है","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"खारिज","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"अब देखिए","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"से स्ट्रीमिंग","CASTING_TO":"कास्टिंग करना","NETWORK_STATUS":"नेटवर्क की स्थिति","STREAM_SPEED":"धारा गति:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"सहकर्मी सूचना","PEERS_ACTIVE":"सक्रिय:","PEERS_CONNECTED":"जुड़े हुए:","PEERS_WAITING":"इंतज़ार कर रही:","TRANSCODING_WARNING":"चेतावनी: ट्रांसकोडिंग वीडियो।","STREAM_LOADING":"लोड हो रहा है...","PLAYING_LOCAL":"स्थानीय फ़ाइल से बजाना","PLAYING_CACHE":"कैश से बजाना","WRONG_SUBS":"गलत उपशीर्षक?","ERR_SUBS_LOADING_TITLE":"उपशीर्षक लोड करने में त्रुटि","ERR_SUBS_LOADING":"असफल उपशीर्षक लोड हो रहा है: यह आपके द्वारा उपयोग किए जा रहे एडन के साथ या आपके नेटवर्क कनेक्शन के साथ एक समस्या हो सकती है","WARN_FOLLOWING_SUB_ADDONS_FAILED":"निम्नलिखित उपशीर्षक Addons विफल","ERR_CASTING_UPDATE_TITLE":"कास्टिंग डिवाइस जानकारी अपडेट नहीं कर सका: स्ट्रीमिंग सर्वर ऑफ़लाइन हो सकता है","CHOOSE_DEVICE":"देखने के लिए एक उपकरण चुनें","NO_CAST_DEVICES":"कोई कास्टिंग डिवाइस उपलब्ध नहीं है।","NO_SETTINGS":"कोई सेटिंग उपलब्ध नहीं है।","NO_OPTIONS":"No options available","PHONE_TABLET":"फोन / टैबलेट","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"उपशीर्षक","SUBTITLES_CHANGE":"के लिए उपशीर्षक बदलें","SUBTITLES_CHANGE_NONE":"इस भाषा के लिए कोई अन्य उपशीर्षक खेद नहीं है।","SUBTITLES_CHANGE_ACIVE":"वर्तमान में उपशीर्षक & # 35; {{subtitlesdialog.ActiveDX + 1}} सक्रिय हैं। उपशीर्षक सक्रिय करने के लिए जारी रखें & # 35; {{subtitlesdialog.pickedIDX + 1}}।","SUBTITLES_OR":"वैकल्पिक","SUBTITLES_ADJUST_DELAY":"उपशीर्षक देरी समायोजित करें:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"या समायोजित करने के लिए खेलते समय g / h कुंजी का उपयोग करें।","SUBTITLES_ADJUST_DELAY_TIP":"युक्ति: आप समायोजित करने के दौरान g / h कुंजी का उपयोग कर सकते हैं।","SUBTITLES_DELAY":"उपशीर्षक देरी:","SUBTITLES_LOADING":"उपशीर्षक लोड हो रहा है ...","SUBTITLES_UNAVAILABLE":"कोई बाहरी उपशीर्षक उपलब्ध नहीं है","SUBTITLES_DISABLED":"विकलांग","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"मौसम","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"प्रकरण","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"तरह","SORT_BY":"इसके अनुसार क्रमबद्ध करें","FILTER":"फिल्टर","SORT_TRENDING":"ट्रेंडिंग","SORT_RECENT":"हालिया","SORT_ALPHABET":"ए-जेड","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"रेटिंग","SORT_WATCHED":"देखा","SORT_YEAR":"वर्ष","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"आपके लिए नया","New Episodes":"नए एपिसोड","New Videos":"नए वीडियो","Recommendations":"सिफारिशों","LIBRARY_RESUME":"फिर शुरू करना","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"विवरण","LIBRARY_RESUME_DISMISS":"खारिज","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"विशेष रुप से प्रदर्शित","DISCOVER_TOP":"शीर्ष","DISCOVER_OSCAR":"ऑस्कर विजेता","DISCOVER_WARNING_TITLE":"उफ़!","DISCOVER_EMPTY_CATALOG":"यह एडन खाली सामग्री लौटा दी।","DISCOVER_ADULT_WARNING":"सामग्री केवल वयस्कों के लिए दिखाई दे रही है। क्या आप 18+ हैं?","DISCOVER_NOADDON_WARNING":"चेतावनी: इस प्रकार के लिए कोई स्ट्रैमियो एडन सक्रिय नहीं है। सहेजी गई वस्तुओं को यहां कुछ भी अपडेट नहीं किया जाएगा।","DISCOVER_LOAD_ERR":"सामग्री ने त्रुटि लोड नहीं की।","DISCOVER_ADDON_UNINSTALLED":"यह सामग्री अब उपलब्ध नहीं है कि आपने एडन को अन-इंस्टॉल किया हो सकता है।","UNINSTALL_THIS_ADDON":"इस एडन को अनइंस्टॉल करें","ERR_ADDON_NOT_INSTALLED":"यह एडन स्थापित नहीं है। अब स्थापित करें?","DETAIL_RECEIVE_NOTIF_SERIES":"नए एपिसोड के लिए सूचनाएं प्राप्त करें","DETAIL_RECEIVE_NOTIF_VIDEOS":"नए वीडियो के लिए सूचनाएं प्राप्त करें","SIDEBAR_SHOW_STREAMS":"स्ट्रीम दिखाएं","RELAUNCH":"अब पुनः प्रक्षेपण!","UPGRADE":"नया संस्करण उपलब्ध है! नवीनतम STREMIO संस्करण में अपग्रेड करें","RELOAD_UI":"उपयोगकर्ता इंटरफ़ेस को पुनः लोड करें","MANUAL_UPDATE_TITLE":"अपने STREMIO संस्करण को अपडेट करें","MANUAL_UPDATE_LINE1":"आप स्ट्रैमियो का पुराना संस्करण चला रहे हैं जो अत्यधिक अपरिचित है।","MANUAL_UPDATE_LINE2":"कृपया जल्द से जल्द अपडेट करें।","BUTTON_UPDATE_LATTER":"अभी नहीं","BUTTON_UPDATE_NOW":"अद्यतन","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"अनाम उपयोगकर्ता","DONT_HAVE_ACC":"खाता नहीं है?","HAVE_ACC":"क्या आपके पास पहले से एक खाता मौजूद है?","PASSWORD":"कुंजिका","PASSWORD_CONFIRM":"पासवर्ड की पुष्टि कीजिये","EMAIL":"ईमेल","FB_LOGIN":"फेसबुक के साथ जारी रखें","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"आपकी अनुमति के बिना कुछ भी साझा नहीं किया जाता है","FB_NOPOST":"हम आपकी ओर से कुछ भी पोस्ट नहीं करेंगे","OR":"या","I_ACCEPT":"मैं स्वीकारता हूँ","I_ACCEPT_BY_CLICKING":"उपरोक्त बटन पर क्लिक करके मैं प्रमाणित करता हूं कि मैं स्वीकार करता हूं","TOS":"नियम और शर्तें","MUST_ACCEPT_TERMS":"आपको शर्तों को स्वीकार करना होगा","PASSWORDS_NOMATCH":"पासवर्ड मेल नहीं खाते","SIGN_UP":"साइन अप करें","SIGN_UP_EMAIL":"ईमेल के लिए साइन इन करें","CLICK_TO_SIGN_UP":"साइन अप करने के लिए यहां क्लिक करें।","LOG_IN":"लॉग इन करें","LOG_OUT":"लॉग आउट","EXIT_FULLSCREEN":"पूर्णस्क्रीन मोड से बाहर निकलें","ENTER_FULLSCREEN":"पूर्णस्क्रीन मोड दर्ज करें","PLAY_URL_MAGNET_LINK":"यूआरएल / चुंबक लिंक खेलें","HELP_FEEDBACK":"सहायता और प्रतिक्रिया","TERMS_OF_SERVICE":"सेवा की शर्तें","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"STREMIO के बारे में","USER_PANEL":"उपयोगकर्ता पैनल","LOGIN_LABEL":"Login","GUEST_LOGIN":"मेहमान लॉगइन करें","GUEST_LOGIN_NOTICE":"अतिथि लॉगिन की अनुशंसा नहीं की जाती है। एक नियमित लॉगिन का उपयोग करने से आपकी लाइब्रेरी को सिंक करने के लिए STREMIO को पसंदीदा श्रृंखला / चैनलों के लिए अधिसूचनाएं प्राप्त होती हैं। क्या आप सुनिश्चित रूप से आगे बढ़ना चाहते हैं?","GUEST_LOGIN_NOTICE_2":"अतिथि लॉगिन की अनुशंसा नहीं की जाती है - आपके पास समन्वयित पुस्तकालय और बोर्ड अधिसूचनाएं नहीं होंगी जो महत्वपूर्ण स्ट्रमियो विशेषताएं हैं। क्या आप सुनिश्चित रूप से आगे बढ़ना चाहते हैं?","CLICK_HERE":"यहां क्लिक करें","WRONG_PASSWORD":"गलत ईमेल या पासवर्ड। मामले में आप अपना पासवर्ड भूल गए हैं","SET_A_PASS":"एक पासवर्ड सेट करें","RESET_PASSWORD":"पासवर्ड रीसेट","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"पासवर्ड भूल गए?","EMAIL_USED_WITH_FB":"इस ईमेल का उपयोग फेसबुक लॉगिन के साथ किया गया था।","INVALID_EMAIL":"कृपया एक वैध ई - मेल एड्रेस डालें","INVALID_PASSWORD":"कृपया एक वैध पासवर्ड दर्ज करें","CONN_ERR":"कनेक्शन त्रुटि - कृपया बाद में पुनः प्रयास करें। N NIf यह फायरवॉल / एंटी-वायरस सॉफ़्टवेयर (विशेष रूप से बिट डिडीफेंडर) को अक्षम करता है।","IMPORT_FROM_GUEST":"अपने अतिथि खाते से लाइब्रेरी आयात करें","RECEIVE_UPDATES_EMAIL":"STREMIO से अपने ईमेल पर अपडेट प्राप्त करें","LOGIN_FAILED":"लॉगिन विफल।","SIGNUP_FAILED":"साइन अप करने में विफल रहा।","SEARCH_FAILED":"खोज विफल","EMAIL_USED":"यह ईमेल पहले से प्रयोग में है।","WAITING_FB_LOGIN":"फेसबुक के साथ लॉग इन करना ...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"बाहरी खिलाड़ी में खेलें","EXTERNAL_REMEMBER_PLAYER":"क्या आप अपनी पसंद को याद रखना चाहते हैं","EXTERNAL_ALWAYS_PLAY":"हां","EXTERNAL_ONLY_ONCE":"नहीं","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"हमें बताएं कि आपको क्या पसंद है","INTRO_TASTE_LONG":"हमें बताएं कि आप क्या देखना चाहते हैं","INTRO_TASTE_PICK":"{{HUSTERSREMAINAININININING}} हितों को चुनें","INTRO_TASTE_PICK_MORE":"{{REITAINSREMAINAINAING}} अधिक हितों को चुनें","INTRO_TASTE_HELP_US":"हमारे बारे में अधिक जानने में हमारी सहायता करें।","INTRO_TASTE_CHOOSE_THESE":"इनमें से कुछ चुनें:","INTRO_TASTE_CHOOSE_MIN":"कम से कम 3 श्रेणियां चुनें","INTRO_TASTE_CHOOSE_MIN_ERR":"आपको कम से कम 3 श्रेणियां चुननी होंगी!","INTRO_TASTE_LIFESTYLE":"बॉलीवुड","INTRO_TASTE_SPORTS":"खेल","INTRO_TASTE_FOOD_HEALTH":"भोजन और स्वास्थ्य","INTRO_TASTE_BEAUTY_FASHION":"सौंदर्य और फैशन","INTRO_TASTE_NEWS":"समाचार","INTRO_TASTE_GAMING":"जुआ","INTRO_TASTE_SCIENCE_EDU":"विज्ञान की शिक्षा","INTRO_TASTE_MUSIC":"संगीत","INTRO_TASTE_TRAVEL":"यात्रा","INTRO_TASTE_LATE_NIGHT":"देर रात शो","INTRO_TASTE_REALITY":"वास्तविकता","INTRO_TASTE_COMEDY":"कॉमेडी","INTRO_TASTE_DIY":"DIY कैसे करें","INTRO_TASTE_TECH":"तकनीक","INTRO_TASTE_CINEMA":"सिनेमा","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"चयनित एडन इस मंच पर समर्थित नहीं है।","ADDON_DISCLAIMER":"तीसरे पक्ष के एडॉन्स का उपयोग हमेशा आपकी जिम्मेदारी और आपके द्वारा स्थित क्षेत्राधिकार के शासकीय कानून के अधीन होंगे।","ADDON_ACTIVATE":"इस एडन को सक्रिय करें?","ADDON_REPO_ADD":"एडन संग्रह यूआरएल","ADDON_ADD":"जोड़ें","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"नया क्या है","BUTTON_CONTINUE":"जारी रखें","BUTTON_ACTIVATE":"सक्रिय","BUTTON_ACTIVATED":"सक्रिय","BUTTON_CANCEL":"रद्द करें","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"सभी खारिज","BUTTON_VIEW_ALL":"सभी देखें","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"आपकी पुस्तकालय खाली दिखता है। पता लगाएं कि यह कितना उपयोगी है :)","HOW_START":"यहां बताया गया है कि आप कैसे शुरू कर सकते हैं:","LIB_EMPTY_CAL":"आपका कैलेंडर आपकी लाइब्रेरी में श्रृंखला दिखाता है।","HOW_START_CAL":"यहां बताया गया है कि आप श्रृंखला कैसे जोड़ सकते हैं:","LIB_EMPTY_BOARD":"बोर्ड नोटिफिकेशन दिखाता है & amp; आपकी पुस्तकालय से संबंधित सिफारिशें।","HOW_START_BOARD_WAIT":"कृपया अपनी लाइब्रेरी में कुछ श्रृंखला या चैनल जोड़ें संसाधित करने के लिए हमें कुछ मिनट दें :)","HOW_START_BOARD":"यहां बताया गया है कि आप श्रृंखला कैसे जोड़ सकते हैं & amp; इसके लिए फिल्में:","IMPORT_FB":"उन आयातित चीजें जिन्हें आप फेसबुक से पसंद करते हैं","IMPORT_TRAKT":" trakt से अपनी मीडिया लाइब्रेरी आयात करें","IMPORT_DISCOVER":" डिस्कवर से दिलचस्प सामग्री खोजें","IMPORT_DISK":"अपने स्थानीय डिस्क पर आपके पास फिल्में या शो आयात करें","PLEASE_CREATE_ACC":"लाइब्रेरी सिंक और एएमपी सक्षम करने के लिए कृपया खाता बनाएं ; तख़्ता।","IMPORT_DISCOVER_SIGNUP":"साइन अप करें और डिस्कवर से दिलचस्प सामग्री खोजें","IMPORT_DISK_SIGNUP":"साइन अप करें और फिल्में आयात करें या आपके स्थानीय डिस्क पर दिखाएं","LIB_EMPTY_CLOUD":"बादल पुस्तकालय","LIB_EMPTY_CLOUD_DESC":"व्यक्तिगत क्लाउड लाइब्रेरी सभी उपकरणों पर समन्वयित","LIB_EMPTY_EARLY":"जल्दी उठ कर काम शुरू करने वाला व्यक्ति","LIB_EMPTY_EARLY_DESC":"नए एपिसोड के लिए सूचनाएं प्राप्त करें","LIB_EMPTY_PERSONAL":"निजी","LIB_EMPTY_PERSONAL_DESC":"व्यक्तिगत सिफारिशें प्राप्त करें","LIB_EMPTY_CALENDAR_DESC":"अपने व्यक्तिगत देखने के कैलेंडर को शेड्यूल करें","LIB_EMPTY_ALL":"इन सभी को पाने के लिए साइन अप करें:","LIB_EMPTY_BEST":"STREMIO का सर्वश्रेष्ठ पाने के लिए साइन अप करें","LIB_EMPTY_OTHER":"कैलेंडर और अन्य शानदार सुविधाओं को सक्षम करने के लिए साइन अप करें","CALENDAR_ADDED":"Stremio कैलेंडर को आपके डिफ़ॉल्ट डेस्कटॉप कैलेंडर में जोड़ा गया है।","CALENDAR_ADDED_MSG":"यदि यह काम नहीं करता है तो कृपया अपने कैलेंडर एप्लिकेशन को मैन्युअल रूप से इस यूआरएल को जोड़ें","TRAKT_EXPIRED":"ट्रैक्ट प्रमाणीकरण समाप्त हो गया कृपया सेटिंग्स पर जाएं और पुन: प्रमाणित करें","TRAKT_REQUIRES_LOGIN":"ट्रैक्ट त्रुटि","TRAKT_REQUIRES_LOGIN_MSG":"आपको लॉगिन करने की आवश्यकता है","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"समायोजन","SETTINGS_NAV_GENERAL":"आम","SETTINGS_NAV_PLAYER":"खिलाड़ी","SETTINGS_NAV_STREAMING":"स्ट्रीमिंग","SETTINGS_NAV_SHORTCUTS":"शॉर्टकट","SETTINGS_SHORTCUT_RELOAD_APP":"रीलोड ऐप","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"बाहर निकलें / वापस जाएं","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"पूर्णस्क्रीन चालू करें","SETTINGS_SHORTCUT_SHOW_CONTROLS":"नियंत्रण दिखाएं","SETTINGS_SHORTCUT_PLAY_PAUSE":"चालू करे / रोके","SETTINGS_SHORTCUT_VOLUME_UP":"आवाज बढ़ाएं","SETTINGS_SHORTCUT_VOLUME_DOWN":"आवाज कम करे","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"उपशीर्षक आकार बढ़ाएँ","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"उपशीर्षक आकार कम करे","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"उपशीर्षक विलंब बढ़ाएँ","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"उपशीर्षक विलंब कम करे","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"स्टार्टअप शुरू","SETTINGS_VLC_DEFAULT":"वीएलसी के साथ खेलें","SETTINGS_UI_LANGUAGE":"यूआई भाषा","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"कुंजी से बाहर निकलें पूर्ण स्क्रीन से बाहर निकलें","SETTINGS_GAMEPAD":"गेमपैड समर्थन सक्षम करें","SETTINGS_CLOSE_WINDOW":"विंडो बंद होने पर ऐप बंद करें","SETTINGS_SUBTITLES_LANGUAGE":"डिफ़ॉल्ट उपशीर्षक भाषा","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"डिफ़ॉल्ट उपशीर्षक आकार","SETTINGS_SUBTITLES_BACKGROUND":"उपशीर्षक पृष्ठभूमि","SETTINGS_SUBTITLES_COLOR":"उपशीर्षक रंग","SETTINGS_SUBTITLES_COLOR_OUTLINE":"उपशीर्षक रूपरेखा रंग","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"उपशीर्षक पृष्ठभूमि रंग","SETTINGS_SEEK_KEY":"तीर कुंजियाँ समय तलाशें","SETTINGS_SEEK_KEY_SHIFT":"तीर कुंजी समय की तलाश करते हैं जब Shift कुंजी आयोजित की जाती है","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"ऑटो-प्ले अगला एपिसोड","SETTINGS_NEXT_VIDEO":"अगले एपिसोड शुरू करने के लिए अधिसूचना दिखाएं","SETTINGS_NEXT_VIDEO_TRIGGER":"इसके लिए अगला एपिसोड अधिसूचना दिखाएं:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"खेलने से पहले स्वत: आकार बदलें","SETTINGS_OVERRIDE_SERVER":"स्ट्रीमिंग सर्वर URL (उन्नत) को ओवरराइड करें","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"स्ट्रीमिंग सर्वर यूआरएल:","SETTINGS_SERVER_AVAILABLE":"स्ट्रीमिंग सर्वर उपलब्ध है।","SETTINGS_SERVER_UNAVAILABLE":"स्ट्रीमिंग सर्वर उपलब्ध नहीं है।","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"स्ट्रीमिंग HTTPS एंडपॉइंट:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"हमेशा नवीनतम बीटा का उपयोग करें","SETTINGS_IMPORT_FB":"फेसबुक से आयात करें","SETTINGS_IMPORT_DISK":"स्थानीय डिस्क से आयात करें","SETTINGS_IMPORT_TRAKT":"ट्रैक्ट से आयात","SETTINGS_PAUSE_MINIMIZED":"कम से कम प्लेबैक रोकें","SETTINGS_HWDEC":"हार्डवेयर-त्वरित डिकोडिंग","SETTINGS_BACKGROUND":"पृष्ठभूमि प्लेबैक","SETTINGS_SUBSCRIBE_CALENDAR":"कैलेंडर की सदस्यता लें","SETTINGS_REQ_EXPORT":"डेटा निर्यात का अनुरोध करें","SETTINGS_ACC_DELETE":"खाता हटाने का अनुरोध करें","SETTINGS_CHANGE_PASSWORD":"पासवर्ड बदलें","SETTINGS_TOS":"सेवा की शर्तें","SETTINGS_SUPPORT":"सहयोग टीम से संपर्क करें","SETTING_LANGUAGE":"भाषा","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"ट्रैक्ट स्क्रोबिंग","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Trakt.tv से लॉग आउट करें","SETTINGS_TRAKT_LOGOUT_2":"Trakt से लॉग आउट करें","SETTINGS_SCAN_FOR_REMOTE":"रिमोट खोलने के लिए क्यूआर कोड स्कैन करें","SETTINGS_DESKTOP_NOTIFICATIONS":"डेस्कटॉप अधिसूचनाएं","SETTINGS_DATA_SAVER":"आंकड़ा बचतकर्ता","SETTINGS_LANGUAGE_INTERFACE":"इंटरफेस","SETTINGS_LANGUAGE_SUBS":"डिफ़ॉल्ट उपशीर्षक","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"ऑटोसेल ऑडियो ट्रैक","SETTINGS_DEFAULT_AUDIO_TRACK":"डिफ़ॉल्ट ऑडियो ट्रैक","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"कारण","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"संस्करण","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"एक अलग विंडो में प्लेयर लॉन्च (उन्नत)","SETTINGS_PLAY_IN_EXTERNAL":"हमेशा बाहरी खिलाड़ी में वीडियो शुरू करें","SETTINGS_STORAGE_BUTTON":"स्थानीय भंडारण साफ़ करें","SETTINGS_STORAGE_MODAL_TITLE":"क्या आपको यकीन है ?","SETTINGS_STORAGE_MODAL_MESSAGE":"यह स्थानीय भंडारण को साफ़ करेगा और आपको लॉग आउट करेगा।","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"स्वचालित","SETTINGS_HW_DISABLED":"बंद","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"ऑडियो","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"ब्लैक बैकग्राउंड कलर का इस्तेमाल करें","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"आकार","SUBSPICKER_DELAY":"विलंब","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"गोपनीयता नीति","MOBILE_CRASH_REPORTING":"क्रैश रिपोर्टिंग","MOBILE_ZOOM_TO_FILL":"स्क्रीन भरने के लिए ज़ूम करें","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"कम बैटरी पर चलाएं","MOBILE_RUN_FOREGROUND":"अग्रभूमि सेवा के रूप में चलाएँ","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"ऑनलाइन","MOBILE_SERVER_OFFLINE":"ऑफलाइन","MOBILE_QR_EXPIRES":"क्यूआर कोड की समय सीमा समाप्त होगि ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"ऊपर क्यूआर कोड स्कैन करें या यहां जाएं ","MOBILE_LINK_ACCOUNT":"खाते लिंक करें","MOBILE_SPEEDPICKER_CANCEL":"रद्द करना","MOBILE_SPEEDPICKER_LABEL":"प्लेबैक स्पीड का चयन करें","MOBILE_EMPTY_LIBRARY":"आपकी लाइब्रेरी खाली है","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"मैं स्ट्रेमियो से मार्केटिंग संचार प्राप्त करने के लिए सहमत हूं","QUIT":"छोड़ना","CONNECTED":"जुड़े हुए","AUTHENTICATE":"प्रमाणित","AUTHENTICATING":"Authenticating...","CACHING":"कैशिंग","SETTINGS_CACHING_DRIVE":"कैशिंग ड्राइव","ENABLE_LOCAL_FILES_ADDON":"स्थानीय फ़ाइलें Addon सक्षम करें (पुनरारंभ की आवश्यकता है)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"रिमोट एचटीटीपीएस कनेक्शन सक्षम करें","TORRENT_PROFILE":"टोरेंट प्रोफाइल","DATA_CACHING":"डेटा कैशिंग","MAGNET_PARSING":"एक चुंबक लिंक पार्सिंग","January":"जनवरी","February":"फ़रवरी","March":"जुलूस","April":"अप्रैल","May":"मई","June":"जून","July":"जुलाई","August":"अगस्त","September":"सितंबर","October":"अक्टूबर","November":"नवंबर","December":"दिसंबर","Monday":"सोमवार","Tuesday":"मंगलवार","Wednesday":"बुधवार","Thursday":"गुरूवार","Friday":"शुक्रवार","Saturday":"शनिवार","Sunday":"रविवार","Action":"कार्य","Comedy":"कॉमेडी","War":"युद्ध","Family":"परिवार","Animation":"एनीमेशन","Adventure":"साहसिक","Fantasy":"कल्पना","Crime":"अपराध","Mystery":"रहस्य","Romance":"रोमांस","Drama":"नाटक","Horror":"डरावनी","Thriller":"थ्रिलर","Sci-Fi":"विज्ञान-कथा","Music":"संगीत","Biography":"जीवनी","Documentary":"दस्तावेज़ी","Sport":"खेल","Musical":"संगीत","Western":"वेस्टर्न","Film-Noir":"फिल्म नोयर","News":"समाचार","History":"इतिहास","Game-Show":"गेम शो","Reality-TV":"रियलिटी टीवी","Talk-Show":"टॉक शो","Film & Entertainment":"फिल्म और मनोरंजन","Gaming":"जुआ","From TV":"टीवी से","Lifestyle":"बॉलीवुड","Science & Education":"विज्ञान की शिक्षा","Cooking & Health":"खाना पकाने और स्वास्थ्य","Beauty & Fashion":"सौंदर्य और फैशन","Sports":"खेल","News & Politics":"समाचार और राजनीति","How-to & DIY":"कैसे और DIY","Tech":"तकनीक","Automotive":"मोटर वाहन","Causes & Non-Profits":"कारण और गैर लाभ","Movies":"चलचित्र","Uk Live Tv":"यूके लाइव टीवी","Fashion":"पहनावा","Business News Radio":"बिजनेस न्यूज रेडियो","Business Tv":"बिजनेस टीवी","Cars & Auto":"कारें और ऑटो","Comedy Radio":"कॉमेडी रेडियो","Lifestyle Radio":"लाइफस्टाइल रेडियो","News Tv":"समाचार टीवी","Food And Wine":"भोजन और शराब","Latino Tv":"लैटिनो टीवी","Shopping Tv":"शॉपिंग टीवी","Religion":"धर्म","Kids":"बच्चे","Body & Soul":"शरीर आत्मा","Education":"शिक्षा","Indian Tv":"भारतीय टीवी","Extreme Sports":"खतरनाक खेल","Middle Eastern Tv":"मध्य पूर्वी टीवी","Celebrity Tv":"सेलिब्रिटी टीवी","Science Tv":"विज्ञान टीवी","Bikini babe":"बिकिनी बेब","Outdoors":"सड़क पर","German Tv":"जर्मन टीवी","French Tv":"फ्रेंच टीवी","Italian Tv":"इतालवी टीवी","Gamer Tv":"गेमर टीवी","Travel":"यात्रा","Asian Tv":"एशियाई टीवी","Entertainment":"मनोरंजन","News Radio":"समाचार रेडियो","Music Radio":"संगीत रेडियो","Language Learning":"भाषा सीखना","Science Radio":"विज्ञान रेडियो","Tech Radio":"टेक रेडियो","Science & Technology Vod":"विज्ञान और प्रौद्योगिकी वोड","new video":"नया वीडियो","new episode":"नई कड़ी","new movie":"नई फिल्म","recommended":"अनुशंसित","we recommend":"हम अनुशंसा करते हैं","offer of the day":"दिन की पेशकश","news":"समाचार","music video":"वीडियो संगीत","CTX_SHOW_HOTKEYS":"हॉटकी दिखाएं","CTX_DISMISS_NOTIF":"सूचनाओं को खारिज करना","CTX_DISMISS_ALL":"सभी खारिज","CTX_SHARE":"साझा करना","CTX_COPY_SHARE_LINK":"शेयर लिंक कॉपी करें","CTX_COPY_MAGNET_LINK":"चुंबक लिंक कॉपी करें","CTX_COPY_STREAM_LINK":"स्ट्रीम लिंक कॉपी करें","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"इस वीडियो को डाउनलोड करें","CTX_DOWNLOAD_SUBS":"उपशीर्षक डाउनलोड करें","CTX_VIEW_ON_YOUTUBE":"यूट्यूब पर देखें","CTX_SHOW":"प्रदर्शन","CTX_PLAY":"खेल","CTX_PLAY_IN":"खेलना","CTX_PLAY_ON":"खेलो","CTX_WATCH_ON":"यहां देखें","CTX_WATCH":"घड़ी","CTX_WATCHED":"देखे","CTX_WATCH_BEGINNING":"शुरुआत से देखो","CTX_WATCH_MOBILE":"एक मोबाइल डिवाइस पर देखें","CTX_REWIND":"शुरुआत करने के लिए रिवाइंड","CTX_MARK_WATCHED":"देखा के रूप में चिह्नित","CTX_MARK_NON_WATCHED":"गैर-देखा के रूप में चिह्नित करें","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"जैसा कि देखा गया है","CTX_UNMARK_REST":"गैर-देखे गए के रूप में बाकी को चिह्नित करें","CTX_RECEIVE_NEW_NOTIF":"नई सूचनाएं प्राप्त करें","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"कैश से निकालें","CTX_REMOVE_CACHE_EP":"कैश से एपिसोड निकालें","CTX_OPEN_CONTAINING":"धारक फोल्डर खोलें","CTX_REMOVE":"पुस्तकालय से निकालें","CTX_AVAILABLE_OFFLINE":"उपलब्ध ऑफ़लाइन","CTX_PAUSED":"रोके गए","CTX_ALWAYS_ON_TOP":"हमेशा ऊपर","CTX_FULLSCREEN":"पूर्ण स्क्रीन","CTX_WRONG_SUBS":"गलत उपशीर्षक?","CTX_REPORT_ISSUES":"रिपोर्ट मुद्दा","CTX_COPY":"प्रतिलिपि","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"पेस्ट करें","CTX_CLEAR":"स्पष्ट","CTX_CLEAR_RECENT_SEARCHES":"हाल की खोजों को साफ़ करें","HELLO_THERE":"नमस्ते","HOPE_YOU_ENJOY":"हमें आशा है कि आप STREMIO का आनंद लेंगे और यह पहले से ही आपके पसंदीदा ऐप्स में से एक है!","WHO_ARE_WE":"हम कौन हैं? हम इसके पीछे टीम हैं - दो लोग जो इस उत्पाद को बेहतर और बेहतर बनाने के लिए पिछले 3 वर्षों से हर दिन कड़ी मेहनत करते हैं।","SUPPORT_US":"यदि आप STREMIO का उपयोग करने में आनंद लेते हैं यदि STREMIO आपके लिए मूल्यवान है - शब्द फैलाएं!","SPREAD_THE_WORD":"अपने दोस्तों के साथ साझा करें अब स्ट्रैमियो के बारे में शब्द फैलाएं","MORE_PEOPLE":"जितना अधिक लोग STREMIO का उपयोग करेंगे उतना ही बेहतर होगा!","SEND_A_LINK":"या हमारी वेबसाइट पर एक लिंक भेजें","TIP_LOCALFILES":"युक्ति: आप स्थानीय वीडियो फ़ाइलों को स्ट्रैमियो में खींच और छोड़ सकते हैं","ADDON_MY":"मेरे एडॉन्स","ADDON_COMMUNITY":"सामुदायिक एडॉन्स","ADDON_OFFICIAL":"सरकारी Addons","ADDON_REPOS":"एडन संग्रह","ADDON_SEARCH":"खोज एडॉन्स","ADDON_INSTALL":"इंस्टॉल","ADDON_CONFIGURE":"कॉन्फ़िगर","ADDON_UNINSTALL":"स्थापना रद्द करें","ADDON_UPGRADE":"अपग्रेड","ADDON_INSTALLED":"स्थापित","ADDON_INSTALLED_MSG":"Addon स्थापित!","ADDON_UPGRADED_MSG":"एडन अपग्रेड किया गया!","ADDON_UNKNOWN":"अनजान","ADDON_ERR":"Addon इंस्टॉल त्रुटि!","ADDON_DISCONNECTED":"डिस्कनेक्ट किया गया","ADDON_APP_MISSING":"इस स्रोत के लिए ऐप स्थापित नहीं है। क्या आप इसे अभी इंस्टॉल करना चाहते हैं?","ADDON_APP_INSTALL":"अब स्थापित करें","ADDON_PAGE":"एडन पेज","ADDON_TOP_CONTENT":"इस एडन से सर्वश्रेष्ठ","ADDON_PROVIDES":"यह एडन आपको देगा:","ADDON_WATCH":"देखो # {प्रकार} अब!","ADDON_WATCH_FREE":"अभी मुफ्त में # {प्रकार} देखें!","ADDON_ADDON":"ऐड ऑन","ADDON_SUPPORTED_TYPES":"समर्थित प्रकार","ADDON_SUPPORTED_CATALOGS":"समर्थित कैटलॉग","ADDON_PROVIDES_DISCOVER":"अधिक # {प्रकार} डिस्कवर में","ADDON_PROVIDES_STREAMS":"# {प्रकार} देखें","ADDON_PROVIDES_STREAMS_FREE":"मुफ्त में # {प्रकार} देखें","ADDON_PROVIDES_SUBTITLES":"# {प्रकार के लिए उपशीर्षक","ADDON_CANTDETECT":"हम एक रनिंग स्ट्रैमियो का पता नहीं लगा सके ताकि हम यह पता लगा सकें कि आपने कौन से एडॉन्स इंस्टॉल किए हैं।","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"इस बारे में कोई जानकारी नहीं मिली","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"इसके बारे में जानकारी पुनर्प्राप्त करने में त्रुटि।","ERR_CANT_PARSE_MAGNET":"चुंबक पार्स करने में असमर्थ","ERR_NO_MAGNET_INFOHASH":"चुंबक के लिए कोई वैध जानकारी हैश","ERR_NO_FILE_PATH":"फ़ाइल के लिए एक पथ के बिना अनुरोध भेजने में असमर्थ","ERR_NO_TORRENT":"कोई धार नहीं लौटा","ERR_NO_SUPPORTERD_FILES":"कोई समर्थित फाइल नहीं मिली","ERR_OPENING_FILES":"बाहरी फाइलें नहीं खोल सका","ERR_INVALID_LINK":"अमान्य लिंक","ERR_REGISTERED_ONLY":"यह विकल्प केवल पंजीकृत उपयोगकर्ताओं के लिए उपलब्ध है।","ERR_CLIPBOARD":"क्लिपबोर्ड से नहीं खेल सकते हैं","ERR_CLIPBOARD_READ":"इस मंच पर क्लिपबोर्ड नहीं पढ़ सकते हैं","ERR_CLIPBOARD_GENERIC":"क्लिपबोर्ड में पाया जाने वाला कोई भी यूआरएल नहीं मिला। कृपया एक वीडियो को एक यूआरएल (उदा। एक चुंबक लिंक) कॉपी करें।","BOARD_CONTINUE_WATCHING":"देखना जारी रखें","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"फिल्में आपके लिए विशेष रूप से चुने गए।
    यह फिल्म नमूना सिफारिश है।","BOARD_EXPLANATION_EPISODES":"आपकी पसंदीदा श्रृंखला के नए एपिसोड यहां आते हैं।
    श्रृंखला जोड़ें आप अपनी लाइब्रेरी में अनुसरण करते हैं।","BOARD_EXPLANATION_VIDEOS":"आपके पसंदीदा चैनलों के नए एपिसोड यहां आते हैं।
    YouTube चैनल जोड़ें जो आप अपनी लाइब्रेरी में अनुसरण करते हैं।","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"तुरंत देखें","WEBSITE_SLOGAN_ALL":"एक ही स्थान पर आप सभी वीडियो सामग्री का आनंद लेते हैं","WEBSITE_SLOGAN_NEW":"आप सभी देख सकते हैं","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"से देखना","WEBSITE_DOWNLOAD":"अब डाउनलोड करो","WEBSITE_DOWNLOAD_FOR":"अभी डाउनलोड करें","WEBSITE_IS_DESKTOP":"Stremio एक डेस्कटॉप एप्लिकेशन है इस पृष्ठ को अपने पीसी पर खोलें और इसे डाउनलोड करें","WEBSITE_DESKTOP_DEMO_VID":"डेस्कटॉप डेमो","WEBSITE_PAGE_HOME":"घर","WEBSITE_PAGE_FEATURES":"विशेषताएं","WEBSITE_PAGE_ADDONS":"ऐड-ऑन","WEBSITE_PAGE_TECH":"प्रौद्योगिकी","WEBSITE_PAGE_CREATE_ADDON":"Addon बनाएँ","WEBSITE_PAGE_CONTACTS":"संपर्क","WEBSITE_PAGE_BLOG":"ब्लॉग","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"चलचित्र","WEBSITE_TYPE_series_PL":"श्रृंखला","WEBSITE_TYPE_tv":"लाइव टीवी","WEBSITE_TYPE_channel":"चैनल","WEBSITE_STREMIO_WHAT_IS":"Stremio एक ऐप है जो आपको व्यवस्थित करने और तुरंत अपने पसंदीदा वीडियो फिल्में टीवी श्रृंखला और टीवी चैनल देखने में मदद करता है।","WEBSITE_FEATURES_WATCH":"तुरंत एचडी में देखें","WEBSITE_FEATURES_WATCH_DETAIL":"क्लिक करें और अपने पसंदीदा मूवीज़ टीवी शो वीडियो और टीवी चैनल दिखाता है।","WEBSITE_FEATURES_SUBS":"स्वचालित उपशीर्षक","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio स्वचालित रूप से आपकी भाषा के लिए समन्वयित उपशीर्षक चुनता है।","WEBSITE_FEATURES_SUBS_LABEL":"आपका कदम प्रमुख।","WEBSITE_FEATURES_CAST":"टीवी और मोबाइल उपकरणों पर खेलते हैं","WEBSITE_FEATURES_CAST_DETAIL":"Appletv Chromecast स्मार्ट टीवी (डीएलएनए / यूपीएनपी) और मोबाइल उपकरणों के लिए कास्ट करें।","WEBSITE_LIB":"अपने सभी उपकरणों पर सिंक की गई अपनी व्यक्तिगत पुस्तकालय का आनंद लें","WEBSITE_LIB_COLLECT":"STREMIO से लीजिए","WEBSITE_LIB_IMPORT":"फेसबुक से आयात करें","WEBSITE_LIB_LOCAL":"अपने स्थानीय ड्राइव से जोड़ें","WEBSITE_BOARD":"बोर्ड - अधिसूचनाओं और सिफारिशों के लिए आपका एक-स्टॉप प्लेस","WEBSITE_BOARD_RECOMMEND":"अनुशंसित टीवी शो","WEBSITE_BOARD_TRENDING":"ट्रेंडिंग फिल्म","WEBSITE_BOARD_NEW":"नया वीडियो","WEBSITE_BOARD_EPISODE":"नई कड़ी","WEBSITE_BOARD_1":"देखने के लिए कुछ दिलचस्प खोज रहे हैं? अपने स्वाद के आधार पर सिफारिशें प्राप्त करें!","WEBSITE_BOARD_2":"अधिसूचित हो जाएं जब आपके पसंदीदा टीवी शो या यूट्यूब चैनल का एक नया एपिसोड बाहर है!","WEBSITE_BOARD_YOUTUBE":"YouTube चैनलों के नए वीडियो","WEBSITE_BOARD_EPISODES":"श्रृंखला के नए एपिसोड आप अनुसरण करते हैं","WEBSITE_ADDONS":"सामग्री एडॉन्स","WEBSITE_TECH_DETAIL":"हम लव टेक्नोलॉजी हम पागल विज्ञान से प्यार करते हैं! NStremio निम्नलिखित ओपन सोर्स टेक्नोलॉजीज का उपयोग कर रहा है:","WEBSITE_TECH_WCJS":"WebChimera.js STREMIO को अच्छे प्रदर्शन के साथ किसी भी वीडियो प्रारूप को चलाने की अनुमति देता है।","WEBSITE_TECH_WCJS_EXTRA":"हम कोर प्रोजेक्ट योगदानकर्ता हैं","WEBSITE_TECH_ELECTRON":"इलेक्ट्रॉन के साथ स्ट्रैमियो बनाने के लिए एक अभिनव मंच प्रदान करता है।","WEBSITE_TECH_ELECTRON_EXTRA":"हम परियोजना योगदानकर्ता हैं","WEBSITE_TECH_LINVODB":"एक डेटाबेस तकनीक जो सुनिश्चित करती है कि आपका डेटा व्यवस्थित हो और कहीं भी आपके पास उपलब्ध हो।","WEBSITE_TECH_LINVODB_EXTRA":"इन-हाउस टेक्नोलॉजी","WEBSITE_CREATE_ADDON":"अपना Addon बनाएँ","WEBSITE_CREATE_ADDON_DETAIL":"क्या आपके पास वीडियो सामग्री प्रदान करने वाली सेवा है? हम आपको अपने एडन बनाकर STREMIO की सुविधाओं से लाभान्वित होने में मदद करेंगे।","WEBSITE_CREATE_ADDON_BENEFITS":"स्ट्रैमियो के लिए एक एडन बनाने के लाभ","WEBSITE_P2P_BEAUTY":"पीयर-टू-पीयर स्ट्रीमिंग की सुंदरता","WEBSITE_P2P_1":"मांग या लाइव स्ट्रीमिंग पर विश्वसनीय और किफायती पूर्ण एचडी / 4 के वीडियो","WEBSITE_P2P_2":"वितरण मंच महान उपयोगकर्ता अनुभव प्रदान करते हैं","WEBSITE_P2P_3":"हम आपकी सटीक जरूरतों को पूरा करने वाले एडन को बनाएंगे","WEBSITE_P2P_CONTACT":"इच्छुक? आपका स्वागत है हमसे संपर्क करें ।","WEBSITE_P2P_CONTACT_EXTRA":"हमें आपकी सामग्री को स्ट्रैमियो के साथ एकीकृत करने में मदद करने में प्रसन्नता होगी!","WEBSITE_P2P":"एक बार थोड़ी देर में ऐसी तकनीक आती है जो गेम का नाम बदलता है। हमने अपने पीयर-टू-पीयर (पी 2 पी) वीडियो स्ट्रीमिंग इंजन के निर्माण में बहुत समय और प्रयास का निवेश किया जो किसी भी उपयोग केस के साथ अनुकूलित करने के लिए महान प्रदर्शन और बहुमुखी प्रतिभा प्रदान करता है। N Drm-सक्षम पी 2 पी वीडियो के लिए मांग या लाइव स्ट्रीमिंग के लिए हमसे संपर्क करें।","WEBSITE_THOUGHTS":"विचार हम साझा करते हैं:","WEBSITE_SPREAD":"स्ट्रैमियो के बारे में शब्द फैलाएं:","WEBSITE_CONTACT":"हमसे संपर्क करें हम आपसे सुनकर खुश होंगे!","WEBSITE_OPENSOURCE":"हमारे ओपन सोर्स प्रोजेक्ट्स के लिए हमारे पास जाते हैं","WEBSITE_BITCOIN":"बिटकॉइन दान करें:","WEBSITE_FAQ":"अक्सर पूछे जाने वाले प्रश्नों","WEBSITE_FAQ_SHORT":"सामान्य प्रश्न","WEBSITE_QUESTIONS":"प्रशन","WEBSITE_TOS":"उपयोग की शर्तें","WEBSITE_LEGAL":"कानूनी","WEBSITE_PAGE_ABOUT":"के बारे में","WEBSITE_PAGE_BECOME_PARTNER":"भागीदार बनें","WEBSITE_ALL_YOU_CAN_WATCH":"आप चाहते हैं Neverything देखने की स्वतंत्रता।","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"स्ट्रैमियो क्या है?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio वीडियो सामग्री एकत्रीकरण के लिए एक-स्टॉप हब है। अपने आप को किसी भी डिवाइस पर सभी प्रकार के स्रोतों से वीडियो व्यवस्थित करें और देखें।","WEBSITE_WHAT_IS_STREMIO_P2":"मूवीज़ टीवी श्रृंखला लाइव टेलीविजन या वेब चैनल जैसे यूट्यूब और ट्विच.टीवी दिखाता है - आप इसे स्ट्रैमियो पर पा सकते हैं।","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio एक आधुनिक मीडिया केंद्र है जो आपके वीडियो मनोरंजन के लिए एक-स्टॉप समाधान है। आप एडॉन्स स्थापित करने के लिए आसान से वीडियो सामग्री को देखते हैं और व्यवस्थित करते हैं।","WEBSITE_WHAT_IS_STREMIO_P2_V2":"मूवीज़ टीवी लाइव टीवी या वेब चैनल दिखाता है - यह सब स्ट्रैमियो पर खोजें।","WEBSITE_ENJOI_ON_ALL_DEVICES":"अपने सभी मीडिया उपकरणों पर आनंद लें","WEBSITE_DEVICES_COLLECT":"STREMIO से लीजिए","WEBSITE_DEVICES_IMPORT_FB":"फेसबुक से आयात करें","WEBSITE_DEVICES_LOCAL":"स्थानीय ड्राइव से जोड़ें","WEBSITE_JOIN_THE_PARTY_NOW":"अब पार्टी में शामिल हों","WEBSITE_DEVICES_ALL":"अपने सभी उपकरणों पर उपयोग करने में आसान;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly विस्तारणीय वीडियो कैटलॉग;","WEBSITE_ORGANIZE_YOUR_MEDIA":"अपने मीडिया को व्यवस्थित करने के लिए महान सुविधाएं;","WEBSITE_AS_SEEN_ON":"जैसा देखा गया","WEBSITE_STREMIO":"स्ट्रमियो","WEBSITE_LINK_ABOUT_US":"हमारे बारे में","WEBSITE_LINK_TECHNOLOGY":"प्रौद्योगिकी","WEBSITE_LINK_APPS":"ऐप्स","WEBSITE_LINK_DOWNLOADS":"डाउनलोड","WEBSITE_MORE":"अधिक","WEBSITE_LINK_ADDONS":"ऐड-ऑन","WEBSITE_LINK_ADDON_SDK":"एडन एसडीके","WEBSITE_LINK_CONTRIBUTE":"योगदान","WEBSITE_LINK_COMMUNITY":"समुदाय","WEBSITE_LINK_BLOG":"ब्लॉग","WEBSITE_MORE_MORE":"... & अधिक","WEBSITE_LINK_HELP":"सहायता केंद्र","WEBSITE_LINK_CONTACTS":"व्यापार पूछताछ","WEBSITE_LINK_TOS":"नियम एवं शर्तें","WEBSITE_LINK_PRAVACY":"गोपनीयता नीति","WEBSITE_SUBSCRIBE":"सदस्यता लेने के","WEBSITE_NEWSLETTER":"अद्भुत सामान के लिए हमारे न्यूजलेटर में शामिल हों","WEBSITE_PLACEHOLDER_EMAIL":"आपका ईमेल","WEBSITE_COMMUNITY":"समुदाय","WEBSITE_LINK_PRAVACY_LEGAL":"गोपनीयता और कानूनी","WEBSITE_WHY":"हम क्यों करते हैं","WEBSITE_WHY_P1":"Stremio में हम हर दिन काम करने के लिए आते हैं क्योंकि हम वीडियो-ऑन-डिमांड उद्योग के लिए एक महत्वपूर्ण समस्या हल करना चाहते हैं। हर मिनट प्रकाशित इतनी नई सामग्री है कि इसके चारों ओर अपना रास्ता ढूंढना लगभग असंभव है।","WEBSITE_WHY_P2":"हम लोगों को वीडियो मनोरंजन की विशाल दुनिया को नेविगेट करने में मदद करते हैं और आनंद लेने के लिए नई सामग्री की खोज करते हैं। हमारे ऐप्स एक साथ फिल्म श्रृंखला लाइव टीवी वेब चैनल और अधिक लाते हैं। हम उपयोगकर्ताओं के लिए शीर्षक और ब्रॉडकास्टरों को ढूंढने के लिए इसे अविश्वसनीय रूप से आसान बनाने के लिए समर्पित हैं।","WEBSITE_WHY_P3":"आप किसी भी डिवाइस पर हमारी सेवा का उपयोग कर सकते हैं और किसी भी समय STREMIO बनाने के लिए एकमात्र वीडियो मनोरंजन हब बनाने के लिए आपको कभी भी आवश्यकता होगी।","WEBSITE_TEAM":"टीम","WEBSITE_TEAM_P":"Stremio टीम छोटा है लेकिन शक्तिशाली है: हम में से दस के बीच हम एक्स भाषाओं में कोड और सॉफ्टवेयर विकास यूआई और यूएक्स डिजाइन विपणन और विज्ञापन और व्यापार और स्टार्टअप में विशेषज्ञता साझा करते हैं।","WEBSITE_FEATURES":"विशेषताएं","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"आसानी से नई सामग्री की खोज करें","WEBSITE_FEATURES_DISCOVER_P":"आसानी से नई फिल्में टीवी शो श्रृंखला और चैनलों को देखने के लिए खोजें। श्रेणी शैली रेटिंग रिकेंसी आदि द्वारा ब्राउज़ करें या बस खोजने के लिए एक नाम टाइप करें। Stremio नई वीडियो सामग्री केक का एक टुकड़ा खोजने बनाता है।","WEBSITE_FEATURES_ALL_CONTENT":"एक स्क्रीन पर आपकी सभी वीडियो सामग्री","WEBSITE_FEATURES_ALL_CONTENT_P1":"देखें कि आप किन फिल्मों या वीडियो को समाप्त नहीं करते हैं और उन्हें देखना जारी रखते हैं; नए एपिसोड और रिलीज के लिए अधिसूचित हो जाएं; और उन सिफारिशों के माध्यम से ब्राउज़ करें जिन्हें आप अपनी देखने की आदतों के आधार पर प्राप्त करेंगे।","WEBSITE_FEATURES_LIBRARY":"अपनी वीडियो लाइब्रेरी व्यवस्थित करें","WEBSITE_FEATURES_LIBRARY_P1":"अपने STREMIO लाइब्रेरी में किसी भी क्लिक के साथ किसी भी शीर्षक को जोड़ें और अपनी सामग्री के चारों ओर अपनी सामग्री को अच्छी तरह से व्यवस्थित रूप से व्यवस्थित तरीके से व्यवस्थित करें।","WEBSITE_FEATURES_CALENDAR":"आप जो कुछ भी देखते हैं उसका ट्रैक रखें","WEBSITE_FEATURES_CALENDAR_P1":"अपनी लाइब्रेरी में आपके द्वारा जोड़े गए सभी फिल्मों और श्रृंखला का कैलेंडर विज़ुअलाइजेशन प्राप्त करें। अपने STREMIO कैलेंडर निर्यात करें और इसे सिंक करें ताकि आप हमेशा जान सकें कि एक नया एपिसोड या प्रीमियर कब देय है।","WEBSITE_FEATURES_BIG_SCREEN":"एक बड़ी स्क्रीन पर अपनी वीडियो सामग्री का आनंद लें","WEBSITE_FEATURES_BIG_SCREEN_P1":"जो भी आप किसी अन्य डिवाइस पर देख रहे हैं उसे कास्ट करें - चाहे वह एक फोन टैबलेट हो या एक क्लिक के साथ एक टीवी हो।","WEBSITE_FEATURES_SOURCES":"कई अलग-अलग स्रोतों से वीडियो देखें","WEBSITE_FEATURES_SOURCES_P":"कई अलग-अलग प्रदाताओं से प्राप्त वीडियो का आनंद लेने के लिए आधिकारिक और सामुदायिक एडॉन्स स्थापित करें - सभी एक चिकना उपयोग करने में आसान ऐप में।","WEBSITE_CREATE_AN_ADDON":"एक एडन बनाएँ","WEBSITE_FEATURES_SYNC":"अपनी लाइब्रेरी को विभिन्न उपकरणों में सिंक करें और अपने प्लेबैक को फिर से शुरू करें","WEBSITE_FEATURES_SYNC_P1":"अपने सभी डिवाइसों में अपने खाते से लॉगिन करें और अपने लाइब्रेरी एडॉन्स प्लेबैक और कैलेंडर सिंक्रनाइज़ का आनंद लें।","WEBSITE_FEATURES_EXTENDABLE":"एडॉन्स द्वारा विस्तारणीय वीडियो कैटलॉग","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio Addon कैटलॉग विभिन्न प्रकार की वीडियो सामग्री को स्थापित करने और देखने के लिए कई एडॉन्स प्रदान करता है। इसमें फिल्में लाइव टीवी स्पोर्ट न्यूज़ पॉडकास्ट वेब चैनल वीडियो गेम और अधिक दिखाती हैं।","WEBSITE_FEATURES_AUTO_SUBS":"स्वचालित उपशीर्षक","WEBSITE_FEATURES_AUTO_SUBS_P1":"हमारे उपशीर्षक एडॉन्स के साथ आप अपनी पसंदीदा भाषा के लिए स्वचालित रूप से चयनित विकल्प प्राप्त करते हैं।","WEBSITE_FEATURES_CHROMECAST":"क्रोमकास्ट के लिए कास्टिंग","WEBSITE_FEATURES_CHROMECAST_P1":"एक बड़ी स्क्रीन पर अपनी वीडियो सामग्री का आनंद लें या जो भी आप किसी अन्य डिवाइस पर देख रहे हैं उसे डालें।","WEBSITE_FEATURES_KEEP_TRACK":"अपने पसंदीदा टीवी शो और वेब चैनलों का ट्रैक रखें","WEBSITE_FEATURES_KEEP_TRACK_P1":"अपनी पसंदीदा श्रृंखला और वेब चैनलों के नए एपिसोड के लिए कैलेंडर विज़ुअलाइजेशन और नोटिफिकेशन प्राप्त करें।","WEBSITE_FEATURES_POWER_USER":"पावर उपयोगकर्ता सुविधाएँ","WEBSITE_FEATURES_POWER_USER_P1":"बाहरी खिलाड़ी में खेलें","WEBSITE_FEATURES_POWER_USER_P2":"एक टोरेंट फ़ाइल या चुंबक लिंक से खेलें","WEBSITE_FEATURES_POWER_USER_P3":"फेसबुक पसंद या स्थानीय डिस्क से अपनी लाइब्रेरी में आयात करें","WEBSITE_ADD_ONS":"ऐड-ऑन","WEBSITE_ADD_ONS_P1":"सभी वीडियो सामग्री Stremio एक एडन सिस्टम के माध्यम से सोर्स प्रदान की जाती है - ऐप में कोई सामग्री या सामग्री प्रदाता नहीं बनाया गया है।","WEBSITE_ADD_ONS_P2":"एडॉन्स के दो समूह उपलब्ध हैं: आधिकारिक और सामुदायिक एडॉन्स।","WEBSITE_ADD_ONS_P3":"आधिकारिक लोगों को Stremio द्वारा विकसित और होस्ट किया गया है जबकि सामुदायिक एडॉन्स हमारे समुदाय के सदस्यों द्वारा बनाए जाते हैं जो उन्हें भी होस्ट करते हैं।","WEBSITE_ADDONS_OFFICIAL":"सरकारी Addons","WEBSITE_ADDONS_WATCHUB":"अपनी पसंदीदा फिल्में श्रृंखला को स्ट्रीम करें और आईट्यून्स हूलू अमेज़ॅन और अन्य यूके / यूएस सेवाओं जैसे प्रदाताओं से दिखाएं।","WEBSITE_ADDONS_YOUTUBE":"अपने पसंदीदा यूट्यूब चैनलों को विज्ञापन मुक्त देखें और आपके द्वारा अनुसरण किए गए योगदानकर्ताओं से नए अपलोड के लिए अधिसूचनाएं प्राप्त करें।","WEBSITE_ADDONS_FILMON":"मुफ्त में लाइव टीवी फिल्में और सामाजिक टेलीविजन देखें। 600 टीवी चैनल 45000 मुफ्त फिल्में वृत्तचित्र और अधिक।","WEBSITE_ADDONS_OPENSUBTITLES":"मूवी और टीवी उपशीर्षक कई भाषाओं में हजारों अनुवादित उपशीर्षक हर दिन अपलोड किए गए।","WEBSITE_ADDONS_COMMUNITY":"सामुदायिक एडॉन्स","WEBSITE_ADDONS_FILMON_VOD":"फिल्मऑन.टीवी से मांग पर वीडियो देखें","WEBSITE_ADDONS_TWICH":"Twitch.tv से लाइव स्ट्रीम देखें - ई-स्पोर्ट्स उद्योग के लिए एक वीडियो स्ट्रीमिंग प्लेटफ़ॉर्म।","WEBSITE_ADDONS_VODO":"इंडी फिल्में पूरी तरह से नि: शुल्क देखें।","WEBSITE_ADDONS_NETFLIX":"नेटफ्लिक्स फिल्में और वेब श्रृंखला देखें।","WEBSITE_ADDONS_CREATE":"एक एडन बनाएँ","WEBSITE_ADDONS_CREATE_P1":"यदि आप चाहें तो आप अपना खुद का एडन विकसित कर सकते हैं। इस तरह आप अपने आप को और हमारी सामुदायिक पहुंच को नई वीडियो सामग्री तक पहुंचा सकते हैं और दुनिया भर के लाखों उपयोगकर्ताओं के एक नए लक्षित दर्शकों तक पहुंच सकते हैं।","WEBSITE_ADDONS_START_CREATE":"शुरू करने के लिए Stremio Addon SDK पृष्ठ पर जाएं:","WEBSITE_DOWNLOADS":"डाउनलोड","WEBSITE_DOWNLOADS_P1":"इष्टतम प्रदर्शन के लिए हम अनुशंसा करते हैं कि आप STREMIO ऐप्स के नवीनतम उपलब्ध संस्करण का उपयोग करें। यदि किसी कारण से आप पुराने संस्करण का उपयोग करना चाहते हैं तो आप इसे यहां डाउनलोड कर सकते हैं।","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"खिड़कियों के लिए STREMIO","WEBSITE_DOWNLOADS_FOR_MAC":"मैकोज़ के लिए स्ट्रेमियो","WEBSITE_DOWNLOADS_FOR_LINUX":"लिनक्स के लिए STREMIO","WEBSITE_DOWNLOADS_FOR_ANDROID":"एंड्रॉइड के लिए स्ट्रेमियो","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"आईओएस के लिए स्ट्रेमियो (सीमित संस्करण)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"योगदान","WEBSITE_CONTRIBUTE_P1":"Stremio प्लेटफ़ॉर्म ओपन सोर्स है और आप आसानी से उस सामग्री के लिए एक एडन बना सकते हैं जो वर्तमान में सोर्स नहीं है।","WEBSITE_CONTRIBUTE_WHY":"आपको एडन क्यों बनाना चाहिए?","WEBSITE_CONTRIBUTE_WHY_P1":"अपनी वीडियो सामग्री के लिए नए दर्शकों तक पहुंचें","WEBSITE_CONTRIBUTE_WHY_P2":"स्ट्रैमियो का उपयोगकर्ता आधार तेजी से बढ़ रहा है - लॉन्च स्ट्रैमियो के पहले वर्ष के भीतर दुनिया भर में 1 मिलियन उपयोगकर्ता प्राप्त हुए थे और प्लेटफॉर्म के अस्तित्व के दूसरे वर्ष में यह संख्या 2.5 मिलियन हो गई थी।","WEBSITE_CONTRIBUTE_WHY_P3":"अपने एडन के साथ आप आसानी से इस दर्शकों तक पहुंच सकते हैं और अपनी वीडियो सामग्री को वितरित कर सकते हैं।","WEBSITE_CONTRIBUTE_ALL":"एक ही स्थान पर अपनी पसंदीदा फिल्में वीडियो श्रृंखला और चैनल देखें।","WEBSITE_CONTRIBUTE_ALL_P1":"आप एक विशेष प्रकार की सामग्री के प्रशंसक हैं जो अभी तक स्ट्रैमियो पर उपलब्ध नहीं हैं? इसके लिए एक एडन बनाएं और अपने पसंदीदा वीडियो को बाजार पर मनोरंजन केंद्रों का उपयोग करने के लिए सबसे बड़े और आसान में से एक में देखने का आनंद लें।","WEBSITE_CONTRIBUTE_ALL_P2":"इसके शीर्ष पर आपको अन्य समान विचारधारा वाले स्ट्रैमियो समुदाय के सदस्यों का अंतहीन आभार मिलेगा।","WEBSITE_CONTRIBUTE_MONETIZE":"अपने एडन का मुद्रीकरण करें और अपनी मदद से पैसे कमाएं","WEBSITE_CONTRIBUTE_MONETIZE_P1":"एक बार जब आप STREMIO के लिए एक नया एडन विकसित कर लेंगे तो आप आसानी से इसे कई अलग-अलग तरीकों से मुद्रीकृत कर सकते हैं। यदि आप इस पर विचार कर रहे हैं कि इस पर संपर्क करने के लिए स्वतंत्र महसूस करें","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - हम एडन मुद्रीकरण विकल्पों के बारे में परामर्श करने और सलाह देने में प्रसन्न होंगे।","WEBSITE_CONTRIBUTE_TRANSLATE":"एक स्वयंसेवक अनुवादक बनें","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"यदि आप विभिन्न भाषाओं में स्ट्रैमियो ऐप्स का आनंद लेना चाहते हैं तो आप स्वयंसेवी अनुवादकों के हमारे समुदाय में शामिल हो सकते हैं। वे हमें कई अलग-अलग भाषाओं में stremio के संस्करण जोड़ने में मदद करते हैं।","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"क्या आप शुरू करने के लिए उत्सुक हैं?","WEBSITE_TRANSALTE_STREMIO":"STREMIO का अनुवाद करें","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"सरकारी समुदाय","WEBSITE_COMMUNITY_OFFICIALS_P1":"बढ़ते स्ट्रैमियो समुदाय का हिस्सा बनें। सोशल मीडिया पर हमें का पालन करें और नमस्ते कहने के लिए शर्मिंदा न हों - हम अपने प्रशंसकों से सुनवाई पसंद करते हैं!","WEBSITE_COMMUNITY_UNOFFICIALS":"अनौपचारिक समुदाय","STREMIO_COMMUNITY_NL":"स्ट्रीमियो नीदरलैंड्स","STREMIO_COMMUNITY_BRASIL":"स्ट्रीमियो ब्रासिल","STREMIO_COMMUNITY_GERMANY":"Stremio जर्मनी","STREMIO_COMMUNITY_BELGIUM":"स्ट्रमियो बेल्जियम","STREMIO_COMMUNITY_FRANCE":"स्ट्रमियो फ्रांस","STREMIO_COMMUNITY_PORTUGAL":"स्ट्रमियो पुर्तगाल","STREMIO_COMMUNITY_ITALY":"स्ट्रीमियो इटली","STREMIO_COMMUNITY_UK":"स्ट्रमियो ब्रिटेन","STREMIO_COMMUNITY_USA":"स्ट्रमियो यूएसए","STREMIO_COMMUNITY_MEXICO":"Stremio मेक्सिको","STREMIO_COMMUNITY_ADDONS":"स्ट्रमियो एडॉन्स","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"भयानक STREMIO","WEBSITE_COMMUNITY_PARTNERS":"भागीदारों और समर्थक","WEBSITE_COMMUNITY_GOODIES":"Stremio उपहार","WEBSITE_COMMUNITY_WALLPAPERS":"वॉलपेपर","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"संपर्क करें","WEBSITE_CONTACT_US_P1":"यदि आपके कोई प्रश्न हैं तो टिप्पणियां या सुझाव नीचे दिए गए संपर्क फ़ॉर्म के माध्यम से हमारे संपर्क में आने के लिए स्वतंत्र महसूस करते हैं।","WEBSITE_CONTACT_US_P2":"ध्यान रखें कि हम बुल्गारिया में स्थित हैं इसलिए समय क्षेत्र के अंतर के कारण आपकी क्वेरी को संबोधित करने में देरी हो सकती है।","WEBSITE_CONTACT_US_SUCCESS":"आपका संदेश भेज दिया गया है। हम आपकी सबसे पुरानी सुविधा पर आपके पास वापस आ जाएंगे।","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"कृपया एक मान्य ईमेल पता प्रवेश करें!","WEBSITE_CONTACT_US_Q_RELATED_TO":"आपका प्रश्न किससे संबंधित है?","WEBSITE_CONTACT_US_Q_OS":"आपका ऑपरेशन सिस्टम क्या है?","WEBSITE_CONTACT_US_PH_EMAIL":"आपका ईमेल","WEBSITE_CONTACT_US_PH_MESSAGE":"संदेश","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"भेजना","WEBSITE_CONTACT_US_Q_1":"स्थापित करने के लिए कैसे?","WEBSITE_CONTACT_US_Q_2":"अनइंस्टॉल कैसे करें?","WEBSITE_CONTACT_US_Q_3":"(HTML) Lasagna कैसे बनाया जाए?","WEBSITE_CONTACT_US_Q_4":"ऐड-ऑन","WEBSITE_CONTACT_US_OS_1":"खिड़कियाँ","WEBSITE_CONTACT_US_OS_2":"मैक ओ एस","WEBSITE_CONTACT_US_OS_3":"लिनक्स","WEBSITE_CONTACT_US_OS_4":"एंड्रॉयड","WEBSITE_CONTACT_US_OS_5":"आईओएस","WEBSITE_TECHNOLOGY":"प्रौद्योगिकी","WEBSITE_TECHNOLOGY_P1":"हम प्रौद्योगिकी और पागल विज्ञान से प्यार करते हैं।
    यहां शक्तियां क्या हैं (यह सब ओपन-सोर्स है)।","WEBSITE_TECHNOLOGY_P_QT":"क्रॉस-प्लेटफार्म सॉफ्टवेयर विकास सबसे अच्छा है।","WEBSITE_TECHNOLOGY_P_MPV":"एक मुक्त ओपन सोर्स और क्रॉस-प्लेटफार्म मीडिया प्लेयर।","WEBSITE_TECHNOLOGY_P_RN":"प्रतिक्रिया देशी आपको केवल जावास्क्रिप्ट का उपयोग करके मोबाइल ऐप्स बनाने देता है।","WEBSITE_TECHNOLOGY_P_VLC":"मल्टीमीडिया प्राप्त करने के लिए आवेदन में एम्बेडेड मीडिया फ्रेमवर्क।","WEBSITE_TECHNOLOGY_P_REALM":"दायरे एक मोबाइल मंच और SQLite और कोर डेटा के लिए एक प्रतिस्थापन है।","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js एक ओपन-सोर्स क्रॉस-प्लेटफार्म जावास्क्रिप्ट रनटाइम पर्यावरण है।","WEBSITE_TECHNOLOGY_P_RUST":"जंग एक बहु-प्रतिमान प्रणाली प्रोग्रामिंग भाषा है जो सुरक्षा पर विशेष रूप से सुरक्षित सहमति पर केंद्रित है।","WEBSITE_TECHNOLOGY_CONTRIBUTE":"परियोजना में योगदान","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"STREMIO में दो तरीके हैं और उत्पाद को बेहतर बनाने में हमारी सहायता करें।","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"आप मंच का अनुवाद करके अपने मूल्यवान भाषा कौशल दान कर सकते हैं ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"या","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... आप समुदाय के एडॉन्स बनाने के लिए अपने कोडिंग कौशल को नियोजित कर सकते हैं।","WEBSITE_TRANSLATE_STREMIO":"STREMIO का अनुवाद करें","WEBSITE_404_OH_NO":"उह ओह! जिस पृष्ठ को आप ढूंढ रहे हैं वह यहां नहीं है ...","WEBSITE_GO_HOME":"घर जाओ","WEBSITE_LINK_OTHER_DOWNLOADS":"अन्य डाउनलोड","WEBSITE_FAQ_ABR":"सामान्य प्रश्न","WEBSITE_SUPPORT":"सहायता","WEBSITE_DOWNLOAD_4_0_BETA":"अब Stremio 4 बीटा डाउनलोड करें","WEBSITE_GET_FOR_DESKTOP":"डेस्कटॉप के लिए जाओ","WEBSITE_LINK_ADDON_COMPETITION":"एडन प्रतियोगिता","WEBSITE_LINK_ART_CONTEST":"कला प्रतियोगिता","WEBSITE_MY_ACCOUNT":"मेरा खाता","WEBSITE_MAINPAGE_FAQ_001_H1":"स्ट्रैमियो क्या है?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio एक आधुनिक मीडिया केंद्र है जो आपको जो कुछ भी आप चाहते हैं उसे देखने की स्वतंत्रता देता है।","WEBSITE_MAINPAGE_FAQ_002_H1":"यह कैसे काम करता है?","WEBSITE_MAINPAGE_FAQ_002_P1":"एक बार जब आप अपने डिवाइस पर STREMIO स्थापित कर लेंगे और एक खाता बनाएं जो आपको करना है, वह एडन कैटलॉग पर जाना है और इच्छित किसी भी एडन को स्थापित करना है और आप जाने के लिए अच्छे हैं!","WEBSITE_MAINPAGE_FAQ_002_P2":"इसके बाद आप सामग्री की खोज शुरू करने के लिए खोज या बोर्ड अनुभागों में जा सकते हैं।","WEBSITE_MAINPAGE_FAQ_003_H1":"मैं यहाँ क्या देख सकता हूँ?","WEBSITE_MAINPAGE_FAQ_003_P1":"ए लॉट: मूवीज़ टीवी शो वेब चैनल स्पोर्ट टीवी चैनल पॉडकास्ट और अधिक सुनते हैं। हमारे एडन सिस्टम के लिए धन्यवाद, आप विभिन्न प्रकार की सामग्री तक पहुंच सकते हैं।","WEBSITE_MAINPAGE_FAQ_004_H1":"क्या स्टेमियो ओपन-सोर्स है?","WEBSITE_MAINPAGE_FAQ_004_P1":"हां आप निम्न लिंक देख सकते हैं: $ {1} डेस्कटॉप ऐप $ {2} और $ {3} github संगठन $ {4}।","WEBSITE_MAINPAGE_FAQ_005_H1":"क्या स्ट्रैमियो सुरक्षित है?","WEBSITE_MAINPAGE_FAQ_005_P1":"हां: क्योंकि यह ओपन-सोर्स सॉफ़्टवेयर है कोड पब्लिक रूप से ऑडिटेबल है और आप इसे स्वयं की समीक्षा कर सकते हैं।","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"मेरी गोपनीयता के बारे में कैसे?","WEBSITE_MAINPAGE_FAQ_006_P1":"हम उपयोगकर्ताओं की गोपनीयता का सम्मान करते हैं और आपके खाते को बनाने और सिंक करने के लिए आवश्यक न्यूनतम के अलावा कोई व्यक्तिगत डेटा एकत्र नहीं करते हैं।","WEBSITE_MAINPAGE_FAQ_006_P2":"साइनअप पर $ {1} अतिथि मोड $ {2} भी है जिसके लिए कोई डेटा नहीं चाहिए: इस मोड में हमारे बैकएंड में कोई कॉल नहीं की जाती है। हालांकि यह उपयोगी सुविधाओं की कीमत पर आता है जैसे कि डिवाइस पर अपनी लाइब्रेरी को सिंक करने में सक्षम होना।","WEBSITE_MAINPAGE_FAQ_007_H1":"क्या मैं अपने टीवी को डाला जा सकता हूं?","WEBSITE_MAINPAGE_FAQ_007_P1":"हां हम क्रोमकास्ट का समर्थन करते हैं और आप डेस्कटॉप और मोबाइल ऐप्स (एंड्रॉइड) दोनों से डाले जा सकते हैं।","WEBSITE_MAINPAGE_FAQ_008_H1":"स्ट्रैमियो में कितने एडॉन्स हैं?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 से अधिक के अंत तक - अधिक जानकारी के लिए हमारे एडन कैटलॉग की जांच करें।","WEBSITE_MAINPAGE_FAQ_009_H1":"Addon कैटलॉग में क्या है परे stremio विस्तारित किया जा सकता है?","WEBSITE_MAINPAGE_FAQ_009_P1":"हां आपको उन लोगों की जांच करनी चाहिए: $ {1} pimpmystremio $ {2} $ {3} Reddit समुदाय $ {4} $ {5} STREMIO डाउनलोडर $ {6} आदि","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio किस डिवाइस का समर्थन करता है?","WEBSITE_MAINPAGE_FAQ_010_P1":"हमारे पास विंडोज मैक और लिनक्स के लिए डेस्कटॉप ऐप्स हैं। मोबाइल के लिए हम एंड्रॉइड और आईओएस का समर्थन करते हैं हालांकि ध्यान रखें कि आईओएस कार्यक्षमता में सीमित है (अधिकांश एडॉन्स का समर्थन नहीं करता है)।","WEBSITE_MAINPAGE_FAQ_010_P2":"ऐसे कई एंड्रॉइड-आधारित डिवाइस हैं जिन्हें आप एनवीआईडीआईए शील्ड और अमेज़ॅन फायर स्टिक की तरह स्ट्रैमियो चला सकते हैं लेकिन हम आधिकारिक तौर पर उनका समर्थन नहीं करते हैं।","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"क्या आप STREMIO में कुछ सामग्री जोड़ सकते हैं?","WEBSITE_MAINPAGE_FAQ_011_P1":"क्षमा करें, हम खुद को कोई सामग्री प्रदान नहीं करते हैं लेकिन अधिक स्ट्रैमियो एडॉन्स आपने अधिक सामग्री स्थापित की है जिसे आप ढूंढ पाएंगे।","WEBSITE_MAINPAGE_FAQ_012_H1":"क्या स्ट्रैमियो चुंबक लिंक चला सकते हैं?","WEBSITE_MAINPAGE_FAQ_012_P1":"हां और यह सामान्य HTTP लिंक और टोरेंट फ़ाइलों (ड्रैग और ड्रॉप) भी चला सकता है।","WEBSITE_MAINPAGE_FAQ_013_H1":"क्या मैं एक वीडियो डाउनलोड कर सकता हूं और ऑफ़लाइन देख सकता हूं?","WEBSITE_MAINPAGE_FAQ_013_P1":"उपलब्ध ऑफ़लाइन एक आगामी सुविधा है लेकिन यदि आप अपने डिवाइस (सेटिंग्स पैनल से) को कैश करने की अनुमति देते हैं तो आप बिना किसी कनेक्शन के वीडियो देख सकते हैं।","WEBSITE_MAINPAGE_FAQ_014_H1":"कुछ भी नहीं काम करता है मेरी मदद करो!","WEBSITE_MAINPAGE_FAQ_014_P1":"क्या आप वाकई स्थापित किए गए हैं? यदि हां हमारे $ {1} सहायता केंद्र $ {2} से जांचें।","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio यह विकास संचालन को कैसे बनाए रखता है?","WEBSITE_MAINPAGE_FAQ_015_P1":"हम कभी-कभी गैर-दखल देने वाले विज्ञापन चलाते हैं, लेकिन हम दान मॉडल पर जाने पर विचार कर रहे हैं।","WEBSITE_MAINPAGE_FAQ_015_P2":"अधिक प्रश्नों के लिए हमारे $ {1} सहायता केंद्र $ {2} पर जाएं।","HELP_LEARN_MORE":"हमारे बारे में अधिक जानने में हमारी सहायता करें।","LIFESTYLE":"बॉलीवुड","SPORTS":"खेल","FOOD_HEALTH":"भोजन और स्वास्थ्य","BEAUTY_FASHION":"सौंदर्य और फैशन","NEWS":"समाचार","GAMING":"जुआ","SCIENCE_EDUCATION":"विज्ञान की पढ़ाई","MUSIC":"संगीत","TRAVEL":"यात्रा","LATE_NIGHT":"देर रात","REALITY":"वास्तविकता","COMEDY":"कॉमेडी","DIY":"DIY कैसे करें","TECH":"तकनीक","CINEMA":"सिनेमा","CONTINUE":"जारी रखें","SLOW_LOADING":"धीमी लोडिंग?","I_GIVE_UP":"मैं हार मानता हूं","LEARN_MORE":"और अधिक जानें","POOR_SOURCE":"यह स्रोत खराब उपलब्ध है या आपका इंटरनेट कनेक्शन पर्याप्त तेज़ नहीं है","PICK_CATEGORIES_ERR":"आपको कम से कम 3 श्रेणियां चुननी होंगी","ADJUST_TIMING":"के साथ समय समायोजित करें","ADJUST_SIZE":"के साथ आकार समायोजित करें","SEARCH_ANYTHING":"आप कुछ भी खोज सकते हैं ...","ALL_CATEGORIES":"सभी","SEARCH_CATEGORIES":"सिनेमा श्रृंखला यूट्यूब और टीवी","SEARCH_PERSONS":"अभिनेता निदेशकों और लेखकों","SEARCH_PROTOCOLS":"HTTP और चुंबक लिंक","SEARCH_TYPES":"आईएमडीबी / टीवीडीबी लिंक","WATCHED":"देखे","SHOW_LESS":"कम दिखाएं","LAST_SEARCHES":"अंतिम खोज","CLEAR_HISTORY":"इतिहास मिटा दें","CHOOSE_SOME":"इनमें से कुछ चुनें:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"वेब रिमोट लोड नहीं किया जा सका","STREMIO_OFFLINE":"Stremio ऑफ़लाइन है","STREMIO_EXPENSIVE_CONNECTION":"हमने पाया है कि आप मोबाइल डेटा कनेक्शन का उपयोग कर रहे हैं क्या आप जारी रखना चाहते हैं?","USE_DATA":"डेटा का उपयोग करें","WARNING":"चेतावनी","MORE_INFO":"और जानकारी ...","STREMIO_TV_STREMIO":"स्ट्रमियो","STREMIO_TV_LOADING":"लोड हो रहा है ...","STREMIO_TV_BACK_TO_LANGUAGES":"वापस भाषाओं में","STREMIO_TV_REMOTE":"दूरस्थ","STREMIO_TV_GO_TO":"के लिए जाओ:","STREMIO_TV_OR_SCAN":"या स्कैन:","STREMIO_TV_ADDON_INSTRUCTIONS":"कृपया अपने पसंदीदा एडॉन्स को स्थापित करने के लिए निर्देशों का पालन करें।","STREMIO_TV_LIVE_TV":"लाइव टीवी","STREMIO_TV_RESUME_WATCHING":"फिर से देखना","STREMIO_TV_LOADING_BACKGROUND":"लोड हो रहा है पृष्ठभूमि","STREMIO_TV_CHECKING_AUTHENTICATION":"प्रमाणीकरण की जाँच","STREMIO_TV_LOADING_BOARD":"लोड हो रहा हुकुम","STREMIO_TV_LOGIN_HEADER_LINE_1":"हम चाहते हैं कि हमारे उपयोगकर्ताओं को हमारे सॉफ़्टवेयर के साथ सर्वोत्तम संभव व्यक्तिगत अनुभव हो।","STREMIO_TV_LOGIN_HEADER_LINE_2":"यही कारण है कि हम आपको अपने खाते में बनाने और / या लॉगिन करने के लिए कहेंगे।","STREMIO_TV_LOGIN_FOOTER_LINE_1":"समझने के लिए धन्यवाद","STREMIO_TV_LOGIN_FOOTER_LINE_2":"STREMIO टीम","STREMIO_TV_REMOTE_INSTRUCTIONS":"अपने स्मार्टफोन / टैबलेट / डेस्कटॉप के साथ वेब रिमोट का उपयोग करने के लिए:","STREMIO_TV_WIFI_SETUP":"वाई-फाई सेटअप","STREMIO_TV_WIFI_HEADER_LINE_1":"स्ट्रमियो सर्कल ने इंटरनेट कनेक्शन का पता नहीं लगाया।","STREMIO_TV_WIFI_DETAILS_1":"जुड़े:","STREMIO_TV_WIFI_DETAILS_2":"स्ट्रमियो-सर्कल","STREMIO_TV_WIFI_DETAILS_3":"पासवर्ड का प्रयोग करें:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"लिंक के साथ एक वेब ब्राउज़र खोलें:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"खोज","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"चैनल","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"समायोजन","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"खाते लिंक करें","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"खोज","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"साफ़","STREMIO_TV_SEARCH_HISTORY_TITLE":"खोज इतिहास","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"खोज इतिहास साफ़ करे","STREMIO_TV_FILTERS_DESCRIPTION":"नीचे दिए गए किसी एक फ़िल्टर में से चुनें","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"फिल्टर","SETTINGS":"समायोजन","ACCOUNT":"खाता","LOGOUT":"लॉग आउट","THEMES":"Themes","PLAYBACK":"प्लेबैक","PLAYBACK_SPEED":"प्लेबैक स्पीड","AUDIO_TRACKS":"ऑडियो ट्रैक","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"वीडियो","SERVER":"सर्वर","LINKS":"Links","ABOUT":"के बारे में","INTERFACE":"इंटरफेस","ANIMATIONS":"एनिमेशन","STATUS":"Status","LANGUAGE":"भाषा","SIZE":"आकार","DELAY":"देरी","BOLD":"बोल्ड","OPACITY":"Opacity","TEXT_COLOR":"लिखावट का रंग","OUTLINE_COLOR":"रूपरेखा रंग","BACKGROUND_COLOR":"पीछे का रंग","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"समय अवधी देखे","AUTO_PLAY":"अगला एपिसोड अपने आप चालू करे","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"देखे गए के रूप में चिह्नित करें","MARK_AS_UNWATCHED":"अनदेखे के रूप में चिह्नित करें","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"देखणा चालू रखे","ALL":"सारे","SECONDS":"सेकंद्स","ON":"चालू","OFF":"बंद","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"स्विच डिवाइस","REMOTE_VIDEOS":"वीडियो","REMOTE_ADJUST_TIMING":"समय समायोजित करें","REMOTE_ADJUST_SIZE":"आकार समायोजित करें","REMOTE_COULD_NOT_BE_LOADED":"वेब रिमोट लोड नहीं किया जा सका","REMOTE_RETRY":"पुन: प्रयास करें","TORRENT_PROFILE_DEFAULT":"डिफ़ॉल्ट","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"स्ट्रैमियो क्या है?","FAQ_001_P1":"Stremio एक मीडिया सेंटर सॉफ्टवेयर है जो वीडियो मनोरंजन के लिए दिमाग में उपयोग के साथ डिज़ाइन किया गया है। STREMIO आपको व्यवस्थित करने की अनुमति देता है & amp; फिल्म श्रृंखला चैनल और लाइव टीवी का अपना संग्रह देखें।","FAQ_001_P2":"Stremio सामग्री को एकत्रित करें जो आपको अपनी स्थानीय डिस्क और हमारे एडॉन्स सिस्टम से दिखाता है।","FAQ_001_P3":"यह आपको यह भी सूचित करेगा कि नए एपिसोड / वीडियो / फिल्में जो आप में रुचि रखते हैं और आपके लिए मूवी सिफारिशें प्रदान करते हैं।","FAQ_02_H1":"STREMIO KODI और PLEX की तुलना कैसे करता है?","FAQ_02_P1":"हम सॉफ्टवेयर के उन दो टुकड़ों से प्रेरित हैं। लेकिन हमारे पास अलग-अलग लक्ष्य हैं - स्ट्रैमियो विशेष रूप से मनोरंजन वीडियो की ओर लक्षित है और इसका उपयोग करने में आसान होने के लिए मुख्यधारा के समाधान बनने का प्रयास करता है।","FAQ_02_P2":"स्ट्रैमियो कभी भी अनुकूलन योग्य और कोडी और प्लेक्स के रूप में समृद्ध नहीं होगा, लेकिन इसका उपयोग करना काफी आसान है। बस $ {1} इसे प्राप्त करें और $ {2} देखें :)","FAQ_03_H1":"Stremio नेटफ्लिक्स की तुलना कैसे करता है?","FAQ_03_P1":"फिर से नेटफ्लिक्स हमारी प्रेरणाओं में से एक है। हम नेटफ्लिक्स के उपयोगकर्ता अनुभव को बहुत से अतिरिक्त उपहारों को प्राप्त करने का प्रयास करते हैं। लेकिन सबसे महत्वपूर्ण बात यह है कि हम आपको अपनी लाइब्रेरी प्रबंधित करने और हमारे एडन सिस्टम के साथ नए सामग्री स्रोत जोड़ने की स्वतंत्रता दे रहे हैं।","FAQ_03_P2":"इससे स्ट्रैमियो असीमित रूप से विस्तार योग्य बनाता है, इसलिए जब आप स्ट्रैमियो का उपयोग करते हैं तो आप कभी भी सामग्री से सीमित नहीं होते हैं नेटफ्लिक्स लाइसेंस का फैसला करता है। उदाहरण के लिए स्ट्रैमियो के माध्यम से आप $ {1} filmon.tv $ {2} $ {3} twitch.tv $ {4} $ {5} youtube $ {6} $ {7} वोडो $ {8} और से सामग्री देख सकते हैं यहां तक ​​कि $ {9} netflix $ {10} ही!","FAQ_04_H1":"स्ट्रैमियो फ्लिपबोर्ड की तुलना कैसे करता है?","FAQ_04_P1":"हमें वह सवाल नहीं मिलता है जो अक्सर लोगों को स्टार्ट-अप करने के लिए छोड़कर को छोड़कर :)","FAQ_04_P2":"Stremio एक सामग्री एग्रीगेटर डिजाइन द्वारा है जो अनिवार्य रूप से इसे वीडियो के लिए फ्लिपबोर्ड बनाता है। यह हमारे बोर्ड सेक्शन में बहुत स्पष्ट है जो आपको फ्लिपबोर्ड की तरह अनुसरण करने के लिए कैटलॉग और नया एपिसोड / नई वीडियो अधिसूचना देता है।","FAQ_05_H1":"Stremio पॉपकॉर्न समय की तुलना कैसे करता है?","FAQ_05_P1":"Stremio और पॉपकॉर्न समय उपयोगकर्ता इंटरफ़ेस में समान हैं क्योंकि वीडियो मनोरंजन कैटलॉग सही करने के कई तरीके नहीं हैं :)","FAQ_05_P2":"लेकिन पॉपकॉर्न टाइम विशिष्ट स्रोतों से टॉरेंट स्ट्रीमिंग पर केंद्रित है Stremio अप्रतिबंधित है और केवल एक सामग्री एग्रीगेटर है - यह एक विशिष्ट सामग्री स्रोत में बंद नहीं है।","FAQ_05_P3":"इसके अलावा हम डिफ़ॉल्ट रूप से किसी भी टोरेंट एडॉन्स प्रदान नहीं करते हैं, इसलिए स्ट्रैमियो को आधिकारिक कार्यक्षमता के साथ पॉपकॉर्न टाइम उपयोग-केस को कवर नहीं किया जाता है।","FAQ_05_P4":"एक और उल्लेखनीय अंतर यह है कि पॉपकॉर्न टाइम पूरी तरह से खुला स्रोत है जबकि Stremio $ {1} आंशिक रूप से ओपन सोर्स $ {2} है।","FAQ_06_H1":"क्या आप इस फिल्म / श्रृंखला को जोड़ देंगे?","FAQ_06_P1":"कोई खेद नहीं :(","FAQ_06_P2":"जैसा कि अन्य प्रश्नों में उल्लेख किया गया है Stremio स्वयं से कोई सामग्री प्रदान नहीं करता है - सब कुछ एडॉन्स सिस्टम के माध्यम से जोड़ा जाता है। यदि आपके पास कोई सामग्री अनुरोध है तो आप उस खिलाड़ी में रिपोर्ट बटन का उपयोग कर सकते हैं जो वर्तमान में आपके द्वारा उपयोग किए जा रहे एडन के लेखक को एक ईमेल भेज देगा।","FAQ_07_H1":" ","FAQ_07_P1":" ","FAQ_07_P2":" ","FAQ_08_H1":"क्या आप एक्स के लिए एडन बनाएंगे?","FAQ_08_P1":"यह पूरी तरह से संभव है।","FAQ_08_P2":"यदि आपके पास Addon के लिए एक विचार है तो हमें $ {1} office@stremio.com पर एक लाइन छोड़ें, लेकिन कृपया सुनिश्चित करें कि आपका एडन विचार किसी भी कॉपीराइट या उपयोग की शर्तों का उल्लंघन नहीं करेगा।","FAQ_08_P3":"फिलहाल हमारे रोडमैप पर अगली चीजें मांग और क्रंचरोल पर fandangonow filmon.tv वीडियो के लिए Addons हैं।","FAQ_09_H1":"क्या Stremio बिटटोरेंट का उपयोग करता है?","FAQ_09_P1":"हां स्ट्रैमियो एक स्ट्रीमिंग प्रोटोकॉल के रूप में बिटटोरेंट का समर्थन करता है। आप या तो एक टोरेंट एडन के साथ या ड्रैग-एंड-ड्रॉप करके एक .torrent फ़ाइल को स्ट्रैमियो में या एक चुंबक लिंक को खोज बार में चिपकाने के साथ कर सकते हैं।","FAQ_09_P2":"कृपया ध्यान दें कि बिटटोरेंट का उपयोग कर एकमात्र आधिकारिक एडन $ {1} वोडो $ {2} है जो इंडी सामग्री प्रदान करता है सभी को बिटटोरेंट के साथ वितरित करने की अनुमति है।","FAQ_09_P3":"हम किसी तीसरे पक्ष के एडॉन्स के उपयोग का समर्थन नहीं करते हैं जो कॉपीराइट उल्लंघन को सक्षम कर सकता है।","FAQ_10_H1":"आधिकारिक एडॉन्स के साथ स्ट्रैमियो में मैं क्या देख सकता हूं?","FAQ_10_P1":"डिफ़ॉल्ट रूप से आप अपने एम्बेडेड प्लेयर के साथ स्ट्रैमियो के भीतर फिल्मऑन.टीवी यूट्यूब और वोडो सामग्री देख सकते हैं। इसके अतिरिक्त हमारे पास twitch.tv और कुछ अन्य लोगों के लिए एक एडन है।","FAQ_10_P2":"यह संयुक्त का चयन प्रदान करता है:","FAQ_10_L1":"Filmon.tv द्वारा प्रदान किए गए लोकप्रिय टीवी चैनल - उदाहरण के लिए ई 4 बीबीसी बॉलीवर्ल्ड टीवी","FAQ_10_L2":"यूट्यूब से सब कुछ - उदाहरण के लिए बीबीसी समाचार शीर्ष गियर vevo pewdiepie","FAQ_10_L3":"वोडो के साथ इंडी फिल्में","FAQ_10_L4":"Twitch.tv के साथ ऑनलाइन गेमिंग प्रसारण","FAQ_10_P3":"इसके अतिरिक्त गाइडबॉक्स और नेटफ्लिक्स एडॉन्स के साथ प्रदान किए गए कई सामग्री स्रोत हैं जो नहीं करते हैं पूरी तरह से स्ट्रैमियो के अंदर खेलते हैं लेकिन दी गई सेवा में रीडायरेक्ट करेंगे। उदाहरण के लिए गाइडबॉक्स एडन आपको उन फिल्मों का चयन करेगा जो आप अमेरिका में Tubitv और क्रैकल जैसी सेवाओं से मुक्त करने के लिए स्ट्रीम कर सकते हैं।","FAQ_11_H1":"Stremio स्थापित नहीं होगा कि मुझे क्या करना चाहिए?","FAQ_11_P1":"यदि आप विंडोज़ पर $ {1} इस वैकल्पिक इंस्टॉलर $ {2} का प्रयास करें।","FAQ_11_P2":"यदि आप मैक ओएस एक्स पर हैं तो कृपया ध्यान रखें कि हम ओएस एक्स मैवरिक्स (10.9) से पुराने कुछ भी समर्थन नहीं करते हैं।","FAQ_11_P3":"यदि आप लिनक्स पर हैं तो ध्यान रखें कि हम इस समय केवल 64 बिट (x64) लिनक्स का समर्थन करते हैं।","FAQ_11_P4":"यदि आप अभी भी अपनी समस्या का समाधान नहीं कर सकते हैं तो कृपया हमें $ {1} फेसबुक ग्रुप $ {2} पर लिखें।","FAQ_12_H1":"मेरा एंटी-वायरस क्यों शिकायत करता है? क्या स्ट्रैमियो सुरक्षित है?","FAQ_12_P1":"हम आपको आश्वस्त करते हैं कि STREMIO $ {1} 100% क्लीन $ {2} है।","FAQ_12_P2":"आपका एंटीवायरस शिकायत कर रहा है क्योंकि हम अपने इंस्टॉलर में विज्ञापन शामिल करते हैं जो कुछ एंटी-वायरस प्रोग्राम विज्ञापन-बर्तन के रूप में पहचानते हैं।","FAQ_12_P3":"यदि आप अभी भी अनिश्चित हैं तो आप हमारे $ {1} वैकल्पिक इंस्टॉलर $ {2} को आजमा सकते हैं।","FAQ_13_H1":"मैं एडन कैसे बना सकता हूं?","FAQ_13_P1":"शुरुआत करने वालों के लिए हम आपको गिटहब पर $ {1} एडॉन्स सिस्टम मॉड्यूल $ {2} की जांच करते हैं।","FAQ_13_P2":"बाद में आप $ {1} हैलो वर्ल्ड ट्यूटोरियल $ {2} का अनुसरण कर सकते हैं।","FAQ_13_P3":"यदि आपके पास कोई प्रोग्रामिंग कौशल नहीं है तो कृपया $ {1} reddit समुदाय $ {2} पर अपना विचार पोस्ट करें और $ {3}office@stremio.com $ {4} पर अपने एडन आइडिया के साथ हमसे संपर्क करें।","FAQ_14_H1":"एडॉन्स कैसे प्रकाशित होते हैं?","FAQ_14_P1":"जब आप एक एडन और होस्ट बनाते हैं और अपने मैनिफेस्ट में एंडपॉइंट फ़ील्ड बनाते हैं जो एक काम करने वाले एडन पते को इंगित करता है, एडन स्वचालित रूप से खुद को $ {1} एडन कैटलॉग $ {2} में प्रकाशित करेगा।","FAQ_14_P2":"ऐसा इसलिए होता है क्योंकि स्ट्रैमियो-एडॉन्स मॉड्यूल का सर्वर हिस्सा स्वचालित रूप से एडन की घोषणा करने के लिए हमारे एपीआई को कॉल करता है। जब हमारा एपीआई आपके एंडपॉइंट को मान्य एडन के रूप में मान्य करता है तो यह कैटलॉग में दिखाना शुरू कर देगा।","FAQ_15_H1":"क्या मैं अपने ब्राउज़र में STREMIO चला सकता हूं?","FAQ_15_P1":"फिलहाल नहीं, लेकिन यह आ रहा है!","FAQ_15_P2":"यदि आप एक अल्फा देखने के लिए उत्सुक हैं तो आप इसे यहां देख सकते हैं: $ {1} alpha4.strem.io $ {2}। ध्यान रखें कि इस अल्फा पर स्ट्रीमिंग अक्षम है। हम क्रोम फ़ायरफ़ॉक्स ओपेरा और एज का समर्थन करते हैं।","FAQ_16_H1":"टीवी के लिए कास्टिंग काम / उपशीर्षक काम नहीं करता है","FAQ_16_P1":"टीवी में कास्टिंग डीएलएनए तकनीक का उपयोग करता है जो विभिन्न टीवी ब्रांडों और मॉडलों के बीच बहुत असंगत है। इसी कारण से हमारे पास हर मामले में इसका परीक्षण करने की क्षमता नहीं है, इसलिए यह सही से दूर है। इसके बावजूद हम इसे लगातार सुधारने पर काम कर रहे हैं लेकिन हम आपको एक समय का अनुमान नहीं दे सकते हैं जब डीएलएनए आपके टीवी के साथ ठीक से काम करना शुरू कर देगा।","FAQ_16_P2":"यदि आप कास्टिंग मेनू में अपना टीवी भी नहीं देखते हैं तो कृपया अपने नेटवर्क कनेक्शन को अक्षम करने और इसे फिर से सक्षम करने का प्रयास करें (विंडोज़ राइट पर नेटवर्क पर क्लिक करें और सक्षम / अक्षम करें) के साथ ही अपने राउटर टीवी और पीसी को पुनरारंभ करें।","FAQ_16_P3":"यदि आप अभी भी मुद्दों का सामना कर रहे हैं तो आप अपने टीवी ब्रांड और मॉडल जानकारी को ${1}office@stremio.com $ {2} पर भेजकर हमारी सहायता कर सकते हैं।","FAQ_16_P4":"इस बीच हम क्रोमकास्ट की सलाह देते हैं कि हम एक अच्छी तरह से समर्थन करते हैं या बस अपने टीवी में अपने पीसी में एक एचडीएमआई केबल के साथ प्लगिंग करते हैं।","FAQ_17_H1":"Stremio फ्रीज और / या दुर्घटनाओं मैं क्या कर सकता हूँ?","FAQ_17_P1":"सबसे पहले यदि आप एवीजी एंटी-वायरस के साथ विंडोज 7 का उपयोग कर रहे हैं: हमें उस संयोजन के साथ एक समस्या है। समस्या एवीजी में ही है और हमारे अंत में इसे हल करने का कोई उचित तरीका नहीं है। दुर्भाग्य से एंटी-वायरस को अपवाद या अक्षम करना काम नहीं करेगा। एकमात्र समाधान एवीजी को किसी और चीज के साथ बदलने के लिए है।","FAQ_17_P2":"यदि यह समस्या नहीं है लेकिन आप अभी भी विंडोज़ का उपयोग कर रहे हैं तो कृपया नवीनतम सर्विस पैक में अपडेट करें और अपने जीपीयू ड्राइवरों को अपडेट / इंस्टॉल करें फिर पुन: प्रयास करें।","FAQ_17_P3":"यदि आप समस्या को हल नहीं कर रहे हैं या आप मैक या लिनक्स का उपयोग कर रहे हैं तो कृपया हमें $ {1} हमारे फेसबुक ग्रुप $ {2} पर समस्या के सटीक विवरण की रिपोर्टिंग करें।","FAQ_18_H1":"मैं एडन कैसे बना सकता हूं?","FAQ_18_P1":"शुरुआत करने वालों के लिए हम आपको गिटहब पर $ {1} एडॉन्स सिस्टम मॉड्यूल $ {2} की जांच करते हैं।","FAQ_18_P2":"बाद में आप $ {1} हैलो वर्ल्ड ट्यूटोरियल $ {2} का अनुसरण कर सकते हैं।","FAQ_18_P3":"यदि आपके पास कोई प्रोग्रामिंग कौशल नहीं है तो कृपया $ {1} reddit समुदाय $ {2} पर अपना विचार पोस्ट करें और $ {3}office@stremio.com $ {4} पर अपने एडन आइडिया के साथ हमसे संपर्क करें।","FAQ_19_H1":"STREMIO डिस्क स्थान क्यों ले रहा है?","FAQ_19_P1":"स्ट्रीमियो में अस्थायी रूप से स्ट्रीम करने वाली वीडियो फ़ाइलों को रखने के लिए स्थानीय कैश है।","FAQ_19_P2":"इसमें दो लाभ हैं: सबसे पहले यह STREMIO को आगे के वीडियो को पूर्व-बफर करने की अनुमति देता है ताकि चिकनी स्ट्रीमिंग सुनिश्चित हो सके। दूसरा यह वीडियो को स्थानीय कैश में रखता है ताकि आप उन्हें ऑफ़लाइन देखना जारी रख सकें।","FAQ_19_P3":"सेटिंग पैनल में कैश सेटिंग पर कितना स्ट्रैमियो निर्भर करता है। स्ट्रैमियो आपकी डिस्क पर सेट राशि (उदा। 2 जीबी) तक रख सकता है जब तक कि वर्तमान में स्ट्रीम किए गए वीडियो उस मामले से बड़े न हों, जिस स्थिति में इसे तब तक रखने के लिए पर्याप्त भंडारण आवंटित करना होगा जब तक कि आप इसे स्ट्रीम कर रहे हों।","FAQ_20_H1":"कैश फ़ोल्डर कहां है?","FAQ_20_P1":"विंडोज़ पर यह सेटिंग्स में चुने गए ड्राइव में स्ट्रैमियो-कैश है (उदा। E: stremio-cache)","FAQ_20_P2":"मैकोज़ पर यह ~ / पुस्तकालय / आवेदन समर्थन / stremio / stremio-cache","FAQ_20_P3":"लिनक्स पर यह ~ / .stremio / stremio-cache या ~ / stremio-cache","FAQ_21_H1":"मुझे मिलता है स्ट्रीमिंग सर्वर त्रुटि नहीं मिली है मैं क्या कर सकता हूं?","FAQ_21_P1":"यदि आपको यह त्रुटि मिलती है तो इसका मतलब कुछ चीजों में से एक है:","FAQ_21_P2":"1) आप हमारे $ {1} वेब संस्करण $ {2} के माध्यम से यूट्यूब / बिटटोरेंट स्रोत द्वारा समर्थित एडन का उपयोग करने की कोशिश कर रहे हैं। इस मामले में आपको हमारे डेस्कटॉप संस्करण को $ {3} हमारी वेबसाइट $ {4} से इंस्टॉल करना चाहिए।","FAQ_21_P3":"2) आपके STREMIO स्थापना के साथ कुछ गलत है। इस मामले में $ {1} वेबसाइट $ {2} से हमारे नवीनतम डेस्कटॉप संस्करण को पुनः स्थापित करने का प्रयास करें। यदि यह आपके पीसी को पुनरारंभ करने और फिर से कोशिश करने वाले एंटी-वायरस प्रोग्राम और फ़ायरवॉल को अक्षम करने का प्रयास करने में मदद नहीं करता है। यदि यह काम नहीं करता है तो कृपया हमें हमारे $ {3} हमारे फेसबुक समूह $ {4} पर लिखें।","FAQ_22_H1":"मैं आईओएस पर अधिकांश एडॉन्स को नहीं देख सकता / उपयोग नहीं कर सकता","FAQ_22_P1":"ऐप्पल ऐप स्टोर के नियमों और शर्तों में प्रतिबंधों के कारण हमने केवल आईओएस आवेदन को केवल एडॉन्स के एक विशेष सेट पर प्रतिबंधित कर दिया है।","FAQ_22_P2":"लेकिन बाकी आश्वासन दिया गया है - भविष्य में आईओएस के लिए और अधिक एडॉन्स होंगे और हम एक एकीकरण भी जोड़ सकते हैं जो आपको आईओएस ऐप को स्ट्रैमियो स्ट्रीमिंग सर्वर से जोड़ने के लिए सभी स्ट्रैमियो एडॉन्स का उपयोग करने की अनुमति देगा।"}')},51917:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filmovi","TYPE_series":"Serije","TYPE_tv":"TV","TYPE_channel":"Kanal","TYPE_other":"Ostalo","TYPE_movie_PL":"Filmovi","TYPE_series_PL":"Serije","TYPE_tv_PL":"TV","TYPE_channel_PL":"Kanal","TYPE_other_PL":"Ostalo","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Povratak","MORE":"Više","DONE":"Završeno","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Otkrij","Board":"Početna","Library":"Videoteka","My Library":"Moja videoteka","Calendar":"Kalendar","NOTIFICATION_ONLINE":"Sada ste povezani","NOTIFICATION_OFFLINE":"Niste povezani","INTERNET_CONNECTION":"Greška povezivanja","STORAGE_FULL_TITLE":"Upozorenje: memorija je popunjena!","STORAGE_FULL_TEXT":"Vaše postavke, preferencije ili podaci za prijavu neće biti spremljeni. Ponovno pokrenite ili ponovno instalirajte Stremio.","SEARCH":"Tražilica...","SEARCH_NO_RESULTS":"Nema pronađenih rezltata","SEARCH_EXPLANATION_CONTENT":"Pretraži filmove, serije, YouTube i TV kanale","SEARCH_EXPLANATION_PEOPLE":"Pretraži glumce, redatelje i producente","SEARCH_PASTE_LINKS":"Kopiraj poveznice","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Dodaj u videoteku","REMOVE_FROM_LIB":"Ukloni iz videoteke","ADDED_TO_LIB":"Dodano u videoteku","REMOVED_FROM_LIB":"Uklonjeno iz videoteke","TRAILER":"Najava","WATCH_TRAILER":"Pogledaj najavu","WATCH_NOW":"Pokreni gledanje","SHOW":"Prikaži","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Gledaj nasumično","IMDB_RATING":"IMDb Ocjena","YEAR":"Godina","DIRECTOR":"Redatelj","WRITER":"Producent","LEAD_ACTORS":"Glavni glumci","CAST":"Uloge","CREW":"Ekipa","SHOW_MORE_CAST":"Prikaži više »","AIRED":"Emitirano","SEASONS":"Sezone","GENRE":"Žanr","GENRE_ALL":"All genres","CATALOG":"Katalog","SUMMARY":"Sažetak","SHOW_MORE":"Prikaži još","SIMILAR":"Slično","UPCOMING":"Nadolazeće","TBA":"TBA","ENDED":"Završeno","DURATION":"Trajanje","FEATURED":"Istaknuto","METADATA":"Metadata","CATEGORY":"kategorija","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"pretraži videe","SEARCH_PLACEHOLDER":"traži sadržaj ili upiši magnet linkove","ADDON":"dodatak","ADDONS":"Dodaci","OFFICIAL":"službeni","ADDONS_OFFICIAL":"Službeni Stremio Dodaci","ADDONS_POPULAR":"Popularno na vašem području","ADDON_FREE":"besplatni dodaci","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"pretplata","ADDON_STREAM_GEORESTRICTED":"nije dostupno na vašem području","ADDON_STREAM_OFFLINECACHE":"Cache nije povezan","ADDON_STREAM_LOCALFILE":"Lokalni dokument","SHARE_ADDON":"Dijeli Dodatak","AVAILABLE_STREAMS":"Dostupni prijenosi","NO_STREAM":"Nema dostupnih prijenosa","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"Za više prijenosa instalirajte još Dodataka","STREAM_NOT_SUPPORTED":"Odabrani prijenos nije podržan.","ADDON_CATALOGUE":"Prikaži sve dodatke »","ADDON_CATALOGUE_MORE":"Više dodataka »","REPO_ADDED":"Repozitorij je dodan","ADDON_REPO_EXIST_ERR":"Ovaj dodatak je već dodan","ADDON_REPO_ERR":"Greška prilikom dodavanja repozitorija","ADDON_ADD_ERR":"Greška prilikom dodavanja dodatka","ERR_ADDON_PROTECTED":"Dodatak je zaštićen","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Nešto je pošlo po krivu - autentifikacija možda nije uspjela","ERR_NOT_COLLECTION_URL":"Nije url kolekcije","ERR_NOT_ADDON_URL":"Nije url dodatka","ERR_DETECTFROMURL":"Nemoguće otkriti podatke iz url-a","ADDON_DUPLICATE_WARNING":"Upozorenje: duplicirani dodatak","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Dodavanje dodatka nije uspjelo","REFRESH_ON_CLICK":"Pritisni za ponovno učitavanje","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film je i dalje u kinu","WATCH_IN_CINEMA":"Pogledaj ga u kinu","IN_THEATER":"U kinu","GET_TICKETS":"Nabavi karte","UPCOMING_EPISODE":"Nadolazeća epizoda","UPCOMING_EPISODE_MESSAGE":"Ova epizoda emitirati će se:","MISSING_DATE_EPISODE":"Nedostaje nadnevak epizode","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"Ovaj kanal još nije spremljen.
    Molimo vas pokušajte za nekoliko minuta.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Dodajte u svoju videoteku da budete obešteni kada bude dostupno.","GET_NOTIFIED_WHEN_AVAILABLE":"Biti ćete obavješteni kada bude dostupno.","WARNING_STREAMING_SERVER":"Upozorenje: lokalni server za prijenos nije pronađen. Prijenos sa YouTube-a i BitTorrent-a neće biti dostupan.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Upozorenje: ovaj video možda ne podržava vaš hardver. Imajte na umu da reprodukcija može biti spora.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Ups, greška playera","PLAYER_ERROR_LOOKSLIKE":"Izgleda kao","PLAYER_ORIENTATION":"Orijentacija playera","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Fiksno","PLAYER_ORIENTATION_SENSOR_SHORT":"Senzor","PLAYER_ORIENTATION_LANDSCAPE":"Orijentacija playera fiksirana je vodoravno","PLAYER_ORIENTATION_SENSOR":"Orijentacija playera je automatska (senzor)","PLAYER_PLAYBACK_SPEED":"Brzina prikazivanja","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Uživo","PLAYER_NEXT_VIDEO_TITLE":"U sljedećem nastavku","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Odbaci","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Gledaj odmah","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"pokretanje iz","CASTING_TO":"Prikazivanje na","NETWORK_STATUS":"Mrežni status","STREAM_SPEED":"Brzina prikazivanja:","STREAM_BUFFERED":"Učitano:","PEERS_INFO":"Peer Informacije","PEERS_ACTIVE":"Aktivno:","PEERS_CONNECTED":"Spojeno:","PEERS_WAITING":"Na čekanju:","TRANSCODING_WARNING":"Upozorenje: pretvaranje videa.","STREAM_LOADING":"učitavanje...","PLAYING_LOCAL":"pokretanje iz lokalne datoteke","PLAYING_CACHE":"pokretanje iz privremenog skladišta","WRONG_SUBS":"Pogrešan prijevod?","ERR_SUBS_LOADING_TITLE":"Greška pri učitavanju podnapisa","ERR_SUBS_LOADING":"Greška pri učitavanju podnapisa: može biti do dodatka kojeg koristite, ili do internet povezanosti","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Sljedeći dodaci za podnapise ne rade","ERR_CASTING_UPDATE_TITLE":"Nemoguće ažurirati info o djeljenje ekrana: server možda nije spojen","CHOOSE_DEVICE":"Izaberi uređaj za gledanje","NO_CAST_DEVICES":"Nema dostupnih uređaja za odašiljanje.","NO_SETTINGS":"Nema dostupnih postavki.","NO_OPTIONS":"No options available","PHONE_TABLET":"Mobitel / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Podnapisi","SUBTITLES_CHANGE":"Promjeni podnapis za ","SUBTITLES_CHANGE_NONE":"Nažalost, nema drugih podnapisa za odabrani jezik","SUBTITLES_CHANGE_ACIVE":"Trenutno titl #{{subtitlesDialog.activeIdx + 1}} je aktivan. Klikni \\"Nastavi\\" da aktiviraš podnapis #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alterantivno,","SUBTITLES_ADJUST_DELAY":"Podešavanje kašnjenja podnapisa:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Ili koristi G / H gumb dok gledate da postavite podnapise.","SUBTITLES_ADJUST_DELAY_TIP":"Savjet: možete koristiti tipke G / H tijekom gledanja kako biste podesili kašnjenje podnapisa.","SUBTITLES_DELAY":"Kašnjenje podnapisa:","SUBTITLES_LOADING":"Učitavanje podnapisa...","SUBTITLES_UNAVAILABLE":"Nema dostupnih vanjskih podnapisa","SUBTITLES_DISABLED":"Isključeno","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sezona","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Epizoda","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"poredaj","SORT_BY":"Poredaj po","FILTER":"filtriraj","SORT_TRENDING":"popularno","SORT_RECENT":"nedavno","SORT_ALPHABET":"A-Ž","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"ocjena","SORT_WATCHED":"gledano","SORT_YEAR":"godina","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Novo za vas","New Episodes":"Nove epizode","New Videos":"Novi Videi","Recommendations":"Preporuke","LIBRARY_RESUME":"nastavi","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Pojedinosti","LIBRARY_RESUME_DISMISS":"odbaci","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Istaktnut","DISCOVER_TOP":"Najbolji","DISCOVER_OSCAR":"Dobitnici Oskara","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Dodatak je vratio prazan sadržaj.","DISCOVER_ADULT_WARNING":"Ovaj sadržaj dostupan je samo odraslima. Imaš li 18+ godina?","DISCOVER_NOADDON_WARNING":"Upozorenje: nema aktivinog Stremio dodatka za ovaj tip. Prikazujemo spremljene stvari, ništa se neće promijeniti.","DISCOVER_LOAD_ERR":"Sadržaj nije pokrenut, greška.","DISCOVER_ADDON_UNINSTALLED":"Sadržaj više nije dostupan. Moguće da ste izbriali dodatak.","UNINSTALL_THIS_ADDON":"Ukloni dodatak","ERR_ADDON_NOT_INSTALLED":"Ovaj dodatak nije instaliran. Instalirati sada?","DETAIL_RECEIVE_NOTIF_SERIES":"Primaj obavijesti o novim epizodama","DETAIL_RECEIVE_NOTIF_VIDEOS":"Primaj obavijesti o novim videima","SIDEBAR_SHOW_STREAMS":"Prikaži prijenose","RELAUNCH":"Ponovo pokreni sada!","UPGRADE":"Nova verzija je dostupna! Nadogradi se na najnoviju inačicu Stremija","RELOAD_UI":"Ponovno učitaj korisničko sučelje","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"Koristite zastarjelu verziju Stremija što nije preporučljivo.","MANUAL_UPDATE_LINE2":"Molimo, ažurirajte čim prije.","BUTTON_UPDATE_LATTER":"Ne sada","BUTTON_UPDATE_NOW":"Ažuriraj","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonimni korisnik","DONT_HAVE_ACC":"Nemate račun?","HAVE_ACC":"Već imate račun?","PASSWORD":"Lozinka","PASSWORD_CONFIRM":"Potvrdite lozinku","EMAIL":"E-mail","FB_LOGIN":"Prijavi se preko Facebook-a","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Ništa se ne dijeli bez vaše dozvole","FB_NOPOST":"Nećemo objavljivati ništa u vaše ime","OR":"ili","I_ACCEPT":"Prihvaćam","I_ACCEPT_BY_CLICKING":"Klikom na gornji gumb prihvaćam uvjete","TOS":"Uvjete i Odredbe","MUST_ACCEPT_TERMS":"Morate prihvatiti uvjete","PASSWORDS_NOMATCH":"Lozinke se ne podudaraju","SIGN_UP":"Registracija","SIGN_UP_EMAIL":"Prijavite se putem e-pošte","CLICK_TO_SIGN_UP":"Ovdje pritisnite za registraciju.","LOG_IN":"Prijavi se","LOG_OUT":"Odjavi se","EXIT_FULLSCREEN":"Izađi iz punog prikaza","ENTER_FULLSCREEN":"Uđi u puni prikaz","PLAY_URL_MAGNET_LINK":"Pokreni URL/Magnet poveznicu","HELP_FEEDBACK":"Podrška i povratna informacija","TERMS_OF_SERVICE":"Uvjeti korištenja usluge","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"O Stremiju","USER_PANEL":"Korisniča traka","LOGIN_LABEL":"Login","GUEST_LOGIN":"Prijavi se kao gost","GUEST_LOGIN_NOTICE":"Gostujuća prijava nije preporučljiva. Koristeći redovnu prijavu, Stremio omogućava sinkronizaciju svoje videoteke, primanje obavještenja o omiljenim serijama / kanalima. Jeste li sigurni da želite nastaviti?","GUEST_LOGIN_NOTICE_2":"Gostujuća prijava nije preporučljiva - nećete imati sinkronizaciju obavijesti Videoteke i Ploče, koje su od važnosti za Stremio. Jeste li sigurni da želite nastaviti?","CLICK_HERE":"klikni ovdje","WRONG_PASSWORD":"Pogrešna lozinka. U slučaju da ste zaboravili lozinku, ","SET_A_PASS":"postavite lozinku","RESET_PASSWORD":"Ponovno postavi lozinku","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Zaboravili ste lozinku?","EMAIL_USED_WITH_FB":"Ovaj email je korišten sa Facebook prijavom.","INVALID_EMAIL":"Unesite ispravnu e-mail adresu","INVALID_PASSWORD":"Molimo Vas da unesete ispravnu lozinku","CONN_ERR":"Greška pri povezivanju - molimo Vas pokušate kasnije.\\n\\nAko se ovo nastavi, onemogućite vatrozid/antivirus (posebice Bitdefender).","IMPORT_FROM_GUEST":"Uvezi videoteku iz gostujućeg računa","RECEIVE_UPDATES_EMAIL":"Primajte novosti od kompanije Stremio na vaš e-mail","LOGIN_FAILED":"Neuspjela Prijava.","SIGNUP_FAILED":"Prijava nije uspjela.","SEARCH_FAILED":"Pretraga nije uspjela","EMAIL_USED":"Ovaj email već je u upotrebi.","WAITING_FB_LOGIN":"Prijavljivanje preko Facebook-a...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Pokreni u vanjskom pregledniku","EXTERNAL_REMEMBER_PLAYER":"Zapamti moj izbor","EXTERNAL_ALWAYS_PLAY":"Da","EXTERNAL_ONLY_ONCE":"Ne","BEST_FIT":"Najprikladniji prikaz","FIT_SCREEN":"Uklopi u prikaz","FILL":"Ispuni prikaz","16:9":"16:9","4:3":"4:3","Original":"Izvorni prikaz","INTRO_TASTE":"Recite nam što volite","INTRO_TASTE_LONG":"Recite nam što biste željeli gledati","INTRO_TASTE_PICK":"Izaberite {{interestsRemaining}} zanimljivo","INTRO_TASTE_PICK_MORE":"Izaberite još {{interestsRemaining}} zanimljivog","INTRO_TASTE_HELP_US":"Pomozite nam da naučimo o vama.","INTRO_TASTE_CHOOSE_THESE":"Izaberite neke od ovih:","INTRO_TASTE_CHOOSE_MIN":"Izaberite bar tri kategorije","INTRO_TASTE_CHOOSE_MIN_ERR":"Morate izabrati bar tri kategorije!","INTRO_TASTE_LIFESTYLE":"Životni stil","INTRO_TASTE_SPORTS":"Sportovi","INTRO_TASTE_FOOD_HEALTH":"Hrana i zdravlje","INTRO_TASTE_BEAUTY_FASHION":"Ljepota i moda","INTRO_TASTE_NEWS":"Vijesti","INTRO_TASTE_GAMING":"Igrice","INTRO_TASTE_SCIENCE_EDU":"Znanost i obrazovanje","INTRO_TASTE_MUSIC":"Glazba","INTRO_TASTE_TRAVEL":"Putovanje","INTRO_TASTE_LATE_NIGHT":"Noćni talk-show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedija","INTRO_TASTE_DIY":"Uradi sam","INTRO_TASTE_TECH":"Tehnika","INTRO_TASTE_CINEMA":"Kinematografija","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Izabrani dodatak nije podržan na ovoj platformi.","ADDON_DISCLAIMER":"Korištenje trećih dodataka uvijek će biti predmet osobne odgovornosti i zakonom zemlje u kojoj se nalazite.","ADDON_ACTIVATE":"Aktivirati ovaj dodatak?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Dodaj","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"Možete dodati dodatak putem vanjske veze, koji će se pojaviti pod Instaliranim dodacima.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Što je novo","BUTTON_CONTINUE":"Nastavi","BUTTON_ACTIVATE":"Aktiviraj","BUTTON_ACTIVATED":"Aktivirano","BUTTON_CANCEL":"Prekini","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Poništni sve","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Vaša Videoteka izgleda prazno. Saznajte koliko je zapravo korisna :) ","HOW_START":"Ovako možete početi:","LIB_EMPTY_CAL":"Tvoj Kalendar prikazuje serije iz tvoje Videoteke.","HOW_START_CAL":"Ovako možeš dodati serije:","LIB_EMPTY_BOARD":"Tabla prikazuje notifikacije & preporuke slične tvojoj biblioteci.","HOW_START_BOARD_WAIT":"Molimo, dodajte par serija ili kanala u vašu videoteku i dozvolite nam par minuta da procesuiramo :)","HOW_START_BOARD":"Evo kako možete da dodate serije & flmove na nju:","IMPORT_FB":"Uvoz stvari koje vam se sviđaju na Facebook","IMPORT_TRAKT":"Uvezi videoteku sa: Trakt","IMPORT_DISCOVER":"Nađi zanimljive stvari u Otkrij","IMPORT_DISK":"Uvoz filmova ili serija koje imate na vašem lokalnom disku","PLEASE_CREATE_ACC":"Molimo Vas napravite račun da omogućite sinkronizaciju Videoteke & Table.","IMPORT_DISCOVER_SIGNUP":"Registrirajte se i otkrijte zanimljive stvari u Otkrij","IMPORT_DISK_SIGNUP":"Registrirajjte se i uvezite filmove i serije sa vašeg lokalnog diska","LIB_EMPTY_CLOUD":"Videoteka na oblaku","LIB_EMPTY_CLOUD_DESC":"Osobna videoteka ažuirana na svim uređajima","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Primaj obavijesti o novim epizodama","LIB_EMPTY_PERSONAL":"Osobno","LIB_EMPTY_PERSONAL_DESC":"Primaj personalizirane preporuke","LIB_EMPTY_CALENDAR_DESC":"Pripremi raspored za gledanje tvoje videoteke","LIB_EMPTY_ALL":"Prijavi se na neke od ovih:","LIB_EMPTY_BEST":"Prijavi se da dobiješ najbolje od Stremio-a","LIB_EMPTY_OTHER":"Prijavi se da dobiješ Kalendar & druge cool dodatke","CALENDAR_ADDED":"Stremio kalendar je dodan tvome kalendaru.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt autientifikacija nije valjana, molim vas u Postavkama autentificirajte","TRAKT_REQUIRES_LOGIN":"Trakt greška","TRAKT_REQUIRES_LOGIN_MSG":"Morate biti ulogirani","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Postavke","SETTINGS_NAV_GENERAL":"Općenito","SETTINGS_NAV_PLAYER":"Reproduktor","SETTINGS_NAV_STREAMING":"Prijenos","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Pokazi Kontrole","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"pojacaj zvuk","SETTINGS_SHORTCUT_VOLUME_DOWN":"stisaj zvuk","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Povratak unatrag","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Gledaj iducu epizodu","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"povecaj titlove","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Smanji velicinu titlova","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"povecaj delay titlova","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"smanji Delay titlova","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Pokreni prilikom paljenja","SETTINGS_VLC_DEFAULT":"Pokreni preko VLC-a","SETTINGS_UI_LANGUAGE":"Jezik sučelja","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Izlazak iz punog prikaza tipkom Esc","SETTINGS_GAMEPAD":"Omogući korištenje kontrolera","SETTINGS_CLOSE_WINDOW":"Zatvori program prilikom zatvaranja prozora","SETTINGS_SUBTITLES_LANGUAGE":"Zadani jezik podnapisa","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Zadana veličina podnapisa","SETTINGS_SUBTITLES_BACKGROUND":"Pozadina podnapisa","SETTINGS_SUBTITLES_COLOR":"Boja podnapisa","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Boja obruba podnapisa","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Boja pozadine podnapisa","SETTINGS_SEEK_KEY":"Premotavanje sadržaja strelicama","SETTINGS_SEEK_KEY_SHIFT":"Premotavanja sadržaja streliacam dok je tipka Shift pritisnuta","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Automatski pokreni sljedeću epizodu","SETTINGS_NEXT_VIDEO":"Prikazati obavijest za početak sljedeće epizode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"gledaj u pozadini","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"gledaj u drugom playeru","SETTINGS_RESIZE":"Automatski promjeni veličinu prozora prije puštanja","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server je dostupan.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server nije dostupan.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"pogreska","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Unesi streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profil","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Uvek koristi najnoviju BETA","SETTINGS_IMPORT_FB":"Uvezi sa Facebooka","SETTINGS_IMPORT_DISK":"Uvezi sa lokalnog diska","SETTINGS_IMPORT_TRAKT":"Uvezi sa Trakt-a","SETTINGS_PAUSE_MINIMIZED":"Pauziraj video kada je prozor minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Pozadinsko pokretanje","SETTINGS_SUBSCRIBE_CALENDAR":"Pretplati se na Kalendar","SETTINGS_REQ_EXPORT":"Zatraži izvoz podataka","SETTINGS_ACC_DELETE":"Zatraži brisanje naloga","SETTINGS_CHANGE_PASSWORD":"Promjeni lozinku","SETTINGS_TOS":"Uslovi korištenja","SETTINGS_SUPPORT":"Kontaktiraj podršku","SETTING_LANGUAGE":"Jezik","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Odjavi se sa Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Odjavi se sa Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"podrazumevani titlovi","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Pokreni u zasebnom prozoru (napredno)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Dali si siguran ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ovo će izbrisati lokalno pohranjene podatke i odjaviti vas.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatski","SETTINGS_HW_DISABLED":"Iskljuceno","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Zvuk","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Koristi crnu boju kao pozadinu","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Velicina","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Otkazi","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"ucitavanje","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Izbrisi Racun","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Izađi","CONNECTED":"Povezan","AUTHENTICATE":"Prijavi se","AUTHENTICATING":"Authenticating...","CACHING":"Keširanje","SETTINGS_CACHING_DRIVE":"Izaberi disk za keširanje","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Siječanj","February":"Veljača","March":"Ožujak","April":"Travanj","May":"Svibanj","June":"Lipanj","July":"Srpanj","August":"Kolovoz","September":"Rujan","October":"Listopad","November":"Studeni","December":"Prosinac","Monday":"Ponedeljak","Tuesday":"Utorak","Wednesday":"Srijeda","Thursday":"Četvrtak","Friday":"Petak","Saturday":"Subota","Sunday":"Nedjelja","Action":"Akcija","Comedy":"Komedija","War":"Ratni","Family":"Obiteljski","Animation":"Animacija","Adventure":"Avanturistički","Fantasy":"Fantazija","Crime":"Kriminalistički","Mystery":"Misterija","Romance":"Ljubavni","Drama":"Drama","Horror":"Horor","Thriller":"Triler","Sci-Fi":"Znanstvena Fantastika","Music":"Glazba","Biography":"Biografija","Documentary":"Dokumentarni","Sport":"Sport","Musical":"Mujuzikl","Western":"Western","Film-Noir":"Film-Noir","News":"Novosti","History":"Povijesni","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Zabava","Gaming":"Gaming","From TV":"Iz TV-a","Lifestyle":"Lifestyle","Science & Education":"Znanost & Edukacija","Cooking & Health":"Kuhanje & Zdravlje","Beauty & Fashion":"Ljepota & Moda","Sports":"Sport","News & Politics":"Vijesti & Politika","How-to & DIY":"DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Dobra dijela & Neprofitno","Movies":"Filmovi","Uk Live Tv":"UK Uživo Tv","Fashion":"Moda","Business News Radio":"Poslovni radio","Business Tv":"Poslovni tv","Cars & Auto":"Auto","Comedy Radio":"Komedija","Lifestyle Radio":"Lifestyle","News Tv":"Vijesti Tv","Food And Wine":"Hrana i vino","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religija","Kids":"Djeca","Body & Soul":"Tijelo i duša","Education":"Edukacija","Indian Tv":"Indian Tv","Extreme Sports":"Extremni sportovi","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Znanstvena Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Putovanja","Asian Tv":"Asian Tv","Entertainment":"Zabava","News Radio":"Vijesti Radio","Music Radio":"Glazbeni Radio","Language Learning":"Učenje jezika","Science Radio":"Znanstveni Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"novi video","new episode":"nova epizoda","new movie":"novi film","recommended":"preporučeno","we recommend":"preporučujemo","offer of the day":"ponuda dana","news":"vijesti","music video":"spot","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Odbaci obavijesti","CTX_DISMISS_ALL":"Odustani","CTX_SHARE":"Podijeli","CTX_COPY_SHARE_LINK":"Kopiraj link za dijeljenje","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Prikaži","CTX_PLAY":"Pokreni","CTX_PLAY_IN":"Pokreni u","CTX_PLAY_ON":"Pokreni na","CTX_WATCH_ON":"Gledaj na","CTX_WATCH":"Gledaj","CTX_WATCHED":"Pogledano","CTX_WATCH_BEGINNING":"Gledaj od početka","CTX_WATCH_MOBILE":"Gledaj na mobilnom uređaju","CTX_REWIND":"Premotaj na početak","CTX_MARK_WATCHED":"Označi kao pogledano","CTX_MARK_NON_WATCHED":"Označi kao nepogledano","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Označi ostalo kao pogledano","CTX_UNMARK_REST":"Označi ostalo kao nepogledano","CTX_RECEIVE_NEW_NOTIF":"Primaj nove obavijesti","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Obriši iz keša","CTX_REMOVE_CACHE_EP":"Ukloni epizodu iz keša","CTX_OPEN_CONTAINING":"Otvori mapu sadržaja","CTX_REMOVE":"Ukloni iz Videoteke","CTX_AVAILABLE_OFFLINE":"Dostupno izvanmrežno","CTX_PAUSED":"Pauzirano","CTX_ALWAYS_ON_TOP":"Uvijek na vrhu","CTX_FULLSCREEN":"Cijeli zaslon","CTX_WRONG_SUBS":"Pogrešan prijevod?","CTX_REPORT_ISSUES":"Prijavi problem","CTX_COPY":"Kopiraj","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Naljepi","CTX_CLEAR":"Očisti","CTX_CLEAR_RECENT_SEARCHES":"Obriši skorašnje pretrage","HELLO_THERE":"Hej zdravo","HOPE_YOU_ENJOY":"Nadamo se da uživate uz Stremio i da je već jedna od vaših omiljenih aplikacija !","WHO_ARE_WE":"Tko smo mi? Mi smo tim iza njega - dva momka koja rade teško svaki dan već skoro 3 godine da bih napravili ovaj proizvod sve boljim i boljim.","SUPPORT_US":"Ako uživate koristeći Stremio, ako je Stremio vrijedan za vas - širite riječ !","SPREAD_THE_WORD":"Podijelite sa svojim prijateljima sada, širite riječi u vezi Stremio","MORE_PEOPLE":"Što više ljudi koristi Stremio, to će biti bolji !","SEND_A_LINK":"Ili pošaljite link ka našoj stranici","TIP_LOCALFILES":"Savjet: možeš prevući i ubaciti lokalne video datoteke u Stremio","ADDON_MY":"Moji Dodaci","ADDON_COMMUNITY":"Dodaci zajednice","ADDON_OFFICIAL":"Službeni dodaci","ADDON_REPOS":"Dodaci repozitoriji","ADDON_SEARCH":"Pretraži dodatke","ADDON_INSTALL":"Instaliraj","ADDON_CONFIGURE":"Promijeni","ADDON_UNINSTALL":"Deinstaliraj","ADDON_UPGRADE":"Nadogradi","ADDON_INSTALLED":"Instalirano","ADDON_INSTALLED_MSG":"Dodatak instaliran!","ADDON_UPGRADED_MSG":"Dodatak ažuriran!","ADDON_UNKNOWN":"Nepoznato","ADDON_ERR":"Greška pri instaliranju dodatka!","ADDON_DISCONNECTED":"Veza prekinuta","ADDON_APP_MISSING":"aplikacija za ovaj izvor nije instalirana. Želiš li sada instalirati?","ADDON_APP_INSTALL":"Instaliraj sada","ADDON_PAGE":"Stranica dodataka","ADDON_TOP_CONTENT":"Najbolje do ovog dodatka","ADDON_PROVIDES":"Ovaj dodatak će vam dati:","ADDON_WATCH":"Pogledaj #{types} sada!","ADDON_WATCH_FREE":"Pogledaj #{types} BESPLATNO sada !","ADDON_ADDON":"Dodatak","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"Više #{types} u Otkrivanju","ADDON_PROVIDES_STREAMS":"Gledaj #{types}","ADDON_PROVIDES_STREAMS_FREE":"Gledaj #{types} BESPLATNO","ADDON_PROVIDES_SUBTITLES":"Prijevodi za #{types}","ADDON_CANTDETECT":"Nismo uspjeli pronaći i pokrenuti Stremio, tako da nismo uspjeli otkriti koje dodatke imate instaliarne.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Nisu pronađene informacije o ovome ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Greška pri preuzimanju podataka.","ERR_CANT_PARSE_MAGNET":"Nemoguće spojiti magnet","ERR_NO_MAGNET_INFOHASH":"Bez valjanog hash-a za magnet","ERR_NO_FILE_PATH":"Nije moguće poslati zahtjev bez lokacije datoteke","ERR_NO_TORRENT":"Nema torrent-a","ERR_NO_SUPPORTERD_FILES":"Nisu nađene podržane datoteke","ERR_OPENING_FILES":"Nije moguće otvoriti vanjske datoteke","ERR_INVALID_LINK":"Link nije valjan","ERR_REGISTERED_ONLY":"Ova mogućnost je dostupna samo registriranim korisnicima.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Nastavi gledanje","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmovi izabrani isključivo za vas.
    This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.
    Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.
    Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Gledaj Odmah","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Skini sada","WEBSITE_DOWNLOAD_FOR":"Skini sada za","WEBSITE_IS_DESKTOP":"Stremio je desktop aplikacija, otvori ovu stranicu na svom PC i skini ga","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Glavna","WEBSITE_PAGE_FEATURES":"Karakteristike","WEBSITE_PAGE_ADDONS":"Dodaci","WEBSITE_PAGE_TECH":"Tehnologija","WEBSITE_PAGE_CREATE_ADDON":"Kreiraj dodatak","WEBSITE_PAGE_CONTACTS":"Kontakti","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmovi","WEBSITE_TYPE_series_PL":"Serije","WEBSITE_TYPE_tv":"Uživo TV","WEBSITE_TYPE_channel":"Kanali","WEBSITE_STREMIO_WHAT_IS":"Stremio je aplikacija koja vam pomaže da organizujete i odmah gledate vaše omiljene video, filmove, TV serije i TV kanale.","WEBSITE_FEATURES_WATCH":"Gledaj odmah u HD","WEBSITE_FEATURES_WATCH_DETAIL":"Kliknite i pokrenite svoje omiljene filmove, TV Emisije, video i TV kanale.","WEBSITE_FEATURES_SUBS":"Automatski Prevodi","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatski odabire sinkronizirane prijevode za vaš jezik.","WEBSITE_FEATURES_SUBS_LABEL":"Stremio automatski odabire sinkronizirane prijevode za vaš jezik.","WEBSITE_FEATURES_CAST":"Pokreni na TV & mobilnim uređajima","WEBSITE_FEATURES_CAST_DETAIL":"Emitiranje na AppleTV, Chromecast, Smart TV (DLNA/UPnP) i mobilne uređaje.","WEBSITE_LIB":"Uživajte u Svojoj osobnoj Videoteci sinkoniziranoj na Sve Vaše Uređaje","WEBSITE_LIB_COLLECT":"Prikupite sa Stremio","WEBSITE_LIB_IMPORT":"Uvezite sa Facebook-a","WEBSITE_LIB_LOCAL":"Dodajte sa vašeg lokalnog diska","WEBSITE_BOARD":"Ploča - Vaše one-stop mjesto za obavještenja i preporuke","WEBSITE_BOARD_RECOMMEND":"Preporučena TV Emisija","WEBSITE_BOARD_TRENDING":"Traženi Film","WEBSITE_BOARD_NEW":"Novi Video","WEBSITE_BOARD_EPISODE":"Nova Epizoda","WEBSITE_BOARD_1":"Tražite nešto interesantno da gledate? Dobijajte preporuke na osnovu vašeg ukusa!","WEBSITE_BOARD_2":"Primite obavještenja kada nova epizoda vaš omiljene TV emisije ili YouTube kanala izadje!","WEBSITE_BOARD_YOUTUBE":"Novi Videi na Youtube kanalima","WEBSITE_BOARD_EPISODES":"Nove epizode serije koje pratite","WEBSITE_ADDONS":"Dodaci za sadržaj","WEBSITE_TECH_DETAIL":"Volimo tehnologiju, volimo znanost!\\nStremio koristi sljedeći softver otvorenog koda:","WEBSITE_TECH_WCJS":"WebChimera.js omogućava gledanje u bilo kojem formatu sa dobrim performansama","WEBSITE_TECH_WCJS_EXTRA":"Mi smo glavni suradnici ","WEBSITE_TECH_ELECTRON":"Electron pruža inovativu platformu za Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Mi smo suradnici projekta","WEBSITE_TECH_LINVODB":"Baza podataka koja omogućava da su podaci organizirani i svugdje spremni.","WEBSITE_TECH_LINVODB_EXTRA":"Kućna tehnologija","WEBSITE_CREATE_ADDON":"Kreiraj svoj dodatak","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Zainteresirani? Dobrodošli ste da nas kontaktirate.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Mišljenja koja dijelimo:","WEBSITE_SPREAD":"Nek se čuje za Stremio:","WEBSITE_CONTACT":"Ako nas mislite kontaktirati, slobodno","WEBSITE_OPENSOURCE":"Za naš otvoreni kod idi na","WEBSITE_BITCOIN":"Doniraj bitcoin:","WEBSITE_FAQ":"Često postavljena pitanja","WEBSITE_FAQ_SHORT":"ČPP","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Uslovi korištenja","WEBSITE_LEGAL":"Zakoni","WEBSITE_PAGE_ABOUT":"O nama","WEBSITE_PAGE_BECOME_PARTNER":"Postani partner","WEBSITE_ALL_YOU_CAN_WATCH":"Sloboda gledanja\\nsvega što želiš.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Što je Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio dodaci","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partneri i pomagači","WEBSITE_COMMUNITY_GOODIES":"Stremio dobri","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpaperi","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science.
    Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sport","FOOD_HEALTH":"Hrana i zdravlje","BEAUTY_FASHION":"Ljepota i moda","NEWS":"Vijesti","GAMING":"Gaming","SCIENCE_EDUCATION":"Znanost i edukacija","MUSIC":"Glazba","TRAVEL":"Putovanje","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Komedija","DIY":"DIY","TECH":"Tech","CINEMA":"Kinomatografija","CONTINUE":"Nastavi","SLOW_LOADING":"Loše učitavanje?","I_GIVE_UP":"PREDAJEm SE","LEARN_MORE":"Saznaj više","POOR_SOURCE":"Ovaj izvor je slabo dostupan ili je Vaša internet konekcija prespora","PICK_CATEGORIES_ERR":"Moraš odabrati najmanje 3 kategorije","ADJUST_TIMING":"Promijeni vrijeme sa ","ADJUST_SIZE":"Promijeni veličinu sa ","SEARCH_ANYTHING":"Pretražuj sve...","ALL_CATEGORIES":"Sve","SEARCH_CATEGORIES":"Filmove, Serije, YouTube & TV","SEARCH_PERSONS":"Glumce, Režisere i Scenografe","SEARCH_PROTOCOLS":"HTTP i Magnet Linkove","SEARCH_TYPES":"IMDB / TVDB linkove","WATCHED":"Pregledano","SHOW_LESS":"Prikaži manje","LAST_SEARCHES":"Posljednje pretrage","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"ODABERI NEŠTO OD OVOGA:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Daljinski upravljač nije moguče učitati","STREMIO_OFFLINE":"Stremio nije povezan","STREMIO_EXPENSIVE_CONNECTION":"Prijenos podataka je skup","USE_DATA":"Korištenje podataka","WARNING":"Upozorenje","MORE_INFO":"Više Informacija ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Učitavanje ...","STREMIO_TV_BACK_TO_LANGUAGES":"Nazad na jezike","STREMIO_TV_REMOTE":"Daljinski upravljač","STREMIO_TV_GO_TO":"Idi na:","STREMIO_TV_OR_SCAN":"ili skeniraj:","STREMIO_TV_ADDON_INSTRUCTIONS":"Molim slijedite upute za instaliranje dodataka.","STREMIO_TV_LIVE_TV":"TV uživo","STREMIO_TV_RESUME_WATCHING":"Nastavi Gledanje","STREMIO_TV_LOADING_BACKGROUND":"Pozadina učitavanja","STREMIO_TV_CHECKING_AUTHENTICATION":"Provjera autentifikacije","STREMIO_TV_LOADING_BOARD":"Ploča učitavanja","STREMIO_TV_LOGIN_HEADER_LINE_1":"Želimo da naši korisnici imaju najbolje moguće personalizirano iskustvo sa našim softverom.","STREMIO_TV_LOGIN_HEADER_LINE_2":"To je razlog zašto vas ljubazno molimo da se prijavite u svoj račun.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Hvala na razumjevanju,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio Tim","STREMIO_TV_REMOTE_INSTRUCTIONS":"Da bi koristili Web daljinski upravljač sa Mobilnim uređajem / Tabletom / PC:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Postavke","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio krug nije detektirao internet vezu.","STREMIO_TV_WIFI_DETAILS_1":"Povezi se sa:","STREMIO_TV_WIFI_DETAILS_2":"stremio-krug","STREMIO_TV_WIFI_DETAILS_3":"Koristi lozinku:","STREMIO_TV_WIFI_DETAILS_4":"stremiokrug","STREMIO_TV_WIFI_DETAILS_5":"Otvori internet preglednik sa:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Promijeni uređaj","REMOTE_VIDEOS":"Videi","REMOTE_ADJUST_TIMING":"Namjesti vrijeme","REMOTE_ADJUST_SIZE":"Namjesti veličinu","REMOTE_COULD_NOT_BE_LOADED":"Web daljinski upravljač nije moguće učitati","REMOTE_RETRY":"Pokušaj ponovo","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which do not play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a endpoint field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your endpoint as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a local cache to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the Cache setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},9899:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Sorozat","TYPE_tv":"TV csatorna","TYPE_channel":"Csatorna","TYPE_other":"Egyéb","TYPE_movie_PL":"Filmek","TYPE_series_PL":"Sorozatok","TYPE_tv_PL":"TV csatornák","TYPE_channel_PL":"Csatornák","TYPE_other_PL":"Egyebek","TYPE_ALL":"Minden","TYPE":"Típus","CATALOG_com_linvo_cinemeta_top":"Népszerű","CATALOG_com_linvo_cinemeta_imdbRating":"Kiemelt","CATALOG_com_linvo_cinemeta_year":"Új","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Nyilvánosan Elérhető Filmek","VIDEO":"Videó","BACK":"Vissza","MORE":"Több","DONE":"Kész","COPY":"Másolás","SUCCESS":"Siker","ERROR":"Hiba","SETTINGS_CASTING_MODE_PICKER":"Vezeték nélküli kivetítés mód","CASTING_MODE_HLSV2":"Alapértelmezett","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Nincs átkódolás","Discover":"Felfedezés","Board":"Ajánlatok","Library":"Könyvtár","My Library":"Könyvtáram","Calendar":"Naptár","NOTIFICATION_ONLINE":"Jelenleg online vagy","NOTIFICATION_OFFLINE":"Jelenleg offline vagy","INTERNET_CONNECTION":"Hálózat csatlakoztatva","STORAGE_FULL_TITLE":"Figyelem: a tárhelye megtelt!","STORAGE_FULL_TEXT":"A Stremio nem tudja menteni az Ön beállításait, preferenciáit vagy bejelentkezési adatait. Próbálja meg újraindítani vagy újratelepíteni a Stremio-t.","SEARCH":"Keresés","SEARCH_NO_RESULTS":"Nincs találat","SEARCH_EXPLANATION_CONTENT":"Keressen filmeket, sorozatokat, YouTube- és TV-csatornákat","SEARCH_EXPLANATION_PEOPLE":"Színészek, rendezők és írók keresése","SEARCH_PASTE_LINKS":"Másoljon be HTTP vagy Mágnes linket","SEARCH_OR_PASTE_LINK":"Keressen vagy illesszen be linket","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Hozzáadás a könyvtárhoz","REMOVE_FROM_LIB":"Eltávolítás a könyvtárból","ADDED_TO_LIB":"Hozzáadva a könyvtárhoz","REMOVED_FROM_LIB":"Eltávolítva a könyvtárból","TRAILER":"Előzetes","WATCH_TRAILER":"Előzetes megtekintése","WATCH_NOW":"Indítás","SHOW":"Tovább","SHOW_MOVIE":"Film megtekintése","WATCH_RANDOM":"Random tartalom megtekintése","IMDB_RATING":"IMDb értékelés","YEAR":"Év","DIRECTOR":"Rendező","WRITER":"Író","LEAD_ACTORS":"Főszereplők","CAST":"Szereposztás","CREW":"Stáb","SHOW_MORE_CAST":"Mutass többet »","AIRED":"Vetítve","SEASONS":"Évadok","GENRE":"Műfaj","GENRE_ALL":"Minden műfaj","CATALOG":"Katalógus","SUMMARY":"Tartalom","SHOW_MORE":"Mutass többet","SIMILAR":"Hasonló","UPCOMING":"Hamarosan érkező","TBA":"TBA","ENDED":"Vége","DURATION":"Időtartam","FEATURED":"Kiemelt","METADATA":"Metaadat","CATEGORY":"kategória","LINKS_GENRES":"Műfajok","LINKS_CAST":"Szereplők","LINKS_DIRECTORS":"Rendezők","SEARCH_VIDEOS":"Videó keresése","SEARCH_PLACEHOLDER":"Keresés vagy URL bemásolása","ADDON":"bővítmény","ADDONS":"Bővítmények","OFFICIAL":"hivatalos","ADDONS_OFFICIAL":"Hivatalos Streamio Bővítmények","ADDONS_POPULAR":"Népszerű a környezetedben","ADDON_FREE":"ingyenes","ADDON_PEERED":"kukucskált","ADDON_SUBSCRIPTION":"előfizetés","ADDON_STREAM_GEORESTRICTED":"Nem erélhető a régiódban","ADDON_STREAM_OFFLINECACHE":"Offline gyorsítótár","ADDON_STREAM_LOCALFILE":"Helyi fájl","SHARE_ADDON":"Addon megosztása","AVAILABLE_STREAMS":"Elérhető streamek","NO_STREAM":"Nincs elérhető stream","ALL_ADDONS":"Minden","INSTALL_MORE_ADDONS":"További streamekért telepítsen további bővítményeket","STREAM_NOT_SUPPORTED":"A kiválasztott stream nem támogatott ezen a felületen.","ADDON_CATALOGUE":"Az összes bővítmény megjelenítése »","ADDON_CATALOGUE_MORE":"További bővítmények »","REPO_ADDED":"Adattár hozzáadva","ADDON_REPO_EXIST_ERR":"Ez a bővítmény tárház már létezik","ADDON_REPO_ERR":"Hiba történt a tár hozzáadása során","ADDON_ADD_ERR":"Hiba történt a bővítmény hozzáadása során","ERR_ADDON_PROTECTED":"Védett bővítmény, nem telepíthető","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Valami hiba történt - a hitelesítés hibára futhatott","ERR_NOT_COLLECTION_URL":"Nem gyűjtemény URL-je","ERR_NOT_ADDON_URL":"Hibás bővítmény URL","ERR_DETECTFROMURL":"Nem található gyűjtemény/bővítmény az URL-en.","ADDON_DUPLICATE_WARNING":"Figyelmeztetés: duplikált bővítmény","ADDON_COLLECTION_SET_FAILED":"A bővítmények szinkronizálása a fiókodba sikertelen volt.","SETTINGS_DATA_EXPORT":"Felhasználói adatok exportálása","ADDON_PULL_FAILED":"A bővítmények szinkronizálása a fiókodból sikertelen volt","REFRESH_ON_CLICK":"Kattintson az újrapróbálkozáshoz","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"A filmet még moziban játsszák","WATCH_IN_CINEMA":"Elérhető a közeli moziban","IN_THEATER":"A moziban","GET_TICKETS":"Szerezz jegyet","UPCOMING_EPISODE":"Közelgő epizód","UPCOMING_EPISODE_MESSAGE":"Ez az epizód adásba kerül","MISSING_DATE_EPISODE":"Hiányzik az epizód dátuma","MISSING_DATE_EPISODE_MESSAGE":"Lehet, hogy ez az epizód még nem került adásba","CHANNEL_NOT_SCRAPED":"Ez a csatorna még nincs tárolva.
    Kérem, térj vissza pár perc múlva.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add hozzá a könyvtáradhoz és értesítünk, amikor elérhetővé válik.","GET_NOTIFIED_WHEN_AVAILABLE":"Értesítünk, amikor elérhetővé válik.","WARNING_STREAMING_SERVER":"Figyelmeztetés: a helyi streaming szerver nem található. Helyi fájlok, YouTube és BitTorrent streamelése nem elérhető.","WARNING_STREAMING_SERVER_DISMISS":"Elvetés","WARNING_STREAMING_SERVER_LATER":"Később","DECODER_WARNING":"Figyelmeztetés: előfordulhat, hogy ezt a videót az Ön hardvere nem támogatja. A lejátszás lassú lehet.","GENERIC_ERROR_MESSAGE":"Valamilyen hiba történt!","TRY_AGAIN":"Újrapróbálkozás","CLEAR_DATA":"Adatok törlése","PLAYER_ERROR":"Hoppá, lejátszási hiba","PLAYER_ERROR_LOOKSLIKE":"Úgy néz ki","PLAYER_ORIENTATION":"Lejátszó orientáció","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Zárt","PLAYER_ORIENTATION_SENSOR_SHORT":"Érzékelő","PLAYER_ORIENTATION_LANDSCAPE":"A lejátszó tájolása fekvő helyzetben rögzítve","PLAYER_ORIENTATION_SENSOR":"Automatikus lejátszó orientáció (érzékelő)","PLAYER_PLAYBACK_SPEED":"Lejátszási sebesség","PLAYER_PLAYBACK_ERROR":"Lejátszási hiba, próbáld újra","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Ismeretlen hiba","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sajnáljuk, ezt a videót nem lehet lejátszani ezzel: {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Feliratok nyelvei","PLAYER_SUBTITLES_VARIANTS":"Feliratok változatai","PLAYER_SUBTITLES_SETTINGS":"Feliratok beállításai","PLAYER_SUBTITLES_DISABLED":"A feliratok le vannak tiltva","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Függőleges helyzet","PLAYER_SUBTITLES_LOADED":"Feliratok betöltve","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Beágyazott feliratok betöltve","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exkluzív feliratok betöltve","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Feliratok betöltve innen: {{origin}}","PLAYER_PLAY":"Lejátszás","PLAYER_PAUSE":"Szünet","PLAYER_NEXT_VIDEO":"Következő Videó","PLAYER_MUTE":"Némítás","PLAYER_UNMUTE":"Némítás feloldása","PLAYER_OPEN_IN_EXTERNAL":"Megnyitás külső lejátszóban","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Lejátszás ezzel: {{device}}","PLAYER_LIVE":"Élő","PLAYER_NEXT_VIDEO_TITLE":"Következik","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Elvetés","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Nézd meg most","PLAYER_COPY_STREAM_SUCCESS":"Az stream linkje a vágólapra másolva","PLAYER_COPY_STREAM_ERROR":"Az stream linkjének másolása sikertelen","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"lejtászás innen","CASTING_TO":"Kivetítve erre","NETWORK_STATUS":"Hálózati státusz","STREAM_SPEED":"Letöltés sebessége:","STREAM_BUFFERED":"Betöltve:","PEERS_INFO":"Kapcsolatok","PEERS_ACTIVE":"Aktív:","PEERS_CONNECTED":"Kapcsolódva:","PEERS_WAITING":"Várakoznak:","TRANSCODING_WARNING":"Figyelmeztetés: videó átkódolása.","STREAM_LOADING":"betöltés...","PLAYING_LOCAL":"lejátszás helyi fájlból","PLAYING_CACHE":"lejátszás gyorsítótárból","WRONG_SUBS":"Hibás felirat?","ERR_SUBS_LOADING_TITLE":"Hiba a feliratok betöltése közben","ERR_SUBS_LOADING":"Nem sikerült betölteni a feliratokat: a problémát az Ön által használt bővítmény vagy a hálózati kapcsolata okozhatja","WARN_FOLLOWING_SUB_ADDONS_FAILED":"A következő felirat-bővítmények hibára futottak","ERR_CASTING_UPDATE_TITLE":"Nem sikerült frissíteni az kivetítő eszköz adatait: lehet, hogy a streaming szerver offline állapotban van","CHOOSE_DEVICE":"Válassz egy készüléket a lejátszáshoz","NO_CAST_DEVICES":"Nincsenek kivetítésre alkalmas eszközök.","NO_SETTINGS":"Nincsenek elérhető beállítások.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Táblagép","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Feliratok","SUBTITLES_CHANGE":"Másik felirat választása a következő nyelvhez: ","SUBTITLES_CHANGE_NONE":"Sajnáljuk, nincs másik elérhető felirat ehhez a nyelvhez.","SUBTITLES_CHANGE_ACIVE":"Jelenleg a következő feliratok aktívak: #{{subtitlesDialog.activeIdx + 1}}. Kattints a \\"Folytatás\\" gombra, hogy aktiváld a következő feliratokat: #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatív megoldásként","SUBTITLES_ADJUST_DELAY":"Felirat késleltetésének beállítása:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Vagy használja G / H billentyűket lejátszás közben a beállításhoz.","SUBTITLES_ADJUST_DELAY_TIP":"TIPP: használhatod a G / H billentyűket lejátszás közben a beállításhoz.","SUBTITLES_DELAY":"Feliratok késleltetése:","SUBTITLES_LOADING":"Feliratok betöltése...","SUBTITLES_UNAVAILABLE":"Nem érhető el külső felirat","SUBTITLES_DISABLED":"Tiltva","EXTERNAL_PLAYER_DISABLED":"Tiltva","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Választás engedélyezése","EXTERNAL_PLAYER_HINT":"Tipp: Van egy beállítás, amely lehetővé teszi a mindig külső lejátszóval való megnyitást","DONT_SHOW_AGAIN":"Ne mutasd újra","SERVICE_INSTALL":"Telepítés","AUDIO":"Hang","DEFAULT_LANGUAGE":"Alapértelmezett nyelv","DEFAULT_SECONDARY_LANGUAGE":"Alapértelmezett másodlagos nyelv","SEASON":"Évad","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Epizód","EPISODE_ABBREVIATION":"EP","SPECIAL":"Különleges","SORT":"rendez","SORT_BY":"Rendezés","FILTER":"szűrő","SORT_TRENDING":"Nézettség","SORT_RECENT":"legújabbak","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"értékelés","SORT_WATCHED":"megtekintve","SORT_YEAR":"év","SELECT":"Select","SELECT_TYPE":"Típust kiválasztása","SELECT_SORT":"Rendezés kiválasztása","SELECT_CATALOG":"Katalógust kiválasztása","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Műfaj kiválasztása","SORT_LASTWATCHED":"Utoljára megtekintve","SORT_NAME":"Név szerint","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Nézett idők szerint","SORT_NOTWATCHED":"not watched","New for You":"Újdonságok Neked","New Episodes":"Új Epizódok","New Videos":"Új Videók","Recommendations":"Ajánlások","LIBRARY_RESUME":"Folytatás","LIBRARY_PLAY":"Lejátszás","LIBRARY_DETAILS":"Részletek","LIBRARY_RESUME_DISMISS":"Elvetés","LIBRARY_CLEAR_PROGRESS":"Eddigiek törlése","LIBRARY_REMOVE":"Eltávolítás","LIBRARY_NOT_LOGGED_IN":"A könyvtár csak bejelentkezett felhasználók számára érhető el","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"A naptár csak bejelentkezett felhasználók számára érhető el","NOT_LOGGED_IN_CLOUD":"Bármikor, bárhol elérheti kedvenc filmjeit és TV-műsorait","NOT_LOGGED_IN_RECOMMENDATIONS":"A megtekintési előzményekhez szabott ajánlások","NOT_LOGGED_IN_NOTIFICATIONS":"Soha többé ne hagyj ki egy epizódot","NOT_LOGGED_IN_CALENDAR":"Ütemezze be személyes megtekintési naptárát","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Kiemelt","DISCOVER_TOP":"Népszerűek","DISCOVER_OSCAR":"Oscar nyertesek","DISCOVER_WARNING_TITLE":"Hoppá!","DISCOVER_EMPTY_CATALOG":"Ez a bővítmény üres tartalmat adott vissza.","DISCOVER_ADULT_WARNING":"A tartalom csak felnőttek számára látható. Elmúltál 18 éves?","DISCOVER_NOADDON_WARNING":"Figyelmeztetés: nincs bekapcsolt Stremio bővítmény ehhez a típushoz. Elmentett adatokat mutatunk, semmi sem fog frissülni.","DISCOVER_LOAD_ERR":"A tartalom nem töltődött be, hiba történt.","DISCOVER_ADDON_UNINSTALLED":"Ez a tartalom már nem érhető el, előfordulhat, hogy eltávolítottad a bővítményt.","UNINSTALL_THIS_ADDON":"Távolítsa el ezt a bővítményt","ERR_ADDON_NOT_INSTALLED":"Ez a bővítmény nincs telepítve. ","DETAIL_RECEIVE_NOTIF_SERIES":"Kapj értesítéseket új epizódokról","DETAIL_RECEIVE_NOTIF_VIDEOS":"Kapj értesítéseket új videókról","SIDEBAR_SHOW_STREAMS":"Streamek megjelenítése","RELAUNCH":"Újraindítás most!","UPGRADE":"Új verzió érhető el! Frissíts a legújabb Stremio verzióra","RELOAD_UI":"Felhasználói felület újratöltése","MANUAL_UPDATE_TITLE":"Frissítsd a Stremio verzióját","MANUAL_UPDATE_LINE1":"Egy már nem támogatott verzióját futtatod a Stremionak, mely erősen nem ajánlott.","MANUAL_UPDATE_LINE2":"Kérjük minél hamarabb frissíts","BUTTON_UPDATE_LATTER":"Ne most","BUTTON_UPDATE_NOW":"Frissítés","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Névtelen felhasználó","DONT_HAVE_ACC":"Nincs fiókod?","HAVE_ACC":"Van már fiókod?","PASSWORD":"Jelszó","PASSWORD_CONFIRM":"Jelszó megerősítése","EMAIL":"Email","FB_LOGIN":"Bejelentkezés Facebookkal","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Semmit nem osztunk meg a beleegyezésed nélkül","FB_NOPOST":"Semmit sem fogunk a nevedben posztolni","OR":"vagy","I_ACCEPT":"Elfogadom a","I_ACCEPT_BY_CLICKING":"A fenti gombra kattintva tanúsítom, hogy elfogadom a ","TOS":"felhasználói feltételeket","MUST_ACCEPT_TERMS":"El kell fogadnod a feltételeket","PASSWORDS_NOMATCH":"Jelszó nem egyezik","SIGN_UP":"Regisztráció","SIGN_UP_EMAIL":"Regisztráció email-lel","CLICK_TO_SIGN_UP":"Kattints ide a regisztrációhoz.","LOG_IN":"Bejelentkezés","LOG_OUT":"Kijelentkezés","EXIT_FULLSCREEN":"Kilépés teljes képernyőből","ENTER_FULLSCREEN":"Teljes képernyős mód","PLAY_URL_MAGNET_LINK":"URL/Mágnes link lejátszása","HELP_FEEDBACK":"Segítség & Visszajelzés","TERMS_OF_SERVICE":"Általános Szerződési Feltételek","PRIVACY_POLICY":"Adatvédelmi irányelvek","ABOUT_STREMIO":"A Stremioról","USER_PANEL":"Felhasználói panel","LOGIN_LABEL":"Belépés","GUEST_LOGIN":"Vendég belépés","GUEST_LOGIN_NOTICE":"A Vendég bejelentkezés nem javasolt. A normál bejelentkezéssel a Stremio szinkronizálja a köyvtáradat és értesítéseket küldhet a kedvenc filmjeidről/sorozataidról. Biztosan folytatod?","GUEST_LOGIN_NOTICE_2":"A Vendég bejelentkezés nem ajánlott – nem lesznek szinkronizált könyvtári és tábla-értesítései, amelyek a Stremio létfontosságú funkciói. Biztosan folytatod?","CLICK_HERE":"Kattins ide","WRONG_PASSWORD":"Hibás email vagy jelszó. Amennyiben elfelejtetted a jelszavadat,","SET_A_PASS":"állíts be jelszót","RESET_PASSWORD":"Jelszó visszaállítása","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Elfelejtett jelszó?","EMAIL_USED_WITH_FB":"Ez az email már hozzá van rendelve egy Facebookos regisztrációhoz.","INVALID_EMAIL":"Kérjük, adj meg egy valós email címet","INVALID_PASSWORD":"Kérjük, adj meg egy valid jelszót","CONN_ERR":"Csatlakozási hiba – próbálkozzon újra később.\\n\\n","IMPORT_FROM_GUEST":"Könyvtár importálása vendégfiókjából","RECEIVE_UPDATES_EMAIL":"Frissítéseket kaphat e-mailjére a Stremiótól","LOGIN_FAILED":"Bejelentkezés sikertelen.","SIGNUP_FAILED":"A regisztráció sikertelen.","SEARCH_FAILED":"A keresés sikertelen","EMAIL_USED":"Ez az email cím már foglalt.","WAITING_FB_LOGIN":"Bejelentkezés Facebookkal...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Lejátszás külső lejátszóban","EXTERNAL_REMEMBER_PLAYER":"Szeretnél emlékezni a választásodra","EXTERNAL_ALWAYS_PLAY":"Igen","EXTERNAL_ONLY_ONCE":"Nem","BEST_FIT":"Legjobban illeszkedő","FIT_SCREEN":"Képernyőhöz igazítás","FILL":"Kitöltés","16:9":"16:9","4:3":"4:3","Original":"Eredeti","INTRO_TASTE":"Mondd el nekünk, hogy mit szeretsz","INTRO_TASTE_LONG":"Mondd el nekünk, hogy mit szeretnél nézni","INTRO_TASTE_PICK":"Válassz {{interestsRemaining}} érdeklődési kört","INTRO_TASTE_PICK_MORE":"Válassz további {{interestsRemaining}} érdeklődési kört","INTRO_TASTE_HELP_US":"Segíts nekünk többet megtudni magadról!","INTRO_TASTE_CHOOSE_THESE":"Válasszon ezek közül néhányat:","INTRO_TASTE_CHOOSE_MIN":"Válasszon legalább 3 kategóriát","INTRO_TASTE_CHOOSE_MIN_ERR":"Legalább 3 kategóriát kell kiválasztanod!","INTRO_TASTE_LIFESTYLE":"Életmód","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Étel & Egészség","INTRO_TASTE_BEAUTY_FASHION":"Szépség & Divat","INTRO_TASTE_NEWS":"Hírek","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Tudomány & Oktatás","INTRO_TASTE_MUSIC":"Zene","INTRO_TASTE_TRAVEL":"Utazás","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Valóság","INTRO_TASTE_COMEDY":"Komédia","INTRO_TASTE_DIY":"Hogyan barkácsoljunk","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Mozi","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"A kiválasztott bővítmény nem támogatott ezen a felületen.","ADDON_DISCLAIMER":"Harmadik féltől származó bővítmények használata mindig a felhasználó felelőssége, a felhasználó tartózkodási területén életben lévő törvényeket tiszteletben tartva.","ADDON_ACTIVATE":"Bekapcsolod ezt a bővítményt?","ADDON_REPO_ADD":"Bővítmény gyűjtemény URL-je","ADDON_ADD":"Hozzáadás","INSTALL_ADDON":"Bővítmény telepítése","ADD_ADDON":"Bővítmény hozzáadása","ADD_ADDON_DESCRIPTION":"Külső hivatkozáson keresztül is hozzáadhat bővítményt, amely a Telepített bővítmények alatt jelenik meg.","PASTE_ADDON_URL":"Illessze be a bővítmény URL-címét","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Újdonságok","BUTTON_CONTINUE":"Folytatás","BUTTON_ACTIVATE":"Aktiválás","BUTTON_ACTIVATED":"Aktív","BUTTON_CANCEL":"Mégse","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Beküldés","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Mindet elutasít","BUTTON_VIEW_ALL":"összes megtekintése","BUTTON_SEE_ALL":"Összes megtekintése","BUTTON_COLOR_TRANSPARENT":"Átlátszó","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Megnyitás böngészőben","LIB_EMPTY":"A könyvtárad üres. ","HOW_START":"Használatához ennyit kell tenned:","LIB_EMPTY_CAL":"A naptárad a könyvtáradban található sorozatokat mutatja.","HOW_START_CAL":"Sorozatok hozzáadásához a következőket kell tenni:","LIB_EMPTY_BOARD":"Az ajánlatok fül értesítéseket","HOW_START_BOARD_WAIT":"kérd, addj pár sorozatot és csatornát a könyvtáradhoz, és mi pár perc alatt feldolgozzuk :)","HOW_START_BOARD":"Így adhatsz hozzá sorozatokat","IMPORT_FB":"Importálj általad kedvelt tartalmakat a Facebookról","IMPORT_TRAKT":"Importáld médiakönyvtárad a Traktról","IMPORT_DISCOVER":"Keress érdekes tartalmakat a Felfedezés fülről","IMPORT_DISK":"Importálj filmeket és sorozatokat a helyi lemezedről","PLEASE_CREATE_ACC":"Kérjük, hozzon létre egy fiókot a könyvtár szinkronizálásának engedélyezéséhez.","IMPORT_DISCOVER_SIGNUP":"Regisztráljon, és találjon érdekes dolgokat a Felfedez fülről","IMPORT_DISK_SIGNUP":"Regisztráljon, és importáljon filmeket vagy sorozatokat a helyi lemezről","LIB_EMPTY_CLOUD":"Felhőkönyvtár","LIB_EMPTY_CLOUD_DESC":"Személyes felhőkönyvtár minden eszközön szinkronizálva","LIB_EMPTY_EARLY":"Korai","LIB_EMPTY_EARLY_DESC":"Értesítéseket kaphat az új epizódokról","LIB_EMPTY_PERSONAL":"Személyes","LIB_EMPTY_PERSONAL_DESC":"Kapj személyes ajánlásokat","LIB_EMPTY_CALENDAR_DESC":"Ütemezze be személyes megtekintési naptárát","LIB_EMPTY_ALL":"Regisztráljon, hogy mindezt megkapja:","LIB_EMPTY_BEST":"Regisztráljon, hogy a legtöbbet hozhassa ki a Stremióból","LIB_EMPTY_OTHER":"Regisztrálj a naptár és további király funkciók engedélyezéséhez","CALENDAR_ADDED":"A Stremio naptár hozzáadásra került az alapértelmezett asztali naptárhoz.","CALENDAR_ADDED_MSG":"Ha ez nem működik, kérjük, kézzel adja hozzá ezt az URL-t a naptáralkalmazáshoz","TRAKT_EXPIRED":"A Trakt hitelesítés lejárt, lépjen a Beállításokba, és hitelesítse újra","TRAKT_REQUIRES_LOGIN":"Trakt hiba","TRAKT_REQUIRES_LOGIN_MSG":"Be kell jelentkezned","TRAKT_IMPORT_WATCHED":"Import","THEME":"Téma","THEME_DEFAULT":"Alapértelmezett","THEME_ADAPTIVE":"Adaptív","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Beállítások","SETTINGS_NAV_GENERAL":"Általános","SETTINGS_NAV_PLAYER":"Lejátszó","SETTINGS_NAV_STREAMING":"Streamelés","SETTINGS_NAV_SHORTCUTS":"Gyorsbillentyűk","SETTINGS_SHORTCUT_RELOAD_APP":"Alkalmazás újratöltése","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Beállítások megnyitása","SETTINGS_SHORTCUT_SWITCH_TABS":"Váltás a lapok között","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Lapozzon előre","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Lapozzon visszafelé a lapokon","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigálás a menük között","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Lépjen a Keresés elemre","SETTINGS_SHORTCUT_EXIT_BACK":"Kilépés / Visszalépés","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Lejátszási sebesség menü ki-/bekapcsolása","SETTINGS_SHORTCUT_MENU_VIDEOS":"Videó menü ki/bekapcsolása","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Feliratok menü ki-/bekapcsolása","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Infó menü ki-/bekapcsolása","SETTINGS_SHORTCUT_FULLSCREEN":"Teljes képernyő ki-/bekapcsolása","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Vezérlők megjelenítése","SETTINGS_SHORTCUT_PLAY_PAUSE":"Lejátszás / Szünet","SETTINGS_SHORTCUT_VOLUME_UP":"Hangosítás","SETTINGS_SHORTCUT_VOLUME_DOWN":"Lehalkítás","SETTINGS_SHORTCUT_SEEK_NEXT":"Következőhöz tekerés","SETTINGS_SHORTCUT_SEEK_PREV":"Előzőhöz tekerés","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Visszafele tekerés","SETTINGS_SHORTCUT_SEEK_FORWARD":"Előre tekerés","SETTINGS_SHORTCUT_PLAY_NEXT":"Következő lejátszása","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Feliratok méretének növelése","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Feliratok méretének csökkentése","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Feliratok késleltetésének növelése","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Feliratok késleltetésének csökkentése","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Oldalsáv ki-/bekapcsolása","SETTINGS_SHORTCUT_OR":"vagy","SETTINGS_SHORTCUT_TO":"-","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Szóköz","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Hitelesítés","SETTINGS_FACEBOOK_IMPORT":"Importálás","SETTINGS_CALENDAR_SUBSCRIBE":"Feliratkozás","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Kezelőfelület nyelve","SETTINGS_LAUNCH_STARTUP":"Alkalmazás indítása bekapcsoláskor","SETTINGS_VLC_DEFAULT":"Lejátszás VLC-vel","SETTINGS_UI_LANGUAGE":"Felhasználói felület nyelv","SETTINGS_UI_ZOOM":"Kezelőfelület nagyítás","SETTINGS_FULLSCREEN_EXIT":"Kilépés a teljes képernyőről","SETTINGS_GAMEPAD":"Játékvezérlő támogatás engedélyezése","SETTINGS_CLOSE_WINDOW":"Zárja be az alkalmazást, ha az ablak be van zárva","SETTINGS_SUBTITLES_LANGUAGE":"Feliratok alapértelmezett nyelve","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Alapértelmezett feliratméret","SETTINGS_SUBTITLES_BACKGROUND":"Feliratok háttér","SETTINGS_SUBTITLES_COLOR":"Feliratok színe","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Feliratok körvonalának színe","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Feliratok háttérszíne","SETTINGS_SEEK_KEY":"A nyilakkal tekerésre használhatók","SETTINGS_SEEK_KEY_SHIFT":"A nyilakkal tekerni lehet, ha a Shift le van nyomva","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Előre- és visszatekerés hossza","SETTINGS_BINGE":"A következő epizód automatikus lejátszása","SETTINGS_NEXT_VIDEO":"Értesítés megjelenítése a következő epizód elindításához","SETTINGS_NEXT_VIDEO_TRIGGER":"Értesítés megjelenítése a következő epizódról:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Következő videó előugró ablak időtartama","SETTINGS_PLAY_IN_BACKGROUND":"Lejátszás a háttérben","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Lejátszás külső lejátszóban","SETTINGS_RESIZE":"Az ablak automatikus átméretezése lejátszás előtt","SETTINGS_OVERRIDE_SERVER":"A streaming szerver URL-jének felülírása (speciális)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming szerver URL-je: ","SETTINGS_SERVER_AVAILABLE":"Streaming szerver elérhető.","SETTINGS_SERVER_UNAVAILABLE":"Streaming szerver nem érhető el.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Hiba","SETTINGS_SERVER_CONFIGURE_TITLE":"A streaming szerver URL-jének konfigurálása","SETTINGS_SERVER_CONFIGURE_INPUT":"Adja meg a streaming szerver URL-címét","SETTINGS_SERVER_CACHE_SIZE":"Gyorsítótár mérete","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profil","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS végpont: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Mindig használja a legújabb Bétát","SETTINGS_IMPORT_FB":"Importálás Facebookról","SETTINGS_IMPORT_DISK":"Importálás helyi lemezről","SETTINGS_IMPORT_TRAKT":"Importálás a Traktból","SETTINGS_PAUSE_MINIMIZED":"Lejátszás szüneteltetése lekicsinyítés során","SETTINGS_HWDEC":"Hardveresen gyorsított dekódolás","SETTINGS_BACKGROUND":"Lejátszás a háttérben","SETTINGS_SUBSCRIBE_CALENDAR":"Feliratkozás naptárra","SETTINGS_REQ_EXPORT":"Adatexportálás kérése","SETTINGS_ACC_DELETE":"Fiók törlésének kérése","SETTINGS_CHANGE_PASSWORD":"Jelszó megváltoztatása","SETTINGS_TOS":"Általános Szerződési Feltételek","SETTINGS_SUPPORT":"Kapcsolat felvétele","SETTING_LANGUAGE":"Nyelv","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Megtekintési szokások megosztása a Trakt-tal","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Jelentkezzen ki a Trakt.tv-ből","SETTINGS_TRAKT_LOGOUT_2":"Jelentkezzen ki a Traktból","SETTINGS_SCAN_FOR_REMOTE":"A távirányító megnyitásához olvassa be a QR-kódot","SETTINGS_DESKTOP_NOTIFICATIONS":"Asztali értesítések","SETTINGS_DATA_SAVER":"Adatmegtakarítás","SETTINGS_LANGUAGE_INTERFACE":"felület","SETTINGS_LANGUAGE_SUBS":"alapértelmezett feliratok","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Automatikus hangsáv kiválasztása","SETTINGS_DEFAULT_AUDIO_TRACK":"Alapértelmezett hangsáv","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Térbeli hangzás","SETTINGS_ACCOUNT":"fiókot","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Verzió","SETTINGS_ABOUT":"Rólunk","SETTINGS_MPV_WINDOW":"Indítsa el a lejátszót egy külön ablakban (speciális)","SETTINGS_PLAY_IN_EXTERNAL":"Mindig indítsa el a videót a külső lejátszóban","SETTINGS_STORAGE_BUTTON":"Helyi tárhely törlése","SETTINGS_STORAGE_MODAL_TITLE":"Biztos vagy ebben ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ezzel törli a helyi tárhelyet, és kijelentkezik.","SETTINGS_HWDEC_PICKER":"Válasszon hardveresen gyorsított dekódolási beállítást","SETTINGS_HW_AUTOMATIC":"Automatikus","SETTINGS_HW_DISABLED":"Tiltva","SETTINGS_HW_ACCELERATED":"Dekódolási gyorsítás","SETTINGS_HW_FULL":"Teljes gyorsítás","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Tiltva","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Távoli szerver URL-je","SETTINGS_COPY_REMOTE_URL":"Távoli szerver URL másolása","SETTINGS_REMOTE_URL_COPIED":"A távoli szerver URL-jét a vágólapodra másoltuk","SETTINGS_SECTION_SUBTITLES":"Feliratok","SETTINGS_SECTION_AUDIO":"Hang","SETTINGS_SECTION_CONTROLS":"Vezérlők","SETTINGS_SECTION_AUTO_PLAY":"Automatikus lejátszás","SETTINGS_SECTION_ADVANCED":"Fejlett","SUBSPICKER_AUDIO":"Hang","SUBSPICKER_SUBTITLES":"Bővítmények feliratai","SUBSPICKER_BLACK_BACKGROUND":"Használjon fekete háttérszínt","SUBSPICKER_VERTICAL_OFFSET":"Függőleges eltolás","SUBSPICKER_SIZE":"Méret","SUBSPICKER_DELAY":"Késleltetés","SUBSPICKER_EMBEDDED_SUBS":"Beágyazott feliratok","MOBILE_PRIVACY_POLICY":"Adatvédelmi irányelvek","MOBILE_CRASH_REPORTING":"Összeomlás jelentése","MOBILE_ZOOM_TO_FILL":"Nagyítás a képernyő kitöltéséhez","MOBILE_PASSTHROUGH":"Digitális audio kimenet (passthrough)","MOBILE_RUN_LOW_BATTERY":"Alacsony akkumulátoros működés","MOBILE_RUN_FOREGROUND":"Futtassa előtér-szolgáltatásként","MOBILE_PERFORMANCE":"TELJESÍTMÉNY & STABILITÁS","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"A QR-kód lejár ","MOBILE_LOG_INTO":"Jelentkezzen be Stremio-fiókjába ","MOBILE_SCAN_QR":"Olvassa be a fenti QR-kódot, vagy lépjen a következő helyre ","MOBILE_LINK_ACCOUNT":"Fiók összekapcsolása","MOBILE_SPEEDPICKER_CANCEL":"Mégse","MOBILE_SPEEDPICKER_LABEL":"Lejátszási sebesség kiválasztása","MOBILE_EMPTY_LIBRARY":"A könyvtára üres","MOBILE_NO_ADDON_ACTIVE":"Nincs aktív Stremio-bővítmény ehhez a típushoz.","MOBILE_ORGANIZER_WARNING":"A Stremio Organizer alkalmazás korlátozott funkcionalitást biztosít. Az elérhető streamek listájáért és a teljes Stremio élményért használd az asztali alkalmazást.","MOBILE_ADDON_LOADING":"még mindig töltődik","MOBILE_ADDONS_LOADING":"a bővítmények még mindig töltődnek","MOBILE_ADDON":"Hozzáad","MOBILE_CONFIGURE_ADDON":"Konfiguráld a bővítményt","MOBILE_CONFIGURE_ADDON_LABEL":"Bővítmény konfigurálása","MOBILE_ORGANIZER_ADDONS_WARNING":"A Stremio Organizer alkalmazás a bővítmények korlátozott választékát kínálja. A teljes Stremio élményért használd az asztali alkalmazást!","MOBILE_DISCONNECT":"Leválasztás","MOBILE_LOOKING_FOR_DEVICES":"Eszközök keresése...","MOBILE_CAST_TO":"Kivetítés ide","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Fiók törlése","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"A fiók törlése jogi kötelezettségek miatt nem azonnali. Miután kérte fiókja törlését, a jövőben új Stremio-fiók létrehozásához más e-mail címet/facebook-profilt kell használnia.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Erősítse meg a fiók törlését","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Fiókod a Facebook használatával jött létre. Ha törölni szeretné fiókját, kérjük, használja felhasználói portálunkat a www.stremio.com/login címen.","MOBILE_DELETE_ACCOUNT_MESSAGE":"Kérjük, adja meg jelszavát a fiók törlésének megerősítéséhez.","MOBILE_DELETE_ACCOUNT_BUTTON":"Fiók törlése","NAVIGATION_ON":"Be","NAVIGATION_OFF":"Ki","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Hozzájárulok ahhoz, hogy marketingkommunikációt kapjak a Stremiótól","QUIT":"Kilépés","CONNECTED":"Csatlakoztatva","AUTHENTICATE":"Bejelentkezés","AUTHENTICATING":"Authenticating...","CACHING":"Gyorsítótárazás","SETTINGS_CACHING_DRIVE":"Gyorsítótár meghajtó","ENABLE_LOCAL_FILES_ADDON":"A helyi fájlok bővítmény engedélyezése (újraindítás szükséges)","LOCAL_ADDON_NOT_ENABLED":"A helyi bővítmény nincs engedélyezve. Kattints ide, hogy a beállításokban engedélyezd!","ENABLE_REMOTE_HTTPS_CONN":"Távoli HTTPS-kapcsolatok engedélyezése","TORRENT_PROFILE":"Torrent profil","DATA_CACHING":"Adatgyorsítótár","MAGNET_PARSING":"Mágnes link elemzése","January":"január","February":"február","March":"március","April":"április","May":"május","June":"június","July":"július","August":"augusztus","September":"szeptember","October":"október","November":"november","December":"december","Monday":"hétfő","Tuesday":"kedd","Wednesday":"szerda","Thursday":"csütörtök","Friday":"péntek","Saturday":"szombat","Sunday":"vasárnap","Action":"Akció","Comedy":"Vígjáték","War":"Háborús","Family":"Családi","Animation":"Animációs","Adventure":"Kaland","Fantasy":"Fantasztikus","Crime":"Krimi","Mystery":"Misztikus","Romance":"Romantikus","Drama":"Dráma","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-fi","Music":"Zenei","Biography":"Életrajzi","Documentary":"Dokumentumfilm","Sport":"Sport","Musical":"Zenei","Western":"Vadnyugati","Film-Noir":"Noir","News":"Hírek","History":"Történelem","Game-Show":"Játék show","Reality-TV":"Valóság-show","Talk-Show":"Beszélgetős műsor","Film & Entertainment":"Film & Szórakozás","Gaming":"Játék","From TV":"TV-ből","Lifestyle":"Életstílus","Science & Education":"Tudomány és oktatás","Cooking & Health":"Főzés és egészség","Beauty & Fashion":"Szépségápolás és divat","Sports":"Sport","News & Politics":"Hírek és politika","How-to & DIY":"Útmutatók és barkácsolás","Tech":"Technológia","Automotive":"Autó","Causes & Non-Profits":"Ügyek és non-profit szervezetek","Movies":"Filmek","Uk Live Tv":"Egyesült Királyság Élő TV","Fashion":"Divat","Business News Radio":"Rádiós üzleti hírek","Business Tv":"Üzleti TV","Cars & Auto":"Autók","Comedy Radio":"Rádiós komédia","Lifestyle Radio":"Életstílus rádió","News Tv":"TV-s hírek","Food And Wine":"Étel és ital","Latino Tv":"Latin TV","Shopping Tv":"Vásárlós TV","Religion":"Vallás","Kids":"Gyerekek","Body & Soul":"Test és lélek","Education":"Oktatás","Indian Tv":"Indiai TV","Extreme Sports":"Extrém Sportok","Middle Eastern Tv":"Közel-Keleti TV","Celebrity Tv":"Celeb TV","Science Tv":"Tudományos TV","Bikini babe":"Bikinis csajok","Outdoors":"Szabadtéri","German Tv":"Német TV","French Tv":"Francia TV","Italian Tv":"Olasz TV","Gamer Tv":"Gamer TV","Travel":"Utazás","Asian Tv":"Ázsiai TV","Entertainment":"Szórakoztatás","News Radio":"Rádiós hírek","Music Radio":"Zenei rádió","Language Learning":"Nyelvtanulás","Science Radio":"Tudományos rádió","Tech Radio":"Technológiai rádió","Science & Technology Vod":"Tudomány és technológia Vod","new video":"új videó","new episode":"új epizód","new movie":"új film","recommended":"ajánlott","we recommend":"ajánljuk","offer of the day":"a nap ajánlata","news":"hírek","music video":"zene videó","CTX_SHOW_HOTKEYS":"Gyorsbillentyűk megjelenítése","CTX_DISMISS_NOTIF":"Értesítések elvetése","CTX_DISMISS_ALL":"Mindet elutasít","CTX_SHARE":"Megosztás","CTX_COPY_SHARE_LINK":"Megosztási link másolása","CTX_COPY_MAGNET_LINK":"Mágnes link másolása","CTX_COPY_STREAM_LINK":"Stream link másolása","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Töltse le ezt a videót","CTX_DOWNLOAD_SUBS":"Feliratok letöltése","CTX_VIEW_ON_YOUTUBE":"Megtekintés a YouTube-on","CTX_SHOW":"Mutat","CTX_PLAY":"Lejátszás","CTX_PLAY_IN":"Lejátszás ezzel:","CTX_PLAY_ON":"Lejátszás ezen:","CTX_WATCH_ON":"Megtekintés ezen:","CTX_WATCH":"Megtekintés","CTX_WATCHED":"Megtekintett","CTX_WATCH_BEGINNING":"Megtekintés az elejétől","CTX_WATCH_MOBILE":"Megtekintés mobileszközön","CTX_REWIND":"Visszatekerés az elejére","CTX_MARK_WATCHED":"Megjelölés nézettként","CTX_MARK_NON_WATCHED":"Megjelölés nem megtekintettként","CTX_MARK_UNWATCHED":"Megjelölés nem megtekintettként","CTX_MARK_REST":"Hátralevők megjelölése nézettként","CTX_UNMARK_REST":"Hátralevők megjelölése nem nézettként","CTX_RECEIVE_NEW_NOTIF":"Új értesítések fogadása","CTX_ENABLE_NEW_NOTIF":"Értesítések engedélyezése","CTX_DISABLE_NEW_NOTIF":"Értesítések kikapcsolása","CTX_REMOVE_CACHE":"Eltávolítás a gyorsítótárból","CTX_REMOVE_CACHE_EP":"Epizód eltávolítása a gyorsítótárból","CTX_OPEN_CONTAINING":"Nyissa meg a tartalmazó mappát","CTX_REMOVE":"Eltávolítás a könyvtárból","CTX_AVAILABLE_OFFLINE":"Offline elérhető","CTX_PAUSED":"Szüneteltetve","CTX_ALWAYS_ON_TOP":"Mindig legfelül","CTX_FULLSCREEN":"Teljes képernyő","CTX_WRONG_SUBS":"Rossz felirat?","CTX_REPORT_ISSUES":"Probléma bejelentése","CTX_COPY":"Másolás","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Beillesztés","CTX_CLEAR":"Törlés","CTX_CLEAR_RECENT_SEARCHES":"Legutóbbi keresések törlése","HELLO_THERE":"Szia","HOPE_YOU_ENJOY":"Reméljük, hogy élvezed a Stremio használatát, és ez már az egyik kedvenc alkalmazásod!","WHO_ARE_WE":"Kik vagyunk mi? Mi vagyunk a mögötte álló csapat - két srác, akik az elmúlt 3 évben minden nap keményen dolgoznak, hogy egyre jobbá és jobbá tegyék ezt a terméket.","SUPPORT_US":"Ha szívesen használod a Stremio-t, ha a Stremio értékes számodra - terjeszd a hírét!","SPREAD_THE_WORD":"Oszd meg barátaiddal, terjeszd a Stremio hírét!","MORE_PEOPLE":"Minél többen használják a Stremiót, annál jobb lesz!","SEND_A_LINK":"Vagy küldd el a weboldalunkra vezető linket","TIP_LOCALFILES":"Tipp: behúzhatsz helyi videó fájlokat a Stremio-ba","ADDON_MY":"Saját bővítményeim","ADDON_COMMUNITY":"Közösségi bővítmények","ADDON_OFFICIAL":"Hivatalos bővítmények","ADDON_REPOS":"Bővítmény kollekciók","ADDON_SEARCH":"Bővítmények keresése","ADDON_INSTALL":"Telepítés","ADDON_CONFIGURE":"Konfigurálás","ADDON_UNINSTALL":"Eltávolítás","ADDON_UPGRADE":"Frissítés","ADDON_INSTALLED":"Telepítve","ADDON_INSTALLED_MSG":"Bővítmény telepítve!","ADDON_UPGRADED_MSG":"Bővítmény frissítve!","ADDON_UNKNOWN":"Ismeretlen","ADDON_ERR":"Bővítmény telepítési hiba!","ADDON_DISCONNECTED":"Szétkapcsolt","ADDON_APP_MISSING":"ehhez a forráshoz az alkalmazás nincs telepítve. Szeretnéd most telepíteni?","ADDON_APP_INSTALL":"Telepítés most","ADDON_PAGE":"Bővítmény oldala","ADDON_TOP_CONTENT":"A legjobbak ettől a bővítménytől","ADDON_PROVIDES":"Ez a bővítmény ezeket adja:","ADDON_WATCH":"Nézz #{types} most!","ADDON_WATCH_FREE":"Nézz #{types} INGYENESEN most!","ADDON_ADDON":"Hozzáad","ADDON_SUPPORTED_TYPES":"Támogatott típusok","ADDON_SUPPORTED_CATALOGS":"Támogatott katalógusok","ADDON_PROVIDES_DISCOVER":"Több #{types} a Felfedezés fülön","ADDON_PROVIDES_STREAMS":"Nézz #{types}","ADDON_PROVIDES_STREAMS_FREE":"Nézz #{types} INGYENESEN","ADDON_PROVIDES_SUBTITLES":"Feliratok a ehhez: #{types}","ADDON_CANTDETECT":"Nem tudtuk észlelni a futó Stremiót, így nem tudtuk észlelni, hogy milyen bővítményeket telepített.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Erről nem található információ ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Hiba történt az ezzel kapcsolatos információk lekérésekor.","ERR_CANT_PARSE_MAGNET":"Nem sikerült elemezni a mágnest","ERR_NO_MAGNET_INFOHASH":"Nincs érvényes információs hash a mágneshez","ERR_NO_FILE_PATH":"Nem lehet elküldeni a kérést a fájl elérési útja nélkül","ERR_NO_TORRENT":"Nem tért vissza a torrent","ERR_NO_SUPPORTERD_FILES":"Nem található támogatott fájl","ERR_OPENING_FILES":"Nem sikerült megnyitni a külső fájlokat","ERR_INVALID_LINK":"Érvénytelen link","ERR_REGISTERED_ONLY":"Ez a lehetőség csak regisztrált felhasználók számára elérhető.","ERR_CLIPBOARD":"Nem lehet lejátszani a vágólapról","ERR_CLIPBOARD_READ":"A vágólap nem olvasható ezen a platformon","ERR_CLIPBOARD_GENERIC":"Nem található lejátszható URL a vágólapon. Kérjük másolj ki egy videóhoz vezető URL-t (pl. mágnes linket).","BOARD_CONTINUE_WATCHING":"Megtekintés folytatása","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Kifejezetten az Ön számára kiválasztott filmek.
    Ez a film egy mintaajánlás.","BOARD_EXPLANATION_EPISODES":"Ide érkeznek kedvenc sorozatod új epizódjai.
    Add hozzá a követett sorozatokat a könyvtáradhoz.","BOARD_EXPLANATION_VIDEOS":"Ide érkeznek kedvenc csatornáid új epizódjai.
    Add hozzá a követett YouTube-csatornákat a könyvtáradhoz.","WEBSITE_ENJOYED_BY":"Világszerte több mint 30 millió felhasználó élvezi","WEBSITE_STREAMING_ENHANCED":"Továbbfejlesztett streamelés","WEBSITE_STREAMING_ENHANCED_DETAILS":"A Stremio biztonságos, modern és zökkenőmentes szórakozási élményt kínál. Könnyen használható felületének és változatos tartalomkönyvtárának köszönhetően - beleértve a 4K HDR támogatást is - a felhasználók minden eszközükön élvezhetik kedvenc filmjeiket és tévéműsoraikat. A biztonság iránti elkötelezettségével pedig a Stremio a tökéletes választás a gondtalan, kiváló minőségű streaming élményhez.","WEBSITE_AVAILABLE_ON":"Elérhető itt:","WEBSITE_WATCH_AND_ENJOY":"Nézd és élvezd!","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"A Stremio gyerekjátékká teszi a dolgot","WEBSITE_ALL_FEATURES":"Minden funkció","WEBSITE_EASY_TO_USE":"Könnyen kezelhető","WEBSITE_EASY_TO_USE_DETAILS":"A Stremio-t úgy tervezték, hogy felhasználóbarát és könnyen használható legyen. Tiszta és intuitív felületével könnyen navigálhatod és megtalálhatod a megnézni kívánt tartalmat.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Zökkenőmentes, egyszerre több eszközön ","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"A Stremio számos platformra (többek között Windows, Mac, Linux, Android és más) elérhető, és minden eszközön nyomon követi a haladásodat. Csak jelentkezz be, és folytasd a megtekintést anélkül, hogy minden egyes új eszközön újra be kellene állítanod az alkalmazást.","WEBSITE_ALL_DOWNLOADS":"Minden letöltés","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Nagy felbontású videó támogatás","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"A legtöbb videóformátumot, köztük a 4K HDR tartalmat is támogató integrált videolejátszó lehetővé teszi, hogy élvezze az elérhető legjobb minőséget.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Változatos tartalomtár","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"A Stremio számos népszerű videóforrással integrálható, mint például a Netflix, az Amazon Prime Video, a Hulu, a YouTube és még sok más.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Fiók ingyenes létrehozása","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Személyre szabott megtekintési élmény","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"A Stremio lehetővé teszi a felület kinézetének testreszabását a téma megváltoztatásával, a bővítmények hozzáadásával vagy eltávolításával stb.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Többnyelvű felirat támogatás","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Már az összes kedvenc tartalmadat élvezheted a kívánt nyelven, mivel a Stremio minden nyelven támogatja a feliratokat.","WEBSITE_ALL_STREMIO_FEATURES":"A Stremio összes funkciója","WEBSITE_TRY_STREMIO_TITLE_P1":"Próbáld ki a Stremio-t","WEBSITE_TRY_STREMIO_TITLE_P2":"Most a Te TV-den","WEBSITE_YOU_CAN_NOW_WATCH":"Most az összes kedvenc sorozatodat megnézheted az Android TV-eszközeiden. A Stremio TV alkalmazással könnyedén élvezheted a mozi estéket.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Most az összes kedvenc sorozatodat megnézheted az okos TV-eszközeiden. A Stremio TV alkalmazással könnyedén élvezheted a mozi estéket.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio okos TV-hez","WEBSITE_PLAY_STORE_REVIEW":"Valószínűleg a legjobb és leghasznosabb alkalmazás, amit a készülékeden lehet. Ez az egyik olyan alkalmazás, amelyet napi szinten használok, különösen az Android TV-men már évek óta. Jól van elkészítve egy erős közösséggel, amely hasznos funkciókat biztosít. Nagyszerű munka. Csak így tovább!","WEBSITE_REVIEWS":"vélemények","WEBSITE_GET_STREMIO_FOR_FREE":"Szerezze be ingyen a Stremiót","WEBSITE_GET_STREMIO_NOW":"Szerezze be a Stremiót most","WEBSITE_STREMIO_FEATURES":"Stremio funkciók","WEBSITE_STREMIO_FEATURES_DETAILS":"A Stremio fejlett funkcióival profiként streamelhet, és zökkenőmentesen férhet hozzá kedvenc médiájához","WEBSITE_DISCOVER_MORE":"Tudj meg többet!","WEBSITE_DISCOVER_MORE_DETAILS":"Soha ne fogyj ki a néznivalóból!","WEBSITE_COMMUNITY_DRIVEN":"Közösségvezérelt","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"A Stremio nagy és aktív felhasználói közösséggel rendelkezik, akik bővítmények létrehozásával és megosztásával járulnak hozzá a szoftver fejlesztéséhez.","WEBSITE_GET_INVOLVED":"Vegyél részt benne","WEBSITE_NEW_THEATER_EXPERIENCE":"Új házimozi élmény","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"A Stremio új dedikált TV-alkalmazása lehetővé teszi, hogy élvezze a filmestet Android TV-eszközein.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"A Stremio új dedikált TV-alkalmazásai lehetővé teszik, hogy moziesteket élvezzen Smart TV-n vagy Android TV-eszközén.","WEBSITE_FREE_AND_SECURE":"Ingyenes és biztonságos","WEBSITE_STREAMING":"Streamelés","WEBSITE_FREE_AND_SECURE_DETAILS":"A Stremio páratlan biztonságot és adatvédelmet kínál a felhasználók számára. A Stremio egyedülálló funkciójával, amely lehetővé teszi az addonok távoli futtatását, más platformokhoz képest biztonságosabb módot biztosít kedvenc tartalmainak streamelésére. A Te és adataid biztonsága elsődleges fontosságú, és a platform biztosítja, hogy minden adatod védve legyen.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Mondj búcsút a biztonsággal és a adatvédelemmel kapcsolatos aggodalmaknak, és köszöntsd a végtelen szórakozás világát a Stremio segítségével.","WEBSITE_INFORMATION_PROVIDED_BY":"által biztosított információkat","WEBSITE_CONTRIBUTE_DESC":"a projekthez","WEBSITE_COMMUNITY_DESC":"Hiszünk abban, hogy a legjobb módja annak, hogy valóban lenyűgöző streamelési élményt teremtsünk, ha bevonjuk közösségünket a folyamatba. Lehetsz programozó, művész, vagy csak rajongó - tudsz segíteni a Stremio növekedésében.","WEBSITE_COMMUNITY_DESC_2":"Tehát csatlakozz hozzánk még ma, legyél tagja a Stremio közösségnek, és formáld a streamelés jövőjét.","WEBSITE_WAYS_TO_GET_INVOLVED":"A részvétel módjai","WEBSITE_IN_THE_STREMIO_COMMUNITY":"a Stremio közösségben","WEBSITE_SHARE_YOUR_THOUGHTS":"Oszd meg a gondolataidat","WEBSITE_REPORT_BUGS":"Hibák bejelentése","WEBSITE_SUGGEST_FEATURES":"javasolj funkciókat","WEBSITE_AND_PROVIDE_FEEDBACK":"és adj nekünk visszajelzést a közösségi média csatornáinkon.","WEBSITE_BETA_TESTING_PROGRAM":"Bétatesztelő program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Vegyél részt béta tesztelési programunkban (rendszeresen küldünk meghívókat) a Stremio közösségben.","WEBSITE_JOIN_NOW":"Csatlakozz most!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Hivatalos Stremio Közösségek","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Nem hivatalos Stremio Közösségek","WEBSITE_BECOME":"Légy","WEBSITE_A_VOLUNTEER_TRANSLATOR":"önkéntes fordító","WEBSITE_ARE_YOU_A_DEVELOPER":"Fejlesztő vagy?","WEBSITE_CONTRIBUTE_CODE":"Hozzájárulhatsz kóddal nyílt forráskódú projektjeinkhez. A GitHubon több olyan projektünk is van, amelyekhez segítőket keresünk. Ha szeretnél segíteni, nézd meg őket:","WEBSITE_STREMIO_ON_GITHUB":"Stremio a GitHubon","WEBSITE_CREATE_ADDON_DESC":"Hozz létre bővítményeket, a Stremio funkcióinak bővítésére (az API-unk könnyen használható):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Lehetőséget biztosítunk arra is, hogy gyakornok fejlesztőként csatlakozz hozzánk, hogy együtt növekedhessünk.","WEBSITE_APPLY_AS_AN_INTERN":"Jelentkezzen gyakornoknak","WEBSITE_CALLING_ALL_ARTISTS":"Figyelem, művészek!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mutasd meg kreativitásodat és a Stremio iránti szeretetedet azzal, hogy feltöltöd rajongói művedet az online galériánkba. Legyen szó rajzról, festményről vagy digitális dizájnról, szeretnénk látni a Stremio márka egyedi megjelenítését. Csatlakozz a művészetkedvelők közösségéhez, és oszd meg alkotásaidat a Stremio rajongóival világszerte.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Galéria","WEBSITE_INTERN_DESIGNER":"Légy csapatunk tagja, és emeld kreativitásodat új magasságokba izgalmas szakmai gyakorlati lehetőségeink segítségével.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Közkincsfilmek projekt","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"A Stremio elkötelezett a film- és tévétörténet megőrzése mellett a köztulajdonban lévő és elárvult videók azonosításával. A közösségünkkel együttműködve biztosíthatjuk, hogy ezek a klasszikus műalkotások mindenki számára hozzáférhetőek legyenek, és a jövő generációi számára is védetté váljanak.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Nyugodtan fordulj hozzánk, ha szeretnél részt venni a projektben.","WEBSITE_JOIN_THE_PROJECT":"Csatlakozz a Projekthez","WEBSITE_BE_PART_OF_OUR_MISSION":"Légy részese a küldetésünknek","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Szeretnél csatlakozni a Stremio csapatához? Teljes mértékben távmunkát kínálunk szenvedélyes szakemberek számára. Tekintsd meg nyitott pozícióinkat.","WEBSITE_OPEN_POSITIONS":"NYITOTT POZÍCIÓK","WEBSITE_DESCRIPTION":"LEÍRÁS","WEBSITE_LEARN_MORE":"Tudj meg többet","WEBSITE_COMPANY":"Vállalat","WEBSITE_CONTACTS":"Kapcsolatok","WEBSITE_NEED_HELP":"Kell segítség?","WEBSITE_STREMIO_WEB_ON_IOS":"Útmutató a Stremio Web használatához iOS rendszeren","WEBSITE_LINK_ART_V2":"Fanart Galéria","WEBSITE_PARTNERS":"Partnerek","WEBSITE_SLOGAN_WATCH":"Azonnali megtekintés","WEBSITE_SLOGAN_ALL":"Minden kedvenc videó tartalmad egy helyen","WEBSITE_SLOGAN_NEW":"Nézd, amennyit csak szeretnél","WEBSITE_SLOGAN_NEW_NEW":"A streamelés szabadsága","WEBSITE_WATCH_FROM":"Nézd meg","WEBSITE_DOWNLOAD":"Letöltés most","WEBSITE_DOWNLOAD_FOR":"Töltsd le most","WEBSITE_IS_DESKTOP":"A Stremio egy asztali alkalmazás, nyisd meg ezt az oldalt a számítógépeden, és töltsd le","WEBSITE_DESKTOP_DEMO_VID":"Asztali demó","WEBSITE_PAGE_HOME":"Kezdőlap","WEBSITE_PAGE_FEATURES":"Funkciók","WEBSITE_PAGE_ADDONS":"Bővítmények","WEBSITE_PAGE_TECH":"Technológia","WEBSITE_PAGE_CREATE_ADDON":"Bővítmény létrehozása","WEBSITE_PAGE_CONTACTS":"Kapcsolatok","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Kérjük, alább gépeld be a kívánt jelszót!","WEBSITE_RESET_PASSWORD_WARNING":"Biztosan vissza akarod állítani a jelszót a következő számára: ${1}?","WEBSITE_TYPE_movie":"Filmek","WEBSITE_TYPE_series_PL":"Sorozatok","WEBSITE_TYPE_tv":"Élő tv","WEBSITE_TYPE_channel":"Csatornák","WEBSITE_STREMIO_WHAT_IS":"A Stremio egy olyan alkalmazás, amely segít rendszerezni és azonnal megtekinteni kedvenc videóidat, filmjeidet, tévésorozataidat és TV-csatornáidat.","WEBSITE_FEATURES_WATCH":"Nézze meg azonnal HD minőségben","WEBSITE_FEATURES_WATCH_DETAIL":"Kattints és játszd le kedvenc filmjeidet, TV-műsoraidat, videóidat és TV-csatornáidat.","WEBSITE_FEATURES_SUBS":"Automatikus feliratok","WEBSITE_FEATURES_SUBS_DETAIL":"A Stremio automatikusan kiválasztja a szinkronizált feliratokat a te nyelvedhez.","WEBSITE_FEATURES_SUBS_LABEL":"Nálad a labda, főnök.","WEBSITE_FEATURES_CAST":"Játszd le TV-n és mobil eszközökön","WEBSITE_FEATURES_CAST_DETAIL":"Kivetítés AppleTV-re, Chromecastra, Smart TV-re (DLNA/UPnP) és mobileszközökre.","WEBSITE_LIB":"Élvezze az összes eszközén szinkronizált személyes könyvtárát","WEBSITE_LIB_COLLECT":"Gyűjtse a Stremióból","WEBSITE_LIB_IMPORT":"Importálás a Facebookról","WEBSITE_LIB_LOCAL":"Hozzáadás a helyi meghajtóról","WEBSITE_BOARD":"A tábla – Az értesítések és ajánlások egy helyen","WEBSITE_BOARD_RECOMMEND":"Ajánlott tévéműsor","WEBSITE_BOARD_TRENDING":"Felkapott film","WEBSITE_BOARD_NEW":"Új Videó","WEBSITE_BOARD_EPISODE":"Új epizód","WEBSITE_BOARD_1":"Valami érdekes néznivalót keresel? Kapj ajánlásokat az ízléseid alapján!","WEBSITE_BOARD_2":"Értesítést kaphatsz kedvenc tévéműsoraid vagy YouTube-csatornáid új epizódjairól!","WEBSITE_BOARD_YOUTUBE":"Új videók a YouTube csatornákról","WEBSITE_BOARD_EPISODES":"Az általad követett sorozatok új epizódjai","WEBSITE_ADDONS":"Tartalom-bővítmények","WEBSITE_TECH_DETAIL":"Szeretjük a technológiát, szeretjük az őrült tudományt! A Stremio a következő nyílforráskódú technológiákat használja:\\n","WEBSITE_TECH_WCJS":"A WebChimera.js lehetővé teszi a Stremio számára, hogy bármilyen videóformátumot jó teljesítménnyel játsszon le.","WEBSITE_TECH_WCJS_EXTRA":"A projekt fő közreműködői vagyunk","WEBSITE_TECH_ELECTRON":"Az Electron innovatív platformot biztosít a Stremio építéséhez.","WEBSITE_TECH_ELECTRON_EXTRA":"A projekt közreműködői vagyunk","WEBSITE_TECH_LINVODB":"Egy adatbázis-technológia, amely biztosítja, hogy adatai rendszerezve legyenek, és bárhol elérhetők legyenek, ahol bejelentkezik.","WEBSITE_TECH_LINVODB_EXTRA":"Házon belüli technológia","WEBSITE_CREATE_ADDON":"Hozz létre saját bővítményt","WEBSITE_CREATE_ADDON_DETAIL":"Van saját videó szolgáltatásod? Segítünk kihasználni a Stremio által nyújtott funkciókat azzal, hogy elkészítjük a bővítményedet.","WEBSITE_CREATE_ADDON_BENEFITS":"A Stremio bővítmény létrehozásának előnyei","WEBSITE_P2P_BEAUTY":"A peer-to-peer streaming szépsége","WEBSITE_P2P_1":"Megbízható és megfizethető Full HD / 4K videó igény szerint vagy élő közvetítés","WEBSITE_P2P_2":"Nagyszerű felhasználói élményt nyújtó terjesztési platform","WEBSITE_P2P_3":"Pontosan az Ön igényeinek megfelelő bővítményt készítünk","WEBSITE_P2P_CONTACT":"Érdekel? Lépjen kapcsolatba velünk!","WEBSITE_P2P_CONTACT_EXTRA":"Szívesen segítünk a tartalma integrálásában a Stremio platformra!","WEBSITE_P2P":"Egyszer-egyszer jön egy technológia, amely teljesen felforgatja a játékszabályokat. Rengeteg időt és energiát fektettünk a Peer-to-Peer (P2P) videostreaming motorunk megalkotásába, amely nagyszerű teljesítményt és sokoldalúságot biztosít, hogy bármilyen felhasználási esethez alkalmazkodni tudjon.\\nForduljon hozzánk a DRM-képes P2P-videó igény szerinti vagy élő streaming szolgáltatásért.","WEBSITE_THOUGHTS":"Megosztjuk gondolatainkat:","WEBSITE_SPREAD":"Terjeszd a hírt a Stremióról:","WEBSITE_CONTACT":"Vedd fel velünk a kapcsolatot, örömmel várjuk megkeresésedet!","WEBSITE_OPENSOURCE":"Nyílt forráskódú projektjeinkért látogass el a ","WEBSITE_BITCOIN":"Adományozz bitcoint:","WEBSITE_FAQ":"Gyakran Ismételt Kérdések","WEBSITE_FAQ_SHORT":"GYIK","WEBSITE_QUESTIONS":"Kérdések","WEBSITE_TOS":"Használati feltételek","WEBSITE_LEGAL":"Jogi","WEBSITE_PAGE_ABOUT":"Rólunk","WEBSITE_PAGE_BECOME_PARTNER":"Légy partnerünk","WEBSITE_ALL_YOU_CAN_WATCH":"Szabadon nézheted.","WEBSITE_FREEDOM_TO_STREAM":"A streamelés szabadsága","WEBSITE_WHAT_IS_STREMIO":"Mi az a stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"A Stremio egy központ a videótartalmak összegyűjtéséhez. Fedezd fel, rendszerezd és nézz videókat mindenféle forrásból bármilyen eszközödön.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmek, tévéműsorok, sorozatok, élő televíziós csatornák vagy internetes csatornák, például a YouTube és a Twitch.tv – mindezt megtalálod a Stremio-n.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"A Stremio egy modern médiaközpont a videós szórakoztatáshoz. Fedezz fel, nézz és rendszerezz videótartalmakat könnyen telepíthető bővítményekből!","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmek, tévéműsorok, élő tévéműsorok vagy webcsatornák – mindezt megtalálod a Stremio-n.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Élvezd az összes médiaeszközödön","WEBSITE_DEVICES_COLLECT":"Gyűjts a Stremióból","WEBSITE_DEVICES_IMPORT_FB":"Importálás a Facebookról","WEBSITE_DEVICES_LOCAL":"Hozzáadás a helyi meghajtóról","WEBSITE_JOIN_THE_PARTY_NOW":"Csatlakozz most a bulihoz","WEBSITE_DEVICES_ALL":"Könnyen használható minden eszközödön;","WEBSITE_EXTENDABLE_CATALOG":"Végtelenül bővíthető videokatalógus;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Nagyszerű funkciók a média rendszerezéséhez;","WEBSITE_AS_SEEN_ON":"Amint látható","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Rólunk","WEBSITE_LINK_TECHNOLOGY":"Technológia","WEBSITE_LINK_APPS":"Alkalmazások elemre","WEBSITE_LINK_DOWNLOADS":"Letöltések","WEBSITE_MORE":"Több","WEBSITE_LINK_ADDONS":"Bővítmények","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Hozzájárulás","WEBSITE_LINK_COMMUNITY":"Közösség","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... és más","WEBSITE_LINK_HELP":"Segítség Központ","WEBSITE_LINK_CONTACTS":"Üzleti kapcsolatfelvétel","WEBSITE_LINK_TOS":"Feltételek és kikötések","WEBSITE_LINK_PRAVACY":"Adatvédelmi irányelvek","WEBSITE_SUBSCRIBE":"Iratkozz fel","WEBSITE_NEWSLETTER":"Csodálatos dolgokért iratkozz fel hírlevelünkre","WEBSITE_PLACEHOLDER_EMAIL":"Az email címed","WEBSITE_COMMUNITY":"Közösség","WEBSITE_LINK_PRAVACY_LEGAL":"Adatvédelem","WEBSITE_WHY":"Ezért csináljuk","WEBSITE_WHY_P1":"A Stremio-nál minden nap azért megyünk dolgozni, mert egy fontos problémát akarunk megoldani a lekérhető videók iparágában. Olyan sok új tartalom jelenik meg percenként, hogy szinte lehetetlen eligazodni benne.","WEBSITE_WHY_P2":"Segítünk az embereknek eligazodni a videós szórakoztatás hatalmas világában, és új tartalmakat felfedezni. Alkalmazásaink filmeket, sorozatokat, élő tévéműsorokat, webes csatornákat és még sok mást hoznak össze. Elkötelezettek vagyunk amellett, hogy a felhasználók számára hihetetlenül egyszerűvé tegyük a számukra kedves műsorok és szolgáltatók megtalálását.","WEBSITE_WHY_P3":"Szolgáltatásunkat bármilyen eszközön és bármikor használhatod, így a Stremio az egyetlen videó szórakoztató központ, amelyre valaha szükséged lesz.","WEBSITE_TEAM":"CSAPAT","WEBSITE_TEAM_P":"A Stremio csapata kicsi, de erős: tízen vagyunk, X nyelven kódolunk, és megosztjuk egymással tapasztalatainkat a szoftverfejlesztés, a felhasználói felület és a UX tervezés, a marketing és a reklámozás, valamint az üzleti élet és a startupok terén.","WEBSITE_FEATURES":"Funkciók","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Fedezz fel új tartalmat könnyedén","WEBSITE_FEATURES_DISCOVER_P":"Könnyedén felfedezhetsz új filmeket, tévéműsorokat, sorozatokat és csatornákat, amelyeket nézhetsz. Böngéssz kategória, műfaj, nézettség, ismertség stb. szerint, vagy egyszerűen csak írj be egy nevet a kereséshez. A Stremio segítségével az új videotartalmak megtalálása gyerekjáték.","WEBSITE_FEATURES_ALL_CONTENT":"Az összes videó tartalmad egy képernyőn","WEBSITE_FEATURES_ALL_CONTENT_P1":"Nézd meg, hogy milyen filmeket, sorozatokat vagy videókat nem fejeztél be, és folytasd a megtekintésüket; kapj értesítést az új epizódokról és megjelenésekről; és böngéssz a nézési szokásaid alapján kapott ajánlások között.","WEBSITE_FEATURES_LIBRARY":"Rendszerezd videókönyvtáradat","WEBSITE_FEATURES_LIBRARY_P1":"Adj hozzá bármilyen műsort a Stremio-könyvtáradhoz egyetlen kattintással, és navigálj a tartalmak között, szépen elrendezve típus, frissesség vagy ábécé sorrend szerint.","WEBSITE_FEATURES_CALENDAR":"Kövess nyomon mindent, amit nézel","WEBSITE_FEATURES_CALENDAR_P1":"Naptári megjelenítést kaphatsz a könyvtáradba felvett összes filmről és sorozatról. Exportáld ki a Stremio naptáradat, és szinkronizáld, hogy mindig tudd, mikor esedékes egy új epizód vagy premier.","WEBSITE_FEATURES_BIG_SCREEN":"Élvezd ki videotartalmaidat nagyobb képernyőn","WEBSITE_FEATURES_BIG_SCREEN_P1":"Egyetlen kattintással kivetítheted a tartalmaidat egy másik eszközre – legyen az telefon, táblagép vagy tévé.","WEBSITE_FEATURES_SOURCES":"Nézz videókat sok különböző forrásból","WEBSITE_FEATURES_SOURCES_P":"Telepíts hivatalos és közösségi bővítményeket, hogy több különböző szolgáltatótól származó videókat élvezhess – mindezt egyetlen elegáns, könnyen használható alkalmazásban.","WEBSITE_CREATE_AN_ADDON":"Hozz létre bővítményt","WEBSITE_FEATURES_SYNC":"Szinkronizáld könyvtáradat különböző eszközök között, és folytasd a lejátszást","WEBSITE_FEATURES_SYNC_P1":"Jelentkezz be fiókoddal minden eszközön, és élvezd a könyvtáradat, a bővítményeket, a lejátszást és a szinkronizált naptárat.","WEBSITE_FEATURES_EXTENDABLE":"Bővítményekkel bővíthető videó katalógus","WEBSITE_FEATURES_EXTENDABLE_P1":"A Stremio bővítménykatalógus számos bővítményt kínál telepítésre a különböző videótartalmak megtekintéséhez. Ezek közé tartoznak filmek, műsorok, élő TV, sport, hírek, podcastok, webcsatornák, videojátékok és még sok más.","WEBSITE_FEATURES_AUTO_SUBS":"Automatikus feliratozás","WEBSITE_FEATURES_AUTO_SUBS_P1":"Felirat-bővítményeinkkel automatikusan kiválasztott feliratokat kaphatsz a kiválasztott nyelvedhez.","WEBSITE_FEATURES_CHROMECAST":"Kivetítés Chromecastra","WEBSITE_FEATURES_CHROMECAST_P1":"Élvezd videotartalmaidat egy nagyobb képernyőn, vagy csak vetítsd ki a nézett tartalmat egy másik eszközre!","WEBSITE_FEATURES_KEEP_TRACK":"Kövesd nyomon kedvenc TV-műsoraidat és webcsatornáidat","WEBSITE_FEATURES_KEEP_TRACK_P1":"Naptári vizualizációt és értesítéseket kaphatsz kedvenc sorozataid és webcsatornáid új epizódjairól.","WEBSITE_FEATURES_POWER_USER":"Kiemelt felhasználói funkciók","WEBSITE_FEATURES_POWER_USER_P1":"Lejátszás külső lejátszóban","WEBSITE_FEATURES_POWER_USER_P2":"Lejátszás torrent fájlból vagy mágnes linkből","WEBSITE_FEATURES_POWER_USER_P3":"Importálás a könyvtáradba a Facebook kedveléseid alapján vagy a helyi lemezről","WEBSITE_ADD_ONS":"Bővítmények","WEBSITE_ADD_ONS_P1":"A Stremio által kínált összes videótartalom forrása egy bővítmény rendszeren keresztül történik – az alkalmazásban nincsenek beépített tartalmk vagy szolgáltatók.","WEBSITE_ADD_ONS_P2":"A bővítmények két csoportja érhető el: hivatalos és közösségi bővítmények.","WEBSITE_ADD_ONS_P3":"A hivatalos bővítményeket a Stremio fejleszti és üzemelteti, míg a közösségi bővítményeket a közösségünk tagjai hozzák létre, és ők is üzemeltetik azokat.","WEBSITE_ADDONS_OFFICIAL":"Hivatalos bővítmények","WEBSITE_ADDONS_WATCHUB":"Streameld kedvenc filmjeidet, sorozataidat és műsoraidat olyan szolgáltatóktól, mint az iTunes, a Hulu, az Amazon és más egyesült királyságbeli/amerikai szolgáltatások.","WEBSITE_ADDONS_YOUTUBE":"Nézd kedvenc YouTube-csatornáidat hirdetések nélkül, és kapj értesítést az új feltöltésekről a követett közreműködőktől.","WEBSITE_ADDONS_FILMON":"Nézz élő TV-t, filmeket és közösségi televíziót ingyenesen. 600 TV-csatorna, 45 000 ingyenes film, dokumentumfilm és még sok más.","WEBSITE_ADDONS_OPENSUBTITLES":"Film- és TV-feliratok több nyelven, naponta több ezer lefordított felirat kerül feltöltésre.","WEBSITE_ADDONS_COMMUNITY":"Közösségi bővítmények","WEBSITE_ADDONS_FILMON_VOD":"Nézz videókat a Filmon.tv-ről","WEBSITE_ADDONS_TWICH":"Nézz élő közvetítéseket a Twitch.tv-ről – az e-sport ipar videostreamelő platformjáról.","WEBSITE_ADDONS_VODO":"Nézz indie filmeket teljesen ingyen.","WEBSITE_ADDONS_NETFLIX":"Nézz Netflix filmeket és websorozatokat.","WEBSITE_ADDONS_CREATE":"Hozz létre egy bővítményt","WEBSITE_ADDONS_CREATE_P1":"Ha szeretnél, fejleszthetsz saját bővítményt. Így új videótartalmakhoz biztosíthatsz hozzáférést magadnak és közösségünknek, és világszerte több millió felhasználóból álló új, célzott közönséget érhetsz el.","WEBSITE_ADDONS_START_CREATE":"A kezdéshez keresd fel a Stremio Addon SDK oldalát:","WEBSITE_DOWNLOADS":"Letöltések","WEBSITE_DOWNLOADS_P1":"Az optimális teljesítmény érdekében javasoljuk, hogy a Stremio alkalmazások legújabb elérhető verzióját használd. Ha azonban valamilyen oknál fogva egy régebbi verziót szeretnél használni, akkor azt letöltheted innen.","WEBSITE_DOWNLOADS_P1_SHORT":"Az optimális teljesítmény érdekében javasoljuk, hogy a Stremio alkalmazások legújabb elérhető verzióját használd.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio Windows-on","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio macOS-en","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio Linux-on","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio Android-on","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio Android TV-n","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio Android mobilon","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio a Steam Deck-en","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio iOS-en","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio Samsung TV-n","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio LG TV-n","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio Oculus Quest-en","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio Xbox-on","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio Raspberry Pi-n","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio a böngészőben","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Keresd a Stremio alkalmazást a 2019 óta megjelent Samsung TV-ken.","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Keresd a Stremio alkalmazást a 2020 óta megjelent LG TV-ken.","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Keresd a Stremio alkalmazást az Xbox alkalmazásboltban.","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Stremio Service letöltése","WEBSITE_DOWNLOAD_SERVICE_P1":"A Stremio Service a Stremio Web társalkalmazása. A Stremio Service legfrissebb verziójának használatát ajánljuk.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service Windows-ra","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service macOS-re","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service Linux-ra","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service Docker-re","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"További letöltési lehetőségek","WEBSITE_DOWNLOAD_NEW":"Új!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Megjelent a Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Megjelent a Stremio Samsung TV-re","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Megjelent a Stremio LG TV-re","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Megjelent a Stremio Xbox-ra","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Megjelent a Stremio Raspberry Pi-ra","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Hozzájárul","WEBSITE_CONTRIBUTE_P1":"A Stremio platform nyílt forráskódú, és egyszerűen létrehozhatsz bővítményeket a jelenleg nem elérhető tartalomhoz.","WEBSITE_CONTRIBUTE_WHY":"Miért érdemes bővítményt létrehozni?","WEBSITE_CONTRIBUTE_WHY_P1":"Új közönséget érhetsz el a videó tartalmaidnak","WEBSITE_CONTRIBUTE_WHY_P2":"A Stremio felhasználói bázisa gyorsan növekszik - az indulás első évében a Stremio világszerte 1 millió felhasználót szerzett, és a platform fennállásának második évében ez a szám 2,5 millióra nőtt.","WEBSITE_CONTRIBUTE_WHY_P3":"Bővítményeddel könnyedén elérheted ezt a közönséget, és terjesztheted nekik videotartalmaidat.","WEBSITE_CONTRIBUTE_ALL":"Nézd meg kedvenc filmjeidet, videóidat, sorozataidat és csatornáidat egy helyen.","WEBSITE_CONTRIBUTE_ALL_P1":"Rajongsz egy bizonyos típusú tartalomért, amely még nem érhető el a Stremio-n? Hozz létre hozzá egy bővítményt, és élvezd kedvenc videóid megtekintését a piac egyik legnagyobb és legegyszerűbben használható szórakoztató központján.","WEBSITE_CONTRIBUTE_ALL_P2":"Ráadásul a Stremio közösség többi, hasonló gondolkodású tagjának végtelen hálájában részesülhetsz.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetizáld a bővítményedet és keress pénzt vele!","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Ha alkottál egy bővítményt a Stremio számára, azt többféle módon is könnyedén pénzzé teheted. Ha ezt fontolgatod, bátran vedd fel velünk a kapcsolatot a következő címen ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - szívesen konzultálunk és tanácsot adunk a bővítmény monetizálási lehetőségeiről.","WEBSITE_CONTRIBUTE_TRANSLATE":"Legyél önkéntes fordító","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Ha szeretnéd a Stremio-alkalmazásokat különböző nyelveken élvezni, csatlakozhatsz önkéntes fordítóink közösségéhez. Ők segítenek nekünk abban, hogy a Stremio számos különböző nyelven elérhető legyen.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Szívesen kezdesz már?","WEBSITE_TRANSALTE_STREMIO":"Stremio fordítása","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Hivatalos közösségek","WEBSITE_COMMUNITY_OFFICIALS_P1":"Légy része a Stremio növekvő közösségének. Kövess minket a közösségi médiában, és ne félj köszönni nekünk - szeretünk hallani a rajongóinkról! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Nem hivatalos közösségek","STREMIO_COMMUNITY_NL":"Stremio Hollandia","STREMIO_COMMUNITY_BRASIL":"Stremio Brazília","STREMIO_COMMUNITY_GERMANY":"Stremio Németország","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio Franciaország","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugália","STREMIO_COMMUNITY_ITALY":"Stremio Olaszország","STREMIO_COMMUNITY_UK":"Stremio Egyesült Királyság","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexikó","STREMIO_COMMUNITY_ADDONS":"Stremio bővítmények","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partnerek és támogatók","WEBSITE_COMMUNITY_GOODIES":"Stremio finomságok","WEBSITE_COMMUNITY_WALLPAPERS":"Háttérképek","WEBSITE_COMMUNITY_ART":"Közösségi Művészeti Galéria","WEBSITE_LINK_ART":"Közösségi művészeti galéria","WEBSITE_CONTACT_US":"Kapcsolat","WEBSITE_CONTACT_US_P1":"Ha bármilyen kérdésed, észrevételed vagy javaslatod van, fordulj hozzánk bizalommal az alábbi kapcsolatfelvételi űrlapon keresztül.","WEBSITE_CONTACT_US_P2":"Ne feledd, hogy Bulgáriában vagyunk, ezért előfordulhat, hogy az időzónák eltérései miatt az üzenet megválaszolása késni fog.","WEBSITE_CONTACT_US_SUCCESS":"Az üzenet sikeresen elküldve. Amint tudunk, válaszolunk neked.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Kérlek létező email címet adj meg!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Mihez kapcsolódik a kérdésed?","WEBSITE_CONTACT_US_Q_OS":"Milyen operációs rendszert használsz?","WEBSITE_CONTACT_US_PH_EMAIL":"Az email címed","WEBSITE_CONTACT_US_PH_MESSAGE":"Üzenet","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"KÜLDÉS","WEBSITE_CONTACT_US_Q_1":"Hogyan kell telepíteni?","WEBSITE_CONTACT_US_Q_2":"Hogyan kell eltávolítani?","WEBSITE_CONTACT_US_Q_3":"(HTML) Hogyan készítsünk lasagnét?","WEBSITE_CONTACT_US_Q_4":"Bővítmények","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technológia","WEBSITE_TECHNOLOGY_P1":"Szeretjük a technológiát és az őrült tudományt.
    Ezek hajtják a Stremiot (mind nyílt forráskódú).","WEBSITE_TECHNOLOGY_P_QT":"Többplatformos szoftverfejlesztés a javából.","WEBSITE_TECHNOLOGY_P_MPV":"Ingyenes, nyílt forráskódú és többplatformos médialejátszó.","WEBSITE_TECHNOLOGY_P_RN":"A React Native segítségével mobilalkalmazásokat készíthet kizárólag JavaScript használatával.","WEBSITE_TECHNOLOGY_P_VLC":"Alkalmazásba ágyazott média keretrendszer a multimédiához.","WEBSITE_TECHNOLOGY_P_REALM":"A Realm egy mobil platform, és az SQLite helyettesítője.","WEBSITE_TECHNOLOGY_P_NODEJS":"A Node.js egy nyílt forráskódú, többplatformos JavaScript futtatási környezet.","WEBSITE_TECHNOLOGY_P_RUST":"A Rust egy többparadigmás rendszerprogramozási nyelv, amely a biztonságra, különösen a biztonságos párhuzamosságra összpontosít.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Járulj hozzá a projekthez","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Kétféleképpen járulhatsz hozzá a Stremióhoz, és segíthetsz a termék még jobbá tételében.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Értékes nyelvtudásoddal segítheted a platform fordítását...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"vagy","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... felhasználhatod kódolási készségeidet közösségi bővítmények létrehozásához. ","WEBSITE_TRANSLATE_STREMIO":"Stremio fordítása","WEBSITE_404_OH_NO":"Hoppá! A keresett oldal nem található...","WEBSITE_GO_HOME":"A kezdőlapra","WEBSITE_LINK_OTHER_DOWNLOADS":"Egyéb letöltések","WEBSITE_FAQ_ABR":"GYIK","WEBSITE_SUPPORT":"Támogatás","WEBSITE_DOWNLOAD_4_0_BETA":"Töltsd le most a Stremio 4 béta verzióját","WEBSITE_GET_FOR_DESKTOP":"Szerezd meg asztali számítógépre","WEBSITE_LINK_ADDON_COMPETITION":"Bővítmény verseny","WEBSITE_LINK_ART_CONTEST":"Művészeti verseny","WEBSITE_MY_ACCOUNT":"A fiókom","WEBSITE_MAINPAGE_FAQ_001_H1":"Mi az a Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"A Stremio egy modern médiaközpont, amellyel szabadon nézhetsz, amit csak akarsz.","WEBSITE_MAINPAGE_FAQ_002_H1":"Hogyan működik?","WEBSITE_MAINPAGE_FAQ_002_P1":"Miután telepítetted a Stremiot az eszközödre, és létrehoztad a fiókodat, mindössze annyit kell tenned, hogy felkeresed a bővítmény katalógust, és telepíted a kívánt bővítményt, és már mehet is!","WEBSITE_MAINPAGE_FAQ_002_P2":"Ezt követően a Felfedezés vagy a Tábla részre léphetsz a tartalom felfedezésének megkezdéséhez.","WEBSITE_MAINPAGE_FAQ_003_H1":"Mit nézhetek itt?","WEBSITE_MAINPAGE_FAQ_003_P1":"Sokat: filmek, tévéműsorok, webcsatornák, sport, TV-csatornák, podcastok hallgatása és még sok más. A bővítmény rendszerünknek köszönhetően rengeteg tartalmat elérhetsz.","WEBSITE_MAINPAGE_FAQ_004_H1":"A Stremio nyílt forráskódú?","WEBSITE_MAINPAGE_FAQ_004_P1":"Igen, megnézheted a következő linkeken: ${1}asztali alkalmazás${2} és ${3}GitHub org${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"A Stremio biztonságos?","WEBSITE_MAINPAGE_FAQ_005_P1":"Igen: mivel nyílt forráskódú szoftverről van szó, a kód nyilvánosan auditálható, és Te is ellenőrizheted.","WEBSITE_MAINPAGE_FAQ_005_P2":"A Stremio addon rendszerét is a felhasználó biztonságát szem előtt tartva hoztuk létre. A bővítmények nem futtatnak kódot helyileg, így nem okoznak biztonsági kockázatot az eszközökben.","WEBSITE_MAINPAGE_FAQ_006_H1":"Mi a helyzet az adatbiztonsággal?","WEBSITE_MAINPAGE_FAQ_006_P1":"Tiszteletben tartjuk a felhasználók adatait, és a fiók létrehozásához és szinkronizálásához szükséges minimumon kívül semmilyen személyes adatot nem gyűjtünk.","WEBSITE_MAINPAGE_FAQ_006_P2":"A regisztráció során ${1}Vendég mód${2} is elérhető, amelyhez nincs szükség semmilyen adatra: ebben a módban nem történik hívás a háttérrendszerünkbe. Azonban ezzel hasznos funkciókról maradsz le, mint a könyvtár szinkronizálása készülékek között.","WEBSITE_MAINPAGE_FAQ_007_H1":"Kivetíthetem a tévémre?","WEBSITE_MAINPAGE_FAQ_007_P1":"Igen, támogatjuk a Chromecastot, és kivetíthetsz asztali és mobilalkalmazásokból is (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Hány bővítménye van a Stremiónak?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 végén több mint 50 – további információkért tekintsd meg bővítmény katalógusunkat.","WEBSITE_MAINPAGE_FAQ_009_H1":"Bővíthető-e a Stremio a böngésző katalógusban foglaltakon túl?","WEBSITE_MAINPAGE_FAQ_009_P1":"Igen, nézd meg ezeket: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6} stb.","WEBSITE_MAINPAGE_FAQ_010_H1":"Milyen eszközöket támogat a Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Vannak asztali alkalmazásaink Windowsra, Macre és Linuxra. ","WEBSITE_MAINPAGE_FAQ_010_P2":"Számos Android-alapú eszköz létezik, amelyeken a Stremio futtatható, például az NVIDIA Shield és az Amazon Fire Stick, de hivatalosan nem támogatjuk őket.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Vannak asztali alkalmazásaink Windows, Mac és Linux operációs rendszerekhez. Dedikált alkalmazásaink vannak Android Mobile és Android TV platformokra is. iOS és iPadOS esetén a Stremio Web használatát javasoljuk, bár ez korlátozottabb funkcionalitású.","WEBSITE_MAINPAGE_FAQ_011_H1":"Hozzá tudnátok adni bizonyos tartalmakat a Stremióhoz?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sajnáljuk, mi magunk nem biztosítunk tartalmat, de minél több Stremio bővítményt telepítesz, annál több tartalmat találsz.","WEBSITE_MAINPAGE_FAQ_012_H1":"A Stremio le tudja játszani a mágnes linkeket?","WEBSITE_MAINPAGE_FAQ_012_P1":"Igen, és normál HTTP hivatkozásokat és torrent fájlokat is le tud játszani (csak húzd be az alkalmazásba).","WEBSITE_MAINPAGE_FAQ_013_H1":"Letölthetek videót és megnézhetem offline módban?","WEBSITE_MAINPAGE_FAQ_013_P1":"Az offline elérhetőség egy hamarosan elérhető funkció, de ha engedélyezed a Stremio számára, hogy gyorsítótárat tároljon az eszközödön (a beállítások panelről), később kapcsolat nélkül is megnézheted a videókat.","WEBSITE_MAINPAGE_FAQ_014_H1":"Semmi sem működik, segíts!","WEBSITE_MAINPAGE_FAQ_014_P1":"Biztos, hogy telepítetted a bővítményeket? Ha igen, keresd fel a ${1}segítség központot${2}","WEBSITE_MAINPAGE_FAQ_015_H1":"Hogyan tartja fenn a Stremio fejlesztési tevékenységét?","WEBSITE_MAINPAGE_FAQ_015_P1":"Alkalmanként nem tolakodó hirdetéseket jelenítünk meg, de fontolgatjuk az adományozási modellre való átállást.","WEBSITE_MAINPAGE_FAQ_015_P2":"Ha további kérdéseid vannak, keresd fel ${1}súgónkat${2}.","HELP_LEARN_MORE":"Segíts nekünk többet megtudni magadról.","LIFESTYLE":"Életmód","SPORTS":"Sport","FOOD_HEALTH":"Étel és egészség","BEAUTY_FASHION":"Szépség és divat","NEWS":"Hírek","GAMING":"Gaming","SCIENCE_EDUCATION":"Tudomány és oktatás","MUSIC":"Zene","TRAVEL":"Utazás","LATE_NIGHT":"Késő esti műsorok","REALITY":"Valóság","COMEDY":"Vígjáték","DIY":"DIY (barkácsolás)","TECH":"Tech","CINEMA":"Mozi","CONTINUE":"Folytatás","SLOW_LOADING":"LASSÚ BETÖLTÉS?","I_GIVE_UP":"FELADOM","LEARN_MORE":"Tudj meg többet","POOR_SOURCE":"Ez a forrás rosszul elérhető, vagy az internetkapcsolat nem elég gyors","PICK_CATEGORIES_ERR":"Legalább 3 kategóriát kell kiválasztanod","ADJUST_TIMING":"Állítsd be az időzítést a ","ADJUST_SIZE":"Állítsd be a méretet ezzel","SEARCH_ANYTHING":"Bármire kereshetsz...","ALL_CATEGORIES":"Minden","SEARCH_CATEGORIES":"Filmek, Sorozatok, YouTube & TV","SEARCH_PERSONS":"Színészek, Rendezők & Írók","SEARCH_PROTOCOLS":"HTTP & Mágnes linkek","SEARCH_TYPES":"IMDB / TVDB Linkek","WATCHED":"Megnézett","SHOW_LESS":"Kevesebb","LAST_SEARCHES":"Keresési előzmények","CLEAR_HISTORY":"Előzmények törlése","CHOOSE_SOME":"VÁLASSZ EZEKBŐL:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"A Web Remote nem tölthető be","STREMIO_OFFLINE":"A Stremio offline","STREMIO_EXPENSIVE_CONNECTION":"Azt észleltük, hogy mobil adatkapcsolatot használsz, folytatod?","USE_DATA":"Mobilkapcsolat használata","WARNING":"Figyelem","MORE_INFO":"Több információ ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Betöltés ...","STREMIO_TV_BACK_TO_LANGUAGES":"Vissza a nyelvekhez","STREMIO_TV_REMOTE":"Távirányító","STREMIO_TV_GO_TO":"Keresd fel ezt:","STREMIO_TV_OR_SCAN":"vagy szkenneld be ezt:","STREMIO_TV_ADDON_INSTRUCTIONS":"Kérjük, kövesd az utasításokat a kívánt bővítmények telepítéséhez.","STREMIO_TV_LIVE_TV":"Élő TV","STREMIO_TV_RESUME_WATCHING":"Megtekintés folytatása","STREMIO_TV_LOADING_BACKGROUND":"Háttér betöltése","STREMIO_TV_CHECKING_AUTHENTICATION":"Hitelesítés ellenőrzése","STREMIO_TV_LOADING_BOARD":"Tábla betöltése","STREMIO_TV_LOGIN_HEADER_LINE_1":"Azt akarjuk, hogy felhasználóink ​​a lehető legjobb személyre szabott élményben részesüljenek szoftverünkkel.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Éppen ezért kérjük, hogy hozzon létre és/vagy jelentkezzen be fiókjába.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Köszönjük a megértésed,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"A Stremio csapata","STREMIO_TV_REMOTE_INSTRUCTIONS":"A webes távirányító használatához okostelefonjával/táblagépével/asztali számítógépével:","STREMIO_TV_WIFI_SETUP":"Wi-Fi beállítás","STREMIO_TV_WIFI_HEADER_LINE_1":"A Stremio Circle nem észlelt internetkapcsolatot.","STREMIO_TV_WIFI_DETAILS_1":"Kapcsolódás ehhez:","STREMIO_TV_WIFI_DETAILS_2":"stremio-kör","STREMIO_TV_WIFI_DETAILS_3":"Jelszó használata:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Nyisson meg egy webböngészőt a következő hivatkozással:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Alapértelmezett","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Utolsó megtekintés szerint","STREMIO_TV_LIBRARY_SORT_NAME":"Név szerint","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Megtekintések száma szerint","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"${1}. évad","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} bővítmény betöltve...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} bővítmény még töltődik...","STREMIO_TV_PLAYER_SETTINGS":"A lejátszó beállításai","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Feliratok késleltetés","STREMIO_TV_PLAYER_AUDIO_DELAY":"Hang késleltetés","STREMIO_TV_PLAYER_VIDEO_SCALING":"Videó méretezése","STREMIO_TV_PLAYER_CHAPTERS":"Fejezetek","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"{1} kihagyása","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nem támogatott stream-forrás","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Külső link megnyitása sikertelen","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"A hang passthrough módban nem állítható","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Lejátszás ExoPlayerrel","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Lejátszás libVLC lejátszóval","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Váltás libVLC lejátszóra lejátszási hiba miatt","STREMIO_TV_ADDONS_TITLE":"Használja a Stremio alkalmazást telefonján vagy számítógépén a bővítmények telepítéséhez vagy konfigurálásához, majd nyomja meg a \\"Bővítők szinkronizálása\\" gombot.","STREMIO_TV_ADDONS_SUBTITLE":"Megjegyzés: győződjön meg arról, hogy ugyanazt a Stremio-fiókot használja","STREMIO_TV_ADDONS_SYNC_ADDONS":"Bővítmények szinkronizálása","STREMIO_TV_ADDONS_SYNC_SUCCESS":"A bővítmények sikeresen szinkronizálva","STREMIO_TV_ADDONS_SYNC_FAILED":"Nem sikerült szinkronizálni a bővítményeket","STREMIO_TV_META_LINK_FAILED":"A meta link megnyitása sikertelen","STREMIO_TV_CATALOG_LOADING":"A katalógus töltődik...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"A felület nyelve frissítve","STREMIO_TV_SETTINGS_THEME_UPDATED":"Téma frissítve","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Alapértelmezett lejátszó","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Külső lejátszó","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferált nyelv","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Másodlagos preferált nyelv","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnel lejátszás","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Lehetséges lejátszási problémák egyes eszközökön","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Előfordulhat, hogy egyes videoformátumok nem működnek","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Képkockasebesség egyeztetés","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Tiltva","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Csak képkockasebesség","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Képkockasebesség és Felbontás","STREMIO_TV_SETTINGS_NO_CACHING":"Gyorsítótárazás kikapcsolása","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Alapértelmezett","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Puha","STREMIO_TV_SETTINGS_PROFILE_FAST":"Gyors","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra gyors","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming szerver URL-je","STREMIO_TV_SETTINGS_SERVER_VERSION":"Szerver verzió","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Ismeretlen","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio verzió","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Szerver URL-jének módosítása","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Adja meg a streaming szerver URL-jét","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Statisztikák megjelenítése betöltés közben","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"A Stremio adatvédelmi szabályzatának elolvasásához látogasson el:","STREMIO_TV_SETTINGS_TOS_TEXT":"A Stremio Általános Szerződési Feltételeinek elolvasásához látogasson el a következő oldalra:","STREMIO_TV_NAV_SEARCH":"Keresés","STREMIO_TV_NAV_HOME":"Kezdőlap","STREMIO_TV_NAV_DISCOVER":"Felfedezés","STREMIO_TV_NAV_LIBRARY":"Könyvtár","STREMIO_TV_NAV_MOVIES":"Filmek","STREMIO_TV_NAV_SERIES":"Sorozatok","STREMIO_TV_NAV_CHANNELS":"Csatornák","STREMIO_TV_NAV_TV":"Élő TV","STREMIO_TV_NAV_SETTINGS":"Beállítások","STREMIO_TV_NAV_ADDONS":"Bővítmények","STREMIO_TV_LOGIN_TITLE":"Fiók összekapcsolása","STREMIO_TV_LOGIN_EXPIRES_IN":"Lejár ekkor: ","STREMIO_TV_LOGIN_STEP_ONE":"Olvasd be a fenti QR-kódot, vagy nyisd meg a következő címet:","STREMIO_TV_LOGIN_STEP_TWO":"Jelentkezz be Stremio-fiókodba","STREMIO_TV_LOGIN_NEW_LINK":"Új link kérése","STREMIO_TV_LOGIN_LINK_REFRESHED":"A bejelentkezési kód frissítve","STREMIO_TV_SEARCH_PLACEHOLDER":"Írj valamit","STREMIO_TV_SEARCH_NO_ADDONS":"A katalógusokhoz nem lettek bővítmények hívva!","STREMIO_TV_SEARCH_BUTTON":"Keresés","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Keresési előzmények","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Címekre, színészekre, csatornákra és egyebekre kereshetsz...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Keresési előzmények törlése","STREMIO_TV_FILTERS_DESCRIPTION":"Válassz az alábbi szűrők közül","STREMIO_TV_STREAMING_SERVER_OFFLINE":"A streaming szerver offline állapotban van. Ellenőrizd a szerver beállításokat!","FILTERS":"Szűrők","SETTINGS":"Beállítások","ACCOUNT":"Fiók","LOGOUT":"Kijelentkezés","THEMES":"Témák","PLAYBACK":"Lejátszás","PLAYBACK_SPEED":"Lejátszási sebesség","AUDIO_TRACKS":"Hangsávok","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videók","SERVER":"Szerver","LINKS":"Linkek","ABOUT":"Rólunk","INTERFACE":"Felület","ANIMATIONS":"Animációk","STATUS":"Állapot","LANGUAGE":"Nyelv","SIZE":"Méret","DELAY":"Késleltetés","BOLD":"Félkövér","OPACITY":"Opacity","TEXT_COLOR":"Szöveg szín","OUTLINE_COLOR":"Körvonal színe","BACKGROUND_COLOR":"Háttérszín","BACKGROUND_BLUR":"Háttér elmosódása","SEEK_TIME_DURATION":"Tekerési idő hossza","AUTO_PLAY":"Következő epizód automatikus lejátszása","PLAY_NOW":"Lejátszás most","MARK_AS_WATCHED":"Megjelölés megnézettként","MARK_AS_UNWATCHED":"Megjelölés nem megnézettként","REWIND_TO_BEGINNING":"Vissza az elejére","CONTINUE_WATCHING":"Megtekintés folytatása","ALL":"Minden","SECONDS":"másodperc","ON":"BE","OFF":"KI","RELOAD":"Újratöltés","EDIT_URL":"URL szerkesztése","URL":"URL","NONE":"Egyik sem","EMBEDDED":"Beágyazott","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Eszközök váltása","REMOTE_VIDEOS":"Videók","REMOTE_ADJUST_TIMING":"Időzítés beállítása","REMOTE_ADJUST_SIZE":"Méret beállítása","REMOTE_COULD_NOT_BE_LOADED":"A Web Távirányító nem tölthető be","REMOTE_RETRY":"Újrapróbálkozás","TORRENT_PROFILE_DEFAULT":"Alapértelmezett","TORRENT_PROFILE_SOFT":"Puha","TORRENT_PROFILE_FAST":"Gyors","TORRENT_PROFILE_ULTRA_FAST":"Ultra gyors","MB_S":"MB/s","FAQ_001_H1":"Mi az a Stremio?","FAQ_001_P1":"A Stremio egy olyan médiaközpont-szoftver, amelyet videós szórakoztatásra terveztek, szem előtt tartva a könnyű kezelhetőséget. A Stremio lehetővé teszi a rendszerezést & nézd a saját film-, sorozat-, csatorna- és élő TV-gyűjteményedet.","FAQ_001_P2":"A Stremio a megjelenített tartalmat a helyi lemezről és a bővítmény rendszerünkről gyűjti össze.","FAQ_001_P3":"Ezenkívül értesít Téged, ha új epizódok/videók/filmek jelennek meg, amelyek érdekelnek, és filmajánlásokat is kínál.","FAQ_02_H1":"Hogyan hasonlítható a Stremio a Kodihoz és a Plexhez?","FAQ_02_P1":"Ez a két szoftver inspirált minket. De a céljaink különböznek - a Stremio kifejezetten a szórakoztató videókat célozza meg, és arra törekszik, hogy nagyon könnyen kezelhető megoldása révén a mainstream megoldássá váljon.","FAQ_02_P2":"A Stremio soha nem lesz olyan testreszabható és funkciókban gazdag, mint a Kodi és a Plex, de lényegesen könnyebben használható. Egyszerűen ${1} töltsd le és próbáld ki ${2} :)","FAQ_03_H1":"Hogyan hasonlítható a Stremio a Netflixhez?","FAQ_03_P1":"Ismételten, a Netflix az egyik inspirációnk. Arra törekszünk, hogy elérjük a Netflix felhasználói élményét, plusz egy csomó hozzáadott finomsággal. De ami a legfontosabb, megadjuk a szabadságot, hogy saját könyvtáradat kezelhesd és új tartalomforrásokat adj hozzá a bővítményrendszerünkkel.","FAQ_03_P2":"Ez végtelenül bővíthetővé teszi a Stremio-t, így a használata soha nem korlátozódik a Netflix által licencelt tartalomra. A Stremio segítségével például a ${1} Filmon.tv ${2}, ${3}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} és még maga a ${9}Netflix${10} is elérhető!","FAQ_04_H1":"Hogyan hasonlítható a Stremio a Flipboardhoz?","FAQ_04_P1":"Ritkán kapjuk ezt a kérdést, kivéve ha startup-osokkal beszélgetünk :)","FAQ_04_P2":"A Stremio eleve egy tartalomaggregátor, így tulajdonképpen a Flipboard, a videók számára. Ez jól látható a Tábla szekciónkban, amely katalógusokat és új epizód/új videó értesítéseket ad az általad követett videókról, akárcsak a Flipboard.","FAQ_05_H1":"Hogyan hasonlítható a Stremio a Popcorn Time-hoz?","FAQ_05_P1":"A Stremio és a Popcorn Time felhasználói felületben hasonló, mert nem sok módja van a szórakoztató videókatalógusok helyes elkészítésének :)","FAQ_05_P2":"Azonban míg a Popcorn Time bizonyos forrásokból származó torrentek streamelésére összpontosít, a Stremio nem korlátolt, és csupán egy tartalomgyűjtő – nincs egy adott tartalomforráshoz kötve.","FAQ_05_P3":"Ezenkívül alapértelmezés szerint nem biztosítunk torrent-bővítményeket, így a Stremio nem fedi le a Popcorn Time használati esetét hivatalos funkcionalitással.","FAQ_05_P4":"Egy másik figyelemre méltó különbség, hogy a Popcorn Time teljesen nyílt forráskódú, míg a Stremio ${1} részben nyílt forráskódú${2}.","FAQ_06_H1":"Hozzá tudnátok ezt a filmet/sorozatot?","FAQ_06_P1":"Nem sajnáljuk :(","FAQ_06_P2":"Ahogy a legtöbb más kérdésben is említettük, a Stremio önmagában nem nyújt semmilyen tartalmat - mindent a bővítményrendszerrel adunk hozzá. Amennyiben tartalmi kérésed van, használhatod a \\"Report\\" gombot a lejátszóban, amely egy e-mailt küld az éppen használt bővítmény készítőjének.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Készítenétek bővítményt az X-hez?","FAQ_08_P1":"Ez teljes mértékben lehetséges.","FAQ_08_P2":"Ha van bővítmény ötleted, írj nekünk a ${1}office@stremio.com${2} címre, de ügyelj arra, hogy bővítményötleted ne sértse a szerzői jogokat vagy a használati feltételeket.","FAQ_08_P3":"Jelenleg az ütemtervünk következő részei a FandangoNOW, a Filmon.tv video on demand és a Crunchyroll bővítmények.","FAQ_09_H1":"A Stremio BitTorrentet használ?","FAQ_09_P1":"Igen, a Stremio támogatja a BitTorrentet mint streaming protokollt. Ezt vagy egy torrent bővítménnyel, vagy egy .torrent fájl Stremio-ba történő behúzásával, vagy egy mágneses link beillesztésével a keresősávba használhatod.","FAQ_09_P2":"Kérjük, vedd figyelembe, hogy az egyetlen BitTorrentet használó hivatalos bővítmény a ${1}Vodo${2}, amely független (indie) tartalmakat biztosít, amelyek mind a BitTorrenttel legálisan terjeszthetőek.","FAQ_09_P3":"Nem támogatjuk olyan harmadik féltől származó bővítmények használatát, amelyek lehetővé tehetik a szerzői jogok megsértését.","FAQ_10_H1":"Mit nézhetek meg a Stremióban a hivatalos bővítményekkel?","FAQ_10_P1":"Alapértelmezés szerint a Filmon.tv, a YouTube és a Vodo tartalmait magán a Stremio-n belül nézheted meg, annak beágyazott lejátszójával. ","FAQ_10_P2":"Ez a kombináció a következőket kínálja:","FAQ_10_L1":"A Filmon.tv által biztosított népszerű tévécsatornák – például E4, BBC, Bollyworld TV","FAQ_10_L2":"Minden a YouTube-ról – például BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Független (indie) filmek a Vodóval","FAQ_10_L4":"Online játékközvetítések a Twitch.tv-vel","FAQ_10_P3":"Ezenkívül számos olyan tartalomforrás van, amelyet a Guidebox és a Netflix bővítmények biztosítanak, amelyek nem játszanak le teljesen a Stremio-n belül, hanem átirányítanak az adott szolgáltatásra. A Guidebox addon például az USA-ban ingyenesen streamelhető filmekből ad válogatást, olyan szolgáltatásokból, mint a TubiTV és a Crackle.","FAQ_11_H1":"A Stremio nem települ, mit tegyek?","FAQ_11_P1":"Ha Windows-ot használsz, próbáld ki ${1}ezt az alternatív telepítőt${2}.","FAQ_11_P2":"Ha Mac OS X-et használsz, ne feledd, hogy az OS X Mavericks (10.9)-nél régebbi rendszereket nem támogatjuk.","FAQ_11_P3":"Ha Linuxot használsz, ne feledd, hogy jelenleg csak a 64 bites (x64) Linuxot támogatjuk.","FAQ_11_P4":"Ha továbbra sem tudod megoldani a problémát, kérjük, írj nekünk ${1}Facebook csoportunkba${2}.","FAQ_12_H1":"Miért panaszkodik a vírusirtóm? A Stremio biztonságos?","FAQ_12_P1":"Biztosíthatunk, hogy a Stremio ${1}100%-ban tiszta${2}.","FAQ_12_P2":"A vírusirtód azért panaszkodik, mert a telepítőnkben olyan hirdetéseket helyezünk el, amelyeket egyes vírusirtó programok reklámanyagként ismernek fel.","FAQ_12_P3":"Ha még mindig nem vagy biztos benne, próbáld ki az ${1}alternatív telepítőnket${2}.","FAQ_13_H1":"Hogyan készíthetek bővítményt?","FAQ_13_P1":"Kezdetnek javasoljuk, hogy tekintsd meg ${1}bővítmény rendszermodulunkat${2} a GitHubon.","FAQ_13_P2":"Ezt követően követheted a ${1}Hello World tutorial-t${2}.","FAQ_13_P3":"Ha nem rendelkezel programozási ismeretekkel, kérjük, tedd közzé ötletedet a ${1}a Reddit közösségben${2}, és vedd fel velünk a kapcsolatot a bővítmény ötletével a ${3}office@stremio.com${4} címen.","FAQ_14_H1":"Hogyan jelennek meg a bővítmények?","FAQ_14_P1":"Amikor létrehozol egy bővítményt és egy hosztot, és egy endpoint mezőt teszel a manifesztedbe, amely egy működő bővítmény címére mutat, az bővítmény automatikusan közzéteszi magát a ${1}Bővítmény katalógus${2}-ban.","FAQ_14_P2":"Ez azért történik, mert a stremio-addons modul szerver része automatikusan meghívja az API-t, hogy bejelentse a bővítményt. Amikor az API érvényesíti az endpoint-odat, az megjelenik a katalógusban.","FAQ_15_H1":"Futtathatom a Stremiót a böngészőmben?","FAQ_15_P1":"Jelenleg nem, de hamarosan érkezik!","FAQ_15_P2":"Ha kíváncsi vagy egy alfa verzióra, itt megtekintheted: ${1}alpha4.strem.io${2}. Ne feledd, hogy a streamelés nincs engedélyezve az alfa verzióban. Támogatjuk a Chrome, Firefox, Opera és Edge böngészőket.","FAQ_16_H1":"Nem működik a kivetítés a tévére / a feliratok nem működnek","FAQ_16_P1":"A tévére való kivetítés a DLNA technológiát használja, amely a különböző tévémárkák és modellek között nagyon eltérő. Emiatt nem áll módunkban minden esetben tesztelni, így messze nem tökéletes. Ennek ellenére folyamatosan dolgozunk a javításán, de nem tudunk becsült időt mondani arra vonatkozóan, hogy a DLNA mikor kezd el megfelelően működni a tévével.","FAQ_16_P2":"Ha nem látod a tévét a kivetítés menüben sem, próbáld meg letiltani a hálózati kapcsolatot, majd újra engedélyezni (Windowson a jobb gombbal kattints a hálózatra, és használd az Enable/Disable (Engedélyezés/Tiltás) lehetőséget), valamint indítsd újra a routert, a tévét és a számítógépet.","FAQ_16_P3":"Ha továbbra is problémákat tapasztalsz, segíthetsz nekünk, ha elküldöd tévéd márkájára és modelljére vonatkozó információkat a ${1}office@stremio.com${2} címre.","FAQ_16_P4":"Addig is javasoljuk a Chromecastot, amit nagyon jól támogatunk, vagy egyszerűen csak csatlakoztasd a tévét a számítógéphez HDMI-kábellel.","FAQ_17_H1":"A Stremio lefagy és/vagy összeomlik, mit tehetek?","FAQ_17_P1":"Először is, ha Windows 7-et használsz AVG vírusirtóval: van egy problémánk ezzel a kombinációval. A probléma magában az AVG-ben van, és nincs ésszerű megoldás a mi oldalunkon. Sajnos a kivételek vagy a vírusirtó letiltása nem fog működni. Az egyetlen megoldás az AVG lecserélése valami másra.","FAQ_17_P2":"Ha nem ez a probléma, de Windows-t használsz, frissítsd a legújabb szervizcsomagra és frissítsd/telepítsd újra a GPU-illesztőprogramokat, majd próbáld meg újra.","FAQ_17_P3":"Ha a probléma továbbra sem oldódott meg, vagy Mac-et vagy Linuxot használsz, kérjük, írd meg nekünk a probléma pontos részleteit ${1}Facebook-csoportunkban${2}.","FAQ_18_H1":"Hogyan készíthetek bővítményt?","FAQ_18_P1":"Kezdetnek javasoljuk, hogy tekintsd meg a ${1}bővítmény rendszermodulunkat${2} a GitHubon.","FAQ_18_P2":"Ezt követően követheted a ${1}Hello World oktatóprogramot${2}.","FAQ_18_P3":"Ha nem rendelkezel programozási ismeretekkel, kérjük, tedd közzé ötletedet a ${1}a Reddit közösségben${2}, és vedd fel velünk a kapcsolatot a bővítmény ötletével a ${3}office@stremio.com${4} címen.","FAQ_19_H1":"Miért foglal helyet a Stremio a lemezen?","FAQ_19_P1":"A Stremio rendelkezik egy helyi gyorsítótárral a streamelt videofájlok ideiglenes megtartásához.","FAQ_19_P2":"Ennek két előnye van: először is, lehetővé teszi a Stremio számára, hogy előre pufferelje a videót, így biztosítva a zökkenőmentesebb streaminget. Másodszor, a videókat a helyi gyorsítótárban tartja, így offline is nézheted őket.","FAQ_19_P3":"Az, hogy a Stremio mennyi adatot tart meg, a Beállítások panelen található Gyorsítótár beállítástól függ. A Stremio a beállított mennyiségig (pl. 2 GB) tárolhatja a lemezen, kivéve, ha az éppen streamelt videó ennél nagyobb, ebben az esetben elegendő tárhelyet kell elkülöníteni ahhoz, hogy a streamelés végéig tárolja.","FAQ_20_H1":"Hol van a gyorsítótár mappa?","FAQ_20_P1":"Windows rendszeren a stremio-cache a Beállításokban kiválasztott meghajtón található (pl. \\"E:\\\\stremio-cache\\").","FAQ_20_P2":"MacOS rendszeren ez a \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linuxon ez \\"~/.stremio/stremio-cache\\" vagy \\"~/stremio-cache\\"","FAQ_21_H1":"\\"A streaming szerver nem található\\" hibaüzenetet kapok, mit tehetek?","FAQ_21_P1":"Ha ezt a hibát kapod, az a több dolgot jelenthet:","FAQ_21_P2":"1) Egy YouTube/BitTorrent forrás által támogatott bővítményt próbálsz használni a ${1}web verzió${2} segítségével. Ebben az esetben telepítsd az asztali verziónkat a ${3}weboldalunkról${4}.","FAQ_21_P3":"2) Valami baj van a Stremio telepítésével. Ebben az esetben próbáld meg újra telepíteni a legújabb asztali verziónkat a ${1}a weboldalról${2}. Ha ez nem segít, próbáld meg kikapcsolni a vírusirtó programokat és a tűzfalat, indítsd újra a számítógépet, és próbáld meg újra. Ha ez sem működik, kérjük, írj nekünk a ${3}Facebook-csoportunkba${4}.","FAQ_22_H1":"Nem látom/nem tudom használni a legtöbb bővítményt az iOS rendszeren","FAQ_22_P1":"Az Apple App Store általános szerződési feltételeiben foglalt korlátozások miatt az iOS-alkalmazást csak a bővítmények egy adott készletére korlátoztuk.","FAQ_22_P2":"De nyugodt lehetsz - a jövőben több bővítményt fogunk készíteni iOS-re, és lehet, hogy egy olyan integrációt is hozzáadunk, amely lehetővé teszi az összes Stremio bővítmény használatát az iOS alkalmazás és a Stremio Streaming Server összekapcsolásának köszönhetően."}')},43363:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serial","TYPE_tv":"Saluran TV","TYPE_channel":"Saluran","TYPE_other":"Lainnya","TYPE_movie_PL":"Film","TYPE_series_PL":"Serial","TYPE_tv_PL":"Saluran TV","TYPE_channel_PL":"Saluran","TYPE_other_PL":"Lainnya","TYPE_ALL":"Semua","TYPE":"Jenis","CATALOG_com_linvo_cinemeta_top":"Populer","CATALOG_com_linvo_cinemeta_imdbRating":"Unggulan","CATALOG_com_linvo_cinemeta_year":"Baru","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Film Ranah Umum","VIDEO":"Video","BACK":"Kembali","MORE":"Lebih Banyak","DONE":"Selesai","COPY":"Salin","SUCCESS":"Berhasil","ERROR":"Galat","SETTINGS_CASTING_MODE_PICKER":"Mode transmisi","CASTING_MODE_HLSV2":"Bawaan","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Tanpa pengkodean ulang","Discover":"Temukan","Board":"Papan","Library":"Pustaka","My Library":"Pustakaku","Calendar":"Kalender","NOTIFICATION_ONLINE":"Anda sedang daring","NOTIFICATION_OFFLINE":"Anda sedang luring","INTERNET_CONNECTION":"Koneksi Jaringan","STORAGE_FULL_TITLE":"Peringatan: Penyimpanan penuh!","STORAGE_FULL_TEXT":"Stremio tidak akan dapat menyimpan pengaturan, preferensi, atau informasi login Anda. Pertimbangkan untuk memulai ulang atau memasang ulang Stremio.","SEARCH":"cari","SEARCH_NO_RESULTS":"Tidak ada hasil yang ditemukan","SEARCH_EXPLANATION_CONTENT":"Pencarian untuk film, serial, YouTube dan saluran TV","SEARCH_EXPLANATION_PEOPLE":"Pencarian untuk aktor, sutradara dan penulis","SEARCH_PASTE_LINKS":"Tempelkan HTTP dan tautan Magnet","SEARCH_OR_PASTE_LINK":"Cari atau tempelkan tautan","SEARCH_SUGGESTIONS":"Saran Pencarian","ADD_TO_LIB":"Tambah ke Pustaka","REMOVE_FROM_LIB":"Hapus dari Pustaka","ADDED_TO_LIB":"Ditambahkan ke Pustaka","REMOVED_FROM_LIB":"Dihapus dari Pustaka","TRAILER":"Cuplikan","WATCH_TRAILER":"Tonton cuplikan","WATCH_NOW":"Tonton sekarang","SHOW":"Tampilkan","SHOW_MOVIE":"Tampilkan film","WATCH_RANDOM":"Tonton acak","IMDB_RATING":"Peringkat IMDb","YEAR":"Tahun","DIRECTOR":"Sutradara","WRITER":"Penulis","LEAD_ACTORS":"Aktor utama","CAST":"Pemeran","CREW":"Kru","SHOW_MORE_CAST":"Tampilkan lebih banyak »","AIRED":"Ditayangkan","SEASONS":"Musim","GENRE":"Genre","GENRE_ALL":"Semua genre","CATALOG":"Katalog","SUMMARY":"Ringkasan","SHOW_MORE":"Tampilkan lebih banyak","SIMILAR":"Serupa","UPCOMING":"Mendatang","TBA":"TBA","ENDED":"Berakhir","DURATION":"Durasi","FEATURED":"Unggulan","METADATA":"Metadata","CATEGORY":"Kategori","LINKS_GENRES":"Genre","LINKS_CAST":"Pemeran","LINKS_DIRECTORS":"Sutradara","SEARCH_VIDEOS":"pencarian video","SEARCH_PLACEHOLDER":"cari atau tempelkan URL","ADDON":"tambahan","ADDONS":"Tambahan","OFFICIAL":"Resmi","ADDONS_OFFICIAL":"Tambahan Resmi Stremio","ADDONS_POPULAR":"Populer di area Anda","ADDON_FREE":"gratis","ADDON_PEERED":"dipadan","ADDON_SUBSCRIPTION":"langganan","ADDON_STREAM_GEORESTRICTED":"tidak tersedia di area Anda","ADDON_STREAM_OFFLINECACHE":"Tembolok Luring","ADDON_STREAM_LOCALFILE":"Berkas lokal","SHARE_ADDON":"Berbagi Tambahan","AVAILABLE_STREAMS":"Siaran yang Tersedia","NO_STREAM":"Tidak Tersedia Siaran","ALL_ADDONS":"Semua","INSTALL_MORE_ADDONS":"Untuk lebih banyak siaran, pasang lebih banyak tambahan","STREAM_NOT_SUPPORTED":"Siaran yang dipilih tidak didukung di platform ini.","ADDON_CATALOGUE":"Tampilkan semua tambahan »","ADDON_CATALOGUE_MORE":"Pasang tambahan","REPO_ADDED":"Repositori ditambahkan","ADDON_REPO_EXIST_ERR":"Koleksi tambahan ini sudah ada","ADDON_REPO_ERR":"Terjadi kesalahan saat menambahkan koleksi","ADDON_ADD_ERR":"Terjadi kesalahan saat menambahkan tambahan","ERR_ADDON_PROTECTED":"Tidak dapat menghapus tambahan karena dilindungi","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Ada yang tidak beres - autentikasi mungkin gagal","ERR_NOT_COLLECTION_URL":"Bukan URL koleksi","ERR_NOT_ADDON_URL":"Bukan URL tambahan yang valid","ERR_DETECTFROMURL":"Tidak dapat menemukan tambahan/koleksi dari URL ini","ADDON_DUPLICATE_WARNING":"Peringatan: tambahan terduplikasi","ADDON_COLLECTION_SET_FAILED":"Sinkronisasi tambahan terpasang ke akun Anda gagal","SETTINGS_DATA_EXPORT":"Ekspor data pengguna","ADDON_PULL_FAILED":"Sinkronisasi tambahan terpasang dari akun Anda gagal","REFRESH_ON_CLICK":"Klik untuk mencoba lagi","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film masih di bioskop","WATCH_IN_CINEMA":"Tonton di bioskop setempat Anda","IN_THEATER":"Di bioskop","GET_TICKETS":"Dapatkan tiket","UPCOMING_EPISODE":"Episode Mendatang","UPCOMING_EPISODE_MESSAGE":"Episode ini akan ditayangkan pada","MISSING_DATE_EPISODE":"Tanggal episode tidak ditemukan","MISSING_DATE_EPISODE_MESSAGE":"Episode mungkin belum tayang","CHANNEL_NOT_SCRAPED":"Saluran ini belum diambil.
    Mohon kembali beberapa saat lagi.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Tambahkan ke pustaka anda agar dikabarkan jika tersedia.","GET_NOTIFIED_WHEN_AVAILABLE":"Anda akan dikabarkan jika tersedia.","WARNING_STREAMING_SERVER":"Peringatan: server siaran lokal tidak ditemukan. Siaran dari berkas lokal, Youtube dan BitTorent tidak akan tersedia.","WARNING_STREAMING_SERVER_DISMISS":"Hiraukan","WARNING_STREAMING_SERVER_LATER":"Nanti","DECODER_WARNING":"Peringatan: video ini mungkin tidak didukung perangkat anda. Pemutaran bisa lambat","GENERIC_ERROR_MESSAGE":"Ada yang salah!","TRY_AGAIN":"Coba lagi","CLEAR_DATA":"Bersihkan data","PLAYER_ERROR":"Oops, Galat Pemutar","PLAYER_ERROR_LOOKSLIKE":"Sepertinya","PLAYER_ORIENTATION":"Orientasi pemutar","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Terkunci","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Orientasi pemutar terkunci pada lanskap","PLAYER_ORIENTATION_SENSOR":"Orientasi pemutar otomatis (sensor)","PLAYER_PLAYBACK_SPEED":"Kecepatan Pemutaran","PLAYER_PLAYBACK_ERROR":"Galat memutar, mohon coba lagi","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Galat tidak diketahui","PLAYER_PLAYBACK_ERROR_DEFAULT":"Maaf, video ini tidak bisa diputar dengan {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Bahasa Takarir","PLAYER_SUBTITLES_VARIANTS":"Varian Takarir","PLAYER_SUBTITLES_SETTINGS":"Pengaturan Takarir","PLAYER_SUBTITLES_DISABLED":"Takarir dimatikan","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posisi Vertikal","PLAYER_SUBTITLES_LOADED":"Takarir dimuat","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Takarir tertanam dimuat","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Takarir eksklusif dimuat","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Takarir dari {{origin}} dimuat","PLAYER_PLAY":"Putar","PLAYER_PAUSE":"Jeda","PLAYER_NEXT_VIDEO":"Video Berikutnya","PLAYER_MUTE":"Bisukan","PLAYER_UNMUTE":"Bunyikan","PLAYER_OPEN_IN_EXTERNAL":"Buka di pemutar eksternal","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Putar di {{device}}","PLAYER_LIVE":"Langsung","PLAYER_NEXT_VIDEO_TITLE":"Selanjutnya di","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Hiraukan","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Tonton sekarang","PLAYER_COPY_STREAM_SUCCESS":"Tautan siaran telah disalin ke papan klip","PLAYER_COPY_STREAM_ERROR":"Gagal menyalin tautan siaran","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Tautan unduhan telah disalin ke papan klip Anda","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Gagal menyalin tautan","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Siarkan dari","CASTING_TO":"Transimisi ke","NETWORK_STATUS":"Status jaringan","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Disangga:","PEERS_INFO":"Informasi rekan","PEERS_ACTIVE":"Aktif:","PEERS_CONNECTED":"Terhubung:","PEERS_WAITING":"Menunggu:","TRANSCODING_WARNING":"Peringatan: mengkode ulang video.","STREAM_LOADING":"memuat...","PLAYING_LOCAL":"memutar dari berkas lokal","PLAYING_CACHE":"memutar dari tembolok","WRONG_SUBS":"Takarir salah?","ERR_SUBS_LOADING_TITLE":"Gagal memuat takarir","ERR_SUBS_LOADING":"Gagal memuat takarir: mungkin ada masalah dengan tambahan yang Anda pakai, atau koneksi jaringan Anda","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Tambahan takarir berikut gagal","ERR_CASTING_UPDATE_TITLE":"Tidak dapat memperbarui info perangkat transmisi: server siaran mungkin luring","CHOOSE_DEVICE":"Pilih perangkat untuk menonton","NO_CAST_DEVICES":"Tidak ada perangkat transmisi tersedia.","NO_SETTINGS":"Tidak ada pengaturan tersedia.","NO_OPTIONS":"No options available","PHONE_TABLET":"Ponsel / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Takarir","SUBTITLES_CHANGE":"Ganti takarir untuk ","SUBTITLES_CHANGE_NONE":"Maaf, tidak ada takarir lain untuk bahasa ini.","SUBTITLES_CHANGE_ACIVE":"Saat ini takarir #{{subtitlesDialog.activeIdx + 1}} aktif. Pilih \\"Lanjut\\" untuk mengaktifkan takarir #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Atau,","SUBTITLES_ADJUST_DELAY":"Atur penundaan takarir:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Atau gunakan tombol G / H ketika memutar untuk mengatur.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: Anda dapat menggunakan tombol G / H ketika memutar untuk mengatur.","SUBTITLES_DELAY":"Penundaan takarir:","SUBTITLES_LOADING":"Memuat takarir...","SUBTITLES_UNAVAILABLE":"Tidak ada takarir eksternal tersedia","SUBTITLES_DISABLED":"Dimatikan","EXTERNAL_PLAYER_DISABLED":"Dimatikan","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Perbolehkan memilih","EXTERNAL_PLAYER_HINT":"Petunjuk: Ada pengaturan untuk memperbolehkan selalu membuka dengan pemutar eksternal","DONT_SHOW_AGAIN":"Jangan tampilkan lagi","SERVICE_INSTALL":"Pasang","AUDIO":"Audio","DEFAULT_LANGUAGE":"Bahasa Bawaan","DEFAULT_SECONDARY_LANGUAGE":"Bahasa Kedua Bawaan","SEASON":"Musim","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Spesial","SORT":"urutkan","SORT_BY":"Urutkan berdasarkan","FILTER":"saring","SORT_TRENDING":"urutkan populer","SORT_RECENT":"terbaru","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"penilaian","SORT_WATCHED":"ditonton","SORT_YEAR":"tahun","SELECT":"Select","SELECT_TYPE":"Pilih jenis","SELECT_SORT":"Pilih urutan","SELECT_CATALOG":"Pilih katalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Pilih genre","SORT_LASTWATCHED":"Ditonton terakhir","SORT_NAME":"Nama","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Berapa kali ditonton","SORT_NOTWATCHED":"tidak ditonton","New for You":"Baru untuk Anda","New Episodes":"Episode Baru","New Videos":"Video Baru","Recommendations":"Rekomendasi","LIBRARY_RESUME":"Lanjutkan","LIBRARY_PLAY":"Putar","LIBRARY_DETAILS":"Rincian","LIBRARY_RESUME_DISMISS":"Hiraukan","LIBRARY_CLEAR_PROGRESS":"Mulai dari awal","LIBRARY_REMOVE":"Hapus","LIBRARY_NOT_LOGGED_IN":"Pustaka hanya tersedia untuk pengguna yang masuk","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Kalender hanya tersedia untuk pengguna yang masuk","NOT_LOGGED_IN_CLOUD":"Akses film dan siaran TV kesukaan Anda di mana saja, kapan saja","NOT_LOGGED_IN_RECOMMENDATIONS":"Rekomendasi sesuai riwayat tontonan Anda","NOT_LOGGED_IN_NOTIFICATIONS":"Jangan pernah ketinggalan episode lagi","NOT_LOGGED_IN_CALENDAR":"Jadwalkan kalender tonton pribadi Anda","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Unggulan","DISCOVER_TOP":"Teratas","DISCOVER_OSCAR":"Pemenang Oscar","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Tambahan ini kosong.","DISCOVER_ADULT_WARNING":"Konten ini hanya untuk dewasa. Apakah Anda berusia 18+?","DISCOVER_NOADDON_WARNING":"Peringatan: tidak ada tambahan Stremio aktif untuk jenis ini. Hanya menampilkan yang tersimpan, tidak bisa memperbarui.","DISCOVER_LOAD_ERR":"Konten tidak termuat, galat terjadi.","DISCOVER_ADDON_UNINSTALLED":"Konten ini tidak lagi tersedia, Anda dapat menghapus tambahan.","UNINSTALL_THIS_ADDON":"Hapus tambahan ini","ERR_ADDON_NOT_INSTALLED":"Tambahan ini tidak terpasang. Pasang sekarang?","DETAIL_RECEIVE_NOTIF_SERIES":"Terima notifikasi untuk serial baru","DETAIL_RECEIVE_NOTIF_VIDEOS":"Terima notifikasi untuk video baru","SIDEBAR_SHOW_STREAMS":"Tampilkan siaran","RELAUNCH":"Buka ulang sekarang!","UPGRADE":"Versi baru tersedia! Tingkatkan ke versi Stremio terbaru","RELOAD_UI":"Muat ulang antarmuka","MANUAL_UPDATE_TITLE":"Tingkatkan versi Stremio Anda","MANUAL_UPDATE_LINE1":"Anda menjalankan versi usang Stremio yang sangat tidak disarankan.","MANUAL_UPDATE_LINE2":"Mohon perbarui secepatnya.","BUTTON_UPDATE_LATTER":"Tidak sekarang","BUTTON_UPDATE_NOW":"Perbarui","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Pengguna anonim","DONT_HAVE_ACC":"Tidak punya akun?","HAVE_ACC":"Sudah punya akun?","PASSWORD":"Sandi","PASSWORD_CONFIRM":"Konfirmasi sandi","EMAIL":"E-mail","FB_LOGIN":"Lanjutkan dengan Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Tidak ada yang dibagikan tanpa izin Anda","FB_NOPOST":"Kami tidak akan mengirimkan apapun atas nama Anda","OR":"atau","I_ACCEPT":"Saya terima","I_ACCEPT_BY_CLICKING":"Dengan mengklik tombol di atas saya bersaksi bahwa saya terima ","TOS":"Syarat dan Ketentuan","MUST_ACCEPT_TERMS":"Anda harus menerima syarat","PASSWORDS_NOMATCH":"Sandi tidak cocok","SIGN_UP":"Daftar","SIGN_UP_EMAIL":"Daftar dengan email","CLICK_TO_SIGN_UP":"Klik di sini untuk daftar.","LOG_IN":"Masuk","LOG_OUT":"Keluar","EXIT_FULLSCREEN":"Keluar dari mode layar penuh","ENTER_FULLSCREEN":"Masuk mode layar penuh","PLAY_URL_MAGNET_LINK":"Putar tautan URL/Magnet","HELP_FEEDBACK":"Bantuan & Masukan","TERMS_OF_SERVICE":"Ketentuan Layanan","PRIVACY_POLICY":"Kebijakan Privasi","ABOUT_STREMIO":"Tentang Stremio","USER_PANEL":"Panel Pengguna","LOGIN_LABEL":"Masuk","GUEST_LOGIN":"Masuk sebagai tamu","GUEST_LOGIN_NOTICE":"Masuk sebagai tamu tidak disarankan. Masuk biasa memperbolehkan Stremio untuk mensinkronkan Pustaka Anda, menerima notifikasi serial/saluran kesukaan Anda. Yakin ingin melanjutkan?","GUEST_LOGIN_NOTICE_2":"Masuk sebagai tamu tidak disarankan - Anda tidak akan menerima Pustaka tersinkron dan notifikasi Papan, yang merupakan fitur penting Stremio. Yakin ingin melanjutkan?","CLICK_HERE":"klik di sini","WRONG_PASSWORD":"Email atau sandi salah. Jika anda lupa sandi, ","SET_A_PASS":"setel sandi","RESET_PASSWORD":"Setel ulang sandi","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Lupa sandi?","EMAIL_USED_WITH_FB":"Email ini digunakan dengan masuk lewat Facebook.","INVALID_EMAIL":"Mohon masukkan alamat email yang valid","INVALID_PASSWORD":"Mohon masukkan kata sandi yang valid","CONN_ERR":"Galat koneksi - mohon coba lagi nanti.\\n\\nJika masih berlanjut, matikan firewall/antivirus (terutama Bitdefender).","IMPORT_FROM_GUEST":"Impor Pustaka dari akun tamu Anda","RECEIVE_UPDATES_EMAIL":"Terima pembaruan dari Stremio di email Anda","LOGIN_FAILED":"Gagal masuk.","SIGNUP_FAILED":"Gagal daftar.","SEARCH_FAILED":"Gagal mencari","EMAIL_USED":"Email ini sudah digunakan.","WAITING_FB_LOGIN":"Masuk menggunakan Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Putar di pemutar eksternal","EXTERNAL_REMEMBER_PLAYER":"Apakah Anda ingin mengingat pilihan","EXTERNAL_ALWAYS_PLAY":"Ya","EXTERNAL_ONLY_ONCE":"Tidak","BEST_FIT":"Paling sesuai","FIT_SCREEN":"Paskan layar","FILL":"Isi","16:9":"16:9","4:3":"4:3","Original":"Asli","INTRO_TASTE":"Katakan apa yang Anda inginkan","INTRO_TASTE_LONG":"Katakan apa yang Anda ingin tonton","INTRO_TASTE_PICK":"Pilih {{interestsRemaining}} minat","INTRO_TASTE_PICK_MORE":"Pilih {{interestsRemaining}} minat lagi","INTRO_TASTE_HELP_US":"Bantu kami mengenal Anda lebih baik.","INTRO_TASTE_CHOOSE_THESE":"Pilih beberapa:","INTRO_TASTE_CHOOSE_MIN":"Pilih setidaknya 3 kategori","INTRO_TASTE_CHOOSE_MIN_ERR":"Anda harus memilih setidaknya 3 kategori!","INTRO_TASTE_LIFESTYLE":"Gaya hidup","INTRO_TASTE_SPORTS":"Olahraga","INTRO_TASTE_FOOD_HEALTH":"Kuliner & Kesehatan","INTRO_TASTE_BEAUTY_FASHION":"Kecantikan & Busana","INTRO_TASTE_NEWS":"Berita","INTRO_TASTE_GAMING":"Permainan","INTRO_TASTE_SCIENCE_EDU":"Sains & Pendidikan","INTRO_TASTE_MUSIC":"Musik","INTRO_TASTE_TRAVEL":"Wisata","INTRO_TASTE_LATE_NIGHT":"Acara Tengah Malam","INTRO_TASTE_REALITY":"Realitas","INTRO_TASTE_COMEDY":"Komedi","INTRO_TASTE_DIY":"Swakarya","INTRO_TASTE_TECH":"Teknologi","INTRO_TASTE_CINEMA":"Sinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Tambahan terpilih tidak didukung platform ini.","ADDON_DISCLAIMER":"Menggunakan tambahan pihak ketiga akan selalu berada di bawah tanggung jawab Anda dan hukum yang berlaku di tempat Anda berada.","ADDON_ACTIVATE":"Aktifkan tambahan ini?","ADDON_REPO_ADD":"URL koleksi tambahan","ADDON_ADD":"Tambah","INSTALL_ADDON":"Pasang tambahan","ADD_ADDON":"Tambah tambahan","ADD_ADDON_DESCRIPTION":"Anda dapat menambah tambahan lewat tautan eksternal, yang akan terlihat di bawah Tambahan terpasang.","PASTE_ADDON_URL":"Tempel URL tambahan","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Yang terbaru","BUTTON_CONTINUE":"Lanjutkan","BUTTON_ACTIVATE":"Aktifkan","BUTTON_ACTIVATED":"Aktif","BUTTON_CANCEL":"Batal","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Kirim","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Hiraukan Semua","BUTTON_VIEW_ALL":"lihat semua","BUTTON_SEE_ALL":"Lihat Semua","BUTTON_COLOR_TRANSPARENT":"Transparan","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Buka di peramban","LIB_EMPTY":"Pustaka Anda sepertinya kosong. Apa gunanya :) ","HOW_START":"Begini cara Anda bisa memulai:","LIB_EMPTY_CAL":"Kalender Anda menampilkan serial dalam Pustaka.","HOW_START_CAL":"Begini cara Anda menambah serial:","LIB_EMPTY_BOARD":"Papan menampilkan notifikasi & saran terkait Pustaka Anda.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Begini cara Anda dapat menambah serial & film:","IMPORT_FB":"Impor yang Anda sukai dari Facebook","IMPORT_TRAKT":"Impor pustaka media Anda dari Trakt","IMPORT_DISCOVER":"Temukan hal-hal menarik di Temukan","IMPORT_DISK":"Impor film dan acara yang Anda miliki di diska lokal","PLEASE_CREATE_ACC":"Mohon buat akun untuk mengaktifkan sinkronisasi Pustaka & Papan.","IMPORT_DISCOVER_SIGNUP":"Daftar dan temukan hal menarik di Temukan","IMPORT_DISK_SIGNUP":"Daftar dan impor film dan acara yang Anda miliki di diska lokal","LIB_EMPTY_CLOUD":"Pustaka gemawan","LIB_EMPTY_CLOUD_DESC":"Pustaka gemawan pribadi disinkronkan ke semua perangkat","LIB_EMPTY_EARLY":"Bangun pagi","LIB_EMPTY_EARLY_DESC":"Terima notifikasi episode baru","LIB_EMPTY_PERSONAL":"Pribadi","LIB_EMPTY_PERSONAL_DESC":"Terima rekomendasi pribadi","LIB_EMPTY_CALENDAR_DESC":"Jadwalkan kalender tonton Anda","LIB_EMPTY_ALL":"Daftar untuk mendapatkan ini semua:","LIB_EMPTY_BEST":"Daftar untuk mendapat yang terbaik dari Stremio","LIB_EMPTY_OTHER":"Daftar untuk mengaktifkan Kalender & fitur keren lainnya","CALENDAR_ADDED":"Kalender Stremio calendar telah ditambahkan ke kalender bawaan Anda.","CALENDAR_ADDED_MSG":"Jika tidak berhasil, mohon tambahkan URL ini ke aplikasi kalender Anda secara manual","TRAKT_EXPIRED":"Autentikasi Trakt kadaluwarsa, mohon pergi ke Pengaturan dan autentikasi ulang","TRAKT_REQUIRES_LOGIN":"Galat Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Anda harus masuk","TRAKT_IMPORT_WATCHED":"Impor","THEME":"Tema","THEME_DEFAULT":"Bawaan","THEME_ADAPTIVE":"Adaptif","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Pengaturan","SETTINGS_NAV_GENERAL":"Umum","SETTINGS_NAV_PLAYER":"Pemutar","SETTINGS_NAV_STREAMING":"Siaran","SETTINGS_NAV_SHORTCUTS":"Pintasan","SETTINGS_SHORTCUT_RELOAD_APP":"Muat Ulang Aplikasi","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Buka Pengaturan","SETTINGS_SHORTCUT_SWITCH_TABS":"Ganti Tab","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Gilirkan Tab ke Depan","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Gilirkan Tab ke Belakang","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigasi antar menu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Pergi ke Pencarian","SETTINGS_SHORTCUT_EXIT_BACK":"Keluar / Kembali","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Alih Menu Kecepatan Pemutaran","SETTINGS_SHORTCUT_MENU_VIDEOS":"Alih Menu Video","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Alih Menu Takarir","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Alih Menu Info","SETTINGS_SHORTCUT_FULLSCREEN":"Alih Layar Penuh","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Tampilkan Kontrol","SETTINGS_SHORTCUT_PLAY_PAUSE":"Putar / Jeda","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Naik","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Turun","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autentikasi","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Berlangganan","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Aplikasi kalender telah dibuka. Silakan berlangganan kalender secara manual.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"File kalender telah diunduh. Silakan impor ke aplikasi kalender Anda.","SETTINGS_INTERFACE_LANGUAGE":"Bahasa Antarmuka","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Mainkan dengan VLC","SETTINGS_UI_LANGUAGE":"Bahasa UI","SETTINGS_UI_ZOOM":"Zoom antarmuka","SETTINGS_FULLSCREEN_EXIT":"Tombol Escape keluar dari layar penuh","SETTINGS_GAMEPAD":"Aktifkan dukungan gamepad","SETTINGS_CLOSE_WINDOW":"Tutup aplikasi saat menutup jendela","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Ukuran Takarir default","SETTINGS_SUBTITLES_BACKGROUND":"Latar belakang Takarir","SETTINGS_SUBTITLES_COLOR":"Warna Takarir","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Warna Latar Belakang Takarir","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Memundurkan & Memajukan durasi","SETTINGS_BINGE":"Mainkan otomatis episode berikutnya","SETTINGS_NEXT_VIDEO":"Tampilkan notifikasi episode berikutnya","SETTINGS_NEXT_VIDEO_TRIGGER":"Tampilkan notifikasi episode berikutnya untuk:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"NDurasi popup video berikutnya","SETTINGS_PLAY_IN_BACKGROUND":"Putar di latar belakang","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Mainkan di pemutar eksternal","SETTINGS_RESIZE":"Mengubah ukuran jendela secara otomatis sebelum bermain","SETTINGS_OVERRIDE_SERVER":"Mengganti URL server streaming (lanjutan)","SETTINGS_SERVER_ADD_URL":"Tambahkan URL","SETTINGS_SERVER_URL":"URL server streaming: ","SETTINGS_SERVER_AVAILABLE":"Server streaming tersedia","SETTINGS_SERVER_UNAVAILABLE":"Server streaming tidak tersedia","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Konfigurasi URL server streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Masukkan URL server streaming","SETTINGS_SERVER_CACHE_SIZE":"Ukuran cache","SETTINGS_SERVER_TORRENT_PROFILE":"Profil torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint streaming HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Gunakan versi beta terbaru","SETTINGS_IMPORT_FB":"Import dari Facebook","SETTINGS_IMPORT_DISK":"Import dari Penyimpanan lokal","SETTINGS_IMPORT_TRAKT":"Import dari Trakt","SETTINGS_PAUSE_MINIMIZED":"Menjeda pemutaran saat diminimalkan","SETTINGS_HWDEC":"Dekode yang dipercepat perangkat keras","SETTINGS_BACKGROUND":"Pemutaran latar belakang","SETTINGS_SUBSCRIBE_CALENDAR":"Berlangganan kalender","SETTINGS_REQ_EXPORT":"Minta ekspor data","SETTINGS_ACC_DELETE":"Minta penghapusan akun","SETTINGS_CHANGE_PASSWORD":"Ganti sandi","SETTINGS_TOS":"Syarat dan Ketentuan","SETTINGS_SUPPORT":"Dukungan","SETTING_LANGUAGE":"Bahasa","SETTINGS_BLUR_UNWATCHED_IMAGE":"Memburamkan gambar episode yang belum ditonton","SETTINGS_QUIT_ON_CLOSE":"Keluar ketika ditutup","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Keluar dari Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Keluar dari Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Notifikasi desktop","SETTINGS_DATA_SAVER":"Penghemat data","SETTINGS_LANGUAGE_INTERFACE":"antarmuka","SETTINGS_LANGUAGE_SUBS":"takrarir default","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Aktifkan trek audio bawaan","SETTINGS_DEFAULT_AUDIO_TRACK":"Trek audio bawaan","SETTINGS_SECONDARY_AUDIO_TRACK":"Trek audio sekunder","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"akun","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"versi","SETTINGS_ABOUT":"Tentang","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Selalu mulai video di pemutar eksternal","SETTINGS_STORAGE_BUTTON":"Bersihkan penyimpanan lokal","SETTINGS_STORAGE_MODAL_TITLE":"Kamu yakin ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ini akan menghapus penyimpanan lokal dan membuat Anda keluar.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Otomatis","SETTINGS_HW_DISABLED":"Dimatikan","SETTINGS_HW_ACCELERATED":"Akselerasi dekoding","SETTINGS_HW_FULL":"Akselerasi penuh","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Dimatikan","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Pemberitahuan koneksi jaringan","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Salin remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Takarir","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Kontrol","SETTINGS_SECTION_AUTO_PLAY":"Putar otomatis","SETTINGS_SECTION_ADVANCED":"Lanjutan","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Gunakan latar belakang hitam","SUBSPICKER_VERTICAL_OFFSET":"Offset Vertikal","SUBSPICKER_SIZE":"Ukuran","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Kebijakan Privasi","MOBILE_CRASH_REPORTING":"Laporan Kerusakan","MOBILE_ZOOM_TO_FILL":"Zoom Untuk Mengisi Layar","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Masuk ke akun Streamio anda ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Hubungkan Akun","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Pilih Kecepatan Pemutaran","MOBILE_EMPTY_LIBRARY":"Perpustakaan Anda kosong","MOBILE_NO_ADDON_ACTIVE":"Tidak ada addon Stremio yang aktif untuk tipe ini.","MOBILE_ORGANIZER_WARNING":"Aplikasi Stremio Organizer menyediakan fungsionalitas yang terbatas. Untuk daftar stream yang dapat dimainkan dan pengalaman Stremio yang lengkap, gunakan Stremio di desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"Aplikasi Stremio Organizer menyediakan pilihan addons yang terbatas. Untuk pengalaman Stremio yang lengkap, gunakan Stremio di desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Mencari perangkat...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Hapus Akun","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Penghapusan akun tidak dapat dilakukan secara instan karena adanya kewajiban hukum. Setelah meminta penghapusan akun, Anda harus menggunakan alamat email/profil Facebook yang berbeda untuk membuat akun Stremio baru di masa mendatang.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Konfirmasi Penghapusan Akun","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Akun Anda telah dibuat menggunakan Facebook. Untuk menghapus akun Anda, silakan gunakan portal pengguna kami di www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Mohon berikan kata sandi Anda untuk mengonfirmasi penghapusan akun.","MOBILE_DELETE_ACCOUNT_BUTTON":"Hapus Akun","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Saya setuju untuk menerima komunikasi pemasaran dari Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Addon lokal tidak diaktifkan. Klik di sini untuk membuka pengaturan dan mengaktifkannya","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Profil torrent","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januari","February":"Februari","March":"Maret","April":"April","May":"Mei","June":"Juni","July":"Juli","August":"Augustus","September":"September","October":"Oktober","November":"November","December":"Desember","Monday":"Senin","Tuesday":"Selasa","Wednesday":"Rabu","Thursday":"Kamis","Friday":"Jumat","Saturday":"Sabtu","Sunday":"Minggu","Action":"Action","Comedy":"Comedy","War":"War","Family":"Family","Animation":"Animation","Adventure":"Adventure","Fantasy":"Fantasy","Crime":"Crime","Mystery":"Mystery","Romance":"Romance","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Music","Biography":"Biography","Documentary":"Documentary","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.
    This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.
    Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.
    Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Tonton Langsung","WEBSITE_SLOGAN_ALL":"Semua Konten Vidio yang Kamu Nikmati dalam Satu Tempat","WEBSITE_SLOGAN_NEW":"Semua Yang Kamu Tonton","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Tonton dari","WEBSITE_DOWNLOAD":"Unduh Sekarang","WEBSITE_DOWNLOAD_FOR":"Unduh Sekarang untuk","WEBSITE_IS_DESKTOP":"Stremio adalah aplikasi desktop, buka halaman ini dengan komputer kamu dan download","WEBSITE_DESKTOP_DEMO_VID":"Desmo Desktop","WEBSITE_PAGE_HOME":"Beranda","WEBSITE_PAGE_FEATURES":"Fitur","WEBSITE_PAGE_ADDONS":"Tambahan","WEBSITE_PAGE_TECH":"Teknologi","WEBSITE_PAGE_CREATE_ADDON":"Buat Tambahan","WEBSITE_PAGE_CONTACTS":"Kontak","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Film","WEBSITE_TYPE_series_PL":"Serial","WEBSITE_TYPE_tv":"TV Langsung","WEBSITE_TYPE_channel":"Saluran","WEBSITE_STREMIO_WHAT_IS":"Stremio adalah sebuah aplikasi yang membantu kamu mengatur and menonton vidio favorit, film, serial televisi dan saluran televisi kamu secara langsung","WEBSITE_FEATURES_WATCH":"Tonton HD secara langsung","WEBSITE_FEATURES_WATCH_DETAIL":"Klik dan mainkan film kesukaan, acara televisi, vidio dan saluran televisi kamu.","WEBSITE_FEATURES_SUBS":"Subjudul Otomatsi","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio secara otomatis memilih subjudul yang disinkronkan untuk bahasa kamu.","WEBSITE_FEATURES_SUBS_LABEL":"Langkahmu, Ketua.","WEBSITE_FEATURES_CAST":"Putar di Televisi & perangkat seluler","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Nikmati pustaka pribadi kamu yang tersinkronisasi pada seluruh perangkat kamu","WEBSITE_LIB_COLLECT":"Kumpulkan dari Stremio","WEBSITE_LIB_IMPORT":"Impor dari Facebook","WEBSITE_LIB_LOCAL":"Tambahkan dari perangkat lokal kamu","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Rekomendasi siaran televisi","WEBSITE_BOARD_TRENDING":"Film yang sedang tren","WEBSITE_BOARD_NEW":"Vidio baru","WEBSITE_BOARD_EPISODE":"Episode baru","WEBSITE_BOARD_1":"Sedang mencari sesuatu yang menarik untuk ditonton? Dapatkan rekomendasi berdasarkan selera kamu!","WEBSITE_BOARD_2":"Dapatkan pemberitahuan ketika episode baru dari siaran favorit televisi kamu atau siaran Youtube telah keluar!","WEBSITE_BOARD_YOUTUBE":"Vidio baru dari siaran Youtube","WEBSITE_BOARD_EPISODES":"Episode baru dari serial yang kamu ikuti","WEBSITE_ADDONS":"Konten Tambahan","WEBSITE_TECH_DETAIL":"Kita cinta teknologi, kita cinta sekali dengan ilmu pengetahuan!\\nStremio menggunakan teknologi open source berikut :","WEBSITE_TECH_WCJS":"WebChimera.js mengizinkan Stremio untuk memutar format vidio apapun dengan performa yang baik.","WEBSITE_TECH_WCJS_EXTRA":"Kita adalah penyumbang proyek inti","WEBSITE_TECH_ELECTRON":"Electron menyediakan sebuah platform inovatif untuk membangung Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Kita adalah penyumbang proyek","WEBSITE_TECH_LINVODB":"Sebuah teknologi basis data yang memastikan data kamu terorganisir dan tersedia dimanapun kamu masuk.","WEBSITE_TECH_LINVODB_EXTRA":"Teknolog Internal","WEBSITE_CREATE_ADDON":"Buat Addon kamu","WEBSITE_CREATE_ADDON_DETAIL":"Apakah kamu menyediakan sebuah jasa konten vidio? Kita akan membantu mendapatkan manfaat dari fitur dengan membuatkan Addon kamu.","WEBSITE_CREATE_ADDON_BENEFITS":"Manfaat dari membuat sebuah Addon untuk Stremio","WEBSITE_P2P_BEAUTY":"Keindahan straming Peer-To-Peer","WEBSITE_P2P_1":"Video full HD / 4K yang andal dan terjangkau sesuai permintaan atau streaming langsung","WEBSITE_P2P_2":"Platform distribusi memberikan pengalaman pengguna yang luar biasa","WEBSITE_P2P_3":"Kami akan membuat addon yang memenuhi kebutuhan Anda","WEBSITE_P2P_CONTACT":"Tertarik? Kamu dipersilahkan untuk menghubungi kami.","WEBSITE_P2P_CONTACT_EXTRA":"Kami akan dengan senang hati membantu Anda mengintegrasikan konten Anda dengan Stremio!","WEBSITE_P2P":"Sesekali, muncullah teknologi yang mengubah nama game tersebut. Kami menginvestasikan banyak waktu dan upaya dalam membangun mesin streaming video Peer-to-Peer (P2P) kami yang memberikan kinerja hebat dan keserbagunaan untuk beradaptasi dengan kasus penggunaan apa pun.\\nHubungi kami untuk video P2P berkemampuan DRM sesuai permintaan atau streaming langsung.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science.
    Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Oh, tidak! Halaman yang kamu cari tidak ada disini...","WEBSITE_GO_HOME":"Ke Beranda","WEBSITE_LINK_OTHER_DOWNLOADS":"Unduh lainnya","WEBSITE_FAQ_ABR":"Pertanyaan yang sering diajukan","WEBSITE_SUPPORT":"Bantuan","WEBSITE_DOWNLOAD_4_0_BETA":"Unduh Stremio 4 beta Sekarang","WEBSITE_GET_FOR_DESKTOP":"Dapatkan untuk Desktop","WEBSITE_LINK_ADDON_COMPETITION":"Kompetisi Addon","WEBSITE_LINK_ART_CONTEST":"Kontes Seni","WEBSITE_MY_ACCOUNT":"Akun Saya","WEBSITE_MAINPAGE_FAQ_001_H1":"Apa itu Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio adalah pusat media modern yang memberikan kamu kegemaran untuk menonton apapun yang kamu mau.","WEBSITE_MAINPAGE_FAQ_002_H1":"Bagaimana itu bekerja?","WEBSITE_MAINPAGE_FAQ_002_P1":"Setelah Anda menginstal Stremio di perangkat Anda dan membuat akun, yang harus Anda lakukan adalah mengunjungi katalog addon dan menginstal addon apa pun yang Anda inginkan, dan Anda siap melakukannya!","WEBSITE_MAINPAGE_FAQ_002_P2":"Setelah itu, Anda dapat pergi ke bagian Discover atau Board untuk mulai menjelajahi konten.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which do not play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a endpoint field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your endpoint as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a local cache to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the Cache setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},46371:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"Canali TV","TYPE_channel":"Canali","TYPE_other":"Altri","TYPE_movie_PL":"Film","TYPE_series_PL":"Serie","TYPE_tv_PL":"Canali TV","TYPE_channel_PL":"Canali","TYPE_other_PL":"Altri","TYPE_ALL":"Tutto","TYPE":"Tipo","CATALOG_com_linvo_cinemeta_top":"Popolari","CATALOG_com_linvo_cinemeta_imdbRating":"In evidenza","CATALOG_com_linvo_cinemeta_year":"Nuovi","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Film di pubblico dominio","VIDEO":"Video","BACK":"Indietro","MORE":"Di più","DONE":"Fatto","COPY":"Copia","SUCCESS":"Successo","ERROR":"Errore","SETTINGS_CASTING_MODE_PICKER":"Modalità Casting","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Nessuna transcodifica","Discover":"Scopri","Board":"Bacheca","Library":"Libreria","My Library":"La mia Libreria","Calendar":"Calendario","NOTIFICATION_ONLINE":"Ora sei online","NOTIFICATION_OFFLINE":"Attualmente sei offline","INTERNET_CONNECTION":"Connessione di rete","STORAGE_FULL_TITLE":"Avviso: Memoria piena!","STORAGE_FULL_TEXT":"Stremio non sarà in grado di salvare le tue impostazioni, i preferiti e le informazioni di login. Prova a riavviare o reinstallare Stremio","SEARCH":"Cerca","SEARCH_NO_RESULTS":"Nessun risultato trovato","SEARCH_EXPLANATION_CONTENT":"Cerca film, serie, YouTube e canali TV","SEARCH_EXPLANATION_PEOPLE":"Cerca attori, registi e autori","SEARCH_PASTE_LINKS":"Incolla i link HTTP e Magnet","SEARCH_OR_PASTE_LINK":"Cerca o incolla link","SEARCH_SUGGESTIONS":"Suggerimenti di ricerca","ADD_TO_LIB":"Aggiungi alla Libreria","REMOVE_FROM_LIB":"Rimuovi dalla Libreria","ADDED_TO_LIB":"Aggiunto alla Libreria","REMOVED_FROM_LIB":"Rimosso dalla Libreria","TRAILER":"Trailer","WATCH_TRAILER":"Guarda Trailer","WATCH_NOW":"Guarda ora","SHOW":"Mostra","SHOW_MOVIE":"Mostra film","WATCH_RANDOM":"Guarda casuale","IMDB_RATING":"Voto IMDb","YEAR":"Anno","DIRECTOR":"Regista","WRITER":"Autore","LEAD_ACTORS":"Attori principali","CAST":"Cast","CREW":"Troupe","SHOW_MORE_CAST":"Mostra di più »","AIRED":"Trasmesso","SEASONS":"Stagioni","GENRE":"Genere","GENRE_ALL":"Tutti i generi","CATALOG":"Catalogo","SUMMARY":"Trama","SHOW_MORE":"Mostra di più","SIMILAR":"Simile","UPCOMING":"Prossimamente","TBA":"TBA","ENDED":"Terminato","DURATION":"Durata","FEATURED":"In primo piano","METADATA":"Metadata","CATEGORY":"Categoria","LINKS_GENRES":"Genere","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Registi","SEARCH_VIDEOS":"cerca video","SEARCH_PLACEHOLDER":"cerca o incolla URL","ADDON":"addon","ADDONS":"Addons","OFFICIAL":"ufficiale","ADDONS_OFFICIAL":"Addon ufficiali di Stremio","ADDONS_POPULAR":"Popolari nella tua zona","ADDON_FREE":"gratuito","ADDON_PEERED":"accoppiato","ADDON_SUBSCRIPTION":"in abbonamento","ADDON_STREAM_GEORESTRICTED":"non disponibile nella tua zona","ADDON_STREAM_OFFLINECACHE":"Cache Offline","ADDON_STREAM_LOCALFILE":"File locale","SHARE_ADDON":"Condividi addon","AVAILABLE_STREAMS":"Stream disponibili","NO_STREAM":"Nessuno stream disponibile","ALL_ADDONS":"Tutti","INSTALL_MORE_ADDONS":"Per vedere più stream, installare altri addon","STREAM_NOT_SUPPORTED":"Lo stream selezionato non è supportato su questa piattaforma.","ADDON_CATALOGUE":"Mostra tutti gli addon »","ADDON_CATALOGUE_MORE":"Installa addon","REPO_ADDED":"Repository aggiunta","ADDON_REPO_EXIST_ERR":"Queste collezioni di addons esistono già","ADDON_REPO_ERR":"Si è verificato un errore durante l\'aggiunta della repository","ADDON_ADD_ERR":"Si è verificato un errore durante l\'aggiunta dell\'addon","ERR_ADDON_PROTECTED":"Impossibile disinstallare l\'addon, è protetto","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Qualcosa è andato storto - l’autenticazione potrebbe essere fallita","ERR_NOT_COLLECTION_URL":"Non è un URL di una collezione","ERR_NOT_ADDON_URL":"Non è un URL di un addon","ERR_DETECTFROMURL":"Impossibile trovare addon/collezioni da questo URL","ADDON_DUPLICATE_WARNING":"Avviso: addon duplicato","ADDON_COLLECTION_SET_FAILED":"Sincronizzazione degli addon installati al tuo account fallita","SETTINGS_DATA_EXPORT":"Esporta dati utente","ADDON_PULL_FAILED":"Sincronizzazione degli addon installati dal tuo account fallita","REFRESH_ON_CLICK":"Clicca per riprovare","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film ancora al cinema","WATCH_IN_CINEMA":"Guardalo in un cinema vicino a te","IN_THEATER":"Al cinema","GET_TICKETS":"Compra biglietti","UPCOMING_EPISODE":"Episodio in arrivo","UPCOMING_EPISODE_MESSAGE":"Questo episodio sarà trasmesso il","MISSING_DATE_EPISODE":"Data episodio mancante","MISSING_DATE_EPISODE_MESSAGE":"Questo episodio potrebbe non essere ancora stato trasmesso","CHANNEL_NOT_SCRAPED":"Questo canale non è ancora disponibile.
    Torna tra qualche minuto.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Aggiungilo alla tua libreria per ricevere una notifica quando sarà disponibile.","GET_NOTIFIED_WHEN_AVAILABLE":"Riceverai una notifica quando sarà disponibile.","WARNING_STREAMING_SERVER":"Attenzione: server di streaming locale non trovato. Lo streaming da file locali, YouTube e BitTorrent non sarà disponibile.","WARNING_STREAMING_SERVER_DISMISS":"Chiudi","WARNING_STREAMING_SERVER_LATER":"Dopo","DECODER_WARNING":"Attenzione: questo video potrebbe non essere supportato dal tuo hardware. Ricorda, la riproduzione potrebbe essere lenta.","GENERIC_ERROR_MESSAGE":"Qualcosa è andato storto!","TRY_AGAIN":"Riprova","CLEAR_DATA":"Pulisci i dati","PLAYER_ERROR":"Oops, errore del Player","PLAYER_ERROR_LOOKSLIKE":"Sembra che","PLAYER_ORIENTATION":"Orientamento del player","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Bloccato","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensore","PLAYER_ORIENTATION_LANDSCAPE":"Orientamento del player bloccata in orizzontale","PLAYER_ORIENTATION_SENSOR":"Orientamento del player automatica (sensore)","PLAYER_PLAYBACK_SPEED":"Velocità di riproduzione","PLAYER_PLAYBACK_ERROR":"Errore di riproduzione, prova di nuovo","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Errore sconosciuto","PLAYER_PLAYBACK_ERROR_DEFAULT":"Ci dispiace, questo video non può essere riprodotto da {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Lingue sottotitoli","PLAYER_SUBTITLES_VARIANTS":"Versioni sottotitoli","PLAYER_SUBTITLES_SETTINGS":"Impostazioni sottotitoli","PLAYER_SUBTITLES_DISABLED":"Sottotitoli disattivati","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posizione verticale","PLAYER_SUBTITLES_LOADED":"Sottotitoli caricati","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Sottotitoli integrati caricati","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Sottotitoli escusivi caricati","PLAYER_SUBTITLES_LOADED_LOCAL":"Sottotitoli locali caricati","PLAYER_SUBTITLES_LOADED_ORIGIN":"Sottotitoli da {{origin}} caricati","PLAYER_PLAY":"Riproduci","PLAYER_PAUSE":"Pausa","PLAYER_NEXT_VIDEO":"Prossimo video","PLAYER_MUTE":"Muto","PLAYER_UNMUTE":"Non muto","PLAYER_OPEN_IN_EXTERNAL":"Apri in un player esterno","PLAYER_OPEN_IN_NPLAYER":"Apri su nPlayer","PLAYER_PLAY_IN":"In riproduzione su {{device}}","PLAYER_LIVE":"Dal vivo","PLAYER_NEXT_VIDEO_TITLE":"Prossimo","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Prossimo","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Nascondi","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Guarda ora","PLAYER_COPY_STREAM_SUCCESS":"Il collegamento allo streaming è stato copiato negli appunti","PLAYER_COPY_STREAM_ERROR":"Impossibile copiare il collegamento dello streaming","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Il link per il download è stato copiato negli appunti","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Impossibile copiare il link per il download","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"In streaming da","CASTING_TO":"Trasmesso su","NETWORK_STATUS":"Stato della rete","STREAM_SPEED":"Velocità dello stream:","STREAM_BUFFERED":"In buffer:","PEERS_INFO":"Informazioni sui peer","PEERS_ACTIVE":"Attivi:","PEERS_CONNECTED":"Connessi:","PEERS_WAITING":"In attesa:","TRANSCODING_WARNING":"Avvertimento: transcodifica video.","STREAM_LOADING":"in caricamento…","PLAYING_LOCAL":"riproduzione da file locale","PLAYING_CACHE":"riproduzione dalla cache","WRONG_SUBS":"Sottotitolo sbagliato?","ERR_SUBS_LOADING_TITLE":"Errore caricamento sottotitoli","ERR_SUBS_LOADING":"Caricamento sottotitoli fallito: potrebbe essere un problema dell\'addon che stai usando, oppure della connessione di rete","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Il seguente addon per sottotitoli non si è caricato","ERR_CASTING_UPDATE_TITLE":"Non è stato possibile aggiornare le info del dispositivo di riproduzione: il server di streaming potrebbe essere offline","CHOOSE_DEVICE":"Scegli un dispositivo su cui guardarlo","NO_CAST_DEVICES":"Nessun dispositivo per casting disponibile.","NO_SETTINGS":"Nessuna impostazione disponibile.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefono/Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Sottotitoli","SUBTITLES_CHANGE":"Cambia i sottotitoli per ","SUBTITLES_CHANGE_NONE":"Non ci sono altri sottotitoli per questa lingua, ci dispiace","SUBTITLES_CHANGE_ACIVE":"In questo momento è attivo il sottotitolo #{{subtitlesDialog.activeIdx + 1}}. Clicca \\"Continua\\" per attivare il sottotitolo #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"In alternativa,","SUBTITLES_ADJUST_DELAY":"Aggiusta ritardo sottotitoli:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Oppure usa i tasti G / H durante la riproduzione per regolare.","SUBTITLES_ADJUST_DELAY_TIP":"Suggerimento: puoi usare G / H durante la riproduzione per regolare.","SUBTITLES_DELAY":"Ritardo sottotitoli:","SUBTITLES_LOADING":"Caricamento sottotitoli...","SUBTITLES_UNAVAILABLE":"Nessun sottotitolo esterno disponibile","SUBTITLES_DISABLED":"Disabilitati","EXTERNAL_PLAYER_DISABLED":"Disabilitato","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Consenti scelta","EXTERNAL_PLAYER_HINT":"Suggerimento: esiste un\'impostazione per consentire sempre l\'apertura con un lettore esterno","DONT_SHOW_AGAIN":"Non mostrare più","SERVICE_INSTALL":"Installa","AUDIO":"Audio","DEFAULT_LANGUAGE":"Lingua Predefinita","DEFAULT_SECONDARY_LANGUAGE":"Lingua Secondaria Predefinita","SEASON":"Stagione","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episodio","EPISODE_ABBREVIATION":"EP","SPECIAL":"Speciale","SORT":"ordina","SORT_BY":"Ordina per","FILTER":"filtro","SORT_TRENDING":"popolari","SORT_RECENT":"recenti","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"voto","SORT_WATCHED":"visto","SORT_YEAR":"anno","SELECT":"Select","SELECT_TYPE":"Seleziona tipo","SELECT_SORT":"Seleziona ordinamento","SELECT_CATALOG":"Seleziona catalogo ","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Seleziona genere","SORT_LASTWATCHED":"Dall\'ultimo visto","SORT_NAME":"Per nome","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Più visto","SORT_NOTWATCHED":"Non visto","New for You":"Nuovi per te","New Episodes":"Nuovi Episodi","New Videos":"Nuovi Video","Recommendations":"Consigliati","LIBRARY_RESUME":"Riprendi","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Dettagli","LIBRARY_RESUME_DISMISS":"Scarta","LIBRARY_CLEAR_PROGRESS":"Azzera progresso","LIBRARY_REMOVE":"Rimuovi","LIBRARY_NOT_LOGGED_IN":"La libreria è disponibile solo per gli utenti loggati","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Il calendario è disponibile solo per gli utenti dell\'accesso","NOT_LOGGED_IN_CLOUD":"Accedi ai tuoi film e programmi TV preferiti sempre e ovunque","NOT_LOGGED_IN_RECOMMENDATIONS":"Raccomandazioni su misura per la cronologia di visualizzazione","NOT_LOGGED_IN_NOTIFICATIONS":"Non perdere mai più un episodio","NOT_LOGGED_IN_CALENDAR":"Pianifica il tuo calendario personale","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"In primo piano","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Vincitori dell\'Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Questo addon ha restituito un contenuto vuoto.","DISCOVER_ADULT_WARNING":"Questo contenuto è visibile solo per gli adulti. Hai più di 18 anni?","DISCOVER_NOADDON_WARNING":"Attenzione: nessun addon di Stremio attivo per questo tipo. Questi sono gli elementi salvati, nulla verà aggiornato.","DISCOVER_LOAD_ERR":"Il contenuto non è stato caricato, riscontrato un errore.","DISCOVER_ADDON_UNINSTALLED":"Questo contenuto non è più disponibile, potresti aver disinstallato l\'addon.","UNINSTALL_THIS_ADDON":"Disinstalla questo addon","ERR_ADDON_NOT_INSTALLED":"Questo addon non è installato. Installarlo ora?","DETAIL_RECEIVE_NOTIF_SERIES":"Ricevi notifiche per i nuovi episodi","DETAIL_RECEIVE_NOTIF_VIDEOS":"Ricevi notifiche per i nuovi video","SIDEBAR_SHOW_STREAMS":"Mostra gli Stream","RELAUNCH":"Riavvia ora!","UPGRADE":"Nuova versione disponibile! Aggiorna all\'ultima versione di Stremio","RELOAD_UI":"Ricarica l’interfaccia utente","MANUAL_UPDATE_TITLE":"Aggiorna la tua versione di Stremio","MANUAL_UPDATE_LINE1":"Stai utilizzando una versione obsoleta di Stremio ed è altamente sconsigliato","MANUAL_UPDATE_LINE2":"Per piacere aggiorna Stremio il prima possibile.","BUTTON_UPDATE_LATTER":"Non ora","BUTTON_UPDATE_NOW":"Aggiorna","UPDATER_TITLE":"È disponibile una nuova versione di Stremio","UPDATER_INSTALL_BUTTON":"Installa adesso","ANONYMOUS_USER":"Utente anonimo","DONT_HAVE_ACC":"Non hai un account?","HAVE_ACC":"Hai già un account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Conferma password","EMAIL":"E-mail","FB_LOGIN":"Continua con Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nulla è condiviso senza il tuo permesso","FB_NOPOST":"Non scriveremo nulla a tuo nome","OR":"o","I_ACCEPT":"Accetto ","I_ACCEPT_BY_CLICKING":"Premendo il pulsante sopra confermo di accettare","TOS":"Termini e condizioni","MUST_ACCEPT_TERMS":"Devi accettare le condizioni","PASSWORDS_NOMATCH":"La password non corrisponde","SIGN_UP":"Registrati","SIGN_UP_EMAIL":"Registrati con l’email","CLICK_TO_SIGN_UP":"Clicca qui per registrarti.","LOG_IN":"Entra","LOG_OUT":"Esci","EXIT_FULLSCREEN":"Esci dalla modalità Schermo Intero","ENTER_FULLSCREEN":"Entra in modalità Schermo Intero","PLAY_URL_MAGNET_LINK":"Riproduci URL/Magnet link","HELP_FEEDBACK":"Aiuto & Feedback","TERMS_OF_SERVICE":"Termini di Servizio","PRIVACY_POLICY":"Politica sulla riservatezza","ABOUT_STREMIO":"Info su Stremio","USER_PANEL":"Pannello utente","LOGIN_LABEL":"Accesso","GUEST_LOGIN":"Entra come ospite","GUEST_LOGIN_NOTICE":"Entrare come ospite non è consigliato. Entrando con un account regolare permetti a Stremio di sincronizzare la tua libreria, ricevere notifiche per le tue serie/canali preferiti. Sei sicuro di voler procedere?","GUEST_LOGIN_NOTICE_2":"Entrare come ospite non è consigliato - non avrai le notifiche di sincronizzazione dela Libreria e dela Bacheca, che sono funzioni vitali di Stremio. Sei sicuro di voler procedere?","CLICK_HERE":"clicca qui","WRONG_PASSWORD":"Email o password errata. Nel caso tu abbia dimenticato la password, ","SET_A_PASS":"imposta una password","RESET_PASSWORD":"Resetta password","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Password dimenticata?","EMAIL_USED_WITH_FB":"Questa email è stata utilizzata con l\'accesso Facebook.","INVALID_EMAIL":"Per favore usa un indirizzo email valido","INVALID_PASSWORD":"Per favore inserisci una password valida","CONN_ERR":"Errore di connessione - riprova più darti per favore.\\n\\nSe persiste, disabilita il firewall/software anti-virus (sopratutto Bitdefender).","IMPORT_FROM_GUEST":"Importa la Libreria dal tuo account ospite","RECEIVE_UPDATES_EMAIL":"Ricevi novità di Stremio sulla tua email","LOGIN_FAILED":"Autenticazione fallita.","SIGNUP_FAILED":"Registrazione fallita.","SEARCH_FAILED":"Ricerca fallita","EMAIL_USED":"Questa email è già in uso.","WAITING_FB_LOGIN":"Accesso con Facebook…","EXTERNAL_OPENING_YOUTUBE":"Stai uscendo da Stremio e verrà aperto YouTube. Vuoi continuare?","EXTERNAL_OPENING_APP":"Stai uscendo da Stremio e verrà aperta un altra app. Vuoi continuare?","EXTERNAL_PLAYER_TITLE":"Riproduci in un player esterno","EXTERNAL_REMEMBER_PLAYER":"Vuoi ricordare la tua scelta?","EXTERNAL_ALWAYS_PLAY":"Sì","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Miglior adattamento schermo","FIT_SCREEN":"Adatta allo schermo","FILL":"Riempi lo schermo","16:9":"16:9","4:3":"4:3","Original":"Originale","INTRO_TASTE":"Facci sapere cosa ti piace","INTRO_TASTE_LONG":"Facci sapere cosa ti piace vedere","INTRO_TASTE_PICK":"Seleziona {{interestsRemaining}} interessi","INTRO_TASTE_PICK_MORE":"Seleziona {{interestsRemaining}} più interessi","INTRO_TASTE_HELP_US":"Aiutaci a conoscerti.","INTRO_TASTE_CHOOSE_THESE":"Scegli alcuni di questi:","INTRO_TASTE_CHOOSE_MIN":"Scegli almeno 3 categorie","INTRO_TASTE_CHOOSE_MIN_ERR":"Devi scegliere almeno 3 categorie!","INTRO_TASTE_LIFESTYLE":"Stile di vita","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Cibo & Salute","INTRO_TASTE_BEAUTY_FASHION":"Bellezza & Moda","INTRO_TASTE_NEWS":"Notizie","INTRO_TASTE_GAMING":"Videogiochi","INTRO_TASTE_SCIENCE_EDU":"Scienze & Educazione","INTRO_TASTE_MUSIC":"Musica","INTRO_TASTE_TRAVEL":"Viaggi","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Commedia","INTRO_TASTE_DIY":"Fai-da-te","INTRO_TASTE_TECH":"Tecnologia","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"L’addon selezionato non è supportato su questa piattaforma.","ADDON_DISCLAIMER":"Usare addon di terze parti sarà sempre soggetto alla tua responsabilità e alle leggi vigenti nella giurisdizione in cui ti trovi.","ADDON_ACTIVATE":"Attivare questo addon?","ADDON_REPO_ADD":"URL della collezione dell’addon","ADDON_ADD":"Aggiungi","INSTALL_ADDON":"Install addon","ADD_ADDON":"Aggiungi addon","ADD_ADDON_DESCRIPTION":"Puoi aggiungere un addon da link esterni, così che apparirà sotto Addon installati.","PASTE_ADDON_URL":"Incolla l\'URL dell\'addon","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Cosa c’è di nuovo","BUTTON_CONTINUE":"Continua","BUTTON_ACTIVATE":"Attiva","BUTTON_ACTIVATED":"Attivato","BUTTON_CANCEL":"Annulla","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Invia","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Rimuovi tutto","BUTTON_VIEW_ALL":"vedi tutti","BUTTON_SEE_ALL":"Vedi tutto","BUTTON_COLOR_TRANSPARENT":"Trasparente","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Apri nel browser","LIB_EMPTY":"La tua libreria sembra vuota. Scopri quanto è utile :) ","HOW_START":"Puoi cominciare così:","LIB_EMPTY_CAL":"Il tuo calendario mostra le serie nella tua Libreria.","HOW_START_CAL":"Puoi aggiungere delle serie così:","LIB_EMPTY_BOARD":"Bacheca mostra le notifiche e i consigli in merito alla tua Libreria.","HOW_START_BOARD_WAIT":"Per favore, aggiungi alcune serie o canali alla tua Libreria e dacci qualche minuto per elaborare il tutto :)","HOW_START_BOARD":"Puoi aggiungere serie e film così:","IMPORT_FB":"Importa quello che ti piace da Facebook","IMPORT_TRAKT":"Importa la tua libreria dei media da Trakt","IMPORT_DISCOVER":"Trova roba interessante su Scopri","IMPORT_DISK":"Importa film o spettacoli che hai sul tuo disco locale","PLEASE_CREATE_ACC":"Per favore crea un account per abilitare la sincronizzazione della Libreria & Bacheca.","IMPORT_DISCOVER_SIGNUP":"Registrati e scopri cose interessanti da Scopri","IMPORT_DISK_SIGNUP":"Registrati e importa film o spettacoli che hai sul tuo disco locale","LIB_EMPTY_CLOUD":"Libreria cloud","LIB_EMPTY_CLOUD_DESC":"Libreria cloud personale sincronizzata su tutti i dispositivi","LIB_EMPTY_EARLY":"Primi arrivati","LIB_EMPTY_EARLY_DESC":"Ricevi notifiche per i nuovi episodi","LIB_EMPTY_PERSONAL":"Personale","LIB_EMPTY_PERSONAL_DESC":"Ottieni suggerimenti personalizzati","LIB_EMPTY_CALENDAR_DESC":"Organizza il tuo calendario personale","LIB_EMPTY_ALL":"Registrati per ottenere tutto questo:","LIB_EMPTY_BEST":"Registrati per ottenere il meglio di Stremio","LIB_EMPTY_OTHER":"Registrati per abilitare il Calendario & le altre fantastiche funzionalità","CALENDAR_ADDED":"Il calendario di Stremio è stato aggiunto al tuo calendario desktop di default.","CALENDAR_ADDED_MSG":"Se non funziona, per favore aggiungi manualmente questo URL alla tua applicazione calendario","TRAKT_EXPIRED":"Autenticazione a Trakt scaduta, per favore vai su Impostazioni per autenticarti di nuovo","TRAKT_REQUIRES_LOGIN":"Errore di Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Devi fare login","TRAKT_IMPORT_WATCHED":"Importa","THEME":"Tema","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adattivo","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Impostazioni","SETTINGS_NAV_GENERAL":"Generale","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Scorciatoie","SETTINGS_SHORTCUT_RELOAD_APP":"Ricarica App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Apri le Impostazioni","SETTINGS_SHORTCUT_SWITCH_TABS":"Mostra le schede","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Scorri le schede in avanti","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Scorri le schede all\'indietro","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Naviga tra i menu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Vai a Cerca","SETTINGS_SHORTCUT_EXIT_BACK":"Esci / Torna indietro","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Attiva/disattiva il menu della velocità di riproduzione","SETTINGS_SHORTCUT_MENU_VIDEOS":"Attiva/disattiva il menu dei video","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Attiva/disattiva il menu dei sottotitoli","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Attiva/disattiva il menu delle informazioni","SETTINGS_SHORTCUT_FULLSCREEN":"Attiva/disattiva Schermo Intero","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostra Controlli","SETTINGS_SHORTCUT_PLAY_PAUSE":"Riproduci / Pausa","SETTINGS_SHORTCUT_VOLUME_UP":"Alza Volume","SETTINGS_SHORTCUT_VOLUME_DOWN":"Abbassa Volume","SETTINGS_SHORTCUT_SEEK_NEXT":"Vai a Prossimo","SETTINGS_SHORTCUT_SEEK_PREV":"Vai a Precedente","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Scorri Indietro","SETTINGS_SHORTCUT_SEEK_FORWARD":"Scorri Avanti","SETTINGS_SHORTCUT_PLAY_NEXT":"Riproduci Prossimo","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Aumenta Dimensione Sottotitoli","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Riduci Dimensione Sottotitoli","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Aumenta Ritardo Sottotitoli","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Riduci Ritardo Sottotitoli","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Attiva/disattiva barra laterale","SETTINGS_SHORTCUT_OR":"o","SETTINGS_SHORTCUT_TO":"a","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Spazio","SETTINGS_SHORTCUT_SHIFT":"Maiusc","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticati","SETTINGS_FACEBOOK_IMPORT":"Importa","SETTINGS_CALENDAR_SUBSCRIBE":"Iscriviti","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"L\'app Calendario è stata aperta. Iscriviti manualmente al calendario.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Il file del Calendario è stato scaricato. Importalo nella tua app calendario.","SETTINGS_INTERFACE_LANGUAGE":"Lingua interfaccia","SETTINGS_LAUNCH_STARTUP":"Lancia all\'avvio","SETTINGS_VLC_DEFAULT":"Riproduci con VLC","SETTINGS_UI_LANGUAGE":"Lingua Interfaccia","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Tasto Esc esce da schermo intero","SETTINGS_GAMEPAD":"Abilita supporto controller","SETTINGS_CLOSE_WINDOW":"Chiudi app quando la finestra è chiusa","SETTINGS_SUBTITLES_LANGUAGE":"Lingua Sottotitoli Predefinita ","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Lingua sottotitoli secondaria","SETTINGS_SUBTITLES_SIZE":"Dimensione Sottotitoli Predefinita ","SETTINGS_SUBTITLES_BACKGROUND":"Sfondo sottotitoli","SETTINGS_SUBTITLES_COLOR":"Colore sottotitoli","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Colore contorno sottotitoli","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Colore sfondo sottotitoli","SETTINGS_SEEK_KEY":"I tasti freccia scorrono il tempo","SETTINGS_SEEK_KEY_SHIFT":"I tasti freccia scorrono il tempo quando il tasto Maiusc è premuto","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Durata del riavvolgimento e dell\'avanzamento rapido","SETTINGS_BINGE":"Riproduci automaticamente il prossimo episodio","SETTINGS_NEXT_VIDEO":"Mostra notifica per far partire il prossimo episodio","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostra notifica prossimo episodio per:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Durata del popup Prossimo video","SETTINGS_PLAY_IN_BACKGROUND":"Riproduci in sottofondo","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Riproduci con un player esterno","SETTINGS_RESIZE":"Ridimensiona automaticamente la finestra prima di riprodurre","SETTINGS_OVERRIDE_SERVER":"Sovrascrivi l\'URL del server di streaming (avvanzato)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"URL server di streaming: ","SETTINGS_SERVER_AVAILABLE":"Server di streaming disponibile.","SETTINGS_SERVER_UNAVAILABLE":"Server di streaming non disponibile.","SETTINGS_SERVER_STATUS_ONLINE":"In linea","SETTINGS_SERVER_STATUS_ERROR":"Errore","SETTINGS_SERVER_CONFIGURE_TITLE":"Configura l\'url del server di riproduzione","SETTINGS_SERVER_CONFIGURE_INPUT":"Inserisci l\'url del server di riproduzione","SETTINGS_SERVER_CACHE_SIZE":"Dimensione Cache","SETTINGS_SERVER_TORRENT_PROFILE":"Profilo Torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint HTTPS di riproduzione: ","SETTINGS_TRANSCODE_PROFILE":"Profilo di transcodifica","SETTINGS_USE_BETA":"Usa sempre l\'ultima Beta","SETTINGS_IMPORT_FB":"Importa da Facebook","SETTINGS_IMPORT_DISK":"Importa dal disco locale","SETTINGS_IMPORT_TRAKT":"Importa da Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausa la riproduzione quando minimizzato","SETTINGS_HWDEC":"Decodifica con accelerazione hardware","SETTINGS_BACKGROUND":"Riproduzione in sottofondo","SETTINGS_SUBSCRIBE_CALENDAR":"Iscriviti nel calendario","SETTINGS_REQ_EXPORT":"Richiedi estrazione dei dati","SETTINGS_ACC_DELETE":"Richiedi cancellazione account","SETTINGS_CHANGE_PASSWORD":"Cambia password","SETTINGS_TOS":"Termini di servizio","SETTINGS_SUPPORT":"Contatta il supporto","SETTING_LANGUAGE":"Lingua","SETTINGS_BLUR_UNWATCHED_IMAGE":"Sfoca l\'immagine degli episodi non visti","SETTINGS_QUIT_ON_CLOSE":"Esci alla chiusura","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Riautenticare","SETTINGS_TRAKT_LOGOUT":"Esci da Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Esci da Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scansiona il codice QR per aprire in remoto","SETTINGS_DESKTOP_NOTIFICATIONS":"Notifiche desktop","SETTINGS_DATA_SAVER":"Risparmio dati","SETTINGS_LANGUAGE_INTERFACE":"interfaccia","SETTINGS_LANGUAGE_SUBS":"sottotitoli predefiniti","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoseleziona Traccia Audio","SETTINGS_DEFAULT_AUDIO_TRACK":"Traccia Audio Predefinita","SETTINGS_SECONDARY_AUDIO_TRACK":"Traccia Audio Secondaria","SETTINGS_SURROUND_SOUND":"Audio surround","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Piattaforma TV","SETTINGS_VERSION":"versione","SETTINGS_ABOUT":"Info su Stremio","SETTINGS_MPV_WINDOW":"Avvia il player in una finestra separata (avvanzato)","SETTINGS_PLAY_IN_EXTERNAL":"Apri sempre il video nel player esterno","SETTINGS_STORAGE_BUTTON":"Pulisci Memoria Locale","SETTINGS_STORAGE_MODAL_TITLE":"Sei sicuro ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Questo pulirà la memoria locale e ti farà uscire dall\'account.","SETTINGS_HWDEC_PICKER":"Scegli impostazioni di decodifica con accelerazione hardware","SETTINGS_HW_AUTOMATIC":"Automatica","SETTINGS_HW_DISABLED":"Disabilitata","SETTINGS_HW_ACCELERATED":"Accelerazione di decodifica","SETTINGS_HW_FULL":"Accelerazione totale","SETTINGS_HW_LEGACY":"Eredità","SETTINGS_DISABLED":"Disabilitata","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notifica di connessione di rete","SETTINGS_ANALYTICS":"Consenti analisi","SETTINGS_REMOTE_URL":"URL remoto","SETTINGS_COPY_REMOTE_URL":"Copia URL remoto","SETTINGS_REMOTE_URL_COPIED":"L\'URL remoto è stato copiato negli appunti","SETTINGS_SECTION_SUBTITLES":"Sottotitoli","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controlli","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Avanzate","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addon Sottotitoli","SUBSPICKER_BLACK_BACKGROUND":"Usa colore di sfondo nero","SUBSPICKER_VERTICAL_OFFSET":"Offset Verticale","SUBSPICKER_SIZE":"Dimensione","SUBSPICKER_DELAY":"Ritardo","SUBSPICKER_EMBEDDED_SUBS":"Sottotitoli Integrati","MOBILE_PRIVACY_POLICY":"Politica di riservatezza","MOBILE_CRASH_REPORTING":"Segnalazione arresti","MOBILE_ZOOM_TO_FILL":"Fai Zoom per Riempire lo Schermo","MOBILE_PASSTHROUGH":"Uscita audio digitale (passante)","MOBILE_RUN_LOW_BATTERY":"Esegui a batteria scarica","MOBILE_RUN_FOREGROUND":"Esegui come servizio in primo piano","MOBILE_PERFORMANCE":"PRESTAZIONI & STABILITÀ","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"Il codice QR scade tra ","MOBILE_LOG_INTO":"Accedi al tuo account Stremio ","MOBILE_SCAN_QR":"Scansiona il codice QR sopra o vai a ","MOBILE_LINK_ACCOUNT":"Collega Account","MOBILE_SPEEDPICKER_CANCEL":"Cancella","MOBILE_SPEEDPICKER_LABEL":"Seleziona Velocità di Riproduzione","MOBILE_EMPTY_LIBRARY":"La tua Libreria è vuota","MOBILE_NO_ADDON_ACTIVE":"Nessun addon Stremio attivo per questo tipo.","MOBILE_ORGANIZER_WARNING":"L\'app Stremio Organizer offre funzionalità limitate. Per un elenco di stream disponibili e per un\'esperienza Stremio completa, utilizza Stremio sul desktop.","MOBILE_ADDON_LOADING":"sta ancora caricando","MOBILE_ADDONS_LOADING":"addon in caricamento, attendere","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configura il tuo addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configura Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"L\'app Stremio Organizer fornisce una selezione limitata di addon. Per un\'esperienza Stremio completa, usa Stremio sul desktop.","MOBILE_DISCONNECT":"Disconnetti","MOBILE_LOOKING_FOR_DEVICES":"Ricerca dispositivi...","MOBILE_CAST_TO":"Trasmetti a","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Eliminare l\'account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"La cancellazione del conto non è immediata a causa di obblighi legali.Dopo aver richiesto la cancellazione del tuo account dovrai utilizzare in futuro un diverso indirizzo e -mail/profilo Facebook per creare un nuovo account Stremio.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Conferma la cancellazione dell\'account","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Il tuo account è stato creato utilizzando Facebook.Per eliminare il tuo account, utilizzare il nostro portale utente all\'indirizzo www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Fornisci la tua password per confermare la cancellazione dell\'account.","MOBILE_DELETE_ACCOUNT_BUTTON":"Eliminare l\'account","NAVIGATION_ON":"Acceso","NAVIGATION_OFF":"Spento","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Accetto di ricevere comunicazioni di marketing da Stremio","QUIT":"Chiudi","CONNECTED":"Connesso","AUTHENTICATE":"Autentica","AUTHENTICATING":"Authenticating...","CACHING":"Salvataggio cache","SETTINGS_CACHING_DRIVE":"Disco di cache","ENABLE_LOCAL_FILES_ADDON":"Abilita l\'addon dei file locali (richiede il riavvio)","LOCAL_ADDON_NOT_ENABLED":"L\'addon locale non è abilitato. Clicca qui per andare alle impostazioni e abilitarlo","ENABLE_REMOTE_HTTPS_CONN":"Abilita connessioni HTTPS remote","TORRENT_PROFILE":"Profilo Torrent","DATA_CACHING":"Salvataggio Dati Cache","MAGNET_PARSING":"Analisi del magnet link","January":"Gennaio","February":"Febbraio","March":"Marzo","April":"Aprile","May":"Maggio","June":"Giugno","July":"Luglio","August":"Agosto","September":"Settembre","October":"Ottobre","November":"Novembre","December":"Dicembre","Monday":"Lunedì","Tuesday":"Martedì","Wednesday":"Mercoledì","Thursday":"Giovedì","Friday":"Venerdì","Saturday":"Sabato","Sunday":"Domenica","Action":"Azione","Comedy":"Commedia","War":"Guerra","Family":"Famiglia","Animation":"Animazione","Adventure":"Avventura","Fantasy":"Fantasia","Crime":"Crimine","Mystery":"Mistero","Romance":"Romantico","Drama":"Dramma","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Fantascienza","Music":"Musica","Biography":"Biografia","Documentary":"Documentario","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Notizie","History":"Storia","Game-Show":"Gioco a Premi","Reality-TV":"Reality-TV","Talk-Show":"Talk Show","Film & Entertainment":"Film & Spettacolo","Gaming":"Giochi","From TV":"Dalla TV","Lifestyle":"Stile di vita","Science & Education":"Scienza & Educazione","Cooking & Health":"Cucina & Salute","Beauty & Fashion":"Bellezza & Moda","Sports":"Sport","News & Politics":"Notizie & Politica","How-to & DIY":"Fai-da-te","Tech":"Tecnologia","Automotive":"Automobilismo","Causes & Non-Profits":"Cause Umanitarie & Non-Profit","Movies":"Film","Uk Live Tv":"UK Live Tv","Fashion":"Moda","Business News Radio":"Radio Notizie Business","Business Tv":"Business Tv","Cars & Auto":"Auto & Motori","Comedy Radio":"Comicità Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"Notizie Tv","Food And Wine":"Cibo & Vino","Latino Tv":"Tv Latina","Shopping Tv":"Shopping Tv","Religion":"Religione","Kids":"Bambini","Body & Soul":"Corpo & Anima","Education":"Educativo","Indian Tv":"Tv Indiana","Extreme Sports":"Sport Estremi","Middle Eastern Tv":"Medio Oriente Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Scienza Tv","Bikini babe":"Bikini babe","Outdoors":"Aria Aperta","German Tv":"Tv Tedesca","French Tv":"Tv Francese","Italian Tv":"Tv Italiana","Gamer Tv":"Gamer Tv","Travel":"Viaggi","Asian Tv":"Tv Asiatica","Entertainment":"Spettacolo","News Radio":"Notizie Radio","Music Radio":"Musica Radio","Language Learning":"Imparare le Lingue","Science Radio":"Scienza Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Scienza & Tecnologia Vod","new video":"nuovo video","new episode":"nuovo episodio","new movie":"nuovo film","recommended":"consigliato","we recommend":"noi raccomandiamo","offer of the day":"offerta del giorno","news":"novità","music video":"video musicale","CTX_SHOW_HOTKEYS":"Mostra tasti di scelta rapida","CTX_DISMISS_NOTIF":"Chiudi notifica","CTX_DISMISS_ALL":"Chiudi tutto","CTX_SHARE":"Condividi","CTX_COPY_SHARE_LINK":"Copia link di condivisione","CTX_COPY_MAGNET_LINK":"Copia link magnet","CTX_COPY_STREAM_LINK":"Copia link dello stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copia link per scaricare il video","CTX_DOWNLOAD_VIDEO":"Scarica questo video","CTX_DOWNLOAD_SUBS":"Scarica i sottotitoli","CTX_VIEW_ON_YOUTUBE":"Visualizza su YouTube","CTX_SHOW":"Mostra","CTX_PLAY":"Riproduci","CTX_PLAY_IN":"Riproduci in","CTX_PLAY_ON":"Riproduci su","CTX_WATCH_ON":"Guarda su","CTX_WATCH":"Guarda","CTX_WATCHED":"Visto","CTX_WATCH_BEGINNING":"Guarda dall\'inizio","CTX_WATCH_MOBILE":"Guarda su un dispositivo mobile","CTX_REWIND":"Riprendi dall\'inizio","CTX_MARK_WATCHED":"Segna come già visto","CTX_MARK_NON_WATCHED":"Segna come non visto","CTX_MARK_UNWATCHED":"Contrassegna come non visto","CTX_MARK_REST":"Segna fino a qui come visto","CTX_UNMARK_REST":"Segna fino a qui come non visto","CTX_RECEIVE_NEW_NOTIF":"Ricevi nuove notifiche","CTX_ENABLE_NEW_NOTIF":"Attivare le notifiche","CTX_DISABLE_NEW_NOTIF":"Disabilita le notifiche","CTX_REMOVE_CACHE":"Rimuovi dalla cache","CTX_REMOVE_CACHE_EP":"Rimuovi episodio dalla cache","CTX_OPEN_CONTAINING":"Apri cartella","CTX_REMOVE":"Rimuovi dalla libreria","CTX_AVAILABLE_OFFLINE":"Disponibile Offline","CTX_PAUSED":"In Pausa","CTX_ALWAYS_ON_TOP":"Sempre in cima","CTX_FULLSCREEN":"Schermo intero","CTX_WRONG_SUBS":"Sottotitolo sbagliato?","CTX_REPORT_ISSUES":"Segnala problema","CTX_COPY":"Copia","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Incolla","CTX_CLEAR":"Cancella","CTX_CLEAR_RECENT_SEARCHES":"Cancella ricerche recenti","HELLO_THERE":"Hey ciao","HOPE_YOU_ENJOY":"Speriamo ti piaccia Stremio e che sia già una delle tue app preferite!","WHO_ARE_WE":"Chi siamo noi? Siamo il team che sta dietro - due ragazzi che hanno lavorato duramente ogni giorno negli ultimi 3 anni, con un unico obiettivo - rendere questo prodotto migliore sempre di più.","SUPPORT_US":"Se ti piace usare Stremio e pensi possa valere qualcosa - supportaci!","SPREAD_THE_WORD":"Condividi ora con i tuoi amici, spargi la voce su Stremio","MORE_PEOPLE":"Più persone usano Stremio, più migliorerà!","SEND_A_LINK":"Oppure invia un link al nostro sito web","TIP_LOCALFILES":"Suggerimento: puoi fare drag & drop dei video file locali in Stremio","ADDON_MY":"Miei Addon","ADDON_COMMUNITY":"Comunità Addon","ADDON_OFFICIAL":"Addon Ufficiali","ADDON_REPOS":"Collezioni Addon","ADDON_SEARCH":"Cerca addon","ADDON_INSTALL":"Installa","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Disinstalla","ADDON_UPGRADE":"Aggiorna","ADDON_INSTALLED":"Installato","ADDON_INSTALLED_MSG":"Addon installato!","ADDON_UPGRADED_MSG":"Addon aggiornato!","ADDON_UNKNOWN":"Sconosciuto","ADDON_ERR":"Errore installazione Addon!","ADDON_DISCONNECTED":"Disconnesso","ADDON_APP_MISSING":"l\'app per questa fonte non è installata. Vuoi installarla ora?","ADDON_APP_INSTALL":"Installa Ora","ADDON_PAGE":"Pagina Addon","ADDON_TOP_CONTENT":"Il meglio di questo Addon","ADDON_PROVIDES":"Questo addon ti fornisce:","ADDON_WATCH":"Guarda #{types} ora!","ADDON_WATCH_FREE":"Guarda #{types} GRATIS ora!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Tipi supportati","ADDON_SUPPORTED_CATALOGS":"Cataloghi supportati","ADDON_PROVIDES_DISCOVER":"Di più #{types} in Scopri","ADDON_PROVIDES_STREAMS":"Guarda #{types}","ADDON_PROVIDES_STREAMS_FREE":"Guarda #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Sottotitoli per #{types}","ADDON_CANTDETECT":"Non siamo riusciti ad individuare alcun Stremio in esecuzione, perciò non siamo stati in grado di scoprire quali addon sono installati.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Lo streaming torrent non è supportato su questo dispositivo a causa delle regole dell\'App Store","ERR_NO_META":"Nessun informazione trovata riguardo a questo","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Errore nel recupero informazioni riguardo a questo.","ERR_CANT_PARSE_MAGNET":"Impossibile analizzare magnet","ERR_NO_MAGNET_INFOHASH":"Informazioni hash non valide per il magnet","ERR_NO_FILE_PATH":"Impossibile inviare richiesta senza percorso al file","ERR_NO_TORRENT":"Nessun torrent trovato","ERR_NO_SUPPORTERD_FILES":"Nessun file supportato trovato","ERR_OPENING_FILES":"Impossibile aprire file esterni","ERR_INVALID_LINK":"Link non valido","ERR_REGISTERED_ONLY":"Questa funzione è disponibile solo per utenti registrati.","ERR_CLIPBOARD":"Impossibile riprodurre dagli appunti","ERR_CLIPBOARD_READ":"Impossibile leggere gli appunti su questa piattaforma","ERR_CLIPBOARD_GENERIC":"Nessun URL riproducibile trovato negli appunti. Copia un URL (es. un magnet link) in un video.","BOARD_CONTINUE_WATCHING":"Continua a guardare","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Film scelti solo per te.
    Questo film è un esempio di suggerimento.","BOARD_EXPLANATION_EPISODES":"I nuovi episodi delle tue serie tv preferite arrivano qui.
    Aggiungi serie tv che segui alla tua Libreria.","BOARD_EXPLANATION_VIDEOS":"I nuovi episodi dei tuo canali YouTube arrivano qui.
    Aggiungi canali che segui alla tua Libreria.","WEBSITE_ENJOYED_BY":"Goduto da oltre 30 milioni di utenti in tutto il mondo","WEBSITE_STREAMING_ENHANCED":"Lo streaming migliorato","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offre un\'esperienza di intrattenimento sicura, moderna e senza soluzione di continuità.Con la sua interfaccia facile da usare e una biblioteca di contenuti diversificati, incluso il supporto HDR 4K, gli utenti possono godere dei loro film e programmi TV preferiti su tutti i loro dispositivi. E con il suo impegno per la sicurezza, Stremio è la scelta definitiva per un\'esperienza di streaming senza preoccupazioni e di alta qualità.","WEBSITE_AVAILABLE_ON":"Disponibile su","WEBSITE_WATCH_AND_ENJOY":"Guarda e divertiti.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio lo rende semplice","WEBSITE_ALL_FEATURES":"Tutte le caratteristiche","WEBSITE_EASY_TO_USE":"Facile da usare","WEBSITE_EASY_TO_USE_DETAILS":"Stremio è progettato per essere facile da usare e facile da usare.Con la sua interfaccia pulita e intuitiva puoi facilmente navigare e trovare il contenuto che desideri guardare.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Senza soluzione di continuità tra i dispositivi","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponibile per una vasta gamma di piattaforme (incl. Windows, Mac, Linux, Android e altro), Stremio terrà traccia dei tuoi progressi su tutti i tuoi dispositivi. Basta accedere e continuare a guardare senza dover configurare di nuovo l\'app su ogni nuovo dispositivo.","WEBSITE_ALL_DOWNLOADS":"Tutti i download","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Supporto video ad alta definizione","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un lettore video integrato che supporta la maggior parte dei formati video, inclusi i contenuti HDR 4K, ti consente di goderti la massima qualità disponibile.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Libreria di contenuti diversificata","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio si integra con un gran numero di fonti video popolari, come Netflix, Amazon Prime Video, Hulu, YouTube e molti altri.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Crea un account gratis","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Esperienza di visualizzazione su misura","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio ti consente di personalizzare l\'aspetto dell\'interfaccia cambiando il tema, aggiungendo o rimuovendo i componenti componenti e altro ancora.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Supporto sottotitoli multilingue","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Ora puoi goderti tutti i contenuti preferiti nella tua lingua preferita poiché Stremio supporta i sottotitoli in tutte le lingue.","WEBSITE_ALL_STREMIO_FEATURES":"Tutte le funzionalità di Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Prova Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Sulla tua TV adesso","WEBSITE_YOU_CAN_NOW_WATCH":"Ora puoi guardare tutti i programmi TV preferiti sui tuoi dispositivi TV Android. L\'app Stremio TV ti consente di goderti una serata cinematografica con facilità.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Ora puoi guardare tutti i programmi TV preferiti sulla tua Smart TV o Android TV. Le app di Stremio TV ti consentono di goderti facilmente una serata cinematografica.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio per Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probabilmente l\'app migliore e più utile da avere nel tuo dispositivo. È una delle app che uso quotidianamente soprattutto sulla mia TV Android da molti anni ormai. Ben reso con una forte comunità che fornisce funzionalità utili. Ben fatto. Continua così.","WEBSITE_REVIEWS":"recensioni","WEBSITE_GET_STREMIO_FOR_FREE":"Scarica Stremio gratuitamente","WEBSITE_GET_STREMIO_NOW":"Ottieni Stremio adesso","WEBSITE_STREMIO_FEATURES":"Caratteristiche Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream come un professionista con le funzionalità avanzate di Stremio e goditi l\'accesso senza soluzione di continuità a tutti i tuoi media preferiti","WEBSITE_DISCOVER_MORE":"Scopri di più.","WEBSITE_DISCOVER_MORE_DETAILS":"Non finire mai le cose da guardare","WEBSITE_COMMUNITY_DRIVEN":"Guidato dalla comunità","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio ha una grande e attiva comunità di utenti che contribuiscono allo sviluppo del software creando e condividendo i componenti aggiuntivi.","WEBSITE_GET_INVOLVED":"Mettersi in gioco","WEBSITE_NEW_THEATER_EXPERIENCE":"Nuova esperienza teatrale","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"La nuova app TV dedicata di Stremio ti consente di goderti una serata cinematografica sui tuoi dispositivi TV Android.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Le nuove app TV dedicate di Stremio ti consentono di goderti una serata cinematografica sulla tua smart TV o dispositivi TV Android.","WEBSITE_FREE_AND_SECURE":"Gratuito e sicuro","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offre sicurezza e privacy senza pari per gli utenti. Con la sua caratteristica unica di eseguire i componenti aggiuntivi in remoto, Stremio fornisce un modo più sicuro per trasmettere in streaming i tuoi contenuti preferiti rispetto ad altre piattaforme. La tua sicurezza e privacy sono priorità migliori e la piattaforma garantisce che tutti i tuoi dati siano protetti.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Dì addio alle preoccupazioni sulla sicurezza e sulla privacy e saluta un mondo di intrattenimento infinito con Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informazioni fornite da","WEBSITE_CONTRIBUTE_DESC":"al progetto e aiutaci a rendere Stremio ancora migliore","WEBSITE_COMMUNITY_DESC":"Crediamo che il modo migliore per creare un\'esperienza di streaming davvero sorprendente sia coinvolgere la nostra comunità nel processo. Che tu sia un programmatore, un artista o solo un fan, potresti aiutare Stremio a crescere.","WEBSITE_COMMUNITY_DESC_2":"Quindi unisciti a noi oggi e diventa parte della comunità di Stremio e continua a modellare il futuro dello streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Modi per essere coinvolti","WEBSITE_IN_THE_STREMIO_COMMUNITY":"nella comunità di Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Condividi i tuoi pensieri","WEBSITE_REPORT_BUGS":"Segnala un errore","WEBSITE_SUGGEST_FEATURES":"suggerire caratteristiche","WEBSITE_AND_PROVIDE_FEEDBACK":"e fornire feedback sui nostri canali di social media.","WEBSITE_BETA_TESTING_PROGRAM":"Programma di Beta testing","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Partecipare al nostro programma di beta test (inviamo inviti regolarmente) nella comunità di Stremio.","WEBSITE_JOIN_NOW":"Iscriviti adesso!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunità Stremio ufficiali","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunità non ufficiali di Stremio","WEBSITE_BECOME":"Diventare","WEBSITE_A_VOLUNTEER_TRANSLATOR":"un traduttore volontario","WEBSITE_ARE_YOU_A_DEVELOPER":"Sei uno sviluppatore?","WEBSITE_CONTRIBUTE_CODE":"Potresti contribuire con il codice ai nostri progetti open source. Abbiamo diversi progetti su GitHub che cercano collaboratori. Se sei interessato ad aiutare, dai un\'occhiata:","WEBSITE_STREMIO_ON_GITHUB":"Stremio su GitHub","WEBSITE_CREATE_ADDON_DESC":"Crea un componente aggiuntivo per migliorare la funzionalità di Stremio (abbiamo un\'API di facile utilizzo):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Offriamo anche l\'opportunità di unirci a noi come sviluppatore tirocinante in modo da poter crescere insieme.","WEBSITE_APPLY_AS_AN_INTERN":"Fare domanda come stagista","WEBSITE_CALLING_ALL_ARTISTS":"Chiamiamo tutti gli artisti!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mostra la tua creatività e amore per Stremio caricando la tua fan art nella nostra galleria online. Che si tratti di un disegno, di pittura o di un design digitale, vogliamo vedere la tua interpretazione unica sul marchio Stremio. Unisciti alla nostra comunità di appassionati d\'arte e condividi il tuo lavoro con altri fan di Stremio in tutto il mondo.","WEBSITE_STREMIO_FANART_GALLERY":"Galleria FanArt di Stremio","WEBSITE_INTERN_DESIGNER":"Diventa parte del nostro team e porta la tua creatività a nuove vette con le nostre entusiasmanti opportunità di tirocinio.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Progetto di film di dominio pubblico","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"A Stremio, ci impegniamo a preservare la storia del cinema e della televisione identificando il dominio pubblico e i video orfani. Lavorando insieme alla nostra comunità, possiamo garantire che queste opere d\'arte classiche siano accessibili a tutti e protette per le generazioni future.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Sentiti libero di contattarci se desideri essere coinvolto in quel progetto.","WEBSITE_JOIN_THE_PROJECT":"Unisciti al progetto","WEBSITE_BE_PART_OF_OUR_MISSION":"Fai parte della nostra missione","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interessato a unirsi al team Stremio? Offriamo un lavoro completamente da remoto per professionisti appassionati. Dai un\'occhiata alle nostre posizioni aperte.","WEBSITE_OPEN_POSITIONS":"Posizioni aperte","WEBSITE_DESCRIPTION":"Descrizione","WEBSITE_LEARN_MORE":"Saperne di più","WEBSITE_COMPANY":"Azienda","WEBSITE_CONTACTS":"Contatti","WEBSITE_NEED_HELP":"Ho bisogno di aiuto?","WEBSITE_STREMIO_WEB_ON_IOS":"Guida per Stremio Web su iOS","WEBSITE_LINK_ART_V2":"Galleria FanArt","WEBSITE_PARTNERS":"Partner","WEBSITE_SLOGAN_WATCH":"Guarda Subito","WEBSITE_SLOGAN_ALL":"Tutti i Contenuti Video Che Ami in un Unico Posto","WEBSITE_SLOGAN_NEW":"Tutto Quello Che Puoi Vedere","WEBSITE_SLOGAN_NEW_NEW":"Libertà di Streaming","WEBSITE_WATCH_FROM":"Guarda Da","WEBSITE_DOWNLOAD":"Scarica Ora","WEBSITE_DOWNLOAD_FOR":"Scarica Ora per","WEBSITE_IS_DESKTOP":"Stremio è un\'applicazione desktop, apri questa pagina sul tuo PC e scaricala","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Caratteristiche","WEBSITE_PAGE_ADDONS":"Addon","WEBSITE_PAGE_TECH":"Tecnologia","WEBSITE_PAGE_CREATE_ADDON":"Crea Addon","WEBSITE_PAGE_CONTACTS":"Contatti","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Inserisci la nuova password desiderata di seguito.","WEBSITE_RESET_PASSWORD_WARNING":"Sei sicuro di voler reimpostare la password per ${1}?","WEBSITE_TYPE_movie":"Film","WEBSITE_TYPE_series_PL":"Serie","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Canali","WEBSITE_STREMIO_WHAT_IS":"Stremio è un\'applicazione che ti aiuta ad organizzare e instantaneamente ti permette di guardare i tuoi video, film, serie TV e canali TV preferiti.","WEBSITE_FEATURES_WATCH":"Guarda subito in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Clicca e guarda i tuoi film, serie TV, video e canali TV preferiti.","WEBSITE_FEATURES_SUBS":"Sottotitoli Automatici","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio sceglie automaticamente i sottotitoli sincronizzati per la tua lingua.","WEBSITE_FEATURES_SUBS_LABEL":"Spetta a te la mossa, capitano.","WEBSITE_FEATURES_CAST":"Riproduci sulla TV & dispositivi mobili","WEBSITE_FEATURES_CAST_DETAIL":"Trasmetti su AppleTV, Chromecast, Smart TV (DLNA/UPnP) e dispositivi mobili.","WEBSITE_LIB":"Goditi La Tua Libreria Personale Sincronizzata Su Tutti I Tuoi Dispositivi","WEBSITE_LIB_COLLECT":"Raccogli da Stremio","WEBSITE_LIB_IMPORT":"Importa da Facebook","WEBSITE_LIB_LOCAL":"Aggiungi dal tuo disco locale","WEBSITE_BOARD":"La Bacheca - Il Tuo Unico Posto per le Notifiche e i Suggerimenti","WEBSITE_BOARD_RECOMMEND":"Serie TV Suggerite","WEBSITE_BOARD_TRENDING":"Film del Momento","WEBSITE_BOARD_NEW":"Nuovi Video","WEBSITE_BOARD_EPISODE":"Nuovi Episodi","WEBSITE_BOARD_1":"Cerchi qualcosa di interessante da guardare? Ricevi suggerimenti basati sulle tue preferenze!","WEBSITE_BOARD_2":"Ricevi una notifica quando c\'è un nuovo episodio della tua serie TV preferita o canale YouTube!","WEBSITE_BOARD_YOUTUBE":"Nuovi video dai canali YouTube","WEBSITE_BOARD_EPISODES":"Nuovi episodi dalle serie che stai seguendo","WEBSITE_ADDONS":"Contenuti Addon","WEBSITE_TECH_DETAIL":"Amiamo la tecnologia, amiamo la scienza pazza!\\nStremio usa le seguenti tecnologie open source:","WEBSITE_TECH_WCJS":"WebChimera.js permette a Stremio di riprodurre ogni formato video con ottime prestazioni.","WEBSITE_TECH_WCJS_EXTRA":"Siamo i contributori del progetto principale","WEBSITE_TECH_ELECTRON":"Electron fornisce una piattaforma innovativa con la quale sviluppare Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Siamo contributori del progetto","WEBSITE_TECH_LINVODB":"Un database che assicura che i tuoi dati siano organizzati e disponibili da ovunque accedi.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnologia sviluppata in casa","WEBSITE_CREATE_ADDON":"Crea il tuo Addon","WEBSITE_CREATE_ADDON_DETAIL":"Hai un servizio che fornisce contenuti video? Ti aiuteremo a sfruttare le caratteristiche di Stremio creando il tuo Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Vantaggi nello sviluppare un Addon per Stremio","WEBSITE_P2P_BEAUTY":"La Bellezza dello Streming Peer-to-Peer","WEBSITE_P2P_1":"Video full HD / 4K on demand o dirette streaming Affidabili e Sostenibili","WEBSITE_P2P_2":"Piattaforma di distribuzione che offre una fantastica esperienza utente","WEBSITE_P2P_3":"Svilupperemo il tuo addon che va in contro alle tue esatte necessità","WEBSITE_P2P_CONTACT":"Interessato? Sei il benvenuto contattaci.","WEBSITE_P2P_CONTACT_EXTRA":"Saremo felici di aiutarti ad integrare i tuoi contenuti con Stremio!","WEBSITE_P2P":"Una volta ogni tanto, arriva una tecnologia che cambia le regole del gioco. Abbiamo investito moltissimo tempo e impegno per costruire il nostro motore di streaming video Peer-to-Peer (P2P) che offre ottime prestazioni e versatilità nel addattarsi ad ogni caso d\'uso.\\nContattaci per i video con supporto DRM P2P on demand o dirette streaming.","WEBSITE_THOUGHTS":"I pensieri che condividiamo:","WEBSITE_SPREAD":"Passa parola riguardo a Stremio:","WEBSITE_CONTACT":"Contattaci, saremo felici di ascoltarti!","WEBSITE_OPENSOURCE":"Per i nostri progetti open source , vai al nostro","WEBSITE_BITCOIN":"Dona bitcoin:","WEBSITE_FAQ":"Domande Frequenti","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Domande","WEBSITE_TOS":"Condizioni d\'uso","WEBSITE_LEGAL":"Legale","WEBSITE_PAGE_ABOUT":"Informazioni","WEBSITE_PAGE_BECOME_PARTNER":"Diventa un partner","WEBSITE_ALL_YOU_CAN_WATCH":"Libertà di Guardare\\nTutto Quello che Vuoi.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Cos\'è Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio è un unico centro di raccolta per i contenuti video. Scopri, organizza e guarda video da qualsiasi fonte su ogni tuo dispositivo.","WEBSITE_WHAT_IS_STREMIO_P2":"Film, programmi TV, serie, dirette TV o canali web come YouTube e Twitch.tv: puoi trovare tutto questo su Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio è un media center moderno che rappresenta una soluzione completa per il tuo intrattenimento video. Scopri, guarda e organizza contenuti video con addon facili da installare.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Film, programmi TV, dirette TV o canali web - trovi tutto su Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Divertiti su tutti i tuoi dispositivi multimediali","WEBSITE_DEVICES_COLLECT":"Prendi da Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importa da facebook","WEBSITE_DEVICES_LOCAL":"Aggiungi dal disco locale","WEBSITE_JOIN_THE_PARTY_NOW":"Unisciti alla festa ora","WEBSITE_DEVICES_ALL":"Facile da utilizzare su tutti i tuoi dispositivi;","WEBSITE_EXTENDABLE_CATALOG":"Catalogo video infinitamente espandibile;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Ottime funzionalità per organizzare i tuoi video;","WEBSITE_AS_SEEN_ON":"Come visto su","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Info su di Noi","WEBSITE_LINK_TECHNOLOGY":"Tecnologia","WEBSITE_LINK_APPS":"App","WEBSITE_LINK_DOWNLOADS":"Download","WEBSITE_MORE":"Di più","WEBSITE_LINK_ADDONS":"Addon","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribuisci","WEBSITE_LINK_COMMUNITY":"Comunità","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & di più","WEBSITE_LINK_HELP":"Centro assistenza","WEBSITE_LINK_CONTACTS":"Contattaci","WEBSITE_LINK_TOS":"Termini & condizioni","WEBSITE_LINK_PRAVACY":"Politica sulla riservatezza","WEBSITE_SUBSCRIBE":"Iscriviti","WEBSITE_NEWSLETTER":"Unisciti alla nostra newsletter per cose fantastiche","WEBSITE_PLACEHOLDER_EMAIL":"La Tua Email","WEBSITE_COMMUNITY":"Comunità","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legale","WEBSITE_WHY":"Perché lo facciamo","WEBSITE_WHY_P1":"Noi di Stremio, torniamo al lavoro ogni giorno perché vogliamo risolvere un importante problema dell\'industria dei video on-demand. Ci sono così tanti nuovi contenuti pubblicati ogni minuto che è praticamente impossibile orientarsi.","WEBSITE_WHY_P2":"Aiutiamo le persone a navigare nell\'enorme mondo dell\'intrattenimento video e scoprire nuovi contenuti con i quali divertirsi. Le nostre app riuniscono film, serie, dirette TV, canali web e altro ancora. Ci impegniamo a rendere molto facile per gli utenti trovare titoli ed emittenti che amano.","WEBSITE_WHY_P3":"Puoi usare il nostro servizio su qualsiasi dispositivo quando vuoi, rendendo Stremio il tuo unico centro di intrattenimento video di cui avrai mai bisogno.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"Il team di Stremio è piccolo, ma potente: tra i dieci di noi, programmiamo in X linguaggi e condividiamo competenze nello sviluppo di software, progettiamo UI e UX, marketing e pubblicità e business e startup.","WEBSITE_FEATURES":"Caratteristiche","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Scopri nuovi contenuti con facilità","WEBSITE_FEATURES_DISCOVER_P":"Scopri facilmente nuovi film, programmi TV, serie e canali da guardare. Sfoglia per categoria, genere, valutazione, attualità, ecc. oppure digita semplicemente un nome da trovare. Stremio rende la ricerca di nuovi contenuti video un gioco da ragazzi.","WEBSITE_FEATURES_ALL_CONTENT":"Tutti i tuoi contenuti video su un unico schermo","WEBSITE_FEATURES_ALL_CONTENT_P1":"Guarda quali film, serie o video non hai finito e continua a guardarli; ricevi notifiche per nuovi episodi e uscite; e sfoglia i consigli che otterrai in base alle tue abitudini di visualizzazione.","WEBSITE_FEATURES_LIBRARY":"Organizza la tua libreria video","WEBSITE_FEATURES_LIBRARY_P1":"Aggiungi qualsiasi titolo alla tua libreria Stremio con un solo clic e trova la tua strada tra i contenuti, ordinati per tipo, attualità o ordine alfabetico.","WEBSITE_FEATURES_CALENDAR":"Tieni traccia di tutto ciò che guardi","WEBSITE_FEATURES_CALENDAR_P1":"Ottieni una visualizzazione del calendario di tutti i film e le serie che aggiungi alla tua libreria. Esporta il tuo calendario Stremio e sincronizzalo in modo da sapere sempre quando è previsto un nuovo episodio o una prima visione.","WEBSITE_FEATURES_BIG_SCREEN":"Goditi i tuoi contenuti video su uno schermo più grande","WEBSITE_FEATURES_BIG_SCREEN_P1":"Trasmetti tutto ciò che stai guardando su un altro dispositivo, che si tratti di un telefono, tablet o TV con un solo clic.","WEBSITE_FEATURES_SOURCES":"Guarda video da fonti diverse","WEBSITE_FEATURES_SOURCES_P":"Installa addon ufficiali e della community per goderti video provenienti da provider diversi, il tutto in un\'unica app elegante e facile da usare.","WEBSITE_CREATE_AN_ADDON":"Crea un addon","WEBSITE_FEATURES_SYNC":"Sincronizza la tua libreria su diversi dispositivi e riprendi la tua riproduzione","WEBSITE_FEATURES_SYNC_P1":"Accedi con il tuo account su tutti i tuoi dispositivi e goditi la tua libreria, addon, riproduzioni e calendario sincronizzati.","WEBSITE_FEATURES_EXTENDABLE":"Estendi il catalogo video con gli addon","WEBSITE_FEATURES_EXTENDABLE_P1":"Il catalogo di addon di Stremio offre diversi addon da installare permettendoti di guardare una varietà di nuovi video. Include film, spettacoli, dirette TV, sport, notiziari, podcasts, canali web, videogiochi e molto altro.","WEBSITE_FEATURES_AUTO_SUBS":"Sottotitoli automatici","WEBSITE_FEATURES_AUTO_SUBS_P1":"Con i nostri addon dei sottotitoli hai automaticamente l\'opzione selezionata per la tua lingua preferita.","WEBSITE_FEATURES_CHROMECAST":"Trasmettendo verso Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Goditi i tuoi contenuti video su uno schermo più grande o semplicemente trasmetti quello che guardi su un dispositivo diverso.","WEBSITE_FEATURES_KEEP_TRACK":"Tieni traccia dei tuoi spettacoli TV e Canali Web preferiti","WEBSITE_FEATURES_KEEP_TRACK_P1":"Ottieni una visualizzazione a calendario e notifiche per i nuovi episodi delle tue serie e canali web preferiti.","WEBSITE_FEATURES_POWER_USER":"Funzionalità per utenti avanzati","WEBSITE_FEATURES_POWER_USER_P1":"Riproduci in un player esterno","WEBSITE_FEATURES_POWER_USER_P2":"Riproduci da un file torrent o link magnet","WEBSITE_FEATURES_POWER_USER_P3":"Importa nella tua libreria dagli interessi Facebook o dal disco locale","WEBSITE_ADD_ONS":"Addon","WEBSITE_ADD_ONS_P1":"Tutti i contenuti video di Stremio sono recuperati ad un sistema di addon - nessun contenuto o fornitore di contenuti è stato integrato nell\'app.","WEBSITE_ADD_ONS_P2":"Ci sono due gruppi di addon disponibili: quelli ufficiali o della comunità.","WEBSITE_ADD_ONS_P3":"Quelli ufficiali sono sviluppati e offerti da Stremio, mentre quelli della comunità sono creati dai membri della nostra community, che li offrono anche.","WEBSITE_ADDONS_OFFICIAL":"Addon ufficiali","WEBSITE_ADDONS_WATCHUB":"Guarda i tuoi film, serie e spettacoli preferiti da fornitori come iTunes, Hulu, Amazon e altri servizi.","WEBSITE_ADDONS_YOUTUBE":"Guarda i tuoi canali YouTube preferiti senza pubblicità e ricevi notifiche per le novità dei creators che segui.","WEBSITE_ADDONS_FILMON":"Guarda dirette TV, film e TV gratuitamente. 600 canali TV, 45,000 film gratis, documentari e tanto altro.","WEBSITE_ADDONS_OPENSUBTITLES":"Sottotitoli di film e TV in più lingue, migliaia di sottotitoli tradotti caricati ogni giorno.","WEBSITE_ADDONS_COMMUNITY":"Addon della comunità","WEBSITE_ADDONS_FILMON_VOD":"Guarda film quando vuoi da Filmon.tv","WEBSITE_ADDONS_TWICH":"Guarda dirette da Twitch.tv - una piattaforma di video streaming platform per il settore degli e-sports.","WEBSITE_ADDONS_VODO":"Guarda film indie senza pagare.","WEBSITE_ADDONS_NETFLIX":"Guarda film e serie Netflix.","WEBSITE_ADDONS_CREATE":"Crea un addon","WEBSITE_ADDONS_CREATE_P1":"Se lo desideri, puoi sviluppare il tuo addon. In questo modo, puoi dare a te e alla nostra comunità accesso a nuovi contenuti video, e raggiungere un nuovo pubblico mirato di milioni di utenti in giro per il mondo.","WEBSITE_ADDONS_START_CREATE":"Per iniziare, visita la pagina Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Download","WEBSITE_DOWNLOADS_P1":"Per ottimizzare le performance, ti suggeriamo di usare l\'ultima versione disponibile dell\'applicazione Stremio. Se per qualche motivo, tuttavia, ti dovesse piacere usare una versione più vecchia, puoi scaricarla da qui.","WEBSITE_DOWNLOADS_P1_SHORT":"Per prestazioni ottimali, ti consigliamo di utilizzare l\'ultima versione disponibile delle app Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio per Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio per macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio per Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio per Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio per Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio per Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio per Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio per iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio per Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio per LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio per Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio per Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio per Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio per Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Cerca Stremio nell\'App Store dei modelli Samsung TV 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Cerca Stremio nell\'App Store di modelli TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Cerca Stremio nell\'App Store del tuo dispositivo Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Scarica il servizio Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service è un\'app di accompagnamento per Stremio Web. Si consiglia di utilizzare l\'ultima versione disponibile del servizio Stremio.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service per Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service per macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service per Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service per Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Altre opzioni di download","WEBSITE_DOWNLOAD_NEW":"Nuovo!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Abbiamo rilasciato Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Abbiamo rilasciato Stremio per Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Abbiamo rilasciato Stremio per LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Abbiamo rilasciato Stremio per Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Abbiamo rilasciato Stremio per Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Abbiamo rilasciato Stremio 5 per Windows","WEBSITE_CONTRIBUTE":"Contribuisci","WEBSITE_CONTRIBUTE_P1":"La piattaforma Stremio è Open Source e puoi facilmente creare un addon per contenuti al momento non offerti.","WEBSITE_CONTRIBUTE_WHY":"Perchè dovresti creare un addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Raggiungere un nuovo pubblico per i tuoi contenuti video","WEBSITE_CONTRIBUTE_WHY_P2":"La base utenti di Stremio sta crescendo rapidamente - durante il primo anno di lancio, Stremio ha raggiunto 1 milione di utenti in giro per il mondo, e nel secondo anno questo numero è cresciuto a 2.5 milioni.","WEBSITE_CONTRIBUTE_WHY_P3":"Con il tuo addon, puoi facilmente raggiungere questo pubblico e distribuire i tuoi contenuti video a loro.","WEBSITE_CONTRIBUTE_ALL":"Guarda i tuoi film, video, serie e canali preferiti in un unico posto.","WEBSITE_CONTRIBUTE_ALL_P1":"Sei appassionato di un particolare tipo di contenuto non ancora disponibile su Stremio? Creagli un addon e goditi i tuoi video preferiti in uno dei più grandi e facili centro di intrattenimento sul mercato.","WEBSITE_CONTRIBUTE_ALL_P2":"Sopratutto, riceverai l\'infinita gratitudine di altri membri della comunità di Stremio che la pensano allo stesso modo.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetizza il tuo addon e guadagna soldi","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Una volta sviluppato un nuovo addon di Stremio, puoi facilmente monitizzarlo in diversi modi. Se lo stai considerando, sentiti libero di contattarci a ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - saremmo lieti di consultarti e consigliarti sulle opzioni di monetizzazione degli addon.","WEBSITE_CONTRIBUTE_TRANSLATE":"Diventa un traduttore volontario","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Se vuoi goderti Stremio in diverse lingue, puoi unirti alla nostra comunità di traduttori volontari. Ci aiutano ad aggiungere versioni di Stremio in molte lingue diverse.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Sei impaziente di iniziare?","WEBSITE_TRANSALTE_STREMIO":"Traduci Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunità ufficiale","WEBSITE_COMMUNITY_OFFICIALS_P1":"Diventa parte della crescita della comunità di Stremio. Seguici sui social media e non vergognarti di salutarci - amiamo ascoltare i nostri fan! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunità non-ufficiale","STREMIO_COMMUNITY_NL":"Stremio Olanda","STREMIO_COMMUNITY_BRASIL":"Stremio Brasile","STREMIO_COMMUNITY_GERMANY":"Stremio Germania","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgio","STREMIO_COMMUNITY_FRANCE":"Stremio Francia","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portogallo","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Messico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Fantastico Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partner e sostenitori","WEBSITE_COMMUNITY_GOODIES":"Stremio chicche","WEBSITE_COMMUNITY_WALLPAPERS":"Sfondi","WEBSITE_COMMUNITY_ART":"Comunità Galleria d\'arte","WEBSITE_LINK_ART":"comunità galleria d\'arte","WEBSITE_CONTACT_US":"Contattaci","WEBSITE_CONTACT_US_P1":"Se hai qualsiasi domanda, commento o suggerimento, sentiti libero di metterti in contatto con noi attraverso il modulo di contatto qui sotto.","WEBSITE_CONTACT_US_P2":"Tieni in mente che sia locati in Bulgaria quindi potrebbero esserci ritardi alle tue domande a causa del fuso orario.","WEBSITE_CONTACT_US_SUCCESS":"Il tuo messaggio è stato inviato. Ti risponderemo al più presto.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Per piacere inserisci una email valida!","WEBSITE_CONTACT_US_Q_RELATED_TO":"A cosa è collegata la tua domanda?","WEBSITE_CONTACT_US_Q_OS":"Qual\'è il tuo Sistema Operativo?","WEBSITE_CONTACT_US_PH_EMAIL":"La tua E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Messaggio","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"INVIATO","WEBSITE_CONTACT_US_Q_1":"Come si installa?","WEBSITE_CONTACT_US_Q_2":"Come si disinstalla?","WEBSITE_CONTACT_US_Q_3":"(HTML) Come si fanno le lasagne?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnologia","WEBSITE_TECHNOLOGY_P1":"Amiamo la tecnologia e la scienza folle.
    Ecco ciò che fa girare Stremio (è tutto open-source).","WEBSITE_TECHNOLOGY_P_QT":"Sviluppo di software multi piattaforma al suo massimo splendore.","WEBSITE_TECHNOLOGY_P_MPV":"Un riproduttore multimediale gratuito, open source, e multi piattaforma.","WEBSITE_TECHNOLOGY_P_RN":"React Native ti permette di costruire applicazioni usando solo JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework è integrato nell\'applicazione per ottenere contenuti multimediali.","WEBSITE_TECHNOLOGY_P_REALM":"Realm è una piattaforma mobile e un sostituto di SQLite e Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js è un ambiente runtime per JavaScript, open-source e multi piattaforma.","WEBSITE_TECHNOLOGY_P_RUST":"Rust è un linguaggio di programmazione multi paradigma incentrato sulla sicurezza, specialmente sulla concorrenza sicura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuisci al progetto","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Ci sono due modi in cui puoi contribuire a Stremio e aiutarci a renderlo migliore.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Puoi donare le tue preziose competenze linguistiche traducendo la piattaforma...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"oppure","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... puoi sfruttare le tue capacità di scrittura del codice per creare addon per la comunità. ","WEBSITE_TRANSLATE_STREMIO":"Traduci Stremio","WEBSITE_404_OH_NO":"Uh-oh! La pagina che stavi cercando non si trova qui...","WEBSITE_GO_HOME":"Torna sulla home","WEBSITE_LINK_OTHER_DOWNLOADS":"Altri download","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Supporto","WEBSITE_DOWNLOAD_4_0_BETA":"Scarica Ora Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Ottieni per desktop","WEBSITE_LINK_ADDON_COMPETITION":"Competizione addon","WEBSITE_LINK_ART_CONTEST":"Concorso artistico","WEBSITE_MY_ACCOUNT":"Il mio account","WEBSITE_MAINPAGE_FAQ_001_H1":"Che cos\'è Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio è un moderno centro multimediale che ti offre la libertà di guardare quello che vuoi.","WEBSITE_MAINPAGE_FAQ_002_H1":"Come funziona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Una volta installato Stremio sul tuo dispositivo e creato l\'account, tutto quello che devi fare è visitare il catalogo degli addon e installare quello che vuoi, e hai fatto!","WEBSITE_MAINPAGE_FAQ_002_P2":"Dopo, puoi visitare le sezioni Scopri e Bacheca per iniziare ad esplorare i contenuti.","WEBSITE_MAINPAGE_FAQ_003_H1":"Cosa posso vedere qui?","WEBSITE_MAINPAGE_FAQ_003_P1":"Tantissime cose: Film, spettacoli TV, Canali web, Sport, Canali TV, ascoltare Podcast e altro. Grazie al nostro sistema di addon, hai accesso a una varietà di contenuti.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio è open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Si, puoi controllare i seguenti link: ${1}applicazione desktop${2} e ${3}organizzazione GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio è sicuro?","WEBSITE_MAINPAGE_FAQ_005_P1":"Si: perchè è un software open-source, il codice sorgente è di pubblica visione e puoi controllarlo personalmente.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Per quanto riguarda la mia privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"Rispettiamo la privacy degli utenti e non conserviamo nessun dato personale ad eccezione del minimo indispensabile per creare e sincronizzare il tuo account.","WEBSITE_MAINPAGE_FAQ_006_P2":"C\'è anche un accesso in ${1}Modalità ospite${2}, che non richiedere nessun dato: così, nessuna chiamata sarà fatta alla nostra infrastruttura. Tuttavia, sacrifica alcune funzionalità utili, come la sincronizzazione della tua libreria tra i diversi dispositivi.","WEBSITE_MAINPAGE_FAQ_007_H1":"Posso trasmettere sulla mia TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Si, supportiamo Chromecast e puoi trasmettere sia l\'applicazione desktop sia mobile (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Quanti addon ha Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Alla fine del 2019, più di 50 - per maggiori informazioni, controlla il nostro catalogo degli addon.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio può essere esteso oltre ciò che è nel catalogo degli addon?","WEBSITE_MAINPAGE_FAQ_009_P1":"Si, potresti controllare questi: ${1}PimpMyStremio${2}, ${3}comunità Reddit${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Che dispositivi supportano Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Abbiamo un\'applicazione desktop per Windows, Mac e Linux. Per mobile, supportiamo Android e iOS, tuttavia iOS ha funzionalità limitate (non supporta la maggior parte degli addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"Ci sono diversi dispositivi basati su Android che supportano Stremio, come NVIDIA Shield e Amazon Fire Stick, ma non li supportiamo ufficialmente.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Potete aggiungere dei contenuti su Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Scusaci, non offriamo noi stessi i contenuti, ma più addon Stremio installi, più contenuti potrai trovare.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio può riprodurre link magnet?","WEBSITE_MAINPAGE_FAQ_012_P1":"Si, e può riprodurre normali link HTTP e file torrent (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Posso scaricare un video e vederlo offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"La funzionalità offline è una notività in arrivo, ma se permetti a Stremio di salvare sulla cache del tuo dispositivo (dalle impostazioni) puoi guardare i video più tardi senza bisogno di connessione.","WEBSITE_MAINPAGE_FAQ_014_H1":"Non funziona niente, aiutatemi!","WEBSITE_MAINPAGE_FAQ_014_P1":"Sei sicuro di aver installato gli addon? Se si, confrontati con il nostro ${1}centro assistenza${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"In che modo Stremio sostiene le sue operazioni di sviluppo?","WEBSITE_MAINPAGE_FAQ_015_P1":"Pubblichiamo occasionalmente annunci non intrusivi, ma stiamo valutando la possibilità di passare a un modello di donazione.","WEBSITE_MAINPAGE_FAQ_015_P2":"Per altre domande, vai al nostro ${1}centro assistenza${2}.","HELP_LEARN_MORE":"Aiutaci a conoscerti meglio.","LIFESTYLE":"Stile di vita","SPORTS":"Sport","FOOD_HEALTH":"Cibo & salute","BEAUTY_FASHION":"Moda & bellezza","NEWS":"Notizie","GAMING":"Giochi","SCIENCE_EDUCATION":"Scienze & istruzione","MUSIC":"Musica","TRAVEL":"Viaggi","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Commedie","DIY":"Fai-da-te","TECH":"Tecnologia","CINEMA":"Cinema","CONTINUE":"Continua","SLOW_LOADING":"CARICAMENTO LENTO?","I_GIVE_UP":"RINUNCIO","LEARN_MORE":"Per saperne di più","POOR_SOURCE":"Questa fonte è scarsamente disponibile o la tua connessione Internet non è abbastanza veloce","PICK_CATEGORIES_ERR":"Devi scegliere almeno 3 categorie","ADJUST_TIMING":"Regola il tempo con ","ADJUST_SIZE":"Regola le dimensioni con ","SEARCH_ANYTHING":"Puoi cercare qualsiasi cosa...","ALL_CATEGORIES":"Tutte","SEARCH_CATEGORIES":"Film, Serie, YouTube & TV","SEARCH_PERSONS":"Attori, Registi & Scrittori","SEARCH_PROTOCOLS":"Link HTTP & Magnet","SEARCH_TYPES":"Link IMDB / TVDB","WATCHED":"Visti","SHOW_LESS":"Mostra meno","LAST_SEARCHES":"Ultime ricerche","CLEAR_HISTORY":"Pulisci cronologia","CHOOSE_SOME":"SCEGLI TRA QUESTI:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Impossibile caricare Telecomando Web","STREMIO_OFFLINE":"Stremio è offline","STREMIO_EXPENSIVE_CONNECTION":"Abbiamo notato che stai usando i dati mobile per connetterti, vuoi continuare?","USE_DATA":"Usa dati","WARNING":"Attenzione","MORE_INFO":"Più informazioni...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Caricamento...","STREMIO_TV_BACK_TO_LANGUAGES":"Torna alle lingue","STREMIO_TV_REMOTE":"Telecomando","STREMIO_TV_GO_TO":"Vai a:","STREMIO_TV_OR_SCAN":"o scansiona:","STREMIO_TV_ADDON_INSTRUCTIONS":"Per favore segui le istruzioni per installare i tuoi addon preferiti.","STREMIO_TV_LIVE_TV":"Diretta TV","STREMIO_TV_RESUME_WATCHING":"Riprendi a Guardare","STREMIO_TV_LOADING_BACKGROUND":"Caricamento Sfondo","STREMIO_TV_CHECKING_AUTHENTICATION":"Controllo Autenticazione","STREMIO_TV_LOADING_BOARD":"Caricamento Bacheca","STREMIO_TV_LOGIN_HEADER_LINE_1":"Vogliamo che i nostri utenti abbiano la migliore esperienza personalizzata possibile con il nostro software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"È per questo motivo che ti chiediamo gentilmente di creare e/o accedere al tuo account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Grazie per la comprensione,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Il Team Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Per utilizzare il Telecomando Web con il tuo Smartphone / Tablet / Computer:","STREMIO_TV_WIFI_SETUP":"Configurazione Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle non ha rilevato una connessione Internet.","STREMIO_TV_WIFI_DETAILS_1":"Connetti a:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Usa password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Apri un browser web con il link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Per ultimo visto","STREMIO_TV_LIBRARY_SORT_NAME":"Per nome","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Per nome discendente","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Per minuti visti","STREMIO_TV_LIBRARY_SORT_WATCHED":"Per visti","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Per non visti","STREMIO_TV_DETAILS_SEASON_NUMBER":"Stagione ${1}","STREMIO_TV_STREAMS_LOADING":"Caricati gli addon ${1} / ${2}...","STREMIO_TV_STREAMS_STILL_LOADING":"L\'addon ${1} è in caricamento...","STREMIO_TV_PLAYER_SETTINGS":"Impostazione del player","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Ritardo sottotitoli","STREMIO_TV_PLAYER_AUDIO_DELAY":"Ritardo audio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Adattamento video","STREMIO_TV_PLAYER_CHAPTERS":"Capitoli","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Salta ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Sorgente flusso non supportata","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Apertura link esterno fallita","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Non regolabile in modalità passthrough audio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Riproduci con ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Riproduci con libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Passaggio a libVLC a causa di un errore di riproduzione","STREMIO_TV_ADDONS_TITLE":"Usa Stremio sul tuo Telefono o PC per installare o configurare addon e premi \\"Sincronizza Addon\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: sii sicuro di utilizzare lo stesso profilo Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizza Addon","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addon sincronizzati con successo","STREMIO_TV_ADDONS_SYNC_FAILED":"Sincronizzazione addon fallita","STREMIO_TV_META_LINK_FAILED":"Apertura meta link fallita","STREMIO_TV_CATALOG_LOADING":"Catalogo in caricamento...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interfaccia lingua aggiornata","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema aggiornato","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Player di Default","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Player Esterno","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Lingua predefinita","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Lingua secondaria predefinita","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Riproduzione con tunnel","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possibili problemi di riproduzione su alcuni dispositivi","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Alcuni formati video possono non funzionare","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Corrispondenza del frame rate","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabilitata","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Solo frame rate","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame rate e risoluzione","STREMIO_TV_SETTINGS_NO_CACHING":"Caching Disattivo","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Veloce","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Veloce","STREMIO_TV_SETTINGS_SERVER_URL":"Url streaming del server","STREMIO_TV_SETTINGS_SERVER_VERSION":"versione Server","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Sconosciuto","STREMIO_TV_SETTINGS_STREMIO_VERSION":"versione Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Modifica url del server","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Inserisci un url streaming del server","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostra statistiche durante il caricamento","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Per leggere le Privacy Policy di Stremio, visita:","STREMIO_TV_SETTINGS_TOS_TEXT":"Per leggere i Termini e Condizioni di Stremio, visita:","STREMIO_TV_NAV_SEARCH":"Cerca","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Scopri","STREMIO_TV_NAV_LIBRARY":"Libreria","STREMIO_TV_NAV_MOVIES":"Film","STREMIO_TV_NAV_SERIES":"Serie","STREMIO_TV_NAV_CHANNELS":"Canali","STREMIO_TV_NAV_TV":"Dirette TV","STREMIO_TV_NAV_SETTINGS":"Impostazioni","STREMIO_TV_NAV_ADDONS":"Addon","STREMIO_TV_LOGIN_TITLE":"Collega Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Scade tra","STREMIO_TV_LOGIN_STEP_ONE":"Scansione il QR Code sotto oppure va a","STREMIO_TV_LOGIN_STEP_TWO":"Accedi al tuo account Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Richiedi un nuovo collegamento","STREMIO_TV_LOGIN_LINK_REFRESHED":"Codice di accesso aggiornato","STREMIO_TV_SEARCH_PLACEHOLDER":"Scrivi qualcosa","STREMIO_TV_SEARCH_NO_ADDONS":"Non sono stati richiesti addon per i cataloghi!","STREMIO_TV_SEARCH_BUTTON":"Cerca","STREMIO_TV_SEARCH_KEY_DEL":"Canc","STREMIO_TV_SEARCH_KEY_SPACE":"Spazio","STREMIO_TV_SEARCH_KEY_CLEAR":"Pulisci","STREMIO_TV_SEARCH_HISTORY_TITLE":"Cerca nella Cronologia","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Puoi cercare per Titolo, Attori, Canali e altro...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Pulisci la Cronologia Cerca","STREMIO_TV_FILTERS_DESCRIPTION":"Scegli uno dei filtri qui sotto","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Il server streaming è offline. Controlla le impostazioni del server.","FILTERS":"Filtri","SETTINGS":"Impostazioni","ACCOUNT":"Profilo","LOGOUT":"Disconnetti","THEMES":"Temi","PLAYBACK":"Riproduzione","PLAYBACK_SPEED":"Velocità riproduzione","AUDIO_TRACKS":"Tracce audio","UNKNOWN_TRACK_LANG":"Sconosciuta","VIDEOS":"Video","SERVER":"Server","LINKS":"Collegamenti","ABOUT":"Informazioni","INTERFACE":"Interfaccia","ANIMATIONS":"Animazioni","STATUS":"Stato","LANGUAGE":"Lingua","SIZE":"Dimensione","DELAY":"Ritardo","BOLD":"Grassetto","OPACITY":"Opacità","TEXT_COLOR":"Colore Testo","OUTLINE_COLOR":"Colore Bordi","BACKGROUND_COLOR":"Colore Sfondo","BACKGROUND_BLUR":"Sfocatura Sfondo","SEEK_TIME_DURATION":"Durata Tempo di Ricerca","AUTO_PLAY":"Auto-Play Prossimo Episodio","PLAY_NOW":"Riproduci Ora","MARK_AS_WATCHED":"Segna come già visto","MARK_AS_UNWATCHED":"Marca come non visto","REWIND_TO_BEGINNING":"Ricomincia dall\'Inizio","CONTINUE_WATCHING":"Continua a guardare","ALL":"Tutto","SECONDS":"secondi","ON":"ACCESO","OFF":"SPENTO","RELOAD":"Ricarica","EDIT_URL":"Modifica URL","URL":"URL","NONE":"Niente","EMBEDDED":"Integrato","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Cambia dispositivo","REMOTE_VIDEOS":"Video","REMOTE_ADJUST_TIMING":"Regola tempi","REMOTE_ADJUST_SIZE":"Regola dimensioni","REMOTE_COULD_NOT_BE_LOADED":"Non è stato possibile caricare Telecomando Web","REMOTE_RETRY":"Riprova","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Veloce","TORRENT_PROFILE_ULTRA_FAST":"Ultra Veloce","MB_S":"MB/s","FAQ_001_H1":"Cos\'è Stremio?","FAQ_001_P1":"Stremio è un software per media center progettato per l\'intrattenimento video pensando alla facilità d\'uso. Stremio ti consente di organizzare & guardare la tua raccolta di film, serie, canali e dirette TV.","FAQ_001_P2":"Stremio raccoglie i contenuti che ti mostra dal tuo disco locale e dal nostro sistema di addon.","FAQ_001_P3":"Ti notifica anche quando un nuovo episodio/video/film/ che ti interessa è uscito, e ti suggerisce i film raccomandati per te.","FAQ_02_H1":"Come si confronta Stremio rispetto a Kodi e Plex?","FAQ_02_P1":"Noi abbiamo preso ispirazione da questi due software. Ma abbiamo obiettivi diversi - Stremio è specificamente mirato ai video di intrattenimento, e si impegna a diventare la soluzione principale essendo molto facile da usare.","FAQ_02_P2":"Stremio non sarà mai così personalizzabile e ricco di funzionalità come Kodi e Plex, ma è molto più facile da usare. Solo ${1} prendi e vedi ${2} :)","FAQ_03_H1":"Come si confronta Stremio rispetto a Netflix?","FAQ_03_P1":"Come prima, Netflix è una delle nostre ispirazioni. Ci sforziamo di ottenere l\'esperienza utente di Netflix, oltre a molte chicche aggiuntive. Ma soprattutto, ti stiamo dando la libertà di gestire la tua libreria e aggiungere nuove fonti di contenuto con il nostro sistema di addon.","FAQ_03_P2":"Ciò rende Stremio infinitamente estendibile, quindi quando usi Stremio, non sarai mai limitato come il contenuto che Netflix decide di concedere in licenza. Per esempio, da Stremio puoi vedere contenuti da ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} e anche ${9}Netflix${10} stesso!","FAQ_04_H1":"Come si confronta Stremio rispetto a Flipboard?","FAQ_04_P1":"Non riceviamo questa domanda così spesso, tranne quando parliamo con le persone di start-up :)","FAQ_04_P2":"Stremio è progettato come aggregatore di contenuti, che lo rende effettivamente un Flipboard per i video. Questo è molto evidente nella nostra sezione Bacheca, che ti mostra cataloghi e le notifiche di nuovi video/nuovi episodi per quello che segui, proprio come Flipboard.","FAQ_05_H1":"Come si confronta Stremio rispetto a Popcorn Time?","FAQ_05_P1":"Stremio e Popcorn Time hanno un\'interfaccia simile, perché non ci sono molti modi per fare bene i cataloghi di intrattenimento video :)","FAQ_05_P2":"Ma mentre Popcorn Time è incentrato sulla riproduzione torrent da specifiche sorgenti, Stremio non ha restrizioni ed è semplicemente un aggregatore di contenuti - non è bloccato in una specifica sorgente.","FAQ_05_P3":"Inoltre, non offriamo nessun addon di tipo torrent ufficiale, quindi Stremio non copre l\'esperienza d\'uso di Popcorn Time con funzionalità ufficiali.","FAQ_05_P4":"Un\'altra differenza è che Popcorn Time è completamente open source, mentre Stremio è ${1} parzialmente open source${2}.","FAQ_06_H1":"Aggiungerete questo film/serie TV?","FAQ_06_P1":"No, ci dispiace :(","FAQ_06_P2":"Come riportato nelle altre domande, Stremio non offre perfonalmente contenuti - tutto è aggiunto grazie al sistema di addon. Nel caso dovessi avere una richiesta per un contenuto, puoi usare il tasto “Report” nel Riproduttore, che manderà una email all\'autore dell\'addon che stai attualmente utilizzando.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Creerete addon per X?","FAQ_08_P1":"È assolutamente possibile.","FAQ_08_P2":"Se hai un\'idea per un addon, scrivi una riga a ${1}office@stremio.com${2}, ma assicurati che la tua idea per l\'addon non infranga nessun copyrights o condizione d\'uso.","FAQ_08_P3":"Al momento, le prossime integrazioni sulla nostra tabella di marcia sono addon per FandangoNOW, Filmon.tv video on demand e Crunchyroll.","FAQ_09_H1":"Stremio usa BitTorrent?","FAQ_09_P1":"Sì, Stremio supporta BitTorrent come protocollo di riproduzione. Puoi usarlo sia con un addon per torrent, oppure trascinando un file .torrent su Stremio, oppure incollando un magnet link nella barra di ricerca.","FAQ_09_P2":"Attenzione, da notare che l\'unico addon che usa BitTorrent è ${1}Vodo${2}, il quale fornisce contenuti indie, tutti autorizzati per essere distibuiti su BitTorrent.","FAQ_09_P3":"Noi non supportiamo l\'uso di un qualsiasi addon di terze parti che permetta l\'infrangimento del copyright.","FAQ_10_H1":"Cosa posso guardare su Stremio con gli addon ufficiali?","FAQ_10_P1":"Di default, puoi guardare contenuti di Filmon.tv, YouTube e Vodo. In aggiunta, abbiamo addon per Twitch.tv e pochi altri.","FAQ_10_P2":"Questa combinazione fornisce una selezione di:","FAQ_10_L1":"Canali TV popolari, offerti da Filmon.tv - per esempio E4, BBC, Bollyworld TV","FAQ_10_L2":"Qualsiasi cosa da YouTube - per esempio BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Film indie con Vodo","FAQ_10_L4":"Trasmissioni di Gaming Online con Twitch.tv","FAQ_10_P3":"In più, ci sono molte fonti di contenuto fornite con gli addon di Guidebox e Netflix, che non riproducono internamente a Stremio, ma potrebbero rimandarvi a un dato servizio. Per esempio, l\'addon di Guidebox potrebbe darvi una selezione di film che si possono guardare gratis negli USA, da servizi come TubiTV e Crackle.","FAQ_11_H1":"Stremio non si installa, cosa devo fare?","FAQ_11_P1":"Se usi Windows, prova ${1}queste alternative${2}.","FAQ_11_P2":"Se usi Mac OS X, sii consapevole che non supportiamo nessuna versione precedente a OS X Mavericks (10.9).","FAQ_11_P3":"Se usi Linux, sii consapevole che supportiamo solo Linux 64 bit (x64) per il momento.","FAQ_11_P4":"Se non riesci a risolvere il tuo problema, scrivici al nostro ${1} gruppo Facebook${2}.","FAQ_12_H1":"Perché scatta il mio antivirus? Stremio è sicuro?","FAQ_12_P1":"Assicuriamo che Stremio è ${1}sicuro al 100%${2}.","FAQ_12_P2":"Il tuo antivirus scatta perchè nel nostro programma è integrata la pubblicità, che viene riconosciuta da alcuni antivirus come pericolo.","FAQ_12_P3":"Se non sei ancora sicuro, puoi provare ad installare una ${1}di queste alternative${2}.","FAQ_13_H1":"Come posso creare il mio addon?","FAQ_13_P1":"Per i principianti, suggeriamo di controllare su GitHub il nostro ${1}modulo di sistemi di addon${2}.","FAQ_13_P2":"Dopo, potete seguire la guida ${1}Hello World${2}.","FAQ_13_P3":"Se non hai idea di come programmare, condividi la tua idea sulla ${1}comunità Reddit${2} e contattaci a ${3}office@stremio.com${4} con la tua idea di addon.","FAQ_14_H1":"Come sono pubblicati gli addon?","FAQ_14_P1":"Quando crei un addon e lo offri, ed inserisci un campo endpoint nel tuo manifesto, che punta ad un indirizzo di un addon funzionante, l\'addon sarà automaticamente pubblicato sul nostro ${1}Catalogo Addon${2}.","FAQ_14_P2":"Questo succede perchè la parte server del modulo stremio-addons chiama automaticamente la nostra API per notificare l\'addon. Quando la nostra API valida il tuo endpoint come addon valido, inizierà ad essere mostrato nel catalogo.","FAQ_15_H1":"Posso lanciare Stremio nel mio browser?","FAQ_15_P1":"Non ancora per il momento, ma arriverà!","FAQ_15_P2":"Se sei curioso di vedere una versione Alpha, puoi vederla qui: ${1}alpha4.strem.io${2}. Ricordati che lo streaming è disabilitato su questa versione. Suportiamo Chrome, Firefox, Opera e Edge.","FAQ_16_H1":"La trasmissione su TV non funziona / i sottotitoli non funzionano","FAQ_16_P1":"La trasmissione su TV usa la tecnologia DLNA che è molto inconsistente tra i diversi marchi e modelli di TV. Per questo motivo, non possiamo testare ogni caso, quindi è lontana dalla perfezione. Nonostante ciò, stiamo lavorando per migliorarla costantemente ma non possiamo darti una stima di quando DLNA inizierà a funzionare correttamente con la tua TV.","FAQ_16_P2":"Se non vedi nemmeno la tua TV nel menu della Trasmissione, prova a disattivare la connessione di rete e riattivarla (su Windows, click destro su Rete e usa Abilita/Disabilita), oltre a riavviare il router, la TV e il PC.","FAQ_16_P3":"Se stai riscontrando ancora problemi, puoi aiutarci inviandoci le informazioni sulla marca e sul modello del televisore all\'indirizzo ${1}office@stremio.com${2}.","FAQ_16_P4":"Nel frattempo, ti consigliamo Chromecast, che supportiamo molto bene, o semplicemente collegando la TV al PC con un cavo HDMI.","FAQ_17_H1":"Stremio si blocca e/o crasha, cosa posso fare?","FAQ_17_P1":"Prima di tutto, se utilizzi Windows 7 con l\'antivirus AVG: abbiamo un problema con quella combinazione. Il problema è in AVG stesso e non esiste un modo ragionevole per risolverlo da parte nostra. Sfortunatamente, le eccezioni o la disattivazione dell\'antivirus non funzioneranno. L\'unica soluzione è sostituire AVG con qualcos\'altro.","FAQ_17_P2":"Se non è questo il problema, ma stai ancora utilizzando Windows, esegui l\'aggiornamento all\'ultimo service pack e aggiorna/reinstalla i driver della GPU, quindi riprova.","FAQ_17_P3":"Se il tuo problema non è ancora risolto, o stai usando un Mac o Linux, scrivici segnalando i dettagli esatti del problema sul ${1}nostro gruppo Facebook${2}.","FAQ_18_H1":"Come posso creare il mio addon?","FAQ_18_P1":"Per i principianti, suggeriamo di controllare su GitHub il nostro ${1}modulo di sistemi di addon${2}.","FAQ_18_P2":"Dopo, potete seguire la guida ${1}Hello World${2}.","FAQ_18_P3":"Se non hai idea di come programmare, condividi la tua idea sulla ${1}comunità Reddit${2} e contattaci a ${3}office@stremio.com${4} con la tua idea di addon.","FAQ_19_H1":"Perchè Stremio occupa spazio sul disco?","FAQ_19_P1":"Stremio ha una cache locale per conservare temporaneamente i file video della tua riproduzione.","FAQ_19_P2":"Questo ha due benefici: primo, permette a Stremio di anticipare il caricamento del video in modo da garantire una riproduzione più fluida. Secondo, mantiene i video nella cache locale in modo da poter continuare a guardarli offline.","FAQ_19_P3":"Quanta memoria prende Stremio dipende dalle impostazioni di Cache impostate nel pannello Impostazioni. Stremio può mantenere la quantità impostata (ad es. 2 GB) sul tuo disco, a meno che il video attualmente in streaming non sia più grande, in qual caso deve allocare spazio di archiviazione sufficiente per conservarlo fino a quando non lo riproduci in streaming.","FAQ_20_H1":"Dov\'è la cartella di cache?","FAQ_20_P1":"Su Windows, è stremio-cache nell\'unità che hai scelto in Impostazioni (es. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Su MacOS, è \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Su Linux, è \\"~/.stremio/stremio-cache\\" oppure \\"~/stremio-cache\\"","FAQ_21_H1":"Ricevo l\'errore \\"Server di riproduzione non trovato\\", cosa posso fare?","FAQ_21_P1":"Se ricevi questo errore, significa una delle poche cose:","FAQ_21_P2":"1) Stai tentando di utilizzare un addon supportato dalla sorgente YouTube/BitTorrent, dalla nostra ${1}versione web${2}. In questo caso, devi installare la nostra versione desktop dal ${3}nostro sito web${4}.","FAQ_21_P3":"2) C\'è qualcosa che non va con l\'installazione di Stremio. In questo caso, prova a reinstallare la nostra ultima versione desktop dal ${1}sito web${2}. Se non aiuta, prova a disabilitare l\'antivirus e firewall, riavviando il tuo PC e provando di nuovo. Se anche questo non aiuta, scrivici sul ${3}nostro gruppo Facebook${4}.","FAQ_22_H1":"Non posso vedere/usare parecchi addon su iOS","FAQ_22_P1":"A causa delle restrizioni nei termini e condizioni dell\'Apple App Store, abbiamo delle restrizioni sull\'applicazione per iOS solo per un particolare gruppo di addon.","FAQ_22_P2":"Ma stai tranquillo - ci saranno molti altri addon per iOS in futuro, e potremmo anche aggiungere un\'integrazione che ti consentirà di utilizzare tutti gli addon di Stremio grazie alla connessione dell\'app iOS allo Stremio Streaming Server."}')},14672:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"映画","TYPE_series":"シリーズ","TYPE_tv":"テレビチャンネル","TYPE_channel":"チャンネル","TYPE_other":"その他","TYPE_movie_PL":"映画","TYPE_series_PL":"シリーズ","TYPE_tv_PL":"テレビチャンネル","TYPE_channel_PL":"チャンネル","TYPE_other_PL":"その他","TYPE_ALL":"すべて","TYPE":"タイプ","CATALOG_com_linvo_cinemeta_top":"人気","CATALOG_com_linvo_cinemeta_imdbRating":"注目","CATALOG_com_linvo_cinemeta_year":"新着","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"パブリックドメイン映画","VIDEO":"ビデオ","BACK":"戻る","MORE":"もっと見る","DONE":"完了","COPY":"コピー","SUCCESS":"成功","ERROR":"エラー","SETTINGS_CASTING_MODE_PICKER":"キャスティングモード","CASTING_MODE_HLSV2":"デフォルト","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"トランスコーディングなし","Discover":"探す","Board":"ボード","Library":"ライブラリ","My Library":"マイライブラリ","Calendar":"カレンダー","NOTIFICATION_ONLINE":"オンラインです","NOTIFICATION_OFFLINE":"現在オフラインです","INTERNET_CONNECTION":"ネットワーク接続","STORAGE_FULL_TITLE":"警告:ストレージがいっぱいです!","STORAGE_FULL_TEXT":"Stremioは設定、プリファレンス、ログイン情報を保存できません。Stremioの再起動または再インストールを検討してください。","SEARCH":"検索","SEARCH_NO_RESULTS":"結果が見つかりませんでした","SEARCH_EXPLANATION_CONTENT":"映画、シリーズ、YouTube、テレビチャンネルを検索","SEARCH_EXPLANATION_PEOPLE":"俳優、監督、脚本家を検索","SEARCH_PASTE_LINKS":"HTTPとMagnetのリンクを貼り付け","SEARCH_OR_PASTE_LINK":"検索またはリンクを貼り付け","SEARCH_SUGGESTIONS":"検索候補","ADD_TO_LIB":"ライブラリに追加","REMOVE_FROM_LIB":"ライブラリから削除","ADDED_TO_LIB":"ライブラリに追加されました","REMOVED_FROM_LIB":"ライブラリから削除されました","TRAILER":"予告編","WATCH_TRAILER":"予告編を見る","WATCH_NOW":"今すぐ見る","SHOW":"表示","SHOW_MOVIE":"映画を表示","WATCH_RANDOM":"ランダムに視聴","IMDB_RATING":"IMDb評価","YEAR":"年","DIRECTOR":"監督","WRITER":"脚本家","LEAD_ACTORS":"主演俳優","CAST":"キャスト","CREW":"クルー","SHOW_MORE_CAST":"もっと見る »","AIRED":"放送","SEASONS":"シーズン","GENRE":"ジャンル","GENRE_ALL":"すべてのジャンル","CATALOG":"カタログ","SUMMARY":"概要","SHOW_MORE":"もっと見る","SIMILAR":"類似","UPCOMING":"今後の予定","TBA":"TBA","ENDED":"終了","DURATION":"期間","FEATURED":"注目","METADATA":"メタデータ","CATEGORY":"カテゴリ","LINKS_GENRES":"ジャンル","LINKS_CAST":"キャスト","LINKS_DIRECTORS":"監督","SEARCH_VIDEOS":"動画を検索","SEARCH_PLACEHOLDER":"検索またはURLを貼り付け","ADDON":"アドオン","ADDONS":"アドオン","OFFICIAL":"公式","ADDONS_OFFICIAL":"公式のStremioアドオン","ADDONS_POPULAR":"あなたの地域で人気","ADDON_FREE":"無料","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"サブスクリプション","ADDON_STREAM_GEORESTRICTED":"お住まいの地域では利用できません","ADDON_STREAM_OFFLINECACHE":"オフラインキャッシュ","ADDON_STREAM_LOCALFILE":"ローカルファイル","SHARE_ADDON":"アドオンを共有","AVAILABLE_STREAMS":"利用可能なストリーム","NO_STREAM":"ストリームが見つかりませんでした","ALL_ADDONS":"すべて","INSTALL_MORE_ADDONS":"より多くのストリームを利用するために、より多くのアドオンをインストールしてください","STREAM_NOT_SUPPORTED":"選択したストリームはこのプラットフォームではサポートされていません。","ADDON_CATALOGUE":"すべてのアドオンを表示 »","ADDON_CATALOGUE_MORE":"アドオンをインストール","REPO_ADDED":"リポジトリが追加されました","ADDON_REPO_EXIST_ERR":"このアドオンのコレクションはすでに存在します","ADDON_REPO_ERR":"コレクションの追加中にエラーが発生しました","ADDON_ADD_ERR":"アドオンの追加中にエラーが発生しました","ERR_ADDON_PROTECTED":"アドオンをアンインストールできません、これは保護されています","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"何か問題が発生しました - 認証が失敗した可能性があります","ERR_NOT_COLLECTION_URL":"コレクションのURLではありません","ERR_NOT_ADDON_URL":"有効なアドオンのURLではありません","ERR_DETECTFROMURL":"このURLからアドオン/コレクションを見つけることができません","ADDON_DUPLICATE_WARNING":"警告: 重複したアドオンです","ADDON_COLLECTION_SET_FAILED":"インストールしたアドオンをあなたのアカウントに同期することができませんでした","SETTINGS_DATA_EXPORT":"ユーザーデータをエクスポート","ADDON_PULL_FAILED":"あなたのアカウントからインストールしたアドオンを同期することができませんでした","REFRESH_ON_CLICK":"クリックして再試行","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"映画はまだ劇場で上映中です","WATCH_IN_CINEMA":"あなたの地元の映画館で観る","IN_THEATER":"劇場で","GET_TICKETS":"チケットを取る","UPCOMING_EPISODE":"今後のエピソード","UPCOMING_EPISODE_MESSAGE":"このエピソードは次の日に放送されます","MISSING_DATE_EPISODE":"エピソードの日付がありません","MISSING_DATE_EPISODE_MESSAGE":"このエピソードはまだ放送されていない可能性があります","CHANNEL_NOT_SCRAPED":"このチャンネルはまだスクレイプされていません。
    数分後にもう一度お越しください。","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"利用可能になったら通知を受けるために、ライブラリに追加してください。","GET_NOTIFIED_WHEN_AVAILABLE":"利用可能になったら通知を受け取ります。","WARNING_STREAMING_SERVER":"警告: ローカルストリーミングサーバーが見つかりません。ローカルファイル、YouTube、BitTorrentからのストリーミングは利用できません。","WARNING_STREAMING_SERVER_DISMISS":"閉じる","WARNING_STREAMING_SERVER_LATER":"後で","DECODER_WARNING":"警告: この動画はお使いのハードウェアではサポートされていない可能性があります。再生が遅くなる可能性がありますのでご注意ください。","GENERIC_ERROR_MESSAGE":"何か問題が発生しました!","TRY_AGAIN":"再試行","CLEAR_DATA":"データをクリア","PLAYER_ERROR":"プレーヤーエラーです","PLAYER_ERROR_LOOKSLIKE":"どうやら","PLAYER_ORIENTATION":"プレーヤーの向き","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"ロック","PLAYER_ORIENTATION_SENSOR_SHORT":"センサー","PLAYER_ORIENTATION_LANDSCAPE":"プレーヤーの向きは横向きにロックされています","PLAYER_ORIENTATION_SENSOR":"プレーヤーの向きは自動です(センサー)","PLAYER_PLAYBACK_SPEED":"再生速度","PLAYER_PLAYBACK_ERROR":"再生エラー、もう一度試してください","PLAYER_PLAYBACK_ERROR_UNKNOWN":"不明なエラー","PLAYER_PLAYBACK_ERROR_DEFAULT":"申し訳ありませんが、この動画は{{productName}}で再生できません。","PLAYER_SUBTITLES_LANGUAGES":"字幕の言語","PLAYER_SUBTITLES_VARIANTS":"字幕の種類","PLAYER_SUBTITLES_SETTINGS":"字幕の設定","PLAYER_SUBTITLES_DISABLED":"字幕は無効化されています","PLAYER_SUBTITLES_VERTICAL_POSIITON":"垂直位置","PLAYER_SUBTITLES_LOADED":"字幕が読み込まれました","PLAYER_SUBTITLES_LOADED_EMBEDDED":"埋め込まれた字幕が読み込まれました","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"独占的な字幕が読み込まれました","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"{{origin}}からの字幕が読み込まれました","PLAYER_PLAY":"再生","PLAYER_PAUSE":"一時停止","PLAYER_NEXT_VIDEO":"次の動画","PLAYER_MUTE":"ミュート","PLAYER_UNMUTE":"ミュート解除","PLAYER_OPEN_IN_EXTERNAL":"外部プレーヤーで開く","PLAYER_OPEN_IN_NPLAYER":"nPlayerで開く","PLAYER_PLAY_IN":"{{device}}で再生","PLAYER_LIVE":"ライブ","PLAYER_NEXT_VIDEO_TITLE":"次に放送予定の","PLAYER_NEXT_VIDEO_TITLE_SHORT":"次へ","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"閉じる","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"今すぐ見る","PLAYER_COPY_STREAM_SUCCESS":"ストリームのリンクがクリップボードにコピーされました","PLAYER_COPY_STREAM_ERROR":"ストリームのリンクのコピーに失敗しました","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"ダウンロードリンクがクリップボードにコピーされました","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"ダウンロードリンクのコピーに失敗しました","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"ストリーミング元","CASTING_TO":"キャスト先","NETWORK_STATUS":"ネットワーク状態","STREAM_SPEED":"ストリーム速度:","STREAM_BUFFERED":"バッファ済み:","PEERS_INFO":"ピア情報","PEERS_ACTIVE":"アクティブ:","PEERS_CONNECTED":"接続済み:","PEERS_WAITING":"待機中:","TRANSCODING_WARNING":"警告: 動画を転送しています。","STREAM_LOADING":"読み込み中...","PLAYING_LOCAL":"ローカルファイルから再生中","PLAYING_CACHE":"キャッシュから再生中","WRONG_SUBS":"字幕が間違っていますか?","ERR_SUBS_LOADING_TITLE":"字幕の読み込みエラー","ERR_SUBS_LOADING":"字幕の読み込みに失敗しました: 使用中のアドオン、またはネットワーク接続に問題がある可能性があります","WARN_FOLLOWING_SUB_ADDONS_FAILED":"次の字幕アドオンが失敗しました","ERR_CASTING_UPDATE_TITLE":"キャストデバイス情報を更新できませんでした: ストリーミングサーバーがオフラインである可能性があります","CHOOSE_DEVICE":"視聴するデバイスを選択","NO_CAST_DEVICES":"利用可能なキャスティングデバイスがありません。","NO_SETTINGS":"利用可能な設定がありません。","NO_OPTIONS":"No options available","PHONE_TABLET":"電話 / タブレット","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"字幕","SUBTITLES_CHANGE":"字幕を変更 ","SUBTITLES_CHANGE_NONE":"申し訳ありませんが、この言語の他の字幕はありません。","SUBTITLES_CHANGE_ACIVE":"現在、字幕#{{subtitlesDialog.activeIdx + 1}}が有効化されています。\\"続行\\"をクリックして字幕#{{subtitlesDialog.pickedIdx + 1}}を有効化します。","SUBTITLES_OR":"または、","SUBTITLES_ADJUST_DELAY":"字幕の遅延を調整:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"再生中にG / Hキーを使用して調整することもできます。","SUBTITLES_ADJUST_DELAY_TIP":"TIP: 再生中にG / Hキーを使用して調整できます。","SUBTITLES_DELAY":"字幕の遅延:","SUBTITLES_LOADING":"字幕を読み込んでいます...","SUBTITLES_UNAVAILABLE":"利用可能な外部字幕はありません","SUBTITLES_DISABLED":"無効化","EXTERNAL_PLAYER_DISABLED":"無効化","EXTERNAL_PLAYER_ALLOW_CHOOSING":"選択を許可","EXTERNAL_PLAYER_HINT":"ヒント: 常に外部プレーヤーで開くことができる設定があります","DONT_SHOW_AGAIN":"再度表示しない","SERVICE_INSTALL":"インストール","AUDIO":"オーディオ","DEFAULT_LANGUAGE":"デフォルトの言語","DEFAULT_SECONDARY_LANGUAGE":"デフォルトの第二言語","SEASON":"シーズン","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"エピソード","EPISODE_ABBREVIATION":"エピソード","SPECIAL":"スペシャル","SORT":"並び替え","SORT_BY":"並び順","FILTER":"フィルター","SORT_TRENDING":"トレンド","SORT_RECENT":"最新","SORT_ALPHABET":"アルファベット順","SORT_ALPHABET_REVERSE":"アルファベット逆順","SORT_RATING":"評価","SORT_WATCHED":"視聴済み","SORT_YEAR":"年","SELECT":"Select","SELECT_TYPE":"タイプを選択","SELECT_SORT":"並び替えを選択","SELECT_CATALOG":"カタログを選択","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"ジャンルを選択","SORT_LASTWATCHED":"最後に視聴した順","SORT_NAME":"アルファベット順","SORT_NAMEREVERSE":"アルファベット逆順(z-a)","SORT_TIMESWATCHED":"視聴回数が多い順","SORT_NOTWATCHED":"視聴していません","New for You":"あなたのための新着","New Episodes":"新着エピソード","New Videos":"新着ビデオ","Recommendations":"おすすめ","LIBRARY_RESUME":"再開","LIBRARY_PLAY":"再生","LIBRARY_DETAILS":"詳細","LIBRARY_RESUME_DISMISS":"閉じる","LIBRARY_CLEAR_PROGRESS":"進行状況をクリア","LIBRARY_REMOVE":"削除","LIBRARY_NOT_LOGGED_IN":"ライブラリはログインしたユーザーのみ利用可能です","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"カレンダーはログインしたユーザーのみ利用可能です","NOT_LOGGED_IN_CLOUD":"いつでもどこでもお気に入りの映画やテレビ番組にアクセスできます","NOT_LOGGED_IN_RECOMMENDATIONS":"視聴履歴に基づいたおすすめ","NOT_LOGGED_IN_NOTIFICATIONS":"二度とエピソードを見逃すことはありません","NOT_LOGGED_IN_CALENDAR":"視聴カレンダーをスケジュールしましょう","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"注目","DISCOVER_TOP":"トップ","DISCOVER_OSCAR":"オスカー受賞","DISCOVER_WARNING_TITLE":"おっと!","DISCOVER_EMPTY_CATALOG":"このアドオンは空のコンテンツを返しました。","DISCOVER_ADULT_WARNING":"このコンテンツは18歳以上のみが閲覧可能です。あなたは18歳以上ですか?","DISCOVER_NOADDON_WARNING":"警告: このタイプに対して有効なStremioアドオンがありません。保存されたアイテムを表示しますが、ここでは何も更新されません。","DISCOVER_LOAD_ERR":"コンテンツがロードされませんでした、エラーが発生しました。","DISCOVER_ADDON_UNINSTALLED":"このコンテンツはもう利用できません、アドオンをアンインストールした可能性があります。","UNINSTALL_THIS_ADDON":"このアドオンをアンインストール","ERR_ADDON_NOT_INSTALLED":"このアドオンはインストールされていません。今すぐインストールしますか?","DETAIL_RECEIVE_NOTIF_SERIES":"新エピソードの通知を受け取る","DETAIL_RECEIVE_NOTIF_VIDEOS":"新ビデオの通知を受け取る","SIDEBAR_SHOW_STREAMS":"ストリームを表示","RELAUNCH":"今すぐ再起動!","UPGRADE":"新バージョンが利用可能です!最新のStremioバージョンにアップグレード","RELOAD_UI":"ユーザーインターフェースをリロード","MANUAL_UPDATE_TITLE":"Stremioバージョンを更新","MANUAL_UPDATE_LINE1":"あなたは古いバージョンのStremioを使用していますが、これは非常にお勧めできません。","MANUAL_UPDATE_LINE2":"できるだけ早く更新してください。","BUTTON_UPDATE_LATTER":"今はしない","BUTTON_UPDATE_NOW":"更新","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"匿名ユーザー","DONT_HAVE_ACC":"アカウントをお持ちでないですか?","HAVE_ACC":"すでにアカウントをお持ちですか?","PASSWORD":"パスワード","PASSWORD_CONFIRM":"パスワードの確認","EMAIL":"Eメール","FB_LOGIN":"Facebookで続行","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"あなたの許可なしに何も共有されません","FB_NOPOST":"私たちはあなたに代わって何も投稿しません","OR":"または","I_ACCEPT":"私は以下を受け入れます","I_ACCEPT_BY_CLICKING":"上記のボタンをクリックすることで、私は以下を受け入れることを証明します ","TOS":"利用規約","MUST_ACCEPT_TERMS":"利用規約を受け入れる必要があります","PASSWORDS_NOMATCH":"パスワードが一致しません","SIGN_UP":"サインアップ","SIGN_UP_EMAIL":"メールでサインアップ","CLICK_TO_SIGN_UP":"ここをクリックしてサインアップします。","LOG_IN":"ログイン","LOG_OUT":"ログアウト","EXIT_FULLSCREEN":"全画面モードを終了","ENTER_FULLSCREEN":"全画面モードに入る","PLAY_URL_MAGNET_LINK":"URL/マグネットリンクを再生","HELP_FEEDBACK":"ヘルプ&フィードバック","TERMS_OF_SERVICE":"利用規約","PRIVACY_POLICY":"プライバシーポリシー","ABOUT_STREMIO":"Stremioについて","USER_PANEL":"ユーザーパネル","LOGIN_LABEL":"ログイン","GUEST_LOGIN":"ゲストログイン","GUEST_LOGIN_NOTICE":"ゲストログインはお勧めできません。通常のログインを使用すると、Stremioがあなたのライブラリを同期し、お気に入りのシリーズ/チャンネルの通知を受け取ることができます。本当に進行しますか?","GUEST_LOGIN_NOTICE_2":"ゲストログインはお勧めできません - 同期されたライブラリとボード通知がなく、これらはStremioの重要な機能です。本当に進行しますか?","CLICK_HERE":"ここをクリック","WRONG_PASSWORD":"メールアドレスまたはパスワードが間違っています。パスワードを忘れた場合は、","SET_A_PASS":"パスワードを設定","RESET_PASSWORD":"パスワードをリセット","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"パスワードをお忘れですか?","EMAIL_USED_WITH_FB":"このメールアドレスはFacebookログインで使用されました。","INVALID_EMAIL":"有効なメールアドレスを入力してください","INVALID_PASSWORD":"有効なパスワードを入力してください","CONN_ERR":"接続エラー - 後でもう一度お試しください。\\n\\nこの問題が解決しない場合は、ファイアウォール/ウイルス対策ソフト(特にBitdefender)を無効にしてください。","IMPORT_FROM_GUEST":"ゲストアカウントからライブラリをインポート","RECEIVE_UPDATES_EMAIL":"Stremioからの更新をメールで受け取る","LOGIN_FAILED":"ログインに失敗しました。","SIGNUP_FAILED":"サインアップに失敗しました。","SEARCH_FAILED":"検索に失敗しました","EMAIL_USED":"このメールアドレスはすでに使用されています。","WAITING_FB_LOGIN":"Facebookでログイン中...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"外部プレーヤーで再生","EXTERNAL_REMEMBER_PLAYER":"あなたの選択を記憶しますか","EXTERNAL_ALWAYS_PLAY":"はい","EXTERNAL_ONLY_ONCE":"いいえ","BEST_FIT":"最適フィット","FIT_SCREEN":"画面に合わせる","FILL":"塗りつぶす","16:9":"16:9","4:3":"4:3","Original":"オリジナル","INTRO_TASTE":"あなたの好みについて教えてください","INTRO_TASTE_LONG":"あなたが見たいものについて教えてください","INTRO_TASTE_PICK":"{{interestsRemaining}}つの興味を選んでください","INTRO_TASTE_PICK_MORE":"さらに{{interestsRemaining}}つの興味を選んでください","INTRO_TASTE_HELP_US":"あなたについてもっと学びましょう。","INTRO_TASTE_CHOOSE_THESE":"これらの中から選んでください: ","INTRO_TASTE_CHOOSE_MIN":"少なくとも3つのカテゴリーを選んでください","INTRO_TASTE_CHOOSE_MIN_ERR":"少なくとも3つのカテゴリーを選ばなければなりません!","INTRO_TASTE_LIFESTYLE":"ライフスタイル","INTRO_TASTE_SPORTS":"スポーツ","INTRO_TASTE_FOOD_HEALTH":"食事&健康","INTRO_TASTE_BEAUTY_FASHION":"美容&ファッション","INTRO_TASTE_NEWS":"ニュース","INTRO_TASTE_GAMING":"ゲーム","INTRO_TASTE_SCIENCE_EDU":"科学&教育","INTRO_TASTE_MUSIC":"音楽","INTRO_TASTE_TRAVEL":"旅行","INTRO_TASTE_LATE_NIGHT":"深夜のショー","INTRO_TASTE_REALITY":"リアリティ","INTRO_TASTE_COMEDY":"コメディ","INTRO_TASTE_DIY":"DIYの方法","INTRO_TASTE_TECH":"テクノロジー","INTRO_TASTE_CINEMA":"映画","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"選択したアドオンはこのプラットフォームではサポートされていません。","ADDON_DISCLAIMER":"サードパーティのアドオンを使用することは、常にあなたの責任と、あなたが所在する管轄区域の法律に従うことになります。","ADDON_ACTIVATE":"このアドオンを有効にしますか?","ADDON_REPO_ADD":"アドオンコレクションのURL","ADDON_ADD":"追加","INSTALL_ADDON":"アドオンをインストール","ADD_ADDON":"アドオンを追加","ADD_ADDON_DESCRIPTION":"外部リンクからアドオンを追加することができます。それはインストール済みのアドオンの下に表示されます。","PASTE_ADDON_URL":"アドオンのURLを貼り付け","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"新着情報","BUTTON_CONTINUE":"続ける","BUTTON_ACTIVATE":"有効化","BUTTON_ACTIVATED":"有効化済み","BUTTON_CANCEL":"キャンセル","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"送信","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"すべて閉じる","BUTTON_VIEW_ALL":"すべて表示","BUTTON_SEE_ALL":"すべて見る","BUTTON_COLOR_TRANSPARENT":"透明","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"ブラウザで開く","LIB_EMPTY":"あなたのライブラリは空っぽのようです。その有用性を見つけてみてください :)","HOW_START":"ここから始める方法: ","LIB_EMPTY_CAL":"あなたのカレンダーはライブラリのシリーズを表示します。","HOW_START_CAL":"シリーズを追加する方法: ","LIB_EMPTY_BOARD":"ボードは、あなたのライブラリに関連する通知と推奨事項を表示します。","HOW_START_BOARD_WAIT":"ライブラリにいくつかのシリーズやチャンネルを追加して、私たちが処理するのに数分お待ちください :)","HOW_START_BOARD":"シリーズと映画を追加する方法:","IMPORT_FB":"Facebookから好きなものをインポート","IMPORT_TRAKT":"Traktからあなたのメディアライブラリをインポート","IMPORT_DISCOVER":"Discoverから面白いものを見つける","IMPORT_DISK":"あなたのローカルディスクにある映画や番組をインポート","PLEASE_CREATE_ACC":"ライブラリの同期とボードを有効にするためにアカウントを作成してください。","IMPORT_DISCOVER_SIGNUP":"サインアップしてDiscoverから面白いものを見つける","IMPORT_DISK_SIGNUP":"サインアップして、あなたのローカルディスクにある映画や番組をインポートしましょう","LIB_EMPTY_CLOUD":"クラウドライブラリ","LIB_EMPTY_CLOUD_DESC":"すべてのデバイスで同期された個人のクラウドライブラリ","LIB_EMPTY_EARLY":"さっそく見てみましょう","LIB_EMPTY_EARLY_DESC":"新エピソードの通知を受け取る","LIB_EMPTY_PERSONAL":"パーソナル","LIB_EMPTY_PERSONAL_DESC":"パーソナルな推奨事項を取得","LIB_EMPTY_CALENDAR_DESC":"個人の視聴カレンダーをスケジュール","LIB_EMPTY_ALL":"これらのすべてを取得するにはサインアップしてください:","LIB_EMPTY_BEST":"Stremioを最大限に活用するためにサインアップしましょう","LIB_EMPTY_OTHER":"カレンダーと他のクールな機能を有効にするためにサインアップしましょう","CALENDAR_ADDED":"Stremioのカレンダーがあなたのデフォルトのデスクトップカレンダーに追加されました。","CALENDAR_ADDED_MSG":"これが機能しない場合は、手動でこのURLをカレンダーアプリケーションに追加してください","TRAKT_EXPIRED":"Traktの認証が期限切れです、設定に移動して再認証してください","TRAKT_REQUIRES_LOGIN":"Traktエラー","TRAKT_REQUIRES_LOGIN_MSG":"ログインが必要です","TRAKT_IMPORT_WATCHED":"インポート","THEME":"テーマ","THEME_DEFAULT":"デフォルト","THEME_ADAPTIVE":"自動","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"設定","SETTINGS_NAV_GENERAL":"一般","SETTINGS_NAV_PLAYER":"プレーヤー","SETTINGS_NAV_STREAMING":"ストリーミング","SETTINGS_NAV_SHORTCUTS":"ショートカット","SETTINGS_SHORTCUT_RELOAD_APP":"アプリを再読み込み","SETTINGS_SHORTCUT_OPEN_SETTINGS":"設定を開く","SETTINGS_SHORTCUT_SWITCH_TABS":"タブを切り替える","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"タブを順に切り替える","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"タブを逆順に切り替える","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"メニュー間を移動する","SETTINGS_SHORTCUT_GO_TO_SEARCH":"検索に移動する","SETTINGS_SHORTCUT_EXIT_BACK":"終了 / 戻る","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"再生速度メニューを切り替える","SETTINGS_SHORTCUT_MENU_VIDEOS":"ビデオメニューを切り替える","SETTINGS_SHORTCUT_MENU_SUBTITLES":"字幕メニューを切り替える","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"情報メニューを切り替える","SETTINGS_SHORTCUT_FULLSCREEN":"全画面表示を切り替える","SETTINGS_SHORTCUT_SHOW_CONTROLS":"コントロールを表示","SETTINGS_SHORTCUT_PLAY_PAUSE":"再生 / 一時停止","SETTINGS_SHORTCUT_VOLUME_UP":"音量を上げる","SETTINGS_SHORTCUT_VOLUME_DOWN":"音量を下げる","SETTINGS_SHORTCUT_SEEK_NEXT":"次を探す","SETTINGS_SHORTCUT_SEEK_PREV":"前を探す","SETTINGS_SHORTCUT_SEEK_BACKWARD":"後方に探す","SETTINGS_SHORTCUT_SEEK_FORWARD":"前方に探す","SETTINGS_SHORTCUT_PLAY_NEXT":"次を再生する","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"字幕サイズを大きくする","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"字幕サイズを小さくする","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"字幕の遅延を増やす","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"字幕の遅延を減らす","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"サイドバーを切り替える","SETTINGS_SHORTCUT_OR":"または","SETTINGS_SHORTCUT_TO":"へ","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"スペース","SETTINGS_SHORTCUT_SHIFT":"シフト","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"認証","SETTINGS_FACEBOOK_IMPORT":"インポート","SETTINGS_CALENDAR_SUBSCRIBE":"購読する","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"カレンダーアプリが開かれました。手動でカレンダーを登録してください。","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"カレンダーファイルがダウンロードされました。カレンダーアプリにインポートしてください。","SETTINGS_INTERFACE_LANGUAGE":"インターフェースの言語","SETTINGS_LAUNCH_STARTUP":"起動時に起動する","SETTINGS_VLC_DEFAULT":"VLCで再生する","SETTINGS_UI_LANGUAGE":"UIの言語","SETTINGS_UI_ZOOM":"インターフェースのズーム","SETTINGS_FULLSCREEN_EXIT":"エスケープキーで全画面表示を終了する","SETTINGS_GAMEPAD":"ゲームパッドのサポートを有効化","SETTINGS_CLOSE_WINDOW":"ウィンドウを閉じるときにアプリを閉じる","SETTINGS_SUBTITLES_LANGUAGE":"デフォルトの字幕言語","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"デフォルトの字幕サイズ","SETTINGS_SUBTITLES_BACKGROUND":"字幕の背景","SETTINGS_SUBTITLES_COLOR":"字幕の色","SETTINGS_SUBTITLES_COLOR_OUTLINE":"字幕のアウトラインの色","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"字幕の背景色","SETTINGS_SEEK_KEY":"矢印キーで探す時間","SETTINGS_SEEK_KEY_SHIFT":"シフトキーを押しながら矢印キーで探す時間","SETTINGS_REWIND_FAST_FORWARD_DURATION":"巻き戻しと早送りの時間","SETTINGS_BINGE":"次のエピソードを自動再生する","SETTINGS_NEXT_VIDEO":"次のエピソードを開始する通知を表示する","SETTINGS_NEXT_VIDEO_TRIGGER":"次のエピソードの通知を表示する:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"次のビデオのポップアップの時間","SETTINGS_PLAY_IN_BACKGROUND":"バックグラウンドで再生する","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"外部プレーヤーで再生する","SETTINGS_RESIZE":"再生前にウィンドウのサイズを自動調整する","SETTINGS_OVERRIDE_SERVER":"ストリーミングサーバーのURLを上書き(上級者向け)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"ストリーミングサーバーのURL: ","SETTINGS_SERVER_AVAILABLE":"ストリーミングサーバーは利用可能です。","SETTINGS_SERVER_UNAVAILABLE":"ストリーミングサーバーは利用できません。","SETTINGS_SERVER_STATUS_ONLINE":"オンライン","SETTINGS_SERVER_STATUS_ERROR":"エラー","SETTINGS_SERVER_CONFIGURE_TITLE":"ストリーミングサーバーのURLを設定","SETTINGS_SERVER_CONFIGURE_INPUT":"ストリーミングサーバーのURLを入力","SETTINGS_SERVER_CACHE_SIZE":"キャッシュサイズ","SETTINGS_SERVER_TORRENT_PROFILE":"トレントプロファイル","SETTINGS_HTTPS_ENDPOINT":"ストリーミングHTTPSエンドポイント: ","SETTINGS_TRANSCODE_PROFILE":"トランスコードプロファイル","SETTINGS_USE_BETA":"常に最新のベータ版を使用","SETTINGS_IMPORT_FB":"Facebookからインポート","SETTINGS_IMPORT_DISK":"ローカルディスクからインポート","SETTINGS_IMPORT_TRAKT":"Traktからインポート","SETTINGS_PAUSE_MINIMIZED":"最小化したときに再生を一時停止","SETTINGS_HWDEC":"ハードウェアアクセラレーションデコード","SETTINGS_BACKGROUND":"バックグラウンド再生","SETTINGS_SUBSCRIBE_CALENDAR":"カレンダーに登録","SETTINGS_REQ_EXPORT":"データのエクスポートを要求","SETTINGS_ACC_DELETE":"アカウントの削除を要求","SETTINGS_CHANGE_PASSWORD":"パスワードを変更","SETTINGS_TOS":"利用規約","SETTINGS_SUPPORT":"サポートに連絡","SETTING_LANGUAGE":"言語","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Trakt.tvからログアウト","SETTINGS_TRAKT_LOGOUT_2":"Traktからログアウト","SETTINGS_SCAN_FOR_REMOTE":"QRコードをスキャンしてリモートで開く","SETTINGS_DESKTOP_NOTIFICATIONS":"デスクトップ通知","SETTINGS_DATA_SAVER":"データ節約","SETTINGS_LANGUAGE_INTERFACE":"インターフェース","SETTINGS_LANGUAGE_SUBS":"デフォルトの字幕","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"オーディオトラックを自動選択する","SETTINGS_DEFAULT_AUDIO_TRACK":"デフォルトのオーディオトラック","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"サラウンドサウンド","SETTINGS_ACCOUNT":"アカウント","SETTINGS_PLATFORM":"プラットフォーム","SETTINGS_VERSION":"バージョン","SETTINGS_ABOUT":"情報","SETTINGS_MPV_WINDOW":"プレーヤーを別のウィンドウで起動する(高度)","SETTINGS_PLAY_IN_EXTERNAL":"常に外部プレーヤーで再生開始","SETTINGS_STORAGE_BUTTON":"ローカルストレージをクリアする","SETTINGS_STORAGE_MODAL_TITLE":"本当によろしいですか?","SETTINGS_STORAGE_MODAL_MESSAGE":"これにより、ローカルストレージがクリアされ、ログアウトされます。","SETTINGS_HWDEC_PICKER":"ハードウェアアクセラレーションデコード設定を選択する","SETTINGS_HW_AUTOMATIC":"自動","SETTINGS_HW_DISABLED":"無効","SETTINGS_HW_ACCELERATED":"デコード加速","SETTINGS_HW_FULL":"全加速","SETTINGS_HW_LEGACY":"従来","SETTINGS_DISABLED":"無効","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"ネットワーク接続の通知","SETTINGS_ANALYTICS":"アナリティクスを許可","SETTINGS_REMOTE_URL":"リモートURL","SETTINGS_COPY_REMOTE_URL":"リモートURLをコピー","SETTINGS_REMOTE_URL_COPIED":"リモートURLがクリップボードにコピーされました","SETTINGS_SECTION_SUBTITLES":"字幕","SETTINGS_SECTION_AUDIO":"オーディオ","SETTINGS_SECTION_CONTROLS":"コントロール","SETTINGS_SECTION_AUTO_PLAY":"自動再生","SETTINGS_SECTION_ADVANCED":"高度","SUBSPICKER_AUDIO":"オーディオ","SUBSPICKER_SUBTITLES":"アドオン字幕","SUBSPICKER_BLACK_BACKGROUND":"黒の背景色を使用","SUBSPICKER_VERTICAL_OFFSET":"垂直オフセット","SUBSPICKER_SIZE":"サイズ","SUBSPICKER_DELAY":"遅延","SUBSPICKER_EMBEDDED_SUBS":"埋め込み字幕","MOBILE_PRIVACY_POLICY":"プライバシーポリシー","MOBILE_CRASH_REPORTING":"クラッシュレポート","MOBILE_ZOOM_TO_FILL":"画面に合わせてズーム","MOBILE_PASSTHROUGH":"デジタルオーディオ出力(パススルー)","MOBILE_RUN_LOW_BATTERY":"バッテリー残量が少ない時に実行","MOBILE_RUN_FOREGROUND":"フォアグラウンドサービスとして実行","MOBILE_PERFORMANCE":"パフォーマンスと安定性","MOBILE_SERVER_ONLINE":"オンライン","MOBILE_SERVER_OFFLINE":"オフライン","MOBILE_QR_EXPIRES":"QRコードの有効期限は ","MOBILE_LOG_INTO":"Stremioアカウントにログイン","MOBILE_SCAN_QR":"上記のQRコードをスキャンするか、 ","MOBILE_LINK_ACCOUNT":"アカウントをリンクする","MOBILE_SPEEDPICKER_CANCEL":"キャンセル","MOBILE_SPEEDPICKER_LABEL":"再生速度を選択する","MOBILE_EMPTY_LIBRARY":"ライブラリは空です","MOBILE_NO_ADDON_ACTIVE":"このタイプのStremioアドオンはアクティブではありません。","MOBILE_ORGANIZER_WARNING":"Stremio Organizerアプリは機能が限定されています。再生可能なストリームのリストと完全なStremio体験については、デスクトップのStremioを使用してください。","MOBILE_ADDON_LOADING":"はまだ読み込み中です","MOBILE_ADDONS_LOADING":"アドオンはまだ読み込み中です","MOBILE_ADDON":"アドオン","MOBILE_CONFIGURE_ADDON":"アドオンを設定する","MOBILE_CONFIGURE_ADDON_LABEL":"アドオンを設定する","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizerアプリは限定的なアドオンの選択を提供します。完全なStremio体験については、デスクトップのStremioを使用してください。","MOBILE_DISCONNECT":"切断する","MOBILE_LOOKING_FOR_DEVICES":"デバイスを探しています...","MOBILE_CAST_TO":"にキャストする","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"アカウントを削除する","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"法的義務により、アカウントの削除は即時ではありません。アカウントの削除を要求した後、将来新しいStremioアカウントを作成するためには、異なるメールアドレス/ Facebookプロファイルを使用する必要があります。","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"アカウントの削除を確認","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"あなたのアカウントはFacebookを使用して作成されました。アカウントを削除するには、www.stremio.com/loginのユーザーポータルをご利用ください。","MOBILE_DELETE_ACCOUNT_MESSAGE":"アカウントの削除を確認するためにパスワードを入力してください。","MOBILE_DELETE_ACCOUNT_BUTTON":"アカウントを削除する","NAVIGATION_ON":"オン","NAVIGATION_OFF":"オフ","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Stremioからのマーケティングコミュニケーションを受け取ることに同意します","QUIT":"終了","CONNECTED":"接続済み","AUTHENTICATE":"認証","AUTHENTICATING":"Authenticating...","CACHING":"キャッシング","SETTINGS_CACHING_DRIVE":"キャッシュドライブ","ENABLE_LOCAL_FILES_ADDON":"ローカルファイルアドオンを有効にする(再起動が必要)","LOCAL_ADDON_NOT_ENABLED":"ローカルアドオンが有効になっていません。ここをクリックして設定に移動し、有効にしてください","ENABLE_REMOTE_HTTPS_CONN":"リモートHTTPS接続を有効化","TORRENT_PROFILE":"Torrentプロファイル","DATA_CACHING":"データキャッシュ","MAGNET_PARSING":"マグネットリンクの解析","January":"1月","February":"2月","March":"3月","April":"4月","May":"5月","June":"6月","July":"7月","August":"8月","September":"9月","October":"10月","November":"11月","December":"12月","Monday":"月曜日","Tuesday":"火曜日","Wednesday":"水曜日","Thursday":"木曜日","Friday":"金曜日","Saturday":"土曜日","Sunday":"日曜日","Action":"アクション","Comedy":"コメディ","War":"戦争","Family":"家族","Animation":"アニメーション","Adventure":"冒険","Fantasy":"ファンタジー","Crime":"犯罪","Mystery":"ミステリー","Romance":"ロマンス","Drama":"ドラマ","Horror":"ホラー","Thriller":"スリラー","Sci-Fi":"SF","Music":"音楽","Biography":"伝記","Documentary":"ドキュメンタリー","Sport":"スポーツ","Musical":"ミュージカル","Western":"西部劇","Film-Noir":"フィルム・ノワール","News":"ニュース","History":"歴史","Game-Show":"ゲームショー","Reality-TV":"リアリティTV","Talk-Show":"トークショー","Film & Entertainment":"映画&エンターテイメント","Gaming":"ゲーム","From TV":"テレビから","Lifestyle":"ライフスタイル","Science & Education":"科学&教育","Cooking & Health":"料理&健康","Beauty & Fashion":"美容&ファッション","Sports":"スポーツ","News & Politics":"ニュース&政治","How-to & DIY":"ハウツー&DIY","Tech":"テクノロジー","Automotive":"自動車","Causes & Non-Profits":"原因&非営利","Movies":"映画","Uk Live Tv":"イギリスのライブテレビ","Fashion":"ファッション","Business News Radio":"ビジネスニュースラジオ","Business Tv":"ビジネステレビ","Cars & Auto":"車&自動車","Comedy Radio":"コメディラジオ","Lifestyle Radio":"ライフスタイルラジオ","News Tv":"ニューステレビ","Food And Wine":"食べ物とワイン","Latino Tv":"ラティーノテレビ","Shopping Tv":"ショッピングテレビ","Religion":"宗教","Kids":"子供","Body & Soul":"ボディ&ソウル","Education":"教育","Indian Tv":"インドのテレビ","Extreme Sports":"エクストリームスポーツ","Middle Eastern Tv":"中東のテレビ","Celebrity Tv":"セレブリティテレビ","Science Tv":"科学テレビ","Bikini babe":"ビキニの女性","Outdoors":"アウトドア","German Tv":"ドイツのテレビ","French Tv":"フランスのテレビ","Italian Tv":"イタリアのテレビ","Gamer Tv":"ゲーマーテレビ","Travel":"旅行","Asian Tv":"アジアのテレビ","Entertainment":"エンターテイメント","News Radio":"ニュースラジオ","Music Radio":"音楽ラジオ","Language Learning":"言語学習","Science Radio":"科学ラジオ","Tech Radio":"テクノロジーラジオ","Science & Technology Vod":"科学と技術のビデオオンデマンド","new video":"新しい動画","new episode":"新しいエピソード","new movie":"新しい映画","recommended":"おすすめ","we recommend":"私たちはおすすめします","offer of the day":"本日のオファー","news":"ニュース","music video":"音楽ビデオ","CTX_SHOW_HOTKEYS":"ホットキーを表示","CTX_DISMISS_NOTIF":"通知を消去","CTX_DISMISS_ALL":"すべて消す","CTX_SHARE":"共有","CTX_COPY_SHARE_LINK":"共有リンクをコピー","CTX_COPY_MAGNET_LINK":"マグネットリンクをコピー","CTX_COPY_STREAM_LINK":"ストリームリンクをコピー","CTX_COPY_VIDEO_DOWNLOAD_LINK":"動画のダウンロードリンクをコピー","CTX_DOWNLOAD_VIDEO":"このビデオをダウンロード","CTX_DOWNLOAD_SUBS":"字幕をダウンロード","CTX_VIEW_ON_YOUTUBE":"YouTubeで見る","CTX_SHOW":"表示","CTX_PLAY":"再生","CTX_PLAY_IN":"で再生","CTX_PLAY_ON":"で再生","CTX_WATCH_ON":"で視聴","CTX_WATCH":"視聴","CTX_WATCHED":"視聴済み","CTX_WATCH_BEGINNING":"最初から視聴","CTX_WATCH_MOBILE":"モバイルデバイスで視聴","CTX_REWIND":"最初に巻き戻す","CTX_MARK_WATCHED":"視聴済みにする","CTX_MARK_NON_WATCHED":"未視聴にする","CTX_MARK_UNWATCHED":"未視聴にする","CTX_MARK_REST":"残りを視聴済みにする","CTX_UNMARK_REST":"残りを未視聴にする","CTX_RECEIVE_NEW_NOTIF":"新しい通知を受け取る","CTX_ENABLE_NEW_NOTIF":"通知を有効にする","CTX_DISABLE_NEW_NOTIF":"通知を無効にする","CTX_REMOVE_CACHE":"キャッシュから削除","CTX_REMOVE_CACHE_EP":"エピソードをキャッシュから削除","CTX_OPEN_CONTAINING":"含むフォルダを開く","CTX_REMOVE":"ライブラリから削除","CTX_AVAILABLE_OFFLINE":"オフラインで利用可能","CTX_PAUSED":"一時停止","CTX_ALWAYS_ON_TOP":"常に最前面","CTX_FULLSCREEN":"全画面","CTX_WRONG_SUBS":"字幕が間違っていますか?","CTX_REPORT_ISSUES":"問題を報告","CTX_COPY":"コピー","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"貼り付け","CTX_CLEAR":"クリア","CTX_CLEAR_RECENT_SEARCHES":"最近の検索をクリア","HELLO_THERE":"こんにちは","HOPE_YOU_ENJOY":"Stremioを楽しんでいただけて、すでにお気に入りのアプリの一つになっていることを願っています!","WHO_ARE_WE":"私たちは誰でしょうか?私たちはそれを背後に持つチームです - 過去3年間、毎日一生懸命働いて、この製品をより良くするために。","SUPPORT_US":"Stremioを楽しんでいるなら、Stremioがあなたにとって価値があるなら - 広めてください!","SPREAD_THE_WORD":"今すぐ友達と共有し、Stremioについて広めてください","MORE_PEOPLE":"Stremioを使う人が増えれば増えるほど、それはより良くなります!","SEND_A_LINK":"または、私たちのウェブサイトへのリンクを送信します","TIP_LOCALFILES":"ヒント: ローカルのビデオファイルをStremioにドラッグ&ドロップできます","ADDON_MY":"自分のアドオン","ADDON_COMMUNITY":"コミュニティアドオン","ADDON_OFFICIAL":"公式アドオン","ADDON_REPOS":"アドオンコレクション","ADDON_SEARCH":"アドオンを検索","ADDON_INSTALL":"インストール","ADDON_CONFIGURE":"設定","ADDON_UNINSTALL":"アンインストール","ADDON_UPGRADE":"更新","ADDON_INSTALLED":"インストール済み","ADDON_INSTALLED_MSG":"アドオンがインストールされました!","ADDON_UPGRADED_MSG":"アドオンが更新されました!","ADDON_UNKNOWN":"不明","ADDON_ERR":"アドオンのインストールエラー!","ADDON_DISCONNECTED":"切断されました","ADDON_APP_MISSING":"このソースのアプリがインストールされていません。今すぐインストールしますか?","ADDON_APP_INSTALL":"今すぐインストール","ADDON_PAGE":"アドオンページ","ADDON_TOP_CONTENT":"このアドオンからのベスト","ADDON_PROVIDES":"このアドオンはあなたに以下を提供します:","ADDON_WATCH":"#{types}を今すぐ視聴!","ADDON_WATCH_FREE":"#{types}を今すぐ無料で視聴!","ADDON_ADDON":"アドオン","ADDON_SUPPORTED_TYPES":"サポートされているタイプ","ADDON_SUPPORTED_CATALOGS":"サポートされているカタログ","ADDON_PROVIDES_DISCOVER":"Discoverでさらに#{types}を探す","ADDON_PROVIDES_STREAMS":"#{types}を視聴","ADDON_PROVIDES_STREAMS_FREE":"#{types}を無料で視聴","ADDON_PROVIDES_SUBTITLES":"#{types}の字幕","ADDON_CANTDETECT":"Stremioが実行中であることを検出できなかったため、インストールされているアドオンを検出できませんでした。","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"この情報が見つかりません ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"この情報の取得中にエラーが発生しました。","ERR_CANT_PARSE_MAGNET":"マグネットを解析できません","ERR_NO_MAGNET_INFOHASH":"マグネットの有効な情報ハッシュがありません","ERR_NO_FILE_PATH":"ファイルへのパスがないため、リクエストを送信できません","ERR_NO_TORRENT":"トレントが返されません","ERR_NO_SUPPORTERD_FILES":"サポートされているファイルが見つかりません","ERR_OPENING_FILES":"外部ファイルを開くことができません","ERR_INVALID_LINK":"無効なリンク","ERR_REGISTERED_ONLY":"このオプションは登録ユーザーのみ利用可能です。","ERR_CLIPBOARD":"クリップボードから再生できません","ERR_CLIPBOARD_READ":"このプラットフォームではクリップボードを読み取ることができません","ERR_CLIPBOARD_GENERIC":"クリップボードに再生可能なURLが見つかりません。ビデオへのURL(例えば、マグネットリンク)をコピーしてください。","BOARD_CONTINUE_WATCHING":"視聴を続ける","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"あなたのために特別に選ばれた映画。
    この映画はサンプルの推奨です。","BOARD_EXPLANATION_EPISODES":"お気に入りのシリーズの新エピソードはここに来ます。
    ライブラリにフォローしているシリーズを追加してください。","BOARD_EXPLANATION_VIDEOS":"お気に入りのチャンネルの新エピソードはここに来ます。
    ライブラリにフォローしているYouTubeチャンネルを追加してください。","WEBSITE_ENJOYED_BY":"世界中の3000万人以上のユーザーに楽しまれています","WEBSITE_STREAMING_ENHANCED":"ストリーミングが強化されました","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremioは安全でモダンでシームレスなエンターテイメント体験を提供します。使いやすいインターフェースと多様なコンテンツライブラリ、4K HDRサポートを含む、ユーザーはお気に入りの映画やテレビ番組をすべてのデバイスで楽しむことができます。そして、セキュリティへのコミットメントにより、Stremioは安心して高品質なストリーミング体験を選ぶための究極の選択肢です。","WEBSITE_AVAILABLE_ON":"利用可能なプラットフォーム","WEBSITE_WATCH_AND_ENJOY":"視聴して楽しむ。","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremioはそれを簡単にします","WEBSITE_ALL_FEATURES":"すべての機能","WEBSITE_EASY_TO_USE":"使いやすい","WEBSITE_EASY_TO_USE_DETAILS":"Stremioはユーザーフレンドリーで使いやすいように設計されています。クリーンで直感的なインターフェースで、簡単にナビゲートして視聴したいコンテンツを見つけることができます。","WEBSITE_SEAMLESS_ACROSS_DEVICES":"デバイス間でシームレス","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"幅広いプラットフォーム(Windows、Mac、Linux、Androidなどを含む)で利用可能なStremioは、すべてのデバイスの進行状況を追跡します。新しいデバイスごとにアプリを再設定することなく、ログインして視聴を続けることができます。","WEBSITE_ALL_DOWNLOADS":"すべてのダウンロード","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"高解像度動画をサポート","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"ほとんどのビデオフォーマットをサポートする統合ビデオプレーヤーは、4K HDRコンテンツを含む、最高品質のビデオを楽しむことができます。","WEBSITE_DIVERSE_CONTENT_LIBRARY":"多様なコンテンツライブラリ","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremioは、Netflix、Amazon Prime Video、Hulu、YouTubeなど、多数の人気ビデオソースと統合しています。","WEBSITE_CREATE_A_FREE_ACCOUNT":"無料アカウントを作成","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"視聴体験のカスタマイズ","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremioでは、テーマの変更、アドオンの追加や削除などにより、インターフェースの見た目と感じをカスタマイズできます。","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"多言語字幕サポート","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Stremioはすべての言語の字幕をサポートしているため、お気に入りのコンテンツを選択した言語で楽しむことができます。","WEBSITE_ALL_STREMIO_FEATURES":"Stremioのすべての機能","WEBSITE_TRY_STREMIO_TITLE_P1":"Stremioを試す","WEBSITE_TRY_STREMIO_TITLE_P2":"今すぐあなたのテレビで","WEBSITE_YOU_CAN_NOW_WATCH":"Android TVデバイスでお気に入りのテレビ番組をすぐに視聴できます。Stremio TVアプリを使えば、映画の夜を簡単に楽しむことができます。","WEBSITE_YOU_CAN_NOW_WATCH_2":"Smart TVまたはAndroid TVでお気に入りのテレビ番組をすぐに視聴できます。Stremio TVアプリを使えば、映画の夜を簡単に楽しむことができます。","WEBSITE_STREMIO_FOR_SMART_TV":"Smart TV用Stremio","WEBSITE_PLAY_STORE_REVIEW":"おそらく、デバイスに持っておく最も便利で有用なアプリの一つです。これは、私が特にAndroid TVで何年もの間毎日使用しているアプリの一つです。強力なコミュニティが有用な機能を提供するよく作られたアプリです。よくやった。良い仕事を続けてください。","WEBSITE_REVIEWS":"レビュー","WEBSITE_GET_STREMIO_FOR_FREE":"無料でStremioを入手","WEBSITE_GET_STREMIO_NOW":"今すぐStremioを入手","WEBSITE_STREMIO_FEATURES":"Stremioの機能","WEBSITE_STREMIO_FEATURES_DETAILS":"Stremioの高度な機能を使ってプロのようにストリームし、お気に入りのメディアへのシームレスなアクセスを楽しむ","WEBSITE_DISCOVER_MORE":"もっと発見する。","WEBSITE_DISCOVER_MORE_DETAILS":"観るものが尽きることはありません","WEBSITE_COMMUNITY_DRIVEN":"コミュニティ主導","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremioには、アドオンの作成や共有によりソフトウェアの開発に貢献する大規模で活動的なユーザーコミュニティがあります。","WEBSITE_GET_INVOLVED":"参加する","WEBSITE_NEW_THEATER_EXPERIENCE":"新しい劇場体験","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremioの新しい専用TVアプリを使えば、Android TVデバイスで映画の夜を楽しむことができます。","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremioの新しい専用TVアプリを使えば、Smart TVまたはAndroid TVデバイスで映画の夜を楽しむことができます。","WEBSITE_FREE_AND_SECURE":"無料&安全","WEBSITE_STREAMING":"ストリーミング","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremioはユーザーに比類のないセキュリティとプライバシーを提供します。アドオンをリモートで実行するという独自の機能により、Stremioは他のプラットフォームと比較してお気に入りのコンテンツをストリームするより安全な方法を提供します。あなたのセキュリティとプライバシーは最優先事項であり、プラットフォームはすべてのデータが保護されていることを保証します。","WEBSITE_FREE_AND_SECURE_DETAILS_2":"セキュリティとプライバシーに関する心配をさようならして、Stremioで終わりのないエンターテイメントの世界をこんにちはしましょう。","WEBSITE_INFORMATION_PROVIDED_BY":"情報提供者","WEBSITE_CONTRIBUTE_DESC":"プロジェクトに貢献して、Stremioをさらに良くするのを手伝ってください","WEBSITE_COMMUNITY_DESC":"本当に素晴らしいストリーミング体験を作り出す最善の方法は、コミュニティをプロセスに巻き込むことだと私たちは信じています。プログラマーであろうとアーティストであろうとただのファンであろうと、あなたはStremioの成長を助けることができます。","WEBSITE_COMMUNITY_DESC_2":"だから今日私たちに参加し、Stremioコミュニティの一部になり、ストリーミングの未来を形成し続けましょう。","WEBSITE_WAYS_TO_GET_INVOLVED":"参加する方法","WEBSITE_IN_THE_STREMIO_COMMUNITY":"Stremioコミュニティ内で","WEBSITE_SHARE_YOUR_THOUGHTS":"あなたの考えを共有する","WEBSITE_REPORT_BUGS":"バグを報告する","WEBSITE_SUGGEST_FEATURES":"機能を提案する","WEBSITE_AND_PROVIDE_FEEDBACK":"そして、私たちのソーシャルメディアチャンネルでフィードバックを提供する。","WEBSITE_BETA_TESTING_PROGRAM":"ベータテストプログラム","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Stremioコミュニティで私たちのベータテストプログラムに参加する(定期的に招待を送っています)。","WEBSITE_JOIN_NOW":"今すぐ参加!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"公式Stremioコミュニティ","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"非公式Stremioコミュニティ","WEBSITE_BECOME":"なる","WEBSITE_A_VOLUNTEER_TRANSLATOR":"ボランティアの翻訳者","WEBSITE_ARE_YOU_A_DEVELOPER":"あなたは開発者ですか?","WEBSITE_CONTRIBUTE_CODE":"私たちのオープンソースプロジェクトにコードを寄稿することができます。私たちはGitHub上にいくつかのプロジェクトを持っており、それらは寄稿者を探しています。手伝いに興味がある場合は、それらをチェックしてみてください:","WEBSITE_STREMIO_ON_GITHUB":"GitHub上のStremio","WEBSITE_CREATE_ADDON_DESC":"Stremioの機能を強化するアドオンを作成(私たちは使いやすいAPIを持っています): ","WEBSITE_STREMIO_ADDON_SDK":"StremioアドオンSDK","WEBSITE_INTERN_DEVELOPER":"私たちはまた、インターン開発者として私たちに参加する機会を提供していますので、一緒に成長することができます。","WEBSITE_APPLY_AS_AN_INTERN":"インターンとして申し込む","WEBSITE_CALLING_ALL_ARTISTS":"全てのアーティストに呼びかけます!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"あなたのファンアートを私たちのオンラインギャラリーにアップロードして、Stremioへのあなたの創造性と愛を披露してください。それが絵、絵画、またはデジタルデザインであろうと、私たちはあなたがStremioブランドに対して持つユニークな見方を見たいと思っています。私たちのアート愛好家のコミュニティに参加し、あなたの作品を世界中のStremioファンと共有してください。","WEBSITE_STREMIO_FANART_GALLERY":"Stremioファンアートギャラリー","WEBSITE_INTERN_DESIGNER":"私たちのチームの一部になり、エキサイティングなインターンシップの機会であなたの創造性を新たな高みに引き上げてください。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"パブリックドメイン映画プロジェクト","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremioでは、パブリックドメインと孤児ビデオを特定することにより、映画とテレビの歴史を保存することに専念しています。コミュニティと協力して、これらの古典的な芸術作品がすべての人々にアクセス可能であり、未来の世代が楽しむために保護されていることを確認することができます。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"そのプロジェクトに関与したいと思うなら、お気軽にお問い合わせください。","WEBSITE_JOIN_THE_PROJECT":"プロジェクトに参加する","WEBSITE_BE_PART_OF_OUR_MISSION":"私たちの使命の一部になる","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Stremioチームに参加することに興味がありますか?私たちは、情熱的なプロフェッショナルのための完全なリモートワークを提供します。私たちのオープンポジションをチェックしてみてください。","WEBSITE_OPEN_POSITIONS":"募集中のポジション","WEBSITE_DESCRIPTION":"説明","WEBSITE_LEARN_MORE":"もっと詳しく","WEBSITE_COMPANY":"会社","WEBSITE_CONTACTS":"連絡先","WEBSITE_NEED_HELP":"お困りですか?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS上のStremio Webのガイド","WEBSITE_LINK_ART_V2":"ファンアートギャラリー","WEBSITE_PARTNERS":"パートナー","WEBSITE_SLOGAN_WATCH":"すぐに視聴","WEBSITE_SLOGAN_ALL":"あなたが楽しむすべてのビデオコンテンツが一つの場所に","WEBSITE_SLOGAN_NEW":"あなたが観ることができるすべて","WEBSITE_SLOGAN_NEW_NEW":"ストリームの自由","WEBSITE_WATCH_FROM":"から視聴","WEBSITE_DOWNLOAD":"今すぐダウンロード","WEBSITE_DOWNLOAD_FOR":"今すぐダウンロード","WEBSITE_IS_DESKTOP":"Stremioはデスクトップアプリケーションで、このページをPCで開いてダウンロードしてください","WEBSITE_DESKTOP_DEMO_VID":"デスクトップデモ","WEBSITE_PAGE_HOME":"ホーム","WEBSITE_PAGE_FEATURES":"機能","WEBSITE_PAGE_ADDONS":"アドオン","WEBSITE_PAGE_TECH":"テクノロジー","WEBSITE_PAGE_CREATE_ADDON":"アドオンを作成","WEBSITE_PAGE_CONTACTS":"連絡先","WEBSITE_PAGE_BLOG":"ブログ","WEBSITE_RESET_PASSWORD_MESSAGE":"新しいパスワードを以下に入力してください。","WEBSITE_RESET_PASSWORD_WARNING":"${1}のパスワードをリセットしてもよろしいですか?","WEBSITE_TYPE_movie":"映画","WEBSITE_TYPE_series_PL":"シリーズ","WEBSITE_TYPE_tv":"ライブTV","WEBSITE_TYPE_channel":"チャンネル","WEBSITE_STREMIO_WHAT_IS":"Stremioは、お気に入りのビデオ、映画、テレビシリーズ、テレビチャンネルを整理し、すぐに視聴するのに役立つアプリです。","WEBSITE_FEATURES_WATCH":"HDで即時視聴","WEBSITE_FEATURES_WATCH_DETAIL":"お気に入りの映画、テレビ番組、ビデオ、テレビチャンネルをクリックして再生します。","WEBSITE_FEATURES_SUBS":"自動字幕","WEBSITE_FEATURES_SUBS_DETAIL":"Stremioは自動的にあなたの言語に合わせた字幕を選択します。","WEBSITE_FEATURES_SUBS_LABEL":"あなたの番です、チーフ。","WEBSITE_FEATURES_CAST":"TV&モバイルデバイスで再生","WEBSITE_FEATURES_CAST_DETAIL":"AppleTV、Chromecast、Smart TV(DLNA/UPnP)およびモバイルデバイスにキャストします。","WEBSITE_LIB":"すべてのデバイスで同期された個人のライブラリを楽しむ","WEBSITE_LIB_COLLECT":"Stremioから収集","WEBSITE_LIB_IMPORT":"Facebookからインポート","WEBSITE_LIB_LOCAL":"ローカルドライブから追加","WEBSITE_BOARD":"ボード - 通知と推奨のためのワンストップの場所","WEBSITE_BOARD_RECOMMEND":"推奨されるテレビ番組","WEBSITE_BOARD_TRENDING":"トレンドの映画","WEBSITE_BOARD_NEW":"新しいビデオ","WEBSITE_BOARD_EPISODE":"新しいエピソード","WEBSITE_BOARD_1":"何か面白いものを観るためのものを探していますか?あなたの好みに基づいて推奨を得ます!","WEBSITE_BOARD_2":"お気に入りのテレビ番組やYouTubeチャンネルの新しいエピソードが出たときに通知を受け取ります!","WEBSITE_BOARD_YOUTUBE":"YouTubeチャンネルの新しい動画","WEBSITE_BOARD_EPISODES":"フォローしているシリーズの新エピソード","WEBSITE_ADDONS":"コンテンツアドオン","WEBSITE_TECH_DETAIL":"私たちはテクノロジーが大好き、マッドサイエンスが大好き!\\nStremioは以下のオープンソース技術を使用しています:","WEBSITE_TECH_WCJS":"WebChimera.jsは、Stremioがあらゆるビデオ形式を高性能で再生できるようにします。","WEBSITE_TECH_WCJS_EXTRA":"私たちはコアプロジェクトの貢献者です","WEBSITE_TECH_ELECTRON":"Electronは、Stremioを構築するための革新的なプラットフォームを提供します。","WEBSITE_TECH_ELECTRON_EXTRA":"私たちはプロジェクトの貢献者です","WEBSITE_TECH_LINVODB":"あなたのデータが整理され、どこでもログインできるようにするデータベース技術。","WEBSITE_TECH_LINVODB_EXTRA":"自社技術","WEBSITE_CREATE_ADDON":"あなたのアドオンを作成する","WEBSITE_CREATE_ADDON_DETAIL":"ビデオコンテンツを提供するサービスを持っていますか? Stremioの機能を活用して、あなたのアドオンを作成するのをお手伝いします。","WEBSITE_CREATE_ADDON_BENEFITS":"Stremioのアドオンを作成する利点","WEBSITE_P2P_BEAUTY":"ピアツーピアストリーミングの美しさ","WEBSITE_P2P_1":"信頼性と手頃な価格のフルHD / 4Kビデオオンデマンドまたはライブストリーミング","WEBSITE_P2P_2":"優れたユーザーエクスペリエンスを提供する配信プラットフォーム","WEBSITE_P2P_3":"あなたのニーズに合ったアドオンを作成します","WEBSITE_P2P_CONTACT":"興味がありますか? お問い合わせしていただければ幸いです。","WEBSITE_P2P_CONTACT_EXTRA":"Stremioとあなたのコンテンツを統合するのをお手伝いします!","WEBSITE_P2P":"時々、ゲームの名前を変える技術が登場します。私たちは、あらゆるユースケースに適応する素晴らしいパフォーマンスと多様性を提供するピアツーピア(P2P)ビデオストリーミングエンジンの構築に多くの時間と労力を投資しました。\\nDRM対応のP2Pビデオオンデマンドまたはライブストリーミングについてお問い合わせください。","WEBSITE_THOUGHTS":"私たちが共有する考え:","WEBSITE_SPREAD":"Stremioについて広める:","WEBSITE_CONTACT":"お問い合わせください、あなたからの声をお待ちしています!","WEBSITE_OPENSOURCE":"私たちのオープンソースプロジェクトについては、こちらをご覧ください","WEBSITE_BITCOIN":"ビットコインを寄付する:","WEBSITE_FAQ":"よくある質問","WEBSITE_FAQ_SHORT":"FAQ(よくある質問)","WEBSITE_QUESTIONS":"質問","WEBSITE_TOS":"利用規約","WEBSITE_LEGAL":"法的","WEBSITE_PAGE_ABOUT":"紹介","WEBSITE_PAGE_BECOME_PARTNER":"パートナーになる","WEBSITE_ALL_YOU_CAN_WATCH":"見たいものは何でも\\n自由に見る。","WEBSITE_FREEDOM_TO_STREAM":"ストリームの自由","WEBSITE_WHAT_IS_STREMIO":"Stremioとは何ですか?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremioは、ビデオコンテンツの集約のためのワンストップハブです。あらゆる種類のソースからビデオを発見、整理、視聴できます。","WEBSITE_WHAT_IS_STREMIO_P2":"映画、テレビ番組、シリーズ、ライブテレビ、またはYouTubeやTwitch.tvのようなウェブチャンネル - これらすべてがStremioで見つけることができます。","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremioは、ビデオエンターテイメントのためのワンストップソリューションである現代のメディアセンターです。簡単にインストールできるアドオンからビデオコンテンツを発見、視聴、整理できます。","WEBSITE_WHAT_IS_STREMIO_P2_V2":"映画、テレビ番組、ライブテレビ、ウェブチャンネル - これらすべてがStremioで見つけることができます。","WEBSITE_ENJOI_ON_ALL_DEVICES":"すべてのメディアデバイスで楽しむ","WEBSITE_DEVICES_COLLECT":"Stremioから収集","WEBSITE_DEVICES_IMPORT_FB":"Facebookからインポート","WEBSITE_DEVICES_LOCAL":"ローカルドライブから追加","WEBSITE_JOIN_THE_PARTY_NOW":"今すぐパーティーに参加","WEBSITE_DEVICES_ALL":"すべてのデバイスで使いやすい;","WEBSITE_EXTENDABLE_CATALOG":"無限に拡張可能なビデオカタログ;","WEBSITE_ORGANIZE_YOUR_MEDIA":"メディアを整理する素晴らしい機能;","WEBSITE_AS_SEEN_ON":"以下で紹介されました:","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"私たちについて","WEBSITE_LINK_TECHNOLOGY":"技術","WEBSITE_LINK_APPS":"アプリ","WEBSITE_LINK_DOWNLOADS":"ダウンロード","WEBSITE_MORE":"もっと","WEBSITE_LINK_ADDONS":"アドオン","WEBSITE_LINK_ADDON_SDK":"アドオン SDK","WEBSITE_LINK_CONTRIBUTE":"貢献する","WEBSITE_LINK_COMMUNITY":"コミュニティ","WEBSITE_LINK_BLOG":"ブログ","WEBSITE_MORE_MORE":"... その他","WEBSITE_LINK_HELP":"ヘルプセンター","WEBSITE_LINK_CONTACTS":"ビジネスお問い合わせ","WEBSITE_LINK_TOS":"利用規約","WEBSITE_LINK_PRAVACY":"プライバシーポリシー","WEBSITE_SUBSCRIBE":"購読する","WEBSITE_NEWSLETTER":"素晴らしい情報を提供するニュースレターに参加する","WEBSITE_PLACEHOLDER_EMAIL":"あなたのメール","WEBSITE_COMMUNITY":"コミュニティ","WEBSITE_LINK_PRAVACY_LEGAL":"プライバシーと法的","WEBSITE_WHY":"なぜ私たちはそれをするのか","WEBSITE_WHY_P1":"Stremioでは、毎日仕事に来て、ビデオオンデマンド業界の重要な問題を解決したいと思っています。毎分新しいコンテンツが公開されているため、それを見つけるのはほとんど不可能です。","WEBSITE_WHY_P2":"私たちは、人々がビデオエンターテイメントの大きな世界をナビゲートし、新しいコンテンツを楽しむことを助けます。私たちのアプリは映画、シリーズ、ライブTV、ウェブチャンネルなどを一緒に持ってきます。私たちは、ユーザーが好きなタイトルや放送局を見つけるのを非常に簡単にすることに専念しています。","WEBSITE_WHY_P3":"私たちのサービスは、どのデバイスでも、いつでも利用できるため、Stremioは唯一のビデオエンターテイメントハブになります。","WEBSITE_TEAM":"チーム","WEBSITE_TEAM_P":"Stremioのチームは小さくてパワフルです:私たち10人の間で、X言語でコードを書き、ソフトウェア開発、UIとUXデザイン、マーケティングと広告、ビジネスとスタートアップの専門知識を共有します。","WEBSITE_FEATURES":"特徴","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"新しいコンテンツを簡単に発見","WEBSITE_FEATURES_DISCOVER_P":"新しい映画、テレビ番組、シリーズ、チャンネルを簡単に見つけて視聴します。カテゴリ、ジャンル、評価、最近のものなどでブラウズするか、名前を入力して探します。Stremioは新しいビデオコンテンツを見つけるのが簡単です。","WEBSITE_FEATURES_ALL_CONTENT":"すべてのビデオコンテンツを一つの画面で","WEBSITE_FEATURES_ALL_CONTENT_P1":"未完の映画、シリーズ、ビデオを確認し、視聴を続けます。新エピソードやリリースの通知を受け取り、視聴習慣に基づいた推奨をブラウズします。","WEBSITE_FEATURES_LIBRARY":"ビデオライブラリを整理する","WEBSITE_FEATURES_LIBRARY_P1":"任意のタイトルを一回のクリックでStremioライブラリに追加し、タイプ、最近のもの、またはアルファベット順に整然と並べられたコンテンツを見つけます。","WEBSITE_FEATURES_CALENDAR":"視聴するすべてを追跡する","WEBSITE_FEATURES_CALENDAR_P1":"ライブラリに追加したすべての映画とシリーズのカレンダー表示を取得します。Stremioカレンダーをエクスポートして同期し、新エピソードやプレミアがいつ予定されているかを常に把握します。","WEBSITE_FEATURES_BIG_SCREEN":"大画面でビデオコンテンツを楽しむ","WEBSITE_FEATURES_BIG_SCREEN_P1":"視聴中のものを他のデバイス(電話、タブレット、TVなど)にキャストします。","WEBSITE_FEATURES_SOURCES":"さまざまなソースからビデオを視聴する","WEBSITE_FEATURES_SOURCES_P":"公式およびコミュニティのアドオンをインストールして、さまざまなプロバイダからのビデオを楽しむことができます。これらはすべて、洗練された使いやすいアプリで利用できます。","WEBSITE_CREATE_AN_ADDON":"アドオンを作成する","WEBSITE_FEATURES_SYNC":"ライブラリを異なるデバイス間で同期し、再生を再開する","WEBSITE_FEATURES_SYNC_P1":"すべてのデバイスでアカウントにログインし、ライブラリ、アドオン、再生、カレンダーを同期して楽しみます。","WEBSITE_FEATURES_EXTENDABLE":"アドオンによる拡張可能なビデオカタログ","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremioのアドオンカタログは、インストールしてさまざまなビデオコンテンツを視聴するための多数のアドオンを提供します。これには、映画、番組、ライブTV、スポーツ、ニュース、ポッドキャスト、ウェブチャンネル、ビデオゲームなどが含まれます。","WEBSITE_FEATURES_AUTO_SUBS":"自動字幕","WEBSITE_FEATURES_AUTO_SUBS_P1":"字幕アドオンを使用すると、選択した言語のオプションが自動的に選択されます。","WEBSITE_FEATURES_CHROMECAST":"Chromecastへのキャスト","WEBSITE_FEATURES_CHROMECAST_P1":"ビデオコンテンツを大画面で楽しむか、視聴中のものを他のデバイスにキャストします。","WEBSITE_FEATURES_KEEP_TRACK":"お気に入りのテレビ番組とウェブチャンネルを追跡する","WEBSITE_FEATURES_KEEP_TRACK_P1":"お気に入りのシリーズとウェブチャンネルの新エピソードのカレンダー表示と通知を取得します。","WEBSITE_FEATURES_POWER_USER":"パワーユーザー機能","WEBSITE_FEATURES_POWER_USER_P1":"外部プレーヤーで再生","WEBSITE_FEATURES_POWER_USER_P2":"トレントファイルまたはマグネットリンクから再生","WEBSITE_FEATURES_POWER_USER_P3":"Facebookの「いいね」やローカルディスクからライブラリにインポート","WEBSITE_ADD_ONS":"アドオン","WEBSITE_ADD_ONS_P1":"Stremioが提供するすべてのビデオコンテンツは、アドオンシステムを通じて供給されます。コンテンツやコンテンツプロバイダはアプリに組み込まれていません。","WEBSITE_ADD_ONS_P2":"利用可能なアドオンは2つのグループに分かれています:公式とコミュニティのアドオン。","WEBSITE_ADD_ONS_P3":"公式のものはStremioが開発・ホスティングし、コミュニティのアドオンはコミュニティのメンバーが作成・ホスティングします。","WEBSITE_ADDONS_OFFICIAL":"公式アドオン","WEBSITE_ADDONS_WATCHUB":"iTunes、Hulu、Amazonなどのプロバイダからお気に入りの映画、シリーズ、番組をストリームします。","WEBSITE_ADDONS_YOUTUBE":"お気に入りのYouTubeチャンネルを広告なしで視聴し、フォローしている投稿者の新しいアップロードの通知を受け取ります。","WEBSITE_ADDONS_FILMON":"無料でライブTV、映画、ソーシャルテレビを視聴。600のTVチャンネル、45,000の無料映画、ドキュメンタリーなど。","WEBSITE_ADDONS_OPENSUBTITLES":"映画やテレビの字幕を複数の言語で、毎日何千もの翻訳字幕がアップロードされます。","WEBSITE_ADDONS_COMMUNITY":"コミュニティアドオン","WEBSITE_ADDONS_FILMON_VOD":"Filmon.tvからビデオオンデマンドを視聴","WEBSITE_ADDONS_TWICH":"Twitch.tvからライブストリームを視聴 - eスポーツ業界向けのビデオストリーミングプラットフォーム。","WEBSITE_ADDONS_VODO":"インディー映画を完全に無料で視聴。","WEBSITE_ADDONS_NETFLIX":"Netflixの映画とウェブシリーズを視聴。","WEBSITE_ADDONS_CREATE":"アドオンを作成する","WEBSITE_ADDONS_CREATE_P1":"ご希望であれば、自分自身のアドオンを開発することができます。これにより、自分自身とコミュニティに新しいビデオコンテンツへのアクセスを提供し、世界中の何百万人もの新しいターゲットオーディエンスに到達することができます。","WEBSITE_ADDONS_START_CREATE":"始めるには、Stremio Addon SDKページを訪れてください:","WEBSITE_DOWNLOADS":"ダウンロード","WEBSITE_DOWNLOADS_P1":"最適なパフォーマンスを得るために、Stremioアプリの最新の利用可能なバージョンを使用することをお勧めします。ただし、何らかの理由で古いバージョンを使用したい場合は、ここからダウンロードできます。","WEBSITE_DOWNLOADS_P1_SHORT":"最適なパフォーマンスを得るために、Stremioアプリの最新の利用可能なバージョンを使用することをお勧めします。","WEBSITE_DOWNLOADS_FOR_WIN":"Windows用Stremio","WEBSITE_DOWNLOADS_FOR_MAC":"macOS用Stremio","WEBSITE_DOWNLOADS_FOR_LINUX":"Linux用Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID":"Android用Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Android TV用Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Android Mobile用Stremio","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Steam Deck用Stremio","WEBSITE_DOWNLOADS_FOR_IOS":"iOS用Stremio(限定版)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Samsung TV用Stremio","WEBSITE_DOWNLOADS_FOR_LG_TV":"LG TV用Stremio","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Sony TV用Stremio(Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Philips TV用Stremio(Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Oculus Quest用Stremio","WEBSITE_DOWNLOADS_FOR_META_QUEST":"メタクエスト用のStremio","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Vision Pro用のStremio","WEBSITE_DOWNLOADS_FOR_XBOX":"Xbox用Stremio","WEBSITE_DOWNLOADS_FOR_RPI":"Raspberry Pi用Stremio","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"ブラウザ用Stremio","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"2019年以降のSamsung TVモデルのApp StoreでStremioを検索","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"2020年以降のLG TVモデルのApp StoreでStremioを検索","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Androidを実行しているSony TVでPlayストアアプリでStremioを検索","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Androidを実行しているPhilips TVでPlayストアアプリでStremioを検索","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"XboxデバイスのApp StoreでStremioを検索","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"RPIのStremio OS用ガイド","WEBSITE_LINK_GUIDE":"ガイド","WEBSITE_DOWNLOAD_SERVICE":"Stremio Serviceをダウンロード","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio ServiceはStremio Webのコンパニオンアプリです。Stremio Serviceの最新の利用可能なバージョンを使用することをお勧めします。","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Windows用Stremio Service","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"macOS用Stremio Service","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Linux用Stremio Service","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Docker用Stremio Service","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Docker用Stremio","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"その他のダウンロードオプション","WEBSITE_DOWNLOAD_NEW":"新着!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Stremio Webをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Samsung TV用Stremioをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"LG TV用Stremioをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Xbox用Stremioをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Raspberry Pi用Stremioをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"貢献","WEBSITE_CONTRIBUTE_P1":"Stremioプラットフォームはオープンソースで、現在供給されていないコンテンツのためのアドオンを簡単に作成することができます。","WEBSITE_CONTRIBUTE_WHY":"なぜアドオンを作成するべきなのか?","WEBSITE_CONTRIBUTE_WHY_P1":"ビデオコンテンツの新しい視聴者を獲得する","WEBSITE_CONTRIBUTE_WHY_P2":"Stremioのユーザーベースは急速に成長しています - ローンチから1年以内に、Stremioは世界中で100万人のユーザーを獲得し、プラットフォームが存在する2年目にはこの数は250万人に増えました。","WEBSITE_CONTRIBUTE_WHY_P3":"あなたのアドオンを使えば、この視聴者に簡単に到達し、ビデオコンテンツを配信することができます。","WEBSITE_CONTRIBUTE_ALL":"お気に入りの映画、ビデオ、シリーズ、チャンネルを一つの場所で視聴します。","WEBSITE_CONTRIBUTE_ALL_P1":"まだStremioで利用できない特定のタイプのコンテンツのファンですか?それのためのアドオンを作成し、市場で最大かつ最も使いやすいエンターテイメントハブの一つでお気に入りのビデオを視聴しましょう。","WEBSITE_CONTRIBUTE_ALL_P2":"その上で、同じように考えるStremioコミュニティのメンバーから終わりのない感謝を得ることができます。","WEBSITE_CONTRIBUTE_MONETIZE":"あなたのアドオンを収益化し、その助けを借りてお金を稼ぎましょう","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Stremioの新しいアドオンを開発すると、さまざまな方法で簡単に収益化することができます。これを検討している場合は、お気軽にお問い合わせください:","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - アドオンの収益化オプションについての相談やアドバイスを喜んで行います。","WEBSITE_CONTRIBUTE_TRANSLATE":"ボランティアの翻訳者になる","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Stremioのアプリをさまざまな言語で楽しみたい場合は、ボランティアの翻訳者のコミュニティに参加できます。彼らは私たちがStremioを多くの異なる言語に追加するのを助けてくれます。","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"始めるのが待ちきれませんか?","WEBSITE_TRANSALTE_STREMIO":"Stremioを翻訳する","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"公式コミュニティ","WEBSITE_COMMUNITY_OFFICIALS_P1":"成長するStremioコミュニティの一部になりましょう。ソーシャルメディアで私たちをフォローし、こんにちはと言うのをためらわないでください - 私たちはファンからの声を聞くのが大好きです!","WEBSITE_COMMUNITY_UNOFFICIALS":"非公式コミュニティ","STREMIO_COMMUNITY_NL":"Stremioオランダ","STREMIO_COMMUNITY_BRASIL":"Stremioブラジル","STREMIO_COMMUNITY_GERMANY":"Stremioドイツ","STREMIO_COMMUNITY_BELGIUM":"Stremioベルギー","STREMIO_COMMUNITY_FRANCE":"Stremioフランス","STREMIO_COMMUNITY_PORTUGAL":"Stremioポルトガル","STREMIO_COMMUNITY_ITALY":"Stremioイタリア","STREMIO_COMMUNITY_UK":"Stremio英国","STREMIO_COMMUNITY_USA":"Stremioアメリカ","STREMIO_COMMUNITY_MEXICO":"Stremioメキシコ","STREMIO_COMMUNITY_ADDONS":"Stremioアドオン","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"素晴らしいStremio","WEBSITE_COMMUNITY_PARTNERS":"パートナーとサポーター","WEBSITE_COMMUNITY_GOODIES":"Stremioのグッズ","WEBSITE_COMMUNITY_WALLPAPERS":"壁紙","WEBSITE_COMMUNITY_ART":"コミュニティアートギャラリー","WEBSITE_LINK_ART":"コミュニティアートギャラリー","WEBSITE_CONTACT_US":"お問い合わせ","WEBSITE_CONTACT_US_P1":"ご質問、コメント、提案がありましたら、以下のお問い合わせフォームからお気軽にお問い合わせください。","WEBSITE_CONTACT_US_P2":"私たちはブルガリアに位置しているため、タイムゾーンの違いにより、お問い合わせの対応に遅れが生じることがあります。","WEBSITE_CONTACT_US_SUCCESS":"あなたのメッセージは送信されました。できるだけ早くご連絡いたします。","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"有効なメールアドレスを入力してください!","WEBSITE_CONTACT_US_Q_RELATED_TO":"あなたの質問は何に関連していますか?","WEBSITE_CONTACT_US_Q_OS":"あなたのオペレーティングシステムは何ですか?","WEBSITE_CONTACT_US_PH_EMAIL":"あなたのEメール","WEBSITE_CONTACT_US_PH_MESSAGE":"メッセージ","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"送信","WEBSITE_CONTACT_US_Q_1":"インストール方法は?","WEBSITE_CONTACT_US_Q_2":"アンインストール方法は?","WEBSITE_CONTACT_US_Q_3":"(HTML) ラザニアの作り方は?","WEBSITE_CONTACT_US_Q_4":"アドオン","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"テクノロジー","WEBSITE_TECHNOLOGY_P1":"私たちはテクノロジーと狂気の科学が大好きです。
    これがStremioを動かしているものです(すべてオープンソースです)。","WEBSITE_TECHNOLOGY_P_QT":"最高のクロスプラットフォームソフトウェア開発。","WEBSITE_TECHNOLOGY_P_MPV":"無料の、オープンソースの、クロスプラットフォームのメディアプレーヤー。","WEBSITE_TECHNOLOGY_P_RN":"React Nativeを使用すると、JavaScriptだけでモバイルアプリを作成できます。","WEBSITE_TECHNOLOGY_P_VLC":"アプリケーションに埋め込まれたメディアフレームワークでマルチメディアを取得します。","WEBSITE_TECHNOLOGY_P_REALM":"Realmはモバイルプラットフォームであり、SQLiteとCore Dataの代替品です。","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.jsはオープンソースのクロスプラットフォームJavaScriptランタイム環境です。","WEBSITE_TECHNOLOGY_P_RUST":"Rustは、安全性、特に安全な並行性に焦点を当てたマルチパラダイムのシステムプログラミング言語です。","WEBSITE_TECHNOLOGY_CONTRIBUTE":"プロジェクトに貢献する","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Stremioに貢献して、製品をさらに良くする方法は2つあります。","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"プラットフォームの翻訳により、貴重な言語スキルを寄付することができます...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"または","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... コミュニティアドオンの作成にコーディングスキルを活用することができます。","WEBSITE_TRANSLATE_STREMIO":"Stremioを翻訳する","WEBSITE_404_OH_NO":"おっと!探しているページはここにはありません...","WEBSITE_GO_HOME":"ホームに戻る","WEBSITE_LINK_OTHER_DOWNLOADS":"その他のダウンロード","WEBSITE_FAQ_ABR":"よくある質問","WEBSITE_SUPPORT":"サポート","WEBSITE_DOWNLOAD_4_0_BETA":"今すぐStremio 4ベータ版をダウンロード","WEBSITE_GET_FOR_DESKTOP":"デスクトップ用に取得","WEBSITE_LINK_ADDON_COMPETITION":"アドオンコンペティション","WEBSITE_LINK_ART_CONTEST":"アートコンテスト","WEBSITE_MY_ACCOUNT":"マイアカウント","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremioとは何ですか?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremioは、あなたが何でも見たいと思う自由を与えてくれる現代的なメディアセンターです。","WEBSITE_MAINPAGE_FAQ_002_H1":"それはどのように動作しますか?","WEBSITE_MAINPAGE_FAQ_002_P1":"Stremioをデバイスにインストールし、アカウントを作成すると、あなたがしなければならないのは、アドオンカタログを訪れて任意のアドオンをインストールすることだけで、準備完了です!","WEBSITE_MAINPAGE_FAQ_002_P2":"その後、DiscoverセクションやBoardセクションに移動してコンテンツの探索を開始できます。","WEBSITE_MAINPAGE_FAQ_003_H1":"ここで何を見ることができますか?","WEBSITE_MAINPAGE_FAQ_003_P1":"たくさん:映画、テレビ番組、ウェブチャンネル、スポーツ、テレビチャンネル、ポッドキャストを聴くなど。私たちのアドオンシステムのおかげで、さまざまなコンテンツにアクセスできます。","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremioはオープンソースですか?","WEBSITE_MAINPAGE_FAQ_004_P1":"はい、次のリンクをご覧ください:${1}デスクトップアプリ${2} および ${3}GitHubの組織${4}。","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremioは安全ですか?","WEBSITE_MAINPAGE_FAQ_005_P1":"はい:オープンソースソフトウェアであるため、コードは公開されており、自分でレビューすることができます。","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremioのアドオンシステムも、ユーザーのセキュリティを考慮して作成されました。アドオンはローカルでコードを実行しないため、デバイスにリスクをもたらすことはありません。","WEBSITE_MAINPAGE_FAQ_006_H1":"プライバシーはどうですか?","WEBSITE_MAINPAGE_FAQ_006_P1":"私たちはユーザーのプライバシーを尊重し、アカウントの作成と同期に必要な最小限の個人データしか収集しません。","WEBSITE_MAINPAGE_FAQ_006_P2":"また、サインアップ時に${1}ゲストモード${2}があり、これにはデータが一切必要ありません:このモードでは、バックエンドに対する呼び出しが行われません。ただし、デバイス間でライブラリを同期するなどの便利な機能が利用できなくなります。","WEBSITE_MAINPAGE_FAQ_007_H1":"私のテレビにキャストすることはできますか?","WEBSITE_MAINPAGE_FAQ_007_P1":"はい、Chromecastをサポートしており、デスクトップアプリとモバイルアプリ(Android)の両方からキャストすることができます。","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremioにはいくつのアドオンがありますか?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019年末現在、50以上あります - 詳細はアドオンカタログをご覧ください。","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremioはアドオンカタログの範囲を超えて拡張できますか?","WEBSITE_MAINPAGE_FAQ_009_P1":"はい、次のものをチェックしてみてください:${1}PimpMyStremio${2}、${3}Redditのコミュニティ${4}、${5}Stremio Downloader${6}など。","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremioはどのデバイスをサポートしていますか?","WEBSITE_MAINPAGE_FAQ_010_P1":"Windows、Mac、Linux用のデスクトップアプリがあります。モバイルでは、AndroidとiOSをサポートしていますが、iOSは機能が限定されていることに注意してください(ほとんどのアドオンをサポートしていません)。","WEBSITE_MAINPAGE_FAQ_010_P2":"NVIDIA ShieldやAmazon Fire Stickなど、Stremioを実行できるAndroidベースのデバイスがたくさんありますが、公式にはサポートしていません。","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Windows、Mac、Linux用のデスクトップアプリがあります。また、Android MobileとAndroid TV専用のアプリもあります。iOSとiPadOSでは、Stremio Webの使用をおすすめしますが、機能は限定されています。","WEBSITE_MAINPAGE_FAQ_011_H1":"特定のコンテンツをStremioに追加できますか?","WEBSITE_MAINPAGE_FAQ_011_P1":"申し訳ありませんが、私たちは自身でコンテンツを提供していませんが、Stremioにインストールしたアドオンが多ければ多いほど、見つけることができるコンテンツが増えます。","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremioはマグネットリンクを再生できますか?","WEBSITE_MAINPAGE_FAQ_012_P1":"はい、通常のHTTPリンクとトレントファイル(ドラッグアンドドロップ)も再生できます。","WEBSITE_MAINPAGE_FAQ_013_H1":"ビデオをダウンロードしてオフラインで視聴することはできますか?","WEBSITE_MAINPAGE_FAQ_013_P1":"オフライン利用可能は今後の機能ですが、設定パネルからStremioにデバイス上にキャッシュを許可すると、後で接続なしでビデオを視聴することができます。","WEBSITE_MAINPAGE_FAQ_014_H1":"何も動作しない、助けて!","WEBSITE_MAINPAGE_FAQ_014_P1":"アドオンをインストールしたことは確認しましたか?もしインストールしたなら、私たちの${1}ヘルプセンター${2}をチェックしてみてください。","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremioは開発業務をどのように維持していますか?","WEBSITE_MAINPAGE_FAQ_015_P1":"私たちは時折、邪魔にならない広告を表示しますが、寄付モデルへの移行を検討しています。","WEBSITE_MAINPAGE_FAQ_015_P2":"他の質問については、私たちの${1}ヘルプセンター${2}にアクセスしてください。","HELP_LEARN_MORE":"私たちがあなたについてもっと学ぶのを助けてください。","LIFESTYLE":"ライフスタイル","SPORTS":"スポーツ","FOOD_HEALTH":"食品&健康","BEAUTY_FASHION":"美容&ファッション","NEWS":"ニュース","GAMING":"ゲーム","SCIENCE_EDUCATION":"科学&教育","MUSIC":"音楽","TRAVEL":"旅行","LATE_NIGHT":"深夜","REALITY":"リアリティ","COMEDY":"コメディ","DIY":"DIYの方法","TECH":"テクノロジー","CINEMA":"シネマ","CONTINUE":"続ける","SLOW_LOADING":"読み込みが遅い?","I_GIVE_UP":"あきらめる","LEARN_MORE":"もっと詳しく","POOR_SOURCE":"このソースはあまり利用できないか、あなたのインターネット接続が十分に速くありません","PICK_CATEGORIES_ERR":"少なくとも3つのカテゴリを選択する必要があります","ADJUST_TIMING":"タイミングを調整する ","ADJUST_SIZE":"サイズを調整する ","SEARCH_ANYTHING":"何でも検索できます...","ALL_CATEGORIES":"すべて","SEARCH_CATEGORIES":"映画、シリーズ、YouTube&TV","SEARCH_PERSONS":"俳優、監督、脚本家","SEARCH_PROTOCOLS":"HTTP&マグネットリンク","SEARCH_TYPES":"IMDB / TVDBリンク","WATCHED":"視聴済み","SHOW_LESS":"少なく表示","LAST_SEARCHES":"最後の検索","CLEAR_HISTORY":"履歴をクリア","CHOOSE_SOME":"これらの中から選んでください:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Webリモートを読み込むことができませんでした","STREMIO_OFFLINE":"Stremioはオフラインです","STREMIO_EXPENSIVE_CONNECTION":"モバイルデータ接続を使用していることを検出しました。続行しますか?","USE_DATA":"データを使用","WARNING":"警告","MORE_INFO":"詳細情報...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"読み込み中...","STREMIO_TV_BACK_TO_LANGUAGES":"言語に戻る","STREMIO_TV_REMOTE":"リモート","STREMIO_TV_GO_TO":"移動先:","STREMIO_TV_OR_SCAN":"またはスキャン:","STREMIO_TV_ADDON_INSTRUCTIONS":"ご希望のアドオンをインストールするには、指示に従ってください。","STREMIO_TV_LIVE_TV":"生放送","STREMIO_TV_RESUME_WATCHING":"視聴を再開","STREMIO_TV_LOADING_BACKGROUND":"背景を読み込み中","STREMIO_TV_CHECKING_AUTHENTICATION":"認証を確認中","STREMIO_TV_LOADING_BOARD":"ボードを読み込み中","STREMIO_TV_LOGIN_HEADER_LINE_1":"私たちは、ユーザーが私たちのソフトウェアで最高のパーソナライズされた体験を得られるようにしたいと考えています。","STREMIO_TV_LOGIN_HEADER_LINE_2":"そのため、アカウントを作成またはログインしていただくようお願い申し上げます。","STREMIO_TV_LOGIN_FOOTER_LINE_1":"ご理解いただきありがとうございます、","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremioチーム","STREMIO_TV_REMOTE_INSTRUCTIONS":"スマートフォン/タブレット/デスクトップでWebリモコンを使用するには:","STREMIO_TV_WIFI_SETUP":"Wi-Fi設定","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circleはインターネット接続を検出できませんでした。","STREMIO_TV_WIFI_DETAILS_1":"接続先:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"パスワードを使用:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"リンクを含むWebブラウザを開きます:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"デフォルト","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"最後に視聴した順","STREMIO_TV_LIBRARY_SORT_NAME":"名前順(昇順)","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"名前順(降順)","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"視聴回数順","STREMIO_TV_LIBRARY_SORT_WATCHED":"視聴した順","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"視聴していない順","STREMIO_TV_DETAILS_SEASON_NUMBER":"シーズン${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} のアドオンを読み込みました...","STREMIO_TV_STREAMS_STILL_LOADING":"${1}アドオンはまだ読み込んでいます...","STREMIO_TV_PLAYER_SETTINGS":"プレーヤー設定","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"字幕の遅延","STREMIO_TV_PLAYER_AUDIO_DELAY":"音声の遅延","STREMIO_TV_PLAYER_VIDEO_SCALING":"動画の拡大/縮小","STREMIO_TV_PLAYER_CHAPTERS":"チャプター","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"${1}をスキップ","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"サポートされていないストリームソース","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"外部リンクの開封に失敗しました","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"オーディオパススルーモードでは調整できません","STREMIO_TV_PLAYER_PLAY_IN_EXO":"ExoPlayerで再生","STREMIO_TV_PLAYER_PLAY_IN_VLC":"libVLCプレーヤーで再生","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"再生エラーが発生したため、libVLCプレーヤーに切り替えています","STREMIO_TV_ADDONS_TITLE":"あなたのスマホやPCのStremioでアドオンをインストールまたは設定し、「アドオンを同期」を押してください","STREMIO_TV_ADDONS_SUBTITLE":"注意: 同じStremioアカウントを使用していることを確認してください","STREMIO_TV_ADDONS_SYNC_ADDONS":"アドオンを同期","STREMIO_TV_ADDONS_SYNC_SUCCESS":"アドオンの同期に成功しました","STREMIO_TV_ADDONS_SYNC_FAILED":"アドオンの同期に失敗しました","STREMIO_TV_META_LINK_FAILED":"メタリンクの開封に失敗しました","STREMIO_TV_CATALOG_LOADING":"カタログを読み込んでいます...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"インターフェース言語が更新されました","STREMIO_TV_SETTINGS_THEME_UPDATED":"テーマが更新されました","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"デフォルトのプレーヤー","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"外部プレーヤー","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"優先言語","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"第二の優先言語","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"トンネル再生","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"一部のデバイスで再生の問題が発生する可能性があります","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"一部の動画フォーマットが動作しない可能性があります","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"フレームレートの一致","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"無効","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"フレームレートのみ","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"フレームレートと解像度","STREMIO_TV_SETTINGS_NO_CACHING":"キャッシュなし","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"デフォルト","STREMIO_TV_SETTINGS_PROFILE_SOFT":"ソフト","STREMIO_TV_SETTINGS_PROFILE_FAST":"高速","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"超高速","STREMIO_TV_SETTINGS_SERVER_URL":"ストリーミングサーバーのURL","STREMIO_TV_SETTINGS_SERVER_VERSION":"サーバーのバージョン","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"不明","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremioバージョン","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"サーバーのURLを編集","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"ストリーミングサーバーのURLを入力してください","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"ロード中に統計情報を表示","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremioのプライバシーポリシーを読むには、以下を参照してください:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremioの利用規約を読むには、以下を参照してください:","STREMIO_TV_NAV_SEARCH":"検索","STREMIO_TV_NAV_HOME":"ホーム","STREMIO_TV_NAV_DISCOVER":"発見","STREMIO_TV_NAV_LIBRARY":"ライブラリ","STREMIO_TV_NAV_MOVIES":"映画","STREMIO_TV_NAV_SERIES":"シリーズ","STREMIO_TV_NAV_CHANNELS":"チャンネル","STREMIO_TV_NAV_TV":"生放送","STREMIO_TV_NAV_SETTINGS":"設定","STREMIO_TV_NAV_ADDONS":"アドオン","STREMIO_TV_LOGIN_TITLE":"アカウントを連携","STREMIO_TV_LOGIN_EXPIRES_IN":"有効期限","STREMIO_TV_LOGIN_STEP_ONE":"上のQRコードをスキャンするか、次のURLにアクセス","STREMIO_TV_LOGIN_STEP_TWO":"Stremioアカウントにログイン","STREMIO_TV_LOGIN_NEW_LINK":"新しいリンクをリクエスト","STREMIO_TV_LOGIN_LINK_REFRESHED":"ログインコードが更新されました","STREMIO_TV_SEARCH_PLACEHOLDER":"何か入力してください","STREMIO_TV_SEARCH_NO_ADDONS":"カタログのためのアドオンが要求されませんでした!","STREMIO_TV_SEARCH_BUTTON":"検索","STREMIO_TV_SEARCH_KEY_DEL":"削除","STREMIO_TV_SEARCH_KEY_SPACE":"スペース","STREMIO_TV_SEARCH_KEY_CLEAR":"クリア","STREMIO_TV_SEARCH_HISTORY_TITLE":"検索履歴","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"タイトル、俳優、チャンネルなどを検索できます...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"検索履歴をクリア","STREMIO_TV_FILTERS_DESCRIPTION":"以下のフィルターから選択してください","STREMIO_TV_STREAMING_SERVER_OFFLINE":"ストリーミングサーバーがオフラインです。サーバー設定を確認してください。","FILTERS":"フィルター","SETTINGS":"設定","ACCOUNT":"アカウント","LOGOUT":"ログアウト","THEMES":"テーマ","PLAYBACK":"再生","PLAYBACK_SPEED":"再生速度","AUDIO_TRACKS":"オーディオトラック","UNKNOWN_TRACK_LANG":"不明","VIDEOS":"ビデオ","SERVER":"サーバー","LINKS":"リンク","ABOUT":"紹介","INTERFACE":"インターフェース","ANIMATIONS":"アニメーション","STATUS":"ステータス","LANGUAGE":"言語","SIZE":"サイズ","DELAY":"遅延","BOLD":"太字","OPACITY":"透明度","TEXT_COLOR":"テキストの色","OUTLINE_COLOR":"アウトラインの色","BACKGROUND_COLOR":"背景色","BACKGROUND_BLUR":"背景のぼかし","SEEK_TIME_DURATION":"シーク時間の長さ","AUTO_PLAY":"次のエピソードを自動再生","PLAY_NOW":"今すぐ再生","MARK_AS_WATCHED":"視聴済みとしてマーク","MARK_AS_UNWATCHED":"未視聴としてマーク","REWIND_TO_BEGINNING":"最初から巻き戻す","CONTINUE_WATCHING":"視聴を続ける","ALL":"すべて","SECONDS":"秒","ON":"オン","OFF":"オフ","RELOAD":"リロード","EDIT_URL":"URLを編集","URL":"URL","NONE":"なし","EMBEDDED":"埋め込み","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"デバイスを切り替え","REMOTE_VIDEOS":"ビデオ","REMOTE_ADJUST_TIMING":"タイミングを調整","REMOTE_ADJUST_SIZE":"サイズを調整","REMOTE_COULD_NOT_BE_LOADED":"Webリモートを読み込めませんでした","REMOTE_RETRY":"再試行","TORRENT_PROFILE_DEFAULT":"デフォルト","TORRENT_PROFILE_SOFT":"ソフト","TORRENT_PROFILE_FAST":"高速","TORRENT_PROFILE_ULTRA_FAST":"超高速","MB_S":"MB/s","FAQ_001_H1":"Stremioとは何ですか?","FAQ_001_P1":"Stremioは、ビデオエンターテイメントを使いやすくするために設計されたメディアセンターソフトウェアです。Stremioを使用すると、映画、シリーズ、チャンネル、ライブTVのコレクションを整理して視聴することができます。","FAQ_001_P2":"Stremioは、表示するコンテンツをあなたのローカルディスクとアドオンシステムから収集します。","FAQ_001_P3":"また、新しいエピソード/ビデオ/映画が出たときに通知を送り、映画の推薦を提供します。","FAQ_02_H1":"StremioはKodiとPlexとどう違いますか?","FAQ_02_P1":"私たちはそれらのソフトウェアに触発されました。しかし、私たちは異なる目標を持っています - Stremioはエンターテイメントビデオに特化しており、非常に使いやすいことで主流の解決策になることを目指しています。","FAQ_02_P2":"StremioはKodiやPlexほどカスタマイズ可能で機能豊富ではありませんが、使いやすさでは大幅に優れています。ただ${1}取得して見て${2} :)","FAQ_03_H1":"StremioはNetflixとどう違いますか?","FAQ_03_P1":"再び、Netflixは私たちのインスピレーションの一つです。私たちはNetflixのユーザーエクスペリエンスを達成することを目指しており、さらに多くの付加価値を提供しています。しかし、最も重要なのは、私たちがあなたに自分のライブラリを管理し、アドオンシステムで新しいコンテンツソースを追加する自由を与えていることです。","FAQ_03_P2":"それにより、Stremioは無限に拡張可能になり、Stremioを使用するときにはNetflixがライセンスを決定するコンテンツに制限されることはありません。例えば、Stremioを通じて、${1}Filmon.tv${2}、${3}Twitch.tv${4}、${5}YouTube${6}、${7}Vodo${8}、さらには${9}Netflix${10}自体のコンテンツを視聴することができます!","FAQ_04_H1":"StremioはFlipboardとどう違いますか?","FAQ_04_P1":"私たちはその質問をあまり受けません、スタートアップの人々と話しているときを除いて:)","FAQ_04_P2":"Stremioは、設計上、コンテンツの集約者であり、それは基本的にビデオ用のFlipboardとなります。これは、私たちのボードセクションで非常に明らかで、あなたがフォローしているものに対してカタログと新しいエピソード/新しいビデオの通知を提供します、まさにFlipboardのように。","FAQ_05_H1":"StremioはPopcorn Timeとどう違いますか?","FAQ_05_P1":"StremioとPopcorn Timeは、ユーザーインターフェースが似ています。なぜなら、ビデオエンターテイメントのカタログを正しく行う方法はそれほど多くないからです :)","FAQ_05_P2":"しかし、Popcorn Timeが特定のソースからのトレントのストリーミングに焦点を当てているのに対し、Stremioは制限がなく、単なるコンテンツの集約者であり、特定のコンテンツソースにロックされていません。","FAQ_05_P3":"さらに、私たちはデフォルトでトレントアドオンを提供していないため、Stremioは公式の機能でPopcorn Timeのユースケースをカバーしていません。","FAQ_05_P4":"もう一つの注目すべき違いは、Popcorn Timeが完全にオープンソースであるのに対し、Stremioは${1}部分的にオープンソース${2}であることです。","FAQ_06_H1":"この映画/シリーズを追加しますか?","FAQ_06_P1":"いいえ、ごめんなさい :(","FAQ_06_P2":"他のほとんどの質問で言及されているように、Stremioは自体は何もコンテンツを提供していません - すべてはアドオンシステムを通じて追加されます。コンテンツのリクエストがある場合は、プレーヤーの「報告」ボタンを使用して、現在使用しているアドオンの作者にメールを送ることができます。","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Xのためのアドオンを作成しますか?","FAQ_08_P1":"それは十分に可能です。","FAQ_08_P2":"アドオンのアイデアがある場合は、${1}office@stremio.com${2}までご連絡ください。ただし、あなたのアドオンのアイデアが著作権や利用規約を侵害しないことを確認してください。","FAQ_08_P3":"現時点では、私たちのロードマップ上の次のものは、FandangoNOW、Filmon.tvのビデオ・オン・デマンド、Crunchyrollのアドオンです。","FAQ_09_H1":"StremioはBitTorrentを使用しますか?","FAQ_09_P1":"はい、StremioはストリーミングプロトコルとしてBitTorrentをサポートしています。それは、トレントアドオンを使用するか、.torrentファイルをStremioにドラッグアンドドロップするか、またはマグネットリンクを検索バーに貼り付けることで使用できます。","FAQ_09_P2":"唯一の公式アドオンでBitTorrentを使用しているのは${1}Vodo${2}で、すべてのインディーコンテンツがBitTorrentで配布されることを許可されていることに注意してください。","FAQ_09_P3":"私たちは、著作権侵害の可能性のある第三者のアドオンの使用をサポートしていません。","FAQ_10_H1":"公式のアドオンを使用してStremioで何を見ることができますか?","FAQ_10_P1":"デフォルトでは、Stremio自体でFilmon.tv、YouTube、Vodoのコンテンツを埋め込みプレーヤーで見ることができます。さらに、Twitch.tv用のアドオンといくつかのアドオンがあります。","FAQ_10_P2":"これを組み合わせると、以下の選択肢があります。","FAQ_10_L1":"Filmon.tvが提供する人気のテレビチャンネル、例えばE4、BBC、Bollyworld TV","FAQ_10_L2":"YouTubeからのすべてのもの - 例えばBBC News、Top Gear、Vevo、PewDiePie","FAQ_10_L3":"Vodoのインディームービー","FAQ_10_L4":"Twitch.tvのオンラインゲーム放送","FAQ_10_P3":"さらに、GuideboxとNetflixのアドオンで提供される多くのコンテンツソースがありますが、それらは完全にStremio内で再生されるわけではなく、指定されたサービスにリダイレクトされます。例えば、Guideboxのアドオンは、TubiTVやCrackleなどのサービスから無料でストリームできる映画の選択肢を提供します。","FAQ_11_H1":"Stremioがインストールできない場合、どうすればいいですか?","FAQ_11_P1":"Windowsを使用している場合は、${1}この代替インストーラ${2}を試してみてください。","FAQ_11_P2":"Mac OS Xを使用している場合は、OS X Mavericks(10.9)より古いものはサポートしていないことにご注意ください。","FAQ_11_P3":"Linuxを使用している場合は、現時点では64ビット(x64)Linuxのみをサポートしていることに注意してください。","FAQ_11_P4":"それでも問題が解決しない場合は、${1}Facebookグループ${2}で私たちに書いてください。","FAQ_12_H1":"なぜ私のアンチウイルスが文句を言うのですか? Stremioは安全ですか?","FAQ_12_P1":"私たちはStremioが${1}100%クリーン${2}であることを保証します。","FAQ_12_P2":"あなたのアンチウイルスが文句を言っているのは、私たちがインストーラに広告を含めているからで、一部のアンチウイルスプログラムはそれをアドウェアと認識します。","FAQ_12_P3":"まだ不安な場合は、${1}代替インストーラ${2}を試してみてください。","FAQ_13_H1":"どのようにしてアドオンを作成できますか?","FAQ_13_P1":"初めての方は、GitHubの${1}アドオンシステムモジュール${2}をチェックすることをお勧めします。","FAQ_13_P2":"その後、${1}Hello Worldチュートリアル${2}に従って進めることができます。","FAQ_13_P3":"プログラミングのスキルがない場合は、あなたのアイデアを${1}Redditコミュニティ${2}に投稿し、アドオンのアイデアを${3}office@stremio.com${4}で私たちに連絡してください。","FAQ_14_H1":"アドオンはどのように公開されますか?","FAQ_14_P1":"アドオンを作成してホストし、マニフェストにエンドポイントフィールドを設定し、それが動作するアドオンアドレスを指すと、アドオンは自動的に私たちの${1}アドオンカタログ${2}に自身を公開します。","FAQ_14_P2":"これは、stremio-addonsモジュールのサーバーパートが自動的にAPIにアドオンを発表するための呼び出しを行うためです。APIがあなたのエンドポイントを有効なアドオンとして検証すると、カタログに表示され始めます。","FAQ_15_H1":"私はブラウザでStremioを実行できますか?","FAQ_15_P1":"現時点ではできませんが、これから実現する予定です!","FAQ_15_P2":"アルファ版を見てみたい場合は、こちらで見ることができます:${1}alpha4.strem.io${2}。ただし、このアルファ版ではストリーミングは無効になっています。Chrome、Firefox、Opera、Edgeをサポートしています。","FAQ_16_H1":"テレビへのキャスティングが機能しない / 字幕が機能しない","FAQ_16_P1":"テレビへのキャスティングはDLNA技術を使用しており、これはテレビのブランドやモデルによって非常に一貫性がありません。そのため、すべてのケースでテストする能力はありませんので、完全ではありません。それにもかかわらず、私たちは常に改善に努めていますが、DLNAがあなたのテレビで正常に動作するようになる時期を見積もることはできません。","FAQ_16_P2":"キャスティングメニューでテレビが表示されない場合は、ネットワーク接続を無効にして再度有効にする(Windowsでは、ネットワークを右クリックして有効/無効を選択)、ルーター、テレビ、PCを再起動するなどを試してみてください。","FAQ_16_P3":"それでも問題が解決しない場合は、テレビのブランドとモデル情報を${1}office@stremio.com${2}まで送信して私たちを助けていただけます。","FAQ_16_P4":"その間、私たちはChromecastを推奨します。これは私たちが非常によくサポートしています。または、単純にテレビをHDMIケーブルでPCに接続することもできます。","FAQ_17_H1":"Stremioがフリーズしたりクラッシュしたりする場合、何をすればいいですか?","FAQ_17_P1":"まず最初に、Windows 7とAVGアンチウイルスを使用している場合:その組み合わせに問題があります。問題はAVG自体にあり、私たちの側でそれを解決する合理的な方法はありません。残念ながら、例外を設定したりアンチウイルスを無効にしたりしても効果はありません。唯一の解決策は、AVGを他のものに置き換えることです。","FAQ_17_P2":"それが問題でない場合でも、まだWindowsを使用している場合は、最新のサービスパックに更新し、GPUドライバーを更新/再インストールしてから再試行してください。","FAQ_17_P3":"問題がまだ解決しない場合、またはMacまたはLinuxを使用している場合は、問題の詳細を報告して${1}Facebookグループ${2}に書いてください。","FAQ_18_H1":"どのようにしてアドオンを作成できますか?","FAQ_18_P1":"初めての方は、GitHubの${1}アドオンシステムモジュール${2}をチェックすることをお勧めします。","FAQ_18_P2":"その後、${1}Hello Worldチュートリアル${2}に従って進めることができます。","FAQ_18_P3":"プログラミングのスキルがない場合は、あなたのアイデアを${1}Redditコミュニティ${2}に投稿し、アドオンのアイデアを${3}office@stremio.com${4}で私たちに連絡してください。","FAQ_19_H1":"Stremioがストレージを占有しているのはなぜですか?","FAQ_19_P1":"Stremioにはローカルキャッシュがあり、ストリームした動画ファイルを一時的に保持します。","FAQ_19_P2":"これには2つの利点があります。最初に、Stremioが動画を事前にバッファリングして、スムーズなストリーミングを保証することができます。また、動画をローカルキャッシュに保持してオフラインで視聴を続けることができます。","FAQ_19_P3":"Stremioがどれだけ保持するかは、設定パネルのキャッシュ設定によります。Stremioは、ディスク上に設定された量(例えば2GB)まで保持することができます。ただし、現在ストリーミングしているビデオがそれより大きい場合は、ストリーミングしている間それを保持するために十分なストレージを確保する必要があります。","FAQ_20_H1":"キャッシュフォルダはどこにありますか?","FAQ_20_P1":"Windowsでは、設定で選択したドライブのstremio-cache(例: 「E:\\\\stremio-cache」)にあります","FAQ_20_P2":"MacOSでは、「~/Library/Application Support/Stremio/stremio-cache」にあります","FAQ_20_P3":"Linuxでは、「~/.stremio/stremio-cache」または「~/stremio-cache」にあります","FAQ_21_H1":"「ストリーミングサーバーが見つかりません」というエラーが表示されます。どうすればいいですか?","FAQ_21_P1":"このエラーが発生した場合は、次のいずれかを意味します:","FAQ_21_P2":"1) YouTube/BitTorrentソースをバックアップに使用したアドオンを、私たちの${1}ウェブ版${2}を通じて使用しようとしています。この場合、${3}私たちのウェブサイト${4}からデスクトップ版をインストールする必要があります。","FAQ_21_P3":"2) Stremioのインストールに何か問題があります。この場合、${1}ウェブサイト${2}から最新のデスクトップバージョンを再インストールしてみてください。それでも解決しない場合は、アンチウイルスプログラムとファイアウォールを無効にし、PCを再起動して再試行してみてください。それでもうまくいかない場合は、${3}私たちのFacebookグループ${4}に書き込んでください。","FAQ_22_H1":"iOSではほとんどのアドオンを表示/使用できません","FAQ_22_P1":"AppleのApp Storeの利用規約に制限があるため、iOS版Stremioは特定のアドオンのみに制限されています。","FAQ_22_P2":"しかし、ご安心ください - 将来的にはiOS用のアドオンが増え、iOSアプリをStremioストリーミングサーバーに接続することで、すべてのStremioアドオンを使用できるようになるかもしれません。"}')},40634:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"영화","TYPE_series":"시리즈","TYPE_tv":"TV 채널","TYPE_channel":"채널","TYPE_other":"기타","TYPE_movie_PL":"영화","TYPE_series_PL":"시리즈","TYPE_tv_PL":"TV 채널","TYPE_channel_PL":"채널","TYPE_other_PL":"기타","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"비디오","BACK":"뒤로","MORE":"더","DONE":"완료","COPY":"복사","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"발견","Board":"게시판","Library":"라이브러리","My Library":"내 라이브러리","Calendar":"캘린더","NOTIFICATION_ONLINE":"현재 온라인 상태입니다.","NOTIFICATION_OFFLINE":"현재 오프라인 상태입니다.","INTERNET_CONNECTION":"네트워크 연결","STORAGE_FULL_TITLE":"경고: 저장용량이 가득 찼습니다.!","STORAGE_FULL_TEXT":"Stremio는 설정, 기본 설정 또는 로그인 정보를 저장할 수 없습니다. Stremio를 다시 시작하거나 다시 설치하는 것이 좋습니다.","SEARCH":"검색","SEARCH_NO_RESULTS":"검색 결과가 없습니다.","SEARCH_EXPLANATION_CONTENT":"영화, 시리즈, YouTube 및 TV 채널 검색","SEARCH_EXPLANATION_PEOPLE":"배우, 감독, 작가 검색","SEARCH_PASTE_LINKS":"HTTP 및 마그넷 링크 붙여넣기","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"라이브러리에 추가","REMOVE_FROM_LIB":"라이브러리에서 삭제","ADDED_TO_LIB":"라이브러리에 추가됨","REMOVED_FROM_LIB":"라이브러리에서 삭제됨","TRAILER":"예고편","WATCH_TRAILER":"예고편 보기","WATCH_NOW":"바로 보기","SHOW":"찾아보다","SHOW_MOVIE":"영화 보기","WATCH_RANDOM":"무작위 시청","IMDB_RATING":"IMDB 등급","YEAR":"연도","DIRECTOR":"감독","WRITER":"작가","LEAD_ACTORS":"주연","CAST":"캐스트","CREW":"Crew","SHOW_MORE_CAST":"더 보기 »","AIRED":"Aired","SEASONS":"Seasons","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"카탈로그","SUMMARY":"요약","SHOW_MORE":"더 보기","SIMILAR":"비슷한","UPCOMING":"예정","TBA":"TBA","ENDED":"종료","DURATION":"지속 시간","FEATURED":"추천","METADATA":"메타데이터","CATEGORY":"카테고리","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"동영상 검색","SEARCH_PLACEHOLDER":"URL 검색 또는 붙여넣기","ADDON":"애드온","ADDONS":"애드온","OFFICIAL":"공식","ADDONS_OFFICIAL":"공식 스트레미오 애드온","ADDONS_POPULAR":"해당 지역에서 인기 있는","ADDON_FREE":"무료","ADDON_PEERED":"피어링","ADDON_SUBSCRIPTION":"구독","ADDON_STREAM_GEORESTRICTED":"귀하의 지역에서는 사용할 수 없습니다.","ADDON_STREAM_OFFLINECACHE":"오프라인 캐시","ADDON_STREAM_LOCALFILE":"로컬 파일","SHARE_ADDON":"애드온 공유","AVAILABLE_STREAMS":"사용 가능한 스트림","NO_STREAM":"스트림을 찾을 수 없습니다.","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"더 많은 스트림을 보려면 더 많은 애드온을 설치하십시오.","STREAM_NOT_SUPPORTED":"선택한 스트림은 이 플랫폼에서 지원되지 않습니다.","ADDON_CATALOGUE":"모든 애드온 표시 »","ADDON_CATALOGUE_MORE":"애드온 설치","REPO_ADDED":"리포지토리 추가됨","ADDON_REPO_EXIST_ERR":"이 애드온 모음이 이미 존재합니다.","ADDON_REPO_ERR":"컬렉션을 추가하는 동안 오류가 발생했습니다.","ADDON_ADD_ERR":"애드온을 추가하는 동안 오류가 발생했습니다.","ERR_ADDON_PROTECTED":"애드온을 제거할 수 없습니다. 보호되어 있습니다.","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"문제가 발생했습니다. 인증에 실패했을 수 있습니다.","ERR_NOT_COLLECTION_URL":"컬렉션 URL이 아닙니다.","ERR_NOT_ADDON_URL":"유효한 애드온 URL이 아닙니다.","ERR_DETECTFROMURL":"이 URL에서 애드온/수집을 찾을 수 없습니다.","ADDON_DUPLICATE_WARNING":"경고: 중복 애드온","ADDON_COLLECTION_SET_FAILED":"설치된 애드온을 계정에 동기화하지 못했습니다.","SETTINGS_DATA_EXPORT":"사용자 데이터 내보내기","ADDON_PULL_FAILED":"계정에서 설치된 애드온을 동기화하지 못했습니다.","REFRESH_ON_CLICK":"재시도하려면 클릭하십시오.","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"영화가 상영중입니다.","WATCH_IN_CINEMA":"지역 영화관에서 감상하세요.","IN_THEATER":"영화관에서","GET_TICKETS":"티켓 받기","UPCOMING_EPISODE":"다음 에피소드","UPCOMING_EPISODE_MESSAGE":"이 에피소드는 다음에서 방송됩니다.","MISSING_DATE_EPISODE":"에피소드 날짜 누락","MISSING_DATE_EPISODE_MESSAGE":"이번 에피소드는 아직 방송되지 않았을 수 있습니다.","CHANNEL_NOT_SCRAPED":"이 채널은 아직 스크랩되지 않았습니다.
    몇 분 후에 다시 오세요.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"라이브러리에 추가하여 사용 가능한 경우 알림을 받습니다.","GET_NOTIFIED_WHEN_AVAILABLE":"사용 가능한 경우 알림이 발송됩니다.","WARNING_STREAMING_SERVER":"경고: 로컬 스트리밍 서버를 찾을 수 없습니다. 로컬 파일, 유튜브, 비트토렌트의 스트리밍을 사용할 수 없습니다","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"경고: 이 비디오는 하드웨어에서 지원되지 않을 수 있습니다. 재생이 느릴 수 있습니다.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"앗, 플레이어 오류","PLAYER_ERROR_LOOKSLIKE":"그런 것 처럼 보인다.","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"잠금","PLAYER_ORIENTATION_SENSOR_SHORT":"센서","PLAYER_ORIENTATION_LANDSCAPE":"플레이어 오리엔테이션이 가로로 잠겨 있습니다.","PLAYER_ORIENTATION_SENSOR":"플레이어의 방향 자동(sensor)","PLAYER_PLAYBACK_SPEED":"재생속도","PLAYER_PLAYBACK_ERROR":"재생 오류입니다. 다시 시도하십시오.","PLAYER_PLAYBACK_ERROR_UNKNOWN":"알 수 없는 오류","PLAYER_PLAYBACK_ERROR_DEFAULT":"죄송합니다. 이 비디오는 {{productName}}에서 재생할 수 없습니다.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"라이브","PLAYER_NEXT_VIDEO_TITLE":"다음 영상","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"지금 바로 시청하세요.","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"스트리밍 시작","CASTING_TO":"캐스팅 대상","NETWORK_STATUS":"네트워크 상태","STREAM_SPEED":"스트림 속도:","STREAM_BUFFERED":"버퍼:","PEERS_INFO":"피어 정보","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"연결상태:","PEERS_WAITING":"대기:","TRANSCODING_WARNING":"경고: 비디오 트랜스코딩.","STREAM_LOADING":"로딩중...","PLAYING_LOCAL":"로컬 파일에서 재생","PLAYING_CACHE":"캐시에서 재생","WRONG_SUBS":"자막이 틀렸나요?","ERR_SUBS_LOADING_TITLE":"자막 로드 오류","ERR_SUBS_LOADING":"자막을 로드하지 못했습니다.사용 중인 애드온 또는 네트워크 연결 문제일 수 있습니다.","WARN_FOLLOWING_SUB_ADDONS_FAILED":"다음 자막 추가가 실패했습니다.","ERR_CASTING_UPDATE_TITLE":"캐스팅 디바이스 정보를 갱신할 수 없습니다.스트리밍 서버가 오프라인 상태일 수 있습니다.","CHOOSE_DEVICE":"시청할 디바이스 선택","NO_CAST_DEVICES":"사용 가능한 캐스팅 장치가 없습니다.","NO_SETTINGS":"사용 가능한 설정이 없습니다.","NO_OPTIONS":"No options available","PHONE_TABLET":"폰 / 태블릿","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"자막 변경 ","SUBTITLES_CHANGE_NONE":"이 언어에는 다른 자막이 없습니다. 죄송합니다.","SUBTITLES_CHANGE_ACIVE":"현재 자막 #{subtitlesDialog.activeIdx + 1}이 활성화되어 있습니다. \\"계속\\"을 클릭하여 자막 #{subtitlesDialog.pickedIdx + 1}}을 활성화합니다.","SUBTITLES_OR":"대체,","SUBTITLES_ADJUST_DELAY":"자막 지연 조정:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"또는 방송시 G/H키를 사용해 조정할 수 있습니다..","SUBTITLES_ADJUST_DELAY_TIP":"힌트: 당신은 방송시 G/H키를 사용하여 조정할 수 있습니다..","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"자막 로드중...","SUBTITLES_UNAVAILABLE":"외부 자막은 사용할 수 없습니다.","SUBTITLES_DISABLED":"비활성","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Season","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"에피소드","EPISODE_ABBREVIATION":"EP","SPECIAL":"스페셜","SORT":"정렬","SORT_BY":"순서대로 정렬","FILTER":"필터","SORT_TRENDING":"트렌딩","SORT_RECENT":"최근","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"등급","SORT_WATCHED":"시청함","SORT_YEAR":"년","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"새로운 에피소드","New Videos":"새로운 영상","Recommendations":"권장사항","LIBRARY_RESUME":"재개","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"상시","LIBRARY_RESUME_DISMISS":"Dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"오스카 수상자","DISCOVER_WARNING_TITLE":"앗!","DISCOVER_EMPTY_CATALOG":"이 애드온은 빈 콘텐츠를 반환했습니다.","DISCOVER_ADULT_WARNING":"콘텐츠는 성인만 볼 수 있습니다. 18세 이상입니까?","DISCOVER_NOADDON_WARNING":"경고: 이 유형에 대해 활성화된 Stremio 추가 기능이 없습니다. 저장된 아이템을 표시해도 갱신되는 것은 없습니다.","DISCOVER_LOAD_ERR":"콘텐츠가 로드되지 않고 오류가 발생했습니다.","DISCOVER_ADDON_UNINSTALLED":"이 콘텐츠는 더 이상 사용할 수 없습니다.Addon을 제거했을 수 있습니다.","UNINSTALL_THIS_ADDON":"이 애드온을 제거합니다","ERR_ADDON_NOT_INSTALLED":"이 애드온은 설치되어 있지 않습니다. 지금 설치하시겠습니까?","DETAIL_RECEIVE_NOTIF_SERIES":"새로운 에피소드에 대한 알림 수신","DETAIL_RECEIVE_NOTIF_VIDEOS":"새로운 영상에 대한 알림 수신","SIDEBAR_SHOW_STREAMS":"스트림 표시","RELAUNCH":"지금 바로 재기동!","UPGRADE":"새로운 버전이 출시되었습니다! 최신 Stremio 버전으로 업그레이드","RELOAD_UI":"사용자 인터페이스 새로고침","MANUAL_UPDATE_TITLE":"Stremio 버전 업데이트","MANUAL_UPDATE_LINE1":"추천되지 않는 오래된 버전의 Stremio를 실행하고 있습니다.","MANUAL_UPDATE_LINE2":"최대한 빨리 갱신해 주세요.","BUTTON_UPDATE_LATTER":"지금은 안됩니다.","BUTTON_UPDATE_NOW":"업데이트","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"익명 사용자","DONT_HAVE_ACC":"계정이 없으신가요?","HAVE_ACC":"이미 계정을 가지고 계십니까?","PASSWORD":"비밀번호","PASSWORD_CONFIRM":"비밀번호 확인","EMAIL":"이메일","FB_LOGIN":"페이스북으로 가입","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"사용자의 허가 없이 공유되는 것은 없습니다.","FB_NOPOST":"고객님을 대신하여 아무것도 게시하지 않습니다.","OR":"또는","I_ACCEPT":"동의합니다.","I_ACCEPT_BY_CLICKING":"위 버튼을 클릭함으로써 에 동의함을 증명합니다. ","TOS":"약관 및 조건","MUST_ACCEPT_TERMS":"약관에 동의해야 합니다","PASSWORDS_NOMATCH":"비밀번호가 일치하지 않습니다","SIGN_UP":"가입","SIGN_UP_EMAIL":"이메일로 가입","CLICK_TO_SIGN_UP":"가입하려면 여기를 클릭하십시오.","LOG_IN":"로그인","LOG_OUT":"로그아웃","EXIT_FULLSCREEN":"전체 화면 모드를 종료합니다.","ENTER_FULLSCREEN":"전체 화면 모드 전환","PLAY_URL_MAGNET_LINK":"URL/마그넷 링크 재생","HELP_FEEDBACK":"도움말 & 피드백","TERMS_OF_SERVICE":"서비스 약관","PRIVACY_POLICY":"개인정보보호 정책","ABOUT_STREMIO":"Stremio에 대하여","USER_PANEL":"사용자 패널","LOGIN_LABEL":"로그인","GUEST_LOGIN":"게스트 로그인","GUEST_LOGIN_NOTICE":"게스트 로그인은 권장되지 않습니다. 일반 로그인을 사용하면 Stremio가 라이브러리를 동기화하고 즐겨찾는 시리즈/채널에 대한 알림을 받을 수 있습니다. 계속 진행하시겠습니까?","GUEST_LOGIN_NOTICE_2":"게스트 로그인은 권장되지 않습니다.라이브러리와 보드 알림은 동기화되지 않습니다.이것은 Stremio의 중요한 기능입니다. 계속 진행하시겠습니까?","CLICK_HERE":"여기를 클릭","WRONG_PASSWORD":"이메일 또는 비밀번호가 잘못되었습니다. 비밀번호를 잊어버린 경우, ","SET_A_PASS":"비밀번호 설정","RESET_PASSWORD":"비밀번호 초기화","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"비밀번호를 잊어버렸습니까?","EMAIL_USED_WITH_FB":"이 이메일은 Facebook 로그인과 함께 사용되었습니다.","INVALID_EMAIL":"유효한 이메일 주소를 입력하십시오.","INVALID_PASSWORD":"유효한 비밀번호를 입력해주세요.","CONN_ERR":"연결 오류 - 나중에 다시 시도하십시오.\\n\\n이 문제가 해결되지 않으면 방화벽/바이러스 대책 소프트웨어(특히 Bitdefender)를 비활성화합니다.","IMPORT_FROM_GUEST":"게스트 계정에서 라이브러리 가져오기","RECEIVE_UPDATES_EMAIL":"Stremio에서 이메일 업데이트 수신","LOGIN_FAILED":"로그인에 실패했습니다.","SIGNUP_FAILED":"가입에 실패했습니다.","SEARCH_FAILED":"검색 실패","EMAIL_USED":"이 이메일은 이미 사용 중입니다.","WAITING_FB_LOGIN":"Facebook으로 로그인 중...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"외부 플레이어에서 재생","EXTERNAL_REMEMBER_PLAYER":"선택한 내용을 기억하시겠습니까?","EXTERNAL_ALWAYS_PLAY":"네","EXTERNAL_ONLY_ONCE":"아니오","BEST_FIT":"최적화","FIT_SCREEN":"화면 최적화","FILL":"채우기","16:9":"16:9","4:3":"4:3","Original":"원본","INTRO_TASTE":"좋아하는 걸 이야기해 주세요.","INTRO_TASTE_LONG":"보고 싶은 걸 말해주세요.","INTRO_TASTE_PICK":"{{interestsRemaining}} 관삼분야를 선택해주세요.","INTRO_TASTE_PICK_MORE":"{{interestsRemaining}}개 이상의 관심사를 선택해주세요.","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"다음 중 몇 가지를 선택하세요:","INTRO_TASTE_CHOOSE_MIN":"3개 이상의 카테고리를 선택하십시오.","INTRO_TASTE_CHOOSE_MIN_ERR":"최소 3가지 카테고리를 선생해야 합니다!","INTRO_TASTE_LIFESTYLE":"라이프스타일","INTRO_TASTE_SPORTS":"스포츠","INTRO_TASTE_FOOD_HEALTH":"음식 & 건강","INTRO_TASTE_BEAUTY_FASHION":"뷰티 & 패션","INTRO_TASTE_NEWS":"뉴스","INTRO_TASTE_GAMING":"게이밍","INTRO_TASTE_SCIENCE_EDU":"과학 & 교육","INTRO_TASTE_MUSIC":"음악","INTRO_TASTE_TRAVEL":"여행","INTRO_TASTE_LATE_NIGHT":"심야방송","INTRO_TASTE_REALITY":"리얼리티","INTRO_TASTE_COMEDY":"코미디","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"테크","INTRO_TASTE_CINEMA":"시네마","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"선택한 애드온은 이 플랫폼에서 지원되지 않습니다.","ADDON_DISCLAIMER":"서드파티 애드온을 사용하는 것은 항상 사용자의 책임과 소재지의 관할구역 준거법의 적용을 받습니다.","ADDON_ACTIVATE":"이 애드온을 활성화하시겠습니까?","ADDON_REPO_ADD":"애드온 컬렉션 URL","ADDON_ADD":"추가","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"새로운 것","BUTTON_CONTINUE":"계속","BUTTON_ACTIVATE":"활성화","BUTTON_ACTIVATED":"활성화된","BUTTON_CANCEL":"취소","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"제출","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"모두 제거","BUTTON_VIEW_ALL":"모두 표시","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"라이브러리가 비어 있는 것 같습니다. 얼마나 유용한지 확인하세요:) ","HOW_START":"시작 방법은 다음과 같습니다:","LIB_EMPTY_CAL":"캘린더에 라이브러리의 시리즈가 표시됩니다.","HOW_START_CAL":"시리즈를 추가하는 방법은 다음과 같습니다:","LIB_EMPTY_BOARD":"게시판에 라이브러리와 관련된 알림 및 권장 사항이 표시됩니다","HOW_START_BOARD_WAIT":"라이브러리에 몇 개의 시리즈 또는 채널을 추가해 주세요. :)","HOW_START_BOARD":"시리즈 및 영화를 추가하는 방법은 다음과 같습니다:","IMPORT_FB":"Facebook에서 좋아하는 것을 가져오기","IMPORT_TRAKT":"Trakt에서 미디어 라이브러리 가져오기","IMPORT_DISCOVER":"Discover에서 흥미로운 항목 찾기","IMPORT_DISK":"로컬 디스크에 있는 영화 또는 프로그램 가져오기","PLEASE_CREATE_ACC":"라이브러리 동기화 및 게시판을 활성화하려면 계정을 만드세요.","IMPORT_DISCOVER_SIGNUP":"가입하고 Discover에서 흥미로운 정보를 찾아보세요.","IMPORT_DISK_SIGNUP":"가입하고 로컬 디스크에 있는 영화 또는 프로그램 가져오기","LIB_EMPTY_CLOUD":"클라우드 라이브러리","LIB_EMPTY_CLOUD_DESC":"모든 장치에서 동기화된 개인 클라우드 라이브러리","LIB_EMPTY_EARLY":"얼리버드","LIB_EMPTY_EARLY_DESC":"새로운 에피소드 알림 수신","LIB_EMPTY_PERSONAL":"개인","LIB_EMPTY_PERSONAL_DESC":"개인 추천 받기","LIB_EMPTY_CALENDAR_DESC":"개인 시청 일정 예약","LIB_EMPTY_ALL":"이것들을 모두 얻으려면 가입하세요:","LIB_EMPTY_BEST":"Stremio를 최대한 활용하려면 가입하십시오.","LIB_EMPTY_OTHER":"캘린더 및 기타 멋진 기능을 활성화하려면 가입하십시오.","CALENDAR_ADDED":"Stremio 캘린더가 기본 데스크톱 캘린더에 추가되었습니다.","CALENDAR_ADDED_MSG":"이 URL을 캘린더 어플리케이션에 수동으로 추가해 주세요.","TRAKT_EXPIRED":"Trakt 인증이 만료되었습니다. 설정으로 이동하여 재인증하십시오.","TRAKT_REQUIRES_LOGIN":"Trakt 오류","TRAKT_REQUIRES_LOGIN_MSG":"로그인이 필요합니다.","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"설정","SETTINGS_NAV_GENERAL":"일반","SETTINGS_NAV_PLAYER":"플레이어","SETTINGS_NAV_STREAMING":"스트리밍","SETTINGS_NAV_SHORTCUTS":"숏컷","SETTINGS_SHORTCUT_RELOAD_APP":"앱 새로고침","SETTINGS_SHORTCUT_OPEN_SETTINGS":"설정 열기","SETTINGS_SHORTCUT_SWITCH_TABS":"탭 전환","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"앞으로 탭 순환","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"뒤로 탭 순환","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"나가기 / 뒤로가기","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"전체 화면 전환","SETTINGS_SHORTCUT_SHOW_CONTROLS":"컨트롤 표시","SETTINGS_SHORTCUT_PLAY_PAUSE":"재생 / 일시정지","SETTINGS_SHORTCUT_VOLUME_UP":"불륨 크게","SETTINGS_SHORTCUT_VOLUME_DOWN":"볼륨 작게","SETTINGS_SHORTCUT_SEEK_NEXT":"다음 검색","SETTINGS_SHORTCUT_SEEK_PREV":"이전 검색","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"다음 재생","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"자막 크기 늘리기","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"자막 크기 줄이기","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"자막 딜레이 증가","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"자막 딜레이 감소","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"사이드바 전환","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"시작 시 실행","SETTINGS_VLC_DEFAULT":"VLC로 재생","SETTINGS_UI_LANGUAGE":"UI 언어","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape 키 전체 화면 종료","SETTINGS_GAMEPAD":"게임패드 지원 활성화","SETTINGS_CLOSE_WINDOW":"창이 닫힐 때 앱 닫기","SETTINGS_SUBTITLES_LANGUAGE":"기본 자막 언어","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"기본 자막 크기","SETTINGS_SUBTITLES_BACKGROUND":"자막 배경","SETTINGS_SUBTITLES_COLOR":"자막 색상","SETTINGS_SUBTITLES_COLOR_OUTLINE":"자막 윤곽선 색상","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"자막 배경색","SETTINGS_SEEK_KEY":"화살표 키 탐색 시간","SETTINGS_SEEK_KEY_SHIFT":"Shift 키를 누른 상태에서 화살표 키로 시간을 조작할 수 있습니다.","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"다음 에피소드 자동 재생","SETTINGS_NEXT_VIDEO":"다음 에피소드 시작 알림 표시","SETTINGS_NEXT_VIDEO_TRIGGER":"다음 에피소드 알림 표시:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"재생하기 전에 창 크기 자동 조정","SETTINGS_OVERRIDE_SERVER":"스트리밍 서버의 URL을 덮어씁니다(고급)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"스트리밍 서버 URL: ","SETTINGS_SERVER_AVAILABLE":"스트리밍 서버를 사용할 수 있습니다.","SETTINGS_SERVER_UNAVAILABLE":"스트리밍 서버를 사용할 수 없습니다.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"스트리밍 HTTPS 엔드포인트: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"항상 최신 베타버전 사용","SETTINGS_IMPORT_FB":"Facebook에서 Import","SETTINGS_IMPORT_DISK":"로컬 디스크에서 Import","SETTINGS_IMPORT_TRAKT":"Trakt에서 Import","SETTINGS_PAUSE_MINIMIZED":"최소화 시 재생 일시정지","SETTINGS_HWDEC":"하드웨어 가속 디코딩","SETTINGS_BACKGROUND":"백그라운드 재생","SETTINGS_SUBSCRIBE_CALENDAR":"일정표 구독","SETTINGS_REQ_EXPORT":"데이터 내보내기 요청","SETTINGS_ACC_DELETE":"계정 삭제 요청","SETTINGS_CHANGE_PASSWORD":"비밀번호 변경","SETTINGS_TOS":"서비스 약관","SETTINGS_SUPPORT":"지원 문의","SETTING_LANGUAGE":"언어","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Trakt.tv에서 로그아웃","SETTINGS_TRAKT_LOGOUT_2":"Trakt에서 로그아웃","SETTINGS_SCAN_FOR_REMOTE":"QR코드를 스캔하여 리모트로 엽니다.","SETTINGS_DESKTOP_NOTIFICATIONS":"데스크탑 알림","SETTINGS_DATA_SAVER":"데이터 세이버","SETTINGS_LANGUAGE_INTERFACE":"인터페이스","SETTINGS_LANGUAGE_SUBS":"기본 자막","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"오디오 트랙 자동 선택","SETTINGS_DEFAULT_AUDIO_TRACK":"기본 오디오 트랙","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"계정","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"버전","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"다른 창에서 플레이어를 기동합니다(상세설정)","SETTINGS_PLAY_IN_EXTERNAL":"항상 외부 플레이어에서 비디오를 시작합니다","SETTINGS_STORAGE_BUTTON":"로컬 스토리지 비우기","SETTINGS_STORAGE_MODAL_TITLE":"확실합니까?","SETTINGS_STORAGE_MODAL_MESSAGE":"로컬 스토리지를 비우고 로그아웃합니다.","SETTINGS_HWDEC_PICKER":"하드웨어 가속 디코딩 설정 선택","SETTINGS_HW_AUTOMATIC":"자동","SETTINGS_HW_DISABLED":"비활성","SETTINGS_HW_ACCELERATED":"디코딩 가속 중","SETTINGS_HW_FULL":"전체 가속","SETTINGS_HW_LEGACY":"레거시","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"오디오","SUBSPICKER_SUBTITLES":"애드온 자막","SUBSPICKER_BLACK_BACKGROUND":"검정색 배경 사용","SUBSPICKER_VERTICAL_OFFSET":"수직 오프셋","SUBSPICKER_SIZE":"크기","SUBSPICKER_DELAY":"딜레이","SUBSPICKER_EMBEDDED_SUBS":"내장된 자막","MOBILE_PRIVACY_POLICY":"개인정보보호 정책","MOBILE_CRASH_REPORTING":"크래시 리포트","MOBILE_ZOOM_TO_FILL":"화면을 채우려면 확대","MOBILE_PASSTHROUGH":"디지털 오디오 출력(패스스루)","MOBILE_RUN_LOW_BATTERY":"배터리 부족 시 실행","MOBILE_RUN_FOREGROUND":"Foreground Service로 실행","MOBILE_PERFORMANCE":"퍼포먼스 & 안정성","MOBILE_SERVER_ONLINE":"온라인","MOBILE_SERVER_OFFLINE":"오프라인","MOBILE_QR_EXPIRES":"만료된 QR 코드","MOBILE_LOG_INTO":"Stremio 계정에 로그인합니다.","MOBILE_SCAN_QR":"위의 QR코드를 스캔하거나 이동","MOBILE_LINK_ACCOUNT":"링크 계정","MOBILE_SPEEDPICKER_CANCEL":"취소","MOBILE_SPEEDPICKER_LABEL":"재생속도 선택","MOBILE_EMPTY_LIBRARY":"라이브러리가 비어 있습니다.","MOBILE_NO_ADDON_ACTIVE":"이 유형에 대해 활성화된 Stremio 애드온이 없습니다.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer 앱은 제한된 기능을 제공합니다. 재생 가능한 스트림 목록과 Stremio의 모든 경험을 보려면 데스크톱에서 Stremio를 사용하십시오.","MOBILE_ADDON_LOADING":"아직 로드 중","MOBILE_ADDONS_LOADING":"애드온은 아직 로드 중입니다.","MOBILE_ADDON":"애드온","MOBILE_CONFIGURE_ADDON":"애드온 설정","MOBILE_CONFIGURE_ADDON_LABEL":"애드온 구성","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer 앱은 제한된 애드온을 제공합니다. Stremio를 최대한 활용하려면 데스크톱에서 Stremio를 사용하십시오.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"디바이스 검색 중...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Stremio로부터의 마케팅 정보 수신에 동의합니다.","QUIT":"Quit","CONNECTED":"접속완료","AUTHENTICATE":"인증","AUTHENTICATING":"Authenticating...","CACHING":"캐싱","SETTINGS_CACHING_DRIVE":"드라이브 캐시 중","ENABLE_LOCAL_FILES_ADDON":"로컬 파일 추가 기능을 활성화합니다. (재기동 필요)","LOCAL_ADDON_NOT_ENABLED":"로컬 애드온이 활성화되지 않았습니다. 여기를 클릭하여 설정으로 이동하여 활성화하십시오.","ENABLE_REMOTE_HTTPS_CONN":"리모트 HTTPS 접속 활성화","TORRENT_PROFILE":"Torrent 설정","DATA_CACHING":"데이터 캐싱","MAGNET_PARSING":"마그넷 링크 파싱 중","January":"1월","February":"2월","March":"3월","April":"4월","May":"5월","June":"6월","July":"7월","August":"8월","September":"9월","October":"10월","November":"11월","December":"12월","Monday":"월요일","Tuesday":"화요일","Wednesday":"수요일","Thursday":"목요일","Friday":"금요일","Saturday":"토요일","Sunday":"일요일","Action":"액션","Comedy":"코미디","War":"전쟁","Family":"가족","Animation":"애니메이션","Adventure":"어드벤처","Fantasy":"판타지","Crime":"범죄","Mystery":"미스터리","Romance":"로맨스","Drama":"드라마","Horror":"공포","Thriller":"스릴러","Sci-Fi":"SF","Music":"음악","Biography":"전기","Documentary":"다큐멘터리","Sport":"스포츠","Musical":"뮤지컬","Western":"서부","Film-Noir":"흑인","News":"뉴스","History":"역사","Game-Show":"게임쇼","Reality-TV":"리얼리티","Talk-Show":"토크쇼","Film & Entertainment":"영화 & 엔터테이먼트","Gaming":"게이밍","From TV":"TV프로","Lifestyle":"라이프사이클","Science & Education":"과학 & 교율","Cooking & Health":"요리 & 건강","Beauty & Fashion":"뷰티 & 패션","Sports":"스포츠","News & Politics":"뉴스 & 정치","How-to & DIY":"사용법 & DIY","Tech":"테크","Automotive":"자동차","Causes & Non-Profits":"사업 & 공익","Movies":"영화","Uk Live Tv":"영국 생방송 TV","Fashion":"패션","Business News Radio":"비지니스 뉴스 라디오","Business Tv":"비지니스 TV","Cars & Auto":"자동차 & 자동화","Comedy Radio":"코미디 라디오","Lifestyle Radio":"라이프스타일 라디오","News Tv":"뉴스TV","Food And Wine":"음식 및 와인","Latino Tv":"라틴어 TV","Shopping Tv":"쇼핑 TV","Religion":"종교","Kids":"어린이","Body & Soul":"몸 & 영혼","Education":"교육","Indian Tv":"인도 TV","Extreme Sports":"익스트림 스포츠","Middle Eastern Tv":"중동 TV","Celebrity Tv":"연예인 TV","Science Tv":"사이언스 TV","Bikini babe":"비키니 베이비","Outdoors":"아웃도어","German Tv":"독일 TV","French Tv":"프랑스어 TV","Italian Tv":"이탈리아 TV","Gamer Tv":"게이머 TV","Travel":"여행","Asian Tv":"아시아 TV","Entertainment":"엔터테인먼트","News Radio":"뉴스 라디오","Music Radio":"음악 라디오","Language Learning":"언어학습","Science Radio":"과학 라디오","Tech Radio":"테크 라디오","Science & Technology Vod":"과학 & 기술 VOD","new video":"뉴스 영상","new episode":"새로운 에피소그","new movie":"신작 영화","recommended":"권장","we recommend":"권장합니다.","offer of the day":"오늘의 할인","news":"뉴스","music video":"뮤직비디오","CTX_SHOW_HOTKEYS":"단축키 표시","CTX_DISMISS_NOTIF":"알림 해제","CTX_DISMISS_ALL":"모두 해제","CTX_SHARE":"공유","CTX_COPY_SHARE_LINK":"공유링크 복사","CTX_COPY_MAGNET_LINK":"마그넷링크 복사","CTX_COPY_STREAM_LINK":"스트림링크 복사","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"영상 다운로드","CTX_DOWNLOAD_SUBS":"자막 다운로드","CTX_VIEW_ON_YOUTUBE":"YouTube에서 보기","CTX_SHOW":"보기","CTX_PLAY":"방송","CTX_PLAY_IN":"방송생","CTX_PLAY_ON":"방송중","CTX_WATCH_ON":"시청중","CTX_WATCH":"시청","CTX_WATCHED":"시청완료","CTX_WATCH_BEGINNING":"처음부터 시청하기","CTX_WATCH_MOBILE":"모바일로 시청하기","CTX_REWIND":"처음으로 다시 감기","CTX_MARK_WATCHED":"시청중 표시","CTX_MARK_NON_WATCHED":"시청안함 표시","CTX_MARK_UNWATCHED":"미시청 표시","CTX_MARK_REST":"나머지는 시청한 것으로 표시","CTX_UNMARK_REST":"나머지는 미시청으로 표시","CTX_RECEIVE_NEW_NOTIF":"새로운 알림 수신","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"캐시에서 삭제","CTX_REMOVE_CACHE_EP":"캐시에서 에피소드 삭제","CTX_OPEN_CONTAINING":"소속 폴더 열기","CTX_REMOVE":"라이브러리에서 삭제","CTX_AVAILABLE_OFFLINE":"오프라인에서 사용 가능","CTX_PAUSED":"일시정지","CTX_ALWAYS_ON_TOP":"항상 위에 표시","CTX_FULLSCREEN":"전체 화면","CTX_WRONG_SUBS":"잘못된 자막?","CTX_REPORT_ISSUES":"문제 보고","CTX_COPY":"복사","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"붙여넣기","CTX_CLEAR":"지우기","CTX_CLEAR_RECENT_SEARCHES":"최근 검색 지우기","HELLO_THERE":"안녕하세요.","HOPE_YOU_ENJOY":"Stremio를 즐겨주셨으면 좋겠어요, 이미 마음에 드는 앱 중 하나예요!","WHO_ARE_WE":"우리는 누구일까요? 델이 그 배후에 있는 팀입니다.지난 3년간 매일 이 제품을 더 좋게 만들기 위해 열심히 일했던 두 남자입니다.","SUPPORT_US":"Stremio를 즐겨 사용한다면 Stremio가 귀중하다면 널리 알리세요!","SPREAD_THE_WORD":"지금 바로 친구들과 공유하고 Stremio에 대한 소문을 퍼뜨리세요.","MORE_PEOPLE":"Stremio를 많이 사용할수록 더 좋아집니다!","SEND_A_LINK":"또는 당사 웹 사이트로 링크를 보내십시오.","TIP_LOCALFILES":"팁: 로컬 비디오 파일을 Stremio에 드래그 앤 드롭할 수 있습니다","ADDON_MY":"내 애드온","ADDON_COMMUNITY":"커뮤니티 애드온","ADDON_OFFICIAL":"공식 애드온","ADDON_REPOS":"애드온 컬렉션","ADDON_SEARCH":"검색 애드온","ADDON_INSTALL":"설치","ADDON_CONFIGURE":"설정","ADDON_UNINSTALL":"언인스톨","ADDON_UPGRADE":"업그레이드","ADDON_INSTALLED":"설치 완료","ADDON_INSTALLED_MSG":"애드온이 설치되었습니다!","ADDON_UPGRADED_MSG":"애드온이 업그레이드되었습니다!","ADDON_UNKNOWN":"알 수 없음","ADDON_ERR":"애드온 설치 오류!","ADDON_DISCONNECTED":"연결 끊김","ADDON_APP_MISSING":"이 소스의 앱이 설치되지 않았습니다. 지금 설치하시겠습니까?","ADDON_APP_INSTALL":"지금 바로 설치","ADDON_PAGE":"애드온 페이지","ADDON_TOP_CONTENT":"애드온 중에 최고","ADDON_PROVIDES":"이 애드온은 다음을 제공합니다:","ADDON_WATCH":"지금 #{types}를 보세요!","ADDON_WATCH_FREE":"지금 #{types}를 무료로 시청하세요!","ADDON_ADDON":"애드온","ADDON_SUPPORTED_TYPES":"지원 유형","ADDON_SUPPORTED_CATALOGS":"지원 카테고리","ADDON_PROVIDES_DISCOVER":"발견 중인 더 많은 #{types}","ADDON_PROVIDES_STREAMS":"시청 #{types}","ADDON_PROVIDES_STREAMS_FREE":"#{types} 무료 시청","ADDON_PROVIDES_SUBTITLES":"#{types}의 부제목","ADDON_CANTDETECT":"실행 중인 Stremio를 검출할 수 없었기 때문에 설치한 애드온을 검출할 수 없었습니다.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"이것에 대한 정보를 찾을 수 없습니다.","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"이것에 대한 정보를 가져오는 중 오류가 발생했습니다.","ERR_CANT_PARSE_MAGNET":"마그넷을 해석할 수 없습니다.","ERR_NO_MAGNET_INFOHASH":"마그넷에 유효한 정보 해시가 없습니다.","ERR_NO_FILE_PATH":"파일 경로가 없으면 요청을 전송할 수 없습니다.","ERR_NO_TORRENT":"반환된 토렌트가 없습니다.","ERR_NO_SUPPORTERD_FILES":"지원되는 파일을 찾을 수 없습니다.","ERR_OPENING_FILES":"외부 파일을 열 수 없습니다.","ERR_INVALID_LINK":"유효하지 않은 링크","ERR_REGISTERED_ONLY":"이 옵션은 등록된 사용자만 사용할 수 있습니다.","ERR_CLIPBOARD":"클립보드에서 재생할 수 없습니다.","ERR_CLIPBOARD_READ":"이 플랫폼에서 클립보드를 읽을 수 없습니다.","ERR_CLIPBOARD_GENERIC":"클립보드에 재생 가능한 URL이 없습니다. URL(마그넷 링크 등)을 비디오에 복사하십시오.","BOARD_CONTINUE_WATCHING":"이어 보기","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"특별히 선택한 영화입니다.
    이 동영상은 권장 샘플입니다.","BOARD_EXPLANATION_EPISODES":"좋아하는 시리즈의 새로운 에피소드가 여기에 표시됩니다.
    팔로우한 시리즈를 라이브러리에 추가합니다.","BOARD_EXPLANATION_VIDEOS":"좋아하는 채널의 새로운 에피소드가 여기에 표시됩니다.
    라이브러리에 팔로우할 유튜브 채널을 추가합니다.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"바로 보기","WEBSITE_SLOGAN_ALL":"모든 비디오 콘텐츠를 한 곳에서 즐길 수 있습니다.","WEBSITE_SLOGAN_NEW":"모두 시청 가능","WEBSITE_SLOGAN_NEW_NEW":"자유로운 스트림","WEBSITE_WATCH_FROM":"시청 위치","WEBSITE_DOWNLOAD":"지금 바로 다운로드","WEBSITE_DOWNLOAD_FOR":"지금 바로 다운로드 대상","WEBSITE_IS_DESKTOP":"Stremio는 데스크톱 응용 프로그램입니다. PC에서 이 페이지를 열고 다운로드하십시오.","WEBSITE_DESKTOP_DEMO_VID":"데스크탑 데모","WEBSITE_PAGE_HOME":"홈","WEBSITE_PAGE_FEATURES":"기능","WEBSITE_PAGE_ADDONS":"애드온","WEBSITE_PAGE_TECH":"테크놀로지","WEBSITE_PAGE_CREATE_ADDON":"애드온 생성","WEBSITE_PAGE_CONTACTS":"연락처","WEBSITE_PAGE_BLOG":"블로그","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"영화","WEBSITE_TYPE_series_PL":"시리즈","WEBSITE_TYPE_tv":"라이브 TV","WEBSITE_TYPE_channel":"채널","WEBSITE_STREMIO_WHAT_IS":"Stremio는 마음에 드는 비디오, 영화, TV 시리즈, TV 채널을 정리하고 바로 볼 수 있는 앱입니다.","WEBSITE_FEATURES_WATCH":"즉시 HD로 보기","WEBSITE_FEATURES_WATCH_DETAIL":"즐겨찾는 영화, TV 프로그램, 비디오 및 TV 채널을 클릭하여 재생합니다.","WEBSITE_FEATURES_SUBS":"자동 자막","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio는 자동으로 해당 언어의 동기화된 자막을 선택합니다.","WEBSITE_FEATURES_SUBS_LABEL":"당신 차례입니다.","WEBSITE_FEATURES_CAST":"TV 및 모바일 디바이스에서 재생","WEBSITE_FEATURES_CAST_DETAIL":"AppleTV, Chromecast, 스마트 TV(DLNA/UPnP) 및 모바일 장치로 전송합니다.","WEBSITE_LIB":"모든 디바이스에서 동기화된 퍼스널 라이브러리를 즐기세요.","WEBSITE_LIB_COLLECT":"Stremio에서 수집","WEBSITE_LIB_IMPORT":"Facebook에서 Import","WEBSITE_LIB_LOCAL":"로컬 드라이브에서 추가","WEBSITE_BOARD":"게시판 - 알림 및 권장 사항을 위한 원스톱 장소","WEBSITE_BOARD_RECOMMEND":"권장 TV 프로그램","WEBSITE_BOARD_TRENDING":"트렌딩 무비","WEBSITE_BOARD_NEW":"새로운 영상","WEBSITE_BOARD_EPISODE":"새로운 에피소드","WEBSITE_BOARD_1":"재미있는 볼거리를 찾고 계십니까? 취향에 맞는 추천을 받아보세요!","WEBSITE_BOARD_2":"좋아하는 TV 프로그램이나 YouTube 채널의 새로운 에피소드가 나오면 알려드립니다!","WEBSITE_BOARD_YOUTUBE":"유튜브 채널 신규 영상","WEBSITE_BOARD_EPISODES":"당신이 팔로우하는 시리즈의 새로운 에피소드","WEBSITE_ADDONS":"콘텐츠 애드온","WEBSITE_TECH_DETAIL":"우리는 테크놀로지와 미친 과학을 사랑합니다!\\nStremio는 다음 오픈소스 기술을 사용하고 있습니다.:","WEBSITE_TECH_WCJS":"WebChimera.js를 사용하면 Stremio는 어떤 비디오 형식에서도 뛰어난 퍼포먼스로 재생할 수 있습니다.","WEBSITE_TECH_WCJS_EXTRA":"우리는 프로젝트의 핵심 기여자입니다.","WEBSITE_TECH_ELECTRON":"Electron은 Stremio를 구축할 수 있는 혁신적인 플랫폼을 제공합니다.","WEBSITE_TECH_ELECTRON_EXTRA":"우리는 프로젝트 기여자입니다.","WEBSITE_TECH_LINVODB":"데이터를 정리하여 로그인 시 어디서나 이용할 수 있는 데이터베이스 테크놀로지입니다.","WEBSITE_TECH_LINVODB_EXTRA":"내부기술","WEBSITE_CREATE_ADDON":"애드온 작성","WEBSITE_CREATE_ADDON_DETAIL":"비디오 콘텐츠를 제공하는 서비스가 있습니까? Addon을 작성함으로써 Stremio의 기능을 활용할 수 있도록 지원합니다.","WEBSITE_CREATE_ADDON_BENEFITS":"Stremio용 애드온 작성의 이점","WEBSITE_P2P_BEAUTY":"Peer-to-Peer 스트리밍의 묘미","WEBSITE_P2P_1":"안정적이고 저렴한 Full HD/4K 주문형 비디오 또는 라이브 스트리밍","WEBSITE_P2P_2":"좋은 사용자 경험을 제공하는 배포 플랫폼","WEBSITE_P2P_3":"필요에 맞는 확장 프로그램을 만들겠습니다.","WEBSITE_P2P_CONTACT":"관심이 있습니까? 문의를 환영합니다.","WEBSITE_P2P_CONTACT_EXTRA":"Stremio와 콘텐츠를 통합하는 데 도움을 드리고 싶습니다!","WEBSITE_P2P":"가끔은 게임의 규칙을 바꾸는 기술이 등장합니다. 우리는 뛰어난 성능과 용도에 맞게 맞춤화할 수 있는 다용도\\nDRM 지원 P2P 주문형 비디오 또는 라이브 스트리밍에 대해 문의하십시오.","WEBSITE_THOUGHTS":"우리가 공유하는 생각:","WEBSITE_SPREAD":"Stremio에 대해 널리 알리세요:","WEBSITE_CONTACT":"연락주세요. 연락주시면 감사하겠습니다!","WEBSITE_OPENSOURCE":"오픈소스 프로젝트에 대해서는 다음 사이트를 참조하십시오.","WEBSITE_BITCOIN":"비트코인 기부:","WEBSITE_FAQ":"자주 묻는 질문","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"질문","WEBSITE_TOS":"이용약관","WEBSITE_LEGAL":"법률","WEBSITE_PAGE_ABOUT":"정보","WEBSITE_PAGE_BECOME_PARTNER":"파트너가 되어주세요.","WEBSITE_ALL_YOU_CAN_WATCH":"원하는 모든 것을 자유롭게\\n시청할 수 있습니다.","WEBSITE_FREEDOM_TO_STREAM":"스트리밍의 자유","WEBSITE_WHAT_IS_STREMIO":"Stremio란?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio는 비디오 콘텐츠 집계를 위한 원스톱 허브입니다. 소유한 모든 장치에서 모든 종류의 소스에서 비디오를 검출, 정리, 시청할 수 있습니다.","WEBSITE_WHAT_IS_STREMIO_P2":"영화, TV 프로그램, 시리즈, 라이브 텔레비전 또는 YouTube나 Twitch.tv 등의 웹 채널 - 이 모든 것을 Stremio에서 찾을 수 있습니다.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio는 비디오 엔터테인먼트를 위한 원스톱 솔루션입니다. 설치가 용이한 애드온에서 비디오 콘텐츠를 검출, 시청 및 정리할 수 있습니다.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"영화, TV 프로그램, 라이브 TV 또는 웹 채널 - 이 모든 것을 Stremio에서 찾을 수 있습니다.","WEBSITE_ENJOI_ON_ALL_DEVICES":"모든 미디어 디바이스에서 즐기세요.","WEBSITE_DEVICES_COLLECT":"Stremio에서 수집","WEBSITE_DEVICES_IMPORT_FB":"페이스북에서 Import","WEBSITE_DEVICES_LOCAL":"로컬 드라이브에서 추가","WEBSITE_JOIN_THE_PARTY_NOW":"지금 바로 파티에 참여하십시오.","WEBSITE_DEVICES_ALL":"모든 기기에서 사용하기 쉽습니다.","WEBSITE_EXTENDABLE_CATALOG":"무한히 확장 가능한 비디오 카탈로그","WEBSITE_ORGANIZE_YOUR_MEDIA":"미디어 정리를 위한 뛰어난 기능","WEBSITE_AS_SEEN_ON":"에 표시된 대로","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"당사에 대하여","WEBSITE_LINK_TECHNOLOGY":"테크놀로지","WEBSITE_LINK_APPS":"앱","WEBSITE_LINK_DOWNLOADS":"다운로드","WEBSITE_MORE":"상세","WEBSITE_LINK_ADDONS":"애드온","WEBSITE_LINK_ADDON_SDK":"애드온 SDK","WEBSITE_LINK_CONTRIBUTE":"기여자","WEBSITE_LINK_COMMUNITY":"커뮤니티","WEBSITE_LINK_BLOG":"블로그","WEBSITE_MORE_MORE":"... & 상세","WEBSITE_LINK_HELP":"헬프센터","WEBSITE_LINK_CONTACTS":"비즈니스 문의","WEBSITE_LINK_TOS":"이용약관","WEBSITE_LINK_PRAVACY":"개인정보보호 정책","WEBSITE_SUBSCRIBE":"구독","WEBSITE_NEWSLETTER":"놀라운 소식을 위해 뉴스레터에 가입하세요.","WEBSITE_PLACEHOLDER_EMAIL":"당신의 이메일","WEBSITE_COMMUNITY":"커뮤니티","WEBSITE_LINK_PRAVACY_LEGAL":"개인정보보호 & 범률","WEBSITE_WHY":"우리가 하는 이유","WEBSITE_WHY_P1":"Stremio에서는 비디오 온 디맨드 업계의 중요한 문제를 해결하기 위해 매일 출근하고 있습니다. 매분 새로운 컨텐츠가 너무 많이 공개되고 있기 때문에, 그것을 회피하는 방법을 찾는 것은 사실상 불가능합니다.","WEBSITE_WHY_P2":"우리는 사람들이 비디오 엔터테인먼트의 거대한 세계를 탐색하고 즐길 수 있는 새로운 콘텐츠를 찾도록 돕습니다. 우리 앱은 영화, 시리즈, 라이브 TV, 웹 채널 등을 함께 제공합니다. 사용자가 좋아하는 타이틀과 방송사를 매우 쉽게 찾을 수 있도록 최선을 다하고 있습니다.","WEBSITE_WHY_P3":"언제 어디서나 모든 장치에서 당사 서비스를 사용할 수 있으므로 Stremio는 당신이 필요로 하는 유일한 비디오 엔터테인먼트 허브가 됩니다.","WEBSITE_TEAM":"팀","WEBSITE_TEAM_P":"Stremio 팀은 작지만 강력합니다.저희 10명 사이에 X개 언어로 코딩하고 소프트웨어 개발, UI 및 UX 설계, 마케팅 및 광고, 비즈니스 및 스타트업 관련 전문 지식을 공유합니다.","WEBSITE_FEATURES":"기능","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"새로운 콘텐츠를 쉽게 발견할 수 있습니다.","WEBSITE_FEATURES_DISCOVER_P":"새로운 영화, TV 프로그램, 시리즈 및 채널을 쉽게 찾을 수 있습니다. 카테고리, 장르, 등급, 추천서 등을 참조하거나 검색할 이름을 입력합니다. Stremio는 새로운 비디오 콘텐츠를 찾는 것을 쉽게 할 수 있습니다.","WEBSITE_FEATURES_ALL_CONTENT":"모든 비디오 콘텐츠를 한 화면에 표시","WEBSITE_FEATURES_ALL_CONTENT_P1":"완료하지 않은 영화, 시리즈 또는 비디오를 보고 계속 시청합니다.새로운 에피소드 및 개봉에 대해 알림을 받고 시청 습관에 따라 권장사항을 참조하십시오.","WEBSITE_FEATURES_LIBRARY":"비디오 라이브러리 정리","WEBSITE_FEATURES_LIBRARY_P1":"클릭 한 번으로 Stremio 라이브러리에 제목을 추가하고 콘텐츠를 유형, 레퍼런스 또는 알파벳 순서로 깔끔하게 정렬하여 찾을 수 있습니다.","WEBSITE_FEATURES_CALENDAR":"시청하는 모든 것을 추적합니다.","WEBSITE_FEATURES_CALENDAR_P1":"라이브러리에 추가하는 모든 영화 및 시리즈의 캘린더 시각화를 가져옵니다. Stremio 캘린더를 내보내고 동기화하면 새로운 에피소드 또는 프리미어 예정일이 언제인지 항상 알 수 있습니다.","WEBSITE_FEATURES_BIG_SCREEN":"비디오 콘텐츠를 더 큰 화면으로 즐기세요.","WEBSITE_FEATURES_BIG_SCREEN_P1":"클릭 한 번으로 스마트폰, 태블릿, TV 등 시청하고 있는 것을 다른 디바이스에 캐스트 할 수 있습니다.","WEBSITE_FEATURES_SOURCES":"다양한 소스에서 비디오를 시청합니다.","WEBSITE_FEATURES_SOURCES_P":"공식 애드온과 커뮤니티 애드온을 설치하여 다양한 프로바이더가 제공하는 비디오를 모두 스타일리시하고 사용하기 쉬운 하나의 앱으로 즐길 수 있습니다.","WEBSITE_CREATE_AN_ADDON":"애드온 개발","WEBSITE_FEATURES_SYNC":"다른 디바이스 간에 라이브러리를 동기화하고 재생을 재개합니다.","WEBSITE_FEATURES_SYNC_P1":"모든 디바이스에서 계정으로 로그인하여 라이브러리, 애드온, 재생 및 캘린더를 동기화하여 즐기십시오.","WEBSITE_FEATURES_EXTENDABLE":"애드온별로 확장 가능한 비디오 카탈로그","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio 애드온 카탈로그는 다양한 비디오 콘텐츠를 설치하고 시청할 수 있는 많은 애드온을 제공합니다. 여기에는 영화, 프로그램, 라이브 TV, 스포츠, 뉴스, 팟캐스트, 웹 채널, 비디오 게임 등이 포함됩니다.","WEBSITE_FEATURES_AUTO_SUBS":"자동 자막","WEBSITE_FEATURES_AUTO_SUBS_P1":"자막 애드온을 사용하면 원하는 언어에 대한 옵션이 자동으로 선택됩니다.","WEBSITE_FEATURES_CHROMECAST":"크롬캐스트에 캐스팅","WEBSITE_FEATURES_CHROMECAST_P1":"비디오 콘텐츠를 더 큰 화면으로 즐기거나 보고 있는 콘텐츠를 다른 기기에 캐스트하세요.","WEBSITE_FEATURES_KEEP_TRACK":"즐겨보는 TV 프로그램 및 웹 채널 추적","WEBSITE_FEATURES_KEEP_TRACK_P1":"즐겨찾는 시리즈와 웹 채널의 새로운 에피소드에 대한 캘린더 시각화와 알림을 받을 수 있습니다.","WEBSITE_FEATURES_POWER_USER":"파워 유저의 기능","WEBSITE_FEATURES_POWER_USER_P1":"외장 플레이어에서 재생","WEBSITE_FEATURES_POWER_USER_P2":"토렌트 파일 또는 마그넷 링크에서 재생","WEBSITE_FEATURES_POWER_USER_P3":"Facebook like 또는 로컬 디스크에서 라이브러리로 Import","WEBSITE_ADD_ONS":"애드온","WEBSITE_ADD_ONS_P1":"Stremio가 제공하는 모든 비디오 콘텐츠는 애드온 시스템을 통해 제공됩니다.콘텐츠 또는 콘텐츠 공급자는 앱에 포함되어 있지 않습니다.","WEBSITE_ADD_ONS_P2":"사용 가능한 애드온 그룹은 공식 애드온과 커뮤니티 애드온 두 가지가 있습니다.","WEBSITE_ADD_ONS_P3":"공식적인 것은 Stremio가 개발하고 호스트하는 반면 커뮤니티 애드온은 커뮤니티 멤버에 의해 개발되며 커뮤니티 애드온도 공유합니다.","WEBSITE_ADDONS_OFFICIAL":"공식 애드온","WEBSITE_ADDONS_WATCHUB":"iTunes, Hulu, Amazon 및 기타 영국/미국 서비스 프로바이더에서 좋아하는 영화, 시리즈, 쇼를 스트리밍하십시오.","WEBSITE_ADDONS_YOUTUBE":"좋아하는 YouTube 채널을 무료로 시청하고 팔로우하는 투고자로부터 새로운 업로드에 대한 알림을 받으십시오.","WEBSITE_ADDONS_FILMON":"라이브 TV, 영화, 소셜 TV를 무료로 시청하세요. 600개의 TV 채널, 45,000개의 무료 영화, 다큐멘터리 등","WEBSITE_ADDONS_OPENSUBTITLES":"다국어 영화 및 TV 자막, 매일 수천 개의 번역 자막 업로드","WEBSITE_ADDONS_COMMUNITY":"커뮤니티 애드온","WEBSITE_ADDONS_FILMON_VOD":"Filmon.tv에서 온디맨드 비디오 보기","WEBSITE_ADDONS_TWICH":"e스포츠 업계용 비디오 스트리밍 플랫폼인 Twitch.tv에서 라이브 스트림을 시청하십시오.","WEBSITE_ADDONS_VODO":"완전 무료로 인디 영화를 감상하세요.","WEBSITE_ADDONS_NETFLIX":"Netflix 영화 및 웹 시리즈를 시청합니다.","WEBSITE_ADDONS_CREATE":"애드온 개발","WEBSITE_ADDONS_CREATE_P1":"원하시면, 독자적인 애드온을 개발할 수 있습니다. 이를 통해 귀사와 당사의 커뮤니티에서 새로운 비디오 콘텐츠에 접근할 수 있으며, 전 세계 수백만 명의 사용자의 잠재고객에게 다가갈 수 있습니다.","WEBSITE_ADDONS_START_CREATE":"시작하려면 Stremio Addon SDK 페이지를 방문하십시오.","WEBSITE_DOWNLOADS":"다운로드","WEBSITE_DOWNLOADS_P1":"최적의 성능을 위해 최신 버전의 Stremio 앱을 사용하는 것이 좋습니다. 다만, 어떠한 이유로 구버전을 사용하고 싶은 경우는, 여기서 다운로드할 수 있습니다.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Windows용 Stremio","WEBSITE_DOWNLOADS_FOR_MAC":"MacOS용 Stremio","WEBSITE_DOWNLOADS_FOR_LINUX":"Linux용 Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID":"Android용 Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Android TV용 Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Android Mobile용 Stremio","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Steam Deck용 Stremio","WEBSITE_DOWNLOADS_FOR_IOS":"iOS용 Stremio (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"기여","WEBSITE_CONTRIBUTE_P1":"Stremio 플랫폼은 오픈 소스이며 현재 소싱되지 않은 콘텐츠에 대한 애드온을 쉽게 만들 수 있습니다.","WEBSITE_CONTRIBUTE_WHY":"애드온을 작성해야 하는 이유?","WEBSITE_CONTRIBUTE_WHY_P1":"비디오 콘텐츠 신규 사용자 확보","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio의 유저 베이스는 급속히 성장하고 있습니다. Stremio는 출시 1년 만에 전 세계에서 100만 명의 유저를 확보했고, 플랫폼 설립 2년째에는 250만 명으로 증가했습니다.","WEBSITE_CONTRIBUTE_WHY_P3":"애드온으로 시청자에게 쉽게 접근하여 동영상 콘텐츠를 배포할 수 있습니다.","WEBSITE_CONTRIBUTE_ALL":"좋아하는 영화, 비디오, 시리즈, 채널을 한 곳에서 감상할 수 있습니다.","WEBSITE_CONTRIBUTE_ALL_P1":"Stremio에서 아직 이용할 수 없는 특정 유형의 콘텐츠 팬입니까? 애드온을 만들고 가장 크고 사용하기 쉬운 엔터테인먼트 허브 중 하나에서 마음에 드는 비디오를 즐겨보세요.","WEBSITE_CONTRIBUTE_ALL_P2":"게다가, 같은 생각을 가진 다른 Stremio 커뮤니티 멤버들의 무한한 감사를 받을 수 있습니다.","WEBSITE_CONTRIBUTE_MONETIZE":"애드온을 수익을 창출하고, 그 도움을 받아 수익을 올리세요.","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Stremio용 새로운 애드온을 개발하면 다양한 방법으로 쉽게 수익화할 수 있습니다. 만약 이 점을 고려하신다면, 부담없이 문의해 주십시오.","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - 애드온 머니타이제이션 옵션에 대해 기꺼이 상담 및 조언을 드리겠습니다.","WEBSITE_CONTRIBUTE_TRANSLATE":"자원봉사 번역가가 되십시오.","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"다른 언어로 된 Stremio 앱을 즐기고 싶으시면 저희 자원봉사 번역자 커뮤니티에 참여하실 수 있습니다. Stremio 버전을 여러 언어로 추가할 수 있습니다.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"시작하시겠습니까?","WEBSITE_TRANSALTE_STREMIO":"Stremio 번역","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"공식 커뮤니티","WEBSITE_COMMUNITY_OFFICIALS_P1":"성장하는 Stremio 커뮤니티의 일원이 되십시오. 소셜 미디어 팔로우 해 주세요.부끄러워하지 말고 인사하세요. 팬분들의 의견을 듣는 게 너무 좋아요! ","WEBSITE_COMMUNITY_UNOFFICIALS":"비공식 커뮤니티","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"문의","WEBSITE_CONTACT_US_P1":"질문, 코멘트, 제안사항이 있으시면 아래 연락처 폼으로 연락주시기 바랍니다.","WEBSITE_CONTACT_US_P2":"당사는 불가리아에 있으므로 시간대 차이로 인해 문의처리가 지연될 수 있습니다.","WEBSITE_CONTACT_US_SUCCESS":"메시지가 발송되었습니다. 가능한 한 빠른 시일 내에 연락드리겠습니다.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"유효한 이메일을 입력하세요!","WEBSITE_CONTACT_US_Q_RELATED_TO":"질문은 무엇에 관한 것입니까?","WEBSITE_CONTACT_US_Q_OS":"운영체제는 무엇입니까?","WEBSITE_CONTACT_US_PH_EMAIL":"단신의 E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"메시지","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"전송","WEBSITE_CONTACT_US_Q_1":"어떻게 설치 하나요?","WEBSITE_CONTACT_US_Q_2":"어떻게 삭제 하나요?","WEBSITE_CONTACT_US_Q_3":"(HTML) 라자냐는 어떻게 만드나요?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"테크놀로지","WEBSITE_TECHNOLOGY_P1":"우리는 테크놀로지와 광기어린 과학을 사랑합니다.
    다음은 Stremio(모두 오픈소스)를 지원하는 기능입니다.","WEBSITE_TECHNOLOGY_P_QT":"크로스 플랫폼 소프트웨어 개발은 최고입니다.","WEBSITE_TECHNOLOGY_P_MPV":"프리 오픈 소스 크로스 플랫폼 미디어 플레이어입니다.","WEBSITE_TECHNOLOGY_P_RN":"React Native를 사용하면 JavaScript만을 사용하여 모바일 앱을 구축할 수 있습니다.","WEBSITE_TECHNOLOGY_P_VLC":"멀티미디어를 얻기 위해 응용 프로그램에 내장된 미디어 프레임워크입니다.","WEBSITE_TECHNOLOGY_P_REALM":"Realm은 모바일 플랫폼이며 SQLite & Core Data를 대체하는 것입니다.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js는 오픈소스 크로스 플랫폼 자바스크립트 런타임 환경입니다.","WEBSITE_TECHNOLOGY_P_RUST":"RUST는 안전성, 특히 안전한 동시성에 초점을 맞춘 다중 패러다임 시스템 프로그래밍 언어입니다.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"프로젝트에 기여","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Stremio에 기여하는 방법과 제품 개선을 지원하는 방법에는 두 가지가 있습니다.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"플랫폼을 번역하여 소중한 언어 능력을 기부할 수 있습니다...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"또는","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... 커뮤니티 애드온을 작성하기 위해 당신의 프로그래밍 노하우를 사용할 수 있습니다. ","WEBSITE_TRANSLATE_STREMIO":"Stremio 번역","WEBSITE_404_OH_NO":"오오오오! 찾으시는 페이지는 여기에 없습니다...","WEBSITE_GO_HOME":"홈으로 이동","WEBSITE_LINK_OTHER_DOWNLOADS":"기타 다운로드","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"지원","WEBSITE_DOWNLOAD_4_0_BETA":"Stremio 4 베타판 지금 바로 다운로드","WEBSITE_GET_FOR_DESKTOP":"데스크탑용","WEBSITE_LINK_ADDON_COMPETITION":"애드온 경쟁","WEBSITE_LINK_ART_CONTEST":"아트 콘테스트","WEBSITE_MY_ACCOUNT":"내 계정","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremio란?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio는 원하는 모든 것을 자유롭게 볼 수 있는 현대적인 미디어 센터입니다.","WEBSITE_MAINPAGE_FAQ_002_H1":"어떻게 동작합니까?","WEBSITE_MAINPAGE_FAQ_002_P1":"단말기에 Stremio를 설치하고 계정을 만들면 애드온 카탈로그에 접속하여 원하는 애드온을 설치하면 됩니다.","WEBSITE_MAINPAGE_FAQ_002_P2":"그 후 [Discover]섹션 또는 [Board]섹션으로 이동하여 콘텐츠 탐색을 시작할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_003_H1":"여기서 볼 수 있는 건?","WEBSITE_MAINPAGE_FAQ_003_P1":"많은 것: 영화, TV 프로그램, 웹 채널, 스포츠, TV 채널, 팟캐스트 듣기 등. 델의 애드온 시스템 덕분에 다양한 콘텐츠에 접속할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio는 오픈 소스입니까?","WEBSITE_MAINPAGE_FAQ_004_P1":"예, ${1}데스크탑 app${2} 및 ${3}GitHub organization${4} 링크를 확인할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio는 안전합니까?","WEBSITE_MAINPAGE_FAQ_005_P1":"네, 오픈 소스 소프트웨어이므로 코드는 공개적으로 보는것이 가능하며 사용자가 직접 검토할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"프라이버시는 어떻습니까?","WEBSITE_MAINPAGE_FAQ_006_P1":"저희는 사용자의 프라이버시를 존중하며 계정을 만들고 동기화하기 위해 필수적인 최소값 이외에는 개인정보를 수집하지 않습니다.","WEBSITE_MAINPAGE_FAQ_006_P2":"등록 시 ${1}게스트 모드${2}도 있습니다.이 모드에서는 백엔드에 콜이 발신되지 않습니다. 단, 디바이스 간에 라이브러리를 동기화할 수 있는 등 유용한 기능을 희생합니다.","WEBSITE_MAINPAGE_FAQ_007_H1":"TV에 캐스팅할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_007_P1":"네, Chromecast를 지원하며 데스크톱 및 모바일 앱(Android)에서 모두 캐스팅할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio에는 몇 개의 애드온이 있습니까?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019년 말 현재 50세 이상 - 자세한 내용은 Addon 카탈로그를 참조하십시오.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio를 애드온 카탈로그보다 더 확장할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_009_P1":"예, ${1}PimpMyStremio${2}, ${3}Reddit 커뮤니티${4}, ${5}Stremio Downloader${6} 등을 확인하십시오.","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio가 지원하는 디바이스는 무엇입니까?","WEBSITE_MAINPAGE_FAQ_010_P1":"Windows, Mac 및 Linux용 데스크톱 애플리케이션이 있습니다. 모바일의 경우 Android 및 iOS를 지원하지만 iOS는 기능이 제한되어 있습니다(대부분의 애드온을 지원하지 않음).","WEBSITE_MAINPAGE_FAQ_010_P2":"NVIDIA Shield나 Amazon Fire Stick 등 Stremio를 실행할 수 있는 Android 기반 디바이스는 많이 있지만 공식적으로 지원하지 않습니다.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Stremio에 특정 콘텐츠를 추가할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_011_P1":"본사에서 제공하는 콘텐츠는 없습니다만, Stremio 애드온이 많을수록 더 많은 콘텐츠를 찾을 수 있습니다.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio는 마그넷 링크를 재생할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_012_P1":"네, 일반 HTTP 링크 및 토렌트 파일(드래그 앤 드롭)도 재생할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_013_H1":"비디오를 다운로드하여 오프라인으로 시청할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_013_P1":"오프라인에서 사용할 수 있는 기능이 곧 출시될 예정이지만 Stremio를 (설정 패널에서) 디바이스에 캐시하도록 허용하면 나중에 연결 없이 비디오를 볼 수 있습니다.","WEBSITE_MAINPAGE_FAQ_014_H1":"아무것도 작동하지 않습니다.도와주세요!","WEBSITE_MAINPAGE_FAQ_014_P1":"애드온을 설치하시겠습니까? 확인하신 경우 ${1}헬프센터${2}에 문의해 주십시오.","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio는 어떻게 개발 작업을 유지합니까?","WEBSITE_MAINPAGE_FAQ_015_P1":"간헐적으로 방해가 되지 않는 광고를 실행하지만 기부 모델로 전환하는 것을 고려하고 있습니다.","WEBSITE_MAINPAGE_FAQ_015_P2":"자세한 내용은 ${1}헬프센터 ${2}를 참조하십시오.","HELP_LEARN_MORE":"고객에 대해 자세히 알아보겠습니다.","LIFESTYLE":"라이프스타일","SPORTS":"스포츠","FOOD_HEALTH":"식품 & 건강","BEAUTY_FASHION":"뷰티 & 패션","NEWS":"뉴스","GAMING":"게이밍","SCIENCE_EDUCATION":"과학 & 교육","MUSIC":"음악","TRAVEL":"여행","LATE_NIGHT":"심야방송","REALITY":"리얼리티","COMEDY":"코미디","DIY":"DIY","TECH":"테크","CINEMA":"시네마","CONTINUE":"계속","SLOW_LOADING":"로딩이 느립니까?","I_GIVE_UP":"포기한다.","LEARN_MORE":"더 알아보기","POOR_SOURCE":"이 소스를 제대로 사용할 수 없거나 인터넷 연결이 충분히 빠르지 않습니다.","PICK_CATEGORIES_ERR":"최소 3개의 카테고리를 선택해야 합니다.","ADJUST_TIMING":" 타이밍 조정 ","ADJUST_SIZE":" 사이즈 조정 ","SEARCH_ANYTHING":"무엇이든 검색할 수 있습니다...","ALL_CATEGORIES":"전체","SEARCH_CATEGORIES":"영화, 시리즈, YouTube & TV","SEARCH_PERSONS":"배우, 감독 & 작가","SEARCH_PROTOCOLS":"HTTP & 마그넷 링크","SEARCH_TYPES":"IMDB / TVDB 링크","WATCHED":"시청완료.","SHOW_LESS":"감추기","LAST_SEARCHES":"마지막 검색","CLEAR_HISTORY":"이력 지우기","CHOOSE_SOME":"이 중 일부를 선택하세요.:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote를 로드할 수 없습니다.","STREMIO_OFFLINE":"Stremio는 오프라인","STREMIO_EXPENSIVE_CONNECTION":"모바일 데이터 연결을 사용하고 있습니다.계속하시겠습니까?","USE_DATA":"데이터 사용","WARNING":"경고","MORE_INFO":"상세정보...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"로딩중 ...","STREMIO_TV_BACK_TO_LANGUAGES":"언어로 돌아가기","STREMIO_TV_REMOTE":"리모트","STREMIO_TV_GO_TO":"이동:","STREMIO_TV_OR_SCAN":"또는 스캔:","STREMIO_TV_ADDON_INSTRUCTIONS":"필요한 애드온을 설치하려면 지시에 따르십시오.","STREMIO_TV_LIVE_TV":"라이브 TV","STREMIO_TV_RESUME_WATCHING":"시청 재개","STREMIO_TV_LOADING_BACKGROUND":"배경 로딩 중","STREMIO_TV_CHECKING_AUTHENTICATION":"인증 확인 중","STREMIO_TV_LOADING_BOARD":"로딩 게시판","STREMIO_TV_LOGIN_HEADER_LINE_1":"우리는 사용자가 우리 소프트웨어를 사용하여 가능한 한 최고의 개인화된 경험을 하기를 바랍니다.","STREMIO_TV_LOGIN_HEADER_LINE_2":"이를 위해 계정 가입 및 로그인을 부탁드립니다.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"이해해해 주셔서 감사합니다.","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio 팀","STREMIO_TV_REMOTE_INSTRUCTIONS":"스마트폰/태블릿/데스크탑에서 웹 리모트를 사용하려면:","STREMIO_TV_WIFI_SETUP":"Wi-Fi 셋업","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle이 인터넷 연결을 검출하지 못했습니다.","STREMIO_TV_WIFI_DETAILS_1":"접속 위치:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"비밀번호 사용:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"링크를 사용하여 웹 브라우저를 엽니다.:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"기본값","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"최근 시청","STREMIO_TV_LIBRARY_SORT_NAME":"이름","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"시청 시간별","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"시즌 ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} 애드온 로딩중...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} 애드론 계속 로딩중...","STREMIO_TV_PLAYER_SETTINGS":"플레이어 설정","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"자막 지연","STREMIO_TV_PLAYER_AUDIO_DELAY":"오디오 지연","STREMIO_TV_PLAYER_VIDEO_SCALING":"비디오 스케일링","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"지원되지 않는 스트림 소스","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"외부 링크 열기 실패","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"ExoPlayer로 재생","STREMIO_TV_PLAYER_PLAY_IN_VLC":"libVLC player로 재생","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"재생 오류로 인하여 libVLC player로 전환 중","STREMIO_TV_ADDONS_TITLE":"전화기 또는 PC에서 Stremio를 사용하여 애드온을 설치 또는 설정하고 \\"애드온 동기화\\"를 누르십시오.","STREMIO_TV_ADDONS_SUBTITLE":"주의: 동일한 Stremio 계정을 사용하고 있는지 확인하십시오.","STREMIO_TV_ADDONS_SYNC_ADDONS":"애드온 동기화","STREMIO_TV_ADDONS_SYNC_SUCCESS":"애드온이 정상적으로 동기화되었습니다.","STREMIO_TV_ADDONS_SYNC_FAILED":"애드온 동기화에 실패했습니다.","STREMIO_TV_META_LINK_FAILED":"메타 링크를 열지 못했습니다.","STREMIO_TV_CATALOG_LOADING":"카탈로그가 아직 로딩 중...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"인터페이스 언어 갱신","STREMIO_TV_SETTINGS_THEME_UPDATED":"테마 갱신","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"선호 언어","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"2차 선호 언어","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"터널링 재생","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"일부 디바이스에서 재생 문제가 발생할 수 있습니다.","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"일부 비디오 형식이 작동하지 않을 수 있습니다.","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"캐싱 없음","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"기본값","STREMIO_TV_SETTINGS_PROFILE_SOFT":"저속","STREMIO_TV_SETTINGS_PROFILE_FAST":"고속","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"초고속","STREMIO_TV_SETTINGS_SERVER_URL":"스트리밍 서버 URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"서버 버전","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"알 수 없음","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio 버전","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"서버 URL 수정","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"스트리밍 서버의 URL을 입력하십시오","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremio의 개인정보보호 정책을 읽으려면 다음 사이트를 방문하십시오.:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremio 계약조건을 읽으려면 다음 사이트를 방문하십시오.:","STREMIO_TV_NAV_SEARCH":"검색","STREMIO_TV_NAV_HOME":"홈","STREMIO_TV_NAV_DISCOVER":"발견","STREMIO_TV_NAV_LIBRARY":"라이브러리","STREMIO_TV_NAV_MOVIES":"영화","STREMIO_TV_NAV_SERIES":"시리즈","STREMIO_TV_NAV_CHANNELS":"채널","STREMIO_TV_NAV_TV":"라이브 TV","STREMIO_TV_NAV_SETTINGS":"설정","STREMIO_TV_NAV_ADDONS":"애드온","STREMIO_TV_LOGIN_TITLE":"계정 링크","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"위의 QR코드를 스캔하거나 다음으로 이동합니다.","STREMIO_TV_LOGIN_STEP_TWO":"Stremio 계정에 로그인합니다.","STREMIO_TV_LOGIN_NEW_LINK":"새로운 링크 요청","STREMIO_TV_LOGIN_LINK_REFRESHED":"로그인 코드 새로 고침","STREMIO_TV_SEARCH_PLACEHOLDER":"입력하세요.","STREMIO_TV_SEARCH_NO_ADDONS":"카탈로그 추가 요청 없음!","STREMIO_TV_SEARCH_BUTTON":"검색","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"공간","STREMIO_TV_SEARCH_KEY_CLEAR":"지우기","STREMIO_TV_SEARCH_HISTORY_TITLE":"이력 검색","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"타이틀, 배우, 채널 등을 검색할 수 있습니다.","STREMIO_TV_SEARCH_HISTORY_CLEAR":"검색 이력 지우기","STREMIO_TV_FILTERS_DESCRIPTION":"아래 필터 중 하나를 선택하십시오.","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"필터","SETTINGS":"설정","ACCOUNT":"계정","LOGOUT":"로그아웃","THEMES":"테마","PLAYBACK":"재생","PLAYBACK_SPEED":"재생속도","AUDIO_TRACKS":"오디오 트랙","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"영상","SERVER":"서버","LINKS":"링크","ABOUT":"소개","INTERFACE":"인터페이스","ANIMATIONS":"애니메이션","STATUS":"상태","LANGUAGE":"언어","SIZE":"크기","DELAY":"지연","BOLD":"굵기","OPACITY":"Opacity","TEXT_COLOR":"문자 색상","OUTLINE_COLOR":"외각선 색상","BACKGROUND_COLOR":"배경색","BACKGROUND_BLUR":"배경 흐리게","SEEK_TIME_DURATION":"탐색 시간 찾기","AUTO_PLAY":"다음 에피소드 자동 재생","PLAY_NOW":"지금 바로 재생","MARK_AS_WATCHED":"시청으로 표시","MARK_AS_UNWATCHED":"미시청으로 표시","REWIND_TO_BEGINNING":"처음으로 되감기","CONTINUE_WATCHING":"계속 시청","ALL":"전체","SECONDS":"초","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"URL 편집","URL":"URL","NONE":"없음","EMBEDDED":"임베디드","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"스위치 디바이스","REMOTE_VIDEOS":"영상","REMOTE_ADJUST_TIMING":"타이밍 조정","REMOTE_ADJUST_SIZE":"크기 조정","REMOTE_COULD_NOT_BE_LOADED":"Web Remote를 로드할 수 없습니다.","REMOTE_RETRY":"재시도","TORRENT_PROFILE_DEFAULT":"기본값","TORRENT_PROFILE_SOFT":"저속","TORRENT_PROFILE_FAST":"고속","TORRENT_PROFILE_ULTRA_FAST":"초고속","MB_S":"MB/s","FAQ_001_H1":"Stremio란?","FAQ_001_P1":"Stremio는 사용하기 쉬운 비디오 엔터테인먼트용으로 설계된 미디어 센터 소프트웨어입니다. Stremio를 사용하면 자신만의 영화, 시리즈, 채널 및 라이브 TV 컬렉션을 구성하고 시청할 수 있습니다.","FAQ_001_P2":"Stremio는 로컬 디스크와 당사의 애드온 시스템에서 표시되는 콘텐츠를 수집합니다.","FAQ_001_P3":"관심 있는 새로운 에피소드, 동영상, 영화가 나오면 알려주고 추천 영화도 알려준다.","FAQ_02_H1":"Stremio는 Kodi나 플렉스와 비교했을 때 어떻습니까?","FAQ_02_P1":"저희는 그 2개의 소프트웨어로부터 영감을 얻고 있습니다. 그러나 우리는 다른 목표를 가지고 있습니다.Stremio는 특히 엔터테인먼트 비디오를 타깃으로 하고 있으며, 매우 사용하기 쉽기 때문에 이를 위한 주류 솔루션이 되기 위해 노력하고 있습니다.","FAQ_02_P2":"Stremio는 Kodi 및 Plex만큼 커스터마이즈 및 기능이 풍부하지는 않지만, 훨씬 사용하기 쉽습니다. ${1}만 구입하시면 ${2}를 확인하실 수 있습니다. :)","FAQ_03_H1":"Stremio와 Netflix를 비교했을 때 어떻습니까?","FAQ_03_P1":"마찬가지로 넷플릭스도 우리의 영감 중 하나입니다. Netflix의 유저 익스피리언스를 실현하기 위해 노력하고 있습니다.또, 많은 부가 기능을 갖추고 있습니다. 그러나 가장 중요한 것은 애드온 시스템을 사용하여 라이브러리를 자유롭게 관리하고 새로운 콘텐츠 소스를 추가할 수 있다는 점입니다.","FAQ_03_P2":"Stremio를 무한히 확장할 수 있으므로 Stremio를 사용할 때 Netflix가 라이선스하기로 결정한 콘텐츠에 제한되지 않습니다. 예를 들어 Stremio를 통해 ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} 및 ${9}Netflix${10} 자체에서 콘텐츠를 시청할 수 있습니다!","FAQ_04_H1":"Stremio와 Flipboard를 비교했을 때 어떻습니까?","FAQ_04_P1":"우리는 새로운 사람들과 이야기할 때를 제외하고는 그런 질문을 자주 받지 않습니다. :)","FAQ_04_P2":"Stremio는 기본적으로 비디오용 Flipboard가 되는 콘텐츠 애그리게이터입니다. 이는 Flipboard와 마찬가지로 카탈로그와 새로운 에피소드/새로운 비디오 알림을 제공하는 게시판 섹션에서 매우 잘 드러납니다.","FAQ_05_H1":"Stremio와 Popcorn Time은 어떻게 비교됩니까?","FAQ_05_P1":"Stremio와 Popcon Time은 비디오 엔터테인먼트 카탈로그를 올바르게 만드는 방법이 많지 않기 때문에 사용자 인터페이스에서 유사합니다. :)","FAQ_05_P2":"단, Popcon Time은 특정 소스로부터의 스트리밍 토렌트에 초점을 맞추고 있지만 Stremio는 제한되지 않고 콘텐츠 애그리게이터일 뿐 특정 콘텐츠 소스에 얽매이지 않습니다.","FAQ_05_P3":"또한 기본적으로는 Torrent Addon은 제공되지 않으므로 Stremio는 Popcorn Time의 사용 사례를 공식 기능으로 다루지 않습니다.","FAQ_05_P4":"또 다른 중요한 차이점은 Popcorn Time은 완전히 오픈 소스인데 반해 Stremio는 부분적으로 오픈 소스 ${1}입니다.","FAQ_06_H1":"영화/시리즈를 추가하시겠습니까?","FAQ_06_P1":"아니요, 죄송합니다 :( ","FAQ_06_P2":"다른 대부분의 질문에서 언급했듯이 Stremio는 콘텐츠 자체를 제공하지 않습니다.모든 것은 애드온 시스템을 통해 추가됩니다. 콘텐츠 요청이 있는 경우 플레이어의 “리포트” 버튼을 사용하면 현재 사용 중인 애드온의 작성자에게 이메일을 보낼 수 있습니다.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"X용 애드온을 작성하시겠습니까?","FAQ_08_P1":"완전히 가능합니다.","FAQ_08_P2":"애드온에 대한 아이디어가 있으시면 ${1}office@stremio.com${2}로 적어주세요.단, 귀하의 애드온 아이디어가 저작권이나 이용약관을 침해하지 않도록 해 주세요.","FAQ_08_P3":"현재로서는 FandangoNOW, Filmon.tv 비디오 온 디맨드, Crunchyroll의 애드온입니다.","FAQ_09_H1":"Stremio는 BitTorrent를 사용합니까?","FAQ_09_P1":"네, Stremio는 스트리밍 프로토콜로 BitTorrent를 지원합니다. Torrent Addon을 사용하거나 Stremio에 .torrent 파일을 드래그 앤 드롭하거나 검색 바에 자석 링크를 붙여 사용할 수 있습니다.","FAQ_09_P2":"BitTorrent를 사용하는 공식 애드온은 ${1}Vodo${2}뿐이며, 모두 BitTorrent와 함께 배포할 수 있습니다.","FAQ_09_P3":"저작권 침해를 일으킬 수 있는 서드파티 애드온의 사용은 지원하지 않습니다.","FAQ_10_H1":"Stremio에서 공식 애드온과 함께 볼 수 있는 것은?","FAQ_10_P1":"기본적으로는 Stremio 자체 내에서 내장 플레이어를 사용하여 Filmon.tv, YouTube 및 Vodo 콘텐츠를 시청할 수 있습니다. 또, Twitch.tv 및 그 외의 몇개의 애드온도 준비되어 있습니다.","FAQ_10_P2":"이 조합은 다음을 제공합니다.:","FAQ_10_L1":"Filmon.tv에서 제공하는 인기 TV 채널 - E4, BBC, Bollyworld TV 등","FAQ_10_L2":"YouTube의 모든 것 - 예를 들어 BBC 뉴스, 탑 기어, Vevo, Pew DiePie","FAQ_10_L3":"Vodo와 함께 하는 독립 영화","FAQ_10_L4":"Twitch.tv에서 온라인 게임 방송","FAQ_10_P3":"Guidebox나 Netflix 애드온에는 많은 컨텐츠 소스가 준비되어 있습니다. 이러한 소스는 Stremio 내에서 재생되는 것은 아니지만, 지정된 서비스로 리다이렉트 됩니다. 예를 들어, Guidebox 애드온은 TubiTV나 Crackle과 같은 서비스에서 무료로 스트리밍할 수 있는 영화를 제공합니다.","FAQ_11_H1":"Stremio가 설치되지 않습니다. 어떻게 해야 합니까?","FAQ_11_P1":"Windows를 사용하는 경우 ${1}설치 프로그램${2}을(를) 사용해 보십시오.","FAQ_11_P2":"Mac OS X를 사용하는 경우 OS X Mavericks(10.9)보다 오래된 버전은 지원하지 않습니다.","FAQ_11_P3":"Linux를 사용하시는 경우 현재 64비트(x64) Linux만 지원합니다.","FAQ_11_P4":"계속 문제를 해결할 수 없는 경우 ${1}Facebook group${2}로 문의해 주십시오.","FAQ_12_H1":"백신프로그램이 바리러스 보고를 하는 이유는 무엇입니까? Stremio는 안전한가요?","FAQ_12_P1":"Stremio는 ${1}100% clean${2}임을 보증합니다.","FAQ_12_P2":"인스톨러에 애드웨어가 포함되어 있기 때문에 백신프로그램이 애드웨어로 인식되고 있습니다.","FAQ_12_P3":"아직 확실하지 않은 경우 ${1}대체 설치${2}을(를) 사용해 보십시오.","FAQ_13_H1":"애드온 제작 방법?","FAQ_13_P1":"먼저 GitHub에서 ${1}addons system module${2}를 체크할 것을 권장합니다.","FAQ_13_P2":"이후 ${1}Hello World tutorial${2}를 따르십시오.","FAQ_13_P3":"프로그래밍 스킬이 없는 경우 ${1}Reddit 커뮤니티${2}에 아이디어를 게시하고 ${3}office@stremio.com${4}에 애드온 아이디어를 문의해 주십시오.","FAQ_14_H1":"애드온은 어떻게 공개됩니까?","FAQ_14_P1":"애드온과 호스트를 만들고 매니페스트에 endpoint필드를 삽입하면 동작 중인 애드온 주소를 가리키면 애드온은 자동으로 ${1}애드온 카탈로그${2}에 퍼블리시됩니다.","FAQ_14_P2":"이는 stremio-addons 모듈의 서버 부분이 자동으로 API에 호출하여 애드온을 방송하기 때문입니다. API가 endpoint를 유효한 애드온으로 검증하면 카탈로그에 표시됩니다.","FAQ_15_H1":"브라우저에서 Stremio를 실행할 수 있습니까?","FAQ_15_P1":"현재로서는 안 되지만 곧 나올겁니다!","FAQ_15_P2":"알파가 궁금하신 경우 ${1}alpha4.strem.io${2}.을 참조하십시오. 이 알파에서는 스트리밍이 비활성화되어 있습니다. Chrome, Firefox, Opera 및 Edge를 지원합니다.","FAQ_16_H1":"TV로 전송이 작동하지 않습니다./자막이 작동하지 않습니다.","FAQ_16_P1":"TV로의 캐스팅은 다른 TV 브랜드와 모델 간에 매우 일관성이 없는 DLNA 기술을 사용합니다. 그렇기 때문에 모든 경우에 테스트할 수 있는 것은 아니기 때문에 완벽과는 거리가 멀다. 그럼에도 불구하고 지속적으로 개선 작업을 진행 중이지만 DLNA가 언제 TV에서 정상적으로 작동할지 예상할 수 없습니다.","FAQ_16_P2":"캐스팅 메뉴에 TV가 표시되지 않는 경우 네트워크 연결을 비활성화했다가 다시 활성화하십시오(Windows에서는 네트워크를 오른쪽 클릭하여 활성화/비활성화를 사용함). 라우터, TV 및 PC를 재시작하십시오","FAQ_16_P3":"아직 문제가 해결되지 않은 경우 TV 브랜드 및 모델 정보를 ${1}office@stremio.com${2}로 보내주십시오.","FAQ_16_P4":"그동안은 Chromecast를 매우 잘 지원하거나 단순히 HDMI 케이블로 TV를 PC에 연결하는 것을 권장합니다.","FAQ_17_H1":"Stremio freeze 및/또는 크래시, 어떻게 해야 하나요?","FAQ_17_P1":"우선, AVG 안티바이러스를 탑재한 Windows 7 을 사용하고 있는 경우는, 그 조합에 문제가 있습니다. 이 문제는 AVG 자체에 있으며, 우리 측에서는 해결할 수 있는 합리적인 방법이 없습니다. 유감스럽게도 예외나 안티바이러스를 비활성화하지 않습니다. 유일한 해결책은 AVG를 다른 것으로 교체하는 것입니다.","FAQ_17_P2":"그것이 문제가 아니지만 Windows를 사용하고 있다면 최신 서비스 팩으로 업데이트하여 GPU 드라이버를 업데이트/재설치한 후 다시 시도하십시오.","FAQ_17_P3":"문제가 해결되지 않았거나 Mac 또는 Linux를 사용 중인 경우, 문제의 정확한 세부사항을 ${1}Facebook group${2}로 보고해 주십시오.","FAQ_18_H1":"애드온은 어떻게 만들수 있나요?","FAQ_18_P1":"먼저 GitHub에서 ${1}addons system module${2}를 체크할 것을 권장합니다.","FAQ_18_P2":"이후 ${1}Hello World tutorial${2}를 따르십시오.","FAQ_18_P3":"프로그래밍 스킬이 없는 경우 ${1}Reddit 커뮤니티${2}에 아이디어를 게시하고 ${3}office@stremio.com${4}에 애드온 아이디어를 문의해 주십시오.","FAQ_19_H1":"Stremio가 디스크 공간을 사용하는 이유는 무엇입니까?","FAQ_19_P1":"Stremio에는 스트리밍하는 비디오 파일을 일시적으로 유지하는 로컬캐시가 있습니다.","FAQ_19_P2":"이것에는 두 가지 이점이 있습니다.첫째, Stremio는 비디오를 프리 버퍼링하여 스트리밍을 원활하게 할 수 있습니다. 둘째, 비디오를 로컬캐시에 보관하기 때문에 오프라인에서 계속 시청할 수 있습니다.","FAQ_19_P3":"Stremio의 유지량은 설정 패널의 캐시 설정에 따라 달라집니다. Stremio는 현재 스트리밍되고 있는 비디오의 용량이 이보다 클 경우 스트리밍할 때까지 충분한 스토리지를 할당해야 하는 경우를 제외하고 디스크에 설정된 용량(2GB 등)까지 유지할 수 있습니다.","FAQ_20_H1":"캐시 폴더는 어디에 있습니까?","FAQ_20_P1":"Windows에서는 설정에서 선택한 드라이브의 stremio 캐시 (예. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"MacOS에서는 \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linux에서는 \\"~/.stremio/stremio-cache\\" 또는 \\"~/stremio-cache\\"","FAQ_21_H1":"\\"Streaming server is not found\\" 오류가 표시되는데 어떻게 해야 합니까?","FAQ_21_P1":"이 오류가 발생하면 다음 중 하나를 의미합니다: ","FAQ_21_P2":"1) ${1}web version${2}에서 YouTube/BitTorrent 소스로 지원되는 애드온을 사용하려고 합니다. 이 경우 ${3} 당사 웹 사이트 ${4}에서 데스크톱 버전을 설치해야 합니다.","FAQ_21_P3":"2) Stremio 설치에 문제가 있습니다. 이 경우 웹 사이트 ${2}에서 최신 데스크톱 버전을 다시 설치하십시오. 그래도 문제가 해결되지 않으면 안티바이러스 프로그램 및 방화벽을 비활성화하고 PC를 재시작한 후 다시 시도하십시오. 이 방법으로도 문제가 해결되지 않을 경우 ${3} 당사 Facebook group${4}로 문의해 주십시오","FAQ_22_H1":"iOS에서 대부분의 애드온을 표시/사용할 수 없습니다.","FAQ_22_P1":"Apple App Store 약관의 제약으로 인해 iOS 어플리케이션은 특정 애드온 세트로만 제한되었습니다.","FAQ_22_P2":"하지만 안심하세요.향후 iOS용 애드온이 더 늘어날 것입니다.또한 iOS 앱을 Stremio Streaming Server에 연결함으로써 모든 Stremio 애드온을 사용할 수 있는 통합을 추가할 수도 있습니다."}')},66109:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Филм","TYPE_series":"Серија","TYPE_tv":"TV канал","TYPE_channel":"YouTube канал","TYPE_other":"Останато","TYPE_movie_PL":"Филмови","TYPE_series_PL":"Серии","TYPE_tv_PL":"TV канали","TYPE_channel_PL":"YouTube канали","TYPE_other_PL":"Останато","TYPE_ALL":"Сите","TYPE":"Врста","CATALOG_com_linvo_cinemeta_top":"Популарни","CATALOG_com_linvo_cinemeta_imdbRating":"Избрани","CATALOG_com_linvo_cinemeta_year":"Нови","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Филмови од јавен домен","VIDEO":"Видео","BACK":"Назад","MORE":"Повеќе","DONE":"Готово","COPY":"Копирај","SUCCESS":"Успешно","ERROR":"Грешка","SETTINGS_CASTING_MODE_PICKER":"Режим на емитување","CASTING_MODE_HLSV2":"Стандардно","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Нема транскодирање","Discover":"Откријте","Board":"Табла","Library":"Kолекција","My Library":"Мојата колекција","Calendar":"Календар","NOTIFICATION_ONLINE":"Сега сте онлајн","NOTIFICATION_OFFLINE":"Моментално сте офлајн","INTERNET_CONNECTION":"Мрежна конекција","STORAGE_FULL_TITLE":"Предупредување: Складирањето е полно!","STORAGE_FULL_TEXT":"Stremio нема да може да ги зачува вашите поставки, префернции или информации за најавување. Размислете за рестартирање или повторно инсталирање на Stremio.","SEARCH":"бараj","SEARCH_NO_RESULTS":"Не беа пронајдени резултати","SEARCH_EXPLANATION_CONTENT":"Пребарајте филмови, серии, YouTube и ТВ канали","SEARCH_EXPLANATION_PEOPLE":"Барајте актери, режисери и писатели","SEARCH_PASTE_LINKS":"Залепете HTTP и Magnet врски","SEARCH_OR_PASTE_LINK":"Пребарајте или залепете врска","SEARCH_SUGGESTIONS":"Пребарајте предлози","ADD_TO_LIB":"Додај во колекција","REMOVE_FROM_LIB":"Отстрани од колекција","ADDED_TO_LIB":"Додадено во колекција","REMOVED_FROM_LIB":"Отстрането од колекцијата","TRAILER":"Треjлер","WATCH_TRAILER":"Треjлер","WATCH_NOW":"Гледај","SHOW":"Покажи","SHOW_MOVIE":"Прикажи филм","WATCH_RANDOM":"Гледај по случаен избор","IMDB_RATING":"IMDb рејтинг","YEAR":"Година","DIRECTOR":"Режија","WRITER":"Автор","LEAD_ACTORS":"Во Главните улоги","CAST":"Глумат/Емитувај","CREW":"Екипа","SHOW_MORE_CAST":"Прикажи повеќе »","AIRED":"емитувано","SEASONS":"Сезони","GENRE":"Жанр","GENRE_ALL":"Сите жанрови","CATALOG":"Каталог","SUMMARY":"Опис","SHOW_MORE":"Прикажи повеќе","SIMILAR":"Слични","UPCOMING":"Наскоро","TBA":"TBA","ENDED":"Прекинат","DURATION":"Времетраење","FEATURED":"Избрана","METADATA":"Метадата","CATEGORY":"категорија","LINKS_GENRES":"Жанрови","LINKS_CAST":"Улоги","LINKS_DIRECTORS":"Режисерите","SEARCH_VIDEOS":"пребарување видеа","SEARCH_PLACEHOLDER":"пребарување или залепете магнетна врска","ADDON":"додаток","ADDONS":"Додатоци","OFFICIAL":"официјални","ADDONS_OFFICIAL":"Официјални додатоци","ADDONS_POPULAR":"Популарни во регионот","ADDON_FREE":"бесплатно","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"subscription","ADDON_STREAM_GEORESTRICTED":"не е достапно во вашата област","ADDON_STREAM_OFFLINECACHE":"Офлајн кеш","ADDON_STREAM_LOCALFILE":"Локална датотека","SHARE_ADDON":"Споделете додаток","AVAILABLE_STREAMS":"Достапни извори","NO_STREAM":"Нема достапни извори","ALL_ADDONS":"Сите","INSTALL_MORE_ADDONS":"За повеќе преноси, инсталирајте повеќе додатоци","STREAM_NOT_SUPPORTED":"Избраниот пренос не е поддржан на оваа платформа.","ADDON_CATALOGUE":"Прикажи ги сите додатоци »","ADDON_CATALOGUE_MORE":"Повеќе додатоци »","REPO_ADDED":"Додадено е складиште","ADDON_REPO_EXIST_ERR":"Ова складиште за додатоци веќе постои","ADDON_REPO_ERR":"Се појави грешка при додавањето складиште","ADDON_ADD_ERR":"Настана грешка при додавањето додаток","ERR_ADDON_PROTECTED":"Заштитен додаток","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Нешто тргна наопаку - автентикацијата можеби не успеа","ERR_NOT_COLLECTION_URL":"Не е URL-адреса за колекција","ERR_NOT_ADDON_URL":"Не е URL-адреса за додаток","ERR_DETECTFROMURL":"Не може да се открие од URL-то","ADDON_DUPLICATE_WARNING":"Предупредување: дупликат додаток","ADDON_COLLECTION_SET_FAILED":"Сетот за собирање додатоци не успеа","SETTINGS_DATA_EXPORT":"Извезете податоци","ADDON_PULL_FAILED":"Повлекувањето на додатокот не успеа","REFRESH_ON_CLICK":"Кликнете за да се обидете повторно","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Филмот е сеуште во кината","WATCH_IN_CINEMA":"Гледајте го во вашето локално кино","IN_THEATER":"Во кино","GET_TICKETS":"Земете билети","UPCOMING_EPISODE":"Претстојна епизода","UPCOMING_EPISODE_MESSAGE":"Оваа епизода ќе се емитува на","MISSING_DATE_EPISODE":"Недостасува датумот на епизодата","MISSING_DATE_EPISODE_MESSAGE":"Оваа епизода можеби сè уште не е емитувана","CHANNEL_NOT_SCRAPED":"Сеуште немаме информации за овој канал.
    Вратете се по неколку минути.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Додадете го во колекцијата за да примите известување.","GET_NOTIFIED_WHEN_AVAILABLE":"Ќе примите известување кога ќе излезе.","WARNING_STREAMING_SERVER":"Предупредување: локалниот сервер за стриминг не е пронајден. Преносот од YouTube и BitTorrent нема да биде достапен.","WARNING_STREAMING_SERVER_DISMISS":"Отфрли","WARNING_STREAMING_SERVER_LATER":"Подоцна","DECODER_WARNING":"Предупредување: ова видео можеби не е поддржано од вашиот хардвер. Имајте на ум, репродукцијата може да биде бавна.","GENERIC_ERROR_MESSAGE":"Нешто тргна наопаку!","TRY_AGAIN":"Обиди се повторно","CLEAR_DATA":"Исчисти податоци","PLAYER_ERROR":"Упс, Грешка на плеерот","PLAYER_ERROR_LOOKSLIKE":"Изгледа како","PLAYER_ORIENTATION":"Ориентација на плеерот","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Заклучен","PLAYER_ORIENTATION_SENSOR_SHORT":"Сензор","PLAYER_ORIENTATION_LANDSCAPE":"Ориентацијата на плеерот е заклучена на пејзаж","PLAYER_ORIENTATION_SENSOR":"Автоматска ориентација на плеерот (сензор)","PLAYER_PLAYBACK_SPEED":"Брзина на репродукција","PLAYER_PLAYBACK_ERROR":"Грешка при репродукција, обидете се повторно","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Непозната грешка","PLAYER_PLAYBACK_ERROR_DEFAULT":"За жал, ова видео не може да се репродуцира од {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Јазици на преводи","PLAYER_SUBTITLES_VARIANTS":"Варијанти на преводи","PLAYER_SUBTITLES_SETTINGS":"Поставки за преводи","PLAYER_SUBTITLES_DISABLED":"Преводите се оневозможени","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Вертикална положба","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Вградените преводи се вчитани","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Вчитани се ексклузивни преводи","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Преводите од {{origin}} се вчитани","PLAYER_PLAY":"Пушти","PLAYER_PAUSE":"Пауза","PLAYER_NEXT_VIDEO":"Следно видео","PLAYER_MUTE":"Исклучи звук","PLAYER_UNMUTE":"Вклучи звук","PLAYER_OPEN_IN_EXTERNAL":"Отворете во надворешен плеер","PLAYER_OPEN_IN_NPLAYER":"Отворете во nPlayer","PLAYER_PLAY_IN":"Пушти во {{device}}","PLAYER_LIVE":"Во живо","PLAYER_NEXT_VIDEO_TITLE":"Доаѓа следно на","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Следно на","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Отфрли","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Гледајте сега","PLAYER_COPY_STREAM_SUCCESS":"Вашата врска за стримот е копирана","PLAYER_COPY_STREAM_ERROR":"Не успеа да се копира врската за стримот","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Врската за преземање е копирана на вашата таблата со исечоци","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Не успеа да се копира врската за преземање","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Стриминг од","CASTING_TO":"Репродукција на","NETWORK_STATUS":"Мрежа","STREAM_SPEED":"Брзина:","STREAM_BUFFERED":"Буфер:","PEERS_INFO":"Корисници","PEERS_ACTIVE":"Активни:","PEERS_CONNECTED":"Поврзани:","PEERS_WAITING":"Чекаат:","TRANSCODING_WARNING":"Предупредување: транскодирање на видеото.","STREAM_LOADING":"Се вчитува...","PLAYING_LOCAL":"репродукција од локална датотека","PLAYING_CACHE":"репродукција од кеш","WRONG_SUBS":"Грешни преводи?","ERR_SUBS_LOADING_TITLE":"Грешка при вчитување на преводи","ERR_SUBS_LOADING":"Неуспешно вчитување преводи: ова може да биде проблем со додатокот што го користите или со вашата мрежна врска","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Следниве додатоци за превод не се вчитаа","ERR_CASTING_UPDATE_TITLE":"Не може да се ажурираат информациите за уредот за емитување: серверот за пренос може да е офлајн","CHOOSE_DEVICE":"Изберете уред за гледање","NO_CAST_DEVICES":"Нема достапни уреди за емитување.","NO_SETTINGS":"Нема достапни поставки.","NO_OPTIONS":"No options available","PHONE_TABLET":"Телефон / таблет","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Преводи","SUBTITLES_CHANGE":"Смени превод на","SUBTITLES_CHANGE_NONE":"Нема други преводи за тој јазик.","SUBTITLES_CHANGE_ACIVE":"Во моментов преводи #{{subtitlesDialog.activeIdx + 1}} се активирани. Кликнете \\"Продолжи\\" за да ги активирате преводите #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Алтернативно,","SUBTITLES_ADJUST_DELAY":"Приспособете го доцнењето на титловите:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Или користете ги копчињата G / H додека репродуцирате за да се приспособите.","SUBTITLES_ADJUST_DELAY_TIP":"СОВЕТ: можете да ги користите копчињата G / H додека репродуцирате за прилагодување.","SUBTITLES_DELAY":"Одложување на преводи:","SUBTITLES_LOADING":"Се вчитуваат преводи...","SUBTITLES_UNAVAILABLE":"Нема достапни надворешни преводи","SUBTITLES_DISABLED":"Оневозможено","EXTERNAL_PLAYER_DISABLED":"Оневозможено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Дозволи избор","EXTERNAL_PLAYER_HINT":"Совет: Има поставка што дозволува секогаш отворање со надворешен плеер","DONT_SHOW_AGAIN":"Не прикажувај повторно","SERVICE_INSTALL":"Инсталирајте","AUDIO":"Аудио","DEFAULT_LANGUAGE":"Стандарден јазик","DEFAULT_SECONDARY_LANGUAGE":"Стандарден секундарен јазик","SEASON":"Сезона","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Епизода","EPISODE_ABBREVIATION":"ЕП","SPECIAL":"Специјални","SORT":"подреди","SORT_BY":"Сортирај по","FILTER":"филтер","SORT_TRENDING":"популарни","SORT_RECENT":"последни","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"рејтинг","SORT_WATCHED":"видени","SORT_YEAR":"година","SELECT":"Select","SELECT_TYPE":"Изберете тип","SELECT_SORT":"Изберете подредување","SELECT_CATALOG":"Изберете каталог","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Изберете жанр","SORT_LASTWATCHED":"По последно гледано","SORT_NAME":"По име","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"По гледани пати","SORT_NOTWATCHED":"не гледано","New for You":"Ново за вас","New Episodes":"Нови епизоди","New Videos":"Нови видеа","Recommendations":"Препораки","LIBRARY_RESUME":"продолжи","LIBRARY_PLAY":"Пушти","LIBRARY_DETAILS":"Детали","LIBRARY_RESUME_DISMISS":"отфрли","LIBRARY_CLEAR_PROGRESS":"Исчисти напредок","LIBRARY_REMOVE":"Отстрани","LIBRARY_NOT_LOGGED_IN":"Колекцијата е достапна само за најавените корисници","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Календарот е достапен само за најавените корисници","NOT_LOGGED_IN_CLOUD":"Пристапете до вашите омилени филмови и ТВ серии во секое време и каде било","NOT_LOGGED_IN_RECOMMENDATIONS":"Препораки прилагодени на вашата историја на гледање","NOT_LOGGED_IN_NOTIFICATIONS":"Никогаш повеќе не пропуштајте епизода","NOT_LOGGED_IN_CALENDAR":"Закажете го вашиот личен календар за гледање","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Избрани","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Добитници на Оскар","DISCOVER_WARNING_TITLE":"Упс!","DISCOVER_EMPTY_CATALOG":"Овој додаток врати празна содржина.","DISCOVER_ADULT_WARNING":"Содржината е видлива само за возрасни. Дали си 18+?","DISCOVER_NOADDON_WARNING":"Внимание: нема активен Stremio addon за овој тип содржина. Овде гледате зачувана информациjа, таа нема да се обновува.","DISCOVER_LOAD_ERR":"Содржината не се вчита, се појави грешка.","DISCOVER_ADDON_UNINSTALLED":"Оваа содржина повеќе не е достапна, можеби сте го деинсталирале додатокот.","UNINSTALL_THIS_ADDON":"Деинсталирајте го овој додаток","ERR_ADDON_NOT_INSTALLED":"Овој додаток не е инсталиран. Инсталирате сега?","DETAIL_RECEIVE_NOTIF_SERIES":"Добивајте известувања за нови епизоди","DETAIL_RECEIVE_NOTIF_VIDEOS":"Добивајте известувања за нови видеа","SIDEBAR_SHOW_STREAMS":"Прикажи стримови","RELAUNCH":"Лансирај ја новата верзија!","UPGRADE":"Достапна е нова верзија","RELOAD_UI":"Повторно вчитајте го корисничкиот интерфејс","MANUAL_UPDATE_TITLE":"Ажурирајте ја вашата верзија на Stremio","MANUAL_UPDATE_LINE1":"Користите застарена верзија на Stremio која е крајно непрепорачлива.","MANUAL_UPDATE_LINE2":"Ве молиме ажурирајте што е можно поскоро.","BUTTON_UPDATE_LATTER":"Не сега","BUTTON_UPDATE_NOW":"Ажурирање","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Анонимен корисник","DONT_HAVE_ACC":"Немате сметка?","HAVE_ACC":"Веќе имате профил?","PASSWORD":"Лозинка","PASSWORD_CONFIRM":"Потврди ја лозинката","EMAIL":"Е-пошта","FB_LOGIN":"Најави се со Фејсбук","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Ништо не се споделува без ваша дозвола","FB_NOPOST":"Нема да објавиме ништо во ваше име","OR":"или","I_ACCEPT":"Ги прочитав и ги прифаќам","I_ACCEPT_BY_CLICKING":"Со кликнување на горното копче сведочам дека го прифаќам ","TOS":"Општите услови","MUST_ACCEPT_TERMS":"Мора да ги прифатите условите","PASSWORDS_NOMATCH":"Лозинките не се совпаѓаат","SIGN_UP":"Регистрирај се","SIGN_UP_EMAIL":"Пријавете се со е-пошта","CLICK_TO_SIGN_UP":"Кликнете овде за да се регистрирате.","LOG_IN":"Влез","LOG_OUT":"Излез","EXIT_FULLSCREEN":"Излезете од режимот на цел екран","ENTER_FULLSCREEN":"Влезете во режим на цел екран","PLAY_URL_MAGNET_LINK":"Пушти со URL/магнет врска","HELP_FEEDBACK":"Помош и повратни информации","TERMS_OF_SERVICE":"Условите за користење","PRIVACY_POLICY":"Политика за приватност","ABOUT_STREMIO":"За Stremio","USER_PANEL":"Кориснички панел","LOGIN_LABEL":"Логирај се","GUEST_LOGIN":"Најава за гости","GUEST_LOGIN_NOTICE":"Не се препорачува најавување како гостин. Користењето на нормално најавување му овозможува на Stremio да ја синхронизира вашата колекција, да прима известувања за омилените серии/канали. Дали сте сигурни дека сакате да продолжите?","GUEST_LOGIN_NOTICE_2":"Најавата за гостин не се препорачува - нема да имате синхронизирани известувања за колекција и табла, кои се витални функции на Stremio. Дали сте сигурни дека сакате да продолжите?","CLICK_HERE":"кликнете овде","WRONG_PASSWORD":"Погрешна е-пошта или лозинка. Во случај да сте ја заборавиле лозинката,","SET_A_PASS":"ставете ваша лозинка","RESET_PASSWORD":"Ресетирање на лозинка","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Ја заборави лозинката?","EMAIL_USED_WITH_FB":"Оваа е-маил адреса е употребувана во Фејсбук најава.","INVALID_EMAIL":"Ве молиме внесете валидна е-маил адреса","INVALID_PASSWORD":"Ве молиме внесете валидна лозинка","CONN_ERR":"Грешка во врската - обидете се повторно подоцна.\\n\\nАко ова продолжи, оневозможете firewalls/антивирусен софтвер (особено Bitdefender).","IMPORT_FROM_GUEST":"Увезете колекција од вашата гостинска сметка","RECEIVE_UPDATES_EMAIL":"Добивајте ажурирања на вашата е-пошта од Stremio","LOGIN_FAILED":"Најавата не успеа.","SIGNUP_FAILED":"Регистрацијата не успеа.","SEARCH_FAILED":"Пребарувањето не успеа","EMAIL_USED":"Оваа е-маил адреса веќе се користи.","WAITING_FB_LOGIN":"Најавување со Фејсбук...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Играјте во надворешен плеер","EXTERNAL_REMEMBER_PLAYER":"Дали сакате да го запомниме вашиот избор","EXTERNAL_ALWAYS_PLAY":"Да","EXTERNAL_ONLY_ONCE":"Не","BEST_FIT":"Најдобро одговара","FIT_SCREEN":"Одговара на екранот","FILL":"Пополнете","16:9":"16:9","4:3":"4:3","Original":"Оригинален","INTRO_TASTE":"Кажете ни што ви се допаѓа","INTRO_TASTE_LONG":"Кажете ни што би сакале да гледате","INTRO_TASTE_PICK":"Изберете {{interestsRemaining}} интереси","INTRO_TASTE_PICK_MORE":"Изберете {{interestsRemaining}} повеќе интереси","INTRO_TASTE_HELP_US":"Помогнете ни да дознаеме повеќе за вас.","INTRO_TASTE_CHOOSE_THESE":"Изберете некои од овие:","INTRO_TASTE_CHOOSE_MIN":"Изберете најмалку 3 категории","INTRO_TASTE_CHOOSE_MIN_ERR":"Треба да изберете најмалку 3 категории!","INTRO_TASTE_LIFESTYLE":"Начин на живот","INTRO_TASTE_SPORTS":"Спорт","INTRO_TASTE_FOOD_HEALTH":"Храна и здравје","INTRO_TASTE_BEAUTY_FASHION":"Убавина и мода","INTRO_TASTE_NEWS":"Вести","INTRO_TASTE_GAMING":"Гејминг","INTRO_TASTE_SCIENCE_EDU":"Наука и образование","INTRO_TASTE_MUSIC":"Музика","INTRO_TASTE_TRAVEL":"Патувања","INTRO_TASTE_LATE_NIGHT":"Доцна ноќна емисија","INTRO_TASTE_REALITY":"Реалност","INTRO_TASTE_COMEDY":"Комедија","INTRO_TASTE_DIY":"Како да направите сам","INTRO_TASTE_TECH":"Технологија","INTRO_TASTE_CINEMA":"Кино","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Избраниот додаток не е поддржан на оваа платформа.","ADDON_DISCLAIMER":"Употребата на додатоци од трети лица е на ваша одговорност.","ADDON_ACTIVATE":"Активирај овој додаток?","ADDON_REPO_ADD":"URL-адреса од додатоците","ADDON_ADD":"Додадете","INSTALL_ADDON":"Инсталирајте додаток","ADD_ADDON":"Додадете додаток","ADD_ADDON_DESCRIPTION":"Можете да додадете додаток преку надворешна врска, која ќе се појави под Инсталирани додатоци.","PASTE_ADDON_URL":"Залепете URL-адреса за додаток","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Што е ново?","BUTTON_CONTINUE":"Продолжи","BUTTON_ACTIVATE":"Активирај","BUTTON_ACTIVATED":"Активиран","BUTTON_CANCEL":"Откажи","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Поднесете","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Отфрли ги сите","BUTTON_VIEW_ALL":"види се","BUTTON_SEE_ALL":"види се","BUTTON_COLOR_TRANSPARENT":"Транспарентен","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Отвори во прелистувачот","LIB_EMPTY":"Колекцијата ви е празна. Откријте колку е корисна :)","HOW_START":"Започнете така:","LIB_EMPTY_CAL":"Календарот покажува епизоди од сериите во вашата колекција.","HOW_START_CAL":"Еве како да додадете серии:","LIB_EMPTY_BOARD":"Тука ќе видите известувања и препораки свързани со вашата колекцијата.","HOW_START_BOARD_WAIT":"Ве молиме додадете неколку серии / канали во вашата Колекција и дајте ни неколку минути за обработка :)","HOW_START_BOARD":"Еве како да додадете филмови и серии во колекцијата:","IMPORT_FB":"Додавање од Facebook ","IMPORT_TRAKT":"Увезете ја вашата медиумска колекција од Trakt","IMPORT_DISCOVER":"Најди интересни работи во Откријте","IMPORT_DISK":"Скенирајте за филмови и серии од вашиот локален диск","PLEASE_CREATE_ACC":"Ве молиме направете сметка за да овозможите синхронизација на колекцијата &.","IMPORT_DISCOVER_SIGNUP":"Регистрирај се и најди интересни работи во Откријте","IMPORT_DISK_SIGNUP":"Регистрирај се и вметни филмови и серии од вашиот локален диск","LIB_EMPTY_CLOUD":"Cloud колекција","LIB_EMPTY_CLOUD_DESC":"Лична колекција на Cloud синхронизирана на сите уреди","LIB_EMPTY_EARLY":"Рана птица","LIB_EMPTY_EARLY_DESC":"Добивајте известувања за нови епизоди","LIB_EMPTY_PERSONAL":"Лично","LIB_EMPTY_PERSONAL_DESC":"Добијте лични препораки","LIB_EMPTY_CALENDAR_DESC":"Закажете го вашиот личен календар за гледање","LIB_EMPTY_ALL":"Регистрирајте се за да ги добиете сите овие:","LIB_EMPTY_BEST":"Регистрирајте се за да го добиете најдоброто од Stremio","LIB_EMPTY_OTHER":"Регистрирајте се за да овозможите Календар и други интересни функции","CALENDAR_ADDED":"Календарот Stremio е додаден во вашиот стандарден десктоп календар.","CALENDAR_ADDED_MSG":"Ако ова не функционира, додајте ја оваа URL адреса на вашата апликација за календар рачно","TRAKT_EXPIRED":"Автентикацијата на Trakt истече, ве молиме одете во Поставки и повторно проверете","TRAKT_REQUIRES_LOGIN":"Грешка во Тракт","TRAKT_REQUIRES_LOGIN_MSG":"Треба да се најавите","TRAKT_IMPORT_WATCHED":"Увоз","THEME":"Тема","THEME_DEFAULT":"Стандардно","THEME_ADAPTIVE":"Адаптивни","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Поставки","SETTINGS_NAV_GENERAL":"Општо","SETTINGS_NAV_PLAYER":"Плеер","SETTINGS_NAV_STREAMING":"Стриминг","SETTINGS_NAV_SHORTCUTS":"Кратенки","SETTINGS_SHORTCUT_RELOAD_APP":"Повторно вчитај ја апликацијата","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Отворете Поставки","SETTINGS_SHORTCUT_SWITCH_TABS":"Префрли Картички","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Сврти низ Картички нанапред","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Сврти низ Картички наназад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Одете помеѓу менијата","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Одете во Пребарување","SETTINGS_SHORTCUT_EXIT_BACK":"Излезете / Вратете се назад","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Вклучи мени за брзина на репродукција","SETTINGS_SHORTCUT_MENU_VIDEOS":"Вклучи мени за видеа","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Вклучи мени за преводи","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Вклучи мени за информации","SETTINGS_SHORTCUT_FULLSCREEN":"Вклучување цел екран","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Прикажи контроли","SETTINGS_SHORTCUT_PLAY_PAUSE":"Пушти / Пауза","SETTINGS_SHORTCUT_VOLUME_UP":"Зголемете ја јачината на звукот","SETTINGS_SHORTCUT_VOLUME_DOWN":"Намалување на јачината на звукот","SETTINGS_SHORTCUT_SEEK_NEXT":"Барај следно","SETTINGS_SHORTCUT_SEEK_PREV":"Барај претходно","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Барај назад","SETTINGS_SHORTCUT_SEEK_FORWARD":"Барај напред","SETTINGS_SHORTCUT_PLAY_NEXT":"Пушти следно","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Зголеми големина на превод","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Намали големина на превод","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Зголеми доцнење на превод","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Намали доцнење на превод","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Вклучи странична лента","SETTINGS_SHORTCUT_OR":"или","SETTINGS_SHORTCUT_TO":"до","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Провери автентичност","SETTINGS_FACEBOOK_IMPORT":"Увоз","SETTINGS_CALENDAR_SUBSCRIBE":"Претплатете се","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Апликацијата Календар беше отворена. Ве молиме рачно да се претплатите на календарот.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Датотеката со календарот е преземена. Увезете го во вашата апликација за календар.","SETTINGS_INTERFACE_LANGUAGE":"Јазик на интерфејс","SETTINGS_LAUNCH_STARTUP":"Вклучи при стартување","SETTINGS_VLC_DEFAULT":"Пушти со VLC","SETTINGS_UI_LANGUAGE":"Јазик на UI","SETTINGS_UI_ZOOM":"Зумирање на интерфејсот","SETTINGS_FULLSCREEN_EXIT":"Escape key за излез од цел екран","SETTINGS_GAMEPAD":"Овозможете поддршка за gamepad","SETTINGS_CLOSE_WINDOW":"Затворете ја апликацијата кога прозорецот е затворен","SETTINGS_SUBTITLES_LANGUAGE":"Стандарден јазик на превод","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Стандардна големина на превод","SETTINGS_SUBTITLES_BACKGROUND":"Позадина на превод","SETTINGS_SUBTITLES_COLOR":"Боја на превод","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Боја на рамка за превод","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Боја на позадина за превод","SETTINGS_SEEK_KEY":"Копчињата со стрелки бараат време","SETTINGS_SEEK_KEY_SHIFT":"Копчињата со стрелки бараат време кога го држите копчето Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Времетраење на брзо премотување назад и напред","SETTINGS_BINGE":"Автоматско пуштање на следната епизода","SETTINGS_NEXT_VIDEO":"Прикажи известување за да започне следната епизода","SETTINGS_NEXT_VIDEO_TRIGGER":"Прикажи известување за следната епизода за:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Времетраењето на скокачкиот прозорец за следното видео","SETTINGS_PLAY_IN_BACKGROUND":"Пушти во позадина","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Пушти во надворешен плеер","SETTINGS_RESIZE":"Автоматско менување на големината на прозорецот пред пуштање","SETTINGS_OVERRIDE_SERVER":"Префрли URL-адреса на серверот за стриминг (напредно)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"URL на серверот за стриминг: ","SETTINGS_SERVER_AVAILABLE":"Достапен е серверот за стриминг.","SETTINGS_SERVER_UNAVAILABLE":"Серверот за стриминг не е достапен.","SETTINGS_SERVER_STATUS_ONLINE":"Онлајн","SETTINGS_SERVER_STATUS_ERROR":"Грешка","SETTINGS_SERVER_CONFIGURE_TITLE":"Конфигурирај URL-адреса на серверот за стриминг","SETTINGS_SERVER_CONFIGURE_INPUT":"Внеси URL-адреса на серверот за стриминг","SETTINGS_SERVER_CACHE_SIZE":"Големина на кешот","SETTINGS_SERVER_TORRENT_PROFILE":"Торент профил","SETTINGS_HTTPS_ENDPOINT":"Стриминг HTTPS крајна точка: ","SETTINGS_TRANSCODE_PROFILE":"Профил на транскод","SETTINGS_USE_BETA":"Секогаш користете ја најновата бета верзија","SETTINGS_IMPORT_FB":"Увези од Фејсбук","SETTINGS_IMPORT_DISK":"Увези од локалниот диск","SETTINGS_IMPORT_TRAKT":"Увези од Тракт","SETTINGS_PAUSE_MINIMIZED":"Паузирај ја репродукцијата кога е минимизирана","SETTINGS_HWDEC":"Хардверски забрзано декодирање","SETTINGS_BACKGROUND":"Репродукција во позадина","SETTINGS_SUBSCRIBE_CALENDAR":"Претплати се на календарот","SETTINGS_REQ_EXPORT":"Побарај извоз на податоци","SETTINGS_ACC_DELETE":"Побарај бришење на сметка","SETTINGS_CHANGE_PASSWORD":"Промена на лозинка","SETTINGS_TOS":"Услови на употреба","SETTINGS_SUPPORT":"Поддршка","SETTING_LANGUAGE":"Јазик","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Скробирање","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Одјави се од Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Одјави се од Trakt","SETTINGS_SCAN_FOR_REMOTE":"Скенирај QR-код да го отвориш далечинскиот управувач","SETTINGS_DESKTOP_NOTIFICATIONS":"Декстоп известувања","SETTINGS_DATA_SAVER":"Заштеди податоци","SETTINGS_LANGUAGE_INTERFACE":"интерфејс","SETTINGS_LANGUAGE_SUBS":"стандарден превод","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Автоматско избирање на аудио трака","SETTINGS_DEFAULT_AUDIO_TRACK":"Стандардна аудио трака","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Простран звук","SETTINGS_ACCOUNT":"сметка","SETTINGS_PLATFORM":"Платформа","SETTINGS_VERSION":"верзија","SETTINGS_ABOUT":"За нас","SETTINGS_MPV_WINDOW":"Стартувајте плеер во посебен прозорец (напредно)","SETTINGS_PLAY_IN_EXTERNAL":"Секогаш пуштај го видеото со надворешен плеер","SETTINGS_STORAGE_BUTTON":"Исчистете ја локалната меморија","SETTINGS_STORAGE_MODAL_TITLE":"Дали си сигурен ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ова ќе го исчисти локалното складирање и ќе ве одјави.","SETTINGS_HWDEC_PICKER":"Изберете поставка за декодирање забрзано со хардвер","SETTINGS_HW_AUTOMATIC":"Автоматски","SETTINGS_HW_DISABLED":"Оневозможено","SETTINGS_HW_ACCELERATED":"Забрзување на декодирање","SETTINGS_HW_FULL":"Целосно забрзување","SETTINGS_HW_LEGACY":"Наследство","SETTINGS_DISABLED":"Оневозможено","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Известување за мрежна врска","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL на далечина","SETTINGS_COPY_REMOTE_URL":"Копирај далечински URL","SETTINGS_REMOTE_URL_COPIED":"URL од далечина е копирана на вашата таблата со исечоци","SETTINGS_SECTION_SUBTITLES":"Преводи","SETTINGS_SECTION_AUDIO":"Аудио","SETTINGS_SECTION_CONTROLS":"Контроли","SETTINGS_SECTION_AUTO_PLAY":"Автоматско-Пуштање","SETTINGS_SECTION_ADVANCED":"Напредно","SUBSPICKER_AUDIO":"Аудио","SUBSPICKER_SUBTITLES":"Додатоци за Преводи","SUBSPICKER_BLACK_BACKGROUND":"Користете црна боја на позадина","SUBSPICKER_VERTICAL_OFFSET":"Вертикално поместување","SUBSPICKER_SIZE":"Големина","SUBSPICKER_DELAY":"Одложување","SUBSPICKER_EMBEDDED_SUBS":"Вградени преводи","MOBILE_PRIVACY_POLICY":"Политика за приватност","MOBILE_CRASH_REPORTING":"Пријавување на краш","MOBILE_ZOOM_TO_FILL":"Зумирајте за да го пополните екранот","MOBILE_PASSTHROUGH":"Дигитален аудио излез (премин)","MOBILE_RUN_LOW_BATTERY":"Работи на ниска батерија","MOBILE_RUN_FOREGROUND":"Стартувај како услуга во преден план","MOBILE_PERFORMANCE":"ПЕРФОРМАНСИ И СТАБИЛНОСТ","MOBILE_SERVER_ONLINE":"Онлајн","MOBILE_SERVER_OFFLINE":"Офлајн","MOBILE_QR_EXPIRES":"QR-кодот истекува за ","MOBILE_LOG_INTO":"Најавете се на вашата сметка на Stremio ","MOBILE_SCAN_QR":"Скенирајте го QR-кодот погоре или одете на ","MOBILE_LINK_ACCOUNT":"Поврзете ја сметката","MOBILE_SPEEDPICKER_CANCEL":"Откажи","MOBILE_SPEEDPICKER_LABEL":"Изберете брзина на репродукција","MOBILE_EMPTY_LIBRARY":"Вашата колекција е празна","MOBILE_NO_ADDON_ACTIVE":"Нема активен додаток Stremio за овој тип.","MOBILE_ORGANIZER_WARNING":"Апликацијата Stremio Organizer обезбедува ограничена функционалност. За цел список на стримови што може да се репродуцираат и целосното Stremio искуство, користете Stremio на работната површина.","MOBILE_ADDON_LOADING":"сè уште се вчитува","MOBILE_ADDONS_LOADING":"додатоците сè уште се вчитуваат","MOBILE_ADDON":"Додаток","MOBILE_CONFIGURE_ADDON":"Конфигурирајте го вашиот додаток","MOBILE_CONFIGURE_ADDON_LABEL":"Конфигурирајте го додатокот","MOBILE_ORGANIZER_ADDONS_WARNING":"Апликацијата Stremio Organizer обезбедува ограничен избор на додатоци. За целосно искуство со Stremio, користете го Stremio за десктоп","MOBILE_DISCONNECT":"Исклучете се","MOBILE_LOOKING_FOR_DEVICES":"Во потрага по уреди...","MOBILE_CAST_TO":"Емитувај на","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Избриши сметка","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Бришењето на сметката не веднаш поради законски обврски. Откако ќе побарате бришење на вашата сметка, ќе мора да користите различна адреса за е-пошта/Фејсбук профил за да креирате нова сметка на Stremio во иднина.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Потврдете го бришењето на сметката","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Вашата сметка е креирана преку Facebook. За да ја избришете вашата сметка, ве молиме користете го нашиот кориснички портал на www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Ве молиме внесете ја вашата лозинка за да го потврдите бришењето на сметката.","MOBILE_DELETE_ACCOUNT_BUTTON":"Избриши сметкаe Account","NAVIGATION_ON":"Вклучено","NAVIGATION_OFF":"Исклучено","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Се согласувам да добивам маркетинг комуникации од Stremio","QUIT":"Откажете се","CONNECTED":"Поврзан","AUTHENTICATE":"Овластување","AUTHENTICATING":"Authenticating...","CACHING":"Кешира","SETTINGS_CACHING_DRIVE":"Изберете диск за кеш","ENABLE_LOCAL_FILES_ADDON":"Овозможете го додатокот за локални датотеки (потребно е рестартирање)","LOCAL_ADDON_NOT_ENABLED":"Локалниот додаток не е овозможен. Кликнете овде за да отидете до поставките и да го овозможите","ENABLE_REMOTE_HTTPS_CONN":"Овозможете далечински HTTPS врски","TORRENT_PROFILE":"Торент профил","DATA_CACHING":"Кеширање на податоци","MAGNET_PARSING":"Парсирање на магнетна врска","January":"Jануари","February":"Февруари","March":"Март","April":"Април","May":"Мај","June":"Јуни","July":"Јули","August":"Август","September":"Септември","October":"Октомври","November":"Ноември","December":"Декември","Monday":"Понеделник","Tuesday":"Вторник","Wednesday":"Среда","Thursday":"Четврток","Friday":"Петок","Saturday":"Сабота","Sunday":"Недела","Action":"Акција","Comedy":"Комедија","War":"Воени","Family":"Семејни","Animation":"Анимација","Adventure":"Авантура","Fantasy":"Фантазија","Crime":"Криминал","Mystery":"Мистерија","Romance":"Романса","Drama":"Драма","Horror":"Хорор","Thriller":"Трилер","Sci-Fi":"Научна фантастика","Music":"Музика","Biography":"Биографија","Documentary":"Документарец","Sport":"Спорт","Musical":"Музички","Western":"Западен","Film-Noir":"Филм-Ноар","News":"Вести","History":"Историја","Game-Show":"Гејм-Шоу","Reality-TV":"Реалити-ТВ","Talk-Show":"Ток-шоу","Film & Entertainment":"Филм и забава","Gaming":"Гејминг","From TV":"Од ТВ","Lifestyle":"Начин на живот","Science & Education":"Наука и образование","Cooking & Health":"Готвење и здравје","Beauty & Fashion":"Убавина и мода","Sports":"Спортови","News & Politics":"Вести и политика","How-to & DIY":"Како да и направи сам","Tech":"Технологија","Automotive":"Автомобилство","Causes & Non-Profits":"Причини и непрофит","Movies":"Филмови","Uk Live Tv":"ВБ ТВ во живо","Fashion":"Мода","Business News Radio":"Бизнис вести радио","Business Tv":"Бизнис ТВ","Cars & Auto":"Автомобили","Comedy Radio":"Комедија радио","Lifestyle Radio":"Радио за животниот стил","News Tv":"Вести ТВ","Food And Wine":"Храна и вино","Latino Tv":"Латино ТВ","Shopping Tv":"Шопинг ТВ","Religion":"Религија","Kids":"Деца","Body & Soul":"Тело и душа","Education":"Образование","Indian Tv":"Индиска телевизија","Extreme Sports":"Екстремни спортови","Middle Eastern Tv":"Блискоисточна телевизија","Celebrity Tv":"Познати личности ТВ","Science Tv":"Наука ТВ","Bikini babe":"Бикини девојки","Outdoors":"Аутдорс","German Tv":"Германска ТВ","French Tv":"Француска ТВ","Italian Tv":"Италијанска ТВ","Gamer Tv":"Гејмерска ТВ","Travel":"Патувања","Asian Tv":"Азиска ТВ","Entertainment":"Забава","News Radio":"Радио вести","Music Radio":"Музичко радио","Language Learning":"Учење јазик","Science Radio":"Научно радио","Tech Radio":"Технолошко радио","Science & Technology Vod":"Наука и технологија Vod","new video":"ново видео","new episode":"нова епизода","new movie":"нов филм","recommended":"препорачано","we recommend":"ние препорачуваме","offer of the day":"предлог на денот","news":"новости","music video":"музичко видео","CTX_SHOW_HOTKEYS":"Прикажи жешки копчиња","CTX_DISMISS_NOTIF":"Отфрли ги известувањата","CTX_DISMISS_ALL":"Отфрли ги сите","CTX_SHARE":"Сподели","CTX_COPY_SHARE_LINK":"Копирај ја врската за споделување","CTX_COPY_MAGNET_LINK":"Копирај магнет линк","CTX_COPY_STREAM_LINK":"Копирај ја врската за пренос","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Копирај ја врската за преземање видео","CTX_DOWNLOAD_VIDEO":"Преземете го ова видео","CTX_DOWNLOAD_SUBS":"Преземете преводи","CTX_VIEW_ON_YOUTUBE":"Погледнете на YouTube","CTX_SHOW":"Прикажи","CTX_PLAY":"Пушти","CTX_PLAY_IN":"Пушти во","CTX_PLAY_ON":"Пушти на","CTX_WATCH_ON":"Гледај на","CTX_WATCH":"Гледај","CTX_WATCHED":"Гледано","CTX_WATCH_BEGINNING":"Гледајте од почеток","CTX_WATCH_MOBILE":"Гледајте на мобилен уред","CTX_REWIND":"Премотајте назад кон почеток","CTX_MARK_WATCHED":"Означи како гледано","CTX_MARK_NON_WATCHED":"Означи како негледано","CTX_MARK_UNWATCHED":"Означи како невидено","CTX_MARK_REST":"Означи останато како гледано","CTX_UNMARK_REST":"Означи останато како негледано","CTX_RECEIVE_NEW_NOTIF":"Примајте нови известувања","CTX_ENABLE_NEW_NOTIF":"Овозможи известувања","CTX_DISABLE_NEW_NOTIF":"Оневозможи известувања","CTX_REMOVE_CACHE":"Отстрани од кешот","CTX_REMOVE_CACHE_EP":"Отстранете ја епизодата од кешот","CTX_OPEN_CONTAINING":"Отворете ја папката што содржи","CTX_REMOVE":"Отстрани од колекција","CTX_AVAILABLE_OFFLINE":"Достапно офлајн","CTX_PAUSED":"Паузирано","CTX_ALWAYS_ON_TOP":"Секогаш на врвот","CTX_FULLSCREEN":"Цел екран","CTX_WRONG_SUBS":"Погрешен превод?","CTX_REPORT_ISSUES":"Пријави проблем","CTX_COPY":"Копирај","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Залепи","CTX_CLEAR":"Исчисти","CTX_CLEAR_RECENT_SEARCHES":"Исчисти ги неодамнешните пребарувања","HELLO_THERE":"Здраво","HOPE_YOU_ENJOY":"Се надеваме дека уживате во Stremio и веќе е една од вашите омилени апликации!","WHO_ARE_WE":"Кои сме ние? Ние сме тимот зад него - двајца момци кои работат напорно секој ден во последните 3 години, со една единствена цел - да го направат овој производ подобар и подобар.","SUPPORT_US":"Ако уживате во користењето на Stremio, ако Stremio е вредно за вас - поддржете нè!","SPREAD_THE_WORD":"Споделете со вашите пријатели сега, раширете ги информациите за Stremio","MORE_PEOPLE":"Колку повеќе луѓе користат Stremio, толку подобро ќе биде!","SEND_A_LINK":"Или испратете линк до нашата веб-страница","TIP_LOCALFILES":"Совет: можете да влечете и испуштате локални видео датотеки во Stremio","ADDON_MY":"Мои додатоци","ADDON_COMMUNITY":"Додатоци на заедницата","ADDON_OFFICIAL":"Официјални додатоци","ADDON_REPOS":"Складишта за додатоци","ADDON_SEARCH":"Пребарајте додатоци","ADDON_INSTALL":"Инсталирај","ADDON_CONFIGURE":"Конфигурирај","ADDON_UNINSTALL":"Деинсталирај","ADDON_UPGRADE":"Надградба","ADDON_INSTALLED":"Инсталиран","ADDON_INSTALLED_MSG":"Додаток е инсталиран!","ADDON_UPGRADED_MSG":"Додатокот е надграден!","ADDON_UNKNOWN":"Непознат","ADDON_ERR":"Грешка во инсталирањето на додатокот!","ADDON_DISCONNECTED":"Исклучено","ADDON_APP_MISSING":"апликацијата за овој извор не е инсталирана. Дали сакате да го инсталирате сега?","ADDON_APP_INSTALL":"Инсталирај сега","ADDON_PAGE":"Страница за додатоци","ADDON_TOP_CONTENT":"Најдобро од овој додаток","ADDON_PROVIDES":"обезбедува","ADDON_WATCH":"Гледај #{types} сега!","ADDON_WATCH_FREE":"Гледај #{types} БЕСПЛАТНО сега!","ADDON_ADDON":"Додаток","ADDON_SUPPORTED_TYPES":"Поддржани типови","ADDON_SUPPORTED_CATALOGS":"Поддржани каталози","ADDON_PROVIDES_DISCOVER":"Повеќе #{types} во Откријте","ADDON_PROVIDES_STREAMS":"Гледај #{types}","ADDON_PROVIDES_STREAMS_FREE":"Гледај #{types} БЕСПЛАТНО","ADDON_PROVIDES_SUBTITLES":"Преводи за #{types}","ADDON_CANTDETECT":"Не можевме да откриеме дали Stremio работи, така што не можевме да откриеме какви додатоци сте инсталирале.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Не се најдени информации за ова ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Грешка при преземањето информации за ова.","ERR_CANT_PARSE_MAGNET":"Не може да се анализира магнетот","ERR_NO_MAGNET_INFOHASH":"Нема валиден хаш за информации за магнет","ERR_NO_FILE_PATH":"Не може да се испрати барање без патека до датотеката","ERR_NO_TORRENT":"Нема одговор од торентот","ERR_NO_SUPPORTERD_FILES":"Не се пронајдени поддржани датотеки","ERR_OPENING_FILES":"Не може да се отворат надворешни датотеки","ERR_INVALID_LINK":"Неважечка врска","ERR_REGISTERED_ONLY":"Оваа опција е достапна само за регистрирани корисници.","ERR_CLIPBOARD":"Не може да се пушти од копираното","ERR_CLIPBOARD_READ":"Не можам да го прочитам копираното на оваа платформа","ERR_CLIPBOARD_GENERIC":"Не е пронајдена URL-адреса за пуштање со копирано. Ве молиме копирајте URL-адреса (на пр. врска со магнет) на видео.","BOARD_CONTINUE_WATCHING":"Продолжи со гледање","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Филмови избрани специјално за вас.
    Овој филм е примерок од препорака.","BOARD_EXPLANATION_EPISODES":"Новите епизоди од вашите омилени серии доаѓаат овде.
    Додајте серии што ги следите во вашата колекција.","BOARD_EXPLANATION_VIDEOS":"Новите епизоди од вашите омилени канали доаѓаат овде.
    Додајте ги каналите на YouTube што ги следите во вашата колекција.","WEBSITE_ENJOYED_BY":"Уживаат повеќе од 30 милиони корисници ширум светот","WEBSITE_STREAMING_ENHANCED":"Подобрен Стриминг","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio нуди безбедно, модерно и беспрекорно забавно искуство. Со неговиот лесен за користење интерфејс и разновидна колекција со содржини, вклучувајќи поддршка за 4K HDR, корисниците можат да уживаат во своите омилени филмови и ТВ серии на сите нивни уреди. И со својата посветеност на безбедноста, Stremio е врвниот избор за безгрижно, висококвалитетно искуство со стриминг.","WEBSITE_AVAILABLE_ON":"Достапно на","WEBSITE_WATCH_AND_ENJOY":"Гледајте и уживајте.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio го прави лесно како детска игра","WEBSITE_ALL_FEATURES":"Сите карактеристики","WEBSITE_EASY_TO_USE":"Лесен за користење","WEBSITE_EASY_TO_USE_DETAILS":"Stremio е дизајниран да биде лесен за користење и лесен за употреба. Со неговиот чист и интуитивен интерфејс можете лесно да се движите и да ја пронајдете содржината што сакате да ја гледате.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Беспрекорно низ различни уреди","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Достапен за широк спектар на платформи (вклучувајќи Windows, Mac, Linux, Android и повеќе), Stremio ќе го следи вашиот напредок на сите ваши уреди. Само најавете се и продолжете да гледате без да треба повторно да ја конфигурирате апликацијата на секој нов уред.","WEBSITE_ALL_DOWNLOADS":"Сите преземања","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Поддршка за видео со висока дефиниција","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Интегрираниот видео плеер кој ги поддржува повеќето формати на видео, вклучително и 4K HDR содржина, ви овозможува да уживате во највисокиот достапен квалитет.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Колекција со разновидна содржина","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio се интегрира со голем број популарни видео извори, како што се Netflix, Amazon Prime Video, Hulu, YouTube и многу други.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Направете бесплатно сметка","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Прилагодено искуство на гледање","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio ви овозможува да го прилагодите изгледот и чувството на интерфејсот со менување на темата, додавање или отстранување додатоци и многу повеќе.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Поддршка за повеќејазичен превод (титл)","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Сега можете да уживате во сите омилени содржини на вашиот јазик бидејќи Stremio поддржува преводи на сите јазици.","WEBSITE_ALL_STREMIO_FEATURES":"Сите карактеристики на Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Пробајте го Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"На вашиот ТВ сега","WEBSITE_YOU_CAN_NOW_WATCH":"Сега можете да ги гледате сите омилени ТВ серии на вашите уреди со Android TV. Апликацијата Stremio TV ви овозможува лесно да уживате во филмската вечер.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Сега можете да ги гледате сите омилени ТВ серии на вашиот Smart TV или Android TV. Апликациите Stremio TV ви овозможуваат лесно да уживате во филмска вечер.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio за паметен телевизор","WEBSITE_PLAY_STORE_REVIEW":"Веројатно најдобрата и најкорисната апликација што ја имате во вашиот уред. Тоа е една од апликациите што ги користам секојдневно, особено на мојот Android TV веќе многу години. Добро направен со силна заедница која обезбедува корисни функционалности. Добро сторено. Продолжи со добрата работа.","WEBSITE_REVIEWS":"Рецензии","WEBSITE_GET_STREMIO_FOR_FREE":"Набави го Stremio бесплатно","WEBSITE_GET_STREMIO_NOW":"Набави Stremio веднаш","WEBSITE_STREMIO_FEATURES":"Карактеристики на Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Стримувајте како професионалец со напредните функции на Stremio и уживајте во беспрекорен пристап до сите ваши омилени медиуми","WEBSITE_DISCOVER_MORE":"Откријте повеќе.","WEBSITE_DISCOVER_MORE_DETAILS":"Никогаш не останувајте без работи за гледање","WEBSITE_COMMUNITY_DRIVEN":"Управувано од заедницата","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio има голема и активна заедница на корисници кои придонесуваат за развој на софтверот преку креирање и споделување додатоци.","WEBSITE_GET_INVOLVED":"Вклучете се","WEBSITE_NEW_THEATER_EXPERIENCE":"Ново театарско искуство","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Новата посветена ТВ-апликација на Stremio ви овозможува да уживате во филмска вечер на вашите уреди со Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Новите посветени ТВ-апликации на Stremio ви дозволуваат да уживате во филмска вечер на вашиот паметен ТВ или уреди со Android TV.","WEBSITE_FREE_AND_SECURE":"Бесплатно и безбедно","WEBSITE_STREAMING":"Стриминг","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio нуди неспоредлива безбедност и приватност за корисниците. Со својата уникатна карактеристика за далечинско извршување на додатоци, Stremio обезбедува побезбеден начин за проследување на вашата омилена содржина во споредба со другите платформи. Вашата безбедност и приватност се врвни приоритети, а платформата гарантира дека сите ваши податоци се заштитени.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Кажете им збогум на грижите за безбедноста и приватноста и поздравете се во светот на бескрајна забава со Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Информациите обезбедени од","WEBSITE_CONTRIBUTE_DESC":"на проектот и помогнете ни да го направиме Stremio уште подобар","WEBSITE_COMMUNITY_DESC":"Ние веруваме дека најдобриот начин да се создаде навистина неверојатно искуство со стриминг е со вклучување на нашата заедница во процесот. Без разлика дали сте програмер, уметник или само обожавател - можете да му помогнете на Stremio да расте.","WEBSITE_COMMUNITY_DESC_2":"Затоа, придружете ни се денес и станете дел од заедницата Stremio и продолжете да ја обликувате иднината на стриминг.","WEBSITE_WAYS_TO_GET_INVOLVED":"Начини да се вклучите","WEBSITE_IN_THE_STREMIO_COMMUNITY":"во заедницата Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Споделете ги вашите размислувања","WEBSITE_REPORT_BUGS":"Пријавете грешки","WEBSITE_SUGGEST_FEATURES":"предложи идеи","WEBSITE_AND_PROVIDE_FEEDBACK":"и да дадете повратни информации за нашите канали на социјалните мрежи.","WEBSITE_BETA_TESTING_PROGRAM":"Програма за бета тестирање","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Учествувајте во нашата програма за бета тестирање (редовно испраќаме покани) во заедницата Stremio.","WEBSITE_JOIN_NOW":"Придружи се сега!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Официјални заедници на Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Неофицијални заедници на Stremio","WEBSITE_BECOME":"Стани","WEBSITE_A_VOLUNTEER_TRANSLATOR":"волонтер преведувач","WEBSITE_ARE_YOU_A_DEVELOPER":"Дали сте програмер?","WEBSITE_CONTRIBUTE_CODE":"Може да придонесете код за нашите проекти со отворен код. Имаме неколку проекти на GitHub кои бараат соработници. Ако сте заинтересирани да помогнете, проверете ги:","WEBSITE_STREMIO_ON_GITHUB":"Stremio на GitHub","WEBSITE_CREATE_ADDON_DESC":"Создадете додаток за подобрување на функционалноста на Stremio (имаме API што е лесен за употреба):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Додадок SDK","WEBSITE_INTERN_DEVELOPER":"Ние, исто така, даваме можност да ни се придружиме како развивач на практикант за да можеме да растеме заедно.","WEBSITE_APPLY_AS_AN_INTERN":"Пријавете се како практикант","WEBSITE_CALLING_ALL_ARTISTS":"Ги повикуваме сите уметници!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Покажете ја вашата креативност и љубов кон Stremio со прикачување на вашата фан уметност во нашата онлајн галерија. Без разлика дали се работи за цртеж, сликање или дигитален дизајн, сакаме да го видиме вашиот уникатен став за брендот Stremio. Придружете се на нашата заедница на уметнички ентузијасти и споделете ја вашата работа со колегите обожаватели на Stremio ширум светот.","WEBSITE_STREMIO_FANART_GALLERY":"Галерија Stremio Фанарт","WEBSITE_INTERN_DESIGNER":"Станете дел од нашиот тим и однесете ја вашата креативност до нови височини со нашите возбудливи можности за стажирање.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Проект за филмови од јавен домен","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Во Stremio, ние сме посветени на зачувување на историјата на филмот и телевизијата преку идентификување на видеа од јавен домен и без родители. Работејќи заедно со нашата заедница, можеме да обезбедиме овие класични уметнички дела да бидат достапни за секого и заштитени за уживање во идните генерации.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Слободно контактирајте не доколку сакате да се вклучите во тој проект.","WEBSITE_JOIN_THE_PROJECT":"Приклучи се на проектот","WEBSITE_BE_PART_OF_OUR_MISSION":"Бидете дел од нашата мисија","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Дали сте заинтересирани да се приклучите на тимот на Стремио? Нудиме целосно далечинска работа за страсни професионалци. Проверете ги нашите отворени позиции.","WEBSITE_OPEN_POSITIONS":"ОТВОРЕНИ ПОЗИЦИИ","WEBSITE_DESCRIPTION":"ОПИС","WEBSITE_LEARN_MORE":"Научи повеќе","WEBSITE_COMPANY":"Компанијата","WEBSITE_CONTACTS":"Контакти","WEBSITE_NEED_HELP":"Треба помош?","WEBSITE_STREMIO_WEB_ON_IOS":"Водич за Stremio Web на iOS","WEBSITE_LINK_ART_V2":"Галерија Фанарт","WEBSITE_PARTNERS":"Партнери","WEBSITE_SLOGAN_WATCH":"Гледајте веднаш","WEBSITE_SLOGAN_ALL":"Сите видео содржини во кои уживате на едно место","WEBSITE_SLOGAN_NEW":"Сè што можете да гледате","WEBSITE_SLOGAN_NEW_NEW":"Слобода за стрим","WEBSITE_WATCH_FROM":"Гледајте од","WEBSITE_DOWNLOAD":"Преземете сега","WEBSITE_DOWNLOAD_FOR":"Преземете сега за","WEBSITE_IS_DESKTOP":"Stremio е десктоп апликација, отворете ја оваа страница на вашиот компјутер и преземете ја","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Почетна","WEBSITE_PAGE_FEATURES":"Карактеристики","WEBSITE_PAGE_ADDONS":"Додатоци","WEBSITE_PAGE_TECH":"Технологија","WEBSITE_PAGE_CREATE_ADDON":"Креирај додаток","WEBSITE_PAGE_CONTACTS":"Контакти","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Ве молиме внесете ја посакуваната нова лозинка подолу.","WEBSITE_RESET_PASSWORD_WARNING":"Дали сте сигурни дека сакате да ја ресетирате лозинката за ${1}?","WEBSITE_TYPE_movie":"Филмови","WEBSITE_TYPE_series_PL":"Серии","WEBSITE_TYPE_tv":"ТВ во живо","WEBSITE_TYPE_channel":"Канали","WEBSITE_STREMIO_WHAT_IS":"Stremio е апликација која ви помага да ги организирате и веднаш да ги гледате вашите омилени видеа, филмови, ТВ серии и ТВ канали.","WEBSITE_FEATURES_WATCH":"Гледајте веднаш во HD","WEBSITE_FEATURES_WATCH_DETAIL":"Кликнете и гледајте ги вашите омилени филмови, ТВ серии, видеа и ТВ канали.","WEBSITE_FEATURES_SUBS":"Автоматски преводи","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio автоматски избира синхронизирани преводи за вашиот јазик.","WEBSITE_FEATURES_SUBS_LABEL":"Твој избор, шефе.","WEBSITE_FEATURES_CAST":"Гледај на ТВ и мобилни уреди","WEBSITE_FEATURES_CAST_DETAIL":"Емитувај на AppleTV, Chromecast, Smart TV (DLNA/UPnP) и мобилни уреди.","WEBSITE_LIB":"Уживајте во вашата лична колекција синхронизирана на сите ваши уреди","WEBSITE_LIB_COLLECT":"Собери од Stremio","WEBSITE_LIB_IMPORT":"Увоз од Facebook","WEBSITE_LIB_LOCAL":"Додајте од вашиот локален диск","WEBSITE_BOARD":"Табла - Вашето едно место за известувања и препораки","WEBSITE_BOARD_RECOMMEND":"Препорачана ТВ емисија","WEBSITE_BOARD_TRENDING":"Филмови во тренд","WEBSITE_BOARD_NEW":"Ново Видео","WEBSITE_BOARD_EPISODE":"Нова Епизода","WEBSITE_BOARD_1":"Барате нешто интересно за гледање? Добијте препораки засновани на вашиот вкус!","WEBSITE_BOARD_2":"Добијте известување кога ќе излезе нова епизода од вашето омилено ТВ шоу или канал на YouTube!","WEBSITE_BOARD_YOUTUBE":"Нови видеа на канали на YouTube","WEBSITE_BOARD_EPISODES":"Нови епизоди од сериите што ги следите","WEBSITE_ADDONS":"Додатоци за содржина","WEBSITE_TECH_DETAIL":"Ја сакаме технологијата, ја сакаме лудата наука!\\nStremio ги користи следниве технологии со отворен код:","WEBSITE_TECH_WCJS":"WebChimera.js овозможува Stremio да репродуцира кој било формат на видео со добри перформанси.","WEBSITE_TECH_WCJS_EXTRA":"Ние сме основни соработници на проектот","WEBSITE_TECH_ELECTRON":"Electron обезбедува иновативна платформа за изградба на Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Ние сме соработници на проектот","WEBSITE_TECH_LINVODB":"Технологија на база на податоци која гарантира дека вашите податоци се организирани и достапни каде и да се најавувате.","WEBSITE_TECH_LINVODB_EXTRA":"Внатрешна технологија","WEBSITE_CREATE_ADDON":"Направете го вашиот додаток","WEBSITE_CREATE_ADDON_DETAIL":"Дали имате услуга која обезбедува видео содржина? Ќе ви помогнеме да имате корист од функциите на Stremio со создавање на вашиот Додаток.","WEBSITE_CREATE_ADDON_BENEFITS":"Придобивки од создавање Додаток за Stremio","WEBSITE_P2P_BEAUTY":"Убавината на Peer-to-Peer стриминг","WEBSITE_P2P_1":"Сигурно и достапно видео со full HD / 4K на барање или пренос во живо","WEBSITE_P2P_2":"Платформа за дистрибуција обезбедува одлично корисничко искуство","WEBSITE_P2P_3":"Ние ќе создадеме додаток кој ги исполнува вашите точни потреби","WEBSITE_P2P_CONTACT":"Заинтересирани? Добредојдени сте да не контактирате.","WEBSITE_P2P_CONTACT_EXTRA":"Со задоволство ќе ви помогнеме да ја интегрирате вашата содржина со Stremio!","WEBSITE_P2P":"Одвреме-навреме доаѓа технологија која го менува името на играта. Вложивме тони време и напор во изградбата на нашиот мотор за видео стриминг Peer-to-Peer (P2P) кој обезбедува одлични перформанси и разноврсност за прилагодување со секој случај на употреба.\\nКонтактирајте не за P2P-видео на барање со овозможено DRM или пренос во живо.","WEBSITE_THOUGHTS":"Мислите што ги споделуваме:","WEBSITE_SPREAD":"Раширете го зборот за Stremio:","WEBSITE_CONTACT":"Ако сакате да контактирате со нас, продолжи на","WEBSITE_OPENSOURCE":"За нашите проекти со отворен код, одете кај","WEBSITE_BITCOIN":"Донирајте биткоин:","WEBSITE_FAQ":"Најчесто поставувани прашања","WEBSITE_FAQ_SHORT":"НПП","WEBSITE_QUESTIONS":"Прашања","WEBSITE_TOS":"Услови за користење","WEBSITE_LEGAL":"Правност","WEBSITE_PAGE_ABOUT":"За","WEBSITE_PAGE_BECOME_PARTNER":"Станете партнер","WEBSITE_ALL_YOU_CAN_WATCH":"Слобода за гледање\\nСè што сакате.","WEBSITE_FREEDOM_TO_STREAM":"Слобода за стримување","WEBSITE_WHAT_IS_STREMIO":"Што е stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio е центар за собирање видео содржини. Откријте, организирајте и гледајте видео од сите видови извори на кој било уред што го поседувате.","WEBSITE_WHAT_IS_STREMIO_P2":"Филмови, ТВ емисии, серии, телевизија во живо или веб-канали како YouTube и Twitch.tv - сето ова можете да го најдете на Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio е модерен медиумски центар кој е решение на едно место за вашата видео забава. Откривате, гледате и организирате видео содржини од лесни за инсталирање додатоци.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Филмови, ТВ емисии, ТВ во живо или веб-канали - најдете сето ова на Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Уживајте на сите ваши уреди","WEBSITE_DEVICES_COLLECT":"Собери од Stremio","WEBSITE_DEVICES_IMPORT_FB":"Увези од Фејсбук","WEBSITE_DEVICES_LOCAL":"Додај од локалниот диск","WEBSITE_JOIN_THE_PARTY_NOW":"Придружи се на забавата сега","WEBSITE_DEVICES_ALL":"Лесен за користење на сите ваши уреди;","WEBSITE_EXTENDABLE_CATALOG":"Бесконечно проширување на видео каталог;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Одлични функции за организирање на вашите медиуми;","WEBSITE_AS_SEEN_ON":"Како што се гледа на","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"За нас","WEBSITE_LINK_TECHNOLOGY":"Технологија","WEBSITE_LINK_APPS":"Апликации","WEBSITE_LINK_DOWNLOADS":"Преземања","WEBSITE_MORE":"Повеќе","WEBSITE_LINK_ADDONS":"Додатоци","WEBSITE_LINK_ADDON_SDK":"Додаток SDK","WEBSITE_LINK_CONTRIBUTE":"Придонесете","WEBSITE_LINK_COMMUNITY":"Заедница","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"... & Повеќе","WEBSITE_LINK_HELP":"Центар за помош","WEBSITE_LINK_CONTACTS":"Контактирајте со нас","WEBSITE_LINK_TOS":"Услови и правила","WEBSITE_LINK_PRAVACY":"Политика за приватност","WEBSITE_SUBSCRIBE":"Претплати се","WEBSITE_NEWSLETTER":"Придружете се на нашиот билтен за неверојатни работи","WEBSITE_PLACEHOLDER_EMAIL":"Твојата електронска пошта","WEBSITE_COMMUNITY":"Заедница","WEBSITE_LINK_PRAVACY_LEGAL":"Приватност и правност","WEBSITE_WHY":"Зошто го правиме тоа","WEBSITE_WHY_P1":"Во Stremio доаѓаме на работа секој ден бидејќи сакаме да решиме важен проблем за индустријата за видео на барање. Има толку многу нови содржини што се објавуваат секоја минута што е практично невозможно да се најде патот околу неа.","WEBSITE_WHY_P2":"Им помагаме на луѓето да се движат низ тој огромен свет на видео забава и да откријат нови содржини за уживање. Нашите апликации обединуваат филмови, серии, ТВ во живо, веб-канали и многу повеќе. Посветени сме на тоа да им олесниме на корисниците да најдат наслови и радиодифузери што ги сакаат.","WEBSITE_WHY_P3":"Може да ја користите нашата услуга на кој било уред и во секое време, со што Stremio ќе стане единствениот центар за видео забава што некогаш ќе ви треба.","WEBSITE_TEAM":"ТИМ","WEBSITE_TEAM_P":"Тимот на Stremio е мал, но моќен: меѓу нас десетмина, кодираме на X јазици и споделуваме експертиза за развој на софтвер, UI и UX дизајн, маркетинг и рекламирање и бизнис и стартап.","WEBSITE_FEATURES":"Карактеристики","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Откријте нови содржини со леснотија","WEBSITE_FEATURES_DISCOVER_P":"Лесно откривајте нови филмови, ТВ емисии, серии и канали за гледање. Прелистувајте по категорија, жанр, рејтинг, неодамнешност итн. или едноставно напишете име за наоѓање. Stremio го прави пронаоѓањето на нова видео содржина како детска игра.","WEBSITE_FEATURES_ALL_CONTENT":"Сите ваши видео содржини на еден екран","WEBSITE_FEATURES_ALL_CONTENT_P1":"Погледнете кои филмови, серии или видеа не сте ги завршиле и продолжете да ги гледате; добивајте известување за нови епизоди и изданија; и прелистајте ги препораките што ќе ги добиете врз основа на вашите навики за гледање.","WEBSITE_FEATURES_LIBRARY":"Организирајте ја вашата видео колекција","WEBSITE_FEATURES_LIBRARY_P1":"Додајте каков било наслов во вашата колекција Stremio со еден клик и пронајдете го вашиот пат околу вашата содржина, уредно подредени по тип, најновост или азбучен редослед.","WEBSITE_FEATURES_CALENDAR":"Следете се што гледате","WEBSITE_FEATURES_CALENDAR_P1":"Добијте визуелизација на календарот на сите филмови и серии што ги додавате во вашата колекција. Извезете го вашиот Stremio календар и синхронизирајте го за секогаш да знаете кога треба да се појави нова епизода или премиера.","WEBSITE_FEATURES_BIG_SCREEN":"Уживајте во вашата видео содржина на поголем екран","WEBSITE_FEATURES_BIG_SCREEN_P1":"Префрлете се што гледате на друг уред - било да е тоа телефон, таблет или телевизор со еден клик.","WEBSITE_FEATURES_SOURCES":"Гледајте видео од многу различни извори","WEBSITE_FEATURES_SOURCES_P":"Инсталирајте официјални додатоци и додатоци од заедницата за да уживате во видеото добиено од многу различни провајдери - сето тоа во една елегантна, лесна за употреба апликација.","WEBSITE_CREATE_AN_ADDON":"Направете додаток","WEBSITE_FEATURES_SYNC":"Синхронизирајте ја вашата колекција на различни уреди и продолжете со гледање","WEBSITE_FEATURES_SYNC_P1":"Најавете се со вашата сметка на сите ваши уреди и уживајте во колекцијата, додатоците, репродукцијата и календарот синхронизирани.","WEBSITE_FEATURES_EXTENDABLE":"Проширен видео каталог со додатоци","WEBSITE_FEATURES_EXTENDABLE_P1":"Каталогот со додатоци Stremio обезбедува голем број додатоци за инсталирање и гледање разновидна видео содржина. Ова вклучува филмови, емисии, ТВ во живо, спорт, вести, подкасти, веб-канали, видео игри и многу повеќе.","WEBSITE_FEATURES_AUTO_SUBS":"Автоматски преводи","WEBSITE_FEATURES_AUTO_SUBS_P1":"Со нашите додатоци за титл добивате автоматски избрани опции за вашиот претпочитан јазик.","WEBSITE_FEATURES_CHROMECAST":"Емитувај на Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Уживајте во вашата видео содржина на поголем екран или едноставно продолжете да го гледате на друг уред.","WEBSITE_FEATURES_KEEP_TRACK":"Следете ги вашите омилени ТВ емисии и веб-канали","WEBSITE_FEATURES_KEEP_TRACK_P1":"Добијте визуелизација на календарот и известувања за новите епизоди од вашите омилени серии и веб-канали.","WEBSITE_FEATURES_POWER_USER":"Моќни кориснички карактеристики","WEBSITE_FEATURES_POWER_USER_P1":"Пушти во надворешен плеер","WEBSITE_FEATURES_POWER_USER_P2":"Пушти од торент датотека или врска со магнет","WEBSITE_FEATURES_POWER_USER_P3":"Увезете во вашата колекција од лајкови на Фејсбук или локален диск","WEBSITE_ADD_ONS":"Додатоци","WEBSITE_ADD_ONS_P1":"Сите видео содржини што ги обезбедува Stremio се добиваат преку систем за додатоци - во апликацијата не е вградена содржина или давател на содржина.","WEBSITE_ADD_ONS_P2":"Достапни се две групи на додатоци: официјални и неофицијални(заедницата) додатоци.","WEBSITE_ADD_ONS_P3":"Официјалните се развиени и хостирани од Stremio, додека додатоците на заедницата се креирани од членовите на нашата заедница, кои исто така ги хостираат.","WEBSITE_ADDONS_OFFICIAL":"Официјални додатоци","WEBSITE_ADDONS_WATCHUB":"Пренесувајте ги вашите омилени филмови, серии и емисии од провајдери како iTunes, Hulu, Amazon и други услуги во ОК/САД.","WEBSITE_ADDONS_YOUTUBE":"Гледајте ги омилените канали на YouTube без реклами и добивајте известувања за нови прикачувања од соработниците што ги следите.","WEBSITE_ADDONS_FILMON":"Гледајте телевизија во живо, филмови и социјална телевизија бесплатно. 600 ТВ канали, 45.000 бесплатни филмови, документарни филмови и повеќе.","WEBSITE_ADDONS_OPENSUBTITLES":"Преводи за филмови и ТВ на повеќе јазици, илјадници преведени преводи кои се поставуваат секој ден.","WEBSITE_ADDONS_COMMUNITY":"Додатоци на заедницата","WEBSITE_ADDONS_FILMON_VOD":"Гледајте видео на барање од Filmon.tv","WEBSITE_ADDONS_TWICH":"Гледајте преноси во живо од Twitch.tv - платформа за видео стриминг за индустријата за е-спорт.","WEBSITE_ADDONS_VODO":"Гледајте инди филмови апсолутно бесплатно.","WEBSITE_ADDONS_NETFLIX":"Гледајте филмови и веб серии на Нетфликс.","WEBSITE_ADDONS_CREATE":"Направете додаток","WEBSITE_ADDONS_CREATE_P1":"Доколку сакате, можете да развиете свој додаток. На овој начин, можете да си дадете себеси и нашата заедница пристап до нови видео содржини и да допрете до нова целна публика од милиони корисници ширум светот.","WEBSITE_ADDONS_START_CREATE":"За да започнете, посетете ја страницата Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Преземања","WEBSITE_DOWNLOADS_P1":"За оптимални перформанси, ви препорачуваме да ја користите најновата достапна верзија на апликациите Stremio. Меѓутоа, ако поради некоја причина сакате да користите постара верзија, можете да ја преземете овде.","WEBSITE_DOWNLOADS_P1_SHORT":"За оптимални перформанси, ви препорачуваме да ја користите најновата достапна верзија на апликациите Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio за Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio за macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio за Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio за Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio за Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio за Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio за Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio за iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio за Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio за LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio за Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio за Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio за Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio за Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio за Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio за Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio за Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio за Прелистувач","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Пребарајте го Stremio во App Store на моделите на Samsung TV од 2019+ година","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Пребарајте го Stremio во App Store на моделите на LG TV од 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Пребарајте Stremio во апликацијата Play Store на Sony TV со Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Пребарајте Stremio во апликацијата Play Store на Philips TV со Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Пребарајте го Stremio во App Store на вашиот уред Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Водич за Stremio OS на RPI","WEBSITE_LINK_GUIDE":"Водич","WEBSITE_DOWNLOAD_SERVICE":"Преземете ја Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service е придружна апликација за Stremio Web. Препорачуваме да ја користите најновата достапна верзија на Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service за Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service за macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service за Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service за Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio за Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Повеќе опции за преземање","WEBSITE_DOWNLOAD_NEW":"Ново!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Го објавивме Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Го објавивме Stremio за Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Го објавивме Stremio за LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Го објавивме Stremio за Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Го објавивме Stremio за Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Придонесете","WEBSITE_CONTRIBUTE_P1":"Платформата Stremio е со отворен код и лесно можете да креирате додаток за содржина што моментално не е изворна.","WEBSITE_CONTRIBUTE_WHY":"Зошто треба да креирате додаток?","WEBSITE_CONTRIBUTE_WHY_P1":"Допрете нова публика за вашата видео содржина","WEBSITE_CONTRIBUTE_WHY_P2":"Корисничката база на Stremio рапидно расте - во првата година од лансирањето, Stremio доби 1 милион корисници ширум светот, а во втората година од постоењето на платформата оваа бројка порасна на 2,5 милиони.","WEBSITE_CONTRIBUTE_WHY_P3":"Со вашиот додаток, можете лесно да допрете до оваа публика и да им ја дистрибуирате вашата видео содржина.","WEBSITE_CONTRIBUTE_ALL":"Гледајте ги омилените филмови, видеа, серии и канали на едно место.","WEBSITE_CONTRIBUTE_ALL_P1":"Дали сте обожаватели на одреден тип на содржина што сè уште не е достапна на Stremio? Направете додаток за него и уживајте во гледањето на вашите омилени видеа во еден од најголемите и најлесните забавни центри на пазарот.","WEBSITE_CONTRIBUTE_ALL_P2":"Згора на тоа, ќе ја добиете бескрајната благодарност од другите членови на заедницата Stremio истомисленици.","WEBSITE_CONTRIBUTE_MONETIZE":"Монетизирајте го вашиот додаток и заработете пари со негова помош","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Откако ќе развиете нов додаток за Stremio, можете лесно да го монетизирате на повеќе различни начини. Ако размислувате за ова, слободно стапете во контакт со нас на","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - со задоволство би ве консултирале и ве советуваме за опциите за монетизација на додатоците.","WEBSITE_CONTRIBUTE_TRANSLATE":"Станете волонтер преведувач","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Ако сакате да уживате во апликациите Stremio на различни јазици, можете да се придружите на нашата заедница на доброволни преведувачи. Тие ни помагаат да додадеме верзии на Stremio на многу различни јазици.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Дали сте желни да започнете?","WEBSITE_TRANSALTE_STREMIO":"Преведи го Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Официјални заедници","WEBSITE_COMMUNITY_OFFICIALS_P1":"Станете дел од растечката заедница Stremio. Следете не на социјалните мрежи и не се срамете да се поздравите - сакаме да слушаме од нашите обожаватели!","WEBSITE_COMMUNITY_UNOFFICIALS":"Неофицијални заедници","STREMIO_COMMUNITY_NL":"Stremio Холандија","STREMIO_COMMUNITY_BRASIL":"Stremio Бразил","STREMIO_COMMUNITY_GERMANY":"Stremio Германија","STREMIO_COMMUNITY_BELGIUM":"Stremio Белгија","STREMIO_COMMUNITY_FRANCE":"Stremio Франција","STREMIO_COMMUNITY_PORTUGAL":"Stremio Португалија","STREMIO_COMMUNITY_ITALY":"Stremio Италија","STREMIO_COMMUNITY_UK":"Stremio ОК","STREMIO_COMMUNITY_USA":"Stremio САД","STREMIO_COMMUNITY_MEXICO":"Stremio Максико","STREMIO_COMMUNITY_ADDONS":"Stremio Додатоци","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Прекрасен Stremio","WEBSITE_COMMUNITY_PARTNERS":"Партнери и поддржувачи","WEBSITE_COMMUNITY_GOODIES":"Stremio добра","WEBSITE_COMMUNITY_WALLPAPERS":"Позадини","WEBSITE_COMMUNITY_ART":"Заедница Art Gallery","WEBSITE_LINK_ART":"Заедница art gallery","WEBSITE_CONTACT_US":"Контактирајте не","WEBSITE_CONTACT_US_P1":"Ако имате какви било прашања, коментари или предлози, слободно стапете во контакт со нас преку контакт формата подолу.","WEBSITE_CONTACT_US_P2":"Имајте на ум дека сме лоцирани во Бугарија, така што може да има одложување во решавањето на вашето барање поради разлики во временската зона.","WEBSITE_CONTACT_US_SUCCESS":"Твојата порака е пратена. Ќе ви одговориме што е можно поскоро.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Ве молиме внесете валидна е-пошта!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Со што е поврзано твоето прашање?","WEBSITE_CONTACT_US_Q_OS":"Кој е вашиот оперативен систем?","WEBSITE_CONTACT_US_PH_EMAIL":"Твојата Е-Пошта","WEBSITE_CONTACT_US_PH_MESSAGE":"Порака","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ИСПРАТИ","WEBSITE_CONTACT_US_Q_1":"Како да инсталирам?","WEBSITE_CONTACT_US_Q_2":"Како да се деинсталирам?","WEBSITE_CONTACT_US_Q_3":"(HTML) Како да направите лазања?","WEBSITE_CONTACT_US_Q_4":"Додатоци","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Технологија","WEBSITE_TECHNOLOGY_P1":"Ја сакаме технологијата и лудата наука.
    Еве што го напојува Stremio (сето тоа е со отворен код).","WEBSITE_TECHNOLOGY_P_QT":"Развој на софтвер меѓу платформи во најдобар случај.","WEBSITE_TECHNOLOGY_P_MPV":"Бесплатен медиа плеер со отворен код и меѓуплатформски.","WEBSITE_TECHNOLOGY_P_RN":"React Native ви овозможува да креирате мобилни апликации користејќи само JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework вградена во апликацијата за добивање мултимедија.","WEBSITE_TECHNOLOGY_P_REALM":"Realm е мобилна платформа и замена за SQLite и Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js е опкружување со отворен код, меѓу-платформа, JavaScript за извршување.","WEBSITE_TECHNOLOGY_P_RUST":"Rust е програмски јазик со повеќе парадигма, фокусиран на безбедноста, особено на безбедното истовремено.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Придонесете во проектот","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Постојат два начини на кои можете да придонесете за Stremio и да ни помогнете да го направиме производот уште подобар.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Можете да ги донирате вашите вредни јазични вештини со преведување на платформата...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"или","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... можете да ги искористите вашите вештини за кодирање за создавање додатоци во заедницата. ","WEBSITE_TRANSLATE_STREMIO":"Преведи го Stremio","WEBSITE_404_OH_NO":"Уф! Страницата што ја барате не е тука...","WEBSITE_GO_HOME":"Оди на почетна","WEBSITE_LINK_OTHER_DOWNLOADS":"Други преземања","WEBSITE_FAQ_ABR":"НПП","WEBSITE_SUPPORT":"Поддршка","WEBSITE_DOWNLOAD_4_0_BETA":"Преземете сега Stremio 4 бета","WEBSITE_GET_FOR_DESKTOP":"Превземи за декстоп","WEBSITE_LINK_ADDON_COMPETITION":"Натпревар за додатоци","WEBSITE_LINK_ART_CONTEST":"Уметнички натпревар","WEBSITE_MY_ACCOUNT":"Мојта сметка","WEBSITE_MAINPAGE_FAQ_001_H1":"Што е Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio е модерен медија центар кој ви дава слобода да гледате сè што сакате.","WEBSITE_MAINPAGE_FAQ_002_H1":"Како работи?","WEBSITE_MAINPAGE_FAQ_002_P1":"Откако ќе го инсталирате Stremio на вашиот уред и ќе создадете сметка, сè што треба да направите е да го посетите каталогот на додатоци и да инсталирате кој било додаток што го сакате, и вие сте подготвени за гледање!","WEBSITE_MAINPAGE_FAQ_002_P2":"После тоа, можете да отидете во секциите Откријте или Табла за да започнете со истражување на содржината.","WEBSITE_MAINPAGE_FAQ_003_H1":"Што можам да гледам овде?","WEBSITE_MAINPAGE_FAQ_003_P1":"Многу: Филмови, ТВ емисии, веб-канали, спорт, ТВ канали, слушање поткасти и многу повеќе. Благодарение на нашиот систем за додатоци, можете да пристапите до разновидна содржина.","WEBSITE_MAINPAGE_FAQ_004_H1":"Дали Stremio е со отворен код?","WEBSITE_MAINPAGE_FAQ_004_P1":"Да, можете да ги проверите следните врски: ${1}десктоп апликација${2} и ${3}GitHub организација${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Дали Stremio е безбеден?","WEBSITE_MAINPAGE_FAQ_005_P1":"Да: бидејќи е софтвер со отворен код, кодот може јавно да се ревидира и можете сами да го прегледате.","WEBSITE_MAINPAGE_FAQ_005_P2":"Системот за додатоци на Stremio исто така беше создаден имајќи ја предвид безбедноста на корисникот. Додатоците не користат никаков код локално, така што тие не претставуваат ризици за вашиот уред.","WEBSITE_MAINPAGE_FAQ_006_H1":"Што е со мојата приватност?","WEBSITE_MAINPAGE_FAQ_006_P1":"Ја почитуваме приватноста на корисниците и не собираме никакви лични податоци освен суштинскиот минимум за креирање и синхронизирање на вашата сметка.","WEBSITE_MAINPAGE_FAQ_006_P2":"Постои и ${1}Режим за гостин${2} при регистрација, за кој не се потребни никакви податоци: во овој режим, не ни се испраќаат податоци. Сепак, тоа доаѓа на сметка на корисни функции, како што е можноста да ја синхронизирате вашата колекција низ уредите.","WEBSITE_MAINPAGE_FAQ_007_H1":"Може ли да емитувам на мојот телевизор?","WEBSITE_MAINPAGE_FAQ_007_P1":"Да, ние поддржуваме Chromecast и може да емитувате и од десктоп и од мобилни апликации (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Колку додатоци има Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Од крајот на 2019 година, над 50 - за повеќе информации, проверете го нашиот каталог на додатоци.","WEBSITE_MAINPAGE_FAQ_009_H1":"Може ли Stremio да се прошири надвор од она што е во каталогот на додатоци?","WEBSITE_MAINPAGE_FAQ_009_P1":"Да, треба да ги проверите: ${1}PimpMyStremio${2}, ${3}Reddit заедници${4}, ${5}Stremio Downloader${6} итн.","WEBSITE_MAINPAGE_FAQ_010_H1":"Кои уреди поддржува Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Имаме десктоп апликации за Windows, Mac и Linux. За мобилни, ние поддржуваме Android и iOS, иако имајте на ум дека iOS е ограничен во функционалноста (не поддржува повеќето додатоци).","WEBSITE_MAINPAGE_FAQ_010_P2":"Има многу уреди базирани на Android на кои можете да го стартувате Stremio, како NVIDIA Shield и Amazon Fire Stick, но ние не ги поддржуваме официјално.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"маме десктоп апликации за Windows, Mac и Linux. Имаме и посветени апликации за Android Mobile и Android TV. За iOS и iPadOS предлагаме користење на Stremio Web, иако е поограничена во функционалноста.","WEBSITE_MAINPAGE_FAQ_011_H1":"Можете ли да додадете одредена содржина во Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"За жал, ние самите не обезбедуваме содржина, но колку повеќе Stremio додатоци имате инсталирано, толку повеќе содржини ќе можете да најдете.","WEBSITE_MAINPAGE_FAQ_012_H1":"Дали Stremio може да репродуцира магнетни врски?","WEBSITE_MAINPAGE_FAQ_012_P1":"Да, и исто така може да репродуцира нормални HTTP-врски и торент-датотеки (повлечи и пушти).","WEBSITE_MAINPAGE_FAQ_013_H1":"Може ли да преземам видео и да гледам офлајн?","WEBSITE_MAINPAGE_FAQ_013_P1":"Достапно офлајн е претстојна функција, но ако дозволите Stremio да кешира на вашиот уред (од панелот за поставки), можете да ги гледате видеата подоцна без интернет.","WEBSITE_MAINPAGE_FAQ_014_H1":"Ништо не функционира, помогни ми!","WEBSITE_MAINPAGE_FAQ_014_P1":"Дали сте сигурни дека имате инсталирано додатоци? Ако одговорот е да, проверете кај нашиот ${1}центар за помош${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Како Stremio ги одржува своите развојни операции?","WEBSITE_MAINPAGE_FAQ_015_P1":"Повремено прикажуваме ненаметливи реклами, но размислуваме да преминеме на модел на донација.","WEBSITE_MAINPAGE_FAQ_015_P2":"За повеќе прашања, одете во нашиот ${1}центар за помош${2}.","HELP_LEARN_MORE":"Помогнете ни да дознаеме повеќе за вас.","LIFESTYLE":"Начин на живот","SPORTS":"Спорт","FOOD_HEALTH":"Храна и здравје","BEAUTY_FASHION":"Убавина и мода","NEWS":"Вести","GAMING":"Гејминг","SCIENCE_EDUCATION":"Наука и образование","MUSIC":"Музика","TRAVEL":"Патување","LATE_NIGHT":"Доцна ноќ","REALITY":"Реалност","COMEDY":"Комедија","DIY":"Како да направите сам","TECH":"Технологија","CINEMA":"Кино","CONTINUE":"Продолжи","SLOW_LOADING":"БАВНО СЕ ВЧИТУВА?","I_GIVE_UP":"СЕ ПРЕДАВАМ","LEARN_MORE":"Научи повеќе","POOR_SOURCE":"Овој извор е слабо достапен или вашата интернет-врска не е доволно брза","PICK_CATEGORIES_ERR":"Треба да изберете најмалку 3 категории","ADJUST_TIMING":"Прилагодете го времето со ","ADJUST_SIZE":"Прилагодете ја големината со ","SEARCH_ANYTHING":"Можете да пребарувате сè...","ALL_CATEGORIES":"Сите","SEARCH_CATEGORIES":"Филмови, Серии, YouTube и ТВ","SEARCH_PERSONS":"Актери, Режисери и Писатели","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"Врски на IMDB / TVDB","WATCHED":"Гледано","SHOW_LESS":"Покажете помалку","LAST_SEARCHES":"Последни пребарувања","CLEAR_HISTORY":"Исчисти историја","CHOOSE_SOME":"ИЗБЕРЕТЕ НЕКОИ ОД ОВА:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Веб далечинскиот управувач не може да се вчита","STREMIO_OFFLINE":"Stremio е офлајн","STREMIO_EXPENSIVE_CONNECTION":"Откривме дека користите конекција за мобилни податоци, дали сакате да продолжите?","USE_DATA":"Користете податоци","WARNING":"Предупредување","MORE_INFO":"Повеќе информации...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"се вчитува ...","STREMIO_TV_BACK_TO_LANGUAGES":"Назад кон јазиците","STREMIO_TV_REMOTE":"Далечински управувач","STREMIO_TV_GO_TO":"Оди до:","STREMIO_TV_OR_SCAN":"или скенирајте:","STREMIO_TV_ADDON_INSTRUCTIONS":"Ве молиме следете ги упатствата за да ги инсталирате вашите претпочитани додатоци.","STREMIO_TV_LIVE_TV":"ТВ во живо","STREMIO_TV_RESUME_WATCHING":"Продолжи со гледање","STREMIO_TV_LOADING_BACKGROUND":"Вчитување на позадината","STREMIO_TV_CHECKING_AUTHENTICATION":"Проверка на автентикација","STREMIO_TV_LOADING_BOARD":"Табла за вчитување","STREMIO_TV_LOGIN_HEADER_LINE_1":"Сакаме нашите корисници да имаат најдобро можно персонализирано искуство со нашиот софтвер.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Токму поради оваа причина, ве молиме да направите и/или да се најавите на вашата сметка.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Ви благодариме на разбирањето,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Тимот на Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"За да го користите веб-далечинскиот управувач со вашиот паметен телефон / таблет / десктоп:","STREMIO_TV_WIFI_SETUP":"Поставување Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle не откри интернет конекција.","STREMIO_TV_WIFI_DETAILS_1":"Поврзете се со:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Користете лозинка:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Отворете веб-прелистувач со врската:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Стандардно","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"По последно гледано","STREMIO_TV_LIBRARY_SORT_NAME":"По име","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"По име опаѓачки","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"По временско гледање","STREMIO_TV_LIBRARY_SORT_WATCHED":"По Гледано","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"По Негледано","STREMIO_TV_DETAILS_SEASON_NUMBER":"Сезона ${1}","STREMIO_TV_STREAMS_LOADING":"Вчитано ${1} / ${2} додатоци...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} додатокот сè уште се вчитува...","STREMIO_TV_PLAYER_SETTINGS":"Поставки на плеерот","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Доцнење на преводи","STREMIO_TV_PLAYER_AUDIO_DELAY":"Аудио доцнење","STREMIO_TV_PLAYER_VIDEO_SCALING":"Видео скалирање","STREMIO_TV_PLAYER_CHAPTERS":"Поглавја","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Прескокни ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Неподдржан извор на пренос","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Неуспешно отворање на надворешна врска","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Не може да се прилагоди во режимот на аудио премин","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Пушти со ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Пушти со libVLC плеер","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Префрлување на libVLC плеер поради грешка при репродукција","STREMIO_TV_ADDONS_TITLE":"Користете Stremio на вашиот телефон или компјутер за да инсталирате или конфигурирате додатоци и притиснете \\"Синхронизирајте додатоци\\"","STREMIO_TV_ADDONS_SUBTITLE":"Забелешка: проверете дали ја користите истата сметка на Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Синхронизирајте додатоци","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Додатоците се успешно синхронизирани","STREMIO_TV_ADDONS_SYNC_FAILED":"Не успеа да се синхронизираат додатоците","STREMIO_TV_META_LINK_FAILED":"Неуспешно отворање на мета-врската","STREMIO_TV_CATALOG_LOADING":"Каталогот сè уште се вчитува...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Јазикот на интерфејсот е ажуриран","STREMIO_TV_SETTINGS_THEME_UPDATED":"Темата е ажурирана","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Стандарден плеер","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Надворешен плеер","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Префериран јазик","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Секундарен префериран јазик","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Можни проблеми со репродукцијата на некои уреди","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Некои видео формати може да не работат","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Оневозможено","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"Нема кеширање","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Стандардно","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Меко","STREMIO_TV_SETTINGS_PROFILE_FAST":"Брзо","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ултра брзо","STREMIO_TV_SETTINGS_SERVER_URL":"УРЛ на серверот за стриминг","STREMIO_TV_SETTINGS_SERVER_VERSION":"Сервер верзија","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Непознато","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio верзија","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Уреди URL на серверот","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Внесете URL-адреса на серверот за стриминг","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Прикажи статистика додека се вчитува","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"За да ја прочитате Политиката за приватност на Stremio, посетете:","STREMIO_TV_SETTINGS_TOS_TEXT":"За да ги прочитате одредбите и условите на Stremio, посетете:","STREMIO_TV_NAV_SEARCH":"Пребарување","STREMIO_TV_NAV_HOME":"Почетна","STREMIO_TV_NAV_DISCOVER":"Откријте","STREMIO_TV_NAV_LIBRARY":"Колекција","STREMIO_TV_NAV_MOVIES":"Филмови","STREMIO_TV_NAV_SERIES":"Серии","STREMIO_TV_NAV_CHANNELS":"Канали","STREMIO_TV_NAV_TV":"ТВ во живо","STREMIO_TV_NAV_SETTINGS":"Поставки","STREMIO_TV_NAV_ADDONS":"Додадоци","STREMIO_TV_LOGIN_TITLE":"Поврзете ја сметката","STREMIO_TV_LOGIN_EXPIRES_IN":"Истекува за","STREMIO_TV_LOGIN_STEP_ONE":"Скенирајте го QR-кодот погоре или одете на","STREMIO_TV_LOGIN_STEP_TWO":"Најавете се на вашата сметка на Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Побарајте нова врска","STREMIO_TV_LOGIN_LINK_REFRESHED":"Кодот за најавување е освежен","STREMIO_TV_SEARCH_PLACEHOLDER":"Напишете нешто","STREMIO_TV_SEARCH_NO_ADDONS":"Не беа побарани додатоци за каталози!","STREMIO_TV_SEARCH_BUTTON":"Пребарување","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Историја на пребарување","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Можете да пребарувате за наслови, актери, канали и повеќе...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Исчистете ја историјата на пребарување","STREMIO_TV_FILTERS_DESCRIPTION":"Изберете од еден од филтрите подолу","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Серверот за стриминг е офлајн. Проверете ги поставките на серверот.","FILTERS":"Филтри","SETTINGS":"Поставувања","ACCOUNT":"Сметка","LOGOUT":"Одјавување","THEMES":"Теми","PLAYBACK":"Репродукција","PLAYBACK_SPEED":"Брзина на репродукција","AUDIO_TRACKS":"Аудио Траки","UNKNOWN_TRACK_LANG":"Непознат","VIDEOS":"Видеа","SERVER":"Сервер","LINKS":"Врски","ABOUT":"За","INTERFACE":"Интерфејс","ANIMATIONS":"Анимации","STATUS":"Статус","LANGUAGE":"Јазик","SIZE":"Големина","DELAY":"Одложување","BOLD":"Задебелен","OPACITY":"Проѕирност","TEXT_COLOR":"Боја на текстот","OUTLINE_COLOR":"Боја на рамка","BACKGROUND_COLOR":"Боја на позадина","BACKGROUND_BLUR":"Заматување на позадината","SEEK_TIME_DURATION":"Времетраење на пребарувањето","AUTO_PLAY":"Автоматски пушти следна епизода","PLAY_NOW":"Пушти сега","MARK_AS_WATCHED":"Означи како гледано","MARK_AS_UNWATCHED":"Означи како негледано","REWIND_TO_BEGINNING":"Премотајте назад кон почеток","CONTINUE_WATCHING":"Продолжи со гледање","ALL":"Сите","SECONDS":"секунди","ON":"Вклучено","OFF":"Исклучено","RELOAD":"Вчитај повторно","EDIT_URL":"Уреди URL","URL":"URL","NONE":"Никој","EMBEDDED":"Вградени","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Префрли уреди","REMOTE_VIDEOS":"Видеа","REMOTE_ADJUST_TIMING":"Прилагодете го времето","REMOTE_ADJUST_SIZE":"Прилагодете ја големината","REMOTE_COULD_NOT_BE_LOADED":"Веб далечинскиот управувач не може да се вчита","REMOTE_RETRY":"Обидете се повторно","TORRENT_PROFILE_DEFAULT":"Стандардно","TORRENT_PROFILE_SOFT":"Меко","TORRENT_PROFILE_FAST":"Брзо","TORRENT_PROFILE_ULTRA_FAST":"Ултра брзо","MB_S":"MB/s","FAQ_001_H1":"Што е Stremio?","FAQ_001_P1":"Stremio е медија центар софтвер дизајниран за видео со лесен за користење. Stremio ви овозможува да организирате & гледајте вашата сопствена колекција на филмови, серии, канали и ТВ во живо.","FAQ_001_P2":"Stremio ја собира содржината што ви ја прикажува од вашиот локален диск и нашиот систем за додатоци.","FAQ_001_P3":"Исто така, ќе ве извести кога ќе излезат нови епизоди/видеа/филмови за кои сте заинтересирани и ќе ви обезбеди препораки за филмови.","FAQ_02_H1":"Како Stremio се споредува со Kodi и Plex?","FAQ_02_P1":"Ние сме инспирирани од тие два софтвери. Но, ние имаме различни цели - Stremio е специфично насочен кон забавно видео и се стреми да стане главното решение за тоа со тоа што е многу лесен за употреба.","FAQ_02_P2":"Stremio никогаш нема да биде приспособлив и богат со карактеристики како Kodi и Plex, но значително е полесен за користење. Само ${1} земете го и видете ${2} :)","FAQ_03_H1":"Како Stremio се споредува со Netflix?","FAQ_03_P1":"Повторно, Netflix е една од нашите инспирации. Се стремиме да го постигнеме корисничкото искуство на Netflix, плус многу додадени добрите. Но, што е најважно, ви даваме слобода да управувате со сопствената колекција и да додавате нови извори на содржина со нашиот систем за додатоци.","FAQ_03_P2":"Тоа го прави Stremio бескрајно продолжен, па кога користите Stremio, никогаш не сте ограничени на содржината што Netflix одлучи да ја лиценцира. На пример, преку Stremio можете да гледате содржини од ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo$ {8} па дури и самиот ${9}Netflix${10}!","FAQ_04_H1":"Како Stremio се споредува со Flipboard?","FAQ_04_P1":"Тоа прашање не го добиваме толку често, освен кога разговараме со почетници :)","FAQ_04_P2":"Stremio по дизајн е агрегатор на содржина, што во суштина го прави Flipboard за видео. Ова е многу видливо во нашиот дел од Одборот, кој ви дава каталози и известувања за нови епизоди/нови видео за она што го следите, исто како Flipboard.","FAQ_05_H1":"Како Stremio се споредува со Popcorn Time?","FAQ_05_P1":"Stremio и Popcorn Time се слични во корисничкиот интерфејс, бидејќи нема многу начини како правилно да се прават каталози за видео забава :)","FAQ_05_P2":"Но, додека Popcorn Time е фокусиран на стриминг торенти од одредени извори, Stremio е неограничен и е само агрегатор на содржина - не е заклучен во одреден извор на содржина.","FAQ_05_P3":"Понатаму, стандардно не обезбедуваме никакви додатоци за торент, така што Stremio не го покрива случајот на употреба Popcorn Time со официјална функционалност.","FAQ_05_P4":"Друга забележлива разлика е што Popcorn Time е целосно со отворен код, додека Stremio е ${1} делумно отворен извор${2}.","FAQ_06_H1":"Дали ќе го додадете овој филм/серијал?","FAQ_06_P1":"Не, извини :(","FAQ_06_P2":"Како што е споменато во повеќето други прашања, Stremio не обезбедува никаква содржина сам по себе - сè се додава преку системот за додатоци. Во случај да имате барање за содржина, можете да го користите копчето „Пријави“ во Плеерот, кое ќе испрати е-пошта до авторот на додатокот што моментално го користите.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Дали ќе креирате додаток за X?","FAQ_08_P1":"Тоа е сосема можно.","FAQ_08_P2":"Ако имате идеја за додаток, пишете ни на ${1}office@stremio.com${2}, но проверете дали вашата идеја за додаток нема да ги наруши авторските права или условите за користење.","FAQ_08_P3":"Во моментов, следните работи на нашиот патоказ се додатоци за FandangoNOW, Filmon.tv видео на барање и Crunchyroll.","FAQ_09_H1":"Дали Stremio користи BitTorrent?","FAQ_09_P1":"Да, Stremio поддржува BitTorrent како протокол за стриминг. Можете да го користите или со додаток за torrent, или со влечење и пуштање датотека .torrent во Stremio или со залепување магнетна врска во лентата за пребарување.","FAQ_09_P2":"Имајте предвид дека единствениот официјален додаток кој користи BitTorrent е ${1}Vodo${2}, кој обезбедува инди содржина, а сето тоа е дозволено да се дистрибуира со BitTorrent.","FAQ_09_P3":"Не поддржуваме употреба на додатоци од трета страна што може да овозможат прекршување на авторските права.","FAQ_10_H1":"Што можам да гледам во Stremio со официјалните додатоци?","FAQ_10_P1":"Стандардно, можете да гледате содржини на Filmon.tv, YouTube и Vodo во самиот Stremio, со неговиот вграден плеер. Дополнително, имаме додаток за Twitch.tv и неколку други.","FAQ_10_P2":"Оваа комбинација обезбедува избор на:","FAQ_10_L1":"Популарни ТВ канали, обезбедени од Filmon.tv - на пример E4, BBC, Bollyworld TV","FAQ_10_L2":"Сè од YouTube - на пример BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Инди филмови со Vodo","FAQ_10_L4":"Емитување на онлајн игри со Twitch.tv","FAQ_10_P3":"Дополнително, има многу извори на содржина обезбедени со Guidebox и додатоците на Netflix, кои не се репродуцираат целосно во Stremio, туку би се пренасочиле на дадената услуга. На пример, додатокот Guidebox ќе ви даде избор на филмови што можете да ги проследувате во САД бесплатно, од услуги како TubiTV и Crackle.","FAQ_11_H1":"Stremio нема да се инсталира, што да правам?","FAQ_11_P1":"Ако сте на Windows, обидете се со ${1}овој алтернативен инсталатер${2}.","FAQ_11_P2":"Ако сте на Mac OS X, ве молиме имајте предвид дека не поддржуваме ништо постаро од OS X Mavericks (10.9).","FAQ_11_P3":"Ако сте на Linux, имајте предвид дека ние во моментов поддржуваме само 64 битен (x64) Linux.","FAQ_11_P4":"Ако сè уште не можете да го решите вашиот проблем, пишете ни во нашата ${1}група на Facebook${2}.","FAQ_12_H1":"Зошто се жали мојот антивирус? Дали Stremio е безбеден?","FAQ_12_P1":"Ве уверуваме дека Stremio е ${1}100% чист${2}.","FAQ_12_P2":"Вашиот антивирус се жали затоа што вклучуваме рекламирање во нашиот инсталатер, кој некои антивирусни програми го препознаваат како рекламна програма.","FAQ_12_P3":"Ако сè уште не сте сигурни, можете да го испробате нашиот ${1}алтернативен инсталатер${2}.","FAQ_13_H1":"Како можам да направам додаток?","FAQ_13_P1":"За почеток, ви препорачуваме да го проверите нашиот ${1}системски модул за додатоци${2} на GitHub.","FAQ_13_P2":"Потоа, можете да го следите упатството за ${1}Hello World${2}.","FAQ_13_P3":"Ако немате никакви програмски вештини, ве молиме објавете ја вашата идеја на ${1}заедницата на Reddit${2} и контактирајте не со вашата идеја за додаток на ${3}office@stremio.com${4}.","FAQ_14_H1":"Како се објавуваат додатоците?","FAQ_14_P1":"Кога креирате додаток и хост и ставате поле endpoint во вашиот манифест, што укажува на работна адреса за додаток, додатокот автоматски ќе се објави во нашиот ${1}Addon каталог${2} .","FAQ_14_P2":"Ова се случува затоа што серверот дел од модулот stremio-addons автоматски се јавува до нашиот API за да го објави додатокот. Кога нашиот API ќе ја потврди вашата крајна точка како валиден додаток, тој ќе почне да се прикажува во каталогот.","FAQ_15_H1":"Може ли да го стартувам Stremio во мојот прелистувач?","FAQ_15_P1":"Не во моментов, но ова доаѓа!","FAQ_15_P2":"Ако сте љубопитни да видите Alpha, можете да ја видите овде: ${1}alpha4.strem.io${2}. Имајте на ум, преносот е оневозможен на оваа алфа. Ние поддржуваме Chrome, Firefox, Opera и Edge.","FAQ_16_H1":"Емитувањето на ТВ не функционира / преводите не функционираат","FAQ_16_P1":"Емитувањето на ТВ ја користи технологијата DLNA која е многу неконзистентна помеѓу различни брендови и модели на ТВ. Поради таа причина, немаме можност да го тестираме во секој случај, па затоа е далеку од совршен. И покрај тоа, ние работиме постојано да го подобруваме, но не можеме да ви дадеме временска проценка кога DLNA ќе почне да работи правилно со вашиот телевизор.","FAQ_16_P2":"Ако дури и не го гледате вашиот телевизор во менито за емитување, обидете се да ја оневозможите мрежната врска и повторно да ја овозможите (на Windows, кликнете со десното копче на мрежата и користете Овозможи/Оневозможи), како и рестартирање на рутерот, ТВ и компјутерот .","FAQ_16_P3":"Ако сè уште се соочувате со проблеми, можете да ни помогнете со испраќање информации за брендот и моделот на вашиот телевизор на ${1}office@stremio.com${2}.","FAQ_16_P4":"Во меѓувреме, го препорачуваме Chromecast, кој го поддржуваме многу добро, или едноставно да го вклучите вашиот телевизор на вашиот компјутер со HDMI кабел.","FAQ_17_H1":"Stremio замрзнува и/или паѓа, што можам да направам?","FAQ_17_P1":"Прво, ако користите Windows 7 со AVG антивирус: имаме проблем со таа комбинација. Проблемот е во самиот AVG и не постои разумен начин да се реши од наша страна. За жал, исклучоците или оневозможувањето на антивирусот нема да работи. Единственото решение е да го замените AVG со нешто друго.","FAQ_17_P2":"Ако тоа не е проблемот, но сè уште користите Windows, ажурирајте го на најновиот сервисен пакет и ажурирајте ги/повторно инсталирајте ги драјверите за графичкиот процесор, а потоа обидете се повторно.","FAQ_17_P3":"Ако проблемот сè уште не е решен или користите Mac или Linux, пишете ни да ги пријавиме точните детали за проблемот во ${1}нашата група на Facebook${2}.","FAQ_18_H1":"Како можам да направам додаток?","FAQ_18_P1":"За почеток, ви препорачуваме да го проверите нашиот ${1}системски модул за додатоци${2} на GitHub.","FAQ_18_P2":"Потоа, можете да го следите упатството за ${1}Hello World${2}.","FAQ_18_P3":"Ако немате никакви програмски вештини, ве молиме објавете ја вашата идеја на ${1}заедницата на Reddit${2} и контактирајте не со вашата идеја за додаток на ${3}office@stremio.com${4}.","FAQ_19_H1":"Зошто Stremio зафаќа простор на дискот?","FAQ_19_P1":"Stremio има локален кеш за привремено да ги задржи видео-датотеките што ги пренесувате.","FAQ_19_P2":"Ова има две предности: прво, му овозможува на Stremio однапред да го тампонира видеото што следи за да обезбеди понепречено проследување. Второ, ги чува видеата во локалната кеш за да можете да продолжите да ги гледате офлајн.","FAQ_19_P3":"Колку ќе задржи Stremio зависи од поставката Кеш во панелот Поставки. Stremio може да се задржи до поставената количина (на пр. 2 GB) на вашиот диск, освен ако моментално емитуваното видео е поголемо од тоа, во тој случај треба да одвои доволно простор за да го задржи додека не го пренесувате.","FAQ_20_H1":"Каде е папката кеш?","FAQ_20_P1":"На Windows, тоа е stremio-cache во уредот што го избравте во Поставки (пример. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"На MacOS, е \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"На Linux, е \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"Добивам грешка \\"Серверот за стриминг не е пронајден\\", што можам да направам?","FAQ_21_P1":"Ако ја добиете оваа грешка, тоа значи една од неколкуте работи:","FAQ_21_P2":"1) Се обидувате да користите додаток поддржан од извор на YouTube/BitTorrent, преку нашата ${1}веб верзија${2}. Во овој случај, треба да ја инсталирате нашата десктоп верзија од ${3}нашата веб-локација${4}.","FAQ_21_P3":"2) Нешто не е во ред со вашата инсталација Stremio. Во овој случај, обидете се повторно да ја инсталирате нашата најнова верзија за десктоп од ${1}веб-страницата${2}. Ако ова не помогне, обидете се да ги оневозможите антивирусните програми и заштитните ѕидови, рестартирајте го компјутерот и обидете се повторно. Ако и ова не функционира, пишете ни во нашата ${3}нашата група на Facebook${4}.","FAQ_22_H1":"Не можам да ги видам/користам повеќето додатоци на iOS","FAQ_22_P1":"Поради ограничувањата во одредбите и условите на Apple App Store, ја ограничивме апликацијата за iOS само на одреден сет на додатоци.","FAQ_22_P2":"Но, бидете сигурни - ќе има повеќе додатоци за iOS во иднина, а може да додадеме и интеграција што ќе ви овозможи да ги користите сите додатоци на Stremio благодарение на поврзувањето на апликацијата за iOS со серверот за стриминг Stremio."}')},88038:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Wayang","TYPE_series":"Siri","TYPE_tv":"Saluran TV","TYPE_channel":"Saluran","TYPE_other":"Other","TYPE_movie_PL":"Wayang","TYPE_series_PL":"Siri","TYPE_tv_PL":"Saluran TV","TYPE_channel_PL":"Saluran","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Kembali","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Teroka","Board":"Papan","Library":"Pustaka","My Library":"My Library","Calendar":"Takwim","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"cari","SEARCH_NO_RESULTS":"No results were found","SEARCH_EXPLANATION_CONTENT":"Search for movies, series, YouTube and TV channels","SEARCH_EXPLANATION_PEOPLE":"Search for actors, directors and writers","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Tambah dalam Pustaka","REMOVE_FROM_LIB":"Keluarkan dari Pustaka","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Watch Trailer","WATCH_NOW":"Tonton Sekarang","SHOW":"Tayang","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb","YEAR":"Tahun","DIRECTOR":"Pengarah","WRITER":"Penulis","LEAD_ACTORS":"Teraju Utama","CAST":"Pelakon","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Ke Udara","SEASONS":"Musim","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Ringkasan","SHOW_MORE":"Show More","SIMILAR":"Yang Serupa","UPCOMING":"Akan Datang","TBA":"TBA","ENDED":"Tamat","DURATION":"Tempoh","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"cari video","SEARCH_PLACEHOLDER":"search or paste magnet link","ADDON":"addon","ADDONS":"Addons","OFFICIAL":"rasmi","ADDONS_OFFICIAL":"Addons Stremio Rasmi","ADDONS_POPULAR":"Mahsyur di kawasan anda","ADDON_FREE":"Percuma","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"langganan","ADDON_STREAM_GEORESTRICTED":"tiada dalam kawasan anda","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Streams yang sedia ada","NO_STREAM":"Tiada streams buat masa ini","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Tunjukkan semua addons »","ADDON_CATALOGUE_MORE":"More addons »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons repository already exist","ADDON_REPO_ERR":"Error occurred while adding repository","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Protected addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection url","ERR_NOT_ADDON_URL":"Not an addon url","ERR_DETECTFROMURL":"Cannot detect from url","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Addon pulling failed","REFRESH_ON_CLICK":"Click to retry","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Tayangan masih dalam teater","WATCH_IN_CINEMA":"Tonton di wayang berdekatan anda","IN_THEATER":"Dalam tayangan","GET_TICKETS":"Dapatkan Tiket","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.
    Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Alamak, ralat pemain","PLAYER_ERROR_LOOKSLIKE":"Nampaknya seperti","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streaming dari","CASTING_TO":"Tayangkan ke","NETWORK_STATUS":"Status capaian","STREAM_SPEED":"Kelajuan stream:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Maklumat peers","PEERS_ACTIVE":"Aktif:","PEERS_CONNECTED":"Sambungan:","PEERS_WAITING":"Menunggu:","TRANSCODING_WARNING":"Amaran: video transkoding.","STREAM_LOADING":"Memuatkan...","PLAYING_LOCAL":"main dari fail tempatan","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Pilih peranti untuk tayang","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","NO_OPTIONS":"No options available","PHONE_TABLET":"Bimbit / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Tukar sari kata untuk ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles #{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use G / H keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use G / H keys while playing to adjust.","SUBTITLES_DELAY":"Sari kata lewat:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Musim","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episod","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"baru","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"ditonton","SORT_YEAR":"year","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"sambung","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Mahsyur","DISCOVER_OSCAR":"Pemenang Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Masuk guna Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"atau","I_ACCEPT":"Saya akur","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terma dan Syarat","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Kata laluan tak sama","SIGN_UP":"Daftar","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Masuk","LOG_OUT":"Keluar","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Katalaluan salah. Sekiranya terlupa, ","SET_A_PASS":"tetapkan satu kata laluan","RESET_PASSWORD":"Reset password","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"Emel ini telah diguna This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Aktifkan tambahan ini?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Apa yang terbaru","BUTTON_CONTINUE":"Teruskan","BUTTON_ACTIVATE":"Aktifkan","BUTTON_ACTIVATED":"Aktif","BUTTON_CANCEL":"Batal","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Cara bagaimana untuk mula:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications & recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series & movies to it:","IMPORT_FB":"Import things you like from Facebook","IMPORT_TRAKT":"Import your media library from Trakt","IMPORT_DISCOVER":"Find interesting stuff from Discover","IMPORT_DISK":"Import movies or shows you have on your local disk","PLEASE_CREATE_ACC":"Please create an account to enable Library sync & Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from Discover","IMPORT_DISK_SIGNUP":"Sigm up and import movies or shows you have on your local disk","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Lancarkan bila mula","SETTINGS_VLC_DEFAULT":"Main guna VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Terus main episod seterusnya","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import dari Facebook","SETTINGS_IMPORT_DISK":"Import dari local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Masukkan ke kalendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Tukar katalaluan","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Bahasa","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Keluar","CONNECTED":"Connected","AUTHENTICATE":"Pengesahan","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Select caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januari","February":"Februari","March":"Mac","April":"April","May":"Mei","June":"Jun","July":"Julai","August":"Ogos","September":"September","October":"Oktober","November":"November","December":"Disember","Monday":"Isnin","Tuesday":"Selasa","Wednesday":"Rabu","Thursday":"Khamis","Friday":"Jumaat","Saturday":"Sabtu","Sunday":"Ahad","Action":"Aksi","Comedy":"Komedi","War":"Perang","Family":"Kekeluargaan","Animation":"Animasi","Adventure":"Pengembaraan","Fantasy":"Khayalan","Crime":"Jenayah","Mystery":"Misteri","Romance":"Percintaan","Drama":"Drama","Horror":"Seram","Thriller":"Seram Sejuk","Sci-Fi":"Sains","Music":"Musik","Biography":"Biografi","Documentary":"Dokumentari","Sport":"Sukan","Musical":"Muzikal","Western":"Barat","Film-Noir":"Film-Noir","News":"Berita","History":"Sejarah","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Permainan","From TV":"Dari TV","Lifestyle":"Gaya Hidup","Science & Education":"Sains & Pendidikan","Cooking & Health":"Masakan & Kesihatan","Beauty & Fashion":"Kecantikan & Fesyen","Sports":"Olah raga","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Radio Akhbar Perniagaan","Business Tv":"Tv Niaga","Cars & Auto":"Kereta & Kenderaan","Comedy Radio":"Radio Jenaka","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Jasmani & Jiwa","Education":"Pendidikan","Indian Tv":"Tv India","Extreme Sports":"Sukan Lasak","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Tv Selebriti","Science Tv":"Tv Sains","Bikini babe":"Awek Bikini","Outdoors":"Outdoors","German Tv":"TV German","French Tv":"TV Perancis","Italian Tv":"Tv Itali","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"Radio Akhbar","Music Radio":"Radio Muzik","Language Learning":"Belajar Bahasa","Science Radio":"Radio Sains","Tech Radio":"Radio Tek","Science & Technology Vod":"Vod Sains & Teknologi","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"berita","music video":"video muzik","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Tayang","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Skrin Penuh","CTX_WRONG_SUBS":"Sari kata salah?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Salin","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Paste","CTX_CLEAR":"Padam","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Damai Sana","HOPE_YOU_ENJOY":"Kami harap anda terhibur dengan Stremio dan menjadi salah satu apps kegemaran anda","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.
    This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.
    Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.
    Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Muat Turun Sekarang","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Teknologi","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Saluran","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Rancangan TV yang disarankan","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"Video Baharu","WEBSITE_BOARD_EPISODE":"Episod Baharu","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to contact us.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"If you are looking to contact us, go ahead at","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science.
    Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which do not play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a endpoint field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your endpoint as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a local cache to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the Cache setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},2566:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"TV kanal","TYPE_channel":"Kanal","TYPE_other":"Other","TYPE_movie_PL":"Filmer","TYPE_series_PL":"Serier","TYPE_tv_PL":"TV kanaler","TYPE_channel_PL":"Kanaler","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Tilbake","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Oppdag","Board":"Board","Library":"Bibliotek","My Library":"My Library","Calendar":"Kalender","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"Søk blant","SEARCH_NO_RESULTS":"Ingen resultater","SEARCH_EXPLANATION_CONTENT":"Søk etter filmer, serier, YouTubevideoer and TV-kanaler","SEARCH_EXPLANATION_PEOPLE":"Søk etter skuespillere, regissører and manusforfattere","SEARCH_PASTE_LINKS":"Lim inn HTTP og magnetlinker","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Legg til i bibliotek","REMOVE_FROM_LIB":"Fjern fra bibliotek","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Se Trailer","WATCH_NOW":"Se Nå","SHOW":"Vis","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Se tilfeldig","IMDB_RATING":"IMDb Rangering","YEAR":"År","DIRECTOR":"Regissør","WRITER":"Forfatter","LEAD_ACTORS":"Hovedskuespillere","CAST":"Skuespillere","CREW":"Crew","SHOW_MORE_CAST":"Vis mer »","AIRED":"Utgitt","SEASONS":"Sesonger","GENRE":"Sjanger","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Sammendrag","SHOW_MORE":"Show More","SIMILAR":"Lignende","UPCOMING":"Kommer","TBA":"TBA","ENDED":"Endte","DURATION":"Lengde","FEATURED":"Utvalgt","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"søk i videoer","SEARCH_PLACEHOLDER":"search or paste magnet link","ADDON":"Utvidelse","ADDONS":"Utvidelser","OFFICIAL":"Offisielle","ADDONS_OFFICIAL":"Offisielle Stremio Utvidelser","ADDONS_POPULAR":"Populært i ditt område","ADDON_FREE":"Gratis","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnering","ADDON_STREAM_GEORESTRICTED":"ikke tilgjengelig i ditt område","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Lokal fil","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Tilgjengelige Strømmninger","NO_STREAM":"Ingen strømmninger tilgjengelige","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Vis alle utvidelser »","ADDON_CATALOGUE_MORE":"Fler utvidelser »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons repository already exist","ADDON_REPO_ERR":"Error occurred while adding repository","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Protected addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection url","ERR_NOT_ADDON_URL":"Not an addon url","ERR_DETECTFROMURL":"Cannot detect from url","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Addon pulling failed","REFRESH_ON_CLICK":"Click to retry","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Filmen er fortsatt på kino","WATCH_IN_CINEMA":"se den på din lokale kino","IN_THEATER":"På Kino","GET_TICKETS":"Få Biletter","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"Denne kanalen er ikke ferdig enda.
    Vennligst kom tilbake om noen få minutter.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Legg den til i ditt bibliotek for å bli varslet når den blir tilgjengelig.","GET_NOTIFIED_WHEN_AVAILABLE":"Du vil bli varslet med en gang den er tilgjengelig.","WARNING_STREAMING_SERVER":"Advarsel: lokal strømmeserver ble ikke funnet. Det vil ikke være tilgjengelig å strømme fra YouTube og BitTorrent.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, spiller feil","PLAYER_ERROR_LOOKSLIKE":"Det ser ut som","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Strømmer fra","CASTING_TO":"Caster til","NETWORK_STATUS":"Nettverksstatus","STREAM_SPEED":"Fart på strømmen:","STREAM_BUFFERED":"Buffret:","PEERS_INFO":"Informasjon om peers","PEERS_ACTIVE":"Aktive:","PEERS_CONNECTED":"Tilkoblede:","PEERS_WAITING":"Venter:","TRANSCODING_WARNING":"Advarsel: transkoder videoen.","STREAM_LOADING":"Laster...","PLAYING_LOCAL":"Spiller fra lokal fil","PLAYING_CACHE":"Spiller fra cache","WRONG_SUBS":"Feil undertekster?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Velg en enhet å strømme fra","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Nettbrett","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Endre undertekster for ","SUBTITLES_CHANGE_NONE":"Det er ingen andre undertekster for dette språket, beklager.","SUBTITLES_CHANGE_ACIVE":"Undertekst #{{subtitlesDialog.activeIdx + 1}} er aktivert. Klikk \\"Fortsett\\" for å aktivere undertekster #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativt,","SUBTITLES_ADJUST_DELAY":"Still inn undertekstsforsinkelse:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Eller bruk G / H tastene når du ser for å justere.","SUBTITLES_ADJUST_DELAY_TIP":"TIPS: du kan bruke G / H tastene når du ser for å justere.","SUBTITLES_DELAY":"Undertekstsforsinkelse:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sesong","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trender","SORT_RECENT":"nylig","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rangering","SORT_WATCHED":"sett","SORT_YEAR":"år","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"gjenoppta","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"avvis","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Utvalgt","DISCOVER_TOP":"Topp","DISCOVER_OSCAR":"Oscar vinnere","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Advarsel: ingen Stremio utvidelse aktiv for denne typen. Viser lagrede elementer, ingenting vil oppdatere.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Start på nytt nå!","UPGRADE":"Oppdater til den nyeste Stremio versjonen","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Har du ikke en bruker?","HAVE_ACC":"Already have an account?","PASSWORD":"Passord","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-post","FB_LOGIN":"Logg inn med Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Ingenting vil bli delt uten din tillatelse :)","FB_NOPOST":"We won’t post anything on your behalf","OR":"eller","I_ACCEPT":"Jeg godtar ","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Vilkårene og betingelsene","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passordene er ikke like","SIGN_UP":"Registrer","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Logg inn","LOG_OUT":"Logg ut","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Logg inn som gjest","GUEST_LOGIN_NOTICE":"Gjesteinnlogging er ikke anbefalt. Å bruke en vanlig inlogging gjør det lettere for Stremio å synkronisere biblioteket ditt og å motta varsler for dine favoritt serier/kanaler. Er su sikker på at du vil fortsette?","GUEST_LOGIN_NOTICE_2":"Gjesteinnlogging er ikke anbefalt - du vil ikke ha tilgang til et synkronisert bibliotek eller board, som er which are viktige Stremio funksjoner. ER du sikker på at du vil fortsette?","CLICK_HERE":"Klikk her","WRONG_PASSWORD":"Feil passord. I tilfelle du har glemt passordet, ","SET_A_PASS":"lag et passord","RESET_PASSWORD":"Reset password","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Glemt passord?","EMAIL_USED_WITH_FB":"Denne eposten er i bruk av en Facebook innlogging.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Tilkoblingsfeil - venligst prøv igjen senere.\\n\\nHvis feilen fortsetter, deaktiver brannmuren/anti-virus program (spesielt Bitdefender).","IMPORT_FROM_GUEST":"Importer bibliotek fra en gjestebruker","RECEIVE_UPDATES_EMAIL":"Motta oppdateringer fra Stremio på epost","LOGIN_FAILED":"Innlogging feilet.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Bruk av tredjeparts-utvidelser vil alltid være ditt ansvar med hennsyn til den gjeldene loven der du befinner deg.","ADDON_ACTIVATE":"Aktivere denne utvidelsen?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Hva er nytt?","BUTTON_CONTINUE":"Fortsett","BUTTON_ACTIVATE":"Aktiver","BUTTON_ACTIVATED":"Aktivert","BUTTON_CANCEL":"Avbryt","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Biblioteket ditt ser tomt ut. Finn ut hvor nyttig det er :) ","HOW_START":"Kom i gang:","LIB_EMPTY_CAL":"Kalenderen din viser serier i biblioteket ditt.","HOW_START_CAL":"Her er hvordan du kan legge til serier:","LIB_EMPTY_BOARD":"Board viser varsler & anbefalinger relatert til biblioteket ditt.","HOW_START_BOARD_WAIT":"Legg til noen serier eller kanaler i biblioteket ditt og gi oss noen minutter til å behandle de :)","HOW_START_BOARD":"Her er hvordan du kan legge til serier & filmer til det:","IMPORT_FB":"Importer ting du liker fra Facebook","IMPORT_TRAKT":"Importer mediebiblioteket ditt fra Trakt","IMPORT_DISCOVER":"Finn interessante ting fra Oppdag","IMPORT_DISK":"Importer filmer eller serier fra din lokale Harddisk","PLEASE_CREATE_ACC":"Venligst opprett en bruker for å aktivere biblioteksynkronisering & Board.","IMPORT_DISCOVER_SIGNUP":"Registrer deg og finn interessante ting i Discover","IMPORT_DISK_SIGNUP":"Registrer deg for å importere filmer eller serier du har på din lokale disk","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Kjør ved oppstart","SETTINGS_VLC_DEFAULT":"Spill med VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Spill av neste episode automatisk","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Endre vindusstørrelse automatisk før avspilling","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Bruk alltid den nyeste betaversjonen","SETTINGS_IMPORT_FB":"Importer fra Facebook","SETTINGS_IMPORT_DISK":"Importer fra lokal disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Abonner på en kalender","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Endre passord","SETTINGS_TOS":"Vilkår for tjenesten","SETTINGS_SUPPORT":"Kontakt support","SETTING_LANGUAGE":"Språk","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Logg ut av Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Logg ut av Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR koden for å åpne eksternt","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Avslutt","CONNECTED":"Connected","AUTHENTICATE":"Verifiser","AUTHENTICATING":"Authenticating...","CACHING":"Bufrer","SETTINGS_CACHING_DRIVE":"Velg bufrings enhet","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januar","February":"Februar","March":"Mars","April":"April","May":"Mai","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"Desember","Monday":"Mandag","Tuesday":"Tirsdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"Lørdag","Sunday":"Søndag","Action":"Action","Comedy":"Komedie","War":"Krig","Family":"Familie","Animation":"Animasjon","Adventure":"Eventyr","Fantasy":"Fantasy","Crime":"Krim","Mystery":"Mysterier","Romance":"Romantikk","Drama":"Drama","Horror":"Grøsser","Thriller":"Spenning","Sci-Fi":"Sci-Fi","Music":"Musikk","Biography":"Biografi","Documentary":"Dokumentar","Sport":"Sport","Musical":"Musikal","Western":"Western","Film-Noir":"Film-Noir","News":"Nyheter","History":"Historie","Game-Show":"Gameshow","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Underholdning","Gaming":"Gaming","From TV":"Fra TV","Lifestyle":"Livsstil","Science & Education":"Vitenskap & Utdanning","Cooking & Health":"Matlaging & Helse","Beauty & Fashion":"Skjønnhet & Mote","Sports":"Sport","News & Politics":"Nyheter & Politikk","How-to & DIY":"Gjør det selv","Tech":"Teknologi","Automotive":"Bilbransjen","Causes & Non-Profits":"Saker & ideelle organisasjoner","Movies":"Filmer","Uk Live Tv":"UK Direkte TV","Fashion":"Mote","Business News Radio":"Business Nyhetsradio","Business Tv":"Business TV","Cars & Auto":"Biler og Auto","Comedy Radio":"Komedieradio","Lifestyle Radio":"Livsstilsradio","News Tv":"Nyhets TV","Food And Wine":"Mat og Vin","Latino Tv":"Latino TV","Shopping Tv":"Shopping TV","Religion":"Religion","Kids":"Barn","Body & Soul":"Kropp og Sjel","Education":"Utdanning","Indian Tv":"Indisk TV","Extreme Sports":"Ekstremsport","Middle Eastern Tv":"TV fra Midtøsten","Celebrity Tv":"Kjendis TV","Science Tv":"Vitenskaps TV","Bikini babe":"Bikini babe","Outdoors":"Utendørs","German Tv":"Tysk TV","French Tv":"Fransk TV","Italian Tv":"Italiensk TV","Gamer Tv":"Spill TV","Travel":"ReiseTV","Asian Tv":"Asiatisk TV","Entertainment":"Underholdning","News Radio":"Nyhetsradio","Music Radio":"Musikkradio","Language Learning":"Språklæring","Science Radio":"Vitenskapsradio","Tech Radio":"Teknologiradio","Science & Technology Vod":"Vitenskap -og Teknologi VOD","new video":"ny video","new episode":"ny episode","new movie":"ny film","recommended":"anbefalt","we recommend":"vi anbefaler","offer of the day":"dagstilbud","news":"nyheter","music video":"musikkvideo","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Forkast varsler","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Del","CTX_COPY_SHARE_LINK":"Kopier link for deling","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Vis","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Se på","CTX_WATCH":"Se","CTX_WATCHED":"Sett","CTX_WATCH_BEGINNING":"Se fra starten","CTX_WATCH_MOBILE":"Se på en mobil enhet","CTX_REWIND":"Spol til start","CTX_MARK_WATCHED":"Merk som sett","CTX_MARK_NON_WATCHED":"Merk som ikke sett","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Få nye varsler","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Fjern fra bruffren","CTX_REMOVE_CACHE_EP":"Fjern episode fra buffren","CTX_OPEN_CONTAINING":"Åpne mappen som inneholder filen","CTX_REMOVE":"Fjern fra bilbiotek","CTX_AVAILABLE_OFFLINE":"Tilgjengelig Offline","CTX_PAUSED":"Pauset","CTX_ALWAYS_ON_TOP":"Alltid på toppen","CTX_FULLSCREEN":"Fullskjem","CTX_WRONG_SUBS":"Feil undertekster?","CTX_REPORT_ISSUES":"Rapporter en feil","CTX_COPY":"Kopier","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Lim inn","CTX_CLEAR":"Tøm","CTX_CLEAR_RECENT_SEARCHES":"Tøm nylige søk","HELLO_THERE":"Hei!","HOPE_YOU_ENJOY":"Vi håper du liker Stremio og at det er en av dine favoritt apper allerede!","WHO_ARE_WE":"Hvem er vi? Vi er teamet bak appen - to gutter som har jobbet hardt med appen hver dag i de siste 3 årene, med kun ett mål - å gjøre dette produkte bedre og bedre.","SUPPORT_US":"Hvis du liker Stremio, hvis Stremio er verdifull for deg - støtt oss!","SPREAD_THE_WORD":"Del med vennene dine og spred ordet om Stremio","MORE_PEOPLE":"Jo fler som bruker Stremio, jo bedre blir det!","SEND_A_LINK":"Eller send en link til websiden vår","TIP_LOCALFILES":"Tips: du kan dra og slippe lokale videoer inn i Stremio","ADDON_MY":"Mine utvidelser","ADDON_COMMUNITY":"Samfunnets utvidelser","ADDON_OFFICIAL":"Offisielle utvidelser","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Søk etter utvidelser","ADDON_INSTALL":"Installer","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Avinstaller","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installert","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Side for utvidelser","ADDON_TOP_CONTENT":"Det beste fra denne utvidelsen","ADDON_PROVIDES":"git","ADDON_WATCH":"Se #{types} nå!","ADDON_WATCH_FREE":"Se #{types} GRATIS nå!","ADDON_ADDON":"Utvidelse","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"Mer #{types} i oppdag","ADDON_PROVIDES_STREAMS":"Se #{types}","ADDON_PROVIDES_STREAMS_FREE":"Se #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Undertekster for #{types}","ADDON_CANTDETECT":"Vi kunne ikke oppdage en kjørende Stremio, så vi kunne ikke oppdage hvilke utvidelser du har installert.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Fortsett å se","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmer valgt spesielt for degg.
    Denne filmen er en eksempel rekommandasjon","BOARD_EXPLANATION_EPISODES":"Nye episoder av favorittseriene dine kommer her.
    Legg til serier du følger med på i biblioteket ditt.","BOARD_EXPLANATION_VIDEOS":"Nye episoder av dine favorittkanaler kommer her.
    Legg til YouTubekanaler du følger med på i biblioteket ditt.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Se med en gang","WEBSITE_SLOGAN_ALL":"Alt videoinnholdet du liker på ett sted","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Last ned nå","WEBSITE_DOWNLOAD_FOR":"Last Ned For","WEBSITE_IS_DESKTOP":"Stremio er et skrivebordsprogram, åpne denne siden på PCen din og last ned nå!","WEBSITE_DESKTOP_DEMO_VID":"Skriveborddemo","WEBSITE_PAGE_HOME":"Hjem","WEBSITE_PAGE_FEATURES":"Funkjsoner","WEBSITE_PAGE_ADDONS":"Utvidelser","WEBSITE_PAGE_TECH":"Teknologi","WEBSITE_PAGE_CREATE_ADDON":"Lag utvidelse","WEBSITE_PAGE_CONTACTS":"Kontakter","WEBSITE_PAGE_BLOG":"Blogg","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmer","WEBSITE_TYPE_series_PL":"Serier","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Kanaler","WEBSITE_STREMIO_WHAT_IS":"Stremio er en app som hjelper deg å organisere og umiddelbart se dine favoritt videoer, filmer, TV-serier og TV-kanaler.","WEBSITE_FEATURES_WATCH":"Se øyeblikkelig i HD","WEBSITE_FEATURES_WATCH_DETAIL":"Klikk og spill dine favoritt filmer, TV-programmer, videoer og TV-kanaler.","WEBSITE_FEATURES_SUBS":"Automatiske undertekster","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio velger automatisk synkroniserte undertekster for språket ditt.","WEBSITE_FEATURES_SUBS_LABEL":"Din tur, sjef.","WEBSITE_FEATURES_CAST":"Spill på TV og mobile enheter","WEBSITE_FEATURES_CAST_DETAIL":"Cast til AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile enheter.","WEBSITE_LIB":"Nyt ditt personlige bibliotek synkronisert på alle enhetene dine","WEBSITE_LIB_COLLECT":"Samle fra Stremio","WEBSITE_LIB_IMPORT":"Importer fra Facebook","WEBSITE_LIB_LOCAL":"Legg til fra din lokale harddisk","WEBSITE_BOARD":"Board - Ditt one-stop sted for varsler og anbefalinger","WEBSITE_BOARD_RECOMMEND":"Anbefalt TV Show","WEBSITE_BOARD_TRENDING":"Populær film","WEBSITE_BOARD_NEW":"Ny video","WEBSITE_BOARD_EPISODE":"Ny episode","WEBSITE_BOARD_1":"Leter du etter noe interessant å se på? Få anbefalinger basert på din smak!","WEBSITE_BOARD_2":"Bli varslet når en ny episode av ditt favoritt TV-program eller YouTube-kanal er ute!","WEBSITE_BOARD_YOUTUBE":"Nye episoder av YouTubekanaler","WEBSITE_BOARD_EPISODES":"Nye episoder av serier di følger.","WEBSITE_ADDONS":"Innholdsudvidelser","WEBSITE_TECH_DETAIL":"Vi elsker teknologi, vi elsker gal vitenskap!\\nStremio bruker følgende åpen kildekode-teknologier:","WEBSITE_TECH_WCJS":"WebChimera.js tillater Stremio å spille alle videoformater med god ytelse.","WEBSITE_TECH_WCJS_EXTRA":"Vi er kjerneprodukt bidragsytere","WEBSITE_TECH_ELECTRON":"Electron gir en innovativ plattform å bygge Stremio med.","WEBSITE_TECH_ELECTRON_EXTRA":"Vi er prosjekt bidragsytere","WEBSITE_TECH_LINVODB":"En databaseteknologi som sikrer dataene er organisert og tilgjengelig hvor som helst du har logger inn.","WEBSITE_TECH_LINVODB_EXTRA":"In-house teknologi","WEBSITE_CREATE_ADDON":"Lag din utvidelse","WEBSITE_CREATE_ADDON_DETAIL":"Har du en tjeneste som gir videoinnhold? Vi hjelper deg å dra nytte av Stremio funksjoner ved å lage utbidelsen din","WEBSITE_CREATE_ADDON_BENEFITS":"Fordeler med å lage en utvidelse for Stremio","WEBSITE_P2P_BEAUTY":"Skjønnheten av Peer-To-Peer strømming","WEBSITE_P2P_1":"Pålitelig og rimelig full HD / 4K video on demand eller direktestrømming","WEBSITE_P2P_2":"Distribusjonsplattform som gir god brukeropplevelse","WEBSITE_P2P_3":"Vi vil lage en utvidelse tilfredstiller dine behov","WEBSITE_P2P_CONTACT":"Interessert? Du er velkommen til å kontakte oss.","WEBSITE_P2P_CONTACT_EXTRA":"Vi vil gjerne hjelpe deg med å integrere innholdet ditt med Stremio!","WEBSITE_P2P":"En gang i blant, kommer det en teknologi som endrer spillereglene. Vi har investert tonnevis med tid og krefter på å bygge vår Peer-to-Peer (P2P) video streaming motor som gir god ytelse og allsidighet til å tilpasse enhver bruk.\\nKontakt oss for DRM-aktivert P2P video on demand eller live streaming.","WEBSITE_THOUGHTS":"Tanker vi deler:","WEBSITE_SPREAD":"Spre ordet om Stremio:","WEBSITE_CONTACT":"Hvis du ønsker å kontakte oss, kjør på","WEBSITE_OPENSOURCE":"For våre åpene kildekode-prosjekter, gå til vår","WEBSITE_BITCOIN":"Doner med bitcoin:","WEBSITE_FAQ":"Ofte stilte spørsmål","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Vilkår for bruk","WEBSITE_LEGAL":"Juridisk","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science.
    Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which do not play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a endpoint field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your endpoint as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a local cache to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the Cache setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},70796:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"चलचित्र","TYPE_series":"श्रृङ्खला","TYPE_tv":"टिभी च्यानल","TYPE_channel":"च्यानल","TYPE_other":"अन्य","TYPE_movie_PL":"चलचित्रहरू","TYPE_series_PL":"श्रृङ्खला","TYPE_tv_PL":"टिभी च्यानलहरू","TYPE_channel_PL":"च्यानलहरू","TYPE_other_PL":"अन्य","TYPE_ALL":"सबै","TYPE":"प्रकार","CATALOG_com_linvo_cinemeta_top":"लोकप्रिय","CATALOG_com_linvo_cinemeta_imdbRating":"विशेष","CATALOG_com_linvo_cinemeta_year":"नयाँ","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"सार्वजनिक डोमेन चलचित्रहरू","VIDEO":"भिडियो","BACK":"फिर्ता","MORE":"थप","DONE":"सकियो","COPY":"प्रतिलिपि","SUCCESS":"सफल","ERROR":"त्रुटि","SETTINGS_CASTING_MODE_PICKER":"कास्टिङ मोड","CASTING_MODE_HLSV2":"पूर्वनिर्धारित","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"कुनै ट्रान्सकोडिङ छैन","Discover":"डिस्कवर","Board":"बोर्ड","Library":"लाइब्रेरीमा","My Library":"मेरो लाइब्रेरीमा","Calendar":"पात्रो","NOTIFICATION_ONLINE":"तपाई अहिले अनलाइन हुनुहुन्छ","NOTIFICATION_OFFLINE":"तपाई हाल अफलाइन हुनुहुन्छ","INTERNET_CONNECTION":"नेटवर्क जडान","STORAGE_FULL_TITLE":"चेतावनी: भण्डारण भरियो!","STORAGE_FULL_TEXT":"Stremio ले तपाइँको सेटिङ, प्राथमिकता वा लगइन जानकारी बचत गर्न सक्षम हुनेछैन। Stremio पुन: सुरु गर्ने वा पुन: स्थापना गर्ने बारे विचार गर्नुहोस्।","SEARCH":"खोज","SEARCH_NO_RESULTS":"कुनै परिणाम फेला परेन","SEARCH_EXPLANATION_CONTENT":"चलचित्र, शृङ्खला, युट्युब र टिभी च्यानलहरू खोज्नुहोस्","SEARCH_EXPLANATION_PEOPLE":"अभिनेता, निर्देशक र लेखकहरूको खोजी गर्नुहोस्","SEARCH_PASTE_LINKS":"HTTP र म्याग्नेट लिङ्कहरू टाँस्नुहोस्","SEARCH_OR_PASTE_LINK":"लिंक खोज्नुहोस् वा टाँस्नुहोस्","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"लाइब्रेरीमा थप्नुहोस्","REMOVE_FROM_LIB":"लाइब्रेरीबाट हटाउनुहोस्","ADDED_TO_LIB":"लाइब्रेरीमा थपियो","REMOVED_FROM_LIB":"लाइब्रेरीबाट हटाइयो","TRAILER":"ट्रेलर","WATCH_TRAILER":"ट्रेलर हेर्नुहोस्","WATCH_NOW":"अहिले हेर्नुहोस्","SHOW":"देखाउनुहोस्","SHOW_MOVIE":"चलचित्र देखाउनुहोस्","WATCH_RANDOM":"जथाभावी हेर्नुहोस्","IMDB_RATING":"IMDb रेटिंग","YEAR":"वर्ष","DIRECTOR":"निर्देशक","WRITER":"लेखक","LEAD_ACTORS":"मुख्य कलाकार","CAST":"कलाकारहरू","CREW":"क्रू","SHOW_MORE_CAST":"थप देखाउनुहोस् »","AIRED":"प्रसारित","SEASONS":"सिजनहरू","GENRE":"विधा","GENRE_ALL":"सबै विधाहरू","CATALOG":"क्याटलग","SUMMARY":"सारांश","SHOW_MORE":"थप देखाउनुहोस्","SIMILAR":"समान","UPCOMING":"आगामी","TBA":"TBA","ENDED":"समाप्त","DURATION":"अवधि","FEATURED":"विशेष","METADATA":"मेटाडेटा","CATEGORY":"वर्ग","LINKS_GENRES":"विधाहरू","LINKS_CAST":"कलाकार","LINKS_DIRECTORS":"निर्देशकहरू","SEARCH_VIDEOS":"भिडियोहरू खोज्नुहोस्","SEARCH_PLACEHOLDER":"लिंक खोज्नुहोस् वा टाँस्नुहोस्","ADDON":"एडोन","ADDONS":"एडोनहरू","OFFICIAL":"आधिकारिक","ADDONS_OFFICIAL":"आधिकारिक Stremio एडोनहरू","ADDONS_POPULAR":"तपाईंको क्षेत्रमा लोकप्रिय","ADDON_FREE":"नि:शुल्क","ADDON_PEERED":"पियर गरिएको","ADDON_SUBSCRIPTION":"सदस्यता","ADDON_STREAM_GEORESTRICTED":"तपाईंको क्षेत्रमा उपलब्ध छैन","ADDON_STREAM_OFFLINECACHE":"अफलाइन क्यास","ADDON_STREAM_LOCALFILE":"स्थानीय फाइल","SHARE_ADDON":"शेयर एडोन","AVAILABLE_STREAMS":"उपलब्ध स्ट्रिमहरू","NO_STREAM":"कुनै स्ट्रिमहरू फेला परेन","ALL_ADDONS":"सबै","INSTALL_MORE_ADDONS":"थप स्ट्रिमहरूको लागि, कृपया थप एडोनहरू इन्स्टल गर्नुहोस्","STREAM_NOT_SUPPORTED":"चयन गरिएको स्ट्रिम यो प्लेटफर्ममा समर्थित छैन","ADDON_CATALOGUE":"सबै एडोनहरू देखाउनुहोस् »","ADDON_CATALOGUE_MORE":"एडोनहरू इन्स्टल गर्नुहोस्","REPO_ADDED":"रेपोजिटोरी थपियो","ADDON_REPO_EXIST_ERR":"यस एडोन संग्रह पहिले नै अवस्थित छ","ADDON_REPO_ERR":"Error occurred while adding collection","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Cannot uninstall addon, it is protected","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection URL","ERR_NOT_ADDON_URL":"Not a valid addon URL","ERR_DETECTFROMURL":"Cannot find addon/collection from this URL","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Syncing installed addons to your account failed","SETTINGS_DATA_EXPORT":"Export user data","ADDON_PULL_FAILED":"Syncing installed addons from your account failed","REFRESH_ON_CLICK":"Click to retry","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Movie still in theaters","WATCH_IN_CINEMA":"Watch it in your local cinema","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.
    Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from local files, YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streaming from","CASTING_TO":"Casting to","NETWORK_STATUS":"Network status","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Waiting:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"loading...","PLAYING_LOCAL":"playing from local file","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Choose a device to watch on","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","NO_OPTIONS":"No options available","PHONE_TABLET":"Phone / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Change subtitles for ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles #{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use G / H keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use G / H keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Season","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"watched","SORT_YEAR":"year","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"Resume","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"Dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar Winners","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Continue with Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"or","I_ACCEPT":"I accept the","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terms and Conditions","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passwords don\'t match","SIGN_UP":"Sign up","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Log in","LOG_OUT":"Log out","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Wrong email or password. In case you have forgotten your password, ","SET_A_PASS":"set a password","RESET_PASSWORD":"Reset password","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Activate this addon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"What\'s new","BUTTON_CONTINUE":"Continue","BUTTON_ACTIVATE":"Activate","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Cancel","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications & recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series & movies to it:","IMPORT_FB":"Import things you like from Facebook","IMPORT_TRAKT":"Import your media library from Trakt","IMPORT_DISCOVER":"Find interesting stuff from Discover","IMPORT_DISK":"Import movies or shows you have on your local disk","PLEASE_CREATE_ACC":"Please create an account to enable Library sync & Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from Discover","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your local disk","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Language","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"January","February":"February","March":"March","April":"April","May":"May","June":"June","July":"July","August":"August","September":"September","October":"October","November":"November","December":"December","Monday":"Monday","Tuesday":"Tuesday","Wednesday":"Wednesday","Thursday":"Thursday","Friday":"Friday","Saturday":"Saturday","Sunday":"Sunday","Action":"Action","Comedy":"Comedy","War":"War","Family":"Family","Animation":"Animation","Adventure":"Adventure","Fantasy":"Fantasy","Crime":"Crime","Mystery":"Mystery","Romance":"Romance","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Music","Biography":"Biography","Documentary":"Documentary","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.
    This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.
    Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.
    Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to contact us.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science.
    Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which do not play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a endpoint field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your endpoint as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a local cache to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the Cache setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},25217:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Series","TYPE_tv":"TV-kanalen","TYPE_channel":"Kanaal","TYPE_other":"Andere","TYPE_movie_PL":"Films","TYPE_series_PL":"Series","TYPE_tv_PL":"TV-kanalen","TYPE_channel_PL":"YouTube","TYPE_other_PL":"Andere","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Terug","MORE":"Meer","DONE":"Klaar","COPY":"Kopieer","SUCCESS":"Success","ERROR":"Fout","SETTINGS_CASTING_MODE_PICKER":"Casting modus","CASTING_MODE_HLSV2":"Standaard","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Geen transcodering","Discover":"Ontdekken","Board":"Dashboard","Library":"Bibliotheek","My Library":"Mijn Bibliotheek","Calendar":"Agenda","NOTIFICATION_ONLINE":"Je bent nu online","NOTIFICATION_OFFLINE":"Je bent nu offline","INTERNET_CONNECTION":"Netwerkverbinding","STORAGE_FULL_TITLE":"Waarschuwing: geheugen is vol!","STORAGE_FULL_TEXT":"Stremio kan uw instellingen, voorkeuren of inloggegevens niet opslaan. Probeer Stremio te herstarten of opnieuw te installeren.","SEARCH":"Zoek","SEARCH_NO_RESULTS":"Er zijn geen resultaten gevonden","SEARCH_EXPLANATION_CONTENT":"Zoek naar films, series, Youtube and TV series","SEARCH_EXPLANATION_PEOPLE":"Zoek naar acteurs, filmregisseurs en schrijvers","SEARCH_PASTE_LINKS":"Plak hier HTTP en Magnet links","SEARCH_OR_PASTE_LINK":"Zoek of plak link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Toevoegen aan bibliotheek","REMOVE_FROM_LIB":"Verwijderen uit bibliotheek","ADDED_TO_LIB":"Toegevoegd aan bibliotheek","REMOVED_FROM_LIB":"Verwijderd van uw bibliotheek","TRAILER":"Trailer","WATCH_TRAILER":"Trailer bekijken","WATCH_NOW":"Nu kijken","SHOW":"Toon","SHOW_MOVIE":"Toon Film","WATCH_RANDOM":"Kijk willekeurig","IMDB_RATING":"IMDb beoordeling","YEAR":"Jaar","DIRECTOR":"Regisseur","WRITER":"Schrijver","LEAD_ACTORS":"Hoofdrolspelers","CAST":"Rolverdeling","CREW":"Crew","SHOW_MORE_CAST":"Laat meer zien »","AIRED":"Uitgezonden","SEASONS":"Seizoenen","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Catalogus","SUMMARY":"Samenvatting","SHOW_MORE":"Toon Meer","SIMILAR":"Vergelijkbaar","UPCOMING":"Opkomend","TBA":"TBA","ENDED":"Afgelopen","DURATION":"Tijdsduur","FEATURED":"Uitgelicht","METADATA":"Metadata","CATEGORY":"Categorie","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"Zoek video\'s","SEARCH_PLACEHOLDER":"zoek of plak magnet link","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"Officieel","ADDONS_OFFICIAL":"Officiële Stremio addon","ADDONS_POPULAR":"Populair in uw regio","ADDON_FREE":"Gratis","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnement","ADDON_STREAM_GEORESTRICTED":"Niet beschikbaar in uw regio","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Lokaal Bestand","SHARE_ADDON":"Deel addon","AVAILABLE_STREAMS":"Beschikbare streams","NO_STREAM":"Geen streams beschikbaar","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"Voor meer streams, installeer meer addons","STREAM_NOT_SUPPORTED":"Geselecteerde stream is niet ondersteund op dit platform.","ADDON_CATALOGUE":"Toon alle addons »","ADDON_CATALOGUE_MORE":"Meer addons »","REPO_ADDED":"Repository toegevoegd","ADDON_REPO_EXIST_ERR":"Deze addons repository bestaat al","ADDON_REPO_ERR":"Foutmelding opgetreden tijdens het toevoegen van de repository","ADDON_ADD_ERR":"Foutmelding opgetreden tijdens het toevoegen van de addon","ERR_ADDON_PROTECTED":"Beschermde addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Er ging iets fout - authenticatie is mislukt","ERR_NOT_COLLECTION_URL":"Geen collectie URL","ERR_NOT_ADDON_URL":"Geen addon URL","ERR_DETECTFROMURL":"Niets beschikbaar in de URL","ADDON_DUPLICATE_WARNING":"Waarschuwing: gedupliceerde addon","ADDON_COLLECTION_SET_FAILED":"Addon collectie set mislukt","SETTINGS_DATA_EXPORT":"Exporteer data","ADDON_PULL_FAILED":"Addon ophalen mislukt","REFRESH_ON_CLICK":"Klik om het opnieuw te proberen.","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film nog in de bioscoop","WATCH_IN_CINEMA":"Bekijk de film in een bioscoop in uw buurt","IN_THEATER":"In de bioscoop","GET_TICKETS":"Tickets bemachtigen","UPCOMING_EPISODE":"Aankomende aflevering","UPCOMING_EPISODE_MESSAGE":"Deze aflevering zal worden uitgezonden op","MISSING_DATE_EPISODE":"Ontbrekende afleveringsdatum","MISSING_DATE_EPISODE_MESSAGE":"Deze aflevering is mogelijk nog niet uitgezonden","CHANNEL_NOT_SCRAPED":"Dit kanaal is nog niet geschraapt.
    Gelieve terug te komen in een paar minuten.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Voeg deze toe aan uw bibliotheek om een melding te krijgen zodra deze beschikbaar is.","GET_NOTIFIED_WHEN_AVAILABLE":"U krijgt een melding zodra deze beschikbaar is.","WARNING_STREAMING_SERVER":"Waarschuwing: lokale streaming server niet gevonden. Streamen van Youtube en BitTorrent is niet mogelijk","WARNING_STREAMING_SERVER_DISMISS":"Sluiten","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Waarschuwing: de video is mogelijk niet ondersteund door uw hardware. De video zal mogelijks niet correct worden afgespeeld.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Woeps, Videospeler fout","PLAYER_ERROR_LOOKSLIKE":"Het lijkt erop","PLAYER_ORIENTATION":"Videospeler oriëntatie","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Vergrendeld","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Videospeler vergrendeld op horizontale weergave","PLAYER_ORIENTATION_SENSOR":"Automatische orientatieweergave videospeler (sensor)","PLAYER_PLAYBACK_SPEED":"Afspeelsnelheid","PLAYER_PLAYBACK_ERROR":"Afspeelfout, probeer het opnieuw","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Onbekende fout","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, deze video kan niet worden afgespeeld door {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Ondertiteling Talen","PLAYER_SUBTITLES_VARIANTS":"Ondertitel varianten","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Ondertitelingen zijn uitgeschakeld","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Verticale positie","PLAYER_SUBTITLES_LOADED":"Ondertitelingen geladen","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Ingebouwde ondertitelingen geladen","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusieve ondertitelingen geladen","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Ondertitelingen van {{origin}} geladen","PLAYER_PLAY":"Afspelen","PLAYER_PAUSE":"Pauzeren","PLAYER_NEXT_VIDEO":"Volgende video","PLAYER_MUTE":"Dempen","PLAYER_UNMUTE":"Dempen uitschakelen","PLAYER_OPEN_IN_EXTERNAL":"Openen in externe speler","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Afspelen op {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Komt binnenkort op","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Afwijzen","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Nu kijken","PLAYER_COPY_STREAM_SUCCESS":"De streamlink is gekopieerd naar je klembord","PLAYER_COPY_STREAM_ERROR":"Kopiëren van streamlink is mislukt","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Streamen van","CASTING_TO":"Casten naar","NETWORK_STATUS":"Netwerkstatus","STREAM_SPEED":"Snelheid:","STREAM_BUFFERED":"Gebufferd:","PEERS_INFO":"Peers informatie","PEERS_ACTIVE":"Actief:","PEERS_CONNECTED":"Verbonden:","PEERS_WAITING":"Wachten:","TRANSCODING_WARNING":"Waarschuwing: transcoderen van video.","STREAM_LOADING":"Laden...","PLAYING_LOCAL":"spelen van een lokaal bestand","PLAYING_CACHE":"spelen uit cache","WRONG_SUBS":"Verkeerde ondertiteling?","ERR_SUBS_LOADING_TITLE":"Fout tijdens laden ondertiteling","ERR_SUBS_LOADING":"Ondertiteling laden mislukt: Dit kan liggen aan de gebruikte addon, of uw internetverbinding","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Kon streamingsapparaat info niet vernieuwen: streaming server is mogelijks offline","CHOOSE_DEVICE":"Kies een apparaat om op te kijken","NO_CAST_DEVICES":"Geen cast-apparaten beschikbaar.","NO_SETTINGS":"Geen instellingen beschikbaar.","NO_OPTIONS":"No options available","PHONE_TABLET":"Mobiel/Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Ondertiteling","SUBTITLES_CHANGE":"Verander ondertiteling voor","SUBTITLES_CHANGE_NONE":"Voor deze taal zijn geen andere vertalingen beschikbaar, sorry.","SUBTITLES_CHANGE_ACIVE":"Momenteel is ondertiteling #{{subtitlesDialog.activeIdx + 1}} actief. Klik op \\"Verder\\" om ondertiteling #{{subtitlesDialog.pickedIdx + 1}} te gebruiken.","SUBTITLES_OR":"Als alternatief,","SUBTITLES_ADJUST_DELAY":"Ondertitelingsvertraging aanpassen:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Of gebruik de G / H toetsen om de ondertitels tijdens het afspelen aan te passen.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: je kan de toetsen G / H gebruiken tijdens het afspelen om aan te passen.","SUBTITLES_DELAY":"Ondertitelvertraging:","SUBTITLES_LOADING":"Ondertiteling laden...","SUBTITLES_UNAVAILABLE":"Geen externe ondertitels beschikbaar","SUBTITLES_DISABLED":"Uitgeschakeld","EXTERNAL_PLAYER_DISABLED":"Uitgeschakeld","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Kiezen toestaan","EXTERNAL_PLAYER_HINT":"Tip: Er is een instelling om altijd met de externe speler te openen","DONT_SHOW_AGAIN":"Niet meer tonen","SERVICE_INSTALL":"Installeren","AUDIO":"Audio","DEFAULT_LANGUAGE":"Standaardtaal","DEFAULT_SECONDARY_LANGUAGE":"Standaard secundaire taal","SEASON":"Seizoen","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Aflevering","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"Sorteer","SORT_BY":"Sorteren op","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"beoordeling","SORT_WATCHED":"gezien","SORT_YEAR":"jaar","SELECT":"Select","SELECT_TYPE":"Selecteer type","SELECT_SORT":"Selecteer sortering","SELECT_CATALOG":"Selecteer catalogus","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Selecteer genre","SORT_LASTWATCHED":"Op basis van laatst bekeken","SORT_NAME":"Op basis van naam","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Op basis van aantal keren bekeken","SORT_NOTWATCHED":"not watched","New for You":"Nieuw voor jou","New Episodes":"Nieuwe afleveringen","New Videos":"Nieuwe video\'s","Recommendations":"Aanbevelingen","LIBRARY_RESUME":"hervat","LIBRARY_PLAY":"Speel","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"negeer","LIBRARY_CLEAR_PROGRESS":"Verwijder voortgang","LIBRARY_REMOVE":"Verwijderen","LIBRARY_NOT_LOGGED_IN":"Bibliotheek is alleen beschikbaar voor ingelogde gebruikers","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Kalender is alleen beschikbaar voor ingelogde gebruikers","NOT_LOGGED_IN_CLOUD":"Toegang tot je favoriete films en tv-shows, waar en wanneer je maar wilt","NOT_LOGGED_IN_RECOMMENDATIONS":"Aanbevelingen op maat van jouw kijkgeschiedenis","NOT_LOGGED_IN_NOTIFICATIONS":"Mis nooit meer een aflevering","NOT_LOGGED_IN_CALENDAR":"Plan je persoonlijke kalender","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Uitgelicht","DISCOVER_TOP":"Populair","DISCOVER_OSCAR":"Oscars","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Deze addon stuurde niks terug.","DISCOVER_ADULT_WARNING":"Deze inhoud is enkel toegankelijk voor volwassenen. Ben je 18+?","DISCOVER_NOADDON_WARNING":"Waarschuwing: geen Stremio addon actief voor dit type. Opgeslagen items worden weergegeven, hier komen geen updates.","DISCOVER_LOAD_ERR":"De inhoud werd niet geladen, er deed zich een fout voor.","DISCOVER_ADDON_UNINSTALLED":"Deze inhoud is niet meer beschikbaar, Het is mogelijk dat de addon is gedeïnstalleerd.","UNINSTALL_THIS_ADDON":"Deinstalleer deze addon","ERR_ADDON_NOT_INSTALLED":"Deze add-on is niet geïnstalleerd. Nu installeren?","DETAIL_RECEIVE_NOTIF_SERIES":"Ontvang notificaties bij nieuwe afleveringen","DETAIL_RECEIVE_NOTIF_VIDEOS":"Ontvang notificaties bij nieuwe video\'s","SIDEBAR_SHOW_STREAMS":"Toon Streams","RELAUNCH":"Herstart Stremio","UPGRADE":"Update naar de laatste Stremio versie","RELOAD_UI":"Gebruikersinterface herladen","MANUAL_UPDATE_TITLE":"Update je Stremio-versie","MANUAL_UPDATE_LINE1":"Je gebruikt een verouderde versie van Stremio, wat sterk wordt afgeraden.","MANUAL_UPDATE_LINE2":"Gelieve zo snel mogelijk te updaten.","BUTTON_UPDATE_LATTER":"Later","BUTTON_UPDATE_NOW":"Updaten","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonieme gebruiker","DONT_HAVE_ACC":"Heeft u nog geen account?","HAVE_ACC":"Heeft u al een account?","PASSWORD":"Wachtwoord","PASSWORD_CONFIRM":"Bevestig wachtwoord","EMAIL":"E-mail","FB_LOGIN":"Inloggen met Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Niks wordt gedeeld zonder uw toestemming","FB_NOPOST":"Niks wordt gepost zonder uw toestemming","OR":"of","I_ACCEPT":"Ik accepteer de","I_ACCEPT_BY_CLICKING":"Door te klikken op de bovenstaande knop ga ik akkoord met de","TOS":"Algemene Voorwaarden","MUST_ACCEPT_TERMS":"U moet akkoord gaan met de voorwaarden","PASSWORDS_NOMATCH":"Wachtwoorden komen niet overeen","SIGN_UP":"Inschrijven","SIGN_UP_EMAIL":"Aanmelden met e-mail","CLICK_TO_SIGN_UP":"Klikt hier om aan te melden.","LOG_IN":"Inloggen","LOG_OUT":"Uitloggen","EXIT_FULLSCREEN":"Volledig scherm afsluiten","ENTER_FULLSCREEN":"Volledig scherm inschakelen","PLAY_URL_MAGNET_LINK":"Speel URL/Magneetlink af","HELP_FEEDBACK":"Help en feedback","TERMS_OF_SERVICE":"Gebruiksvoorwaarden","PRIVACY_POLICY":"Privacybeleid","ABOUT_STREMIO":"Over Stremio","USER_PANEL":"Gebruikerspaneel","LOGIN_LABEL":"Inloggen","GUEST_LOGIN":"Gast-login","GUEST_LOGIN_NOTICE":"Gast-login is niet aangewezen. Een vaste login gebruiken zorgt ervoor dat Stremio je bibliotheek kan synchroniseren en je notificaties krijgt over je favoriete series/kanalen. Ben je zeker dat je wilt doorgaan?","GUEST_LOGIN_NOTICE_2":"Gast-login is niet aangewezen - je zal geen gesynchroniseerd bibliotheek hebben of dashboard notificaties krijgen, beiden belangrijke Stremio functies. Ben je zeker dat je wilt doorgaan?","CLICK_HERE":"Klik hier","WRONG_PASSWORD":"Verkeerd wachtwoord. In het geval dat u uw wachtwoord vergeten, ","SET_A_PASS":"Stel een wachtwoord in","RESET_PASSWORD":"Veranderd wachtwoord","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Wachtwoord vergeten?","EMAIL_USED_WITH_FB":"Deze e-mail is al gebruikt met een Facebook login.","INVALID_EMAIL":"Voer een geldig e-mailadres in","INVALID_PASSWORD":"Voer een geldig wachtwoord in","CONN_ERR":"Connectiefout - probeer het later opnieuw.\\n\\nAls dit probleem zich aanhoudt, schakel dan uw firewall en/of anti-virus software uit (vooral Bitdefender).","IMPORT_FROM_GUEST":"Importeer bibliotheek van uw gast account","RECEIVE_UPDATES_EMAIL":"Ontvang updates via e-mail van Stremio","LOGIN_FAILED":"Login mislukt.","SIGNUP_FAILED":"Aanmelden mislukt.","SEARCH_FAILED":"Zoekopdracht mislukt","EMAIL_USED":"Dit e-mail is al in gebruik.","WAITING_FB_LOGIN":"Inloggen met Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"In extern speler afspelen","EXTERNAL_REMEMBER_PLAYER":"Wilt u uw keuze onthouden?","EXTERNAL_ALWAYS_PLAY":"Ja","EXTERNAL_ONLY_ONCE":"Nee","BEST_FIT":"Beste pasvorm","FIT_SCREEN":"Scherm passen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Geef uw voorkeuren aan","INTRO_TASTE_LONG":"Vertel ons wat je wilt bekijken","INTRO_TASTE_PICK":"Kies {{interestsRemaining}} interesses","INTRO_TASTE_PICK_MORE":"Kies {{interestsRemaining}} meer interesses","INTRO_TASTE_HELP_US":"Help ons je beter te leren kennen.","INTRO_TASTE_CHOOSE_THESE":"Kies enkel van deze:","INTRO_TASTE_CHOOSE_MIN":"Kies minimum 3 categorieën","INTRO_TASTE_CHOOSE_MIN_ERR":"Je moet minimum 3 categorieën kiezen!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Eten & Gezondheid","INTRO_TASTE_BEAUTY_FASHION":"Schoonheid & Mode","INTRO_TASTE_NEWS":"Nieuws","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Wetenschap & Onderwijs","INTRO_TASTE_MUSIC":"Muziek","INTRO_TASTE_TRAVEL":"Reizen","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedie","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"De geselecteerde addon is niet ondersteund op dit platform.","ADDON_DISCLAIMER":"Het gebruiken van addons van derden is altijd onderworpen aan uw eigen verantwoordelijkheid en het recht van de regio waar u zich bevindt.","ADDON_ACTIVATE":"Deze addon activeren?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Toevoegen","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add-on toevoegen","ADD_ADDON_DESCRIPTION":"U kunt een add-on toevoegen via een externe link, die zal verschijnen onder Geïnstalleerde add-ons.","PASTE_ADDON_URL":"Add-on-URL plakken","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Wat is er nieuw?","BUTTON_CONTINUE":"Doorgaan","BUTTON_ACTIVATE":"Activeer","BUTTON_ACTIVATED":"Geactiveerd","BUTTON_CANCEL":"Annuleer","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Verstuur","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Negeer alles","BUTTON_VIEW_ALL":"Bekijk alles","BUTTON_SEE_ALL":"Alles zien","BUTTON_COLOR_TRANSPARENT":"Transparant","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Uw bibliotheek ziet er leeg uit. Ontdek hoe nuttig het is :) ","HOW_START":"Hier is hoe je kunt beginnen:","LIB_EMPTY_CAL":"De agenda toont series in je bibliotheek.","HOW_START_CAL":"Hier is hoe je series kan toevoegen:","LIB_EMPTY_BOARD":"Het dashboard toont notificaties & aanbevelingen gebaseerd op uw bibliotheek.","HOW_START_BOARD_WAIT":"Voeg een paar series of kanalen toe aan uw bibliotheek en geef ons een paar minuten verwerktijd :)","HOW_START_BOARD":"Zo voeg je series & films toe:","IMPORT_FB":"Importeer dingen die je leuk vind van Facebook","IMPORT_TRAKT":"Importeer je media bibliotheek van Trakt","IMPORT_DISCOVER":"Ontdek interessante dingen","IMPORT_DISK":"Importeer films of series vanaf je lokale schijf","PLEASE_CREATE_ACC":"Registreer een account om van de bibliotheek & het dashboard gebruik te maken.","IMPORT_DISCOVER_SIGNUP":"Registreer en vind interessante dingen van Ontdekken","IMPORT_DISK_SIGNUP":"Registreer en importeer films en series van je lokale schijf","LIB_EMPTY_CLOUD":"Cloud bibliotheek","LIB_EMPTY_CLOUD_DESC":"Persoonlijke cloud bibliotheek gesynchroniseerd op alle toestellen","LIB_EMPTY_EARLY":"Vroege vogel","LIB_EMPTY_EARLY_DESC":"Ontvang notificaties bij nieuwe afleveringen","LIB_EMPTY_PERSONAL":"Persoonlijk","LIB_EMPTY_PERSONAL_DESC":"Ontvang persoonlijke aanbevelingen","LIB_EMPTY_CALENDAR_DESC":"Plan uw persoonlijke kijkkalender","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Registreer om deze allemaal te ontvangen","LIB_EMPTY_OTHER":"Registreer om Agenda en andere coole functies in te schakelen","CALENDAR_ADDED":"De Stremio-kalender is toegevoegd aan uw standaard desktopkalender.","CALENDAR_ADDED_MSG":"Indien dit niet werkt, voeg deze URL dan handmatig toe aan uw agendatoepassing","TRAKT_EXPIRED":"Trakt-authenticatie is verlopen, ga naar Instellingen en verifieer opnieuw","TRAKT_REQUIRES_LOGIN":"Trakt foutmelding","TRAKT_REQUIRES_LOGIN_MSG":"U moet inloggen","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Instellingen","SETTINGS_NAV_GENERAL":"Algemeen","SETTINGS_NAV_PLAYER":"Speler","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Snelkoppelingen","SETTINGS_SHORTCUT_RELOAD_APP":"Applicatie herladen","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Instellingen openen","SETTINGS_SHORTCUT_SWITCH_TABS":"Tabbladen wisselen","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Tabbladen vooruit doorlopen","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Tabbladen achteruit doorlopen","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Menu\'s navigeren","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Ga naar zoeken","SETTINGS_SHORTCUT_EXIT_BACK":"Afsluiten / Teruggaan","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Snelheid afspelen menu omschakelen","SETTINGS_SHORTCUT_MENU_VIDEOS":"Video\'s menu omschakelen","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Ondertitels menu omschakelen","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Info menu omschakelen","SETTINGS_SHORTCUT_FULLSCREEN":"Volledig scherm omschakelen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Bediening weergeven","SETTINGS_SHORTCUT_PLAY_PAUSE":"Afspelen / pauzeren","SETTINGS_SHORTCUT_VOLUME_UP":"Volume omhoog","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume omlaag","SETTINGS_SHORTCUT_SEEK_NEXT":"Volgende zoeken","SETTINGS_SHORTCUT_SEEK_PREV":"Vorige zoeken","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Terug zoeken","SETTINGS_SHORTCUT_SEEK_FORWARD":"Vooruit zoeken","SETTINGS_SHORTCUT_PLAY_NEXT":"Volgende afspelen","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Ondertitel grootte vergroten","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Ondertitel grootte verkleinen","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Ondertitel vertraging vergroten","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Ondertitel vertraging verkleinen","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Zijbalk omschakelen","SETTINGS_SHORTCUT_OR":"of","SETTINGS_SHORTCUT_TO":"naar","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Spatie","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticeren","SETTINGS_FACEBOOK_IMPORT":"Importeren","SETTINGS_CALENDAR_SUBSCRIBE":"Abonneren","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface-taal","SETTINGS_LAUNCH_STARTUP":"Opstarten openen","SETTINGS_VLC_DEFAULT":"Met VLC afspelen","SETTINGS_UI_LANGUAGE":"UI-taal","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape-toets om volledig scherm te verlaten","SETTINGS_GAMEPAD":"Gamepadondersteuning inschakelen","SETTINGS_CLOSE_WINDOW":"Applicatie sluiten als venster wordt gesloten","SETTINGS_SUBTITLES_LANGUAGE":"Standaard ondertiteltaal","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Standaard ondertitelgrootte","SETTINGS_SUBTITLES_BACKGROUND":"Ondertitelachtergrond","SETTINGS_SUBTITLES_COLOR":"Ondertitelkleur","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Ondertitelomlijning kleur","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Ondertitelachtergrondkleur","SETTINGS_SEEK_KEY":"Pijltjestoetsen zoektijd","SETTINGS_SEEK_KEY_SHIFT":"Pijltjestoetsen zoektijd wanneer Shift-toets is ingedrukt","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Terugspoel- en vooruitspoelduur","SETTINGS_BINGE":"Automatisch de volgende aflevering afspelen","SETTINGS_NEXT_VIDEO":"Geef een melding om de volgende aflevering te starten","SETTINGS_NEXT_VIDEO_TRIGGER":"Geef een melding voor de volgende aflevering voor:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Duur van de pop-up met de volgende video","SETTINGS_PLAY_IN_BACKGROUND":"Afspelen op de achtergrond","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Afspelen in externe speler","SETTINGS_RESIZE":"Vensterformaat automatisch aanpassen bij afspelen","SETTINGS_OVERRIDE_SERVER":"streaming server-URL overschrijven (geavanceerd)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"streaming server-URL: ","SETTINGS_SERVER_AVAILABLE":"streaming server is beschikbaar.","SETTINGS_SERVER_UNAVAILABLE":"streaming server is niet beschikbaar.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Fout","SETTINGS_SERVER_CONFIGURE_TITLE":"Configureer streaming server-URL","SETTINGS_SERVER_CONFIGURE_INPUT":"Voer een streaming server-URL in","SETTINGS_SERVER_CACHE_SIZE":"Cachegrootte","SETTINGS_SERVER_TORRENT_PROFILE":"Torrentprofiel","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS-eindpunt: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Gebruik altijd de laatste Beta","SETTINGS_IMPORT_FB":"Importeren van Facebook","SETTINGS_IMPORT_DISK":"Importeren van lokale schijf","SETTINGS_IMPORT_TRAKT":"Importeren van Trakt","SETTINGS_PAUSE_MINIMIZED":"Pauzeer afspelen bij minimaliseren","SETTINGS_HWDEC":"Door hardware versnelde decodering","SETTINGS_BACKGROUND":"Achtergrondweergave","SETTINGS_SUBSCRIBE_CALENDAR":"Abonneer op agenda","SETTINGS_REQ_EXPORT":"Vraag gegevens export aan","SETTINGS_ACC_DELETE":"Verzoek om account te verwijderen","SETTINGS_CHANGE_PASSWORD":"Wachtwoord veranderen","SETTINGS_TOS":"Algemene voorwaarden","SETTINGS_SUPPORT":"Contact opnemen met ondersteuning","SETTING_LANGUAGE":"Taal","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Uitloggen van Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Uitloggen van Trakt","SETTINGS_SCAN_FOR_REMOTE":"QR code scannen om afstandsbediening te openen","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notificaties","SETTINGS_DATA_SAVER":"Gegevensbesparing","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"standaard ondertiteling","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Automatische selectie audiotrack inschakelen","SETTINGS_DEFAULT_AUDIO_TRACK":"Standaard audiotrack","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"versie","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Start videospeler in apart scherm (geavanceerd)","SETTINGS_PLAY_IN_EXTERNAL":"Video altijd in externe speler starten","SETTINGS_STORAGE_BUTTON":"Lokale opslag wissen","SETTINGS_STORAGE_MODAL_TITLE":"Weet je het zeker?","SETTINGS_STORAGE_MODAL_MESSAGE":"Dit zal de lokale opslag wissen en je uitloggen.","SETTINGS_HWDEC_PICKER":"Hardwareversnelling voor decodering kiezen","SETTINGS_HW_AUTOMATIC":"Automatisch","SETTINGS_HW_DISABLED":"Uitgeschakeld","SETTINGS_HW_ACCELERATED":"Decodering versnellen","SETTINGS_HW_FULL":"Volledige versnelling","SETTINGS_HW_LEGACY":"Erfenis","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Ondertitels","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Bediening","SETTINGS_SECTION_AUTO_PLAY":"Automatisch afspelen","SETTINGS_SECTION_ADVANCED":"Geavanceerd","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Add-on ondertitels","SUBSPICKER_BLACK_BACKGROUND":"Gebruik een zwarte achtergrondkleur","SUBSPICKER_VERTICAL_OFFSET":"Verticale offset","SUBSPICKER_SIZE":"Grootte","SUBSPICKER_DELAY":"Vertraging","SUBSPICKER_EMBEDDED_SUBS":"Ingesloten ondertitels","MOBILE_PRIVACY_POLICY":"Privacybeleid","MOBILE_CRASH_REPORTING":"Crashrapportage","MOBILE_ZOOM_TO_FILL":"Zoomen om het scherm te vullen","MOBILE_PASSTHROUGH":"Digitale audio-uitvoer (doorvoer)","MOBILE_RUN_LOW_BATTERY":"Uitvoeren op een laag batterijniveau","MOBILE_RUN_FOREGROUND":"Uitvoeren als voorgrondservice","MOBILE_PERFORMANCE":"PRESTATIES & STABILITEIT","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR-code verloopt in ","MOBILE_LOG_INTO":"Log in op je Stremio-account ","MOBILE_SCAN_QR":"Scan de QR-code hierboven of ga naar ","MOBILE_LINK_ACCOUNT":"Account koppelen","MOBILE_SPEEDPICKER_CANCEL":"Annuleren","MOBILE_SPEEDPICKER_LABEL":"Selecteer afspeelsnelheid","MOBILE_EMPTY_LIBRARY":"Je bibliotheek is leeg","MOBILE_NO_ADDON_ACTIVE":"Er is geen actieve Stremio-addon voor dit type.","MOBILE_ORGANIZER_WARNING":"De Stremio Organizer-app biedt beperkte functionaliteit. Voor een lijst met afspeelbare streams en de volledige Stremio-ervaring, gebruik je Stremio op desktop.","MOBILE_ADDON_LOADING":"laadt nog","MOBILE_ADDONS_LOADING":"addons laden nog","MOBILE_ADDON":"Add-on","MOBILE_CONFIGURE_ADDON":"Configureer je add-on","MOBILE_CONFIGURE_ADDON_LABEL":"Configureer add-on","MOBILE_ORGANIZER_ADDONS_WARNING":"De Stremio Organizer-app biedt een beperkte selectie van add-ons. Voor de volledige Stremio-ervaring, gebruik je Stremio op desktop.","MOBILE_DISCONNECT":"Verbinding verbreken","MOBILE_LOOKING_FOR_DEVICES":"Zoeken naar apparaten...","MOBILE_CAST_TO":"Casten naar","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Account verwijderen","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account verwijderen is niet direct mogelijk vanwege wettelijke verplichtingen. Nadat je hebt verzocht om je account te verwijderen, moet je een andere e-mailadres/Facebook-profiel gebruiken om in de toekomst een nieuwe Stremio-account aan te maken.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Account verwijderen bevestigen","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Uw account is gemaakt met behulp van Facebook. Om je account te verwijderen kan je gebruik maken van ons gebruikersportaal op www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Voer je wachtwoord in om de account verwijderen te bevestigen.","MOBILE_DELETE_ACCOUNT_BUTTON":"Account verwijderen","NAVIGATION_ON":"Aan","NAVIGATION_OFF":"Uit","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Ik ga akkoord met het ontvangen van marketingcommunicatie van Stremio","QUIT":"Afsluiten","CONNECTED":"Verbonden","AUTHENTICATE":"Authenticeren","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Selecteer schijf voor caching","ENABLE_LOCAL_FILES_ADDON":"Schakel de lokale bestanden-add-on in (vereist herstart)","LOCAL_ADDON_NOT_ENABLED":"De lokale add-on is niet ingeschakeld. Klik hier om naar de instellingen te gaan en deze in te schakelen","ENABLE_REMOTE_HTTPS_CONN":"Schakel externe HTTPS-verbindingen in","TORRENT_PROFILE":"Torrent-profiel","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Magnetlink verwerken","January":"januari","February":"februari","March":"maart","April":"april","May":"mei","June":"juni","July":"juli","August":"augustus","September":"september","October":"oktober","November":"november","December":"december","Monday":"maandag","Tuesday":"dinsdag","Wednesday":"woensdag","Thursday":"donderdag","Friday":"vrijdag","Saturday":"zaterdag","Sunday":"zondag","Action":"Actie","Comedy":"Komedie","War":"Oorlog","Family":"Familie","Animation":"Animatie","Adventure":"Avontuur","Fantasy":"Fantasie","Crime":"Misdaad","Mystery":"Mysterie","Romance":"Romantiek","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Muziek","Biography":"Biografie","Documentary":"Documentaire","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-noir","News":"Nieuws","History":"Geschiedenis","Game-Show":"Spelprogramma","Reality-TV":"Reality-TV","Talk-Show":"Talkshow","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"Van TV","Lifestyle":"Lifestyle","Science & Education":"Wetenschap & Onderwijs","Cooking & Health":"Koken & Gezondheid","Beauty & Fashion":"Schoonheid & Mode","Sports":"Sport","News & Politics":"Nieuws & Politiek","How-to & DIY":"How-to & Klussen","Tech":"Technologie","Automotive":"Automotive","Causes & Non-Profits":"Goede doelen & Non-Profits","Movies":"Films","Uk Live Tv":"UK Live TV","Fashion":"Mode","Business News Radio":"Business News Radio","Business Tv":"Business","Cars & Auto":"Auto\'s","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"Nieuws","Food And Wine":"Eten & Wijn","Latino Tv":"Latino TV","Shopping Tv":"Shopping","Religion":"Godsdienst","Kids":"Kinderen","Body & Soul":"Lichaam & ziel","Education":"Onderwijs","Indian Tv":"Indische TV","Extreme Sports":"Extreme sporten","Middle Eastern Tv":"Midden-Oosten","Celebrity Tv":"Celebrity","Science Tv":"Wetenschap","Bikini babe":"Bikini babe","Outdoors":"Buitenleven","German Tv":"Duitse TV","French Tv":"Franse TV","Italian Tv":"Italiaanse TV","Gamer Tv":"Game","Travel":"Reizen","Asian Tv":"Aziatische TV","Entertainment":"Entertainment","News Radio":"Nieuws Radio","Music Radio":"Muziek Radio","Language Learning":"Taal leren","Science Radio":"Wetenschap Radio","Tech Radio":"Technologie Radio","Science & Technology Vod":"Wetenschap & Technologie Vod","new video":"nieuwe video","new episode":"nieuwe aflevering","new movie":"nieuwe film","recommended":"aanbevolen","we recommend":"onze aanbeveling","offer of the day":"aanbieding van de dag","news":"nieuws","music video":"muziekvideo","CTX_SHOW_HOTKEYS":"Toon snelkoppelingen","CTX_DISMISS_NOTIF":"Notificaties wissen","CTX_DISMISS_ALL":"Verwijder alles","CTX_SHARE":"Delen","CTX_COPY_SHARE_LINK":"Kopieer deelbare link","CTX_COPY_MAGNET_LINK":"Magneet-link kopiëren","CTX_COPY_STREAM_LINK":"Streamlink kopiëren","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Deze video downloaden","CTX_DOWNLOAD_SUBS":"Ondertitelingen downloaden","CTX_VIEW_ON_YOUTUBE":"Bekijk op YouTube","CTX_SHOW":"Kijken","CTX_PLAY":"Speel","CTX_PLAY_IN":"Speel in","CTX_PLAY_ON":"Speel op","CTX_WATCH_ON":"Kijk op","CTX_WATCH":"Kijken","CTX_WATCHED":"Gezien","CTX_WATCH_BEGINNING":"Vanaf het begin kijken","CTX_WATCH_MOBILE":"Op een mobiel apparaat kijken","CTX_REWIND":"Spoel terug naar begin","CTX_MARK_WATCHED":"Markeren als gezien","CTX_MARK_NON_WATCHED":"Markeren als niet gezien","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Markeer de rest als gezien","CTX_UNMARK_REST":"Markeer de rest als niet gezien","CTX_RECEIVE_NEW_NOTIF":"Nieuwe notificaties ontvangen","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Van cache verwijderen","CTX_REMOVE_CACHE_EP":"Aflevering uit cache verwijderen","CTX_OPEN_CONTAINING":"Bijhorende map openen","CTX_REMOVE":"Verwijderen van bibliotheek","CTX_AVAILABLE_OFFLINE":"Offline beschikbaar","CTX_PAUSED":"Gepauzeerd","CTX_ALWAYS_ON_TOP":"Altijd op voorgrond","CTX_FULLSCREEN":"Volledig scherm","CTX_WRONG_SUBS":"Verkeerde ondertiteling?","CTX_REPORT_ISSUES":"Fout rapporteren","CTX_COPY":"Kopiëren","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Plakken","CTX_CLEAR":"Legen","CTX_CLEAR_RECENT_SEARCHES":"Recente zoekopdrachten verwijderen","HELLO_THERE":"Hallo daar","HOPE_YOU_ENJOY":"Wij hopen dat je Stremio leuk vindt en het al één van je favoriete programma\'s is!","WHO_ARE_WE":"Wie zijn wij? Wij zijn het team achter Stremio - twee jongens die de laatste 3 jaar erg hard hebben gewerkt, met één doel voor ogen - dit product beter en beter maken.","SUPPORT_US":"Als je Stremio met plezier gebruikt en/of het waardevol voor je is - steun ons!","SPREAD_THE_WORD":"Vertel je vrienden en de wereld over Stremio","MORE_PEOPLE":"Hoe meer mensen Stremio gebruiken, hoe beter het wordt!","SEND_A_LINK":"Of stuur een link naar onze website","TIP_LOCALFILES":"Tip: je kan lokale videobestanden in Stremio slepen om af te spelen","ADDON_MY":"Mijn Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Officiële Addons","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Zoek addons","ADDON_INSTALL":"Installeer","ADDON_CONFIGURE":"Configureer","ADDON_UNINSTALL":"Deinstalleren","ADDON_UPGRADE":"Upgraden","ADDON_INSTALLED":"Geïnstalleerd","ADDON_INSTALLED_MSG":"Addon geïnstalleerd!","ADDON_UPGRADED_MSG":"Addon ge-upgrade!","ADDON_UNKNOWN":"Onbekend","ADDON_ERR":"Addon installatie fout!","ADDON_DISCONNECTED":"Verbinding verbroken","ADDON_APP_MISSING":"De app voor deze bron is niet geïnstalleerd. Wil je deze nu installeren?","ADDON_APP_INSTALL":"Installeer Nu","ADDON_PAGE":"Addon Pagina","ADDON_TOP_CONTENT":"Beste van deze Addon","ADDON_PROVIDES":"bied aan","ADDON_WATCH":"Kijk #{types} nu!","ADDON_WATCH_FREE":"Kijk #{types} nu GRATIS!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"Meer #{types} in Ontdekken","ADDON_PROVIDES_STREAMS":"Kijk #{types}","ADDON_PROVIDES_STREAMS_FREE":"Kijk #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Ondertiteling voor #{types}","ADDON_CANTDETECT":"We konden geen lopende instantie van Stremio detecteren, hierdoor konden we niet detecteren welke addons er zijn geïnstalleerd.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Geen informatie over dit ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Fout tijdens het verkrijgen van informatie.","ERR_CANT_PARSE_MAGNET":"Kan magnet link niet verwerken","ERR_NO_MAGNET_INFOHASH":"Geen geldige infohash voor deze magnet link","ERR_NO_FILE_PATH":"Niet mogelijk een verzoek te versturen zonder Unable to send request zonder pad naar bestand","ERR_NO_TORRENT":"Geen torrent gevonden","ERR_NO_SUPPORTERD_FILES":"Geen ondersteunde bestanden gevonden","ERR_OPENING_FILES":"Kon externe bestanden niet openen","ERR_INVALID_LINK":"Ongeldige link","ERR_REGISTERED_ONLY":"Deze optie is alleen beschikbaar voor geregistreerde gebruikers.","ERR_CLIPBOARD":"Kan niet afspelen vanaf het klembord","ERR_CLIPBOARD_READ":"Kan het klembord op dit platform niet lezen","ERR_CLIPBOARD_GENERIC":"Er is geen afspeelbare URL gevonden in het klembord. Kopieer een URL (bijvoorbeeld een magnetlink) naar een video.","BOARD_CONTINUE_WATCHING":"Doorgaan met kijken","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Films speciaal voor jou gekozen.
    Deze film is een voorbeeld aanbeveling.","BOARD_EXPLANATION_EPISODES":"Nieuwe afleveringen van uw favoriete series komen hier.
    Voeg series die je volgt toe aan je bibliotheek.","BOARD_EXPLANATION_VIDEOS":"Nieuwe afleveringen van uw favoriete kanalen komen hier.
    Voeg Youtube Kanalen die je volgt toe aan je bibliotheek","WEBSITE_ENJOYED_BY":"Geniet net als meer dan 30 miljoen gebruikers over de hele wereld","WEBSITE_STREAMING_ENHANCED":"Streaming verbeterd","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio biedt een veilige, moderne en naadloze entertainmentervaring. Met zijn gebruiksvriendelijke interface en diverse contentbibliotheek, inclusief 4K HDR-ondersteuning, kunnen gebruikers hun favoriete films en tv-shows bekijken op al hun apparaten. En met zijn commitment aan veiligheid is Stremio de ultieme keuze voor een zorgeloze, hoogwaardige streaming ervaring.","WEBSITE_AVAILABLE_ON":"Beschikbaar op","WEBSITE_WATCH_AND_ENJOY":"Kijk & geniet.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio maakt het een fluitje van een cent","WEBSITE_ALL_FEATURES":"Alle functies","WEBSITE_EASY_TO_USE":"Gemakkelijk te gebruiken","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is ontworpen om gebruiksvriendelijk en gemakkelijk te gebruiken te zijn. Met zijn schone en intuïtieve interface kunt u gemakkelijk navigeren en het content vinden dat u wilt bekijken.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Naadloos over apparaten","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Beschikbaar voor een breed scala aan platforms (inclusief Windows, Mac, Linux, Android en meer), Stremio houdt bij uw voortgang op al uw apparaten. Meld u gewoon aan en ga verder met kijken zonder de app opnieuw te hoeven configureren op elk nieuw apparaat.","WEBSITE_ALL_DOWNLOADS":"Alle downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Ondersteuning voor high-definition video","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Een geïntegreerde videospeler die de meeste videoformaten ondersteunt, waaronder 4K HDR-content, zodat u kunt genieten van de hoogste kwaliteit die beschikbaar is.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Gevarieerde contentbibliotheek","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integreert met een groot aantal populaire videobronnen, zoals Netflix, Amazon Prime Video, Hulu, YouTube en nog veel meer.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Maak een gratis account aan","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Aangepaste kijkervaring","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio stelt u in staat de look en feel van de interface aan te passen door het thema te wijzigen, add-ons toe te voegen of te verwijderen, en meer.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Ondersteuning voor meertalige ondertitels","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"U kunt nu al uw favoriete content bekijken in uw voorkeurstaal, aangezien Stremio ondertitels in alle talen ondersteunt.","WEBSITE_ALL_STREMIO_FEATURES":"Alle Stremio-functies","WEBSITE_TRY_STREMIO_TITLE_P1":"Probeer Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Nu op je tv","WEBSITE_YOU_CAN_NOW_WATCH":"Je kunt nu al je favoriete tv-programma\'s bekijken op je Android TV-apparaten. De Stremio TV-app laat je met gemak een filmavond genieten.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Je kunt nu al je favoriete tv-programma\'s bekijken op je Smart TV of Android TV. De Stremio TV-apps laten je met gemak een filmavond genieten.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio voor Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Waarschijnlijk de beste en meest handige app die je op je apparaat kunt hebben. Het is een van de apps die ik dagelijks gebruik, vooral op mijn Android TV, al vele jaren. Goed gemaakt met een sterke community die nuttige functionaliteiten biedt. Goed gedaan. Blijf het goede werk doen.","WEBSITE_REVIEWS":"recensies","WEBSITE_GET_STREMIO_FOR_FREE":"Download Stremio gratis","WEBSITE_GET_STREMIO_NOW":"Download Stremio nu","WEBSITE_STREMIO_FEATURES":"Stremio-functies","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream als een pro met de geavanceerde functies van Stremio en geniet van naadloze toegang tot al je favoriete media","WEBSITE_DISCOVER_MORE":"Ontdek meer.","WEBSITE_DISCOVER_MORE_DETAILS":"Nooit meer zonder dingen om te kijken","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio heeft een grote en actieve community van gebruikers die bijdragen aan de ontwikkeling van de software door add-ons te maken en te delen.","WEBSITE_GET_INVOLVED":"Doe mee","WEBSITE_NEW_THEATER_EXPERIENCE":"Nieuwe bioscoopervaring","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s nieuwe speciale tv-app laat je genieten van een filmavond op je Android TV-apparaten.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s nieuwe speciale tv-apps laten je genieten van een filmavond op je Smart TV of Android TV-apparaten.","WEBSITE_FREE_AND_SECURE":"Gratis & veilig","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio biedt ongeëvenaarde beveiliging en privacy voor gebruikers. Met zijn unieke functie om add-ons op afstand te runnen, biedt Stremio een veiligere manier om je favoriete content te streamen dan andere platforms. Je beveiliging en privacy zijn topprioriteiten, en het platform zorgt ervoor dat al je gegevens worden beschermd.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Vaarwel zeggen tegen zorgen over beveiliging en privacy en hallo zeggen tegen een wereld van eindeloze entertainment met Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informatie verstrekt door","WEBSITE_CONTRIBUTE_DESC":"aan het project & help ons Stremio nog beter te maken","WEBSITE_COMMUNITY_DESC":"Wij geloven dat de beste manier om een ​​echt geweldige streamingervaring te creëren is door onze community erbij te betrekken. Of je nu een programmeur, een artiest of gewoon een fan bent, je kunt Stremio helpen groeien.","WEBSITE_COMMUNITY_DESC_2":"Dus doe vandaag nog mee en word lid van de Stremio-community en blijf de toekomst van streaming vormgeven.","WEBSITE_WAYS_TO_GET_INVOLVED":"Manieren om betrokken te raken","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in de Stremio-community","WEBSITE_SHARE_YOUR_THOUGHTS":"Deel je mening","WEBSITE_REPORT_BUGS":"Rapporteer bugs","WEBSITE_SUGGEST_FEATURES":"suggereer functies","WEBSITE_AND_PROVIDE_FEEDBACK":"en geef feedback op onze sociale mediakanalen.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testprogramma","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Neem deel aan ons bètatestprogramma (we sturen regelmatig uitnodigingen) in de Stremio-community.","WEBSITE_JOIN_NOW":"Meld je nu aan!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Officiële Stremio-gemeenschappen","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Onofficiële Stremio-gemeenschappen","WEBSITE_BECOME":"Word","WEBSITE_A_VOLUNTEER_TRANSLATOR":"een vrijwillige vertaler","WEBSITE_ARE_YOU_A_DEVELOPER":"Ben jij een ontwikkelaar?","WEBSITE_CONTRIBUTE_CODE":"Je kunt code bijdragen aan onze open source-projecten. We hebben verschillende projecten op GitHub die op zoek zijn naar bijdragers. Als je wilt helpen, bekijk ze dan:","WEBSITE_STREMIO_ON_GITHUB":"Stremio op GitHub","WEBSITE_CREATE_ADDON_DESC":"Maak een add-on om de functionaliteit van Stremio te verbeteren (we hebben een eenvoudig te gebruiken API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We bieden ook de mogelijkheid om bij ons te komen als intern ontwikkelaar zodat we samen kunnen groeien.","WEBSITE_APPLY_AS_AN_INTERN":"Solliciteer als stagiair","WEBSITE_CALLING_ALL_ARTISTS":"Oproep aan alle kunstenaars!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Laat je creativiteit en liefde voor Stremio zien door je fan art te uploaden naar onze online galerij. Of het nu een tekening, schilderij of digitaal ontwerp is, we willen je unieke kijk op het Stremio-merk zien. Sluit je aan bij onze gemeenschap van kunstliefhebbers en deel je werk met Stremio-fans over de hele wereld.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Word lid van ons team en neem je creativiteit naar nieuwe hoogten met onze spannende stagemogelijkheden.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremio is toegewijd aan het behoud van de film- en televisiegeschiedenis door het identificeren van openbare domein- en weesvideo\'s. Door samen te werken met onze community, kunnen we ervoor zorgen dat deze klassieke kunstwerken voor iedereen toegankelijk zijn en voor toekomstige generaties worden beschermd.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Neem gerust contact met ons op als je wilt deelnemen aan dat project.","WEBSITE_JOIN_THE_PROJECT":"Doe mee aan het project","WEBSITE_BE_PART_OF_OUR_MISSION":"Word deel van onze missie","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Geïnteresseerd om lid te worden van het Stremio-team? We bieden volledig remote werk voor gepassioneerde professionals. Bekijk onze openstaande vacatures.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"BESCHRIJVING","WEBSITE_LEARN_MORE":"Meer informatie","WEBSITE_COMPANY":"Bedrijf","WEBSITE_CONTACTS":"Contacten","WEBSITE_NEED_HELP":"Hulp nodig?","WEBSITE_STREMIO_WEB_ON_IOS":"Handleiding voor Stremio Web op iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Kijk direct","WEBSITE_SLOGAN_ALL":"Alle videocontent die je leuk vindt op één plek","WEBSITE_SLOGAN_NEW":"Alles wat je kunt kijken","WEBSITE_SLOGAN_NEW_NEW":"Vrijheid om te streamen","WEBSITE_WATCH_FROM":"Kijk van","WEBSITE_DOWNLOAD":"Download nu","WEBSITE_DOWNLOAD_FOR":"Download nu voor","WEBSITE_IS_DESKTOP":"Stremio is een desktop applicatie, open deze pagina op uw PC om Stremio te downloaden","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Functies","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technologie","WEBSITE_PAGE_CREATE_ADDON":"Maak een Addon","WEBSITE_PAGE_CONTACTS":"Contacten","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Films","WEBSITE_TYPE_series_PL":"Serie\'s","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Kanalen","WEBSITE_STREMIO_WHAT_IS":"Stremio is een app dat je helpt met het organizeren en onmiddellijk bekijken van je favoriete videos, films, TV series en TV-kanalen.","WEBSITE_FEATURES_WATCH":"Kijk direct in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Klik en bekijk je favoriete films, TV Shows, videos en TV-kanalen.","WEBSITE_FEATURES_SUBS":"Automatische Ondertiteling","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio kiest automatisch gesynchroniseerde ondertiteling voor jouw taal.","WEBSITE_FEATURES_SUBS_LABEL":"Jouw zet, baas.","WEBSITE_FEATURES_CAST":"Speel op TV en mobiele apparaten","WEBSITE_FEATURES_CAST_DETAIL":"Cast naar AppleTV, Chromecast, Smart TV (DLNA/UPnP) en mobiele apparaten.","WEBSITE_LIB":"Geniet van je persoonlijke bibliotheek gesynchroniseerd naar al je apparaten","WEBSITE_LIB_COLLECT":"Collecteer van Stremio","WEBSITE_LIB_IMPORT":"Importeer van Facebook","WEBSITE_LIB_LOCAL":"Voeg toe van je lokale schijf","WEBSITE_BOARD":"Het dashboard- Je one-stop plaats voor Notificaties en Aanbevelingen","WEBSITE_BOARD_RECOMMEND":"Aanbevolen TV Show","WEBSITE_BOARD_TRENDING":"Trending Film","WEBSITE_BOARD_NEW":"Nieuwe Video","WEBSITE_BOARD_EPISODE":"Nieuwe Aflevering","WEBSITE_BOARD_1":"Zoek je iets interessants? Krijg aanbevelingen gebaseerd op jouw smaak!","WEBSITE_BOARD_2":"krijg een notificatie wanneer een nieuwe aflevering van je favoriete TV show of Youtube kanaal uit is!","WEBSITE_BOARD_YOUTUBE":"Nieuwe video\'s van YouTube kanalen","WEBSITE_BOARD_EPISODES":"Nieuwe afleveringen van series die je volgd","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We houden van technologie, we houden van wetenschap!\\nStremio gebruikt de volgende open-source technologieën:","WEBSITE_TECH_WCJS":"WebChimera.js laat Stremio toe om alle videoformaten af te spelen.","WEBSITE_TECH_WCJS_EXTRA":"We dragen bij aan het kernproject","WEBSITE_TECH_ELECTRON":"Electron zorgt voor de innovatieve basis waarop Stremio gebouwd is.","WEBSITE_TECH_ELECTRON_EXTRA":"We dragen bij aan het project","WEBSITE_TECH_LINVODB":"Een database technologie dat je data organiseert en beschikbaar maakt waar en wanneer je ook inlogt.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technologie","WEBSITE_CREATE_ADDON":"Maak je eigen addon","WEBSITE_CREATE_ADDON_DETAIL":"Heb jij een videoservice? We helpen je graag voordeel te halen uit Stremio door een Addon voor je te maken.","WEBSITE_CREATE_ADDON_BENEFITS":"Voordelen aan het maken van een Addon voor Stremio","WEBSITE_P2P_BEAUTY":"De schoonheid van Peer-to-Peer streaming","WEBSITE_P2P_1":"Betrouwbare en betaalbare full HD / 4K-video op aanvraag of live streaming","WEBSITE_P2P_2":"Distributieplatform met een geweldige gebruikerservaring","WEBSITE_P2P_3":"We maken een addon naar jouw noden en wensen","WEBSITE_P2P_CONTACT":"Geïnteresseerd? Contacteer ons zeker.","WEBSITE_P2P_CONTACT_EXTRA":"We helpen je graag om je content te integreren in Stremio!","WEBSITE_P2P":"Af en toe komt er een technologie die de naam van het spel verandert. We hebben veel tijd en moeite geïnvesteerd in het bouwen van onze Peer-to-Peer (P2P) videostreamingmotor die geweldige prestaties en veelzijdigheid biedt voor elke toepassing. \\nNeem contact met ons op voor DRM-compatibele P2P-video op aanvraag of live streaming.","WEBSITE_THOUGHTS":"Gedachten die we willen delen:","WEBSITE_SPREAD":"Vertel iedereen over Stremio:","WEBSITE_CONTACT":"Wil je ons contacteren, doe gerust via","WEBSITE_OPENSOURCE":"Ga voor onze open source-projecten naar onze","WEBSITE_BITCOIN":"Doneer bitcoin:","WEBSITE_FAQ":"Veel Gestelde vragen","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Vragen","WEBSITE_TOS":"Gebruiksvoorwaarden","WEBSITE_LEGAL":"Wettelijk","WEBSITE_PAGE_ABOUT":"Over","WEBSITE_PAGE_BECOME_PARTNER":"Word een partner","WEBSITE_ALL_YOU_CAN_WATCH":"Vrijheid om te kijken \\nNaar alles wat je wilt.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Wat is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is een one-stop-hub voor het verzamelen van video-inhoud. Ontdek, organiseer en bekijk video van allerlei soorten bronnen op elk apparaat dat u bezit.","WEBSITE_WHAT_IS_STREMIO_P2":"Films, TV Shows, series, live TV of webkanalen zoals YouTube en Twitch.tv - je kunt dit allemaal vinden op Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is een modern mediacentrum dat een alles-in-een-oplossing is voor uw video-entertainment. U ontdekt, bekijkt en organiseert videocontent via eenvoudig te installeren addons..","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Films, TV Shows, live TV of webkanalen - je vindt het allemaal op Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Geniet op al uw media-apparaten","WEBSITE_DEVICES_COLLECT":"Verzamel van Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importeer van Facebook","WEBSITE_DEVICES_LOCAL":"Toevoegen van lokale schijf","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"Zoals gezien op","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Over ons","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Download\'s","WEBSITE_MORE":"Meer","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your E-mail","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Draag bij","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid e-mail!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science.
    Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Doorgaan","SLOW_LOADING":"TRAAG AAN HET LADEN?","I_GIVE_UP":"IK GEEF OP","LEARN_MORE":"Meer info","POOR_SOURCE":"Deze bron is slecht beschikbaar of je internetverbinding is niet snel genoeg","PICK_CATEGORIES_ERR":"Je moet minimaal 3 categorieën kiezen","ADJUST_TIMING":"Pas de timing aan met ","ADJUST_SIZE":"Pas de grootte aan met ","SEARCH_ANYTHING":"Je kan dit alles zoeken...","ALL_CATEGORIES":"Alles","SEARCH_CATEGORIES":"Films, Series, YouTube & TV","SEARCH_PERSONS":"Acteurs, Regisseurs & Schrijvers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDb / TVDB links","WATCHED":"Gezien","SHOW_LESS":"Toon minder","LAST_SEARCHES":"Laatste zoekopdrachten","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Afstandsbediening kon niet worden geladen","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Gebruik data","WARNING":"Waarschuwing","MORE_INFO":"Meer Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Laden ...","STREMIO_TV_BACK_TO_LANGUAGES":"Terug naar talen","STREMIO_TV_REMOTE":"Afstandsbediening","STREMIO_TV_GO_TO":"Ga naar:","STREMIO_TV_OR_SCAN":"of scannen:","STREMIO_TV_ADDON_INSTRUCTIONS":"Volg de instructies om je addon keuze te installeren.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Verder kijken","STREMIO_TV_LOADING_BACKGROUND":"Achtergrond laden","STREMIO_TV_CHECKING_AUTHENTICATION":"Authenticeren","STREMIO_TV_LOADING_BOARD":"Dashboard laden","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio team","STREMIO_TV_REMOTE_INSTRUCTIONS":"om de Web Afstandsbediening met je smartphone / tablet / desktop te gebruiken:","STREMIO_TV_WIFI_SETUP":"Wifi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio-circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connecteer met:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremio-circle","STREMIO_TV_WIFI_DETAILS_5":"Open een webbrowser met de link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Externe speler","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Instellingen","ACCOUNT":"Account","LOGOUT":"Uitloggen","THEMES":"Thema\'s","PLAYBACK":"Afspelen","PLAYBACK_SPEED":"Afspeelsnelheid","AUDIO_TRACKS":"Audiosporen","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Video\'s","SERVER":"Server","LINKS":"Links","ABOUT":"Over","INTERFACE":"Interface","ANIMATIONS":"Animaties","STATUS":"Status","LANGUAGE":"Taal","SIZE":"Grootte","DELAY":"Vertraging","BOLD":"Vet","OPACITY":"Opacity","TEXT_COLOR":"Tekstkleur","OUTLINE_COLOR":"Omlijningskleur","BACKGROUND_COLOR":"Achtergrondkleur","BACKGROUND_BLUR":"Achtergrondonscherpte","SEEK_TIME_DURATION":"Zoektijdduur","AUTO_PLAY":"Automatisch volgende aflevering afspelen","PLAY_NOW":"Nu afspelen","MARK_AS_WATCHED":"Markeren als bekeken","MARK_AS_UNWATCHED":"Markeren als niet bekeken","REWIND_TO_BEGINNING":"Terugspoelen naar het begin","CONTINUE_WATCHING":"Verder kijken","ALL":"Alle","SECONDS":"seconden","ON":"AAN","OFF":"UIT","RELOAD":"Herladen","EDIT_URL":"URL bewerken","URL":"URL","NONE":"Geen","EMBEDDED":"Ingesloten","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Verander apparaat","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Timing aanpassen","REMOTE_ADJUST_SIZE":"Grootte aanpassen","REMOTE_COULD_NOT_BE_LOADED":"Web Afstandsbediening kon niet worden geladen","REMOTE_RETRY":"Opnieuw proberen","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"Wat is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an e-mail to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Ga je een addon maken voor X?","FAQ_08_P1":"Dat is mogelijk.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Gebruikt Stremio het BitTorrent protocol?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie films met Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which do not play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"Hoe kan ik een addon maken?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a endpoint field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your endpoint as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a local cache to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the Cache setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},44386:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"TV kanal","TYPE_channel":"Kanal","TYPE_other":"Other","TYPE_movie_PL":"Filmar","TYPE_series_PL":"Seriar","TYPE_tv_PL":"TV kanalar","TYPE_channel_PL":"Kanalar","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Tilbake","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Oppdag","Board":"Board","Library":"Bibliotek","My Library":"My Library","Calendar":"Kalender","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"Søk mellom","SEARCH_NO_RESULTS":"No results were found","SEARCH_EXPLANATION_CONTENT":"Search for movies, series, YouTube and TV channels","SEARCH_EXPLANATION_PEOPLE":"Search for actors, directors and writers","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Legg til i bibliotek","REMOVE_FROM_LIB":"Fjern frå bibliotek","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Sjå Trailer","WATCH_NOW":"Sjå No","SHOW":"Vis","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb Rangering","YEAR":"År","DIRECTOR":"Regissør","WRITER":"Forfattar","LEAD_ACTORS":"Hovudskodespelarar","CAST":"Skodespelarar","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Utgjeven","SEASONS":"Sesongar","GENRE":"Sjanger","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Samandrag","SHOW_MORE":"Show More","SIMILAR":"Liknade","UPCOMING":"Kjem","TBA":"TBA","ENDED":"Enda","DURATION":"Lengd","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"search videos","SEARCH_PLACEHOLDER":"search or paste magnet link","ADDON":"Utviding","ADDONS":"Utvidinger","OFFICIAL":"Offisielle","ADDONS_OFFICIAL":"Offisielle Stremio Utvidinger","ADDONS_POPULAR":"Populært i området ditt","ADDON_FREE":"Gratis","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnering","ADDON_STREAM_GEORESTRICTED":"not available in your area","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Tilgjengelege Streams","NO_STREAM":"Ingen streams tilgjengelege","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Show all addons »","ADDON_CATALOGUE_MORE":"More addons »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons repository already exist","ADDON_REPO_ERR":"Error occurred while adding repository","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Protected addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection url","ERR_NOT_ADDON_URL":"Not an addon url","ERR_DETECTFROMURL":"Cannot detect from url","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Addon pulling failed","REFRESH_ON_CLICK":"Click to retry","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Filmen er framleis på kino","WATCH_IN_CINEMA":"sjå han på din lokale kino","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"Denne kanalen er ikkje ferdig enda.
    Ver vennleg og kom tilbake om nokon få minutt.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Legg han til i ditt bibliotek for å bli varsla når han blir tilgjengeleg.","GET_NOTIFIED_WHEN_AVAILABLE":"Du vil bli varsla med ein gong han er tilgjengeleg.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Streamer frå","CASTING_TO":"Caster til","NETWORK_STATUS":"Nettverks status","STREAM_SPEED":"Fart på streamen:","STREAM_BUFFERED":"Buffret:","PEERS_INFO":"Informasjon om peers","PEERS_ACTIVE":"Aktive:","PEERS_CONNECTED":"Tilkoblet:","PEERS_WAITING":"Ventar:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"Lastar...","PLAYING_LOCAL":"Spelar frå lokal fil","PLAYING_CACHE":"Spelar frå cache","WRONG_SUBS":"Feil undertekstar?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Vel ein eining å streame frå","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Nettbrett","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Endre undertekstar for ","SUBTITLES_CHANGE_NONE":"Det fins ingen andre undertekstar for dette språket, beklagar.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles #{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alteratively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use G / H keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use G / H keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sesong","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"nyleg","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rangering","SORT_WATCHED":"sett","SORT_YEAR":"år","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"resume","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Utvald","DISCOVER_TOP":"Topp","DISCOVER_OSCAR":"Oscar vinnarar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Åtvaring: ingen Stremio utviding aktiv for denne typen. Visar lagra element, ingenting vil oppdatere.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Start på nytt no!","UPGRADE":"Oppdater til den nyaste Stremio versjonen","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Logg på med Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"eller","I_ACCEPT":"Eg godtek ","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Vilkåra og føresetnadene","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passorda er ikkje like","SIGN_UP":"Registrer","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Logg på","LOG_OUT":"Logg ut","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Gjestepålogging","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"Klikk her","WRONG_PASSWORD":"Feil passord. I tilfelle du har gløymd passordet, ","SET_A_PASS":"lag eit passord","RESET_PASSWORD":"Reset password","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"Denne eposten er i bruk av ein Facebook pålogging.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Bruk av tredjeparts-utvidinger vil alltid vere ditt eige ansvar med omsyn til den gjeldane lova der du oppheld deg.","ADDON_ACTIVATE":"Aktivere denne utvidingen?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Kva er nytt?","BUTTON_CONTINUE":"Hald fram","BUTTON_ACTIVATE":"Aktiver","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Avbryt","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Biblioteket ditt ser tomt ut. Finn ut kvar nyttig det er :) ","HOW_START":"Kom i gang:","LIB_EMPTY_CAL":"Kalenderen din visar seriar i biblioteket ditt.","HOW_START_CAL":"Her er korleis du kan leggje til seriar:","LIB_EMPTY_BOARD":"Board viser varslar & anbefalingar relatert til biblioteket ditt.","HOW_START_BOARD_WAIT":"Legg til nokon seriar eller kanalar i biblioteket ditt og gi oss nokon minutt til å behandle dei :)","HOW_START_BOARD":"Her er korleis du kan leggje til seriar & filmar til det:","IMPORT_FB":"Importer ting du likar frå Facebook","IMPORT_TRAKT":"Import your media library from Trakt","IMPORT_DISCOVER":"Finn interessante ting frå Oppdag","IMPORT_DISK":"Importer filmar eller seriar frå din lokale Harddisk","PLEASE_CREATE_ACC":"Please create an account to enable Library sync & Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from Discover","IMPORT_DISK_SIGNUP":"Sigm up and import movies or shows you have on your local disk","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Køyr ved oppstart","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Importer frå Facebook","SETTINGS_IMPORT_DISK":"Importer frå lokal disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Abonner på ein kalender","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Endre passord","SETTINGS_TOS":"Vilkåra for tjenesta","SETTINGS_SUPPORT":"Kontakt support","SETTING_LANGUAGE":"Språk","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Avslutt","CONNECTED":"Connected","AUTHENTICATE":"Verifiser","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Velj caching eining","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januar","February":"Februar","March":"Mars","April":"April","May":"Mai","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"Desember","Monday":"Måndag","Tuesday":"Tysdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"Laurdag","Sunday":"Søndag","Action":"Action","Comedy":"Komedie","War":"Krig","Family":"Familie","Animation":"Animasjon","Adventure":"Eventyr","Fantasy":"Fantasy","Crime":"Krim","Mystery":"Mysterium","Romance":"Romantikk","Drama":"Drama","Horror":"Grysjar","Thriller":"Spenning","Sci-Fi":"Sci-Fi","Music":"Musikk","Biography":"Biografi","Documentary":"Dokumentar","Sport":"Sport","Musical":"Musikal","Western":"Western","Film-Noir":"Film-Noir","News":"Nyheiter","History":"Historie","Game-Show":"Gameshow","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Underhalding","Gaming":"Gaming","From TV":"Frå TV","Lifestyle":"Livsstil","Science & Education":"Vitskap & Utdanning","Cooking & Health":"Matlaging & Helse","Beauty & Fashion":"Venleik & Mote","Sports":"Sport","News & Politics":"Nyheiter & Politikk","How-to & DIY":"Gjør det sjølv","Tech":"Teknologi","Automotive":"Bilbransjen","Causes & Non-Profits":"Saker & ideelle organisasjonar","Movies":"Filmar","Uk Live Tv":"UK Direkte TV","Fashion":"Mote","Business News Radio":"Business Nyheitsradio","Business Tv":"BusinessTV","Cars & Auto":"Bilar og Auto","Comedy Radio":"Komedieradio","Lifestyle Radio":"Livsstilsradio","News Tv":"NyheitsTV","Food And Wine":"Mat og Vin","Latino Tv":"Latino TV","Shopping Tv":"ShoppingTV","Religion":"Religion","Kids":"Barn","Body & Soul":"Kropp og Sjel","Education":"Utdanning","Indian Tv":"Indisk TV","Extreme Sports":"Ekstremsport","Middle Eastern Tv":"TV frå Midtøsten","Celebrity Tv":"KjendisTV","Science Tv":"VitskapsTV","Bikini babe":"Bikini babe","Outdoors":"Utandørs","German Tv":"Tysk TV","French Tv":"Fransk TV","Italian Tv":"Italiensk TV","Gamer Tv":"SpelTV","Travel":"ReiseTV","Asian Tv":"Asiatisk TV","Entertainment":"Underhalding","News Radio":"Nyheitsradio","Music Radio":"Musikkradio","Language Learning":"Språklæring","Science Radio":"Vitskapsradio","Tech Radio":"Teknologiradio","Science & Technology Vod":"Vitskap -og Teknologi VOD","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years, with a single goal - to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - support us!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"provides","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.
    This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.
    Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.
    Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to contact us.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"If you are looking to contact us, go ahead at","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science.
    Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which do not play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a endpoint field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your endpoint as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a local cache to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the Cache setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},24447:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"ਫਿਲਮ","TYPE_series":"ਸੀਰੀਅਲ","TYPE_tv":"ਟੀਵੀ ਚੈਨਲ","TYPE_channel":"ਚੈਨਲ","TYPE_other":"ਹੋਰ","TYPE_movie_PL":"ਫਿਲਮ","TYPE_series_PL":"ਸੀਰੀਅਲ","TYPE_tv_PL":"ਟੀਵੀ ਚੈਨਲ","TYPE_channel_PL":"ਚੈਨਲ","TYPE_other_PL":"ਹੋਰ","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"ਵੀਡੀਓ","BACK":"ਵਾਪਸ","MORE":"ਹੋਰ","DONE":"ਕੀ ਹੋਇਆ?","COPY":"ਕਾਪੀ","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"ਖੋਜ ਕਰੋ","Board":"ਗ੍ਰਹਿ","Library":"ਲਾਇਬ੍ਰੇਰੀ","My Library":"ਮੇਰੀ ਲਾਇਬ੍ਰੇਰੀ","Calendar":"ਅਲਮੇਂਕ","NOTIFICATION_ONLINE":"ਹੁਣ ਤੁਸੀਂ online ਨਲਾਈਨ ਹੋ","NOTIFICATION_OFFLINE":"ਤੁਸੀਂ ਇਸ ਸਮੇਂ offline ਫਲਾਈਨ ਹੋ","INTERNET_CONNECTION":"ਨੈੱਟਵਰਕ ਕੁਨੈਕਸ਼ਨ","STORAGE_FULL_TITLE":"ਚੇਤਾਵਨੀ: ਸਟੋਰੇਜ ਪੂਰਾ!","STORAGE_FULL_TEXT":"ਸਟ੍ਰੀਮਿਓ ਤੁਹਾਡੀਆਂ ਸੈਟਿੰਗਾਂ ਪਸੰਦਾਂ ਜਾਂ ਲੌਗਇਨ ਜਾਣਕਾਰੀ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੇ ਯੋਗ ਨਹੀਂ ਹੋਵੇਗਾ.ਸ਼ੁਰੂ ਕਰਨ ਜਾਂ ਮੁੜ ਚਾਲੂ ਕਰਨ ਬਾਰੇ ਸੋਚੋ.","SEARCH":"ਖੋਜ","SEARCH_NO_RESULTS":"ਕੋਈ ਨਤੀਜਾ ਨਹੀਂ ਮਿਲਿਆ","SEARCH_EXPLANATION_CONTENT":"ਫਿਲਮਾਂ ਦੀ ਸੀਰੀਜ਼ ਯੂਟਿ uband ਬ ਅਤੇ ਟੀ ​​ਵੀ ਚੈਨਲ ਲੱਭੋ","SEARCH_EXPLANATION_PEOPLE":"ਅਦਾਕਾਰ ਡਾਇਰੈਕਟਰਾਂ ਅਤੇ ਲੇਖਕਾਂ ਦੀ ਭਾਲ ਕਰੋ","SEARCH_PASTE_LINKS":"HTTP ਅਤੇ ਚੁੰਬਕ ਲਿੰਕ ਨੂੰ ਪੇਸਟ ਕਰੋ","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ","REMOVE_FROM_LIB":"ਲਾਇਬ੍ਰੇਰੀ ਤੋਂ ਹਟਾਓ","ADDED_TO_LIB":"ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ","REMOVED_FROM_LIB":"ਲਾਇਬ੍ਰੇਰੀ ਹਟ ਗਈ","TRAILER":"ਟ੍ਰੇਲਰ","WATCH_TRAILER":"ਟ੍ਰੇਲਰ ਵੇਖੋ","WATCH_NOW":"ਹੁਣ ਦੇਖੋ","SHOW":"ਡਿਸਪਲੇਅ","SHOW_MOVIE":"ਫਿਲਮ ਦਿਖਾਓ","WATCH_RANDOM":"ਬੇਤਰਤੀਬ","IMDB_RATING":"Imdb ਰੇਟਿੰਗ","YEAR":"ਸਾਲ","DIRECTOR":"ਨਿਰਦੇਸ਼ਕ","WRITER":"ਲੇਖਕ","LEAD_ACTORS":"ਮੁੱਖ ਅਭਿਨੇਤਾ","CAST":"ਮੋਲਡ","CREW":"ਕਰਮਚਾਰੀ","SHOW_MORE_CAST":"ਹੋਰ ਦਿਖਾਓ","AIRED":"ਪ੍ਰਸਾਰਿਤ","SEASONS":"ਸੀਜ਼ਨ ਦਾ","GENRE":"ਸ਼ੈਲੀ","GENRE_ALL":"All genres","CATALOG":"ਸੂਚੀ","SUMMARY":"ਸੰਖੇਪ","SHOW_MORE":"ਹੋਰ ਦਿਖਾਓ","SIMILAR":"ਵਰਦੀ","UPCOMING":"ਆਗਾਮੀ","TBA":"TBA","ENDED":"ਅੰਤ","DURATION":"ਅਵਧੀ","FEATURED":"ਖਾਸ ਤੌਰ \'ਤੇ ਪ੍ਰਦਰਸ਼ਿਤ","METADATA":"ਮੈਟਾਡੇਟਾ","CATEGORY":"ਸੋਸ਼ਲ ਕਲਾਸ","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"ਖੋਜ ਵੀਡੀਓ","SEARCH_PLACEHOLDER":"URL ਲੱਭੋ ਜਾਂ ਪੇਸਟ ਕਰੋ","ADDON":"ਹੋਰ ਜੋੜਨਾ","ADDONS":"ਹੋਰ ਜੋੜਨਾ","OFFICIAL":"ਅਧਿਕਾਰੀ","ADDONS_OFFICIAL":"ਅਧਿਕਾਰਤ ਧਾਰਾ ਐਡੀਨ","ADDONS_POPULAR":"ਤੁਹਾਡੇ ਖੇਤਰ ਵਿੱਚ ਪ੍ਰਸਿੱਧ","ADDON_FREE":"ਮੁਫਤ","ADDON_PEERED":"ਝਾੜੀ","ADDON_SUBSCRIPTION":"ਯੋਗਦਾਨ","ADDON_STREAM_GEORESTRICTED":"ਤੁਹਾਡੇ ਖੇਤਰ ਵਿੱਚ ਉਪਲਬਧ ਨਹੀਂ ਹੈ","ADDON_STREAM_OFFLINECACHE":"Offline ਫਲਾਈਨ ਨਕਦ","ADDON_STREAM_LOCALFILE":"ਸਥਾਨਕ ਫਾਈਲ","SHARE_ADDON":"ਅਡੇਨ ਨੂੰ ਸਾਂਝਾ ਕਰੋ","AVAILABLE_STREAMS":"ਉਪਲਬਧ ਕਰੰਟ","NO_STREAM":"ਕੋਈ ਭਾਗ ਨਹੀਂ ਮਿਲਿਆ","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"ਹੋਰ ਸਟ੍ਰੀਮਜ਼ ਲਈ ਕਿਰਪਾ ਕਰਕੇ ਹੋਰ ਐਡਨਾਂ ਨੂੰ ਸਥਾਪਿਤ ਕਰੋ","STREAM_NOT_SUPPORTED":"ਚੁਣੀ ਗਈ ਧਾਰਾ ਇਸ ਪਲੇਟਫਾਰਮ ਤੇ ਸਮਰਥਤ ਨਹੀਂ ਹੈ.","ADDON_CATALOGUE":"ਸਾਰੇ ਵਿਗਿਆਪਨ ਦਿਖਾਓ »","ADDON_CATALOGUE_MORE":"ਐਡਨਾਂ ਨੂੰ ਸਥਾਪਿਤ ਕਰੋ","REPO_ADDED":"ਰਿਪੋਜ਼ਟਰੀ ਨੇ ਕਿਹਾ","ADDON_REPO_EXIST_ERR":"ਇਹ ਇਸ਼ਤਿਹਾਰ ਇਕੱਠਾ ਕਰਨਾ ਪਹਿਲਾਂ ਤੋਂ ਮੌਜੂਦ ਹੈ","ADDON_REPO_ERR":"ਸੰਗ੍ਰਹਿ ਕਰਦੇ ਸਮੇਂ ਗਲਤੀ ਆਈ ਹੈ","ADDON_ADD_ERR":"ਐਡਨ ਪੜਦੇ ਸਮੇਂ ਗਲਤੀ ਆਈ ਹੈ","ERR_ADDON_PROTECTED":"ਐਡਨ ਅਣਇੰਸਟੌਲ ਨਹੀਂ ਕਰ ਸਕਦਾ ਇਸ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਿਆ ਗਿਆ ਹੈ","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"ਕੁਝ ਗਲਤ ਹੋ ਗਿਆ - ਪ੍ਰਮਾਣੀਕਰਣ ਅਸਫਲ ਹੋ ਸਕਦਾ ਹੈ","ERR_NOT_COLLECTION_URL":"ਇੱਕ ਸੰਗ੍ਰਹਿ URL ਨਹੀਂ","ERR_NOT_ADDON_URL":"ਵੈਧ ਅਡਨ ਯੂਆਰਐਲ ਨਹੀਂ","ERR_DETECTFROMURL":"ਇਹ URL ਅਡਿਨ / ਸੰਗ੍ਰਹਿ ਨਹੀਂ ਰਿਹਾ","ADDON_DUPLICATE_WARNING":"ਚੇਤਾਵਨੀ: ਡੁਪਲਿਕੇਟ ਅਡਨ","ADDON_COLLECTION_SET_FAILED":"ਤੁਹਾਡੇ ਖਾਤੇ ਵਿੱਚ ਡੁੱਬਣ ਵਾਲੇ ਵਿਗਿਆਪਨ ਅਸਫਲ ਹੋਏ","SETTINGS_DATA_EXPORT":"ਐਕਸਪੋਰਟ ਯੂਜ਼ਰ ਡੇਟਾ ਐਕਸਪੋਰਟ ਕਰੋ","ADDON_PULL_FAILED":"ਤੁਹਾਡੇ ਖਾਤੇ ਤੋਂ ਡੁੱਬਣ ਵਾਲੇ ਵਿਗਿਆਪਨ ਅਸਫਲ ਹੋਏ","REFRESH_ON_CLICK":"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਲਈ ਕਲਿਕ ਕਰੋ","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"ਫਿਲਮ ਅਜੇ ਵੀ ਥੀਏਟਰਾਂ ਵਿੱਚ","WATCH_IN_CINEMA":"ਇਸ ਨੂੰ ਆਪਣੇ ਸਥਾਨਕ ਸਿਨੇਮਾ ਵਿਚ ਦੇਖੋ","IN_THEATER":"ਸਿਨੇਮਾ ਵਿਚ","GET_TICKETS":"ਟਿਕਟ ਪ੍ਰਾਪਤ ਕਰੋ","UPCOMING_EPISODE":"ਆਉਣ ਵਾਲੇ ਐਪੀਸੋਡ","UPCOMING_EPISODE_MESSAGE":"ਇਸ ਐਪੀਸੋਡ \'ਤੇ ਪ੍ਰਸਾਰਿਤ ਕੀਤੇ ਜਾਣਗੇ","MISSING_DATE_EPISODE":"ਐਪੀਸੋਡ ਦੀ ਤਾਰੀਖ ਗੁੰਮ ਗਈ","MISSING_DATE_EPISODE_MESSAGE":"ਇਹ ਕਿੱਸਾ ਅਜੇ ਪ੍ਰਸਾਰਣ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ","CHANNEL_NOT_SCRAPED":"ਇਹ ਚੈਨਲ ਅਜੇ ਖੁਰਦਿਆ ਨਹੀਂ ਗਿਆ ਹੈ.
    ਕ੍ਰਿਪਾ ਕਰਕੇ ਕੁਝ ਮਿੰਟਾਂ ਵਿੱਚ ਵਾਪਸ ਜਾਓ.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"ਇਸ ਨੂੰ ਉਪਲਬਧ ਹੋਣ ਤੋਂ ਬਾਅਦ ਸੂਚਿਤ ਕੀਤਾ ਜਾਣਾ, ਇਸ ਨੂੰ ਆਪਣੀ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ.","GET_NOTIFIED_WHEN_AVAILABLE":"ਇੱਕ ਵਾਰ ਉਪਲਬਧ ਹੋਣ ਤੇ ਤੁਹਾਨੂੰ ਸੂਚਿਤ ਕੀਤਾ ਜਾਵੇਗਾ.","WARNING_STREAMING_SERVER":"ਚੇਤਾਵਨੀ: ਸਥਾਨਕ ਸਟ੍ਰੀਮਿੰਗ ਸਰਵਰ ਨਹੀਂ ਲੱਭਿਆ.ਸਥਾਨਕ ਫਾਈਲਾਂ ਸਟ੍ਰੀਮਿੰਗ ਯੂਟਿ ube ਬ ਅਤੇ ਕੁਟੋਰ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰਨਗੀਆਂ.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"ਚੇਤਾਵਨੀ: ਇਸ ਵੀਡੀਓ ਨੂੰ ਤੁਹਾਡੇ ਹਾਰਡਵੇਅਰ ਦੁਆਰਾ ਸਮਰਥਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ.ਯਾਦ ਰੱਖੋ ਪਲੇਬੈਕ ਹੌਲੀ ਹੋ ਸਕਦੀ ਹੈ.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"ਓ ਪਲੇਅਰ ਗਲਤੀ","PLAYER_ERROR_LOOKSLIKE":"ਇਹ ਇਸ ਤਰਾਂ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ","PLAYER_ORIENTATION":"ਪਲੇਅਰ ਓਰੀਐਂਟੇਸ਼ਨ","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"ਨੇੜੇ","PLAYER_ORIENTATION_SENSOR_SHORT":"ਸੈਂਸਰ","PLAYER_ORIENTATION_LANDSCAPE":"ਲੈਂਡਸਕੇਪ \'ਤੇ ਪਲੇਅਰ ਓਰੀਐਂਟੇਸ਼ਨ","PLAYER_ORIENTATION_SENSOR":"ਪਲੇਅਰ ਓਰੀਐਂਟੇਸ਼ਨ ਆਟੋਮੈਟਿਕ (ਸੈਂਸਰ)","PLAYER_PLAYBACK_SPEED":"ਪਲੇਬੈਕ ਸਪੀਡ","PLAYER_PLAYBACK_ERROR":"ਪਲੇਬੈਕ ਗਲਤੀ ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ","PLAYER_PLAYBACK_ERROR_UNKNOWN":"ਅਣਜਾਣ ਗਲਤੀ","PLAYER_PLAYBACK_ERROR_DEFAULT":"ਮੁਆਫ ਕਰਨਾ ਇਹ ਵੀਡੀਓ {{PRO Preagname} Uk ਦੁਆਰਾ ਨਹੀਂ ਖੇਡਿਆ ਜਾ ਸਕਦਾ.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"ਰਹੋ","PLAYER_NEXT_VIDEO_TITLE":"ਅੱਗੇ ਆ ਰਿਹਾ ਹੈ","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"ਖਾਰਜ","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"ਹੁਣ ਦੇਖੋ","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"ਤੋਂ ਸਟ੍ਰੀਮਿੰਗ","CASTING_TO":"ਕਾਸਟਿੰਗ","NETWORK_STATUS":"ਨੈੱਟਵਰਕ ਸਥਿਤੀ","STREAM_SPEED":"ਸੈਕਸ਼ਨ ਸਪੀਡ:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"ਹਾਣੀਆਂ ਦੀ ਜਾਣਕਾਰੀ","PEERS_ACTIVE":"ਕਿਰਿਆਸ਼ੀਲ:","PEERS_CONNECTED":"ਲਿੰਕਡ ਹਨ:","PEERS_WAITING":"ਇੰਤਜ਼ਾਰ ਕਰਨਾ:","TRANSCODING_WARNING":"ਚੇਤਾਵਨੀ: ਟ੍ਰਾਂਸਕੋਡ ਵੀਡੀਓ.","STREAM_LOADING":"ਇਹ ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ ...","PLAYING_LOCAL":"ਸਥਾਨਕ ਫਾਈਲ ਖੇਡਣਾ","PLAYING_CACHE":"ਚੁਭਿਆ","WRONG_SUBS":"ਗਲਤ ਉਪਸਿਰਲੇਖ?","ERR_SUBS_LOADING_TITLE":"ਉਪਸਿਰਲੇਖ ਲੋਡ ਗਲਤੀ","ERR_SUBS_LOADING":"ਅਸਫਲ ਕਰਨ ਵਾਲੇ ਉਪਸਲੇਟਰ ਲੋਡਿੰਗ: ਇਹ ਅਦੇਨ ਨਾਲ ਸਮੱਸਿਆ ਹੋ ਸਕਦੀ ਹੈ ਜਿਸ ਦੀ ਤੁਸੀਂ ਆਪਣੇ ਨੈਟਵਰਕ ਕਨੈਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ ਜਾਂ ਨਾਲ ਕਰ ਰਹੇ ਹੋ","WARN_FOLLOWING_SUB_ADDONS_FAILED":"ਹੇਠ ਦਿੱਤੇ ਉਪਸਿਰਲੇਖ ਐਡਨਜ਼ ਅਸਫਲ ਰਹੇ","ERR_CASTING_UPDATE_TITLE":"ਕਾਸਟਿੰਗ ਡਿਵਾਈਸ ਨੂੰ ਅਪਡੇਟ ਨਹੀਂ ਕਰ ਸਕਿਆ: ਸਟ੍ਰੀਮਿੰਗ ਸਰਵਰ offline ਫਲਾਈਨ ਹੋ ਸਕਦਾ ਹੈ","CHOOSE_DEVICE":"ਵੇਖਣ ਲਈ ਇੱਕ ਉਪਕਰਣ ਦੀ ਚੋਣ ਕਰੋ","NO_CAST_DEVICES":"ਕੋਈ ਕਾਸਟਿੰਗ ਡਿਵਾਈਸ ਉਪਲਬਧ ਨਹੀਂ ਹੈ.","NO_SETTINGS":"ਕੋਈ ਸੈਟਿੰਗਾਂ ਉਪਲਬਧ ਨਹੀਂ ਹਨ.","NO_OPTIONS":"No options available","PHONE_TABLET":"ਫੋਨ / ਟੈਬਲੇਟ","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"ਸਬ ਸੁਰਖੀ","SUBTITLES_CHANGE":"ਲਈ ਉਪਸਿਰਲੇਖ ਬਦਲੋ","SUBTITLES_CHANGE_NONE":"ਇਸ ਭਾਸ਼ਾ ਲਈ ਕੋਈ ਹੋਰ ਉਪਸਿਰਲੇਖ ਨਹੀਂ ਹੈ.","SUBTITLES_CHANGE_ACIVE":"ਇਸ ਵੇਲੇ ਉਪਸਿਰਲੇਖ & # 35;{{subsitlesdialo l.catied + 1} ਸਰਗਰਮ ਹਨ.ਉਪਸਿਰਲੇਖਾਂ ਨੂੰ ਸਰਗਰਮ ਕਰਨਾ ਜਾਰੀ ਰੱਖੋ & # 35;{subs subsitlesdialo l.ddx + 1}}.","SUBTITLES_OR":"ਵਿਕਲਪਿਕ","SUBTITLES_ADJUST_DELAY":"ਉਪਸਿਰਲੇਖ ਦੇ ਦੇਰੀ ਨੂੰ ਵਿਵਸਥਤ ਕਰੋ:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"ਜਾਂ ਅਨੁਕੂਲ ਹੋਣ ਲਈ ਖੇਡਣ ਵੇਲੇ <ਸਪੈਨ> ਜੀ ਐੱਚ ਕੁੰਜੀ ਦੀ ਵਰਤੋਂ ਕਰੋ.","SUBTITLES_ADJUST_DELAY_TIP":"ਸੁਝਾਅ: ਤੁਸੀਂ ਵਿਵਸਥ ਕਰਕੇ ਵਿਵਸਥ ਕਰਦੇ ਸਮੇਂ <ਸਪੈਨ> g / ਕੁੰਜੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ.","SUBTITLES_DELAY":"ਉਪਸਿਰਲੇਖ ਦੇਰੀ:","SUBTITLES_LOADING":"ਉਪਸਿਰਲੇਖ ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ ...","SUBTITLES_UNAVAILABLE":"ਕੋਈ ਬਾਹਰੀ ਉਪਸਿਰਲੇਖ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ","SUBTITLES_DISABLED":"ਅਪਾਹਜ","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"ਸੀਜ਼ਨ","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"ਕੇਸ","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"ਦਿਆਲੂ","SORT_BY":"ਦੇ ਨਾਲ ਕ੍ਰਮਬੱਧ","FILTER":"ਫਿਲਟਰ","SORT_TRENDING":"ਟ੍ਰੈਂਡਿੰਗ","SORT_RECENT":"ਹਾਲੀਆ","SORT_ALPHABET":"ਏ-ਜ਼ੈਡ","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"ਰੇਟਿੰਗ","SORT_WATCHED":"ਦੇਖਿਆ","SORT_YEAR":"ਸਾਲ","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"ਤੁਹਾਡੇ ਲਈ ਨਵਾਂ","New Episodes":"ਨਵੇਂ ਐਪੀਸੋਡ","New Videos":"ਨਵੇਂ ਵੀਡੀਓ","Recommendations":"ਸਿਫਾਰਸ਼ਾਂ","LIBRARY_RESUME":"ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰੋ","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"ਵੇਰਵਾ","LIBRARY_RESUME_DISMISS":"ਖਾਰਜ","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"ਖਾਸ ਤੌਰ \'ਤੇ ਪ੍ਰਦਰਸ਼ਿਤ","DISCOVER_TOP":"ਸਿਰ","DISCOVER_OSCAR":"ਆਸਕਰ ਜੇਤੂ","DISCOVER_WARNING_TITLE":"ਓਹ!","DISCOVER_EMPTY_CATALOG":"ਇਹ ਅਡਿਨ ਨੇ ਖਾਲੀ ਸਮੱਗਰੀ ਵਾਪਸ ਕਰ ਦਿੱਤੀ.","DISCOVER_ADULT_WARNING":"ਸਮੱਗਰੀ ਸਿਰਫ ਬਾਲਗਾਂ ਲਈ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ.ਕੀ ਤੁਸੀਂ 18+ ਹੋ?","DISCOVER_NOADDON_WARNING":"ਚੇਤਾਵਨੀ: ਇਸ ਕਿਸਮ ਲਈ ਸਟ੍ਰੈਮੀਓ ਅਡੇਨ ਕਿਰਿਆਸ਼ੀਲ ਨਹੀਂ ਹੈ.ਇੱਥੇ ਸੁਰੱਖਿਅਤ ਕੀਤੀਆਂ ਚੀਜ਼ਾਂ ਅਪਡੇਟ ਨਹੀਂ ਕੀਤੀਆਂ ਜਾਣਗੀਆਂ.","DISCOVER_LOAD_ERR":"ਸਮੱਗਰੀ ਨੇ ਗਲਤੀ ਲੋਡ ਨਹੀਂ ਕੀਤੀ.","DISCOVER_ADDON_UNINSTALLED":"ਇਹ ਸਮੱਗਰੀ ਹੁਣ ਉਪਲਬਧ ਨਹੀਂ ਹੈ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਸਥਾਪਨਾ ਸਥਾਪਤ ਅਡਿਨ ਹੋ ਸਕਦੀ ਹੈ.","UNINSTALL_THIS_ADDON":"ਇਸ ਅਡੀਨ ਨੂੰ ਅਣਇੰਸਟੌਲ ਕਰੋ","ERR_ADDON_NOT_INSTALLED":"ਇਹ ਅਡੇਨ ਸਥਾਪਤ ਨਹੀਂ ਹੈ.ਹੁਣ ਸਥਾਪਤ?","DETAIL_RECEIVE_NOTIF_SERIES":"ਨਵੇਂ ਐਪੀਸੋਡਾਂ ਲਈ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰੋ","DETAIL_RECEIVE_NOTIF_VIDEOS":"ਨਵੇਂ ਵੀਡੀਓ ਲਈ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰੋ","SIDEBAR_SHOW_STREAMS":"ਸਟ੍ਰੀਮ ਦਿਖਾਓ","RELAUNCH":"ਹੁਣ ਮੁੜ ਜਾਲ!","UPGRADE":"ਨਵਾਂ ਵਰਜ਼ਨ ਉਪਲਬਧ!ਨਵੀਨਤਮ ਸਟ੍ਰੀਮਿਓ ਸੰਸਕਰਣ ਤੇ ਅਪਗ੍ਰੇਡ ਕਰੋ","RELOAD_UI":"ਯੂਜ਼ਰ ਇੰਟਰਫੇਸ ਨੂੰ ਦੁਹਰਾਓ","MANUAL_UPDATE_TITLE":"ਆਪਣੇ ਸਟ੍ਰੀਮਿਓ ਵਰਜ਼ਨ ਨੂੰ ਅਪਡੇਟ ਕਰੋ","MANUAL_UPDATE_LINE1":"ਤੁਸੀਂ ਸਟ੍ਰਾਮਬਿਓ ਦਾ ਪੁਰਾਣਾ ਸੰਸਕਰਣ ਚਲਾ ਰਹੇ ਹੋ ਜੋ ਬਹੁਤ ਜ਼ਿਆਦਾ ਅਣਜਾਣ ਹੈ.","MANUAL_UPDATE_LINE2":"ਜਿੰਨੀ ਜਲਦੀ ਹੋ ਸਕੇ ਅਪਡੇਟ ਕਰੋ.","BUTTON_UPDATE_LATTER":"ਹਾਲੇ ਨਹੀਂ","BUTTON_UPDATE_NOW":"ਅਪਡੇਟ","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"ਅਗਿਆਤ ਉਪਭੋਗਤਾ","DONT_HAVE_ACC":"ਕੋਈ ਖਾਤਾ ਨਹੀਂ?","HAVE_ACC":"ਪਹਿਲਾਂ ਹੀ ਕੋਈ ਖਾਤਾ ਹੈ?","PASSWORD":"ਪਾਸਵਰਡ","PASSWORD_CONFIRM":"ਪਾਸਵਰਡ ਪੱਕਾ ਕਰੋ","EMAIL":"ਈਮੇਲ","FB_LOGIN":"ਫੇਸਬੁੱਕ ਨਾਲ ਜਾਰੀ ਰੱਖੋ","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"ਤੁਹਾਡੀ ਆਗਿਆ ਤੋਂ ਬਿਨਾਂ ਕੁਝ ਵੀ ਸਾਂਝਾ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ","FB_NOPOST":"ਅਸੀਂ ਤੁਹਾਡੇ ਤੋਂ ਕੁਝ ਵੀ ਪੋਸਟ ਨਹੀਂ ਕਰਾਂਗੇ","OR":"ਜਾਂ","I_ACCEPT":"ਮੈਂ ਸਵੀਕਾਰ ਕਰਦਾ ਹਾਂ","I_ACCEPT_BY_CLICKING":"ਉਪਰੋਕਤ ਬਟਨ ਤੇ ਕਲਿਕ ਕਰਕੇ, ਮੈਂ ਸਾਬਤ ਕਰਦਾ ਹਾਂ ਕਿ ਮੈਂ ਸਵੀਕਾਰ ਕਰਦਾ ਹਾਂ","TOS":"ਨਿਬੰਧਨ ਅਤੇ ਸ਼ਰਤਾਂ","MUST_ACCEPT_TERMS":"ਤੁਹਾਨੂੰ ਹਾਲਤਾਂ ਨੂੰ ਸਵੀਕਾਰ ਕਰਨਾ ਪਏਗਾ","PASSWORDS_NOMATCH":"ਪਾਸਵਰਡ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ","SIGN_UP":"ਸਾਇਨ ਅਪ","SIGN_UP_EMAIL":"ਈਮੇਲ ਨਾਲ ਸਾਈਨ ਅਪ ਕਰੋ","CLICK_TO_SIGN_UP":"ਸਾਈਨ ਅਪ ਕਰਨ ਲਈ ਇੱਥੇ ਕਲਿੱਕ ਕਰੋ.","LOG_IN":"ਲਾਗਿਨ","LOG_OUT":"ਲਾਗ ਆਉਟ","EXIT_FULLSCREEN":"ਪਰਸਕ੍ਰੀਨ ਮੋਡ ਤੋਂ ਬਾਹਰ ਜਾਓ","ENTER_FULLSCREEN":"ਪਾਲੀਸ਼੍ਰਿਨ ਮੋਡ ਦਰਜ ਕਰੋ","PLAY_URL_MAGNET_LINK":"URL / ਚੁੰਬਕ ਲਿੰਕ ਚਲਾਓ","HELP_FEEDBACK":"ਸਹਾਇਤਾ ਅਤੇ ਜਵਾਬ","TERMS_OF_SERVICE":"ਸੇਵਾ ਦੀਆਂ ਸ਼ਰਤਾਂ","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"ਸਟ੍ਰੀਮਿਓ ਬਾਰੇ","USER_PANEL":"ਉਪਭੋਗਤਾ ਪੈਨਲ","LOGIN_LABEL":"Login","GUEST_LOGIN":"ਮਹਿਮਾਨ ਲੌਗਇਨ","GUEST_LOGIN_NOTICE":"ਮਹਿਮਾਨ ਲੌਗਇਨ ਦੀ ਸਿਫਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ.ਨਿਯਮਤ ਲਾਗਇਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਸਿੰਕ ਕਰਨ ਲਈ ਤਰਜੀਹ ਲੜੀ / ਚੈਨਲਾਂ ਲਈ ਸੂਚਨਾਵਾਂ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ.ਕੀ ਤੁਸੀਂ ਯਕੀਨਨ ਅੱਗੇ ਵਧਣਾ ਚਾਹੁੰਦੇ ਹੋ?","GUEST_LOGIN_NOTICE_2":"ਗੈਸਟ ਲੌਗਇਨ ਦੀ ਸਿਫਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ - ਤੁਹਾਡੇ ਕੋਲ ਤਾਲਮੇਲ ਲਾਇਬ੍ਰੇਰੀਆਂ ਅਤੇ ਬੋਰਡ ਸੂਚਨਾਵਾਂ ਨਹੀਂ ਹਨ ਜੋ ਮਹੱਤਵਪੂਰਣ ਮਿਸ਼ਰਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹਨ.ਕੀ ਤੁਸੀਂ ਯਕੀਨਨ ਅੱਗੇ ਵਧਣਾ ਚਾਹੁੰਦੇ ਹੋ?","CLICK_HERE":"ਇੱਥੇ ਕਲਿੱਕ ਕਰੋ","WRONG_PASSWORD":"ਗਲਤ ਈਮੇਲ ਜਾਂ ਪਾਸਵਰਡ.ਸਥਿਤੀ ਵਿੱਚ ਤੁਸੀਂ ਆਪਣਾ ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ ਹੋ","SET_A_PASS":"ਇੱਕ ਪਾਸਵਰਡ ਸੈੱਟ ਕਰੋ","RESET_PASSWORD":"ਪਾਸਵਰਡ ਰੀਸੈੱਟ","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ?","EMAIL_USED_WITH_FB":"ਇਸ ਈਮੇਲ ਦੀ ਵਰਤੋਂ ਫੇਸਬੁੱਕ ਲੌਗਿਨ ਨਾਲ ਕੀਤੀ ਗਈ ਸੀ.","INVALID_EMAIL":"ਇੱਕ ਜਾਇਜ ਈਮੇਲ ਪਤਾ ਦਰਜ ਕਰੋ","INVALID_PASSWORD":"ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਸਹੀ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ","CONN_ERR":"ਕੁਨੈਕਸ਼ਨ ਗਲਤੀ - ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜੀ.N nif ਇਸ ਨੂੰ ਫਾਇਰਵਾਲ / ਐਂਟੀ-ਵਾਇਰਸ ਸਾਫਟਵੇਅਰ (ਖ਼ਾਸਕਰ ਬਿੱਟ ਡੀਡੇਂਡਰ) ਨੂੰ ਅਯੋਗ ਕਰ ਦਿੱਤਾ.","IMPORT_FROM_GUEST":"ਆਪਣੇ ਗੈਸਟ ਖਾਤੇ ਤੋਂ ਲਾਇਬ੍ਰੇਰੀ ਆਯਾਤ ਕਰੋ","RECEIVE_UPDATES_EMAIL":"ਸਟ੍ਰੀਮਿਓ ਤੋਂ ਆਪਣੀ ਈਮੇਲ ਤੇ ਅਪਡੇਟਾਂ ਪ੍ਰਾਪਤ ਕਰੋ","LOGIN_FAILED":"ਲਾਗਿਨ ਅਸਫਲ ਰਿਹਾ.","SIGNUP_FAILED":"ਸਾਈਨ ਅਪ ਅਸਫਲ.","SEARCH_FAILED":"ਹੰਟ ਅਸਫਲ ਰਿਹਾ","EMAIL_USED":"ਇਹ ਈਮੇਲ ਪਹਿਲਾਂ ਹੀ ਵਰਤੋਂ ਅਧੀਨ ਹੈ.","WAITING_FB_LOGIN":"ਫੇਸਬੁੱਕ ਨਾਲ ਲੌਗਇਨ ਕਰਨਾ ...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"ਬਾਹਰੀ ਖਿਡਾਰੀ ਵਿੱਚ ਖੇਡੋ","EXTERNAL_REMEMBER_PLAYER":"ਕੀ ਤੁਸੀਂ ਆਪਣੀ ਪਸੰਦ ਨੂੰ ਯਾਦ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?","EXTERNAL_ALWAYS_PLAY":"ਹਾਂ","EXTERNAL_ONLY_ONCE":"ਨਹੀਂ","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"ਸਾਨੂੰ ਦੱਸੋ ਕਿ ਤੁਸੀਂ ਕੀ ਪਸੰਦ ਕਰਦੇ ਹੋ","INTRO_TASTE_LONG":"ਸਾਨੂੰ ਦੱਸੋ ਕਿ ਤੁਸੀਂ ਕੀ ਵੇਖਣਾ ਚਾਹੁੰਦੇ ਹੋ","INTRO_TASTE_PICK":"{{ਹੁਸਵੀਸਿਮਨ ਲੀਨੀਅਰਿਨਿੰਗ} ਹਿੱਤਾਂ ਦੀ ਚੋਣ ਕਰੋ","INTRO_TASTE_PICK_MORE":"{Reitainsremainenaining} ਹੋਰ ਹਿੱਤਾਂ ਦੀ ਚੋਣ ਕਰੋ","INTRO_TASTE_HELP_US":"ਸਾਡੇ ਬਾਰੇ ਹੋਰ ਜਾਣਨ ਵਿਚ ਸਾਡੀ ਮਦਦ ਕਰੋ.","INTRO_TASTE_CHOOSE_THESE":"ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੁਝ ਚੁਣੋ:","INTRO_TASTE_CHOOSE_MIN":"ਘੱਟੋ ਘੱਟ 3 ਸ਼੍ਰੇਣੀਆਂ ਚੁਣੋ","INTRO_TASTE_CHOOSE_MIN_ERR":"ਤੁਹਾਨੂੰ ਘੱਟੋ ਘੱਟ 3 ਸ਼੍ਰੇਣੀਆਂ ਦੀ ਚੋਣ ਕਰਨੀ ਪਏਗੀ!","INTRO_TASTE_LIFESTYLE":"ਬਾਲੀਵੁੱਡ","INTRO_TASTE_SPORTS":"ਖੇਡ","INTRO_TASTE_FOOD_HEALTH":"ਭੋਜਨ ਅਤੇ ਸਿਹਤ","INTRO_TASTE_BEAUTY_FASHION":"ਸੁੰਦਰਤਾ ਅਤੇ ਫੈਸ਼ਨ","INTRO_TASTE_NEWS":"ਖ਼ਬਰਾਂ","INTRO_TASTE_GAMING":"ਜੂਆ","INTRO_TASTE_SCIENCE_EDU":"ਵਿਗਿਆਨ ਸਿੱਖਿਆ","INTRO_TASTE_MUSIC":"ਸੰਗੀਤ","INTRO_TASTE_TRAVEL":"ਯਾਤਰਾ","INTRO_TASTE_LATE_NIGHT":"ਦੇਰ ਰਾਤ ਪ੍ਰਦਰਸ਼ਨ","INTRO_TASTE_REALITY":"ਹਕੀਕਤ","INTRO_TASTE_COMEDY":"ਕਾਮੇਡੀ","INTRO_TASTE_DIY":"ਡੀਆਈਵਾਈ ਕਿਵੇਂ ਕਰੀਏ","INTRO_TASTE_TECH":"ਟੈਕਨੋਲੋਜੀ","INTRO_TASTE_CINEMA":"ਸਿਨੇਮਾ","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"ਇਸ ਪਲੇਟਫਾਰਮ ਤੇ ਚੁਣਿਆ ਅਡੇਨ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ.","ADDON_DISCLAIMER":"ਤੀਜੀ -ਪਾਰਟੀ ਇਸ਼ਤਿਹਾਰਾਂ ਦੀ ਵਰਤੋਂ ਹਮੇਸ਼ਾ ਤੁਹਾਡੀ ਜ਼ਿੰਮੇਵਾਰੀ ਦੇ ਅਧੀਨ ਹੋਵੇਗੀ ਅਤੇ ਅਧਿਕਾਰ ਖੇਤਰ ਦੇ ਅਧਿਕਾਰਤ ਕਾਨੂੰਨ ਤੁਹਾਡੇ ਦੁਆਰਾ ਅਧਿਕਾਰਤ ਕਾਨੂੰਨ ਦੇ ਅਧੀਨ ਰਹੇਗੀ.","ADDON_ACTIVATE":"ਇਸ ਅਡੀਨ ਨੂੰ ਸਰਗਰਮ ਕਰੋ?","ADDON_REPO_ADD":"ਅਡੇਨ ਕੁਲੈਕਸ਼ਨ URL","ADDON_ADD":"ਸ਼ਾਮਲ ਕਰੋ","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"ਨਵਾਂ ਕੀ ਹੈ","BUTTON_CONTINUE":"ਜਾਰੀ ਰੱਖੋ","BUTTON_ACTIVATE":"ਕਿਰਿਆਸ਼ੀਲ","BUTTON_ACTIVATED":"ਕਿਰਿਆਸ਼ੀਲ","BUTTON_CANCEL":"ਰੱਦ ਕਰੋ","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"ਸਾਰੇ ਖਾਰਜ","BUTTON_VIEW_ALL":"ਸਾਰੇ ਵੇਖੋ","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਖਾਲੀ ਦਿਖਾਈ ਦੇ ਰਹੀ ਹੈ.ਇਹ ਪਤਾ ਲਗਾਓ ਕਿ ਇਹ ਕਿੰਨਾ ਲਾਭਦਾਇਕ ਹੈ :)","HOW_START":"ਇਹ ਤੁਸੀਂ ਕਿਵੇਂ ਅਰੰਭ ਕਰ ਸਕਦੇ ਹੋ ਇਹ ਹੈ:","LIB_EMPTY_CAL":"ਤੁਹਾਡਾ ਕੈਲੰਡਰ ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਇੱਕ ਲੜੀ ਦਿਖਾਉਂਦਾ ਹੈ.","HOW_START_CAL":"ਇਹ ਇੱਥੇ ਹੈ ਕਿ ਤੁਸੀਂ ਲੜੀ ਕਿਵੇਂ ਜੋੜ ਸਕਦੇ ਹੋ:","LIB_EMPTY_BOARD":"ਬੋਰਡ ਨੋਟੀਫਿਕੇਸ਼ਨ & ਐਮਪ;ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਨਾਲ ਸਬੰਧਤ ਸਿਫਾਰਸ਼ਾਂ.","HOW_START_BOARD_WAIT":"ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੀ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਕੁਝ ਲੜੀ ਜਾਂ ਚੈਨਲ ਤੇ ਕਾਰਵਾਈ ਕਰਨ ਲਈ ਸਾਨੂੰ ਕੁਝ ਮਿੰਟਾਂ ਦੇਵੋ :)","HOW_START_BOARD":"ਇੱਥੇ ਦਰਸਾਇਆ ਗਿਆ ਹੈ ਕਿ ਤੁਸੀਂ ਚੇਨ ਅਤੇ ਐਮਪੀ ਕਿਵੇਂ ਜੋੜ ਸਕਦੇ ਹੋ;ਇਸ ਲਈ ਫਿਲਮਾਂ:","IMPORT_FB":"ਕੀ ਆਯਾਤ ਕੀਤੀਆਂ ਚੀਜ਼ਾਂ ਜੋ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ <ਸਪੈਨ> ਫੇਸਬੁੱਕ ","IMPORT_TRAKT":"ਆਪਣੀ ਮੀਡੀਆ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ <ਯੂ ਸਪੈਂਟ> ਟਰੱਕ ਤੋਂ ਆਯਾਤ ਕਰੋ","IMPORT_DISCOVER":"<ਸਪੈਨ> ਖੋਜ> ਤੋਂ ਦਿਲਚਸਪ ਸਮੱਗਰੀ ਦੀ ਖੋਜ ਕਰੋ","IMPORT_DISK":"ਫਿਲਮਾਂ ਆਯਾਤ ਕਰੋ ਜਾਂ ਆਪਣੇ ਨਾਲ ਆਪਣੀ <ਸਪ> ਸਥਾਨਕ ਡਿਸਕ ਤੇ ਦਿਖਾਓ","PLEASE_CREATE_ACC":"ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਸਿੰਕ ਅਤੇ ਏ ਐਮ ਪੀ ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਲਈ ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਖਾਤਾ ਬਣਾਓ ;ਪੂਰਾ","IMPORT_DISCOVER_SIGNUP":"ਸਾਈਨ ਅਪ ਕਰੋ ਅਤੇ ਖੋਜ ਤੋਂ ਦਿਲਚਸਪ ਸਮੱਗਰੀ ਲੱਭੋ","IMPORT_DISK_SIGNUP":"ਸਾਈਨ ਅਪ ਕਰੋ ਅਤੇ ਫਿਲਮਾਂ ਨੂੰ ਆਯਾਤ ਕਰੋ ਜਾਂ ਆਪਣੀ <ਸਪ> ਸਥਾਨਕ ਡਿਸਕ ਤੇ ਦਿਖਾਓ","LIB_EMPTY_CLOUD":"ਕਲਾਉਡ ਲਾਇਬ੍ਰੇਰੀ","LIB_EMPTY_CLOUD_DESC":"ਸਾਰੇ ਉਪਕਰਣਾਂ ਤੇ ਵਿਅਕਤੀਗਤ ਕਲਾਉਡ ਲਾਇਬ੍ਰੇਰੀ ਦਾ ਤਾਲਮੇਲ","LIB_EMPTY_EARLY":"ਅਰਲੀ ਪੰਛੀ","LIB_EMPTY_EARLY_DESC":"ਨਵੇਂ ਐਪੀਸੋਡਾਂ ਲਈ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰੋ","LIB_EMPTY_PERSONAL":"ਨਿੱਜੀ","LIB_EMPTY_PERSONAL_DESC":"ਨਿੱਜੀ ਸਿਫਾਰਸ਼ਾਂ ਪ੍ਰਾਪਤ ਕਰੋ","LIB_EMPTY_CALENDAR_DESC":"ਆਪਣਾ ਨਿੱਜੀ ਦੇਖਣ ਵਾਲੇ ਕੈਲੰਡਰ ਨੂੰ ਤਹਿ ਕਰੋ","LIB_EMPTY_ALL":"ਇਹ ਸਭ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਾਈਨ ਅਪ ਕਰੋ:","LIB_EMPTY_BEST":"ਵਧੀਆ ਸਟ੍ਰੀਮਿਓ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਾਈਨ ਅਪ ਕਰੋ","LIB_EMPTY_OTHER":"ਕੈਲੰਡਰ ਅਤੇ ਹੋਰ ਮਹਾਨ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਲਈ ਸਾਈਨ ਅਪ ਕਰੋ","CALENDAR_ADDED":"ਸਟ੍ਰੀਮਿਓ ਕੈਲੰਡਰ ਤੁਹਾਡੇ ਡਿਫਾਲਟ ਡੈਸਕਟੌਪ ਕੈਲੰਡਰ ਵਿੱਚ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ.","CALENDAR_ADDED_MSG":"ਜੇ ਇਹ ਕੰਮ ਨਹੀਂ ਕਰਦਾ ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਇਸ URL ਨੂੰ ਆਪਣੀ ਕੈਲੰਡਰ ਐਪਲੀਕੇਸ਼ਨ ਤੇ ਹੱਥੀਂ ਸ਼ਾਮਲ ਕਰੋ","TRAKT_EXPIRED":"ਟਰੈਕਟਰ ਪ੍ਰਮਾਣਿਕਤਾ ਪੂਰੀ ਕੀਤੀ ਗਈ ਹੈ ਕਿਰਪਾ ਕਰਕੇ ਸੈਟਿੰਗਾਂ ਤੇ ਜਾਓ ਅਤੇ ਮੁੜ-ਸੰਕਰਮਿਤ ਕਰੋ","TRAKT_REQUIRES_LOGIN":"ਟ੍ਰੈਕਟ ਗਲਤੀ","TRAKT_REQUIRES_LOGIN_MSG":"ਤੁਹਾਨੂੰ ਲੌਗਇਨ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"ਵਿਵਸਥਾ","SETTINGS_NAV_GENERAL":"ਆਮ","SETTINGS_NAV_PLAYER":"ਖਿਡਾਰੀ","SETTINGS_NAV_STREAMING":"ਸਟ੍ਰੀਮਿੰਗ","SETTINGS_NAV_SHORTCUTS":"ਸ਼ੌਰਟਕਟ","SETTINGS_SHORTCUT_RELOAD_APP":"ਐਪ ਨੂੰ ਮੁੜ ਲੋਡ ਕਰੋ","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"ਵਾਪਸ ਜਾਓ / ਵਾਪਸ ਜਾਓ","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"ਟੌਗਲ ਪੂਰੀ ਸਕਰੀਨ","SETTINGS_SHORTCUT_SHOW_CONTROLS":"ਕੰਟਰੋਲ ਦਿਖਾਓ","SETTINGS_SHORTCUT_PLAY_PAUSE":"ਚਾਲੂ / ਸਟਾਪ","SETTINGS_SHORTCUT_VOLUME_UP":"ਵਾਲੀਅਮ ਉੱਪਰ","SETTINGS_SHORTCUT_VOLUME_DOWN":"ਆਵਾਜ਼ ਨੂੰ ਘਟਾਓ","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"ਉਪਸਿਰਲੇਖ ਦਾ ਆਕਾਰ ਵਧਾਓ","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"ਉਪਸਿਰਲੇਖ ਦਾ ਆਕਾਰ ਘਟਾਓ","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"ਉਪਸਿਰਲੇਖ ਦੇਰੀ ਵਧਾਓ","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"ਉਪਸਿਰਲੇਖ ਦੇਰੀ ਨੂੰ ਘਟਾਓ","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"ਸ਼ੁਰੂ ਸ਼ੁਰੂ ਕਰੋ","SETTINGS_VLC_DEFAULT":"VLC ਨਾਲ ਖੇਡੋ","SETTINGS_UI_LANGUAGE":"UI ਭਾਸ਼ਾ","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"ਕੁੰਜੀ ਤੋਂ ਬਾਹਰ ਦੀ ਪੂਰੀ ਸਕ੍ਰੀਨ ਤੋਂ ਬਾਹਰ ਜਾਓ","SETTINGS_GAMEPAD":"ਗੇਮਪੈਡ ਸਪੋਰਟ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ","SETTINGS_CLOSE_WINDOW":"ਜਦੋਂ ਵਿੰਡੋ ਬੰਦ ਹੋਵੇ ਤਾਂ ਐਪ ਨੂੰ ਬੰਦ ਕਰੋ","SETTINGS_SUBTITLES_LANGUAGE":"ਮੂਲ ਉਪਸਿਰਲੇਖਾਂ ਦੀ ਭਾਸ਼ਾ","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"ਮੂਲ ਉਪਸਿਰਲੇਖ ਅਕਾਰ","SETTINGS_SUBTITLES_BACKGROUND":"ਉਪਸਿਰਲੇਖ ਪਿਛੋਕੜ","SETTINGS_SUBTITLES_COLOR":"ਉਪਸਿਰਲੇਖ ਦਾ ਰੰਗ","SETTINGS_SUBTITLES_COLOR_OUTLINE":"ਉਪਸਿਰਲੇਖ ਆਉਟਲਾਈਨ ਰੰਗ","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"ਉਪਸਿਰਲੇਖ ਪਿਛੋਕੜ ਦਾ ਰੰਗ","SETTINGS_SEEK_KEY":"ਐਰੋ ਕੁੰਜੀਆਂ ਦਾ ਸਮਾਂ ਲੱਭੋ","SETTINGS_SEEK_KEY_SHIFT":"ਜਦੋਂ ਸ਼ਿਫਟ ਕੁੰਜੀ ਆਯੋਜਿਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਤਾਂ ਤੀਰ ਦੀ ਕੁੰਜੀ ਸਮੇਂ ਦੀ ਭਾਲ ਕਰੋ","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"ਅਗਲੇ ਐਪੀਸੋਡ ਆਟੋ-ਪਲੇ","SETTINGS_NEXT_VIDEO":"ਅਗਲੇ ਐਪੀਸੋਡ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਨੋਟੀਫਿਕੇਸ਼ਨ ਦਿਖਾਓ","SETTINGS_NEXT_VIDEO_TRIGGER":"ਇਸ ਲਈ ਅਗਲੀ ਐਪੀਸੋਡ ਨੋਟੀਫਿਕੇਸ਼ਨ ਦਿਖਾਓ:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"ਖੇਡਣ ਤੋਂ ਪਹਿਲਾਂ ਆਪਣੇ ਆਪ ਬਦਲੋ","SETTINGS_OVERRIDE_SERVER":"ਸਟ੍ਰੀਮਿੰਗ ਸਰਵਰ URL ਨੂੰ ਘਟਾ ਦਿੱਤਾ (ਉੱਨਤ)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"ਸਟ੍ਰੀਮਿੰਗ ਸਰਵਰ URL:","SETTINGS_SERVER_AVAILABLE":"ਸਟ੍ਰੀਮਿੰਗ ਸਰਵਰ ਉਪਲਬਧ ਹੈ.","SETTINGS_SERVER_UNAVAILABLE":"ਸਟ੍ਰੀਮਿੰਗ ਸਰਵਰ ਉਪਲਬਧ ਨਹੀਂ ਹੈ.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"HTTPSTPSTPSTPSTPSTOPTES","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"ਹਮੇਸ਼ਾ ਤਾਜ਼ਾ ਬੀਟਾ ਦੀ ਵਰਤੋਂ ਕਰੋ","SETTINGS_IMPORT_FB":"ਫੇਸਬੁੱਕ ਤੋਂ ਆਯਾਤ ਕਰੋ","SETTINGS_IMPORT_DISK":"ਸਥਾਨਕ ਡਿਸਕ ਤੋਂ ਆਯਾਤ ਕਰੋ","SETTINGS_IMPORT_TRAKT":"ਟ੍ਰੈਕਟ ਤੋਂ ਦਰਾਮਦ","SETTINGS_PAUSE_MINIMIZED":"ਘੱਟੋ ਘੱਟ ਪਲੇਬੈਕ ਰੋਕੋ","SETTINGS_HWDEC":"ਹਾਰਡਵੇਅਰ-ਚਾਰਜਡ ਡੀਕੋਡਿੰਗ","SETTINGS_BACKGROUND":"ਬੈਕਗਰਾ ground ਂਡ ਪਲੇਅਬੈਕ","SETTINGS_SUBSCRIBE_CALENDAR":"ਕੈਲੰਡਰ ਦੀ ਗਾਹਕੀ","SETTINGS_REQ_EXPORT":"ਡਾਟਾ ਨਿਰਯਾਤ ਦੀ ਬੇਨਤੀ ਕਰੋ","SETTINGS_ACC_DELETE":"ਖਾਤੇ ਨੂੰ ਹਟਾਉਣ ਲਈ ਬੇਨਤੀ ਕਰੋ","SETTINGS_CHANGE_PASSWORD":"ਪਾਸਵਰਡ ਬਦਲੋ","SETTINGS_TOS":"ਸੇਵਾ ਦੀਆਂ ਸ਼ਰਤਾਂ","SETTINGS_SUPPORT":"ਸਹਿਕਾਰਤਾ ਟੀਮ ਨਾਲ ਸੰਪਰਕ ਕਰੋ","SETTING_LANGUAGE":"ਭਾਸ਼ਾ","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"ਟ੍ਰੈਕਟ ਰਗੜਨਾ","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"ਟਰਕਟ.ਟੀਵੀ ਤੋਂ ਲੌਗ ਆਉਟ ਕਰੋ","SETTINGS_TRAKT_LOGOUT_2":"ਟਰੱਕਟ ਤੋਂ ਲੌਗ ਆਉਟ ਕਰੋ","SETTINGS_SCAN_FOR_REMOTE":"ਰਿਮੋਟ ਖੋਲ੍ਹਣ ਲਈ ਕਿ Q ਆਰ ਕੋਡ ਸਕੈਨ ਕਰੋ","SETTINGS_DESKTOP_NOTIFICATIONS":"ਡੈਸਕਟਾਪ ਨੋਟੀਫਿਕੇਸ਼ਨ","SETTINGS_DATA_SAVER":"ਡਾਟਾ ਸੇਵਿੰਗ","SETTINGS_LANGUAGE_INTERFACE":"ਇੰਟਰਫੇਸ","SETTINGS_LANGUAGE_SUBS":"ਮੂਲ ਉਪਸਿਰਲੇਖ","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"ਆਟੋਸੈਲ ਆਡੀਓ ਟਰੈਕ","SETTINGS_DEFAULT_AUDIO_TRACK":"ਮੂਲ ਆਡੀਓ ਟਰੈਕ","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"ਕਾਰਨ","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"ਵਰਜਨ","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"ਪਲੇਅਰ ਇੱਕ ਵੱਖਰੀ ਵਿੰਡੋ ਵਿੱਚ ਲਾਂਚ ਕਰੋ (ਐਡਵਾਂਸਡ)","SETTINGS_PLAY_IN_EXTERNAL":"ਬਾਹਰੀ ਖਿਡਾਰੀ ਵਿੱਚ ਹਮੇਸ਼ਾਂ ਵੀਡੀਓ ਸ਼ੁਰੂ ਕਰੋ","SETTINGS_STORAGE_BUTTON":"ਸਥਾਨਕ ਸਟੋਰੇਜ ਸਾਫ਼ ਕਰੋ","SETTINGS_STORAGE_MODAL_TITLE":"ਤੁਹਾਨੂੰ ਪੂਰਾ ਵਿਸ਼ਵਾਸ ਹੈ","SETTINGS_STORAGE_MODAL_MESSAGE":"ਇਹ ਸਥਾਨਕ ਸਟੋਰੇਜ ਨੂੰ ਸਾਫ਼ ਕਰੇਗਾ ਅਤੇ ਤੁਹਾਨੂੰ ਲੌਗ ਆਉਟ ਕਰੇਗਾ.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"ਆਟੋਮੈਟਿਕ","SETTINGS_HW_DISABLED":"ਨੇੜੇ","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"ਆਡੀਓ","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"ਕਾਲੇ ਪਿਛੋਕੜ ਦੇ ਰੰਗ ਦੀ ਵਰਤੋਂ ਕਰੋ","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"ਆਕਾਰ","SUBSPICKER_DELAY":"ਦੇਰੀ","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"ਪਰਾਈਵੇਟ ਨੀਤੀ","MOBILE_CRASH_REPORTING":"ਕਰੈਸ਼ ਰਿਪੋਰਟਿੰਗ","MOBILE_ZOOM_TO_FILL":"ਸਕਰੀਨ ਨੂੰ ਭਰਨ ਲਈ ਜ਼ੂਮ ਕਰੋ","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"ਘੱਟ ਬੈਟਰੀ ਤੇ ਚਲਾਓ","MOBILE_RUN_FOREGROUND":"ਫੋਰਗਰਾਉਂਡ ਸਰਵਿਸ ਦੇ ਤੌਰ ਤੇ ਚਲਾਓ","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"ਆਨਲਾਈਨ","MOBILE_SERVER_OFFLINE":"Offline ਫਲਾਈਨ","MOBILE_QR_EXPIRES":"ਕਿ Q ਆਰ ਕੋਡ ਦੀ ਆਖਰੀ ਮਿਤੀ ਖਤਮ ਹੋ ਜਾਵੇਗੀ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"ਉਪਰੋਕਤ QR ਕੋਡ ਨੂੰ ਸਕੈਨ ਕਰੋ ਜਾਂ ਇੱਥੇ ਜਾਓ","MOBILE_LINK_ACCOUNT":"ਲਿੰਕ ਖਾਤਾ","MOBILE_SPEEDPICKER_CANCEL":"ਰੱਦ ਕਰੋ","MOBILE_SPEEDPICKER_LABEL":"ਪਲੇਬੈਕ ਦੀ ਗਤੀ ਦੀ ਚੋਣ ਕਰੋ","MOBILE_EMPTY_LIBRARY":"ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਖਾਲੀ ਹੈ","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"ਮੈਂ ਸਟ੍ਰੀਡੈਂਡੋ ਤੋਂ ਮਾਰਕੀਟਿੰਗ ਸੰਚਾਰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਹਿਮਤ ਹਾਂ","QUIT":"ਛੱਡੋ","CONNECTED":"ਲਿੰਕ ਕੀਤੇ ਗਏ ਹਨ","AUTHENTICATE":"ਪ੍ਰਮਾਣਤ","AUTHENTICATING":"Authenticating...","CACHING":"ਕੈਚਿੰਗ","SETTINGS_CACHING_DRIVE":"ਕੈਚਿੰਗ ਡਰਾਈਵ","ENABLE_LOCAL_FILES_ADDON":"ਸਥਾਨਕ ਫਾਈਲਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਸਮਰੱਥ ਕਰੋ (ਮੁੜ-ਚਾਲੂ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"ਰਿਮੋਟ HTPS ਕੁਨੈਕਸ਼ਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ","TORRENT_PROFILE":"ਟੋਰੈਂਟ ਪ੍ਰੋਫਾਈਲ","DATA_CACHING":"ਡਾਟਾ ਕੈਸ਼ਿੰਗ","MAGNET_PARSING":"ਇੱਕ ਚੁੰਬਕੀ ਲਿੰਕ ਪਾਰਸਿੰਗ","January":"ਜਨਵਰੀ","February":"ਫਰਵਰੀ","March":"ਜਲੂਸ","April":"ਅਪ੍ਰੈਲ","May":"ਮਈ","June":"ਜੂਨ","July":"ਜੁਲਾਈ","August":"ਅਗਸਤ","September":"ਸਤੰਬਰ","October":"ਅਕਤੂਬਰ","November":"ਨਵੰਬਰ","December":"ਦਸੰਬਰ","Monday":"ਸੋਮਵਾਰ","Tuesday":"ਮੰਗਲਵਾਰ","Wednesday":"ਬੁੱਧਵਾਰ","Thursday":"ਵੀਰਵਾਰ","Friday":"ਸ਼ੁੱਕਰਵਾਰ","Saturday":"ਸ਼ਨੀਵਾਰ","Sunday":"ਐਤਵਾਰ ਐਤਵਾਰ","Action":"ਕੰਮ","Comedy":"ਕਾਮੇਡੀ","War":"ਯੁੱਧ","Family":"ਪਰਿਵਾਰ","Animation":"ਐਨੀਮੇਸ਼ਨ","Adventure":"ਸਾਹਸ","Fantasy":"ਕਲਪਨਾ","Crime":"ਅਪਰਾਧ","Mystery":"ਰਹੱਸ","Romance":"ਰੋਮਾਂਸ","Drama":"ਡਰਾਮਾ","Horror":"ਡਰਾਉਣਾ","Thriller":"ਥ੍ਰਿਲਰ","Sci-Fi":"ਵਿਗਿਆਨ ਦੀ ਕਹਾਣੀ","Music":"ਸੰਗੀਤ","Biography":"ਜੀਵਨੀ","Documentary":"ਦਸਤਾਵੇਜ਼ੀ","Sport":"ਖੇਡ","Musical":"ਸੰਗੀਤ","Western":"ਪੱਛਮੀ","Film-Noir":"ਫਿਲਮ ਨੋਇਰ","News":"ਖ਼ਬਰਾਂ","History":"ਇਤਿਹਾਸ","Game-Show":"ਖੇਡ ਪ੍ਰਦਰਸ਼ਨ","Reality-TV":"ਹੁਨਰ ਟੀ.ਵੀ.","Talk-Show":"ਗੱਲਬਾਤ ਸ਼ੋਅ","Film & Entertainment":"ਫਿਲਮ ਅਤੇ ਮਨੋਰੰਜਨ","Gaming":"ਜੂਆ","From TV":"ਟੀਵੀ ਤੋਂ","Lifestyle":"ਬਾਲੀਵੁੱਡ","Science & Education":"ਵਿਗਿਆਨ ਸਿੱਖਿਆ","Cooking & Health":"ਖਾਣਾ ਪਕਾਉਣ ਅਤੇ ਸਿਹਤ","Beauty & Fashion":"ਸੁੰਦਰਤਾ ਅਤੇ ਫੈਸ਼ਨ","Sports":"ਖੇਡ","News & Politics":"ਖ਼ਬਰਾਂ ਅਤੇ ਰਾਜਨੀਤੀ","How-to & DIY":"ਕਿਵੇਂ ਅਤੇ DIY","Tech":"ਟੈਕਨੋਲੋਜੀ","Automotive":"ਮੋਟਰ ਵਾਹਨ","Causes & Non-Profits":"ਕਾਰਨ ਅਤੇ ਗੈਰ-ਪ੍ਰੋਫੋਫਿਟ","Movies":"ਫਿਲਮਾਂ","Uk Live Tv":"ਯੂਕੇ ਲਾਈਵ ਟੀਵੀ","Fashion":"ਪਹਿਰਾਵਾ","Business News Radio":"ਵਪਾਰ ਨਿ News ਜ਼ ਰੇਡੀਓ","Business Tv":"ਵਪਾਰ ਟੀ.ਵੀ.","Cars & Auto":"ਕਾਰਾਂ ਅਤੇ ਆਟੋਜ਼","Comedy Radio":"ਕਾਮੇਡੀ ਰੇਡੀਓ","Lifestyle Radio":"ਜੀਵਨ ਸ਼ੈਲੀ ਰੇਡੀਓ","News Tv":"ਖ਼ਬਰਾਂ ਟੀ.ਵੀ.","Food And Wine":"ਭੋਜਨ ਅਤੇ ਵਾਈਨ","Latino Tv":"ਲਾਤੀਨੋ ਟੀਵੀ","Shopping Tv":"ਸ਼ਾਪਿੰਗ ਟੀਵੀ","Religion":"ਧਰਮ","Kids":"ਬੱਚੇ","Body & Soul":"ਸਰੀਰ ਦੀ ਰੂਹ","Education":"ਸਿੱਖਿਆ","Indian Tv":"ਇੰਡੀਅਨ ਟੀਵੀ","Extreme Sports":"ਬਹੁਤ ਜ਼ਿਆਦਾ ਖੇਡਾਂ","Middle Eastern Tv":"ਮਿਡਲ ਈਸਟ ਟੀਵੀ","Celebrity Tv":"ਸੇਲਿਬ੍ਰਿਟੀ ਟੀਵੀ","Science Tv":"ਸਾਇੰਸ ਟੀਵੀ","Bikini babe":"ਬਿਕਨੀ ਬੇਬੇ","Outdoors":"ਸੜਕ ਉੱਤੇ","German Tv":"ਜਰਮਨ ਟੀਵੀ","French Tv":"ਫ੍ਰੈਂਚ ਟੀਵੀ","Italian Tv":"ਇਤਾਲਵੀ ਟੀਵੀ","Gamer Tv":"ਗੇਮਰ ਟੀਵੀ","Travel":"ਯਾਤਰਾ","Asian Tv":"ਏਸ਼ੀਅਨ ਟੀਵੀ","Entertainment":"ਮਨੋਰੰਜਨ","News Radio":"ਨਿ News ਜ਼ ਰੇਡੀਓ","Music Radio":"ਸੰਗੀਤ ਰੇਡੀਓ","Language Learning":"ਭਾਸ਼ਾ ਸਿੱਖਣਾ","Science Radio":"ਸਾਇੰਸ ਰੇਡੀਓ","Tech Radio":"ਤਕਨੀਕੀ ਰੇਡੀਓ","Science & Technology Vod":"ਵਿਗਿਆਨ ਅਤੇ ਤਕਨਾਲੋਜੀ ਵੋਡ","new video":"ਨਵੀਂ ਵੀਡੀਓ","new episode":"ਨਵਾਂ ਐਪੀਸੋਡ","new movie":"ਨਵੀਂ ਫਿਲਮ","recommended":"ਸਿਫਾਰਸ਼ ਕੀਤੀ","we recommend":"ਅਸੀਂ ਸਿਫਾਰਸ਼ ਕਰਦੇ ਹਾਂ","offer of the day":"ਦਿਨ ਦੀ ਪੇਸ਼ਕਸ਼","news":"ਖ਼ਬਰਾਂ","music video":"ਵੀਡੀਓ ਸੰਗੀਤ","CTX_SHOW_HOTKEYS":"ਗਰਮ ਦਿਖਾਓ","CTX_DISMISS_NOTIF":"ਜਾਣਕਾਰੀ ਨੂੰ ਬਰਖਾਸਤ ਕਰੋ","CTX_DISMISS_ALL":"ਸਾਰੇ ਖਾਰਜ","CTX_SHARE":"ਸਾਂਝਾ ਕਰੋ","CTX_COPY_SHARE_LINK":"ਸ਼ੇਅਰ ਲਿੰਕ ਦੀ ਨਕਲ ਕਰੋ","CTX_COPY_MAGNET_LINK":"ਚੁੰਬਕ ਲਿੰਕ ਦੀ ਨਕਲ ਕਰੋ","CTX_COPY_STREAM_LINK":"ਸਟ੍ਰੀਮ ਲਿੰਕ ਦੀ ਨਕਲ ਕਰੋ","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"ਇਸ ਵੀਡੀਓ ਨੂੰ ਡਾਉਨਲੋਡ ਕਰੋ","CTX_DOWNLOAD_SUBS":"ਡਾਉਨਲੋਡ ਉਪਸਿਰਲੇਖ ਡਾ Download ਨਲੋਡ ਕਰੋ","CTX_VIEW_ON_YOUTUBE":"ਯੂਟਿ .ਬ ਤੇ ਵੇਖੋ","CTX_SHOW":"ਡਿਸਪਲੇਅ","CTX_PLAY":"ਖੇਡ","CTX_PLAY_IN":"ਖੇਡੋ","CTX_PLAY_ON":"ਖੇਡੋ","CTX_WATCH_ON":"ਇੱਥੇ ਵੇਖੋ","CTX_WATCH":"ਦੇਖੋ","CTX_WATCHED":"ਵੇਖੋ","CTX_WATCH_BEGINNING":"ਸ਼ੁਰੂ ਤੋਂ ਦੇਖੋ","CTX_WATCH_MOBILE":"ਇੱਕ ਮੋਬਾਈਲ ਡਿਵਾਈਸ ਤੇ ਵੇਖੋ","CTX_REWIND":"ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਰੀਵਾਈਡ ਕਰੋ","CTX_MARK_WATCHED":"ਜਿਵੇਂ ਦੇਖਿਆ ਗਿਆ ਸੀ ਮਾਰਕ ਕੀਤਾ","CTX_MARK_NON_WATCHED":"ਇੱਕ ਗੈਰ-ਪ੍ਰਤੀਬਿੰਬਿਤ ਵਜੋਂ ਮਾਰਕ ਕਰੋ","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"ਜਿਵੇਂ ਦੇਖਿਆ ਗਿਆ ਹੈ","CTX_UNMARK_REST":"ਬਾਕੀ ਨੂੰ ਗੈਰ-ਮੋੜ ਦੇ ਤੌਰ ਤੇ ਮਾਰਕ ਕਰੋ","CTX_RECEIVE_NEW_NOTIF":"ਨਵੀਂ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰੋ","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"ਨਕਦ ਤੋਂ ਹਟਾਓ","CTX_REMOVE_CACHE_EP":"ਕਪਤਾਨ ਨੂੰ ਨਕਦ ਤੋਂ ਹਟਾਓ","CTX_OPEN_CONTAINING":"ਓਪਨ ਫੋਲਡਰ","CTX_REMOVE":"ਲਾਇਬ੍ਰੇਰੀ ਤੋਂ ਹਟਾਓ","CTX_AVAILABLE_OFFLINE":"ਉਪਲਬਧ offline ਫਲਾਈਨ","CTX_PAUSED":"ਰੁਕ ਗਿਆ","CTX_ALWAYS_ON_TOP":"ਹਮੇਸ਼ਾ ਸਿਖਰ ਤੇ","CTX_FULLSCREEN":"ਪੂਰਾ ਸਕਰੀਨ","CTX_WRONG_SUBS":"ਗਲਤ ਉਪਸਿਰਲੇਖ?","CTX_REPORT_ISSUES":"ਰਿਪੋਰਟ ਦਾ ਮੁੱਦਾ","CTX_COPY":"ਕਾਪੀ","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"ਪੇਸਟ","CTX_CLEAR":"ਸਾਫ","CTX_CLEAR_RECENT_SEARCHES":"ਤਾਜ਼ਾ ਖੋਜਾਂ ਨੂੰ ਸਾਫ਼ ਕਰੋ","HELLO_THERE":"ਸਤ ਸ੍ਰੀ ਅਕਾਲ","HOPE_YOU_ENJOY":"ਅਸੀਂ ਆਸ ਕਰਦੇ ਹਾਂ ਕਿ ਤੁਸੀਂ ਸਟ੍ਰੀਮਿਓ ਦਾ ਅਨੰਦ ਲਓਗੇ ਅਤੇ ਇਹ ਪਹਿਲਾਂ ਹੀ ਤੁਹਾਡੀਆਂ ਮਨਪਸੰਦ ਐਪਸ ਵਿਚੋਂ ਇਕ ਹੈ!","WHO_ARE_WE":"ਅਸੀਂ ਕੌਣ ਹਾਂ?ਅਸੀਂ ਇਸ ਦੇ ਪਿੱਛੇ ਟੀਮ ਹਾਂ - ਦੋ ਲੋਕ ਜੋ ਹਰ ਦਿਨ ਸਖਤ ਮਿਹਨਤ ਕਰਦੇ ਹਨ ਇਸ ਉਤਪਾਦ ਨੂੰ ਬਿਹਤਰ ਅਤੇ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ.","SUPPORT_US":"ਜੇ ਤੁਸੀਂ ਸਟ੍ਰੀਮਿਓ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦਾ ਅਨੰਦ ਲੈਂਦੇ ਹੋ ਤਾਂ ਇਹ ਤੁਹਾਡੇ ਲਈ ਕੀਮਤੀ ਮਹੱਤਵਪੂਰਣ ਹੈ - ਸ਼ਬਦ ਫੈਲਾਓ!","SPREAD_THE_WORD":"ਆਪਣੇ ਦੋਸਤਾਂ ਨਾਲ ਸਾਂਝਾ ਕਰੋ ਸਟ੍ਰਾਮਬਿਓ ਬਾਰੇ ਸ਼ਬਦ ਫੈਲਾਓ","MORE_PEOPLE":"ਜਿੰਨੇ ਲੋਕ ਸਟ੍ਰੀਮਿਓ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ, ਉੱਨਾ ਹੀ ਚੰਗਾ ਹੋਵੇਗਾ!","SEND_A_LINK":"ਜਾਂ ਸਾਡੀ ਵੈਬਸਾਈਟ ਤੇ ਲਿੰਕ ਭੇਜੋ","TIP_LOCALFILES":"ਸੰਕੇਤ: ਤੁਸੀਂ ਸਥਾਨਕ ਵੀਡੀਓ ਫਾਈਲਾਂ ਨੂੰ ਸਟਰੇਮੋ ਵਿੱਚ ਖਿੱਚ ਸਕਦੇ ਹੋ ਅਤੇ ਛੱਡ ਸਕਦੇ ਹੋ","ADDON_MY":"ਮੇਰੇ ਵਿਗਿਆਪਨ","ADDON_COMMUNITY":"ਕਮਿ Community ਨਿਟੀ ਵਿਗਿਆਪਨ","ADDON_OFFICIAL":"ਸਰਕਾਰੀ ਐਡਨਜ਼","ADDON_REPOS":"ਅਡੇਨ ਸੰਗ੍ਰਹਿ","ADDON_SEARCH":"ਖੋਜ ਐਡਨ","ADDON_INSTALL":"ਇੰਸਟਾਲ ਕਰੋ","ADDON_CONFIGURE":"ਕੌਂਫਿਗਰ ਕਰੋ","ADDON_UNINSTALL":"ਇੰਸਟਾਲੇਸ਼ਨ ਰੱਦ ਕਰੋ","ADDON_UPGRADE":"ਅਪਗ੍ਰੇਡ","ADDON_INSTALLED":"ਸਥਾਪਤ","ADDON_INSTALLED_MSG":"ਐਡਨ ਸਥਾਪਿਤ!","ADDON_UPGRADED_MSG":"ਅਡਿਨ ਅਪਗ੍ਰੇਡ ਹੋ ਗਿਆ!","ADDON_UNKNOWN":"ਅਜਨਬੀ","ADDON_ERR":"ਐਡਨ ਸਥਾਪਿਤ ਗਲਤੀ!","ADDON_DISCONNECTED":"ਡਿਸਕਨੈਕਟਡ","ADDON_APP_MISSING":"ਇਸ ਸਰੋਤ ਲਈ ਐਪ ਸਥਾਪਤ ਨਹੀਂ ਹੈ.ਕੀ ਤੁਸੀਂ ਇਸ ਨੂੰ ਹੁਣ ਸਥਾਪਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?","ADDON_APP_INSTALL":"ਹੁਣ ਸਥਾਪਤ ਕਰੋ","ADDON_PAGE":"ਐਡੇਨ ਪੇਜ","ADDON_TOP_CONTENT":"ਇਸ ਅਡਿਨ ਤੋਂ ਵਧੀਆ","ADDON_PROVIDES":"ਇਹ ਅਡੇਨ ਤੁਹਾਨੂੰ ਦੇਵੇਗਾ:","ADDON_WATCH":"ਵੇਖੋ # ਟਾਈਪ}!","ADDON_WATCH_FREE":"ਹੁਣ ਕਲਿੱਕ ਕਰੋ} ਹੁਣ ਮੁਫਤ ਲਈ!","ADDON_ADDON":"ਹੋਰ ਜੋੜਨਾ","ADDON_SUPPORTED_TYPES":"ਸਹਿਯੋਗੀ ਕਿਸਮ","ADDON_SUPPORTED_CATALOGS":"ਸਹਿਯੋਗੀ ਕੈਟਾਲਾਗ","ADDON_PROVIDES_DISCOVER":"ਖੋਜ ਵਿੱਚ ਹੋਰ # {ਕਿਸਮ ਦੀ}","ADDON_PROVIDES_STREAMS":"# {ਕਿਸਮ ਦੀ} ਵੇਖੋ","ADDON_PROVIDES_STREAMS_FREE":"ਮੁਫਤ ਲਈ #} ਟਾਈਪ} ਵੇਖੋ","ADDON_PROVIDES_SUBTITLES":"ਕਿਸਮ ਲਈ ਉਪਸਿਰਲੇਖ","ADDON_CANTDETECT":"ਅਸੀਂ ਇੱਕ ਚੱਲ ਰਹੇ ਟਰੇਮਿਓ ਦਾ ਪਤਾ ਨਹੀਂ ਲਗਾ ਸਕੇ ਤਾਂ ਜੋ ਅਸੀਂ ਇਹ ਪਤਾ ਲਗਾ ਸਕੀਏ ਕਿ ਤੁਸੀਂ ਕਿਹੜੇ ਵਿਗਿਆਪਨ ਸਥਾਪਤ ਕੀਤੇ ਹਨ.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"ਇਸ ਬਾਰੇ ਕੋਈ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੋਈ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"ਇਸ ਬਾਰੇ ਜਾਣਕਾਰੀ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਗਲਤੀ.","ERR_CANT_PARSE_MAGNET":"ਚੁੰਬਕ ਨੂੰ ਪਾਰਸ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ","ERR_NO_MAGNET_INFOHASH":"ਚੁੰਬਕੀ ਲਈ ਕੋਈ ਵੈਧ ਜਾਣਕਾਰੀ ਨਹੀਂ ਹੈ","ERR_NO_FILE_PATH":"ਫਾਈਲ ਲਈ ਮਾਰਗ ਤੋਂ ਬਿਨਾਂ ਬੇਨਤੀ ਭੇਜਣ ਵਿੱਚ ਅਸਮਰੱਥ","ERR_NO_TORRENT":"ਕੋਈ ਕਿਨਾਰਾ ਵਾਪਸ ਨਹੀਂ ਆਇਆ","ERR_NO_SUPPORTERD_FILES":"ਕੋਈ ਸਹਿਯੋਗੀ ਫਾਈਲ ਨਹੀਂ ਮਿਲੀ","ERR_OPENING_FILES":"ਬਾਹਰੀ ਫਾਈਲਾਂ ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ","ERR_INVALID_LINK":"ਗਲਤ ਲਿੰਕ","ERR_REGISTERED_ONLY":"ਇਹ ਵਿਕਲਪ ਸਿਰਫ ਰਜਿਸਟਰਾਂ ਲਈ ਉਪਲਬਧ ਹੈ.","ERR_CLIPBOARD":"ਕਲਿੱਪਬੋਰਡ ਨਾਲ ਨਹੀਂ ਖੇਡ ਸਕਦਾ","ERR_CLIPBOARD_READ":"ਇਸ ਪਲੇਟਫਾਰਮ ਤੇ ਕਲਿੱਪਬੋਰਡ ਨਹੀਂ ਪੜ੍ਹ ਸਕਦਾ","ERR_CLIPBOARD_GENERIC":"ਕਲਿੱਪਬੋਰਡ ਵਿੱਚ ਨਹੀਂ ਮਿਲਿਆ.ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਵੀਡੀਓ ਨੂੰ URL ਕਾਪੀ ਕਰੋ (ਜਿਵੇਂ ਕਿ ਇੱਕ ਚੁੰਬਕ ਲਿੰਕ).","BOARD_CONTINUE_WATCHING":"ਦੇਖਦੇ ਰਹੋ","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"ਫਿਲਮਾਂ ਤੁਹਾਨੂੰ ਵਿਸ਼ੇਸ਼ ਤੌਰ \'ਤੇ ਚੁਣੀਆਂ ਗਈਆਂ ਸਨ.ਫਿਲਮ ਨੂੰ ਫਿਲਮ ਦੇ ਨਮੂਨੇ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਗਈ ਹੈ.","BOARD_EXPLANATION_EPISODES":"ਤੁਹਾਡੀ ਮਨਪਸੰਦ ਲੜੀ ਦੇ ਨਵੇਂ ਐਪੀਸੋਡ ਇੱਥੇ ਆਉਣਗੇ. ਆਪਣੀ ਲਾਇਬ੍ਰੇਰੀ ਵਿਚ ਦੀ ਲੜੀ ਸ਼ਾਮਲ ਕਰੋ.","BOARD_EXPLANATION_VIDEOS":"ਤੁਹਾਡੇ ਮਨਪਸੰਦ ਚੈਨਲਾਂ ਦੇ ਨਵੇਂ ਐਪੀਸੋਡ ਇੱਥੇ ਆਉਂਦੇ ਹਨ.
    YouTube चैनल जोड़ें जो आप अपनी लाइब्रेरी में अनुसरण करते हैं।","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"ਤੁਰੰਤ ਵੇਖੋ","WEBSITE_SLOGAN_ALL":"ਇਕ ਜਗ੍ਹਾ \'ਤੇ ਤੁਸੀਂ ਸਾਰੀ ਵੀਡੀਓ ਸਮਗਰੀ ਦਾ ਅਨੰਦ ਲੈਂਦੇ ਹੋ","WEBSITE_SLOGAN_NEW":"ਤੁਸੀਂ ਸਾਰੇ ਵੇਖ ਸਕਦੇ ਹੋ","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"ਤੋਂ ਵੇਖੋ","WEBSITE_DOWNLOAD":"ਹੁਣ ਡਾ Download ਨਲੋਡ ਕਰੋ","WEBSITE_DOWNLOAD_FOR":"ਹੁਣ ਡਾ Download ਨਲੋਡ ਕਰੋ","WEBSITE_IS_DESKTOP":"ਸਟ੍ਰੀਮਿਓ ਡੈਸਕਟਾਪ ਐਪਲੀਕੇਸ਼ਨ ਹੈ. ਇਸ ਪੇਜ ਨੂੰ ਆਪਣੇ ਕੰਪਿ on ਟਰ ਤੇ ਖੋਲ੍ਹੋ ਅਤੇ ਇਸ ਨੂੰ ਡਾਉਨਲੋਡ ਕਰੋ","WEBSITE_DESKTOP_DEMO_VID":"ਡੈਸਕਟਾਪ ਡੈਮੋ","WEBSITE_PAGE_HOME":"ਘਰ","WEBSITE_PAGE_FEATURES":"ਗੁਣ","WEBSITE_PAGE_ADDONS":"ਹੋਰ ਜੋੜਨਾ","WEBSITE_PAGE_TECH":"ਟੈਕਨੋਲੋਜੀ","WEBSITE_PAGE_CREATE_ADDON":"ਐਡੋਨ ਬਣਾਉ","WEBSITE_PAGE_CONTACTS":"ਸੰਪਰਕ","WEBSITE_PAGE_BLOG":"ਬਲਾੱਗ","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"ਫਿਲਮਾਂ","WEBSITE_TYPE_series_PL":"ਸੀਰੀਜ਼","WEBSITE_TYPE_tv":"ਲਾਈਵ ਟੀਵੀ","WEBSITE_TYPE_channel":"ਚੈਨਲ","WEBSITE_STREMIO_WHAT_IS":"ਸਟ੍ਰੀਮਿਓ ਇਕ ਐਪ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਆਪਣੀ ਮਨਪਸੰਦ ਵੀਡੀਓ ਫਿਲਮਾਂ ਦੀ ਸੀਰੀਜ਼ ਅਤੇ ਟੀਵੀ ਲੜੀਵਾਰ ਲੜੀਵਾਰ ਲੜੀ ਅਤੇ ਚੈਨਲਾਂ ਦਾ ਪ੍ਰਬੰਧ ਕਰਨ ਵਿਚ ਸਹਾਇਤਾ ਕਰਦਾ ਹੈ.","WEBSITE_FEATURES_WATCH":"ਤੁਰੰਤ ਐਚਡੀ ਵਿੱਚ ਵੇਖੋ","WEBSITE_FEATURES_WATCH_DETAIL":"ਕਲਿਕ ਕਰੋ ਅਤੇ ਤੁਹਾਡੀਆਂ ਮਨਪਸੰਦ ਫਿਲਮਾਂ ਟੀਵੀ ਵੀਡੀਓ ਅਤੇ ਟੀ ​​ਵੀ ਚੈਨਲ ਦਿਖਾਉਂਦਾ ਹੈ.","WEBSITE_FEATURES_SUBS":"ਆਟੋਮੈਟਿਕ ਉਪਸਿਰਲੇਖ","WEBSITE_FEATURES_SUBS_DETAIL":"ਸਟ੍ਰੀਮਿਓ ਆਪਣੀ ਭਾਸ਼ਾ ਲਈ ਆਪਣੇ ਆਪ ਤਾਲਮੇਲ ਵਾਲੇ ਉਪਸਿਰਲੇਖ ਦੀ ਚੋਣ ਕਰਦਾ ਹੈ.","WEBSITE_FEATURES_SUBS_LABEL":"ਤੁਹਾਡਾ ਕਦਮ ਮੁੱਖ ਹੈ.","WEBSITE_FEATURES_CAST":"ਟੀਵੀ ਅਤੇ ਮੋਬਾਈਲ ਉਪਕਰਣਾਂ \'ਤੇ ਖੇਡੋ","WEBSITE_FEATURES_CAST_DETAIL":"ਸ਼ੌਕੀਫਾਸਟ ਸਮਾਰਟ ਟੀਵੀ (DLNA / UPNP) ਅਤੇ ਮੋਬਾਈਲ ਉਪਕਰਣ.","WEBSITE_LIB":"ਆਪਣੀ ਨਿੱਜੀ ਲਾਇਬ੍ਰੇਰੀ ਦਾ ਅਨੰਦ ਲਓ ਆਪਣੇ ਸਾਰੇ ਉਪਕਰਣਾਂ ਨੂੰ ਡੁੱਬਣਾ","WEBSITE_LIB_COLLECT":"ਸਟ੍ਰੀਮਿਓ ਤੋਂ ਲਓ","WEBSITE_LIB_IMPORT":"ਫੇਸਬੁੱਕ ਤੋਂ ਆਯਾਤ ਕਰੋ","WEBSITE_LIB_LOCAL":"ਆਪਣੀ ਸਥਾਨਕ ਡਰਾਈਵ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ","WEBSITE_BOARD":"ਬੋਰਡ - ਨੋਟੀਫਿਕੇਸ਼ਨ ਅਤੇ ਸਿਫਾਰਸ਼ਾਂ ਲਈ ਤੁਹਾਡਾ ਇਕ -ਸਟੋਪ ਜਗ੍ਹਾ","WEBSITE_BOARD_RECOMMEND":"ਸਿਫਾਰਸ਼ੀ ਟੀਵੀ ਸ਼ੋਅ","WEBSITE_BOARD_TRENDING":"ਟ੍ਰੈਂਡਿੰਗ ਫਿਲਮ","WEBSITE_BOARD_NEW":"ਨਵੀਂ ਵੀਡੀਓ","WEBSITE_BOARD_EPISODE":"ਨਵਾਂ ਐਪੀਸੋਡ","WEBSITE_BOARD_1":"ਵੇਖਣ ਲਈ ਕੁਝ ਦਿਲਚਸਪ ਲੱਭ ਰਹੇ ਹੋ?ਆਪਣੇ ਸਵਾਦ ਦੇ ਅਧਾਰ ਤੇ ਸਿਫਾਰਸ਼ਾਂ ਪ੍ਰਾਪਤ ਕਰੋ!","WEBSITE_BOARD_2":"ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੇ ਮਨਪਸੰਦ ਟੀਵੀ ਸ਼ੋਅ ਜਾਂ ਯੂਟਿ choupenube ਬ ਚੈਨਲ ਦਾ ਨਵਾਂ ਕਿੱਸਾ ਹੁੰਦਾ ਹੈ ਤਾਂ ਤੁਹਾਨੂੰ ਬਾਹਰ ਕੱ .ੋ!","WEBSITE_BOARD_YOUTUBE":"ਯੂਟਿ .ਬ ਚੈਨਲਾਂ ਦੇ ਨਵੇਂ ਵੀਡੀਓ","WEBSITE_BOARD_EPISODES":"ਲੜੀ ਦੇ ਨਵੇਂ ਐਪੀਸੋਡ ਜੋ ਤੁਸੀਂ ਕਰਦੇ ਹੋ","WEBSITE_ADDONS":"ਪਦਾਰਥਕ ਅਸ਼ਾਂਤ","WEBSITE_TECH_DETAIL":"ਸਾਨੂੰ ਪਿਆਰ ਤਕਨਾਲੋਜੀ ਨੂੰ ਪਿਆਰ ਕਰਦੇ ਹਾਂ ਅਸੀਂ ਪਾਗਲ ਵਿਗਿਆਨ ਨੂੰ ਪਿਆਰ ਕਰਦੇ ਹਾਂ!Nstremio ਹੇਠ ਦਿੱਤੇ ਓਪਨ ਸੋਰਸ ਟੈਕਨੋਲੋਜੀ ਵਰਤ ਰਿਹਾ ਹੈ:","WEBSITE_TECH_WCJS":"ਵੈਬਸ਼ੀਮੇਰਾ.ਜੇਜ਼ ਸਟ੍ਰੀਮਿਓ ਨੂੰ ਚੰਗੀ ਕਾਰਗੁਜ਼ਾਰੀ ਨਾਲ ਕਿਸੇ ਵੀ ਵੀਡੀਓ ਫਾਰਮੈਟ ਨੂੰ ਚਲਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ.","WEBSITE_TECH_WCJS_EXTRA":"ਅਸੀਂ ਕੋਰ ਪ੍ਰੋਜੈਕਟ ਦੇ ਯੋਗਦਾਨ ਪਾਉਂਦੇ ਹਾਂ","WEBSITE_TECH_ELECTRON":"ਇੱਕ ਨਵੀਨਤਾਕਾਰੀ ਪਲੇਟਫਾਰਮ ਨੂੰ ਇਲੈਕਟ੍ਰੋਨ ਨਾਲ ਭੜਕਣ ਲਈ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ.","WEBSITE_TECH_ELECTRON_EXTRA":"ਅਸੀਂ ਪ੍ਰੋਜੈਕਟ ਦੇ ਯੋਗਦਾਨ ਪਾਉਣ ਵਾਲੇ ਹਾਂ","WEBSITE_TECH_LINVODB":"ਇੱਕ ਡੇਟਾਬੇਸ ਤਕਨੀਕ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦੀ ਹੈ ਕਿ ਤੁਹਾਡਾ ਡਾਟਾ ਕਿਤੇ ਵੀ ਸੰਗਠਿਤ ਅਤੇ ਉਪਲਬਧ ਹੈ.","WEBSITE_TECH_LINVODB_EXTRA":"ਅੰਦਰ-ਅੰਦਰ ਤਕਨਾਲੋਜੀ","WEBSITE_CREATE_ADDON":"ਆਪਣਾ ਐਡਨ ਬਣਾਓ","WEBSITE_CREATE_ADDON_DETAIL":"ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਵੀਡੀਓ ਸਮਗਰੀ ਸੇਵਾ ਸੇਵਾ ਹੈ?ਅਸੀਂ ਤੁਹਾਨੂੰ ਆਪਣੇ ਅਦੇਜ਼ੇ ਬਣਾ ਕੇ ਸਟ੍ਰੀਮਿਓ ਦੀਆਂ ਸਹੂਲਤਾਂ ਤੋਂ ਲਾਭ ਪ੍ਰਾਪਤ ਕਰਾਂਗੇ.","WEBSITE_CREATE_ADDON_BENEFITS":"ਸਟ੍ਰਾਬੇਈ ਲਈ ਇੱਕ ਅਡਿਨ ਬਣਾਉਣ ਦੇ ਲਾਭ","WEBSITE_P2P_BEAUTY":"ਪੀਅਰ-ਟੂ-ਪਿਯੂਰੀ ਸਟ੍ਰੀਮਿੰਗ ਦੀ ਸੁੰਦਰਤਾ","WEBSITE_P2P_1":"ਮੰਗ ਜਾਂ ਲਾਈਵ ਸਟ੍ਰੀਮਿੰਗ \'ਤੇ ਭਰੋਸੇਮੰਦ ਅਤੇ ਕਿਫਾਇਤੀ ਪੂਰੀ ਐਚਡੀ / 4 ਦੇ ਵੀਡੀਓ","WEBSITE_P2P_2":"ਡਿਸਟਰੀਬਿ .ਸ਼ਨ ਪਲੇਟਫਾਰਮਸ ਵਧੀਆ ਉਪਭੋਗਤਾ ਦਾ ਤਜਰਬਾ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ","WEBSITE_P2P_3":"ਅਸੀਂ ਤੁਹਾਡੀਆਂ ਸਹੀ ਜ਼ਰੂਰਤਾਂ ਪੂਰੀਆਂ ਕਰਨ ਲਈ ਅਡੇਨ ਬਣਾਵਾਂਗੇ","WEBSITE_P2P_CONTACT":"ਇੱਛਾ?ਤੁਹਾਡਾ ਸਵਾਗਤ ਹੈ .","WEBSITE_P2P_CONTACT_EXTRA":"ਅਸੀਂ ਤੁਹਾਡੀ ਸਮਗਰੀ ਨੂੰ ਸਟ੍ਰਮੀਓ ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਨ ਵਿੱਚ ਖੁਸ਼ ਹੋਵਾਂਗੇ!","WEBSITE_P2P":"ਇਕ ਵਾਰ ਜਦੋਂ ਇੱਥੇ ਇਕ ਤਕਨੀਕ ਹੁੰਦੀ ਹੈ ਜੋ ਖੇਡ ਦਾ ਨਾਮ ਬਦਲਦਾ ਹੈ.ਅਸੀਂ ਆਪਣੇ ਪੀਅਰ-ਟੂ-ਪਿਅਰ (ਪੀ 2 ਪੀ) ਵੀਡੀਓ ਸਟ੍ਰੀਮਿੰਗ ਇੰਜਨ ਦੇ ਨਿਰਮਾਣ ਵਿਚ ਬਹੁਤ ਸਾਰਾ ਸਮਾਂ ਅਤੇ ਕੋਸ਼ਿਸ਼ ਦਾ ਨਿਵੇਸ਼ ਕੀਤਾ ਜੋ ਕਿਸੇ ਵੀ ਵਰਤੋਂ ਦੇ ਕਿਸੇ ਵੀ ਕੇਸ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰਨ ਲਈ ਬਹੁਤ ਜ਼ਿਆਦਾ ਕਾਰਗੁਜ਼ਾਰੀ ਅਤੇ ਬਹੁ-ਪਛਾਣ ਅਤੇ ਬਹੁ-ਪਛਾਣ ਅਤੇ ਬਹੁ-ਪਛਾਣ ਅਤੇ ਬਹੁ-ਪਛਾਣ ਅਤੇ ਬਹੁ-ਪਛਾਣ ਅਤੇ ਕਿਸੇ ਵੀ ਵਰਤੋਂ ਦੇ ਨਾਲ ਤਰਕਸ਼ੀਲਤਾ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਾਂ.N drm- ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰਨ ਜਾਂ ਸਮਰੱਥ ਪੀ 2 ਪੀ ਵਿਡੀਓਜ਼ ਲਈ ਲਾਈਵ ਸਟ੍ਰੀਮਿੰਗ ਲਈ ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋ.","WEBSITE_THOUGHTS":"ਵਿਚਾਰ ਅਸੀਂ ਸਾਂਝਾ ਕਰਦੇ ਹਾਂ:","WEBSITE_SPREAD":"ਸਟ੍ਰਾਬੀਓ ਬਾਰੇ ਸ਼ਬਦ ਫੈਲਾਓ:","WEBSITE_CONTACT":"ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋ ਅਸੀਂ ਤੁਹਾਡੇ ਤੋਂ ਸੁਣਕੇ ਖੁਸ਼ ਹੋਵਾਂਗੇ!","WEBSITE_OPENSOURCE":"ਸਾਡੇ ਓਪਨ ਸੋਰਸ ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ ਸਾਡੇ ਕੋਲ ਜਾਓ","WEBSITE_BITCOIN":"ਬਿੱਟਕੋਇਨ ਦਾਨ ਕਰੋ:","WEBSITE_FAQ":"ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਪ੍ਰਸ਼ਨ","WEBSITE_FAQ_SHORT":"ਆਮ ਸਵਾਲ","WEBSITE_QUESTIONS":"ਸਵਾਲ","WEBSITE_TOS":"ਵਰਤੋਂ ਦੀਆਂ ਸ਼ਰਤਾਂ","WEBSITE_LEGAL":"ਕਾਨੂੰਨੀ","WEBSITE_PAGE_ABOUT":"ਇਸ ਬਾਰੇ","WEBSITE_PAGE_BECOME_PARTNER":"ਸਾਥੀ ਬਣ","WEBSITE_ALL_YOU_CAN_WATCH":"ਤੁਸੀਂ ਘਬਰਾਉਣਾ ਅਜ਼ਾਦੀ ਵੇਖਣਾ ਚਾਹੁੰਦੇ ਹੋ.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"ਸਟਰਾਮੀ ਕੀ ਹੈ?","WEBSITE_WHAT_IS_STREMIO_P1":"ਸਟ੍ਰੀਮਿਓ ਵੀਡੀਓ ਸਮਗਰੀ ਏਕੀਕਰਣ ਲਈ ਏ-ਸਟਾਪ ਹੱਬ ਹੈ.ਕਿਸੇ ਵੀ ਡਿਵਾਈਸ ਤੇ ਹਰ ਕਿਸਮ ਦੇ ਸਰੋਤਾਂ ਤੋਂ ਵਿਵਸਥਿਤ ਕਰੋ ਅਤੇ ਦੇਖੋ.","WEBSITE_WHAT_IS_STREMIO_P2":"ਮੂਵੀਜ਼ ਟੀਵੀ ਲੜੀ ਲਾਈਵ ਟੈਲੀਵੀਜ਼ਨ ਜਾਂ ਵੈੱਬ ਚੈਨਲਾਂ ਜਿਵੇਂ ਕਿ ਯੂਟਿ ube ਬ ਅਤੇ ਟਵਿਚ.ਟੀਵੀ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ - ਤੁਸੀਂ ਇਸ ਨੂੰ ਸਟਰਾਮੀ \'ਤੇ ਪਾ ਸਕਦੇ ਹੋ.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"ਸਟ੍ਰੀਮਿਓ ਇਕ ਆਧੁਨਿਕ ਮੀਡੀਆ ਸੈਂਟਰ ਹੈ ਜੋ ਤੁਹਾਡੇ ਵੀਡੀਓ ਮਨੋਰੰਜਨ ਲਈ ਏ-ਸਟਾਪ ਹੱਲ ਹੈ.ਤੁਸੀਂ ਇਸ਼ਤਿਹਾਰ ਸਥਾਪਤ ਕਰਨ ਲਈ ਵੀਡੀਓ ਸਮੱਗਰੀ ਨੂੰ ਵੇਖਦੇ ਹੋ ਅਤੇ ਪ੍ਰਬੰਧ ਕਰਦੇ ਹੋ.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"ਫਿਲਮਾਂ ਟੀਵੀ ਲਾਈਵ ਟੀਵੀ ਜਾਂ ਵੈੱਬ ਚੈਨਲ ਦਰਸਾਉਂਦੀਆਂ ਹਨ - ਸਟ੍ਰਾਬੇਈਓ ਤੇ ਇਸ ਸਭ ਨੂੰ ਲੱਭੋ.","WEBSITE_ENJOI_ON_ALL_DEVICES":"ਆਪਣੇ ਸਾਰੇ ਮੀਡੀਆ ਉਪਕਰਣਾਂ ਦਾ ਅਨੰਦ ਲਓ","WEBSITE_DEVICES_COLLECT":"ਸਟ੍ਰੀਮਿਓ ਤੋਂ ਲਓ","WEBSITE_DEVICES_IMPORT_FB":"ਫੇਸਬੁੱਕ ਤੋਂ ਆਯਾਤ ਕਰੋ","WEBSITE_DEVICES_LOCAL":"ਸਥਾਨਕ ਡਰਾਈਵ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ","WEBSITE_JOIN_THE_PARTY_NOW":"ਹੁਣ ਪਾਰਟੀ ਵਿਚ ਸ਼ਾਮਲ ਹੋਵੋ","WEBSITE_DEVICES_ALL":"ਤੁਹਾਡੀਆਂ ਸਾਰੀਆਂ ਡਿਵਾਈਸਾਂ ਤੇ ਵਰਤਣ ਵਿੱਚ ਅਸਾਨ;","WEBSITE_EXTENDABLE_CATALOG":"ਅਨੰਤ ਤੌਰ ਤੇ ਫੈਲਣਯੋਗ ਵੀਡੀਓ ਕੈਟਾਲਾਗ;","WEBSITE_ORGANIZE_YOUR_MEDIA":"ਆਪਣੇ ਮੀਡੀਆ ਨੂੰ ਸੰਗਠਿਤ ਕਰਨ ਲਈ ਬਹੁਤ ਵਧੀਆ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ;","WEBSITE_AS_SEEN_ON":"ਜਿਵੇਂ ਦੇਖਿਆ ਗਿਆ ਹੈ","WEBSITE_STREMIO":"ਮਿਸ਼ਰਿਤ","WEBSITE_LINK_ABOUT_US":"ਸਾਡੇ ਬਾਰੇ","WEBSITE_LINK_TECHNOLOGY":"ਟੈਕਨੋਲੋਜੀ","WEBSITE_LINK_APPS":"ਐਪਸ","WEBSITE_LINK_DOWNLOADS":"ਡਾਉਨਲੋਡ ਕਰੋ","WEBSITE_MORE":"ਹੋਰ","WEBSITE_LINK_ADDONS":"ਹੋਰ ਜੋੜਨਾ","WEBSITE_LINK_ADDON_SDK":"ਅਡੇਨ ਐਸ.ਡੀ.ਕੇ.","WEBSITE_LINK_CONTRIBUTE":"ਯੋਗਦਾਨ","WEBSITE_LINK_COMMUNITY":"ਕਮਿ Community ਨਿਟੀ","WEBSITE_LINK_BLOG":"ਬਲਾੱਗ","WEBSITE_MORE_MORE":"... & ਹੋਰ","WEBSITE_LINK_HELP":"ਸਹਾਇਤਾ ਕੇਂਦਰ","WEBSITE_LINK_CONTACTS":"ਵਪਾਰਕ ਪੁੱਛਗਿੱਛ","WEBSITE_LINK_TOS":"ਨਿਬੰਧਨ ਅਤੇ ਸ਼ਰਤਾਂ","WEBSITE_LINK_PRAVACY":"ਪਰਾਈਵੇਟ ਨੀਤੀ","WEBSITE_SUBSCRIBE":"ਸਬਸਕ੍ਰਾਈਬ ਕਰਨ ਲਈ","WEBSITE_NEWSLETTER":"ਹੈਰਾਨੀਜਨਕ ਉਪਕਰਣਾਂ ਲਈ ਸਾਡੇ ਨਿ newslet ਜ਼ਲੈਟਰ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ","WEBSITE_PLACEHOLDER_EMAIL":"ਤੁਹਾਡੀ ਈਮੇਲ","WEBSITE_COMMUNITY":"ਕਮਿ Community ਨਿਟੀ","WEBSITE_LINK_PRAVACY_LEGAL":"ਸੇਲਿਬ੍ਰਿਟੀ ਅਤੇ ਕਾਨੂੰਨੀ","WEBSITE_WHY":"ਅਸੀਂ ਕਿਉਂ ਕਰਦੇ ਹਾਂ","WEBSITE_WHY_P1":"ਸਟ੍ਰੀਮਿਓ ਵਿਚ ਅਸੀਂ ਹਰ ਰੋਜ਼ ਕੰਮ ਤੇ ਆਉਂਦੇ ਹਾਂ ਕਿਉਂਕਿ ਅਸੀਂ ਵੀਡੀਓ-ਆਨ-ਡਿਮਾਂਡ ਉਦਯੋਗ ਲਈ ਕਿਸੇ ਮਹੱਤਵਪੂਰਣ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ.ਹਰ ਮਿੰਟ ਵਿਚ ਅਜਿਹੀ ਨਵੀਂ ਸਮੱਗਰੀ ਪ੍ਰਕਾਸ਼ਤ ਹੁੰਦੀ ਹੈ ਜੋ ਤੁਹਾਡੇ ਆਲੇ ਦੁਆਲੇ ਦਾ ਰਸਤਾ ਲੱਭਣ ਵਿਚ ਲਗਭਗ ਅਸੰਭਵ ਹੈ.","WEBSITE_WHY_P2":"ਅਸੀਂ ਲੋਕਾਂ ਨੂੰ ਮਨੋਰੰਜਨ ਦੀ ਵਿਸ਼ਾਲ ਦੁਨੀਆਂ ਉੱਤੇ ਨੈਵੀਗੇਟ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦੇ ਹਾਂ ਅਤੇ ਅਨੰਦ ਲੈਣ ਲਈ ਨਵੀਆਂ ਸਮੱਗਰੀਆਂ ਦੀ ਖੋਜ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦੇ ਹਾਂ.ਸਾਡੇ ਐਪਸ ਹੋਰ ਫਿਲਮ ਸੀਰੀਜ਼ ਲਾਈਵ ਵੈੱਬ ਚੈਨਲ ਅਤੇ ਹੋਰ ਲਿਆਉਂਦੇ ਹਨ.ਅਸੀਂ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਸਮਰਪਿਤ ਹਾਂ ਇਸ ਨੂੰ ਸਿਰਲੇਖਾਂ ਅਤੇ ਪ੍ਰਸਾਰਿਤਾਂ ਨੂੰ ਲੱਭਣਾ ਅਵਿਸ਼ਵਾਸ਼ਯੋਗ ਅਸਾਨ ਬਣਾਉਣ ਲਈ.","WEBSITE_WHY_P3":"ਤੁਸੀਂ ਸਾਡੀ ਸੇਵਾ ਕਿਸੇ ਵੀ ਡਿਵਾਈਸ ਤੇ ਵਰਤ ਸਕਦੇ ਹੋ ਅਤੇ ਕਿਸੇ ਵੀ ਸਮੇਂ ਇੱਕ ਸਟ੍ਰੀਮਿਓ ਬਣਾਉਣ ਲਈ ਤੁਹਾਨੂੰ ਕਦੇ ਵੀਡਿਓ ਮਨੋਰੰਜਨ ਹੱਬ ਬਣਾਉਣ ਦੀ ਜ਼ਰੂਰਤ ਹੋਏਗੀ.","WEBSITE_TEAM":"ਟੀਮ","WEBSITE_TEAM_P":"ਸਟ੍ਰੀਮਿਓ ਟੀਮ ਇਕ ਛੋਟੀ ਜਿਹੀ ਪਰ ਸ਼ਕਤੀਸ਼ਾਲੀ ਹੈ: ਸਾਡੇ ਵਿਚੋਂ 10 ਅਸੀਂ ਇਸ਼ਤਿਹਾਰਬਾਜ਼ੀ ਅਤੇ ਕਾਰੋਬਾਰ ਅਤੇ ਸਟਾਰਟਅਪਾਂ ਵਿਚ ਕੋਡ ਅਤੇ ਸਾੱਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਯੂਆਈ ਅਤੇ ਯੂਐਕਸ ਡਿਜ਼ਾਈਨ ਮਾਰਕੀਟਿੰਗ ਅਤੇ ਮਹਾਰਤ ਸਾਂਝੇ ਕਰਦੇ ਹਾਂ.","WEBSITE_FEATURES":"ਗੁਣ","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"ਨਵੀਂ ਸਮੱਗਰੀ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਖੋਜੋ","WEBSITE_FEATURES_DISCOVER_P":"ਟੀਵੀ ਸ਼ੋਅ ਲੜੀਵਾਰ ਅਤੇ ਚੈਨਲਾਂ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਨਵੀਂਆਂ ਫਿਲਮਾਂ ਲੱਭੋ.ਸ਼੍ਰੇਣੀ ਸ਼ੈਲੀ ਦੇ ਰੇਟਿੰਗਸ ਪਕਵਾਨਾਂ ਦੁਆਰਾ ਬ੍ਰਾ Browse ਜ਼ ਕਰੋ ਅਤੇ ਬਸ ਲੱਭਣ ਲਈ ਇੱਕ ਨਾਮ ਟਾਈਪ ਕਰੋ.ਸਟ੍ਰੀਮਿਓ ਨਵੇਂ ਵੀਡੀਓ ਸਮਗਰੀ ਕੇਕ ਲੱਭਣ ਦਾ ਇੱਕ ਟੁਕੜਾ ਬਣਾਉਂਦਾ ਹੈ.","WEBSITE_FEATURES_ALL_CONTENT":"ਸਕ੍ਰੀਨ ਤੇ ਤੁਹਾਡੀ ਵੀਡੀਓ ਸਮਗਰੀ","WEBSITE_FEATURES_ALL_CONTENT_P1":"ਵੇਖੋ ਕਿ ਤੁਸੀਂ ਕਿਹੜੀਆਂ ਫਿਲਮਾਂ ਜਾਂ ਵਿਡੀਓਜ਼ ਨੂੰ ਖਤਮ ਨਹੀਂ ਕਰਦੇ ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਦੇਖਦੇ ਰਹੋ;ਨਵੇਂ ਐਪੀਸੋਡਾਂ ਅਤੇ ਰੀਲੀਜ਼ਾਂ ਲਈ ਸੂਚਿਤ ਕੀਤਾ ਜਾਵੇ;ਅਤੇ ਸਿਫਾਰਸ਼ਾਂ ਨੂੰ ਵੇਖਾਓ ਜੋ ਤੁਸੀਂ ਆਪਣੀਆਂ ਦੇਖਣ ਵਾਲੀਆਂ ਆਦਤਾਂ ਦੇ ਅਧਾਰ ਤੇ ਪ੍ਰਾਪਤ ਕਰੋਗੇ.","WEBSITE_FEATURES_LIBRARY":"ਆਪਣੀ ਵੀਡੀਓ ਲਾਇਬ੍ਰੇਰੀ ਦਾ ਪ੍ਰਬੰਧ ਕਰੋ","WEBSITE_FEATURES_LIBRARY_P1":"ਆਪਣੀ ਸਟ੍ਰੀਮਿਓ ਲਾਇਬ੍ਰੇਰੀ ਲਈ ਕਿਸੇ ਵੀ ਕਲਿਕ ਨਾਲ ਕੋਈ ਸਿਰਲੇਖ ਸ਼ਾਮਲ ਕਰੋ ਅਤੇ ਆਪਣੀ ਸਮਗਰੀ ਨੂੰ ਚੰਗੀ ਤਰ੍ਹਾਂ ਯੋਜਨਾਬੱਧ ਤਰੀਕੇ ਨਾਲ ਸੰਗਠਿਤ ਕਰੋ.","WEBSITE_FEATURES_CALENDAR":"ਜੋ ਤੁਸੀਂ ਦੇਖਦੇ ਹੋ ਉਸ ਦਾ ਧਿਆਨ ਰੱਖੋ","WEBSITE_FEATURES_CALENDAR_P1":"ਆਪਣੀ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ ਸਾਰੀਆਂ ਫਿਲਮਾਂ ਅਤੇ ਲੜੀ ਦਾ ਕੈਲੰਡਰ ਦਿੱਖ ਪ੍ਰਾਪਤ ਕਰੋ.ਆਪਣਾ ਡਾਈਮੀਆਈ ਕੈਲੰਡਰ ਐਕਸਪੋਰਟ ਕਰੋ ਅਤੇ ਇਸਨੂੰ ਹਮੇਸ਼ਾਂ ਜਾਣੋ ਕਿ ਜਦੋਂ ਕੋਈ ਨਵਾਂ ਐਪੀਸੋਡ ਜਾਂ ਪ੍ਰੀਮੀਅਰ ਭੁਗਤਾਨ ਯੋਗ ਹੋਵੇ ਤਾਂ ਇਸ ਨੂੰ ਹਮੇਸ਼ਾਂ ਸਮਾਪਤ ਕਰੋ.","WEBSITE_FEATURES_BIG_SCREEN":"ਇੱਕ ਵੱਡੀ ਸਕ੍ਰੀਨ ਤੇ ਆਪਣੀ ਵੀਡੀਓ ਸਮੱਗਰੀ ਦਾ ਅਨੰਦ ਲਓ","WEBSITE_FEATURES_BIG_SCREEN_P1":"ਜੋ ਵੀ ਤੁਸੀਂ ਕਿਸੇ ਹੋਰ ਡਿਵਾਈਸ ਤੇ ਦੇਖ ਰਹੇ ਹੋ, ਇਸ ਨੂੰ ਸੁੱਟੋ - ਕੀ ਇਹ ਇੱਕ ਕਲਿੱਕ ਨਾਲ ਫੋਨ ਦੀ ਗੋਲੀ ਜਾਂ ਟੀਵੀ ਹੈ.","WEBSITE_FEATURES_SOURCES":"ਬਹੁਤ ਸਾਰੇ ਵੱਖ ਵੱਖ ਸਰੋਤਾਂ ਤੋਂ ਵੀਡੀਓ ਵੇਖੋ","WEBSITE_FEATURES_SOURCES_P":"ਬਹੁਤ ਸਾਰੇ ਵੱਖ-ਵੱਖ ਪ੍ਰਦਾਤਾਵਾਂ ਤੋਂ ਪ੍ਰਾਪਤ ਹੋਏ ਵੀਡੀਓ ਦਾ ਅਨੰਦ ਲੈਣ ਲਈ ਅਧਿਕਾਰਤ ਅਤੇ ਕਮਿ Community ਨਿਟੀ ਵਿਗਿਆਪਨਾਂ ਸਥਾਪਤ ਕਰੋ - ਐਪ ਵਿੱਚ ਸਾਰੀ ਨਿਰਵਿਘਨ ਵਰਤੋਂ.","WEBSITE_CREATE_AN_ADDON":"ਇੱਕ ਅਡਿਨ ਬਣਾਓ","WEBSITE_FEATURES_SYNC":"ਆਪਣੀ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਵੱਖ ਵੱਖ ਯੰਤਰਾਂ ਵਿੱਚ ਡੁੱਬੋ ਅਤੇ ਆਪਣੇ ਪਲੇਬੈਕ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰੋ","WEBSITE_FEATURES_SYNC_P1":"ਆਪਣੇ ਸਾਰੇ ਯੰਤਰਾਂ ਵਿੱਚ ਆਪਣੇ ਖਾਤੇ ਤੋਂ ਲੌਗਇਨ ਕਰੋ ਅਤੇ ਆਪਣੇ ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਇਸ਼ਤਿਹਾਰ ਪਲੇਬੈਕ ਅਤੇ ਕੈਲੰਡਰ ਸਮਕਾਲੀ ਦਾ ਅਨੰਦ ਲਓ.","WEBSITE_FEATURES_EXTENDABLE":"ਇਸ਼ਤਿਹਾਰਾਂ ਦੁਆਰਾ ਵੀਡਿਓ ਵੀਡੀਓ ਕੈਟਾਲਾਗ","WEBSITE_FEATURES_EXTENDABLE_P1":"ਸਟ੍ਰੀਮਿਓ ਐਡਨ ਕੈਟਾਲਾਗ ਸਥਾਪਤ ਕਰਨ ਅਤੇ ਵੀਡੀਓ ਸਮਗਰੀ ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਅਤੇ ਕਈ ਤਰ੍ਹਾਂ ਦੇ ਨਜ਼ਰੀਏ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ.ਇਸ ਵਿੱਚ, ਫਿਲਮਾਂ ਲਾਈਵ ਟੀਵੀ ਸਪੋਰਟ ਨਿ News ਜ਼ ਪੋਡਕਾਸਟ ਵੈੱਬ ਚੈਨਲ ਵੀਡੀਓ ਗੇਮਜ਼ ਅਤੇ ਹੋਰ ਵੀ.","WEBSITE_FEATURES_AUTO_SUBS":"ਆਟੋਮੈਟਿਕ ਉਪਸਿਰਲੇਖ","WEBSITE_FEATURES_AUTO_SUBS_P1":"ਸਾਡੇ ਉਪਸਿਰਲੇਖ ਇਸ਼ਤਿਹਾਰਾਂ ਨਾਲ ਤੁਸੀਂ ਆਪਣੀ ਮਨਪਸੰਦ ਭਾਸ਼ਾ ਲਈ ਆਪਣੇ ਆਪ ਚੁਣੇ ਵਿਕਲਪ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹੋ.","WEBSITE_FEATURES_CHROMECAST":"ਕ੍ਰੋਮਾਸਟ ਲਈ ਸੁੱਟਣਾ","WEBSITE_FEATURES_CHROMECAST_P1":"ਇੱਕ ਵੱਡੀ ਸਕ੍ਰੀਨ ਜਾਂ ਜੋ ਵੀ ਤੁਸੀਂ ਕਿਸੇ ਹੋਰ ਡਿਵਾਈਸ ਤੇ ਵੇਖ ਰਹੇ ਹੋ ਇੱਕ ਵੱਡੀ ਸਕ੍ਰੀਨ ਜਾਂ ਜੋ ਵੀ ਤੁਸੀਂ ਵੇਖ ਰਹੇ ਹੋ ਆਪਣੇ ਵੀਡੀਓ ਸਮਗਰੀ ਦਾ ਅਨੰਦ ਲਓ.","WEBSITE_FEATURES_KEEP_TRACK":"ਆਪਣੇ ਮਨਪਸੰਦ ਟੀਵੀ ਸ਼ੋਅ ਅਤੇ ਵੈਬ ਚੈਨਲਾਂ ਦਾ ਰਿਕਾਰਡ ਰੱਖੋ","WEBSITE_FEATURES_KEEP_TRACK_P1":"ਆਪਣੀ ਮਨਪਸੰਦ ਲੜੀ ਅਤੇ ਵੈਬ ਚੈਨਲਾਂ ਦੇ ਨਵੇਂ ਐਪੀਸੋਡਾਂ ਲਈ ਕੈਲੰਡਰ ਦਿੱਖ ਅਤੇ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰੋ.","WEBSITE_FEATURES_POWER_USER":"ਪਾਵਰ ਉਪਭੋਗਤਾ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ","WEBSITE_FEATURES_POWER_USER_P1":"ਬਾਹਰੀ ਖਿਡਾਰੀ ਵਿੱਚ ਖੇਡੋ","WEBSITE_FEATURES_POWER_USER_P2":"ਟੋਰੈਂਟ ਫਾਈਲ ਜਾਂ ਚੁੰਬਕ ਲਿੰਕ ਨਾਲ ਖੇਡੋ","WEBSITE_FEATURES_POWER_USER_P3":"ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਲਈ ਫੇਸਬੁੱਕ ਦੀ ਚੋਣ ਜਾਂ ਸਥਾਨਕ ਡਿਸਕ ਆਯਾਤ ਕਰੋ","WEBSITE_ADD_ONS":"ਹੋਰ ਜੋੜਨਾ","WEBSITE_ADD_ONS_P1":"ਸਾਰੇ ਵੀਡੀਓ ਸਮਗਰੀ ਸਟ੍ਰੀਮਿਓ ਨੂੰ ਇੱਕ ਅਡਿਨ ਸਿਸਟਮ ਦੁਆਰਾ ਸਰੋਤ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ - ਐਪ ਵਿੱਚ ਕੋਈ ਮਾੜਾ ਜਾਂ ਪਦਾਰਥਕ ਪ੍ਰਦਾਤਾ ਨਹੀਂ ਬਣਾਇਆ ਜਾਂਦਾ.","WEBSITE_ADD_ONS_P2":"ਇਸ਼ਤਿਹਾਰਾਂ ਦੇ ਦੋ ਸਮੂਹ ਉਪਲਬਧ ਹਨ: ਅਧਿਕਾਰਤ ਅਤੇ ਕਮਿ Community ਨਿਟੀ ਵਿਗਿਆਪਨ.","WEBSITE_ADD_ONS_P3":"ਕਮਿ Community ਨਿਟੀ ਵਿਗਿਆਪਨਾਂ ਦੁਆਰਾ ਅਧਿਕਾਰਤ ਲੋਕ ਵਿਕਸਤ ਅਤੇ ਮੇਜ਼ਬਾਨ ਸਟ੍ਰੀਮਿਓ ਦੁਆਰਾ ਮੇਜ਼ਬਾਨੀ ਕੀਤੇ ਗਏ ਹਨ, ਜੋ ਕਿ ਸਟ੍ਰੀਮਿਓ ਦੁਆਰਾ ਹੋਸਟ ਕੀਤੇ ਗਏ ਹਨ.","WEBSITE_ADDONS_OFFICIAL":"ਸਰਕਾਰੀ ਐਡਨਜ਼","WEBSITE_ADDONS_WATCHUB":"ਆਪਣੀਆਂ ਮਨਪਸੰਦ ਫਿਲਮਾਂ ਲੜੀ ਨੂੰ ਸਟ੍ਰੀਮ ਕਰੋ ਅਤੇ ਆਈਟਿ es ਨਜ਼ ਹੂਲੂ ਐਮਾਜ਼ਾਨ ਅਤੇ ਹੋਰ ਯੂਕੇ / ਅਮਰੀਕੀ ਸੇਵਾਵਾਂ ਦਿਖਾਓ.","WEBSITE_ADDONS_YOUTUBE":"ਆਪਣੇ ਮਨਪਸੰਦ ਯੂਟਿ ube ਬ ਚੈਨਲਾਂ ਨੂੰ ਮਸ਼ਹੂਰੀ ਕਰੋ ਅਤੇ ਯੋਗਦਾਨ ਪਾਉਣ ਵਾਲਿਆਂ ਤੋਂ ਨਵੇਂ ਅਪਲੋਡਾਂ ਲਈ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰੋ.","WEBSITE_ADDONS_FILMON":"ਲਾਈਵ ਟੀਵੀ ਫਿਲਮਾਂ ਅਤੇ ਸਮਾਜਿਕ ਟੈਲੀਵਿਜ਼ਨ ਮੁਫਤ ਵਿੱਚ ਵੇਖੋ.600 ਟੀਵੀ ਚੈਨਲ 45000 ਮੁਫਤ ਫਿਲਮਾਂ ਦਸਤਾਵੇਜ਼ੀ ਅਤੇ ਹੋਰ ਵੀ.","WEBSITE_ADDONS_OPENSUBTITLES":"ਬਹੁਤ ਸਾਰੀਆਂ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਹਜ਼ਾਰਾਂ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਹਰ ਰੋਜ਼ ਫਿਲਮ ਅਤੇ ਟੀਵੀ ਉਪਸਿਰਲੇਖਾਂ ਨੂੰ ਅਪਲੋਡ ਕੀਤਾ ਗਿਆ ਸੀ.","WEBSITE_ADDONS_COMMUNITY":"ਕਮਿ Community ਨਿਟੀ ਵਿਗਿਆਪਨ","WEBSITE_ADDONS_FILMON_VOD":"ਫਿਲਮਾਂ ਤੋਂ ਮੰਗ \'ਤੇ ਵੀਡੀਓ ਦੇਖੋ","WEBSITE_ADDONS_TWICH":"ਟਵਿਟਚ.ਟੀਵੀ ਤੋਂ ਲਾਈਵ ਸਟ੍ਰੀਮ ਵੇਖੋ - ਈ -s ਪੋਰਟਾਂ ਉਦਯੋਗ ਲਈ ਇੱਕ ਵੀਡੀਓ ਸਟ੍ਰੀਮਿੰਗ ਪਲੇਟਫਾਰਮ.","WEBSITE_ADDONS_VODO":"ਇੰਡੀ ਫਿਲਮਾਂ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਮੁਫਤ ਦੇਖੋ.","WEBSITE_ADDONS_NETFLIX":"ਨੈੱਟਫਲਿਕਸ ਫਿਲਮਾਂ ਅਤੇ ਵੈੱਬ ਲੜੀ ਵੇਖੋ.","WEBSITE_ADDONS_CREATE":"ਇੱਕ ਅਡਿਨ ਬਣਾਓ","WEBSITE_ADDONS_CREATE_P1":"ਜੇ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਆਪਣਾ ਅਡਿਨ ਵਿਕਸਿਤ ਕਰ ਸਕਦੇ ਹੋ.ਇਸ ਤਰੀਕੇ ਨਾਲ ਤੁਸੀਂ ਆਪਣੇ ਆਪ ਨੂੰ ਅਤੇ ਕਮਿ community ਨਿਟੀ ਨੂੰ ਨਵੀਂ ਵੀਡੀਓ ਸਮਗਰੀ ਤੱਕ ਪਹੁੰਚ ਸਕਦੇ ਹੋ ਅਤੇ ਵਿਸ਼ਵ ਭਰ ਦੇ ਲੱਖਾਂ ਉਪਭੋਗਤਾਵਾਂ ਦੇ ਨਵੇਂ ਉਪਭੋਗਤਾ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ.","WEBSITE_ADDONS_START_CREATE":"ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸਟ੍ਰੀਮਿਓ ਐਡੋਨ ਐਸਡੀਕੇ ਪੇਜ ਤੇ ਜਾਓ:","WEBSITE_DOWNLOADS":"ਡਾਉਨਲੋਡ ਕਰੋ","WEBSITE_DOWNLOADS_P1":"ਅਨੁਕੂਲ ਕਾਰਗੁਜ਼ਾਰੀ ਲਈ ਅਸੀਂ ਤੁਹਾਨੂੰ ਸਿਫਾਰਸ਼ ਕਰਦੇ ਹੋ ਕਿ ਤੁਸੀਂ ਸਟ੍ਰੀਮਿਓ ਐਪਸ ਦੇ ਨਵੀਨਤਮ ਉਪਲੱਬਧ ਸੰਸਕਰਣ ਦੀ ਵਰਤੋਂ ਕਰੋ.ਜੇ ਕਿਸੇ ਕਾਰਨ ਕਰਕੇ ਤੁਸੀਂ ਪੁਰਾਣੇ ਸੰਸਕਰਣ ਨੂੰ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਇਸਨੂੰ ਇੱਥੇ ਡਾ download ਨਲੋਡ ਕਰ ਸਕਦੇ ਹੋ.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"ਵਿੰਡੋਜ਼ ਲਈ ਸਟ੍ਰੀਮਿਓ","WEBSITE_DOWNLOADS_FOR_MAC":"ਮੈਕੋਜ਼ ਲਈ ਸਟ੍ਰੀਮਿਓ","WEBSITE_DOWNLOADS_FOR_LINUX":"ਲੀਨਕਸ ਲਈ ਸਟ੍ਰੀਮਿਓ","WEBSITE_DOWNLOADS_FOR_ANDROID":"ਐਂਡਰਾਇਡ ਲਈ ਸੋਟਾਂ","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"ਆਈਓਐਸ ਲਈ ਸਟ੍ਰੀਮਿਓਓ (ਸੀਮਤ ਸੰਸਕਰਣ)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"ਯੋਗਦਾਨ","WEBSITE_CONTRIBUTE_P1":"ਸਟ੍ਰੀਮਿਓ ਪਲੇਟਫਾਰਮ ਖੁੱਲਾ ਸਰੋਤ ਹੈ ਅਤੇ ਤੁਸੀਂ ਆਸਾਨੀ ਨਾਲ ਉਸ ਸਮੱਗਰੀ ਲਈ ਇੱਕ ਅਡਿਨ ਬਣਾ ਸਕਦੇ ਹੋ ਜੋ ਇਸ ਸਮੇਂ ਸਰੋਤ ਨਹੀਂ ਹੈ.","WEBSITE_CONTRIBUTE_WHY":"ਤੁਹਾਨੂੰ ਅਡੇਨ ਕਿਉਂ ਬਣਾਇਆ ਚਾਹੀਦਾ ਹੈ?","WEBSITE_CONTRIBUTE_WHY_P1":"ਆਪਣੀ ਵੀਡੀਓ ਸਮੱਗਰੀ ਲਈ ਨਵੇਂ ਦਰਸ਼ਕਾਂ ਤੱਕ ਪਹੁੰਚੋ","WEBSITE_CONTRIBUTE_WHY_P2":"ਸਟ੍ਰਾਬੀਓ ਦਾ ਉਪਭੋਗਤਾ ਅਧਾਰ ਤੇਜ਼ੀ ਨਾਲ ਵੱਧ ਰਿਹਾ ਹੈ - 4 ਮਿਲੀਅਨ ਉਪਯੋਗਕਰਤਾ ਲਾਂਚ ਕੀਤੇ ਸਟ੍ਰਾਬੀਓ ਦੇ ਪਹਿਲੇ ਸਾਲ ਦੇ ਅੰਦਰ ਪ੍ਰਾਪਤ ਕੀਤੇ ਗਏ ਸਨ ਅਤੇ ਪਲੇਟਫਾਰਮ ਦੀ ਹੋਂਦ ਦੇ ਦੂਜੇ ਸਾਲ ਵਿੱਚ ਗਿਣਤੀ ਵਿੱਚ 2.5 ਮਿਲੀਅਨ ਵਿੱਚ ਵਾਧਾ ਹੋਇਆ ਸੀ.","WEBSITE_CONTRIBUTE_WHY_P3":"ਤੁਹਾਡੇ ਅਡਿਨ ਨਾਲ ਤੁਸੀਂ ਇਸ ਦਰਸ਼ਕਾਂ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਪਹੁੰਚ ਸਕਦੇ ਹੋ ਅਤੇ ਆਪਣੀ ਵੀਡੀਓ ਸਮੱਗਰੀ ਨੂੰ ਵੰਡ ਸਕਦੇ ਹੋ.","WEBSITE_CONTRIBUTE_ALL":"ਆਪਣੀ ਮਨਪਸੰਦ ਫਿਲਮਾਂ ਵੀਡੀਓ ਲੜੀ ਅਤੇ ਚੈਨਲ ਇਕ ਜਗ੍ਹਾ \'ਤੇ ਦੇਖੋ.","WEBSITE_CONTRIBUTE_ALL_P1":"ਤੁਸੀਂ ਕਿਸੇ ਵਿਸ਼ੇਸ਼ ਕਿਸਮ ਦੀ ਸਮੱਗਰੀ ਦੇ ਪ੍ਰਸ਼ੰਸਕ ਹੋ ਜੋ ਅਜੇ ਤੱਕ ਸਟ੍ਰਾਬੀਓ ਤੇ ਉਪਲਬਧ ਨਹੀਂ ਹਨ?ਇਸ ਲਈ ਇੱਕ ਅਡਿਨ ਬਣਾਓ ਅਤੇ ਮਾਰਕੀਟ ਤੇ ਮਨੋਰੰਜਨ ਕੇਂਦਰਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਵਿੱਚ ਆਪਣੀ ਮਨਪਸੰਦ ਵੀਡੀਓ ਦਾ ਅਨੰਦ ਲਓ.","WEBSITE_CONTRIBUTE_ALL_P2":"ਇਸ ਦੇ ਸਿਖਰ \'ਤੇ, ਤੁਹਾਨੂੰ ਹੋਰ ਸਮਾਨ ਪਲੇਮੀਓ ਕਮਿ community ਨਿਟੀ ਦੇ ਮੈਂਬਰਾਂ ਲਈ ਬੇਅੰਤ ਸ਼ੁਕਰਗੁਜ਼ਾਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ.","WEBSITE_CONTRIBUTE_MONETIZE":"ਆਪਣੇ ਅਡਿ oun ਨ ਕਰੋ ਅਤੇ ਆਪਣੀ ਮਦਦ ਨਾਲ ਪੈਸਾ ਕਮਾਓ","WEBSITE_CONTRIBUTE_MONETIZE_P1":"ਇਕ ਵਾਰ ਜਦੋਂ ਤੁਸੀਂ ਸਟ੍ਰੀਮਿਓ ਲਈ ਨਵਾਂ ਅਡਿਨ ਵਿਕਸਿਤ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਇਸ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਕਈ ਤਰੀਕਿਆਂ ਨਾਲ ਧੋਖਾ ਦੇ ਸਕਦੇ ਹੋ.ਸੰਪਰਕ ਕਰਨ ਲਈ ਮੁਫ਼ਤ ਮਹਿਸੂਸ ਕਰੋ ਜੇ ਤੁਸੀਂ ਇਸ ਬਾਰੇ ਵਿਚਾਰ ਕਰ ਰਹੇ ਹੋ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":"- ਅਸੀਂ ਸਲਾਹ \'ਤੇ ਖੁਸ਼ ਹੋਵਾਂਗੇ ਅਤੇ ਅਡੇਨ ਮੂਡੀਆਫਿਕੇਸ਼ਨ ਵਿਕਲਪਾਂ ਦੀ ਸਲਾਹ ਦੇਵਾਂਗੇ.","WEBSITE_CONTRIBUTE_TRANSLATE":"ਵਲੰਟੀਅਰ ਅਨੁਵਾਦਕ ਬਣੋ","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"ਜੇ ਤੁਸੀਂ ਵੱਖ-ਵੱਖ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਸਟ੍ਰਾਬੇਰੀ ਐਪਸ ਦਾ ਅਨੰਦ ਲੈਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਸਵੈਇੱਛੁਕ ਅਨੁਵਾਦਕਾਂ ਦੇ ਕਮਿ community ਨਿਟੀ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋ ਸਕਦੇ ਹੋ.ਉਹ ਸਾਡੀ ਮਦਦ ਕਰਨ ਲਈ ਸਾਡੀ ਵੱਖੋ ਵੱਖਰੀਆਂ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨ ਵਿੱਚ ਸਾਡੀ ਸਹਾਇਤਾ ਕਰਦੇ ਹਨ.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"ਕੀ ਤੁਸੀਂ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਉਤਸੁਕ ਹੋ?","WEBSITE_TRANSALTE_STREMIO":"ਸਟ੍ਰੀਮਿਓ ਦਾ ਅਨੁਵਾਦ ਕਰੋ","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"ਸਰਕਾਰੀ ਕਮਿ Community ਨਿਟੀ","WEBSITE_COMMUNITY_OFFICIALS_P1":"ਵਧ ਰਹੀ ਸਟ੍ਰਾਬੀਓ ਭਾਈਚਾਰੇ ਦਾ ਹਿੱਸਾ ਬਣੋ.ਸਾਨੂੰ ਸੋਸ਼ਲ ਮੀਡੀਆ \'ਤੇ ਚੱਲੋ ਅਤੇ ਨਮਸਤੇ ਕਹਿਣ ਲਈ ਸ਼ਰਮਿੰਦਾ ਹੋਵੋ - ਸਾਨੂੰ ਸਾਡੇ ਪ੍ਰਸ਼ੰਸਕਾਂ ਤੋਂ ਸੁਣਨਾ ਪਸੰਦ ਹੈ!","WEBSITE_COMMUNITY_UNOFFICIALS":"ਗੈਰ ਰਸਮੀ ਕਮਿ community ਨਿਟੀ","STREMIO_COMMUNITY_NL":"ਸਟ੍ਰੀਮਿਓ ਨੀਦਰਲੈਂਡਸ","STREMIO_COMMUNITY_BRASIL":"ਸਟ੍ਰੀਮਿਓ ਬ੍ਰਾਸੀਲ","STREMIO_COMMUNITY_GERMANY":"ਸਟ੍ਰੀਮਿਓ ਜਰਮਨੀ","STREMIO_COMMUNITY_BELGIUM":"ਸਕੀਮ ਬੈਲਜੀਅਮ","STREMIO_COMMUNITY_FRANCE":"ਸਟ੍ਰੋਮਣੋ ਫਰਾਂਸ","STREMIO_COMMUNITY_PORTUGAL":"ਸਕੀਮ ਪੁਰਤਗਾਲ","STREMIO_COMMUNITY_ITALY":"ਸਟੈਮੀਓ ਇਟਲੀ","STREMIO_COMMUNITY_UK":"ਸਟ੍ਰੋਮ੍ਰੋਨੋ ਬ੍ਰਿਟੇਨ","STREMIO_COMMUNITY_USA":"ਸਟ੍ਰੈਬੋਰਡੋ ਅਮਰੀਕਾ","STREMIO_COMMUNITY_MEXICO":"ਸਟ੍ਰੀਮਿਓ ਮੈਕਸੀਕੋ","STREMIO_COMMUNITY_ADDONS":"Struct ਾਂਚਾਗਤ ਵਿਗਿਆਪਨ","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"ਭਿਆਨਕ ਸਟ੍ਰੀਮਿਓ","WEBSITE_COMMUNITY_PARTNERS":"ਭਾਈਵਾਲ ਅਤੇ ਸਮਰਥਕ","WEBSITE_COMMUNITY_GOODIES":"ਸਟ੍ਰੀਮਿਓ ਉਪਹਾਰ","WEBSITE_COMMUNITY_WALLPAPERS":"ਵਾਲਪੇਪਰ","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"ਸੰਪਰਕ","WEBSITE_CONTACT_US_P1":"ਜੇ ਤੁਹਾਡੇ ਕੋਈ ਪ੍ਰਸ਼ਨ, ਟਿਪਣੀਆਂ ਜਾਂ ਸੁਝਾਅ ਹੇਠਾਂ ਦਿੱਤੇ ਸੰਪਰਕ ਦੇ ਫਾਰਮ ਰਾਹੀਂ ਸੰਪਰਕ ਵਿੱਚ ਆਉਣ ਲਈ ਸੁਤੰਤਰ ਮਹਿਸੂਸ ਕਰਦੇ ਹਨ.","WEBSITE_CONTACT_US_P2":"ਇਹ ਯਾਦ ਰੱਖੋ ਕਿ ਅਸੀਂ ਬੁਲਗਾਰੀਆ ਵਿਚ ਸਥਿਤ ਹਾਂ, ਇਸ ਲਈ ਸਮੇਂ ਦੇ ਖੇਤਰ ਦੇ ਅੰਤਰ ਦੇ ਕਾਰਨ ਤੁਹਾਡੀ ਪੁੱਛਗਿੱਛ ਨੂੰ ਸੰਬੋਧਿਤ ਕਰਨ ਵਿਚ ਦੇਰੀ ਹੋ ਸਕਦੀ ਹੈ.","WEBSITE_CONTACT_US_SUCCESS":"ਤੁਹਾਡਾ ਸੁਨੇਹਾ ਭੇਜਿਆ ਗਿਆ ਹੈ.ਅਸੀਂ ਤੁਹਾਡੀ ਸਭ ਤੋਂ ਪੁਰਾਣੀ ਸਹੂਲਤ \'ਤੇ ਤੁਹਾਡੇ ਕੋਲ ਵਾਪਸ ਆਵਾਂਗੇ.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਵੈਧ ਈਮੇਲ ਦਰਜ ਕਰੋ!","WEBSITE_CONTACT_US_Q_RELATED_TO":"ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਨ ਨਾਲ ਕਿਸ ਨਾਲ ਸਬੰਧਤ ਹੈ?","WEBSITE_CONTACT_US_Q_OS":"ਤੁਹਾਡਾ ਆਪ੍ਰੇਸ਼ਨ ਸਿਸਟਮ ਕੀ ਹੈ?","WEBSITE_CONTACT_US_PH_EMAIL":"ਤੁਹਾਡੀ ਈਮੇਲ","WEBSITE_CONTACT_US_PH_MESSAGE":"ਸੁਨੇਹਾ","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ਭੇਜੋ","WEBSITE_CONTACT_US_Q_1":"ਕਿਵੇਂ ਇੰਸਟਾਲ ਕਰਨਾ ਹੈ?","WEBSITE_CONTACT_US_Q_2":"ਕਿਵੇਂ ਅਣਇੰਸਟੌਲ ਕਰਨਾ ਹੈ?","WEBSITE_CONTACT_US_Q_3":"(HTML) ਲਾਸਗਨਾ ਕਿਵੇਂ ਬਣਾਈਏ?","WEBSITE_CONTACT_US_Q_4":"ਹੋਰ ਜੋੜਨਾ","WEBSITE_CONTACT_US_OS_1":"ਵਿੰਡੋਜ਼","WEBSITE_CONTACT_US_OS_2":"ਮੈਕ ਓਐਸ","WEBSITE_CONTACT_US_OS_3":"ਲੀਨਕਸ","WEBSITE_CONTACT_US_OS_4":"ਐਂਡਰਾਇਡ","WEBSITE_CONTACT_US_OS_5":"ਆਈਓਐਸ","WEBSITE_TECHNOLOGY":"ਟੈਕਨੋਲੋਜੀ","WEBSITE_TECHNOLOGY_P1":"ਅਸੀਂ ਟੈਕਨਾਲੋਜੀ ਅਤੇ ਪਾਗਲ ਵਿਗਿਆਨ ਨੂੰ ਪਿਆਰ ਕਰਦੇ ਹਾਂ.
    ਇੱਥੇ ਸ਼ਕਤੀਆਂ ਕੀ ਹਨ (ਇਹ ਸਭ ਖੁੱਲਾ ਸਰੋਤ ਹੈ).","WEBSITE_TECHNOLOGY_P_QT":"ਕਰਾਸ-ਪਲੇਟਫਾਰਮ ਸਾੱਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਵਧੀਆ ਹੈ.","WEBSITE_TECHNOLOGY_P_MPV":"ਇੱਕ ਮੁਫਤ ਓਪਨ ਸੋਰਸ ਅਤੇ ਕਰਾਸ-ਪਲੇਟਫਾਰਮ ਮੀਡੀਆ ਪਲੇਅਰ.","WEBSITE_TECHNOLOGY_P_RN":"ਜਵਾਬ ਦੇਸੀ ਨੇ ਤੁਹਾਨੂੰ ਸਿਰਫ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਦਿਆਂ ਮੋਬਾਈਲ ਐਪਸ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦੇਵਾਂ.","WEBSITE_TECHNOLOGY_P_VLC":"ਮਲਟੀਮੀਡੀਆ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਏਮਬੇਡਡ ਮੀਡੀਆ ਫਰੇਮਵਰਕ.","WEBSITE_TECHNOLOGY_P_REALM":"ਸਕੋਪ ਇੱਕ ਮੋਬਾਈਲ ਪਲੇਟਫਾਰਮ ਹੈ ਅਤੇ SQLite ਅਤੇ ਕੋਰ ਡਾਟੇ ਲਈ ਇੱਕ ਤਬਦੀਲੀ ਹੈ.","WEBSITE_TECHNOLOGY_P_NODEJS":"ਨੋਡ.ਜੇਐਸ ਇੱਕ ਓਪਨ-ਸੋਰਸ ਕ੍ਰਾਸ ਪਲੇਟਫਾਰਮ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਰੰਨਟਾਈਮ ਵਾਤਾਵਰਣ ਹੈ.","WEBSITE_TECHNOLOGY_P_RUST":"ਜੰਗ ਇਕ ਬਹੁ-ਬੁੱਧੀਮਾਨ ਪ੍ਰਣਾਲੀ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਹੈ ਜੋ ਸੁਰੱਖਿਆ \'ਤੇ ਵਿਸ਼ੇਸ਼ ਤੌਰ\' ਤੇ ਸੁਰੱਖਿਅਤ ਸਹਿਮਤੀ \'ਤੇ ਕੇਂਦ੍ਰਤ ਕਰਦੀ ਹੈ.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"ਪ੍ਰੋਜੈਕਟ ਲਈ ਯੋਗਦਾਨ","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"ਸਟ੍ਰੀਮਿਓ ਵਿਚ ਦੋ ਤਰੀਕੇ ਹਨ ਅਤੇ ਉਤਪਾਦ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿਚ ਸਾਡੀ ਮਦਦ ਕਰਦੇ ਹਨ.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"ਤੁਸੀਂ ਪੜਾਅ ਦਾ ਅਨੁਵਾਦ ਕਰਕੇ ਆਪਣੀ ਕੀਮਤੀ ਭਾਸ਼ਾ ਦੇ ਹੁਨਰਾਂ ਦਾਨ ਕਰ ਸਕਦੇ ਹੋ ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ਜਾਂ","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... ਤੁਸੀਂ ਕਮਿ Community ਨਿਟੀ ਵਿਗਿਆਪਨ ਬਣਾਉਣ ਲਈ ਆਪਣੇ ਕੋਡਿੰਗ ਹੁਨਰਾਂ ਨੂੰ ਵਰਤ ਸਕਦੇ ਹੋ.","WEBSITE_TRANSLATE_STREMIO":"ਸਟ੍ਰੀਮਿਓ ਦਾ ਅਨੁਵਾਦ ਕਰੋ","WEBSITE_404_OH_NO":"ਓਹ ਓ!ਜਿਸ ਪੇਜ ਦੀ ਤੁਸੀਂ ਭਾਲ ਕਰ ਰਹੇ ਹੋ ਉਹ ਇੱਥੇ ਨਹੀਂ ਹੈ ...","WEBSITE_GO_HOME":"ਘਰ ਜਾਓ","WEBSITE_LINK_OTHER_DOWNLOADS":"ਹੋਰ ਡਾਉਨਲੋਡਸ","WEBSITE_FAQ_ABR":"ਆਮ ਸਵਾਲ","WEBSITE_SUPPORT":"ਮਦਦ ਕਰੋ","WEBSITE_DOWNLOAD_4_0_BETA":"ਹੁਣ ਸਟ੍ਰੀਮਿਓ 4 ਬੀਟਾ ਡਾ Download ਨਲੋਡ ਕਰੋ","WEBSITE_GET_FOR_DESKTOP":"ਡੈਸਕਟਾਪ ਲਈ ਜਾਓ","WEBSITE_LINK_ADDON_COMPETITION":"ਐਡਿਨ ਮੁਕਾਬਲਾ","WEBSITE_LINK_ART_CONTEST":"ਕਲਾ ਮੁਕਾਬਲੇ","WEBSITE_MY_ACCOUNT":"ਮੇਰਾ ਖਾਤਾ","WEBSITE_MAINPAGE_FAQ_001_H1":"ਸਟਰਾਮੀ ਕੀ ਹੈ?","WEBSITE_MAINPAGE_FAQ_001_P1":"ਸਟ੍ਰੀਮਿਓ ਇਕ ਆਧੁਨਿਕ ਮੀਡੀਆ ਸੈਂਟਰ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਜੋ ਵੀ ਚਾਹੁੰਦੇ ਹੋ ਮਿਲਣ ਦੀ ਆਜ਼ਾਦੀ ਦਿੰਦਾ ਹੈ.","WEBSITE_MAINPAGE_FAQ_002_H1":"ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ?","WEBSITE_MAINPAGE_FAQ_002_P1":"ਇੱਕ ਵਾਰ ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੀ ਡਿਵਾਈਸ ਤੇ ਇੱਕ ਸਟ੍ਰੀਮੋਸੀਓ ਸਥਾਪਤ ਕਰਦੇ ਹੋ ਅਤੇ ਇੱਕ ਖਾਤਾ ਬਣਾਓ ਜੋ ਤੁਹਾਨੂੰ ਕਰਨਾ ਹੈ, ਇਹ ਅਡਿਨ ਕੈਟਾਲਾਗ ਤੇ ਜਾਣਾ ਅਤੇ ਕੋਈ ਅਡਿਨ ਸਥਾਪਤ ਕਰਨਾ ਚੰਗਾ ਹੈ ਅਤੇ ਤੁਸੀਂ ਜਾਣਾ ਚੰਗਾ ਰਹੇ ਹੋ!","WEBSITE_MAINPAGE_FAQ_002_P2":"ਇਸ ਤੋਂ ਬਾਅਦ ਤੁਸੀਂ ਸਮੱਗਰੀ ਦੀ ਭਾਲ ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਸ਼ੁਰੂਆਤ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਖੋਜ ਜਾਂ ਬੋਰਡ ਦੇ ਭਾਗਾਂ ਤੇ ਜਾ ਸਕਦੇ ਹੋ.","WEBSITE_MAINPAGE_FAQ_003_H1":"ਮੈਂ ਇੱਥੇ ਕੀ ਵੇਖ ਸਕਦਾ ਹਾਂ?","WEBSITE_MAINPAGE_FAQ_003_P1":"ਬਹੁਤ ਕੁਝ: ਫਿਲਮਾਂ ਟੀਵੀ ਸ਼ੋਅ ਵੈੱਬ ਚੈਨਲ ਸਪੋਰਟ ਟੀਵੀ ਚੈਨਲ ਪੋਡਕਾਸਟ ਅਤੇ ਹੋਰ ਸੁਣੋ.ਸਾਡੇ ਅਡਿਨ ਸਿਸਟਮ ਦਾ ਧੰਨਵਾਦ, ਤੁਸੀਂ ਕਈ ਤਰ੍ਹਾਂ ਦੀਆਂ ਸਮੱਗਰੀਆਂ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੇ ਹੋ.","WEBSITE_MAINPAGE_FAQ_004_H1":"ਕੀ ਸਟੀਮੋ ਓਪਨ-ਐਸਓਐਸ ਹੈ?","WEBSITE_MAINPAGE_FAQ_004_P1":"ਹਾਂ ਤੁਸੀਂ ਹੇਠ ਦਿੱਤੇ ਲਿੰਕ ਵੇਖ ਸਕਦੇ ਹੋ: {{1} ਐਪ $ {2} ਅਤੇ $ {3} Github ਕੱਪੜੇ $ {4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"ਕੀ ਸਟ੍ਰਾਮਬੀਨੀ ਸੁਰੱਖਿਅਤ ਹੈ?","WEBSITE_MAINPAGE_FAQ_005_P1":"ਹਾਂ: ਕਿਉਂਕਿ ਇਹ ਓਪਨ-ਸੋਰਸ ਸਾੱਫਟਵੇਅਰ ਕੋਡ ਹੈ ਜਨਤਕ ਤੌਰ \'ਤੇ ਆਡਿਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਤੁਸੀਂ ਇਸ ਦੀ ਖੁਦ ਸਮੀਖਿਆ ਕਰ ਸਕਦੇ ਹੋ.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"ਮੇਰੀ ਨਿੱਜਤਾ ਬਾਰੇ ਕਿਵੇਂ?","WEBSITE_MAINPAGE_FAQ_006_P1":"ਅਸੀਂ ਉਪਭੋਗਤਾਵਾਂ ਦੀ ਨਿੱਜਤਾ ਦਾ ਸਨਮਾਨ ਕਰਦੇ ਹਾਂ ਅਤੇ ਆਪਣੇ ਖਾਤੇ ਨੂੰ ਬਣਾਉਣ ਅਤੇ ਅਨੁਕੂਲ ਕਰਨ ਲਈ ਘੱਟੋ ਘੱਟ ਲੋੜੀਂਦਾ ਕੋਈ ਨਿੱਜੀ ਡੇਟਾ ਇਕੱਠਾ ਨਹੀਂ ਕਰਦਾ.","WEBSITE_MAINPAGE_FAQ_006_P2":"ਸਾਈਨਅਪ ਵਿੱਚ $ {1} ਗੈਸਟ ਮੋਡ $ {2} ਹਨ ਜਿਸ ਲਈ ਕੋਈ ਡਾਟਾ ਲੋੜੀਂਦਾ ਨਹੀਂ ਹੈ: ਇਸ ਮੋਡ ਵਿੱਚ ਸਾਡੇ ਬੈਕਨ ਵਿੱਚ ਕੋਈ ਕਾਲ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ.ਹਾਲਾਂਕਿ ਇਹ ਲਾਭਦਾਇਕ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਕੀਮਤ \'ਤੇ ਆਉਂਦੀ ਹੈ ਜਿਵੇਂ ਕਿ ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਡਿਵਾਈਸ ਤੇ ਸਿੰਕ ਕਰਨ ਦੇ ਯੋਗ ਹੋਣਾ.","WEBSITE_MAINPAGE_FAQ_007_H1":"ਕੀ ਮੈਂ ਆਪਣੇ ਟੀਵੀ ਵਿਚ ਸ਼ਾਮਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹਾਂ?","WEBSITE_MAINPAGE_FAQ_007_P1":"ਹਾਂ, ਅਸੀਂ ਕਰਾਸਿਸ ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਾਂ ਅਤੇ ਤੁਹਾਨੂੰ ਡੈਸਕਟਾਪ ਅਤੇ ਮੋਬਾਈਲ ਐਪਸ (ਐਂਡਰਾਇਡ) ਤੋਂ ਸ਼ਾਮਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ.","WEBSITE_MAINPAGE_FAQ_008_H1":"ਸਟ੍ਰਾਬੀਓ ਵਿਚ ਕਿੰਨੇ ਇਸ਼ਤਿਹਾਰ ਹਨ?","WEBSITE_MAINPAGE_FAQ_008_P1":"ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ 2019 ਤੋਂ ਵੱਧ ਦੇ ਅੰਤ ਤੱਕ - ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ ਸਾਡੀ ਅਡਿਨ ਕੈਟਾਲਾਗ ਦੀ ਜਾਂਚ ਕਰੋ.","WEBSITE_MAINPAGE_FAQ_009_H1":"ਐਟਰੋਨ ਕੈਟਾਲਾਗਾਂ ਵਿੱਚ ਕੀ ਹੈ ਸਟ੍ਰੀਮਿਓ ਵਿੱਚ ਫੈਲਾਇਆ ਜਾ ਸਕਦਾ ਹੈ?","WEBSITE_MAINPAGE_FAQ_009_P1":"ਹਾਂ ਤੁਹਾਨੂੰ ਉਨ੍ਹਾਂ ਲੋਕਾਂ ਦੀ ਜਾਂਚ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ: $ 1} ਪਿਮਮੀਸਟਰੀਮੋ $ {2} $ {3} rign ੋ sting 4 {5} d ਸਟ੍ਰੀਮੀਓ ਡਾਉਨਲੋਡਰ $ {6} ਆਦਿ.","WEBSITE_MAINPAGE_FAQ_010_H1":"ਸਟ੍ਰੀਮਿਓ ਸਪੋਰਟ ਕੀ ਕਰਦਾ ਹੈ?","WEBSITE_MAINPAGE_FAQ_010_P1":"ਸਾਡੇ ਵਿੰਡੋਜ਼ ਮੈਕ ਅਤੇ ਲੀਨਕਸ ਲਈ ਡੈਸਕਟਾਪ ਐਪਸ ਹਨ.ਅਸੀਂ ਮੋਬਾਈਲ ਲਈ ਐਂਡਰਾਇਡ ਅਤੇ ਆਈਓਐਸ ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਾਂ, ਹਾਲਾਂਕਿ ਇਹ ਯਾਦ ਰੱਖੋ ਕਿ ਆਈਓਐਸ ਕਾਰਜਸ਼ੀਲਤਾ ਵਿੱਚ ਸੀਮਤ ਹੈ (ਜ਼ਿਆਦਾਤਰ ਵਿਗਿਆਪਨ ਸਹਾਇਤਾ).","WEBSITE_MAINPAGE_FAQ_010_P2":"ਇੱਥੇ ਬਹੁਤ ਸਾਰੇ ਐਂਡਰਾਇਡ-ਅਧਾਰਤ ਉਪਕਰਣ ਹਨ ਜੋ ਤੁਸੀਂ ਐਨਵੀਡੀਆ ਸ਼ੀਲਡ ਅਤੇ ਐਮਾਜ਼ਾਨ ਫਾਇਰ ਸਟਿੱਕ ਵਰਗੇ ਸਟ੍ਰਮੀਓ ਨੂੰ ਚਲਾ ਸਕਦੇ ਹੋ ਪਰ ਅਸੀਂ ਉਨ੍ਹਾਂ ਨੂੰ ਅਧਿਕਾਰਤ ਤੌਰ ਤੇ ਉਨ੍ਹਾਂ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੇ.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"ਕੀ ਤੁਸੀਂ ਸਟ੍ਰੀਮਿਓ ਵਿੱਚ ਕੁਝ ਸਮੱਗਰੀ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ?","WEBSITE_MAINPAGE_FAQ_011_P1":"ਮੁਆਫ ਕਰਨਾ, ਅਸੀਂ ਆਪਣੇ ਆਪ ਨੂੰ ਕੋਈ ਸਮੱਗਰੀ ਨਹੀਂ ਪ੍ਰਦਾਨ ਕਰਦੇ ਪਰ ਤੁਸੀਂ ਵਧੇਰੇ ਸਮੱਗਰੀ ਸਥਾਪਤ ਕੀਤੀ ਹੈ ਜੋ ਤੁਸੀਂ ਲੱਭਣ ਦੇ ਯੋਗ ਹੋਵੋਗੇ.","WEBSITE_MAINPAGE_FAQ_012_H1":"ਕੀ ਸਟਰੇਮਿਓ ਚੁੰਬਕੀ ਲਿੰਕਸ ਚਲਾ ਸਕਦਾ ਹੈ?","WEBSITE_MAINPAGE_FAQ_012_P1":"ਹਾਂ ਅਤੇ ਇਹ ਸਧਾਰਣ HTTP ਲਿੰਕ ਅਤੇ ਟੋਰੈਂਟ ਫਾਈਲਾਂ ਵੀ ਚਲਾ ਸਕਦਾ ਹੈ (ਖਿੱਚੋ ਅਤੇ ਸੁੱਟੋ).","WEBSITE_MAINPAGE_FAQ_013_H1":"ਕੀ ਮੈਂ ਇੱਕ ਵੀਡੀਓ ਡਾ line ਨਲੋਡ ਕਰ ਸਕਦਾ ਹਾਂ ਅਤੇ ਫਲਾਈਨ ਵੇਖੋ?","WEBSITE_MAINPAGE_FAQ_013_P1":"ਉਪਲਬਧ offline ਫਲਾਈਨ ਇੱਕ ਅਪਲਾਈਨ ਸਹੂਲਤ ਹੈ ਪਰ ਜੇ ਤੁਸੀਂ ਆਪਣੀ ਡਿਵਾਈਸ ਨੂੰ ਕੈਚੇ ਵਿੱਚ ਕੈਸ਼ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਬਿਨਾਂ ਕੁਨੈਕਸ਼ਨ ਦੇ ਵੀਡੀਓ ਦੇਖ ਸਕਦੇ ਹੋ.","WEBSITE_MAINPAGE_FAQ_014_H1":"ਕੁਝ ਵੀ ਮੇਰਾ ਕੰਮ ਨਹੀਂ ਕਰਦਾ!","WEBSITE_MAINPAGE_FAQ_014_P1":"ਕੀ ਤੁਸੀਂ ਸਚਮੁੱਚ ਸਥਾਪਿਤ ਹੋ?ਜੇ ਹਾਂ ਸਾਡੇ $ {1} ਸਹਾਇਤਾ ਕੇਂਦਰ $ {On 2} ਨਾਲ ਸੰਪਰਕ ਕਰੋ.","WEBSITE_MAINPAGE_FAQ_015_H1":"ਸਟ੍ਰੀਮੀਓ ਵਿਕਾਸ ਕਾਰਜਾਂ ਨੂੰ ਕਿਵੇਂ ਬਣਾਈ ਰੱਖਦੀ ਹੈ?","WEBSITE_MAINPAGE_FAQ_015_P1":"ਅਸੀਂ ਕਈ ਵਾਰ ਗੈਰ-ਜਵਾਬ ਦਿੱਤੇ ਮਸ਼ਹੂਰੀ ਚਲਾਉਂਦੇ ਹਾਂ, ਪਰ ਅਸੀਂ ਦਾਨ ਦੇ ਮਾਡਲ ਤੇ ਜਾਣ ਬਾਰੇ ਵਿਚਾਰ ਕਰ ਰਹੇ ਹਾਂ.","WEBSITE_MAINPAGE_FAQ_015_P2":"ਵਧੇਰੇ ਪ੍ਰਸ਼ਨਾਂ ਲਈ ਸਾਡੇ $ {1} ਏਡ ਸੈਂਟਰ $ {2} ਤੇ ਜਾਓ.","HELP_LEARN_MORE":"ਸਾਡੇ ਬਾਰੇ ਹੋਰ ਜਾਣਨ ਵਿਚ ਸਾਡੀ ਮਦਦ ਕਰੋ.","LIFESTYLE":"ਬਾਲੀਵੁੱਡ","SPORTS":"ਖੇਡ","FOOD_HEALTH":"ਭੋਜਨ ਅਤੇ ਸਿਹਤ","BEAUTY_FASHION":"ਸੁੰਦਰਤਾ ਅਤੇ ਫੈਸ਼ਨ","NEWS":"ਖ਼ਬਰਾਂ","GAMING":"ਜੂਆ","SCIENCE_EDUCATION":"ਵਿਗਿਆਨ ਅਧਿਐਨ","MUSIC":"ਸੰਗੀਤ","TRAVEL":"ਯਾਤਰਾ","LATE_NIGHT":"ਦੇਰ ਰਾਤ","REALITY":"ਹਕੀਕਤ","COMEDY":"ਕਾਮੇਡੀ","DIY":"ਡੀਆਈਵਾਈ ਕਿਵੇਂ ਕਰੀਏ","TECH":"ਟੈਕਨੋਲੋਜੀ","CINEMA":"ਸਿਨੇਮਾ","CONTINUE":"ਜਾਰੀ ਰੱਖੋ","SLOW_LOADING":"ਹੌਲੀ ਲੋਡਿੰਗ?","I_GIVE_UP":"ਮੈਂ ਹਾਰ ਮੰਨਦਾ ਹਾਂ","LEARN_MORE":"ਜਿਆਦਾ ਜਾਣੋ","POOR_SOURCE":"ਇਹ ਸਰੋਤ ਮਾੜੀ ਉਪਲਬਧ ਹੈ ਜਾਂ ਤੁਹਾਡਾ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਕਾਫ਼ੀ ਤੇਜ਼ ਨਹੀਂ ਹੈ","PICK_CATEGORIES_ERR":"ਤੁਹਾਨੂੰ ਘੱਟੋ ਘੱਟ 3 ਸ਼੍ਰੇਣੀਆਂ ਚੁਣਨਾ ਪਏਗਾ","ADJUST_TIMING":"ਨਾਲ ਸਮਾਂ ਵਿਵਸਥਿਤ ਕਰੋ","ADJUST_SIZE":"ਦੇ ਨਾਲ ਆਕਾਰ ਨੂੰ ਵਿਵਸਥਤ ਕਰੋ","SEARCH_ANYTHING":"ਤੁਸੀਂ ਕੁਝ ਵੀ ਲੱਭ ਸਕਦੇ ਹੋ ...","ALL_CATEGORIES":"ਸਾਰੇ","SEARCH_CATEGORIES":"ਸਿਨੇਮਾ ਸੀਰੀਜ਼ ਯੂਟਿ ube ਬ ਅਤੇ ਟੀ ​​ਵੀ","SEARCH_PERSONS":"ਅਦਾਕਾਰ ਡਾਇਰੈਕਟਰ ਅਤੇ ਲੇਖਕ","SEARCH_PROTOCOLS":"HTTP ਅਤੇ ਚੁੰਬਕ ਲਿੰਕ","SEARCH_TYPES":"ਆਈਐਮਡੀਬੀ / ਟੀਵੀਡੀਬੀ ਲਿੰਕ","WATCHED":"ਵੇਖੋ","SHOW_LESS":"ਘੱਟ ਦਿਖਾਓ","LAST_SEARCHES":"ਅੰਤਮ ਖੋਜ","CLEAR_HISTORY":"ਇਤਿਹਾਸ ਸਾਫ਼ ਕਰੋ","CHOOSE_SOME":"ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੁਝ ਚੁਣੋ:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"ਵੈੱਬ ਰਿਮੋਟ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ","STREMIO_OFFLINE":"ਸਟ੍ਰੀਮਿਓ offline ਫਲਾਈਨ ਹੈ","STREMIO_EXPENSIVE_CONNECTION":"ਅਸੀਂ ਪਾਇਆ ਹੈ ਕਿ ਤੁਸੀਂ ਮੋਬਾਈਲ ਡਾਟਾ ਕਨੈਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ, ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?","USE_DATA":"ਡੇਟਾ ਦੀ ਵਰਤੋਂ ਕਰੋ","WARNING":"ਚੇਤਾਵਨੀ","MORE_INFO":"ਹੋਰ ਜਾਣਕਾਰੀ ...","STREMIO_TV_STREMIO":"ਮਿਸ਼ਰਿਤ","STREMIO_TV_LOADING":"ਇਹ ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ ...","STREMIO_TV_BACK_TO_LANGUAGES":"ਵਾਪਸ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ","STREMIO_TV_REMOTE":"ਰਿਮੋਟ","STREMIO_TV_GO_TO":"ਲਈ ਜਾਓ:","STREMIO_TV_OR_SCAN":"ਜਾਂ ਸਕੈਨ:","STREMIO_TV_ADDON_INSTRUCTIONS":"ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਮਨਪਸੰਦ ਵਿਗਿਆਪਨ ਸਥਾਪਤ ਕਰਨ ਲਈ ਨਿਰਦੇਸ਼ਾਂ ਦਾ ਪਾਲਣ ਕਰੋ.","STREMIO_TV_LIVE_TV":"ਲਾਈਵ ਟੀਵੀ","STREMIO_TV_RESUME_WATCHING":"ਦੁਬਾਰਾ ਲੈਕੇ","STREMIO_TV_LOADING_BACKGROUND":"ਲੋਡਿੰਗ ਪਿਛੋਕੜ","STREMIO_TV_CHECKING_AUTHENTICATION":"ਪ੍ਰਮਾਣਿਕਤਾ ਜਾਂਚ","STREMIO_TV_LOADING_BOARD":"ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ","STREMIO_TV_LOGIN_HEADER_LINE_1":"ਅਸੀਂ ਚਾਹੁੰਦੇ ਹਾਂ ਕਿ ਸਾਡੇ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਸਾਡੇ ਸਾੱਫਟਵੇਅਰ ਨਾਲ ਸਭ ਤੋਂ ਵਧੀਆ ਨਿੱਜੀ ਤਜਰਬਾ ਹੋਵੇ.","STREMIO_TV_LOGIN_HEADER_LINE_2":"ਇਸ ਲਈ ਅਸੀਂ ਤੁਹਾਨੂੰ ਆਪਣੇ ਖਾਤੇ ਵਿੱਚ ਬਣਾਉਣ ਅਤੇ / ਜਾਂ ਲੌਗਇਨ ਕਰਨ ਲਈ ਕਹਾਂਗੇ.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"ਸਮਝਣ ਲਈ ਧੰਨਵਾਦ","STREMIO_TV_LOGIN_FOOTER_LINE_2":"ਸਟ੍ਰੀਮਿਓ ਟੀਮ","STREMIO_TV_REMOTE_INSTRUCTIONS":"ਆਪਣੇ ਸਮਾਰਟਫੋਨ / ਟੈਬਲੇਟ / ਡੈਸਕਟੌਪ ਨਾਲ ਵੈੱਬ ਨੂੰ ਵਰਤਣ ਲਈ:","STREMIO_TV_WIFI_SETUP":"ਵਾਈ-ਫਾਈ ਸੈਟਅਪ","STREMIO_TV_WIFI_HEADER_LINE_1":"ਸਕੀਮ ਦਾ ਚੱਕਰ ਵਿੱਚ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਦਾ ਪਤਾ ਨਹੀਂ ਲੱਗਿਆ.","STREMIO_TV_WIFI_DETAILS_1":"ਜੁੜੇ:","STREMIO_TV_WIFI_DETAILS_2":"ਮੂਰਤੀ","STREMIO_TV_WIFI_DETAILS_3":"ਪਾਸਵਰਡ ਦੀ ਵਰਤੋਂ ਕਰੋ:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"ਲਿੰਕ ਨਾਲ ਇੱਕ ਵੈੱਬ ਬਰਾ browser ਜ਼ਰ ਖੋਲ੍ਹੋ:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"ਖੋਜ","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"ਚੈਨਲ","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"ਵਿਵਸਥਾ","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"ਲਿੰਕ ਖਾਤਾ","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"ਖੋਜ","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"ਸਾਫ਼","STREMIO_TV_SEARCH_HISTORY_TITLE":"ਖੋਜ ਇਤਿਹਾਸ","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"ਖੋਜ ਇਤਿਹਾਸ ਸਾਫ਼ ਕਰੋ","STREMIO_TV_FILTERS_DESCRIPTION":"ਹੇਠ ਲਿਖਿਆਂ ਵਿੱਚੋਂ ਇੱਕ ਵਿੱਚੋਂ ਇੱਕ ਵਿੱਚੋਂ ਚੁਣੋ","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"ਫਿਲਟਰ","SETTINGS":"ਵਿਵਸਥਾ","ACCOUNT":"ਖਾਤਾ","LOGOUT":"ਲਾਗ ਆਉਟ","THEMES":"Themes","PLAYBACK":"ਪਲੇਬੈਕ","PLAYBACK_SPEED":"ਪਲੇਬੈਕ ਸਪੀਡ","AUDIO_TRACKS":"ਆਡੀਓ ਟਰੈਕ","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"ਵੀਡੀਓ","SERVER":"ਸਰਵਰ","LINKS":"Links","ABOUT":"ਇਸ ਬਾਰੇ","INTERFACE":"ਇੰਟਰਫੇਸ","ANIMATIONS":"ਐਨੀਮੇਸ਼ਨ","STATUS":"Status","LANGUAGE":"ਭਾਸ਼ਾ","SIZE":"ਆਕਾਰ","DELAY":"ਦੇਰੀ","BOLD":"ਬੋਲਡ","OPACITY":"Opacity","TEXT_COLOR":"ਹੱਥ ਲਿਖਤ","OUTLINE_COLOR":"ਰੂਪਰੇਖਾ ਰੰਗ","BACKGROUND_COLOR":"ਬੈਕ ਰੰਗ","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"ਸਮਾਂ ਅਵਧੀ ਵੇਖੋ","AUTO_PLAY":"ਅਗਲੇ ਐਪੀਸੋਡ ਆਪਣੇ ਆਪ","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"ਜਿਵੇਂ ਦੇਖਿਆ ਗਿਆ ਸੀ","MARK_AS_UNWATCHED":"ਅਣਉਚਿਤ ਦੇ ਤੌਰ ਤੇ ਮਾਰਕ ਕਰੋ","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"ਦੇਖਦੇ ਰਹੋ","ALL":"ਸਾਰੇ","SECONDS":"ਭੇਜਦਾ ਹੈ","ON":"ਕੰਮ ਕਰਨਾ","OFF":"ਨੇੜੇ","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"ਸਵਿੱਚ ਡਿਵਾਈਸ","REMOTE_VIDEOS":"ਵੀਡੀਓ","REMOTE_ADJUST_TIMING":"ਸਮਾਂ ਵਿਵਸਥ ਕਰੋ","REMOTE_ADJUST_SIZE":"ਆਕਾਰ ਨੂੰ ਵਿਵਸਥਤ ਕਰੋ","REMOTE_COULD_NOT_BE_LOADED":"ਵੈੱਬ ਰਿਮੋਟ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ","REMOTE_RETRY":"ਫਿਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ","TORRENT_PROFILE_DEFAULT":"ਮੂਲ","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"ਸਟਰਾਮੀ ਕੀ ਹੈ?","FAQ_001_P1":"ਸਟ੍ਰੀਮਿਓ ਇਕ ਮੀਡੀਆ ਸੈਂਟਰ ਸੈਂਟਰ ਹੈ ਜਿਸ ਵਿਚ ਦਿਮਾਗ ਵਿਚ ਵਰਤਣ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ ਵੀਡੀਓ ਮਨੋਰੰਜਨ ਲਈ.ਸਟ੍ਰੀਮਿਓ ਤੁਹਾਨੂੰ & amp ਦਾ ਪ੍ਰਬੰਧ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ;ਫਿਲਮ ਸੀਰੀਜ਼ ਦੇ ਚੈਨਲਾਂ ਅਤੇ ਲਾਈਵ ਟੀਵੀ ਦੇ ਆਪਣੇ ਸੰਗ੍ਰਹਿ ਨੂੰ ਵੇਖੋ.","FAQ_001_P2":"ਸਟ੍ਰੀਮਿਓ ਸਮਗਰੀ ਨੂੰ ਇਕੱਤਰ ਕਰੋ ਜੋ ਤੁਹਾਨੂੰ ਤੁਹਾਡੀ ਸਥਾਨਕ ਡਿਸਕ ਅਤੇ ਸਾਡੇ ਵਿਗਿਆਪਨ ਪ੍ਰਣਾਲੀ ਤੋਂ ਦਿਖਾਉਂਦਾ ਹੈ.","FAQ_001_P3":"ਇਹ ਤੁਹਾਨੂੰ ਸੂਚਿਤ ਕਰੇਗਾ ਕਿ ਨਵੇਂ ਐਪੀਸੋਡ / ਵੀਡੀਓ ਜੋ ਤੁਹਾਡੇ ਲਈ ਦਿਲਚਸਪੀ ਰੱਖਦੇ ਹਨ ਅਤੇ ਤੁਹਾਡੇ ਲਈ ਫਿਲਮ ਸਿਫਾਰਸ਼ਾਂ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ.","FAQ_02_H1":"ਸਟ੍ਰੀਮਿਓ ਕੋਡੀ ਦੀ ਤੁਲਨਾ ਕਿਵੇਂ ਕਰਦਾ ਹੈ?","FAQ_02_P1":"ਅਸੀਂ ਸਾੱਫਟਵੇਅਰ ਦੇ ਉਨ੍ਹਾਂ ਦੋ ਟੁਕੜਿਆਂ ਤੋਂ ਪ੍ਰੇਰਿਤ ਹਾਂ.ਪਰ ਸਾਡੇ ਵੱਖਰੇ ਟੀਚੇ ਹਨ - ਸਟ੍ਰਾਬੀਓ ਨੂੰ ਵਿਸ਼ੇਸ਼ ਤੌਰ \'ਤੇ ਮਨੋਰੰਜਨ ਦੇ ਵੀਡੀਓ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਵਰਤੋਂ ਕਰਨਾ ਆਸਾਨ ਹੋਣ ਲਈ ਮੁੱਖ ਧਾਰਾ ਬਣਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ.","FAQ_02_P2":"ਸਟ੍ਰਾਬਲਿਓ ਕਦੇ ਅਨੁਕੂਲ ਨਹੀਂ ਹੋਵੇਗਾ ਅਤੇ ਕੋਡੀ ਅਤੇ ਜਗ੍ਹਾ ਦੇ ਤੌਰ ਤੇ ਅਮੀਰ ਨਹੀਂ ਹੁੰਦਾ, ਪਰ ਇਸਦੀ ਵਰਤੋਂ ਕਰਨਾ ਕਾਫ਼ੀ ਸੌਖਾ ਹੈ.ਬੱਸ $ {1 she ਪ੍ਰਾਪਤ ਕਰੋ ਇਸ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰੋ ਅਤੇ $ {2} ਵੇਖੋ :)","FAQ_03_H1":"ਸਟ੍ਰੀਮਿਓ ਨੈੱਟਫਲਿਕਸ ਦੀ ਤੁਲਨਾ ਕਿਵੇਂ ਕਰਦਾ ਹੈ?","FAQ_03_P1":"ਨੈੱਟਫਲਿਕਸ ਦੁਬਾਰਾ ਸਾਡੀ ਪ੍ਰੇਰਣਾ ਹੈ.ਅਸੀਂ ਨੈੱਟਫਲਿਕਸ ਦੇ ਉਪਭੋਗਤਾ ਤਜ਼ਰਬੇ ਨੂੰ ਬਹੁਤ ਸਾਰੇ ਵਾਧੂ ਤੋਹਫ਼ਿਆਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ.ਪਰ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਣ ਗੱਲ ਇਹ ਹੈ ਕਿ ਅਸੀਂ ਤੁਹਾਨੂੰ ਆਪਣੀ ਲਾਇਬ੍ਰੇਰੀ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਅਤੇ ਸਾਡੇ ਅਡਿਨ ਸਿਸਟਮ ਨਾਲ ਨਵੇਂ ਸਮਗਰੀ ਦੇ ਸਰੋਤ ਜੋੜਨ ਦੀ ਆਜ਼ਾਦੀ ਦੇ ਰਹੇ ਹਾਂ.","FAQ_03_P2":"ਇਹ ਸਟ੍ਰਾਬੀਓ ਅਸੀਮਿਤ ਵਿਸਥਾਰ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ, ਇਸ ਲਈ ਜਦੋਂ ਤੁਸੀਂ ਸਟ੍ਰੈਂਬੀਓ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਕਦੇ ਵੀ ਸਮੱਗਰੀ ਤੱਕ ਸੀਮਿਤ ਨਹੀਂ ਹੋ ਜਾਂਦੇ. ਨੈੱਟਫਲਿਕਸ ਲਾਇਸੈਂਸ ਨੂੰ ਫੈਸਲਾ ਕਰਦਾ ਹੈ.ਉਦਾਹਰਣ ਦੇ ਲਈ, ਤੁਹਾਡੇ ਦੁਆਰਾ {1} ਫਿਲਮਾਂਨ.ਟੀਵੀ $ {2} $ 2 {3} {4 {5} youtuse $ {6 {6} ਵਡੋ $ 7 {6} ਵਡੋ / {6} ਵਡੋ / ਸਮੱਗਰੀ ਵੀ $ {{} ਨੈੱਟਫਲਿਕਸ $ {10} ਵੇਖ ਸਕਦੇ ਹੋ!","FAQ_04_H1":"ਸਟ੍ਰਾਬੀਬੀਆ ਫਲਿੱਪਬੋਰਡ ਦੀ ਤੁਲਨਾ ਕਿਵੇਂ ਕਰਦਾ ਹੈ?","FAQ_04_P1":"ਸਾਨੂੰ ਉਹ ਪ੍ਰਸ਼ਨ ਨਹੀਂ ਮਿਲਦਾ ਜੋ ਅਕਸਰ ਲੋਕਾਂ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਇਲਾਵਾ ਕਰਦਾ ਹੈ :)","FAQ_04_P2":"ਇੱਕ ਸਮੂਹਿਕਾਰੀ ਡਿਜ਼ਾਈਨ ਦੁਆਰਾ ਸਟ੍ਰੀਮਿਓ ਇੱਕ ਸਮੱਗਰੀ ਹੈ ਜੋ ਇਸ ਨੂੰ ਵੀਡੀਓ ਲਈ ਇੱਕ ਫਲਿੱਪਬੋਰਡ ਬਣਾਉਂਦਾ ਹੈ.ਇਹ ਸਾਡੇ ਬੋਰਡ ਭਾਗ ਵਿੱਚ ਬਹੁਤ ਸਪਸ਼ਟ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਇੱਕ ਫਲਿੱਪਬੋਰਡ ਦੀ ਪਾਲਣਾ ਕਰਨ ਲਈ ਇੱਕ ਕੈਟਾਲਾਗ ਅਤੇ ਨਵੀਂ ਐਪੀਸੋਡ / ਨਵੀਂ ਵੀਡੀਓ ਨੋਟੀਫਿਕੇਸ਼ਨ ਦਿੰਦਾ ਹੈ.","FAQ_05_H1":"ਸਟ੍ਰੀਮਿਓ ਨੂੰ ਪੌਪਕੌਰਨ ਟਾਈਮ ਦੀ ਤੁਲਨਾ ਕਿਵੇਂ ਕਰਦਾ ਹੈ?","FAQ_05_P1":"ਸਟ੍ਰੀਮਿਓ ਅਤੇ ਪੌਪਕੌਰਨ ਟਾਈਮ ਉਪਭੋਗਤਾ ਦੇ ਇੰਟਰਫੇਸਾਂ ਵਿੱਚ ਇਕੋ ਜਿਹੇ ਹਨ ਕਿਉਂਕਿ ਵੀਡੀਓ ਮਨੋਰੰਜਨ ਕੈਟਾਲਾਗਾਂ ਨੂੰ ਠੀਕ ਕਰਨ ਦੇ ਬਹੁਤ ਸਾਰੇ ਤਰੀਕੇ ਹਨ :)","FAQ_05_P2":"ਪਰ ਪੌਪਕਾਰਨ ਦਾ ਸਮਾਂ ਖਾਸ ਸਰੋਤਾਂ ਤੋਂ ਟੋਰੈਂਟ ਸਟ੍ਰੀਮਿੰਗ \'ਤੇ ਕੇਂਦ੍ਰਤ ਕਰਦਾ ਹੈ","FAQ_05_P3":"ਨਾਲ ਹੀ ਅਸੀਂ ਮੂਲ ਰੂਪ ਵਿੱਚ ਕੋਈ ਟੋਰੈਂਟ ਵਿਗਿਆਪਨ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰਦੇ, ਇਸ ਲਈ ਸਰਕਾਰੀ ਕਾਰਜਸ਼ੀਲਤਾ ਦੇ ਨਾਲ ਪੌਕਰੀਨ ਟਾਈਮ ਵਰਤੋਂ ਦੇ ਸਮੇਂ ਵਿੱਚ ਸ਼ਾਮਲ ਨਹੀਂ ਹੁੰਦਾ.","FAQ_05_P4":"ਇਕ ਹੋਰ ਕਮਾਲ ਦਾ ਅੰਤਰ ਇਹ ਹੈ ਕਿ ਪੌਕਰੀਨ ਦਾ ਸਮਾਂ ਇਕ ਬਿਲਕੁਲ ਖੁੱਲਾ ਸਰੋਤ ਹੈ ਜਦੋਂ ਕਿ ਸਟ੍ਰੀਮਿਓ $ 1} ਅੰਸ਼ਕ ਤੌਰ ਤੇ ਖੁੱਲਾ ਸਰੋਤ $ {2} ਹੈ.","FAQ_06_H1":"ਕੀ ਤੁਸੀਂ ਇਸ ਫਿਲਮ / ਲੜੀ ਸ਼ਾਮਲ ਕਰੋਗੇ?","FAQ_06_P1":"ਮਾਫ ਕਰਨਾ :(","FAQ_06_P2":"ਜਿਵੇਂ ਕਿ ਦੂਜੇ ਪ੍ਰਸ਼ਨਾਂ ਵਿੱਚ ਦੱਸਿਆ ਗਿਆ ਹੈ ਕਿ ਸਟ੍ਰੀਮੀਓ ਆਪਣੇ ਆਪ ਤੋਂ ਕੋਈ ਸਮੱਗਰੀ ਨਹੀਂ ਪ੍ਰਦਾਨ ਕਰਦਾ - ਹਰ ਚੀਜ਼ ਵਿਗਿਆਪਨ ਪ੍ਰਣਾਲੀ ਦੁਆਰਾ ਸ਼ਾਮਲ ਕੀਤੀ ਗਈ ਹੈ.ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ ਪਦਾਰਥਕ ਬੇਨਤੀ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਉਸ ਖਿਡਾਰੀ ਦੇ ਰਿਪੋਰਟ ਬਟਨ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ ਜੋ ਵਰਤਮਾਨ ਵਿੱਚ ਵਰਤੇ ਜਾ ਰਹੇ ਅਡਿਨ ਦੇ ਲੇਖਕ ਨੂੰ ਇੱਕ ਈਮੇਲ ਭੇਜਣਗੇ.","FAQ_07_H1":" ","FAQ_07_P1":" ","FAQ_07_P2":" ","FAQ_08_H1":"ਕੀ ਤੁਸੀਂ ਐਕਸ ਲਈ ਅਡਿਨ ਬਣਾਉਗੇ?","FAQ_08_P1":"ਇਹ ਪੂਰੀ ਤਰਾਂ ਸੰਭਵ ਹੈ.","FAQ_08_P2":"ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਐਡਨ ਲਈ ਕੋਈ ਵਿਚਾਰ ਹੈ, ਤਾਂ ਆਓ ਆਪਾਂ {1} onwors@stremio.com \'ਤੇ ਛੱਡੋ, ਪਰ ਕਿਰਪਾ ਕਰਕੇ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ ਤੁਹਾਡਾ ਅਦੇਨ ਵਿਚਾਰ ਕਿਸੇ ਵੀ ਕਾਪੀਰ ਜਾਂ ਵਰਤੋਂ ਦੀਆਂ ਸ਼ਰਤਾਂ ਦੀ ਉਲੰਘਣਾ ਨਹੀਂ ਕਰੇਗਾ.","FAQ_08_P3":"ਵਰਤਮਾਨ ਵਿੱਚ, ਸਾਡੀ ਰੋਡਮੈਪ ਤੇ ਅਗਲੀਆਂ ਚੀਜ਼ਾਂ ਮੰਗ ਅਤੇ ਫੈਸ਼ਨੋਨੋ ਫਿਲਮਾਂਨ.ਟੀਵੀ ਵੀਡੀਓ ਹਨ.","FAQ_09_H1":"ਸਟ੍ਰੀਮਿਓ ਕੁੜੱਤਣ ਕੀ ਵਰਤਦਾ ਹੈ?","FAQ_09_P1":"ਹਾਂ ਸਟ੍ਰਾਬੀਓ ਬਿਟੈਟੋਰ ਨੂੰ ਸਟ੍ਰੀਮਿੰਗ ਪ੍ਰੋਟੋਕੋਲ ਦੇ ਰੂਪ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦਾ ਹੈ.ਤੁਸੀਂ ਜਾਂ ਤਾਂ ਟੋਰੈਂਟ ਅਦੇਨ ਨਾਲ ਜਾਂ ਸਟ੍ਰਮੀਓ ਜਾਂ ਚਾਪ-ਅੰਤ ਦੁਆਰਾ ਸਰਚ-ਐਂਡ ਦੁਆਰਾ ਇੱਕ ਚੁੰਬਕ ਲਿੰਕ ਵਿੱਚ a.torrent ਫਾਈਲ ਨੂੰ ਚਿਪਕ ਕੇ ਕਰ ਸਕਦੇ ਹੋ.","FAQ_09_P2":"ਕਿਰਪਾ ਕਰਕੇ ਯਾਦ ਰੱਖੋ ਕਿ ਬਿਟਟੋਰ ਦੀ ਵਰਤੋਂ ਕਰਦਿਆਂ ਇਕੱਲੇ ਅਧਿਕਾਰਤ ਅਡੇਨ $ {1} ਵੋਡੋ $ {{} ਨੂੰ ਅਲਟੈਸਟੈਂਟਸ ਨਾਲ ਸਭ ਵੰਡਣ ਦੀ ਆਗਿਆ ਹੈ.","FAQ_09_P3":"ਅਸੀਂ ਤੀਜੀ ਧਿਰ ਦੇ ਇਸ਼ਤਿਹਾਰਾਂ ਦੀ ਵਰਤੋਂ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੇ ਜੋ ਕਾਪੀਰਾਈਟ ਉਲੰਘਣਾ ਨੂੰ ਸਮਰੱਥ ਕਰ ਸਕਦੇ ਹਨ.","FAQ_10_H1":"ਮੈਂ ਅਧਿਕਾਰਤ ਵਿਗਿਆਪਨਾਂ ਨਾਲ ਸਟਰਾਮੀ ਵਿੱਚ ਕੀ ਵੇਖ ਸਕਦਾ ਹਾਂ?","FAQ_10_P1":"ਮੂਲ ਰੂਪ ਵਿੱਚ ਤੁਸੀਂ ਆਪਣੇ ਏਮਬੇਡਡ ਪਲੇਅਰ ਦੇ ਨਾਲ ਸਟ੍ਰਮੀਓ ਦੇ ਅੰਦਰ ਫਿਲਮ -ਨ.ਟਵੀ ਯੂਟਿ ube ਬ ਅਤੇ ਵੋਡੋ ਸਮਗਰੀ ਨੂੰ ਵੇਖ ਸਕਦੇ ਹੋ.ਇਸ ਤੋਂ ਇਲਾਵਾ ਸਾਡੇ ਕੋਲ ਟਵੀਚ.ਟਵੀ ਅਤੇ ਕੁਝ ਹੋਰਾਂ ਲਈ ਇੱਕ ਅਡਿਨ ਹੈ.","FAQ_10_P2":"ਇਹ ਸੰਯੁਕਤ ਦੀ ਚੋਣ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ:","FAQ_10_L1":"ਫਲੋਨ ਟੀਵੀ ਦੁਆਰਾ ਦਿੱਤੇ ਗਏ ਪ੍ਰਸਿੱਧ ਟੀਵੀ ਚੈਨਲ - ਉਦਾਹਰਣ ਲਈ E4 BBC ਬੋਲੀਵੋਰਲਡ ਟੀਵੀ","FAQ_10_L2":"ਯੂਟਿ .ਬ ਤੋਂ ਸਭ ਕੁਝ - ਉਦਾਹਰਣ ਲਈ ਬੀਬੀਸੀ ਨਿ News ਜ਼ ਚੋਟੀ ਦੇ ਗੇਅਰ ਵੇਵੋ ਪੇਵਡੀਪੀਪੀ","FAQ_10_L3":"ਵੋਡੋ ਨਾਲ ਇੰਡੀ ਫਿਲਮਾਂ","FAQ_10_L4":"ਟਵੀਚ.ਟੀਵੀ ਨਾਲ g ਨਲਾਈਨ ਗੇਮਿੰਗ ਦਾ ਪ੍ਰਸਾਰਣ","FAQ_10_P3":"ਇਸ ਤੋਂ ਇਲਾਵਾ, ਗਾਈਡਬੌਕਸ ਅਤੇ ਨੈੱਟਫਲਿਕਸ ਵਿਗਿਆਪਨ ਦੇ ਨਾਲ ਬਹੁਤ ਸਾਰੇ ਪਦਾਰਥਕ ਸਰੋਤ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਹਨ ਜੋ ਵਰੇਮੀ ਦੇ ਅੰਦਰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਖੇਡਦੇ ਹਨ ਪਰ ਦਿੱਤੀ ਗਈ ਸੇਵਾ ਵਿੱਚ ਰਿਡਿਕੈਕਟ ਕਰਨਗੇ.ਉਦਾਹਰਣ ਦੇ ਲਈ, ਗਾਈਡਬਾਕਸ ਅਡਾਨ ਤੁਹਾਨੂੰ ਫਿਲਮਾਂ ਦੀ ਚੋਣ ਕਰੇਗਾ ਜੋ ਤੁਸੀਂ ਟੱਬਿਟਵ ਵਰਗੀਆਂ ਸੇਵਾਵਾਂ ਤੋਂ ਮੁਕਤ ਰਹਿਣ ਲਈ ਦ੍ਰਿੜ ਹੋ ਸਕਦੇ ਹੋ.","FAQ_11_H1":"ਸਟ੍ਰੀਮਿਓ ਸਥਾਪਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ ਕਿ ਮੈਨੂੰ ਕੀ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ?","FAQ_11_P1":"ਜੇ ਤੁਸੀਂ ਵਿੰਡੋਜ਼ ਉੱਤੇ ਇਸ ਬਦਲਵੇਂ ਇੰਸਟੌਲਰ $ {2} ਨੂੰ ਅਜ਼ਮਾਉਂਦੇ ਹੋ.","FAQ_11_P2":"ਜੇ ਤੁਸੀਂ ਮੈਕ ਓਐਸ ਐਕਸ \'ਤੇ ਹੋ ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਇਹ ਯਾਦ ਰੱਖੋ ਕਿ ਅਸੀਂ ਓਐਸ ਐਕਸ ਮੇਵਰਾਂ (10.9) ਤੋਂ ਪੁਰਾਣੇ ਕਿਸੇ ਵੀ ਚੀਜ਼ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੇ.","FAQ_11_P3":"ਜੇ ਤੁਸੀਂ ਲੀਨਕਸ \'ਤੇ ਹੋ ਤਾਂ ਇਹ ਯਾਦ ਰੱਖੋ ਕਿ ਅਸੀਂ ਇਸ ਸਮੇਂ 64 ਬਿੱਟ (x64) ਲੀਨਕਸ ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਾਂ.","FAQ_11_P4":"ਜੇ ਤੁਸੀਂ ਆਪਣੀ ਸਮੱਸਿਆ ਦਾ ਹੱਲ ਨਹੀਂ ਕਰ ਸਕਦੇ, ਕਿਰਪਾ ਕਰਕੇ ਸਾਨੂੰ $ {1} ਫੇਸਬੁੱਕ ਸਮੂਹ $ {{2} ਤੇ ਲਿਖੋ.","FAQ_12_H1":"ਮੇਰਾ ਐਂਟੀ-ਵਾਇਰਸ ਸ਼ਿਕਾਇਤ ਕਿਉਂ ਕਰਦਾ ਹੈ?ਕੀ ਸਟ੍ਰਾਮਬੀਨੀ ਸੁਰੱਖਿਅਤ ਹੈ?","FAQ_12_P1":"ਅਸੀਂ ਤੁਹਾਨੂੰ ਯਕੀਨ ਦਿਵਾਉਂਦੇ ਹਾਂ ਕਿ ਸਟ੍ਰੀਮਿਓ $ {1} 100% ਕਲੀਨ $ {On 2} ਹੈ.","FAQ_12_P2":"ਤੁਹਾਡਾ ਐਨਟਿਵ਼ਾਇਰਅਸ ਸ਼ਿਕਾਇਤ ਕਰ ਰਿਹਾ ਹੈ ਕਿਉਂਕਿ ਅਸੀਂ ਆਪਣੇ ਇੰਸਟੌਲਰ ਵਿੱਚ ਇਸ਼ਤਿਹਾਰ ਸ਼ਾਮਲ ਕਰਦੇ ਹਾਂ ਜੋ ਕਿ ਕੁਝ ਐਂਟੀ-ਵਾਇਰਸ ਪ੍ਰੋਗਰਾਮ ਇਸ਼ਤਿਹਾਰਬਾਜ਼ੀ ਵਜੋਂ ਜਾਣਦੇ ਹਨ.","FAQ_12_P3":"ਜੇ ਤੁਸੀਂ ਅਜੇ ਵੀ ਅਨਿਸ਼ਚਿਤ ਹੋ ਤਾਂ ਤੁਸੀਂ ਸਾਡੇ $ {1} ਵਿਕਲਪਿਕ ਸਥਾਪਕ $ {2} ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹੋ.","FAQ_13_H1":"ਮੈਂ ਅਡੇਨ ਕਿਵੇਂ ਬਣਾ ਸਕਦਾ ਹਾਂ?","FAQ_13_P1":"ਸ਼ੁਰੂਆਤ ਦੇ ਲਈ, ਅਸੀਂ ਤੁਹਾਨੂੰ ਗਾਰਡਾਂ ਤੇ * {1} ਐਡਨਸ ਸਿਸਟਮ ਮੋਡੀ module ਲ $ {2} ਦੀ ਜਾਂਚ ਕਰਦੇ ਹਾਂ.","FAQ_13_P2":"ਬਾਅਦ ਵਿਚ ਤੁਸੀਂ $ {1} ਹੈਲੋ ਵਿਸ਼ਵ ਟਿ utorial ਟੋਰਿਅਲ $ {2 ਦੀ ਪਾਲਣਾ ਕਰ ਸਕਦੇ ਹੋ.","FAQ_13_P3":"ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ ਪ੍ਰੋਗਰਾਮਿੰਗ ਹੁਨਰਾਂ ਨਹੀਂ ਹਨ, ਕਿਰਪਾ ਕਰਕੇ ਆਪਣਾ ਦ੍ਰਿਸ਼ਟੀਕੋਣ $ {1} ਰੈਡਡਿਟ ਕਮਿ Community ਨਿਟੀ $ {2} ਤੇ ਪੋਸਟ ਕਰੋ ਅਤੇ ਆਪਣੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋ.","FAQ_14_H1":"ਵਿਗਿਆਪਨ ਕਿਵੇਂ ਪ੍ਰਕਾਸ਼ਤ ਕੀਤੇ ਗਏ ਹਨ?","FAQ_14_P1":"ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਅਡਿਨ ਅਤੇ ਹੋਸਟ ਬਣਾਉਂਦੇ ਹੋ ਅਤੇ ਆਪਣੀ ਮੈਨੀਫੈਸਟ ਵਿੱਚ ਅੰਤਮ ਰੂਪ ਵਿੱਚ ਜਾਂ ਅੰਤਮ ਖੇਤਰ ਵਿੱਚ ਆਪਣੇ ਆਪ ਹੀ adence {1} ਅਦੇਨ ਕੈਟਾਲਾਗ $ {2 ਪ੍ਰਕਾਸ਼ਤ ਕਰੋ.","FAQ_14_P2":"ਇਹ ਇਸ ਲਈ ਹੈ ਕਿਉਂਕਿ ਸਟ੍ਰਾਬੀਓ-ਇਸ਼ਤਿਹਾਰਾਂ ਦਾ ਸਰਵਰ ਆਪਣੇ ਆਪ ਹੀ ਸਾਡੀ ਏਪੀਆਈ ਨੂੰ ਅਡੇਨ ਦਾ ਐਲਾਨ ਕਰਨ ਲਈ ਕਹਿੰਦਾ ਹੈ.ਜਦੋਂ ਸਾਡੇ API ਨੇ ਤੁਹਾਡੇ <ਬੀ> ਪੁਆਇੰਟ ਨੂੰ ਵੈਧ ਅਡਿਨ ਦੇ ਤੌਰ ਤੇ ਪ੍ਰਮਾਣਿਤ ਕੀਤਾ, ਤਾਂ ਇਹ ਕੈਟਾਲਾਗ ਵਿੱਚ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰ ਦੇਵੇਗਾ.","FAQ_15_H1":"ਕੀ ਮੈਂ ਆਪਣੇ ਬ੍ਰਾ? ਜ਼ਰ ਵਿੱਚ ਇੱਕ ਰਫਤਾਰ ਚਲਾ ਸਕਦਾ ਹਾਂ?","FAQ_15_P1":"ਇਸ ਵੇਲੇ ਨਹੀਂ, ਪਰ ਇਹ ਆ ਰਿਹਾ ਹੈ!","FAQ_15_P2":"ਜੇ ਤੁਸੀਂ ਅਲਫ਼ਾ ਨੂੰ ਵੇਖਣ ਲਈ ਉਤਸੁਕ ਹੋ ਤਾਂ ਤੁਸੀਂ ਇੱਥੇ ਵੇਖ ਸਕਦੇ ਹੋ: $ {1} ਅਲਫ਼ਾ 4.strem.io $ {2}.ਇਹ ਯਾਦ ਰੱਖੋ ਕਿ ਸਟ੍ਰੀਮਿੰਗ ਇਸ ਅਲਫ਼ਾ ਤੇ ਅਯੋਗ ਹੈ.ਅਸੀਂ ਕ੍ਰੋਮ ਫਾਇਰਫਾਕਸ ਓਪੇਰਾ ਅਤੇ ਐਜ ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਾਂ.","FAQ_16_H1":"ਕਸਰਤ ਨੂੰ ਕਾਸਟ ਕਰ ਰਹੇ / ਉਪਸਿਰਲੇਖ ਟੀਵੀ ਲਈ ਕੰਮ ਨਹੀਂ ਕਰਦਾ","FAQ_16_P1":"ਟੀਵੀ ਦੀ ਕਾਸਟਿੰਗ ਡੀਐਲਐਨਏ ਤਕਨਾਲੋਜੀ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ ਜੋ ਕਿ ਵੱਖ ਵੱਖ ਟੀਵੀ ਬ੍ਰਾਂਡਾਂ ਅਤੇ ਮਾਡਲਾਂ ਵਿਚਕਾਰ ਬਹੁਤ ਅਨੁਕੂਲ ਹੈ.ਇਸ ਕਾਰਨ ਕਰਕੇ, ਸਾਡੇ ਕੋਲ ਇਸ ਨੂੰ ਹਰ ਕੇਸ ਵਿੱਚ ਟੈਸਟ ਕਰਨ ਦੀ ਯੋਗਤਾ ਨਹੀਂ ਹੈ, ਇਸ ਲਈ ਇਹ ਬਹੁਤ ਦੂਰ ਹੈ.ਇਸ ਦੇ ਬਾਵਜੂਦ, ਅਸੀਂ ਇਸ ਨੂੰ ਲਗਾਤਾਰ ਬਿਹਤਰ ਬਣਾਉਣ \'ਤੇ ਕੰਮ ਕਰ ਰਹੇ ਹਾਂ ਪਰ ਅਸੀਂ ਤੁਹਾਨੂੰ ਉਹ ਸਮਾਂ ਅਨੁਮਾਨ ਨਹੀਂ ਦੇ ਸਕਦੇ ਜਦੋਂ dlna ਤੁਹਾਡੇ ਟੀਵੀ ਨਾਲ ਸਹੀ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰ ਦੇਵੇਗਾ.","FAQ_16_P2":"ਜੇ ਤੁਸੀਂ ਕਾਸਟਿੰਗ ਮੀਨੂ ਵਿੱਚ ਆਪਣਾ ਟੀਵੀ ਵੀ ਨਹੀਂ ਵੇਖਦੇ ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਨੈਟਵਰਕ ਕਨੈਕਸ਼ਨ ਨੂੰ ਅਯੋਗ ਕਰੋ ਅਤੇ ਆਪਣੇ ਰਾ ter ਟਰ ਟੀਵੀ ਅਤੇ ਪੀਸੀ ਰੀਸਟੋਰ ਤੇ ਕਲਿਕ ਕਰੋ","FAQ_16_P3":"ਜੇ ਤੁਸੀਂ ਅਜੇ ਵੀ ਮੁੱਦੇ ਦਾ ਸਾਹਮਣਾ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਆਪਣਾ ਟੀਵੀ ਬ੍ਰਾਂਡ ਅਤੇ ਮਾਡਲ ਜਾਣਕਾਰੀ $ {1 lofficus@stremio.com ਤੇ ਭੇਜ ਕੇ ਸਾਡੀ ਮਦਦ ਕਰ ਸਕਦੇ ਹੋ.","FAQ_16_P4":"ਇਸ ਦੌਰਾਨ ਅਸੀਂ ਕ੍ਰੋਮਾਸਿਡ ਦੀ ਸਿਫਾਰਸ਼ ਕਰਦੇ ਹਾਂ ਕਿ ਕੀ ਅਸੀਂ ਕਿਸੇ ਖੂਹ ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਾਂ ਜਾਂ ਸਿਰਫ਼ ਐਚਡੀਐਮਆਈ ਕੇਬਲ ਦੇ ਨਾਲ ਆਪਣੇ ਕੰਪਿ in ਟਰ ਵਿੱਚ ਜੋੜ ਰਹੇ ਹਾਂ.","FAQ_17_H1":"ਸਟ੍ਰੀਮੀਓ ਫ੍ਰੀਜ਼ ਅਤੇ / ਜਾਂ ਹਾਦਸੇ ਮੈਂ ਕੀ ਕਰ ਸਕਦਾ ਹਾਂ?","FAQ_17_P1":"ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਜੇ ਤੁਸੀਂ IVG ਐਂਟੀ-ਵਾਇਰਸ ਨਾਲ ਵਿੰਡੋਜ਼ 7 ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ: ਇਸ ਸੁਮੇਲ ਨਾਲ ਸਾਨੂੰ ਕੋਈ ਸਮੱਸਿਆ ਹੈ.ਸਮੱਸਿਆ ਆਪਣੇ ਆਪ ਵਿਚ ਇਕ ਵਿਚ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਹੱਲ ਕਰਨ ਦਾ ਕੋਈ ਸਹੀ ਤਰੀਕਾ ਨਹੀਂ ਹੈ.ਬਦਕਿਸਮਤੀ ਨਾਲ, ਐਂਟੀ-ਵਾਇਰਸ ਦਾ ਅਪਵਾਦ ਜਾਂ ਅਯੋਗ ਕੰਮ ਨਹੀਂ ਕਰੇਗਾ.ਸਿਰਫ ਇਕੋ ਇਕ ਚੀਜ਼ ਨੂੰ ਕਿਸੇ ਹੋਰ ਚੀਜ਼ ਨਾਲ ਬਦਲਣਾ ਹੈ.","FAQ_17_P2":"ਜੇ ਇਹ ਸਮੱਸਿਆ ਨਹੀਂ ਹੈ ਬਲਕਿ ਤੁਸੀਂ ਅਜੇ ਵੀ ਵਿੰਡੋਜ਼ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਨਵੀਨਤਮ ਸਰਵਿਸ ਪੈਕ ਨੂੰ ਅਪਡੇਟ ਕਰੋ ਅਤੇ ਆਪਣੇ ਜੀਪੀਯੂ ਡਰਾਈਵਰ ਨੂੰ ਅਪਡੇਟ / ਸਥਾਪਤ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.","FAQ_17_P3":"ਜੇ ਤੁਸੀਂ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਨਹੀਂ ਕਰ ਰਹੇ ਹੋ ਜਾਂ ਤੁਸੀਂ ਮੈਕ ਜਾਂ ਲੀਨਕਸ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ ਤਾਂ ਫਿਰ ਸਾਡੇ ਫੇਸਬੁੱਕ ਸਮੂਹ $ {On 2} \'ਤੇ ਸਮੱਸਿਆ ਦਾ ਸਹੀ ਵੇਰਵਾ ਦਿਓ.","FAQ_18_H1":"ਮੈਂ ਅਡੇਨ ਕਿਵੇਂ ਬਣਾ ਸਕਦਾ ਹਾਂ?","FAQ_18_P1":"ਸ਼ੁਰੂਆਤ ਦੇ ਲਈ, ਅਸੀਂ ਤੁਹਾਨੂੰ ਗਾਰਡਾਂ ਤੇ * {1} ਐਡਨਸ ਸਿਸਟਮ ਮੋਡੀ module ਲ $ {2} ਦੀ ਜਾਂਚ ਕਰਦੇ ਹਾਂ.","FAQ_18_P2":"ਬਾਅਦ ਵਿਚ ਤੁਸੀਂ $ {1} ਹੈਲੋ ਵਿਸ਼ਵ ਟਿ utorial ਟੋਰਿਅਲ $ {2 ਦੀ ਪਾਲਣਾ ਕਰ ਸਕਦੇ ਹੋ.","FAQ_18_P3":"ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ ਪ੍ਰੋਗਰਾਮਿੰਗ ਹੁਨਰਾਂ ਨਹੀਂ ਹਨ, ਕਿਰਪਾ ਕਰਕੇ ਆਪਣਾ ਦ੍ਰਿਸ਼ਟੀਕੋਣ $ {1} ਰੈਡਡਿਟ ਕਮਿ Community ਨਿਟੀ $ {2} ਤੇ ਪੋਸਟ ਕਰੋ ਅਤੇ ਆਪਣੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋ.","FAQ_19_H1":"ਸਟ੍ਰੀਮਿਓ ਡਿਸਕ ਕਿਉਂ ਹੋ ਰਹੀ ਹੈ?","FAQ_19_P1":"ਸਟ੍ਰੀਮਿਓ ਕੋਲ ਇੱਕ ਸਥਾਨਕ ਕੈਸ਼ ਹੈ ਜੋ ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਸਟ੍ਰੀਮ-ਟ੍ਰਿਪ ਕਰਦਾ ਹੈ.","FAQ_19_P2":"ਇਸ ਦੇ ਦੋ ਫਾਇਦੇ ਹਨ: ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਸਪ੍ਰੋਮਿਓ ਨੂੰ ਹੋਰ ਵੀਡੀਓ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਤਾਂ ਜੋ ਨਿਰਵਿਘਨ ਸਟ੍ਰੀਮਿੰਗ ਨੂੰ ਯਕੀਨੀ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ.ਦੂਜਾ, ਇਹ ਵੀਡੀਓ ਨੂੰ ਸਥਾਨਕ ਨਕਦ ਵਿੱਚ ਰੱਖਦਾ ਹੈ ਤਾਂ ਜੋ ਤੁਸੀਂ ਉਨ੍ਹਾਂ ਨੂੰ offline ਫਲਾਈਨ ਵੇਖਣਾ ਜਾਰੀ ਰੱਖ ਸਕੋ.","FAQ_19_P3":"ਸੈੱਟ ਕਰਨ ਵਾਲੇ ਪੈਨਲ ਵਿੱਚ, ਸਟਰੇਮ <ਬੀ> ਕੈਚੇ ਸੈਟਿੰਗਾਂ \'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ.ਸਟ੍ਰਾਬੀਓ ਤੁਹਾਡੀ ਡਿਸਕ ਤੇ ਸੈਟ ਕੀਤੀ ਗਈ ਰਕਮ ਤੇ ਨਿਰਭਰ ਕਰ ਸਕਦੀ ਹੈ (ਜਿਵੇਂ ਕਿ 2 ਜੀਬੀ) ਦੇ ਮਾਮਲੇ ਨਾਲੋਂ ਵੱਡਾ ਨਹੀਂ ਹੁੰਦਾ, ਜਿਸ ਵਿੱਚ ਤੁਸੀਂ ਇਸ ਨੂੰ ਪ੍ਰਵਾਹ ਨਹੀਂ ਕਰ ਰਹੇ.","FAQ_20_H1":"ਨਕਦ ਫੋਲਡਰ ਕਿੱਥੇ ਹੈ?","FAQ_20_P1":"ਇਹ ਵਿੰਡੋਜ਼ \'ਤੇ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਚੁਣੀ ਗਈ ਡਰਾਈਵ ਵਿੱਚ ਇਹ ਇੱਕ ਸਟ੍ਰਾਮਿਓ-ਕਾਸ਼ ਹੈ (e. E: starmio-cache)","FAQ_20_P2":"ਇਹ ~ / ਲਾਇਬ੍ਰੇਰੀ / ਐਪਲੀਕੇਸ਼ਨ ਸਪੋਰਟ / ਸਟ੍ਰੀਮਿਓ / ਸਟ੍ਰੀਮਿਓ-ਕੈਚੇ ਮੈਕੋਸਟ ਤੇ","FAQ_20_P3":"ਲੀਨਕਸ ਇਸ \'ਤੇ ~ / .stremio / spremio-cache ਜਾਂ ~ / ਸਟ੍ਰੀਮਿਓ-ਕੈਚੇ","FAQ_21_H1":"ਮੈਨੂੰ ਇੱਕ ਸਟ੍ਰੀਮਿੰਗ ਸਰਵਰ ਗਲਤੀ ਮਿਲਦੀ ਹੈ, ਮੈਂ ਕੀ ਕਰ ਸਕਦਾ ਹਾਂ?","FAQ_21_P1":"ਜੇ ਤੁਹਾਨੂੰ ਇਹ ਗਲਤੀ ਮਿਲਦੀ ਹੈ ਤਾਂ ਇਸਦਾ ਅਰਥ ਹੈ ਕੁਝ ਚੀਜ਼ਾਂ ਵਿਚੋਂ ਇਕ:","FAQ_21_P2":"1) ਤੁਸੀਂ ਸਾਡੀ $ {1} ਵੈੱਬ ਵਰਜ਼ਨ $ {{2} ਦੁਆਰਾ ਸਹਿਯੋਗੀ ਅਡਿਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਹੇ ਹੋ.ਇਸ ਸਥਿਤੀ ਵਿੱਚ ਤੁਹਾਨੂੰ ਸਾਡੀ ਵੈਬਸਾਈਟ $ {4} ਤੋਂ ਸਾਡੇ ਡੈਸਕਟਾਪ ਵਰਜ਼ਨ ਨੂੰ ਸਥਾਪਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ.","FAQ_21_P3":"2) ਤੁਹਾਡੀ ਸਟ੍ਰੀਮਿਓ ਇੰਸਟਾਲੇਸ਼ਨ ਵਿੱਚ ਕੁਝ ਗਲਤ ਹੈ.ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਸਾਡੇ ਨਵੀਨਤਮ ਡੈਸਕਟਾਪ ਵਰਜ਼ਨ ਨੂੰ $ {1} ਵੈਬਸਾਈਟ $ {2} ਤੋਂ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ.ਜੇ ਇਹ ਤੁਹਾਡੇ ਕੰਪਿ PC ਟਰ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਨਹੀਂ ਕਰਦਾ ਅਤੇ ਐਂਟੀ-ਵਾਇਰਸ ਪ੍ਰੋਗਰਾਮਾਂ ਅਤੇ ਫਾਇਰਵਾਲ ਨੂੰ ਅਯੋਗ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ.ਜੇ ਇਹ ਕੰਮ ਨਹੀਂ ਕਰਦਾ, ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਸਾਨੂੰ ਆਪਣੇ ਫੇਸਬੁੱਕ ਸਮੂਹ $ {{4} ਤੇ ਲਿਖੋ.","FAQ_22_H1":"ਮੈਂ ਆਈਓਐਸ \'ਤੇ ਜ਼ਿਆਦਾਤਰ ਵਿਗਿਆਪਨ ਨਹੀਂ ਦੇਖ ਸਕਦਾ","FAQ_22_P1":"ਐਪਲ ਐਪ ਸਟੋਰ ਦੀਆਂ ਸ਼ਰਤਾਂ ਅਤੇ ਸ਼ਰਤਾਂ ਵਿੱਚ ਪਾਬੰਦੀਆਂ ਦੇ ਕਾਰਨ ਅਸੀਂ ਸਿਰਫ ਇਸ਼ਤਿਹਾਰਾਂ ਦੇ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਸਮੂਹ ਤੇ ਆਈਓਐਸ ਐਪਲੀਕੇਸ਼ਨ ਤੇ ਪਾਬੰਦੀ ਲਗਾ ਦਿੱਤੀ ਹੈ.","FAQ_22_P2":"ਪਰ ਬਾਕੀ ਭਰੋਸੇ ਦੇ ਦਿੱਤਾ ਗਿਆ ਹੈ - ਭਵਿੱਖ ਵਿੱਚ ਆਈਓਐਸ ਲਈ ਵਧੇਰੇ ਇਸ਼ਤਿਹਾਰ ਹੋਣਗੇ ਅਤੇ ਅਸੀਂ ਇੱਕ ਏਕੀਕਰਣ ਵੀ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹਾਂ ਜੋ ਸਟ੍ਰੈਮਿਸ਼ੀ ਸਟ੍ਰੀਮਿੰਗ ਸਰਵਰ ਨੂੰ ਆਈਓਐਸ ਐਪ ਨੂੰ ਜੋੜਨ ਲਈ ਸਾਰੇ ਸਟ੍ਰਿਮਿਓ ਐਡੀਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇਵੇਗਾ."}')},35353:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serial","TYPE_tv":"Program telewizyjny","TYPE_channel":"Kanał","TYPE_other":"Inne","TYPE_movie_PL":"Filmy","TYPE_series_PL":"Seriale","TYPE_tv_PL":"Programy telewizyjne","TYPE_channel_PL":"Kanały","TYPE_other_PL":"Inne","TYPE_ALL":"Wszystko","TYPE":"Typ","CATALOG_com_linvo_cinemeta_top":"Popularne","CATALOG_com_linvo_cinemeta_imdbRating":"Wyróżnione","CATALOG_com_linvo_cinemeta_year":"Nowe","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Filmy z domeny publicznej","VIDEO":"Wideo","BACK":"Wstecz","MORE":"Więcej","DONE":"Gotowe","COPY":"Kopiuj","SUCCESS":"Sukces","ERROR":"Błąd","SETTINGS_CASTING_MODE_PICKER":"Tryb transmisji","CASTING_MODE_HLSV2":"Domyślny","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Bez transkodowania","Discover":"Odkrywaj","Board":"Tablica","Library":"Biblioteka","My Library":"Moja biblioteka","Calendar":"Kalendarz","NOTIFICATION_ONLINE":"Jesteś teraz online","NOTIFICATION_OFFLINE":"Jesteś offline","INTERNET_CONNECTION":"Połączenie internetowe","STORAGE_FULL_TITLE":"Uwaga: pamięć pełna!","STORAGE_FULL_TEXT":"Stremio nie jest w stanie zapisać twoich ustawień lub danych logowania. Spróbuj ponownie uruchomić lub ponownie zainstalować Stremio.","SEARCH":"szukaj","SEARCH_NO_RESULTS":"Nie znaleziono żadnych wyników","SEARCH_EXPLANATION_CONTENT":"Szukaj filmów, seriali, filmów YouTube i kanałów telewizyjnych","SEARCH_EXPLANATION_PEOPLE":"Szukaj aktorów, reżyserów i scenarzystów","SEARCH_PASTE_LINKS":"Wklej adres HTTP lub link Magnet","SEARCH_OR_PASTE_LINK":"Wyszukaj lub wklej link","SEARCH_SUGGESTIONS":"Sugestie wyszukiwania","ADD_TO_LIB":"Dodaj do biblioteki","REMOVE_FROM_LIB":"Usuń z biblioteki","ADDED_TO_LIB":"Dodano do biblioteki","REMOVED_FROM_LIB":"Usunięto z biblioteki","TRAILER":"Zwiastun","WATCH_TRAILER":"Zobacz zwiastun","WATCH_NOW":"Oglądaj","SHOW":"Pokaż","SHOW_MOVIE":"Pokaż film","WATCH_RANDOM":"Obejrzyj losowy","IMDB_RATING":"Ocena IMDb","YEAR":"Rok","DIRECTOR":"Reżyser","WRITER":"Scenarzysta","LEAD_ACTORS":"Główni aktorzy","CAST":"Obsada","CREW":"Ekipa","SHOW_MORE_CAST":"Pokaż więcej »","AIRED":"Wyemitowany","SEASONS":"Sezony","GENRE":"Gatunek","GENRE_ALL":"Wszystkie gatunki","CATALOG":"Katalog","SUMMARY":"Podsumowanie","SHOW_MORE":"Pokaż więcej","SIMILAR":"Podobne","UPCOMING":"Nadchodzące","TBA":"TBA","ENDED":"Zakończony","DURATION":"Czas trwania","FEATURED":"Wyróżnione","METADATA":"Metadane","CATEGORY":"kategoria","LINKS_GENRES":"Gatunki","LINKS_CAST":"Obsada","LINKS_DIRECTORS":"Reżyserzy","SEARCH_VIDEOS":"Szukaj filmów","SEARCH_PLACEHOLDER":"Szukaj lub wklej URL","ADDON":"dodatek","ADDONS":"Dodatki","OFFICIAL":"oficjalny","ADDONS_OFFICIAL":"Oficjalne dodatki Stremio","ADDONS_POPULAR":"Popularne w twojej okolicy","ADDON_FREE":"darmowe","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"subskrypcja","ADDON_STREAM_GEORESTRICTED":"niedostępne w twoim regionie","ADDON_STREAM_OFFLINECACHE":"Pamięć podręczna offline","ADDON_STREAM_LOCALFILE":"Lokalny plik","SHARE_ADDON":"Udostępnij dodatek","AVAILABLE_STREAMS":"Dostępne źródła","NO_STREAM":"Nie ma dostępnych źródeł","ALL_ADDONS":"Wszystko","INSTALL_MORE_ADDONS":"Dla większej ilości źródeł zainstaluj więcej dodatków","STREAM_NOT_SUPPORTED":"Wybrane źródło nie jest dostępne na tej platformie","ADDON_CATALOGUE":"Pokaż wszystkie dodatki »","ADDON_CATALOGUE_MORE":"Więcej dodatków »","REPO_ADDED":"Repozytorium dodane","ADDON_REPO_EXIST_ERR":"Repozytorium już istnieje","ADDON_REPO_ERR":"Wystąpił błąd podczas dodawania kolekcji","ADDON_ADD_ERR":"Wystąpił błąd podczas dodawania dodatku","ERR_ADDON_PROTECTED":"Nie można odinstalować dodatku, ponieważ jest chroniony","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Coś poszło nie tak - uwierzytelnianie mogło się nie powieść","ERR_NOT_COLLECTION_URL":"To nie jest URL kolekcji","ERR_NOT_ADDON_URL":"Nieprawidłowy URL dodatku","ERR_DETECTFROMURL":"Nie odnaleziono dodatku/kolekcji pod tym URL","ADDON_DUPLICATE_WARNING":"Uwaga: powielony dodatek","ADDON_COLLECTION_SET_FAILED":"Synchronizacja zainstalowanych dodatków do twojego konta nie powiodła się","SETTINGS_DATA_EXPORT":"Wyeksportuj dane użytkownika","ADDON_PULL_FAILED":"Synchronizacja zainstalowanych dodatków z twojego konta nie powiodła się","REFRESH_ON_CLICK":"Kliknij, aby spróbować ponownie","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film obecnie w kinach","WATCH_IN_CINEMA":"Obejrzyj film w kinie","IN_THEATER":"W kinach","GET_TICKETS":"Kup bilety","UPCOMING_EPISODE":"Nadchodzący odcinek","UPCOMING_EPISODE_MESSAGE":"Ten odcinek zostanie nadany","MISSING_DATE_EPISODE":"Brak daty odcinka","MISSING_DATE_EPISODE_MESSAGE":"Ten odcinek mógł nie zostać jeszcze wyemitowany","CHANNEL_NOT_SCRAPED":"Ten kanał jeszcze nie został przeszukany.
    Zajrzyj z powrotem za kilka minut.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Dodaj do swojej biblioteki, aby zostać powiadomionym kiedy będzie dostępny.","GET_NOTIFIED_WHEN_AVAILABLE":"Zostaniesz powiadomiony kiedy będzie dostępny.","WARNING_STREAMING_SERVER":"Uwaga: lokalny serwer streamingowy nie został znaleziony. Streamowanie lokalnych plików, YouTube i BitTorrent nie będą dostępne.","WARNING_STREAMING_SERVER_DISMISS":"Odrzuć","WARNING_STREAMING_SERVER_LATER":"Potem","DECODER_WARNING":"Uwaga: ten film może nie być wspierany przez twój sprzęt. Miej na uwadze, że odtwarzanie może być wolne.","GENERIC_ERROR_MESSAGE":"Coś poszło nie tak","TRY_AGAIN":"Spróbuj ponownie","CLEAR_DATA":"Wyczyść dane","PLAYER_ERROR":"Ups, błąd odtwarzacza","PLAYER_ERROR_LOOKSLIKE":"Wygląda na to, że","PLAYER_ORIENTATION":"Orientacja odtwarzacza","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Zablokowana","PLAYER_ORIENTATION_SENSOR_SHORT":"Auto","PLAYER_ORIENTATION_LANDSCAPE":"Orientacja odtwarzacza zablokowana w poziomie","PLAYER_ORIENTATION_SENSOR":"Orientacja odtwarzacza automatyczna (czujnik)","PLAYER_PLAYBACK_SPEED":"Prędkość odtwarzania","PLAYER_PLAYBACK_ERROR":"Błąd odtwarzania, spróbuj ponownie","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Nieznany błąd","PLAYER_PLAYBACK_ERROR_DEFAULT":"Przepraszamy, ten film nie może być odtworzony przez {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Język napisów","PLAYER_SUBTITLES_VARIANTS":"Rodzaje napisów","PLAYER_SUBTITLES_SETTINGS":"Ustawienia napisów","PLAYER_SUBTITLES_DISABLED":"Napisy są wyłączone","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Pozycja pionowa","PLAYER_SUBTITLES_LOADED":"Napisy wczytane","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Wczytano wbudowane napisy","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Wczytano ekskluzywne napisy","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Napisy z {{origin}} załadowane","PLAYER_PLAY":"Odtwarzaj","PLAYER_PAUSE":"Zatrzymaj","PLAYER_NEXT_VIDEO":"Następne Wideo","PLAYER_MUTE":"Wycisz","PLAYER_UNMUTE":"Wyłącz wyciszenie","PLAYER_OPEN_IN_EXTERNAL":"Otwórz w zewnętrznym odtwarzaczu","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Puść na {{device}}","PLAYER_LIVE":"Na żywo","PLAYER_NEXT_VIDEO_TITLE":"Następnie w programie","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Następnie na","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Odrzuć","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Oglądaj teraz","PLAYER_COPY_STREAM_SUCCESS":"Link do streamu został skopiowany do schowka","PLAYER_COPY_STREAM_ERROR":"Nie udało się skopiować linku do streamu","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streamuje z","CASTING_TO":"Transmisja do","NETWORK_STATUS":"Status połączenia","STREAM_SPEED":"Prędkość streamu:","STREAM_BUFFERED":"Zbuforowane:","PEERS_INFO":"Informacje o peerach","PEERS_ACTIVE":"Aktywnych:","PEERS_CONNECTED":"Połączonych:","PEERS_WAITING":"Oczekujących:","TRANSCODING_WARNING":"Uwaga: transkodowanie filmu.","STREAM_LOADING":"ładowanie...","PLAYING_LOCAL":"odtwarzanie lokalnego pliku","PLAYING_CACHE":"odtwarzanie z pamięci podręcznej","WRONG_SUBS":"Złe napisy?","ERR_SUBS_LOADING_TITLE":"Wystąpił błąd podczas ładowania napisów","ERR_SUBS_LOADING":"Nie udało się załadować napisów: to może być problem z dodatkiem, którego używasz, lub z twoim połączeniem sieciowym","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Następujące dodatki do napisów nie załadowały się poprawnie","ERR_CASTING_UPDATE_TITLE":"Nie udało się zaktualizować informacji o urządzeniu zdalnym: serwer streamingowy może być niedostępny","CHOOSE_DEVICE":"Wybierz urządzenie, na którym chcesz oglądać","NO_CAST_DEVICES":"Brak urządzeń do transmisji.","NO_SETTINGS":"Brak dostępnych ustawień.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Napisy","SUBTITLES_CHANGE":"Zmień napisy na ","SUBTITLES_CHANGE_NONE":"Nie ma innych napisów dla tego języka, przepraszamy","SUBTITLES_CHANGE_ACIVE":"Obecnie napisy #{{subtitlesDialog.activeIdx + 1}} są aktywne. Kliknij \\"Kontynuuj\\", aby aktywować napisy #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatywnie,","SUBTITLES_ADJUST_DELAY":"Dopasuj opóźnienie napisów:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"lub użyj przycisków G / H podczas odtwarzania, aby dopasować.","SUBTITLES_ADJUST_DELAY_TIP":"PORADA: możesz używać przycisków G / H podczas odtwarzania, aby dopasować.","SUBTITLES_DELAY":"Opóźnienie napisów:","SUBTITLES_LOADING":"Ładowanie napisów...","SUBTITLES_UNAVAILABLE":"Brak dostępnych zewnętrznych napisów","SUBTITLES_DISABLED":"Wyłączone","EXTERNAL_PLAYER_DISABLED":"Wyłączone","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Zezwalaj na wybór","EXTERNAL_PLAYER_HINT":"Wskazówka: Istnieje ustawienie pozwalające na otwieranie zawsze za pomocą zewnętrznego odtwarzacza","DONT_SHOW_AGAIN":"Nie pokazuj ponownie","SERVICE_INSTALL":"Zainstaluj","AUDIO":"Dźwięk","DEFAULT_LANGUAGE":"Domyślny język","DEFAULT_SECONDARY_LANGUAGE":"Domyślny drugorzędny język","SEASON":"Sezon","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Odcinek","EPISODE_ABBREVIATION":"ODC","SPECIAL":"Bonusowe","SORT":"sortuj","SORT_BY":"Sortuj według","FILTER":"filtruj","SORT_TRENDING":"na czasie","SORT_RECENT":"najnowsze","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"oceny","SORT_WATCHED":"obejrzane","SORT_YEAR":"rok","SELECT":"Select","SELECT_TYPE":"Wybierz typ","SELECT_SORT":"Wybierz sortowanie","SELECT_CATALOG":"Wybierz katalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Wybierz gatunek","SORT_LASTWATCHED":"ostatnio oglądane","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"ilość obejrzeń","SORT_NOTWATCHED":"nie obejrzane","New for You":"Nowe dla ciebie","New Episodes":"Nowe odcinki","New Videos":"Nowe filmy","Recommendations":"Polecane","LIBRARY_RESUME":"Wznów","LIBRARY_PLAY":"Odtwarzaj","LIBRARY_DETAILS":"Szczegóły","LIBRARY_RESUME_DISMISS":"Odrzuć","LIBRARY_CLEAR_PROGRESS":"Wyczyść postęp","LIBRARY_REMOVE":"Usuń","LIBRARY_NOT_LOGGED_IN":"Biblioteka jest dostępna tylko dla zalogowanych użytkowników","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Kalendarz jest dostępny tylko dla zalogowanych użytkowników","NOT_LOGGED_IN_CLOUD":"Dostęp do ulubionych filmów i seriali w dowolnym miejscu i czasie","NOT_LOGGED_IN_RECOMMENDATIONS":"Rekomendacje dostosowane do historii oglądania","NOT_LOGGED_IN_NOTIFICATIONS":"Nigdy więcej nie przegap żadnego odcinka","NOT_LOGGED_IN_CALENDAR":"Zaplanuj swój osobisty kalendarz oglądania","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Wyróżnione","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Zwycięzcy Oscara","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Ten dodatek nie zwrócił zawartości.","DISCOVER_ADULT_WARNING":"Ta treść jest widoczna tylko dla dorosłych. Czy jesteś 18+?","DISCOVER_NOADDON_WARNING":"Uwaga: żaden dodatek Stremio nie jest aktywny dla tego typu. Pokazywanie zapisanych elementów, nic tutaj nie będzie aktualizowane","DISCOVER_LOAD_ERR":"Zawartość nie została załadowana, wystąpił błąd","DISCOVER_ADDON_UNINSTALLED":"Ta zawartość nie jest już dostępna, być może odinstalowano ten dodatek.","UNINSTALL_THIS_ADDON":"Odinstaluj ten dodatek","ERR_ADDON_NOT_INSTALLED":"Ten dodatek nie jest zainstalowany. Zainstalować teraz?","DETAIL_RECEIVE_NOTIF_SERIES":"Otrzymuj powiadomienia o nowych odcinkach","DETAIL_RECEIVE_NOTIF_VIDEOS":"Otrzymuj powiadomienia o nowych filmach","SIDEBAR_SHOW_STREAMS":"Pokaż źródła","RELAUNCH":"Uruchom ponownie teraz!","UPGRADE":"Nowa wersja jest dostępna! Zaktualizuj do najnowszej wersji Stremio","RELOAD_UI":"Przeładuj interfejs użytkownika","MANUAL_UPDATE_TITLE":"Zaktualizuj twoją wersję Stremio","MANUAL_UPDATE_LINE1":"Używasz przestarzałej wersji Stremio, co jest mocno niezalecane.","MANUAL_UPDATE_LINE2":"Proszę zaktualizować tak szybko, jak to możliwe.","BUTTON_UPDATE_LATTER":"Nie teraz","BUTTON_UPDATE_NOW":"Aktualizuj","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonimowy użytkownik","DONT_HAVE_ACC":"Nie masz konta?","HAVE_ACC":"Masz już konto?","PASSWORD":"Hasło","PASSWORD_CONFIRM":"Potwierdź hasło","EMAIL":"E-mail","FB_LOGIN":"Zaloguj się z Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nic nie jest udostępniane bez twojego zezwolenia","FB_NOPOST":"Nic nie upublikujemy w twoim imieniu","OR":"lub","I_ACCEPT":"Akceptuję","I_ACCEPT_BY_CLICKING":"Poprzez kliknięcie powyższego przycisku świadczę, że akceptuję ","TOS":"Warunki Umowy","MUST_ACCEPT_TERMS":"Musisz zaakceptować regulamin","PASSWORDS_NOMATCH":"Podane hasła nie są takie same","SIGN_UP":"Zarejestruj się","SIGN_UP_EMAIL":"Zarejestruj się za pomocą email","CLICK_TO_SIGN_UP":"Kliknij tutaj, aby się zarejestrować.","LOG_IN":"Zaloguj się","LOG_OUT":"Wyloguj się","EXIT_FULLSCREEN":"Wyjdź z trybu pełnoekranowego","ENTER_FULLSCREEN":"Wejdź w tryb pełnoekranowy","PLAY_URL_MAGNET_LINK":"Odtwórz URL/link Magnet","HELP_FEEDBACK":"Pomoc i Opinie","TERMS_OF_SERVICE":"Warunki świadczenia usług","PRIVACY_POLICY":"Polityka Prywatności","ABOUT_STREMIO":"O Stremio","USER_PANEL":"Panel użytkownika","LOGIN_LABEL":"Zaloguj się","GUEST_LOGIN":"Zaloguj się jako gość","GUEST_LOGIN_NOTICE":"Logowanie się jako gość nie jest zalecane. Używanie typowego logowania pozwala Stremio synchronizować twoją Bibliotekę oraz ustawiać powiadomienia o twoich ulubionych serialach/kanałach. Na pewno chcesz kontynuować?","GUEST_LOGIN_NOTICE_2":"Logowanie się jako gość nie jest zalecane - nie będziesz miał możliwości synchronizacji Biblioteki i powiadomień na Tablicy, a to ważne funkcje Stremio. Na pewno chcesz kontynuować?","CLICK_HERE":"kliknij tutaj","WRONG_PASSWORD":"Zły email lub hasło. Jeżeli zapomniałeś swojego hasła, ","SET_A_PASS":"ustaw hasło","RESET_PASSWORD":"Zresetuj hasło","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Zapomniałeś hasła?","EMAIL_USED_WITH_FB":"Ten email jest używany do logowania poprzez Facebook.","INVALID_EMAIL":"Wprowadź poprawny adres email","INVALID_PASSWORD":"Wprowadź poprawne hasło","CONN_ERR":"Błąd połączenia - proszę spróbować ponownie później.\\n\\nJeśli problem wciąż występuje, wyłącz zapory sieciowe/oprogramowanie antywirusowe (szczególnie Bitdefender).","IMPORT_FROM_GUEST":"Importuj Bibliotekę z twojego konta gościa","RECEIVE_UPDATES_EMAIL":"Otrzymuj aktualizacje na swój email od Stremio","LOGIN_FAILED":"Logowanie nieudane.","SIGNUP_FAILED":"Rejestracja nieudana.","SEARCH_FAILED":"Wyszukiwanie nieudane","EMAIL_USED":"Ten email jest już w użyciu.","WAITING_FB_LOGIN":"Logowanie za pomocą Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Odtwórz w zewnętrznym odtwarzaczu","EXTERNAL_REMEMBER_PLAYER":"Czy chcesz zapamiętać swój wybór?","EXTERNAL_ALWAYS_PLAY":"Tak","EXTERNAL_ONLY_ONCE":"Nie","BEST_FIT":"Najlepsze dopasowanie","FIT_SCREEN":"Dopasuj do ekraniu","FILL":"Wypełnij","16:9":"16:9","4:3":"4:3","Original":"Oryginalne","INTRO_TASTE":"Powiedz nam co lubisz","INTRO_TASTE_LONG":"Powiedz nam co zechcialbyś obejrzeć","INTRO_TASTE_PICK":"Wybierz {{interestsRemaining}} zainteresowania","INTRO_TASTE_PICK_MORE":"Wybierz {{interestsRemaining}} więcej zainteresowań","INTRO_TASTE_HELP_US":"Pomóż nam dowiedzieć się więcej o Tobie.","INTRO_TASTE_CHOOSE_THESE":"Wybierz kilka z tych:","INTRO_TASTE_CHOOSE_MIN":"Wybierz przynajmniej 3 kategorie","INTRO_TASTE_CHOOSE_MIN_ERR":"Musisz wybrać przynajmniej 3 kategorie!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Jedzenie i zdrowie","INTRO_TASTE_BEAUTY_FASHION":"Uroda i moda","INTRO_TASTE_NEWS":"Wiadomości","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Nauka i edukacja","INTRO_TASTE_MUSIC":"Muzyka","INTRO_TASTE_TRAVEL":"Podróże","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedia","INTRO_TASTE_DIY":"Poradniki DIY","INTRO_TASTE_TECH":"Technologia","INTRO_TASTE_CINEMA":"Kino","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Wybrany dodatek nie jest wspierany na tej platformie.","ADDON_DISCLAIMER":"Korzystanie z dodatków stron trzecich zawsze podlega odpowiedzialności użytkownika i prawu obowiązującemu w jurysdykcji, w której się znajduje.","ADDON_ACTIVATE":"Aktywować ten dodatek?","ADDON_REPO_ADD":"Adres URL repozytorium dodatków","ADDON_ADD":"Dodaj","INSTALL_ADDON":"Zainstaluj dodatek","ADD_ADDON":"Dodaj dodatek","ADD_ADDON_DESCRIPTION":"Dodatek można dodać za pomocą zewnętrznego linku, który pojawi się w sekcji Zainstalowane dodatki.","PASTE_ADDON_URL":"Wklej adres URL dodatku","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Co nowego?","BUTTON_CONTINUE":"Kontynuuj","BUTTON_ACTIVATE":"Aktywuj","BUTTON_ACTIVATED":"Aktywowany","BUTTON_CANCEL":"Anuluj","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Wyślij","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Odrzuć wszystko","BUTTON_VIEW_ALL":"Zobacz wszystko","BUTTON_SEE_ALL":"Zobacz wszytko","BUTTON_COLOR_TRANSPARENT":"Przezroczysty","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Otwórz w przeglądarce","LIB_EMPTY":"Twoja biblioteka wygląda na pustą. Dowiedz się jak bardzo jest ona przydatna :) ","HOW_START":"Oto jak zacząć:","LIB_EMPTY_CAL":"Twój Kalendarz pokazuje seriale w twojej bibliotece.","HOW_START_CAL":"Tak możesz dodawać seriale:","LIB_EMPTY_BOARD":"Tablica wyświetla powiadomienia & rekomendacje związane z Twoją biblioteką.","HOW_START_BOARD_WAIT":"Dodaj kilka seriali lub filmów to swojej Biblioteki i daj nam trochę czasu na przetworzenie :)","HOW_START_BOARD":"Tak możesz dodawać seriale & filmy:","IMPORT_FB":"Importuj rzeczy, które lubisz z Facebook","IMPORT_TRAKT":"Importuj swoją biblitekę filmów z Trakt","IMPORT_DISCOVER":"Znajdź interesujące rzeczy w Odkrywaj","IMPORT_DISK":"Importuj filmy lub seriale, które posiadasz na swoim lokalnym dysku","PLEASE_CREATE_ACC":"Załóż konto, aby uzyskać dostęp do synchronizacji Biblioteki & Tablicy.","IMPORT_DISCOVER_SIGNUP":"Załóż konto i znajdź interesujące rzeczy w Odkrywaj","IMPORT_DISK_SIGNUP":"Załóż konto i importuj filmy lub seriale, które posiadasz na swoim lokalnym dysku","LIB_EMPTY_CLOUD":"Biblioteka w chmurze","LIB_EMPTY_CLOUD_DESC":"Osobista biblioteka w chmurze zsynchronizowana na wszystkich urządzeniach","LIB_EMPTY_EARLY":"Ranny ptaszek","LIB_EMPTY_EARLY_DESC":"Otrzymuj powiadomienia o nowych odcinkach","LIB_EMPTY_PERSONAL":"Osobiste","LIB_EMPTY_PERSONAL_DESC":"Otrzymuj osobiste rekomendacje","LIB_EMPTY_CALENDAR_DESC":"Zaplanuj swój osobisty kalendarz oglądania","LIB_EMPTY_ALL":"Zarejestruj się, aby uzyskać dostęp do wszystkich tych funkcji:","LIB_EMPTY_BEST":"Zarejestruj się, aby pozyskać najlepsze ze Stremio","LIB_EMPTY_OTHER":"Zarejestruj się, aby włączyć Kalendarz i inne fajne funkcje","CALENDAR_ADDED":"Kalendarz Stremio został dodany do twojego domyślnego systemowego kalendarza.","CALENDAR_ADDED_MSG":"Jeżeli to nie działa, dodaj ten URL do twojego kalendarza manualnie","TRAKT_EXPIRED":"Uwierzytelnianie Trakt wygasło, przejdź do Ustawień i uwierzytelnij ponownie.","TRAKT_REQUIRES_LOGIN":"Błąd Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Musisz się zalogować","TRAKT_IMPORT_WATCHED":"Importuj","THEME":"Motyw","THEME_DEFAULT":"Domyślny","THEME_ADAPTIVE":"Adaptacyjny","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Ustawienia","SETTINGS_NAV_GENERAL":"Ogólne","SETTINGS_NAV_PLAYER":"Odtwarzacz","SETTINGS_NAV_STREAMING":"Odtwarzanie","SETTINGS_NAV_SHORTCUTS":"Skróty","SETTINGS_SHORTCUT_RELOAD_APP":"Przeładuj aplikację","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Otwórz ustawienia","SETTINGS_SHORTCUT_SWITCH_TABS":"Zmień karty","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Przechodzenie między kartami do przodu","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Przechodzenie między kartami do tyłu","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Nawigacja między menu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Przejdź do wyszukiwania","SETTINGS_SHORTCUT_EXIT_BACK":"Wyjdź / Cofnij","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Otwórz menu prędkości odtwarzania","SETTINGS_SHORTCUT_MENU_VIDEOS":"Otwórz menu wideo","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Otwórz ustawienia napisów","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Otwórz menu z Info","SETTINGS_SHORTCUT_FULLSCREEN":"Włącz tryb pełnoekranowy","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Pokaż skróty","SETTINGS_SHORTCUT_PLAY_PAUSE":"Odtwarzaj / Zatrzymaj","SETTINGS_SHORTCUT_VOLUME_UP":"Podgłośnij","SETTINGS_SHORTCUT_VOLUME_DOWN":"Ścisz","SETTINGS_SHORTCUT_SEEK_NEXT":"Przewiń wstecz","SETTINGS_SHORTCUT_SEEK_PREV":"Przewiń do przodu","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Przewiń wstecz","SETTINGS_SHORTCUT_SEEK_FORWARD":"Przewiń do przodu","SETTINGS_SHORTCUT_PLAY_NEXT":"Odtwórz następny odcinek","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Zwiększ rozmiar napisów","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Zmniejsz rozmiar napisów","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Zwiększ opóźnienie napisów","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Zmniejsz opóźnienie napisów","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Włącz pasek boczny","SETTINGS_SHORTCUT_OR":"albo","SETTINGS_SHORTCUT_TO":"do","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Spacja","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Uwierzytelnij","SETTINGS_FACEBOOK_IMPORT":"Importuj","SETTINGS_CALENDAR_SUBSCRIBE":"Subskrybuj","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Język interfejsu","SETTINGS_LAUNCH_STARTUP":"Uruchom przy starcie systemu","SETTINGS_VLC_DEFAULT":"Odtwórz w VLC","SETTINGS_UI_LANGUAGE":"Język interfejsu","SETTINGS_UI_ZOOM":"Powiększenie interfejsu","SETTINGS_FULLSCREEN_EXIT":"Klawisz Escape powoduje wyjście z trybu pełnoekranowego","SETTINGS_GAMEPAD":"Włącz obsługę gamepada","SETTINGS_CLOSE_WINDOW":"Zamyknij aplikację wraz z zamknięciem okna","SETTINGS_SUBTITLES_LANGUAGE":"Domyślny język napisów","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Domyślny rozmiar napisów","SETTINGS_SUBTITLES_BACKGROUND":"Tło napisów","SETTINGS_SUBTITLES_COLOR":"Kolor napisów","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Kolor konturu napisów","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Kolor tła napisów","SETTINGS_SEEK_KEY":"Dzługość przewijania za pomocą strzałek","SETTINGS_SEEK_KEY_SHIFT":"Dzługość przewijania za pomocą strzałek, gdy przytrzymany jest klawisz Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Długość przewijania do tyłu i do przodu","SETTINGS_BINGE":"Automatycznie odtwórz następny odcinek","SETTINGS_NEXT_VIDEO":"Wyświetl powiadomienie o rozpoczęciu następnego odcinka","SETTINGS_NEXT_VIDEO_TRIGGER":"Pokaż powiadomienia o następnym odcinku dla:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Czas trwania powiadomienia o następnym odcinku","SETTINGS_PLAY_IN_BACKGROUND":"Odtwarzanie w tle","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Odtwórz w zewnętrznym odtwarzaczu","SETTINGS_RESIZE":"Automatycznie zmień rozmiar okna przed rozpoczęciem odtwarzania","SETTINGS_OVERRIDE_SERVER":"Nadpisz adres URL serwera streamingowego (zaawansowane)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Adres URL serwera streamingowego: ","SETTINGS_SERVER_AVAILABLE":"Serwer streamingowy jest dostępny.","SETTINGS_SERVER_UNAVAILABLE":"Serwer streamingowy jest niedostępny.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Błąd","SETTINGS_SERVER_CONFIGURE_TITLE":"Konfiguracja adresu URL serwera streamingowego","SETTINGS_SERVER_CONFIGURE_INPUT":"Wprowadź adres URL serwera streamingowego","SETTINGS_SERVER_CACHE_SIZE":"Rozmiar pamięci podręcznej","SETTINGS_SERVER_TORRENT_PROFILE":"Profil torrent","SETTINGS_HTTPS_ENDPOINT":"Streamingowy punkt końcowy HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Profil transkodowania","SETTINGS_USE_BETA":"Użyj wersji Beta programu","SETTINGS_IMPORT_FB":"Importuj z Facebook","SETTINGS_IMPORT_DISK":"Importuj z lokalnego dysku","SETTINGS_IMPORT_TRAKT":"Importuj z Trakt","SETTINGS_PAUSE_MINIMIZED":"Wstrzymaj odtwarzanie po zminimalizowaniu okna","SETTINGS_HWDEC":"Dekodowanie z akceleracją sprzętową","SETTINGS_BACKGROUND":"Odtwarzanie w tle","SETTINGS_SUBSCRIBE_CALENDAR":"Subskrybuj kalendarz","SETTINGS_REQ_EXPORT":"Zażądaj exportu danych","SETTINGS_ACC_DELETE":"Zażądaj usunięcia konta","SETTINGS_CHANGE_PASSWORD":"Zmień hasło","SETTINGS_TOS":"Warunki korzystania z usługi","SETTINGS_SUPPORT":"Skontaktuj się ze wsparciem","SETTING_LANGUAGE":"Język","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Wyloguj z Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Wyloguj z Trakt","SETTINGS_SCAN_FOR_REMOTE":"Zeskanuj kod QR, aby otworzyć pilot sieciowy","SETTINGS_DESKTOP_NOTIFICATIONS":"Powiadomienia na pulpicie","SETTINGS_DATA_SAVER":"Oszczędzanie energii","SETTINGS_LANGUAGE_INTERFACE":"interfejs","SETTINGS_LANGUAGE_SUBS":"domyślne napisy","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Automatyczny wybór ścieżki dźwiękowej","SETTINGS_DEFAULT_AUDIO_TRACK":"Domyślna ścieżka dźwiękowa","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Dźwięk surround","SETTINGS_ACCOUNT":"konto","SETTINGS_PLATFORM":"Platforma","SETTINGS_VERSION":"Wersja","SETTINGS_ABOUT":"O aplikacji","SETTINGS_MPV_WINDOW":"Uruchamiaj odtwarzacz w osobnym oknie (zaawansowane)","SETTINGS_PLAY_IN_EXTERNAL":"Zawsze uruchamiaj wideo w zewnętrznym odtwarzaczu","SETTINGS_STORAGE_BUTTON":"Wyczyść pamięć lokalną","SETTINGS_STORAGE_MODAL_TITLE":"Jesteś pewny?","SETTINGS_STORAGE_MODAL_MESSAGE":"Spowoduje to wyczyszczenie lokalnej pamięci i wylogowanie użytkownika.","SETTINGS_HWDEC_PICKER":"Wybierz ustawienie dekodowania z akceleracją sprzętową","SETTINGS_HW_AUTOMATIC":"Automatyczna","SETTINGS_HW_DISABLED":"Wyłączona","SETTINGS_HW_ACCELERATED":"Akceleracja dekodowania","SETTINGS_HW_FULL":"Pełna akceleracja","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Wyłączone","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Powiadomienie o połączeniu sieciowym","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Adres URL pilota sieciowego","SETTINGS_COPY_REMOTE_URL":"Skopiuj adres URL pilota sieciowego","SETTINGS_REMOTE_URL_COPIED":"Adres URL pilota sieciowego został skopiowany do schowka","SETTINGS_SECTION_SUBTITLES":"Napisy","SETTINGS_SECTION_AUDIO":"Dźwięk","SETTINGS_SECTION_CONTROLS":"Sterowanie","SETTINGS_SECTION_AUTO_PLAY":"Automatyczne odtwarzanie","SETTINGS_SECTION_ADVANCED":"Zaawansowane","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Napisy z dodatków","SUBSPICKER_BLACK_BACKGROUND":"Użyj czarnego tła","SUBSPICKER_VERTICAL_OFFSET":"Przesunięcie pionowe","SUBSPICKER_SIZE":"Rozmiar","SUBSPICKER_DELAY":"Opóźnienie","SUBSPICKER_EMBEDDED_SUBS":"Wbudowane napisy","MOBILE_PRIVACY_POLICY":"Polityka prywatności","MOBILE_CRASH_REPORTING":"Zgłaszanie błędów","MOBILE_ZOOM_TO_FILL":"Powiększ, aby wypełnić ekran","MOBILE_PASSTHROUGH":"Cyfrowe wyjście audio (passthrough)","MOBILE_RUN_LOW_BATTERY":"Praca na niskim poziomie baterii","MOBILE_RUN_FOREGROUND":"Uruchom jako usługę pierwszoplanową","MOBILE_PERFORMANCE":"WYDAJNOŚĆ I STABILNOŚĆ","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"Kod QR wygasa w ","MOBILE_LOG_INTO":"Zaloguj się do swojego konta Stremio ","MOBILE_SCAN_QR":"Zeskanuj kod QR powyżej lub przejdź do ","MOBILE_LINK_ACCOUNT":"Powiąż konto","MOBILE_SPEEDPICKER_CANCEL":"Anuluj","MOBILE_SPEEDPICKER_LABEL":"Wybór prędkości odtwarzania","MOBILE_EMPTY_LIBRARY":"Twoja biblioteka jest pusta","MOBILE_NO_ADDON_ACTIVE":"Żaden dodatek Stremio nie jest aktywny dla tego typu.","MOBILE_ORGANIZER_WARNING":"Aplikacja Stremio Organizer zapewnia ograniczoną funkcjonalność. Aby uzyskać listę źródeł i pełną funkcjonalność Stremio, użyj Stremio na komputerze.","MOBILE_ADDON_LOADING":"wciąż się ładuje","MOBILE_ADDONS_LOADING":"dodatki wciąż się ładują","MOBILE_ADDON":"Dodatek","MOBILE_CONFIGURE_ADDON":"Konfiguracja dodatku","MOBILE_CONFIGURE_ADDON_LABEL":"Skonfiguruj dodatek","MOBILE_ORGANIZER_ADDONS_WARNING":"Aplikacja Stremio Organizer zapewnia ograniczony wybór dodatków. Aby w pełni cieszyć się Stremio, użyj Stremio na komputerze.","MOBILE_DISCONNECT":"Rozłączenie","MOBILE_LOOKING_FOR_DEVICES":"Poszukiwanie urządzeń...","MOBILE_CAST_TO":"Streamuj do","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Usuń konto","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Usunięcie konta nie jest natychmiastowe ze względu na zobowiązania prawne. Po złożeniu wniosku o usunięcie konta będziesz musiał użyć innego adresu e-mail/profilu Facebook, aby utworzyć nowe konto Stremio w przyszłości.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Potwierdź usunięcie konta","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Twoje konto zostało utworzone za pomocą Facebooka. Aby usunąć konto, skorzystaj z naszego portalu użytkownika pod adresem www.stremio.com/login.","MOBILE_DELETE_ACCOUNT_MESSAGE":"Podaj hasło, aby potwierdzić usunięcie konta.","MOBILE_DELETE_ACCOUNT_BUTTON":"Usuń konto","NAVIGATION_ON":"Włącz","NAVIGATION_OFF":"Wyłącz","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Wyrażam zgodę na otrzymywanie informacji marketingowych od Stremio","QUIT":"Zamknij","CONNECTED":"Połączono","AUTHENTICATE":"Uwierzytelnianie","AUTHENTICATING":"Authenticating...","CACHING":"Buforowanie","SETTINGS_CACHING_DRIVE":"Dysk buforujący","ENABLE_LOCAL_FILES_ADDON":"Włącz dodatek plików lokalnych (wymaga restartu)","LOCAL_ADDON_NOT_ENABLED":"Dodatek plików lokalnych nie jest włączony. Kliknij tutaj, aby przejść do ustawień i go włączyć.","ENABLE_REMOTE_HTTPS_CONN":"Włącz zdalne połączenia HTTPS","TORRENT_PROFILE":"Profil torrent","DATA_CACHING":"Buforowanie danych","MAGNET_PARSING":"Analizowanie linku Magnet","January":"Styczeń","February":"Luty","March":"Marzec","April":"Kwiecień","May":"Maj","June":"Czerwiec","July":"Lipiec","August":"Sierpień","September":"Wrzesień","October":"Październik","November":"Listopad","December":"Grudzień","Monday":"Poniedziałek","Tuesday":"Wtorek","Wednesday":"Środa","Thursday":"Czwartek","Friday":"Piątek","Saturday":"Sobota","Sunday":"Niedziela","Action":"Akcja","Comedy":"Komedia","War":"Wojna","Family":"Rodzina","Animation":"Animacja","Adventure":"Przygoda","Fantasy":"Fantasy","Crime":"Kryminał","Mystery":"Tajemnica","Romance":"Romans","Drama":"Dramat","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Muzyka","Biography":"Biografia","Documentary":"Dokument","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Wiadomości","History":"Historia","Game-Show":"Teleturnieje","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film i Rozrywka","Gaming":"Gaming","From TV":"Z TV","Lifestyle":"Lifestyle","Science & Education":"Nauka i Edukacja","Cooking & Health":"Gotowanie i Zdrowie","Beauty & Fashion":"Moda i Uroda","Sports":"Sporty","News & Politics":"Wiadomości i Polityka","How-to & DIY":"Poradniki i DIY","Tech":"Technologia","Automotive":"Motoryzacja","Causes & Non-Profits":"Szczytne cele i Non-Profit","Movies":"Filmy","Uk Live Tv":"Uk Live Tv","Fashion":"Moda","Business News Radio":"Radio wiadomości biznesowych","Business Tv":"Biznesowe Tv","Cars & Auto":"Samochody i auta","Comedy Radio":"Radio komediowe","Lifestyle Radio":"Radio lifestyle","News Tv":"Wiadomości Tv","Food And Wine":"Jedzenie i Wino","Latino Tv":"Latynoska Tv","Shopping Tv":"Zakupy Tv","Religion":"Religia","Kids":"Dzieci","Body & Soul":"Ciało i Dusza","Education":"Edukacja","Indian Tv":"Indyjska Tv","Extreme Sports":"Sporty ekstremalne","Middle Eastern Tv":"Bliski wschód Tv","Celebrity Tv":"Celebryckie Tv","Science Tv":"Naukowe Tv","Bikini babe":"Bikini babe","Outdoors":"Na zewnątrz","German Tv":"Niemieckie Tv","French Tv":"Francuskie Tv","Italian Tv":"Włoskie Tv","Gamer Tv":"Tv dla gracza","Travel":"Podróżowanie","Asian Tv":"Azjatyckie Tv","Entertainment":"Rozrywka","News Radio":"Radio Informacyjne","Music Radio":"Radio Muzyczne","Language Learning":"Nauka języków","Science Radio":"Radio Naukowe","Tech Radio":"Radio Technologiczne","Science & Technology Vod":"Nauka i technologia Vod","new video":"nowe wideo","new episode":"nowy odcinek","new movie":"nowy film","recommended":"polecane","we recommend":"polecamy","offer of the day":"oferta dnia","news":"wiadomości","music video":"teledysk","CTX_SHOW_HOTKEYS":"Pokaż skróty","CTX_DISMISS_NOTIF":"Odrzuć powiadomienie","CTX_DISMISS_ALL":"Odrzuć wszystkie","CTX_SHARE":"Udostępnij","CTX_COPY_SHARE_LINK":"Kopiuj link do udostępnienia.","CTX_COPY_MAGNET_LINK":"Kopiuj link Magnet","CTX_COPY_STREAM_LINK":"Kopiuj link do streamu","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Pobierz film","CTX_DOWNLOAD_SUBS":"Pobierz napisy","CTX_VIEW_ON_YOUTUBE":"Zobacz na Youtube","CTX_SHOW":"Pokaż","CTX_PLAY":"Odtwórz","CTX_PLAY_IN":"Odtwórz w","CTX_PLAY_ON":"Odtwórz na","CTX_WATCH_ON":"Oglądaj na","CTX_WATCH":"Oglądaj","CTX_WATCHED":"Obejrzane","CTX_WATCH_BEGINNING":"Odtwórz od początku","CTX_WATCH_MOBILE":"Odtwórz na urządzeniu mobilnym","CTX_REWIND":"Przewiń do początku","CTX_MARK_WATCHED":"Oznacz jako obejrzane","CTX_MARK_NON_WATCHED":"Oznacz jako nieobejrzane","CTX_MARK_UNWATCHED":"Oznacz jako nieoglądane","CTX_MARK_REST":"Oznacz resztę jako obejrzane","CTX_UNMARK_REST":"Oznacz resztę jako nieobejrzane","CTX_RECEIVE_NEW_NOTIF":"Otrzymuj nowe powiadomienia","CTX_ENABLE_NEW_NOTIF":"Włącz powiadomienia","CTX_DISABLE_NEW_NOTIF":"Wyłącz powiadomienia","CTX_REMOVE_CACHE":"Wyczyść pamięć podręczną","CTX_REMOVE_CACHE_EP":"Usuń odcinek z pamięci podręcznej","CTX_OPEN_CONTAINING":"Otwórz folder zawierający","CTX_REMOVE":"Usuń z Biblioteki","CTX_AVAILABLE_OFFLINE":"Dostępne offline","CTX_PAUSED":"Zatrzymane","CTX_ALWAYS_ON_TOP":"Zawsze na wierzchu","CTX_FULLSCREEN":"Tryb pełnoekranowy","CTX_WRONG_SUBS":"Złe napisy?","CTX_REPORT_ISSUES":"Wyślij raport o błędzie","CTX_COPY":"Kopiuj","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Wklej","CTX_CLEAR":"Wyczyść","CTX_CLEAR_RECENT_SEARCHES":"Wyczyść ostatnie wyszukiwania","HELLO_THERE":"Witaj","HOPE_YOU_ENJOY":"Mamy nadzieję, że Stremio przypadło Ci do gustu i jest już jedną z Twoich ulubionych aplikacji!","WHO_ARE_WE":"Kim jesteśmy? Jesteśmy zespołem, który za tym stoi - dwoma facetami, którzy od trzech lat ciężko pracują każdego dnia, aby uczynić ten produkt coraz lepszym.","SUPPORT_US":"Jeśli lubisz korzystać ze Stremio, jeśli Stremio jest dla Ciebie wartościowe - roznieś wieści!","SPREAD_THE_WORD":"Podziel się teraz ze znajomymi, roznieś wieści o Stremio","MORE_PEOPLE":"Im więcej osób będzie korzystać ze Stremio, tym będzie ono lepsze!","SEND_A_LINK":"Lub wyślij link do naszej strony internetowej","TIP_LOCALFILES":"Wskazówka: możesz przeciągać i upuszczać lokalne pliki wideo do Stremio","ADDON_MY":"Moje dodatki","ADDON_COMMUNITY":"Dodatki społeczności","ADDON_OFFICIAL":"Oficjalne dodatki","ADDON_REPOS":"Repozytoria dodatków","ADDON_SEARCH":"Wyszukaj dodatki","ADDON_INSTALL":"Zainstaluj","ADDON_CONFIGURE":"Konfiguruj","ADDON_UNINSTALL":"Odinstaluj","ADDON_UPGRADE":"Zaktualizuj","ADDON_INSTALLED":"Zainstalowano","ADDON_INSTALLED_MSG":"Dodatek zainstalowany!","ADDON_UPGRADED_MSG":"Dodatek zaktualizowany!","ADDON_UNKNOWN":"Nieznany","ADDON_ERR":"Wystąpił błąd przy instalacji dodatku","ADDON_DISCONNECTED":"Odłączono","ADDON_APP_MISSING":"aplikacja dla tego źródła nie jest zainstalowana. Czy chcesz ją teraz zainstalować?","ADDON_APP_INSTALL":"Zainstaluj","ADDON_PAGE":"Strona dodatku","ADDON_TOP_CONTENT":"Najlepsze z tego dodatku","ADDON_PROVIDES":"Ten dodatek zapewnia:","ADDON_WATCH":"Oglądaj #{types} teraz!","ADDON_WATCH_FREE":"Oglądaj #{types} teraz za darmo!","ADDON_ADDON":"Dodatki","ADDON_SUPPORTED_TYPES":"Obsługiwane typy","ADDON_SUPPORTED_CATALOGS":"Obsługiwane katalogi","ADDON_PROVIDES_DISCOVER":"Więcej #{types} w Odkryj","ADDON_PROVIDES_STREAMS":"Oglądaj #{types}","ADDON_PROVIDES_STREAMS_FREE":"Oglądaj #{types} za DARMO","ADDON_PROVIDES_SUBTITLES":"Napisy dla #{types}","ADDON_CANTDETECT":"Nie mogliśmy wykryć uruchomionego Stremio, więc nie mogliśmy wykryć zainstalowanych dodatków.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Nie znaleziono informacji na ten temat","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Błąd pobierania informacji na ten temat.","ERR_CANT_PARSE_MAGNET":"Nie można przeanalizować Magnetu","ERR_NO_MAGNET_INFOHASH":"Nieprawidłowy info hash dla Magnetu","ERR_NO_FILE_PATH":"Nie można wysłać żądania bez ścieżki do pliku","ERR_NO_TORRENT":"Żaden torrent nie został zwrócony","ERR_NO_SUPPORTERD_FILES":"Nie znaleziono obsługiwanych plików","ERR_OPENING_FILES":"Nie można otworzyć plików zewnętrznych","ERR_INVALID_LINK":"Nieprawidłowy link","ERR_REGISTERED_ONLY":"Ta opcja jest dostępna tylko dla zarejestrowanych użytkowników.","ERR_CLIPBOARD":"Nie można odtwarzać ze schowka","ERR_CLIPBOARD_READ":"Nie można odczytać schowka na tej platformie","ERR_CLIPBOARD_GENERIC":"W schowku nie znaleziono odtwarzalnego adresu URL. Skopiuj adres URL (np. link Magnet) do filmu.","BOARD_CONTINUE_WATCHING":"Kontynuuj oglądanie","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmy wybrane specjalnie dla Ciebie.
    Ten film jest przykładową rekomendacją.","BOARD_EXPLANATION_EPISODES":"Tutaj pojawiają się nowe odcinki Twoich ulubionych seriali.
    Dodaj seriale które oglądasz do swojej biblioteki.","BOARD_EXPLANATION_VIDEOS":"Tutaj pojawiają się nowe filmy Twoich ulubionych kanałów.
    Dodaj kanały YouTube które obserwujesz do swojej biblioteki.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Oglądaj natychmiast","WEBSITE_SLOGAN_ALL":"Wszystkie materiały wideo w jednym miejscu","WEBSITE_SLOGAN_NEW":"Wszystko, co możesz oglądać","WEBSITE_SLOGAN_NEW_NEW":"Wolność streamowania","WEBSITE_WATCH_FROM":"Oglądaj od","WEBSITE_DOWNLOAD":"Pobierz teraz","WEBSITE_DOWNLOAD_FOR":"Pobierz teraz dla","WEBSITE_IS_DESKTOP":"SStremio to aplikacja komputerowa, otwórz tę stronę na komputerze i pobierz ją","WEBSITE_DESKTOP_DEMO_VID":"Wersja demonstracyjna pulpitu","WEBSITE_PAGE_HOME":"Strona główna","WEBSITE_PAGE_FEATURES":"Cechy","WEBSITE_PAGE_ADDONS":"Dodatki","WEBSITE_PAGE_TECH":"Technologia","WEBSITE_PAGE_CREATE_ADDON":"Stwórz dodatek","WEBSITE_PAGE_CONTACTS":"Kontakty","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmy","WEBSITE_TYPE_series_PL":"Seriale","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Kanały","WEBSITE_STREMIO_WHAT_IS":"Stremio to aplikacja, która pomaga organizować i błyskawicznie oglądać ulubione filmy, seriale i kanały telewizyjne.","WEBSITE_FEATURES_WATCH":"Oglądaj natychmiast w HD ","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to
    contact us.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Często zadawane pytania","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Pytania","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"O","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"O Nas","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"Więcej","WEBSITE_LINK_ADDONS":"Dodatki","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Społeczność","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Polityka prywatności","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Twój email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"Zespół","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Funkcjonalność","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Dodatki","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Stwórz dodatek","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Dodatki Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Tapety","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Kontakt","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Twój e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Wiadomość","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"Wyślij","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Dodatki","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science.
    Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Pomóż nam dowiedzieć się więcej o Tobie..","LIFESTYLE":"Lifestyle","SPORTS":"Sporty","FOOD_HEALTH":"Jedzenie i zdrowie","BEAUTY_FASHION":"Moda i uroda","NEWS":"Wiadomości","GAMING":"Gaming","SCIENCE_EDUCATION":"Nauka i edukacja","MUSIC":"Muzyka","TRAVEL":"Podróż","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Komedia","DIY":"Poradniki DIY","TECH":"Technologia","CINEMA":"Kino","CONTINUE":"Kontynuuj","SLOW_LOADING":"POWOLNE ŁADOWANIE?","I_GIVE_UP":"PODDAJĘ SIĘ","LEARN_MORE":"Dowiedz się więcej","POOR_SOURCE":"To źródło jest słabo dostępne, albo twoje połączenie z internetem nie jest wystarczająco szybkie","PICK_CATEGORIES_ERR":"Musisz wybrać przynajmniej 3 kategorie","ADJUST_TIMING":"Dostosuj synchronizację z ","ADJUST_SIZE":"Dostosuj rozmiar z ","SEARCH_ANYTHING":"Możesz wyszukać cokolwiek...","ALL_CATEGORIES":"Wszystkie","SEARCH_CATEGORIES":"Filmy, seriale, YouTube i TV","SEARCH_PERSONS":"Aktorzy, reżyserzy i scenarzyści","SEARCH_PROTOCOLS":"Adresy HTTP i linki Magnet","SEARCH_TYPES":"Linki IMDB / TVDB","WATCHED":"Obejrzane","SHOW_LESS":"Pokaż mniej","LAST_SEARCHES":"Ostatnie wyszukiwania","CLEAR_HISTORY":"Wyczyść historię","CHOOSE_SOME":"WYBIERZ COŚ Z TEGO::","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Nie można było załadować pilota sieciowego","STREMIO_OFFLINE":"Stremio jest offline","STREMIO_EXPENSIVE_CONNECTION":"Wykryliśmy, że twoje połączenie korzysta z danych komórkowych, czy chcesz kontynuować?","USE_DATA":"Użyj danych","WARNING":"Uwaga","MORE_INFO":"Więcej informacji...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Ładowanie...","STREMIO_TV_BACK_TO_LANGUAGES":"Wróć do języków","STREMIO_TV_REMOTE":"Pilot sieciowy","STREMIO_TV_GO_TO":"Przejdź do:","STREMIO_TV_OR_SCAN":"lub zeskanuj:","STREMIO_TV_ADDON_INSTRUCTIONS":"Podążaj zgodnie z instrukcjami w aby zainstalować preferowane dodatki.","STREMIO_TV_LIVE_TV":"Telewizja na żywo","STREMIO_TV_RESUME_WATCHING":"Wznów oglądanie","STREMIO_TV_LOADING_BACKGROUND":"Ładowanie tła","STREMIO_TV_CHECKING_AUTHENTICATION":"Sprawdzanie uwierzytelnienia","STREMIO_TV_LOADING_BOARD":"Ładowanie tablicy","STREMIO_TV_LOGIN_HEADER_LINE_1":"Chcemy, aby nasi użytkownicy mieli najlepsze możliwe doświadczenie z naszym oprogramowaniem.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Z tego powodu uprzejmie prosimy o utworzenie i/lub zalogowanie się na swoje konto.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Dziękujemy za zrozumienie,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Zespół Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Aby skorzystać z pilota sieciowego na twoim Smartfonie / Tablecie / Komputerze:","STREMIO_TV_WIFI_SETUP":"Ustawienia Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle nie wykrył połączenia internetowego.","STREMIO_TV_WIFI_DETAILS_1":"Połącz z:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Użyj hasła:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Otwórz przeglądarkę internetową z linkiem:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Domyślny","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Po ostatnio oglądanych","STREMIO_TV_LIBRARY_SORT_NAME":"Po nazwie","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Po nazwie malejąco","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Po ilości obejrzeń","STREMIO_TV_LIBRARY_SORT_WATCHED":"Po obejrzanych","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Po nie obejrzanych","STREMIO_TV_DETAILS_SEASON_NUMBER":"Sezon ${1}","STREMIO_TV_STREAMS_LOADING":"Załadowano ${1} z ${2} dodatków...","STREMIO_TV_STREAMS_STILL_LOADING":"Dodatek ${1} jeszcze się ładuje...","STREMIO_TV_PLAYER_SETTINGS":"Ustawienia odtwarzacza","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Opóźnienie napisów","STREMIO_TV_PLAYER_AUDIO_DELAY":"Opóźnienie dźwięku","STREMIO_TV_PLAYER_VIDEO_SCALING":"Skalowanie wideo","STREMIO_TV_PLAYER_CHAPTERS":"Rozdziały","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Pomiń ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nieobsługiwane źródło streamu","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Nie udało się otworzyć linku zewnętrznego","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Brak możliwości regulacji w trybie audio passthrough","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Odtwórz za pomocą ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Odtwórz za pomocą libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Przełączanie na odtwarzacz libVLC z powodu błędu odtwarzania","STREMIO_TV_ADDONS_TITLE":"Użyj Stremio na telefonie lub komputerze, aby zainstalować lub skonfigurować dodatki a następnie naciśnij \\"Synchronizuj dodatki\\"","STREMIO_TV_ADDONS_SUBTITLE":"Notka: upewnij się, że używasz tego samego konta Stremio na obu urządzeniach","STREMIO_TV_ADDONS_SYNC_ADDONS":"Zsynchronizuj dodatki","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Pomyślnie zsynchronizowano dodatki","STREMIO_TV_ADDONS_SYNC_FAILED":"Nie udało się zsynchronizować dodatków.","STREMIO_TV_META_LINK_FAILED":"Nie udało się otworzyć linku meta.","STREMIO_TV_CATALOG_LOADING":"Katalog wciąż się ładuje...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Zaktualizowano język interfejsu","STREMIO_TV_SETTINGS_THEME_UPDATED":"Zaktualizowano motyw","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Domyślny odtwarzacz","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Zewnętrzny odtwarzacz","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferowany język","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Drugorzędny preferowany język","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Odtwarzanie tunelowe","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Możliwe problemy z odtwarzaniem na niektórych urządzeniach","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Niektóre formaty wideo mogą nie działać","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Dopasowanie liczby klatek na sekundę","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Wyłączony","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Tylko liczba klatek na sekundę","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Liczba klatek na sekundę i rozdzielczość","STREMIO_TV_SETTINGS_NO_CACHING":"Bez pamięci podręcznej","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Domyślny","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Miękki","STREMIO_TV_SETTINGS_PROFILE_FAST":"Szybki","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra szybki","STREMIO_TV_SETTINGS_SERVER_URL":"URL serwera streamingowego","STREMIO_TV_SETTINGS_SERVER_VERSION":"Wersja Serwera","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Nieznany","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Wersja Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edytuj URL serwera","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Wprowadź adres URL serwera streamingowego","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Wyświetlaj statystyki podczas ładowania","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Aby zapoznać się z Polityką Prywatności Stremio, odwiedź stronę:","STREMIO_TV_SETTINGS_TOS_TEXT":"Aby zapoznać się z Regulaminem Stremio, odwiedź stronę:","STREMIO_TV_NAV_SEARCH":"Wyszukaj","STREMIO_TV_NAV_HOME":"Strona Główna","STREMIO_TV_NAV_DISCOVER":"Odkryj","STREMIO_TV_NAV_LIBRARY":"Biblioteka","STREMIO_TV_NAV_MOVIES":"Filmy","STREMIO_TV_NAV_SERIES":"Seriale","STREMIO_TV_NAV_CHANNELS":"Kanały","STREMIO_TV_NAV_TV":"Telewizja","STREMIO_TV_NAV_SETTINGS":"Ustawienia","STREMIO_TV_NAV_ADDONS":"Dodatki","STREMIO_TV_LOGIN_TITLE":"Powiązanie konta","STREMIO_TV_LOGIN_EXPIRES_IN":"Wygasa za","STREMIO_TV_LOGIN_STEP_ONE":"Zeskanuj kod QR powyżej lub przejdź do","STREMIO_TV_LOGIN_STEP_TWO":"Zaloguj się do swojego konta Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Wygeneruj nowy link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Kod logowania odświerzony","STREMIO_TV_SEARCH_PLACEHOLDER":"Wpisz cokolwiek","STREMIO_TV_SEARCH_NO_ADDONS":"Nie zażądano żadnych dodatków do katalogów!","STREMIO_TV_SEARCH_BUTTON":"Szukaj","STREMIO_TV_SEARCH_KEY_DEL":"Usuń","STREMIO_TV_SEARCH_KEY_SPACE":"Spacja","STREMIO_TV_SEARCH_KEY_CLEAR":"Wyczyść","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historia wyszukiwania","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Możesz wyszukać tytuł, aktora, kanał i więcej...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Wyczyść historię wyszukiwania","STREMIO_TV_FILTERS_DESCRIPTION":"Wybierz jeden z poniższych filtrów","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Serwer streamingowy jest offline. Sprawdź ustawienia serwera.","FILTERS":"Filtry","SETTINGS":"Ustawienia","ACCOUNT":"Konto","LOGOUT":"Wyloguj","THEMES":"Motywy","PLAYBACK":"Odtwarzanie","PLAYBACK_SPEED":"Prędkość odtwarzania","AUDIO_TRACKS":"Ścieżki dźwiękowe","UNKNOWN_TRACK_LANG":"Nieznany","VIDEOS":"Filmy","SERVER":"Serwer","LINKS":"Linki","ABOUT":"O","INTERFACE":"Interfejs","ANIMATIONS":"Animacje","STATUS":"Status","LANGUAGE":"Język","SIZE":"Rozmiar","DELAY":"Opóźnienie","BOLD":"Pogrubienie","OPACITY":"Przezroczystość","TEXT_COLOR":"Kolor tekstu","OUTLINE_COLOR":"Kolor konturu","BACKGROUND_COLOR":"Kolor tła","BACKGROUND_BLUR":"Rozmycie tła","SEEK_TIME_DURATION":"Długość przewijania","AUTO_PLAY":"Automatycznie uruchom następny odcinek","PLAY_NOW":"Odtwórz","MARK_AS_WATCHED":"Oznacz jako obejrzane","MARK_AS_UNWATCHED":"Oznacz jako nieobejrzane","REWIND_TO_BEGINNING":"Od początku","CONTINUE_WATCHING":"Kontynuuj oglądanie","ALL":"Wszystko","SECONDS":"sekundy","ON":"Wł.","OFF":"Wył.","RELOAD":"Przeładuj","EDIT_URL":"Edytuj URL","URL":"URL","NONE":"Brak","EMBEDDED":"Wbudowany","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Zmień urządzenie","REMOTE_VIDEOS":"Filmy","REMOTE_ADJUST_TIMING":"Dostosuj synchronizację","REMOTE_ADJUST_SIZE":"Dopasuj rozmiar","REMOTE_COULD_NOT_BE_LOADED":"Nie można załadować pilota sieciowego ","REMOTE_RETRY":"Spróbuj ponownie","TORRENT_PROFILE_DEFAULT":"Domyślny","TORRENT_PROFILE_SOFT":"Miękki","TORRENT_PROFILE_FAST":"Szybki","TORRENT_PROFILE_ULTRA_FAST":"Ultra szybki","MB_S":"MB/s","FAQ_001_H1":"Czym jest Stremio?","FAQ_001_P1":"Stremio to oprogramowanie media center przeznaczone do rozrywki wideo z myślą o łatwości użytkowania. Stremio pozwala organizować & oglądać własną kolekcję filmów, seriali, kanałów i telewizji na żywo.","FAQ_001_P2":"Stremio zbiera wyświetlane treści z dysku lokalnego i naszego systemu dodatków.","FAQ_001_P3":"Powiadomi Cię również, gdy pojawią się nowe odcinki / filmy / filmy, którymi jesteś zainteresowany, i przedstawi Ci rekomendacje filmowe","FAQ_02_H1":"Jak Stremio wypada w porównaniu z Kodi i Plex?","FAQ_02_P1":"Inspirujemy się tymi dwoma oprogramowaniami. Ale mamy inne cele - Stremio jest specjalnie ukierunkowane na rozrywkowe wideo i dąży do tego, aby stać się głównym rozwiązaniem w tym zakresie, będąc bardzo łatwym w użyciu.","FAQ_02_P2":"Stremio nigdy nie będzie tak konfigurowalne i bogate w funkcje jak Kodi i Plex, ale jest znacznie łatwiejsze w użyciu. Po prostu ${1} pobierz i zobacz ${2} :)","FAQ_03_H1":"Jak Stremio wypada w porównaniu do Netflix?","FAQ_03_P1":"Ponownie, Netflix jest jedną z naszych inspiracji. Staramy się osiągnąć doświadczenie użytkownika Netflix, plus wiele dodatkowych korzyści. Ale co najważniejsze, dajemy ci swobodę zarządzania własną biblioteką i dodawania nowych źródeł treści za pomocą naszego systemu dodatków.","FAQ_03_P2":"To sprawia, że Stremio można rozszerzać w nieskończoność, więc kiedy korzystasz ze Stremio, nigdy nie jesteś ograniczony do treści, które Netflix zdecyduje się licencjonować. Na przykład, za pośrednictwem Stremio można oglądać treści z ${1} Filmon.tv${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8}, a nawet samego ${9}Netflix${10}!","FAQ_04_H1":"Jak Stremio wypada w porównaniu do Flipboard?","FAQ_04_P1":"Nie otrzymujemy tego pytania zbyt często, z wyjątkiem rozmów z osobami rozpoczynającymi działalność :)","FAQ_04_P2":"Stremio jest z założenia agregatorem treści, co zasadniczo czyni go Flipboardem dla wideo. Jest to bardzo widoczne w naszej sekcji Board, która zapewnia katalogi i powiadomienia o nowych odcinkach / nowych filmach dla tego, co obserwujesz, podobnie jak Flipboard.","FAQ_05_H1":"Jak Stremio wypada w porównaniu do Popcorn Time?","FAQ_05_P1":"Stremio i Popcorn Time są podobne pod względem interfejsu użytkownika, ponieważ nie ma wielu sposobów na prawidłowe katalogowanie rozrywki wideo :)","FAQ_05_P2":"Ale podczas gdy Popcorn Time koncentruje się na strumieniowaniu torrentów z określonych źródeł, Stremio jest nieograniczony i jest jedynie agregatorem treści - nie jest zablokowany na określonym źródle treści.","FAQ_05_P3":"Co więcej, domyślnie nie zapewniamy żadnych dodatków torrentowych, więc Stremio nie obejmuje przypadku użycia Popcorn Time z oficjalną funkcjonalnością.","FAQ_05_P4":"Kolejną znaczącą różnicą jest to, że Popcorn Time jest całkowicie open source, podczas gdy Stremio jest ${1} częściowo open source${2}.","FAQ_06_H1":"Czy dodasz ten film/serial?","FAQ_06_P1":"Nie, przykro nam :(","FAQ_06_P2":"Jak wspomniano w większości innych pytań, Stremio nie dostarcza żadnych treści samodzielnie - wszystko jest dodawane za pośrednictwem systemu dodatków. Jeśli masz prośbę o zawartość, możesz użyć przycisku Zgłoś w odtwarzaczu, który wyśle wiadomość e-mail do autora dodatku, którego aktualnie używasz.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Czy stworzysz dodatek dla X?","FAQ_08_P1":"Jest to całkowicie możliwe.","FAQ_08_P2":"Jeśli masz pomysł na dodatek, napisz do nas na adres ${1}office@stremio.com${2}, ale upewnij się, że twój pomysł na dodatek nie naruszy żadnych praw autorskich ani warunków użytkowania.","FAQ_08_P3":"W chwili obecnej kolejnymi rzeczami na naszej mapie drogowej są dodatki dla FandangoNOW, Filmon.tv wideo na żądanie i Crunchyroll.","FAQ_09_H1":"Czy Stremio korzysta z BitTorrenta?","FAQ_09_P1":"Tak, Stremio obsługuje BitTorrent jako protokół strumieniowania. Można tego użyć za pomocą dodatku torrent lub przeciągając i upuszczając plik .torrent do Stremio lub wklejając link magnetyczny do paska wyszukiwania.","FAQ_09_P2":"Należy pamiętać, że jedynym oficjalnym dodatkiem korzystającym z BitTorrent jest ${1}Vodo${2}, który zapewnia zawartość niezależną, dozwoloną do dystrybucji za pomocą BitTorrent.","FAQ_09_P3":"Nie wspieramy korzystania z żadnych dodatków innych firm, które mogą umożliwiać naruszanie praw autorskich.","FAQ_10_H1":"Co mogę oglądać w Stremio za pomocą oficjalnych dodatków?","FAQ_10_P1":"Domyślnie można oglądać treści Filmon.tv, YouTube i Vodo w samym Stremio, za pomocą wbudowanego odtwarzacza. Dodatkowo mamy dodatek dla Twitch.tv i kilku innych.","FAQ_10_P2":"To połączenie zapewnia wybór:","FAQ_10_L1":"Popularne kanały telewizyjne, dostarczane przez Filmon.tv - na przykład E4, BBC, Bollyworld TV","FAQ_10_L2":"Wszystko z YouTube - na przykład BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which do not play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio nie instaluje się, co powinienem zrobić?","FAQ_11_P1":"Jeśli korzystasz z systemu Windows, wypróbuj ${1}ten alternatywny instalator${2}","FAQ_11_P2":"Jeśli korzystasz z systemu Mac OS X, pamiętaj, że nie obsługujemy niczego starszego niż OS X Mavericks (10.9).","FAQ_11_P3":"Jeśli korzystasz z systemu Linux, pamiętaj, że obecnie obsługujemy tylko 64-bitowy (x64) system Linux.","FAQ_11_P4":"Jeśli nadal nie możesz rozwiązać swojego problemu, napisz do nas na naszej grupie ${1}Facebook${2}.","FAQ_12_H1":"Dlaczego mój antywirus narzeka? Czy Stremio jest bezpieczne?","FAQ_12_P1":"Zapewniamy, że Stremio jest ${1}100% czyste${2}.","FAQ_12_P2":"Twój program antywirusowy narzeka, ponieważ dołączamy reklamy do naszego instalatora, które niektóre programy antywirusowe rozpoznają jako ad-ware.","FAQ_12_P3":"Jeśli nadal nie masz pewności, możesz wypróbować nasz ${1}alternatywny instalator ${2}","FAQ_13_H1":"Jak mogę stworzyć dodatek?","FAQ_13_P1":"Na początek zalecamy sprawdzenie naszego modułu systemowego ${1}addons${2} na GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a endpoint field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your endpoint as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Należy pamiętać, że streaming jest wyłączony w tej wersji alfa. Obsługujemy przeglądarki Chrome, Firefox, Opera i Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a local cache to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the Cache setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},43157:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filme","TYPE_series":"Série","TYPE_tv":"Canal de TV","TYPE_channel":"Canal","TYPE_other":"Outros","TYPE_movie_PL":"Filmes","TYPE_series_PL":"Séries","TYPE_tv_PL":"Canais de TV","TYPE_channel_PL":"Canais","TYPE_other_PL":"Outros","TYPE_ALL":"Todos","TYPE":"Tipo","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Em destaque","CATALOG_com_linvo_cinemeta_year":"Novidades","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Filmes de domínio público","VIDEO":"Vídeo","BACK":"Voltar","MORE":"Mais","DONE":"Concluído","COPY":"Copiar","SUCCESS":"Sucesso","ERROR":"Erro","SETTINGS_CASTING_MODE_PICKER":"Modo de transmissão","CASTING_MODE_HLSV2":"Padrão","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Sem transcodificação","Discover":"Descubra","Board":"Painel","Library":"Biblioteca","My Library":"Minha Biblioteca","Calendar":"Calendário","NOTIFICATION_ONLINE":"Você está online","NOTIFICATION_OFFLINE":"Você está offline","INTERNET_CONNECTION":"Conexão de rede","STORAGE_FULL_TITLE":"Aviso: Disco cheio!","STORAGE_FULL_TEXT":"Stremio não será capaz de salvar suas configurações, preferências ou informações de login. Considere reiniciar ou reinstalar o Stremio.","SEARCH":"Buscar","SEARCH_NO_RESULTS":"Nenhum resultado encontrado","SEARCH_EXPLANATION_CONTENT":"Procure por filmes, séries, canais do YouTube e da TV","SEARCH_EXPLANATION_PEOPLE":"Procure por atores, diretores e escritores","SEARCH_PASTE_LINKS":"Cole links HTTP ou Magnéticos","SEARCH_OR_PASTE_LINK":"Buscar ou colar link","SEARCH_SUGGESTIONS":"Buscar sugestões","ADD_TO_LIB":"Adicionar à Biblioteca","REMOVE_FROM_LIB":"Remover da Biblioteca","ADDED_TO_LIB":"Adicionado à Biblioteca","REMOVED_FROM_LIB":"Removido da Biblioteca","TRAILER":"Trailer","WATCH_TRAILER":"Assistir ao Trailer","WATCH_NOW":"Assistir Agora","SHOW":"Mostrar","SHOW_MOVIE":"Exibir filme","WATCH_RANDOM":"Assistir Aleatoriamente","IMDB_RATING":"Avaliação IMDB","YEAR":"Ano","DIRECTOR":"Diretor","WRITER":"Escritor","LEAD_ACTORS":"Atores Principais","CAST":"Elenco","CREW":"Equipe técnica","SHOW_MORE_CAST":"Mostrar mais »","AIRED":"Foi ao ar em","SEASONS":"Temporadas","GENRE":"Gêneros","GENRE_ALL":"Todos os gêneros","CATALOG":"Catálogo","SUMMARY":"Resumo","SHOW_MORE":"Mostrar mais","SIMILAR":"Parecidos","UPCOMING":"Próximos","TBA":"TBA","ENDED":"Finalizados","DURATION":"Duração","FEATURED":"Destaque","METADATA":"Dados de Descrição","CATEGORY":"Categoria","LINKS_GENRES":"Gêneros","LINKS_CAST":"Elenco","LINKS_DIRECTORS":"Diretores","SEARCH_VIDEOS":"Pesquisar vídeos","SEARCH_PLACEHOLDER":"Buscar ou colar links","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"Oficial","ADDONS_OFFICIAL":"Addons Oficiais do Stremio","ADDONS_POPULAR":"Populares na sua região","ADDON_FREE":"Gratuito","ADDON_PEERED":"pareado","ADDON_SUBSCRIPTION":"assinatura","ADDON_STREAM_GEORESTRICTED":"indisponível na sua área","ADDON_STREAM_OFFLINECACHE":"Cache Offline","ADDON_STREAM_LOCALFILE":"Arquivo Local","SHARE_ADDON":"Compartilhar Addon","AVAILABLE_STREAMS":"Transmissões Disponíveis","NO_STREAM":"Nenhuma transmissão encontrada","ALL_ADDONS":"Todos","INSTALL_MORE_ADDONS":"Para mais transmissões, por favor instale mais Addons","STREAM_NOT_SUPPORTED":"A transmissão selecionada não é suportada nesta plataforma.","ADDON_CATALOGUE":"Mostrar todas os Addons »","ADDON_CATALOGUE_MORE":"Instalar Addons","REPO_ADDED":"Repositório adicionado","ADDON_REPO_EXIST_ERR":"Este repositório de Addons já existe","ADDON_REPO_ERR":"Ocorreu um erro ao adicionar o repositório","ADDON_ADD_ERR":"Ocorreu um erro ao adicionar o Addon","ERR_ADDON_PROTECTED":"Não é possível desinstalar o Addon, ele está protegido","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Algo deu errado - a autenticação pode ter falhado","ERR_NOT_COLLECTION_URL":"Não é uma URL de coleção","ERR_NOT_ADDON_URL":"Não é uma URL de Addon válida","ERR_DETECTFROMURL":"Não foi possível encontrar um Addon/coleção para essa URL","ADDON_DUPLICATE_WARNING":"Aviso: Addon duplicado","ADDON_COLLECTION_SET_FAILED":"Falha ao sincronizar seus Addons instalados com sua conta","SETTINGS_DATA_EXPORT":"Exportar dados","ADDON_PULL_FAILED":"Falha ao sincronizar Addons instalados de sua conta","REFRESH_ON_CLICK":"Clique para tentar novamente","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Filme ainda em exibição","WATCH_IN_CINEMA":"Assista no cinema mais próximo","IN_THEATER":"No cinema","GET_TICKETS":"Obter ingressos","UPCOMING_EPISODE":"Próximo episódio","UPCOMING_EPISODE_MESSAGE":"Esse episódio irá ao ar em","MISSING_DATE_EPISODE":"Sem data do episódio","MISSING_DATE_EPISODE_MESSAGE":"Esse episódio pode não ter ido ao ar ainda","CHANNEL_NOT_SCRAPED":"Este canal ainda não foi extraído.
    Por favor, retorne em alguns minutos.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Adicione à sua biblioteca para receber notificações quando estiver disponível.","GET_NOTIFIED_WHEN_AVAILABLE":"Você será notificado quando estiver disponível.","WARNING_STREAMING_SERVER":"Atenção: servidor local de transmissão não encontrado. Transmissões de arquivos locais, YouTube e BitTorrent não estarão disponíveis.","WARNING_STREAMING_SERVER_DISMISS":"Dispensar","WARNING_STREAMING_SERVER_LATER":"Mais tarde","DECODER_WARNING":"Aviso: este vídeo pode não ser suportado pelo seu hardware. Tenha em mente que a reprodução pode ser lenta.","GENERIC_ERROR_MESSAGE":"Alguma coisa deu errado!","TRY_AGAIN":"Tente novamente","CLEAR_DATA":"Limpar dados","PLAYER_ERROR":"Ops, ocorreu um erro no reprodutor de mídia","PLAYER_ERROR_LOOKSLIKE":"Parece que","PLAYER_ORIENTATION":"Orientação do reprodutor de mídia","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Travado","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Reprodutor de mídia travado para o modo paisagem","PLAYER_ORIENTATION_SENSOR":"Reprodutor de mídia automático (sensor)","PLAYER_PLAYBACK_SPEED":"Velocidade de reprodução","PLAYER_PLAYBACK_ERROR":"Erro de reprodução, tente novamente","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Erro desconhecido","PLAYER_PLAYBACK_ERROR_DEFAULT":"Desculpe, esse vídeo não poder ser reproduzido por {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Idiomas das Legendas","PLAYER_SUBTITLES_VARIANTS":"Variantes das Legendas","PLAYER_SUBTITLES_SETTINGS":"Configurações das Legendas","PLAYER_SUBTITLES_DISABLED":"Legendas desativadas","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posição vertical","PLAYER_SUBTITLES_LOADED":"Legendas carregadas","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Legendas incorporadas carregadas","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Legendas exclusivas carregadas","PLAYER_SUBTITLES_LOADED_LOCAL":"Legendas locais carregadas","PLAYER_SUBTITLES_LOADED_ORIGIN":"Legendas de {{origin}} carregadas","PLAYER_PLAY":"Reproduzir","PLAYER_PAUSE":"Pausar","PLAYER_NEXT_VIDEO":"Próximo Vídeo","PLAYER_MUTE":"Mudo","PLAYER_UNMUTE":"Som","PLAYER_OPEN_IN_EXTERNAL":"Abrir em reprodutor externo","PLAYER_OPEN_IN_NPLAYER":"Abrir pelo nPlayer","PLAYER_PLAY_IN":"Reproduzir em {{device}}","PLAYER_LIVE":"Ao vivo","PLAYER_NEXT_VIDEO_TITLE":"A seguir","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Próximo","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dispensar","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Assistir agora","PLAYER_COPY_STREAM_SUCCESS":"Link do stream copiado para a área de transferência","PLAYER_COPY_STREAM_ERROR":"Falha ao copiar o link do stream","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Link de download copiado para a área de transferência","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Falha ao copiar o link de download","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Transmitindo de","CASTING_TO":"Transmitindo para","NETWORK_STATUS":"Estado da rede","STREAM_SPEED":"Velocidade da transmissão:","STREAM_BUFFERED":"Carregado:","PEERS_INFO":"Informações dos Pares","PEERS_ACTIVE":"Ativo:","PEERS_CONNECTED":"Conectado:","PEERS_WAITING":"Aguardando:","TRANSCODING_WARNING":"Atenção: transcodificando vídeo.","STREAM_LOADING":"Carregando...","PLAYING_LOCAL":"Reproduzir de um arquivo local","PLAYING_CACHE":"Reproduzir a partir do cache","WRONG_SUBS":"Legendas erradas?","ERR_SUBS_LOADING_TITLE":"Erro ao carregar a legenda","ERR_SUBS_LOADING":"Falha ao carregar as legendas: Isso pode ser um problema com seu Addon ou sua conexão de rede","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Os seguintes Addons de legenda falharam","ERR_CASTING_UPDATE_TITLE":"Não foi possível atualizar as informações do dispositivo de transmissão: o servidor de transmissão pode estar offline","CHOOSE_DEVICE":"Escolha um dispositivo para assistir","NO_CAST_DEVICES":"Sem dispositivos de transmissão disponíveis.","NO_SETTINGS":"Configurações não disponíveis.","NO_OPTIONS":"No options available","PHONE_TABLET":"Smartphone / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Legendas","SUBTITLES_CHANGE":"Modificar legendas para ","SUBTITLES_CHANGE_NONE":"Não há outra legenda para este idioma, desculpe.","SUBTITLES_CHANGE_ACIVE":"A legenda #{{subtitlesDialog.activeIdx + 1}} está ativada. Clique \\"Continuar\\" para ativar a legenda #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativamente,","SUBTITLES_ADJUST_DELAY":"Ajustar atraso da legenda:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Ou use as teclas G / H durante a reprodução para ajustar.","SUBTITLES_ADJUST_DELAY_TIP":"DICA: Você pode usar as teclas G / H durante a reprodução para ajustar.","SUBTITLES_DELAY":"Atraso das legendas:","SUBTITLES_LOADING":"Carregando legendas...","SUBTITLES_UNAVAILABLE":"Legendas externas não disponíveis","SUBTITLES_DISABLED":"Desativado","EXTERNAL_PLAYER_DISABLED":"Desativado","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permitir Escolha","EXTERNAL_PLAYER_HINT":"Dica: Existe uma configuração para permitir sempre abrir com reprodutor externo","DONT_SHOW_AGAIN":"Não mostrar novamente","SERVICE_INSTALL":"Instalar","AUDIO":"Áudio","DEFAULT_LANGUAGE":"Idioma Padrão","DEFAULT_SECONDARY_LANGUAGE":"Idioma Padrão Secundário","SEASON":"Temporada","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episódio","EPISODE_ABBREVIATION":"EP","SPECIAL":"Especial","SORT":"ordenar","SORT_BY":"Ordenar por","FILTER":"Filtrar","SORT_TRENDING":"Em alta","SORT_RECENT":"Recente","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"Classificação","SORT_WATCHED":"Assistido","SORT_YEAR":"Ano","SELECT":"Select","SELECT_TYPE":"Selecionar tipo","SELECT_SORT":"Selecionar ordenação","SELECT_CATALOG":"Selecionar catálogo","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Selecionar gênero","SORT_LASTWATCHED":"Por último assistido","SORT_NAME":"Por nome","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Por vezes assistido","SORT_NOTWATCHED":"Por não assistido","New for You":"Novo para Você","New Episodes":"Novos Episódios","New Videos":"Novos Vídeos","Recommendations":"Recomendações","LIBRARY_RESUME":"Retomar","LIBRARY_PLAY":"Reproduzir","LIBRARY_DETAILS":"Detalhes","LIBRARY_RESUME_DISMISS":"Dispensar","LIBRARY_CLEAR_PROGRESS":"Limpar Progresso","LIBRARY_REMOVE":"Remover","LIBRARY_NOT_LOGGED_IN":"A biblioteca está disponível apenas para usuários logados","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"O calendário está disponível apenas para usuários logados","NOT_LOGGED_IN_CLOUD":"Acesse seus filmes e programas de TV favoritos a qualquer hora, em qualquer lugar","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomendações personalizadas com base no seu histórico de visualização","NOT_LOGGED_IN_NOTIFICATIONS":"Nunca perca um episódio novamente","NOT_LOGGED_IN_CALENDAR":"Agende seu calendário pessoal de visualização","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Destaque","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Vencedores do Oscar","DISCOVER_WARNING_TITLE":"Ops!","DISCOVER_EMPTY_CATALOG":"Este Addon não possui conteúdo.","DISCOVER_ADULT_WARNING":"Este conteúdo está disponível apenas para maiores de idade. Você tem mais de 18 anos?","DISCOVER_NOADDON_WARNING":"Atenção: nenhum Addon do Stremio ativa para este tipo. Mostrando itens salvos, nada aqui será atualizado.","DISCOVER_LOAD_ERR":"O conteúdo não foi carregado, ocorreu um erro.","DISCOVER_ADDON_UNINSTALLED":"Este conteúdo não está mais disponível, você deve ter desinstalado o Addon.","UNINSTALL_THIS_ADDON":"Remover este Addon","ERR_ADDON_NOT_INSTALLED":"Este Addon não está instalado. Instalar agora?","DETAIL_RECEIVE_NOTIF_SERIES":"Receber notificações de novos episódios","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receber notificações de novos vídeos","SIDEBAR_SHOW_STREAMS":"Exibir Streams","RELAUNCH":"Reinicie agora!","UPGRADE":"Nova versão disponível! Atualize para a versão mais recente do Stremio","RELOAD_UI":"Recarregar a interface do usuário","MANUAL_UPDATE_TITLE":"Atualize sua versão do Stremio","MANUAL_UPDATE_LINE1":"Você está executando uma versão desatualizada do Stremio, o que é altamente não recomendado.","MANUAL_UPDATE_LINE2":"Por favor, atualize o mais rápido possível.","BUTTON_UPDATE_LATTER":"Agora não","BUTTON_UPDATE_NOW":"Atualizar","UPDATER_TITLE":"Uma nova versão do Stremio está disponível","UPDATER_INSTALL_BUTTON":"Instalar agora","ANONYMOUS_USER":"Usuário anônimo","DONT_HAVE_ACC":"Não possui uma conta?","HAVE_ACC":"Já possui uma conta?","PASSWORD":"Senha","PASSWORD_CONFIRM":"Confirmar senha","EMAIL":"E-mail","FB_LOGIN":"Conectar-se via Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nada é compartilhado sem sua permissão","FB_NOPOST":"Não iremos postar nada em seu nome","OR":"ou","I_ACCEPT":"Eu aceito os","I_ACCEPT_BY_CLICKING":"Ao clicar no botão acima, comprovo que aceito o ","TOS":"Termos e Condições","MUST_ACCEPT_TERMS":"Você deve aceitar os termos","PASSWORDS_NOMATCH":"As senhas não coincidem","SIGN_UP":"Cadastrar","SIGN_UP_EMAIL":"Registre-se com email","CLICK_TO_SIGN_UP":"Clique aqui para se registrar","LOG_IN":"Conectar","LOG_OUT":"Desconectar","EXIT_FULLSCREEN":"Sair do modo de tela cheia","ENTER_FULLSCREEN":"Entrar em modo de tela cheia","PLAY_URL_MAGNET_LINK":"Reproduzir URL/Link Magnético","HELP_FEEDBACK":"Ajuda & Feedback","TERMS_OF_SERVICE":"Termos de serviço","PRIVACY_POLICY":"Política de Privacidade","ABOUT_STREMIO":"Sobre o Stremio","USER_PANEL":"Painel de Usuário","LOGIN_LABEL":"Login","GUEST_LOGIN":"Entrar como convidado","GUEST_LOGIN_NOTICE":"Entrar como convidado não é recomendado. Usar um conta padrão permite que o Stremio sincronize sua Biblioteca, receba notificações de séries/canais favoritos. Você tem certeza que deseja prosseguir?","GUEST_LOGIN_NOTICE_2":"Entrar como convidado não é recomendado - você não terá uma Biblioteca sincronizada e um Painel de notificações, que são características vitais do Stremio. Você tem certeza que deseja prosseguir?","CLICK_HERE":"clique aqui","WRONG_PASSWORD":"E-mail ou senha errada. Caso tenha esquecido sua senha, ","SET_A_PASS":"Defina uma senha","RESET_PASSWORD":"Redefinir a senha","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Esqueceu a senha?","EMAIL_USED_WITH_FB":"Este e-mail foi utilizado com uma conta do Facebook.","INVALID_EMAIL":"Por favor, informe um e-mail válido","INVALID_PASSWORD":"Por favor, informe a senha correta","CONN_ERR":"Erro de conexão - por favor, tente novamente mais tarde.\\n\\nSe isso persistir, desabilite firewalls/antivírus (principalmente o Bitdefender).","IMPORT_FROM_GUEST":"Importar biblioteca da sua conta de convidado","RECEIVE_UPDATES_EMAIL":"Receber atualizações do Stremio no seu e-mail","LOGIN_FAILED":"Login falhou.","SIGNUP_FAILED":"Cadastro falhou.","SEARCH_FAILED":"Busca falhou","EMAIL_USED":"Este e-mail já está em uso.","WAITING_FB_LOGIN":"Entrando com a conta do Facebook...","EXTERNAL_OPENING_YOUTUBE":"Você está deixando o Stremio e abrindo o Youtube. Tem certeza?","EXTERNAL_OPENING_APP":"Você está deixando o Stremio e abrindo outro app. Tem certeza?","EXTERNAL_PLAYER_TITLE":"Abrir com um reprodutor de vídeo externo","EXTERNAL_REMEMBER_PLAYER":"Você quer lembrar da sua escolha?","EXTERNAL_ALWAYS_PLAY":"Sim","EXTERNAL_ONLY_ONCE":"Não","BEST_FIT":"Melhor ajuste","FIT_SCREEN":"Tela de ajuste","FILL":"Preencher","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Conte-nos do que gosta","INTRO_TASTE_LONG":"Conte-nos o que gostaria de assistir","INTRO_TASTE_PICK":"Escolha {{interestsRemaining}} interesses","INTRO_TASTE_PICK_MORE":"Escolha {{interestsRemaining}} mais interesses","INTRO_TASTE_HELP_US":"Ajude-nos a saber mais sobre você.","INTRO_TASTE_CHOOSE_THESE":"Escolha alguns destes:","INTRO_TASTE_CHOOSE_MIN":"Escolha ao menos 3 categorias","INTRO_TASTE_CHOOSE_MIN_ERR":"Você precisa escolher ao menos 3 categorias!","INTRO_TASTE_LIFESTYLE":"Estilo de vida","INTRO_TASTE_SPORTS":"Esporte","INTRO_TASTE_FOOD_HEALTH":"Gastronomia e Saúde","INTRO_TASTE_BEAUTY_FASHION":"Moda e Beleza","INTRO_TASTE_NEWS":"Notícias","INTRO_TASTE_GAMING":"Jogos","INTRO_TASTE_SCIENCE_EDU":"Ciência e Educação","INTRO_TASTE_MUSIC":"Música","INTRO_TASTE_TRAVEL":"Viagens","INTRO_TASTE_LATE_NIGHT":"Programas noturnos","INTRO_TASTE_REALITY":"Realidade","INTRO_TASTE_COMEDY":"Comédia","INTRO_TASTE_DIY":"Faça você mesmo","INTRO_TASTE_TECH":"Tecnologia","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"O Addon selecionado não é suportado nesta plataforma.","ADDON_DISCLAIMER":"Usando um Addon de terceiros você estará se auto responsabilizando de acordo com as leis do governo de sua região.","ADDON_ACTIVATE":"Deseja ativar este Addon?","ADDON_REPO_ADD":"Endereço do repositório do Addon","ADDON_ADD":"Adicionar","INSTALL_ADDON":"Instalar addon","ADD_ADDON":"Adicionar addon","ADD_ADDON_DESCRIPTION":"Você pode adicionar um addon via um link externo, que aparecerá em Addons instalados.","PASTE_ADDON_URL":"Cole a URL do addon","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"O que há de novo","BUTTON_CONTINUE":"Continuar","BUTTON_ACTIVATE":"Ativar","BUTTON_ACTIVATED":"Ativado","BUTTON_CANCEL":"Cancelar","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Enviar","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Dispensar tudo","BUTTON_VIEW_ALL":"ver tudo","BUTTON_SEE_ALL":"Ver Tudo","BUTTON_COLOR_TRANSPARENT":"Transparente","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Abrir no navegador","LIB_EMPTY":"Sua biblioteca parece vazia. Descubra como ela é útil :) ","HOW_START":"Aqui está como você pode começar:","LIB_EMPTY_CAL":"Seu calendário mostra as séries na sua Biblioteca.","HOW_START_CAL":"Aqui está como você pode adicionar séries:","LIB_EMPTY_BOARD":"O Painel mostra notificações & recomendações relacionadas à sua Biblioteca.","HOW_START_BOARD_WAIT":"Por favor, adicione algumas séries ou canais à sua Biblioteca e nos dê um momento para processá-las :)","HOW_START_BOARD":"Aqui está como você pode adicionar séries & filmes nele:","IMPORT_FB":"Importe coisas que você gosta do Facebook","IMPORT_TRAKT":"Importe sua biblioteca de mídia do Trakt","IMPORT_DISCOVER":"Encontre coisas interessantes no Descubra","IMPORT_DISK":"Importe filmes ou shows que você tem no seu disco local","PLEASE_CREATE_ACC":"Por favor, crie uma conta para ativar a sincronização de Biblioteca & Painel.","IMPORT_DISCOVER_SIGNUP":"Registre-se e encontre coisas interessantes no Descubra","IMPORT_DISK_SIGNUP":"Cadastre-se e importe filmes ou shows que você tem em seu disco local","LIB_EMPTY_CLOUD":"Biblioteca na nuvem","LIB_EMPTY_CLOUD_DESC":"Biblioteca pessoal na nuvem sincronizada em todos os dispositivos","LIB_EMPTY_EARLY":"Madrugador","LIB_EMPTY_EARLY_DESC":"Receber notificações de novos episódios","LIB_EMPTY_PERSONAL":"Pessoal","LIB_EMPTY_PERSONAL_DESC":"Receber recomendações pessoais","LIB_EMPTY_CALENDAR_DESC":"Agende no seu calendário pessoal para assistir","LIB_EMPTY_ALL":"Registre-se para obter tudo isto:","LIB_EMPTY_BEST":"Cadastre-se para ter o melhor do Stremio","LIB_EMPTY_OTHER":"Registre-se para habilitar o calendário e outras funções fantásticas","CALENDAR_ADDED":"O calendário Stremio foi adicionado ao seu calendário padrão.","CALENDAR_ADDED_MSG":"Se isso não funcionar, por favor, adicione este endereço no seu calendário manualmente","TRAKT_EXPIRED":"A autenticação do Trakt expirou, vá até as Configurações e autentique novamente.","TRAKT_REQUIRES_LOGIN":"Erro no serviço Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Você precisa fazer login","TRAKT_IMPORT_WATCHED":"Importar","THEME":"Tema","THEME_DEFAULT":"Padrão","THEME_ADAPTIVE":"Adaptativo","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Configurações","SETTINGS_NAV_GENERAL":"Geral","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Atalhos","SETTINGS_SHORTCUT_RELOAD_APP":"Recarregar Aplicativo","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Abrir Configurações","SETTINGS_SHORTCUT_SWITCH_TABS":"Alternar Guias","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Percorrer as guias para a frente","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Percorrer abas para trás","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navegar Entre Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Ir para a Busca","SETTINGS_SHORTCUT_EXIT_BACK":"Sair / Voltar","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Alternar Menu de Velocidade de Reprodução","SETTINGS_SHORTCUT_MENU_VIDEOS":"Alternar Menu de Vídeos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Alternar Menu de Legendas","SETTINGS_SHORTCUT_MENU_AUDIO":"Alternar Menu de áudio","SETTINGS_SHORTCUT_MENU_INFO":"Alternar Menu de Informações","SETTINGS_SHORTCUT_FULLSCREEN":"Alternar para o modo tela cheia","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostrar controles","SETTINGS_SHORTCUT_PLAY_PAUSE":"Reproduzir / Pausar","SETTINGS_SHORTCUT_VOLUME_UP":"Aumentar o volume","SETTINGS_SHORTCUT_VOLUME_DOWN":"Abaixar o volume","SETTINGS_SHORTCUT_SEEK_NEXT":"Procurar próximo","SETTINGS_SHORTCUT_SEEK_PREV":"Procurar anterior","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Retroceder","SETTINGS_SHORTCUT_SEEK_FORWARD":"Avançar","SETTINGS_SHORTCUT_PLAY_NEXT":"Reproduzir próximo","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Aumentar o tamanho das legendas","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Diminuir o tamanho das legendas","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Aumentar o atraso das legendas","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Diminuir o atraso das legendas","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Alternar barra lateral","SETTINGS_SHORTCUT_OR":"ou","SETTINGS_SHORTCUT_TO":"para","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Espaço","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticar","SETTINGS_FACEBOOK_IMPORT":"Importar","SETTINGS_CALENDAR_SUBSCRIBE":"Inscrever-se","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"O aplicativo calendário foi aberto. Por favor, assine o calendário manualmente.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"O arquivo de calendário foi baixado. Importe-o para o seu aplicativo de calendário.","SETTINGS_INTERFACE_LANGUAGE":"Idioma da Interface","SETTINGS_LAUNCH_STARTUP":"Iniciar com o sistema","SETTINGS_VLC_DEFAULT":"Reproduzir no VLC","SETTINGS_UI_LANGUAGE":"Idioma da interface","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Aperte ESC para sair da tela cheia","SETTINGS_GAMEPAD":"Ativar suporte a gamepad","SETTINGS_CLOSE_WINDOW":"Fechar aplicativo quando a janela for fechada","SETTINGS_SUBTITLES_LANGUAGE":"Idioma padrão de legendas","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Idioma das legendas secundárias","SETTINGS_SUBTITLES_SIZE":"Tamanho padrão de legendas","SETTINGS_SUBTITLES_BACKGROUND":"Fundo das legendas","SETTINGS_SUBTITLES_COLOR":"Cor das legendas","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Cor de contorno das legendas","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Cor de fundo das legendas","SETTINGS_SEEK_KEY":"As teclas de seta procuram o tempo","SETTINGS_SEEK_KEY_SHIFT":"As teclas de seta procuram o tempo quando a tecla Shift é pressionada","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Duração de Retrocesso e Avanço rápido","SETTINGS_BINGE":"Reproduzir automaticamente o próximo episódio","SETTINGS_NEXT_VIDEO":"Mostrar notificação para iniciar o próximo episódio.","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostrar uma notificação ao iniciar o próximo episódio para:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Duração da notificação do próximo vídeo","SETTINGS_PLAY_IN_BACKGROUND":"Reproduzir em segundo plano","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Reproduzir em player externo","SETTINGS_RESIZE":"Redimensionar automaticamente a janela antes de reproduzir","SETTINGS_OVERRIDE_SERVER":"Substituir a URL do servidor de streaming (avançado)","SETTINGS_SERVER_ADD_URL":"Adicionar URL","SETTINGS_SERVER_URL":"URL do servidor de Streaming: ","SETTINGS_SERVER_AVAILABLE":"O servidor de Streaming está disponível.","SETTINGS_SERVER_UNAVAILABLE":"O servidor de Streaming não está disponível.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Erro","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurar URL do servidor de streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Insira a URL do servidor de streaming","SETTINGS_SERVER_CACHE_SIZE":"Tamanho do cache","SETTINGS_SERVER_TORRENT_PROFILE":"Perfil de torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint HTTPS de streaming: ","SETTINGS_TRANSCODE_PROFILE":"Perfil de transcodificação","SETTINGS_USE_BETA":"Sempre usar a versão Beta mais recente","SETTINGS_IMPORT_FB":"Importar do Facebook","SETTINGS_IMPORT_DISK":"Importar do disco local","SETTINGS_IMPORT_TRAKT":"Importar do Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausar reprodução quando minimizado","SETTINGS_HWDEC":"Decodificação acelerada por Hardware","SETTINGS_BACKGROUND":"Reprodução em segundo plano","SETTINGS_SUBSCRIBE_CALENDAR":"Inscrever-se no calendário","SETTINGS_REQ_EXPORT":"Exportar dados","SETTINGS_ACC_DELETE":"Solicitar exclusão de conta","SETTINGS_CHANGE_PASSWORD":"Alterar a senha","SETTINGS_TOS":"Termos de serviço","SETTINGS_SUPPORT":"Contate o suporte","SETTING_LANGUAGE":"Idioma","SETTINGS_BLUR_UNWATCHED_IMAGE":"Desfocar imagem de episódios não assistidos","SETTINGS_QUIT_ON_CLOSE":"Sair ao fechar","SETTINGS_TRAKT":"Recomendações do Trakt","SETTINGS_TRAKT_RE_AUTH":"Re-Autenticar","SETTINGS_TRAKT_LOGOUT":"Sair do Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Sair do Trakt","SETTINGS_SCAN_FOR_REMOTE":"Escaneie o código QR para abrir remotamente","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificações da área de trabalho","SETTINGS_DATA_SAVER":"Economizador de Dados","SETTINGS_LANGUAGE_INTERFACE":"Interface","SETTINGS_LANGUAGE_SUBS":"Legenda padrão","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Seleção automática de trilha de áudio","SETTINGS_DEFAULT_AUDIO_TRACK":"Trilha de áudio padrão","SETTINGS_SECONDARY_AUDIO_TRACK":"Faixa de áudio secundária","SETTINGS_SURROUND_SOUND":"Som surround","SETTINGS_ACCOUNT":"Conta","SETTINGS_PLATFORM":"Plataforma","SETTINGS_VERSION":"Versão","SETTINGS_ABOUT":"Sobre","SETTINGS_MPV_WINDOW":"Executar em uma janela separada (avançado)","SETTINGS_PLAY_IN_EXTERNAL":"Sempre iniciar vídeo em player externo","SETTINGS_STORAGE_BUTTON":"Limpar armazenamento local","SETTINGS_STORAGE_MODAL_TITLE":"Você tem certeza?","SETTINGS_STORAGE_MODAL_MESSAGE":"Isso limpará o armazenamento local e terminará a sua sessão.","SETTINGS_HWDEC_PICKER":"Escolha a configuração de decodificação acelerada por hardware","SETTINGS_HW_AUTOMATIC":"Automático","SETTINGS_HW_DISABLED":"Desativado","SETTINGS_HW_ACCELERATED":"Aceleração de decodificação","SETTINGS_HW_FULL":"Aceleração total","SETTINGS_HW_LEGACY":"Legado","SETTINGS_DISABLED":"Desativado","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notificação de conexão de rede","SETTINGS_ANALYTICS":"Permitir análises","SETTINGS_REMOTE_URL":"URL remoto","SETTINGS_COPY_REMOTE_URL":"Copiar URL remoto","SETTINGS_REMOTE_URL_COPIED":"URL remoto copiado para a sua área de transferência","SETTINGS_SECTION_SUBTITLES":"Legendas","SETTINGS_SECTION_AUDIO":"Áudio","SETTINGS_SECTION_CONTROLS":"Controles","SETTINGS_SECTION_AUTO_PLAY":"Reprodução automática","SETTINGS_SECTION_ADVANCED":"Avançado","SUBSPICKER_AUDIO":"Áudio","SUBSPICKER_SUBTITLES":"Addons de Legendas","SUBSPICKER_BLACK_BACKGROUND":"Usar cor de fundo preta","SUBSPICKER_VERTICAL_OFFSET":"Deslocamento Vertical","SUBSPICKER_SIZE":"Tamanho","SUBSPICKER_DELAY":"Atraso","SUBSPICKER_EMBEDDED_SUBS":"Legendas Embutidas","MOBILE_PRIVACY_POLICY":"Política de Privacidade","MOBILE_CRASH_REPORTING":"Relatório de falhas","MOBILE_ZOOM_TO_FILL":"Zoom para preencher a tela","MOBILE_PASSTHROUGH":"Saída de áudio digital (passthrough)","MOBILE_RUN_LOW_BATTERY":"Executar com bateria fraca","MOBILE_RUN_FOREGROUND":"Executar como serviço em primeiro plano","MOBILE_PERFORMANCE":"DESEMPENHO E ESTABILIDADE","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expira em ","MOBILE_LOG_INTO":"Faça login na sua conta Stremio ","MOBILE_SCAN_QR":"Escaneie o código QR acima ou acesse ","MOBILE_LINK_ACCOUNT":"Vincular conta","MOBILE_SPEEDPICKER_CANCEL":"Cancelar","MOBILE_SPEEDPICKER_LABEL":"Selecione a velocidade de reprodução","MOBILE_EMPTY_LIBRARY":"Sua biblioteca está vazia","MOBILE_NO_ADDON_ACTIVE":"Nenhum Addon Stremio ativo para este tipo.","MOBILE_ORGANIZER_WARNING":"O aplicativo Stremio Organizer oferece funcionalidade limitada. Para obter uma lista de streams reproduzíveis e a experiência completa do Stremio, use o Stremio no desktop.","MOBILE_ADDON_LOADING":"ainda está carregando","MOBILE_ADDONS_LOADING":"dos Addons ainda carregando","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure seu Addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configurar Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"O aplicativo Stremio Organizer oferece funcionalidade limitada. Para obter uma lista de streams reproduzíveis e a experiência completa do Stremio, use o Stremio no desktop.","MOBILE_DISCONNECT":"Desconectar","MOBILE_LOOKING_FOR_DEVICES":"Procurando dispositivos...","MOBILE_CAST_TO":"Transmitir para","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Deletar Conta","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"A exclusão da conta não é instantânea devido a obrigações legais. Após solicitar a exclusão da sua conta, você terá que usar um endereço de e-mail/perfil do Facebook diferente para criar uma nova conta Stremio no futuro.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmar Exclusão da Conta","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Sua conta foi criada usando o Facebook. Para excluir sua conta, use nosso portal de usuário em www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Por favor, forneça sua senha para confirmar a exclusão da conta.","MOBILE_DELETE_ACCOUNT_BUTTON":"Deletar Conta","NAVIGATION_ON":"Ligado","NAVIGATION_OFF":"Desligado","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Concordo em receber comunicações de marketing do Stremio","QUIT":"Sair","CONNECTED":"Conectado","AUTHENTICATE":"Autenticar","AUTHENTICATING":"Authenticating...","CACHING":"Em Cache","SETTINGS_CACHING_DRIVE":"Selecione o drive para cache","ENABLE_LOCAL_FILES_ADDON":"Habilite o Addon de arquivos locais (requer reinicialização)","LOCAL_ADDON_NOT_ENABLED":"O Addon local não está ativado. Clique aqui para ir para as configurações e habilitá-lo","ENABLE_REMOTE_HTTPS_CONN":"Habilitar conexões HTTPS remotas","TORRENT_PROFILE":"Perfil de Torrent","DATA_CACHING":"Dados em cache","MAGNET_PARSING":"Analisando o link magnético","January":"Janeiro","February":"Fevereiro","March":"Março","April":"Abril","May":"Maio","June":"Junho","July":"Julho","August":"Agosto","September":"Setembro","October":"Outubro","November":"Novembro","December":"Dezembro","Monday":"Segunda","Tuesday":"Terça","Wednesday":"Quarta","Thursday":"Quinta","Friday":"Sexta","Saturday":"Sábado","Sunday":"Domingo","Action":"Ação","Comedy":"Comédia","War":"Guerra","Family":"Família","Animation":"Animação","Adventure":"Aventura","Fantasy":"Fantasia","Crime":"Policial","Mystery":"Mistério","Romance":"Romance","Drama":"Drama","Horror":"Terror","Thriller":"Suspense","Sci-Fi":"Ficção Científica","Music":"Música","Biography":"Biografia","Documentary":"Documentário","Sport":"Esporte","Musical":"Musical","Western":"Faroeste","Film-Noir":"Film-Noir","News":"Notícias","History":"História","Game-Show":"Show de Jogos","Reality-TV":"Show Real","Talk-Show":"Programa de Entrevista","Film & Entertainment":"Filmes e Entretenimento","Gaming":"Jogos","From TV":"Da TV","Lifestyle":"Estilo de Vida","Science & Education":"Ciência e Educação","Cooking & Health":"Culinária e Saúde","Beauty & Fashion":"Beleza e Moda","Sports":"Esportes","News & Politics":"Notícias e Política","How-to & DIY":"Faça Você Mesmo","Tech":"Tecnologia","Automotive":"Automotivo","Causes & Non-Profits":"Causas Humanitárias","Movies":"Filmes","Uk Live Tv":"TV Inglesa","Fashion":"Moda","Business News Radio":"Rádio de Negócios","Business Tv":"Negócios","Cars & Auto":"Carros","Comedy Radio":"Rádio de Comédia","Lifestyle Radio":"Rádio de Estilo de Vida","News Tv":"Noticiário","Food And Wine":"Comes e Bebes","Latino Tv":"TV Latina","Shopping Tv":"Compras","Religion":"Religião","Kids":"Infantil","Body & Soul":"Corpo e Alma","Education":"Educação","Indian Tv":"TV Indiana","Extreme Sports":"Esportes Extremos","Middle Eastern Tv":"TV do Oriente Médio","Celebrity Tv":"Celebridades","Science Tv":"Ciência","Bikini babe":"Biquíni","Outdoors":"Externas","German Tv":"TV Alemã","French Tv":"TV Francesa","Italian Tv":"TV Italiana","Gamer Tv":"TV Gamer","Travel":"Viagens","Asian Tv":"TV Asiática","Entertainment":"Entretenimento","News Radio":"Rádio de Notícias","Music Radio":"Rádio de Música","Language Learning":"Aprendendo Idiomas","Science Radio":"Rádio de Ciência","Tech Radio":"Rádio de Tecnologia","Science & Technology Vod":"Ciência e Tecnologia Video Sob Demanda","new video":"Novo video","new episode":"Novo episódio","new movie":"Filme novo","recommended":"Recomendado","we recommend":"Nós recomendamos","offer of the day":"Oferta do dia","news":"Notícias","music video":"video de música","CTX_SHOW_HOTKEYS":"Mostrar teclas de atalho","CTX_DISMISS_NOTIF":"Dispensar notificações","CTX_DISMISS_ALL":"Dispensar tudo","CTX_SHARE":"Compartilhar","CTX_COPY_SHARE_LINK":"Copiar link compartilhado","CTX_COPY_MAGNET_LINK":"Copiar link magnético","CTX_COPY_STREAM_LINK":"Copiar link da stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copiar link de download do vídeo","CTX_DOWNLOAD_VIDEO":"Baixar esse vídeo","CTX_DOWNLOAD_SUBS":"Baixar Legendas","CTX_VIEW_ON_YOUTUBE":"Visualizar no YouTube","CTX_SHOW":"Mostrar","CTX_PLAY":"Reproduzir","CTX_PLAY_IN":"Reproduzir em","CTX_PLAY_ON":"Reproduzir em","CTX_WATCH_ON":"Assistir em","CTX_WATCH":"Assistir","CTX_WATCHED":"Assistido","CTX_WATCH_BEGINNING":"Assistir do inicio","CTX_WATCH_MOBILE":"Assistir em um aparelho móvel","CTX_REWIND":"Voltar para o início","CTX_MARK_WATCHED":"Marcar como assistido","CTX_MARK_NON_WATCHED":"Marcar como não assistido","CTX_MARK_UNWATCHED":"Marcar como não assistido","CTX_MARK_REST":"Marcar o resto como assistido","CTX_UNMARK_REST":"Marcar o resto como não assistido","CTX_RECEIVE_NEW_NOTIF":"Receber novas notificações","CTX_ENABLE_NEW_NOTIF":"Ativar notificações","CTX_DISABLE_NEW_NOTIF":"Desativar notificações","CTX_REMOVE_CACHE":"Remover do cache","CTX_REMOVE_CACHE_EP":"Remover episodio do cache","CTX_OPEN_CONTAINING":"Abrir pasta do arquivo","CTX_REMOVE":"Remover da biblioteca","CTX_AVAILABLE_OFFLINE":"Disponível Offline","CTX_PAUSED":"Pausado","CTX_ALWAYS_ON_TOP":"Manter em cima","CTX_FULLSCREEN":"Tela cheia","CTX_WRONG_SUBS":"Legendas incorretas?","CTX_REPORT_ISSUES":"Reportar um problema","CTX_COPY":"Copiar","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Colar","CTX_CLEAR":"Limpar","CTX_CLEAR_RECENT_SEARCHES":"Limpar buscas recentes","HELLO_THERE":"Olá","HOPE_YOU_ENJOY":"Esperamos que aprecie o Stremio, que já é um dos seus aplicativos favoritos!","WHO_ARE_WE":"Quem somos? Somos a equipe por trás disso tudo. Dois caras que trabalham duro todos os dias nos últimos 3 anos, com o único objetivo de deixar este produto cada vez melhor","SUPPORT_US":"Se você gosta de usar o Stremio, se ele está sendo útil pra você, divulgue!","SPREAD_THE_WORD":"Compartilhe com seus amigos agora, divulgue o Stremio","MORE_PEOPLE":"Quanto mais pessoas usarem o Stremio, melhor ele vai ficar!","SEND_A_LINK":"Ou envie um link para nosso site","TIP_LOCALFILES":"Dica: você pode arrastar e soltar arquivos de vídeo diretamente no Stremio","ADDON_MY":"Meus Addons","ADDON_COMMUNITY":"Addons da comunidade","ADDON_OFFICIAL":"Addons oficiais","ADDON_REPOS":"Repositórios de Addons","ADDON_SEARCH":"Buscar Addons","ADDON_INSTALL":"Instalar","ADDON_CONFIGURE":"Configurar","ADDON_UNINSTALL":"Desinstalar","ADDON_UPGRADE":"Atualizar","ADDON_INSTALLED":"Instalado","ADDON_INSTALLED_MSG":"Addon instalado!","ADDON_UPGRADED_MSG":"Addon atualizado!","ADDON_UNKNOWN":"Desconhecido","ADDON_ERR":"Erro ao instalar o Addon!","ADDON_DISCONNECTED":"Desconectado","ADDON_APP_MISSING":"o aplicativo que suporta esta fonte não está instalado. Deseja instalar agora?","ADDON_APP_INSTALL":"Instalar agora","ADDON_PAGE":"Página de Addons","ADDON_TOP_CONTENT":"Melhor conteúdo deste Addon","ADDON_PROVIDES":"Este Addon lhe dará:","ADDON_WATCH":"Assista a #{types} agora!","ADDON_WATCH_FREE":"Assista a #{types} de GRAÇA agora!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Tipos suportados","ADDON_SUPPORTED_CATALOGS":"Catálogos suportados","ADDON_PROVIDES_DISCOVER":"Mais #{types} em Descubra","ADDON_PROVIDES_STREAMS":"Assista a #{types}","ADDON_PROVIDES_STREAMS_FREE":"Assista a #{types} de GRAÇA","ADDON_PROVIDES_SUBTITLES":"Legendas para #{types}","ADDON_CANTDETECT":"Nós não pudemos detectar se o Stremio está sendo executado, então não pudemos detectar quais Addons você tem instalado.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Streaming de Torrent não é suportado neste dispositivo devido a regras da App Store","ERR_NO_META":"Nenhuma informação encontrada sobre isso ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Erro ao obter informação sobre isto.","ERR_CANT_PARSE_MAGNET":"Não foi possível analisar o link magnético","ERR_NO_MAGNET_INFOHASH":"Informação inválida no hash do link magnético","ERR_NO_FILE_PATH":"Impossível enviar uma requisição sem um caminho para o arquivo","ERR_NO_TORRENT":"Nenhum torrent retornado","ERR_NO_SUPPORTERD_FILES":"Nenhum arquivo suportado encontrado","ERR_OPENING_FILES":"Não foi possível abrir arquivos externos","ERR_INVALID_LINK":"Link inválido","ERR_REGISTERED_ONLY":"Esta opção está disponível apenas para usuários registrados.","ERR_CLIPBOARD":"Não é possível reproduzir da área de transferência","ERR_CLIPBOARD_READ":"Não é possível ler a área de transferência nesta plataforma","ERR_CLIPBOARD_GENERIC":"Nenhuma URL reproduzível encontrada na Área de Transferência. Por favor, copie uma URL (ex.: link magnético) para um vídeo.","BOARD_CONTINUE_WATCHING":"Continue assistindo","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmes escolhidos especialmente para você.
    Este filme é uma recomendação de amostra.","BOARD_EXPLANATION_EPISODES":"Novos episódios de suas séries favoritas.
    Adicione séries que você segue na sua Biblioteca.","BOARD_EXPLANATION_VIDEOS":"Novos episódios dos seus canais favoritos.
    Adicione canais do YouTube que você segue na sua Biblioteca.","WEBSITE_ENJOYED_BY":"Apreciado por mais de 30 milhões de usuários em todo o mundo","WEBSITE_STREAMING_ENHANCED":"Streaming Aprimorado","WEBSITE_STREAMING_ENHANCED_DETAILS":"O Stremio oferece uma experiência de entretenimento segura, moderna e perfeita. Com sua interface fácil de usar e biblioteca de conteúdo diversificada, incluindo suporte a 4K HDR, os usuários podem desfrutar de seus filmes e programas de TV favoritos em todos os seus dispositivos. E com seu compromisso com a segurança, o Stremio é a escolha definitiva para uma experiência de streaming de alta qualidade e sem preocupações.","WEBSITE_AVAILABLE_ON":"Disponível em","WEBSITE_WATCH_AND_ENJOY":"Assista e Aproveite.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio torna tudo fácil","WEBSITE_ALL_FEATURES":"Todos os recursos","WEBSITE_EASY_TO_USE":"Fácil de usar","WEBSITE_EASY_TO_USE_DETAILS":"O Stremio foi projetado para ser fácil de usar e amigável. Com sua interface limpa e intuitiva, você pode navegar facilmente e encontrar o conteúdo que deseja assistir.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Perfeito em Todos os Dispositivos","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponível para uma ampla variedade de plataformas (incluindo Windows, Mac, Linux, Android e muito mais), o Stremio manterá o controle do seu progresso em todos os seus dispositivos. Basta fazer login e continuar assistindo sem precisar configurar o aplicativo novamente em cada novo dispositivo.","WEBSITE_ALL_DOWNLOADS":"Todos os Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Suporte a Vídeo de Alta definição","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Um player de vídeo integrado que suporta a maioria dos formatos de vídeo, incluindo conteúdo 4K HDR, permite que você desfrute da melhor qualidade disponível.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Biblioteca de Conteúdo Diversificada","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"O Stremio se integra a uma grande quantidade de fontes de vídeo populares, como Netflix, Amazon Prime Video, Hulu, YouTube e muitos outros.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Crie uma Conta Gratuita","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiência de Visualização Personalizada","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"O Stremio permite que você personalize a aparência e a sensação da interface alterando o tema, adicionando ou removendo complementos e muito mais.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Suporte a Legendas Multilíngues","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Agora você pode desfrutar de todo o conteúdo favorito em seu idioma preferido, pois o Stremio suporta legendas em todos os idiomas.","WEBSITE_ALL_STREMIO_FEATURES":"Todos os recursos do Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Experimente o Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Na sua TV Agora","WEBSITE_YOU_CAN_NOW_WATCH":"Agora você pode assistir a todos os seus programas de TV favoritos em seus dispositivos Android TV. O aplicativo de TV Stremio permite que você aproveite uma noite de cinema com facilidade.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Agora você pode assistir a todos os seus programas de TV favoritos em sua Smart TV ou Android TV. Os aplicativos de TV Stremio permitem que você aproveite uma noite de cinema com facilidade.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio para Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Provavelmente o melhor e mais útil aplicativo para ter em seu dispositivo. É um dos aplicativos que uso diariamente, especialmente na minha Android TV, há muitos anos. Bem feito, com uma comunidade forte fornecendo funcionalidades úteis. Bem feito. Continuem com o bom trabalho.","WEBSITE_REVIEWS":"avaliações","WEBSITE_GET_STREMIO_FOR_FREE":"Obtenha o Stremio Gratuitamente","WEBSITE_GET_STREMIO_NOW":"Obtenha o Stremio Agora","WEBSITE_STREMIO_FEATURES":"Recursos do Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Transmita como um profissional com os recursos avançados do Stremio e desfrute de acesso perfeito a todos os seus meios favoritos","WEBSITE_DISCOVER_MORE":"Descubra mais.","WEBSITE_DISCOVER_MORE_DETAILS":"Nunca fique sem coisas para assistir","WEBSITE_COMMUNITY_DRIVEN":"Impulsionado pela comunidade","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"O Stremio tem uma comunidade grande e ativa de usuários que contribuem para o desenvolvimento do software criando e compartilhando complementos.","WEBSITE_GET_INVOLVED":"Envolver-se","WEBSITE_NEW_THEATER_EXPERIENCE":"Nova experiência de cinema","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"O novo aplicativo de TV dedicado do Stremio permite que você aproveite uma noite de cinema em seus dispositivos Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Os novos aplicativos de TV dedicados do Stremio permitem que você aproveite uma noite de cinema em suas Smart TVs ou dispositivos Android TV.","WEBSITE_FREE_AND_SECURE":"Grátis & Seguro","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"O Stremio oferece segurança e privacidade incomparáveis para os usuários. Com sua característica única de executar complementos remotamente, o Stremio fornece uma maneira mais segura de transmitir seu conteúdo favorito em comparação com outras plataformas. Sua segurança e privacidade são as principais prioridades, e a plataforma garante que todos os seus dados estejam protegidos.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Diga adeus às preocupações com segurança e privacidade e diga olá a um mundo de entretenimento sem fim com o Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informações fornecidas por","WEBSITE_CONTRIBUTE_DESC":"para o projeto e nos ajude a tornar o Stremio ainda melhor","WEBSITE_COMMUNITY_DESC":"Acreditamos que a melhor maneira de criar uma experiência de streaming verdadeiramente incrível é envolver nossa comunidade no processo. Se você é um programador, um artista ou apenas um fã, pode ajudar o Stremio a crescer.","WEBSITE_COMMUNITY_DESC_2":"Então junte-se a nós hoje e faça parte da comunidade Stremio e continue moldando o futuro do streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Formas de se envolver","WEBSITE_IN_THE_STREMIO_COMMUNITY":"na comunidade Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Compartilhe seus pensamentos","WEBSITE_REPORT_BUGS":"Relatar bugs","WEBSITE_SUGGEST_FEATURES":"sugerir funcionalidades","WEBSITE_AND_PROVIDE_FEEDBACK":"e fornecer feedback em nossos canais de mídia social.","WEBSITE_BETA_TESTING_PROGRAM":"Programa de Testes Beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participe do nosso programa de testes beta (enviamos convites regularmente) na comunidade Stremio.","WEBSITE_JOIN_NOW":"Junte-se agora!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunidades Oficiais do Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunidades Não-Oficiais do Stremio","WEBSITE_BECOME":"Torne-se","WEBSITE_A_VOLUNTEER_TRANSLATOR":"um tradutor voluntário","WEBSITE_ARE_YOU_A_DEVELOPER":"Você é um desenvolvedor?","WEBSITE_CONTRIBUTE_CODE":"Você pode contribuir com código para nossos projetos de código aberto. Temos vários projetos no GitHub que estão procurando contribuidores. Se você estiver interessado em ajudar, confira:","WEBSITE_STREMIO_ON_GITHUB":"Stremio no GitHub","WEBSITE_CREATE_ADDON_DESC":"Crie um addon para aprimorar a funcionalidade do Stremio (temos uma API fácil de usar):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Também oferecemos a oportunidade de se juntar a nós como um desenvolvedor estagiário para que possamos crescer juntos.","WEBSITE_APPLY_AS_AN_INTERN":"Candidate-se como Estagiário","WEBSITE_CALLING_ALL_ARTISTS":"Chamando Todos os Artistas!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mostre sua criatividade e amor pelo Stremio enviando sua arte de fã para nossa galeria online. Seja um desenho, pintura ou design digital, queremos ver sua visão única da marca Stremio. Junte-se à nossa comunidade de entusiastas da arte e compartilhe seu trabalho com outros fãs do Stremio ao redor do mundo.","WEBSITE_STREMIO_FANART_GALLERY":"Galeria de Fanart do Stremio","WEBSITE_INTERN_DESIGNER":"Faça parte da nossa equipe e leve sua criatividade a novos patamares com nossas emocionantes oportunidades de estágio.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Projeto de Filmes de Domínio Público","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"No Stremio, estamos comprometidos em preservar a história do cinema e da televisão identificando vídeos de domínio público e órfãos. Trabalhando juntos com nossa comunidade, podemos garantir que essas obras de arte clássicas sejam acessíveis a todos e protegidas para as gerações futuras desfrutarem.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Sinta-se à vontade para entrar em contato conosco se quiser se envolver nesse projeto.","WEBSITE_JOIN_THE_PROJECT":"Junte-se ao Projeto","WEBSITE_BE_PART_OF_OUR_MISSION":"Faça parte da nossa missão","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interessado em se juntar à equipe Stremio? Oferecemos trabalho totalmente remoto para profissionais apaixonados. Confira nossas vagas abertas.","WEBSITE_OPEN_POSITIONS":"VAGAS ABERTAS","WEBSITE_DESCRIPTION":"DESCRIÇÃO","WEBSITE_LEARN_MORE":"Saiba mais","WEBSITE_COMPANY":"Empresa","WEBSITE_CONTACTS":"Contatos","WEBSITE_NEED_HELP":"Precisa de Ajuda?","WEBSITE_STREMIO_WEB_ON_IOS":"Guia para Stremio Web no iOS","WEBSITE_LINK_ART_V2":"Galeria de Fanart","WEBSITE_PARTNERS":"Parceiros","WEBSITE_SLOGAN_WATCH":"Assista instantaneamente","WEBSITE_SLOGAN_ALL":"Todo conteúdo em vídeo que você adora em um único lugar","WEBSITE_SLOGAN_NEW":"Tudo o que você pode assistir","WEBSITE_SLOGAN_NEW_NEW":"Liberdade para o Stream","WEBSITE_WATCH_FROM":"Assista a partir de","WEBSITE_DOWNLOAD":"Baixe agora","WEBSITE_DOWNLOAD_FOR":"Baixe agora para","WEBSITE_IS_DESKTOP":"Stremio é um aplicativo para desktop, abra esta página em seu computador e baixe","WEBSITE_DESKTOP_DEMO_VID":"Demonstração","WEBSITE_PAGE_HOME":"Início","WEBSITE_PAGE_FEATURES":"Funcionalidades","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Tecnologia","WEBSITE_PAGE_CREATE_ADDON":"Criar Addon","WEBSITE_PAGE_CONTACTS":"Contato","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Por favor, insira sua nova senha desejada abaixo.","WEBSITE_RESET_PASSWORD_WARNING":"Você tem certeza de que deseja redefinir a senha para ${1}?","WEBSITE_TYPE_movie":"Filmes","WEBSITE_TYPE_series_PL":"Séries","WEBSITE_TYPE_tv":"TV Ao vivo","WEBSITE_TYPE_channel":"Canais","WEBSITE_STREMIO_WHAT_IS":"Stremio é um aplicativo que ajuda você a organizar e assistir instantaneamente seus vídeos, filmes, séries de TV e canais de TV favoritos.","WEBSITE_FEATURES_WATCH":"Assista instantaneamente em HD","WEBSITE_FEATURES_WATCH_DETAIL":"Clique e assista seus filmes favoritos, Séries, vídeos e canais de TV.","WEBSITE_FEATURES_SUBS":"Legendas automáticas","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automaticamente seleciona legendas sincronizadas para o seu idioma.","WEBSITE_FEATURES_SUBS_LABEL":"Chefe, é a sua vez.","WEBSITE_FEATURES_CAST":"Exiba na TV & Celulares","WEBSITE_FEATURES_CAST_DETAIL":"Transmita para AppleTV, Chromecast, Smart TV (DLNA/UPnP) e dispositivos móveis.","WEBSITE_LIB":"Aprecie Sua Biblioteca Pessoal Sincronizada em Todos Seus Dispositivos","WEBSITE_LIB_COLLECT":"Recuperar da Stremio","WEBSITE_LIB_IMPORT":"Importe do Facebook","WEBSITE_LIB_LOCAL":"Adicione do seu dispositivo local","WEBSITE_BOARD":"Painel - Um lugar para Notificações e Recomendações","WEBSITE_BOARD_RECOMMEND":"Shows de TV Recomendados","WEBSITE_BOARD_TRENDING":"Filme em Alta","WEBSITE_BOARD_NEW":"Novo Vídeo","WEBSITE_BOARD_EPISODE":"Novo Episódio","WEBSITE_BOARD_1":"Procurando alguma coisa interessante para assistir? Obtenha recomendações baseadas no seu perfil!","WEBSITE_BOARD_2":"Seja avisado quando um novo episódio da sua série favorita ou canal do YouTube sair!","WEBSITE_BOARD_YOUTUBE":"Novos vídeos de canais do YouTube","WEBSITE_BOARD_EPISODES":"Novos episódios de séries que você segue","WEBSITE_ADDONS":"Addons de Conteúdo","WEBSITE_TECH_DETAIL":"Nós amamos tecnologias, nós amamos ciência disruptiva!\\nA Stremio usa as seguintes tecnologias Open Source:","WEBSITE_TECH_WCJS":"WebChimera.js permite que o Stremio reproduza qualquer formato de vídeo com uma ótima qualidade.","WEBSITE_TECH_WCJS_EXTRA":"Nós somos os mantenedores do projeto","WEBSITE_TECH_ELECTRON":"Electron provê uma plataforma inovadora no qual o Stremio é construído.","WEBSITE_TECH_ELECTRON_EXTRA":"Nós somos os contribuidores do projeto","WEBSITE_TECH_LINVODB":"Uma tecnologia de Banco de Dados que garante que seus dados estarão organizados e disponíveis em qualquer lugar que você se conectar.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnologia interna","WEBSITE_CREATE_ADDON":"Crie seu Addon","WEBSITE_CREATE_ADDON_DETAIL":"Você possui um serviço fornecendo conteúdo em vídeo? Nós vamos ajudar você a se beneficiar dos recursos do Stremio criando seu Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefícios de criar um Addon para o Stremio","WEBSITE_P2P_BEAUTY":"A Beleza do streaming ponto-a-ponto","WEBSITE_P2P_1":"Vídeos em Full HD / 4K sob demanda ou transmissões ao vivo confiáveis e acessíveis","WEBSITE_P2P_2":"Plataforma de distribuição providenciando uma ótima experiência ao usuário","WEBSITE_P2P_3":"Nós criaremos um Addon reunindo exatamente o que você precisa","WEBSITE_P2P_CONTACT":"Interessado? Sinta-se a vontade para entrar em contato conosco.","WEBSITE_P2P_CONTACT_EXTRA":"Será um prazer ajudar você a integrar seu conteúdo ao Stremio!","WEBSITE_P2P":"De vez em quando, aparece uma tecnologia que muda o jogo. Nós investimos muito tempo e esforço na construção do nosso mecanismo de transmissão de vídeo Peer-To-Peer (P2P) que fornece uma ótima performance e versatilidade para se adaptar a qualquer tipo de uso.\\nEntre em contato conosco para vídeos P2P sob demanda com gerenciamento de direitos autorais (DRM) habilitado ou transmissão ao vivo.","WEBSITE_THOUGHTS":"Pensamentos que compartilhamos:","WEBSITE_SPREAD":"Espalhe a palavra sobre o Stremio:","WEBSITE_CONTACT":"Contate-nos, teremos prazer em ouvi-lo.","WEBSITE_OPENSOURCE":"Veja nossos projetos Open Source em nosso ","WEBSITE_BITCOIN":"Doe Bitcoin:","WEBSITE_FAQ":"Perguntas frequentes","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Perguntas","WEBSITE_TOS":"Termos de uso","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"Sobre","WEBSITE_PAGE_BECOME_PARTNER":"Seja um parceiro","WEBSITE_ALL_YOU_CAN_WATCH":"Liberdade Para Assistir\\nTudo Que Você Deseja.","WEBSITE_FREEDOM_TO_STREAM":"Liberdade para o Stream","WEBSITE_WHAT_IS_STREMIO":"O que é Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"O Stremio é uma plataforma para agregação de conteúdo de vídeo. Descubra, organize e assista vídeos de todos os tipos de fontes em qualquer dispositivo que você possui.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmes, séries, programas de TV, TV ao vivo ou canais da web como YouTube e Twitch.tv - você pode encontrar tudo isso no Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio é uma central de mídia moderna, uma solução integrada para todo seu entretenimento em vídeo. Você descobre, assiste e organiza conteúdo de vídeo a partir de Addons fáceis de instalar.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmes, shows de TV, TV ao vivo ou canais da web - encontre tudo isso no Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Desfrute em todos os seus dispositivos de mídia ","WEBSITE_DEVICES_COLLECT":"Recupere a partir do Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importe a partir do Facebook","WEBSITE_DEVICES_LOCAL":"Adicione a partir de unidade local","WEBSITE_JOIN_THE_PARTY_NOW":"Junte-se à festa agora","WEBSITE_DEVICES_ALL":"Fácil de usar em todos os seus dispositivos;","WEBSITE_EXTENDABLE_CATALOG":"Catálogo de vídeo infinitamente extensível;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Ótimas funcionalidades para organizar sua mídia;","WEBSITE_AS_SEEN_ON":"Como visto em","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Sobre nós","WEBSITE_LINK_TECHNOLOGY":"Tecnologia","WEBSITE_LINK_APPS":"Aplicativos","WEBSITE_LINK_DOWNLOADS":"Baixe","WEBSITE_MORE":"Mais","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Kit de Desenvolvimento","WEBSITE_LINK_CONTRIBUTE":"Contribuir","WEBSITE_LINK_COMMUNITY":"Comunidade","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Mais","WEBSITE_LINK_HELP":"Central de Ajuda","WEBSITE_LINK_CONTACTS":"Inquérito de Negócios","WEBSITE_LINK_TOS":"Termos e Condições","WEBSITE_LINK_PRAVACY":"Politica de Privacidade","WEBSITE_SUBSCRIBE":"Inscreva-se","WEBSITE_NEWSLETTER":"Inscreva-se na nossa newsletter para receber as novidades","WEBSITE_PLACEHOLDER_EMAIL":"Seu email","WEBSITE_COMMUNITY":"Comunidade","WEBSITE_LINK_PRAVACY_LEGAL":"Privacidade e Legal","WEBSITE_WHY":"Por que nós fazemos isso","WEBSITE_WHY_P1":"No Stremio, nós chegamos a trabalhar todos os dias porque queremos resolver um problema importante para o setor de vídeo sob demanda. Há tanto conteúdo novo publicado a cada minuto que é virtualmente impossível encontrar o caminho menos árduo.","WEBSITE_WHY_P2":"Ajudamos as pessoas a navegar neste mundo imenso de entretenimento de vídeo e a descobrir novos conteúdos para apreciar. Nossos aplicativos trazem consigo filmes, séries, TV ao vivo, canais da web e muito mais. Estamos focados em facilitar que nossos usuários possam encontrar facilmente títulos e canais que eles adoram. ","WEBSITE_WHY_P3":"Você pode usar nosso serviço em qualquer dispositivo e a qualquer hora, tornando o Stremio a única plataforma agregadora de entretenimento de vídeo que você precisará.","WEBSITE_TEAM":"Equipe","WEBSITE_TEAM_P":"A equipe do Stremio é pequena, mas poderosa: entre nós dez, codificamos em várias linguagens e compartilhamos experiência em desenvolvimento de software, design UI e UX, marketing e publicidade, e negócios e startups.","WEBSITE_FEATURES":"Recursos","WEBSITE_FEATURES_P1":"-","WEBSITE_FEATURES_DISCOVER":"Descubra novos conteúdos com facilidade","WEBSITE_FEATURES_DISCOVER_P":"Descubra facilmente novos filmes, séries, programas de TV e canais para assistir. Navegue por categoria, gênero, classificação, novidade, etc. ou simplesmente digite um nome para encontrar. Stremio faz achar conteúdo de vídeos ser uma moleza.","WEBSITE_FEATURES_ALL_CONTENT":"Todo seu conteúdo de vídeo em uma tela","WEBSITE_FEATURES_ALL_CONTENT_P1":"Veja quais filmes, séries ou vídeos você não terminou e continue assistindo. Seja notificado sobre novos episódios e lançamentos e navegue pelas recomendações que você obterá com base em seus hábitos de visualização","WEBSITE_FEATURES_LIBRARY":"Organize sua biblioteca de vídeos","WEBSITE_FEATURES_LIBRARY_P1":"Adicione qualquer título à sua biblioteca do Stremio com um único clique e encontre seu conteúdo, organizado por tipo, novidade ou ordem alfabética","WEBSITE_FEATURES_CALENDAR":"Acompanhe tudo o que você assiste","WEBSITE_FEATURES_CALENDAR_P1":"Visualize o calendário de todos os filmes e séries que você adiciona à sua biblioteca, e também saiba quando haverá um novo episódio ou uma estreia.","WEBSITE_FEATURES_BIG_SCREEN":"Aproveite o seu conteúdo de vídeo em uma tela maior ","WEBSITE_FEATURES_BIG_SCREEN_P1":"Projete o que você estiver assistindo para outro dispositivo - use o smartphone, tablet ou TV com um único clique","WEBSITE_FEATURES_SOURCES":"Assista o vídeo de várias fontes diferentes.","WEBSITE_FEATURES_SOURCES_P":"Instale os Addons oficiais e comunitárias para aproveitar o vídeo fornecido por vários fornecedores diferentes - tudo em um aplicativo elegante e fácil de usar.","WEBSITE_CREATE_AN_ADDON":"Crie um Addon.","WEBSITE_FEATURES_SYNC":"Sincronize sua biblioteca entre diferentes dispositivos e continue a reprodução","WEBSITE_FEATURES_SYNC_P1":"Entre com sua conta em todos os seus dispositivos e aproveite sua biblioteca, Addons, reprodução e calendário sincronizados.","WEBSITE_FEATURES_EXTENDABLE":"Catálogo de vídeo extensível por Addons","WEBSITE_FEATURES_EXTENDABLE_P1":"O catálogo de Addons do Stremio fornece vários Addons para instalar e assistir a uma variedade de conteúdos de vídeo. Isso inclui filmes, programas, TV ao vivo, esportes, notícias, podcasts, canais da web, videogames e muito mais.","WEBSITE_FEATURES_AUTO_SUBS":"Legendas automáticas","WEBSITE_FEATURES_AUTO_SUBS_P1":"Com nossos Addons para legenda, você obtém automaticamente as opções selecionadas para o seu idioma preferido.","WEBSITE_FEATURES_CHROMECAST":"Transmitir para Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Desfrute do conteúdo do vídeo em uma tela maior ou apenas transmita o que estiver assistindo para outro dispositivo.","WEBSITE_FEATURES_KEEP_TRACK":"Acompanhe seus programas de TV e canais da Web favoritos ","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obtenha uma visualização do calendário e notificações para novos episódios de suas séries e canais da web favoritos.","WEBSITE_FEATURES_POWER_USER":"Recursos avançados para usuários","WEBSITE_FEATURES_POWER_USER_P1":"Reproduzir em um reprodutor externo","WEBSITE_FEATURES_POWER_USER_P2":"Reproduzir de um arquivo torrent ou link magnético","WEBSITE_FEATURES_POWER_USER_P3":"Importe para sua biblioteca do Facebook likes ou disco local","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"Todo o conteúdo de vídeo que o Stremio proporciona é proveniente de um sistema de Addons - nenhum fornecedor de conteúdo ou conteúdo foi incorporado no aplicativo.","WEBSITE_ADD_ONS_P2":"Existem dois grupos de Addons disponíveis: oficial e comunitária.","WEBSITE_ADD_ONS_P3":"As oficiais são desenvolvidas e hospedadas pela Stremio, enquanto os Addons comunitárias são criadas pelos membros de nossa comunidade, que também os hospedam.","WEBSITE_ADDONS_OFFICIAL":"Addons oficiais","WEBSITE_ADDONS_WATCHUB":"Transmite seus filmes, séries e shows favoritos de provedores como iTunes, Hulu, Amazon e outros serviços do Reino Unido / EUA.","WEBSITE_ADDONS_YOUTUBE":"Assista seus canais favoritos do YouTube livre de anúncios e receba notificações de novos vídeos dos canais que você segue.","WEBSITE_ADDONS_FILMON":"Assista TV ao vivo, filmes e canais interativos gratuitamente. 600 canais de TV, 45.000 filmes gratuitos, documentários e muito mais.","WEBSITE_ADDONS_OPENSUBTITLES":"Legendas de filmes e TV em vários idiomas. Milhares de legendas traduzidas e carregadas todos os dias.","WEBSITE_ADDONS_COMMUNITY":"Addons da comunidade","WEBSITE_ADDONS_FILMON_VOD":"Assista a vídeos sob demanda do Filmon.tv","WEBSITE_ADDONS_TWICH":"Assista transmissões ao vivo do Twitch.tv - a plataforma de streaming de vídeo para a indústria de e-sports.","WEBSITE_ADDONS_VODO":"Assista filmes independentes totalmente grátis.","WEBSITE_ADDONS_NETFLIX":"Assista filmes e séries da Netflix.","WEBSITE_ADDONS_CREATE":"Crie um Addon.","WEBSITE_ADDONS_CREATE_P1":"Se desejar, você pode desenvolver sua próprio Addon. Desta forma, você pode proporcionar a você e a nossa comunidade acesso a novos conteúdos de vídeo, e alcançar um novo público-alvo de milhões de usuários em todo o mundo.","WEBSITE_ADDONS_START_CREATE":"Para iniciar, visite a página do Kit de Desenvolvimento de Addons da Stremio:","WEBSITE_DOWNLOADS":"Baixar","WEBSITE_DOWNLOADS_P1":"Para um desempenho ideal, recomendamos que você use a versão mais recente disponível das aplicações Stremio. Se por algum motivo, no entanto, você prefira usar uma versão mais antiga, você pode baixá-la aqui.","WEBSITE_DOWNLOADS_P1_SHORT":"Para um desempenho ideal, recomendamos que você use a versão mais recente disponível dos aplicativos Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio para Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio para MacOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio para Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio para Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio para Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio para Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio para Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio para iOS (versão limitada)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio para Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio para LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio para Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio para Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio para Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio para Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio para Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio para o Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio para o Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio para Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio para Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio para o navegador","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Procure o Stremio na App Store dos modelos de TV Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Procure o Stremio na App Store dos modelos de TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Procure por Stremio no aplicativo Play Store na TV Sony com Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Procure por Stremio no aplicativo Play Store na Philips TV com Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Procure por Stremio na loja de aplicativos na Philips TV com o TitanOS (versão limitada)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Procure o Stremio na App Store do teu dispositivo Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guia para Stremio OS no RPI","WEBSITE_LINK_GUIDE":"Guia","WEBSITE_DOWNLOAD_SERVICE":"Baixar o Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service é um aplicativo complementar para o Stremio Web. Recomendamos o uso da versão mais recente disponível do Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service para Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service para macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service para Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service para Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio para Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Mais opções de download","WEBSITE_DOWNLOAD_NEW":"Novo!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Lançamos o Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Lançamos o Stremio para a Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Lançamos o Stremio para a LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Lançamos o Stremio para Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Lançamos o Stremio para Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Lançamos Stremio 5 para o Windows","WEBSITE_CONTRIBUTE":"Contribuir","WEBSITE_CONTRIBUTE_P1":"A plataforma Stremio é de código aberto e você pode criar facilmente um Addon para o conteúdo que atualmente não é fornecido.","WEBSITE_CONTRIBUTE_WHY":"Por que você deve criar um Addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Alcance novo público para o conteúdo do seu vídeo","WEBSITE_CONTRIBUTE_WHY_P2":"A base de usuários do Stremio está crescendo rapidamente - no primeiro ano de lançamento, o Stremio ganhou 1 milhão de usuários em todo o mundo e, no segundo ano de existência da plataforma, esse número cresceu para 2,5 milhões.","WEBSITE_CONTRIBUTE_WHY_P3":"Com a seu Addon, você pode alcançar facilmente esta audiência e distribuir o seu conteúdo em vídeo para eles.","WEBSITE_CONTRIBUTE_ALL":"Assista seus filmes, séries, vídeos e canais favoritos em um único lugar.","WEBSITE_CONTRIBUTE_ALL_P1":"Você é fã de um tipo de conteúdo que ainda não está disponível no Stremio? Crie um Addon para isso, e aprecie assistir seus vídeos favoritos em um dos maiores e mais fáceis de se usar hub de entretenimento do mercado.","WEBSITE_CONTRIBUTE_ALL_P2":"Além disso, você obterá a infinita gratidão de outros membros da comunidade Stremio com ideias semelhantes","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize seu Addon e ganhe dinheiro com a ajuda dela","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Uma vez que você desenvolve um novo Addon para o Stremio, você pode facilmente monetizá-lo através de várias maneiras diferentes. Se você está considerando isso, sinta-se à vontade para entrar em contato conosco no ","WEBSITE_CONTRIBUTE_MONETIZE_E":"Addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - nós ficaríamos felizes em lhe instruir e aconselhá-lo sobre as opções de monetização de seu Addon.","WEBSITE_CONTRIBUTE_TRANSLATE":"Torne-se um tradutor voluntário","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Se você deseja aproveitar as aplicações do Stremio em diferentes idiomas, você pode se juntar à nossa comunidade de tradutores voluntários. Eles nos ajudam a adicionar versões do Stremio em vários idiomas diferentes.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Você está ansioso para começar?","WEBSITE_TRANSALTE_STREMIO":"Traduza o Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunidades oficiais","WEBSITE_COMMUNITY_OFFICIALS_P1":"Torne-se parte da crescente comunidade Stremio. Siga-nos nas redes sociais e não se sinta intimidado em nos dizer um \\"Olá\\" - amamos saber de nossos fãs!","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunidades não oficiais","STREMIO_COMMUNITY_NL":"Stremio Nova Zelândia","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemanha","STREMIO_COMMUNITY_BELGIUM":"Stremio Bélgica","STREMIO_COMMUNITY_FRANCE":"Stremio França","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Itália","STREMIO_COMMUNITY_UK":"Stremio Reino Unido","STREMIO_COMMUNITY_USA":"Stremio EUA","STREMIO_COMMUNITY_MEXICO":"Stremio México","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"O melhor do Stremio","WEBSITE_COMMUNITY_PARTNERS":"Apoiadores e parceiros","WEBSITE_COMMUNITY_GOODIES":"Brindes Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Papéis de Parede","WEBSITE_COMMUNITY_ART":"Galeria de Arte Comunitária","WEBSITE_LINK_ART":"Galeria de arte comunitária","WEBSITE_CONTACT_US":"Fale conosco","WEBSITE_CONTACT_US_P1":"Caso tenha dúvidas, comentários ou sugestões, sinta-se à vontade para entrar em contato conosco através do formulário abaixo.","WEBSITE_CONTACT_US_P2":"Lembre-se de que estamos localizados na Bulgária, por isso, pode haver uma demora no atendimento da sua consulta devido às diferenças de fuso horário.","WEBSITE_CONTACT_US_SUCCESS":"Sua mensagem foi enviada. Nós entraremos em contato com você o mais breve possível.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Por favor, digite um e-mail válido!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Com o que sua pergunta está relacionada?","WEBSITE_CONTACT_US_Q_OS":"Qual o seu sistema operacional?","WEBSITE_CONTACT_US_PH_EMAIL":"Seu email","WEBSITE_CONTACT_US_PH_MESSAGE":"Mensagem","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVIAR","WEBSITE_CONTACT_US_Q_1":"Como instalar?","WEBSITE_CONTACT_US_Q_2":"Como desinstalar?","WEBSITE_CONTACT_US_Q_3":"(HTML) Como fazer lasanha?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"MacOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnologia","WEBSITE_TECHNOLOGY_P1":"Nós amamos tecnologia e ciência maluca. Aqui estão os poderes do Stremio (tudo em código aberto).","WEBSITE_TECHNOLOGY_P_QT":"Desenvolvimento de software multiplataforma em seu melhor.","WEBSITE_TECHNOLOGY_P_MPV":"Um reprodutor de mídia gratuito, de código aberto e multiplataforma.","WEBSITE_TECHNOLOGY_P_RN":"O React Native permite que você crie aplicativos mobile usando apenas JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Framework de mídia embutido no aplicativo para recursos multimídia","WEBSITE_TECHNOLOGY_P_REALM":"Realm é uma plataforma mobile e um substituto para SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js é um ambiente em tempo de execução multiplataforma e de código aberto para JavaScript.","WEBSITE_TECHNOLOGY_P_RUST":"Rust é uma linguagem de programação multi-paradigma focada em segurança, especialmente concorrência segura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribua com o projeto","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Há duas maneiras que você pode contribuir com o Stremio e nos ajudar a tornar o produto ainda melhor.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Você pode doar suas valiosas habilidades linguísticas para traduzir a plataforma...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ou","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"...você pode usar suas habilidades de codificação para criar Addons comunitárias.","WEBSITE_TRANSLATE_STREMIO":"Traduza o Stremio","WEBSITE_404_OH_NO":"Ops! A página que você está procurando não está aqui...","WEBSITE_GO_HOME":"Principal","WEBSITE_LINK_OTHER_DOWNLOADS":"Outros downloads","WEBSITE_FAQ_ABR":"Dúvidas Frequentes","WEBSITE_SUPPORT":"Ajuda","WEBSITE_DOWNLOAD_4_0_BETA":"Baixe agora o Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Baixe para seu PC","WEBSITE_LINK_ADDON_COMPETITION":"Competição de Addon","WEBSITE_LINK_ART_CONTEST":"Concurso de arte","WEBSITE_MY_ACCOUNT":"Minha conta","WEBSITE_MAINPAGE_FAQ_001_H1":"O que é Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"O Stremio é um moderno centro de mídia que oferece a liberdade de assistir tudo o que você deseja.","WEBSITE_MAINPAGE_FAQ_002_H1":"Como funciona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Depois de instalar o Stremio no seu dispositivo e criar uma conta, tudo o que você precisa fazer é visitar o catálogo de Addons e instalar qualquer Addon que desejar, e pronto!","WEBSITE_MAINPAGE_FAQ_002_P2":"Depois disso, você pode ir para as seções Descubra ou Painel para começar a explorar o conteúdo.","WEBSITE_MAINPAGE_FAQ_003_H1":"O que posso assistir aqui?","WEBSITE_MAINPAGE_FAQ_003_P1":"Diversos filmes, programas de TV, canais da Web, esportes, canais de TV, ouvir podcasts e muito mais. Graças ao nosso sistema de Addons, você pode acessar uma variedade de conteúdos.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio é de código aberto?","WEBSITE_MAINPAGE_FAQ_004_P1":"Sim, você pode verificar os seguintes links: ${1}aplicativo de desktop${2} e ${3}organização GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio é seguro?","WEBSITE_MAINPAGE_FAQ_005_P1":"Sim. Por ser um software de código aberto, o código é auditável publicamente e você pode revisá-lo.","WEBSITE_MAINPAGE_FAQ_005_P2":"O sistema de Addon do Stremio também foi criado com a segurança do usuário em mente. Os Addon não executam nenhum código localmente, portanto, não representam riscos para o seu dispositivo","WEBSITE_MAINPAGE_FAQ_006_H1":"E a minha privacidade?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respeitamos a privacidade dos usuários e não coletamos dados pessoais além do mínimo essencial para criar e sincronizar sua conta.","WEBSITE_MAINPAGE_FAQ_006_P2":"Há também um ${1}modo visitante ${2}na inscrição, que não requer dados: neste modo, nenhuma chamada é feita para o nossos servidores. No entanto, isso ocorre à custa de recursos úteis, como sincronizar sua biblioteca entre dispositivos.","WEBSITE_MAINPAGE_FAQ_007_H1":"Posso transmitir para minha TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Sim, suportamos o Chromecast e você pode transmitir a partir de aplicativos para computador e dispositivos móveis (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Quantos Addons o Stremio possui?","WEBSITE_MAINPAGE_FAQ_008_P1":"No final de 2019, acima de 50 - para obter mais informações, consulte nosso catálogo de Addons.","WEBSITE_MAINPAGE_FAQ_009_H1":"O Stremio pode ser estendido além do que está no catálogo de Addons?","WEBSITE_MAINPAGE_FAQ_009_P1":"Sim, você deve checar estes: ${1}PimpMyStremio${2}, ${3}Comunidades Reddit${4}, ${5}Downloader Stremio${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Quais dispositivos o Stremio suporta?","WEBSITE_MAINPAGE_FAQ_010_P1":"Temos aplicativos de desktop para Windows, Mac e Linux. Para dispositivos móveis, suportamos Android e iOS, embora tenha em mente que a funcionalidade do iOS é limitada (não é compatível com a maioria das Addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"Existem muitos dispositivos baseados no Android nos quais você pode executar o Stremio, como NVIDIA Shield e Amazon Fire Stick, mas não os suportamos oficialmente.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Temos aplicativos de desktop para Windows, Mac e Linux. Também temos aplicativos dedicados para dispositivos móveis Android e Android TV. Para iOS e iPadOS, sugerimos usar o Stremio Web, embora ele seja mais limitado em funcionalidade.","WEBSITE_MAINPAGE_FAQ_011_H1":"Você pode adicionar determinado conteúdo ao Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Desculpe, mas nós não fornecemos conteúdo, porém quanto mais Addons do Stremio você instalar, mais conteúdo você poderá encontrar.","WEBSITE_MAINPAGE_FAQ_012_H1":"O Stremio pode reproduzir links magnéticos?","WEBSITE_MAINPAGE_FAQ_012_P1":"Sim, e também pode reproduzir links HTTP normais e arquivos torrent (arrastar e soltar).","WEBSITE_MAINPAGE_FAQ_013_H1":"Posso baixar um vídeo e assistir offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"O modo offline estará disponível futuramente, porém se você permitir que o Stremio faça cache no dispositivo (no painel de configurações), poderá assistir aos vídeos mais tarde, sem conexão.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nada funciona, me ajude!","WEBSITE_MAINPAGE_FAQ_014_P1":"Tem certeza de que instalou Addons? Se sim, verifique nossa ${1}central de ajuda${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Como o Stremio sustenta suas operações de desenvolvimento?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ocasionalmente, exibimos anúncios não intrusivos, mas estamos pensando em mudar para um modelo de doação.","WEBSITE_MAINPAGE_FAQ_015_P2":"Para mais dúvidas, visite nossa ${1}central de ajuda${2}.","HELP_LEARN_MORE":"Ajude-nos a aprender mais sobre você.","LIFESTYLE":"Estilo de vida","SPORTS":"Esportes","FOOD_HEALTH":"Gastronomia e Saúde","BEAUTY_FASHION":"Moda e Beleza","NEWS":"Notícias","GAMING":"Jogos","SCIENCE_EDUCATION":"Ciência e Educação","MUSIC":"Música","TRAVEL":"Viagens","LATE_NIGHT":"Tarde da Noite","REALITY":"Realidade","COMEDY":"Comédia","DIY":"Faça você mesmo","TECH":"Tecnologia","CINEMA":"Cinema","CONTINUE":"Continuar","SLOW_LOADING":"CARREGAMENTO LENTO?","I_GIVE_UP":"EU DESISTO","LEARN_MORE":"Saiba mais","POOR_SOURCE":"Esta fonte possui baixa disponibilidade ou a sua conexão à internet não é suficientemente rápida","PICK_CATEGORIES_ERR":"Você precisa escolher ao menos 3 categorias","ADJUST_TIMING":"Ajustar tempo com ","ADJUST_SIZE":"Ajustar tamanho com ","SEARCH_ANYTHING":"Você Pode Pesquisar Qualquer Coisa...","ALL_CATEGORIES":"Todas","SEARCH_CATEGORIES":"Filmes, Séries, YouTube & TV","SEARCH_PERSONS":"Atores, Diretores & Escritores","SEARCH_PROTOCOLS":"HTTP & Links Magnéticos","SEARCH_TYPES":"links IMDB / TVDB","WATCHED":"Visto","SHOW_LESS":"Mostrar menos","LAST_SEARCHES":"Últimas pesquisas","CLEAR_HISTORY":"Limpar histórico","CHOOSE_SOME":"ESCOLHA ALGUNS DESTES:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"O Web Remote não pôde ser carregado","STREMIO_OFFLINE":"Stremio está offline","STREMIO_EXPENSIVE_CONNECTION":"A conexão de rede é custosa","USE_DATA":"Dados Móveis","WARNING":"Aviso","MORE_INFO":"Mais Informações ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Carregando ...","STREMIO_TV_BACK_TO_LANGUAGES":"Voltar para idiomas","STREMIO_TV_REMOTE":"Remoto","STREMIO_TV_GO_TO":"Ir Para:","STREMIO_TV_OR_SCAN":"ou buscar:","STREMIO_TV_ADDON_INSTRUCTIONS":"Por favor, siga as instruções a fim de instalar suas Addons favoritas.","STREMIO_TV_LIVE_TV":"TV Ao vivo","STREMIO_TV_RESUME_WATCHING":"Continuar assistindo","STREMIO_TV_LOADING_BACKGROUND":"Carregando Plano de Fundo","STREMIO_TV_CHECKING_AUTHENTICATION":"Checando Autenticação","STREMIO_TV_LOADING_BOARD":"Carregando Painel","STREMIO_TV_LOGIN_HEADER_LINE_1":"Queremos que nossos usuários tenham a melhor experiência personalizada possível com nosso programa.","STREMIO_TV_LOGIN_HEADER_LINE_2":"É por esta razão que nos gentilmente pedimos que faça e/ou logue em sua conta.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Obrigado por entender,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Equipe Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"A fim de usar o Web Remote com seu Smartphone / Tablet / PC:","STREMIO_TV_WIFI_SETUP":"Configurar Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle não detectou conexão com a internet.","STREMIO_TV_WIFI_DETAILS_1":"Conectar com:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Usar senha:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Abra o navegador com o link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Padrão","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Por Último Assistido","STREMIO_TV_LIBRARY_SORT_NAME":"Por Nome","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Por Nome em ordem decrescente","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Por Vezes Assistido","STREMIO_TV_LIBRARY_SORT_WATCHED":"Por assistidos","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Por não assistidos","STREMIO_TV_DETAILS_SEASON_NUMBER":"Temporada ${1}","STREMIO_TV_STREAMS_LOADING":"Carregando ${1} / ${2} Addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} o Addon ainda esta carregando...","STREMIO_TV_PLAYER_SETTINGS":"Configurações do player","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Atraso das legendas","STREMIO_TV_PLAYER_AUDIO_DELAY":"Atraso de áudio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Dimensionamento de vídeo","STREMIO_TV_PLAYER_CHAPTERS":"Capítulos","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Pular ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Fonte de stream não suportada","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Falha ao abrir link externo","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Não ajustável no modo de passagem de áudio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Tocar com ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Tocar com player libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Mudando para o player libVLC devido a um erro de reprodução","STREMIO_TV_ADDONS_TITLE":"Use o Stremio em seu telefone ou PC para instalar ou configurar Addons e pressione \\"Sincronizar Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: verifique se você está usando a mesma conta Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizar Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons sincronizados com sucesso","STREMIO_TV_ADDONS_SYNC_FAILED":"Falha ao sincronizar Addons","STREMIO_TV_META_LINK_FAILED":"Falha ao abrir o meta link","STREMIO_TV_CATALOG_LOADING":"Catálogo ainda carregando...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Idioma da interface atualizado","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema atualizado","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Player Padrão","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Player Externo","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Idioma Preferido","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Idioma Secundário Preferido","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Reprodução em túnel","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possíveis problemas de reprodução em alguns dispositivos","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Alguns formatos de vídeo podem não funcionar","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Correspondência de taxa de quadros","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Desativado","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Apenas Taxa de Quadros","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Taxa de Quadros e Resolução","STREMIO_TV_SETTINGS_NO_CACHING":"Sem cache","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Padrão","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Suave","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rápido","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Rápido","STREMIO_TV_SETTINGS_SERVER_URL":"URL do servidor de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versão do servidor","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Desconhecido","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versão do Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Editar URL do servidor","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Insira um URL de servidor de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostrar estatísticas durante o carregamento","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Para ler a Política de Privacidade do Stremio, visite:","STREMIO_TV_SETTINGS_TOS_TEXT":"Para ler os Termos e Condições do Stremio, visite:","STREMIO_TV_NAV_SEARCH":"Procurar","STREMIO_TV_NAV_HOME":"Início","STREMIO_TV_NAV_DISCOVER":"Descobrir","STREMIO_TV_NAV_LIBRARY":"Biblioteca","STREMIO_TV_NAV_MOVIES":"Filmes","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Canais","STREMIO_TV_NAV_TV":"TV ao vivo","STREMIO_TV_NAV_SETTINGS":"Configurações","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Vincular Contas","STREMIO_TV_LOGIN_EXPIRES_IN":"Expira em","STREMIO_TV_LOGIN_STEP_ONE":"Escaneie o QR Code acima ou acesse","STREMIO_TV_LOGIN_STEP_TWO":"Faça login na sua conta Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Solicitar um novo link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Código de login atualizado","STREMIO_TV_SEARCH_PLACEHOLDER":"Digite algo","STREMIO_TV_SEARCH_NO_ADDONS":"Nenhum Addon foi solicitado para catálogos!","STREMIO_TV_SEARCH_BUTTON":"Procurar","STREMIO_TV_SEARCH_KEY_DEL":"Deletar","STREMIO_TV_SEARCH_KEY_SPACE":"Espaço","STREMIO_TV_SEARCH_KEY_CLEAR":"Limpar","STREMIO_TV_SEARCH_HISTORY_TITLE":"Histórico de pesquisa","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Você pode pesquisar por Títulos, Atores, Canais e muito mais...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Limpar histórico de pesquisa","STREMIO_TV_FILTERS_DESCRIPTION":"Escolha um dos filtros abaixo","STREMIO_TV_STREAMING_SERVER_OFFLINE":"O Servidor de Streaming está offline. Verifique as Configurações do Servidor.","FILTERS":"Filtros","SETTINGS":"Configurações","ACCOUNT":"Conta","LOGOUT":"Sair","THEMES":"Temas","PLAYBACK":"Reprodução","PLAYBACK_SPEED":"Velocidade de reprodução","AUDIO_TRACKS":"Faixas de áudio","UNKNOWN_TRACK_LANG":"Desconhecido","VIDEOS":"Vídeos","SERVER":"Servidor","LINKS":"Links","ABOUT":"Sobre","INTERFACE":"Interface","ANIMATIONS":"Animações","STATUS":"Status","LANGUAGE":"Idioma","SIZE":"Tamanho","DELAY":"Atraso","BOLD":"Negrito","OPACITY":"Opacidade","TEXT_COLOR":"Cor do texto","OUTLINE_COLOR":"Cor do contorno","BACKGROUND_COLOR":"Cor de fundo","BACKGROUND_BLUR":"Desfoque de fundo","SEEK_TIME_DURATION":"Duração do tempo de busca","AUTO_PLAY":"Reproduzir automaticamente o próximo episódio","PLAY_NOW":"Reproduzir agora","MARK_AS_WATCHED":"Marcar como assistido","MARK_AS_UNWATCHED":"Marcar como não assistido","REWIND_TO_BEGINNING":"Retornar ao início","CONTINUE_WATCHING":"Continuar assistindo","ALL":"Tudo","SECONDS":"segundos","ON":"ON","OFF":"OFF","RELOAD":"Recarregar","EDIT_URL":"Editar URL","URL":"URL","NONE":"Nenhum","EMBEDDED":"Embutido","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Trocar aparelhos","REMOTE_VIDEOS":"Vídeos","REMOTE_ADJUST_TIMING":"Ajustar o tempo","REMOTE_ADJUST_SIZE":"Ajustar o tamanho","REMOTE_COULD_NOT_BE_LOADED":"Web Remote não pôde ser carregado","REMOTE_RETRY":"Tentar novamente","TORRENT_PROFILE_DEFAULT":"Padrão","TORRENT_PROFILE_SOFT":"Suave","TORRENT_PROFILE_FAST":"Rápido","TORRENT_PROFILE_ULTRA_FAST":"Ultra Rápido","MB_S":"MB/s","FAQ_001_H1":"O que é Stremio?","FAQ_001_P1":"Stremio é um programa de mídia centralizada desenhada para video entretenimento com facilidade de uso em mente. Stremio permite a você organizar & assistir sua própria coleção de vídeos, séries, canais e Tvs ao Vivo.","FAQ_001_P2":"Stremio cataloga o conteúdo e apresenta pra você de seu disco local e de nosso sistema de Addons.","FAQ_001_P3":"Também irá notificá-lo quando novos episódios/vídeos/filmes que você estiver interessado sair, e mostrará recomendações de filmes para você.","FAQ_02_H1":"Como Stremio se compara ao Kodi e Plex?","FAQ_02_P1":"Nós nos inspiramos nos dois programas, mas temos diferentes objetivos - Stremio é especificamente voltado para vídeo entretenimento. Batalhamos para sermos a solução padrão para isso, tendo em foco a facilidade de uso.","FAQ_02_P2":"Stremio nunca será tão customizável e com ricos recursos como Kodi e Plex, mas sendo significativamente mais fácil de usar. Simplesmente ${1} pegue isso e veja ${2} :)","FAQ_03_H1":"Como Stremio se compara ao Netflix?","FAQ_03_P1":"Novamente, Netflix é uma de nossas inspirações. Trabalharemos arduamente para atingir a experiência de uso proporcionada pelo Netflix, e mais um porção de melhorias. No entanto, o mais importante, nós estamos dando a você a liberdade de gerenciar sua própria biblioteca e adicionar novas fontes de conteúdos com o nosso sistema de Addons.","FAQ_03_P2":"Isso faz do Stremio infinitamente extensível, e então quando você usá-lo, você nunca ficará limitado ao conteúdo que o Netflix decida licenciar. Por exemplo, através do Stremio você pode assistir conteúdo de ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} e mesmo ${9}Netflix${10}!","FAQ_04_H1":"Como Stremio se compara ao Flipboard?","FAQ_04_P1":"Raramente recebemos esta questão, exceto quando falamos com pessoas iniciantes :)","FAQ_04_P2":"Stremio é desenhado como um agregador de conteúdo, ao qual essencialmente Flipboard o faz para vídeo. Isso é muito parecido em nosso painel, ao qual da a você catálogos e notificações de novos episódios/novos vídeos que você segue, tal qual Flipboard.","FAQ_05_H1":"Como Stremio se compara ao Popcorn Time?","FAQ_05_P1":"Stremio e Popcorn Time são similares em interface de uso, porque não há muitas maneiras de fazer catálogo de vídeo entretenimento, certo? :)","FAQ_05_P2":"Mas enquanto o Popcorn Time tem o foco em entrega de torrents de fontes específicas, Stremio não possui restrição e é meramente um agregador de conteúdo - não é travado em uma fonte de conteúdo específica.","FAQ_05_P3":"Além disso, nós não provemos nenhum Addon para torrent por padrão, então Stremio não cobre o caso de uso do Popcorn Time na sua funcionalidade oficial.","FAQ_05_P4":"Uma outra diferença notável é que o Popcorn Time é completamente de código aberto, enquanto Stremio é ${1} parcialmente de código aberto ${2}.","FAQ_06_H1":"Vocês que adicionam estes filmes/séries?","FAQ_06_P1":"Não, desculpe :(","FAQ_06_P2":"Como já mencionamos em muitas outras questões, Stremio não provê nenhum conteúdo por si próprio - tudo é adicionado diretamente pelo sistema de Addons. Caso queira solicitar algum conteúdo, você pode usar o botão “Reporte” no reprodutor, ao qual irá enviar um email para o autor do Addon ao qual está usando.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Vocês criarão Addons para X?","FAQ_08_P1":"Isso é inteiramente possível.","FAQ_08_P2":"Se você tem uma ideia para um Addon, escreva para ${1}office@stremio.com${2}, mas por favor, tenha certeza de que a ideia desse Addon não irá infringir nenhum direito de propriedade intelectual ou termos de uso.","FAQ_08_P3":"No momento, os próximos movimentos em nosso projeto são Addons para FandangoNOW, vídeo sob demanda no Filmon.tv e Crunchyroll.","FAQ_09_H1":"Stremio usa BitTorrent?","FAQ_09_P1":"Sim. Stremio suporta BitTorrent como um protocolo streaming. Você pode usá-lo com a Addon torrent ou por arrastar e soltar um arquivo .torrent dentro do Stremio, ou mesmo colando um link magnético dentro do campo de busca.","FAQ_09_P2":"Por favor, note que único Addon oficial que usa BitTorrent é ${1}Vodo${2}, ao qual provê produção independente, todos permitidos para serem distribuídos com BitTorrent.","FAQ_09_P3":"Nós não suportamos o uso de qualquer Addon de terceiro ao qual pode viabilizar o infringimento de leis de direitos.","FAQ_10_H1":"O que posso assistir no Stremio com as Addons oficiais?","FAQ_10_P1":"Por padrão, você pode assistir conteúdo do Filmon.tv, YouTube e Vodo dentro do Stremio com o reprodutor interno. Adicionalmente nós temos um Addon para Twitch.tv e alguns outros.","FAQ_10_P2":"Este combinado provê uma seleção de:","FAQ_10_L1":"Canais de TV populares, provido por Filmon.tv - por exemplo E4, BBC, Bollyworld TV","FAQ_10_L2":"Tudo do YouTube - por exemplo BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Filmes independentes com Vodo","FAQ_10_L4":"Transmissão de jogos online com Twitch.tv","FAQ_10_P3":"Adicionalmente, há muitas fontes de conteúdo providas com Guidebox e Addons Netflix, ao qual não reproduzem inteiramente dentro do Stremio, mas pode redirecionar para o dado serviço. Por exemplo, o Addon Guidebox lhe dá uma seleção de filmes que você pode obter conteúdo streaming dentro dos Estados Unidos de graça de serviços como TubiTV e Crackle.","FAQ_11_H1":"Stremio não instala, o que devo fazer?","FAQ_11_P1":"Se você usa Windows, tente ${1}este instalador alternativo${2}.","FAQ_11_P2":"Pra quem usa Mac OS X, por favor esteja ciente que nós não suportamos versões inferiores a OS X Mavericks (10.9).","FAQ_11_P3":"Caso esteja usando Linux, fique avisado que nós damos suporte apenas para a versão 64 bits (x64) no momento.","FAQ_11_P4":"Se não ainda não conseguiu resolver seu problema, por favor nos mande uma mensagem no ${1}Grupo do Facebook${2}.","FAQ_12_H1":"Por que meu antivírus reclama? O Stremio é seguro?","FAQ_12_P1":"Nós lhe asseguramos que o Stremio é ${1}100% limpo${2}.","FAQ_12_P2":"Seu antivírus está reclamando porque nós incluímos propaganda em nosso instalador, e isso faz com que o Stremio seja classificado como um ad-ware.","FAQ_12_P3":"Se você não está seguro, você pode usar nosso ${1}instalador alternativo${2}.","FAQ_13_H1":"Como posso fazer um Addon?","FAQ_13_P1":"Para iniciantes, recomendados que leiam nosso ${1}módulo de sistema de Addon${2} no GitHub.","FAQ_13_P2":"Todavia, você pode seguir o ${1}Tutorial Olá Mundo${2}.","FAQ_13_P3":"Se você não tem nenhum conhecimento em programação, por favor poste sua ideia na ${1}comunidade Reddit${2} e nos contate com sua ideia de Addon no ${3}office@stremio.com${4}.","FAQ_14_H1":"Como as Addons são publicadas?","FAQ_14_P1":"Quando você cria um Addon e hospeda e coloca um campo endpoint no seu manifest, ao qual aponta para endereço de Addon ativo, o Addon irá automaticamente se auto-publicar em nosso ${1}Catálogo de Addons${2}.","FAQ_14_P2":"Isso acontece porque parte do servidor do módulo de Addon do Stremio automaticamente faz uma chamada para nossa API para publicar o Addon. Quando nossa API valida seu endpoint como um Addon válida, isso irá constar no catálogo.","FAQ_15_H1":"Eu posso executar o Stremio no navegador?","FAQ_15_P1":"No momento não, mas em breve !","FAQ_15_P2":"Se você está curioso para ver uma versão Alpha, você pode acessar aqui: ${1}alpha4.strem.io${2}. Tenha em mente que o streaming está desabilitado. Damos suporte para Chrome, Firefox, Opera e Edge.","FAQ_16_H1":"Transmissão para a TV não funciona / legendas não funcionam","FAQ_16_P1":"Transmissão para a TV usa a tecnologia DLNA que é muito inconsistente entre modelos de fabricantes diferentes. Por esta razão, nós não temos a habilidade de testar em cada caso, então estamos longe da perfeição. Estamos trabalhando em melhorar constantemente, mas nós não podemos lhe dar uma estimativa de tempo de quando a tecnologia DLNA funcionará corretamente em sua TV.","FAQ_16_P2":"Se você ainda não vê sua TV no menu de transmissão, por favor tente desabilitar sua conexão de rede e habilite novamente (no Windows, click com botão direito em Rede e click em Habilitar/Desabilitar), também reinicie seu roteador, TV e PC.","FAQ_16_P3":"Se você ainda está encontrando problemas, você pode nos ajudar enviando as informação de seu modelo de TV e fabricante para ${1}office@stremio.com${2}.","FAQ_16_P4":"Em quanto isso nós recomendamos o Chromecast, ao qual suportamos muito bem, ou simplesmente plugando sua TV no seu PC com um cabo HDMI.","FAQ_17_H1":"Stremio congela ou trava, o que posso fazer?","FAQ_17_P1":"Primeiro de tudo, se você está usando Windows 7 com o antivírus AVG: nós temos problema com essa combinação. O problema é o próprio AVG, e não há uma solução definitiva para corrigirmos isso. Infelizmente, exceções ou desabilitar o antivírus não funciona. A única maneira é trocar seu antivírus.","FAQ_17_P2":"Se isso não é o problema, mas você ainda usa Windows, por favor atualize seu o sistema incluindo os drivers da GPU, e tente novamente.","FAQ_17_P3":"Se o seu problema continua sem solução, ou utiliza Mac ou Linux, por favor nos escreva reportando em detalhes o problema em ${1}nosso grupo no Facebook${2}.","FAQ_18_H1":"Como posso fazer um Addon?","FAQ_18_P1":"Para iniciantes nós recomendamos que veja nosso ${1}módulo de sistema de Addon${2} no GitHub.","FAQ_18_P2":"No entanto, você pode seguir pelo nosso ${1}tutorial Olá Mundo!${2}.","FAQ_18_P3":"Se você não tem nenhuma habilidade em programação, por favor, poste sua ideia na ${1}comunidade do Reddit${2} e nos contate com sua ideia de Addon em ${3}office@stremio.com${4}.","FAQ_19_H1":"Por que o Stremio está ocupando espaço em disco?","FAQ_19_P1":"Stremio tem um cache local para temporariamente deixar os arquivos de vídeo descarregados.","FAQ_19_P2":"Isso tem dois benefícios: primeiro, permite ao Stremio pré carregar o vídeo para garantir uma transmissão suave. Segundo, isso deixa os vídeos no cache local para que você possa continuar assistindo off-line.","FAQ_19_P3":"Quanto o Stremio depende da configuração do Cache no painel de Configurações. Stremio pode manter uma quantidade (por exemplo, 2GB) no seu disco, a menos que o vídeo descarregado seja maior do que isso, caso em que deve haver espaço suficiente para mantê-lo enquanto o descarrega.","FAQ_20_H1":"Onde está a pasta do cache?","FAQ_20_P1":"No Windows, o cache do Stremio fica no drive ao qual você selecionou nas configurações (exemplo \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"No MacOS, fica localizado em \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"No Linux, fica localizado em \\"~/.stremio/stremio-cache\\" ou \\"~/stremio-cache\\"","FAQ_21_H1":"Eu recebi a mensagem de erro \\"Servidor de streming não encontrado\\", o que posso fazer?","FAQ_21_P1":"Se você recebeu esta mensagem, isso implica em uma das possibilidades:","FAQ_21_P2":"1) Você está tentando usar um Addon suportada pelo código do YouTube/BitTorrent, através de nossa ${1}versão web${2}. Nesse caso, você deve instalar nossa versão para desktop de ${3}nosso website${4}.","FAQ_21_P3":"2) Há algo de errado com a instalação do Stremio. Neste caso, tente reinstalar nossa versão mais recente ${1}do website${2}. Se isso não ajudar, tente desabilitar os programas de antivírus e firewall, reinicie seu PC e tente novamente. Se isso não funcionar, por favor nos contate pelo ${3}nosso grupo do Facebook${4}.","FAQ_22_H1":"Eu não posso ver/usar a maioria das Addons no iOS","FAQ_22_P1":"Devido as restrições nos termos e condições da loja da Apple, nós temos restringido somente aplicativos iOS de um grupo particular de Addons.","FAQ_22_P2":"Mas esteja avisado - haverão mais Addons para iOS no futuro, e nós poderemos também adicionar uma integração que permitirá o uso de todas Addons do Stremio graças a conexão do aplicativo iOS com o servidor de Streaming do Stremio."}')},86489:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filme","TYPE_series":"Série","TYPE_tv":"Canal de TV","TYPE_channel":"Canal","TYPE_other":"Outro","TYPE_movie_PL":"Filmes","TYPE_series_PL":"Séries","TYPE_tv_PL":"TV","TYPE_channel_PL":"YouTube","TYPE_other_PL":"Outros","TYPE_ALL":"Tudo","TYPE":"Tipo","CATALOG_com_linvo_cinemeta_top":"Populares","CATALOG_com_linvo_cinemeta_imdbRating":"Em destaque","CATALOG_com_linvo_cinemeta_year":"Novidades","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Filmes de domínio público","VIDEO":"Vídeos","BACK":"Voltar","MORE":"Mais","DONE":"Concluído","COPY":"Copiar","SUCCESS":"Com sucesso","ERROR":"Erro","SETTINGS_CASTING_MODE_PICKER":"Modo de casting","CASTING_MODE_HLSV2":"Predefinido","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Sem transcodificação","Discover":"Explorar","Board":"Painel","Library":"Biblioteca","My Library":"A minha biblioteca","Calendar":"Calendário","NOTIFICATION_ONLINE":"Estás online","NOTIFICATION_OFFLINE":"Estás offline","INTERNET_CONNECTION":"Ligação à Internet","STORAGE_FULL_TITLE":"Aviso: Armazenamento cheio!","STORAGE_FULL_TEXT":"Não será possível guardar as definições ou informações de conta. Considera fechar o Stremio e voltar a abrir, caso este erro persista, poderás ter de reinstalar o Stremio.","SEARCH":"Pesquisar","SEARCH_NO_RESULTS":"Não foram encontrados resultados","SEARCH_EXPLANATION_CONTENT":"Pesquisa por filmes, séries, canais YouTube e de TV","SEARCH_EXPLANATION_PEOPLE":"Pesquisa por atores, realizadores e argumentistas","SEARCH_PASTE_LINKS":"Colar links HTTP e Magnet","SEARCH_OR_PASTE_LINK":"Pesquisa ou cola o link","SEARCH_SUGGESTIONS":"Sugestões de pesquisa","ADD_TO_LIB":"Adicionar à biblioteca","REMOVE_FROM_LIB":"Remover da biblioteca","ADDED_TO_LIB":"Adicionado à biblioteca","REMOVED_FROM_LIB":"Removido da biblioteca","TRAILER":"Trailer","WATCH_TRAILER":"Ver trailer","WATCH_NOW":"Ver agora","SHOW":"Mostrar","SHOW_MOVIE":"Mostrar filme","WATCH_RANDOM":"Ver aleatório","IMDB_RATING":"Classificação IMDb","YEAR":"Ano","DIRECTOR":"Realizador","WRITER":"Argumentista","LEAD_ACTORS":"Elenco principal","CAST":"Elenco","CREW":"Equipa técnica","SHOW_MORE_CAST":"Mostrar mais »","AIRED":"Transmissão original","SEASONS":"Temporadas","GENRE":"Género","GENRE_ALL":"Todos os géneros","CATALOG":"Catálogo","SUMMARY":"Sinopse","SHOW_MORE":"Mostrar mais","SIMILAR":"Semelhante","UPCOMING":"Próximos","TBA":"TBA","ENDED":"Finalizados","DURATION":"Duração","FEATURED":"Destaque","METADATA":"Metadados","CATEGORY":"categoria","LINKS_GENRES":"Géneros","LINKS_CAST":"Elenco","LINKS_DIRECTORS":"Realizadores","SEARCH_VIDEOS":"pesquisar vídeos","SEARCH_PLACEHOLDER":"pesquisar ou colar link","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"oficial","ADDONS_OFFICIAL":"Addons oficiais do Stremio","ADDONS_POPULAR":"Populares na tua área","ADDON_FREE":"gratuito","ADDON_PEERED":"partilhado","ADDON_SUBSCRIPTION":"subscrição","ADDON_STREAM_GEORESTRICTED":"indisponível no teu país","ADDON_STREAM_OFFLINECACHE":"Cache offline","ADDON_STREAM_LOCALFILE":"Ficheiro local","SHARE_ADDON":"Partilhar addon","AVAILABLE_STREAMS":"Streams disponíveis","NO_STREAM":"Nenhuma stream disponível","ALL_ADDONS":"Tudo","INSTALL_MORE_ADDONS":"Para mais streams, por favor, instala mais addons","STREAM_NOT_SUPPORTED":"A stream escolhida não é suportada nesta plataforma.","ADDON_CATALOGUE":"Mostrar todos os addons »","ADDON_CATALOGUE_MORE":"Instalar addons »","REPO_ADDED":"Repositório adicionado","ADDON_REPO_EXIST_ERR":"Esta coleção de addons já existe","ADDON_REPO_ERR":"Ocorreu um erro ao adicionar a coleção","ADDON_ADD_ERR":"Ocorreu um erro ao adicionar o addon","ERR_ADDON_PROTECTED":"Não é possível desinstalar o addon, é protegido","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Ocorreu um erro - a autenticação falhou.","ERR_NOT_COLLECTION_URL":"Não é um link de coleção","ERR_NOT_ADDON_URL":"Não é um link de addon válido","ERR_DETECTFROMURL":"Não foi possível detetar o addon pelo link","ADDON_DUPLICATE_WARNING":"Aviso: addon duplicado","ADDON_COLLECTION_SET_FAILED":"A sincronização dos addons instalados para a tua conta falhou","SETTINGS_DATA_EXPORT":"Exportar dados","ADDON_PULL_FAILED":"A sincronização dos addons instalados a partir da tua conta falhou","REFRESH_ON_CLICK":"Clica para tentar novamente","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Filme ainda nos cinemas","WATCH_IN_CINEMA":"Vê-o no cinema mais perto de ti","IN_THEATER":"Nos cinemas","GET_TICKETS":"Obter bilhetes","UPCOMING_EPISODE":"Próximo episódio","UPCOMING_EPISODE_MESSAGE":"Este episódio estará disponível brevemente","MISSING_DATE_EPISODE":"Data do episódio em falta","MISSING_DATE_EPISODE_MESSAGE":"Este episódio ainda não foi transmitido","CHANNEL_NOT_SCRAPED":"Este canal não está disponível.
    Volta a tentar dentro de minutos.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Adiciona à biblioteca para receberes notificações quando estiver disponível.","GET_NOTIFIED_WHEN_AVAILABLE":"Serás notificado quando estiver disponível.","WARNING_STREAMING_SERVER":"Atenção: o servidor de transmissão local não foi encontrado. A transmissão através do YouTube e BitTorrent não estará disponível.","WARNING_STREAMING_SERVER_DISMISS":"Dispensar","WARNING_STREAMING_SERVER_LATER":"Mais tarde","DECODER_WARNING":"Atenção: provavelmente este vídeo não é compatível com o teu hardware. Tem em conta de que a reprodução poderá ser lenta.","GENERIC_ERROR_MESSAGE":"Alguma coisa correu mal!","TRY_AGAIN":"Tentar novamente","CLEAR_DATA":"Limpar dados","PLAYER_ERROR":"Ups, ocorreu um erro na reprodução","PLAYER_ERROR_LOOKSLIKE":"Isto parece ser","PLAYER_ORIENTATION":"Orientação da reprodução","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Bloqueado","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Reprodução bloqueada no modo paisagem","PLAYER_ORIENTATION_SENSOR":"Reprodução automática (sensor)","PLAYER_PLAYBACK_SPEED":"Velocidade de reprodução","PLAYER_PLAYBACK_ERROR":"Erro de reprodução, tente novamente","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Erro desconhecido","PLAYER_PLAYBACK_ERROR_DEFAULT":"Pedimos desculpa, este vídeo não pode ser transmitido por {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Idioma das legendas","PLAYER_SUBTITLES_VARIANTS":"Variantes das legendas","PLAYER_SUBTITLES_SETTINGS":"Definições das legendas","PLAYER_SUBTITLES_DISABLED":"As legendas estão desativadas","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posição vertical","PLAYER_SUBTITLES_LOADED":"Legendas carregadas","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Legendas incorporadas carregadas","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Legendas exclusivas carregadas","PLAYER_SUBTITLES_LOADED_LOCAL":"Legendas locais carregadas","PLAYER_SUBTITLES_LOADED_ORIGIN":"Legendas de {{origin}} carregadas","PLAYER_PLAY":"Reproduzir","PLAYER_PAUSE":"Colocar em pausa","PLAYER_NEXT_VIDEO":"Próximo vídeo","PLAYER_MUTE":"Silenciar","PLAYER_UNMUTE":"Ativar som","PLAYER_OPEN_IN_EXTERNAL":"Abrir num leitor externo","PLAYER_OPEN_IN_NPLAYER":"Abrir no nPlayer","PLAYER_PLAY_IN":"Reproduzir no {{device}}","PLAYER_LIVE":"Direto","PLAYER_NEXT_VIDEO_TITLE":"Próximo","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Próximo","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Fechar","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Ver agora","PLAYER_COPY_STREAM_SUCCESS":"O link da stream foi copiado para a tua área de transferência","PLAYER_COPY_STREAM_ERROR":"Falha ao copiar o link da stream","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"O link de transferência foi copiado para a tua área de transferência","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Falha ao copiar o link de transferência","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"A transmitir de","CASTING_TO":"A transmitir para","NETWORK_STATUS":"Estado da rede","STREAM_SPEED":"Velocidade de receção:","STREAM_BUFFERED":"Carregado:","PEERS_INFO":"Informação dos pares","PEERS_ACTIVE":"Ativo:","PEERS_CONNECTED":"Ligado:","PEERS_WAITING":"À espera:","TRANSCODING_WARNING":"Atenção: a transcodificar vídeo.","STREAM_LOADING":"a carregar...","PLAYING_LOCAL":"a reproduzir a partir de um ficheiro local","PLAYING_CACHE":"a reproduzir a partir da cache","WRONG_SUBS":"Legendas incorretas","ERR_SUBS_LOADING_TITLE":"Erro ao carregar as legendas","ERR_SUBS_LOADING":"Não foi possível carregar as legendas, poderá haver um erro no addon que estás a utilizar ou com a tua ligação à Internet","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Não foi possível carregar as seguintes legendas","ERR_CASTING_UPDATE_TITLE":"Não foi possível atualizar as informações do dispositivo de transmissão: o servidor de transmissão pode estar offline","CHOOSE_DEVICE":"Escolhe um dispositivo para transmitir","NO_CAST_DEVICES":"Sem dispositivos de transmissão disponíveis.","NO_SETTINGS":"Não há definições disponíveis.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telemóvel / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Legendas","SUBTITLES_CHANGE":"Alterar legendas para ","SUBTITLES_CHANGE_NONE":"Desculpa, mas não existe mais legendas para este idioma","SUBTITLES_CHANGE_ACIVE":"As legendas #{{subtitlesDialog.activeIdx + 1}} estão ativas. Clica em \\"Continuar\\" para ativar as legendas #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativamente,","SUBTITLES_ADJUST_DELAY":"Ajusta o atraso das legendas:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Ou utiliza as teclas G / H para ajustar os tempos.","SUBTITLES_ADJUST_DELAY_TIP":"Dica: Podes utilizar as teclas G / H durante a reprodução para ajustar.","SUBTITLES_DELAY":"Atraso de legendas:","SUBTITLES_LOADING":"A carregar as legendas...","SUBTITLES_UNAVAILABLE":"Não há legendas externas disponíveis","SUBTITLES_DISABLED":"Desativado","EXTERNAL_PLAYER_DISABLED":"Desativado","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permitir a escolha","EXTERNAL_PLAYER_HINT":"Dica: Existe uma definição que permite abrir sempre com um leitor externo","DONT_SHOW_AGAIN":"Não mostrar novamente","SERVICE_INSTALL":"Instalar","AUDIO":"Áudio","DEFAULT_LANGUAGE":"Idioma predefinido","DEFAULT_SECONDARY_LANGUAGE":"Idioma secundário predefinido","SEASON":"Temporada","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episódio","EPISODE_ABBREVIATION":"EP","SPECIAL":"Especiais","SORT":"Ordenar","SORT_BY":"Ordenar por","FILTER":"Filtro","SORT_TRENDING":"Tendências","SORT_RECENT":"Recentes","SORT_ALPHABET":"A-Z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"Classificação","SORT_WATCHED":"Vistos","SORT_YEAR":"Ano","SELECT":"Select","SELECT_TYPE":"Selecionar tipo","SELECT_SORT":"Selecionar ordem","SELECT_CATALOG":"Selecionar catálogo","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Selecionar género","SORT_LASTWATCHED":"Últimos vistos","SORT_NAME":"Ordem alfabética","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Número de vezes que foi visto","SORT_NOTWATCHED":"não visto","New for You":"Novo para ti","New Episodes":"Novos episódios","New Videos":"Novos vídeos","Recommendations":"Recomendações","LIBRARY_RESUME":"Retomar","LIBRARY_PLAY":"Reproduzir","LIBRARY_DETAILS":"Detalhes","LIBRARY_RESUME_DISMISS":"Fechar","LIBRARY_CLEAR_PROGRESS":"Limpar progresso","LIBRARY_REMOVE":"Remover","LIBRARY_NOT_LOGGED_IN":"A biblioteca apenas está disponível para utilizadores com a sessão iniciada","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"O calendário apenas está disponível para utilizadores com a sessão iniciada","NOT_LOGGED_IN_CLOUD":"Acede aos teus filmes e séries favoritas a qualquer altura, em qualquer lugar","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomendações adaptadas ao teu histórico de visualizações","NOT_LOGGED_IN_NOTIFICATIONS":"Nunca percas um episódio outra vez","NOT_LOGGED_IN_CALENDAR":"Programa o teu calendário de visualizações pessoal","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Em destaque","DISCOVER_TOP":"Populares","DISCOVER_OSCAR":"Vencedores de Óscares","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Este addon não possui conteúdo.","DISCOVER_ADULT_WARNING":"Este conteúdo é apenas para adultos. Tens mais de 18 anos?","DISCOVER_NOADDON_WARNING":"Atenção: nenhum addon do Stremio ativo para este tipo. Ao exibir ficheiros guardados, nada será atualizado.","DISCOVER_LOAD_ERR":"Ocorreu um erro e não foi possível carregar o conteúdo.","DISCOVER_ADDON_UNINSTALLED":"Este conteúdo já não está disponível, poderás ter de reinstalar o addon.","UNINSTALL_THIS_ADDON":"Desinstalar este addon","ERR_ADDON_NOT_INSTALLED":"Este addon não está instalado. Instalar agora?","DETAIL_RECEIVE_NOTIF_SERIES":"Receber notificações de novos episódios.","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receber notificações de novos vídeos.","SIDEBAR_SHOW_STREAMS":"Mostrar streams","RELAUNCH":"Reiniciar agora!","UPGRADE":"Está disponível uma nova versão! Atualiza para a versão mais recente do Stremio","RELOAD_UI":"Recarregar interface","MANUAL_UPDATE_TITLE":"Atualiza para uma versão do Stremio mais recente.","MANUAL_UPDATE_LINE1":"Estás a utilizar uma versão do Stremio que se encontra desatualizada, é recomendável que atualizes para a versão mais recente.","MANUAL_UPDATE_LINE2":"Atualiza assim que for possível.","BUTTON_UPDATE_LATTER":"Agora não","BUTTON_UPDATE_NOW":"Atualizar","UPDATER_TITLE":"Está disponível uma nova versão do Stremio","UPDATER_INSTALL_BUTTON":"Instalar agora","ANONYMOUS_USER":"Utilizador anónimo","DONT_HAVE_ACC":"Não tens uma conta?","HAVE_ACC":"Já tens conta?","PASSWORD":"Palavra-passe","PASSWORD_CONFIRM":"Confirmar palavra-passe","EMAIL":"E-mail","FB_LOGIN":"Iniciar sessão com o Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nada é partilhado sem a tua permissão","FB_NOPOST":"Não publicaremos nada na tua cronologia","OR":"ou","I_ACCEPT":"Aceito os","I_ACCEPT_BY_CLICKING":"Ao clicar no botão acima certifico-me de que aceito os ","TOS":"Termos e condições","MUST_ACCEPT_TERMS":"Deves aceitar os Termos e condições","PASSWORDS_NOMATCH":"As palavras-passe não coincidem","SIGN_UP":"Registar","SIGN_UP_EMAIL":"Regista-te com um e-mail","CLICK_TO_SIGN_UP":"Clica aqui para te registares.","LOG_IN":"Iniciar sessão","LOG_OUT":"Terminar sessão","EXIT_FULLSCREEN":"Sair do modo de ecrã inteiro","ENTER_FULLSCREEN":"Abrir em modo de ecrã inteiro","PLAY_URL_MAGNET_LINK":"Abrir URL/Magnet link","HELP_FEEDBACK":"Ajuda e feedback","TERMS_OF_SERVICE":"Termos de utilização","PRIVACY_POLICY":"Política de privacidade","ABOUT_STREMIO":"Sobre o Stremio","USER_PANEL":"Painel do utilizador","LOGIN_LABEL":"Iniciar sessão","GUEST_LOGIN":"Iniciar sessão como convidado","GUEST_LOGIN_NOTICE":"Não recomendamos que inicies sessão como convidado. Regista-te para que o Stremio sincronize a tua biblioteca e te mostre notificações das tuas séries/canais. Tens a certeza de que queres continuar?","GUEST_LOGIN_NOTICE_2":"Não recomendamos que inicies sessão como convidado - não vais ter acesso à tua biblioteca nem às notificações do painel, sendo estas funcionalidades vitais do Stremio. Tens a certeza de que queres continuar?","CLICK_HERE":"Clica aqui","WRONG_PASSWORD":"Palavra-passe incorreta. Caso te tenhas esquecido da tua palavra-passe, ","SET_A_PASS":"Introduz uma nova palavra-passe","RESET_PASSWORD":"Redefinir palavra-passe","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Esqueceste-te da tua palavra-passe?","EMAIL_USED_WITH_FB":"Este e-mail foi utilizado com uma sessão do Facebook.","INVALID_EMAIL":"Introduzir um e-mail válido","INVALID_PASSWORD":"Introduzir uma palavra-passe válida","CONN_ERR":"Erro de ligação - Por favor, tenta novamente mais tarde.\\n\\nSe o problema persistir, desativa ou configura a tua firewall e/ou o teu anti-vírus (principalmente o Bitdefender).","IMPORT_FROM_GUEST":"Importar biblioteca a partir da conta de convidado","RECEIVE_UPDATES_EMAIL":"Receber notificações do Stremio por e-mail","LOGIN_FAILED":"O início de sessão falhou.","SIGNUP_FAILED":"O registo falhou.","SEARCH_FAILED":"A pesquisa falhou","EMAIL_USED":"Este e-mail já está a ser utilizado.","WAITING_FB_LOGIN":"Iniciar sessão com o Facebook...","EXTERNAL_OPENING_YOUTUBE":"Estás a sair do Stremio e a abrir o YouTube. Tens a certeza?","EXTERNAL_OPENING_APP":"Estás a sair do Stremio para abrires outra app. Tens a certeza?","EXTERNAL_PLAYER_TITLE":"Abrir com um leitor de vídeo externo","EXTERNAL_REMEMBER_PLAYER":"Relembrar a tua escolha?","EXTERNAL_ALWAYS_PLAY":"Sim","EXTERNAL_ONLY_ONCE":"Não","BEST_FIT":"Melhor ajuste","FIT_SCREEN":"Ajustar ao ecrã","FILL":"Ajustar","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Diz-nos do que gostas","INTRO_TASTE_LONG":"Conta-nos sobre o que gostas de ver","INTRO_TASTE_PICK":"Seleciona {{interestsRemaining}} dos teus interesses","INTRO_TASTE_PICK_MORE":"Seleciona mais {{interestsRemaining}} dos teus interesses","INTRO_TASTE_HELP_US":"Ajuda-nos a saber mais sobre ti.","INTRO_TASTE_CHOOSE_THESE":"Escolhe alguns destes:","INTRO_TASTE_CHOOSE_MIN":"Escolhe pelo menos 3 categorias","INTRO_TASTE_CHOOSE_MIN_ERR":"Tens de escolher pelo menos 3 categorias!","INTRO_TASTE_LIFESTYLE":"Estilo de vida","INTRO_TASTE_SPORTS":"Desporto","INTRO_TASTE_FOOD_HEALTH":"Gastronomia e saúde","INTRO_TASTE_BEAUTY_FASHION":"Moda e beleza","INTRO_TASTE_NEWS":"Notícias","INTRO_TASTE_GAMING":"Videojogos","INTRO_TASTE_SCIENCE_EDU":"Ciência e educação","INTRO_TASTE_MUSIC":"Música","INTRO_TASTE_TRAVEL":"Viagens","INTRO_TASTE_LATE_NIGHT":"Late night show","INTRO_TASTE_REALITY":"Reality show","INTRO_TASTE_COMEDY":"Comédia","INTRO_TASTE_DIY":"Faz tu mesmo","INTRO_TASTE_TECH":"Tecnologia","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"O addon selecionado não é suportado nesta plataforma.","ADDON_DISCLAIMER":"Ao utilizares um addon de terceiros estarás sujeito à tua responsabilidade e às leis do governo onde estás localizado.","ADDON_ACTIVATE":"Ativar este addon?","ADDON_REPO_ADD":"URL do repositório do addon","ADDON_ADD":"Adicionar","INSTALL_ADDON":"Instalar addon","ADD_ADDON":"Adicionar addon","ADD_ADDON_DESCRIPTION":"Podes adicionar um addon através de um link externo, que aparecerá nos Addons instalados.","PASTE_ADDON_URL":"Colar URL do addon","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Novidades","BUTTON_CONTINUE":"Continuar","BUTTON_ACTIVATE":"Ativar","BUTTON_ACTIVATED":"Ativo","BUTTON_CANCEL":"Cancelar","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submeter","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Fechar tudo","BUTTON_VIEW_ALL":"Ver tudo","BUTTON_SEE_ALL":"Ver tudo","BUTTON_COLOR_TRANSPARENT":"Transparente","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Abrir no navegador","LIB_EMPTY":"A tua biblioteca está vazia. Descobre o quão útil pode ser :) ","HOW_START":"Aqui está como podes começar:","LIB_EMPTY_CAL":"O teu calendário mostra as séries da biblioteca.","HOW_START_CAL":"Aqui está como podes adicionar uma série:","LIB_EMPTY_BOARD":"O painel mostra notificações e recomendações relacionadas com a tua biblioteca.","HOW_START_BOARD_WAIT":"Por favor, adiciona algumas séries ou canais à tua biblioteca e dá-nos uns instantes para as processar :)","HOW_START_BOARD":"Aqui está como podes adicionar séries e filmes:","IMPORT_FB":"Importar coisas de que gostas do Facebook","IMPORT_TRAKT":"Importar a tua biblioteca do Trakt","IMPORT_DISCOVER":"Encontra coisas interessantes em Explorar","IMPORT_DISK":"Importar filmes ou séries que\\ntenhas no disco local","PLEASE_CREATE_ACC":"Por favor, cria uma conta para ativar a sincronização da biblioteca e do painel.","IMPORT_DISCOVER_SIGNUP":"Regista-te e encontra coisas interessantes em Explorar","IMPORT_DISK_SIGNUP":"Regista-te e importa filmes ou programas que tenhas no disco local","LIB_EMPTY_CLOUD":"Biblioteca na nuvem","LIB_EMPTY_CLOUD_DESC":"A biblioteca pessoal na nuvem sincroniza todos os teus dispositivos","LIB_EMPTY_EARLY":"Chegaste demasiado cedo","LIB_EMPTY_EARLY_DESC":"Receber notificações quando existirem episódios disponíveis","LIB_EMPTY_PERSONAL":"Privado","LIB_EMPTY_PERSONAL_DESC":"Receber recomendações pessoais","LIB_EMPTY_CALENDAR_DESC":"Agenda no teu calendário pessoal de visualização","LIB_EMPTY_ALL":"Inicia sessão para obteres tudo isto:","LIB_EMPTY_BEST":"Inicia sessão para obteres o melhor do Stremio","LIB_EMPTY_OTHER":"Inicia sessão para ativares o calendário e outras funcionalidades incríveis","CALENDAR_ADDED":"O calendário do Stremio foi adicionado ao calendário do teu computador.","CALENDAR_ADDED_MSG":"Se isto não funcionar, adiciona manualmente este link ao calendário","TRAKT_EXPIRED":"A autenticação do Trakt expirou. Acede às Definições e volta a autenticar-te","TRAKT_REQUIRES_LOGIN":"Erro do Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Precisas de iniciar sessão","TRAKT_IMPORT_WATCHED":"Importar","THEME":"Tema","THEME_DEFAULT":"Predefinido","THEME_ADAPTIVE":"Adaptativo","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Definições","SETTINGS_NAV_GENERAL":"Geral","SETTINGS_NAV_PLAYER":"Leitor","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Atalhos","SETTINGS_SHORTCUT_RELOAD_APP":"Recarregar app","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Abrir definições","SETTINGS_SHORTCUT_SWITCH_TABS":"Alternar separadores","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Avançar no ciclo de separadores","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Voltar atrás no ciclo de separadores","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navega entre menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Ir para a pesquisa","SETTINGS_SHORTCUT_EXIT_BACK":"Sair / Voltar atrás","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Alternar menu de velocidade de reprodução","SETTINGS_SHORTCUT_MENU_VIDEOS":"Alternar menu de vídeos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Alternar menu das legendas","SETTINGS_SHORTCUT_MENU_AUDIO":"Alternar menu do áudio","SETTINGS_SHORTCUT_MENU_INFO":"Alternar menu das informações","SETTINGS_SHORTCUT_FULLSCREEN":"Entrar / Sair do modo de ecrã inteiro","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostrar controlos","SETTINGS_SHORTCUT_PLAY_PAUSE":"Reproduzir / Colocar em pausa","SETTINGS_SHORTCUT_VOLUME_UP":"Aumentar o volume","SETTINGS_SHORTCUT_VOLUME_DOWN":"Diminuir o volume","SETTINGS_SHORTCUT_SEEK_NEXT":"Avançar na reprodução","SETTINGS_SHORTCUT_SEEK_PREV":"Recuar na reprodução","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Retroceder","SETTINGS_SHORTCUT_SEEK_FORWARD":"Avançar","SETTINGS_SHORTCUT_PLAY_NEXT":"Reproduzir próximo","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Aumentar o tamanho das legendas","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Diminuir o tamanho das legendas","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Aumentar o atraso das legendas","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Diminuir o atraso das legendas","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Mostrar / Ocultar barra lateral","SETTINGS_SHORTCUT_OR":"ou","SETTINGS_SHORTCUT_TO":"para","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Espaço","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticar-me","SETTINGS_FACEBOOK_IMPORT":"Importar","SETTINGS_CALENDAR_SUBSCRIBE":"Subscrever","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"A aplicação de calendário foi aberta. Por favor, subscreve o calendário manualmente.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"O ficheiro do calendário foi transferido. Por favor, importa-o para a tua aplicação de calendário.","SETTINGS_INTERFACE_LANGUAGE":"Idioma da interface","SETTINGS_LAUNCH_STARTUP":"Iniciar com o sistema","SETTINGS_VLC_DEFAULT":"Reproduzir com o VLC","SETTINGS_UI_LANGUAGE":"Idioma","SETTINGS_UI_ZOOM":"Zoom da interface","SETTINGS_FULLSCREEN_EXIT":"Clica em ESC para sair do ecrã inteiro","SETTINGS_GAMEPAD":"Ativar o suporte do comando de jogos (Gamepad)","SETTINGS_CLOSE_WINDOW":"Fechar o Stremio quando fechar a janela","SETTINGS_SUBTITLES_LANGUAGE":"Idioma predefinido das legendas","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Idioma das legendas secundário","SETTINGS_SUBTITLES_SIZE":"Tamanho predefinido das legendas","SETTINGS_SUBTITLES_BACKGROUND":"Fundo das legendas","SETTINGS_SUBTITLES_COLOR":"Cor das legendas","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Cor de contorno das legendas","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Cor de fundo das legendas","SETTINGS_SEEK_KEY":"As teclas de seta avançam / retrocedem no tempo","SETTINGS_SEEK_KEY_SHIFT":"As teclas de seta avançam / retrocedem no tempo quando a tecla Shift é pressionada","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Duração do retrocesso e do avanço rápido","SETTINGS_BINGE":"Reproduzir o próximo episódio automaticamente","SETTINGS_NEXT_VIDEO":"Mostrar uma notificação ao iniciar o próximo episódio.","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostrar uma notificação ao iniciar o próximo episódio para:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Duração do pop-up do próximo vídeo","SETTINGS_PLAY_IN_BACKGROUND":"Reproduzir em plano de fundo","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Reproduzir num leitor externo","SETTINGS_RESIZE":"Redimensionar automaticamente a janela antes de reproduzir","SETTINGS_OVERRIDE_SERVER":"Substituir o URL do servidor de streaming (avançado)","SETTINGS_SERVER_ADD_URL":"Adicionar URL","SETTINGS_SERVER_URL":"URL do servidor de streaming: ","SETTINGS_SERVER_AVAILABLE":"O servidor de streaming está disponível.","SETTINGS_SERVER_UNAVAILABLE":"O servidor de streaming não está disponível.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Erro","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurar o URL do servidor de streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Introduz um URL de servidor de streaming","SETTINGS_SERVER_CACHE_SIZE":"Tamanho da cache","SETTINGS_SERVER_TORRENT_PROFILE":"Perfil do torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint de streaming HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Perfil de transcodificação","SETTINGS_USE_BETA":"Utilizar sempre a última versão Beta","SETTINGS_IMPORT_FB":"Importar do Facebook","SETTINGS_IMPORT_DISK":"Importar do disco local","SETTINGS_IMPORT_TRAKT":"Importar do Trakt","SETTINGS_PAUSE_MINIMIZED":"Colocar a reprodução em pausa quando minimizado","SETTINGS_HWDEC":"Transcodificação acelerada por hardware","SETTINGS_BACKGROUND":"Reprodução em segundo plano","SETTINGS_SUBSCRIBE_CALENDAR":"Subscrever calendário","SETTINGS_REQ_EXPORT":"Exportar dados","SETTINGS_ACC_DELETE":"Pedir a eliminação da conta","SETTINGS_CHANGE_PASSWORD":"Alterar palavra-passe","SETTINGS_TOS":"Termos de utilização","SETTINGS_SUPPORT":"Contactar o suporte","SETTING_LANGUAGE":"Idioma","SETTINGS_BLUR_UNWATCHED_IMAGE":"Desfocar a imagem de episódios não vistos","SETTINGS_QUIT_ON_CLOSE":"Sair ao fechar","SETTINGS_TRAKT":"Recomendações do Trakt","SETTINGS_TRAKT_RE_AUTH":"Re-autenticar","SETTINGS_TRAKT_LOGOUT":"Terminar sessão do Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Terminar sessão do Trakt","SETTINGS_SCAN_FOR_REMOTE":"Lê o código QR para abrir remotamente","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificações no computador","SETTINGS_DATA_SAVER":"Economizador de dados","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"Legendas predefinidas","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Selecionar automaticamente o ficheiro de áudio","SETTINGS_DEFAULT_AUDIO_TRACK":"Ficheiro de áudio predefinido","SETTINGS_SECONDARY_AUDIO_TRACK":"Faixa de áudio secundária","SETTINGS_SURROUND_SOUND":"Som surround","SETTINGS_ACCOUNT":"Conta","SETTINGS_PLATFORM":"Plataforma","SETTINGS_VERSION":"versão","SETTINGS_ABOUT":"Acerca de","SETTINGS_MPV_WINDOW":"Abrir leitor numa janela em separado (avançado)","SETTINGS_PLAY_IN_EXTERNAL":"Abrir sempre num leitor externo","SETTINGS_STORAGE_BUTTON":"Limpar armanezamento local","SETTINGS_STORAGE_MODAL_TITLE":"Tens a certeza?","SETTINGS_STORAGE_MODAL_MESSAGE":"Esta ação fará com que o armazenamento seja limpo e termine a tua sessão.","SETTINGS_HWDEC_PICKER":"Escolhe a configuração de decodificação acelerada por hardware","SETTINGS_HW_AUTOMATIC":"Automático","SETTINGS_HW_DISABLED":"Desativado","SETTINGS_HW_ACCELERATED":"Aceleração de decodificação","SETTINGS_HW_FULL":"Aceleração total","SETTINGS_HW_LEGACY":"Legado","SETTINGS_DISABLED":"Desativado","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notificação de ligação à Internet","SETTINGS_ANALYTICS":"Permitir analytics","SETTINGS_REMOTE_URL":"URL remoto","SETTINGS_COPY_REMOTE_URL":"Copiar URL remoto","SETTINGS_REMOTE_URL_COPIED":"URL remoto copiado para a tua área de transferência","SETTINGS_SECTION_SUBTITLES":"Legendas","SETTINGS_SECTION_AUDIO":"Áudio","SETTINGS_SECTION_CONTROLS":"Controlos","SETTINGS_SECTION_AUTO_PLAY":"Reprodução automática","SETTINGS_SECTION_ADVANCED":"Avançadas","SUBSPICKER_AUDIO":"Áudio","SUBSPICKER_SUBTITLES":"Legendas de addons","SUBSPICKER_BLACK_BACKGROUND":"Utilizar cor de fundo preta","SUBSPICKER_VERTICAL_OFFSET":"Compensação vertical","SUBSPICKER_SIZE":"Tamanho","SUBSPICKER_DELAY":"Atraso","SUBSPICKER_EMBEDDED_SUBS":"Legendas incorporadas","MOBILE_PRIVACY_POLICY":"Política de privacidade","MOBILE_CRASH_REPORTING":"Relatório de avarias","MOBILE_ZOOM_TO_FILL":"Zoom para preencher o ecrã","MOBILE_PASSTHROUGH":"Saída de áudio digital (passthrough)","MOBILE_RUN_LOW_BATTERY":"Executar com a bateria fraca","MOBILE_RUN_FOREGROUND":"Executar como serviço de primeiro plano","MOBILE_PERFORMANCE":"DESEMPENHO E ESTABILIDADE","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"O código QR expira em ","MOBILE_LOG_INTO":"Inicia sessão na tua conta Stremio ","MOBILE_SCAN_QR":"Lê o código QR acima ou vai a ","MOBILE_LINK_ACCOUNT":"Ligar conta","MOBILE_SPEEDPICKER_CANCEL":"Cancelar","MOBILE_SPEEDPICKER_LABEL":"Selecionar velocidade de reprodução","MOBILE_EMPTY_LIBRARY":"A tua biblioteca está vazia","MOBILE_NO_ADDON_ACTIVE":"Nenhum addon do Stremio ativo para este tipo.","MOBILE_ORGANIZER_WARNING":"A app Stremio Organizer dá-te apenas acesso a funcionalidades limitadas. Para uma lista de streams reproduzíveis e para teres a experiência Stremio completa, utiliza o Stremio no desktop.","MOBILE_ADDON_LOADING":"ainda está a carregar","MOBILE_ADDONS_LOADING":"os addons ainda estão a carregar","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configura o teu addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configurar addon","MOBILE_ORGANIZER_ADDONS_WARNING":"A app Stremio Organizer dá-te apenas acesso a uma seleção limitada de addons. Para teres a experiência Stremio completa, utiliza o Stremio no computador.","MOBILE_DISCONNECT":"Desligar","MOBILE_LOOKING_FOR_DEVICES":"À procura de dispositivos...","MOBILE_CAST_TO":"Transmitir para","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Eliminar conta","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"A eliminação da conta não é imediata devido a obrigações legais. Depois de pedires a eliminação da tua conta, terás de utilizar um endereço de e-mail/perfil do Facebook diferente para criares uma nova conta do Stremio no futuro.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmar a eliminação da conta","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"A tua conta foi criada através do Facebook. Para eliminares a tua conta, utiliza o nosso portal do utilizador em www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Por favor, introduz a tua palavra-passe para confirmar a eliminação da conta.","MOBILE_DELETE_ACCOUNT_BUTTON":"Eliminar conta","NAVIGATION_ON":"Ligado","NAVIGATION_OFF":"Desligado","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Concordo em receber comunicações de marketing do Stremio","QUIT":"Sair","CONNECTED":"Ligado","AUTHENTICATE":"Autenticar-me","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Seleciona a unidade para cache","ENABLE_LOCAL_FILES_ADDON":"Ativa o addon de ficheiros locais (requer reinicialização)","LOCAL_ADDON_NOT_ENABLED":"O addon local não está ativado. Clica aqui para ires às definições e ativá-lo","ENABLE_REMOTE_HTTPS_CONN":"Ativar conexões HTTPS remotas","TORRENT_PROFILE":"Perfis de torrents","DATA_CACHING":"Caching de dados","MAGNET_PARSING":"A analisar o magnet link","January":"janeiro","February":"fevereiro","March":"março","April":"abril","May":"maio","June":"junho","July":"julho","August":"agosto","September":"setembro","October":"outubro","November":"novembro","December":"dezembro","Monday":"segunda-feira","Tuesday":"terça-feira","Wednesday":"quarta-feira","Thursday":"quinta-feira","Friday":"sexta-feira","Saturday":"sábado","Sunday":"domingo","Action":"Ação","Comedy":"Comédia","War":"Guerra","Family":"Família","Animation":"Animação","Adventure":"Aventura","Fantasy":"Fantasia","Crime":"Crime","Mystery":"Mistério","Romance":"Romance","Drama":"Drama","Horror":"Terror","Thriller":"Thriller","Sci-Fi":"Ficção científica","Music":"Música","Biography":"Biografia","Documentary":"Documentário","Sport":"Desporto","Musical":"Musical","Western":"Western","Film-Noir":"Film-noir","News":"Notícias","History":"História","Game-Show":"Concursos","Reality-TV":"Reality show","Talk-Show":"Talk-show","Film & Entertainment":"Filmes e entretenimento","Gaming":"Videojogos","From TV":"Da TV","Lifestyle":"Estilo de vida","Science & Education":"Ciência e Educação","Cooking & Health":"Culinária e Saúde","Beauty & Fashion":"Beleza e Moda","Sports":"Desporto","News & Politics":"Notícias e política","How-to & DIY":"Faz por ti mesmo","Tech":"Tecnologia","Automotive":"Automobilismo","Causes & Non-Profits":"Causas e ações sem fins lucrativos","Movies":"Filmes","Uk Live Tv":"Reino Unido","Fashion":"Moda","Business News Radio":"Negócios (Rádio)","Business Tv":"Negócios","Cars & Auto":"Automobilismo","Comedy Radio":"Comédia (Rádio)","Lifestyle Radio":"Estilo de vida (Rádio)","News Tv":"Notícias","Food And Wine":"Gastronomia e vinicultura","Latino Tv":"Latino","Shopping Tv":"Compras","Religion":"Religião","Kids":"Infantil","Body & Soul":"Corpo e alma","Education":"Educação","Indian Tv":"Índia","Extreme Sports":"Desportos radicais","Middle Eastern Tv":"Médio Oriente","Celebrity Tv":"Celebridades","Science Tv":"Ciência","Bikini babe":"Biquíni","Outdoors":"Ar livre","German Tv":"Alemanha","French Tv":"França","Italian Tv":"Itália","Gamer Tv":"Videojogos","Travel":"Viagens","Asian Tv":"Ásia","Entertainment":"Entretenimento","News Radio":"Notícias (Rádio)","Music Radio":"Música (Rádio)","Language Learning":"Aprender idiomas","Science Radio":"Ciência (Rádio)","Tech Radio":"Tecnologia (Rádio)","Science & Technology Vod":"Ciências e Tecnologias (VOD)","new video":"novo vídeo","new episode":"novo episódio","new movie":"novo filme","recommended":"recomendado","we recommend":"recomendamos","offer of the day":"oferta do dia","news":"notícias","music video":"Videoclipe","CTX_SHOW_HOTKEYS":"Mostrar teclas de acesso rápido","CTX_DISMISS_NOTIF":"Descartar notificação","CTX_DISMISS_ALL":"Descartar todas","CTX_SHARE":"Partilhar","CTX_COPY_SHARE_LINK":"Copiar link de partilha","CTX_COPY_MAGNET_LINK":"Copiar o magnet link","CTX_COPY_STREAM_LINK":"Copiar link de transmissão","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copiar o link de transferência do vídeo","CTX_DOWNLOAD_VIDEO":"Transferir este vídeo","CTX_DOWNLOAD_SUBS":"Transferir as legendas","CTX_VIEW_ON_YOUTUBE":"Ver no YouTube","CTX_SHOW":"Mostrar","CTX_PLAY":"Reproduzir","CTX_PLAY_IN":"Reproduzir no","CTX_PLAY_ON":"Reproduzir no","CTX_WATCH_ON":"Ver em","CTX_WATCH":"Ver","CTX_WATCHED":"Visto","CTX_WATCH_BEGINNING":"Ver do início","CTX_WATCH_MOBILE":"Ver num dispositivo móvel","CTX_REWIND":"Retroceder para o início","CTX_MARK_WATCHED":"Marcar como visto","CTX_MARK_NON_WATCHED":"Marcar como não visto","CTX_MARK_UNWATCHED":"Marcar como não visto","CTX_MARK_REST":"Marcar o resto como visto.","CTX_UNMARK_REST":"Marcar o resto como não visto.","CTX_RECEIVE_NEW_NOTIF":"Receber novas notificações","CTX_ENABLE_NEW_NOTIF":"Ativar notificações","CTX_DISABLE_NEW_NOTIF":"Desativar notificações","CTX_REMOVE_CACHE":"Remover da cache","CTX_REMOVE_CACHE_EP":"Remover episódio da cache","CTX_OPEN_CONTAINING":"Abrir pasta com o conteúdo","CTX_REMOVE":"Remover da biblioteca","CTX_AVAILABLE_OFFLINE":"Disponível offline","CTX_PAUSED":"Em pausa","CTX_ALWAYS_ON_TOP":"Sempre visível","CTX_FULLSCREEN":"Ecrã inteiro","CTX_WRONG_SUBS":"Legendas incorretas?","CTX_REPORT_ISSUES":"Reportar problema","CTX_COPY":"Copiar","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Colar","CTX_CLEAR":"Limpar","CTX_CLEAR_RECENT_SEARCHES":"Limpar pesquisas recentes","HELLO_THERE":"Olá!","HOPE_YOU_ENJOY":"Esperamos que gostes do Stremio e que seja uma das tuas aplicações favoritas!","WHO_ARE_WE":"Quem somos? Somos a equipa por detrás do projeto - dois rapazes que trabalham arduamente todos os dias durante os últimos 3 anos para melhorar cada vez mais este produto.","SUPPORT_US":"Se gostas de utilizar o Stremio e se o mesmo é importante para ti - divulga-o!","SPREAD_THE_WORD":"Partilha com os teus amigos, divulga-o","MORE_PEOPLE":"Quanto mais pessoas utilizarem o Stremio, melhor se tornará!","SEND_A_LINK":"Ou envia um link para o nosso site","TIP_LOCALFILES":"Dica: podes arrastar e largar os teus vídeos no Stremio","ADDON_MY":"Os meus addons","ADDON_COMMUNITY":"Addons da comunidade","ADDON_OFFICIAL":"Addons oficiais","ADDON_REPOS":"Repositórios de addons","ADDON_SEARCH":"Pesquisar addons","ADDON_INSTALL":"Instalar","ADDON_CONFIGURE":"Configurar","ADDON_UNINSTALL":"Desinstalar","ADDON_UPGRADE":"Atualizar","ADDON_INSTALLED":"Instalados","ADDON_INSTALLED_MSG":"Addon instalado!","ADDON_UPGRADED_MSG":"Addon atualizado!","ADDON_UNKNOWN":"Desconhecido","ADDON_ERR":"Erro ao instalar o addon!","ADDON_DISCONNECTED":"Desconectado","ADDON_APP_MISSING":"a aplicação que suporta este tipo de letra não está instalada. Desejas instalá-la agora?","ADDON_APP_INSTALL":"Instalar agora","ADDON_PAGE":"Página do addon","ADDON_TOP_CONTENT":"O melhor deste addon","ADDON_PROVIDES":"Este addon dar-te-á:","ADDON_WATCH":"Ver #{types} agora!","ADDON_WATCH_FREE":"Ver #{types} GRATUITAMENTE agora!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Tipos suportados","ADDON_SUPPORTED_CATALOGS":"Catálogos suportados","ADDON_PROVIDES_DISCOVER":"Mais #{types} em Explorar","ADDON_PROVIDES_STREAMS":"Ver #{types}","ADDON_PROVIDES_STREAMS_FREE":"Ver #{types} GRATUITAMENTE","ADDON_PROVIDES_SUBTITLES":"Legendas para #{types}","ADDON_CANTDETECT":"Não foi possível encontrar o Stremio em execução, assim sendo, não é possível determinar os addons que tens instalados.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"O streaming de torrents não é suportado neste dispositivo devido às regras da App Store","ERR_NO_META":"Não encontrámos nenhuma informação sobre isto.","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Erro ao obter informação sobre isto.","ERR_CANT_PARSE_MAGNET":"Impossível analisar o magnet link","ERR_NO_MAGNET_INFOHASH":"Sem informação válida para este magnet link","ERR_NO_FILE_PATH":"Impossível enviar o pedido sem um caminho para o ficheiro","ERR_NO_TORRENT":"Nenhum torrent recebido","ERR_NO_SUPPORTERD_FILES":"Nenhum ficheiro suportado encontrado","ERR_OPENING_FILES":"Não foi possível abrir ficheiros externos.","ERR_INVALID_LINK":"Link inválido","ERR_REGISTERED_ONLY":"Esta opção está apenas disponível para utilizadores com sessão iniciada.","ERR_CLIPBOARD":"Não é possível reproduzir da área de transferência","ERR_CLIPBOARD_READ":"Não é possível ler a área de transferência nesta plataforma","ERR_CLIPBOARD_GENERIC":"Nenhum URL reproduzível encontrado na área de transferência. Por favor, copia um URL (ex.: magnet link) para um vídeo.","BOARD_CONTINUE_WATCHING":"Continuar a ver","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Os filmes escolhidos especialmente para ti.
    Este filme é uma amostra de recomendação.","BOARD_EXPLANATION_EPISODES":"Os novos episódios das tuas séries favoritas aparecem aqui.
    Adiciona as séries que segues à tua biblioteca.","BOARD_EXPLANATION_VIDEOS":"Os novos episódios dos teus canais favoritos aparecem aqui.
    Adiciona os canais do YouTube que segues à tua biblioteca.","WEBSITE_ENJOYED_BY":"Desfrutado por mais de 30 milhões de utilizadores em todo o mundo","WEBSITE_STREAMING_ENHANCED":"Streaming melhorado","WEBSITE_STREAMING_ENHANCED_DETAILS":"O Stremio oferece uma experiência de entretenimento segura, moderna e perfeita. Com a sua interface fácil de utilizar e uma biblioteca de conteúdos diversificada, incluindo suporte para 4K HDR, os utilizadores podem desfrutar dos seus filmes e séries favoritas em todos os seus dispositivos. E com o seu compromisso com a segurança, o Stremio é a melhor escolha para uma experiência de transmissão de alta qualidade e sem preocupações.","WEBSITE_AVAILABLE_ON":"Disponível para","WEBSITE_WATCH_AND_ENJOY":"Vê e desfruta.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"O Stremio torna tudo muito fácil","WEBSITE_ALL_FEATURES":"Todas as funcionalidades","WEBSITE_EASY_TO_USE":"Fácil de utilizar","WEBSITE_EASY_TO_USE_DETAILS":"O Stremio foi concebido para ser intuitivo e fácil de utilizar. Com a sua interface limpa e intuitiva, podes navegar facilmente e encontrar o conteúdo que queres ver.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sem descontinuidades entre dispositivos","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponível para uma vasta gama de plataformas (incluindo Windows, Mac, Linux, Android e outras), o Stremio acompanha o teu progresso em todos os teus dispositivos. Basta iniciares sessão e continuares a ver sem teres de configurar novamente a aplicação em cada novo dispositivo.","WEBSITE_ALL_DOWNLOADS":"Todas as transferências","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Suporte para vídeo de alta definição","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Um leitor de vídeo integrado que suporta a maioria dos formatos de vídeo, incluindo conteúdo 4K HDR, permite-te desfrutar da melhor qualidade disponível.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Biblioteca de conteúdos diversificados","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"O Stremio integra-se com um grande número de fontes de vídeo populares, como Netflix, Amazon Prime Video, Hulu, YouTube e muitas outras.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Cria uma conta gratuita","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiência de visualização personalizada","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"O Stremio permite-te personalizar o aspeto da interface, alterando o tema, adicionando ou removendo addons e muito mais.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Suporte para legendas em vários idiomas","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Agora podes desfrutar de todos os teus conteúdos favoritos no teu idioma preferido, uma vez que o Stremio suporta legendas em todos os idiomas.","WEBSITE_ALL_STREMIO_FEATURES":"Todas as funcionalidades do Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Experimenta o Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Na tua TV agora","WEBSITE_YOU_CAN_NOW_WATCH":"Agora podes ver todas as tuas séries favoritas nos teus dispositivos Android TV. A aplicação Stremio TV permite-te desfrutar de uma noite de cinema com facilidade.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Agora podes ver todas as tuas séries favoritas na tua Smart TV ou Android TV. As aplicações Stremio TV permitem-te desfrutar de uma noite de cinema com facilidade.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio para Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Provavelmente a melhor e mais útil aplicação para teres no teu dispositivo. É uma das aplicações que utilizo diariamente, especialmente na minha Android TV, há já muitos anos. Bem feita, com uma comunidade forte a fornecer funcionalidades úteis. Muito bem feito. Mantém o bom trabalho.","WEBSITE_REVIEWS":"críticas","WEBSITE_GET_STREMIO_FOR_FREE":"Obtém o Stremio gratuitamente","WEBSITE_GET_STREMIO_NOW":"Obter o Stremio agora","WEBSITE_STREMIO_FEATURES":"Funcionalidades do Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Vê streaming como um profissional com as funcionalidades avançadas do Stremio e desfruta de um acesso sem falhas a todos os teus conteúdos multimédia favoritos","WEBSITE_DISCOVER_MORE":"Descobre mais.","WEBSITE_DISCOVER_MORE_DETAILS":"Nunca te faltam coisas para ver","WEBSITE_COMMUNITY_DRIVEN":"Orientado pela comunidade","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"O Stremio tem uma comunidade grande e ativa de utilizadores que contribuem para o desenvolvimento do software através da criação e partilha de addons.","WEBSITE_GET_INVOLVED":"Faz parte","WEBSITE_NEW_THEATER_EXPERIENCE":"Nova experiência cinematográfica","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"A nova aplicação de TV dedicada do Stremio permite-te desfrutar de uma noite de cinema nos teus dispositivos Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"As novas aplicações de TV dedicadas do Stremio permitem-te desfrutar de uma noite de cinema na tua Smart TV ou em dispositivos Android TV.","WEBSITE_FREE_AND_SECURE":"Grátis e seguro","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"O Stremio oferece segurança e privacidade inigualáveis aos utilizadores. Com a sua funcionalidade única de executar addons remotamente, o Stremio proporciona uma forma mais segura de transmitir os teus conteúdos favoritos em comparação com outras plataformas. A tua segurança e privacidade são as principais prioridades, e a plataforma garante que todos os teus dados estão protegidos.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Diz adeus às preocupações com a segurança e a privacidade e diz olá a um mundo de entretenimento sem fim com o Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informações fornecidas por","WEBSITE_CONTRIBUTE_DESC":"para o projeto e ajuda-nos a tornar o Stremio ainda melhor","WEBSITE_COMMUNITY_DESC":"Acreditamos que a melhor maneira de criar uma experiência de streaming verdadeiramente fantástica é envolver a nossa comunidade no processo. Quer sejas um programador, um artista ou apenas um fã - podes ajudar o Stremio a crescer.","WEBSITE_COMMUNITY_DESC_2":"Então, junta-te a nós hoje, faz parte da comunidade do Stremio e continua a moldar o futuro do streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Maneiras de participar","WEBSITE_IN_THE_STREMIO_COMMUNITY":"na comunidade do Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Partilha os teus pensamentos","WEBSITE_REPORT_BUGS":"Comunica erros","WEBSITE_SUGGEST_FEATURES":"sugere funcionalidades","WEBSITE_AND_PROVIDE_FEEDBACK":"e dá o teu feedback nas nossas redes sociais.","WEBSITE_BETA_TESTING_PROGRAM":"Programa de testes beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participa no nosso programa de testes beta (enviamos convites regularmente) na comunidade do Stremio.","WEBSITE_JOIN_NOW":"Junta-te agora!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunidades oficiais do Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunidades não oficiais do Stremio","WEBSITE_BECOME":"Torna-te","WEBSITE_A_VOLUNTEER_TRANSLATOR":"um tradutor voluntário","WEBSITE_ARE_YOU_A_DEVELOPER":"És um programador?","WEBSITE_CONTRIBUTE_CODE":"Podes contribuir com código para os nossos projetos de código aberto. Temos vários projetos no GitHub que estão à procura de colaboradores. Se estiveres interessado em ajudar, consulta-os:","WEBSITE_STREMIO_ON_GITHUB":"Stremio no GitHub","WEBSITE_CREATE_ADDON_DESC":"Cria um addon para melhorar as funcionalidades do Stremio (temos uma API fácil de utilizar):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Também te damos a oportunidade de te juntares a nós como programador estagiário para que possamos crescer juntos.","WEBSITE_APPLY_AS_AN_INTERN":"Candidata-te como estagiário","WEBSITE_CALLING_ALL_ARTISTS":"Convite a todos os artistas!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mostra a tua criatividade e o teu amor pelo Stremio carregando a tua arte de fã na nossa galeria online. Quer se trate de um desenho, pintura ou design digital, queremos ver a tua visão única da marca Stremio. Junta-te à nossa comunidade de entusiastas da arte e partilha o teu trabalho com outros fãs do Stremio em todo o mundo.","WEBSITE_STREMIO_FANART_GALLERY":"Galeria de Fanart do Stremio","WEBSITE_INTERN_DESIGNER":"Faz parte da nossa equipa e leva a tua criatividade a novos patamares com as nossas excitantes oportunidades de estágio.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Projeto de filmes de domínio público","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"No Stremio, estamos empenhados em preservar a história do cinema e da televisão, identificando vídeos de domínio público e órfãos. Ao trabalharmos em conjunto com a nossa comunidade, podemos garantir que estas obras de arte clássicas estão acessíveis a todos e protegidas para serem desfrutadas pelas gerações futuras.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Não hesites em contactar-nos se quiseres participar nesse projeto.","WEBSITE_JOIN_THE_PROJECT":"Junta-te ao projeto","WEBSITE_BE_PART_OF_OUR_MISSION":"Faz parte da nossa missão","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Estás interessado em fazer parte da equipa do Stremio? Oferecemos trabalho totalmente remoto para profissionais apaixonados. Consulta as nossas vagas em aberto.","WEBSITE_OPEN_POSITIONS":"VAGAS EM ABERTO","WEBSITE_DESCRIPTION":"DESCRIÇÃO","WEBSITE_LEARN_MORE":"Saber mais","WEBSITE_COMPANY":"Empresa","WEBSITE_CONTACTS":"Contactos","WEBSITE_NEED_HELP":"Precisas de ajuda?","WEBSITE_STREMIO_WEB_ON_IOS":"Guia para o Stremio Web no iOS","WEBSITE_LINK_ART_V2":"Galeria de Fanart","WEBSITE_PARTNERS":"Parceiros","WEBSITE_SLOGAN_WATCH":"Vê instantaneamente","WEBSITE_SLOGAN_ALL":"Todo o conteúdo de vídeo de que gostas num só lugar","WEBSITE_SLOGAN_NEW":"Tudo o que podes ver","WEBSITE_SLOGAN_NEW_NEW":"Liberdade para fazeres streaming","WEBSITE_WATCH_FROM":"Ver a partir de","WEBSITE_DOWNLOAD":"Transferir","WEBSITE_DOWNLOAD_FOR":"Transferir para","WEBSITE_IS_DESKTOP":"O Stremio é uma aplicação desktop, abre esta página no teu computador e transfere-a","WEBSITE_DESKTOP_DEMO_VID":"Demonstração de ambiente de trabalho","WEBSITE_PAGE_HOME":"Início","WEBSITE_PAGE_FEATURES":"Funcionalidades","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Tecnologia","WEBSITE_PAGE_CREATE_ADDON":"Criar addon","WEBSITE_PAGE_CONTACTS":"Contactos","WEBSITE_PAGE_BLOG":"Blogue","WEBSITE_RESET_PASSWORD_MESSAGE":"Por favor, introduz a nova palavra-passe desejada abaixo.","WEBSITE_RESET_PASSWORD_WARNING":"Tens a certeza de que queres redefinir a palavra-passe de ${1}?","WEBSITE_TYPE_movie":"Filmes","WEBSITE_TYPE_series_PL":"Séries","WEBSITE_TYPE_tv":"TV em direto","WEBSITE_TYPE_channel":"Canais","WEBSITE_STREMIO_WHAT_IS":"O Stremio é uma aplicação que te ajuda a organizar e ver instantaneamente os teus vídeos, filmes, séries e canais favoritos.","WEBSITE_FEATURES_WATCH":"Vê instantaneamente em HD","WEBSITE_FEATURES_WATCH_DETAIL":"Clica e reproduz o teu conteúdo preferido, filmes, séries, vídeos e canais.","WEBSITE_FEATURES_SUBS":"Legendas automáticas","WEBSITE_FEATURES_SUBS_DETAIL":"O Stremio seleciona automaticamente as legendas sincronizadas para o teu idioma.","WEBSITE_FEATURES_SUBS_LABEL":"Agora é contigo, chefe.","WEBSITE_FEATURES_CAST":"Reproduz na TV e dispositivos móveis","WEBSITE_FEATURES_CAST_DETAIL":"Liga à Apple TV, Chromecast, Smart TV (DLNA/UPnP) e dispositivos móveis.","WEBSITE_LIB":"Desfruta da tua biblioteca pessoal sincronizada em todos os teus dispositivos","WEBSITE_LIB_COLLECT":"Recolher através do Stremio","WEBSITE_LIB_IMPORT":"Importar do Facebook","WEBSITE_LIB_LOCAL":"Adiciona a partir do teu disco local","WEBSITE_BOARD":"O painel - O teu sítio para notificações e recomendações","WEBSITE_BOARD_RECOMMEND":"Série recomendada","WEBSITE_BOARD_TRENDING":"Filme em destaque","WEBSITE_BOARD_NEW":"Novo vídeo","WEBSITE_BOARD_EPISODE":"Novo episódio","WEBSITE_BOARD_1":"Procuras algo interessante para ver? Recebe recomendações baseadas nos teus gostos!","WEBSITE_BOARD_2":"Recebe uma notificação quando um novo episódio da tua série preferida ou de um canal do YouTube é lançado!","WEBSITE_BOARD_YOUTUBE":"Novos vídeos de canais do YouTube","WEBSITE_BOARD_EPISODES":"Novos episódios das séries que segues","WEBSITE_ADDONS":"Conteúdo do addon","WEBSITE_TECH_DETAIL":"Adoramos tecnologia e ciência maluca!\\nO Stremio utiliza as seguintes tecnologias de código aberto:","WEBSITE_TECH_WCJS":"O WebChimera.js permite que o Stremio reproduza qualquer formato de vídeo com boa performance.","WEBSITE_TECH_WCJS_EXTRA":"Somos os colaboradores principais do projeto","WEBSITE_TECH_ELECTRON":"O Electron oferece uma plataforma inovadora para construir o Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Somos colaboradores do projeto","WEBSITE_TECH_LINVODB":"Uma tecnologia de base de dados que garante que os teus dados estão organizados e disponíveis em qualquer lugar.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnologia interna","WEBSITE_CREATE_ADDON":"Cria o teu addon","WEBSITE_CREATE_ADDON_DETAIL":"Tens um serviço que fornece conteúdo de vídeo? Vamos ajudar-te a beneficiar das funcionalidades do Stremio ao criar o teu addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefícios da criação de um addon para o Stremio","WEBSITE_P2P_BEAUTY":"A beleza do Streaming Ponto-a-Ponto","WEBSITE_P2P_1":"Vídeo full HD / 4K on demand ou streaming fiável e acessível","WEBSITE_P2P_2":"Plataforma de distribuição que proporciona uma grande experiência ao utilizador","WEBSITE_P2P_3":"Criaremos um addon que corresponde exatamente às tuas necessidades","WEBSITE_P2P_CONTACT":"Interessado? Convidamos-te a nos contactares.","WEBSITE_P2P_CONTACT_EXTRA":"Ficaríamos felizes por te ajudar a integrar o teu contéudo com o Stremio!","WEBSITE_P2P":"De um momento para o outro, surge uma tecnologia que muda o sistema. Investimos muito tempo e esforço para construir o nosso motor de streaming de vídeo ponto-a-ponto que fornece grande performance e versatilidade para se adaptar a qualquer caso de utilização.\\nContacta-nos para gestão de direitos digitais de vídeo P2P on demand ou streaming.","WEBSITE_THOUGHTS":"Pensamentos que partilhamos:","WEBSITE_SPREAD":"Divulga o Stremio:","WEBSITE_CONTACT":"Contacta-nos, adoraríamos saber o que tens a dizer!","WEBSITE_OPENSOURCE":"Para os nosso projetos de código aberto, visita o nosso","WEBSITE_BITCOIN":"Doar Bitcoin:","WEBSITE_FAQ":"Perguntas frequentes","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Perguntas","WEBSITE_TOS":"Termos de utilização","WEBSITE_LEGAL":"Jurídico","WEBSITE_PAGE_ABOUT":"Acerca de","WEBSITE_PAGE_BECOME_PARTNER":"Torna-te um parceiro","WEBSITE_ALL_YOU_CAN_WATCH":"Liberdade para veres\\nTudo o que precisas.","WEBSITE_FREEDOM_TO_STREAM":"Liberdade para fazeres streaming","WEBSITE_WHAT_IS_STREMIO":"O que é o Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"O Stremio é uma plataforma única para agregação de conteúdo de vídeo. Descobre, organiza e vê vídeos de todos os tipos de fontes em qualquer dispositivo que tenhas.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmes, séries, programas de TV, TV em direto ou canais da web como YouTube e Twitch.tv - podes encontrar tudo isto no Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"O Stremio é uma central de multimédia moderna, uma solução integrada para todo o teu entretenimento em vídeo. Descobre, vê e organiza todo o conteúdo de vídeo a partir de addons fáceis de instalar.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmes, programas de TV, TV em direto ou canais da web - encontra tudo isto no Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Desfruta em todos os teus dispositivos multimédia","WEBSITE_DEVICES_COLLECT":"Recolhe através do Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importar do Facebook","WEBSITE_DEVICES_LOCAL":"Adicionar a partir do teu disco local","WEBSITE_JOIN_THE_PARTY_NOW":"Junta-te à festa agora","WEBSITE_DEVICES_ALL":"Fácil de utilizar em qualquer dispositivo;","WEBSITE_EXTENDABLE_CATALOG":"Catálogo de vídeo infinitamente extensível;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Ótimas funcionalidades para organizares o teu conteúdo multimédia;","WEBSITE_AS_SEEN_ON":"Visto(a) em","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Quem somos","WEBSITE_LINK_TECHNOLOGY":"Tecnologia","WEBSITE_LINK_APPS":"Aplicações","WEBSITE_LINK_DOWNLOADS":"Transferências","WEBSITE_MORE":"Mais","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribuir","WEBSITE_LINK_COMMUNITY":"Comunidade","WEBSITE_LINK_BLOG":"Blogue","WEBSITE_MORE_MORE":"... e mais","WEBSITE_LINK_HELP":"Centro de ajuda","WEBSITE_LINK_CONTACTS":"Contacta-nos","WEBSITE_LINK_TOS":"Termos e condições","WEBSITE_LINK_PRAVACY":"Política de privacidade","WEBSITE_SUBSCRIBE":"Subscrever","WEBSITE_NEWSLETTER":"Subreve a nossa newsletter para receberes as novidades","WEBSITE_PLACEHOLDER_EMAIL":"O teu e-mail","WEBSITE_COMMUNITY":"Comunidade","WEBSITE_LINK_PRAVACY_LEGAL":"Privacidade e jurídico","WEBSITE_WHY":"Porque o fazemos","WEBSITE_WHY_P1":"No Stremio, chegamos a trabalhar todos os dias quando queremos resolver um problema importante para o setor de vídeo on demand. Há tanto conteúdo novo publicado a cada minuto, que é virtualmente impossível encontrar o caminho menos árduo.","WEBSITE_WHY_P2":"Ajudamos as pessoas a navegar neste mundo imenso de entretenimento de vídeo e a descobrir novos conteúdos para apreciar. As nossas aplicações trazem consigo filmes, séries, TV em direto, canais da web e muito mais. Estamos focados em facilitar para que os nossos utilizadores possam encontrar facilmente os títulos e os canais que adoram.","WEBSITE_WHY_P3":"Podes utilizar o nosso serviço em qualquer dispositivo e a qualquer hora tornando o Stremio a única plataforma agregadora de entretenimento de vídeo de que precisarás.","WEBSITE_TEAM":"Equipa","WEBSITE_TEAM_P":"A equipa do Stremio é pequena, mas poderosa: entre nós dez, programamos em várias linguagens e partilhamos experiência em desenvolvimento de software, design da IU e UX, marketing e publicidade, negócios e startups.","WEBSITE_FEATURES":"Funcionalidades","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Descobre facilmente novos conteúdos","WEBSITE_FEATURES_DISCOVER_P":"Descobre facilmente novos filmes, séries, programas de TV e canais para ver. Navega por categoria, género, classificação, novidade, etc. ou escreve simplesmente um nome para encontrar. O Stremio encontrará facilmente todo o conteúdo de vídeo.","WEBSITE_FEATURES_ALL_CONTENT":"Todo o teu conteúdo de vídeo num ecrâ","WEBSITE_FEATURES_ALL_CONTENT_P1":"Vê que filmes, séries ou vídeos não terminaste e continua a vê-los(as). Sê notificado sobre novos episódios e lançamentos e navega pelas recomendações que obterás com base nos teus hábitos de visualização","WEBSITE_FEATURES_LIBRARY":"Organiza a tua biblioteca de vídeos","WEBSITE_FEATURES_LIBRARY_P1":"Adiciona qualquer título à tua biblioteca do Stremio com um único clique e encontra o teu conteúdo organizado por tipo, recência ou ordem alfabética","WEBSITE_FEATURES_CALENDAR":"Acompanha tudo o que viste","WEBSITE_FEATURES_CALENDAR_P1":"Vê o calendário de todos os filmes e séries que adicionaste à tua biblioteca e sabe também quando haverá um novo episódio ou estreia.","WEBSITE_FEATURES_BIG_SCREEN":"Aproveita o teu conteúdo de vídeo num ecrã maior ","WEBSITE_FEATURES_BIG_SCREEN_P1":"Reproduz o que estiveres a ver noutro dispositivo - utiliza o smartphone, tablet ou TV com um único clique","WEBSITE_FEATURES_SOURCES":"Vê o vídeo de várias fontes diferentes.","WEBSITE_FEATURES_SOURCES_P":"Instala os addons oficiais e da comunidade para aproveitares o vídeo fornecido por vários fornecedores diferentes - tudo numa aplicação elegante e fácil de utilizar.","WEBSITE_CREATE_AN_ADDON":"Cria um addon.","WEBSITE_FEATURES_SYNC":"Sincroniza a tua biblioteca entre diferentes dispositivos e continua a reprodução","WEBSITE_FEATURES_SYNC_P1":"Entra com a tua conta em todos os teus dispositivos e aproveita a tua biblioteca, addons, reprodução e calendário sincronizados.","WEBSITE_FEATURES_EXTENDABLE":"Catálogo de vídeo extensível por addons","WEBSITE_FEATURES_EXTENDABLE_P1":"O catálogo de addons do Stremio fornece vários complementos para instalares e veres uma variedade imensa de conteúdos de vídeo. Isto inclui filmes, programas, TV em direto, desportos, notícias, podcasts, canais da web, jogos e muito mais.","WEBSITE_FEATURES_AUTO_SUBS":"Legendas automáticas","WEBSITE_FEATURES_AUTO_SUBS_P1":"Com os nossos addons de legendas obtens automaticamente as opções selecionadas para o teu idioma preferido.","WEBSITE_FEATURES_CHROMECAST":"Transmitir para Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Desfruta do conteúdo de vídeo num ecrã maior ou transmite apenas o que estiveres a ver para outro dispositivo.","WEBSITE_FEATURES_KEEP_TRACK":"Acompanha os teus programas de TV e canais da Web favoritos ","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obtém uma visualização do calendário e notificações para novos episódios das tuas séries e canais da web favoritos.","WEBSITE_FEATURES_POWER_USER":"Funcionalidades avançadas para os utilizadores","WEBSITE_FEATURES_POWER_USER_P1":"Reproduz num leitor externo","WEBSITE_FEATURES_POWER_USER_P2":"Reproduz a partir de um ficheiro torrent ou magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Importa para a tua biblioteca a partir dos gostos do Facebook ou disco local","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"Todo o conteúdo de vídeo que o Stremio proporciona é proveniente de um sistema de addons - nenhum fornecedor de conteúdo ou conteúdo foi incorporado na aplicação.","WEBSITE_ADD_ONS_P2":"Existem dois grupos de addons disponíveis: oficiais e da comunidade.","WEBSITE_ADD_ONS_P3":"Os oficiais são desenvolvidas e hospedadas pelo Stremio enquanto que os addons da comunidade são criados por membros da nossa comunidade que também os hospedam.","WEBSITE_ADDONS_OFFICIAL":"Addons oficiais","WEBSITE_ADDONS_WATCHUB":"Transmite os teus filmes, séries e programas favoritos de serviços como iTunes, Hulu, Amazon e outros serviços do Reino Unido / EUA.","WEBSITE_ADDONS_YOUTUBE":"Vê os teus canais favoritos do YouTube livre de anúncios e recebe notificações de novos vídeos dos canais que segues.","WEBSITE_ADDONS_FILMON":"Vê TV em direto, filmes e canais interativos gratuitamente. 600 canais de TV, 45.000 filmes gratuitos, documentários e muito mais.","WEBSITE_ADDONS_OPENSUBTITLES":"Legendas de filmes e TV em vários idiomas. Milhares de legendas traduzidas e carregadas todos os dias.","WEBSITE_ADDONS_COMMUNITY":"Addons da comunidade","WEBSITE_ADDONS_FILMON_VOD":"Vê vídeos on demand do Filmon.tv","WEBSITE_ADDONS_TWICH":"Vê transmissões em direto da Twitch.tv - a plataforma de streaming de vídeo para a indústria de eSports.","WEBSITE_ADDONS_VODO":"Vê filmes independentes de forma totalmente gratuita.","WEBSITE_ADDONS_NETFLIX":"Vê filmes e séries da Netflix.","WEBSITE_ADDONS_CREATE":"Cria um addon.","WEBSITE_ADDONS_CREATE_P1":"Se desejares, podes desenvolver o teu próprio addon. Desta forma, podes proporcionar a ti mesmo e à nossa comunidade o acesso a novos conteúdos de vídeo e alcançar um novo público-alvo de milhões de utilizadores em todo o mundo.","WEBSITE_ADDONS_START_CREATE":"Para começares, visita a página do Kit de Desenvolvimento de Addons do Stremio:","WEBSITE_DOWNLOADS":"Transferências","WEBSITE_DOWNLOADS_P1":"Para um melhor desempenho, recomendamos que utilizes a versão mais recente disponível das aplicações Stremio. No entanto, se por algum motivo preferires utilizar uma versão mais antiga, podes descarregá-la aqui.","WEBSITE_DOWNLOADS_P1_SHORT":"Para um melhor desempenho, recomendamos que utilizes a última versão disponível das aplicações Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio para Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio para macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio para Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio para Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio para Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio para telemóveis Android","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio para Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio para iOS (versão limitada)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio para TV Samsung","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio para TV LG","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio para TV Sony (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio para TV Philips (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio para TV Philips","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio para TV Hisense","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio para Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio para Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio para Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio para Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio para Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch na Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio para o navegador","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Procura o Stremio na App Store dos modelos de TV Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Procura o Stremio na App Store dos modelos de TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Procura o Stremio na Play Store da TV Sony com Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Procura o Stremio na Play Store da TV Philips com Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Procura o Stremio na loja de apps da TV Philips com TitanOS (versão limitada)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Procura o Stremio na App Store do teu dispositivo Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guia para o Stremio OS na RPI","WEBSITE_LINK_GUIDE":"Guia","WEBSITE_DOWNLOAD_SERVICE":"Descarregar o Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"O Stremio Service é uma aplicação que acompanha o Stremio Web. Recomendamos a utilização da versão mais recente disponível do Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service para Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service para macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service para Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service para Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio para Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Mais opções de transferência","WEBSITE_DOWNLOAD_NEW":"Novidade!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Lançámos o Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Lançámos o Stremio para as TVs Samsung","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Lançámos o Stremio para as TVs LG","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Lançámos o Stremio para a Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Lançámos o Stremio para a Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Lançámos o Stremio 5 para o Windows","WEBSITE_CONTRIBUTE":"Colaborar","WEBSITE_CONTRIBUTE_P1":"A plataforma Stremio é de código aberto e podes criar facilmente um addon para o conteúdo que não é atualmente fornecido.","WEBSITE_CONTRIBUTE_WHY":"Porque deves criar um?","WEBSITE_CONTRIBUTE_WHY_P1":"Alcança um novo público para o conteúdo do teu vídeo","WEBSITE_CONTRIBUTE_WHY_P2":"A base de utilizadores do Stremio está a crescer rapidamente - no primeiro ano de lançamento o Stremio ganhou 1 milhão de utilizadores em todo o mundo e no segundo ano de existência da plataforma, este número cresceu para 2,5 milhões.","WEBSITE_CONTRIBUTE_WHY_P3":"Com o teu addon podes facilmente alcançar esta audiência e distribuir o teu conteúdo de vídeo para todos os utilizadores.","WEBSITE_CONTRIBUTE_ALL":"Vê os teus filmes, séries, vídeos e canais favoritos num único lugar.","WEBSITE_CONTRIBUTE_ALL_P1":"És fã de um tipo de conteúdo que ainda não está disponível no Stremio? Cria um addon para isso e desfruta ao ver os teus vídeos favoritos numa das maiores e mais fáceis plataformas de entretenimento e de se utilizar do mercado.","WEBSITE_CONTRIBUTE_ALL_P2":"Além disso, obterás a infinita gratidão de outros membros da comunidade Stremio com ideias semelhantes","WEBSITE_CONTRIBUTE_MONETIZE":"Monetiza o teu addon e ganha dinheiro com ele","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Uma vez que desenvolvas um novo addon para o Stremio, podes facilmente monetizá-lo de várias maneiras diferentes. Se estás a considerá-lo, sente-te à vontade para entrar em contacto connosco através do ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - ficaríamos felizes por te orientar e aconselhar neste processo sobre as opções de monetização do teu addon.","WEBSITE_CONTRIBUTE_TRANSLATE":"Torna-te num tradutor voluntário","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Se desejas aproveitar as aplicações do Stremio em diferentes idiomas, podes juntar-te à nossa comunidade de tradutores voluntários. Eles ajudam-nos a adicionar versões do Stremio nos diferentes idiomas.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Estás ansioso para começar?","WEBSITE_TRANSALTE_STREMIO":"Traduzir o Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunidades oficiais","WEBSITE_COMMUNITY_OFFICIALS_P1":"Faz parte da crescente comunidade do Stremio. Segue-nos nas redes sociais e não te sintas intimidado por nos dizeres um \\"Olá\\" - gostamos de conhecer os nossos fãs!","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunidades não-oficiais","STREMIO_COMMUNITY_NL":"Stremio Países Baixos","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemanha","STREMIO_COMMUNITY_BELGIUM":"Stremio Bélgica","STREMIO_COMMUNITY_FRANCE":"Stremio França","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Itália","STREMIO_COMMUNITY_UK":"Stremio Reino Unido","STREMIO_COMMUNITY_USA":"Stremio EUA","STREMIO_COMMUNITY_MEXICO":"Stremio México","STREMIO_COMMUNITY_ADDONS":"Addons do Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"O melhor do Stremio","WEBSITE_COMMUNITY_PARTNERS":"Parceiros e apoiantes","WEBSITE_COMMUNITY_GOODIES":"Guloseimas do Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Papéis de parede","WEBSITE_COMMUNITY_ART":"Galeria de Artes da Comunidade","WEBSITE_LINK_ART":"Galeria de Artes da Comunidade","WEBSITE_CONTACT_US":"Contacta-nos","WEBSITE_CONTACT_US_P1":"Caso tenhas dúvidas, comentários ou sugestões, sente-te à vontade para entrares em contacto connosco através do formulário em baixo.","WEBSITE_CONTACT_US_P2":"Lembra-te de que estamos localizados na Bulgária, por isso, pode haver alguma demora no atendimento do teu contacto devido às diferenças de fuso horário.","WEBSITE_CONTACT_US_SUCCESS":"A tua mensagem foi enviada. Entraremos em contacto contigo o mais breve possível.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Por favor, escreve um e-mail válido!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Com que assunto está relacionada a tua pergunta?","WEBSITE_CONTACT_US_Q_OS":"Qual é o teu sistema operativo?","WEBSITE_CONTACT_US_PH_EMAIL":"O teu e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Mensagem","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVIAR","WEBSITE_CONTACT_US_Q_1":"Como instalar?","WEBSITE_CONTACT_US_Q_2":"Como desinstalar?","WEBSITE_CONTACT_US_Q_3":"(HTML) Como fazer lasanha?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"MacOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnologia","WEBSITE_TECHNOLOGY_P1":"Adoramos tecnologia e ciência maluca. Aqui estão os poderes do Stremio (tudo em código aberto).","WEBSITE_TECHNOLOGY_P_QT":"Desenvolvimento de software multiplataforma no seu melhor.","WEBSITE_TECHNOLOGY_P_MPV":"Um leitor de multimédia gratuito, de código aberto e multiplataforma.","WEBSITE_TECHNOLOGY_P_RN":"O React Native permite que cries aplicações móveis utilizando apenas JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Framework multimédia incorporado na aplicação para obter multimédia.","WEBSITE_TECHNOLOGY_P_REALM":"A Realm é uma plataforma móvel e um substituto para o SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"O Node.js é um ambiente em tempo de execução multiplataforma e de código aberto para JavaScript.","WEBSITE_TECHNOLOGY_P_RUST":"O Rust é uma linguagem de programação multi-paradigma focada em segurança, especialmente em concorrência segura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuir para o projeto.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Há duas maneiras para poderes contribuir com o Stremio e ajudar-nos a tornar o produto ainda melhor.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Podes doar as tuas valiosas habilidades linguísticas para ajudar a traduzir a plataforma...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ou","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"...podes utilizar as tuas habilidades de programação para criar addons da comunidade.","WEBSITE_TRANSLATE_STREMIO":"Traduzir o Stremio","WEBSITE_404_OH_NO":"Ups! A página que procuras não está aqui...","WEBSITE_GO_HOME":"Voltar ao início","WEBSITE_LINK_OTHER_DOWNLOADS":"Outras transferências","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Suporte","WEBSITE_DOWNLOAD_4_0_BETA":"Transferir o Stremio 4 beta agora","WEBSITE_GET_FOR_DESKTOP":"Transferir para o computador","WEBSITE_LINK_ADDON_COMPETITION":"Competições de addons","WEBSITE_LINK_ART_CONTEST":"Concurso de artes","WEBSITE_MY_ACCOUNT":"A minha conta","WEBSITE_MAINPAGE_FAQ_001_H1":"O que é o Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"O Stremio é um moderno centro de multimédia, que oferece a liberdade para veres tudo o que desejas.","WEBSITE_MAINPAGE_FAQ_002_H1":"Como funciona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Depois de instalares o Stremio no teu dispositivo e criar uma conta tudo o que precisas de fazer é visitar o catálogo de addons e instalar qualquer complemento que desejares, e pronto!","WEBSITE_MAINPAGE_FAQ_002_P2":"Depois disso, podes ir às secções Explorar ou Painel para começar a explorar o conteúdo.","WEBSITE_MAINPAGE_FAQ_003_H1":"O que posso ver aqui?","WEBSITE_MAINPAGE_FAQ_003_P1":"Diversos filmes, programas de TV, canais da Web, desportos, canais de TV, ouvir podcasts e muito mais. Graças ao nosso sistema de addons podes aceder a uma variedade de conteúdos.","WEBSITE_MAINPAGE_FAQ_004_H1":"O Stremio é de código aberto?","WEBSITE_MAINPAGE_FAQ_004_P1":"Sim, podes verificar os seguintes links: ${1}aplicação desktop${2} e ${3}organização GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"O Stremio é seguro?","WEBSITE_MAINPAGE_FAQ_005_P1":"Sim. Por ser um software de código aberto o código é auditável publicamente e, podes revê-lo.","WEBSITE_MAINPAGE_FAQ_005_P2":"O sistema de addons do Stremio foi também criado a pensar na segurança do utilizador. Os addons não executam qualquer código localmente, pelo que não representam qualquer risco para o teu dispositivo.","WEBSITE_MAINPAGE_FAQ_006_H1":"E a minha privacidade?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respeitamos a privacidade dos utilizadores e não coletamos dados pessoais além do mínimo essencial para criar e sincronizar a tua conta.","WEBSITE_MAINPAGE_FAQ_006_P2":"Há também um ${1}modo convidado ${2}no registo que não requer dados: deste modo, nenhuma chamada é feita aos nossos servidores. No entanto, isto ocorre à custa de funcionalidades úteis, como sincronizar a tua biblioteca entre dispositivos.","WEBSITE_MAINPAGE_FAQ_007_H1":"Posso transmitir para a minha TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Sim, suportamos o Chromecast e podes transmitir através de aplicações para o computador e dispositivos móveis (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Quantos addons tem o Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"No final de 2019, acima de 50 - para obteres mais informações, consulta o nosso catálogo de addons.","WEBSITE_MAINPAGE_FAQ_009_H1":"O Stremio pode ser expandido além do que se encontra no catálogo de addons?","WEBSITE_MAINPAGE_FAQ_009_P1":"Sim, deves verificar estes: ${1}PimpMyStremio${2}, ${3}Comunidades Reddit${4}, ${5}Downloader Stremio${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Que dispositivos são suportados pelo Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Temos aplicações desktop para Windows, Mac e Linux. Para dispositivos móveis, suportamos Android e iOS, embora tem em conta que as funcionalidades do iOS são limitadas (não é compatível com a maioria dos addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"Existem muitos dispositivos com base no Android aos quais podes executar o Stremio, como NVIDIA Shield e Amazon Fire Stick, mas não os suportamos oficialmente.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Temos aplicações para computadores Windows, Mac e Linux. Também temos aplicações dedicadas para Android Mobile e Android TV. Para iOS e iPadOS, sugerimos que utilizes o Stremio Web, embora as suas funcionalidades sejam mais limitadas.","WEBSITE_MAINPAGE_FAQ_011_H1":"Podem adicionar determinados conteúdos ao Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Desculpa, mas não fornecemos conteúdo. Porém, quanto mais addons do Stremio instalares mais conteúdo poderás encontrar.","WEBSITE_MAINPAGE_FAQ_012_H1":"O Stremio pode reproduzir magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Sim, e também pode reproduzir links HTTP normais e de ficheiros torrent (arrastar e soltar).","WEBSITE_MAINPAGE_FAQ_013_H1":"Posso descarregar um vídeo e vê-lo offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"O modo offline estará disponível futuramente, porém, se permitires que o Stremio faça cache no dispositivo (no painel de definições), poderás ver os teus vídeos mais tarde, mesmo sem ligação à Internet.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nada funciona, ajudem-me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Tens a certeza de que instalaste addons? Se sim, verifica a nossa ${1}central de ajuda${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Como o Stremio sustenta as suas operações de desenvolvimento?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ocasionalmente, exibimos anúncios não intrusivos, mas estamos a pensar em mudar para um modelo de doação.","WEBSITE_MAINPAGE_FAQ_015_P2":"Para mais dúvidas, visita a nossa ${1}central de ajuda${2}.","HELP_LEARN_MORE":"Ajuda-nos a aprender algo mais sobre ti.","LIFESTYLE":"Estilo de vida","SPORTS":"Desporto","FOOD_HEALTH":"Comida e bem-estar","BEAUTY_FASHION":"Beleza e moda","NEWS":"Notícias","GAMING":"Jogos","SCIENCE_EDUCATION":"Ciência e educação","MUSIC":"Música","TRAVEL":"Viagens","LATE_NIGHT":"Late night show","REALITY":"Reality show","COMEDY":"Comédia","DIY":"Faz tu mesmo","TECH":"Tecnologia","CINEMA":"Cinema","CONTINUE":"Continuar","SLOW_LOADING":"LENTO A CARREGAR?","I_GIVE_UP":"DESISTO","LEARN_MORE":"Aprender mais","POOR_SOURCE":"Esta fonte possui fraca disponibilidade ou a tua ligação à Internet não é suficientemente rápida","PICK_CATEGORIES_ERR":"Tens de escolher pelo menos 3 categorias","ADJUST_TIMING":"Ajustar tempos com ","ADJUST_SIZE":"Ajustar tamanho com ","SEARCH_ANYTHING":"Podes pesquisar qualquer coisa...","ALL_CATEGORIES":"Tudo","SEARCH_CATEGORIES":"Filmes, Séries, YouTube e TV","SEARCH_PERSONS":"Atores, Realizadores e Argumentistas","SEARCH_PROTOCOLS":"Links HTTP e Magnet","SEARCH_TYPES":"Links IMDb / TheTVDB","WATCHED":"Visto","SHOW_LESS":"Mostrar menos","LAST_SEARCHES":"Pesquisas recentes","CLEAR_HISTORY":"Limpar histórico","CHOOSE_SOME":"ESCOLHE ALGUNS DESTES:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Não foi possível carregar o Web Remote","STREMIO_OFFLINE":"O Stremio está offline","STREMIO_EXPENSIVE_CONNECTION":"Detetámos que estás a utilizar uma ligação por dados móveis. Queres continuar?","USE_DATA":"Utilizar dados","WARNING":"Aviso","MORE_INFO":"Mais informações ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"A carregar ...","STREMIO_TV_BACK_TO_LANGUAGES":"Voltar para os idiomas","STREMIO_TV_REMOTE":"Comando","STREMIO_TV_GO_TO":"Ir para:","STREMIO_TV_OR_SCAN":"ou pesquisar:","STREMIO_TV_ADDON_INSTRUCTIONS":"Por favor, segue as instruções com o intuito de instalares os teus addons favoritos.","STREMIO_TV_LIVE_TV":"TV em direto","STREMIO_TV_RESUME_WATCHING":"Continuar a ver","STREMIO_TV_LOADING_BACKGROUND":"A carregar o plano de fundo","STREMIO_TV_CHECKING_AUTHENTICATION":"A verificar a autenticação","STREMIO_TV_LOADING_BOARD":"A carregar o painel","STREMIO_TV_LOGIN_HEADER_LINE_1":"Queremos que os nossos utilizadores tenham a melhor experiência personalizada possível com o nosso programa.","STREMIO_TV_LOGIN_HEADER_LINE_2":"É por esta razão que pedimos gentilmente que inicies sessão na tua conta.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Obrigado por entenderes,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Equipa Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Com o intuito de utilizares o trabalho Remoto com o teu Smartphone / Tablet / PC:","STREMIO_TV_WIFI_SETUP":"Configurar o Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"O Stremio Circle não detetou ligação à Internet.","STREMIO_TV_WIFI_DETAILS_1":"Ligar a:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Utilizar palavra-passe:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Abrir o navegador com o link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Predefinido","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Últimos vistos","STREMIO_TV_LIBRARY_SORT_NAME":"Ordem alfabética","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Por nome descendente","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Número de vezes que foi visto","STREMIO_TV_LIBRARY_SORT_WATCHED":"Mais vistos","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Menos vistos","STREMIO_TV_DETAILS_SEASON_NUMBER":"Temporada ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} addons carregados...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} o addon está ainda a carregar...","STREMIO_TV_PLAYER_SETTINGS":"Definições de reprodução","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Atraso das legendas","STREMIO_TV_PLAYER_AUDIO_DELAY":"Atraso do áudio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Escala do vídeo","STREMIO_TV_PLAYER_CHAPTERS":"Capítulos","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Saltar ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Fonte de streams não suportada","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Falha ao abrir o link externo","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Não ajustável no modo de passagem de áudio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Reproduzir com o ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Reproduzir com o libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"A mudar para o libVLC player devido a um erro de reprodução","STREMIO_TV_ADDONS_TITLE":"Utiliza o Stremio no teu telemóvel ou PC para instalares ou configurares addons e pressiona em \\"Sincronizar addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: certifica-te de que estás a utilizar a mesma conta do Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizar addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons sincronizados com sucesso","STREMIO_TV_ADDONS_SYNC_FAILED":"Falha ao sincronizar addons","STREMIO_TV_META_LINK_FAILED":"Falha ao abrir o link meta","STREMIO_TV_CATALOG_LOADING":"O catálogo ainda está a carregar...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Idioma da interface atualizado","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema atualizado","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Leitor predefinido","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Leitor externo","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Idioma preferido","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Idioma secundário preferido","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Reprodução no modo tunnelled","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possíveis problemas de reprodução nalguns dispositivos","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Alguns formatos de vídeo podem não funcionar","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Correspondência da velocidade de fotogramas","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Desativado","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Apenas velocidade de fotogramas","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Velocidade de fotogramas e resolução","STREMIO_TV_SETTINGS_NO_CACHING":"Sem caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Predefinido","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Suave","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rápido","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra rápido","STREMIO_TV_SETTINGS_SERVER_URL":"URL do servidor de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versão do servidor","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Desconhecido","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versão do Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Editar URL do servidor","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Introduz um URL do servidor de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostrar estatísticas enquanto carrega","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Para leres a Política de privacidade do Stremio, vai a:","STREMIO_TV_SETTINGS_TOS_TEXT":"Para leres os Termos e condições do Stremio, vai a:","STREMIO_TV_NAV_SEARCH":"Pesquisar","STREMIO_TV_NAV_HOME":"Início","STREMIO_TV_NAV_DISCOVER":"Explorar","STREMIO_TV_NAV_LIBRARY":"Biblioteca","STREMIO_TV_NAV_MOVIES":"Filmes","STREMIO_TV_NAV_SERIES":"Séries","STREMIO_TV_NAV_CHANNELS":"Canais","STREMIO_TV_NAV_TV":"TV em direto","STREMIO_TV_NAV_SETTINGS":"Definições","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Associar conta","STREMIO_TV_LOGIN_EXPIRES_IN":"Expira em","STREMIO_TV_LOGIN_STEP_ONE":"Lê o código QR acima ou vai para","STREMIO_TV_LOGIN_STEP_TWO":"Inicia sessão na tua conta do Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Pedir um novo link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Código de início de sessão atualizado","STREMIO_TV_SEARCH_PLACEHOLDER":"Escreve alguma coisa","STREMIO_TV_SEARCH_NO_ADDONS":"Não foram pedidos addons para catálogos!","STREMIO_TV_SEARCH_BUTTON":"Pesquisar","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Limpar","STREMIO_TV_SEARCH_HISTORY_TITLE":"Histórico de pesquisas","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Podes pesquisar por títulos, atores, canais e mais...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Limpar histórico de pesquisas","STREMIO_TV_FILTERS_DESCRIPTION":"Escolhe um dos filtros abaixo","STREMIO_TV_STREAMING_SERVER_OFFLINE":"O servidor de streaming está offline. Verifica as definições do servidor.","FILTERS":"Filtros","SETTINGS":"Definições","ACCOUNT":"Conta","LOGOUT":"Terminar sessão","THEMES":"Temas","PLAYBACK":"Reprodução","PLAYBACK_SPEED":"Velocidade de reprodução","AUDIO_TRACKS":"Faixas áudio","UNKNOWN_TRACK_LANG":"Desconhecido","VIDEOS":"Vídeos","SERVER":"Servidor","LINKS":"Links","ABOUT":"Acerca de","INTERFACE":"Interface","ANIMATIONS":"Animações","STATUS":"Estado","LANGUAGE":"Idioma","SIZE":"Tamanho","DELAY":"Atraso","BOLD":"Em negrito","OPACITY":"Opacidade","TEXT_COLOR":"Cor do texto","OUTLINE_COLOR":"Cor do contorno","BACKGROUND_COLOR":"Cor do fundo","BACKGROUND_BLUR":"Desfocagem do fundo","SEEK_TIME_DURATION":"Duração do tempo para avançar / recuar","AUTO_PLAY":"Reproduzir o próximo episódio automaticamente","PLAY_NOW":"Reproduzir agora","MARK_AS_WATCHED":"Marcar como visto","MARK_AS_UNWATCHED":"Marcar como não visto","REWIND_TO_BEGINNING":"Ver do início","CONTINUE_WATCHING":"Continuar a ver","ALL":"Tudo","SECONDS":"segundos","ON":"LIGADO","OFF":"DESLIGADO","RELOAD":"Recarregar","EDIT_URL":"Editar URL","URL":"URL","NONE":"Nenhum","EMBEDDED":"Incorporadas","LOCAL":"Locais","REMOTE_SWITCH_DEVICES":"Trocar dispositivos","REMOTE_VIDEOS":"Vídeos","REMOTE_ADJUST_TIMING":"Ajustar o tempo","REMOTE_ADJUST_SIZE":"Ajustar o tamanho","REMOTE_COULD_NOT_BE_LOADED":"Não foi possível carregar o Web Remote","REMOTE_RETRY":"Tentar novamente","TORRENT_PROFILE_DEFAULT":"Predefinido","TORRENT_PROFILE_SOFT":"Suave","TORRENT_PROFILE_FAST":"Rápido","TORRENT_PROFILE_ULTRA_FAST":"Ultra rápido","MB_S":"MB/s","FAQ_001_H1":"O que é o stremio?","FAQ_001_P1":"O Stremio é um programa de multimédia centralizado desenhado para video entretenimento com a facilidade de utilização em mente. O Stremio permite-te organizares e veres a tua própria coleção de vídeos, séries, canais e TV em direto.","FAQ_001_P2":"O Stremio cataloga o teu conteúdo, seja através do teu disco local seja através do nosso sistema de addons.","FAQ_001_P3":"Também te notificaremos quando novos episódios/vídeos/filmes em que tenhas interesse sairem para o ar e mostrar-te-á recomendações de filmes.","FAQ_02_H1":"Como o Stremio se compara ao Kodi e Plex?","FAQ_02_P1":"Inspirámo-nos nos dois programas mas temos diferentes objetivos - o Stremio é especificamente voltado para o entretenimento de vídeo. Batalhámos para sermos a solução predefinida nesse sentido, tendo em foco a facilidade de utilização.","FAQ_02_P2":"Stremio nunca será tão customizável e nunca terá tantos recursos como Kodi e Plex. Mas será significativamente mais fácil de utilizar. Simplesmente ${1} obtém-no e comprova ${2} :)","FAQ_03_H1":"Como o Stremio se compara à Netflix?","FAQ_03_P1":"Novamente, a Netflix é uma das nossas inspirações. Trabalharemos arduamente para atingir a experiência de utilização proporcionada pela Netflix e mais uma quantidade de melhorias. No entanto, o mais importante é dar-vos a liberdade de organizarem a vossa própria biblioteca e adicionar novas fontes de conteúdos com o nosso sistema de addons.","FAQ_03_P2":"Isso faz do Stremio infinitamente extensível e assim que o utilizares nunca ficarás limitado ao conteúdo que a Netflix decida licenciar. Por exemplo, através do Stremio podes ver o conteúdo de ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} e mesmo da ${9}Netflix${10}!","FAQ_04_H1":"Como o Stremio se compara ao Flipboard?","FAQ_04_P1":"Raramente recebemos esta questão, excepto quando falamos com pessoas iniciantes :)","FAQ_04_P2":"O Stremio é desenhado como um agregador de conteúdo tal e qual o Flipboard o faz para vídeo. Isto é muito parecido no nosso painel, painel este que te mostrará catálogos e notificações de novos episódios/novos vídeos que sigas, tal e qual o Flipboard.","FAQ_05_H1":"Como o Stremio se compara ao Popcorn Time?","FAQ_05_P1":"O Stremio e o Popcorn Time são semelhantes na interface de utilização porque não há muitas formas de fazer catálogo de vídeo entretenimento, certo? :)","FAQ_05_P2":"Mas enquanto o Popcorn Time tem o foco numa entrega de torrents que provêm de fontes específicas, o Stremio não possui restrições e é meramente um agregador de conteúdo - não está bloqueado a uma fonte de conteúdo específica.","FAQ_05_P3":"Além disso, não fornecemos quaisquer addons de torrent por defeito, pelo que o Stremio não cobre o caso de utilização do Popcorn Time com funcionalidade oficial.","FAQ_05_P4":"Uma outra diferença notável é que o Popcorn Time é completamente de código aberto enquanto o Stremio é ${1} parcialmente de código aberto ${2}.","FAQ_06_H1":"Vocês é que adicionam estes filmes/séries?","FAQ_06_P1":"Não, desculpa :(","FAQ_06_P2":"Como já mencionámos noutras questões, o Stremio não partilha nenhum conteúdo por si próprio - tudo é adicionado diretamente pelo sistema de addons. Caso queiras pedir algum conteúdo, pode utilizar o botão “Reportar” no leitor e assim enviar um e-mail para o autor do addons com que te encontras a utilizar.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Criarão addons para X?","FAQ_08_P1":"É inteiramente possível.","FAQ_08_P2":"Se tens alguma ideia para um addon, escreve para ${1}office@stremio.com${2}, mas por favor, assegura-te de que a ideia desse addon não infringirá nenhum direito de propriedade intelectual nem os Termos de utilização.","FAQ_08_P3":"De momento, os próximos movimentos no nosso projeto são addons para FandangoNOW, vídeo on demand no Filmon.tv e no Crunchyroll.","FAQ_09_H1":"O Stremio utiliza o BitTorrent?","FAQ_09_P1":"Sim. O Stremio suporta o BitTorrent como um protocolo streaming. Podes utilizá-lo com o addon torrent ou por arrastar e soltar um ficheiro .torrent dentro do Stremio ou até mesmo colando um magnet link dentro do campo de pesquisa.","FAQ_09_P2":"Por favor, nota que o único addon oficial que utiliza o BitTorrent é o ${1}Vodo${2}, ao qual fornece produção independente, todos com permissão para serem distribuídos com o BitTorrent.","FAQ_09_P3":"Não suportamos a utilização de qualquer addon de terceiros que possa viabilizar o infringimento de leis de direitos.","FAQ_10_H1":"O que posso ver no Stremio com os addons oficiais?","FAQ_10_P1":"Por predefinição, podes ver conteúdos do Filmon.tv, YouTube e Vodo no próprio Stremio, com o seu leitor incorporado. Além disso, temos um addon para o Twitch.tv e alguns outros.","FAQ_10_P2":"Esta combinação fornece uma seleção de:","FAQ_10_L1":"Canais de TV populares, fornecido por Filmon.tv - por exemplo E4, BBC, Bollyworld TV","FAQ_10_L2":"Tudo do YouTube - por exemplo BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Filmes indepententes com Vodo","FAQ_10_L4":"Transmissões de jogos online com a Twitch.tv","FAQ_10_P3":"Adicionalmente, há muitas fontes de conteúdo fornecidas com Guidebox e addons Netflix, ao qual não reproduzem inteiramente dentro do Stremio, mas pode redirecionar para o dado serviço. Por exemplo, o addon Guidebox dá-te uma seleção de filmes que podes fazer stream gratuitamente dentro dos Estados Unidos através de serviços como o TubiTV e o Crackle.","FAQ_11_H1":"O Stremio não instala, o que devo fazer?","FAQ_11_P1":"Se utilizas Windows, tenta ${1}este instalador alternativo${2}.","FAQ_11_P2":"Se utilizas Mac OS X, por favor, tem em conta que não suportamos versões inferiores ao OS X Mavericks (10.9).","FAQ_11_P3":"Caso estejas a utilizar Linux, tem em conta que neste momento apenas damos suporte para a versão de 64 bits (x64).","FAQ_11_P4":"Se não ainda não conseguiste resolver o teu problema, por favor, envia-nos uma mensagem no ${1}Grupo do Facebook${2}.","FAQ_12_H1":"Porque é que o meu antivírus está a notificar-me? O Stremio é seguro?","FAQ_12_P1":"Asseguramos-te de que o Stremio é ${1}100% limpo${2}.","FAQ_12_P2":"O teu antivírus está a notificar-te, porque incluimos publicidade no nosso instalador e isso faz com que o Stremio seja classificado como um adware.","FAQ_12_P3":"Se não estás seguro, podes utilizar o nosso ${1}instalador alternativo${2}.","FAQ_13_H1":"Como posso fazer um addon?","FAQ_13_P1":"Para iniciantes, recomendados que leiam o nosso ${1}módulo de sistema de addons${2} no GitHub.","FAQ_13_P2":"Todavia, podes seguir o ${1}Tutorial do Olá Mundo${2}.","FAQ_13_P3":"Se não tens nenhum conhecimento em programação, por favor, publica a tua ideia na ${1}comunidade Reddit${2} e partilha-a com ${3}office@stremio.com${4}.","FAQ_14_H1":"Como os addons são publicados?","FAQ_14_P1":"Quando crias um addon e um hospedor, colocas um campo endpoint no teu manifesto, ao qual aponta para um endereço de addon ativo. O addon ficará automaticamente publicado no nosso ${1}Catálogo de addons{2}.","FAQ_14_P2":"Esta situação acontece porque parte do servidor do módulo de addons do Stremio, que faz automaticamente uma chamada para a nossa API para publicar o addon. Quando a nossa API o valida endpoint como um addon válido, ficará disponível no nosso catálogo.","FAQ_15_H1":"Posso executar o Stremio no navegador?","FAQ_15_P1":"De momento não, mas em breve!","FAQ_15_P2":"Se estás curioso para ver uma versão Alpha, podes aceder aqui: ${1}alpha4.strem.io${2}. Tem em conta que o streaming está inativo. Damos suporte para Chrome, Firefox, Opera e Edge.","FAQ_16_H1":"A transmissão para a TV não funciona / legendas não funcionam","FAQ_16_P1":"A transmissão para a TV utiliza a tecnologia DLNA que é muito inconsistente entre modelos de fabricantes diferentes. Por esta razão, nós não temos a habilidade de testar cada caso então estamos longe da perfeição. Continuamos a trabalhar no sentido de melhorar cada vez mais a aplicação mas não podemos dar uma estimativa de tempo de quando a tecnologia DLNA funcionará corretamente na tua TV.","FAQ_16_P2":"Se ainda não vês a tua TV no menu de transmissão, por favor, tenta desativar a tua conexão de rede e ativa-a novamente (no Windows, clica com o botão direito em Rede e clica em Ativar/Desativar), reinicia também o teu rooter, TV e PC.","FAQ_16_P3":"Se estás ainda a encontrar problemas, podes ajudar-nos ao enviares a informação do teu modelo de TV e fabricante para ${1}office@stremio.com${2}.","FAQ_16_P4":"Entretanto, recomendamos o Chromecast, ao qual suportamos muito bem ou até simplesmente conectando a tua TV ao teu PC com um cabo HDMI.","FAQ_17_H1":"O Stremio bloqueia/falha, o que posso fazer?","FAQ_17_P1":"Primeiro de tudo, se estás a utilizar o Windows 7 com o antivírus AVG: temos problemas com essa combinação. O problema é o próprio AVG e não há uma solução definitiva para corrigirmos isso. Infelizmente, exceções ou desativar o antivírus não funciona. A única forma é trocares o teu antivírus.","FAQ_17_P2":"Se isso não é o problema, mas usa Windows, por favor atualize seu o sistema, incluíndo os drivers da GPU e tente novamente.","FAQ_17_P3":"Se o teu problema continua sem solução ou utilizas Mac ou Linux, por favor escreve-nos reportando em detalhe o problema no ${1}nosso grupo do Facebook${2}.","FAQ_18_H1":"Como posso fazer um addon?","FAQ_18_P1":"Para iniciantes recomendamos que vejas o nosso ${1}módulo de sistema de addons{2} no GitHub.","FAQ_18_P2":"No entanto, podes guiar-te pelo nosso ${1}tutorial do Olá Mundo!${2}.","FAQ_18_P3":"Se não tens nenhuma habilidade em programação, por favor, publica a tua ideia na ${1}comunidade do Reddit${2} e contacta-nos com a tua ideia de addon para ${3}office@stremio.com${4}.","FAQ_19_H1":"Porque é que o Stremio está a ocupar espaço em disco?","FAQ_19_P1":"O Stremio tem um cache local para temporariamente deixar os ficheiros de vídeo descarregados.","FAQ_19_P2":"Esta situação tem dois benefícios: primeiro, permite ao Stremio pré-carregar o vídeo para garantir uma transmissão suave. Segundo, isto deixa os vídeos na cache local para que possas continuar a ver offline.","FAQ_19_P3":"Quanto depende o Stremio da configuração do Cache no painel das Definições. O Stremio pode manter uma quantidade (exemplo 2GB) no teu disco, a menos que o video descarregado seja maior que isso e nesse caso pode necessitar de mais espaço para mantê-lo enquanto o descarrega.","FAQ_20_H1":"Onde está a pasta da cache?","FAQ_20_P1":"No Windows, a cache do Stremio fica no caminho que selecionaste nas definições (exemplo \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"No MacOS, fica em \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"No Linux, fica em \\"~/.stremio/stremio-cache\\" ou \\"~/stremio-cache\\"","FAQ_21_H1":"Recebi a mensagem de erro \\"Servidor de streming não encontrado\\", o que posso fazer?","FAQ_21_P1":"Se recebeste esta mensagem implica uma das possibilidades:","FAQ_21_P2":"1) Estás a tentar utilizar um addon suportado pelo código do YouTube/BitTorrent através da nossa ${1}versão web${2}. Nesse caso, deves instalar a nossa versão para desktop através do ${3}nosso site${4}.","FAQ_21_P3":"2) Há algo de errado com a instalação do Stremio. Neste caso, tenta reinstalar a nossa versão mais recente através ${1}do site${2}. Se isto não ajudar, tenta desativar os programas de antivírus e firewal, reinicia o teu PC e tenta novamente. Se isto não funcionar, por favor, entra em contacto pelo ${3}nosso grupo do Facebook${4}.","FAQ_22_H1":"Não consigo ver/utilizar a maioria dos addons no iOS","FAQ_22_P1":"Devido a restrições dos Termos e condições da loja da Apple, temos restringido apenas a aplicação iOS de um grupo particular de addons.","FAQ_22_P2":"Mas fica atento - existirão mais addons para iOS no futuro e poderemos também adicionar uma integração que permitirá a utilização de todos os addons do Stremio graças à conexão da aplicação iOS com o servidor de Streaming do Stremio."}')},34595:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serial","TYPE_tv":"Canal TV","TYPE_channel":"Canal","TYPE_other":"Altele","TYPE_movie_PL":"Filme","TYPE_series_PL":"Seriale","TYPE_tv_PL":"Canale TV","TYPE_channel_PL":"Canale","TYPE_other_PL":"Altele","TYPE_ALL":"Toate","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Înapoi","MORE":"Mai mult","DONE":"Gata","COPY":"Copiere","SUCCESS":"Succes","ERROR":"Eroare","SETTINGS_CASTING_MODE_PICKER":"Mod de redare pe dispozitiv extern","CASTING_MODE_HLSV2":"Implicit","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Fără transcodare","Discover":"Descoperă","Board":"Tablou","Library":"Bibliotecă","My Library":"Biblioteca Mea","Calendar":"Calendar","NOTIFICATION_ONLINE":"Ești online acum","NOTIFICATION_OFFLINE":"Ești în modul offline","INTERNET_CONNECTION":"Conexiune la rețea","STORAGE_FULL_TITLE":"Atenție: Spațiul de stocare este plin!","STORAGE_FULL_TEXT":"Stremio nu va putea să-ți salveze setările, preferințele sau informațiile de autentificare. Poți să consideri repornirea sau reinstalarea Stremio.","SEARCH":"căutare","SEARCH_NO_RESULTS":"Nu au fost găsite rezultate","SEARCH_EXPLANATION_CONTENT":"Caută filme, seriale, clipuri YouTube și canale TV","SEARCH_EXPLANATION_PEOPLE":"Caută actori, regizori și scenariști","SEARCH_PASTE_LINKS":"Lipește linkuri HTTP și Magnet","SEARCH_OR_PASTE_LINK":"Caută sau lipește linkul","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Adaugă în Bibliotecă","REMOVE_FROM_LIB":"Șterge din Bibliotecă","ADDED_TO_LIB":"Adăugat în Bibliotecă","REMOVED_FROM_LIB":"Șters din Bibliotecă","TRAILER":"Trailer","WATCH_TRAILER":"Vizualizează Trailerul","WATCH_NOW":"Vizionează Acum","SHOW":"Arată","SHOW_MOVIE":"Arată Filmul","WATCH_RANDOM":"Vizionează Aleatoriu","IMDB_RATING":"Rating IMDb","YEAR":"An","DIRECTOR":"Regizor","WRITER":"Scenarist","LEAD_ACTORS":"Actorii Principali","CAST":"Distribuție","CREW":"Echipă","SHOW_MORE_CAST":"Arată mai mult »","AIRED":"A fost difuzat","SEASONS":"Sezoane","GENRE":"Gen","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Rezumat","SHOW_MORE":"Arată Mai Mult","SIMILAR":"Asemănător","UPCOMING":"Viitoare","TBA":"TBA","ENDED":"S-a încheiat","DURATION":"Durată","FEATURED":"Recomandat","METADATA":"Metadate","CATEGORY":"categorie","LINKS_GENRES":"Genuri","LINKS_CAST":"Distribuție","LINKS_DIRECTORS":"Regizori","SEARCH_VIDEOS":"caută videoclipuri","SEARCH_PLACEHOLDER":"caută sau lipește URL-ul","ADDON":"extensie","ADDONS":"Extensii","OFFICIAL":"oficial","ADDONS_OFFICIAL":"Extensii Oficiale Stremio","ADDONS_POPULAR":"Populare în zona ta","ADDON_FREE":"gratuit","ADDON_PEERED":"partajat","ADDON_SUBSCRIPTION":"abonament","ADDON_STREAM_GEORESTRICTED":"indisponibil în zona ta","ADDON_STREAM_OFFLINECACHE":"Cache Offline","ADDON_STREAM_LOCALFILE":"Fișier Local","SHARE_ADDON":"Distribuie extensia","AVAILABLE_STREAMS":"Stream-uri disponibile","NO_STREAM":"Nu au fost găsite stream-uri","ALL_ADDONS":"Toate","INSTALL_MORE_ADDONS":"Pentru mai multe stream-uri, instalează mai multe extensii","STREAM_NOT_SUPPORTED":"Stream-ul selectat nu este suportat pe această platformă.","ADDON_CATALOGUE":"Arată toate extensiile »","ADDON_CATALOGUE_MORE":"Instalează extensii","REPO_ADDED":"Repozitoriu adăugat","ADDON_REPO_EXIST_ERR":"Această colecție de extensii există deja","ADDON_REPO_ERR":"A apărut o eroare la adăugarea colecției","ADDON_ADD_ERR":"A apărut o eroare la adăugarea extensiei","ERR_ADDON_PROTECTED":"Nu poți dezinstala această extensie, este protejată","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Ceva a mers greșit - autentificarea se poate să fi eșuat","ERR_NOT_COLLECTION_URL":"Nu este un URL de colecție","ERR_NOT_ADDON_URL":"Nu este un URL valid de extensie","ERR_DETECTFROMURL":"Nu se poate găsi extensia/colecția din acest URL","ADDON_DUPLICATE_WARNING":"Atenție: extensie duplicată","ADDON_COLLECTION_SET_FAILED":"Sincronizarea extensiilor instalate cu contul tău a eșuat","SETTINGS_DATA_EXPORT":"Exportă datele utilizatorului","ADDON_PULL_FAILED":"Sincronizarea extensiilor instalate din contul tău a eșuat","REFRESH_ON_CLICK":"Click pentru a reîncerca","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film încă în cinematografe","WATCH_IN_CINEMA":"Vizionează-l în cinematograful local","IN_THEATER":"În cinematograf","GET_TICKETS":"Obține bilete","UPCOMING_EPISODE":"Episod viitor","UPCOMING_EPISODE_MESSAGE":"Acest episod va fi difuzat în data de","MISSING_DATE_EPISODE":"Data episodului lipsește","MISSING_DATE_EPISODE_MESSAGE":"Acest episod poate încă să nu fi fost difuzat","CHANNEL_NOT_SCRAPED":"Acest canal nu a fost încă explorat.
    Vă rugăm să reveniți în câteva minute.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Adaugă-l în biblioteca ta pentru a fi notificat când devine disponibil.","GET_NOTIFIED_WHEN_AVAILABLE":"Veți fi notificat(ă) când devine disponibil.","WARNING_STREAMING_SERVER":"Atenție: serverul local de streaming nu a fost găsit. Redarea din fișiere locale, YouTube și BitTorrent nu va fi disponibilă.","WARNING_STREAMING_SERVER_DISMISS":"Ignoră","WARNING_STREAMING_SERVER_LATER":"Mai târziu","DECODER_WARNING":"Atenție: acest video s-ar putea să nu fie suportat de hardware-ul tău. Ține minte, redarea ar putea fi lentă.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Ops, eroare la player","PLAYER_ERROR_LOOKSLIKE":"Se pare că","PLAYER_ORIENTATION":"Orientare player","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Blocat","PLAYER_ORIENTATION_SENSOR_SHORT":"Senzor","PLAYER_ORIENTATION_LANDSCAPE":"Orientare player blocată la peisaj","PLAYER_ORIENTATION_SENSOR":"Orientare player automată (senzor)","PLAYER_PLAYBACK_SPEED":"Viteză redare","PLAYER_PLAYBACK_ERROR":"Eroare de redare, te rugăm să reîncerci","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Eroare necunoscută","PLAYER_PLAYBACK_ERROR_DEFAULT":"Scuze, acest video nu poate fi redat de {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Limbi subtitrări","PLAYER_SUBTITLES_VARIANTS":"Variante subtitrări","PLAYER_SUBTITLES_SETTINGS":"Setări subtitrări","PLAYER_SUBTITLES_DISABLED":"Subtitrările sunt dezactivate","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Poziție verticală","PLAYER_SUBTITLES_LOADED":"Subtitrări încărcate","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Subtitrări încorporate încărcate","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Subtitrări exclusive încărcate","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitrări de la {{origin}} încărcate","PLAYER_PLAY":"Redare","PLAYER_PAUSE":"Pauză","PLAYER_NEXT_VIDEO":"Următorul videoclip","PLAYER_MUTE":"Dezactivare sunet","PLAYER_UNMUTE":"Activare sunet","PLAYER_OPEN_IN_EXTERNAL":"Deschide în player extern","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Redă în {{device}}","PLAYER_LIVE":"În direct","PLAYER_NEXT_VIDEO_TITLE":"Următorul pe","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Ignoră","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Urmărește acum","PLAYER_COPY_STREAM_SUCCESS":"Linkul de stream a fost copiat în clipboard","PLAYER_COPY_STREAM_ERROR":"Nu s-a putut copia linkul de stream","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streaming de la","CASTING_TO":"Redarea pe","NETWORK_STATUS":"Stare rețea","STREAM_SPEED":"Viteză stream:","STREAM_BUFFERED":"Bufferizat:","PEERS_INFO":"Informații despre parteneri","PEERS_ACTIVE":"Activi:","PEERS_CONNECTED":"Conectați:","PEERS_WAITING":"În așteptare:","TRANSCODING_WARNING":"Atenție: video-ul este transcodat.","STREAM_LOADING":"se încarcă...","PLAYING_LOCAL":"se redă din fișier local","PLAYING_CACHE":"se redă din cache","WRONG_SUBS":"Subtitrări greșite?","ERR_SUBS_LOADING_TITLE":"Eroare la încărcarea subtitrărilor","ERR_SUBS_LOADING":"Eroare la încărcarea subtitrărilor: aceasta poate fi o problemă cu extensia pe care o folosiți sau cu conexiunea la rețea","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Următoarele extensii de subtitrări au eșuat","ERR_CASTING_UPDATE_TITLE":"Nu s-a putut actualiza informațiile despre dispozitivul de redare: serverul de streaming poate fi offline","CHOOSE_DEVICE":"Alege un dispozitiv pentru a urmări","NO_CAST_DEVICES":"Nu sunt dispozitive de redare disponibile.","NO_SETTINGS":"Nu sunt setări disponibile.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Tabletă","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtitrări","SUBTITLES_CHANGE":"Schimbă subtitrările pentru ","SUBTITLES_CHANGE_NONE":"Nu există alte subtitrări pentru această limbă, ne pare rău.","SUBTITLES_CHANGE_ACIVE":"În prezent subtitrarea #{{subtitlesDialog.activeIdx + 1}} este activată. Dă clic pe „Continuă” pentru a activa subtitrarea #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Sau, în mod alternativ,","SUBTITLES_ADJUST_DELAY":"Ajustează întârzierea subtitrărilor:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Sau folosește tastele G / H în timpul redării pentru a ajusta.","SUBTITLES_ADJUST_DELAY_TIP":"SFAT: poți folosi tastele G / H în timpul redării pentru a ajusta.","SUBTITLES_DELAY":"Întârziere subtitrări:","SUBTITLES_LOADING":"Se încarcă subtitrările...","SUBTITLES_UNAVAILABLE":"Nu sunt disponibile subtitrări externe","SUBTITLES_DISABLED":"Dezactivate","EXTERNAL_PLAYER_DISABLED":"Dezactivat","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permite selectarea","EXTERNAL_PLAYER_HINT":"Sugestie: există o setare pentru a permite deschiderea întotdeauna cu playerul extern","DONT_SHOW_AGAIN":"Nu mai arăta","SERVICE_INSTALL":"Instalează","AUDIO":"Audio","DEFAULT_LANGUAGE":"Limbă implicită","DEFAULT_SECONDARY_LANGUAGE":"A doua limbă implicită","SEASON":"Sezon","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episod","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sortează","SORT_BY":"Sortează după","FILTER":"filtrează","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"evaluare","SORT_WATCHED":"văzute","SORT_YEAR":"an","SELECT":"Select","SELECT_TYPE":"Selectează tipul","SELECT_SORT":"Selectează sortarea","SELECT_CATALOG":"Selectează catalogul","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Selectează genul","SORT_LASTWATCHED":"După ultima vizionare","SORT_NAME":"După nume","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"După numărul de vizionări","SORT_NOTWATCHED":"not watched","New for You":"Nou pentru tine","New Episodes":"Episoade noi","New Videos":"Clipuri noi","Recommendations":"Recomandări","LIBRARY_RESUME":"Continuă","LIBRARY_PLAY":"Redă","LIBRARY_DETAILS":"Detalii","LIBRARY_RESUME_DISMISS":"Ignoră","LIBRARY_CLEAR_PROGRESS":"Șterge progresul","LIBRARY_REMOVE":"Elimină","LIBRARY_NOT_LOGGED_IN":"Biblioteca este disponibilă doar pentru utilizatorii autentificați","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendarul este disponibil doar pentru utilizatorii autentificați","NOT_LOGGED_IN_CLOUD":"Accesează filmele și serialele tale favorite în orice moment și oriunde","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomandări adaptate istoricului tău de vizionare","NOT_LOGGED_IN_NOTIFICATIONS":"Nu pierde niciodată un episod nou","NOT_LOGGED_IN_CALENDAR":"Stabilește-ți propriul calendar personal de vizionare","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Recomandate","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Câștigători ai premiului Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Această extensie a returnat conținut gol.","DISCOVER_ADULT_WARNING":"Conținutul este vizibil doar pentru adulți. Ai peste 18 ani?","DISCOVER_NOADDON_WARNING":"Atenție: nicio extensie Stremio activă pentru acest tip. Se afișează elemente salvate, nimic nu se va actualiza aici.","DISCOVER_LOAD_ERR":"Conținutul nu s-a încărcat, a apărut o eroare.","DISCOVER_ADDON_UNINSTALLED":"Acest conținut nu mai este disponibil, este posibil să fi dezinstalat extensia.","UNINSTALL_THIS_ADDON":"Dezinstalează această extensie","ERR_ADDON_NOT_INSTALLED":"Această extensie nu este instalată. Să o instalezi acum?","DETAIL_RECEIVE_NOTIF_SERIES":"Primi notificări pentru episoade noi","DETAIL_RECEIVE_NOTIF_VIDEOS":"Primi notificări pentru videoclipuri noi","SIDEBAR_SHOW_STREAMS":"Afișează fluxurile","RELAUNCH":"Reporniți acum!","UPGRADE":"Este disponibilă o nouă versiune! Actualizați la cea mai recentă versiune Stremio","RELOAD_UI":"Reîncărcați interfața de utilizator","MANUAL_UPDATE_TITLE":"Actualizați versiunea Stremio","MANUAL_UPDATE_LINE1":"Rulați o versiune învechită a Stremio, ceea ce nu este deloc recomandat.","MANUAL_UPDATE_LINE2":"Vă rugăm să actualizați cât mai curând posibil.","BUTTON_UPDATE_LATTER":"Nu acum","BUTTON_UPDATE_NOW":"Actualizați","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Utilizator anonim","DONT_HAVE_ACC":"Nu aveți un cont?","HAVE_ACC":"Aveți deja un cont?","PASSWORD":"Parolă","PASSWORD_CONFIRM":"Confirmați parola","EMAIL":"E-mail","FB_LOGIN":"Continuați cu Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nu se distribuie nimic fără permisiunea dvs.","FB_NOPOST":"Nu vom posta nimic în numele dvs.","OR":"sau","I_ACCEPT":"Accept ","I_ACCEPT_BY_CLICKING":"Prin apăsarea butonului de mai sus, declar că accept ","TOS":"Termenii și condițiile","MUST_ACCEPT_TERMS":"Trebuie să acceptați termenii","PASSWORDS_NOMATCH":"Parolele nu se potrivesc","SIGN_UP":"Înregistrare","SIGN_UP_EMAIL":"Înregistrare cu e-mailul","CLICK_TO_SIGN_UP":"Apăsați aici pentru a vă înregistra.","LOG_IN":"Autentificare","LOG_OUT":"Deconectare","EXIT_FULLSCREEN":"Ieșiți din modul ecran complet","ENTER_FULLSCREEN":"Intrați în modul ecran complet","PLAY_URL_MAGNET_LINK":"Redați URL-ul/Linkul Magnet","HELP_FEEDBACK":"Ajutor și Feedback","TERMS_OF_SERVICE":"Termeni și Condiții","PRIVACY_POLICY":"Politica de Confidențialitate","ABOUT_STREMIO":"Despre Stremio","USER_PANEL":"Panou de Utilizator","LOGIN_LABEL":"Autentificare","GUEST_LOGIN":"Autentificare pentru oaspeți","GUEST_LOGIN_NOTICE":"Autentificarea pentru oaspeți nu este recomandată. Folosind o autentificare regulată, Stremio poate sincroniza Biblioteca dvs., poate primi notificări pentru serii/canale favorite. Sunteți sigur că doriți să continuați?","GUEST_LOGIN_NOTICE_2":"Autentificarea pentru oaspeți nu este recomandată - nu veți avea Biblioteca sincronizată și notificările din Panoul de noutăți, care sunt caracteristici vitale ale Stremio. Sunteți sigur că doriți să continuați?","CLICK_HERE":"apăsați aici","WRONG_PASSWORD":"E-mail sau parolă incorectă. În cazul în care ați uitat parola, ","SET_A_PASS":"setați o parolă","RESET_PASSWORD":"Resetați parola","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Ați uitat parola?","EMAIL_USED_WITH_FB":"Acest e-mail a fost folosit pentru autentificarea cu Facebook.","INVALID_EMAIL":"Vă rugăm să introduceți o adresă de e-mail validă","INVALID_PASSWORD":"Vă rugăm să introduceți o parolă validă","CONN_ERR":"Eroare de conexiune - vă rugăm să încercați din nou mai târziu.\\n\\nDacă problema persistă, dezactivați firewall-urile/programul antivirus (în special Bitdefender).","IMPORT_FROM_GUEST":"Importați Biblioteca din contul de oaspeți","RECEIVE_UPDATES_EMAIL":"Primirea actualizărilor prin e-mail de la Stremio","LOGIN_FAILED":"Autentificare eșuată.","SIGNUP_FAILED":"Înregistrare eșuată.","SEARCH_FAILED":"Căutarea a eșuat","EMAIL_USED":"Acest e-mail este deja în uz.","WAITING_FB_LOGIN":"Se autentifică cu Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Redați în playerul extern","EXTERNAL_REMEMBER_PLAYER":"Doriți să vă amintiți alegerea dvs.?","EXTERNAL_ALWAYS_PLAY":"Da","EXTERNAL_ONLY_ONCE":"Nu","BEST_FIT":"Potrivire perfectă","FIT_SCREEN":"Potrivire ecran","FILL":"Umplere","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Spuneți-ne despre ce vă place","INTRO_TASTE_LONG":"Spuneți-ne despre ce ați dori să urmăriți","INTRO_TASTE_PICK":"Alegeți {{interestsRemaining}} interese","INTRO_TASTE_PICK_MORE":"Alegeți încă {{interestsRemaining}} interese","INTRO_TASTE_HELP_US":"Ajutați-ne să vă cunoaștem mai bine.","INTRO_TASTE_CHOOSE_THESE":"Alegeți din acestea:","INTRO_TASTE_CHOOSE_MIN":"Alegeți cel puțin 3 categorii","INTRO_TASTE_CHOOSE_MIN_ERR":"Trebuie să alegeți cel puțin 3 categorii!","INTRO_TASTE_LIFESTYLE":"Stil de viață","INTRO_TASTE_SPORTS":"Sporturi","INTRO_TASTE_FOOD_HEALTH":"Mâncare și Sănătate","INTRO_TASTE_BEAUTY_FASHION":"Frumusețe și Modă","INTRO_TASTE_NEWS":"Știri","INTRO_TASTE_GAMING":"Jocuri video","INTRO_TASTE_SCIENCE_EDU":"Știință și Educație","INTRO_TASTE_MUSIC":"Muzică","INTRO_TASTE_TRAVEL":"Călătorii","INTRO_TASTE_LATE_NIGHT":"Emisiuni târzii","INTRO_TASTE_REALITY":"Realitate","INTRO_TASTE_COMEDY":"Comedie","INTRO_TASTE_DIY":"Fă-ți singur","INTRO_TASTE_TECH":"Tehnologie","INTRO_TASTE_CINEMA":"Cinematografie","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Addon-ul selectat nu este suportat pe această platformă.","ADDON_DISCLAIMER":"Utilizarea addon-urilor de la terți va fi întotdeauna sub responsabilitatea dvs. și sub supunerea legii din jurisdicția în care vă aflați.","ADDON_ACTIVATE":"Doriți să activați acest addon?","ADDON_REPO_ADD":"URL colecție addon-uri","ADDON_ADD":"Adăugare","INSTALL_ADDON":"Install addon","ADD_ADDON":"Adăugați addon","ADD_ADDON_DESCRIPTION":"Puteți adăuga un addon prin intermediul unui link extern, care va apărea sub addon-urile instalate.","PASTE_ADDON_URL":"Lipiți URL-ul addon-ului","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Ce este nou","BUTTON_CONTINUE":"Continuare","BUTTON_ACTIVATE":"Activează","BUTTON_ACTIVATED":"Activat","BUTTON_CANCEL":"Anulare","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Trimite","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Respingeți tot","BUTTON_VIEW_ALL":"vezi toate","BUTTON_SEE_ALL":"Vezi toate","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Deschideți în browser","LIB_EMPTY":"Biblioteca dvs. pare goală. Aflați cât de utilă poate fi :) ","HOW_START":"Iată cum puteți începe:","LIB_EMPTY_CAL":"Calendarul dvs. afișează serii din Biblioteca dvs.","HOW_START_CAL":"Iată cum puteți adăuga serii:","LIB_EMPTY_BOARD":"Bordul afișează notificări și recomandări legate de Biblioteca dvs.","HOW_START_BOARD_WAIT":"Vă rugăm să adăugați câteva serii sau canale la Biblioteca dvs. și acordați-ne câteva minute pentru procesare :)","HOW_START_BOARD":"Iată cum puteți adăuga serii și filme:","IMPORT_FB":"Importați lucrurile pe care le iubiți de pe Facebook","IMPORT_TRAKT":"Importați biblioteca media de pe Trakt","IMPORT_DISCOVER":"Găsiți lucruri interesante de pe Discover","IMPORT_DISK":"Importați filme sau serii pe care le aveți pe discul local","PLEASE_CREATE_ACC":"Vă rugăm să creați un cont pentru a activa sincronizarea Bibliotecii și Bordul.","IMPORT_DISCOVER_SIGNUP":"Înregistrați-vă și găsiți lucruri interesante de pe Discover","IMPORT_DISK_SIGNUP":"Înregistrați-vă și importați filme sau serii pe care le aveți pe discul local","LIB_EMPTY_CLOUD":"Bibliotecă cloud","LIB_EMPTY_CLOUD_DESC":"Bibliotecă personală în cloud sincronizată pe toate dispozitivele","LIB_EMPTY_EARLY":"Primii pași","LIB_EMPTY_EARLY_DESC":"Primirea notificărilor pentru episoade noi","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Obțineți recomandări personale","LIB_EMPTY_CALENDAR_DESC":"Planificați-vă calendarul personal de vizionare","LIB_EMPTY_ALL":"Înregistrați-vă pentru a obține toate acestea:","LIB_EMPTY_BEST":"Înregistrați-vă pentru a obține cel mai bun din Stremio","LIB_EMPTY_OTHER":"Înregistrați-vă pentru a activa Calendarul și alte caracteristici interesante","CALENDAR_ADDED":"Calendarul Stremio a fost adăugat la calendarul implicit al desktopului.","CALENDAR_ADDED_MSG":"Dacă acest lucru nu funcționează, vă rugăm să adăugați manual acest URL la aplicația dvs. de calendar","TRAKT_EXPIRED":"Autentificarea Trakt a expirat, vă rugăm să mergeți la Setări și să vă autentificați din nou","TRAKT_REQUIRES_LOGIN":"Eroare Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Trebuie să vă autentificați","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Setări","SETTINGS_NAV_GENERAL":"Generale","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Comenzi rapide","SETTINGS_SHORTCUT_RELOAD_APP":"Reîncarcă aplicația","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Deschideți Setările","SETTINGS_SHORTCUT_SWITCH_TABS":"Comutați între file","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Ciclați prin file înainte","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Ciclați prin file înapoi","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigați între meniuri","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Accesați căutarea","SETTINGS_SHORTCUT_EXIT_BACK":"Ieșiți / Reveniți înapoi","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Comutați meniul de viteză de redare","SETTINGS_SHORTCUT_MENU_VIDEOS":"Comutați meniul de videoclipuri","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Comutați meniul de subtitrări","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Comutați meniul de informații","SETTINGS_SHORTCUT_FULLSCREEN":"Comutați la modul ecran complet","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Afișați controalele","SETTINGS_SHORTCUT_PLAY_PAUSE":"Redați / Pauză","SETTINGS_SHORTCUT_VOLUME_UP":"Creșteți volumul","SETTINGS_SHORTCUT_VOLUME_DOWN":"Scădeați volumul","SETTINGS_SHORTCUT_SEEK_NEXT":"Salt la următorul","SETTINGS_SHORTCUT_SEEK_PREV":"Salt la anteriorul","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Salt înapoi","SETTINGS_SHORTCUT_SEEK_FORWARD":"Salt înainte","SETTINGS_SHORTCUT_PLAY_NEXT":"Redați următorul","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Măriți dimensiunea subtitrărilor","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Micsorați dimensiunea subtitrărilor","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Creșteți întârzierea subtitrărilor","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Scădeați întârzierea subtitrărilor","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Comutați bara laterală","SETTINGS_SHORTCUT_OR":"sau","SETTINGS_SHORTCUT_TO":"la","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autentificare","SETTINGS_FACEBOOK_IMPORT":"Importați","SETTINGS_CALENDAR_SUBSCRIBE":"Abonați-vă","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Limbă interfață","SETTINGS_LAUNCH_STARTUP":"Lansați la pornire","SETTINGS_VLC_DEFAULT":"Redați cu VLC","SETTINGS_UI_LANGUAGE":"Limbă UI","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Tasta Esc iese din modul ecran complet","SETTINGS_GAMEPAD":"Activați suportul pentru gamepad","SETTINGS_CLOSE_WINDOW":"Închideți aplicația la închiderea ferestrei","SETTINGS_SUBTITLES_LANGUAGE":"Limbă implicită pentru subtitrări","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Dimensiune implicită a subtitrărilor","SETTINGS_SUBTITLES_BACKGROUND":"Fundal subtitrări","SETTINGS_SUBTITLES_COLOR":"Culoare subtitrări","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Culoare contur subtitrări","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Culoare fundal subtitrări","SETTINGS_SEEK_KEY":"Taste sărire timp","SETTINGS_SEEK_KEY_SHIFT":"Taste sărire timp când tasta Shift este apăsată","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Durata de derulare rapidă înainte/înapoi","SETTINGS_BINGE":"Redare automată episod următor","SETTINGS_NEXT_VIDEO":"Afișare notificare pentru a începe următorul episod","SETTINGS_NEXT_VIDEO_TRIGGER":"Afișați notificarea pentru următorul episod pentru:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Durata afișării notificării pentru episodul următor","SETTINGS_PLAY_IN_BACKGROUND":"Redați în fundal","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Redați în playerul extern","SETTINGS_RESIZE":"Redimensionare automată a ferestrei înainte de redare","SETTINGS_OVERRIDE_SERVER":"Anulați URL-ul serverului de streaming (avansat)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"URL server de streaming: ","SETTINGS_SERVER_AVAILABLE":"Serverul de streaming este disponibil.","SETTINGS_SERVER_UNAVAILABLE":"Serverul de streaming nu este disponibil.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Eroare","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurați URL-ul serverului de streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Introduceți un URL pentru serverul de streaming","SETTINGS_SERVER_CACHE_SIZE":"Dimensiune cache","SETTINGS_SERVER_TORRENT_PROFILE":"Profil torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint HTTPS pentru streaming: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Utilizați întotdeauna cea mai recentă versiune Beta","SETTINGS_IMPORT_FB":"Importați din Facebook","SETTINGS_IMPORT_DISK":"Importați din discul local","SETTINGS_IMPORT_TRAKT":"Importați din Trakt","SETTINGS_PAUSE_MINIMIZED":"Pauzați redarea când este minimizată","SETTINGS_HWDEC":"Decodificare accelerată de hardware","SETTINGS_BACKGROUND":"Redare în fundal","SETTINGS_SUBSCRIBE_CALENDAR":"Abonați-vă la calendar","SETTINGS_REQ_EXPORT":"Solicitați exportul datelor","SETTINGS_ACC_DELETE":"Solicitați ștergerea contului","SETTINGS_CHANGE_PASSWORD":"Schimbați parola","SETTINGS_TOS":"Termeni și condiții","SETTINGS_SUPPORT":"Contactați suportul tehnic","SETTING_LANGUAGE":"Limbă","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Scrobbling Trakt","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Deautentificare din Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Deautentificare din Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scanați codul QR pentru a deschide comanda la distanță","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificări de desktop","SETTINGS_DATA_SAVER":"Economizor de date","SETTINGS_LANGUAGE_INTERFACE":"interfață","SETTINGS_LANGUAGE_SUBS":"subtitrări implicite","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Selectați automat Pista audio","SETTINGS_DEFAULT_AUDIO_TRACK":"Pista audio implicită","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"cont","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"versiune","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Lansați playerul într-o fereastră separată (avansat)","SETTINGS_PLAY_IN_EXTERNAL":"Începeți întotdeauna video în playerul extern","SETTINGS_STORAGE_BUTTON":"Ștergeți stocarea locală","SETTINGS_STORAGE_MODAL_TITLE":"Sunteți sigur?","SETTINGS_STORAGE_MODAL_MESSAGE":"Aceasta va șterge stocarea locală și vă va deconecta.","SETTINGS_HWDEC_PICKER":"Selectați setarea de decodificare accelerată de hardware","SETTINGS_HW_AUTOMATIC":"Automată","SETTINGS_HW_DISABLED":"Dezactivată","SETTINGS_HW_ACCELERATED":"Accelerare decodificare","SETTINGS_HW_FULL":"Accelerare completă","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitrări","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Comenzi","SETTINGS_SECTION_AUTO_PLAY":"Redare automată","SETTINGS_SECTION_ADVANCED":"Avansate","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Subtitrări extensii","SUBSPICKER_BLACK_BACKGROUND":"Utilizați culoarea de fundal neagră","SUBSPICKER_VERTICAL_OFFSET":"Deplasare verticală","SUBSPICKER_SIZE":"Dimensiune","SUBSPICKER_DELAY":"Întârziere","SUBSPICKER_EMBEDDED_SUBS":"Subtitrări incorporate","MOBILE_PRIVACY_POLICY":"Politica de confidențialitate","MOBILE_CRASH_REPORTING":"Raportarea incidentelor","MOBILE_ZOOM_TO_FILL":"Mărire pentru a umple ecranul","MOBILE_PASSTHROUGH":"Ieșire audio digitală (passthrough)","MOBILE_RUN_LOW_BATTERY":"Rulează cu bateria descărcată","MOBILE_RUN_FOREGROUND":"Rulează ca serviciu în prim-plan","MOBILE_PERFORMANCE":"PERFORMANȚĂ ȘI STABILITATE","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"Codul QR expiră în ","MOBILE_LOG_INTO":"Conectați-vă la contul Stremio ","MOBILE_SCAN_QR":"Scanați codul QR de mai sus sau accesați ","MOBILE_LINK_ACCOUNT":"Conectați-vă la cont","MOBILE_SPEEDPICKER_CANCEL":"Anulați","MOBILE_SPEEDPICKER_LABEL":"Selectați viteza de redare","MOBILE_EMPTY_LIBRARY":"Biblioteca dvs. este goală","MOBILE_NO_ADDON_ACTIVE":"Nici o extensie Stremio activă pentru acest tip.","MOBILE_ORGANIZER_WARNING":"Aplicația Stremio Organizer oferă funcționalitate limitată. Pentru o listă de fluxuri redabile și experiența completă Stremio, utilizați Stremio pe desktop.","MOBILE_ADDON_LOADING":"se încarcă încă","MOBILE_ADDONS_LOADING":"extensii se încarcă încă","MOBILE_ADDON":"Extensie","MOBILE_CONFIGURE_ADDON":"Configurați extensia dvs.","MOBILE_CONFIGURE_ADDON_LABEL":"Configurați extensia","MOBILE_ORGANIZER_ADDONS_WARNING":"Aplicația Stremio Organizer oferă o selecție limitată de extensii. Pentru experiența Stremio completă, utilizați Stremio pe desktop.","MOBILE_DISCONNECT":"Deconectați","MOBILE_LOOKING_FOR_DEVICES":"Căutare dispozitive...","MOBILE_CAST_TO":"Transmiteți la","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Ștergere cont","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Ștergerea contului nu este instantanee din motive legale. După solicitarea ștergerii contului, va trebui să utilizați o altă adresă de e-mail/profil Facebook pentru a crea un nou cont Stremio în viitor.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmați ștergerea contului","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Contul dvs. a fost creat utilizând Facebook. Pentru a șterge contul dvs., vă rugăm să utilizați portalul nostru pentru utilizatori la www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Vă rugăm să introduceți parola pentru a confirma ștergerea contului.","MOBILE_DELETE_ACCOUNT_BUTTON":"Ștergere cont","NAVIGATION_ON":"Pornit","NAVIGATION_OFF":"Oprit","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Sunt de acord să primesc comunicări de marketing de la Stremio","QUIT":"Ieșire","CONNECTED":"Conectat","AUTHENTICATE":"Autentificare","AUTHENTICATING":"Authenticating...","CACHING":"Se realizează cache","SETTINGS_CACHING_DRIVE":"Unitate pentru cache","ENABLE_LOCAL_FILES_ADDON":"Activați extensia pentru fișiere locale (necesită repornire)","LOCAL_ADDON_NOT_ENABLED":"Extensia locală nu este activată. Faceți clic aici pentru a merge la setări și a o activa","ENABLE_REMOTE_HTTPS_CONN":"Activați conexiunile HTTPS la distanță","TORRENT_PROFILE":"Profil torrent","DATA_CACHING":"Cache de date","MAGNET_PARSING":"Se parsează un link magnet","January":"Ianuarie","February":"Februarie","March":"Martie","April":"Aprilie","May":"Mai","June":"Iunie","July":"Iulie","August":"August","September":"Septembrie","October":"Octombrie","November":"Noiembrie","December":"Decembrie","Monday":"Luni","Tuesday":"Marți","Wednesday":"Miercuri","Thursday":"Joi","Friday":"Vineri","Saturday":"Sâmbătă","Sunday":"Duminică","Action":"Acțiune","Comedy":"Comedie","War":"Război","Family":"Familie","Animation":"Animație","Adventure":"Aventură","Fantasy":"Fantezie","Crime":"Crimă","Mystery":"Mister","Romance":"Romantic","Drama":"Dramă","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Științifico-Fantastic","Music":"Muzică","Biography":"Biografie","Documentary":"Documentar","Sport":"Sport","Musical":"Muzical","Western":"Vestern","Film-Noir":"Film Noir","News":"Știri","History":"Istorie","Game-Show":"Concurs TV","Reality-TV":"Reality TV","Talk-Show":"Talk Show","Film & Entertainment":"Film și Divertisment","Gaming":"Gaming","From TV":"De la TV","Lifestyle":"Stil de viață","Science & Education":"Știință și Educație","Cooking & Health":"Gătit și Sănătate","Beauty & Fashion":"Frumusețe și Modă","Sports":"Sporturi","News & Politics":"Știri și Politică","How-to & DIY":"Cum să și Bricolaj","Tech":"Tehnologie","Automotive":"Auto","Causes & Non-Profits":"Cauze și Organizații Non-Profit","Movies":"Filme","Uk Live Tv":"TV live din Marea Britanie","Fashion":"Modă","Business News Radio":"Radio Știri de Afaceri","Business Tv":"TV de Afaceri","Cars & Auto":"Mașini și Auto","Comedy Radio":"Radio de Comedie","Lifestyle Radio":"Radio de Stil de Viață","News Tv":"TV de Știri","Food And Wine":"Mâncare și Vin","Latino Tv":"TV Latino","Shopping Tv":"TV de Shopping","Religion":"Religie","Kids":"Copii","Body & Soul":"Corp și Suflet","Education":"Educație","Indian Tv":"TV Indian","Extreme Sports":"Sporturi Extreme","Middle Eastern Tv":"TV din Orientul Mijlociu","Celebrity Tv":"TV cu Celebrități","Science Tv":"TV Științifică","Bikini babe":"Bikini babe","Outdoors":"Activități în aer liber","German Tv":"TV German","French Tv":"TV Francez","Italian Tv":"TV Italian","Gamer Tv":"TV pentru Gameri","Travel":"Călătorii","Asian Tv":"TV Asiatic","Entertainment":"Divertisment","News Radio":"Radio de Știri","Music Radio":"Radio de Muzică","Language Learning":"Învățarea Limbilor","Science Radio":"Radio Științific","Tech Radio":"Radio Tehnologic","Science & Technology Vod":"VOD Știință și Tehnologie","new video":"video nou","new episode":"episod nou","new movie":"film nou","recommended":"recomandat","we recommend":"recomandăm","offer of the day":"ofertă a zilei","news":"știri","music video":"videoclip muzical","CTX_SHOW_HOTKEYS":"Afișați tastele rapide","CTX_DISMISS_NOTIF":"Respinsți notificările","CTX_DISMISS_ALL":"Respinsți toate","CTX_SHARE":"Partajați","CTX_COPY_SHARE_LINK":"Copiați linkul de partajare","CTX_COPY_MAGNET_LINK":"Copiați linkul magnet","CTX_COPY_STREAM_LINK":"Copiați linkul pentru flux","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Descărcați acest video","CTX_DOWNLOAD_SUBS":"Descărcați subtitrările","CTX_VIEW_ON_YOUTUBE":"Vizualizați pe YouTube","CTX_SHOW":"Afișați","CTX_PLAY":"Redați","CTX_PLAY_IN":"Redați în","CTX_PLAY_ON":"Redați pe","CTX_WATCH_ON":"Vizualizați pe","CTX_WATCH":"Vizualizați","CTX_WATCHED":"Vizualizat","CTX_WATCH_BEGINNING":"Vizualizați de la început","CTX_WATCH_MOBILE":"Vizualizați pe un dispozitiv mobil","CTX_REWIND":"Derulați la început","CTX_MARK_WATCHED":"Marcați ca vizualizat","CTX_MARK_NON_WATCHED":"Marcați ca necitit","CTX_MARK_UNWATCHED":"Marcați ca nevizualizat","CTX_MARK_REST":"Marcați restul ca vizualizat","CTX_UNMARK_REST":"Marcați restul ca necitit","CTX_RECEIVE_NEW_NOTIF":"Primiți notificări noi","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Eliminați din cache","CTX_REMOVE_CACHE_EP":"Eliminați episodul din cache","CTX_OPEN_CONTAINING":"Deschideți folderul care conține","CTX_REMOVE":"Eliminați din bibliotecă","CTX_AVAILABLE_OFFLINE":"Disponibil offline","CTX_PAUSED":"Pus pe pauză","CTX_ALWAYS_ON_TOP":"Mereu deasupra","CTX_FULLSCREEN":"Pe tot ecranul","CTX_WRONG_SUBS":"Subtitrări greșite?","CTX_REPORT_ISSUES":"Raportați o problemă","CTX_COPY":"Copiați","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Lipiti","CTX_CLEAR":"Goliți","CTX_CLEAR_RECENT_SEARCHES":"Goliți căutările recente","HELLO_THERE":"Bună!","HOPE_YOU_ENJOY":"Sperăm că vă bucurați de Stremio și că a devenit deja una dintre aplicațiile dvs. preferate!","WHO_ARE_WE":"Cine suntem? Suntem echipa din spatele acestui produs - doi oameni care lucrează din greu în fiecare zi de ultimii 3 ani pentru a face acest produs din ce în ce mai bun.","SUPPORT_US":"Dacă vă place să utilizați Stremio și dacă Stremio este valoros pentru dvs. - distribuiți vestea!","SPREAD_THE_WORD":"Partajați acum cu prietenii dvs., distribuiți vestea despre Stremio","MORE_PEOPLE":"Cu cât mai mulți oameni folosesc Stremio, cu atât mai bine va deveni!","SEND_A_LINK":"Sau trimiteți un link către site-ul nostru","TIP_LOCALFILES":"Sfat: puteți trage și plasa fișiere video locale în Stremio","ADDON_MY":"Extensiile mele","ADDON_COMMUNITY":"Extensii Comunitare","ADDON_OFFICIAL":"Extensii Oficiale","ADDON_REPOS":"Colectii de Extensii","ADDON_SEARCH":"Căutați extensii","ADDON_INSTALL":"Instalați","ADDON_CONFIGURE":"Configurați","ADDON_UNINSTALL":"Dezinstalați","ADDON_UPGRADE":"Actualizați","ADDON_INSTALLED":"Instalat","ADDON_INSTALLED_MSG":"Extensie instalată!","ADDON_UPGRADED_MSG":"Extensie actualizată!","ADDON_UNKNOWN":"Necunoscut","ADDON_ERR":"Eroare la instalarea extensiei!","ADDON_DISCONNECTED":"Deconectat","ADDON_APP_MISSING":"Aplicația pentru această sursă nu este instalată. Doriți să o instalați acum?","ADDON_APP_INSTALL":"Instalați acum","ADDON_PAGE":"Pagina extensiei","ADDON_TOP_CONTENT":"Cel mai bun din această extensie","ADDON_PROVIDES":"Această extensie vă va oferi:","ADDON_WATCH":"Vizionați #{types} acum!","ADDON_WATCH_FREE":"Vizionați #{types} GRATUIT acum!","ADDON_ADDON":"Extensie","ADDON_SUPPORTED_TYPES":"Tipuri acceptate","ADDON_SUPPORTED_CATALOGS":"Cataloge acceptate","ADDON_PROVIDES_DISCOVER":"Mai multe #{types} în Descoperă","ADDON_PROVIDES_STREAMS":"Vizionați #{types}","ADDON_PROVIDES_STREAMS_FREE":"Vizionați #{types} GRATUIT","ADDON_PROVIDES_SUBTITLES":"Subtitrări pentru #{types}","ADDON_CANTDETECT":"Nu am putut detecta o instanță de Stremio în funcție, deci nu am putut detecta ce extensii aveți instalate.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Nu s-au găsit informații despre aceasta ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Eroare la preluarea informațiilor despre aceasta.","ERR_CANT_PARSE_MAGNET":"Imposibil de analizat magnetul","ERR_NO_MAGNET_INFOHASH":"Nu există un hash de informații valid pentru magnet","ERR_NO_FILE_PATH":"Nu se poate trimite cererea fără un drum către fișier","ERR_NO_TORRENT":"Niciun torrent returnat","ERR_NO_SUPPORTERD_FILES":"Nu s-au găsit fișiere suportate","ERR_OPENING_FILES":"Nu s-au putut deschide fișiere externe","ERR_INVALID_LINK":"Legătură invalidă","ERR_REGISTERED_ONLY":"Această opțiune este disponibilă doar pentru utilizatorii înregistrați.","ERR_CLIPBOARD":"Nu se poate reda din clipboard","ERR_CLIPBOARD_READ":"Nu se poate citi clipboardul pe această platformă","ERR_CLIPBOARD_GENERIC":"Nu s-a găsit nicio adresă URL redabilă în clipboard. Vă rugăm să copiați o adresă URL (de exemplu, o legătură magnet) către un videoclip.","BOARD_CONTINUE_WATCHING":"Continuați vizionarea","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filme alese special pentru dumneavoastră.
    Acest film este o recomandare de exemplu.","BOARD_EXPLANATION_EPISODES":"Episoade noi din seria dumneavoastră preferată apar aici.
    Adăugați serialele pe care le urmăriți în Biblioteca dumneavoastră.","BOARD_EXPLANATION_VIDEOS":"Episoade noi din canalele dumneavoastră preferate apar aici.
    Adăugați canalele YouTube pe care le urmăriți în Biblioteca dumneavoastră.","WEBSITE_ENJOYED_BY":"Apreciat de peste 30 de milioane de utilizatori din întreaga lume","WEBSITE_STREAMING_ENHANCED":"Îmbunătățit pentru streaming","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio oferă o experiență de divertisment sigură, modernă și lipsită de întreruperi. Cu interfața sa ușor de utilizat și biblioteca sa diversificată de conținut, inclusiv suport pentru 4K HDR, utilizatorii pot să se bucure de filmele și emisiunile lor TV preferate pe toate dispozitivele lor. Și cu angajamentul său față de securitate, Stremio este alegerea ultimă pentru o experiență de streaming de înaltă calitate fără griji.","WEBSITE_AVAILABLE_ON":"Disponibil pe","WEBSITE_WATCH_AND_ENJOY":"Vizionați și bucurați-vă.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio face lucrurile ușoare ca un tort","WEBSITE_ALL_FEATURES":"Toate funcțiile","WEBSITE_EASY_TO_USE":"Ușor de utilizat","WEBSITE_EASY_TO_USE_DETAILS":"Stremio este conceput să fie prietenos cu utilizatorul și ușor de utilizat. Cu interfața sa curată și intuitivă, puteți naviga cu ușurință și găsi conținutul pe care doriți să-l vizionați.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Interfață uniformă pe toate dispozitivele","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponibil pentru o gamă largă de platforme (inclusiv Windows, Mac, Linux, Android și altele), Stremio va ține evidența progresului dumneavoastră pe toate dispozitivele dumneavoastră. Doar autentificați-vă și continuați să vizionați fără a fi necesar să configurați aplicația din nou pe fiecare dispozitiv nou.","WEBSITE_ALL_DOWNLOADS":"Toate descărcările","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Suport pentru video de înaltă definiție","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un player video integrat care suportă cele mai multe formate video, inclusiv conținutul 4K HDR, vă permite să vă bucurați de cea mai înaltă calitate disponibilă.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Bibliotecă variată de conținut","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio se integrează cu un număr mare de surse video populare, cum ar fi Netflix, Amazon Prime Video, Hulu, YouTube și multe altele.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Creați un cont gratuit","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiență de vizualizare personalizată","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio vă permite să personalizați aspectul și simțul interfeței prin schimbarea temei, adăugarea sau eliminarea de addons și multe altele.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Suport pentru subtitrări multilingve","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Puteți acum să vă bucurați de tot conținutul preferat în limba dorită, deoarece Stremio suportă subtitrări în toate limbile.","WEBSITE_ALL_STREMIO_FEATURES":"Toate funcțiile Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Încercați Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"pe televizorul dumneavoastră acum","WEBSITE_YOU_CAN_NOW_WATCH":"Acum puteți viziona toate emisiunile TV preferate pe dispozitivele Android TV. Aplicația Stremio TV vă permite să vă bucurați de o seară de film cu ușurință.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Acum puteți viziona toate emisiunile TV preferate pe Smart TV-ul sau dispozitivele Android TV. Aplicațiile Stremio TV vă permit să vă bucurați de o seară de film cu ușurință.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio pentru Smart TV-uri","WEBSITE_PLAY_STORE_REVIEW":"Probabil cea mai bună și utilă aplicație de avut pe dispozitivul dumneavoastră. Este una dintre aplicațiile pe care le folosesc în fiecare zi, în special pe Android TV-ul meu de mulți ani. Bine făcută, cu o comunitate puternică care furnizează funcționalități utile. Felicitări. Continuați cu treaba bună.","WEBSITE_REVIEWS":"recenzii","WEBSITE_GET_STREMIO_FOR_FREE":"Obțineți Stremio gratuit","WEBSITE_GET_STREMIO_NOW":"Obțineți Stremio acum","WEBSITE_STREMIO_FEATURES":"Funcționalități Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Transmiteți ca un profesionist cu funcționalitățile avansate ale lui Stremio și bucurați-vă de accesul fără întreruperi la toate conținuturile dumneavoastră preferate","WEBSITE_DISCOVER_MORE":"Descoperiți mai mult.","WEBSITE_DISCOVER_MORE_DETAILS":"Nu rămâneți niciodată fără lucruri de vizionat","WEBSITE_COMMUNITY_DRIVEN":"Comunitate condusă de utilizatori","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio are o comunitate mare și activă de utilizatori care contribuie la dezvoltarea software-ului prin crearea și partajarea de addon-uri.","WEBSITE_GET_INVOLVED":"Implicați-vă","WEBSITE_NEW_THEATER_EXPERIENCE":"Experiență nouă de teatru","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Noua aplicație TV dedicată Stremio vă permite să vă bucurați de o seară de film pe dispozitivele Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Noile aplicații TV dedicate Stremio vă permit să vă bucurați de o seară de film pe Smart TV-ul sau dispozitivele Android TV.","WEBSITE_FREE_AND_SECURE":"Gratuit și sigur","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio oferă securitate și confidențialitate de neegalat pentru utilizatori. Cu caracteristica sa unică de a rula addon-uri de la distanță, Stremio oferă o modalitate mai sigură de a reda conținutul preferat în comparație cu alte platforme. Securitatea și confidențialitatea dumneavoastră sunt priorități absolute, iar platforma se asigură că toate datele dumneavoastră sunt protejate.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Să spuneți adio îngrijorărilor legate de securitate și confidențialitate și să salutați o lume a divertismentului fără sfârșit cu Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informații furnizate de","WEBSITE_CONTRIBUTE_DESC":"la proiect și ajutați-ne să facem Stremio și mai bun","WEBSITE_COMMUNITY_DESC":"Credem că cel mai bun mod de a crea o experiență de streaming cu adevărat uimitoare este prin implicarea comunității noastre în proces. Fie că sunteți un programator, un artist sau doar un fan - puteți ajuta la dezvoltarea lui Stremio.","WEBSITE_COMMUNITY_DESC_2":"Așadar, alăturați-vă nouă astăzi și deveniți parte a comunității Stremio și continuați să modelați viitorul streamingului.","WEBSITE_WAYS_TO_GET_INVOLVED":"Modalități de a vă implica","WEBSITE_IN_THE_STREMIO_COMMUNITY":"în comunitatea Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Împărtășiți-vă gândurile","WEBSITE_REPORT_BUGS":"Raportați erori","WEBSITE_SUGGEST_FEATURES":"sugerați funcționalități","WEBSITE_AND_PROVIDE_FEEDBACK":"și furnizați feedback pe canalele noastre de socializare.","WEBSITE_BETA_TESTING_PROGRAM":"Program de testare beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participați la programul nostru de testare beta (trimitem invitații regulat) în comunitatea Stremio.","WEBSITE_JOIN_NOW":"Alăturați-vă acum!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunități oficiale Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunități neoficiale Stremio","WEBSITE_BECOME":"Deveniți","WEBSITE_A_VOLUNTEER_TRANSLATOR":"un traducător voluntar","WEBSITE_ARE_YOU_A_DEVELOPER":"Sunteți un dezvoltator?","WEBSITE_CONTRIBUTE_CODE":"Puteți contribui cu cod la proiectele noastre open source. Avem mai multe proiecte pe GitHub care caută contribuitori. Dacă sunteți interesat să ajutați, verificați-le:","WEBSITE_STREMIO_ON_GITHUB":"Stremio pe GitHub","WEBSITE_CREATE_ADDON_DESC":"Creați un addon pentru a îmbunătăți funcționalitatea Stremio (avem o interfață API ușor de utilizat):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Vă oferim, de asemenea, oportunitatea de a ne însoți ca dezvoltator intern, astfel încât să putem crește împreună.","WEBSITE_APPLY_AS_AN_INTERN":"Aplicați ca stagiar","WEBSITE_CALLING_ALL_ARTISTS":"Suntem în căutarea tuturor artiștilor!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Arătați creativitatea și dragostea dumneavoastră pentru Stremio prin încărcarea lucrărilor dumneavoastră de artă fan în galeria noastră online. Fie că este vorba de desene, picturi sau design digital, vrem să vedem interpretarea dumneavoastră unică asupra brandului Stremio. Alăturați-vă comunității noastre de entuziaști ai artei și împărtășiți-vă lucrările cu fani Stremio din întreaga lume.","WEBSITE_STREMIO_FANART_GALLERY":"Galerie de artă fan Stremio","WEBSITE_INTERN_DESIGNER":"Deveniți parte a echipei noastre și duceți-vă creativitatea la noi culmi cu oportunitățile noastre palpitante de stagiu.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Proiectul de filme din domeniul public","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"La Stremio, suntem dedicați să păstrăm istoria filmului și televiziunii prin identificarea videoclipurilor din domeniul public și ale celor orfane. Lucrând împreună cu comunitatea noastră, putem asigura că aceste opere de artă clasice sunt accesibile tuturor și protejate pentru ca generațiile viitoare să se bucure de ele.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Nu ezitați să ne contactați dacă doriți să vă implicați în acel proiect.","WEBSITE_JOIN_THE_PROJECT":"Alăturați-vă proiectului","WEBSITE_BE_PART_OF_OUR_MISSION":"Fii parte din misiunea noastră","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Sunteți interesat să vă alăturați echipei Stremio? Oferim muncă complet la distanță pentru profesioniștii pasionați. Vizitați pozițiile noastre deschise.","WEBSITE_OPEN_POSITIONS":"POZIȚII DESCHISE","WEBSITE_DESCRIPTION":"DESCRIERE","WEBSITE_LEARN_MORE":"Aflați mai multe","WEBSITE_COMPANY":"Companie","WEBSITE_CONTACTS":"Contacte","WEBSITE_NEED_HELP":"Aveți nevoie de ajutor?","WEBSITE_STREMIO_WEB_ON_IOS":"Ghid pentru Stremio Web pe iOS","WEBSITE_LINK_ART_V2":"Galerie de artă","WEBSITE_PARTNERS":"Parteneri","WEBSITE_SLOGAN_WATCH":"Vizionați instantaneu","WEBSITE_SLOGAN_ALL":"Toate conținuturile video pe care le iubiți într-un singur loc","WEBSITE_SLOGAN_NEW":"Tot ce puteți viziona","WEBSITE_SLOGAN_NEW_NEW":"Libertatea de a transmite","WEBSITE_WATCH_FROM":"Vizionați de la","WEBSITE_DOWNLOAD":"Descărcați acum","WEBSITE_DOWNLOAD_FOR":"Descărcați acum pentru","WEBSITE_IS_DESKTOP":"Stremio este o aplicație desktop, deschideți această pagină pe PC-ul dumneavoastră și descărcați-o","WEBSITE_DESKTOP_DEMO_VID":"Demonstrație desktop","WEBSITE_PAGE_HOME":"Acasă","WEBSITE_PAGE_FEATURES":"Funcționalități","WEBSITE_PAGE_ADDONS":"Addon-uri","WEBSITE_PAGE_TECH":"Tehnologie","WEBSITE_PAGE_CREATE_ADDON":"Creați un Addon","WEBSITE_PAGE_CONTACTS":"Contacte","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filme","WEBSITE_TYPE_series_PL":"Seriale","WEBSITE_TYPE_tv":"TV în direct","WEBSITE_TYPE_channel":"Canale","WEBSITE_STREMIO_WHAT_IS":"Stremio este o aplicație care vă ajută să vă organizați și să vizionați instantaneu videoclipurile, filmele, serialele TV și canalele TV preferate.","WEBSITE_FEATURES_WATCH":"Vizionați instantaneu în HD","WEBSITE_FEATURES_WATCH_DETAIL":"Dați clic și redați filmele, emisiunile TV, videoclipurile și canalele TV preferate.","WEBSITE_FEATURES_SUBS":"Subtitrări automate","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio alege automat subtitrări sincronizate pentru limba dumneavoastră.","WEBSITE_FEATURES_SUBS_LABEL":"Mișcarea ta, șefule.","WEBSITE_FEATURES_CAST":"Redați pe TV și dispozitive mobile","WEBSITE_FEATURES_CAST_DETAIL":"Redați pe AppleTV, Chromecast, Smart TV (DLNA/UPnP) și dispozitive mobile.","WEBSITE_LIB":"Bucurați-vă de biblioteca dumneavoastră personală","WEBSITE_LIB_COLLECT":"Colectează din Stremio","WEBSITE_LIB_IMPORT":"Importă din Facebook","WEBSITE_LIB_LOCAL":"Adaugă de pe unitatea dvs. locală","WEBSITE_BOARD":"The Board - Locul tău unic pentru notificări și recomandări","WEBSITE_BOARD_RECOMMEND":"Serial TV recomandat","WEBSITE_BOARD_TRENDING":"Film în tendințe","WEBSITE_BOARD_NEW":"Video nou","WEBSITE_BOARD_EPISODE":"Episod nou","WEBSITE_BOARD_1":"Căutați ceva interesant de vizionat? Obțineți recomandări bazate pe gusturile dvs.!","WEBSITE_BOARD_2":"Primiți notificări atunci când apare un nou episod al serialului TV preferat sau al canalului YouTube pe care-l urmăriți!","WEBSITE_BOARD_YOUTUBE":"Video-uri noi de pe canale YouTube","WEBSITE_BOARD_EPISODES":"Episoade noi ale serialelor pe care le urmăriți","WEBSITE_ADDONS":"Addon-uri de conținut","WEBSITE_TECH_DETAIL":"Iubim tehnologia, iubim știința nebună!\\nStremio folosește următoarele tehnologii open source:","WEBSITE_TECH_WCJS":"WebChimera.js permite Stremio să redea orice format video cu performanță bună.","WEBSITE_TECH_WCJS_EXTRA":"Contribuitori la proiectul de bază","WEBSITE_TECH_ELECTRON":"Electron oferă o platformă inovatoare pentru construirea Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Contribuitori la proiect","WEBSITE_TECH_LINVODB":"O tehnologie de bază de date care asigură organizarea datelor dvs. disponibile oriunde vă autentificați.","WEBSITE_TECH_LINVODB_EXTRA":"Tehnologie internă","WEBSITE_CREATE_ADDON":"Creați-vă addon-ul","WEBSITE_CREATE_ADDON_DETAIL":"Aveți un serviciu care furnizează conținut video? Vă vom ajuta să beneficiați de caracteristicile Stremio prin crearea propriului addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Beneficiile creării unui addon pentru Stremio","WEBSITE_P2P_BEAUTY":"Frumusețea streaming-ului Peer-to-Peer","WEBSITE_P2P_1":"Streaming-ul fiabil și accesibil Full HD / 4K la cerere sau streaming live","WEBSITE_P2P_2":"Platforma de distribuție oferind o experiență excelentă pentru utilizatori","WEBSITE_P2P_3":"Vom crea un addon care să corespundă exact nevoilor dvs.","WEBSITE_P2P_CONTACT":"Interesați? Sunteți binevenit să ne contactați.","WEBSITE_P2P_CONTACT_EXTRA":"Vom fi bucuroși să vă ajutăm să integrați conținutul dvs. cu Stremio!","WEBSITE_P2P":"Din când în când, apare o tehnologie care schimbă regulile jocului. Am investit mult timp și efort în construirea motorului nostru de streaming video Peer-to-Peer (P2P), care oferă performanțe excelente și versatilitate pentru a se adapta la orice caz de utilizare. Contactați-ne pentru streaming video P2P cu DRM activat la cerere sau în timp real.","WEBSITE_THOUGHTS":"Gândurile pe care le împărtășim:","WEBSITE_SPREAD":"Răspândiți vestea despre Stremio:","WEBSITE_CONTACT":"Contactați-ne, ne bucurăm să auzim de la dvs.!","WEBSITE_OPENSOURCE":"Pentru proiectele noastre open source, accesați","WEBSITE_BITCOIN":"Donați Bitcoin:","WEBSITE_FAQ":"Întrebări frecvente","WEBSITE_FAQ_SHORT":"Întrebări frecvente","WEBSITE_QUESTIONS":"Întrebări","WEBSITE_TOS":"Termeni și condiții","WEBSITE_LEGAL":"Informații legale","WEBSITE_PAGE_ABOUT":"Despre","WEBSITE_PAGE_BECOME_PARTNER":"Deveniți partener","WEBSITE_ALL_YOU_CAN_WATCH":"Libertatea de a viziona\\nTot ce vrei.","WEBSITE_FREEDOM_TO_STREAM":"Libertatea de a transmite","WEBSITE_WHAT_IS_STREMIO":"Ce este Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio este un punct unic pentru agregarea conținutului video. Descoperiți, organizați și vizionați conținut video din toate tipurile de surse pe orice dispozitiv pe care îl dețineți.","WEBSITE_WHAT_IS_STREMIO_P2":"Filme, seriale TV, serii, televiziune live sau canale web precum YouTube și Twitch.tv - puteți găsi toate acestea pe Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio este un centru media modern care este o soluție unică pentru divertismentul video. Descoperiți, vizionați și organizați conținut video din addon-uri ușor de instalat.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filme, seriale TV, televiziune live sau canale web - găsiți toate acestea pe Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Bucurați-vă pe toate dispozitivele dvs. media","WEBSITE_DEVICES_COLLECT":"Colectează din Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importă din Facebook","WEBSITE_DEVICES_LOCAL":"Adaugă de pe unitatea dvs. locală","WEBSITE_JOIN_THE_PARTY_NOW":"Alăturați-vă petrecerii acum","WEBSITE_DEVICES_ALL":"Ușor de utilizat pe toate dispozitivele dvs.;","WEBSITE_EXTENDABLE_CATALOG":"Catalog de video extensibil în mod infinit;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Funcționalități excelente pentru organizarea conținutului dvs. media;","WEBSITE_AS_SEEN_ON":"Așa cum se vede pe","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Despre noi","WEBSITE_LINK_TECHNOLOGY":"Tehnologie","WEBSITE_LINK_APPS":"Aplicații","WEBSITE_LINK_DOWNLOADS":"Descărcări","WEBSITE_MORE":"Mai mult","WEBSITE_LINK_ADDONS":"Addon-uri","WEBSITE_LINK_ADDON_SDK":"SDK pentru addon-uri","WEBSITE_LINK_CONTRIBUTE":"Contribuie","WEBSITE_LINK_COMMUNITY":"Comunitate","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... Și mai multe","WEBSITE_LINK_HELP":"Centrul de ajutor","WEBSITE_LINK_CONTACTS":"Cerințe de afaceri","WEBSITE_LINK_TOS":"Termeni și condiții","WEBSITE_LINK_PRAVACY":"Politica de confidențialitate","WEBSITE_SUBSCRIBE":"Abonează-te","WEBSITE_NEWSLETTER":"Alătură-te newsletter-ului nostru pentru lucruri uimitoare","WEBSITE_PLACEHOLDER_EMAIL":"Adresa ta de email","WEBSITE_COMMUNITY":"Comunitate","WEBSITE_LINK_PRAVACY_LEGAL":"Confidențialitate și legale","WEBSITE_WHY":"De ce facem asta","WEBSITE_WHY_P1":"La Stremio, venim la serviciu în fiecare zi deoarece vrem să rezolvăm o problemă importantă pentru industria de video la cerere. Există atât de mult conținut nou publicat în fiecare minut, încât este practic imposibil să vă descurcați în el.","WEBSITE_WHY_P2":"Ajutăm oamenii să navigheze în acea lume imensă a divertismentului video și să descopere conținut nou de bucurat. Aplicațiile noastre aduc împreună filme, seriale, televiziune live, canale web și multe altele. Suntem dedicați să facem extrem de ușor pentru utilizatori să găsească titluri și emițători pe care îi iubesc.","WEBSITE_WHY_P3":"Puteți utiliza serviciul nostru pe orice dispozitiv și în orice moment, făcând din Stremio singurul hub de divertisment video de care veți avea vreodată nevoie.","WEBSITE_TEAM":"ECHIPA","WEBSITE_TEAM_P":"Echipa Stremio este mică, dar puternică: dintre cei zece dintre noi, codăm în X limbaje și împărtășim experiență în dezvoltarea software-ului, designul UI și UX, marketingul și publicitatea, afacerile și startup-urile.","WEBSITE_FEATURES":"Caracteristici","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Descoperiți conținut nou cu ușurință","WEBSITE_FEATURES_DISCOVER_P":"Descoperiți cu ușurință filme, seriale TV, serii și canale noi de vizionat. Răsfoiți după categorie, gen, rating, recentitate, etc. sau pur și simplu tastați un nume pentru a găsi. Stremio face găsirea de conținut video nou un lucru ușor.","WEBSITE_FEATURES_ALL_CONTENT":"Tot conținutul dvs. video pe un singur ecran","WEBSITE_FEATURES_ALL_CONTENT_P1":"Vedeți ce filme, serii sau videoclipuri nu ați terminat și continuați să le vizionați; primiți notificări pentru noi episoade și lansări; și răsfoiți recomandările pe care le veți primi pe baza obiceiurilor dvs. de vizionare.","WEBSITE_FEATURES_LIBRARY":"Organizați-vă biblioteca video","WEBSITE_FEATURES_LIBRARY_P1":"Adăugați orice titlu la biblioteca Stremio cu un singur clic și găsiți-vă drumul în jurul conținutului dvs., aranjat în mod ordonat după tip, recentitate sau ordine alfabetică.","WEBSITE_FEATURES_CALENDAR":"Urmăriți tot ce vizionați","WEBSITE_FEATURES_CALENDAR_P1":"Obțineți o vizualizare calendaristică a tuturor filmelor și serialelor pe care le adăugați în biblioteca dvs. Stremio. Exportați calendarul Stremio și sincronizați-l pentru a ști întotdeauna când apare un nou episod sau o premieră.","WEBSITE_FEATURES_BIG_SCREEN":"Bucurați-vă de conținutul video pe un ecran mai mare","WEBSITE_FEATURES_BIG_SCREEN_P1":"Redați ceea ce vizionați pe un dispozitiv mai mare - fie că este vorba de un telefon, tabletă sau TV - cu un singur clic.","WEBSITE_FEATURES_SOURCES":"Vizionați video din multe surse diferite","WEBSITE_FEATURES_SOURCES_P":"Instalați addon-uri oficiale și din comunitate pentru a vă bucura de video furnizat din multe surse diferite - toate într-o aplicație elegantă și ușor de utilizat.","WEBSITE_CREATE_AN_ADDON":"Creați un addon","WEBSITE_FEATURES_SYNC":"Sincronizați-vă biblioteca pe diferite dispozitive și continuați redarea","WEBSITE_FEATURES_SYNC_P1":"Conectați-vă cu contul dvs. pe toate dispozitivele și bucurați-vă de biblioteca, addon-urile, redarea și calendarul sincronizate.","WEBSITE_FEATURES_EXTENDABLE":"Catalog de video extensibil prin addon-uri","WEBSITE_FEATURES_EXTENDABLE_P1":"Catalogul de addon-uri Stremio oferă o serie de addon-uri de instalat și vizionat o varietate de conținut video. Acesta include filme, emisiuni, televiziune live, sport, știri, podcast-uri, canale web, jocuri video și altele.","WEBSITE_FEATURES_AUTO_SUBS":"Subtitrări automate","WEBSITE_FEATURES_AUTO_SUBS_P1":"Cu addon-urile noastre pentru subtitrări, veți primi opțiuni selectate automat pentru limba dvs. preferată.","WEBSITE_FEATURES_CHROMECAST":"Redare pe Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Bucurați-vă de conținutul video pe un ecran mai mare sau redați ceea ce vizionați pe un alt dispozitiv.","WEBSITE_FEATURES_KEEP_TRACK":"Urmăriți serialele TV și canalele Web favorite","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obțineți o vizualizare calendaristică și notificări pentru episoadele noi ale serialului dvs. preferat și ale canalelor web.","WEBSITE_FEATURES_POWER_USER":"Funcționalități pentru utilizatori avansați","WEBSITE_FEATURES_POWER_USER_P1":"Redați într-un player extern","WEBSITE_FEATURES_POWER_USER_P2":"Redați dintr-un fișier torrent sau un link magnet","WEBSITE_FEATURES_POWER_USER_P3":"Importați în biblioteca dvs. din aprecierile de pe Facebook sau de pe discul local","WEBSITE_ADD_ONS":"Addon-uri","WEBSITE_ADD_ONS_P1":"Tot conținutul video furnizat de Stremio este obținut prin intermediul unui sistem de addon-uri - niciun conținut sau furnizor de conținut nu a fost încorporat în aplicație.","WEBSITE_ADD_ONS_P2":"Există două grupuri de addon-uri disponibile: addon-uri oficiale și addon-uri din comunitate.","WEBSITE_ADD_ONS_P3":"Cele oficiale sunt dezvoltate și găzduite de Stremio, în timp ce addon-urile din comunitate sunt create de membrii comunității noastre, care le găzduiesc, de asemenea.","WEBSITE_ADDONS_OFFICIAL":"Addon-uri oficiale","WEBSITE_ADDONS_WATCHUB":"Vizionați filmele, serialele și emisiunile preferate de la furnizori precum iTunes, Hulu, Amazon și alte servicii din Marea Britanie/SUA.","WEBSITE_ADDONS_YOUTUBE":"Vizionați canalele preferate de YouTube fără reclame și primiți notificări pentru noile încărcări de la contribuitorii pe care îi urmăriți.","WEBSITE_ADDONS_FILMON":"Uitați-vă la televiziunea live, filmele și televiziunea socială gratuit. 600 de canale TV, 45.000 de filme gratuite, documentare și multe altele.","WEBSITE_ADDONS_OPENSUBTITLES":"Subtitrări pentru filme și TV în mai multe limbi, mii de subtitrări traduse încărcate în fiecare zi.","WEBSITE_ADDONS_COMMUNITY":"Addon-uri din comunitate","WEBSITE_ADDONS_FILMON_VOD":"Vizionați video la cerere de la Filmon.tv","WEBSITE_ADDONS_TWICH":"Uitați-vă la fluxuri live de pe Twitch.tv - o platformă de streaming video pentru industria de e-sports.","WEBSITE_ADDONS_VODO":"Vizionați filme independente complet gratuit.","WEBSITE_ADDONS_NETFLIX":"Vizionați filmele și serialele web de pe Netflix.","WEBSITE_ADDONS_CREATE":"Creați un addon","WEBSITE_ADDONS_CREATE_P1":"Dacă doriți, puteți dezvolta propriul addon. În acest fel, puteți oferi dvs. și comunității noastre acces la conținut video nou și puteți ajunge la o nouă audiență țintită din milioane de utilizatori din întreaga lume.","WEBSITE_ADDONS_START_CREATE":"Pentru a începe, vizitați pagina SDK pentru addon-uri Stremio:","WEBSITE_DOWNLOADS":"Descărcări","WEBSITE_DOWNLOADS_P1":"Pentru performanță optimă, vă recomandăm să utilizați cea mai recentă versiune disponibilă a aplicațiilor Stremio. Dacă dintr-un motiv oarecare doriți să utilizați o versiune mai veche, o puteți descărca aici.","WEBSITE_DOWNLOADS_P1_SHORT":"Pentru performanță optimă, vă recomandăm să utilizați cea mai recentă versiune disponibilă a aplicațiilor Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio pentru Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio pentru macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio pentru Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio pentru Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio pentru Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio pentru dispozitive mobile Android","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio pentru Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio pentru iOS (versiune limitată)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Descărcați Serviciul Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"Serviciul Stremio este o aplicație companion pentru Stremio Web. Vă recomandăm să utilizați cea mai recentă versiune disponibilă a Serviciului Stremio.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Serviciul Stremio pentru Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Serviciul Stremio pentru macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Serviciul Stremio pentru Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Serviciul Stremio pentru Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Mai multe opțiuni de descărcare","WEBSITE_DOWNLOAD_NEW":"Nou!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Am lansat Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribuie","WEBSITE_CONTRIBUTE_P1":"Platforma Stremio este open source și puteți crea ușor un addon pentru conținut care nu este încă obținut.","WEBSITE_CONTRIBUTE_WHY":"De ce ar trebui să creați un addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Atingeți o nouă audiență pentru conținutul dvs. video","WEBSITE_CONTRIBUTE_WHY_P2":"Baza de utilizatori a Stremio crește rapid - în primul an de la lansare, Stremio a obținut 1 milion de utilizatori din întreaga lume, iar în al doilea an de existență a platformei, acest număr a crescut la 2,5 milioane.","WEBSITE_CONTRIBUTE_WHY_P3":"Cu addon-ul dvs., puteți atinge ușor această audiență și distribui conținutul video către ei.","WEBSITE_CONTRIBUTE_ALL":"Uitați-vă la filmele, videoclipurile, serialele și canalele preferate într-un singur loc.","WEBSITE_CONTRIBUTE_ALL_P1":"Sunteți fanul unui anumit tip de conținut care nu este încă disponibil în Stremio? Creați un addon pentru el și bucurați-vă să vă uitați la videoclipurile preferate într-unul dintre cele mai mari și mai ușor de utilizat centre de divertisment de pe piață.","WEBSITE_CONTRIBUTE_ALL_P2":"În plus, veți primi recunoștința nesfârșită a altor membri ai comunității Stremio cu gândire asemănătoare.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetizați-vă addon-ul și câștigați bani cu ajutorul acestuia","WEBSITE_CONTRIBUTE_MONETIZE_P1":"După ce dezvoltați un addon nou pentru Stremio, îl puteți monetiza ușor prin mai multe modalități diferite. Dacă luați în considerare aceasta, nu ezitați să ne contactați la adresa ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - vom fi bucuroși să vă consultăm și să vă sfătuim cu privire la opțiunile de monetizare ale addon-ului.","WEBSITE_CONTRIBUTE_TRANSLATE":"Deveniți traducător voluntar","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Dacă doriți să utilizați aplicațiile Stremio în diferite limbi, vă puteți alătura comunității noastre de traducători voluntari. Aceștia ne ajută să adăugăm versiuni ale Stremio în multe limbi diferite.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Sunteți nerăbdător să începeți?","WEBSITE_TRANSALTE_STREMIO":"Traduceți Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunități oficiale","WEBSITE_COMMUNITY_OFFICIALS_P1":"Faceți parte din creșterea comunității Stremio. Urmați-ne pe rețelele sociale și nu ezitați să ne salutați - ne place să auzim de la fanii noștri!","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunități neoficiale","STREMIO_COMMUNITY_NL":"Stremio Olanda","STREMIO_COMMUNITY_BRASIL":"Stremio Brazilia","STREMIO_COMMUNITY_GERMANY":"Stremio Germania","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgia","STREMIO_COMMUNITY_FRANCE":"Stremio Franța","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugalia","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio Marea Britanie","STREMIO_COMMUNITY_USA":"Stremio SUA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexic","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Stremio Minunat","WEBSITE_COMMUNITY_PARTNERS":"Parteneri și susținători","WEBSITE_COMMUNITY_GOODIES":"Lucruri Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapere","WEBSITE_COMMUNITY_ART":"Galerie de Artă a Comunității","WEBSITE_LINK_ART":"Galeria de artă a comunității","WEBSITE_CONTACT_US":"Contactați-ne","WEBSITE_CONTACT_US_P1":"Dacă aveți întrebări, comentarii sau sugestii, nu ezitați să ne contactați prin formularul de contact de mai jos.","WEBSITE_CONTACT_US_P2":"Rețineți că ne aflăm în Bulgaria, deci poate exista o întârziere în rezolvarea cererii dvs. din cauza diferențelor de fus orar.","WEBSITE_CONTACT_US_SUCCESS":"Mesajul dvs. a fost trimis. Vă vom contacta în cel mai scurt timp posibil.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Vă rugăm să introduceți o adresă de e-mail validă!","WEBSITE_CONTACT_US_Q_RELATED_TO":"La ce este legată întrebarea dvs.?","WEBSITE_CONTACT_US_Q_OS":"Care este sistemul dvs. de operare?","WEBSITE_CONTACT_US_PH_EMAIL":"Adresa dvs. de e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Mesaj","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"TRIMITE","WEBSITE_CONTACT_US_Q_1":"Cum să instalez?","WEBSITE_CONTACT_US_Q_2":"Cum să dezinstalez?","WEBSITE_CONTACT_US_Q_3":"(HTML) Cum să fac lasagna?","WEBSITE_CONTACT_US_Q_4":"Addon-uri","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tehnologie","WEBSITE_TECHNOLOGY_P1":"Iubim tehnologia și științele nebune.
    Iată ce propulsează Stremio (totul este open source).","WEBSITE_TECHNOLOGY_P_QT":"Dezvoltarea software pe mai multe platforme în cea mai bună variantă.","WEBSITE_TECHNOLOGY_P_MPV":"Un player media gratuit, open source și pe mai multe platforme.","WEBSITE_TECHNOLOGY_P_RN":"React Native vă permite să construiți aplicații mobile utilizând doar JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Cadru multimedia încorporat în aplicație pentru a obține multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm este o platformă mobilă și înlocuiește SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js este un mediu de execuție open-source, pe mai multe platforme, pentru JavaScript.","WEBSITE_TECHNOLOGY_P_RUST":"Rust este un limbaj de programare pentru sisteme multi-paradigmă, concentrat pe siguranță, în special pe concurență sigură.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuiți la proiect","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Există două moduri prin care puteți contribui la Stremio și ne puteți ajuta să facem produsul chiar mai bun.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Puteți dona abilitățile dvs. valoroase de limbă prin traducerea platformei...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"sau","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... puteți utiliza abilitățile dvs. de programare pentru a crea addon-uri din comunitate.","WEBSITE_TRANSLATE_STREMIO":"Traduceți Stremio","WEBSITE_404_OH_NO":"Ups! Pagina pe care o căutați nu se află aici...","WEBSITE_GO_HOME":"Mergi la pagina de start","WEBSITE_LINK_OTHER_DOWNLOADS":"Alte descărcări","WEBSITE_FAQ_ABR":"Întrebări frecvente","WEBSITE_SUPPORT":"Suport","WEBSITE_DOWNLOAD_4_0_BETA":"Descărcați acum Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Obțineți pentru desktop","WEBSITE_LINK_ADDON_COMPETITION":"Competiție de addon-uri","WEBSITE_LINK_ART_CONTEST":"Concurs de artă","WEBSITE_MY_ACCOUNT":"Contul meu","WEBSITE_MAINPAGE_FAQ_001_H1":"Ce este Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio este un centru de media modern care vă oferă libertatea de a viziona tot ceea ce doriți.","WEBSITE_MAINPAGE_FAQ_002_H1":"Cum funcționează?","WEBSITE_MAINPAGE_FAQ_002_P1":"Odată ce instalați Stremio pe dispozitivul dvs. și creați un cont, tot ce trebuie să faceți este să vizitați catalogul de addon-uri și să instalați orice addon doriți, și sunteți gata!","WEBSITE_MAINPAGE_FAQ_002_P2":"După aceasta, puteți merge la secțiunile Descoperă sau Tabloul pentru a începe să explorați conținutul.","WEBSITE_MAINPAGE_FAQ_003_H1":"Ce pot viziona aici?","WEBSITE_MAINPAGE_FAQ_003_P1":"Multe lucruri: Filme, Seriale TV, Canale web, Sport, Canale TV, ascultați Podcast-uri și multe altele. Datorită sistemului nostru de addon-uri, puteți accesa o varietate de conținut.","WEBSITE_MAINPAGE_FAQ_004_H1":"Este Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Da, puteți verifica următoarele linkuri: ${1}aplicația pentru desktop${2} și ${3}organizația GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Este Stremio sigur?","WEBSITE_MAINPAGE_FAQ_005_P1":"Da: deoarece este un software open-source, codul este auditabil public și îl puteți revizui singur.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Ce se întâmplă cu intimitatea mea?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respectăm intimitatea utilizatorilor și nu colectăm nicio dată personală în afara minimului esențial pentru a vă crea și sincroniza contul.","WEBSITE_MAINPAGE_FAQ_006_P2":"Există și un ${1}mod oaspeți${2} la înregistrare, care nu necesită deloc date: în acest mod, nu se fac apeluri către serverul nostru. Cu toate acestea, acest lucru vine cu pierderea unor funcții utile, cum ar fi sincronizarea bibliotecii dvs. pe mai multe dispozitive.","WEBSITE_MAINPAGE_FAQ_007_H1":"Pot să transmit pe televizorul meu?","WEBSITE_MAINPAGE_FAQ_007_P1":"Da, suportăm Chromecast și puteți transmite atât de pe aplicațiile de desktop, cât și de pe cele mobile (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Câte addon-uri are Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"La sfârșitul anului 2019, peste 50 - pentru mai multe informații, verificați catalogul nostru de addon-uri.","WEBSITE_MAINPAGE_FAQ_009_H1":"Poate fi Stremio extins dincolo de ceea ce este în catalogul de addon-uri?","WEBSITE_MAINPAGE_FAQ_009_P1":"Da, ar trebui să verificați acestea: ${1}PimpMyStremio${2}, ${3}comunitățile de pe Reddit${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Ce dispozitive suportă Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Avem aplicații pentru desktop pentru Windows, Mac și Linux. Pentru dispozitivele mobile, susținem Android și iOS, deși trebuie să țineți cont că iOS este limitat în funcționalitate (nu suportă majoritatea addon-urilor).","WEBSITE_MAINPAGE_FAQ_010_P2":"Există multe dispozitive bazate pe Android pe care puteți rula Stremio, cum ar fi NVIDIA Shield și Amazon Fire Stick, dar nu le susținem oficial.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Puteți adăuga anumit conținut pe Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Ne pare rău, nu furnizăm conținut în sine, dar cu cât aveți mai multe addon-uri Stremio instalate, cu atât mai mult conținut veți putea găsi.","WEBSITE_MAINPAGE_FAQ_012_H1":"Poate Stremio să redea link-uri magnet?","WEBSITE_MAINPAGE_FAQ_012_P1":"Da, și poate reda și link-uri HTTP normale și fișiere torrent (prin tragere și plasare).","WEBSITE_MAINPAGE_FAQ_013_H1":"Pot descărca un videoclip și să-l vizionez offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Funcția de vizionare offline este în curs de dezvoltare, dar dacă permiteți Stremio să facă cache pe dispozitivul dvs. (din panoul de setări), puteți viziona ulterior videoclipurile fără o conexiune.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nimic nu funcționează, ajutați-mă!","WEBSITE_MAINPAGE_FAQ_014_P1":"Sunteți sigur că ați instalat addon-uri? Dacă da, verificați cu ${1}centrul nostru de ajutor${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Cum susține Stremio operațiunile de dezvoltare?","WEBSITE_MAINPAGE_FAQ_015_P1":"Rulează anunțuri non-intruzive ocazional, dar luăm în considerare trecerea la un model de donație.","WEBSITE_MAINPAGE_FAQ_015_P2":"Pentru mai multe întrebări, mergeți la ${1}centrul nostru de ajutor${2}.","HELP_LEARN_MORE":"Ajutați-ne să aflăm mai multe despre dvs.","LIFESTYLE":"Stil de viață","SPORTS":"Sport","FOOD_HEALTH":"Mâncare și sănătate","BEAUTY_FASHION":"Frumusețe și Modă","NEWS":"Știri","GAMING":"Jocuri video","SCIENCE_EDUCATION":"Știință și educație","MUSIC":"Muzică","TRAVEL":"Călătorii","LATE_NIGHT":"Târziu noaptea","REALITY":"Realitate","COMEDY":"Comedie","DIY":"Cum să faci singur","TECH":"Tehnologie","CINEMA":"Cinematograf","CONTINUE":"Continuare","SLOW_LOADING":"ÎNCĂRCARE GREOAIE?","I_GIVE_UP":"RENUNȚ","LEARN_MORE":"Aflați mai multe","POOR_SOURCE":"Această sursă este slab disponibilă sau conexiunea dvs. la internet nu este suficient de rapidă","PICK_CATEGORIES_ERR":"Trebuie să alegeți cel puțin 3 categorii","ADJUST_TIMING":"Ajustați timpul cu ","ADJUST_SIZE":"Ajustați dimensiunea cu ","SEARCH_ANYTHING":"Puteți căuta orice...","ALL_CATEGORIES":"Toate","SEARCH_CATEGORIES":"Filme, Seriale, YouTube și TV","SEARCH_PERSONS":"Actorii, Regizorii și Scenariștii","SEARCH_PROTOCOLS":"Link-uri HTTP și Magnet","SEARCH_TYPES":"Link-uri IMDB / TVDB","WATCHED":"Văzut","SHOW_LESS":"Afișează mai puțin","LAST_SEARCHES":"Căutări recente","CLEAR_HISTORY":"Șterge istoricul","CHOOSE_SOME":"ALEGEȚI CEVA DIN ASTA:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote nu a putut fi încărcat","STREMIO_OFFLINE":"Stremio este offline","STREMIO_EXPENSIVE_CONNECTION":"Am detectat că utilizați o conexiune de date mobile, doriți să continuați?","USE_DATA":"Utilizați datele","WARNING":"Avertisment","MORE_INFO":"Mai multe informații ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Se încarcă...","STREMIO_TV_BACK_TO_LANGUAGES":"Înapoi la limbi","STREMIO_TV_REMOTE":"Telecomandă","STREMIO_TV_GO_TO":"Mergi la:","STREMIO_TV_OR_SCAN":"sau scanează:","STREMIO_TV_ADDON_INSTRUCTIONS":"Vă rugăm să urmați instrucțiunile pentru a instala addon-urile preferate.","STREMIO_TV_LIVE_TV":"TV în direct","STREMIO_TV_RESUME_WATCHING":"Continuă vizionarea","STREMIO_TV_LOADING_BACKGROUND":"Se încarcă fundalul","STREMIO_TV_CHECKING_AUTHENTICATION":"Se verifică autentificarea","STREMIO_TV_LOADING_BOARD":"Se încarcă Tabloul","STREMIO_TV_LOGIN_HEADER_LINE_1":"Dorim ca utilizatorii noștri să aibă cea mai bună experiență personalizată cu software-ul nostru.","STREMIO_TV_LOGIN_HEADER_LINE_2":"De aceea vă rugăm să creați și/sau să vă autentificați în contul dvs.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Vă mulțumim pentru înțelegere,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Echipa Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Pentru a utiliza Telecomanda Web cu telefonul dvs. inteligent / tabletă / desktop:","STREMIO_TV_WIFI_SETUP":"Configurare Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Cercul Stremio nu a detectat o conexiune la internet.","STREMIO_TV_WIFI_DETAILS_1":"Conectați-vă la:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Utilizați parola:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Deschideți un browser web cu linkul:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Implicit","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"După Ultima vizionare","STREMIO_TV_LIBRARY_SORT_NAME":"După Nume","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"După Numărul de vizionări","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Sezonul ${1}","STREMIO_TV_STREAMS_LOADING":"Addon-uri încărcate ${1} / ${2}...","STREMIO_TV_STREAMS_STILL_LOADING":"Addon-ul ${1} încă se încarcă...","STREMIO_TV_PLAYER_SETTINGS":"Setări player","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Întârziere subtitrări","STREMIO_TV_PLAYER_AUDIO_DELAY":"Întârziere audio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Ajustare scalare video","STREMIO_TV_PLAYER_CHAPTERS":"Capitole","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Treci peste ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Sursă de stream nesuportată","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Nu s-a putut deschide linkul extern","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Nu este reglabil în modul de trecere audio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Redă cu ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Redă cu playerul libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Comutare la playerul libVLC din cauza unei erori de redare","STREMIO_TV_ADDONS_TITLE":"Folosiți Stremio pe telefonul sau PC-ul dvs. pentru a instala sau configura addon-uri și apăsați „Sincronizează addon-urile”","STREMIO_TV_ADDONS_SUBTITLE":"Notă: asigurați-vă că utilizați același cont Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizează addon-urile","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addon-urile au fost sincronizate cu succes","STREMIO_TV_ADDONS_SYNC_FAILED":"Sincronizarea addon-urilor a eșuat","STREMIO_TV_META_LINK_FAILED":"Nu s-a putut deschide linkul meta","STREMIO_TV_CATALOG_LOADING":"Catalogul încă se încarcă...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Limba interfeței actualizată","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema actualizată","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Player implicit","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Player extern","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Limbă preferată","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"A doua limbă preferată","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Redare tunelată","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Posibile probleme de redare pe anumite dispozitive","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Anumite formate video s-ar putea să nu funcționeze","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Potrivirea ratelor de cadre","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Dezactivat","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Numai rata de cadre","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Rata de cadre și rezoluția","STREMIO_TV_SETTINGS_NO_CACHING":"Fără memorare cache","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Implicit","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rapid","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra rapid","STREMIO_TV_SETTINGS_SERVER_URL":"URL server de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versiune server","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Necunoscut","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versiune Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Editare URL server","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Introduceți un URL de server de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Afișare statistici în timpul încărcării","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Pentru a citi Politica de Confidențialitate Stremio, accesați:","STREMIO_TV_SETTINGS_TOS_TEXT":"Pentru a citi Termenii și Condițiile Stremio, accesați:","STREMIO_TV_NAV_SEARCH":"Căutare","STREMIO_TV_NAV_HOME":"Acasă","STREMIO_TV_NAV_DISCOVER":"Descoperă","STREMIO_TV_NAV_LIBRARY":"Bibliotecă","STREMIO_TV_NAV_MOVIES":"Filme","STREMIO_TV_NAV_SERIES":"Seriale","STREMIO_TV_NAV_CHANNELS":"Canale","STREMIO_TV_NAV_TV":"TV în direct","STREMIO_TV_NAV_SETTINGS":"Setări","STREMIO_TV_NAV_ADDONS":"Addon-uri","STREMIO_TV_LOGIN_TITLE":"Conectare Cont","STREMIO_TV_LOGIN_EXPIRES_IN":"Expiră în","STREMIO_TV_LOGIN_STEP_ONE":"Scanați codul QR de mai sus sau mergeți la","STREMIO_TV_LOGIN_STEP_TWO":"Autentificați-vă în contul Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Solicitați un nou link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Codul de conectare a fost actualizat","STREMIO_TV_SEARCH_PLACEHOLDER":"Tastați ceva","STREMIO_TV_SEARCH_NO_ADDONS":"Nu au fost solicitate addon-uri pentru cataloage!","STREMIO_TV_SEARCH_BUTTON":"Căutare","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Istoric căutare","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Puteți căuta titluri, actori, canale și multe altele...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Șterge istoric căutare","STREMIO_TV_FILTERS_DESCRIPTION":"Alegeți din unul dintre filtrele de mai jos","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Serverul de streaming este offline. Verificați setările serverului.","FILTERS":"Filtre","SETTINGS":"Setări","ACCOUNT":"Cont","LOGOUT":"Deconectare","THEMES":"Teme","PLAYBACK":"Redare","PLAYBACK_SPEED":"Viteză redare","AUDIO_TRACKS":"Piste audio","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videoclipuri","SERVER":"Server","LINKS":"Linkuri","ABOUT":"Despre","INTERFACE":"Interfață","ANIMATIONS":"Animații","STATUS":"Stare","LANGUAGE":"Limbă","SIZE":"Mărime","DELAY":"Întârziere","BOLD":"Aldin","OPACITY":"Opacity","TEXT_COLOR":"Culoarea textului","OUTLINE_COLOR":"Culoarea conturului","BACKGROUND_COLOR":"Culoarea fundalului","BACKGROUND_BLUR":"Estompare fundal","SEEK_TIME_DURATION":"Durată căutare timp","AUTO_PLAY":"Redă automat următorul episod","PLAY_NOW":"Redă acum","MARK_AS_WATCHED":"Marchează ca vizionat","MARK_AS_UNWATCHED":"Marchează ca nevizionat","REWIND_TO_BEGINNING":"Derulează la început","CONTINUE_WATCHING":"Continuă vizionarea","ALL":"Toate","SECONDS":"secunde","ON":"Activat","OFF":"Dezactivat","RELOAD":"Reîncărcare","EDIT_URL":"Editează URL-ul","URL":"URL","NONE":"Niciunul","EMBEDDED":"Încorporat","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Comutare dispozitive","REMOTE_VIDEOS":"Videoclipuri","REMOTE_ADJUST_TIMING":"Ajustare sincronizare","REMOTE_ADJUST_SIZE":"Ajustare mărime","REMOTE_COULD_NOT_BE_LOADED":"Telecomanda Web nu a putut fi încărcată","REMOTE_RETRY":"Reîncercare","TORRENT_PROFILE_DEFAULT":"Implicit","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Rapid","TORRENT_PROFILE_ULTRA_FAST":"Ultra rapid","MB_S":"MB/s","FAQ_001_H1":"Ce este Stremio?","FAQ_001_P1":"Stremio este un software pentru centru media proiectat pentru divertisment video cu ușurință în utilizare în minte. Stremio vă permite să vă organizați și să vizionați propria colecție de filme, seriale, canale și TV în direct.","FAQ_001_P2":"Stremio colectează conținutul pe care vi-l arată de pe discul local și prin sistemul nostru de addon-uri.","FAQ_001_P3":"De asemenea, vă va notifica atunci când apar episoade/videoclipuri/filme noi pe care le urmăriți și vă va oferi recomandări de filme.","FAQ_02_H1":"Cum se compară Stremio cu Kodi și Plex?","FAQ_02_P1":"Suntem inspirați de cele două programe. Dar avem obiective diferite - Stremio este orientat în mod specific către divertisment video și încearcă să devină soluția principală pentru asta prin ușurința sa de utilizare.","FAQ_02_P2":"Stremio nu va fi niciodată la fel de personalizabil și bogat în funcții ca Kodi și Plex, dar este semnificativ mai ușor de utilizat. Doar ${1}încercați-l și vedeți${2} :)","FAQ_03_H1":"Cum se compară Stremio cu Netflix?","FAQ_03_P1":"Iarăși, Netflix este una dintre inspirațiile noastre. Ne străduim să obținem experiența utilizatorului de la Netflix, plus multe adăugiri. Dar cel mai important, vă oferim libertatea de a vă gestiona propria bibliotecă și de a adăuga surse noi de conținut cu ajutorul sistemului nostru de addon-uri.","FAQ_03_P2":"Acest lucru face ca Stremio să fie infinit extensibil, astfel că atunci când utilizați Stremio, nu sunteți limitat la conținutul pe care Netflix decide să îl licențieze. De exemplu, prin intermediul Stremio puteți viziona conținut de pe ${1}Filmon.tv${2}, ${3}Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} și chiar ${9}Netflix${10} în sine!","FAQ_04_H1":"Cum se compară Stremio cu Flipboard?","FAQ_04_P1":"Această întrebare nu este foarte obișnuită, cu excepția cazului în care discutăm cu oameni din start-up-uri :)","FAQ_04_P2":"Stremio este în mod intenționat un agregator de conținut, ceea ce îl face practic Flipboard pentru video. Acest lucru este foarte vizibil în secțiunea noastră Tablou, care vă oferă cataloage și notificări pentru episoade noi/videoclipuri noi pentru ceea ce urmăriți, exact ca Flipboard.","FAQ_05_H1":"Cum se compară Stremio cu Popcorn Time?","FAQ_05_P1":"Stremio și Popcorn Time sunt similare ca interfață de utilizator, pentru că nu există multe modalități de a realiza corect cataloage de divertisment video :)","FAQ_05_P2":"Dar în timp ce Popcorn Time se concentrează pe redarea de torrente din surse specifice, Stremio nu are restricții și este doar un agregator de conținut - nu este blocat într-o sursă specifică de conținut.","FAQ_05_P3":"În plus, noi nu oferim niciun addon pentru torrente în mod implicit, deci Stremio nu acoperă cazul de utilizare Popcorn Time cu funcționalitate oficială.","FAQ_05_P4":"O altă diferență semnificativă este că Popcorn Time este complet open source, în timp ce Stremio este ${1}parțial open source${2}.","FAQ_06_H1":"Veți adăuga acest film/serial?","FAQ_06_P1":"Nu, ne pare rău :(","FAQ_06_P2":"După cum este menționat și în majoritatea celorlalte întrebări, Stremio nu furnizează niciun conținut în sine - totul este adăugat prin intermediul sistemului nostru de addon-uri. În cazul în care aveți o cerere de conținut, puteți folosi butonul „Raportați” din Player, care va trimite un e-mail autorului addon-ului pe care îl utilizați în prezent.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Vei crea un addon pentru X?","FAQ_08_P1":"Este cu desăvârșire posibil.","FAQ_08_P2":"Dacă aveți o idee pentru un addon, lăsați-ne un mesaj la ${1}office@stremio.com${2}, dar vă rugăm să vă asigurați că ideea dvs. de addon nu va încălca drepturile de autor sau termenii de utilizare.","FAQ_08_P3":"În prezent, următoarele lucruri de pe agenda noastră sunt addon-uri pentru FandangoNOW, video la cerere Filmon.tv și Crunchyroll.","FAQ_09_H1":"Folosește Stremio BitTorrent?","FAQ_09_P1":"Da, Stremio suportă BitTorrent ca protocol de streaming. Puteți folosi asta fie cu un addon pentru torrente, fie prin trascinarea și fixarea unui fișier .torrent în Stremio, fie prin lipirea unui magnet link în Bara de căutare.","FAQ_09_P2":"Vă rugăm să rețineți că singurul addon oficial care folosește BitTorrent este ${1}Vodo${2}, care oferă conținut indie, permis în întregime pentru distribuție cu BitTorrent.","FAQ_09_P3":"Noi nu susținem utilizarea addon-urilor terților care ar putea permite încălcarea drepturilor de autor.","FAQ_10_H1":"Ce pot viziona în Stremio cu addon-urile oficiale?","FAQ_10_P1":"În mod implicit, puteți viziona conținut de pe Filmon.tv, YouTube și Vodo în Stremio însuși, cu ajutorul player-ului său încorporat. În plus, avem un addon pentru Twitch.tv și câteva altele.","FAQ_10_P2":"Acest lucru oferă o selecție de:","FAQ_10_L1":"Canale TV populare, oferite de Filmon.tv - de exemplu E4, BBC, Bollyworld TV","FAQ_10_L2":"Totul de pe YouTube - de exemplu BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Filme indie cu Vodo","FAQ_10_L4":"Transmisiuni de jocuri online cu Twitch.tv","FAQ_10_P3":"În plus, există multe surse de conținut furnizate cu addon-urile Guidebox și Netflix, care nu se joacă în întregime în Stremio, ci vă redirecționează către serviciul dat. De exemplu, addon-ul Guidebox vă oferă o selecție de filme pe care le puteți viziona gratuit în SUA, din servicii precum TubiTV și Crackle.","FAQ_11_H1":"Stremio nu se instalează, ce ar trebui să fac?","FAQ_11_P1":"Dacă sunteți pe Windows, încercați ${1}acest instalator alternativ${2}.","FAQ_11_P2":"Dacă sunteți pe Mac OS X, vă rugăm să știți că nu susținem nimic mai vechi decât OS X Mavericks (10.9).","FAQ_11_P3":"Dacă sunteți pe Linux, rețineți că susținem doar Linux pe 64 de biți (x64) în acest moment.","FAQ_11_P4":"Dacă în continuare nu puteți rezolva problema, vă rugăm să ne scrieți la ${1}grupul nostru de Facebook${2}.","FAQ_12_H1":"De ce antivirusul meu se plânge? Este Stremio sigur?","FAQ_12_P1":"Vă asigurăm că Stremio este ${1}100% curat${2}.","FAQ_12_P2":"Antivirusul dvs. se plânge pentru că includem publicitate în installer-ul nostru, pe care unii programe antivirus îl recunosc ca ad-ware.","FAQ_12_P3":"Dacă nu sunteți sigur, puteți încerca ${1}instalatorul alternativ${2} al nostru.","FAQ_13_H1":"Cum pot crea un addon?","FAQ_13_P1":"În primul rând, vă recomandăm să verificați ${1}modulul nostru de sistem pentru addon-uri${2} pe GitHub.","FAQ_13_P2":"Apoi, puteți urma ${1}tutorialul Salut, lume!${2}.","FAQ_13_P3":"Dacă nu aveți abilități de programare, vă rugăm să postați ideea dvs. de addon pe ${1}comunitatea noastră de Reddit${2} și să ne contactați cu ideea dvs. de addon la ${3}office@stremio.com${4}.","FAQ_14_H1":"Cum se publică addon-urile?","FAQ_14_P1":"Când creați un addon și îl găzduiți și introduceți un câmp endpoint în manifestul dvs., care indică către o adresă de addon funcțională, addon-ul se va publica automat în ${1}catalogul de addon-uri${2}.","FAQ_14_P2":"Acest lucru se întâmplă pentru că partea de server a modulului stremio-addons face automat o solicitare către API-ul nostru pentru a anunța addon-ul. Când API-ul nostru validează endpoint-ul dvs. ca fiind un addon valid, acesta va începe să apară în catalog.","FAQ_15_H1":"Pot să rulez Stremio în browser-ul meu?","FAQ_15_P1":"Nu în acest moment, dar asta vine în curând!","FAQ_15_P2":"Dacă sunteți curios să vedeți o versiune Alpha, o puteți găsi aici: ${1}alpha4.strem.io${2}. Rețineți că streamingul este dezactivat în această versiune Alpha. Noi susținem Chrome, Firefox, Opera și Edge.","FAQ_16_H1":"Casting-ul pe TV nu funcționează / subtitrările nu funcționează","FAQ_16_P1":"Casting-ul pe TV folosește tehnologia DLNA, care este foarte inconsistentă între diferite mărci și modele de televizoare. Din acest motiv, nu avem capacitatea de a o testa în fiecare caz, deci este departe de a fi perfectă. Cu toate acestea, lucrăm constant la îmbunătățirea ei, dar nu vă putem da o estimare a momentului în care DLNA va începe să funcționeze corect cu televizorul dvs.","FAQ_16_P2":"Dacă nici măcar nu vedeți televizorul dvs. în meniul de casting, vă rugăm să încercați să dezactivați și să reactivați conexiunea dvs. la rețea (pe Windows, faceți clic dreapta pe Rețea și utilizați Opțiunea Dezactivează/Activează), precum și repornirea routerului, a televizorului și a PC-ului.","FAQ_16_P3":"Dacă întâmpinați în continuare probleme, ne puteți ajuta trimițând informații despre marcă și modelul televizorului la ${1}office@stremio.com${2}.","FAQ_16_P4":"Între timp, vă recomandăm Chromecast, pe care îl susținem foarte bine, sau pur și simplu să conectați televizorul la PC cu un cablu HDMI.","FAQ_17_H1":"Stremio se blochează și/sau se închide brusc, ce pot face?","FAQ_17_P1":"În primul rând, dacă utilizați Windows 7 cu AVG anti-virus: avem o problemă cu această combinație. Problema este în AVG în sine și nu există o modalitate rezonabilă de a o rezolva din partea noastră. Din păcate, excepțiile sau dezactivarea antivirusului nu vor funcționa. Singura soluție este să înlocuiți AVG cu altceva.","FAQ_17_P2":"Dacă nu este aceasta problema, dar utilizați în continuare Windows, vă rugăm să actualizați la cea mai recentă versiune de service pack și să actualizați/reinstalați driverele GPU, apoi să încercați din nou.","FAQ_17_P3":"Dacă problema dvs. nu este încă rezolvată sau utilizați un Mac sau Linux, vă rugăm să ne scrieți raportând detaliile exacte ale problemei la ${1}grupul nostru de Facebook${2}.","FAQ_18_H1":"Cum pot crea un addon?","FAQ_18_P1":"Pentru început, vă recomandăm să verificați ${1}modulul nostru de sistem pentru addon-uri${2} pe GitHub.","FAQ_18_P2":"Apoi, puteți urma ${1}tutorialul Salut, lume!${2}.","FAQ_18_P3":"Dacă nu aveți abilități de programare, vă rugăm să postați ideea dvs. de addon pe ${1}comunitatea noastră de Reddit${2} și să ne contactați cu ideea dvs. de addon la ${3}office@stremio.com${4}.","FAQ_19_H1":"De ce ocupă Stremio spațiu pe disc?","FAQ_19_P1":"Stremio are o cache locală pentru a păstra temporar fișierele video pe care le redați, pentru a le putea reda din nou fără a le descărca din nou. De exemplu, dacă redați un episod de serial, acesta va fi descărcat pe discul local pentru a vă oferi o experiență mai bună de vizionare, fără întreruperi sau tamponări.","FAQ_19_P2":"În plus, add-on-urile oficiale pot cere să descarce conținut temporar pentru a-l reda. Acestea pot include subtitrări, imagini de previzualizare și alte resurse. Toate acestea contribuie la ocuparea spațiului pe disc de către Stremio.","FAQ_19_P3":"Pentru a gestiona spațiul ocupat de Stremio, puteți curăța cache-ul din setările Stremio. Acest lucru va șterge toate fișierele temporare descărcate de Stremio, dar va trebui să le redescărcați dacă doriți să le vizionați din nou.","FAQ_20_H1":"Unde se află folderul de cache?","FAQ_20_P1":"Pe Windows, este stremio-cache în unitatea pe care ați selectat-o în Setări (de exemplu, \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Pe MacOS, este \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Pe Linux, este \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"Primeșc eroarea \\"Streaming server is not found\\", ce pot să fac?","FAQ_21_P1":"Dacă primiți această eroare, înseamnă că există câteva posibilități:","FAQ_21_P2":"1) Încercați să utilizați un addon susținut de sursa YouTube/BitTorrent prin ${1}versiunea noastră web${2}. În acest caz, ar trebui să instalați versiunea noastră de desktop de pe ${3}site-ul nostru${4}.","FAQ_21_P3":"2) Există o problemă cu instalarea Stremio pe calculatorul dvs. În acest caz, încercați să reinstalați ultima versiune de desktop de pe ${1}site-ul nostru${2}. Dacă acest lucru nu ajută, încercați să dezactivați programele antivirus și firewallele, să reporniți PC-ul și să încercați din nou. Dacă acest lucru nu funcționează nici în acest caz, vă rugăm să ne scrieți la ${3}grupul nostru de Facebook${4}.","FAQ_22_H1":"Nu pot vedea/utiliza majoritatea addon-urilor pe iOS","FAQ_22_P1":"Din cauza restricțiilor din termenii și condițiile App Store de la Apple, am restricționat aplicația iOS doar la un set particular de addon-uri.","FAQ_22_P2":"Dar stați liniștit - vor fi mai multe addon-uri pentru iOS în viitor, iar noi am putea adăuga o integrare care vă va permite să utilizați toate addon-urile Stremio datorită conectării aplicației iOS la Stremio Streaming Server."}')},48931:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Кино","TYPE_series":"Сериал","TYPE_tv":"ТВ-канал","TYPE_channel":"Канал","TYPE_other":"Прочее","TYPE_movie_PL":"Кино","TYPE_series_PL":"Сериалы","TYPE_tv_PL":"ТВ-каналы","TYPE_channel_PL":"Каналы","TYPE_other_PL":"Прочее","TYPE_ALL":"Все","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Видео","BACK":"Назад","MORE":"Ещё","DONE":"Готово","COPY":"Копировать","SUCCESS":"Готово","ERROR":"Ошибка","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"По умолчанию","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Нет транкодирования","Discover":"Открытия","Board":"Доска","Library":"Библиотека","My Library":"Моя библиотека","Calendar":"Календарь","NOTIFICATION_ONLINE":"Вы в сети","NOTIFICATION_OFFLINE":"Вы вне сети","INTERNET_CONNECTION":"Сетевое подключение","STORAGE_FULL_TITLE":"Внимание: хранилище заполнено!","STORAGE_FULL_TEXT":"Stremio не может сохранить ваши настройки, предпочтения или данные для входа. Попробуйте перезапустить или переустановить Stremio.","SEARCH":"поиск","SEARCH_NO_RESULTS":"Ничего не найдено","SEARCH_EXPLANATION_CONTENT":"Поиск фильмов, сериалов, YouTube и ТВ-каналов","SEARCH_EXPLANATION_PEOPLE":"Поиск актёров, режиссёров и авторов","SEARCH_PASTE_LINKS":"Вставьте HTTP и Magnet-ссылки","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Добавить в библиотеку","REMOVE_FROM_LIB":"Удалить из библиотеки","ADDED_TO_LIB":"Добавлено в библиотеку","REMOVED_FROM_LIB":"Удалено из библиотеки","TRAILER":"Трейлер","WATCH_TRAILER":"Смотреть трейлер","WATCH_NOW":"Смотреть","SHOW":"Показать","SHOW_MOVIE":"Показать фильм","WATCH_RANDOM":"Смотреть в случайном порядке","IMDB_RATING":"Рейтинг IMDb","YEAR":"Год","DIRECTOR":"Режиссёр","WRITER":"Писатель","LEAD_ACTORS":"Основные актёры","CAST":"Актёры","CREW":"Команда","SHOW_MORE_CAST":"Показать больше »","AIRED":"Выпуск","SEASONS":"Сезоны","GENRE":"Жанр","GENRE_ALL":"All genres","CATALOG":"Каталог","SUMMARY":"Описание","SHOW_MORE":"Показать больше","SIMILAR":"Похожее","UPCOMING":"Скоро","TBA":"TBA","ENDED":"Закончилось","DURATION":"Продолжительность","FEATURED":"Представлено","METADATA":"Метаданные","CATEGORY":"категория","LINKS_GENRES":"Жанры","LINKS_CAST":"Актёры","LINKS_DIRECTORS":"Режиссёры","SEARCH_VIDEOS":"поиск видео","SEARCH_PLACEHOLDER":"поиск или вставка магнитной ссылки","ADDON":"Дополнение","ADDONS":"Дополнения","OFFICIAL":"Официальный","ADDONS_OFFICIAL":"Официальные дополнения Stremio","ADDONS_POPULAR":"Популярно в вашем районе","ADDON_FREE":"Бесплатно","ADDON_PEERED":"Попробовать","ADDON_SUBSCRIPTION":"Подписка","ADDON_STREAM_GEORESTRICTED":"Недоступно в вашем регионе","ADDON_STREAM_OFFLINECACHE":"Офлайн-кэш","ADDON_STREAM_LOCALFILE":"Локальный файл","SHARE_ADDON":"Поделиться дополнением","AVAILABLE_STREAMS":"Доступные стримы","NO_STREAM":"Нет стримов","ALL_ADDONS":"Все","INSTALL_MORE_ADDONS":"Для большего количества стримов установите больше дополнений","STREAM_NOT_SUPPORTED":"Выбранные стримы не поддерживаются на этой платформе.","ADDON_CATALOGUE":"Показать все дополнения »","ADDON_CATALOGUE_MORE":"Больше дополнений »","REPO_ADDED":"Репозиторий добавлен","ADDON_REPO_EXIST_ERR":"Этот репозиторий дополнений уже существует","ADDON_REPO_ERR":"Ошибка при добавлении репозитория","ADDON_ADD_ERR":"Ошибка при добавлении дополнения","ERR_ADDON_PROTECTED":"Защищенное дополнение","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Что-то пошло не так — возможно, аутентификация не удалась","ERR_NOT_COLLECTION_URL":"Не URL-адрес коллекции","ERR_NOT_ADDON_URL":"Не URL-адрес дополнения","ERR_DETECTFROMURL":"Не удается обнаружить по URL-адресу","ADDON_DUPLICATE_WARNING":"Внимание: дублирующееся дополнение","ADDON_COLLECTION_SET_FAILED":"Не удалось установить коллекцию дополнений","SETTINGS_DATA_EXPORT":"Экпорт данных","ADDON_PULL_FAILED":"Синхронизация установленных дополнений из вашей учетной записи не удалась","REFRESH_ON_CLICK":"Нажмите, чтобы повторить","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Фильм все еще показывают в кинотеатрах","WATCH_IN_CINEMA":"Смотрите его в местном кинотеатре","IN_THEATER":"В кино","GET_TICKETS":"Купить билеты","UPCOMING_EPISODE":"Предстоящий эпизод","UPCOMING_EPISODE_MESSAGE":"Этот эпизод выйдет в эфир","MISSING_DATE_EPISODE":"Дата отсутсвует","MISSING_DATE_EPISODE_MESSAGE":"Возможно, этот эпизод еще не выпущен","CHANNEL_NOT_SCRAPED":"Этот канал ещё не просканирован.
    Пожалуйста, вернитесь через несколько минут.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Добавьте в библиотеку, чтобы получить уведомление, как только станет доступно.","GET_NOTIFIED_WHEN_AVAILABLE":"Вы получите уведомление, как только станет доступно.","WARNING_STREAMING_SERVER":"Внимание: локальный стриминговый сервер не найден. Стриминг из локальных файлов, YouTube и BitTorrent будет недоступен.","WARNING_STREAMING_SERVER_DISMISS":"Отклонить","WARNING_STREAMING_SERVER_LATER":"Позже","DECODER_WARNING":"Внимание: это видео может не поддерживаться вашим оборудованием. Имейте в виду, что воспроизведение может быть замедленным.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Упс, ошибка воспроизведения","PLAYER_ERROR_LOOKSLIKE":"Выглядит как","PLAYER_ORIENTATION":"Ориентация плеера","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Заблокировано","PLAYER_ORIENTATION_SENSOR_SHORT":"По датчику наклона","PLAYER_ORIENTATION_LANDSCAPE":"Ориентация плеера заблокирована в альбомной ориентации","PLAYER_ORIENTATION_SENSOR":"Автоматическая ориентация плеера (датчик)","PLAYER_PLAYBACK_SPEED":"Скорость воспроизведения","PLAYER_PLAYBACK_ERROR":"Ошибка воспроизведения, пожалуйста, попробуйте снова","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Неизвестная ошибка","PLAYER_PLAYBACK_ERROR_DEFAULT":"Извините, это видео не может быть воспроизведено {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Языки субтитров","PLAYER_SUBTITLES_VARIANTS":"Варианты субтитров","PLAYER_SUBTITLES_SETTINGS":"Настройки субтитров","PLAYER_SUBTITLES_DISABLED":"Субтитры отключены","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Вертикальное положения","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Следующее видео","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Смотрите далее","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Отклонить","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Смотреть","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Не удалось скопировать ссылку трансляции","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Стрим от","CASTING_TO":"Стим для","NETWORK_STATUS":"Состояние сети","STREAM_SPEED":"Скорость:","STREAM_BUFFERED":"Загружено:","PEERS_INFO":"Информация о пирах","PEERS_ACTIVE":"Активны:","PEERS_CONNECTED":"Подключены:","PEERS_WAITING":"Ждут:","TRANSCODING_WARNING":"Внимание: перекодирование видео.","STREAM_LOADING":"Загрузка...","PLAYING_LOCAL":"Из локального файла","PLAYING_CACHE":"Из кэша","WRONG_SUBS":"Некорректные субтитры?","ERR_SUBS_LOADING_TITLE":"Ошибка загрузки субтитров","ERR_SUBS_LOADING":"Не удалось загрузить субтитры: это может быть связано с используемым вами дополнением или с сетевым подключением","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Не удалось выполнить следующие дополнения субтитров","ERR_CASTING_UPDATE_TITLE":"Не удалось обновить информацию об устройстве трансляции: стриминг-сервер, возможно, отключен","CHOOSE_DEVICE":"Выберите устройство для просмотра","NO_CAST_DEVICES":"Нет доступных устройств.","NO_SETTINGS":"Настройки недоступны.","NO_OPTIONS":"No options available","PHONE_TABLET":"Телефон/планшет","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Субтитры","SUBTITLES_CHANGE":"Изменить субтитры для ","SUBTITLES_CHANGE_NONE":"К сожалению, нет других субтитров для этого языка","SUBTITLES_CHANGE_ACIVE":"Сейчас выбраны субтитры #{{subtitlesDialog.activeIdx + 1}}. Нажмите \\"Продолжить\\", чтобы выбрать субтитры #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Как вариант,","SUBTITLES_ADJUST_DELAY":"Настроить задержку субтитров:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Или использовать клавиши G/H во время вопроизведения для настройки.","SUBTITLES_ADJUST_DELAY_TIP":"Совет: вы можете использовать клавиши G/H во время вопроизведения для настройки.","SUBTITLES_DELAY":"Задержка субтитров:","SUBTITLES_LOADING":"Загрузка субтитров...","SUBTITLES_UNAVAILABLE":"Нет доступных внешних субтитров","SUBTITLES_DISABLED":"Отключено","EXTERNAL_PLAYER_DISABLED":"Отключено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Разрешить выбор","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Не показывать снова","SERVICE_INSTALL":"Установить","AUDIO":"Аудио","DEFAULT_LANGUAGE":"Язык по умолчанию","DEFAULT_SECONDARY_LANGUAGE":"Дополнительный язык по умолчанию","SEASON":"Сезон","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Эпизод","EPISODE_ABBREVIATION":"EP","SPECIAL":"Особый","SORT":"Сортировать","SORT_BY":"Сортировать по","FILTER":"Фильтровать","SORT_TRENDING":"Лидеры","SORT_RECENT":"Недавние","SORT_ALPHABET":"А-я","SORT_ALPHABET_REVERSE":"я-а","SORT_RATING":"Рейтинг","SORT_WATCHED":"Просмотрено","SORT_YEAR":"Год","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"По последнему просмотру","SORT_NAME":"По названию","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"По количеству просмотров","SORT_NOTWATCHED":"not watched","New for You":"Новые для вас","New Episodes":"Новые эпизоды","New Videos":"Новые видео","Recommendations":"Рекомендации","LIBRARY_RESUME":"Продолжить","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Подробности","LIBRARY_RESUME_DISMISS":"Сбросить","LIBRARY_CLEAR_PROGRESS":"Очистить прогресс","LIBRARY_REMOVE":"Удалить","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Никогда больше не пропустите ни одной серии","NOT_LOGGED_IN_CALENDAR":"Запланируйте ваш личный календарь просмотра","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Рекомендуемые","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Победители Оскара","DISCOVER_WARNING_TITLE":"Ой!","DISCOVER_EMPTY_CATALOG":"Это дополнение вернуло пустой контент.","DISCOVER_ADULT_WARNING":"Контент доступен только взрослым. Вам 18+?","DISCOVER_NOADDON_WARNING":"Внимание: не было найдено активного дополнения для этого типа. Показаны только сохранённые элементы, обновления не могут быть выполнены.","DISCOVER_LOAD_ERR":"Контент не загрузился, произошла ошибка.","DISCOVER_ADDON_UNINSTALLED":"Этот контент больше не доступен, возможно, вы удалили дополнение.","UNINSTALL_THIS_ADDON":"Удалить дополнение","ERR_ADDON_NOT_INSTALLED":"Это дополнение не установлено. Установить?","DETAIL_RECEIVE_NOTIF_SERIES":"Получать уведомления о новых эпизодах","DETAIL_RECEIVE_NOTIF_VIDEOS":"Получать уведомления о новых видео","SIDEBAR_SHOW_STREAMS":"Показать стримы","RELAUNCH":"Перезапустить!","UPGRADE":"Доступная новая версия! Обновите Stremio до последней версии","RELOAD_UI":"Перезагрузить пользовательский интерфейс","MANUAL_UPDATE_TITLE":"Обновите версию Stremio","MANUAL_UPDATE_LINE1":"Вы используете устаревшую версию Stremio, которая крайне не рекомендуется.","MANUAL_UPDATE_LINE2":"Пожалуйста, обновите как только получится.","BUTTON_UPDATE_LATTER":"Не сейчас","BUTTON_UPDATE_NOW":"Обновить","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Анонимный пользователь","DONT_HAVE_ACC":"Нет аккаунта?","HAVE_ACC":"Уже есть аккаунт?","PASSWORD":"Пароль","PASSWORD_CONFIRM":"Подтвердить пароль","EMAIL":"Эл. почта","FB_LOGIN":"Войти с Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Мы не будем ничем делиться без вашего согласия","FB_NOPOST":"Мы не будем ничего публиковать без вашего согласия","OR":"или","I_ACCEPT":"Я принимаю","I_ACCEPT_BY_CLICKING":"Нажимая кнопку выше, я подтверждаю, что принимаю ","TOS":"Условия и положения","MUST_ACCEPT_TERMS":"Вы должны принять условия","PASSWORDS_NOMATCH":"Пароли не совпадают","SIGN_UP":"Регистрация","SIGN_UP_EMAIL":"Зарегистроваться с эл. почтой","CLICK_TO_SIGN_UP":"Нажмите здесь, чтобы зарегистрироваться.","LOG_IN":"Войти","LOG_OUT":"Выйти","EXIT_FULLSCREEN":"Выйти из полноэкранного режима","ENTER_FULLSCREEN":"Войти в полноэкранный режим","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Помощь и обратная связь","TERMS_OF_SERVICE":"Условия обслуживания","PRIVACY_POLICY":"Политика конфиденциальности","ABOUT_STREMIO":"О Stremio","USER_PANEL":"Панель пользователя","LOGIN_LABEL":"Войти","GUEST_LOGIN":"Войти как гость","GUEST_LOGIN_NOTICE":"Гостевой вход не рекомендуется. Использование обычного входа позволяет Stremio синхронизировать вашу библиотеку, получать уведомления о любимых сериалах/каналах. Вы уверены, что хотите продолжить?","GUEST_LOGIN_NOTICE_2":"Гостевой вход не рекомендуется. У вас не будет синхронизированной библиотеки и доски уведомлений, которые являются очень важными функциями Stremio. Вы уверены, что хотите продолжить?","CLICK_HERE":"нажмите здесь","WRONG_PASSWORD":"Неправильный пароль. Если вы забыли свой пароль, ","SET_A_PASS":"установить пароль","RESET_PASSWORD":"Сброс пароля","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Забыли пароль?","EMAIL_USED_WITH_FB":"Эта эл. почта была использована с логином Facebook.","INVALID_EMAIL":"Пожалуйста, введите действительный адрес эл. почты","INVALID_PASSWORD":"Пожалуйста, введите действительный пароль","CONN_ERR":"Ошибка подключения. Повторите попытку позже.\\n\\nЕсли проблема не устранится, отключите брандмауэры/антивирусное ПО (особенно Bitdefender).","IMPORT_FROM_GUEST":"Импорт библиотеки из гостевой учетной записи","RECEIVE_UPDATES_EMAIL":"Получайте обновления от Stremio на свою эл. почту","LOGIN_FAILED":"Ошибка входа.","SIGNUP_FAILED":"Регистрация не удалась.","SEARCH_FAILED":"Поиск не удался","EMAIL_USED":"Эта эл. почта уже используется.","WAITING_FB_LOGIN":"Вход через Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Воспроизвести во внешнем плеере","EXTERNAL_REMEMBER_PLAYER":"Хотите запомнить свой выбор","EXTERNAL_ALWAYS_PLAY":"Да","EXTERNAL_ONLY_ONCE":"Нет","BEST_FIT":"Наиболее подходящее","FIT_SCREEN":"По размеру экрана","FILL":"Заполнить","16:9":"16:9","4:3":"4:3","Original":"Оригинал","INTRO_TASTE":"Расскажите, что вам нравится","INTRO_TASTE_LONG":"Расскажите нам о том, что вы хотели бы посмотреть","INTRO_TASTE_PICK":"Выберите {{interestsRemaining}} интересов","INTRO_TASTE_PICK_MORE":"Выберите больше интересов {{interestsRemaining}}","INTRO_TASTE_HELP_US":"Помогите нам лучше узнать вас.","INTRO_TASTE_CHOOSE_THESE":"Выберите некоторые из них:","INTRO_TASTE_CHOOSE_MIN":"Выберите не менее 3 категорий","INTRO_TASTE_CHOOSE_MIN_ERR":"Вы должны выбрать минимум 3 категории!","INTRO_TASTE_LIFESTYLE":"Образ жизни","INTRO_TASTE_SPORTS":"Спорт","INTRO_TASTE_FOOD_HEALTH":"Еда и здоровье","INTRO_TASTE_BEAUTY_FASHION":"Красота и мода","INTRO_TASTE_NEWS":"Новости","INTRO_TASTE_GAMING":"Игры","INTRO_TASTE_SCIENCE_EDU":"Наука и образование","INTRO_TASTE_MUSIC":"Музыка","INTRO_TASTE_TRAVEL":"Путешествия","INTRO_TASTE_LATE_NIGHT":"Ночное шоу","INTRO_TASTE_REALITY":"Реалити","INTRO_TASTE_COMEDY":"Комедия","INTRO_TASTE_DIY":"Сделать своими руками","INTRO_TASTE_TECH":"Технологии","INTRO_TASTE_CINEMA":"Кино","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Выбранное дополнение не поддерживается на этой платформе.","ADDON_DISCLAIMER":"Использование посторонних дополнений всегда будет предметом вашей личной ответственности и попадает под регулирующее законодательство той юрисдикции в которой вы находитесь.","ADDON_ACTIVATE":"активировать это дополнение?","ADDON_REPO_ADD":"URL-адрес репозитория дополнения","ADDON_ADD":"Добавить","INSTALL_ADDON":"Install addon","ADD_ADDON":"Добавить дополнение","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Вставьте URL-адрес дополнения","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Что нового","BUTTON_CONTINUE":"Продолжить","BUTTON_ACTIVATE":"Активировать","BUTTON_ACTIVATED":"Активировано","BUTTON_CANCEL":"Отмена","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Отправить","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Отклонить все","BUTTON_VIEW_ALL":"Посмотреть все","BUTTON_SEE_ALL":"Смотреть все","BUTTON_COLOR_TRANSPARENT":"Прозрачн.","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Ваша библиотека пуста. Узнайте, насколько она полезна :)","HOW_START":"Как начать:","LIB_EMPTY_CAL":"Ваш календарь показывает сериалы в библиотеке.","HOW_START_CAL":"Как вы можете добавить сериал:","LIB_EMPTY_BOARD":"Таблица показывает уведомления и рекомендации, относящиеся к вашей библиотеке.","HOW_START_BOARD_WAIT":"Пожалуйста, добавьте несколько серий или каналов к вашей библиотеке и дайте нам несколько минут для обработки :)","HOW_START_BOARD":"Вот как вы можете добавить сериалы и фильмы:","IMPORT_FB":"Импорт понравившегося материала из Facebook","IMPORT_TRAKT":"Импорт медиатеки из Trakt","IMPORT_DISCOVER":"Найти интересный материал в Открытиях","IMPORT_DISK":"Импорт видео из локального диска","PLEASE_CREATE_ACC":"Пожалуйста, создайте аккаунт, чтобы включить синхронизацию библиотеки и доски.","IMPORT_DISCOVER_SIGNUP":"Зарегистрируйтесь и находите интересные материалы в Открытиях","IMPORT_DISK_SIGNUP":"Зарегистрируйтесь и импортируйте фильмы или шоу из вашего локального диска","LIB_EMPTY_CLOUD":"Облачная бибилиотека","LIB_EMPTY_CLOUD_DESC":"Личная облачная библиотека синхронизируется на всех устройствах","LIB_EMPTY_EARLY":"Ранняя птичка","LIB_EMPTY_EARLY_DESC":"Получайте уведомления о новых эпизодах","LIB_EMPTY_PERSONAL":"Личное","LIB_EMPTY_PERSONAL_DESC":"Получите личные рекомендации","LIB_EMPTY_CALENDAR_DESC":"Запланируйте свой личный календарь просмотра","LIB_EMPTY_ALL":"Зарегистрируйтесь, чтобы получить всё это:","LIB_EMPTY_BEST":"Зарегистрируйтесь, чтобы получить всё лучшее от Stremio","LIB_EMPTY_OTHER":"Зарегистрируйтесь, чтобы включить календарь и другие крутые функции","CALENDAR_ADDED":"Календарь Stremio был добавлен в ваш настольный календарь по умолчанию.","CALENDAR_ADDED_MSG":"Если не сработало, добавьте этот URL-адрес в приложение календаря вручную","TRAKT_EXPIRED":"Срок действия аутентификации Trakt истек, перейдите в настройки и повторите аутентификацию.","TRAKT_REQUIRES_LOGIN":"Ошибка Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Необходимо войти","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Настройки","SETTINGS_NAV_GENERAL":"Общее","SETTINGS_NAV_PLAYER":"Плеер","SETTINGS_NAV_STREAMING":"Стриминг","SETTINGS_NAV_SHORTCUTS":"Ярлыки","SETTINGS_SHORTCUT_RELOAD_APP":"Перезагрузить приложение","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Открыть настройки","SETTINGS_SHORTCUT_SWITCH_TABS":"Переключить вкладки","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Перелистывать вкладки вперёд","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Перелистывать вкладки назад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Выйти/Вернуться","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Переключить полноэкранный режим","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Показать элементы управления","SETTINGS_SHORTCUT_PLAY_PAUSE":"Воспроизведение/Пауза","SETTINGS_SHORTCUT_VOLUME_UP":"Громче","SETTINGS_SHORTCUT_VOLUME_DOWN":"Тише","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Увеличить размер субтитров","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Уменьшить размер субтитров","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"величить задержку субтитров","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Уменьшить задержку субтитров","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Переключить боковую панель","SETTINGS_SHORTCUT_OR":"или","SETTINGS_SHORTCUT_TO":"в","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Аутентификация","SETTINGS_FACEBOOK_IMPORT":"Импорт","SETTINGS_CALENDAR_SUBSCRIBE":"Подписка","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Язык интерфейса","SETTINGS_LAUNCH_STARTUP":"Запуск при старте","SETTINGS_VLC_DEFAULT":"Воспроизвести в VLC","SETTINGS_UI_LANGUAGE":"Язык интерфейса","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Выход из полноэкранного режима клавишей Escape","SETTINGS_GAMEPAD":"Включить поддержку геймпада","SETTINGS_CLOSE_WINDOW":"Закрывать приложение, когда окно закрыто","SETTINGS_SUBTITLES_LANGUAGE":"Язык субтитров по умолчанию","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Размер субтитров по умолчанию","SETTINGS_SUBTITLES_BACKGROUND":"Фон субтитров","SETTINGS_SUBTITLES_COLOR":"Цвет субтитров","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Цвет контура субтитров","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Цвет фона субтитров","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Автовоспроизведение следующего эпизода","SETTINGS_NEXT_VIDEO":"Показывать уведомление перед началом следующего эпизода","SETTINGS_NEXT_VIDEO_TRIGGER":"Показывать уведомление о следующем эпизоде для:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Воспроизвести в фоновом режиме","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Воспроизвести во внешнем плеере","SETTINGS_RESIZE":"Автоизменение размера окна перед вопроизведением","SETTINGS_OVERRIDE_SERVER":"Переопределить URL-адрес сервера стриминга (дополнительно)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"URL-адрес стримингового сервера: ","SETTINGS_SERVER_AVAILABLE":"Стриминговый сервер доступен.","SETTINGS_SERVER_UNAVAILABLE":"Стриминговый сервер недоступен.","SETTINGS_SERVER_STATUS_ONLINE":"Онлайн","SETTINGS_SERVER_STATUS_ERROR":"Ошибка","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Размер кэша","SETTINGS_SERVER_TORRENT_PROFILE":"Профиль торрента","SETTINGS_HTTPS_ENDPOINT":"Конечная точка HTTPS-стриминга: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Всегда использовать последнюю бета-версию","SETTINGS_IMPORT_FB":"Импорт из Facebook","SETTINGS_IMPORT_DISK":"Импорт из локального диска","SETTINGS_IMPORT_TRAKT":"Импорт из Trakt","SETTINGS_PAUSE_MINIMIZED":"Приостановить воспроизведение при сворачивании","SETTINGS_HWDEC":"Декодирование с аппаратным ускорением","SETTINGS_BACKGROUND":"Фоновое воспроизведение","SETTINGS_SUBSCRIBE_CALENDAR":"Подписаться на календарь","SETTINGS_REQ_EXPORT":"Запросить экспорт данных","SETTINGS_ACC_DELETE":"Запросить удаление аккаунта","SETTINGS_CHANGE_PASSWORD":"Изменить пароль","SETTINGS_TOS":"Условия использования","SETTINGS_SUPPORT":"Связаться с поддержкой","SETTING_LANGUAGE":"Язык","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Выйти из Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Выйти из Trakt","SETTINGS_SCAN_FOR_REMOTE":"Отсканируйте QR-код, чтобы открыть удалённо","SETTINGS_DESKTOP_NOTIFICATIONS":"Уведомления на рабочем столе","SETTINGS_DATA_SAVER":"Экономия трафика","SETTINGS_LANGUAGE_INTERFACE":"интерфейс","SETTINGS_LANGUAGE_SUBS":"субтитры по умолчанию","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Автовыбор аудиодорожки","SETTINGS_DEFAULT_AUDIO_TRACK":"Аудиодорожка по умолчанию","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"аккаунт","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"версия","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Запускать плеер в отдельном окне (дополнительно)","SETTINGS_PLAY_IN_EXTERNAL":"Всегда запускать видео во внешнем плеере","SETTINGS_STORAGE_BUTTON":"Очистить локальное хранилище","SETTINGS_STORAGE_MODAL_TITLE":"Вы уверены?","SETTINGS_STORAGE_MODAL_MESSAGE":"Это очистит локальное хранилище и вы выйдете из приложения.","SETTINGS_HWDEC_PICKER":"Выберите настройку декодирования с аппаратным ускорением","SETTINGS_HW_AUTOMATIC":"Автоматически","SETTINGS_HW_DISABLED":"Отключено","SETTINGS_HW_ACCELERATED":"Ускорение декодирования","SETTINGS_HW_FULL":"Полное ускорение","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Аудио","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Использовать чёрный цвет фона","SUBSPICKER_VERTICAL_OFFSET":"Вертикальное смещение","SUBSPICKER_SIZE":"Размер","SUBSPICKER_DELAY":"Задержка","SUBSPICKER_EMBEDDED_SUBS":"Встроенные субтитры","MOBILE_PRIVACY_POLICY":"Политика конфиденциальности","MOBILE_CRASH_REPORTING":"Сообщение о сбоях","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"ПРОИЗВОДИТЕЛЬНОСТЬ И СТАБИЛЬНОСТЬ","MOBILE_SERVER_ONLINE":"Онлайн","MOBILE_SERVER_OFFLINE":"Офлайн","MOBILE_QR_EXPIRES":"Действие QR-кода истекает через ","MOBILE_LOG_INTO":"Войдите в ваш аккаунт Stremio ","MOBILE_SCAN_QR":"Отсканируйте QR-код выше или перейдите на ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Отмена","MOBILE_SPEEDPICKER_LABEL":"Выберите скорость воспроизведения","MOBILE_EMPTY_LIBRARY":"Ваша библиотека пуста","MOBILE_NO_ADDON_ACTIVE":"Дополнение Stremio не активно для этого типа.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"ещё загружается","MOBILE_ADDONS_LOADING":"дополнения ещё загружаются","MOBILE_ADDON":"Дополнение","MOBILE_CONFIGURE_ADDON":"Настройте ваше дополнение","MOBILE_CONFIGURE_ADDON_LABEL":"Настроить дополнение","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Отключить","MOBILE_LOOKING_FOR_DEVICES":"Поиск устройства...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Удалить аккаунт","NAVIGATION_ON":"Вкл.","NAVIGATION_OFF":"Выкл.","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Я согласен получать маркетинговые сообщения от Stremio","QUIT":"Выход!","CONNECTED":"Подключено","AUTHENTICATE":"Проверять подлинность","AUTHENTICATING":"Authenticating...","CACHING":"Кэширование","SETTINGS_CACHING_DRIVE":"Выберите диск кэширования","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Включить удалённые HTTPS-соединения","TORRENT_PROFILE":"Торрент-профиль","DATA_CACHING":"Кэширование данных","MAGNET_PARSING":"Парсинг магнет-ссылки","January":"Января","February":"Февраль","March":"Март","April":"Апрель","May":"Май","June":"Июнь","July":"Июль","August":"Август","September":"Сентябрь","October":"Октября","November":"Ноября","December":"Декабрь","Monday":"Понедельник","Tuesday":"Вторник","Wednesday":"Среда","Thursday":"Четверг","Friday":"Пятница","Saturday":"Суббота","Sunday":"Воскресенье","Action":"Боевик","Comedy":"Комедия","War":"Война","Family":"Семья","Animation":"Анимация","Adventure":"Приключения","Fantasy":"Фантазия","Crime":"Криминал","Mystery":"Таинственность","Romance":"Романтика","Drama":"Драма","Horror":"Ужасы","Thriller":"Триллеры","Sci-Fi":"Научная фантастика","Music":"Музыка","Biography":"Биография","Documentary":"Документальный","Sport":"Спорт","Musical":"Музыкальный","Western":"Вестерн","Film-Noir":"Нуар","News":"Новости","History":"История","Game-Show":"Игровое шоу","Reality-TV":"Реалити шоу","Talk-Show":"Ток-шоу","Film & Entertainment":"Кино и развлечения","Gaming":"Игры","From TV":"Из ТВ","Lifestyle":"Стиль жизни","Science & Education":"Наука и образование","Cooking & Health":"Готовка и здоровье","Beauty & Fashion":"Красота и мода","Sports":"Спорт","News & Politics":"Новости и политика","How-to & DIY":"Сделай сам","Tech":"Технологии","Automotive":"Автомобильный","Causes & Non-Profits":"Коммерческое и некоммерческое","Movies":"Кино","Uk Live Tv":"Прямой эфир в Великобритании","Fashion":"Мода","Business News Radio":"Радио о бизнес-новостях","Business Tv":"Бизнес ТВ","Cars & Auto":"Автомобили и авто","Comedy Radio":"Комедийное радио","Lifestyle Radio":"Радио об образе жизни","News Tv":"Новости ТВ","Food And Wine":"Еда и вино","Latino Tv":"Латинское ТВ","Shopping Tv":"Покупки ТВ","Religion":"Религия","Kids":"Дети","Body & Soul":"Тело и душа","Education":"Образование","Indian Tv":"Индийское ТВ","Extreme Sports":"Экстремальный спорт","Middle Eastern Tv":"Ближневосточное ТВ","Celebrity Tv":"Знаменитость ТВ","Science Tv":"Наука ТВ","Bikini babe":"Попки в бикини","Outdoors":"На открытом воздухе","German Tv":"Немецкое ТВ","French Tv":"Французское ТВ","Italian Tv":"Итальянское ТВ","Gamer Tv":"Геймерское ТВ","Travel":"Путешествия","Asian Tv":"Азиатское ТВ","Entertainment":"Развлечения","News Radio":"Новостное радио","Music Radio":"Музыкальное радио","Language Learning":"Изучение языков","Science Radio":"Научное радио","Tech Radio":"Техническое радио","Science & Technology Vod":"Наука и технологии VoD","new video":"новое видео","new episode":"новый эпизод","new movie":"новый фильм","recommended":"рекомендуемое","we recommend":"мы рекомендуем","offer of the day":"предложение дня","news":"новости","music video":"мызкальное видео","CTX_SHOW_HOTKEYS":"Показать горячие клавиши","CTX_DISMISS_NOTIF":"Игнорировать уведомления","CTX_DISMISS_ALL":"Отклонить все","CTX_SHARE":"Поделиться","CTX_COPY_SHARE_LINK":"Скопировать ссылку","CTX_COPY_MAGNET_LINK":"Скопировать магнитную ссылку","CTX_COPY_STREAM_LINK":"Скопировать ссылку на стрим","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Скачать видео","CTX_DOWNLOAD_SUBS":"Скачать субтитры","CTX_VIEW_ON_YOUTUBE":"Смотреть на YouTube","CTX_SHOW":"Показать","CTX_PLAY":"Вопроизвести","CTX_PLAY_IN":"Воспроизвести в","CTX_PLAY_ON":"Воспроизвести на","CTX_WATCH_ON":"Смотреть на","CTX_WATCH":"Смотреть","CTX_WATCHED":"Просмотрено","CTX_WATCH_BEGINNING":"Смотреть с начала","CTX_WATCH_MOBILE":"Смотреть на мобильном устройсте","CTX_REWIND":"Перемотать на начало","CTX_MARK_WATCHED":"Отметить как просмотренное","CTX_MARK_NON_WATCHED":"Отметить как непросмотренное","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Отметить остальное как просмотренное","CTX_UNMARK_REST":"Отметить остальное как непросмотренное","CTX_RECEIVE_NEW_NOTIF":"Получать новые уведомления","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Удалить из кэша","CTX_REMOVE_CACHE_EP":"Удалить эпизод из кэша","CTX_OPEN_CONTAINING":"Открыть папку с файлом","CTX_REMOVE":"Удалить из библиотеки","CTX_AVAILABLE_OFFLINE":"Доступно без интернета","CTX_PAUSED":"Остановлено","CTX_ALWAYS_ON_TOP":"Закреплено","CTX_FULLSCREEN":"Полный экран","CTX_WRONG_SUBS":"Некорректные субтитры","CTX_REPORT_ISSUES":"Сообщить о проблеме","CTX_COPY":"Копировать","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Вставить","CTX_CLEAR":"Очистить","CTX_CLEAR_RECENT_SEARCHES":"Очистить историю поисковых запросов","HELLO_THERE":"Привет","HOPE_YOU_ENJOY":"Надеемся, что вам нравится Stremio и это одно из ваших любимых приложений!","WHO_ARE_WE":"Кто мы? Мы — команда, стоящая за этим, — два парня, которые усердно работают каждый день в течение последних 3 лет с одной целью — делать этот продукт всё лучше и лучше.","SUPPORT_US":"Если вам нравится Stremio, если Stremio ценен для вас — расскажите об этом!","SPREAD_THE_WORD":"Поделитесь с друзьями прямо сейчас, расскажите о Streamio","MORE_PEOPLE":"Чем больше людей пользуются Streamio, тем лучше он становится","SEND_A_LINK":"Или отправьте ссылку на наш сайт","TIP_LOCALFILES":"Совет: вы можете перетаскивать локальные видеофайлы в Stremio.","ADDON_MY":"Мои дополнения","ADDON_COMMUNITY":"Дополнения от сообщества","ADDON_OFFICIAL":"Официальные дополнения","ADDON_REPOS":"Репозитории дополнений","ADDON_SEARCH":"Искать плагины","ADDON_INSTALL":"Установить","ADDON_CONFIGURE":"Настроить","ADDON_UNINSTALL":"Удалить","ADDON_UPGRADE":"Обновить","ADDON_INSTALLED":"Установлено","ADDON_INSTALLED_MSG":"Дополнение установлено!","ADDON_UPGRADED_MSG":"Дополнение обновлено!","ADDON_UNKNOWN":"Неизвестно","ADDON_ERR":"Ошибка установки дополнения!","ADDON_DISCONNECTED":"Отключено","ADDON_APP_MISSING":"приложение для этого источника не установлено. Вы хотите установить его сейчас?","ADDON_APP_INSTALL":"Установить","ADDON_PAGE":"Страница дополнения","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"provides","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Дополнение","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.
    This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.
    Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.
    Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"ОПИСАНИЕ","WEBSITE_LEARN_MORE":"Узнать больше","WEBSITE_COMPANY":"Компания","WEBSITE_CONTACTS":"Контакты","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Партнёры","WEBSITE_SLOGAN_WATCH":"Смотреть немедленно","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"Всё, что вы можете посмотреть","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Скачать сейчас","WEBSITE_DOWNLOAD_FOR":"Скачать сейчас для","WEBSITE_IS_DESKTOP":"Stremio — это настольное приложение, откройте эту страницу на своем ПК и скачайте его","WEBSITE_DESKTOP_DEMO_VID":"Демо","WEBSITE_PAGE_HOME":"Главная","WEBSITE_PAGE_FEATURES":"Возможности","WEBSITE_PAGE_ADDONS":"Дополнения","WEBSITE_PAGE_TECH":"Технологии","WEBSITE_PAGE_CREATE_ADDON":"Создать дополнение","WEBSITE_PAGE_CONTACTS":"Контакты","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Фильмы","WEBSITE_TYPE_series_PL":"Сериалы","WEBSITE_TYPE_tv":"В эфире","WEBSITE_TYPE_channel":"Каналы","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Нажмите и смотрите свои любимые фильмы, ТВ-шоу, видео и телеканалы.","WEBSITE_FEATURES_SUBS":"Автоматические субтитры","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio автоматически выбирает синхронизированные субтитры для вашего языка.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Импорт из Facebook","WEBSITE_LIB_LOCAL":"Добавить с локального диска","WEBSITE_BOARD":"Доска — ваше универсальное место для уведомлений и рекомендаций","WEBSITE_BOARD_RECOMMEND":"Рекомендуемое телешоу","WEBSITE_BOARD_TRENDING":"Популярный фильм","WEBSITE_BOARD_NEW":"Новое видео","WEBSITE_BOARD_EPISODE":"Новый эпизод","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"Новые видео из каналов YouTube","WEBSITE_BOARD_EPISODES":"Новые серии из сериалов, за которыми вы следите","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"Мы основные участники проекта","WEBSITE_TECH_ELECTRON":"Electron предоставляет инновационную платформу для создания Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Мы участники проекта","WEBSITE_TECH_LINVODB":"Технология базы данных, гарантирующая что ваши данные организованы и доступны везде, где вы входите в приложение.","WEBSITE_TECH_LINVODB_EXTRA":"Собственная технология","WEBSITE_CREATE_ADDON":"Создайте свое дополнение","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Заинтересованы? Вы можете связаться с нами.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Расскажите о Stremio:","WEBSITE_CONTACT":"Если вы хотите связаться с нами, перейдите по адресу","WEBSITE_OPENSOURCE":"Чтобы посмотреть наши проекты с открытым кодом, перейдите на","WEBSITE_BITCOIN":"Пожертвовать Bitcoin:","WEBSITE_FAQ":"Часто задаваемые вопросы","WEBSITE_FAQ_SHORT":"ЧЗВ","WEBSITE_QUESTIONS":"Вопросы","WEBSITE_TOS":"Условия использования","WEBSITE_LEGAL":"Юридическое","WEBSITE_PAGE_ABOUT":"О проекте","WEBSITE_PAGE_BECOME_PARTNER":"Стать партнером","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Что такое Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio — это универсальный центр видеоконтента. Находите, упорядочивайте и просматривайте видео из любых источников на любом устройстве, которое у вас есть.","WEBSITE_WHAT_IS_STREMIO_P2":"Фильмы, ТВ-шоу, сериалы, прямое телевидение или веб-каналы, такие как YouTube и Twitch.tv — все это вы можете найти на Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Фильмы, ТВ-передачи, прямые телепередачи или веб-каналы — все это можно найти на Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Наслаждайтесь этим на любых мультимедийных устройствах","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Импорт из Facebook","WEBSITE_DEVICES_LOCAL":"Добавить с локального диска","WEBSITE_JOIN_THE_PARTY_NOW":"Присоединяйтесь к тусовке","WEBSITE_DEVICES_ALL":"Легко использовать на всех ваших устройствах;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"О нас","WEBSITE_LINK_TECHNOLOGY":"Технологии","WEBSITE_LINK_APPS":"Приложения","WEBSITE_LINK_DOWNLOADS":"Скачать","WEBSITE_MORE":"Больше","WEBSITE_LINK_ADDONS":"Дополнения","WEBSITE_LINK_ADDON_SDK":"SDK дополнения","WEBSITE_LINK_CONTRIBUTE":"Участвовать","WEBSITE_LINK_COMMUNITY":"Сообщество","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"...и ещё","WEBSITE_LINK_HELP":"Центр помощи","WEBSITE_LINK_CONTACTS":"Контакты","WEBSITE_LINK_TOS":"Условия и положения","WEBSITE_LINK_PRAVACY":"Политика конфиденциальности","WEBSITE_SUBSCRIBE":"Подписаться","WEBSITE_NEWSLETTER":"Подпишитесь на нашу рассылку и получайте удивительные вещи","WEBSITE_PLACEHOLDER_EMAIL":"Ваша эл. почта","WEBSITE_COMMUNITY":"Сообщество","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Зачем нам это","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science.
    Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which do not play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a endpoint field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your endpoint as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a local cache to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the Cache setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},66031:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filmi","TYPE_series":"Serije","TYPE_tv":"TV kanali","TYPE_channel":"Kanali","TYPE_other":"Ostalo","TYPE_movie_PL":"Filmi","TYPE_series_PL":"Serije","TYPE_tv_PL":"TV kanali","TYPE_channel_PL":"Kanali","TYPE_other_PL":"Ostalo","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Nazaj","MORE":"Več","DONE":"Done","COPY":"Kopiraj","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Razišči","Board":"Plošča","Library":"Knjižnica","My Library":"Moja Knjižnica","Calendar":"Koledar","NOTIFICATION_ONLINE":"Sedaj si povezan","NOTIFICATION_OFFLINE":"Si trenutno nepovezan","INTERNET_CONNECTION":"Mrežna povezava","STORAGE_FULL_TITLE":"Opozorilo: Prostor je poln!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"iskanje","SEARCH_NO_RESULTS":"Ni rezultatov iskanja","SEARCH_EXPLANATION_CONTENT":"Išči filme, serije, YouTube in TV kanale","SEARCH_EXPLANATION_PEOPLE":"Išči igralce, režiserje in avtorje","SEARCH_PASTE_LINKS":"Kopiraj HTTP in Magnet linke","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Dodaj v knjižnico","REMOVE_FROM_LIB":"Odstrani iz knjižnice","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Napovednik","WATCH_TRAILER":"Predvajaj Napovednik","WATCH_NOW":"Glej sedaj","SHOW":"Show","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb Rating","YEAR":"Leto","DIRECTOR":"Režiser","WRITER":"Avtor","LEAD_ACTORS":"Glavni igralci","CAST":"Postava","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Objavljeno","SEASONS":"Sezone","GENRE":"Žanr","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Povzetek","SHOW_MORE":"Show More","SIMILAR":"Podobno","UPCOMING":"Prihajajoče","TBA":"TBA","ENDED":"Končano","DURATION":"Trajanje","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"išči video","SEARCH_PLACEHOLDER":"search or paste URL","ADDON":"dodatek","ADDONS":"Dodatki","OFFICIAL":"Glavni","ADDONS_OFFICIAL":"Glavni Stremio Dodatki","ADDONS_POPULAR":"Popularno v vašem področju","ADDON_FREE":"prosto","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"naročnina","ADDON_STREAM_GEORESTRICTED":"ni dostopno v vašem področju","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Dostopni Stream-i","NO_STREAM":"Ni dostopnih stream-ov","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Prikaži vse dodatke »","ADDON_CATALOGUE_MORE":"Več dodatkov »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons collection already exist","ADDON_REPO_ERR":"Error occurred while adding collection","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Cannot uninstall addon, it is protected","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection URL","ERR_NOT_ADDON_URL":"Not a valid addon URL","ERR_DETECTFROMURL":"Cannot find addon/collection from this URL","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Syncing installed addons to your account failed","SETTINGS_DATA_EXPORT":"Export user data","ADDON_PULL_FAILED":"Syncing installed addons from your account failed","REFRESH_ON_CLICK":"Click to retry","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Movie still in theaters","WATCH_IN_CINEMA":"Watch it in your local cinema","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.
    Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from local files, YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streaming from","CASTING_TO":"Casting to","NETWORK_STATUS":"Network status","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Waiting:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"loading...","PLAYING_LOCAL":"playing from local file","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Choose a device to watch on","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Tablica","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Podnapisi","SUBTITLES_CHANGE":"Change subtitles for ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles #{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use G / H keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use G / H keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Onemogočeno","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sezone","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Nanizanke","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"watched","SORT_YEAR":"year","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Novo Za Vas","New Episodes":"Nove Nanizanke","New Videos":"New Videos","Recommendations":"Priporočila","LIBRARY_RESUME":"Nadaljuj","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Podrobnosti","LIBRARY_RESUME_DISMISS":"Opusti","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar Winners","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonimni uporabnik","DONT_HAVE_ACC":"Nimate še računa?","HAVE_ACC":"Že imate račun?","PASSWORD":"Geslo","PASSWORD_CONFIRM":"Potrdi geslo","EMAIL":"E-mail","FB_LOGIN":"Nadaljuj z Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"or","I_ACCEPT":"Se strinjam z","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terms and Conditions","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Geslo se ne ujema","SIGN_UP":"Registracija","SIGN_UP_EMAIL":"Registracija z email naslovom","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Prijava","LOG_OUT":"Odjava","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"O Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Wrong email or password. In case you have forgotten your password, ","SET_A_PASS":"set a password","RESET_PASSWORD":"Reset password","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Activate this addon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Kaj je novega","BUTTON_CONTINUE":"Nadaljuj","BUTTON_ACTIVATE":"Aktiviraj","BUTTON_ACTIVATED":"Aktivirano","BUTTON_CANCEL":"Prekliči","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Opusti vse","BUTTON_VIEW_ALL":"pregled vseh","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications & recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series & movies to it:","IMPORT_FB":"Import things you like from Facebook","IMPORT_TRAKT":"Import your media library from Trakt","IMPORT_DISCOVER":"Find interesting stuff from Discover","IMPORT_DISK":"Import movies or shows you have on your local disk","PLEASE_CREATE_ACC":"Please create an account to enable Library sync & Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from Discover","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your local disk","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Nastavitve","SETTINGS_NAV_GENERAL":"Osnovno","SETTINGS_NAV_PLAYER":"Predvajalnik","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Zaženi ob zagon","SETTINGS_VLC_DEFAULT":"Predvajaj z VLC","SETTINGS_UI_LANGUAGE":"UI Jezik","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Jezik","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januar","February":"Februar","March":"Marec","April":"April","May":"Maj","June":"Junij","July":"Julij","August":"Avgust","September":"September","October":"Oktober","November":"November","December":"December","Monday":"Ponedeljek","Tuesday":"Torek","Wednesday":"Sreda","Thursday":"Četrtek","Friday":"Petek","Saturday":"Sobota","Sunday":"Nedelja","Action":"Akcije","Comedy":"Komedije","War":"Vojni","Family":"Družinski","Animation":"Animirani","Adventure":"Pustolovski","Fantasy":"Fantazijski","Crime":"Kriminalni","Mystery":"Mistični","Romance":"Romantični","Drama":"Drame","Horror":"Grozljivke","Thriller":"Trilerji","Sci-Fi":"Sci-Fi","Music":"Glazbeni","Biography":"Biografski","Documentary":"Dokumentarni","Sport":"Športni","Musical":"Mjuzikli","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Add-ons","ADDON_COMMUNITY":"Community Add-ons","ADDON_OFFICIAL":"Official Add-ons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search add-ons","ADDON_INSTALL":"Naloži","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Odstrani","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Naloženo","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.
    This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.
    Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.
    Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to contact us.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science.
    Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which do not play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a endpoint field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your endpoint as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a local cache to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the Cache setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},28189:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Филм","TYPE_series":"Серија","TYPE_tv":"ТВ канал","TYPE_channel":"Канал","TYPE_other":"Остало","TYPE_movie_PL":"Филмови","TYPE_series_PL":"Серије","TYPE_tv_PL":"ТВ канали","TYPE_channel_PL":"Канали","TYPE_other_PL":"Остало","TYPE_ALL":"Све","TYPE":"Врста","CATALOG_com_linvo_cinemeta_top":"Популарно","CATALOG_com_linvo_cinemeta_imdbRating":"Истакнуто","CATALOG_com_linvo_cinemeta_year":"Ново","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Филмови у јавном власништву","VIDEO":"Видео снимак","BACK":"Назад","MORE":"Више","DONE":"Готово","COPY":"Копирај","SUCCESS":"Успешно","ERROR":"Грешка","SETTINGS_CASTING_MODE_PICKER":"Режим пребацивања","CASTING_MODE_HLSV2":"Подразумевано","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Нема транскодирања","Discover":"Откриј","Board":"Табла","Library":"Збирка","My Library":"Моја збирка","Calendar":"Календар","NOTIFICATION_ONLINE":"Сада сте онлајн","NOTIFICATION_OFFLINE":"Тренутно сте офлајн","INTERNET_CONNECTION":"Мрежна веза","STORAGE_FULL_TITLE":"Упозорење: Меморија је пуна!","STORAGE_FULL_TEXT":"Stremio неће моћи да сачува ваша подешавања, преференце или информације за пријаву. Размислите о рестартовању или поновној инсталацији апликације Stremio.","SEARCH":"претрага","SEARCH_NO_RESULTS":"Нису пронађени резултати","SEARCH_EXPLANATION_CONTENT":"Претражите филмове, серије, YouTube и ТВ канале ","SEARCH_EXPLANATION_PEOPLE":"Претражите глумце, режисере и писце","SEARCH_PASTE_LINKS":"Налепите HTTP и магнет линкове","SEARCH_OR_PASTE_LINK":"Претражите или налепите линк","SEARCH_SUGGESTIONS":"Предлози за претрагу","ADD_TO_LIB":"Додај у збирку","REMOVE_FROM_LIB":"Уклони из збирке","ADDED_TO_LIB":"Додато у збирку","REMOVED_FROM_LIB":"Уклоњено из збирке","TRAILER":"Трејлер","WATCH_TRAILER":"Погледај трејлер","WATCH_NOW":"Погледај сада","SHOW":"Прикажи","SHOW_MOVIE":"Прикажи филм","WATCH_RANDOM":"Погледај насумично","IMDB_RATING":"IMDb оцена","YEAR":"Година","DIRECTOR":"Режисер","WRITER":"Писац","LEAD_ACTORS":"Главни глумци","CAST":"Глумци","CREW":"Екипа","SHOW_MORE_CAST":"Прикажи више »","AIRED":"Емитовано ","SEASONS":"Сезоне","GENRE":"Жанр","GENRE_ALL":"Сви жанрови","CATALOG":"Каталог","SUMMARY":"Резиме","SHOW_MORE":"Прикажи више","SIMILAR":"Слично","UPCOMING":"Предстојеће","TBA":"TBA","ENDED":"Завршено","DURATION":"Трајање","FEATURED":"Истакнуто","METADATA":"Метаподаци","CATEGORY":"категорија","LINKS_GENRES":"Жанрови","LINKS_CAST":"Глумци","LINKS_DIRECTORS":"Режисери","SEARCH_VIDEOS":"претражите видео снимке","SEARCH_PLACEHOLDER":"претражите или налепите URL","ADDON":"додатак","ADDONS":"Додаци","OFFICIAL":"званично","ADDONS_OFFICIAL":"Званични Stremio додаци","ADDONS_POPULAR":"Популарно у вашој области","ADDON_FREE":"бесплатно","ADDON_PEERED":"peer-овано","ADDON_SUBSCRIPTION":"претплата","ADDON_STREAM_GEORESTRICTED":"није доступно у вашој области","ADDON_STREAM_OFFLINECACHE":"Офлајн кеш","ADDON_STREAM_LOCALFILE":"Локални фајл","SHARE_ADDON":"Дели додатак","AVAILABLE_STREAMS":"Доступни стримови","NO_STREAM":"Нису пронађени стримови","ALL_ADDONS":"Све","INSTALL_MORE_ADDONS":"За више стримова, инсталирајте још додатака","STREAM_NOT_SUPPORTED":"Изабрани стрим није подржан на овој платформи.","ADDON_CATALOGUE":"Прикажи све додатке »","ADDON_CATALOGUE_MORE":"Инсталирај додатке","REPO_ADDED":"Репозиторијум је додат","ADDON_REPO_EXIST_ERR":"Ова колекција додатака већ постоји","ADDON_REPO_ERR":"Дошло је до грешке приликом додавања колекције","ADDON_ADD_ERR":"Дошло је до грешке приликом додавања додатка","ERR_ADDON_PROTECTED":"Није могуће деинсталирати додатак, заштићен је","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Дошло је до грешке – аутентификација можда није успела","ERR_NOT_COLLECTION_URL":"Није URL колекције","ERR_NOT_ADDON_URL":"Није важећи URL додатка","ERR_DETECTFROMURL":"Није могуће пронаћи додатак/колекцију са овог URL-а ","ADDON_DUPLICATE_WARNING":"Упозорење: дуплирани додатак","ADDON_COLLECTION_SET_FAILED":"Синхронизација инсталираних додатака са вашим налогом није успела","SETTINGS_DATA_EXPORT":"Извези корисничке податке","ADDON_PULL_FAILED":"Синхронизација инсталираних додатака са вашег налога није успела","REFRESH_ON_CLICK":"Кликните да бисте покушали поново","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Филм се још увек приказује у биоскопима","WATCH_IN_CINEMA":"Гледајте у свом локалном биоскопу","IN_THEATER":"У биоскопу","GET_TICKETS":"Набавите карте","UPCOMING_EPISODE":"Предстојећа епизода","UPCOMING_EPISODE_MESSAGE":"Ова епизода ће бити емитована","MISSING_DATE_EPISODE":"Недостаје датум епизоде","MISSING_DATE_EPISODE_MESSAGE":"Ова епизода можда још није емитована ","CHANNEL_NOT_SCRAPED":"Овај канал још није преписан.
    Вратите се за неколико минута.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Додајте га у своју збирку да бисте добили обавештење када буде доступан.","GET_NOTIFIED_WHEN_AVAILABLE":"Бићете обавештени када буде доступан.","WARNING_STREAMING_SERVER":"Упозорење: локални сервер за стримовање није пронађен. Стримовање из локалних фајлова, YouTube-а и BitTorrent-а неће бити доступно.","WARNING_STREAMING_SERVER_DISMISS":"Одбаци","WARNING_STREAMING_SERVER_LATER":"Касније","DECODER_WARNING":"Упозорење: овај видео снимак можда не подржава ваш хардвер. Имајте на уму да репродукција може бити спора.","GENERIC_ERROR_MESSAGE":"Дошло је до грешке!","TRY_AGAIN":"Покушај поново","CLEAR_DATA":"Очисти податке","PLAYER_ERROR":"Упс, грешка плејера","PLAYER_ERROR_LOOKSLIKE":"Изгледа да","PLAYER_ORIENTATION":"Оријентација плејера","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Закључано","PLAYER_ORIENTATION_SENSOR_SHORT":"Сензор","PLAYER_ORIENTATION_LANDSCAPE":"Оријентација плејера закључана у водоравном положају","PLAYER_ORIENTATION_SENSOR":"Аутоматска оријентација плејера (сензор)","PLAYER_PLAYBACK_SPEED":"Брзина репродукције","PLAYER_PLAYBACK_ERROR":"Грешка при репродукцији, покушајте поново","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Непозната грешка","PLAYER_PLAYBACK_ERROR_DEFAULT":"Жао нам је, {{productName}} не може да пусти овај видео снимак.","PLAYER_SUBTITLES_LANGUAGES":"Титлови језика","PLAYER_SUBTITLES_VARIANTS":"Варијанте титлова","PLAYER_SUBTITLES_SETTINGS":"Подешавања титлова","PLAYER_SUBTITLES_DISABLED":"Титлови су онемогућени","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Усправни положај","PLAYER_SUBTITLES_LOADED":"Титлови су учитани","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Уграђени титлови су учитани","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Ексклузивни титлови су учитани","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Учитани су титлови из {{origin}}","PLAYER_PLAY":"Пусти","PLAYER_PAUSE":"Паузирај","PLAYER_NEXT_VIDEO":"Следећи видео снимак","PLAYER_MUTE":"Искључи звук","PLAYER_UNMUTE":"Укључи звук","PLAYER_OPEN_IN_EXTERNAL":"Отвори у спољном плејеру","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Пусти на {{device}}","PLAYER_LIVE":"Уживо","PLAYER_NEXT_VIDEO_TITLE":"Следеће долази","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Одбаци","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Гледај сада","PLAYER_COPY_STREAM_SUCCESS":"Линк стрима је копиран у привремену меморију","PLAYER_COPY_STREAM_ERROR":"Копирање линка стрима није успело","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"стримовање из","CASTING_TO":"Пребацивање на","NETWORK_STATUS":"Статус мреже","STREAM_SPEED":"Брзина стрима:","STREAM_BUFFERED":"Баферовано:","PEERS_INFO":"Информације о peer-у","PEERS_ACTIVE":"Активно:","PEERS_CONNECTED":"Повезано:","PEERS_WAITING":"Чекање:","TRANSCODING_WARNING":"Упозорење: транскодирање видео снимка.","STREAM_LOADING":"учитавање...","PLAYING_LOCAL":"пуштање из локалног фајла","PLAYING_CACHE":"пуштање из кеша","WRONG_SUBS":"Погрешни титлови?","ERR_SUBS_LOADING_TITLE":"Грешка при учитавању титлова","ERR_SUBS_LOADING":"Учитавање титлова није успело: ово може бити проблем са додатком који користите или са вашом мрежном везом","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Следећи додаци титлова нису успели","ERR_CASTING_UPDATE_TITLE":"Није могуће ажурирати информације о уређају за пребацивање: сервер за стримовање је можда офлајн","CHOOSE_DEVICE":"Избор уређаја за гледање","NO_CAST_DEVICES":"Нема доступних уређаја за пребацивање.","NO_SETTINGS":"Нема доступних подешавања.","NO_OPTIONS":"No options available","PHONE_TABLET":"Телефон / Таблет","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Титлови","SUBTITLES_CHANGE":"Промените титлове за ","SUBTITLES_CHANGE_NONE":"Нема других титлова за овај језик, извините.","SUBTITLES_CHANGE_ACIVE":"Тренутно су титлови #{{subtitlesDialog.activeIdx + 1}} активирани. Кликните на „Настави” да бисте активирали титлове #{{subtitlesDialog.pickedIdx + 1}}. ","SUBTITLES_OR":"Алтернативно,","SUBTITLES_ADJUST_DELAY":"Подесите кашњење титлова:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Или користите тастере G / H током пуштања да бисте прилагодили.","SUBTITLES_ADJUST_DELAY_TIP":"САВЕТ: можете да користите тастере G / H током пуштања да бисте подесили.","SUBTITLES_DELAY":"Кашњење титлова:","SUBTITLES_LOADING":"Учитавање титлова...","SUBTITLES_UNAVAILABLE":"Нема доступних спољних титлова","SUBTITLES_DISABLED":"Онемогућено","EXTERNAL_PLAYER_DISABLED":"Онемогућено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Дозволи бирање","EXTERNAL_PLAYER_HINT":"Савет: Постоји подешавање којим можете дозволити стално отварање са спољним плејером","DONT_SHOW_AGAIN":"Не приказуј поново","SERVICE_INSTALL":"Инсталирај","AUDIO":"Аудио","DEFAULT_LANGUAGE":"Подразумевани језик","DEFAULT_SECONDARY_LANGUAGE":"Подразумевани други језик","SEASON":"Сезона","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Епизода","EPISODE_ABBREVIATION":"ЕП","SPECIAL":"Специјал","SORT":"сортирање","SORT_BY":"Сортирати по","FILTER":"филтер","SORT_TRENDING":"у тренду","SORT_RECENT":"недавно","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"оцена","SORT_WATCHED":"одгледано","SORT_YEAR":"година","SELECT":"Select","SELECT_TYPE":"Избор врсте","SELECT_SORT":"Избор сортирања","SELECT_CATALOG":"Избор каталога","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Избор жанра","SORT_LASTWATCHED":"По последњем гледању","SORT_NAME":"По имену","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"По броју гледања","SORT_NOTWATCHED":"неодгледано","New for You":"Ново за вас","New Episodes":"Нове епизоде","New Videos":"Нови видео снимци","Recommendations":"Препоруке","LIBRARY_RESUME":"Настави","LIBRARY_PLAY":"Пусти","LIBRARY_DETAILS":"Детаљи","LIBRARY_RESUME_DISMISS":"Одбаци","LIBRARY_CLEAR_PROGRESS":"Очисти напредак","LIBRARY_REMOVE":"Уклони","LIBRARY_NOT_LOGGED_IN":"Збирка је доступна само пријављеним корисницима","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Календар је доступан само пријављеним корисницима","NOT_LOGGED_IN_CLOUD":"Приступите својим омиљеним филмовима и серијама било када, било где","NOT_LOGGED_IN_RECOMMENDATIONS":"Препоруке прилагођене вашој историји гледања","NOT_LOGGED_IN_NOTIFICATIONS":"Никада више не пропустите ниједну епизоду","NOT_LOGGED_IN_CALENDAR":"Закажите свој лични календар гледања","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Истакнуто","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Добитници Оскара","DISCOVER_WARNING_TITLE":"Упс!","DISCOVER_EMPTY_CATALOG":"Овај додатак је вратио празан садржај.","DISCOVER_ADULT_WARNING":"Садржај је видљив само одраслима. Имате ли 18 година?","DISCOVER_NOADDON_WARNING":"Упозорење: није активан Stremio додатак за ову врсту. Приказују се сачуване ставке, ништа се овде неће ажурирати.","DISCOVER_LOAD_ERR":"Садржај се није учитао, дошло је до грешке.","DISCOVER_ADDON_UNINSTALLED":"Овај садржај више није доступан, можда сте деинсталирали додатак.","UNINSTALL_THIS_ADDON":"Деинсталирај овај додатак ","ERR_ADDON_NOT_INSTALLED":"Овај додатак није инсталиран. Инсталирати сада?","DETAIL_RECEIVE_NOTIF_SERIES":"Примање обавештења о новим епизодама","DETAIL_RECEIVE_NOTIF_VIDEOS":"Примање обавештења о новим видео снимцима","SIDEBAR_SHOW_STREAMS":"Прикажи стримове","RELAUNCH":"Поново покренути сада!","UPGRADE":"Нова верзија је доступна! Надоградите на најновију верзију апликације Stremio","RELOAD_UI":"Поново учитати кориснички интерфејс","MANUAL_UPDATE_TITLE":"Ажурирај своју Stremio верзију","MANUAL_UPDATE_LINE1":"Користите застарелу Stremio верзију, која је веома непрепоручљива.","MANUAL_UPDATE_LINE2":"Ажурирајте што је пре могуће.","BUTTON_UPDATE_LATTER":"Не сада","BUTTON_UPDATE_NOW":"Ажурирај","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Анонимни корисник","DONT_HAVE_ACC":"Немате налог?","HAVE_ACC":"Већ имате налог?","PASSWORD":"Лозинка","PASSWORD_CONFIRM":"Потврдите лозинку","EMAIL":"Имејл","FB_LOGIN":"Настави са Facebook-ом","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Ништа се не дели без ваше дозволе","FB_NOPOST":"Нећемо постављати ништа у ваше име","OR":"или","I_ACCEPT":"Прихватам","I_ACCEPT_BY_CLICKING":"Кликом на горње дугме сведочим да прихватам ","TOS":"Услови и одредбе","MUST_ACCEPT_TERMS":"Морате прихватити услове","PASSWORDS_NOMATCH":"Лозинке се не подударају","SIGN_UP":"Региструј се","SIGN_UP_EMAIL":"Региструј се путем имејла","CLICK_TO_SIGN_UP":"Кликните овде да се бисте се регистровали.","LOG_IN":"Пријави се","LOG_OUT":"Одјави се","EXIT_FULLSCREEN":"Изађи из режима целог екрана","ENTER_FULLSCREEN":"Уђи у режим целог екрана","PLAY_URL_MAGNET_LINK":"Пусти URL/магнет линк","HELP_FEEDBACK":"Помоћ и повратне информације","TERMS_OF_SERVICE":"Услови коришћења","PRIVACY_POLICY":"Политика приватности","ABOUT_STREMIO":"О нама","USER_PANEL":"Кориснички панел","LOGIN_LABEL":"Пријави се","GUEST_LOGIN":"Пријави се као гост","GUEST_LOGIN_NOTICE":"Пријављивање као гост није препоручено. Коришћење регуларног пријављивања омогућава апликацији Stremio да синхронизује вашу збирку, прима обавештења за омиљене серије/канале. Желите ли заиста да наставите?","GUEST_LOGIN_NOTICE_2":"Пријављивање као гост није препоручено - нећете имати синхронизована обавештења збирке и табле, што су виталне функције апликације Stremio. Желите ли заиста да наставите?","CLICK_HERE":"кликни овде","WRONG_PASSWORD":"Погрешан имејл или лозинка. У случају да сте заборавили лозинку, ","SET_A_PASS":"поставите лозинку","RESET_PASSWORD":"Ресетуј лозинку","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Заборавили сте лозинку?","EMAIL_USED_WITH_FB":"Овај имејл је коришћен са Facebook пријавом.","INVALID_EMAIL":"Унесите исправну имејл-адресу","INVALID_PASSWORD":"Унесите исправну лозинку","CONN_ERR":"Мрежна грешка - покушајте поново касније.\\n\\nАко се ово настави, онемогућите заштитне зидове/антивирусни софтвер (нарочито Bitdefender). ","IMPORT_FROM_GUEST":"Увоз збирки са налога за госте","RECEIVE_UPDATES_EMAIL":"Примање ажурирања на свом имејлу од апликације Stremio","LOGIN_FAILED":"Пријава није успела.","SIGNUP_FAILED":"Регистрација није успела.","SEARCH_FAILED":"Претрага није успела.","EMAIL_USED":"Овај имејл је већ у употреби.","WAITING_FB_LOGIN":"Пријављивање са Facebook-ом...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Пуштање у спољном плејеру","EXTERNAL_REMEMBER_PLAYER":"Желите ли да запамтите свој избор?","EXTERNAL_ALWAYS_PLAY":"Да","EXTERNAL_ONLY_ONCE":"Не","BEST_FIT":"Најбоље уклапање","FIT_SCREEN":"Уклопљен екран","FILL":"Попуњено","16:9":"16:9","4:3":"4:3","Original":"Оригинално","INTRO_TASTE":"Реците нам шта волите","INTRO_TASTE_LONG":"Реците нам шта бисте желели да гледате","INTRO_TASTE_PICK":"Изаберите {{interestsRemaining}} интересовања ","INTRO_TASTE_PICK_MORE":"Изаберите још {{interestsRemaining}} интересовања","INTRO_TASTE_HELP_US":"Помозите нам да сазнамо више о вама.","INTRO_TASTE_CHOOSE_THESE":"Изаберите неке од ових:","INTRO_TASTE_CHOOSE_MIN":"Изаберите најмање 3 категорије","INTRO_TASTE_CHOOSE_MIN_ERR":"Морате изабрати најмање 3 категорије!","INTRO_TASTE_LIFESTYLE":"Животни стил","INTRO_TASTE_SPORTS":"Спортови","INTRO_TASTE_FOOD_HEALTH":"Храна и здравље","INTRO_TASTE_BEAUTY_FASHION":"Лепота и мода","INTRO_TASTE_NEWS":"Вести","INTRO_TASTE_GAMING":"Видео игре","INTRO_TASTE_SCIENCE_EDU":"Наука и образовање","INTRO_TASTE_MUSIC":"Музика","INTRO_TASTE_TRAVEL":"Путовања","INTRO_TASTE_LATE_NIGHT":"Касноноћна емисија","INTRO_TASTE_REALITY":"Ријалити","INTRO_TASTE_COMEDY":"Комедија","INTRO_TASTE_DIY":"Уради сам","INTRO_TASTE_TECH":"Технологија","INTRO_TASTE_CINEMA":"Биоскоп","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Изабрани додатак није подржан на овој платформи.","ADDON_DISCLAIMER":"Коришћење додатака трећих страна увек ће бити предмет ваше одговорности и важећег закона јурисдикције у којој се налазите.","ADDON_ACTIVATE":"Активирати овај додатак?","ADDON_REPO_ADD":"URL колекције додатка","ADDON_ADD":"Додај","INSTALL_ADDON":"Инсталирај додатак","ADD_ADDON":"Додај додатак","ADD_ADDON_DESCRIPTION":"Додатак можете додати преко спољног линка, који ће се појавити под „Инсталирани додаци”.","PASTE_ADDON_URL":"Налепите URL додатка","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Шта је ново","BUTTON_CONTINUE":"Настави","BUTTON_ACTIVATE":"Aктивирај","BUTTON_ACTIVATED":"Aктивирано","BUTTON_CANCEL":"Откажи","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Пошаљи","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Одбаци све","BUTTON_VIEW_ALL":"Погледај све","BUTTON_SEE_ALL":"Види све","BUTTON_COLOR_TRANSPARENT":"Прозирно","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Отвори у прегледачу","LIB_EMPTY":"Ваша збирка изгледа празно. Сазнајте колико је она корисна :) ","HOW_START":"Ево како можете да почнете:","LIB_EMPTY_CAL":"Ваш календар приказује серије у вашој збирци.","HOW_START_CAL":"Ево како можете да додате серије:","LIB_EMPTY_BOARD":"Табла приказује обавештења и препоруке у вези са вашом збирком.","HOW_START_BOARD_WAIT":"Додајте неколико серија или канала у своју збирку и дајте нам неколико минута да обрадимо :)","HOW_START_BOARD":"Ево како можете да додате серије и филмове:","IMPORT_FB":"Увезите ствари које волите са Facebook-а","IMPORT_TRAKT":"Увезите своју медијску збирку са Trakt-а","IMPORT_DISCOVER":"Пронађите занимљиве ствари у одељку Откриј","IMPORT_DISK":"Увезите филмове или серије које имате на локалном диску","PLEASE_CREATE_ACC":"Направите налог да бисте омогућили синхронизацију збирке и табле.","IMPORT_DISCOVER_SIGNUP":"Региструјте се и пронађите занимљиве ствари у одељку Откриј ","IMPORT_DISK_SIGNUP":"Региструјте се и увезите филмове или серије које имате на локалном диску ","LIB_EMPTY_CLOUD":"Клауд збирка","LIB_EMPTY_CLOUD_DESC":"Лична клауд збирка је синхронизована на свим уређајима","LIB_EMPTY_EARLY":"Раноранилац","LIB_EMPTY_EARLY_DESC":"Примајте обавештења о новим епизодама ","LIB_EMPTY_PERSONAL":"Лично","LIB_EMPTY_PERSONAL_DESC":"Добијајте личне препоруке","LIB_EMPTY_CALENDAR_DESC":"Закажите свој лични календар гледања","LIB_EMPTY_ALL":"Региструјте се да бисте добили све ово:","LIB_EMPTY_BEST":"Региструјте се да бисте најбоље искористили Stremio","LIB_EMPTY_OTHER":"Региструјте се да бисте омогућили календар и друге сјајне функције","CALENDAR_ADDED":"Stremio календар је додат вашем подразумеваном календару на десктопу.","CALENDAR_ADDED_MSG":"Ако ово не функционише, додајте овај URL ручно у апликацију календара","TRAKT_EXPIRED":"Trakt аутентификација је истекла, идите у подешавања и поново се аутентификујте","TRAKT_REQUIRES_LOGIN":"Trakt грешка","TRAKT_REQUIRES_LOGIN_MSG":"Морате се пријавити","TRAKT_IMPORT_WATCHED":"Увоз","THEME":"Тема","THEME_DEFAULT":"Подразумевана","THEME_ADAPTIVE":"Адаптивна","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Подешавања","SETTINGS_NAV_GENERAL":"Опште","SETTINGS_NAV_PLAYER":"Плејер","SETTINGS_NAV_STREAMING":"Стримовање","SETTINGS_NAV_SHORTCUTS":"Пречице","SETTINGS_SHORTCUT_RELOAD_APP":"Поновно учитавање апликације","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Отварање подешавања","SETTINGS_SHORTCUT_SWITCH_TABS":"Промена картица","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Прелазак кроз картице унапред","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Прелазак кроз картице уназад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Кретање између менија","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Одлазак на претрагу","SETTINGS_SHORTCUT_EXIT_BACK":"Излаз / Одлазак назад","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Укључивање менија за брзину репродукције","SETTINGS_SHORTCUT_MENU_VIDEOS":"Укључивање менија за видео снимке","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Укључивање менија за титлове","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Укључивање менија за информације","SETTINGS_SHORTCUT_FULLSCREEN":"Укључивање целог екрана","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Приказ контрола","SETTINGS_SHORTCUT_PLAY_PAUSE":"Пуштање / Паузирање","SETTINGS_SHORTCUT_VOLUME_UP":"Појачавање јачине звука","SETTINGS_SHORTCUT_VOLUME_DOWN":"Смањивање јачине звука","SETTINGS_SHORTCUT_SEEK_NEXT":"Тражење следећег","SETTINGS_SHORTCUT_SEEK_PREV":"Тражење претходног","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Тражење уназад","SETTINGS_SHORTCUT_SEEK_FORWARD":"Тражење унапред","SETTINGS_SHORTCUT_PLAY_NEXT":"Пуштање следећег","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Повећавање величине титлова","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Смањивање величине титлова","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Повећавање кашњења титлова","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Смањивање кашњења титлова","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Укључивање бочне траке","SETTINGS_SHORTCUT_OR":"или","SETTINGS_SHORTCUT_TO":"до","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Аутентификуј","SETTINGS_FACEBOOK_IMPORT":"Увоз","SETTINGS_CALENDAR_SUBSCRIBE":"Претплати се","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Језик интерфејса","SETTINGS_LAUNCH_STARTUP":"Покрени на почетку","SETTINGS_VLC_DEFAULT":"Пусти помоћу VLC-а ","SETTINGS_UI_LANGUAGE":"Језик корисничког интерфејса","SETTINGS_UI_ZOOM":"Зумирање интерфејса","SETTINGS_FULLSCREEN_EXIT":"Тастер Escape за излаз из целог екрана","SETTINGS_GAMEPAD":"Омогући подршку за гејмпед","SETTINGS_CLOSE_WINDOW":"Затвори апликацију када је прозор затворен","SETTINGS_SUBTITLES_LANGUAGE":"Подразумевани језик титлова","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Подразумевана величина титлова","SETTINGS_SUBTITLES_BACKGROUND":"Позадина титлова","SETTINGS_SUBTITLES_COLOR":"Боја титлова","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Боја оквира титлова","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Боја позадине титлова","SETTINGS_SEEK_KEY":"Тастери са стрелицама траже време","SETTINGS_SEEK_KEY_SHIFT":"Тастери са стрелицама траже време када се држи тастер Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Трајање брзог премотавања уназад и унапред","SETTINGS_BINGE":"Аутоматски пусти следећу епизоду","SETTINGS_NEXT_VIDEO":"Прикажи обавештење за почетак следеће епизоде","SETTINGS_NEXT_VIDEO_TRIGGER":"Прикажи обавештење о следећој епизоди за:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Трајање искачућег прозора за следећи видео снимак","SETTINGS_PLAY_IN_BACKGROUND":"Пусти у позадини","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Пусти у спољном плејеру","SETTINGS_RESIZE":"Аутоматска промена величине прозора пре пуштања","SETTINGS_OVERRIDE_SERVER":"Замена URL-а сервера за стримовање (напредно)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"URL сервера за стримовање: ","SETTINGS_SERVER_AVAILABLE":"Сервер за стримовање је доступан.","SETTINGS_SERVER_UNAVAILABLE":"Сервер за стримовање није доступан.","SETTINGS_SERVER_STATUS_ONLINE":"Онлајн","SETTINGS_SERVER_STATUS_ERROR":"Грешка","SETTINGS_SERVER_CONFIGURE_TITLE":"Конфигурација URL-а сервера за стримовање","SETTINGS_SERVER_CONFIGURE_INPUT":"Унесите URL сервера за стримовање ","SETTINGS_SERVER_CACHE_SIZE":"Величина кеша","SETTINGS_SERVER_TORRENT_PROFILE":"Торент профил","SETTINGS_HTTPS_ENDPOINT":"Стримовање HTTPS крајње тачке: ","SETTINGS_TRANSCODE_PROFILE":"Транскод профила","SETTINGS_USE_BETA":"Увек користи најновију бета верзију","SETTINGS_IMPORT_FB":"Увоз са Facebook-а","SETTINGS_IMPORT_DISK":"Увоз са локалног диска","SETTINGS_IMPORT_TRAKT":"Увоз са Trakt-а","SETTINGS_PAUSE_MINIMIZED":"Паузирај репродукцију када је минимизирано","SETTINGS_HWDEC":"Хардверски убрзано декодирање","SETTINGS_BACKGROUND":"Позадинска репродукција","SETTINGS_SUBSCRIBE_CALENDAR":"Претплати се на календар","SETTINGS_REQ_EXPORT":"Затражи извоз података","SETTINGS_ACC_DELETE":"Затражи брисање налога","SETTINGS_CHANGE_PASSWORD":"Промени лозинку","SETTINGS_TOS":"Услови коришћења","SETTINGS_SUPPORT":"Контактирај подршку","SETTING_LANGUAGE":"Језик","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt скробовање","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Одјави се са Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Одјави се са Trakt-а","SETTINGS_SCAN_FOR_REMOTE":"Скенирај QR кôд за даљинско отварање","SETTINGS_DESKTOP_NOTIFICATIONS":"Обавештења десктопа","SETTINGS_DATA_SAVER":"Уштеда података","SETTINGS_LANGUAGE_INTERFACE":"интерфејс","SETTINGS_LANGUAGE_SUBS":"подразумевани титлови","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Аутоматски избор аудио снимка","SETTINGS_DEFAULT_AUDIO_TRACK":"Подразумевани аудио снимак","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Просторни звук","SETTINGS_ACCOUNT":"налог","SETTINGS_PLATFORM":"Платформа","SETTINGS_VERSION":"верзија","SETTINGS_ABOUT":"О апликацији","SETTINGS_MPV_WINDOW":"Покретање плејера у посебном прозору (напредно)","SETTINGS_PLAY_IN_EXTERNAL":"Увек покрени видео снимак у спољном плејеру","SETTINGS_STORAGE_BUTTON":"Очисти локалну меморију","SETTINGS_STORAGE_MODAL_TITLE":"Да ли сте сигурни?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ово ће очистити локалну меморију и одјавити вас.","SETTINGS_HWDEC_PICKER":"Избор подешавања за хардверски убрзано декодирање","SETTINGS_HW_AUTOMATIC":"Аутоматски","SETTINGS_HW_DISABLED":"Онемогућено","SETTINGS_HW_ACCELERATED":"Убрзање декодирања","SETTINGS_HW_FULL":"Потпуно убрзање","SETTINGS_HW_LEGACY":"Застарело","SETTINGS_DISABLED":"Онемогућено","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Обавештење о мрежној вези","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Удаљени URL","SETTINGS_COPY_REMOTE_URL":"Копирај удаљени URL","SETTINGS_REMOTE_URL_COPIED":"Удаљени URL је копиран у привремену меморију","SETTINGS_SECTION_SUBTITLES":"Титлови","SETTINGS_SECTION_AUDIO":"Аудио снимак","SETTINGS_SECTION_CONTROLS":"Контроле","SETTINGS_SECTION_AUTO_PLAY":"Аутоматско пуштање","SETTINGS_SECTION_ADVANCED":"Напредно","SUBSPICKER_AUDIO":"Аудио снимак","SUBSPICKER_SUBTITLES":"Титлови додатака","SUBSPICKER_BLACK_BACKGROUND":"Користи црну боју позадине","SUBSPICKER_VERTICAL_OFFSET":"Вертикални помак (офсет)","SUBSPICKER_SIZE":"Величина","SUBSPICKER_DELAY":"Кашњење","SUBSPICKER_EMBEDDED_SUBS":"Уграђени титлови","MOBILE_PRIVACY_POLICY":"Политика приватности","MOBILE_CRASH_REPORTING":"Извештавање о отказивању","MOBILE_ZOOM_TO_FILL":"Зумирај да попуниш екран","MOBILE_PASSTHROUGH":"Дигитални излаз аудио снимка (пролазни)","MOBILE_RUN_LOW_BATTERY":"Покрени на празној батерији","MOBILE_RUN_FOREGROUND":"Покрени као услугу у првом плану","MOBILE_PERFORMANCE":"ПЕРФОРМАНСЕ И СТАБИЛНОСТ","MOBILE_SERVER_ONLINE":"Онлајн","MOBILE_SERVER_OFFLINE":"Офлајн","MOBILE_QR_EXPIRES":"QR кôд истиче за ","MOBILE_LOG_INTO":"Пријавите се на свој Stremio налог ","MOBILE_SCAN_QR":"Скенирајте QR кôд изнад или идите на ","MOBILE_LINK_ACCOUNT":"Повежите налог","MOBILE_SPEEDPICKER_CANCEL":"Откажи","MOBILE_SPEEDPICKER_LABEL":"Изаберите брзину репродукције","MOBILE_EMPTY_LIBRARY":"Ваша збирка је празна","MOBILE_NO_ADDON_ACTIVE":"Ниједан Stremio додатак није активан за ову врсту.","MOBILE_ORGANIZER_WARNING":"Апликација Stremio Organizer пружа ограничену функционалност. За листу стримова за репродукцију и потпуно Stremio искуство, користите Stremio на десктоп рачунару.","MOBILE_ADDON_LOADING":"још увек се учитава","MOBILE_ADDONS_LOADING":"додаци се још увек учитавају","MOBILE_ADDON":"Додатак","MOBILE_CONFIGURE_ADDON":"Конфигуришите свој додатак","MOBILE_CONFIGURE_ADDON_LABEL":"Конфигуриши додатак","MOBILE_ORGANIZER_ADDONS_WARNING":"Апликација Stremio Organizer пружа ограничен избор додатака. За потпуно Stremio искуство, користите Stremio на десктоп рачунару.","MOBILE_DISCONNECT":"Прекини везу","MOBILE_LOOKING_FOR_DEVICES":"Тражење уређаја...","MOBILE_CAST_TO":"Пребацујте на","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Избриши налог","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Брисање налога се неће извршити одмах због законских обавеза. Након што затражите брисање вашег налога, мораћете да користите другу имејл-адресу/Facebook профил да бисте у будућности креирали нови Stremio налог.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Потврди брисање налога","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ваш налог је креиран помоћу Facebook-а. Да бисте избрисали свој налог, користите наш кориснички портал на www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Унесите своју лозинку да бисте потврдили брисање налога.","MOBILE_DELETE_ACCOUNT_BUTTON":"Избриши налог","NAVIGATION_ON":"Укључено","NAVIGATION_OFF":"Искључено","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Слажем се да примам маркетиншке поруке од апликације Stremio","QUIT":"Напусти","CONNECTED":"Повезано","AUTHENTICATE":"Аутентификуј","AUTHENTICATING":"Authenticating...","CACHING":"Кеширање","SETTINGS_CACHING_DRIVE":"Диск за кеширање","ENABLE_LOCAL_FILES_ADDON":"Омогућите додатак за локалне фајлове (захтева поновно покретање)","LOCAL_ADDON_NOT_ENABLED":"Локални додатак није омогућен. Кликните овде да бисте отишли у подешавања и омогућили га.","ENABLE_REMOTE_HTTPS_CONN":"Омогућите удаљене HTTPS везе","TORRENT_PROFILE":"Торент профил","DATA_CACHING":"Кеширање података","MAGNET_PARSING":"Рашчлањивање магнет линка","January":"Јануар","February":"Фебруар","March":"Март","April":"Април","May":"Мај","June":"Јун","July":"Јул","August":"Август","September":"Септембар","October":"Октобар","November":"Новембар","December":"Децембар","Monday":"Понедељак","Tuesday":"Уторак","Wednesday":"Среда","Thursday":"Четвртак","Friday":"Петак","Saturday":"Субота","Sunday":"Недеља","Action":"Акциони","Comedy":"Комедија","War":"Ратни","Family":"Породични","Animation":"Анимирани","Adventure":"Авантуристички","Fantasy":"Фантастични","Crime":"Криминалистички","Mystery":"Мистерија","Romance":"Љубавни","Drama":"Драма","Horror":"Хорор","Thriller":"Трилер","Sci-Fi":"Научно-фантастични","Music":"Музика","Biography":"Биографски","Documentary":"Документарни","Sport":"Спортски","Musical":"Мјузикл","Western":"Вестерн","Film-Noir":"Филм ноар (црни филм)","News":"Вести","History":"Историјски","Game-Show":"Телевизијска игра","Reality-TV":"Ријалити-ТВ","Talk-Show":"Ток-шоу (спонтани разговор)","Film & Entertainment":"Филм и забава","Gaming":"Видео игре","From TV":"Са ТВ-а","Lifestyle":"Животни стил","Science & Education":"Наука и образовање","Cooking & Health":"Кување и здравље","Beauty & Fashion":"Лепота и мода","Sports":"Спортови","News & Politics":"Вести и политика","How-to & DIY":"Како да и уради сам","Tech":"Технологија","Automotive":"Аутомобилски","Causes & Non-Profits":"Узроци и непрофитне организације","Movies":"Филмови","Uk Live Tv":"УК ТВ уживо ","Fashion":"Мода","Business News Radio":"Радио са бизнис вестима","Business Tv":"Бизнис ТВ ","Cars & Auto":"Аутомобили","Comedy Radio":"Радио комедија ","Lifestyle Radio":"Радио животног стила","News Tv":"Вести ТВ","Food And Wine":"Храна и вино","Latino Tv":"Латино ТВ","Shopping Tv":"Шопинг ТВ","Religion":"Религија","Kids":"Деца","Body & Soul":"Тело и душа","Education":"Образовање","Indian Tv":"Индијска ТВ","Extreme Sports":"Екстремни спортови","Middle Eastern Tv":"Блискоисточна ТВ ","Celebrity Tv":"ТВ познате личности","Science Tv":"Научна ТВ","Bikini babe":"Бикини душа","Outdoors":"На отвореном простору","German Tv":"Немачка ТВ","French Tv":"Француска ТВ","Italian Tv":"Италијанска ТВ","Gamer Tv":"Гејмерска ТВ","Travel":"Путовања","Asian Tv":"Азијска ТВ","Entertainment":"Забава","News Radio":"Радио са вестима","Music Radio":"Музички радио","Language Learning":"Учење језика","Science Radio":"Научни радио","Tech Radio":"Технолошки радио","Science & Technology Vod":"Научни и технолошки VOD","new video":"нови видео снимак","new episode":"нова епизода","new movie":"нови филм","recommended":"препоручено","we recommend":"препоручујемо","offer of the day":"понуда дана","news":"вести","music video":"музички видео снимак","CTX_SHOW_HOTKEYS":"Прикажи пречице","CTX_DISMISS_NOTIF":"Одбаци обавештења","CTX_DISMISS_ALL":"Одбаци све","CTX_SHARE":"Дели","CTX_COPY_SHARE_LINK":"Копирај линк за дељење","CTX_COPY_MAGNET_LINK":"Копирај магнет линк","CTX_COPY_STREAM_LINK":"Копирај линк стрима","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Преузми овај видео снимак","CTX_DOWNLOAD_SUBS":"Преузми титлове","CTX_VIEW_ON_YOUTUBE":"Погледај на YouTube-у","CTX_SHOW":"Прикажи","CTX_PLAY":"Пусти","CTX_PLAY_IN":"Пусти у","CTX_PLAY_ON":"Пусти на","CTX_WATCH_ON":"Гледај на","CTX_WATCH":"Гледај","CTX_WATCHED":"Одгледано","CTX_WATCH_BEGINNING":"Гледај од почетка","CTX_WATCH_MOBILE":"Гледај на мобилном телефону","CTX_REWIND":"Премотај на почетак","CTX_MARK_WATCHED":"Означи као одгледано","CTX_MARK_NON_WATCHED":"Означи као неодгледано","CTX_MARK_UNWATCHED":"Означи као неодгледано","CTX_MARK_REST":"Означи остало као одгледано","CTX_UNMARK_REST":"Означи остало као неодгледано","CTX_RECEIVE_NEW_NOTIF":"Примај нова обавештења","CTX_ENABLE_NEW_NOTIF":"Омогући обавештења","CTX_DISABLE_NEW_NOTIF":"Онемогући обавештења","CTX_REMOVE_CACHE":"Уклони из кеша","CTX_REMOVE_CACHE_EP":"Уклони епизоду из кеша","CTX_OPEN_CONTAINING":"Отвори садржећи фолдер","CTX_REMOVE":"Уклони из збирке","CTX_AVAILABLE_OFFLINE":"Доступно офлајн","CTX_PAUSED":"Паузирано","CTX_ALWAYS_ON_TOP":"Увек на врху","CTX_FULLSCREEN":"Цео екран","CTX_WRONG_SUBS":"Погрешни титлови?","CTX_REPORT_ISSUES":"Пријавa проблема","CTX_COPY":"Копирај","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Налепи","CTX_CLEAR":"Очисти","CTX_CLEAR_RECENT_SEARCHES":"Очисти недавне претраге","HELLO_THERE":"Здраво","HOPE_YOU_ENJOY":"Надамо се да уживате у апликацији Stremio и да је то већ једна од ваших омиљених апликација!","WHO_ARE_WE":"Ко смо? Ми смо тим који стоји иза овога - два момка који напорно раде сваки дан последње 3 године да би овај производ учинили што бољим.","SUPPORT_US":"Ако уживате у коришћењу апликације Stremio, ако је Stremio драгоцен за вас - делите са осталима!","SPREAD_THE_WORD":"Делите са пријатељима сада, причајте о апликацији Stremio","MORE_PEOPLE":"Што више људи користи Stremio, он ће бити бољи!","SEND_A_LINK":"Или пошаљите линк ка нашем веб-сајту","TIP_LOCALFILES":"Савет: можете да превучете и отпустите локалне фајлове видео снимака у Stremio","ADDON_MY":"Моји додаци","ADDON_COMMUNITY":"Додаци заједнице","ADDON_OFFICIAL":"Званични додаци","ADDON_REPOS":"Колекције додатака","ADDON_SEARCH":"Претрага додатака","ADDON_INSTALL":"Инсталирај","ADDON_CONFIGURE":"Конфигуриши","ADDON_UNINSTALL":"Деинсталирај","ADDON_UPGRADE":"Надогради","ADDON_INSTALLED":"Инсталирано","ADDON_INSTALLED_MSG":"Додатак је инсталиран!","ADDON_UPGRADED_MSG":"Додатак је надограђен!","ADDON_UNKNOWN":"Непознато","ADDON_ERR":"Грешка приликом инсталације додатка","ADDON_DISCONNECTED":"Прекинута веза","ADDON_APP_MISSING":"апликација за овај извор није инсталирана. Желите ли да је инсталирате сада?","ADDON_APP_INSTALL":"Инсталирај сада","ADDON_PAGE":"Страница додатка","ADDON_TOP_CONTENT":"Најбоље од овог додатка","ADDON_PROVIDES":"Овај додатак ће вам дати:","ADDON_WATCH":"Гледај #{types} сада!","ADDON_WATCH_FREE":"Гледај #{types} бесплатно сада!","ADDON_ADDON":"Додатак","ADDON_SUPPORTED_TYPES":"Подржане врсте","ADDON_SUPPORTED_CATALOGS":"Подржани каталози","ADDON_PROVIDES_DISCOVER":"Више #{types} на страници Откриј","ADDON_PROVIDES_STREAMS":"Гледајте #{types}","ADDON_PROVIDES_STREAMS_FREE":"Гледајте #{types} бесплатно","ADDON_PROVIDES_SUBTITLES":"Титлови за #{types}","ADDON_CANTDETECT":"Нисмо могли да откријемо покренути Stremio, тако да нисмо могли да откријемо које додатке сте инсталирали.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Нису пронађене информације о овоме ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Грешка приликом преузимања информација о овоме.","ERR_CANT_PARSE_MAGNET":"Није могуће рашчланити магнет","ERR_NO_MAGNET_INFOHASH":"Нема важеће хеш информације за магнет","ERR_NO_FILE_PATH":"Није могуће послати захтев без путање до фајла","ERR_NO_TORRENT":"Није враћен торент","ERR_NO_SUPPORTERD_FILES":"Нису пронађени подржани фајлови","ERR_OPENING_FILES":"Није могуће отворити спољне фајлове","ERR_INVALID_LINK":"Неважећи линк","ERR_REGISTERED_ONLY":"Ова опција је доступна само за регистроване кориснике.","ERR_CLIPBOARD":"Није могуће пустити из привремене меморије","ERR_CLIPBOARD_READ":"Није могуће прочитати привремену меморију на овој платформи","ERR_CLIPBOARD_GENERIC":"У привременој меморији није пронађен URL који се може репродуковати. Копирајте URL (нпр. магнет линк) видео снимка. ","BOARD_CONTINUE_WATCHING":"Наставите да гледате","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Филмови изабрани специјално за вас.
    Овај филм је пример препоруке.","BOARD_EXPLANATION_EPISODES":"Нове епизоде ваше омиљене серије стижу овде.
    Додајте серије које пратите у своју збирку.","BOARD_EXPLANATION_VIDEOS":"Нове епизоде ваших омиљених канала долазе овде.
    Додајте YouTube канале које пратите у своју збирку.","WEBSITE_ENJOYED_BY":"Ужива више од 30 милиона корисника широм света","WEBSITE_STREAMING_ENHANCED":"Побољшано стримовање","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio нуди безбедно, модерно и беспрекорно искуство забаве. Са интерфејсом који је једноставан за коришћење и разноликом збирком садржаја, укључујући подршку за 4K HDR, корисници могу да уживају у омиљеним филмовима и серијама на свим својим уређајима. Са својом посвећеношћу безбедности, Stremio је врхунски избор за безбрижно, висококвалитетно искуство стримовања.","WEBSITE_AVAILABLE_ON":"Доступно на","WEBSITE_WATCH_AND_ENJOY":"Гледајте и уживајте.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio је прост као пасуљ","WEBSITE_ALL_FEATURES":"Све карактеристике","WEBSITE_EASY_TO_USE":"Лако за коришћење","WEBSITE_EASY_TO_USE_DETAILS":"Stremio је дизајниран да буде лак за употребу и једноставан за коришћење. Са чистим и интуитивним интерфејсом можете лако да се крећете и пронађете садржај који желите да гледате.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Беспрекорно на различитим уређајима","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Доступан за широк спектар платформи (укључујући Windows, Mac, Linux, Android итд.), Stremio ће пратити ваш напредак на свим вашим уређајима. Само се пријавите и наставите да гледате без потребе да поново конфигуришете апликацију на сваком новом уређају.","WEBSITE_ALL_DOWNLOADS":"Сва преузимања","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Подршка за видео снимке високе дефиниције","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Интегрисани плејер видео снимака који подржава већину видео формата, укључујући 4K HDR садржај, омогућава вам да уживате у највишем доступном квалитету.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Збирка разноврсног садржаја","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio се интегрише са великим бројем популарних извора видео снимака, као што су Netflix, Amazon Prime Video, Hulu, YouTube и многи други.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Направи бесплатан налог","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Прилагођено искуство гледања","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio вам омогућава да прилагодите изглед и осећај интерфејса променом теме, додавањем или уклањањем додатака и још много тога.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Подршка за вишејезичне титлове","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Сада можете уживати у свим омиљеним садржајима на жељеном језику, јер Stremio подржава титлове на свим језицима.","WEBSITE_ALL_STREMIO_FEATURES":"Све карактеристике апликације Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Пробајте Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"на свом ТВ-у сада","WEBSITE_YOU_CAN_NOW_WATCH":"Сада можете да гледате све омиљене серије на својим Android ТВ уређајима. Stremio ТВ апликација вам омогућава да са лакоћом уживате у филмској вечери.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Сада можете да гледате све омиљене ТВ емисије на свом паметном ТВ-у или Android ТВ-у. Stremio ТВ апликације вам омогућава да са лакоћом уживате у филмској вечери.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio за паметан ТВ","WEBSITE_PLAY_STORE_REVIEW":"Вероватно најбоља и најкориснија апликација коју можете имати на свом уређају. Ово је једна од апликација које користим свакодневно, посебно на свом Android ТВ-у већ дуги низ година. Добро направљено, са јаком заједницом, која пружа корисне функције. Одлично! Наставите са добрим радом.","WEBSITE_REVIEWS":"рецензије","WEBSITE_GET_STREMIO_FOR_FREE":"Набави Stremio бесплатно","WEBSITE_GET_STREMIO_NOW":"Набави Stremio сада","WEBSITE_STREMIO_FEATURES":"Карактеристике апликације Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Стримујте као професионалац са Stremio напредним функцијама и уживајте у беспрекорном приступу свим вашим омиљеним медијима","WEBSITE_DISCOVER_MORE":"Откријте више.","WEBSITE_DISCOVER_MORE_DETAILS":"Никада не понестане ствари за гледање ","WEBSITE_COMMUNITY_DRIVEN":"Заједницом вођен","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio има велику и активну заједницу корисника који доприносе развоју софтвера креирањем и дељењем додатака.","WEBSITE_GET_INVOLVED":"Прикључите се","WEBSITE_NEW_THEATER_EXPERIENCE":"Ново биоскопско искуство","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Нова наменска Stremio ТВ апликација омогућава вам да уживате у филмској вечери на вашим Android ТВ уређајима.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Нове наменске Stremio ТВ апликације омогућавају вам да уживате у филмској вечери на паметном ТВ-у или Android ТВ уређајима.","WEBSITE_FREE_AND_SECURE":"Бесплатно и безбедно","WEBSITE_STREAMING":"Стримовање","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio нуди неупоредиву сигурност и приватност за кориснике. Са својом јединственом карактеристиком даљинског покретања додатака, Stremio пружа сигурнији начин за стримовање вашег омиљеног садржаја у поређењу са другим платформама. Ваша безбедност и приватност су наши главни приоритети и ова платформа обезбеђује да сви ваши подаци буду заштићени.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Реците збогом бригама о безбедности и приватности и поздравите свет бескрајне забаве уз Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Информације обезбедио","WEBSITE_CONTRIBUTE_DESC":"пројекту и помозите нам да Stremio учинимо још бољим","WEBSITE_COMMUNITY_DESC":"Верујемо да је најбољи начин да се створи заиста невероватно искуство стримовања укључивањем наше заједнице у процес. Било да сте програмер, уметник или само фан - могли бисте да помогнете како би Stremio напредовао.","WEBSITE_COMMUNITY_DESC_2":"Зато нам се придружите данас и постаните део Stremio заједнице и наставите да обликујете будућност стримовања.","WEBSITE_WAYS_TO_GET_INVOLVED":"Начини да се прикључите","WEBSITE_IN_THE_STREMIO_COMMUNITY":"у Stremio заједницу","WEBSITE_SHARE_YOUR_THOUGHTS":"Поделите своје мисли","WEBSITE_REPORT_BUGS":"Пријавите проблеме","WEBSITE_SUGGEST_FEATURES":"предложите функције","WEBSITE_AND_PROVIDE_FEEDBACK":"и пружите повратне информације на нашим друштвеним мрежама.","WEBSITE_BETA_TESTING_PROGRAM":"Програм за бета тестирање","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Учествујте у нашем програму бета тестирања (редовно шаљемо позиве) у Stremio заједници.","WEBSITE_JOIN_NOW":"Придружите се сада!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Званичне Stremio заједнице","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Незваничне Stremio заједнице","WEBSITE_BECOME":"Постаните","WEBSITE_A_VOLUNTEER_TRANSLATOR":"преводилац волонтер","WEBSITE_ARE_YOU_A_DEVELOPER":"Да ли сте програмер?","WEBSITE_CONTRIBUTE_CODE":"Можете да допринесете коду нашим пројектима отвореног кода. Имамо неколико пројеката на GitHub-у који траже сараднике. Ако сте заинтересовани да помогнете, погледајте их:","WEBSITE_STREMIO_ON_GITHUB":"Stremio на GitHub-у","WEBSITE_CREATE_ADDON_DESC":"Направите додатак да побољшате Sttemio функционалност (имамо API који је једноставан за коришћење):","WEBSITE_STREMIO_ADDON_SDK":"Stremio SDK додатак","WEBSITE_INTERN_DEVELOPER":"Такође, пружамо прилику да нам се придружите као програмер стажиста како бисмо могли да растемо заједно.","WEBSITE_APPLY_AS_AN_INTERN":"Пријави се као стажиста","WEBSITE_CALLING_ALL_ARTISTS":"Позивамо све уметнике!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Покажите своју креативност и љубав према апликацији Stremio тако што ћете поставити своје фан-aрт у нашу онлајн галеријy. Било да је у питању цртеж, слика или дигитални дизајн, желимо да видимо ваше јединствено виђење Stremio бренда. Придружите се нашој заједници уметничких ентузијаста и поделите свој рад са колегама Stremio фановима широм света.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio фан-арт галерија","WEBSITE_INTERN_DESIGNER":"Постаните део нашег тима и подигните своју креативност на нове висине уз наше узбудљиве прилике за стажирање.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"У фирми Stremio посвећени смо очувању историје филма и телевизије тако што ћемо идентификовати видео снимке у јавном домену и заостале видео снимке. Радећи заједно са нашом заједницом, можемо осигурати да ова класична уметничка дела буду доступна свима и заштићена за будуће генерације.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Слободно нас контактирајте ако желите да се укључите у тај пројекат.","WEBSITE_JOIN_THE_PROJECT":"Придружи се пројекту","WEBSITE_BE_PART_OF_OUR_MISSION":"Будите део наше мисије","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Заинтересовани сте да се придружите Stremio тиму? Нудимо потпуно даљински рад за страствене професионалце. Погледајте наше отворене позиције.","WEBSITE_OPEN_POSITIONS":"ОТВОРЕНЕ ПОЗИЦИЈЕ","WEBSITE_DESCRIPTION":"ОПИС","WEBSITE_LEARN_MORE":"Сазнај више","WEBSITE_COMPANY":"Компанија","WEBSITE_CONTACTS":"Контакти","WEBSITE_NEED_HELP":"Потребна помоћ?","WEBSITE_STREMIO_WEB_ON_IOS":"Водич за Stremio Web на iOS-у ","WEBSITE_LINK_ART_V2":"Фан-арт галерија","WEBSITE_PARTNERS":"Партнери","WEBSITE_SLOGAN_WATCH":"Гледајте одмах","WEBSITE_SLOGAN_ALL":"Сав видео садржај у коме уживате на једном месту","WEBSITE_SLOGAN_NEW":"Све што можете да гледате","WEBSITE_SLOGAN_NEW_NEW":"Слобода стримовања","WEBSITE_WATCH_FROM":"Гледај из","WEBSITE_DOWNLOAD":"Преузми сада","WEBSITE_DOWNLOAD_FOR":"Преузми сада за","WEBSITE_IS_DESKTOP":"Stremio је апликација за десктоп рачунаре, отворите ову страницу на свом рачунару и преузмите је","WEBSITE_DESKTOP_DEMO_VID":"Десктоп демо","WEBSITE_PAGE_HOME":"Почетна","WEBSITE_PAGE_FEATURES":"Карактеристике","WEBSITE_PAGE_ADDONS":"Додаци","WEBSITE_PAGE_TECH":"Технологија","WEBSITE_PAGE_CREATE_ADDON":"Направи додатак","WEBSITE_PAGE_CONTACTS":"Контакти","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Унесите нову жељену лозинку испод.","WEBSITE_RESET_PASSWORD_WARNING":"Желите ли заиста да ресетујете лозинку за ${1}?","WEBSITE_TYPE_movie":"Филмови","WEBSITE_TYPE_series_PL":"Серије","WEBSITE_TYPE_tv":"ТВ уживо","WEBSITE_TYPE_channel":"Канали","WEBSITE_STREMIO_WHAT_IS":"Stremio је апликација која вам помаже да организујете и тренутно гледате своје омиљене видео снимке, филмове, ТВ серије и ТВ канале.","WEBSITE_FEATURES_WATCH":"Гледај одмах у HD-у","WEBSITE_FEATURES_WATCH_DETAIL":"Кликните и пустите своје омиљене филмове, серије, видео снимке и ТВ канале.","WEBSITE_FEATURES_SUBS":"Аутоматски титлови","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio аутоматски бира синхронизоване титлове за ваш језик.","WEBSITE_FEATURES_SUBS_LABEL":"Ваш филм, шефе.","WEBSITE_FEATURES_CAST":"Пуштање на ТВ-у и мобилним уређајима","WEBSITE_FEATURES_CAST_DETAIL":"Пребаците на AppleTV, Chromecast, паметан ТВ (DLNA/UPnP) и мобилне уређаје.","WEBSITE_LIB":"Уживајте у својој личној збирци синхронизованој на свим вашим уређајима","WEBSITE_LIB_COLLECT":"Прикупите од апликације Stremio","WEBSITE_LIB_IMPORT":"Увоз са Facebook-а","WEBSITE_LIB_LOCAL":"Додај са свог локалног диска","WEBSITE_BOARD":"Табла - ваше одредиште за обавештења и препоруке на једном месту","WEBSITE_BOARD_RECOMMEND":"Препоручена серија","WEBSITE_BOARD_TRENDING":"Филм у тренду","WEBSITE_BOARD_NEW":"Нови видео снимак","WEBSITE_BOARD_EPISODE":"Нова епизода","WEBSITE_BOARD_1":"Тражите нешто занимљиво за гледање? Добијте препоруке на основу вашег укуса!","WEBSITE_BOARD_2":"Добијте обавештење када изађе нова епизода ваше омиљене серије или YouTube канала!","WEBSITE_BOARD_YOUTUBE":"Нови видео снимци YouTube канала","WEBSITE_BOARD_EPISODES":"Нове епизоде серија које пратите","WEBSITE_ADDONS":"Додаци за садржај","WEBSITE_TECH_DETAIL":"Волимо технологију, волимо луду науку!\\nStremio користи следеће технологије отвореног кода:","WEBSITE_TECH_WCJS":"WebChimera.js омогућава апликацији Stremio да пушта било који формат видео снимка са добрим перформансама.","WEBSITE_TECH_WCJS_EXTRA":"Ми смо главни сарадници пројекта","WEBSITE_TECH_ELECTRON":"Electron пружа иновативну платформу за изградњу апликације Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Ми смо сарадници пројекта","WEBSITE_TECH_LINVODB":"Технологија базе података која осигурава да су ваши подаци организовани и доступни где год да се пријавите.","WEBSITE_TECH_LINVODB_EXTRA":"Унутрашња технологија","WEBSITE_CREATE_ADDON":"Направи свој додатак","WEBSITE_CREATE_ADDON_DETAIL":"Да ли имате услугу која пружа видео садржај? Помоћи ћемо вам да искористите Stremio функције тако што ћемо направити ваш додатак.","WEBSITE_CREATE_ADDON_BENEFITS":"Предности прављења додатка за Stremio","WEBSITE_P2P_BEAUTY":"Лепота peer-to-peer (P2P) стримовања","WEBSITE_P2P_1":"Поуздан и приступачан full HD / 4K видео снимак на захтев (VOD) или уживо","WEBSITE_P2P_2":"Дистрибутивна платформа пружа одлично корисничко искуство","WEBSITE_P2P_3":"Направићемо додатак који одговара вашим потребама","WEBSITE_P2P_CONTACT":"Заинтересовани? Слободно нас контактирајте.","WEBSITE_P2P_CONTACT_EXTRA":"Биће нам драго да вам помогнемо да интегришете свој садржај из апликације Stremio!","WEBSITE_P2P":"С времена на време, долази технологија која мења назив игре. Уложили смо много времена и труда у прављење нашег peer-to-peer (P2P) механизма за стримовање видео снимака, који пружа одличне перформансе и свестраност за прилагођавање сваком случају употребе.\\nКонтактирајте нас за peer-to-peer (P2P) видео снимак на захтев (VOD) са омогућеним DRM или стримовање уживо.","WEBSITE_THOUGHTS":"Мисли које делимо:","WEBSITE_SPREAD":"Причајте људима о апликацији Stremio:","WEBSITE_CONTACT":"Контактирајте нас, биће нам драго да вас саслушамо!","WEBSITE_OPENSOURCE":"За наше пројекте отвореног кода идите на наш","WEBSITE_BITCOIN":"Донирање биткојна:","WEBSITE_FAQ":"Често постављана питања","WEBSITE_FAQ_SHORT":"ЧПП","WEBSITE_QUESTIONS":"Питања","WEBSITE_TOS":"Услови коришћења","WEBSITE_LEGAL":"Правна питања","WEBSITE_PAGE_ABOUT":"О нама","WEBSITE_PAGE_BECOME_PARTNER":"Постаните партнер","WEBSITE_ALL_YOU_CAN_WATCH":"Слобода гледања\\nсвега што желите.","WEBSITE_FREEDOM_TO_STREAM":"Слобода стримовања","WEBSITE_WHAT_IS_STREMIO":"Шта је Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio је центар за прикупљање видео садржаја на једном месту. Откријте, организујте и гледајте видео снимке са свих врста извора на било ком уређају који поседујете.","WEBSITE_WHAT_IS_STREMIO_P2":"Филмови, ТВ емисије, серије, телевизија уживо или веб-канали као што су YouTube и Twitch.tv - све ово можете пронаћи у апликацији Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio је модеран медијски центар који је решење на једном месту за вашу видео забаву. Откривате, гледате и организујете видео садржај из додатака који се лако инсталирају.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Филмови, ТВ емисије, ТВ уживо или веб-канали - све ово пронађите у апликацији Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Уживајте на свим својим медијским уређајима","WEBSITE_DEVICES_COLLECT":"Прикупи од апликације Stremio","WEBSITE_DEVICES_IMPORT_FB":"Увоз са Facebook-а","WEBSITE_DEVICES_LOCAL":"Додај са локалног диска","WEBSITE_JOIN_THE_PARTY_NOW":"Придружите се забави сада","WEBSITE_DEVICES_ALL":"Лако за коришћење на сваком вашем уређају;","WEBSITE_EXTENDABLE_CATALOG":"Бесконачно прошириви каталог видео снимака;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Одличне функције за организовање ваших медија;","WEBSITE_AS_SEEN_ON":"Као што се види на","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"О нама","WEBSITE_LINK_TECHNOLOGY":"Технологија","WEBSITE_LINK_APPS":"Апликације","WEBSITE_LINK_DOWNLOADS":"Преузимања","WEBSITE_MORE":"Више","WEBSITE_LINK_ADDONS":"Додаци","WEBSITE_LINK_ADDON_SDK":"SDK додатак","WEBSITE_LINK_CONTRIBUTE":"Допринос","WEBSITE_LINK_COMMUNITY":"Заједница","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"... и више","WEBSITE_LINK_HELP":"Центар за помоћ","WEBSITE_LINK_CONTACTS":"Бизнис упити","WEBSITE_LINK_TOS":"Услови и одредбе","WEBSITE_LINK_PRAVACY":"Политика приватности","WEBSITE_SUBSCRIBE":"Претплатите се","WEBSITE_NEWSLETTER":"Придружите се нашем билтену за невероватне ствари","WEBSITE_PLACEHOLDER_EMAIL":"Ваш имејл","WEBSITE_COMMUNITY":"Заједница","WEBSITE_LINK_PRAVACY_LEGAL":"Приватност и правна питања","WEBSITE_WHY":"Зашто то радимо","WEBSITE_WHY_P1":"Ми свакодневно долазимо на посао јер желимо да решимо важан проблем за индустрију видео снимака на захтев (VOD). Сваког минута се објављује толико новог садржаја да је готово немогуће снаћи се у њему.","WEBSITE_WHY_P2":"Помажемо људима да се крећу тим огромним светом видео забаве и откривају нове садржаје у којима могу уживати. Наше апликације обједињују филмове, серије, ТВ уживо, веб-канале и још много тога. Посвећени смо томе да корисницима учинимо невероватно лаким проналажење наслова и емитера које воле.","WEBSITE_WHY_P3":"Можете да користите нашу услугу на било ком уређају и у било које време, што Stremio чини јединим видео-забавним чвориштем које ће вам икада бити потребно.","WEBSITE_TEAM":"ТИМ","WEBSITE_TEAM_P":"Stremio тим је мали, али моћан: између нас десеторо, кодирамо на X језика и делимо стручност у развоју софтвера, дизајну корисничког интерфејса и корисничког искуства, маркетингу и рекламирању, пословању и стартаповима.","WEBSITE_FEATURES":"Карактеристике","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Откријте нови садржај са лакоћом","WEBSITE_FEATURES_DISCOVER_P":"Лако откривајте нове филмове, ТВ емисије, серије и канале за гледање. Претражујте по категорији, жанру, оцени, недавној употреби итд. или једноставно унесите име да бисте пронашли. Stremio чини проналажење новог видео садржаја лаким.","WEBSITE_FEATURES_ALL_CONTENT":"Сав ваш видео садржај на једном екрану","WEBSITE_FEATURES_ALL_CONTENT_P1":"Погледајте које филмове, серије или видео снимке нисте завршили и наставите да их гледате; добијајте обавештења о новим епизодама и издањима; прегледајте препоруке које ћете добити на основу ваших навика гледања.","WEBSITE_FEATURES_LIBRARY":"Организујте своју збирку видео снимака","WEBSITE_FEATURES_LIBRARY_P1":"Додајте било који наслов у своју Stremio збирку једним кликом и пронађите свој садржај, уредно поређан по врсти, недавној употреби или абецедном реду.","WEBSITE_FEATURES_CALENDAR":"Праћење свега што гледате","WEBSITE_FEATURES_CALENDAR_P1":"Добијте календарску визуелизацију свих филмова и серија које додате у своју збирку. Извезите свој Stremio календар и синхронизујте га тако да увек знате када излази нова епизода или премијера.","WEBSITE_FEATURES_BIG_SCREEN":"Уживајте у видео садржају на већем екрану","WEBSITE_FEATURES_BIG_SCREEN_P1":"Пребацујте све што гледате на други уређај - било да је то телефон, таблет или ТВ, једним кликом.","WEBSITE_FEATURES_SOURCES":"Гледајте видео снимке из много различитих извора","WEBSITE_FEATURES_SOURCES_P":"Инсталирајте званичне додатке и додатке заједнице да бисте уживали у видео снимцима који потичу од многих различитих пружаоца – све у једној елегантној апликацији која је једноставна за коришћење.","WEBSITE_CREATE_AN_ADDON":"Направи додатак","WEBSITE_FEATURES_SYNC":"Синхронизујте своју збирку на различитим уређајима и наставите са репродукцијом","WEBSITE_FEATURES_SYNC_P1":"Пријавите се са својим налогом на свим својим уређајима и уживајте у синхронизованој збирци, додацима, репродукцији и календару.","WEBSITE_FEATURES_EXTENDABLE":"Прошириви каталог видео снимака користећи додатке","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio каталог додатака пружа бројне додатке за инсталирање и гледање разних видео садржаја. Ово укључује филмове, емисије, ТВ уживо, спорт, вести, подцасте, веб-канале, видео игре и још много тога.","WEBSITE_FEATURES_AUTO_SUBS":"Аутоматски титлови","WEBSITE_FEATURES_AUTO_SUBS_P1":"Са нашим додацима за титлове добијате аутоматски одабране опције за жељени језик.","WEBSITE_FEATURES_CHROMECAST":"Пребацивање на Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Уживајте у видео садржају на већем екрану или једноставно пребаците све што гледате на други уређај.","WEBSITE_FEATURES_KEEP_TRACK":"Пратите своје омиљене ТВ емисије и веб-канале","WEBSITE_FEATURES_KEEP_TRACK_P1":"Добијте календарску визуализацију и обавештења за нове епизоде ваших омиљених серија и веб-канала.","WEBSITE_FEATURES_POWER_USER":"Функције моћног корисника","WEBSITE_FEATURES_POWER_USER_P1":"Пусти у спољном плејеру","WEBSITE_FEATURES_POWER_USER_P2":"Пусти са торент фајла или магнет линка","WEBSITE_FEATURES_POWER_USER_P3":"Увези у своју збирку са Facebook лајкова или локалног диска","WEBSITE_ADD_ONS":"Додаци","WEBSITE_ADD_ONS_P1":"Сав видео садржај који Stremio пружа добија се преко система додатака - никакав садржај или пружалац садржаја није уграђен у апликацију.","WEBSITE_ADD_ONS_P2":"Доступне су две групе додатака: званични додаци и додаци заједнице.","WEBSITE_ADD_ONS_P3":"Званичне развија и хостује Stremio, док додатке заједнице праве чланови наше заједнице, који их и хостују.","WEBSITE_ADDONS_OFFICIAL":"Званични додаци","WEBSITE_ADDONS_WATCHUB":"Стримујте своје омиљене филмове, серије и емисије од провајдера као што су iTunes, Hulu, Amazon и друге УК/САД услуге.","WEBSITE_ADDONS_YOUTUBE":"Гледајте своје омиљене YouTube канале без реклама и добијајте обавештења о новим отпремањима од сарадника које пратите.","WEBSITE_ADDONS_FILMON":"Гледајте ТВ уживо, филмове и друштвену телевизију бесплатно. 600 ТВ канала, 45.000 бесплатних филмова, документараца и још много тога.","WEBSITE_ADDONS_OPENSUBTITLES":"Филмски и ТВ титлови на више језика, хиљаде преведених титлова који се отпремају сваког дана.","WEBSITE_ADDONS_COMMUNITY":"Додаци заједнице","WEBSITE_ADDONS_FILMON_VOD":"Гледајте видео снимке на захтев (VOD) са Filmon.tv","WEBSITE_ADDONS_TWICH":"Гледајте преносе уживо са Twitch.tv - платформе за стримовање видео снимака за индустрију е-спорта.","WEBSITE_ADDONS_VODO":"Гледајте независне (инди) филмове потпуно бесплатно.","WEBSITE_ADDONS_NETFLIX":"Гледајте Netflix филмове и веб-серије.","WEBSITE_ADDONS_CREATE":"Направи додатак","WEBSITE_ADDONS_CREATE_P1":"Ако желите, можете развити сопствени додатак. На овај начин можете себи и нашој заједници омогућити приступ новом видео садржају и досегнути нову циљану публику од милиона корисника широм света.","WEBSITE_ADDONS_START_CREATE":"Да бисте започели, посетите страницу Stremio SDK додатак:","WEBSITE_DOWNLOADS":"Преузимања","WEBSITE_DOWNLOADS_P1":"За оптималне перформансе, препоручујемо вам да користите најновију доступну верзију апликације Stremio. Међутим, ако из неког разлога желите да користите старију верзију, можете је преузети овде.","WEBSITE_DOWNLOADS_P1_SHORT":"За оптималне перформансе, препоручујемо вам да користите најновију доступну верзију апликације Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio за Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio за macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio за Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio за Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio за Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio за Android мобилни","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio за Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio за iOS (ограничена верзија)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio за LG ТВ","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio за Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio за Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio за Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio за прегледач","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Потражите Stremio у продавници апликација 2019+ Samsung ТВ модела","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Потражите Stremio у продавници апликација 2020+ LG ТВ модела","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Потражите Stremio у продавници апликација вашег Xbox уређаја","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Преузмите Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service је пратећа апликација за Stremio Web. Препоручујемо да користите најновију доступну верзију апликације Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service за Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service за macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service за Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service за Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Више опција за преузимање","WEBSITE_DOWNLOAD_NEW":"Ново!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Објавили смо Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Објавили смо Stremio за Samsung ТВ","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Објавили смо Stremio за LG ТВ","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Објавили смо Stremio за Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Објавили смо Stremio за Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Допринесите","WEBSITE_CONTRIBUTE_P1":"Платформа Stremio је отвореног кода и лако можете направити додатак за садржај који тренутно није доступан.","WEBSITE_CONTRIBUTE_WHY":"Зашто би требало направити додатак?","WEBSITE_CONTRIBUTE_WHY_P1":"Досегните нову публику за свој видео садржај","WEBSITE_CONTRIBUTE_WHY_P2":"База корисника апликације Stremio брзо расте – прве године од покретања, Stremio је стекао 1 милион корисника широм света, а у другој години постојања платформе овај број је порастао на 2.5 милиона.","WEBSITE_CONTRIBUTE_WHY_P3":"Помоћу свог додатка можете лако доћи до ове публике и дистрибуирати јој свој видео садржај.","WEBSITE_CONTRIBUTE_ALL":"Гледајте своје омиљене филмове, видео снимке, серије и канале на једном месту.","WEBSITE_CONTRIBUTE_ALL_P1":"Да ли сте фан одређене врсте садржаја који још увек није доступан на платформи Stremio? Направите додатак за њега и уживајте у гледању омиљених видео снимака у једном од највећих и најједноставнијих центара за забаву на тржишту.","WEBSITE_CONTRIBUTE_ALL_P2":"Поврх тога, добићете бескрајну захвалност других истомишљеника, чланова Stremio заједнице.","WEBSITE_CONTRIBUTE_MONETIZE":"Уновчите свој додатак и зарадите новац уз његову помоћ","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Када развијете нови додатак за Stremio, можете га лако уновчити на више различитих начина. Ако размишљате о томе, слободно нас контактирајте путем ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - радо ћемо се консултовати и посаветовати вас о опцијама монетизације додатака.","WEBSITE_CONTRIBUTE_TRANSLATE":"Постаните преводилац волонтер","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Ако желите да уживате у Stremio апликацијама на различитим језицима, можете се придружити нашој заједници добровољних преводилаца. Они нам помажу да додамо верзије апликације Stremio на много различитих језика.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Да ли сте вољни да почнете?","WEBSITE_TRANSALTE_STREMIO":"Преведи Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Званичне заједнице","WEBSITE_COMMUNITY_OFFICIALS_P1":"Постаните део растуће Stremio заједнице. Пратите нас на друштвеним мрежама и немојте се стидети да кажете здраво - волимо да чујемо наше фанове! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Незваничне заједнице","STREMIO_COMMUNITY_NL":"Stremio Холандија","STREMIO_COMMUNITY_BRASIL":"Stremio Бразил","STREMIO_COMMUNITY_GERMANY":"Stremio Немачка","STREMIO_COMMUNITY_BELGIUM":"Stremio Белгија","STREMIO_COMMUNITY_FRANCE":"Stremio Француска","STREMIO_COMMUNITY_PORTUGAL":"Stremio Португал","STREMIO_COMMUNITY_ITALY":"Stremio Италија","STREMIO_COMMUNITY_UK":"Stremio УК","STREMIO_COMMUNITY_USA":"Stremio САД","STREMIO_COMMUNITY_MEXICO":"Stremio Мексико","STREMIO_COMMUNITY_ADDONS":"Stremio додаци","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Сјајан Stremio","WEBSITE_COMMUNITY_PARTNERS":"Партнери и подршка","WEBSITE_COMMUNITY_GOODIES":"Stremio посластице","WEBSITE_COMMUNITY_WALLPAPERS":"Позадине","WEBSITE_COMMUNITY_ART":"Уметничка галерија заједнице","WEBSITE_LINK_ART":"Уметничка галерија заједнице","WEBSITE_CONTACT_US":"Контактирајте нас","WEBSITE_CONTACT_US_P1":"Ако имате било каквих питања, коментара или сугестија, слободно нас контактирајте путем контакт форме испод.","WEBSITE_CONTACT_US_P2":"Имајте на уму да се налазимо у Бугарској, тако да може доћи до кашњења у адресирању вашег упита због разлика у временским зонама.","WEBSITE_CONTACT_US_SUCCESS":"Ваша порука је послата. Јавићемо вам се што је пре могуће.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Унесите исправан имејл!","WEBSITE_CONTACT_US_Q_RELATED_TO":"На шта се односи ваше питање?","WEBSITE_CONTACT_US_Q_OS":"Који је ваш оперативни систем?","WEBSITE_CONTACT_US_PH_EMAIL":"Ваш имејл","WEBSITE_CONTACT_US_PH_MESSAGE":"Порука","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ПОШАЉИ","WEBSITE_CONTACT_US_Q_1":"Како инсталирати?","WEBSITE_CONTACT_US_Q_2":"Како деинсталирати?","WEBSITE_CONTACT_US_Q_3":"(HTML) Како направити лазање?","WEBSITE_CONTACT_US_Q_4":"Додаци","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Технологија","WEBSITE_TECHNOLOGY_P1":"Волимо технологију и луду науку.
    Ево шта покреће Stremio (све је отвореног кода).","WEBSITE_TECHNOLOGY_P_QT":"Развој софтвера на више платформи у свом најбољем издању.","WEBSITE_TECHNOLOGY_P_MPV":"Бесплатан медијски плејер отвореног кода и више платформи.","WEBSITE_TECHNOLOGY_P_RN":"React Native вам омогућава да правите мобилне апликације користећи само JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Медијски оквир уграђен у апликацију за набављање мултимедије.","WEBSITE_TECHNOLOGY_P_REALM":"Realm је мобилна платформа и замена за SQLite и Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js је отвореног кода, доступан на више платформи, JavaScript runtime окружење.","WEBSITE_TECHNOLOGY_P_RUST":"Rust је вишепарадигмски системски програмски језик фокусиран на безбедност, посебно безбедну истовременост.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Допринесите овом пројекту","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Постоје два начина на која можете допринети платформи Stremio и помоћи нам да учинимо производ још бољим.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Своје вредне језичке вештине можете донирати превођењем платформе...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"или","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... можете искористити своје вештине кодирања за прављење додатака у заједници. ","WEBSITE_TRANSLATE_STREMIO":"Преведи Stremio","WEBSITE_404_OH_NO":"Ух-ох! Страница коју тражите није овде...","WEBSITE_GO_HOME":"Иди на почетну","WEBSITE_LINK_OTHER_DOWNLOADS":"Остала преузимања","WEBSITE_FAQ_ABR":"ЧПП","WEBSITE_SUPPORT":"Подршка","WEBSITE_DOWNLOAD_4_0_BETA":"Преузмите Stremio 4 бета верзију сада","WEBSITE_GET_FOR_DESKTOP":"Набави за десктоп","WEBSITE_LINK_ADDON_COMPETITION":"Такмичење додатака","WEBSITE_LINK_ART_CONTEST":"Ликовни конкурс","WEBSITE_MY_ACCOUNT":"Мој налог","WEBSITE_MAINPAGE_FAQ_001_H1":"Шта је Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio је модеран медијски центар који вам даје слободу да гледате све што желите.","WEBSITE_MAINPAGE_FAQ_002_H1":"Како то функционише?","WEBSITE_MAINPAGE_FAQ_002_P1":"Када инсталирате Stremio на свој уређај и направите налог, све што треба да урадите је да посетите каталог додатака и инсталирате било који додатак који желите и спремни сте за рад!","WEBSITE_MAINPAGE_FAQ_002_P2":"Након тога, можете да одете у одељке „Откриј” или „Табла” да бисте почели да истражујете садржај.","WEBSITE_MAINPAGE_FAQ_003_H1":"Шта могу да гледам овде?","WEBSITE_MAINPAGE_FAQ_003_P1":"Много тога: филмове, серије, веб-канале, спортове, ТВ канале, слушање подкаста и још много. Захваљујући нашем систему додатака, можете приступити разним садржајима.","WEBSITE_MAINPAGE_FAQ_004_H1":"Да ли је Stremio отвореног кода?","WEBSITE_MAINPAGE_FAQ_004_P1":"Да, можете да проверите следеће линкове: ${1}десктоп апликација${2} и ${3}GitHub организација${4}. ","WEBSITE_MAINPAGE_FAQ_005_H1":"Да ли је Stremio безбедан?","WEBSITE_MAINPAGE_FAQ_005_P1":"Да, пошто је софтвер отвореног кода, кôд се може јавно испитати и можете га сами прегледати.","WEBSITE_MAINPAGE_FAQ_005_P2":"Систем додатака платформе Stremio је креиран имајући на уму безбедност корисника. Додаци не покрећу никакав кôд локално, тако да не представљају ризик за ваш уређај.","WEBSITE_MAINPAGE_FAQ_006_H1":"Шта је са мојом приватношћу?","WEBSITE_MAINPAGE_FAQ_006_P1":"Поштујемо приватност корисника и не прикупљамо никакве личне податке осим основног минимума за прављење и синхронизацију вашег налога.","WEBSITE_MAINPAGE_FAQ_006_P2":"Такође, постоји и ${1}режим пријаве као гост${2} приликом регистрације, који не захтева никакве податке: у овом режиму се не упућују позиви нашем позадинском систему. Међутим, то долази на рачун корисних функција, као што је могућност синхронизације ваше збирке на различитим уређајима.","WEBSITE_MAINPAGE_FAQ_007_H1":"Могу ли да пребацујем на свој ТВ?","WEBSITE_MAINPAGE_FAQ_007_P1":"Да, подржавамо Chromecast и можете да пребацујете и са десктоп и мобилних апликација (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Колико додатака има Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"До краја 2019, преко 50 - за више информација погледајте наш каталог додатака.","WEBSITE_MAINPAGE_FAQ_009_H1":"Може ли се Stremio проширити изван онога што је у каталогу додатака?","WEBSITE_MAINPAGE_FAQ_009_P1":"Да, требало би да проверите ове: ${1}PimpMyStremio${2}, ${3}Reddit заједнице${4}, ${5}Stremio програм за преузимање${6} итд.","WEBSITE_MAINPAGE_FAQ_010_H1":"Које уређаје подржава Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Имамо десктоп апликације за Windows, Mac и Linux. За мобилне уређаје подржавамо Android и iOS, али имајте на уму да је iOS ограничен у функционалности (не подржава већину додатака).","WEBSITE_MAINPAGE_FAQ_010_P2":"Постоји много уређаја заснованих на Android-у на којима можете покренути Stremio, као што су NVIDIA Shield и Amazon Fire Stick, али их званично не подржавамо.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Имамо десктоп апликације за Windows, Mac и Linux. Такође, имамо наменске апликације за Android мобилни и Android ТВ. За iOS и iPadOS предлажемо коришћење Stremio Web-а, иако је више ограничен у функционалностима.","WEBSITE_MAINPAGE_FAQ_011_H1":"Можете ли да додате одређени садржај у Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Жао нам је, ми сами не пружамо никакав садржај, али што више Stremio додатака инсталирате, више садржаја ћете моћи да пронађете.","WEBSITE_MAINPAGE_FAQ_012_H1":"Може ли Stremio да репродукује магнет линкове?","WEBSITE_MAINPAGE_FAQ_012_P1":"Да, и такође може да репродукује нормалне HTTP линкове и торент фајлове (превуците и испустите).","WEBSITE_MAINPAGE_FAQ_013_H1":"Могу ли да преузмем видео снимак и гледам га офлајн?","WEBSITE_MAINPAGE_FAQ_013_P1":"Доступност офлајн је надолазећа функција, али ако дозволите апликацији Stremio да се кешира на вашем уређају (са панела подешавања), можете гледати видео снимке касније без мрежне везе.","WEBSITE_MAINPAGE_FAQ_014_H1":"Ништа не ради, помозите ми!","WEBSITE_MAINPAGE_FAQ_014_P1":"Да ли сте сигурни да сте инсталирали додатке? Ако јесте, проверите наш ${1}центар за помоћ${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Како Stremio одржава своје развојне операције?","WEBSITE_MAINPAGE_FAQ_015_P1":"Повремено приказујемо ненаметљиве рекламе, али разматрамо прелазак на модел донације.","WEBSITE_MAINPAGE_FAQ_015_P2":"За више питања, идите у наш ${1}центар за помоћ${2}.","HELP_LEARN_MORE":"Помозите нам да сазнамо више о вама.","LIFESTYLE":"Животни стил","SPORTS":"Спортови","FOOD_HEALTH":"Храна и здравље","BEAUTY_FASHION":"Лепота и мода","NEWS":"Вести","GAMING":"Видео игре","SCIENCE_EDUCATION":"Наука и образовање","MUSIC":"Музика","TRAVEL":"Путовања","LATE_NIGHT":"Касна ноћ","REALITY":"Ријалити","COMEDY":"Комедија","DIY":"Уради сам","TECH":"Технологија","CINEMA":"Биоскоп","CONTINUE":"Настави","SLOW_LOADING":"СПОРО УЧИТАВАЊЕ?","I_GIVE_UP":"ОДУСТАЈЕМ","LEARN_MORE":"Сазнај више","POOR_SOURCE":"Овај извор је слабо доступан или ваша интернет веза није довољно брза","PICK_CATEGORIES_ERR":"Морате изабрати најмање 3 категорије","ADJUST_TIMING":"Подешавање тајминга помоћу ","ADJUST_SIZE":"Подешавање величине помоћу ","SEARCH_ANYTHING":"Можете претраживати било шта...","ALL_CATEGORIES":"Све","SEARCH_CATEGORIES":"Филмови, серије, YouTube и ТВ","SEARCH_PERSONS":"Глумци, режисери и писци","SEARCH_PROTOCOLS":"HTTP и магнет линкови","SEARCH_TYPES":"IMDB / TVDB линкови","WATCHED":"Одгледано","SHOW_LESS":"Прикажи мање","LAST_SEARCHES":"Последње претраге","CLEAR_HISTORY":"Очисти историју","CHOOSE_SOME":"ИЗАБЕРИТЕ НЕШТО ОД ОВОГА:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Удаљени веб није могао да се учита","STREMIO_OFFLINE":"Stremio је офлајн","STREMIO_EXPENSIVE_CONNECTION":"Открили смо да користите мобилне податке, желите ли да наставите?","USE_DATA":"Користи податке","WARNING":"Упозорење","MORE_INFO":"Више информација ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Учитавање ...","STREMIO_TV_BACK_TO_LANGUAGES":"Назад на језике","STREMIO_TV_REMOTE":"Удаљено","STREMIO_TV_GO_TO":"Идите на:","STREMIO_TV_OR_SCAN":"или скенирајте:","STREMIO_TV_ADDON_INSTRUCTIONS":"Пратите упутства да бисте инсталирали жељене додатке.","STREMIO_TV_LIVE_TV":"ТВ уживо","STREMIO_TV_RESUME_WATCHING":"Наставите да гледате","STREMIO_TV_LOADING_BACKGROUND":"Учитавање позадине","STREMIO_TV_CHECKING_AUTHENTICATION":"Провера аутентичности","STREMIO_TV_LOADING_BOARD":"Учитавање табле","STREMIO_TV_LOGIN_HEADER_LINE_1":"Желимо да наши корисници имају најбоље могуће персонализовано искуство са нашим софтвером.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Из тог разлога вас љубазно молимо да направите и/или се пријавите на свој налог.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Хвала на разумевању,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio тим","STREMIO_TV_REMOTE_INSTRUCTIONS":"Да бисте користили веб даљински са својим паметним телефоном / таблетом / десктопом:","STREMIO_TV_WIFI_SETUP":"Подешавање Wi-Fi мреже","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle није открио интернет везу.","STREMIO_TV_WIFI_DETAILS_1":"Повежите се на:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Користите лозинку:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Отворите веб-прегледач са линком:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Подразумевано","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"По последњем гледању","STREMIO_TV_LIBRARY_SORT_NAME":"По називу","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"По називу опадајуће","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"По броју гледања","STREMIO_TV_LIBRARY_SORT_WATCHED":"По одгледаном","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"По неодгледаном","STREMIO_TV_DETAILS_SEASON_NUMBER":"Сезона ${1}","STREMIO_TV_STREAMS_LOADING":"Учитано ${1} / ${2} додатака...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} додатак се још увек учитава...","STREMIO_TV_PLAYER_SETTINGS":"Подешавања плејера","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Кашњење титлова","STREMIO_TV_PLAYER_AUDIO_DELAY":"Кашњење звука","STREMIO_TV_PLAYER_VIDEO_SCALING":"Скалирање видео снимка","STREMIO_TV_PLAYER_CHAPTERS":"Поглавља","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Прескочи ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Неподржани извор стрима","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Отварање спољног линка није успело","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Није подесиво у режиму пролаза звука","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Пуштање помоћу ExoPlayer-а","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Пуштање помоћу libVLC плејера","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Прелазак на libVLC плејер због грешке при репродукцији ","STREMIO_TV_ADDONS_TITLE":"Користите Stremio на свом телефону или рачунару да бисте инсталирали или конфигурисали додатке и притисните „Синхронизуј додатке”","STREMIO_TV_ADDONS_SUBTITLE":"Напомена: уверите се да користите исти Stremio налог ","STREMIO_TV_ADDONS_SYNC_ADDONS":"Синхронизуј додатке","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Додаци су успешно синхронизовани","STREMIO_TV_ADDONS_SYNC_FAILED":"Синхронизација додатака није успела","STREMIO_TV_META_LINK_FAILED":"Отварање мета линка није успело","STREMIO_TV_CATALOG_LOADING":"Каталог се још увек учитава...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Језик интерфејса је ажуриран","STREMIO_TV_SETTINGS_THEME_UPDATED":"Тема је ажурирана","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Подразумевани плејер","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Спољни плејер","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Преферирани језик","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Други преферирани језик","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Тунелована репродукција","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Могући проблеми са репродукцијом на неким уређајима","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Неки формати видео снимака можда неће радити","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Подударање брзине кадрова","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Онемогућено","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Само брзина кадрова","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Брзина кадрова и резолуција","STREMIO_TV_SETTINGS_NO_CACHING":"Нема кеширања","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Подразумевано","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Меко","STREMIO_TV_SETTINGS_PROFILE_FAST":"Брзо","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ултра брзо","STREMIO_TV_SETTINGS_SERVER_URL":"URL сервера за стримовање","STREMIO_TV_SETTINGS_SERVER_VERSION":"Верзија сервера","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Непознато","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Верзија апликације Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Измена URL-а сервера","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Унесите URL сервера за стримовање","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Приказ статистике током учитавања","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Да бисте прочитали политику приватности апликације Stremio, посетите:","STREMIO_TV_SETTINGS_TOS_TEXT":"Да бисте прочитали услове и одредбе апликације Stremio, посетите:","STREMIO_TV_NAV_SEARCH":"Претрага","STREMIO_TV_NAV_HOME":"Почетна","STREMIO_TV_NAV_DISCOVER":"Откриј","STREMIO_TV_NAV_LIBRARY":"Збирка","STREMIO_TV_NAV_MOVIES":"Филмови","STREMIO_TV_NAV_SERIES":"Серије","STREMIO_TV_NAV_CHANNELS":"Канали","STREMIO_TV_NAV_TV":"ТВ уживо","STREMIO_TV_NAV_SETTINGS":"Подешавања","STREMIO_TV_NAV_ADDONS":"Додаци","STREMIO_TV_LOGIN_TITLE":"Повежите налог","STREMIO_TV_LOGIN_EXPIRES_IN":"Истиче за","STREMIO_TV_LOGIN_STEP_ONE":"Скенирајте QR кôд изнад или идите на","STREMIO_TV_LOGIN_STEP_TWO":"Пријавите се на свој Stremio налог","STREMIO_TV_LOGIN_NEW_LINK":"Затражите нови линк","STREMIO_TV_LOGIN_LINK_REFRESHED":"Кôд за пријаву је освежен","STREMIO_TV_SEARCH_PLACEHOLDER":"Откуцајте нешто","STREMIO_TV_SEARCH_NO_ADDONS":"Нису тражени додаци за каталоге!","STREMIO_TV_SEARCH_BUTTON":"Претрага","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Историја претраге","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Можете претраживати наслове, глумце, канале и још много тога...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Очисти историју претраге","STREMIO_TV_FILTERS_DESCRIPTION":"Изаберите један од филтера у наставку","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Сервер за стримовање је офлајн. Проверите подешавања сервера.","FILTERS":"Филтери","SETTINGS":"Подешавања","ACCOUNT":"Налог","LOGOUT":"Одјава","THEMES":"Теме","PLAYBACK":"Репродукција","PLAYBACK_SPEED":"Брзина репродукције","AUDIO_TRACKS":"Аудио снимци","UNKNOWN_TRACK_LANG":"Непознато","VIDEOS":"Видео снимци","SERVER":"Сервер","LINKS":"Линкови","ABOUT":"О нама","INTERFACE":"Интерфејс","ANIMATIONS":"Анимације","STATUS":"Статус","LANGUAGE":"Језик","SIZE":"Величина","DELAY":"Кашњење","BOLD":"Подебљано","OPACITY":"Непрозирност","TEXT_COLOR":"Боја текста","OUTLINE_COLOR":"Боја оквира","BACKGROUND_COLOR":"Боја позадине","BACKGROUND_BLUR":"Замагљивање позадине","SEEK_TIME_DURATION":"Трајање тражења","AUTO_PLAY":"Аутоматски пусти следећу епизоду","PLAY_NOW":"Пусти сада","MARK_AS_WATCHED":"Означи као одгледано","MARK_AS_UNWATCHED":"Означи као неодгледано","REWIND_TO_BEGINNING":"Премотај на почетак","CONTINUE_WATCHING":"Наставите да гледате","ALL":"Све","SECONDS":"секунди","ON":"УКЉУЧЕНО","OFF":"ИСКЉУЧЕНО","RELOAD":"Поново учитај","EDIT_URL":"Измени URL","URL":"URL","NONE":"Ниједно","EMBEDDED":"Уграђено","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Замена уређаја","REMOTE_VIDEOS":"Видео снимци","REMOTE_ADJUST_TIMING":"Подешавање тајминга","REMOTE_ADJUST_SIZE":"Подешавање величине","REMOTE_COULD_NOT_BE_LOADED":"Веб даљински није могао да се учита","REMOTE_RETRY":"Покушај поново","TORRENT_PROFILE_DEFAULT":"Подразумевано","TORRENT_PROFILE_SOFT":"Меко","TORRENT_PROFILE_FAST":"Брзо","TORRENT_PROFILE_ULTRA_FAST":"Ултра брзо","MB_S":"MB/s","FAQ_001_H1":"Шта је Stremio?","FAQ_001_P1":"Stremio је софтвер за медијски центар дизајниран за видео забаву са лакоћом коришћења на уму. Stremio вам омогућава да организујете и гледате сопствену колекцију филмова, серија, канала и ТВ уживо.","FAQ_001_P2":"Stremio прикупља садржај који вам приказује са вашег локалног диска и нашег система додатака.","FAQ_001_P3":"Такође, обавестиће вас када изађу нове епизоде/видео снимци/филмови за које сте заинтересовани и даће вам препоруке за филмове.","FAQ_02_H1":"Како се Stremio пореди са Kodi-јем и Plex-ом? ","FAQ_02_P1":"Инспирисани смо од стране та два софтвера. Међутим, ми имамо различите циљеве - Stremio је посебно усмерен на видео забаву и настоји да постане главно решење за то тако што је веома једноставан за коришћење.","FAQ_02_P2":"Stremio никада неће бити тако прилагодљив и богат функцијама као Kodi и Plex, али је знатно лакши за коришћење. Само га ${1} набавите и видећете ${2} :)","FAQ_03_H1":"Како се Stremio пореди са Netflix-ом?","FAQ_03_P1":"Опет, Netflix је једна од наших инспирација. Трудимо се да постигнемо корисничко искуство као Netflix-ово, плус много додатака. Међутим, што је најважније, дајемо вам слободу да управљате сопственом збирком и додајете нове изворе садржаја помоћу нашег система додатака.","FAQ_03_P2":"То чини Stremio бескрајно проширивим, тако да када користите Stremio, никада нисте ограничени на садржај који Netflix одлучи да лиценцира. На пример, преко апликације Stremio можете да гледате садржај са платформи ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8}, па чак и сам ${9}Netflix${10}!","FAQ_04_H1":"Како се Stremio пореди са Flipboard-ом?","FAQ_04_P1":"Не добијамо то питање тако често, осим када разговарамо са почетницима :)","FAQ_04_P2":"Stremio је по дизајну агрегатор садржаја, што га у суштини чини Flipboard-ом за видео снимке. Ово је веома очигледно у нашем одељку „Табла”, који вам даје каталоге и обавештења о новим епизодама/новим видео снимцима за оно што пратите, баш као и Flipboard.","FAQ_05_H1":"Како се Stremio пореди са Popcorn Time-ом?","FAQ_05_P1":"Stremio и Popcorn Time су слични у корисничком интерфејсу, јер нема много начина да се прави каталог видео забаве :)","FAQ_05_P2":"Међутим, док је Popcorn Time фокусиран на стримовање торента из одређених извора, Stremio је неограничен и само је агрегатор садржаја – није закључан у одређеном извору садржаја.","FAQ_05_P3":"Штавише, ми подразумевано не обезбеђујемо никакве torrent додатке, тако да Stremio не покрива случај употребе апликације Popcorn Time званичном функционалношћу.","FAQ_05_P4":"Још једна значајна разлика је у томе што је Popcorn Time потпуно отвореног кода, док је Stremio ${1} делимично отвореног кода${2}.","FAQ_06_H1":"Хоћете ли додати овај филм/серију?","FAQ_06_P1":"Не, жао нам је :(","FAQ_06_P2":"Као што је поменуто у већини других питања, Stremio не пружа никакав садржај сам по себи – све се додаје преко система додатака. У случају да имате захтев за садржај, можете да користите дугме „Пријави” у плејеру, које ће послати имејл аутору додатка који тренутно користите.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Хоћете ли направити додатак за X?","FAQ_08_P1":"То је сасвим могуће.","FAQ_08_P2":"Ако имате идеју за додатак, пошаљите нам поруку на ${1}office@stremio.com${2}, али уверите се да ваша идеја за додатак неће кршити било каква ауторска права или услове коришћења.","FAQ_08_P3":"У овом тренутку, следеће ствари у нашем плану су додаци за FandangoNOW, Filmon.tv видео снимак на захтев (VOD) и Crunchyroll.","FAQ_09_H1":"Да ли Stremio користи BitTorrent?","FAQ_09_P1":"Да, Stremio подржава BitTorrent као протокол за стримовање. Можете га користити или са торент додатком или превлачењем и испуштањем .torrent фајла у Stremio или лепљењем магнет линка у траку за претрагу.","FAQ_09_P2":"Имајте на уму да је једини званични додатак који користи BitTorrent ${1}Vodo${2}, који пружа независни (инди) садржај и све је дозвољено за дистрибуцију уз BitTorrent.","FAQ_09_P3":"Не подржавамо употребу додатака трећих страна који могу омогућити кршење ауторских права.","FAQ_10_H1":"Шта могу да гледам у апликацији Stremio са званичним додацима?","FAQ_10_P1":"Подразумевано, можете да гледате Filmon.tv, YouTube и Vodo садржај унутар саме апликације Stremio, са уграђеним плејером. Поред тога, имамо додатак за Twitch.tv и неколико других.","FAQ_10_P2":"Ово комбиновано пружа избор:","FAQ_10_L1":"Популарни ТВ канали, које обезбеђује Filmon.tv - на пример - Е4, BBC, Bollyworld TV","FAQ_10_L2":"Све са YouTube-а - на пример - BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Независни (инди) филмови са Vodo","FAQ_10_L4":"Онлајн емитовање видео игара са Twitch.tv","FAQ_10_P3":"Поред тога, постоји много извора садржаја који су обезбеђени уз Guidebox и Netflix додатке, који се не репродукују у потпуности унутар апликације Stremio, већ бивају преусмерени на дату услугу. На пример, додатак Guidebox би вам дао избор филмова које можете бесплатно да стримујете у САД, са услуга као што су TubiTV и Crackle.","FAQ_11_H1":"Stremio неће да се инсталира, шта да радим?","FAQ_11_P1":"Ако користите Windows, испробајте ${1}овај алтернативни програм за инсталацију${2}. ","FAQ_11_P2":"Ако користите Mac OS X, имајте на уму да не подржавамо ништа старије од OS X Mavericks (10.9).","FAQ_11_P3":"Ако користите Linux, имајте на уму да тренутно подржавамо само 64-битни (x64) Linux.","FAQ_11_P4":"Ако и даље не можете да решите проблем, пишите нам у ${1}нашој Facebook групи${2}.","FAQ_12_H1":"Зашто се мој антивирус активира? Да ли је Stremio безбедан?","FAQ_12_P1":"Уверавамо вас да је Stremio ${1}100% чист${2}.","FAQ_12_P2":"Ваш антивирус се активира зато што програм за инсталацију садржи рекламе и неки антивирусни програми га препознају као рекламни софтвер.","FAQ_12_P3":"Ако још увек нисте сигурни, можете да испробате наш ${1}алтернативни програм за инсталацију${2}.","FAQ_13_H1":"Како могу да направим додатак?","FAQ_13_P1":"За почетак, препоручујемо вам да проверите наш ${1}системски модул додатака${2} на GitHub-у.","FAQ_13_P2":"Након тога, можете да пратите ${1}„Hello World” туторијал${2}.","FAQ_13_P3":"Ако немате никакве вештине програмирања, објавите своју идеју у ${1}Reddit заједницу${2} и контактирајте нас са идејом за додатак на ${3}office@stremio.com${4}.","FAQ_14_H1":"Како се објављују додаци?","FAQ_14_P1":"Када направите додатак и хост и ставите поље крајње тачке у свој манифест, које указује на радну адресу додатка, додатак ће се аутоматски објавити у нашем ${1}каталогу додатака${2}.","FAQ_14_P2":"Ово се дешава зато што серверски део модула Stremio додатака аутоматски позива наш API да најави додатак. Када наш API потврди вашу крајњу тачку као важећи додатак, он ће почети да се приказује у каталогу.","FAQ_15_H1":"Могу ли да покренем Stremio у свом прегледачу?","FAQ_15_P1":"Не, тренутно, али то стиже!","FAQ_15_P2":"Ако сте радознали да видите алфа верзију, можете је видети овде: ${1}alpha4.strem.io${2}. Имајте на уму да је стримовање онемогућено на овој алфа верзији. Подржавамо Chrome, Firefox, Opera и Edge прегледаче.","FAQ_16_H1":"Пребацивање на ТВ не ради / титлови не раде","FAQ_16_P1":"Пребацивање на ТВ користи DLNA технологију која је веома неконзистентна између различитих брендова и модела телевизора. Из тог разлога, немамо могућност да тестирамо у сваком случају, тако да је далеко од савршеног. Упркос томе, стално радимо на побољшању, али не можемо да вам дамо временску процену када ће DLNA почети исправно да ради са вашим телевизором.","FAQ_16_P2":"Ако, чак, ни не видите свој телевизор у менију за пребацивање, покушајте да онемогућите мрежну везу и поново је омогућите (на Windows-у, кликните десним тастером миша на Мрежу и користите Омогући/Онемогући), као и да рестартујете рутер, телевизор и рачунар.","FAQ_16_P3":"Ако и даље наилазите на проблеме, можете нам помоћи тако што ћете послати информације о бренду и моделу телевизора на ${1}office@stremio.com${2}.","FAQ_16_P4":"У међувремену, препоручујемо Chromecast, који веома добро подржавамо, а можете и једноставно прикључити телевизор на рачунар помоћу HDMI кабла.","FAQ_17_H1":"Stremio се замрзава и/или отказује, шта могу да урадим?","FAQ_17_P1":"Пре свега, ако користите Windows 7 са AVG антивирусом: имамо проблем са том комбинацијом. Проблем је у самом AVG-у и не постоји разуман начин да га решимо са наше стране. Нажалост, изузеци или онемогућавање антивируса неће радити. Једино решење је да замените AVG нечим другим.","FAQ_17_P2":"Ако то није проблем, али свакако користите Windows, ажурирајте на најновији сервисни пакет и ажурирајте/поново инсталирајте драјвере за GPU, а затим покушајте поново.","FAQ_17_P3":"Ако ваш проблем још увек није решен или користите Mac или Linux, пишите нам тако што ћете пријавити тачне детаље проблема у ${1}нашој Facebook групи${2}.","FAQ_18_H1":"Како могу да направим додатак?","FAQ_18_P1":"За почетак, препоручујемо вам да проверите наш ${1}системски модул додатака${2} на GitHub-у.","FAQ_18_P2":"Након тога, можете да пратите ${1}„Hello World” туторијал${2}.","FAQ_18_P3":"Ако немате никакве вештине програмирања, објавите своју идеју у ${1}Reddit заједницу${2} и контактирајте нас са идејом за додатак на ${3}office@stremio.com${4}. ","FAQ_19_H1":"Зашто Stremio заузима меморијски простор на диску?","FAQ_19_P1":"Stremio има локални кеш за привремено чување видео фајлова које стримујете.","FAQ_19_P2":"Ово има две предности: прво, омогућава апликацији Stremio да унапред баферује видео снимак како би се обезбедио глађе стримовање. Друго, чува видео снимке у локалном кешу тако да можете да наставите да их гледате офлајн.","FAQ_19_P3":"Колико Stremio чува зависи од подешавања кеша на панелу подешавања. Stremio може да задржи подешену количину (нпр. 2GB) на вашем диску, осим ако тренутно стримовани видео снимак није већи од тога, у том случају мора да додели довољно меморије да га задржи док га не стримујете.","FAQ_20_H1":"Где је фолдер кеша?","FAQ_20_P1":"На Windows-у, то је stremio-cache на диску који сте изабрали у подешавањима (нпр. \\"Е:\\\\stremio-cache\\")","FAQ_20_P2":"На MacOS-у, то је \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"На Linux-у, то је \\"~/.stremio/stremio-cache\\" или \\"~/stremio-cache\\"","FAQ_21_H1":"Добијам грешку „Сервер за стримовање није пронађен“, шта да радим?","FAQ_21_P1":"Ако добијете ову грешку, то значи једну од неколико ствари:","FAQ_21_P2":"1) Покушавате да користите додатак који подржава YouTube/BitTorrent извор, преко наше ${1}веб верзије${2}. У овом случају, требало би да инсталирате нашу десктоп верзију са ${3}нашег веб-сајта${4}.","FAQ_21_P3":"2) Нешто није у реду са вашом Stremio инсталацијом. У овом случају, покушајте да поново инсталирате нашу најновију верзију за рачунар са ${1}веб-сајта${2}. Ако ово не помогне, покушајте да онемогућите антивирусне програме и заштитне зидове, рестартујте рачунар и покушајте поново. Ако ни ово не функционише, пишите нам у ${3}нашој Facebook групи${4}.","FAQ_22_H1":"Не могу да видим/користим већину додатака на iOS-у","FAQ_22_P1":"Због ограничења у условима и одредбама Apple App Store-а, ограничили смо iOS апликацију само на одређени скуп додатака.","FAQ_22_P2":"Међутим, будите сигурни – биће више додатака за iOS у будућности, а можда ћемо додати и интеграцију која ће вам омогућити да користите све Stremio додатке захваљујући повезивању iOS апликације са Stremio сервером за стримовање."}')},62754:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"TV-kanal","TYPE_channel":"Kanal","TYPE_other":"Annat","TYPE_movie_PL":"Filmer","TYPE_series_PL":"Serier","TYPE_tv_PL":"TV-kanaler","TYPE_channel_PL":"Kanaler","TYPE_other_PL":"Annat","TYPE_ALL":"Allt","TYPE":"Typ","CATALOG_com_linvo_cinemeta_top":"Populärt","CATALOG_com_linvo_cinemeta_imdbRating":"Utvalda","CATALOG_com_linvo_cinemeta_year":"Nytt","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain-filmer","VIDEO":"Video","BACK":"Tillbaka","MORE":"Mer","DONE":"Klar","COPY":"Kopiera","SUCCESS":"Lyckades","ERROR":"Fel","SETTINGS_CASTING_MODE_PICKER":"Casting-läge","CASTING_MODE_HLSV2":"Standard","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Ingen transkodning","Discover":"Upptäck","Board":"Hem","Library":"Bibliotek","My Library":"Mitt bibliotek","Calendar":"Kalender","NOTIFICATION_ONLINE":"Du är nu online","NOTIFICATION_OFFLINE":"Du är för närvarande offline","INTERNET_CONNECTION":"Nätverksanslutning","STORAGE_FULL_TITLE":"Varning: Lagringsutrymmet är fullt!","STORAGE_FULL_TEXT":"Stremio kommer inte att kunna spara dina inställningar, preferenser eller inloggningsinformation. Överväg att starta om eller ominstallera Stremio.","SEARCH":"Sök","SEARCH_NO_RESULTS":"Inga resultat hittades","SEARCH_EXPLANATION_CONTENT":"Sök efter filmer, serier, YouTube och TV-kanaler","SEARCH_EXPLANATION_PEOPLE":"Sök efter skådespelare, regissörer och författare","SEARCH_PASTE_LINKS":"Klistra in HTTP- och magnetlänkar","SEARCH_OR_PASTE_LINK":"Sök eller klistra in länk","SEARCH_SUGGESTIONS":"Sökförslag","ADD_TO_LIB":"Lägg till i biblioteket","REMOVE_FROM_LIB":"Ta bort från biblioteket","ADDED_TO_LIB":"Tillagt i biblioteket","REMOVED_FROM_LIB":"Borttagen från biblioteket","TRAILER":"Trailer","WATCH_TRAILER":"Titta på trailer","WATCH_NOW":"Titta nu","SHOW":"Visa","SHOW_MOVIE":"Visa film","WATCH_RANDOM":"Titta på slumpmässigt","IMDB_RATING":"Betyg på IMDB","YEAR":"År","DIRECTOR":"Regissör","WRITER":"Manusförfattare","LEAD_ACTORS":"Huvudskådespelare","CAST":"Rollista","CREW":"Produktionsteam","SHOW_MORE_CAST":"Visa mer »","AIRED":"Utgiven","SEASONS":"Säsonger","GENRE":"Genre","GENRE_ALL":"Alla genrer","CATALOG":"Katalog","SUMMARY":"Sammanfattning","SHOW_MORE":"Visa mer","SIMILAR":"Liknande","UPCOMING":"Kommande","TBA":"TBA","ENDED":"Avslutad","DURATION":"Speltid","FEATURED":"Utvalda","METADATA":"Metadata","CATEGORY":"kategori","LINKS_GENRES":"Genrer","LINKS_CAST":"Rollista","LINKS_DIRECTORS":"Regissörer","SEARCH_VIDEOS":"Sök efter video","SEARCH_PLACEHOLDER":"sök eller klistra in magnetlänk","ADDON":"Tillägg","ADDONS":"Tillägg","OFFICIAL":"Officiella","ADDONS_OFFICIAL":"Officiella Stremio-tillägg","ADDONS_POPULAR":"Populärt i ditt område","ADDON_FREE":"Gratis tillägg","ADDON_PEERED":"parad","ADDON_SUBSCRIPTION":"Prenumeration på tillägg","ADDON_STREAM_GEORESTRICTED":"icke tillgängligt i ditt område","ADDON_STREAM_OFFLINECACHE":"Offline-cache","ADDON_STREAM_LOCALFILE":"Lokal fil","SHARE_ADDON":"Dela tillägg","AVAILABLE_STREAMS":"Tillgängliga strömmar","NO_STREAM":"Ingen ström","ALL_ADDONS":"Alla","INSTALL_MORE_ADDONS":"För fler strömmar, installera gärna fler tillägg","STREAM_NOT_SUPPORTED":"Den valda strömmen stöds inte på denna plattform.","ADDON_CATALOGUE":"Katalog för tillägg","ADDON_CATALOGUE_MORE":"Fler tillägg »","REPO_ADDED":"Repository tillagt","ADDON_REPO_EXIST_ERR":"Detta tilläggsrepository finns redan","ADDON_REPO_ERR":"Ett fel inträffade vid tillägg av repository","ADDON_ADD_ERR":"Ett fel uppstod vid tillägg av tillägget","ERR_ADDON_PROTECTED":"Skyddat tillägg","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Något gick fel - autentiseringen kan ha misslyckats","ERR_NOT_COLLECTION_URL":"Icke en samlings-URL","ERR_NOT_ADDON_URL":"Icke en tilläggs-URL","ERR_DETECTFROMURL":"Kan inte identifiera från URL","ADDON_DUPLICATE_WARNING":"Varning: Duplicerat tillägg","ADDON_COLLECTION_SET_FAILED":"Misslyckades med att ställa in tilläggsamling","SETTINGS_DATA_EXPORT":"Exportera data","ADDON_PULL_FAILED":"Misslyckades med att hämta tillägg","REFRESH_ON_CLICK":"Klicka för att försöka igen","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Visas fortfarande på bio","WATCH_IN_CINEMA":"Se den på din lokala bio","IN_THEATER":"På bio","GET_TICKETS":"Skaffa biljetter","UPCOMING_EPISODE":"Kommande avsnitt","UPCOMING_EPISODE_MESSAGE":"Detta avsnitt kommer att sändas den","MISSING_DATE_EPISODE":"Saknas sändningsdatum för avsnittet","MISSING_DATE_EPISODE_MESSAGE":"Detta avsnitt kanske inte har sänts ännu","CHANNEL_NOT_SCRAPED":"Den här kanalen är inte skrapad än.
    Kom tillbaka om några minuter.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Lägg till den till ditt bibliotek för att bli meddelad när den blir tillgänglig.","GET_NOTIFIED_WHEN_AVAILABLE":"Du kommer att bli meddelad när den blir tillgänglig.","WARNING_STREAMING_SERVER":"Varning: Lokal streaming-server hittades inte. Streaming från YouTube och BitTorrent kommer inte att vara tillgängligt.","WARNING_STREAMING_SERVER_DISMISS":"Avfärda","WARNING_STREAMING_SERVER_LATER":"Senare","DECODER_WARNING":"Varning: Denna video kanske inte stöds av din maskinvara. Kom ihåg att uppspelningen kan vara långsam.","GENERIC_ERROR_MESSAGE":"Något gick fel!","TRY_AGAIN":"Försök igen","CLEAR_DATA":"Rensa data","PLAYER_ERROR":"Hoppsan, fel på spelaren","PLAYER_ERROR_LOOKSLIKE":"Det tycks vara ett fel på spelaren","PLAYER_ORIENTATION":"Spelarorientering","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Låst","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Spelarorientering låst i landskapsläge","PLAYER_ORIENTATION_SENSOR":"Spelarorientering automatisk (sensor)","PLAYER_PLAYBACK_SPEED":"Uppspelningshastighet","PLAYER_PLAYBACK_ERROR":"Uppspelningsfel, försök igen","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Okänt fel","PLAYER_PLAYBACK_ERROR_DEFAULT":"Tyvärr kan denna video inte spelas upp av {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Undertextsspråk","PLAYER_SUBTITLES_VARIANTS":"Undertextsvarianter","PLAYER_SUBTITLES_SETTINGS":"Undertextsinställningar","PLAYER_SUBTITLES_DISABLED":"Undertexter är avaktiverade","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertikal position","PLAYER_SUBTITLES_LOADED":"Undertexter laddade","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Inbäddade undertexter laddade","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exklusiva undertexter laddade","PLAYER_SUBTITLES_LOADED_LOCAL":"Lokala undertexter laddade","PLAYER_SUBTITLES_LOADED_ORIGIN":"Undertexter från {{origin}} laddade","PLAYER_PLAY":"Spela","PLAYER_PAUSE":"Pausa","PLAYER_NEXT_VIDEO":"Nästa video","PLAYER_MUTE":"Slå av ljudet","PLAYER_UNMUTE":"Slå på ljudet","PLAYER_OPEN_IN_EXTERNAL":"Öppna i extern spelare","PLAYER_OPEN_IN_NPLAYER":"Öppna i nPlayer","PLAYER_PLAY_IN":"Spela på {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Kommande på","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Nästa","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Avfärda","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Titta nu","PLAYER_COPY_STREAM_SUCCESS":"Streamlänken har kopierats till ditt urklipp","PLAYER_COPY_STREAM_ERROR":"Misslyckades med att kopiera streamlänken","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Nedladdningslänken kopierades till urklipp","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Det gick inte att kopiera nedladdningslänken","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Strömmar från","CASTING_TO":"Castar till","NETWORK_STATUS":"Nätverksstatus","STREAM_SPEED":"Nedladdningshastighet:","STREAM_BUFFERED":"Buffrat:","PEERS_INFO":"Information om peers","PEERS_ACTIVE":"Aktiv:","PEERS_CONNECTED":"Ansluten:","PEERS_WAITING":"Väntar:","TRANSCODING_WARNING":"Varning: Konverterar video","STREAM_LOADING":"Laddar strömmen...","PLAYING_LOCAL":"Spelar upp en lokal fil","PLAYING_CACHE":"Spelar upp från cache","WRONG_SUBS":"Felaktiga undertexter","ERR_SUBS_LOADING_TITLE":"Fel vid inläsning av undertexter","ERR_SUBS_LOADING":"Fel vid inläsning av undertexter: Detta kan bero på problemet med tillägget du använder eller din nätverksanslutning","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Följande undertexttillägg misslyckades","ERR_CASTING_UPDATE_TITLE":"Kan inte uppdatera castingenhetsinformation: Streamingservern kan vara offline","CHOOSE_DEVICE":"Välj en enhet att titta på","NO_CAST_DEVICES":"Inga castingenheter tillgängliga.","NO_SETTINGS":"Inga inställningar tillgängliga.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Platta","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Undertexter","SUBTITLES_CHANGE":"Ändra undertexter för ","SUBTITLES_CHANGE_NONE":"Det finns inga andra undertexter för detta språk, beklagar.","SUBTITLES_CHANGE_ACIVE":"För närvarande är undertexter #{{subtitlesDialog.activeIdx + 1}} aktiverade. Klicka på \\"Fortsätt\\" för att aktiverar undertexter #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Undertexter eller","SUBTITLES_ADJUST_DELAY":"Justera fördröjning av undertexter:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Eller använd tangenterna G / H när du tittar.","SUBTITLES_ADJUST_DELAY_TIP":"TIPS: du kan använda tangenterna G / H när du tittar för att justera.","SUBTITLES_DELAY":"Fördröjning av undertexter:","SUBTITLES_LOADING":"Laddar undertexter...","SUBTITLES_UNAVAILABLE":"Inga externa undertexter tillängliga","SUBTITLES_DISABLED":"Inaktiverat","EXTERNAL_PLAYER_DISABLED":"Inaktiverat","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Tillåt val","EXTERNAL_PLAYER_HINT":"Tips: Du kan ställa in Stremio till att alltid öppna videor med en extern spelare","DONT_SHOW_AGAIN":"Visa inte igen","SERVICE_INSTALL":"Installera","AUDIO":"Ljud","DEFAULT_LANGUAGE":"Standardspråk","DEFAULT_SECONDARY_LANGUAGE":"Sekundärt standardspråk","SEASON":"Säsong","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Avsnitt","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sortera","SORT_BY":"Sortera på","FILTER":"filtrera","SORT_TRENDING":"Sortera trender","SORT_RECENT":"Sortera efter senaste","SORT_ALPHABET":"Sortera efter alfabetet","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"betyg","SORT_WATCHED":"sett","SORT_YEAR":"År","SELECT":"Select","SELECT_TYPE":"Välj typ","SELECT_SORT":"Välj sortering","SELECT_CATALOG":"Välj katalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Välj genre","SORT_LASTWATCHED":"Efter senast sedda","SORT_NAME":"Efter namn","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Efter tittade gånger","SORT_NOTWATCHED":"Efter inte sedda","New for You":"Nytt för dig","New Episodes":"Nya avsnitt","New Videos":"Nya videor","Recommendations":"Rekommendationer","LIBRARY_RESUME":"Återuppta","LIBRARY_PLAY":"Spela","LIBRARY_DETAILS":"Detaljer","LIBRARY_RESUME_DISMISS":"avfärda","LIBRARY_CLEAR_PROGRESS":"Rensa videoförlopp","LIBRARY_REMOVE":"Ta bort","LIBRARY_NOT_LOGGED_IN":"Biblioteket är endast tillgängligt för inloggade användare","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Kalendern är endast tillgänglig för inloggade användare","NOT_LOGGED_IN_CLOUD":"Få åtkomst till dina favoritfilmer och TV-program när som helst, var som helst","NOT_LOGGED_IN_RECOMMENDATIONS":"Rekommendationer anpassade efter din visningshistorik","NOT_LOGGED_IN_NOTIFICATIONS":"Missa aldrig ett avsnitt igen","NOT_LOGGED_IN_CALENDAR":"Schemalägg din personliga visningskalender","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Utvalda","DISCOVER_TOP":"Topp","DISCOVER_OSCAR":"Oscarsvinnare","DISCOVER_WARNING_TITLE":"Hoppsan!","DISCOVER_EMPTY_CATALOG":"Detta tillägg returnerade tomt innehåll.","DISCOVER_ADULT_WARNING":"Innehållet är synligt endast för vuxna. Är du 18+?","DISCOVER_NOADDON_WARNING":"Varning: inget Stremio-tillägg aktivt för denna typ. Visar sparade objekt, ingenting kommer att uppdateras.","DISCOVER_LOAD_ERR":"Innehållet laddades inte, ett fel inträffade.","DISCOVER_ADDON_UNINSTALLED":"Detta innehåll är inte längre tillgängligt, du kan ha avinstallerat tillägget.","UNINSTALL_THIS_ADDON":"Avinstallera detta tillägg","ERR_ADDON_NOT_INSTALLED":"Detta tillägg är inte installerat. Installera nu?","DETAIL_RECEIVE_NOTIF_SERIES":"Få aviseringar för nya avsnitt","DETAIL_RECEIVE_NOTIF_VIDEOS":"Få aviseringar för nya videor","SIDEBAR_SHOW_STREAMS":"Visa strömmar","RELAUNCH":"Starta om nu!","UPGRADE":"Uppgradera till den senaste versionen av Stremio","RELOAD_UI":"Ladda om användargränssnittet","MANUAL_UPDATE_TITLE":"Uppdatera din Stremio-version","MANUAL_UPDATE_LINE1":"Du kör en föråldrad version av Stremio, vilket inte rekommenderas.","MANUAL_UPDATE_LINE2":"Vänligen uppdatera så snart som möjligt.","BUTTON_UPDATE_LATTER":"Inte nu","BUTTON_UPDATE_NOW":"Uppdatera","UPDATER_TITLE":"En ny version av Stremio är tillgänglig","UPDATER_INSTALL_BUTTON":"Installera nu","ANONYMOUS_USER":"Anonym användare","DONT_HAVE_ACC":"Har du inget konto?","HAVE_ACC":"Har du redan ett konto?","PASSWORD":"Lösenord","PASSWORD_CONFIRM":"Bekräfta lösenord","EMAIL":"E-post","FB_LOGIN":"Logga in med Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Ingenting delas utan din tillåtelse ","FB_NOPOST":"Vi kommer inte att publicera något på din vägnar","OR":"eller","I_ACCEPT":"Jag accepterar","I_ACCEPT_BY_CLICKING":"Genom att klicka på knappen ovan intygar jag att jag accepterar ","TOS":"Användarvillkor","MUST_ACCEPT_TERMS":"Du måste acceptera villkoren","PASSWORDS_NOMATCH":"Lösenorden matchar inte","SIGN_UP":"Registrera","SIGN_UP_EMAIL":"Registrera dig med e-post","CLICK_TO_SIGN_UP":"Klicka här för att registrera dig.","LOG_IN":"Logga in","LOG_OUT":"Logga ut","EXIT_FULLSCREEN":"Avsluta helskärmsläge","ENTER_FULLSCREEN":"Gå till helskärmsläge","PLAY_URL_MAGNET_LINK":"Spela upp URL/Magnetlänk","HELP_FEEDBACK":"Hjälp och feedback","TERMS_OF_SERVICE":"Användarvillkor","PRIVACY_POLICY":"Integritetspolicy","ABOUT_STREMIO":"Om Stremio","USER_PANEL":"Användarpanel","LOGIN_LABEL":"Logga in","GUEST_LOGIN":"Gästinloggning","GUEST_LOGIN_NOTICE":"Gästinloggning rekommenderas inte. Genom att använda en vanlig inloggning kan Stremio synkronisera din bibliotek, ta emot aviseringar för favoritserier/kanaler. Är du säker på att du vill fortsätta?","GUEST_LOGIN_NOTICE_2":"Gästinloggning rekommenderas inte - du kommer inte att ha synkroniserad bibliotek och meddelanden från tavlan, vilka är viktiga funktioner i Stremio. Är du säker på att du vill fortsätta?","CLICK_HERE":"klicka här","WRONG_PASSWORD":"Fel lösenord. Om du har glömt ditt lösenord, ","SET_A_PASS":"ange ett lösenord","RESET_PASSWORD":"Återsäll lösenord","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Glömt lösenord?","EMAIL_USED_WITH_FB":"Denna e-postadress användes med en Facebook-inloggning.","INVALID_EMAIL":"Vänligen ange en giltig e-postadress","INVALID_PASSWORD":"Var vänlig skriv in ett giltigt lösenord","CONN_ERR":"Anslutningsfel - var vänlig och försök igen senare.\\n\\nOm problemet kvarstår, inaktivera brandväggar/antivirusprogram (speciellt Bitdefender).","IMPORT_FROM_GUEST":"Importera Bibliotek från ditt gästkonto","RECEIVE_UPDATES_EMAIL":"Få uppdateringar till din e-post från Stremio","LOGIN_FAILED":"Inloggningen misslyckades.","SIGNUP_FAILED":"Registrering misslyckades.","SEARCH_FAILED":"Sökningen misslyckades","EMAIL_USED":"Denna e-post är redan i bruk.","WAITING_FB_LOGIN":"Loggar in med Facebook...","EXTERNAL_OPENING_YOUTUBE":"Du är på väg att lämna Stremio och öppna YouTube. Vill du fortsätta?","EXTERNAL_OPENING_APP":"Du är på väg att lämna Stremio för att öppna en annan app. Vill du fortsätta?","EXTERNAL_PLAYER_TITLE":"Spela i extern spelare","EXTERNAL_REMEMBER_PLAYER":"Vill du komma ihåg ditt val","EXTERNAL_ALWAYS_PLAY":"Ja","EXTERNAL_ONLY_ONCE":"Nej","BEST_FIT":"Bästa passform","FIT_SCREEN":"Anpassa till skärm","FILL":"Fyll","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Berätta om vad du gillar","INTRO_TASTE_LONG":"Berätta för oss om vad du vill se","INTRO_TASTE_PICK":"Välj {{interestsRemaining}} intressen","INTRO_TASTE_PICK_MORE":"Välj {{interestsRemaining}} intressen till","INTRO_TASTE_HELP_US":"Hjälp oss att lära oss mer om dig.","INTRO_TASTE_CHOOSE_THESE":"Välj några av dessa:","INTRO_TASTE_CHOOSE_MIN":"Välj minst 3 kategorier","INTRO_TASTE_CHOOSE_MIN_ERR":"Du måste välja minst 3 kategorier!","INTRO_TASTE_LIFESTYLE":"Livsstil","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Mat & Hälsa","INTRO_TASTE_BEAUTY_FASHION":"Skönhet & Mode","INTRO_TASTE_NEWS":"Nyheter","INTRO_TASTE_GAMING":"Spel","INTRO_TASTE_SCIENCE_EDU":"Vetenskap & Utbildning","INTRO_TASTE_MUSIC":"Musik","INTRO_TASTE_TRAVEL":"Resor","INTRO_TASTE_LATE_NIGHT":"Senkvällsshow","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedi","INTRO_TASTE_DIY":"Gör det själv","INTRO_TASTE_TECH":"Teknik","INTRO_TASTE_CINEMA":"Film","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Valt tillägg stöds inte på den här plattformen.","ADDON_DISCLAIMER":"Användandet av tredjeparts-tillägg kommer alltid att vara ditt eget ansvar och faller under lagstiftningen i det område du befinner dig i.","ADDON_ACTIVATE":"Aktivera detta tillägg?","ADDON_REPO_ADD":"URL för tillägsrepo","ADDON_ADD":"Lägg till","INSTALL_ADDON":"Installera tillägg","ADD_ADDON":"Lägg till tillägg","ADD_ADDON_DESCRIPTION":"Du kan lägga till ett tillägg via en extern länk, som visas under Installerade tillägg.","PASTE_ADDON_URL":"Klistra in tillägs-URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Nyheter","BUTTON_CONTINUE":"Fortsätt","BUTTON_ACTIVATE":"Aktivera","BUTTON_ACTIVATED":"Aktiverad","BUTTON_CANCEL":"Avbryt","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Bekräfta","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Avvisa alla","BUTTON_VIEW_ALL":"visa alla","BUTTON_SEE_ALL":"Se alla","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Öppna i webbläsare","LIB_EMPTY":"Ditt bibliotek ser tomt ut. Ta reda på hur användbart det kan vara :)","HOW_START":"Så här kan du börja:","LIB_EMPTY_CAL":"Din Kalender visar serier från ditt bibliotek.","HOW_START_CAL":"Så här kan du lägga till en serie:","LIB_EMPTY_BOARD":"Hem visar notifikationer & rekommendationer med anknytning till ditt bibliotek.","HOW_START_BOARD_WAIT":"Lägg gärna till några serier eller kanaler till Bibliotek och ge oss några minuter att behandla dem :)","HOW_START_BOARD":"Så här kan du lägga till serier & filmer till den:","IMPORT_FB":"Importera saker du tycker om från Facebook","IMPORT_TRAKT":"Importera ditt mediebibliotek från Trakt","IMPORT_DISCOVER":"Hitta intressanta saker från Upptäck","IMPORT_DISK":"Importera filmer eller serier som du har på din lokala hårddisk","PLEASE_CREATE_ACC":"Vänligen skapa ett konto för att aktivera synkronisering av Biblioteket & Hem.","IMPORT_DISCOVER_SIGNUP":"Registrera dig och hitta intressanta saker från Discover","IMPORT_DISK_SIGNUP":"Registrera dig och importera filmer eller program du har på din local disk","LIB_EMPTY_CLOUD":"Molnbibliotek","LIB_EMPTY_CLOUD_DESC":"Personligt molnbibliotek synkroniserat på alla enheter","LIB_EMPTY_EARLY":"Tidig fågel","LIB_EMPTY_EARLY_DESC":"Få aviseringar för nya avsnitt","LIB_EMPTY_PERSONAL":"Personligt","LIB_EMPTY_PERSONAL_DESC":"Få personliga rekommendationer","LIB_EMPTY_CALENDAR_DESC":"Schemalägg din personliga tittakalender","LIB_EMPTY_ALL":"Registrera dig för att få alla dessa:","LIB_EMPTY_BEST":"Registrera dig för att få det bästa av Stremio","LIB_EMPTY_OTHER":"Registrera dig för att aktivera Kalender och andra coola funktioner","CALENDAR_ADDED":"Stremio-kalendern har lagts till i din standardskrivbordskalender.","CALENDAR_ADDED_MSG":"Om detta inte fungerar, lägg till denna URL manuellt i din kalenderapplikation","TRAKT_EXPIRED":"Trakt-autentisering har löpt ut, gå till Inställningar och autentisera på nytt","TRAKT_REQUIRES_LOGIN":"Trakt-fel","TRAKT_REQUIRES_LOGIN_MSG":"Du behöver logga in","TRAKT_IMPORT_WATCHED":"Importera","THEME":"Tema","THEME_DEFAULT":"Standard","THEME_ADAPTIVE":"Adaptiv","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Inställningar","SETTINGS_NAV_GENERAL":"Allmänt","SETTINGS_NAV_PLAYER":"Mediaspelare","SETTINGS_NAV_STREAMING":"Strömning","SETTINGS_NAV_SHORTCUTS":"Genvägar","SETTINGS_SHORTCUT_RELOAD_APP":"Ladda om appen","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Öppna Inställningar","SETTINGS_SHORTCUT_SWITCH_TABS":"Byt flikar","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Bläddra genom flikarna framåt","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Bläddra genom flikarna bakåt","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigera mellan menyer","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Gå till Sök","SETTINGS_SHORTCUT_EXIT_BACK":"Avsluta / Gå tillbaka","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Växla meny för uppspelningshastighet","SETTINGS_SHORTCUT_MENU_VIDEOS":"Växla videomeny","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Växla textningsmeny","SETTINGS_SHORTCUT_MENU_AUDIO":"Växla ljudmeny","SETTINGS_SHORTCUT_MENU_INFO":"Växla informationsmeny","SETTINGS_SHORTCUT_FULLSCREEN":"Växla helskärmsläge","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Visa kontroller","SETTINGS_SHORTCUT_PLAY_PAUSE":"Spela / Pausa","SETTINGS_SHORTCUT_VOLUME_UP":"Höj volymen","SETTINGS_SHORTCUT_VOLUME_DOWN":"Sänk volymen","SETTINGS_SHORTCUT_SEEK_NEXT":"Sök nästa","SETTINGS_SHORTCUT_SEEK_PREV":"Sök föreg","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Sök bakåt","SETTINGS_SHORTCUT_SEEK_FORWARD":"Sök framåt","SETTINGS_SHORTCUT_PLAY_NEXT":"Spela nästa","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Öka undertextstorleken","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Minska undertextstorleken","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Öka fördröjningen av undertexter","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Minska fördröjning av undertexter","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Växla sidofält","SETTINGS_SHORTCUT_OR":"eller","SETTINGS_SHORTCUT_TO":"till","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autentisera","SETTINGS_FACEBOOK_IMPORT":"Importera","SETTINGS_CALENDAR_SUBSCRIBE":"Prenumerera","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Kalenderapp öppnades. Prenumerera på kalendern manuellt.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Kalenderfil laddades ned. Importera den till din kalenderapp.","SETTINGS_INTERFACE_LANGUAGE":"Gränssnittsspråk","SETTINGS_LAUNCH_STARTUP":"Starta vid uppstart","SETTINGS_VLC_DEFAULT":"Spela upp med VLC","SETTINGS_UI_LANGUAGE":"Gränssnittsspråk","SETTINGS_UI_ZOOM":"Gränssnittszoom","SETTINGS_FULLSCREEN_EXIT":"Escape-tangenten avslutar helskärm","SETTINGS_GAMEPAD":"Aktivera stöd för spelkontroll","SETTINGS_CLOSE_WINDOW":"Stäng appen när fönstret är stängt","SETTINGS_SUBTITLES_LANGUAGE":"Standardspråk för undertexter","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Sekundärt språk för undertexter","SETTINGS_SUBTITLES_SIZE":"Standardstorlek för undertexter","SETTINGS_SUBTITLES_BACKGROUND":"Textningsbakgrund","SETTINGS_SUBTITLES_COLOR":"Textningsfärg","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Textningskantfärg","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Textningsbakgrundsfärg","SETTINGS_SEEK_KEY":"Söktid med piltangenter","SETTINGS_SEEK_KEY_SHIFT":"Söktid med piltangenter när Shift hålls ned","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Spolnings- och snabbframåtstid","SETTINGS_BINGE":"Spela automatiskt upp nästa avsnitt","SETTINGS_NEXT_VIDEO":"Visa avisering för att starta nästa avsnitt","SETTINGS_NEXT_VIDEO_TRIGGER":"Visa nästa avsnittsavisering för:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Popup-tid för nästa video","SETTINGS_PLAY_IN_BACKGROUND":"Spela i bakgrunden","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Spela i extern spelare","SETTINGS_RESIZE":"Anpassa fönsterstorlek automatiskt före uppspelning","SETTINGS_OVERRIDE_SERVER":"Åsidosätt webbadressen för strömningsserver (avancerat)","SETTINGS_SERVER_ADD_URL":"Lägg till URL","SETTINGS_SERVER_URL":"URL för strömningsserver: ","SETTINGS_SERVER_AVAILABLE":"Strömningsserver är tillgänglig.","SETTINGS_SERVER_UNAVAILABLE":"Strömningsserver är inte tillgänglig.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Fel","SETTINGS_SERVER_CONFIGURE_TITLE":"Konfigurera webbadress för strömningsserver","SETTINGS_SERVER_CONFIGURE_INPUT":"Ange en webbadress till en strömningsserver","SETTINGS_SERVER_CACHE_SIZE":"Cachestorlek","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent-profil","SETTINGS_HTTPS_ENDPOINT":"HTTPS-slutpunkt för strömning: ","SETTINGS_TRANSCODE_PROFILE":"Transcoderingsprofil","SETTINGS_USE_BETA":"Använd alltid senaste betaversionen","SETTINGS_IMPORT_FB":"Importera från Facebook","SETTINGS_IMPORT_DISK":"Importera från lokal hårddisk","SETTINGS_IMPORT_TRAKT":"Importera från Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausa uppspelningen när den är minimerad","SETTINGS_HWDEC":"Hårdvaruaccelererad avkodning","SETTINGS_BACKGROUND":"Bakgrundsuppspelning","SETTINGS_SUBSCRIBE_CALENDAR":"Prenumerera på kalender","SETTINGS_REQ_EXPORT":"Begär dataexport","SETTINGS_ACC_DELETE":"Begär radering av konto","SETTINGS_CHANGE_PASSWORD":"Ändra lösenord","SETTINGS_TOS":"Användarvillkor","SETTINGS_SUPPORT":"Kontakta supporten","SETTING_LANGUAGE":"Språk","SETTINGS_BLUR_UNWATCHED_IMAGE":"Sudda bilder för osedda avsnitt","SETTINGS_QUIT_ON_CLOSE":"Avsluta vid stängning","SETTINGS_TRAKT":"Trakt-skrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Logga ut från Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Logga ut från Trakt","SETTINGS_SCAN_FOR_REMOTE":"Skanna QR-koden för att öppna fjärrkontrollen","SETTINGS_DESKTOP_NOTIFICATIONS":"Skrivbordsaviseringar","SETTINGS_DATA_SAVER":"Datasparläge","SETTINGS_LANGUAGE_INTERFACE":"gränssnitt","SETTINGS_LANGUAGE_SUBS":"standard undertexter","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Välj ljudspår automatiskt","SETTINGS_DEFAULT_AUDIO_TRACK":"Standardljudspår","SETTINGS_SECONDARY_AUDIO_TRACK":"Sekundärt ljudspår","SETTINGS_SURROUND_SOUND":"Surround-ljud","SETTINGS_ACCOUNT":"konto","SETTINGS_PLATFORM":"Plattform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"Om","SETTINGS_MPV_WINDOW":"Starta mediaspelare i ett separat fönster (avancerat)","SETTINGS_PLAY_IN_EXTERNAL":"Starta alltid video i extern spelare","SETTINGS_STORAGE_BUTTON":"Rensa lokal lagring","SETTINGS_STORAGE_MODAL_TITLE":"Är du säker ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Detta kommer att rensa den lokala lagringen och logga ut dig.","SETTINGS_HWDEC_PICKER":"Välj hårdvaruaccelererad avkodningsinställning","SETTINGS_HW_AUTOMATIC":"Automatisk","SETTINGS_HW_DISABLED":"Inaktiverad","SETTINGS_HW_ACCELERATED":"Avkodningsacceleration","SETTINGS_HW_FULL":"Full hårdvaruacceleration","SETTINGS_HW_LEGACY":"Föråldrad","SETTINGS_DISABLED":"Inaktiverad","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notis om nätverksanslutning","SETTINGS_ANALYTICS":"Tillåt analys","SETTINGS_REMOTE_URL":"Fjärr-URL","SETTINGS_COPY_REMOTE_URL":"Kopiera fjärr-URL","SETTINGS_REMOTE_URL_COPIED":"Fjärr-URL har kopierats till ditt urklipp","SETTINGS_SECTION_SUBTITLES":"Undertexter","SETTINGS_SECTION_AUDIO":"Ljud","SETTINGS_SECTION_CONTROLS":"Kontroller","SETTINGS_SECTION_AUTO_PLAY":"Autouppspelning","SETTINGS_SECTION_ADVANCED":"Avancerat","SUBSPICKER_AUDIO":"Ljud","SUBSPICKER_SUBTITLES":"Tilläggsundertexter","SUBSPICKER_BLACK_BACKGROUND":"Använd svart bakgrundsfärg","SUBSPICKER_VERTICAL_OFFSET":"Vertikal offset","SUBSPICKER_SIZE":"Storlek","SUBSPICKER_DELAY":"Fördröjning","SUBSPICKER_EMBEDDED_SUBS":"Inbäddade undertexter","MOBILE_PRIVACY_POLICY":"Integritetspolicy","MOBILE_CRASH_REPORTING":"Kraschrapportering","MOBILE_ZOOM_TO_FILL":"Zooma för att fylla skärmen","MOBILE_PASSTHROUGH":"Digital ljudutgång (genomgång)","MOBILE_RUN_LOW_BATTERY":"Kör på lågt batteri","MOBILE_RUN_FOREGROUND":"Kör som förgrundstjänst","MOBILE_PERFORMANCE":"PRESTANDA & STABILITET","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR-koden upphör att gälla om ","MOBILE_LOG_INTO":"Logga in på ditt Stremio-konto ","MOBILE_SCAN_QR":"Skanna QR-koden ovan eller gå till ","MOBILE_LINK_ACCOUNT":"Länka konto","MOBILE_SPEEDPICKER_CANCEL":"Avbryt","MOBILE_SPEEDPICKER_LABEL":"Välj uppspelningshastighet","MOBILE_EMPTY_LIBRARY":"Ditt bibliotek är tomt","MOBILE_NO_ADDON_ACTIVE":"Inget Stremio-tillägg aktivt för denna typ.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer-appen ger begränsad funktionalitet. För en lista över spelbara strömmar och den fullständiga Stremio-upplevelsen, använd Stremio på datorn.","MOBILE_ADDON_LOADING":"laddar fortfarande","MOBILE_ADDONS_LOADING":"tillägg laddas fortfarande","MOBILE_ADDON":"Tillägg","MOBILE_CONFIGURE_ADDON":"Konfigurera ditt tillägg","MOBILE_CONFIGURE_ADDON_LABEL":"Konfigurera tillägg","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer-appen tillhandahåller ett begränsat urval av tillägg. För den fullständiga Stremio-upplevelsen, använd Stremio på datorn.","MOBILE_DISCONNECT":"Koppla från","MOBILE_LOOKING_FOR_DEVICES":"Letar du efter enheter...","MOBILE_CAST_TO":"Casta till","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Radera konto","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Radering av konto sker inte omedelbart på grund av juridiska skyldigheter. Efter att ha begärt radering av ditt konto måste du använda en annan e-postadress/facebook-profil för att skapa ett nytt Stremio-konto i framtiden.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Bekräfta borttagning av konto","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ditt konto har skapats med Facebook. För att radera ditt konto, använd vår användarportal på www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Ange ditt lösenord för att bekräfta borttagningen av kontot.","MOBILE_DELETE_ACCOUNT_BUTTON":"Radera konto","NAVIGATION_ON":"På","NAVIGATION_OFF":"Av","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Jag samtycker till att ta emot marknadskommunikation från Stremio","QUIT":"Avsluta","CONNECTED":"Ansluten","AUTHENTICATE":"Autentisera","AUTHENTICATING":"Authenticating...","CACHING":"Cachning","SETTINGS_CACHING_DRIVE":"Inställningar för cacheenhet","ENABLE_LOCAL_FILES_ADDON":"Aktivera tillägget för lokala filer (kräver omstart","LOCAL_ADDON_NOT_ENABLED":"Lokalt tillägg är inte aktiverat. Klicka här för att gå till inställningarna och aktivera det","ENABLE_REMOTE_HTTPS_CONN":"Aktivera fjärranslutningar för HTTPS","TORRENT_PROFILE":"Torrent-profil","DATA_CACHING":"Datacaching","MAGNET_PARSING":"Tolkning av en magnetlänk","January":"Januari","February":"Februari","March":"Mars","April":"April","May":"Maj","June":"Juni","July":"Juli","August":"Augusti","September":"September","October":"Oktober","November":"November","December":"December","Monday":"Måndag","Tuesday":"Tisdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"Lördag","Sunday":"Söndag","Action":"Action","Comedy":"Komedi","War":"Krig","Family":"Familj","Animation":"Animerat","Adventure":"Äventyr","Fantasy":"Fantasy","Crime":"Deckare","Mystery":"Mysterium","Romance":"Romantik","Drama":"Drama","Horror":"Skräck","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Musik","Biography":"Biografi","Documentary":"Dokumentär","Sport":"Sport","Musical":"Musikal","Western":"Western","Film-Noir":"Film-Noir","News":"Nyheter","History":"Historia","Game-Show":"Spel-program","Reality-TV":"Reality-TV","Talk-Show":"Pratprogram","Film & Entertainment":"Film & Underhållning","Gaming":"Gaming","From TV":"Från TV","Lifestyle":"Livsstil","Science & Education":"Vetenskap & Utbildning","Cooking & Health":"Matlagning & Hälsa","Beauty & Fashion":"Skönhet & Mode","Sports":"Sport","News & Politics":"Nyheter & Politik","How-to & DIY":"Gör det själv","Tech":"Teknik","Automotive":"Fordon","Causes & Non-Profits":"Bra saker & Ideella organisationer","Movies":"Filmer","Uk Live Tv":"UK Direkt Tv","Fashion":"Mode","Business News Radio":"Nyhetsradio för företag","Business Tv":"Företags-TV","Cars & Auto":"Bilar & Fordon","Comedy Radio":"Komediradio","Lifestyle Radio":"Livsstilsradio","News Tv":"Nyheter Tv","Food And Wine":"Mat Och Vin","Latino Tv":"Latinsk Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Barn","Body & Soul":"Kropp & Själ","Education":"Utbildning","Indian Tv":"Indisk Tv","Extreme Sports":"Extremsport","Middle Eastern Tv":"Mellanöstern Tv","Celebrity Tv":"Kändis Tv","Science Tv":"Vetenskap Tv","Bikini babe":"Bikini brud","Outdoors":"Utomhus","German Tv":"Tysk Tv","French Tv":"Fransk Tv","Italian Tv":"Italiensk Tv","Gamer Tv":"Gamer Tv","Travel":"Resor","Asian Tv":"Asiatisk Tv","Entertainment":"Underhållning","News Radio":"Nyheter Radio","Music Radio":"Musik Radio","Language Learning":"Språkinlärning","Science Radio":"Vetenskaplig Radio","Tech Radio":"Teknik Radio","Science & Technology Vod":"Vetenskap & Teknik Vod","new video":"nytt videoklipp","new episode":"nytt avsnitt","new movie":"ny film","recommended":"rekommenderad","we recommend":"vi rekommenderar","offer of the day":"dagens erbjudande","news":"nyheter","music video":"musikvideo","CTX_SHOW_HOTKEYS":"Visa snabbtangenter","CTX_DISMISS_NOTIF":"Avisa notifikationer","CTX_DISMISS_ALL":"Avfärda alla","CTX_SHARE":"Dela","CTX_COPY_SHARE_LINK":"Kopiera delningslänk","CTX_COPY_MAGNET_LINK":"Kopiera magnetlänk","CTX_COPY_STREAM_LINK":"Kopiera strömningslänk","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Kopiera länk för videonedladdning","CTX_DOWNLOAD_VIDEO":"Ladda ner den här videon","CTX_DOWNLOAD_SUBS":"Ladda ner undertexter","CTX_VIEW_ON_YOUTUBE":"Se på YouTube","CTX_SHOW":"Visa","CTX_PLAY":"Spela","CTX_PLAY_IN":"Spela i","CTX_PLAY_ON":"Spela på","CTX_WATCH_ON":"Titta på","CTX_WATCH":"Titta","CTX_WATCHED":"Sedd","CTX_WATCH_BEGINNING":"Se från början","CTX_WATCH_MOBILE":"Se på mobilen","CTX_REWIND":"Spola tillbaka till början","CTX_MARK_WATCHED":"Markera som sedd","CTX_MARK_NON_WATCHED":"Markera som osedd","CTX_MARK_UNWATCHED":"Markera som obevakad","CTX_MARK_REST":"Markera resten som bevakad","CTX_UNMARK_REST":"Markera resten som obevakad","CTX_RECEIVE_NEW_NOTIF":"Ta emot nya notifikationer","CTX_ENABLE_NEW_NOTIF":"Aktivera aviseringar","CTX_DISABLE_NEW_NOTIF":"Inaktivera aviseringar","CTX_REMOVE_CACHE":"Ta bort från cache","CTX_REMOVE_CACHE_EP":"Ta bort avsnitt från cache","CTX_OPEN_CONTAINING":"Öppna innehållande mapp","CTX_REMOVE":"Ta bort från bibliotek","CTX_AVAILABLE_OFFLINE":"Tillgänglig Offline","CTX_PAUSED":"Pausad","CTX_ALWAYS_ON_TOP":"Alltid överst","CTX_FULLSCREEN":"Fullskärm","CTX_WRONG_SUBS":"Fel undertexter?","CTX_REPORT_ISSUES":"Rapportera problem","CTX_COPY":"Kopiera","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Klistra in","CTX_CLEAR":"Rensa","CTX_CLEAR_RECENT_SEARCHES":"Rensa senaste sökningar","HELLO_THERE":"Hejsan","HOPE_YOU_ENJOY":"Vi hoppas att ni uppskattar Stremio och det redan är ett av dina favoritprogram!","WHO_ARE_WE":"Vilka är vi? Vi är teamet bakom det - två killar som arbetat hårt varje dag under de senaste 3 åren, med ett enda mål - att göra produkten bättre och bättre.","SUPPORT_US":"Om du tycker om att använda Stremio, om Stremio är värdefullt för dig - stöd oss!","SPREAD_THE_WORD":"Dela med dina vänner nu, sprid ordet om Stremio.","MORE_PEOPLE":"Ju fler människor som använder Stremio, desto bättre kommer det att bli!","SEND_A_LINK":"Eller skicka en länk till vår hemsida","TIP_LOCALFILES":"Tips: du kan dra och släppa lokala videofiler till Stremio","ADDON_MY":"Mina tillägg","ADDON_COMMUNITY":"Community-tillägg","ADDON_OFFICIAL":"Officiella tillägg","ADDON_REPOS":"Tilläggs-repos","ADDON_SEARCH":"Sök efter tillägg","ADDON_INSTALL":"Installera","ADDON_CONFIGURE":"Konfigurera","ADDON_UNINSTALL":"Avinstallera","ADDON_UPGRADE":"Uppgradera","ADDON_INSTALLED":"Installerad","ADDON_INSTALLED_MSG":"Tillägg installerat!","ADDON_UPGRADED_MSG":"Tillägget har uppgraderats!","ADDON_UNKNOWN":"Okänt","ADDON_ERR":"Tilläggsinstallationsfel!","ADDON_DISCONNECTED":"Frånkopplat","ADDON_APP_MISSING":"appen för den här källan är inte installerad. Vill du installera den nu?","ADDON_APP_INSTALL":"Installera nu","ADDON_PAGE":"Tilläggssida","ADDON_TOP_CONTENT":"Bäst från detta tillägg","ADDON_PROVIDES":"tillhandahåller","ADDON_WATCH":"Titta på #{types} nu!","ADDON_WATCH_FREE":"Titta på #{types} GRATIS nu!","ADDON_ADDON":"Tillägg","ADDON_SUPPORTED_TYPES":"Typer som stöds","ADDON_SUPPORTED_CATALOGS":"Kataloger som stöds","ADDON_PROVIDES_DISCOVER":"Mer #{types} i Upptäck","ADDON_PROVIDES_STREAMS":"Titta på #{types}","ADDON_PROVIDES_STREAMS_FREE":"Titta på #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Undertexter för #{types}","ADDON_CANTDETECT":"Vi kunde inte upptäcka en startat Stremio, så vi kunde inte identifiera vilka tillägg du har installerat.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrentströmning stöds inte på den här enheten på grund av App Store-regler","ERR_NO_META":"Ingen information hittades om detta ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Det gick inte att hämta information om detta.","ERR_CANT_PARSE_MAGNET":"Kan inte tolka magnet","ERR_NO_MAGNET_INFOHASH":"Inget giltigt infohash för magnet","ERR_NO_FILE_PATH":"Det går inte att skicka förfrågan utan en sökväg till filen","ERR_NO_TORRENT":"Ingen torrent returnerad","ERR_NO_SUPPORTERD_FILES":"Inga filer som stöds hittades","ERR_OPENING_FILES":"Det gick inte att öppna externa filer","ERR_INVALID_LINK":"Ogiltig länk","ERR_REGISTERED_ONLY":"Det här alternativet är endast tillgängligt för registrerade användare.","ERR_CLIPBOARD":"Kan inte spela från urklipp","ERR_CLIPBOARD_READ":"Kan inte läsa urklippet på den här plattformen","ERR_CLIPBOARD_GENERIC":"Ingen spelbar URL hittades i urklippet. Kopiera en URL (t.ex. en magnetlänk) till en video.","BOARD_CONTINUE_WATCHING":"Fortsätt titta","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmer utvalda speciellt för dig.
    Denna film är en exempelrekommendation.","BOARD_EXPLANATION_EPISODES":"Nya avsnitt av din favoritserie kommer här.
    Lägg till serier du följer i ditt bibliotek.","BOARD_EXPLANATION_VIDEOS":"Nya avsnitt av dina favoritkanaler kommer här.
    Lägg till YouTube-kanaler du följer i ditt bibliotek.","WEBSITE_ENJOYED_BY":"Njuts av mer än 30 miljoner användare över hela världen","WEBSITE_STREAMING_ENHANCED":"Förbättrad streaming","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio erbjuder en säker, modern och sömlös underhållningsupplevelse. Med sitt lättanvända gränssnitt och mångsidiga innehållsbibliotek, inklusive 4K HDR-stöd, kan användare njuta av sina favoritfilmer och TV-program på alla sina enheter. Och med sitt engagemang för säkerhet är Stremio det ultimata valet för en bekymmersfri, högkvalitativ streamingupplevelse.","WEBSITE_AVAILABLE_ON":"Tillgänglig på","WEBSITE_WATCH_AND_ENJOY":"Titta och njut.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio gör det lätt som en plätt","WEBSITE_ALL_FEATURES":"Alla funktioner","WEBSITE_EASY_TO_USE":"Lätt att använda","WEBSITE_EASY_TO_USE_DETAILS":"Stremio är designad för att vara användarvänlig och lätt att använda. Med sitt rena och intuitiva gränssnitt kan du enkelt navigera och hitta det innehåll du vill titta på.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sömlös över enheter","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Tillgänglig för ett brett utbud av plattformar (inklusive Windows, Mac, Linux, Android och fler). Stremio sparar din visningsposition över alla dina enheter. Logga bara in och fortsätt titta där du slutade, utan att behöva konfigurera appen på nytt för varje ny enhet.","WEBSITE_ALL_DOWNLOADS":"Alla nedladdningar","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Stöd för högupplöst video","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"En integrerad videospelare som stöder de flesta videoformat, inklusive 4K HDR-innehåll, låter dig njuta av högsta möjliga kvalitet.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Varierat innehållsbibliotek","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integreras med ett stort antal populära videokällor, som Netflix, Amazon Prime Video, Hulu, YouTube och många fler.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Skapa ett gratis konto","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Skräddarsydd tittarupplevelse","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio låter dig anpassa utseendet och känslan av gränssnittet genom att ändra tema, lägga till eller ta bort tillägg och mer.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Stöd för flerspråkiga undertexter","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Du kan nu njuta av allt favoritinnehåll på ditt föredragna språk eftersom Stremio stöder undertexter på alla språk.","WEBSITE_ALL_STREMIO_FEATURES":"Alla Stremio-funktioner","WEBSITE_TRY_STREMIO_TITLE_P1":"Prova Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"På din TV nu","WEBSITE_YOU_CAN_NOW_WATCH":"Du kan nu se alla dina favorit-TV-program på dina Android TV-enheter. Med Stremio TV-appen kan du enkelt njuta av en filmkväll.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Du kan nu se alla dina favorit-TV-program på din Smart TV eller Android TV. Stremio TV-apparna gör det enkelt att njuta av en filmkväll.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio för Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Förmodligen den bästa och mest användbara appen att ha i din enhet. Det är en av apparna jag använder dagligen, särskilt på min Android TV i många år nu. Välgjort med en stark community som ger användbara funktioner. Bra gjort. Fortsätt så.","WEBSITE_REVIEWS":"recensioner","WEBSITE_GET_STREMIO_FOR_FREE":"Skaffa Stremio gratis","WEBSITE_GET_STREMIO_NOW":"Skaffa Stremio nu","WEBSITE_STREMIO_FEATURES":"Stremio-funktioner","WEBSITE_STREMIO_FEATURES_DETAILS":"Streama som ett proffs med Stremios avancerade funktioner och njut av sömlös tillgång till alla dina favoritmedia","WEBSITE_DISCOVER_MORE":"Upptäck mer.","WEBSITE_DISCOVER_MORE_DETAILS":"Få aldrig slut på saker att titta på","WEBSITE_COMMUNITY_DRIVEN":"Driven av communityn","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio har en stor och aktiv community av användare som bidrar till utvecklingen av mjukvaran genom att skapa och dela tillägg.","WEBSITE_GET_INVOLVED":"Bli involverad","WEBSITE_NEW_THEATER_EXPERIENCE":"Ny bioupplevelse","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremios nya dedikerade TV-app låter dig njuta av en filmkväll på dina Android TV-enheter.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremios nya dedikerade TV-appar låter dig njuta av en filmkväll på din Smart TV eller Android TV-enheter.","WEBSITE_FREE_AND_SECURE":"Gratis & Säker","WEBSITE_STREAMING":"Strömning","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio erbjuder oöverträffad säkerhet och integritet för användare. Med sin unika funktion att köra tillägg på distans, ger Stremio ett säkrare sätt att strömma ditt favoritinnehåll jämfört med andra plattformar. Din säkerhet och integritet är högsta prioritet, och plattformen säkerställer att all din data är skyddad.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Säg adjö till oro för säkerhet och integritet och säg hej till en värld av oändlig underhållning med Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information tillhandahållen av","WEBSITE_CONTRIBUTE_DESC":"till projektet och hjälp oss att göra Stremio ännu bättre","WEBSITE_COMMUNITY_DESC":"Vi tror att det bästa sättet att skapa en verkligt fantastisk streamingupplevelse är att involvera vår community i processen. Oavsett om du är en programmerare, en artist eller bara ett fan - du kan hjälpa Stremio att växa.","WEBSITE_COMMUNITY_DESC_2":"Så gå med oss ​​idag och bli en del av Stremio-communityt och fortsätt forma framtiden för streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Sätt att engagera sig","WEBSITE_IN_THE_STREMIO_COMMUNITY":"i Stremio-communityt","WEBSITE_SHARE_YOUR_THOUGHTS":"Dela dina tankar","WEBSITE_REPORT_BUGS":"Rapportera buggar","WEBSITE_SUGGEST_FEATURES":"föreslå funktioner","WEBSITE_AND_PROVIDE_FEEDBACK":"och ge feedback på våra sociala mediekanaler.","WEBSITE_BETA_TESTING_PROGRAM":"Beta-testprogram","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Delta i vårt betatestprogram (vi skickar ut inbjudningar regelbundet) i Stremio-communityt","WEBSITE_JOIN_NOW":"Gå med nu!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Officiella Stremio-communityn","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Inofficiella Stremio-communityn","WEBSITE_BECOME":"Bli","WEBSITE_A_VOLUNTEER_TRANSLATOR":"en frivillig översättare","WEBSITE_ARE_YOU_A_DEVELOPER":"Är du en utvecklare?","WEBSITE_CONTRIBUTE_CODE":"Du kan bidra med kod till våra projekt med öppen källkod. Vi har flera projekt på GitHub som söker bidragsgivare. Om du är intresserad av att hjälpa till, kolla in dem:","WEBSITE_STREMIO_ON_GITHUB":"Stremio på GitHub","WEBSITE_CREATE_ADDON_DESC":"Skapa ett tillägg för att förbättra Stremios funktionalitet (vi har ett lättanvänt API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Vi ger också möjligheten att gå med oss ​​som en intern utvecklare så att vi kan växa tillsammans.","WEBSITE_APPLY_AS_AN_INTERN":"Ansök som praktikant","WEBSITE_CALLING_ALL_ARTISTS":"Uppmaning till alla konstnärer!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Visa upp din kreativitet och kärlek till Stremio genom att ladda upp din fankonst till vårt onlinegalleri. Oavsett om det är en ritning, målning eller digital design vill vi se din unika syn på Stremio-varumärket. Gå med i vår gemenskap av konstentusiaster och dela ditt arbete med andra Stremio-fans runt om i världen.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio-fankonstgalleri","WEBSITE_INTERN_DESIGNER":"Bli en del av vårt team och ta din kreativitet till nya höjder med våra spännande praktikmöjligheter.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies-projekt","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"På Stremio är vi engagerade i att bevara film- och TV-historien genom att identifiera filmer och videor som är allmän egendom eller föräldralösa. Genom att arbeta tillsammans med vår community kan vi se till att dessa klassiska konstverk är tillgängliga för alla och skyddade för framtida generationer att njuta av.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Kontakta oss gärna om du vill engagera dig i det projektet.","WEBSITE_JOIN_THE_PROJECT":"Gå med i projektet","WEBSITE_BE_PART_OF_OUR_MISSION":"Bli en del av vårt uppdrag","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Intresserad av att gå med i Stremio-teamet? Vi erbjuder helt distansarbete för passionerade proffs. Kolla in våra lediga tjänster.","WEBSITE_OPEN_POSITIONS":"LEDIGA TJÄNSTER","WEBSITE_DESCRIPTION":"BESKRIVNING","WEBSITE_LEARN_MORE":"Läs mer","WEBSITE_COMPANY":"Företag","WEBSITE_CONTACTS":"Kontakter","WEBSITE_NEED_HELP":"Behöver du hjälp?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide för Stremio Web på iOS","WEBSITE_LINK_ART_V2":"Fanart-galleri","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Titta direkt","WEBSITE_SLOGAN_ALL":"Allt videoinnehåll du tycker om på ett ställe","WEBSITE_SLOGAN_NEW":"Allt du kan titta på","WEBSITE_SLOGAN_NEW_NEW":"Frihet att streama","WEBSITE_WATCH_FROM":"Titta från","WEBSITE_DOWNLOAD":"Ladda ner nu","WEBSITE_DOWNLOAD_FOR":"Ladda ner nu för","WEBSITE_IS_DESKTOP":"Stremio är en skrivbordsapplikation, öppna denna sida på din dator och ladda ner den","WEBSITE_DESKTOP_DEMO_VID":"Skrivbordsdemo","WEBSITE_PAGE_HOME":"Hem","WEBSITE_PAGE_FEATURES":"Funktioner","WEBSITE_PAGE_ADDONS":"Tillägg","WEBSITE_PAGE_TECH":"Teknologi","WEBSITE_PAGE_CREATE_ADDON":"Skapa ett tillägg","WEBSITE_PAGE_CONTACTS":"Kontakter","WEBSITE_PAGE_BLOG":"Blogg","WEBSITE_RESET_PASSWORD_MESSAGE":"Vänligen ange ditt önskade nya lösenord nedan.","WEBSITE_RESET_PASSWORD_WARNING":"Är du säker på att du vill återställa lösenordet för ${1}?","WEBSITE_TYPE_movie":"Filmer","WEBSITE_TYPE_series_PL":"Serier","WEBSITE_TYPE_tv":"Live-TV","WEBSITE_TYPE_channel":"Kanaler","WEBSITE_STREMIO_WHAT_IS":"Stremio är en app som hjälper dig att organisera och omedelbart titta på dina favoritvideor, filmer, TV-serier och TV-kanaler.","WEBSITE_FEATURES_WATCH":"Titta direkt i HD","WEBSITE_FEATURES_WATCH_DETAIL":"Klicka och spela upp dina favoritfilmer, TV-program, videor och TV-kanaler.","WEBSITE_FEATURES_SUBS":"Automatiska undertexter","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio väljer automatiskt synkade undertexter för ditt språk.","WEBSITE_FEATURES_SUBS_LABEL":"Ditt drag, chefen.","WEBSITE_FEATURES_CAST":"Spela upp på TV:n & mobila enheter","WEBSITE_FEATURES_CAST_DETAIL":"Casta till AppleTV, Chromecast, Smart TV (DLNA/UPnP) och mobila enheter.","WEBSITE_LIB":"Njut av ditt personliga bibliotek synkroniserat på alla dina enheter","WEBSITE_LIB_COLLECT":"Samla från Stremio","WEBSITE_LIB_IMPORT":"Importera från Facebook","WEBSITE_LIB_LOCAL":"Lägg till från din lokala hårddisk","WEBSITE_BOARD":"Hem - Din samlingsplats för notifikationer och rekommendationer","WEBSITE_BOARD_RECOMMEND":"Rekommenderat TV-program","WEBSITE_BOARD_TRENDING":"Filmtrend","WEBSITE_BOARD_NEW":"Ny video","WEBSITE_BOARD_EPISODE":"Nytt avsnitt","WEBSITE_BOARD_1":"Letar du efter något intressant att titta på? Få rekommendationer baserat på din smak!","WEBSITE_BOARD_2":"Få ett meddelande när ett nytt avsnitt av ditt favoritprogram eller YouTube-kanal är ute!","WEBSITE_BOARD_YOUTUBE":"Nya videor på YouTube-kanaler","WEBSITE_BOARD_EPISODES":"Nya avsnitt av serier du följer","WEBSITE_ADDONS":"Innehållstillägg","WEBSITE_TECH_DETAIL":"Vi älskar teknologi, vi älskar galen forskning!\\nStremio använder följande öppen källkodsteknologier:","WEBSITE_TECH_WCJS":"WebChimera.js tillåter Stremio att spela upp alla videoformat med bra prestanda.","WEBSITE_TECH_WCJS_EXTRA":"Vi är huvudbidragsgivare till projektet","WEBSITE_TECH_ELECTRON":"Electron tillhandahåller en innovativ plattform att bygga Stremio med.","WEBSITE_TECH_ELECTRON_EXTRA":"Vi är bidragsgivare till projektet","WEBSITE_TECH_LINVODB":"En databasteknik som säkerställer att din data är organiserad och tillgänglig var du än loggar in.","WEBSITE_TECH_LINVODB_EXTRA":"Intern teknologi","WEBSITE_CREATE_ADDON":"Skapa ditt tillägg","WEBSITE_CREATE_ADDON_DETAIL":"Har du en tjänst som tillhandahåller videoinnehåll? Vi hjälper dig att dra nytta av Stremios funktioner genom att skapa din Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Fördelar med att skapa ett tillägg till Stremio","WEBSITE_P2P_BEAUTY":"Det sköna med strömmande via Peer-to-Peer","WEBSITE_P2P_1":"Pålitlig och prisvärd full HD / 4K-video på begäran eller livestreaming","WEBSITE_P2P_2":"Distributionsplattform som ger bra användarupplevelse","WEBSITE_P2P_3":"Vi kommer att skapa ett tillägg som möter dina specifika behov","WEBSITE_P2P_CONTACT":"Intresserad? Du är välkommen att kontakta oss.","WEBSITE_P2P_CONTACT_EXTRA":"Vi hjälper dig gärna att integrera ditt innehåll med Stremio!","WEBSITE_P2P":"Nu och då kommer det en teknologi som förändrar situationen. Vi investerade massor av tid och ansträngning för att bygga vår Peer-to-Peer (P2P) strömningsmotor för video som erbjuder bra prestanda and mångsidighet att anpassa sig med alla användningsområden.\\nKontakta oss för DRM-aktiverad P2P-video on demand eller live-sändning.","WEBSITE_THOUGHTS":"Tankar som vi delar:","WEBSITE_SPREAD":"Sprid ordet om Stremio:","WEBSITE_CONTACT":"Om du vill kontakta oss, gå vidare till","WEBSITE_OPENSOURCE":"För våra projekt med öppen källod, går till vår","WEBSITE_BITCOIN":"Donera bitcoin:","WEBSITE_FAQ":"Frekvent ställda frågor","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Frågor","WEBSITE_TOS":"Användningsvillkor","WEBSITE_LEGAL":"Lagligt","WEBSITE_PAGE_ABOUT":"Om","WEBSITE_PAGE_BECOME_PARTNER":"Bli en partner","WEBSITE_ALL_YOU_CAN_WATCH":"Friheten att se\\nAllt du vill.","WEBSITE_FREEDOM_TO_STREAM":"Frihet att streama","WEBSITE_WHAT_IS_STREMIO":"Vad är stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio är en central knutpunkt för sammanställning av videomaterial. Upptäck, organisera och se på video från alla möjliga källor på vilken enhet som helst som du äger.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmer, TV-program, serier, live-tv eller webbkanaler som YouTube och Twitch.tv – allt detta hittar du på Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio är ett modernt mediacenter som är en enda lösning för din videounderhållning. Du upptäcker, tittar på och organiserar videoinnehåll från tillägg som är lätta att installera.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmer, tv-program, live-tv eller webbkanaler - hitta allt detta på Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Njut av på alla dina mediaenheter","WEBSITE_DEVICES_COLLECT":"Hämta från Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importera från facebook","WEBSITE_DEVICES_LOCAL":"Lägg till från lokal enhet","WEBSITE_JOIN_THE_PARTY_NOW":"Gå med i festen nu","WEBSITE_DEVICES_ALL":"Lätt att använda på alla dina enheter;","WEBSITE_EXTENDABLE_CATALOG":"Oändligt utbyggbar videokatalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Fantastiska funktioner för att organisera dina medier;","WEBSITE_AS_SEEN_ON":"Som sett på","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Om oss","WEBSITE_LINK_TECHNOLOGY":"Teknologi","WEBSITE_LINK_APPS":"Appar","WEBSITE_LINK_DOWNLOADS":"Nedladdningar","WEBSITE_MORE":"Mer","WEBSITE_LINK_ADDONS":"Tillägg","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Bidra","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blogg","WEBSITE_MORE_MORE":"... & mer","WEBSITE_LINK_HELP":"Hjälpcenter","WEBSITE_LINK_CONTACTS":"Kontakta oss","WEBSITE_LINK_TOS":"Allmänna villkor","WEBSITE_LINK_PRAVACY":"Integritetspolicy","WEBSITE_SUBSCRIBE":"Prenumerera","WEBSITE_NEWSLETTER":"Gå med i vårt nyhetsbrev för fantastiska saker","WEBSITE_PLACEHOLDER_EMAIL":"Din e-post","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Integritet & juridik","WEBSITE_WHY":"Varför vi gör det","WEBSITE_WHY_P1":"På Stremio kommer vi till jobbet varje dag för att vi vill lösa ett viktigt problem inom video-on-demand-industrin. Det publiceras så mycket nytt innehåll varje minut att det är praktiskt taget omöjligt att hitta rätt i det.","WEBSITE_WHY_P2":"Vi hjälper människor att navigera i den enorma världen av videounderhållning och upptäcka nytt innehåll att njuta av. Våra appar samlar filmer, serier, live-TV, webbkanaler och mer. Vi är dedikerade till att göra det otroligt enkelt för användare att hitta titlar och sändningar som de älskar.","WEBSITE_WHY_P3":"Du kan använda vår tjänst på vilken enhet som helst och när som helst, vilket gör Stremio till den enda underhållningscentralen för video du någonsin kommer att behöva.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"Stremio-teamet är litet men kraftfullt: mellan de tio av oss kodar vi på X språk och delar expertis inom mjukvaruutveckling, UI och UX-design, marknadsföring och reklam, samt affärsverksamhet och startups.","WEBSITE_FEATURES":"Funktioner","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Upptäck enkelt nytt innehåll","WEBSITE_FEATURES_DISCOVER_P":"Upptäck enkelt nya filmer, TV-program, serier och kanaler att titta på. Bläddra efter kategori, genre, betyg, senaste nytt, etc. eller skriv helt enkelt ett namn för att hitta. Stremio gör det enkelt att hitta nytt videoinnehåll.","WEBSITE_FEATURES_ALL_CONTENT":"Allt ditt videoinnehåll på en skärm","WEBSITE_FEATURES_ALL_CONTENT_P1":"Se vilka filmer, serier eller videor du inte har avslutat och fortsätt titta på dem; få notifikationer för nya avsnitt och släpp; och bläddra igenom rekommendationerna du får baserat på dina tittarvanor.","WEBSITE_FEATURES_LIBRARY":"Organisera ditt videobibliotek","WEBSITE_FEATURES_LIBRARY_P1":"Lägg till vilken titel som helst till ditt Stremio-bibliotek med ett enda klick och hitta rätt i ditt innehåll, prydligt ordnat efter typ, aktualitet eller alfabetisk ordning.","WEBSITE_FEATURES_CALENDAR":"Håll koll på allt du tittar på","WEBSITE_FEATURES_CALENDAR_P1":"Få en kalendervisualisering av alla filmer och serier du lägger till i ditt bibliotek. Exportera din Stremio-kalender och synkronisera den så att du alltid vet när ett nytt avsnitt eller en premiär kommer.","WEBSITE_FEATURES_BIG_SCREEN":"Njut av ditt videoinnehåll på en större skärm","WEBSITE_FEATURES_BIG_SCREEN_P1":"Casta vad du än tittar på till en annan enhet – oavsett om det är en telefon, surfplatta eller en TV med ett enda klick.","WEBSITE_FEATURES_SOURCES":"Se video från många olika källor","WEBSITE_FEATURES_SOURCES_P":"Installera officiella tillägg och community-tillägg för att njuta av video från många olika leverantörer - allt i en snygg, lättanvänd app.","WEBSITE_CREATE_AN_ADDON":"Skapa ett tillägg","WEBSITE_FEATURES_SYNC":"Synkronisera ditt bibliotek mellan olika enheter och återuppta uppspelningen","WEBSITE_FEATURES_SYNC_P1":"Logga in med ditt konto på alla dina enheter och njut av ditt bibliotek, tillägg, uppspelning och kalender synkroniserat.","WEBSITE_FEATURES_EXTENDABLE":"Utbyggbar videokatalog genom tillägg","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio-tilläggskatalogen tillhandahåller ett antal tillägg att installera och titta på en mängd olika videoinnehåll från. Detta inkluderar filmer, program, live-TV, sport, nyheter, podcaster, webbkanaler, videospel och mer.","WEBSITE_FEATURES_AUTO_SUBS":"Automatiska undertexter","WEBSITE_FEATURES_AUTO_SUBS_P1":"Med våra undertexttillägg får du automatiskt valda alternativ för ditt föredragna språk.","WEBSITE_FEATURES_CHROMECAST":"Castar till Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Njut av ditt videoinnehåll på en större skärm eller bara casta vad du tittar på till en annan enhet.","WEBSITE_FEATURES_KEEP_TRACK":"Håll koll på dina favoritprogram och webbkanaler","WEBSITE_FEATURES_KEEP_TRACK_P1":"Få en kalendervisualisering och aviseringar för nya avsnitt av dina favoritserier och webbkanaler.","WEBSITE_FEATURES_POWER_USER":"Funktioner för avancerade användare","WEBSITE_FEATURES_POWER_USER_P1":"Spela i extern spelare","WEBSITE_FEATURES_POWER_USER_P2":"Spela från en torrentfil eller magnetlänk","WEBSITE_FEATURES_POWER_USER_P3":"Importera till ditt bibliotek från Facebook-gilla-markeringar eller lokal disk","WEBSITE_ADD_ONS":"Tillägg","WEBSITE_ADD_ONS_P1":"Allt videoinnehåll Stremio tillhandahåller hämtas via ett tilläggssystem - inget innehåll eller innehållsleverantör har byggts in i appen.","WEBSITE_ADD_ONS_P2":"Det finns två grupper av tillägg tillgängliga: officiella och community-tillägg.","WEBSITE_ADD_ONS_P3":"De officiella är utvecklade och värdar av Stremio, medan community-tillägg skapas av våra community-medlemmar, som också är värdar för dem.","WEBSITE_ADDONS_OFFICIAL":"Officiella tillägg","WEBSITE_ADDONS_WATCHUB":"Strömma dina favoritfilmer, serier och program från leverantörer som iTunes, Hulu, Amazon och andra tjänster i Storbritannien/USA.","WEBSITE_ADDONS_YOUTUBE":"Titta på dina favoritkanaler på YouTube utan annonser och få aviseringar om nya uppladdningar från de bidragsgivare du följer.","WEBSITE_ADDONS_FILMON":"Titta på live-TV, filmer och interaktiv television gratis. 600 TV-kanaler, 45 000 gratisfilmer, dokumentärer och mer.","WEBSITE_ADDONS_OPENSUBTITLES":"Undertexter för filmer och serier på flera språk, tusentals översatta undertexter laddas upp varje dag.","WEBSITE_ADDONS_COMMUNITY":"Community-tillägg","WEBSITE_ADDONS_FILMON_VOD":"Titta på video på begäran från Filmon.tv","WEBSITE_ADDONS_TWICH":"Se liveströmmar från Twitch.tv - en videostreamingplattform för e-sportbranschen.","WEBSITE_ADDONS_VODO":"Se indiefilmer helt gratis.","WEBSITE_ADDONS_NETFLIX":"Se Netflix-filmer och webbserier.","WEBSITE_ADDONS_CREATE":"Skapa ett tillägg","WEBSITE_ADDONS_CREATE_P1":"Om du vill kan du utveckla ditt eget tillägg. På så sätt kan du ge dig själv och vår community tillgång till nytt videoinnehåll och nå en ny målgrupp med miljontals användare runt om i världen.","WEBSITE_ADDONS_START_CREATE":"För att komma igång, besök Stremio Addon SDK-sidan:","WEBSITE_DOWNLOADS":"Nedladdningar","WEBSITE_DOWNLOADS_P1":"För optimal prestanda rekommenderar vi att du använder den senaste tillgängliga versionen av Stremio-apparna. Om du dock av någon anledning skulle vilja använda en äldre version kan du ladda ner den här.","WEBSITE_DOWNLOADS_P1_SHORT":"För optimal prestanda rekommenderar vi att du använder den senaste tillgängliga versionen av Stremio-apparna.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio för Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio för macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio för Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio för Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio för Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio för Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio för Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio för iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio för Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio för LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio för Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio för Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio för Ocolus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio för Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio för Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio för Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio för Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio för webbläsare","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Sök efter Stremio i App Store för 2019+ Samsung TV-modeller","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Sök efter Stremio i App Store för 2020+ LG TV-modeller","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Sök efter Stremio i Play Store-appen på Sony TV med Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Sök efter Stremio i Play Store-appen på Philips TV med Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Sök efter Stremio i appbutiken på Philips TV med TitanOS (begränsad version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Sök efter Stremio i App Store på din Xbox-enhet","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide för Stremio OS på RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Ladda ner Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service är en kompletterande app för Stremio Web. Vi rekommenderar att du använder den senaste tillgängliga versionen av Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service för Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service för macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service för Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service för Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio för Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Fler nedladdningsalternativ","WEBSITE_DOWNLOAD_NEW":"Nytt!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Vi har släppt Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Vi har släppt Stremio för Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Vi har släppt Stremio för LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Vi har släppt Stremio för Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Vi har släppt Stremio för Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Vi har släppt Stremio 5 för Windows","WEBSITE_CONTRIBUTE":"Bidra","WEBSITE_CONTRIBUTE_P1":"Stremio-plattformen är öppen källkod och du kan enkelt skapa ett tillägg för innehåll som för närvarande inte tillhandahålls.","WEBSITE_CONTRIBUTE_WHY":"Varför ska du skapa ett tillägg?","WEBSITE_CONTRIBUTE_WHY_P1":"Nå ny publik för ditt videoinnehåll","WEBSITE_CONTRIBUTE_WHY_P2":"Stremios användarbas växer snabbt - under det första året efter lanseringen hade Stremio fått 1 miljon användare runt om i världen, och under det andra året av plattformens existens växte detta antal till 2,5 miljoner.","WEBSITE_CONTRIBUTE_WHY_P3":"Med ditt tillägg kan du enkelt nå denna publik och distribuera ditt videoinnehåll till dem.","WEBSITE_CONTRIBUTE_ALL":"Se dina favoritfilmer, videor, serier och kanaler på ett enda ställe.","WEBSITE_CONTRIBUTE_ALL_P1":"Är du ett fan av en speciell typ av innehåll som ännu inte finns tillgängligt på Stremio? Skapa ett tillägg för det och njut av att titta på dina favoritvideor i en av de största och enklaste underhållningscentralerna på marknaden.","WEBSITE_CONTRIBUTE_ALL_P2":"Dessutom kommer du att få oändlig tacksamhet från andra likasinnade medlemmar i Stremio-communityt.","WEBSITE_CONTRIBUTE_MONETIZE":"Tjäna pengar på ditt tillägg och tjäna pengar med dess hjälp","WEBSITE_CONTRIBUTE_MONETIZE_P1":"När du väl utvecklat ett nytt tillägg för Stremio kan du enkelt tjäna pengar på det på ett antal olika sätt. Om du funderar på detta, hör gärna av dig till oss på ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - vi skulle gärna rådgöra och ge dig råd om alternativ för intäktsgenerering för tillägg.","WEBSITE_CONTRIBUTE_TRANSLATE":"Bli en frivillig översättare","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Om du vill njuta av Stremio-apparna på olika språk kan du gå med i vår gemenskap av frivilliga översättare. De hjälper oss att lägga till versioner av Stremio på många olika språk.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Är du sugen på att komma igång?","WEBSITE_TRANSALTE_STREMIO":"Översätt Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Officiella communityn","WEBSITE_COMMUNITY_OFFICIALS_P1":"Bli en del av den växande Stremio-communityn. Följ oss på sociala medier och var inte blyg för att säga hej - vi älskar att höra från våra fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Inofficiella communityn","STREMIO_COMMUNITY_NL":"Stremio Nederländerna","STREMIO_COMMUNITY_BRASIL":"Stremio Brasilien","STREMIO_COMMUNITY_GERMANY":"Stremio Tyskland","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgien","STREMIO_COMMUNITY_FRANCE":"Stremio Frankrike","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italien","STREMIO_COMMUNITY_UK":"Stremio Storbritannien","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexiko","STREMIO_COMMUNITY_ADDONS":"Stremio Tillägg","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Fantastiska Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners och supportrar","WEBSITE_COMMUNITY_GOODIES":"Stremio-godis","WEBSITE_COMMUNITY_WALLPAPERS":"Bakgrundsbilder","WEBSITE_COMMUNITY_ART":"Communityns konstgalleri","WEBSITE_LINK_ART":"Communityns konstgalleri","WEBSITE_CONTACT_US":"Kontakta oss","WEBSITE_CONTACT_US_P1":"Om du har några frågor, kommentarer eller förslag är du välkommen att kontakta oss via kontaktformuläret nedan.","WEBSITE_CONTACT_US_P2":"Tänk på att vi finns i Bulgarien så det kan bli en fördröjning med att lösa din fråga på grund av tidszonsskillnader.","WEBSITE_CONTACT_US_SUCCESS":"Ditt meddelande har skickats. Vi återkommer till dig så fort vi kan.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Vänligen ange en giltig e-postadress!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Vad är din fråga relaterad till?","WEBSITE_CONTACT_US_Q_OS":"Vad är ditt operativsystem?","WEBSITE_CONTACT_US_PH_EMAIL":"Din e-post","WEBSITE_CONTACT_US_PH_MESSAGE":"Meddelande","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SKICKA","WEBSITE_CONTACT_US_Q_1":"Hur man installerar?","WEBSITE_CONTACT_US_Q_2":"Hur man avinstallerar?","WEBSITE_CONTACT_US_Q_3":"(HTML) Hur gör man lasagne?","WEBSITE_CONTACT_US_Q_4":"Tillägg","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknologi","WEBSITE_TECHNOLOGY_P1":"Vi älskar teknik och galen vetenskap.
    Här är vad som driver Stremio (allt är öppen källkod).","WEBSITE_TECHNOLOGY_P_QT":"Plattformsoberoende mjukvaruutveckling när den är som bäst.","WEBSITE_TECHNOLOGY_P_MPV":"En gratis, öppen källkod och plattformsoberoende mediaspelare.","WEBSITE_TECHNOLOGY_P_RN":"React Native låter dig bygga mobilappar med endast JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Mediaramverk inbäddat i applikationen för att få multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm är en mobil plattform och en ersättning för SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js är en JavaScript-runtimemiljö med öppen källkod, plattformsoberoende.","WEBSITE_TECHNOLOGY_P_RUST":"Rust är ett programmeringsspråk med flera paradigmsystem fokuserat på säkerhet, särskilt säker samtidighet.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Bidra till projektet","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Det finns två sätt du kan bidra till Stremio och hjälpa oss att göra produkten ännu bättre.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Du kan donera dina värdefulla språkkunskaper genom att översätta plattformen...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"eller","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... du kan använda dina programmeringskunskaper för att skapa community-tillägg. ","WEBSITE_TRANSLATE_STREMIO":"Översätt Stremio","WEBSITE_404_OH_NO":"Hoppsan! Sidan du letar efter finns inte här...","WEBSITE_GO_HOME":"Gå hem","WEBSITE_LINK_OTHER_DOWNLOADS":"Andra nedladdningar","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Ladda ner Stremio 4 beta nu","WEBSITE_GET_FOR_DESKTOP":"Hämta för skrivbordet","WEBSITE_LINK_ADDON_COMPETITION":"Tilläggstävling","WEBSITE_LINK_ART_CONTEST":"Konsttävling","WEBSITE_MY_ACCOUNT":"Mitt konto","WEBSITE_MAINPAGE_FAQ_001_H1":"Vad är Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio är ett modernt mediacenter som ger dig friheten att se allt du vill.","WEBSITE_MAINPAGE_FAQ_002_H1":"Hur fungerar det?","WEBSITE_MAINPAGE_FAQ_002_P1":"När du väl har installerat Stremio på din enhet och skapat ett konto är allt du behöver göra att besöka tilläggskatalogen och installera vilket tillägg du vill, och du är igång!","WEBSITE_MAINPAGE_FAQ_002_P2":"Efter det kan du gå till Upptäck- eller Hem-sektionerna för att börja utforska innehåll.","WEBSITE_MAINPAGE_FAQ_003_H1":"Vad kan jag se här?","WEBSITE_MAINPAGE_FAQ_003_P1":"Mycket: filmer, tv-program, webbkanaler, sport, tv-kanaler, lyssna på podcaster och mer. Tack vare vårt tilläggssystem kan du få tillgång till en mängd olika innehåll.","WEBSITE_MAINPAGE_FAQ_004_H1":"Är Stremio öppen källkod?","WEBSITE_MAINPAGE_FAQ_004_P1":"Ja, du kan kolla följande länkar: ${1}skrivbordsapp${2} och ${3}GitHub-organisation${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Är Stremio säker?","WEBSITE_MAINPAGE_FAQ_005_P1":"Ja: eftersom det är programvara med öppen källkod är koden offentligt granskbar och du kan granska den själv.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremios tilläggssystem skapades också med användarens säkerhet i åtanke. Tilläggen kör ingen kod lokalt, så de utgör inga risker för din enhet.","WEBSITE_MAINPAGE_FAQ_006_H1":"Hur är det med min integritet?","WEBSITE_MAINPAGE_FAQ_006_P1":"Vi respekterar användarnas integritet och samlar inte in några personuppgifter utöver det absolut nödvändiga minimum för att skapa och synkronisera ditt konto.","WEBSITE_MAINPAGE_FAQ_006_P2":"Det finns också ett ${1}Gästläge${2} vid registrering, som inte kräver några data alls: i detta läge görs inga anrop till vår backend. Detta innebär dock att vissa användbara funktioner, såsom att kunna synkronisera ditt bibliotek mellan enheter, inte är tillgängliga.","WEBSITE_MAINPAGE_FAQ_007_H1":"Kan jag casta till min TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Ja, vi stöder Chromecast och du kan casta både från stationära och mobila appar (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Hur många tillägg har Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"I slutet av 2019, över 50 - för mer information, kolla vår tilläggskatalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Kan Stremio utökas utöver vad som finns i tilläggskatalogen?","WEBSITE_MAINPAGE_FAQ_009_P1":"Ja, du bör kolla in dessa: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Vilka enheter stöder Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Vi har skrivbordsappar för Windows, Mac och Linux. För mobiler stöder vi Android och iOS, men kom ihåg att iOS är begränsad i funktionalitet (stöder inte de flesta tillägg).","WEBSITE_MAINPAGE_FAQ_010_P2":"Det finns många Android-baserade enheter som du kan köra Stremio på, som NVIDIA Shield och Amazon Fire Stick, men vi stöder dem inte officiellt.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Vi har skrivbordsappar för Windows, Mac och Linux. Vi har även dedikerade appar för Android Mobil och Android TV. För iOS och iPadOS föreslår vi att använda Stremio Web, även om det är mer begränsat i funktionalitet.","WEBSITE_MAINPAGE_FAQ_011_H1":"Kan du lägga till visst innehåll i Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Tyvärr, vi tillhandahåller inget innehåll själva, men ju fler Stremio-tillägg du har installerat, desto mer innehåll kommer du att kunna hitta.","WEBSITE_MAINPAGE_FAQ_012_H1":"Kan Stremio spela magnetlänkar?","WEBSITE_MAINPAGE_FAQ_012_P1":"Ja, och det kan också spela vanliga HTTP-länkar och torrentfiler (dra och släpp).","WEBSITE_MAINPAGE_FAQ_013_H1":"Kan jag ladda ner en video och titta offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Tillgänglighet offline är en kommande funktion, men om du tillåter Stremio att cacha på din enhet (från inställningspanelen) kan du titta på videorna senare utan en anslutning.","WEBSITE_MAINPAGE_FAQ_014_H1":"Inget fungerar, hjälp mig!","WEBSITE_MAINPAGE_FAQ_014_P1":"Är du säker på att du har installerat tillägg? Om ja, kolla med vårt ${1}hjälpcenter${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Hur upprätthåller Stremio sin utvecklingsverksamhet?","WEBSITE_MAINPAGE_FAQ_015_P1":"Vi visar icke-påträngande annonser då och då, men vi överväger att gå över till en donationsmodell.","WEBSITE_MAINPAGE_FAQ_015_P2":"För fler frågor, gå till vårt ${1}hjälpcenter${2}.","HELP_LEARN_MORE":"Hjälp oss att lära oss mer om dig.","LIFESTYLE":"Livsstil","SPORTS":"Sport","FOOD_HEALTH":"Mat & Hälsa","BEAUTY_FASHION":"Skönhet & Mode","NEWS":"Nyheter","GAMING":"Spel","SCIENCE_EDUCATION":"Vetenskap & Utbildning","MUSIC":"Musik","TRAVEL":"Resor","LATE_NIGHT":"Sent på natten","REALITY":"Reality","COMEDY":"Komedi","DIY":"Gör-det-själv","TECH":"Teknik","CINEMA":"Film","CONTINUE":"Fortsätt","SLOW_LOADING":"LÅNGSAM LADDNING?","I_GIVE_UP":"JAG GER UPP","LEARN_MORE":"Lär dig mer","POOR_SOURCE":"Denna källa är dåligt tillgänglig eller din internetanslutning är inte tillräckligt snabb","PICK_CATEGORIES_ERR":"Du måste välja minst 3 kategorier","ADJUST_TIMING":"Justera timing med ","ADJUST_SIZE":"Justera storlek med ","SEARCH_ANYTHING":"Du kan söka på vad som helst...","ALL_CATEGORIES":"Alla","SEARCH_CATEGORIES":"Filmer, Serier, YouTube & TV","SEARCH_PERSONS":"Skådespelare, Regissörer & Författare","SEARCH_PROTOCOLS":"HTTP- och Magnetlänkar","SEARCH_TYPES":"IMDB / TVDB-länkar","WATCHED":"Sedd","SHOW_LESS":"Visa mindre","LAST_SEARCHES":"Senaste sökningar","CLEAR_HISTORY":"Rensa historik","CHOOSE_SOME":"VÄLJ NÅGOT AV DETTA:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Webb-fjärrkontrollen kunde inte laddas","STREMIO_OFFLINE":"Stremio är offline","STREMIO_EXPENSIVE_CONNECTION":"Vi har upptäckt att du använder en mobil dataanslutning, vill du fortsätta?","USE_DATA":"Använd data","WARNING":"Varning","MORE_INFO":"Mer information ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Laddar ...","STREMIO_TV_BACK_TO_LANGUAGES":"Tillbaka till språk","STREMIO_TV_REMOTE":"Fjärrkontroll","STREMIO_TV_GO_TO":"Gå till:","STREMIO_TV_OR_SCAN":"eller skanna:","STREMIO_TV_ADDON_INSTRUCTIONS":"Var god följ instruktionerna för att installera dina föredragna tillägg.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Återuppta tittande","STREMIO_TV_LOADING_BACKGROUND":"Laddar bakgrund","STREMIO_TV_CHECKING_AUTHENTICATION":"Verifierar autentisering","STREMIO_TV_LOADING_BOARD":"Läser in Hem","STREMIO_TV_LOGIN_HEADER_LINE_1":"Vi vill att våra användare ska ha den bästa möjliga personliga upplevelsen med vår programvara.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Av denna anledning ber vi dig att skapa och/eller logga in på ditt konto.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Tack för din förståelse,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Teamet hos Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"För att använda Webbfjärrkontrollen med din smartphone/surfplatta/dator:","STREMIO_TV_WIFI_SETUP":"Inställning av Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle har inte upptäckt en internetanslutning.","STREMIO_TV_WIFI_DETAILS_1":"Anslut till:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Använd lösenord:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Öppna en webbläsare med länken:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Standard","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Efter senast sedda","STREMIO_TV_LIBRARY_SORT_NAME":"Efter namn","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Efter namn fallande","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Efter tittade gånger","STREMIO_TV_LIBRARY_SORT_WATCHED":"Efter tittat","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Efter inte tittat","STREMIO_TV_DETAILS_SEASON_NUMBER":"Säsong ${1}","STREMIO_TV_STREAMS_LOADING":"Laddat ${1} / ${2} tillägg...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} tillägg laddar fortfarande...","STREMIO_TV_PLAYER_SETTINGS":"Spelarinställningar","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Undertextfördröjning","STREMIO_TV_PLAYER_AUDIO_DELAY":"Ljudfördröjning","STREMIO_TV_PLAYER_VIDEO_SCALING":"Videoskalning","STREMIO_TV_PLAYER_CHAPTERS":"Kapitel","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Hoppa över ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Ostödd streamskälla","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Fel vid öppning av extern länk","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Inte justerbar i ljudpassthrough-läge","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Spela med ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Spela med libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Byter till libVLC-spelare på grund av ett uppspelningsfel","STREMIO_TV_ADDONS_TITLE":"Använd Stremio på din telefon eller dator för att installera eller konfigurera tillägg och tryck på \\"Synkronisera tillägg\\"","STREMIO_TV_ADDONS_SUBTITLE":"OBS! Se till att du använder samma Stremio-konto","STREMIO_TV_ADDONS_SYNC_ADDONS":"Synkronisera tillägg","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Tillägg har synkroniserats framgångsrikt","STREMIO_TV_ADDONS_SYNC_FAILED":"Synkronisering av tillägg misslyckades","STREMIO_TV_META_LINK_FAILED":"Misslyckades med att öppna metalänk","STREMIO_TV_CATALOG_LOADING":"Katalogen laddar fortfarande...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Språkgränssnitt uppdaterat","STREMIO_TV_SETTINGS_THEME_UPDATED":"Temat uppdaterat","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Standardspelare","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Extern spelare","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Förvalt språk","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Andrahandsspråk","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelerad uppspelning","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Eventuella uppspelningsproblem på vissa enheter","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Vissa videoformat kanske inte fungerar","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Matchning av bildrutehastighet","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Inaktiverat","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Endast bildrutehastighet","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Bildrutehastighet och upplösning","STREMIO_TV_SETTINGS_NO_CACHING":"Ingen cachning","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Standard","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Mjuk","STREMIO_TV_SETTINGS_PROFILE_FAST":"Snabb","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultrasnabb","STREMIO_TV_SETTINGS_SERVER_URL":"URL till streaming-server","STREMIO_TV_SETTINGS_SERVER_VERSION":"Serverversion","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Okänd","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio-version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Redigera server-URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Skriv in en URL till streaming-servern","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Visa statistik under inläsning","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"För att läsa Stremios integritetspolicy, besök:","STREMIO_TV_SETTINGS_TOS_TEXT":"För att läsa Stremios användarvillkor, besök:","STREMIO_TV_NAV_SEARCH":"Sök","STREMIO_TV_NAV_HOME":"Hem","STREMIO_TV_NAV_DISCOVER":"Upptäck","STREMIO_TV_NAV_LIBRARY":"Bibliotek","STREMIO_TV_NAV_MOVIES":"Filmer","STREMIO_TV_NAV_SERIES":"Serier","STREMIO_TV_NAV_CHANNELS":"Kanaler","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Inställningar","STREMIO_TV_NAV_ADDONS":"Tillägg","STREMIO_TV_LOGIN_TITLE":"Länka konto","STREMIO_TV_LOGIN_EXPIRES_IN":"Utgår om","STREMIO_TV_LOGIN_STEP_ONE":"Skanna QR-koden ovan eller gå till","STREMIO_TV_LOGIN_STEP_TWO":"Logga in på ditt Stremio-konto","STREMIO_TV_LOGIN_NEW_LINK":"Begär en ny länk","STREMIO_TV_LOGIN_LINK_REFRESHED":"Inloggningskoden uppdaterad","STREMIO_TV_SEARCH_PLACEHOLDER":"Skriv något","STREMIO_TV_SEARCH_NO_ADDONS":"Inga tillägg begärdes för kataloger!","STREMIO_TV_SEARCH_BUTTON":"Sök","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Rensa","STREMIO_TV_SEARCH_HISTORY_TITLE":"Sökhistorik","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Du kan söka efter titlar, skådespelare, kanaler och mer...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Rensa sökhistorik","STREMIO_TV_FILTERS_DESCRIPTION":"Välj ett av filtren nedan","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming-servern är offline. Kontrollera serverinställningarna.","FILTERS":"Filter","SETTINGS":"Inställningar","ACCOUNT":"Konto","LOGOUT":"Logga ut","THEMES":"Teman","PLAYBACK":"Uppspelning","PLAYBACK_SPEED":"Uppspelningshastighet","AUDIO_TRACKS":"Ljudspår","UNKNOWN_TRACK_LANG":"Okänt","VIDEOS":"Videor","SERVER":"Server","LINKS":"Länkar","ABOUT":"Om","INTERFACE":"Gränssnitt","ANIMATIONS":"Animationer","STATUS":"Status","LANGUAGE":"Språk","SIZE":"Storlek","DELAY":"Fördröjning","BOLD":"Fetstil","OPACITY":"Opacitet","TEXT_COLOR":"Textfärg","OUTLINE_COLOR":"Konturfärg","BACKGROUND_COLOR":"Bakgrundsfärg","BACKGROUND_BLUR":"Bakgrundssuddighet","SEEK_TIME_DURATION":"Söktidslängd","AUTO_PLAY":"Autouppspelning av nästa avsnitt","PLAY_NOW":"Spela nu","MARK_AS_WATCHED":"Markera som sedd","MARK_AS_UNWATCHED":"Markera som osedd","REWIND_TO_BEGINNING":"Spola till början","CONTINUE_WATCHING":"Fortsätt titta","ALL":"Alla","SECONDS":"sekunder","ON":"PÅ","OFF":"AV","RELOAD":"Ladda om","EDIT_URL":"Redigera URL","URL":"URL","NONE":"Ingen","EMBEDDED":"Inbäddad","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Byt enheter","REMOTE_VIDEOS":"Videor","REMOTE_ADJUST_TIMING":"Justera timing","REMOTE_ADJUST_SIZE":"Justera storlek","REMOTE_COULD_NOT_BE_LOADED":"Webb-fjärrkontroll kunde inte laddas","REMOTE_RETRY":"Försök igen","TORRENT_PROFILE_DEFAULT":"Standard","TORRENT_PROFILE_SOFT":"Mjuk","TORRENT_PROFILE_FAST":"Snabb","TORRENT_PROFILE_ULTRA_FAST":"Ultra snabb","MB_S":"MB/s","FAQ_001_H1":"Vad är Stremio?","FAQ_001_P1":"Stremio är en mediecentralprogramvara utformad för video-underhållning med användarvänlighet i åtanke. Stremio låter dig organisera och titta på din egen samling av filmer, serier, kanaler och live-TV.","FAQ_001_P2":"Stremio samlar in innehållet den visar dig från din lokala disk och vårt tilläggssystem.","FAQ_001_P3":"Den kommer också att meddela dig när nya avsnitt/videor/filmer som du är intresserad av kommer ut och ge dig filmrekommendationer.","FAQ_02_H1":"Hur jämför sig Stremio med Kodi och Plex?","FAQ_02_P1":"Vi är inspirerade av dessa två programvaror. Men vi har olika mål – Stremio är specifikt inriktat på underhållningsvideo och strävar efter att bli den vanliga lösningen för det genom att vara väldigt enkel att använda.","FAQ_02_P2":"Stremio kommer aldrig att vara så anpassningsbar och funktionsrik som Kodi och Plex, men det är betydligt enklare att använda. Bara ${1} skaffa det och se ${2} :)","FAQ_03_H1":"Hur jämför sig Stremio med Netflix?","FAQ_03_P1":"Återigen, Netflix är en av våra inspirationer. Vi strävar efter att uppnå användarupplevelsen av Netflix, plus en hel del extra godsaker. Men viktigast av allt, vi ger dig friheten att hantera ditt eget bibliotek och lägga till nya innehållskällor med vårt tilläggssystem.","FAQ_03_P2":"Det gör Stremio oändligt utbyggbart, så när du använder Stremio är du aldrig begränsad till innehållet som Netflix väljer att licensiera. Till exempel, genom Stremio kan du titta på innehåll från ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} och till och med ${9}Netflix${10} självt!","FAQ_04_H1":"Hur jämför sig Stremio med Flipboard?","FAQ_04_P1":"Vi får inte den frågan så ofta, förutom när vi pratar med start-up folk :)","FAQ_04_P2":"Stremio är av design en innehållsaggregator, vilket i princip gör det till Flipboard för video. Detta blir mycket tydligt i vår Hem-sektion, som ger dig kataloger och notifikationer om nya avsnitt/nya videor för det du följer, precis som Flipboard.","FAQ_05_H1":"Hur jämför sig Stremio med Popcorn Time?","FAQ_05_P1":"Stremio och Popcorn Time liknar varandra i användargränssnitt, eftersom det inte finns många sätt att göra videounderhållningskataloger rätt :)","FAQ_05_P2":"Men medan Popcorn Time fokuserar på att strömma torrents från specifika källor, är Stremio obegränsad och är bara en innehållsaggregator - den är inte låst till en specifik innehållskälla.","FAQ_05_P3":"Dessutom tillhandahåller vi inga torrent-tillägg som standard, så Stremio täcker inte Popcorn Time-användningsfallet med officiell funktionalitet.","FAQ_05_P4":"En annan anmärkningsvärd skillnad är att Popcorn Time är helt öppen källkod, medan Stremio är ${1} delvis öppen källkod${2}.","FAQ_06_H1":"Kommer du att lägga till den här filmen/serien?","FAQ_06_P1":"Nej, tyvärr :(","FAQ_06_P2":"Som nämns i de flesta andra frågorna, tillhandahåller Stremio inte något innehåll självt - allt läggs till genom tilläggssystemet. Om du har en förfrågan om innehåll kan du använda ”Rapportera”-knappen i spelaren, vilket kommer att skicka ett e-postmeddelande till utvecklaren av tillägget du för närvarande använder.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Kommer du att skapa tillägg för X?","FAQ_08_P1":"Det är fullt möjligt.","FAQ_08_P2":"Om du har en idé för ett tillägg, skicka oss ett meddelande på ${1}office@stremio.com${2}, men var vänlig och se till att din tilläggsidé inte bryter mot några upphovsrätter eller användarvillkor.","FAQ_08_P3":"För tillfället är de nästa punkterna på vår utvecklingsplan tillägg för FandangoNOW, Filmon.tv video på begäran och Crunchyroll.","FAQ_09_H1":"Använder Stremio BitTorrent?","FAQ_09_P1":"Ja, Stremio stöder BitTorrent som ett strömningsprotokoll. Du kan använda det antingen med ett torrenttillägg eller genom att dra och släppa en .torrent-fil i Stremio, eller genom att klistra in en magnetlänk i sökfältet.","FAQ_09_P2":"Observera att det enda officiella tillägget som använder BitTorrent är ${1}Vodo${2}, som tillhandahåller indieinnehåll, allt tillåtet att distribueras med BitTorrent.","FAQ_09_P3":"Vi stöder inte användningen av några tredjepartstillägg som kan möjliggöra upphovsrättsintrång.","FAQ_10_H1":"Vad kan jag titta på i Stremio med de officiella tilläggen?","FAQ_10_P1":"Som standard kan du titta på innehåll från Filmon.tv, YouTube och Vodo inom Stremio självt, med dess inbyggda spelare. Dessutom har vi ett tillägg för Twitch.tv och några andra.","FAQ_10_P2":"Detta ger tillsammans ett urval av:","FAQ_10_L1":"Populära TV-kanaler, tillhandahållna av Filmon.tv - till exempel E4, BBC, Bollyworld TV","FAQ_10_L2":"Allt från YouTube – till exempel BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indiefilmer med Vodo","FAQ_10_L4":"Online-spelsändningar med Twitch.tv","FAQ_10_P3":"Dessutom finns det många innehållskällor som tillhandahålls med Guidebox och Netflix-tilläggen, som inte spelas helt inuti Stremio, utan skulle omdirigera till den givna tjänsten. Till exempel skulle Guidebox-tillägget ge dig ett urval av filmer som du kan streama gratis i USA, från tjänster som TubiTV och Crackle.","FAQ_11_H1":"Stremio installeras inte, vad ska jag göra?","FAQ_11_P1":"Om du använder Windows, prova ${1}detta alternativa installationsprogram${2}.","FAQ_11_P2":"Om du använder Mac OS X, var medveten om att vi inte stöder något äldre än OS X Mavericks (10.9).","FAQ_11_P3":"Om du använder Linux, var medveten om att vi för tillfället endast stöder 64-bitars (x64) Linux.","FAQ_11_P4":"Om du fortfarande inte kan lösa ditt problem, vänligen skriv till oss i vår ${1}Facebook-grupp${2}.","FAQ_12_H1":"Varför klagar mitt antivirus? Är Stremio säkert?","FAQ_12_P1":"Vi försäkrar dig om att Stremio är ${1}100% säkert${2}.","FAQ_12_P2":"Ditt antivirusprogram klagar för att vi inkluderar annonsering i vårt installationsprogram, vilket vissa antivirusprogram uppfattar som adware.","FAQ_12_P3":"Om du fortfarande är osäker kan du prova vårt ${1}alternativa installationsprogram${2}.","FAQ_13_H1":"Hur gör jag ett tillägg?","FAQ_13_P1":"Till att börja med rekommenderar vi att du kollar vår ${1}addons-systemmodul${2} på GitHub.","FAQ_13_P2":"Därefter kan du följa ${1}Hello World-tutorialen${2}.","FAQ_13_P3":"Om du inte har några programmeringskunskaper, vänligen posta din idé på ${1}Reddit-communityt${2} och kontakta oss med din tilläggsidé på ${3}office@stremio.com${4}.","FAQ_14_H1":"Hur publiceras tillägg?","FAQ_14_P1":"När du skapar ett tillägg och värd, och lägger till ett slutpunkt-fält i din manifestfil, som pekar på en fungerande tilläggsadress, kommer tillägget automatiskt att publicera sig självt i vår ${1}Tilläggskatalog${2}.","FAQ_14_P2":"Detta händer eftersom serverdelen av stremio-tilläggsmodulen automatiskt gör ett anrop till vårt API för att meddela tillägget. När vårt API validerar din slutpunkt som ett giltigt tillägg kommer det att börja visas i katalogen.","FAQ_15_H1":"Kan jag köra Stremio i min webbläsare?","FAQ_15_P1":"Inte för tillfället, men det här kommer!","FAQ_15_P2":"Om du är nyfiken på att se en alfa kan du se den här: ${1}alpha4.strem.io${2}. Tänk på att streaming är inaktiverat på denna alfa. Vi stöder Chrome, Firefox, Opera och Edge.","FAQ_16_H1":"Casta till TV fungerar inte / undertexter fungerar inte","FAQ_16_P1":"Casting till TV använder DLNA-tekniken som är mycket inkonsekvent mellan olika TV-märken och modeller. Av den anledningen har vi inte möjlighet att testa det i alla fall, så det är långt ifrån perfekt. Trots detta arbetar vi på att förbättra det hela tiden men vi kan inte ge dig en tidsuppskattning av när DLNA kommer att börja fungera korrekt med din TV.","FAQ_16_P2":"Om du inte ens ser din TV i cast-menyn, försök att inaktivera din nätverksanslutning och återaktivera den (i Windows, högerklicka på nätverket och använd Aktivera/Inaktivera), samt starta om din router, TV och PC.","FAQ_16_P3":"Om du fortfarande stöter på problem kan du hjälpa oss genom att skicka information om ditt TV-märke och modell till ${1}office@stremio.com${2}.","FAQ_16_P4":"Under tiden rekommenderar vi Chromecast, som vi stöder mycket väl, eller helt enkelt koppla in din TV till din PC med en HDMI-kabel.","FAQ_17_H1":"Stremio fryser och/eller kraschar, vad kan jag göra?","FAQ_17_P1":"Först och främst, om du använder Windows 7 med AVG-antivirus: vi har ett problem med den kombinationen. Problemet ligger i själva AVG, och det finns inget rimligt sätt att lösa det från vår sida. Tyvärr fungerar inte undantag eller inaktivering av antivirusprogrammet. Den enda lösningen är att ersätta AVG med något annat.","FAQ_17_P2":"Om det inte är problemet, men du fortfarande använder Windows, uppdatera till det senaste Service Pack och uppdatera/installera om dina GPU-drivrutiner och försök sedan igen.","FAQ_17_P3":"Om ditt problem fortfarande inte är löst, eller om du använder en Mac eller Linux, skriv till oss och rapportera de exakta detaljerna om problemet på ${1}vår Facebook-grupp${2}.","FAQ_18_H1":"Hur gör jag ett tillägg?","FAQ_18_P1":"Till att börja med rekommenderar vi att du kollar vår ${1}addons-systemmodul${2} på GitHub.","FAQ_18_P2":"Efteråt kan du följa ${1}Hello World-tutorialen${2}.","FAQ_18_P3":"Om du inte har några programmeringskunskaper, vänligen posta din idé på ${1}Reddit-communityt${2} och kontakta oss med din tilläggsidé på ${3}office@stremio.com${4}.","FAQ_19_H1":"Varför tar Stremio diskutrymme?","FAQ_19_P1":"Stremio har en lokal cache för att tillfälligt behålla videofilerna du streamar.","FAQ_19_P2":"Detta har två fördelar: för det första tillåter det Stremio att förbuffra videon framåt för att säkerställa smidigare streaming. För det andra håller den videorna i den lokala cachen så att du kan fortsätta titta på dem offline.","FAQ_19_P3":"Hur mycket Stremio lagrar beror på Cache-inställningen i inställningspanelen. Stremio kan behålla upp till det inställda beloppet (t.ex. 2 GB) på din disk, såvida inte den för närvarande streamade videon är större än så, i vilket fall den måste tilldela tillräckligt med lagringsutrymme för att behålla den tills du streamar den.","FAQ_20_H1":"Var är cachemappen?","FAQ_20_P1":"På Windows är det stremio-cache på den enhet du valde i Inställningar (t.ex. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"På MacOS är det \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"På Linux är det \\"~/.stremio/stremio-cache\\" eller \\"~/stremio-cache\\"","FAQ_21_H1":"Jag får felmeddelandet \\"Streaming server is not found\\", vad kan jag göra?","FAQ_21_P1":"Om du får detta felmeddelande betyder det en av några saker:","FAQ_21_P2":"1) Du försöker använda ett tillägg som stöds av en YouTube/BitTorrent-källa, via vår ${1}webbversion${2}. I detta fall bör du installera vår skrivbordsversion från ${3}vår webbplats${4}.","FAQ_21_P3":"2) Något är fel med din Stremio-installation. I detta fall, försök att installera om vår senaste skrivbordsversion från ${1}webbplatsen${2}. Om detta inte hjälper, försök att inaktivera antivirusprogram och brandväggar, starta om din dator och försök igen. Om detta inte heller fungerar, vänligen skriv till oss i ${3}vår Facebook-grupp${4}.","FAQ_22_H1":"Jag kan inte se/använda de flesta tillägg på iOS","FAQ_22_P1":"På grund av begränsningar i villkoren för Apple App Store har vi begränsat iOS-applikationen till endast en viss uppsättning tillägg.","FAQ_22_P2":"Men var lugn - det kommer att finnas fler tillägg för iOS i framtiden, och vi kan även lägga till en integration som gör det möjligt för dig att använda alla Stremio-tillägg tack vare kopplingen av iOS-appen till Stremio Streaming Server."}')},41647:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"సినిమా","TYPE_series":"సిరీస్","TYPE_tv":"టీవీ ఛానల్","TYPE_channel":"ఛానల్","TYPE_other":"మరిన్ని","TYPE_movie_PL":"Movies","TYPE_series_PL":"Series","TYPE_tv_PL":"TV channels","TYPE_channel_PL":"Channels","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Back","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Discover","Board":"Board","Library":"Library","My Library":"My Library","Calendar":"Calendar","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"search","SEARCH_NO_RESULTS":"No results were found","SEARCH_EXPLANATION_CONTENT":"Search for movies, series, YouTube and TV channels","SEARCH_EXPLANATION_PEOPLE":"Search for actors, directors and writers","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Add to Library","REMOVE_FROM_LIB":"Remove from Library","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Watch Trailer","WATCH_NOW":"Watch Now","SHOW":"Show","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb Rating","YEAR":"Year","DIRECTOR":"Director","WRITER":"Writer","LEAD_ACTORS":"Lead Actors","CAST":"Cast","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Aired","SEASONS":"Seasons","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Summary","SHOW_MORE":"Show More","SIMILAR":"Similar","UPCOMING":"Upcoming","TBA":"TBA","ENDED":"Ended","DURATION":"Duration","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"search videos","SEARCH_PLACEHOLDER":"search or paste URL","ADDON":"addon","ADDONS":"Addons","OFFICIAL":"official","ADDONS_OFFICIAL":"Official Stremio Addons","ADDONS_POPULAR":"Popular in your area","ADDON_FREE":"free","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"subscription","ADDON_STREAM_GEORESTRICTED":"not available in your area","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Available Streams","NO_STREAM":"No streams were found","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Show all addons »","ADDON_CATALOGUE_MORE":"Install addons","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons collection already exist","ADDON_REPO_ERR":"Error occurred while adding collection","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Cannot uninstall addon, it is protected","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection URL","ERR_NOT_ADDON_URL":"Not a valid addon URL","ERR_DETECTFROMURL":"Cannot find addon/collection from this URL","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Syncing installed addons to your account failed","SETTINGS_DATA_EXPORT":"Export user data","ADDON_PULL_FAILED":"Syncing installed addons from your account failed","REFRESH_ON_CLICK":"Click to retry","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Movie still in theaters","WATCH_IN_CINEMA":"Watch it in your local cinema","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.
    Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from local files, YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streaming from","CASTING_TO":"Casting to","NETWORK_STATUS":"Network status","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Waiting:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"loading...","PLAYING_LOCAL":"playing from local file","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Choose a device to watch on","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","NO_OPTIONS":"No options available","PHONE_TABLET":"Phone / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Change subtitles for ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles #{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use G / H keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use G / H keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Season","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"watched","SORT_YEAR":"year","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"Resume","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"Dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar Winners","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Continue with Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"or","I_ACCEPT":"I accept the","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terms and Conditions","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passwords don\'t match","SIGN_UP":"Sign up","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Log in","LOG_OUT":"Log out","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Wrong email or password. In case you have forgotten your password, ","SET_A_PASS":"set a password","RESET_PASSWORD":"Reset password","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Activate this addon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"What\'s new","BUTTON_CONTINUE":"Continue","BUTTON_ACTIVATE":"Activate","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Cancel","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications & recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series & movies to it:","IMPORT_FB":"Import things you like from Facebook","IMPORT_TRAKT":"Import your media library from Trakt","IMPORT_DISCOVER":"Find interesting stuff from Discover","IMPORT_DISK":"Import movies or shows you have on your local disk","PLEASE_CREATE_ACC":"Please create an account to enable Library sync & Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from Discover","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your local disk","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Language","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"January","February":"February","March":"March","April":"April","May":"May","June":"June","July":"July","August":"August","September":"September","October":"October","November":"November","December":"December","Monday":"Monday","Tuesday":"Tuesday","Wednesday":"Wednesday","Thursday":"Thursday","Friday":"Friday","Saturday":"Saturday","Sunday":"Sunday","Action":"Action","Comedy":"Comedy","War":"War","Family":"Family","Animation":"Animation","Adventure":"Adventure","Fantasy":"Fantasy","Crime":"Crime","Mystery":"Mystery","Romance":"Romance","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Music","Biography":"Biography","Documentary":"Documentary","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.
    This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.
    Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.
    Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to contact us.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science.
    Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which do not play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a endpoint field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your endpoint as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a local cache to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the Cache setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},58077:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Dizi","TYPE_tv":"TV kanalı","TYPE_channel":"Kanal","TYPE_other":"Diğer","TYPE_movie_PL":"Filmler","TYPE_series_PL":"Diziler","TYPE_tv_PL":"TV kanalları","TYPE_channel_PL":"Kanallar","TYPE_other_PL":"Diğer","TYPE_ALL":"Tümü","TYPE":"Tür","CATALOG_com_linvo_cinemeta_top":"Beğenilenler","CATALOG_com_linvo_cinemeta_imdbRating":"Öne Çıkanlar","CATALOG_com_linvo_cinemeta_year":"Yeniler","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Kamu Malı Filmler","VIDEO":"Görüntü","BACK":"Geri","MORE":"Daha fazla","DONE":"Bitti","COPY":"Kopyala","SUCCESS":"Başarılı","ERROR":"Hata","SETTINGS_CASTING_MODE_PICKER":"Yayın modu","CASTING_MODE_HLSV2":"Varsayılan","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Kod dönüştürme yok","Discover":"Keşfet","Board":"Pano","Library":"Kitaplık","My Library":"Kitaplığım","Calendar":"Takvim","NOTIFICATION_ONLINE":"Şu an çevrimiçisiniz","NOTIFICATION_OFFLINE":"Şu anda çevrimdışısınız","INTERNET_CONNECTION":"Ağ bağlantısı","STORAGE_FULL_TITLE":"Dikkat: Depolama dolu!","STORAGE_FULL_TEXT":"Stremio, ayarlarınızı, tercihlerinizi veya oturum açma bilgilerinizi kaydedemeyecektir. Stremio\'yu yeniden başlatmayı veya yeniden yüklemeyi düşünün.","SEARCH":"ara","SEARCH_NO_RESULTS":"Sonuçlar bulunamadı","SEARCH_EXPLANATION_CONTENT":"Filmler, diziler, YouTube ve TV kanallarını arayın","SEARCH_EXPLANATION_PEOPLE":"Aktörler, yönetmenler, yazarları arayın","SEARCH_PASTE_LINKS":"HTTP ve Magnet bağlantılarını yapıştırın","SEARCH_OR_PASTE_LINK":"Arayın ya da bağlantıyı yapıştırın","SEARCH_SUGGESTIONS":"Arama Önerileri","ADD_TO_LIB":"Kitaplığa Ekle","REMOVE_FROM_LIB":"Kitaplıktan Kaldır","ADDED_TO_LIB":"Kitaplığa Eklendi","REMOVED_FROM_LIB":"Kitaplıktan Kaldırıldı","TRAILER":"Fragman","WATCH_TRAILER":"Fragmanı İzle","WATCH_NOW":"Şimdi İzle","SHOW":"Göster","SHOW_MOVIE":"Filmi Göster","WATCH_RANDOM":"Rastgele İzle","IMDB_RATING":"IMDB Puanı","YEAR":"Yıl","DIRECTOR":"Yönetmen","WRITER":"Yazar","LEAD_ACTORS":"Başroller","CAST":"Oyuncular","CREW":"Ekip","SHOW_MORE_CAST":"Daha fazlasını göster »","AIRED":"Yayın tarihi","SEASONS":"Sezonlar","GENRE":"Tür","GENRE_ALL":"Tüm türler","CATALOG":"Katalog","SUMMARY":"Özet","SHOW_MORE":"Daha Fazla Göster","SIMILAR":"Benzer","UPCOMING":"Yaklaşan","TBA":"Duyurulacak","ENDED":"Biten","DURATION":"Süre","FEATURED":"Öne çıkanlar","METADATA":"Üstveri","CATEGORY":"kategori","LINKS_GENRES":"Türü","LINKS_CAST":"Oyuncular","LINKS_DIRECTORS":"Yönetmenler","SEARCH_VIDEOS":"görüntüleri arayın","SEARCH_PLACEHOLDER":"arayın veya URL yapıştırın","ADDON":"eklenti","ADDONS":"Eklentiler","OFFICIAL":"resmi","ADDONS_OFFICIAL":"Resmi Stremio Eklentileri","ADDONS_POPULAR":"Bölgenizde beğenilen","ADDON_FREE":"ücretsiz","ADDON_PEERED":"denk gelen","ADDON_SUBSCRIPTION":"abonelik","ADDON_STREAM_GEORESTRICTED":"bölgenizde mevcut değil","ADDON_STREAM_OFFLINECACHE":"Çevrimdışı Önbellek","ADDON_STREAM_LOCALFILE":"Yerel Dosya","SHARE_ADDON":"Eklentiyi paylaş","AVAILABLE_STREAMS":"Mevcut Akışlar","NO_STREAM":"Akışlar bulunamadı","ALL_ADDONS":"Tümü","INSTALL_MORE_ADDONS":"Daha fazla akış için lütfen daha fazla eklenti yükleyin","STREAM_NOT_SUPPORTED":"Seçilen akış bu platformda desteklenmiyor.","ADDON_CATALOGUE":"Tüm eklentileri göster »","ADDON_CATALOGUE_MORE":"Eklentileri yükle","REPO_ADDED":"Depo eklendi","ADDON_REPO_EXIST_ERR":"Bu eklenti koleksiyonu zaten var","ADDON_REPO_ERR":"Koleksiyon eklenirken hata meydana geldi","ADDON_ADD_ERR":"Eklenti eklenirken hata meydana geldi","ERR_ADDON_PROTECTED":"Eklenti kaldırılamıyor, korumalı","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Bir şeyler ters gitti - kimlik doğrulaması başarısız olabilir","ERR_NOT_COLLECTION_URL":"Bir koleksiyon URL\'si değil","ERR_NOT_ADDON_URL":"Bir eklenti URL\'si değil","ERR_DETECTFROMURL":"Bu URL\'den eklenti/koleksiyon bulunamıyor","ADDON_DUPLICATE_WARNING":"Uyarı: yinelenen eklenti","ADDON_COLLECTION_SET_FAILED":"Yüklü eklentilerin hesabınıza eşitlenmesi başarısız oldu","SETTINGS_DATA_EXPORT":"Kullanıcı verilerini dışa aktar","ADDON_PULL_FAILED":"Yüklü eklentilerin hesabınızdan eşitlenmesi başarısız oldu","REFRESH_ON_CLICK":"Yeniden denemek için tıklayın","ADDON_LOADING_MANIFEST":"Eklenti bildirisi yükleniyor","ADDON_LOADING_MANIFEST_FROM":"{{origin}} üzerinden eklenti bildirisi yükleniyor","ADDON_LOADING_MANIFEST_FAILED":"{{origin}} üzerinden eklenti bildirisini alma başarısız oldu","STILL_IN_THEATER":"Film hala gösterimde","WATCH_IN_CINEMA":"Yerel sinemanızda izleyin","IN_THEATER":"Sinemada","GET_TICKETS":"Bilet al","UPCOMING_EPISODE":"Yaklaşan bölüm","UPCOMING_EPISODE_MESSAGE":"Bu bölümün yayınlanacağı tarih","MISSING_DATE_EPISODE":"Eksik bölüm tarihi","MISSING_DATE_EPISODE_MESSAGE":"Bu bölüm henüz yayınlanmamış olabilir","CHANNEL_NOT_SCRAPED":"Bu kanal henüz uygun değil.
    Lütfen birkaç dakika içinde yine geri gelin.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Mevcut olduğunda bildirim almak için kitaplığınıza ekleyin.","GET_NOTIFIED_WHEN_AVAILABLE":"Mevcut olduğunda bilgilendirileceksiniz.","WARNING_STREAMING_SERVER":"Uyarı: yerel akış sunucusu bulunamadı. Yerel dosyalardan, YouTube ve BitTorrent\'den akış kullanılamayacaktır.","WARNING_STREAMING_SERVER_DISMISS":"Vazgeç","WARNING_STREAMING_SERVER_LATER":"Sonra","DECODER_WARNING":"Uyarı: bu görüntü, donanımınız tarafından desteklenmiyor olabilir. Oynatma yavaş olabilir, unutmayın.","GENERIC_ERROR_MESSAGE":"Bir şeyler yanlış gitti!","TRY_AGAIN":"Tekrar dene","CLEAR_DATA":"Verileri temizle","PLAYER_ERROR":"Eyvah, Oynatıcı Hatası","PLAYER_ERROR_LOOKSLIKE":"Benzediği durum","PLAYER_ORIENTATION":"Oynatıcı yönü","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Kilitli","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensör","PLAYER_ORIENTATION_LANDSCAPE":"Oynatıcı yönü yatay olarak kilitli","PLAYER_ORIENTATION_SENSOR":"Oynatıcı yönü otomatik (sensör)","PLAYER_PLAYBACK_SPEED":"Oynatma Hızı","PLAYER_PLAYBACK_ERROR":"Oynatma hatası, lütfen tekrar deneyin","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Bilinmeyen hata","PLAYER_PLAYBACK_ERROR_DEFAULT":"Üzgünüz, bu görüntü {{productName}} tarafından oynatılamaz.","PLAYER_SUBTITLES_LANGUAGES":"Altyazı Dilleri","PLAYER_SUBTITLES_VARIANTS":"Altyazı Çeşitleri","PLAYER_SUBTITLES_SETTINGS":"Altyazı Ayarları","PLAYER_SUBTITLES_DISABLED":"Altyazılar etkisizleştirildi","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Dikey Konum","PLAYER_SUBTITLES_LOADED":"Altyazılar yüklendi","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Gömülü altyazılar yüklendi","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Özel altyazılar yüklendi","PLAYER_SUBTITLES_LOADED_LOCAL":"Yerel altyazılar yüklendi","PLAYER_SUBTITLES_LOADED_ORIGIN":"Altyazılar, {{origin}} kaynağından yüklendi","PLAYER_PLAY":"Oynat","PLAYER_PAUSE":"Duraklat","PLAYER_NEXT_VIDEO":"Sonraki Görüntü","PLAYER_MUTE":"Sesi Kapat","PLAYER_UNMUTE":"Sesi Aç","PLAYER_OPEN_IN_EXTERNAL":"Harici oynatıcıda aç","PLAYER_OPEN_IN_NPLAYER":"nPlayer\'da aç","PLAYER_PLAY_IN":"{{device}} içinde oynat","PLAYER_LIVE":"Canlı","PLAYER_NEXT_VIDEO_TITLE":"Sıradaki gelen","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Sıradaki","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Vazgeç","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Şimdi izle","PLAYER_COPY_STREAM_SUCCESS":"Akış bağlantısı panonuza kopyalandı","PLAYER_COPY_STREAM_ERROR":"Akış bağlantısını kopyalama başarısız oldu","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"İndirme bağlantısı panonuza kopyalandı","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"İndirme bağlantısını kopyalama başarısız oldu","PLAYER_STATISTICS":"İstatistikler","PLAYER_PEERS":"Kişi","PLAYER_SPEED":"Hız","PLAYER_COMPLETED":"Tamamlanan","PLAYER_INFO_HASH":"Bilgi adreslemesi","STREAMING_FROM":"yayının geldiği yer","CASTING_TO":"Yayınlandığı yer","NETWORK_STATUS":"Ağ durumu","STREAM_SPEED":"Yayın hızı:","STREAM_BUFFERED":"Arabelleğe alınan:","PEERS_INFO":"Kişi Bilgileri","PEERS_ACTIVE":"Etkin:","PEERS_CONNECTED":"Bağlandı:","PEERS_WAITING":"Bekleniyor:","TRANSCODING_WARNING":"Uyarı: görüntü kodu dönüştürülüyor.","STREAM_LOADING":"yükleniyor...","PLAYING_LOCAL":"yerel dosyadan oynatılıyor","PLAYING_CACHE":"önbellekten oynatılıyor","WRONG_SUBS":"Altyazı yanlış mı?","ERR_SUBS_LOADING_TITLE":"Altyazı yüklenirken hata oldu","ERR_SUBS_LOADING":"Altyazıları yükleme başarısız: bu kullandığınız eklenti ya da ağ bağlantınız ile ilgili bir sorun olabilir","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Aşağıdaki altyazı eklentileri başarısız oldu","ERR_CASTING_UPDATE_TITLE":"Yayınlama cihazı bilgisi güncellenemedi: akış sunucusu çevrimdışı olabilir","CHOOSE_DEVICE":"İzleyeceğiniz bir cihaz seçin","NO_CAST_DEVICES":"Kullanılabilir yayınlama cihazları yok.","NO_SETTINGS":"Kullanılabilir ayarlar yok.","NO_OPTIONS":"Kullanılabilir seçenekler yok","PHONE_TABLET":"Telefon / Tablet","DISABLED_LABEL":"{{label}} yapılandırılabilir değil","SUBTITLES":"Altyazılar","SUBTITLES_CHANGE":"Altyazıyı şunun için değiştir: ","SUBTITLES_CHANGE_NONE":"Bu dil için başka altyazı yok, üzgünüz.","SUBTITLES_CHANGE_ACIVE":"Şu anda #{{subtitlesDialog.activeIdx + 1}} altyazısı etkinleştirildi. #{{subtitlesDialog.pickedIdx + 1}} altyazısını etkinleştirmek için \\"Devam\\" düğmesine tıklayın.","SUBTITLES_OR":"Alternatif olarak,","SUBTITLES_ADJUST_DELAY":"Altyazı gecikmesini ayarlayın:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Veya oynatırken ayarlamak için G / H tuşlarını kullanın.","SUBTITLES_ADJUST_DELAY_TIP":"İPUCU: oynatırken ayarlamak için G / H tuşlarını kullanabilirsiniz.","SUBTITLES_DELAY":"Altyazı gecikmesi:","SUBTITLES_LOADING":"Altyazılar yükleniyor...","SUBTITLES_UNAVAILABLE":"Kullanılabilir harici altyazı yok","SUBTITLES_DISABLED":"Etkisizleştirildi","EXTERNAL_PLAYER_DISABLED":"Etkisizleştirildi","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Seçime İzin Ver","EXTERNAL_PLAYER_HINT":"İpucu: Her zaman harici oynatıcı ile açmaya izin veren bir ayar vardır.","DONT_SHOW_AGAIN":"Bir daha gösterme","SERVICE_INSTALL":"Yükle","AUDIO":"Ses","DEFAULT_LANGUAGE":"Varsayılan Dil","DEFAULT_SECONDARY_LANGUAGE":"Varsayılan İkincil Dil","SEASON":"Sezon","SEASON_NUMBER":"Sezon {{season}}","PREV_SEASON":"Önceki sezon","NEXT_SEASON":"Gelecek sezon","EPISODE":"Bölüm","EPISODE_ABBREVIATION":"EP","SPECIAL":"Özel","SORT":"sırala","SORT_BY":"Sıralama şekli:","FILTER":"süz","SORT_TRENDING":"çok izlenen","SORT_RECENT":"en yeni","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"puan","SORT_WATCHED":"izlenen","SORT_YEAR":"yıl","SELECT":"Seç","SELECT_TYPE":"Tür seçin","SELECT_SORT":"Sıralama seçin","SELECT_CATALOG":"Katalog seçin","NO_CATALOG_SELECTED":"Seçilen katalog yok!","CATALOG_FILTERS":"Katalog süzgeçleri","ALL_FILTERS":"Tüm süzgeçler","SELECT_GENRE":"Tür seçin","SORT_LASTWATCHED":"son izlenen","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"en çok izlenen","SORT_NOTWATCHED":"izlenmeyen","New for You":"Sizin için Yeni","New Episodes":"Yeni Bölümler","New Videos":"Yeni Görüntüler","Recommendations":"Önerilenler","LIBRARY_RESUME":"Devam","LIBRARY_PLAY":"Oynat","LIBRARY_DETAILS":"Ayrıntılar","LIBRARY_RESUME_DISMISS":"Vazgeç","LIBRARY_CLEAR_PROGRESS":"İlerlemeyi Temizle","LIBRARY_REMOVE":"Kaldır","LIBRARY_NOT_LOGGED_IN":"Kitaplık yalnızca oturum açmış kullanıcılar tarafından kullanılabilir","LIBRARY_NOT_LOADED":"Kitaplık yüklenmedi!","LIBRARY_EMPTY":"Boş Kitaplık","CALENDAR_NOT_LOGGED_IN":"Takvim yalnızca oturum açmış kullanıcılar tarafından kullanılabilir","NOT_LOGGED_IN_CLOUD":"En sevdiğiniz filmlere ve TV programlarına istediğiniz zaman, istediğiniz yerden erişin","NOT_LOGGED_IN_RECOMMENDATIONS":"Görüntüleme geçmişinize göre uyarlanmış öneriler","NOT_LOGGED_IN_NOTIFICATIONS":"Bir daha asla bir bölümü kaçırmayın","NOT_LOGGED_IN_CALENDAR":"Kişisel izleme takviminizi planlayın","CALENDAR_NO_NEW_EPISODES":"Bu gün için yeni bölümler yok","DISCOVER_FEATURED":"Öne Çıkanlar","DISCOVER_TOP":"En İyiler","DISCOVER_OSCAR":"Oscar Kazananlar","DISCOVER_WARNING_TITLE":"Eyvah!","DISCOVER_EMPTY_CATALOG":"Bu eklenti boş içerik döndürdü.","DISCOVER_ADULT_WARNING":"Bu içerik yalnızca yetişkinler için görünürdür. 18 yaşından büyük müsünüz?","DISCOVER_NOADDON_WARNING":"Uyarı: bu tür için etkin Stremio eklentisi yok. Kaydedilen öğeler gösteriliyor, burada hiç birşey güncellenmeyecek.","DISCOVER_LOAD_ERR":"İçerik yüklenmedi, hata meydana geldi.","DISCOVER_ADDON_UNINSTALLED":"Bu içerik artık mevcut değil, eklentiyi kaldırmış olabilirsiniz.","UNINSTALL_THIS_ADDON":"Bu eklentiyi kaldır","ERR_ADDON_NOT_INSTALLED":"Bu eklenti yüklü değil. Şimdi yüklensin mi?","DETAIL_RECEIVE_NOTIF_SERIES":"Yeni bölümler için bildirim alın","DETAIL_RECEIVE_NOTIF_VIDEOS":"Yeni görüntüler için bildirim alın","SIDEBAR_SHOW_STREAMS":"Akışları Göster","RELAUNCH":"Şimdi yeniden başlat!","UPGRADE":"Yeni sürüm mevcut! En son Stremio sürümüne yükseltin","RELOAD_UI":"Kullanıcı arayüzünü yeniden yükleyin","MANUAL_UPDATE_TITLE":"Stremio sürümünüzü güncelleyin","MANUAL_UPDATE_LINE1":"Son derece önerilmeyen eski bir Stremio sürümü kullanıyorsunuz.","MANUAL_UPDATE_LINE2":"Lütfen en kısa sürede güncelleyin.","BUTTON_UPDATE_LATTER":"Şimdi değil","BUTTON_UPDATE_NOW":"Güncelle","UPDATER_TITLE":"Stremio\'nun yeni bir sürümü mevcut","UPDATER_INSTALL_BUTTON":"Şimdi yükle","ANONYMOUS_USER":"İsimsiz kullanıcı","DONT_HAVE_ACC":"Bir hesabınız yok mu?","HAVE_ACC":"Zaten bir hesabınız var mı?","PASSWORD":"Parola","PASSWORD_CONFIRM":"Parolayı doğrula","EMAIL":"E-posta","FB_LOGIN":"Facebook ile devam et","APPLE_LOGIN":"Apple ile devam et","FB_NOTHINGSHARED":"İzniniz olmadan hiçbir şey paylaşılmaz.","FB_NOPOST":"Sizin adınıza herhangi bir şey göndermeyeceğiz","OR":"ya da","I_ACCEPT":"Kabul ediyorum: ","I_ACCEPT_BY_CLICKING":"Yukarıdaki düğmeye tıklayarak, kabul ettiğimi doğruladıklarım: ","TOS":"Şartlar ve Koşullar","MUST_ACCEPT_TERMS":"Şartları kabul etmek zorundasınız","PASSWORDS_NOMATCH":"Parolalar eşleşmiyor","SIGN_UP":"Kaydol","SIGN_UP_EMAIL":"E-posta ile kaydol","CLICK_TO_SIGN_UP":"Kaydolmak için buraya tıklayın.","LOG_IN":"Oturum aç","LOG_OUT":"Oturumu kapat","EXIT_FULLSCREEN":"Tam ekran modundan çık","ENTER_FULLSCREEN":"Tam ekran moduna geç","PLAY_URL_MAGNET_LINK":"URL/Magnet bağlantısını oynat","HELP_FEEDBACK":"Yardım ve Geri Bildirim","TERMS_OF_SERVICE":"Kullanım Şartları","PRIVACY_POLICY":"Gizlilik İlkesi","ABOUT_STREMIO":"Stremio Hakkında","USER_PANEL":"Kullanıcı Paneli","LOGIN_LABEL":"Oturum aç","GUEST_LOGIN":"Misafir oturumu aç","GUEST_LOGIN_NOTICE":"Misafir Oturumu Açma önerilmez. Normal oturum açmayı kullanmak, Stremio\'nun kitaplığınızı eşitlemesini, en sevdiğiniz diziler/kanallar için bildirimler almasını sağlar. Devam etmek istediğinize emin misiniz?","GUEST_LOGIN_NOTICE_2":"Misafir Oturumu Açma önerilmez - önemli Stremio özellikleri olan Kitaplık ve Pano bildirimlerini eşitlemeyeceksiniz. Devam etmek istediğinize emin misiniz?","CLICK_HERE":"buraya tıklayın","WRONG_PASSWORD":"Yanlış e-posta veya parola. Parolanızı unuttuğunuz durumda, ","SET_A_PASS":"bir parola belirleyin","RESET_PASSWORD":"Parolayı sıfırla","PASSWORD_RESET":"Parola sıfırlama","FORGOT_PASSWORD":"Parolanızı mı unuttunuz?","EMAIL_USED_WITH_FB":"Bu e-posta bir Facebook oturumu açılması ile kullanılmış.","INVALID_EMAIL":"Lütfen geçerli bir e-posta adresi girin","INVALID_PASSWORD":"Lütfen geçerli bir parola girin","CONN_ERR":"Bağlantı hatası - lütfen daha sonra tekrar deneyin.\\n\\nEğer bu devam ederse, güvenlik duvarını/antivirüs yazılımını etkisizleştirin (özellikle Bitdefender\'ı).","IMPORT_FROM_GUEST":"Misafir hesabınızdan Kitaplığa aktarın","RECEIVE_UPDATES_EMAIL":"Stremio\'dan e-postanıza güncellemeleri alın","LOGIN_FAILED":"Oturumu açma başarısız oldu.","SIGNUP_FAILED":"Kaydolma başarısız oldu.","SEARCH_FAILED":"Arama başarısız oldu","EMAIL_USED":"Bu e-posta zaten kullanımda.","WAITING_FB_LOGIN":"Facebook ile oturum açılıyor...","EXTERNAL_OPENING_YOUTUBE":"Stremio\'dan ayrılıyorsunuz ve YouTube\'u açıyorsunuz. Emin misiniz?","EXTERNAL_OPENING_APP":"Başka bir uygulama açmak için Stremio\'dan ayrılıyorsunuz. Emin misiniz?","EXTERNAL_PLAYER_TITLE":"Harici oynatıcıda oynat","EXTERNAL_REMEMBER_PLAYER":"Seçiminizi hatırlamak ister misiniz","EXTERNAL_ALWAYS_PLAY":"Evet","EXTERNAL_ONLY_ONCE":"Hayır","BEST_FIT":"En Uygun","FIT_SCREEN":"Ekrana Sığdır","FILL":"Doldur","16:9":"16:9","4:3":"4:3","Original":"Orijinal","INTRO_TASTE":"Bize nelerden hoşlandığınızı söyleyin","INTRO_TASTE_LONG":"Bize ne izlemek istediğinizi söyleyin","INTRO_TASTE_PICK":"{{interestsRemaining}} ilgi alanı seçin","INTRO_TASTE_PICK_MORE":"{{interestsRemaining}} ilgi alanı daha seçin","INTRO_TASTE_HELP_US":"Hakkınızda daha fazla bilgi edinmemize yardımcı olun.","INTRO_TASTE_CHOOSE_THESE":"Bunlardan bazılarını seçin:","INTRO_TASTE_CHOOSE_MIN":"En az 3 kategori seçin","INTRO_TASTE_CHOOSE_MIN_ERR":"En az 3 kategori seçmek zorundasınız!","INTRO_TASTE_LIFESTYLE":"Yaşam stili","INTRO_TASTE_SPORTS":"Spor","INTRO_TASTE_FOOD_HEALTH":"Yemek ve Sağlık","INTRO_TASTE_BEAUTY_FASHION":"Güzellik ve Moda","INTRO_TASTE_NEWS":"Haber","INTRO_TASTE_GAMING":"Oyun","INTRO_TASTE_SCIENCE_EDU":"Bilim ve Eğitim","INTRO_TASTE_MUSIC":"Müzik","INTRO_TASTE_TRAVEL":"Seyahat","INTRO_TASTE_LATE_NIGHT":"Gece Gösterisi","INTRO_TASTE_REALITY":"Gerçeklik","INTRO_TASTE_COMEDY":"Komedi","INTRO_TASTE_DIY":"Nasıl Kendin Yaparsın","INTRO_TASTE_TECH":"Teknoloji","INTRO_TASTE_CINEMA":"Sinema","NO_ADDONS":"Hiçbir eklenti yüklenmedi!","NO_ADDONS_FOR_TYPE":"Bu tür için hiçbir eklenti yüklenmedi!","ADDON_NOT_SUPPORTED":"Seçilen eklenti bu platformda desteklenmiyor.","ADDON_DISCLAIMER":"Üçüncü taraf eklentileri kullanmak her zaman sizin sorumluluğunuza ve bulunduğunuz yargı bölgesinin geçerli yasasına tabi olacaktır.","ADDON_ACTIVATE":"Bu eklenti etkinleştirilsin mi?","ADDON_REPO_ADD":"Eklenti koleksiyon URL\'si","ADDON_ADD":"Ekle","INSTALL_ADDON":"Eklentiyi yükle","ADD_ADDON":"Eklenti ekle","ADD_ADDON_DESCRIPTION":"Yüklü eklentiler altında görünecek harici bir bağlantı aracılığıyla bir eklenti ekleyebilirsiniz.","PASTE_ADDON_URL":"Eklenti URL\'sini yapıştırın","ADDONS_FILTERS":"Eklentiler süzgeçleri","WHATS_NEW":"Yeni neler var","BUTTON_CONTINUE":"Devam","BUTTON_ACTIVATE":"Etkinleştir","BUTTON_ACTIVATED":"Etkinleştirildi","BUTTON_CANCEL":"İptal","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Gönder","BUTTON_SEND":"Gönder","BUTTON_DISMISS_ALL":"Tümünden Vazgeç","BUTTON_VIEW_ALL":"Tümünü Görüntüle","BUTTON_SEE_ALL":"Tümünü Gör","BUTTON_COLOR_TRANSPARENT":"Şeffaf","BUTTON_PREV":"Önceki","BUTTON_NEXT":"Sonraki","BUTTON_CLOSE":"Kapat","OPEN_IN_BROWSER":"Tarayıcıda aç","LIB_EMPTY":"Kitaplığınız boş görünüyor. Ne kadar kullanışlı olduğunu öğrenin :) ","HOW_START":"İşte nasıl başlayabileceğiniz:","LIB_EMPTY_CAL":"Takviminiz, Kitaplığınızdaki dizileri gösterir.","HOW_START_CAL":"İşte nasıl dizi ekleyebileceğiniz:","LIB_EMPTY_BOARD":"Pano, Kitaplığınızla ilgili bildirimleri ve önerileri gösterir.","HOW_START_BOARD_WAIT":"Lütfen Kitaplığınıza birkaç dizi veya kanal ekleyin, işlememiz için bize birkaç dakika verin :)","HOW_START_BOARD":"İşte nasıl dizi ve filmleri ekleyebileceğiniz:","IMPORT_FB":"Facebook\'tan beğendiğiniz şeyleri içe aktarın","IMPORT_TRAKT":"Trakt\'tan ortam kitaplığınızı içe aktarın","IMPORT_DISCOVER":"Keşfet\'ten ilginç şeyler bulun","IMPORT_DISK":"Yerel diskinizde bulunan filmleri veya dizileri içe aktar","PLEASE_CREATE_ACC":"Kitaplık eşitlemeyi ve Panoyu etkinleştirmek için lütfen bir hesap oluşturun.","IMPORT_DISCOVER_SIGNUP":"Kaydolun ve Keşfet\'ten ilginç şeyler bulun","IMPORT_DISK_SIGNUP":"Kaydolun ve yerel diskinizde bulunan filmleri veya dizileri içe aktarın","LIB_EMPTY_CLOUD":"Bulut kitaplığı","LIB_EMPTY_CLOUD_DESC":"Kişisel bulut kitaplığı tüm cihazlarla eşitlensin","LIB_EMPTY_EARLY":"Erkenci","LIB_EMPTY_EARLY_DESC":"Yeni bölümler için bildirim alın","LIB_EMPTY_PERSONAL":"Kişisel","LIB_EMPTY_PERSONAL_DESC":"Kişisel öneriler alın","LIB_EMPTY_CALENDAR_DESC":"Kişisel izleme takviminizi planlayın","LIB_EMPTY_ALL":"Tüm bunları almak için kaydolun:","LIB_EMPTY_BEST":"Stremio\'dan en iyi şekilde yararlanmak için kaydolun","LIB_EMPTY_OTHER":"Takvim ve diğer harika özellikleri etkinleştirmek için kaydolun","CALENDAR_ADDED":"Stremio takvimi, varsayılan masaüstü takviminize eklendi.","CALENDAR_ADDED_MSG":"Eğer bu işe yaramazsa, lütfen bu URL\'yi takvim uygulamanıza el ile ekleyin","TRAKT_EXPIRED":"Trakt kimlik doğrulamasının süresi doldu, lütfen Ayarlar\'a gidin ve yeniden kimlik doğrulaması yapın","TRAKT_REQUIRES_LOGIN":"Trakt hatası","TRAKT_REQUIRES_LOGIN_MSG":"Oturum açmanız gerekli","TRAKT_IMPORT_WATCHED":"İçe Aktar","THEME":"Tema","THEME_DEFAULT":"Varsayılan","THEME_ADAPTIVE":"Uyarlanabilir","CHOOSE_COLOR":"Bir renk seçin:","SETTINGS_APP_VERSION":"Uygulama Sürümü","SETTINGS_BUILD_VERSION":"Yapım Sürümü","SETTINGS_SERVER_VERSION":"Sunucu Sürümü","SETTINGS_SHELL_VERSION":"Kabuk Sürümü","SETTINGS_SOURCE_CODE":"Kaynak kodu","SETTINGS_LABEL":"Ayarlar","SETTINGS_NAV_GENERAL":"Genel","SETTINGS_NAV_PLAYER":"Oynatıcı","SETTINGS_NAV_STREAMING":"Yayın Akışı","SETTINGS_NAV_SHORTCUTS":"Kısayollar","SETTINGS_SHORTCUT_RELOAD_APP":"Uygulamayı Yeniden Yükle","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Ayarları Aç","SETTINGS_SHORTCUT_SWITCH_TABS":"Sekmeleri Değiştir","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Sekmeler Arasında İleri Yönde Dön","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Sekmeler Arasında Geri Yönde Dön","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Menüler Arasında Gezin","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Aramaya Git","SETTINGS_SHORTCUT_EXIT_BACK":"Çık / Geri Dön","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Oynatma Hızı Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_MENU_VIDEOS":"Görüntü Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Altyazı Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_MENU_AUDIO":"Ses Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_MENU_INFO":"Bilgi Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_FULLSCREEN":"Tam Ekranı Aç/Kapat","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Denetimleri Göster","SETTINGS_SHORTCUT_PLAY_PAUSE":"Oynat / Duraklat","SETTINGS_SHORTCUT_VOLUME_UP":"Sesi Artır","SETTINGS_SHORTCUT_VOLUME_DOWN":"Sesi Azalt","SETTINGS_SHORTCUT_SEEK_NEXT":"Sonrakine Atlat","SETTINGS_SHORTCUT_SEEK_PREV":"Öncekine Atlat","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Geriye Doğru Atlat","SETTINGS_SHORTCUT_SEEK_FORWARD":"İleriye Doğru Atlat","SETTINGS_SHORTCUT_PLAY_NEXT":"Sonrakini Oynat","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Altyazı Boyutunu Artır","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Altyazı Boyutunu Azalt","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Altyazı Gecikmesini Artır","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Altyazı Gecikmesini Azalt","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Altyazı Gecikmesini Ayarla","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Kenar Çubuğunu Aç/Kapat","SETTINGS_SHORTCUT_OR":"veya","SETTINGS_SHORTCUT_TO":">","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Boşluk","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Kimliği Doğrula","SETTINGS_FACEBOOK_IMPORT":"İçe Aktar","SETTINGS_CALENDAR_SUBSCRIBE":"Abone Ol","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Takvim uygulaması açıldı. Lütfen takvime el ile abone olun.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Takvim dosyası indirildi. Lütfen bunu takvim uygulamanıza aktarın.","SETTINGS_INTERFACE_LANGUAGE":"Arayüz Dili","SETTINGS_LAUNCH_STARTUP":"Başlangıçta çalıştır","SETTINGS_VLC_DEFAULT":"VLC ile oynat","SETTINGS_UI_LANGUAGE":"Kullanıcı Arayüzü Dili","SETTINGS_UI_ZOOM":"Arayüzü yakınlaştır","SETTINGS_FULLSCREEN_EXIT":"Esc tuşuyla tam ekrandan çık","SETTINGS_GAMEPAD":"Gamepad desteğini etkinleştir","SETTINGS_CLOSE_WINDOW":"Pencere kapatıldığında uygulamayı kapat","SETTINGS_SUBTITLES_LANGUAGE":"Varsayılan Altyazı Dili","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"İkincil Altyazı Dili","SETTINGS_SUBTITLES_SIZE":"Varsayılan Altyazı Boyutu","SETTINGS_SUBTITLES_BACKGROUND":"Altyazı arka planı","SETTINGS_SUBTITLES_COLOR":"Altyazı rengi","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Altyazı anahat rengi","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Altyazı arka plan rengi","SETTINGS_SEEK_KEY":"Ok tuşlarıyla atlanacak süre","SETTINGS_SEEK_KEY_SHIFT":"Shift tuşu basılı tutulduğunda Ok tuşlarıyla atlanacak süre","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Geri sarma ve İleri sarma süresi","SETTINGS_BINGE":"Sonraki bölümü otomatik oynat","SETTINGS_NEXT_VIDEO":"Sonraki bölümü başlatmak için bildirim göster","SETTINGS_NEXT_VIDEO_TRIGGER":"Bir sonraki bölüm bildiriminin gösterilme süresi:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Sonraki görüntü açılır pencere süresi","SETTINGS_PLAY_IN_BACKGROUND":"Arka planda oynat","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Harici oynatıcıda oynat","SETTINGS_RESIZE":"Oynatmadan önce pencereyi otomatik yeniden boyutlandır","SETTINGS_OVERRIDE_SERVER":"Yayın akış sunucusu URL\'sini geçersiz kıl (gelişmiş)","SETTINGS_SERVER_ADD_URL":"URL ekle","SETTINGS_SERVER_URL":"Yayın akış sunucusu URL\'si: ","SETTINGS_SERVER_AVAILABLE":"Yayın akış sunucusu kullanılabilir.","SETTINGS_SERVER_UNAVAILABLE":"Yayın akış sunucusu kullanılabilir değil.","SETTINGS_SERVER_STATUS_ONLINE":"Çevrimiçi","SETTINGS_SERVER_STATUS_ERROR":"Hata","SETTINGS_SERVER_CONFIGURE_TITLE":"Yayın akış sunucusu URL\'sini yapılandırın","SETTINGS_SERVER_CONFIGURE_INPUT":"Bir yayın akış sunucusu URL\'si girin","SETTINGS_SERVER_CACHE_SIZE":"Önbellek boyutu","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profili","SETTINGS_HTTPS_ENDPOINT":"Yayın akışı HTTPS uç noktası: ","SETTINGS_TRANSCODE_PROFILE":"Kod dönüştürme profili","SETTINGS_USE_BETA":"Her zaman en son Beta\'yı kullan","SETTINGS_IMPORT_FB":"Facebook\'tan içe aktar","SETTINGS_IMPORT_DISK":"Yerel diskten içe aktar","SETTINGS_IMPORT_TRAKT":"Trakt\'tan içe aktar","SETTINGS_PAUSE_MINIMIZED":"Simge durumunda oynatmayı duraklat","SETTINGS_HWDEC":"Donanım hızlandırmalı kod çözme","SETTINGS_BACKGROUND":"Arka planda oynatma","SETTINGS_SUBSCRIBE_CALENDAR":"Takvime abone ol","SETTINGS_REQ_EXPORT":"Veriyi dışa aktarmayı iste","SETTINGS_ACC_DELETE":"Hesap silme iste","SETTINGS_CHANGE_PASSWORD":"Parolayı değiştir","SETTINGS_TOS":"Kullanım şartları","SETTINGS_SUPPORT":"Destekle iletişime geç","SETTING_LANGUAGE":"Dil","SETTINGS_BLUR_UNWATCHED_IMAGE":"İzlenmemiş bölümlerin resmini bulanıklaştır","SETTINGS_QUIT_ON_CLOSE":"Kapatmada çık","SETTINGS_TRAKT":"Trakt Skroblama","SETTINGS_TRAKT_RE_AUTH":"Yeniden kimlik doğrula","SETTINGS_TRAKT_LOGOUT":"Trakt.tv oturumunu kapat","SETTINGS_TRAKT_LOGOUT_2":"Trakt oturumunu kapat","SETTINGS_SCAN_FOR_REMOTE":"Uzaktan açmak için QR kodu tara","SETTINGS_DESKTOP_NOTIFICATIONS":"Masaüstü bildirimleri","SETTINGS_DATA_SAVER":"Veri tasarrufu","SETTINGS_LANGUAGE_INTERFACE":"arayüz","SETTINGS_LANGUAGE_SUBS":"varsayılan altyazılar","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Ses İzini Otomatik Seç","SETTINGS_DEFAULT_AUDIO_TRACK":"Varsayılan Ses İzi","SETTINGS_SECONDARY_AUDIO_TRACK":"İkincil Ses İzi","SETTINGS_SURROUND_SOUND":"Çevresel ses","SETTINGS_ACCOUNT":"hesap","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"sürüm","SETTINGS_ABOUT":"Hakkında","SETTINGS_MPV_WINDOW":"Oynatıcıyı ayrı bir pencerede başlat (gelişmiş)","SETTINGS_PLAY_IN_EXTERNAL":"Görüntüyü her zaman harici oynatıcıda başlat","SETTINGS_STORAGE_BUTTON":"Yerel Depolamayı Temizle","SETTINGS_STORAGE_MODAL_TITLE":"Emin misiniz?","SETTINGS_STORAGE_MODAL_MESSAGE":"Bu, yerel depolamayı temizleyecek ve oturumunuzu kapatacak.","SETTINGS_HWDEC_PICKER":"Donanım hızlandırmalı kod çözme ayarını seçin","SETTINGS_HW_AUTOMATIC":"Otomatik","SETTINGS_HW_DISABLED":"Etkisizleştirildi","SETTINGS_HW_ACCELERATED":"Kod çözme hızlandırması","SETTINGS_HW_FULL":"Tam hızlandırma","SETTINGS_HW_LEGACY":"Eski","SETTINGS_DISABLED":"Etkisizleştirildi","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Ağ bağlantısı bildirimi","SETTINGS_ANALYTICS":"Çözümlemelere izin ver","SETTINGS_REMOTE_URL":"Uzak URL","SETTINGS_COPY_REMOTE_URL":"Uzak URL\'yi kopyala","SETTINGS_REMOTE_URL_COPIED":"Uzak URL panonuza kopyalandı","SETTINGS_SECTION_SUBTITLES":"Altyazılar","SETTINGS_SECTION_AUDIO":"Ses","SETTINGS_SECTION_CONTROLS":"Denetimler","SETTINGS_SECTION_AUTO_PLAY":"Otomatik Oynat","SETTINGS_SECTION_ADVANCED":"Gelişmiş","SUBSPICKER_AUDIO":"Ses","SUBSPICKER_SUBTITLES":"Eklenti Altyazıları","SUBSPICKER_BLACK_BACKGROUND":"Siyah arka plan rengi kullan","SUBSPICKER_VERTICAL_OFFSET":"Dikey Uzaklık","SUBSPICKER_SIZE":"Boyut","SUBSPICKER_DELAY":"Gecikme","SUBSPICKER_EMBEDDED_SUBS":"Gömülü Altyazılar","MOBILE_PRIVACY_POLICY":"Gizlilik İlkesi","MOBILE_CRASH_REPORTING":"Çökme Bildirimi","MOBILE_ZOOM_TO_FILL":"Ekranı Doldurmak için yakınlaştır","MOBILE_PASSTHROUGH":"Dijital ses çıkışı (içinden geçiş)","MOBILE_RUN_LOW_BATTERY":"Düşük pilde çalıştır","MOBILE_RUN_FOREGROUND":"Ön Plan Hizmeti olarak çalıştır","MOBILE_PERFORMANCE":"PERFORMANS VE KARARLILIK","MOBILE_SERVER_ONLINE":"Çevrimiçi","MOBILE_SERVER_OFFLINE":"Çevrimdışı","MOBILE_QR_EXPIRES":"QR Kod süresi sona erme zamanı ","MOBILE_LOG_INTO":"Stremio hesabınıza oturum açın ","MOBILE_SCAN_QR":"Yukarıdaki QR kodu tarayın veya ","MOBILE_LINK_ACCOUNT":"Hesabı Bağla","MOBILE_SPEEDPICKER_CANCEL":"İptal","MOBILE_SPEEDPICKER_LABEL":"Oynatma Hızını Seçin","MOBILE_EMPTY_LIBRARY":"Kitaplığınız boş","MOBILE_NO_ADDON_ACTIVE":"Bu tür için etkin Stremio eklentisi yok.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer uygulaması sınırlı işlevsellik sağlar. Oynatılabilir akışların listesi ve tam Stremio deneyimi için Stremio\'yu masaüstünde kullanın.","MOBILE_ADDON_LOADING":"hala yükleniyor","MOBILE_ADDONS_LOADING":"eklentiler hala yükleniyor","MOBILE_ADDON":"Eklenti","MOBILE_CONFIGURE_ADDON":"Eklentinizi yapılandırın","MOBILE_CONFIGURE_ADDON_LABEL":"Eklentiyi Yapılandır","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer uygulaması sınırlı eklenti seçimi sağlar. Tam Stremio deneyimi için Stremio\'yu masaüstünde kullanın.","MOBILE_DISCONNECT":"Bağlantıyı kes","MOBILE_LOOKING_FOR_DEVICES":"Cihazlar aranıyor...","MOBILE_CAST_TO":"Yayın yeri","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Hesabı Silin","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Yasal yükümlülüklerden dolayı hesap silme işlemi anında gerçekleşmez. Hesabınızın silinmesini talep ettikten sonra, gelecekte yeni bir Stremio hesabı oluşturmak için farklı bir e-posta adresi/facebook profili kullanmak zorunda kalacaksınız.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Hesap Silmeyi Onaylayın","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Hesabınız Facebook kullanılarak oluşturuldu. Hesabınızı silmek için lütfen www.stremio.com/login adresindeki kullanıcı portalımızı kullanın.","MOBILE_DELETE_ACCOUNT_MESSAGE":"Hesap silme işlemini onaylamak için lütfen parolanızı girin.","MOBILE_DELETE_ACCOUNT_BUTTON":"Hesabı Sil","NAVIGATION_ON":"Açık","NAVIGATION_OFF":"Kapalı","READ_AND_AGREE":"Stremio\'yu okudum ve kabul ediyorum","MARKETING_AGREE":"Stremio\'dan pazarlama haberleri almayı kabul ediyorum","QUIT":"Çıkış","CONNECTED":"Bağlandı","AUTHENTICATE":"Kimliği Doğrula","AUTHENTICATING":"Kimlik doğrulanıyor...","CACHING":"Önbellekleme","SETTINGS_CACHING_DRIVE":"Önbellekleme sürücüsü","ENABLE_LOCAL_FILES_ADDON":"Yerel dosyalar eklentisini etkinleştir (yeniden başlatma gerektirir)","LOCAL_ADDON_NOT_ENABLED":"Yerel eklenti etkinleştirilmemiş. Ayarlara gitmek ve etkinleştirmek için buraya tıklayın","ENABLE_REMOTE_HTTPS_CONN":"Uzak HTTPS bağlantılarını etkinleştir","TORRENT_PROFILE":"Torrent Profili","DATA_CACHING":"Veri Önbellekleme","MAGNET_PARSING":"Magnet bağlantısı ayrıştırılıyor","January":"Ocak","February":"Şubat","March":"Mart","April":"Nisan","May":"Mayıs","June":"Haziran","July":"Temmuz","August":"Ağustos","September":"Eylül","October":"Ekim","November":"Kasım","December":"Aralık","Monday":"Pazartesi","Tuesday":"Salı","Wednesday":"Çarşamba","Thursday":"Perşembe","Friday":"Cuma","Saturday":"Cumartesi","Sunday":"Pazar","Action":"Aksiyon","Comedy":"Komedi","War":"Savaş","Family":"Aile","Animation":"Animasyon","Adventure":"Macera","Fantasy":"Fantastik","Crime":"Suç","Mystery":"Gizem","Romance":"Romantik","Drama":"Dram","Horror":"Korku","Thriller":"Gerilim","Sci-Fi":"Bilim Kurgu","Music":"Müzik","Biography":"Biyografi","Documentary":"Belgesel","Sport":"Spor","Musical":"Müzikal","Western":"Batılı","Film-Noir":"Kara Film","News":"Haber","History":"Tarih","Game-Show":"Oyun-Gösteri","Reality-TV":"Gerçeklik-TV","Talk-Show":"Sohbet Programı","Film & Entertainment":"Film ve Eğlence","Gaming":"Kumar","From TV":"Televizyondan","Lifestyle":"Yaşam","Science & Education":"Bilim ve Eğitim","Cooking & Health":"Yemek Pişirme ve Sağlık","Beauty & Fashion":"Güzellik ve Moda","Sports":"Spor","News & Politics":"Haber ve Politika","How-to & DIY":"Nasıl Yapılır ve Kendin Yaparsın","Tech":"Teknoloji","Automotive":"Otomotiv","Causes & Non-Profits":"Nedenler ve Kâr Amacı Gütmeyenler","Movies":"Filmler","Uk Live Tv":"İngiliz Canlı TV","Fashion":"Moda","Business News Radio":"İş Haberleri Radyosu","Business Tv":"İş Televizyonu","Cars & Auto":"Otomobil ve Otomotiv","Comedy Radio":"Komedi Radyosu","Lifestyle Radio":"Yaşam Stili Radyosu","News Tv":"Haber TV","Food And Wine":"Yemek ve Şarap","Latino Tv":"Latin TV","Shopping Tv":"Alışveriş Televizyonu","Religion":"Din","Kids":"Çocuklar","Body & Soul":"Vücut ve Ruh","Education":"Eğitim","Indian Tv":"Hindistan TV","Extreme Sports":"Ekstrem Sporlar","Middle Eastern Tv":"Ortadoğu TV","Celebrity Tv":"Magazin TV","Science Tv":"Bilim TV","Bikini babe":"Bikini güzelleri","Outdoors":"Açık Hava","German Tv":"Alman TV","French Tv":"Fransız TV","Italian Tv":"İtalyan TV","Gamer Tv":"Oyuncu TV","Travel":"Gezi","Asian Tv":"Asya TV","Entertainment":"Eğlence","News Radio":"Haber Radyosu","Music Radio":"Müzik Radyosu","Language Learning":"Dil Öğrenme","Science Radio":"Bilim Radyosu","Tech Radio":"Teknoloji Radyosu","Science & Technology Vod":"Bilim ve Teknoloji Seç-İzle","new video":"yeni görüntü","new episode":"yeni bölüm","new movie":"yeni film","recommended":"önerilen","we recommend":"önerdiklerimiz","offer of the day":"günün teklifi","news":"haberler","music video":"klip","CTX_SHOW_HOTKEYS":"Kısayol tuşlarını göster","CTX_DISMISS_NOTIF":"Bildirimleri yoksay","CTX_DISMISS_ALL":"Tümünü yoksay","CTX_SHARE":"Paylaş","CTX_COPY_SHARE_LINK":"Paylaşma bağlantısını kopyala","CTX_COPY_MAGNET_LINK":"Magnet bağlantısını kopyala","CTX_COPY_STREAM_LINK":"Akış bağlantısını kopyala","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Görüntü indirme bağlantısını kopyala","CTX_DOWNLOAD_VIDEO":"Bu görüntüyü indir","CTX_DOWNLOAD_SUBS":"Altyazıları indir","CTX_VIEW_ON_YOUTUBE":"YouTube\'da görüntüle","CTX_SHOW":"Göster","CTX_PLAY":"Oynat","CTX_PLAY_IN":"Oynat","CTX_PLAY_ON":"Oynat","CTX_WATCH_ON":"İzle","CTX_WATCH":"İzle","CTX_WATCHED":"İzlendi","CTX_WATCH_BEGINNING":"Baştan izle","CTX_WATCH_MOBILE":"Mobil bir cihazda izle","CTX_REWIND":"En başa al","CTX_MARK_WATCHED":"İzlendi olarak işaretle","CTX_MARK_NON_WATCHED":"İzlenmedi olarak işaretle","CTX_MARK_UNWATCHED":"izlenmedi olarak işaretle","CTX_MARK_REST":"Geri kalanını izlendi olarak işaretle","CTX_UNMARK_REST":"Geri kalanını izlenmedi olarak işaretle","CTX_RECEIVE_NEW_NOTIF":"Yeni bildirimleri al","CTX_ENABLE_NEW_NOTIF":"Bildirimleri etkinleştir","CTX_DISABLE_NEW_NOTIF":"Bildirimleri etkisizleştir","CTX_REMOVE_CACHE":"Önbellekten kaldır","CTX_REMOVE_CACHE_EP":"Bölümü önbellekten kaldır","CTX_OPEN_CONTAINING":"İçerdiği klasörü aç","CTX_REMOVE":"Kitaplıktan kaldır","CTX_AVAILABLE_OFFLINE":"Çevrimdışı Kullanılabilir","CTX_PAUSED":"Duraklatıldı","CTX_ALWAYS_ON_TOP":"Her zaman üstte","CTX_FULLSCREEN":"Tam ekran","CTX_WRONG_SUBS":"Altyazı yanlış mı?","CTX_REPORT_ISSUES":"Sorun bildir","CTX_COPY":"Kopyala","CTX_COPY_TO_CLIPBOARD":"Panoya kopyala","CTX_PASTE":"Yapıştır","CTX_CLEAR":"Temizle","CTX_CLEAR_RECENT_SEARCHES":"Son arananları temizle","HELLO_THERE":"Merhaba","HOPE_YOU_ENJOY":"Stremio\'dan keyif aldığınızı ve şimdiden en sevdiğiniz uygulamalardan biri olduğunu umuyoruz!","WHO_ARE_WE":"Biz kimiz? Biz bunun arkasındaki takımız - bu ürünü daha iyi ve daha iyi hale getirmek için son 3 yıldır her gün çok çalışan iki adamız.","SUPPORT_US":"Eğer Stremio\'yu kullanmaktan keyif alıyorsanız, Stremio sizin için değerliyse - duyurun!","SPREAD_THE_WORD":"Hemen arkadaşlarınızla paylaşın, Stremio\'yu herkese duyurun","MORE_PEOPLE":"Stremio\'yu ne kadar çok kişi kullanırsa, o kadar iyi olacaktır!","SEND_A_LINK":"Veya web sitemize bir bağlantı gönderin","TIP_LOCALFILES":"İpucu: yerel görüntü dosyalarınızı Stremio\'ya sürükleyip bırakabilirsiniz","ADDON_MY":"Eklentilerim","ADDON_COMMUNITY":"Topluluk Eklentileri","ADDON_OFFICIAL":"Resmi Eklentiler","ADDON_REPOS":"Eklenti koleksiyonları","ADDON_SEARCH":"Eklentileri ara","ADDON_INSTALL":"Yükle","ADDON_CONFIGURE":"Yapılandır","ADDON_UNINSTALL":"Kaldır","ADDON_UPGRADE":"Yükselt","ADDON_INSTALLED":"Yüklenmiş","ADDON_INSTALLED_MSG":"Eklenti yüklendi!","ADDON_UPGRADED_MSG":"Eklenti yükseltildi!","ADDON_UNKNOWN":"Bilinmiyor","ADDON_ERR":"Eklenti yükleme hatası!","ADDON_DISCONNECTED":"Bağlantı kesildi","ADDON_APP_MISSING":"bu kaynak için uygulama yüklü değil. Şimdi yüklemek istiyor musunuz?","ADDON_APP_INSTALL":"Şimdi Yükle","ADDON_PAGE":"Eklenti Sayfası","ADDON_TOP_CONTENT":"Bu Eklentiden en iyisi","ADDON_PROVIDES":"Bu eklentinin size vereceği:","ADDON_WATCH":"Şimdi #{types} izleyin!","ADDON_WATCH_FREE":"Şimdi ÜCRETSİZ #{types} izleyin!","ADDON_ADDON":"Eklenti","ADDON_SUPPORTED_TYPES":"Desteklenen türler","ADDON_SUPPORTED_CATALOGS":"Desteklenen kataloglar","ADDON_PROVIDES_DISCOVER":"Keşfet\'te daha fazla #{types}","ADDON_PROVIDES_STREAMS":"#{types} izleyin","ADDON_PROVIDES_STREAMS_FREE":"ÜCRETSİZ #{types} izleyin","ADDON_PROVIDES_SUBTITLES":"#{types} için altyazılar","ADDON_CANTDETECT":"Çalışan bir Stremio algılayamadık, bu yüzden hangi eklentileri yüklediğinizi tespit edemedik.","ADDON_VERSION_SHORT":"s.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent akışı, App Store kurallarından dolayı bu cihazda desteklenmiyor","ERR_NO_META":"Hiçbir bilgi bulunamayan konu ","ERR_NO_META_SELECTED":"Hiç üstveri seçilmedi!","ERR_NO_META_FOUND":"Hiç üstveri bulunamadı!","ERR_NO_ADDONS_FOR_META":"Bu üstveri için hiçbir eklenti istenmedi!","ERR_NO_ADDONS_FOR_STREAMS":"Akışlar için hiçbir eklenti istenmedi!","ERR_NO_VIDEOS_FOR_META":"Bu üstveri için bulunan görüntüler yok!","ERR_GETTING_META":"Bu konuda bilgi alınırken hata oldu.","ERR_CANT_PARSE_MAGNET":"Magnet ayrıştırılamıyor","ERR_NO_MAGNET_INFOHASH":"Magnet için geçerli bir adresleme bilgisi yok","ERR_NO_FILE_PATH":"Dosya yolu olmayan istek gönderilemiyor","ERR_NO_TORRENT":"Dönen torrent yok","ERR_NO_SUPPORTERD_FILES":"Desteklenen dosyalar bulunamadı","ERR_OPENING_FILES":"Harici dosyalar açılamadı","ERR_INVALID_LINK":"Geçersiz bağlantı","ERR_REGISTERED_ONLY":"Bu seçenek yalnızca kayıtlı kullanıcılar için mevcuttur.","ERR_CLIPBOARD":"Panodan oynatılamıyor","ERR_CLIPBOARD_READ":"Bu platformda pano okunamıyor","ERR_CLIPBOARD_GENERIC":"Panoda oynatılabilir URL bulunamadı. Lütfen bir görüntü için URL\'yi (örn. bir magnet bağlantısı) kopyalayın.","BOARD_CONTINUE_WATCHING":"İzlemeye devam edin","BOARD_CONTINUE_WATCHING_NOT_LOADED":"İzlemeye Devam Edin yüklenemedi!","BOARD_CONTINUE_WATCHING_EMPTY":"İzlemeye Devam Edin Boş","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmler sizin için özel olarak seçildi.
    Bu film örnek bir öneridir.","BOARD_EXPLANATION_EPISODES":"En sevdiğiniz Dizilerin yeni bölümleri buraya gelir.
    Takip ettiğiniz dizileri Kitaplığınıza ekleyin.","BOARD_EXPLANATION_VIDEOS":"En sevdiğiniz Kanalların yeni bölümleri buraya gelir.
    Takip ettiğiniz YouTube kanallarını Kitaplığınıza ekleyin.","WEBSITE_ENJOYED_BY":"Dünya çapında 30 milyondan fazla kullanıcı tarafından beğenildi","WEBSITE_STREAMING_ENHANCED":"Gelişmiş Yayın Akışı","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio, güvenli, modern ve kusursuz bir eğlence deneyimi sunar. Kullanımı kolay arayüzü ve 4K HDR desteği de dahil olmak üzere çeşitli içerik kitaplığı ile kullanıcılar, en sevdikleri filmlerin ve TV programlarının keyfini tüm cihazlarında çıkarabilir. Ve güvenlik taahhüdü ile Stremio, endişesiz, yüksek kalitede bir yayın akışı deneyimi için nihai seçimdir.","WEBSITE_AVAILABLE_ON":"Kullanılabildiği yerler:","WEBSITE_WATCH_AND_ENJOY":"İzleyin ve Keyfini Çıkarın.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio bunu çok kolay hale getirir","WEBSITE_ALL_FEATURES":"Tüm özellikler","WEBSITE_EASY_TO_USE":"Kullanımı Kolay","WEBSITE_EASY_TO_USE_DETAILS":"Stremio, kullanıcı dostu ve kullanımı kolay olacak şekilde tasarlanmıştır. Temiz ve sezgisel arayüzü ile kolayca gezinebilir ve izlemek istediğiniz içeriği bulabilirsiniz.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Cihazlar Arasında Sorunsuz","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Geniş platform yelpazesinde (Windows, Mac, Linux, Android ve daha fazlası dahil) kullanılabilen Stremio, ilerlemenizi tüm cihazlarınızda takip edecektir. Her yeni cihazda uygulamayı yeniden yapılandırmak zorunda kalmadan oturum açın ve izlemeye devam edin.","WEBSITE_ALL_DOWNLOADS":"Tüm İndirmeler","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Yüksek Çözünürlüklü Görüntü Desteği","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"4K HDR içeriği de dahil olmak üzere çoğu görüntü biçimini destekleyen bütünleşik bir görüntü oynatıcı, mevcut en yüksek kalitenin keyfini çıkarmanızı sağlar.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Çeşitli İçerik Kitaplığı","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio, Netflix, Amazon Prime Video, Hulu, YouTube ve çok daha fazlası gibi çok sayıda yaygın görüntü kaynağıyla bütünleşir.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Ücretsiz Bir Hesap Oluşturun","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Özel Görüntüleme Deneyimi","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio, temayı değiştirerek, eklentiler ekleyerek veya kaldırarak ve daha fazlasını yaparak arayüzün görünümünü ve verdiği hissi özelleştirmenizi sağlar.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Çok Dilde Altyazı Desteği","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Stremio tüm dillerde altyazıları desteklediğinden artık tüm sevilen içeriğinizin keyfini tercih ettiğiniz dilde çıkarabilirsiniz.","WEBSITE_ALL_STREMIO_FEATURES":"Tüm Stremio özellikleri","WEBSITE_TRY_STREMIO_TITLE_P1":"Stremio’yu Şimdi","WEBSITE_TRY_STREMIO_TITLE_P2":"TV’nizde Deneyin","WEBSITE_YOU_CAN_NOW_WATCH":"Artık tüm sevilen TV programlarını Android TV cihazlarınızda izleyebilirsiniz. Stremio TV uygulaması, kolaylıkla bir film gecesinin keyfini çıkarmanızı sağlar.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Artık tüm sevilen TV programlarını Akıllı TV’nizde veya Android TV’nizde izleyebilirsiniz. Stremio TV uygulamaları, kolaylıkla bir film gecesinin keyfini çıkarmanızı sağlar.","WEBSITE_STREMIO_FOR_SMART_TV":"Akıllı TV için Stremio","WEBSITE_PLAY_STORE_REVIEW":"Muhtemelen cihazınızda bulunabilecek en iyi ve en kullanışlı uygulama. Uzun yıllardır özellikle Android TV’mde günlük olarak kullandığım uygulamalardan biri. Yararlı işlevler sağlayan güçlü bir toplulukla iyi yapılmış. Tebrikler. Böyle İyi çalışmaya devam edin.","WEBSITE_REVIEWS":"inceleme","WEBSITE_GET_STREMIO_FOR_FREE":"Ücretsiz Alın","WEBSITE_GET_STREMIO_NOW":"Stremio’yu Hemen Alın","WEBSITE_STREMIO_FEATURES":"Stremio Özellikleri","WEBSITE_STREMIO_FEATURES_DETAILS":"Stremio’nun gelişmiş özellikleriyle bir profesyonel gibi yayın yapın ve tüm sevdiğiniz ortamlara sorunsuz erişimin keyfini çıkarın","WEBSITE_DISCOVER_MORE":"Daha fazlasını keşfedin.","WEBSITE_DISCOVER_MORE_DETAILS":"İzleyecek şeyler asla bitmez","WEBSITE_COMMUNITY_DRIVEN":"Topluluk odaklı","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio, eklentiler oluşturarak ve paylaşarak yazılımın geliştirilmesine katkıda bulunan geniş ve etkin bir kullanıcı topluluğuna sahiptir.","WEBSITE_GET_INVOLVED":"Dahil olun","WEBSITE_NEW_THEATER_EXPERIENCE":"Yeni Gösterim Deneyimi","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio’nun yeni adanmış TV uygulaması, Android TV cihazlarınızda bir film gecesinin keyfini çıkarmanızı sağlar.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio’nun yeni adanmış TV uygulamaları, Akıllı TV’nizde veya Android TV cihazlarınızda bir film gecesinin keyfini çıkarmanızı sağlar.","WEBSITE_FREE_AND_SECURE":"Ücretsiz ve Güvenli","WEBSITE_STREAMING":"Yayın Akışı","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio, kullanıcılar için benzersiz güvenlik ve gizlilik sunar. Eklentileri uzaktan çalıştırma benzersiz özelliği ile Stremio, diğer platformlara kıyasla en sevdiğiniz içeriği yayınlamak için daha güvenli bir yol sağlar. Güvenliğiniz ve gizliliğiniz en önemli önceliklerdir ve platform, tüm verilerinizin korunmasını sağlar.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Stremio ile güvenlik ve gizlilik endişelerine veda edin ve sonsuz eğlence dünyasına merhaba deyin.","WEBSITE_INFORMATION_PROVIDED_BY":"Bilgileri sağlayan","WEBSITE_CONTRIBUTE_DESC":"ve Stremio’yu daha da iyi hale getirmemize yardımcı olun","WEBSITE_COMMUNITY_DESC":"Gerçekten harika bir yayın akışı deneyimi yaratmanın en iyi yolunun, topluluğumuzu sürece dahil etmek olduğuna inanıyoruz. İster bir programcı, ister bir sanatçı veya sadece bir hayran olun - Stremio’nun büyümesine yardımcı olabilirsiniz.","WEBSITE_COMMUNITY_DESC_2":"O halde bugün bize katılın ve Stremio topluluğunun bir parçası olun ve yayın akışının geleceğini şekillendirmeye devam edin.","WEBSITE_WAYS_TO_GET_INVOLVED":"Stremio topluluğuna","WEBSITE_IN_THE_STREMIO_COMMUNITY":"Dahil Olmanın Yolları","WEBSITE_SHARE_YOUR_THOUGHTS":"Düşüncelerinizi paylaşın","WEBSITE_REPORT_BUGS":"Hataları bildirin","WEBSITE_SUGGEST_FEATURES":"özellikler önerin","WEBSITE_AND_PROVIDE_FEEDBACK":"ve sosyal medya kanallarımızdan geri bildirim sağlayın.","WEBSITE_BETA_TESTING_PROGRAM":"Beta deneme programı","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Stremio topluluğunda beta deneme programımıza katılın (düzenli olarak davet göndeririz).","WEBSITE_JOIN_NOW":"Şimdi katılın!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Resmi Stremio Toplulukları","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Resmi Olmayan Stremio Toplulukları","WEBSITE_BECOME":"Gönüllü çevirmen","WEBSITE_A_VOLUNTEER_TRANSLATOR":"olun","WEBSITE_ARE_YOU_A_DEVELOPER":"Bir Geliştirici Misiniz?","WEBSITE_CONTRIBUTE_CODE":"Açık kaynak projelerimize kod yazarak katkıda bulunabilirsiniz. GitHub’da katkıda bulunabilecek kişiler arayan birkaç projemiz var. Eğer yardım etmekle ilgileniyorsanız, şunlara göz atın:","WEBSITE_STREMIO_ON_GITHUB":"GitHub’da Stremio","WEBSITE_CREATE_ADDON_DESC":"Stremio’nun işlevselliğini geliştirmek için bir eklenti oluşturun (kullanımı kolay bir API’ye sahibiz):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Eklenti SDK’sı","WEBSITE_INTERN_DEVELOPER":"Birlikte büyüyebilmemiz için stajyer geliştirici olarak bize katılma fırsatı da sağlıyoruz.","WEBSITE_APPLY_AS_AN_INTERN":"Stajyer olarak başvurun","WEBSITE_CALLING_ALL_ARTISTS":"Tüm Sanatçılara Sesleniyoruz!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Hayran çiziminizi çevrimiçi galerimize yükleyerek yaratıcılığınızı ve Stremio’ya olan sevginizi gösterin. İster çizim, ister boyama veya dijital tasarım olsun, Stremio markasına benzersiz yaklaşımınızı görmek istiyoruz. Sanat tutkunları topluluğumuza katılın ve çalışmalarınızı dünyanın dört bir yanındaki diğer Stremio hayranlarıyla paylaşın.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Galerisi","WEBSITE_INTERN_DESIGNER":"Ekibimizin bir parçası olun ve heyecan verici staj fırsatlarımızla yaratıcılığınızı yeni zirvelere taşıyın.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Herkese Açık Filmler Projesi","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremio’da, herkese açık ve sahipsiz görüntüleri belirleyerek film ve televizyon tarihini korumaya kararlıyız. Topluluğumuzla birlikte çalışarak, bu klasik sanat eserlerinin herkes tarafından erişilebilir olmasını ve gelecek nesillerin keyif alması için korunmasını sağlayabiliriz.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Siz de bu projede yer almak istiyorsanız bizimle iletişime geçmekten çekinmeyin.","WEBSITE_JOIN_THE_PROJECT":"Projeye Katılın","WEBSITE_BE_PART_OF_OUR_MISSION":"Misyonumuzun bir parçası olun","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Stremio ekibine katılmakla ilgilenir misiniz? Tutkulu profesyoneller için tamamen uzaktan çalışma sunuyoruz. Açık pozisyonlarımıza göz atın.","WEBSITE_OPEN_POSITIONS":"AÇIK POZİSYONLAR","WEBSITE_DESCRIPTION":"TANIMI","WEBSITE_LEARN_MORE":"Daha fazla bilgi edinin","WEBSITE_COMPANY":"Şirket","WEBSITE_CONTACTS":"İletişim","WEBSITE_NEED_HELP":"Yardıma mı ihtiyacınız var?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS’ta Stremio için Web Kılavuzu","WEBSITE_LINK_ART_V2":"Fanart Galerisi","WEBSITE_PARTNERS":"Ortaklar","WEBSITE_SLOGAN_WATCH":"Anında İzleyin","WEBSITE_SLOGAN_ALL":"Keyif Aldığınız Tüm Görüntü İçeriği Tek Bir Yerde","WEBSITE_SLOGAN_NEW":"Tüm İzleyebileceğiniz","WEBSITE_SLOGAN_NEW_NEW":"Akış Özgürlüğü","WEBSITE_WATCH_FROM":"İzleyeceğiniz yer","WEBSITE_DOWNLOAD":"Şimdi İndir","WEBSITE_DOWNLOAD_FOR":"Şimdi İndireceğiniz","WEBSITE_IS_DESKTOP":"Stremio bir masaüstü uygulamasıdır, bu sayfayı PC\'nizde açın ve indirin","WEBSITE_DESKTOP_DEMO_VID":"Masaüstü tanıtımı","WEBSITE_PAGE_HOME":"Giriş","WEBSITE_PAGE_FEATURES":"Özellikler","WEBSITE_PAGE_ADDONS":"Eklentiler","WEBSITE_PAGE_TECH":"Teknoloji","WEBSITE_PAGE_CREATE_ADDON":"Eklenti Oluşturun","WEBSITE_PAGE_CONTACTS":"İletişim","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Lütfen istediğiniz yeni parolanızı aşağıya girin.","WEBSITE_RESET_PASSWORD_WARNING":"${1} için parolayı sıfırlamak istediğinize emin misiniz?","WEBSITE_TYPE_movie":"Filmler","WEBSITE_TYPE_series_PL":"Diziler","WEBSITE_TYPE_tv":"Canlı TV","WEBSITE_TYPE_channel":"Kanallar","WEBSITE_STREMIO_WHAT_IS":"Stremio, en sevdiğiniz görüntüleri, filmleri, dizileri ve TV kanallarını düzenlemenize ve anında izlemenize yardımcı olan bir uygulamadır.","WEBSITE_FEATURES_WATCH":"HD olarak Anında İzleyin","WEBSITE_FEATURES_WATCH_DETAIL":"En sevdiğiniz filmlere, TV Programlarına, görüntülere ve TV kanallarına tıklayın ve oynatın.","WEBSITE_FEATURES_SUBS":"Otomatik Altyazılar","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio diliniz için eşitlenmiş altyazıları otomatik olarak seçer.","WEBSITE_FEATURES_SUBS_LABEL":"Sıra sende, şef.","WEBSITE_FEATURES_CAST":"TV ve mobil cihazlarda oynat","WEBSITE_FEATURES_CAST_DETAIL":"Apple TV, Chromecast, Akıllı TV (DLNA/UPnP) ve mobil cihazlarda yayınlayın.","WEBSITE_LIB":"Tüm Cihazlarınızda Eşitlenen Kişisel Kitaplığınızın Keyfini Çıkarın","WEBSITE_LIB_COLLECT":"Stremio\'dan toplayın","WEBSITE_LIB_IMPORT":"Facebook\'tan içe aktarın","WEBSITE_LIB_LOCAL":"Yerel sürücünüzden ekleyin","WEBSITE_BOARD":"Pano - Bildirimler ve Öneriler için tek durak yeri","WEBSITE_BOARD_RECOMMEND":"Önerilen TV Programı","WEBSITE_BOARD_TRENDING":"Çok İzlenen Film","WEBSITE_BOARD_NEW":"Yeni Görüntü","WEBSITE_BOARD_EPISODE":"Yeni Bölüm","WEBSITE_BOARD_1":"İzlemek için ilginç bir şeyler mi arıyorsun? Zevkinize göre öneriler al!","WEBSITE_BOARD_2":"En sevdiğin TV programında veya YouTube kanalında yeni bir bölüm çıktıkça haberdar ol!","WEBSITE_BOARD_YOUTUBE":"YouTube kanallarının yeni videoları","WEBSITE_BOARD_EPISODES":"Takip ettiğiniz dizilerin yeni bölümleri","WEBSITE_ADDONS":"İçerik Eklentileri","WEBSITE_TECH_DETAIL":"Teknolojiyi seviyoruz, deli bilimi seviyoruz!\\nStremio aşağıdaki açık kaynak teknolojilerini kullanıyor:","WEBSITE_TECH_WCJS":"WebChimera.js, Stremio\'nun iyi bir performans ile herhangi bir video formatını oynatmasına izin verir.","WEBSITE_TECH_WCJS_EXTRA":"Biz temel projeye katılımcılarıyız","WEBSITE_TECH_ELECTRON":"Electron, Stremio\'yu inşa etmek için yenilikçi bir platform sağlar.","WEBSITE_TECH_ELECTRON_EXTRA":"Proje katılımcılarıyız","WEBSITE_TECH_LINVODB":"Verilerinizi sağlayan bir veritabanı teknolojisi düzenlenmiştir ve oturum açtığınız her yerde kullanılabilir.","WEBSITE_TECH_LINVODB_EXTRA":"Şirket içi teknoloji","WEBSITE_CREATE_ADDON":"Kendi eklentinizi oluşturun","WEBSITE_CREATE_ADDON_DETAIL":"Video içeriği sunan bir hizmetin var mı? Sizin eklenti oluşturarak Stremio\'nun özelliklerinden yararlanmanıza yardımcı olacağız.","WEBSITE_CREATE_ADDON_BENEFITS":"Stremio Eklentisi Yaratmanın Faydaları","WEBSITE_P2P_BEAUTY":"Uçtan uca akışının güzelliği","WEBSITE_P2P_1":"İsteğe bağlı veya canlı akışla güvenilir ve satın alınabilir Full HD/4K video","WEBSITE_P2P_2":"Mükemmel bir kullanıcı deneyimi sağlayan dağıtım platformu","WEBSITE_P2P_3":"Tam ihtiyaçlarınızı karşılayan bir eklenti oluşturacağız","WEBSITE_P2P_CONTACT":"İlgilendiniz mi? Bize ulaşabilirsiniz.","WEBSITE_P2P_CONTACT_EXTRA":"İçeriğinizi Stremio ile entegre etmenize yardımcı olmaktan mutluluk duyacağız!","WEBSITE_P2P":"Bir süre sonra, oyunun adını değiştiren bir teknoloji gelir. Herhangi bir kullanım durumuna uyum sağlamak için mükemmel performans ve çok yönlülük sağlayan P2P video akışı motoru kurmaya zaman ve çaba harcadık.\\nDRM özellikli P2P video, talep üzerine veya canlı akış için bize ulaşın.","WEBSITE_THOUGHTS":"Paylaştığımız düşünceler:","WEBSITE_SPREAD":"Stremio kelimesini herkese duyurun:","WEBSITE_CONTACT":"Eğer bizimle iletişime geçmek istiyorsanız, devam edin","WEBSITE_OPENSOURCE":"Açık kaynak projelerimiz için gitmeniz gereken yer","WEBSITE_BITCOIN":"Bitcoin bağışla:","WEBSITE_FAQ":"Sıkça sorulan sorular","WEBSITE_FAQ_SHORT":"SSS","WEBSITE_QUESTIONS":"Sorular","WEBSITE_TOS":"Kullanım şartları","WEBSITE_LEGAL":"Yasal","WEBSITE_PAGE_ABOUT":"Hakkında","WEBSITE_PAGE_BECOME_PARTNER":"Ortak ol","WEBSITE_ALL_YOU_CAN_WATCH":"Tamamını İzleyebilirsin","WEBSITE_FREEDOM_TO_STREAM":"İzleme Özgürlüğü","WEBSITE_WHAT_IS_STREMIO":"Stremio nedir?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio, video içerik toplama için tek duraklı bir merkezdir. Sahip olduğunuz herhangi bir cihaz üzerinden her türlü kaynaktan video keşfedin, düzenleyin ve izleyin.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmler, TV programları, diziler, canlı televizyonlar ya da YouTube ve Twitch.tv gibi web kanalları. Bunların hepsini Stremio\'da bulabilirsiniz.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio, video eğlence için tek noktadan çözüm sunan modern bir medya merkezidir. Kurulumu kolay eklentilerden video içeriğini keşfeder, izler ve düzenlersiniz.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmler, TV programları, canlı TV veya web kanalları. Tüm bunları Stremio\'da bulabilirsiniz.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Tüm Medya cihazlarınızda keyfini çıkarın","WEBSITE_DEVICES_COLLECT":"Stremio\'dan toplayın","WEBSITE_DEVICES_IMPORT_FB":"Facebook\'tan içe aktarın","WEBSITE_DEVICES_LOCAL":"Yerel sürücünüzden ekleyin","WEBSITE_JOIN_THE_PARTY_NOW":"Şimdi partiye katılın","WEBSITE_DEVICES_ALL":"Tüm cihazlarınızda kullanımı kolay;","WEBSITE_EXTENDABLE_CATALOG":"Sonsuz genişletilebilir video kataloğu;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Medyanızı düzenlemek için harika özellikler;","WEBSITE_AS_SEEN_ON":"Görüldüğü gibi","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Hakkımızda","WEBSITE_LINK_TECHNOLOGY":"Teknoloji","WEBSITE_LINK_APPS":"Uygulamalar","WEBSITE_LINK_DOWNLOADS":"İndirmeler","WEBSITE_MORE":"Daha fazlası","WEBSITE_LINK_ADDONS":"Eklentiler","WEBSITE_LINK_ADDON_SDK":"Eklenti SDK","WEBSITE_LINK_CONTRIBUTE":"Katkıda bulun","WEBSITE_LINK_COMMUNITY":"Topluluk","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... ve Daha fazlası","WEBSITE_LINK_HELP":"Yardım merkezi","WEBSITE_LINK_CONTACTS":"İş görüşmeleri","WEBSITE_LINK_TOS":"Şartlar ve koşullar","WEBSITE_LINK_PRAVACY":"Gizlilik ilkesi","WEBSITE_SUBSCRIBE":"Abone ol","WEBSITE_NEWSLETTER":"Şaşırtıcı şeyler için haber bültenimize kaydolun","WEBSITE_PLACEHOLDER_EMAIL":"E-posta adresin","WEBSITE_COMMUNITY":"Topluluk","WEBSITE_LINK_PRAVACY_LEGAL":"Gizlilik ve yasal","WEBSITE_WHY":"Neden yapıyoruz?","WEBSITE_WHY_P1":"Stremio\'da her gün çalışmaya başlıyoruz, çünkü talep üzerine video endüstrisi için önemli bir sorunu çözmek istiyoruz. Her dakika yayınlanan yeni birçok içerik var ve bununlar içinde yol bulmanız neredeyse imkânsız.","WEBSITE_WHY_P2":"İnsanlara bu muazzam video eğlence dünyasında gezinmelerine ve keyif alacakları yeni içerikler keşfetmelerine yardımcı oluyoruz. Uygulamalarımız filmleri, dizileri, canlı televizyonlarını, web kanallarını ve daha fazlasını bir araya getirir. Kullanıcıların sevdikleri başlıkları ve yayıncıları bulmalarını inanılmaz derecede kolaylaştırmayı amaçlıyoruz.","WEBSITE_WHY_P3":"Hizmetimizi herhangi bir cihazda, istediğiniz zaman kullanabilir ve Stremio\'yu ihtiyacınız olan tek video eğlence merkezi haline getirebilirsiniz.","WEBSITE_TEAM":"TAKIM","WEBSITE_TEAM_P":"Stremio ekibi küçük ama güçlü: arkadaki 10 kişi ile, X dilinde kod yazıyoruz ve yazılım geliştirme, UI ve UX tasarım, pazarlama ve reklamcılık dahil iş dünyası ve girişimler konularında uzmanlıklar paylaşıyoruz.","WEBSITE_FEATURES":"Özellikler","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Yeni içeriği kolayca keşfedin","WEBSITE_FEATURES_DISCOVER_P":"İzlenecek yeni filmleri, TV programlarını, dizileri ve kanalları kolayca keşfedin. Kategoriye, türüne, derecelendirmeye, yeniliğe vb. göre göz atın veya bulmak için sadece bir isim yazın. Stremio yeni video içeriği bulmayı çok kolay hale getiriyor.","WEBSITE_FEATURES_ALL_CONTENT":"Tüm video içeriğiniz tek bir ekranda","WEBSITE_FEATURES_ALL_CONTENT_P1":"Hangi filmleri, dizileri veya videoları tamamlamadığınızı görün ve izlemeye devam edin. Yeni bölümler ve sürümler için bildirim alın. Görüntüleme alışkanlıklarınıza göre alacağınız önerilere göz atın.","WEBSITE_FEATURES_LIBRARY":"Video kitaplığınızı düzenleyin","WEBSITE_FEATURES_LIBRARY_P1":"Tek bir tıklama ile Stremio kitaplığınıza herhangi bir başlık ekleyin ve içeriklerinizi türe, yeniliğe ya da alfabetik olarak düzenlenmiş bir şekilde bulun.","WEBSITE_FEATURES_CALENDAR":"İzlediğiniz her şeyi takip edin","WEBSITE_FEATURES_CALENDAR_P1":"Kitaplığınıza eklediğiniz tüm filmlerin ve dizilerin takvim görselleştirmesini alın. Stremio takviminizi dışa aktarın ve eşitleyin, böylece yeni bir bölümün veya bir ilk gösterimin ne zaman geleceğini bilirsiniz.","WEBSITE_FEATURES_BIG_SCREEN":"Video içeriğinizin keyfini daha büyük bir ekranda çıkarın","WEBSITE_FEATURES_BIG_SCREEN_P1":"İzlediğiniz her şeyi tek bir tıklama ile ister telefon, ister tablet, isterseniz TV\'den başka bir cihaza aktarın.","WEBSITE_FEATURES_SOURCES":"Birçok farklı kaynaktan video izleyin","WEBSITE_FEATURES_SOURCES_P":"Tek bir şık, kullanımı kolay uygulama ile birçok farklı sağlayıcıdan elde edilen videonun keyfini çıkarmak için resmi ve topluluk eklentilerini yükleyin.","WEBSITE_CREATE_AN_ADDON":"Bir eklenti oluşturun","WEBSITE_FEATURES_SYNC":"Kitaplığınızı farklı cihazlar arasında eşitleyin ve oynatmaya devam edin","WEBSITE_FEATURES_SYNC_P1":"Tüm cihazlarınıza hesabınızla oturum açın ve eşitlenmiş kitaplığınızın, eklentilerinizin, oynatma ve takviminizin keyfini çıkarın.","WEBSITE_FEATURES_EXTENDABLE":"Eklentilerle genişletilebilir video kataloğu","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio eklenti kataloğu, çeşitli video içeriğini yüklemek ve izlemek için bir dizi eklenti sağlar. Bu eklenti kataloğu; filmler, programlar, canlı TV, spor, haberler, podcast\'ler, web kanalları, video oyunları ve daha fazlasını içerir.","WEBSITE_FEATURES_AUTO_SUBS":"Otomatik altyazılar","WEBSITE_FEATURES_AUTO_SUBS_P1":"Altyazı eklentilerimizle, tercih ettiğiniz dil için otomatik olarak seçilen seçenekleri elde edersiniz.","WEBSITE_FEATURES_CHROMECAST":"Chromecast ile yayınlayın","WEBSITE_FEATURES_CHROMECAST_P1":"Video içeriğinizin keyfini daha büyük bir ekranda çıkarın veya izlediğiniz her şeyi başka bir cihaza yayınlayın.","WEBSITE_FEATURES_KEEP_TRACK":"En sevdiğiniz TV programlarını ve web kanallarını takip edin","WEBSITE_FEATURES_KEEP_TRACK_P1":"En sevdiğiniz dizilerin ve web kanallarının yeni bölümleri için bir takvim görselleştirmesi ve bildirimler alın.","WEBSITE_FEATURES_POWER_USER":"Güçlü kullanıcı özellikleri","WEBSITE_FEATURES_POWER_USER_P1":"Harici oynatıcıda oynatın","WEBSITE_FEATURES_POWER_USER_P2":"Torrent dosyasından veya magnet bağlantısından oynatın","WEBSITE_FEATURES_POWER_USER_P3":"Facebook beğenilerinden veya yerel diskten kitaplığınıza aktarın","WEBSITE_ADD_ONS":"Eklentiler","WEBSITE_ADD_ONS_P1":"Stremio\'nun sağladığı tüm video içeriği, bir eklenti sistemi aracılığıyla sağlanır - hiçbir içerik veya içerik sağlayıcısı uygulamaya yerleştirilmemiştir.","WEBSITE_ADD_ONS_P2":"İki eklenti grubu mevcut: resmi eklentiler ve topluluk eklentileri","WEBSITE_ADD_ONS_P3":"Resmi olanlar Stremio tarafından geliştirilir ve barındırılır. Buna karşın topluluk eklentileri, onları barındıran topluluk üyelerimiz tarafından oluşturulur.","WEBSITE_ADDONS_OFFICIAL":"Resmi eklentiler","WEBSITE_ADDONS_WATCHUB":"En sevdiğiniz filmleri, dizileri ve şovları iTunes, Hulu, Amazon ve diğer İngiltere/ABD hizmetleri gibi sağlayıcılardan izleyin.","WEBSITE_ADDONS_YOUTUBE":"En sevdiğiniz YouTube kanallarını reklamsız izleyin ve yeni yüklemeler için bildirimler alın.","WEBSITE_ADDONS_FILMON":"Canlı TV, film ve sosyal televizyonu ücretsiz izleyin. 600 TV kanalı, 45.000 ücretsiz film, belgesel ve daha fazlası.","WEBSITE_ADDONS_OPENSUBTITLES":"Film ve diziler için, birçok dilde her gün güncellenen binlerce altyazı çevirisi.","WEBSITE_ADDONS_COMMUNITY":"Topluluk eklentileri","WEBSITE_ADDONS_FILMON_VOD":"Filmon.tv\'den talep üzerine video izleyin.","WEBSITE_ADDONS_TWICH":"Twitch.tv\'den canlı akış izleyin - e-spor endüstrisi için bir video akış platformu.","WEBSITE_ADDONS_VODO":"Bağımsız filmleri kesinlikle ücretsiz izleyin.","WEBSITE_ADDONS_NETFLIX":"Netflix filmlerini ve web dizilerini izleyin.","WEBSITE_ADDONS_CREATE":"Eklenti oluşturun","WEBSITE_ADDONS_CREATE_P1":"İsterseniz kendi eklentinizi geliştirebilirsiniz. Bu şekilde, kendiniz ve topluluğumu içim yeni video içeriklerine erişim verebilir ve dünya çapında milyonlarca kullanıcıdan oluşan yeni bir hedef kitleye ulaşabilirsiniz.","WEBSITE_ADDONS_START_CREATE":"Başlarken, Stremio eklenti SDK sayfasını ziyaret edin:","WEBSITE_DOWNLOADS":"İndirmeler","WEBSITE_DOWNLOADS_P1":"En uygun performans için Stremio uygulamalarının mevcut en son sürümünü kullanmanızı öneririz. Ancak herhangi bir nedenle daha eski bir sürümü kullanmak isterseniz buradan indirebilirsiniz.","WEBSITE_DOWNLOADS_P1_SHORT":"En uygun performans için Stremio uygulamalarının mevcut en son sürümünü kullanmanızı öneririz.","WEBSITE_DOWNLOADS_FOR_WIN":"Windows için Stremio","WEBSITE_DOWNLOADS_FOR_MAC":"macOS için Stremio","WEBSITE_DOWNLOADS_FOR_LINUX":"Linux için Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID":"Android için Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Android TV için Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Android Mobil için Stremio","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Steam Deck için Stremio","WEBSITE_DOWNLOADS_FOR_IOS":"iOS için Stremio (sınırlı sürüm)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Samsung TV için Stremio","WEBSITE_DOWNLOADS_FOR_LG_TV":"LG TV için Stremio","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Sony TV için Stremio (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Philips TV için Stremio (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Philips TV için Stremio","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Hisense TV için Stremio","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Oculus Quest için Stremio","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Meta Quest için Stremio","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Vision Pro için Stremio","WEBSITE_DOWNLOADS_FOR_XBOX":"Xbox için Stremio","WEBSITE_DOWNLOADS_FOR_RPI":"Raspberry Pi için Stremio","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot Uygulaması","WEBSITE_DOWNLOADS_FOR_BROWSER":"Tarayıcı için Stremio","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"2019+ Samsung TV modellerinin Uygulama Mağazasında Stremio’yu arayın","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"2020+ LG TV modellerinin Uygulama Mağazasında Stremio’yu arayın","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Android çalıştıran Sony TV’deki Play Store uygulamasında Stremio’yu arayın","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Android çalıştıran Philips TV’deki Play Store uygulamasında Stremio’yu arayın","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"TitanOS çalıştıran Philips TV’deki uygulama mağazasında Stremio’yu arayın (sınırlı sürüm)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Xbox cihazınızın Uygulama Mağazasında Stremio’yu arayın","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"RPI’da Stremio OS Kılavuzu","WEBSITE_LINK_GUIDE":"Kılavuz","WEBSITE_DOWNLOAD_SERVICE":"Stremio Hizmetini İndirin","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Hizmeti, Stremio Web için eşlik eden bir uygulamadır. Stremio Hizmetinin mevcut en son sürümünü kullanmanızı öneririz.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Windows için Stremio Hizmeti","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"macOS için Stremio Hizmeti","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Linux için Stremio Hizmeti","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Docker için Stremio Hizmeti","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Docker için Stremio","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Daha Fazla İndirme Seçeneği","WEBSITE_DOWNLOAD_NEW":"Yeni!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Stremio Web’i yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Samsung TV için Stremio’yu yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"LG TV için Stremio’yu yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Xbox için Stremio’yu yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Raspberry Pi için Stremio’yu yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Windows için Stremio 5\'i yayımladık","WEBSITE_CONTRIBUTE":"Projeye katkıda bulunun","WEBSITE_CONTRIBUTE_P1":"Stremio platformu, açık kaynak kodludur ve şu anda kaynağı olmayan içerik için kolayca bir eklenti oluşturabilirsiniz.","WEBSITE_CONTRIBUTE_WHY":"Neden bir eklenti oluşturmalısınız?","WEBSITE_CONTRIBUTE_WHY_P1":"Video içeriğiniz için yeni kitleye ulaşın","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio\'nun kullanıcı tabanı hızla büyüyor. Lansmanının ilk yılında Stremio, dünyada 1 milyon kullanıcı kazandı ve platformun ikinci yılında bu sayı 2,5 milyona yükseldi.","WEBSITE_CONTRIBUTE_WHY_P3":"Eklentiniz ile bu kitleye kolayca ulaşabilir ve video içeriğinizi onlara dağıtabilirsiniz.","WEBSITE_CONTRIBUTE_ALL":"En sevdiğiniz filmleri, videoları, dizileri ve kanalları tek bir yerden izleyin","WEBSITE_CONTRIBUTE_ALL_P1":"Stremio’da henüz bulunmayan belirli bir türdeki içeriğin hayranı mısınız? Bunun için bir eklenti oluşturun ve piyasadaki en büyük ve en kolay kullanımlı eğlence merkezlerinden birinde en sevdiğiniz görüntüleri izlemenin keyfini çıkarın.","WEBSITE_CONTRIBUTE_ALL_P2":"Üstüne üstlük, sizinle benzer şekilde düşünen diğer Stremio topluluğu üyelerinin sonsuz şükranlarını alırsınız.","WEBSITE_CONTRIBUTE_MONETIZE":"Eklentinizi para kazanılabilir hale getirin ve onun yardımıyla para kazanın","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Stremio için yeni bir eklenti geliştirdikten sonra, birkaç farklı yolla kolaylıkla para kazanabilirsiniz. Bunu düşünüyorsanız, ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" adresinden bizimle iletişime geçmekten çekinmeyin. Eklentiden para kazanma seçenekleri konusunda danışmanlık sunmaktan ve size tavsiyelerde bulunmaktan memnuniyet duyarız.","WEBSITE_CONTRIBUTE_TRANSLATE":"Gönüllü çevirmen olun","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Farklı dillerde Stremio uygulamalarının keyfini çıkarmak istiyorsanız, gönüllü çevirmenler topluluğumuza katılabilirsiniz. Onlar, Stremio\'nun sürümlerini birçok farklı dilde eklememize yardımcı oluyorlar.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Başlamak için sabırsızlanıyor musunuz?","WEBSITE_TRANSALTE_STREMIO":"Stremio\'yu Çevirin","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Resmi topluluklar","WEBSITE_COMMUNITY_OFFICIALS_P1":"Büyüyen Stremio topluluğunun bir parçası olun. Bizi sosyal medyada takip edin ve \'Merhaba\' demekten çekinmeyin; hayranlarımızı dinlemeyi çok seviyoruz! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Resmi olmayan topluluklar","STREMIO_COMMUNITY_NL":"Stremio Hollanda","STREMIO_COMMUNITY_BRASIL":"Stremio Brezilya","STREMIO_COMMUNITY_GERMANY":"Stremio Almanya","STREMIO_COMMUNITY_BELGIUM":"Stremio Belçika","STREMIO_COMMUNITY_FRANCE":"Stremio Fransa","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portekiz","STREMIO_COMMUNITY_ITALY":"Stremio İtalya","STREMIO_COMMUNITY_UK":"Stremio İngiltere","STREMIO_COMMUNITY_USA":"Stremio ABD","STREMIO_COMMUNITY_MEXICO":"Stremio Meksika","STREMIO_COMMUNITY_ADDONS":"Stremio Eklentileri","STREMIO_COMMUNITY_ADDON":"Stremio Eklentisi","STREMIO_COMMUNITY_AWESOME":"Müthiş Stremio","WEBSITE_COMMUNITY_PARTNERS":"Ortaklar ve destekçiler","WEBSITE_COMMUNITY_GOODIES":"Stremio şekerlemeleri","WEBSITE_COMMUNITY_WALLPAPERS":"Duvar kağıtları","WEBSITE_COMMUNITY_ART":"Topluluk Sanat Galerisi","WEBSITE_LINK_ART":"Topluluk sanat galerisi","WEBSITE_CONTACT_US":"Bize ulaşın","WEBSITE_CONTACT_US_P1":"Eğer herhangi bir sorunuz, yorumunuz veya öneriniz varsa, aşağıdaki iletişim formu aracılığıyla bizimle iletişime geçmekten çekinmeyin.","WEBSITE_CONTACT_US_P2":"Bulgaristan’da bulunduğumuz için saat dilimi farklılıklarından dolayı sorunuzun yanıtlanmasında gecikmeler olabileceğini unutmayın.","WEBSITE_CONTACT_US_SUCCESS":"İletiniz gönderildi. Size en kısa sürede geri döneceğiz.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Lütfen geçerli bir e-posta adresi girin!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Sorunuz ne ile ilgili?","WEBSITE_CONTACT_US_Q_OS":"İşletim Sisteminiz nedir?","WEBSITE_CONTACT_US_PH_EMAIL":"E-posta adresiniz","WEBSITE_CONTACT_US_PH_MESSAGE":"İletiniz","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"GÖNDER","WEBSITE_CONTACT_US_Q_1":"Nasıl yüklenir?","WEBSITE_CONTACT_US_Q_2":"Nasıl kaldırılır?","WEBSITE_CONTACT_US_Q_3":"(HTML) Lazanya nasıl yapılır?","WEBSITE_CONTACT_US_Q_4":"Eklentiler","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknoloji","WEBSITE_TECHNOLOGY_P1":"Teknolojiyi ve çılgın bilimi seviyoruz.
    İşte Stremio\'ya güç veren şeyler (hepsi açık kaynaklı).","WEBSITE_TECHNOLOGY_P_QT":"Platformlar arası yazılım geliştirmenin en iyi hali.","WEBSITE_TECHNOLOGY_P_MPV":"Ücretsiz, açık kaynaklı ve platformlar arası bir ortam oynatıcı.","WEBSITE_TECHNOLOGY_P_RN":"React Native, yalnızca JavaScript kullanarak mobil uygulamalar oluşturmanızı sağlar.","WEBSITE_TECHNOLOGY_P_VLC":"Çokluortam almak için uygulamaya gömülü ortam çatısı.","WEBSITE_TECHNOLOGY_P_REALM":"Realm, bir mobil platformdur ve SQLite ve Core Data’nın yerine geçmiştir.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js açık kaynaklı, platformlar arası bir JavaScript çalışma zamanı ortamıdır.","WEBSITE_TECHNOLOGY_P_RUST":"Rust, özellikle güvenli eşzamanlılık olmak üzere güvenliğe odaklanan çok paradigmalı bir sistem programlama dilidir.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Projeye katkıda bulunun","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Stremio\'ya katkıda bulunmanın ve ürünün daha da iyi olmasına yardımcı olmanın iki yolu vardır.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Platformu çevirerek değerli dil becerilerinizi bağışlayabilirsiniz...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ya da","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... topluluk eklentileri oluşturmak için kodlama becerilerinizi kullanabilirsiniz. ","WEBSITE_TRANSLATE_STREMIO":"Stremio\'yu Çevirin","WEBSITE_404_OH_NO":"Olamaz! Aradığınız sayfa burada değil...","WEBSITE_GO_HOME":"Girişe git","WEBSITE_LINK_OTHER_DOWNLOADS":"Diğer indirmeler","WEBSITE_FAQ_ABR":"SSS","WEBSITE_SUPPORT":"Destek","WEBSITE_DOWNLOAD_4_0_BETA":"Stremio 4 beta\'yı Hemen indirin","WEBSITE_GET_FOR_DESKTOP":"Masaüstü için alın","WEBSITE_LINK_ADDON_COMPETITION":"Eklenti yarışması","WEBSITE_LINK_ART_CONTEST":"Sanat yarışması","WEBSITE_MY_ACCOUNT":"Hesabım","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremio nedir?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio, istediğiniz her şeyi izleme özgürlüğü sunan modern bir medya merkezidir.","WEBSITE_MAINPAGE_FAQ_002_H1":"Nasıl çalışır?","WEBSITE_MAINPAGE_FAQ_002_P1":"Stremio\'yu cihazınıza yükleyip bir hesap oluşturduktan sonra, yapmanız gereken tek şey eklenti kataloğunu ziyaret etmek ve istediğiniz eklentiyi yüklemektir!","WEBSITE_MAINPAGE_FAQ_002_P2":"Bundan sonra, içeriği keşfetmeye başlamak için Keşfet veya Pano bölümlerine gidebilirsiniz.","WEBSITE_MAINPAGE_FAQ_003_H1":"Burada ne izleyebilirim?","WEBSITE_MAINPAGE_FAQ_003_P1":"Çok şey var: Filmler, TV programları, Web kanalları, Spor, TV kanallarını izleyin ya da podcast\'leri ve daha fazlasını dinleyin. Eklenti sistemimiz sayesinde çeşitli içeriklere erişebilirsiniz.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio açık kaynaklı mı?","WEBSITE_MAINPAGE_FAQ_004_P1":"Evet, şu bağlantıları gözden geçirebilirsiniz: ${1}masaüstü uygulaması${2} ve ${3}GitHub kuruluşu${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio güvenli mi?","WEBSITE_MAINPAGE_FAQ_005_P1":"Evet, Stremio açık kaynak kodlu bir yazılım olduğundan, kod herkes tarafından denetlenebilir ve kendiniz de kodunu inceleyebilirsiniz.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio’nun eklenti sistemi de kullanıcının güvenliği göz önünde bulundurularak oluşturulmuştur. Eklentiler yerel olarak herhangi bir kod çalıştırmaz, dolayısıyla cihazınız için herhangi bir risk oluşturmaz.","WEBSITE_MAINPAGE_FAQ_006_H1":"Mahremiyetime ne dersiniz?","WEBSITE_MAINPAGE_FAQ_006_P1":"Kullanıcıların gizliliğine saygı duyuyoruz ve hesabınızı oluşturmak ve eşitlemek için gerekli en az temel veri dışında herhangi bir kişisel veri toplamıyoruz.","WEBSITE_MAINPAGE_FAQ_006_P2":"Ayrıca kaydolma sırasında herhangi bir veri gerektirmeyen ${1}Misafir modu${2} vardır: bu modda, arka tarafa çağrı yapılmaz. Ancak, kitaplığınızı cihazlar arasında eşitleyebilmek gibi yararlı özelliklerin ödün vermeniz gerekir.","WEBSITE_MAINPAGE_FAQ_007_H1":"Televizyonuma yayınlayabilir miyim?","WEBSITE_MAINPAGE_FAQ_007_P1":"Evet, Chromecast\'i destekliyoruz ve hem masaüstü hem de mobil uygulamalardan (Android) yayınlayabilirsiniz.","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio\'nun kaç eklentisi var?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 sonu itibariyla, 50\'nin üzerinde. Daha fazla bilgi için eklenti kataloğumuza bakın.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio eklenti kataloğundakinin ötesine genişletilebilir mi?","WEBSITE_MAINPAGE_FAQ_009_P1":"Evet, şunları gözden geçirebilirsiniz: ${1}PimpMyStremio${2}, ${3}Reddit toplulukları${4}, ${5}Stremio İndirici${6} vb.","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio hangi cihazları destekliyor?","WEBSITE_MAINPAGE_FAQ_010_P1":"Windows, Mac ve Linux için masaüstü uygulamalarımız mevcut. Mobil cihazlar için, Android ve iOS\'u destekliyoruz. Ancak iOS\'un işlevsellik açısından sınırlı olduğunu unutmayın (çoğu eklentiyi desteklemez).","WEBSITE_MAINPAGE_FAQ_010_P2":"NVIDIA Shield ve Amazon Fire Stick gibi Stremio\'yu çalıştırabileceğiniz birçok Android tabanlı cihaz var. Ancak bunları resmi olarak desteklemiyoruz.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Windows, Mac ve Linux için masaüstü uygulamalarımız var. Ayrıca Android Mobil ve Android TV için adanmış uygulamalarımız da bulunmaktadır. İşlevselliği daha sınırlı olmasına rağmen iOS ve iPadOS için Stremio Web’i kullanmanızı öneririz.","WEBSITE_MAINPAGE_FAQ_011_H1":"Stremio\'ya bazı içerikler ekleyebilir misiniz?","WEBSITE_MAINPAGE_FAQ_011_P1":"Üzgünüz, kendimiz içerik sağlamıyoruz, ancak ne kadar çok Stremio eklentisi yüklerseniz o kadar fazla içerik bulabilirsiniz.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio magnet bağlantılarını oynatabilir mi?","WEBSITE_MAINPAGE_FAQ_012_P1":"Evet. Ayrıca normal HTTP bağlantılarını ve torrent dosyalarını da oynatabilir (sürükleyin ve bırakın).","WEBSITE_MAINPAGE_FAQ_013_H1":"Bir video indirip çevrimdışı izleyebilir miyim?","WEBSITE_MAINPAGE_FAQ_013_P1":"Çevrimdışı kullanım gelecek bir özelliktir. Ancak Stremio\'nun cihazınızda önbelleklemesine izin verirseniz (ayarlar panelinden) videoyu daha sonra bağlantı olmadan izleyebilirsiniz.","WEBSITE_MAINPAGE_FAQ_014_H1":"Hiçbir şey çalışmıyor, yardım edin!","WEBSITE_MAINPAGE_FAQ_014_P1":"Eklentileri yüklediğinizden emin misiniz? Cevabınız evetse, ${1}yardım merkezimize${2} danışın.","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio geliştirme faaliyetlerini nasıl sürdürüyor?","WEBSITE_MAINPAGE_FAQ_015_P1":"Nadiren rahatsız edici olmayan reklamlar yayınlıyoruz, ancak bir bağış modeline geçmeyi düşünüyoruz.","WEBSITE_MAINPAGE_FAQ_015_P2":"Daha fazla soru için ${1}yardım merkezimize${2} gidin.","HELP_LEARN_MORE":"Hakkınızda daha fazla bilgi edinmemize yardımcı olun.","LIFESTYLE":"Yaşam stili","SPORTS":"Spor","FOOD_HEALTH":"Yemek ve Sağlık","BEAUTY_FASHION":"Güzellik ve Moda","NEWS":"Haber","GAMING":"Oyun","SCIENCE_EDUCATION":"Bilim ve Eğitim","MUSIC":"Müzik","TRAVEL":"Seyahat","LATE_NIGHT":"Gece Gösterisi","REALITY":"Gerçeklik","COMEDY":"Komedi","DIY":"Nasıl Kendin Yaparsın","TECH":"Teknoloji","CINEMA":"Sinema","CONTINUE":"Devam","SLOW_LOADING":"YAVAŞ MI YÜKLENİYOR?","I_GIVE_UP":"VAZGEÇTİM","LEARN_MORE":"Daha fazla bilgi edinin","POOR_SOURCE":"Bu kaynak yetersiz veya internet bağlantınız yeterince hızlı değil","PICK_CATEGORIES_ERR":"En az 3 kategori seçmek zorundasınız","ADJUST_TIMING":"Ayarlanacak zaman ","ADJUST_SIZE":"Ayarlanacak boyut ","SEARCH_ANYTHING":"Her Şeyi Arayabilirsiniz...","ALL_CATEGORIES":"Tümü","SEARCH_CATEGORIES":"Filmler, Diziler, YouTube ve TV","SEARCH_PERSONS":"Aktörler, Yönetmenler ve Yazarlar","SEARCH_PROTOCOLS":"HTTP ve Magnet Bağlantıları","SEARCH_TYPES":"IMDB / TVDB Bağlantıları","WATCHED":"İzlendi","SHOW_LESS":"Daha az göster","LAST_SEARCHES":"Son aramalar","CLEAR_HISTORY":"Geçmişi temizle","CHOOSE_SOME":"BUNLARDAN BAZILARINI SEÇİN:","PAGE_NOT_FOUND":"Sayfa bulunamadı!","NO_WEB_REMOTE":"Web Uzaktan Kumandası yüklenemedi","STREMIO_OFFLINE":"Stremio çevrimdışı","STREMIO_EXPENSIVE_CONNECTION":"Mobil veri bağlantısı kullandığınızı algıladık, devam etmek istiyor musunuz?","USE_DATA":"Veriyi kullan","WARNING":"Uyarı","MORE_INFO":"Daha Fazla Bilgi ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Yükleniyor ...","STREMIO_TV_BACK_TO_LANGUAGES":"Dillere geri dön","STREMIO_TV_REMOTE":"Uzaktan Kumanda","STREMIO_TV_GO_TO":"Git:","STREMIO_TV_OR_SCAN":"ve tara:","STREMIO_TV_ADDON_INSTRUCTIONS":"Tercih ettiğiniz eklentileri yüklemek için lütfen talimatları takip edin.","STREMIO_TV_LIVE_TV":"Canlı TV","STREMIO_TV_RESUME_WATCHING":"İzlemeye Devam Et","STREMIO_TV_LOADING_BACKGROUND":"Arka planda yükleniyor","STREMIO_TV_CHECKING_AUTHENTICATION":"Kimlik doğrulama denetleniyor","STREMIO_TV_LOADING_BOARD":"Pano yükleniyor","STREMIO_TV_LOGIN_HEADER_LINE_1":"Kullanıcılarımızın yazılımımızla mümkün olan en iyi kişiselleştirilmiş deneyime sahip olmalarını istiyoruz.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Bu nedenle, hesabınızı oluşturmanızı ve/veya hesabınıza oturum açmanızı rica ederiz.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Anlayışınız için teşekkür ederiz,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio Ekibi","STREMIO_TV_REMOTE_INSTRUCTIONS":"Web Uzaktan Kumandayı Akıllı Telefon / Tablet / Masaüstünüzle kullanmak için:","STREMIO_TV_WIFI_SETUP":"Kablosuz Kurulumu","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle bir internet bağlantısı algılayamadı.","STREMIO_TV_WIFI_DETAILS_1":"Şuna bağlan:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Parola kullan:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Bağlantıyı bir web tarayıcısı ile aç:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Varsayılan","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Son İzlenene Göre","STREMIO_TV_LIBRARY_SORT_NAME":"Ada Göre","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Ada Göre Azalan","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"İzlenme Sayısına Göre","STREMIO_TV_LIBRARY_SORT_WATCHED":"İzlenene Göre","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"İzlenmeyene Göre","STREMIO_TV_DETAILS_SEASON_NUMBER":"Sezon ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} eklenti yüklendi...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} eklentisi hala yükleniyor...","STREMIO_TV_PLAYER_SETTINGS":"Oynatıcı ayarları","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Altyazı gecikmesi","STREMIO_TV_PLAYER_AUDIO_DELAY":"Ses gecikmesi","STREMIO_TV_PLAYER_VIDEO_SCALING":"Görüntü ölçeği","STREMIO_TV_PLAYER_CHAPTERS":"Bölümler","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Atla ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Desteklenmeyen akış kaynağı","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Harici bağlantıyı açma başarısız","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Ses içinden geçiş modunda ayarlanamaz","STREMIO_TV_PLAYER_PLAY_IN_EXO":"ExoPlayer ile oynat","STREMIO_TV_PLAYER_PLAY_IN_VLC":"libVLC player ile oynat","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Oynatma hatasından dolayı libVLC player\'a geçiliyor","STREMIO_TV_ADDONS_TITLE":"Eklentileri yüklemek veya yapılandırmak için Telefonunuzda veya PC\'nizde Stremio\'yu kullanın ve \\"Eklentileri Eşitle\\"ye basın","STREMIO_TV_ADDONS_SUBTITLE":"Not: Aynı Stremio hesabını kullandığınızdan emin olun.","STREMIO_TV_ADDONS_SYNC_ADDONS":"Eklentileri Eşitle","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Eklentiler başarılı olarak eşitlendi","STREMIO_TV_ADDONS_SYNC_FAILED":"Eklentileri eşitleme başarısız oldu","STREMIO_TV_META_LINK_FAILED":"Üst bağlantıyı açma başarısız oldu","STREMIO_TV_CATALOG_LOADING":"Katalog hala yükleniyor...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Arayüz dili güncellendi","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema güncellendi","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Varsayılan Oynatıcı","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Harici Oynatıcı","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Tercih Edilen Dil","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"İkincil Tercih Edilen Dil","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tünelli Oynatma","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Bazı cihazlarda olası oynatma sorunları","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Bazı görüntü biçimleri çalışmayabilir","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Kare hızı eşleme","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Etkisizleştirildi","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Yalnızca Kare Hızı","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Kare Hızı ve Çözünürlük","STREMIO_TV_SETTINGS_NO_CACHING":"Önbellekleme yok","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Varsayılan","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Yavaş","STREMIO_TV_SETTINGS_PROFILE_FAST":"Hızlı","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Çok Hızlı","STREMIO_TV_SETTINGS_SERVER_URL":"Yayın akışı sunucusu URL\'si","STREMIO_TV_SETTINGS_SERVER_VERSION":"Sunucu sürümü","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Bilinmiyor","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio sürümü","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Sunucu URL\'sini düzenle","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Bir yayın akışı sunucusu URL\'si girin","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Yüklenirken istatistikleri göster","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremio\'nun Gizlilik İlkesini okumak için şu adresi ziyaret edin:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremio\'nun Şartlar ve Koşullarını okumak için şu adresi ziyaret edin:","STREMIO_TV_NAV_SEARCH":"Ara","STREMIO_TV_NAV_HOME":"Giriş","STREMIO_TV_NAV_DISCOVER":"Keşfet","STREMIO_TV_NAV_LIBRARY":"Kitaplık","STREMIO_TV_NAV_MOVIES":"Filmler","STREMIO_TV_NAV_SERIES":"Diziler","STREMIO_TV_NAV_CHANNELS":"Kanallar","STREMIO_TV_NAV_TV":"Canlı TV","STREMIO_TV_NAV_SETTINGS":"Ayarlar","STREMIO_TV_NAV_ADDONS":"Eklentiler","STREMIO_TV_LOGIN_TITLE":"Hesabı Bağla","STREMIO_TV_LOGIN_EXPIRES_IN":"Sona erme tarihi","STREMIO_TV_LOGIN_STEP_ONE":"Yukarıdaki QR Kodu tarayın veya","STREMIO_TV_LOGIN_STEP_TWO":"Stremio hesabınıza oturum açın","STREMIO_TV_LOGIN_NEW_LINK":"Yeni bir bağlantı isteyin","STREMIO_TV_LOGIN_LINK_REFRESHED":"Oturum açma kodu yenilendi","STREMIO_TV_SEARCH_PLACEHOLDER":"Bir şeyler yazın","STREMIO_TV_SEARCH_NO_ADDONS":"Kataloglar için herhangi bir eklenti istenmedi!","STREMIO_TV_SEARCH_BUTTON":"Ara","STREMIO_TV_SEARCH_KEY_DEL":"Sil","STREMIO_TV_SEARCH_KEY_SPACE":"Boşluk","STREMIO_TV_SEARCH_KEY_CLEAR":"Temizle","STREMIO_TV_SEARCH_HISTORY_TITLE":"Geçmişi Temizle","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Başlıklar, Aktörler, Kanallar ve daha fazlasını arayabilirsiniz...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Arama Geçmişini Temizle","STREMIO_TV_FILTERS_DESCRIPTION":"Aşağıdaki süzgeçlerden birini seçin","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Yayın Akışı Sunucusu Çevrimdışı. Sunucu Ayarlarını Gözden Geçirin.","FILTERS":"Süzgeçler","SETTINGS":"Ayarlar","ACCOUNT":"Hesap","LOGOUT":"Oturumu Kapat","THEMES":"Temalar","PLAYBACK":"Oynatma","PLAYBACK_SPEED":"Oynatma Hızı","AUDIO_TRACKS":"Ses İzleri","UNKNOWN_TRACK_LANG":"Bilinmiyor","VIDEOS":"Görüntüler","SERVER":"Sunucu","LINKS":"Bağlantılar","ABOUT":"Hakkında","INTERFACE":"Arayüz","ANIMATIONS":"Animasyonlar","STATUS":"Durum","LANGUAGE":"Dil","SIZE":"Boyut","DELAY":"Gecikme","BOLD":"Kalın","OPACITY":"Geçirgenlik","TEXT_COLOR":"Metin Rengi","OUTLINE_COLOR":"Anahat Rengi","BACKGROUND_COLOR":"Arka Plan Rengi","BACKGROUND_BLUR":"Arka Plan Bulanıklığı","SEEK_TIME_DURATION":"Atlama Süresi","AUTO_PLAY":"Sonraki Bölümü otomatik oynat","PLAY_NOW":"Şimdi Oynat","MARK_AS_WATCHED":"İzlendi olarak İşaretle","MARK_AS_UNWATCHED":"İzlenmedi olarak İşaretle","REWIND_TO_BEGINNING":"En Başa Al","CONTINUE_WATCHING":"İzlemeye Devam Et","ALL":"Tümü","SECONDS":"saniye","ON":"AÇIK","OFF":"KAPALI","RELOAD":"Yeniden Yükle","EDIT_URL":"URL\'yi Düzenle","URL":"URL","NONE":"Hiçbiri","EMBEDDED":"Gömülü","LOCAL":"Yerel","REMOTE_SWITCH_DEVICES":"Cihazları Değiştir","REMOTE_VIDEOS":"Görüntüler","REMOTE_ADJUST_TIMING":"Zamanlamayı ayarla","REMOTE_ADJUST_SIZE":"Boyutu ayarla","REMOTE_COULD_NOT_BE_LOADED":"Web Uzaktan Kumandası yüklenemedi","REMOTE_RETRY":"Yeniden Dene","TORRENT_PROFILE_DEFAULT":"Varsayılan","TORRENT_PROFILE_SOFT":"Yavaş","TORRENT_PROFILE_FAST":"Hızlı","TORRENT_PROFILE_ULTRA_FAST":"Çok Hızlı","MB_S":"MB/s","FAQ_001_H1":"Stremio nedir?","FAQ_001_P1":"Stremio, video eğlencesi için kullanım kolaylığı düşüncesiyle tasarlanmış bir medya merkezi yazılımıdır. Stremio organize etmenize izin verir & kendi film, dizi, kanal ve canlı TV koleksiyonunuzu izleyin.","FAQ_001_P2":"Stremio, size gösterilen içeriği yerel diskinizden ve eklentiler sisteminden toplar.","FAQ_001_P3":"İlgilerinize göre yeni bölümler/videolar/filmler çıktığında da sizi uyarır ve size özel film önerileri sunar.","FAQ_02_H1":"Stremio\'nun Kodi ve Plex\'ten ne farkı var?","FAQ_02_P1":"Bu iki yazılımdan ilham aldık. Ancak farklı hedeflerimiz var - Stremio özellikle eğlence videolarını hedef alıyor ve kullanımının çok kolay olması nedeniyle ana çözüm olma yolunu arıyor.","FAQ_02_P2":"Stremio, Kodi ve Plex kadar özelleştirilebilir ve zengin özellikli olmayacak, ancak kullanımı çok daha kolay. Sadece ${1} al ve ${2} gör :)","FAQ_03_H1":"Stremio\'nun Netflix\'ten farkı nedir?","FAQ_03_P1":"Yine, Netflix ilham kaynağımızdan biridir. Netflix\'in kullanıcı deneyimine ek olarak bir çok eklenti elde etmeye çalışıyoruz. Ama en önemlisi, kendi kütüphanenizi yönetme ve eklenti sistemimizle yeni içerik kaynaklarını ekleme özgürlüğünü sunuyoruz.","FAQ_03_P2":"Stremio\'yu sınırsız olarak genişletebilirsiniz. Bu nedenle Stremio\'yu kullandığınızda, Netflix\'in lisansını alabildiği içerikle asla sınırlı kalmazsınız. Örneğin, Stremio aracılığıyla ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} ve hatta ${9}Netflix${10}\'in kendisinden içerik izleyebilirsiniz!","FAQ_04_H1":"Stremio\'nun Flipboard\'dan farkı nedir?","FAQ_04_P1":"Bu soruyu sıkça görmüyoruz, yeni başlayanlarla konuşurken hariç :)","FAQ_04_P2":"Stremio, tasarım gereği videonun Flipboard olmasını sağlayan bir içerik toplayıcısıdır. Bu, Pano bölümünde çok açık bir şekilde görülmektedir; Flipboard gibi takip ettikleriniz için size kataloglar ve yeni bölüm/yeni video bildirimleri sunar.","FAQ_05_H1":"Stremio\'nun Popcorn Time\'dan farkı nedir?","FAQ_05_P1":"Stremio ve Popcorn Time, kullanıcı arabirimi olarak benzer, çünkü video eğlence kataloglarını doğru yapmanın başka bir yolu yok :)","FAQ_05_P2":"Ancak, Popcorn Time, belirli kaynaklardaki torrentleri akış yapmaya odaklanırken, Stremio sınırsızdır ve yalnızca bir içerik toplayıcısıdır - belirli bir içerik kaynağına kilitlenmez.","FAQ_05_P3":"Ayrıca, varsayılan olarak herhangi bir torrent eklentisi sağlamıyoruz. Bu nedenle Stremio, resmi işlevselliği olan Popcorn Time kullanım durumunu kapsamamaktadır.","FAQ_05_P4":"Bir diğer önemli fark ise, Popcorn Zamanı tamamen açık kaynaklı, Stremio ise ${1} kısmen açık kaynaklıdır${2}.","FAQ_06_H1":"Bu filmi/diziyi ekler misiniz?","FAQ_06_P1":"Hayır, üzgünüz :(","FAQ_06_P2":"Diğer sorularda birçok kez belirtildiği gibi, Stremio kendisi tarafından herhangi bir içerik sağlamaz; her şey eklentiler sistemi aracılığıyla eklenir. Bir içerik isteğiniz var ise Oynatıcı içindeki “Sorun bildir” düğmesini kullanabilirsiniz: Bu kullanmakta olduğunuz eklentinin oluşturucusuna bir e-posta gönderecektir.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"X için eklenti oluşturur musunuz?","FAQ_08_P1":"Bu tamamen mümkündür.","FAQ_08_P2":"Bir eklenti ile ilgili bir fikriniz varsa, bize ${1}office@stremio.com${2} adresinden birkaç satır yazın, ancak lütfen eklenti fikrinizin herhangi bir telif hakkı veya kullanım şartlarını ihlal etmediğinden emin olun.","FAQ_08_P3":"Şu anda, yol haritamızda bulunan sonraki şeyler; FandangoNOW, Filmon.tv, talep üzerine video, Crunchyroll için eklenti.","FAQ_09_H1":"Stremio, BitTorrent kullanıyor mu?","FAQ_09_P1":"Evet, Stremio bir akış protokolü olarak BitTorrent\'i destekliyor. Bunu bir torrent eklentisiyle veya bir .torrent dosyasını Stremio\'ya sürükleyip bırakarak ya da Arama Çubuğuna bir magnet bağlantısı yapıştırarak kullanabilirsiniz.","FAQ_09_P2":"BitTorrent\'i kullanan tek resmi eklentinin, indie içerik sağlayan ve tamamının BitTorrent ile dağıtılmasına izin veren ${1}Vodo${2} olduğunu lütfen unutmayın.","FAQ_09_P3":"Telif hakkı ihlaline neden olabilecek üçüncü taraf eklentilerinin kullanılmasını desteklemiyoruz.","FAQ_10_H1":"Stremio\'da resmi eklentilerle neleri izleyebilirim?","FAQ_10_P1":"Varsayılan olarak, Filmon.tv, YouTube ve Vodo içeriğini gömülü oynatıcı ile Stremio\'nun içinde izleyebilirsiniz. Ayrıca, Twitch.tv ve diğerleri için bir eklentimiz var.","FAQ_10_P2":"Bu birleştirilmiş bir seçim sağlar:","FAQ_10_L1":"Beğenilen TV kanalları, Filmon.tv tarafından sağlanır - örneğin E4, BBC, Bollyworld TV","FAQ_10_L2":"YouTube\'dan her şey - örneğin BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Vodo ile Indie filmleri","FAQ_10_L4":"Twitch.tv ile çevrimiçi oyun yayınları","FAQ_10_P3":"Buna ek olarak, Guidebox ve Netflix eklentileri ile sağlanan, tamamen, Stremio\'da oynatılmayan, ancak verilen hizmete yönlendiren birçok içerik kaynağı vardır. Örneğin, Guidebox eklentisi, TubiTV ve Crackle gibi hizmetlerden ABD\'de ücretsiz olarak yayın yapabileceğiniz bir film seçimi yapacaktır.","FAQ_11_H1":"Stremio yüklenmiyor, ne yapabilirim?","FAQ_11_P1":"Windows kullanıyorsanız, bu ${1}alternatif yükleyiciyi${2} deneyin","FAQ_11_P2":"Mac OS X kullanıyorsanız, lütfen OS X Mavericks(10.9)\'den daha eski hiçbir şeyi desteklemediğimizi unutmayın.","FAQ_11_P3":"Linux kullanıyorsanız, şu anda yalnızca 64 bit (x64) Linux\'u desteklediğimizin farkında olun.","FAQ_11_P4":"Sorununuzu yine de çözemezseniz, lütfen ${1}Facebook grubumuza${2} yazın.","FAQ_12_H1":"Antivirüs programım neden uyarı veriyor? Stremio güvenli mi?","FAQ_12_P1":"Stremio\'nun ${1}100% temiz${2} olduğundan emin olun.","FAQ_12_P2":"Virüsten koruma yazılımınız şikayetçi. Çünkü bazı antivirüs programlarının reklam yazılımı olarak tanıdığı reklamcıyı yükleyicimize dahil ediyoruz.","FAQ_12_P3":"Hala emin değilseniz, bizim ${1}alternatif yükleyicimizi${2} deneyebilirsiniz.","FAQ_13_H1":"Nasıl eklenti oluşturabilirim?","FAQ_13_P1":"Yeni başlayanlar için, GitHub\'daki ${1}eklentiler sistemi modülüne${2} göz atmanızı öneririz.","FAQ_13_P2":"Ardından, ${1}Merhaba dünya dersini${2} takip edebilirsiniz.","FAQ_13_P3":"Herhangi bir programlama becerisine sahip değilseniz, lütfen fikrinizi bize ${1}Reddit topluluğundan${2} ya da ${3}office@stremio.com${4} adresinden bildirebilirsiniz.","FAQ_14_H1":"Eklentiler nasıl yayınlanır?","FAQ_14_P1":"Bir eklenti ve sunucu oluştururken ve bildiriminize çalışan bir eklenti adresini işaret eden bir bitiş noktası alanı koyduğunuzda, eklenti kendisini ${1}Eklenti kataloğumuzda${2} otomatik olarak yayınlayacaktır.","FAQ_14_P2":"Bu durum, stremio-addons modülünün sunucu parçası, eklentiyi duyurmak için API\'yı otomatik olarak çağırır. API\'mız, bitiş noktası değerini geçerli bir eklenti olarak doğruladığında, katalogda gösterilmeye başlayacaktır.","FAQ_15_H1":"Tarayıcımda Stremio\'yu çalıştırabilir miyim?","FAQ_15_P1":"Şu an değil, ama bu geliyor!","FAQ_15_P2":"Bir Alfa görmekten hoşlanıyorsanız, burada görebilirsiniz: ${1}alpha4.strem.io${2}. Bu alfa üzerinde akışın devre dışı olduğunu unutmayın. Chrome, Firefox, Opera ve Edge\'i destekliyoruz.","FAQ_16_H1":"TV\'ye yayın yapma çalışmıyor/altyazı çalışmıyor","FAQ_16_P1":"TV\'ye yayın yapmak, farklı TV markaları ve modelleri arasında tutarsız olan DLNA teknolojisini kullanıyor. Bu nedenle, her durumda test etme yeteneğine sahip değiliz, bu yüzden mükemmel olmaktan çok uzak. Buna rağmen, sürekli olarak geliştirmeye çalışıyoruz ancak DLNA\'nın TV\'nizle ne zaman düzgün bir şekilde çalışmaya başlayacağına dair size bir zaman tahmini veremiyoruz.","FAQ_16_P2":"Yayın yapma menüsünde TV\'nizi göremiyorsanız, lütfen yönlendiricinizi, TV\'yi ve PC\'nizi yeniden başlatmanın yanı sıra ağ bağlantınızı devre dışı bırakmayı ve yeniden etkinleştirmeyi deneyin (Windows\'ta, Ağ\'a sağ tıklayın ve Etkinleştir/Devre Dışı Bırak\'ı kullanın).","FAQ_16_P3":"Hala bir sorunla karşılaşıyorsanız, TV markanızı ve model bilgilerinizi ${1}office@stremio.com${2} adresine göndererek bize yardımcı olabilirsiniz.","FAQ_16_P4":"Bu arada, çok iyi desteklediğimiz Chromecast\'i öneriyoruz ya da TV\'nizi bir HDMI kablosu ile bilgisayarınıza takmanız yeterlidir.","FAQ_17_H1":"Stremio donuyor ya da çöküyor, ne yapabilirim?","FAQ_17_P1":"Her şeyden önce, Windows 7\'yi AVG anti-virüs ile kullanıyorsanız: bu kombinasyonda bir sorunumuz var. Sorun AVG\'nin kendi içindedir ve bizim tarafımızdan çözülmesinin makul bir yolu yoktur. Ne yazık ki, istisnalar veya anti-virüs devre dışı bırakmak işe yaramaz. Tek çözüm, AVG\'yi başka bir şeyle değiştirmektir.","FAQ_17_P2":"Sorun bu değilse de, ancak hala Windows kullanıyorsanız, lütfen en son hizmet paketine güncelleyin ve GPU sürücülerinizi güncelleyin/yeniden yükleyin, sonra tekrar deneyin.","FAQ_17_P3":"Sorun hala devam ediyorsa veya Mac veya Linux kullanıyorsanız, lütfen sorunun ayrıntılarını bize ${1}Facebook grubumuzdan${2} yazabilirsiniz.","FAQ_18_H1":"Bir eklentiyi nasıl yapabilirim?","FAQ_18_P1":"Yeni başlayanlar için, GitHub\'daki ${1}eklentiler sistemi modülüne${2} göz atmanızı öneririz.","FAQ_18_P2":"Ardından, ${1}Merhaba dünya dersini${2} takip edebilirsiniz.","FAQ_18_P3":"Herhangi bir programlama becerisine sahip değilseniz, lütfen fikrinizi bize ${1}Reddit topluluğundan${2} ya da ${3}office@stremio.com${4} adresinden bildirebilirsiniz.","FAQ_19_H1":"Stremio neden disk alanı kaplıyor?","FAQ_19_P1":"Stremio\'da aktarılan video dosyalarını geçici olarak saklamak için yerel önbellek vardır.","FAQ_19_P2":"Bu iki avantaja sahiptir: Birincisi, Stremio\'nun akışını daha pürüzsüzleştirmek için videoyu ön yüklemeye olanak tanır. İkincisi, videoları yerel önbellekte tutar, böylece onları çevrimdışı izlemeye devam edebilirsiniz.","FAQ_19_P3":"Stremio\'nun ne kadar yer tuttuğu Ayarlar panelindeki Önbellek ayarına bağlıdır. Şu anda akışlı video bundan daha büyük olmadığı sürece, Stremio diskinizde belirlenen miktara (ör. 2GB) kadar tutabilir, bu durumda onu korumak için yeterli miktarda saklama alanı ayırmanız gerekir.","FAQ_20_H1":"Önbellek klasörü nerede?","FAQ_20_P1":"Windows\'ta, Ayarlar\'da seçtiğiniz sürücüdeki stremio-cache (ör. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"MacOS\'ta, burada \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linux\'ta, burada \\"~/.stremio/stremio-cache\\" ya da \\"~/stremio-cache\\"","FAQ_21_H1":"\\"Akış sunucusu bulunamadı\\" hatası alıyorum, ne yapabilirim?","FAQ_21_P1":"Bu hatayı alırsanız, bu birkaç şeyden biri anlamına gelir:","FAQ_21_P2":"1) ${1}Web sürümümüz${2} aracılığıyla YouTube / BitTorrent kaynağı tarafından desteklenen bir eklenti kullanmaya çalışıyorsunuz. Bu durumda, ${3}web sitemizden${4} masaüstü sürümümüzü yüklemelisiniz.","FAQ_21_P3":"2) Stremio kurulumunuzda bir sorun var. Bu durumda, ${1}web sitesinden${2} en yeni masaüstü sürümünü yeniden yüklemeyi deneyin. Bu işe yaramazsa, anti-virüs programları ve güvenlik duvarları devre dışı bırakarak PC\'nizi yeniden başlatın ve tekrar deneyin. Bu da işe yaramazsa, lütfen ${3}Facebook grubumuzdan${4} bize yazın.","FAQ_22_H1":"iOS\'ta çoğu eklentiyi göremiyorum/kullanamıyorum","FAQ_22_P1":"Çünkü, Apple\'ın App Store şartlar ve koşullarındaki kısıtlamalar nedeniyle iOS uygulamasını yalnızca belirli bir eklenti grubuyla sınırladık.","FAQ_22_P2":"Ancak gelecekte iOS için daha fazla eklenti olacak ve ayrıca iOS uygulamasını Stremio akış sunucusuna bağlayarak tüm Stremio eklentilerini kullanmanızı sağlayacak bir entegrasyon da ekleyebiliriz."}')},79915:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Фільм","TYPE_series":"Серіали","TYPE_tv":"Телеканали","TYPE_channel":"Канал","TYPE_other":"Інше","TYPE_movie_PL":"Фільми","TYPE_series_PL":"Серіали","TYPE_tv_PL":"Телеканали","TYPE_channel_PL":"Канали","TYPE_other_PL":"Інше","TYPE_ALL":"Все","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Відео","BACK":"Назад","MORE":"Більше","DONE":"Готово","COPY":"Копіювати","SUCCESS":"Успіх","ERROR":"Помилка","SETTINGS_CASTING_MODE_PICKER":"Режим трансляції","CASTING_MODE_HLSV2":"За замовчуванням","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Без перекодування","Discover":"Новинки","Board":"Дошка","Library":"Бібліотека","My Library":"Моя бібліотека","Calendar":"Календар","NOTIFICATION_ONLINE":"Ви в мережі","NOTIFICATION_OFFLINE":"Ви поза мережею","INTERNET_CONNECTION":"Мережне підключення","STORAGE_FULL_TITLE":"Попередження: сховище заповнено!","STORAGE_FULL_TEXT":"Stremio не зможе зберегти ваші налаштування, параметри чи інформацію для входу. Подумайте про перезапуск або перевстановлення Stremio.","SEARCH":"пошук","SEARCH_NO_RESULTS":"Результатів не знайдено","SEARCH_EXPLANATION_CONTENT":"Шукайте фільми, серіали, YouTube і телеканали","SEARCH_EXPLANATION_PEOPLE":"Шукайте акторів, режисерів та сценаристів","SEARCH_PASTE_LINKS":"Вставте посилання HTTP та Magnet","SEARCH_OR_PASTE_LINK":"Знайдіть або вставте посилання","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Додати до бібліотеки","REMOVE_FROM_LIB":"Видалити з бібліотеки","ADDED_TO_LIB":"Додано до бібліотеки","REMOVED_FROM_LIB":"Вилучено з бібліотеки","TRAILER":"Трейлер","WATCH_TRAILER":"Переглянути трейлер","WATCH_NOW":"Дивитися зараз","SHOW":"Показати","SHOW_MOVIE":"Показати фільм","WATCH_RANDOM":"Дивитися випадкові","IMDB_RATING":"Рейтинг IMDb","YEAR":"Рік","DIRECTOR":"Режисер","WRITER":"Сценарист","LEAD_ACTORS":"У головних ролях","CAST":"Актори","CREW":"Команда","SHOW_MORE_CAST":"Показати більше »","AIRED":"Ефір","SEASONS":"Сезонів","GENRE":"Жанр","GENRE_ALL":"All genres","CATALOG":"Каталог","SUMMARY":"Зведення","SHOW_MORE":"Показати більше","SIMILAR":"Подібні","UPCOMING":"Майбутні","TBA":"TBA","ENDED":"Закінчено","DURATION":"Тривалість","FEATURED":"Рекомендовані","METADATA":"Метадані","CATEGORY":"категорія","LINKS_GENRES":"Жанри","LINKS_CAST":"Актори","LINKS_DIRECTORS":"Режисери","SEARCH_VIDEOS":"пошук відео","SEARCH_PLACEHOLDER":"шукайте або вставте URL-адреси","ADDON":"доповнення","ADDONS":"Доповнення","OFFICIAL":"офіційний","ADDONS_OFFICIAL":"Офіційні доповнення Stremio","ADDONS_POPULAR":"Популярні у вашому регіоні","ADDON_FREE":"безоплатні","ADDON_PEERED":"P2P","ADDON_SUBSCRIPTION":"підписка","ADDON_STREAM_GEORESTRICTED":"недоступне у вашому регіоні","ADDON_STREAM_OFFLINECACHE":"Офлайн-кеш","ADDON_STREAM_LOCALFILE":"Локальний файл","SHARE_ADDON":"Поділитися доповненням","AVAILABLE_STREAMS":"Доступні трансляції","NO_STREAM":"Трансляцій не знайдено","ALL_ADDONS":"Все","INSTALL_MORE_ADDONS":"Щоб отримати більше трансляцій, встановіть більше доповнень","STREAM_NOT_SUPPORTED":"Обрана трансляція не підтримується на цій платформі.","ADDON_CATALOGUE":"Показати всі доповнення »","ADDON_CATALOGUE_MORE":"Встановити доповнення","REPO_ADDED":"Додано репозиторій","ADDON_REPO_EXIST_ERR":"Ця колекція доповнень уже існує","ADDON_REPO_ERR":"Під час додавання колекції сталася помилка","ADDON_ADD_ERR":"Під час додавання доповнення сталася помилка","ERR_ADDON_PROTECTED":"Не вдається видалити доповнення, воно захищене","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Щось пішло не так – можливо, автентифікація не вдалася","ERR_NOT_COLLECTION_URL":"Це не URL-адреса колекції","ERR_NOT_ADDON_URL":"Недійсна URL-адреса доповнення","ERR_DETECTFROMURL":"Не вдається знайти доповнення/колекції за цією URL-адресою","ADDON_DUPLICATE_WARNING":"Попередження: дубльоване доповнення","ADDON_COLLECTION_SET_FAILED":"Не вдалося синхронізувати встановлені доповнення з вашим обліковим записом","SETTINGS_DATA_EXPORT":"Експортувати дані користувача","ADDON_PULL_FAILED":"Не вдалося синхронізувати встановлені доповнення з вашого облікового запису","REFRESH_ON_CLICK":"Натисніть, щоб повторити","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Фільм досі в кінотеатрах","WATCH_IN_CINEMA":"Подивіться у місцевому кінотеатрі","IN_THEATER":"У кіно","GET_TICKETS":"Придбати квитки","UPCOMING_EPISODE":"Наступні серії","UPCOMING_EPISODE_MESSAGE":"Ця серія вийде в ефір","MISSING_DATE_EPISODE":"Відсутня дата серії","MISSING_DATE_EPISODE_MESSAGE":"Можливо, ця серія ще не вийшла в ефір","CHANNEL_NOT_SCRAPED":"Цей канал ще не завантажено.
    Будь ласка, поверніться за кілька хвилин.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Додайте його до своєї бібліотеки для отримання сповіщення доступності.","GET_NOTIFIED_WHEN_AVAILABLE":"Ви отримаєте сповіщення, як тільки він стане доступним.","WARNING_STREAMING_SERVER":"Попередження: локальний потоковий сервер не знайдено. Потокове передавання з локальних файлів YouTube і BitTorrent не будуть доступні.","WARNING_STREAMING_SERVER_DISMISS":"Закрити","WARNING_STREAMING_SERVER_LATER":"Пізніше","DECODER_WARNING":"Попередження: це відео може не підтримуватися вашим обладнанням. Майте на увазі, що відтворення може бути повільним.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Ой, помилка програвача","PLAYER_ERROR_LOOKSLIKE":"Схоже, що","PLAYER_ORIENTATION":"Орієнтація програвача","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Заблоковано","PLAYER_ORIENTATION_SENSOR_SHORT":"Датчик","PLAYER_ORIENTATION_LANDSCAPE":"Орієнтація програвача заблокована на альбомній","PLAYER_ORIENTATION_SENSOR":"Автоматична орієнтація програвача (датчик)","PLAYER_PLAYBACK_SPEED":"Швидкість відтворення","PLAYER_PLAYBACK_ERROR":"Помилка відтворення, повторіть спробу","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Невідома помилка","PLAYER_PLAYBACK_ERROR_DEFAULT":"{{productName}} не може відтворити це відео.","PLAYER_SUBTITLES_LANGUAGES":"Мови субтитрів","PLAYER_SUBTITLES_VARIANTS":"Варіанти субтитрів","PLAYER_SUBTITLES_SETTINGS":"Налаштування субтитрів","PLAYER_SUBTITLES_DISABLED":"Субтитри вимкнено","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Вертикальне положення","PLAYER_SUBTITLES_LOADED":"Субтитри завантажено","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Вбудовані субтитри завантажено","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Ексклюзивні субтитри завантажено","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Субтитри завантажено з {{origin}}","PLAYER_PLAY":"Грати","PLAYER_PAUSE":"Пауза","PLAYER_NEXT_VIDEO":"Наступне відео","PLAYER_MUTE":"Вимкнути звук","PLAYER_UNMUTE":"Увімкнути звук","PLAYER_OPEN_IN_EXTERNAL":"Відкрити у зовнішньому плеєрі","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Грати на {{device}}","PLAYER_LIVE":"Наживо","PLAYER_NEXT_VIDEO_TITLE":"Далі буде","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Закрити","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Дивитися зараз","PLAYER_COPY_STREAM_SUCCESS":"Посилання на трансляцію скопійовано в буфер обміну","PLAYER_COPY_STREAM_ERROR":"Не вдалося скопіювати посилання на трансляцію","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"транслюється з","CASTING_TO":"Транслюється до","NETWORK_STATUS":"Стан мережі","STREAM_SPEED":"Швидкість потоку:","STREAM_BUFFERED":"Буферизовано:","PEERS_INFO":"Інформація про вузли","PEERS_ACTIVE":"Активний:","PEERS_CONNECTED":"Підключено:","PEERS_WAITING":"Очікування:","TRANSCODING_WARNING":"Попередження: перекодування відео.","STREAM_LOADING":"завантаження...","PLAYING_LOCAL":"відтворення з локального файлу","PLAYING_CACHE":"відтворення з кешу","WRONG_SUBS":"Неправильні субтитри?","ERR_SUBS_LOADING_TITLE":"Помилка завантаження субтитрів","ERR_SUBS_LOADING":"Помилка завантаження субтитрів: це може бути із-за доповнення, яке ви використовуєте або з вашим мережевим підключенням","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Наступні доповнення субтитрів дали збій","ERR_CASTING_UPDATE_TITLE":"Не вдалося оновити інформацію про пристрій для трансляції: сервер потокового передавання може бути поза мережею","CHOOSE_DEVICE":"Виберіть пристрій для перегляду","NO_CAST_DEVICES":"Немає доступних пристроїв для трансляції.","NO_SETTINGS":"Немає доступних налаштувань.","NO_OPTIONS":"No options available","PHONE_TABLET":"Телефон / Планшет","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Субтитри","SUBTITLES_CHANGE":"Змінити субтитри для ","SUBTITLES_CHANGE_NONE":"На жаль, немає інших субтитрів для цієї мови.","SUBTITLES_CHANGE_ACIVE":"Наразі субтитри #{{subtitlesDialog.activeIdx + 1}} активовані. Натисніть «Продовжити», щоб активувати субтитри #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Або,","SUBTITLES_ADJUST_DELAY":"Налаштуйте затримку субтитрів:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Або використовуйте G / H під час відтворення, щоб налаштувати.","SUBTITLES_ADJUST_DELAY_TIP":"ПОРАДА: ви можете використовувати G / H під час відтворення для налаштування.","SUBTITLES_DELAY":"Затримка субтитрів:","SUBTITLES_LOADING":"Завантаження субтитрів...","SUBTITLES_UNAVAILABLE":"Немає доступних зовнішніх субтитрів","SUBTITLES_DISABLED":"Вимкнено","EXTERNAL_PLAYER_DISABLED":"Вимкнено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Дозволити вибір","EXTERNAL_PLAYER_HINT":"Підказка: існує налаштування, яке дозволяє завжди відкривати за допомогою зовнішнього програвача","DONT_SHOW_AGAIN":"Більше не показувати","SERVICE_INSTALL":"Встановити","AUDIO":"Аудіо","DEFAULT_LANGUAGE":"Мова за замовчуванням","DEFAULT_SECONDARY_LANGUAGE":"Додаткова мова за умовчанням","SEASON":"Сезон","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Серія","EPISODE_ABBREVIATION":"EP","SPECIAL":"Особливий","SORT":"сортувати","SORT_BY":"Сортувати за","FILTER":"фільтр","SORT_TRENDING":"трендові","SORT_RECENT":"нещодавні","SORT_ALPHABET":"а-я","SORT_ALPHABET_REVERSE":"я-а","SORT_RATING":"рейтинг","SORT_WATCHED":"переглянуті","SORT_YEAR":"рік","SELECT":"Select","SELECT_TYPE":"Виберіть тип","SELECT_SORT":"Виберіть сортування","SELECT_CATALOG":"Виберіть каталог","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Виберіть жанр","SORT_LASTWATCHED":"За останніми переглянутими","SORT_NAME":"За назвою","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"За тривалістю переглядів","SORT_NOTWATCHED":"not watched","New for You":"Нове для Вас","New Episodes":"Нові серії","New Videos":"Нові відео","Recommendations":"Рекомендації","LIBRARY_RESUME":"Відновити","LIBRARY_PLAY":"Грати","LIBRARY_DETAILS":"Деталі","LIBRARY_RESUME_DISMISS":"Закрити","LIBRARY_CLEAR_PROGRESS":"Очистити прогрес","LIBRARY_REMOVE":"Видалити","LIBRARY_NOT_LOGGED_IN":"Бібліотека доступна лише для авторизованих користувачів","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Календар доступний лише для авторизованих користувачів","NOT_LOGGED_IN_CLOUD":"Отримуйте доступ до улюблених фільмів і телешоу в будь-який час і будь-де","NOT_LOGGED_IN_RECOMMENDATIONS":"Рекомендації, адаптовані до вашої історії переглядів","NOT_LOGGED_IN_NOTIFICATIONS":"Ніколи більше не пропускайте жодної серії","NOT_LOGGED_IN_CALENDAR":"Заплануйте свій особистий календар перегляду","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Рекомендовані","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Переможці премії «Оскар»","DISCOVER_WARNING_TITLE":"Ой!","DISCOVER_EMPTY_CATALOG":"Це доповнення видало порожній вміст.","DISCOVER_ADULT_WARNING":"Вміст доступний лише для дорослих. Тобі 18+?","DISCOVER_NOADDON_WARNING":"Попередження: для цього типу немає активного доповнення Stremio. Показано збережені елементи, тут нічого не оновиться.","DISCOVER_LOAD_ERR":"Вміст не завантажився, сталася помилка.","DISCOVER_ADDON_UNINSTALLED":"Цей вміст більше не доступний, можливо, ви видалили доповнення.","UNINSTALL_THIS_ADDON":"Видалити це доповнення","ERR_ADDON_NOT_INSTALLED":"Це доповнення не встановлене. Встановити зараз?","DETAIL_RECEIVE_NOTIF_SERIES":"Отримувати сповіщення про нові серії","DETAIL_RECEIVE_NOTIF_VIDEOS":"Отримувати сповіщення про нові відео","SIDEBAR_SHOW_STREAMS":"Показати трансляції","RELAUNCH":"Перезапустіть зараз!","UPGRADE":"Нова версія доступна! Оновіть до останньої версії Stremio","RELOAD_UI":"Перезавантажте інтерфейс користувача","MANUAL_UPDATE_TITLE":"Оновіть версію Stremio","MANUAL_UPDATE_LINE1":"Ви використовуєте застарілу та не рекомендовану версію Stremio.","MANUAL_UPDATE_LINE2":"Будь ласка, оновіть якомога швидше.","BUTTON_UPDATE_LATTER":"Не зараз","BUTTON_UPDATE_NOW":"Оновити","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Анонімний користувач","DONT_HAVE_ACC":"Немає облікового запису?","HAVE_ACC":"Вже маєте обліковий запис?","PASSWORD":"Пароль","PASSWORD_CONFIRM":"Підтвердьте пароль","EMAIL":"Електронна пошта","FB_LOGIN":"Продовжити з Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Нічого не передається без вашого дозволу","FB_NOPOST":"Ми не будемо публікувати від вашого імені","OR":"або","I_ACCEPT":"Я приймаю","I_ACCEPT_BY_CLICKING":"Натискаючи кнопку вище, я підтверджую, що приймаю","TOS":"Правила та умови","MUST_ACCEPT_TERMS":"Вам потрібно прийняти умови","PASSWORDS_NOMATCH":"Паролі не збігаються","SIGN_UP":"Зареєструватися","SIGN_UP_EMAIL":"Зареєструйтеся за допомогою е-пошти","CLICK_TO_SIGN_UP":"Натисніть тут, щоб зареєструватися.","LOG_IN":"Увійти","LOG_OUT":"Вийти","EXIT_FULLSCREEN":"Вийти з повноекранного режиму","ENTER_FULLSCREEN":"Увійдіть в повноекранний режим","PLAY_URL_MAGNET_LINK":"Відтворити URL-адресу/магнітне посилання","HELP_FEEDBACK":"Довідка та відгуки","TERMS_OF_SERVICE":"Умови надання послуг","PRIVACY_POLICY":"Політика конфіденційності","ABOUT_STREMIO":"Про Stremio","USER_PANEL":"Панель користувача","LOGIN_LABEL":"Логін","GUEST_LOGIN":"Гостьовий вхід","GUEST_LOGIN_NOTICE":"Гостьовий вхід не рекомендується. Використання звичайного входу дозволяє Stremio синхронізувати вашу бібліотеку, отримувати сповіщення про улюблені серіали/канали. Справді продовжити?","GUEST_LOGIN_NOTICE_2":"Гостьовий вхід не рекомендується – у вас не буде синхронізованих сповіщень Бібліотеки та Дошки, які є життєво важливими функціями Stremio. Ви впевнені, що хочете продовжити?","CLICK_HERE":"натисніть тут","WRONG_PASSWORD":"Неправильна адреса електронної пошти або пароль. Якщо ви забули свій пароль,","SET_A_PASS":"встановіть пароль","RESET_PASSWORD":"Скинути пароль","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Забули пароль?","EMAIL_USED_WITH_FB":"Ця електронна адреса була використана для входу у Facebook.","INVALID_EMAIL":"Будь ласка, введіть дійсну адресу електронної пошти","INVALID_PASSWORD":"Введіть дійсний пароль","CONN_ERR":"Помилка підключення. Спробуйте пізніше. \\n\\nЯкщо це не зникне, вимкніть брандмауери/антивірусне програмне забезпечення (особливо Bitdefender).","IMPORT_FROM_GUEST":"Імпортувати бібліотеку з гостьового облікового запису","RECEIVE_UPDATES_EMAIL":"Отримувати оновлення на свою електронну пошту від Stremio","LOGIN_FAILED":"Помилка входу.","SIGNUP_FAILED":"Помилка реєстрації.","SEARCH_FAILED":"Помилка пошуку","EMAIL_USED":"Ця електронна адреса вже використовується.","WAITING_FB_LOGIN":"Вхід через Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Відтворити у зовнішньому програвачі","EXTERNAL_REMEMBER_PLAYER":"Ви хочете запам\'ятати свій вибір","EXTERNAL_ALWAYS_PLAY":"Так","EXTERNAL_ONLY_ONCE":"Ні","BEST_FIT":"Найкраще припсування","FIT_SCREEN":"Припасувати","FILL":"Заповнити","16:9":"16:9","4:3":"4:3","Original":"Оригінальний","INTRO_TASTE":"Розкажіть про те, що вам подобається","INTRO_TASTE_LONG":"Розкажіть про те, що б ви хотіли подивитися","INTRO_TASTE_PICK":"Виберіть {{interestsRemaining}} інтересів","INTRO_TASTE_PICK_MORE":"Виберіть ще {{interestsRemaining}} інтересів","INTRO_TASTE_HELP_US":"Допоможіть нам дізнатися більше про вас.","INTRO_TASTE_CHOOSE_THESE":"Виберіть деякі з цих:","INTRO_TASTE_CHOOSE_MIN":"Виберіть принаймні 3 категорії","INTRO_TASTE_CHOOSE_MIN_ERR":"Потрібно вибрати щонайменше 3 категорії!","INTRO_TASTE_LIFESTYLE":"Спосіб життя","INTRO_TASTE_SPORTS":"Спорт","INTRO_TASTE_FOOD_HEALTH":"Їжа та здоров\'я","INTRO_TASTE_BEAUTY_FASHION":"Краса та мода","INTRO_TASTE_NEWS":"Новини","INTRO_TASTE_GAMING":"Ігри","INTRO_TASTE_SCIENCE_EDU":"Наука та освіта","INTRO_TASTE_MUSIC":"Музика","INTRO_TASTE_TRAVEL":"Подорожі","INTRO_TASTE_LATE_NIGHT":"Вечірнє шоу","INTRO_TASTE_REALITY":"Реаліті-шоу","INTRO_TASTE_COMEDY":"Комедії","INTRO_TASTE_DIY":"Своїми руками","INTRO_TASTE_TECH":"Техно","INTRO_TASTE_CINEMA":"Кінотеатр","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Вибране доповнення не підтримується на цій платформі.","ADDON_DISCLAIMER":"Використання сторонніх доповнень завжди підлягає вашій відповідальності та чинному законодавству юрисдикції, у якій ви перебуваєте.","ADDON_ACTIVATE":"Активувати це доповнення?","ADDON_REPO_ADD":"URL колекції доповнення","ADDON_ADD":"Додати","INSTALL_ADDON":"Install addon","ADD_ADDON":"Додати доповнення","ADD_ADDON_DESCRIPTION":"Ви можете додати доповнення за зовнішнім посиланням, яке з’явиться в розділі «Встановлені доповнення».","PASTE_ADDON_URL":"Вставте URL-адресу доповнення","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Що нового","BUTTON_CONTINUE":"Продовжити","BUTTON_ACTIVATE":"Активувати","BUTTON_ACTIVATED":"Активовано","BUTTON_CANCEL":"Скасувати","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Надіслати","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Закрити все","BUTTON_VIEW_ALL":"подивитись все","BUTTON_SEE_ALL":"Переглянути все","BUTTON_COLOR_TRANSPARENT":"Прозорий","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Відкрити в браузері","LIB_EMPTY":"Ваша бібліотека виглядає порожньою. Дізнайтеся, наскільки це корисно :) ","HOW_START":"Ось як ви можете почати:","LIB_EMPTY_CAL":"Ваш Календар показує серії у вашій бібліотеці.","HOW_START_CAL":"Ось як ви можете додати серію:","LIB_EMPTY_BOARD":"Дошка показує сповіщення і рекомендації щодо вашої бібліотеки.","HOW_START_BOARD_WAIT":"Будь ласка, додайте кілька серіалів або каналів до своєї бібліотеки і дайте нам кілька хвилин на обробку :)","HOW_START_BOARD":"Ось як ви можете додати серіали та фільми сюди:","IMPORT_FB":"Імпортувати вподобані речі з Facebook","IMPORT_TRAKT":"Імпортувати медіатеки з Тракт","IMPORT_DISCOVER":"Знайдіть цікаві речі з Discover ","IMPORT_DISK":"Імпотувати фільми або шоу, які є на вашому локальному диску","PLEASE_CREATE_ACC":"Будь ласка, створіть обліковий запис, щоб увімкнути синхронізацію Бібліотеки та Дошку.","IMPORT_DISCOVER_SIGNUP":"Зареєструйтеся та знайдіть цікаві речі з Discover","IMPORT_DISK_SIGNUP":"Зареєструйтеся та імпортуйте фільми або шоу з локального диску","LIB_EMPTY_CLOUD":"Хмарна бібліотека","LIB_EMPTY_CLOUD_DESC":"Персональна хмарна бібліотека синхронізована на всіх пристроях","LIB_EMPTY_EARLY":"Рання пташка","LIB_EMPTY_EARLY_DESC":"Отримувати сповіщення про нові серії","LIB_EMPTY_PERSONAL":"Особистий","LIB_EMPTY_PERSONAL_DESC":"Отримайте особисті рекомендації","LIB_EMPTY_CALENDAR_DESC":"Заплануйте свій особистий календар перегляду","LIB_EMPTY_ALL":"Зареєструйтеся, щоб отримати все це:","LIB_EMPTY_BEST":"Зареєструйтеся, щоб отримати найкраще від Stremio","LIB_EMPTY_OTHER":"Зареєструйтеся, щоб увімкнути Календар та інші цікаві функції","CALENDAR_ADDED":"Календар Stremio додано до вашого настільного календаря за замовчуванням.","CALENDAR_ADDED_MSG":"Якщо це не спрацює, додайте цю URL-адресу до програми календаря вручну","TRAKT_EXPIRED":"Термін автентифікації Trakt закінчився, перейдіть у Налаштування та повторіть автентифікацію","TRAKT_REQUIRES_LOGIN":"Помилка тракту","TRAKT_REQUIRES_LOGIN_MSG":"Вам потрібно увійти","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Налаштування","SETTINGS_NAV_GENERAL":"Генеральний","SETTINGS_NAV_PLAYER":"Гравець","SETTINGS_NAV_STREAMING":"Потокове","SETTINGS_NAV_SHORTCUTS":"Ярлики","SETTINGS_SHORTCUT_RELOAD_APP":"Перезавантажте додаток","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Відкрити Налаштування","SETTINGS_SHORTCUT_SWITCH_TABS":"Перемикнути вкладок","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Перехід через вкладки вперед","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Перехід через вкладки назад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Навігація між меню","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Перейти до Пошуку","SETTINGS_SHORTCUT_EXIT_BACK":"Вийти / Повернутися","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Перемикання меню швидкості відтворення","SETTINGS_SHORTCUT_MENU_VIDEOS":"Перемкнути меню «Відео».","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Перемкнути меню субтитрів","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Перемкнути інформаційне меню","SETTINGS_SHORTCUT_FULLSCREEN":"Увімкнути на повний екран","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Показати керування","SETTINGS_SHORTCUT_PLAY_PAUSE":"Грати / Пауза","SETTINGS_SHORTCUT_VOLUME_UP":"Гучніше","SETTINGS_SHORTCUT_VOLUME_DOWN":"Тихіше","SETTINGS_SHORTCUT_SEEK_NEXT":"Шукати вперед","SETTINGS_SHORTCUT_SEEK_PREV":"Шукати Назад","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Перейти назад","SETTINGS_SHORTCUT_SEEK_FORWARD":"Перейти вперед","SETTINGS_SHORTCUT_PLAY_NEXT":"Грати далі","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Збільшити розмір субтитрів","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Зменшити розмір субтитрів","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Збільшити затримку субтитрів","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Зменшити затримку субтитрів","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Показати бічну панель","SETTINGS_SHORTCUT_OR":"або","SETTINGS_SHORTCUT_TO":"до","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Пробіл","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Автентифікувати","SETTINGS_FACEBOOK_IMPORT":"Імпорт","SETTINGS_CALENDAR_SUBSCRIBE":"Підпишіться","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Мова інтерфейсу","SETTINGS_LAUNCH_STARTUP":"Запуск при запуску","SETTINGS_VLC_DEFAULT":"Грайте з VLC","SETTINGS_UI_LANGUAGE":"Мова інтерфейсу користувача","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Клавіша Escape Вихід на весь екран","SETTINGS_GAMEPAD":"Увімкнути підтримку геймпада","SETTINGS_CLOSE_WINDOW":"Закрийте програму, коли вікно закрито","SETTINGS_SUBTITLES_LANGUAGE":"Мова субтитрів за замовчуванням","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Розмір субтитрів за замовчуванням","SETTINGS_SUBTITLES_BACKGROUND":"Фон субтитрів","SETTINGS_SUBTITLES_COLOR":"Колір субтитрів","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Колір контуру субтитрів","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Колір фону субтитрів","SETTINGS_SEEK_KEY":"Клавіші зі стрілками шукають час","SETTINGS_SEEK_KEY_SHIFT":"Клавіші зі стрілками шукають час, коли утримується клавіша Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Тривалість перемотування назад і вперед","SETTINGS_BINGE":"Автоматичне відтворення наступної серії","SETTINGS_NEXT_VIDEO":"Показати сповіщення, щоб почати наступну серію","SETTINGS_NEXT_VIDEO_TRIGGER":"Показати сповіщення про наступну серію для:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Тривалість наступного спливного відео","SETTINGS_PLAY_IN_BACKGROUND":"Грати у фоновому режимі","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Перегляд у зовнішньому програвачі","SETTINGS_RESIZE":"Автоматичне змінення розміру вікна перед відтворенням","SETTINGS_OVERRIDE_SERVER":"Замінити URL-адресу потокового сервера (просунуте)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"URL-адреса потокового сервера:","SETTINGS_SERVER_AVAILABLE":"Потоковий сервер доступний.","SETTINGS_SERVER_UNAVAILABLE":"Потоковий сервер недоступний.","SETTINGS_SERVER_STATUS_ONLINE":"В мережі","SETTINGS_SERVER_STATUS_ERROR":"Помилка","SETTINGS_SERVER_CONFIGURE_TITLE":"Налаштувати URL-адресу потокового сервера","SETTINGS_SERVER_CONFIGURE_INPUT":"Введіть URL-адресу потокового сервера","SETTINGS_SERVER_CACHE_SIZE":"Розмір кешу","SETTINGS_SERVER_TORRENT_PROFILE":"Торент профіль","SETTINGS_HTTPS_ENDPOINT":"HTTPS адреса потоку:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Завжди використовуйте останню бета-версію","SETTINGS_IMPORT_FB":"Імпортувати із Facebook","SETTINGS_IMPORT_DISK":"Імпортувати з локального диска","SETTINGS_IMPORT_TRAKT":"Імпортувати із Trakt","SETTINGS_PAUSE_MINIMIZED":"Призупинити відтворення, коли згорнуто","SETTINGS_HWDEC":"Декодування з апаратним прискоренням","SETTINGS_BACKGROUND":"Фонове відтворення","SETTINGS_SUBSCRIBE_CALENDAR":"Підписатися на календар","SETTINGS_REQ_EXPORT":"Запит на експорт даних","SETTINGS_ACC_DELETE":"Запит на видалення облікового запису","SETTINGS_CHANGE_PASSWORD":"Змінити пароль","SETTINGS_TOS":"Умови використання","SETTINGS_SUPPORT":"Зв\'яжіться зі службою підтримки","SETTING_LANGUAGE":"Мова","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Скроблінг Trakt","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Вийти із Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Вийти із Trakt","SETTINGS_SCAN_FOR_REMOTE":"Відскануйте QR-код, щоб відкрити пульт","SETTINGS_DESKTOP_NOTIFICATIONS":"Сповіщення на робочому столі","SETTINGS_DATA_SAVER":"Заощадження даних","SETTINGS_LANGUAGE_INTERFACE":"інтерфейс","SETTINGS_LANGUAGE_SUBS":"субтитри за замовчуванням","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Автоматичний вибір звукової доріжки","SETTINGS_DEFAULT_AUDIO_TRACK":"Аудіодоріжка за замовчуванням","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"обліковий запис","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"версія","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Запуск програвача в окремому вікні (просунуте)","SETTINGS_PLAY_IN_EXTERNAL":"Завжди запускати відео у зовнішньому програвачі","SETTINGS_STORAGE_BUTTON":"Очистити локальне сховище","SETTINGS_STORAGE_MODAL_TITLE":"Ви впевнені?","SETTINGS_STORAGE_MODAL_MESSAGE":"Це очистить локальне сховище та виведе вас із системи.","SETTINGS_HWDEC_PICKER":"Виберіть налаштування декодування з апаратним прискоренням","SETTINGS_HW_AUTOMATIC":"Автоматичне","SETTINGS_HW_DISABLED":"Вимкнено","SETTINGS_HW_ACCELERATED":"Прискорення декодування","SETTINGS_HW_FULL":"Повне прискорення","SETTINGS_HW_LEGACY":"Спадщина","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Субтитри","SETTINGS_SECTION_AUDIO":"Аудіо","SETTINGS_SECTION_CONTROLS":"Елементи керування","SETTINGS_SECTION_AUTO_PLAY":"Автоматичне відтворення","SETTINGS_SECTION_ADVANCED":"Просунутий","SUBSPICKER_AUDIO":"Аудіо","SUBSPICKER_SUBTITLES":"Субтитри додатків","SUBSPICKER_BLACK_BACKGROUND":"Використовуйте чорний колір тла","SUBSPICKER_VERTICAL_OFFSET":"Вертикальне зміщення","SUBSPICKER_SIZE":"Розмір","SUBSPICKER_DELAY":"Затримка","SUBSPICKER_EMBEDDED_SUBS":"Вбудовані субтитри","MOBILE_PRIVACY_POLICY":"Політика конфіденційності","MOBILE_CRASH_REPORTING":"Звіт про збої","MOBILE_ZOOM_TO_FILL":"Збільшити на весь екран","MOBILE_PASSTHROUGH":"Цифровий аудіовихід (прохідний)","MOBILE_RUN_LOW_BATTERY":"Працювати від низького заряду батареї","MOBILE_RUN_FOREGROUND":"Запускати як передову службу","MOBILE_PERFORMANCE":"ЕФЕКТИВНІСТЬ ТА СТАБІЛЬНІСТЬ","MOBILE_SERVER_ONLINE":"Онлайн","MOBILE_SERVER_OFFLINE":"Офлайн","MOBILE_QR_EXPIRES":"QR-код діє через","MOBILE_LOG_INTO":"Увійдіть у свій обліковий запис Stremio","MOBILE_SCAN_QR":"Відскануйте QR-код вище або перейдіть до","MOBILE_LINK_ACCOUNT":"Пов’язати обліковий запис","MOBILE_SPEEDPICKER_CANCEL":"Скасувати","MOBILE_SPEEDPICKER_LABEL":"Виберіть швидкість відтворення","MOBILE_EMPTY_LIBRARY":"Ваша бібліотека порожня","MOBILE_NO_ADDON_ACTIVE":"Немає активного доповненняа Stremio для цього типу.","MOBILE_ORGANIZER_WARNING":"Програма Stremio Organizer надає обмежену функціональність. Щоб отримати список доступних для відтворення потоків і повний досвід Stremio, використовуйте Stremio на комп’ютері.","MOBILE_ADDON_LOADING":"ще завантажується","MOBILE_ADDONS_LOADING":"доповнення досі завантажуються","MOBILE_ADDON":"Доповнення","MOBILE_CONFIGURE_ADDON":"Налаштуйте своє доповнення","MOBILE_CONFIGURE_ADDON_LABEL":"Налаштувати доповнення","MOBILE_ORGANIZER_ADDONS_WARNING":"Додаток Stremio Organizer надає обмежений вибір доповнень. Для повного використання програми використовуйте Stremio на ПК.","MOBILE_DISCONNECT":"Відключити","MOBILE_LOOKING_FOR_DEVICES":"Пошук пристроїв...","MOBILE_CAST_TO":"Транслювати на","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Видалити акаунт","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Видалення облікового запису не відбувається миттєво через юридичні зобов’язання. Після запиту на видалення вашого облікового запису вам доведеться використовувати іншу адресу електронної пошти/профіль Facebook, щоб у майбутньому створити новий обліковий запис Stremio.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Підтвердити видалення облікового запису","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ваш обліковий запис створено за допомогою Facebook. Щоб видалити свій обліковий запис, скористайтеся нашим порталом користувачів за адресою www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Будь ласка, введіть свій пароль, щоб підтвердити видалення облікового запису.","MOBILE_DELETE_ACCOUNT_BUTTON":"Видалити акаунт","NAVIGATION_ON":"Увімкнено","NAVIGATION_OFF":"Вимкнено","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Я погоджуюся отримувати маркетингові повідомлення від Stremio","QUIT":"Вийти","CONNECTED":"Підключено","AUTHENTICATE":"Аутентифікація","AUTHENTICATING":"Authenticating...","CACHING":"Кешування","SETTINGS_CACHING_DRIVE":"Кешуючий диск","ENABLE_LOCAL_FILES_ADDON":"Увімкнути доповнення локальних файлів (потрібно перезавантажити)","LOCAL_ADDON_NOT_ENABLED":"Локальне доповнення не ввімкнено. Натисніть тут, щоб перейти до налаштувань і ввімкнути його","ENABLE_REMOTE_HTTPS_CONN":"Увімкнути віддалені з’єднання HTTPS","TORRENT_PROFILE":"Торрент профіль","DATA_CACHING":"Кешування даних","MAGNET_PARSING":"Розбір магнітного посилання","January":"Січень","February":"Лютий","March":"Березень","April":"Квітень","May":"Травень","June":"Червень","July":"Липень","August":"Серпень","September":"Вересень","October":"Жовтень","November":"Листопад","December":"Грудень","Monday":"Понеділок","Tuesday":"Вівторок","Wednesday":"Середа","Thursday":"Четвер","Friday":"П’ятниця","Saturday":"Субота","Sunday":"Неділя","Action":"Бойовик","Comedy":"Комедія","War":"Про війну","Family":"Сімейні","Animation":"Анімовані","Adventure":"Пригоди","Fantasy":"Фантастика","Crime":"Кримінальні","Mystery":"Таємничі","Romance":"Романтика","Drama":"Драма","Horror":"Жах","Thriller":"Трилер","Sci-Fi":"Наукова фантастика","Music":"Музика","Biography":"Біографія","Documentary":"Документальний фільм","Sport":"Спорт","Musical":"Мюзикл","Western":"Вестерн","Film-Noir":"Фільм-Нуар","News":"Новини","History":"Історичний","Game-Show":"Теле вікторина","Reality-TV":"Реаліті-ТБ","Talk-Show":"Ток-шоу","Film & Entertainment":"Фільми та розваги","Gaming":"Ігри","From TV":"З телевізора","Lifestyle":"Спосіб життя","Science & Education":"Наука та освіта","Cooking & Health":"Кулінарія та здоров\'я","Beauty & Fashion":"Краса та мода","Sports":"Спорт","News & Politics":"Новини та політика","How-to & DIY":"Своїми руками","Tech":"Техно","Automotive":"Автомобільний","Causes & Non-Profits":"Причини та неприбуткові організації","Movies":"Фільми","Uk Live Tv":"Телебачення Великобританії наживо","Fashion":"Мода","Business News Radio":"Радіо новин бізнесу","Business Tv":"Бізнес ТБ","Cars & Auto":"Автомобілі та авто","Comedy Radio":"Комедійне радіо","Lifestyle Radio":"Радіо Lifestyle","News Tv":"ТБ Новини","Food And Wine":"Їжа та вино","Latino Tv":"Латиноамериканське ТБ","Shopping Tv":"Шопінг","Religion":"Релігія","Kids":"Дитяче","Body & Soul":"Тіло і душа","Education":"Освіта","Indian Tv":"Індійське ТБ","Extreme Sports":"Екстримальні види спорту","Middle Eastern Tv":"Близькосхідне ТБ","Celebrity Tv":"ТБ про знаменитостей","Science Tv":"Наукове ТБ","Bikini babe":"Бікіні красуня","Outdoors":"На відкритому повітрі","German Tv":"Німецьке ТБ","French Tv":"Французьке ТБ","Italian Tv":"Італійське ТБ","Gamer Tv":"Геймерське ТБ","Travel":"Подорожі","Asian Tv":"Азіатське ТБ","Entertainment":"Розваги","News Radio":"Радіо новини","Music Radio":"Музичне радіо","Language Learning":"Вивчення мови","Science Radio":"Наукове радіо","Tech Radio":"Техно радіо","Science & Technology Vod":"Наука та технології VOD","new video":"нове відео","new episode":"нова серія","new movie":"новий фільм","recommended":"рекомендовано","we recommend":"ми рекомендуємо","offer of the day":"пропозиція дня","news":"новини","music video":"музичне відео","CTX_SHOW_HOTKEYS":"Показати гарячі клавіші","CTX_DISMISS_NOTIF":"Закрити сповіщення","CTX_DISMISS_ALL":"Закрити все","CTX_SHARE":"Поділитися","CTX_COPY_SHARE_LINK":"Скопюівати посилання на доступ","CTX_COPY_MAGNET_LINK":"Скопюівати магнітне посилання","CTX_COPY_STREAM_LINK":"Копіювати посилання на трансляцію","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Завантажити це відео","CTX_DOWNLOAD_SUBS":"Завантажити субтитри","CTX_VIEW_ON_YOUTUBE":"Переглянути на YouTube","CTX_SHOW":"Показати","CTX_PLAY":"Грати","CTX_PLAY_IN":"Грати в","CTX_PLAY_ON":"Грати на","CTX_WATCH_ON":"Дивитися на","CTX_WATCH":"Дивитися","CTX_WATCHED":"Переглянуті","CTX_WATCH_BEGINNING":"Дивитися з початку","CTX_WATCH_MOBILE":"Дивитися на мобільному пристрої","CTX_REWIND":"Перемотати назад на початок","CTX_MARK_WATCHED":"Позначити як переглянуте","CTX_MARK_NON_WATCHED":"Позначити як непереглянуте","CTX_MARK_UNWATCHED":"Позначити як непереглянуте","CTX_MARK_REST":"Позначити решту як переглянуті","CTX_UNMARK_REST":"Позначити решту як непереглянуті","CTX_RECEIVE_NEW_NOTIF":"Отримувати нові сповіщення","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Видалити з кешу","CTX_REMOVE_CACHE_EP":"Видалити серію з кешу","CTX_OPEN_CONTAINING":"Відкрити папку, в якій знаходиться","CTX_REMOVE":"Видалити з бібліотеки","CTX_AVAILABLE_OFFLINE":"Доступно офлайн","CTX_PAUSED":"Призупинено","CTX_ALWAYS_ON_TOP":"Завжди зверху","CTX_FULLSCREEN":"Повноекранний","CTX_WRONG_SUBS":"Неправильні субтитри?","CTX_REPORT_ISSUES":"Повідомити про проблему","CTX_COPY":"Копіювати","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Вставити","CTX_CLEAR":"Очистити","CTX_CLEAR_RECENT_SEARCHES":"Очистити останні пошукові запити","HELLO_THERE":"Привіт","HOPE_YOU_ENJOY":"Сподіваємося, що вам сподобається Stremio і це вже одна з ваших улюблених програм!","WHO_ARE_WE":"Хто ми? Ми — команда, яка стоїть за цим. Двоє хлопців, які наполегливо працюють щодня протягом останніх 3 років, щоб зробити цей продукт кращим.","SUPPORT_US":"Якщо вам подобається користуватися Stremio, якщо Stremio для вас цінний – розкажіть про нього!","SPREAD_THE_WORD":"Поділіться з друзями зараз, розкажіть про Stremio","MORE_PEOPLE":"Чим більше людей використовує Stremio, тим буде краще всім!","SEND_A_LINK":"Або надішліть посилання на наш сайт","TIP_LOCALFILES":"Порада: ви можете перетягувати локальні відеофайли в Stremio","ADDON_MY":"Мої доповнення","ADDON_COMMUNITY":"Доповнення спільноти","ADDON_OFFICIAL":"Офіційні доповнення","ADDON_REPOS":"Колекції доповнень","ADDON_SEARCH":"Пошук доповнень","ADDON_INSTALL":"Встановити","ADDON_CONFIGURE":"Налаштувати","ADDON_UNINSTALL":"Видалити","ADDON_UPGRADE":"Оновити","ADDON_INSTALLED":"Встановлено","ADDON_INSTALLED_MSG":"Доповнення встановлено!","ADDON_UPGRADED_MSG":"Доповнення оновлено!","ADDON_UNKNOWN":"Невідоме","ADDON_ERR":"Помилка встановлення доповнення!","ADDON_DISCONNECTED":"Відключено","ADDON_APP_MISSING":"доповнення для цього джерела не встановлено. Ви хочете встановити його зараз?","ADDON_APP_INSTALL":"Встановити зараз","ADDON_PAGE":"Сторінка доповнення","ADDON_TOP_CONTENT":"Найкраще з цього доповнення","ADDON_PROVIDES":"Це доповнення надасть вам:","ADDON_WATCH":"Дивитися #{types} зараз!","ADDON_WATCH_FREE":"Дивіться #{types} БЕЗКОШТОВНО зараз!","ADDON_ADDON":"Доповнення","ADDON_SUPPORTED_TYPES":"Підтримувані типи","ADDON_SUPPORTED_CATALOGS":"Підтримувані каталоги","ADDON_PROVIDES_DISCOVER":"Більше #{types} у Discover","ADDON_PROVIDES_STREAMS":"Переглянути #{types}","ADDON_PROVIDES_STREAMS_FREE":"Дивіться #{types} БЕЗКОШТОВНО","ADDON_PROVIDES_SUBTITLES":"Субтитри для #{types}","ADDON_CANTDETECT":"Нам не вдалося виявити запущений Stremio, тому ми не змогли визначити які доповнення ви встановили.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Інформації про це не знайдено","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Помилка отримання інформації про це.","ERR_CANT_PARSE_MAGNET":"Не вдається розібрати магніт","ERR_NO_MAGNET_INFOHASH":"Немає дійсного хешу інформації для примагнічування","ERR_NO_FILE_PATH":"Неможливо надіслати запит без шляху до файлу","ERR_NO_TORRENT":"Торрент не знайдено","ERR_NO_SUPPORTERD_FILES":"Не знайдено підтримуваних файлів","ERR_OPENING_FILES":"Не вдалося відкрити зовнішні файли","ERR_INVALID_LINK":"Недійсне посилання","ERR_REGISTERED_ONLY":"Ця опція доступна лише для зареєстрованих користувачів.","ERR_CLIPBOARD":"Неможливо відтворити з буфера обміну","ERR_CLIPBOARD_READ":"Неможливо прочитати буфер обміну на цій платформі","ERR_CLIPBOARD_GENERIC":"У буфері обміну не знайдено URL-адреси для відтворення. Будь ласка, скопіюйте URL-адресу (наприклад, магнітне посилання) до відео.","BOARD_CONTINUE_WATCHING":"Продовжити перегляд","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Фільми, підібрані спеціально для вас.
    Цей фільм є зразком рекомендації.","BOARD_EXPLANATION_EPISODES":"Нові серії вашого улюбленого серіалу з’являються тут.
    Додайте до своєї Бібліотеки серії, за якими стежите.","BOARD_EXPLANATION_VIDEOS":"Сюди надходять нові серії ваших улюблених Каналів.
    Додайте до своєї Бібліотеки канали YouTube, за якими стежите.","WEBSITE_ENJOYED_BY":"Ним користуються понад 30 мільйонів користувачів по всьому світу","WEBSITE_STREAMING_ENHANCED":"Покращений потоковий зв\'язок","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio пропонує безпечний, сучасний та безперебійний розважальний досвід. Завдяки простому у використанні інтерфейсу та різноманітній бібліотеці контенту, включаючи підтримку 4K HDR, користувачі можуть насолоджуватися улюбленими фільмами та телешоу на всіх своїх пристроях. А завдяки своїй прихильності до безпеки, Stremio є найкращим вибором для безтурботного перегляду високоякісного потокового контенту.","WEBSITE_AVAILABLE_ON":"Доступно на","WEBSITE_WATCH_AND_ENJOY":"Дивіться і насолоджуйтеся.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio робить це простіше простого","WEBSITE_ALL_FEATURES":"Всі функції","WEBSITE_EASY_TO_USE":"Простий у використанні","WEBSITE_EASY_TO_USE_DETAILS":"Stremio розроблений таким чином, щоб бути зручним і простим у використанні. Завдяки чистому та інтуїтивно зрозумілому інтерфейсу ви можете легко орієнтуватися та знаходити контент, який хочете переглянути.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Безшовна робота на різних пристроях","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Доступний для широкого спектру платформ (включаючи Windows, Mac, Linux, Android та інші), Stremio відстежуватиме ваш прогрес на всіх ваших пристроях. Просто увійдіть в систему і продовжуйте спостерігати без необхідності налаштовувати додаток на кожному новому пристрої.","WEBSITE_ALL_DOWNLOADS":"Всі завантаження","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Підтримка відео високої чіткості","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Вбудований відеоплеєр, що підтримує більшість відеоформатів, включно з 4K HDR, дозволить вам насолоджуватися найвищою доступною якістю.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Бібліотека різноманітного контенту","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio інтегрується з великою кількістю популярних джерел відео, таких як Netflix, Amazon Prime Video, Hulu, YouTube та багато інших.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Створіть безкоштовний обліковий запис","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Індивідуальний досвід перегляду","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio дозволяє вам налаштовувати зовнішній вигляд інтерфейсу, змінюючи тему, додаючи або видаляючи аддони тощо.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Підтримка багатомовних субтитрів","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"Тепер ви можете насолоджуватися улюбленим контентом улюбленою мовою, оскільки Stremio підтримує субтитри всіма мовами.","WEBSITE_TRY_STREMIO_TITLE_P1":"Спробуйте Стреміо","WEBSITE_TRY_STREMIO_TITLE_P2":"Зараз у вашому телевізорі","WEBSITE_YOU_CAN_NOW_WATCH":"Тепер ви можете дивитися всі улюблені телепередачі на своїх пристроях Android TV. Додаток Stremio TV дозволить вам з легкістю насолодитися вечором кіно.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Тепер ви можете дивитися всі улюблені телепередачі на своєму Smart TV або Android TV. Додатки Stremio TV дозволять вам з легкістю насолодитися вечором кіно.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio для Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Напевно, найкращий і найкорисніший додаток, який можна мати на своєму пристрої. Це одна з програм, яку я використовую щодня, особливо на своєму Android TV вже багато років. Добре зроблений з сильною спільнотою, що надає корисні функції. Молодці. Продовжуйте в тому ж дусі.","WEBSITE_REVIEWS":"відгуки","WEBSITE_GET_STREMIO_FOR_FREE":"Отримайте Stremio безкоштовно","WEBSITE_GET_STREMIO_NOW":"Отримайте Stremio зараз","WEBSITE_STREMIO_FEATURES":"Особливості Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Стріміть як професіонал з розширеними функціями Stremio і насолоджуйтеся безперешкодним доступом до всіх улюблених медіа","WEBSITE_DISCOVER_MORE":"Дізнайтеся більше.","WEBSITE_DISCOVER_MORE_DETAILS":"Ніколи не вичерпується те, що можна подивитись","WEBSITE_COMMUNITY_DRIVEN":"Управляється громадою","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio має велику та активну спільноту користувачів, які роблять свій внесок у розвиток програмного забезпечення, створюючи та обмінюючись аддонами.","WEBSITE_GET_INVOLVED":"Долучайтеся.","WEBSITE_NEW_THEATER_EXPERIENCE":"Новий театральний досвід","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Новий спеціальний додаток Stremio для телевізора дозволить вам насолоджуватися переглядом фільмів на ваших пристроях Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Нові спеціальні телевізійні програми Stremio дозволять вам насолоджуватися переглядом фільмів на пристроях Smart TV або Android TV.","WEBSITE_FREE_AND_SECURE":"Вільно та безпечно","WEBSITE_STREAMING":"Потокове","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio пропонує неперевершену безпеку та конфіденційність для користувачів. Завдяки унікальній функції віддаленого запуску аддонів, Stremio забезпечує більш безпечний спосіб трансляції вашого улюбленого контенту порівняно з іншими платформами. Ваша безпека і конфіденційність є головними пріоритетами, і платформа гарантує, що всі ваші дані будуть захищені.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Попрощайтеся з турботами про безпеку та конфіденційність і привітайтеся зі світом нескінченних розваг зі Stremio","WEBSITE_INFORMATION_PROVIDED_BY":"Інформація надана","WEBSITE_CONTRIBUTE_DESC":"до проекту та допоможіть нам зробити Stremio ще кращим","WEBSITE_COMMUNITY_DESC":"Ми віримо, що найкращий спосіб створити дійсно дивовижний потоковий досвід - це залучити до процесу нашу спільноту. Незалежно від того, чи ви програміст, художник або просто фанат - ви можете допомогти Stremio розвиватися.","WEBSITE_COMMUNITY_DESC_2":"Тож приєднуйтесь до нас сьогодні, станьте частиною спільноти Stremio і продовжуйте формувати майбутнє стрімінгу.","WEBSITE_WAYS_TO_GET_INVOLVED":"Як долучитися до участі","WEBSITE_IN_THE_STREMIO_COMMUNITY":"у спільноті Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Поділіться своїми думками","WEBSITE_REPORT_BUGS":"Повідомляти про помилки","WEBSITE_SUGGEST_FEATURES":"запропонувати функції","WEBSITE_AND_PROVIDE_FEEDBACK":"та залишайте відгуки на наших каналах у соціальних мережах.","WEBSITE_BETA_TESTING_PROGRAM":"Програма бета-тестування","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Візьміть участь у нашій програмі бета-тестування (ми регулярно розсилаємо запрошення) у спільноті Stremio.","WEBSITE_JOIN_NOW":"Приєднуйтесь зараз!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Офіційні спільноти Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Неофіційні спільноти Стреміо","WEBSITE_BECOME":"Стань","WEBSITE_A_VOLUNTEER_TRANSLATOR":"перекладач-волонтер","WEBSITE_ARE_YOU_A_DEVELOPER":"Ви розробник?","WEBSITE_CONTRIBUTE_CODE":"Ви можете внести свій код до наших проектів з відкритим вихідним кодом. У нас є кілька проектів на GitHub, які шукають дописувачів. Якщо ви зацікавлені в допомозі, перевірте їх:","WEBSITE_STREMIO_ON_GITHUB":"Stremio на GitHub","WEBSITE_CREATE_ADDON_DESC":"Створіть аддон для розширення функціональності Stremio (у нас є простий у використанні API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Ми також надаємо можливість приєднатися до нас в якості стажера-розробника, щоб ми могли розвиватися разом.","WEBSITE_APPLY_AS_AN_INTERN":"Подати заявку на стажування","WEBSITE_CALLING_ALL_ARTISTS":"До всіх художників!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Продемонструйте свою творчість і любов до Stremio, завантаживши фан-арт в нашу онлайн-галерею. Незалежно від того, чи це малюнок, картина або цифровий дизайн, ми хочемо побачити ваш унікальний погляд на бренд Stremio. Приєднуйтесь до нашої спільноти ентузіастів мистецтва та діліться своїми роботами з іншими шанувальниками Stremio по всьому світу.","WEBSITE_STREMIO_FANART_GALLERY":"Галерея Stremio Fanart","WEBSITE_INTERN_DESIGNER":"Станьте частиною нашої команди та підніміть свій творчий потенціал на нові висоти завдяки нашим захоплюючим можливостям стажування.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Проєкт Фільми у суспільному надбанні","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"У Stremio ми прагнемо зберегти історію кіно і телебачення, виявляючи відео, що є суспільним надбанням, та осиротілі відеоматеріали. Працюючи разом з нашою спільнотою, ми можемо гарантувати, що ці класичні твори мистецтва будуть доступні кожному і збережені для майбутніх поколінь.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Не соромтеся звертатися до нас, якщо ви хочете долучитися до цього проекту.","WEBSITE_JOIN_THE_PROJECT":"Приєднуйтесь до проекту","WEBSITE_BE_PART_OF_OUR_MISSION":"Станьте частиною нашої місії","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Бажаєте приєднатися до команди Stremio? Ми пропонуємо повністю віддалену роботу для захоплених професіоналів. Ознайомтеся з нашими відкритими вакансіями.","WEBSITE_OPEN_POSITIONS":"ВІДКРИТІ ПОЗИЦІЇ","WEBSITE_DESCRIPTION":"ОПИС","WEBSITE_LEARN_MORE":"Дізнайтеся більше","WEBSITE_COMPANY":"Компанія","WEBSITE_CONTACTS":"Контакти","WEBSITE_NEED_HELP":"Потрібна допомога?","WEBSITE_STREMIO_WEB_ON_IOS":"Посібник для Stremio Web на iOS","WEBSITE_LINK_ART_V2":"Галерея Fanart","WEBSITE_PARTNERS":"Партнери","WEBSITE_SLOGAN_WATCH":"Дивіться миттєво","WEBSITE_SLOGAN_ALL":"Весь відеовміст, який вам подобається в одному місці","WEBSITE_SLOGAN_NEW":"Все, що ви можете дивитися","WEBSITE_SLOGAN_NEW_NEW":"Свобода Перегляду","WEBSITE_WATCH_FROM":"Дивитися з","WEBSITE_DOWNLOAD":"Завантажити зараз","WEBSITE_DOWNLOAD_FOR":"Завантажити зараз для","WEBSITE_IS_DESKTOP":"Stremio — це настільна програма, відкрийте цю сторінку на своєму ПК та завантажте її","WEBSITE_DESKTOP_DEMO_VID":"Демонстрація робочого столу","WEBSITE_PAGE_HOME":"Додому","WEBSITE_PAGE_FEATURES":"Особливості","WEBSITE_PAGE_ADDONS":"Доповнення","WEBSITE_PAGE_TECH":"Технології","WEBSITE_PAGE_CREATE_ADDON":"Створити доповнення","WEBSITE_PAGE_CONTACTS":"Контакти","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Фільми","WEBSITE_TYPE_series_PL":"Серіали","WEBSITE_TYPE_tv":"ТБ наживо","WEBSITE_TYPE_channel":"Канали","WEBSITE_STREMIO_WHAT_IS":"Stremio — це програма, яка допоможе вам упорядкувати та миттєво дивитися улюблені відео, фільми, серіали та телеканали.","WEBSITE_FEATURES_WATCH":"Дивіться миттєво в HD","WEBSITE_FEATURES_WATCH_DETAIL":"Натисніть і відтворіть улюблені фільми, телешоу, відео та телеканали.","WEBSITE_FEATURES_SUBS":"Автоматичні субтитри","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio автоматично вибирає синхронізовані субтитри для вашої мови.","WEBSITE_FEATURES_SUBS_LABEL":"Ваш хід, шефе.","WEBSITE_FEATURES_CAST":"Грайте на телевізорі та мобільних пристроях","WEBSITE_FEATURES_CAST_DETAIL":"Транслюйте на AppleTV, Chromecast, Smart TV (DLNA/UPnP) і мобільні пристрої.","WEBSITE_LIB":"Насолоджуйтесь синхронізацією особистої бібліотеки на всіх ваших пристроях","WEBSITE_LIB_COLLECT":"Зберіть зі Stremio","WEBSITE_LIB_IMPORT":"Імпорт із Facebook","WEBSITE_LIB_LOCAL":"Додайте з локального диска","WEBSITE_BOARD":"Дошка - ваше єдине місце для сповіщень та рекомендацій","WEBSITE_BOARD_RECOMMEND":"Рекомендоване телешоу","WEBSITE_BOARD_TRENDING":"Популярний фільм","WEBSITE_BOARD_NEW":"Нове відео","WEBSITE_BOARD_EPISODE":"Нова серія","WEBSITE_BOARD_1":"Шукаєте щось цікаве для перегляду? Отримайте рекомендації на свій смак!","WEBSITE_BOARD_2":"Отримуйте сповіщення, коли виходить нова серія вашого улюбленого телешоу чи каналу YouTube!","WEBSITE_BOARD_YOUTUBE":"Нові відео YouTube каналів","WEBSITE_BOARD_EPISODES":"Нові серії серіалів, за якими ви стежите","WEBSITE_ADDONS":"Доповнення вмісту","WEBSITE_TECH_DETAIL":"Ми любимо технології, ми любимо божевільну науку!\\nStremio використовує такі технології з відкритим кодом:","WEBSITE_TECH_WCJS":"WebChimera.js дозволяє Stremio відтворювати будь-який формат відео з хорошою продуктивністю.","WEBSITE_TECH_WCJS_EXTRA":"Ми є основними учасниками проекту","WEBSITE_TECH_ELECTRON":"Electron надає інноваційну платформу для створення Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Ми є учасниками проекту","WEBSITE_TECH_LINVODB":"Технологія баз даних, яка забезпечує організацію та доступність ваших даних у будь-якому місці, де ви входите.","WEBSITE_TECH_LINVODB_EXTRA":"Вбудовані технології","WEBSITE_CREATE_ADDON":"Створіть власне доповнення","WEBSITE_CREATE_ADDON_DETAIL":"У вас є послуга з надання відеоконтенту? Ми допоможемо вам скористатися можливостями Stremio, створивши власне доповнення","WEBSITE_CREATE_ADDON_BENEFITS":"Переваги створення доповнення для Stremio","WEBSITE_P2P_BEAUTY":"Краса P2P передавання","WEBSITE_P2P_1":"Надійне та доступне відео у форматі Full HD / 4K на замовлення або в прямому ефірі","WEBSITE_P2P_2":"Платформа розповсюдження забезпечує чудовий досвід користувача","WEBSITE_P2P_3":"Ми створимо доповнення, який точно відповідає вашим потребам","WEBSITE_P2P_CONTACT":"Цікаво? Ви можете зв’язатися з нами .","WEBSITE_P2P_CONTACT_EXTRA":"Ми будемо раді допомогти вам інтегрувати ваш контент зі Stremio!","WEBSITE_P2P":"Час від часу з’являється технологія, яка змінює назву гри. Ми доклали масу часу та зусиль у створення нашого механізму потокового потокового відео (P2P), який забезпечує чудову продуктивність та універсальність для адаптації до будь-якого випадку використання.\\n Зв’яжіться з нами, щоб отримати відео P2P з підтримкою DRM на вимогу або пряму трансляцію.","WEBSITE_THOUGHTS":"Думками, якими ми ділимося:","WEBSITE_SPREAD":"Розкажіть про Stremio:","WEBSITE_CONTACT":"Зв\'яжіться з нами, ми будемо раді почути від вас!","WEBSITE_OPENSOURCE":"Щоб переглянути наші проекти з відкритим кодом, перейдіть до нашого","WEBSITE_BITCOIN":"Пожертвуйте біткойн:","WEBSITE_FAQ":"Часті запитання","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Запитання","WEBSITE_TOS":"Умови користування","WEBSITE_LEGAL":"Юридичний","WEBSITE_PAGE_ABOUT":"Про","WEBSITE_PAGE_BECOME_PARTNER":"Стати партнером","WEBSITE_ALL_YOU_CAN_WATCH":"Свобода дивитися\\n Все що ти хочеш.","WEBSITE_FREEDOM_TO_STREAM":"Свобода Перегляду","WEBSITE_WHAT_IS_STREMIO":"Що таке stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio — це єдиний центр для агрегації відеоконтенту. Знаходьте, упорядковуйте та дивіться відео з усіх джерел на будь-якому пристрої, яким ви володієте.","WEBSITE_WHAT_IS_STREMIO_P2":"Фільми, телешоу, серіали, пряме телебачення або веб-канали, як-от YouTube і Twitch.tv – все це можна знайти на Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio — це сучасний медіа-центр, який є єдиним рішенням для ваших відеорозваг. Ви відкриваєте, переглядаєте й упорядковуєте відеовміст із простих для встановлення додатків.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Фільми, телешоу, телевізійні програми в прямому ефірі або веб-канали - знайдіть все це на Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Насолоджуйтесь на всіх своїх мультимедійних пристроях","WEBSITE_DEVICES_COLLECT":"Зберіть зі Stremio","WEBSITE_DEVICES_IMPORT_FB":"Імпорт із Facebook","WEBSITE_DEVICES_LOCAL":"Додати з локального диска","WEBSITE_JOIN_THE_PARTY_NOW":"Приєднуйтесь до вечірки зараз","WEBSITE_DEVICES_ALL":"Простий у використанні на всіх ваших пристроях;","WEBSITE_EXTENDABLE_CATALOG":"Каталог відео, що безмежно розширюється;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Чудові функції для організації ваших медіа;","WEBSITE_AS_SEEN_ON":"Як бачили на","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Про нас","WEBSITE_LINK_TECHNOLOGY":"Технологія","WEBSITE_LINK_APPS":"Програми","WEBSITE_LINK_DOWNLOADS":"Завантаження","WEBSITE_MORE":"Більше","WEBSITE_LINK_ADDONS":"Доповнення","WEBSITE_LINK_ADDON_SDK":"Доповнення SDK","WEBSITE_LINK_CONTRIBUTE":"Допомогти","WEBSITE_LINK_COMMUNITY":"Спільнота","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"... і більше","WEBSITE_LINK_HELP":"Центр допомоги","WEBSITE_LINK_CONTACTS":"Бізнес запити","WEBSITE_LINK_TOS":"Правила та умови","WEBSITE_LINK_PRAVACY":"Політика конфіденційності","WEBSITE_SUBSCRIBE":"Підписатися","WEBSITE_NEWSLETTER":"Приєднуйтесь до нашої розсилки, щоб отримати дивовижні речі","WEBSITE_PLACEHOLDER_EMAIL":"Ваша електронна пошта","WEBSITE_COMMUNITY":"Спільнота","WEBSITE_LINK_PRAVACY_LEGAL":"Конфіденційність і право","WEBSITE_WHY":"Чому ми це робимо","WEBSITE_WHY_P1":"У Stremio ми щодня приходимо на роботу, тому що хочемо вирішити важливу проблему для індустрії відео за запитом. Щохвилини публікується стільки нового вмісту, що практично неможливо розібратися з ним.","WEBSITE_WHY_P2":"Ми допомагаємо людям орієнтуватися у цьому величезному світі відеорозваг і відкривати для себе новий вміст. Наші програми об’єднують фільми, серіали, телепередачі в прямому ефірі, веб-канали тощо. Ми прагнемо зробити так, щоб користувачам було неймовірно легко знаходити назви та трансляції, які їм подобаються.","WEBSITE_WHY_P3":"Ви можете користуватися нашим сервісом на будь-якому пристрої та в будь-який час, що робить Stremio єдиним центром відеорозваг, який вам коли-небудь знадобиться.","WEBSITE_TEAM":"КОМАНДА","WEBSITE_TEAM_P":"Команда Stremio невелика, але потужна: нас десятеро і ми кодуємо різними мовами, ділимося досвідом у розробці програмного забезпечення, дизайні інтерфейсу та UX, маркетингу та рекламі, а також бізнесу та стартапів.","WEBSITE_FEATURES":"Можливості","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Легко відкривайте новий вміст","WEBSITE_FEATURES_DISCOVER_P":"Легко знаходьте нові фільми, телешоу, серіали та канали для перегляду. Переглядайте за категорією, жанром, рейтингом, новизною тощо або просто введіть назву, щоб знайти. Stremio робить пошук нового відеоконтенту простим.","WEBSITE_FEATURES_ALL_CONTENT":"Весь ваш відеовміст на одному екрані","WEBSITE_FEATURES_ALL_CONTENT_P1":"Перегляньте які фільми, серіали чи відео ви не закінчили і продовжуйте дивитися їх; отримуйте сповіщення про нові серії та випуски; переглядайте рекомендації на основі ваших звичок перегляду.","WEBSITE_FEATURES_LIBRARY":"Упорядкуйте свою відеотеку","WEBSITE_FEATURES_LIBRARY_P1":"Додайте будь-яке медіа до своєї бібліотеки Stremio одним клацанням миші та знайдіть свій вміст, акуратно впорядкований за типом, новизною або за алфавітом.","WEBSITE_FEATURES_CALENDAR":"Слідкуйте за всім, що дивитеся","WEBSITE_FEATURES_CALENDAR_P1":"Отримайте візуалізацію календаря всіх фільмів і серіалів, які ви додаєте до бібліотеки. Експортуйте свій календар Stremio та синхронізуйте його, щоб завжди знати коли має вийти нова серія або прем’єра.","WEBSITE_FEATURES_BIG_SCREEN":"Насолоджуйтесь своїм відеоконтентом на більшому екрані","WEBSITE_FEATURES_BIG_SCREEN_P1":"Транслюйте все, що ви дивитеся на інший пристрій – телефон, планшет або телевізор одним клацанням миші.","WEBSITE_FEATURES_SOURCES":"Дивіться відео з різних джерел","WEBSITE_FEATURES_SOURCES_P":"Встановіть офіційні або доповнення спільноти, щоб насолоджуватися відео, отриманими від багатьох різних постачальників – все в одному елегантному, простому додатку.","WEBSITE_CREATE_AN_ADDON":"Створити доповнення","WEBSITE_FEATURES_SYNC":"Синхронізуйте свою бібліотеку на різних пристроях і відновлюйте відтворення","WEBSITE_FEATURES_SYNC_P1":"Увійдіть у свій обліковий запис на всіх своїх пристроях і насолоджуйтесь синхронізованою бібліотекою, доповненнями, відтворенням і календарем.","WEBSITE_FEATURES_EXTENDABLE":"Розширюваний каталог відео за доповненнями","WEBSITE_FEATURES_EXTENDABLE_P1":"Каталог Stremio містить ряд доповнень для встановлення та перегляду різноманітного відеовмісту. Сюди входять фільми, шоу, телепередачі в прямому ефірі, спорт, новини, подкасти, веб-канали, відеоігри тощо.","WEBSITE_FEATURES_AUTO_SUBS":"Автоматичні субтитри","WEBSITE_FEATURES_AUTO_SUBS_P1":"За допомогою наших доповнень субтитрів ви отримуєте автоматично вибрані параметри для бажаної мови.","WEBSITE_FEATURES_CHROMECAST":"Трансляція на Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Насолоджуйтесь своїм відеовмістом на більшому екрані або просто передайте те, що дивитеся на інший пристрій.","WEBSITE_FEATURES_KEEP_TRACK":"Відстежуйте свої улюблені телешоу та веб-канали","WEBSITE_FEATURES_KEEP_TRACK_P1":"Отримуйте візуалізацію календаря та сповіщення про нові серії улюблених серіалів і веб-каналів.","WEBSITE_FEATURES_POWER_USER":"Функції досвідченого користувача","WEBSITE_FEATURES_POWER_USER_P1":"Перегляд у зовнішньому програвачі","WEBSITE_FEATURES_POWER_USER_P2":"Перегляд з торрент-файлу або магнітного посилання","WEBSITE_FEATURES_POWER_USER_P3":"Імпортуйте у свою бібліотеку з вподобайок Facebook або локального диска","WEBSITE_ADD_ONS":"Доповненя","WEBSITE_ADD_ONS_P1":"Весь відео-вміст, який надає Stremio, отримується через систему доповнень — у програму не вбудовано жодного вмісту чи постачальника.","WEBSITE_ADD_ONS_P2":"Доступні дві групи доповнень: офіційні та спільноти.","WEBSITE_ADD_ONS_P3":"Офіційні розробляються та розміщуються Stremio, тоді як доповнення спільноти створюються членами нашої спільноти, які також розміщують їх.","WEBSITE_ADDONS_OFFICIAL":"Офіційні доповнення","WEBSITE_ADDONS_WATCHUB":"Транслюйте свої улюблені фільми, серіали та шоу з iTunes, Hulu, Amazon та інших сервісів Великобританії та США.","WEBSITE_ADDONS_YOUTUBE":"Дивіться улюблені канали YouTube без реклами та отримуйте сповіщення про нові відео від авторів з ваших підписок.","WEBSITE_ADDONS_FILMON":"Дивіться телепередачі в прямому ефірі, фільми та соціальне телебачення безкоштовно. 600 телеканалів, 45 000 безкоштовних фільмів, документальних фільмів тощо.","WEBSITE_ADDONS_OPENSUBTITLES":"Субтитри для фільмів і телепередач кількома мовами, тисячі перекладених субтитрів додаються щодня.","WEBSITE_ADDONS_COMMUNITY":"Доповнення спільноти","WEBSITE_ADDONS_FILMON_VOD":"Дивіться відео на вимогу від Filmon.tv","WEBSITE_ADDONS_TWICH":"Дивіться прямі трансляції з Twitch.tv - платформи з відео індустрії кіберспорту.","WEBSITE_ADDONS_VODO":"Дивіться інді-фільми абсолютно безкоштовно.","WEBSITE_ADDONS_NETFLIX":"Дивіться фільми та веб-серіали Netflix.","WEBSITE_ADDONS_CREATE":"Створити доповнення","WEBSITE_ADDONS_CREATE_P1":"За бажанням ви можете створити власне доповнення. Таким чином, ви можете надати собі та нашій спільноті доступ до нового відеоконтенту та охопити нову цільову аудиторію, яка складається з мільйонів користувачів по всьому світі.","WEBSITE_ADDONS_START_CREATE":"Щоб почати, відвідайте сторінку Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Завантаження","WEBSITE_DOWNLOADS_P1":"Для оптимальної продуктивності ми рекомендуємо використовувати останню доступну версію програм Stremio. Однак якщо з якихось причин ви хочете використовувати старішу версію, ви можете завантажити її тут.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio для Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio для macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio для Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio для Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio для Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio для Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio для Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio для iOS (обмежена версія)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Завантажте службу Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service — це супутня програма для Stremio Web. Ми рекомендуємо використовувати останню доступну версію Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Служба Stremio для Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Служба Stremio для macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Служба Stremio для Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Служба Stremio для Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Додаткові параметри завантаження","WEBSITE_DOWNLOAD_NEW":"Новинка!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Ми випустили Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Допомогти","WEBSITE_CONTRIBUTE_P1":"Платформа Stremio з відкритим вихідним кодом і ви можете легко створити доповнення для нового контенту.","WEBSITE_CONTRIBUTE_WHY":"Навіщо створювати доповнення?","WEBSITE_CONTRIBUTE_WHY_P1":"Охопіть нову аудиторію для свого відеоконтенту","WEBSITE_CONTRIBUTE_WHY_P2":"База користувачів Stremio стрімко зростає – за перший рік після запуску Stremio набрав 1 мільйон користувачів у всьому світі, а на другий рік існування платформи ця кількість зросла до 2,5 мільйонів.","WEBSITE_CONTRIBUTE_WHY_P3":"За допомогою свого доповнення ви можете легко охопити цю аудиторію та поширити їй свій відеовміст.","WEBSITE_CONTRIBUTE_ALL":"Дивіться улюблені фільми, відео, серіали та канали в одному місці.","WEBSITE_CONTRIBUTE_ALL_P1":"Ви шанувальник певного типу контенту, який ще не доступний на Stremio? Створіть для нього доповнення та насолоджуйтеся переглядом улюблених відео в одному з найбільших і найпростіших у використанні центрів розваг на ринку.","WEBSITE_CONTRIBUTE_ALL_P2":"Крім того, ви отримаєте нескінченну вдячність інших членів спільноти Stremio-однодумців.","WEBSITE_CONTRIBUTE_MONETIZE":"Монетизуйте своє доповнення і заробляйте гроші з його допомогою","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Як тільки ви створите нове доповнення для Stremio, зможете легко монетизувати його різними способами. Якщо ви думаєте про це, не соромтеся зв’язатися з нами за адресою","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":"- ми будемо раді проконсультувати вас та порадити варіанти монетизації доповнень.","WEBSITE_CONTRIBUTE_TRANSLATE":"Станьте волонтером-перекладачем","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Якщо ви хочете користуватися додатками Stremio різними мовами, ви можете приєднатися до нашої спільноти волонтерів-перекладачів. Вони допомагають нам додавати версії Stremio багатьма різними мовами.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Ви хочете почати?","WEBSITE_TRANSALTE_STREMIO":"Перекладіть Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Офіційні спільноти","WEBSITE_COMMUNITY_OFFICIALS_P1":"Станьте частиною спільноти Stremio, що розвивається. Слідкуйте за нами в соціальних мережах і не соромтеся привітатися – ми любимо чути від наших шанувальників!","WEBSITE_COMMUNITY_UNOFFICIALS":"Неофіційні спільноти","STREMIO_COMMUNITY_NL":"Стреміо Нідерланди","STREMIO_COMMUNITY_BRASIL":"Стреміо Бразилія","STREMIO_COMMUNITY_GERMANY":"Stremio Німеччина","STREMIO_COMMUNITY_BELGIUM":"Stremio Бельгія","STREMIO_COMMUNITY_FRANCE":"Стреміо Франція","STREMIO_COMMUNITY_PORTUGAL":"Стреміо Португалія","STREMIO_COMMUNITY_ITALY":"Стреміо Італія","STREMIO_COMMUNITY_UK":"Stremio Великобританія","STREMIO_COMMUNITY_USA":"Стреміо США","STREMIO_COMMUNITY_MEXICO":"Стреміо Мексика","STREMIO_COMMUNITY_ADDONS":"Доповнення Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Чудовий Стреміо","WEBSITE_COMMUNITY_PARTNERS":"Партнери та прихильники","WEBSITE_COMMUNITY_GOODIES":"Смаки Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Шпалери","WEBSITE_COMMUNITY_ART":"Художня галерея спільноти","WEBSITE_LINK_ART":"Художня галерея спільноти","WEBSITE_CONTACT_US":"Зв\'яжіться з нами","WEBSITE_CONTACT_US_P1":"Якщо у вас виникли запитання, коментарі чи пропозиції, не соромтеся зв’язатися з нами за допомогою контактної форми нижче.","WEBSITE_CONTACT_US_P2":"Майте на увазі, що ми знаходимося в Болгарії, тому у розгляді вашого запиту може виникнути затримка через різницю в часових поясах.","WEBSITE_CONTACT_US_SUCCESS":"Ваше повідомлення було відправлене. Ми зв’яжемося з вами якнайшвидше.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Будь ласка, введіть дійсну адресу електронної пошти!","WEBSITE_CONTACT_US_Q_RELATED_TO":"З чим пов’язане ваше питання?","WEBSITE_CONTACT_US_Q_OS":"Яка ваша операційна система?","WEBSITE_CONTACT_US_PH_EMAIL":"Ваша електронна адреса","WEBSITE_CONTACT_US_PH_MESSAGE":"Повідомлення","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"НАДІСЛАТИ","WEBSITE_CONTACT_US_Q_1":"Як встановити?","WEBSITE_CONTACT_US_Q_2":"Як видалити?","WEBSITE_CONTACT_US_Q_3":"(HTML) Як приготувати лазанью?","WEBSITE_CONTACT_US_Q_4":"Доповнення","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Технологія","WEBSITE_TECHNOLOGY_P1":"Ми любимо технології та божевільну науку.
    Ось що використовує Stremio (це все з відкритим кодом).","WEBSITE_TECHNOLOGY_P_QT":"Кросплатформна розробка програмного забезпечення в кращому вигляді.","WEBSITE_TECHNOLOGY_P_MPV":"Безкоштовний мультиплатформний медіапрогравач з відкритим кодом.","WEBSITE_TECHNOLOGY_P_RN":"React Native дозволяє створювати мобільні додатки, використовуючи лише JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Медіа-фреймворк, вбудований у програму для отримання мультимедіа.","WEBSITE_TECHNOLOGY_P_REALM":"Realm — це мобільна платформа та заміна SQLite та Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js — це кросплатформне середовище виконання JavaScript з відкритим кодом.","WEBSITE_TECHNOLOGY_P_RUST":"Rust — це багатопарадигмальна мова системного програмування, орієнтована на безпеку, особливо на безпечну паралельність.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Допоможіть проекту","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Ви можете зробити свій внесок у Stremio і допомогти нам зробити продукт ще кращим двома способами.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Ви можете пожертвувати свої цінні мовні навички, переклавши платформу...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"або","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... ви можете використати свої навички програмування для створення доповнень спільноти.","WEBSITE_TRANSLATE_STREMIO":"Перекласти Stremio","WEBSITE_404_OH_NO":"Ой-ой! Сторінки, яку ви шукаєте, тут немає...","WEBSITE_GO_HOME":"На головну","WEBSITE_LINK_OTHER_DOWNLOADS":"Інші завантаження","WEBSITE_FAQ_ABR":"ЧАП","WEBSITE_SUPPORT":"Підтримка","WEBSITE_DOWNLOAD_4_0_BETA":"Завантажити Stremio 4 бета зараз","WEBSITE_GET_FOR_DESKTOP":"Отримати для ПК","WEBSITE_LINK_ADDON_COMPETITION":"Конкурс доповнень","WEBSITE_LINK_ART_CONTEST":"Мистецький конкурс","WEBSITE_MY_ACCOUNT":"Мій обліковий запис","WEBSITE_MAINPAGE_FAQ_001_H1":"Що таке Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio – це сучасний медіа-центр, який дає вам свободу дивитися все, що ви хочете.","WEBSITE_MAINPAGE_FAQ_002_H1":"Як це працює?","WEBSITE_MAINPAGE_FAQ_002_P1":"Після того, як ви встановите Stremio на своєму пристрої та створите обліковий запис, вам залишиться відвідати каталог доповнень і встановити будь-який на ваш смак і готово!","WEBSITE_MAINPAGE_FAQ_002_P2":"Після цього ви можете перейти до розділів Новинки або Дошка для перегляду контенту.","WEBSITE_MAINPAGE_FAQ_003_H1":"Що тут можна подивитися?","WEBSITE_MAINPAGE_FAQ_003_P1":"Багато чого: фільми, телешоу, веб-канали, спорт, телеканали, слухати подкасти тощо. Завдяки нашій системі доповнень ви можете отримати доступ до різноманітного вмісту.","WEBSITE_MAINPAGE_FAQ_004_H1":"Чи Stremio з відкритим кодом?","WEBSITE_MAINPAGE_FAQ_004_P1":"Так, ви можете перевірити наступні посилання: $ {1}desktop додаток $ {2} і $ {3}GitHub організації $ {4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Чи безпечний Stremio?","WEBSITE_MAINPAGE_FAQ_005_P1":"Так: оскільки це програма з відкритим кодом, доступний для загального перегляду і ви можете перевірити його самостійно.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Як щодо моєї конфіденційності?","WEBSITE_MAINPAGE_FAQ_006_P1":"Ми поважаємо конфіденційність користувачів і не збираємо жодних персональних даних, крім необхідного мінімуму для створення та синхронізації вашого облікового запису.","WEBSITE_MAINPAGE_FAQ_006_P2":"Існує також ${1}Гостьовий режим${2} під час реєстрації, який не вимагає ніяких даних взагалі: в цьому режимі, не здійсюється ніяких запитів на наш сервер. Однак це відбувається за рахунок корисних функцій, таких як можливість синхронізувати бібліотеку на різних пристроях.","WEBSITE_MAINPAGE_FAQ_007_H1":"Чи можу я транслювати на свій телевізор?","WEBSITE_MAINPAGE_FAQ_007_P1":"Так, ми підтримуємо Chromecast, і ви можете транслювати як із настільних, так і з мобільних програм (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Скільки доповнень у Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Станом на кінець 2019 року понад 50 — для отримання додаткової інформації перегляньте наш каталог доповненняів.","WEBSITE_MAINPAGE_FAQ_009_H1":"Чи можна розширити Stremio за рамки того, що є в каталозі доповнень?","WEBSITE_MAINPAGE_FAQ_009_P1":"Так, ви повинні перевірити ці: $ {1} PimpMyStremio$ {2} , $ {3} спільноти Reddit$ {4} , $ {5} Stremio Downloader$ {6} тощо.","WEBSITE_MAINPAGE_FAQ_010_H1":"Які пристрої підтримує Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"У нас є настільні програми для Windows, Mac і Linux. Для мобільних пристроїв ми підтримуємо Android та iOS, хоча пам’ятайте, що функціональність iOS обмежена (не підтримує більшість доповнень).","WEBSITE_MAINPAGE_FAQ_010_P2":"Існує багато пристроїв на базі Android, на яких можна запустити Stremio, наприклад NVIDIA Shield і Amazon Fire Stick, але ми не підтримуємо їх офіційно.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Чи можете ви додати певний вміст до Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"На жаль, ми самі не надаємо вмісту, але чим більше доповнень Stremio ви встановили, тим більше вмісту ви зможете знайти.","WEBSITE_MAINPAGE_FAQ_012_H1":"Чи може Stremio відтворювати магнітні посилання?","WEBSITE_MAINPAGE_FAQ_012_P1":"Так, він також може відтворювати звичайні HTTP-посилання та торрент-файли (перетягування).","WEBSITE_MAINPAGE_FAQ_013_H1":"Чи можу я завантажити відео та подивитися офлайн?","WEBSITE_MAINPAGE_FAQ_013_P1":"Майбутня функція доступна в автономному режимі, але якщо ви дозволите Stremio кешувати на своєму пристрої (з панелі налаштувань), ви зможете переглядати відео пізніше без з’єднання.","WEBSITE_MAINPAGE_FAQ_014_H1":"Нічого не працює, допоможіть мені!","WEBSITE_MAINPAGE_FAQ_014_P1":"Ви впевнені, що встановили доповнення? Якщо так, то зв\'яжіться з нашим $ {1} Довідковий центр $ {2} .","WEBSITE_MAINPAGE_FAQ_015_H1":"Як Stremio підтримує свою діяльність з розвитку?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ми розміщуємо ненав’язливу рекламу через $ {1} AdEx$ {2} , компанію, створену тією ж командою засновників, яка зосереджується на прозорій рекламі, що зберігає конфіденційність.","WEBSITE_MAINPAGE_FAQ_015_P2":"За всім питанням, перейдіть на наш $ {1} Довідковий центр $ {2} .","HELP_LEARN_MORE":"Допоможіть нам дізнатися більше про вас.","LIFESTYLE":"Спосіб життя","SPORTS":"Спорт","FOOD_HEALTH":"Їжа та здоров\'я","BEAUTY_FASHION":"Краса та мода","NEWS":"Новини","GAMING":"Ігри","SCIENCE_EDUCATION":"Наука та освіта","MUSIC":"Музика","TRAVEL":"Подорожі","LATE_NIGHT":"Пізня ніч","REALITY":"Реаліті-шоу","COMEDY":"Комедії","DIY":"Своїми руками","TECH":"Техно","CINEMA":"Кінотеатр","CONTINUE":"Продовжити","SLOW_LOADING":"ПОВІЛЬНЕ ЗАВАНТАЖЕННЯ?","I_GIVE_UP":"Я ЗДАЮСЯ","LEARN_MORE":"Дізнатися більше","POOR_SOURCE":"Це джерело недоступне або ваше інтернет-з\'єднання недостатньо швидке","PICK_CATEGORIES_ERR":"Ви повинні вибрати принаймні 3 категорії","ADJUST_TIMING":"Налаштуйте час за допомогою","ADJUST_SIZE":"Відрегулюйте розмір за допомогою","SEARCH_ANYTHING":"Ви можете шукати будь-що...","ALL_CATEGORIES":"Все","SEARCH_CATEGORIES":"Фільми, серіали, YouTube і ТБ","SEARCH_PERSONS":"Актори, режисери та сценаристи","SEARCH_PROTOCOLS":"HTTP і магнітні посилання","SEARCH_TYPES":"Посилання IMDB / TVDB","WATCHED":"Переглянуті","SHOW_LESS":"Показати менше","LAST_SEARCHES":"Останні пошуки","CLEAR_HISTORY":"Очистити історію","CHOOSE_SOME":"ОБЕРІТЬ ДЕЩО З ЦЬОГО:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Не вдалося завантажити веб-пульт","STREMIO_OFFLINE":"Stremio не в мережі","STREMIO_EXPENSIVE_CONNECTION":"Ми виявили, що ви використовуєте мобільні дані. Продовжити?","USE_DATA":"Використання даних","WARNING":"Увага","MORE_INFO":"Більше інформації ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Завантаження ...","STREMIO_TV_BACK_TO_LANGUAGES":"Назад до мов","STREMIO_TV_REMOTE":"Пульт","STREMIO_TV_GO_TO":"Йти до:","STREMIO_TV_OR_SCAN":"або сканувати:","STREMIO_TV_ADDON_INSTRUCTIONS":"Будь ласка, дотримуйтесь інструкцій, щоб встановити бажані доповнення.","STREMIO_TV_LIVE_TV":"ТБ наживо","STREMIO_TV_RESUME_WATCHING":"Відновити перегляд","STREMIO_TV_LOADING_BACKGROUND":"Завантаження фону","STREMIO_TV_CHECKING_AUTHENTICATION":"Перевірка автентифікації","STREMIO_TV_LOADING_BOARD":"Завантаження Дошки","STREMIO_TV_LOGIN_HEADER_LINE_1":"Ми хочемо, щоб наші користувачі мали найкращий персоналізований досвід роботи з нашою програмою.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Саме з цієї причини ми просимо вас зробити та/або увійти до свого облікового запису.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Дякуємо за розуміння,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Команда Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Щоб використовувати веб-пульт зі смартфоном/планшетом/комп’ютером:","STREMIO_TV_WIFI_SETUP":"Налаштування Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle не виявив підключення до Інтернету.","STREMIO_TV_WIFI_DETAILS_1":"Підключитися до:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Використати пароль:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Відкрийте веб-браузер за посиланням:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"За замовчуванням","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"За останніми переглядами","STREMIO_TV_LIBRARY_SORT_NAME":"За назвою","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"За кількістю переглядів","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Сезон $ {1}","STREMIO_TV_STREAMS_LOADING":"Завантажено $ {1} / $ {2} доповнень...","STREMIO_TV_STREAMS_STILL_LOADING":"Доповнення $ {1} досі завантажується...","STREMIO_TV_PLAYER_SETTINGS":"Налаштування програвача","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Затримка субтитрів","STREMIO_TV_PLAYER_AUDIO_DELAY":"Затримка звуку","STREMIO_TV_PLAYER_VIDEO_SCALING":"Масштабування відео","STREMIO_TV_PLAYER_CHAPTERS":"Розділи","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Пропустити $ {1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Непідтримуване джерело потоку","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Не вдалося відкрити зовнішнє посилання","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Не регулюється в режимі пропуску аудіо","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Перегляд з ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Перегляд з програвачом libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Перехід на програвач libVLC через помилку відтворення","STREMIO_TV_ADDONS_TITLE":"Використовуйте Stremio на своєму телефоні чи ПК, щоб установити або налаштувати доповнення, і натисніть «Синхронізувати доповнення»","STREMIO_TV_ADDONS_SUBTITLE":"Примітка: переконайтеся, що ви використовуєте той самий обліковий запис Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Синхронізація доповнень","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Доповнення успішно синхронізовано","STREMIO_TV_ADDONS_SYNC_FAILED":"Не вдалося синхронізувати доповнення","STREMIO_TV_META_LINK_FAILED":"Не вдалося відкрити метапосилання","STREMIO_TV_CATALOG_LOADING":"Каталог досі завантажується...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Мова інтерфейсу оновлена","STREMIO_TV_SETTINGS_THEME_UPDATED":"Тема оновлена","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Програвач за замовчуванням","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Зовнішній програвач","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Бажана мова","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Додаткова бажана мова","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Тунельне відтворення","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Можливі проблеми з відтворенням на деяких пристроях","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Деякі формати відео можуть не працювати","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Узгодження частоти кадрів","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Вимкнено","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Лише частота кадрів","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Частота кадрів і роздільна здатність","STREMIO_TV_SETTINGS_NO_CACHING":"Без кешування","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"За замовчуванням","STREMIO_TV_SETTINGS_PROFILE_SOFT":"М\'який","STREMIO_TV_SETTINGS_PROFILE_FAST":"Швидкий","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Надшвидкий","STREMIO_TV_SETTINGS_SERVER_URL":"URL-адреса потокового сервера","STREMIO_TV_SETTINGS_SERVER_VERSION":"Версія сервера","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Невідоме","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Версія Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Редагувати URL-адресу сервера","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Введіть URL-адресу потокового сервера","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Показувати статистику під час завантаження","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Політика конфіденційності Stremio:","STREMIO_TV_SETTINGS_TOS_TEXT":"Загальні положення та умови Stremio:","STREMIO_TV_NAV_SEARCH":"Пошук","STREMIO_TV_NAV_HOME":"Головна","STREMIO_TV_NAV_DISCOVER":"Новинки","STREMIO_TV_NAV_LIBRARY":"Бібліотека","STREMIO_TV_NAV_MOVIES":"фільми","STREMIO_TV_NAV_SERIES":"Серіали","STREMIO_TV_NAV_CHANNELS":"Канали","STREMIO_TV_NAV_TV":"ТБ наживо","STREMIO_TV_NAV_SETTINGS":"Налаштування","STREMIO_TV_NAV_ADDONS":"Доповнення","STREMIO_TV_LOGIN_TITLE":"Пов’язати обліковий запис","STREMIO_TV_LOGIN_EXPIRES_IN":"Термін дії закінчується через","STREMIO_TV_LOGIN_STEP_ONE":"Відскануйте QR-код вище або перейдіть до","STREMIO_TV_LOGIN_STEP_TWO":"Увійдіть у свій обліковий запис Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Запит на нове посилання","STREMIO_TV_LOGIN_LINK_REFRESHED":"Код входу оновлено","STREMIO_TV_SEARCH_PLACEHOLDER":"Введіть щось","STREMIO_TV_SEARCH_NO_ADDONS":"Для каталогів не було запитів про доповнення!","STREMIO_TV_SEARCH_BUTTON":"Пошук","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"космос","STREMIO_TV_SEARCH_KEY_CLEAR":"Очистити","STREMIO_TV_SEARCH_HISTORY_TITLE":"Історія пошуку","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Ви можете шукати назви, акторів, канали тощо...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Очистити історію пошуку","STREMIO_TV_FILTERS_DESCRIPTION":"Виберіть один із фільтрів наведених нижче","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Фільтри","SETTINGS":"Налаштування","ACCOUNT":"Обліковий запис","LOGOUT":"Вийти","THEMES":"Теми","PLAYBACK":"Відтворення","PLAYBACK_SPEED":"Швидкість відтворення","AUDIO_TRACKS":"Аудіодоріжки","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Відео","SERVER":"Сервер","LINKS":"Посилання","ABOUT":"Про","INTERFACE":"Інтерфейс","ANIMATIONS":"Анімації","STATUS":"Статус","LANGUAGE":"Мова","SIZE":"Розмір","DELAY":"Затримка","BOLD":"Жирний","OPACITY":"Opacity","TEXT_COLOR":"Колір тексту","OUTLINE_COLOR":"Колір контуру","BACKGROUND_COLOR":"Колір фону","BACKGROUND_BLUR":"Розмиття фону","SEEK_TIME_DURATION":"Тривалість часу пошуку","AUTO_PLAY":"Автовідтворення наступної серії","PLAY_NOW":"Грати зараз","MARK_AS_WATCHED":"Позначити як переглянуте","MARK_AS_UNWATCHED":"Позначити як непереглянуте","REWIND_TO_BEGINNING":"Перемотати на початок","CONTINUE_WATCHING":"Продовжити перегляд","ALL":"Все","SECONDS":"секунд","ON":"УВІМКНЕНО","OFF":"ВИМКНЕНО","RELOAD":"Перезавантажити","EDIT_URL":"Редагувати URL","URL":"URL","NONE":"Жодного","EMBEDDED":"Вбудований","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Перемикнути пристрої","REMOTE_VIDEOS":"Відео","REMOTE_ADJUST_TIMING":"Налаштувати затримку","REMOTE_ADJUST_SIZE":"Налаштувати розмір","REMOTE_COULD_NOT_BE_LOADED":"Не вдалося завантажити веб-пульт","REMOTE_RETRY":"Повторити","TORRENT_PROFILE_DEFAULT":"За замовчуванням","TORRENT_PROFILE_SOFT":"М\'який","TORRENT_PROFILE_FAST":"Швидкий","TORRENT_PROFILE_ULTRA_FAST":"Надшвидкий","MB_S":"MB/s","FAQ_001_H1":"Що таке Stremio?","FAQ_001_P1":"Stremio — це програма медіа-центр, розроблена для відеорозваг і зручного використання. Stremio дозволяє вам організувати і дивитися власну колекцію фільмів, серіалів, веб-каналів і ТБ наживо.","FAQ_001_P2":"Stremio збирає і покащує вміст з вашого локального диска та нашої системи доповнень.","FAQ_001_P3":"Програма також повідомить вас коли вийдуть нові серіали/відео/фільми, які вас цікавлять і надасть вам рекомендації.","FAQ_02_H1":"Як Stremio порівнюється з Kodi і Plex?","FAQ_02_P1":"Нас надихають ці дві програми. Але у нас різні цілі – Stremio спеціально націлена на розважальні відео і прагне стати основним рішенням для цього, яка дуже проста у використанні.","FAQ_02_P2":"Stremio ніколи не буде таким налаштовуваним і багатим на функції, як Kodi і Plex, але вона значно простішА у використанні. Просто ${1} встановіть і побачите самі ${2} :)","FAQ_03_H1":"Як Stremio порівнюється з Netflix?","FAQ_03_P1":"Знову ж таки, Netflix є одним із наших джерел натхнення. Ми прагнемо досягти користувацького досвіду Netflix, а також безліч додаткових переваг. Але найголовніше те, що ми даємо вам свободу керувати власною бібліотекою та додавати нові джерела вмісту за допомогою нашої системи доповнень.","FAQ_03_P2":"Завдяки цьому Stremio можна безмежно розширювати, тож коли ви використовуєте Stremio, ви ніколи не обмежуєтесь вмістом, який Netflix вирішує ліцензувати. Наприклад, через Stremio ви можете дивитися вміст із ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} і навіть сам ${9}Netflix${10}!","FAQ_04_H1":"Як Stremio порівнюється з Flipboard?","FAQ_04_P1":"Ми не так часто отримуємо це запитання, за винятком розмови з людьми зі старт-апів :)","FAQ_04_P2":"Stremio за своєю конструкцією є агрегатором контенту, що по суті робить його Flipboard для відео. Це дуже помітно в нашому розділі «Дошка», який надає вам каталоги та сповіщення про нові серіали/нові відео, на які підписані, як і на Flipboard.","FAQ_05_H1":"Як Stremio порівнюється з Popcorn Time?","FAQ_05_P1":"Stremio і Popcorn Time схожі за інтерфейсом користувача, тому що не так багато способів правильно створити каталоги відео розваг :)","FAQ_05_P2":"Але в той час як Popcorn Time зосереджена на потоковій передачі торрентів з певних джерел, Stremio не обмежений і є лише агрегатором вмісту - він не прив\'язаний до певного джерела.","FAQ_05_P3":"Крім того, за замовчуванням ми не надаємо жодних торрент-доповнень, тому Stremio не охоплює варіант використання Popcorn Time з офіційною функціональністю.","FAQ_05_P4":"Ще одна помітна відмінність полягає в тому, що Popcorn Time повністю з відкритим кодом, тоді як Stremio має ${1}частково відкритий код${2}.","FAQ_06_H1":"Ви додасте цей фільм/серіал?","FAQ_06_P1":"Ні, вибачте :(","FAQ_06_P2":"Як зазначається в більшості інших відповідях, Stremio не надає ніякого вмісту сама по собі – все додається через систему доповнень. Якщо у вас є запит на вміст, ви можете скористатися кнопкою «Повідомити» у програвачі, яка надішле електронний лист автору доповнення, яке ви зараз використовуєте.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Чи створите ви доповнення для X?","FAQ_08_P1":"Це цілком можливо.","FAQ_08_P2":"Якщо у вас є ідея доповнення, напишіть нам на ${1}office@stremio.com${2}, але переконайтеся, що ваша ідея доповнення не порушує жодних авторських прав або умов використання.","FAQ_08_P3":"На даний момент наступні речі в нашій дорожній карті — це доповнення для FandangoNOW, Filmon.tv Video on Demand та Crunchyroll.","FAQ_09_H1":"Чи використовує Stremio BitTorrent?","FAQ_09_P1":"Так, Stremio підтримує BitTorrent як протокол потокової передачі. Ви можете використовувати його або з доповнення для торента, або перетягнути файл .torrent в Stremio, або вставити магнітне посилання в панель пошуку.","FAQ_09_P2":"Зверніть увагу, що єдиним офіційним доповненням, що використовує BitTorrent, є ${1}Vodo${2}, який надає інді-контент, який дозволено розповсюджувати за допомогою BitTorrent.","FAQ_09_P3":"Ми не підтримуємо використання будь-яких сторонніх доповнень, які можуть призвести до порушення авторських прав.","FAQ_10_H1":"Що я можу дивитися в Stremio з офіційними доповненнями?","FAQ_10_P1":"За замовчуванням ви можете дивитися вміст Filmon.tv, YouTube і Vodo у самому Stremio за допомогою вбудованого програвача. Крім того, у нас є доповнення для Twitch.tv та кількох інших.","FAQ_10_P2":"Це поєднання забезпечує вибір:","FAQ_10_L1":"Популярні телеканали, надані Filmon.tv - наприклад E4, BBC, Bollyworld TV","FAQ_10_L2":"Усе з YouTube – наприклад, BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Інді-фільми з Vodo","FAQ_10_L4":"Онлайн-трансляції ігор за допомогою Twitch.tv","FAQ_10_P3":"Крім того, існує багато джерел вмісту, що надаються з Guidebox і додатками Netflix, які не повністю відтворюються всередині Stremio, але переспрямовують на дану службу. Наприклад, додаток Guidebox надасть вам добірку фільмів, які ви можете безкоштовно транслювати в США через такі сервіси, як TubiTV і Crackle.","FAQ_11_H1":"Stremio не встановлюється, що мені робити?","FAQ_11_P1":"Якщо ви використовуєте Windows, спробуйте $ {1}цей альтернативний інсталятор${2} .","FAQ_11_P2":"Якщо ви використовуєте Mac OS X, пам’ятайте, що ми не підтримуємо нічого старішого за OS X Mavericks (10.9).","FAQ_11_P3":"Якщо ви використовуєте Linux, майте на увазі, що наразі ми підтримуємо лише 64-розрядну (x64) Linux.","FAQ_11_P4":"Якщо ви все ще не можете вирішити свою проблему, будь ласка, напишіть нам у нашу ${1}Facebook групу${2}.","FAQ_12_H1":"Чому мій антивірус скаржиться? Чи безпечний Stremio?","FAQ_12_P1":"Ми запевняємо вас, що Stremio ${1}100% безпечний${2}.","FAQ_12_P2":"Ваш антивірус скаржиться, оскільки ми включаємо рекламу в наш інсталятор, який деякі антивірусні програми розпізнають як рекламне програмне забезпечення.","FAQ_12_P3":"Якщо ви все ще НЕ впевнені, ви можете спробувати наш ${1}альтернативний інсталятор${2} .","FAQ_13_H1":"Як я можу створити доповнення?","FAQ_13_P1":"Для початку ми рекомендуємо вам перевірити наш ${1}модуль системи доповнення${2} на GitHub.","FAQ_13_P2":"Після цього ви зможете скористатися {1}Hello World${2}.","FAQ_13_P3":"Якщо у вас немає навичок програмування, будь ласка, опублікуйте свою ідею у ${1}Reddit спільноті${2} та напишіть нам про вашу ідею доповнення на ${3}office@stremio.com${4}.","FAQ_14_H1":"Як публікуються доповнення?","FAQ_14_P1":"Коли ви створюєте доповнення та хост і розміщуєте поле кінцевої точки у своєму маніфесті, яке вказує на робочу адресу доповнення, програма автоматично опублікує себе в нашому ${1}Каталозі доповнень${2}.","FAQ_14_P2":"Це відбувається тому, що серверна частина модуля stremio-addons автоматично здійснює виклик до нашого API, щоб оголосити доповнення. Коли наш API перевірить вашу кінцеву точку як дійсне доповнення, воно почне відображатися в каталозі.","FAQ_15_H1":"Чи можу я запустити Stremio у своєму браузері?","FAQ_15_P1":"Не зараз, але це планується!","FAQ_15_P2":"Якщо вам цікаво побачити альфа-версію, ви можете побачити її тут: ${1}alpha4.strem.io${2}. Майте на увазі, що трансляція вимкнена на цій альфа-версії. Ми підтримуємо Chrome, Firefox, Opera та Edge.","FAQ_16_H1":"Трансляція на телевізор не працює / субтитри не працюють","FAQ_16_P1":"Трансляція на телевізор використовує технологію DLNA, яка дуже несумісна між різними брендами та моделями телевізорів. З цієї причини ми не маємо можливості перевірити кожен випадок. Незважаючи на це, ми постійно працюємо над його вдосконаленням, але не можемо з точністю сказати коли DLNA почне з вашим телевізором належним чином працювати.","FAQ_16_P2":"Якщо ви навіть не бачите свій телевізор у меню трансляції, спробуйте вимкнути мережеве з’єднання та знову ввімкнути його (у Windows клацніть правою кнопкою миші на Мережі та виберіть Увімкнути/Вимкнути), а також перезавантажте маршрутизатор, телевізор та ПК.","FAQ_16_P3":"Якщо у вас все ще виникають проблеми, ви можете допомогти нам надіславши інформацію про бренд і модель вашого телевізора на адресу ${1}office@stremio.com${2}.","FAQ_16_P4":"Тим часом ми рекомендуємо Chromecast, який ми дуже добре підтримуємо або ж просто підключіть телевізор до комп’ютера за допомогою кабелю HDMI.","FAQ_17_H1":"Stremio зависає та/або завершує роботу, що я можу зробити?","FAQ_17_P1":"Перш за все, якщо ви використовуєте Windows 7 з антивірусом AVG: у нас проблема з цією комбінацією. Проблема в самому AVG, і немає розумного способу її вирішити з нашого боку. На жаль, винятки або відключення антивірусу не працюватимуть. Єдине рішення - замінити AVG на щось інше.","FAQ_17_P2":"Якщо проблема не в цьому, але ви все ще використовуєте Windows, оновіть ОС до останнього пакета оновлень і оновіть/перевстановіть драйвери графічного процесора, а потім повторіть спробу.","FAQ_17_P3":"Якщо ваша проблема все ще не вирішена або ви користуєтеся комп’ютером Mac або Linux, напишіть нам та повідомте точну інформацію про проблему в ${1}нашій групі Facebook${2}.","FAQ_18_H1":"Як я можу створити доповнення?","FAQ_18_P1":"Для початку ми рекомендуємо вам перевірити наш ${1}модуль системи доповнення${2} на GitHub.","FAQ_18_P2":"Після цього ви зможете скористатися {1}Hello World${2}.","FAQ_18_P3":"Якщо у вас немає навичок програмування, будь ласка, опублікуйте свою ідею у ${1}Reddit спільноті${2} та напишіть нам про вашу ідею доповнення на ${3}office@stremio.com${4}.","FAQ_19_H1":"Чому Stremio займає місце на диску?","FAQ_19_P1":"Stremio має локальний кеш для тимчасового зберігання відеофайлів, які ви транслюєте.","FAQ_19_P2":"Це має дві переваги: по-перше, дозволяє Stremio попередньо буферизувати відео, щоб забезпечити більш плавне відтворення. По-друге, зберігає відео в локальному кеші, щоб ви могли продовжувати перегляд офлайн.","FAQ_19_P3":"Скільки зберігає Stremio залежить від параметра Кеш в панелі налаштувань. Stremio може підтримувати встановлений обсяг на вашому диску (наприклад, 2 Гб), якщо поточне відео не перевищує цього розміру і в цьому випадку має виділити достатньо пам’яті аби зберегти його поки транслюєте.","FAQ_20_H1":"Де знаходиться папка кешу?","FAQ_20_P1":"У Windows це stremio-cache на диску, який ви вибрали в налаштуваннях (наприклад, \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"У MacOS це \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"У Linux це \\"~/.stremio/stremio-cache\\" або \\"~/stremio-cache\\"","FAQ_21_H1":"Я отримую помилку \\"Потоковий сервер не знайдено\\", що я можу зробити?","FAQ_21_P1":"Якщо ви отримуєте цю помилку, це означає одне з наступних:","FAQ_21_P2":"1) Ви намагаєтеся використовувати доповнення з джерела YouTube / BitTorrent через нашу ${1}веб версію${2}. У цьому випадку вам слід встановити настільну версію з ${3}нашого веб-сайту${4}.","FAQ_21_P3":"2) Щось не так з встановленням Stremio. У цьому випадку спробуйте повторно встановити нашу останню настільну версію з ${1}веб-сайту${2}. Якщо це не допомогло, спробуйте вимкнути антивірусні програми та брандмауери, перезавантажити ПК і повторити спробу. Якщо це не спрацювало, будь ласка, напишіть ${3}в нашу Facebook групу${4}.","FAQ_22_H1":"Я не можу бачити/використовувати більшість доповнень на iOS","FAQ_22_P1":"Через обмеження в положеннях і умовах Apple App Store ми обмежили програму iOS лише певним набором доповнень.","FAQ_22_P2":"Але будьте впевнені: у майбутньому буде більше доповнень для iOS і ми також можемо додати інтеграцію, яка дозволить вам використовувати всі доповнення Stremio завдяки підключенню програми iOS до Stremio Streaming Server."}')},44558:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Phim","TYPE_series":"Loạt phim","TYPE_tv":"Kênh TV","TYPE_channel":"Kênh","TYPE_other":"Khác","TYPE_movie_PL":"Phim","TYPE_series_PL":"Loạt phim","TYPE_tv_PL":"Kênh TV","TYPE_channel_PL":"Kênh","TYPE_other_PL":"Khác","TYPE_ALL":"Tất cả","TYPE":"Loại","CATALOG_com_linvo_cinemeta_top":"Phổ biến","CATALOG_com_linvo_cinemeta_imdbRating":"Đặc sắc","CATALOG_com_linvo_cinemeta_year":"Mới","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Phim thuộc phạm vi công cộng","VIDEO":"Video","BACK":"Quay lại","MORE":"Nhiều hơn","DONE":"Xong","COPY":"Sao chép","SUCCESS":"Thành công","ERROR":"Lỗi","SETTINGS_CASTING_MODE_PICKER":"Chế độ truyền","CASTING_MODE_HLSV2":"Mặc định","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Không chuyển mã","Discover":"Khám phá","Board":"Bảng","Library":"Thư viện","My Library":"Thư viện của tôi","Calendar":"Lịch","NOTIFICATION_ONLINE":"Bạn hiện đang trực tuyến","NOTIFICATION_OFFLINE":"Bạn hiện đang ngoại tuyến","INTERNET_CONNECTION":"Kết nối mạng","STORAGE_FULL_TITLE":"Cảnh báo: Bộ nhớ đầy!","STORAGE_FULL_TEXT":"Stremio sẽ không thể lưu thiết đặt, tùy chọn hoặc thông tin đăng nhập của bạn. Cân nhắc khởi động lại hoặc cài đặt lại Stremio.","SEARCH":"tìm kiếm","SEARCH_NO_RESULTS":"Không tìm thấy kết quả","SEARCH_EXPLANATION_CONTENT":"Tìm kiếm phim, loạt phim, YouTube và các kênh TV","SEARCH_EXPLANATION_PEOPLE":"Tìm kiếm diễn viên, đạo diễn và biên kịch","SEARCH_PASTE_LINKS":"Dán liên kết HTTP và Nam châm","SEARCH_OR_PASTE_LINK":"Tìm kiếm hoặc dán liên kết","SEARCH_SUGGESTIONS":"Đề xuất tìm kiếm","ADD_TO_LIB":"Thêm vào thư viện","REMOVE_FROM_LIB":"Loại khỏi Thư viện","ADDED_TO_LIB":"Đã thêm vào thư viện","REMOVED_FROM_LIB":"Đã loại khỏi Thư viện","TRAILER":"Đoạn giới thiệu","WATCH_TRAILER":"Xem đoạn giới thiệu","WATCH_NOW":"Xem ngay","SHOW":"Hiển thị","SHOW_MOVIE":"Hiển thị phim","WATCH_RANDOM":"Xem ngẫu nhiên","IMDB_RATING":"Xếp hạng IMDb","YEAR":"Năm","DIRECTOR":"Đạo diễn","WRITER":"Biên kịch","LEAD_ACTORS":"Diễn viên chính","CAST":"Dàn diễn viên","CREW":"Đoàn làm phim","SHOW_MORE_CAST":"Hiện nhiều hơn »","AIRED":"Đã phát sóng","SEASONS":"Các phần","GENRE":"Thể loại","GENRE_ALL":"Mọi thể loại","CATALOG":"Danh mục","SUMMARY":"Tóm tắt","SHOW_MORE":"Hiện nhiều hơn","SIMILAR":"Tương tự","UPCOMING":"Sắp tới","TBA":"TBA","ENDED":"Đã kết thúc","DURATION":"Thời lượng","FEATURED":"Đặc sắc","METADATA":"Siêu dữ liệu","CATEGORY":"loại","LINKS_GENRES":"Thể loại","LINKS_CAST":"Dàn diễn viên","LINKS_DIRECTORS":"Đạo diễn","SEARCH_VIDEOS":"tìm kiếm video","SEARCH_PLACEHOLDER":"tìm kiếm hoặc dán URL","ADDON":"add-on","ADDONS":"Add-on","OFFICIAL":"chính thức","ADDONS_OFFICIAL":"Add-on chính thức của Stremio","ADDONS_POPULAR":"Phổ biến trong khu vực của bạn","ADDON_FREE":"miễn phí","ADDON_PEERED":"ngang hàng","ADDON_SUBSCRIPTION":"đăng ký","ADDON_STREAM_GEORESTRICTED":"không có sẵn trong khu vực của bạn","ADDON_STREAM_OFFLINECACHE":"Bộ nhớ đệm ngoại tuyến","ADDON_STREAM_LOCALFILE":"Tệp cục bộ","SHARE_ADDON":"Chia sẻ add-on","AVAILABLE_STREAMS":"Luồng khả dụng","NO_STREAM":"Không tìm thấy luồng nào","ALL_ADDONS":"Tất cả","INSTALL_MORE_ADDONS":"Để có nhiều luồng hơn, vui lòng cài đặt thêm add-on","STREAM_NOT_SUPPORTED":"Luồng đã chọn không được hỗ trợ trên nền tảng này.","ADDON_CATALOGUE":"Hiển thị tất cả add-on »","ADDON_CATALOGUE_MORE":"Cài đặt add-on","REPO_ADDED":"Đã thêm kho lưu trữ","ADDON_REPO_EXIST_ERR":"Bộ sưu tập các add-on này đã tồn tại","ADDON_REPO_ERR":"Đã xảy ra lỗi khi thêm bộ sưu tập","ADDON_ADD_ERR":"Đã xảy ra lỗi khi thêm add-on","ERR_ADDON_PROTECTED":"Không thể gỡ cài đặt add-on, nó được bảo vệ","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Đã xảy ra lỗi - xác thực có thể không thành công","ERR_NOT_COLLECTION_URL":"Không phải URL bộ sưu tập","ERR_NOT_ADDON_URL":"URL add-on không hợp lệ","ERR_DETECTFROMURL":"Không thể tìm thấy add-on/bộ sưu tập từ URL này","ADDON_DUPLICATE_WARNING":"Cảnh báo: add-on trùng lặp","ADDON_COLLECTION_SET_FAILED":"Không thể đồng bộ hóa các add-on đã cài đặt với tài khoản của bạn","SETTINGS_DATA_EXPORT":"Xuất dữ liệu người dùng","ADDON_PULL_FAILED":"Không thể đồng bộ hóa các add-on đã cài đặt từ tài khoản của bạn","REFRESH_ON_CLICK":"Nhấp để thử lại","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Phim còn chiếu rạp","WATCH_IN_CINEMA":"Xem tại rạp chiếu phim địa phương của bạn","IN_THEATER":"Trong rạp chiếu phim","GET_TICKETS":"Lấy vé","UPCOMING_EPISODE":"Tập sắp tới","UPCOMING_EPISODE_MESSAGE":"Tập này sẽ được phát sóng vào","MISSING_DATE_EPISODE":"Thiếu ngày tập","MISSING_DATE_EPISODE_MESSAGE":"Tập này có thể chưa phát sóng","CHANNEL_NOT_SCRAPED":"Kênh này chưa được xóa.
    Vui lòng quay lại sau vài phút.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Thêm nó vào thư viện của bạn để nhận thông báo khi nó có sẵn.","GET_NOTIFIED_WHEN_AVAILABLE":"Bạn sẽ nhận được thông báo khi nó khả dụng.","WARNING_STREAMING_SERVER":"Cảnh báo: không tìm thấy máy chủ truyền trực tuyến cục bộ. Truyền trực tuyến từ các tệp cục bộ, YouTube và BitTorrent sẽ không khả dụng.","WARNING_STREAMING_SERVER_DISMISS":"Bỏ qua","WARNING_STREAMING_SERVER_LATER":"Sau đó","DECODER_WARNING":"Cảnh báo: phần cứng của bạn có thể không hỗ trợ video này. Xin lưu ý rằng quá trình phát lại có thể chậm.","GENERIC_ERROR_MESSAGE":"Có gì đó không ổn!","TRY_AGAIN":"Thử lại","CLEAR_DATA":"Xóa dữ liệu","PLAYER_ERROR":"Rất tiếc, Lỗi Trình phát","PLAYER_ERROR_LOOKSLIKE":"Nó có vẻ như","PLAYER_ORIENTATION":"Định hướng trình phát","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Đã khóa","PLAYER_ORIENTATION_SENSOR_SHORT":"Cảm biến","PLAYER_ORIENTATION_LANDSCAPE":"Hướng trình phát bị khóa ở chế độ ngang","PLAYER_ORIENTATION_SENSOR":"Tự động định hướng trình phát (cảm biến)","PLAYER_PLAYBACK_SPEED":"Tốc độ phát lại","PLAYER_PLAYBACK_ERROR":"Lỗi phát lại, vui lòng thử lại","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Lỗi không rõ","PLAYER_PLAYBACK_ERROR_DEFAULT":"Xin lỗi, {{productName}} không thể phát video này.","PLAYER_SUBTITLES_LANGUAGES":"Ngôn ngữ phụ đề","PLAYER_SUBTITLES_VARIANTS":"Biến thể phụ đề","PLAYER_SUBTITLES_SETTINGS":"Thiết đặt phụ đề","PLAYER_SUBTITLES_DISABLED":"Phụ đề bị tắt","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vị trí thẳng đứng","PLAYER_SUBTITLES_LOADED":"Đã tải phụ đề","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Đã tải phụ đề nhúng","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Đã tải phụ đề độc quyền","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Đã tải phụ đề từ {{origin}}","PLAYER_PLAY":"Phát","PLAYER_PAUSE":"Tạm ngừng","PLAYER_NEXT_VIDEO":"Video tiếp theo","PLAYER_MUTE":"Tắt tiếng","PLAYER_UNMUTE":"Bật tiếng","PLAYER_OPEN_IN_EXTERNAL":"Mở trong trình phát bên ngoài","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Phát trên {{device}}","PLAYER_LIVE":"Trực tiếp","PLAYER_NEXT_VIDEO_TITLE":"Sắp tới","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Bỏ qua","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Xem ngay","PLAYER_COPY_STREAM_SUCCESS":"Liên kết luồng đã được sao chép vào clipboard của bạn","PLAYER_COPY_STREAM_ERROR":"Không thể sao chép liên kết luồng","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"truyền trực tuyến từ","CASTING_TO":"Truyền tới","NETWORK_STATUS":"Tình trạng mạng","STREAM_SPEED":"Tốc độ truyền phát:","STREAM_BUFFERED":"Đã đệm:","PEERS_INFO":"Thông tin đồng nghiệp","PEERS_ACTIVE":"Hoạt động:","PEERS_CONNECTED":"Đã kết nối:","PEERS_WAITING":"Chờ:","TRANSCODING_WARNING":"Cảnh báo: chuyển mã video.","STREAM_LOADING":"đang tải...","PLAYING_LOCAL":"phát từ tệp cục bộ","PLAYING_CACHE":"phát từ bộ nhớ đệm","WRONG_SUBS":"Phụ đề sai?","ERR_SUBS_LOADING_TITLE":"Lỗi khi tải phụ đề","ERR_SUBS_LOADING":"Tải phụ đề không thành công: đây có thể là sự cố với add-on bạn đang sử dụng hoặc với kết nối mạng của bạn","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Các add-on phụ đề sau không thành công","ERR_CASTING_UPDATE_TITLE":"Không thể cập nhật thông tin thiết bị truyền: máy chủ truyền trực tuyến có thể đang ngoại tuyến","CHOOSE_DEVICE":"Chọn thiết bị để xem","NO_CAST_DEVICES":"Không có thiết bị truyền nào.","NO_SETTINGS":"Không có cài đặt nào.","NO_OPTIONS":"No options available","PHONE_TABLET":"Điện thoại / Máy tính bảng","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Phụ đề","SUBTITLES_CHANGE":"Thay đổi phụ đề cho ","SUBTITLES_CHANGE_NONE":"Không có phụ đề nào khác cho ngôn ngữ này, xin lỗi.","SUBTITLES_CHANGE_ACIVE":"Hiện tại phụ đề #{{subtitlesDialog.activeIdx + 1}} đã được kích hoạt. Nhấp vào \\"Tiếp tục\\" để kích hoạt phụ đề #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Ngoài ra,","SUBTITLES_ADJUST_DELAY":"Điều chỉnh độ trễ của phụ đề:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Hoặc sử dụng các phím G / H trong khi phát để điều chỉnh.","SUBTITLES_ADJUST_DELAY_TIP":"MẸO: bạn có thể sử dụng các phím G / H trong khi phát để điều chỉnh.","SUBTITLES_DELAY":"Độ trễ phụ đề:","SUBTITLES_LOADING":"Đang tải phụ đề...","SUBTITLES_UNAVAILABLE":"Không có phụ đề bên ngoài","SUBTITLES_DISABLED":"Đã tắt","EXTERNAL_PLAYER_DISABLED":"Đã tắt","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Cho phép chọn","EXTERNAL_PLAYER_HINT":"Gợi ý: Có một cài đặt cho phép luôn mở bằng trình phát bên ngoài","DONT_SHOW_AGAIN":"Không hiện lại","SERVICE_INSTALL":"Cài đặt","AUDIO":"Âm thanh","DEFAULT_LANGUAGE":"Ngôn ngữ mặc định","DEFAULT_SECONDARY_LANGUAGE":"Ngôn ngữ mặc định thứ hai","SEASON":"Mùa phim","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Tập phim","EPISODE_ABBREVIATION":"T","SPECIAL":"Đặc biệt","SORT":"Sắp xếp","SORT_BY":"Sắp xếp theo","FILTER":"lọc","SORT_TRENDING":"xu hướng","SORT_RECENT":"gần đây","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"xếp hạng","SORT_WATCHED":"đã xem","SORT_YEAR":"năm","SELECT":"Select","SELECT_TYPE":"Chọn đối tượng","SELECT_SORT":"Chọn sắp xếp","SELECT_CATALOG":"Chọn danh mục","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Chọn thể loại","SORT_LASTWATCHED":"Theo lần xem cuối cùng","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"xem nhiều nhất","SORT_NOTWATCHED":"chưa xem","New for You":"Mới ra dành cho bạn","New Episodes":"Tập mới","New Videos":"Video mới","Recommendations":"Khuyến nghị","LIBRARY_RESUME":"Xem tiếp","LIBRARY_PLAY":"Phát","LIBRARY_DETAILS":"Chi tiết","LIBRARY_RESUME_DISMISS":"Bỏ qua","LIBRARY_CLEAR_PROGRESS":"Làm sạch tiến trình","LIBRARY_REMOVE":"Loại bỏ","LIBRARY_NOT_LOGGED_IN":"Thư viện chỉ khả dụng cho người dùng đã đăng nhập","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Lịch chỉ khả dụng cho người dùng đã đăng nhập","NOT_LOGGED_IN_CLOUD":"Truy cập các bộ phim và chương trình TV yêu thích của bạn mọi lúc, mọi nơi","NOT_LOGGED_IN_RECOMMENDATIONS":"Đề xuất phù hợp với lịch sử xem của bạn","NOT_LOGGED_IN_NOTIFICATIONS":"Không bao giờ bỏ lỡ một tập nào nữa","NOT_LOGGED_IN_CALENDAR":"Sắp xếp lịch xem cá nhân của bạn","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Đặc sắc","DISCOVER_TOP":"Hàng đầu","DISCOVER_OSCAR":"Thắng giải Oscar","DISCOVER_WARNING_TITLE":"Ối!","DISCOVER_EMPTY_CATALOG":"Add-on này trả về nội dung trống.","DISCOVER_ADULT_WARNING":"Nội dung chỉ hiển thị cho người lớn. Bạn có trên 18 tuổi không?","DISCOVER_NOADDON_WARNING":"Cảnh báo: không có add-on Stremio nào hoạt động cho loại này. Hiển thị các mục đã lưu, không có gì ở đây sẽ cập nhật.","DISCOVER_LOAD_ERR":"Nội dung không tải được, đã xảy ra lỗi.","DISCOVER_ADDON_UNINSTALLED":"Nội dung này không còn nữa, bạn có thể đã gỡ bỏ add-on.","UNINSTALL_THIS_ADDON":"Gỡ bỏ add-on này","ERR_ADDON_NOT_INSTALLED":"Add-on này chưa được cài đặt. Cài đặt ngay?","DETAIL_RECEIVE_NOTIF_SERIES":"Nhận thông báo về các tập mới","DETAIL_RECEIVE_NOTIF_VIDEOS":"Nhận thông báo về video mới","SIDEBAR_SHOW_STREAMS":"Hiển thị luồng","RELAUNCH":"Tái khởi chạy ngay bây giờ!","UPGRADE":"Đã có phiên bản mới! Nâng cấp lên phiên bản Stremio mới nhất","RELOAD_UI":"Tải lại giao diện người dùng","MANUAL_UPDATE_TITLE":"Cập nhật phiên bản Stremio của bạn","MANUAL_UPDATE_LINE1":"Bạn đang chạy một phiên bản cũ của Stremio, phiên bản này rất không được khuyến nghị.","MANUAL_UPDATE_LINE2":"Vui lòng cập nhật càng sớm càng tốt.","BUTTON_UPDATE_LATTER":"Không phải bây giờ","BUTTON_UPDATE_NOW":"Cập nhật","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Người dùng ẩn danh","DONT_HAVE_ACC":"Chưa có tài khoản?","HAVE_ACC":"Sẵn sàng để tạo một tài khoản?","PASSWORD":"Mật khẩu","PASSWORD_CONFIRM":"Xác nhận mật khẩu","EMAIL":"E-mail","FB_LOGIN":"Tiếp tục với Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Không có gì được chia sẻ mà không có sự cho phép của bạn","FB_NOPOST":"Chúng tôi sẽ không đăng bất cứ điều gì thay mặt bạn","OR":"hoặc","I_ACCEPT":"Tôi chấp nhận","I_ACCEPT_BY_CLICKING":"Bằng cách nhấp vào nút ở trên, tôi chứng nhận rằng tôi chấp nhận ","TOS":"Các điều khoản và điều kiện","MUST_ACCEPT_TERMS":"Bạn phải chấp nhận các điều khoản","PASSWORDS_NOMATCH":"Mật khẩu không khớp","SIGN_UP":"Đăng ký","SIGN_UP_EMAIL":"Đăng ký với email","CLICK_TO_SIGN_UP":"Nhấn vào đây để đăng ký.","LOG_IN":"Đăng nhập","LOG_OUT":"Đăng xuất","EXIT_FULLSCREEN":"Thoát chế độ toàn màn hình","ENTER_FULLSCREEN":"Vào chế độ toàn màn hình","PLAY_URL_MAGNET_LINK":"Phát URL/Liên kết nam châm","HELP_FEEDBACK":"Trợ giúp & Phản hồi","TERMS_OF_SERVICE":"Điều khoản dịch vụ","PRIVACY_POLICY":"Chính sách bảo mật","ABOUT_STREMIO":"Giới thiệu về Stremio","USER_PANEL":"Bảng điều khiển người dùng","LOGIN_LABEL":"Đăng nhập","GUEST_LOGIN":"Đăng nhập của khách","GUEST_LOGIN_NOTICE":"Đăng nhập với tư cách khách không được khuyến nghị. Sử dụng thông tin đăng nhập thông thường cho phép Stremio đồng bộ hóa Thư viện của bạn, nhận thông báo cho các bộ/kênh yêu thích. Bạn có chắc chắn muốn tiếp tục không?","GUEST_LOGIN_NOTICE_2":"Đăng nhập với tư cách khách không được khuyến nghị - bạn sẽ không đồng bộ hóa thông báo Thư viện và Bảng, đây là những tính năng quan trọng của Stremio. Bạn có chắc chắn muốn tiếp tục không?","CLICK_HERE":"bấm vào đây","WRONG_PASSWORD":"Sai email hoặc mật khẩu. Trong trường hợp bạn quên mật khẩu, ","SET_A_PASS":"đặt mật khẩu","RESET_PASSWORD":"Đặt lại mật khẩu","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Quên mật khẩu?","EMAIL_USED_WITH_FB":"Email này đã được sử dụng với thông tin đăng nhập Facebook.","INVALID_EMAIL":"Vui lòng nhập địa chỉ email hợp lệ","INVALID_PASSWORD":"Vui lòng nhập mật khẩu hợp lệ","CONN_ERR":"Lỗi kết nối - vui lòng thử lại sau.\\n\\nNếu lỗi này vẫn tiếp diễn, hãy tắt tường lửa/phần mềm diệt vi-rút (đặc biệt là Bitdefender).","IMPORT_FROM_GUEST":"Nhập thư viện từ tài khoản khách của bạn","RECEIVE_UPDATES_EMAIL":"Nhận thông tin cập nhật cho email của bạn từ Stremio","LOGIN_FAILED":"Đăng nhập thất bại.","SIGNUP_FAILED":"Đăng ký thất bại.","SEARCH_FAILED":"Tìm kiếm không thành công","EMAIL_USED":"Email này đã được sử dụng.","WAITING_FB_LOGIN":"Đăng nhập bằng Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Phát trong trình phát ngoài","EXTERNAL_REMEMBER_PLAYER":"Bạn có muốn ghi nhớ lựa chọn của mình không","EXTERNAL_ALWAYS_PLAY":"Đúng","EXTERNAL_ONLY_ONCE":"Không","BEST_FIT":"Phù hợp nhất","FIT_SCREEN":"Vừa với màn hình","FILL":"Lấp đầy","16:9":"16:9","4:3":"4:3","Original":"Nguyên bản","INTRO_TASTE":"Nói cho chúng tôi biết bạn thích gì","INTRO_TASTE_LONG":"Nói cho chúng tôi biết bạn muốn xem gì","INTRO_TASTE_PICK":"Chọn sở thích {{interestsRemaining}}","INTRO_TASTE_PICK_MORE":"Chọn thêm {{interestsRemaining}} sở thích","INTRO_TASTE_HELP_US":"Giúp chúng tôi hiểu thêm về bạn.","INTRO_TASTE_CHOOSE_THESE":"Chọn một số trong số này:","INTRO_TASTE_CHOOSE_MIN":"Chọn ít nhất 3 danh mục","INTRO_TASTE_CHOOSE_MIN_ERR":"Bạn phải chọn ít nhất 3 danh mục!","INTRO_TASTE_LIFESTYLE":"Phong cách sống","INTRO_TASTE_SPORTS":"Thể thao","INTRO_TASTE_FOOD_HEALTH":"Thực phẩm & Sức khỏe","INTRO_TASTE_BEAUTY_FASHION":"Làm đẹp & Thời trang","INTRO_TASTE_NEWS":"Tin tức","INTRO_TASTE_GAMING":"Trò chơi","INTRO_TASTE_SCIENCE_EDU":"Khoa học & Giáo dục","INTRO_TASTE_MUSIC":"Âm nhạc","INTRO_TASTE_TRAVEL":"Du lịch","INTRO_TASTE_LATE_NIGHT":"Chương trình đêm khuya","INTRO_TASTE_REALITY":"Thực tế","INTRO_TASTE_COMEDY":"Hài kịch","INTRO_TASTE_DIY":"Cách tự làm","INTRO_TASTE_TECH":"Công nghệ","INTRO_TASTE_CINEMA":"Rạp chiếu phim","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Add-on đã chọn không được hỗ trợ trên nền tảng này.","ADDON_DISCLAIMER":"Dùng add-on của bên thứ ba sẽ luôn phải tuân theo trách nhiệm của bạn và luật điều chỉnh của khu vực tài phán mà bạn sinh sống.","ADDON_ACTIVATE":"Kích hoạt add-on này?","ADDON_REPO_ADD":"URL bộ sưu tập add-on","ADDON_ADD":"Thêm","INSTALL_ADDON":"Cài đặt add-on","ADD_ADDON":"Thêm add-on","ADD_ADDON_DESCRIPTION":"Bạn có thể thêm một add-on thông qua một liên kết bên ngoài, liên kết này sẽ xuất hiện trong phần add-on đã cài đặt.","PASTE_ADDON_URL":"Dán URL add-on","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Có gì mới","BUTTON_CONTINUE":"Tiếp tục","BUTTON_ACTIVATE":"Kích hoạt","BUTTON_ACTIVATED":"Đã kích hoạt","BUTTON_CANCEL":"Hủy bỏ","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Nộp","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Bỏ qua hết","BUTTON_VIEW_ALL":"xem hết","BUTTON_SEE_ALL":"Thấy hết","BUTTON_COLOR_TRANSPARENT":"Trong suốt","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Mở trong trình duyệt","LIB_EMPTY":"Thư viện của bạn trông trống rỗng. Tìm hiểu xem nó hữu ích như thế nào :) ","HOW_START":"Đây là cách bạn có thể bắt đầu:","LIB_EMPTY_CAL":"Lịch của bạn hiển thị loạt phim trong Thư viện của bạn.","HOW_START_CAL":"Đây là cách bạn có thể thêm bộ phim:","LIB_EMPTY_BOARD":"Bảng hiển thị các thông báo & đề xuất liên quan đến Thư viện của bạn.","HOW_START_BOARD_WAIT":"Vui lòng thêm một vài loạt phim hoặc kênh vào Thư viện của bạn, hãy cho chúng tôi vài phút để xử lý :)","HOW_START_BOARD":"Đây là cách bạn có thể thêm loạt phim & phim vào đó:","IMPORT_FB":"Nhập nội dung bạn thích từ Facebook","IMPORT_TRAKT":"Nhập thư viện phương tiện của bạn từ Trakt","IMPORT_DISCOVER":"Tìm nội dung thú vị từ Khám phá","IMPORT_DISK":"Nhập phim hoặc chương trình bạn có trên đĩa cục bộ","PLEASE_CREATE_ACC":"Vui lòng tạo tài khoản để bật Đồng bộ hóa thư viện & Bảng.","IMPORT_DISCOVER_SIGNUP":"Đăng ký và tìm nội dung thú vị từ Khám phá","IMPORT_DISK_SIGNUP":"Đăng ký và nhập phim hoặc chương trình bạn có trên đĩa cục bộ của mình","LIB_EMPTY_CLOUD":"Thư viện đám mây","LIB_EMPTY_CLOUD_DESC":"Thư viện đám mây cá nhân được đồng bộ hóa trên tất cả các thiết bị","LIB_EMPTY_EARLY":"Chim non","LIB_EMPTY_EARLY_DESC":"Nhận thông báo về các tập mới","LIB_EMPTY_PERSONAL":"Cá nhân","LIB_EMPTY_PERSONAL_DESC":"Nhận đề xuất cá nhân","LIB_EMPTY_CALENDAR_DESC":"Sắp xếp lịch xem cá nhân của bạn","LIB_EMPTY_ALL":"Đăng ký để nhận được tất cả những thứ này:","LIB_EMPTY_BEST":"Đăng ký để tận dụng tốt nhất Stremio","LIB_EMPTY_OTHER":"Đăng ký để bật Lịch và các tính năng thú vị khác","CALENDAR_ADDED":"Lịch Stremio đã được thêm vào lịch màn hình mặc định của bạn.","CALENDAR_ADDED_MSG":"Nếu cách này không hiệu quả, vui lòng thêm URL này vào ứng dụng lịch của bạn theo cách thủ công","TRAKT_EXPIRED":"Xác thực Trakt đã hết hạn, vui lòng đi tới Thiết đặt và xác thực lại","TRAKT_REQUIRES_LOGIN":"Lỗi Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Bạn cần đăng nhập","TRAKT_IMPORT_WATCHED":"Nhập","THEME":"Chủ đề","THEME_DEFAULT":"Mặc định","THEME_ADAPTIVE":"Thích ứng","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Thiết đặt","SETTINGS_NAV_GENERAL":"Tổng quan","SETTINGS_NAV_PLAYER":"Trình phát","SETTINGS_NAV_STREAMING":"Truyền trực tuyến","SETTINGS_NAV_SHORTCUTS":"Lối tắt","SETTINGS_SHORTCUT_RELOAD_APP":"Tải lại ứng dụng","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Mở thiết đặt","SETTINGS_SHORTCUT_SWITCH_TABS":"Chuyển tab","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Xoay tới các tab phía trước","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Xoay về các tab phía sau","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Điều hướng giữa các menu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Đi tới Tìm kiếm","SETTINGS_SHORTCUT_EXIT_BACK":"Thoát/Quay lại","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Chuyển đổi menu tốc độ phát lại","SETTINGS_SHORTCUT_MENU_VIDEOS":"Chuyển đổi Menu Video","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Chuyển đổi menu phụ đề","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Chuyển đổi menu thông tin","SETTINGS_SHORTCUT_FULLSCREEN":"Chuyển đổi toàn màn hình","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Hiển thị điều khiển","SETTINGS_SHORTCUT_PLAY_PAUSE":"Phát / Tạm dừng","SETTINGS_SHORTCUT_VOLUME_UP":"Tăng âm lượng","SETTINGS_SHORTCUT_VOLUME_DOWN":"Giảm âm lượng","SETTINGS_SHORTCUT_SEEK_NEXT":"Nhảy tới","SETTINGS_SHORTCUT_SEEK_PREV":"Nhảy lùi","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Tua về sau","SETTINGS_SHORTCUT_SEEK_FORWARD":"Tua về trước","SETTINGS_SHORTCUT_PLAY_NEXT":"Phát kế tiếp","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Tăng kích thước phụ đề","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Giảm kích thước phụ đề","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Tăng độ trễ phụ đề","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Giảm độ trễ phụ đề","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Chuyển đổi thanh bên","SETTINGS_SHORTCUT_OR":"hoặc","SETTINGS_SHORTCUT_TO":"đến","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Xác thực","SETTINGS_FACEBOOK_IMPORT":"Nhập vào","SETTINGS_CALENDAR_SUBSCRIBE":"Đăng ký","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Ngôn ngữ giao diện","SETTINGS_LAUNCH_STARTUP":"Khởi chạy khi khởi động","SETTINGS_VLC_DEFAULT":"Phát bằng VLC","SETTINGS_UI_LANGUAGE":"Ngôn ngữ giao diện người dùng","SETTINGS_UI_ZOOM":"Thu phóng giao diện","SETTINGS_FULLSCREEN_EXIT":"Phím Esc thoát toàn màn hình","SETTINGS_GAMEPAD":"Bật hỗ trợ gamepad","SETTINGS_CLOSE_WINDOW":"Đóng ứng dụng khi đóng cửa sổ","SETTINGS_SUBTITLES_LANGUAGE":"Ngôn ngữ phụ đề mặc định","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Kích thước phụ đề mặc định","SETTINGS_SUBTITLES_BACKGROUND":"Nền phụ đề","SETTINGS_SUBTITLES_COLOR":"Màu phụ đề","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Màu đường viền phụ đề","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Màu nền phụ đề","SETTINGS_SEEK_KEY":"Nút mũi tên tua thời lượng","SETTINGS_SEEK_KEY_SHIFT":"Nút mũi tên tua thời lượng khi giữ phím Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Thời lượng Tua lại & Tua nhanh","SETTINGS_BINGE":"Tự động phát tập tiếp theo","SETTINGS_NEXT_VIDEO":"Hiển thị thông báo để bắt đầu tập tiếp theo","SETTINGS_NEXT_VIDEO_TRIGGER":"Hiển thị thông báo tập tiếp theo cho:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Thời lượng bật lên của video tiếp theo","SETTINGS_PLAY_IN_BACKGROUND":"Phát trong nền","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Phát trong trình phát ngoài","SETTINGS_RESIZE":"Tự động thay đổi kích thước cửa sổ trước khi phát","SETTINGS_OVERRIDE_SERVER":"Ghi đè URL máy chủ truyền trực tuyến (nâng cao)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"URL máy chủ truyền trực tuyến: ","SETTINGS_SERVER_AVAILABLE":"Máy chủ truyền trực tuyến khả dụng.","SETTINGS_SERVER_UNAVAILABLE":"Máy chủ truyền trực tuyến không khả dụng.","SETTINGS_SERVER_STATUS_ONLINE":"Trực tuyến","SETTINGS_SERVER_STATUS_ERROR":"Lỗi","SETTINGS_SERVER_CONFIGURE_TITLE":"Định cấu hình url máy chủ truyền trực tuyến","SETTINGS_SERVER_CONFIGURE_INPUT":"Nhập url máy chủ truyền trực tuyến","SETTINGS_SERVER_CACHE_SIZE":"Kích thước bộ nhớ đệm","SETTINGS_SERVER_TORRENT_PROFILE":"Hồ sơ torrent","SETTINGS_HTTPS_ENDPOINT":"Truyền trực tuyến máy cuối HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Hồ sơ chuyển mã","SETTINGS_USE_BETA":"Luôn sử dụng bản Beta mới nhất","SETTINGS_IMPORT_FB":"Nhập từ facebook","SETTINGS_IMPORT_DISK":"Nhập từ đĩa cục bộ","SETTINGS_IMPORT_TRAKT":"Nhập từ Trakt","SETTINGS_PAUSE_MINIMIZED":"Tạm dừng phát lại khi thu nhỏ","SETTINGS_HWDEC":"Giải mã tăng tốc phần cứng","SETTINGS_BACKGROUND":"Phát lại trong nền","SETTINGS_SUBSCRIBE_CALENDAR":"Đăng ký lịch","SETTINGS_REQ_EXPORT":"Yêu cầu xuất dữ liệu","SETTINGS_ACC_DELETE":"Yêu cầu xóa tài khoản","SETTINGS_CHANGE_PASSWORD":"Đổi mật khẩu","SETTINGS_TOS":"Điều khoản dịch vụ","SETTINGS_SUPPORT":"Liên hệ hỗ trợ","SETTING_LANGUAGE":"Ngôn ngữ","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Thống kê","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Đăng xuất khỏi Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Đăng xuất khỏi Trakt","SETTINGS_SCAN_FOR_REMOTE":"Quét mã QR để mở điều khiển từ xa","SETTINGS_DESKTOP_NOTIFICATIONS":"Thông báo trên màn hình","SETTINGS_DATA_SAVER":"Trình tiết kiệm dữ liệu","SETTINGS_LANGUAGE_INTERFACE":"giao diện","SETTINGS_LANGUAGE_SUBS":"phụ đề mặc định","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Tự động chọn luồng âm thanh","SETTINGS_DEFAULT_AUDIO_TRACK":"Luồng âm thanh mặc định","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Âm thanh vòm","SETTINGS_ACCOUNT":"tài khoản","SETTINGS_PLATFORM":"Nền tảng","SETTINGS_VERSION":"phiên bản","SETTINGS_ABOUT":"Giới thiệu","SETTINGS_MPV_WINDOW":"Khởi chạy trình phát trong cửa sổ riêng (nâng cao)","SETTINGS_PLAY_IN_EXTERNAL":"Luôn bắt đầu video trong trình phát bên ngoài","SETTINGS_STORAGE_BUTTON":"Xóa bộ nhớ cục bộ","SETTINGS_STORAGE_MODAL_TITLE":"Bạn có chắc không ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Thao tác này sẽ xóa bộ nhớ cục bộ và đăng xuất bạn.","SETTINGS_HWDEC_PICKER":"Chọn thiết đặt giải mã tăng tốc phần cứng","SETTINGS_HW_AUTOMATIC":"Tự động","SETTINGS_HW_DISABLED":"Đã tắt","SETTINGS_HW_ACCELERATED":"Giải mã tăng tốc","SETTINGS_HW_FULL":"Tăng tốc tối đa","SETTINGS_HW_LEGACY":"Tương thích ngược","SETTINGS_DISABLED":"Đã tắt","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Thông báo kết nối mạng","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL từ xa","SETTINGS_COPY_REMOTE_URL":"Sao chép URL từ xa","SETTINGS_REMOTE_URL_COPIED":"URL từ xa đã được sao chép vào clipboard của bạn","SETTINGS_SECTION_SUBTITLES":"Phụ đề","SETTINGS_SECTION_AUDIO":"Âm thanh","SETTINGS_SECTION_CONTROLS":"Điều khiển","SETTINGS_SECTION_AUTO_PLAY":"Tự động phát","SETTINGS_SECTION_ADVANCED":"Nâng cao","SUBSPICKER_AUDIO":"Âm thanh","SUBSPICKER_SUBTITLES":"Add-on phụ đề","SUBSPICKER_BLACK_BACKGROUND":"Sử dụng nền màu đen","SUBSPICKER_VERTICAL_OFFSET":"Bù đắp theo chiều dọc","SUBSPICKER_SIZE":"Kích cỡ","SUBSPICKER_DELAY":"Độ trễ","SUBSPICKER_EMBEDDED_SUBS":"Phụ đề nhúng","MOBILE_PRIVACY_POLICY":"Chính sách bảo mật","MOBILE_CRASH_REPORTING":"Báo cáo sự cố","MOBILE_ZOOM_TO_FILL":"Thu phóng để lấp đầy màn hình","MOBILE_PASSTHROUGH":"Đầu ra âm thanh kỹ thuật số (passthrough)","MOBILE_RUN_LOW_BATTERY":"Chạy khi pin yếu","MOBILE_RUN_FOREGROUND":"Chạy dưới dạng dịch vụ thấy được","MOBILE_PERFORMANCE":"HIỆU SUẤT & ỔN ĐỊNH","MOBILE_SERVER_ONLINE":"Trực tuyến","MOBILE_SERVER_OFFLINE":"Ngoại tuyến","MOBILE_QR_EXPIRES":"Mã QR hết hạn sau ","MOBILE_LOG_INTO":"Đăng nhập vào tài khoản Stremio của bạn","MOBILE_SCAN_QR":"Quét mã QR ở trên hoặc truy cập ","MOBILE_LINK_ACCOUNT":"Liên kết tài khoản","MOBILE_SPEEDPICKER_CANCEL":"Hủy bỏ","MOBILE_SPEEDPICKER_LABEL":"Chọn tốc độ phát lại","MOBILE_EMPTY_LIBRARY":"Thư viện của bạn trống","MOBILE_NO_ADDON_ACTIVE":"Không có add-on Stremio nào hoạt động cho loại này.","MOBILE_ORGANIZER_WARNING":"Ứng dụng Stremio Organizer cung cấp chức năng hạn chế. Để có danh sách các luồng có thể phát và trải nghiệm Stremio đầy đủ, hãy sử dụng Stremio trên máy tính để bàn.","MOBILE_ADDON_LOADING":"vẫn đang tải","MOBILE_ADDONS_LOADING":"add-on vẫn đang tải","MOBILE_ADDON":"Add-on","MOBILE_CONFIGURE_ADDON":"Định cấu hình add-on của bạn","MOBILE_CONFIGURE_ADDON_LABEL":"Cấu hình add-on","MOBILE_ORGANIZER_ADDONS_WARNING":"Ứng dụng Stremio Organizer cung cấp một số lựa chọn add-on hạn chế. Để có trải nghiệm Stremio đầy đủ, hãy sử dụng Stremio trên máy tính để bàn.","MOBILE_DISCONNECT":"Ngắt kết nối","MOBILE_LOOKING_FOR_DEVICES":"Đang tìm thiết bị...","MOBILE_CAST_TO":"Truyền tới","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Xóa tài khoản","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Việc xóa tài khoản không xảy ra ngay lập tức do các nghĩa vụ pháp lý. Sau khi yêu cầu xóa tài khoản của mình, bạn sẽ phải sử dụng địa chỉ email/hồ sơ facebook khác để tạo tài khoản Stremio mới trong tương lai.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Xác nhận xóa tài khoản","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Tài khoản của bạn đã được tạo bằng Facebook. Để xóa tài khoản của bạn, vui lòng sử dụng cổng thông tin người dùng của chúng tôi tại www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Vui lòng cung cấp mật khẩu của bạn để xác nhận xóa tài khoản.","MOBILE_DELETE_ACCOUNT_BUTTON":"Xóa tài khoản","NAVIGATION_ON":"Mở","NAVIGATION_OFF":"Tắt","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Tôi đồng ý nhận thông tin tiếp thị từ Stremio","QUIT":"Từ bỏ","CONNECTED":"Đã kết nối","AUTHENTICATE":"Xác thực","AUTHENTICATING":"Authenticating...","CACHING":"Bộ nhớ đệm","SETTINGS_CACHING_DRIVE":"Ổ đĩa đệm","ENABLE_LOCAL_FILES_ADDON":"Kích hoạt add-on tệp cục bộ (yêu cầu khởi động lại)","LOCAL_ADDON_NOT_ENABLED":"Add-on cục bộ chưa được bật. Nhấp vào đây để đi tới thiết đặt và bật nó","ENABLE_REMOTE_HTTPS_CONN":"Bật kết nối HTTPS từ xa","TORRENT_PROFILE":"Hồ sơ torrent","DATA_CACHING":"Bộ nhớ đệm dữ liệu","MAGNET_PARSING":"Phân tích một liên kết nam châm","January":"Tháng Một","February":"Tháng Hai","March":"Tháng Ba","April":"Tháng Tư","May":"Tháng Năm","June":"Tháng Sáu","July":"Tháng Bảy","August":"Tháng Tám","September":"Tháng Chín","October":"Tháng Mười","November":"Tháng Mười Một","December":"Tháng Mười Hai","Monday":"Thứ Hai","Tuesday":"Thứ Ba","Wednesday":"Thứ Tư","Thursday":"Thứ Năm","Friday":"Thứ Sáu","Saturday":"Thứ Bảy","Sunday":"Chủ Nhật","Action":"Hành động","Comedy":"Hài kịch","War":"Chiến tranh","Family":"Gia đình","Animation":"Hoạt hình","Adventure":"Phiêu lưu","Fantasy":"Tưởng tượng","Crime":"Tội phạm","Mystery":"Bí ẩn","Romance":"Lãng mạn","Drama":"Kịch","Horror":"Kinh dị","Thriller":"Giật gân","Sci-Fi":"Khoa học viễn tưởng","Music":"Âm nhạc","Biography":"Tiểu sử","Documentary":"Tài liệu","Sport":"Thể thao","Musical":"Âm nhạc","Western":"Viễn Tây","Film-Noir":"Phim đen","News":"Tin tức","History":"Lịch sử","Game-Show":"Trò chơi truyền hình","Reality-TV":"Truyền hình thực tế","Talk-Show":"Tọa đàm","Film & Entertainment":"Phim & Giải trí","Gaming":"Trò chơi","From TV":"Từ TV","Lifestyle":"Phong cách sống","Science & Education":"Khoa học & Giáo dục","Cooking & Health":"Nấu ăn & Sức khỏe","Beauty & Fashion":"Làm đẹp & Thời trang","Sports":"Thể thao","News & Politics":"Tin tức & Chính trị","How-to & DIY":"Hướng dẫn & Tự làm","Tech":"Công nghệ","Automotive":"Ô tô","Causes & Non-Profits":"Chính nghĩa & Phi lợi nhuận","Movies":"Phim","Uk Live Tv":"Truyền hình trực tiếp Vương quốc Anh","Fashion":"Thời trang","Business News Radio":"Radio tin tức kinh doanh","Business Tv":"Truyền hình kinh doanh","Cars & Auto":"Xe hơi & Ô tô","Comedy Radio":"Radio hài kịch","Lifestyle Radio":"Radio phong cách sống","News Tv":"Truyền hình tin tức","Food And Wine":"Thức ăn Và rượu","Latino Tv":"Truyền hình Latinh","Shopping Tv":"Truyền hình Mua sắm","Religion":"Tôn giáo","Kids":"Trẻ em","Body & Soul":"Thể xác & Linh hồn","Education":"Giáo dục","Indian Tv":"Truyền hình Ấn Độ","Extreme Sports":"Thể thao mạo hiểm","Middle Eastern Tv":"Truyền hình Trung Đông","Celebrity Tv":"Truyền hình Người nổi tiếng","Science Tv":"Truyền hình khoa học","Bikini babe":"Bikini em yêu","Outdoors":"Ngoài trời","German Tv":"Truyền hình Đức","French Tv":"Truyền hình Pháp","Italian Tv":"Truyền hình Ý","Gamer Tv":"Truyền hình game thủ","Travel":"Du lịch","Asian Tv":"Truyền hình Châu Á","Entertainment":"Giải trí","News Radio":"Radio tin tức","Music Radio":"Radio âm nhạc","Language Learning":"Học ngôn ngữ","Science Radio":"Radio khoa học","Tech Radio":"Radio công nghệ","Science & Technology Vod":"Khoa học & Công nghệ Video theo yêu cầu","new video":"video mới","new episode":"tập mới","new movie":"phim mới","recommended":"khuyến khích","we recommend":"chúng tôi đề nghị","offer of the day":"đề nghị trong ngày","news":"tin tức","music video":"video âm nhạc","CTX_SHOW_HOTKEYS":"Hiển thị phím nóng","CTX_DISMISS_NOTIF":"Bỏ qua thông báo","CTX_DISMISS_ALL":"Bỏ qua tất cả","CTX_SHARE":"Chia sẻ","CTX_COPY_SHARE_LINK":"Sao chép liên kết chia sẻ","CTX_COPY_MAGNET_LINK":"Sao chép liên kết nam châm","CTX_COPY_STREAM_LINK":"Sao chép liên kết luồng","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Tải video này","CTX_DOWNLOAD_SUBS":"Tải xuống phụ đề","CTX_VIEW_ON_YOUTUBE":"Xem trên YouTube","CTX_SHOW":"Hiển thị","CTX_PLAY":"Phát","CTX_PLAY_IN":"Phát trong","CTX_PLAY_ON":"Phát trên","CTX_WATCH_ON":"Xem trên","CTX_WATCH":"Xem","CTX_WATCHED":"Đã xem","CTX_WATCH_BEGINNING":"Xem từ đầu","CTX_WATCH_MOBILE":"Xem trên thiết bị di động","CTX_REWIND":"Tua lại từ đầu","CTX_MARK_WATCHED":"Đánh dấu là đã xem","CTX_MARK_NON_WATCHED":"Đánh dấu là chưa xem","CTX_MARK_UNWATCHED":"Đánh dấu là chưa xem","CTX_MARK_REST":"Đánh dấu phần còn lại là đã xem","CTX_UNMARK_REST":"Đánh dấu phần còn lại là chưa xem","CTX_RECEIVE_NEW_NOTIF":"Nhận thông báo mới","CTX_ENABLE_NEW_NOTIF":"Bật thông báo","CTX_DISABLE_NEW_NOTIF":"Tắt thông báo","CTX_REMOVE_CACHE":"Loại khỏi bộ nhớ cache","CTX_REMOVE_CACHE_EP":"Loại tập phim khỏi bộ nhớ đệm","CTX_OPEN_CONTAINING":"Mở thư mục chứa","CTX_REMOVE":"Loại khỏi thư viện","CTX_AVAILABLE_OFFLINE":"Ngoại tuyến sẵn sàng","CTX_PAUSED":"Đã tạm dừng","CTX_ALWAYS_ON_TOP":"Luôn luôn trên đầu trang","CTX_FULLSCREEN":"Toàn màn hình","CTX_WRONG_SUBS":"Phụ đề sai?","CTX_REPORT_ISSUES":"Báo cáo phát hành","CTX_COPY":"Sao chép","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Dán","CTX_CLEAR":"Xóa","CTX_CLEAR_RECENT_SEARCHES":"Xóa các tìm kiếm gần đây","HELLO_THERE":"Chào đằng ấy","HOPE_YOU_ENJOY":"Chúng tôi hy vọng bạn thích Stremio và nó đã là một trong những ứng dụng yêu thích của bạn!","WHO_ARE_WE":"Chúng tôi là ai? Chúng tôi là đội ngũ đằng sau nó - hai người làm việc chăm chỉ mỗi ngày trong 3 năm qua để làm cho sản phẩm này ngày càng tốt hơn.","SUPPORT_US":"Nếu bạn thích sử dụng Stremio, nếu Stremio có giá trị đối với bạn - hãy quảng bá!","SPREAD_THE_WORD":"Chia sẻ với bạn bè của bạn ngay bây giờ, quảng bá về Stremio","MORE_PEOPLE":"Càng nhiều người sử dụng Stremio, nó càng trở nên tốt hơn!","SEND_A_LINK":"Hoặc gửi liên kết đến trang web của chúng tôi","TIP_LOCALFILES":"Mẹo: bạn có thể kéo và thả các tệp video cục bộ vào Stremio","ADDON_MY":"Add-on của tôi","ADDON_COMMUNITY":"Add-on cộng đồng","ADDON_OFFICIAL":"Add-on chính thức","ADDON_REPOS":"Bộ sưu tập add-on","ADDON_SEARCH":"Tìm kiếm add-on","ADDON_INSTALL":"Cài đặt","ADDON_CONFIGURE":"Cấu hình","ADDON_UNINSTALL":"Gỡ cài đặt","ADDON_UPGRADE":"Nâng cấp","ADDON_INSTALLED":"Đã cài đặt","ADDON_INSTALLED_MSG":"Add-on đã cài đặt!","ADDON_UPGRADED_MSG":"Add-on đã nâng cấp!","ADDON_UNKNOWN":"Không xác định","ADDON_ERR":"Lỗi cài đặt add-on!","ADDON_DISCONNECTED":"Đã ngắt kết nối","ADDON_APP_MISSING":"ứng dụng cho nguồn này chưa được cài đặt. Bạn có muốn cài đặt nó ngay bây giờ không?","ADDON_APP_INSTALL":"Cài đặt ngay","ADDON_PAGE":"Trang add-on","ADDON_TOP_CONTENT":"Tốt nhất từ Add-on này","ADDON_PROVIDES":"Add-on này sẽ cung cấp cho bạn:","ADDON_WATCH":"Xem #{types} ngay bây giờ!","ADDON_WATCH_FREE":"Xem #{types} MIỄN PHÍ ngay bây giờ!","ADDON_ADDON":"Add-on","ADDON_SUPPORTED_TYPES":"Các loại được hỗ trợ","ADDON_SUPPORTED_CATALOGS":"Danh mục được hỗ trợ","ADDON_PROVIDES_DISCOVER":"Nhiều #{types} hơn trong Khám phá","ADDON_PROVIDES_STREAMS":"Xem #{types}","ADDON_PROVIDES_STREAMS_FREE":"Xem #{types} MIỄN PHÍ","ADDON_PROVIDES_SUBTITLES":"Phụ đề cho #{types}","ADDON_CANTDETECT":"Chúng tôi không thể phát hiện Stremio đang chạy, vì vậy chúng tôi không thể phát hiện những add-on mà bạn đã cài đặt.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Không tìm thấy thông tin nào về điều này","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Lỗi khi truy xuất thông tin về điều này.","ERR_CANT_PARSE_MAGNET":"Không thể phân tích cú pháp nam châm","ERR_NO_MAGNET_INFOHASH":"Không có hàm băm thông tin hợp lệ cho nam châm","ERR_NO_FILE_PATH":"Không thể gửi yêu cầu mà không có đường dẫn đến tệp","ERR_NO_TORRENT":"Không có torrent nào trả về","ERR_NO_SUPPORTERD_FILES":"Không tìm thấy tệp được hỗ trợ","ERR_OPENING_FILES":"Không thể mở tệp bên ngoài","ERR_INVALID_LINK":"Liên kết không hợp lệ","ERR_REGISTERED_ONLY":"Tùy chọn này chỉ khả dụng cho người dùng đã đăng ký.","ERR_CLIPBOARD":"Không thể phát từ clipboard","ERR_CLIPBOARD_READ":"Không thể đọc clipboard trên nền tảng này","ERR_CLIPBOARD_GENERIC":"Không tìm thấy URL có thể phát trong clipboard. Vui lòng sao chép URL (ví dụ: liên kết nam châm) vào video.","BOARD_CONTINUE_WATCHING":"Tiếp tục xem","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Những bộ phim được chọn đặc biệt dành cho bạn.
    Phim này là một đề xuất mẫu.","BOARD_EXPLANATION_EPISODES":"Các tập mới của Loạt phim yêu thích của bạn đến đây.
    Thêm loạt phim bạn theo dõi vào Thư viện.","BOARD_EXPLANATION_VIDEOS":"Các tập mới của các Kênh yêu thích của bạn đến đây.
    Thêm các kênh YouTube mà bạn theo dõi vào Thư viện.","WEBSITE_ENJOYED_BY":"Được hơn 30 triệu người dùng trên toàn thế giới yêu thích","WEBSITE_STREAMING_ENHANCED":"Phát trực tuyến nâng cao","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio mang đến trải nghiệm giải trí an toàn, hiện đại và liền mạch. Với giao diện dễ sử dụng và thư viện nội dung đa dạng, bao gồm hỗ trợ 4K HDR, người dùng có thể thưởng thức các bộ phim và chương trình TV yêu thích trên tất cả các thiết bị của mình. Và với cam kết về bảo mật của nó, Stremio là sự lựa chọn tối ưu để có trải nghiệm phát trực tuyến chất lượng cao, an tâm.","WEBSITE_AVAILABLE_ON":"Có sẵn trên","WEBSITE_WATCH_AND_ENJOY":"Xem & thưởng thức.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio biến nó thành một miếng bánh","WEBSITE_ALL_FEATURES":"Tất cả tính năng","WEBSITE_EASY_TO_USE":"Dễ sử dụng","WEBSITE_EASY_TO_USE_DETAILS":"Stremio được thiết kế thân thiện với người dùng và dễ sử dụng. Với giao diện gọn gàng và trực quan, bạn có thể dễ dàng điều hướng và tìm thấy nội dung mình muốn xem.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Liền mạch xuyên suốt các thiết bị","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Có sẵn cho nhiều nền tảng (bao gồm Windows, Mac, Linux, Android và hơn thế nữa), Stremio sẽ theo dõi tiến trình của bạn trên tất cả các thiết bị. Chỉ cần đăng nhập và tiếp tục xem mà không cần phải định cấu hình lại ứng dụng trên mỗi thiết bị mới.","WEBSITE_ALL_DOWNLOADS":"Tất cả nội dung tải xuống","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Hỗ trợ video độ nét cao","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Trình phát video tích hợp hỗ trợ hầu hết các định dạng video, bao gồm cả nội dung 4K HDR, cho phép bạn tận hưởng chất lượng cao nhất hiện có.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Thư viện nội dung phong phú","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio tích hợp với nhiều nguồn video phổ biến, chẳng hạn như Netflix, Amazon Prime Video, Hulu, YouTube và nhiều nguồn khác.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Tạo một tài khoản miễn phí","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Trải nghiệm xem phù hợp","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio cho phép bạn tùy chỉnh giao diện bằng cách thay đổi chủ đề, thêm hoặc xóa add-on, v.v.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Hỗ trợ phụ đề đa ngôn ngữ","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Giờ đây, bạn có thể thưởng thức tất cả nội dung yêu thích bằng ngôn ngữ ưa thích của mình vì Stremio hỗ trợ phụ đề ở tất cả các ngôn ngữ.","WEBSITE_ALL_STREMIO_FEATURES":"Tất cả tính năng của Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Thử Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Trên TV của bạn bây giờ","WEBSITE_YOU_CAN_NOW_WATCH":"Giờ đây, bạn có thể xem tất cả các chương trình truyền hình yêu thích trên thiết bị Android TV của mình. Ứng dụng Stremio TV cho phép bạn tận hưởng một đêm xem phim một cách dễ dàng.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Giờ đây, bạn có thể xem tất cả các chương trình truyền hình yêu thích trên TV thông minh hoặc Android TV. Ứng dụng Stremio TV cho phép bạn tận hưởng một đêm xem phim một cách dễ dàng.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio cho TV thông minh","WEBSITE_PLAY_STORE_REVIEW":"Có lẽ là ứng dụng tốt nhất và hữu ích nhất cần có trong thiết bị của bạn. Đây là một trong những ứng dụng tôi sử dụng hàng ngày, đặc biệt là trên Android TV của tôi trong nhiều năm nay. Được phát triển tốt với một cộng đồng mạnh mẽ cung cấp các chức năng hữu ích. Làm tốt lắm. Hãy tiếp tục phát huy công việc tốt.","WEBSITE_REVIEWS":"đánh giá","WEBSITE_GET_STREMIO_FOR_FREE":"Nhận Stremio miễn phí","WEBSITE_GET_STREMIO_NOW":"Tải Stremio ngay","WEBSITE_STREMIO_FEATURES":"Tính năng Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Truyền phát như một chuyên gia với các tính năng nâng cao của Stremio và tận hưởng khả năng truy cập liền mạch vào tất cả phương tiện yêu thích của bạn","WEBSITE_DISCOVER_MORE":"Khám phá nhiều hơn.","WEBSITE_DISCOVER_MORE_DETAILS":"Không bao giờ hết nội dung để xem","WEBSITE_COMMUNITY_DRIVEN":"Dựa vào cộng đồng","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio có một cộng đồng người dùng rộng lớn và tích cực, những người đóng góp vào sự phát triển của phần mềm bằng cách tạo và chia sẻ các add-on.","WEBSITE_GET_INVOLVED":"Tham gia vào","WEBSITE_NEW_THEATER_EXPERIENCE":"Trải nghiệm sân khấu mới","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Ứng dụng TV chuyên dụng mới của Stremio cho phép bạn tận hưởng một đêm xem phim trên thiết bị Android TV của mình.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Các ứng dụng TV chuyên dụng mới của Stremio cho phép bạn tận hưởng một đêm xem phim trên các thiết bị Smart TV hoặc Android TV.","WEBSITE_FREE_AND_SECURE":"Tự do & Bảo mật","WEBSITE_STREAMING":"Truyền phát","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio mang đến sự bảo mật và quyền riêng tư chưa từng có cho người dùng. Với tính năng độc đáo là chạy các add-on từ xa, Stremio cung cấp một cách an toàn hơn để truyền phát nội dung yêu thích của bạn so với các nền tảng khác. Bảo mật và quyền riêng tư của bạn là ưu tiên hàng đầu và nền tảng này đảm bảo rằng tất cả dữ liệu của bạn được bảo vệ.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Hãy tạm biệt những lo lắng về bảo mật và quyền riêng tư và chào đón thế giới giải trí bất tận với Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Thông tin được cung cấp bởi","WEBSITE_CONTRIBUTE_DESC":"tới dự án và giúp chúng tôi cải tiến Stremio tốt hơn nữa","WEBSITE_COMMUNITY_DESC":"Chúng tôi tin rằng cách tốt nhất để tạo ra trải nghiệm phát trực tuyến thực sự tuyệt vời là thu hút cộng đồng của chúng tôi tham gia vào quá trình này. Cho dù bạn là lập trình viên, nghệ sĩ hay chỉ là người hâm mộ - bạn đều có thể giúp Stremio phát triển.","WEBSITE_COMMUNITY_DESC_2":"Vì vậy, hãy tham gia với chúng tôi ngay hôm nay và trở thành một phần của cộng đồng Stremio cũng như tiếp tục định hình tương lai của dịch vụ phát trực tuyến.","WEBSITE_WAYS_TO_GET_INVOLVED":"Các cách để tham gia","WEBSITE_IN_THE_STREMIO_COMMUNITY":"trong cộng đồng Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Chia sẻ những suy nghĩ của bạn","WEBSITE_REPORT_BUGS":"Báo cáo lỗi","WEBSITE_SUGGEST_FEATURES":"đề xuất tính năng","WEBSITE_AND_PROVIDE_FEEDBACK":"và cung cấp phản hồi trên các kênh truyền thông xã hội của chúng tôi.","WEBSITE_BETA_TESTING_PROGRAM":"Chương trình thử nghiệm beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Tham gia chương trình thử nghiệm beta của chúng tôi (chúng tôi gửi lời mời thường xuyên) trong cộng đồng Stremio.","WEBSITE_JOIN_NOW":"Tham gia ngay!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Cộng đồng Stremio chính thức","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Cộng đồng Stremio không chính thức","WEBSITE_BECOME":"Trở nên","WEBSITE_A_VOLUNTEER_TRANSLATOR":"một dịch giả tình nguyện","WEBSITE_ARE_YOU_A_DEVELOPER":"Bạn có phải là nhà phát triển?","WEBSITE_CONTRIBUTE_CODE":"Bạn có thể đóng góp mã cho các dự án nguồn mở của chúng tôi. Chúng tôi có một số dự án trên GitHub đang tìm kiếm cộng tác viên. Nếu bạn muốn trợ giúp, hãy xem qua chúng:","WEBSITE_STREMIO_ON_GITHUB":"Stremio trên GitHub","WEBSITE_CREATE_ADDON_DESC":"Tạo một add-on để nâng cao chức năng của Stremio (chúng tôi có API dễ sử dụng):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Chúng tôi cũng mang đến cơ hội tham gia cùng chúng tôi với tư cách là nhà phát triển thực tập để chúng ta có thể cùng nhau phát triển.","WEBSITE_APPLY_AS_AN_INTERN":"Đăng ký làm thực tập sinh","WEBSITE_CALLING_ALL_ARTISTS":"Kêu gọi tất cả các nghệ sĩ!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Thể hiện sự sáng tạo và tình yêu của bạn dành cho Stremio bằng cách tải tác phẩm nghệ thuật của người hâm mộ (fanart) lên thư viện trực tuyến của chúng tôi. Cho dù đó là một bức vẽ, tranh vẽ hay thiết kế kỹ thuật số, chúng tôi muốn thấy sự độc đáo của bạn đối với thương hiệu Stremio. Hãy tham gia cộng đồng những người đam mê nghệ thuật của chúng tôi và chia sẻ công việc của bạn với những người hâm mộ Stremio trên khắp thế giới.","WEBSITE_STREMIO_FANART_GALLERY":"Phòng trưng bày tác phẩm nghệ thuật của người hâm mộ (fanart) Stremio","WEBSITE_INTERN_DESIGNER":"Trở thành thành viên của nhóm chúng tôi và đưa khả năng sáng tạo của bạn lên tầm cao mới với các cơ hội thực tập thú vị của chúng tôi.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Dự án phim thuộc phạm vi công cộng","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Tại Stremio, chúng tôi cam kết bảo tồn lịch sử điện ảnh và truyền hình bằng cách xác định phạm vi công cộng và các video mồ côi. Bằng cách hợp tác với cộng đồng của mình, chúng tôi có thể đảm bảo rằng mọi người đều có thể tiếp cận những tác phẩm nghệ thuật cổ điển này và bảo vệ nó cho các thế hệ tương lai thưởng thức.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Hãy liên hệ với chúng tôi nếu bạn muốn tham gia vào dự án đó.","WEBSITE_JOIN_THE_PROJECT":"Tham gia dự án","WEBSITE_BE_PART_OF_OUR_MISSION":"Hãy là một phần sứ mệnh của chúng tôi","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Bạn muốn tham gia nhóm Stremio? Chúng tôi cung cấp công việc hoàn toàn từ xa cho những chuyên gia đầy nhiệt huyết. Hãy xem các vị trí đang tuyển dụng của chúng tôi.","WEBSITE_OPEN_POSITIONS":"VỊ TRÍ MỞ","WEBSITE_DESCRIPTION":"MÔ TẢ","WEBSITE_LEARN_MORE":"Tìm hiểu thêm","WEBSITE_COMPANY":"Công ty","WEBSITE_CONTACTS":"Liên lạc","WEBSITE_NEED_HELP":"Cần giúp đỡ?","WEBSITE_STREMIO_WEB_ON_IOS":"Hướng dẫn về Stremio Web trên iOS","WEBSITE_LINK_ART_V2":"Phòng trưng bày Fanart","WEBSITE_PARTNERS":"Đối tác","WEBSITE_SLOGAN_WATCH":"Xem ngay lập tức","WEBSITE_SLOGAN_ALL":"Tất cả Nội dung Video Bạn Thưởng thức ở Một Nơi","WEBSITE_SLOGAN_NEW":"Tất cả những gì bạn có thể xem","WEBSITE_SLOGAN_NEW_NEW":"Tự do truyền trực tuyến","WEBSITE_WATCH_FROM":"Xem từ","WEBSITE_DOWNLOAD":"Tải ngay","WEBSITE_DOWNLOAD_FOR":"Tải xuống ngay cho","WEBSITE_IS_DESKTOP":"Stremio là một ứng dụng dành cho máy tính để bàn, hãy mở trang này trên PC của bạn và tải xuống","WEBSITE_DESKTOP_DEMO_VID":"Bản trình diễn máy tính để bàn","WEBSITE_PAGE_HOME":"Trang chủ","WEBSITE_PAGE_FEATURES":"Đặc trưng","WEBSITE_PAGE_ADDONS":"Các add-on","WEBSITE_PAGE_TECH":"Công nghệ","WEBSITE_PAGE_CREATE_ADDON":"Tạo add-on","WEBSITE_PAGE_CONTACTS":"Liên lạc","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Vui lòng nhập mật khẩu mới mà bạn mong muốn bên dưới.","WEBSITE_RESET_PASSWORD_WARNING":"Bạn có chắc chắn muốn đặt lại mật khẩu cho ${1} không?","WEBSITE_TYPE_movie":"Phim","WEBSITE_TYPE_series_PL":"Loạt phim","WEBSITE_TYPE_tv":"Truyền hình trực tiếp","WEBSITE_TYPE_channel":"Kênh","WEBSITE_STREMIO_WHAT_IS":"Stremio là một ứng dụng giúp bạn sắp xếp và xem ngay các video, phim, phim TV và kênh TV yêu thích của mình.","WEBSITE_FEATURES_WATCH":"Xem tức thì ở chế độ HD","WEBSITE_FEATURES_WATCH_DETAIL":"Nhấp và phát các bộ phim, Chương trình TV, video và kênh TV yêu thích của bạn.","WEBSITE_FEATURES_SUBS":"Phụ đề tự động","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio tự động chọn phụ đề được đồng bộ hóa cho ngôn ngữ của bạn.","WEBSITE_FEATURES_SUBS_LABEL":"Động thái của bạn, trưởng.","WEBSITE_FEATURES_CAST":"Phát trên TV & thiết bị di động","WEBSITE_FEATURES_CAST_DETAIL":"Truyền tới AppleTV, Chromecast, TV thông minh (DLNA/UPnP) và thiết bị di động.","WEBSITE_LIB":"Tận hưởng thư viện cá nhân của bạn được đồng bộ hóa trên tất cả các thiết bị của bạn","WEBSITE_LIB_COLLECT":"Thu thập từ Stremio","WEBSITE_LIB_IMPORT":"Nhập từ facebook","WEBSITE_LIB_LOCAL":"Thêm từ ổ đĩa cục bộ của bạn","WEBSITE_BOARD":"Bảng - Điểm dừng chân của bạn dành cho Thông báo và Đề xuất","WEBSITE_BOARD_RECOMMEND":"Chương trình TV được đề xuất","WEBSITE_BOARD_TRENDING":"Phim thịnh hành","WEBSITE_BOARD_NEW":"Video mới","WEBSITE_BOARD_EPISODE":"Tập mới","WEBSITE_BOARD_1":"Bạn đang tìm nội dung thú vị để xem? Nhận đề xuất dựa trên sở thích của bạn!","WEBSITE_BOARD_2":"Nhận thông báo khi có tập mới của chương trình TV hoặc kênh YouTube yêu thích của bạn!","WEBSITE_BOARD_YOUTUBE":"Video mới của các kênh YouTube","WEBSITE_BOARD_EPISODES":"Các tập mới của loạt phim bạn theo dõi","WEBSITE_ADDONS":"Add-on nội dung","WEBSITE_TECH_DETAIL":"Chúng tôi yêu công nghệ, chúng tôi yêu khoa học điên rồ!\\nStremio đang sử dụng các công nghệ nguồn mở sau:","WEBSITE_TECH_WCJS":"WebChimera.js cho phép Stremio phát mọi định dạng video với hiệu suất tốt.","WEBSITE_TECH_WCJS_EXTRA":"Chúng tôi là những người đóng góp cốt lõi cho dự án","WEBSITE_TECH_ELECTRON":"Electron cung cấp một nền tảng sáng tạo để xây dựng Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Chúng tôi là những người đóng góp cho dự án","WEBSITE_TECH_LINVODB":"Công nghệ cơ sở dữ liệu đảm bảo dữ liệu của bạn được sắp xếp và có sẵn ở mọi nơi bạn đăng nhập.","WEBSITE_TECH_LINVODB_EXTRA":"Công nghệ nội bộ","WEBSITE_CREATE_ADDON":"Tạo add-on của bạn","WEBSITE_CREATE_ADDON_DETAIL":"Bạn có dịch vụ cung cấp nội dung video không? Chúng tôi sẽ giúp bạn hưởng lợi từ các tính năng của Stremio bằng cách tạo Add-on của bạn.","WEBSITE_CREATE_ADDON_BENEFITS":"Lợi ích của việc tạo Add-on cho Stremio","WEBSITE_P2P_BEAUTY":"Vẻ đẹp của truyền trực tuyến ngang hàng","WEBSITE_P2P_1":"Video HD đầy đủ / 4K đáng tin cậy và giá cả phải chăng theo yêu cầu hoặc phát trực tiếp","WEBSITE_P2P_2":"Nền tảng phân phối cung cấp trải nghiệm người dùng tuyệt vời","WEBSITE_P2P_3":"Chúng tôi sẽ tạo một add-on đáp ứng nhu cầu chính xác của bạn","WEBSITE_P2P_CONTACT":"Bạn quan tâm? Bạn có thể liên hệ với chúng tôi.","WEBSITE_P2P_CONTACT_EXTRA":"Chúng tôi rất sẵn lòng giúp bạn tích hợp nội dung của mình với Stremio!","WEBSITE_P2P":"Thỉnh thoảng, có một công nghệ làm thay đổi tên của trò chơi. Chúng tôi đã đầu tư rất nhiều thời gian và công sức vào việc xây dựng công cụ truyền phát video ngang hàng (P2P) mang lại hiệu suất tuyệt vời và tính linh hoạt để thích ứng với mọi mục đích sử dụng.\\nHãy liên hệ với chúng tôi để có video P2P hỗ trợ DRM theo yêu cầu hoặc phát trực tiếp.","WEBSITE_THOUGHTS":"Những suy nghĩ chúng ta chia sẻ:","WEBSITE_SPREAD":"Quảng bá về Stremio:","WEBSITE_CONTACT":"Liên hệ với chúng tôi, chúng tôi rất vui khi nhận được phản hồi từ bạn!","WEBSITE_OPENSOURCE":"Dành cho các dự án nguồn mở của chúng tôi, đến với chúng tôi","WEBSITE_BITCOIN":"Quyên góp bitcoin:","WEBSITE_FAQ":"Các câu hỏi thường gặp","WEBSITE_FAQ_SHORT":"Hỏi đáp thường gặp","WEBSITE_QUESTIONS":"Câu hỏi","WEBSITE_TOS":"Điều khoản sử dụng","WEBSITE_LEGAL":"Hợp pháp","WEBSITE_PAGE_ABOUT":"Giới thiệu","WEBSITE_PAGE_BECOME_PARTNER":"Trở thành đối tác","WEBSITE_ALL_YOU_CAN_WATCH":"Tự do xem\\nMọi thứ bạn muốn.","WEBSITE_FREEDOM_TO_STREAM":"Tự do truyền trực tuyến","WEBSITE_WHAT_IS_STREMIO":"Stremio là gì?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio là trung tâm một cửa để tổng hợp nội dung video. Khám phá, sắp xếp và xem video từ tất cả các loại nguồn trên bất kỳ thiết bị nào mà bạn sở hữu.","WEBSITE_WHAT_IS_STREMIO_P2":"Phim, chương trình TV, loạt phim, TV trực tiếp hoặc các kênh web như YouTube và Twitch.tv - bạn có thể tìm thấy tất cả những thứ này trên Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio là một trung tâm truyền thông hiện đại, là giải pháp một cửa cho hoạt động giải trí video của bạn. Bạn khám phá, xem và sắp xếp nội dung video từ các add-on dễ cài đặt.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Phim, chương trình TV, TV trực tiếp hoặc kênh web - tìm thấy tất cả nội dung này trên Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Thưởng thức trên tất cả các thiết bị Phương tiện truyền thông của bạn","WEBSITE_DEVICES_COLLECT":"Thu thập từ Stremio","WEBSITE_DEVICES_IMPORT_FB":"Nhập từ facebook","WEBSITE_DEVICES_LOCAL":"Thêm từ ổ đĩa cục bộ","WEBSITE_JOIN_THE_PARTY_NOW":"Nhập tiệc ngay thôi","WEBSITE_DEVICES_ALL":"Dễ sử dụng trên mọi thiết bị của bạn;","WEBSITE_EXTENDABLE_CATALOG":"Danh mục video có thể mở rộng vô hạn;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Các tính năng tuyệt vời để sắp xếp phương tiện của bạn;","WEBSITE_AS_SEEN_ON":"Như được thấy trên","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Về chúng tôi","WEBSITE_LINK_TECHNOLOGY":"Công nghệ","WEBSITE_LINK_APPS":"Ứng dụng","WEBSITE_LINK_DOWNLOADS":"Tải xuống","WEBSITE_MORE":"Hơn nữa","WEBSITE_LINK_ADDONS":"Add-on","WEBSITE_LINK_ADDON_SDK":"Add-on SDK","WEBSITE_LINK_CONTRIBUTE":"Đóng góp","WEBSITE_LINK_COMMUNITY":"Cộng đồng","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Hơn nữa","WEBSITE_LINK_HELP":"Trung tâm trợ giúp","WEBSITE_LINK_CONTACTS":"Yêu cầu kinh doanh","WEBSITE_LINK_TOS":"Điều khoản và điều kiện","WEBSITE_LINK_PRAVACY":"Chính sách bảo mật","WEBSITE_SUBSCRIBE":"Đăng ký","WEBSITE_NEWSLETTER":"Tham gia Bản tin của chúng tôi để có những thứ tuyệt vời","WEBSITE_PLACEHOLDER_EMAIL":"Email của bạn","WEBSITE_COMMUNITY":"Cộng đồng","WEBSITE_LINK_PRAVACY_LEGAL":"Quyền riêng tư & pháp lý","WEBSITE_WHY":"Tại sao chúng tôi làm điều đó","WEBSITE_WHY_P1":"Tại Stremio, chúng tôi đến làm việc mỗi ngày vì chúng tôi muốn giải quyết một vấn đề quan trọng đối với ngành công nghiệp video theo yêu cầu. Có rất nhiều nội dung mới được xuất bản mỗi phút khiến bạn hầu như không thể tìm được đường đi.","WEBSITE_WHY_P2":"Chúng tôi giúp mọi người điều hướng trong thế giới giải trí video rộng lớn đó và khám phá nội dung mới để thưởng thức. Các ứng dụng của chúng tôi tập hợp các bộ phim, loạt phim, truyền hình trực tiếp, kênh web, v.v. Chúng tôi nỗ lực hết mình để giúp người dùng tìm thấy tiêu đề và đài truyền hình một cách cực kỳ dễ dàng mà họ yêu thích.","WEBSITE_WHY_P3":"Bạn có thể sử dụng dịch vụ của chúng tôi trên bất kỳ thiết bị nào và bất kỳ lúc nào, khiến Stremio trở thành trung tâm giải trí video duy nhất mà bạn cần.","WEBSITE_TEAM":"ĐỘI","WEBSITE_TEAM_P":"Nhóm Stremio nhỏ nhưng mạnh mẽ: giữa mười người chúng tôi, chúng tôi viết mã bằng ngôn ngữ X và chia sẻ kiến thức chuyên môn về phát triển phần mềm, thiết kế UI và UX, tiếp thị và quảng cáo cũng như kinh doanh và khởi nghiệp.","WEBSITE_FEATURES":"Đặc trưng","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Khám phá nội dung mới một cách dễ dàng","WEBSITE_FEATURES_DISCOVER_P":"Dễ dàng khám phá các bộ phim, chương trình TV, loạt phim và kênh mới để xem. Duyệt theo danh mục, thể loại, xếp hạng, lần gần đây, v.v. hoặc chỉ cần nhập tên để tìm. Stremio biến việc tìm kiếm nội dung video mới trở nên dễ dàng.","WEBSITE_FEATURES_ALL_CONTENT":"Tất cả nội dung video của bạn trên một màn hình","WEBSITE_FEATURES_ALL_CONTENT_P1":"Xem những bộ phim, loạt phim hoặc video bạn chưa xem hết và tiếp tục xem chúng; nhận thông báo về các tập và bản phát hành mới; đồng thời duyệt qua các đề xuất mà bạn sẽ nhận được dựa trên thói quen xem của mình.","WEBSITE_FEATURES_LIBRARY":"Sắp xếp thư viện video của bạn","WEBSITE_FEATURES_LIBRARY_P1":"Thêm bất kỳ tiêu đề nào vào thư viện Stremio của bạn chỉ bằng một cú nhấp chuột và tìm theo cách của bạn xung quanh nội dung của bạn, được sắp xếp gọn gàng theo loại, lần xuất hiện gần đây hoặc thứ tự bảng chữ cái.","WEBSITE_FEATURES_CALENDAR":"Theo dõi mọi thứ bạn xem","WEBSITE_FEATURES_CALENDAR_P1":"Nhận hình ảnh lịch của tất cả phim và loạt phim bạn thêm vào thư viện của mình. Xuất lịch Stremio của bạn và đồng bộ hóa lịch để bạn luôn biết khi nào có tập mới hoặc buổi chiếu sớm.","WEBSITE_FEATURES_BIG_SCREEN":"Thưởng thức nội dung video của bạn trên màn hình lớn hơn","WEBSITE_FEATURES_BIG_SCREEN_P1":"Truyền nội dung bạn đang xem sang thiết bị khác - có thể là điện thoại, máy tính bảng hoặc TV chỉ bằng một cú nhấp chuột.","WEBSITE_FEATURES_SOURCES":"Xem video từ nhiều nguồn khác nhau","WEBSITE_FEATURES_SOURCES_P":"Cài đặt các add-on chính thức và cộng đồng để thưởng thức video có nguồn gốc từ nhiều nhà cung cấp khác nhau - tất cả trong một ứng dụng đẹp mắt, dễ sử dụng.","WEBSITE_CREATE_AN_ADDON":"Tạo một add-on","WEBSITE_FEATURES_SYNC":"Đồng bộ hóa thư viện của bạn trên các thiết bị khác nhau và tiếp tục phát lại","WEBSITE_FEATURES_SYNC_P1":"Đăng nhập bằng tài khoản của bạn trên tất cả các thiết bị và tận hưởng thư viện, add-on, phát lại và lịch được đồng bộ hóa.","WEBSITE_FEATURES_EXTENDABLE":"Danh mục video có thể mở rộng bằng add-on","WEBSITE_FEATURES_EXTENDABLE_P1":"Danh mục add-on Stremio cung cấp một số add-on để cài đặt và xem nhiều loại nội dung video từ đó. Nội dung này bao gồm phim, chương trình, truyền hình trực tiếp, thể thao, tin tức, podcast, kênh web, trò chơi điện tử, v.v.","WEBSITE_FEATURES_AUTO_SUBS":"Phụ đề tự động","WEBSITE_FEATURES_AUTO_SUBS_P1":"Với add-on phụ đề của chúng tôi, bạn sẽ có các tùy chọn được chọn tự động cho ngôn ngữ ưa thích của mình.","WEBSITE_FEATURES_CHROMECAST":"Truyền tới Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Thưởng thức nội dung video của bạn trên màn hình lớn hơn hoặc chỉ truyền nội dung bạn đang xem sang thiết bị khác.","WEBSITE_FEATURES_KEEP_TRACK":"Theo dõi các chương trình TV và kênh Web yêu thích của bạn","WEBSITE_FEATURES_KEEP_TRACK_P1":"Nhận hình ảnh lịch và thông báo về các tập mới của loạt phim và kênh web yêu thích của bạn.","WEBSITE_FEATURES_POWER_USER":"Tính năng người dùng cao cấp","WEBSITE_FEATURES_POWER_USER_P1":"Phát trong trình phát bên ngoài","WEBSITE_FEATURES_POWER_USER_P2":"Phát từ tệp torrent hoặc liên kết nam châm","WEBSITE_FEATURES_POWER_USER_P3":"Nhập vào thư viện của bạn từ lượt thích trên Facebook hoặc đĩa cục bộ","WEBSITE_ADD_ONS":"Add-on","WEBSITE_ADD_ONS_P1":"Tất cả nội dung video mà Stremio cung cấp đều có nguồn thông qua hệ thống add-on - không có nội dung hoặc nhà cung cấp nội dung nào được tích hợp vào ứng dụng.","WEBSITE_ADD_ONS_P2":"Có hai nhóm add-on: add-on chính thức và add-on cộng đồng.","WEBSITE_ADD_ONS_P3":"Các add-on chính thức được phát triển và lưu trữ bởi Stremio, trong khi các add-on cộng đồng được tạo bởi các thành viên cộng đồng của chúng tôi, những người cũng lưu trữ chúng.","WEBSITE_ADDONS_OFFICIAL":"Add-on chính thức","WEBSITE_ADDONS_WATCHUB":"Truyền trực tuyến các bộ phim, loạt phim và chương trình yêu thích của bạn từ các nhà cung cấp như iTunes, Hulu, Amazon và các dịch vụ khác của Vương quốc Anh/Hoa Kỳ.","WEBSITE_ADDONS_YOUTUBE":"Xem các kênh YouTube yêu thích của bạn không có quảng cáo và nhận thông báo về video mới tải lên từ những người đóng góp mà bạn theo dõi.","WEBSITE_ADDONS_FILMON":"Xem truyền hình trực tiếp, phim và truyền hình xã hội miễn phí. 600 kênh truyền hình, 45.000 phim, phim tài liệu miễn phí và hơn thế nữa.","WEBSITE_ADDONS_OPENSUBTITLES":"Phụ đề phim và chương trình TV bằng nhiều ngôn ngữ, hàng nghìn phụ đề đã dịch được tải lên mỗi ngày.","WEBSITE_ADDONS_COMMUNITY":"Add-on cộng đồng","WEBSITE_ADDONS_FILMON_VOD":"Xem video theo yêu cầu từ Filmon.tv","WEBSITE_ADDONS_TWICH":"Xem các luồng trực tiếp từ Twitch.tv - một nền tảng truyền trực tuyến video cho ngành thể thao điện tử.","WEBSITE_ADDONS_VODO":"Xem phim độc lập hoàn toàn miễn phí.","WEBSITE_ADDONS_NETFLIX":"Xem phim và loạt phim web của Netflix.","WEBSITE_ADDONS_CREATE":"Tạo một add-on","WEBSITE_ADDONS_CREATE_P1":"Nếu muốn, bạn có thể phát triển add-on của riêng mình. Bằng cách này, bạn có thể cấp cho mình và cộng đồng của chúng tôi quyền truy cập vào nội dung video mới, đồng thời tiếp cận đối tượng mới, được nhắm mục tiêu gồm hàng triệu người dùng trên khắp thế giới.","WEBSITE_ADDONS_START_CREATE":"Để bắt đầu, hãy truy cập trang Stremio Add-on SDK:","WEBSITE_DOWNLOADS":"Tải xuống","WEBSITE_DOWNLOADS_P1":"Để có hiệu suất tối ưu, chúng tôi khuyên bạn nên sử dụng phiên bản mới nhất hiện có của ứng dụng Stremio. Tuy nhiên, nếu vì lý do nào đó, bạn muốn sử dụng phiên bản cũ hơn, bạn có thể tải xuống phiên bản này tại đây.","WEBSITE_DOWNLOADS_P1_SHORT":"Để có hiệu suất tối ưu, chúng tôi khuyên bạn nên sử dụng phiên bản mới nhất hiện có của ứng dụng Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio cho Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio cho macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio cho Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio cho Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio cho Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio dành cho thiết bị di động Android","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio cho Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio cho iOS (phiên bản giới hạn)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio cho Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio cho LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio cho Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio cho Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio cho Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio cho trình duyệt","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Tìm kiếm Stremio trong App Store của các mẫu TV Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Tìm kiếm Stremio trong App Store của các mẫu TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Tìm kiếm Stremio trong App Store trên thiết bị Xbox của bạn","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Tải xuống dịch vụ Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"Dịch vụ Stremio là một ứng dụng đồng hành cho Stremio Web. Chúng tôi khuyên bạn nên sử dụng phiên bản mới nhất hiện có của Dịch vụ Stremio.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Dịch vụ Stremio cho Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Dịch vụ Stremio cho macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Dịch vụ Stremio cho Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Dịch vụ Stremio cho Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Nhiều tùy chọn tải xuống hơn","WEBSITE_DOWNLOAD_NEW":"Mới!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Chúng tôi đã phát hành Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Chúng tôi đã phát hành Stremio cho TV Samsung","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Chúng tôi đã phát hành Stremio cho TV LG","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Chúng tôi đã phát hành Stremio cho Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Chúng tôi đã phát hành Stremio cho Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Đóng góp","WEBSITE_CONTRIBUTE_P1":"Nền tảng Stremio là nguồn mở và bạn có thể dễ dàng tạo add-on cho nội dung hiện chưa có nguồn.","WEBSITE_CONTRIBUTE_WHY":"Tại sao bạn nên tạo một add-on?","WEBSITE_CONTRIBUTE_WHY_P1":"Tiếp cận khán giả mới cho nội dung video của bạn","WEBSITE_CONTRIBUTE_WHY_P2":"Cơ sở người dùng của Stremio đang tăng lên nhanh chóng - trong năm đầu tiên kể từ khi ra mắt, Stremio đã có được 1 triệu người dùng trên toàn thế giới và trong năm thứ hai nền tảng tồn tại, con số này đã tăng lên 2 triệu rưỡi.","WEBSITE_CONTRIBUTE_WHY_P3":"Với add-on của mình, bạn có thể dễ dàng tiếp cận đối tượng này và phân phối nội dung video của mình tới họ.","WEBSITE_CONTRIBUTE_ALL":"Xem phim, video, loạt phim và kênh yêu thích của bạn ở một nơi duy nhất.","WEBSITE_CONTRIBUTE_ALL_P1":"Bạn là người yêu thích một loại nội dung cụ thể chưa có trên Stremio? Hãy tạo một add-on cho nội dung đó và thưởng thức các video yêu thích của bạn tại một trong những trung tâm giải trí lớn nhất và dễ sử dụng nhất trên thị trường.","WEBSITE_CONTRIBUTE_ALL_P2":"Trên hết, bạn sẽ nhận được lòng biết ơn vô tận của các thành viên cộng đồng Stremio có cùng chí hướng.","WEBSITE_CONTRIBUTE_MONETIZE":"Kiếm tiền từ add-on của bạn và kiếm tiền với sự trợ giúp của nó","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Sau khi bạn phát triển một add-on mới cho Stremio, bạn có thể dễ dàng kiếm tiền từ nó thông qua một số cách khác nhau. Nếu bạn đang cân nhắc điều này, vui lòng liên hệ với chúng tôi tại ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - chúng tôi rất sẵn lòng tư vấn và tư vấn cho bạn về các tùy chọn kiếm tiền từ add-on.","WEBSITE_CONTRIBUTE_TRANSLATE":"Trở thành một dịch giả tình nguyện","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Nếu bạn muốn thưởng thức các ứng dụng Stremio bằng các ngôn ngữ khác nhau, bạn có thể tham gia cộng đồng dịch giả tình nguyện của chúng tôi. Họ giúp chúng tôi thêm các phiên bản Stremio bằng nhiều ngôn ngữ khác nhau.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Bạn có muốn bắt đầu không?","WEBSITE_TRANSALTE_STREMIO":"Dịch Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Cộng đồng chính thức","WEBSITE_COMMUNITY_OFFICIALS_P1":"Trở thành một phần của cộng đồng Stremio đang phát triển. Theo dõi chúng tôi trên mạng xã hội và đừng ngại nói xin chào - chúng tôi rất thích nghe ý kiến từ người hâm mộ của mình!","WEBSITE_COMMUNITY_UNOFFICIALS":"Cộng đồng không chính thức","STREMIO_COMMUNITY_NL":"Stremio Hà Lan","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Đức","STREMIO_COMMUNITY_BELGIUM":"Stremio Bỉ","STREMIO_COMMUNITY_FRANCE":"Stremio Pháp","STREMIO_COMMUNITY_PORTUGAL":"Stremio Bồ Đào Nha","STREMIO_COMMUNITY_ITALY":"Stremio Ý","STREMIO_COMMUNITY_UK":"Stremio Vương quốc Anh","STREMIO_COMMUNITY_USA":"Stremio Hoa Kỳ","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Add-on Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Stremio tuyệt vời","WEBSITE_COMMUNITY_PARTNERS":"Đối tác và người ủng hộ","WEBSITE_COMMUNITY_GOODIES":"Món ngon Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Hình nền","WEBSITE_COMMUNITY_ART":"Phòng trưng bày Nghệ thuật Cộng đồng","WEBSITE_LINK_ART":"Phòng trưng bày nghệ thuật cộng đồng","WEBSITE_CONTACT_US":"Liên hệ chúng tôi","WEBSITE_CONTACT_US_P1":"Nếu bạn có bất kỳ câu hỏi, nhận xét hoặc đề xuất nào, vui lòng liên hệ với chúng tôi qua biểu mẫu liên hệ bên dưới.","WEBSITE_CONTACT_US_P2":"Hãy nhớ rằng chúng tôi đang ở Bulgari nên có thể có sự chậm trễ trong việc giải quyết truy vấn của bạn do chênh lệch múi giờ.","WEBSITE_CONTACT_US_SUCCESS":"Tin nhắn của bạn đã được gửi. Chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Vui lòng nhập email hợp lệ!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Câu hỏi của bạn liên quan đến điều gì?","WEBSITE_CONTACT_US_Q_OS":"Hệ điều hành của bạn là gì?","WEBSITE_CONTACT_US_PH_EMAIL":"Email của bạn","WEBSITE_CONTACT_US_PH_MESSAGE":"Tin nhắn","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"GỬI","WEBSITE_CONTACT_US_Q_1":"Cài đặt như thế nào?","WEBSITE_CONTACT_US_Q_2":"Gỡ cài đặt như thế nào?","WEBSITE_CONTACT_US_Q_3":"(HTML) Cách làm Lasagna?","WEBSITE_CONTACT_US_Q_4":"Add-on","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Công nghệ","WEBSITE_TECHNOLOGY_P1":"Chúng tôi yêu công nghệ và khoa học điên rồ.
    Đây là sức mạnh của Stremio (tất cả đều là mã nguồn mở).","WEBSITE_TECHNOLOGY_P_QT":"Phát triển phần mềm đa nền tảng ở mức tốt nhất.","WEBSITE_TECHNOLOGY_P_MPV":"Trình phát phương tiện đa nền tảng, mã nguồn mở và miễn phí.","WEBSITE_TECHNOLOGY_P_RN":"React Native cho phép bạn tạo ứng dụng dành cho thiết bị di động chỉ dùng JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Khung phương tiện được nhúng vào ứng dụng để tải đa phương tiện.","WEBSITE_TECHNOLOGY_P_REALM":"Realm là một nền tảng di động và là sự thay thế cho SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js là một môi trường thực thi JavaScript mã nguồn mở, đa nền tảng.","WEBSITE_TECHNOLOGY_P_RUST":"Rust là ngôn ngữ lập trình hệ thống đa mô hình tập trung vào tính an toàn, đặc biệt là tính đồng thời an toàn.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Đóng góp cho dự án","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Có hai cách để bạn có thể đóng góp cho Stremio và giúp chúng tôi làm cho sản phẩm trở nên tốt hơn nữa.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Bạn có thể đóng góp các kỹ năng ngôn ngữ có giá trị của mình bằng cách dịch nền tảng...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"hoặc","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... bạn có thể sử dụng các kỹ năng viết mã của mình để tạo các add-on cho cộng đồng.","WEBSITE_TRANSLATE_STREMIO":"Dịch Stremio","WEBSITE_404_OH_NO":"Uh-oh! Trang bạn đang tìm không có ở đây...","WEBSITE_GO_HOME":"Về nhà","WEBSITE_LINK_OTHER_DOWNLOADS":"Tải xuống khác","WEBSITE_FAQ_ABR":"Hỏi đáp thường gặp","WEBSITE_SUPPORT":"Ủng hộ","WEBSITE_DOWNLOAD_4_0_BETA":"Tải xuống Stremio 4 beta ngay","WEBSITE_GET_FOR_DESKTOP":"Tải cho máy tính để bàn","WEBSITE_LINK_ADDON_COMPETITION":"Cuộc thi add-on","WEBSITE_LINK_ART_CONTEST":"Cuộc thi nghệ thuật","WEBSITE_MY_ACCOUNT":"Tài khoản của tôi","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremio là gì?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio là một trung tâm truyền thông hiện đại cho phép bạn tự do xem mọi thứ mình muốn.","WEBSITE_MAINPAGE_FAQ_002_H1":"Làm thế nào nó hoạt động?","WEBSITE_MAINPAGE_FAQ_002_P1":"Sau khi bạn cài đặt Stremio trên thiết bị của mình và tạo một tài khoản, tất cả những gì bạn phải làm là truy cập vào danh mục add-on và cài đặt bất kỳ add-on nào bạn muốn, thế là xong!","WEBSITE_MAINPAGE_FAQ_002_P2":"Sau đó, bạn có thể chuyển đến phần Khám phá hoặc Bảng để bắt đầu khám phá nội dung.","WEBSITE_MAINPAGE_FAQ_003_H1":"Tôi có thể xem gì ở đây?","WEBSITE_MAINPAGE_FAQ_003_P1":"Rất nhiều: Phim, chương trình TV, kênh Web, Thể thao, kênh TV, nghe Podcast, v.v. Nhờ hệ thống add-on của chúng tôi, bạn có thể truy cập nhiều nội dung khác nhau.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio có phải là mã nguồn mở không?","WEBSITE_MAINPAGE_FAQ_004_P1":"Có, bạn có thể kiểm tra các liên kết sau: ${1}desktop app${2} và ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio có an toàn không?","WEBSITE_MAINPAGE_FAQ_005_P1":"Có: vì đây là phần mềm mã nguồn mở nên mã này có thể được kiểm tra công khai và bạn có thể tự mình xem lại.","WEBSITE_MAINPAGE_FAQ_005_P2":"Hệ thống tiện ích bổ sung của Stremio cũng được tạo ra với mục đích bảo mật cho người dùng. Các tiện ích bổ sung không chạy bất kỳ mã cục bộ nào nên chúng không gây rủi ro cho thiết bị của bạn.","WEBSITE_MAINPAGE_FAQ_006_H1":"Còn quyền riêng tư của tôi thì sao?","WEBSITE_MAINPAGE_FAQ_006_P1":"Chúng tôi tôn trọng quyền riêng tư của người dùng và không thu thập bất kỳ dữ liệu cá nhân nào ngoài dữ liệu tối thiểu cần thiết để tạo và đồng bộ hóa tài khoản của bạn.","WEBSITE_MAINPAGE_FAQ_006_P2":"Ngoài ra còn có một ${1}Chế độ khách${2} khi đăng ký, chế độ này không yêu cầu bất kỳ dữ liệu nào: trong chế độ này, không có cuộc gọi nào được thực hiện tới chương trình phụ trợ của chúng tôi. Tuy nhiên, nó phải trả giá bằng các tính năng hữu ích, chẳng hạn như có thể đồng bộ hóa thư viện của bạn trên các thiết bị.","WEBSITE_MAINPAGE_FAQ_007_H1":"Tôi có thể truyền tới TV của mình không?","WEBSITE_MAINPAGE_FAQ_007_P1":"Có, chúng tôi hỗ trợ Chromecast và bạn có thể truyền cả từ máy tính để bàn và ứng dụng dành cho thiết bị di động (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio có bao nhiêu add-on?","WEBSITE_MAINPAGE_FAQ_008_P1":"Tính đến cuối năm 2019, hơn 50 - để biết thêm thông tin, hãy xem danh mục add-on của chúng tôi.","WEBSITE_MAINPAGE_FAQ_009_H1":"Có thể mở rộng Stremio ngoài danh mục add-on không?","WEBSITE_MAINPAGE_FAQ_009_P1":"Có, bạn nên kiểm tra những thứ sau: ${1}PimpMyStremio${2}, ${3}Cộng đồng Reddit${4}, ${5}Trình tải xuống Stremio${6}, v.v.","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio hỗ trợ những thiết bị nào?","WEBSITE_MAINPAGE_FAQ_010_P1":"Chúng tôi có các ứng dụng dành cho máy tính để bàn dành cho Windows, Mac và Linux. Đối với thiết bị di động, chúng tôi hỗ trợ Android và iOS, mặc dù hãy nhớ rằng iOS bị hạn chế về chức năng (không hỗ trợ hầu hết các add-on).","WEBSITE_MAINPAGE_FAQ_010_P2":"Có nhiều thiết bị dựa trên Android mà bạn có thể chạy Stremio trên đó, chẳng hạn như NVIDIA Shield và Amazon Fire Stick, nhưng chúng tôi không hỗ trợ chúng một cách chính thức.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Chúng tôi có các ứng dụng dành cho máy tính để bàn dành cho Windows, Mac và Linux. Chúng tôi cũng có các ứng dụng dành riêng cho Điện thoại Android và Tivi Android. Đối với iOS và iPadOS, chúng tôi khuyên bạn nên sử dụng Stremio Web, mặc dù bị hạn chế hơn về chức năng.","WEBSITE_MAINPAGE_FAQ_011_H1":"Bạn có thể thêm một số nội dung nhất định vào Stremio không?","WEBSITE_MAINPAGE_FAQ_011_P1":"Xin lỗi, bản thân chúng tôi không cung cấp nội dung, nhưng bạn càng cài đặt nhiều add-on Stremio, bạn càng có thể tìm thấy nhiều nội dung hơn.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio có thể chơi liên kết nam châm không?","WEBSITE_MAINPAGE_FAQ_012_P1":"Có, và nó cũng có thể phát các liên kết HTTP và tệp torrent thông thường (kéo và thả).","WEBSITE_MAINPAGE_FAQ_013_H1":"Tôi có thể tải video xuống và xem ngoại tuyến không?","WEBSITE_MAINPAGE_FAQ_013_P1":"Khả dụng ngoại tuyến là một tính năng sắp ra mắt, nhưng nếu bạn cho phép Stremio lưu vào bộ nhớ cache trên thiết bị của mình (từ bảng thiết đặt), thì bạn có thể xem video sau mà không cần kết nối.","WEBSITE_MAINPAGE_FAQ_014_H1":"Không có tác dụng gì, giúp tôi với!","WEBSITE_MAINPAGE_FAQ_014_P1":"Bạn có chắc là mình đã cài đặt add-on không? Nếu có, hãy kiểm tra với ${1}trung tâm trợ giúp${2} của chúng tôi.","WEBSITE_MAINPAGE_FAQ_015_H1":"Làm thế nào để Stremio duy trì hoạt động phát triển của nó?","WEBSITE_MAINPAGE_FAQ_015_P1":"Chúng tôi thỉnh thoảng chạy quảng cáo không xâm lấn, nhưng chúng tôi đang cân nhắc chuyển sang mô hình quyên góp.","WEBSITE_MAINPAGE_FAQ_015_P2":"Để biết thêm câu hỏi, hãy truy cập ${1}trung tâm trợ giúp${2} của chúng tôi.","HELP_LEARN_MORE":"Giúp chúng tôi tìm hiểu thêm về bạn.","LIFESTYLE":"Phong cách sống","SPORTS":"Thể thao","FOOD_HEALTH":"Thực phẩm & sức khỏe","BEAUTY_FASHION":"Làm đẹp & Thời trang","NEWS":"Tin tức","GAMING":"Trò chơi","SCIENCE_EDUCATION":"Khoa học & giáo dục","MUSIC":"Âm nhạc","TRAVEL":"Du lịch","LATE_NIGHT":"Đêm khuya","REALITY":"Thực tế","COMEDY":"Hài kịch","DIY":"Cách tự làm","TECH":"Công nghệ","CINEMA":"Rạp chiếu phim","CONTINUE":"Tiếp tục","SLOW_LOADING":"TẢI CHẬM?","I_GIVE_UP":"TÔI TỪ BỎ","LEARN_MORE":"Tìm hiểu thêm","POOR_SOURCE":"Nguồn này kém khả dụng hoặc kết nối internet của bạn không đủ nhanh","PICK_CATEGORIES_ERR":"Bạn phải chọn ít nhất 3 danh mục","ADJUST_TIMING":"Điều chỉnh thời gian với ","ADJUST_SIZE":"Điều chỉnh kích thước với ","SEARCH_ANYTHING":"Bạn có thể tìm kiếm mọi thứ...","ALL_CATEGORIES":"Tất cả","SEARCH_CATEGORIES":"Phim, Loạt phim, YouTube và TV","SEARCH_PERSONS":"Diễn viên, Đạo diễn & Biên kịch","SEARCH_PROTOCOLS":"HTTP & Liên kết nam châm","SEARCH_TYPES":"Liên kết IMDB / TVDB","WATCHED":"Đã xem","SHOW_LESS":"Hiện ít hơn","LAST_SEARCHES":"Tìm kiếm cuối cùng","CLEAR_HISTORY":"Xóa lịch sử","CHOOSE_SOME":"CHỌN MỘT SỐ ĐIỀU NÀY:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Công cụ Web từ xa không tải được","STREMIO_OFFLINE":"Stremio đang ngoại tuyến","STREMIO_EXPENSIVE_CONNECTION":"Chúng tôi đã phát hiện ra rằng bạn đang sử dụng kết nối dữ liệu di động, bạn có muốn tiếp tục không?","USE_DATA":"Sử dụng dữ liệu","WARNING":"Cảnh báo","MORE_INFO":"Thêm thông tin ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Đang tải ...","STREMIO_TV_BACK_TO_LANGUAGES":"Quay lại ngôn ngữ","STREMIO_TV_REMOTE":"Từ xa","STREMIO_TV_GO_TO":"Đi đến:","STREMIO_TV_OR_SCAN":"hoặc quét:","STREMIO_TV_ADDON_INSTRUCTIONS":"Vui lòng làm theo hướng dẫn để cài đặt các add-on ưa thích của bạn.","STREMIO_TV_LIVE_TV":"Truyền hình trực tiếp","STREMIO_TV_RESUME_WATCHING":"Tiếp tục Xem","STREMIO_TV_LOADING_BACKGROUND":"Đang tải trong nền","STREMIO_TV_CHECKING_AUTHENTICATION":"Kiểm tra xác thực","STREMIO_TV_LOADING_BOARD":"Đang tải Bảng","STREMIO_TV_LOGIN_HEADER_LINE_1":"Chúng tôi muốn người dùng có trải nghiệm được cá nhân hóa tốt nhất có thể với phần mềm của chúng tôi.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Vì lý do này mà chúng tôi đề nghị bạn tạo và/hoặc đăng nhập vào tài khoản của mình.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Cảm ơn bạn đã hiểu,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Nhóm Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Để sử dụng Web Từ xa với Điện thoại thông minh / Máy tính bảng / Máy tính để bàn của bạn:","STREMIO_TV_WIFI_SETUP":"Thiết lập Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle không phát hiện thấy kết nối internet.","STREMIO_TV_WIFI_DETAILS_1":"Kết nối với:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Sử dụng mật khẩu:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Mở trình duyệt web bằng liên kết:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Mặc định","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Theo lần xem cuối cùng","STREMIO_TV_LIBRARY_SORT_NAME":"Theo tên","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Theo tên giảm dần","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Theo số lần đã xem","STREMIO_TV_LIBRARY_SORT_WATCHED":"Theo Đã xem","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Theo Chưa xem","STREMIO_TV_DETAILS_SEASON_NUMBER":"Mùa ${1}","STREMIO_TV_STREAMS_LOADING":"Đã tải ${1} / ${2} add-on...","STREMIO_TV_STREAMS_STILL_LOADING":"add-on ${1} vẫn đang tải...","STREMIO_TV_PLAYER_SETTINGS":"Thiết đặt trình phát","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Độ trễ phụ đề","STREMIO_TV_PLAYER_AUDIO_DELAY":"Độ trễ âm thanh","STREMIO_TV_PLAYER_VIDEO_SCALING":"Thu phóng video","STREMIO_TV_PLAYER_CHAPTERS":"Chương","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Bỏ qua ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nguồn luồng không được hỗ trợ","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Mở liên kết ngoài không thành công","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Không thể điều chỉnh ở chế độ truyền âm thanh","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Phát bằng ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Phát bằng trình phát libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Chuyển sang trình phát libVLC do lỗi phát lại","STREMIO_TV_ADDONS_TITLE":"Sử dụng Stremio trên Điện thoại hoặc PC của bạn để cài đặt hoặc định cấu hình add-on và nhấn \\"Đồng bộ hóa Add-on\\"","STREMIO_TV_ADDONS_SUBTITLE":"Lưu ý: đảm bảo rằng bạn đang sử dụng cùng một tài khoản Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Đồng bộ hóa Add-on","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Add-on được đồng bộ hóa thành công","STREMIO_TV_ADDONS_SYNC_FAILED":"Không thể đồng bộ hóa add-on","STREMIO_TV_META_LINK_FAILED":"Mở siêu liên kết không thành công","STREMIO_TV_CATALOG_LOADING":"Danh mục vẫn đang tải...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Ngôn ngữ giao diện được cập nhật","STREMIO_TV_SETTINGS_THEME_UPDATED":"Đã cập nhật chủ đề","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Trình phát mặc định","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Trình phát bên ngoài","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Ngôn ngữ ưa thích","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Ngôn ngữ ưa thích thứ hai","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Phát lại trong đường hầm","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Có thể xảy ra sự cố phát lại trên một số thiết bị","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Một số định dạng video có thể không hoạt động","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Khớp tốc độ khung hình","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Đã tắt","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Chỉ tốc độ khung hình","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Tốc độ khung hình và độ phân giải","STREMIO_TV_SETTINGS_NO_CACHING":"Không có bộ nhớ đệm","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Mặc định","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Vừa","STREMIO_TV_SETTINGS_PROFILE_FAST":"Nhanh","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Siêu nhanh","STREMIO_TV_SETTINGS_SERVER_URL":"Url máy chủ truyền trực tuyến","STREMIO_TV_SETTINGS_SERVER_VERSION":"Phiên bản máy chủ","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Không xác định","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Phiên bản Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Chỉnh sửa url máy chủ","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Nhập url máy chủ truyền trực tuyến","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Hiển thị số liệu thống kê trong khi tải","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Để đọc Chính sách quyền riêng tư của Stremio, hãy truy cập:","STREMIO_TV_SETTINGS_TOS_TEXT":"Để đọc Điều khoản và điều kiện của Stremio, hãy truy cập:","STREMIO_TV_NAV_SEARCH":"Tìm kiếm","STREMIO_TV_NAV_HOME":"Trang chủ","STREMIO_TV_NAV_DISCOVER":"Khám phá","STREMIO_TV_NAV_LIBRARY":"Thư viện","STREMIO_TV_NAV_MOVIES":"Phim","STREMIO_TV_NAV_SERIES":"Loạt phim","STREMIO_TV_NAV_CHANNELS":"Kênh truyền hình","STREMIO_TV_NAV_TV":"Truyền hình trực tiếp","STREMIO_TV_NAV_SETTINGS":"Thiết đặt","STREMIO_TV_NAV_ADDONS":"Add-on","STREMIO_TV_LOGIN_TITLE":"Liên kết tài khoản","STREMIO_TV_LOGIN_EXPIRES_IN":"Hết hạn sau","STREMIO_TV_LOGIN_STEP_ONE":"Quét mã QR ở trên hoặc truy cập","STREMIO_TV_LOGIN_STEP_TWO":"Đăng nhập vào tài khoản Stremio của bạn","STREMIO_TV_LOGIN_NEW_LINK":"Yêu cầu liên kết mới","STREMIO_TV_LOGIN_LINK_REFRESHED":"Mã đăng nhập được làm mới","STREMIO_TV_SEARCH_PLACEHOLDER":"Nhập gì đó","STREMIO_TV_SEARCH_NO_ADDONS":"Không có add-on nào được yêu cầu cho danh mục!","STREMIO_TV_SEARCH_BUTTON":"Tìm kiếm","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Lịch sử tìm kiếm","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Bạn có thể tìm kiếm Tiêu đề, Diễn viên, Kênh và hơn thế nữa...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Xóa lịch sử tìm kiếm","STREMIO_TV_FILTERS_DESCRIPTION":"Chọn từ một trong các bộ lọc bên dưới","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Máy chủ phát trực tuyến đang ngoại tuyến. Kiểm tra thiết đặt máy chủ.","FILTERS":"Bộ lọc","SETTINGS":"Thiết đặt","ACCOUNT":"Tài khoản","LOGOUT":"Đăng xuất","THEMES":"Chủ đề","PLAYBACK":"Phát lại","PLAYBACK_SPEED":"Tốc độ phát lại","AUDIO_TRACKS":"Luồng âm thanh","UNKNOWN_TRACK_LANG":"không rõ","VIDEOS":"Video","SERVER":"Máy chủ","LINKS":"Liên kết","ABOUT":"Giới thiệu","INTERFACE":"Giao diện","ANIMATIONS":"Hoạt hình","STATUS":"Trạng thái","LANGUAGE":"Ngôn ngữ","SIZE":"Kích cỡ","DELAY":"Độ trễ","BOLD":"In đậm","OPACITY":"Độ mờ","TEXT_COLOR":"Màu văn bản","OUTLINE_COLOR":"Màu đường viền","BACKGROUND_COLOR":"Màu nền","BACKGROUND_BLUR":"Làm mờ nền","SEEK_TIME_DURATION":"Thời lượng tua","AUTO_PLAY":"Tự động phát tập tiếp theo","PLAY_NOW":"Phát ngay","MARK_AS_WATCHED":"Đánh dấu là đã xem","MARK_AS_UNWATCHED":"Đánh dấu là Chưa xem","REWIND_TO_BEGINNING":"Tua lại từ đầu","CONTINUE_WATCHING":"Tiếp tục xem","ALL":"Tất cả","SECONDS":"giây","ON":"MỞ","OFF":"TẮT","RELOAD":"Tải lại","EDIT_URL":"Chỉnh sửa URL","URL":"URL","NONE":"Không","EMBEDDED":"Đã nhúng","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Chuyển đổi thiết bị","REMOTE_VIDEOS":"Video","REMOTE_ADJUST_TIMING":"Điều chỉnh thời gian","REMOTE_ADJUST_SIZE":"Điều chỉnh kích thước","REMOTE_COULD_NOT_BE_LOADED":"Công cụ Web từ xa không tải được","REMOTE_RETRY":"Thử lại","TORRENT_PROFILE_DEFAULT":"Mặc định","TORRENT_PROFILE_SOFT":"Vừa","TORRENT_PROFILE_FAST":"Nhanh","TORRENT_PROFILE_ULTRA_FAST":"Siêu nhanh","MB_S":"MB/s","FAQ_001_H1":"Stremio là gì?","FAQ_001_P1":"Stremio là phần mềm trung tâm truyền thông được thiết kế để giải trí video dễ sử dụng. Stremio cho phép bạn sắp xếp & xem bộ sưu tập phim, loạt phim, kênh và chương trình truyền hình trực tiếp của riêng mình.","FAQ_001_P2":"Stremio thu thập nội dung mà nó hiển thị cho bạn từ đĩa cục bộ của bạn và hệ thống add-on của chúng tôi.","FAQ_001_P3":"Nó cũng sẽ thông báo cho bạn khi các tập/video/phim mới mà bạn quan tâm ra mắt và cung cấp các đề xuất phim cho bạn.","FAQ_02_H1":"So sánh Stremio với Kodi và Plex như thế nào?","FAQ_02_P1":"Chúng tôi lấy cảm hứng từ hai phần mềm đó. Nhưng chúng tôi có các mục tiêu khác nhau - Stremio được nhắm mục tiêu cụ thể đến video giải trí và cố gắng trở thành giải pháp chính cho điều đó bằng cách rất dễ sử dụng.","FAQ_02_P2":"Stremio sẽ không bao giờ có thể tùy chỉnh và giàu tính năng như Kodi và Plex, nhưng nó dễ sử dụng hơn đáng kể. Chỉ cần ${1} lấy nó và thấy ${2}:)","FAQ_03_H1":"So sánh Stremio với Netflix như thế nào?","FAQ_03_P1":"Một lần nữa, Netflix là một trong những nguồn cảm hứng của chúng tôi. Chúng tôi cố gắng đạt được trải nghiệm người dùng của Netflix, cùng với nhiều tính năng bổ sung. Nhưng quan trọng nhất, chúng tôi cho phép bạn tự do quản lý thư viện của riêng mình và thêm các nguồn nội dung mới bằng hệ thống add-on.","FAQ_03_P2":"Điều đó làm cho Stremio có thể mở rộng vô tận, vì vậy khi sử dụng Stremio, bạn không bao giờ bị giới hạn ở nội dung mà Netflix quyết định cấp phép. Ví dụ: thông qua Stremio, bạn có thể xem nội dung từ ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} và thậm chí ${9} chính Netflix${10}!","FAQ_04_H1":"So sánh Stremio với Flipboard như thế nào?","FAQ_04_P1":"Chúng tôi không thường xuyên nhận được câu hỏi đó, trừ khi nói chuyện với những người khởi nghiệp :)","FAQ_04_P2":"Theo thiết kế, Stremio là một công cụ tổng hợp nội dung, về cơ bản biến nó thành Flipboard cho video. Điều này thể hiện rất rõ ràng trong phần Bảng của chúng tôi. Phần này cung cấp cho bạn danh mục và tập mới/thông báo video mới cho nội dung bạn theo dõi, giống như Flipboard.","FAQ_05_H1":"So sánh Stremio với Popcorn Time như thế nào?","FAQ_05_P1":"Stremio và Popcorn Time giống nhau về giao diện người dùng, vì không có nhiều cách để làm danh mục giải trí video đúng không :)","FAQ_05_P2":"Nhưng trong khi Popcorn Time tập trung vào truyền trực tuyến torrent từ các nguồn cụ thể, thì Stremio không bị hạn chế và chỉ đơn thuần là một công cụ tổng hợp nội dung - nó không bị khóa vào một nguồn nội dung cụ thể.","FAQ_05_P3":"Hơn nữa, theo mặc định, chúng tôi không cung cấp bất kỳ add-on torrent nào, vì vậy Stremio không bao gồm trường hợp sử dụng Popcorn Time với chức năng chính thức.","FAQ_05_P4":"Một điểm khác biệt đáng chú ý nữa là Popcorn Time là nguồn mở hoàn toàn, trong khi Stremio là ${1} nguồn mở một phần${2}.","FAQ_06_H1":"Bạn sẽ thêm phim/loạt phim này chứ?","FAQ_06_P1":"Không, xin lỗi:(","FAQ_06_P2":"Như đã đề cập trong hầu hết các câu hỏi khác, Stremio không tự cung cấp bất kỳ nội dung nào - mọi thứ được thêm thông qua hệ thống add-on. Trong trường hợp bạn có yêu cầu về nội dung, bạn có thể sử dụng nút “Báo cáo” trong Trình phát, nút này sẽ gửi email tới tác giả của add-on bạn hiện đang sử dụng.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Bạn sẽ tạo add-on cho X chứ?","FAQ_08_P1":"Hoàn toàn có thể.","FAQ_08_P2":"Nếu bạn có ý tưởng về add-on, hãy gửi thư cho chúng tôi theo địa chỉ ${1}office@stremio.com${2}, nhưng vui lòng đảm bảo rằng ý tưởng add-on của bạn sẽ không vi phạm bất kỳ bản quyền hoặc điều khoản sử dụng nào.","FAQ_08_P3":"Hiện tại, những thứ tiếp theo trong lộ trình của chúng tôi là các add-on cho FandangoNOW, video theo yêu cầu của Filmon.tv và Crunchyroll.","FAQ_09_H1":"Stremio có sử dụng BitTorrent không?","FAQ_09_P1":"Có, Stremio hỗ trợ BitTorrent dưới dạng giao thức truyền trực tuyến. Bạn có thể sử dụng giao thức đó với add-on torrent hoặc bằng cách kéo và thả tệp .torrent vào Stremio hoặc bằng cách dán liên kết nam châm vào Thanh tìm kiếm.","FAQ_09_P2":"Xin lưu ý rằng add-on chính thức duy nhất sử dụng BitTorrent là ${1}Vodo${2}, cung cấp nội dung độc lập, tất cả đều được phép phân phối với BitTorrent.","FAQ_09_P3":"Chúng tôi không hỗ trợ việc sử dụng bất kỳ add-on nào của bên thứ ba có thể dẫn đến vi phạm bản quyền.","FAQ_10_H1":"Tôi có thể xem gì trong Stremio với các add-on chính thức?","FAQ_10_P1":"Theo mặc định, bạn có thể xem nội dung Filmon.tv, YouTube và Vodo trong chính Stremio, với trình phát được nhúng. Ngoài ra, chúng tôi có một add-on cho Twitch.tv và một số tiện ích khác.","FAQ_10_P2":"Sự kết hợp này cung cấp một lựa chọn gồm:","FAQ_10_L1":"Các kênh TV nổi tiếng do Filmon.tv cung cấp - ví dụ E4, BBC, Bollyworld TV","FAQ_10_L2":"Mọi thứ từ YouTube - ví dụ: BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Phim độc lập với Vodo","FAQ_10_L4":"Phát sóng trò chơi trực tuyến với Twitch.tv","FAQ_10_P3":"Ngoài ra, có nhiều nguồn nội dung được cung cấp cùng với Guidebox và add-on Netflix không phát hoàn toàn bên trong Stremio mà sẽ chuyển hướng đến dịch vụ nhất định. Ví dụ: add-on Guidebox sẽ cung cấp cho bạn một lựa chọn phim bạn có thể truyền trực tuyến miễn phí ở Hoa Kỳ, từ các dịch vụ như TubiTV và Crackle.","FAQ_11_H1":"Stremio không cài đặt, tôi nên làm gì?","FAQ_11_P1":"Nếu bạn đang dùng Windows, hãy thử ${1}trình cài đặt thay thế này${2}.","FAQ_11_P2":"Nếu bạn đang dùng Mac OS X, xin lưu ý rằng chúng tôi không hỗ trợ bất kỳ thứ gì cũ hơn OS X Mavericks (10.9).","FAQ_11_P3":"Nếu bạn đang sử dụng Linux, hãy lưu ý rằng chúng tôi hiện chỉ hỗ trợ Linux 64 bit (x64).","FAQ_11_P4":"Nếu bạn vẫn không thể giải quyết vấn đề của mình, vui lòng viết thư cho chúng tôi tại ${1}nhóm Facebook${2} của chúng tôi.","FAQ_12_H1":"Tại sao phần mềm chống vi-rút của tôi phàn nàn? Stremio có an toàn không?","FAQ_12_P1":"Chúng tôi đảm bảo với bạn rằng Stremio ${1}sạch 100%${2}.","FAQ_12_P2":"Phần mềm chống vi-rút của bạn đang phàn nàn vì chúng tôi bao gồm quảng cáo trong trình cài đặt của chúng tôi mà một số chương trình chống vi-rút nhận ra là phần mềm quảng cáo.","FAQ_12_P3":"Nếu vẫn không chắc chắn, bạn có thể dùng thử ${1}trình cài đặt thay thế${2} của chúng tôi.","FAQ_13_H1":"Tôi có thể tạo add-on bằng cách nào?","FAQ_13_P1":"Đối với người mới bắt đầu, chúng tôi khuyên bạn nên kiểm tra ${1}mô-đun hệ thống add-on${2} của chúng tôi trên GitHub.","FAQ_13_P2":"Sau đó, bạn có thể làm theo ${1}Hướng dẫn Hello World${2}.","FAQ_13_P3":"Nếu bạn không có bất kỳ kỹ năng lập trình nào, vui lòng đăng ý tưởng của bạn trên ${1}cộng đồng Reddit${2} và liên hệ với chúng tôi về ý tưởng add-on của bạn trên ${3}office@stremio.com${4}.","FAQ_14_H1":"Add-on được xuất bản như thế nào?","FAQ_14_P1":"Khi bạn tạo một add-on và máy chủ lưu trữ, đồng thời đặt trường endpoint trong tệp kê khai của bạn, trường này trỏ đến một địa chỉ add-on đang hoạt động, add-on đó sẽ tự động xuất bản chính nó lên ${1}danh mục Add-on${2} của chúng tôi.","FAQ_14_P2":"Điều này xảy ra vì phần máy chủ của mô-đun stremio-add-on tự động gọi API của chúng tôi để thông báo về add-on. Khi API của chúng tôi xác thực endpoint của bạn là một add-on hợp lệ, nó sẽ bắt đầu hiển thị trong danh mục .","FAQ_15_H1":"Tôi có thể chạy Stremio trong trình duyệt của mình không?","FAQ_15_P1":"Không phải lúc này, nhưng điều này đang đến!","FAQ_15_P2":"Nếu muốn xem bản Alpha, bạn có thể xem tại đây: ${1}alpha4.strem.io${2}. Lưu ý rằng tính năng truyền trực tuyến bị tắt trên bản alpha này. Chúng tôi hỗ trợ Chrome, Firefox, Opera và Edge .","FAQ_16_H1":"Truyền tới TV không hoạt động / phụ đề không hoạt động","FAQ_16_P1":"Truyền tới TV sử dụng công nghệ DLNA rất không nhất quán giữa các thương hiệu và kiểu TV khác nhau. Vì lý do đó, chúng tôi không có khả năng kiểm tra nó trong mọi trường hợp, vì vậy nó còn lâu mới hoàn hảo. Mặc dù vậy, chúng tôi đang nghiên cứu liên tục cải thiện nhưng chúng tôi không thể cung cấp cho bạn ước tính thời gian khi nào DLNA sẽ bắt đầu hoạt động bình thường với TV của bạn.","FAQ_16_P2":"Nếu bạn thậm chí không thấy TV của mình trong menu truyền, vui lòng thử tắt kết nối mạng của bạn và bật lại (trên Windows, nhấp chuột phải vào Mạng và sử dụng Bật/Tắt), cũng như khởi động lại bộ định tuyến, TV và PC.","FAQ_16_P3":"Nếu bạn vẫn gặp sự cố, bạn có thể giúp chúng tôi bằng cách gửi thông tin về thương hiệu và mẫu TV của bạn tại ${1}office@stremio.com${2}.","FAQ_16_P4":"Trong thời gian chờ đợi, chúng tôi khuyên dùng Chromecast, dịch vụ mà chúng tôi hỗ trợ rất tốt hoặc chỉ cần cắm TV của bạn vào PC bằng cáp HDMI.","FAQ_17_H1":"Stremio bị treo và/hoặc gặp sự cố, tôi có thể làm gì?","FAQ_17_P1":"Trước hết, nếu bạn đang sử dụng Windows 7 với phần mềm chống vi-rút AVG: chúng tôi gặp sự cố với sự kết hợp đó. Sự cố nằm ở chính AVG và không có cách hợp lý nào để giải quyết vấn đề đó từ phía chúng tôi. Thật không may, ngoại lệ hoặc vô hiệu hóa phần mềm chống vi-rút sẽ không hoạt động. Giải pháp duy nhất là thay thế AVG bằng một thứ khác.","FAQ_17_P2":"Nếu đó không phải là vấn đề, nhưng bạn vẫn đang sử dụng Windows, vui lòng cập nhật lên gói dịch vụ mới nhất và cập nhật/cài đặt lại trình điều khiển GPU của bạn, sau đó thử lại.","FAQ_17_P3":"Nếu sự cố của bạn vẫn chưa được giải quyết hoặc bạn đang sử dụng Mac hoặc Linux, vui lòng viết thư cho chúng tôi để báo cáo chi tiết chính xác về sự cố tại ${1}nhóm Facebook của chúng tôi${2}.","FAQ_18_H1":"Tôi có thể tạo add-on bằng cách nào?","FAQ_18_P1":"Đối với người mới bắt đầu, chúng tôi khuyên bạn nên kiểm tra ${1}mô-đun hệ thống add-on${2} của chúng tôi trên GitHub.","FAQ_18_P2":"Sau đó, bạn có thể làm theo ${1}Hướng dẫn Hello World${2}.","FAQ_18_P3":"Nếu bạn không có bất kỳ kỹ năng lập trình nào, vui lòng đăng ý tưởng của bạn trên ${1}cộng đồng Reddit${2} và liên hệ với chúng tôi về ý tưởng add-on của bạn trên ${3}office@stremio.com${4}.","FAQ_19_H1":"Tại sao Stremio chiếm dung lượng ổ đĩa?","FAQ_19_P1":"Stremio có bộ nhớ đệm cục bộ để tạm thời giữ các tệp video mà bạn truyền trực tuyến.","FAQ_19_P2":"Điều này có hai lợi ích: thứ nhất, nó cho phép Stremio tạo bộ nhớ đệm trước cho video ở phía trước để đảm bảo truyền phát mượt mà hơn. Thứ hai, nó giữ video trong bộ nhớ đệm cục bộ để bạn có thể xem tiếp khi ngoại tuyến.","FAQ_19_P3":"Mức lưu trữ của Stremio tùy thuộc vào thiết đặt Bộ nhớ đệm trong bảng Thiết đặt. Stremio có thể giữ tối đa lượng đã đặt (ví dụ: 2GB) trên ổ đĩa của bạn, trừ khi video hiện đang truyền trực tuyến lớn hơn mức đó, trong đó trường hợp nó phải phân bổ đủ bộ nhớ để giữ cho đến khi bạn truyền trực tuyến.","FAQ_20_H1":"Thư mục bộ nhớ đệm ở đâu?","FAQ_20_P1":"Trên Windows, đó là stremio-cache trong ổ đĩa bạn đã chọn trong Thiết đặt (ví dụ: \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Trên MacOS, đó là \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Trên Linux, đó là \\"~/.stremio/stremio-cache\\" hoặc \\"~/stremio-cache\\"","FAQ_21_H1":"Tôi gặp lỗi \\"Không tìm thấy máy chủ truyền trực tuyến\\", tôi có thể làm gì?","FAQ_21_P1":"Nếu bạn gặp lỗi này, điều đó có nghĩa là một trong số những điều sau:","FAQ_21_P2":"1) Bạn đang cố gắng sử dụng một add-on được hỗ trợ bởi nguồn YouTube/BitTorrent, thông qua ${1}phiên bản web${2} của chúng tôi. Trong trường hợp này, bạn nên cài đặt phiên bản dành cho máy tính để bàn của chúng tôi từ ${3}trang web của chúng tôi${4 }.","FAQ_21_P3":"2) Đã xảy ra lỗi với cài đặt Stremio của bạn. Trong trường hợp này, hãy thử cài đặt lại phiên bản mới nhất dành cho máy tính để bàn của chúng tôi từ ${1}trang web${2}. Nếu cách này không hiệu quả, hãy thử tắt tường lửa và chương trình chống vi-rút, khởi động lại PC của bạn và thử lại. Nếu cách này cũng không hoạt động, vui lòng viết thư cho chúng tôi tại ${3}nhóm Facebook của chúng tôi${4}.","FAQ_22_H1":"Tôi không thể xem/sử dụng hầu hết các add-on trên iOS","FAQ_22_P1":"Do các hạn chế trong các điều khoản và điều kiện của Apple App Store, chúng tôi đã giới hạn ứng dụng iOS chỉ cho một bộ add-on cụ thể.","FAQ_22_P2":"Nhưng hãy yên tâm - sẽ có nhiều add-on cho iOS trong tương lai và chúng tôi cũng có thể thêm tích hợp cho phép bạn sử dụng tất cả các add-on Stremio nhờ kết nối ứng dụng iOS với Máy chủ truyền trực tuyến Stremio."}')},17602:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"电影","TYPE_series":"剧集","TYPE_tv":"电视频道","TYPE_channel":"频道","TYPE_other":"其他","TYPE_movie_PL":"电影","TYPE_series_PL":"剧集","TYPE_tv_PL":"电视频道","TYPE_channel_PL":"频道","TYPE_other_PL":"其他","TYPE_ALL":"全部","TYPE":"类型","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"视频","BACK":"返回","MORE":"更多","DONE":"完成","COPY":"复制","SUCCESS":"成功","ERROR":"错误","SETTINGS_CASTING_MODE_PICKER":"投屏模式","CASTING_MODE_HLSV2":"默认","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"不转码","Discover":"发现","Board":"首页","Library":"库","My Library":"我的库","Calendar":"日历","NOTIFICATION_ONLINE":"您当前处于在线状态","NOTIFICATION_OFFLINE":"您当前处于离线状态","INTERNET_CONNECTION":"网络连接","STORAGE_FULL_TITLE":"警告:储存空间已满!","STORAGE_FULL_TEXT":"Stremio将无法保存您的设置、首选项或登录信息,考虑重新启动或重新安装Stremio。","SEARCH":"搜索","SEARCH_NO_RESULTS":"未找到结果","SEARCH_EXPLANATION_CONTENT":"搜索电影、剧集、YouTube和电视频道","SEARCH_EXPLANATION_PEOPLE":"搜索演员、导演和编剧","SEARCH_PASTE_LINKS":"粘贴HTTP和Magnet链接","SEARCH_OR_PASTE_LINK":"搜索或粘贴链接","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"添加到库中","REMOVE_FROM_LIB":"从库中删除","ADDED_TO_LIB":"添加到库中","REMOVED_FROM_LIB":"从库中删除","TRAILER":"预告片","WATCH_TRAILER":"观看预告片","WATCH_NOW":"立即观看","SHOW":"查看","SHOW_MOVIE":"查看电影","WATCH_RANDOM":"随机观看","IMDB_RATING":"IMDb评分","YEAR":"年份","DIRECTOR":"导演","WRITER":"编剧","LEAD_ACTORS":"主演","CAST":"全部演员","CREW":"全部工作人员","SHOW_MORE_CAST":"显示更多 »","AIRED":"播出时间","SEASONS":"季","GENRE":"类型","GENRE_ALL":"所有流派","CATALOG":"目录","SUMMARY":"简介","SHOW_MORE":"显示更多","SIMILAR":"相似","UPCOMING":"即将上映","TBA":"TBA","ENDED":"已完结","DURATION":"时长","FEATURED":"功能","METADATA":"元数据","CATEGORY":"类别","LINKS_GENRES":"流派","LINKS_CAST":"演员","LINKS_DIRECTORS":"导演","SEARCH_VIDEOS":"搜索视频","SEARCH_PLACEHOLDER":"搜索或粘贴URL","ADDON":"插件","ADDONS":"插件","OFFICIAL":"官方","ADDONS_OFFICIAL":"官方Stremio插件","ADDONS_POPULAR":"在您所在的地区很受欢迎","ADDON_FREE":"免费","ADDON_PEERED":"连接","ADDON_SUBSCRIPTION":"订阅","ADDON_STREAM_GEORESTRICTED":"在您所在的地区不提供","ADDON_STREAM_OFFLINECACHE":"离线缓存","ADDON_STREAM_LOCALFILE":"本地文件","SHARE_ADDON":"分享插件","AVAILABLE_STREAMS":"可用流媒体","NO_STREAM":"未找到流媒体","ALL_ADDONS":"全部","INSTALL_MORE_ADDONS":"要获取更多流媒体,请安装更多插件","STREAM_NOT_SUPPORTED":"此平台不支持所选流媒体。","ADDON_CATALOGUE":"显示所有插件 »","ADDON_CATALOGUE_MORE":"安装插件","REPO_ADDED":"已添加存储库","ADDON_REPO_EXIST_ERR":"此插件集合已存在","ADDON_REPO_ERR":"添加集合时出错","ADDON_ADD_ERR":"添加插件时出错","ERR_ADDON_PROTECTED":"无法卸载插件,它受到保护","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"出了一些问题——身份验证可能失败","ERR_NOT_COLLECTION_URL":"不是集合URL","ERR_NOT_ADDON_URL":"不是有效的插件URL","ERR_DETECTFROMURL":"再此URL中找不到插件/集合","ADDON_DUPLICATE_WARNING":"警告:重复的插件","ADDON_COLLECTION_SET_FAILED":"将已安装的插件同步到您的账户失败","SETTINGS_DATA_EXPORT":"导出用户数据","ADDON_PULL_FAILED":"从您的帐户同步已安装的插件失败","REFRESH_ON_CLICK":"点击重试","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"电影还在影院上映","WATCH_IN_CINEMA":"请到您本地的影院观看","IN_THEATER":"在影院上映","GET_TICKETS":"购票","UPCOMING_EPISODE":"下一集","UPCOMING_EPISODE_MESSAGE":"这一集即将播出","MISSING_DATE_EPISODE":"缺失的一集日期","MISSING_DATE_EPISODE_MESSAGE":"这一集可能还没有播出","CHANNEL_NOT_SCRAPED":"这个频道还没有被削刮,请过几分钟再来。","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"将其添加到库中,以便在可用时收到通知。","GET_NOTIFIED_WHEN_AVAILABLE":"一旦可用,您将会收到通知。","WARNING_STREAMING_SERVER":"警告:找不到本地流媒体服务器,来自本地文件、YouTube、和BitTorrent的流媒体将不可用。","WARNING_STREAMING_SERVER_DISMISS":"忽略","WARNING_STREAMING_SERVER_LATER":"推迟","DECODER_WARNING":"警告:您的硬件可能不支持此视频,请记住,播放可能会很慢。","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"糟糕,播放器错误","PLAYER_ERROR_LOOKSLIKE":"看起来似乎","PLAYER_ORIENTATION":"播放器方向","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"锁定","PLAYER_ORIENTATION_SENSOR_SHORT":"传感器","PLAYER_ORIENTATION_LANDSCAPE":"播放器方向锁定横向","PLAYER_ORIENTATION_SENSOR":"播放器方向自动(传感器)","PLAYER_PLAYBACK_SPEED":"播放速度","PLAYER_PLAYBACK_ERROR":"播放错误,请重试","PLAYER_PLAYBACK_ERROR_UNKNOWN":"未知错误","PLAYER_PLAYBACK_ERROR_DEFAULT":"抱歉,{{productName}}无法播放此视频。","PLAYER_SUBTITLES_LANGUAGES":"字幕语言","PLAYER_SUBTITLES_VARIANTS":"字幕变形","PLAYER_SUBTITLES_SETTINGS":"字幕设置","PLAYER_SUBTITLES_DISABLED":"字幕已关闭","PLAYER_SUBTITLES_VERTICAL_POSIITON":"垂直位置","PLAYER_SUBTITLES_LOADED":"已加载字幕","PLAYER_SUBTITLES_LOADED_EMBEDDED":"已加载嵌入字幕","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"已加载外部字幕","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"已加载{{origin}}字幕","PLAYER_PLAY":"播放","PLAYER_PAUSE":"暂停","PLAYER_NEXT_VIDEO":"下一个视频","PLAYER_MUTE":"静音","PLAYER_UNMUTE":"取消静音","PLAYER_OPEN_IN_EXTERNAL":"在外部播放器中打开","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"在{{device}}上播放","PLAYER_LIVE":"直播","PLAYER_NEXT_VIDEO_TITLE":"下个视频","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"关闭","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"现在观看","PLAYER_COPY_STREAM_SUCCESS":"流媒体链接已复制到您的剪贴板","PLAYER_COPY_STREAM_ERROR":"复制流媒体链接失败","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"流媒体","CASTING_TO":"投屏到","NETWORK_STATUS":"网络状态","STREAM_SPEED":"串流速度:","STREAM_BUFFERED":"已缓冲:","PEERS_INFO":"节点信息","PEERS_ACTIVE":"活跃:","PEERS_CONNECTED":"已连接:","PEERS_WAITING":"等待:","TRANSCODING_WARNING":"警告:转码视频。","STREAM_LOADING":"加载...","PLAYING_LOCAL":"从本地文件播放","PLAYING_CACHE":"从缓存播放","WRONG_SUBS":"字幕错误?","ERR_SUBS_LOADING_TITLE":"加载字幕时出错","ERR_SUBS_LOADING":"字幕加载失败:这可能是您正在使用的插件或网络连接的问题","WARN_FOLLOWING_SUB_ADDONS_FAILED":"以下字幕插件失败","ERR_CASTING_UPDATE_TITLE":"无法更新投屏设备信息:流媒体服务器可能离线","CHOOSE_DEVICE":"选择在哪个设备上播放","NO_CAST_DEVICES":"无可用投屏设备。","NO_SETTINGS":"无可用设置。","NO_OPTIONS":"No options available","PHONE_TABLET":"手机/平板电脑","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"字幕","SUBTITLES_CHANGE":"调整字幕","SUBTITLES_CHANGE_NONE":"抱歉,这种语言没有其他字幕。","SUBTITLES_CHANGE_ACIVE":"当前字幕#{{subtitlesDialog.activeIdx + 1}}被激活,点击\\"继续\\"激活字幕#{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"或者,","SUBTITLES_ADJUST_DELAY":"调整字幕延迟:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"或在播放时使用G / H键进行调整。","SUBTITLES_ADJUST_DELAY_TIP":"提示:您可以在播放时使用G / H键进行调整。","SUBTITLES_DELAY":"字幕延迟:","SUBTITLES_LOADING":"加载字幕...","SUBTITLES_UNAVAILABLE":"没有可用的外部字幕","SUBTITLES_DISABLED":"关闭","EXTERNAL_PLAYER_DISABLED":"关闭","EXTERNAL_PLAYER_ALLOW_CHOOSING":"允许选择","EXTERNAL_PLAYER_HINT":"提示:有一个设置允许总是在外部播放器中打开","DONT_SHOW_AGAIN":"不再显示","SERVICE_INSTALL":"安装","AUDIO":"音频","DEFAULT_LANGUAGE":"默认语言","DEFAULT_SECONDARY_LANGUAGE":"默认第二语言","SEASON":"季","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"集","EPISODE_ABBREVIATION":"情节提要","SPECIAL":"特别篇","SORT":"排序","SORT_BY":"排序按照","FILTER":"筛选","SORT_TRENDING":"热门","SORT_RECENT":"最近","SORT_ALPHABET":"首字母","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"评分","SORT_WATCHED":"已观看","SORT_YEAR":"年份","SELECT":"Select","SELECT_TYPE":"选择类型","SELECT_SORT":"选择排序","SELECT_CATALOG":"选择目录","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"选择流派","SORT_LASTWATCHED":"按上次观看","SORT_NAME":"按名称","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"按观看次数","SORT_NOTWATCHED":"not watched","New for You":"新的","New Episodes":"新剧集","New Videos":"新视频","Recommendations":"推荐","LIBRARY_RESUME":"简介","LIBRARY_PLAY":"播放","LIBRARY_DETAILS":"详情","LIBRARY_RESUME_DISMISS":"清除","LIBRARY_CLEAR_PROGRESS":"清除进度","LIBRARY_REMOVE":"移除","LIBRARY_NOT_LOGGED_IN":"库仅适用于已登录的用户","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"日历仅适用于已登录的用户","NOT_LOGGED_IN_CLOUD":"随时随地访问您喜爱的电影和剧集","NOT_LOGGED_IN_RECOMMENDATIONS":"根据您的观看历史量身定制的建议","NOT_LOGGED_IN_NOTIFICATIONS":"再也不要错过任何一集","NOT_LOGGED_IN_CALENDAR":"定制个人观看日历","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"功能","DISCOVER_TOP":"热门","DISCOVER_OSCAR":"奥斯卡获奖作品","DISCOVER_WARNING_TITLE":"糟糕!","DISCOVER_EMPTY_CATALOG":"此插件返回空内容。","DISCOVER_ADULT_WARNING":"此内容仅对成人可见,您是否已满18周岁?","DISCOVER_NOADDON_WARNING":"警告:此类型没有可用的Stremio插件,显示已保存的项目,此处不会更新任何内容。","DISCOVER_LOAD_ERR":"内容未加载,发生错误。","DISCOVER_ADDON_UNINSTALLED":"此内容不再可用,您可能已卸载插件。","UNINSTALL_THIS_ADDON":"卸载此插件","ERR_ADDON_NOT_INSTALLED":"未安装此插件,立即安装?","DETAIL_RECEIVE_NOTIF_SERIES":"接受新剧集的通知","DETAIL_RECEIVE_NOTIF_VIDEOS":"接受新视频的通知","SIDEBAR_SHOW_STREAMS":"显示流媒体","RELAUNCH":"立即重新启动!","UPGRADE":"新版本可用!升级至Stremio的最新版本","RELOAD_UI":"重新加载用户界面","MANUAL_UPDATE_TITLE":"更新您的Stremio版本","MANUAL_UPDATE_LINE1":"您运行的是一个过时的Stremio版本,这是非常不推荐的。","MANUAL_UPDATE_LINE2":"请尽快更新。","BUTTON_UPDATE_LATTER":"不是现在","BUTTON_UPDATE_NOW":"更新","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"匿名用户","DONT_HAVE_ACC":"还没有账户?","HAVE_ACC":"已经有账户了?","PASSWORD":"密码","PASSWORD_CONFIRM":"确认密码","EMAIL":"电子邮箱","FB_LOGIN":"使用Facebook登录","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"未经您的允许,任何内容都不会被共享","FB_NOPOST":"我们不会替您发送任何东西","OR":"或","I_ACCEPT":"我接受","I_ACCEPT_BY_CLICKING":"通过点击上面的按钮,我声明我接受","TOS":"条款和条件","MUST_ACCEPT_TERMS":"您必须接受条款","PASSWORDS_NOMATCH":"密码不匹配","SIGN_UP":"注册","SIGN_UP_EMAIL":"使用电子邮箱注册","CLICK_TO_SIGN_UP":"点击此处注册。","LOG_IN":"登录","LOG_OUT":"注销","EXIT_FULLSCREEN":"退出全屏模式","ENTER_FULLSCREEN":"进入全屏模式","PLAY_URL_MAGNET_LINK":"播放URL/Magnet链接","HELP_FEEDBACK":"帮助和反馈","TERMS_OF_SERVICE":"服务条款","PRIVACY_POLICY":"隐私政策","ABOUT_STREMIO":"关于Stremio","USER_PANEL":"用户面板","LOGIN_LABEL":"Login","GUEST_LOGIN":"访客登录","GUEST_LOGIN_NOTICE":"不建议访客登录,使用常规登录允许Stremio同步您的库,接受喜爱的剧集/频道的通知。您确定要继续吗?","GUEST_LOGIN_NOTICE_2":"不建议访客登录,您将没有同步的库和首页通知,这是Stremio的重要功能。您确定要继续吗?","CLICK_HERE":"点击此处","WRONG_PASSWORD":"错误的电子邮箱或密码,如果您忘了密码,","SET_A_PASS":"设置密码","RESET_PASSWORD":"重置密码","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"忘记密码?","EMAIL_USED_WITH_FB":"此电子邮箱与Facebook登陆一起使用。","INVALID_EMAIL":"请输入有效的电子邮箱地址","INVALID_PASSWORD":"请输入有效的密码","CONN_ERR":"连接错误,请稍后再试。\\n\\n如果问题仍然存在,请禁用防火墙/杀毒软件(特别是Bitdefender)。","IMPORT_FROM_GUEST":"从访客账户导入库","RECEIVE_UPDATES_EMAIL":"从Stremio接受电子邮件更新","LOGIN_FAILED":"登陆失败。","SIGNUP_FAILED":"注册失败。","SEARCH_FAILED":"搜索失败","EMAIL_USED":"此电子邮箱已被使用。","WAITING_FB_LOGIN":"使用Facebook登录...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"在外部播放器中播放","EXTERNAL_REMEMBER_PLAYER":"您想记住您的选择吗","EXTERNAL_ALWAYS_PLAY":"是","EXTERNAL_ONLY_ONCE":"不是","BEST_FIT":"最佳","FIT_SCREEN":"适合屏幕","FILL":"填充","16:9":"16:9","4:3":"4:3","Original":"原始","INTRO_TASTE":"告诉我们您喜欢什么","INTRO_TASTE_LONG":"告诉我们您想看什么","INTRO_TASTE_PICK":"选择{{interestsRemaining}}兴趣","INTRO_TASTE_PICK_MORE":"选择{{interestsRemaining}}更多兴趣","INTRO_TASTE_HELP_US":"帮助我们了解更多有关您的信息。","INTRO_TASTE_CHOOSE_THESE":"选择其中一些:","INTRO_TASTE_CHOOSE_MIN":"至少选3个类别","INTRO_TASTE_CHOOSE_MIN_ERR":"您必须至少选择3个类别!","INTRO_TASTE_LIFESTYLE":"生活方式","INTRO_TASTE_SPORTS":"体育","INTRO_TASTE_FOOD_HEALTH":"饮食与健康","INTRO_TASTE_BEAUTY_FASHION":"美丽与时尚","INTRO_TASTE_NEWS":"新闻","INTRO_TASTE_GAMING":"游戏","INTRO_TASTE_SCIENCE_EDU":"科学与教育","INTRO_TASTE_MUSIC":"音乐","INTRO_TASTE_TRAVEL":"旅行","INTRO_TASTE_LATE_NIGHT":"深夜秀","INTRO_TASTE_REALITY":"真人","INTRO_TASTE_COMEDY":"喜剧","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"技术","INTRO_TASTE_CINEMA":"影院","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"此平台不支持选定的插件。","ADDON_DISCLAIMER":"使用第三方插件将始终受到您的责任和您所在的司法管辖区的法律的约束。","ADDON_ACTIVATE":"激活此插件?","ADDON_REPO_ADD":"插件集合URL","ADDON_ADD":"添加","INSTALL_ADDON":"Install addon","ADD_ADDON":"添加插件","ADD_ADDON_DESCRIPTION":"您可以通过外部链接添加插件,该链接将显示在“已安装的插件”下。","PASTE_ADDON_URL":"粘贴插件URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"最新消息","BUTTON_CONTINUE":"继续","BUTTON_ACTIVATE":"激活","BUTTON_ACTIVATED":"已激活","BUTTON_CANCEL":"取消","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"提交","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"清除全部","BUTTON_VIEW_ALL":"查看全部","BUTTON_SEE_ALL":"查看全部","BUTTON_COLOR_TRANSPARENT":"透明度","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"在浏览器中打开","LIB_EMPTY":"您的库看起来是空的,看看它有多有用:)","HOW_START":"您可以从这里开始:","LIB_EMPTY_CAL":"您的日历显示您库中的剧集。","HOW_START_CAL":"下面是如何添加剧集:","LIB_EMPTY_BOARD":"主页显示与您的库相关的通知&推荐。","HOW_START_BOARD_WAIT":"请在您的库中添加一些剧集或频道给我们几分钟来处理:)","HOW_START_BOARD":"下面是如何向其中添加剧集&电影:","IMPORT_FB":"从Facebook导入您喜欢的东西","IMPORT_TRAKT":"从Trakt导入媒体库","IMPORT_DISCOVER":"从发现中找到有趣的东西","IMPORT_DISK":"导入本地磁盘上的电影或节目","PLEASE_CREATE_ACC":"请创建一个账户以启用库同步&主页。","IMPORT_DISCOVER_SIGNUP":"注册并从发现中找到有趣的东西","IMPORT_DISK_SIGNUP":"注册并导入本地磁盘上的电影或节目","LIB_EMPTY_CLOUD":"云端库","LIB_EMPTY_CLOUD_DESC":"在所有设备上同步个人云端库","LIB_EMPTY_EARLY":"第一时间","LIB_EMPTY_EARLY_DESC":"接收新剧集的通知","LIB_EMPTY_PERSONAL":"个性化","LIB_EMPTY_PERSONAL_DESC":"获取个性化推荐","LIB_EMPTY_CALENDAR_DESC":"安排您的个性化观看日历","LIB_EMPTY_ALL":"注册以获取所有这些:","LIB_EMPTY_BEST":"注册以获得最佳的Stremio","LIB_EMPTY_OTHER":"注册以启用日历和其他炫酷功能","CALENDAR_ADDED":"Stremio日历已添加到默认桌面日历中。","CALENDAR_ADDED_MSG":"如果这不起作用,请手动将此URL添加到日历应用程序中","TRAKT_EXPIRED":"Trakt验证已过期,请转到设置并重新验证","TRAKT_REQUIRES_LOGIN":"Trakt错误","TRAKT_REQUIRES_LOGIN_MSG":"您需要登录","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"设置","SETTINGS_NAV_GENERAL":"常规","SETTINGS_NAV_PLAYER":"播放器","SETTINGS_NAV_STREAMING":"流媒体","SETTINGS_NAV_SHORTCUTS":"快捷键","SETTINGS_SHORTCUT_RELOAD_APP":"重新加载应用程序","SETTINGS_SHORTCUT_OPEN_SETTINGS":"打开设置","SETTINGS_SHORTCUT_SWITCH_TABS":"切换标签","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"向前循环标签","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"向后循环标签","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"在菜单之间导航","SETTINGS_SHORTCUT_GO_TO_SEARCH":"转到搜索","SETTINGS_SHORTCUT_EXIT_BACK":"退出/返回","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"切换播放速度菜单","SETTINGS_SHORTCUT_MENU_VIDEOS":"切换视频菜单","SETTINGS_SHORTCUT_MENU_SUBTITLES":"切换字幕菜单","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"切换信息菜单","SETTINGS_SHORTCUT_FULLSCREEN":"切换全屏","SETTINGS_SHORTCUT_SHOW_CONTROLS":"显示控件","SETTINGS_SHORTCUT_PLAY_PAUSE":"播放/暂停","SETTINGS_SHORTCUT_VOLUME_UP":"增大音量","SETTINGS_SHORTCUT_VOLUME_DOWN":"降低音量","SETTINGS_SHORTCUT_SEEK_NEXT":"寻找下一个","SETTINGS_SHORTCUT_SEEK_PREV":"寻找上一个","SETTINGS_SHORTCUT_SEEK_BACKWARD":"向后搜索","SETTINGS_SHORTCUT_SEEK_FORWARD":"向前搜索","SETTINGS_SHORTCUT_PLAY_NEXT":"播放下一个","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"增加字幕大小","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"减小字幕大小","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"增加字幕延迟","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"减少字幕延迟","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"切换侧边栏","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"空格","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"已验证","SETTINGS_FACEBOOK_IMPORT":"导入","SETTINGS_CALENDAR_SUBSCRIBE":"订阅","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"用户界面语言","SETTINGS_LAUNCH_STARTUP":"开机时启动","SETTINGS_VLC_DEFAULT":"使用VLC播放","SETTINGS_UI_LANGUAGE":"用户界面语言","SETTINGS_UI_ZOOM":"用户界面缩放","SETTINGS_FULLSCREEN_EXIT":"Esc键退出全屏","SETTINGS_GAMEPAD":"启用游戏手柄支持","SETTINGS_CLOSE_WINDOW":"关闭窗口时结束应用程序","SETTINGS_SUBTITLES_LANGUAGE":"默认字幕语言","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"默认字幕大小","SETTINGS_SUBTITLES_BACKGROUND":"字幕背景","SETTINGS_SUBTITLES_COLOR":"字幕颜色","SETTINGS_SUBTITLES_COLOR_OUTLINE":"字幕轮廓颜色","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"字幕背景颜色","SETTINGS_SEEK_KEY":"方向键控制进度","SETTINGS_SEEK_KEY_SHIFT":"按住Shift键时方向键控制进度","SETTINGS_REWIND_FAST_FORWARD_DURATION":"回放和快进持续时间","SETTINGS_BINGE":"自动播放下一集","SETTINGS_NEXT_VIDEO":"显示播放下一集的通知","SETTINGS_NEXT_VIDEO_TRIGGER":"显示下一集的通知:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"下一个视频弹出持续时间","SETTINGS_PLAY_IN_BACKGROUND":"在后台播放","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"在外部播放器中播放","SETTINGS_RESIZE":"播放前自动调整窗口大小","SETTINGS_OVERRIDE_SERVER":"覆盖流媒体服务器URL(高级)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"流媒体服务器URL:","SETTINGS_SERVER_AVAILABLE":"流媒体服务器可用。","SETTINGS_SERVER_UNAVAILABLE":"流媒体服务器不可用。","SETTINGS_SERVER_STATUS_ONLINE":"在线","SETTINGS_SERVER_STATUS_ERROR":"错误","SETTINGS_SERVER_CONFIGURE_TITLE":"配置流媒体服务器url","SETTINGS_SERVER_CONFIGURE_INPUT":"输入流媒体服务器url","SETTINGS_SERVER_CACHE_SIZE":"缓存大小","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent配置","SETTINGS_HTTPS_ENDPOINT":"流媒体HTTPS结点:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"始终使用最新的测试版","SETTINGS_IMPORT_FB":"从Facebook导入","SETTINGS_IMPORT_DISK":"从本地磁盘导入","SETTINGS_IMPORT_TRAKT":"从Trakt导入","SETTINGS_PAUSE_MINIMIZED":"最小化时暂停播放","SETTINGS_HWDEC":"硬件解码加速","SETTINGS_BACKGROUND":"后台播放","SETTINGS_SUBSCRIBE_CALENDAR":"订阅到日历","SETTINGS_REQ_EXPORT":"请求导出数据","SETTINGS_ACC_DELETE":"请求删除账户","SETTINGS_CHANGE_PASSWORD":"更改密码","SETTINGS_TOS":"服务条款","SETTINGS_SUPPORT":"联系支持人员","SETTING_LANGUAGE":"语言","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt自动跟踪","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"从Trakt.tv注销","SETTINGS_TRAKT_LOGOUT_2":"从Trakt注销","SETTINGS_SCAN_FOR_REMOTE":"扫描二维码打开遥控器","SETTINGS_DESKTOP_NOTIFICATIONS":"桌面通知","SETTINGS_DATA_SAVER":"移动数据警告","SETTINGS_LANGUAGE_INTERFACE":"界面","SETTINGS_LANGUAGE_SUBS":"默认字幕","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"自动选择音频","SETTINGS_DEFAULT_AUDIO_TRACK":"默认音频","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"账户","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"版本","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"在单独窗口中启动播放器(高级)","SETTINGS_PLAY_IN_EXTERNAL":"总是在外部播放器中打开视频","SETTINGS_STORAGE_BUTTON":"清除本地存储","SETTINGS_STORAGE_MODAL_TITLE":"您确定吗?","SETTINGS_STORAGE_MODAL_MESSAGE":"这将清除本地存储并使您注销","SETTINGS_HWDEC_PICKER":"选择硬件加速解码设置","SETTINGS_HW_AUTOMATIC":"自动","SETTINGS_HW_DISABLED":"关闭","SETTINGS_HW_ACCELERATED":"解码加速","SETTINGS_HW_FULL":"全加速","SETTINGS_HW_LEGACY":"旧版","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"字幕","SETTINGS_SECTION_AUDIO":"音频","SETTINGS_SECTION_CONTROLS":"控件","SETTINGS_SECTION_AUTO_PLAY":"自动播放","SETTINGS_SECTION_ADVANCED":"高级","SUBSPICKER_AUDIO":"音频","SUBSPICKER_SUBTITLES":"插件字幕","SUBSPICKER_BLACK_BACKGROUND":"使用黑色背景色","SUBSPICKER_VERTICAL_OFFSET":"垂直偏移量","SUBSPICKER_SIZE":"大小","SUBSPICKER_DELAY":"延迟","SUBSPICKER_EMBEDDED_SUBS":"内嵌字幕","MOBILE_PRIVACY_POLICY":"隐私政策","MOBILE_CRASH_REPORTING":"崩溃报告","MOBILE_ZOOM_TO_FILL":"缩放填充屏幕","MOBILE_PASSTHROUGH":"数字音频输出(直通)","MOBILE_RUN_LOW_BATTERY":"电池电量低时运行","MOBILE_RUN_FOREGROUND":"作为前台服务运行","MOBILE_PERFORMANCE":"性能&稳定性","MOBILE_SERVER_ONLINE":"在线","MOBILE_SERVER_OFFLINE":"离线","MOBILE_QR_EXPIRES":"二维码到期时间","MOBILE_LOG_INTO":"登陆到您的Stremio账户","MOBILE_SCAN_QR":"扫描上面的二维码或转到","MOBILE_LINK_ACCOUNT":"链接账户","MOBILE_SPEEDPICKER_CANCEL":"取消","MOBILE_SPEEDPICKER_LABEL":"选择播放速度","MOBILE_EMPTY_LIBRARY":"您的库为空","MOBILE_NO_ADDON_ACTIVE":"没有活动的此类型Stremio插件。","MOBILE_ORGANIZER_WARNING":"Stremio Organizer应用程序提供的功能有限,要获得可播放流的列表和完整的Stremio体验,请使用Stremio桌面客户端。","MOBILE_ADDON_LOADING":"仍在加载","MOBILE_ADDONS_LOADING":"插件仍在加载","MOBILE_ADDON":"插件","MOBILE_CONFIGURE_ADDON":"配置插件","MOBILE_CONFIGURE_ADDON_LABEL":"配置插件","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer应用程序仅提供有限的插件,要获得完整的Stremio体验,请使用Stremio桌面客户端。","MOBILE_DISCONNECT":"断开连接","MOBILE_LOOKING_FOR_DEVICES":"正在查找设备...","MOBILE_CAST_TO":"投屏到","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"删除帐户","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"由于法律义务,账户删除不是即时的。在请求删除您的帐户后,您将不得不使用不同的电子邮件地址/脸书个人资料在未来创建一个新的Stremio帐户。","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"确认帐户删除","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"您的帐户是使用Facebook创建的。要删除您的帐户,请使用我们的用户门户网站www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"请提供您的密码以确认帐户删除。","MOBILE_DELETE_ACCOUNT_BUTTON":"删除帐户","NAVIGATION_ON":"开启","NAVIGATION_OFF":"关闭","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"我同意接收Stremio的营销通知","QUIT":"退出","CONNECTED":"已连接","AUTHENTICATE":"验证","AUTHENTICATING":"Authenticating...","CACHING":"缓存","SETTINGS_CACHING_DRIVE":"缓存磁盘","ENABLE_LOCAL_FILES_ADDON":"启用本地文件插件(需要重新启动)","LOCAL_ADDON_NOT_ENABLED":"未启用本地插件,单击此处转到设置并启用它","ENABLE_REMOTE_HTTPS_CONN":"启用远程HTTPS连接","TORRENT_PROFILE":"Torrent配置","DATA_CACHING":"数据缓存","MAGNET_PARSING":"分析Magnet链接","January":"一月","February":"二月","March":"三月","April":"四月","May":"五月","June":"六月","July":"七月","August":"八月","September":"九月","October":"十月","November":"十一月","December":"十二月","Monday":"星期一","Tuesday":"星期二","Wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期天","Action":"动作","Comedy":"喜剧","War":"战争","Family":"家庭","Animation":"动画","Adventure":"冒险","Fantasy":"幻想","Crime":"犯罪","Mystery":"神秘","Romance":"浪漫","Drama":"剧情","Horror":"恐怖","Thriller":"惊悚","Sci-Fi":"科幻","Music":"音乐","Biography":"传记","Documentary":"纪录","Sport":"运动","Musical":"音乐剧","Western":"西部","Film-Noir":"黑色电影","News":"新闻","History":"历史","Game-Show":"游戏节目","Reality-TV":"真人秀","Talk-Show":"脱口秀","Film & Entertainment":"电影与娱乐","Gaming":"游戏","From TV":"电视","Lifestyle":"生活方式","Science & Education":"科学与教育","Cooking & Health":"烹饪与健康","Beauty & Fashion":"美丽与时尚","Sports":"体育","News & Politics":"新闻与政治","How-to & DIY":"DIY","Tech":"技术","Automotive":"汽车","Causes & Non-Profits":"事业与公益","Movies":"影视","Uk Live Tv":"英国直播电视台","Fashion":"流行","Business News Radio":"商业新闻电台","Business Tv":"商业电视","Cars & Auto":"汽车与自动化","Comedy Radio":"喜剧电台","Lifestyle Radio":"生活方式电台","News Tv":"新闻电视","Food And Wine":"食物与酒","Latino Tv":"拉丁语电视台","Shopping Tv":"购物电视台","Religion":"宗教","Kids":"儿童","Body & Soul":"身体与灵魂","Education":"教育","Indian Tv":"印度电视台","Extreme Sports":"极限运动","Middle Eastern Tv":"中东电视台","Celebrity Tv":"名人电视台","Science Tv":"科学电视台","Bikini babe":"比基尼宝贝","Outdoors":"户外","German Tv":"德国电视台","French Tv":"法国电视台","Italian Tv":"意大利电视台","Gamer Tv":"伽马电视台","Travel":"旅行","Asian Tv":"亚洲电视台","Entertainment":"游戏娱乐","News Radio":"新闻电台","Music Radio":"音乐电台","Language Learning":"语言学习","Science Radio":"科学电台","Tech Radio":"科技电台","Science & Technology Vod":"科技视频点播","new video":"新视频","new episode":"新一集","new movie":"新电影","recommended":"推荐","we recommend":"我们建议","offer of the day":"当日优惠","news":"新闻","music video":"音乐视频","CTX_SHOW_HOTKEYS":"显示快捷键","CTX_DISMISS_NOTIF":"清除通知","CTX_DISMISS_ALL":"全部清除","CTX_SHARE":"分享","CTX_COPY_SHARE_LINK":"复制分享链接","CTX_COPY_MAGNET_LINK":"复制Magnet链接","CTX_COPY_STREAM_LINK":"复制流媒体链接","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"下载此视频","CTX_DOWNLOAD_SUBS":"下载字幕","CTX_VIEW_ON_YOUTUBE":"在YouTube上观看","CTX_SHOW":"显示","CTX_PLAY":"播放","CTX_PLAY_IN":"播放","CTX_PLAY_ON":"正在播放","CTX_WATCH_ON":"正在观看","CTX_WATCH":"观看","CTX_WATCHED":"已观看","CTX_WATCH_BEGINNING":"从头开始观看","CTX_WATCH_MOBILE":"在移动设备上观看","CTX_REWIND":"回到开头","CTX_MARK_WATCHED":"标记为已观看","CTX_MARK_NON_WATCHED":"标记为未观看","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"将其余部分标记为已观看","CTX_UNMARK_REST":"将其余部分标记为未观看","CTX_RECEIVE_NEW_NOTIF":"接受新通知","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"从缓存中删除","CTX_REMOVE_CACHE_EP":"从缓存中删除集","CTX_OPEN_CONTAINING":"打开所在文件夹","CTX_REMOVE":"从库中删除","CTX_AVAILABLE_OFFLINE":"离线可用","CTX_PAUSED":"暂停","CTX_ALWAYS_ON_TOP":"置顶","CTX_FULLSCREEN":"全屏","CTX_WRONG_SUBS":"错误的字幕?","CTX_REPORT_ISSUES":"报告问题","CTX_COPY":"复制","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"粘贴","CTX_CLEAR":"清除","CTX_CLEAR_RECENT_SEARCHES":"清除最近搜索记录","HELLO_THERE":"您好","HOPE_YOU_ENJOY":"我们希望您喜欢Stremio,也许它已经是您最喜欢的应用之一了!","WHO_ARE_WE":"我们是谁?我们是它背后的团队。在过去三年里的每天,我们两个努力工作使这个产品越来越好。","SUPPORT_US":"如果您喜欢Stremio,如果Stremio对您来说很有价值,请传播它!","SPREAD_THE_WORD":"现在与您的朋友分享传播关于Stremio的信息","MORE_PEOPLE":"使用Stremio的人越多,效果就越好!","SEND_A_LINK":"或发送一个链接到我们的网站","TIP_LOCALFILES":"提示:您可以将本地视频文件拖放到Stremio中","ADDON_MY":"我的插件","ADDON_COMMUNITY":"社区插件","ADDON_OFFICIAL":"官方插件","ADDON_REPOS":"插件集合","ADDON_SEARCH":"搜索插件","ADDON_INSTALL":"安装","ADDON_CONFIGURE":"配置","ADDON_UNINSTALL":"卸载","ADDON_UPGRADE":"更新","ADDON_INSTALLED":"已安装","ADDON_INSTALLED_MSG":"插件已安装!","ADDON_UPGRADED_MSG":"插件已更新!","ADDON_UNKNOWN":"未知","ADDON_ERR":"插件安装错误!","ADDON_DISCONNECTED":"已断开连接","ADDON_APP_MISSING":"未安装此源的应用程序,您想现在安装吗?","ADDON_APP_INSTALL":"立即安装","ADDON_PAGE":"插件页","ADDON_TOP_CONTENT":"最好从这个插件","ADDON_PROVIDES":"这个插件会给您:","ADDON_WATCH":"立即观看#{types}!","ADDON_WATCH_FREE":"立即免费观看#{types}!","ADDON_ADDON":"插件","ADDON_SUPPORTED_TYPES":"支持的类型","ADDON_SUPPORTED_CATALOGS":"支持的目录","ADDON_PROVIDES_DISCOVER":"发现中的更多#{types}","ADDON_PROVIDES_STREAMS":"观看#{types}","ADDON_PROVIDES_STREAMS_FREE":"免费观看#{types}","ADDON_PROVIDES_SUBTITLES":"#{types}的字幕","ADDON_CANTDETECT":"我们无法检测到正在运行的Stremio,因此我们无法检测您安装了哪些插件。","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"找不到有关于此的信息","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"检索有关于此的信息时出错","ERR_CANT_PARSE_MAGNET":"无法分析Magnet","ERR_NO_MAGNET_INFOHASH":"Magnet缺少有效的Hash","ERR_NO_FILE_PATH":"没有文件路径无法发送请求","ERR_NO_TORRENT":"没有Torrent返回","ERR_NO_SUPPORTERD_FILES":"找不到支持的文件","ERR_OPENING_FILES":"无法打开外部文件","ERR_INVALID_LINK":"无效链接","ERR_REGISTERED_ONLY":"此选项仅适用于已注册用户。","ERR_CLIPBOARD":"无法从剪切板播放","ERR_CLIPBOARD_READ":"无法读取此平台上的剪切板","ERR_CLIPBOARD_GENERIC":"在剪切板中找不到可播放的URL. 请将URL(例如Magnet链接)复制到视频。","BOARD_CONTINUE_WATCHING":"继续观看","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"专门为您挑选的电影。
    这部电影是一个推荐样例。","BOARD_EXPLANATION_EPISODES":"这里是您最喜爱的剧集的新一集。
    将您关注的剧集添加到库中。","BOARD_EXPLANATION_VIDEOS":"这里是您最喜爱的频道的新一集。
    将您关注的YouTube频道添加到库中。","WEBSITE_ENJOYED_BY":"在全球拥有超过3000万用户","WEBSITE_STREAMING_ENHANCED":"流媒体增强","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio提供安全、现代、无缝的娱乐体验。凭借其易于使用的界面和多样化的内容库,包括4K HDR支持,用户可以在所有设备上欣赏他们喜爱的电影和电视节目。Stremio致力于安全,是无忧、高质量流媒体体验的终极选择。","WEBSITE_AVAILABLE_ON":"可用时间","WEBSITE_WATCH_AND_ENJOY":"观看并享受。","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio让它变得小菜一碟","WEBSITE_ALL_FEATURES":"全部功能","WEBSITE_EASY_TO_USE":"易于使用","WEBSITE_EASY_TO_USE_DETAILS":"Stremio的设计是用户友好和易于使用。凭借其干净直观的界面,您可以轻松导航并找到想要观看的内容。","WEBSITE_SEAMLESS_ACROSS_DEVICES":"无缝跨设备","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Stremio可用于各种平台(包括Windows、Mac、Linux、Android等),它将跟踪您在所有设备上的进度。只需登录并继续观看,无需在每个新设备上再次配置应用程序。","WEBSITE_ALL_DOWNLOADS":"全部下载","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"高清晰度视频支持","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"集成视频播放器支持大多数视频格式,包括4K HDR内容,让您享受可用的最高质量。","WEBSITE_DIVERSE_CONTENT_LIBRARY":"多样化的内容库","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio集成了大量流行的视频来源,如Netflix、Amazon Prime video、Hulu、YouTube等。","WEBSITE_CREATE_A_FREE_ACCOUNT":"创建免费帐户","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"量身定制的观看体验","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio允许您通过更改主题、添加或删除插件等方式自定义界面的外观。","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"多语言字幕支持","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"由于Stremio支持所有语言的字幕,您现在可以用您喜欢的语言欣赏所有喜爱的内容。","WEBSITE_ALL_STREMIO_FEATURES":"Stremio的全部功能","WEBSITE_TRY_STREMIO_TITLE_P1":"尝试Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"现在在你的电视上","WEBSITE_YOU_CAN_NOW_WATCH":"您现在可以在Android电视设备上观看所有喜爱的电视节目。Stremio电视应用程序让您轻松享受电影之夜。","WEBSITE_YOU_CAN_NOW_WATCH_2":"现在,您可以在智能电视或安卓电视上观看所有喜爱的电视节目。Stremio电视应用程序让您轻松享受电影之夜。","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"可能是您设备中最好、最有用的应用程序。这是我每天使用的应用程序之一,尤其是多年来在我的安卓电视上。制作精良,拥有强大的社区,提供有用的功能。干得好。继续努力。","WEBSITE_REVIEWS":"评论","WEBSITE_GET_STREMIO_FOR_FREE":"免费获取Stremio","WEBSITE_GET_STREMIO_NOW":"立即获取Stremio","WEBSITE_STREMIO_FEATURES":"Stremio功能","WEBSITE_STREMIO_FEATURES_DETAILS":"借助Stremio的高级功能,像专业人士一样进行流媒体播放,享受对所有喜爱媒体的无缝访问","WEBSITE_DISCOVER_MORE":"发现更多。","WEBSITE_DISCOVER_MORE_DETAILS":"永远不要无聊地没有东西可看","WEBSITE_COMMUNITY_DRIVEN":"社区驱动","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio拥有一个庞大而活跃的用户社区,他们通过创建和共享插件为软件的开发做出贡献。","WEBSITE_GET_INVOLVED":"参与进来","WEBSITE_NEW_THEATER_EXPERIENCE":"新剧场体验","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio的新专用电视应用程序让您在Android电视设备上享受电影之夜。","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio的新专用电视应用程序让您在智能电视或安卓电视设备上享受电影之夜。","WEBSITE_FREE_AND_SECURE":"免费和安全","WEBSITE_STREAMING":"流式传输","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio为用户提供无与伦比的安全性和隐私。Stremio具有远程运行插件的独特功能,与其他平台相比,它提供了一种更安全的方式来流式传输您喜爱的内容。您的安全和隐私是首要任务,平台确保您的所有数据都得到保护。","WEBSITE_FREE_AND_SECURE_DETAILS_2":"告别对安全和隐私的担忧,与Stremio一起向无尽娱乐的世界问好。","WEBSITE_INFORMATION_PROVIDED_BY":"信息来源于","WEBSITE_CONTRIBUTE_DESC":"帮助我们让Stremio变得更好","WEBSITE_COMMUNITY_DESC":"我们相信,创造真正令人惊叹的流媒体体验的最佳方式是让我们的社区参与到这个过程中。无论你是程序员、艺术家还是粉丝,你都可以帮助Stremio成长。","WEBSITE_COMMUNITY_DESC_2":"所以,今天就加入我们,成为Stremio社区的一员,继续塑造流媒体的未来。","WEBSITE_WAYS_TO_GET_INVOLVED":"参与方式","WEBSITE_IN_THE_STREMIO_COMMUNITY":"在Stremio社区","WEBSITE_SHARE_YOUR_THOUGHTS":"分享你的想法","WEBSITE_REPORT_BUGS":"报告Bug","WEBSITE_SUGGEST_FEATURES":"建议功能","WEBSITE_AND_PROVIDE_FEEDBACK":"并在我们的社交媒体渠道上提供反馈。","WEBSITE_BETA_TESTING_PROGRAM":"Beta测试程序","WEBSITE_BETA_TESTING_PROGRAM_DESC":"在Stremio社区参与我们的测试计划(我们定期发出邀请)。","WEBSITE_JOIN_NOW":"立即加入!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Stremio官方社区","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Stremio非官方社区","WEBSITE_BECOME":"成为","WEBSITE_A_VOLUNTEER_TRANSLATOR":"一位志愿翻译者","WEBSITE_ARE_YOU_A_DEVELOPER":"你是开发者吗?","WEBSITE_CONTRIBUTE_CODE":"您可以为我们的开源项目贡献代码。我们在GitHub上有几个项目正在寻找贡献者。如果你有兴趣帮忙,可以去看看:","WEBSITE_STREMIO_ON_GITHUB":"GitHub上的Stremio","WEBSITE_CREATE_ADDON_DESC":"创建一个插件以增强Stremio的功能(我们有一个易于使用的API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio插件SDK","WEBSITE_INTERN_DEVELOPER":"我们还提供了作为实习生开发人员加入我们的机会,这样我们就可以一起成长。","WEBSITE_APPLY_AS_AN_INTERN":"以实习生身份申请","WEBSITE_CALLING_ALL_ARTISTS":"呼叫所有艺术家!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"通过将您的粉丝艺术上传到我们的在线画廊,展示您对Stremio的创造力和热爱。无论是绘画、绘画还是数字设计,我们都希望看到您对Stremio品牌的独特见解。加入我们的艺术爱好者社区,与世界各地的Stremio粉丝分享您的作品。","WEBSITE_STREMIO_FANART_GALLERY":"Stremio粉丝艺术画廊","WEBSITE_INTERN_DESIGNER":"通过我们激动人心的实习机会,成为我们团队的一员,将您的创造力提升到新的高度。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"公共领域电影项目","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"在Stremio,我们致力于通过识别公共领域和孤儿视频来保护电影和电视的历史。通过与我们的社区合作,我们可以确保这些经典艺术作品对每个人都是可访问的,并为后代所保护以供享受。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"如果您想参与该项目,请随时与我们联系。","WEBSITE_JOIN_THE_PROJECT":"加入项目","WEBSITE_BE_PART_OF_OUR_MISSION":"成为我们使命的一部分","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"有兴趣加入斯特雷米奥队吗?我们为充满激情的专业人士提供完全远程工作。查看我们的空缺职位。","WEBSITE_OPEN_POSITIONS":"空缺职位","WEBSITE_DESCRIPTION":"说明","WEBSITE_LEARN_MORE":"了解更多","WEBSITE_COMPANY":"公司","WEBSITE_CONTACTS":"联系人","WEBSITE_NEED_HELP":"需要帮助?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS版Stremio Web指南","WEBSITE_LINK_ART_V2":"粉丝艺术画廊","WEBSITE_PARTNERS":"合作伙伴","WEBSITE_SLOGAN_WATCH":"立即观看","WEBSITE_SLOGAN_ALL":"一站式视频娱乐解决方案","WEBSITE_SLOGAN_NEW":"您能观看一切","WEBSITE_SLOGAN_NEW_NEW":"自由串流","WEBSITE_WATCH_FROM":"观看","WEBSITE_DOWNLOAD":"立即下载","WEBSITE_DOWNLOAD_FOR":"立即下载","WEBSITE_IS_DESKTOP":"Stremio是一个桌面应用程序,请在PC上打开此页并下载","WEBSITE_DESKTOP_DEMO_VID":"桌面演示","WEBSITE_PAGE_HOME":"首页","WEBSITE_PAGE_FEATURES":"功能","WEBSITE_PAGE_ADDONS":"插件","WEBSITE_PAGE_TECH":"技术","WEBSITE_PAGE_CREATE_ADDON":"创建插件","WEBSITE_PAGE_CONTACTS":"联络","WEBSITE_PAGE_BLOG":"博客","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"电影","WEBSITE_TYPE_series_PL":"剧集","WEBSITE_TYPE_tv":"直播电视","WEBSITE_TYPE_channel":"频道","WEBSITE_STREMIO_WHAT_IS":"Stremio是一款帮助您管理和随时观看您喜爱的视频、电影、剧集和电视频道的应用程序","WEBSITE_FEATURES_WATCH":"立即观看高清视频","WEBSITE_FEATURES_WATCH_DETAIL":"点击并播放您喜爱的电影、剧集、视频和电视频道。","WEBSITE_FEATURES_SUBS":"自动加载字幕","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio会自动为您的语言选择同步字幕。","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"在电视和移动设备上播放","WEBSITE_FEATURES_CAST_DETAIL":"适用于AppleTV、Chromecast、智能电视(DLNA/UPnP)和移动设备。","WEBSITE_LIB":"享受在所有设备上同步的个人库","WEBSITE_LIB_COLLECT":"从Stremio收集","WEBSITE_LIB_IMPORT":"从Facebook导入","WEBSITE_LIB_LOCAL":"从本地磁盘添加","WEBSITE_BOARD":"首页 - 通知和推荐的一站式场所","WEBSITE_BOARD_RECOMMEND":"推荐电视节目","WEBSITE_BOARD_TRENDING":"流行电影","WEBSITE_BOARD_NEW":"新视频","WEBSITE_BOARD_EPISODE":"新一集","WEBSITE_BOARD_1":"想看些有趣的东西吗?根据您的喜好得到推荐!","WEBSITE_BOARD_2":"当您最喜爱的电视节目或YouTube频道的新一集播出时获得通知!","WEBSITE_BOARD_YOUTUBE":"YouTube频道的新视频","WEBSITE_BOARD_EPISODES":"您关注的剧集的新一集","WEBSITE_ADDONS":"内容插件","WEBSITE_TECH_DETAIL":"我们热爱科技,我们热爱疯狂的科学!\\nStremio使用了以下开源技术:","WEBSITE_TECH_WCJS":"WebChimera.js允许Stremio以良好的性能播放任何视频格式。","WEBSITE_TECH_WCJS_EXTRA":"我们是项目的核心贡献者","WEBSITE_TECH_ELECTRON":"Electron为Stremio提供了一个创新平台。","WEBSITE_TECH_ELECTRON_EXTRA":"我们是项目贡献者","WEBSITE_TECH_LINVODB":"一种数据库技术,确保您的数据在任何地方登录都受管理和可用。","WEBSITE_TECH_LINVODB_EXTRA":"内部技术","WEBSITE_CREATE_ADDON":"创建您的插件","WEBSITE_CREATE_ADDON_DETAIL":"您有提供视频内容的服务吗?我们将通过创建插件来帮助您从Stremio的功能中获益。","WEBSITE_CREATE_ADDON_BENEFITS":"为Stremio创建插件的好处","WEBSITE_P2P_BEAUTY":"点对点流媒体之美","WEBSITE_P2P_1":"可靠且价格合理的全高清/4K视频点播或流媒体直播","WEBSITE_P2P_2":"提供良好用户体验的分销平台","WEBSITE_P2P_3":"我们将创建一个插件来满足您的确切需要","WEBSITE_P2P_CONTACT":"有兴趣吗?欢迎您通过联系我们.","WEBSITE_P2P_CONTACT_EXTRA":"我们很乐意帮助您将您的内容集成到Stremio!","WEBSITE_P2P":"偶然间出现了一种改变游戏名称的技术。 我们投入了大量的时间和精力来构建我们的点对点(P2P)视频流媒体引擎,该引擎可提供出色的性能和多功能性,以适应任何用例。\\n请联系我们以获取支持DRM的P2P视频点播或实时流媒体。","WEBSITE_THOUGHTS":"我们分享的想法:","WEBSITE_SPREAD":"传播关于Stremio的信息:","WEBSITE_CONTACT":"联系我们,我们很高兴收到您的来信!","WEBSITE_OPENSOURCE":"有关我们的开源项目,请转到:","WEBSITE_BITCOIN":"捐赠比特币:","WEBSITE_FAQ":"常见问题","WEBSITE_FAQ_SHORT":"常见问题","WEBSITE_QUESTIONS":"问题","WEBSITE_TOS":"使用条款","WEBSITE_LEGAL":"法律","WEBSITE_PAGE_ABOUT":"关于","WEBSITE_PAGE_BECOME_PARTNER":"成为合作伙伴","WEBSITE_ALL_YOU_CAN_WATCH":"自由观看\\n您想看的一切。","WEBSITE_FREEDOM_TO_STREAM":"自由串流","WEBSITE_WHAT_IS_STREMIO":"什么是Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio是一个一站式视频内容聚合中心。在您拥有的任何设备上发现,管理和观看来自各种来源的视频。","WEBSITE_WHAT_IS_STREMIO_P2":"电影、电视节目、剧集、电视直播或网络频道例如YouTube或Twitch.tv等,您可以在Stremio上找到所有这些内容。","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio是一个现代化的媒体中心,为您的视频娱乐提供一站式解决方案。您可以通过易于安装的插件发现,观看和整理视频内容。","WEBSITE_WHAT_IS_STREMIO_P2_V2":"电影、电视节目、直播电视或网络频道——在Stremio上找到所有这些。","WEBSITE_ENJOI_ON_ALL_DEVICES":"在所有媒体设备上享受","WEBSITE_DEVICES_COLLECT":"从Stremio收集","WEBSITE_DEVICES_IMPORT_FB":"从Facebook导入","WEBSITE_DEVICES_LOCAL":"从本地磁盘添加","WEBSITE_JOIN_THE_PARTY_NOW":"立即加入聚会","WEBSITE_DEVICES_ALL":"易于在所有设备上使用;","WEBSITE_EXTENDABLE_CATALOG":"可无限扩展的视频目录;","WEBSITE_ORGANIZE_YOUR_MEDIA":"强大的媒体管理功能;","WEBSITE_AS_SEEN_ON":"如图所示","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"关于我们","WEBSITE_LINK_TECHNOLOGY":"技术","WEBSITE_LINK_APPS":"应用程序","WEBSITE_LINK_DOWNLOADS":"下载","WEBSITE_MORE":"更多","WEBSITE_LINK_ADDONS":"插件","WEBSITE_LINK_ADDON_SDK":"插件SDK","WEBSITE_LINK_CONTRIBUTE":"贡献","WEBSITE_LINK_COMMUNITY":"社区","WEBSITE_LINK_BLOG":"博客","WEBSITE_MORE_MORE":"... & 更多","WEBSITE_LINK_HELP":"帮助中心","WEBSITE_LINK_CONTACTS":"业务查询","WEBSITE_LINK_TOS":"条款和条件","WEBSITE_LINK_PRAVACY":"隐私政策","WEBSITE_SUBSCRIBE":"订阅","WEBSITE_NEWSLETTER":"加入我们的实时通讯,了解精彩的内容","WEBSITE_PLACEHOLDER_EMAIL":"您的电子邮箱","WEBSITE_COMMUNITY":"社区","WEBSITE_LINK_PRAVACY_LEGAL":"隐私与法律","WEBSITE_WHY":"我们为什么这样做","WEBSITE_WHY_P1":"在Stremio,我们每天都工作,因为我们想解决视频点播行业的一个重要问题。每分钟都有这么多的新内容发布,几乎不可能找到解决的方法。","WEBSITE_WHY_P2":"我们帮助人们浏览这个巨大的视频娱乐世界,发现新的内容来享受。我们的应用程序汇集了电影、剧集、电视直播、网络频道等。我们致力于让用户非常容易地找到他们喜欢的标题和广播。","WEBSITE_WHY_P3":"您可以随时在任何设备上使用我们的服务,使Stremio成为您唯一需要的视频娱乐中心。","WEBSITE_TEAM":"团队","WEBSITE_TEAM_P":"Stremio团队虽小但很强大:我们10个人用X语言编写代码,分享软件开发、UI和UX设计、营销和广告、商业和初创企业方面的专业知识。","WEBSITE_FEATURES":"功能","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"轻松发现新内容","WEBSITE_FEATURES_DISCOVER_P":"轻松发现要观看的新电影、电视节目、剧集和频道。按类别、流派、评分、时间等浏览,或者只需键入一个名称即可找到。Stremio让寻找新的视频内容变得轻而易举。","WEBSITE_FEATURES_ALL_CONTENT":"一块屏幕显示所有视频内容","WEBSITE_FEATURES_ALL_CONTENT_P1":"查看您未看完的电影、剧集或视频,并继续观看;获得新剧集和版本的通知;浏览根据您的观看习惯获得的推荐。","WEBSITE_FEATURES_LIBRARY":"管理您的视频库","WEBSITE_FEATURES_LIBRARY_P1":"只需点击一下,即可将任何标题添加到您的Stremio库中,并按类型、时间或字母顺序整齐地排列内容。","WEBSITE_FEATURES_CALENDAR":"记录您所观看的一切","WEBSITE_FEATURES_CALENDAR_P1":"获取添加到库中的所有电影和系列的日历可视化。导出您的Stremio日历并同步它,这样您就可以随时知道新的一集或首映何时到来。","WEBSITE_FEATURES_BIG_SCREEN":"在大屏幕上欣赏您的视频内容","WEBSITE_FEATURES_BIG_SCREEN_P1":"将您正在观看的任何内容都投屏到另一台设备上,无论是手机、平板电脑还是电视,只需点击一下即可。","WEBSITE_FEATURES_SOURCES":"观看不同来源的视频","WEBSITE_FEATURES_SOURCES_P":"安装官方和社区插件,欣赏来自多个不同供应商的视频。","WEBSITE_CREATE_AN_ADDON":"创建插件","WEBSITE_FEATURES_SYNC":"跨设备同步库并恢复播放","WEBSITE_FEATURES_SYNC_P1":"使用您的帐户在所有设备上登录,享受同步的库、插件、播放和日历。","WEBSITE_FEATURES_EXTENDABLE":"通过插件扩展视频目录","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio插件目录提供了许多插件,可以从中安装和观看各种视频内容。这包括电影、节目、电视直播、体育、新闻、播客、网络频道、视频游戏等。","WEBSITE_FEATURES_AUTO_SUBS":"自动加载字幕","WEBSITE_FEATURES_AUTO_SUBS_P1":"通过我们的字幕插件,您可以自动选择您喜欢的语言。","WEBSITE_FEATURES_CHROMECAST":"投屏到Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"在更大的屏幕上欣赏您的视频内容,或者将您正在观看的内容投屏到其他设备上。","WEBSITE_FEATURES_KEEP_TRACK":"跟踪您最喜爱的电视节目和网络频道","WEBSITE_FEATURES_KEEP_TRACK_P1":"获取您最喜爱的剧集和网络频道的新一集的日历可视化和通知。","WEBSITE_FEATURES_POWER_USER":"超级用户功能","WEBSITE_FEATURES_POWER_USER_P1":"在外部播放器中播放","WEBSITE_FEATURES_POWER_USER_P2":"从Torrent文件或Magnet链接播放","WEBSITE_FEATURES_POWER_USER_P3":"从Facebook喜爱或本地磁盘导入您的库","WEBSITE_ADD_ONS":"插件","WEBSITE_ADD_ONS_P1":"Stremio提供的所有视频内容都是通过插件系统获取的,应用程序中没有内置任何内容或内容提供商。","WEBSITE_ADD_ONS_P2":"有两组插件可用:官方和社区插件。","WEBSITE_ADD_ONS_P3":"官方插件由Stremio开发和托管,而社区插件由我们的社区成员创建和托管。","WEBSITE_ADDONS_OFFICIAL":"官方插件","WEBSITE_ADDONS_WATCHUB":"从iTunes、Hulu、Amazon和其他英国/美国服务提供商处流式播放您喜爱的电影、剧集和节目。","WEBSITE_ADDONS_YOUTUBE":"观看您喜爱的YouTube频道,获得您关注的贡献者的新上传通知。","WEBSITE_ADDONS_FILMON":"免费观看直播电视、电影和社交电视。600个电视频道,45000部免费电影,纪录片以及更多","WEBSITE_ADDONS_OPENSUBTITLES":"多语种影视字幕,每天上传上千个翻译字幕。","WEBSITE_ADDONS_COMMUNITY":"社区插件","WEBSITE_ADDONS_FILMON_VOD":"观看来自Filmon.tv的点播视频。","WEBSITE_ADDONS_TWICH":"观看来自Twitch.tv(电子竞技行业的视频流媒体平台)的直播。","WEBSITE_ADDONS_VODO":"观看完全免费的独立电影。","WEBSITE_ADDONS_NETFLIX":"观看Netflix的电影和网剧。","WEBSITE_ADDONS_CREATE":"创建插件","WEBSITE_ADDONS_CREATE_P1":"如果您愿意,您可以开发自己的插件。通过这种方式,您可以让自己和我们的社区访问新的视频内容,并接触到全球数百万用户的新目标受众。","WEBSITE_ADDONS_START_CREATE":"要开始,请访问Stremio插件SDK页面:","WEBSITE_DOWNLOADS":"下载","WEBSITE_DOWNLOADS_P1":"为了获得最佳性能,我们建议您使用最新版本的Stremio应用程序。但是,如果出于某种原因,您想使用旧版本,可以在此处下载。","WEBSITE_DOWNLOADS_P1_SHORT":"为了获得最佳性能,我们建议您使用最新版本的Stremio应用程序,","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS(限制版本)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"下载Stremio服务","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service是Stremio Web的配套应用程序。我们建议使用最新版本的Stremio Service。","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"更多下载选项","WEBSITE_DOWNLOAD_NEW":"新!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"我们发布了Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"贡献","WEBSITE_CONTRIBUTE_P1":"Stremio平台是开源的,您可以轻松地为当前没有来源的内容创建一个插件。","WEBSITE_CONTRIBUTE_WHY":"为什么要创建插件?","WEBSITE_CONTRIBUTE_WHY_P1":"为您的视频内容吸引新观众","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio的用户群体正在快速增长,在推出的第一年,Stremio在全球获得了100万用户,在该平台存在的第二年,这个数字增长到250万。","WEBSITE_CONTRIBUTE_WHY_P3":"用插件,您可以轻松接触这些观众并向他们分发您的视频内容。","WEBSITE_CONTRIBUTE_ALL":"在一处观看您喜爱的电影、视频、剧集和频道。","WEBSITE_CONTRIBUTE_ALL_P1":"您是Stremio上尚未提供的特定类型内容的粉丝?为它创建一个插件,在市场上最大、最易使用的娱乐中心之一欣赏您喜爱的视频。","WEBSITE_CONTRIBUTE_ALL_P2":"除此之外,您还会得到其他志同道合的Stremio社区成员的无尽感激。","WEBSITE_CONTRIBUTE_MONETIZE":"通过插件营利,并在其帮助下赚钱","WEBSITE_CONTRIBUTE_MONETIZE_P1":"一旦您为Stremio开发了一个新的插件,您就可以通过多种不同的方式轻松地靠其营利。如果您正在考虑此问题,请随时与我们联系","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":",我们很乐意就插件营利选项向您提供咨询和建议。","WEBSITE_CONTRIBUTE_TRANSLATE":"成为一名志愿翻译者","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"如果您想享受不同语言的Stremio应用程序,您可以加入我们的志愿翻译者社区。他们帮助我们添加多种不同语言的Stremio版本。","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"您想开始吗?","WEBSITE_TRANSALTE_STREMIO":"翻译Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"官方社区","WEBSITE_COMMUNITY_OFFICIALS_P1":"成为不断增长的Stremio社区的一部分。在社交媒体上关注我们,不要害羞地打招呼,我们喜欢听到粉丝的声音!","WEBSITE_COMMUNITY_UNOFFICIALS":"非官方社区","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"合作伙伴和支持者","WEBSITE_COMMUNITY_GOODIES":"Stremio特典","WEBSITE_COMMUNITY_WALLPAPERS":"壁纸","WEBSITE_COMMUNITY_ART":"社区艺术画廊","WEBSITE_LINK_ART":"社区艺术画廊","WEBSITE_CONTACT_US":"联系我们","WEBSITE_CONTACT_US_P1":"如果您有任何问题、意见或建议,请随时通过下面的联系方式与我们联系。","WEBSITE_CONTACT_US_P2":"请记住,我们位于保加利亚,因此可能会由于时区差异而延迟处理您的问题。","WEBSITE_CONTACT_US_SUCCESS":"您的信息已发送。我们会在方便的时候尽快给您回复。","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"请输入有效的电子邮箱!","WEBSITE_CONTACT_US_Q_RELATED_TO":"您的问题与什么有关?","WEBSITE_CONTACT_US_Q_OS":"您的操作系统是什么?","WEBSITE_CONTACT_US_PH_EMAIL":"您的电子邮箱","WEBSITE_CONTACT_US_PH_MESSAGE":"短信","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"发送","WEBSITE_CONTACT_US_Q_1":"如何安装?","WEBSITE_CONTACT_US_Q_2":"如何卸载?","WEBSITE_CONTACT_US_Q_3":"(HTML)如何制作千层面?","WEBSITE_CONTACT_US_Q_4":"插件","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"技术","WEBSITE_TECHNOLOGY_P1":"我们热爱科技,热爱科学。
    这是Stremio的动力(它都是开源的)。","WEBSITE_TECHNOLOGY_P_QT":"最佳跨平台软件开发工具。","WEBSITE_TECHNOLOGY_P_MPV":"一款免费、开源、跨平台的媒体播放器。","WEBSITE_TECHNOLOGY_P_RN":"React Native允许您仅使用JavaScript构建移动应用程序。","WEBSITE_TECHNOLOGY_P_VLC":"嵌入到应用程序中获取多媒体的媒体框架。","WEBSITE_TECHNOLOGY_P_REALM":"Realm是一个移动平台,是SQLite和Core Data的替代品。","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js是一个开源、跨平台的JavaScript运行环境。","WEBSITE_TECHNOLOGY_P_RUST":"Rust是一种多范式系统编程语言,关注安全性,尤其是安全并发性。","WEBSITE_TECHNOLOGY_CONTRIBUTE":"为项目贡献力量","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"您可以通过两种方式为Stremio做贡献,帮助我们将产品做得更好。","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"您可以通过翻译平台来贡献您宝贵的语言技能...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"或","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... 您可以利用您的编程技巧来创建社区插件。","WEBSITE_TRANSLATE_STREMIO":"翻译Stremio","WEBSITE_404_OH_NO":"糟糕!您要找的页面不在这里...","WEBSITE_GO_HOME":"回到主页","WEBSITE_LINK_OTHER_DOWNLOADS":"其他下载","WEBSITE_FAQ_ABR":"常见问题","WEBSITE_SUPPORT":"支持","WEBSITE_DOWNLOAD_4_0_BETA":"立即下载Stremio 4测试版","WEBSITE_GET_FOR_DESKTOP":"获取桌面","WEBSITE_LINK_ADDON_COMPETITION":"插件比赛","WEBSITE_LINK_ART_CONTEST":"艺术比赛","WEBSITE_MY_ACCOUNT":"我的账户","WEBSITE_MAINPAGE_FAQ_001_H1":"什么是Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio是一个现代化的媒体中心,让您可以自由观看任何您想要的东西。","WEBSITE_MAINPAGE_FAQ_002_H1":"它是如何工作的?","WEBSITE_MAINPAGE_FAQ_002_P1":"一旦您在设备上安装了Stremio并创建了一个帐户,您所要做的就是访问插件目录并安装任何您想要的插件,就可以开始了!","WEBSITE_MAINPAGE_FAQ_002_P2":"之后,您可以进入“发现”或“板”部分,开始探索内容。","WEBSITE_MAINPAGE_FAQ_003_H1":"我可以在这里看什么?","WEBSITE_MAINPAGE_FAQ_003_P1":"很多:电影、电视节目、网络频道、体育、电视频道、收听播客等等。感谢我们的插件系统,您可以访问各种内容。","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio是开源的吗?","WEBSITE_MAINPAGE_FAQ_004_P1":"是的,您可以查看以下链接:${1}桌面应用${2}和${3}GitHub组织${4}。","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio安全吗?","WEBSITE_MAINPAGE_FAQ_005_P1":"是:因为它是开源软件,所以代码可以公开审核,您可以自己查看。","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"我的隐私如何?","WEBSITE_MAINPAGE_FAQ_006_P1":"我们尊重用户隐私,除了创建和同步您的帐户所必需的最低限度外,不收集任何个人数据。","WEBSITE_MAINPAGE_FAQ_006_P2":"注册时还有一个${1}访客模式${2},它不需要任何数据:在这种模式下,不会调用我们的后端。然而,这是以牺牲有用的功能为代价的,比如能够跨设备同步您的库。","WEBSITE_MAINPAGE_FAQ_007_H1":"我可以投屏到电视吗?","WEBSITE_MAINPAGE_FAQ_007_P1":"是的,我们支持Chromecast,您可以从桌面和移动应用程序(Android)进行强制转换。","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio有多少插件?","WEBSITE_MAINPAGE_FAQ_008_P1":"截至2019年末,超过50个。有关更多信息,请查看我们的插件目录。","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio是否可以扩展到插件目录之外?","WEBSITE_MAINPAGE_FAQ_009_P1":"是的,您应该查看这些:${1}PimpMyStremio${2},${3}Reddit communities${4},${5}Stremio Downloader${6},等等。","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio支持哪些设备?","WEBSITE_MAINPAGE_FAQ_010_P1":"我们有适用于Windows、Mac和Linux的桌面应用程序。对于移动设备,我们支持Android和iOS,但请记住iOS的功能有限(不支持大多数插件)。","WEBSITE_MAINPAGE_FAQ_010_P2":"有很多基于Android的设备可以在上面运行Stremio,比如NVIDIA Shield和Amazon Fire Stick,但我们并不正式支持它们。","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"您们能为Stremio添加某些内容吗?","WEBSITE_MAINPAGE_FAQ_011_P1":"抱歉,我们本身不提供任何内容,但是您安装的Stremio插件越多,您可以找到的内容就越多。","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio可以播放Magnet链接吗?","WEBSITE_MAINPAGE_FAQ_012_P1":"是的,它还可以播放正常的HTTP链接和Torrent文件(拖放)。","WEBSITE_MAINPAGE_FAQ_013_H1":"我可以下载视频并离线观看吗?","WEBSITE_MAINPAGE_FAQ_013_P1":"离线可用是一项即将推出的功能,但如果您允许Stremio在设备上缓存(从“设置”面板),您可以稍后在没有连接的情况下观看视频。","WEBSITE_MAINPAGE_FAQ_014_H1":"什么都不能用,帮帮我!","WEBSITE_MAINPAGE_FAQ_014_P1":"您确定已安装插件吗?如果是,请与我们的${1}帮助中心${2}联系","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio如何维持其开发运营?","WEBSITE_MAINPAGE_FAQ_015_P1":"我们偶尔会播放非侵入性广告,但我们正在考虑转向捐赠模式。","WEBSITE_MAINPAGE_FAQ_015_P2":"有关更多问题,请访问我们的${1}帮助中心${2}。","HELP_LEARN_MORE":"帮助我们了解更多有关您的信息。","LIFESTYLE":"生活方式","SPORTS":"体育","FOOD_HEALTH":"饮食与健康","BEAUTY_FASHION":"美丽与时尚","NEWS":"新闻","GAMING":"游戏","SCIENCE_EDUCATION":"科学与教育","MUSIC":"音乐","TRAVEL":"旅行","LATE_NIGHT":"深夜","REALITY":"真人","COMEDY":"喜剧","DIY":"DIY","TECH":"技术","CINEMA":"影院","CONTINUE":"继续","SLOW_LOADING":"加载缓慢?","I_GIVE_UP":"我放弃了","LEARN_MORE":"了解更多","POOR_SOURCE":"此源不可用或您的网络连接不够快","PICK_CATEGORIES_ERR":"您必须至少选择3个类别","ADJUST_TIMING":"调整时间","ADJUST_SIZE":"调整大小","SEARCH_ANYTHING":"您可以搜索一切...","ALL_CATEGORIES":"全部","SEARCH_CATEGORIES":"电影、剧集、YouTube和电视","SEARCH_PERSONS":"演员、导演和编剧","SEARCH_PROTOCOLS":"HTTP或Magnet链接","SEARCH_TYPES":"IMDB/TVDB链接","WATCHED":"已观看","SHOW_LESS":"显示较少","LAST_SEARCHES":"上次搜索","CLEAR_HISTORY":"清除历史记录","CHOOSE_SOME":"选择其中一些:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"无法加载Web Remote","STREMIO_OFFLINE":"Stremio离线","STREMIO_EXPENSIVE_CONNECTION":"我们检测到您正在使用移动数据连接,是否继续?","USE_DATA":"使用移动数据","WARNING":"警告","MORE_INFO":"更多信息...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"加载...","STREMIO_TV_BACK_TO_LANGUAGES":"返回语言","STREMIO_TV_REMOTE":"远程","STREMIO_TV_GO_TO":"去往:","STREMIO_TV_OR_SCAN":"或扫描:","STREMIO_TV_ADDON_INSTRUCTIONS":"请按照说明安装您喜欢的插件。","STREMIO_TV_LIVE_TV":"直播电视","STREMIO_TV_RESUME_WATCHING":"继续观看","STREMIO_TV_LOADING_BACKGROUND":"加载背景","STREMIO_TV_CHECKING_AUTHENTICATION":"正在检测身份验证","STREMIO_TV_LOADING_BOARD":"加载主页","STREMIO_TV_LOGIN_HEADER_LINE_1":"我们希望用户在使用我们的软件时有最好的个性化体验,","STREMIO_TV_LOGIN_HEADER_LINE_2":"正是出于这个原因,我们恳请您建立和/或登录您的账户,","STREMIO_TV_LOGIN_FOOTER_LINE_1":"感谢您的理解,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio团队","STREMIO_TV_REMOTE_INSTRUCTIONS":"为了在您的智能手机/平板电脑/桌面使用Web Remote:","STREMIO_TV_WIFI_SETUP":"Wi-Fi设置","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle未检测到互联网连接。","STREMIO_TV_WIFI_DETAILS_1":"连接到:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"使用密码:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"在浏览器中打开链接:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"默认","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"按最近观看","STREMIO_TV_LIBRARY_SORT_NAME":"按名字","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"按观看次数","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"季${1}","STREMIO_TV_STREAMS_LOADING":"已加载${1}/${2}插件...","STREMIO_TV_STREAMS_STILL_LOADING":"${1}插件仍在加载...","STREMIO_TV_PLAYER_SETTINGS":"播放器设置","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"字幕延迟","STREMIO_TV_PLAYER_AUDIO_DELAY":"音频延迟","STREMIO_TV_PLAYER_VIDEO_SCALING":"视频缩放","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"不支持的流媒体源","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"打开外部链接失败","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"在音频直通模式下不可调整","STREMIO_TV_PLAYER_PLAY_IN_EXO":"使用ExoPlayer播放","STREMIO_TV_PLAYER_PLAY_IN_VLC":"使用libVLC player播放","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"由于播放错误而切换到libVLC player","STREMIO_TV_ADDONS_TITLE":"在手机或PC上使用Stremio安装或配置插件,然后按\\"同步插件\\"","STREMIO_TV_ADDONS_SUBTITLE":"注意:确保您使用的是相同的Stremio帐户","STREMIO_TV_ADDONS_SYNC_ADDONS":"同步插件","STREMIO_TV_ADDONS_SYNC_SUCCESS":"插件成功同步","STREMIO_TV_ADDONS_SYNC_FAILED":"插件同步失败","STREMIO_TV_META_LINK_FAILED":"打开元链接失败","STREMIO_TV_CATALOG_LOADING":"目录仍在加载...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"界面语言已更新","STREMIO_TV_SETTINGS_THEME_UPDATED":"主题已更新","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"默认播放器","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"外部播放器","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"首选语言","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"次要首选语言","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"隧道播放","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"某些设备上可能存在播放问题","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"某些视频格式可能无法播放","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"帧速率匹配","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"关闭","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"仅帧速率","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"帧速率和分辨率","STREMIO_TV_SETTINGS_NO_CACHING":"无缓存","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"默认","STREMIO_TV_SETTINGS_PROFILE_SOFT":"慢","STREMIO_TV_SETTINGS_PROFILE_FAST":"快","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"超快","STREMIO_TV_SETTINGS_SERVER_URL":"流媒体服务器URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"服务器版本","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"未知","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio版本","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"编辑服务器URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"输入流媒体服务器URL","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"加载时显示统计信息","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"要阅读Stremio的隐私政策,请访问:","STREMIO_TV_SETTINGS_TOS_TEXT":"要阅读Stremio的条款和条件,请访问:","STREMIO_TV_NAV_SEARCH":"搜索","STREMIO_TV_NAV_HOME":"主页","STREMIO_TV_NAV_DISCOVER":"发现","STREMIO_TV_NAV_LIBRARY":"库","STREMIO_TV_NAV_MOVIES":"电影","STREMIO_TV_NAV_SERIES":"剧集","STREMIO_TV_NAV_CHANNELS":"频道","STREMIO_TV_NAV_TV":"电视直播","STREMIO_TV_NAV_SETTINGS":"设置","STREMIO_TV_NAV_ADDONS":"插件","STREMIO_TV_LOGIN_TITLE":"链接账户","STREMIO_TV_LOGIN_EXPIRES_IN":"过期日期到","STREMIO_TV_LOGIN_STEP_ONE":"扫描上方的二维码或转到","STREMIO_TV_LOGIN_STEP_TWO":"登录您的Stremio帐户","STREMIO_TV_LOGIN_NEW_LINK":"请求新链接","STREMIO_TV_LOGIN_LINK_REFRESHED":"登录代码已刷新","STREMIO_TV_SEARCH_PLACEHOLDER":"输入一些东西","STREMIO_TV_SEARCH_NO_ADDONS":"没有为目录请求插件!","STREMIO_TV_SEARCH_BUTTON":"搜索","STREMIO_TV_SEARCH_KEY_DEL":"删除","STREMIO_TV_SEARCH_KEY_SPACE":"空格","STREMIO_TV_SEARCH_KEY_CLEAR":"清除","STREMIO_TV_SEARCH_HISTORY_TITLE":"搜索历史","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"您可以搜索标题、演员、频道...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"清除搜索历史","STREMIO_TV_FILTERS_DESCRIPTION":"从以下过滤器中选择一个","STREMIO_TV_STREAMING_SERVER_OFFLINE":"流媒体服务器离线,检查服务器设置。","FILTERS":"过滤器","SETTINGS":"设置","ACCOUNT":"账户","LOGOUT":"注销","THEMES":"主题","PLAYBACK":"播放","PLAYBACK_SPEED":"播放速度","AUDIO_TRACKS":"音轨","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"视频","SERVER":"服务器","LINKS":"链接","ABOUT":"关于","INTERFACE":"界面","ANIMATIONS":"动画","STATUS":"状态","LANGUAGE":"语言","SIZE":"大小","DELAY":"延迟","BOLD":"粗体","OPACITY":"Opacity","TEXT_COLOR":"文本颜色","OUTLINE_COLOR":"轮廓颜色","BACKGROUND_COLOR":"背景颜色","BACKGROUND_BLUR":"背景模糊","SEEK_TIME_DURATION":"寻找持续时间","AUTO_PLAY":"自动播放下一集","PLAY_NOW":"现在播放","MARK_AS_WATCHED":"标记为已观看","MARK_AS_UNWATCHED":"标记为未观看","REWIND_TO_BEGINNING":"倒回开始","CONTINUE_WATCHING":"继续观看","ALL":"全部","SECONDS":"秒","ON":"开","OFF":"关","RELOAD":"重新加载","EDIT_URL":"编辑URL","URL":"URL","NONE":"无","EMBEDDED":"内嵌","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"开关设备","REMOTE_VIDEOS":"视频","REMOTE_ADJUST_TIMING":"调整时间","REMOTE_ADJUST_SIZE":"调整大小","REMOTE_COULD_NOT_BE_LOADED":"无法加载Web Remote","REMOTE_RETRY":"重试","TORRENT_PROFILE_DEFAULT":"默认","TORRENT_PROFILE_SOFT":"慢","TORRENT_PROFILE_FAST":"快","TORRENT_PROFILE_ULTRA_FAST":"超快","MB_S":"MB/s","FAQ_001_H1":"什么是Stremio?","FAQ_001_P1":"Stremio是专为视频娱乐而设计的多媒体中心软件,易于使用。Stremio允许您管理和观看自己的电影,剧集,频道和实况电视收藏。","FAQ_001_P2":"Stremio从本地磁盘和插件系统中收集显示给您的内容。","FAQ_001_P3":"它还会在您感兴趣的新剧集/视频/电影播出时通知您,并为您提供电影推荐。","FAQ_02_H1":"Stremio与Kodi和Plex相比如何?","FAQ_02_P1":"我们受到这两种软件的启发。但是我们有不同的目标——Stremio专门针对娱乐视频,并通过易于使用成为其主流解决方案。","FAQ_02_P2":"Stremio将永远不会像Kodi和Plex那样具有可定制性和丰富的功能,但它更易于使用。只需${1}就可以获取它,并查看${2}:)","FAQ_03_H1":"Stremio与Netflix相比如何?","FAQ_03_P1":"同样,Netflix是我们的灵感之一。我们努力实现Netflix的用户体验,再加上许多附加的好处。但最重要的是,我们让您可以自由管理自己的库,并使用我们的插件系统添加新的内容源。","FAQ_03_P2":"这使得Stremio可以无限扩展,因此当您使用Stremio时,您永远不会局限于Netflix决定许可的内容。例如,您可以通过Stremio观看${1}中的内容电影电视${2}, ${3} Twitch.tv${4},${5}YouTube${6},${7}Vodo${8}甚至${9}Netflix${10}本身!","FAQ_04_H1":"Stremio与Flipboard相比如何?","FAQ_04_P1":"我们不常听到这个问题,除非与初创企业的人交谈:)","FAQ_04_P2":"Stremio是通过设计一个内容聚合器来实现的,它本质上就是视频的Flipboard。这一点在我们的首页部分非常明显,它为您提供目录和新的插曲/新的视频通知,让您了解您所关注的内容,就像Flipboard一样。","FAQ_05_H1":"Stremio与Popcorn Time相比如何?","FAQ_05_P1":"Stremio和Popcorn Time在用户界面上很相似,因为没有很多方法可以正确制作视频娱乐目录:)","FAQ_05_P2":"Popcorn Time主要集中在特定来源的流媒体上,但Stremio是不受限制的,只是一个内容聚合器,它没有锁定到特定的内容源。","FAQ_05_P3":"此外,我们默认不提供任何Torrent插件,因此Stremio不提供官方功能的Popcorn Time用例。","FAQ_05_P4":"另一个显著的区别是Popcorn Time是完全开源的,而Stremio是${1}部分开源的${2}。","FAQ_06_H1":"是否要添加此电影/系列?","FAQ_06_P1":"不,对不起 :(","FAQ_06_P2":"正如大多数其他问题中提到的,Stremio本身不提供任何内容,所有内容都是通过插件系统添加的。如果您有内容请求,您可以使用播放器中的“报告”按钮,它将向您当前使用的插件的作者发送电子邮件。","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"能否为X创建插件?","FAQ_08_P1":"完全有可能。","FAQ_08_P2":"如果您有一个插件的想法,请在${1}office@stremio.com${2}给我们留言,但请确保您的插件想法不会侵犯任何版权或使用条款。","FAQ_08_P3":"目前,我们路线图上的下一件事是FandangoNOW,Filmon.tv video on demand和Crunchyroll的插件。","FAQ_09_H1":"Stremio是否使用BitTorrent?","FAQ_09_P1":"是的,Stremio支持BitTorrent作为流媒体协议。您可以将其与Torrent插件一起使用,也可以将.Torrent文件拖放到Stremio中,或者将磁铁链接粘贴到搜索栏中。","FAQ_09_P2":"请注意,使用BitTorrent的唯一官方插件是${1}Vodo${2},它提供独立内容,所有内容都允许与BitTorrent一起分发。","FAQ_09_P3":"我们不支持使用任何可能导致版权侵权的第三方插件。","FAQ_10_H1":"我可以在Stremio中通过官方插件观看什么节目?","FAQ_10_P1":"默认情况下,您可以在Stremio与它的嵌入式播放器观看Filmon.tv,YouTube和Vodo的内容。另外,我们还有一个Twitch.tv插件,以及其他一些插件。","FAQ_10_P2":"此组合提供以下选项:","FAQ_10_L1":"Filmon.tv上的热门电视频道,例如E4、BBC、Bollyworld TV","FAQ_10_L2":"YouTube上的所有内容,例如BBC News、Top Gear、Vevo、PewDiePie","FAQ_10_L3":"Vodo上的独立电影","FAQ_10_L4":"Twitch.tv上的在线游戏广播","FAQ_10_P3":"此外,Guidebox和Netflix插件提供了许多内容源,它们不完全在Stremio中播放,而是重定向到给定的服务。例如,Guidebox插件将为您提供可在美国免费播放的精选电影,这些电影来自TubiTV和Crackle等服务。","FAQ_11_H1":"Stremio无法安装,我该怎么办?","FAQ_11_P1":"如果您在Windows上,请尝试${1}此替代安装程序${2}。","FAQ_11_P2":"如果您使用的是Mac OS X,请注意,我们不支持任何比OS X Mavericks(10.9)更旧的版本。","FAQ_11_P3":"如果您使用的是Linux,请注意,我们目前只支持64位(x64)Linux。","FAQ_11_P4":"如果您仍然无法解决您的问题,请写信给我们的${1}Facebook群组${2}。","FAQ_12_H1":"为什么我的杀毒软件会报毒?Stremio安全吗?","FAQ_12_P1":"我们向您保证Stremio是${1}100%安全的${2}。","FAQ_12_P2":"您的杀毒软件报毒是因为我们的安装程序中包含广告,一些杀毒软件将其识别为广告软件。","FAQ_12_P3":"如果您仍然不确定,可以尝试我们的${1}替代安装程序${2}。","FAQ_13_H1":"如何制作插件?","FAQ_13_P1":"对于初学者,我们建议您查看GitHub上的${1}插件系统模块${2}。","FAQ_13_P2":"之后,您可以按照${1}Hello World教程${2}进行操作。","FAQ_13_P3":"如果您没有任何编程技能,请在${1}Reddit社区${2}上发布您的想法,并在${3}office@stremio.com${4}上与我们联系您的插件想法。","FAQ_14_H1":"插件是如何发布的?","FAQ_14_P1":"当您创建一个插件和主机,并在清单中放置一个指向工作插件地址的终端节点字段时,该插件将自动发布到我们的${1}插件目录${2}。","FAQ_14_P2":"发生这种情况是因为Stremio插件模块的服务器部分会自动调用我们的API来声明插件。当我们的API验证您的终端节点为有效的插件时,它将开始显示在目录中。","FAQ_15_H1":"我可以在浏览器中运行Stremio吗?","FAQ_15_P1":"目前还没有,但即将到来!","FAQ_15_P2":"如果您想看到Alpha版本,可以在这里看到:${1}alpha4.strem.io${2}. 请记住,此Alpha版本上已禁用流式处理。我们支持Chrome、Firefox、Opera和Edge","FAQ_16_H1":"电视投屏不起作用/字幕不起作用","FAQ_16_P1":"电视投屏使用DLNA技术,这在不同的电视品牌和型号之间非常不一致。由于这个原因,我们没有能力在每种情况下都测试它,所以它还远远不够完美。尽管如此,我们仍在不断改进,但我们无法为您提供DLNA能够在您的电视上开始正常工作的预计时间。","FAQ_16_P2":"如果您在“投屏”菜单中看不到您的电视,请尝试禁用网络连接并重新启用它(在Windows上,右键单击网络并使用“启用/禁用”),以及重新启动路由器、电视和PC。","FAQ_16_P3":"如果您仍然遇到问题,您可以通过将您的电视品牌和型号信息发送到${1}来帮助我们”office@stremio.com${2}。","FAQ_16_P4":"同时,我们推荐Chromecast,我们非常支持Chromecast,或者直接用HDMI线将电视与PC连接。","FAQ_17_H1":"Stremio卡死和/或崩溃,我能做什么?","FAQ_17_P1":"首先,如果您使用的是带有AVG杀毒软件的Windows 7,这种组合会产生问题。问题出在AVG本身,我们这边没有合理的办法解决。不幸的是,去除或禁用杀毒软件将不起作用。唯一的解决办法是用别的东西代替AVG","FAQ_17_P2":"如果不是这个问题,但您仍在使用Windows,请更新到最新的service pack并更新/重新安装您的GPU驱动程序,然后重试。","FAQ_17_P3":"如果您的问题仍未解决,或者您使用的是Mac或Linux,请写信给我们,在${1}我们的Facebook群组${2}报告问题的确切细节。","FAQ_18_H1":"如何制作插件?","FAQ_18_P1":"对于初学者,我们建议您查看GitHub上的${1}插件系统模块${2}。","FAQ_18_P2":"之后,您可以按照${1}Hello World教程${2}进行操作。","FAQ_18_P3":"如果您没有任何编程技能,请在${1}Reddit社区${2}上发布您的想法,并在${3}上与我们联系您的插件想法。”office@stremio.com${4}。","FAQ_19_H1":"为什么Stremio占用磁盘空间?","FAQ_19_P1":"Stremio有一个本地缓存来临时保存您流式传输的视频文件。","FAQ_19_P2":"这有两个好处:第一,它允许Stremio预先缓冲视频,以确保流媒体更流畅。其次,它将视频保存在本地缓存中,以便您可以继续离线观看。","FAQ_19_P3":"Stremio保留了多少取决于“设置”面板中的缓存设置。Stremio可能会在您的磁盘上保留到设置的数量(例如2GB),除非当前流式传输的视频大于该数量,在这种情况下,必须分配足够的存储来保留它,直到您结束流式传输。","FAQ_20_H1":"缓存文件夹在哪里?","FAQ_20_P1":"在Windows上,Stremio缓存位于您在设置中选择的驱动器中(例如\\"E:\\\\stremio-cache\\")","FAQ_20_P2":"在MacOS上,它位于\\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"在Linux上,它位于\\"~/.stremio/stremio-cache\\"或\\"~/stremio-cache\\"","FAQ_21_H1":"我得到\\"流媒体服务器未找到\\"错误,我能做什么?","FAQ_21_P1":"如果出现此错误,则表示以下几点之一:","FAQ_21_P2":"1)您正试图通过我们的${1}web版本${2}使用一个由YouTube/BitTorrent源代码支持的插件。在这种情况下,您应该从${3}我们的网站${4}安装我们的桌面版本","FAQ_21_P3":"2)Stremio安装有问题。在这种情况下,请尝试从${1}网站${2}重新安装我们的最新桌面版本。如果这没有帮助,请尝试禁用杀毒软件和防火墙,重新启动电脑,然后重试。如果这依然不起作用,请写信给我们的${3}Facebook群组${4}","FAQ_22_H1":"我无法在iOS上看到/使用大多数插件","FAQ_22_P1":"由于Apple App Store条款和条件中的限制,我们限制iOS应用程序只能使用一组特定的插件。","FAQ_22_P2":"不过,请放心,将来会有更多的iOS插件,我们还可能添加一个集成,通过将iOS应用程序连接到Stremio流媒体服务器,您将可以使用所有Stremio插件。"}')},50302:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"電影","TYPE_series":"劇集","TYPE_tv":"電視頻道","TYPE_channel":"頻道","TYPE_other":"其他","TYPE_movie_PL":"電影","TYPE_series_PL":"劇集","TYPE_tv_PL":"電視頻道","TYPE_channel_PL":"頻道","TYPE_other_PL":"其他","TYPE_ALL":"全部","TYPE":"類型","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"視頻","BACK":"返回","MORE":"更多","DONE":"完成","COPY":"複製","SUCCESS":"成功","ERROR":"錯誤","SETTINGS_CASTING_MODE_PICKER":"投屏模式","CASTING_MODE_HLSV2":"默認","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"不轉碼","Discover":"發現","Board":"首頁","Library":"庫","My Library":"我的庫","Calendar":"日曆","NOTIFICATION_ONLINE":"您當前處於在線狀態","NOTIFICATION_OFFLINE":"您當前處於離線狀態","INTERNET_CONNECTION":"網絡連接","STORAGE_FULL_TITLE":"警告:儲存空間已滿!","STORAGE_FULL_TEXT":"Stremio將無法保存您的設置、首選項或登錄信息,考慮重新啓動或重新安裝Stremio。","SEARCH":"搜索","SEARCH_NO_RESULTS":"未找到結果","SEARCH_EXPLANATION_CONTENT":"搜索電影、劇集、YouTube和電視頻道","SEARCH_EXPLANATION_PEOPLE":"搜索演員、導演和編劇","SEARCH_PASTE_LINKS":"粘貼HTTP和Magnet鏈接","SEARCH_OR_PASTE_LINK":"搜索或粘貼鏈接","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"添加到庫中","REMOVE_FROM_LIB":"從庫中刪除","ADDED_TO_LIB":"添加到庫中","REMOVED_FROM_LIB":"從庫中刪除","TRAILER":"預告片","WATCH_TRAILER":"觀看預告片","WATCH_NOW":"立即觀看","SHOW":"查看","SHOW_MOVIE":"查看電影","WATCH_RANDOM":"隨機觀看","IMDB_RATING":"IMDb評分","YEAR":"年份","DIRECTOR":"導演","WRITER":"編劇","LEAD_ACTORS":"主演","CAST":"全部演員","CREW":"全部工作人員","SHOW_MORE_CAST":"顯示更多 »","AIRED":"播出時間","SEASONS":"季","GENRE":"類型","GENRE_ALL":"所有流派","CATALOG":"目錄","SUMMARY":"簡介","SHOW_MORE":"顯示更多","SIMILAR":"相似","UPCOMING":"即將上映","TBA":"TBA","ENDED":"已完結","DURATION":"時長","FEATURED":"功能","METADATA":"元數據","CATEGORY":"類別","LINKS_GENRES":"流派","LINKS_CAST":"演員","LINKS_DIRECTORS":"導演","SEARCH_VIDEOS":"搜索視頻","SEARCH_PLACEHOLDER":"搜索或粘貼URL","ADDON":"插件","ADDONS":"插件","OFFICIAL":"官方","ADDONS_OFFICIAL":"官方Stremio插件","ADDONS_POPULAR":"在您所在的地區很受歡迎","ADDON_FREE":"免費","ADDON_PEERED":"連接","ADDON_SUBSCRIPTION":"訂閲","ADDON_STREAM_GEORESTRICTED":"在您所在的地區不提供","ADDON_STREAM_OFFLINECACHE":"離線緩存","ADDON_STREAM_LOCALFILE":"本地文件","SHARE_ADDON":"分享插件","AVAILABLE_STREAMS":"可用流媒體","NO_STREAM":"未找到流媒體","ALL_ADDONS":"全部","INSTALL_MORE_ADDONS":"要獲取更多流媒體,請安裝更多插件","STREAM_NOT_SUPPORTED":"此平台不支持所選流媒體。","ADDON_CATALOGUE":"顯示所有插件 »","ADDON_CATALOGUE_MORE":"安裝插件","REPO_ADDED":"已添加存儲庫","ADDON_REPO_EXIST_ERR":"此插件集合已存在","ADDON_REPO_ERR":"添加集合時出錯","ADDON_ADD_ERR":"添加插件時出錯","ERR_ADDON_PROTECTED":"無法卸載插件,它受到保護","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"出了一些問題——身份驗證可能失敗","ERR_NOT_COLLECTION_URL":"不是集合URL","ERR_NOT_ADDON_URL":"不是有效的插件URL","ERR_DETECTFROMURL":"再此URL中找不到插件/集合","ADDON_DUPLICATE_WARNING":"警告:重複的插件","ADDON_COLLECTION_SET_FAILED":"將已安裝的插件同步到您的賬户失敗","SETTINGS_DATA_EXPORT":"導出用户數據","ADDON_PULL_FAILED":"從您的帳户同步已安裝的插件失敗","REFRESH_ON_CLICK":"點擊重試","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"電影還在影院上映","WATCH_IN_CINEMA":"請到您本地的影院觀看","IN_THEATER":"在影院上映","GET_TICKETS":"購票","UPCOMING_EPISODE":"下一集","UPCOMING_EPISODE_MESSAGE":"這一集即將播出","MISSING_DATE_EPISODE":"缺失的一集日期","MISSING_DATE_EPISODE_MESSAGE":"這一集可能還沒有播出","CHANNEL_NOT_SCRAPED":"這個頻道還沒有被削刮,請過幾分鐘再來。","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"將其添加到庫中,以便在可用時收到通知。","GET_NOTIFIED_WHEN_AVAILABLE":"一旦可用,您將會收到通知。","WARNING_STREAMING_SERVER":"警告:找不到本地流媒體服務器,來自本地文件、YouTube、和BitTorrent的流媒體將不可用。","WARNING_STREAMING_SERVER_DISMISS":"忽略","WARNING_STREAMING_SERVER_LATER":"推遲","DECODER_WARNING":"警告:您的硬件可能不支持此視頻,請記住,播放可能會很慢。","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"糟糕,播放器錯誤","PLAYER_ERROR_LOOKSLIKE":"看起來似乎","PLAYER_ORIENTATION":"播放器方向","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"鎖定","PLAYER_ORIENTATION_SENSOR_SHORT":"傳感器","PLAYER_ORIENTATION_LANDSCAPE":"播放器方向鎖定橫向","PLAYER_ORIENTATION_SENSOR":"播放器方向自動(傳感器)","PLAYER_PLAYBACK_SPEED":"播放速度","PLAYER_PLAYBACK_ERROR":"播放錯誤,請重試","PLAYER_PLAYBACK_ERROR_UNKNOWN":"未知錯誤","PLAYER_PLAYBACK_ERROR_DEFAULT":"抱歉,{{productName}}無法播放此視頻。","PLAYER_SUBTITLES_LANGUAGES":"字幕語言","PLAYER_SUBTITLES_VARIANTS":"字幕變形","PLAYER_SUBTITLES_SETTINGS":"字幕設置","PLAYER_SUBTITLES_DISABLED":"字幕已關閉","PLAYER_SUBTITLES_VERTICAL_POSIITON":"垂直位置","PLAYER_SUBTITLES_LOADED":"已加載字幕","PLAYER_SUBTITLES_LOADED_EMBEDDED":"已加載嵌入字幕","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"已加載外部字幕","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"已加載{{origin}}字幕","PLAYER_PLAY":"播放","PLAYER_PAUSE":"暫停","PLAYER_NEXT_VIDEO":"下一個視頻","PLAYER_MUTE":"靜音","PLAYER_UNMUTE":"取消靜音","PLAYER_OPEN_IN_EXTERNAL":"在外部播放器中打開","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"在{{device}}上播放","PLAYER_LIVE":"直播","PLAYER_NEXT_VIDEO_TITLE":"下個視頻","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"關閉","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"現在觀看","PLAYER_COPY_STREAM_SUCCESS":"流媒體鏈接已複製到您的剪貼板","PLAYER_COPY_STREAM_ERROR":"複製流媒體鏈接失敗","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"流媒體","CASTING_TO":"投屏到","NETWORK_STATUS":"網絡狀態","STREAM_SPEED":"串流速度:","STREAM_BUFFERED":"已緩衝:","PEERS_INFO":"節點信息","PEERS_ACTIVE":"活躍:","PEERS_CONNECTED":"已連接:","PEERS_WAITING":"等待:","TRANSCODING_WARNING":"警告:轉碼視頻。","STREAM_LOADING":"加載...","PLAYING_LOCAL":"從本地文件播放","PLAYING_CACHE":"從緩存播放","WRONG_SUBS":"字幕錯誤?","ERR_SUBS_LOADING_TITLE":"加載字幕時出錯","ERR_SUBS_LOADING":"字幕加載失敗:這可能是您正在使用的插件或網絡連接的問題","WARN_FOLLOWING_SUB_ADDONS_FAILED":"以下字幕插件失敗","ERR_CASTING_UPDATE_TITLE":"無法更新投屏設備信息:流媒體服務器可能離線","CHOOSE_DEVICE":"選擇在哪個設備上播放","NO_CAST_DEVICES":"無可用投屏設備。","NO_SETTINGS":"無可用設置。","NO_OPTIONS":"No options available","PHONE_TABLET":"手機/平板電腦","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"字幕","SUBTITLES_CHANGE":"調整字幕","SUBTITLES_CHANGE_NONE":"抱歉,這種語言沒有其他字幕。","SUBTITLES_CHANGE_ACIVE":"當前字幕#{{subtitlesDialog.activeIdx + 1}}被激活,點擊\\"繼續\\"激活字幕#{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"或者,","SUBTITLES_ADJUST_DELAY":"調整字幕延遲:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"或在播放時使用G / H鍵進行調整。","SUBTITLES_ADJUST_DELAY_TIP":"提示:您可以在播放時使用G / H鍵進行調整。","SUBTITLES_DELAY":"字幕延遲:","SUBTITLES_LOADING":"加載字幕...","SUBTITLES_UNAVAILABLE":"沒有可用的外部字幕","SUBTITLES_DISABLED":"關閉","EXTERNAL_PLAYER_DISABLED":"關閉","EXTERNAL_PLAYER_ALLOW_CHOOSING":"允許選擇","EXTERNAL_PLAYER_HINT":"提示:有一個設置允許總是在外部播放器中打開","DONT_SHOW_AGAIN":"不再顯示","SERVICE_INSTALL":"安裝","AUDIO":"音頻","DEFAULT_LANGUAGE":"默認語言","DEFAULT_SECONDARY_LANGUAGE":"默認第二語言","SEASON":"季","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"集","EPISODE_ABBREVIATION":"情節提要","SPECIAL":"特別篇","SORT":"排序","SORT_BY":"排序按照","FILTER":"篩選","SORT_TRENDING":"熱門","SORT_RECENT":"最近","SORT_ALPHABET":"首字母","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"評分","SORT_WATCHED":"已觀看","SORT_YEAR":"年份","SELECT":"Select","SELECT_TYPE":"選擇類型","SELECT_SORT":"選擇排序","SELECT_CATALOG":"選擇目錄","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"選擇流派","SORT_LASTWATCHED":"按上次觀看","SORT_NAME":"按名稱","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"按觀看次數","SORT_NOTWATCHED":"not watched","New for You":"新的","New Episodes":"新劇集","New Videos":"新視頻","Recommendations":"推薦","LIBRARY_RESUME":"簡介","LIBRARY_PLAY":"播放","LIBRARY_DETAILS":"詳情","LIBRARY_RESUME_DISMISS":"清除","LIBRARY_CLEAR_PROGRESS":"清除進度","LIBRARY_REMOVE":"移除","LIBRARY_NOT_LOGGED_IN":"庫僅適用於已登錄的用户","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"日曆僅適用於已登錄的用户","NOT_LOGGED_IN_CLOUD":"隨時隨地訪問您喜愛的電影和劇集","NOT_LOGGED_IN_RECOMMENDATIONS":"根據您的觀看歷史量身定製的建議","NOT_LOGGED_IN_NOTIFICATIONS":"再也不要錯過任何一集","NOT_LOGGED_IN_CALENDAR":"定製個人觀看日曆","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"功能","DISCOVER_TOP":"熱門","DISCOVER_OSCAR":"奧斯卡獲獎作品","DISCOVER_WARNING_TITLE":"糟糕!","DISCOVER_EMPTY_CATALOG":"此插件返回空內容。","DISCOVER_ADULT_WARNING":"此內容僅對成人可見,您是否已滿18週歲?","DISCOVER_NOADDON_WARNING":"警告:此類型沒有可用的Stremio插件,顯示已保存的項目,此處不會更新任何內容。","DISCOVER_LOAD_ERR":"內容未加載,發生錯誤。","DISCOVER_ADDON_UNINSTALLED":"此內容不再可用,您可能已卸載插件。","UNINSTALL_THIS_ADDON":"卸載此插件","ERR_ADDON_NOT_INSTALLED":"未安裝此插件,立即安裝?","DETAIL_RECEIVE_NOTIF_SERIES":"接受新劇集的通知","DETAIL_RECEIVE_NOTIF_VIDEOS":"接受新視頻的通知","SIDEBAR_SHOW_STREAMS":"顯示流媒體","RELAUNCH":"立即重新啓動!","UPGRADE":"新版本可用!升級至Stremio的最新版本","RELOAD_UI":"重新加載用户界面","MANUAL_UPDATE_TITLE":"更新您的Stremio版本","MANUAL_UPDATE_LINE1":"您運行的是一個過時的Stremio版本,這是非常不推薦的。","MANUAL_UPDATE_LINE2":"請儘快更新。","BUTTON_UPDATE_LATTER":"不是現在","BUTTON_UPDATE_NOW":"更新","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"匿名用户","DONT_HAVE_ACC":"還沒有賬户?","HAVE_ACC":"已經有賬户了?","PASSWORD":"密碼","PASSWORD_CONFIRM":"確認密碼","EMAIL":"電子郵箱","FB_LOGIN":"使用Facebook登錄","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"未經您的允許,任何內容都不會被共享","FB_NOPOST":"我們不會替您發送任何東西","OR":"或","I_ACCEPT":"我接受","I_ACCEPT_BY_CLICKING":"通過點擊上面的按鈕,我聲明我接受","TOS":"條款和條件","MUST_ACCEPT_TERMS":"您必須接受條款","PASSWORDS_NOMATCH":"密碼不匹配","SIGN_UP":"註冊","SIGN_UP_EMAIL":"使用電子郵箱註冊","CLICK_TO_SIGN_UP":"點擊此處註冊。","LOG_IN":"登錄","LOG_OUT":"註銷","EXIT_FULLSCREEN":"退出全屏模式","ENTER_FULLSCREEN":"進入全屏模式","PLAY_URL_MAGNET_LINK":"播放URL/Magnet鏈接","HELP_FEEDBACK":"幫助和反饋","TERMS_OF_SERVICE":"服務條款","PRIVACY_POLICY":"隱私政策","ABOUT_STREMIO":"關於Stremio","USER_PANEL":"用户面板","LOGIN_LABEL":"Login","GUEST_LOGIN":"訪客登錄","GUEST_LOGIN_NOTICE":"不建議訪客登錄,使用常規登錄允許Stremio同步您的庫,接受喜愛的劇集/頻道的通知。您確定要繼續嗎?","GUEST_LOGIN_NOTICE_2":"不建議訪客登錄,您將沒有同步的庫和首頁通知,這是Stremio的重要功能。您確定要繼續嗎?","CLICK_HERE":"點擊此處","WRONG_PASSWORD":"錯誤的電子郵箱或密碼,如果您忘了密碼,","SET_A_PASS":"設置密碼","RESET_PASSWORD":"重置密碼","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"忘記密碼?","EMAIL_USED_WITH_FB":"此電子郵箱與Facebook登陸一起使用。","INVALID_EMAIL":"請輸入有效的電子郵箱地址","INVALID_PASSWORD":"請輸入有效的密碼","CONN_ERR":"連接錯誤,請稍後再試。\\n\\n如果問題仍然存在,請禁用防火牆/殺毒軟件(特別是Bitdefender)。","IMPORT_FROM_GUEST":"從訪客賬户導入庫","RECEIVE_UPDATES_EMAIL":"從Stremio接受電子郵件更新","LOGIN_FAILED":"登陸失敗。","SIGNUP_FAILED":"註冊失敗。","SEARCH_FAILED":"搜索失敗","EMAIL_USED":"此電子郵箱已被使用。","WAITING_FB_LOGIN":"使用Facebook登錄...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"在外部播放器中播放","EXTERNAL_REMEMBER_PLAYER":"您想記住您的選擇嗎","EXTERNAL_ALWAYS_PLAY":"是","EXTERNAL_ONLY_ONCE":"不是","BEST_FIT":"最佳","FIT_SCREEN":"適合屏幕","FILL":"填充","16:9":"16:9","4:3":"4:3","Original":"原始","INTRO_TASTE":"告訴我們您喜歡什麼","INTRO_TASTE_LONG":"告訴我們您想看什麼","INTRO_TASTE_PICK":"選擇{{interestsRemaining}}興趣","INTRO_TASTE_PICK_MORE":"選擇{{interestsRemaining}}更多興趣","INTRO_TASTE_HELP_US":"幫助我們瞭解更多有關您的信息。","INTRO_TASTE_CHOOSE_THESE":"選擇其中一些:","INTRO_TASTE_CHOOSE_MIN":"至少選3個類別","INTRO_TASTE_CHOOSE_MIN_ERR":"您必須至少選擇3個類別!","INTRO_TASTE_LIFESTYLE":"生活方式","INTRO_TASTE_SPORTS":"體育","INTRO_TASTE_FOOD_HEALTH":"飲食與健康","INTRO_TASTE_BEAUTY_FASHION":"美麗與時尚","INTRO_TASTE_NEWS":"新聞","INTRO_TASTE_GAMING":"遊戲","INTRO_TASTE_SCIENCE_EDU":"科學與教育","INTRO_TASTE_MUSIC":"音樂","INTRO_TASTE_TRAVEL":"旅行","INTRO_TASTE_LATE_NIGHT":"深夜秀","INTRO_TASTE_REALITY":"真人","INTRO_TASTE_COMEDY":"喜劇","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"技術","INTRO_TASTE_CINEMA":"影院","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"此平台不支持選定的插件。","ADDON_DISCLAIMER":"使用第三方插件將始終受到您的責任和您所在的司法管轄區的法律的約束。","ADDON_ACTIVATE":"激活此插件?","ADDON_REPO_ADD":"插件集合URL","ADDON_ADD":"添加","INSTALL_ADDON":"Install addon","ADD_ADDON":"添加插件","ADD_ADDON_DESCRIPTION":"您可以通過外部鏈接添加插件,該鏈接將顯示在“已安裝的插件”下。","PASTE_ADDON_URL":"粘貼插件URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"最新消息","BUTTON_CONTINUE":"繼續","BUTTON_ACTIVATE":"激活","BUTTON_ACTIVATED":"已激活","BUTTON_CANCEL":"取消","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"提交","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"清除全部","BUTTON_VIEW_ALL":"查看全部","BUTTON_SEE_ALL":"查看全部","BUTTON_COLOR_TRANSPARENT":"透明度","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"在瀏覽器中打開","LIB_EMPTY":"您的庫看起來是空的,看看它有多有用:)","HOW_START":"您可以從這裏開始:","LIB_EMPTY_CAL":"您的日曆顯示您庫中的劇集。","HOW_START_CAL":"下面是如何添加劇集:","LIB_EMPTY_BOARD":"主頁顯示與您的庫相關的通知&推薦。","HOW_START_BOARD_WAIT":"請在您的庫中添加一些劇集或頻道給我們幾分鐘來處理:)","HOW_START_BOARD":"下面是如何向其中添加劇集&電影:","IMPORT_FB":"從Facebook導入您喜歡的東西","IMPORT_TRAKT":"從Trakt導入媒體庫","IMPORT_DISCOVER":"從發現中找到有趣的東西","IMPORT_DISK":"導入本地磁盤上的電影或節目","PLEASE_CREATE_ACC":"請創建一個賬户以啓用庫同步&主頁。","IMPORT_DISCOVER_SIGNUP":"註冊並從發現中找到有趣的東西","IMPORT_DISK_SIGNUP":"註冊並導入本地磁盤上的電影或節目","LIB_EMPTY_CLOUD":"雲端庫","LIB_EMPTY_CLOUD_DESC":"在所有設備上同步個人雲端庫","LIB_EMPTY_EARLY":"第一時間","LIB_EMPTY_EARLY_DESC":"接收新劇集的通知","LIB_EMPTY_PERSONAL":"個性化","LIB_EMPTY_PERSONAL_DESC":"獲取個性化推薦","LIB_EMPTY_CALENDAR_DESC":"安排您的個性化觀看日曆","LIB_EMPTY_ALL":"註冊以獲取所有這些:","LIB_EMPTY_BEST":"註冊以獲得最佳的Stremio","LIB_EMPTY_OTHER":"註冊以啓用日曆和其他炫酷功能","CALENDAR_ADDED":"Stremio日曆已添加到默認桌面日曆中。","CALENDAR_ADDED_MSG":"如果這不起作用,請手動將此URL添加到日曆應用程序中","TRAKT_EXPIRED":"Trakt驗證已過期,請轉到設置並重新驗證","TRAKT_REQUIRES_LOGIN":"Trakt錯誤","TRAKT_REQUIRES_LOGIN_MSG":"您需要登錄","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"設置","SETTINGS_NAV_GENERAL":"常規","SETTINGS_NAV_PLAYER":"播放器","SETTINGS_NAV_STREAMING":"流媒體","SETTINGS_NAV_SHORTCUTS":"快捷鍵","SETTINGS_SHORTCUT_RELOAD_APP":"重新加載應用程序","SETTINGS_SHORTCUT_OPEN_SETTINGS":"打開設置","SETTINGS_SHORTCUT_SWITCH_TABS":"切換標籤","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"向前循環標籤","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"向後循環標籤","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"在菜單之間導航","SETTINGS_SHORTCUT_GO_TO_SEARCH":"轉到搜索","SETTINGS_SHORTCUT_EXIT_BACK":"退出/返回","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"切換播放速度菜單","SETTINGS_SHORTCUT_MENU_VIDEOS":"切換視頻菜單","SETTINGS_SHORTCUT_MENU_SUBTITLES":"切換字幕菜單","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"切換信息菜單","SETTINGS_SHORTCUT_FULLSCREEN":"切換全屏","SETTINGS_SHORTCUT_SHOW_CONTROLS":"顯示控件","SETTINGS_SHORTCUT_PLAY_PAUSE":"播放/暫停","SETTINGS_SHORTCUT_VOLUME_UP":"增大音量","SETTINGS_SHORTCUT_VOLUME_DOWN":"降低音量","SETTINGS_SHORTCUT_SEEK_NEXT":"尋找下一個","SETTINGS_SHORTCUT_SEEK_PREV":"尋找上一個","SETTINGS_SHORTCUT_SEEK_BACKWARD":"向後搜索","SETTINGS_SHORTCUT_SEEK_FORWARD":"向前搜索","SETTINGS_SHORTCUT_PLAY_NEXT":"播放下一個","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"增加字幕大小","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"減小字幕大小","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"增加字幕延遲","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"減少字幕延遲","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"切換側邊欄","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"空格","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"已驗證","SETTINGS_FACEBOOK_IMPORT":"導入","SETTINGS_CALENDAR_SUBSCRIBE":"訂閲","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"用户界面語言","SETTINGS_LAUNCH_STARTUP":"開機時啓動","SETTINGS_VLC_DEFAULT":"使用VLC播放","SETTINGS_UI_LANGUAGE":"用户界面語言","SETTINGS_UI_ZOOM":"用户界面縮放","SETTINGS_FULLSCREEN_EXIT":"Esc鍵退出全屏","SETTINGS_GAMEPAD":"啓用遊戲手柄支持","SETTINGS_CLOSE_WINDOW":"關閉窗口時結束應用程序","SETTINGS_SUBTITLES_LANGUAGE":"默認字幕語言","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"默認字幕大小","SETTINGS_SUBTITLES_BACKGROUND":"字幕背景","SETTINGS_SUBTITLES_COLOR":"字幕顏色","SETTINGS_SUBTITLES_COLOR_OUTLINE":"字幕輪廓顏色","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"字幕背景顏色","SETTINGS_SEEK_KEY":"方向鍵控制進度","SETTINGS_SEEK_KEY_SHIFT":"按住Shift鍵時方向鍵控制進度","SETTINGS_REWIND_FAST_FORWARD_DURATION":"回放和快進持續時間","SETTINGS_BINGE":"自動播放下一集","SETTINGS_NEXT_VIDEO":"顯示播放下一集的通知","SETTINGS_NEXT_VIDEO_TRIGGER":"顯示下一集的通知:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"下一個視頻彈出持續時間","SETTINGS_PLAY_IN_BACKGROUND":"在後台播放","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"在外部播放器中播放","SETTINGS_RESIZE":"播放前自動調整窗口大小","SETTINGS_OVERRIDE_SERVER":"覆蓋流媒體服務器URL(高級)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"流媒體服務器URL:","SETTINGS_SERVER_AVAILABLE":"流媒體服務器可用。","SETTINGS_SERVER_UNAVAILABLE":"流媒體服務器不可用。","SETTINGS_SERVER_STATUS_ONLINE":"在線","SETTINGS_SERVER_STATUS_ERROR":"錯誤","SETTINGS_SERVER_CONFIGURE_TITLE":"配置流媒體服務器url","SETTINGS_SERVER_CONFIGURE_INPUT":"輸入流媒體服務器url","SETTINGS_SERVER_CACHE_SIZE":"緩存大小","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent配置","SETTINGS_HTTPS_ENDPOINT":"流媒體HTTPS結點:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"始終使用最新的測試版","SETTINGS_IMPORT_FB":"從Facebook導入","SETTINGS_IMPORT_DISK":"從本地磁盤導入","SETTINGS_IMPORT_TRAKT":"從Trakt導入","SETTINGS_PAUSE_MINIMIZED":"最小化時暫停播放","SETTINGS_HWDEC":"硬件解碼加速","SETTINGS_BACKGROUND":"後台播放","SETTINGS_SUBSCRIBE_CALENDAR":"訂閲到日曆","SETTINGS_REQ_EXPORT":"請求導出數據","SETTINGS_ACC_DELETE":"請求刪除賬户","SETTINGS_CHANGE_PASSWORD":"更改密碼","SETTINGS_TOS":"服務條款","SETTINGS_SUPPORT":"聯繫支持人員","SETTING_LANGUAGE":"語言","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt自動跟蹤","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"從Trakt.tv註銷","SETTINGS_TRAKT_LOGOUT_2":"從Trakt註銷","SETTINGS_SCAN_FOR_REMOTE":"掃描二維碼打開遙控器","SETTINGS_DESKTOP_NOTIFICATIONS":"桌面通知","SETTINGS_DATA_SAVER":"移動數據警告","SETTINGS_LANGUAGE_INTERFACE":"界面","SETTINGS_LANGUAGE_SUBS":"默認字幕","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"自動選擇音頻","SETTINGS_DEFAULT_AUDIO_TRACK":"默認音頻","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"賬户","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"版本","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"在單獨窗口中啓動播放器(高級)","SETTINGS_PLAY_IN_EXTERNAL":"總是在外部播放器中打開視頻","SETTINGS_STORAGE_BUTTON":"清除本地存儲","SETTINGS_STORAGE_MODAL_TITLE":"您確定嗎?","SETTINGS_STORAGE_MODAL_MESSAGE":"這將清除本地存儲並使您註銷","SETTINGS_HWDEC_PICKER":"選擇硬件加速解碼設置","SETTINGS_HW_AUTOMATIC":"自動","SETTINGS_HW_DISABLED":"關閉","SETTINGS_HW_ACCELERATED":"解碼加速","SETTINGS_HW_FULL":"全加速","SETTINGS_HW_LEGACY":"舊版","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"字幕","SETTINGS_SECTION_AUDIO":"音頻","SETTINGS_SECTION_CONTROLS":"控件","SETTINGS_SECTION_AUTO_PLAY":"自動播放","SETTINGS_SECTION_ADVANCED":"高級","SUBSPICKER_AUDIO":"音頻","SUBSPICKER_SUBTITLES":"插件字幕","SUBSPICKER_BLACK_BACKGROUND":"使用黑色背景色","SUBSPICKER_VERTICAL_OFFSET":"垂直偏移量","SUBSPICKER_SIZE":"大小","SUBSPICKER_DELAY":"延遲","SUBSPICKER_EMBEDDED_SUBS":"內嵌字幕","MOBILE_PRIVACY_POLICY":"隱私政策","MOBILE_CRASH_REPORTING":"崩潰報告","MOBILE_ZOOM_TO_FILL":"縮放填充屏幕","MOBILE_PASSTHROUGH":"數字音頻輸出(直通)","MOBILE_RUN_LOW_BATTERY":"電池電量低時運行","MOBILE_RUN_FOREGROUND":"作為前台服務運行","MOBILE_PERFORMANCE":"性能&穩定性","MOBILE_SERVER_ONLINE":"在線","MOBILE_SERVER_OFFLINE":"離線","MOBILE_QR_EXPIRES":"二維碼到期時間","MOBILE_LOG_INTO":"登陸到您的Stremio賬户","MOBILE_SCAN_QR":"掃描上面的二維碼或轉到","MOBILE_LINK_ACCOUNT":"鏈接賬户","MOBILE_SPEEDPICKER_CANCEL":"取消","MOBILE_SPEEDPICKER_LABEL":"選擇播放速度","MOBILE_EMPTY_LIBRARY":"您的庫為空","MOBILE_NO_ADDON_ACTIVE":"沒有活動的此類型Stremio插件。","MOBILE_ORGANIZER_WARNING":"Stremio Organizer應用程序提供的功能有限,要獲得可播放流的列表和完整的Stremio體驗,請使用Stremio桌面客户端。","MOBILE_ADDON_LOADING":"仍在加載","MOBILE_ADDONS_LOADING":"插件仍在加載","MOBILE_ADDON":"插件","MOBILE_CONFIGURE_ADDON":"配置插件","MOBILE_CONFIGURE_ADDON_LABEL":"配置插件","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer應用程序僅提供有限的插件,要獲得完整的Stremio體驗,請使用Stremio桌面客户端。","MOBILE_DISCONNECT":"斷開連接","MOBILE_LOOKING_FOR_DEVICES":"正在查找設備...","MOBILE_CAST_TO":"投屏到","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"刪除帳户","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"由於法律義務,賬户刪除不是即時的。在請求刪除您的帳户後,您將不得不使用不同的電子郵件地址/臉書個人資料在未來創建一個新的Stremio帳户。","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"確認帳户刪除","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"您的帳户是使用Facebook創建的。要刪除您的帳户,請使用我們的用户門户網站www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"請提供您的密碼以確認帳户刪除。","MOBILE_DELETE_ACCOUNT_BUTTON":"刪除帳户","NAVIGATION_ON":"開啓","NAVIGATION_OFF":"關閉","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"我同意接收Stremio的營銷通知","QUIT":"退出","CONNECTED":"已連接","AUTHENTICATE":"驗證","AUTHENTICATING":"Authenticating...","CACHING":"緩存","SETTINGS_CACHING_DRIVE":"緩存磁盤","ENABLE_LOCAL_FILES_ADDON":"啓用本地文件插件(需要重新啓動)","LOCAL_ADDON_NOT_ENABLED":"未啓用本地插件,單擊此處轉到設置並啓用它","ENABLE_REMOTE_HTTPS_CONN":"啓用遠程HTTPS連接","TORRENT_PROFILE":"Torrent配置","DATA_CACHING":"數據緩存","MAGNET_PARSING":"分析Magnet鏈接","January":"一月","February":"二月","March":"三月","April":"四月","May":"五月","June":"六月","July":"七月","August":"八月","September":"九月","October":"十月","November":"十一月","December":"十二月","Monday":"星期一","Tuesday":"星期二","Wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期天","Action":"動作","Comedy":"喜劇","War":"戰爭","Family":"家庭","Animation":"動畫","Adventure":"冒險","Fantasy":"幻想","Crime":"犯罪","Mystery":"神秘","Romance":"浪漫","Drama":"劇情","Horror":"恐怖","Thriller":"驚悚","Sci-Fi":"科幻","Music":"音樂","Biography":"傳記","Documentary":"紀錄","Sport":"運動","Musical":"音樂劇","Western":"西部","Film-Noir":"黑色電影","News":"新聞","History":"歷史","Game-Show":"遊戲節目","Reality-TV":"真人秀","Talk-Show":"脱口秀","Film & Entertainment":"電影與娛樂","Gaming":"遊戲","From TV":"電視","Lifestyle":"生活方式","Science & Education":"科學與教育","Cooking & Health":"烹飪與健康","Beauty & Fashion":"美麗與時尚","Sports":"體育","News & Politics":"新聞與政治","How-to & DIY":"DIY","Tech":"技術","Automotive":"汽車","Causes & Non-Profits":"事業與公益","Movies":"影視","Uk Live Tv":"英國直播電視台","Fashion":"流行","Business News Radio":"商業新聞電台","Business Tv":"商業電視","Cars & Auto":"汽車與自動化","Comedy Radio":"喜劇電台","Lifestyle Radio":"生活方式電台","News Tv":"新聞電視","Food And Wine":"食物與酒","Latino Tv":"拉丁語電視台","Shopping Tv":"購物電視台","Religion":"宗教","Kids":"兒童","Body & Soul":"身體與靈魂","Education":"教育","Indian Tv":"印度電視台","Extreme Sports":"極限運動","Middle Eastern Tv":"中東電視台","Celebrity Tv":"名人電視台","Science Tv":"科學電視台","Bikini babe":"比基尼寶貝","Outdoors":"户外","German Tv":"德國電視台","French Tv":"法國電視台","Italian Tv":"意大利電視台","Gamer Tv":"伽馬電視台","Travel":"旅行","Asian Tv":"亞洲電視台","Entertainment":"遊戲娛樂","News Radio":"新聞電台","Music Radio":"音樂電台","Language Learning":"語言學習","Science Radio":"科學電台","Tech Radio":"科技電台","Science & Technology Vod":"科技視頻點播","new video":"新視頻","new episode":"新一集","new movie":"新電影","recommended":"推薦","we recommend":"我們建議","offer of the day":"當日優惠","news":"新聞","music video":"音樂視頻","CTX_SHOW_HOTKEYS":"顯示快捷鍵","CTX_DISMISS_NOTIF":"清除通知","CTX_DISMISS_ALL":"全部清除","CTX_SHARE":"分享","CTX_COPY_SHARE_LINK":"複製分享鏈接","CTX_COPY_MAGNET_LINK":"複製Magnet鏈接","CTX_COPY_STREAM_LINK":"複製流媒體鏈接","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"下載此視頻","CTX_DOWNLOAD_SUBS":"下載字幕","CTX_VIEW_ON_YOUTUBE":"在YouTube上觀看","CTX_SHOW":"顯示","CTX_PLAY":"播放","CTX_PLAY_IN":"播放","CTX_PLAY_ON":"正在播放","CTX_WATCH_ON":"正在觀看","CTX_WATCH":"觀看","CTX_WATCHED":"已觀看","CTX_WATCH_BEGINNING":"從頭開始觀看","CTX_WATCH_MOBILE":"在移動設備上觀看","CTX_REWIND":"回到開頭","CTX_MARK_WATCHED":"標記為已觀看","CTX_MARK_NON_WATCHED":"標記為未觀看","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"將其餘部分標記為已觀看","CTX_UNMARK_REST":"將其餘部分標記為未觀看","CTX_RECEIVE_NEW_NOTIF":"接受新通知","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"從緩存中刪除","CTX_REMOVE_CACHE_EP":"從緩存中刪除集","CTX_OPEN_CONTAINING":"打開所在文件夾","CTX_REMOVE":"從庫中刪除","CTX_AVAILABLE_OFFLINE":"離線可用","CTX_PAUSED":"暫停","CTX_ALWAYS_ON_TOP":"置頂","CTX_FULLSCREEN":"全屏","CTX_WRONG_SUBS":"錯誤的字幕?","CTX_REPORT_ISSUES":"報告問題","CTX_COPY":"複製","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"粘貼","CTX_CLEAR":"清除","CTX_CLEAR_RECENT_SEARCHES":"清除最近搜索記錄","HELLO_THERE":"您好","HOPE_YOU_ENJOY":"我們希望您喜歡Stremio,也許它已經是您最喜歡的應用之一了!","WHO_ARE_WE":"我們是誰?我們是它背後的團隊。在過去三年裏的每天,我們兩個努力工作使這個產品越來越好。","SUPPORT_US":"如果您喜歡Stremio,如果Stremio對您來説很有價值,請傳播它!","SPREAD_THE_WORD":"現在與您的朋友分享傳播關於Stremio的信息","MORE_PEOPLE":"使用Stremio的人越多,效果就越好!","SEND_A_LINK":"或發送一個鏈接到我們的網站","TIP_LOCALFILES":"提示:您可以將本地視頻文件拖放到Stremio中","ADDON_MY":"我的插件","ADDON_COMMUNITY":"社區插件","ADDON_OFFICIAL":"官方插件","ADDON_REPOS":"插件集合","ADDON_SEARCH":"搜索插件","ADDON_INSTALL":"安裝","ADDON_CONFIGURE":"配置","ADDON_UNINSTALL":"卸載","ADDON_UPGRADE":"更新","ADDON_INSTALLED":"已安裝","ADDON_INSTALLED_MSG":"插件已安裝!","ADDON_UPGRADED_MSG":"插件已更新!","ADDON_UNKNOWN":"未知","ADDON_ERR":"插件安裝錯誤!","ADDON_DISCONNECTED":"已斷開連接","ADDON_APP_MISSING":"未安裝此源的應用程序,您想現在安裝嗎?","ADDON_APP_INSTALL":"立即安裝","ADDON_PAGE":"插件頁","ADDON_TOP_CONTENT":"最好從這個插件","ADDON_PROVIDES":"這個插件會給您:","ADDON_WATCH":"立即觀看#{types}!","ADDON_WATCH_FREE":"立即免費觀看#{types}!","ADDON_ADDON":"插件","ADDON_SUPPORTED_TYPES":"支持的類型","ADDON_SUPPORTED_CATALOGS":"支持的目錄","ADDON_PROVIDES_DISCOVER":"發現中的更多#{types}","ADDON_PROVIDES_STREAMS":"觀看#{types}","ADDON_PROVIDES_STREAMS_FREE":"免費觀看#{types}","ADDON_PROVIDES_SUBTITLES":"#{types}的字幕","ADDON_CANTDETECT":"我們無法檢測到正在運行的Stremio,因此我們無法檢測您安裝了哪些插件。","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"找不到有關於此的信息","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"檢索有關於此的信息時出錯","ERR_CANT_PARSE_MAGNET":"無法分析Magnet","ERR_NO_MAGNET_INFOHASH":"Magnet缺少有效的Hash","ERR_NO_FILE_PATH":"沒有文件路徑無法發送請求","ERR_NO_TORRENT":"沒有Torrent返回","ERR_NO_SUPPORTERD_FILES":"找不到支持的文件","ERR_OPENING_FILES":"無法打開外部文件","ERR_INVALID_LINK":"無效鏈接","ERR_REGISTERED_ONLY":"此選項僅適用於已註冊用户。","ERR_CLIPBOARD":"無法從剪切板播放","ERR_CLIPBOARD_READ":"無法讀取此平台上的剪切板","ERR_CLIPBOARD_GENERIC":"在剪切板中找不到可播放的URL. 請將URL(例如Magnet鏈接)複製到視頻。","BOARD_CONTINUE_WATCHING":"繼續觀看","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"專門為您挑選的電影。
    這部電影是一個推薦樣例。","BOARD_EXPLANATION_EPISODES":"這裏是您最喜愛的劇集的新一集。
    將您關注的劇集添加到庫中。","BOARD_EXPLANATION_VIDEOS":"這裏是您最喜愛的頻道的新一集。
    將您關注的YouTube頻道添加到庫中。","WEBSITE_ENJOYED_BY":"在全球擁有超過3000萬用户","WEBSITE_STREAMING_ENHANCED":"流媒體增強","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio提供安全、現代、無縫的娛樂體驗。憑藉其易於使用的界面和多樣化的內容庫,包括4K HDR支持,用户可以在所有設備上欣賞他們喜愛的電影和電視節目。Stremio致力於安全,是無憂、高質量流媒體體驗的終極選擇。","WEBSITE_AVAILABLE_ON":"可用時間","WEBSITE_WATCH_AND_ENJOY":"觀看並享受。","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio讓它變得小菜一碟","WEBSITE_ALL_FEATURES":"全部功能","WEBSITE_EASY_TO_USE":"易於使用","WEBSITE_EASY_TO_USE_DETAILS":"Stremio的設計是用户友好和易於使用。憑藉其乾淨直觀的界面,您可以輕鬆導航並找到想要觀看的內容。","WEBSITE_SEAMLESS_ACROSS_DEVICES":"無縫跨設備","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Stremio可用於各種平台(包括Windows、Mac、Linux、Android等),它將跟蹤您在所有設備上的進度。只需登錄並繼續觀看,無需在每個新設備上再次配置應用程序。","WEBSITE_ALL_DOWNLOADS":"全部下載","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"高清晰度視頻支持","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"集成視頻播放器支持大多數視頻格式,包括4K HDR內容,讓您享受可用的最高質量。","WEBSITE_DIVERSE_CONTENT_LIBRARY":"多樣化的內容庫","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio集成了大量流行的視頻來源,如Netflix、Amazon Prime video、Hulu、YouTube等。","WEBSITE_CREATE_A_FREE_ACCOUNT":"創建免費帳户","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"量身定製的觀看體驗","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio允許您通過更改主題、添加或刪除插件等方式自定義界面的外觀。","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"多語言字幕支持","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"由於Stremio支持所有語言的字幕,您現在可以用您喜歡的語言欣賞所有喜愛的內容。","WEBSITE_ALL_STREMIO_FEATURES":"Stremio的全部功能","WEBSITE_TRY_STREMIO_TITLE_P1":"嘗試Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"現在在你的電視上","WEBSITE_YOU_CAN_NOW_WATCH":"您現在可以在Android電視設備上觀看所有喜愛的電視節目。Stremio電視應用程序讓您輕鬆享受電影之夜。","WEBSITE_YOU_CAN_NOW_WATCH_2":"現在,您可以在智能電視或安卓電視上觀看所有喜愛的電視節目。Stremio電視應用程序讓您輕鬆享受電影之夜。","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"可能是您設備中最好、最有用的應用程序。這是我每天使用的應用程序之一,尤其是多年來在我的安卓電視上。製作精良,擁有強大的社區,提供有用的功能。幹得好。繼續努力。","WEBSITE_REVIEWS":"評論","WEBSITE_GET_STREMIO_FOR_FREE":"免費獲取Stremio","WEBSITE_GET_STREMIO_NOW":"立即獲取Stremio","WEBSITE_STREMIO_FEATURES":"Stremio功能","WEBSITE_STREMIO_FEATURES_DETAILS":"藉助Stremio的高級功能,像專業人士一樣進行流媒體播放,享受對所有喜愛媒體的無縫訪問","WEBSITE_DISCOVER_MORE":"發現更多。","WEBSITE_DISCOVER_MORE_DETAILS":"永遠不要無聊地沒有東西可看","WEBSITE_COMMUNITY_DRIVEN":"社區驅動","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio擁有一個龐大而活躍的用户社區,他們通過創建和共享插件為軟件的開發做出貢獻。","WEBSITE_GET_INVOLVED":"參與進來","WEBSITE_NEW_THEATER_EXPERIENCE":"新劇場體驗","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio的新專用電視應用程序讓您在Android電視設備上享受電影之夜。","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio的新專用電視應用程序讓您在智能電視或安卓電視設備上享受電影之夜。","WEBSITE_FREE_AND_SECURE":"免費和安全","WEBSITE_STREAMING":"流式傳輸","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio為用户提供無與倫比的安全性和隱私。Stremio具有遠程運行插件的獨特功能,與其他平台相比,它提供了一種更安全的方式來流式傳輸您喜愛的內容。您的安全和隱私是首要任務,平台確保您的所有數據都得到保護。","WEBSITE_FREE_AND_SECURE_DETAILS_2":"告別對安全和隱私的擔憂,與Stremio一起向無盡娛樂的世界問好。","WEBSITE_INFORMATION_PROVIDED_BY":"信息來源於","WEBSITE_CONTRIBUTE_DESC":"幫助我們讓Stremio變得更好","WEBSITE_COMMUNITY_DESC":"我們相信,創造真正令人驚歎的流媒體體驗的最佳方式是讓我們的社區參與到這個過程中。無論你是程序員、藝術家還是粉絲,你都可以幫助Stremio成長。","WEBSITE_COMMUNITY_DESC_2":"所以,今天就加入我們,成為Stremio社區的一員,繼續塑造流媒體的未來。","WEBSITE_WAYS_TO_GET_INVOLVED":"參與方式","WEBSITE_IN_THE_STREMIO_COMMUNITY":"在Stremio社區","WEBSITE_SHARE_YOUR_THOUGHTS":"分享你的想法","WEBSITE_REPORT_BUGS":"報告Bug","WEBSITE_SUGGEST_FEATURES":"建議功能","WEBSITE_AND_PROVIDE_FEEDBACK":"並在我們的社交媒體渠道上提供反饋。","WEBSITE_BETA_TESTING_PROGRAM":"Beta測試程序","WEBSITE_BETA_TESTING_PROGRAM_DESC":"在Stremio社區參與我們的測試計劃(我們定期發出邀請)。","WEBSITE_JOIN_NOW":"立即加入!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Stremio官方社區","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Stremio非官方社區","WEBSITE_BECOME":"成為","WEBSITE_A_VOLUNTEER_TRANSLATOR":"一位志願翻譯者","WEBSITE_ARE_YOU_A_DEVELOPER":"你是開發者嗎?","WEBSITE_CONTRIBUTE_CODE":"您可以為我們的開源項目貢獻代碼。我們在GitHub上有幾個項目正在尋找貢獻者。如果你有興趣幫忙,可以去看看:","WEBSITE_STREMIO_ON_GITHUB":"GitHub上的Stremio","WEBSITE_CREATE_ADDON_DESC":"創建一個插件以增強Stremio的功能(我們有一個易於使用的API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio插件SDK","WEBSITE_INTERN_DEVELOPER":"我們還提供了作為實習生開發人員加入我們的機會,這樣我們就可以一起成長。","WEBSITE_APPLY_AS_AN_INTERN":"以實習生身份申請","WEBSITE_CALLING_ALL_ARTISTS":"呼叫所有藝術家!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"通過將您的粉絲藝術上傳到我們的在線畫廊,展示您對Stremio的創造力和熱愛。無論是繪畫、繪畫還是數字設計,我們都希望看到您對Stremio品牌的獨特見解。加入我們的藝術愛好者社區,與世界各地的Stremio粉絲分享您的作品。","WEBSITE_STREMIO_FANART_GALLERY":"Stremio粉絲藝術畫廊","WEBSITE_INTERN_DESIGNER":"通過我們激動人心的實習機會,成為我們團隊的一員,將您的創造力提升到新的高度。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"公共領域電影項目","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"在Stremio,我們致力於通過識別公共領域和孤兒視頻來保護電影和電視的歷史。通過與我們的社區合作,我們可以確保這些經典藝術作品對每個人都是可訪問的,併為後代所保護以供享受。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"如果您想參與該項目,請隨時與我們聯繫。","WEBSITE_JOIN_THE_PROJECT":"加入項目","WEBSITE_BE_PART_OF_OUR_MISSION":"成為我們使命的一部分","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"有興趣加入斯特雷米奧隊嗎?我們為充滿激情的專業人士提供完全遠程工作。查看我們的空缺職位。","WEBSITE_OPEN_POSITIONS":"空缺職位","WEBSITE_DESCRIPTION":"説明","WEBSITE_LEARN_MORE":"瞭解更多","WEBSITE_COMPANY":"公司","WEBSITE_CONTACTS":"聯繫人","WEBSITE_NEED_HELP":"需要幫助?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS版Stremio Web指南","WEBSITE_LINK_ART_V2":"粉絲藝術畫廊","WEBSITE_PARTNERS":"合作伙伴","WEBSITE_SLOGAN_WATCH":"立即觀看","WEBSITE_SLOGAN_ALL":"一站式視頻娛樂解決方案","WEBSITE_SLOGAN_NEW":"您能觀看一切","WEBSITE_SLOGAN_NEW_NEW":"自由串流","WEBSITE_WATCH_FROM":"觀看","WEBSITE_DOWNLOAD":"立即下載","WEBSITE_DOWNLOAD_FOR":"立即下載","WEBSITE_IS_DESKTOP":"Stremio是一個桌面應用程序,請在PC上打開此頁並下載","WEBSITE_DESKTOP_DEMO_VID":"桌面演示","WEBSITE_PAGE_HOME":"首頁","WEBSITE_PAGE_FEATURES":"功能","WEBSITE_PAGE_ADDONS":"插件","WEBSITE_PAGE_TECH":"技術","WEBSITE_PAGE_CREATE_ADDON":"創建插件","WEBSITE_PAGE_CONTACTS":"聯絡","WEBSITE_PAGE_BLOG":"博客","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"電影","WEBSITE_TYPE_series_PL":"劇集","WEBSITE_TYPE_tv":"直播電視","WEBSITE_TYPE_channel":"頻道","WEBSITE_STREMIO_WHAT_IS":"Stremio是一款幫助您管理和隨時觀看您喜愛的視頻、電影、劇集和電視頻道的應用程序","WEBSITE_FEATURES_WATCH":"立即觀看高清視頻","WEBSITE_FEATURES_WATCH_DETAIL":"點擊並播放您喜愛的電影、劇集、視頻和電視頻道。","WEBSITE_FEATURES_SUBS":"自動加載字幕","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio會自動為您的語言選擇同步字幕。","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"在電視和移動設備上播放","WEBSITE_FEATURES_CAST_DETAIL":"適用於AppleTV、Chromecast、智能電視(DLNA/UPnP)和移動設備。","WEBSITE_LIB":"享受在所有設備上同步的個人庫","WEBSITE_LIB_COLLECT":"從Stremio收集","WEBSITE_LIB_IMPORT":"從Facebook導入","WEBSITE_LIB_LOCAL":"從本地磁盤添加","WEBSITE_BOARD":"首頁 - 通知和推薦的一站式場所","WEBSITE_BOARD_RECOMMEND":"推薦電視節目","WEBSITE_BOARD_TRENDING":"流行電影","WEBSITE_BOARD_NEW":"新視頻","WEBSITE_BOARD_EPISODE":"新一集","WEBSITE_BOARD_1":"想看些有趣的東西嗎?根據您的喜好得到推薦!","WEBSITE_BOARD_2":"當您最喜愛的電視節目或YouTube頻道的新一集播出時獲得通知!","WEBSITE_BOARD_YOUTUBE":"YouTube頻道的新視頻","WEBSITE_BOARD_EPISODES":"您關注的劇集的新一集","WEBSITE_ADDONS":"內容插件","WEBSITE_TECH_DETAIL":"我們熱愛科技,我們熱愛瘋狂的科學!\\nStremio使用了以下開源技術:","WEBSITE_TECH_WCJS":"WebChimera.js允許Stremio以良好的性能播放任何視頻格式。","WEBSITE_TECH_WCJS_EXTRA":"我們是項目的核心貢獻者","WEBSITE_TECH_ELECTRON":"Electron為Stremio提供了一個創新平台。","WEBSITE_TECH_ELECTRON_EXTRA":"我們是項目貢獻者","WEBSITE_TECH_LINVODB":"一種數據庫技術,確保您的數據在任何地方登錄都受管理和可用。","WEBSITE_TECH_LINVODB_EXTRA":"內部技術","WEBSITE_CREATE_ADDON":"創建您的插件","WEBSITE_CREATE_ADDON_DETAIL":"您有提供視頻內容的服務嗎?我們將通過創建插件來幫助您從Stremio的功能中獲益。","WEBSITE_CREATE_ADDON_BENEFITS":"為Stremio創建插件的好處","WEBSITE_P2P_BEAUTY":"點對點流媒體之美","WEBSITE_P2P_1":"可靠且價格合理的全高清/4K視頻點播或流媒體直播","WEBSITE_P2P_2":"提供良好用户體驗的分銷平台","WEBSITE_P2P_3":"我們將創建一個插件來滿足您的確切需要","WEBSITE_P2P_CONTACT":"有興趣嗎?歡迎您通過聯繫我們.","WEBSITE_P2P_CONTACT_EXTRA":"我們很樂意幫助您將您的內容集成到Stremio!","WEBSITE_P2P":"偶然間出現了一種改變遊戲名稱的技術。 我們投入了大量的時間和精力來構建我們的點對點(P2P)視頻流媒體引擎,該引擎可提供出色的性能和多功能性,以適應任何用例。\\n請聯繫我們以獲取支持DRM的P2P視頻點播或實時流媒體。","WEBSITE_THOUGHTS":"我們分享的想法:","WEBSITE_SPREAD":"傳播關於Stremio的信息:","WEBSITE_CONTACT":"聯繫我們,我們很高興收到您的來信!","WEBSITE_OPENSOURCE":"有關我們的開源項目,請轉到:","WEBSITE_BITCOIN":"捐贈比特幣:","WEBSITE_FAQ":"常見問題","WEBSITE_FAQ_SHORT":"常見問題","WEBSITE_QUESTIONS":"問題","WEBSITE_TOS":"使用條款","WEBSITE_LEGAL":"法律","WEBSITE_PAGE_ABOUT":"關於","WEBSITE_PAGE_BECOME_PARTNER":"成為合作伙伴","WEBSITE_ALL_YOU_CAN_WATCH":"自由觀看\\n您想看的一切。","WEBSITE_FREEDOM_TO_STREAM":"自由串流","WEBSITE_WHAT_IS_STREMIO":"什麼是Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio是一個一站式視頻內容聚合中心。在您擁有的任何設備上發現,管理和觀看來自各種來源的視頻。","WEBSITE_WHAT_IS_STREMIO_P2":"電影、電視節目、劇集、電視直播或網絡頻道例如YouTube或Twitch.tv等,您可以在Stremio上找到所有這些內容。","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio是一個現代化的媒體中心,為您的視頻娛樂提供一站式解決方案。您可以通過易於安裝的插件發現,觀看和整理視頻內容。","WEBSITE_WHAT_IS_STREMIO_P2_V2":"電影、電視節目、直播電視或網絡頻道——在Stremio上找到所有這些。","WEBSITE_ENJOI_ON_ALL_DEVICES":"在所有媒體設備上享受","WEBSITE_DEVICES_COLLECT":"從Stremio收集","WEBSITE_DEVICES_IMPORT_FB":"從Facebook導入","WEBSITE_DEVICES_LOCAL":"從本地磁盤添加","WEBSITE_JOIN_THE_PARTY_NOW":"立即加入聚會","WEBSITE_DEVICES_ALL":"易於在所有設備上使用;","WEBSITE_EXTENDABLE_CATALOG":"可無限擴展的視頻目錄;","WEBSITE_ORGANIZE_YOUR_MEDIA":"強大的媒體管理功能;","WEBSITE_AS_SEEN_ON":"如圖所示","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"關於我們","WEBSITE_LINK_TECHNOLOGY":"技術","WEBSITE_LINK_APPS":"應用程序","WEBSITE_LINK_DOWNLOADS":"下載","WEBSITE_MORE":"更多","WEBSITE_LINK_ADDONS":"插件","WEBSITE_LINK_ADDON_SDK":"插件SDK","WEBSITE_LINK_CONTRIBUTE":"貢獻","WEBSITE_LINK_COMMUNITY":"社區","WEBSITE_LINK_BLOG":"博客","WEBSITE_MORE_MORE":"... & 更多","WEBSITE_LINK_HELP":"幫助中心","WEBSITE_LINK_CONTACTS":"業務查詢","WEBSITE_LINK_TOS":"條款和條件","WEBSITE_LINK_PRAVACY":"隱私政策","WEBSITE_SUBSCRIBE":"訂閲","WEBSITE_NEWSLETTER":"加入我們的實時通訊,瞭解精彩的內容","WEBSITE_PLACEHOLDER_EMAIL":"您的電子郵箱","WEBSITE_COMMUNITY":"社區","WEBSITE_LINK_PRAVACY_LEGAL":"隱私與法律","WEBSITE_WHY":"我們為什麼這樣做","WEBSITE_WHY_P1":"在Stremio,我們每天都工作,因為我們想解決視頻點播行業的一個重要問題。每分鐘都有這麼多的新內容發佈,幾乎不可能找到解決的方法。","WEBSITE_WHY_P2":"我們幫助人們瀏覽這個巨大的視頻娛樂世界,發現新的內容來享受。我們的應用程序彙集了電影、劇集、電視直播、網絡頻道等。我們致力於讓用户非常容易地找到他們喜歡的標題和廣播。","WEBSITE_WHY_P3":"您可以隨時在任何設備上使用我們的服務,使Stremio成為您唯一需要的視頻娛樂中心。","WEBSITE_TEAM":"團隊","WEBSITE_TEAM_P":"Stremio團隊雖小但很強大:我們10個人用X語言編寫代碼,分享軟件開發、UI和UX設計、營銷和廣告、商業和初創企業方面的專業知識。","WEBSITE_FEATURES":"功能","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"輕鬆發現新內容","WEBSITE_FEATURES_DISCOVER_P":"輕鬆發現要觀看的新電影、電視節目、劇集和頻道。按類別、流派、評分、時間等瀏覽,或者只需鍵入一個名稱即可找到。Stremio讓尋找新的視頻內容變得輕而易舉。","WEBSITE_FEATURES_ALL_CONTENT":"一塊屏幕顯示所有視頻內容","WEBSITE_FEATURES_ALL_CONTENT_P1":"查看您未看完的電影、劇集或視頻,並繼續觀看;獲得新劇集和版本的通知;瀏覽根據您的觀看習慣獲得的推薦。","WEBSITE_FEATURES_LIBRARY":"管理您的視頻庫","WEBSITE_FEATURES_LIBRARY_P1":"只需點擊一下,即可將任何標題添加到您的Stremio庫中,並按類型、時間或字母順序整齊地排列內容。","WEBSITE_FEATURES_CALENDAR":"記錄您所觀看的一切","WEBSITE_FEATURES_CALENDAR_P1":"獲取添加到庫中的所有電影和系列的日曆可視化。導出您的Stremio日曆並同步它,這樣您就可以隨時知道新的一集或首映何時到來。","WEBSITE_FEATURES_BIG_SCREEN":"在大屏幕上欣賞您的視頻內容","WEBSITE_FEATURES_BIG_SCREEN_P1":"將您正在觀看的任何內容都投屏到另一台設備上,無論是手機、平板電腦還是電視,只需點擊一下即可。","WEBSITE_FEATURES_SOURCES":"觀看不同來源的視頻","WEBSITE_FEATURES_SOURCES_P":"安裝官方和社區插件,欣賞來自多個不同供應商的視頻。","WEBSITE_CREATE_AN_ADDON":"創建插件","WEBSITE_FEATURES_SYNC":"跨設備同步庫並恢復播放","WEBSITE_FEATURES_SYNC_P1":"使用您的帳户在所有設備上登錄,享受同步的庫、插件、播放和日曆。","WEBSITE_FEATURES_EXTENDABLE":"通過插件擴展視頻目錄","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio插件目錄提供了許多插件,可以從中安裝和觀看各種視頻內容。這包括電影、節目、電視直播、體育、新聞、播客、網絡頻道、視頻遊戲等。","WEBSITE_FEATURES_AUTO_SUBS":"自動加載字幕","WEBSITE_FEATURES_AUTO_SUBS_P1":"通過我們的字幕插件,您可以自動選擇您喜歡的語言。","WEBSITE_FEATURES_CHROMECAST":"投屏到Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"在更大的屏幕上欣賞您的視頻內容,或者將您正在觀看的內容投屏到其他設備上。","WEBSITE_FEATURES_KEEP_TRACK":"跟蹤您最喜愛的電視節目和網絡頻道","WEBSITE_FEATURES_KEEP_TRACK_P1":"獲取您最喜愛的劇集和網絡頻道的新一集的日曆可視化和通知。","WEBSITE_FEATURES_POWER_USER":"超級用户功能","WEBSITE_FEATURES_POWER_USER_P1":"在外部播放器中播放","WEBSITE_FEATURES_POWER_USER_P2":"從Torrent文件或Magnet鏈接播放","WEBSITE_FEATURES_POWER_USER_P3":"從Facebook喜愛或本地磁盤導入您的庫","WEBSITE_ADD_ONS":"插件","WEBSITE_ADD_ONS_P1":"Stremio提供的所有視頻內容都是通過插件系統獲取的,應用程序中沒有內置任何內容或內容提供商。","WEBSITE_ADD_ONS_P2":"有兩組插件可用:官方和社區插件。","WEBSITE_ADD_ONS_P3":"官方插件由Stremio開發和託管,而社區插件由我們的社區成員創建和託管。","WEBSITE_ADDONS_OFFICIAL":"官方插件","WEBSITE_ADDONS_WATCHUB":"從iTunes、Hulu、Amazon和其他英國/美國服務提供商處流式播放您喜愛的電影、劇集和節目。","WEBSITE_ADDONS_YOUTUBE":"觀看您喜愛的YouTube頻道,獲得您關注的貢獻者的新上傳通知。","WEBSITE_ADDONS_FILMON":"免費觀看直播電視、電影和社交電視。600個電視頻道,45000部免費電影,紀錄片以及更多","WEBSITE_ADDONS_OPENSUBTITLES":"多語種影視字幕,每天上傳上千個翻譯字幕。","WEBSITE_ADDONS_COMMUNITY":"社區插件","WEBSITE_ADDONS_FILMON_VOD":"觀看來自Filmon.tv的點播視頻。","WEBSITE_ADDONS_TWICH":"觀看來自Twitch.tv(電子競技行業的視頻流媒體平台)的直播。","WEBSITE_ADDONS_VODO":"觀看完全免費的獨立電影。","WEBSITE_ADDONS_NETFLIX":"觀看Netflix的電影和網劇。","WEBSITE_ADDONS_CREATE":"創建插件","WEBSITE_ADDONS_CREATE_P1":"如果您願意,您可以開發自己的插件。通過這種方式,您可以讓自己和我們的社區訪問新的視頻內容,並接觸到全球數百萬用户的新目標受眾。","WEBSITE_ADDONS_START_CREATE":"要開始,請訪問Stremio插件SDK頁面:","WEBSITE_DOWNLOADS":"下載","WEBSITE_DOWNLOADS_P1":"為了獲得最佳性能,我們建議您使用最新版本的Stremio應用程序。但是,如果出於某種原因,您想使用舊版本,可以在此處下載。","WEBSITE_DOWNLOADS_P1_SHORT":"為了獲得最佳性能,我們建議您使用最新版本的Stremio應用程序,","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS(限制版本)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"下載Stremio服務","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service是Stremio Web的配套應用程序。我們建議使用最新版本的Stremio Service。","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"更多下載選項","WEBSITE_DOWNLOAD_NEW":"新!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"我們發佈了Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"貢獻","WEBSITE_CONTRIBUTE_P1":"Stremio平台是開源的,您可以輕鬆地為當前沒有來源的內容創建一個插件。","WEBSITE_CONTRIBUTE_WHY":"為什麼要創建插件?","WEBSITE_CONTRIBUTE_WHY_P1":"為您的視頻內容吸引新觀眾","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio的用户羣體正在快速增長,在推出的第一年,Stremio在全球獲得了100萬用户,在該平台存在的第二年,這個數字增長到250萬。","WEBSITE_CONTRIBUTE_WHY_P3":"用插件,您可以輕鬆接觸這些觀眾並向他們分發您的視頻內容。","WEBSITE_CONTRIBUTE_ALL":"在一處觀看您喜愛的電影、視頻、劇集和頻道。","WEBSITE_CONTRIBUTE_ALL_P1":"您是Stremio上尚未提供的特定類型內容的粉絲?為它創建一個插件,在市場上最大、最易使用的娛樂中心之一欣賞您喜愛的視頻。","WEBSITE_CONTRIBUTE_ALL_P2":"除此之外,您還會得到其他志同道合的Stremio社區成員的無盡感激。","WEBSITE_CONTRIBUTE_MONETIZE":"通過插件營利,並在其幫助下賺錢","WEBSITE_CONTRIBUTE_MONETIZE_P1":"一旦您為Stremio開發了一個新的插件,您就可以通過多種不同的方式輕鬆地靠其營利。如果您正在考慮此問題,請隨時與我們聯繫","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":",我們很樂意就插件營利選項向您提供諮詢和建議。","WEBSITE_CONTRIBUTE_TRANSLATE":"成為一名志願翻譯者","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"如果您想享受不同語言的Stremio應用程序,您可以加入我們的志願翻譯者社區。他們幫助我們添加多種不同語言的Stremio版本。","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"您想開始嗎?","WEBSITE_TRANSALTE_STREMIO":"翻譯Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"官方社區","WEBSITE_COMMUNITY_OFFICIALS_P1":"成為不斷增長的Stremio社區的一部分。在社交媒體上關注我們,不要害羞地打招呼,我們喜歡聽到粉絲的聲音!","WEBSITE_COMMUNITY_UNOFFICIALS":"非官方社區","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"合作伙伴和支持者","WEBSITE_COMMUNITY_GOODIES":"Stremio特典","WEBSITE_COMMUNITY_WALLPAPERS":"壁紙","WEBSITE_COMMUNITY_ART":"社區藝術畫廊","WEBSITE_LINK_ART":"社區藝術畫廊","WEBSITE_CONTACT_US":"聯繫我們","WEBSITE_CONTACT_US_P1":"如果您有任何問題、意見或建議,請隨時通過下面的聯繫方式與我們聯繫。","WEBSITE_CONTACT_US_P2":"請記住,我們位於保加利亞,因此可能會由於時區差異而延遲處理您的問題。","WEBSITE_CONTACT_US_SUCCESS":"您的信息已發送。我們會在方便的時候儘快給您回覆。","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"請輸入有效的電子郵箱!","WEBSITE_CONTACT_US_Q_RELATED_TO":"您的問題與什麼有關?","WEBSITE_CONTACT_US_Q_OS":"您的操作系統是什麼?","WEBSITE_CONTACT_US_PH_EMAIL":"您的電子郵箱","WEBSITE_CONTACT_US_PH_MESSAGE":"短信","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"發送","WEBSITE_CONTACT_US_Q_1":"如何安裝?","WEBSITE_CONTACT_US_Q_2":"如何卸載?","WEBSITE_CONTACT_US_Q_3":"(HTML)如何製作千層麪?","WEBSITE_CONTACT_US_Q_4":"插件","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"技術","WEBSITE_TECHNOLOGY_P1":"我們熱愛科技,熱愛科學。
    這是Stremio的動力(它都是開源的)。","WEBSITE_TECHNOLOGY_P_QT":"最佳跨平台軟件開發工具。","WEBSITE_TECHNOLOGY_P_MPV":"一款免費、開源、跨平台的媒體播放器。","WEBSITE_TECHNOLOGY_P_RN":"React Native允許您僅使用JavaScript構建移動應用程序。","WEBSITE_TECHNOLOGY_P_VLC":"嵌入到應用程序中獲取多媒體的媒體框架。","WEBSITE_TECHNOLOGY_P_REALM":"Realm是一個移動平台,是SQLite和Core Data的替代品。","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js是一個開源、跨平台的JavaScript運行環境。","WEBSITE_TECHNOLOGY_P_RUST":"Rust是一種多範式系統編程語言,關注安全性,尤其是安全併發性。","WEBSITE_TECHNOLOGY_CONTRIBUTE":"為項目貢獻力量","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"您可以通過兩種方式為Stremio做貢獻,幫助我們將產品做得更好。","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"您可以通過翻譯平台來貢獻您寶貴的語言技能...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"或","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... 您可以利用您的編程技巧來創建社區插件。","WEBSITE_TRANSLATE_STREMIO":"翻譯Stremio","WEBSITE_404_OH_NO":"糟糕!您要找的頁面不在這裏...","WEBSITE_GO_HOME":"回到主頁","WEBSITE_LINK_OTHER_DOWNLOADS":"其他下載","WEBSITE_FAQ_ABR":"常見問題","WEBSITE_SUPPORT":"支持","WEBSITE_DOWNLOAD_4_0_BETA":"立即下載Stremio 4測試版","WEBSITE_GET_FOR_DESKTOP":"獲取桌面","WEBSITE_LINK_ADDON_COMPETITION":"插件比賽","WEBSITE_LINK_ART_CONTEST":"藝術比賽","WEBSITE_MY_ACCOUNT":"我的賬户","WEBSITE_MAINPAGE_FAQ_001_H1":"什麼是Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio是一個現代化的媒體中心,讓您可以自由觀看任何您想要的東西。","WEBSITE_MAINPAGE_FAQ_002_H1":"它是如何工作的?","WEBSITE_MAINPAGE_FAQ_002_P1":"一旦您在設備上安裝了Stremio並創建了一個帳户,您所要做的就是訪問插件目錄並安裝任何您想要的插件,就可以開始了!","WEBSITE_MAINPAGE_FAQ_002_P2":"之後,您可以進入“發現”或“板”部分,開始探索內容。","WEBSITE_MAINPAGE_FAQ_003_H1":"我可以在這裏看什麼?","WEBSITE_MAINPAGE_FAQ_003_P1":"很多:電影、電視節目、網絡頻道、體育、電視頻道、收聽播客等等。感謝我們的插件系統,您可以訪問各種內容。","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio是開源的嗎?","WEBSITE_MAINPAGE_FAQ_004_P1":"是的,您可以查看以下鏈接:${1}桌面應用${2}和${3}GitHub組織${4}。","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio安全嗎?","WEBSITE_MAINPAGE_FAQ_005_P1":"是:因為它是開源軟件,所以代碼可以公開審核,您可以自己查看。","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"我的隱私如何?","WEBSITE_MAINPAGE_FAQ_006_P1":"我們尊重用户隱私,除了創建和同步您的帳户所必需的最低限度外,不收集任何個人數據。","WEBSITE_MAINPAGE_FAQ_006_P2":"註冊時還有一個${1}訪客模式${2},它不需要任何數據:在這種模式下,不會調用我們的後端。然而,這是以犧牲有用的功能為代價的,比如能夠跨設備同步您的庫。","WEBSITE_MAINPAGE_FAQ_007_H1":"我可以投屏到電視嗎?","WEBSITE_MAINPAGE_FAQ_007_P1":"是的,我們支持Chromecast,您可以從桌面和移動應用程序(Android)進行強制轉換。","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio有多少插件?","WEBSITE_MAINPAGE_FAQ_008_P1":"截至2019年末,超過50個。有關更多信息,請查看我們的插件目錄。","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio是否可以擴展到插件目錄之外?","WEBSITE_MAINPAGE_FAQ_009_P1":"是的,您應該查看這些:${1}PimpMyStremio${2},${3}Reddit communities${4},${5}Stremio Downloader${6},等等。","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio支持哪些設備?","WEBSITE_MAINPAGE_FAQ_010_P1":"我們有適用於Windows、Mac和Linux的桌面應用程序。對於移動設備,我們支持Android和iOS,但請記住iOS的功能有限(不支持大多數插件)。","WEBSITE_MAINPAGE_FAQ_010_P2":"有很多基於Android的設備可以在上面運行Stremio,比如NVIDIA Shield和Amazon Fire Stick,但我們並不正式支持它們。","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"您們能為Stremio添加某些內容嗎?","WEBSITE_MAINPAGE_FAQ_011_P1":"抱歉,我們本身不提供任何內容,但是您安裝的Stremio插件越多,您可以找到的內容就越多。","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio可以播放Magnet鏈接嗎?","WEBSITE_MAINPAGE_FAQ_012_P1":"是的,它還可以播放正常的HTTP鏈接和Torrent文件(拖放)。","WEBSITE_MAINPAGE_FAQ_013_H1":"我可以下載視頻並離線觀看嗎?","WEBSITE_MAINPAGE_FAQ_013_P1":"離線可用是一項即將推出的功能,但如果您允許Stremio在設備上緩存(從“設置”面板),您可以稍後在沒有連接的情況下觀看視頻。","WEBSITE_MAINPAGE_FAQ_014_H1":"什麼都不能用,幫幫我!","WEBSITE_MAINPAGE_FAQ_014_P1":"您確定已安裝插件嗎?如果是,請與我們的${1}幫助中心${2}聯繫","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio如何維持其開發運營?","WEBSITE_MAINPAGE_FAQ_015_P1":"我們偶爾會播放非侵入性廣告,但我們正在考慮轉向捐贈模式。","WEBSITE_MAINPAGE_FAQ_015_P2":"有關更多問題,請訪問我們的${1}幫助中心${2}。","HELP_LEARN_MORE":"幫助我們瞭解更多有關您的信息。","LIFESTYLE":"生活方式","SPORTS":"體育","FOOD_HEALTH":"飲食與健康","BEAUTY_FASHION":"美麗與時尚","NEWS":"新聞","GAMING":"遊戲","SCIENCE_EDUCATION":"科學與教育","MUSIC":"音樂","TRAVEL":"旅行","LATE_NIGHT":"深夜","REALITY":"真人","COMEDY":"喜劇","DIY":"DIY","TECH":"技術","CINEMA":"影院","CONTINUE":"繼續","SLOW_LOADING":"加載緩慢?","I_GIVE_UP":"我放棄了","LEARN_MORE":"瞭解更多","POOR_SOURCE":"此源不可用或您的網絡連接不夠快","PICK_CATEGORIES_ERR":"您必須至少選擇3個類別","ADJUST_TIMING":"調整時間","ADJUST_SIZE":"調整大小","SEARCH_ANYTHING":"您可以搜索一切...","ALL_CATEGORIES":"全部","SEARCH_CATEGORIES":"電影、劇集、YouTube和電視","SEARCH_PERSONS":"演員、導演和編劇","SEARCH_PROTOCOLS":"HTTP或Magnet鏈接","SEARCH_TYPES":"IMDB/TVDB鏈接","WATCHED":"已觀看","SHOW_LESS":"顯示較少","LAST_SEARCHES":"上次搜索","CLEAR_HISTORY":"清除歷史記錄","CHOOSE_SOME":"選擇其中一些:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"無法加載Web Remote","STREMIO_OFFLINE":"Stremio離線","STREMIO_EXPENSIVE_CONNECTION":"我們檢測到您正在使用移動數據連接,是否繼續?","USE_DATA":"使用移動數據","WARNING":"警告","MORE_INFO":"更多信息...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"加載...","STREMIO_TV_BACK_TO_LANGUAGES":"返回語言","STREMIO_TV_REMOTE":"遠程","STREMIO_TV_GO_TO":"去往:","STREMIO_TV_OR_SCAN":"或掃描:","STREMIO_TV_ADDON_INSTRUCTIONS":"請按照説明安裝您喜歡的插件。","STREMIO_TV_LIVE_TV":"直播電視","STREMIO_TV_RESUME_WATCHING":"繼續觀看","STREMIO_TV_LOADING_BACKGROUND":"加載背景","STREMIO_TV_CHECKING_AUTHENTICATION":"正在檢測身份驗證","STREMIO_TV_LOADING_BOARD":"加載主頁","STREMIO_TV_LOGIN_HEADER_LINE_1":"我們希望用户在使用我們的軟件時有最好的個性化體驗,","STREMIO_TV_LOGIN_HEADER_LINE_2":"正是出於這個原因,我們懇請您建立和/或登錄您的賬户,","STREMIO_TV_LOGIN_FOOTER_LINE_1":"感謝您的理解,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio團隊","STREMIO_TV_REMOTE_INSTRUCTIONS":"為了在您的智能手機/平板電腦/桌面使用Web Remote:","STREMIO_TV_WIFI_SETUP":"Wi-Fi設置","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle未檢測到互聯網連接。","STREMIO_TV_WIFI_DETAILS_1":"連接到:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"使用密碼:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"在瀏覽器中打開鏈接:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"默認","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"按最近觀看","STREMIO_TV_LIBRARY_SORT_NAME":"按名字","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"按觀看次數","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"季${1}","STREMIO_TV_STREAMS_LOADING":"已加載${1}/${2}插件...","STREMIO_TV_STREAMS_STILL_LOADING":"${1}插件仍在加載...","STREMIO_TV_PLAYER_SETTINGS":"播放器設置","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"字幕延遲","STREMIO_TV_PLAYER_AUDIO_DELAY":"音頻延遲","STREMIO_TV_PLAYER_VIDEO_SCALING":"視頻縮放","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"不支持的流媒體源","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"打開外部鏈接失敗","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"在音頻直通模式下不可調整","STREMIO_TV_PLAYER_PLAY_IN_EXO":"使用ExoPlayer播放","STREMIO_TV_PLAYER_PLAY_IN_VLC":"使用libVLC player播放","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"由於播放錯誤而切換到libVLC player","STREMIO_TV_ADDONS_TITLE":"在手機或PC上使用Stremio安裝或配置插件,然後按\\"同步插件\\"","STREMIO_TV_ADDONS_SUBTITLE":"注意:確保您使用的是相同的Stremio帳户","STREMIO_TV_ADDONS_SYNC_ADDONS":"同步插件","STREMIO_TV_ADDONS_SYNC_SUCCESS":"插件成功同步","STREMIO_TV_ADDONS_SYNC_FAILED":"插件同步失敗","STREMIO_TV_META_LINK_FAILED":"打開元鏈接失敗","STREMIO_TV_CATALOG_LOADING":"目錄仍在加載...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"界面語言已更新","STREMIO_TV_SETTINGS_THEME_UPDATED":"主題已更新","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"默認播放器","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"外部播放器","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"首選語言","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"次要首選語言","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"隧道播放","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"某些設備上可能存在播放問題","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"某些視頻格式可能無法播放","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"幀速率匹配","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"關閉","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"僅幀速率","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"幀速率和分辨率","STREMIO_TV_SETTINGS_NO_CACHING":"無緩存","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"默認","STREMIO_TV_SETTINGS_PROFILE_SOFT":"慢","STREMIO_TV_SETTINGS_PROFILE_FAST":"快","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"超快","STREMIO_TV_SETTINGS_SERVER_URL":"流媒體服務器URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"服務器版本","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"未知","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio版本","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"編輯服務器URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"輸入流媒體服務器URL","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"加載時顯示統計信息","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"要閲讀Stremio的隱私政策,請訪問:","STREMIO_TV_SETTINGS_TOS_TEXT":"要閲讀Stremio的條款和條件,請訪問:","STREMIO_TV_NAV_SEARCH":"搜索","STREMIO_TV_NAV_HOME":"主頁","STREMIO_TV_NAV_DISCOVER":"發現","STREMIO_TV_NAV_LIBRARY":"庫","STREMIO_TV_NAV_MOVIES":"電影","STREMIO_TV_NAV_SERIES":"劇集","STREMIO_TV_NAV_CHANNELS":"頻道","STREMIO_TV_NAV_TV":"電視直播","STREMIO_TV_NAV_SETTINGS":"設置","STREMIO_TV_NAV_ADDONS":"插件","STREMIO_TV_LOGIN_TITLE":"鏈接賬户","STREMIO_TV_LOGIN_EXPIRES_IN":"過期日期到","STREMIO_TV_LOGIN_STEP_ONE":"掃描上方的二維碼或轉到","STREMIO_TV_LOGIN_STEP_TWO":"登錄您的Stremio帳户","STREMIO_TV_LOGIN_NEW_LINK":"請求新鏈接","STREMIO_TV_LOGIN_LINK_REFRESHED":"登錄代碼已刷新","STREMIO_TV_SEARCH_PLACEHOLDER":"輸入一些東西","STREMIO_TV_SEARCH_NO_ADDONS":"沒有為目錄請求插件!","STREMIO_TV_SEARCH_BUTTON":"搜索","STREMIO_TV_SEARCH_KEY_DEL":"刪除","STREMIO_TV_SEARCH_KEY_SPACE":"空格","STREMIO_TV_SEARCH_KEY_CLEAR":"清除","STREMIO_TV_SEARCH_HISTORY_TITLE":"搜索歷史","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"您可以搜索標題、演員、頻道...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"清除搜索歷史","STREMIO_TV_FILTERS_DESCRIPTION":"從以下過濾器中選擇一個","STREMIO_TV_STREAMING_SERVER_OFFLINE":"流媒體服務器離線,檢查服務器設置。","FILTERS":"過濾器","SETTINGS":"設置","ACCOUNT":"賬户","LOGOUT":"註銷","THEMES":"主題","PLAYBACK":"播放","PLAYBACK_SPEED":"播放速度","AUDIO_TRACKS":"音軌","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"視頻","SERVER":"服務器","LINKS":"鏈接","ABOUT":"關於","INTERFACE":"界面","ANIMATIONS":"動畫","STATUS":"狀態","LANGUAGE":"語言","SIZE":"大小","DELAY":"延遲","BOLD":"粗體","OPACITY":"Opacity","TEXT_COLOR":"文本顏色","OUTLINE_COLOR":"輪廓顏色","BACKGROUND_COLOR":"背景顏色","BACKGROUND_BLUR":"背景模糊","SEEK_TIME_DURATION":"尋找持續時間","AUTO_PLAY":"自動播放下一集","PLAY_NOW":"現在播放","MARK_AS_WATCHED":"標記為已觀看","MARK_AS_UNWATCHED":"標記為未觀看","REWIND_TO_BEGINNING":"倒回開始","CONTINUE_WATCHING":"繼續觀看","ALL":"全部","SECONDS":"秒","ON":"開","OFF":"關","RELOAD":"重新加載","EDIT_URL":"編輯URL","URL":"URL","NONE":"無","EMBEDDED":"內嵌","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"開關設備","REMOTE_VIDEOS":"視頻","REMOTE_ADJUST_TIMING":"調整時間","REMOTE_ADJUST_SIZE":"調整大小","REMOTE_COULD_NOT_BE_LOADED":"無法加載Web Remote","REMOTE_RETRY":"重試","TORRENT_PROFILE_DEFAULT":"默認","TORRENT_PROFILE_SOFT":"慢","TORRENT_PROFILE_FAST":"快","TORRENT_PROFILE_ULTRA_FAST":"超快","MB_S":"MB/s","FAQ_001_H1":"什麼是Stremio?","FAQ_001_P1":"Stremio是專為視頻娛樂而設計的多媒體中心軟件,易於使用。Stremio允許您管理和觀看自己的電影,劇集,頻道和實況電視收藏。","FAQ_001_P2":"Stremio從本地磁盤和插件系統中收集顯示給您的內容。","FAQ_001_P3":"它還會在您感興趣的新劇集/視頻/電影播出時通知您,併為您提供電影推薦。","FAQ_02_H1":"Stremio與Kodi和Plex相比如何?","FAQ_02_P1":"我們受到這兩種軟件的啓發。但是我們有不同的目標——Stremio專門針對娛樂視頻,並通過易於使用成為其主流解決方案。","FAQ_02_P2":"Stremio將永遠不會像Kodi和Plex那樣具有可定製性和豐富的功能,但它更易於使用。只需${1}就可以獲取它,並查看${2}:)","FAQ_03_H1":"Stremio與Netflix相比如何?","FAQ_03_P1":"同樣,Netflix是我們的靈感之一。我們努力實現Netflix的用户體驗,再加上許多附加的好處。但最重要的是,我們讓您可以自由管理自己的庫,並使用我們的插件系統添加新的內容源。","FAQ_03_P2":"這使得Stremio可以無限擴展,因此當您使用Stremio時,您永遠不會侷限於Netflix決定許可的內容。例如,您可以通過Stremio觀看${1}中的內容電影電視${2}, ${3} Twitch.tv${4},${5}YouTube${6},${7}Vodo${8}甚至${9}Netflix${10}本身!","FAQ_04_H1":"Stremio與Flipboard相比如何?","FAQ_04_P1":"我們不常聽到這個問題,除非與初創企業的人交談:)","FAQ_04_P2":"Stremio是通過設計一個內容聚合器來實現的,它本質上就是視頻的Flipboard。這一點在我們的首頁部分非常明顯,它為您提供目錄和新的插曲/新的視頻通知,讓您瞭解您所關注的內容,就像Flipboard一樣。","FAQ_05_H1":"Stremio與Popcorn Time相比如何?","FAQ_05_P1":"Stremio和Popcorn Time在用户界面上很相似,因為沒有很多方法可以正確製作視頻娛樂目錄:)","FAQ_05_P2":"Popcorn Time主要集中在特定來源的流媒體上,但Stremio是不受限制的,只是一個內容聚合器,它沒有鎖定到特定的內容源。","FAQ_05_P3":"此外,我們默認不提供任何Torrent插件,因此Stremio不提供官方功能的Popcorn Time用例。","FAQ_05_P4":"另一個顯著的區別是Popcorn Time是完全開源的,而Stremio是${1}部分開源的${2}。","FAQ_06_H1":"是否要添加此電影/系列?","FAQ_06_P1":"不,對不起 :(","FAQ_06_P2":"正如大多數其他問題中提到的,Stremio本身不提供任何內容,所有內容都是通過插件系統添加的。如果您有內容請求,您可以使用播放器中的“報告”按鈕,它將向您當前使用的插件的作者發送電子郵件。","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"能否為X創建插件?","FAQ_08_P1":"完全有可能。","FAQ_08_P2":"如果您有一個插件的想法,請在${1}office@stremio.com${2}給我們留言,但請確保您的插件想法不會侵犯任何版權或使用條款。","FAQ_08_P3":"目前,我們路線圖上的下一件事是FandangoNOW,Filmon.tv video on demand和Crunchyroll的插件。","FAQ_09_H1":"Stremio是否使用BitTorrent?","FAQ_09_P1":"是的,Stremio支持BitTorrent作為流媒體協議。您可以將其與Torrent插件一起使用,也可以將.Torrent文件拖放到Stremio中,或者將磁鐵鏈接粘貼到搜索欄中。","FAQ_09_P2":"請注意,使用BitTorrent的唯一官方插件是${1}Vodo${2},它提供獨立內容,所有內容都允許與BitTorrent一起分發。","FAQ_09_P3":"我們不支持使用任何可能導致版權侵權的第三方插件。","FAQ_10_H1":"我可以在Stremio中通過官方插件觀看什麼節目?","FAQ_10_P1":"默認情況下,您可以在Stremio與它的嵌入式播放器觀看Filmon.tv,YouTube和Vodo的內容。另外,我們還有一個Twitch.tv插件,以及其他一些插件。","FAQ_10_P2":"此組合提供以下選項:","FAQ_10_L1":"Filmon.tv上的熱門電視頻道,例如E4、BBC、Bollyworld TV","FAQ_10_L2":"YouTube上的所有內容,例如BBC News、Top Gear、Vevo、PewDiePie","FAQ_10_L3":"Vodo上的獨立電影","FAQ_10_L4":"Twitch.tv上的在線遊戲廣播","FAQ_10_P3":"此外,Guidebox和Netflix插件提供了許多內容源,它們不完全在Stremio中播放,而是重定向到給定的服務。例如,Guidebox插件將為您提供可在美國免費播放的精選電影,這些電影來自TubiTV和Crackle等服務。","FAQ_11_H1":"Stremio無法安裝,我該怎麼辦?","FAQ_11_P1":"如果您在Windows上,請嘗試${1}此替代安裝程序${2}。","FAQ_11_P2":"如果您使用的是Mac OS X,請注意,我們不支持任何比OS X Mavericks(10.9)更舊的版本。","FAQ_11_P3":"如果您使用的是Linux,請注意,我們目前只支持64位(x64)Linux。","FAQ_11_P4":"如果您仍然無法解決您的問題,請寫信給我們的${1}Facebook羣組${2}。","FAQ_12_H1":"為什麼我的殺毒軟件會報毒?Stremio安全嗎?","FAQ_12_P1":"我們向您保證Stremio是${1}100%安全的${2}。","FAQ_12_P2":"您的殺毒軟件報毒是因為我們的安裝程序中包含廣告,一些殺毒軟件將其識別為廣告軟件。","FAQ_12_P3":"如果您仍然不確定,可以嘗試我們的${1}替代安裝程序${2}。","FAQ_13_H1":"如何製作插件?","FAQ_13_P1":"對於初學者,我們建議您查看GitHub上的${1}插件系統模塊${2}。","FAQ_13_P2":"之後,您可以按照${1}Hello World教程${2}進行操作。","FAQ_13_P3":"如果您沒有任何編程技能,請在${1}Reddit社區${2}上發佈您的想法,並在${3}office@stremio.com${4}上與我們聯繫您的插件想法。","FAQ_14_H1":"插件是如何發佈的?","FAQ_14_P1":"當您創建一個插件和主機,並在清單中放置一個指向工作插件地址的終端節點字段時,該插件將自動發佈到我們的${1}插件目錄${2}。","FAQ_14_P2":"發生這種情況是因為Stremio插件模塊的服務器部分會自動調用我們的API來聲明插件。當我們的API驗證您的終端節點為有效的插件時,它將開始顯示在目錄中。","FAQ_15_H1":"我可以在瀏覽器中運行Stremio嗎?","FAQ_15_P1":"目前還沒有,但即將到來!","FAQ_15_P2":"如果您想看到Alpha版本,可以在這裏看到:${1}alpha4.strem.io${2}. 請記住,此Alpha版本上已禁用流式處理。我們支持Chrome、Firefox、Opera和Edge","FAQ_16_H1":"電視投屏不起作用/字幕不起作用","FAQ_16_P1":"電視投屏使用DLNA技術,這在不同的電視品牌和型號之間非常不一致。由於這個原因,我們沒有能力在每種情況下都測試它,所以它還遠遠不夠完美。儘管如此,我們仍在不斷改進,但我們無法為您提供DLNA能夠在您的電視上開始正常工作的預計時間。","FAQ_16_P2":"如果您在“投屏”菜單中看不到您的電視,請嘗試禁用網絡連接並重新啓用它(在Windows上,右鍵單擊網絡並使用“啓用/禁用”),以及重新啓動路由器、電視和PC。","FAQ_16_P3":"如果您仍然遇到問題,您可以通過將您的電視品牌和型號信息發送到${1}來幫助我們”office@stremio.com${2}。","FAQ_16_P4":"同時,我們推薦Chromecast,我們非常支持Chromecast,或者直接用HDMI線將電視與PC連接。","FAQ_17_H1":"Stremio卡死和/或崩潰,我能做什麼?","FAQ_17_P1":"首先,如果您使用的是帶有AVG殺毒軟件的Windows 7,這種組合會產生問題。問題出在AVG本身,我們這邊沒有合理的辦法解決。不幸的是,去除或禁用殺毒軟件將不起作用。唯一的解決辦法是用別的東西代替AVG","FAQ_17_P2":"如果不是這個問題,但您仍在使用Windows,請更新到最新的service pack並更新/重新安裝您的GPU驅動程序,然後重試。","FAQ_17_P3":"如果您的問題仍未解決,或者您使用的是Mac或Linux,請寫信給我們,在${1}我們的Facebook羣組${2}報告問題的確切細節。","FAQ_18_H1":"如何製作插件?","FAQ_18_P1":"對於初學者,我們建議您查看GitHub上的${1}插件系統模塊${2}。","FAQ_18_P2":"之後,您可以按照${1}Hello World教程${2}進行操作。","FAQ_18_P3":"如果您沒有任何編程技能,請在${1}Reddit社區${2}上發佈您的想法,並在${3}上與我們聯繫您的插件想法。”office@stremio.com${4}。","FAQ_19_H1":"為什麼Stremio佔用磁盤空間?","FAQ_19_P1":"Stremio有一個本地緩存來臨時保存您流式傳輸的視頻文件。","FAQ_19_P2":"這有兩個好處:第一,它允許Stremio預先緩衝視頻,以確保流媒體更流暢。其次,它將視頻保存在本地緩存中,以便您可以繼續離線觀看。","FAQ_19_P3":"Stremio保留了多少取決於“設置”面板中的緩存設置。Stremio可能會在您的磁盤上保留到設置的數量(例如2GB),除非當前流式傳輸的視頻大於該數量,在這種情況下,必須分配足夠的存儲來保留它,直到您結束流式傳輸。","FAQ_20_H1":"緩存文件夾在哪裏?","FAQ_20_P1":"在Windows上,Stremio緩存位於您在設置中選擇的驅動器中(例如\\"E:\\\\stremio-cache\\")","FAQ_20_P2":"在MacOS上,它位於\\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"在Linux上,它位於\\"~/.stremio/stremio-cache\\"或\\"~/stremio-cache\\"","FAQ_21_H1":"我得到\\"流媒體服務器未找到\\"錯誤,我能做什麼?","FAQ_21_P1":"如果出現此錯誤,則表示以下幾點之一:","FAQ_21_P2":"1)您正試圖通過我們的${1}web版本${2}使用一個由YouTube/BitTorrent源代碼支持的插件。在這種情況下,您應該從${3}我們的網站${4}安裝我們的桌面版本","FAQ_21_P3":"2)Stremio安裝有問題。在這種情況下,請嘗試從${1}網站${2}重新安裝我們的最新桌面版本。如果這沒有幫助,請嘗試禁用殺毒軟件和防火牆,重新啓動電腦,然後重試。如果這依然不起作用,請寫信給我們的${3}Facebook羣組${4}","FAQ_22_H1":"我無法在iOS上看到/使用大多數插件","FAQ_22_P1":"由於Apple App Store條款和條件中的限制,我們限制iOS應用程序只能使用一組特定的插件。","FAQ_22_P2":"不過,請放心,將來會有更多的iOS插件,我們還可能添加一個集成,通過將iOS應用程序連接到Stremio流媒體服務器,您將可以使用所有Stremio插件。"}')},9334:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"電影","TYPE_series":"劇集","TYPE_tv":"電影片道","TYPE_channel":"頻道","TYPE_other":"其他","TYPE_movie_PL":"電影","TYPE_series_PL":"劇集","TYPE_tv_PL":"電影片道","TYPE_channel_PL":"頻道","TYPE_other_PL":"其他","TYPE_ALL":"全部","TYPE":"型別","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"影片","BACK":"返回","MORE":"更多","DONE":"完成","COPY":"複製","SUCCESS":"成功","ERROR":"錯誤","SETTINGS_CASTING_MODE_PICKER":"投屏模式","CASTING_MODE_HLSV2":"預設","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"不轉碼","Discover":"發現","Board":"首頁","Library":"庫","My Library":"我的庫","Calendar":"日曆","NOTIFICATION_ONLINE":"您當前處於線上狀態","NOTIFICATION_OFFLINE":"您當前處於離線狀態","INTERNET_CONNECTION":"網路連線","STORAGE_FULL_TITLE":"警告:儲存空間已滿!","STORAGE_FULL_TEXT":"Stremio將無法儲存您的設定、首選項或登入資訊,考慮重新啟動或重新安裝Stremio。","SEARCH":"搜尋","SEARCH_NO_RESULTS":"未找到結果","SEARCH_EXPLANATION_CONTENT":"搜尋電影、劇集、YouTube和電影片道","SEARCH_EXPLANATION_PEOPLE":"搜尋演員、導演和編劇","SEARCH_PASTE_LINKS":"貼上HTTP和Magnet連結","SEARCH_OR_PASTE_LINK":"搜尋或貼上連結","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"新增到庫中","REMOVE_FROM_LIB":"從庫中刪除","ADDED_TO_LIB":"新增到庫中","REMOVED_FROM_LIB":"從庫中刪除","TRAILER":"預告片","WATCH_TRAILER":"觀看預告片","WATCH_NOW":"立即觀看","SHOW":"檢視","SHOW_MOVIE":"檢視電影","WATCH_RANDOM":"隨機觀看","IMDB_RATING":"IMDb評分","YEAR":"年份","DIRECTOR":"導演","WRITER":"編劇","LEAD_ACTORS":"主演","CAST":"全部演員","CREW":"全部工作人員","SHOW_MORE_CAST":"顯示更多 »","AIRED":"播出時間","SEASONS":"季","GENRE":"型別","GENRE_ALL":"所有流派","CATALOG":"目錄","SUMMARY":"簡介","SHOW_MORE":"顯示更多","SIMILAR":"相似","UPCOMING":"即將上映","TBA":"TBA","ENDED":"已完結","DURATION":"時長","FEATURED":"功能","METADATA":"後設資料","CATEGORY":"類別","LINKS_GENRES":"流派","LINKS_CAST":"演員","LINKS_DIRECTORS":"導演","SEARCH_VIDEOS":"搜尋影片","SEARCH_PLACEHOLDER":"搜尋或貼上URL","ADDON":"外掛","ADDONS":"外掛","OFFICIAL":"官方","ADDONS_OFFICIAL":"官方Stremio外掛","ADDONS_POPULAR":"在您所在的地區很受歡迎","ADDON_FREE":"免費","ADDON_PEERED":"連線","ADDON_SUBSCRIPTION":"訂閱","ADDON_STREAM_GEORESTRICTED":"在您所在的地區不提供","ADDON_STREAM_OFFLINECACHE":"離線快取","ADDON_STREAM_LOCALFILE":"本地檔案","SHARE_ADDON":"分享外掛","AVAILABLE_STREAMS":"可用流媒體","NO_STREAM":"未找到流媒體","ALL_ADDONS":"全部","INSTALL_MORE_ADDONS":"要獲取更多流媒體,請安裝更多外掛","STREAM_NOT_SUPPORTED":"此平臺不支援所選流媒體。","ADDON_CATALOGUE":"顯示所有外掛 »","ADDON_CATALOGUE_MORE":"安裝外掛","REPO_ADDED":"已新增儲存庫","ADDON_REPO_EXIST_ERR":"此外掛集合已存在","ADDON_REPO_ERR":"新增集合時出錯","ADDON_ADD_ERR":"新增外掛時出錯","ERR_ADDON_PROTECTED":"無法解除安裝外掛,它受到保護","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"出了一些問題——身份驗證可能失敗","ERR_NOT_COLLECTION_URL":"不是集合URL","ERR_NOT_ADDON_URL":"不是有效的外掛URL","ERR_DETECTFROMURL":"再此URL中找不到外掛/集合","ADDON_DUPLICATE_WARNING":"警告:重複的外掛","ADDON_COLLECTION_SET_FAILED":"將已安裝的外掛同步到您的賬戶失敗","SETTINGS_DATA_EXPORT":"匯出使用者資料","ADDON_PULL_FAILED":"從您的帳戶同步已安裝的外掛失敗","REFRESH_ON_CLICK":"點選重試","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"電影還在影院上映","WATCH_IN_CINEMA":"請到您本地的影院觀看","IN_THEATER":"在影院上映","GET_TICKETS":"購票","UPCOMING_EPISODE":"下一集","UPCOMING_EPISODE_MESSAGE":"這一集即將播出","MISSING_DATE_EPISODE":"缺失的一集日期","MISSING_DATE_EPISODE_MESSAGE":"這一集可能還沒有播出","CHANNEL_NOT_SCRAPED":"這個頻道還沒有被削刮,請過幾分鐘再來。","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"將其新增到庫中,以便在可用時收到通知。","GET_NOTIFIED_WHEN_AVAILABLE":"一旦可用,您將會收到通知。","WARNING_STREAMING_SERVER":"警告:找不到本地流媒體伺服器,來自本地檔案、YouTube、和BitTorrent的流媒體將不可用。","WARNING_STREAMING_SERVER_DISMISS":"忽略","WARNING_STREAMING_SERVER_LATER":"推遲","DECODER_WARNING":"警告:您的硬體可能不支援此影片,請記住,播放可能會很慢。","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"糟糕,播放器錯誤","PLAYER_ERROR_LOOKSLIKE":"看起來似乎","PLAYER_ORIENTATION":"播放器方向","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"鎖定","PLAYER_ORIENTATION_SENSOR_SHORT":"感測器","PLAYER_ORIENTATION_LANDSCAPE":"播放器方向鎖定橫向","PLAYER_ORIENTATION_SENSOR":"播放器方向自動(感測器)","PLAYER_PLAYBACK_SPEED":"播放速度","PLAYER_PLAYBACK_ERROR":"播放錯誤,請重試","PLAYER_PLAYBACK_ERROR_UNKNOWN":"未知錯誤","PLAYER_PLAYBACK_ERROR_DEFAULT":"抱歉,{{productName}}無法播放此影片。","PLAYER_SUBTITLES_LANGUAGES":"字幕語言","PLAYER_SUBTITLES_VARIANTS":"字幕變形","PLAYER_SUBTITLES_SETTINGS":"字幕設定","PLAYER_SUBTITLES_DISABLED":"字幕已關閉","PLAYER_SUBTITLES_VERTICAL_POSIITON":"垂直位置","PLAYER_SUBTITLES_LOADED":"已載入字幕","PLAYER_SUBTITLES_LOADED_EMBEDDED":"已載入嵌入字幕","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"已載入外部字幕","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"已載入{{origin}}字幕","PLAYER_PLAY":"播放","PLAYER_PAUSE":"暫停","PLAYER_NEXT_VIDEO":"下一個影片","PLAYER_MUTE":"靜音","PLAYER_UNMUTE":"取消靜音","PLAYER_OPEN_IN_EXTERNAL":"在外部播放器中開啟","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"在{{device}}上播放","PLAYER_LIVE":"直播","PLAYER_NEXT_VIDEO_TITLE":"下個影片","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"關閉","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"現在觀看","PLAYER_COPY_STREAM_SUCCESS":"流媒體連結已複製到您的剪貼簿","PLAYER_COPY_STREAM_ERROR":"複製流媒體連結失敗","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"流媒體","CASTING_TO":"投屏到","NETWORK_STATUS":"網路狀態","STREAM_SPEED":"串流速度:","STREAM_BUFFERED":"已緩衝:","PEERS_INFO":"節點資訊","PEERS_ACTIVE":"活躍:","PEERS_CONNECTED":"已連線:","PEERS_WAITING":"等待:","TRANSCODING_WARNING":"警告:轉碼影片。","STREAM_LOADING":"載入...","PLAYING_LOCAL":"從本地檔案播放","PLAYING_CACHE":"從快取播放","WRONG_SUBS":"字幕錯誤?","ERR_SUBS_LOADING_TITLE":"載入字幕時出錯","ERR_SUBS_LOADING":"字幕載入失敗:這可能是您正在使用的外掛或網路連線的問題","WARN_FOLLOWING_SUB_ADDONS_FAILED":"以下字幕外掛失敗","ERR_CASTING_UPDATE_TITLE":"無法更新投屏裝置資訊:流媒體伺服器可能離線","CHOOSE_DEVICE":"選擇在哪個裝置上播放","NO_CAST_DEVICES":"無可用投屏裝置。","NO_SETTINGS":"無可用設定。","NO_OPTIONS":"No options available","PHONE_TABLET":"手機/平板電腦","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"字幕","SUBTITLES_CHANGE":"調整字幕","SUBTITLES_CHANGE_NONE":"抱歉,這種語言沒有其他字幕。","SUBTITLES_CHANGE_ACIVE":"當前字幕#{{subtitlesDialog.activeIdx + 1}}被啟用,點選\\"繼續\\"啟用字幕#{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"或者,","SUBTITLES_ADJUST_DELAY":"調整字幕延遲:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"或在播放時使用G / H鍵進行調整。","SUBTITLES_ADJUST_DELAY_TIP":"提示:您可以在播放時使用G / H鍵進行調整。","SUBTITLES_DELAY":"字幕延遲:","SUBTITLES_LOADING":"載入字幕...","SUBTITLES_UNAVAILABLE":"沒有可用的外部字幕","SUBTITLES_DISABLED":"關閉","EXTERNAL_PLAYER_DISABLED":"關閉","EXTERNAL_PLAYER_ALLOW_CHOOSING":"允許選擇","EXTERNAL_PLAYER_HINT":"提示:有一個設定允許總是在外部播放器中開啟","DONT_SHOW_AGAIN":"不再顯示","SERVICE_INSTALL":"安裝","AUDIO":"音訊","DEFAULT_LANGUAGE":"預設語言","DEFAULT_SECONDARY_LANGUAGE":"預設第二語言","SEASON":"季","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"集","EPISODE_ABBREVIATION":"情節提要","SPECIAL":"特別篇","SORT":"排序","SORT_BY":"排序按照","FILTER":"篩選","SORT_TRENDING":"熱門","SORT_RECENT":"最近","SORT_ALPHABET":"首字母","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"評分","SORT_WATCHED":"已觀看","SORT_YEAR":"年份","SELECT":"Select","SELECT_TYPE":"選擇型別","SELECT_SORT":"選擇排序","SELECT_CATALOG":"選擇目錄","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"選擇流派","SORT_LASTWATCHED":"按上次觀看","SORT_NAME":"按名稱","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"按觀看次數","SORT_NOTWATCHED":"not watched","New for You":"新的","New Episodes":"新劇集","New Videos":"新影片","Recommendations":"推薦","LIBRARY_RESUME":"簡介","LIBRARY_PLAY":"播放","LIBRARY_DETAILS":"詳情","LIBRARY_RESUME_DISMISS":"清除","LIBRARY_CLEAR_PROGRESS":"清除進度","LIBRARY_REMOVE":"移除","LIBRARY_NOT_LOGGED_IN":"庫僅適用於已登入的使用者","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"日曆僅適用於已登入的使用者","NOT_LOGGED_IN_CLOUD":"隨時隨地訪問您喜愛的電影和劇集","NOT_LOGGED_IN_RECOMMENDATIONS":"根據您的觀看歷史量身定製的建議","NOT_LOGGED_IN_NOTIFICATIONS":"再也不要錯過任何一集","NOT_LOGGED_IN_CALENDAR":"定製個人觀看日曆","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"功能","DISCOVER_TOP":"熱門","DISCOVER_OSCAR":"奧斯卡獲獎作品","DISCOVER_WARNING_TITLE":"糟糕!","DISCOVER_EMPTY_CATALOG":"此外掛返回空內容。","DISCOVER_ADULT_WARNING":"此內容僅對成人可見,您是否已滿18週歲?","DISCOVER_NOADDON_WARNING":"警告:此型別沒有可用的Stremio外掛,顯示已儲存的專案,此處不會更新任何內容。","DISCOVER_LOAD_ERR":"內容未載入,發生錯誤。","DISCOVER_ADDON_UNINSTALLED":"此內容不再可用,您可能已解除安裝外掛。","UNINSTALL_THIS_ADDON":"解除安裝此外掛","ERR_ADDON_NOT_INSTALLED":"未安裝此外掛,立即安裝?","DETAIL_RECEIVE_NOTIF_SERIES":"接受新劇集的通知","DETAIL_RECEIVE_NOTIF_VIDEOS":"接受新影片的通知","SIDEBAR_SHOW_STREAMS":"顯示流媒體","RELAUNCH":"立即重新啟動!","UPGRADE":"新版本可用!升級至Stremio的最新版本","RELOAD_UI":"重新載入使用者介面","MANUAL_UPDATE_TITLE":"更新您的Stremio版本","MANUAL_UPDATE_LINE1":"您執行的是一個過時的Stremio版本,這是非常不推薦的。","MANUAL_UPDATE_LINE2":"請儘快更新。","BUTTON_UPDATE_LATTER":"不是現在","BUTTON_UPDATE_NOW":"更新","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"匿名使用者","DONT_HAVE_ACC":"還沒有賬戶?","HAVE_ACC":"已經有賬戶了?","PASSWORD":"密碼","PASSWORD_CONFIRM":"確認密碼","EMAIL":"電子郵箱","FB_LOGIN":"使用Facebook登入","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"未經您的允許,任何內容都不會被共享","FB_NOPOST":"我們不會替您傳送任何東西","OR":"或","I_ACCEPT":"我接受","I_ACCEPT_BY_CLICKING":"透過點選上面的按鈕,我宣告我接受","TOS":"條款和條件","MUST_ACCEPT_TERMS":"您必須接受條款","PASSWORDS_NOMATCH":"密碼不匹配","SIGN_UP":"註冊","SIGN_UP_EMAIL":"使用電子郵箱註冊","CLICK_TO_SIGN_UP":"點選此處註冊。","LOG_IN":"登入","LOG_OUT":"登出","EXIT_FULLSCREEN":"退出全屏模式","ENTER_FULLSCREEN":"進入全屏模式","PLAY_URL_MAGNET_LINK":"播放URL/Magnet連結","HELP_FEEDBACK":"幫助和反饋","TERMS_OF_SERVICE":"服務條款","PRIVACY_POLICY":"隱私政策","ABOUT_STREMIO":"關於Stremio","USER_PANEL":"使用者面板","LOGIN_LABEL":"Login","GUEST_LOGIN":"訪客登入","GUEST_LOGIN_NOTICE":"不建議訪客登入,使用常規登入允許Stremio同步您的庫,接受喜愛的劇集/頻道的通知。您確定要繼續嗎?","GUEST_LOGIN_NOTICE_2":"不建議訪客登入,您將沒有同步的庫和首頁通知,這是Stremio的重要功能。您確定要繼續嗎?","CLICK_HERE":"點選此處","WRONG_PASSWORD":"錯誤的電子郵箱或密碼,如果您忘了密碼,","SET_A_PASS":"設定密碼","RESET_PASSWORD":"重置密碼","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"忘記密碼?","EMAIL_USED_WITH_FB":"此電子郵箱與Facebook登陸一起使用。","INVALID_EMAIL":"請輸入有效的電子郵箱地址","INVALID_PASSWORD":"請輸入有效的密碼","CONN_ERR":"連線錯誤,請稍後再試。\\n\\n如果問題仍然存在,請禁用防火牆/防毒軟體(特別是Bitdefender)。","IMPORT_FROM_GUEST":"從訪客賬戶匯入庫","RECEIVE_UPDATES_EMAIL":"從Stremio接受電子郵件更新","LOGIN_FAILED":"登陸失敗。","SIGNUP_FAILED":"註冊失敗。","SEARCH_FAILED":"搜尋失敗","EMAIL_USED":"此電子郵箱已被使用。","WAITING_FB_LOGIN":"使用Facebook登入...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"在外部播放器中播放","EXTERNAL_REMEMBER_PLAYER":"您想記住您的選擇嗎","EXTERNAL_ALWAYS_PLAY":"是","EXTERNAL_ONLY_ONCE":"不是","BEST_FIT":"最佳","FIT_SCREEN":"適合螢幕","FILL":"填充","16:9":"16:9","4:3":"4:3","Original":"原始","INTRO_TASTE":"告訴我們您喜歡什麼","INTRO_TASTE_LONG":"告訴我們您想看什麼","INTRO_TASTE_PICK":"選擇{{interestsRemaining}}興趣","INTRO_TASTE_PICK_MORE":"選擇{{interestsRemaining}}更多興趣","INTRO_TASTE_HELP_US":"幫助我們瞭解更多有關您的資訊。","INTRO_TASTE_CHOOSE_THESE":"選擇其中一些:","INTRO_TASTE_CHOOSE_MIN":"至少選3個類別","INTRO_TASTE_CHOOSE_MIN_ERR":"您必須至少選擇3個類別!","INTRO_TASTE_LIFESTYLE":"生活方式","INTRO_TASTE_SPORTS":"體育","INTRO_TASTE_FOOD_HEALTH":"飲食與健康","INTRO_TASTE_BEAUTY_FASHION":"美麗與時尚","INTRO_TASTE_NEWS":"新聞","INTRO_TASTE_GAMING":"遊戲","INTRO_TASTE_SCIENCE_EDU":"科學與教育","INTRO_TASTE_MUSIC":"音樂","INTRO_TASTE_TRAVEL":"旅行","INTRO_TASTE_LATE_NIGHT":"深夜秀","INTRO_TASTE_REALITY":"真人","INTRO_TASTE_COMEDY":"喜劇","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"技術","INTRO_TASTE_CINEMA":"影院","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"此平臺不支援選定的外掛。","ADDON_DISCLAIMER":"使用第三方外掛將始終受到您的責任和您所在的司法管轄區的法律的約束。","ADDON_ACTIVATE":"啟用此外掛?","ADDON_REPO_ADD":"外掛集合URL","ADDON_ADD":"新增","INSTALL_ADDON":"Install addon","ADD_ADDON":"新增外掛","ADD_ADDON_DESCRIPTION":"您可以透過外部連結新增外掛,該連結將顯示在“已安裝的外掛”下。","PASTE_ADDON_URL":"貼上外掛URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"最新訊息","BUTTON_CONTINUE":"繼續","BUTTON_ACTIVATE":"啟用","BUTTON_ACTIVATED":"已啟用","BUTTON_CANCEL":"取消","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"提交","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"清除全部","BUTTON_VIEW_ALL":"檢視全部","BUTTON_SEE_ALL":"檢視全部","BUTTON_COLOR_TRANSPARENT":"透明度","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"在瀏覽器中開啟","LIB_EMPTY":"您的庫看起來是空的,看看它有多有用:)","HOW_START":"您可以從這裡開始:","LIB_EMPTY_CAL":"您的日曆顯示您庫中的劇集。","HOW_START_CAL":"下面是如何新增劇集:","LIB_EMPTY_BOARD":"主頁顯示與您的庫相關的通知&推薦。","HOW_START_BOARD_WAIT":"請在您的庫中新增一些劇集或頻道給我們幾分鐘來處理:)","HOW_START_BOARD":"下面是如何向其中新增劇集&電影:","IMPORT_FB":"從Facebook匯入您喜歡的東西","IMPORT_TRAKT":"從Trakt匯入媒體庫","IMPORT_DISCOVER":"從發現中找到有趣的東西","IMPORT_DISK":"匯入本地磁碟上的電影或節目","PLEASE_CREATE_ACC":"請建立一個賬戶以啟用庫同步&主頁。","IMPORT_DISCOVER_SIGNUP":"註冊並從發現中找到有趣的東西","IMPORT_DISK_SIGNUP":"註冊並匯入本地磁碟上的電影或節目","LIB_EMPTY_CLOUD":"雲端庫","LIB_EMPTY_CLOUD_DESC":"在所有裝置上同步個人雲端庫","LIB_EMPTY_EARLY":"第一時間","LIB_EMPTY_EARLY_DESC":"接收新劇集的通知","LIB_EMPTY_PERSONAL":"個性化","LIB_EMPTY_PERSONAL_DESC":"獲取個性化推薦","LIB_EMPTY_CALENDAR_DESC":"安排您的個性化觀看日曆","LIB_EMPTY_ALL":"註冊以獲取所有這些:","LIB_EMPTY_BEST":"註冊以獲得最佳的Stremio","LIB_EMPTY_OTHER":"註冊以啟用日曆和其他炫酷功能","CALENDAR_ADDED":"Stremio日曆已新增到預設桌面日曆中。","CALENDAR_ADDED_MSG":"如果這不起作用,請手動將此URL新增到日曆應用程式中","TRAKT_EXPIRED":"Trakt驗證已過期,請轉到設定並重新驗證","TRAKT_REQUIRES_LOGIN":"Trakt錯誤","TRAKT_REQUIRES_LOGIN_MSG":"您需要登入","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"設定","SETTINGS_NAV_GENERAL":"常規","SETTINGS_NAV_PLAYER":"播放器","SETTINGS_NAV_STREAMING":"流媒體","SETTINGS_NAV_SHORTCUTS":"快捷鍵","SETTINGS_SHORTCUT_RELOAD_APP":"重新載入應用程式","SETTINGS_SHORTCUT_OPEN_SETTINGS":"開啟設定","SETTINGS_SHORTCUT_SWITCH_TABS":"切換標籤","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"向前迴圈標籤","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"向後迴圈標籤","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"在選單之間導航","SETTINGS_SHORTCUT_GO_TO_SEARCH":"轉到搜尋","SETTINGS_SHORTCUT_EXIT_BACK":"退出/返回","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"切換播放速度選單","SETTINGS_SHORTCUT_MENU_VIDEOS":"切換影片選單","SETTINGS_SHORTCUT_MENU_SUBTITLES":"切換字幕選單","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"切換資訊選單","SETTINGS_SHORTCUT_FULLSCREEN":"切換全屏","SETTINGS_SHORTCUT_SHOW_CONTROLS":"顯示控制元件","SETTINGS_SHORTCUT_PLAY_PAUSE":"播放/暫停","SETTINGS_SHORTCUT_VOLUME_UP":"增大音量","SETTINGS_SHORTCUT_VOLUME_DOWN":"降低音量","SETTINGS_SHORTCUT_SEEK_NEXT":"尋找下一個","SETTINGS_SHORTCUT_SEEK_PREV":"尋找上一個","SETTINGS_SHORTCUT_SEEK_BACKWARD":"向後搜尋","SETTINGS_SHORTCUT_SEEK_FORWARD":"向前搜尋","SETTINGS_SHORTCUT_PLAY_NEXT":"播放下一個","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"增加字幕大小","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"減小字幕大小","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"增加字幕延遲","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"減少字幕延遲","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"切換側邊欄","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"空格","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"已驗證","SETTINGS_FACEBOOK_IMPORT":"匯入","SETTINGS_CALENDAR_SUBSCRIBE":"訂閱","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"使用者介面語言","SETTINGS_LAUNCH_STARTUP":"開機時啟動","SETTINGS_VLC_DEFAULT":"使用VLC播放","SETTINGS_UI_LANGUAGE":"使用者介面語言","SETTINGS_UI_ZOOM":"使用者介面縮放","SETTINGS_FULLSCREEN_EXIT":"Esc鍵退出全屏","SETTINGS_GAMEPAD":"啟用遊戲手柄支援","SETTINGS_CLOSE_WINDOW":"關閉視窗時結束應用程式","SETTINGS_SUBTITLES_LANGUAGE":"預設字幕語言","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"預設字幕大小","SETTINGS_SUBTITLES_BACKGROUND":"字幕背景","SETTINGS_SUBTITLES_COLOR":"字幕顏色","SETTINGS_SUBTITLES_COLOR_OUTLINE":"字幕輪廓顏色","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"字幕背景顏色","SETTINGS_SEEK_KEY":"方向鍵控制進度","SETTINGS_SEEK_KEY_SHIFT":"按住Shift鍵時方向鍵控制進度","SETTINGS_REWIND_FAST_FORWARD_DURATION":"回放和快進持續時間","SETTINGS_BINGE":"自動播放下一集","SETTINGS_NEXT_VIDEO":"顯示播放下一集的通知","SETTINGS_NEXT_VIDEO_TRIGGER":"顯示下一集的通知:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"下一個影片彈出持續時間","SETTINGS_PLAY_IN_BACKGROUND":"在後臺播放","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"在外部播放器中播放","SETTINGS_RESIZE":"播放前自動調整視窗大小","SETTINGS_OVERRIDE_SERVER":"覆蓋流媒體伺服器URL(高階)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"流媒體伺服器URL:","SETTINGS_SERVER_AVAILABLE":"流媒體伺服器可用。","SETTINGS_SERVER_UNAVAILABLE":"流媒體伺服器不可用。","SETTINGS_SERVER_STATUS_ONLINE":"線上","SETTINGS_SERVER_STATUS_ERROR":"錯誤","SETTINGS_SERVER_CONFIGURE_TITLE":"配置流媒體伺服器url","SETTINGS_SERVER_CONFIGURE_INPUT":"輸入流媒體伺服器url","SETTINGS_SERVER_CACHE_SIZE":"快取大小","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent配置","SETTINGS_HTTPS_ENDPOINT":"流媒體HTTPS結點:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"始終使用最新的測試版","SETTINGS_IMPORT_FB":"從Facebook匯入","SETTINGS_IMPORT_DISK":"從本地磁碟匯入","SETTINGS_IMPORT_TRAKT":"從Trakt匯入","SETTINGS_PAUSE_MINIMIZED":"最小化時暫停播放","SETTINGS_HWDEC":"硬體解碼加速","SETTINGS_BACKGROUND":"後臺播放","SETTINGS_SUBSCRIBE_CALENDAR":"訂閱到日曆","SETTINGS_REQ_EXPORT":"請求匯出資料","SETTINGS_ACC_DELETE":"請求刪除賬戶","SETTINGS_CHANGE_PASSWORD":"更改密碼","SETTINGS_TOS":"服務條款","SETTINGS_SUPPORT":"聯絡支援人員","SETTING_LANGUAGE":"語言","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt自動跟蹤","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"從Trakt.tv登出","SETTINGS_TRAKT_LOGOUT_2":"從Trakt登出","SETTINGS_SCAN_FOR_REMOTE":"掃描二維碼開啟遙控器","SETTINGS_DESKTOP_NOTIFICATIONS":"桌面通知","SETTINGS_DATA_SAVER":"移動資料警告","SETTINGS_LANGUAGE_INTERFACE":"介面","SETTINGS_LANGUAGE_SUBS":"預設字幕","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"自動選擇音訊","SETTINGS_DEFAULT_AUDIO_TRACK":"預設音訊","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"賬戶","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"版本","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"在單獨視窗中啟動播放器(高階)","SETTINGS_PLAY_IN_EXTERNAL":"總是在外部播放器中開啟影片","SETTINGS_STORAGE_BUTTON":"清除本地儲存","SETTINGS_STORAGE_MODAL_TITLE":"您確定嗎?","SETTINGS_STORAGE_MODAL_MESSAGE":"這將清除本地儲存並使您登出","SETTINGS_HWDEC_PICKER":"選擇硬體加速解碼設定","SETTINGS_HW_AUTOMATIC":"自動","SETTINGS_HW_DISABLED":"關閉","SETTINGS_HW_ACCELERATED":"解碼加速","SETTINGS_HW_FULL":"全加速","SETTINGS_HW_LEGACY":"舊版","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"字幕","SETTINGS_SECTION_AUDIO":"音訊","SETTINGS_SECTION_CONTROLS":"控制元件","SETTINGS_SECTION_AUTO_PLAY":"自動播放","SETTINGS_SECTION_ADVANCED":"高階","SUBSPICKER_AUDIO":"音訊","SUBSPICKER_SUBTITLES":"外掛字幕","SUBSPICKER_BLACK_BACKGROUND":"使用黑色背景色","SUBSPICKER_VERTICAL_OFFSET":"垂直偏移量","SUBSPICKER_SIZE":"大小","SUBSPICKER_DELAY":"延遲","SUBSPICKER_EMBEDDED_SUBS":"內嵌字幕","MOBILE_PRIVACY_POLICY":"隱私政策","MOBILE_CRASH_REPORTING":"崩潰報告","MOBILE_ZOOM_TO_FILL":"縮放填充螢幕","MOBILE_PASSTHROUGH":"數字音訊輸出(直通)","MOBILE_RUN_LOW_BATTERY":"電池電量低時執行","MOBILE_RUN_FOREGROUND":"作為前臺服務執行","MOBILE_PERFORMANCE":"效能&穩定性","MOBILE_SERVER_ONLINE":"線上","MOBILE_SERVER_OFFLINE":"離線","MOBILE_QR_EXPIRES":"二維碼到期時間","MOBILE_LOG_INTO":"登陸到您的Stremio賬戶","MOBILE_SCAN_QR":"掃描上面的二維碼或轉到","MOBILE_LINK_ACCOUNT":"連結賬戶","MOBILE_SPEEDPICKER_CANCEL":"取消","MOBILE_SPEEDPICKER_LABEL":"選擇播放速度","MOBILE_EMPTY_LIBRARY":"您的庫為空","MOBILE_NO_ADDON_ACTIVE":"沒有活動的此型別Stremio外掛。","MOBILE_ORGANIZER_WARNING":"Stremio Organizer應用程式提供的功能有限,要獲得可播放流的列表和完整的Stremio體驗,請使用Stremio桌面客戶端。","MOBILE_ADDON_LOADING":"仍在載入","MOBILE_ADDONS_LOADING":"外掛仍在載入","MOBILE_ADDON":"外掛","MOBILE_CONFIGURE_ADDON":"配置外掛","MOBILE_CONFIGURE_ADDON_LABEL":"配置外掛","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer應用程式僅提供有限的外掛,要獲得完整的Stremio體驗,請使用Stremio桌面客戶端。","MOBILE_DISCONNECT":"斷開連線","MOBILE_LOOKING_FOR_DEVICES":"正在查詢裝置...","MOBILE_CAST_TO":"投屏到","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"刪除帳戶","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"由於法律義務,賬戶刪除不是即時的。在請求刪除您的帳戶後,您將不得不使用不同的電子郵件地址/臉書個人資料在未來建立一個新的Stremio帳戶。","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"確認帳戶刪除","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"您的帳戶是使用Facebook建立的。要刪除您的帳戶,請使用我們的使用者入口網站www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"請提供您的密碼以確認帳戶刪除。","MOBILE_DELETE_ACCOUNT_BUTTON":"刪除帳戶","NAVIGATION_ON":"開啟","NAVIGATION_OFF":"關閉","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"我同意接收Stremio的營銷通知","QUIT":"退出","CONNECTED":"已連線","AUTHENTICATE":"驗證","AUTHENTICATING":"Authenticating...","CACHING":"快取","SETTINGS_CACHING_DRIVE":"快取磁碟","ENABLE_LOCAL_FILES_ADDON":"啟用本地檔案外掛(需要重新啟動)","LOCAL_ADDON_NOT_ENABLED":"未啟用本地外掛,單擊此處轉到設定並啟用它","ENABLE_REMOTE_HTTPS_CONN":"啟用遠端HTTPS連線","TORRENT_PROFILE":"Torrent配置","DATA_CACHING":"資料快取","MAGNET_PARSING":"分析Magnet連結","January":"一月","February":"二月","March":"三月","April":"四月","May":"五月","June":"六月","July":"七月","August":"八月","September":"九月","October":"十月","November":"十一月","December":"十二月","Monday":"星期一","Tuesday":"星期二","Wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期天","Action":"動作","Comedy":"喜劇","War":"戰爭","Family":"家庭","Animation":"動畫","Adventure":"冒險","Fantasy":"幻想","Crime":"犯罪","Mystery":"神秘","Romance":"浪漫","Drama":"劇情","Horror":"恐怖","Thriller":"驚悚","Sci-Fi":"科幻","Music":"音樂","Biography":"傳記","Documentary":"紀錄","Sport":"運動","Musical":"音樂劇","Western":"西部","Film-Noir":"黑色電影","News":"新聞","History":"歷史","Game-Show":"遊戲節目","Reality-TV":"真人秀","Talk-Show":"脫口秀","Film & Entertainment":"電影與娛樂","Gaming":"遊戲","From TV":"電視","Lifestyle":"生活方式","Science & Education":"科學與教育","Cooking & Health":"烹飪與健康","Beauty & Fashion":"美麗與時尚","Sports":"體育","News & Politics":"新聞與政治","How-to & DIY":"DIY","Tech":"技術","Automotive":"汽車","Causes & Non-Profits":"事業與公益","Movies":"影視","Uk Live Tv":"英國直播電視臺","Fashion":"流行","Business News Radio":"商業新聞電臺","Business Tv":"商業電視","Cars & Auto":"汽車與自動化","Comedy Radio":"喜劇電臺","Lifestyle Radio":"生活方式電臺","News Tv":"新聞電視","Food And Wine":"食物與酒","Latino Tv":"拉丁語電視臺","Shopping Tv":"購物電視臺","Religion":"宗教","Kids":"兒童","Body & Soul":"身體與靈魂","Education":"教育","Indian Tv":"印度電視臺","Extreme Sports":"極限運動","Middle Eastern Tv":"中東電視臺","Celebrity Tv":"名人電視臺","Science Tv":"科學電視臺","Bikini babe":"比基尼寶貝","Outdoors":"戶外","German Tv":"德國電視臺","French Tv":"法國電視臺","Italian Tv":"義大利電視臺","Gamer Tv":"伽馬電視臺","Travel":"旅行","Asian Tv":"亞洲電視臺","Entertainment":"遊戲娛樂","News Radio":"新聞電臺","Music Radio":"音樂電臺","Language Learning":"語言學習","Science Radio":"科學電臺","Tech Radio":"科技電臺","Science & Technology Vod":"科技影片點播","new video":"新影片","new episode":"新一集","new movie":"新電影","recommended":"推薦","we recommend":"我們建議","offer of the day":"當日優惠","news":"新聞","music video":"音樂影片","CTX_SHOW_HOTKEYS":"顯示快捷鍵","CTX_DISMISS_NOTIF":"清除通知","CTX_DISMISS_ALL":"全部清除","CTX_SHARE":"分享","CTX_COPY_SHARE_LINK":"複製分享連結","CTX_COPY_MAGNET_LINK":"複製Magnet連結","CTX_COPY_STREAM_LINK":"複製流媒體連結","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"下載此影片","CTX_DOWNLOAD_SUBS":"下載字幕","CTX_VIEW_ON_YOUTUBE":"在YouTube上觀看","CTX_SHOW":"顯示","CTX_PLAY":"播放","CTX_PLAY_IN":"播放","CTX_PLAY_ON":"正在播放","CTX_WATCH_ON":"正在觀看","CTX_WATCH":"觀看","CTX_WATCHED":"已觀看","CTX_WATCH_BEGINNING":"從頭開始觀看","CTX_WATCH_MOBILE":"在移動裝置上觀看","CTX_REWIND":"回到開頭","CTX_MARK_WATCHED":"標記為已觀看","CTX_MARK_NON_WATCHED":"標記為未觀看","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"將其餘部分標記為已觀看","CTX_UNMARK_REST":"將其餘部分標記為未觀看","CTX_RECEIVE_NEW_NOTIF":"接受新通知","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"從快取中刪除","CTX_REMOVE_CACHE_EP":"從快取中刪除集","CTX_OPEN_CONTAINING":"開啟所在資料夾","CTX_REMOVE":"從庫中刪除","CTX_AVAILABLE_OFFLINE":"離線可用","CTX_PAUSED":"暫停","CTX_ALWAYS_ON_TOP":"置頂","CTX_FULLSCREEN":"全屏","CTX_WRONG_SUBS":"錯誤的字幕?","CTX_REPORT_ISSUES":"報告問題","CTX_COPY":"複製","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"貼上","CTX_CLEAR":"清除","CTX_CLEAR_RECENT_SEARCHES":"清除最近搜尋記錄","HELLO_THERE":"您好","HOPE_YOU_ENJOY":"我們希望您喜歡Stremio,也許它已經是您最喜歡的應用之一了!","WHO_ARE_WE":"我們是誰?我們是它背後的團隊。在過去三年裡的每天,我們兩個努力工作使這個產品越來越好。","SUPPORT_US":"如果您喜歡Stremio,如果Stremio對您來說很有價值,請傳播它!","SPREAD_THE_WORD":"現在與您的朋友分享傳播關於Stremio的資訊","MORE_PEOPLE":"使用Stremio的人越多,效果就越好!","SEND_A_LINK":"或傳送一個連結到我們的網站","TIP_LOCALFILES":"提示:您可以將本地影片檔案拖放到Stremio中","ADDON_MY":"我的外掛","ADDON_COMMUNITY":"社群外掛","ADDON_OFFICIAL":"官方外掛","ADDON_REPOS":"外掛集合","ADDON_SEARCH":"搜尋外掛","ADDON_INSTALL":"安裝","ADDON_CONFIGURE":"配置","ADDON_UNINSTALL":"解除安裝","ADDON_UPGRADE":"更新","ADDON_INSTALLED":"已安裝","ADDON_INSTALLED_MSG":"外掛已安裝!","ADDON_UPGRADED_MSG":"外掛已更新!","ADDON_UNKNOWN":"未知","ADDON_ERR":"外掛安裝錯誤!","ADDON_DISCONNECTED":"已斷開連線","ADDON_APP_MISSING":"未安裝此源的應用程式,您想現在安裝嗎?","ADDON_APP_INSTALL":"立即安裝","ADDON_PAGE":"外掛頁","ADDON_TOP_CONTENT":"最好從這個外掛","ADDON_PROVIDES":"這個外掛會給您:","ADDON_WATCH":"立即觀看#{types}!","ADDON_WATCH_FREE":"立即免費觀看#{types}!","ADDON_ADDON":"外掛","ADDON_SUPPORTED_TYPES":"支援的型別","ADDON_SUPPORTED_CATALOGS":"支援的目錄","ADDON_PROVIDES_DISCOVER":"發現中的更多#{types}","ADDON_PROVIDES_STREAMS":"觀看#{types}","ADDON_PROVIDES_STREAMS_FREE":"免費觀看#{types}","ADDON_PROVIDES_SUBTITLES":"#{types}的字幕","ADDON_CANTDETECT":"我們無法檢測到正在執行的Stremio,因此我們無法檢測您安裝了哪些外掛。","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"找不到有關於此的資訊","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"檢索有關於此的資訊時出錯","ERR_CANT_PARSE_MAGNET":"無法分析Magnet","ERR_NO_MAGNET_INFOHASH":"Magnet缺少有效的Hash","ERR_NO_FILE_PATH":"沒有檔案路徑無法傳送請求","ERR_NO_TORRENT":"沒有Torrent返回","ERR_NO_SUPPORTERD_FILES":"找不到支援的檔案","ERR_OPENING_FILES":"無法開啟外部檔案","ERR_INVALID_LINK":"無效連結","ERR_REGISTERED_ONLY":"此選項僅適用於已註冊使用者。","ERR_CLIPBOARD":"無法從剪下板播放","ERR_CLIPBOARD_READ":"無法讀取此平臺上的剪下板","ERR_CLIPBOARD_GENERIC":"在剪下板中找不到可播放的URL. 請將URL(例如Magnet連結)複製到影片。","BOARD_CONTINUE_WATCHING":"繼續觀看","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"專門為您挑選的電影。
    這部電影是一個推薦樣例。","BOARD_EXPLANATION_EPISODES":"這裡是您最喜愛的劇集的新一集。
    將您關注的劇集新增到庫中。","BOARD_EXPLANATION_VIDEOS":"這裡是您最喜愛的頻道的新一集。
    將您關注的YouTube頻道新增到庫中。","WEBSITE_ENJOYED_BY":"在全球擁有超過3000萬使用者","WEBSITE_STREAMING_ENHANCED":"流媒體增強","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio提供安全、現代、無縫的娛樂體驗。憑藉其易於使用的介面和多樣化的內容庫,包括4K HDR支援,使用者可以在所有裝置上欣賞他們喜愛的電影和電視節目。Stremio致力於安全,是無憂、高質量流媒體體驗的終極選擇。","WEBSITE_AVAILABLE_ON":"可用時間","WEBSITE_WATCH_AND_ENJOY":"觀看並享受。","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio讓它變得小菜一碟","WEBSITE_ALL_FEATURES":"全部功能","WEBSITE_EASY_TO_USE":"易於使用","WEBSITE_EASY_TO_USE_DETAILS":"Stremio的設計是使用者友好和易於使用。憑藉其乾淨直觀的介面,您可以輕鬆導航並找到想要觀看的內容。","WEBSITE_SEAMLESS_ACROSS_DEVICES":"無縫跨裝置","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Stremio可用於各種平臺(包括Windows、Mac、Linux、Android等),它將跟蹤您在所有裝置上的進度。只需登入並繼續觀看,無需在每個新裝置上再次配置應用程式。","WEBSITE_ALL_DOWNLOADS":"全部下載","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"高畫質晰度影片支援","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"整合影片播放器支援大多數影片格式,包括4K HDR內容,讓您享受可用的最高質量。","WEBSITE_DIVERSE_CONTENT_LIBRARY":"多樣化的內容庫","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio整合了大量流行的影片來源,如Netflix、Amazon Prime video、Hulu、YouTube等。","WEBSITE_CREATE_A_FREE_ACCOUNT":"建立免費帳戶","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"量身定製的觀看體驗","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio允許您透過更改主題、新增或刪除外掛等方式自定義介面的外觀。","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"多語言字幕支援","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"由於Stremio支援所有語言的字幕,您現在可以用您喜歡的語言欣賞所有喜愛的內容。","WEBSITE_ALL_STREMIO_FEATURES":"Stremio的全部功能","WEBSITE_TRY_STREMIO_TITLE_P1":"嘗試Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"現在在你的電視上","WEBSITE_YOU_CAN_NOW_WATCH":"您現在可以在Android電視裝置上觀看所有喜愛的電視節目。Stremio電視應用程式讓您輕鬆享受電影之夜。","WEBSITE_YOU_CAN_NOW_WATCH_2":"現在,您可以在智慧電視或安卓電視上觀看所有喜愛的電視節目。Stremio電視應用程式讓您輕鬆享受電影之夜。","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"可能是您裝置中最好、最有用的應用程式。這是我每天使用的應用程式之一,尤其是多年來在我的安卓電視上。製作精良,擁有強大的社群,提供有用的功能。幹得好。繼續努力。","WEBSITE_REVIEWS":"評論","WEBSITE_GET_STREMIO_FOR_FREE":"免費獲取Stremio","WEBSITE_GET_STREMIO_NOW":"立即獲取Stremio","WEBSITE_STREMIO_FEATURES":"Stremio功能","WEBSITE_STREMIO_FEATURES_DETAILS":"藉助Stremio的高階功能,像專業人士一樣進行流媒體播放,享受對所有喜愛媒體的無縫訪問","WEBSITE_DISCOVER_MORE":"發現更多。","WEBSITE_DISCOVER_MORE_DETAILS":"永遠不要無聊地沒有東西可看","WEBSITE_COMMUNITY_DRIVEN":"社群驅動","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio擁有一個龐大而活躍的使用者社群,他們透過建立和共享外掛為軟體的開發做出貢獻。","WEBSITE_GET_INVOLVED":"參與進來","WEBSITE_NEW_THEATER_EXPERIENCE":"新劇場體驗","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio的新專用電視應用程式讓您在Android電視裝置上享受電影之夜。","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio的新專用電視應用程式讓您在智慧電視或安卓電視裝置上享受電影之夜。","WEBSITE_FREE_AND_SECURE":"免費和安全","WEBSITE_STREAMING":"流式傳輸","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio為使用者提供無與倫比的安全性和隱私。Stremio具有遠端執行外掛的獨特功能,與其他平臺相比,它提供了一種更安全的方式來流式傳輸您喜愛的內容。您的安全和隱私是首要任務,平臺確保您的所有資料都得到保護。","WEBSITE_FREE_AND_SECURE_DETAILS_2":"告別對安全和隱私的擔憂,與Stremio一起向無盡娛樂的世界問好。","WEBSITE_INFORMATION_PROVIDED_BY":"資訊來源於","WEBSITE_CONTRIBUTE_DESC":"幫助我們讓Stremio變得更好","WEBSITE_COMMUNITY_DESC":"我們相信,創造真正令人驚歎的流媒體體驗的最佳方式是讓我們的社群參與到這個過程中。無論你是程式設計師、藝術家還是粉絲,你都可以幫助Stremio成長。","WEBSITE_COMMUNITY_DESC_2":"所以,今天就加入我們,成為Stremio社群的一員,繼續塑造流媒體的未來。","WEBSITE_WAYS_TO_GET_INVOLVED":"參與方式","WEBSITE_IN_THE_STREMIO_COMMUNITY":"在Stremio社群","WEBSITE_SHARE_YOUR_THOUGHTS":"分享你的想法","WEBSITE_REPORT_BUGS":"報告Bug","WEBSITE_SUGGEST_FEATURES":"建議功能","WEBSITE_AND_PROVIDE_FEEDBACK":"並在我們的社交媒體渠道上提供反饋。","WEBSITE_BETA_TESTING_PROGRAM":"Beta測試程式","WEBSITE_BETA_TESTING_PROGRAM_DESC":"在Stremio社群參與我們的測試計劃(我們定期發出邀請)。","WEBSITE_JOIN_NOW":"立即加入!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Stremio官方社群","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Stremio非官方社群","WEBSITE_BECOME":"成為","WEBSITE_A_VOLUNTEER_TRANSLATOR":"一位志願翻譯者","WEBSITE_ARE_YOU_A_DEVELOPER":"你是開發者嗎?","WEBSITE_CONTRIBUTE_CODE":"您可以為我們的開源專案貢獻程式碼。我們在GitHub上有幾個專案正在尋找貢獻者。如果你有興趣幫忙,可以去看看:","WEBSITE_STREMIO_ON_GITHUB":"GitHub上的Stremio","WEBSITE_CREATE_ADDON_DESC":"建立一個外掛以增強Stremio的功能(我們有一個易於使用的API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio外掛SDK","WEBSITE_INTERN_DEVELOPER":"我們還提供了作為實習生開發人員加入我們的機會,這樣我們就可以一起成長。","WEBSITE_APPLY_AS_AN_INTERN":"以實習生身份申請","WEBSITE_CALLING_ALL_ARTISTS":"呼叫所有藝術家!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"透過將您的粉絲藝術上傳到我們的線上畫廊,展示您對Stremio的創造力和熱愛。無論是繪畫、繪畫還是數字設計,我們都希望看到您對Stremio品牌的獨特見解。加入我們的藝術愛好者社群,與世界各地的Stremio粉絲分享您的作品。","WEBSITE_STREMIO_FANART_GALLERY":"Stremio粉絲藝術畫廊","WEBSITE_INTERN_DESIGNER":"透過我們激動人心的實習機會,成為我們團隊的一員,將您的創造力提升到新的高度。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"公共領域電影專案","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"在Stremio,我們致力於透過識別公共領域和孤兒影片來保護電影和電視的歷史。透過與我們的社群合作,我們可以確保這些經典藝術作品對每個人都是可訪問的,併為後代所保護以供享受。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"如果您想參與該專案,請隨時與我們聯絡。","WEBSITE_JOIN_THE_PROJECT":"加入專案","WEBSITE_BE_PART_OF_OUR_MISSION":"成為我們使命的一部分","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"有興趣加入斯特雷米奧隊嗎?我們為充滿激情的專業人士提供完全遠端工作。檢視我們的空缺職位。","WEBSITE_OPEN_POSITIONS":"空缺職位","WEBSITE_DESCRIPTION":"說明","WEBSITE_LEARN_MORE":"瞭解更多","WEBSITE_COMPANY":"公司","WEBSITE_CONTACTS":"聯絡人","WEBSITE_NEED_HELP":"需要幫助?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS版Stremio Web指南","WEBSITE_LINK_ART_V2":"粉絲藝術畫廊","WEBSITE_PARTNERS":"合作伙伴","WEBSITE_SLOGAN_WATCH":"立即觀看","WEBSITE_SLOGAN_ALL":"一站式影片娛樂解決方案","WEBSITE_SLOGAN_NEW":"您能觀看一切","WEBSITE_SLOGAN_NEW_NEW":"自由串流","WEBSITE_WATCH_FROM":"觀看","WEBSITE_DOWNLOAD":"立即下載","WEBSITE_DOWNLOAD_FOR":"立即下載","WEBSITE_IS_DESKTOP":"Stremio是一個桌面應用程式,請在PC上開啟此頁並下載","WEBSITE_DESKTOP_DEMO_VID":"桌面演示","WEBSITE_PAGE_HOME":"首頁","WEBSITE_PAGE_FEATURES":"功能","WEBSITE_PAGE_ADDONS":"外掛","WEBSITE_PAGE_TECH":"技術","WEBSITE_PAGE_CREATE_ADDON":"建立外掛","WEBSITE_PAGE_CONTACTS":"聯絡","WEBSITE_PAGE_BLOG":"部落格","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"電影","WEBSITE_TYPE_series_PL":"劇集","WEBSITE_TYPE_tv":"直播電視","WEBSITE_TYPE_channel":"頻道","WEBSITE_STREMIO_WHAT_IS":"Stremio是一款幫助您管理和隨時觀看您喜愛的影片、電影、劇集和電影片道的應用程式","WEBSITE_FEATURES_WATCH":"立即觀看高畫質影片","WEBSITE_FEATURES_WATCH_DETAIL":"點選並播放您喜愛的電影、劇集、影片和電影片道。","WEBSITE_FEATURES_SUBS":"自動載入字幕","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio會自動為您的語言選擇同步字幕。","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"在電視和移動裝置上播放","WEBSITE_FEATURES_CAST_DETAIL":"適用於AppleTV、Chromecast、智慧電視(DLNA/UPnP)和移動裝置。","WEBSITE_LIB":"享受在所有裝置上同步的個人庫","WEBSITE_LIB_COLLECT":"從Stremio收集","WEBSITE_LIB_IMPORT":"從Facebook匯入","WEBSITE_LIB_LOCAL":"從本地磁碟新增","WEBSITE_BOARD":"首頁 - 通知和推薦的一站式場所","WEBSITE_BOARD_RECOMMEND":"推薦電視節目","WEBSITE_BOARD_TRENDING":"流行電影","WEBSITE_BOARD_NEW":"新影片","WEBSITE_BOARD_EPISODE":"新一集","WEBSITE_BOARD_1":"想看些有趣的東西嗎?根據您的喜好得到推薦!","WEBSITE_BOARD_2":"當您最喜愛的電視節目或YouTube頻道的新一集播出時獲得通知!","WEBSITE_BOARD_YOUTUBE":"YouTube頻道的新影片","WEBSITE_BOARD_EPISODES":"您關注的劇集的新一集","WEBSITE_ADDONS":"內容外掛","WEBSITE_TECH_DETAIL":"我們熱愛科技,我們熱愛瘋狂的科學!\\nStremio使用了以下開源技術:","WEBSITE_TECH_WCJS":"WebChimera.js允許Stremio以良好的效能播放任何影片格式。","WEBSITE_TECH_WCJS_EXTRA":"我們是專案的核心貢獻者","WEBSITE_TECH_ELECTRON":"Electron為Stremio提供了一個創新平臺。","WEBSITE_TECH_ELECTRON_EXTRA":"我們是專案貢獻者","WEBSITE_TECH_LINVODB":"一種資料庫技術,確保您的資料在任何地方登入都受管理和可用。","WEBSITE_TECH_LINVODB_EXTRA":"內部技術","WEBSITE_CREATE_ADDON":"建立您的外掛","WEBSITE_CREATE_ADDON_DETAIL":"您有提供影片內容的服務嗎?我們將透過建立外掛來幫助您從Stremio的功能中獲益。","WEBSITE_CREATE_ADDON_BENEFITS":"為Stremio建立外掛的好處","WEBSITE_P2P_BEAUTY":"點對點流媒體之美","WEBSITE_P2P_1":"可靠且價格合理的全高畫質/4K影片點播或流媒體直播","WEBSITE_P2P_2":"提供良好使用者體驗的分銷平臺","WEBSITE_P2P_3":"我們將建立一個外掛來滿足您的確切需要","WEBSITE_P2P_CONTACT":"有興趣嗎?歡迎您透過聯絡我們.","WEBSITE_P2P_CONTACT_EXTRA":"我們很樂意幫助您將您的內容整合到Stremio!","WEBSITE_P2P":"偶然間出現了一種改變遊戲名稱的技術。 我們投入了大量的時間和精力來構建我們的點對點(P2P)影片流媒體引擎,該引擎可提供出色的效能和多功能性,以適應任何用例。\\n請聯絡我們以獲取支援DRM的P2P影片點播或實時流媒體。","WEBSITE_THOUGHTS":"我們分享的想法:","WEBSITE_SPREAD":"傳播關於Stremio的資訊:","WEBSITE_CONTACT":"聯絡我們,我們很高興收到您的來信!","WEBSITE_OPENSOURCE":"有關我們的開源專案,請轉到:","WEBSITE_BITCOIN":"捐贈比特幣:","WEBSITE_FAQ":"常見問題","WEBSITE_FAQ_SHORT":"常見問題","WEBSITE_QUESTIONS":"問題","WEBSITE_TOS":"使用條款","WEBSITE_LEGAL":"法律","WEBSITE_PAGE_ABOUT":"關於","WEBSITE_PAGE_BECOME_PARTNER":"成為合作伙伴","WEBSITE_ALL_YOU_CAN_WATCH":"自由觀看\\n您想看的一切。","WEBSITE_FREEDOM_TO_STREAM":"自由串流","WEBSITE_WHAT_IS_STREMIO":"什麼是Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio是一個一站式影片內容聚合中心。在您擁有的任何裝置上發現,管理和觀看來自各種來源的影片。","WEBSITE_WHAT_IS_STREMIO_P2":"電影、電視節目、劇集、電視直播或網路頻道例如YouTube或Twitch.tv等,您可以在Stremio上找到所有這些內容。","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio是一個現代化的媒體中心,為您的影片娛樂提供一站式解決方案。您可以透過易於安裝的外掛發現,觀看和整理影片內容。","WEBSITE_WHAT_IS_STREMIO_P2_V2":"電影、電視節目、直播電視或網路頻道——在Stremio上找到所有這些。","WEBSITE_ENJOI_ON_ALL_DEVICES":"在所有媒體裝置上享受","WEBSITE_DEVICES_COLLECT":"從Stremio收集","WEBSITE_DEVICES_IMPORT_FB":"從Facebook匯入","WEBSITE_DEVICES_LOCAL":"從本地磁碟新增","WEBSITE_JOIN_THE_PARTY_NOW":"立即加入聚會","WEBSITE_DEVICES_ALL":"易於在所有裝置上使用;","WEBSITE_EXTENDABLE_CATALOG":"可無限擴充套件的影片目錄;","WEBSITE_ORGANIZE_YOUR_MEDIA":"強大的媒體管理功能;","WEBSITE_AS_SEEN_ON":"如圖所示","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"關於我們","WEBSITE_LINK_TECHNOLOGY":"技術","WEBSITE_LINK_APPS":"應用程式","WEBSITE_LINK_DOWNLOADS":"下載","WEBSITE_MORE":"更多","WEBSITE_LINK_ADDONS":"外掛","WEBSITE_LINK_ADDON_SDK":"外掛SDK","WEBSITE_LINK_CONTRIBUTE":"貢獻","WEBSITE_LINK_COMMUNITY":"社群","WEBSITE_LINK_BLOG":"部落格","WEBSITE_MORE_MORE":"... & 更多","WEBSITE_LINK_HELP":"幫助中心","WEBSITE_LINK_CONTACTS":"業務查詢","WEBSITE_LINK_TOS":"條款和條件","WEBSITE_LINK_PRAVACY":"隱私政策","WEBSITE_SUBSCRIBE":"訂閱","WEBSITE_NEWSLETTER":"加入我們的實時通訊,瞭解精彩的內容","WEBSITE_PLACEHOLDER_EMAIL":"您的電子郵箱","WEBSITE_COMMUNITY":"社群","WEBSITE_LINK_PRAVACY_LEGAL":"隱私與法律","WEBSITE_WHY":"我們為什麼這樣做","WEBSITE_WHY_P1":"在Stremio,我們每天都工作,因為我們想解決影片點播行業的一個重要問題。每分鐘都有這麼多的新內容釋出,幾乎不可能找到解決的方法。","WEBSITE_WHY_P2":"我們幫助人們瀏覽這個巨大的影片娛樂世界,發現新的內容來享受。我們的應用程式彙集了電影、劇集、電視直播、網路頻道等。我們致力於讓使用者非常容易地找到他們喜歡的標題和廣播。","WEBSITE_WHY_P3":"您可以隨時在任何裝置上使用我們的服務,使Stremio成為您唯一需要的影片娛樂中心。","WEBSITE_TEAM":"團隊","WEBSITE_TEAM_P":"Stremio團隊雖小但很強大:我們10個人用X語言編寫程式碼,分享軟體開發、UI和UX設計、營銷和廣告、商業和初創企業方面的專業知識。","WEBSITE_FEATURES":"功能","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"輕鬆發現新內容","WEBSITE_FEATURES_DISCOVER_P":"輕鬆發現要觀看的新電影、電視節目、劇集和頻道。按類別、流派、評分、時間等瀏覽,或者只需鍵入一個名稱即可找到。Stremio讓尋找新的影片內容變得輕而易舉。","WEBSITE_FEATURES_ALL_CONTENT":"一塊螢幕顯示所有影片內容","WEBSITE_FEATURES_ALL_CONTENT_P1":"檢視您未看完的電影、劇集或影片,並繼續觀看;獲得新劇集和版本的通知;瀏覽根據您的觀看習慣獲得的推薦。","WEBSITE_FEATURES_LIBRARY":"管理您的影片庫","WEBSITE_FEATURES_LIBRARY_P1":"只需點選一下,即可將任何標題新增到您的Stremio庫中,並按型別、時間或字母順序整齊地排列內容。","WEBSITE_FEATURES_CALENDAR":"記錄您所觀看的一切","WEBSITE_FEATURES_CALENDAR_P1":"獲取新增到庫中的所有電影和系列的日曆視覺化。匯出您的Stremio日曆並同步它,這樣您就可以隨時知道新的一集或首映何時到來。","WEBSITE_FEATURES_BIG_SCREEN":"在大螢幕上欣賞您的影片內容","WEBSITE_FEATURES_BIG_SCREEN_P1":"將您正在觀看的任何內容都投屏到另一臺裝置上,無論是手機、平板電腦還是電視,只需點選一下即可。","WEBSITE_FEATURES_SOURCES":"觀看不同來源的影片","WEBSITE_FEATURES_SOURCES_P":"安裝官方和社群外掛,欣賞來自多個不同供應商的影片。","WEBSITE_CREATE_AN_ADDON":"建立外掛","WEBSITE_FEATURES_SYNC":"跨裝置同步庫並恢復播放","WEBSITE_FEATURES_SYNC_P1":"使用您的帳戶在所有裝置上登入,享受同步的庫、外掛、播放和日曆。","WEBSITE_FEATURES_EXTENDABLE":"透過外掛擴充套件影片目錄","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio外掛目錄提供了許多外掛,可以從中安裝和觀看各種影片內容。這包括電影、節目、電視直播、體育、新聞、播客、網路頻道、影片遊戲等。","WEBSITE_FEATURES_AUTO_SUBS":"自動載入字幕","WEBSITE_FEATURES_AUTO_SUBS_P1":"透過我們的字幕外掛,您可以自動選擇您喜歡的語言。","WEBSITE_FEATURES_CHROMECAST":"投屏到Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"在更大的螢幕上欣賞您的影片內容,或者將您正在觀看的內容投屏到其他裝置上。","WEBSITE_FEATURES_KEEP_TRACK":"跟蹤您最喜愛的電視節目和網路頻道","WEBSITE_FEATURES_KEEP_TRACK_P1":"獲取您最喜愛的劇集和網路頻道的新一集的日曆視覺化和通知。","WEBSITE_FEATURES_POWER_USER":"超級使用者功能","WEBSITE_FEATURES_POWER_USER_P1":"在外部播放器中播放","WEBSITE_FEATURES_POWER_USER_P2":"從Torrent檔案或Magnet連結播放","WEBSITE_FEATURES_POWER_USER_P3":"從Facebook喜愛或本地磁碟匯入您的庫","WEBSITE_ADD_ONS":"外掛","WEBSITE_ADD_ONS_P1":"Stremio提供的所有影片內容都是透過外掛系統獲取的,應用程式中沒有內建任何內容或內容提供商。","WEBSITE_ADD_ONS_P2":"有兩組外掛可用:官方和社群外掛。","WEBSITE_ADD_ONS_P3":"官方外掛由Stremio開發和託管,而社群外掛由我們的社群成員建立和託管。","WEBSITE_ADDONS_OFFICIAL":"官方外掛","WEBSITE_ADDONS_WATCHUB":"從iTunes、Hulu、Amazon和其他英國/美國服務提供商處流式播放您喜愛的電影、劇集和節目。","WEBSITE_ADDONS_YOUTUBE":"觀看您喜愛的YouTube頻道,獲得您關注的貢獻者的新上傳通知。","WEBSITE_ADDONS_FILMON":"免費觀看直播電視、電影和社交電視。600個電影片道,45000部免費電影,紀錄片以及更多","WEBSITE_ADDONS_OPENSUBTITLES":"多語種影視字幕,每天上傳上千個翻譯字幕。","WEBSITE_ADDONS_COMMUNITY":"社群外掛","WEBSITE_ADDONS_FILMON_VOD":"觀看來自Filmon.tv的點播影片。","WEBSITE_ADDONS_TWICH":"觀看來自Twitch.tv(電子競技行業的影片流媒體平臺)的直播。","WEBSITE_ADDONS_VODO":"觀看完全免費的獨立電影。","WEBSITE_ADDONS_NETFLIX":"觀看Netflix的電影和網劇。","WEBSITE_ADDONS_CREATE":"建立外掛","WEBSITE_ADDONS_CREATE_P1":"如果您願意,您可以開發自己的外掛。透過這種方式,您可以讓自己和我們的社群訪問新的影片內容,並接觸到全球數百萬使用者的新目標受眾。","WEBSITE_ADDONS_START_CREATE":"要開始,請訪問Stremio外掛SDK頁面:","WEBSITE_DOWNLOADS":"下載","WEBSITE_DOWNLOADS_P1":"為了獲得最佳效能,我們建議您使用最新版本的Stremio應用程式。但是,如果出於某種原因,您想使用舊版本,可以在此處下載。","WEBSITE_DOWNLOADS_P1_SHORT":"為了獲得最佳效能,我們建議您使用最新版本的Stremio應用程式,","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS(限制版本)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"下載Stremio服務","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service是Stremio Web的配套應用程式。我們建議使用最新版本的Stremio Service。","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"更多下載選項","WEBSITE_DOWNLOAD_NEW":"新!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"我們釋出了Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"貢獻","WEBSITE_CONTRIBUTE_P1":"Stremio平臺是開源的,您可以輕鬆地為當前沒有來源的內容建立一個外掛。","WEBSITE_CONTRIBUTE_WHY":"為什麼要建立外掛?","WEBSITE_CONTRIBUTE_WHY_P1":"為您的影片內容吸引新觀眾","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio的使用者群體正在快速增長,在推出的第一年,Stremio在全球獲得了100萬使用者,在該平臺存在的第二年,這個數字增長到250萬。","WEBSITE_CONTRIBUTE_WHY_P3":"用外掛,您可以輕鬆接觸這些觀眾並向他們分發您的影片內容。","WEBSITE_CONTRIBUTE_ALL":"在一處觀看您喜愛的電影、影片、劇集和頻道。","WEBSITE_CONTRIBUTE_ALL_P1":"您是Stremio上尚未提供的特定型別內容的粉絲?為它建立一個外掛,在市場上最大、最易使用的娛樂中心之一欣賞您喜愛的影片。","WEBSITE_CONTRIBUTE_ALL_P2":"除此之外,您還會得到其他志同道合的Stremio社群成員的無盡感激。","WEBSITE_CONTRIBUTE_MONETIZE":"透過外掛營利,並在其幫助下賺錢","WEBSITE_CONTRIBUTE_MONETIZE_P1":"一旦您為Stremio開發了一個新的外掛,您就可以透過多種不同的方式輕鬆地靠其營利。如果您正在考慮此問題,請隨時與我們聯絡","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":",我們很樂意就外掛營利選項向您提供諮詢和建議。","WEBSITE_CONTRIBUTE_TRANSLATE":"成為一名志願翻譯者","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"如果您想享受不同語言的Stremio應用程式,您可以加入我們的志願翻譯者社群。他們幫助我們新增多種不同語言的Stremio版本。","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"您想開始嗎?","WEBSITE_TRANSALTE_STREMIO":"翻譯Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"官方社群","WEBSITE_COMMUNITY_OFFICIALS_P1":"成為不斷增長的Stremio社群的一部分。在社交媒體上關注我們,不要害羞地打招呼,我們喜歡聽到粉絲的聲音!","WEBSITE_COMMUNITY_UNOFFICIALS":"非官方社群","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"合作伙伴和支持者","WEBSITE_COMMUNITY_GOODIES":"Stremio特典","WEBSITE_COMMUNITY_WALLPAPERS":"桌布","WEBSITE_COMMUNITY_ART":"社群藝術畫廊","WEBSITE_LINK_ART":"社群藝術畫廊","WEBSITE_CONTACT_US":"聯絡我們","WEBSITE_CONTACT_US_P1":"如果您有任何問題、意見或建議,請隨時透過下面的聯絡方式與我們聯絡。","WEBSITE_CONTACT_US_P2":"請記住,我們位於保加利亞,因此可能會由於時區差異而延遲處理您的問題。","WEBSITE_CONTACT_US_SUCCESS":"您的資訊已傳送。我們會在方便的時候儘快給您回覆。","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"請輸入有效的電子郵箱!","WEBSITE_CONTACT_US_Q_RELATED_TO":"您的問題與什麼有關?","WEBSITE_CONTACT_US_Q_OS":"您的作業系統是什麼?","WEBSITE_CONTACT_US_PH_EMAIL":"您的電子郵箱","WEBSITE_CONTACT_US_PH_MESSAGE":"簡訊","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"傳送","WEBSITE_CONTACT_US_Q_1":"如何安裝?","WEBSITE_CONTACT_US_Q_2":"如何解除安裝?","WEBSITE_CONTACT_US_Q_3":"(HTML)如何製作千層麵?","WEBSITE_CONTACT_US_Q_4":"外掛","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"技術","WEBSITE_TECHNOLOGY_P1":"我們熱愛科技,熱愛科學。
    這是Stremio的動力(它都是開源的)。","WEBSITE_TECHNOLOGY_P_QT":"最佳跨平臺軟體開發工具。","WEBSITE_TECHNOLOGY_P_MPV":"一款免費、開源、跨平臺的媒體播放器。","WEBSITE_TECHNOLOGY_P_RN":"React Native允許您僅使用JavaScript構建移動應用程式。","WEBSITE_TECHNOLOGY_P_VLC":"嵌入到應用程式中獲取多媒體的媒體框架。","WEBSITE_TECHNOLOGY_P_REALM":"Realm是一個移動平臺,是SQLite和Core Data的替代品。","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js是一個開源、跨平臺的JavaScript執行環境。","WEBSITE_TECHNOLOGY_P_RUST":"Rust是一種多正規化系統程式語言,關注安全性,尤其是安全併發性。","WEBSITE_TECHNOLOGY_CONTRIBUTE":"為專案貢獻力量","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"您可以透過兩種方式為Stremio做貢獻,幫助我們將產品做得更好。","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"您可以透過翻譯平臺來貢獻您寶貴的語言技能...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"或","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... 您可以利用您的程式設計技巧來建立社群外掛。","WEBSITE_TRANSLATE_STREMIO":"翻譯Stremio","WEBSITE_404_OH_NO":"糟糕!您要找的頁面不在這裡...","WEBSITE_GO_HOME":"回到主頁","WEBSITE_LINK_OTHER_DOWNLOADS":"其他下載","WEBSITE_FAQ_ABR":"常見問題","WEBSITE_SUPPORT":"支援","WEBSITE_DOWNLOAD_4_0_BETA":"立即下載Stremio 4測試版","WEBSITE_GET_FOR_DESKTOP":"獲取桌面","WEBSITE_LINK_ADDON_COMPETITION":"外掛比賽","WEBSITE_LINK_ART_CONTEST":"藝術比賽","WEBSITE_MY_ACCOUNT":"我的賬戶","WEBSITE_MAINPAGE_FAQ_001_H1":"什麼是Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio是一個現代化的媒體中心,讓您可以自由觀看任何您想要的東西。","WEBSITE_MAINPAGE_FAQ_002_H1":"它是如何工作的?","WEBSITE_MAINPAGE_FAQ_002_P1":"一旦您在裝置上安裝了Stremio並建立了一個帳戶,您所要做的就是訪問外掛目錄並安裝任何您想要的外掛,就可以開始了!","WEBSITE_MAINPAGE_FAQ_002_P2":"之後,您可以進入“發現”或“板”部分,開始探索內容。","WEBSITE_MAINPAGE_FAQ_003_H1":"我可以在這裡看什麼?","WEBSITE_MAINPAGE_FAQ_003_P1":"很多:電影、電視節目、網路頻道、體育、電影片道、收聽播客等等。感謝我們的外掛系統,您可以訪問各種內容。","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio是開源的嗎?","WEBSITE_MAINPAGE_FAQ_004_P1":"是的,您可以檢視以下連結:${1}桌面應用${2}和${3}GitHub組織${4}。","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio安全嗎?","WEBSITE_MAINPAGE_FAQ_005_P1":"是:因為它是開源軟體,所以程式碼可以公開稽核,您可以自己檢視。","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"我的隱私如何?","WEBSITE_MAINPAGE_FAQ_006_P1":"我們尊重使用者隱私,除了建立和同步您的帳戶所必需的最低限度外,不收集任何個人資料。","WEBSITE_MAINPAGE_FAQ_006_P2":"註冊時還有一個${1}訪客模式${2},它不需要任何資料:在這種模式下,不會呼叫我們的後端。然而,這是以犧牲有用的功能為代價的,比如能夠跨裝置同步您的庫。","WEBSITE_MAINPAGE_FAQ_007_H1":"我可以投屏到電視嗎?","WEBSITE_MAINPAGE_FAQ_007_P1":"是的,我們支援Chromecast,您可以從桌面和移動應用程式(Android)進行強制轉換。","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio有多少外掛?","WEBSITE_MAINPAGE_FAQ_008_P1":"截至2019年末,超過50個。有關更多資訊,請檢視我們的外掛目錄。","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio是否可以擴充套件到外掛目錄之外?","WEBSITE_MAINPAGE_FAQ_009_P1":"是的,您應該檢視這些:${1}PimpMyStremio${2},${3}Reddit communities${4},${5}Stremio Downloader${6},等等。","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio支援哪些裝置?","WEBSITE_MAINPAGE_FAQ_010_P1":"我們有適用於Windows、Mac和Linux的桌面應用程式。對於移動裝置,我們支援Android和iOS,但請記住iOS的功能有限(不支援大多數外掛)。","WEBSITE_MAINPAGE_FAQ_010_P2":"有很多基於Android的裝置可以在上面執行Stremio,比如NVIDIA Shield和Amazon Fire Stick,但我們並不正式支援它們。","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"您們能為Stremio新增某些內容嗎?","WEBSITE_MAINPAGE_FAQ_011_P1":"抱歉,我們本身不提供任何內容,但是您安裝的Stremio外掛越多,您可以找到的內容就越多。","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio可以播放Magnet連結嗎?","WEBSITE_MAINPAGE_FAQ_012_P1":"是的,它還可以播放正常的HTTP連結和Torrent檔案(拖放)。","WEBSITE_MAINPAGE_FAQ_013_H1":"我可以下載影片並離線觀看嗎?","WEBSITE_MAINPAGE_FAQ_013_P1":"離線可用是一項即將推出的功能,但如果您允許Stremio在裝置上快取(從“設定”面板),您可以稍後在沒有連線的情況下觀看影片。","WEBSITE_MAINPAGE_FAQ_014_H1":"什麼都不能用,幫幫我!","WEBSITE_MAINPAGE_FAQ_014_P1":"您確定已安裝外掛嗎?如果是,請與我們的${1}幫助中心${2}聯絡","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio如何維持其開發運營?","WEBSITE_MAINPAGE_FAQ_015_P1":"我們偶爾會播放非侵入性廣告,但我們正在考慮轉向捐贈模式。","WEBSITE_MAINPAGE_FAQ_015_P2":"有關更多問題,請訪問我們的${1}幫助中心${2}。","HELP_LEARN_MORE":"幫助我們瞭解更多有關您的資訊。","LIFESTYLE":"生活方式","SPORTS":"體育","FOOD_HEALTH":"飲食與健康","BEAUTY_FASHION":"美麗與時尚","NEWS":"新聞","GAMING":"遊戲","SCIENCE_EDUCATION":"科學與教育","MUSIC":"音樂","TRAVEL":"旅行","LATE_NIGHT":"深夜","REALITY":"真人","COMEDY":"喜劇","DIY":"DIY","TECH":"技術","CINEMA":"影院","CONTINUE":"繼續","SLOW_LOADING":"載入緩慢?","I_GIVE_UP":"我放棄了","LEARN_MORE":"瞭解更多","POOR_SOURCE":"此源不可用或您的網路連線不夠快","PICK_CATEGORIES_ERR":"您必須至少選擇3個類別","ADJUST_TIMING":"調整時間","ADJUST_SIZE":"調整大小","SEARCH_ANYTHING":"您可以搜尋一切...","ALL_CATEGORIES":"全部","SEARCH_CATEGORIES":"電影、劇集、YouTube和電視","SEARCH_PERSONS":"演員、導演和編劇","SEARCH_PROTOCOLS":"HTTP或Magnet連結","SEARCH_TYPES":"IMDB/TVDB連結","WATCHED":"已觀看","SHOW_LESS":"顯示較少","LAST_SEARCHES":"上次搜尋","CLEAR_HISTORY":"清除歷史記錄","CHOOSE_SOME":"選擇其中一些:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"無法載入Web Remote","STREMIO_OFFLINE":"Stremio離線","STREMIO_EXPENSIVE_CONNECTION":"我們檢測到您正在使用移動資料連線,是否繼續?","USE_DATA":"使用移動資料","WARNING":"警告","MORE_INFO":"更多資訊...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"載入...","STREMIO_TV_BACK_TO_LANGUAGES":"返回語言","STREMIO_TV_REMOTE":"遠端","STREMIO_TV_GO_TO":"去往:","STREMIO_TV_OR_SCAN":"或掃描:","STREMIO_TV_ADDON_INSTRUCTIONS":"請按照說明安裝您喜歡的外掛。","STREMIO_TV_LIVE_TV":"直播電視","STREMIO_TV_RESUME_WATCHING":"繼續觀看","STREMIO_TV_LOADING_BACKGROUND":"載入背景","STREMIO_TV_CHECKING_AUTHENTICATION":"正在檢測身份驗證","STREMIO_TV_LOADING_BOARD":"載入主頁","STREMIO_TV_LOGIN_HEADER_LINE_1":"我們希望使用者在使用我們的軟體時有最好的個性化體驗,","STREMIO_TV_LOGIN_HEADER_LINE_2":"正是出於這個原因,我們懇請您建立和/或登入您的賬戶,","STREMIO_TV_LOGIN_FOOTER_LINE_1":"感謝您的理解,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio團隊","STREMIO_TV_REMOTE_INSTRUCTIONS":"為了在您的智慧手機/平板電腦/桌面使用Web Remote:","STREMIO_TV_WIFI_SETUP":"Wi-Fi設定","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle未檢測到網際網路連線。","STREMIO_TV_WIFI_DETAILS_1":"連線到:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"使用密碼:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"在瀏覽器中開啟連結:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"預設","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"按最近觀看","STREMIO_TV_LIBRARY_SORT_NAME":"按名字","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"按觀看次數","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"季${1}","STREMIO_TV_STREAMS_LOADING":"已載入${1}/${2}外掛...","STREMIO_TV_STREAMS_STILL_LOADING":"${1}外掛仍在載入...","STREMIO_TV_PLAYER_SETTINGS":"播放器設定","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"字幕延遲","STREMIO_TV_PLAYER_AUDIO_DELAY":"音訊延遲","STREMIO_TV_PLAYER_VIDEO_SCALING":"影片縮放","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"不支援的流媒體源","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"開啟外部連結失敗","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"在音訊直通模式下不可調整","STREMIO_TV_PLAYER_PLAY_IN_EXO":"使用ExoPlayer播放","STREMIO_TV_PLAYER_PLAY_IN_VLC":"使用libVLC player播放","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"由於播放錯誤而切換到libVLC player","STREMIO_TV_ADDONS_TITLE":"在手機或PC上使用Stremio安裝或配置外掛,然後按\\"同步外掛\\"","STREMIO_TV_ADDONS_SUBTITLE":"注意:確保您使用的是相同的Stremio帳戶","STREMIO_TV_ADDONS_SYNC_ADDONS":"同步外掛","STREMIO_TV_ADDONS_SYNC_SUCCESS":"外掛成功同步","STREMIO_TV_ADDONS_SYNC_FAILED":"外掛同步失敗","STREMIO_TV_META_LINK_FAILED":"開啟元連結失敗","STREMIO_TV_CATALOG_LOADING":"目錄仍在載入...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"介面語言已更新","STREMIO_TV_SETTINGS_THEME_UPDATED":"主題已更新","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"預設播放器","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"外部播放器","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"首選語言","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"次要首選語言","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"隧道播放","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"某些裝置上可能存在播放問題","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"某些影片格式可能無法播放","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"幀速率匹配","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"關閉","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"僅幀速率","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"幀速率和解析度","STREMIO_TV_SETTINGS_NO_CACHING":"無快取","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"預設","STREMIO_TV_SETTINGS_PROFILE_SOFT":"慢","STREMIO_TV_SETTINGS_PROFILE_FAST":"快","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"超快","STREMIO_TV_SETTINGS_SERVER_URL":"流媒體伺服器URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"伺服器版本","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"未知","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio版本","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"編輯伺服器URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"輸入流媒體伺服器URL","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"載入時顯示統計資訊","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"要閱讀Stremio的隱私政策,請訪問:","STREMIO_TV_SETTINGS_TOS_TEXT":"要閱讀Stremio的條款和條件,請訪問:","STREMIO_TV_NAV_SEARCH":"搜尋","STREMIO_TV_NAV_HOME":"主頁","STREMIO_TV_NAV_DISCOVER":"發現","STREMIO_TV_NAV_LIBRARY":"庫","STREMIO_TV_NAV_MOVIES":"電影","STREMIO_TV_NAV_SERIES":"劇集","STREMIO_TV_NAV_CHANNELS":"頻道","STREMIO_TV_NAV_TV":"電視直播","STREMIO_TV_NAV_SETTINGS":"設定","STREMIO_TV_NAV_ADDONS":"外掛","STREMIO_TV_LOGIN_TITLE":"連結賬戶","STREMIO_TV_LOGIN_EXPIRES_IN":"過期日期到","STREMIO_TV_LOGIN_STEP_ONE":"掃描上方的二維碼或轉到","STREMIO_TV_LOGIN_STEP_TWO":"登入您的Stremio帳戶","STREMIO_TV_LOGIN_NEW_LINK":"請求新連結","STREMIO_TV_LOGIN_LINK_REFRESHED":"登入程式碼已重新整理","STREMIO_TV_SEARCH_PLACEHOLDER":"輸入一些東西","STREMIO_TV_SEARCH_NO_ADDONS":"沒有為目錄請求外掛!","STREMIO_TV_SEARCH_BUTTON":"搜尋","STREMIO_TV_SEARCH_KEY_DEL":"刪除","STREMIO_TV_SEARCH_KEY_SPACE":"空格","STREMIO_TV_SEARCH_KEY_CLEAR":"清除","STREMIO_TV_SEARCH_HISTORY_TITLE":"搜尋歷史","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"您可以搜尋標題、演員、頻道...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"清除搜尋歷史","STREMIO_TV_FILTERS_DESCRIPTION":"從以下過濾器中選擇一個","STREMIO_TV_STREAMING_SERVER_OFFLINE":"流媒體伺服器離線,檢查伺服器設定。","FILTERS":"過濾器","SETTINGS":"設定","ACCOUNT":"賬戶","LOGOUT":"登出","THEMES":"主題","PLAYBACK":"播放","PLAYBACK_SPEED":"播放速度","AUDIO_TRACKS":"音軌","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"影片","SERVER":"伺服器","LINKS":"連結","ABOUT":"關於","INTERFACE":"介面","ANIMATIONS":"動畫","STATUS":"狀態","LANGUAGE":"語言","SIZE":"大小","DELAY":"延遲","BOLD":"粗體","OPACITY":"Opacity","TEXT_COLOR":"文字顏色","OUTLINE_COLOR":"輪廓顏色","BACKGROUND_COLOR":"背景顏色","BACKGROUND_BLUR":"背景模糊","SEEK_TIME_DURATION":"尋找持續時間","AUTO_PLAY":"自動播放下一集","PLAY_NOW":"現在播放","MARK_AS_WATCHED":"標記為已觀看","MARK_AS_UNWATCHED":"標記為未觀看","REWIND_TO_BEGINNING":"倒回開始","CONTINUE_WATCHING":"繼續觀看","ALL":"全部","SECONDS":"秒","ON":"開","OFF":"關","RELOAD":"重新載入","EDIT_URL":"編輯URL","URL":"URL","NONE":"無","EMBEDDED":"內嵌","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"開關裝置","REMOTE_VIDEOS":"影片","REMOTE_ADJUST_TIMING":"調整時間","REMOTE_ADJUST_SIZE":"調整大小","REMOTE_COULD_NOT_BE_LOADED":"無法載入Web Remote","REMOTE_RETRY":"重試","TORRENT_PROFILE_DEFAULT":"預設","TORRENT_PROFILE_SOFT":"慢","TORRENT_PROFILE_FAST":"快","TORRENT_PROFILE_ULTRA_FAST":"超快","MB_S":"MB/s","FAQ_001_H1":"什麼是Stremio?","FAQ_001_P1":"Stremio是專為影片娛樂而設計的多媒體中心軟體,易於使用。Stremio允許您管理和觀看自己的電影,劇集,頻道和實況電視收藏。","FAQ_001_P2":"Stremio從本地磁碟和外掛系統中收集顯示給您的內容。","FAQ_001_P3":"它還會在您感興趣的新劇集/影片/電影播出時通知您,併為您提供電影推薦。","FAQ_02_H1":"Stremio與Kodi和Plex相比如何?","FAQ_02_P1":"我們受到這兩種軟體的啟發。但是我們有不同的目標——Stremio專門針對娛樂影片,並透過易於使用成為其主流解決方案。","FAQ_02_P2":"Stremio將永遠不會像Kodi和Plex那樣具有可定製性和豐富的功能,但它更易於使用。只需${1}就可以獲取它,並檢視${2}:)","FAQ_03_H1":"Stremio與Netflix相比如何?","FAQ_03_P1":"同樣,Netflix是我們的靈感之一。我們努力實現Netflix的使用者體驗,再加上許多附加的好處。但最重要的是,我們讓您可以自由管理自己的庫,並使用我們的外掛系統新增新的內容源。","FAQ_03_P2":"這使得Stremio可以無限擴充套件,因此當您使用Stremio時,您永遠不會侷限於Netflix決定許可的內容。例如,您可以透過Stremio觀看${1}中的內容電影電視${2}, ${3} Twitch.tv${4},${5}YouTube${6},${7}Vodo${8}甚至${9}Netflix${10}本身!","FAQ_04_H1":"Stremio與Flipboard相比如何?","FAQ_04_P1":"我們不常聽到這個問題,除非與初創企業的人交談:)","FAQ_04_P2":"Stremio是透過設計一個內容聚合器來實現的,它本質上就是影片的Flipboard。這一點在我們的首頁部分非常明顯,它為您提供目錄和新的插曲/新的影片通知,讓您瞭解您所關注的內容,就像Flipboard一樣。","FAQ_05_H1":"Stremio與Popcorn Time相比如何?","FAQ_05_P1":"Stremio和Popcorn Time在使用者介面上很相似,因為沒有很多方法可以正確製作影片娛樂目錄:)","FAQ_05_P2":"Popcorn Time主要集中在特定來源的流媒體上,但Stremio是不受限制的,只是一個內容聚合器,它沒有鎖定到特定的內容源。","FAQ_05_P3":"此外,我們預設不提供任何Torrent外掛,因此Stremio不提供官方功能的Popcorn Time用例。","FAQ_05_P4":"另一個顯著的區別是Popcorn Time是完全開源的,而Stremio是${1}部分開源的${2}。","FAQ_06_H1":"是否要新增此電影/系列?","FAQ_06_P1":"不,對不起 :(","FAQ_06_P2":"正如大多數其他問題中提到的,Stremio本身不提供任何內容,所有內容都是透過外掛系統新增的。如果您有內容請求,您可以使用播放器中的“報告”按鈕,它將向您當前使用的外掛的作者傳送電子郵件。","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"能否為X建立外掛?","FAQ_08_P1":"完全有可能。","FAQ_08_P2":"如果您有一個外掛的想法,請在${1}office@stremio.com${2}給我們留言,但請確保您的外掛想法不會侵犯任何版權或使用條款。","FAQ_08_P3":"目前,我們路線圖上的下一件事是FandangoNOW,Filmon.tv video on demand和Crunchyroll的外掛。","FAQ_09_H1":"Stremio是否使用BitTorrent?","FAQ_09_P1":"是的,Stremio支援BitTorrent作為流媒體協議。您可以將其與Torrent外掛一起使用,也可以將.Torrent檔案拖放到Stremio中,或者將磁鐵連結貼上到搜尋欄中。","FAQ_09_P2":"請注意,使用BitTorrent的唯一官方外掛是${1}Vodo${2},它提供獨立內容,所有內容都允許與BitTorrent一起分發。","FAQ_09_P3":"我們不支援使用任何可能導致版權侵權的第三方外掛。","FAQ_10_H1":"我可以在Stremio中透過官方外掛觀看什麼節目?","FAQ_10_P1":"預設情況下,您可以在Stremio與它的嵌入式播放器觀看Filmon.tv,YouTube和Vodo的內容。另外,我們還有一個Twitch.tv外掛,以及其他一些外掛。","FAQ_10_P2":"此組合提供以下選項:","FAQ_10_L1":"Filmon.tv上的熱門電影片道,例如E4、BBC、Bollyworld TV","FAQ_10_L2":"YouTube上的所有內容,例如BBC News、Top Gear、Vevo、PewDiePie","FAQ_10_L3":"Vodo上的獨立電影","FAQ_10_L4":"Twitch.tv上的線上遊戲廣播","FAQ_10_P3":"此外,Guidebox和Netflix外掛提供了許多內容源,它們不完全在Stremio中播放,而是重定向到給定的服務。例如,Guidebox外掛將為您提供可在美國免費播放的精選電影,這些電影來自TubiTV和Crackle等服務。","FAQ_11_H1":"Stremio無法安裝,我該怎麼辦?","FAQ_11_P1":"如果您在Windows上,請嘗試${1}此替代安裝程式${2}。","FAQ_11_P2":"如果您使用的是Mac OS X,請注意,我們不支援任何比OS X Mavericks(10.9)更舊的版本。","FAQ_11_P3":"如果您使用的是Linux,請注意,我們目前只支援64位(x64)Linux。","FAQ_11_P4":"如果您仍然無法解決您的問題,請寫信給我們的${1}Facebook群組${2}。","FAQ_12_H1":"為什麼我的防毒軟體會報毒?Stremio安全嗎?","FAQ_12_P1":"我們向您保證Stremio是${1}100%安全的${2}。","FAQ_12_P2":"您的防毒軟體報毒是因為我們的安裝程式中包含廣告,一些防毒軟體將其識別為廣告軟體。","FAQ_12_P3":"如果您仍然不確定,可以嘗試我們的${1}替代安裝程式${2}。","FAQ_13_H1":"如何製作外掛?","FAQ_13_P1":"對於初學者,我們建議您檢視GitHub上的${1}外掛系統模組${2}。","FAQ_13_P2":"之後,您可以按照${1}Hello World教程${2}進行操作。","FAQ_13_P3":"如果您沒有任何程式設計技能,請在${1}Reddit社群${2}上釋出您的想法,並在${3}office@stremio.com${4}上與我們聯絡您的外掛想法。","FAQ_14_H1":"外掛是如何釋出的?","FAQ_14_P1":"當您建立一個外掛和主機,並在清單中放置一個指向工作外掛地址的終端節點欄位時,該外掛將自動釋出到我們的${1}外掛目錄${2}。","FAQ_14_P2":"發生這種情況是因為Stremio外掛模組的伺服器部分會自動呼叫我們的API來宣告外掛。當我們的API驗證您的終端節點為有效的外掛時,它將開始顯示在目錄中。","FAQ_15_H1":"我可以在瀏覽器中執行Stremio嗎?","FAQ_15_P1":"目前還沒有,但即將到來!","FAQ_15_P2":"如果您想看到Alpha版本,可以在這裡看到:${1}alpha4.strem.io${2}. 請記住,此Alpha版本上已禁用流式處理。我們支援Chrome、Firefox、Opera和Edge","FAQ_16_H1":"電視投屏不起作用/字幕不起作用","FAQ_16_P1":"電視投屏使用DLNA技術,這在不同的電視品牌和型號之間非常不一致。由於這個原因,我們沒有能力在每種情況下都測試它,所以它還遠遠不夠完美。儘管如此,我們仍在不斷改進,但我們無法為您提供DLNA能夠在您的電視上開始正常工作的預計時間。","FAQ_16_P2":"如果您在“投屏”選單中看不到您的電視,請嘗試禁用網路連線並重新啟用它(在Windows上,右鍵單擊網路並使用“啟用/禁用”),以及重新啟動路由器、電視和PC。","FAQ_16_P3":"如果您仍然遇到問題,您可以透過將您的電視品牌和型號資訊傳送到${1}來幫助我們”office@stremio.com${2}。","FAQ_16_P4":"同時,我們推薦Chromecast,我們非常支援Chromecast,或者直接用HDMI線將電視與PC連線。","FAQ_17_H1":"Stremio卡死和/或崩潰,我能做什麼?","FAQ_17_P1":"首先,如果您使用的是帶有AVG防毒軟體的Windows 7,這種組合會產生問題。問題出在AVG本身,我們這邊沒有合理的辦法解決。不幸的是,去除或禁用防毒軟體將不起作用。唯一的解決辦法是用別的東西代替AVG","FAQ_17_P2":"如果不是這個問題,但您仍在使用Windows,請更新到最新的service pack並更新/重新安裝您的GPU驅動程式,然後重試。","FAQ_17_P3":"如果您的問題仍未解決,或者您使用的是Mac或Linux,請寫信給我們,在${1}我們的Facebook群組${2}報告問題的確切細節。","FAQ_18_H1":"如何製作外掛?","FAQ_18_P1":"對於初學者,我們建議您檢視GitHub上的${1}外掛系統模組${2}。","FAQ_18_P2":"之後,您可以按照${1}Hello World教程${2}進行操作。","FAQ_18_P3":"如果您沒有任何程式設計技能,請在${1}Reddit社群${2}上釋出您的想法,並在${3}上與我們聯絡您的外掛想法。”office@stremio.com${4}。","FAQ_19_H1":"為什麼Stremio佔用磁碟空間?","FAQ_19_P1":"Stremio有一個本地快取來臨時儲存您流式傳輸的影片檔案。","FAQ_19_P2":"這有兩個好處:第一,它允許Stremio預先緩衝影片,以確保流媒體更流暢。其次,它將影片儲存在本地快取中,以便您可以繼續離線觀看。","FAQ_19_P3":"Stremio保留了多少取決於“設定”面板中的快取設定。Stremio可能會在您的磁碟上保留到設定的數量(例如2GB),除非當前流式傳輸的影片大於該數量,在這種情況下,必須分配足夠的儲存來保留它,直到您結束流式傳輸。","FAQ_20_H1":"快取資料夾在哪裡?","FAQ_20_P1":"在Windows上,Stremio快取位於您在設定中選擇的驅動器中(例如\\"E:\\\\stremio-cache\\")","FAQ_20_P2":"在MacOS上,它位於\\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"在Linux上,它位於\\"~/.stremio/stremio-cache\\"或\\"~/stremio-cache\\"","FAQ_21_H1":"我得到\\"流媒體伺服器未找到\\"錯誤,我能做什麼?","FAQ_21_P1":"如果出現此錯誤,則表示以下幾點之一:","FAQ_21_P2":"1)您正試圖透過我們的${1}web版本${2}使用一個由YouTube/BitTorrent原始碼支援的外掛。在這種情況下,您應該從${3}我們的網站${4}安裝我們的桌面版本","FAQ_21_P3":"2)Stremio安裝有問題。在這種情況下,請嘗試從${1}網站${2}重新安裝我們的最新桌面版本。如果這沒有幫助,請嘗試禁用防毒軟體和防火牆,重新啟動電腦,然後重試。如果這依然不起作用,請寫信給我們的${3}Facebook群組${4}","FAQ_22_H1":"我無法在iOS上看到/使用大多數外掛","FAQ_22_P1":"由於Apple App Store條款和條件中的限制,我們限制iOS應用程式只能使用一組特定的外掛。","FAQ_22_P2":"不過,請放心,將來會有更多的iOS外掛,我們還可能新增一個整合,透過將iOS應用程式連線到Stremio流媒體伺服器,您將可以使用所有Stremio外掛。"}')},96859:e=>{"use strict";e.exports=JSON.parse('[{"name":"العربية","codes":["ar-AR","ara"]},{"name":"български език","codes":["bg-BG","bul"]},{"name":"বাংলা","codes":["bn-Bd","ben"]},{"name":"català","codes":["ca-CA","cat"]},{"name":"čeština","codes":["cs-CZ","ces"]},{"name":"dansk","codes":["da-DK","dan"]},{"name":"Deutsch","codes":["de-DE","deu"]},{"name":"ελληνικά","codes":["el-GR","ell"]},{"name":"English","codes":["en-US","eng"]},{"name":"Esperanto","codes":["eo-EO","epo"]},{"name":"español","codes":["es-ES","spa"]},{"name":"euskara","codes":["eu-ES","eus"]},{"name":"فارسی","codes":["fa-IR","fas"]},{"name":"Français","codes":["fr-FR","fre"]},{"name":"עברית","codes":["he-IL","heb"]},{"name":"हिन्दी","codes":["hi-IN","hin"]},{"name":"hrvatski jezik","codes":["hr-HR","hrv"]},{"name":"magyar","codes":["hu-HU","hun"]},{"name":"Bahasa Indonesia","codes":["id-ID","ind"]},{"name":"italiano","codes":["it-IT","ita"]},{"name":"日本語 (にほんご)","codes":["ja-JP","jpn"]},{"name":"한국어","codes":["ko-KR","kor"]},{"name":"македонски јазик","codes":["mk-MK","mkd"]},{"name":"ဗမာစာ","codes":["my-BM","mya"]},{"name":"Norsk bokmål","codes":["nb-NO","nob"]},{"name":"Nederlands","codes":["nl-NL","nld"]},{"name":"Norsk nynorsk","codes":["nn-NO","nno"]},{"name":"język polski","codes":["pl-PL","pol"]},{"name":"português Brazil","codes":["pt-BR","por"]},{"name":"português","codes":["pt-PT","por"]},{"name":"русский язык","codes":["ru-RU","rus"]},{"name":"Svenska","codes":["sv-SE","swe"]},{"name":"slovenski jezik","codes":["sl-SL","slv"]},{"name":"српски језик","codes":["sr-RS","srp"]},{"name":"తెలుగు","codes":["te-IN","tel"]},{"name":"Türkçe","codes":["tr-TR","tur"]},{"name":"українська мова","codes":["uk-UA","ukr"]},{"name":"Tiếng Việt","codes":["vi-VN","vie"]},{"name":"中文(中华人民共和国)","codes":["zh-CN","zho"]},{"name":"中文(香港特别行政區)","codes":["zh-HK","zho"]},{"name":"中文(台灣)","codes":["zh-TW","zho"]}]')},293:e=>{"use strict";e.exports=JSON.parse('{"abk":"аҧсуа бызшәа","aar":"Afaraf","afr":"Afrikaans","aka":"Akan","sqi":"gjuha shqipe","amh":"አማርኛ","ara":"العربية","arg":"aragonés","hye":"Հայերեն","asm":"অসমীয়া","ava":"авар мацӀ","ave":"avesta","aym":"aymar aru","aze":"azərbaycan dili","bam":"bamanankan","bak":"башҡорт теле","eus":"euskara","bel":"беларуская мова","ben":"বাংলা","bih":"भोजपुरी","bis":"Bislama","bos":"bosanski jezik","bre":"brezhoneg","bul":"български език","mya":"ဗမာစာ","cat":"català","cha":"Chamoru","che":"нохчийн мотт","nya":"chiCheŵa","zho":"中文 (Zhōngwén)","chv":"чӑваш чӗлхи","cor":"Kernewek","cos":"corsu","cre":"ᓀᐦᐃᔭᐍᐏᐣ","hrv":"hrvatski jezik","ces":"čeština","dan":"dansk","div":"ދިވެހި","nld":"Nederlands","dzo":"རྫོང་ཁ","eng":"English","epo":"Esperanto","est":"eesti","ewe":"Eʋegbe","fao":"føroyskt","fij":"vosa Vakaviti","fin":"suomi","fre":"français","ful":"Fulfulde","glg":"galego","kat":"ქართული","ger":"Deutsch","ell":"ελληνικά","grn":"Avañe\'ẽ","guj":"ગુજરાતી","hat":"Kreyòl ayisyen","hau":"Hausa","heb":"עברית","her":"Otjiherero","hin":"हिन्दी","hmo":"Hiri Motu","hun":"magyar","ina":"Interlingua","ind":"Bahasa Indonesia","ile":"Interlingue","gle":"Gaeilge","ibo":"Asụsụ Igbo","ipk":"Iñupiaq","ido":"Ido","isl":"Íslenska","ita":"italiano","iku":"ᐃᓄᒃᑎᑐᑦ","jpn":"日本語 (にほんご)","jav":"basa Jawa","kal":"kalaallisut","kan":"ಕನ್ನಡ","kau":"Kanuri","kas":"कश्मीरी","kaz":"қазақ тілі","khm":"ខ្មែរ","kik":"Gĩkũyũ","kin":"Ikinyarwanda","kir":"Кыргызча","kom":"коми кыв","kon":"KiKongo","kor":"한국어 (韓國語)","kur":"Kurdî","kua":"Kuanyama","lat":"latine","ltz":"Lëtzebuergesch","lug":"Luganda","lim":"Limburgs","lin":"Lingála","lao":"ພາສາລາວ","lit":"lietuvių kalba","lub":"Tshiluba","lav":"latviešu valoda","glv":"Gaelg","mkd":"македонски јазик","mlg":"fiteny malagasy","msa":"bahasa Melayu","mal":"മലയാളം","mlt":"Malti","mri":"te reo Māori","mar":"मराठी","mah":"Kajin M̧ajeļ","mon":"монгол","nau":"Ekakairũ Naoero","nav":"Diné bizaad","nob":"Norsk bokmål","nde":"isiNdebele","nep":"नेपाली","ndo":"Owambo","nno":"Norsk nynorsk","nor":"Norsk","iii":"ꆈꌠ꒿ Nuosuhxop","nbl":"isiNdebele","oci":"occitan","oji":"ᐊᓂᔑᓈᐯᒧᐎᓐ","chu":"ѩзыкъ словѣньскъ","orm":"Afaan Oromoo","ori":"ଓଡ଼ିଆ","oss":"ирон æвзаг","pan":"ਪੰਜਾਬੀ","pli":"पाऴि","fas":"فارسی","pol":"język polski","pus":"پښتو","por":"português","pob":"português Brazil","que":"Runa Simi","roh":"rumantsch grischun","run":"Ikirundi","ron":"limba română","rus":"русский язык","san":"संस्कृतम्","srd":"sardu","snd":"सिन्धी","sme":"Davvisámegiella","smo":"gagana fa\'a Samoa","sag":"yângâ tî sängö","srp":"српски језик","gla":"Gàidhlig","sna":"chiShona","sin":"සිංහල","slk":"slovenčina","slv":"slovenski jezik","som":"Soomaaliga","sot":"Sesotho","spa":"español","sun":"Basa Sunda","swa":"Kiswahili","ssw":"SiSwati","swe":"Svenska","tam":"தமிழ்","tel":"తెలుగు","tgk":"тоҷикӣ","tha":"ไทย","tir":"ትግርኛ","bod":"བོད་ཡིག","tuk":"Türkmen","tgl":"Wikang Tagalog","tsn":"Setswana","ton":"faka Tonga","tur":"Türkçe","tso":"Xitsonga","tat":"татар теле","twi":"Twi","tah":"Reo Tahiti","uig":"Uyƣurqə","ukr":"українська мова","urd":"اردو","uzb":"O\'zbek","ven":"Tshivenḓa","vie":"Tiếng Việt","vol":"Volapük","wln":"walon","cym":"Cymraeg","wol":"Wollof","fry":"Frysk","xho":"isiXhosa","yid":"ייִדיש","yor":"Yorùbá","zha":"Saɯ cueŋƅ","zul":"isiZulu"}')}},i={};function o(e){var t=i[e];if(void 0!==t)return t.exports;var n=i[e]={id:e,loaded:!1,exports:{}};return a[e].call(n.exports,n,n.exports,o),n.loaded=!0,n.exports}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return r(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?r(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var a in t)o.o(t,a)&&!o.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},o.g=(function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}})(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;o.g.importScripts&&(e=o.g.location+"");var t=o.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var a=t.getElementsByTagName("script");if(a.length)for(var i=a.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=a[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e+"../../"})();var E,_=o(46880).parse((null===(e=window.navigator)||void 0===e?void 0:e.userAgent)||"");"desktop"===(null==_||null===(t=_.platform)||void 0===t?void 0:t.type)&&(null===(E=document.querySelector('meta[name="viewport"]'))||void 0===E||E.setAttribute("content",""));var T=o(96540),s=o(5338),S=o(35543),l=o(32389).initReactI18next,I=o(83713),A=o(92194),u=Object.fromEntries(Object.entries(I()).map((function(e){var t=n(e,2);return[t[0],{translation:t[1]}]})));S.use(l).init({resources:u,lng:"en-US",fallbackLng:"en-US",interpolation:{escapeValue:!1}}),s.createRoot(document.getElementById("app")).render(T.createElement(A,null)),"serviceWorker"in navigator&&window.addEventListener("load",(function(){navigator.serviceWorker.register("service-worker.js").catch((function(e){console.error("SW registration failed: ",e)}))}))})(); -//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/main.js.map b/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/main.js.map deleted file mode 100644 index 59ffb9e8a..000000000 --- a/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/main.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/main.js","mappings":"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","sources":["webpack://stremio/./node_modules/@stremio/stremio-core-web/bridge.js","webpack://stremio/./node_modules/@stremio/stremio-video/node_modules/eventemitter3/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/node_modules/punycode/punycode.js","webpack://stremio/./node_modules/@stremio/stremio-video/node_modules/url/url.js","webpack://stremio/./node_modules/@stremio/stremio-video/node_modules/url/util.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/ChromecastSenderVideo/ChromecastSenderVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/ChromecastSenderVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/HTMLVideo/HTMLVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/HTMLVideo/getContentType.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/HTMLVideo/hlsConfig.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/HTMLVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/IFrameVideo/IFrameVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/IFrameVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/ShellVideo/ShellVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/ShellVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/StremioVideo/StremioVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/StremioVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/StremioVideo/selectVideoImplementation.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/TitanVideo/TitanVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/TitanVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/TizenVideo/AVPlay.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/TizenVideo/TizenVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/TizenVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/VidaaVideo/VidaaVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/VidaaVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/WebOsVideo/WebOsVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/WebOsVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/YouTubeVideo/YouTubeVideo.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/YouTubeVideo/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/error.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/mediaCapabilities.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/platform.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/supportsTranscoding.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/tracksData.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/binarySearchUpperBound.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/subtitlesConverter.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/subtitlesParser.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/subtitlesRenderer.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withHTMLSubtitles/withHTMLSubtitles.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/convertStream.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/createTorrent.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/fetchVideoParams.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/isPlayerLoaded.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withStreamingServer/withStreamingServer.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withVideoParams/index.js","webpack://stremio/./node_modules/@stremio/stremio-video/src/withVideoParams/withVideoParams.js","webpack://stremio/./node_modules/a-color-picker/dist/acolorpicker.js","webpack://stremio/./node_modules/base64-js/index.js","webpack://stremio/./node_modules/bep53-range/index.js","webpack://stremio/./node_modules/bowser/es5.js","webpack://stremio/./node_modules/buffer/index.js","webpack://stremio/./node_modules/call-bind/callBound.js","webpack://stremio/./node_modules/call-bind/index.js","webpack://stremio/./node_modules/color-convert/conversions.js","webpack://stremio/./node_modules/color-convert/index.js","webpack://stremio/./node_modules/color-convert/route.js","webpack://stremio/./node_modules/color-name/index.js","webpack://stremio/./node_modules/color-string/index.js","webpack://stremio/./node_modules/color/index.js","webpack://stremio/./node_modules/deep-freeze/index.js","webpack://stremio/./node_modules/define-data-property/index.js","webpack://stremio/./node_modules/es-define-property/index.js","webpack://stremio/./node_modules/es-errors/eval.js","webpack://stremio/./node_modules/es-errors/index.js","webpack://stremio/./node_modules/es-errors/range.js","webpack://stremio/./node_modules/es-errors/ref.js","webpack://stremio/./node_modules/es-errors/syntax.js","webpack://stremio/./node_modules/es-errors/type.js","webpack://stremio/./node_modules/es-errors/uri.js","webpack://stremio/./node_modules/eventemitter3/index.js","webpack://stremio/./node_modules/filter-invalid-dom-props/dist/index.js","webpack://stremio/./node_modules/function-bind/implementation.js","webpack://stremio/./node_modules/function-bind/index.js","webpack://stremio/./node_modules/get-intrinsic/index.js","webpack://stremio/./node_modules/gopd/index.js","webpack://stremio/./node_modules/has-property-descriptors/index.js","webpack://stremio/./node_modules/has-proto/index.js","webpack://stremio/./node_modules/has-symbols/index.js","webpack://stremio/./node_modules/has-symbols/shams.js","webpack://stremio/./node_modules/hasown/index.js","webpack://stremio/./node_modules/hat/index.js","webpack://stremio/./node_modules/hls.js/dist/hls.js","webpack://stremio/./node_modules/i18next/dist/cjs/i18next.js","webpack://stremio/./node_modules/ieee754/index.js","webpack://stremio/./node_modules/langs/data.js","webpack://stremio/./node_modules/langs/index.js","webpack://stremio/./node_modules/lodash.clonedeep/index.js","webpack://stremio/./node_modules/lodash.debounce/index.js","webpack://stremio/./node_modules/lodash.intersection/index.js","webpack://stremio/./node_modules/lodash.isequal/index.js","webpack://stremio/./node_modules/lodash.throttle/index.js","webpack://stremio/./node_modules/magnet-uri/index.js","webpack://stremio/./src/App/ErrorDialog/styles.less?bdda","webpack://stremio/./src/App/UpdaterBanner/UpdaterBanner.less?e044","webpack://stremio/./src/App/styles.less?2fc6","webpack://stremio/./src/common/Toast/ToastItem/styles.less?002a","webpack://stremio/./src/common/Tooltips/Tooltip/styles.less?3dc8","webpack://stremio/./src/common/Tooltips/TooltipItem/styles.less?090d","webpack://stremio/./src/components/AddonDetailsModal/AddonDetails/styles.less?24be","webpack://stremio/./src/components/AddonDetailsModal/styles.less?6632","webpack://stremio/./src/components/BottomSheet/BottomSheet.less?7e55","webpack://stremio/./src/components/Button/Button.less?1b69","webpack://stremio/./src/components/Checkbox/Checkbox.less?11f8","webpack://stremio/./src/components/Chips/Chip/Chip.less?b0a5","webpack://stremio/./src/components/Chips/Chips.less?dc18","webpack://stremio/./src/components/ColorInput/ColorInput.less?7606","webpack://stremio/./src/components/ColorInput/ColorPicker/styles.less?ac50","webpack://stremio/./src/components/ContextMenu/ContextMenu.less?d79f","webpack://stremio/./src/components/EventModal/styles.less?679f","webpack://stremio/./src/components/HorizontalScroll/HorizontalScroll.less?7600","webpack://stremio/./src/components/MainNavBars/MainNavBars.less?9f87","webpack://stremio/./src/components/MetaItem/styles.less?1173","webpack://stremio/./src/components/MetaPreview/ActionButton/styles.less?9b89","webpack://stremio/./src/components/MetaPreview/MetaLinks/styles.less?0372","webpack://stremio/./src/components/MetaPreview/MetaPreviewPlaceholder/styles.less?47e3","webpack://stremio/./src/components/MetaPreview/Ratings/Ratings.less?f77d","webpack://stremio/./src/components/MetaPreview/styles.less?c205","webpack://stremio/./src/components/MetaRow/MetaRowPlaceholder/styles.less?adce","webpack://stremio/./src/components/MetaRow/styles.less?2af3","webpack://stremio/./src/components/ModalDialog/styles.less?dc2b","webpack://stremio/./src/components/Multiselect/styles.less?90b6","webpack://stremio/./src/components/MultiselectMenu/Dropdown/Dropdown.less?89bd","webpack://stremio/./src/components/MultiselectMenu/Dropdown/Option/Option.less?6e77","webpack://stremio/./src/components/MultiselectMenu/MultiselectMenu.less?8bfe","webpack://stremio/./src/components/NavBar/HorizontalNavBar/NavMenu/styles.less?63e9","webpack://stremio/./src/components/NavBar/HorizontalNavBar/SearchBar/styles.less?3940","webpack://stremio/./src/components/NavBar/HorizontalNavBar/styles.less?7e02","webpack://stremio/./src/components/NavBar/VerticalNavBar/NavTabButton/styles.less?3a0c","webpack://stremio/./src/components/NavBar/VerticalNavBar/styles.less?2648","webpack://stremio/./src/components/NumberInput/NumberInput.less?6e75","webpack://stremio/./src/components/Popup/styles.less?32f1","webpack://stremio/./src/components/RadioButton/RadioButton.less?cbf2","webpack://stremio/./src/components/SearchBar/SearchBarPlaceholder/styles.less?4711","webpack://stremio/./src/components/SearchBar/styles.less?d015","webpack://stremio/./src/components/SharePrompt/styles.less?423c","webpack://stremio/./src/components/Slider/styles.less?8631","webpack://stremio/./src/components/TextInput/styles.less?8480","webpack://stremio/./src/components/Toggle/Toggle.less?c464","webpack://stremio/./src/components/Video/VideoPlaceholder/styles.less?604f","webpack://stremio/./src/components/Video/styles.less?6067","webpack://stremio/./src/routes/Addons/Addon/styles.less?3394","webpack://stremio/./src/routes/Addons/AddonPlaceholder/AddonPlaceholder.less?6868","webpack://stremio/./src/routes/Addons/styles.less?53c3","webpack://stremio/./src/routes/Board/StreamingServerWarning/StreamingServerWarning.less?4b35","webpack://stremio/./src/routes/Board/styles.less?9463","webpack://stremio/./src/routes/Calendar/Calendar.less?a56c","webpack://stremio/./src/routes/Calendar/Details/Details.less?5f92","webpack://stremio/./src/routes/Calendar/List/Item/Item.less?695f","webpack://stremio/./src/routes/Calendar/List/List.less?b61e","webpack://stremio/./src/routes/Calendar/Placeholder/Placeholder.less?af26","webpack://stremio/./src/routes/Calendar/Selector/Selector.less?dfc0","webpack://stremio/./src/routes/Calendar/Table/Cell/Cell.less?2844","webpack://stremio/./src/routes/Calendar/Table/Table.less?ba3e","webpack://stremio/./src/routes/Discover/styles.less?aa8f","webpack://stremio/./src/routes/Intro/PasswordResetModal/styles.less?2482","webpack://stremio/./src/routes/Intro/styles.less?84ff","webpack://stremio/./src/routes/Library/Placeholder/Placeholder.less?a106","webpack://stremio/./src/routes/Library/styles.less?ec8a","webpack://stremio/./src/routes/MetaDetails/EpisodePicker/EpisodePicker.less?41c3","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/PlayIconCircleCentered/styles.less?b692","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/styles.less?0355","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/styles.less?60a9","webpack://stremio/./src/routes/MetaDetails/StreamsList/styles.less?c486","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBarPlaceholder/styles.less?f229","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/styles.less?9cc2","webpack://stremio/./src/routes/MetaDetails/VideosList/styles.less?adc2","webpack://stremio/./src/routes/MetaDetails/styles.less?1769","webpack://stremio/./src/routes/NotFound/styles.less?d352","webpack://stremio/./src/routes/Player/AudioMenu/AudioMenu.less?4075","webpack://stremio/./src/routes/Player/BufferingLoader/styles.less?2e77","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/styles.less?ead1","webpack://stremio/./src/routes/Player/ControlBar/VolumeSlider/styles.less?e5e5","webpack://stremio/./src/routes/Player/ControlBar/styles.less?b642","webpack://stremio/./src/routes/Player/Error/styles.less?3607","webpack://stremio/./src/routes/Player/Indicator/Indicator.less?32a3","webpack://stremio/./src/routes/Player/NextVideoPopup/styles.less?64fa","webpack://stremio/./src/routes/Player/OptionsMenu/Option/styles.less?8a71","webpack://stremio/./src/routes/Player/OptionsMenu/styles.less?5aef","webpack://stremio/./src/routes/Player/SideDrawer/SideDrawer.less?ed50","webpack://stremio/./src/routes/Player/SideDrawerButton/SideDrawerButton.less?c881","webpack://stremio/./src/routes/Player/SpeedMenu/Option/styles.less?e790","webpack://stremio/./src/routes/Player/SpeedMenu/styles.less?48c1","webpack://stremio/./src/routes/Player/StatisticsMenu/styles.less?e9f9","webpack://stremio/./src/routes/Player/SubtitlesMenu/Stepper/Stepper.less?f1de","webpack://stremio/./src/routes/Player/SubtitlesMenu/styles.less?9817","webpack://stremio/./src/routes/Player/Video/styles.less?7706","webpack://stremio/./src/routes/Player/VolumeChangeIndicator/styles.less?826b","webpack://stremio/./src/routes/Player/styles.less?837e","webpack://stremio/./src/routes/Search/styles.less?ed4d","webpack://stremio/./src/routes/Settings/General/General.less?e12e","webpack://stremio/./src/routes/Settings/General/User/User.less?980d","webpack://stremio/./src/routes/Settings/Info/Info.less?4bf1","webpack://stremio/./src/routes/Settings/Menu/Menu.less?f857","webpack://stremio/./src/routes/Settings/Settings.less?d691","webpack://stremio/./src/routes/Settings/Shortcuts/Shortcuts.less?2472","webpack://stremio/./src/routes/Settings/Streaming/Streaming.less?dc1b","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/AddItem/AddItem.less?41fe","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/Item/Item.less?807d","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/URLsManager.less?1ce8","webpack://stremio/./src/routes/Settings/components/Category/Category.less?350c","webpack://stremio/./src/routes/Settings/components/Link/Link.less?7a6a","webpack://stremio/./src/routes/Settings/components/Option/Option.less?3be3","webpack://stremio/./src/routes/Settings/components/Section/Section.less?4146","webpack://stremio/./node_modules/object-inspect/index.js","webpack://stremio/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://stremio/./node_modules/prop-types/index.js","webpack://stremio/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://stremio/./node_modules/punycode/punycode.js","webpack://stremio/./node_modules/qs/lib/formats.js","webpack://stremio/./node_modules/qs/lib/index.js","webpack://stremio/./node_modules/qs/lib/parse.js","webpack://stremio/./node_modules/qs/lib/stringify.js","webpack://stremio/./node_modules/qs/lib/utils.js","webpack://stremio/./node_modules/querystring/decode.js","webpack://stremio/./node_modules/querystring/encode.js","webpack://stremio/./node_modules/querystring/index.js","webpack://stremio/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://stremio/./node_modules/react-dom/client.js","webpack://stremio/./node_modules/react-dom/index.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/constants.js","webpack://stremio/./node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack://stremio/./node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack://stremio/./node_modules/use-callback-ref/dist/es2015/useRef.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack://stremio/./node_modules/tslib/tslib.es6.mjs","webpack://stremio/./node_modules/use-sidecar/dist/es2015/medium.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/medium.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/scope.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/Lock.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://stremio/./node_modules/react-clientside-effect/lib/index.es.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/array.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/is.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/getActiveElement.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/safe.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/focusInside.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/commands.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/correctFocus.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/solver.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/auto-focus.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/utils/parenting.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/focusSolver.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/moveFocusInside.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/return-focus.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/sibling.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/util.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/Trap.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack://stremio/./node_modules/focus-lock/dist/es2015/focusables.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/Combination.js","webpack://stremio/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://stremio/./node_modules/react-focus-lock/dist/es2015/index.js","webpack://stremio/./node_modules/react-is/cjs/react-is.production.min.js","webpack://stremio/./node_modules/react-is/index.js","webpack://stremio/./node_modules/react/cjs/react.production.min.js","webpack://stremio/./node_modules/react/index.js","webpack://stremio/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://stremio/./node_modules/scheduler/index.js","webpack://stremio/./node_modules/set-function-length/index.js","webpack://stremio/./node_modules/side-channel/index.js","webpack://stremio/./node_modules/simple-swizzle/index.js","webpack://stremio/./node_modules/simple-swizzle/node_modules/is-arrayish/index.js","webpack://stremio/./node_modules/spatial-navigation-polyfill/polyfill/spatial-navigation-polyfill.js","webpack://stremio/./node_modules/stremio-translations/index.js","webpack://stremio/./node_modules/thirty-two/lib/thirty-two/index.js","webpack://stremio/./node_modules/thirty-two/lib/thirty-two/thirty-two.js","webpack://stremio/./src/App/App.js","webpack://stremio/./src/App/DeepLinkHandler.js","webpack://stremio/./src/App/ErrorDialog/ErrorDialog.js","webpack://stremio/./src/App/ErrorDialog/index.js","webpack://stremio/./src/App/SearchParamsHandler.js","webpack://stremio/./src/App/ServicesToaster.js","webpack://stremio/./src/App/index.js","webpack://stremio/./src/App/routerViewsConfig.js","webpack://stremio/./src/App/withProtectedRoutes.js","webpack://stremio/./src/common/CONSTANTS.js","webpack://stremio/./src/common/CoreSuspender.js","webpack://stremio/./src/common/Toast/ToastContext.js","webpack://stremio/./src/common/Toast/ToastItem/ToastItem.js","webpack://stremio/./src/common/Toast/ToastItem/index.js","webpack://stremio/./src/common/Toast/ToastProvider.js","webpack://stremio/./src/common/Toast/index.js","webpack://stremio/./src/common/Toast/useToast.js","webpack://stremio/./src/common/Tooltips/Tooltip/Tooltip.js","webpack://stremio/./src/common/Tooltips/Tooltip/index.js","webpack://stremio/./src/common/Tooltips/TooltipContext.js","webpack://stremio/./src/common/Tooltips/TooltipItem/TooltipItem.js","webpack://stremio/./src/common/Tooltips/TooltipItem/index.js","webpack://stremio/./src/common/Tooltips/TooltipProvider.js","webpack://stremio/./src/common/Tooltips/index.js","webpack://stremio/./src/common/Tooltips/useTooltip.js","webpack://stremio/./src/common/comparatorWithPriorities.js","webpack://stremio/./src/common/getVisibleChildrenRange.js","webpack://stremio/./src/common/index.js","webpack://stremio/./src/common/routesRegexp.js","webpack://stremio/./src/common/useAnimationFrame.js","webpack://stremio/./src/common/useBinaryState.js","webpack://stremio/./src/common/useLiveRef.js","webpack://stremio/./src/common/useModelState.js","webpack://stremio/./src/common/useNotifications.js","webpack://stremio/./src/common/useOnScrollToBottom.js","webpack://stremio/./src/common/usePWA.js","webpack://stremio/./src/common/useProfile.js","webpack://stremio/./src/common/useStreamingServer.js","webpack://stremio/./src/common/useTorrent.js","webpack://stremio/./src/common/useTranslate.js","webpack://stremio/./src/components/AddonDetailsModal/AddonDetails/AddonDetails.js","webpack://stremio/./src/components/AddonDetailsModal/AddonDetails/index.js","webpack://stremio/./src/components/AddonDetailsModal/AddonDetailsModal.js","webpack://stremio/./src/components/AddonDetailsModal/index.js","webpack://stremio/./src/components/AddonDetailsModal/useAddonDetails.js","webpack://stremio/./src/components/ColorInput/ColorPicker/ColorPicker.js","webpack://stremio/./src/components/ColorInput/ColorPicker/index.js","webpack://stremio/./src/components/ContinueWatchingItem/ContinueWatchingItem.js","webpack://stremio/./src/components/ContinueWatchingItem/index.js","webpack://stremio/./src/components/DelayedRenderer/DelayedRenderer.js","webpack://stremio/./src/components/DelayedRenderer/index.js","webpack://stremio/./src/components/EventModal/EventModal.js","webpack://stremio/./src/components/EventModal/index.js","webpack://stremio/./src/components/EventModal/useEvents.js","webpack://stremio/./src/components/LibItem/LibItem.js","webpack://stremio/./src/components/LibItem/index.js","webpack://stremio/./src/components/MetaItem/MetaItem.js","webpack://stremio/./src/components/MetaItem/index.js","webpack://stremio/./src/components/MetaPreview/ActionButton/ActionButton.js","webpack://stremio/./src/components/MetaPreview/ActionButton/index.js","webpack://stremio/./src/components/MetaPreview/MetaLinks/MetaLinks.js","webpack://stremio/./src/components/MetaPreview/MetaLinks/index.js","webpack://stremio/./src/components/MetaPreview/MetaPreview.js","webpack://stremio/./src/components/MetaPreview/MetaPreviewPlaceholder/MetaPreviewPlaceholder.js","webpack://stremio/./src/components/MetaPreview/MetaPreviewPlaceholder/index.js","webpack://stremio/./src/components/MetaPreview/index.js","webpack://stremio/./src/components/MetaRow/MetaRow.js","webpack://stremio/./src/components/MetaRow/MetaRowPlaceholder/MetaRowPlaceholder.js","webpack://stremio/./src/components/MetaRow/MetaRowPlaceholder/index.js","webpack://stremio/./src/components/MetaRow/index.js","webpack://stremio/./src/components/ModalDialog/ModalDialog.js","webpack://stremio/./src/components/ModalDialog/index.js","webpack://stremio/./src/components/Multiselect/Multiselect.js","webpack://stremio/./src/components/Multiselect/index.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/HorizontalNavBar.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/NavMenu/NavMenu.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/NavMenu/NavMenuContent.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/NavMenu/index.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/SearchBar/SearchBar.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/SearchBar/index.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/SearchBar/useLocalSearch.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/SearchBar/useSearchHistory.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/index.js","webpack://stremio/./src/components/NavBar/VerticalNavBar/NavTabButton/NavTabButton.js","webpack://stremio/./src/components/NavBar/VerticalNavBar/NavTabButton/index.js","webpack://stremio/./src/components/NavBar/VerticalNavBar/VerticalNavBar.js","webpack://stremio/./src/components/NavBar/VerticalNavBar/index.js","webpack://stremio/./src/components/NavBar/index.js","webpack://stremio/./src/components/Popup/Popup.js","webpack://stremio/./src/components/Popup/index.js","webpack://stremio/./src/components/SearchBar/SearchBar.js","webpack://stremio/./src/components/SearchBar/SearchBarPlaceholder/SearchBarPlaceholder.js","webpack://stremio/./src/components/SearchBar/SearchBarPlaceholder/index.js","webpack://stremio/./src/components/SearchBar/index.js","webpack://stremio/./src/components/SharePrompt/SharePrompt.js","webpack://stremio/./src/components/SharePrompt/index.js","webpack://stremio/./src/components/Slider/Slider.js","webpack://stremio/./src/components/Slider/index.js","webpack://stremio/./src/components/Video/Video.js","webpack://stremio/./src/components/Video/VideoPlaceholder/VideoPlaceholder.js","webpack://stremio/./src/components/Video/VideoPlaceholder/index.js","webpack://stremio/./src/components/Video/index.js","webpack://stremio/./src/router/Modal/Modal.js","webpack://stremio/./src/router/Modal/index.js","webpack://stremio/./src/router/ModalsContainerContext/ModalsContainerContext.js","webpack://stremio/./src/router/ModalsContainerContext/ModalsContainerProvider.js","webpack://stremio/./src/router/ModalsContainerContext/index.js","webpack://stremio/./src/router/ModalsContainerContext/useModalsContainer.js","webpack://stremio/./src/router/Route/Route.js","webpack://stremio/./src/router/Route/index.js","webpack://stremio/./src/router/RouteFocusedContext/RouteFocusedContext.js","webpack://stremio/./src/router/RouteFocusedContext/index.js","webpack://stremio/./src/router/RouteFocusedContext/useRouteFocused.js","webpack://stremio/./src/router/Router/Router.js","webpack://stremio/./src/router/Router/index.js","webpack://stremio/./src/router/Router/routeConfigForPath.js","webpack://stremio/./src/router/Router/urlParamsForPath.js","webpack://stremio/./src/router/index.js","webpack://stremio/./src/routes/Addons/Addon/Addon.js","webpack://stremio/./src/routes/Addons/Addon/index.js","webpack://stremio/./src/routes/Addons/Addons.js","webpack://stremio/./src/routes/Addons/index.js","webpack://stremio/./src/routes/Addons/useAddonDetailsTransportUrl.js","webpack://stremio/./src/routes/Addons/useInstalledAddons.js","webpack://stremio/./src/routes/Addons/useRemoteAddons.js","webpack://stremio/./src/routes/Addons/useSelectableInputs.js","webpack://stremio/./src/routes/Board/Board.js","webpack://stremio/./src/routes/Board/index.js","webpack://stremio/./src/routes/Board/useBoard.js","webpack://stremio/./src/routes/Board/useContinueWatchingPreview.js","webpack://stremio/./src/routes/Discover/Discover.js","webpack://stremio/./src/routes/Discover/index.js","webpack://stremio/./src/routes/Discover/useDiscover.js","webpack://stremio/./src/routes/Discover/useSelectableInputs.js","webpack://stremio/./src/routes/Intro/CredentialsTextInput/CredentialsTextInput.js","webpack://stremio/./src/routes/Intro/CredentialsTextInput/index.js","webpack://stremio/./src/routes/Intro/Intro.js","webpack://stremio/./src/routes/Intro/PasswordResetModal/PasswordResetModal.js","webpack://stremio/./src/routes/Intro/PasswordResetModal/index.js","webpack://stremio/./src/routes/Intro/index.js","webpack://stremio/./src/routes/Library/Library.js","webpack://stremio/./src/routes/Library/index.js","webpack://stremio/./src/routes/Library/useLibrary.js","webpack://stremio/./src/routes/Library/useSelectableInputs.js","webpack://stremio/./src/routes/MetaDetails/MetaDetails.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/Stream.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/PlayIconCircleCentered/PlayIconCircleCentered.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/PlayIconCircleCentered/index.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/StreamPlaceholder.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/index.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/index.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/StreamsList.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/index.js","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBar.js","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBarPlaceholder/SeasonsBarPlaceholder.js","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBarPlaceholder/index.js","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/index.js","webpack://stremio/./src/routes/MetaDetails/VideosList/VideosList.js","webpack://stremio/./src/routes/MetaDetails/VideosList/index.js","webpack://stremio/./src/routes/MetaDetails/index.js","webpack://stremio/./src/routes/MetaDetails/useMetaDetails.js","webpack://stremio/./src/routes/MetaDetails/useMetaExtensionTabs.js","webpack://stremio/./src/routes/MetaDetails/useSeason.js","webpack://stremio/./src/routes/NotFound/NotFound.js","webpack://stremio/./src/routes/NotFound/index.js","webpack://stremio/./src/routes/Player/BufferingLoader/BufferingLoader.js","webpack://stremio/./src/routes/Player/BufferingLoader/index.js","webpack://stremio/./src/routes/Player/ControlBar/ControlBar.js","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/SeekBar.js","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/formatTime.js","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/index.js","webpack://stremio/./src/routes/Player/ControlBar/VolumeSlider/VolumeSlider.js","webpack://stremio/./src/routes/Player/ControlBar/VolumeSlider/index.js","webpack://stremio/./src/routes/Player/ControlBar/index.js","webpack://stremio/./src/routes/Player/Error/Error.js","webpack://stremio/./src/routes/Player/Error/index.js","webpack://stremio/./src/routes/Player/NextVideoPopup/NextVideoPopup.js","webpack://stremio/./src/routes/Player/NextVideoPopup/index.js","webpack://stremio/./src/routes/Player/OptionsMenu/Option/Option.js","webpack://stremio/./src/routes/Player/OptionsMenu/Option/index.js","webpack://stremio/./src/routes/Player/OptionsMenu/OptionsMenu.js","webpack://stremio/./src/routes/Player/OptionsMenu/index.js","webpack://stremio/./src/routes/Player/Player.js","webpack://stremio/./src/routes/Player/SpeedMenu/Option/Option.js","webpack://stremio/./src/routes/Player/SpeedMenu/Option/index.js","webpack://stremio/./src/routes/Player/SpeedMenu/SpeedMenu.js","webpack://stremio/./src/routes/Player/SpeedMenu/index.js","webpack://stremio/./src/routes/Player/StatisticsMenu/StatisticsMenu.js","webpack://stremio/./src/routes/Player/StatisticsMenu/index.js","webpack://stremio/./src/routes/Player/SubtitlesMenu/SubtitlesMenu.js","webpack://stremio/./src/routes/Player/SubtitlesMenu/index.js","webpack://stremio/./src/routes/Player/Video/Video.js","webpack://stremio/./src/routes/Player/Video/index.js","webpack://stremio/./src/routes/Player/VolumeChangeIndicator/VolumeChangeIndicator.js","webpack://stremio/./src/routes/Player/VolumeChangeIndicator/index.js","webpack://stremio/./src/routes/Player/index.js","webpack://stremio/./src/routes/Player/usePlayer.js","webpack://stremio/./src/routes/Player/useStatistics.js","webpack://stremio/./src/routes/Player/useVideo.js","webpack://stremio/./src/routes/Search/Search.js","webpack://stremio/./src/routes/Search/index.js","webpack://stremio/./src/routes/Search/useSearch.js","webpack://stremio/./src/routes/Settings/General/useDataExport.js","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/useStreamingServerUrls.js","webpack://stremio/./src/routes/index.js","webpack://stremio/./src/services/Chromecast/Chromecast.js","webpack://stremio/./src/services/Chromecast/ChromecastTransport.js","webpack://stremio/./src/services/Chromecast/index.js","webpack://stremio/./src/services/Core/Core.js","webpack://stremio/./src/services/Core/CoreTransport.js","webpack://stremio/./src/services/Core/index.js","webpack://stremio/./src/services/DragAndDrop/DragAndDrop.js","webpack://stremio/./src/services/DragAndDrop/index.js","webpack://stremio/./src/services/KeyboardShortcuts/KeyboardShortcuts.js","webpack://stremio/./src/services/KeyboardShortcuts/index.js","webpack://stremio/./src/services/ServicesContext/ServicesContext.js","webpack://stremio/./src/services/ServicesContext/ServicesProvider.js","webpack://stremio/./src/services/ServicesContext/index.js","webpack://stremio/./src/services/ServicesContext/useServices.js","webpack://stremio/./src/services/Shell/Shell.js","webpack://stremio/./src/services/Shell/ShellTransport.js","webpack://stremio/./src/services/Shell/index.js","webpack://stremio/./src/services/index.js","webpack://stremio/./src/App/UpdaterBanner/UpdaterBanner.tsx","webpack://stremio/./src/App/UpdaterBanner/index.ts","webpack://stremio/./src/common/FileDrop/FileDrop.tsx","webpack://stremio/./src/common/FileDrop/index.ts","webpack://stremio/./src/common/FileDrop/onFileDrop.ts","webpack://stremio/./src/common/FileDrop/utils.ts","webpack://stremio/./src/common/Platform/Platform.tsx","webpack://stremio/./src/common/Platform/device.ts","webpack://stremio/./src/common/Platform/index.ts","webpack://stremio/./src/common/languages.ts","webpack://stremio/./src/common/useFullscreen.ts","webpack://stremio/./src/common/useInterval.ts","webpack://stremio/./src/common/useLanguageSorting.ts","webpack://stremio/./src/common/useOrientation.ts","webpack://stremio/./src/common/useOutsideClick.ts","webpack://stremio/./src/common/useSettings.ts","webpack://stremio/./src/common/useShell.ts","webpack://stremio/./src/common/useTimeout.ts","webpack://stremio/./src/components/BottomSheet/BottomSheet.tsx","webpack://stremio/./src/components/BottomSheet/index.ts","webpack://stremio/./src/components/Button/Button.tsx","webpack://stremio/./src/components/Button/index.ts","webpack://stremio/./src/components/Checkbox/Checkbox.tsx","webpack://stremio/./src/components/Checkbox/index.ts","webpack://stremio/./src/components/Chips/Chip/Chip.tsx","webpack://stremio/./src/components/Chips/Chip/index.ts","webpack://stremio/./src/components/Chips/Chips.tsx","webpack://stremio/./src/components/Chips/index.ts","webpack://stremio/./src/components/ColorInput/ColorInput.tsx","webpack://stremio/./src/components/ColorInput/index.ts","webpack://stremio/./src/components/ContextMenu/ContextMenu.tsx","webpack://stremio/./src/components/ContextMenu/index.ts","webpack://stremio/./src/components/HorizontalScroll/HorizontalScroll.tsx","webpack://stremio/./src/components/HorizontalScroll/index.ts","webpack://stremio/./src/components/Image/Image.tsx","webpack://stremio/./src/components/Image/index.ts","webpack://stremio/./src/components/MainNavBars/MainNavBars.tsx","webpack://stremio/./src/components/MainNavBars/index.ts","webpack://stremio/./src/components/MetaPreview/Ratings/Ratings.tsx","webpack://stremio/./src/components/MetaPreview/Ratings/index.ts","webpack://stremio/./src/components/MetaPreview/Ratings/useRating.ts","webpack://stremio/./src/components/MultiselectMenu/Dropdown/Dropdown.tsx","webpack://stremio/./src/components/MultiselectMenu/Dropdown/Option/Option.tsx","webpack://stremio/./src/components/MultiselectMenu/Dropdown/Option/index.ts","webpack://stremio/./src/components/MultiselectMenu/Dropdown/index.ts","webpack://stremio/./src/components/MultiselectMenu/MultiselectMenu.tsx","webpack://stremio/./src/components/MultiselectMenu/index.ts","webpack://stremio/./src/components/NumberInput/NumberInput.tsx","webpack://stremio/./src/components/NumberInput/index.ts","webpack://stremio/./src/components/RadioButton/RadioButton.tsx","webpack://stremio/./src/components/RadioButton/index.ts","webpack://stremio/./src/components/TextInput/TextInput.tsx","webpack://stremio/./src/components/TextInput/index.ts","webpack://stremio/./src/components/Toggle/Toggle.tsx","webpack://stremio/./src/components/Toggle/index.ts","webpack://stremio/./src/components/Transition/Transition.tsx","webpack://stremio/./src/components/Transition/index.ts","webpack://stremio/./src/components/index.ts","webpack://stremio/./src/routes/Addons/AddonPlaceholder/AddonPlaceholder.tsx","webpack://stremio/./src/routes/Addons/AddonPlaceholder/index.ts","webpack://stremio/./src/routes/Board/StreamingServerWarning/StreamingServerWarning.tsx","webpack://stremio/./src/routes/Board/StreamingServerWarning/index.ts","webpack://stremio/./src/routes/Calendar/Calendar.tsx","webpack://stremio/./src/routes/Calendar/Details/Details.tsx","webpack://stremio/./src/routes/Calendar/Details/index.ts","webpack://stremio/./src/routes/Calendar/List/Item/Item.tsx","webpack://stremio/./src/routes/Calendar/List/Item/ItemPlaceholder.tsx","webpack://stremio/./src/routes/Calendar/List/Item/index.ts","webpack://stremio/./src/routes/Calendar/List/List.tsx","webpack://stremio/./src/routes/Calendar/List/index.ts","webpack://stremio/./src/routes/Calendar/Placeholder/Placeholder.tsx","webpack://stremio/./src/routes/Calendar/Placeholder/index.ts","webpack://stremio/./src/routes/Calendar/Selector/Selector.tsx","webpack://stremio/./src/routes/Calendar/Selector/index.ts","webpack://stremio/./src/routes/Calendar/Table/Cell/Cell.tsx","webpack://stremio/./src/routes/Calendar/Table/Table.tsx","webpack://stremio/./src/routes/Calendar/Table/index.ts","webpack://stremio/./src/routes/Calendar/index.ts","webpack://stremio/./src/routes/Calendar/useCalendar.ts","webpack://stremio/./src/routes/Calendar/useCalendarDate.ts","webpack://stremio/./src/routes/Intro/useAppleLogin.ts","webpack://stremio/./src/routes/Intro/useFacebookLogin.ts","webpack://stremio/./src/routes/Library/Placeholder/Placeholder.tsx","webpack://stremio/./src/routes/Library/Placeholder/index.ts","webpack://stremio/./src/routes/MetaDetails/EpisodePicker/EpisodePicker.tsx","webpack://stremio/./src/routes/MetaDetails/EpisodePicker/index.ts","webpack://stremio/./src/routes/Player/AudioMenu/AudioMenu.tsx","webpack://stremio/./src/routes/Player/AudioMenu/index.ts","webpack://stremio/./src/routes/Player/Indicator/Indicator.tsx","webpack://stremio/./src/routes/Player/SideDrawer/SideDrawer.tsx","webpack://stremio/./src/routes/Player/SideDrawer/index.ts","webpack://stremio/./src/routes/Player/SideDrawerButton/SideDrawerButton.tsx","webpack://stremio/./src/routes/Player/SideDrawerButton/index.ts","webpack://stremio/./src/routes/Player/SubtitlesMenu/Stepper/Stepper.tsx","webpack://stremio/./src/routes/Player/SubtitlesMenu/Stepper/index.ts","webpack://stremio/./src/routes/Settings/General/General.tsx","webpack://stremio/./src/routes/Settings/General/User/User.tsx","webpack://stremio/./src/routes/Settings/General/User/index.ts","webpack://stremio/./src/routes/Settings/General/index.ts","webpack://stremio/./src/routes/Settings/General/useGeneralOptions.ts","webpack://stremio/./src/routes/Settings/Info/Info.tsx","webpack://stremio/./src/routes/Settings/Info/index.ts","webpack://stremio/./src/routes/Settings/Menu/Menu.tsx","webpack://stremio/./src/routes/Settings/Menu/index.ts","webpack://stremio/./src/routes/Settings/Player/Player.tsx","webpack://stremio/./src/routes/Settings/Player/index.ts","webpack://stremio/./src/routes/Settings/Player/usePlayerOptions.ts","webpack://stremio/./src/routes/Settings/Settings.tsx","webpack://stremio/./src/routes/Settings/Shortcuts/Shortcuts.tsx","webpack://stremio/./src/routes/Settings/Shortcuts/index.ts","webpack://stremio/./src/routes/Settings/Streaming/Streaming.tsx","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/AddItem/AddItem.tsx","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/AddItem/index.ts","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/Item/Item.tsx","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/Item/index.ts","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/URLsManager.tsx","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/index.ts","webpack://stremio/./src/routes/Settings/Streaming/index.ts","webpack://stremio/./src/routes/Settings/Streaming/useStreamingOptions.ts","webpack://stremio/./src/routes/Settings/components/Category/Category.tsx","webpack://stremio/./src/routes/Settings/components/Category/index.ts","webpack://stremio/./src/routes/Settings/components/Link/Link.tsx","webpack://stremio/./src/routes/Settings/components/Link/index.ts","webpack://stremio/./src/routes/Settings/components/Option/Option.tsx","webpack://stremio/./src/routes/Settings/components/Option/index.ts","webpack://stremio/./src/routes/Settings/components/Section/Section.tsx","webpack://stremio/./src/routes/Settings/components/Section/index.ts","webpack://stremio/./src/routes/Settings/components/index.ts","webpack://stremio/./src/routes/Settings/constants.ts","webpack://stremio/./src/routes/Settings/index.ts","webpack://stremio/./node_modules/url/url.js","webpack://stremio/./node_modules/use-long-press/index.js","webpack://stremio/./node_modules/void-elements/index.js","webpack://stremio/./node_modules/vtt.js/lib/index.js","webpack://stremio/./node_modules/vtt.js/lib/vtt.js","webpack://stremio/./node_modules/vtt.js/lib/vttcue-extended.js","webpack://stremio/./node_modules/vtt.js/lib/vttcue.js","webpack://stremio/./node_modules/vtt.js/lib/vttregion-extended.js","webpack://stremio/./node_modules/vtt.js/lib/vttregion.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/typeof.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/regenerator/index.js","webpack://stremio/./node_modules/classnames/index.js","webpack://stremio/./node_modules/@stremio/stremio-icons/react/dist/index.js","webpack://stremio/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://stremio/./node_modules/react-i18next/dist/es/utils.js","webpack://stremio/./node_modules/react-i18next/dist/es/unescape.js","webpack://stremio/./node_modules/react-i18next/dist/es/defaults.js","webpack://stremio/./node_modules/react-i18next/dist/es/i18nInstance.js","webpack://stremio/./node_modules/react-i18next/dist/es/TransWithoutContext.js","webpack://stremio/./node_modules/react-i18next/dist/es/initReactI18next.js","webpack://stremio/./node_modules/react-i18next/dist/es/context.js","webpack://stremio/./node_modules/react-i18next/dist/es/Trans.js","webpack://stremio/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://stremio/./node_modules/react-i18next/dist/es/withTranslation.js","webpack://stremio/./node_modules/react-i18next/dist/es/Translation.js","webpack://stremio/./node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://stremio/./node_modules/react-i18next/dist/es/useSSR.js","webpack://stremio/./node_modules/react-i18next/dist/es/withSSR.js","webpack://stremio/./node_modules/react-i18next/dist/es/index.js","webpack://stremio/webpack/bootstrap","webpack://stremio/webpack/runtime/compat get default export","webpack://stremio/webpack/runtime/define property getters","webpack://stremio/webpack/runtime/global","webpack://stremio/webpack/runtime/hasOwnProperty shorthand","webpack://stremio/webpack/runtime/make namespace object","webpack://stremio/webpack/runtime/node module decorator","webpack://stremio/webpack/runtime/publicPath","webpack://stremio/./src/index.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\nfunction getId() {\n return Math.random().toString(32).slice(2);\n}\nfunction Bridge(scope, handler) {\n handler.addEventListener('message', /*#__PURE__*/function () {\n var _ref2 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref) {\n var request, id, path, args, value, data, thisArg;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n request = _ref.data.request;\n if (request) {\n _context.next = 3;\n break;\n }\n return _context.abrupt(\"return\");\n case 3:\n id = request.id, path = request.path, args = request.args;\n _context.prev = 4;\n value = path.reduce(function (value, prop) {\n return value[prop];\n }, scope);\n if (!(typeof value === 'function')) {\n _context.next = 13;\n break;\n }\n thisArg = path.slice(0, path.length - 1).reduce(function (value, prop) {\n return value[prop];\n }, scope);\n _context.next = 10;\n return value.apply(thisArg, args);\n case 10:\n data = _context.sent;\n _context.next = 16;\n break;\n case 13:\n _context.next = 15;\n return value;\n case 15:\n data = _context.sent;\n case 16:\n handler.postMessage({\n response: {\n id: id,\n result: {\n data: data\n }\n }\n });\n _context.next = 22;\n break;\n case 19:\n _context.prev = 19;\n _context.t0 = _context[\"catch\"](4);\n handler.postMessage({\n response: {\n id: id,\n result: {\n error: _context.t0\n }\n }\n });\n case 22:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[4, 19]]);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n this.call = /*#__PURE__*/function () {\n var _ref3 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(path, args) {\n var id;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n id = getId();\n return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n var onMessage = function onMessage(_ref4) {\n var response = _ref4.data.response;\n if (!response || response.id !== id) return;\n handler.removeEventListener('message', onMessage);\n if ('error' in response.result) {\n reject(response.result.error);\n } else {\n resolve(response.result.data);\n }\n };\n handler.addEventListener('message', onMessage);\n handler.postMessage({\n request: {\n id: id,\n path: path,\n args: args\n }\n });\n }));\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x2, _x3) {\n return _ref3.apply(this, arguments);\n };\n }();\n}\nmodule.exports = Bridge;\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","/*! https://mths.be/punycode v1.3.2 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * http://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.3.2',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","var EventEmitter = require('eventemitter3');\nvar ERROR = require('../error');\n\nfunction ChromecastSenderVideo(options) {\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var chromecastTransport = options.chromecastTransport;\n if (!chromecastTransport) {\n throw new Error('Chromecast transport required');\n }\n\n var device = chromecastTransport.getCastDevice();\n if (device === null) {\n throw new Error('Chromecast session must be started');\n }\n\n var deviceNameContainerElement = document.createElement('div');\n deviceNameContainerElement.style.display = 'flex';\n deviceNameContainerElement.style.flexDirection = 'row';\n deviceNameContainerElement.style.alignItems = 'center';\n deviceNameContainerElement.style.justifyContent = 'center';\n deviceNameContainerElement.style.width = '100%';\n deviceNameContainerElement.style.height = '100%';\n deviceNameContainerElement.style.backgroundColor = 'black';\n var deviceNameLabelElement = document.createElement('div');\n deviceNameLabelElement.style.flex = 'none';\n deviceNameLabelElement.style.maxWidth = '80%';\n deviceNameLabelElement.style.fontSize = '5vmin';\n deviceNameLabelElement.style.lineHeight = '1.2em';\n deviceNameLabelElement.style.maxHeight = '3.6em';\n deviceNameLabelElement.style.textAlign = 'center';\n deviceNameLabelElement.style.color = '#FFFFFF90';\n deviceNameLabelElement.innerText = 'Casting to ' + device.friendlyName;\n deviceNameContainerElement.appendChild(deviceNameLabelElement);\n containerElement.appendChild(deviceNameContainerElement);\n chromecastTransport.on('message', onMessage);\n chromecastTransport.on('message-error', onMessageReceivedError);\n\n var events = new EventEmitter();\n var destroyed = false;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n buffered: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOutlineColor: false,\n volume: false,\n muted: false,\n playbackSpeed: false,\n videoParams: false,\n extraSubtitlesTracks: false,\n selectedExtraSubtitlesTrackId: false,\n extraSubtitlesDelay: false,\n extraSubtitlesSize: false,\n extraSubtitlesOffset: false,\n extraSubtitlesTextColor: false,\n extraSubtitlesBackgroundColor: false,\n extraSubtitlesOutlineColor: false\n };\n\n function onMessageSendError(error, action) {\n events.emit('error', Object.assign({}, ERROR.CHROMECAST_SENDER_VIDEO.MESSAGE_SEND_FAILED, {\n error: error,\n action: action\n }));\n }\n function onMessageReceivedError(error) {\n events.emit('error', Object.assign({}, ERROR.CHROMECAST_SENDER_VIDEO.INVALID_MESSAGE_RECEIVED, {\n error: error\n }));\n }\n function onMessage(message) {\n if (!message || typeof message.event !== 'string') {\n onMessageReceivedError(new Error('Invalid message: ' + message));\n return;\n }\n\n var args = Array.isArray(message.args) ? message.args : [];\n events.emit.apply(events, [message.event].concat(args));\n }\n function onPropChanged(propName, propValue) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, propValue);\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n observedProps[propName] = true;\n }\n }\n function command(commandName) {\n switch (commandName) {\n case 'destroy': {\n destroyed = true;\n onPropChanged('stream', null);\n onPropChanged('loaded', null);\n onPropChanged('paused', null);\n onPropChanged('time', null);\n onPropChanged('duration', null);\n onPropChanged('buffering', null);\n onPropChanged('buffered', null);\n onPropChanged('audioTracks', []);\n onPropChanged('selectedAudioTrackId', []);\n onPropChanged('subtitlesTracks', []);\n onPropChanged('selectedSubtitlesTrackId', null);\n onPropChanged('subtitlesOffset', null);\n onPropChanged('subtitlesSize', null);\n onPropChanged('subtitlesTextColor', null);\n onPropChanged('subtitlesBackgroundColor', null);\n onPropChanged('subtitlesOutlineColor', null);\n onPropChanged('volume', null);\n onPropChanged('muted', null);\n onPropChanged('playbackSpeed', null);\n onPropChanged('videoParams', null);\n onPropChanged('extraSubtitlesTracks', []);\n onPropChanged('selectedExtraSubtitlesTrackId', null);\n onPropChanged('extraSubtitlesDelay', null);\n onPropChanged('extraSubtitlesSize', null);\n onPropChanged('extraSubtitlesOffset', null);\n onPropChanged('extraSubtitlesTextColor', null);\n onPropChanged('extraSubtitlesBackgroundColor', null);\n onPropChanged('extraSubtitlesOutlineColor', null);\n events.removeAllListeners();\n chromecastTransport.off('message', onMessage);\n containerElement.removeChild(deviceNameContainerElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n chromecastTransport.sendMessage(action).catch(function(error) {\n onMessageSendError(error, action);\n });\n return;\n }\n case 'setProp': {\n chromecastTransport.sendMessage(action).catch(function(error) {\n onMessageSendError(error, action);\n });\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n chromecastTransport.sendMessage(action).catch(function(error) {\n onMessageSendError(error, action);\n });\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nChromecastSenderVideo.canPlayStream = function() {\n return Promise.resolve(true);\n};\n\nChromecastSenderVideo.manifest = {\n name: 'ChromecastSenderVideo',\n external: true,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'volume', 'muted', 'playbackSpeed', 'videoParams', 'extraSubtitlesTracks', 'selectedExtraSubtitlesTrackId', 'extraSubtitlesDelay', 'extraSubtitlesSize', 'extraSubtitlesOffset', 'extraSubtitlesTextColor', 'extraSubtitlesBackgroundColor', 'extraSubtitlesOutlineColor'],\n commands: ['load', 'unload', 'destroy', 'addExtraSubtitlesTracks'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded', 'extraSubtitlesTrackLoaded', 'implementationChanged']\n};\n\nmodule.exports = ChromecastSenderVideo;\n","var ChromecastSenderVideo = require('./ChromecastSenderVideo');\n\nmodule.exports = ChromecastSenderVideo;\n","var EventEmitter = require('eventemitter3');\nvar Hls = require('hls.js');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar Color = require('color');\nvar ERROR = require('../error');\nvar getContentType = require('./getContentType');\nvar HLS_CONFIG = require('./hlsConfig');\n\nfunction HTMLVideo(options) {\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var styleElement = document.createElement('style');\n containerElement.appendChild(styleElement);\n styleElement.sheet.insertRule('video::cue { font-size: 4vmin; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0); text-shadow: -0.15rem -0.15rem 0.15rem rgb(34, 34, 34), 0px -0.15rem 0.15rem rgb(34, 34, 34), 0.15rem -0.15rem 0.15rem rgb(34, 34, 34), -0.15rem 0px 0.15rem rgb(34, 34, 34), 0.15rem 0px 0.15rem rgb(34, 34, 34), -0.15rem 0.15rem 0.15rem rgb(34, 34, 34), 0px 0.15rem 0.15rem rgb(34, 34, 34), 0.15rem 0.15rem 0.15rem rgb(34, 34, 34); }');\n var videoElement = document.createElement('video');\n videoElement.style.width = '100%';\n videoElement.style.height = '100%';\n videoElement.style.backgroundColor = 'black';\n videoElement.controls = false;\n videoElement.playsInline = true;\n videoElement.onerror = function() {\n onVideoError();\n };\n videoElement.onended = function() {\n onEnded();\n };\n videoElement.onpause = function() {\n onPropChanged('paused');\n };\n videoElement.onplay = function() {\n onPropChanged('paused');\n };\n videoElement.ontimeupdate = function() {\n onPropChanged('time');\n onPropChanged('buffered');\n };\n videoElement.ondurationchange = function() {\n onPropChanged('duration');\n };\n videoElement.onwaiting = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onseeking = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onseeked = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onstalled = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onplaying = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.oncanplay = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.canplaythrough = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onloadedmetadata = function() {\n onPropChanged('loaded');\n };\n videoElement.onloadeddata = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onvolumechange = function() {\n onPropChanged('volume');\n onPropChanged('muted');\n };\n videoElement.onratechange = function() {\n onPropChanged('playbackSpeed');\n };\n videoElement.textTracks.onchange = function() {\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onCueChange();\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = onCueChange;\n });\n };\n containerElement.appendChild(videoElement);\n\n var hls = null;\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var subtitlesOffset = 0;\n var subtitlesOpacity = 1;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n buffered: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOutlineColor: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n volume: false,\n muted: false,\n playbackSpeed: false\n };\n\n function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState >= videoElement.HAVE_METADATA;\n }\n case 'paused': {\n if (stream === null) {\n return null;\n }\n\n return !!videoElement.paused;\n }\n case 'time': {\n if (stream === null || videoElement.currentTime === null || !isFinite(videoElement.currentTime)) {\n return null;\n }\n\n return Math.floor(videoElement.currentTime * 1000);\n }\n case 'duration': {\n if (stream === null || videoElement.duration === null || !isFinite(videoElement.duration)) {\n return null;\n }\n\n return Math.floor(videoElement.duration * 1000);\n }\n case 'buffering': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState < videoElement.HAVE_FUTURE_DATA;\n }\n case 'buffered': {\n if (stream === null) {\n return null;\n }\n\n var time = videoElement.currentTime !== null && isFinite(videoElement.currentTime) ? videoElement.currentTime : 0;\n for (var i = 0; i < videoElement.buffered.length; i++) {\n if (videoElement.buffered.start(i) <= time && time <= videoElement.buffered.end(i)) {\n return Math.floor(videoElement.buffered.end(i) * 1000);\n }\n }\n\n return Math.floor(time * 1000);\n }\n case 'subtitlesTracks': {\n if (stream === null) {\n return [];\n }\n\n return Array.from(videoElement.textTracks)\n .map(function(track, index) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(index),\n lang: track.language,\n label: track.label || null,\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null) {\n return null;\n }\n\n return Array.from(videoElement.textTracks)\n .reduce(function(result, track, index) {\n if (result === null && track.mode === 'showing') {\n return 'EMBEDDED_' + String(index);\n }\n\n return result;\n }, null);\n }\n case 'subtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOffset;\n }\n case 'subtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return parseInt(styleElement.sheet.cssRules[0].style.fontSize, 10) * 25;\n }\n case 'subtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return styleElement.sheet.cssRules[0].style.color;\n }\n case 'subtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return styleElement.sheet.cssRules[0].style.backgroundColor;\n }\n case 'subtitlesOutlineColor': {\n if (destroyed) {\n return null;\n }\n\n return styleElement.sheet.cssRules[0].style.textShadow.slice(0, styleElement.sheet.cssRules[0].style.textShadow.indexOf(')') + 1);\n }\n case 'subtitlesOpacity': {\n if (destroyed) {\n return null;\n }\n\n return Math.round(subtitlesOpacity * 100);\n }\n case 'audioTracks': {\n if (hls === null || !Array.isArray(hls.audioTracks)) {\n return [];\n }\n\n return hls.audioTracks\n .map(function(track) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(track.id),\n lang: typeof track.lang === 'string' && track.lang.length > 0 ?\n track.lang\n :\n typeof track.name === 'string' && track.name.length > 0 ?\n track.name\n :\n String(track.id),\n label: typeof track.name === 'string' && track.name.length > 0 ?\n track.name\n :\n typeof track.lang === 'string' && track.lang.length > 0 ?\n track.lang\n :\n String(track.id),\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedAudioTrackId': {\n if (hls === null || hls.audioTrack === null || !isFinite(hls.audioTrack) || hls.audioTrack === -1) {\n return null;\n }\n\n return 'EMBEDDED_' + String(hls.audioTrack);\n }\n case 'volume': {\n if (destroyed || videoElement.volume === null || !isFinite(videoElement.volume)) {\n return null;\n }\n\n return Math.floor(videoElement.volume * 100);\n }\n case 'muted': {\n if (destroyed) {\n return null;\n }\n\n return !!videoElement.muted;\n }\n case 'playbackSpeed': {\n if (destroyed || videoElement.playbackRate === null || !isFinite(videoElement.playbackRate)) {\n return null;\n }\n\n return videoElement.playbackRate;\n }\n default: {\n return null;\n }\n }\n }\n function onCueChange() {\n Array.from(videoElement.textTracks).forEach(function(track) {\n Array.from(track.cues || []).forEach(function(cue) {\n cue.snapToLines = false;\n cue.line = 100 - subtitlesOffset;\n });\n });\n }\n function onVideoError() {\n if (destroyed) {\n return;\n }\n\n var error;\n switch (videoElement.error.code) {\n case 1: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_ABORTED;\n break;\n }\n case 2: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_NETWORK;\n break;\n }\n case 3: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_DECODE;\n break;\n }\n case 4: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;\n break;\n }\n default: {\n error = ERROR.UNKNOWN_ERROR;\n }\n }\n onError(Object.assign({}, error, {\n critical: true,\n error: videoElement.error\n }));\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n propValue ? videoElement.pause() : videoElement.play();\n onPropChanged('paused');\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n videoElement.currentTime = parseInt(propValue, 10) / 1000;\n onPropChanged('time');\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n Array.from(videoElement.textTracks)\n .forEach(function(track, index) {\n track.mode = 'EMBEDDED_' + String(index) === propValue ? 'showing' : 'disabled';\n });\n var selecterdSubtitlesTrack = getProp('subtitlesTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n if (selecterdSubtitlesTrack) {\n onPropChanged('selectedSubtitlesTrackId');\n events.emit('subtitlesTrackLoaded', selecterdSubtitlesTrack);\n }\n }\n\n break;\n }\n case 'subtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n subtitlesOffset = Math.max(0, Math.min(100, parseInt(propValue, 10)));\n onCueChange();\n onPropChanged('subtitlesOffset');\n }\n\n break;\n }\n case 'subtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n styleElement.sheet.cssRules[0].style.fontSize = Math.floor(Math.max(0, parseInt(propValue, 10)) / 25) + 'vmin';\n onPropChanged('subtitlesSize');\n }\n\n break;\n }\n case 'subtitlesTextColor': {\n if (typeof propValue === 'string') {\n try {\n styleElement.sheet.cssRules[0].style.color = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('HTMLVideo', error);\n }\n\n onPropChanged('subtitlesTextColor');\n }\n\n break;\n }\n case 'subtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n try {\n styleElement.sheet.cssRules[0].style.backgroundColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('HTMLVideo', error);\n }\n\n onPropChanged('subtitlesBackgroundColor');\n }\n\n break;\n }\n case 'subtitlesOutlineColor': {\n if (typeof propValue === 'string') {\n try {\n var outlineColor = Color(propValue).rgb().string();\n styleElement.sheet.cssRules[0].style.textShadow = '-0.15rem -0.15rem 0.15rem ' + outlineColor + ', 0px -0.15rem 0.15rem ' + outlineColor + ', 0.15rem -0.15rem 0.15rem ' + outlineColor + ', -0.15rem 0px 0.15rem ' + outlineColor + ', 0.15rem 0px 0.15rem ' + outlineColor + ', -0.15rem 0.15rem 0.15rem ' + outlineColor + ', 0px 0.15rem 0.15rem ' + outlineColor + ', 0.15rem 0.15rem 0.15rem ' + outlineColor;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('HTMLVideo', error);\n }\n\n onPropChanged('subtitlesOutlineColor');\n }\n\n break;\n }\n case 'subtitlesOpacity': {\n if (typeof propValue === 'number') {\n try {\n subtitlesOpacity = Math.min(Math.max(propValue / 100, 0), 1);\n styleElement.sheet.cssRules[0].style.opacity = subtitlesOpacity + '';\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('VVideo with HTML Subtitles', error);\n }\n\n onPropChanged('subtitlesOpacity');\n }\n\n break;\n }\n case 'selectedAudioTrackId': {\n if (hls !== null) {\n var selecterdAudioTrack = getProp('audioTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n hls.audioTrack = selecterdAudioTrack ? parseInt(selecterdAudioTrack.id.split('_').pop(), 10) : -1;\n if (selecterdAudioTrack) {\n onPropChanged('selectedAudioTrackId');\n events.emit('audioTrackLoaded', selecterdAudioTrack);\n }\n }\n\n break;\n }\n case 'volume': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.muted = false;\n videoElement.volume = Math.max(0, Math.min(100, parseInt(propValue, 10))) / 100;\n onPropChanged('muted');\n onPropChanged('volume');\n }\n\n break;\n }\n case 'muted': {\n videoElement.muted = !!propValue;\n onPropChanged('muted');\n break;\n }\n case 'playbackSpeed': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.playbackRate = parseFloat(propValue);\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n stream = commandArgs.stream;\n onPropChanged('stream');\n onPropChanged('loaded');\n videoElement.autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;\n videoElement.currentTime = commandArgs.time !== null && isFinite(commandArgs.time) ? parseInt(commandArgs.time, 10) / 1000 : 0;\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('buffered');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n getContentType(stream)\n .then(function(contentType) {\n if (stream !== commandArgs.stream) {\n return;\n }\n\n if (contentType === 'application/vnd.apple.mpegurl' && Hls.isSupported()) {\n hls = new Hls(HLS_CONFIG);\n hls.on(Hls.Events.AUDIO_TRACKS_UPDATED, function() {\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n });\n hls.on(Hls.Events.AUDIO_TRACK_SWITCHED, function() {\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n });\n hls.loadSource(stream.url);\n hls.attachMedia(videoElement);\n } else {\n videoElement.src = stream.url;\n }\n })\n .catch(function() {\n if (stream !== commandArgs.stream) {\n return;\n }\n\n videoElement.src = stream.url;\n });\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n stream = null;\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = null;\n });\n if (hls !== null) {\n hls.removeAllListeners();\n hls.detachMedia(videoElement);\n hls.destroy();\n hls = null;\n }\n videoElement.removeAttribute('src');\n videoElement.load();\n videoElement.currentTime = 0;\n onPropChanged('stream');\n onPropChanged('loaded');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('buffered');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n onPropChanged('subtitlesOffset');\n onPropChanged('subtitlesSize');\n onPropChanged('subtitlesTextColor');\n onPropChanged('subtitlesBackgroundColor');\n onPropChanged('subtitlesOutlineColor');\n onPropChanged('subtitlesOpacity');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n events.removeAllListeners();\n videoElement.onerror = null;\n videoElement.onended = null;\n videoElement.onpause = null;\n videoElement.onplay = null;\n videoElement.ontimeupdate = null;\n videoElement.ondurationchange = null;\n videoElement.onwaiting = null;\n videoElement.onseeking = null;\n videoElement.onseeked = null;\n videoElement.onstalled = null;\n videoElement.onplaying = null;\n videoElement.oncanplay = null;\n videoElement.canplaythrough = null;\n videoElement.onloadeddata = null;\n videoElement.onvolumechange = null;\n videoElement.onratechange = null;\n videoElement.textTracks.onchange = null;\n containerElement.removeChild(videoElement);\n containerElement.removeChild(styleElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nHTMLVideo.canPlayStream = function(stream) {\n if (!stream || (stream.behaviorHints && stream.behaviorHints.notWebReady)) {\n return Promise.resolve(false);\n }\n\n return getContentType(stream)\n .then(function(contentType) {\n var video = document.createElement('video');\n return !!video.canPlayType(contentType) || (contentType === 'application/vnd.apple.mpegurl' && Hls.isSupported());\n })\n .catch(function() {\n return false;\n });\n};\n\nHTMLVideo.manifest = {\n name: 'HTMLVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'subtitlesOpacity', 'volume', 'muted', 'playbackSpeed'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']\n};\n\nmodule.exports = HTMLVideo;\n","function getContentType(stream) {\n if (!stream || typeof stream.url !== 'string') {\n return Promise.reject(new Error('Invalid stream parameter!'));\n }\n\n if (stream.behaviorHints && stream.behaviorHints.proxyHeaders && stream.behaviorHints.proxyHeaders.response && typeof stream.behaviorHints.proxyHeaders.response['content-type'] === 'string') {\n return Promise.resolve(stream.behaviorHints.proxyHeaders.response['content-type']);\n }\n\n return fetch(stream.url, { method: 'HEAD' })\n .then(function(resp) {\n if (resp.ok) {\n return resp.headers.get('content-type');\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n });\n}\n\nmodule.exports = getContentType;\n","module.exports = {\n debug: false,\n enableWorker: true,\n lowLatencyMode: false,\n backBufferLength: 30,\n maxBufferLength: 50,\n maxMaxBufferLength: 80,\n maxFragLookUpTolerance: 0,\n maxBufferHole: 0,\n appendErrorMaxRetry: 20,\n nudgeMaxRetry: 20,\n manifestLoadingTimeOut: 30000,\n manifestLoadingMaxRetry: 10,\n fragLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 120000,\n timeoutRetry: {\n maxNumRetry: 20,\n retryDelayMs: 0,\n maxRetryDelayMs: 15\n },\n errorRetry: {\n maxNumRetry: 6,\n retryDelayMs: 1000,\n maxRetryDelayMs: 15\n }\n }\n }\n // liveDurationInfinity: false\n};\n","var HTMLVideo = require('./HTMLVideo');\n\nmodule.exports = HTMLVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\n\nfunction IFrameVideo(options) {\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var iframeElement = document.createElement('iframe');\n iframeElement.style.width = '100%';\n iframeElement.style.height = '100%';\n iframeElement.style.border = 0;\n iframeElement.style.backgroundColor = 'black';\n iframeElement.allowFullscreen = false;\n iframeElement.allow = 'autoplay';\n containerElement.appendChild(iframeElement);\n\n var events = new EventEmitter();\n var destroyed = false;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n buffered: false,\n volume: false,\n muted: false,\n playbackSpeed: false\n };\n\n function onMessage(event) {\n if (event.source !== iframeElement.contentWindow) {\n return;\n }\n\n var data = event.data || event.message;\n if (!data || typeof data.event !== 'string') {\n return;\n }\n\n var eventName = data.event;\n var args = Array.isArray(data.args) ? data.args : [];\n events.emit.apply(events, [eventName].concat(args));\n }\n function sendMessage(action) {\n iframeElement.contentWindow.postMessage(action, '*');\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onPropChanged(propName, propValue) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, propValue);\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n observedProps[propName] = true;\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.playerFrameUrl === 'string') {\n window.addEventListener('message', onMessage, false);\n iframeElement.onload = function() {\n sendMessage({\n type: 'command',\n commandName: commandName,\n commandArgs: commandArgs\n });\n };\n iframeElement.src = commandArgs.stream.playerFrameUrl;\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n\n return true;\n }\n case 'unload': {\n window.removeEventListener('message', onMessage);\n iframeElement.onload = null;\n iframeElement.removeAttribute('src');\n onPropChanged('stream', null);\n onPropChanged('loaded', null);\n onPropChanged('paused', null);\n onPropChanged('time', null);\n onPropChanged('duration', null);\n onPropChanged('buffering', null);\n onPropChanged('buffered', null);\n onPropChanged('volume', null);\n onPropChanged('muted', null);\n onPropChanged('playbackSpeed', null);\n return true;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n events.removeAllListeners();\n containerElement.removeChild(iframeElement);\n return true;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n sendMessage(action);\n return;\n }\n case 'setProp': {\n sendMessage(action);\n return;\n }\n case 'command': {\n if (!command(action.commandName, action.commandArgs)) {\n sendMessage(action);\n }\n\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nIFrameVideo.canPlayStream = function(stream) {\n return Promise.resolve(stream && typeof stream.playerFrameUrl === 'string');\n};\n\nIFrameVideo.manifest = {\n name: 'IFrameVideo',\n external: true,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'volume', 'muted', 'playbackSpeed', 'extraSubtitlesTracks', 'selectedExtraSubtitlesTrackId', 'extraSubtitlesDelay', 'extraSubtitlesSize', 'extraSubtitlesOffset', 'extraSubtitlesTextColor', 'extraSubtitlesBackgroundColor', 'extraSubtitlesOutlineColor'],\n commands: ['load', 'unload', 'destroy', 'addExtraSubtitlesTracks'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded', 'extraSubtitlesTrackLoaded', 'implementationChanged']\n};\n\nmodule.exports = IFrameVideo;\n","var IFrameVideo = require('./IFrameVideo');\n\nmodule.exports = IFrameVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\n\nvar SUBS_SCALE_FACTOR = 0.0066;\n\nvar stremioToMPVProps = {\n 'loaded': 'loaded',\n 'stream': null,\n 'paused': 'pause',\n 'time': 'time-pos',\n 'duration': 'duration',\n 'buffering': 'buffering',\n 'volume': 'volume',\n 'muted': 'mute',\n 'playbackSpeed': 'speed',\n 'audioTracks': 'audioTracks',\n 'selectedAudioTrackId': 'aid',\n 'subtitlesTracks': 'subtitlesTracks',\n 'selectedSubtitlesTrackId': 'sid',\n 'subtitlesSize': 'sub-scale',\n 'subtitlesOffset': 'sub-pos',\n 'subtitlesDelay': 'sub-delay',\n 'subtitlesTextColor': 'sub-color',\n 'subtitlesBackgroundColor': 'sub-back-color',\n 'subtitlesOutlineColor': 'sub-border-color',\n};\n\nfunction parseVersion(version) {\n return version.split('.').slice(0, 2).map(function (v) { return parseInt(v); });\n}\n\nfunction versionGTE(a, b) {\n var versionA = parseVersion(a);\n var versionB = parseVersion(b);\n if (versionA[0] > versionB[0]) return true;\n if (versionA[0] < versionB[0]) return false;\n return versionA[1] >= versionB[1];\n}\n\nfunction ShellVideo(options) {\n options = options || {};\n\n var ipc = options.shellTransport;\n var observedProps = {};\n var props = {};\n var stremioProps = {};\n Object.keys(stremioToMPVProps).forEach(function(key) {\n if(stremioToMPVProps[key]) {\n stremioProps[stremioToMPVProps[key]] = key;\n }\n });\n var resolveMPVVersion;\n var waitForMPVVersion = new Promise(function (resolve) {\n resolveMPVVersion = resolve;\n });\n command('unload');\n\n ipc.send('mpv-command', ['stop']);\n ipc.send('mpv-observe-prop', 'path');\n\n ipc.send('mpv-observe-prop', 'time-pos');\n ipc.send('mpv-observe-prop', 'volume');\n ipc.send('mpv-observe-prop', 'pause');\n ipc.send('mpv-observe-prop', 'seeking');\n ipc.send('mpv-observe-prop', 'eof-reached');\n\n ipc.send('mpv-observe-prop', 'duration');\n ipc.send('mpv-observe-prop', 'metadata');\n ipc.send('mpv-observe-prop', 'video-params'); // video width/height\n ipc.send('mpv-observe-prop', 'track-list');\n\n ipc.send('mpv-observe-prop', 'paused-for-cache');\n ipc.send('mpv-observe-prop', 'cache-buffering-state');\n\n ipc.send('mpv-observe-prop', 'aid');\n ipc.send('mpv-observe-prop', 'vid');\n ipc.send('mpv-observe-prop', 'sid');\n ipc.send('mpv-observe-prop', 'sub-scale');\n ipc.send('mpv-observe-prop', 'sub-pos');\n ipc.send('mpv-observe-prop', 'sub-delay');\n ipc.send('mpv-observe-prop', 'speed');\n\n ipc.send('mpv-observe-prop', 'mpv-version');\n ipc.send('mpv-observe-prop', 'ffmpeg-version');\n\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n\n var avgDuration = 0;\n var minClipDuration = 30;\n\n function setBackground(visible) {\n // This is a bit of a hack but there is no better way so far\n var bg = visible ? '' : 'transparent';\n for(var container = options.containerElement; container; container = container.parentElement) {\n container.style.background = bg;\n }\n if (((window || {}).document || {}).getElementsByTagName) {\n var body = window.document.getElementsByTagName('body');\n if ((body || [])[0]) {\n body[0].style.background = bg;\n }\n }\n }\n function logProp(args) {\n // eslint-disable-next-line no-console\n console.log(args.name+': '+args.data);\n }\n function embeddedProp(args) {\n return args.data && args.data !== 'no' ? 'EMBEDDED_' + args.data.toString() : null;\n }\n\n var last_time = 0;\n ipc.on('mpv-prop-change', function(args) {\n switch (args.name) {\n case 'mpv-version':\n resolveMPVVersion(args.data);\n props[args.name] = logProp(args);\n break;\n case 'ffmpeg-version': {\n props[args.name] = logProp(args);\n break;\n }\n case 'duration': {\n var intDuration = args.data | 0;\n // Accumulate average duration over time. if it is greater than minClipDuration\n // and equal to the currently reported duration, it is returned as video length.\n // If the reported duration changes over time the average duration is always\n // smaller than the currently reported one so we set the video length to 0 as\n // this is a live stream.\n props[args.name] = args.data >= minClipDuration && (!avgDuration || intDuration === avgDuration) ? Math.round(args.data * 1000) : null;\n // The average duration is calculated using right bit shifting by one of the sum of\n // the previous average and the currently reported value. This method is not very precise\n // as we get integer value but we avoid floating point errors. JS uses 32 bit values\n // for bitwise maths so the maximum supported video duration is 1073741823 (2 ^ 30 - 1)\n // which is around 34 years of playback time.\n avgDuration = avgDuration ? (avgDuration + intDuration) >> 1 : intDuration;\n props.loaded = intDuration > 0;\n if(props.loaded) {\n setBackground(false);\n onPropChanged('loaded');\n }\n break;\n }\n case 'time-pos': {\n props[args.name] = Math.round(args.data*1000);\n break;\n }\n case 'sub-scale': {\n props[args.name] = Math.round(args.data / SUBS_SCALE_FACTOR);\n break;\n }\n case 'sub-pos': {\n props[args.name] = 100 - args.data;\n break;\n }\n case 'sub-delay': {\n props[args.name] = Math.round(args.data*1000);\n break;\n }\n case 'volume': {\n if (typeof args.data === 'number' && isFinite(args.data)) {\n props[args.name] = args.data;\n onPropChanged('volume');\n }\n break;\n }\n case 'paused-for-cache':\n case 'seeking':\n {\n if(props.buffering !== args.data) {\n props.buffering = args.data;\n onPropChanged('buffering');\n }\n break;\n }\n case 'aid':\n case 'sid':\n case 'vid': {\n props[args.name] = embeddedProp(args);\n break;\n }\n // In that case onPropChanged() is manually invoked as track-list contains all\n // the tracks but we have different event for each track type\n case 'track-list': {\n props.audioTracks = args.data.filter(function(x) { return x.type === 'audio'; })\n .map(function(x, index) {\n return {\n id: 'EMBEDDED_' + x.id,\n lang: x.lang === undefined ? 'Track' + (index + 1) : x.lang,\n label: x.title === undefined || x.lang === undefined ? '' : x.title || x.lang,\n origin: 'EMBEDDED',\n embedded: true,\n mode: x.id === props.aid ? 'showing' : 'disabled',\n };\n });\n onPropChanged('audioTracks');\n\n props.subtitlesTracks = args.data\n .filter(function(x) { return x.type === 'sub'; })\n .map(function(x, index) {\n return {\n id: 'EMBEDDED_' + x.id,\n lang: x.lang === undefined ? 'Track ' + (index + 1) : x.lang,\n label: x.title === undefined || x.lang === undefined ? '' : x.title || x.lang,\n origin: 'EMBEDDED',\n embedded: true,\n mode: x.id === props.sid ? 'showing' : 'disabled',\n };\n });\n onPropChanged('subtitlesTracks');\n break;\n }\n default: {\n props[args.name] = args.data;\n break;\n }\n }\n\n // Cap time update to update only when a second passes\n var current_time = args.name === 'time-pos' ? Math.floor(props['time-pos'] / 1000) : null;\n if((!current_time || last_time !== current_time)&& stremioProps[args.name]) {\n if(current_time) {\n last_time = current_time;\n }\n onPropChanged(stremioProps[args.name]);\n }\n });\n ipc.on('mpv-event-ended', function(args) {\n if (args.error) onError(args.error);\n else onEnded();\n });\n\n function getProp(propName) {\n if(stremioToMPVProps[propName]) return props[stremioToMPVProps[propName]];\n // eslint-disable-next-line no-console\n console.log('Unsupported prop requested', propName);\n return null;\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n ipc.send('mpv-set-prop', ['pause', propValue]);\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n ipc.send('mpv-set-prop', ['time-pos', propValue/1000]);\n }\n\n break;\n }\n case 'playbackSpeed': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n ipc.send('mpv-set-prop', ['speed', propValue]);\n }\n break;\n }\n case 'volume': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n props.mute = false;\n ipc.send('mpv-set-prop', ['mute', 'no']);\n ipc.send('mpv-set-prop', ['volume', propValue]);\n onPropChanged('muted');\n onPropChanged('volume');\n }\n break;\n }\n case 'muted': {\n if (stream !== null) {\n ipc.send('mpv-set-prop', ['mute', propValue ? 'yes' : 'no']);\n props.mute = propValue;\n onPropChanged('muted');\n }\n break;\n }\n case 'selectedAudioTrackId': {\n if (stream !== null) {\n var actualId = propValue.slice('EMBEDDED_'.length);\n ipc.send('mpv-set-prop', ['aid', actualId]);\n }\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n if(propValue) {\n var actualId = propValue.slice('EMBEDDED_'.length);\n ipc.send('mpv-set-prop', ['sid', actualId]);\n events.emit('subtitlesTrackLoaded', propValue);\n } else {\n // turn off subs\n ipc.send('mpv-set-prop', ['sid', 'no']);\n props.sid = null;\n }\n }\n onPropChanged('selectedSubtitlesTrackId');\n break;\n }\n case 'subtitlesSize': {\n ipc.send('mpv-set-prop', [stremioToMPVProps[propName], propValue * SUBS_SCALE_FACTOR]);\n break;\n }\n case 'subtitlesDelay': {\n ipc.send('mpv-set-prop', [stremioToMPVProps[propName], propValue]);\n break;\n }\n case 'subtitlesOffset': {\n ipc.send('mpv-set-prop', [stremioToMPVProps[propName], 100 - propValue]);\n break;\n }\n case 'subtitlesTextColor':\n case 'subtitlesBackgroundColor':\n case 'subtitlesOutlineColor':\n {\n // MPV accepts color in #AARRGGBB\n var argb = propValue.replace(/^#(\\w{6})(\\w{2})$/, '#$2$1');\n ipc.send('mpv-set-prop', [stremioToMPVProps[propName], argb]);\n break;\n }\n default: {\n // eslint-disable-next-line no-console\n console.log('Unhandled setProp for', propName);\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n waitForMPVVersion.then(function (mpvVersion) {\n stream = commandArgs.stream;\n onPropChanged('stream');\n\n ipc.send('mpv-set-prop', ['no-sub-ass']);\n\n // Hardware decoding\n var hwdecValue = commandArgs.hardwareDecoding ? 'auto-copy' : 'no';\n ipc.send('mpv-set-prop', ['hwdec', hwdecValue]);\n\n // opengl-cb is an alias for the new name \"libmpv\", as shown in mpv's video/out/vo.c aliases\n // opengl is an alias for the new name \"gpu\"\n // When on Windows we use d3d for the rendering in separate window\n var windowRenderer = navigator.platform === 'Win32' ? 'direct3d' : 'opengl';\n var videoOutput = options.mpvSeparateWindow ? windowRenderer : 'opengl-cb';\n var separateWindow = options.mpvSeparateWindow ? 'yes' : 'no';\n ipc.send('mpv-set-prop', ['vo', videoOutput]);\n ipc.send('mpv-set-prop', ['osc', separateWindow]);\n ipc.send('mpv-set-prop', ['input-default-bindings', separateWindow]);\n ipc.send('mpv-set-prop', ['input-vo-keyboard', separateWindow]);\n\n var startAt = Math.floor(parseInt(commandArgs.time, 10) / 1000) || 0;\n if (startAt !== 0) {\n if (versionGTE(mpvVersion, '0.39')) {\n ipc.send('mpv-command', ['loadfile', stream.url, 'replace', '-1', 'start=+' + startAt]);\n } else {\n ipc.send('mpv-command', ['loadfile', stream.url, 'replace', 'start=+' + startAt]);\n }\n } else {\n ipc.send('mpv-command', ['loadfile', stream.url]);\n }\n ipc.send('mpv-set-prop', ['pause', false]);\n ipc.send('mpv-set-prop', ['speed', props.speed]);\n if (props.aid) {\n if (typeof props.aid === 'string' && props.aid.startsWith('EMBEDDED_')) {\n ipc.send('mpv-set-prop', ['aid', props.aid.slice('EMBEDDED_'.length)]);\n } else {\n ipc.send('mpv-set-prop', ['aid', props.aid]);\n }\n }\n ipc.send('mpv-set-prop', ['mute', 'no']);\n\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('muted');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n });\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n props = {\n loaded: false,\n pause: false,\n mute: false,\n speed: 1,\n subtitlesTracks: [],\n audioTracks: [],\n buffering: false,\n aid: null,\n sid: null,\n };\n avgDuration = 0;\n ipc.send('mpv-command', ['stop']);\n onPropChanged('loaded');\n onPropChanged('stream');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('muted');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n setBackground(true);\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n events.removeAllListeners();\n break;\n }\n }\n }\n\n this.on = function (eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function (action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n break;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(\n action.commandName,\n action.commandArgs\n );\n return;\n }\n }\n }\n };\n}\nShellVideo.canPlayStream = function() {\n return Promise.resolve(true);\n};\n\nShellVideo.manifest = {\n name: 'ShellVideo',\n external: false,\n props: Object.keys(stremioToMPVProps),\n commands: ['load', 'unload', 'destroy'],\n events: [\n 'propValue',\n 'propChanged',\n 'ended',\n 'error',\n 'subtitlesTrackLoaded',\n ],\n};\n\nmodule.exports = ShellVideo;\n","var ShellVideo = require('./ShellVideo');\n\nmodule.exports = ShellVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar selectVideoImplementation = require('./selectVideoImplementation');\nvar platform = require('../platform');\nvar ERROR = require('../error');\n\nfunction StremioVideo() {\n var video = null;\n var events = new EventEmitter();\n var destroyed = false;\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action, options) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n options = options || {};\n if (action.type === 'command' && action.commandName === 'load' && action.commandArgs) {\n if (action.commandArgs.platform) {\n platform.set(action.commandArgs.platform);\n }\n var Video = selectVideoImplementation(action.commandArgs, options);\n if (video !== null && video.constructor !== Video) {\n video.dispatch({ type: 'command', commandName: 'destroy' });\n video = null;\n }\n if (video === null) {\n if (Video === null) {\n events.emit('error', Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n error: new Error('No video implementation was selected'),\n critical: true,\n stream: action.commandArgs.stream\n }));\n return;\n }\n\n video = new Video(options);\n video.on('ended', function() {\n events.emit('ended');\n });\n video.on('error', function(args) {\n events.emit('error', args);\n });\n video.on('propValue', function(propName, propValue) {\n events.emit('propValue', propName, propValue);\n });\n video.on('propChanged', function(propName, propValue) {\n events.emit('propChanged', propName, propValue);\n });\n video.on('subtitlesTrackLoaded', function(track) {\n events.emit('subtitlesTrackLoaded', track);\n });\n video.on('audioTrackLoaded', function(track) {\n events.emit('audioTrackLoaded', track);\n });\n video.on('extraSubtitlesTrackLoaded', function(track) {\n events.emit('extraSubtitlesTrackLoaded', track);\n });\n video.on('extraSubtitlesTrackAdded', function(track) {\n events.emit('extraSubtitlesTrackAdded', track);\n });\n if (Video.manifest.external) {\n video.on('implementationChanged', function(manifest) {\n events.emit('implementationChanged', manifest);\n });\n } else {\n events.emit('implementationChanged', Video.manifest);\n }\n }\n }\n\n if (video !== null) {\n try {\n video.dispatch(action);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(video.constructor.manifest.name, error);\n }\n }\n\n if (action.type === 'command' && action.commandName === 'destroy') {\n video = null;\n }\n\n return;\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n this.destroy = function() {\n destroyed = true;\n if (video !== null) {\n video.dispatch({ type: 'command', commandName: 'destroy' });\n video = null;\n }\n\n events.removeAllListeners();\n };\n}\n\nStremioVideo.ERROR = ERROR;\n\nmodule.exports = StremioVideo;\n","var StremioVideo = require('./StremioVideo');\n\nmodule.exports = StremioVideo;\n","var ChromecastSenderVideo = require('../ChromecastSenderVideo');\nvar ShellVideo = require('../ShellVideo');\nvar HTMLVideo = require('../HTMLVideo');\nvar TizenVideo = require('../TizenVideo');\nvar TitanVideo = require('../TitanVideo');\nvar VidaaVideo = require('../VidaaVideo');\nvar WebOsVideo = require('../WebOsVideo');\nvar IFrameVideo = require('../IFrameVideo');\nvar YouTubeVideo = require('../YouTubeVideo');\nvar withStreamingServer = require('../withStreamingServer');\nvar withHTMLSubtitles = require('../withHTMLSubtitles');\nvar withVideoParams = require('../withVideoParams');\n\nfunction selectVideoImplementation(commandArgs, options) {\n if (!commandArgs.stream || typeof commandArgs.stream.externalUrl === 'string') {\n return null;\n }\n\n if (options.chromecastTransport && options.chromecastTransport.getCastState() === cast.framework.CastState.CONNECTED) {\n return ChromecastSenderVideo;\n }\n\n if (typeof commandArgs.stream.ytId === 'string') {\n return withVideoParams(withHTMLSubtitles(YouTubeVideo));\n }\n\n if (typeof commandArgs.stream.playerFrameUrl === 'string') {\n return withVideoParams(IFrameVideo);\n }\n\n if (options.shellTransport) {\n return withStreamingServer(withHTMLSubtitles(ShellVideo));\n }\n\n if (typeof commandArgs.streamingServerURL === 'string') {\n if (commandArgs.platform === 'Tizen') {\n return withStreamingServer(withHTMLSubtitles(TizenVideo));\n }\n if (commandArgs.platform === 'webOS') {\n return withStreamingServer(withHTMLSubtitles(WebOsVideo));\n }\n if (commandArgs.platform === 'Titan' || commandArgs.platform === 'NetTV') {\n return withStreamingServer(withHTMLSubtitles(TitanVideo));\n }\n if (commandArgs.platform === 'Vidaa') {\n return withStreamingServer(withHTMLSubtitles(VidaaVideo));\n }\n return withStreamingServer(withHTMLSubtitles(HTMLVideo));\n }\n\n if (typeof commandArgs.stream.url === 'string') {\n if (commandArgs.platform === 'Tizen') {\n return withVideoParams(withHTMLSubtitles(TizenVideo));\n }\n if (commandArgs.platform === 'webOS') {\n return withVideoParams(withHTMLSubtitles(WebOsVideo));\n }\n if (commandArgs.platform === 'Titan' || commandArgs.platform === 'NetTV') {\n return withVideoParams(withHTMLSubtitles(TitanVideo));\n }\n if (commandArgs.platform === 'Vidaa') {\n return withVideoParams(withHTMLSubtitles(VidaaVideo));\n }\n return withVideoParams(withHTMLSubtitles(HTMLVideo));\n }\n\n return null;\n}\n\nmodule.exports = selectVideoImplementation;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar Color = require('color');\nvar ERROR = require('../error');\n\nvar SSA_DESCRIPTORS_REGEX = /^\\{(\\\\an[1-8])+\\}/i;\n\nfunction TitanVideo(options) {\n options = options || {};\n\n var size = 100;\n var offset = 0;\n var textColor = 'rgb(255, 255, 255)';\n var backgroundColor = 'rgba(0, 0, 0, 0)';\n var outlineColor = 'rgb(34, 34, 34)';\n var subtitlesOpacity = 1;\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var videoElement = document.createElement('video');\n videoElement.style.width = '100%';\n videoElement.style.height = '100%';\n videoElement.style.backgroundColor = 'black';\n videoElement.controls = false;\n videoElement.playsInline = true;\n videoElement.onerror = function() {\n onVideoError();\n };\n videoElement.onended = function() {\n onEnded();\n };\n videoElement.onpause = function() {\n onPropChanged('paused');\n };\n videoElement.onplay = function() {\n onPropChanged('paused');\n };\n videoElement.ontimeupdate = function() {\n onPropChanged('time');\n };\n videoElement.ondurationchange = function() {\n onPropChanged('duration');\n };\n videoElement.onwaiting = function() {\n onPropChanged('buffering');\n };\n videoElement.onseeking = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n };\n videoElement.onseeked = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n };\n videoElement.onstalled = function() {\n onPropChanged('buffering');\n };\n videoElement.onplaying = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n };\n videoElement.oncanplay = function() {\n onPropChanged('buffering');\n };\n videoElement.canplaythrough = function() {\n onPropChanged('buffering');\n };\n videoElement.onloadedmetadata = function() {\n onPropChanged('loaded');\n };\n videoElement.onloadeddata = function() {\n onPropChanged('buffering');\n };\n videoElement.onvolumechange = function() {\n onPropChanged('volume');\n onPropChanged('muted');\n };\n videoElement.onratechange = function() {\n onPropChanged('playbackSpeed');\n };\n videoElement.textTracks.onchange = function() {\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n };\n containerElement.appendChild(videoElement);\n\n var subtitlesElement = document.createElement('div');\n subtitlesElement.style.position = 'absolute';\n subtitlesElement.style.right = '0';\n subtitlesElement.style.bottom = '0';\n subtitlesElement.style.left = '0';\n subtitlesElement.style.zIndex = '1';\n subtitlesElement.style.textAlign = 'center';\n containerElement.style.position = 'relative';\n containerElement.style.zIndex = '0';\n containerElement.appendChild(subtitlesElement);\n\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOutlineColor: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n volume: false,\n muted: false,\n playbackSpeed: false\n };\n\n var lastSub;\n var disabledSubs = false;\n\n async function refreshSubtitle() {\n if (lastSub) {\n renderSubtitle(lastSub.text, 'show');\n }\n }\n\n async function renderSubtitle(text, visibility) {\n if (disabledSubs) return;\n if (visibility === 'hide') {\n while (subtitlesElement.hasChildNodes()) {\n subtitlesElement.removeChild(subtitlesElement.lastChild);\n }\n lastSub = null;\n return;\n }\n\n lastSub = {\n text: text,\n };\n\n while (subtitlesElement.hasChildNodes()) {\n subtitlesElement.removeChild(subtitlesElement.lastChild);\n }\n\n subtitlesElement.style.bottom = offset + '%';\n subtitlesElement.style.opacity = subtitlesOpacity;\n\n var cueNode = document.createElement('span');\n cueNode.innerHTML = text;\n cueNode.style.display = 'inline-block';\n cueNode.style.padding = '0.2em';\n cueNode.style.fontSize = Math.floor(size / 25) + 'vmin';\n cueNode.style.color = textColor;\n cueNode.style.backgroundColor = backgroundColor;\n cueNode.style.textShadow = '1px 1px 0.1em ' + outlineColor;\n cueNode.style.whiteSpace = 'pre-wrap';\n\n subtitlesElement.appendChild(cueNode);\n subtitlesElement.appendChild(document.createElement('br'));\n\n }\n\n function renderCue(ev) {\n var cues = (ev.target || {}).activeCues;\n if (!cues.length) {\n renderSubtitle('', 'hide');\n } else {\n if (cues.length > 3) {\n // most probably SSA/ASS subs glitch\n ev.target.removeEventListener('cuechange', renderCue);\n renderSubtitle('', 'hide');\n return;\n }\n var text = '';\n for (var i in cues) {\n var cue = cues[i];\n if (cue.text) {\n var cleanedText = cue.text.replace(SSA_DESCRIPTORS_REGEX, '');\n text += (text ? '\\n' : '') + cleanedText;\n }\n }\n renderSubtitle(text, 'show');\n }\n }\n\n function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState >= videoElement.HAVE_METADATA;\n }\n case 'paused': {\n if (stream === null) {\n return null;\n }\n\n return !!videoElement.paused;\n }\n case 'time': {\n if (stream === null || videoElement.currentTime === null || !isFinite(videoElement.currentTime)) {\n return null;\n }\n\n return Math.floor(videoElement.currentTime * 1000);\n }\n case 'duration': {\n if (stream === null || videoElement.duration === null || !isFinite(videoElement.duration)) {\n return null;\n }\n\n return Math.floor(videoElement.duration * 1000);\n }\n case 'buffering': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState < videoElement.HAVE_FUTURE_DATA;\n }\n case 'subtitlesTracks': {\n if (stream === null) {\n return [];\n }\n\n if (!videoElement.textTracks || !Array.from(videoElement.textTracks).length) {\n return [];\n }\n\n return Array.from(videoElement.textTracks)\n .filter(function(track) {\n return track.kind === 'subtitles';\n })\n .map(function(track, index) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(index),\n lang: track.language,\n label: track.label || null,\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null) {\n return null;\n }\n\n if (!videoElement.textTracks || !Array.from(videoElement.textTracks).length) {\n return null;\n }\n\n return Array.from(videoElement.textTracks)\n .reduce(function(result, track, index) {\n if (result === null && track.mode === 'hidden') {\n return 'EMBEDDED_' + String(index);\n }\n\n return result;\n }, null);\n }\n case 'subtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return offset;\n }\n case 'subtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return size;\n }\n case 'subtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return textColor;\n }\n case 'subtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return backgroundColor;\n }\n case 'subtitlesOutlineColor': {\n if (destroyed) {\n return null;\n }\n\n return outlineColor;\n }\n case 'subtitlesOpacity': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOpacity;\n }\n case 'audioTracks': {\n if (stream === null) {\n return [];\n }\n\n if (!videoElement.audioTracks || !Array.from(videoElement.audioTracks).length) {\n return [];\n }\n\n return Array.from(videoElement.audioTracks)\n .map(function(track, index) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(index),\n lang: track.language,\n label: track.label || null,\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedAudioTrackId': {\n\n if (stream === null) {\n return null;\n }\n\n if (!videoElement.audioTracks || !Array.from(videoElement.audioTracks).length) {\n return null;\n }\n\n return Array.from(videoElement.audioTracks)\n .reduce(function(result, track, index) {\n if (result === null && track.enabled) {\n return 'EMBEDDED_' + String(index);\n }\n\n return result;\n }, null);\n }\n case 'volume': {\n if (destroyed || videoElement.volume === null || !isFinite(videoElement.volume)) {\n return null;\n }\n\n return Math.floor(videoElement.volume * 100);\n }\n case 'muted': {\n if (destroyed) {\n return null;\n }\n\n return !!videoElement.muted;\n }\n case 'playbackSpeed': {\n if (destroyed || videoElement.playbackRate === null || !isFinite(videoElement.playbackRate)) {\n return null;\n }\n\n return videoElement.playbackRate;\n }\n default: {\n return null;\n }\n }\n }\n function onVideoError() {\n if (destroyed) {\n return;\n }\n\n var error;\n switch (videoElement.error.code) {\n case 1: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_ABORTED;\n break;\n }\n case 2: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_NETWORK;\n break;\n }\n case 3: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_DECODE;\n break;\n }\n case 4: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;\n break;\n }\n default: {\n error = ERROR.UNKNOWN_ERROR;\n }\n }\n onError(Object.assign({}, error, {\n critical: true,\n error: videoElement.error\n }));\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n propValue ? videoElement.pause() : videoElement.play();\n onPropChanged('paused');\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n renderSubtitle('', 'hide');\n videoElement.currentTime = parseInt(propValue, 10) / 1000;\n onPropChanged('time');\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n Array.from(videoElement.textTracks)\n .forEach(function(track, index) {\n if (track.mode === 'hidden') {\n track.removeEventListener('cuechange', renderCue);\n }\n track.mode = 'EMBEDDED_' + String(index) === propValue ? 'hidden' : 'disabled';\n if (track.mode === 'hidden') {\n track.addEventListener('cuechange', renderCue);\n }\n });\n var selectedSubtitlesTrack = getProp('subtitlesTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n\n renderSubtitle('', 'hide');\n\n if (selectedSubtitlesTrack) {\n onPropChanged('selectedSubtitlesTrackId');\n events.emit('subtitlesTrackLoaded', selectedSubtitlesTrack);\n }\n }\n\n break;\n }\n case 'subtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n offset = Math.max(0, Math.min(100, parseInt(propValue, 10)));\n refreshSubtitle();\n onPropChanged('subtitlesOffset');\n }\n\n break;\n }\n case 'subtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n size = Math.max(0, parseInt(propValue, 10));\n refreshSubtitle();\n onPropChanged('subtitlesSize');\n }\n\n break;\n }\n case 'subtitlesTextColor': {\n if (typeof propValue === 'string') {\n try {\n textColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n onPropChanged('subtitlesTextColor');\n }\n\n break;\n }\n case 'subtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n try {\n backgroundColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesBackgroundColor');\n }\n\n break;\n }\n case 'subtitlesOutlineColor': {\n if (typeof propValue === 'string') {\n try {\n outlineColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesOutlineColor');\n }\n\n break;\n }\n case 'subtitlesOpacity': {\n if (typeof propValue === 'number') {\n try {\n subtitlesOpacity = Math.min(Math.max(propValue / 100, 0), 1);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesOpacity');\n }\n\n break;\n }\n case 'selectedAudioTrackId': {\n if (stream !== null) {\n for (var index = 0; index < videoElement.audioTracks.length; index++) {\n videoElement.audioTracks[index].enabled = !!('EMBEDDED_' + String(index) === propValue);\n }\n }\n\n var selectedAudioTrack = getProp('audioTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n\n if (selectedAudioTrack) {\n onPropChanged('selectedAudioTrackId');\n events.emit('audioTrackLoaded', selectedAudioTrack);\n }\n\n break;\n }\n case 'volume': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.muted = false;\n videoElement.volume = Math.max(0, Math.min(100, parseInt(propValue, 10))) / 100;\n onPropChanged('muted');\n onPropChanged('volume');\n }\n\n break;\n }\n case 'muted': {\n videoElement.muted = !!propValue;\n onPropChanged('muted');\n break;\n }\n case 'playbackSpeed': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.playbackRate = parseFloat(propValue);\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n stream = commandArgs.stream;\n onPropChanged('stream');\n onPropChanged('loaded');\n videoElement.autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;\n videoElement.currentTime = commandArgs.time !== null && isFinite(commandArgs.time) ? parseInt(commandArgs.time, 10) / 1000 : 0;\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n if (videoElement.textTracks) {\n videoElement.textTracks.onaddtrack = function() {\n videoElement.textTracks.onaddtrack = null;\n setTimeout(function() {\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n });\n };\n }\n if (videoElement.audioTracks) {\n videoElement.audioTracks.onaddtrack = function() {\n videoElement.audioTracks.onaddtrack = null;\n setTimeout(function() {\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n });\n };\n }\n videoElement.src = stream.url;\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n stream = null;\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = null;\n });\n videoElement.removeAttribute('src');\n videoElement.load();\n videoElement.currentTime = 0;\n onPropChanged('stream');\n onPropChanged('loaded');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n onPropChanged('subtitlesOffset');\n onPropChanged('subtitlesSize');\n onPropChanged('subtitlesTextColor');\n onPropChanged('subtitlesBackgroundColor');\n onPropChanged('subtitlesOutlineColor');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n events.removeAllListeners();\n videoElement.onerror = null;\n videoElement.onended = null;\n videoElement.onpause = null;\n videoElement.onplay = null;\n videoElement.ontimeupdate = null;\n videoElement.ondurationchange = null;\n videoElement.onwaiting = null;\n videoElement.onseeking = null;\n videoElement.onseeked = null;\n videoElement.onstalled = null;\n videoElement.onplaying = null;\n videoElement.oncanplay = null;\n videoElement.canplaythrough = null;\n videoElement.onloadeddata = null;\n videoElement.onvolumechange = null;\n videoElement.onratechange = null;\n videoElement.textTracks.onchange = null;\n containerElement.removeChild(videoElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nTitanVideo.canPlayStream = function(stream) {\n if (!stream) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n};\n\nTitanVideo.manifest = {\n name: 'TitanVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'subtitlesOpacity', 'volume', 'muted', 'playbackSpeed'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']\n};\n\nmodule.exports = TitanVideo;\n","var TitanVideo = require('./TitanVideo');\n\nmodule.exports = TitanVideo;\n","const SCOPE = 'AVPlay';\n\nconst createAVPlay = (transport) => {\n const getState = () => {\n return transport.request(SCOPE, 'getState');\n };\n\n const getCurrentTime = () => {\n return transport.request(SCOPE, 'getCurrentTime');\n };\n\n const getDuration = () => {\n return transport.request(SCOPE, 'getDuration');\n };\n\n const getTotalTrackInfo = () => {\n return transport.request(SCOPE, 'getTotalTrackInfo');\n };\n\n const getCurrentStreamInfo = () => {\n return transport.request(SCOPE, 'getCurrentStreamInfo');\n };\n\n const open = (path) => {\n return transport.request(SCOPE, 'open', path);\n };\n\n const prepareAsync = async (successHandler, errorHandler) => {\n const [handler, handlerResult] = await transport.request(SCOPE, 'prepareAsync', 'handler:success', 'handler:error');\n if (handler === 'handler:success') successHandler();\n if (handler === 'handler:error') errorHandler(...handlerResult);\n };\n\n const pause = () => {\n return transport.request(SCOPE, 'pause');\n };\n\n const play = () => {\n return transport.request(SCOPE, 'play');\n };\n\n const stop = () => {\n return transport.request(SCOPE, 'stop');\n };\n\n const seekTo = (time) => {\n return transport.request(SCOPE, 'seekTo', time);\n };\n\n const setSpeed = (rate) => {\n return transport.request(SCOPE, 'setSpeed', rate);\n };\n\n const setSelectTrack = (type, id) => {\n return transport.request(SCOPE, 'setSelectTrack', type, id);\n };\n\n const setDisplayRect = (x, y, width, height) => {\n return transport.request(SCOPE, 'setDisplayRect', x, y, width, height);\n };\n\n const setDisplayMethod = (method) => {\n return transport.request(SCOPE, 'setDisplayMethod', method);\n };\n\n const setListener = (listener) => {\n const handlers = Object.keys(listener).map((name) => `handler:${name}`);\n const onHandlerResponse = (handler, handlerResult) => {\n const name = handler.replace('handler:', '');\n if (listener[name]) {\n handlerResult ? listener[name](...handlerResult) : listener[name]();\n }\n };\n\n transport.listen(SCOPE, 'setListener', onHandlerResponse, ...handlers);\n };\n\n return {\n getState,\n getCurrentTime,\n getDuration,\n getTotalTrackInfo,\n getCurrentStreamInfo,\n open,\n prepareAsync,\n pause,\n play,\n stop,\n seekTo,\n setSpeed,\n setSelectTrack,\n setDisplayRect,\n setDisplayMethod,\n setListener,\n };\n};\n\nmodule.exports = createAVPlay;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar Color = require('color');\nvar ERROR = require('../error');\nvar getTracksData = require('../tracksData');\nvar createAVPlay = require('./AVPlay');\n\nvar SSA_DESCRIPTORS_REGEX = /^\\{(\\\\an[1-8])+\\}/i;\n\nfunction TizenVideo(options) {\n options = options || {};\n\n var isBuffering = true;\n var videoSpeed = 1;\n var currentSubTrack = null;\n var currentAudioTrack = null;\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var AVPlay = createAVPlay(options.transport);\n\n var promiseAudioTrackChange = false;\n\n var size = 100;\n var offset = 0;\n var textColor = 'rgb(255, 255, 255)';\n var backgroundColor = 'rgba(0, 0, 0, 0)';\n var outlineColor = 'rgb(34, 34, 34)';\n var subtitlesOpacity = 1;\n\n var objElement = document.createElement('object');\n objElement.type = 'application/avplayer';\n objElement.style.width = '100%';\n objElement.style.height = '100%';\n objElement.style.backgroundColor = 'black';\n\n var lastSub;\n var disabledSubs = false;\n\n async function refreshSubtitle() {\n if (lastSub) {\n var currentTime = await getProp('time');\n var lastSubDurationDiff = lastSub.duration - (currentTime - lastSub.now);\n if (lastSubDurationDiff > 0) renderSubtitle(lastSubDurationDiff, lastSub.text);\n }\n }\n\n async function renderSubtitle(duration, text) {\n if (disabledSubs) return;\n var now = await getProp('time');\n var cleanedText = text.replace(SSA_DESCRIPTORS_REGEX, '');\n\n // we ignore custom delay here, it's not needed for embedded subs\n lastSub = {\n duration: duration,\n text: cleanedText,\n now: now,\n };\n if (subtitleTimeout) {\n clearTimeout(subtitleTimeout);\n subtitleTimeout = false;\n }\n\n while (subtitlesElement.hasChildNodes()) {\n subtitlesElement.removeChild(subtitlesElement.lastChild);\n }\n\n subtitlesElement.style.bottom = offset + '%';\n subtitlesElement.style.opacity = subtitlesOpacity;\n\n var cueNode = document.createElement('span');\n cueNode.innerHTML = cleanedText;\n cueNode.style.display = 'inline-block';\n cueNode.style.padding = '0.2em';\n cueNode.style.fontSize = Math.floor(size / 25) + 'vmin';\n cueNode.style.color = textColor;\n cueNode.style.backgroundColor = backgroundColor;\n cueNode.style.textShadow = '1px 1px 0.1em ' + outlineColor;\n\n subtitlesElement.appendChild(cueNode);\n subtitlesElement.appendChild(document.createElement('br'));\n\n if (duration) {\n subtitleTimeout = setTimeout(function() {\n while (subtitlesElement.hasChildNodes()) {\n subtitlesElement.removeChild(subtitlesElement.lastChild);\n }\n }, parseInt(duration * videoSpeed));\n }\n }\n\n var subtitleTimeout = false;\n\n AVPlay.setListener({\n onbufferingstart: function() {\n isBuffering = true;\n onPropChanged('buffering');\n },\n onbufferingprogress: function() {\n isBuffering = true;\n onPropChanged('buffering');\n },\n onbufferingcomplete: function() {\n isBuffering = false;\n onPropChanged('buffering');\n },\n oncurrentplaytime: function() {\n onPropChanged('time');\n },\n onsubtitlechange: function(duration, text) {\n renderSubtitle(duration, text);\n },\n onstreamcompleted: function() {\n onEnded();\n }\n });\n\n containerElement.appendChild(objElement);\n\n var subtitlesElement = document.createElement('div');\n subtitlesElement.style.position = 'absolute';\n subtitlesElement.style.right = '0';\n subtitlesElement.style.bottom = '0';\n subtitlesElement.style.left = '0';\n subtitlesElement.style.zIndex = '1';\n subtitlesElement.style.textAlign = 'center';\n containerElement.style.position = 'relative';\n containerElement.style.zIndex = '0';\n containerElement.appendChild(subtitlesElement);\n\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var retries = 0;\n var maxRetries = 5;\n var isLoaded = null;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOutlineColor: false,\n subtitlesOpacity: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n playbackSpeed: false\n };\n\n var gotTraktData = false;\n var tracksData = { audio: [], subs: [] };\n\n function retrieveExtendedTracks() {\n if (!gotTraktData && stream !== null) {\n gotTraktData = true;\n getTracksData(stream.url, function(resp) {\n if (resp) {\n tracksData = resp;\n }\n if (((tracksData || {}).subs || []).length) {\n onPropChanged('subtitlesTracks');\n }\n if (((tracksData || {}).audio || []).length) {\n onPropChanged('audioTracks');\n }\n });\n }\n }\n\n async function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n return isLoaded;\n }\n case 'paused': {\n if (stream === null) {\n return null;\n }\n\n var state = await AVPlay.getState();\n var isPaused = !!(state === 'PAUSED');\n\n if (!isPaused && promiseAudioTrackChange) {\n AVPlay.setSelectTrack('AUDIO', parseInt(promiseAudioTrackChange.replace('EMBEDDED_', '')));\n promiseAudioTrackChange = false;\n }\n\n return isPaused;\n }\n case 'time': {\n var currentTime = await AVPlay.getCurrentTime();\n if (stream === null || currentTime === null || !isFinite(currentTime)) {\n return null;\n }\n\n return Math.floor(currentTime);\n }\n case 'duration': {\n var duration = await AVPlay.getDuration();\n if (stream === null || duration === null || !isFinite(duration)) {\n return null;\n }\n\n return Math.floor(duration);\n }\n case 'buffering': {\n if (stream === null) {\n return null;\n }\n\n return isBuffering;\n }\n case 'subtitlesTracks': {\n if (stream === null) {\n return [];\n }\n\n var totalTrackInfo = await AVPlay.getTotalTrackInfo();\n var textTracks = [];\n\n for (var i = 0; i < totalTrackInfo.length; i++) {\n if (totalTrackInfo[i].type === 'TEXT') {\n var textTrack = totalTrackInfo[i];\n var textTrackId = 'EMBEDDED_' + String(textTrack.index);\n if (!currentSubTrack && !textTracks.length) {\n currentSubTrack = textTrackId;\n }\n var extra = {};\n try {\n extra = JSON.parse(textTrack.extra_info);\n } catch(e) {}\n var textTrackLang = typeof extra.track_lang === 'string' && extra.track_lang.length > 0 ? extra.track_lang.trim() : null;\n var textTrackLabel = null;\n if (((tracksData || {}).subs || []).length) {\n var extendedTrackData = tracksData.subs.find(function(el) {\n return (el || {}).id-1 === textTrack.index;\n });\n if (extendedTrackData) {\n textTrackLang = extendedTrackData.lang || 'eng';\n textTrackLabel = extendedTrackData.label || null;\n }\n }\n textTracks.push({\n id: textTrackId,\n lang: textTrackLang,\n label: textTrackLabel,\n origin: 'EMBEDDED',\n embedded: true,\n mode: !disabledSubs && textTrackId === currentSubTrack ? 'showing' : 'disabled',\n });\n }\n }\n\n return textTracks;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null || disabledSubs) {\n return null;\n }\n\n var currentTracks = await AVPlay.getCurrentStreamInfo();\n var currentIndex;\n\n for (var i = 0; i < currentTracks.length; i++) {\n if (currentTracks[i].type === 'TEXT') {\n currentIndex = currentTracks[i].index;\n\n break;\n }\n }\n\n return currentIndex ? 'EMBEDDED_' + String(currentIndex) : null;\n\n }\n case 'subtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return offset;\n }\n case 'subtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return size;\n }\n case 'subtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return textColor;\n }\n case 'subtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return backgroundColor;\n }\n case 'subtitlesOutlineColor': {\n if (destroyed) {\n return null;\n }\n\n return outlineColor;\n }\n case 'subtitlesOpacity': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOpacity;\n }\n case 'audioTracks': {\n if (stream === null) {\n return [];\n }\n\n var totalTrackInfo = await AVPlay.getTotalTrackInfo();\n var audioTracks = [];\n\n for (var i = 0; i < totalTrackInfo.length; i++) {\n if (totalTrackInfo[i].type === 'AUDIO') {\n var audioTrack = totalTrackInfo[i];\n var audioTrackId = 'EMBEDDED_' + String(audioTrack.index);\n if (!currentAudioTrack && !audioTracks.length) {\n currentAudioTrack = audioTrackId;\n }\n var extra = {};\n try {\n extra = JSON.parse(audioTrack.extra_info);\n } catch(e) {}\n var audioTrackLang = typeof extra.language === 'string' && extra.language.length > 0 ? extra.language : null;\n var audioTrackLabel = null;\n if (((tracksData || {}).audio || []).length) {\n var extendedTrackData = tracksData.audio.find(function(el) {\n return (el || {}).id-1 === audioTrack.index;\n });\n if (extendedTrackData) {\n audioTrackLang = extendedTrackData.lang || 'eng';\n audioTrackLabel = extendedTrackData.label || null;\n }\n }\n audioTracks.push({\n id: audioTrackId,\n lang: audioTrackLang,\n label: audioTrackLabel,\n origin: 'EMBEDDED',\n embedded: true,\n mode: audioTrackId === currentAudioTrack ? 'showing' : 'disabled',\n });\n }\n }\n\n return audioTracks;\n }\n case 'selectedAudioTrackId': {\n if (stream === null) {\n return null;\n }\n\n if (promiseAudioTrackChange) {\n return promiseAudioTrackChange;\n }\n\n var currentTracks = await AVPlay.getCurrentStreamInfo();\n var currentIndex = false;\n\n for (var i = 0; i < currentTracks.length; i++) {\n if (currentTracks[i].type === 'AUDIO') {\n currentIndex = currentTracks[i].index;\n\n break;\n }\n }\n\n return currentIndex !== false ? 'EMBEDDED_' + String(currentIndex) : null;\n }\n case 'playbackSpeed': {\n if (destroyed || videoSpeed === null || !isFinite(videoSpeed)) {\n return null;\n }\n\n return videoSpeed;\n }\n default: {\n return null;\n }\n }\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n async function onPropChanged(propName) {\n if (observedProps[propName]) {\n var propValue = await getProp(propName);\n events.emit('propChanged', propName, propValue);\n }\n }\n async function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n var propValue = await getProp(propName);\n events.emit('propValue', propName, propValue);\n observedProps[propName] = true;\n }\n }\n async function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n var willPause = !!propValue;\n willPause ? AVPlay.pause() : AVPlay.play();\n if (willPause) {\n if (subtitleTimeout) {\n clearTimeout(subtitleTimeout);\n }\n } else {\n refreshSubtitle();\n }\n }\n\n onPropChanged('paused');\n\n // the paused state is usually correct, but i have seen it not change on tizen 3\n // which causes all kinds of issues in the UI: (only happens with some videos)\n var lastKnownProp = await getProp('paused');\n\n setTimeout(async function() {\n if (await getProp('paused') !== lastKnownProp) {\n onPropChanged('paused');\n }\n }, 1000);\n\n break;\n }\n case 'time': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n AVPlay.seekTo(parseInt(propValue, 10));\n renderSubtitle(1, '');\n onPropChanged('time');\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n if ((currentSubTrack || '').indexOf('EMBEDDED_') === 0) {\n if ((propValue || '').indexOf('EMBEDDED_') === -1) {\n renderSubtitle(1, '');\n disabledSubs = true;\n onPropChanged('selectedSubtitlesTrackId');\n return;\n }\n disabledSubs = false;\n\n currentSubTrack = propValue;\n\n var subtitlesTracks = await getProp('subtitlesTracks');\n var selectedSubtitlesTrack = subtitlesTracks\n .find(function(track) {\n return track.id === propValue;\n });\n\n AVPlay.setSelectTrack('TEXT', parseInt(currentSubTrack.replace('EMBEDDED_', '')));\n\n if (selectedSubtitlesTrack) {\n events.emit('subtitlesTrackLoaded', selectedSubtitlesTrack);\n onPropChanged('selectedSubtitlesTrackId');\n }\n } else if (!propValue) {\n renderSubtitle(1, '');\n disabledSubs = true;\n onPropChanged('selectedSubtitlesTrackId');\n }\n }\n\n break;\n }\n case 'subtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n offset = Math.max(0, Math.min(100, parseInt(propValue, 10)));\n refreshSubtitle();\n onPropChanged('subtitlesOffset');\n }\n\n break;\n }\n case 'subtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n size = Math.max(0, parseInt(propValue, 10));\n refreshSubtitle();\n onPropChanged('subtitlesSize');\n }\n\n break;\n }\n case 'subtitlesTextColor': {\n if (typeof propValue === 'string') {\n try {\n textColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n onPropChanged('subtitlesTextColor');\n }\n\n break;\n }\n case 'subtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n try {\n backgroundColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesBackgroundColor');\n }\n\n break;\n }\n case 'subtitlesOutlineColor': {\n if (typeof propValue === 'string') {\n try {\n outlineColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesOutlineColor');\n }\n\n break;\n }\n case 'subtitlesOpacity': {\n if (typeof propValue === 'number') {\n try {\n subtitlesOpacity = Math.min(Math.max(propValue / 100, 0), 1);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesOpacity');\n }\n\n break;\n }\n case 'selectedAudioTrackId': {\n if (stream !== null) {\n currentAudioTrack = propValue;\n\n var audioTracks = await getProp('audioTracks');\n var selectedAudioTrack = audioTracks\n .find(function(track) {\n return track.id === propValue;\n });\n\n if (await getProp('paused')) {\n // issues before this logic:\n // tizen 3 does not allow changing audio track when paused\n // tizen 5 does, but it will only change getProp('selectedAudioTrackId') after playback starts\n\n // will be changed on next play event, until then we will overwrite the result of getProp('selectedAudioTrackId')\n promiseAudioTrackChange = propValue;\n onPropChanged('selectedAudioTrackId');\n } else {\n AVPlay.setSelectTrack('AUDIO', parseInt(currentAudioTrack.replace('EMBEDDED_', '')));\n }\n if (selectedAudioTrack) {\n events.emit('audioTrackLoaded', selectedAudioTrack);\n onPropChanged('selectedAudioTrackId');\n }\n }\n\n break;\n }\n case 'playbackSpeed': {\n if (propValue !== null && isFinite(propValue)) {\n videoSpeed = parseFloat(propValue);\n\n try {\n AVPlay.setSpeed(videoSpeed);\n } catch (e) {}\n\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n stream = commandArgs.stream;\n\n if (stream !== commandArgs.stream) {\n return;\n }\n onPropChanged('buffering');\n\n var tizenVersion = false;\n\n var TIZEN_MATCHES = navigator.userAgent.match(/Tizen (\\d+\\.\\d+)/i);\n\n if (TIZEN_MATCHES && TIZEN_MATCHES[1]) {\n tizenVersion = parseFloat(TIZEN_MATCHES[1]);\n }\n\n if (!tizenVersion || tizenVersion >= 6) {\n retrieveExtendedTracks();\n }\n\n AVPlay.open(stream.url);\n AVPlay.setDisplayRect(0, 0, window.innerWidth, window.innerHeight);\n AVPlay.setDisplayMethod('PLAYER_DISPLAY_MODE_LETTER_BOX');\n AVPlay.seekTo(commandArgs.time !== null && isFinite(commandArgs.time) ? parseInt(commandArgs.time, 10) : 0);\n\n function onPrepareSuccess() {\n onPropChanged('duration');\n AVPlay.play();\n\n isLoaded = true;\n onPropChanged('loaded');\n onPropChanged('stream');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n }\n\n function onPrepareError(error) {\n if (retries < maxRetries) {\n retries++;\n try {\n AVPlay.stop();\n } catch(e) {}\n command('load', commandArgs);\n } else {\n onError(Object.assign({}, ERROR.STREAM_FAILED_TO_LOAD, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null,\n error: error,\n }));\n }\n }\n\n AVPlay.prepareAsync(onPrepareSuccess, onPrepareError);\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n stream = null;\n AVPlay.stop();\n isLoaded = false;\n onPropChanged('loaded');\n onPropChanged('stream');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n AVPlay.stop();\n onPropChanged('subtitlesOffset');\n onPropChanged('subtitlesSize');\n onPropChanged('subtitlesTextColor');\n onPropChanged('subtitlesBackgroundColor');\n onPropChanged('subtitlesOutlineColor');\n onPropChanged('subtitlesOpacity');\n onPropChanged('playbackSpeed');\n events.removeAllListeners();\n containerElement.removeChild(objElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nTizenVideo.canPlayStream = function() {\n return Promise.resolve(true);\n};\n\nTizenVideo.manifest = {\n name: 'TizenVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'subtitlesOpacity', 'playbackSpeed'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']\n};\n\nmodule.exports = TizenVideo;\n","var TizenVideo = require('./TizenVideo');\n\nmodule.exports = TizenVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\n\nvar SSA_DESCRIPTORS_REGEX = /^\\{(\\\\an[1-8])+\\}/i;\n\nfunction VidaaVideo(options) {\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var videoElement = document.createElement('video');\n videoElement.style.width = '100%';\n videoElement.style.height = '100%';\n videoElement.style.backgroundColor = 'black';\n videoElement.controls = false;\n videoElement.playsInline = true;\n videoElement.onerror = function() {\n onVideoError();\n };\n videoElement.onended = function() {\n onEnded();\n };\n videoElement.onpause = function() {\n onPropChanged('paused');\n };\n videoElement.onplay = function() {\n onPropChanged('paused');\n };\n videoElement.ontimeupdate = function() {\n onPropChanged('time');\n };\n videoElement.ondurationchange = function() {\n onPropChanged('duration');\n };\n videoElement.onwaiting = function() {\n onPropChanged('buffering');\n };\n videoElement.onseeking = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n };\n videoElement.onseeked = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n };\n videoElement.onstalled = function() {\n onPropChanged('buffering');\n };\n videoElement.onplaying = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n };\n videoElement.oncanplay = function() {\n onPropChanged('buffering');\n };\n videoElement.canplaythrough = function() {\n onPropChanged('buffering');\n };\n videoElement.onloadedmetadata = function() {\n onPropChanged('loaded');\n };\n videoElement.onloadeddata = function() {\n onPropChanged('buffering');\n };\n videoElement.onvolumechange = function() {\n onPropChanged('volume');\n onPropChanged('muted');\n };\n videoElement.onratechange = function() {\n onPropChanged('playbackSpeed');\n };\n videoElement.textTracks.onchange = function() {\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onCueChange();\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = onCueChange;\n });\n };\n containerElement.appendChild(videoElement);\n\n var subtitlesElement = document.createElement('div');\n subtitlesElement.style.position = 'absolute';\n subtitlesElement.style.right = '0';\n subtitlesElement.style.bottom = '0';\n subtitlesElement.style.left = '0';\n subtitlesElement.style.zIndex = '1';\n subtitlesElement.style.textAlign = 'center';\n containerElement.style.position = 'relative';\n containerElement.style.zIndex = '0';\n containerElement.appendChild(subtitlesElement);\n\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n volume: false,\n muted: false,\n playbackSpeed: false\n };\n\n function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState >= videoElement.HAVE_METADATA;\n }\n case 'paused': {\n if (stream === null) {\n return null;\n }\n\n return !!videoElement.paused;\n }\n case 'time': {\n if (stream === null || videoElement.currentTime === null || !isFinite(videoElement.currentTime)) {\n return null;\n }\n\n return Math.floor(videoElement.currentTime * 1000);\n }\n case 'duration': {\n if (stream === null || videoElement.duration === null || !isFinite(videoElement.duration)) {\n return null;\n }\n\n return Math.floor(videoElement.duration * 1000);\n }\n case 'buffering': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState < videoElement.HAVE_FUTURE_DATA;\n }\n case 'subtitlesTracks': {\n if (stream === null) {\n return [];\n }\n\n return Array.from(videoElement.textTracks)\n .map(function(track, index) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(index),\n lang: track.language,\n label: track.label || null,\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null) {\n return null;\n }\n\n return Array.from(videoElement.textTracks)\n .reduce(function(result, track, index) {\n if (result === null && track.mode === 'showing') {\n return 'EMBEDDED_' + String(index);\n }\n\n return result;\n }, null);\n }\n case 'audioTracks': {\n if (stream === null) {\n return [];\n }\n\n if (!videoElement.audioTracks || !Array.from(videoElement.audioTracks).length) {\n return [];\n }\n\n return Array.from(videoElement.audioTracks)\n .map(function(track, index) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(index),\n lang: track.language,\n label: track.label || null,\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedAudioTrackId': {\n\n if (stream === null) {\n return null;\n }\n\n if (!videoElement.audioTracks || !Array.from(videoElement.audioTracks).length) {\n return null;\n }\n\n return Array.from(videoElement.audioTracks)\n .reduce(function(result, track, index) {\n if (result === null && track.enabled) {\n return 'EMBEDDED_' + String(index);\n }\n\n return result;\n }, null);\n }\n case 'volume': {\n if (destroyed || videoElement.volume === null || !isFinite(videoElement.volume)) {\n return null;\n }\n\n return Math.floor(videoElement.volume * 100);\n }\n case 'muted': {\n if (destroyed) {\n return null;\n }\n\n return !!videoElement.muted;\n }\n case 'playbackSpeed': {\n if (destroyed || videoElement.playbackRate === null || !isFinite(videoElement.playbackRate)) {\n return null;\n }\n\n return videoElement.playbackRate;\n }\n default: {\n return null;\n }\n }\n }\n function onCueChange() {\n Array.from(videoElement.textTracks).forEach(function(track) {\n Array.from(track.cues || []).forEach(function(cue) {\n cue.snapToLines = false;\n cue.line = 100;\n });\n });\n }\n function onVideoError() {\n if (destroyed) {\n return;\n }\n\n var error;\n switch (videoElement.error.code) {\n case 1: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_ABORTED;\n break;\n }\n case 2: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_NETWORK;\n break;\n }\n case 3: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_DECODE;\n break;\n }\n case 4: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;\n break;\n }\n default: {\n error = ERROR.UNKNOWN_ERROR;\n }\n }\n onError(Object.assign({}, error, {\n critical: true,\n error: videoElement.error\n }));\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n propValue ? videoElement.pause() : videoElement.play();\n onPropChanged('paused');\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n videoElement.currentTime = parseInt(propValue, 10) / 1000;\n onPropChanged('time');\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n Array.from(videoElement.textTracks)\n .forEach(function(track, index) {\n track.mode = 'EMBEDDED_' + String(index) === propValue ? 'showing' : 'disabled';\n });\n var selecterdSubtitlesTrack = getProp('subtitlesTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n if (selecterdSubtitlesTrack) {\n onPropChanged('selectedSubtitlesTrackId');\n events.emit('subtitlesTrackLoaded', selecterdSubtitlesTrack);\n }\n }\n\n break;\n }\n case 'selectedAudioTrackId': {\n if (stream !== null) {\n for (var index = 0; index < videoElement.audioTracks.length; index++) {\n videoElement.audioTracks[index].enabled = !!('EMBEDDED_' + String(index) === propValue);\n }\n }\n\n var selectedAudioTrack = getProp('audioTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n\n if (selectedAudioTrack) {\n onPropChanged('selectedAudioTrackId');\n events.emit('audioTrackLoaded', selectedAudioTrack);\n }\n\n break;\n }\n case 'volume': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.muted = false;\n videoElement.volume = Math.max(0, Math.min(100, parseInt(propValue, 10))) / 100;\n onPropChanged('muted');\n onPropChanged('volume');\n }\n\n break;\n }\n case 'muted': {\n videoElement.muted = !!propValue;\n onPropChanged('muted');\n break;\n }\n case 'playbackSpeed': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.playbackRate = parseFloat(propValue);\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n stream = commandArgs.stream;\n onPropChanged('stream');\n onPropChanged('loaded');\n videoElement.autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;\n videoElement.currentTime = commandArgs.time !== null && isFinite(commandArgs.time) ? parseInt(commandArgs.time, 10) / 1000 : 0;\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n if (videoElement.textTracks) {\n videoElement.textTracks.onaddtrack = function() {\n videoElement.textTracks.onaddtrack = null;\n setTimeout(function() {\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n });\n };\n }\n if (videoElement.audioTracks) {\n videoElement.audioTracks.onaddtrack = function() {\n videoElement.audioTracks.onaddtrack = null;\n setTimeout(function() {\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n });\n };\n }\n videoElement.src = stream.url;\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n stream = null;\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = null;\n });\n videoElement.removeAttribute('src');\n videoElement.load();\n videoElement.currentTime = 0;\n onPropChanged('stream');\n onPropChanged('loaded');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n events.removeAllListeners();\n videoElement.onerror = null;\n videoElement.onended = null;\n videoElement.onpause = null;\n videoElement.onplay = null;\n videoElement.ontimeupdate = null;\n videoElement.ondurationchange = null;\n videoElement.onwaiting = null;\n videoElement.onseeking = null;\n videoElement.onseeked = null;\n videoElement.onstalled = null;\n videoElement.onplaying = null;\n videoElement.oncanplay = null;\n videoElement.canplaythrough = null;\n videoElement.onloadeddata = null;\n videoElement.onvolumechange = null;\n videoElement.onratechange = null;\n videoElement.textTracks.onchange = null;\n containerElement.removeChild(videoElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nVidaaVideo.canPlayStream = function(stream) {\n if (!stream) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n};\n\nVidaaVideo.manifest = {\n name: 'VidaaVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'volume', 'muted', 'playbackSpeed'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']\n};\n\nmodule.exports = VidaaVideo;\n","var VidaaVideo = require('./VidaaVideo');\n\nmodule.exports = VidaaVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\nvar getTracksData = require('../tracksData');\n\nfunction luna(params, call, fail, method) {\n if (call) params.onSuccess = call || function() {};\n\n params.onFailure = function (result) {\n // eslint-disable-next-line no-console\n console.log('WebOS', (params.method || method) + ' [fail][' + result.errorCode + '] ' + result.errorText );\n\n // eslint-disable-next-line no-console\n console.log('fail result', JSON.stringify(result));\n\n if (fail) fail();\n };\n\n window.webOS.service.request(method || 'luna://com.webos.media', params);\n}\n\nfunction launchVideoApp(params, success, failure) {\n window.webOS.service.request('luna://com.webos.applicationManager', {\n method: 'launch',\n parameters: {\n 'id': params.id,\n 'params': {\n 'payload':[\n {\n 'fullPath': params.url,\n 'artist':'',\n 'subtitle':'',\n 'dlnaInfo':{\n 'flagVal':4096,\n 'cleartextSize':'-1',\n 'contentLength':'-1',\n 'opVal':1,\n 'protocolInfo':'http-get:*:video/x-matroska:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000',\n 'duration':0\n },\n 'mediaType':'VIDEO',\n 'thumbnail':'',\n 'deviceType':'DMR',\n 'album':'',\n 'fileName': params.name,\n 'lastPlayPosition': params.position\n }\n ]\n }\n },\n onSuccess: function () {\n success && success();\n },\n onFailure: function () {\n failure && failure(new Error('Failed to launch' + params.id));\n\n if (params.id === 'com.webos.app.photovideo') {\n params.id = 'com.webos.app.smartshare';\n launchVideoApp(params, success, failure);\n } else if(params.id === 'com.webos.app.smartshare') {\n params.id = 'com.webos.app.mediadiscovery';\n launchVideoApp(params, success, failure);\n }\n }\n });\n}\n\nvar webOsColors = ['none', 'black', 'white', 'yellow', 'red', 'green', 'blue'];\nvar stremioColors = {\n // rgba\n 'rgba(0, 0, 0, 0)': 'none',\n 'rgba(0, 0, 0, 255)': 'black',\n 'rgba(255, 255, 255, 255)': 'white',\n 'rgba(255, 255, 0, 255)': 'yellow',\n 'rgba(255, 0, 0, 255)': 'red',\n 'rgba(0, 255, 0, 255)': 'green',\n 'rgba(0, 0, 255, 255)': 'blue',\n // rgba case 2\n 'rgba(0, 0, 0, 1)': 'black',\n 'rgba(255, 255, 255, 1)': 'white',\n 'rgba(255, 255, 0, 1)': 'yellow',\n 'rgba(255, 0, 0, 1)': 'red',\n 'rgba(0, 255, 0, 1)': 'green',\n 'rgba(0, 0, 255, 1)': 'blue',\n // rgb\n 'rgb(0, 0, 0)': 'black',\n 'rgb(255, 255, 255)': 'white',\n 'rgb(255, 255, 0)': 'yellow',\n 'rgb(255, 0, 0)': 'red',\n 'rgb(0, 255, 0)': 'green',\n 'rgb(0, 0, 255)': 'blue',\n // 8-digit hex\n '#000000FF': 'black',\n '#FFFFFFFF': 'white',\n '#FFFF00FF': 'yellow',\n '#FF0000FF': 'red',\n '#00FF00FF': 'green',\n '#0000FFFF': 'blue',\n // 6-digit hex\n '#000000': 'black',\n '#FFFFFF': 'white',\n '#FFFF00': 'yellow',\n '#FF0000': 'red',\n '#00FF00': 'green',\n '#0000FF': 'blue'\n};\n\nfunction stremioSubOffsets(offset) {\n if (offset <= 0) {\n return -3;\n } else if (offset <= 5) {\n return -2;\n } else if (offset <= 10) {\n return 0;\n } else if (offset <= 15) {\n return 2;\n } else if (offset <= 20) {\n return 4;\n }\n return false;\n}\n\nfunction stremioSubSizes(size) {\n // there is also: 0 (tiny)\n if (size <= 100) {\n return 1;\n } else if (size <= 125) {\n // not used because of 50% step\n return 2;\n } else if (size <= 150) {\n return 3;\n } else if (size <= 200) {\n return 4;\n }\n return false;\n}\n\nvar device = {\n unsupportedAudio: ['DTS', 'TRUEHD'],\n unsupportedSubs: ['HDMV/PGS', 'VOBSUB']\n};\n\nvar fetchedDeviceInfo = false;\n\nfunction retrieveDeviceInfo() {\n if (fetchedDeviceInfo) {\n return;\n }\n window.webOS.service.request('luna://com.webos.service.config', {\n method: 'getConfigs',\n parameters: {\n 'configNames': [\n 'tv.model.edidType'\n ]\n },\n onSuccess: function (result) {\n if (((result || {}).configs || {})['tv.model.edidType']) {\n fetchedDeviceInfo = true;\n var edidType = result.configs['tv.model.edidType'].toLowerCase();\n if (edidType.includes('dts')) {\n device.unsupportedAudio = device.unsupportedAudio.filter(function(e) {\n return e !== 'DTS';\n });\n }\n if (edidType.includes('truehd')) {\n device.unsupportedAudio = device.unsupportedAudio.filter(function(e) {\n return e !== 'TRUEHD';\n });\n }\n }\n },\n onFailure: function (err) {\n // eslint-disable-next-line no-console\n console.log('could not get deviceInfo', err);\n }\n });\n}\n\nfunction WebOsVideo(options) {\n\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var isLoaded = null;\n\n var subSize = 75;\n\n var disabledSubs = true;\n\n var currentSubTrack = false;\n\n var currentAudioTrack = false;\n\n var textTracks = [];\n\n var audioTracks = [];\n\n var count_message = 0;\n\n var subStyles = {\n color: 'white',\n font_size: 1,\n bg_color: 'none',\n position: -1,\n bg_opacity: 0,\n char_opacity: 255\n };\n\n var toggleSubtitles = function (status) {\n if (!videoElement.mediaId) return;\n\n disabledSubs = !status;\n\n luna({\n method: 'setSubtitleEnable',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'enable': status\n }\n });\n };\n\n var styleElement = document.createElement('style');\n containerElement.appendChild(styleElement);\n styleElement.sheet.insertRule('video::cue { font-size: 4vmin; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0); text-shadow: rgb(34, 34, 34) 1px 1px 0.1em; }');\n var videoElement = document.createElement('video');\n videoElement.style.width = '100%';\n videoElement.style.height = '100%';\n videoElement.style.backgroundColor = 'black';\n // videoElement.crossOrigin = 'anonymous';\n videoElement.controls = false;\n videoElement.onerror = function() {\n onVideoError();\n };\n videoElement.onended = function() {\n onEnded();\n };\n videoElement.onpause = function() {\n onPropChanged('paused');\n };\n videoElement.onplay = function() {\n onPropChanged('paused');\n };\n videoElement.ontimeupdate = function() {\n onPropChanged('time');\n onPropChanged('buffered');\n };\n videoElement.ondurationchange = function() {\n onPropChanged('duration');\n };\n videoElement.onwaiting = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onseeking = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onseeked = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onstalled = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onplaying = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n if (!isLoaded) {\n isLoaded = true;\n onPropChanged('loaded');\n }\n };\n videoElement.oncanplay = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.canplaythrough = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onloadeddata = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onloadedmetadata = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n setProp('time', startTime);\n };\n videoElement.onvolumechange = function() {\n onPropChanged('volume');\n onPropChanged('muted');\n };\n videoElement.onratechange = function() {\n onPropChanged('playbackSpeed');\n };\n videoElement.textTracks.onchange = function() {\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onCueChange();\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = onCueChange;\n });\n };\n containerElement.appendChild(videoElement);\n\n var lastSubColor = null;\n var lastSubBgColor = null;\n var lastPlaybackSpeed = 1;\n\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var startTime = null;\n var subtitlesOffset = 0;\n var subtitlesOpacity = 100;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n buffered: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOpacity: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n volume: false,\n muted: false,\n playbackSpeed: false\n };\n\n var gotTraktData = false;\n var tracksData = { audio: [], subs: [] };\n\n function retrieveExtendedTracks() {\n if (!gotTraktData && stream !== null) {\n gotTraktData = true;\n getTracksData(stream.url, function(resp) {\n var nrSubs = 0;\n var nrAudio = 0;\n textTracks = [];\n audioTracks = [];\n if (resp) {\n tracksData = resp;\n }\n if (((tracksData || {}).subs || []).length) {\n tracksData.subs.forEach(function(track) {\n if (device.unsupportedSubs.includes(track.codec || '')) {\n return;\n }\n var textTrackId = nrSubs;\n nrSubs++;\n if (!currentSubTrack && !textTracks.length) {\n currentSubTrack = textTrackId;\n }\n textTracks.push({\n id: 'EMBEDDED_' + textTrackId,\n lang: track.lang || 'eng',\n label: track.label || null,\n origin: 'EMBEDDED',\n embedded: true,\n mode: textTrackId === currentSubTrack ? 'showing' : 'disabled',\n });\n });\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n }\n if (((tracksData || {}).audio || []).length) {\n tracksData.audio.forEach(function(track) {\n if (device.unsupportedAudio.includes(track.codec || '')) {\n return;\n }\n var audioTrackId = nrAudio;\n nrAudio++;\n if (!currentAudioTrack && !audioTracks.length) {\n currentAudioTrack = audioTrackId;\n }\n audioTracks.push({\n id: 'EMBEDDED_' + audioTrackId,\n lang: track.lang || 'eng',\n label: track.label || null,\n origin: 'EMBEDDED',\n embedded: true,\n mode: audioTrackId === currentAudioTrack ? 'showing' : 'disabled',\n });\n });\n currentAudioTrack = 'EMBEDDED_0';\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n }\n });\n }\n }\n\n function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n return isLoaded;\n }\n case 'paused': {\n if (stream === null) {\n return null;\n }\n\n return !!videoElement.paused;\n }\n case 'time': {\n if (stream === null || videoElement.currentTime === null || !isFinite(videoElement.currentTime)) {\n return null;\n }\n\n return Math.floor(videoElement.currentTime * 1000);\n }\n case 'duration': {\n if (stream === null || videoElement.duration === null || !isFinite(videoElement.duration)) {\n return null;\n }\n\n return Math.floor(videoElement.duration * 1000);\n }\n case 'buffering': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState < videoElement.HAVE_FUTURE_DATA;\n }\n case 'buffered': {\n if (stream === null) {\n return null;\n }\n\n var time = videoElement.currentTime !== null && isFinite(videoElement.currentTime) ? videoElement.currentTime : 0;\n for (var i = 0; i < videoElement.buffered.length; i++) {\n if (videoElement.buffered.start(i) <= time && time <= videoElement.buffered.end(i)) {\n return Math.floor(videoElement.buffered.end(i) * 1000);\n }\n }\n\n return Math.floor(time * 1000);\n }\n case 'subtitlesTracks': {\n if (stream === null) {\n return [];\n }\n\n return textTracks;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null || disabledSubs) {\n return null;\n }\n\n return currentSubTrack;\n }\n case 'subtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOffset;\n }\n case 'subtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return subSize;\n }\n case 'subtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return lastSubColor || 'rgb(255, 255, 255)';\n }\n case 'subtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return lastSubBgColor || 'rgba(0, 0, 0, 0)';\n }\n case 'subtitlesOpacity': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOpacity || 100;\n }\n case 'audioTracks': {\n return audioTracks;\n }\n case 'selectedAudioTrackId': {\n return currentAudioTrack;\n }\n case 'volume': {\n if (destroyed || videoElement.volume === null || !isFinite(videoElement.volume)) {\n return null;\n }\n\n return Math.floor(videoElement.volume * 100);\n }\n case 'muted': {\n if (destroyed) {\n return null;\n }\n\n return !!videoElement.muted;\n }\n case 'playbackSpeed': {\n if (destroyed || lastPlaybackSpeed === null || !isFinite(lastPlaybackSpeed)) {\n return null;\n }\n\n return lastPlaybackSpeed;\n }\n default: {\n return null;\n }\n }\n }\n function onCueChange() {\n Array.from(videoElement.textTracks).forEach(function(track) {\n Array.from(track.cues || []).forEach(function(cue) {\n cue.snapToLines = false;\n cue.line = 100 - subtitlesOffset;\n });\n });\n }\n function onVideoError() {\n if (destroyed) {\n return;\n }\n\n var error;\n switch ((videoElement.error || {}).code) {\n case 1: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_ABORTED;\n break;\n }\n case 2: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_NETWORK;\n break;\n }\n case 3: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_DECODE;\n launchVideoApp({\n id: 'com.webos.app.photovideo',\n url: stream.url,\n name: 'Stremio',\n position: -1,\n }, null, function(e) {\n // eslint-disable-next-line no-console\n console.error(e);\n });\n break;\n }\n case 4: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;\n launchVideoApp({\n id: 'com.webos.app.photovideo',\n url: stream.url,\n name: 'Stremio',\n position: -1,\n }, null, function(e) {\n // eslint-disable-next-line no-console\n console.error(e);\n });\n break;\n }\n default: {\n error = ERROR.UNKNOWN_ERROR;\n }\n }\n onError(Object.assign({}, error, {\n critical: true,\n error: videoElement.error\n }));\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n propValue ? videoElement.pause() : videoElement.play();\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && videoElement.readyState >= videoElement.HAVE_METADATA && propValue !== null && isFinite(propValue)) {\n try {\n videoElement.currentTime = parseInt(propValue, 10) / 1000;\n onPropChanged('time');\n } catch(e) {\n // console.log('webos video change time error');\n // console.error(e);\n }\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (videoElement.mediaId && stream !== null) {\n if ((propValue || '').indexOf('EMBEDDED_') === 0) {\n toggleSubtitles(true);\n\n subStyles.bg_opacity = subStyles.bg_color === 'none' ? 0 : 255;\n\n [\n 'setSubtitleCharacterColor',\n 'setSubtitleBackgroundColor',\n 'setSubtitlePosition',\n 'setSubtitleFontSize',\n 'setSubtitleBackgroundOpacity',\n 'setSubtitleCharacterOpacity'\n ].forEach(function(key) {\n luna({\n method: key,\n parameters: {\n mediaId: videoElement.mediaId,\n charColor: subStyles.color,\n bgColor: subStyles.bg_color === 'none' ? 'black' : subStyles.bg_color,\n position: subStyles.position,\n fontSize: subStyles.font_size,\n bgOpacity: subStyles.bg_opacity,\n charOpacity: subStyles.char_opacity\n }\n });\n });\n\n // eslint-disable-next-line no-console\n console.log('WebOS', 'change subtitles for id: ', videoElement.mediaId, ' index:', propValue);\n\n currentSubTrack = propValue;\n var trackIndex = parseInt(propValue.replace('EMBEDDED_', ''));\n // eslint-disable-next-line no-console\n console.log('set subs to track idx: ' + trackIndex);\n setTimeout(function() {\n var successCb = function() {\n var selectedSubtitlesTrack = getProp('subtitlesTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n textTracks = textTracks.map(function(track) {\n track.mode = track.id === currentSubTrack ? 'showing' : 'disabled';\n return track;\n });\n if (selectedSubtitlesTrack) {\n events.emit('subtitlesTrackLoaded', selectedSubtitlesTrack);\n onPropChanged('selectedSubtitlesTrackId');\n }\n };\n luna({\n method: 'selectTrack',\n parameters: {\n 'type': 'text',\n 'mediaId': videoElement.mediaId,\n 'index': trackIndex\n }\n }, successCb, successCb);\n }, 500);\n }\n }\n\n if ((propValue || '').indexOf('EMBEDDED_') === -1) {\n currentSubTrack = null;\n onPropChanged('selectedSubtitlesTrackId');\n toggleSubtitles(false);\n }\n\n break;\n }\n case 'subtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n subtitlesOffset = propValue;\n var nextOffset = stremioSubOffsets(Math.max(0, Math.min(100, parseInt(subtitlesOffset, 10))));\n if (nextOffset === false) { // use default\n nextOffset = -2;\n }\n subStyles.position = nextOffset;\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitlePosition',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'position': nextOffset,\n }\n });\n }\n\n onPropChanged('subtitlesOffset');\n }\n\n break;\n }\n case 'subtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n subSize = propValue;\n var nextSubSize = stremioSubSizes(Math.max(0, parseInt(subSize, 10)));\n if (nextSubSize === false) { // use default\n nextSubSize = 1;\n }\n subStyles.font_size = nextSubSize;\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitleFontSize',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'fontSize': nextSubSize,\n }\n });\n }\n\n onPropChanged('subtitlesSize');\n }\n\n break;\n }\n case 'subtitlesTextColor': {\n if (typeof propValue === 'string') {\n // we use setSubtitleCharacterColor instead of setSubtitleColor\n // because it has the same color options as the sub background\n var nextColor = 'white';\n if (stremioColors[propValue] && webOsColors.indexOf(stremioColors[propValue]) > -1) {\n nextColor = stremioColors[propValue];\n }\n subStyles.color = nextColor;\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitleCharacterColor',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'charColor': nextColor,\n }\n });\n }\n lastSubColor = propValue;\n onPropChanged('subtitlesTextColor');\n }\n\n break;\n }\n case 'subtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n if (stremioColors[propValue] && webOsColors.indexOf(stremioColors[propValue]) > -1) {\n subStyles.bg_color = stremioColors[propValue];\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitleBackgroundColor',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'bgColor': stremioColors[propValue] === 'none' ? 'black' : stremioColors[propValue],\n }\n });\n if (stremioColors[propValue] === 'none') {\n luna({\n method: 'setSubtitleBackgroundOpacity',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'bgOpacity': 0,\n }\n });\n } else {\n luna({\n method: 'setSubtitleBackgroundOpacity',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'bgOpacity': 255,\n }\n });\n }\n }\n }\n lastSubBgColor = propValue;\n onPropChanged('subtitlesBackgroundColor');\n }\n\n break;\n }\n case 'subtitlesOpacity': {\n if (typeof propValue === 'number') {\n var nextSubOpacity = Math.floor(propValue / 100 * 255);\n subStyles.char_opacity = nextSubOpacity;\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitleCharacterOpacity',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'charOpacity': nextSubOpacity,\n }\n });\n }\n\n subtitlesOpacity = propValue;\n onPropChanged('subtitlesOpacity');\n }\n\n break;\n }\n case 'selectedAudioTrackId': {\n if ((propValue || '').indexOf('EMBEDDED_') === 0) {\n currentAudioTrack = propValue;\n var trackIndex = parseInt(propValue.replace('EMBEDDED_', ''));\n if (videoElement.mediaId) {\n luna({\n method: 'selectTrack',\n parameters: {\n 'type': 'audio',\n 'mediaId': videoElement.mediaId,\n 'index': trackIndex\n }\n }, function() {\n var selectedAudioTrack = getProp('audioTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n\n audioTracks = audioTracks.map(function(track) {\n track.mode = track.id === currentAudioTrack ? 'showing' : 'disabled';\n return track;\n });\n\n if (selectedAudioTrack) {\n events.emit('audioTrackLoaded', selectedAudioTrack);\n onPropChanged('selectedAudioTrackId');\n }\n });\n }\n if (videoElement && videoElement.audioTracks) {\n for (var i = 0; i < videoElement.audioTracks.length; i++) {\n videoElement.audioTracks[i].enabled = false;\n }\n\n if(videoElement.audioTracks[trackIndex]) {\n videoElement.audioTracks[trackIndex].enabled = true;\n }\n }\n\n }\n\n break;\n }\n case 'volume': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.muted = false;\n videoElement.volume = Math.max(0, Math.min(100, parseInt(propValue, 10))) / 100;\n }\n\n break;\n }\n case 'muted': {\n videoElement.muted = !!propValue;\n break;\n }\n case 'playbackSpeed': {\n if (propValue !== null && isFinite(propValue)) {\n lastPlaybackSpeed = parseFloat(propValue);\n if (videoElement.mediaId) {\n luna({\n method: 'setPlayRate',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'playRate': lastPlaybackSpeed,\n 'audioOutput': true,\n }\n });\n }\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n // not sure about this\n // command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n stream = commandArgs.stream;\n startTime = commandArgs.time;\n\n onPropChanged('stream');\n videoElement.autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;\n\n onPropChanged('loaded');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('buffered');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n\n var count = 0;\n\n var initMediaId = function (cb) {\n function retrieveMediaId() {\n if (videoElement.mediaId) {\n clearInterval(timer);\n retrieveExtendedTracks();\n retrieveDeviceInfo();\n cb();\n return;\n }\n count++;\n if (count > 4) {\n // console.log('failed to get media id');\n clearInterval(timer);\n retrieveExtendedTracks();\n retrieveDeviceInfo();\n cb();\n }\n }\n var timer = setInterval(retrieveMediaId, 300);\n };\n\n var startVideo = function () {\n // console.log('startVideo');\n // not needed?\n // videoElement.src = stream.url;\n\n try {\n videoElement.load();\n } catch(e) {\n // console.log('can\\'t load video');\n // console.error(e);\n }\n\n try {\n // console.log('try play');\n videoElement.play();\n } catch(e) {\n // console.log('can\\'t start video');\n // console.error(e);\n }\n };\n\n videoElement.src = stream.url;\n\n initMediaId(startVideo);\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n stream = null;\n startTime = null;\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = null;\n });\n videoElement.removeAttribute('src');\n videoElement.load();\n // not sure about this:\n // try {\n // videoElement.currentTime = 0;\n // } catch(e) {\n // console.log('webos video unload error');\n // console.error(e);\n // }\n onPropChanged('stream');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('buffered');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n // not sure about this:\n // unload(function() {});\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n onPropChanged('subtitlesOffset');\n onPropChanged('subtitlesSize');\n onPropChanged('subtitlesTextColor');\n onPropChanged('subtitlesBackgroundColor');\n onPropChanged('subtitlesOpacity');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n events.removeAllListeners();\n videoElement.onerror = null;\n videoElement.onended = null;\n videoElement.onpause = null;\n videoElement.onplay = null;\n videoElement.ontimeupdate = null;\n videoElement.ondurationchange = null;\n videoElement.onwaiting = null;\n videoElement.onseeking = null;\n videoElement.onseeked = null;\n videoElement.onstalled = null;\n videoElement.onplaying = null;\n videoElement.oncanplay = null;\n videoElement.canplaythrough = null;\n videoElement.onloadeddata = null;\n videoElement.onloadedmetadata = null;\n videoElement.onvolumechange = null;\n videoElement.onratechange = null;\n videoElement.textTracks.onchange = null;\n containerElement.removeChild(videoElement);\n containerElement.removeChild(styleElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nWebOsVideo.canPlayStream = function() { // function(stream)\n return Promise.resolve(true);\n};\n\nWebOsVideo.manifest = {\n name: 'WebOsVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOpacity', 'volume', 'muted', 'playbackSpeed'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']\n};\n\nmodule.exports = WebOsVideo;\n","var WebOsVideo = require('./WebOsVideo');\n\nmodule.exports = WebOsVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\n\nfunction YouTubeVideo(options) {\n options = options || {};\n\n var timeChangedTimeout = options.timeChangedTimeout !== null && isFinite(options.timeChangedTimeout) ? parseInt(options.timeChangedTimeout, 10) : 100;\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var apiScriptElement = document.createElement('script');\n apiScriptElement.type = 'text/javascript';\n apiScriptElement.src = 'https://www.youtube.com/iframe_api';\n apiScriptElement.onload = onAPILoaded;\n apiScriptElement.onerror = onAPIError;\n containerElement.appendChild(apiScriptElement);\n var videoContainerElement = document.createElement('div');\n videoContainerElement.style.width = '100%';\n videoContainerElement.style.height = '100%';\n videoContainerElement.style.backgroundColor = 'black';\n containerElement.appendChild(videoContainerElement);\n var timeChangedIntervalId = window.setInterval(function() {\n onPropChanged('time');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n }, timeChangedTimeout);\n\n var video = null;\n var ready = false;\n var pendingLoadArgs = null;\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var selectedSubtitlesTrackId = null;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n volume: false,\n muted: false,\n playbackSpeed: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false\n };\n\n function onAPIError() {\n if (destroyed) {\n return;\n }\n\n onError(Object.assign({}, ERROR.YOUTUBE_VIDEO.API_LOAD_FAILED, {\n critical: true\n }));\n }\n function onAPILoaded() {\n if (destroyed) {\n return;\n }\n\n if (!YT || typeof YT.ready !== 'function') {\n onAPIError();\n return;\n }\n\n YT.ready(function() {\n if (destroyed) {\n return;\n }\n\n if (!YT || !YT.PlayerState || typeof YT.Player !== 'function') {\n onAPIError();\n return;\n }\n\n video = new YT.Player(videoContainerElement, {\n width: '100%',\n height: '100%',\n playerVars: {\n autoplay: 1,\n cc_load_policy: 3,\n controls: 0,\n disablekb: 1,\n enablejsapi: 1,\n fs: 0,\n iv_load_policy: 3,\n loop: 0,\n modestbranding: 1,\n playsinline: 1,\n rel: 0\n },\n events: {\n onError: onVideoError,\n onReady: onVideoReady,\n onApiChange: onVideoAPIChange,\n onStateChange: onVideoStateChange\n }\n });\n });\n }\n function onVideoError(videoError) {\n if (destroyed) {\n return;\n }\n\n var error;\n switch (videoError.data) {\n case 2: {\n error = ERROR.YOUTUBE_VIDEO.INVALID_PARAMETER;\n break;\n }\n case 5: {\n error = ERROR.YOUTUBE_VIDEO.HTML5_VIDEO;\n break;\n }\n case 100: {\n error = ERROR.YOUTUBE_VIDEO.VIDEO_NOT_FOUND;\n break;\n }\n case 101:\n case 150: {\n error = ERROR.YOUTUBE_VIDEO.VIDEO_NOT_EMBEDDABLE;\n break;\n }\n default: {\n error = ERROR.UNKNOWN_ERROR;\n }\n }\n onError(Object.assign({}, error, {\n critical: true,\n error: videoError\n }));\n }\n function onVideoReady() {\n if (destroyed) {\n return;\n }\n\n ready = true;\n if (pendingLoadArgs !== null) {\n command('load', pendingLoadArgs);\n pendingLoadArgs = null;\n }\n }\n function onVideoAPIChange() {\n if (destroyed) {\n return;\n }\n\n if (typeof video.loadModule === 'function') {\n video.loadModule('captions');\n }\n if (typeof video.setOption === 'function') {\n video.setOption('captions', 'track', {});\n }\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n }\n function onVideoStateChange(state) {\n onPropChanged('buffering');\n switch (state.data) {\n case YT.PlayerState.ENDED: {\n onEnded();\n break;\n }\n case YT.PlayerState.CUED:\n case YT.PlayerState.UNSTARTED:\n case YT.PlayerState.PAUSED:\n case YT.PlayerState.PLAYING: {\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n break;\n }\n }\n }\n function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n if (stream === null) {\n return null;\n }\n\n return true;\n }\n case 'paused': {\n if (stream === null || typeof video.getPlayerState !== 'function') {\n return null;\n }\n\n return video.getPlayerState() !== YT.PlayerState.PLAYING;\n }\n case 'time': {\n if (stream === null || typeof video.getCurrentTime !== 'function' || video.getCurrentTime() === null || !isFinite(video.getCurrentTime())) {\n return null;\n }\n\n return Math.floor(video.getCurrentTime() * 1000);\n }\n case 'duration': {\n if (stream === null || typeof video.getDuration !== 'function' || video.getDuration() === null || !isFinite(video.getDuration())) {\n return null;\n }\n\n return Math.floor(video.getDuration() * 1000);\n }\n case 'buffering': {\n if (stream === null || typeof video.getPlayerState !== 'function') {\n return null;\n }\n\n return video.getPlayerState() === YT.PlayerState.BUFFERING;\n }\n case 'volume': {\n if (stream === null || typeof video.getVolume !== 'function' || video.getVolume() === null || !isFinite(video.getVolume())) {\n return null;\n }\n\n return video.getVolume();\n }\n case 'muted': {\n if (stream === null || typeof video.isMuted !== 'function') {\n return null;\n }\n\n return video.isMuted();\n }\n case 'playbackSpeed': {\n if (stream === null || typeof video.getPlaybackRate !== 'function' || video.getPlaybackRate() === null || !isFinite(video.getPlaybackRate())) {\n return null;\n }\n\n return video.getPlaybackRate();\n }\n case 'subtitlesTracks': {\n if (stream === null || typeof video.getOption !== 'function') {\n return [];\n }\n\n return (video.getOption('captions', 'tracklist') || [])\n .filter(function(track) {\n return track && typeof track.languageCode === 'string';\n })\n .map(function(track, index) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(index),\n lang: track.languageCode,\n label: typeof track.displayName === 'string' ? track.displayName : track.languageCode,\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null) {\n return null;\n }\n\n return selectedSubtitlesTrackId;\n }\n default: {\n return null;\n }\n }\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n propValue ?\n typeof video.pauseVideo === 'function' && video.pauseVideo()\n :\n typeof video.playVideo === 'function' && video.playVideo();\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && typeof video.seekTo === 'function' && propValue !== null && isFinite(propValue)) {\n video.seekTo(parseInt(propValue, 10) / 1000);\n }\n\n break;\n }\n case 'volume': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n if (typeof video.unMute === 'function') {\n video.unMute();\n }\n if (typeof video.setVolume === 'function') {\n video.setVolume(Math.max(0, Math.min(100, parseInt(propValue, 10))));\n }\n onPropChanged('muted');\n onPropChanged('volume');\n }\n\n break;\n }\n case 'muted': {\n if (stream !== null) {\n propValue ?\n typeof video.mute === 'function' && video.mute()\n :\n typeof video.unMute === 'function' && video.unMute();\n onPropChanged('muted');\n }\n\n break;\n }\n case 'playbackSpeed': {\n if (stream !== null && typeof video.setPlaybackRate === 'function' && isFinite(propValue)) {\n video.setPlaybackRate(propValue);\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n selectedSubtitlesTrackId = null;\n var selecterdTrack = getProp('subtitlesTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n if (typeof video.setOption === 'function') {\n if (selecterdTrack) {\n selectedSubtitlesTrackId = selecterdTrack.id;\n video.setOption('captions', 'track', {\n languageCode: selecterdTrack.lang\n });\n events.emit('subtitlesTrackLoaded', selecterdTrack);\n } else {\n video.setOption('captions', 'track', {});\n }\n }\n onPropChanged('selectedSubtitlesTrackId');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.ytId === 'string') {\n if (ready) {\n stream = commandArgs.stream;\n onPropChanged('stream');\n onPropChanged('loaded');\n var autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;\n var time = commandArgs.time !== null && isFinite(commandArgs.time) ? parseInt(commandArgs.time, 10) / 1000 : 0;\n if (autoplay && typeof video.loadVideoById === 'function') {\n video.loadVideoById({\n videoId: commandArgs.stream.ytId,\n startSeconds: time\n });\n } else if (typeof video.cueVideoById === 'function') {\n video.cueVideoById({\n videoId: commandArgs.stream.ytId,\n startSeconds: time\n });\n }\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n } else {\n pendingLoadArgs = commandArgs;\n }\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n\n break;\n }\n case 'unload': {\n pendingLoadArgs = null;\n stream = null;\n onPropChanged('stream');\n onPropChanged('loaded');\n selectedSubtitlesTrackId = null;\n if (ready && typeof video.stopVideo === 'function') {\n video.stopVideo();\n }\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n events.removeAllListeners();\n clearInterval(timeChangedIntervalId);\n if (ready && typeof video.destroy === 'function') {\n video.destroy();\n }\n containerElement.removeChild(apiScriptElement);\n containerElement.removeChild(videoContainerElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nYouTubeVideo.canPlayStream = function(stream) {\n return Promise.resolve(stream && typeof stream.ytId === 'string');\n};\n\nYouTubeVideo.manifest = {\n name: 'YouTubeVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'volume', 'muted', 'playbackSpeed', 'subtitlesTracks', 'selectedSubtitlesTrackId'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded']\n};\n\nmodule.exports = YouTubeVideo;\n","var YouTubeVideo = require('./YouTubeVideo');\n\nmodule.exports = YouTubeVideo;\n","var ERROR = {\n CHROMECAST_SENDER_VIDEO: {\n INVALID_MESSAGE_RECEIVED: {\n code: 100,\n message: 'Invalid message received'\n },\n MESSAGE_SEND_FAILED: {\n code: 101,\n message: 'Failed to send message'\n }\n },\n YOUTUBE_VIDEO: {\n API_LOAD_FAILED: {\n code: 90,\n message: 'YouTube player iframe API failed to load',\n },\n INVALID_PARAMETER: {\n code: 91,\n message: 'The request contains an invalid parameter value'\n },\n HTML5_VIDEO: {\n code: 92,\n message: 'The requested content cannot be played in an HTML5 player'\n },\n VIDEO_NOT_FOUND: {\n code: 93,\n message: 'The video requested was not found'\n },\n VIDEO_NOT_EMBEDDABLE: {\n code: 94,\n message: 'The owner of the requested video does not allow it to be played in embedded players'\n }\n },\n HTML_VIDEO: {\n MEDIA_ERR_ABORTED: {\n code: 80,\n message: 'Fetching process aborted'\n },\n MEDIA_ERR_NETWORK: {\n code: 81,\n message: 'Error occurred when downloading'\n },\n MEDIA_ERR_DECODE: {\n code: 82,\n message: 'Error occurred when decoding'\n },\n MEDIA_ERR_SRC_NOT_SUPPORTED: {\n code: 83,\n message: 'Video is not supported'\n }\n },\n WITH_HTML_SUBTITLES: {\n LOAD_FAILED: {\n code: 70,\n message: 'Failed to load external subtitles'\n }\n },\n WITH_STREAMING_SERVER: {\n CONVERT_FAILED: {\n code: 60,\n message: 'Your device does not support the stream'\n }\n },\n UNKNOWN_ERROR: {\n code: 1,\n message: 'Unknown error'\n },\n UNSUPPORTED_STREAM: {\n code: 2,\n message: 'Stream is not supported'\n },\n STREAM_FAILED_TO_LOAD: {\n code: 3,\n message: 'Stream failed to load'\n }\n};\n\nmodule.exports = ERROR;\n","var StremioVideo = require('./StremioVideo');\n\nmodule.exports = StremioVideo;\n","var VIDEO_CODEC_CONFIGS = [\n {\n codec: 'h264',\n force: window.chrome || window.cast,\n mime: 'video/mp4; codecs=\"avc1.42E01E\"',\n },\n {\n codec: 'h265',\n // Disabled because chrome only has partial support for h265/hvec,\n // force: window.chrome || window.cast,\n mime: 'video/mp4; codecs=\"hev1.1.6.L150.B0\"',\n aliases: ['hevc']\n },\n {\n codec: 'vp8',\n mime: 'video/mp4; codecs=\"vp8\"'\n },\n {\n codec: 'vp9',\n mime: 'video/mp4; codecs=\"vp9\"'\n }\n];\n\nvar AUDIO_CODEC_CONFIGS = [\n {\n codec: 'aac',\n mime: 'audio/mp4; codecs=\"mp4a.40.2\"'\n },\n {\n codec: 'mp3',\n mime: 'audio/mp4; codecs=\"mp3\"'\n },\n {\n codec: 'ac3',\n mime: 'audio/mp4; codecs=\"ac-3\"'\n },\n {\n codec: 'eac3',\n mime: 'audio/mp4; codecs=\"ec-3\"'\n },\n {\n codec: 'vorbis',\n mime: 'audio/mp4; codecs=\"vorbis\"'\n },\n {\n codec: 'opus',\n mime: 'audio/mp4; codecs=\"opus\"'\n }\n];\n\nfunction canPlay(config, options) {\n return config.force || options.mediaElement.canPlayType(config.mime)\n ? [config.codec].concat(config.aliases || [])\n : [];\n}\n\nfunction getMaxAudioChannels() {\n if (/firefox/i.test(window.navigator.userAgent)) {\n return 6;\n }\n\n if (!window.AudioContext || window.chrome || window.cast) {\n return 2;\n }\n\n var maxChannelCount = new AudioContext().destination.maxChannelCount;\n return maxChannelCount > 0 ? maxChannelCount : 2;\n}\n\nfunction getMediaCapabilities() {\n var mediaElement = document.createElement('video');\n var formats = ['mp4'];\n if (window.chrome || window.cast) {\n formats.push('matroska,webm');\n }\n var videoCodecs = VIDEO_CODEC_CONFIGS\n .map(function(config) {\n return canPlay(config, { mediaElement: mediaElement });\n })\n .reduce(function(result, value) {\n return result.concat(value);\n }, []);\n var audioCodecs = AUDIO_CODEC_CONFIGS\n .map(function(config) {\n return canPlay(config, { mediaElement: mediaElement });\n })\n .reduce(function(result, value) {\n return result.concat(value);\n }, []);\n var maxAudioChannels = getMaxAudioChannels();\n return {\n formats: formats,\n videoCodecs: videoCodecs,\n audioCodecs: audioCodecs,\n maxAudioChannels: maxAudioChannels\n };\n}\n\nmodule.exports = getMediaCapabilities();\n","var platform = null;\n\nmodule.exports = {\n set: function(val) { platform = val; },\n get: function() { return platform; }\n};\n","var platform = require('./platform');\n\nfunction supportsTranscoding() {\n if (['Tizen', 'webOS', 'Titan', 'NetTV'].includes(platform.get()) || typeof window.qt !== 'undefined') {\n return Promise.resolve(false);\n }\n return Promise.resolve(true);\n}\n\nmodule.exports = supportsTranscoding;\n","module.exports = function(url, cb) {\n fetch('http://127.0.0.1:11470/tracks/'+encodeURIComponent(url)).then(function(resp) {\n return resp.json();\n }).then(function(tracks) {\n var audioTracks = tracks.filter(function(el) { return (el || {}).type === 'audio'; });\n var subsTracks = tracks.filter(function(el) { return (el || {}).type === 'text'; });\n cb({ audio: audioTracks, subs: subsTracks });\n }).catch(function(err) {\n // eslint-disable-next-line no-console\n console.error(err);\n cb(false);\n });\n};\n","function binarySearchUpperBound(array, value) {\n if (value < array[0] || array[array.length - 1] < value) {\n return -1;\n }\n\n var left = 0;\n var right = array.length - 1;\n var index = -1;\n while (left <= right) {\n var middle = Math.floor((left + right) / 2);\n if (array[middle] > value) {\n right = middle - 1;\n } else if (array[middle] < value) {\n left = middle + 1;\n } else {\n index = middle;\n left = middle + 1;\n }\n }\n\n return index !== -1 ? index : right;\n}\n\nmodule.exports = binarySearchUpperBound;\n","var withHTMLSubtitles = require('./withHTMLSubtitles');\n\nmodule.exports = withHTMLSubtitles;\n","// from: https://github.com/silviapfeiffer/silviapfeiffer.github.io/blob/master/index.html#L150-L216\n\nfunction srt2webvtt(data) {\n // remove dos newlines\n var srt = data.replace(/\\r+/g, '');\n // trim white space start and end\n srt = srt.replace(/^\\s+|\\s+$/g, '');\n // get cues\n var cuelist = srt.split('\\n\\n');\n var result = '';\n if (cuelist.length > 0) {\n result += 'WEBVTT\\n\\n';\n for (var i = 0; i < cuelist.length; i = i + 1) {\n result += convertSrtCue(cuelist[i]);\n }\n }\n return result;\n}\n\nfunction convertSrtCue(caption) {\n // remove all html tags for security reasons\n caption = caption.replace(/<[a-zA-Z/][^>]*>/g, '');\n\n var cue = '';\n var s = caption.split(/\\n/);\n // concatenate muilt-line string separated in array into one\n while (s.length > 3) {\n for (var i = 3; i < s.length; i++) {\n s[2] += '\\n' + s[i];\n }\n s.splice(3, s.length - 3);\n }\n var line = 0;\n // detect identifier\n if (!s[0].match(/\\d+:\\d+:\\d+/) && s[1].match(/\\d+:\\d+:\\d+/)) {\n cue += s[0].match(/\\w+/) + '\\n';\n line += 1;\n }\n // get time strings\n if (s[line].match(/\\d+:\\d+:\\d+/)) {\n // convert time string\n var m = s[1].match(/(\\d+):(\\d+):(\\d+)(?:,(\\d+))?\\s*--?>\\s*(\\d+):(\\d+):(\\d+)(?:,(\\d+))?/);\n if (m) {\n cue += m[1] + ':' + m[2] + ':' + m[3] + '.' + m[4] + ' --> '\n + m[5] + ':' + m[6] + ':' + m[7] + '.' + m[8] + '\\n';\n line += 1;\n } else {\n // Unrecognized timestring\n return '';\n }\n } else {\n // file format error or comment lines\n return '';\n }\n // get cue text\n if (s[line]) {\n cue += s[line] + '\\n\\n';\n }\n return cue;\n}\n\nmodule.exports = {\n convert: function(text) {\n // presume all to be SRT if not WEBVTT\n if (text.includes('WEBVTT')) {\n return text;\n }\n\n try {\n return srt2webvtt(text);\n } catch (error) {\n throw new Error('Failed to convert srt to webvtt: ' + error.message);\n }\n }\n};\n","var VTTJS = require('vtt.js');\nvar binarySearchUpperBound = require('./binarySearchUpperBound');\n\nvar CRITICAL_ERROR_CODE = 0;\n\nfunction parse(text) {\n return new Promise(function(resolve, reject) {\n var parser = new VTTJS.WebVTT.Parser(window, VTTJS.WebVTT.StringDecoder());\n var errors = [];\n var cues = [];\n var cuesByTime = {};\n\n parser.oncue = function(c) {\n var cue = {\n startTime: (c.startTime * 1000) | 0,\n endTime: (c.endTime * 1000) | 0,\n text: c.text\n };\n cues.push(cue);\n cuesByTime[cue.startTime] = cuesByTime[cue.startTime] || [];\n cuesByTime[cue.endTime] = cuesByTime[cue.endTime] || [];\n };\n\n parser.onparsingerror = function(error) {\n if (error.code === CRITICAL_ERROR_CODE) {\n parser.oncue = null;\n parser.onparsingerror = null;\n parser.onflush = null;\n reject(error);\n } else {\n console.warn('Subtitles parsing error', error);\n errors.push(error);\n }\n };\n\n parser.onflush = function() {\n cuesByTime.times = Object.keys(cuesByTime)\n .map(function(time) {\n return parseInt(time, 10);\n })\n .sort(function(t1, t2) {\n return t1 - t2;\n });\n for (var i = 0; i < cues.length; i++) {\n cuesByTime[cues[i].startTime].push(cues[i]);\n var startTimeIndex = binarySearchUpperBound(cuesByTime.times, cues[i].startTime);\n for (var j = startTimeIndex + 1; j < cuesByTime.times.length; j++) {\n if (cues[i].endTime <= cuesByTime.times[j]) {\n break;\n }\n\n cuesByTime[cuesByTime.times[j]].push(cues[i]);\n }\n }\n\n for (var k = 0; k < cuesByTime.times.length; k++) {\n cuesByTime[cuesByTime.times[k]].sort(function(c1, c2) {\n return c1.startTime - c2.startTime ||\n c1.endTime - c2.endTime;\n });\n }\n\n parser.oncue = null;\n parser.onparsingerror = null;\n parser.onflush = null;\n // we may have multiple parsing errors here, but will only respond with the first\n // if subtitle cues are available, we will not reject the promise\n if (cues.length === 0 && errors.length) {\n reject(errors[0]);\n } else if (cuesByTime.times.length === 0) {\n reject(new Error('Missing subtitle track cues'));\n } else {\n resolve(cuesByTime);\n }\n };\n\n parser.parse(text);\n });\n}\n\nmodule.exports = {\n parse: parse\n};\n","var VTTJS = require('vtt.js');\nvar binarySearchUpperBound = require('./binarySearchUpperBound');\n\nfunction render(cuesByTime, time) {\n var nodes = [];\n var timeIndex = binarySearchUpperBound(cuesByTime.times, time);\n if (timeIndex !== -1) {\n var cuesForTime = cuesByTime[cuesByTime.times[timeIndex]];\n for (var i = 0; i < cuesForTime.length; i++) {\n var node = VTTJS.WebVTT.convertCueToDOMTree(window, cuesForTime[i].text);\n nodes.push(node);\n }\n }\n\n return nodes;\n}\n\nmodule.exports = {\n render: render\n};\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar Color = require('color');\nvar ERROR = require('../error');\nvar subtitlesParser = require('./subtitlesParser');\nvar subtitlesRenderer = require('./subtitlesRenderer');\nvar subtitlesConverter = require('./subtitlesConverter');\n\nfunction withHTMLSubtitles(Video) {\n function VideoWithHTMLSubtitles(options) {\n options = options || {};\n\n var video = new Video(options);\n video.on('error', onVideoError);\n video.on('propValue', onVideoPropEvent.bind(null, 'propValue'));\n video.on('propChanged', onVideoPropEvent.bind(null, 'propChanged'));\n Video.manifest.events\n .filter(function(eventName) {\n return !['error', 'propValue', 'propChanged'].includes(eventName);\n })\n .forEach(function(eventName) {\n video.on(eventName, onOtherVideoEvent(eventName));\n });\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var subtitlesElement = document.createElement('div');\n subtitlesElement.style.position = 'absolute';\n subtitlesElement.style.right = '0';\n subtitlesElement.style.bottom = '0';\n subtitlesElement.style.left = '0';\n subtitlesElement.style.zIndex = '1';\n subtitlesElement.style.textAlign = 'center';\n containerElement.style.position = 'relative';\n containerElement.style.zIndex = '0';\n containerElement.appendChild(subtitlesElement);\n\n var videoState = {\n time: null\n };\n var cuesByTime = null;\n var events = new EventEmitter();\n var destroyed = false;\n var tracks = [];\n var selectedTrackId = null;\n var delay = null;\n var size = 100;\n var offset = 0;\n var textColor = 'rgb(255, 255, 255)';\n var backgroundColor = 'rgba(0, 0, 0, 0)';\n var outlineColor = 'rgb(34, 34, 34)';\n var opacity = 1;\n\n var observedProps = {\n extraSubtitlesTracks: false,\n selectedExtraSubtitlesTrackId: false,\n extraSubtitlesDelay: false,\n extraSubtitlesSize: false,\n extraSubtitlesOffset: false,\n extraSubtitlesTextColor: false,\n extraSubtitlesBackgroundColor: false,\n extraSubtitlesOutlineColor: false,\n extraSubtitlesOpacity: false\n };\n\n function renderSubtitles() {\n while (subtitlesElement.hasChildNodes()) {\n subtitlesElement.removeChild(subtitlesElement.lastChild);\n }\n\n if (cuesByTime === null || videoState.time === null || !isFinite(videoState.time)) {\n return;\n }\n\n subtitlesElement.style.bottom = offset + '%';\n subtitlesElement.style.opacity = opacity;\n subtitlesRenderer.render(cuesByTime, videoState.time - delay).forEach(function(cueNode) {\n cueNode.style.display = 'inline-block';\n cueNode.style.padding = '0.2em';\n cueNode.style.whiteSpace = 'pre-wrap';\n var fontSizeMultiplier = window.screen720p ? 1.538 : 1;\n cueNode.style.fontSize = Math.floor((size / 25) * fontSizeMultiplier) + 'vmin';\n cueNode.style.color = textColor;\n cueNode.style.backgroundColor = backgroundColor;\n cueNode.style.textShadow = '-0.15rem -0.15rem 0.15rem ' + outlineColor + ', 0px -0.15rem 0.15rem ' + outlineColor + ', 0.15rem -0.15rem 0.15rem ' + outlineColor + ', -0.15rem 0px 0.15rem ' + outlineColor + ', 0.15rem 0px 0.15rem ' + outlineColor + ', -0.15rem 0.15rem 0.15rem ' + outlineColor + ', 0px 0.15rem 0.15rem ' + outlineColor + ', 0.15rem 0.15rem 0.15rem ' + outlineColor;\n subtitlesElement.appendChild(cueNode);\n subtitlesElement.appendChild(document.createElement('br'));\n });\n }\n function onVideoError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onVideoPropEvent(eventName, propName, propValue) {\n switch (propName) {\n case 'time': {\n videoState.time = propValue;\n renderSubtitles();\n break;\n }\n }\n\n events.emit(eventName, propName, getProp(propName, propValue));\n }\n function onOtherVideoEvent(eventName) {\n return function() {\n events.emit.apply(events, [eventName].concat(Array.from(arguments)));\n };\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName, null));\n }\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n video.dispatch({ type: 'command', commandName: 'unload' });\n }\n }\n function getProp(propName, videoPropValue) {\n switch (propName) {\n case 'extraSubtitlesTracks': {\n if (destroyed) {\n return [];\n }\n\n return tracks.slice();\n }\n case 'selectedExtraSubtitlesTrackId': {\n if (destroyed) {\n return null;\n }\n\n return selectedTrackId;\n }\n case 'extraSubtitlesDelay': {\n if (destroyed) {\n return null;\n }\n\n return delay;\n }\n case 'extraSubtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return size;\n }\n case 'extraSubtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return offset;\n }\n case 'extraSubtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return textColor;\n }\n case 'extraSubtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return backgroundColor;\n }\n case 'extraSubtitlesOutlineColor': {\n if (destroyed) {\n return null;\n }\n\n return outlineColor;\n }\n case 'extraSubtitlesOpacity': {\n if (destroyed) {\n return null;\n }\n\n return opacity;\n }\n default: {\n return videoPropValue;\n }\n }\n }\n function observeProp(propName) {\n switch (propName) {\n case 'extraSubtitlesTracks':\n case 'selectedExtraSubtitlesTrackId':\n case 'extraSubtitlesDelay':\n case 'extraSubtitlesSize':\n case 'extraSubtitlesOffset':\n case 'extraSubtitlesTextColor':\n case 'extraSubtitlesBackgroundColor':\n case 'extraSubtitlesOutlineColor':\n case 'extraSubtitlesOpacity': {\n events.emit('propValue', propName, getProp(propName, null));\n observedProps[propName] = true;\n return true;\n }\n default: {\n return false;\n }\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'selectedExtraSubtitlesTrackId': {\n cuesByTime = null;\n selectedTrackId = null;\n delay = null;\n var selectedTrack = tracks.find(function(track) {\n return track.id === propValue;\n });\n if (selectedTrack) {\n selectedTrackId = selectedTrack.id;\n delay = 0;\n\n function getSubtitlesData(track, isFallback) {\n var url = isFallback ? track.fallbackUrl : track.url;\n\n if (typeof url === 'string') {\n return fetch(url)\n .then(function(resp) {\n if (resp.ok) {\n return resp.text();\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n });\n }\n\n if (track.buffer instanceof ArrayBuffer) {\n try {\n const uInt8Array = new Uint8Array(track.buffer);\n const text = new TextDecoder().decode(uInt8Array);\n return Promise.resolve(text);\n } catch(e) {\n return Promise.reject(e);\n }\n }\n\n return Promise.reject('No `url` or `buffer` field available for this track');\n }\n\n function loadSubtitles(track, isFallback) {\n getSubtitlesData(track, isFallback)\n .then(function(text) {\n return subtitlesConverter.convert(text);\n })\n .then(function(text) {\n return subtitlesParser.parse(text);\n })\n .then(function(result) {\n if (selectedTrackId !== selectedTrack.id) {\n return;\n }\n\n cuesByTime = result;\n renderSubtitles();\n events.emit('extraSubtitlesTrackLoaded', selectedTrack);\n })\n .catch(function(error) {\n if (selectedTrackId !== selectedTrack.id) {\n return;\n }\n\n if (!isFallback && typeof selectedTrack.fallbackUrl === 'string') {\n loadSubtitles(selectedTrack, true);\n return;\n }\n\n onError(Object.assign({}, ERROR.WITH_HTML_SUBTITLES.LOAD_FAILED, {\n error: error,\n track: selectedTrack,\n critical: false\n }));\n });\n }\n loadSubtitles(selectedTrack);\n }\n renderSubtitles();\n onPropChanged('selectedExtraSubtitlesTrackId');\n onPropChanged('extraSubtitlesDelay');\n return true;\n }\n case 'extraSubtitlesDelay': {\n if (selectedTrackId !== null && propValue !== null && isFinite(propValue)) {\n delay = parseInt(propValue, 10);\n renderSubtitles();\n onPropChanged('extraSubtitlesDelay');\n }\n\n return true;\n }\n case 'extraSubtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n size = Math.max(0, parseInt(propValue, 10));\n renderSubtitles();\n onPropChanged('extraSubtitlesSize');\n }\n\n return true;\n }\n case 'extraSubtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n offset = Math.max(0, Math.min(100, parseInt(propValue, 10)));\n renderSubtitles();\n onPropChanged('extraSubtitlesOffset');\n }\n\n return true;\n }\n case 'extraSubtitlesTextColor': {\n if (typeof propValue === 'string') {\n try {\n textColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('withHTMLSubtitles', error);\n }\n\n renderSubtitles();\n onPropChanged('extraSubtitlesTextColor');\n }\n\n return true;\n }\n case 'extraSubtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n try {\n backgroundColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('withHTMLSubtitles', error);\n }\n\n renderSubtitles();\n onPropChanged('extraSubtitlesBackgroundColor');\n }\n\n return true;\n }\n case 'extraSubtitlesOutlineColor': {\n if (typeof propValue === 'string') {\n try {\n outlineColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('withHTMLSubtitles', error);\n }\n\n renderSubtitles();\n onPropChanged('extraSubtitlesOutlineColor');\n }\n\n return true;\n }\n case 'extraSubtitlesOpacity': {\n if (typeof propValue === 'number') {\n try {\n opacity = Math.min(Math.max(propValue / 100, 0), 1);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('withHTMLSubtitles', error);\n }\n\n renderSubtitles();\n onPropChanged('extraSubtitlesOpacity');\n }\n\n return true;\n }\n default: {\n return false;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'addExtraSubtitlesTracks': {\n if (commandArgs && Array.isArray(commandArgs.tracks)) {\n tracks = tracks\n .concat(commandArgs.tracks)\n .filter(function(track, index, tracks) {\n return track &&\n typeof track.id === 'string' &&\n typeof track.lang === 'string' &&\n typeof track.label === 'string' &&\n typeof track.origin === 'string' &&\n !track.embedded &&\n index === tracks.findIndex(function(t) { return t.id === track.id; });\n });\n onPropChanged('extraSubtitlesTracks');\n }\n\n return true;\n }\n case 'addLocalSubtitles': {\n if (commandArgs && typeof commandArgs.filename === 'string' && commandArgs.buffer instanceof ArrayBuffer) {\n var id = 'LOCAL_' + tracks\n .filter(function(track) { return track.local; })\n .length;\n\n var track = {\n id: id,\n url: null,\n buffer: commandArgs.buffer,\n lang: 'local',\n label: commandArgs.filename,\n origin: 'LOCAL',\n local: true,\n embedded: false,\n };\n\n tracks.push(track);\n\n onPropChanged('extraSubtitlesTracks');\n events.emit('extraSubtitlesTrackAdded', track);\n }\n\n return true;\n }\n case 'load': {\n command('unload');\n if (commandArgs.stream && Array.isArray(commandArgs.stream.subtitles)) {\n command('addExtraSubtitlesTracks', {\n tracks: commandArgs.stream.subtitles.map(function(track) {\n return Object.assign({}, track, {\n origin: 'EXCLUSIVE',\n exclusive: true,\n embedded: false\n });\n })\n });\n }\n\n return false;\n }\n case 'unload': {\n cuesByTime = null;\n tracks = [];\n selectedTrackId = null;\n delay = null;\n renderSubtitles();\n onPropChanged('extraSubtitlesTracks');\n onPropChanged('selectedExtraSubtitlesTrackId');\n onPropChanged('extraSubtitlesDelay');\n return false;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n onPropChanged('extraSubtitlesSize');\n onPropChanged('extraSubtitlesOffset');\n onPropChanged('extraSubtitlesTextColor');\n onPropChanged('extraSubtitlesBackgroundColor');\n onPropChanged('extraSubtitlesOutlineColor');\n onPropChanged('extraSubtitlesOpacity');\n video.dispatch({ type: 'command', commandName: 'destroy' });\n events.removeAllListeners();\n containerElement.removeChild(subtitlesElement);\n return true;\n }\n default: {\n return false;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n if (observeProp(action.propName)) {\n return;\n }\n\n break;\n }\n case 'setProp': {\n if (setProp(action.propName, action.propValue)) {\n return;\n }\n\n break;\n }\n case 'command': {\n if (command(action.commandName, action.commandArgs)) {\n return;\n }\n\n break;\n }\n }\n }\n\n video.dispatch(action);\n };\n }\n\n VideoWithHTMLSubtitles.canPlayStream = function(stream) {\n return Video.canPlayStream(stream);\n };\n\n VideoWithHTMLSubtitles.manifest = {\n name: Video.manifest.name + 'WithHTMLSubtitles',\n external: Video.manifest.external,\n props: Video.manifest.props.concat(['extraSubtitlesTracks', 'selectedExtraSubtitlesTrackId', 'extraSubtitlesDelay', 'extraSubtitlesSize', 'extraSubtitlesOffset', 'extraSubtitlesTextColor', 'extraSubtitlesBackgroundColor', 'extraSubtitlesOutlineColor', 'extraSubtitlesOpacity'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n commands: Video.manifest.commands.concat(['load', 'unload', 'destroy', 'addExtraSubtitlesTracks', 'addLocalSubtitles'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n events: Video.manifest.events.concat(['propValue', 'propChanged', 'error', 'extraSubtitlesTrackLoaded', 'extraSubtitlesTrackAdded'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; })\n };\n\n return VideoWithHTMLSubtitles;\n}\n\nmodule.exports = withHTMLSubtitles;\n","var url = require('url');\nvar magnet = require('magnet-uri');\nvar createTorrent = require('./createTorrent');\n\nfunction buildProxyUrl(streamingServerURL, streamURL, requestHeaders, responseHeaders) {\n var parsedStreamURL = new URL(streamURL);\n var proxyOptions = new URLSearchParams();\n proxyOptions.set('d', parsedStreamURL.origin);\n Object.entries(requestHeaders).forEach(function(entry) {\n proxyOptions.append('h', entry[0] + ':' + entry[1]);\n });\n Object.entries(responseHeaders).forEach(function(entry) {\n proxyOptions.append('r', entry[0] + ':' + entry[1]);\n });\n return url.resolve(streamingServerURL, '/proxy/' + proxyOptions.toString() + parsedStreamURL.pathname) + parsedStreamURL.search;\n}\n\nfunction convertStream(streamingServerURL, stream, seriesInfo, streamingServerSettings) {\n return new Promise(function(resolve, reject) {\n if (typeof stream.url === 'string') {\n if (stream.url.indexOf('magnet:') === 0) {\n var parsedMagnetURI;\n try {\n parsedMagnetURI = magnet.decode(stream.url);\n if (!parsedMagnetURI || typeof parsedMagnetURI.infoHash !== 'string') {\n throw new Error('Failed to decode magnet url');\n }\n } catch (error) {\n reject(error);\n return;\n }\n\n var sources = Array.isArray(parsedMagnetURI.announce) ?\n parsedMagnetURI.announce.map(function(source) {\n return 'tracker:' + source;\n })\n :\n [];\n createTorrent(streamingServerURL, parsedMagnetURI.infoHash, null, sources, seriesInfo)\n .then(function(torrent) {\n resolve({ url: torrent.url, infoHash: torrent.infoHash, fileIdx: torrent.fileIdx });\n })\n .catch(function(error) {\n reject(error);\n });\n } else {\n var proxyStreamsEnabled = streamingServerSettings && streamingServerSettings.proxyStreamsEnabled;\n var proxyHeaders = stream.behaviorHints && stream.behaviorHints.proxyHeaders;\n if (proxyStreamsEnabled || proxyHeaders) {\n var requestHeaders = proxyHeaders && proxyHeaders.request ? proxyHeaders.request : {};\n var responseHeaders = proxyHeaders && proxyHeaders.response ? proxyHeaders.response : {};\n resolve({ url: buildProxyUrl(streamingServerURL, stream.url, requestHeaders, responseHeaders) });\n } else {\n resolve({ url: stream.url });\n }\n }\n\n return;\n }\n\n if (typeof stream.infoHash === 'string') {\n createTorrent(streamingServerURL, stream.infoHash, stream.fileIdx, stream.announce, seriesInfo)\n .then(function(torrent) {\n resolve({ url: torrent.url, infoHash: torrent.infoHash, fileIdx: torrent.fileIdx });\n })\n .catch(function(error) {\n reject(error);\n });\n\n return;\n }\n\n reject(new Error('Stream cannot be converted'));\n });\n}\n\nmodule.exports = convertStream;\n","var url = require('url');\n\nfunction buildTorrent(streamingServerURL, infoHash, fileIdx, sources) {\n var query = Array.isArray(sources) && sources.length > 0 ?\n '?' + new URLSearchParams(sources.map(function(source) {\n return ['tr', source];\n }))\n :\n '';\n return {\n url: url.resolve(streamingServerURL, '/' + encodeURIComponent(infoHash) + '/' + encodeURIComponent(fileIdx)) + query,\n infoHash: infoHash,\n fileIdx: fileIdx,\n sources: sources\n };\n}\n\nfunction createTorrent(streamingServerURL, infoHash, fileIdx, sources, seriesInfo) {\n if ((!Array.isArray(sources) || sources.length === 0) && (fileIdx !== null && isFinite(fileIdx))) {\n return Promise.resolve(buildTorrent(streamingServerURL, infoHash, fileIdx, sources));\n }\n\n var body = {\n torrent: {\n infoHash: infoHash,\n }\n };\n\n if (Array.isArray(sources) && sources.length > 0) {\n body.peerSearch = {\n sources: ['dht:' + infoHash].concat(sources).filter(function(source, index, sources) {\n return sources.indexOf(source) === index;\n }),\n min: 40,\n max: 200\n };\n }\n\n if (fileIdx === null || !isFinite(fileIdx)) {\n body.guessFileIdx = {};\n if (seriesInfo) {\n if (seriesInfo.season !== null && isFinite(seriesInfo.season)) {\n body.guessFileIdx.season = seriesInfo.season;\n }\n if (seriesInfo.episode !== null && isFinite(seriesInfo.episode)) {\n body.guessFileIdx.episode = seriesInfo.episode;\n }\n }\n } else {\n body.guessFileIdx = false;\n }\n\n return fetch(url.resolve(streamingServerURL, '/' + encodeURIComponent(infoHash) + '/create'), {\n method: 'POST',\n headers: {\n 'content-type': 'application/json'\n },\n body: JSON.stringify(body)\n }).then(function(resp) {\n if (resp.ok) {\n return resp.json();\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n }).then(function(resp) {\n return buildTorrent(streamingServerURL, infoHash, body.guessFileIdx ? resp.guessedFileIdx : fileIdx, body.peerSearch ? body.peerSearch.sources : []);\n });\n}\n\nmodule.exports = createTorrent;\n","var url = require('url');\n\nfunction fetchOpensubtitlesParams(streamingServerURL, mediaURL, behaviorHints) {\n var hash = behaviorHints && typeof behaviorHints.videoHash === 'string' ? behaviorHints.videoHash : null;\n var size = behaviorHints && isFinite(behaviorHints.videoSize) ? behaviorHints.videoSize : null;\n if (typeof hash === 'string' && size !== null && isFinite(size)) {\n return Promise.resolve({ hash: hash, size: size });\n }\n\n var queryParams = new URLSearchParams([['videoUrl', mediaURL]]);\n return fetch(url.resolve(streamingServerURL, '/opensubHash?' + queryParams.toString()))\n .then(function(resp) {\n if (resp.ok) {\n return resp.json();\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n })\n .then(function(resp) {\n if (resp.error) {\n throw new Error(resp.error);\n }\n\n return {\n hash: typeof hash === 'string' ?\n hash\n :\n resp.result && typeof resp.result.hash === 'string' ?\n resp.result.hash\n :\n null,\n size: size !== null && isFinite(size) ?\n size\n :\n resp.result && typeof resp.result.size ?\n resp.result.size\n :\n null\n };\n });\n}\n\nfunction fetchFilename(streamingServerURL, mediaURL, infoHash, fileIdx, behaviorHints) {\n if (behaviorHints && typeof behaviorHints.filename === 'string') {\n return Promise.resolve(behaviorHints.filename);\n }\n\n if (infoHash) {\n return fetch(url.resolve(streamingServerURL, '/' + encodeURIComponent(infoHash) + '/' + encodeURIComponent(fileIdx) + '/stats.json'))\n .then(function(resp) {\n if (resp.ok) {\n return resp.json();\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n })\n .then(function(resp) {\n if (!resp || typeof resp.streamName !== 'string') {\n throw new Error('Could not retrieve filename from torrent');\n }\n\n return resp.streamName;\n });\n }\n\n return Promise.resolve(decodeURIComponent(mediaURL.split('/').pop()));\n}\n\nfunction fetchVideoParams(streamingServerURL, mediaURL, infoHash, fileIdx, behaviorHints) {\n return Promise.allSettled([\n fetchOpensubtitlesParams(streamingServerURL, mediaURL, behaviorHints),\n fetchFilename(streamingServerURL, mediaURL, infoHash, fileIdx, behaviorHints)\n ]).then(function(results) {\n var result = { hash: null, size: null, filename: null };\n\n if (results[0].status === 'fulfilled') {\n result.hash = results[0].value.hash;\n result.size = results[0].value.size;\n } else if (results[0].reason) {\n // eslint-disable-next-line no-console\n console.error(results[0].reason);\n }\n\n if (results[1].status === 'fulfilled') {\n result.filename = results[1].value;\n } else if (results[1].reason) {\n // eslint-disable-next-line no-console\n console.error(results[1].reason);\n }\n\n return result;\n });\n}\n\nmodule.exports = fetchVideoParams;\n","var withStreamingServer = require('./withStreamingServer');\n\nmodule.exports = withStreamingServer;\n","function isPlayerLoaded(video, props) {\n if (!props.includes('loaded')) {\n return Promise.resolve(true);\n }\n return new Promise(function(resolve, reject) {\n var isLoaded = null;\n video.on('propChanged', function(propName, propValue) {\n if (propName === 'loaded' && propValue !== null && isLoaded === null) {\n isLoaded = propValue;\n if (propValue === true) {\n resolve(true);\n } else if (propValue === false) {\n reject(Error('Player failed to load, will not retrieve video params'));\n }\n }\n });\n video.dispatch({\n type: 'observeProp',\n propName: 'loaded'\n });\n });\n}\n\nmodule.exports = isPlayerLoaded;\n","var EventEmitter = require('eventemitter3');\nvar url = require('url');\nvar hat = require('hat');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar mediaCapabilities = require('../mediaCapabilities');\nvar convertStream = require('./convertStream');\nvar fetchVideoParams = require('./fetchVideoParams');\nvar isPlayerLoaded = require('./isPlayerLoaded');\nvar supportsTranscoding = require('../supportsTranscoding');\nvar ERROR = require('../error');\n\nfunction withStreamingServer(Video) {\n function VideoWithStreamingServer(options) {\n options = options || {};\n\n var video = new Video(options);\n video.on('error', onVideoError);\n video.on('propValue', onVideoPropEvent.bind(null, 'propValue'));\n video.on('propChanged', onVideoPropEvent.bind(null, 'propChanged'));\n Video.manifest.events\n .filter(function(eventName) {\n return !['error', 'propValue', 'propChanged'].includes(eventName);\n })\n .forEach(function(eventName) {\n video.on(eventName, onOtherVideoEvent(eventName));\n });\n\n var self = this;\n var loadArgs = null;\n var loaded = false;\n var actionsQueue = [];\n var videoParams = null;\n var events = new EventEmitter();\n var destroyed = false;\n var observedProps = {\n stream: false,\n videoParams: false\n };\n\n function flushActionsQueue() {\n while (actionsQueue.length > 0) {\n var action = actionsQueue.shift();\n self.dispatch.call(self, action);\n }\n }\n function onVideoError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onVideoPropEvent(eventName, propName, propValue) {\n events.emit(eventName, propName, getProp(propName, propValue));\n }\n function onOtherVideoEvent(eventName) {\n return function() {\n events.emit.apply(events, [eventName].concat(Array.from(arguments)));\n };\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName, null));\n }\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n video.dispatch({ type: 'command', commandName: 'unload' });\n }\n }\n function getProp(propName, videoPropValue) {\n switch (propName) {\n case 'stream': {\n return loadArgs !== null ? loadArgs.stream : null;\n }\n case 'videoParams': {\n return videoParams;\n }\n default: {\n return videoPropValue;\n }\n }\n }\n function observeProp(propName) {\n switch (propName) {\n case 'stream':\n case 'videoParams': {\n events.emit('propValue', propName, getProp(propName, null));\n observedProps[propName] = true;\n return true;\n }\n default: {\n return false;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n if (commandArgs && commandArgs.stream && typeof commandArgs.streamingServerURL === 'string') {\n command('unload');\n video.dispatch({ type: 'command', commandName: 'unload' });\n loadArgs = commandArgs;\n onPropChanged('stream');\n convertStream(commandArgs.streamingServerURL, commandArgs.stream, commandArgs.seriesInfo, commandArgs.streamingServerSettings)\n .then(function(result) {\n var mediaURL = result.url;\n var infoHash = result.infoHash;\n var fileIdx = result.fileIdx;\n var formats = Array.isArray(commandArgs.formats) ?\n commandArgs.formats\n :\n mediaCapabilities.formats;\n var videoCodecs = Array.isArray(commandArgs.videoCodecs) ?\n commandArgs.videoCodecs\n :\n mediaCapabilities.videoCodecs;\n var audioCodecs = Array.isArray(commandArgs.audioCodecs) ?\n commandArgs.audioCodecs\n :\n mediaCapabilities.audioCodecs;\n var maxAudioChannels = commandArgs.maxAudioChannels !== null && isFinite(commandArgs.maxAudioChannels) ?\n commandArgs.maxAudioChannels\n :\n mediaCapabilities.maxAudioChannels;\n var canPlayStreamOptions = Object.assign({}, commandArgs, {\n formats: formats,\n videoCodecs: videoCodecs,\n audioCodecs: audioCodecs,\n maxAudioChannels: maxAudioChannels\n });\n return (commandArgs.forceTranscoding ? Promise.resolve(false) : VideoWithStreamingServer.canPlayStream({ url: mediaURL }, canPlayStreamOptions))\n .catch(function(error) {\n console.warn('Media probe error', error);\n return false;\n })\n .then(function(canPlay) {\n if (canPlay) {\n return {\n mediaURL: mediaURL,\n infoHash: infoHash,\n fileIdx: fileIdx,\n stream: {\n url: mediaURL\n }\n };\n }\n\n var id = hat();\n var queryParams = new URLSearchParams([['mediaURL', mediaURL]]);\n if (commandArgs.forceTranscoding) {\n queryParams.set('forceTranscoding', '1');\n }\n\n videoCodecs.forEach(function(videoCodec) {\n queryParams.append('videoCodecs', videoCodec);\n });\n\n audioCodecs.forEach(function(audioCodec) {\n queryParams.append('audioCodecs', audioCodec);\n });\n\n queryParams.set('maxAudioChannels', maxAudioChannels);\n\n return {\n mediaURL: mediaURL,\n infoHash: infoHash,\n fileIdx: fileIdx,\n stream: {\n url: url.resolve(commandArgs.streamingServerURL, '/hlsv2/' + id + '/master.m3u8?' + queryParams.toString()),\n subtitles: Array.isArray(commandArgs.stream.subtitles) ?\n commandArgs.stream.subtitles.map(function(track) {\n return Object.assign({}, track, {\n url: typeof track.url === 'string' ?\n url.resolve(commandArgs.streamingServerURL, '/subtitles.vtt?' + new URLSearchParams([['from', track.url]]).toString())\n :\n track.url\n });\n })\n :\n [],\n behaviorHints: {\n headers: {\n 'content-type': 'application/vnd.apple.mpegurl'\n }\n }\n }\n };\n });\n })\n .then(function(result) {\n if (commandArgs !== loadArgs) {\n return;\n }\n\n video.dispatch({\n type: 'command',\n commandName: 'load',\n commandArgs: Object.assign({}, commandArgs, {\n stream: result.stream\n })\n });\n loaded = true;\n flushActionsQueue();\n\n isPlayerLoaded(video, Video.manifest.props)\n .then(function() {\n return fetchVideoParams(commandArgs.streamingServerURL, result.mediaURL, result.infoHash, result.fileIdx, commandArgs.stream.behaviorHints);\n })\n .then(function(result) {\n if (commandArgs !== loadArgs) {\n return;\n }\n\n videoParams = result;\n onPropChanged('videoParams');\n })\n .catch(function(error) {\n if (commandArgs !== loadArgs) {\n return;\n }\n\n // eslint-disable-next-line no-console\n console.error(error);\n videoParams = { hash: null, size: null, filename: null };\n onPropChanged('videoParams');\n });\n })\n .catch(function(error) {\n if (commandArgs !== loadArgs) {\n return;\n }\n\n onError(Object.assign({}, ERROR.WITH_STREAMING_SERVER.CONVERT_FAILED, {\n error: error,\n critical: true,\n stream: commandArgs.stream,\n streamingServerURL: commandArgs.streamingServerURL\n }));\n });\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null,\n streamingServerURL: commandArgs && typeof commandArgs.streamingServerURL === 'string' ? commandArgs.streamingServerURL : null\n }));\n }\n\n return true;\n }\n case 'addExtraSubtitlesTracks': {\n if (loadArgs && commandArgs && Array.isArray(commandArgs.tracks)) {\n if (loaded) {\n video.dispatch({\n type: 'command',\n commandName: 'addExtraSubtitlesTracks',\n commandArgs: Object.assign({}, commandArgs, {\n tracks: commandArgs.tracks.map(function(track) {\n return Object.assign({}, track, {\n // fallback is used in case server conversion fails (if server is offline)\n fallbackUrl: track.url,\n url: typeof track.url === 'string' ?\n url.resolve(loadArgs.streamingServerURL, '/subtitles.vtt?' + new URLSearchParams([['from', track.url]]).toString())\n :\n track.url\n });\n })\n })\n });\n } else {\n actionsQueue.push({\n type: 'command',\n commandName: 'addExtraSubtitlesTracks',\n commandArgs: commandArgs\n });\n }\n }\n\n return true;\n }\n case 'unload': {\n loadArgs = null;\n loaded = false;\n actionsQueue = [];\n videoParams = null;\n onPropChanged('stream');\n onPropChanged('videoParams');\n return false;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n video.dispatch({ type: 'command', commandName: 'destroy' });\n events.removeAllListeners();\n return true;\n }\n default: {\n if (!loaded) {\n actionsQueue.push({\n type: 'command',\n commandName: commandName,\n commandArgs: commandArgs\n });\n\n return true;\n }\n\n return false;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n if (observeProp(action.propName)) {\n return;\n }\n\n break;\n }\n case 'command': {\n if (command(action.commandName, action.commandArgs)) {\n return;\n }\n\n break;\n }\n }\n }\n\n video.dispatch(action);\n };\n }\n\n VideoWithStreamingServer.canPlayStream = function(stream, options) {\n return supportsTranscoding()\n .then(function(supported) {\n if (!supported) {\n // we cannot probe the video in this case\n return Video.canPlayStream(stream);\n }\n // probing normally gives more accurate results\n var queryParams = new URLSearchParams([['mediaURL', stream.url]]);\n return fetch(url.resolve(options.streamingServerURL, '/hlsv2/probe?' + queryParams.toString()))\n .then(function(resp) {\n return resp.json();\n })\n .then(function(probe) {\n var isFormatSupported = options.formats.some(function(format) {\n return probe.format.name.indexOf(format) !== -1;\n });\n var areStreamsSupported = probe.streams.every(function(stream) {\n if (stream.track === 'audio') {\n return stream.channels <= options.maxAudioChannels &&\n options.audioCodecs.indexOf(stream.codec) !== -1;\n } else if (stream.track === 'video') {\n return options.videoCodecs.indexOf(stream.codec) !== -1;\n }\n\n return true;\n });\n return isFormatSupported && areStreamsSupported;\n })\n .catch(function() {\n // this uses content-type header in HTMLVideo which\n // is unreliable, check can also fail due to CORS\n return Video.canPlayStream(stream);\n });\n });\n };\n\n VideoWithStreamingServer.manifest = {\n name: Video.manifest.name + 'WithStreamingServer',\n external: Video.manifest.external,\n props: Video.manifest.props.concat(['stream', 'videoParams'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n commands: Video.manifest.commands.concat(['load', 'unload', 'destroy', 'addExtraSubtitlesTracks'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n events: Video.manifest.events.concat(['propValue', 'propChanged', 'error'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; })\n };\n\n return VideoWithStreamingServer;\n}\n\nmodule.exports = withStreamingServer;\n","var withVideoParams = require('./withVideoParams');\n\nmodule.exports = withVideoParams;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\n\nfunction withVideoParams(Video) {\n function VideoWithVideoParams(options) {\n options = options || {};\n\n var video = new Video(options);\n video.on('propValue', onVideoPropEvent.bind(null, 'propValue'));\n video.on('propChanged', onVideoPropEvent.bind(null, 'propChanged'));\n Video.manifest.events\n .filter(function(eventName) {\n return !['propValue', 'propChanged'].includes(eventName);\n })\n .forEach(function(eventName) {\n video.on(eventName, onOtherVideoEvent(eventName));\n });\n\n var stream = null;\n var events = new EventEmitter();\n var destroyed = false;\n var observedProps = {\n videoParams: false\n };\n\n function onVideoPropEvent(eventName, propName, propValue) {\n if (propName !== 'videoParams') {\n events.emit(eventName, propName, getProp(propName, propValue));\n }\n if (propName === 'stream') {\n stream = propValue;\n onPropChanged('videoParams');\n }\n }\n function onOtherVideoEvent(eventName) {\n return function() {\n events.emit.apply(events, [eventName].concat(Array.from(arguments)));\n };\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName, null));\n }\n }\n function getProp(propName, videoPropValue) {\n switch (propName) {\n case 'videoParams': {\n if (stream === null) {\n return null;\n }\n\n var hash = stream.behaviorHints && typeof stream.behaviorHints.videoHash === 'string' ? stream.behaviorHints.videoHash : null;\n var size = stream.behaviorHints && stream.behaviorHints.videoSize !== null && isFinite(stream.behaviorHints.videoSize) ? stream.behaviorHints.videoSize : null;\n var filename = stream.behaviorHints && typeof stream.behaviorHints.filename === 'string' ? stream.behaviorHints.filename : null;\n return { hash: hash, size: size, filename: filename };\n }\n default: {\n return videoPropValue;\n }\n }\n }\n function observeProp(propName) {\n switch (propName) {\n case 'videoParams': {\n events.emit('propValue', propName, getProp(propName, null));\n observedProps[propName] = true;\n return true;\n }\n default: {\n return false;\n }\n }\n }\n function command(commandName) {\n switch (commandName) {\n case 'destroy': {\n destroyed = true;\n video.dispatch({ type: 'command', commandName: 'destroy' });\n events.removeAllListeners();\n return true;\n }\n default: {\n return false;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n if (observeProp(action.propName)) {\n return;\n }\n\n break;\n }\n case 'command': {\n if (command(action.commandName, action.commandArgs)) {\n return;\n }\n\n break;\n }\n }\n }\n\n video.dispatch(action);\n };\n }\n\n VideoWithVideoParams.canPlayStream = function(stream, options) {\n return Video.canPlayStream(stream, options);\n };\n\n VideoWithVideoParams.manifest = {\n name: Video.manifest.name + 'WithVideoParams',\n external: Video.manifest.external,\n props: Video.manifest.props.concat(['videoParams'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n commands: Video.manifest.commands.concat(['destroy'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n events: Video.manifest.events.concat(['propValue', 'propChanged'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; })\n };\n\n return VideoWithVideoParams;\n}\n\nmodule.exports = withVideoParams;\n","/*!\n * a-color-picker (https://github.com/narsenico/a-color-picker)\n * \n * Copyright (c) 2017-2018, Gianfranco Caldi.\n * Released under the MIT License.\n */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"AColorPicker\",[],t):\"object\"==typeof exports?exports.AColorPicker=t():e.AColorPicker=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){var t={};function r(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)r.d(i,o,function(t){return e[t]}.bind(null,o));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=1)}([function(e,t,r){\"use strict\";\n/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */var i=r(3);function o(e){return!0===i(e)&&\"[object Object]\"===Object.prototype.toString.call(e)}e.exports=function(e){var t,r;return!1!==o(e)&&\"function\"==typeof(t=e.constructor)&&!1!==o(r=t.prototype)&&!1!==r.hasOwnProperty(\"isPrototypeOf\")}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.VERSION=t.PALETTE_MATERIAL_CHROME=t.PALETTE_MATERIAL_500=t.COLOR_NAMES=t.getLuminance=t.intToRgb=t.rgbToInt=t.rgbToHsv=t.rgbToHsl=t.hslToRgb=t.rgbToHex=t.parseColor=t.parseColorToHsla=t.parseColorToHsl=t.parseColorToRgba=t.parseColorToRgb=t.from=t.createPicker=void 0;var i=function(){function e(e,t){for(var r=0;r-1,p=\"undefined\"!=typeof window&&window.navigator.userAgent.indexOf(\"rv:\")>-1,d={id:null,attachTo:\"body\",showHSL:!0,showRGB:!0,showHEX:!0,showAlpha:!1,color:\"#ff0000\",palette:null,paletteEditable:!1,useAlphaInPalette:\"auto\",slBarSize:[232,150],hueBarSize:[150,11],alphaBarSize:[150,11]},f=\"COLOR\",g=\"RGBA_USER\",b=\"HSLA_USER\";function v(e,t,r){return e?e instanceof HTMLElement?e:e instanceof NodeList?e[0]:\"string\"==typeof e?document.querySelector(e):e.jquery?e.get(0):r?t:null:t}function m(e){var t=e.getContext(\"2d\"),r=+e.width,i=+e.height,s=t.createLinearGradient(1,1,1,i-1);return s.addColorStop(0,\"white\"),s.addColorStop(1,\"black\"),{setHue:function(e){var o=t.createLinearGradient(1,0,r-1,0);o.addColorStop(0,\"hsla(\"+e+\", 100%, 50%, 0)\"),o.addColorStop(1,\"hsla(\"+e+\", 100%, 50%, 1)\"),t.fillStyle=s,t.fillRect(0,0,r,i),t.fillStyle=o,t.globalCompositeOperation=\"multiply\",t.fillRect(0,0,r,i),t.globalCompositeOperation=\"source-over\"},grabColor:function(e,r){return t.getImageData(e,r,1,1).data},findColor:function(e,t,s){var a=(0,n.rgbToHsv)(e,t,s),l=o(a,3),c=l[1],u=l[2];return[c*r,i-u*i]}}}function A(e,t,r){return null===e?t:/^\\s*$/.test(e)?r:!!/true|yes|1/i.test(e)||!/false|no|0/i.test(e)&&t}function y(e,t,r){if(null===e)return t;if(/^\\s*$/.test(e))return r;var i=e.split(\",\").map(Number);return 2===i.length&&i[0]&&i[1]?i:t}var k=function(){function e(t,r){if(c(this,e),r?(t=v(t),this.options=Object.assign({},d,r)):t&&(0,s.default)(t)?(this.options=Object.assign({},d,t),t=v(this.options.attachTo)):(this.options=Object.assign({},d),t=v((0,n.nvl)(t,this.options.attachTo))),!t)throw new Error(\"Container not found: \"+this.options.attachTo);!function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"acp-\";if(t.hasAttribute(r+\"show-hsl\")&&(e.showHSL=A(t.getAttribute(r+\"show-hsl\"),d.showHSL,!0)),t.hasAttribute(r+\"show-rgb\")&&(e.showRGB=A(t.getAttribute(r+\"show-rgb\"),d.showRGB,!0)),t.hasAttribute(r+\"show-hex\")&&(e.showHEX=A(t.getAttribute(r+\"show-hex\"),d.showHEX,!0)),t.hasAttribute(r+\"show-alpha\")&&(e.showAlpha=A(t.getAttribute(r+\"show-alpha\"),d.showAlpha,!0)),t.hasAttribute(r+\"palette-editable\")&&(e.paletteEditable=A(t.getAttribute(r+\"palette-editable\"),d.paletteEditable,!0)),t.hasAttribute(r+\"sl-bar-size\")&&(e.slBarSize=y(t.getAttribute(r+\"sl-bar-size\"),d.slBarSize,[232,150])),t.hasAttribute(r+\"hue-bar-size\")&&(e.hueBarSize=y(t.getAttribute(r+\"hue-bar-size\"),d.hueBarSize,[150,11]),e.alphaBarSize=e.hueBarSize),t.hasAttribute(r+\"palette\")){var i=t.getAttribute(r+\"palette\");switch(i){case\"PALETTE_MATERIAL_500\":e.palette=n.PALETTE_MATERIAL_500;break;case\"PALETTE_MATERIAL_CHROME\":case\"\":e.palette=n.PALETTE_MATERIAL_CHROME;break;default:e.palette=i.split(/[;|]/)}}t.hasAttribute(r+\"color\")&&(e.color=t.getAttribute(r+\"color\"))}(this.options,t),this.H=0,this.S=0,this.L=0,this.R=0,this.G=0,this.B=0,this.A=1,this.palette={},this.element=document.createElement(\"div\"),this.options.id&&(this.element.id=this.options.id),this.element.className=\"a-color-picker\",this.element.innerHTML=a.default,t.appendChild(this.element);var i=this.element.querySelector(\".a-color-picker-h\");this.setupHueCanvas(i),this.hueBarHelper=m(i),this.huePointer=this.element.querySelector(\".a-color-picker-h+.a-color-picker-dot\");var o=this.element.querySelector(\".a-color-picker-sl\");this.setupSlCanvas(o),this.slBarHelper=m(o),this.slPointer=this.element.querySelector(\".a-color-picker-sl+.a-color-picker-dot\"),this.preview=this.element.querySelector(\".a-color-picker-preview\"),this.setupClipboard(this.preview.querySelector(\".a-color-picker-clipbaord\")),this.options.showHSL?(this.setupInput(this.inputH=this.element.querySelector(\".a-color-picker-hsl>input[nameref=H]\")),this.setupInput(this.inputS=this.element.querySelector(\".a-color-picker-hsl>input[nameref=S]\")),this.setupInput(this.inputL=this.element.querySelector(\".a-color-picker-hsl>input[nameref=L]\"))):this.element.querySelector(\".a-color-picker-hsl\").remove(),this.options.showRGB?(this.setupInput(this.inputR=this.element.querySelector(\".a-color-picker-rgb>input[nameref=R]\")),this.setupInput(this.inputG=this.element.querySelector(\".a-color-picker-rgb>input[nameref=G]\")),this.setupInput(this.inputB=this.element.querySelector(\".a-color-picker-rgb>input[nameref=B]\"))):this.element.querySelector(\".a-color-picker-rgb\").remove(),this.options.showHEX?this.setupInput(this.inputRGBHEX=this.element.querySelector(\"input[nameref=RGBHEX]\")):this.element.querySelector(\".a-color-picker-rgbhex\").remove(),this.options.paletteEditable||this.options.palette&&this.options.palette.length>0?this.setPalette(this.paletteRow=this.element.querySelector(\".a-color-picker-palette\")):(this.paletteRow=this.element.querySelector(\".a-color-picker-palette\"),this.paletteRow.remove()),this.options.showAlpha?(this.setupAlphaCanvas(this.element.querySelector(\".a-color-picker-a\")),this.alphaPointer=this.element.querySelector(\".a-color-picker-a+.a-color-picker-dot\")):this.element.querySelector(\".a-color-picker-alpha\").remove(),this.element.style.width=this.options.slBarSize[0]+\"px\",this.onValueChanged(f,this.options.color)}return i(e,[{key:\"setupHueCanvas\",value:function(e){var t=this;e.width=this.options.hueBarSize[0],e.height=this.options.hueBarSize[1];for(var r=e.getContext(\"2d\"),i=r.createLinearGradient(0,0,this.options.hueBarSize[0],0),o=0;o<=1;o+=1/360)i.addColorStop(o,\"hsl(\"+360*o+\", 100%, 50%)\");r.fillStyle=i,r.fillRect(0,0,this.options.hueBarSize[0],this.options.hueBarSize[1]);var s=function(r){var i=(0,n.limit)(r.clientX-e.getBoundingClientRect().left,0,t.options.hueBarSize[0]),o=Math.round(360*i/t.options.hueBarSize[0]);t.huePointer.style.left=i-7+\"px\",t.onValueChanged(\"H\",o)},a=function e(){document.removeEventListener(\"mousemove\",s),document.removeEventListener(\"mouseup\",e)};e.addEventListener(\"mousedown\",function(e){s(e),document.addEventListener(\"mousemove\",s),document.addEventListener(\"mouseup\",a)})}},{key:\"setupSlCanvas\",value:function(e){var t=this;e.width=this.options.slBarSize[0],e.height=this.options.slBarSize[1];var r=function(r){var i=(0,n.limit)(r.clientX-e.getBoundingClientRect().left,0,t.options.slBarSize[0]-1),o=(0,n.limit)(r.clientY-e.getBoundingClientRect().top,0,t.options.slBarSize[1]-1),s=t.slBarHelper.grabColor(i,o);t.slPointer.style.left=i-7+\"px\",t.slPointer.style.top=o-7+\"px\",t.onValueChanged(\"RGB\",s)},i=function e(){document.removeEventListener(\"mousemove\",r),document.removeEventListener(\"mouseup\",e)};e.addEventListener(\"mousedown\",function(e){r(e),document.addEventListener(\"mousemove\",r),document.addEventListener(\"mouseup\",i)})}},{key:\"setupAlphaCanvas\",value:function(e){var t=this;e.width=this.options.alphaBarSize[0],e.height=this.options.alphaBarSize[1];var r=e.getContext(\"2d\"),i=r.createLinearGradient(0,0,e.width-1,0);i.addColorStop(0,\"hsla(0, 0%, 50%, 0)\"),i.addColorStop(1,\"hsla(0, 0%, 50%, 1)\"),r.fillStyle=i,r.fillRect(0,0,this.options.alphaBarSize[0],this.options.alphaBarSize[1]);var o=function(r){var i=(0,n.limit)(r.clientX-e.getBoundingClientRect().left,0,t.options.alphaBarSize[0]),o=+(i/t.options.alphaBarSize[0]).toFixed(2);t.alphaPointer.style.left=i-7+\"px\",t.onValueChanged(\"ALPHA\",o)},s=function e(){document.removeEventListener(\"mousemove\",o),document.removeEventListener(\"mouseup\",e)};e.addEventListener(\"mousedown\",function(e){o(e),document.addEventListener(\"mousemove\",o),document.addEventListener(\"mouseup\",s)})}},{key:\"setupInput\",value:function(e){var t=this,r=+e.min,i=+e.max,o=e.getAttribute(\"nameref\");e.hasAttribute(\"select-on-focus\")&&e.addEventListener(\"focus\",function(){e.select()}),\"text\"===e.type?e.addEventListener(\"change\",function(){t.onValueChanged(o,e.value)}):((h||p)&&e.addEventListener(\"keydown\",function(s){\"Up\"===s.key?(e.value=(0,n.limit)(+e.value+1,r,i),t.onValueChanged(o,e.value),s.returnValue=!1):\"Down\"===s.key&&(e.value=(0,n.limit)(+e.value-1,r,i),t.onValueChanged(o,e.value),s.returnValue=!1)}),e.addEventListener(\"change\",function(){var s=+e.value;t.onValueChanged(o,(0,n.limit)(s,r,i))}))}},{key:\"setupClipboard\",value:function(e){var t=this;e.title=\"click to copy\",e.addEventListener(\"click\",function(){e.value=(0,n.parseColor)([t.R,t.G,t.B,t.A],\"hexcss4\"),e.select(),document.execCommand(\"copy\")})}},{key:\"setPalette\",value:function(e){var t=this,r=\"auto\"===this.options.useAlphaInPalette?this.options.showAlpha:this.options.useAlphaInPalette,i=null;switch(this.options.palette){case\"PALETTE_MATERIAL_500\":i=n.PALETTE_MATERIAL_500;break;case\"PALETTE_MATERIAL_CHROME\":i=n.PALETTE_MATERIAL_CHROME;break;default:i=(0,n.ensureArray)(this.options.palette)}if(this.options.paletteEditable||i.length>0){var o=function(r,i,o){var n=e.querySelector('.a-color-picker-palette-color[data-color=\"'+r+'\"]')||document.createElement(\"div\");n.className=\"a-color-picker-palette-color\",n.style.backgroundColor=r,n.setAttribute(\"data-color\",r),n.title=r,e.insertBefore(n,i),t.palette[r]=!0,o&&t.onPaletteColorAdd(r)},s=function(r,i){r?(e.removeChild(r),t.palette[r.getAttribute(\"data-color\")]=!1,i&&t.onPaletteColorRemove(r.getAttribute(\"data-color\"))):(e.querySelectorAll(\".a-color-picker-palette-color[data-color]\").forEach(function(t){e.removeChild(t)}),Object.keys(t.palette).forEach(function(e){t.palette[e]=!1}),i&&t.onPaletteColorRemove())};if(i.map(function(e){return(0,n.parseColor)(e,r?\"rgbcss4\":\"hex\")}).filter(function(e){return!!e}).forEach(function(e){return o(e)}),this.options.paletteEditable){var a=document.createElement(\"div\");a.className=\"a-color-picker-palette-color a-color-picker-palette-add\",a.innerHTML=\"+\",e.appendChild(a),e.addEventListener(\"click\",function(e){/a-color-picker-palette-add/.test(e.target.className)?e.shiftKey?s(null,!0):o(r?(0,n.parseColor)([t.R,t.G,t.B,t.A],\"rgbcss4\"):(0,n.rgbToHex)(t.R,t.G,t.B),e.target,!0):/a-color-picker-palette-color/.test(e.target.className)&&(e.shiftKey?s(e.target,!0):t.onValueChanged(f,e.target.getAttribute(\"data-color\")))})}else e.addEventListener(\"click\",function(e){/a-color-picker-palette-color/.test(e.target.className)&&t.onValueChanged(f,e.target.getAttribute(\"data-color\"))})}else e.style.display=\"none\"}},{key:\"updatePalette\",value:function(e){this.paletteRow.innerHTML=\"\",this.palette={},this.paletteRow.parentElement||this.element.appendChild(this.paletteRow),this.options.palette=e,this.setPalette(this.paletteRow)}},{key:\"onValueChanged\",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{silent:!1};switch(e){case\"H\":this.H=t;var i=(0,n.hslToRgb)(this.H,this.S,this.L),s=o(i,3);this.R=s[0],this.G=s[1],this.B=s[2],this.slBarHelper.setHue(t),this.updatePointerH(this.H),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"S\":this.S=t;var a=(0,n.hslToRgb)(this.H,this.S,this.L),l=o(a,3);this.R=l[0],this.G=l[1],this.B=l[2],this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"L\":this.L=t;var c=(0,n.hslToRgb)(this.H,this.S,this.L),u=o(c,3);this.R=u[0],this.G=u[1],this.B=u[2],this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"R\":this.R=t;var h=(0,n.rgbToHsl)(this.R,this.G,this.B),p=o(h,3);this.H=p[0],this.S=p[1],this.L=p[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"G\":this.G=t;var d=(0,n.rgbToHsl)(this.R,this.G,this.B),v=o(d,3);this.H=v[0],this.S=v[1],this.L=v[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"B\":this.B=t;var m=(0,n.rgbToHsl)(this.R,this.G,this.B),A=o(m,3);this.H=A[0],this.S=A[1],this.L=A[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"RGB\":var y=o(t,3);this.R=y[0],this.G=y[1],this.B=y[2];var k=(0,n.rgbToHsl)(this.R,this.G,this.B),F=o(k,3);this.H=F[0],this.S=F[1],this.L=F[2],this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case g:var E=o(t,4);this.R=E[0],this.G=E[1],this.B=E[2],this.A=E[3];var H=(0,n.rgbToHsl)(this.R,this.G,this.B),B=o(H,3);this.H=B[0],this.S=B[1],this.L=B[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case b:var R=o(t,4);this.H=R[0],this.S=R[1],this.L=R[2],this.A=R[3];var C=(0,n.hslToRgb)(this.H,this.S,this.L),S=o(C,3);this.R=S[0],this.G=S[1],this.B=S[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case\"RGBHEX\":var L=(0,n.cssColorToRgb)(t)||[this.R,this.G,this.B],w=o(L,3);this.R=w[0],this.G=w[1],this.B=w[2];var T=(0,n.rgbToHsl)(this.R,this.G,this.B),x=o(T,3);this.H=x[0],this.S=x[1],this.L=x[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B);break;case f:var G=(0,n.parseColor)(t,\"rgba\")||[0,0,0,1],I=o(G,4);this.R=I[0],this.G=I[1],this.B=I[2],this.A=I[3];var P=(0,n.rgbToHsl)(this.R,this.G,this.B),D=o(P,3);this.H=D[0],this.S=D[1],this.L=D[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case\"ALPHA\":this.A=t}1===this.A?this.preview.style.backgroundColor=\"rgb(\"+this.R+\",\"+this.G+\",\"+this.B+\")\":this.preview.style.backgroundColor=\"rgba(\"+this.R+\",\"+this.G+\",\"+this.B+\",\"+this.A+\")\",r&&r.silent||this.onchange&&this.onchange(this.preview.style.backgroundColor)}},{key:\"onPaletteColorAdd\",value:function(e){this.oncoloradd&&this.oncoloradd(e)}},{key:\"onPaletteColorRemove\",value:function(e){this.oncolorremove&&this.oncolorremove(e)}},{key:\"updateInputHSL\",value:function(e,t,r){this.options.showHSL&&(this.inputH.value=e,this.inputS.value=t,this.inputL.value=r)}},{key:\"updateInputRGB\",value:function(e,t,r){this.options.showRGB&&(this.inputR.value=e,this.inputG.value=t,this.inputB.value=r)}},{key:\"updateInputRGBHEX\",value:function(e,t,r){this.options.showHEX&&(this.inputRGBHEX.value=(0,n.rgbToHex)(e,t,r))}},{key:\"updatePointerH\",value:function(e){var t=this.options.hueBarSize[0]*e/360;this.huePointer.style.left=t-7+\"px\"}},{key:\"updatePointerSL\",value:function(e,t,r){var i=(0,n.hslToRgb)(e,t,r),s=o(i,3),a=s[0],l=s[1],c=s[2],u=this.slBarHelper.findColor(a,l,c),h=o(u,2),p=h[0],d=h[1];p>=0&&(this.slPointer.style.left=p-7+\"px\",this.slPointer.style.top=d-7+\"px\")}},{key:\"updatePointerA\",value:function(e){if(this.options.showAlpha){var t=this.options.alphaBarSize[0]*e;this.alphaPointer.style.left=t-7+\"px\"}}}]),e}(),F=function(){function e(t){c(this,e),this.name=t,this.listeners=[]}return i(e,[{key:\"on\",value:function(e){e&&this.listeners.push(e)}},{key:\"off\",value:function(e){this.listeners=e?this.listeners.filter(function(t){return t!==e}):[]}},{key:\"emit\",value:function(e,t){for(var r=this.listeners.slice(0),i=0;i1&&void 0!==arguments[1]&&arguments[1];r.onValueChanged(f,e,{silent:t})},get all(){if(s){var e=[r.R,r.G,r.B,r.A],t=r.A<1?\"rgba(\"+r.R+\",\"+r.G+\",\"+r.B+\",\"+r.A+\")\":n.rgbToHex.apply(void 0,e);(a=(0,n.parseColor)(e,a)).toString=function(){return t},s=!1}return Object.assign({},a)},get onchange(){return i.change&&i.change.listeners[0]},set onchange(e){this.off(\"change\").on(\"change\",e)},get oncoloradd(){return i.coloradd&&i.coloradd.listeners[0]},set oncoloradd(e){this.off(\"coloradd\").on(\"coloradd\",e)},get oncolorremove(){return i.colorremove&&i.colorremove.listeners[0]},set oncolorremove(e){this.off(\"colorremove\").on(\"colorremove\",e)},get palette(){return Object.keys(r.palette).filter(function(e){return r.palette[e]})},set palette(e){r.updatePalette(e)},show:function(){r.element.classList.remove(\"hidden\")},hide:function(){r.element.classList.add(\"hidden\")},toggle:function(){r.element.classList.toggle(\"hidden\")},on:function(e,t){return e&&i[e]&&i[e].on(t),this},off:function(e,t){return e&&i[e]&&i[e].off(t),this},destroy:function(){i.change.off(),i.coloradd.off(),i.colorremove.off(),r.element.remove(),i=null,r=null}};return r.onchange=function(){for(var e=arguments.length,t=Array(e),r=0;rstyle[data-source=\"a-color-picker\"]')){var H=r(5).toString(),B=document.createElement(\"style\");B.setAttribute(\"type\",\"text/css\"),B.setAttribute(\"data-source\",\"a-color-picker\"),B.innerHTML=H,document.querySelector(\"head\").appendChild(B)}t.createPicker=E,t.from=function(e,t){var r=function(e){return e?Array.isArray(e)?e:e instanceof HTMLElement?[e]:e instanceof NodeList?[].concat(u(e)):\"string\"==typeof e?[].concat(u(document.querySelectorAll(e))):e.jquery?e.get():[]:[]}(e).map(function(e,r){var i=E(e,t);return i.index=r,i});return r.on=function(e,t){return r.forEach(function(r){return r.on(e,t)}),this},r.off=function(e){return r.forEach(function(t){return t.off(e)}),this},r},t.parseColorToRgb=n.parseColorToRgb,t.parseColorToRgba=n.parseColorToRgba,t.parseColorToHsl=n.parseColorToHsl,t.parseColorToHsla=n.parseColorToHsla,t.parseColor=n.parseColor,t.rgbToHex=n.rgbToHex,t.hslToRgb=n.hslToRgb,t.rgbToHsl=n.rgbToHsl,t.rgbToHsv=n.rgbToHsv,t.rgbToInt=n.rgbToInt,t.intToRgb=n.intToRgb,t.getLuminance=n.getLuminance,t.COLOR_NAMES=n.COLOR_NAMES,t.PALETTE_MATERIAL_500=n.PALETTE_MATERIAL_500,t.PALETTE_MATERIAL_CHROME=n.PALETTE_MATERIAL_CHROME,t.VERSION=\"1.2.1\"},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.nvl=t.ensureArray=t.limit=t.getLuminance=t.parseColor=t.parseColorToHsla=t.parseColorToHsl=t.cssHslaToHsla=t.cssHslToHsl=t.parseColorToRgba=t.parseColorToRgb=t.cssRgbaToRgba=t.cssRgbToRgb=t.cssColorToRgba=t.cssColorToRgb=t.intToRgb=t.rgbToInt=t.rgbToHsv=t.rgbToHsl=t.hslToRgb=t.rgbToHex=t.PALETTE_MATERIAL_CHROME=t.PALETTE_MATERIAL_500=t.COLOR_NAMES=void 0;var i=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],i=!0,o=!1,n=void 0;try{for(var s,a=e[Symbol.iterator]();!(i=(s=a.next()).done)&&(r.push(s.value),!t||r.length!==t);i=!0);}catch(e){o=!0,n=e}finally{try{!i&&a.return&&a.return()}finally{if(o)throw n}}return r}(e,t);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")},o=function(e){return e&&e.__esModule?e:{default:e}}(r(0));function n(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);tr?r:e}function l(e,t){return null==e?t:e}function c(e,t,r){var i=[a(e,0,255),a(t,0,255),a(r,0,255)];return\"#\"+(\"000000\"+((e=i[0])<<16|(t=i[1])<<8|(r=i[2])).toString(16)).slice(-6)}function u(e,t,r){var i=void 0,o=void 0,n=void 0,s=[a(e,0,360)/360,a(t,0,100)/100,a(r,0,100)/100];if(e=s[0],r=s[2],0==(t=s[1]))i=o=n=r;else{var l=function(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e},c=r<.5?r*(1+t):r+t-r*t,u=2*r-c;i=l(u,c,e+1/3),o=l(u,c,e),n=l(u,c,e-1/3)}return[255*i,255*o,255*n].map(Math.round)}function h(e,t,r){var i=[a(e,0,255)/255,a(t,0,255)/255,a(r,0,255)/255];e=i[0],t=i[1],r=i[2];var o=Math.max(e,t,r),n=Math.min(e,t,r),s=void 0,l=void 0,c=(o+n)/2;if(o==n)s=l=0;else{var u=o-n;switch(l=c>.5?u/(2-o-n):u/(o+n),o){case e:s=(t-r)/u+(t>16&255,e>>8&255,255&e]},t.cssColorToRgb=d,t.cssColorToRgba=f,t.cssRgbToRgb=g,t.cssRgbaToRgba=b,t.parseColorToRgb=function(e){return Array.isArray(e)?e=[a(e[0],0,255),a(e[1],0,255),a(e[2],0,255)]:d(e)||g(e)},t.parseColorToRgba=v,t.cssHslToHsl=m,t.cssHslaToHsla=A,t.parseColorToHsl=function(e){return Array.isArray(e)?e=[a(e[0],0,360),a(e[1],0,100),a(e[2],0,100)]:m(e)},t.parseColorToHsla=y,t.parseColor=function(e,t){if(t=t||\"rgb\",null!=e){var r=void 0;if((r=v(e))||(r=y(e))&&(r=[].concat(n(u.apply(void 0,n(r))),[r[3]])))return(0,o.default)(t)?[\"rgb\",\"rgbcss\",\"rgbcss4\",\"rgba\",\"rgbacss\",\"hsl\",\"hslcss\",\"hslcss4\",\"hsla\",\"hslacss\",\"hex\",\"hexcss4\",\"int\"].reduce(function(e,t){return e[t]=k(r,t),e},t||{}):k(r,t.toString().toLowerCase())}},t.getLuminance=function(e,t,r){return.2126*(e=(e/=255)<.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.7152*(t=(t/=255)<.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.0722*((r/=255)<.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))},t.limit=a,t.ensureArray=function(e){return e?Array.from(e):[]},t.nvl=l},function(e,t,r){\"use strict\";\n/*!\n * isobject \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */e.exports=function(e){return null!=e&&\"object\"==typeof e&&!1===Array.isArray(e)}},function(e,t){e.exports='
    '},function(e,t,r){var i=r(6);e.exports=\"string\"==typeof i?i:i.toString()},function(e,t,r){(e.exports=r(7)(!1)).push([e.i,\"/*!\\n * a-color-picker\\n * https://github.com/narsenico/a-color-picker\\n *\\n * Copyright (c) 2017-2018, Gianfranco Caldi.\\n * Released under the MIT License.\\n */.a-color-picker{background-color:#fff;padding:0;display:inline-flex;flex-direction:column;user-select:none;width:232px;font:400 10px Helvetica,Arial,sans-serif;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 4px rgba(0,0,0,.25)}.a-color-picker,.a-color-picker-row,.a-color-picker input{box-sizing:border-box}.a-color-picker-row{padding:15px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;user-select:none}.a-color-picker-row-top{padding:0}.a-color-picker-row:not(:first-child){border-top:1px solid #f5f5f5}.a-color-picker-column{display:flex;flex-direction:column}.a-color-picker-cell{flex:1 1 auto;margin-bottom:4px}.a-color-picker-cell:last-child{margin-bottom:0}.a-color-picker-stack{position:relative}.a-color-picker-dot{position:absolute;width:14px;height:14px;top:0;left:0;background:#fff;pointer-events:none;border-radius:50px;z-index:1000;box-shadow:0 1px 2px rgba(0,0,0,.75)}.a-color-picker-a,.a-color-picker-h,.a-color-picker-sl{cursor:cell}.a-color-picker-a+.a-color-picker-dot,.a-color-picker-h+.a-color-picker-dot{top:-2px}.a-color-picker-a,.a-color-picker-h{border-radius:2px}.a-color-picker-preview{box-sizing:border-box;width:30px;height:30px;user-select:none;border-radius:15px}.a-color-picker-circle{border-radius:50px;border:1px solid #eee}.a-color-picker-hsl,.a-color-picker-rgb,.a-color-picker-single-input{justify-content:space-evenly}.a-color-picker-hsl>label,.a-color-picker-rgb>label,.a-color-picker-single-input>label{padding:0 8px;flex:0 0 auto;color:#969696}.a-color-picker-hsl>input,.a-color-picker-rgb>input,.a-color-picker-single-input>input{text-align:center;padding:2px 0;width:0;flex:1 1 auto;border:1px solid #e0e0e0;line-height:20px}.a-color-picker-hsl>input::-webkit-inner-spin-button,.a-color-picker-rgb>input::-webkit-inner-spin-button,.a-color-picker-single-input>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.a-color-picker-hsl>input:focus,.a-color-picker-rgb>input:focus,.a-color-picker-single-input>input:focus{border-color:#04a9f4;outline:none}.a-color-picker-transparent{background-image:linear-gradient(-45deg,#cdcdcd 25%,transparent 0),linear-gradient(45deg,#cdcdcd 25%,transparent 0),linear-gradient(-45deg,transparent 75%,#cdcdcd 0),linear-gradient(45deg,transparent 75%,#cdcdcd 0);background-size:11px 11px;background-position:0 0,0 -5.5px,-5.5px 5.5px,5.5px 0}.a-color-picker-sl{border-radius:3px 3px 0 0}.a-color-picker.hide-alpha [show-on-alpha],.a-color-picker.hide-hsl [show-on-hsl],.a-color-picker.hide-rgb [show-on-rgb],.a-color-picker.hide-single-input [show-on-single-input]{display:none}.a-color-picker-clipbaord{width:100%;height:100%;opacity:0;cursor:pointer}.a-color-picker-palette{flex-flow:wrap;flex-direction:row;justify-content:flex-start;padding:10px}.a-color-picker-palette-color{width:15px;height:15px;flex:0 1 15px;margin:3px;box-sizing:border-box;cursor:pointer;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.a-color-picker-palette-add{text-align:center;line-height:13px;color:#607d8b}.a-color-picker.hidden{display:none}\",\"\"])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=function(e,t){var r=e[1]||\"\",i=e[3];if(!i)return r;if(t&&\"function\"==typeof btoa){var o=function(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}(i),n=i.sources.map(function(e){return\"/*# sourceURL=\"+i.sourceRoot+e+\" */\"});return[r].concat(n).concat([o]).join(\"\\n\")}return[r].join(\"\\n\")}(t,e);return t[2]?\"@media \"+t[2]+\"{\"+r+\"}\":r}).join(\"\")},t.i=function(e,r){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var i={},o=0;o 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","module.exports = parseRange\nmodule.exports.parse = parseRange\nmodule.exports.compose = composeRange\n\nfunction composeRange (range) {\n return range\n .reduce((acc, cur, idx, arr) => {\n if (idx === 0 || cur !== arr[idx - 1] + 1) acc.push([])\n acc[acc.length - 1].push(cur)\n return acc\n }, [])\n .map((cur) => {\n return cur.length > 1 ? `${cur[0]}-${cur[cur.length - 1]}` : `${cur[0]}`\n })\n}\n\nfunction parseRange (range) {\n const generateRange = (start, end = start) => Array.from({ length: end - start + 1 }, (cur, idx) => idx + start)\n\n return range\n .reduce((acc, cur, idx, arr) => {\n const r = cur.split('-').map(cur => parseInt(cur))\n return acc.concat(generateRange(...r))\n }, [])\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.bowser=t():e.bowser=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=90)}({17:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\"\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\"\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(\".0\");return e.map(n.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]1?i-1:0),a=1;a0){var a=Object.keys(r),u=o.default.find(a,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(r=e.substr(1),\"=\"===e[1]?(n=!0,r=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?r=e.substr(1):\"~\"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\\/(\\d+(\\.?_?\\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},r=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},r=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},r=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},r=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},r=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},r=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},r=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},r=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},r=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},r=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},r=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},r=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},r=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},r=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},r=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},r=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},r=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},r=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},r=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},r=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\"Android Browser\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",r={type:s.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(r.model=t),r}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})}));","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\nvar colorNames = require('color-name');\nvar swizzle = require('simple-swizzle');\nvar hasOwnProperty = Object.hasOwnProperty;\n\nvar reverseNames = Object.create(null);\n\n// create a list of reverse color names\nfor (var name in colorNames) {\n\tif (hasOwnProperty.call(colorNames, name)) {\n\t\treverseNames[colorNames[name]] = name;\n\t}\n}\n\nvar cs = module.exports = {\n\tto: {},\n\tget: {}\n};\n\ncs.get = function (string) {\n\tvar prefix = string.substring(0, 3).toLowerCase();\n\tvar val;\n\tvar model;\n\tswitch (prefix) {\n\t\tcase 'hsl':\n\t\t\tval = cs.get.hsl(string);\n\t\t\tmodel = 'hsl';\n\t\t\tbreak;\n\t\tcase 'hwb':\n\t\t\tval = cs.get.hwb(string);\n\t\t\tmodel = 'hwb';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval = cs.get.rgb(string);\n\t\t\tmodel = 'rgb';\n\t\t\tbreak;\n\t}\n\n\tif (!val) {\n\t\treturn null;\n\t}\n\n\treturn {model: model, value: val};\n};\n\ncs.get.rgb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar abbr = /^#([a-f0-9]{3,4})$/i;\n\tvar hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;\n\tvar rgba = /^rgba?\\(\\s*([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar keyword = /^(\\w+)$/;\n\n\tvar rgb = [0, 0, 0, 1];\n\tvar match;\n\tvar i;\n\tvar hexAlpha;\n\n\tif (match = string.match(hex)) {\n\t\thexAlpha = match[2];\n\t\tmatch = match[1];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\t// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19\n\t\t\tvar i2 = i * 2;\n\t\t\trgb[i] = parseInt(match.slice(i2, i2 + 2), 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(abbr)) {\n\t\tmatch = match[1];\n\t\thexAlpha = match[3];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i] + match[i], 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(rgba)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i + 1], 0);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(per)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(keyword)) {\n\t\tif (match[1] === 'transparent') {\n\t\t\treturn [0, 0, 0, 0];\n\t\t}\n\n\t\tif (!hasOwnProperty.call(colorNames, match[1])) {\n\t\t\treturn null;\n\t\t}\n\n\t\trgb = colorNames[match[1]];\n\t\trgb[3] = 1;\n\n\t\treturn rgb;\n\t} else {\n\t\treturn null;\n\t}\n\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] = clamp(rgb[i], 0, 255);\n\t}\n\trgb[3] = clamp(rgb[3], 0, 1);\n\n\treturn rgb;\n};\n\ncs.get.hsl = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hsl = /^hsla?\\(\\s*([+-]?(?:\\d{0,3}\\.)?\\d+)(?:deg)?\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*(?:[,|\\/]\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hsl);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar s = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar l = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\n\t\treturn [h, s, l, a];\n\t}\n\n\treturn null;\n};\n\ncs.get.hwb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hwb = /^hwb\\(\\s*([+-]?\\d{0,3}(?:\\.\\d+)?)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hwb);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar w = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar b = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\treturn [h, w, b, a];\n\t}\n\n\treturn null;\n};\n\ncs.to.hex = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn (\n\t\t'#' +\n\t\thexDouble(rgba[0]) +\n\t\thexDouble(rgba[1]) +\n\t\thexDouble(rgba[2]) +\n\t\t(rgba[3] < 1\n\t\t\t? (hexDouble(Math.round(rgba[3] * 255)))\n\t\t\t: '')\n\t);\n};\n\ncs.to.rgb = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'\n\t\t: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';\n};\n\ncs.to.rgb.percent = function () {\n\tvar rgba = swizzle(arguments);\n\n\tvar r = Math.round(rgba[0] / 255 * 100);\n\tvar g = Math.round(rgba[1] / 255 * 100);\n\tvar b = Math.round(rgba[2] / 255 * 100);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'\n\t\t: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';\n};\n\ncs.to.hsl = function () {\n\tvar hsla = swizzle(arguments);\n\treturn hsla.length < 4 || hsla[3] === 1\n\t\t? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'\n\t\t: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';\n};\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\ncs.to.hwb = function () {\n\tvar hwba = swizzle(arguments);\n\n\tvar a = '';\n\tif (hwba.length >= 4 && hwba[3] !== 1) {\n\t\ta = ', ' + hwba[3];\n\t}\n\n\treturn 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';\n};\n\ncs.to.keyword = function (rgb) {\n\treturn reverseNames[rgb.slice(0, 3)];\n};\n\n// helpers\nfunction clamp(num, min, max) {\n\treturn Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n\tvar str = Math.round(num).toString(16).toUpperCase();\n\treturn (str.length < 2) ? '0' + str : str;\n}\n","const colorString = require('color-string');\nconst convert = require('color-convert');\n\nconst skippedModels = [\n\t// To be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// Gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// Shouldn't really be in color-convert either...\n\t'hex',\n];\n\nconst hashedModelKeys = {};\nfor (const model of Object.keys(convert)) {\n\thashedModelKeys[[...convert[model].labels].sort().join('')] = model;\n}\n\nconst limiters = {};\n\nfunction Color(object, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(object, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tlet i;\n\tlet channels;\n\n\tif (object == null) { // eslint-disable-line no-eq-null,eqeqeq\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (object instanceof Color) {\n\t\tthis.model = object.model;\n\t\tthis.color = [...object.color];\n\t\tthis.valpha = object.valpha;\n\t} else if (typeof object === 'string') {\n\t\tconst result = colorString.get(object);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + object);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (object.length > 0) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tconst newArray = Array.prototype.slice.call(object, 0, channels);\n\t\tthis.color = zeroArray(newArray, channels);\n\t\tthis.valpha = typeof object[channels] === 'number' ? object[channels] : 1;\n\t} else if (typeof object === 'number') {\n\t\t// This is always RGB - can be converted later on.\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(object >> 16) & 0xFF,\n\t\t\t(object >> 8) & 0xFF,\n\t\t\tobject & 0xFF,\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tconst keys = Object.keys(object);\n\t\tif ('alpha' in object) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof object.alpha === 'number' ? object.alpha : 0;\n\t\t}\n\n\t\tconst hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(object));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tconst {labels} = convert[this.model];\n\t\tconst color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(object[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// Perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tconst limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString() {\n\t\treturn this.string();\n\t},\n\n\ttoJSON() {\n\t\treturn this[this.model]();\n\t},\n\n\tstring(places) {\n\t\tlet self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString(places) {\n\t\tconst self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray() {\n\t\treturn this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];\n\t},\n\n\tobject() {\n\t\tconst result = {};\n\t\tconst {channels} = convert[this.model];\n\t\tconst {labels} = convert[this.model];\n\n\t\tfor (let i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray() {\n\t\tconst rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject() {\n\t\tconst rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround(places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model);\n\t},\n\n\talpha(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color([...this.color, Math.max(0, Math.min(1, value))], this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// Rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, value => ((value % 360) + 360) % 360),\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(95.047)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(108.833)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\thexa(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\tconst rgbArray = this.rgb().round().color;\n\n\t\tlet alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();\n\t\tif (alphaHex.length === 1) {\n\t\t\talphaHex = '0' + alphaHex;\n\t\t}\n\n\t\treturn colorString.to.hex(rgbArray) + alphaHex;\n\t},\n\n\trgbNumber() {\n\t\tconst rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity() {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tconst rgb = this.rgb().color;\n\n\t\tconst lum = [];\n\t\tfor (const [i, element] of rgb.entries()) {\n\t\t\tconst chan = element / 255;\n\t\t\tlum[i] = (chan <= 0.04045) ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast(color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tconst lum1 = this.luminosity();\n\t\tconst lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel(color2) {\n\t\t// https://www.w3.org/TR/WCAG/#contrast-enhanced\n\t\tconst contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark() {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tconst rgb = this.rgb().color;\n\t\tconst yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight() {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate() {\n\t\tconst rgb = this.rgb();\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tlighten(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale() {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tconst rgb = this.rgb().color;\n\t\tconst value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(value, value, value);\n\t},\n\n\tfade(ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer(ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate(degrees) {\n\t\tconst hsl = this.hsl();\n\t\tlet hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix(mixinColor, weight) {\n\t\t// Ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\n\t\tconst color1 = mixinColor.rgb();\n\t\tconst color2 = this.rgb();\n\t\tconst p = weight === undefined ? 0.5 : weight;\n\n\t\tconst w = 2 * p - 1;\n\t\tconst a = color1.alpha() - color2.alpha();\n\n\t\tconst w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2;\n\t\tconst w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n};\n\n// Model conversion methods and static constructors\nfor (const model of Object.keys(convert)) {\n\tif (skippedModels.includes(model)) {\n\t\tcontinue;\n\t}\n\n\tconst {channels} = convert[model];\n\n\t// Conversion methods\n\tColor.prototype[model] = function (...args) {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (args.length > 0) {\n\t\t\treturn new Color(args, model);\n\t\t}\n\n\t\treturn new Color([...assertArray(convert[this.model][model].raw(this.color)), this.valpha], model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (...args) {\n\t\tlet color = args[0];\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(args, channels);\n\t\t}\n\n\t\treturn new Color(color, model);\n\t};\n}\n\nfunction roundTo(number, places) {\n\treturn Number(number.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (number) {\n\t\treturn roundTo(number, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tfor (const m of model) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t}\n\n\tmodel = model[0];\n\n\treturn function (value) {\n\t\tlet result;\n\n\t\tif (value !== undefined) {\n\t\t\tif (modifier) {\n\t\t\t\tvalue = modifier(value);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = value;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\n\nfunction zeroArray(array, length) {\n\tfor (let i = 0; i < length; i++) {\n\t\tif (typeof array[i] !== 'number') {\n\t\t\tarray[i] = 0;\n\t\t}\n\t}\n\n\treturn array;\n}\n\nmodule.exports = Color;\n","module.exports = function deepFreeze (o) {\n Object.freeze(o);\n\n Object.getOwnPropertyNames(o).forEach(function (prop) {\n if (o.hasOwnProperty(prop)\n && o[prop] !== null\n && (typeof o[prop] === \"object\" || typeof o[prop] === \"function\")\n && !Object.isFrozen(o[prop])) {\n deepFreeze(o[prop]);\n }\n });\n \n return o;\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = filterInvalidDOMProps;\nvar eventProps = {\n\tonCopy: true,\n\tonCut: true,\n\tonPaste: true,\n\tonLoad: true,\n\tonError: true,\n\tonWheel: true,\n\tonScroll: true,\n\tonCompositionEnd: true,\n\tonCompositionStart: true,\n\tonCompositionUpdate: true,\n\tonKeyDown: true,\n\tonKeyPress: true,\n\tonKeyUp: true,\n\tonFocus: true,\n\tonBlur: true,\n\tonChange: true,\n\tonInput: true,\n\tonSubmit: true,\n\tonClick: true,\n\tonContextMenu: true,\n\tonDoubleClick: true,\n\tonDrag: true,\n\tonDragEnd: true,\n\tonDragEnter: true,\n\tonDragExit: true,\n\tonDragLeave: true,\n\tonDragOver: true,\n\tonDragStart: true,\n\tonDrop: true,\n\tonMouseDown: true,\n\tonMouseEnter: true,\n\tonMouseLeave: true,\n\tonMouseMove: true,\n\tonMouseOut: true,\n\tonMouseOver: true,\n\tonMouseUp: true,\n\tonSelect: true,\n\tonTouchCancel: true,\n\tonTouchEnd: true,\n\tonTouchMove: true,\n\tonTouchStart: true,\n\tonAnimationStart: true,\n\tonAnimationEnd: true,\n\tonAnimationIteration: true,\n\tonTransitionEnd: true\n};\n\nvar htmlAttributes = {\n\tabbr: \"abbr\",\n\taccept: \"accept\",\n\tacceptCharset: \"accept-charset\",\n\taccessKey: \"accesskey\",\n\taction: \"action\",\n\tallowFullScreen: \"allowfullscreen\",\n\tallowTransparency: \"allowtransparency\",\n\talt: \"alt\",\n\tasync: \"async\",\n\tautoComplete: \"autocomplete\",\n\tautoFocus: \"autofocus\",\n\tautoPlay: \"autoplay\",\n\tcellPadding: \"cellpadding\",\n\tcellSpacing: \"cellspacing\",\n\tchallenge: \"challenge\",\n\tcharset: \"charset\",\n\tchecked: \"checked\",\n\tcite: \"cite\",\n\tclass: \"class\",\n\tclassName: \"class\",\n\tcols: \"cols\",\n\tcolSpan: \"colspan\",\n\tcommand: \"command\",\n\tcontent: \"content\",\n\tcontentEditable: \"contenteditable\",\n\tcontextMenu: \"contextmenu\",\n\tcontrols: \"controls\",\n\tcoords: \"coords\",\n\tcrossOrigin: \"crossorigin\",\n\tdata: \"data\",\n\tdateTime: \"datetime\",\n\tdefault: \"default\",\n\tdefer: \"defer\",\n\tdir: \"dir\",\n\tdisabled: \"disabled\",\n\tdownload: \"download\",\n\tdraggable: \"draggable\",\n\tdropzone: \"dropzone\",\n\tencType: \"enctype\",\n\tfor: \"for\",\n\tform: \"form\",\n\tformAction: \"formaction\",\n\tformEncType: \"formenctype\",\n\tformMethod: \"formmethod\",\n\tformNoValidate: \"formnovalidate\",\n\tformTarget: \"formtarget\",\n\tframeBorder: \"frameBorder\",\n\theaders: \"headers\",\n\theight: \"height\",\n\thidden: \"hidden\",\n\thigh: \"high\",\n\thref: \"href\",\n\threfLang: \"hreflang\",\n\thtmlFor: \"for\",\n\thttpEquiv: \"http-equiv\",\n\ticon: \"icon\",\n\tid: \"id\",\n\tinputMode: \"inputmode\",\n\tisMap: \"ismap\",\n\titemId: \"itemid\",\n\titemProp: \"itemprop\",\n\titemRef: \"itemref\",\n\titemScope: \"itemscope\",\n\titemType: \"itemtype\",\n\tkind: \"kind\",\n\tlabel: \"label\",\n\tlang: \"lang\",\n\tlist: \"list\",\n\tloop: \"loop\",\n\tmanifest: \"manifest\",\n\tmax: \"max\",\n\tmaxLength: \"maxlength\",\n\tmedia: \"media\",\n\tmediaGroup: \"mediagroup\",\n\tmethod: \"method\",\n\tmin: \"min\",\n\tminLength: \"minlength\",\n\tmultiple: \"multiple\",\n\tmuted: \"muted\",\n\tname: \"name\",\n\tnoValidate: \"novalidate\",\n\topen: \"open\",\n\toptimum: \"optimum\",\n\tpattern: \"pattern\",\n\tping: \"ping\",\n\tplaceholder: \"placeholder\",\n\tposter: \"poster\",\n\tpreload: \"preload\",\n\tradioGroup: \"radiogroup\",\n\treadOnly: \"readonly\",\n\trel: \"rel\",\n\trequired: \"required\",\n\trole: \"role\",\n\trows: \"rows\",\n\trowSpan: \"rowspan\",\n\tsandbox: \"sandbox\",\n\tscope: \"scope\",\n\tscoped: \"scoped\",\n\tscrolling: \"scrolling\",\n\tseamless: \"seamless\",\n\tselected: \"selected\",\n\tshape: \"shape\",\n\tsize: \"size\",\n\tsizes: \"sizes\",\n\tsortable: \"sortable\",\n\tspan: \"span\",\n\tspellCheck: \"spellcheck\",\n\tsrc: \"src\",\n\tsrcDoc: \"srcdoc\",\n\tsrcSet: \"srcset\",\n\tstart: \"start\",\n\tstep: \"step\",\n\tstyle: \"style\",\n\ttabIndex: \"tabindex\",\n\ttarget: \"target\",\n\ttitle: \"title\",\n\ttranslate: \"translate\",\n\ttype: \"type\",\n\ttypeMustMatch: \"typemustmatch\",\n\tuseMap: \"usemap\",\n\tvalue: \"value\",\n\twidth: \"width\",\n\twmode: \"wmode\",\n\twrap: \"wrap\"\n};\n\nfunction isValidDOMProp(prop) {\n\treturn eventProps[prop] || htmlAttributes[prop] || /^(data|aria)-/.test(prop);\n}\n\nfunction filterInvalidDOMProps(props) {\n\tvar domProps = {};\n\tfor (var prop in props) {\n\t\tif (props.hasOwnProperty(prop) && isValidDOMProp(prop)) {\n\t\t\tdomProps[prop] = props[prop];\n\t\t}\n\t}\n\treturn domProps;\n}","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar test = {\n\t__proto__: null,\n\tfoo: {}\n};\n\nvar $Object = Object;\n\n/** @type {import('.')} */\nmodule.exports = function hasProto() {\n\t// @ts-expect-error: TS errors on an inherited property for some reason\n\treturn { __proto__: test }.foo === test.foo\n\t\t&& !(test instanceof $Object);\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","var hat = module.exports = function (bits, base) {\n if (!base) base = 16;\n if (bits === undefined) bits = 128;\n if (bits <= 0) return '0';\n \n var digits = Math.log(Math.pow(2, bits)) / Math.log(base);\n for (var i = 2; digits === Infinity; i *= 2) {\n digits = Math.log(Math.pow(2, bits / i)) / Math.log(base) * i;\n }\n \n var rem = digits - Math.floor(digits);\n \n var res = '';\n \n for (var i = 0; i < Math.floor(digits); i++) {\n var x = Math.floor(Math.random() * base).toString(base);\n res = x + res;\n }\n \n if (rem) {\n var b = Math.pow(base, rem);\n var x = Math.floor(Math.random() * b).toString(base);\n res = x + res;\n }\n \n var parsed = parseInt(res, base);\n if (parsed !== Infinity && parsed >= Math.pow(2, bits)) {\n return hat(bits, base)\n }\n else return res;\n};\n\nhat.rack = function (bits, base, expandBy) {\n var fn = function (data) {\n var iters = 0;\n do {\n if (iters ++ > 10) {\n if (expandBy) bits += expandBy;\n else throw new Error('too many ID collisions, use more bits')\n }\n \n var id = hat(bits, base);\n } while (Object.hasOwnProperty.call(hats, id));\n \n hats[id] = data;\n return id;\n };\n var hats = fn.hats = {};\n \n fn.get = function (id) {\n return fn.hats[id];\n };\n \n fn.set = function (id, value) {\n fn.hats[id] = value;\n return fn;\n };\n \n fn.bits = bits || 128;\n fn.base = base || 16;\n return fn;\n};\n","(function __HLS_WORKER_BUNDLE__(__IN_WORKER__){\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Hls = factory());\n})(this, (function () { 'use strict';\n\n function ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n }\n function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n }\n function _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n }\n function _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : String(i);\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n function _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n }\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n }\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n function _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n }\n function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n }\n function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n }\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function getDefaultExportFromCjs (x) {\n \treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n }\n\n var urlToolkit = {exports: {}};\n\n (function (module, exports) {\n \t// see https://tools.ietf.org/html/rfc1808\n\n \t(function (root) {\n \t var URL_REGEX =\n \t /^(?=((?:[a-zA-Z0-9+\\-.]+:)?))\\1(?=((?:\\/\\/[^\\/?#]*)?))\\2(?=((?:(?:[^?#\\/]*\\/)*[^;?#\\/]*)?))\\3((?:;[^?#]*)?)(\\?[^#]*)?(#[^]*)?$/;\n \t var FIRST_SEGMENT_REGEX = /^(?=([^\\/?#]*))\\1([^]*)$/;\n \t var SLASH_DOT_REGEX = /(?:\\/|^)\\.(?=\\/)/g;\n \t var SLASH_DOT_DOT_REGEX = /(?:\\/|^)\\.\\.\\/(?!\\.\\.\\/)[^\\/]*(?=\\/)/g;\n\n \t var URLToolkit = {\n \t // If opts.alwaysNormalize is true then the path will always be normalized even when it starts with / or //\n \t // E.g\n \t // With opts.alwaysNormalize = false (default, spec compliant)\n \t // http://a.com/b/cd + /e/f/../g => http://a.com/e/f/../g\n \t // With opts.alwaysNormalize = true (not spec compliant)\n \t // http://a.com/b/cd + /e/f/../g => http://a.com/e/g\n \t buildAbsoluteURL: function (baseURL, relativeURL, opts) {\n \t opts = opts || {};\n \t // remove any remaining space and CRLF\n \t baseURL = baseURL.trim();\n \t relativeURL = relativeURL.trim();\n \t if (!relativeURL) {\n \t // 2a) If the embedded URL is entirely empty, it inherits the\n \t // entire base URL (i.e., is set equal to the base URL)\n \t // and we are done.\n \t if (!opts.alwaysNormalize) {\n \t return baseURL;\n \t }\n \t var basePartsForNormalise = URLToolkit.parseURL(baseURL);\n \t if (!basePartsForNormalise) {\n \t throw new Error('Error trying to parse base URL.');\n \t }\n \t basePartsForNormalise.path = URLToolkit.normalizePath(\n \t basePartsForNormalise.path\n \t );\n \t return URLToolkit.buildURLFromParts(basePartsForNormalise);\n \t }\n \t var relativeParts = URLToolkit.parseURL(relativeURL);\n \t if (!relativeParts) {\n \t throw new Error('Error trying to parse relative URL.');\n \t }\n \t if (relativeParts.scheme) {\n \t // 2b) If the embedded URL starts with a scheme name, it is\n \t // interpreted as an absolute URL and we are done.\n \t if (!opts.alwaysNormalize) {\n \t return relativeURL;\n \t }\n \t relativeParts.path = URLToolkit.normalizePath(relativeParts.path);\n \t return URLToolkit.buildURLFromParts(relativeParts);\n \t }\n \t var baseParts = URLToolkit.parseURL(baseURL);\n \t if (!baseParts) {\n \t throw new Error('Error trying to parse base URL.');\n \t }\n \t if (!baseParts.netLoc && baseParts.path && baseParts.path[0] !== '/') {\n \t // If netLoc missing and path doesn't start with '/', assume everthing before the first '/' is the netLoc\n \t // This causes 'example.com/a' to be handled as '//example.com/a' instead of '/example.com/a'\n \t var pathParts = FIRST_SEGMENT_REGEX.exec(baseParts.path);\n \t baseParts.netLoc = pathParts[1];\n \t baseParts.path = pathParts[2];\n \t }\n \t if (baseParts.netLoc && !baseParts.path) {\n \t baseParts.path = '/';\n \t }\n \t var builtParts = {\n \t // 2c) Otherwise, the embedded URL inherits the scheme of\n \t // the base URL.\n \t scheme: baseParts.scheme,\n \t netLoc: relativeParts.netLoc,\n \t path: null,\n \t params: relativeParts.params,\n \t query: relativeParts.query,\n \t fragment: relativeParts.fragment,\n \t };\n \t if (!relativeParts.netLoc) {\n \t // 3) If the embedded URL's is non-empty, we skip to\n \t // Step 7. Otherwise, the embedded URL inherits the \n \t // (if any) of the base URL.\n \t builtParts.netLoc = baseParts.netLoc;\n \t // 4) If the embedded URL path is preceded by a slash \"/\", the\n \t // path is not relative and we skip to Step 7.\n \t if (relativeParts.path[0] !== '/') {\n \t if (!relativeParts.path) {\n \t // 5) If the embedded URL path is empty (and not preceded by a\n \t // slash), then the embedded URL inherits the base URL path\n \t builtParts.path = baseParts.path;\n \t // 5a) if the embedded URL's is non-empty, we skip to\n \t // step 7; otherwise, it inherits the of the base\n \t // URL (if any) and\n \t if (!relativeParts.params) {\n \t builtParts.params = baseParts.params;\n \t // 5b) if the embedded URL's is non-empty, we skip to\n \t // step 7; otherwise, it inherits the of the base\n \t // URL (if any) and we skip to step 7.\n \t if (!relativeParts.query) {\n \t builtParts.query = baseParts.query;\n \t }\n \t }\n \t } else {\n \t // 6) The last segment of the base URL's path (anything\n \t // following the rightmost slash \"/\", or the entire path if no\n \t // slash is present) is removed and the embedded URL's path is\n \t // appended in its place.\n \t var baseURLPath = baseParts.path;\n \t var newPath =\n \t baseURLPath.substring(0, baseURLPath.lastIndexOf('/') + 1) +\n \t relativeParts.path;\n \t builtParts.path = URLToolkit.normalizePath(newPath);\n \t }\n \t }\n \t }\n \t if (builtParts.path === null) {\n \t builtParts.path = opts.alwaysNormalize\n \t ? URLToolkit.normalizePath(relativeParts.path)\n \t : relativeParts.path;\n \t }\n \t return URLToolkit.buildURLFromParts(builtParts);\n \t },\n \t parseURL: function (url) {\n \t var parts = URL_REGEX.exec(url);\n \t if (!parts) {\n \t return null;\n \t }\n \t return {\n \t scheme: parts[1] || '',\n \t netLoc: parts[2] || '',\n \t path: parts[3] || '',\n \t params: parts[4] || '',\n \t query: parts[5] || '',\n \t fragment: parts[6] || '',\n \t };\n \t },\n \t normalizePath: function (path) {\n \t // The following operations are\n \t // then applied, in order, to the new path:\n \t // 6a) All occurrences of \"./\", where \".\" is a complete path\n \t // segment, are removed.\n \t // 6b) If the path ends with \".\" as a complete path segment,\n \t // that \".\" is removed.\n \t path = path.split('').reverse().join('').replace(SLASH_DOT_REGEX, '');\n \t // 6c) All occurrences of \"/../\", where is a\n \t // complete path segment not equal to \"..\", are removed.\n \t // Removal of these path segments is performed iteratively,\n \t // removing the leftmost matching pattern on each iteration,\n \t // until no matching pattern remains.\n \t // 6d) If the path ends with \"/..\", where is a\n \t // complete path segment not equal to \"..\", that\n \t // \"/..\" is removed.\n \t while (\n \t path.length !== (path = path.replace(SLASH_DOT_DOT_REGEX, '')).length\n \t ) {}\n \t return path.split('').reverse().join('');\n \t },\n \t buildURLFromParts: function (parts) {\n \t return (\n \t parts.scheme +\n \t parts.netLoc +\n \t parts.path +\n \t parts.params +\n \t parts.query +\n \t parts.fragment\n \t );\n \t },\n \t };\n\n \t module.exports = URLToolkit;\n \t})(); \n } (urlToolkit));\n\n var urlToolkitExports = urlToolkit.exports;\n\n // https://caniuse.com/mdn-javascript_builtins_number_isfinite\n var isFiniteNumber = Number.isFinite || function (value) {\n return typeof value === 'number' && isFinite(value);\n };\n\n // https://caniuse.com/mdn-javascript_builtins_number_issafeinteger\n var isSafeInteger = Number.isSafeInteger || function (value) {\n return typeof value === 'number' && Math.abs(value) <= MAX_SAFE_INTEGER;\n };\n var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\n\n var Events = /*#__PURE__*/function (Events) {\n Events[\"MEDIA_ATTACHING\"] = \"hlsMediaAttaching\";\n Events[\"MEDIA_ATTACHED\"] = \"hlsMediaAttached\";\n Events[\"MEDIA_DETACHING\"] = \"hlsMediaDetaching\";\n Events[\"MEDIA_DETACHED\"] = \"hlsMediaDetached\";\n Events[\"BUFFER_RESET\"] = \"hlsBufferReset\";\n Events[\"BUFFER_CODECS\"] = \"hlsBufferCodecs\";\n Events[\"BUFFER_CREATED\"] = \"hlsBufferCreated\";\n Events[\"BUFFER_APPENDING\"] = \"hlsBufferAppending\";\n Events[\"BUFFER_APPENDED\"] = \"hlsBufferAppended\";\n Events[\"BUFFER_EOS\"] = \"hlsBufferEos\";\n Events[\"BUFFER_FLUSHING\"] = \"hlsBufferFlushing\";\n Events[\"BUFFER_FLUSHED\"] = \"hlsBufferFlushed\";\n Events[\"MANIFEST_LOADING\"] = \"hlsManifestLoading\";\n Events[\"MANIFEST_LOADED\"] = \"hlsManifestLoaded\";\n Events[\"MANIFEST_PARSED\"] = \"hlsManifestParsed\";\n Events[\"LEVEL_SWITCHING\"] = \"hlsLevelSwitching\";\n Events[\"LEVEL_SWITCHED\"] = \"hlsLevelSwitched\";\n Events[\"LEVEL_LOADING\"] = \"hlsLevelLoading\";\n Events[\"LEVEL_LOADED\"] = \"hlsLevelLoaded\";\n Events[\"LEVEL_UPDATED\"] = \"hlsLevelUpdated\";\n Events[\"LEVEL_PTS_UPDATED\"] = \"hlsLevelPtsUpdated\";\n Events[\"LEVELS_UPDATED\"] = \"hlsLevelsUpdated\";\n Events[\"AUDIO_TRACKS_UPDATED\"] = \"hlsAudioTracksUpdated\";\n Events[\"AUDIO_TRACK_SWITCHING\"] = \"hlsAudioTrackSwitching\";\n Events[\"AUDIO_TRACK_SWITCHED\"] = \"hlsAudioTrackSwitched\";\n Events[\"AUDIO_TRACK_LOADING\"] = \"hlsAudioTrackLoading\";\n Events[\"AUDIO_TRACK_LOADED\"] = \"hlsAudioTrackLoaded\";\n Events[\"SUBTITLE_TRACKS_UPDATED\"] = \"hlsSubtitleTracksUpdated\";\n Events[\"SUBTITLE_TRACKS_CLEARED\"] = \"hlsSubtitleTracksCleared\";\n Events[\"SUBTITLE_TRACK_SWITCH\"] = \"hlsSubtitleTrackSwitch\";\n Events[\"SUBTITLE_TRACK_LOADING\"] = \"hlsSubtitleTrackLoading\";\n Events[\"SUBTITLE_TRACK_LOADED\"] = \"hlsSubtitleTrackLoaded\";\n Events[\"SUBTITLE_FRAG_PROCESSED\"] = \"hlsSubtitleFragProcessed\";\n Events[\"CUES_PARSED\"] = \"hlsCuesParsed\";\n Events[\"NON_NATIVE_TEXT_TRACKS_FOUND\"] = \"hlsNonNativeTextTracksFound\";\n Events[\"INIT_PTS_FOUND\"] = \"hlsInitPtsFound\";\n Events[\"FRAG_LOADING\"] = \"hlsFragLoading\";\n Events[\"FRAG_LOAD_EMERGENCY_ABORTED\"] = \"hlsFragLoadEmergencyAborted\";\n Events[\"FRAG_LOADED\"] = \"hlsFragLoaded\";\n Events[\"FRAG_DECRYPTED\"] = \"hlsFragDecrypted\";\n Events[\"FRAG_PARSING_INIT_SEGMENT\"] = \"hlsFragParsingInitSegment\";\n Events[\"FRAG_PARSING_USERDATA\"] = \"hlsFragParsingUserdata\";\n Events[\"FRAG_PARSING_METADATA\"] = \"hlsFragParsingMetadata\";\n Events[\"FRAG_PARSED\"] = \"hlsFragParsed\";\n Events[\"FRAG_BUFFERED\"] = \"hlsFragBuffered\";\n Events[\"FRAG_CHANGED\"] = \"hlsFragChanged\";\n Events[\"FPS_DROP\"] = \"hlsFpsDrop\";\n Events[\"FPS_DROP_LEVEL_CAPPING\"] = \"hlsFpsDropLevelCapping\";\n Events[\"MAX_AUTO_LEVEL_UPDATED\"] = \"hlsMaxAutoLevelUpdated\";\n Events[\"ERROR\"] = \"hlsError\";\n Events[\"DESTROYING\"] = \"hlsDestroying\";\n Events[\"KEY_LOADING\"] = \"hlsKeyLoading\";\n Events[\"KEY_LOADED\"] = \"hlsKeyLoaded\";\n Events[\"LIVE_BACK_BUFFER_REACHED\"] = \"hlsLiveBackBufferReached\";\n Events[\"BACK_BUFFER_REACHED\"] = \"hlsBackBufferReached\";\n Events[\"STEERING_MANIFEST_LOADED\"] = \"hlsSteeringManifestLoaded\";\n return Events;\n }({});\n\n /**\n * Defines each Event type and payload by Event name. Used in {@link hls.js#HlsEventEmitter} to strongly type the event listener API.\n */\n\n var ErrorTypes = /*#__PURE__*/function (ErrorTypes) {\n ErrorTypes[\"NETWORK_ERROR\"] = \"networkError\";\n ErrorTypes[\"MEDIA_ERROR\"] = \"mediaError\";\n ErrorTypes[\"KEY_SYSTEM_ERROR\"] = \"keySystemError\";\n ErrorTypes[\"MUX_ERROR\"] = \"muxError\";\n ErrorTypes[\"OTHER_ERROR\"] = \"otherError\";\n return ErrorTypes;\n }({});\n var ErrorDetails = /*#__PURE__*/function (ErrorDetails) {\n ErrorDetails[\"KEY_SYSTEM_NO_KEYS\"] = \"keySystemNoKeys\";\n ErrorDetails[\"KEY_SYSTEM_NO_ACCESS\"] = \"keySystemNoAccess\";\n ErrorDetails[\"KEY_SYSTEM_NO_SESSION\"] = \"keySystemNoSession\";\n ErrorDetails[\"KEY_SYSTEM_NO_CONFIGURED_LICENSE\"] = \"keySystemNoConfiguredLicense\";\n ErrorDetails[\"KEY_SYSTEM_LICENSE_REQUEST_FAILED\"] = \"keySystemLicenseRequestFailed\";\n ErrorDetails[\"KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED\"] = \"keySystemServerCertificateRequestFailed\";\n ErrorDetails[\"KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED\"] = \"keySystemServerCertificateUpdateFailed\";\n ErrorDetails[\"KEY_SYSTEM_SESSION_UPDATE_FAILED\"] = \"keySystemSessionUpdateFailed\";\n ErrorDetails[\"KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED\"] = \"keySystemStatusOutputRestricted\";\n ErrorDetails[\"KEY_SYSTEM_STATUS_INTERNAL_ERROR\"] = \"keySystemStatusInternalError\";\n ErrorDetails[\"MANIFEST_LOAD_ERROR\"] = \"manifestLoadError\";\n ErrorDetails[\"MANIFEST_LOAD_TIMEOUT\"] = \"manifestLoadTimeOut\";\n ErrorDetails[\"MANIFEST_PARSING_ERROR\"] = \"manifestParsingError\";\n ErrorDetails[\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\"] = \"manifestIncompatibleCodecsError\";\n ErrorDetails[\"LEVEL_EMPTY_ERROR\"] = \"levelEmptyError\";\n ErrorDetails[\"LEVEL_LOAD_ERROR\"] = \"levelLoadError\";\n ErrorDetails[\"LEVEL_LOAD_TIMEOUT\"] = \"levelLoadTimeOut\";\n ErrorDetails[\"LEVEL_PARSING_ERROR\"] = \"levelParsingError\";\n ErrorDetails[\"LEVEL_SWITCH_ERROR\"] = \"levelSwitchError\";\n ErrorDetails[\"AUDIO_TRACK_LOAD_ERROR\"] = \"audioTrackLoadError\";\n ErrorDetails[\"AUDIO_TRACK_LOAD_TIMEOUT\"] = \"audioTrackLoadTimeOut\";\n ErrorDetails[\"SUBTITLE_LOAD_ERROR\"] = \"subtitleTrackLoadError\";\n ErrorDetails[\"SUBTITLE_TRACK_LOAD_TIMEOUT\"] = \"subtitleTrackLoadTimeOut\";\n ErrorDetails[\"FRAG_LOAD_ERROR\"] = \"fragLoadError\";\n ErrorDetails[\"FRAG_LOAD_TIMEOUT\"] = \"fragLoadTimeOut\";\n ErrorDetails[\"FRAG_DECRYPT_ERROR\"] = \"fragDecryptError\";\n ErrorDetails[\"FRAG_PARSING_ERROR\"] = \"fragParsingError\";\n ErrorDetails[\"FRAG_GAP\"] = \"fragGap\";\n ErrorDetails[\"REMUX_ALLOC_ERROR\"] = \"remuxAllocError\";\n ErrorDetails[\"KEY_LOAD_ERROR\"] = \"keyLoadError\";\n ErrorDetails[\"KEY_LOAD_TIMEOUT\"] = \"keyLoadTimeOut\";\n ErrorDetails[\"BUFFER_ADD_CODEC_ERROR\"] = \"bufferAddCodecError\";\n ErrorDetails[\"BUFFER_INCOMPATIBLE_CODECS_ERROR\"] = \"bufferIncompatibleCodecsError\";\n ErrorDetails[\"BUFFER_APPEND_ERROR\"] = \"bufferAppendError\";\n ErrorDetails[\"BUFFER_APPENDING_ERROR\"] = \"bufferAppendingError\";\n ErrorDetails[\"BUFFER_STALLED_ERROR\"] = \"bufferStalledError\";\n ErrorDetails[\"BUFFER_FULL_ERROR\"] = \"bufferFullError\";\n ErrorDetails[\"BUFFER_SEEK_OVER_HOLE\"] = \"bufferSeekOverHole\";\n ErrorDetails[\"BUFFER_NUDGE_ON_STALL\"] = \"bufferNudgeOnStall\";\n ErrorDetails[\"INTERNAL_EXCEPTION\"] = \"internalException\";\n ErrorDetails[\"INTERNAL_ABORTED\"] = \"aborted\";\n ErrorDetails[\"UNKNOWN\"] = \"unknown\";\n return ErrorDetails;\n }({});\n\n var noop = function noop() {};\n var fakeLogger = {\n trace: noop,\n debug: noop,\n log: noop,\n warn: noop,\n info: noop,\n error: noop\n };\n var exportedLogger = fakeLogger;\n\n // let lastCallTime;\n // function formatMsgWithTimeInfo(type, msg) {\n // const now = Date.now();\n // const diff = lastCallTime ? '+' + (now - lastCallTime) : '0';\n // lastCallTime = now;\n // msg = (new Date(now)).toISOString() + ' | [' + type + '] > ' + msg + ' ( ' + diff + ' ms )';\n // return msg;\n // }\n\n function consolePrintFn(type) {\n var func = self.console[type];\n if (func) {\n return func.bind(self.console, \"[\" + type + \"] >\");\n }\n return noop;\n }\n function exportLoggerFunctions(debugConfig) {\n for (var _len = arguments.length, functions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n functions[_key - 1] = arguments[_key];\n }\n functions.forEach(function (type) {\n exportedLogger[type] = debugConfig[type] ? debugConfig[type].bind(debugConfig) : consolePrintFn(type);\n });\n }\n function enableLogs(debugConfig, id) {\n // check that console is available\n if (typeof console === 'object' && debugConfig === true || typeof debugConfig === 'object') {\n exportLoggerFunctions(debugConfig,\n // Remove out from list here to hard-disable a log-level\n // 'trace',\n 'debug', 'log', 'info', 'warn', 'error');\n // Some browsers don't allow to use bind on console object anyway\n // fallback to default if needed\n try {\n exportedLogger.log(\"Debug logs enabled for \\\"\" + id + \"\\\" in hls.js version \" + \"1.5.5-0.canary.9893\");\n } catch (e) {\n exportedLogger = fakeLogger;\n }\n } else {\n exportedLogger = fakeLogger;\n }\n }\n var logger = exportedLogger;\n\n var DECIMAL_RESOLUTION_REGEX = /^(\\d+)x(\\d+)$/;\n var ATTR_LIST_REGEX = /(.+?)=(\".*?\"|.*?)(?:,|$)/g;\n\n // adapted from https://github.com/kanongil/node-m3u8parse/blob/master/attrlist.js\n var AttrList = /*#__PURE__*/function () {\n function AttrList(attrs) {\n if (typeof attrs === 'string') {\n attrs = AttrList.parseAttrList(attrs);\n }\n _extends(this, attrs);\n }\n var _proto = AttrList.prototype;\n _proto.decimalInteger = function decimalInteger(attrName) {\n var intValue = parseInt(this[attrName], 10);\n if (intValue > Number.MAX_SAFE_INTEGER) {\n return Infinity;\n }\n return intValue;\n };\n _proto.hexadecimalInteger = function hexadecimalInteger(attrName) {\n if (this[attrName]) {\n var stringValue = (this[attrName] || '0x').slice(2);\n stringValue = (stringValue.length & 1 ? '0' : '') + stringValue;\n var value = new Uint8Array(stringValue.length / 2);\n for (var i = 0; i < stringValue.length / 2; i++) {\n value[i] = parseInt(stringValue.slice(i * 2, i * 2 + 2), 16);\n }\n return value;\n } else {\n return null;\n }\n };\n _proto.hexadecimalIntegerAsNumber = function hexadecimalIntegerAsNumber(attrName) {\n var intValue = parseInt(this[attrName], 16);\n if (intValue > Number.MAX_SAFE_INTEGER) {\n return Infinity;\n }\n return intValue;\n };\n _proto.decimalFloatingPoint = function decimalFloatingPoint(attrName) {\n return parseFloat(this[attrName]);\n };\n _proto.optionalFloat = function optionalFloat(attrName, defaultValue) {\n var value = this[attrName];\n return value ? parseFloat(value) : defaultValue;\n };\n _proto.enumeratedString = function enumeratedString(attrName) {\n return this[attrName];\n };\n _proto.bool = function bool(attrName) {\n return this[attrName] === 'YES';\n };\n _proto.decimalResolution = function decimalResolution(attrName) {\n var res = DECIMAL_RESOLUTION_REGEX.exec(this[attrName]);\n if (res === null) {\n return undefined;\n }\n return {\n width: parseInt(res[1], 10),\n height: parseInt(res[2], 10)\n };\n };\n AttrList.parseAttrList = function parseAttrList(input) {\n var match;\n var attrs = {};\n var quote = '\"';\n ATTR_LIST_REGEX.lastIndex = 0;\n while ((match = ATTR_LIST_REGEX.exec(input)) !== null) {\n var value = match[2];\n if (value.indexOf(quote) === 0 && value.lastIndexOf(quote) === value.length - 1) {\n value = value.slice(1, -1);\n }\n var name = match[1].trim();\n attrs[name] = value;\n }\n return attrs;\n };\n _createClass(AttrList, [{\n key: \"clientAttrs\",\n get: function get() {\n return Object.keys(this).filter(function (attr) {\n return attr.substring(0, 2) === 'X-';\n });\n }\n }]);\n return AttrList;\n }();\n\n // Avoid exporting const enum so that these values can be inlined\n\n function isDateRangeCueAttribute(attrName) {\n return attrName !== \"ID\" && attrName !== \"CLASS\" && attrName !== \"START-DATE\" && attrName !== \"DURATION\" && attrName !== \"END-DATE\" && attrName !== \"END-ON-NEXT\";\n }\n function isSCTE35Attribute(attrName) {\n return attrName === \"SCTE35-OUT\" || attrName === \"SCTE35-IN\";\n }\n var DateRange = /*#__PURE__*/function () {\n function DateRange(dateRangeAttr, dateRangeWithSameId) {\n this.attr = void 0;\n this._startDate = void 0;\n this._endDate = void 0;\n this._badValueForSameId = void 0;\n if (dateRangeWithSameId) {\n var previousAttr = dateRangeWithSameId.attr;\n for (var key in previousAttr) {\n if (Object.prototype.hasOwnProperty.call(dateRangeAttr, key) && dateRangeAttr[key] !== previousAttr[key]) {\n logger.warn(\"DATERANGE tag attribute: \\\"\" + key + \"\\\" does not match for tags with ID: \\\"\" + dateRangeAttr.ID + \"\\\"\");\n this._badValueForSameId = key;\n break;\n }\n }\n // Merge DateRange tags with the same ID\n dateRangeAttr = _extends(new AttrList({}), previousAttr, dateRangeAttr);\n }\n this.attr = dateRangeAttr;\n this._startDate = new Date(dateRangeAttr[\"START-DATE\"]);\n if (\"END-DATE\" in this.attr) {\n var endDate = new Date(this.attr[\"END-DATE\"]);\n if (isFiniteNumber(endDate.getTime())) {\n this._endDate = endDate;\n }\n }\n }\n _createClass(DateRange, [{\n key: \"id\",\n get: function get() {\n return this.attr.ID;\n }\n }, {\n key: \"class\",\n get: function get() {\n return this.attr.CLASS;\n }\n }, {\n key: \"startDate\",\n get: function get() {\n return this._startDate;\n }\n }, {\n key: \"endDate\",\n get: function get() {\n if (this._endDate) {\n return this._endDate;\n }\n var duration = this.duration;\n if (duration !== null) {\n return new Date(this._startDate.getTime() + duration * 1000);\n }\n return null;\n }\n }, {\n key: \"duration\",\n get: function get() {\n if (\"DURATION\" in this.attr) {\n var duration = this.attr.decimalFloatingPoint(\"DURATION\");\n if (isFiniteNumber(duration)) {\n return duration;\n }\n } else if (this._endDate) {\n return (this._endDate.getTime() - this._startDate.getTime()) / 1000;\n }\n return null;\n }\n }, {\n key: \"plannedDuration\",\n get: function get() {\n if (\"PLANNED-DURATION\" in this.attr) {\n return this.attr.decimalFloatingPoint(\"PLANNED-DURATION\");\n }\n return null;\n }\n }, {\n key: \"endOnNext\",\n get: function get() {\n return this.attr.bool(\"END-ON-NEXT\");\n }\n }, {\n key: \"isValid\",\n get: function get() {\n return !!this.id && !this._badValueForSameId && isFiniteNumber(this.startDate.getTime()) && (this.duration === null || this.duration >= 0) && (!this.endOnNext || !!this.class);\n }\n }]);\n return DateRange;\n }();\n\n var LoadStats = function LoadStats() {\n this.aborted = false;\n this.loaded = 0;\n this.retry = 0;\n this.total = 0;\n this.chunkCount = 0;\n this.bwEstimate = 0;\n this.loading = {\n start: 0,\n first: 0,\n end: 0\n };\n this.parsing = {\n start: 0,\n end: 0\n };\n this.buffering = {\n start: 0,\n first: 0,\n end: 0\n };\n };\n\n var ElementaryStreamTypes = {\n AUDIO: \"audio\",\n VIDEO: \"video\",\n AUDIOVIDEO: \"audiovideo\"\n };\n var BaseSegment = /*#__PURE__*/function () {\n function BaseSegment(baseurl) {\n var _this$elementaryStrea;\n this._byteRange = null;\n this._url = null;\n // baseurl is the URL to the playlist\n this.baseurl = void 0;\n // relurl is the portion of the URL that comes from inside the playlist.\n this.relurl = void 0;\n // Holds the types of data this fragment supports\n this.elementaryStreams = (_this$elementaryStrea = {}, _this$elementaryStrea[ElementaryStreamTypes.AUDIO] = null, _this$elementaryStrea[ElementaryStreamTypes.VIDEO] = null, _this$elementaryStrea[ElementaryStreamTypes.AUDIOVIDEO] = null, _this$elementaryStrea);\n this.baseurl = baseurl;\n }\n\n // setByteRange converts a EXT-X-BYTERANGE attribute into a two element array\n var _proto = BaseSegment.prototype;\n _proto.setByteRange = function setByteRange(value, previous) {\n var params = value.split('@', 2);\n var start;\n if (params.length === 1) {\n start = (previous == null ? void 0 : previous.byteRangeEndOffset) || 0;\n } else {\n start = parseInt(params[1]);\n }\n this._byteRange = [start, parseInt(params[0]) + start];\n };\n _createClass(BaseSegment, [{\n key: \"byteRange\",\n get: function get() {\n if (!this._byteRange) {\n return [];\n }\n return this._byteRange;\n }\n }, {\n key: \"byteRangeStartOffset\",\n get: function get() {\n return this.byteRange[0];\n }\n }, {\n key: \"byteRangeEndOffset\",\n get: function get() {\n return this.byteRange[1];\n }\n }, {\n key: \"url\",\n get: function get() {\n if (!this._url && this.baseurl && this.relurl) {\n this._url = urlToolkitExports.buildAbsoluteURL(this.baseurl, this.relurl, {\n alwaysNormalize: true\n });\n }\n return this._url || '';\n },\n set: function set(value) {\n this._url = value;\n }\n }]);\n return BaseSegment;\n }();\n\n /**\n * Object representing parsed data from an HLS Segment. Found in {@link hls.js#LevelDetails.fragments}.\n */\n var Fragment = /*#__PURE__*/function (_BaseSegment) {\n _inheritsLoose(Fragment, _BaseSegment);\n function Fragment(type, baseurl) {\n var _this;\n _this = _BaseSegment.call(this, baseurl) || this;\n _this._decryptdata = null;\n _this.rawProgramDateTime = null;\n _this.programDateTime = null;\n _this.tagList = [];\n // EXTINF has to be present for a m3u8 to be considered valid\n _this.duration = 0;\n // sn notates the sequence number for a segment, and if set to a string can be 'initSegment'\n _this.sn = 0;\n // levelkeys are the EXT-X-KEY tags that apply to this segment for decryption\n // core difference from the private field _decryptdata is the lack of the initialized IV\n // _decryptdata will set the IV for this segment based on the segment number in the fragment\n _this.levelkeys = void 0;\n // A string representing the fragment type\n _this.type = void 0;\n // A reference to the loader. Set while the fragment is loading, and removed afterwards. Used to abort fragment loading\n _this.loader = null;\n // A reference to the key loader. Set while the key is loading, and removed afterwards. Used to abort key loading\n _this.keyLoader = null;\n // The level/track index to which the fragment belongs\n _this.level = -1;\n // The continuity counter of the fragment\n _this.cc = 0;\n // The starting Presentation Time Stamp (PTS) of the fragment. Set after transmux complete.\n _this.startPTS = void 0;\n // The ending Presentation Time Stamp (PTS) of the fragment. Set after transmux complete.\n _this.endPTS = void 0;\n // The starting Decode Time Stamp (DTS) of the fragment. Set after transmux complete.\n _this.startDTS = void 0;\n // The ending Decode Time Stamp (DTS) of the fragment. Set after transmux complete.\n _this.endDTS = void 0;\n // The start time of the fragment, as listed in the manifest. Updated after transmux complete.\n _this.start = 0;\n // Set by `updateFragPTSDTS` in level-helper\n _this.deltaPTS = void 0;\n // The maximum starting Presentation Time Stamp (audio/video PTS) of the fragment. Set after transmux complete.\n _this.maxStartPTS = void 0;\n // The minimum ending Presentation Time Stamp (audio/video PTS) of the fragment. Set after transmux complete.\n _this.minEndPTS = void 0;\n // Load/parse timing information\n _this.stats = new LoadStats();\n // Init Segment bytes (unset for media segments)\n _this.data = void 0;\n // A flag indicating whether the segment was downloaded in order to test bitrate, and was not buffered\n _this.bitrateTest = false;\n // #EXTINF segment title\n _this.title = null;\n // The Media Initialization Section for this segment\n _this.initSegment = null;\n // Fragment is the last fragment in the media playlist\n _this.endList = void 0;\n // Fragment is marked by an EXT-X-GAP tag indicating that it does not contain media data and should not be loaded\n _this.gap = void 0;\n // Deprecated\n _this.urlId = 0;\n _this.type = type;\n return _this;\n }\n var _proto2 = Fragment.prototype;\n _proto2.setKeyFormat = function setKeyFormat(keyFormat) {\n if (this.levelkeys) {\n var _key = this.levelkeys[keyFormat];\n if (_key && !this._decryptdata) {\n this._decryptdata = _key.getDecryptData(this.sn);\n }\n }\n };\n _proto2.abortRequests = function abortRequests() {\n var _this$loader, _this$keyLoader;\n (_this$loader = this.loader) == null ? void 0 : _this$loader.abort();\n (_this$keyLoader = this.keyLoader) == null ? void 0 : _this$keyLoader.abort();\n };\n _proto2.setElementaryStreamInfo = function setElementaryStreamInfo(type, startPTS, endPTS, startDTS, endDTS, partial) {\n if (partial === void 0) {\n partial = false;\n }\n var elementaryStreams = this.elementaryStreams;\n var info = elementaryStreams[type];\n if (!info) {\n elementaryStreams[type] = {\n startPTS: startPTS,\n endPTS: endPTS,\n startDTS: startDTS,\n endDTS: endDTS,\n partial: partial\n };\n return;\n }\n info.startPTS = Math.min(info.startPTS, startPTS);\n info.endPTS = Math.max(info.endPTS, endPTS);\n info.startDTS = Math.min(info.startDTS, startDTS);\n info.endDTS = Math.max(info.endDTS, endDTS);\n };\n _proto2.clearElementaryStreamInfo = function clearElementaryStreamInfo() {\n var elementaryStreams = this.elementaryStreams;\n elementaryStreams[ElementaryStreamTypes.AUDIO] = null;\n elementaryStreams[ElementaryStreamTypes.VIDEO] = null;\n elementaryStreams[ElementaryStreamTypes.AUDIOVIDEO] = null;\n };\n _createClass(Fragment, [{\n key: \"decryptdata\",\n get: function get() {\n var levelkeys = this.levelkeys;\n if (!levelkeys && !this._decryptdata) {\n return null;\n }\n if (!this._decryptdata && this.levelkeys && !this.levelkeys.NONE) {\n var _key2 = this.levelkeys.identity;\n if (_key2) {\n this._decryptdata = _key2.getDecryptData(this.sn);\n } else {\n var keyFormats = Object.keys(this.levelkeys);\n if (keyFormats.length === 1) {\n return this._decryptdata = this.levelkeys[keyFormats[0]].getDecryptData(this.sn);\n }\n }\n }\n return this._decryptdata;\n }\n }, {\n key: \"end\",\n get: function get() {\n return this.start + this.duration;\n }\n }, {\n key: \"endProgramDateTime\",\n get: function get() {\n if (this.programDateTime === null) {\n return null;\n }\n if (!isFiniteNumber(this.programDateTime)) {\n return null;\n }\n var duration = !isFiniteNumber(this.duration) ? 0 : this.duration;\n return this.programDateTime + duration * 1000;\n }\n }, {\n key: \"encrypted\",\n get: function get() {\n var _this$_decryptdata;\n // At the m3u8-parser level we need to add support for manifest signalled keyformats\n // when we want the fragment to start reporting that it is encrypted.\n // Currently, keyFormat will only be set for identity keys\n if ((_this$_decryptdata = this._decryptdata) != null && _this$_decryptdata.encrypted) {\n return true;\n } else if (this.levelkeys) {\n var keyFormats = Object.keys(this.levelkeys);\n var len = keyFormats.length;\n if (len > 1 || len === 1 && this.levelkeys[keyFormats[0]].encrypted) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Fragment;\n }(BaseSegment);\n\n /**\n * Object representing parsed data from an HLS Partial Segment. Found in {@link hls.js#LevelDetails.partList}.\n */\n var Part = /*#__PURE__*/function (_BaseSegment2) {\n _inheritsLoose(Part, _BaseSegment2);\n function Part(partAttrs, frag, baseurl, index, previous) {\n var _this2;\n _this2 = _BaseSegment2.call(this, baseurl) || this;\n _this2.fragOffset = 0;\n _this2.duration = 0;\n _this2.gap = false;\n _this2.independent = false;\n _this2.relurl = void 0;\n _this2.fragment = void 0;\n _this2.index = void 0;\n _this2.stats = new LoadStats();\n _this2.duration = partAttrs.decimalFloatingPoint('DURATION');\n _this2.gap = partAttrs.bool('GAP');\n _this2.independent = partAttrs.bool('INDEPENDENT');\n _this2.relurl = partAttrs.enumeratedString('URI');\n _this2.fragment = frag;\n _this2.index = index;\n var byteRange = partAttrs.enumeratedString('BYTERANGE');\n if (byteRange) {\n _this2.setByteRange(byteRange, previous);\n }\n if (previous) {\n _this2.fragOffset = previous.fragOffset + previous.duration;\n }\n return _this2;\n }\n _createClass(Part, [{\n key: \"start\",\n get: function get() {\n return this.fragment.start + this.fragOffset;\n }\n }, {\n key: \"end\",\n get: function get() {\n return this.start + this.duration;\n }\n }, {\n key: \"loaded\",\n get: function get() {\n var elementaryStreams = this.elementaryStreams;\n return !!(elementaryStreams.audio || elementaryStreams.video || elementaryStreams.audiovideo);\n }\n }]);\n return Part;\n }(BaseSegment);\n\n var DEFAULT_TARGET_DURATION = 10;\n\n /**\n * Object representing parsed data from an HLS Media Playlist. Found in {@link hls.js#Level.details}.\n */\n var LevelDetails = /*#__PURE__*/function () {\n function LevelDetails(baseUrl) {\n this.PTSKnown = false;\n this.alignedSliding = false;\n this.averagetargetduration = void 0;\n this.endCC = 0;\n this.endSN = 0;\n this.fragments = void 0;\n this.fragmentHint = void 0;\n this.partList = null;\n this.dateRanges = void 0;\n this.live = true;\n this.ageHeader = 0;\n this.advancedDateTime = void 0;\n this.updated = true;\n this.advanced = true;\n this.availabilityDelay = void 0;\n // Manifest reload synchronization\n this.misses = 0;\n this.startCC = 0;\n this.startSN = 0;\n this.startTimeOffset = null;\n this.targetduration = 0;\n this.totalduration = 0;\n this.type = null;\n this.url = void 0;\n this.m3u8 = '';\n this.version = null;\n this.canBlockReload = false;\n this.canSkipUntil = 0;\n this.canSkipDateRanges = false;\n this.skippedSegments = 0;\n this.recentlyRemovedDateranges = void 0;\n this.partHoldBack = 0;\n this.holdBack = 0;\n this.partTarget = 0;\n this.preloadHint = void 0;\n this.renditionReports = void 0;\n this.tuneInGoal = 0;\n this.deltaUpdateFailed = void 0;\n this.driftStartTime = 0;\n this.driftEndTime = 0;\n this.driftStart = 0;\n this.driftEnd = 0;\n this.encryptedFragments = void 0;\n this.playlistParsingError = null;\n this.variableList = null;\n this.hasVariableRefs = false;\n this.fragments = [];\n this.encryptedFragments = [];\n this.dateRanges = {};\n this.url = baseUrl;\n }\n var _proto = LevelDetails.prototype;\n _proto.reloaded = function reloaded(previous) {\n if (!previous) {\n this.advanced = true;\n this.updated = true;\n return;\n }\n var partSnDiff = this.lastPartSn - previous.lastPartSn;\n var partIndexDiff = this.lastPartIndex - previous.lastPartIndex;\n this.updated = this.endSN !== previous.endSN || !!partIndexDiff || !!partSnDiff || !this.live;\n this.advanced = this.endSN > previous.endSN || partSnDiff > 0 || partSnDiff === 0 && partIndexDiff > 0;\n if (this.updated || this.advanced) {\n this.misses = Math.floor(previous.misses * 0.6);\n } else {\n this.misses = previous.misses + 1;\n }\n this.availabilityDelay = previous.availabilityDelay;\n };\n _createClass(LevelDetails, [{\n key: \"hasProgramDateTime\",\n get: function get() {\n if (this.fragments.length) {\n return isFiniteNumber(this.fragments[this.fragments.length - 1].programDateTime);\n }\n return false;\n }\n }, {\n key: \"levelTargetDuration\",\n get: function get() {\n return this.averagetargetduration || this.targetduration || DEFAULT_TARGET_DURATION;\n }\n }, {\n key: \"drift\",\n get: function get() {\n var runTime = this.driftEndTime - this.driftStartTime;\n if (runTime > 0) {\n var runDuration = this.driftEnd - this.driftStart;\n return runDuration * 1000 / runTime;\n }\n return 1;\n }\n }, {\n key: \"edge\",\n get: function get() {\n return this.partEnd || this.fragmentEnd;\n }\n }, {\n key: \"partEnd\",\n get: function get() {\n var _this$partList;\n if ((_this$partList = this.partList) != null && _this$partList.length) {\n return this.partList[this.partList.length - 1].end;\n }\n return this.fragmentEnd;\n }\n }, {\n key: \"fragmentEnd\",\n get: function get() {\n var _this$fragments;\n if ((_this$fragments = this.fragments) != null && _this$fragments.length) {\n return this.fragments[this.fragments.length - 1].end;\n }\n return 0;\n }\n }, {\n key: \"age\",\n get: function get() {\n if (this.advancedDateTime) {\n return Math.max(Date.now() - this.advancedDateTime, 0) / 1000;\n }\n return 0;\n }\n }, {\n key: \"lastPartIndex\",\n get: function get() {\n var _this$partList2;\n if ((_this$partList2 = this.partList) != null && _this$partList2.length) {\n return this.partList[this.partList.length - 1].index;\n }\n return -1;\n }\n }, {\n key: \"lastPartSn\",\n get: function get() {\n var _this$partList3;\n if ((_this$partList3 = this.partList) != null && _this$partList3.length) {\n return this.partList[this.partList.length - 1].fragment.sn;\n }\n return this.endSN;\n }\n }]);\n return LevelDetails;\n }();\n\n function base64Decode(base64encodedStr) {\n return Uint8Array.from(atob(base64encodedStr), function (c) {\n return c.charCodeAt(0);\n });\n }\n\n function getKeyIdBytes(str) {\n var keyIdbytes = strToUtf8array(str).subarray(0, 16);\n var paddedkeyIdbytes = new Uint8Array(16);\n paddedkeyIdbytes.set(keyIdbytes, 16 - keyIdbytes.length);\n return paddedkeyIdbytes;\n }\n function changeEndianness(keyId) {\n var swap = function swap(array, from, to) {\n var cur = array[from];\n array[from] = array[to];\n array[to] = cur;\n };\n swap(keyId, 0, 3);\n swap(keyId, 1, 2);\n swap(keyId, 4, 5);\n swap(keyId, 6, 7);\n }\n function convertDataUriToArrayBytes(uri) {\n // data:[\n var colonsplit = uri.split(':');\n var keydata = null;\n if (colonsplit[0] === 'data' && colonsplit.length === 2) {\n var semicolonsplit = colonsplit[1].split(';');\n var commasplit = semicolonsplit[semicolonsplit.length - 1].split(',');\n if (commasplit.length === 2) {\n var isbase64 = commasplit[0] === 'base64';\n var data = commasplit[1];\n if (isbase64) {\n semicolonsplit.splice(-1, 1); // remove from processing\n keydata = base64Decode(data);\n } else {\n keydata = getKeyIdBytes(data);\n }\n }\n }\n return keydata;\n }\n function strToUtf8array(str) {\n return Uint8Array.from(unescape(encodeURIComponent(str)), function (c) {\n return c.charCodeAt(0);\n });\n }\n\n /** returns `undefined` is `self` is missing, e.g. in node */\n var optionalSelf = typeof self !== 'undefined' ? self : undefined;\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Navigator/requestMediaKeySystemAccess\n */\n var KeySystems = {\n CLEARKEY: \"org.w3.clearkey\",\n FAIRPLAY: \"com.apple.fps\",\n PLAYREADY: \"com.microsoft.playready\",\n WIDEVINE: \"com.widevine.alpha\"\n };\n\n // Playlist #EXT-X-KEY KEYFORMAT values\n var KeySystemFormats = {\n CLEARKEY: \"org.w3.clearkey\",\n FAIRPLAY: \"com.apple.streamingkeydelivery\",\n PLAYREADY: \"com.microsoft.playready\",\n WIDEVINE: \"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed\"\n };\n function keySystemFormatToKeySystemDomain(format) {\n switch (format) {\n case KeySystemFormats.FAIRPLAY:\n return KeySystems.FAIRPLAY;\n case KeySystemFormats.PLAYREADY:\n return KeySystems.PLAYREADY;\n case KeySystemFormats.WIDEVINE:\n return KeySystems.WIDEVINE;\n case KeySystemFormats.CLEARKEY:\n return KeySystems.CLEARKEY;\n }\n }\n\n // System IDs for which we can extract a key ID from \"encrypted\" event PSSH\n var KeySystemIds = {\n WIDEVINE: \"edef8ba979d64acea3c827dcd51d21ed\"\n };\n function keySystemIdToKeySystemDomain(systemId) {\n if (systemId === KeySystemIds.WIDEVINE) {\n return KeySystems.WIDEVINE;\n // } else if (systemId === KeySystemIds.PLAYREADY) {\n // return KeySystems.PLAYREADY;\n // } else if (systemId === KeySystemIds.CENC || systemId === KeySystemIds.CLEARKEY) {\n // return KeySystems.CLEARKEY;\n }\n }\n function keySystemDomainToKeySystemFormat(keySystem) {\n switch (keySystem) {\n case KeySystems.FAIRPLAY:\n return KeySystemFormats.FAIRPLAY;\n case KeySystems.PLAYREADY:\n return KeySystemFormats.PLAYREADY;\n case KeySystems.WIDEVINE:\n return KeySystemFormats.WIDEVINE;\n case KeySystems.CLEARKEY:\n return KeySystemFormats.CLEARKEY;\n }\n }\n function getKeySystemsForConfig(config) {\n var drmSystems = config.drmSystems,\n widevineLicenseUrl = config.widevineLicenseUrl;\n var keySystemsToAttempt = drmSystems ? [KeySystems.FAIRPLAY, KeySystems.WIDEVINE, KeySystems.PLAYREADY, KeySystems.CLEARKEY].filter(function (keySystem) {\n return !!drmSystems[keySystem];\n }) : [];\n if (!keySystemsToAttempt[KeySystems.WIDEVINE] && widevineLicenseUrl) {\n keySystemsToAttempt.push(KeySystems.WIDEVINE);\n }\n return keySystemsToAttempt;\n }\n var requestMediaKeySystemAccess = function (_optionalSelf$navigat) {\n if (optionalSelf != null && (_optionalSelf$navigat = optionalSelf.navigator) != null && _optionalSelf$navigat.requestMediaKeySystemAccess) {\n return self.navigator.requestMediaKeySystemAccess.bind(self.navigator);\n } else {\n return null;\n }\n }();\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaKeySystemConfiguration\n */\n function getSupportedMediaKeySystemConfigurations(keySystem, audioCodecs, videoCodecs, drmSystemOptions) {\n var initDataTypes;\n switch (keySystem) {\n case KeySystems.FAIRPLAY:\n initDataTypes = ['cenc', 'sinf'];\n break;\n case KeySystems.WIDEVINE:\n case KeySystems.PLAYREADY:\n initDataTypes = ['cenc'];\n break;\n case KeySystems.CLEARKEY:\n initDataTypes = ['cenc', 'keyids'];\n break;\n default:\n throw new Error(\"Unknown key-system: \" + keySystem);\n }\n return createMediaKeySystemConfigurations(initDataTypes, audioCodecs, videoCodecs, drmSystemOptions);\n }\n function createMediaKeySystemConfigurations(initDataTypes, audioCodecs, videoCodecs, drmSystemOptions) {\n var baseConfig = {\n initDataTypes: initDataTypes,\n persistentState: drmSystemOptions.persistentState || 'optional',\n distinctiveIdentifier: drmSystemOptions.distinctiveIdentifier || 'optional',\n sessionTypes: drmSystemOptions.sessionTypes || [drmSystemOptions.sessionType || 'temporary'],\n audioCapabilities: audioCodecs.map(function (codec) {\n return {\n contentType: \"audio/mp4; codecs=\\\"\" + codec + \"\\\"\",\n robustness: drmSystemOptions.audioRobustness || '',\n encryptionScheme: drmSystemOptions.audioEncryptionScheme || null\n };\n }),\n videoCapabilities: videoCodecs.map(function (codec) {\n return {\n contentType: \"video/mp4; codecs=\\\"\" + codec + \"\\\"\",\n robustness: drmSystemOptions.videoRobustness || '',\n encryptionScheme: drmSystemOptions.videoEncryptionScheme || null\n };\n })\n };\n return [baseConfig];\n }\n\n function sliceUint8(array, start, end) {\n // @ts-expect-error This polyfills IE11 usage of Uint8Array slice.\n // It always exists in the TypeScript definition so fails, but it fails at runtime on IE11.\n return Uint8Array.prototype.slice ? array.slice(start, end) : new Uint8Array(Array.prototype.slice.call(array, start, end));\n }\n\n // breaking up those two types in order to clarify what is happening in the decoding path.\n\n /**\n * Returns true if an ID3 header can be found at offset in data\n * @param data - The data to search\n * @param offset - The offset at which to start searching\n */\n var isHeader$2 = function isHeader(data, offset) {\n /*\n * http://id3.org/id3v2.3.0\n * [0] = 'I'\n * [1] = 'D'\n * [2] = '3'\n * [3,4] = {Version}\n * [5] = {Flags}\n * [6-9] = {ID3 Size}\n *\n * An ID3v2 tag can be detected with the following pattern:\n * $49 44 33 yy yy xx zz zz zz zz\n * Where yy is less than $FF, xx is the 'flags' byte and zz is less than $80\n */\n if (offset + 10 <= data.length) {\n // look for 'ID3' identifier\n if (data[offset] === 0x49 && data[offset + 1] === 0x44 && data[offset + 2] === 0x33) {\n // check version is within range\n if (data[offset + 3] < 0xff && data[offset + 4] < 0xff) {\n // check size is within range\n if (data[offset + 6] < 0x80 && data[offset + 7] < 0x80 && data[offset + 8] < 0x80 && data[offset + 9] < 0x80) {\n return true;\n }\n }\n }\n }\n return false;\n };\n\n /**\n * Returns true if an ID3 footer can be found at offset in data\n * @param data - The data to search\n * @param offset - The offset at which to start searching\n */\n var isFooter = function isFooter(data, offset) {\n /*\n * The footer is a copy of the header, but with a different identifier\n */\n if (offset + 10 <= data.length) {\n // look for '3DI' identifier\n if (data[offset] === 0x33 && data[offset + 1] === 0x44 && data[offset + 2] === 0x49) {\n // check version is within range\n if (data[offset + 3] < 0xff && data[offset + 4] < 0xff) {\n // check size is within range\n if (data[offset + 6] < 0x80 && data[offset + 7] < 0x80 && data[offset + 8] < 0x80 && data[offset + 9] < 0x80) {\n return true;\n }\n }\n }\n }\n return false;\n };\n\n /**\n * Returns any adjacent ID3 tags found in data starting at offset, as one block of data\n * @param data - The data to search in\n * @param offset - The offset at which to start searching\n * @returns the block of data containing any ID3 tags found\n * or *undefined* if no header is found at the starting offset\n */\n var getID3Data = function getID3Data(data, offset) {\n var front = offset;\n var length = 0;\n while (isHeader$2(data, offset)) {\n // ID3 header is 10 bytes\n length += 10;\n var size = readSize(data, offset + 6);\n length += size;\n if (isFooter(data, offset + 10)) {\n // ID3 footer is 10 bytes\n length += 10;\n }\n offset += length;\n }\n if (length > 0) {\n return data.subarray(front, front + length);\n }\n return undefined;\n };\n var readSize = function readSize(data, offset) {\n var size = 0;\n size = (data[offset] & 0x7f) << 21;\n size |= (data[offset + 1] & 0x7f) << 14;\n size |= (data[offset + 2] & 0x7f) << 7;\n size |= data[offset + 3] & 0x7f;\n return size;\n };\n var canParse$2 = function canParse(data, offset) {\n return isHeader$2(data, offset) && readSize(data, offset + 6) + 10 <= data.length - offset;\n };\n\n /**\n * Searches for the Elementary Stream timestamp found in the ID3 data chunk\n * @param data - Block of data containing one or more ID3 tags\n */\n var getTimeStamp = function getTimeStamp(data) {\n var frames = getID3Frames(data);\n for (var i = 0; i < frames.length; i++) {\n var frame = frames[i];\n if (isTimeStampFrame(frame)) {\n return readTimeStamp(frame);\n }\n }\n return undefined;\n };\n\n /**\n * Returns true if the ID3 frame is an Elementary Stream timestamp frame\n */\n var isTimeStampFrame = function isTimeStampFrame(frame) {\n return frame && frame.key === 'PRIV' && frame.info === 'com.apple.streaming.transportStreamTimestamp';\n };\n var getFrameData = function getFrameData(data) {\n /*\n Frame ID $xx xx xx xx (four characters)\n Size $xx xx xx xx\n Flags $xx xx\n */\n var type = String.fromCharCode(data[0], data[1], data[2], data[3]);\n var size = readSize(data, 4);\n\n // skip frame id, size, and flags\n var offset = 10;\n return {\n type: type,\n size: size,\n data: data.subarray(offset, offset + size)\n };\n };\n\n /**\n * Returns an array of ID3 frames found in all the ID3 tags in the id3Data\n * @param id3Data - The ID3 data containing one or more ID3 tags\n */\n var getID3Frames = function getID3Frames(id3Data) {\n var offset = 0;\n var frames = [];\n while (isHeader$2(id3Data, offset)) {\n var size = readSize(id3Data, offset + 6);\n // skip past ID3 header\n offset += 10;\n var end = offset + size;\n // loop through frames in the ID3 tag\n while (offset + 8 < end) {\n var frameData = getFrameData(id3Data.subarray(offset));\n var frame = decodeFrame(frameData);\n if (frame) {\n frames.push(frame);\n }\n\n // skip frame header and frame data\n offset += frameData.size + 10;\n }\n if (isFooter(id3Data, offset)) {\n offset += 10;\n }\n }\n return frames;\n };\n var decodeFrame = function decodeFrame(frame) {\n if (frame.type === 'PRIV') {\n return decodePrivFrame(frame);\n } else if (frame.type[0] === 'W') {\n return decodeURLFrame(frame);\n }\n return decodeTextFrame(frame);\n };\n var decodePrivFrame = function decodePrivFrame(frame) {\n /*\n Format: \\0\n */\n if (frame.size < 2) {\n return undefined;\n }\n var owner = utf8ArrayToStr(frame.data, true);\n var privateData = new Uint8Array(frame.data.subarray(owner.length + 1));\n return {\n key: frame.type,\n info: owner,\n data: privateData.buffer\n };\n };\n var decodeTextFrame = function decodeTextFrame(frame) {\n if (frame.size < 2) {\n return undefined;\n }\n if (frame.type === 'TXXX') {\n /*\n Format:\n [0] = {Text Encoding}\n [1-?] = {Description}\\0{Value}\n */\n var index = 1;\n var description = utf8ArrayToStr(frame.data.subarray(index), true);\n index += description.length + 1;\n var value = utf8ArrayToStr(frame.data.subarray(index));\n return {\n key: frame.type,\n info: description,\n data: value\n };\n }\n /*\n Format:\n [0] = {Text Encoding}\n [1-?] = {Value}\n */\n var text = utf8ArrayToStr(frame.data.subarray(1));\n return {\n key: frame.type,\n data: text\n };\n };\n var decodeURLFrame = function decodeURLFrame(frame) {\n if (frame.type === 'WXXX') {\n /*\n Format:\n [0] = {Text Encoding}\n [1-?] = {Description}\\0{URL}\n */\n if (frame.size < 2) {\n return undefined;\n }\n var index = 1;\n var description = utf8ArrayToStr(frame.data.subarray(index), true);\n index += description.length + 1;\n var value = utf8ArrayToStr(frame.data.subarray(index));\n return {\n key: frame.type,\n info: description,\n data: value\n };\n }\n /*\n Format:\n [0-?] = {URL}\n */\n var url = utf8ArrayToStr(frame.data);\n return {\n key: frame.type,\n data: url\n };\n };\n var readTimeStamp = function readTimeStamp(timeStampFrame) {\n if (timeStampFrame.data.byteLength === 8) {\n var data = new Uint8Array(timeStampFrame.data);\n // timestamp is 33 bit expressed as a big-endian eight-octet number,\n // with the upper 31 bits set to zero.\n var pts33Bit = data[3] & 0x1;\n var timestamp = (data[4] << 23) + (data[5] << 15) + (data[6] << 7) + data[7];\n timestamp /= 45;\n if (pts33Bit) {\n timestamp += 47721858.84;\n } // 2^32 / 90\n\n return Math.round(timestamp);\n }\n return undefined;\n };\n\n // http://stackoverflow.com/questions/8936984/uint8array-to-string-in-javascript/22373197\n // http://www.onicos.com/staff/iz/amuse/javascript/expert/utf.txt\n /* utf.js - UTF-8 <=> UTF-16 convertion\n *\n * Copyright (C) 1999 Masanao Izumo \n * Version: 1.0\n * LastModified: Dec 25 1999\n * This library is free. You can redistribute it and/or modify it.\n */\n var utf8ArrayToStr = function utf8ArrayToStr(array, exitOnNull) {\n if (exitOnNull === void 0) {\n exitOnNull = false;\n }\n var decoder = getTextDecoder();\n if (decoder) {\n var decoded = decoder.decode(array);\n if (exitOnNull) {\n // grab up to the first null\n var idx = decoded.indexOf('\\0');\n return idx !== -1 ? decoded.substring(0, idx) : decoded;\n }\n\n // remove any null characters\n return decoded.replace(/\\0/g, '');\n }\n var len = array.length;\n var c;\n var char2;\n var char3;\n var out = '';\n var i = 0;\n while (i < len) {\n c = array[i++];\n if (c === 0x00 && exitOnNull) {\n return out;\n } else if (c === 0x00 || c === 0x03) {\n // If the character is 3 (END_OF_TEXT) or 0 (NULL) then skip it\n continue;\n }\n switch (c >> 4) {\n case 0:\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n case 6:\n case 7:\n // 0xxxxxxx\n out += String.fromCharCode(c);\n break;\n case 12:\n case 13:\n // 110x xxxx 10xx xxxx\n char2 = array[i++];\n out += String.fromCharCode((c & 0x1f) << 6 | char2 & 0x3f);\n break;\n case 14:\n // 1110 xxxx 10xx xxxx 10xx xxxx\n char2 = array[i++];\n char3 = array[i++];\n out += String.fromCharCode((c & 0x0f) << 12 | (char2 & 0x3f) << 6 | (char3 & 0x3f) << 0);\n break;\n }\n }\n return out;\n };\n var decoder;\n function getTextDecoder() {\n // On Play Station 4, TextDecoder is defined but partially implemented.\n // Manual decoding option is preferable\n if (navigator.userAgent.includes('PlayStation 4')) {\n return;\n }\n if (!decoder && typeof self.TextDecoder !== 'undefined') {\n decoder = new self.TextDecoder('utf-8');\n }\n return decoder;\n }\n\n /**\n * hex dump helper class\n */\n\n var Hex = {\n hexDump: function hexDump(array) {\n var str = '';\n for (var i = 0; i < array.length; i++) {\n var h = array[i].toString(16);\n if (h.length < 2) {\n h = '0' + h;\n }\n str += h;\n }\n return str;\n }\n };\n\n var UINT32_MAX$1 = Math.pow(2, 32) - 1;\n var push = [].push;\n\n // We are using fixed track IDs for driving the MP4 remuxer\n // instead of following the TS PIDs.\n // There is no reason not to do this and some browsers/SourceBuffer-demuxers\n // may not like if there are TrackID \"switches\"\n // See https://github.com/video-dev/hls.js/issues/1331\n // Here we are mapping our internal track types to constant MP4 track IDs\n // With MSE currently one can only have one track of each, and we are muxing\n // whatever video/audio rendition in them.\n var RemuxerTrackIdConfig = {\n video: 1,\n audio: 2,\n id3: 3,\n text: 4\n };\n function bin2str(data) {\n return String.fromCharCode.apply(null, data);\n }\n function readUint16(buffer, offset) {\n var val = buffer[offset] << 8 | buffer[offset + 1];\n return val < 0 ? 65536 + val : val;\n }\n function readUint32(buffer, offset) {\n var val = readSint32(buffer, offset);\n return val < 0 ? 4294967296 + val : val;\n }\n function readUint64(buffer, offset) {\n var result = readUint32(buffer, offset);\n result *= Math.pow(2, 32);\n result += readUint32(buffer, offset + 4);\n return result;\n }\n function readSint32(buffer, offset) {\n return buffer[offset] << 24 | buffer[offset + 1] << 16 | buffer[offset + 2] << 8 | buffer[offset + 3];\n }\n function writeUint32(buffer, offset, value) {\n buffer[offset] = value >> 24;\n buffer[offset + 1] = value >> 16 & 0xff;\n buffer[offset + 2] = value >> 8 & 0xff;\n buffer[offset + 3] = value & 0xff;\n }\n\n // Find \"moof\" box\n function hasMoofData(data) {\n var end = data.byteLength;\n for (var i = 0; i < end;) {\n var size = readUint32(data, i);\n if (size > 8 && data[i + 4] === 0x6d && data[i + 5] === 0x6f && data[i + 6] === 0x6f && data[i + 7] === 0x66) {\n return true;\n }\n i = size > 1 ? i + size : end;\n }\n return false;\n }\n\n // Find the data for a box specified by its path\n function findBox(data, path) {\n var results = [];\n if (!path.length) {\n // short-circuit the search for empty paths\n return results;\n }\n var end = data.byteLength;\n for (var i = 0; i < end;) {\n var size = readUint32(data, i);\n var type = bin2str(data.subarray(i + 4, i + 8));\n var endbox = size > 1 ? i + size : end;\n if (type === path[0]) {\n if (path.length === 1) {\n // this is the end of the path and we've found the box we were\n // looking for\n results.push(data.subarray(i + 8, endbox));\n } else {\n // recursively search for the next box along the path\n var subresults = findBox(data.subarray(i + 8, endbox), path.slice(1));\n if (subresults.length) {\n push.apply(results, subresults);\n }\n }\n }\n i = endbox;\n }\n\n // we've finished searching all of data\n return results;\n }\n function parseSegmentIndex(sidx) {\n var references = [];\n var version = sidx[0];\n\n // set initial offset, we skip the reference ID (not needed)\n var index = 8;\n var timescale = readUint32(sidx, index);\n index += 4;\n var earliestPresentationTime = 0;\n var firstOffset = 0;\n if (version === 0) {\n earliestPresentationTime = readUint32(sidx, index);\n firstOffset = readUint32(sidx, index + 4);\n index += 8;\n } else {\n earliestPresentationTime = readUint64(sidx, index);\n firstOffset = readUint64(sidx, index + 8);\n index += 16;\n }\n\n // skip reserved\n index += 2;\n var startByte = sidx.length + firstOffset;\n var referencesCount = readUint16(sidx, index);\n index += 2;\n for (var i = 0; i < referencesCount; i++) {\n var referenceIndex = index;\n var referenceInfo = readUint32(sidx, referenceIndex);\n referenceIndex += 4;\n var referenceSize = referenceInfo & 0x7fffffff;\n var referenceType = (referenceInfo & 0x80000000) >>> 31;\n if (referenceType === 1) {\n logger.warn('SIDX has hierarchical references (not supported)');\n return null;\n }\n var subsegmentDuration = readUint32(sidx, referenceIndex);\n referenceIndex += 4;\n references.push({\n referenceSize: referenceSize,\n subsegmentDuration: subsegmentDuration,\n // unscaled\n info: {\n duration: subsegmentDuration / timescale,\n start: startByte,\n end: startByte + referenceSize - 1\n }\n });\n startByte += referenceSize;\n\n // Skipping 1 bit for |startsWithSap|, 3 bits for |sapType|, and 28 bits\n // for |sapDelta|.\n referenceIndex += 4;\n\n // skip to next ref\n index = referenceIndex;\n }\n return {\n earliestPresentationTime: earliestPresentationTime,\n timescale: timescale,\n version: version,\n referencesCount: referencesCount,\n references: references\n };\n }\n\n /**\n * Parses an MP4 initialization segment and extracts stream type and\n * timescale values for any declared tracks. Timescale values indicate the\n * number of clock ticks per second to assume for time-based values\n * elsewhere in the MP4.\n *\n * To determine the start time of an MP4, you need two pieces of\n * information: the timescale unit and the earliest base media decode\n * time. Multiple timescales can be specified within an MP4 but the\n * base media decode time is always expressed in the timescale from\n * the media header box for the track:\n * ```\n * moov > trak > mdia > mdhd.timescale\n * moov > trak > mdia > hdlr\n * ```\n * @param initSegment the bytes of the init segment\n * @returns a hash of track type to timescale values or null if\n * the init segment is malformed.\n */\n\n function parseInitSegment(initSegment) {\n var result = [];\n var traks = findBox(initSegment, ['moov', 'trak']);\n for (var i = 0; i < traks.length; i++) {\n var trak = traks[i];\n var tkhd = findBox(trak, ['tkhd'])[0];\n if (tkhd) {\n var version = tkhd[0];\n var trackId = readUint32(tkhd, version === 0 ? 12 : 20);\n var mdhd = findBox(trak, ['mdia', 'mdhd'])[0];\n if (mdhd) {\n version = mdhd[0];\n var timescale = readUint32(mdhd, version === 0 ? 12 : 20);\n var hdlr = findBox(trak, ['mdia', 'hdlr'])[0];\n if (hdlr) {\n var hdlrType = bin2str(hdlr.subarray(8, 12));\n var type = {\n soun: ElementaryStreamTypes.AUDIO,\n vide: ElementaryStreamTypes.VIDEO\n }[hdlrType];\n if (type) {\n // Parse codec details\n var stsd = findBox(trak, ['mdia', 'minf', 'stbl', 'stsd'])[0];\n var stsdData = parseStsd(stsd);\n result[trackId] = {\n timescale: timescale,\n type: type\n };\n result[type] = _objectSpread2({\n timescale: timescale,\n id: trackId\n }, stsdData);\n }\n }\n }\n }\n }\n var trex = findBox(initSegment, ['moov', 'mvex', 'trex']);\n trex.forEach(function (trex) {\n var trackId = readUint32(trex, 4);\n var track = result[trackId];\n if (track) {\n track.default = {\n duration: readUint32(trex, 12),\n flags: readUint32(trex, 20)\n };\n }\n });\n return result;\n }\n function parseStsd(stsd) {\n var sampleEntries = stsd.subarray(8);\n var sampleEntriesEnd = sampleEntries.subarray(8 + 78);\n var fourCC = bin2str(sampleEntries.subarray(4, 8));\n var codec = fourCC;\n var encrypted = fourCC === 'enca' || fourCC === 'encv';\n if (encrypted) {\n var encBox = findBox(sampleEntries, [fourCC])[0];\n var encBoxChildren = encBox.subarray(fourCC === 'enca' ? 28 : 78);\n var sinfs = findBox(encBoxChildren, ['sinf']);\n sinfs.forEach(function (sinf) {\n var schm = findBox(sinf, ['schm'])[0];\n if (schm) {\n var scheme = bin2str(schm.subarray(4, 8));\n if (scheme === 'cbcs' || scheme === 'cenc') {\n var frma = findBox(sinf, ['frma'])[0];\n if (frma) {\n // for encrypted content codec fourCC will be in frma\n codec = bin2str(frma);\n }\n }\n }\n });\n }\n switch (codec) {\n case 'avc1':\n case 'avc2':\n case 'avc3':\n case 'avc4':\n {\n // extract profile + compatibility + level out of avcC box\n var avcCBox = findBox(sampleEntriesEnd, ['avcC'])[0];\n codec += '.' + toHex(avcCBox[1]) + toHex(avcCBox[2]) + toHex(avcCBox[3]);\n break;\n }\n case 'mp4a':\n {\n var codecBox = findBox(sampleEntries, [fourCC])[0];\n var esdsBox = findBox(codecBox.subarray(28), ['esds'])[0];\n if (esdsBox && esdsBox.length > 12) {\n var i = 4;\n // ES Descriptor tag\n if (esdsBox[i++] !== 0x03) {\n break;\n }\n i = skipBERInteger(esdsBox, i);\n i += 2; // skip es_id;\n var flags = esdsBox[i++];\n if (flags & 0x80) {\n i += 2; // skip dependency es_id\n }\n if (flags & 0x40) {\n i += esdsBox[i++]; // skip URL\n }\n // Decoder config descriptor\n if (esdsBox[i++] !== 0x04) {\n break;\n }\n i = skipBERInteger(esdsBox, i);\n var objectType = esdsBox[i++];\n if (objectType === 0x40) {\n codec += '.' + toHex(objectType);\n } else {\n break;\n }\n i += 12;\n // Decoder specific info\n if (esdsBox[i++] !== 0x05) {\n break;\n }\n i = skipBERInteger(esdsBox, i);\n var firstByte = esdsBox[i++];\n var audioObjectType = (firstByte & 0xf8) >> 3;\n if (audioObjectType === 31) {\n audioObjectType += 1 + ((firstByte & 0x7) << 3) + ((esdsBox[i] & 0xe0) >> 5);\n }\n codec += '.' + audioObjectType;\n }\n break;\n }\n case 'hvc1':\n case 'hev1':\n {\n var hvcCBox = findBox(sampleEntriesEnd, ['hvcC'])[0];\n var profileByte = hvcCBox[1];\n var profileSpace = ['', 'A', 'B', 'C'][profileByte >> 6];\n var generalProfileIdc = profileByte & 0x1f;\n var profileCompat = readUint32(hvcCBox, 2);\n var tierFlag = (profileByte & 0x20) >> 5 ? 'H' : 'L';\n var levelIDC = hvcCBox[12];\n var constraintIndicator = hvcCBox.subarray(6, 12);\n codec += '.' + profileSpace + generalProfileIdc;\n codec += '.' + profileCompat.toString(16).toUpperCase();\n codec += '.' + tierFlag + levelIDC;\n var constraintString = '';\n for (var _i = constraintIndicator.length; _i--;) {\n var _byte = constraintIndicator[_i];\n if (_byte || constraintString) {\n var encodedByte = _byte.toString(16).toUpperCase();\n constraintString = '.' + encodedByte + constraintString;\n }\n }\n codec += constraintString;\n break;\n }\n case 'dvh1':\n case 'dvhe':\n {\n var dvcCBox = findBox(sampleEntriesEnd, ['dvcC'])[0];\n var profile = dvcCBox[2] >> 1 & 0x7f;\n var level = dvcCBox[2] << 5 & 0x20 | dvcCBox[3] >> 3 & 0x1f;\n codec += '.' + addLeadingZero(profile) + '.' + addLeadingZero(level);\n break;\n }\n case 'vp09':\n {\n var vpcCBox = findBox(sampleEntriesEnd, ['vpcC'])[0];\n var _profile = vpcCBox[4];\n var _level = vpcCBox[5];\n var bitDepth = vpcCBox[6] >> 4 & 0x0f;\n codec += '.' + addLeadingZero(_profile) + '.' + addLeadingZero(_level) + '.' + addLeadingZero(bitDepth);\n break;\n }\n case 'av01':\n {\n var av1CBox = findBox(sampleEntriesEnd, ['av1C'])[0];\n var _profile2 = av1CBox[1] >>> 5;\n var _level2 = av1CBox[1] & 0x1f;\n var _tierFlag = av1CBox[2] >>> 7 ? 'H' : 'M';\n var highBitDepth = (av1CBox[2] & 0x40) >> 6;\n var twelveBit = (av1CBox[2] & 0x20) >> 5;\n var _bitDepth = _profile2 === 2 && highBitDepth ? twelveBit ? 12 : 10 : highBitDepth ? 10 : 8;\n var monochrome = (av1CBox[2] & 0x10) >> 4;\n var chromaSubsamplingX = (av1CBox[2] & 0x08) >> 3;\n var chromaSubsamplingY = (av1CBox[2] & 0x04) >> 2;\n var chromaSamplePosition = av1CBox[2] & 0x03;\n // TODO: parse color_description_present_flag\n // default it to BT.709/limited range for now\n // more info https://aomediacodec.github.io/av1-isobmff/#av1codecconfigurationbox-syntax\n var colorPrimaries = 1;\n var transferCharacteristics = 1;\n var matrixCoefficients = 1;\n var videoFullRangeFlag = 0;\n codec += '.' + _profile2 + '.' + addLeadingZero(_level2) + _tierFlag + '.' + addLeadingZero(_bitDepth) + '.' + monochrome + '.' + chromaSubsamplingX + chromaSubsamplingY + chromaSamplePosition + '.' + addLeadingZero(colorPrimaries) + '.' + addLeadingZero(transferCharacteristics) + '.' + addLeadingZero(matrixCoefficients) + '.' + videoFullRangeFlag;\n break;\n }\n }\n return {\n codec: codec,\n encrypted: encrypted\n };\n }\n function skipBERInteger(bytes, i) {\n var limit = i + 5;\n while (bytes[i++] & 0x80 && i < limit) {}\n return i;\n }\n function toHex(x) {\n return ('0' + x.toString(16).toUpperCase()).slice(-2);\n }\n function addLeadingZero(num) {\n return (num < 10 ? '0' : '') + num;\n }\n function patchEncyptionData(initSegment, decryptdata) {\n if (!initSegment || !decryptdata) {\n return initSegment;\n }\n var keyId = decryptdata.keyId;\n if (keyId && decryptdata.isCommonEncryption) {\n var traks = findBox(initSegment, ['moov', 'trak']);\n traks.forEach(function (trak) {\n var stsd = findBox(trak, ['mdia', 'minf', 'stbl', 'stsd'])[0];\n\n // skip the sample entry count\n var sampleEntries = stsd.subarray(8);\n var encBoxes = findBox(sampleEntries, ['enca']);\n var isAudio = encBoxes.length > 0;\n if (!isAudio) {\n encBoxes = findBox(sampleEntries, ['encv']);\n }\n encBoxes.forEach(function (enc) {\n var encBoxChildren = isAudio ? enc.subarray(28) : enc.subarray(78);\n var sinfBoxes = findBox(encBoxChildren, ['sinf']);\n sinfBoxes.forEach(function (sinf) {\n var tenc = parseSinf(sinf);\n if (tenc) {\n // Look for default key id (keyID offset is always 8 within the tenc box):\n var tencKeyId = tenc.subarray(8, 24);\n if (!tencKeyId.some(function (b) {\n return b !== 0;\n })) {\n logger.log(\"[eme] Patching keyId in 'enc\" + (isAudio ? 'a' : 'v') + \">sinf>>tenc' box: \" + Hex.hexDump(tencKeyId) + \" -> \" + Hex.hexDump(keyId));\n tenc.set(keyId, 8);\n }\n }\n });\n });\n });\n }\n return initSegment;\n }\n function parseSinf(sinf) {\n var schm = findBox(sinf, ['schm'])[0];\n if (schm) {\n var scheme = bin2str(schm.subarray(4, 8));\n if (scheme === 'cbcs' || scheme === 'cenc') {\n return findBox(sinf, ['schi', 'tenc'])[0];\n }\n }\n logger.error(\"[eme] missing 'schm' box\");\n return null;\n }\n\n /**\n * Determine the base media decode start time, in seconds, for an MP4\n * fragment. If multiple fragments are specified, the earliest time is\n * returned.\n *\n * The base media decode time can be parsed from track fragment\n * metadata:\n * ```\n * moof > traf > tfdt.baseMediaDecodeTime\n * ```\n * It requires the timescale value from the mdhd to interpret.\n *\n * @param initData - a hash of track type to timescale values\n * @param fmp4 - the bytes of the mp4 fragment\n * @returns the earliest base media decode start time for the\n * fragment, in seconds\n */\n function getStartDTS(initData, fmp4) {\n // we need info from two children of each track fragment box\n return findBox(fmp4, ['moof', 'traf']).reduce(function (result, traf) {\n var tfdt = findBox(traf, ['tfdt'])[0];\n var version = tfdt[0];\n var start = findBox(traf, ['tfhd']).reduce(function (result, tfhd) {\n // get the track id from the tfhd\n var id = readUint32(tfhd, 4);\n var track = initData[id];\n if (track) {\n var baseTime = readUint32(tfdt, 4);\n if (version === 1) {\n // If value is too large, assume signed 64-bit. Negative track fragment decode times are invalid, but they exist in the wild.\n // This prevents large values from being used for initPTS, which can cause playlist sync issues.\n // https://github.com/video-dev/hls.js/issues/5303\n if (baseTime === UINT32_MAX$1) {\n logger.warn(\"[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time\");\n return result;\n }\n baseTime *= UINT32_MAX$1 + 1;\n baseTime += readUint32(tfdt, 8);\n }\n // assume a 90kHz clock if no timescale was specified\n var scale = track.timescale || 90e3;\n // convert base time to seconds\n var startTime = baseTime / scale;\n if (isFiniteNumber(startTime) && (result === null || startTime < result)) {\n return startTime;\n }\n }\n return result;\n }, null);\n if (start !== null && isFiniteNumber(start) && (result === null || start < result)) {\n return start;\n }\n return result;\n }, null);\n }\n\n /*\n For Reference:\n aligned(8) class TrackFragmentHeaderBox\n extends FullBox(‘tfhd’, 0, tf_flags){\n unsigned int(32) track_ID;\n // all the following are optional fields\n unsigned int(64) base_data_offset;\n unsigned int(32) sample_description_index;\n unsigned int(32) default_sample_duration;\n unsigned int(32) default_sample_size;\n unsigned int(32) default_sample_flags\n }\n */\n function getDuration(data, initData) {\n var sidxMinStart = Infinity;\n var sidxMaxEnd = 0;\n var sidxDuration = 0;\n var sidxs = findBox(data, ['sidx']);\n for (var i = 0; i < sidxs.length; i++) {\n var sidx = parseSegmentIndex(sidxs[i]);\n if (sidx != null && sidx.references) {\n sidxMinStart = Math.min(sidxMinStart, sidx.earliestPresentationTime / sidx.timescale);\n var subSegmentDuration = sidx.references.reduce(function (dur, ref) {\n return dur + ref.info.duration || 0;\n }, 0);\n sidxMaxEnd = Math.max(sidxMaxEnd, subSegmentDuration + sidx.earliestPresentationTime / sidx.timescale);\n sidxDuration = sidxMaxEnd - sidxMinStart;\n }\n }\n if (sidxDuration && isFiniteNumber(sidxDuration)) {\n return sidxDuration;\n }\n var rawDuration = 0;\n var videoDuration = 0;\n var audioDuration = 0;\n var trafs = findBox(data, ['moof', 'traf']);\n for (var _i2 = 0; _i2 < trafs.length; _i2++) {\n var traf = trafs[_i2];\n // There is only one tfhd & trun per traf\n // This is true for CMAF style content, and we should perhaps check the ftyp\n // and only look for a single trun then, but for ISOBMFF we should check\n // for multiple track runs.\n var tfhd = findBox(traf, ['tfhd'])[0];\n // get the track id from the tfhd\n var id = readUint32(tfhd, 4);\n var track = initData[id];\n if (!track) {\n continue;\n }\n var trackDefault = track.default;\n var tfhdFlags = readUint32(tfhd, 0) | (trackDefault == null ? void 0 : trackDefault.flags);\n var sampleDuration = trackDefault == null ? void 0 : trackDefault.duration;\n if (tfhdFlags & 0x000008) {\n // 0x000008 indicates the presence of the default_sample_duration field\n if (tfhdFlags & 0x000002) {\n // 0x000002 indicates the presence of the sample_description_index field, which precedes default_sample_duration\n // If present, the default_sample_duration exists at byte offset 12\n sampleDuration = readUint32(tfhd, 12);\n } else {\n // Otherwise, the duration is at byte offset 8\n sampleDuration = readUint32(tfhd, 8);\n }\n }\n // assume a 90kHz clock if no timescale was specified\n var timescale = track.timescale || 90e3;\n var truns = findBox(traf, ['trun']);\n for (var j = 0; j < truns.length; j++) {\n rawDuration = computeRawDurationFromSamples(truns[j]);\n if (!rawDuration && sampleDuration) {\n var sampleCount = readUint32(truns[j], 4);\n rawDuration = sampleDuration * sampleCount;\n }\n if (track.type === ElementaryStreamTypes.VIDEO) {\n videoDuration += rawDuration / timescale;\n } else if (track.type === ElementaryStreamTypes.AUDIO) {\n audioDuration += rawDuration / timescale;\n }\n }\n }\n if (videoDuration) {\n return videoDuration;\n }\n return audioDuration;\n }\n\n /*\n For Reference:\n aligned(8) class TrackRunBox\n extends FullBox(‘trun’, version, tr_flags) {\n unsigned int(32) sample_count;\n // the following are optional fields\n signed int(32) data_offset;\n unsigned int(32) first_sample_flags;\n // all fields in the following array are optional\n {\n unsigned int(32) sample_duration;\n unsigned int(32) sample_size;\n unsigned int(32) sample_flags\n if (version == 0)\n { unsigned int(32)\n else\n { signed int(32)\n }[ sample_count ]\n }\n */\n function computeRawDurationFromSamples(trun) {\n var flags = readUint32(trun, 0);\n // Flags are at offset 0, non-optional sample_count is at offset 4. Therefore we start 8 bytes in.\n // Each field is an int32, which is 4 bytes\n var offset = 8;\n // data-offset-present flag\n if (flags & 0x000001) {\n offset += 4;\n }\n // first-sample-flags-present flag\n if (flags & 0x000004) {\n offset += 4;\n }\n var duration = 0;\n var sampleCount = readUint32(trun, 4);\n for (var i = 0; i < sampleCount; i++) {\n // sample-duration-present flag\n if (flags & 0x000100) {\n var sampleDuration = readUint32(trun, offset);\n duration += sampleDuration;\n offset += 4;\n }\n // sample-size-present flag\n if (flags & 0x000200) {\n offset += 4;\n }\n // sample-flags-present flag\n if (flags & 0x000400) {\n offset += 4;\n }\n // sample-composition-time-offsets-present flag\n if (flags & 0x000800) {\n offset += 4;\n }\n }\n return duration;\n }\n function offsetStartDTS(initData, fmp4, timeOffset) {\n findBox(fmp4, ['moof', 'traf']).forEach(function (traf) {\n findBox(traf, ['tfhd']).forEach(function (tfhd) {\n // get the track id from the tfhd\n var id = readUint32(tfhd, 4);\n var track = initData[id];\n if (!track) {\n return;\n }\n // assume a 90kHz clock if no timescale was specified\n var timescale = track.timescale || 90e3;\n // get the base media decode time from the tfdt\n findBox(traf, ['tfdt']).forEach(function (tfdt) {\n var version = tfdt[0];\n var offset = timeOffset * timescale;\n if (offset) {\n var baseMediaDecodeTime = readUint32(tfdt, 4);\n if (version === 0) {\n baseMediaDecodeTime -= offset;\n baseMediaDecodeTime = Math.max(baseMediaDecodeTime, 0);\n writeUint32(tfdt, 4, baseMediaDecodeTime);\n } else {\n baseMediaDecodeTime *= Math.pow(2, 32);\n baseMediaDecodeTime += readUint32(tfdt, 8);\n baseMediaDecodeTime -= offset;\n baseMediaDecodeTime = Math.max(baseMediaDecodeTime, 0);\n var upper = Math.floor(baseMediaDecodeTime / (UINT32_MAX$1 + 1));\n var lower = Math.floor(baseMediaDecodeTime % (UINT32_MAX$1 + 1));\n writeUint32(tfdt, 4, upper);\n writeUint32(tfdt, 8, lower);\n }\n }\n });\n });\n });\n }\n\n // TODO: Check if the last moof+mdat pair is part of the valid range\n function segmentValidRange(data) {\n var segmentedRange = {\n valid: null,\n remainder: null\n };\n var moofs = findBox(data, ['moof']);\n if (moofs.length < 2) {\n segmentedRange.remainder = data;\n return segmentedRange;\n }\n var last = moofs[moofs.length - 1];\n // Offset by 8 bytes; findBox offsets the start by as much\n segmentedRange.valid = sliceUint8(data, 0, last.byteOffset - 8);\n segmentedRange.remainder = sliceUint8(data, last.byteOffset - 8);\n return segmentedRange;\n }\n function appendUint8Array(data1, data2) {\n var temp = new Uint8Array(data1.length + data2.length);\n temp.set(data1);\n temp.set(data2, data1.length);\n return temp;\n }\n function parseSamples(timeOffset, track) {\n var seiSamples = [];\n var videoData = track.samples;\n var timescale = track.timescale;\n var trackId = track.id;\n var isHEVCFlavor = false;\n var moofs = findBox(videoData, ['moof']);\n moofs.map(function (moof) {\n var moofOffset = moof.byteOffset - 8;\n var trafs = findBox(moof, ['traf']);\n trafs.map(function (traf) {\n // get the base media decode time from the tfdt\n var baseTime = findBox(traf, ['tfdt']).map(function (tfdt) {\n var version = tfdt[0];\n var result = readUint32(tfdt, 4);\n if (version === 1) {\n result *= Math.pow(2, 32);\n result += readUint32(tfdt, 8);\n }\n return result / timescale;\n })[0];\n if (baseTime !== undefined) {\n timeOffset = baseTime;\n }\n return findBox(traf, ['tfhd']).map(function (tfhd) {\n var id = readUint32(tfhd, 4);\n var tfhdFlags = readUint32(tfhd, 0) & 0xffffff;\n var baseDataOffsetPresent = (tfhdFlags & 0x000001) !== 0;\n var sampleDescriptionIndexPresent = (tfhdFlags & 0x000002) !== 0;\n var defaultSampleDurationPresent = (tfhdFlags & 0x000008) !== 0;\n var defaultSampleDuration = 0;\n var defaultSampleSizePresent = (tfhdFlags & 0x000010) !== 0;\n var defaultSampleSize = 0;\n var defaultSampleFlagsPresent = (tfhdFlags & 0x000020) !== 0;\n var tfhdOffset = 8;\n if (id === trackId) {\n if (baseDataOffsetPresent) {\n tfhdOffset += 8;\n }\n if (sampleDescriptionIndexPresent) {\n tfhdOffset += 4;\n }\n if (defaultSampleDurationPresent) {\n defaultSampleDuration = readUint32(tfhd, tfhdOffset);\n tfhdOffset += 4;\n }\n if (defaultSampleSizePresent) {\n defaultSampleSize = readUint32(tfhd, tfhdOffset);\n tfhdOffset += 4;\n }\n if (defaultSampleFlagsPresent) {\n tfhdOffset += 4;\n }\n if (track.type === 'video') {\n isHEVCFlavor = isHEVC(track.codec);\n }\n findBox(traf, ['trun']).map(function (trun) {\n var version = trun[0];\n var flags = readUint32(trun, 0) & 0xffffff;\n var dataOffsetPresent = (flags & 0x000001) !== 0;\n var dataOffset = 0;\n var firstSampleFlagsPresent = (flags & 0x000004) !== 0;\n var sampleDurationPresent = (flags & 0x000100) !== 0;\n var sampleDuration = 0;\n var sampleSizePresent = (flags & 0x000200) !== 0;\n var sampleSize = 0;\n var sampleFlagsPresent = (flags & 0x000400) !== 0;\n var sampleCompositionOffsetsPresent = (flags & 0x000800) !== 0;\n var compositionOffset = 0;\n var sampleCount = readUint32(trun, 4);\n var trunOffset = 8; // past version, flags, and sample count\n\n if (dataOffsetPresent) {\n dataOffset = readUint32(trun, trunOffset);\n trunOffset += 4;\n }\n if (firstSampleFlagsPresent) {\n trunOffset += 4;\n }\n var sampleOffset = dataOffset + moofOffset;\n for (var ix = 0; ix < sampleCount; ix++) {\n if (sampleDurationPresent) {\n sampleDuration = readUint32(trun, trunOffset);\n trunOffset += 4;\n } else {\n sampleDuration = defaultSampleDuration;\n }\n if (sampleSizePresent) {\n sampleSize = readUint32(trun, trunOffset);\n trunOffset += 4;\n } else {\n sampleSize = defaultSampleSize;\n }\n if (sampleFlagsPresent) {\n trunOffset += 4;\n }\n if (sampleCompositionOffsetsPresent) {\n if (version === 0) {\n compositionOffset = readUint32(trun, trunOffset);\n } else {\n compositionOffset = readSint32(trun, trunOffset);\n }\n trunOffset += 4;\n }\n if (track.type === ElementaryStreamTypes.VIDEO) {\n var naluTotalSize = 0;\n while (naluTotalSize < sampleSize) {\n var naluSize = readUint32(videoData, sampleOffset);\n sampleOffset += 4;\n if (isSEIMessage(isHEVCFlavor, videoData[sampleOffset])) {\n var data = videoData.subarray(sampleOffset, sampleOffset + naluSize);\n parseSEIMessageFromNALu(data, isHEVCFlavor ? 2 : 1, timeOffset + compositionOffset / timescale, seiSamples);\n }\n sampleOffset += naluSize;\n naluTotalSize += naluSize + 4;\n }\n }\n timeOffset += sampleDuration / timescale;\n }\n });\n }\n });\n });\n });\n return seiSamples;\n }\n function isHEVC(codec) {\n if (!codec) {\n return false;\n }\n var delimit = codec.indexOf('.');\n var baseCodec = delimit < 0 ? codec : codec.substring(0, delimit);\n return baseCodec === 'hvc1' || baseCodec === 'hev1' ||\n // Dolby Vision\n baseCodec === 'dvh1' || baseCodec === 'dvhe';\n }\n function isSEIMessage(isHEVCFlavor, naluHeader) {\n if (isHEVCFlavor) {\n var naluType = naluHeader >> 1 & 0x3f;\n return naluType === 39 || naluType === 40;\n } else {\n var _naluType = naluHeader & 0x1f;\n return _naluType === 6;\n }\n }\n function parseSEIMessageFromNALu(unescapedData, headerSize, pts, samples) {\n var data = discardEPB(unescapedData);\n var seiPtr = 0;\n // skip nal header\n seiPtr += headerSize;\n var payloadType = 0;\n var payloadSize = 0;\n var b = 0;\n while (seiPtr < data.length) {\n payloadType = 0;\n do {\n if (seiPtr >= data.length) {\n break;\n }\n b = data[seiPtr++];\n payloadType += b;\n } while (b === 0xff);\n\n // Parse payload size.\n payloadSize = 0;\n do {\n if (seiPtr >= data.length) {\n break;\n }\n b = data[seiPtr++];\n payloadSize += b;\n } while (b === 0xff);\n var leftOver = data.length - seiPtr;\n // Create a variable to process the payload\n var payPtr = seiPtr;\n\n // Increment the seiPtr to the end of the payload\n if (payloadSize < leftOver) {\n seiPtr += payloadSize;\n } else if (payloadSize > leftOver) {\n // Some type of corruption has happened?\n logger.error(\"Malformed SEI payload. \" + payloadSize + \" is too small, only \" + leftOver + \" bytes left to parse.\");\n // We might be able to parse some data, but let's be safe and ignore it.\n break;\n }\n if (payloadType === 4) {\n var countryCode = data[payPtr++];\n if (countryCode === 181) {\n var providerCode = readUint16(data, payPtr);\n payPtr += 2;\n if (providerCode === 49) {\n var userStructure = readUint32(data, payPtr);\n payPtr += 4;\n if (userStructure === 0x47413934) {\n var userDataType = data[payPtr++];\n\n // Raw CEA-608 bytes wrapped in CEA-708 packet\n if (userDataType === 3) {\n var firstByte = data[payPtr++];\n var totalCCs = 0x1f & firstByte;\n var enabled = 0x40 & firstByte;\n var totalBytes = enabled ? 2 + totalCCs * 3 : 0;\n var byteArray = new Uint8Array(totalBytes);\n if (enabled) {\n byteArray[0] = firstByte;\n for (var i = 1; i < totalBytes; i++) {\n byteArray[i] = data[payPtr++];\n }\n }\n samples.push({\n type: userDataType,\n payloadType: payloadType,\n pts: pts,\n bytes: byteArray\n });\n }\n }\n }\n }\n } else if (payloadType === 5) {\n if (payloadSize > 16) {\n var uuidStrArray = [];\n for (var _i3 = 0; _i3 < 16; _i3++) {\n var _b = data[payPtr++].toString(16);\n uuidStrArray.push(_b.length == 1 ? '0' + _b : _b);\n if (_i3 === 3 || _i3 === 5 || _i3 === 7 || _i3 === 9) {\n uuidStrArray.push('-');\n }\n }\n var length = payloadSize - 16;\n var userDataBytes = new Uint8Array(length);\n for (var _i4 = 0; _i4 < length; _i4++) {\n userDataBytes[_i4] = data[payPtr++];\n }\n samples.push({\n payloadType: payloadType,\n pts: pts,\n uuid: uuidStrArray.join(''),\n userData: utf8ArrayToStr(userDataBytes),\n userDataBytes: userDataBytes\n });\n }\n }\n }\n }\n\n /**\n * remove Emulation Prevention bytes from a RBSP\n */\n function discardEPB(data) {\n var length = data.byteLength;\n var EPBPositions = [];\n var i = 1;\n\n // Find all `Emulation Prevention Bytes`\n while (i < length - 2) {\n if (data[i] === 0 && data[i + 1] === 0 && data[i + 2] === 0x03) {\n EPBPositions.push(i + 2);\n i += 2;\n } else {\n i++;\n }\n }\n\n // If no Emulation Prevention Bytes were found just return the original\n // array\n if (EPBPositions.length === 0) {\n return data;\n }\n\n // Create a new array to hold the NAL unit data\n var newLength = length - EPBPositions.length;\n var newData = new Uint8Array(newLength);\n var sourceIndex = 0;\n for (i = 0; i < newLength; sourceIndex++, i++) {\n if (sourceIndex === EPBPositions[0]) {\n // Skip this byte\n sourceIndex++;\n // Remove this position index\n EPBPositions.shift();\n }\n newData[i] = data[sourceIndex];\n }\n return newData;\n }\n function parseEmsg(data) {\n var version = data[0];\n var schemeIdUri = '';\n var value = '';\n var timeScale = 0;\n var presentationTimeDelta = 0;\n var presentationTime = 0;\n var eventDuration = 0;\n var id = 0;\n var offset = 0;\n if (version === 0) {\n while (bin2str(data.subarray(offset, offset + 1)) !== '\\0') {\n schemeIdUri += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n schemeIdUri += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n while (bin2str(data.subarray(offset, offset + 1)) !== '\\0') {\n value += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n value += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n timeScale = readUint32(data, 12);\n presentationTimeDelta = readUint32(data, 16);\n eventDuration = readUint32(data, 20);\n id = readUint32(data, 24);\n offset = 28;\n } else if (version === 1) {\n offset += 4;\n timeScale = readUint32(data, offset);\n offset += 4;\n var leftPresentationTime = readUint32(data, offset);\n offset += 4;\n var rightPresentationTime = readUint32(data, offset);\n offset += 4;\n presentationTime = Math.pow(2, 32) * leftPresentationTime + rightPresentationTime;\n if (!isSafeInteger(presentationTime)) {\n presentationTime = Number.MAX_SAFE_INTEGER;\n logger.warn('Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box');\n }\n eventDuration = readUint32(data, offset);\n offset += 4;\n id = readUint32(data, offset);\n offset += 4;\n while (bin2str(data.subarray(offset, offset + 1)) !== '\\0') {\n schemeIdUri += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n schemeIdUri += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n while (bin2str(data.subarray(offset, offset + 1)) !== '\\0') {\n value += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n value += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n var payload = data.subarray(offset, data.byteLength);\n return {\n schemeIdUri: schemeIdUri,\n value: value,\n timeScale: timeScale,\n presentationTime: presentationTime,\n presentationTimeDelta: presentationTimeDelta,\n eventDuration: eventDuration,\n id: id,\n payload: payload\n };\n }\n function mp4Box(type) {\n for (var _len = arguments.length, payload = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n payload[_key - 1] = arguments[_key];\n }\n var len = payload.length;\n var size = 8;\n var i = len;\n while (i--) {\n size += payload[i].byteLength;\n }\n var result = new Uint8Array(size);\n result[0] = size >> 24 & 0xff;\n result[1] = size >> 16 & 0xff;\n result[2] = size >> 8 & 0xff;\n result[3] = size & 0xff;\n result.set(type, 4);\n for (i = 0, size = 8; i < len; i++) {\n result.set(payload[i], size);\n size += payload[i].byteLength;\n }\n return result;\n }\n function mp4pssh(systemId, keyids, data) {\n if (systemId.byteLength !== 16) {\n throw new RangeError('Invalid system id');\n }\n var version;\n var kids;\n if (keyids) {\n version = 1;\n kids = new Uint8Array(keyids.length * 16);\n for (var ix = 0; ix < keyids.length; ix++) {\n var k = keyids[ix]; // uint8array\n if (k.byteLength !== 16) {\n throw new RangeError('Invalid key');\n }\n kids.set(k, ix * 16);\n }\n } else {\n version = 0;\n kids = new Uint8Array();\n }\n var kidCount;\n if (version > 0) {\n kidCount = new Uint8Array(4);\n if (keyids.length > 0) {\n new DataView(kidCount.buffer).setUint32(0, keyids.length, false);\n }\n } else {\n kidCount = new Uint8Array();\n }\n var dataSize = new Uint8Array(4);\n if (data && data.byteLength > 0) {\n new DataView(dataSize.buffer).setUint32(0, data.byteLength, false);\n }\n return mp4Box([112, 115, 115, 104], new Uint8Array([version, 0x00, 0x00, 0x00 // Flags\n ]), systemId,\n // 16 bytes\n kidCount, kids, dataSize, data || new Uint8Array());\n }\n function parsePssh(initData) {\n if (!(initData instanceof ArrayBuffer) || initData.byteLength < 32) {\n return null;\n }\n var result = {\n version: 0,\n systemId: '',\n kids: null,\n data: null\n };\n var view = new DataView(initData);\n var boxSize = view.getUint32(0);\n if (initData.byteLength !== boxSize && boxSize > 44) {\n return null;\n }\n var type = view.getUint32(4);\n if (type !== 0x70737368) {\n return null;\n }\n result.version = view.getUint32(8) >>> 24;\n if (result.version > 1) {\n return null;\n }\n result.systemId = Hex.hexDump(new Uint8Array(initData, 12, 16));\n var dataSizeOrKidCount = view.getUint32(28);\n if (result.version === 0) {\n if (boxSize - 32 < dataSizeOrKidCount) {\n return null;\n }\n result.data = new Uint8Array(initData, 32, dataSizeOrKidCount);\n } else if (result.version === 1) {\n result.kids = [];\n for (var i = 0; i < dataSizeOrKidCount; i++) {\n result.kids.push(new Uint8Array(initData, 32 + i * 16, 16));\n }\n }\n return result;\n }\n\n var keyUriToKeyIdMap = {};\n var LevelKey = /*#__PURE__*/function () {\n LevelKey.clearKeyUriToKeyIdMap = function clearKeyUriToKeyIdMap() {\n keyUriToKeyIdMap = {};\n };\n function LevelKey(method, uri, format, formatversions, iv) {\n if (formatversions === void 0) {\n formatversions = [1];\n }\n if (iv === void 0) {\n iv = null;\n }\n this.uri = void 0;\n this.method = void 0;\n this.keyFormat = void 0;\n this.keyFormatVersions = void 0;\n this.encrypted = void 0;\n this.isCommonEncryption = void 0;\n this.iv = null;\n this.key = null;\n this.keyId = null;\n this.pssh = null;\n this.method = method;\n this.uri = uri;\n this.keyFormat = format;\n this.keyFormatVersions = formatversions;\n this.iv = iv;\n this.encrypted = method ? method !== 'NONE' : false;\n this.isCommonEncryption = this.encrypted && method !== 'AES-128';\n }\n var _proto = LevelKey.prototype;\n _proto.isSupported = function isSupported() {\n // If it's Segment encryption or No encryption, just select that key system\n if (this.method) {\n if (this.method === 'AES-128' || this.method === 'NONE') {\n return true;\n }\n if (this.keyFormat === 'identity') {\n // Maintain support for clear SAMPLE-AES with MPEG-3 TS\n return this.method === 'SAMPLE-AES';\n } else {\n switch (this.keyFormat) {\n case KeySystemFormats.FAIRPLAY:\n case KeySystemFormats.WIDEVINE:\n case KeySystemFormats.PLAYREADY:\n case KeySystemFormats.CLEARKEY:\n return ['ISO-23001-7', 'SAMPLE-AES', 'SAMPLE-AES-CENC', 'SAMPLE-AES-CTR'].indexOf(this.method) !== -1;\n }\n }\n }\n return false;\n };\n _proto.getDecryptData = function getDecryptData(sn) {\n if (!this.encrypted || !this.uri) {\n return null;\n }\n if (this.method === 'AES-128' && this.uri && !this.iv) {\n if (typeof sn !== 'number') {\n // We are fetching decryption data for a initialization segment\n // If the segment was encrypted with AES-128\n // It must have an IV defined. We cannot substitute the Segment Number in.\n if (this.method === 'AES-128' && !this.iv) {\n logger.warn(\"missing IV for initialization segment with method=\\\"\" + this.method + \"\\\" - compliance issue\");\n }\n // Explicitly set sn to resulting value from implicit conversions 'initSegment' values for IV generation.\n sn = 0;\n }\n var iv = createInitializationVector(sn);\n var decryptdata = new LevelKey(this.method, this.uri, 'identity', this.keyFormatVersions, iv);\n return decryptdata;\n }\n\n // Initialize keyId if possible\n var keyBytes = convertDataUriToArrayBytes(this.uri);\n if (keyBytes) {\n switch (this.keyFormat) {\n case KeySystemFormats.WIDEVINE:\n this.pssh = keyBytes;\n // In case of widevine keyID is embedded in PSSH box. Read Key ID.\n if (keyBytes.length >= 22) {\n this.keyId = keyBytes.subarray(keyBytes.length - 22, keyBytes.length - 6);\n }\n break;\n case KeySystemFormats.PLAYREADY:\n {\n var PlayReadyKeySystemUUID = new Uint8Array([0x9a, 0x04, 0xf0, 0x79, 0x98, 0x40, 0x42, 0x86, 0xab, 0x92, 0xe6, 0x5b, 0xe0, 0x88, 0x5f, 0x95]);\n this.pssh = mp4pssh(PlayReadyKeySystemUUID, null, keyBytes);\n var keyBytesUtf16 = new Uint16Array(keyBytes.buffer, keyBytes.byteOffset, keyBytes.byteLength / 2);\n var keyByteStr = String.fromCharCode.apply(null, Array.from(keyBytesUtf16));\n\n // Parse Playready WRMHeader XML\n var xmlKeyBytes = keyByteStr.substring(keyByteStr.indexOf('<'), keyByteStr.length);\n var parser = new DOMParser();\n var xmlDoc = parser.parseFromString(xmlKeyBytes, 'text/xml');\n var keyData = xmlDoc.getElementsByTagName('KID')[0];\n if (keyData) {\n var keyId = keyData.childNodes[0] ? keyData.childNodes[0].nodeValue : keyData.getAttribute('VALUE');\n if (keyId) {\n var keyIdArray = base64Decode(keyId).subarray(0, 16);\n // KID value in PRO is a base64-encoded little endian GUID interpretation of UUID\n // KID value in ‘tenc’ is a big endian UUID GUID interpretation of UUID\n changeEndianness(keyIdArray);\n this.keyId = keyIdArray;\n }\n }\n break;\n }\n default:\n {\n var keydata = keyBytes.subarray(0, 16);\n if (keydata.length !== 16) {\n var padded = new Uint8Array(16);\n padded.set(keydata, 16 - keydata.length);\n keydata = padded;\n }\n this.keyId = keydata;\n break;\n }\n }\n }\n\n // Default behavior: assign a new keyId for each uri\n if (!this.keyId || this.keyId.byteLength !== 16) {\n var _keyId = keyUriToKeyIdMap[this.uri];\n if (!_keyId) {\n var val = Object.keys(keyUriToKeyIdMap).length % Number.MAX_SAFE_INTEGER;\n _keyId = new Uint8Array(16);\n var dv = new DataView(_keyId.buffer, 12, 4); // Just set the last 4 bytes\n dv.setUint32(0, val);\n keyUriToKeyIdMap[this.uri] = _keyId;\n }\n this.keyId = _keyId;\n }\n return this;\n };\n return LevelKey;\n }();\n function createInitializationVector(segmentNumber) {\n var uint8View = new Uint8Array(16);\n for (var i = 12; i < 16; i++) {\n uint8View[i] = segmentNumber >> 8 * (15 - i) & 0xff;\n }\n return uint8View;\n }\n\n var VARIABLE_REPLACEMENT_REGEX = /\\{\\$([a-zA-Z0-9-_]+)\\}/g;\n function hasVariableReferences(str) {\n return VARIABLE_REPLACEMENT_REGEX.test(str);\n }\n function substituteVariablesInAttributes(parsed, attr, attributeNames) {\n if (parsed.variableList !== null || parsed.hasVariableRefs) {\n for (var i = attributeNames.length; i--;) {\n var name = attributeNames[i];\n var value = attr[name];\n if (value) {\n attr[name] = substituteVariables(parsed, value);\n }\n }\n }\n }\n function substituteVariables(parsed, value) {\n if (parsed.variableList !== null || parsed.hasVariableRefs) {\n var variableList = parsed.variableList;\n return value.replace(VARIABLE_REPLACEMENT_REGEX, function (variableReference) {\n var variableName = variableReference.substring(2, variableReference.length - 1);\n var variableValue = variableList == null ? void 0 : variableList[variableName];\n if (variableValue === undefined) {\n parsed.playlistParsingError || (parsed.playlistParsingError = new Error(\"Missing preceding EXT-X-DEFINE tag for Variable Reference: \\\"\" + variableName + \"\\\"\"));\n return variableReference;\n }\n return variableValue;\n });\n }\n return value;\n }\n function addVariableDefinition(parsed, attr, parentUrl) {\n var variableList = parsed.variableList;\n if (!variableList) {\n parsed.variableList = variableList = {};\n }\n var NAME;\n var VALUE;\n if ('QUERYPARAM' in attr) {\n NAME = attr.QUERYPARAM;\n try {\n var searchParams = new self.URL(parentUrl).searchParams;\n if (searchParams.has(NAME)) {\n VALUE = searchParams.get(NAME);\n } else {\n throw new Error(\"\\\"\" + NAME + \"\\\" does not match any query parameter in URI: \\\"\" + parentUrl + \"\\\"\");\n }\n } catch (error) {\n parsed.playlistParsingError || (parsed.playlistParsingError = new Error(\"EXT-X-DEFINE QUERYPARAM: \" + error.message));\n }\n } else {\n NAME = attr.NAME;\n VALUE = attr.VALUE;\n }\n if (NAME in variableList) {\n parsed.playlistParsingError || (parsed.playlistParsingError = new Error(\"EXT-X-DEFINE duplicate Variable Name declarations: \\\"\" + NAME + \"\\\"\"));\n } else {\n variableList[NAME] = VALUE || '';\n }\n }\n function importVariableDefinition(parsed, attr, sourceVariableList) {\n var IMPORT = attr.IMPORT;\n if (sourceVariableList && IMPORT in sourceVariableList) {\n var variableList = parsed.variableList;\n if (!variableList) {\n parsed.variableList = variableList = {};\n }\n variableList[IMPORT] = sourceVariableList[IMPORT];\n } else {\n parsed.playlistParsingError || (parsed.playlistParsingError = new Error(\"EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: \\\"\" + IMPORT + \"\\\"\"));\n }\n }\n\n /**\n * MediaSource helper\n */\n\n function getMediaSource(preferManagedMediaSource) {\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n if (typeof self === 'undefined') return undefined;\n var mms = (preferManagedMediaSource || !self.MediaSource) && self.ManagedMediaSource;\n return mms || self.MediaSource || self.WebKitMediaSource;\n }\n\n // from http://mp4ra.org/codecs.html\n // values indicate codec selection preference (lower is higher priority)\n var sampleEntryCodesISO = {\n audio: {\n a3ds: 1,\n 'ac-3': 0.95,\n 'ac-4': 1,\n alac: 0.9,\n alaw: 1,\n dra1: 1,\n 'dts+': 1,\n 'dts-': 1,\n dtsc: 1,\n dtse: 1,\n dtsh: 1,\n 'ec-3': 0.9,\n enca: 1,\n fLaC: 0.9,\n // MP4-RA listed codec entry for FLAC\n flac: 0.9,\n // legacy browser codec name for FLAC\n FLAC: 0.9,\n // some manifests may list \"FLAC\" with Apple's tools\n g719: 1,\n g726: 1,\n m4ae: 1,\n mha1: 1,\n mha2: 1,\n mhm1: 1,\n mhm2: 1,\n mlpa: 1,\n mp4a: 1,\n 'raw ': 1,\n Opus: 1,\n opus: 1,\n // browsers expect this to be lowercase despite MP4RA says 'Opus'\n samr: 1,\n sawb: 1,\n sawp: 1,\n sevc: 1,\n sqcp: 1,\n ssmv: 1,\n twos: 1,\n ulaw: 1\n },\n video: {\n avc1: 1,\n avc2: 1,\n avc3: 1,\n avc4: 1,\n avcp: 1,\n av01: 0.8,\n drac: 1,\n dva1: 1,\n dvav: 1,\n dvh1: 0.7,\n dvhe: 0.7,\n encv: 1,\n hev1: 0.75,\n hvc1: 0.75,\n mjp2: 1,\n mp4v: 1,\n mvc1: 1,\n mvc2: 1,\n mvc3: 1,\n mvc4: 1,\n resv: 1,\n rv60: 1,\n s263: 1,\n svc1: 1,\n svc2: 1,\n 'vc-1': 1,\n vp08: 1,\n vp09: 0.9\n },\n text: {\n stpp: 1,\n wvtt: 1\n }\n };\n function isCodecType(codec, type) {\n var typeCodes = sampleEntryCodesISO[type];\n return !!typeCodes && !!typeCodes[codec.slice(0, 4)];\n }\n function areCodecsMediaSourceSupported(codecs, type, preferManagedMediaSource) {\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n return !codecs.split(',').some(function (codec) {\n return !isCodecMediaSourceSupported(codec, type, preferManagedMediaSource);\n });\n }\n function isCodecMediaSourceSupported(codec, type, preferManagedMediaSource) {\n var _MediaSource$isTypeSu;\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n var MediaSource = getMediaSource(preferManagedMediaSource);\n return (_MediaSource$isTypeSu = MediaSource == null ? void 0 : MediaSource.isTypeSupported(mimeTypeForCodec(codec, type))) != null ? _MediaSource$isTypeSu : false;\n }\n function mimeTypeForCodec(codec, type) {\n return type + \"/mp4;codecs=\\\"\" + codec + \"\\\"\";\n }\n function videoCodecPreferenceValue(videoCodec) {\n if (videoCodec) {\n var fourCC = videoCodec.substring(0, 4);\n return sampleEntryCodesISO.video[fourCC];\n }\n return 2;\n }\n function codecsSetSelectionPreferenceValue(codecSet) {\n return codecSet.split(',').reduce(function (num, fourCC) {\n var preferenceValue = sampleEntryCodesISO.video[fourCC];\n if (preferenceValue) {\n return (preferenceValue * 2 + num) / (num ? 3 : 2);\n }\n return (sampleEntryCodesISO.audio[fourCC] + num) / (num ? 2 : 1);\n }, 0);\n }\n var CODEC_COMPATIBLE_NAMES = {};\n function getCodecCompatibleNameLower(lowerCaseCodec, preferManagedMediaSource) {\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n if (CODEC_COMPATIBLE_NAMES[lowerCaseCodec]) {\n return CODEC_COMPATIBLE_NAMES[lowerCaseCodec];\n }\n\n // Idealy fLaC and Opus would be first (spec-compliant) but\n // some browsers will report that fLaC is supported then fail.\n // see: https://bugs.chromium.org/p/chromium/issues/detail?id=1422728\n var codecsToCheck = {\n flac: ['flac', 'fLaC', 'FLAC'],\n opus: ['opus', 'Opus']\n }[lowerCaseCodec];\n for (var i = 0; i < codecsToCheck.length; i++) {\n if (isCodecMediaSourceSupported(codecsToCheck[i], 'audio', preferManagedMediaSource)) {\n CODEC_COMPATIBLE_NAMES[lowerCaseCodec] = codecsToCheck[i];\n return codecsToCheck[i];\n }\n }\n return lowerCaseCodec;\n }\n var AUDIO_CODEC_REGEXP = /flac|opus/i;\n function getCodecCompatibleName(codec, preferManagedMediaSource) {\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n return codec.replace(AUDIO_CODEC_REGEXP, function (m) {\n return getCodecCompatibleNameLower(m.toLowerCase(), preferManagedMediaSource);\n });\n }\n function pickMostCompleteCodecName(parsedCodec, levelCodec) {\n // Parsing of mp4a codecs strings in mp4-tools from media is incomplete as of d8c6c7a\n // so use level codec is parsed codec is unavailable or incomplete\n if (parsedCodec && parsedCodec !== 'mp4a') {\n return parsedCodec;\n }\n return levelCodec;\n }\n function convertAVC1ToAVCOTI(codec) {\n // Convert avc1 codec string from RFC-4281 to RFC-6381 for MediaSource.isTypeSupported\n var avcdata = codec.split('.');\n if (avcdata.length > 2) {\n var result = avcdata.shift() + '.';\n result += parseInt(avcdata.shift()).toString(16);\n result += ('000' + parseInt(avcdata.shift()).toString(16)).slice(-4);\n return result;\n }\n return codec;\n }\n\n var MASTER_PLAYLIST_REGEX = /#EXT-X-STREAM-INF:([^\\r\\n]*)(?:[\\r\\n](?:#[^\\r\\n]*)?)*([^\\r\\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\\r\\n]*)[\\r\\n]+/g;\n var MASTER_PLAYLIST_MEDIA_REGEX = /#EXT-X-MEDIA:(.*)/g;\n var IS_MEDIA_PLAYLIST = /^#EXT(?:INF|-X-TARGETDURATION):/m; // Handle empty Media Playlist (first EXTINF not signaled, but TARGETDURATION present)\n\n var LEVEL_PLAYLIST_REGEX_FAST = new RegExp([/#EXTINF:\\s*(\\d*(?:\\.\\d+)?)(?:,(.*)\\s+)?/.source,\n // duration (#EXTINF:,), group 1 => duration, group 2 => title\n /(?!#) *(\\S[\\S ]*)/.source,\n // segment URI, group 3 => the URI (note newline is not eaten)\n /#EXT-X-BYTERANGE:*(.+)/.source,\n // next segment's byterange, group 4 => range spec (x@y)\n /#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,\n // next segment's program date/time group 5 => the datetime spec\n /#.*/.source // All other non-segment oriented tags will match with all groups empty\n ].join('|'), 'g');\n var LEVEL_PLAYLIST_REGEX_SLOW = new RegExp([/#(EXTM3U)/.source, /#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source, /#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\\d+)/.source, /#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source, /(#)([^:]*):(.*)/.source, /(#)(.*)(?:.*)\\r?\\n?/.source].join('|'));\n var M3U8Parser = /*#__PURE__*/function () {\n function M3U8Parser() {}\n M3U8Parser.findGroup = function findGroup(groups, mediaGroupId) {\n for (var i = 0; i < groups.length; i++) {\n var group = groups[i];\n if (group.id === mediaGroupId) {\n return group;\n }\n }\n };\n M3U8Parser.resolve = function resolve(url, baseUrl) {\n return urlToolkitExports.buildAbsoluteURL(baseUrl, url, {\n alwaysNormalize: true\n });\n };\n M3U8Parser.isMediaPlaylist = function isMediaPlaylist(str) {\n return IS_MEDIA_PLAYLIST.test(str);\n };\n M3U8Parser.parseMasterPlaylist = function parseMasterPlaylist(string, baseurl) {\n var hasVariableRefs = hasVariableReferences(string) ;\n var parsed = {\n contentSteering: null,\n levels: [],\n playlistParsingError: null,\n sessionData: null,\n sessionKeys: null,\n startTimeOffset: null,\n variableList: null,\n hasVariableRefs: hasVariableRefs\n };\n var levelsWithKnownCodecs = [];\n MASTER_PLAYLIST_REGEX.lastIndex = 0;\n var result;\n while ((result = MASTER_PLAYLIST_REGEX.exec(string)) != null) {\n if (result[1]) {\n var _level$unknownCodecs;\n // '#EXT-X-STREAM-INF' is found, parse level tag in group 1\n var attrs = new AttrList(result[1]);\n {\n substituteVariablesInAttributes(parsed, attrs, ['CODECS', 'SUPPLEMENTAL-CODECS', 'ALLOWED-CPC', 'PATHWAY-ID', 'STABLE-VARIANT-ID', 'AUDIO', 'VIDEO', 'SUBTITLES', 'CLOSED-CAPTIONS', 'NAME']);\n }\n var uri = substituteVariables(parsed, result[2]) ;\n var level = {\n attrs: attrs,\n bitrate: attrs.decimalInteger('BANDWIDTH') || attrs.decimalInteger('AVERAGE-BANDWIDTH'),\n name: attrs.NAME,\n url: M3U8Parser.resolve(uri, baseurl)\n };\n var resolution = attrs.decimalResolution('RESOLUTION');\n if (resolution) {\n level.width = resolution.width;\n level.height = resolution.height;\n }\n setCodecs(attrs.CODECS, level);\n if (!((_level$unknownCodecs = level.unknownCodecs) != null && _level$unknownCodecs.length)) {\n levelsWithKnownCodecs.push(level);\n }\n parsed.levels.push(level);\n } else if (result[3]) {\n var tag = result[3];\n var attributes = result[4];\n switch (tag) {\n case 'SESSION-DATA':\n {\n // #EXT-X-SESSION-DATA\n var sessionAttrs = new AttrList(attributes);\n {\n substituteVariablesInAttributes(parsed, sessionAttrs, ['DATA-ID', 'LANGUAGE', 'VALUE', 'URI']);\n }\n var dataId = sessionAttrs['DATA-ID'];\n if (dataId) {\n if (parsed.sessionData === null) {\n parsed.sessionData = {};\n }\n parsed.sessionData[dataId] = sessionAttrs;\n }\n break;\n }\n case 'SESSION-KEY':\n {\n // #EXT-X-SESSION-KEY\n var sessionKey = parseKey(attributes, baseurl, parsed);\n if (sessionKey.encrypted && sessionKey.isSupported()) {\n if (parsed.sessionKeys === null) {\n parsed.sessionKeys = [];\n }\n parsed.sessionKeys.push(sessionKey);\n } else {\n logger.warn(\"[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: \\\"\" + attributes + \"\\\"\");\n }\n break;\n }\n case 'DEFINE':\n {\n // #EXT-X-DEFINE\n {\n var variableAttributes = new AttrList(attributes);\n substituteVariablesInAttributes(parsed, variableAttributes, ['NAME', 'VALUE', 'QUERYPARAM']);\n addVariableDefinition(parsed, variableAttributes, baseurl);\n }\n break;\n }\n case 'CONTENT-STEERING':\n {\n // #EXT-X-CONTENT-STEERING\n var contentSteeringAttributes = new AttrList(attributes);\n {\n substituteVariablesInAttributes(parsed, contentSteeringAttributes, ['SERVER-URI', 'PATHWAY-ID']);\n }\n parsed.contentSteering = {\n uri: M3U8Parser.resolve(contentSteeringAttributes['SERVER-URI'], baseurl),\n pathwayId: contentSteeringAttributes['PATHWAY-ID'] || '.'\n };\n break;\n }\n case 'START':\n {\n // #EXT-X-START\n parsed.startTimeOffset = parseStartTimeOffset(attributes);\n break;\n }\n }\n }\n }\n // Filter out levels with unknown codecs if it does not remove all levels\n var stripUnknownCodecLevels = levelsWithKnownCodecs.length > 0 && levelsWithKnownCodecs.length < parsed.levels.length;\n parsed.levels = stripUnknownCodecLevels ? levelsWithKnownCodecs : parsed.levels;\n if (parsed.levels.length === 0) {\n parsed.playlistParsingError = new Error('no levels found in manifest');\n }\n return parsed;\n };\n M3U8Parser.parseMasterPlaylistMedia = function parseMasterPlaylistMedia(string, baseurl, parsed) {\n var result;\n var results = {};\n var levels = parsed.levels;\n var groupsByType = {\n AUDIO: levels.map(function (level) {\n return {\n id: level.attrs.AUDIO,\n audioCodec: level.audioCodec\n };\n }),\n SUBTITLES: levels.map(function (level) {\n return {\n id: level.attrs.SUBTITLES,\n textCodec: level.textCodec\n };\n }),\n 'CLOSED-CAPTIONS': []\n };\n var id = 0;\n MASTER_PLAYLIST_MEDIA_REGEX.lastIndex = 0;\n while ((result = MASTER_PLAYLIST_MEDIA_REGEX.exec(string)) !== null) {\n var attrs = new AttrList(result[1]);\n var type = attrs.TYPE;\n if (type) {\n var groups = groupsByType[type];\n var medias = results[type] || [];\n results[type] = medias;\n {\n substituteVariablesInAttributes(parsed, attrs, ['URI', 'GROUP-ID', 'LANGUAGE', 'ASSOC-LANGUAGE', 'STABLE-RENDITION-ID', 'NAME', 'INSTREAM-ID', 'CHARACTERISTICS', 'CHANNELS']);\n }\n var lang = attrs.LANGUAGE;\n var assocLang = attrs['ASSOC-LANGUAGE'];\n var channels = attrs.CHANNELS;\n var characteristics = attrs.CHARACTERISTICS;\n var instreamId = attrs['INSTREAM-ID'];\n var media = {\n attrs: attrs,\n bitrate: 0,\n id: id++,\n groupId: attrs['GROUP-ID'] || '',\n name: attrs.NAME || lang || '',\n type: type,\n default: attrs.bool('DEFAULT'),\n autoselect: attrs.bool('AUTOSELECT'),\n forced: attrs.bool('FORCED'),\n lang: lang,\n url: attrs.URI ? M3U8Parser.resolve(attrs.URI, baseurl) : ''\n };\n if (assocLang) {\n media.assocLang = assocLang;\n }\n if (channels) {\n media.channels = channels;\n }\n if (characteristics) {\n media.characteristics = characteristics;\n }\n if (instreamId) {\n media.instreamId = instreamId;\n }\n if (groups != null && groups.length) {\n // If there are audio or text groups signalled in the manifest, let's look for a matching codec string for this track\n // If we don't find the track signalled, lets use the first audio groups codec we have\n // Acting as a best guess\n var groupCodec = M3U8Parser.findGroup(groups, media.groupId) || groups[0];\n assignCodec(media, groupCodec, 'audioCodec');\n assignCodec(media, groupCodec, 'textCodec');\n }\n medias.push(media);\n }\n }\n return results;\n };\n M3U8Parser.parseLevelPlaylist = function parseLevelPlaylist(string, baseurl, id, type, levelUrlId, multivariantVariableList) {\n var level = new LevelDetails(baseurl);\n var fragments = level.fragments;\n // The most recent init segment seen (applies to all subsequent segments)\n var currentInitSegment = null;\n var currentSN = 0;\n var currentPart = 0;\n var totalduration = 0;\n var discontinuityCounter = 0;\n var prevFrag = null;\n var frag = new Fragment(type, baseurl);\n var result;\n var i;\n var levelkeys;\n var firstPdtIndex = -1;\n var createNextFrag = false;\n var nextByteRange = null;\n LEVEL_PLAYLIST_REGEX_FAST.lastIndex = 0;\n level.m3u8 = string;\n level.hasVariableRefs = hasVariableReferences(string) ;\n while ((result = LEVEL_PLAYLIST_REGEX_FAST.exec(string)) !== null) {\n if (createNextFrag) {\n createNextFrag = false;\n frag = new Fragment(type, baseurl);\n // setup the next fragment for part loading\n frag.start = totalduration;\n frag.sn = currentSN;\n frag.cc = discontinuityCounter;\n frag.level = id;\n if (currentInitSegment) {\n frag.initSegment = currentInitSegment;\n frag.rawProgramDateTime = currentInitSegment.rawProgramDateTime;\n currentInitSegment.rawProgramDateTime = null;\n if (nextByteRange) {\n frag.setByteRange(nextByteRange);\n nextByteRange = null;\n }\n }\n }\n var duration = result[1];\n if (duration) {\n // INF\n frag.duration = parseFloat(duration);\n // avoid sliced strings https://github.com/video-dev/hls.js/issues/939\n var title = (' ' + result[2]).slice(1);\n frag.title = title || null;\n frag.tagList.push(title ? ['INF', duration, title] : ['INF', duration]);\n } else if (result[3]) {\n // url\n if (isFiniteNumber(frag.duration)) {\n frag.start = totalduration;\n if (levelkeys) {\n setFragLevelKeys(frag, levelkeys, level);\n }\n frag.sn = currentSN;\n frag.level = id;\n frag.cc = discontinuityCounter;\n fragments.push(frag);\n // avoid sliced strings https://github.com/video-dev/hls.js/issues/939\n var uri = (' ' + result[3]).slice(1);\n frag.relurl = substituteVariables(level, uri) ;\n assignProgramDateTime(frag, prevFrag);\n prevFrag = frag;\n totalduration += frag.duration;\n currentSN++;\n currentPart = 0;\n createNextFrag = true;\n }\n } else if (result[4]) {\n // X-BYTERANGE\n var data = (' ' + result[4]).slice(1);\n if (prevFrag) {\n frag.setByteRange(data, prevFrag);\n } else {\n frag.setByteRange(data);\n }\n } else if (result[5]) {\n // PROGRAM-DATE-TIME\n // avoid sliced strings https://github.com/video-dev/hls.js/issues/939\n frag.rawProgramDateTime = (' ' + result[5]).slice(1);\n frag.tagList.push(['PROGRAM-DATE-TIME', frag.rawProgramDateTime]);\n if (firstPdtIndex === -1) {\n firstPdtIndex = fragments.length;\n }\n } else {\n result = result[0].match(LEVEL_PLAYLIST_REGEX_SLOW);\n if (!result) {\n logger.warn('No matches on slow regex match for level playlist!');\n continue;\n }\n for (i = 1; i < result.length; i++) {\n if (typeof result[i] !== 'undefined') {\n break;\n }\n }\n\n // avoid sliced strings https://github.com/video-dev/hls.js/issues/939\n var tag = (' ' + result[i]).slice(1);\n var value1 = (' ' + result[i + 1]).slice(1);\n var value2 = result[i + 2] ? (' ' + result[i + 2]).slice(1) : '';\n switch (tag) {\n case 'PLAYLIST-TYPE':\n level.type = value1.toUpperCase();\n break;\n case 'MEDIA-SEQUENCE':\n currentSN = level.startSN = parseInt(value1);\n break;\n case 'SKIP':\n {\n var skipAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, skipAttrs, ['RECENTLY-REMOVED-DATERANGES']);\n }\n var skippedSegments = skipAttrs.decimalInteger('SKIPPED-SEGMENTS');\n if (isFiniteNumber(skippedSegments)) {\n level.skippedSegments = skippedSegments;\n // This will result in fragments[] containing undefined values, which we will fill in with `mergeDetails`\n for (var _i = skippedSegments; _i--;) {\n fragments.unshift(null);\n }\n currentSN += skippedSegments;\n }\n var recentlyRemovedDateranges = skipAttrs.enumeratedString('RECENTLY-REMOVED-DATERANGES');\n if (recentlyRemovedDateranges) {\n level.recentlyRemovedDateranges = recentlyRemovedDateranges.split('\\t');\n }\n break;\n }\n case 'TARGETDURATION':\n level.targetduration = Math.max(parseInt(value1), 1);\n break;\n case 'VERSION':\n level.version = parseInt(value1);\n break;\n case 'INDEPENDENT-SEGMENTS':\n case 'EXTM3U':\n break;\n case 'ENDLIST':\n level.live = false;\n break;\n case '#':\n if (value1 || value2) {\n frag.tagList.push(value2 ? [value1, value2] : [value1]);\n }\n break;\n case 'DISCONTINUITY':\n discontinuityCounter++;\n frag.tagList.push(['DIS']);\n break;\n case 'GAP':\n frag.gap = true;\n frag.tagList.push([tag]);\n break;\n case 'BITRATE':\n frag.tagList.push([tag, value1]);\n break;\n case 'DATERANGE':\n {\n var dateRangeAttr = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, dateRangeAttr, ['ID', 'CLASS', 'START-DATE', 'END-DATE', 'SCTE35-CMD', 'SCTE35-OUT', 'SCTE35-IN']);\n substituteVariablesInAttributes(level, dateRangeAttr, dateRangeAttr.clientAttrs);\n }\n var dateRange = new DateRange(dateRangeAttr, level.dateRanges[dateRangeAttr.ID]);\n if (dateRange.isValid || level.skippedSegments) {\n level.dateRanges[dateRange.id] = dateRange;\n } else {\n logger.warn(\"Ignoring invalid DATERANGE tag: \\\"\" + value1 + \"\\\"\");\n }\n // Add to fragment tag list for backwards compatibility (< v1.2.0)\n frag.tagList.push(['EXT-X-DATERANGE', value1]);\n break;\n }\n case 'DEFINE':\n {\n {\n var variableAttributes = new AttrList(value1);\n substituteVariablesInAttributes(level, variableAttributes, ['NAME', 'VALUE', 'IMPORT', 'QUERYPARAM']);\n if ('IMPORT' in variableAttributes) {\n importVariableDefinition(level, variableAttributes, multivariantVariableList);\n } else {\n addVariableDefinition(level, variableAttributes, baseurl);\n }\n }\n break;\n }\n case 'DISCONTINUITY-SEQUENCE':\n discontinuityCounter = parseInt(value1);\n break;\n case 'KEY':\n {\n var levelKey = parseKey(value1, baseurl, level);\n if (levelKey.isSupported()) {\n if (levelKey.method === 'NONE') {\n levelkeys = undefined;\n break;\n }\n if (!levelkeys) {\n levelkeys = {};\n }\n if (levelkeys[levelKey.keyFormat]) {\n levelkeys = _extends({}, levelkeys);\n }\n levelkeys[levelKey.keyFormat] = levelKey;\n } else {\n logger.warn(\"[Keys] Ignoring invalid EXT-X-KEY tag: \\\"\" + value1 + \"\\\"\");\n }\n break;\n }\n case 'START':\n level.startTimeOffset = parseStartTimeOffset(value1);\n break;\n case 'MAP':\n {\n var mapAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, mapAttrs, ['BYTERANGE', 'URI']);\n }\n if (frag.duration) {\n // Initial segment tag is after segment duration tag.\n // #EXTINF: 6.0\n // #EXT-X-MAP:URI=\"init.mp4\n var init = new Fragment(type, baseurl);\n setInitSegment(init, mapAttrs, id, levelkeys);\n currentInitSegment = init;\n frag.initSegment = currentInitSegment;\n if (currentInitSegment.rawProgramDateTime && !frag.rawProgramDateTime) {\n frag.rawProgramDateTime = currentInitSegment.rawProgramDateTime;\n }\n } else {\n // Initial segment tag is before segment duration tag\n // Handle case where EXT-X-MAP is declared after EXT-X-BYTERANGE\n var end = frag.byteRangeEndOffset;\n if (end) {\n var start = frag.byteRangeStartOffset;\n nextByteRange = end - start + \"@\" + start;\n } else {\n nextByteRange = null;\n }\n setInitSegment(frag, mapAttrs, id, levelkeys);\n currentInitSegment = frag;\n createNextFrag = true;\n }\n break;\n }\n case 'SERVER-CONTROL':\n {\n var serverControlAttrs = new AttrList(value1);\n level.canBlockReload = serverControlAttrs.bool('CAN-BLOCK-RELOAD');\n level.canSkipUntil = serverControlAttrs.optionalFloat('CAN-SKIP-UNTIL', 0);\n level.canSkipDateRanges = level.canSkipUntil > 0 && serverControlAttrs.bool('CAN-SKIP-DATERANGES');\n level.partHoldBack = serverControlAttrs.optionalFloat('PART-HOLD-BACK', 0);\n level.holdBack = serverControlAttrs.optionalFloat('HOLD-BACK', 0);\n break;\n }\n case 'PART-INF':\n {\n var partInfAttrs = new AttrList(value1);\n level.partTarget = partInfAttrs.decimalFloatingPoint('PART-TARGET');\n break;\n }\n case 'PART':\n {\n var partList = level.partList;\n if (!partList) {\n partList = level.partList = [];\n }\n var previousFragmentPart = currentPart > 0 ? partList[partList.length - 1] : undefined;\n var index = currentPart++;\n var partAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, partAttrs, ['BYTERANGE', 'URI']);\n }\n var part = new Part(partAttrs, frag, baseurl, index, previousFragmentPart);\n partList.push(part);\n frag.duration += part.duration;\n break;\n }\n case 'PRELOAD-HINT':\n {\n var preloadHintAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, preloadHintAttrs, ['URI']);\n }\n level.preloadHint = preloadHintAttrs;\n break;\n }\n case 'RENDITION-REPORT':\n {\n var renditionReportAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, renditionReportAttrs, ['URI']);\n }\n level.renditionReports = level.renditionReports || [];\n level.renditionReports.push(renditionReportAttrs);\n break;\n }\n default:\n logger.warn(\"line parsed but not handled: \" + result);\n break;\n }\n }\n }\n if (prevFrag && !prevFrag.relurl) {\n fragments.pop();\n totalduration -= prevFrag.duration;\n if (level.partList) {\n level.fragmentHint = prevFrag;\n }\n } else if (level.partList) {\n assignProgramDateTime(frag, prevFrag);\n frag.cc = discontinuityCounter;\n level.fragmentHint = frag;\n if (levelkeys) {\n setFragLevelKeys(frag, levelkeys, level);\n }\n }\n var fragmentLength = fragments.length;\n var firstFragment = fragments[0];\n var lastFragment = fragments[fragmentLength - 1];\n totalduration += level.skippedSegments * level.targetduration;\n if (totalduration > 0 && fragmentLength && lastFragment) {\n level.averagetargetduration = totalduration / fragmentLength;\n var lastSn = lastFragment.sn;\n level.endSN = lastSn !== 'initSegment' ? lastSn : 0;\n if (!level.live) {\n lastFragment.endList = true;\n }\n if (firstFragment) {\n level.startCC = firstFragment.cc;\n }\n } else {\n level.endSN = 0;\n level.startCC = 0;\n }\n if (level.fragmentHint) {\n totalduration += level.fragmentHint.duration;\n }\n level.totalduration = totalduration;\n level.endCC = discontinuityCounter;\n\n /**\n * Backfill any missing PDT values\n * \"If the first EXT-X-PROGRAM-DATE-TIME tag in a Playlist appears after\n * one or more Media Segment URIs, the client SHOULD extrapolate\n * backward from that tag (using EXTINF durations and/or media\n * timestamps) to associate dates with those segments.\"\n * We have already extrapolated forward, but all fragments up to the first instance of PDT do not have their PDTs\n * computed.\n */\n if (firstPdtIndex > 0) {\n backfillProgramDateTimes(fragments, firstPdtIndex);\n }\n return level;\n };\n return M3U8Parser;\n }();\n function parseKey(keyTagAttributes, baseurl, parsed) {\n var _keyAttrs$METHOD, _keyAttrs$KEYFORMAT;\n // https://tools.ietf.org/html/rfc8216#section-4.3.2.4\n var keyAttrs = new AttrList(keyTagAttributes);\n {\n substituteVariablesInAttributes(parsed, keyAttrs, ['KEYFORMAT', 'KEYFORMATVERSIONS', 'URI', 'IV', 'URI']);\n }\n var decryptmethod = (_keyAttrs$METHOD = keyAttrs.METHOD) != null ? _keyAttrs$METHOD : '';\n var decrypturi = keyAttrs.URI;\n var decryptiv = keyAttrs.hexadecimalInteger('IV');\n var decryptkeyformatversions = keyAttrs.KEYFORMATVERSIONS;\n // From RFC: This attribute is OPTIONAL; its absence indicates an implicit value of \"identity\".\n var decryptkeyformat = (_keyAttrs$KEYFORMAT = keyAttrs.KEYFORMAT) != null ? _keyAttrs$KEYFORMAT : 'identity';\n if (decrypturi && keyAttrs.IV && !decryptiv) {\n logger.error(\"Invalid IV: \" + keyAttrs.IV);\n }\n // If decrypturi is a URI with a scheme, then baseurl will be ignored\n // No uri is allowed when METHOD is NONE\n var resolvedUri = decrypturi ? M3U8Parser.resolve(decrypturi, baseurl) : '';\n var keyFormatVersions = (decryptkeyformatversions ? decryptkeyformatversions : '1').split('/').map(Number).filter(Number.isFinite);\n return new LevelKey(decryptmethod, resolvedUri, decryptkeyformat, keyFormatVersions, decryptiv);\n }\n function parseStartTimeOffset(startAttributes) {\n var startAttrs = new AttrList(startAttributes);\n var startTimeOffset = startAttrs.decimalFloatingPoint('TIME-OFFSET');\n if (isFiniteNumber(startTimeOffset)) {\n return startTimeOffset;\n }\n return null;\n }\n function setCodecs(codecsAttributeValue, level) {\n var codecs = (codecsAttributeValue || '').split(/[ ,]+/).filter(function (c) {\n return c;\n });\n ['video', 'audio', 'text'].forEach(function (type) {\n var filtered = codecs.filter(function (codec) {\n return isCodecType(codec, type);\n });\n if (filtered.length) {\n // Comma separated list of all codecs for type\n level[type + \"Codec\"] = filtered.join(',');\n // Remove known codecs so that only unknownCodecs are left after iterating through each type\n codecs = codecs.filter(function (codec) {\n return filtered.indexOf(codec) === -1;\n });\n }\n });\n level.unknownCodecs = codecs;\n }\n function assignCodec(media, groupItem, codecProperty) {\n var codecValue = groupItem[codecProperty];\n if (codecValue) {\n media[codecProperty] = codecValue;\n }\n }\n function backfillProgramDateTimes(fragments, firstPdtIndex) {\n var fragPrev = fragments[firstPdtIndex];\n for (var i = firstPdtIndex; i--;) {\n var frag = fragments[i];\n // Exit on delta-playlist skipped segments\n if (!frag) {\n return;\n }\n frag.programDateTime = fragPrev.programDateTime - frag.duration * 1000;\n fragPrev = frag;\n }\n }\n function assignProgramDateTime(frag, prevFrag) {\n if (frag.rawProgramDateTime) {\n frag.programDateTime = Date.parse(frag.rawProgramDateTime);\n } else if (prevFrag != null && prevFrag.programDateTime) {\n frag.programDateTime = prevFrag.endProgramDateTime;\n }\n if (!isFiniteNumber(frag.programDateTime)) {\n frag.programDateTime = null;\n frag.rawProgramDateTime = null;\n }\n }\n function setInitSegment(frag, mapAttrs, id, levelkeys) {\n frag.relurl = mapAttrs.URI;\n if (mapAttrs.BYTERANGE) {\n frag.setByteRange(mapAttrs.BYTERANGE);\n }\n frag.level = id;\n frag.sn = 'initSegment';\n if (levelkeys) {\n frag.levelkeys = levelkeys;\n }\n frag.initSegment = null;\n }\n function setFragLevelKeys(frag, levelkeys, level) {\n frag.levelkeys = levelkeys;\n var encryptedFragments = level.encryptedFragments;\n if ((!encryptedFragments.length || encryptedFragments[encryptedFragments.length - 1].levelkeys !== levelkeys) && Object.keys(levelkeys).some(function (format) {\n return levelkeys[format].isCommonEncryption;\n })) {\n encryptedFragments.push(frag);\n }\n }\n\n var PlaylistContextType = {\n MANIFEST: \"manifest\",\n LEVEL: \"level\",\n AUDIO_TRACK: \"audioTrack\",\n SUBTITLE_TRACK: \"subtitleTrack\"\n };\n var PlaylistLevelType = {\n MAIN: \"main\",\n AUDIO: \"audio\",\n SUBTITLE: \"subtitle\"\n };\n\n function mapContextToLevelType(context) {\n var type = context.type;\n switch (type) {\n case PlaylistContextType.AUDIO_TRACK:\n return PlaylistLevelType.AUDIO;\n case PlaylistContextType.SUBTITLE_TRACK:\n return PlaylistLevelType.SUBTITLE;\n default:\n return PlaylistLevelType.MAIN;\n }\n }\n function getResponseUrl(response, context) {\n var url = response.url;\n // responseURL not supported on some browsers (it is used to detect URL redirection)\n // data-uri mode also not supported (but no need to detect redirection)\n if (url === undefined || url.indexOf('data:') === 0) {\n // fallback to initial URL\n url = context.url;\n }\n return url;\n }\n var PlaylistLoader = /*#__PURE__*/function () {\n function PlaylistLoader(hls) {\n this.hls = void 0;\n this.loaders = Object.create(null);\n this.variableList = null;\n this.hls = hls;\n this.registerListeners();\n }\n var _proto = PlaylistLoader.prototype;\n _proto.startLoad = function startLoad(startPosition) {};\n _proto.stopLoad = function stopLoad() {\n this.destroyInternalLoaders();\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.on(Events.AUDIO_TRACK_LOADING, this.onAudioTrackLoading, this);\n hls.on(Events.SUBTITLE_TRACK_LOADING, this.onSubtitleTrackLoading, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.off(Events.AUDIO_TRACK_LOADING, this.onAudioTrackLoading, this);\n hls.off(Events.SUBTITLE_TRACK_LOADING, this.onSubtitleTrackLoading, this);\n }\n\n /**\n * Returns defaults or configured loader-type overloads (pLoader and loader config params)\n */;\n _proto.createInternalLoader = function createInternalLoader(context) {\n var config = this.hls.config;\n var PLoader = config.pLoader;\n var Loader = config.loader;\n var InternalLoader = PLoader || Loader;\n var loader = new InternalLoader(config);\n this.loaders[context.type] = loader;\n return loader;\n };\n _proto.getInternalLoader = function getInternalLoader(context) {\n return this.loaders[context.type];\n };\n _proto.resetInternalLoader = function resetInternalLoader(contextType) {\n if (this.loaders[contextType]) {\n delete this.loaders[contextType];\n }\n }\n\n /**\n * Call `destroy` on all internal loader instances mapped (one per context type)\n */;\n _proto.destroyInternalLoaders = function destroyInternalLoaders() {\n for (var contextType in this.loaders) {\n var loader = this.loaders[contextType];\n if (loader) {\n loader.destroy();\n }\n this.resetInternalLoader(contextType);\n }\n };\n _proto.destroy = function destroy() {\n this.variableList = null;\n this.unregisterListeners();\n this.destroyInternalLoaders();\n };\n _proto.onManifestLoading = function onManifestLoading(event, data) {\n var url = data.url;\n this.variableList = null;\n this.load({\n id: null,\n level: 0,\n responseType: 'text',\n type: PlaylistContextType.MANIFEST,\n url: url,\n deliveryDirectives: null\n });\n };\n _proto.onLevelLoading = function onLevelLoading(event, data) {\n var id = data.id,\n level = data.level,\n pathwayId = data.pathwayId,\n url = data.url,\n deliveryDirectives = data.deliveryDirectives;\n this.load({\n id: id,\n level: level,\n pathwayId: pathwayId,\n responseType: 'text',\n type: PlaylistContextType.LEVEL,\n url: url,\n deliveryDirectives: deliveryDirectives\n });\n };\n _proto.onAudioTrackLoading = function onAudioTrackLoading(event, data) {\n var id = data.id,\n groupId = data.groupId,\n url = data.url,\n deliveryDirectives = data.deliveryDirectives;\n this.load({\n id: id,\n groupId: groupId,\n level: null,\n responseType: 'text',\n type: PlaylistContextType.AUDIO_TRACK,\n url: url,\n deliveryDirectives: deliveryDirectives\n });\n };\n _proto.onSubtitleTrackLoading = function onSubtitleTrackLoading(event, data) {\n var id = data.id,\n groupId = data.groupId,\n url = data.url,\n deliveryDirectives = data.deliveryDirectives;\n this.load({\n id: id,\n groupId: groupId,\n level: null,\n responseType: 'text',\n type: PlaylistContextType.SUBTITLE_TRACK,\n url: url,\n deliveryDirectives: deliveryDirectives\n });\n };\n _proto.load = function load(context) {\n var _context$deliveryDire,\n _this = this;\n var config = this.hls.config;\n\n // logger.debug(`[playlist-loader]: Loading playlist of type ${context.type}, level: ${context.level}, id: ${context.id}`);\n\n // Check if a loader for this context already exists\n var loader = this.getInternalLoader(context);\n if (loader) {\n var loaderContext = loader.context;\n if (loaderContext && loaderContext.url === context.url && loaderContext.level === context.level) {\n // same URL can't overlap\n logger.trace('[playlist-loader]: playlist request ongoing');\n return;\n }\n logger.log(\"[playlist-loader]: aborting previous loader for type: \" + context.type);\n loader.abort();\n }\n\n // apply different configs for retries depending on\n // context (manifest, level, audio/subs playlist)\n var loadPolicy;\n if (context.type === PlaylistContextType.MANIFEST) {\n loadPolicy = config.manifestLoadPolicy.default;\n } else {\n loadPolicy = _extends({}, config.playlistLoadPolicy.default, {\n timeoutRetry: null,\n errorRetry: null\n });\n }\n loader = this.createInternalLoader(context);\n\n // Override level/track timeout for LL-HLS requests\n // (the default of 10000ms is counter productive to blocking playlist reload requests)\n if (isFiniteNumber((_context$deliveryDire = context.deliveryDirectives) == null ? void 0 : _context$deliveryDire.part)) {\n var levelDetails;\n if (context.type === PlaylistContextType.LEVEL && context.level !== null) {\n levelDetails = this.hls.levels[context.level].details;\n } else if (context.type === PlaylistContextType.AUDIO_TRACK && context.id !== null) {\n levelDetails = this.hls.audioTracks[context.id].details;\n } else if (context.type === PlaylistContextType.SUBTITLE_TRACK && context.id !== null) {\n levelDetails = this.hls.subtitleTracks[context.id].details;\n }\n if (levelDetails) {\n var partTarget = levelDetails.partTarget;\n var targetDuration = levelDetails.targetduration;\n if (partTarget && targetDuration) {\n var maxLowLatencyPlaylistRefresh = Math.max(partTarget * 3, targetDuration * 0.8) * 1000;\n loadPolicy = _extends({}, loadPolicy, {\n maxTimeToFirstByteMs: Math.min(maxLowLatencyPlaylistRefresh, loadPolicy.maxTimeToFirstByteMs),\n maxLoadTimeMs: Math.min(maxLowLatencyPlaylistRefresh, loadPolicy.maxTimeToFirstByteMs)\n });\n }\n }\n }\n var legacyRetryCompatibility = loadPolicy.errorRetry || loadPolicy.timeoutRetry || {};\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: legacyRetryCompatibility.maxNumRetry || 0,\n retryDelay: legacyRetryCompatibility.retryDelayMs || 0,\n maxRetryDelay: legacyRetryCompatibility.maxRetryDelayMs || 0\n };\n var loaderCallbacks = {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n var loader = _this.getInternalLoader(context);\n _this.resetInternalLoader(context.type);\n var string = response.data;\n\n // Validate if it is an M3U8 at all\n if (string.indexOf('#EXTM3U') !== 0) {\n _this.handleManifestParsingError(response, context, new Error('no EXTM3U delimiter'), networkDetails || null, stats);\n return;\n }\n stats.parsing.start = performance.now();\n if (M3U8Parser.isMediaPlaylist(string)) {\n _this.handleTrackOrLevelPlaylist(response, stats, context, networkDetails || null, loader);\n } else {\n _this.handleMasterPlaylist(response, stats, context, networkDetails);\n }\n },\n onError: function onError(response, context, networkDetails, stats) {\n _this.handleNetworkError(context, networkDetails, false, response, stats);\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this.handleNetworkError(context, networkDetails, true, undefined, stats);\n }\n };\n\n // logger.debug(`[playlist-loader]: Calling internal loader delegate for URL: ${context.url}`);\n\n loader.load(context, loaderConfig, loaderCallbacks);\n };\n _proto.handleMasterPlaylist = function handleMasterPlaylist(response, stats, context, networkDetails) {\n var hls = this.hls;\n var string = response.data;\n var url = getResponseUrl(response, context);\n var parsedResult = M3U8Parser.parseMasterPlaylist(string, url);\n if (parsedResult.playlistParsingError) {\n this.handleManifestParsingError(response, context, parsedResult.playlistParsingError, networkDetails, stats);\n return;\n }\n var contentSteering = parsedResult.contentSteering,\n levels = parsedResult.levels,\n sessionData = parsedResult.sessionData,\n sessionKeys = parsedResult.sessionKeys,\n startTimeOffset = parsedResult.startTimeOffset,\n variableList = parsedResult.variableList;\n this.variableList = variableList;\n var _M3U8Parser$parseMast = M3U8Parser.parseMasterPlaylistMedia(string, url, parsedResult),\n _M3U8Parser$parseMast2 = _M3U8Parser$parseMast.AUDIO,\n audioTracks = _M3U8Parser$parseMast2 === void 0 ? [] : _M3U8Parser$parseMast2,\n subtitles = _M3U8Parser$parseMast.SUBTITLES,\n captions = _M3U8Parser$parseMast['CLOSED-CAPTIONS'];\n if (audioTracks.length) {\n // check if we have found an audio track embedded in main playlist (audio track without URI attribute)\n var embeddedAudioFound = audioTracks.some(function (audioTrack) {\n return !audioTrack.url;\n });\n\n // if no embedded audio track defined, but audio codec signaled in quality level,\n // we need to signal this main audio track this could happen with playlists with\n // alt audio rendition in which quality levels (main)\n // contains both audio+video. but with mixed audio track not signaled\n if (!embeddedAudioFound && levels[0].audioCodec && !levels[0].attrs.AUDIO) {\n logger.log('[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one');\n audioTracks.unshift({\n type: 'main',\n name: 'main',\n groupId: 'main',\n default: false,\n autoselect: false,\n forced: false,\n id: -1,\n attrs: new AttrList({}),\n bitrate: 0,\n url: ''\n });\n }\n }\n hls.trigger(Events.MANIFEST_LOADED, {\n levels: levels,\n audioTracks: audioTracks,\n subtitles: subtitles,\n captions: captions,\n contentSteering: contentSteering,\n url: url,\n stats: stats,\n networkDetails: networkDetails,\n sessionData: sessionData,\n sessionKeys: sessionKeys,\n startTimeOffset: startTimeOffset,\n variableList: variableList\n });\n };\n _proto.handleTrackOrLevelPlaylist = function handleTrackOrLevelPlaylist(response, stats, context, networkDetails, loader) {\n var hls = this.hls;\n var id = context.id,\n level = context.level,\n type = context.type;\n var url = getResponseUrl(response, context);\n var levelUrlId = 0;\n var levelId = isFiniteNumber(level) ? level : isFiniteNumber(id) ? id : 0;\n var levelType = mapContextToLevelType(context);\n var levelDetails = M3U8Parser.parseLevelPlaylist(response.data, url, levelId, levelType, levelUrlId, this.variableList);\n\n // We have done our first request (Manifest-type) and receive\n // not a master playlist but a chunk-list (track/level)\n // We fire the manifest-loaded event anyway with the parsed level-details\n // by creating a single-level structure for it.\n if (type === PlaylistContextType.MANIFEST) {\n var singleLevel = {\n attrs: new AttrList({}),\n bitrate: 0,\n details: levelDetails,\n name: '',\n url: url\n };\n hls.trigger(Events.MANIFEST_LOADED, {\n levels: [singleLevel],\n audioTracks: [],\n url: url,\n stats: stats,\n networkDetails: networkDetails,\n sessionData: null,\n sessionKeys: null,\n contentSteering: null,\n startTimeOffset: null,\n variableList: null\n });\n }\n\n // save parsing time\n stats.parsing.end = performance.now();\n\n // extend the context with the new levelDetails property\n context.levelDetails = levelDetails;\n this.handlePlaylistLoaded(levelDetails, response, stats, context, networkDetails, loader);\n };\n _proto.handleManifestParsingError = function handleManifestParsingError(response, context, error, networkDetails, stats) {\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.MANIFEST_PARSING_ERROR,\n fatal: context.type === PlaylistContextType.MANIFEST,\n url: response.url,\n err: error,\n error: error,\n reason: error.message,\n response: response,\n context: context,\n networkDetails: networkDetails,\n stats: stats\n });\n };\n _proto.handleNetworkError = function handleNetworkError(context, networkDetails, timeout, response, stats) {\n if (timeout === void 0) {\n timeout = false;\n }\n var message = \"A network \" + (timeout ? 'timeout' : 'error' + (response ? ' (status ' + response.code + ')' : '')) + \" occurred while loading \" + context.type;\n if (context.type === PlaylistContextType.LEVEL) {\n message += \": \" + context.level + \" id: \" + context.id;\n } else if (context.type === PlaylistContextType.AUDIO_TRACK || context.type === PlaylistContextType.SUBTITLE_TRACK) {\n message += \" id: \" + context.id + \" group-id: \\\"\" + context.groupId + \"\\\"\";\n }\n var error = new Error(message);\n logger.warn(\"[playlist-loader]: \" + message);\n var details = ErrorDetails.UNKNOWN;\n var fatal = false;\n var loader = this.getInternalLoader(context);\n switch (context.type) {\n case PlaylistContextType.MANIFEST:\n details = timeout ? ErrorDetails.MANIFEST_LOAD_TIMEOUT : ErrorDetails.MANIFEST_LOAD_ERROR;\n fatal = true;\n break;\n case PlaylistContextType.LEVEL:\n details = timeout ? ErrorDetails.LEVEL_LOAD_TIMEOUT : ErrorDetails.LEVEL_LOAD_ERROR;\n fatal = false;\n break;\n case PlaylistContextType.AUDIO_TRACK:\n details = timeout ? ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT : ErrorDetails.AUDIO_TRACK_LOAD_ERROR;\n fatal = false;\n break;\n case PlaylistContextType.SUBTITLE_TRACK:\n details = timeout ? ErrorDetails.SUBTITLE_TRACK_LOAD_TIMEOUT : ErrorDetails.SUBTITLE_LOAD_ERROR;\n fatal = false;\n break;\n }\n if (loader) {\n this.resetInternalLoader(context.type);\n }\n var errorData = {\n type: ErrorTypes.NETWORK_ERROR,\n details: details,\n fatal: fatal,\n url: context.url,\n loader: loader,\n context: context,\n error: error,\n networkDetails: networkDetails,\n stats: stats\n };\n if (response) {\n var url = (networkDetails == null ? void 0 : networkDetails.url) || context.url;\n errorData.response = _objectSpread2({\n url: url,\n data: undefined\n }, response);\n }\n this.hls.trigger(Events.ERROR, errorData);\n };\n _proto.handlePlaylistLoaded = function handlePlaylistLoaded(levelDetails, response, stats, context, networkDetails, loader) {\n var hls = this.hls;\n var type = context.type,\n level = context.level,\n id = context.id,\n groupId = context.groupId,\n deliveryDirectives = context.deliveryDirectives;\n var url = getResponseUrl(response, context);\n var parent = mapContextToLevelType(context);\n var levelIndex = typeof context.level === 'number' && parent === PlaylistLevelType.MAIN ? level : undefined;\n if (!levelDetails.fragments.length) {\n var _error = new Error('No Segments found in Playlist');\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.LEVEL_EMPTY_ERROR,\n fatal: false,\n url: url,\n error: _error,\n reason: _error.message,\n response: response,\n context: context,\n level: levelIndex,\n parent: parent,\n networkDetails: networkDetails,\n stats: stats\n });\n return;\n }\n if (!levelDetails.targetduration) {\n levelDetails.playlistParsingError = new Error('Missing Target Duration');\n }\n var error = levelDetails.playlistParsingError;\n if (error) {\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.LEVEL_PARSING_ERROR,\n fatal: false,\n url: url,\n error: error,\n reason: error.message,\n response: response,\n context: context,\n level: levelIndex,\n parent: parent,\n networkDetails: networkDetails,\n stats: stats\n });\n return;\n }\n if (levelDetails.live && loader) {\n if (loader.getCacheAge) {\n levelDetails.ageHeader = loader.getCacheAge() || 0;\n }\n if (!loader.getCacheAge || isNaN(levelDetails.ageHeader)) {\n levelDetails.ageHeader = 0;\n }\n }\n switch (type) {\n case PlaylistContextType.MANIFEST:\n case PlaylistContextType.LEVEL:\n hls.trigger(Events.LEVEL_LOADED, {\n details: levelDetails,\n level: levelIndex || 0,\n id: id || 0,\n stats: stats,\n networkDetails: networkDetails,\n deliveryDirectives: deliveryDirectives\n });\n break;\n case PlaylistContextType.AUDIO_TRACK:\n hls.trigger(Events.AUDIO_TRACK_LOADED, {\n details: levelDetails,\n id: id || 0,\n groupId: groupId || '',\n stats: stats,\n networkDetails: networkDetails,\n deliveryDirectives: deliveryDirectives\n });\n break;\n case PlaylistContextType.SUBTITLE_TRACK:\n hls.trigger(Events.SUBTITLE_TRACK_LOADED, {\n details: levelDetails,\n id: id || 0,\n groupId: groupId || '',\n stats: stats,\n networkDetails: networkDetails,\n deliveryDirectives: deliveryDirectives\n });\n break;\n }\n };\n return PlaylistLoader;\n }();\n\n function sendAddTrackEvent(track, videoEl) {\n var event;\n try {\n event = new Event('addtrack');\n } catch (err) {\n // for IE11\n event = document.createEvent('Event');\n event.initEvent('addtrack', false, false);\n }\n event.track = track;\n videoEl.dispatchEvent(event);\n }\n function addCueToTrack(track, cue) {\n // Sometimes there are cue overlaps on segmented vtts so the same\n // cue can appear more than once in different vtt files.\n // This avoid showing duplicated cues with same timecode and text.\n var mode = track.mode;\n if (mode === 'disabled') {\n track.mode = 'hidden';\n }\n if (track.cues && !track.cues.getCueById(cue.id)) {\n try {\n track.addCue(cue);\n if (!track.cues.getCueById(cue.id)) {\n throw new Error(\"addCue is failed for: \" + cue);\n }\n } catch (err) {\n logger.debug(\"[texttrack-utils]: \" + err);\n try {\n var textTrackCue = new self.TextTrackCue(cue.startTime, cue.endTime, cue.text);\n textTrackCue.id = cue.id;\n track.addCue(textTrackCue);\n } catch (err2) {\n logger.debug(\"[texttrack-utils]: Legacy TextTrackCue fallback failed: \" + err2);\n }\n }\n }\n if (mode === 'disabled') {\n track.mode = mode;\n }\n }\n function clearCurrentCues(track) {\n // When track.mode is disabled, track.cues will be null.\n // To guarantee the removal of cues, we need to temporarily\n // change the mode to hidden\n var mode = track.mode;\n if (mode === 'disabled') {\n track.mode = 'hidden';\n }\n if (track.cues) {\n for (var i = track.cues.length; i--;) {\n track.removeCue(track.cues[i]);\n }\n }\n if (mode === 'disabled') {\n track.mode = mode;\n }\n }\n function removeCuesInRange(track, start, end, predicate) {\n var mode = track.mode;\n if (mode === 'disabled') {\n track.mode = 'hidden';\n }\n if (track.cues && track.cues.length > 0) {\n var cues = getCuesInRange(track.cues, start, end);\n for (var i = 0; i < cues.length; i++) {\n if (!predicate || predicate(cues[i])) {\n track.removeCue(cues[i]);\n }\n }\n }\n if (mode === 'disabled') {\n track.mode = mode;\n }\n }\n\n // Find first cue starting after given time.\n // Modified version of binary search O(log(n)).\n function getFirstCueIndexAfterTime(cues, time) {\n // If first cue starts after time, start there\n if (time < cues[0].startTime) {\n return 0;\n }\n // If the last cue ends before time there is no overlap\n var len = cues.length - 1;\n if (time > cues[len].endTime) {\n return -1;\n }\n var left = 0;\n var right = len;\n while (left <= right) {\n var mid = Math.floor((right + left) / 2);\n if (time < cues[mid].startTime) {\n right = mid - 1;\n } else if (time > cues[mid].startTime && left < len) {\n left = mid + 1;\n } else {\n // If it's not lower or higher, it must be equal.\n return mid;\n }\n }\n // At this point, left and right have swapped.\n // No direct match was found, left or right element must be the closest. Check which one has the smallest diff.\n return cues[left].startTime - time < time - cues[right].startTime ? left : right;\n }\n function getCuesInRange(cues, start, end) {\n var cuesFound = [];\n var firstCueInRange = getFirstCueIndexAfterTime(cues, start);\n if (firstCueInRange > -1) {\n for (var i = firstCueInRange, len = cues.length; i < len; i++) {\n var _cue = cues[i];\n if (_cue.startTime >= start && _cue.endTime <= end) {\n cuesFound.push(_cue);\n } else if (_cue.startTime > end) {\n return cuesFound;\n }\n }\n }\n return cuesFound;\n }\n function filterSubtitleTracks(textTrackList) {\n var tracks = [];\n for (var i = 0; i < textTrackList.length; i++) {\n var track = textTrackList[i];\n // Edge adds a track without a label; we don't want to use it\n if ((track.kind === 'subtitles' || track.kind === 'captions') && track.label) {\n tracks.push(textTrackList[i]);\n }\n }\n return tracks;\n }\n\n var MetadataSchema = {\n audioId3: \"org.id3\",\n dateRange: \"com.apple.quicktime.HLS\",\n emsg: \"https://aomedia.org/emsg/ID3\"\n };\n\n var MIN_CUE_DURATION = 0.25;\n function getCueClass() {\n if (typeof self === 'undefined') return undefined;\n return self.VTTCue || self.TextTrackCue;\n }\n function createCueWithDataFields(Cue, startTime, endTime, data, type) {\n var cue = new Cue(startTime, endTime, '');\n try {\n cue.value = data;\n if (type) {\n cue.type = type;\n }\n } catch (e) {\n cue = new Cue(startTime, endTime, JSON.stringify(type ? _objectSpread2({\n type: type\n }, data) : data));\n }\n return cue;\n }\n\n // VTTCue latest draft allows an infinite duration, fallback\n // to MAX_VALUE if necessary\n var MAX_CUE_ENDTIME = function () {\n var Cue = getCueClass();\n try {\n Cue && new Cue(0, Number.POSITIVE_INFINITY, '');\n } catch (e) {\n return Number.MAX_VALUE;\n }\n return Number.POSITIVE_INFINITY;\n }();\n function dateRangeDateToTimelineSeconds(date, offset) {\n return date.getTime() / 1000 - offset;\n }\n function hexToArrayBuffer(str) {\n return Uint8Array.from(str.replace(/^0x/, '').replace(/([\\da-fA-F]{2}) ?/g, '0x$1 ').replace(/ +$/, '').split(' ')).buffer;\n }\n var ID3TrackController = /*#__PURE__*/function () {\n function ID3TrackController(hls) {\n this.hls = void 0;\n this.id3Track = null;\n this.media = null;\n this.dateRangeCuesAppended = {};\n this.hls = hls;\n this._registerListeners();\n }\n var _proto = ID3TrackController.prototype;\n _proto.destroy = function destroy() {\n this._unregisterListeners();\n this.id3Track = null;\n this.media = null;\n this.dateRangeCuesAppended = {};\n // @ts-ignore\n this.hls = null;\n };\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.FRAG_PARSING_METADATA, this.onFragParsingMetadata, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.FRAG_PARSING_METADATA, this.onFragParsingMetadata, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n }\n\n // Add ID3 metatadata text track.\n ;\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n this.media = data.media;\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n if (!this.id3Track) {\n return;\n }\n clearCurrentCues(this.id3Track);\n this.id3Track = null;\n this.media = null;\n this.dateRangeCuesAppended = {};\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.dateRangeCuesAppended = {};\n };\n _proto.createTrack = function createTrack(media) {\n var track = this.getID3Track(media.textTracks);\n track.mode = 'hidden';\n return track;\n };\n _proto.getID3Track = function getID3Track(textTracks) {\n if (!this.media) {\n return;\n }\n for (var i = 0; i < textTracks.length; i++) {\n var textTrack = textTracks[i];\n if (textTrack.kind === 'metadata' && textTrack.label === 'id3') {\n // send 'addtrack' when reusing the textTrack for metadata,\n // same as what we do for captions\n sendAddTrackEvent(textTrack, this.media);\n return textTrack;\n }\n }\n return this.media.addTextTrack('metadata', 'id3');\n };\n _proto.onFragParsingMetadata = function onFragParsingMetadata(event, data) {\n if (!this.media) {\n return;\n }\n var _this$hls$config = this.hls.config,\n enableEmsgMetadataCues = _this$hls$config.enableEmsgMetadataCues,\n enableID3MetadataCues = _this$hls$config.enableID3MetadataCues;\n if (!enableEmsgMetadataCues && !enableID3MetadataCues) {\n return;\n }\n var samples = data.samples;\n\n // create track dynamically\n if (!this.id3Track) {\n this.id3Track = this.createTrack(this.media);\n }\n var Cue = getCueClass();\n if (!Cue) {\n return;\n }\n for (var i = 0; i < samples.length; i++) {\n var type = samples[i].type;\n if (type === MetadataSchema.emsg && !enableEmsgMetadataCues || !enableID3MetadataCues) {\n continue;\n }\n var frames = getID3Frames(samples[i].data);\n if (frames) {\n var startTime = samples[i].pts;\n var endTime = startTime + samples[i].duration;\n if (endTime > MAX_CUE_ENDTIME) {\n endTime = MAX_CUE_ENDTIME;\n }\n var timeDiff = endTime - startTime;\n if (timeDiff <= 0) {\n endTime = startTime + MIN_CUE_DURATION;\n }\n for (var j = 0; j < frames.length; j++) {\n var frame = frames[j];\n // Safari doesn't put the timestamp frame in the TextTrack\n if (!isTimeStampFrame(frame)) {\n // add a bounds to any unbounded cues\n this.updateId3CueEnds(startTime, type);\n var cue = createCueWithDataFields(Cue, startTime, endTime, frame, type);\n if (cue) {\n this.id3Track.addCue(cue);\n }\n }\n }\n }\n }\n };\n _proto.updateId3CueEnds = function updateId3CueEnds(startTime, type) {\n var _this$id3Track;\n var cues = (_this$id3Track = this.id3Track) == null ? void 0 : _this$id3Track.cues;\n if (cues) {\n for (var i = cues.length; i--;) {\n var cue = cues[i];\n if (cue.type === type && cue.startTime < startTime && cue.endTime === MAX_CUE_ENDTIME) {\n cue.endTime = startTime;\n }\n }\n }\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, _ref) {\n var startOffset = _ref.startOffset,\n endOffset = _ref.endOffset,\n type = _ref.type;\n var id3Track = this.id3Track,\n hls = this.hls;\n if (!hls) {\n return;\n }\n var _hls$config = hls.config,\n enableEmsgMetadataCues = _hls$config.enableEmsgMetadataCues,\n enableID3MetadataCues = _hls$config.enableID3MetadataCues;\n if (id3Track && (enableEmsgMetadataCues || enableID3MetadataCues)) {\n var predicate;\n if (type === 'audio') {\n predicate = function predicate(cue) {\n return cue.type === MetadataSchema.audioId3 && enableID3MetadataCues;\n };\n } else if (type === 'video') {\n predicate = function predicate(cue) {\n return cue.type === MetadataSchema.emsg && enableEmsgMetadataCues;\n };\n } else {\n predicate = function predicate(cue) {\n return cue.type === MetadataSchema.audioId3 && enableID3MetadataCues || cue.type === MetadataSchema.emsg && enableEmsgMetadataCues;\n };\n }\n removeCuesInRange(id3Track, startOffset, endOffset, predicate);\n }\n };\n _proto.onLevelUpdated = function onLevelUpdated(event, _ref2) {\n var _this = this;\n var details = _ref2.details;\n if (!this.media || !details.hasProgramDateTime || !this.hls.config.enableDateRangeMetadataCues) {\n return;\n }\n var dateRangeCuesAppended = this.dateRangeCuesAppended,\n id3Track = this.id3Track;\n var dateRanges = details.dateRanges;\n var ids = Object.keys(dateRanges);\n // Remove cues from track not found in details.dateRanges\n if (id3Track) {\n var idsToRemove = Object.keys(dateRangeCuesAppended).filter(function (id) {\n return !ids.includes(id);\n });\n var _loop = function _loop() {\n var id = idsToRemove[i];\n Object.keys(dateRangeCuesAppended[id].cues).forEach(function (key) {\n id3Track.removeCue(dateRangeCuesAppended[id].cues[key]);\n });\n delete dateRangeCuesAppended[id];\n };\n for (var i = idsToRemove.length; i--;) {\n _loop();\n }\n }\n // Exit if the playlist does not have Date Ranges or does not have Program Date Time\n var lastFragment = details.fragments[details.fragments.length - 1];\n if (ids.length === 0 || !isFiniteNumber(lastFragment == null ? void 0 : lastFragment.programDateTime)) {\n return;\n }\n if (!this.id3Track) {\n this.id3Track = this.createTrack(this.media);\n }\n var dateTimeOffset = lastFragment.programDateTime / 1000 - lastFragment.start;\n var Cue = getCueClass();\n var _loop2 = function _loop2() {\n var id = ids[_i];\n var dateRange = dateRanges[id];\n var startTime = dateRangeDateToTimelineSeconds(dateRange.startDate, dateTimeOffset);\n\n // Process DateRanges to determine end-time (known DURATION, END-DATE, or END-ON-NEXT)\n var appendedDateRangeCues = dateRangeCuesAppended[id];\n var cues = (appendedDateRangeCues == null ? void 0 : appendedDateRangeCues.cues) || {};\n var durationKnown = (appendedDateRangeCues == null ? void 0 : appendedDateRangeCues.durationKnown) || false;\n var endTime = MAX_CUE_ENDTIME;\n var endDate = dateRange.endDate;\n if (endDate) {\n endTime = dateRangeDateToTimelineSeconds(endDate, dateTimeOffset);\n durationKnown = true;\n } else if (dateRange.endOnNext && !durationKnown) {\n var nextDateRangeWithSameClass = ids.reduce(function (candidateDateRange, id) {\n if (id !== dateRange.id) {\n var otherDateRange = dateRanges[id];\n if (otherDateRange.class === dateRange.class && otherDateRange.startDate > dateRange.startDate && (!candidateDateRange || dateRange.startDate < candidateDateRange.startDate)) {\n return otherDateRange;\n }\n }\n return candidateDateRange;\n }, null);\n if (nextDateRangeWithSameClass) {\n endTime = dateRangeDateToTimelineSeconds(nextDateRangeWithSameClass.startDate, dateTimeOffset);\n durationKnown = true;\n }\n }\n\n // Create TextTrack Cues for each MetadataGroup Item (select DateRange attribute)\n // This is to emulate Safari HLS playback handling of DateRange tags\n var attributes = Object.keys(dateRange.attr);\n for (var j = 0; j < attributes.length; j++) {\n var key = attributes[j];\n if (!isDateRangeCueAttribute(key)) {\n continue;\n }\n var cue = cues[key];\n if (cue) {\n if (durationKnown && !appendedDateRangeCues.durationKnown) {\n cue.endTime = endTime;\n }\n } else if (Cue) {\n var data = dateRange.attr[key];\n if (isSCTE35Attribute(key)) {\n data = hexToArrayBuffer(data);\n }\n var _cue = createCueWithDataFields(Cue, startTime, endTime, {\n key: key,\n data: data\n }, MetadataSchema.dateRange);\n if (_cue) {\n _cue.id = id;\n _this.id3Track.addCue(_cue);\n cues[key] = _cue;\n }\n }\n }\n\n // Keep track of processed DateRanges by ID for updating cues with new DateRange tag attributes\n dateRangeCuesAppended[id] = {\n cues: cues,\n dateRange: dateRange,\n durationKnown: durationKnown\n };\n };\n for (var _i = 0; _i < ids.length; _i++) {\n _loop2();\n }\n };\n return ID3TrackController;\n }();\n\n var LatencyController = /*#__PURE__*/function () {\n function LatencyController(hls) {\n var _this = this;\n this.hls = void 0;\n this.config = void 0;\n this.media = null;\n this.levelDetails = null;\n this.currentTime = 0;\n this.stallCount = 0;\n this._latency = null;\n this.timeupdateHandler = function () {\n return _this.timeupdate();\n };\n this.hls = hls;\n this.config = hls.config;\n this.registerListeners();\n }\n var _proto = LatencyController.prototype;\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.onMediaDetaching();\n this.levelDetails = null;\n // @ts-ignore\n this.hls = this.timeupdateHandler = null;\n };\n _proto.registerListeners = function registerListeners() {\n this.hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n this.hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n this.hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n this.hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n this.hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n this.hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n this.hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n this.hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n this.hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n this.hls.off(Events.ERROR, this.onError, this);\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n this.media = data.media;\n this.media.addEventListener('timeupdate', this.timeupdateHandler);\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n if (this.media) {\n this.media.removeEventListener('timeupdate', this.timeupdateHandler);\n this.media = null;\n }\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.levelDetails = null;\n this._latency = null;\n this.stallCount = 0;\n };\n _proto.onLevelUpdated = function onLevelUpdated(event, _ref) {\n var details = _ref.details;\n this.levelDetails = details;\n if (details.advanced) {\n this.timeupdate();\n }\n if (!details.live && this.media) {\n this.media.removeEventListener('timeupdate', this.timeupdateHandler);\n }\n };\n _proto.onError = function onError(event, data) {\n var _this$levelDetails;\n if (data.details !== ErrorDetails.BUFFER_STALLED_ERROR) {\n return;\n }\n this.stallCount++;\n if ((_this$levelDetails = this.levelDetails) != null && _this$levelDetails.live) {\n logger.warn('[playback-rate-controller]: Stall detected, adjusting target latency');\n }\n };\n _proto.timeupdate = function timeupdate() {\n var media = this.media,\n levelDetails = this.levelDetails;\n if (!media || !levelDetails) {\n return;\n }\n this.currentTime = media.currentTime;\n var latency = this.computeLatency();\n if (latency === null) {\n return;\n }\n this._latency = latency;\n\n // Adapt playbackRate to meet target latency in low-latency mode\n var _this$config = this.config,\n lowLatencyMode = _this$config.lowLatencyMode,\n maxLiveSyncPlaybackRate = _this$config.maxLiveSyncPlaybackRate;\n if (!lowLatencyMode || maxLiveSyncPlaybackRate === 1 || !levelDetails.live) {\n return;\n }\n var targetLatency = this.targetLatency;\n if (targetLatency === null) {\n return;\n }\n var distanceFromTarget = latency - targetLatency;\n // Only adjust playbackRate when within one target duration of targetLatency\n // and more than one second from under-buffering.\n // Playback further than one target duration from target can be considered DVR playback.\n var liveMinLatencyDuration = Math.min(this.maxLatency, targetLatency + levelDetails.targetduration);\n var inLiveRange = distanceFromTarget < liveMinLatencyDuration;\n if (inLiveRange && distanceFromTarget > 0.05 && this.forwardBufferLength > 1) {\n var max = Math.min(2, Math.max(1.0, maxLiveSyncPlaybackRate));\n var rate = Math.round(2 / (1 + Math.exp(-0.75 * distanceFromTarget - this.edgeStalled)) * 20) / 20;\n media.playbackRate = Math.min(max, Math.max(1, rate));\n } else if (media.playbackRate !== 1 && media.playbackRate !== 0) {\n media.playbackRate = 1;\n }\n };\n _proto.estimateLiveEdge = function estimateLiveEdge() {\n var levelDetails = this.levelDetails;\n if (levelDetails === null) {\n return null;\n }\n return levelDetails.edge + levelDetails.age;\n };\n _proto.computeLatency = function computeLatency() {\n var liveEdge = this.estimateLiveEdge();\n if (liveEdge === null) {\n return null;\n }\n return liveEdge - this.currentTime;\n };\n _createClass(LatencyController, [{\n key: \"latency\",\n get: function get() {\n return this._latency || 0;\n }\n }, {\n key: \"maxLatency\",\n get: function get() {\n var config = this.config,\n levelDetails = this.levelDetails;\n if (config.liveMaxLatencyDuration !== undefined) {\n return config.liveMaxLatencyDuration;\n }\n return levelDetails ? config.liveMaxLatencyDurationCount * levelDetails.targetduration : 0;\n }\n }, {\n key: \"targetLatency\",\n get: function get() {\n var levelDetails = this.levelDetails;\n if (levelDetails === null) {\n return null;\n }\n var holdBack = levelDetails.holdBack,\n partHoldBack = levelDetails.partHoldBack,\n targetduration = levelDetails.targetduration;\n var _this$config2 = this.config,\n liveSyncDuration = _this$config2.liveSyncDuration,\n liveSyncDurationCount = _this$config2.liveSyncDurationCount,\n lowLatencyMode = _this$config2.lowLatencyMode;\n var userConfig = this.hls.userConfig;\n var targetLatency = lowLatencyMode ? partHoldBack || holdBack : holdBack;\n if (userConfig.liveSyncDuration || userConfig.liveSyncDurationCount || targetLatency === 0) {\n targetLatency = liveSyncDuration !== undefined ? liveSyncDuration : liveSyncDurationCount * targetduration;\n }\n var maxLiveSyncOnStallIncrease = targetduration;\n var liveSyncOnStallIncrease = 1.0;\n return targetLatency + Math.min(this.stallCount * liveSyncOnStallIncrease, maxLiveSyncOnStallIncrease);\n }\n }, {\n key: \"liveSyncPosition\",\n get: function get() {\n var liveEdge = this.estimateLiveEdge();\n var targetLatency = this.targetLatency;\n var levelDetails = this.levelDetails;\n if (liveEdge === null || targetLatency === null || levelDetails === null) {\n return null;\n }\n var edge = levelDetails.edge;\n var syncPosition = liveEdge - targetLatency - this.edgeStalled;\n var min = edge - levelDetails.totalduration;\n var max = edge - (this.config.lowLatencyMode && levelDetails.partTarget || levelDetails.targetduration);\n return Math.min(Math.max(min, syncPosition), max);\n }\n }, {\n key: \"drift\",\n get: function get() {\n var levelDetails = this.levelDetails;\n if (levelDetails === null) {\n return 1;\n }\n return levelDetails.drift;\n }\n }, {\n key: \"edgeStalled\",\n get: function get() {\n var levelDetails = this.levelDetails;\n if (levelDetails === null) {\n return 0;\n }\n var maxLevelUpdateAge = (this.config.lowLatencyMode && levelDetails.partTarget || levelDetails.targetduration) * 3;\n return Math.max(levelDetails.age - maxLevelUpdateAge, 0);\n }\n }, {\n key: \"forwardBufferLength\",\n get: function get() {\n var media = this.media,\n levelDetails = this.levelDetails;\n if (!media || !levelDetails) {\n return 0;\n }\n var bufferedRanges = media.buffered.length;\n return (bufferedRanges ? media.buffered.end(bufferedRanges - 1) : levelDetails.edge) - this.currentTime;\n }\n }]);\n return LatencyController;\n }();\n\n var HdcpLevels = ['NONE', 'TYPE-0', 'TYPE-1', null];\n function isHdcpLevel(value) {\n return HdcpLevels.indexOf(value) > -1;\n }\n var VideoRangeValues = ['SDR', 'PQ', 'HLG'];\n function isVideoRange(value) {\n return !!value && VideoRangeValues.indexOf(value) > -1;\n }\n var HlsSkip = {\n No: \"\",\n Yes: \"YES\",\n v2: \"v2\"\n };\n function getSkipValue(details, msn) {\n var canSkipUntil = details.canSkipUntil,\n canSkipDateRanges = details.canSkipDateRanges,\n endSN = details.endSN;\n var snChangeGoal = msn !== undefined ? msn - endSN : 0;\n if (canSkipUntil && snChangeGoal < canSkipUntil) {\n if (canSkipDateRanges) {\n return HlsSkip.v2;\n }\n return HlsSkip.Yes;\n }\n return HlsSkip.No;\n }\n var HlsUrlParameters = /*#__PURE__*/function () {\n function HlsUrlParameters(msn, part, skip) {\n this.msn = void 0;\n this.part = void 0;\n this.skip = void 0;\n this.msn = msn;\n this.part = part;\n this.skip = skip;\n }\n var _proto = HlsUrlParameters.prototype;\n _proto.addDirectives = function addDirectives(uri) {\n var url = new self.URL(uri);\n if (this.msn !== undefined) {\n url.searchParams.set('_HLS_msn', this.msn.toString());\n }\n if (this.part !== undefined) {\n url.searchParams.set('_HLS_part', this.part.toString());\n }\n if (this.skip) {\n url.searchParams.set('_HLS_skip', this.skip);\n }\n return url.href;\n };\n return HlsUrlParameters;\n }();\n var Level = /*#__PURE__*/function () {\n function Level(data) {\n this._attrs = void 0;\n this.audioCodec = void 0;\n this.bitrate = void 0;\n this.codecSet = void 0;\n this.url = void 0;\n this.frameRate = void 0;\n this.height = void 0;\n this.id = void 0;\n this.name = void 0;\n this.videoCodec = void 0;\n this.width = void 0;\n this.details = void 0;\n this.fragmentError = 0;\n this.loadError = 0;\n this.loaded = void 0;\n this.realBitrate = 0;\n this.supportedPromise = void 0;\n this.supportedResult = void 0;\n this._avgBitrate = 0;\n this._audioGroups = void 0;\n this._subtitleGroups = void 0;\n // Deprecated (retained for backwards compatibility)\n this._urlId = 0;\n this.url = [data.url];\n this._attrs = [data.attrs];\n this.bitrate = data.bitrate;\n if (data.details) {\n this.details = data.details;\n }\n this.id = data.id || 0;\n this.name = data.name;\n this.width = data.width || 0;\n this.height = data.height || 0;\n this.frameRate = data.attrs.optionalFloat('FRAME-RATE', 0);\n this._avgBitrate = data.attrs.decimalInteger('AVERAGE-BANDWIDTH');\n this.audioCodec = data.audioCodec;\n this.videoCodec = data.videoCodec;\n this.codecSet = [data.videoCodec, data.audioCodec].filter(function (c) {\n return !!c;\n }).map(function (s) {\n return s.substring(0, 4);\n }).join(',');\n this.addGroupId('audio', data.attrs.AUDIO);\n this.addGroupId('text', data.attrs.SUBTITLES);\n }\n var _proto2 = Level.prototype;\n _proto2.hasAudioGroup = function hasAudioGroup(groupId) {\n return hasGroup(this._audioGroups, groupId);\n };\n _proto2.hasSubtitleGroup = function hasSubtitleGroup(groupId) {\n return hasGroup(this._subtitleGroups, groupId);\n };\n _proto2.addGroupId = function addGroupId(type, groupId) {\n if (!groupId) {\n return;\n }\n if (type === 'audio') {\n var audioGroups = this._audioGroups;\n if (!audioGroups) {\n audioGroups = this._audioGroups = [];\n }\n if (audioGroups.indexOf(groupId) === -1) {\n audioGroups.push(groupId);\n }\n } else if (type === 'text') {\n var subtitleGroups = this._subtitleGroups;\n if (!subtitleGroups) {\n subtitleGroups = this._subtitleGroups = [];\n }\n if (subtitleGroups.indexOf(groupId) === -1) {\n subtitleGroups.push(groupId);\n }\n }\n }\n\n // Deprecated methods (retained for backwards compatibility)\n ;\n _proto2.addFallback = function addFallback() {};\n _createClass(Level, [{\n key: \"maxBitrate\",\n get: function get() {\n return Math.max(this.realBitrate, this.bitrate);\n }\n }, {\n key: \"averageBitrate\",\n get: function get() {\n return this._avgBitrate || this.realBitrate || this.bitrate;\n }\n }, {\n key: \"attrs\",\n get: function get() {\n return this._attrs[0];\n }\n }, {\n key: \"codecs\",\n get: function get() {\n return this.attrs.CODECS || '';\n }\n }, {\n key: \"pathwayId\",\n get: function get() {\n return this.attrs['PATHWAY-ID'] || '.';\n }\n }, {\n key: \"videoRange\",\n get: function get() {\n return this.attrs['VIDEO-RANGE'] || 'SDR';\n }\n }, {\n key: \"score\",\n get: function get() {\n return this.attrs.optionalFloat('SCORE', 0);\n }\n }, {\n key: \"uri\",\n get: function get() {\n return this.url[0] || '';\n }\n }, {\n key: \"audioGroups\",\n get: function get() {\n return this._audioGroups;\n }\n }, {\n key: \"subtitleGroups\",\n get: function get() {\n return this._subtitleGroups;\n }\n }, {\n key: \"urlId\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }, {\n key: \"audioGroupIds\",\n get: function get() {\n return this.audioGroups ? [this.audioGroupId] : undefined;\n }\n }, {\n key: \"textGroupIds\",\n get: function get() {\n return this.subtitleGroups ? [this.textGroupId] : undefined;\n }\n }, {\n key: \"audioGroupId\",\n get: function get() {\n var _this$audioGroups;\n return (_this$audioGroups = this.audioGroups) == null ? void 0 : _this$audioGroups[0];\n }\n }, {\n key: \"textGroupId\",\n get: function get() {\n var _this$subtitleGroups;\n return (_this$subtitleGroups = this.subtitleGroups) == null ? void 0 : _this$subtitleGroups[0];\n }\n }]);\n return Level;\n }();\n function hasGroup(groups, groupId) {\n if (!groupId || !groups) {\n return false;\n }\n return groups.indexOf(groupId) !== -1;\n }\n\n function updateFromToPTS(fragFrom, fragTo) {\n var fragToPTS = fragTo.startPTS;\n // if we know startPTS[toIdx]\n if (isFiniteNumber(fragToPTS)) {\n // update fragment duration.\n // it helps to fix drifts between playlist reported duration and fragment real duration\n var duration = 0;\n var frag;\n if (fragTo.sn > fragFrom.sn) {\n duration = fragToPTS - fragFrom.start;\n frag = fragFrom;\n } else {\n duration = fragFrom.start - fragToPTS;\n frag = fragTo;\n }\n if (frag.duration !== duration) {\n frag.duration = duration;\n }\n // we dont know startPTS[toIdx]\n } else if (fragTo.sn > fragFrom.sn) {\n var contiguous = fragFrom.cc === fragTo.cc;\n // TODO: With part-loading end/durations we need to confirm the whole fragment is loaded before using (or setting) minEndPTS\n if (contiguous && fragFrom.minEndPTS) {\n fragTo.start = fragFrom.start + (fragFrom.minEndPTS - fragFrom.start);\n } else {\n fragTo.start = fragFrom.start + fragFrom.duration;\n }\n } else {\n fragTo.start = Math.max(fragFrom.start - fragTo.duration, 0);\n }\n }\n function updateFragPTSDTS(details, frag, startPTS, endPTS, startDTS, endDTS) {\n var parsedMediaDuration = endPTS - startPTS;\n if (parsedMediaDuration <= 0) {\n logger.warn('Fragment should have a positive duration', frag);\n endPTS = startPTS + frag.duration;\n endDTS = startDTS + frag.duration;\n }\n var maxStartPTS = startPTS;\n var minEndPTS = endPTS;\n var fragStartPts = frag.startPTS;\n var fragEndPts = frag.endPTS;\n if (isFiniteNumber(fragStartPts)) {\n // delta PTS between audio and video\n var deltaPTS = Math.abs(fragStartPts - startPTS);\n if (!isFiniteNumber(frag.deltaPTS)) {\n frag.deltaPTS = deltaPTS;\n } else {\n frag.deltaPTS = Math.max(deltaPTS, frag.deltaPTS);\n }\n maxStartPTS = Math.max(startPTS, fragStartPts);\n startPTS = Math.min(startPTS, fragStartPts);\n startDTS = Math.min(startDTS, frag.startDTS);\n minEndPTS = Math.min(endPTS, fragEndPts);\n endPTS = Math.max(endPTS, fragEndPts);\n endDTS = Math.max(endDTS, frag.endDTS);\n }\n var drift = startPTS - frag.start;\n if (frag.start !== 0) {\n frag.start = startPTS;\n }\n frag.duration = endPTS - frag.start;\n frag.startPTS = startPTS;\n frag.maxStartPTS = maxStartPTS;\n frag.startDTS = startDTS;\n frag.endPTS = endPTS;\n frag.minEndPTS = minEndPTS;\n frag.endDTS = endDTS;\n var sn = frag.sn; // 'initSegment'\n // exit if sn out of range\n if (!details || sn < details.startSN || sn > details.endSN) {\n return 0;\n }\n var i;\n var fragIdx = sn - details.startSN;\n var fragments = details.fragments;\n // update frag reference in fragments array\n // rationale is that fragments array might not contain this frag object.\n // this will happen if playlist has been refreshed between frag loading and call to updateFragPTSDTS()\n // if we don't update frag, we won't be able to propagate PTS info on the playlist\n // resulting in invalid sliding computation\n fragments[fragIdx] = frag;\n // adjust fragment PTS/duration from seqnum-1 to frag 0\n for (i = fragIdx; i > 0; i--) {\n updateFromToPTS(fragments[i], fragments[i - 1]);\n }\n\n // adjust fragment PTS/duration from seqnum to last frag\n for (i = fragIdx; i < fragments.length - 1; i++) {\n updateFromToPTS(fragments[i], fragments[i + 1]);\n }\n if (details.fragmentHint) {\n updateFromToPTS(fragments[fragments.length - 1], details.fragmentHint);\n }\n details.PTSKnown = details.alignedSliding = true;\n return drift;\n }\n function mergeDetails(oldDetails, newDetails) {\n // Track the last initSegment processed. Initialize it to the last one on the timeline.\n var currentInitSegment = null;\n var oldFragments = oldDetails.fragments;\n for (var i = oldFragments.length - 1; i >= 0; i--) {\n var oldInit = oldFragments[i].initSegment;\n if (oldInit) {\n currentInitSegment = oldInit;\n break;\n }\n }\n if (oldDetails.fragmentHint) {\n // prevent PTS and duration from being adjusted on the next hint\n delete oldDetails.fragmentHint.endPTS;\n }\n // check if old/new playlists have fragments in common\n // loop through overlapping SN and update startPTS , cc, and duration if any found\n var ccOffset = 0;\n var PTSFrag;\n mapFragmentIntersection(oldDetails, newDetails, function (oldFrag, newFrag) {\n if (oldFrag.relurl) {\n // Do not compare CC if the old fragment has no url. This is a level.fragmentHint used by LL-HLS parts.\n // It maybe be off by 1 if it was created before any parts or discontinuity tags were appended to the end\n // of the playlist.\n ccOffset = oldFrag.cc - newFrag.cc;\n }\n if (isFiniteNumber(oldFrag.startPTS) && isFiniteNumber(oldFrag.endPTS)) {\n newFrag.start = newFrag.startPTS = oldFrag.startPTS;\n newFrag.startDTS = oldFrag.startDTS;\n newFrag.maxStartPTS = oldFrag.maxStartPTS;\n newFrag.endPTS = oldFrag.endPTS;\n newFrag.endDTS = oldFrag.endDTS;\n newFrag.minEndPTS = oldFrag.minEndPTS;\n newFrag.duration = oldFrag.endPTS - oldFrag.startPTS;\n if (newFrag.duration) {\n PTSFrag = newFrag;\n }\n\n // PTS is known when any segment has startPTS and endPTS\n newDetails.PTSKnown = newDetails.alignedSliding = true;\n }\n newFrag.elementaryStreams = oldFrag.elementaryStreams;\n newFrag.loader = oldFrag.loader;\n newFrag.stats = oldFrag.stats;\n if (oldFrag.initSegment) {\n newFrag.initSegment = oldFrag.initSegment;\n currentInitSegment = oldFrag.initSegment;\n }\n });\n if (currentInitSegment) {\n var fragmentsToCheck = newDetails.fragmentHint ? newDetails.fragments.concat(newDetails.fragmentHint) : newDetails.fragments;\n fragmentsToCheck.forEach(function (frag) {\n var _currentInitSegment;\n if (frag && (!frag.initSegment || frag.initSegment.relurl === ((_currentInitSegment = currentInitSegment) == null ? void 0 : _currentInitSegment.relurl))) {\n frag.initSegment = currentInitSegment;\n }\n });\n }\n if (newDetails.skippedSegments) {\n newDetails.deltaUpdateFailed = newDetails.fragments.some(function (frag) {\n return !frag;\n });\n if (newDetails.deltaUpdateFailed) {\n logger.warn('[level-helper] Previous playlist missing segments skipped in delta playlist');\n for (var _i = newDetails.skippedSegments; _i--;) {\n newDetails.fragments.shift();\n }\n newDetails.startSN = newDetails.fragments[0].sn;\n newDetails.startCC = newDetails.fragments[0].cc;\n } else if (newDetails.canSkipDateRanges) {\n newDetails.dateRanges = mergeDateRanges(oldDetails.dateRanges, newDetails.dateRanges, newDetails.recentlyRemovedDateranges);\n }\n }\n var newFragments = newDetails.fragments;\n if (ccOffset) {\n logger.warn('discontinuity sliding from playlist, take drift into account');\n for (var _i2 = 0; _i2 < newFragments.length; _i2++) {\n newFragments[_i2].cc += ccOffset;\n }\n }\n if (newDetails.skippedSegments) {\n newDetails.startCC = newDetails.fragments[0].cc;\n }\n\n // Merge parts\n mapPartIntersection(oldDetails.partList, newDetails.partList, function (oldPart, newPart) {\n newPart.elementaryStreams = oldPart.elementaryStreams;\n newPart.stats = oldPart.stats;\n });\n\n // if at least one fragment contains PTS info, recompute PTS information for all fragments\n if (PTSFrag) {\n updateFragPTSDTS(newDetails, PTSFrag, PTSFrag.startPTS, PTSFrag.endPTS, PTSFrag.startDTS, PTSFrag.endDTS);\n } else {\n // ensure that delta is within oldFragments range\n // also adjust sliding in case delta is 0 (we could have old=[50-60] and new=old=[50-61])\n // in that case we also need to adjust start offset of all fragments\n adjustSliding(oldDetails, newDetails);\n }\n if (newFragments.length) {\n newDetails.totalduration = newDetails.edge - newFragments[0].start;\n }\n newDetails.driftStartTime = oldDetails.driftStartTime;\n newDetails.driftStart = oldDetails.driftStart;\n var advancedDateTime = newDetails.advancedDateTime;\n if (newDetails.advanced && advancedDateTime) {\n var edge = newDetails.edge;\n if (!newDetails.driftStart) {\n newDetails.driftStartTime = advancedDateTime;\n newDetails.driftStart = edge;\n }\n newDetails.driftEndTime = advancedDateTime;\n newDetails.driftEnd = edge;\n } else {\n newDetails.driftEndTime = oldDetails.driftEndTime;\n newDetails.driftEnd = oldDetails.driftEnd;\n newDetails.advancedDateTime = oldDetails.advancedDateTime;\n }\n }\n function mergeDateRanges(oldDateRanges, deltaDateRanges, recentlyRemovedDateranges) {\n var dateRanges = _extends({}, oldDateRanges);\n if (recentlyRemovedDateranges) {\n recentlyRemovedDateranges.forEach(function (id) {\n delete dateRanges[id];\n });\n }\n Object.keys(deltaDateRanges).forEach(function (id) {\n var dateRange = new DateRange(deltaDateRanges[id].attr, dateRanges[id]);\n if (dateRange.isValid) {\n dateRanges[id] = dateRange;\n } else {\n logger.warn(\"Ignoring invalid Playlist Delta Update DATERANGE tag: \\\"\" + JSON.stringify(deltaDateRanges[id].attr) + \"\\\"\");\n }\n });\n return dateRanges;\n }\n function mapPartIntersection(oldParts, newParts, intersectionFn) {\n if (oldParts && newParts) {\n var delta = 0;\n for (var i = 0, len = oldParts.length; i <= len; i++) {\n var _oldPart = oldParts[i];\n var _newPart = newParts[i + delta];\n if (_oldPart && _newPart && _oldPart.index === _newPart.index && _oldPart.fragment.sn === _newPart.fragment.sn) {\n intersectionFn(_oldPart, _newPart);\n } else {\n delta--;\n }\n }\n }\n }\n function mapFragmentIntersection(oldDetails, newDetails, intersectionFn) {\n var skippedSegments = newDetails.skippedSegments;\n var start = Math.max(oldDetails.startSN, newDetails.startSN) - newDetails.startSN;\n var end = (oldDetails.fragmentHint ? 1 : 0) + (skippedSegments ? newDetails.endSN : Math.min(oldDetails.endSN, newDetails.endSN)) - newDetails.startSN;\n var delta = newDetails.startSN - oldDetails.startSN;\n var newFrags = newDetails.fragmentHint ? newDetails.fragments.concat(newDetails.fragmentHint) : newDetails.fragments;\n var oldFrags = oldDetails.fragmentHint ? oldDetails.fragments.concat(oldDetails.fragmentHint) : oldDetails.fragments;\n for (var i = start; i <= end; i++) {\n var _oldFrag = oldFrags[delta + i];\n var _newFrag = newFrags[i];\n if (skippedSegments && !_newFrag && i < skippedSegments) {\n // Fill in skipped segments in delta playlist\n _newFrag = newDetails.fragments[i] = _oldFrag;\n }\n if (_oldFrag && _newFrag) {\n intersectionFn(_oldFrag, _newFrag);\n }\n }\n }\n function adjustSliding(oldDetails, newDetails) {\n var delta = newDetails.startSN + newDetails.skippedSegments - oldDetails.startSN;\n var oldFragments = oldDetails.fragments;\n if (delta < 0 || delta >= oldFragments.length) {\n return;\n }\n addSliding(newDetails, oldFragments[delta].start);\n }\n function addSliding(details, start) {\n if (start) {\n var fragments = details.fragments;\n for (var i = details.skippedSegments; i < fragments.length; i++) {\n fragments[i].start += start;\n }\n if (details.fragmentHint) {\n details.fragmentHint.start += start;\n }\n }\n }\n function computeReloadInterval(newDetails, distanceToLiveEdgeMs) {\n if (distanceToLiveEdgeMs === void 0) {\n distanceToLiveEdgeMs = Infinity;\n }\n var reloadInterval = 1000 * newDetails.targetduration;\n if (newDetails.updated) {\n // Use last segment duration when shorter than target duration and near live edge\n var fragments = newDetails.fragments;\n var liveEdgeMaxTargetDurations = 4;\n if (fragments.length && reloadInterval * liveEdgeMaxTargetDurations > distanceToLiveEdgeMs) {\n var lastSegmentDuration = fragments[fragments.length - 1].duration * 1000;\n if (lastSegmentDuration < reloadInterval) {\n reloadInterval = lastSegmentDuration;\n }\n }\n } else {\n // estimate = 'miss half average';\n // follow HLS Spec, If the client reloads a Playlist file and finds that it has not\n // changed then it MUST wait for a period of one-half the target\n // duration before retrying.\n reloadInterval /= 2;\n }\n return Math.round(reloadInterval);\n }\n function getFragmentWithSN(level, sn, fragCurrent) {\n if (!(level != null && level.details)) {\n return null;\n }\n var levelDetails = level.details;\n var fragment = levelDetails.fragments[sn - levelDetails.startSN];\n if (fragment) {\n return fragment;\n }\n fragment = levelDetails.fragmentHint;\n if (fragment && fragment.sn === sn) {\n return fragment;\n }\n if (sn < levelDetails.startSN && fragCurrent && fragCurrent.sn === sn) {\n return fragCurrent;\n }\n return null;\n }\n function getPartWith(level, sn, partIndex) {\n var _level$details;\n if (!(level != null && level.details)) {\n return null;\n }\n return findPart((_level$details = level.details) == null ? void 0 : _level$details.partList, sn, partIndex);\n }\n function findPart(partList, sn, partIndex) {\n if (partList) {\n for (var i = partList.length; i--;) {\n var part = partList[i];\n if (part.index === partIndex && part.fragment.sn === sn) {\n return part;\n }\n }\n }\n return null;\n }\n function reassignFragmentLevelIndexes(levels) {\n levels.forEach(function (level, index) {\n var details = level.details;\n if (details != null && details.fragments) {\n details.fragments.forEach(function (fragment) {\n fragment.level = index;\n });\n }\n });\n }\n\n function isTimeoutError(error) {\n switch (error.details) {\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n case ErrorDetails.KEY_LOAD_TIMEOUT:\n case ErrorDetails.LEVEL_LOAD_TIMEOUT:\n case ErrorDetails.MANIFEST_LOAD_TIMEOUT:\n return true;\n }\n return false;\n }\n function getRetryConfig(loadPolicy, error) {\n var isTimeout = isTimeoutError(error);\n return loadPolicy.default[(isTimeout ? 'timeout' : 'error') + \"Retry\"];\n }\n function getRetryDelay(retryConfig, retryCount) {\n // exponential backoff capped to max retry delay\n var backoffFactor = retryConfig.backoff === 'linear' ? 1 : Math.pow(2, retryCount);\n return Math.min(backoffFactor * retryConfig.retryDelayMs, retryConfig.maxRetryDelayMs);\n }\n function getLoaderConfigWithoutReties(loderConfig) {\n return _objectSpread2(_objectSpread2({}, loderConfig), {\n errorRetry: null,\n timeoutRetry: null\n });\n }\n function shouldRetry(retryConfig, retryCount, isTimeout, loaderResponse) {\n if (!retryConfig) {\n return false;\n }\n var httpStatus = loaderResponse == null ? void 0 : loaderResponse.code;\n var retry = retryCount < retryConfig.maxNumRetry && (retryForHttpStatus(httpStatus) || !!isTimeout);\n return retryConfig.shouldRetry ? retryConfig.shouldRetry(retryConfig, retryCount, isTimeout, loaderResponse, retry) : retry;\n }\n function retryForHttpStatus(httpStatus) {\n // Do not retry on status 4xx, status 0 (CORS error), or undefined (decrypt/gap/parse error)\n return httpStatus === 0 && navigator.onLine === false || !!httpStatus && (httpStatus < 400 || httpStatus > 499);\n }\n\n var BinarySearch = {\n /**\n * Searches for an item in an array which matches a certain condition.\n * This requires the condition to only match one item in the array,\n * and for the array to be ordered.\n *\n * @param list The array to search.\n * @param comparisonFn\n * Called and provided a candidate item as the first argument.\n * Should return:\n * > -1 if the item should be located at a lower index than the provided item.\n * > 1 if the item should be located at a higher index than the provided item.\n * > 0 if the item is the item you're looking for.\n *\n * @returns the object if found, otherwise returns null\n */\n search: function search(list, comparisonFn) {\n var minIndex = 0;\n var maxIndex = list.length - 1;\n var currentIndex = null;\n var currentElement = null;\n while (minIndex <= maxIndex) {\n currentIndex = (minIndex + maxIndex) / 2 | 0;\n currentElement = list[currentIndex];\n var comparisonResult = comparisonFn(currentElement);\n if (comparisonResult > 0) {\n minIndex = currentIndex + 1;\n } else if (comparisonResult < 0) {\n maxIndex = currentIndex - 1;\n } else {\n return currentElement;\n }\n }\n return null;\n }\n };\n\n /**\n * Returns first fragment whose endPdt value exceeds the given PDT, or null.\n * @param fragments - The array of candidate fragments\n * @param PDTValue - The PDT value which must be exceeded\n * @param maxFragLookUpTolerance - The amount of time that a fragment's start/end can be within in order to be considered contiguous\n */\n function findFragmentByPDT(fragments, PDTValue, maxFragLookUpTolerance) {\n if (PDTValue === null || !Array.isArray(fragments) || !fragments.length || !isFiniteNumber(PDTValue)) {\n return null;\n }\n\n // if less than start\n var startPDT = fragments[0].programDateTime;\n if (PDTValue < (startPDT || 0)) {\n return null;\n }\n var endPDT = fragments[fragments.length - 1].endProgramDateTime;\n if (PDTValue >= (endPDT || 0)) {\n return null;\n }\n maxFragLookUpTolerance = maxFragLookUpTolerance || 0;\n for (var seg = 0; seg < fragments.length; ++seg) {\n var frag = fragments[seg];\n if (pdtWithinToleranceTest(PDTValue, maxFragLookUpTolerance, frag)) {\n return frag;\n }\n }\n return null;\n }\n\n /**\n * Finds a fragment based on the SN of the previous fragment; or based on the needs of the current buffer.\n * This method compensates for small buffer gaps by applying a tolerance to the start of any candidate fragment, thus\n * breaking any traps which would cause the same fragment to be continuously selected within a small range.\n * @param fragPrevious - The last frag successfully appended\n * @param fragments - The array of candidate fragments\n * @param bufferEnd - The end of the contiguous buffered range the playhead is currently within\n * @param maxFragLookUpTolerance - The amount of time that a fragment's start/end can be within in order to be considered contiguous\n * @returns a matching fragment or null\n */\n function findFragmentByPTS(fragPrevious, fragments, bufferEnd, maxFragLookUpTolerance) {\n if (bufferEnd === void 0) {\n bufferEnd = 0;\n }\n if (maxFragLookUpTolerance === void 0) {\n maxFragLookUpTolerance = 0;\n }\n var fragNext = null;\n if (fragPrevious) {\n fragNext = fragments[fragPrevious.sn - fragments[0].sn + 1] || null;\n // check for buffer-end rounding error\n var bufferEdgeError = fragPrevious.endDTS - bufferEnd;\n if (bufferEdgeError > 0 && bufferEdgeError < 0.0000015) {\n bufferEnd += 0.0000015;\n }\n } else if (bufferEnd === 0 && fragments[0].start === 0) {\n fragNext = fragments[0];\n }\n // Prefer the next fragment if it's within tolerance\n if (fragNext && (!fragPrevious || fragPrevious.level === fragNext.level) && fragmentWithinToleranceTest(bufferEnd, maxFragLookUpTolerance, fragNext) === 0) {\n return fragNext;\n }\n // We might be seeking past the tolerance so find the best match\n var foundFragment = BinarySearch.search(fragments, fragmentWithinToleranceTest.bind(null, bufferEnd, maxFragLookUpTolerance));\n if (foundFragment && (foundFragment !== fragPrevious || !fragNext)) {\n return foundFragment;\n }\n // If no match was found return the next fragment after fragPrevious, or null\n return fragNext;\n }\n\n /**\n * The test function used by the findFragmentBySn's BinarySearch to look for the best match to the current buffer conditions.\n * @param candidate - The fragment to test\n * @param bufferEnd - The end of the current buffered range the playhead is currently within\n * @param maxFragLookUpTolerance - The amount of time that a fragment's start can be within in order to be considered contiguous\n * @returns 0 if it matches, 1 if too low, -1 if too high\n */\n function fragmentWithinToleranceTest(bufferEnd, maxFragLookUpTolerance, candidate) {\n if (bufferEnd === void 0) {\n bufferEnd = 0;\n }\n if (maxFragLookUpTolerance === void 0) {\n maxFragLookUpTolerance = 0;\n }\n // eagerly accept an accurate match (no tolerance)\n if (candidate.start <= bufferEnd && candidate.start + candidate.duration > bufferEnd) {\n return 0;\n }\n // offset should be within fragment boundary - config.maxFragLookUpTolerance\n // this is to cope with situations like\n // bufferEnd = 9.991\n // frag[Ø] : [0,10]\n // frag[1] : [10,20]\n // bufferEnd is within frag[0] range ... although what we are expecting is to return frag[1] here\n // frag start frag start+duration\n // |-----------------------------|\n // <---> <--->\n // ...--------><-----------------------------><---------....\n // previous frag matching fragment next frag\n // return -1 return 0 return 1\n // logger.log(`level/sn/start/end/bufEnd:${level}/${candidate.sn}/${candidate.start}/${(candidate.start+candidate.duration)}/${bufferEnd}`);\n // Set the lookup tolerance to be small enough to detect the current segment - ensures we don't skip over very small segments\n var candidateLookupTolerance = Math.min(maxFragLookUpTolerance, candidate.duration + (candidate.deltaPTS ? candidate.deltaPTS : 0));\n if (candidate.start + candidate.duration - candidateLookupTolerance <= bufferEnd) {\n return 1;\n } else if (candidate.start - candidateLookupTolerance > bufferEnd && candidate.start) {\n // if maxFragLookUpTolerance will have negative value then don't return -1 for first element\n return -1;\n }\n return 0;\n }\n\n /**\n * The test function used by the findFragmentByPdt's BinarySearch to look for the best match to the current buffer conditions.\n * This function tests the candidate's program date time values, as represented in Unix time\n * @param candidate - The fragment to test\n * @param pdtBufferEnd - The Unix time representing the end of the current buffered range\n * @param maxFragLookUpTolerance - The amount of time that a fragment's start can be within in order to be considered contiguous\n * @returns true if contiguous, false otherwise\n */\n function pdtWithinToleranceTest(pdtBufferEnd, maxFragLookUpTolerance, candidate) {\n var candidateLookupTolerance = Math.min(maxFragLookUpTolerance, candidate.duration + (candidate.deltaPTS ? candidate.deltaPTS : 0)) * 1000;\n\n // endProgramDateTime can be null, default to zero\n var endProgramDateTime = candidate.endProgramDateTime || 0;\n return endProgramDateTime - candidateLookupTolerance > pdtBufferEnd;\n }\n function findFragWithCC(fragments, cc) {\n return BinarySearch.search(fragments, function (candidate) {\n if (candidate.cc < cc) {\n return 1;\n } else if (candidate.cc > cc) {\n return -1;\n } else {\n return 0;\n }\n });\n }\n\n var NetworkErrorAction = {\n DoNothing: 0,\n SendEndCallback: 1,\n SendAlternateToPenaltyBox: 2,\n RemoveAlternatePermanently: 3,\n InsertDiscontinuity: 4,\n RetryRequest: 5\n };\n var ErrorActionFlags = {\n None: 0,\n MoveAllAlternatesMatchingHost: 1,\n MoveAllAlternatesMatchingHDCP: 2,\n SwitchToSDR: 4\n }; // Reserved for future use\n var ErrorController = /*#__PURE__*/function () {\n function ErrorController(hls) {\n this.hls = void 0;\n this.playlistError = 0;\n this.penalizedRenditions = {};\n this.log = void 0;\n this.warn = void 0;\n this.error = void 0;\n this.hls = hls;\n this.log = logger.log.bind(logger, \"[info]:\");\n this.warn = logger.warn.bind(logger, \"[warning]:\");\n this.error = logger.error.bind(logger, \"[error]:\");\n this.registerListeners();\n }\n var _proto = ErrorController.prototype;\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.ERROR, this.onError, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n if (!hls) {\n return;\n }\n hls.off(Events.ERROR, this.onError, this);\n hls.off(Events.ERROR, this.onErrorOut, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n // @ts-ignore\n this.hls = null;\n this.penalizedRenditions = {};\n };\n _proto.startLoad = function startLoad(startPosition) {};\n _proto.stopLoad = function stopLoad() {\n this.playlistError = 0;\n };\n _proto.getVariantLevelIndex = function getVariantLevelIndex(frag) {\n return (frag == null ? void 0 : frag.type) === PlaylistLevelType.MAIN ? frag.level : this.hls.loadLevel;\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.playlistError = 0;\n this.penalizedRenditions = {};\n };\n _proto.onLevelUpdated = function onLevelUpdated() {\n this.playlistError = 0;\n };\n _proto.onError = function onError(event, data) {\n var _data$frag, _data$level;\n if (data.fatal) {\n return;\n }\n var hls = this.hls;\n var context = data.context;\n switch (data.details) {\n case ErrorDetails.FRAG_LOAD_ERROR:\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n case ErrorDetails.KEY_LOAD_ERROR:\n case ErrorDetails.KEY_LOAD_TIMEOUT:\n data.errorAction = this.getFragRetryOrSwitchAction(data);\n return;\n case ErrorDetails.FRAG_PARSING_ERROR:\n // ignore empty segment errors marked as gap\n if ((_data$frag = data.frag) != null && _data$frag.gap) {\n data.errorAction = {\n action: NetworkErrorAction.DoNothing,\n flags: ErrorActionFlags.None\n };\n return;\n }\n // falls through\n case ErrorDetails.FRAG_GAP:\n case ErrorDetails.FRAG_DECRYPT_ERROR:\n {\n // Switch level if possible, otherwise allow retry count to reach max error retries\n data.errorAction = this.getFragRetryOrSwitchAction(data);\n data.errorAction.action = NetworkErrorAction.SendAlternateToPenaltyBox;\n return;\n }\n case ErrorDetails.LEVEL_EMPTY_ERROR:\n case ErrorDetails.LEVEL_PARSING_ERROR:\n {\n var _data$context, _data$context$levelDe;\n // Only retry when empty and live\n var levelIndex = data.parent === PlaylistLevelType.MAIN ? data.level : hls.loadLevel;\n if (data.details === ErrorDetails.LEVEL_EMPTY_ERROR && !!((_data$context = data.context) != null && (_data$context$levelDe = _data$context.levelDetails) != null && _data$context$levelDe.live)) {\n data.errorAction = this.getPlaylistRetryOrSwitchAction(data, levelIndex);\n } else {\n // Escalate to fatal if not retrying or switching\n data.levelRetry = false;\n data.errorAction = this.getLevelSwitchAction(data, levelIndex);\n }\n }\n return;\n case ErrorDetails.LEVEL_LOAD_ERROR:\n case ErrorDetails.LEVEL_LOAD_TIMEOUT:\n if (typeof (context == null ? void 0 : context.level) === 'number') {\n data.errorAction = this.getPlaylistRetryOrSwitchAction(data, context.level);\n }\n return;\n case ErrorDetails.AUDIO_TRACK_LOAD_ERROR:\n case ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT:\n case ErrorDetails.SUBTITLE_LOAD_ERROR:\n case ErrorDetails.SUBTITLE_TRACK_LOAD_TIMEOUT:\n if (context) {\n var level = hls.levels[hls.loadLevel];\n if (level && (context.type === PlaylistContextType.AUDIO_TRACK && level.hasAudioGroup(context.groupId) || context.type === PlaylistContextType.SUBTITLE_TRACK && level.hasSubtitleGroup(context.groupId))) {\n // Perform Pathway switch or Redundant failover if possible for fastest recovery\n // otherwise allow playlist retry count to reach max error retries\n data.errorAction = this.getPlaylistRetryOrSwitchAction(data, hls.loadLevel);\n data.errorAction.action = NetworkErrorAction.SendAlternateToPenaltyBox;\n data.errorAction.flags = ErrorActionFlags.MoveAllAlternatesMatchingHost;\n return;\n }\n }\n return;\n case ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:\n {\n var _level = hls.levels[hls.loadLevel];\n var restrictedHdcpLevel = _level == null ? void 0 : _level.attrs['HDCP-LEVEL'];\n if (restrictedHdcpLevel) {\n data.errorAction = {\n action: NetworkErrorAction.SendAlternateToPenaltyBox,\n flags: ErrorActionFlags.MoveAllAlternatesMatchingHDCP,\n hdcpLevel: restrictedHdcpLevel\n };\n } else {\n this.keySystemError(data);\n }\n }\n return;\n case ErrorDetails.BUFFER_ADD_CODEC_ERROR:\n case ErrorDetails.REMUX_ALLOC_ERROR:\n case ErrorDetails.BUFFER_APPEND_ERROR:\n data.errorAction = this.getLevelSwitchAction(data, (_data$level = data.level) != null ? _data$level : hls.loadLevel);\n return;\n case ErrorDetails.INTERNAL_EXCEPTION:\n case ErrorDetails.BUFFER_APPENDING_ERROR:\n case ErrorDetails.BUFFER_FULL_ERROR:\n case ErrorDetails.LEVEL_SWITCH_ERROR:\n case ErrorDetails.BUFFER_STALLED_ERROR:\n case ErrorDetails.BUFFER_SEEK_OVER_HOLE:\n case ErrorDetails.BUFFER_NUDGE_ON_STALL:\n data.errorAction = {\n action: NetworkErrorAction.DoNothing,\n flags: ErrorActionFlags.None\n };\n return;\n }\n if (data.type === ErrorTypes.KEY_SYSTEM_ERROR) {\n this.keySystemError(data);\n }\n };\n _proto.keySystemError = function keySystemError(data) {\n var levelIndex = this.getVariantLevelIndex(data.frag);\n // Do not retry level. Escalate to fatal if switching levels fails.\n data.levelRetry = false;\n data.errorAction = this.getLevelSwitchAction(data, levelIndex);\n };\n _proto.getPlaylistRetryOrSwitchAction = function getPlaylistRetryOrSwitchAction(data, levelIndex) {\n var hls = this.hls;\n var retryConfig = getRetryConfig(hls.config.playlistLoadPolicy, data);\n var retryCount = this.playlistError++;\n var retry = shouldRetry(retryConfig, retryCount, isTimeoutError(data), data.response);\n if (retry) {\n return {\n action: NetworkErrorAction.RetryRequest,\n flags: ErrorActionFlags.None,\n retryConfig: retryConfig,\n retryCount: retryCount\n };\n }\n var errorAction = this.getLevelSwitchAction(data, levelIndex);\n if (retryConfig) {\n errorAction.retryConfig = retryConfig;\n errorAction.retryCount = retryCount;\n }\n return errorAction;\n };\n _proto.getFragRetryOrSwitchAction = function getFragRetryOrSwitchAction(data) {\n var hls = this.hls;\n // Share fragment error count accross media options (main, audio, subs)\n // This allows for level based rendition switching when media option assets fail\n var variantLevelIndex = this.getVariantLevelIndex(data.frag);\n var level = hls.levels[variantLevelIndex];\n var _hls$config = hls.config,\n fragLoadPolicy = _hls$config.fragLoadPolicy,\n keyLoadPolicy = _hls$config.keyLoadPolicy;\n var retryConfig = getRetryConfig(data.details.startsWith('key') ? keyLoadPolicy : fragLoadPolicy, data);\n var fragmentErrors = hls.levels.reduce(function (acc, level) {\n return acc + level.fragmentError;\n }, 0);\n // Switch levels when out of retried or level index out of bounds\n if (level) {\n if (data.details !== ErrorDetails.FRAG_GAP) {\n level.fragmentError++;\n }\n var retry = shouldRetry(retryConfig, fragmentErrors, isTimeoutError(data), data.response);\n if (retry) {\n return {\n action: NetworkErrorAction.RetryRequest,\n flags: ErrorActionFlags.None,\n retryConfig: retryConfig,\n retryCount: fragmentErrors\n };\n }\n }\n // Reach max retry count, or Missing level reference\n // Switch to valid index\n var errorAction = this.getLevelSwitchAction(data, variantLevelIndex);\n // Add retry details to allow skipping of FRAG_PARSING_ERROR\n if (retryConfig) {\n errorAction.retryConfig = retryConfig;\n errorAction.retryCount = fragmentErrors;\n }\n return errorAction;\n };\n _proto.getLevelSwitchAction = function getLevelSwitchAction(data, levelIndex) {\n var hls = this.hls;\n if (levelIndex === null || levelIndex === undefined) {\n levelIndex = hls.loadLevel;\n }\n var level = this.hls.levels[levelIndex];\n if (level) {\n var _data$frag2, _data$context2;\n var errorDetails = data.details;\n level.loadError++;\n if (errorDetails === ErrorDetails.BUFFER_APPEND_ERROR) {\n level.fragmentError++;\n }\n // Search for next level to retry\n var nextLevel = -1;\n var levels = hls.levels,\n loadLevel = hls.loadLevel,\n minAutoLevel = hls.minAutoLevel,\n maxAutoLevel = hls.maxAutoLevel;\n if (!hls.autoLevelEnabled) {\n hls.loadLevel = -1;\n }\n var fragErrorType = (_data$frag2 = data.frag) == null ? void 0 : _data$frag2.type;\n // Find alternate audio codec if available on audio codec error\n var isAudioCodecError = fragErrorType === PlaylistLevelType.AUDIO && errorDetails === ErrorDetails.FRAG_PARSING_ERROR || data.sourceBufferName === 'audio' && (errorDetails === ErrorDetails.BUFFER_ADD_CODEC_ERROR || errorDetails === ErrorDetails.BUFFER_APPEND_ERROR);\n var findAudioCodecAlternate = isAudioCodecError && levels.some(function (_ref) {\n var audioCodec = _ref.audioCodec;\n return level.audioCodec !== audioCodec;\n });\n // Find alternate video codec if available on video codec error\n var isVideoCodecError = data.sourceBufferName === 'video' && (errorDetails === ErrorDetails.BUFFER_ADD_CODEC_ERROR || errorDetails === ErrorDetails.BUFFER_APPEND_ERROR);\n var findVideoCodecAlternate = isVideoCodecError && levels.some(function (_ref2) {\n var codecSet = _ref2.codecSet,\n audioCodec = _ref2.audioCodec;\n return level.codecSet !== codecSet && level.audioCodec === audioCodec;\n });\n var _ref3 = (_data$context2 = data.context) != null ? _data$context2 : {},\n playlistErrorType = _ref3.type,\n playlistErrorGroupId = _ref3.groupId;\n var _loop = function _loop() {\n var candidate = (i + loadLevel) % levels.length;\n if (candidate !== loadLevel && candidate >= minAutoLevel && candidate <= maxAutoLevel && levels[candidate].loadError === 0) {\n var _level$audioGroups, _level$subtitleGroups;\n var levelCandidate = levels[candidate];\n // Skip level switch if GAP tag is found in next level at same position\n if (errorDetails === ErrorDetails.FRAG_GAP && data.frag) {\n var levelDetails = levels[candidate].details;\n if (levelDetails) {\n var fragCandidate = findFragmentByPTS(data.frag, levelDetails.fragments, data.frag.start);\n if (fragCandidate != null && fragCandidate.gap) {\n return 0; // continue\n }\n }\n } else if (playlistErrorType === PlaylistContextType.AUDIO_TRACK && levelCandidate.hasAudioGroup(playlistErrorGroupId) || playlistErrorType === PlaylistContextType.SUBTITLE_TRACK && levelCandidate.hasSubtitleGroup(playlistErrorGroupId)) {\n // For audio/subs playlist errors find another group ID or fallthrough to redundant fail-over\n return 0; // continue\n } else if (fragErrorType === PlaylistLevelType.AUDIO && (_level$audioGroups = level.audioGroups) != null && _level$audioGroups.some(function (groupId) {\n return levelCandidate.hasAudioGroup(groupId);\n }) || fragErrorType === PlaylistLevelType.SUBTITLE && (_level$subtitleGroups = level.subtitleGroups) != null && _level$subtitleGroups.some(function (groupId) {\n return levelCandidate.hasSubtitleGroup(groupId);\n }) || findAudioCodecAlternate && level.audioCodec === levelCandidate.audioCodec || !findAudioCodecAlternate && level.audioCodec !== levelCandidate.audioCodec || findVideoCodecAlternate && level.codecSet === levelCandidate.codecSet) {\n // For video/audio/subs frag errors find another group ID or fallthrough to redundant fail-over\n return 0; // continue\n }\n nextLevel = candidate;\n return 1; // break\n }\n },\n _ret;\n for (var i = levels.length; i--;) {\n _ret = _loop();\n if (_ret === 0) continue;\n if (_ret === 1) break;\n }\n if (nextLevel > -1 && hls.loadLevel !== nextLevel) {\n data.levelRetry = true;\n this.playlistError = 0;\n return {\n action: NetworkErrorAction.SendAlternateToPenaltyBox,\n flags: ErrorActionFlags.None,\n nextAutoLevel: nextLevel\n };\n }\n }\n // No levels to switch / Manual level selection / Level not found\n // Resolve with Pathway switch, Redundant fail-over, or stay on lowest Level\n return {\n action: NetworkErrorAction.SendAlternateToPenaltyBox,\n flags: ErrorActionFlags.MoveAllAlternatesMatchingHost\n };\n };\n _proto.onErrorOut = function onErrorOut(event, data) {\n var _data$errorAction;\n switch ((_data$errorAction = data.errorAction) == null ? void 0 : _data$errorAction.action) {\n case NetworkErrorAction.DoNothing:\n break;\n case NetworkErrorAction.SendAlternateToPenaltyBox:\n this.sendAlternateToPenaltyBox(data);\n if (!data.errorAction.resolved && data.details !== ErrorDetails.FRAG_GAP) {\n data.fatal = true;\n } else if (/MediaSource readyState: ended/.test(data.error.message)) {\n this.warn(\"MediaSource ended after \\\"\" + data.sourceBufferName + \"\\\" sourceBuffer append error. Attempting to recover from media error.\");\n this.hls.recoverMediaError();\n }\n break;\n }\n if (data.fatal) {\n this.hls.stopLoad();\n return;\n }\n };\n _proto.sendAlternateToPenaltyBox = function sendAlternateToPenaltyBox(data) {\n var hls = this.hls;\n var errorAction = data.errorAction;\n if (!errorAction) {\n return;\n }\n var flags = errorAction.flags,\n hdcpLevel = errorAction.hdcpLevel,\n nextAutoLevel = errorAction.nextAutoLevel;\n switch (flags) {\n case ErrorActionFlags.None:\n this.switchLevel(data, nextAutoLevel);\n break;\n case ErrorActionFlags.MoveAllAlternatesMatchingHDCP:\n if (hdcpLevel) {\n hls.maxHdcpLevel = HdcpLevels[HdcpLevels.indexOf(hdcpLevel) - 1];\n errorAction.resolved = true;\n }\n this.warn(\"Restricting playback to HDCP-LEVEL of \\\"\" + hls.maxHdcpLevel + \"\\\" or lower\");\n break;\n }\n // If not resolved by previous actions try to switch to next level\n if (!errorAction.resolved) {\n this.switchLevel(data, nextAutoLevel);\n }\n };\n _proto.switchLevel = function switchLevel(data, levelIndex) {\n if (levelIndex !== undefined && data.errorAction) {\n this.warn(\"switching to level \" + levelIndex + \" after \" + data.details);\n this.hls.nextAutoLevel = levelIndex;\n data.errorAction.resolved = true;\n // Stream controller is responsible for this but won't switch on false start\n this.hls.nextLoadLevel = this.hls.nextAutoLevel;\n }\n };\n return ErrorController;\n }();\n\n var BasePlaylistController = /*#__PURE__*/function () {\n function BasePlaylistController(hls, logPrefix) {\n this.hls = void 0;\n this.timer = -1;\n this.requestScheduled = -1;\n this.canLoad = false;\n this.log = void 0;\n this.warn = void 0;\n this.log = logger.log.bind(logger, logPrefix + \":\");\n this.warn = logger.warn.bind(logger, logPrefix + \":\");\n this.hls = hls;\n }\n var _proto = BasePlaylistController.prototype;\n _proto.destroy = function destroy() {\n this.clearTimer();\n // @ts-ignore\n this.hls = this.log = this.warn = null;\n };\n _proto.clearTimer = function clearTimer() {\n if (this.timer !== -1) {\n self.clearTimeout(this.timer);\n this.timer = -1;\n }\n };\n _proto.startLoad = function startLoad() {\n this.canLoad = true;\n this.requestScheduled = -1;\n this.loadPlaylist();\n };\n _proto.stopLoad = function stopLoad() {\n this.canLoad = false;\n this.clearTimer();\n };\n _proto.switchParams = function switchParams(playlistUri, previous) {\n var renditionReports = previous == null ? void 0 : previous.renditionReports;\n if (renditionReports) {\n var foundIndex = -1;\n for (var i = 0; i < renditionReports.length; i++) {\n var attr = renditionReports[i];\n var uri = void 0;\n try {\n uri = new self.URL(attr.URI, previous.url).href;\n } catch (error) {\n logger.warn(\"Could not construct new URL for Rendition Report: \" + error);\n uri = attr.URI || '';\n }\n // Use exact match. Otherwise, the last partial match, if any, will be used\n // (Playlist URI includes a query string that the Rendition Report does not)\n if (uri === playlistUri) {\n foundIndex = i;\n break;\n } else if (uri === playlistUri.substring(0, uri.length)) {\n foundIndex = i;\n }\n }\n if (foundIndex !== -1) {\n var _attr = renditionReports[foundIndex];\n var msn = parseInt(_attr['LAST-MSN']) || (previous == null ? void 0 : previous.lastPartSn);\n var part = parseInt(_attr['LAST-PART']) || (previous == null ? void 0 : previous.lastPartIndex);\n if (this.hls.config.lowLatencyMode) {\n var currentGoal = Math.min(previous.age - previous.partTarget, previous.targetduration);\n if (part >= 0 && currentGoal > previous.partTarget) {\n part += 1;\n }\n }\n return new HlsUrlParameters(msn, part >= 0 ? part : undefined, HlsSkip.No);\n }\n }\n };\n _proto.loadPlaylist = function loadPlaylist(hlsUrlParameters) {\n if (this.requestScheduled === -1) {\n this.requestScheduled = self.performance.now();\n }\n // Loading is handled by the subclasses\n };\n _proto.shouldLoadPlaylist = function shouldLoadPlaylist(playlist) {\n return this.canLoad && !!playlist && !!playlist.url && (!playlist.details || playlist.details.live);\n };\n _proto.shouldReloadPlaylist = function shouldReloadPlaylist(playlist) {\n return this.timer === -1 && this.requestScheduled === -1 && this.shouldLoadPlaylist(playlist);\n };\n _proto.playlistLoaded = function playlistLoaded(index, data, previousDetails) {\n var _this = this;\n var details = data.details,\n stats = data.stats;\n\n // Set last updated date-time\n var now = self.performance.now();\n var elapsed = stats.loading.first ? Math.max(0, now - stats.loading.first) : 0;\n details.advancedDateTime = Date.now() - elapsed;\n\n // if current playlist is a live playlist, arm a timer to reload it\n if (details.live || previousDetails != null && previousDetails.live) {\n details.reloaded(previousDetails);\n if (previousDetails) {\n this.log(\"live playlist \" + index + \" \" + (details.advanced ? 'REFRESHED ' + details.lastPartSn + '-' + details.lastPartIndex : details.updated ? 'UPDATED' : 'MISSED'));\n }\n // Merge live playlists to adjust fragment starts and fill in delta playlist skipped segments\n if (previousDetails && details.fragments.length > 0) {\n mergeDetails(previousDetails, details);\n }\n if (!this.canLoad || !details.live) {\n return;\n }\n var deliveryDirectives;\n var msn = undefined;\n var part = undefined;\n if (details.canBlockReload && details.endSN && details.advanced) {\n // Load level with LL-HLS delivery directives\n var lowLatencyMode = this.hls.config.lowLatencyMode;\n var lastPartSn = details.lastPartSn;\n var endSn = details.endSN;\n var lastPartIndex = details.lastPartIndex;\n var hasParts = lastPartIndex !== -1;\n var lastPart = lastPartSn === endSn;\n // When low latency mode is disabled, we'll skip part requests once the last part index is found\n var nextSnStartIndex = lowLatencyMode ? 0 : lastPartIndex;\n if (hasParts) {\n msn = lastPart ? endSn + 1 : lastPartSn;\n part = lastPart ? nextSnStartIndex : lastPartIndex + 1;\n } else {\n msn = endSn + 1;\n }\n // Low-Latency CDN Tune-in: \"age\" header and time since load indicates we're behind by more than one part\n // Update directives to obtain the Playlist that has the estimated additional duration of media\n var lastAdvanced = details.age;\n var cdnAge = lastAdvanced + details.ageHeader;\n var currentGoal = Math.min(cdnAge - details.partTarget, details.targetduration * 1.5);\n if (currentGoal > 0) {\n if (previousDetails && currentGoal > previousDetails.tuneInGoal) {\n // If we attempted to get the next or latest playlist update, but currentGoal increased,\n // then we either can't catchup, or the \"age\" header cannot be trusted.\n this.warn(\"CDN Tune-in goal increased from: \" + previousDetails.tuneInGoal + \" to: \" + currentGoal + \" with playlist age: \" + details.age);\n currentGoal = 0;\n } else {\n var segments = Math.floor(currentGoal / details.targetduration);\n msn += segments;\n if (part !== undefined) {\n var parts = Math.round(currentGoal % details.targetduration / details.partTarget);\n part += parts;\n }\n this.log(\"CDN Tune-in age: \" + details.ageHeader + \"s last advanced \" + lastAdvanced.toFixed(2) + \"s goal: \" + currentGoal + \" skip sn \" + segments + \" to part \" + part);\n }\n details.tuneInGoal = currentGoal;\n }\n deliveryDirectives = this.getDeliveryDirectives(details, data.deliveryDirectives, msn, part);\n if (lowLatencyMode || !lastPart) {\n this.loadPlaylist(deliveryDirectives);\n return;\n }\n } else if (details.canBlockReload || details.canSkipUntil) {\n deliveryDirectives = this.getDeliveryDirectives(details, data.deliveryDirectives, msn, part);\n }\n var bufferInfo = this.hls.mainForwardBufferInfo;\n var position = bufferInfo ? bufferInfo.end - bufferInfo.len : 0;\n var distanceToLiveEdgeMs = (details.edge - position) * 1000;\n var reloadInterval = computeReloadInterval(details, distanceToLiveEdgeMs);\n if (details.updated && now > this.requestScheduled + reloadInterval) {\n this.requestScheduled = stats.loading.start;\n }\n if (msn !== undefined && details.canBlockReload) {\n this.requestScheduled = stats.loading.first + reloadInterval - (details.partTarget * 1000 || 1000);\n } else if (this.requestScheduled === -1 || this.requestScheduled + reloadInterval < now) {\n this.requestScheduled = now;\n } else if (this.requestScheduled - now <= 0) {\n this.requestScheduled += reloadInterval;\n }\n var estimatedTimeUntilUpdate = this.requestScheduled - now;\n estimatedTimeUntilUpdate = Math.max(0, estimatedTimeUntilUpdate);\n this.log(\"reload live playlist \" + index + \" in \" + Math.round(estimatedTimeUntilUpdate) + \" ms\");\n // this.log(\n // `live reload ${details.updated ? 'REFRESHED' : 'MISSED'}\n // reload in ${estimatedTimeUntilUpdate / 1000}\n // round trip ${(stats.loading.end - stats.loading.start) / 1000}\n // diff ${\n // (reloadInterval -\n // (estimatedTimeUntilUpdate +\n // stats.loading.end -\n // stats.loading.start)) /\n // 1000\n // }\n // reload interval ${reloadInterval / 1000}\n // target duration ${details.targetduration}\n // distance to edge ${distanceToLiveEdgeMs / 1000}`\n // );\n\n this.timer = self.setTimeout(function () {\n return _this.loadPlaylist(deliveryDirectives);\n }, estimatedTimeUntilUpdate);\n } else {\n this.clearTimer();\n }\n };\n _proto.getDeliveryDirectives = function getDeliveryDirectives(details, previousDeliveryDirectives, msn, part) {\n var skip = getSkipValue(details, msn);\n if (previousDeliveryDirectives != null && previousDeliveryDirectives.skip && details.deltaUpdateFailed) {\n msn = previousDeliveryDirectives.msn;\n part = previousDeliveryDirectives.part;\n skip = HlsSkip.No;\n }\n return new HlsUrlParameters(msn, part, skip);\n };\n _proto.checkRetry = function checkRetry(errorEvent) {\n var _this2 = this;\n var errorDetails = errorEvent.details;\n var isTimeout = isTimeoutError(errorEvent);\n var errorAction = errorEvent.errorAction;\n var _ref = errorAction || {},\n action = _ref.action,\n _ref$retryCount = _ref.retryCount,\n retryCount = _ref$retryCount === void 0 ? 0 : _ref$retryCount,\n retryConfig = _ref.retryConfig;\n var retry = !!errorAction && !!retryConfig && (action === NetworkErrorAction.RetryRequest || !errorAction.resolved && action === NetworkErrorAction.SendAlternateToPenaltyBox);\n if (retry) {\n var _errorEvent$context;\n this.requestScheduled = -1;\n if (retryCount >= retryConfig.maxNumRetry) {\n return false;\n }\n if (isTimeout && (_errorEvent$context = errorEvent.context) != null && _errorEvent$context.deliveryDirectives) {\n // The LL-HLS request already timed out so retry immediately\n this.warn(\"Retrying playlist loading \" + (retryCount + 1) + \"/\" + retryConfig.maxNumRetry + \" after \\\"\" + errorDetails + \"\\\" without delivery-directives\");\n this.loadPlaylist();\n } else {\n var delay = getRetryDelay(retryConfig, retryCount);\n // Schedule level/track reload\n this.timer = self.setTimeout(function () {\n return _this2.loadPlaylist();\n }, delay);\n this.warn(\"Retrying playlist loading \" + (retryCount + 1) + \"/\" + retryConfig.maxNumRetry + \" after \\\"\" + errorDetails + \"\\\" in \" + delay + \"ms\");\n }\n // `levelRetry = true` used to inform other controllers that a retry is happening\n errorEvent.levelRetry = true;\n errorAction.resolved = true;\n }\n return retry;\n };\n return BasePlaylistController;\n }();\n\n /*\n * compute an Exponential Weighted moving average\n * - https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average\n * - heavily inspired from shaka-player\n */\n var EWMA = /*#__PURE__*/function () {\n // About half of the estimated value will be from the last |halfLife| samples by weight.\n function EWMA(halfLife, estimate, weight) {\n if (estimate === void 0) {\n estimate = 0;\n }\n if (weight === void 0) {\n weight = 0;\n }\n this.halfLife = void 0;\n this.alpha_ = void 0;\n this.estimate_ = void 0;\n this.totalWeight_ = void 0;\n this.halfLife = halfLife;\n // Larger values of alpha expire historical data more slowly.\n this.alpha_ = halfLife ? Math.exp(Math.log(0.5) / halfLife) : 0;\n this.estimate_ = estimate;\n this.totalWeight_ = weight;\n }\n var _proto = EWMA.prototype;\n _proto.sample = function sample(weight, value) {\n var adjAlpha = Math.pow(this.alpha_, weight);\n this.estimate_ = value * (1 - adjAlpha) + adjAlpha * this.estimate_;\n this.totalWeight_ += weight;\n };\n _proto.getTotalWeight = function getTotalWeight() {\n return this.totalWeight_;\n };\n _proto.getEstimate = function getEstimate() {\n if (this.alpha_) {\n var zeroFactor = 1 - Math.pow(this.alpha_, this.totalWeight_);\n if (zeroFactor) {\n return this.estimate_ / zeroFactor;\n }\n }\n return this.estimate_;\n };\n return EWMA;\n }();\n\n /*\n * EWMA Bandwidth Estimator\n * - heavily inspired from shaka-player\n * Tracks bandwidth samples and estimates available bandwidth.\n * Based on the minimum of two exponentially-weighted moving averages with\n * different half-lives.\n */\n\n var EwmaBandWidthEstimator = /*#__PURE__*/function () {\n function EwmaBandWidthEstimator(slow, fast, defaultEstimate, defaultTTFB) {\n if (defaultTTFB === void 0) {\n defaultTTFB = 100;\n }\n this.defaultEstimate_ = void 0;\n this.minWeight_ = void 0;\n this.minDelayMs_ = void 0;\n this.slow_ = void 0;\n this.fast_ = void 0;\n this.defaultTTFB_ = void 0;\n this.ttfb_ = void 0;\n this.defaultEstimate_ = defaultEstimate;\n this.minWeight_ = 0.001;\n this.minDelayMs_ = 50;\n this.slow_ = new EWMA(slow);\n this.fast_ = new EWMA(fast);\n this.defaultTTFB_ = defaultTTFB;\n this.ttfb_ = new EWMA(slow);\n }\n var _proto = EwmaBandWidthEstimator.prototype;\n _proto.update = function update(slow, fast) {\n var slow_ = this.slow_,\n fast_ = this.fast_,\n ttfb_ = this.ttfb_;\n if (slow_.halfLife !== slow) {\n this.slow_ = new EWMA(slow, slow_.getEstimate(), slow_.getTotalWeight());\n }\n if (fast_.halfLife !== fast) {\n this.fast_ = new EWMA(fast, fast_.getEstimate(), fast_.getTotalWeight());\n }\n if (ttfb_.halfLife !== slow) {\n this.ttfb_ = new EWMA(slow, ttfb_.getEstimate(), ttfb_.getTotalWeight());\n }\n };\n _proto.sample = function sample(durationMs, numBytes) {\n durationMs = Math.max(durationMs, this.minDelayMs_);\n var numBits = 8 * numBytes;\n // weight is duration in seconds\n var durationS = durationMs / 1000;\n // value is bandwidth in bits/s\n var bandwidthInBps = numBits / durationS;\n this.fast_.sample(durationS, bandwidthInBps);\n this.slow_.sample(durationS, bandwidthInBps);\n };\n _proto.sampleTTFB = function sampleTTFB(ttfb) {\n // weight is frequency curve applied to TTFB in seconds\n // (longer times have less weight with expected input under 1 second)\n var seconds = ttfb / 1000;\n var weight = Math.sqrt(2) * Math.exp(-Math.pow(seconds, 2) / 2);\n this.ttfb_.sample(weight, Math.max(ttfb, 5));\n };\n _proto.canEstimate = function canEstimate() {\n return this.fast_.getTotalWeight() >= this.minWeight_;\n };\n _proto.getEstimate = function getEstimate() {\n if (this.canEstimate()) {\n // console.log('slow estimate:'+ Math.round(this.slow_.getEstimate()));\n // console.log('fast estimate:'+ Math.round(this.fast_.getEstimate()));\n // Take the minimum of these two estimates. This should have the effect of\n // adapting down quickly, but up more slowly.\n return Math.min(this.fast_.getEstimate(), this.slow_.getEstimate());\n } else {\n return this.defaultEstimate_;\n }\n };\n _proto.getEstimateTTFB = function getEstimateTTFB() {\n if (this.ttfb_.getTotalWeight() >= this.minWeight_) {\n return this.ttfb_.getEstimate();\n } else {\n return this.defaultTTFB_;\n }\n };\n _proto.destroy = function destroy() {};\n return EwmaBandWidthEstimator;\n }();\n\n var SUPPORTED_INFO_DEFAULT = {\n supported: true,\n configurations: [],\n decodingInfoResults: [{\n supported: true,\n powerEfficient: true,\n smooth: true\n }]\n };\n var SUPPORTED_INFO_CACHE = {};\n function requiresMediaCapabilitiesDecodingInfo(level, audioTracksByGroup, currentVideoRange, currentFrameRate, currentBw, audioPreference) {\n // Only test support when configuration is exceeds minimum options\n var audioGroups = level.audioCodec ? level.audioGroups : null;\n var audioCodecPreference = audioPreference == null ? void 0 : audioPreference.audioCodec;\n var channelsPreference = audioPreference == null ? void 0 : audioPreference.channels;\n var maxChannels = channelsPreference ? parseInt(channelsPreference) : audioCodecPreference ? Infinity : 2;\n var audioChannels = null;\n if (audioGroups != null && audioGroups.length) {\n try {\n if (audioGroups.length === 1 && audioGroups[0]) {\n audioChannels = audioTracksByGroup.groups[audioGroups[0]].channels;\n } else {\n audioChannels = audioGroups.reduce(function (acc, groupId) {\n if (groupId) {\n var audioTrackGroup = audioTracksByGroup.groups[groupId];\n if (!audioTrackGroup) {\n throw new Error(\"Audio track group \" + groupId + \" not found\");\n }\n // Sum all channel key values\n Object.keys(audioTrackGroup.channels).forEach(function (key) {\n acc[key] = (acc[key] || 0) + audioTrackGroup.channels[key];\n });\n }\n return acc;\n }, {\n 2: 0\n });\n }\n } catch (error) {\n return true;\n }\n }\n return level.videoCodec !== undefined && (level.width > 1920 && level.height > 1088 || level.height > 1920 && level.width > 1088 || level.frameRate > Math.max(currentFrameRate, 30) || level.videoRange !== 'SDR' && level.videoRange !== currentVideoRange || level.bitrate > Math.max(currentBw, 8e6)) || !!audioChannels && isFiniteNumber(maxChannels) && Object.keys(audioChannels).some(function (channels) {\n return parseInt(channels) > maxChannels;\n });\n }\n function getMediaDecodingInfoPromise(level, audioTracksByGroup, mediaCapabilities) {\n var videoCodecs = level.videoCodec;\n var audioCodecs = level.audioCodec;\n if (!videoCodecs || !audioCodecs || !mediaCapabilities) {\n return Promise.resolve(SUPPORTED_INFO_DEFAULT);\n }\n var baseVideoConfiguration = {\n width: level.width,\n height: level.height,\n bitrate: Math.ceil(Math.max(level.bitrate * 0.9, level.averageBitrate)),\n // Assume a framerate of 30fps since MediaCapabilities will not accept Level default of 0.\n framerate: level.frameRate || 30\n };\n var videoRange = level.videoRange;\n if (videoRange !== 'SDR') {\n baseVideoConfiguration.transferFunction = videoRange.toLowerCase();\n }\n var configurations = videoCodecs.split(',').map(function (videoCodec) {\n return {\n type: 'media-source',\n video: _objectSpread2(_objectSpread2({}, baseVideoConfiguration), {}, {\n contentType: mimeTypeForCodec(videoCodec, 'video')\n })\n };\n });\n if (audioCodecs && level.audioGroups) {\n level.audioGroups.forEach(function (audioGroupId) {\n var _audioTracksByGroup$g;\n if (!audioGroupId) {\n return;\n }\n (_audioTracksByGroup$g = audioTracksByGroup.groups[audioGroupId]) == null ? void 0 : _audioTracksByGroup$g.tracks.forEach(function (audioTrack) {\n if (audioTrack.groupId === audioGroupId) {\n var channels = audioTrack.channels || '';\n var channelsNumber = parseFloat(channels);\n if (isFiniteNumber(channelsNumber) && channelsNumber > 2) {\n configurations.push.apply(configurations, audioCodecs.split(',').map(function (audioCodec) {\n return {\n type: 'media-source',\n audio: {\n contentType: mimeTypeForCodec(audioCodec, 'audio'),\n channels: '' + channelsNumber\n // spatialRendering:\n // audioCodec === 'ec-3' && channels.indexOf('JOC'),\n }\n };\n }));\n }\n }\n });\n });\n }\n return Promise.all(configurations.map(function (configuration) {\n // Cache MediaCapabilities promises\n var decodingInfoKey = getMediaDecodingInfoKey(configuration);\n return SUPPORTED_INFO_CACHE[decodingInfoKey] || (SUPPORTED_INFO_CACHE[decodingInfoKey] = mediaCapabilities.decodingInfo(configuration));\n })).then(function (decodingInfoResults) {\n return {\n supported: !decodingInfoResults.some(function (info) {\n return !info.supported;\n }),\n configurations: configurations,\n decodingInfoResults: decodingInfoResults\n };\n }).catch(function (error) {\n return {\n supported: false,\n configurations: configurations,\n decodingInfoResults: [],\n error: error\n };\n });\n }\n function getMediaDecodingInfoKey(config) {\n var audio = config.audio,\n video = config.video;\n var mediaConfig = video || audio;\n if (mediaConfig) {\n var codec = mediaConfig.contentType.split('\"')[1];\n if (video) {\n return \"r\" + video.height + \"x\" + video.width + \"f\" + Math.ceil(video.framerate) + (video.transferFunction || 'sd') + \"_\" + codec + \"_\" + Math.ceil(video.bitrate / 1e5);\n }\n if (audio) {\n return \"c\" + audio.channels + (audio.spatialRendering ? 's' : 'n') + \"_\" + codec;\n }\n }\n return '';\n }\n\n /**\n * @returns Whether we can detect and validate HDR capability within the window context\n */\n function isHdrSupported() {\n if (typeof matchMedia === 'function') {\n var mediaQueryList = matchMedia('(dynamic-range: high)');\n var badQuery = matchMedia('bad query');\n if (mediaQueryList.media !== badQuery.media) {\n return mediaQueryList.matches === true;\n }\n }\n return false;\n }\n\n /**\n * Sanitizes inputs to return the active video selection options for HDR/SDR.\n * When both inputs are null:\n *\n * `{ preferHDR: false, allowedVideoRanges: [] }`\n *\n * When `currentVideoRange` non-null, maintain the active range:\n *\n * `{ preferHDR: currentVideoRange !== 'SDR', allowedVideoRanges: [currentVideoRange] }`\n *\n * When VideoSelectionOption non-null:\n *\n * - Allow all video ranges if `allowedVideoRanges` unspecified.\n * - If `preferHDR` is non-null use the value to filter `allowedVideoRanges`.\n * - Else check window for HDR support and set `preferHDR` to the result.\n *\n * @param currentVideoRange\n * @param videoPreference\n */\n function getVideoSelectionOptions(currentVideoRange, videoPreference) {\n var preferHDR = false;\n var allowedVideoRanges = [];\n if (currentVideoRange) {\n preferHDR = currentVideoRange !== 'SDR';\n allowedVideoRanges = [currentVideoRange];\n }\n if (videoPreference) {\n allowedVideoRanges = videoPreference.allowedVideoRanges || VideoRangeValues.slice(0);\n preferHDR = videoPreference.preferHDR !== undefined ? videoPreference.preferHDR : isHdrSupported();\n if (preferHDR) {\n allowedVideoRanges = allowedVideoRanges.filter(function (range) {\n return range !== 'SDR';\n });\n } else {\n allowedVideoRanges = ['SDR'];\n }\n }\n return {\n preferHDR: preferHDR,\n allowedVideoRanges: allowedVideoRanges\n };\n }\n\n function getStartCodecTier(codecTiers, currentVideoRange, currentBw, audioPreference, videoPreference) {\n var codecSets = Object.keys(codecTiers);\n var channelsPreference = audioPreference == null ? void 0 : audioPreference.channels;\n var audioCodecPreference = audioPreference == null ? void 0 : audioPreference.audioCodec;\n var preferStereo = channelsPreference && parseInt(channelsPreference) === 2;\n // Use first level set to determine stereo, and minimum resolution and framerate\n var hasStereo = true;\n var hasCurrentVideoRange = false;\n var minHeight = Infinity;\n var minFramerate = Infinity;\n var minBitrate = Infinity;\n var selectedScore = 0;\n var videoRanges = [];\n var _getVideoSelectionOpt = getVideoSelectionOptions(currentVideoRange, videoPreference),\n preferHDR = _getVideoSelectionOpt.preferHDR,\n allowedVideoRanges = _getVideoSelectionOpt.allowedVideoRanges;\n var _loop = function _loop() {\n var tier = codecTiers[codecSets[i]];\n hasStereo = tier.channels[2] > 0;\n minHeight = Math.min(minHeight, tier.minHeight);\n minFramerate = Math.min(minFramerate, tier.minFramerate);\n minBitrate = Math.min(minBitrate, tier.minBitrate);\n var matchingVideoRanges = allowedVideoRanges.filter(function (range) {\n return tier.videoRanges[range] > 0;\n });\n if (matchingVideoRanges.length > 0) {\n hasCurrentVideoRange = true;\n videoRanges = matchingVideoRanges;\n }\n };\n for (var i = codecSets.length; i--;) {\n _loop();\n }\n minHeight = isFiniteNumber(minHeight) ? minHeight : 0;\n minFramerate = isFiniteNumber(minFramerate) ? minFramerate : 0;\n var maxHeight = Math.max(1080, minHeight);\n var maxFramerate = Math.max(30, minFramerate);\n minBitrate = isFiniteNumber(minBitrate) ? minBitrate : currentBw;\n currentBw = Math.max(minBitrate, currentBw);\n // If there are no variants with matching preference, set currentVideoRange to undefined\n if (!hasCurrentVideoRange) {\n currentVideoRange = undefined;\n videoRanges = [];\n }\n var codecSet = codecSets.reduce(function (selected, candidate) {\n // Remove candiates which do not meet bitrate, default audio, stereo or channels preference, 1080p or lower, 30fps or lower, or SDR/HDR selection if present\n var candidateTier = codecTiers[candidate];\n if (candidate === selected) {\n return selected;\n }\n if (candidateTier.minBitrate > currentBw) {\n logStartCodecCandidateIgnored(candidate, \"min bitrate of \" + candidateTier.minBitrate + \" > current estimate of \" + currentBw);\n return selected;\n }\n if (!candidateTier.hasDefaultAudio) {\n logStartCodecCandidateIgnored(candidate, \"no renditions with default or auto-select sound found\");\n return selected;\n }\n if (audioCodecPreference && candidate.indexOf(audioCodecPreference.substring(0, 4)) % 5 !== 0) {\n logStartCodecCandidateIgnored(candidate, \"audio codec preference \\\"\" + audioCodecPreference + \"\\\" not found\");\n return selected;\n }\n if (channelsPreference && !preferStereo) {\n if (!candidateTier.channels[channelsPreference]) {\n logStartCodecCandidateIgnored(candidate, \"no renditions with \" + channelsPreference + \" channel sound found (channels options: \" + Object.keys(candidateTier.channels) + \")\");\n return selected;\n }\n } else if ((!audioCodecPreference || preferStereo) && hasStereo && candidateTier.channels['2'] === 0) {\n logStartCodecCandidateIgnored(candidate, \"no renditions with stereo sound found\");\n return selected;\n }\n if (candidateTier.minHeight > maxHeight) {\n logStartCodecCandidateIgnored(candidate, \"min resolution of \" + candidateTier.minHeight + \" > maximum of \" + maxHeight);\n return selected;\n }\n if (candidateTier.minFramerate > maxFramerate) {\n logStartCodecCandidateIgnored(candidate, \"min framerate of \" + candidateTier.minFramerate + \" > maximum of \" + maxFramerate);\n return selected;\n }\n if (!videoRanges.some(function (range) {\n return candidateTier.videoRanges[range] > 0;\n })) {\n logStartCodecCandidateIgnored(candidate, \"no variants with VIDEO-RANGE of \" + JSON.stringify(videoRanges) + \" found\");\n return selected;\n }\n if (candidateTier.maxScore < selectedScore) {\n logStartCodecCandidateIgnored(candidate, \"max score of \" + candidateTier.maxScore + \" < selected max of \" + selectedScore);\n return selected;\n }\n // Remove candiates with less preferred codecs or more errors\n if (selected && (codecsSetSelectionPreferenceValue(candidate) >= codecsSetSelectionPreferenceValue(selected) || candidateTier.fragmentError > codecTiers[selected].fragmentError)) {\n return selected;\n }\n selectedScore = candidateTier.maxScore;\n return candidate;\n }, undefined);\n return {\n codecSet: codecSet,\n videoRanges: videoRanges,\n preferHDR: preferHDR,\n minFramerate: minFramerate,\n minBitrate: minBitrate\n };\n }\n function logStartCodecCandidateIgnored(codeSet, reason) {\n logger.log(\"[abr] start candidates with \\\"\" + codeSet + \"\\\" ignored because \" + reason);\n }\n function getAudioTracksByGroup(allAudioTracks) {\n return allAudioTracks.reduce(function (audioTracksByGroup, track) {\n var trackGroup = audioTracksByGroup.groups[track.groupId];\n if (!trackGroup) {\n trackGroup = audioTracksByGroup.groups[track.groupId] = {\n tracks: [],\n channels: {\n 2: 0\n },\n hasDefault: false,\n hasAutoSelect: false\n };\n }\n trackGroup.tracks.push(track);\n var channelsKey = track.channels || '2';\n trackGroup.channels[channelsKey] = (trackGroup.channels[channelsKey] || 0) + 1;\n trackGroup.hasDefault = trackGroup.hasDefault || track.default;\n trackGroup.hasAutoSelect = trackGroup.hasAutoSelect || track.autoselect;\n if (trackGroup.hasDefault) {\n audioTracksByGroup.hasDefaultAudio = true;\n }\n if (trackGroup.hasAutoSelect) {\n audioTracksByGroup.hasAutoSelectAudio = true;\n }\n return audioTracksByGroup;\n }, {\n hasDefaultAudio: false,\n hasAutoSelectAudio: false,\n groups: {}\n });\n }\n function getCodecTiers(levels, audioTracksByGroup, minAutoLevel, maxAutoLevel) {\n return levels.slice(minAutoLevel, maxAutoLevel + 1).reduce(function (tiers, level) {\n if (!level.codecSet) {\n return tiers;\n }\n var audioGroups = level.audioGroups;\n var tier = tiers[level.codecSet];\n if (!tier) {\n tiers[level.codecSet] = tier = {\n minBitrate: Infinity,\n minHeight: Infinity,\n minFramerate: Infinity,\n maxScore: 0,\n videoRanges: {\n SDR: 0\n },\n channels: {\n '2': 0\n },\n hasDefaultAudio: !audioGroups,\n fragmentError: 0\n };\n }\n tier.minBitrate = Math.min(tier.minBitrate, level.bitrate);\n var lesserWidthOrHeight = Math.min(level.height, level.width);\n tier.minHeight = Math.min(tier.minHeight, lesserWidthOrHeight);\n tier.minFramerate = Math.min(tier.minFramerate, level.frameRate);\n tier.maxScore = Math.max(tier.maxScore, level.score);\n tier.fragmentError += level.fragmentError;\n tier.videoRanges[level.videoRange] = (tier.videoRanges[level.videoRange] || 0) + 1;\n if (audioGroups) {\n audioGroups.forEach(function (audioGroupId) {\n if (!audioGroupId) {\n return;\n }\n var audioGroup = audioTracksByGroup.groups[audioGroupId];\n // Default audio is any group with DEFAULT=YES, or if missing then any group with AUTOSELECT=YES, or all variants\n tier.hasDefaultAudio = tier.hasDefaultAudio || audioTracksByGroup.hasDefaultAudio ? audioGroup.hasDefault : audioGroup.hasAutoSelect || !audioTracksByGroup.hasDefaultAudio && !audioTracksByGroup.hasAutoSelectAudio;\n Object.keys(audioGroup.channels).forEach(function (channels) {\n tier.channels[channels] = (tier.channels[channels] || 0) + audioGroup.channels[channels];\n });\n });\n }\n return tiers;\n }, {});\n }\n function findMatchingOption(option, tracks, matchPredicate) {\n if ('attrs' in option) {\n var index = tracks.indexOf(option);\n if (index !== -1) {\n return index;\n }\n }\n for (var i = 0; i < tracks.length; i++) {\n var _track = tracks[i];\n if (matchesOption(option, _track, matchPredicate)) {\n return i;\n }\n }\n return -1;\n }\n function matchesOption(option, track, matchPredicate) {\n var groupId = option.groupId,\n name = option.name,\n lang = option.lang,\n assocLang = option.assocLang,\n characteristics = option.characteristics,\n isDefault = option.default;\n var forced = option.forced;\n return (groupId === undefined || track.groupId === groupId) && (name === undefined || track.name === name) && (lang === undefined || track.lang === lang) && (lang === undefined || track.assocLang === assocLang) && (isDefault === undefined || track.default === isDefault) && (forced === undefined || track.forced === forced) && (characteristics === undefined || characteristicsMatch(characteristics, track.characteristics)) && (matchPredicate === undefined || matchPredicate(option, track));\n }\n function characteristicsMatch(characteristicsA, characteristicsB) {\n if (characteristicsB === void 0) {\n characteristicsB = '';\n }\n var arrA = characteristicsA.split(',');\n var arrB = characteristicsB.split(',');\n // Expects each item to be unique:\n return arrA.length === arrB.length && !arrA.some(function (el) {\n return arrB.indexOf(el) === -1;\n });\n }\n function audioMatchPredicate(option, track) {\n var audioCodec = option.audioCodec,\n channels = option.channels;\n return (audioCodec === undefined || (track.audioCodec || '').substring(0, 4) === audioCodec.substring(0, 4)) && (channels === undefined || channels === (track.channels || '2'));\n }\n function findClosestLevelWithAudioGroup(option, levels, allAudioTracks, searchIndex, matchPredicate) {\n var currentLevel = levels[searchIndex];\n // Are there variants with same URI as current level?\n // If so, find a match that does not require any level URI change\n var variants = levels.reduce(function (variantMap, level, index) {\n var uri = level.uri;\n var renditions = variantMap[uri] || (variantMap[uri] = []);\n renditions.push(index);\n return variantMap;\n }, {});\n var renditions = variants[currentLevel.uri];\n if (renditions.length > 1) {\n searchIndex = Math.max.apply(Math, renditions);\n }\n // Find best match\n var currentVideoRange = currentLevel.videoRange;\n var currentFrameRate = currentLevel.frameRate;\n var currentVideoCodec = currentLevel.codecSet.substring(0, 4);\n var matchingVideo = searchDownAndUpList(levels, searchIndex, function (level) {\n if (level.videoRange !== currentVideoRange || level.frameRate !== currentFrameRate || level.codecSet.substring(0, 4) !== currentVideoCodec) {\n return false;\n }\n var audioGroups = level.audioGroups;\n var tracks = allAudioTracks.filter(function (track) {\n return !audioGroups || audioGroups.indexOf(track.groupId) !== -1;\n });\n return findMatchingOption(option, tracks, matchPredicate) > -1;\n });\n if (matchingVideo > -1) {\n return matchingVideo;\n }\n return searchDownAndUpList(levels, searchIndex, function (level) {\n var audioGroups = level.audioGroups;\n var tracks = allAudioTracks.filter(function (track) {\n return !audioGroups || audioGroups.indexOf(track.groupId) !== -1;\n });\n return findMatchingOption(option, tracks, matchPredicate) > -1;\n });\n }\n function searchDownAndUpList(arr, searchIndex, predicate) {\n for (var i = searchIndex; i; i--) {\n if (predicate(arr[i])) {\n return i;\n }\n }\n for (var _i = searchIndex + 1; _i < arr.length; _i++) {\n if (predicate(arr[_i])) {\n return _i;\n }\n }\n return -1;\n }\n\n var AbrController = /*#__PURE__*/function () {\n function AbrController(_hls) {\n var _this = this;\n this.hls = void 0;\n this.lastLevelLoadSec = 0;\n this.lastLoadedFragLevel = -1;\n this.firstSelection = -1;\n this._nextAutoLevel = -1;\n this.nextAutoLevelKey = '';\n this.audioTracksByGroup = null;\n this.codecTiers = null;\n this.timer = -1;\n this.fragCurrent = null;\n this.partCurrent = null;\n this.bitrateTestDelay = 0;\n this.bwEstimator = void 0;\n /*\n This method monitors the download rate of the current fragment, and will downswitch if that fragment will not load\n quickly enough to prevent underbuffering\n */\n this._abandonRulesCheck = function () {\n var frag = _this.fragCurrent,\n part = _this.partCurrent,\n hls = _this.hls;\n var autoLevelEnabled = hls.autoLevelEnabled,\n media = hls.media;\n if (!frag || !media) {\n return;\n }\n var now = performance.now();\n var stats = part ? part.stats : frag.stats;\n var duration = part ? part.duration : frag.duration;\n var timeLoading = now - stats.loading.start;\n var minAutoLevel = hls.minAutoLevel;\n // If frag loading is aborted, complete, or from lowest level, stop timer and return\n if (stats.aborted || stats.loaded && stats.loaded === stats.total || frag.level <= minAutoLevel) {\n _this.clearTimer();\n // reset forced auto level value so that next level will be selected\n _this._nextAutoLevel = -1;\n return;\n }\n\n // This check only runs if we're in ABR mode and actually playing\n if (!autoLevelEnabled || media.paused || !media.playbackRate || !media.readyState) {\n return;\n }\n var bufferInfo = hls.mainForwardBufferInfo;\n if (bufferInfo === null) {\n return;\n }\n var ttfbEstimate = _this.bwEstimator.getEstimateTTFB();\n var playbackRate = Math.abs(media.playbackRate);\n // To maintain stable adaptive playback, only begin monitoring frag loading after half or more of its playback duration has passed\n if (timeLoading <= Math.max(ttfbEstimate, 1000 * (duration / (playbackRate * 2)))) {\n return;\n }\n\n // bufferStarvationDelay is an estimate of the amount time (in seconds) it will take to exhaust the buffer\n var bufferStarvationDelay = bufferInfo.len / playbackRate;\n var ttfb = stats.loading.first ? stats.loading.first - stats.loading.start : -1;\n var loadedFirstByte = stats.loaded && ttfb > -1;\n var bwEstimate = _this.getBwEstimate();\n var levels = hls.levels;\n var level = levels[frag.level];\n var expectedLen = stats.total || Math.max(stats.loaded, Math.round(duration * level.averageBitrate / 8));\n var timeStreaming = loadedFirstByte ? timeLoading - ttfb : timeLoading;\n if (timeStreaming < 1 && loadedFirstByte) {\n timeStreaming = Math.min(timeLoading, stats.loaded * 8 / bwEstimate);\n }\n var loadRate = loadedFirstByte ? stats.loaded * 1000 / timeStreaming : 0;\n // fragLoadDelay is an estimate of the time (in seconds) it will take to buffer the remainder of the fragment\n var fragLoadedDelay = loadRate ? (expectedLen - stats.loaded) / loadRate : expectedLen * 8 / bwEstimate + ttfbEstimate / 1000;\n // Only downswitch if the time to finish loading the current fragment is greater than the amount of buffer left\n if (fragLoadedDelay <= bufferStarvationDelay) {\n return;\n }\n var bwe = loadRate ? loadRate * 8 : bwEstimate;\n var fragLevelNextLoadedDelay = Number.POSITIVE_INFINITY;\n var nextLoadLevel;\n // Iterate through lower level and try to find the largest one that avoids rebuffering\n for (nextLoadLevel = frag.level - 1; nextLoadLevel > minAutoLevel; nextLoadLevel--) {\n // compute time to load next fragment at lower level\n // 8 = bits per byte (bps/Bps)\n var levelNextBitrate = levels[nextLoadLevel].maxBitrate;\n fragLevelNextLoadedDelay = _this.getTimeToLoadFrag(ttfbEstimate / 1000, bwe, duration * levelNextBitrate, !levels[nextLoadLevel].details);\n if (fragLevelNextLoadedDelay < bufferStarvationDelay) {\n break;\n }\n }\n // Only emergency switch down if it takes less time to load a new fragment at lowest level instead of continuing\n // to load the current one\n if (fragLevelNextLoadedDelay >= fragLoadedDelay) {\n return;\n }\n\n // if estimated load time of new segment is completely unreasonable, ignore and do not emergency switch down\n if (fragLevelNextLoadedDelay > duration * 10) {\n return;\n }\n hls.nextLoadLevel = hls.nextAutoLevel = nextLoadLevel;\n if (loadedFirstByte) {\n // If there has been loading progress, sample bandwidth using loading time offset by minimum TTFB time\n _this.bwEstimator.sample(timeLoading - Math.min(ttfbEstimate, ttfb), stats.loaded);\n } else {\n // If there has been no loading progress, sample TTFB\n _this.bwEstimator.sampleTTFB(timeLoading);\n }\n var nextLoadLevelBitrate = levels[nextLoadLevel].maxBitrate;\n if (_this.getBwEstimate() * _this.hls.config.abrBandWidthUpFactor > nextLoadLevelBitrate) {\n _this.resetEstimator(nextLoadLevelBitrate);\n }\n _this.clearTimer();\n logger.warn(\"[abr] Fragment \" + frag.sn + (part ? ' part ' + part.index : '') + \" of level \" + frag.level + \" is loading too slowly;\\n Time to underbuffer: \" + bufferStarvationDelay.toFixed(3) + \" s\\n Estimated load time for current fragment: \" + fragLoadedDelay.toFixed(3) + \" s\\n Estimated load time for down switch fragment: \" + fragLevelNextLoadedDelay.toFixed(3) + \" s\\n TTFB estimate: \" + (ttfb | 0) + \" ms\\n Current BW estimate: \" + (isFiniteNumber(bwEstimate) ? bwEstimate | 0 : 'Unknown') + \" bps\\n New BW estimate: \" + (_this.getBwEstimate() | 0) + \" bps\\n Switching to level \" + nextLoadLevel + \" @ \" + (nextLoadLevelBitrate | 0) + \" bps\");\n hls.trigger(Events.FRAG_LOAD_EMERGENCY_ABORTED, {\n frag: frag,\n part: part,\n stats: stats\n });\n };\n this.hls = _hls;\n this.bwEstimator = this.initEstimator();\n this.registerListeners();\n }\n var _proto = AbrController.prototype;\n _proto.resetEstimator = function resetEstimator(abrEwmaDefaultEstimate) {\n if (abrEwmaDefaultEstimate) {\n logger.log(\"setting initial bwe to \" + abrEwmaDefaultEstimate);\n this.hls.config.abrEwmaDefaultEstimate = abrEwmaDefaultEstimate;\n }\n this.firstSelection = -1;\n this.bwEstimator = this.initEstimator();\n };\n _proto.initEstimator = function initEstimator() {\n var config = this.hls.config;\n return new EwmaBandWidthEstimator(config.abrEwmaSlowVoD, config.abrEwmaFastVoD, config.abrEwmaDefaultEstimate);\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.FRAG_LOADING, this.onFragLoading, this);\n hls.on(Events.FRAG_LOADED, this.onFragLoaded, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.on(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.on(Events.MAX_AUTO_LEVEL_UPDATED, this.onMaxAutoLevelUpdated, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n if (!hls) {\n return;\n }\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.FRAG_LOADING, this.onFragLoading, this);\n hls.off(Events.FRAG_LOADED, this.onFragLoaded, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.off(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.off(Events.MAX_AUTO_LEVEL_UPDATED, this.onMaxAutoLevelUpdated, this);\n hls.off(Events.ERROR, this.onError, this);\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.clearTimer();\n // @ts-ignore\n this.hls = this._abandonRulesCheck = null;\n this.fragCurrent = this.partCurrent = null;\n };\n _proto.onManifestLoading = function onManifestLoading(event, data) {\n this.lastLoadedFragLevel = -1;\n this.firstSelection = -1;\n this.lastLevelLoadSec = 0;\n this.fragCurrent = this.partCurrent = null;\n this.onLevelsUpdated();\n this.clearTimer();\n };\n _proto.onLevelsUpdated = function onLevelsUpdated() {\n if (this.lastLoadedFragLevel > -1 && this.fragCurrent) {\n this.lastLoadedFragLevel = this.fragCurrent.level;\n }\n this._nextAutoLevel = -1;\n this.onMaxAutoLevelUpdated();\n this.codecTiers = null;\n this.audioTracksByGroup = null;\n };\n _proto.onMaxAutoLevelUpdated = function onMaxAutoLevelUpdated() {\n this.firstSelection = -1;\n this.nextAutoLevelKey = '';\n };\n _proto.onFragLoading = function onFragLoading(event, data) {\n var frag = data.frag;\n if (this.ignoreFragment(frag)) {\n return;\n }\n if (!frag.bitrateTest) {\n var _data$part;\n this.fragCurrent = frag;\n this.partCurrent = (_data$part = data.part) != null ? _data$part : null;\n }\n this.clearTimer();\n this.timer = self.setInterval(this._abandonRulesCheck, 100);\n };\n _proto.onLevelSwitching = function onLevelSwitching(event, data) {\n this.clearTimer();\n };\n _proto.onError = function onError(event, data) {\n if (data.fatal) {\n return;\n }\n switch (data.details) {\n case ErrorDetails.BUFFER_ADD_CODEC_ERROR:\n case ErrorDetails.BUFFER_APPEND_ERROR:\n // Reset last loaded level so that a new selection can be made after calling recoverMediaError\n this.lastLoadedFragLevel = -1;\n this.firstSelection = -1;\n break;\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n {\n var frag = data.frag;\n var fragCurrent = this.fragCurrent,\n part = this.partCurrent;\n if (frag && fragCurrent && frag.sn === fragCurrent.sn && frag.level === fragCurrent.level) {\n var now = performance.now();\n var stats = part ? part.stats : frag.stats;\n var timeLoading = now - stats.loading.start;\n var ttfb = stats.loading.first ? stats.loading.first - stats.loading.start : -1;\n var loadedFirstByte = stats.loaded && ttfb > -1;\n if (loadedFirstByte) {\n var ttfbEstimate = this.bwEstimator.getEstimateTTFB();\n this.bwEstimator.sample(timeLoading - Math.min(ttfbEstimate, ttfb), stats.loaded);\n } else {\n this.bwEstimator.sampleTTFB(timeLoading);\n }\n }\n break;\n }\n }\n };\n _proto.getTimeToLoadFrag = function getTimeToLoadFrag(timeToFirstByteSec, bandwidth, fragSizeBits, isSwitch) {\n var fragLoadSec = timeToFirstByteSec + fragSizeBits / bandwidth;\n var playlistLoadSec = isSwitch ? this.lastLevelLoadSec : 0;\n return fragLoadSec + playlistLoadSec;\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n var config = this.hls.config;\n var loading = data.stats.loading;\n var timeLoadingMs = loading.end - loading.start;\n if (isFiniteNumber(timeLoadingMs)) {\n this.lastLevelLoadSec = timeLoadingMs / 1000;\n }\n if (data.details.live) {\n this.bwEstimator.update(config.abrEwmaSlowLive, config.abrEwmaFastLive);\n } else {\n this.bwEstimator.update(config.abrEwmaSlowVoD, config.abrEwmaFastVoD);\n }\n };\n _proto.onFragLoaded = function onFragLoaded(event, _ref) {\n var frag = _ref.frag,\n part = _ref.part;\n var stats = part ? part.stats : frag.stats;\n if (frag.type === PlaylistLevelType.MAIN) {\n this.bwEstimator.sampleTTFB(stats.loading.first - stats.loading.start);\n }\n if (this.ignoreFragment(frag)) {\n return;\n }\n // stop monitoring bw once frag loaded\n this.clearTimer();\n // reset forced auto level value so that next level will be selected\n if (frag.level === this._nextAutoLevel) {\n this._nextAutoLevel = -1;\n }\n this.firstSelection = -1;\n\n // compute level average bitrate\n if (this.hls.config.abrMaxWithRealBitrate) {\n var duration = part ? part.duration : frag.duration;\n var level = this.hls.levels[frag.level];\n var loadedBytes = (level.loaded ? level.loaded.bytes : 0) + stats.loaded;\n var loadedDuration = (level.loaded ? level.loaded.duration : 0) + duration;\n level.loaded = {\n bytes: loadedBytes,\n duration: loadedDuration\n };\n level.realBitrate = Math.round(8 * loadedBytes / loadedDuration);\n }\n if (frag.bitrateTest) {\n var fragBufferedData = {\n stats: stats,\n frag: frag,\n part: part,\n id: frag.type\n };\n this.onFragBuffered(Events.FRAG_BUFFERED, fragBufferedData);\n frag.bitrateTest = false;\n } else {\n // store level id after successful fragment load for playback\n this.lastLoadedFragLevel = frag.level;\n }\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n var frag = data.frag,\n part = data.part;\n var stats = part != null && part.stats.loaded ? part.stats : frag.stats;\n if (stats.aborted) {\n return;\n }\n if (this.ignoreFragment(frag)) {\n return;\n }\n // Use the difference between parsing and request instead of buffering and request to compute fragLoadingProcessing;\n // rationale is that buffer appending only happens once media is attached. This can happen when config.startFragPrefetch\n // is used. If we used buffering in that case, our BW estimate sample will be very large.\n var processingMs = stats.parsing.end - stats.loading.start - Math.min(stats.loading.first - stats.loading.start, this.bwEstimator.getEstimateTTFB());\n this.bwEstimator.sample(processingMs, stats.loaded);\n stats.bwEstimate = this.getBwEstimate();\n if (frag.bitrateTest) {\n this.bitrateTestDelay = processingMs / 1000;\n } else {\n this.bitrateTestDelay = 0;\n }\n };\n _proto.ignoreFragment = function ignoreFragment(frag) {\n // Only count non-alt-audio frags which were actually buffered in our BW calculations\n return frag.type !== PlaylistLevelType.MAIN || frag.sn === 'initSegment';\n };\n _proto.clearTimer = function clearTimer() {\n if (this.timer > -1) {\n self.clearInterval(this.timer);\n this.timer = -1;\n }\n };\n _proto.getAutoLevelKey = function getAutoLevelKey() {\n var _this$hls$mainForward;\n return this.getBwEstimate() + \"_\" + ((_this$hls$mainForward = this.hls.mainForwardBufferInfo) == null ? void 0 : _this$hls$mainForward.len);\n };\n _proto.getNextABRAutoLevel = function getNextABRAutoLevel() {\n var fragCurrent = this.fragCurrent,\n partCurrent = this.partCurrent,\n hls = this.hls;\n var maxAutoLevel = hls.maxAutoLevel,\n config = hls.config,\n minAutoLevel = hls.minAutoLevel,\n media = hls.media;\n var currentFragDuration = partCurrent ? partCurrent.duration : fragCurrent ? fragCurrent.duration : 0;\n\n // playbackRate is the absolute value of the playback rate; if media.playbackRate is 0, we use 1 to load as\n // if we're playing back at the normal rate.\n var playbackRate = media && media.playbackRate !== 0 ? Math.abs(media.playbackRate) : 1.0;\n var avgbw = this.getBwEstimate();\n // bufferStarvationDelay is the wall-clock time left until the playback buffer is exhausted.\n var bufferInfo = hls.mainForwardBufferInfo;\n var bufferStarvationDelay = (bufferInfo ? bufferInfo.len : 0) / playbackRate;\n var bwFactor = config.abrBandWidthFactor;\n var bwUpFactor = config.abrBandWidthUpFactor;\n\n // First, look to see if we can find a level matching with our avg bandwidth AND that could also guarantee no rebuffering at all\n if (bufferStarvationDelay) {\n var _bestLevel = this.findBestLevel(avgbw, minAutoLevel, maxAutoLevel, bufferStarvationDelay, 0, bwFactor, bwUpFactor);\n if (_bestLevel >= 0) {\n return _bestLevel;\n }\n }\n // not possible to get rid of rebuffering... try to find level that will guarantee less than maxStarvationDelay of rebuffering\n var maxStarvationDelay = currentFragDuration ? Math.min(currentFragDuration, config.maxStarvationDelay) : config.maxStarvationDelay;\n if (!bufferStarvationDelay) {\n // in case buffer is empty, let's check if previous fragment was loaded to perform a bitrate test\n var bitrateTestDelay = this.bitrateTestDelay;\n if (bitrateTestDelay) {\n // if it is the case, then we need to adjust our max starvation delay using maxLoadingDelay config value\n // max video loading delay used in automatic start level selection :\n // in that mode ABR controller will ensure that video loading time (ie the time to fetch the first fragment at lowest quality level +\n // the time to fetch the fragment at the appropriate quality level is less than ```maxLoadingDelay``` )\n // cap maxLoadingDelay and ensure it is not bigger 'than bitrate test' frag duration\n var maxLoadingDelay = currentFragDuration ? Math.min(currentFragDuration, config.maxLoadingDelay) : config.maxLoadingDelay;\n maxStarvationDelay = maxLoadingDelay - bitrateTestDelay;\n logger.info(\"[abr] bitrate test took \" + Math.round(1000 * bitrateTestDelay) + \"ms, set first fragment max fetchDuration to \" + Math.round(1000 * maxStarvationDelay) + \" ms\");\n // don't use conservative factor on bitrate test\n bwFactor = bwUpFactor = 1;\n }\n }\n var bestLevel = this.findBestLevel(avgbw, minAutoLevel, maxAutoLevel, bufferStarvationDelay, maxStarvationDelay, bwFactor, bwUpFactor);\n logger.info(\"[abr] \" + (bufferStarvationDelay ? 'rebuffering expected' : 'buffer is empty') + \", optimal quality level \" + bestLevel);\n if (bestLevel > -1) {\n return bestLevel;\n }\n // If no matching level found, see if min auto level would be a better option\n var minLevel = hls.levels[minAutoLevel];\n var autoLevel = hls.levels[hls.loadLevel];\n if ((minLevel == null ? void 0 : minLevel.bitrate) < (autoLevel == null ? void 0 : autoLevel.bitrate)) {\n return minAutoLevel;\n }\n // or if bitrate is not lower, continue to use loadLevel\n return hls.loadLevel;\n };\n _proto.getBwEstimate = function getBwEstimate() {\n return this.bwEstimator.canEstimate() ? this.bwEstimator.getEstimate() : this.hls.config.abrEwmaDefaultEstimate;\n };\n _proto.findBestLevel = function findBestLevel(currentBw, minAutoLevel, maxAutoLevel, bufferStarvationDelay, maxStarvationDelay, bwFactor, bwUpFactor) {\n var _level$details,\n _this2 = this;\n var maxFetchDuration = bufferStarvationDelay + maxStarvationDelay;\n var lastLoadedFragLevel = this.lastLoadedFragLevel;\n var selectionBaseLevel = lastLoadedFragLevel === -1 ? this.hls.firstLevel : lastLoadedFragLevel;\n var fragCurrent = this.fragCurrent,\n partCurrent = this.partCurrent;\n var _this$hls = this.hls,\n levels = _this$hls.levels,\n allAudioTracks = _this$hls.allAudioTracks,\n loadLevel = _this$hls.loadLevel,\n config = _this$hls.config;\n if (levels.length === 1) {\n return 0;\n }\n var level = levels[selectionBaseLevel];\n var live = !!(level != null && (_level$details = level.details) != null && _level$details.live);\n var firstSelection = loadLevel === -1 || lastLoadedFragLevel === -1;\n var currentCodecSet;\n var currentVideoRange = 'SDR';\n var currentFrameRate = (level == null ? void 0 : level.frameRate) || 0;\n var audioPreference = config.audioPreference,\n videoPreference = config.videoPreference;\n var audioTracksByGroup = this.audioTracksByGroup || (this.audioTracksByGroup = getAudioTracksByGroup(allAudioTracks));\n if (firstSelection) {\n if (this.firstSelection !== -1) {\n return this.firstSelection;\n }\n var codecTiers = this.codecTiers || (this.codecTiers = getCodecTiers(levels, audioTracksByGroup, minAutoLevel, maxAutoLevel));\n var startTier = getStartCodecTier(codecTiers, currentVideoRange, currentBw, audioPreference, videoPreference);\n var codecSet = startTier.codecSet,\n videoRanges = startTier.videoRanges,\n minFramerate = startTier.minFramerate,\n minBitrate = startTier.minBitrate,\n preferHDR = startTier.preferHDR;\n currentCodecSet = codecSet;\n currentVideoRange = preferHDR ? videoRanges[videoRanges.length - 1] : videoRanges[0];\n currentFrameRate = minFramerate;\n currentBw = Math.max(currentBw, minBitrate);\n logger.log(\"[abr] picked start tier \" + JSON.stringify(startTier));\n } else {\n currentCodecSet = level == null ? void 0 : level.codecSet;\n currentVideoRange = level == null ? void 0 : level.videoRange;\n }\n var currentFragDuration = partCurrent ? partCurrent.duration : fragCurrent ? fragCurrent.duration : 0;\n var ttfbEstimateSec = this.bwEstimator.getEstimateTTFB() / 1000;\n var levelsSkipped = [];\n var _loop = function _loop() {\n var _levelInfo$supportedR;\n var levelInfo = levels[i];\n var upSwitch = i > selectionBaseLevel;\n if (!levelInfo) {\n return 0; // continue\n }\n if (config.useMediaCapabilities && !levelInfo.supportedResult && !levelInfo.supportedPromise) {\n var mediaCapabilities = navigator.mediaCapabilities;\n if (typeof (mediaCapabilities == null ? void 0 : mediaCapabilities.decodingInfo) === 'function' && requiresMediaCapabilitiesDecodingInfo(levelInfo, audioTracksByGroup, currentVideoRange, currentFrameRate, currentBw, audioPreference)) {\n levelInfo.supportedPromise = getMediaDecodingInfoPromise(levelInfo, audioTracksByGroup, mediaCapabilities);\n levelInfo.supportedPromise.then(function (decodingInfo) {\n levelInfo.supportedResult = decodingInfo;\n var levels = _this2.hls.levels;\n var index = levels.indexOf(levelInfo);\n if (decodingInfo.error) {\n logger.warn(\"[abr] MediaCapabilities decodingInfo error: \\\"\" + decodingInfo.error + \"\\\" for level \" + index + \" \" + JSON.stringify(decodingInfo));\n } else if (!decodingInfo.supported) {\n logger.warn(\"[abr] Unsupported MediaCapabilities decodingInfo result for level \" + index + \" \" + JSON.stringify(decodingInfo));\n if (index > -1 && levels.length > 1) {\n logger.log(\"[abr] Removing unsupported level \" + index);\n _this2.hls.removeLevel(index);\n }\n }\n });\n } else {\n levelInfo.supportedResult = SUPPORTED_INFO_DEFAULT;\n }\n }\n\n // skip candidates which change codec-family or video-range,\n // and which decrease or increase frame-rate for up and down-switch respectfully\n if (currentCodecSet && levelInfo.codecSet !== currentCodecSet || currentVideoRange && levelInfo.videoRange !== currentVideoRange || upSwitch && currentFrameRate > levelInfo.frameRate || !upSwitch && currentFrameRate > 0 && currentFrameRate < levelInfo.frameRate || levelInfo.supportedResult && !((_levelInfo$supportedR = levelInfo.supportedResult.decodingInfoResults) != null && _levelInfo$supportedR[0].smooth)) {\n levelsSkipped.push(i);\n return 0; // continue\n }\n var levelDetails = levelInfo.details;\n var avgDuration = (partCurrent ? levelDetails == null ? void 0 : levelDetails.partTarget : levelDetails == null ? void 0 : levelDetails.averagetargetduration) || currentFragDuration;\n var adjustedbw;\n // follow algorithm captured from stagefright :\n // https://android.googlesource.com/platform/frameworks/av/+/master/media/libstagefright/httplive/LiveSession.cpp\n // Pick the highest bandwidth stream below or equal to estimated bandwidth.\n // consider only 80% of the available bandwidth, but if we are switching up,\n // be even more conservative (70%) to avoid overestimating and immediately\n // switching back.\n if (!upSwitch) {\n adjustedbw = bwFactor * currentBw;\n } else {\n adjustedbw = bwUpFactor * currentBw;\n }\n\n // Use average bitrate when starvation delay (buffer length) is gt or eq two segment durations and rebuffering is not expected (maxStarvationDelay > 0)\n var bitrate = currentFragDuration && bufferStarvationDelay >= currentFragDuration * 2 && maxStarvationDelay === 0 ? levels[i].averageBitrate : levels[i].maxBitrate;\n var fetchDuration = _this2.getTimeToLoadFrag(ttfbEstimateSec, adjustedbw, bitrate * avgDuration, levelDetails === undefined);\n var canSwitchWithinTolerance =\n // if adjusted bw is greater than level bitrate AND\n adjustedbw >= bitrate && (\n // no level change, or new level has no error history\n i === lastLoadedFragLevel || levelInfo.loadError === 0 && levelInfo.fragmentError === 0) && (\n // fragment fetchDuration unknown OR live stream OR fragment fetchDuration less than max allowed fetch duration, then this level matches\n // we don't account for max Fetch Duration for live streams, this is to avoid switching down when near the edge of live sliding window ...\n // special case to support startLevel = -1 (bitrateTest) on live streams : in that case we should not exit loop so that findBestLevel will return -1\n fetchDuration <= ttfbEstimateSec || !isFiniteNumber(fetchDuration) || live && !_this2.bitrateTestDelay || fetchDuration < maxFetchDuration);\n if (canSwitchWithinTolerance) {\n var forcedAutoLevel = _this2.forcedAutoLevel;\n if (i !== loadLevel && (forcedAutoLevel === -1 || forcedAutoLevel !== loadLevel)) {\n if (levelsSkipped.length) {\n logger.trace(\"[abr] Skipped level(s) \" + levelsSkipped.join(',') + \" of \" + maxAutoLevel + \" max with CODECS and VIDEO-RANGE:\\\"\" + levels[levelsSkipped[0]].codecs + \"\\\" \" + levels[levelsSkipped[0]].videoRange + \"; not compatible with \\\"\" + level.codecs + \"\\\" \" + currentVideoRange);\n }\n logger.info(\"[abr] switch candidate:\" + selectionBaseLevel + \"->\" + i + \" adjustedbw(\" + Math.round(adjustedbw) + \")-bitrate=\" + Math.round(adjustedbw - bitrate) + \" ttfb:\" + ttfbEstimateSec.toFixed(1) + \" avgDuration:\" + avgDuration.toFixed(1) + \" maxFetchDuration:\" + maxFetchDuration.toFixed(1) + \" fetchDuration:\" + fetchDuration.toFixed(1) + \" firstSelection:\" + firstSelection + \" codecSet:\" + currentCodecSet + \" videoRange:\" + currentVideoRange + \" hls.loadLevel:\" + loadLevel);\n }\n if (firstSelection) {\n _this2.firstSelection = i;\n }\n // as we are looping from highest to lowest, this will return the best achievable quality level\n return {\n v: i\n };\n }\n },\n _ret;\n for (var i = maxAutoLevel; i >= minAutoLevel; i--) {\n _ret = _loop();\n if (_ret === 0) continue;\n if (_ret) return _ret.v;\n }\n // not enough time budget even with quality level 0 ... rebuffering might happen\n return -1;\n };\n _createClass(AbrController, [{\n key: \"firstAutoLevel\",\n get: function get() {\n var _this$hls2 = this.hls,\n maxAutoLevel = _this$hls2.maxAutoLevel,\n minAutoLevel = _this$hls2.minAutoLevel;\n var bwEstimate = this.getBwEstimate();\n var maxStartDelay = this.hls.config.maxStarvationDelay;\n var abrAutoLevel = this.findBestLevel(bwEstimate, minAutoLevel, maxAutoLevel, 0, maxStartDelay, 1, 1);\n if (abrAutoLevel > -1) {\n return abrAutoLevel;\n }\n var firstLevel = this.hls.firstLevel;\n var clamped = Math.min(Math.max(firstLevel, minAutoLevel), maxAutoLevel);\n logger.warn(\"[abr] Could not find best starting auto level. Defaulting to first in playlist \" + firstLevel + \" clamped to \" + clamped);\n return clamped;\n }\n }, {\n key: \"forcedAutoLevel\",\n get: function get() {\n if (this.nextAutoLevelKey) {\n return -1;\n }\n return this._nextAutoLevel;\n }\n\n // return next auto level\n }, {\n key: \"nextAutoLevel\",\n get: function get() {\n var forcedAutoLevel = this.forcedAutoLevel;\n var bwEstimator = this.bwEstimator;\n var useEstimate = bwEstimator.canEstimate();\n var loadedFirstFrag = this.lastLoadedFragLevel > -1;\n // in case next auto level has been forced, and bw not available or not reliable, return forced value\n if (forcedAutoLevel !== -1 && (!useEstimate || !loadedFirstFrag || this.nextAutoLevelKey === this.getAutoLevelKey())) {\n return forcedAutoLevel;\n }\n\n // compute next level using ABR logic\n var nextABRAutoLevel = useEstimate && loadedFirstFrag ? this.getNextABRAutoLevel() : this.firstAutoLevel;\n\n // use forced auto level while it hasn't errored more than ABR selection\n if (forcedAutoLevel !== -1) {\n var levels = this.hls.levels;\n if (levels.length > Math.max(forcedAutoLevel, nextABRAutoLevel) && levels[forcedAutoLevel].loadError <= levels[nextABRAutoLevel].loadError) {\n return forcedAutoLevel;\n }\n }\n\n // save result until state has changed\n this._nextAutoLevel = nextABRAutoLevel;\n this.nextAutoLevelKey = this.getAutoLevelKey();\n return nextABRAutoLevel;\n },\n set: function set(nextLevel) {\n var _this$hls3 = this.hls,\n maxAutoLevel = _this$hls3.maxAutoLevel,\n minAutoLevel = _this$hls3.minAutoLevel;\n var value = Math.min(Math.max(nextLevel, minAutoLevel), maxAutoLevel);\n if (this._nextAutoLevel !== value) {\n this.nextAutoLevelKey = '';\n this._nextAutoLevel = value;\n }\n }\n }]);\n return AbrController;\n }();\n\n /**\n * @ignore\n * Sub-class specialization of EventHandler base class.\n *\n * TaskLoop allows to schedule a task function being called (optionnaly repeatedly) on the main loop,\n * scheduled asynchroneously, avoiding recursive calls in the same tick.\n *\n * The task itself is implemented in `doTick`. It can be requested and called for single execution\n * using the `tick` method.\n *\n * It will be assured that the task execution method (`tick`) only gets called once per main loop \"tick\",\n * no matter how often it gets requested for execution. Execution in further ticks will be scheduled accordingly.\n *\n * If further execution requests have already been scheduled on the next tick, it can be checked with `hasNextTick`,\n * and cancelled with `clearNextTick`.\n *\n * The task can be scheduled as an interval repeatedly with a period as parameter (see `setInterval`, `clearInterval`).\n *\n * Sub-classes need to implement the `doTick` method which will effectively have the task execution routine.\n *\n * Further explanations:\n *\n * The baseclass has a `tick` method that will schedule the doTick call. It may be called synchroneously\n * only for a stack-depth of one. On re-entrant calls, sub-sequent calls are scheduled for next main loop ticks.\n *\n * When the task execution (`tick` method) is called in re-entrant way this is detected and\n * we are limiting the task execution per call stack to exactly one, but scheduling/post-poning further\n * task processing on the next main loop iteration (also known as \"next tick\" in the Node/JS runtime lingo).\n */\n var TaskLoop = /*#__PURE__*/function () {\n function TaskLoop() {\n this._boundTick = void 0;\n this._tickTimer = null;\n this._tickInterval = null;\n this._tickCallCount = 0;\n this._boundTick = this.tick.bind(this);\n }\n var _proto = TaskLoop.prototype;\n _proto.destroy = function destroy() {\n this.onHandlerDestroying();\n this.onHandlerDestroyed();\n };\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n // clear all timers before unregistering from event bus\n this.clearNextTick();\n this.clearInterval();\n };\n _proto.onHandlerDestroyed = function onHandlerDestroyed() {};\n _proto.hasInterval = function hasInterval() {\n return !!this._tickInterval;\n };\n _proto.hasNextTick = function hasNextTick() {\n return !!this._tickTimer;\n }\n\n /**\n * @param millis - Interval time (ms)\n * @eturns True when interval has been scheduled, false when already scheduled (no effect)\n */;\n _proto.setInterval = function setInterval(millis) {\n if (!this._tickInterval) {\n this._tickCallCount = 0;\n this._tickInterval = self.setInterval(this._boundTick, millis);\n return true;\n }\n return false;\n }\n\n /**\n * @returns True when interval was cleared, false when none was set (no effect)\n */;\n _proto.clearInterval = function clearInterval() {\n if (this._tickInterval) {\n self.clearInterval(this._tickInterval);\n this._tickInterval = null;\n return true;\n }\n return false;\n }\n\n /**\n * @returns True when timeout was cleared, false when none was set (no effect)\n */;\n _proto.clearNextTick = function clearNextTick() {\n if (this._tickTimer) {\n self.clearTimeout(this._tickTimer);\n this._tickTimer = null;\n return true;\n }\n return false;\n }\n\n /**\n * Will call the subclass doTick implementation in this main loop tick\n * or in the next one (via setTimeout(,0)) in case it has already been called\n * in this tick (in case this is a re-entrant call).\n */;\n _proto.tick = function tick() {\n this._tickCallCount++;\n if (this._tickCallCount === 1) {\n this.doTick();\n // re-entrant call to tick from previous doTick call stack\n // -> schedule a call on the next main loop iteration to process this task processing request\n if (this._tickCallCount > 1) {\n // make sure only one timer exists at any time at max\n this.tickImmediate();\n }\n this._tickCallCount = 0;\n }\n };\n _proto.tickImmediate = function tickImmediate() {\n this.clearNextTick();\n this._tickTimer = self.setTimeout(this._boundTick, 0);\n }\n\n /**\n * For subclass to implement task logic\n * @abstract\n */;\n _proto.doTick = function doTick() {};\n return TaskLoop;\n }();\n\n var FragmentState = {\n NOT_LOADED: \"NOT_LOADED\",\n APPENDING: \"APPENDING\",\n PARTIAL: \"PARTIAL\",\n OK: \"OK\"\n };\n var FragmentTracker = /*#__PURE__*/function () {\n function FragmentTracker(hls) {\n this.activePartLists = Object.create(null);\n this.endListFragments = Object.create(null);\n this.fragments = Object.create(null);\n this.timeRanges = Object.create(null);\n this.bufferPadding = 0.2;\n this.hls = void 0;\n this.hasGaps = false;\n this.hls = hls;\n this._registerListeners();\n }\n var _proto = FragmentTracker.prototype;\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.BUFFER_APPENDED, this.onBufferAppended, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.on(Events.FRAG_LOADED, this.onFragLoaded, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.BUFFER_APPENDED, this.onBufferAppended, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.off(Events.FRAG_LOADED, this.onFragLoaded, this);\n };\n _proto.destroy = function destroy() {\n this._unregisterListeners();\n // @ts-ignore\n this.fragments =\n // @ts-ignore\n this.activePartLists =\n // @ts-ignore\n this.endListFragments = this.timeRanges = null;\n }\n\n /**\n * Return a Fragment or Part with an appended range that matches the position and levelType\n * Otherwise, return null\n */;\n _proto.getAppendedFrag = function getAppendedFrag(position, levelType) {\n var activeParts = this.activePartLists[levelType];\n if (activeParts) {\n for (var i = activeParts.length; i--;) {\n var activePart = activeParts[i];\n if (!activePart) {\n break;\n }\n var appendedPTS = activePart.end;\n if (activePart.start <= position && appendedPTS !== null && position <= appendedPTS) {\n return activePart;\n }\n }\n }\n return this.getBufferedFrag(position, levelType);\n }\n\n /**\n * Return a buffered Fragment that matches the position and levelType.\n * A buffered Fragment is one whose loading, parsing and appending is done (completed or \"partial\" meaning aborted).\n * If not found any Fragment, return null\n */;\n _proto.getBufferedFrag = function getBufferedFrag(position, levelType) {\n var fragments = this.fragments;\n var keys = Object.keys(fragments);\n for (var i = keys.length; i--;) {\n var fragmentEntity = fragments[keys[i]];\n if ((fragmentEntity == null ? void 0 : fragmentEntity.body.type) === levelType && fragmentEntity.buffered) {\n var frag = fragmentEntity.body;\n if (frag.start <= position && position <= frag.end) {\n return frag;\n }\n }\n }\n return null;\n }\n\n /**\n * Partial fragments effected by coded frame eviction will be removed\n * The browser will unload parts of the buffer to free up memory for new buffer data\n * Fragments will need to be reloaded when the buffer is freed up, removing partial fragments will allow them to reload(since there might be parts that are still playable)\n */;\n _proto.detectEvictedFragments = function detectEvictedFragments(elementaryStream, timeRange, playlistType, appendedPart) {\n var _this = this;\n if (this.timeRanges) {\n this.timeRanges[elementaryStream] = timeRange;\n }\n // Check if any flagged fragments have been unloaded\n // excluding anything newer than appendedPartSn\n var appendedPartSn = (appendedPart == null ? void 0 : appendedPart.fragment.sn) || -1;\n Object.keys(this.fragments).forEach(function (key) {\n var fragmentEntity = _this.fragments[key];\n if (!fragmentEntity) {\n return;\n }\n if (appendedPartSn >= fragmentEntity.body.sn) {\n return;\n }\n if (!fragmentEntity.buffered && !fragmentEntity.loaded) {\n if (fragmentEntity.body.type === playlistType) {\n _this.removeFragment(fragmentEntity.body);\n }\n return;\n }\n var esData = fragmentEntity.range[elementaryStream];\n if (!esData) {\n return;\n }\n esData.time.some(function (time) {\n var isNotBuffered = !_this.isTimeBuffered(time.startPTS, time.endPTS, timeRange);\n if (isNotBuffered) {\n // Unregister partial fragment as it needs to load again to be reused\n _this.removeFragment(fragmentEntity.body);\n }\n return isNotBuffered;\n });\n });\n }\n\n /**\n * Checks if the fragment passed in is loaded in the buffer properly\n * Partially loaded fragments will be registered as a partial fragment\n */;\n _proto.detectPartialFragments = function detectPartialFragments(data) {\n var _this2 = this;\n var timeRanges = this.timeRanges;\n var frag = data.frag,\n part = data.part;\n if (!timeRanges || frag.sn === 'initSegment') {\n return;\n }\n var fragKey = getFragmentKey(frag);\n var fragmentEntity = this.fragments[fragKey];\n if (!fragmentEntity || fragmentEntity.buffered && frag.gap) {\n return;\n }\n var isFragHint = !frag.relurl;\n Object.keys(timeRanges).forEach(function (elementaryStream) {\n var streamInfo = frag.elementaryStreams[elementaryStream];\n if (!streamInfo) {\n return;\n }\n var timeRange = timeRanges[elementaryStream];\n var partial = isFragHint || streamInfo.partial === true;\n fragmentEntity.range[elementaryStream] = _this2.getBufferedTimes(frag, part, partial, timeRange);\n });\n fragmentEntity.loaded = null;\n if (Object.keys(fragmentEntity.range).length) {\n fragmentEntity.buffered = true;\n var endList = fragmentEntity.body.endList = frag.endList || fragmentEntity.body.endList;\n if (endList) {\n this.endListFragments[fragmentEntity.body.type] = fragmentEntity;\n }\n if (!isPartial(fragmentEntity)) {\n // Remove older fragment parts from lookup after frag is tracked as buffered\n this.removeParts(frag.sn - 1, frag.type);\n }\n } else {\n // remove fragment if nothing was appended\n this.removeFragment(fragmentEntity.body);\n }\n };\n _proto.removeParts = function removeParts(snToKeep, levelType) {\n var activeParts = this.activePartLists[levelType];\n if (!activeParts) {\n return;\n }\n this.activePartLists[levelType] = activeParts.filter(function (part) {\n return part.fragment.sn >= snToKeep;\n });\n };\n _proto.fragBuffered = function fragBuffered(frag, force) {\n var fragKey = getFragmentKey(frag);\n var fragmentEntity = this.fragments[fragKey];\n if (!fragmentEntity && force) {\n fragmentEntity = this.fragments[fragKey] = {\n body: frag,\n appendedPTS: null,\n loaded: null,\n buffered: false,\n range: Object.create(null)\n };\n if (frag.gap) {\n this.hasGaps = true;\n }\n }\n if (fragmentEntity) {\n fragmentEntity.loaded = null;\n fragmentEntity.buffered = true;\n }\n };\n _proto.getBufferedTimes = function getBufferedTimes(fragment, part, partial, timeRange) {\n var buffered = {\n time: [],\n partial: partial\n };\n var startPTS = fragment.start;\n var endPTS = fragment.end;\n var minEndPTS = fragment.minEndPTS || endPTS;\n var maxStartPTS = fragment.maxStartPTS || startPTS;\n for (var i = 0; i < timeRange.length; i++) {\n var startTime = timeRange.start(i) - this.bufferPadding;\n var endTime = timeRange.end(i) + this.bufferPadding;\n if (maxStartPTS >= startTime && minEndPTS <= endTime) {\n // Fragment is entirely contained in buffer\n // No need to check the other timeRange times since it's completely playable\n buffered.time.push({\n startPTS: Math.max(startPTS, timeRange.start(i)),\n endPTS: Math.min(endPTS, timeRange.end(i))\n });\n break;\n } else if (startPTS < endTime && endPTS > startTime) {\n var start = Math.max(startPTS, timeRange.start(i));\n var end = Math.min(endPTS, timeRange.end(i));\n if (end > start) {\n buffered.partial = true;\n // Check for intersection with buffer\n // Get playable sections of the fragment\n buffered.time.push({\n startPTS: start,\n endPTS: end\n });\n }\n } else if (endPTS <= startTime) {\n // No need to check the rest of the timeRange as it is in order\n break;\n }\n }\n return buffered;\n }\n\n /**\n * Gets the partial fragment for a certain time\n */;\n _proto.getPartialFragment = function getPartialFragment(time) {\n var bestFragment = null;\n var timePadding;\n var startTime;\n var endTime;\n var bestOverlap = 0;\n var bufferPadding = this.bufferPadding,\n fragments = this.fragments;\n Object.keys(fragments).forEach(function (key) {\n var fragmentEntity = fragments[key];\n if (!fragmentEntity) {\n return;\n }\n if (isPartial(fragmentEntity)) {\n startTime = fragmentEntity.body.start - bufferPadding;\n endTime = fragmentEntity.body.end + bufferPadding;\n if (time >= startTime && time <= endTime) {\n // Use the fragment that has the most padding from start and end time\n timePadding = Math.min(time - startTime, endTime - time);\n if (bestOverlap <= timePadding) {\n bestFragment = fragmentEntity.body;\n bestOverlap = timePadding;\n }\n }\n }\n });\n return bestFragment;\n };\n _proto.isEndListAppended = function isEndListAppended(type) {\n var lastFragmentEntity = this.endListFragments[type];\n return lastFragmentEntity !== undefined && (lastFragmentEntity.buffered || isPartial(lastFragmentEntity));\n };\n _proto.getState = function getState(fragment) {\n var fragKey = getFragmentKey(fragment);\n var fragmentEntity = this.fragments[fragKey];\n if (fragmentEntity) {\n if (!fragmentEntity.buffered) {\n return FragmentState.APPENDING;\n } else if (isPartial(fragmentEntity)) {\n return FragmentState.PARTIAL;\n } else {\n return FragmentState.OK;\n }\n }\n return FragmentState.NOT_LOADED;\n };\n _proto.isTimeBuffered = function isTimeBuffered(startPTS, endPTS, timeRange) {\n var startTime;\n var endTime;\n for (var i = 0; i < timeRange.length; i++) {\n startTime = timeRange.start(i) - this.bufferPadding;\n endTime = timeRange.end(i) + this.bufferPadding;\n if (startPTS >= startTime && endPTS <= endTime) {\n return true;\n }\n if (endPTS <= startTime) {\n // No need to check the rest of the timeRange as it is in order\n return false;\n }\n }\n return false;\n };\n _proto.onFragLoaded = function onFragLoaded(event, data) {\n var frag = data.frag,\n part = data.part;\n // don't track initsegment (for which sn is not a number)\n // don't track frags used for bitrateTest, they're irrelevant.\n if (frag.sn === 'initSegment' || frag.bitrateTest) {\n return;\n }\n\n // Fragment entity `loaded` FragLoadedData is null when loading parts\n var loaded = part ? null : data;\n var fragKey = getFragmentKey(frag);\n this.fragments[fragKey] = {\n body: frag,\n appendedPTS: null,\n loaded: loaded,\n buffered: false,\n range: Object.create(null)\n };\n };\n _proto.onBufferAppended = function onBufferAppended(event, data) {\n var _this3 = this;\n var frag = data.frag,\n part = data.part,\n timeRanges = data.timeRanges;\n if (frag.sn === 'initSegment') {\n return;\n }\n var playlistType = frag.type;\n if (part) {\n var activeParts = this.activePartLists[playlistType];\n if (!activeParts) {\n this.activePartLists[playlistType] = activeParts = [];\n }\n activeParts.push(part);\n }\n // Store the latest timeRanges loaded in the buffer\n this.timeRanges = timeRanges;\n Object.keys(timeRanges).forEach(function (elementaryStream) {\n var timeRange = timeRanges[elementaryStream];\n _this3.detectEvictedFragments(elementaryStream, timeRange, playlistType, part);\n });\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n this.detectPartialFragments(data);\n };\n _proto.hasFragment = function hasFragment(fragment) {\n var fragKey = getFragmentKey(fragment);\n return !!this.fragments[fragKey];\n };\n _proto.hasParts = function hasParts(type) {\n var _this$activePartLists;\n return !!((_this$activePartLists = this.activePartLists[type]) != null && _this$activePartLists.length);\n };\n _proto.removeFragmentsInRange = function removeFragmentsInRange(start, end, playlistType, withGapOnly, unbufferedOnly) {\n var _this4 = this;\n if (withGapOnly && !this.hasGaps) {\n return;\n }\n Object.keys(this.fragments).forEach(function (key) {\n var fragmentEntity = _this4.fragments[key];\n if (!fragmentEntity) {\n return;\n }\n var frag = fragmentEntity.body;\n if (frag.type !== playlistType || withGapOnly && !frag.gap) {\n return;\n }\n if (frag.start < end && frag.end > start && (fragmentEntity.buffered || unbufferedOnly)) {\n _this4.removeFragment(frag);\n }\n });\n };\n _proto.removeFragment = function removeFragment(fragment) {\n var fragKey = getFragmentKey(fragment);\n fragment.stats.loaded = 0;\n fragment.clearElementaryStreamInfo();\n var activeParts = this.activePartLists[fragment.type];\n if (activeParts) {\n var snToRemove = fragment.sn;\n this.activePartLists[fragment.type] = activeParts.filter(function (part) {\n return part.fragment.sn !== snToRemove;\n });\n }\n delete this.fragments[fragKey];\n if (fragment.endList) {\n delete this.endListFragments[fragment.type];\n }\n };\n _proto.removeAllFragments = function removeAllFragments() {\n this.fragments = Object.create(null);\n this.endListFragments = Object.create(null);\n this.activePartLists = Object.create(null);\n this.hasGaps = false;\n };\n return FragmentTracker;\n }();\n function isPartial(fragmentEntity) {\n var _fragmentEntity$range, _fragmentEntity$range2, _fragmentEntity$range3;\n return fragmentEntity.buffered && (fragmentEntity.body.gap || ((_fragmentEntity$range = fragmentEntity.range.video) == null ? void 0 : _fragmentEntity$range.partial) || ((_fragmentEntity$range2 = fragmentEntity.range.audio) == null ? void 0 : _fragmentEntity$range2.partial) || ((_fragmentEntity$range3 = fragmentEntity.range.audiovideo) == null ? void 0 : _fragmentEntity$range3.partial));\n }\n function getFragmentKey(fragment) {\n return fragment.type + \"_\" + fragment.level + \"_\" + fragment.sn;\n }\n\n /**\n * Provides methods dealing with buffer length retrieval for example.\n *\n * In general, a helper around HTML5 MediaElement TimeRanges gathered from `buffered` property.\n *\n * Also @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/buffered\n */\n\n var noopBuffered = {\n length: 0,\n start: function start() {\n return 0;\n },\n end: function end() {\n return 0;\n }\n };\n var BufferHelper = /*#__PURE__*/function () {\n function BufferHelper() {}\n /**\n * Return true if `media`'s buffered include `position`\n */\n BufferHelper.isBuffered = function isBuffered(media, position) {\n try {\n if (media) {\n var buffered = BufferHelper.getBuffered(media);\n for (var i = 0; i < buffered.length; i++) {\n if (position >= buffered.start(i) && position <= buffered.end(i)) {\n return true;\n }\n }\n }\n } catch (error) {\n // this is to catch\n // InvalidStateError: Failed to read the 'buffered' property from 'SourceBuffer':\n // This SourceBuffer has been removed from the parent media source\n }\n return false;\n };\n BufferHelper.bufferInfo = function bufferInfo(media, pos, maxHoleDuration) {\n try {\n if (media) {\n var vbuffered = BufferHelper.getBuffered(media);\n var buffered = [];\n var i;\n for (i = 0; i < vbuffered.length; i++) {\n buffered.push({\n start: vbuffered.start(i),\n end: vbuffered.end(i)\n });\n }\n return this.bufferedInfo(buffered, pos, maxHoleDuration);\n }\n } catch (error) {\n // this is to catch\n // InvalidStateError: Failed to read the 'buffered' property from 'SourceBuffer':\n // This SourceBuffer has been removed from the parent media source\n }\n return {\n len: 0,\n start: pos,\n end: pos,\n nextStart: undefined\n };\n };\n BufferHelper.bufferedInfo = function bufferedInfo(buffered, pos, maxHoleDuration) {\n pos = Math.max(0, pos);\n // sort on buffer.start/smaller end (IE does not always return sorted buffered range)\n buffered.sort(function (a, b) {\n var diff = a.start - b.start;\n if (diff) {\n return diff;\n } else {\n return b.end - a.end;\n }\n });\n var buffered2 = [];\n if (maxHoleDuration) {\n // there might be some small holes between buffer time range\n // consider that holes smaller than maxHoleDuration are irrelevant and build another\n // buffer time range representations that discards those holes\n for (var i = 0; i < buffered.length; i++) {\n var buf2len = buffered2.length;\n if (buf2len) {\n var buf2end = buffered2[buf2len - 1].end;\n // if small hole (value between 0 or maxHoleDuration ) or overlapping (negative)\n if (buffered[i].start - buf2end < maxHoleDuration) {\n // merge overlapping time ranges\n // update lastRange.end only if smaller than item.end\n // e.g. [ 1, 15] with [ 2,8] => [ 1,15] (no need to modify lastRange.end)\n // whereas [ 1, 8] with [ 2,15] => [ 1,15] ( lastRange should switch from [1,8] to [1,15])\n if (buffered[i].end > buf2end) {\n buffered2[buf2len - 1].end = buffered[i].end;\n }\n } else {\n // big hole\n buffered2.push(buffered[i]);\n }\n } else {\n // first value\n buffered2.push(buffered[i]);\n }\n }\n } else {\n buffered2 = buffered;\n }\n var bufferLen = 0;\n\n // bufferStartNext can possibly be undefined based on the conditional logic below\n var bufferStartNext;\n\n // bufferStart and bufferEnd are buffer boundaries around current video position\n var bufferStart = pos;\n var bufferEnd = pos;\n for (var _i = 0; _i < buffered2.length; _i++) {\n var start = buffered2[_i].start;\n var end = buffered2[_i].end;\n // logger.log('buf start/end:' + buffered.start(i) + '/' + buffered.end(i));\n if (pos + maxHoleDuration >= start && pos < end) {\n // play position is inside this buffer TimeRange, retrieve end of buffer position and buffer length\n bufferStart = start;\n bufferEnd = end;\n bufferLen = bufferEnd - pos;\n } else if (pos + maxHoleDuration < start) {\n bufferStartNext = start;\n break;\n }\n }\n return {\n len: bufferLen,\n start: bufferStart || 0,\n end: bufferEnd || 0,\n nextStart: bufferStartNext\n };\n }\n\n /**\n * Safe method to get buffered property.\n * SourceBuffer.buffered may throw if SourceBuffer is removed from it's MediaSource\n */;\n BufferHelper.getBuffered = function getBuffered(media) {\n try {\n return media.buffered;\n } catch (e) {\n logger.log('failed to get media.buffered', e);\n return noopBuffered;\n }\n };\n return BufferHelper;\n }();\n\n var ChunkMetadata = function ChunkMetadata(level, sn, id, size, part, partial) {\n if (size === void 0) {\n size = 0;\n }\n if (part === void 0) {\n part = -1;\n }\n if (partial === void 0) {\n partial = false;\n }\n this.level = void 0;\n this.sn = void 0;\n this.part = void 0;\n this.id = void 0;\n this.size = void 0;\n this.partial = void 0;\n this.transmuxing = getNewPerformanceTiming();\n this.buffering = {\n audio: getNewPerformanceTiming(),\n video: getNewPerformanceTiming(),\n audiovideo: getNewPerformanceTiming()\n };\n this.level = level;\n this.sn = sn;\n this.id = id;\n this.size = size;\n this.part = part;\n this.partial = partial;\n };\n function getNewPerformanceTiming() {\n return {\n start: 0,\n executeStart: 0,\n executeEnd: 0,\n end: 0\n };\n }\n\n function findFirstFragWithCC(fragments, cc) {\n for (var i = 0, len = fragments.length; i < len; i++) {\n var _fragments$i;\n if (((_fragments$i = fragments[i]) == null ? void 0 : _fragments$i.cc) === cc) {\n return fragments[i];\n }\n }\n return null;\n }\n function shouldAlignOnDiscontinuities(lastFrag, switchDetails, details) {\n if (switchDetails) {\n if (details.endCC > details.startCC || lastFrag && lastFrag.cc < details.startCC) {\n return true;\n }\n }\n return false;\n }\n\n // Find the first frag in the previous level which matches the CC of the first frag of the new level\n function findDiscontinuousReferenceFrag(prevDetails, curDetails) {\n var prevFrags = prevDetails.fragments;\n var curFrags = curDetails.fragments;\n if (!curFrags.length || !prevFrags.length) {\n logger.log('No fragments to align');\n return;\n }\n var prevStartFrag = findFirstFragWithCC(prevFrags, curFrags[0].cc);\n if (!prevStartFrag || prevStartFrag && !prevStartFrag.startPTS) {\n logger.log('No frag in previous level to align on');\n return;\n }\n return prevStartFrag;\n }\n function adjustFragmentStart(frag, sliding) {\n if (frag) {\n var start = frag.start + sliding;\n frag.start = frag.startPTS = start;\n frag.endPTS = start + frag.duration;\n }\n }\n function adjustSlidingStart(sliding, details) {\n // Update segments\n var fragments = details.fragments;\n for (var i = 0, len = fragments.length; i < len; i++) {\n adjustFragmentStart(fragments[i], sliding);\n }\n // Update LL-HLS parts at the end of the playlist\n if (details.fragmentHint) {\n adjustFragmentStart(details.fragmentHint, sliding);\n }\n details.alignedSliding = true;\n }\n\n /**\n * Using the parameters of the last level, this function computes PTS' of the new fragments so that they form a\n * contiguous stream with the last fragments.\n * The PTS of a fragment lets Hls.js know where it fits into a stream - by knowing every PTS, we know which fragment to\n * download at any given time. PTS is normally computed when the fragment is demuxed, so taking this step saves us time\n * and an extra download.\n * @param lastFrag\n * @param lastLevel\n * @param details\n */\n function alignStream(lastFrag, switchDetails, details) {\n if (!switchDetails) {\n return;\n }\n alignDiscontinuities(lastFrag, details, switchDetails);\n if (!details.alignedSliding && switchDetails) {\n // If the PTS wasn't figured out via discontinuity sequence that means there was no CC increase within the level.\n // Aligning via Program Date Time should therefore be reliable, since PDT should be the same within the same\n // discontinuity sequence.\n alignMediaPlaylistByPDT(details, switchDetails);\n }\n if (!details.alignedSliding && switchDetails && !details.skippedSegments) {\n // Try to align on sn so that we pick a better start fragment.\n // Do not perform this on playlists with delta updates as this is only to align levels on switch\n // and adjustSliding only adjusts fragments after skippedSegments.\n adjustSliding(switchDetails, details);\n }\n }\n\n /**\n * Computes the PTS if a new level's fragments using the PTS of a fragment in the last level which shares the same\n * discontinuity sequence.\n * @param lastFrag - The last Fragment which shares the same discontinuity sequence\n * @param lastLevel - The details of the last loaded level\n * @param details - The details of the new level\n */\n function alignDiscontinuities(lastFrag, details, switchDetails) {\n if (shouldAlignOnDiscontinuities(lastFrag, switchDetails, details)) {\n var referenceFrag = findDiscontinuousReferenceFrag(switchDetails, details);\n if (referenceFrag && isFiniteNumber(referenceFrag.start)) {\n logger.log(\"Adjusting PTS using last level due to CC increase within current level \" + details.url);\n adjustSlidingStart(referenceFrag.start, details);\n }\n }\n }\n\n /**\n * Ensures appropriate time-alignment between renditions based on PDT.\n * This function assumes the timelines represented in `refDetails` are accurate, including the PDTs\n * for the last discontinuity sequence number shared by both playlists when present,\n * and uses the \"wallclock\"/PDT timeline as a cross-reference to `details`, adjusting the presentation\n * times/timelines of `details` accordingly.\n * Given the asynchronous nature of fetches and initial loads of live `main` and audio/subtitle tracks,\n * the primary purpose of this function is to ensure the \"local timelines\" of audio/subtitle tracks\n * are aligned to the main/video timeline, using PDT as the cross-reference/\"anchor\" that should\n * be consistent across playlists, per the HLS spec.\n * @param details - The details of the rendition you'd like to time-align (e.g. an audio rendition).\n * @param refDetails - The details of the reference rendition with start and PDT times for alignment.\n */\n function alignMediaPlaylistByPDT(details, refDetails) {\n if (!details.hasProgramDateTime || !refDetails.hasProgramDateTime) {\n return;\n }\n var fragments = details.fragments;\n var refFragments = refDetails.fragments;\n if (!fragments.length || !refFragments.length) {\n return;\n }\n\n // Calculate a delta to apply to all fragments according to the delta in PDT times and start times\n // of a fragment in the reference details, and a fragment in the target details of the same discontinuity.\n // If a fragment of the same discontinuity was not found use the middle fragment of both.\n var refFrag;\n var frag;\n var targetCC = Math.min(refDetails.endCC, details.endCC);\n if (refDetails.startCC < targetCC && details.startCC < targetCC) {\n refFrag = findFirstFragWithCC(refFragments, targetCC);\n frag = findFirstFragWithCC(fragments, targetCC);\n }\n if (!refFrag || !frag) {\n refFrag = refFragments[Math.floor(refFragments.length / 2)];\n frag = findFirstFragWithCC(fragments, refFrag.cc) || fragments[Math.floor(fragments.length / 2)];\n }\n var refPDT = refFrag.programDateTime;\n var targetPDT = frag.programDateTime;\n if (!refPDT || !targetPDT) {\n return;\n }\n var delta = (targetPDT - refPDT) / 1000 - (frag.start - refFrag.start);\n adjustSlidingStart(delta, details);\n }\n\n var MIN_CHUNK_SIZE = Math.pow(2, 17); // 128kb\n var FragmentLoader = /*#__PURE__*/function () {\n function FragmentLoader(config) {\n this.config = void 0;\n this.loader = null;\n this.partLoadTimeout = -1;\n this.config = config;\n }\n var _proto = FragmentLoader.prototype;\n _proto.destroy = function destroy() {\n if (this.loader) {\n this.loader.destroy();\n this.loader = null;\n }\n };\n _proto.abort = function abort() {\n if (this.loader) {\n // Abort the loader for current fragment. Only one may load at any given time\n this.loader.abort();\n }\n };\n _proto.load = function load(frag, _onProgress) {\n var _this = this;\n var url = frag.url;\n if (!url) {\n return Promise.reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_ERROR,\n fatal: false,\n frag: frag,\n error: new Error(\"Fragment does not have a \" + (url ? 'part list' : 'url')),\n networkDetails: null\n }));\n }\n this.abort();\n var config = this.config;\n var FragmentILoader = config.fLoader;\n var DefaultILoader = config.loader;\n return new Promise(function (resolve, reject) {\n if (_this.loader) {\n _this.loader.destroy();\n }\n if (frag.gap) {\n if (frag.tagList.some(function (tags) {\n return tags[0] === 'GAP';\n })) {\n reject(createGapLoadError(frag));\n return;\n } else {\n // Reset temporary treatment as GAP tag\n frag.gap = false;\n }\n }\n var loader = _this.loader = frag.loader = FragmentILoader ? new FragmentILoader(config) : new DefaultILoader(config);\n var loaderContext = createLoaderContext(frag);\n var loadPolicy = getLoaderConfigWithoutReties(config.fragLoadPolicy.default);\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: 0,\n retryDelay: 0,\n maxRetryDelay: 0,\n highWaterMark: frag.sn === 'initSegment' ? Infinity : MIN_CHUNK_SIZE\n };\n // Assign frag stats to the loader's stats reference\n frag.stats = loader.stats;\n loader.load(loaderContext, loaderConfig, {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n _this.resetLoader(frag, loader);\n var payload = response.data;\n if (context.resetIV && frag.decryptdata) {\n frag.decryptdata.iv = new Uint8Array(payload.slice(0, 16));\n payload = payload.slice(16);\n }\n resolve({\n frag: frag,\n part: null,\n payload: payload,\n networkDetails: networkDetails\n });\n },\n onError: function onError(response, context, networkDetails, stats) {\n _this.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_ERROR,\n fatal: false,\n frag: frag,\n response: _objectSpread2({\n url: url,\n data: undefined\n }, response),\n error: new Error(\"HTTP Error \" + response.code + \" \" + response.text),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onAbort: function onAbort(stats, context, networkDetails) {\n _this.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.INTERNAL_ABORTED,\n fatal: false,\n frag: frag,\n error: new Error('Aborted'),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_TIMEOUT,\n fatal: false,\n frag: frag,\n error: new Error(\"Timeout after \" + loaderConfig.timeout + \"ms\"),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onProgress: function onProgress(stats, context, data, networkDetails) {\n if (_onProgress) {\n _onProgress({\n frag: frag,\n part: null,\n payload: data,\n networkDetails: networkDetails\n });\n }\n }\n });\n });\n };\n _proto.loadPart = function loadPart(frag, part, onProgress) {\n var _this2 = this;\n this.abort();\n var config = this.config;\n var FragmentILoader = config.fLoader;\n var DefaultILoader = config.loader;\n return new Promise(function (resolve, reject) {\n if (_this2.loader) {\n _this2.loader.destroy();\n }\n if (frag.gap || part.gap) {\n reject(createGapLoadError(frag, part));\n return;\n }\n var loader = _this2.loader = frag.loader = FragmentILoader ? new FragmentILoader(config) : new DefaultILoader(config);\n var loaderContext = createLoaderContext(frag, part);\n // Should we define another load policy for parts?\n var loadPolicy = getLoaderConfigWithoutReties(config.fragLoadPolicy.default);\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: 0,\n retryDelay: 0,\n maxRetryDelay: 0,\n highWaterMark: MIN_CHUNK_SIZE\n };\n // Assign part stats to the loader's stats reference\n part.stats = loader.stats;\n loader.load(loaderContext, loaderConfig, {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n _this2.resetLoader(frag, loader);\n _this2.updateStatsFromPart(frag, part);\n var partLoadedData = {\n frag: frag,\n part: part,\n payload: response.data,\n networkDetails: networkDetails\n };\n onProgress(partLoadedData);\n resolve(partLoadedData);\n },\n onError: function onError(response, context, networkDetails, stats) {\n _this2.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_ERROR,\n fatal: false,\n frag: frag,\n part: part,\n response: _objectSpread2({\n url: loaderContext.url,\n data: undefined\n }, response),\n error: new Error(\"HTTP Error \" + response.code + \" \" + response.text),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onAbort: function onAbort(stats, context, networkDetails) {\n frag.stats.aborted = part.stats.aborted;\n _this2.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.INTERNAL_ABORTED,\n fatal: false,\n frag: frag,\n part: part,\n error: new Error('Aborted'),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this2.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_TIMEOUT,\n fatal: false,\n frag: frag,\n part: part,\n error: new Error(\"Timeout after \" + loaderConfig.timeout + \"ms\"),\n networkDetails: networkDetails,\n stats: stats\n }));\n }\n });\n });\n };\n _proto.updateStatsFromPart = function updateStatsFromPart(frag, part) {\n var fragStats = frag.stats;\n var partStats = part.stats;\n var partTotal = partStats.total;\n fragStats.loaded += partStats.loaded;\n if (partTotal) {\n var estTotalParts = Math.round(frag.duration / part.duration);\n var estLoadedParts = Math.min(Math.round(fragStats.loaded / partTotal), estTotalParts);\n var estRemainingParts = estTotalParts - estLoadedParts;\n var estRemainingBytes = estRemainingParts * Math.round(fragStats.loaded / estLoadedParts);\n fragStats.total = fragStats.loaded + estRemainingBytes;\n } else {\n fragStats.total = Math.max(fragStats.loaded, fragStats.total);\n }\n var fragLoading = fragStats.loading;\n var partLoading = partStats.loading;\n if (fragLoading.start) {\n // add to fragment loader latency\n fragLoading.first += partLoading.first - partLoading.start;\n } else {\n fragLoading.start = partLoading.start;\n fragLoading.first = partLoading.first;\n }\n fragLoading.end = partLoading.end;\n };\n _proto.resetLoader = function resetLoader(frag, loader) {\n frag.loader = null;\n if (this.loader === loader) {\n self.clearTimeout(this.partLoadTimeout);\n this.loader = null;\n }\n loader.destroy();\n };\n return FragmentLoader;\n }();\n function createLoaderContext(frag, part) {\n if (part === void 0) {\n part = null;\n }\n var segment = part || frag;\n var loaderContext = {\n frag: frag,\n part: part,\n responseType: 'arraybuffer',\n url: segment.url,\n headers: {},\n rangeStart: 0,\n rangeEnd: 0\n };\n var start = segment.byteRangeStartOffset;\n var end = segment.byteRangeEndOffset;\n if (isFiniteNumber(start) && isFiniteNumber(end)) {\n var _frag$decryptdata;\n var byteRangeStart = start;\n var byteRangeEnd = end;\n if (frag.sn === 'initSegment' && ((_frag$decryptdata = frag.decryptdata) == null ? void 0 : _frag$decryptdata.method) === 'AES-128') {\n // MAP segment encrypted with method 'AES-128', when served with HTTP Range,\n // has the unencrypted size specified in the range.\n // Ref: https://tools.ietf.org/html/draft-pantos-hls-rfc8216bis-08#section-6.3.6\n var fragmentLen = end - start;\n if (fragmentLen % 16) {\n byteRangeEnd = end + (16 - fragmentLen % 16);\n }\n if (start !== 0) {\n loaderContext.resetIV = true;\n byteRangeStart = start - 16;\n }\n }\n loaderContext.rangeStart = byteRangeStart;\n loaderContext.rangeEnd = byteRangeEnd;\n }\n return loaderContext;\n }\n function createGapLoadError(frag, part) {\n var error = new Error(\"GAP \" + (frag.gap ? 'tag' : 'attribute') + \" found\");\n var errorData = {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_GAP,\n fatal: false,\n frag: frag,\n error: error,\n networkDetails: null\n };\n if (part) {\n errorData.part = part;\n }\n (part ? part : frag).stats.aborted = true;\n return new LoadError(errorData);\n }\n var LoadError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(LoadError, _Error);\n function LoadError(data) {\n var _this3;\n _this3 = _Error.call(this, data.error.message) || this;\n _this3.data = void 0;\n _this3.data = data;\n return _this3;\n }\n return LoadError;\n }( /*#__PURE__*/_wrapNativeSuper(Error));\n\n var AESCrypto = /*#__PURE__*/function () {\n function AESCrypto(subtle, iv) {\n this.subtle = void 0;\n this.aesIV = void 0;\n this.subtle = subtle;\n this.aesIV = iv;\n }\n var _proto = AESCrypto.prototype;\n _proto.decrypt = function decrypt(data, key) {\n return this.subtle.decrypt({\n name: 'AES-CBC',\n iv: this.aesIV\n }, key, data);\n };\n return AESCrypto;\n }();\n\n var FastAESKey = /*#__PURE__*/function () {\n function FastAESKey(subtle, key) {\n this.subtle = void 0;\n this.key = void 0;\n this.subtle = subtle;\n this.key = key;\n }\n var _proto = FastAESKey.prototype;\n _proto.expandKey = function expandKey() {\n return this.subtle.importKey('raw', this.key, {\n name: 'AES-CBC'\n }, false, ['encrypt', 'decrypt']);\n };\n return FastAESKey;\n }();\n\n // PKCS7\n function removePadding(array) {\n var outputBytes = array.byteLength;\n var paddingBytes = outputBytes && new DataView(array.buffer).getUint8(outputBytes - 1);\n if (paddingBytes) {\n return sliceUint8(array, 0, outputBytes - paddingBytes);\n }\n return array;\n }\n var AESDecryptor = /*#__PURE__*/function () {\n function AESDecryptor() {\n this.rcon = [0x0, 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];\n this.subMix = [new Uint32Array(256), new Uint32Array(256), new Uint32Array(256), new Uint32Array(256)];\n this.invSubMix = [new Uint32Array(256), new Uint32Array(256), new Uint32Array(256), new Uint32Array(256)];\n this.sBox = new Uint32Array(256);\n this.invSBox = new Uint32Array(256);\n this.key = new Uint32Array(0);\n this.ksRows = 0;\n this.keySize = 0;\n this.keySchedule = void 0;\n this.invKeySchedule = void 0;\n this.initTable();\n }\n\n // Using view.getUint32() also swaps the byte order.\n var _proto = AESDecryptor.prototype;\n _proto.uint8ArrayToUint32Array_ = function uint8ArrayToUint32Array_(arrayBuffer) {\n var view = new DataView(arrayBuffer);\n var newArray = new Uint32Array(4);\n for (var i = 0; i < 4; i++) {\n newArray[i] = view.getUint32(i * 4);\n }\n return newArray;\n };\n _proto.initTable = function initTable() {\n var sBox = this.sBox;\n var invSBox = this.invSBox;\n var subMix = this.subMix;\n var subMix0 = subMix[0];\n var subMix1 = subMix[1];\n var subMix2 = subMix[2];\n var subMix3 = subMix[3];\n var invSubMix = this.invSubMix;\n var invSubMix0 = invSubMix[0];\n var invSubMix1 = invSubMix[1];\n var invSubMix2 = invSubMix[2];\n var invSubMix3 = invSubMix[3];\n var d = new Uint32Array(256);\n var x = 0;\n var xi = 0;\n var i = 0;\n for (i = 0; i < 256; i++) {\n if (i < 128) {\n d[i] = i << 1;\n } else {\n d[i] = i << 1 ^ 0x11b;\n }\n }\n for (i = 0; i < 256; i++) {\n var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;\n sx = sx >>> 8 ^ sx & 0xff ^ 0x63;\n sBox[x] = sx;\n invSBox[sx] = x;\n\n // Compute multiplication\n var x2 = d[x];\n var x4 = d[x2];\n var x8 = d[x4];\n\n // Compute sub/invSub bytes, mix columns tables\n var t = d[sx] * 0x101 ^ sx * 0x1010100;\n subMix0[x] = t << 24 | t >>> 8;\n subMix1[x] = t << 16 | t >>> 16;\n subMix2[x] = t << 8 | t >>> 24;\n subMix3[x] = t;\n\n // Compute inv sub bytes, inv mix columns tables\n t = x8 * 0x1010101 ^ x4 * 0x10001 ^ x2 * 0x101 ^ x * 0x1010100;\n invSubMix0[sx] = t << 24 | t >>> 8;\n invSubMix1[sx] = t << 16 | t >>> 16;\n invSubMix2[sx] = t << 8 | t >>> 24;\n invSubMix3[sx] = t;\n\n // Compute next counter\n if (!x) {\n x = xi = 1;\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]];\n xi ^= d[d[xi]];\n }\n }\n };\n _proto.expandKey = function expandKey(keyBuffer) {\n // convert keyBuffer to Uint32Array\n var key = this.uint8ArrayToUint32Array_(keyBuffer);\n var sameKey = true;\n var offset = 0;\n while (offset < key.length && sameKey) {\n sameKey = key[offset] === this.key[offset];\n offset++;\n }\n if (sameKey) {\n return;\n }\n this.key = key;\n var keySize = this.keySize = key.length;\n if (keySize !== 4 && keySize !== 6 && keySize !== 8) {\n throw new Error('Invalid aes key size=' + keySize);\n }\n var ksRows = this.ksRows = (keySize + 6 + 1) * 4;\n var ksRow;\n var invKsRow;\n var keySchedule = this.keySchedule = new Uint32Array(ksRows);\n var invKeySchedule = this.invKeySchedule = new Uint32Array(ksRows);\n var sbox = this.sBox;\n var rcon = this.rcon;\n var invSubMix = this.invSubMix;\n var invSubMix0 = invSubMix[0];\n var invSubMix1 = invSubMix[1];\n var invSubMix2 = invSubMix[2];\n var invSubMix3 = invSubMix[3];\n var prev;\n var t;\n for (ksRow = 0; ksRow < ksRows; ksRow++) {\n if (ksRow < keySize) {\n prev = keySchedule[ksRow] = key[ksRow];\n continue;\n }\n t = prev;\n if (ksRow % keySize === 0) {\n // Rot word\n t = t << 8 | t >>> 24;\n\n // Sub word\n t = sbox[t >>> 24] << 24 | sbox[t >>> 16 & 0xff] << 16 | sbox[t >>> 8 & 0xff] << 8 | sbox[t & 0xff];\n\n // Mix Rcon\n t ^= rcon[ksRow / keySize | 0] << 24;\n } else if (keySize > 6 && ksRow % keySize === 4) {\n // Sub word\n t = sbox[t >>> 24] << 24 | sbox[t >>> 16 & 0xff] << 16 | sbox[t >>> 8 & 0xff] << 8 | sbox[t & 0xff];\n }\n keySchedule[ksRow] = prev = (keySchedule[ksRow - keySize] ^ t) >>> 0;\n }\n for (invKsRow = 0; invKsRow < ksRows; invKsRow++) {\n ksRow = ksRows - invKsRow;\n if (invKsRow & 3) {\n t = keySchedule[ksRow];\n } else {\n t = keySchedule[ksRow - 4];\n }\n if (invKsRow < 4 || ksRow <= 4) {\n invKeySchedule[invKsRow] = t;\n } else {\n invKeySchedule[invKsRow] = invSubMix0[sbox[t >>> 24]] ^ invSubMix1[sbox[t >>> 16 & 0xff]] ^ invSubMix2[sbox[t >>> 8 & 0xff]] ^ invSubMix3[sbox[t & 0xff]];\n }\n invKeySchedule[invKsRow] = invKeySchedule[invKsRow] >>> 0;\n }\n }\n\n // Adding this as a method greatly improves performance.\n ;\n _proto.networkToHostOrderSwap = function networkToHostOrderSwap(word) {\n return word << 24 | (word & 0xff00) << 8 | (word & 0xff0000) >> 8 | word >>> 24;\n };\n _proto.decrypt = function decrypt(inputArrayBuffer, offset, aesIV) {\n var nRounds = this.keySize + 6;\n var invKeySchedule = this.invKeySchedule;\n var invSBOX = this.invSBox;\n var invSubMix = this.invSubMix;\n var invSubMix0 = invSubMix[0];\n var invSubMix1 = invSubMix[1];\n var invSubMix2 = invSubMix[2];\n var invSubMix3 = invSubMix[3];\n var initVector = this.uint8ArrayToUint32Array_(aesIV);\n var initVector0 = initVector[0];\n var initVector1 = initVector[1];\n var initVector2 = initVector[2];\n var initVector3 = initVector[3];\n var inputInt32 = new Int32Array(inputArrayBuffer);\n var outputInt32 = new Int32Array(inputInt32.length);\n var t0, t1, t2, t3;\n var s0, s1, s2, s3;\n var inputWords0, inputWords1, inputWords2, inputWords3;\n var ksRow, i;\n var swapWord = this.networkToHostOrderSwap;\n while (offset < inputInt32.length) {\n inputWords0 = swapWord(inputInt32[offset]);\n inputWords1 = swapWord(inputInt32[offset + 1]);\n inputWords2 = swapWord(inputInt32[offset + 2]);\n inputWords3 = swapWord(inputInt32[offset + 3]);\n s0 = inputWords0 ^ invKeySchedule[0];\n s1 = inputWords3 ^ invKeySchedule[1];\n s2 = inputWords2 ^ invKeySchedule[2];\n s3 = inputWords1 ^ invKeySchedule[3];\n ksRow = 4;\n\n // Iterate through the rounds of decryption\n for (i = 1; i < nRounds; i++) {\n t0 = invSubMix0[s0 >>> 24] ^ invSubMix1[s1 >> 16 & 0xff] ^ invSubMix2[s2 >> 8 & 0xff] ^ invSubMix3[s3 & 0xff] ^ invKeySchedule[ksRow];\n t1 = invSubMix0[s1 >>> 24] ^ invSubMix1[s2 >> 16 & 0xff] ^ invSubMix2[s3 >> 8 & 0xff] ^ invSubMix3[s0 & 0xff] ^ invKeySchedule[ksRow + 1];\n t2 = invSubMix0[s2 >>> 24] ^ invSubMix1[s3 >> 16 & 0xff] ^ invSubMix2[s0 >> 8 & 0xff] ^ invSubMix3[s1 & 0xff] ^ invKeySchedule[ksRow + 2];\n t3 = invSubMix0[s3 >>> 24] ^ invSubMix1[s0 >> 16 & 0xff] ^ invSubMix2[s1 >> 8 & 0xff] ^ invSubMix3[s2 & 0xff] ^ invKeySchedule[ksRow + 3];\n // Update state\n s0 = t0;\n s1 = t1;\n s2 = t2;\n s3 = t3;\n ksRow = ksRow + 4;\n }\n\n // Shift rows, sub bytes, add round key\n t0 = invSBOX[s0 >>> 24] << 24 ^ invSBOX[s1 >> 16 & 0xff] << 16 ^ invSBOX[s2 >> 8 & 0xff] << 8 ^ invSBOX[s3 & 0xff] ^ invKeySchedule[ksRow];\n t1 = invSBOX[s1 >>> 24] << 24 ^ invSBOX[s2 >> 16 & 0xff] << 16 ^ invSBOX[s3 >> 8 & 0xff] << 8 ^ invSBOX[s0 & 0xff] ^ invKeySchedule[ksRow + 1];\n t2 = invSBOX[s2 >>> 24] << 24 ^ invSBOX[s3 >> 16 & 0xff] << 16 ^ invSBOX[s0 >> 8 & 0xff] << 8 ^ invSBOX[s1 & 0xff] ^ invKeySchedule[ksRow + 2];\n t3 = invSBOX[s3 >>> 24] << 24 ^ invSBOX[s0 >> 16 & 0xff] << 16 ^ invSBOX[s1 >> 8 & 0xff] << 8 ^ invSBOX[s2 & 0xff] ^ invKeySchedule[ksRow + 3];\n\n // Write\n outputInt32[offset] = swapWord(t0 ^ initVector0);\n outputInt32[offset + 1] = swapWord(t3 ^ initVector1);\n outputInt32[offset + 2] = swapWord(t2 ^ initVector2);\n outputInt32[offset + 3] = swapWord(t1 ^ initVector3);\n\n // reset initVector to last 4 unsigned int\n initVector0 = inputWords0;\n initVector1 = inputWords1;\n initVector2 = inputWords2;\n initVector3 = inputWords3;\n offset = offset + 4;\n }\n return outputInt32.buffer;\n };\n return AESDecryptor;\n }();\n\n var CHUNK_SIZE = 16; // 16 bytes, 128 bits\n var Decrypter = /*#__PURE__*/function () {\n function Decrypter(config, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$removePKCS7Paddi = _ref.removePKCS7Padding,\n removePKCS7Padding = _ref$removePKCS7Paddi === void 0 ? true : _ref$removePKCS7Paddi;\n this.logEnabled = true;\n this.removePKCS7Padding = void 0;\n this.subtle = null;\n this.softwareDecrypter = null;\n this.key = null;\n this.fastAesKey = null;\n this.remainderData = null;\n this.currentIV = null;\n this.currentResult = null;\n this.useSoftware = void 0;\n this.useSoftware = config.enableSoftwareAES;\n this.removePKCS7Padding = removePKCS7Padding;\n // built in decryptor expects PKCS7 padding\n if (removePKCS7Padding) {\n try {\n var browserCrypto = self.crypto;\n if (browserCrypto) {\n this.subtle = browserCrypto.subtle || browserCrypto.webkitSubtle;\n }\n } catch (e) {\n /* no-op */\n }\n }\n if (this.subtle === null) {\n this.useSoftware = true;\n }\n }\n var _proto = Decrypter.prototype;\n _proto.destroy = function destroy() {\n this.subtle = null;\n this.softwareDecrypter = null;\n this.key = null;\n this.fastAesKey = null;\n this.remainderData = null;\n this.currentIV = null;\n this.currentResult = null;\n };\n _proto.isSync = function isSync() {\n return this.useSoftware;\n };\n _proto.flush = function flush() {\n var currentResult = this.currentResult,\n remainderData = this.remainderData;\n if (!currentResult || remainderData) {\n this.reset();\n return null;\n }\n var data = new Uint8Array(currentResult);\n this.reset();\n if (this.removePKCS7Padding) {\n return removePadding(data);\n }\n return data;\n };\n _proto.reset = function reset() {\n this.currentResult = null;\n this.currentIV = null;\n this.remainderData = null;\n if (this.softwareDecrypter) {\n this.softwareDecrypter = null;\n }\n };\n _proto.decrypt = function decrypt(data, key, iv) {\n var _this = this;\n if (this.useSoftware) {\n return new Promise(function (resolve, reject) {\n _this.softwareDecrypt(new Uint8Array(data), key, iv);\n var decryptResult = _this.flush();\n if (decryptResult) {\n resolve(decryptResult.buffer);\n } else {\n reject(new Error('[softwareDecrypt] Failed to decrypt data'));\n }\n });\n }\n return this.webCryptoDecrypt(new Uint8Array(data), key, iv);\n }\n\n // Software decryption is progressive. Progressive decryption may not return a result on each call. Any cached\n // data is handled in the flush() call\n ;\n _proto.softwareDecrypt = function softwareDecrypt(data, key, iv) {\n var currentIV = this.currentIV,\n currentResult = this.currentResult,\n remainderData = this.remainderData;\n this.logOnce('JS AES decrypt');\n // The output is staggered during progressive parsing - the current result is cached, and emitted on the next call\n // This is done in order to strip PKCS7 padding, which is found at the end of each segment. We only know we've reached\n // the end on flush(), but by that time we have already received all bytes for the segment.\n // Progressive decryption does not work with WebCrypto\n\n if (remainderData) {\n data = appendUint8Array(remainderData, data);\n this.remainderData = null;\n }\n\n // Byte length must be a multiple of 16 (AES-128 = 128 bit blocks = 16 bytes)\n var currentChunk = this.getValidChunk(data);\n if (!currentChunk.length) {\n return null;\n }\n if (currentIV) {\n iv = currentIV;\n }\n var softwareDecrypter = this.softwareDecrypter;\n if (!softwareDecrypter) {\n softwareDecrypter = this.softwareDecrypter = new AESDecryptor();\n }\n softwareDecrypter.expandKey(key);\n var result = currentResult;\n this.currentResult = softwareDecrypter.decrypt(currentChunk.buffer, 0, iv);\n this.currentIV = sliceUint8(currentChunk, -16).buffer;\n if (!result) {\n return null;\n }\n return result;\n };\n _proto.webCryptoDecrypt = function webCryptoDecrypt(data, key, iv) {\n var _this2 = this;\n var subtle = this.subtle;\n if (this.key !== key || !this.fastAesKey) {\n this.key = key;\n this.fastAesKey = new FastAESKey(subtle, key);\n }\n return this.fastAesKey.expandKey().then(function (aesKey) {\n // decrypt using web crypto\n if (!subtle) {\n return Promise.reject(new Error('web crypto not initialized'));\n }\n _this2.logOnce('WebCrypto AES decrypt');\n var crypto = new AESCrypto(subtle, new Uint8Array(iv));\n return crypto.decrypt(data.buffer, aesKey);\n }).catch(function (err) {\n logger.warn(\"[decrypter]: WebCrypto Error, disable WebCrypto API, \" + err.name + \": \" + err.message);\n return _this2.onWebCryptoError(data, key, iv);\n });\n };\n _proto.onWebCryptoError = function onWebCryptoError(data, key, iv) {\n this.useSoftware = true;\n this.logEnabled = true;\n this.softwareDecrypt(data, key, iv);\n var decryptResult = this.flush();\n if (decryptResult) {\n return decryptResult.buffer;\n }\n throw new Error('WebCrypto and softwareDecrypt: failed to decrypt data');\n };\n _proto.getValidChunk = function getValidChunk(data) {\n var currentChunk = data;\n var splitPoint = data.length - data.length % CHUNK_SIZE;\n if (splitPoint !== data.length) {\n currentChunk = sliceUint8(data, 0, splitPoint);\n this.remainderData = sliceUint8(data, splitPoint);\n }\n return currentChunk;\n };\n _proto.logOnce = function logOnce(msg) {\n if (!this.logEnabled) {\n return;\n }\n logger.log(\"[decrypter]: \" + msg);\n this.logEnabled = false;\n };\n return Decrypter;\n }();\n\n /**\n * TimeRanges to string helper\n */\n\n var TimeRanges = {\n toString: function toString(r) {\n var log = '';\n var len = r.length;\n for (var i = 0; i < len; i++) {\n log += \"[\" + r.start(i).toFixed(3) + \"-\" + r.end(i).toFixed(3) + \"]\";\n }\n return log;\n }\n };\n\n var State = {\n STOPPED: 'STOPPED',\n IDLE: 'IDLE',\n KEY_LOADING: 'KEY_LOADING',\n FRAG_LOADING: 'FRAG_LOADING',\n FRAG_LOADING_WAITING_RETRY: 'FRAG_LOADING_WAITING_RETRY',\n WAITING_TRACK: 'WAITING_TRACK',\n PARSING: 'PARSING',\n PARSED: 'PARSED',\n ENDED: 'ENDED',\n ERROR: 'ERROR',\n WAITING_INIT_PTS: 'WAITING_INIT_PTS',\n WAITING_LEVEL: 'WAITING_LEVEL'\n };\n var BaseStreamController = /*#__PURE__*/function (_TaskLoop) {\n _inheritsLoose(BaseStreamController, _TaskLoop);\n function BaseStreamController(hls, fragmentTracker, keyLoader, logPrefix, playlistType) {\n var _this;\n _this = _TaskLoop.call(this) || this;\n _this.hls = void 0;\n _this.fragPrevious = null;\n _this.fragCurrent = null;\n _this.fragmentTracker = void 0;\n _this.transmuxer = null;\n _this._state = State.STOPPED;\n _this.playlistType = void 0;\n _this.media = null;\n _this.mediaBuffer = null;\n _this.config = void 0;\n _this.bitrateTest = false;\n _this.lastCurrentTime = 0;\n _this.nextLoadPosition = 0;\n _this.startPosition = 0;\n _this.startTimeOffset = null;\n _this.loadedmetadata = false;\n _this.retryDate = 0;\n _this.levels = null;\n _this.fragmentLoader = void 0;\n _this.keyLoader = void 0;\n _this.levelLastLoaded = null;\n _this.startFragRequested = false;\n _this.decrypter = void 0;\n _this.initPTS = [];\n _this.onvseeking = null;\n _this.onvended = null;\n _this.logPrefix = '';\n _this.log = void 0;\n _this.warn = void 0;\n _this.playlistType = playlistType;\n _this.logPrefix = logPrefix;\n _this.log = logger.log.bind(logger, logPrefix + \":\");\n _this.warn = logger.warn.bind(logger, logPrefix + \":\");\n _this.hls = hls;\n _this.fragmentLoader = new FragmentLoader(hls.config);\n _this.keyLoader = keyLoader;\n _this.fragmentTracker = fragmentTracker;\n _this.config = hls.config;\n _this.decrypter = new Decrypter(hls.config);\n hls.on(Events.MANIFEST_LOADED, _this.onManifestLoaded, _assertThisInitialized(_this));\n return _this;\n }\n var _proto = BaseStreamController.prototype;\n _proto.doTick = function doTick() {\n this.onTickEnd();\n };\n _proto.onTickEnd = function onTickEnd() {}\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ;\n _proto.startLoad = function startLoad(startPosition) {};\n _proto.stopLoad = function stopLoad() {\n this.fragmentLoader.abort();\n this.keyLoader.abort(this.playlistType);\n var frag = this.fragCurrent;\n if (frag != null && frag.loader) {\n frag.abortRequests();\n this.fragmentTracker.removeFragment(frag);\n }\n this.resetTransmuxer();\n this.fragCurrent = null;\n this.fragPrevious = null;\n this.clearInterval();\n this.clearNextTick();\n this.state = State.STOPPED;\n };\n _proto._streamEnded = function _streamEnded(bufferInfo, levelDetails) {\n // If playlist is live, there is another buffered range after the current range, nothing buffered, media is detached,\n // of nothing loading/loaded return false\n if (levelDetails.live || bufferInfo.nextStart || !bufferInfo.end || !this.media) {\n return false;\n }\n var partList = levelDetails.partList;\n // Since the last part isn't guaranteed to correspond to the last playlist segment for Low-Latency HLS,\n // check instead if the last part is buffered.\n if (partList != null && partList.length) {\n var lastPart = partList[partList.length - 1];\n\n // Checking the midpoint of the part for potential margin of error and related issues.\n // NOTE: Technically I believe parts could yield content that is < the computed duration (including potential a duration of 0)\n // and still be spec-compliant, so there may still be edge cases here. Likewise, there could be issues in end of stream\n // part mismatches for independent audio and video playlists/segments.\n var lastPartBuffered = BufferHelper.isBuffered(this.media, lastPart.start + lastPart.duration / 2);\n return lastPartBuffered;\n }\n var playlistType = levelDetails.fragments[levelDetails.fragments.length - 1].type;\n return this.fragmentTracker.isEndListAppended(playlistType);\n };\n _proto.getLevelDetails = function getLevelDetails() {\n if (this.levels && this.levelLastLoaded !== null) {\n var _this$levelLastLoaded;\n return (_this$levelLastLoaded = this.levelLastLoaded) == null ? void 0 : _this$levelLastLoaded.details;\n }\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n var media = this.media = this.mediaBuffer = data.media;\n this.onvseeking = this.onMediaSeeking.bind(this);\n this.onvended = this.onMediaEnded.bind(this);\n media.addEventListener('seeking', this.onvseeking);\n media.addEventListener('ended', this.onvended);\n var config = this.config;\n if (this.levels && config.autoStartLoad && this.state === State.STOPPED) {\n this.startLoad(config.startPosition);\n }\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n var media = this.media;\n if (media != null && media.ended) {\n this.log('MSE detaching and video ended, reset startPosition');\n this.startPosition = this.lastCurrentTime = 0;\n }\n\n // remove video listeners\n if (media && this.onvseeking && this.onvended) {\n media.removeEventListener('seeking', this.onvseeking);\n media.removeEventListener('ended', this.onvended);\n this.onvseeking = this.onvended = null;\n }\n if (this.keyLoader) {\n this.keyLoader.detach();\n }\n this.media = this.mediaBuffer = null;\n this.loadedmetadata = false;\n this.fragmentTracker.removeAllFragments();\n this.stopLoad();\n };\n _proto.onMediaSeeking = function onMediaSeeking() {\n var config = this.config,\n fragCurrent = this.fragCurrent,\n media = this.media,\n mediaBuffer = this.mediaBuffer,\n state = this.state;\n var currentTime = media ? media.currentTime : 0;\n var bufferInfo = BufferHelper.bufferInfo(mediaBuffer ? mediaBuffer : media, currentTime, config.maxBufferHole);\n this.log(\"media seeking to \" + (isFiniteNumber(currentTime) ? currentTime.toFixed(3) : currentTime) + \", state: \" + state);\n if (this.state === State.ENDED) {\n this.resetLoadingState();\n } else if (fragCurrent) {\n // Seeking while frag load is in progress\n var tolerance = config.maxFragLookUpTolerance;\n var fragStartOffset = fragCurrent.start - tolerance;\n var fragEndOffset = fragCurrent.start + fragCurrent.duration + tolerance;\n // if seeking out of buffered range or into new one\n if (!bufferInfo.len || fragEndOffset < bufferInfo.start || fragStartOffset > bufferInfo.end) {\n var pastFragment = currentTime > fragEndOffset;\n // if the seek position is outside the current fragment range\n if (currentTime < fragStartOffset || pastFragment) {\n if (pastFragment && fragCurrent.loader) {\n this.log('seeking outside of buffer while fragment load in progress, cancel fragment load');\n fragCurrent.abortRequests();\n this.resetLoadingState();\n }\n this.fragPrevious = null;\n }\n }\n }\n if (media) {\n // Remove gap fragments\n this.fragmentTracker.removeFragmentsInRange(currentTime, Infinity, this.playlistType, true);\n this.lastCurrentTime = currentTime;\n }\n\n // in case seeking occurs although no media buffered, adjust startPosition and nextLoadPosition to seek target\n if (!this.loadedmetadata && !bufferInfo.len) {\n this.nextLoadPosition = this.startPosition = currentTime;\n }\n\n // Async tick to speed up processing\n this.tickImmediate();\n };\n _proto.onMediaEnded = function onMediaEnded() {\n // reset startPosition and lastCurrentTime to restart playback @ stream beginning\n this.startPosition = this.lastCurrentTime = 0;\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, data) {\n this.startTimeOffset = data.startTimeOffset;\n this.initPTS = [];\n };\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n this.hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n this.stopLoad();\n _TaskLoop.prototype.onHandlerDestroying.call(this);\n // @ts-ignore\n this.hls = null;\n };\n _proto.onHandlerDestroyed = function onHandlerDestroyed() {\n this.state = State.STOPPED;\n if (this.fragmentLoader) {\n this.fragmentLoader.destroy();\n }\n if (this.keyLoader) {\n this.keyLoader.destroy();\n }\n if (this.decrypter) {\n this.decrypter.destroy();\n }\n this.hls = this.log = this.warn = this.decrypter = this.keyLoader = this.fragmentLoader = this.fragmentTracker = null;\n _TaskLoop.prototype.onHandlerDestroyed.call(this);\n };\n _proto.loadFragment = function loadFragment(frag, level, targetBufferTime) {\n this._loadFragForPlayback(frag, level, targetBufferTime);\n };\n _proto._loadFragForPlayback = function _loadFragForPlayback(frag, level, targetBufferTime) {\n var _this2 = this;\n var progressCallback = function progressCallback(data) {\n if (_this2.fragContextChanged(frag)) {\n _this2.warn(\"Fragment \" + frag.sn + (data.part ? ' p: ' + data.part.index : '') + \" of level \" + frag.level + \" was dropped during download.\");\n _this2.fragmentTracker.removeFragment(frag);\n return;\n }\n frag.stats.chunkCount++;\n _this2._handleFragmentLoadProgress(data);\n };\n this._doFragLoad(frag, level, targetBufferTime, progressCallback).then(function (data) {\n if (!data) {\n // if we're here we probably needed to backtrack or are waiting for more parts\n return;\n }\n var state = _this2.state;\n if (_this2.fragContextChanged(frag)) {\n if (state === State.FRAG_LOADING || !_this2.fragCurrent && state === State.PARSING) {\n _this2.fragmentTracker.removeFragment(frag);\n _this2.state = State.IDLE;\n }\n return;\n }\n if ('payload' in data) {\n _this2.log(\"Loaded fragment \" + frag.sn + \" of level \" + frag.level);\n _this2.hls.trigger(Events.FRAG_LOADED, data);\n }\n\n // Pass through the whole payload; controllers not implementing progressive loading receive data from this callback\n _this2._handleFragmentLoadComplete(data);\n }).catch(function (reason) {\n if (_this2.state === State.STOPPED || _this2.state === State.ERROR) {\n return;\n }\n _this2.warn(reason);\n _this2.resetFragmentLoading(frag);\n });\n };\n _proto.clearTrackerIfNeeded = function clearTrackerIfNeeded(frag) {\n var _this$mediaBuffer;\n var fragmentTracker = this.fragmentTracker;\n var fragState = fragmentTracker.getState(frag);\n if (fragState === FragmentState.APPENDING) {\n // Lower the buffer size and try again\n var playlistType = frag.type;\n var bufferedInfo = this.getFwdBufferInfo(this.mediaBuffer, playlistType);\n var minForwardBufferLength = Math.max(frag.duration, bufferedInfo ? bufferedInfo.len : this.config.maxBufferLength);\n if (this.reduceMaxBufferLength(minForwardBufferLength)) {\n fragmentTracker.removeFragment(frag);\n }\n } else if (((_this$mediaBuffer = this.mediaBuffer) == null ? void 0 : _this$mediaBuffer.buffered.length) === 0) {\n // Stop gap for bad tracker / buffer flush behavior\n fragmentTracker.removeAllFragments();\n } else if (fragmentTracker.hasParts(frag.type)) {\n // In low latency mode, remove fragments for which only some parts were buffered\n fragmentTracker.detectPartialFragments({\n frag: frag,\n part: null,\n stats: frag.stats,\n id: frag.type\n });\n if (fragmentTracker.getState(frag) === FragmentState.PARTIAL) {\n fragmentTracker.removeFragment(frag);\n }\n }\n };\n _proto.checkLiveUpdate = function checkLiveUpdate(details) {\n if (details.updated && !details.live) {\n // Live stream ended, update fragment tracker\n var lastFragment = details.fragments[details.fragments.length - 1];\n this.fragmentTracker.detectPartialFragments({\n frag: lastFragment,\n part: null,\n stats: lastFragment.stats,\n id: lastFragment.type\n });\n }\n if (!details.fragments[0]) {\n details.deltaUpdateFailed = true;\n }\n };\n _proto.flushMainBuffer = function flushMainBuffer(startOffset, endOffset, type) {\n if (type === void 0) {\n type = null;\n }\n if (!(startOffset - endOffset)) {\n return;\n }\n // When alternate audio is playing, the audio-stream-controller is responsible for the audio buffer. Otherwise,\n // passing a null type flushes both buffers\n var flushScope = {\n startOffset: startOffset,\n endOffset: endOffset,\n type: type\n };\n this.hls.trigger(Events.BUFFER_FLUSHING, flushScope);\n };\n _proto._loadInitSegment = function _loadInitSegment(frag, level) {\n var _this3 = this;\n this._doFragLoad(frag, level).then(function (data) {\n if (!data || _this3.fragContextChanged(frag) || !_this3.levels) {\n throw new Error('init load aborted');\n }\n return data;\n }).then(function (data) {\n var hls = _this3.hls;\n var payload = data.payload;\n var decryptData = frag.decryptdata;\n\n // check to see if the payload needs to be decrypted\n if (payload && payload.byteLength > 0 && decryptData != null && decryptData.key && decryptData.iv && decryptData.method === 'AES-128') {\n var startTime = self.performance.now();\n // decrypt init segment data\n return _this3.decrypter.decrypt(new Uint8Array(payload), decryptData.key.buffer, decryptData.iv.buffer).catch(function (err) {\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_DECRYPT_ERROR,\n fatal: false,\n error: err,\n reason: err.message,\n frag: frag\n });\n throw err;\n }).then(function (decryptedData) {\n var endTime = self.performance.now();\n hls.trigger(Events.FRAG_DECRYPTED, {\n frag: frag,\n payload: decryptedData,\n stats: {\n tstart: startTime,\n tdecrypt: endTime\n }\n });\n data.payload = decryptedData;\n return _this3.completeInitSegmentLoad(data);\n });\n }\n return _this3.completeInitSegmentLoad(data);\n }).catch(function (reason) {\n if (_this3.state === State.STOPPED || _this3.state === State.ERROR) {\n return;\n }\n _this3.warn(reason);\n _this3.resetFragmentLoading(frag);\n });\n };\n _proto.completeInitSegmentLoad = function completeInitSegmentLoad(data) {\n var levels = this.levels;\n if (!levels) {\n throw new Error('init load aborted, missing levels');\n }\n var stats = data.frag.stats;\n this.state = State.IDLE;\n data.frag.data = new Uint8Array(data.payload);\n stats.parsing.start = stats.buffering.start = self.performance.now();\n stats.parsing.end = stats.buffering.end = self.performance.now();\n this.tick();\n };\n _proto.fragContextChanged = function fragContextChanged(frag) {\n var fragCurrent = this.fragCurrent;\n return !frag || !fragCurrent || frag.sn !== fragCurrent.sn || frag.level !== fragCurrent.level;\n };\n _proto.fragBufferedComplete = function fragBufferedComplete(frag, part) {\n var _frag$startPTS, _frag$endPTS, _this$fragCurrent, _this$fragPrevious;\n var media = this.mediaBuffer ? this.mediaBuffer : this.media;\n this.log(\"Buffered \" + frag.type + \" sn: \" + frag.sn + (part ? ' part: ' + part.index : '') + \" of \" + (this.playlistType === PlaylistLevelType.MAIN ? 'level' : 'track') + \" \" + frag.level + \" (frag:[\" + ((_frag$startPTS = frag.startPTS) != null ? _frag$startPTS : NaN).toFixed(3) + \"-\" + ((_frag$endPTS = frag.endPTS) != null ? _frag$endPTS : NaN).toFixed(3) + \"] > buffer:\" + (media ? TimeRanges.toString(BufferHelper.getBuffered(media)) : '(detached)') + \")\");\n if (frag.sn !== 'initSegment') {\n var _this$levels;\n if (frag.type !== PlaylistLevelType.SUBTITLE) {\n var el = frag.elementaryStreams;\n if (!Object.keys(el).some(function (type) {\n return !!el[type];\n })) {\n // empty segment\n this.state = State.IDLE;\n return;\n }\n }\n var level = (_this$levels = this.levels) == null ? void 0 : _this$levels[frag.level];\n if (level != null && level.fragmentError) {\n this.log(\"Resetting level fragment error count of \" + level.fragmentError + \" on frag buffered\");\n level.fragmentError = 0;\n }\n }\n this.state = State.IDLE;\n if (!media) {\n return;\n }\n if (!this.loadedmetadata && frag.type == PlaylistLevelType.MAIN && media.buffered.length && ((_this$fragCurrent = this.fragCurrent) == null ? void 0 : _this$fragCurrent.sn) === ((_this$fragPrevious = this.fragPrevious) == null ? void 0 : _this$fragPrevious.sn)) {\n this.loadedmetadata = true;\n this.seekToStartPos();\n }\n this.tick();\n };\n _proto.seekToStartPos = function seekToStartPos() {};\n _proto._handleFragmentLoadComplete = function _handleFragmentLoadComplete(fragLoadedEndData) {\n var transmuxer = this.transmuxer;\n if (!transmuxer) {\n return;\n }\n var frag = fragLoadedEndData.frag,\n part = fragLoadedEndData.part,\n partsLoaded = fragLoadedEndData.partsLoaded;\n // If we did not load parts, or loaded all parts, we have complete (not partial) fragment data\n var complete = !partsLoaded || partsLoaded.length === 0 || partsLoaded.some(function (fragLoaded) {\n return !fragLoaded;\n });\n var chunkMeta = new ChunkMetadata(frag.level, frag.sn, frag.stats.chunkCount + 1, 0, part ? part.index : -1, !complete);\n transmuxer.flush(chunkMeta);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ;\n _proto._handleFragmentLoadProgress = function _handleFragmentLoadProgress(frag) {};\n _proto._doFragLoad = function _doFragLoad(frag, level, targetBufferTime, progressCallback) {\n var _frag$decryptdata,\n _this4 = this;\n if (targetBufferTime === void 0) {\n targetBufferTime = null;\n }\n var details = level == null ? void 0 : level.details;\n if (!this.levels || !details) {\n throw new Error(\"frag load aborted, missing level\" + (details ? '' : ' detail') + \"s\");\n }\n var keyLoadingPromise = null;\n if (frag.encrypted && !((_frag$decryptdata = frag.decryptdata) != null && _frag$decryptdata.key)) {\n this.log(\"Loading key for \" + frag.sn + \" of [\" + details.startSN + \"-\" + details.endSN + \"], \" + (this.logPrefix === '[stream-controller]' ? 'level' : 'track') + \" \" + frag.level);\n this.state = State.KEY_LOADING;\n this.fragCurrent = frag;\n keyLoadingPromise = this.keyLoader.load(frag).then(function (keyLoadedData) {\n if (!_this4.fragContextChanged(keyLoadedData.frag)) {\n _this4.hls.trigger(Events.KEY_LOADED, keyLoadedData);\n if (_this4.state === State.KEY_LOADING) {\n _this4.state = State.IDLE;\n }\n return keyLoadedData;\n }\n });\n this.hls.trigger(Events.KEY_LOADING, {\n frag: frag\n });\n if (this.fragCurrent === null) {\n keyLoadingPromise = Promise.reject(new Error(\"frag load aborted, context changed in KEY_LOADING\"));\n }\n } else if (!frag.encrypted && details.encryptedFragments.length) {\n this.keyLoader.loadClear(frag, details.encryptedFragments);\n }\n targetBufferTime = Math.max(frag.start, targetBufferTime || 0);\n if (this.config.lowLatencyMode && frag.sn !== 'initSegment') {\n var partList = details.partList;\n if (partList && progressCallback) {\n if (targetBufferTime > frag.end && details.fragmentHint) {\n frag = details.fragmentHint;\n }\n var partIndex = this.getNextPart(partList, frag, targetBufferTime);\n if (partIndex > -1) {\n var part = partList[partIndex];\n this.log(\"Loading part sn: \" + frag.sn + \" p: \" + part.index + \" cc: \" + frag.cc + \" of playlist [\" + details.startSN + \"-\" + details.endSN + \"] parts [0-\" + partIndex + \"-\" + (partList.length - 1) + \"] \" + (this.logPrefix === '[stream-controller]' ? 'level' : 'track') + \": \" + frag.level + \", target: \" + parseFloat(targetBufferTime.toFixed(3)));\n this.nextLoadPosition = part.start + part.duration;\n this.state = State.FRAG_LOADING;\n var _result;\n if (keyLoadingPromise) {\n _result = keyLoadingPromise.then(function (keyLoadedData) {\n if (!keyLoadedData || _this4.fragContextChanged(keyLoadedData.frag)) {\n return null;\n }\n return _this4.doFragPartsLoad(frag, part, level, progressCallback);\n }).catch(function (error) {\n return _this4.handleFragLoadError(error);\n });\n } else {\n _result = this.doFragPartsLoad(frag, part, level, progressCallback).catch(function (error) {\n return _this4.handleFragLoadError(error);\n });\n }\n this.hls.trigger(Events.FRAG_LOADING, {\n frag: frag,\n part: part,\n targetBufferTime: targetBufferTime\n });\n if (this.fragCurrent === null) {\n return Promise.reject(new Error(\"frag load aborted, context changed in FRAG_LOADING parts\"));\n }\n return _result;\n } else if (!frag.url || this.loadedEndOfParts(partList, targetBufferTime)) {\n // Fragment hint has no parts\n return Promise.resolve(null);\n }\n }\n }\n this.log(\"Loading fragment \" + frag.sn + \" cc: \" + frag.cc + \" \" + (details ? 'of [' + details.startSN + '-' + details.endSN + '] ' : '') + (this.logPrefix === '[stream-controller]' ? 'level' : 'track') + \": \" + frag.level + \", target: \" + parseFloat(targetBufferTime.toFixed(3)));\n // Don't update nextLoadPosition for fragments which are not buffered\n if (isFiniteNumber(frag.sn) && !this.bitrateTest) {\n this.nextLoadPosition = frag.start + frag.duration;\n }\n this.state = State.FRAG_LOADING;\n\n // Load key before streaming fragment data\n var dataOnProgress = this.config.progressive;\n var result;\n if (dataOnProgress && keyLoadingPromise) {\n result = keyLoadingPromise.then(function (keyLoadedData) {\n if (!keyLoadedData || _this4.fragContextChanged(keyLoadedData == null ? void 0 : keyLoadedData.frag)) {\n return null;\n }\n return _this4.fragmentLoader.load(frag, progressCallback);\n }).catch(function (error) {\n return _this4.handleFragLoadError(error);\n });\n } else {\n // load unencrypted fragment data with progress event,\n // or handle fragment result after key and fragment are finished loading\n result = Promise.all([this.fragmentLoader.load(frag, dataOnProgress ? progressCallback : undefined), keyLoadingPromise]).then(function (_ref) {\n var fragLoadedData = _ref[0];\n if (!dataOnProgress && fragLoadedData && progressCallback) {\n progressCallback(fragLoadedData);\n }\n return fragLoadedData;\n }).catch(function (error) {\n return _this4.handleFragLoadError(error);\n });\n }\n this.hls.trigger(Events.FRAG_LOADING, {\n frag: frag,\n targetBufferTime: targetBufferTime\n });\n if (this.fragCurrent === null) {\n return Promise.reject(new Error(\"frag load aborted, context changed in FRAG_LOADING\"));\n }\n return result;\n };\n _proto.doFragPartsLoad = function doFragPartsLoad(frag, fromPart, level, progressCallback) {\n var _this5 = this;\n return new Promise(function (resolve, reject) {\n var _level$details;\n var partsLoaded = [];\n var initialPartList = (_level$details = level.details) == null ? void 0 : _level$details.partList;\n var loadPart = function loadPart(part) {\n _this5.fragmentLoader.loadPart(frag, part, progressCallback).then(function (partLoadedData) {\n partsLoaded[part.index] = partLoadedData;\n var loadedPart = partLoadedData.part;\n _this5.hls.trigger(Events.FRAG_LOADED, partLoadedData);\n var nextPart = getPartWith(level, frag.sn, part.index + 1) || findPart(initialPartList, frag.sn, part.index + 1);\n if (nextPart) {\n loadPart(nextPart);\n } else {\n return resolve({\n frag: frag,\n part: loadedPart,\n partsLoaded: partsLoaded\n });\n }\n }).catch(reject);\n };\n loadPart(fromPart);\n });\n };\n _proto.handleFragLoadError = function handleFragLoadError(error) {\n if ('data' in error) {\n var data = error.data;\n if (error.data && data.details === ErrorDetails.INTERNAL_ABORTED) {\n this.handleFragLoadAborted(data.frag, data.part);\n } else {\n this.hls.trigger(Events.ERROR, data);\n }\n } else {\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.OTHER_ERROR,\n details: ErrorDetails.INTERNAL_EXCEPTION,\n err: error,\n error: error,\n fatal: true\n });\n }\n return null;\n };\n _proto._handleTransmuxerFlush = function _handleTransmuxerFlush(chunkMeta) {\n var context = this.getCurrentContext(chunkMeta);\n if (!context || this.state !== State.PARSING) {\n if (!this.fragCurrent && this.state !== State.STOPPED && this.state !== State.ERROR) {\n this.state = State.IDLE;\n }\n return;\n }\n var frag = context.frag,\n part = context.part,\n level = context.level;\n var now = self.performance.now();\n frag.stats.parsing.end = now;\n if (part) {\n part.stats.parsing.end = now;\n }\n this.updateLevelTiming(frag, part, level, chunkMeta.partial);\n };\n _proto.getCurrentContext = function getCurrentContext(chunkMeta) {\n var levels = this.levels,\n fragCurrent = this.fragCurrent;\n var levelIndex = chunkMeta.level,\n sn = chunkMeta.sn,\n partIndex = chunkMeta.part;\n if (!(levels != null && levels[levelIndex])) {\n this.warn(\"Levels object was unset while buffering fragment \" + sn + \" of level \" + levelIndex + \". The current chunk will not be buffered.\");\n return null;\n }\n var level = levels[levelIndex];\n var part = partIndex > -1 ? getPartWith(level, sn, partIndex) : null;\n var frag = part ? part.fragment : getFragmentWithSN(level, sn, fragCurrent);\n if (!frag) {\n return null;\n }\n if (fragCurrent && fragCurrent !== frag) {\n frag.stats = fragCurrent.stats;\n }\n return {\n frag: frag,\n part: part,\n level: level\n };\n };\n _proto.bufferFragmentData = function bufferFragmentData(data, frag, part, chunkMeta, noBacktracking) {\n var _buffer;\n if (!data || this.state !== State.PARSING) {\n return;\n }\n var data1 = data.data1,\n data2 = data.data2;\n var buffer = data1;\n if (data1 && data2) {\n // Combine the moof + mdat so that we buffer with a single append\n buffer = appendUint8Array(data1, data2);\n }\n if (!((_buffer = buffer) != null && _buffer.length)) {\n return;\n }\n var segment = {\n type: data.type,\n frag: frag,\n part: part,\n chunkMeta: chunkMeta,\n parent: frag.type,\n data: buffer\n };\n this.hls.trigger(Events.BUFFER_APPENDING, segment);\n if (data.dropped && data.independent && !part) {\n if (noBacktracking) {\n return;\n }\n // Clear buffer so that we reload previous segments sequentially if required\n this.flushBufferGap(frag);\n }\n };\n _proto.flushBufferGap = function flushBufferGap(frag) {\n var media = this.media;\n if (!media) {\n return;\n }\n // If currentTime is not buffered, clear the back buffer so that we can backtrack as much as needed\n if (!BufferHelper.isBuffered(media, media.currentTime)) {\n this.flushMainBuffer(0, frag.start);\n return;\n }\n // Remove back-buffer without interrupting playback to allow back tracking\n var currentTime = media.currentTime;\n var bufferInfo = BufferHelper.bufferInfo(media, currentTime, 0);\n var fragDuration = frag.duration;\n var segmentFraction = Math.min(this.config.maxFragLookUpTolerance * 2, fragDuration * 0.25);\n var start = Math.max(Math.min(frag.start - segmentFraction, bufferInfo.end - segmentFraction), currentTime + segmentFraction);\n if (frag.start - start > segmentFraction) {\n this.flushMainBuffer(start, frag.start);\n }\n };\n _proto.getFwdBufferInfo = function getFwdBufferInfo(bufferable, type) {\n var pos = this.getLoadPosition();\n if (!isFiniteNumber(pos)) {\n return null;\n }\n return this.getFwdBufferInfoAtPos(bufferable, pos, type);\n };\n _proto.getFwdBufferInfoAtPos = function getFwdBufferInfoAtPos(bufferable, pos, type) {\n var maxBufferHole = this.config.maxBufferHole;\n var bufferInfo = BufferHelper.bufferInfo(bufferable, pos, maxBufferHole);\n // Workaround flaw in getting forward buffer when maxBufferHole is smaller than gap at current pos\n if (bufferInfo.len === 0 && bufferInfo.nextStart !== undefined) {\n var bufferedFragAtPos = this.fragmentTracker.getBufferedFrag(pos, type);\n if (bufferedFragAtPos && bufferInfo.nextStart < bufferedFragAtPos.end) {\n return BufferHelper.bufferInfo(bufferable, pos, Math.max(bufferInfo.nextStart, maxBufferHole));\n }\n }\n return bufferInfo;\n };\n _proto.getMaxBufferLength = function getMaxBufferLength(levelBitrate) {\n var config = this.config;\n var maxBufLen;\n if (levelBitrate) {\n maxBufLen = Math.max(8 * config.maxBufferSize / levelBitrate, config.maxBufferLength);\n } else {\n maxBufLen = config.maxBufferLength;\n }\n return Math.min(maxBufLen, config.maxMaxBufferLength);\n };\n _proto.reduceMaxBufferLength = function reduceMaxBufferLength(threshold) {\n var config = this.config;\n var minLength = threshold || config.maxBufferLength;\n if (config.maxMaxBufferLength >= minLength) {\n // reduce max buffer length as it might be too high. we do this to avoid loop flushing ...\n config.maxMaxBufferLength /= 2;\n this.warn(\"Reduce max buffer length to \" + config.maxMaxBufferLength + \"s\");\n return true;\n }\n return false;\n };\n _proto.getAppendedFrag = function getAppendedFrag(position, playlistType) {\n var fragOrPart = this.fragmentTracker.getAppendedFrag(position, PlaylistLevelType.MAIN);\n if (fragOrPart && 'fragment' in fragOrPart) {\n return fragOrPart.fragment;\n }\n return fragOrPart;\n };\n _proto.getNextFragment = function getNextFragment(pos, levelDetails) {\n var fragments = levelDetails.fragments;\n var fragLen = fragments.length;\n if (!fragLen) {\n return null;\n }\n\n // find fragment index, contiguous with end of buffer position\n var config = this.config;\n var start = fragments[0].start;\n var frag;\n if (levelDetails.live) {\n var initialLiveManifestSize = config.initialLiveManifestSize;\n if (fragLen < initialLiveManifestSize) {\n this.warn(\"Not enough fragments to start playback (have: \" + fragLen + \", need: \" + initialLiveManifestSize + \")\");\n return null;\n }\n // The real fragment start times for a live stream are only known after the PTS range for that level is known.\n // In order to discover the range, we load the best matching fragment for that level and demux it.\n // Do not load using live logic if the starting frag is requested - we want to use getFragmentAtPosition() so that\n // we get the fragment matching that start time\n if (!levelDetails.PTSKnown && !this.startFragRequested && this.startPosition === -1 || pos < start) {\n frag = this.getInitialLiveFragment(levelDetails, fragments);\n this.startPosition = this.nextLoadPosition = frag ? this.hls.liveSyncPosition || frag.start : pos;\n }\n } else if (pos <= start) {\n // VoD playlist: if loadPosition before start of playlist, load first fragment\n frag = fragments[0];\n }\n\n // If we haven't run into any special cases already, just load the fragment most closely matching the requested position\n if (!frag) {\n var end = config.lowLatencyMode ? levelDetails.partEnd : levelDetails.fragmentEnd;\n frag = this.getFragmentAtPosition(pos, end, levelDetails);\n }\n return this.mapToInitFragWhenRequired(frag);\n };\n _proto.isLoopLoading = function isLoopLoading(frag, targetBufferTime) {\n var trackerState = this.fragmentTracker.getState(frag);\n return (trackerState === FragmentState.OK || trackerState === FragmentState.PARTIAL && !!frag.gap) && this.nextLoadPosition > targetBufferTime;\n };\n _proto.getNextFragmentLoopLoading = function getNextFragmentLoopLoading(frag, levelDetails, bufferInfo, playlistType, maxBufLen) {\n var gapStart = frag.gap;\n var nextFragment = this.getNextFragment(this.nextLoadPosition, levelDetails);\n if (nextFragment === null) {\n return nextFragment;\n }\n frag = nextFragment;\n if (gapStart && frag && !frag.gap && bufferInfo.nextStart) {\n // Media buffered after GAP tags should not make the next buffer timerange exceed forward buffer length\n var nextbufferInfo = this.getFwdBufferInfoAtPos(this.mediaBuffer ? this.mediaBuffer : this.media, bufferInfo.nextStart, playlistType);\n if (nextbufferInfo !== null && bufferInfo.len + nextbufferInfo.len >= maxBufLen) {\n // Returning here might result in not finding an audio and video candiate to skip to\n this.log(\"buffer full after gaps in \\\"\" + playlistType + \"\\\" playlist starting at sn: \" + frag.sn);\n return null;\n }\n }\n return frag;\n };\n _proto.mapToInitFragWhenRequired = function mapToInitFragWhenRequired(frag) {\n // If an initSegment is present, it must be buffered first\n if (frag != null && frag.initSegment && !(frag != null && frag.initSegment.data) && !this.bitrateTest) {\n return frag.initSegment;\n }\n return frag;\n };\n _proto.getNextPart = function getNextPart(partList, frag, targetBufferTime) {\n var nextPart = -1;\n var contiguous = false;\n var independentAttrOmitted = true;\n for (var i = 0, len = partList.length; i < len; i++) {\n var part = partList[i];\n independentAttrOmitted = independentAttrOmitted && !part.independent;\n if (nextPart > -1 && targetBufferTime < part.start) {\n break;\n }\n var loaded = part.loaded;\n if (loaded) {\n nextPart = -1;\n } else if ((contiguous || part.independent || independentAttrOmitted) && part.fragment === frag) {\n nextPart = i;\n }\n contiguous = loaded;\n }\n return nextPart;\n };\n _proto.loadedEndOfParts = function loadedEndOfParts(partList, targetBufferTime) {\n var lastPart = partList[partList.length - 1];\n return lastPart && targetBufferTime > lastPart.start && lastPart.loaded;\n }\n\n /*\n This method is used find the best matching first fragment for a live playlist. This fragment is used to calculate the\n \"sliding\" of the playlist, which is its offset from the start of playback. After sliding we can compute the real\n start and end times for each fragment in the playlist (after which this method will not need to be called).\n */;\n _proto.getInitialLiveFragment = function getInitialLiveFragment(levelDetails, fragments) {\n var fragPrevious = this.fragPrevious;\n var frag = null;\n if (fragPrevious) {\n if (levelDetails.hasProgramDateTime) {\n // Prefer using PDT, because it can be accurate enough to choose the correct fragment without knowing the level sliding\n this.log(\"Live playlist, switching playlist, load frag with same PDT: \" + fragPrevious.programDateTime);\n frag = findFragmentByPDT(fragments, fragPrevious.endProgramDateTime, this.config.maxFragLookUpTolerance);\n }\n if (!frag) {\n // SN does not need to be accurate between renditions, but depending on the packaging it may be so.\n var targetSN = fragPrevious.sn + 1;\n if (targetSN >= levelDetails.startSN && targetSN <= levelDetails.endSN) {\n var fragNext = fragments[targetSN - levelDetails.startSN];\n // Ensure that we're staying within the continuity range, since PTS resets upon a new range\n if (fragPrevious.cc === fragNext.cc) {\n frag = fragNext;\n this.log(\"Live playlist, switching playlist, load frag with next SN: \" + frag.sn);\n }\n }\n // It's important to stay within the continuity range if available; otherwise the fragments in the playlist\n // will have the wrong start times\n if (!frag) {\n frag = findFragWithCC(fragments, fragPrevious.cc);\n if (frag) {\n this.log(\"Live playlist, switching playlist, load frag with same CC: \" + frag.sn);\n }\n }\n }\n } else {\n // Find a new start fragment when fragPrevious is null\n var liveStart = this.hls.liveSyncPosition;\n if (liveStart !== null) {\n frag = this.getFragmentAtPosition(liveStart, this.bitrateTest ? levelDetails.fragmentEnd : levelDetails.edge, levelDetails);\n }\n }\n return frag;\n }\n\n /*\n This method finds the best matching fragment given the provided position.\n */;\n _proto.getFragmentAtPosition = function getFragmentAtPosition(bufferEnd, end, levelDetails) {\n var config = this.config;\n var fragPrevious = this.fragPrevious;\n var fragments = levelDetails.fragments,\n endSN = levelDetails.endSN;\n var fragmentHint = levelDetails.fragmentHint;\n var tolerance = config.maxFragLookUpTolerance;\n var partList = levelDetails.partList;\n var loadingParts = !!(config.lowLatencyMode && partList != null && partList.length && fragmentHint);\n if (loadingParts && fragmentHint && !this.bitrateTest) {\n // Include incomplete fragment with parts at end\n fragments = fragments.concat(fragmentHint);\n endSN = fragmentHint.sn;\n }\n var frag;\n if (bufferEnd < end) {\n var lookupTolerance = bufferEnd > end - tolerance ? 0 : tolerance;\n // Remove the tolerance if it would put the bufferEnd past the actual end of stream\n // Uses buffer and sequence number to calculate switch segment (required if using EXT-X-DISCONTINUITY-SEQUENCE)\n frag = findFragmentByPTS(fragPrevious, fragments, bufferEnd, lookupTolerance);\n } else {\n // reach end of playlist\n frag = fragments[fragments.length - 1];\n }\n if (frag) {\n var curSNIdx = frag.sn - levelDetails.startSN;\n // Move fragPrevious forward to support forcing the next fragment to load\n // when the buffer catches up to a previously buffered range.\n var fragState = this.fragmentTracker.getState(frag);\n if (fragState === FragmentState.OK || fragState === FragmentState.PARTIAL && frag.gap) {\n fragPrevious = frag;\n }\n if (fragPrevious && frag.sn === fragPrevious.sn && (!loadingParts || partList[0].fragment.sn > frag.sn)) {\n // Force the next fragment to load if the previous one was already selected. This can occasionally happen with\n // non-uniform fragment durations\n var sameLevel = fragPrevious && frag.level === fragPrevious.level;\n if (sameLevel) {\n var nextFrag = fragments[curSNIdx + 1];\n if (frag.sn < endSN && this.fragmentTracker.getState(nextFrag) !== FragmentState.OK) {\n frag = nextFrag;\n } else {\n frag = null;\n }\n }\n }\n }\n return frag;\n };\n _proto.synchronizeToLiveEdge = function synchronizeToLiveEdge(levelDetails) {\n var config = this.config,\n media = this.media;\n if (!media) {\n return;\n }\n var liveSyncPosition = this.hls.liveSyncPosition;\n var currentTime = media.currentTime;\n var start = levelDetails.fragments[0].start;\n var end = levelDetails.edge;\n var withinSlidingWindow = currentTime >= start - config.maxFragLookUpTolerance && currentTime <= end;\n // Continue if we can seek forward to sync position or if current time is outside of sliding window\n if (liveSyncPosition !== null && media.duration > liveSyncPosition && (currentTime < liveSyncPosition || !withinSlidingWindow)) {\n // Continue if buffer is starving or if current time is behind max latency\n var maxLatency = config.liveMaxLatencyDuration !== undefined ? config.liveMaxLatencyDuration : config.liveMaxLatencyDurationCount * levelDetails.targetduration;\n if (!withinSlidingWindow && media.readyState < 4 || currentTime < end - maxLatency) {\n if (!this.loadedmetadata) {\n this.nextLoadPosition = liveSyncPosition;\n }\n // Only seek if ready and there is not a significant forward buffer available for playback\n if (media.readyState) {\n this.warn(\"Playback: \" + currentTime.toFixed(3) + \" is located too far from the end of live sliding playlist: \" + end + \", reset currentTime to : \" + liveSyncPosition.toFixed(3));\n media.currentTime = liveSyncPosition;\n }\n }\n }\n };\n _proto.alignPlaylists = function alignPlaylists(details, previousDetails, switchDetails) {\n // FIXME: If not for `shouldAlignOnDiscontinuities` requiring fragPrevious.cc,\n // this could all go in level-helper mergeDetails()\n var length = details.fragments.length;\n if (!length) {\n this.warn(\"No fragments in live playlist\");\n return 0;\n }\n var slidingStart = details.fragments[0].start;\n var firstLevelLoad = !previousDetails;\n var aligned = details.alignedSliding && isFiniteNumber(slidingStart);\n if (firstLevelLoad || !aligned && !slidingStart) {\n var fragPrevious = this.fragPrevious;\n alignStream(fragPrevious, switchDetails, details);\n var alignedSlidingStart = details.fragments[0].start;\n this.log(\"Live playlist sliding: \" + alignedSlidingStart.toFixed(2) + \" start-sn: \" + (previousDetails ? previousDetails.startSN : 'na') + \"->\" + details.startSN + \" prev-sn: \" + (fragPrevious ? fragPrevious.sn : 'na') + \" fragments: \" + length);\n return alignedSlidingStart;\n }\n return slidingStart;\n };\n _proto.waitForCdnTuneIn = function waitForCdnTuneIn(details) {\n // Wait for Low-Latency CDN Tune-in to get an updated playlist\n var advancePartLimit = 3;\n return details.live && details.canBlockReload && details.partTarget && details.tuneInGoal > Math.max(details.partHoldBack, details.partTarget * advancePartLimit);\n };\n _proto.setStartPosition = function setStartPosition(details, sliding) {\n // compute start position if set to -1. use it straight away if value is defined\n var startPosition = this.startPosition;\n if (startPosition < sliding) {\n startPosition = -1;\n }\n if (startPosition === -1 || this.lastCurrentTime === -1) {\n // Use Playlist EXT-X-START:TIME-OFFSET when set\n // Prioritize Multivariant Playlist offset so that main, audio, and subtitle stream-controller start times match\n var offsetInMultivariantPlaylist = this.startTimeOffset !== null;\n var startTimeOffset = offsetInMultivariantPlaylist ? this.startTimeOffset : details.startTimeOffset;\n if (startTimeOffset !== null && isFiniteNumber(startTimeOffset)) {\n startPosition = sliding + startTimeOffset;\n if (startTimeOffset < 0) {\n startPosition += details.totalduration;\n }\n startPosition = Math.min(Math.max(sliding, startPosition), sliding + details.totalduration);\n this.log(\"Start time offset \" + startTimeOffset + \" found in \" + (offsetInMultivariantPlaylist ? 'multivariant' : 'media') + \" playlist, adjust startPosition to \" + startPosition);\n this.startPosition = startPosition;\n } else if (details.live) {\n // Leave this.startPosition at -1, so that we can use `getInitialLiveFragment` logic when startPosition has\n // not been specified via the config or an as an argument to startLoad (#3736).\n startPosition = this.hls.liveSyncPosition || sliding;\n } else {\n this.startPosition = startPosition = 0;\n }\n this.lastCurrentTime = startPosition;\n }\n this.nextLoadPosition = startPosition;\n };\n _proto.getLoadPosition = function getLoadPosition() {\n var media = this.media;\n // if we have not yet loaded any fragment, start loading from start position\n var pos = 0;\n if (this.loadedmetadata && media) {\n pos = media.currentTime;\n } else if (this.nextLoadPosition) {\n pos = this.nextLoadPosition;\n }\n return pos;\n };\n _proto.handleFragLoadAborted = function handleFragLoadAborted(frag, part) {\n if (this.transmuxer && frag.sn !== 'initSegment' && frag.stats.aborted) {\n this.warn(\"Fragment \" + frag.sn + (part ? ' part ' + part.index : '') + \" of level \" + frag.level + \" was aborted\");\n this.resetFragmentLoading(frag);\n }\n };\n _proto.resetFragmentLoading = function resetFragmentLoading(frag) {\n if (!this.fragCurrent || !this.fragContextChanged(frag) && this.state !== State.FRAG_LOADING_WAITING_RETRY) {\n this.state = State.IDLE;\n }\n };\n _proto.onFragmentOrKeyLoadError = function onFragmentOrKeyLoadError(filterType, data) {\n if (data.chunkMeta && !data.frag) {\n var context = this.getCurrentContext(data.chunkMeta);\n if (context) {\n data.frag = context.frag;\n }\n }\n var frag = data.frag;\n // Handle frag error related to caller's filterType\n if (!frag || frag.type !== filterType || !this.levels) {\n return;\n }\n if (this.fragContextChanged(frag)) {\n var _this$fragCurrent2;\n this.warn(\"Frag load error must match current frag to retry \" + frag.url + \" > \" + ((_this$fragCurrent2 = this.fragCurrent) == null ? void 0 : _this$fragCurrent2.url));\n return;\n }\n var gapTagEncountered = data.details === ErrorDetails.FRAG_GAP;\n if (gapTagEncountered) {\n this.fragmentTracker.fragBuffered(frag, true);\n }\n // keep retrying until the limit will be reached\n var errorAction = data.errorAction;\n var _ref2 = errorAction || {},\n action = _ref2.action,\n _ref2$retryCount = _ref2.retryCount,\n retryCount = _ref2$retryCount === void 0 ? 0 : _ref2$retryCount,\n retryConfig = _ref2.retryConfig;\n if (errorAction && action === NetworkErrorAction.RetryRequest && retryConfig) {\n this.resetStartWhenNotLoaded(this.levelLastLoaded);\n var delay = getRetryDelay(retryConfig, retryCount);\n this.warn(\"Fragment \" + frag.sn + \" of \" + filterType + \" \" + frag.level + \" errored with \" + data.details + \", retrying loading \" + (retryCount + 1) + \"/\" + retryConfig.maxNumRetry + \" in \" + delay + \"ms\");\n errorAction.resolved = true;\n this.retryDate = self.performance.now() + delay;\n this.state = State.FRAG_LOADING_WAITING_RETRY;\n } else if (retryConfig && errorAction) {\n this.resetFragmentErrors(filterType);\n if (retryCount < retryConfig.maxNumRetry) {\n // Network retry is skipped when level switch is preferred\n if (!gapTagEncountered && action !== NetworkErrorAction.RemoveAlternatePermanently) {\n errorAction.resolved = true;\n }\n } else {\n logger.warn(data.details + \" reached or exceeded max retry (\" + retryCount + \")\");\n return;\n }\n } else if ((errorAction == null ? void 0 : errorAction.action) === NetworkErrorAction.SendAlternateToPenaltyBox) {\n this.state = State.WAITING_LEVEL;\n } else {\n this.state = State.ERROR;\n }\n // Perform next async tick sooner to speed up error action resolution\n this.tickImmediate();\n };\n _proto.reduceLengthAndFlushBuffer = function reduceLengthAndFlushBuffer(data) {\n // if in appending state\n if (this.state === State.PARSING || this.state === State.PARSED) {\n var playlistType = data.parent;\n var bufferedInfo = this.getFwdBufferInfo(this.mediaBuffer, playlistType);\n // 0.5 : tolerance needed as some browsers stalls playback before reaching buffered end\n // reduce max buf len if current position is buffered\n var buffered = bufferedInfo && bufferedInfo.len > 0.5;\n if (buffered) {\n this.reduceMaxBufferLength(bufferedInfo.len);\n }\n var flushBuffer = !buffered;\n if (flushBuffer) {\n // current position is not buffered, but browser is still complaining about buffer full error\n // this happens on IE/Edge, refer to https://github.com/video-dev/hls.js/pull/708\n // in that case flush the whole audio buffer to recover\n this.warn(\"Buffer full error while media.currentTime is not buffered, flush \" + playlistType + \" buffer\");\n }\n if (data.frag) {\n this.fragmentTracker.removeFragment(data.frag);\n this.nextLoadPosition = data.frag.start;\n }\n this.resetLoadingState();\n return flushBuffer;\n }\n return false;\n };\n _proto.resetFragmentErrors = function resetFragmentErrors(filterType) {\n if (filterType === PlaylistLevelType.AUDIO) {\n // Reset current fragment since audio track audio is essential and may not have a fail-over track\n this.fragCurrent = null;\n }\n // Fragment errors that result in a level switch or redundant fail-over\n // should reset the stream controller state to idle\n if (!this.loadedmetadata) {\n this.startFragRequested = false;\n }\n if (this.state !== State.STOPPED) {\n this.state = State.IDLE;\n }\n };\n _proto.afterBufferFlushed = function afterBufferFlushed(media, bufferType, playlistType) {\n if (!media) {\n return;\n }\n // After successful buffer flushing, filter flushed fragments from bufferedFrags use mediaBuffered instead of media\n // (so that we will check against video.buffered ranges in case of alt audio track)\n var bufferedTimeRanges = BufferHelper.getBuffered(media);\n this.fragmentTracker.detectEvictedFragments(bufferType, bufferedTimeRanges, playlistType);\n if (this.state === State.ENDED) {\n this.resetLoadingState();\n }\n };\n _proto.resetLoadingState = function resetLoadingState() {\n this.log('Reset loading state');\n this.fragCurrent = null;\n this.fragPrevious = null;\n this.state = State.IDLE;\n };\n _proto.resetStartWhenNotLoaded = function resetStartWhenNotLoaded(level) {\n // if loadedmetadata is not set, it means that first frag request failed\n // in that case, reset startFragRequested flag\n if (!this.loadedmetadata) {\n this.startFragRequested = false;\n var details = level ? level.details : null;\n if (details != null && details.live) {\n // Update the start position and return to IDLE to recover live start\n this.startPosition = -1;\n this.setStartPosition(details, 0);\n this.resetLoadingState();\n } else {\n this.nextLoadPosition = this.startPosition;\n }\n }\n };\n _proto.resetWhenMissingContext = function resetWhenMissingContext(chunkMeta) {\n this.warn(\"The loading context changed while buffering fragment \" + chunkMeta.sn + \" of level \" + chunkMeta.level + \". This chunk will not be buffered.\");\n this.removeUnbufferedFrags();\n this.resetStartWhenNotLoaded(this.levelLastLoaded);\n this.resetLoadingState();\n };\n _proto.removeUnbufferedFrags = function removeUnbufferedFrags(start) {\n if (start === void 0) {\n start = 0;\n }\n this.fragmentTracker.removeFragmentsInRange(start, Infinity, this.playlistType, false, true);\n };\n _proto.updateLevelTiming = function updateLevelTiming(frag, part, level, partial) {\n var _this6 = this,\n _this$transmuxer;\n var details = level.details;\n if (!details) {\n this.warn('level.details undefined');\n return;\n }\n var parsed = Object.keys(frag.elementaryStreams).reduce(function (result, type) {\n var info = frag.elementaryStreams[type];\n if (info) {\n var parsedDuration = info.endPTS - info.startPTS;\n if (parsedDuration <= 0) {\n // Destroy the transmuxer after it's next time offset failed to advance because duration was <= 0.\n // The new transmuxer will be configured with a time offset matching the next fragment start,\n // preventing the timeline from shifting.\n _this6.warn(\"Could not parse fragment \" + frag.sn + \" \" + type + \" duration reliably (\" + parsedDuration + \")\");\n return result || false;\n }\n var drift = partial ? 0 : updateFragPTSDTS(details, frag, info.startPTS, info.endPTS, info.startDTS, info.endDTS);\n _this6.hls.trigger(Events.LEVEL_PTS_UPDATED, {\n details: details,\n level: level,\n drift: drift,\n type: type,\n frag: frag,\n start: info.startPTS,\n end: info.endPTS\n });\n return true;\n }\n return result;\n }, false);\n if (!parsed && ((_this$transmuxer = this.transmuxer) == null ? void 0 : _this$transmuxer.error) === null) {\n var error = new Error(\"Found no media in fragment \" + frag.sn + \" of level \" + frag.level + \" resetting transmuxer to fallback to playlist timing\");\n if (level.fragmentError === 0) {\n // Mark and track the odd empty segment as a gap to avoid reloading\n level.fragmentError++;\n frag.gap = true;\n this.fragmentTracker.removeFragment(frag);\n this.fragmentTracker.fragBuffered(frag, true);\n }\n this.warn(error.message);\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: false,\n error: error,\n frag: frag,\n reason: \"Found no media in msn \" + frag.sn + \" of level \\\"\" + level.url + \"\\\"\"\n });\n if (!this.hls) {\n return;\n }\n this.resetTransmuxer();\n // For this error fallthrough. Marking parsed will allow advancing to next fragment.\n }\n this.state = State.PARSED;\n this.hls.trigger(Events.FRAG_PARSED, {\n frag: frag,\n part: part\n });\n };\n _proto.resetTransmuxer = function resetTransmuxer() {\n if (this.transmuxer) {\n this.transmuxer.destroy();\n this.transmuxer = null;\n }\n };\n _proto.recoverWorkerError = function recoverWorkerError(data) {\n if (data.event === 'demuxerWorker') {\n this.fragmentTracker.removeAllFragments();\n this.resetTransmuxer();\n this.resetStartWhenNotLoaded(this.levelLastLoaded);\n this.resetLoadingState();\n }\n };\n _createClass(BaseStreamController, [{\n key: \"state\",\n get: function get() {\n return this._state;\n },\n set: function set(nextState) {\n var previousState = this._state;\n if (previousState !== nextState) {\n this._state = nextState;\n this.log(previousState + \"->\" + nextState);\n }\n }\n }]);\n return BaseStreamController;\n }(TaskLoop);\n\n var ChunkCache = /*#__PURE__*/function () {\n function ChunkCache() {\n this.chunks = [];\n this.dataLength = 0;\n }\n var _proto = ChunkCache.prototype;\n _proto.push = function push(chunk) {\n this.chunks.push(chunk);\n this.dataLength += chunk.length;\n };\n _proto.flush = function flush() {\n var chunks = this.chunks,\n dataLength = this.dataLength;\n var result;\n if (!chunks.length) {\n return new Uint8Array(0);\n } else if (chunks.length === 1) {\n result = chunks[0];\n } else {\n result = concatUint8Arrays(chunks, dataLength);\n }\n this.reset();\n return result;\n };\n _proto.reset = function reset() {\n this.chunks.length = 0;\n this.dataLength = 0;\n };\n return ChunkCache;\n }();\n function concatUint8Arrays(chunks, dataLength) {\n var result = new Uint8Array(dataLength);\n var offset = 0;\n for (var i = 0; i < chunks.length; i++) {\n var chunk = chunks[i];\n result.set(chunk, offset);\n offset += chunk.length;\n }\n return result;\n }\n\n function dummyTrack(type, inputTimeScale) {\n if (type === void 0) {\n type = '';\n }\n if (inputTimeScale === void 0) {\n inputTimeScale = 90000;\n }\n return {\n type: type,\n id: -1,\n pid: -1,\n inputTimeScale: inputTimeScale,\n sequenceNumber: -1,\n samples: [],\n dropped: 0\n };\n }\n\n var BaseAudioDemuxer = /*#__PURE__*/function () {\n function BaseAudioDemuxer() {\n this._audioTrack = void 0;\n this._id3Track = void 0;\n this.frameIndex = 0;\n this.cachedData = null;\n this.basePTS = null;\n this.initPTS = null;\n this.lastPTS = null;\n }\n var _proto = BaseAudioDemuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n this._id3Track = {\n type: 'id3',\n id: 3,\n pid: -1,\n inputTimeScale: 90000,\n sequenceNumber: 0,\n samples: [],\n dropped: 0\n };\n };\n _proto.resetTimeStamp = function resetTimeStamp(deaultTimestamp) {\n this.initPTS = deaultTimestamp;\n this.resetContiguity();\n };\n _proto.resetContiguity = function resetContiguity() {\n this.basePTS = null;\n this.lastPTS = null;\n this.frameIndex = 0;\n };\n _proto.canParse = function canParse(data, offset) {\n return false;\n };\n _proto.appendFrame = function appendFrame(track, data, offset) {}\n\n // feed incoming data to the front of the parsing pipeline\n ;\n _proto.demux = function demux(data, timeOffset) {\n if (this.cachedData) {\n data = appendUint8Array(this.cachedData, data);\n this.cachedData = null;\n }\n var id3Data = getID3Data(data, 0);\n var offset = id3Data ? id3Data.length : 0;\n var lastDataIndex;\n var track = this._audioTrack;\n var id3Track = this._id3Track;\n var timestamp = id3Data ? getTimeStamp(id3Data) : undefined;\n var length = data.length;\n if (this.basePTS === null || this.frameIndex === 0 && isFiniteNumber(timestamp)) {\n this.basePTS = initPTSFn(timestamp, timeOffset, this.initPTS);\n this.lastPTS = this.basePTS;\n }\n if (this.lastPTS === null) {\n this.lastPTS = this.basePTS;\n }\n\n // more expressive than alternative: id3Data?.length\n if (id3Data && id3Data.length > 0) {\n id3Track.samples.push({\n pts: this.lastPTS,\n dts: this.lastPTS,\n data: id3Data,\n type: MetadataSchema.audioId3,\n duration: Number.POSITIVE_INFINITY\n });\n }\n while (offset < length) {\n if (this.canParse(data, offset)) {\n var frame = this.appendFrame(track, data, offset);\n if (frame) {\n this.frameIndex++;\n this.lastPTS = frame.sample.pts;\n offset += frame.length;\n lastDataIndex = offset;\n } else {\n offset = length;\n }\n } else if (canParse$2(data, offset)) {\n // after a ID3.canParse, a call to ID3.getID3Data *should* always returns some data\n id3Data = getID3Data(data, offset);\n id3Track.samples.push({\n pts: this.lastPTS,\n dts: this.lastPTS,\n data: id3Data,\n type: MetadataSchema.audioId3,\n duration: Number.POSITIVE_INFINITY\n });\n offset += id3Data.length;\n lastDataIndex = offset;\n } else {\n offset++;\n }\n if (offset === length && lastDataIndex !== length) {\n var partialData = sliceUint8(data, lastDataIndex);\n if (this.cachedData) {\n this.cachedData = appendUint8Array(this.cachedData, partialData);\n } else {\n this.cachedData = partialData;\n }\n }\n }\n return {\n audioTrack: track,\n videoTrack: dummyTrack(),\n id3Track: id3Track,\n textTrack: dummyTrack()\n };\n };\n _proto.demuxSampleAes = function demuxSampleAes(data, keyData, timeOffset) {\n return Promise.reject(new Error(\"[\" + this + \"] This demuxer does not support Sample-AES decryption\"));\n };\n _proto.flush = function flush(timeOffset) {\n // Parse cache in case of remaining frames.\n var cachedData = this.cachedData;\n if (cachedData) {\n this.cachedData = null;\n this.demux(cachedData, 0);\n }\n return {\n audioTrack: this._audioTrack,\n videoTrack: dummyTrack(),\n id3Track: this._id3Track,\n textTrack: dummyTrack()\n };\n };\n _proto.destroy = function destroy() {};\n return BaseAudioDemuxer;\n }();\n /**\n * Initialize PTS\n * <p>\n * use timestamp unless it is undefined, NaN or Infinity\n * </p>\n */\n var initPTSFn = function initPTSFn(timestamp, timeOffset, initPTS) {\n if (isFiniteNumber(timestamp)) {\n return timestamp * 90;\n }\n var init90kHz = initPTS ? initPTS.baseTime * 90000 / initPTS.timescale : 0;\n return timeOffset * 90000 + init90kHz;\n };\n\n /**\n * ADTS parser helper\n * @link https://wiki.multimedia.cx/index.php?title=ADTS\n */\n function getAudioConfig(observer, data, offset, audioCodec) {\n var adtsObjectType;\n var adtsExtensionSamplingIndex;\n var adtsChannelConfig;\n var config;\n var userAgent = navigator.userAgent.toLowerCase();\n var manifestCodec = audioCodec;\n var adtsSamplingRates = [96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350];\n // byte 2\n adtsObjectType = ((data[offset + 2] & 0xc0) >>> 6) + 1;\n var adtsSamplingIndex = (data[offset + 2] & 0x3c) >>> 2;\n if (adtsSamplingIndex > adtsSamplingRates.length - 1) {\n var error = new Error(\"invalid ADTS sampling index:\" + adtsSamplingIndex);\n observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: true,\n error: error,\n reason: error.message\n });\n return;\n }\n adtsChannelConfig = (data[offset + 2] & 0x01) << 2;\n // byte 3\n adtsChannelConfig |= (data[offset + 3] & 0xc0) >>> 6;\n logger.log(\"manifest codec:\" + audioCodec + \", ADTS type:\" + adtsObjectType + \", samplingIndex:\" + adtsSamplingIndex);\n // firefox: freq less than 24kHz = AAC SBR (HE-AAC)\n if (/firefox/i.test(userAgent)) {\n if (adtsSamplingIndex >= 6) {\n adtsObjectType = 5;\n config = new Array(4);\n // HE-AAC uses SBR (Spectral Band Replication) , high frequencies are constructed from low frequencies\n // there is a factor 2 between frame sample rate and output sample rate\n // multiply frequency by 2 (see table below, equivalent to substract 3)\n adtsExtensionSamplingIndex = adtsSamplingIndex - 3;\n } else {\n adtsObjectType = 2;\n config = new Array(2);\n adtsExtensionSamplingIndex = adtsSamplingIndex;\n }\n // Android : always use AAC\n } else if (userAgent.indexOf('android') !== -1) {\n adtsObjectType = 2;\n config = new Array(2);\n adtsExtensionSamplingIndex = adtsSamplingIndex;\n } else {\n /* for other browsers (Chrome/Vivaldi/Opera ...)\n always force audio type to be HE-AAC SBR, as some browsers do not support audio codec switch properly (like Chrome ...)\n */\n adtsObjectType = 5;\n config = new Array(4);\n // if (manifest codec is HE-AAC or HE-AACv2) OR (manifest codec not specified AND frequency less than 24kHz)\n if (audioCodec && (audioCodec.indexOf('mp4a.40.29') !== -1 || audioCodec.indexOf('mp4a.40.5') !== -1) || !audioCodec && adtsSamplingIndex >= 6) {\n // HE-AAC uses SBR (Spectral Band Replication) , high frequencies are constructed from low frequencies\n // there is a factor 2 between frame sample rate and output sample rate\n // multiply frequency by 2 (see table below, equivalent to substract 3)\n adtsExtensionSamplingIndex = adtsSamplingIndex - 3;\n } else {\n // if (manifest codec is AAC) AND (frequency less than 24kHz AND nb channel is 1) OR (manifest codec not specified and mono audio)\n // Chrome fails to play back with low frequency AAC LC mono when initialized with HE-AAC. This is not a problem with stereo.\n if (audioCodec && audioCodec.indexOf('mp4a.40.2') !== -1 && (adtsSamplingIndex >= 6 && adtsChannelConfig === 1 || /vivaldi/i.test(userAgent)) || !audioCodec && adtsChannelConfig === 1) {\n adtsObjectType = 2;\n config = new Array(2);\n }\n adtsExtensionSamplingIndex = adtsSamplingIndex;\n }\n }\n /* refer to http://wiki.multimedia.cx/index.php?title=MPEG-4_Audio#Audio_Specific_Config\n ISO 14496-3 (AAC).pdf - Table 1.13 — Syntax of AudioSpecificConfig()\n Audio Profile / Audio Object Type\n 0: Null\n 1: AAC Main\n 2: AAC LC (Low Complexity)\n 3: AAC SSR (Scalable Sample Rate)\n 4: AAC LTP (Long Term Prediction)\n 5: SBR (Spectral Band Replication)\n 6: AAC Scalable\n sampling freq\n 0: 96000 Hz\n 1: 88200 Hz\n 2: 64000 Hz\n 3: 48000 Hz\n 4: 44100 Hz\n 5: 32000 Hz\n 6: 24000 Hz\n 7: 22050 Hz\n 8: 16000 Hz\n 9: 12000 Hz\n 10: 11025 Hz\n 11: 8000 Hz\n 12: 7350 Hz\n 13: Reserved\n 14: Reserved\n 15: frequency is written explictly\n Channel Configurations\n These are the channel configurations:\n 0: Defined in AOT Specifc Config\n 1: 1 channel: front-center\n 2: 2 channels: front-left, front-right\n */\n // audioObjectType = profile => profile, the MPEG-4 Audio Object Type minus 1\n config[0] = adtsObjectType << 3;\n // samplingFrequencyIndex\n config[0] |= (adtsSamplingIndex & 0x0e) >> 1;\n config[1] |= (adtsSamplingIndex & 0x01) << 7;\n // channelConfiguration\n config[1] |= adtsChannelConfig << 3;\n if (adtsObjectType === 5) {\n // adtsExtensionSamplingIndex\n config[1] |= (adtsExtensionSamplingIndex & 0x0e) >> 1;\n config[2] = (adtsExtensionSamplingIndex & 0x01) << 7;\n // adtsObjectType (force to 2, chrome is checking that object type is less than 5 ???\n // https://chromium.googlesource.com/chromium/src.git/+/master/media/formats/mp4/aac.cc\n config[2] |= 2 << 2;\n config[3] = 0;\n }\n return {\n config: config,\n samplerate: adtsSamplingRates[adtsSamplingIndex],\n channelCount: adtsChannelConfig,\n codec: 'mp4a.40.' + adtsObjectType,\n manifestCodec: manifestCodec\n };\n }\n function isHeaderPattern$1(data, offset) {\n return data[offset] === 0xff && (data[offset + 1] & 0xf6) === 0xf0;\n }\n function getHeaderLength(data, offset) {\n return data[offset + 1] & 0x01 ? 7 : 9;\n }\n function getFullFrameLength(data, offset) {\n return (data[offset + 3] & 0x03) << 11 | data[offset + 4] << 3 | (data[offset + 5] & 0xe0) >>> 5;\n }\n function canGetFrameLength(data, offset) {\n return offset + 5 < data.length;\n }\n function isHeader$1(data, offset) {\n // Look for ADTS header | 1111 1111 | 1111 X00X | where X can be either 0 or 1\n // Layer bits (position 14 and 15) in header should be always 0 for ADTS\n // More info https://wiki.multimedia.cx/index.php?title=ADTS\n return offset + 1 < data.length && isHeaderPattern$1(data, offset);\n }\n function canParse$1(data, offset) {\n return canGetFrameLength(data, offset) && isHeaderPattern$1(data, offset) && getFullFrameLength(data, offset) <= data.length - offset;\n }\n function probe$1(data, offset) {\n // same as isHeader but we also check that ADTS frame follows last ADTS frame\n // or end of data is reached\n if (isHeader$1(data, offset)) {\n // ADTS header Length\n var headerLength = getHeaderLength(data, offset);\n if (offset + headerLength >= data.length) {\n return false;\n }\n // ADTS frame Length\n var frameLength = getFullFrameLength(data, offset);\n if (frameLength <= headerLength) {\n return false;\n }\n var newOffset = offset + frameLength;\n return newOffset === data.length || isHeader$1(data, newOffset);\n }\n return false;\n }\n function initTrackConfig(track, observer, data, offset, audioCodec) {\n if (!track.samplerate) {\n var config = getAudioConfig(observer, data, offset, audioCodec);\n if (!config) {\n return;\n }\n track.config = config.config;\n track.samplerate = config.samplerate;\n track.channelCount = config.channelCount;\n track.codec = config.codec;\n track.manifestCodec = config.manifestCodec;\n logger.log(\"parsed codec:\" + track.codec + \", rate:\" + config.samplerate + \", channels:\" + config.channelCount);\n }\n }\n function getFrameDuration(samplerate) {\n return 1024 * 90000 / samplerate;\n }\n function parseFrameHeader(data, offset) {\n // The protection skip bit tells us if we have 2 bytes of CRC data at the end of the ADTS header\n var headerLength = getHeaderLength(data, offset);\n if (offset + headerLength <= data.length) {\n // retrieve frame size\n var frameLength = getFullFrameLength(data, offset) - headerLength;\n if (frameLength > 0) {\n // logger.log(`AAC frame, offset/length/total/pts:${offset+headerLength}/${frameLength}/${data.byteLength}`);\n return {\n headerLength: headerLength,\n frameLength: frameLength\n };\n }\n }\n }\n function appendFrame$1(track, data, offset, pts, frameIndex) {\n var frameDuration = getFrameDuration(track.samplerate);\n var stamp = pts + frameIndex * frameDuration;\n var header = parseFrameHeader(data, offset);\n var unit;\n if (header) {\n var frameLength = header.frameLength,\n headerLength = header.headerLength;\n var _length = headerLength + frameLength;\n var missing = Math.max(0, offset + _length - data.length);\n // logger.log(`AAC frame ${frameIndex}, pts:${stamp} length@offset/total: ${frameLength}@${offset+headerLength}/${data.byteLength} missing: ${missing}`);\n if (missing) {\n unit = new Uint8Array(_length - headerLength);\n unit.set(data.subarray(offset + headerLength, data.length), 0);\n } else {\n unit = data.subarray(offset + headerLength, offset + _length);\n }\n var _sample = {\n unit: unit,\n pts: stamp\n };\n if (!missing) {\n track.samples.push(_sample);\n }\n return {\n sample: _sample,\n length: _length,\n missing: missing\n };\n }\n // overflow incomplete header\n var length = data.length - offset;\n unit = new Uint8Array(length);\n unit.set(data.subarray(offset, data.length), 0);\n var sample = {\n unit: unit,\n pts: stamp\n };\n return {\n sample: sample,\n length: length,\n missing: -1\n };\n }\n\n /**\n * MPEG parser helper\n */\n\n var chromeVersion$1 = null;\n var BitratesMap = [32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160];\n var SamplingRateMap = [44100, 48000, 32000, 22050, 24000, 16000, 11025, 12000, 8000];\n var SamplesCoefficients = [\n // MPEG 2.5\n [0,\n // Reserved\n 72,\n // Layer3\n 144,\n // Layer2\n 12 // Layer1\n ],\n // Reserved\n [0,\n // Reserved\n 0,\n // Layer3\n 0,\n // Layer2\n 0 // Layer1\n ],\n // MPEG 2\n [0,\n // Reserved\n 72,\n // Layer3\n 144,\n // Layer2\n 12 // Layer1\n ],\n // MPEG 1\n [0,\n // Reserved\n 144,\n // Layer3\n 144,\n // Layer2\n 12 // Layer1\n ]];\n var BytesInSlot = [0,\n // Reserved\n 1,\n // Layer3\n 1,\n // Layer2\n 4 // Layer1\n ];\n function appendFrame(track, data, offset, pts, frameIndex) {\n // Using http://www.datavoyage.com/mpgscript/mpeghdr.htm as a reference\n if (offset + 24 > data.length) {\n return;\n }\n var header = parseHeader(data, offset);\n if (header && offset + header.frameLength <= data.length) {\n var frameDuration = header.samplesPerFrame * 90000 / header.sampleRate;\n var stamp = pts + frameIndex * frameDuration;\n var sample = {\n unit: data.subarray(offset, offset + header.frameLength),\n pts: stamp,\n dts: stamp\n };\n track.config = [];\n track.channelCount = header.channelCount;\n track.samplerate = header.sampleRate;\n track.samples.push(sample);\n return {\n sample: sample,\n length: header.frameLength,\n missing: 0\n };\n }\n }\n function parseHeader(data, offset) {\n var mpegVersion = data[offset + 1] >> 3 & 3;\n var mpegLayer = data[offset + 1] >> 1 & 3;\n var bitRateIndex = data[offset + 2] >> 4 & 15;\n var sampleRateIndex = data[offset + 2] >> 2 & 3;\n if (mpegVersion !== 1 && bitRateIndex !== 0 && bitRateIndex !== 15 && sampleRateIndex !== 3) {\n var paddingBit = data[offset + 2] >> 1 & 1;\n var channelMode = data[offset + 3] >> 6;\n var columnInBitrates = mpegVersion === 3 ? 3 - mpegLayer : mpegLayer === 3 ? 3 : 4;\n var bitRate = BitratesMap[columnInBitrates * 14 + bitRateIndex - 1] * 1000;\n var columnInSampleRates = mpegVersion === 3 ? 0 : mpegVersion === 2 ? 1 : 2;\n var sampleRate = SamplingRateMap[columnInSampleRates * 3 + sampleRateIndex];\n var channelCount = channelMode === 3 ? 1 : 2; // If bits of channel mode are `11` then it is a single channel (Mono)\n var sampleCoefficient = SamplesCoefficients[mpegVersion][mpegLayer];\n var bytesInSlot = BytesInSlot[mpegLayer];\n var samplesPerFrame = sampleCoefficient * 8 * bytesInSlot;\n var frameLength = Math.floor(sampleCoefficient * bitRate / sampleRate + paddingBit) * bytesInSlot;\n if (chromeVersion$1 === null) {\n var userAgent = navigator.userAgent || '';\n var result = userAgent.match(/Chrome\\/(\\d+)/i);\n chromeVersion$1 = result ? parseInt(result[1]) : 0;\n }\n var needChromeFix = !!chromeVersion$1 && chromeVersion$1 <= 87;\n if (needChromeFix && mpegLayer === 2 && bitRate >= 224000 && channelMode === 0) {\n // Work around bug in Chromium by setting channelMode to dual-channel (01) instead of stereo (00)\n data[offset + 3] = data[offset + 3] | 0x80;\n }\n return {\n sampleRate: sampleRate,\n channelCount: channelCount,\n frameLength: frameLength,\n samplesPerFrame: samplesPerFrame\n };\n }\n }\n function isHeaderPattern(data, offset) {\n return data[offset] === 0xff && (data[offset + 1] & 0xe0) === 0xe0 && (data[offset + 1] & 0x06) !== 0x00;\n }\n function isHeader(data, offset) {\n // Look for MPEG header | 1111 1111 | 111X XYZX | where X can be either 0 or 1 and Y or Z should be 1\n // Layer bits (position 14 and 15) in header should be always different from 0 (Layer I or Layer II or Layer III)\n // More info http://www.mp3-tech.org/programmer/frame_header.html\n return offset + 1 < data.length && isHeaderPattern(data, offset);\n }\n function canParse(data, offset) {\n var headerSize = 4;\n return isHeaderPattern(data, offset) && headerSize <= data.length - offset;\n }\n function probe(data, offset) {\n // same as isHeader but we also check that MPEG frame follows last MPEG frame\n // or end of data is reached\n if (offset + 1 < data.length && isHeaderPattern(data, offset)) {\n // MPEG header Length\n var headerLength = 4;\n // MPEG frame Length\n var header = parseHeader(data, offset);\n var frameLength = headerLength;\n if (header != null && header.frameLength) {\n frameLength = header.frameLength;\n }\n var newOffset = offset + frameLength;\n return newOffset === data.length || isHeader(data, newOffset);\n }\n return false;\n }\n\n var AACDemuxer = /*#__PURE__*/function (_BaseAudioDemuxer) {\n _inheritsLoose(AACDemuxer, _BaseAudioDemuxer);\n function AACDemuxer(observer, config) {\n var _this;\n _this = _BaseAudioDemuxer.call(this) || this;\n _this.observer = void 0;\n _this.config = void 0;\n _this.observer = observer;\n _this.config = config;\n return _this;\n }\n var _proto = AACDemuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n _BaseAudioDemuxer.prototype.resetInitSegment.call(this, initSegment, audioCodec, videoCodec, trackDuration);\n this._audioTrack = {\n container: 'audio/adts',\n type: 'audio',\n id: 2,\n pid: -1,\n sequenceNumber: 0,\n segmentCodec: 'aac',\n samples: [],\n manifestCodec: audioCodec,\n duration: trackDuration,\n inputTimeScale: 90000,\n dropped: 0\n };\n }\n\n // Source for probe info - https://wiki.multimedia.cx/index.php?title=ADTS\n ;\n AACDemuxer.probe = function probe$2(data) {\n if (!data) {\n return false;\n }\n\n // Check for the ADTS sync word\n // Look for ADTS header | 1111 1111 | 1111 X00X | where X can be either 0 or 1\n // Layer bits (position 14 and 15) in header should be always 0 for ADTS\n // More info https://wiki.multimedia.cx/index.php?title=ADTS\n var id3Data = getID3Data(data, 0);\n var offset = (id3Data == null ? void 0 : id3Data.length) || 0;\n if (probe(data, offset)) {\n return false;\n }\n for (var length = data.length; offset < length; offset++) {\n if (probe$1(data, offset)) {\n logger.log('ADTS sync word found !');\n return true;\n }\n }\n return false;\n };\n _proto.canParse = function canParse(data, offset) {\n return canParse$1(data, offset);\n };\n _proto.appendFrame = function appendFrame(track, data, offset) {\n initTrackConfig(track, this.observer, data, offset, track.manifestCodec);\n var frame = appendFrame$1(track, data, offset, this.basePTS, this.frameIndex);\n if (frame && frame.missing === 0) {\n return frame;\n }\n };\n return AACDemuxer;\n }(BaseAudioDemuxer);\n\n var emsgSchemePattern = /\\/emsg[-/]ID3/i;\n var MP4Demuxer = /*#__PURE__*/function () {\n function MP4Demuxer(observer, config) {\n this.remainderData = null;\n this.timeOffset = 0;\n this.config = void 0;\n this.videoTrack = void 0;\n this.audioTrack = void 0;\n this.id3Track = void 0;\n this.txtTrack = void 0;\n this.config = config;\n }\n var _proto = MP4Demuxer.prototype;\n _proto.resetTimeStamp = function resetTimeStamp() {};\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n var videoTrack = this.videoTrack = dummyTrack('video', 1);\n var audioTrack = this.audioTrack = dummyTrack('audio', 1);\n var captionTrack = this.txtTrack = dummyTrack('text', 1);\n this.id3Track = dummyTrack('id3', 1);\n this.timeOffset = 0;\n if (!(initSegment != null && initSegment.byteLength)) {\n return;\n }\n var initData = parseInitSegment(initSegment);\n if (initData.video) {\n var _initData$video = initData.video,\n id = _initData$video.id,\n timescale = _initData$video.timescale,\n codec = _initData$video.codec;\n videoTrack.id = id;\n videoTrack.timescale = captionTrack.timescale = timescale;\n videoTrack.codec = codec;\n }\n if (initData.audio) {\n var _initData$audio = initData.audio,\n _id = _initData$audio.id,\n _timescale = _initData$audio.timescale,\n _codec = _initData$audio.codec;\n audioTrack.id = _id;\n audioTrack.timescale = _timescale;\n audioTrack.codec = _codec;\n }\n captionTrack.id = RemuxerTrackIdConfig.text;\n videoTrack.sampleDuration = 0;\n videoTrack.duration = audioTrack.duration = trackDuration;\n };\n _proto.resetContiguity = function resetContiguity() {\n this.remainderData = null;\n };\n MP4Demuxer.probe = function probe(data) {\n return hasMoofData(data);\n };\n _proto.demux = function demux(data, timeOffset) {\n this.timeOffset = timeOffset;\n // Load all data into the avc track. The CMAF remuxer will look for the data in the samples object; the rest of the fields do not matter\n var videoSamples = data;\n var videoTrack = this.videoTrack;\n var textTrack = this.txtTrack;\n if (this.config.progressive) {\n // Split the bytestream into two ranges: one encompassing all data up until the start of the last moof, and everything else.\n // This is done to guarantee that we're sending valid data to MSE - when demuxing progressively, we have no guarantee\n // that the fetch loader gives us flush moof+mdat pairs. If we push jagged data to MSE, it will throw an exception.\n if (this.remainderData) {\n videoSamples = appendUint8Array(this.remainderData, data);\n }\n var segmentedData = segmentValidRange(videoSamples);\n this.remainderData = segmentedData.remainder;\n videoTrack.samples = segmentedData.valid || new Uint8Array();\n } else {\n videoTrack.samples = videoSamples;\n }\n var id3Track = this.extractID3Track(videoTrack, timeOffset);\n textTrack.samples = parseSamples(timeOffset, videoTrack);\n return {\n videoTrack: videoTrack,\n audioTrack: this.audioTrack,\n id3Track: id3Track,\n textTrack: this.txtTrack\n };\n };\n _proto.flush = function flush() {\n var timeOffset = this.timeOffset;\n var videoTrack = this.videoTrack;\n var textTrack = this.txtTrack;\n videoTrack.samples = this.remainderData || new Uint8Array();\n this.remainderData = null;\n var id3Track = this.extractID3Track(videoTrack, this.timeOffset);\n textTrack.samples = parseSamples(timeOffset, videoTrack);\n return {\n videoTrack: videoTrack,\n audioTrack: dummyTrack(),\n id3Track: id3Track,\n textTrack: dummyTrack()\n };\n };\n _proto.extractID3Track = function extractID3Track(videoTrack, timeOffset) {\n var id3Track = this.id3Track;\n if (videoTrack.samples.length) {\n var emsgs = findBox(videoTrack.samples, ['emsg']);\n if (emsgs) {\n emsgs.forEach(function (data) {\n var emsgInfo = parseEmsg(data);\n if (emsgSchemePattern.test(emsgInfo.schemeIdUri)) {\n var pts = isFiniteNumber(emsgInfo.presentationTime) ? emsgInfo.presentationTime / emsgInfo.timeScale : timeOffset + emsgInfo.presentationTimeDelta / emsgInfo.timeScale;\n var duration = emsgInfo.eventDuration === 0xffffffff ? Number.POSITIVE_INFINITY : emsgInfo.eventDuration / emsgInfo.timeScale;\n // Safari takes anything <= 0.001 seconds and maps it to Infinity\n if (duration <= 0.001) {\n duration = Number.POSITIVE_INFINITY;\n }\n var payload = emsgInfo.payload;\n id3Track.samples.push({\n data: payload,\n len: payload.byteLength,\n dts: pts,\n pts: pts,\n type: MetadataSchema.emsg,\n duration: duration\n });\n }\n });\n }\n }\n return id3Track;\n };\n _proto.demuxSampleAes = function demuxSampleAes(data, keyData, timeOffset) {\n return Promise.reject(new Error('The MP4 demuxer does not support SAMPLE-AES decryption'));\n };\n _proto.destroy = function destroy() {};\n return MP4Demuxer;\n }();\n\n var getAudioBSID = function getAudioBSID(data, offset) {\n // check the bsid to confirm ac-3 | ec-3\n var bsid = 0;\n var numBits = 5;\n offset += numBits;\n var temp = new Uint32Array(1); // unsigned 32 bit for temporary storage\n var mask = new Uint32Array(1); // unsigned 32 bit mask value\n var _byte = new Uint8Array(1); // unsigned 8 bit for temporary storage\n while (numBits > 0) {\n _byte[0] = data[offset];\n // read remaining bits, upto 8 bits at a time\n var bits = Math.min(numBits, 8);\n var shift = 8 - bits;\n mask[0] = 0xff000000 >>> 24 + shift << shift;\n temp[0] = (_byte[0] & mask[0]) >> shift;\n bsid = !bsid ? temp[0] : bsid << bits | temp[0];\n offset += 1;\n numBits -= bits;\n }\n return bsid;\n };\n\n var AC3Demuxer = /*#__PURE__*/function (_BaseAudioDemuxer) {\n _inheritsLoose(AC3Demuxer, _BaseAudioDemuxer);\n function AC3Demuxer(observer) {\n var _this;\n _this = _BaseAudioDemuxer.call(this) || this;\n _this.observer = void 0;\n _this.observer = observer;\n return _this;\n }\n var _proto = AC3Demuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n _BaseAudioDemuxer.prototype.resetInitSegment.call(this, initSegment, audioCodec, videoCodec, trackDuration);\n this._audioTrack = {\n container: 'audio/ac-3',\n type: 'audio',\n id: 2,\n pid: -1,\n sequenceNumber: 0,\n segmentCodec: 'ac3',\n samples: [],\n manifestCodec: audioCodec,\n duration: trackDuration,\n inputTimeScale: 90000,\n dropped: 0\n };\n };\n _proto.canParse = function canParse(data, offset) {\n return offset + 64 < data.length;\n };\n _proto.appendFrame = function appendFrame(track, data, offset) {\n var frameLength = _appendFrame(track, data, offset, this.basePTS, this.frameIndex);\n if (frameLength !== -1) {\n var sample = track.samples[track.samples.length - 1];\n return {\n sample: sample,\n length: frameLength,\n missing: 0\n };\n }\n };\n AC3Demuxer.probe = function probe(data) {\n if (!data) {\n return false;\n }\n var id3Data = getID3Data(data, 0);\n if (!id3Data) {\n return false;\n }\n\n // look for the ac-3 sync bytes\n var offset = id3Data.length;\n if (data[offset] === 0x0b && data[offset + 1] === 0x77 && getTimeStamp(id3Data) !== undefined &&\n // check the bsid to confirm ac-3\n getAudioBSID(data, offset) < 16) {\n return true;\n }\n return false;\n };\n return AC3Demuxer;\n }(BaseAudioDemuxer);\n function _appendFrame(track, data, start, pts, frameIndex) {\n if (start + 8 > data.length) {\n return -1; // not enough bytes left\n }\n if (data[start] !== 0x0b || data[start + 1] !== 0x77) {\n return -1; // invalid magic\n }\n\n // get sample rate\n var samplingRateCode = data[start + 4] >> 6;\n if (samplingRateCode >= 3) {\n return -1; // invalid sampling rate\n }\n var samplingRateMap = [48000, 44100, 32000];\n var sampleRate = samplingRateMap[samplingRateCode];\n\n // get frame size\n var frameSizeCode = data[start + 4] & 0x3f;\n var frameSizeMap = [64, 69, 96, 64, 70, 96, 80, 87, 120, 80, 88, 120, 96, 104, 144, 96, 105, 144, 112, 121, 168, 112, 122, 168, 128, 139, 192, 128, 140, 192, 160, 174, 240, 160, 175, 240, 192, 208, 288, 192, 209, 288, 224, 243, 336, 224, 244, 336, 256, 278, 384, 256, 279, 384, 320, 348, 480, 320, 349, 480, 384, 417, 576, 384, 418, 576, 448, 487, 672, 448, 488, 672, 512, 557, 768, 512, 558, 768, 640, 696, 960, 640, 697, 960, 768, 835, 1152, 768, 836, 1152, 896, 975, 1344, 896, 976, 1344, 1024, 1114, 1536, 1024, 1115, 1536, 1152, 1253, 1728, 1152, 1254, 1728, 1280, 1393, 1920, 1280, 1394, 1920];\n var frameLength = frameSizeMap[frameSizeCode * 3 + samplingRateCode] * 2;\n if (start + frameLength > data.length) {\n return -1;\n }\n\n // get channel count\n var channelMode = data[start + 6] >> 5;\n var skipCount = 0;\n if (channelMode === 2) {\n skipCount += 2;\n } else {\n if (channelMode & 1 && channelMode !== 1) {\n skipCount += 2;\n }\n if (channelMode & 4) {\n skipCount += 2;\n }\n }\n var lfeon = (data[start + 6] << 8 | data[start + 7]) >> 12 - skipCount & 1;\n var channelsMap = [2, 1, 2, 3, 3, 4, 4, 5];\n var channelCount = channelsMap[channelMode] + lfeon;\n\n // build dac3 box\n var bsid = data[start + 5] >> 3;\n var bsmod = data[start + 5] & 7;\n var config = new Uint8Array([samplingRateCode << 6 | bsid << 1 | bsmod >> 2, (bsmod & 3) << 6 | channelMode << 3 | lfeon << 2 | frameSizeCode >> 4, frameSizeCode << 4 & 0xe0]);\n var frameDuration = 1536 / sampleRate * 90000;\n var stamp = pts + frameIndex * frameDuration;\n var unit = data.subarray(start, start + frameLength);\n track.config = config;\n track.channelCount = channelCount;\n track.samplerate = sampleRate;\n track.samples.push({\n unit: unit,\n pts: stamp\n });\n return frameLength;\n }\n\n var BaseVideoParser = /*#__PURE__*/function () {\n function BaseVideoParser() {\n this.VideoSample = null;\n }\n var _proto = BaseVideoParser.prototype;\n _proto.createVideoSample = function createVideoSample(key, pts, dts, debug) {\n return {\n key: key,\n frame: false,\n pts: pts,\n dts: dts,\n units: [],\n debug: debug,\n length: 0\n };\n };\n _proto.getLastNalUnit = function getLastNalUnit(samples) {\n var _VideoSample;\n var VideoSample = this.VideoSample;\n var lastUnit;\n // try to fallback to previous sample if current one is empty\n if (!VideoSample || VideoSample.units.length === 0) {\n VideoSample = samples[samples.length - 1];\n }\n if ((_VideoSample = VideoSample) != null && _VideoSample.units) {\n var units = VideoSample.units;\n lastUnit = units[units.length - 1];\n }\n return lastUnit;\n };\n _proto.pushAccessUnit = function pushAccessUnit(VideoSample, videoTrack) {\n if (VideoSample.units.length && VideoSample.frame) {\n // if sample does not have PTS/DTS, patch with last sample PTS/DTS\n if (VideoSample.pts === undefined) {\n var samples = videoTrack.samples;\n var nbSamples = samples.length;\n if (nbSamples) {\n var lastSample = samples[nbSamples - 1];\n VideoSample.pts = lastSample.pts;\n VideoSample.dts = lastSample.dts;\n } else {\n // dropping samples, no timestamp found\n videoTrack.dropped++;\n return;\n }\n }\n videoTrack.samples.push(VideoSample);\n }\n if (VideoSample.debug.length) {\n logger.log(VideoSample.pts + '/' + VideoSample.dts + ':' + VideoSample.debug);\n }\n };\n return BaseVideoParser;\n }();\n\n /**\n * Parser for exponential Golomb codes, a variable-bitwidth number encoding scheme used by h264.\n */\n\n var ExpGolomb = /*#__PURE__*/function () {\n function ExpGolomb(data) {\n this.data = void 0;\n this.bytesAvailable = void 0;\n this.word = void 0;\n this.bitsAvailable = void 0;\n this.data = data;\n // the number of bytes left to examine in this.data\n this.bytesAvailable = data.byteLength;\n // the current word being examined\n this.word = 0; // :uint\n // the number of bits left to examine in the current word\n this.bitsAvailable = 0; // :uint\n }\n\n // ():void\n var _proto = ExpGolomb.prototype;\n _proto.loadWord = function loadWord() {\n var data = this.data;\n var bytesAvailable = this.bytesAvailable;\n var position = data.byteLength - bytesAvailable;\n var workingBytes = new Uint8Array(4);\n var availableBytes = Math.min(4, bytesAvailable);\n if (availableBytes === 0) {\n throw new Error('no bytes available');\n }\n workingBytes.set(data.subarray(position, position + availableBytes));\n this.word = new DataView(workingBytes.buffer).getUint32(0);\n // track the amount of this.data that has been processed\n this.bitsAvailable = availableBytes * 8;\n this.bytesAvailable -= availableBytes;\n }\n\n // (count:int):void\n ;\n _proto.skipBits = function skipBits(count) {\n var skipBytes; // :int\n count = Math.min(count, this.bytesAvailable * 8 + this.bitsAvailable);\n if (this.bitsAvailable > count) {\n this.word <<= count;\n this.bitsAvailable -= count;\n } else {\n count -= this.bitsAvailable;\n skipBytes = count >> 3;\n count -= skipBytes << 3;\n this.bytesAvailable -= skipBytes;\n this.loadWord();\n this.word <<= count;\n this.bitsAvailable -= count;\n }\n }\n\n // (size:int):uint\n ;\n _proto.readBits = function readBits(size) {\n var bits = Math.min(this.bitsAvailable, size); // :uint\n var valu = this.word >>> 32 - bits; // :uint\n if (size > 32) {\n logger.error('Cannot read more than 32 bits at a time');\n }\n this.bitsAvailable -= bits;\n if (this.bitsAvailable > 0) {\n this.word <<= bits;\n } else if (this.bytesAvailable > 0) {\n this.loadWord();\n } else {\n throw new Error('no bits available');\n }\n bits = size - bits;\n if (bits > 0 && this.bitsAvailable) {\n return valu << bits | this.readBits(bits);\n } else {\n return valu;\n }\n }\n\n // ():uint\n ;\n _proto.skipLZ = function skipLZ() {\n var leadingZeroCount; // :uint\n for (leadingZeroCount = 0; leadingZeroCount < this.bitsAvailable; ++leadingZeroCount) {\n if ((this.word & 0x80000000 >>> leadingZeroCount) !== 0) {\n // the first bit of working word is 1\n this.word <<= leadingZeroCount;\n this.bitsAvailable -= leadingZeroCount;\n return leadingZeroCount;\n }\n }\n // we exhausted word and still have not found a 1\n this.loadWord();\n return leadingZeroCount + this.skipLZ();\n }\n\n // ():void\n ;\n _proto.skipUEG = function skipUEG() {\n this.skipBits(1 + this.skipLZ());\n }\n\n // ():void\n ;\n _proto.skipEG = function skipEG() {\n this.skipBits(1 + this.skipLZ());\n }\n\n // ():uint\n ;\n _proto.readUEG = function readUEG() {\n var clz = this.skipLZ(); // :uint\n return this.readBits(clz + 1) - 1;\n }\n\n // ():int\n ;\n _proto.readEG = function readEG() {\n var valu = this.readUEG(); // :int\n if (0x01 & valu) {\n // the number is odd if the low order bit is set\n return 1 + valu >>> 1; // add 1 to make it even, and divide by 2\n } else {\n return -1 * (valu >>> 1); // divide by two then make it negative\n }\n }\n\n // Some convenience functions\n // :Boolean\n ;\n _proto.readBoolean = function readBoolean() {\n return this.readBits(1) === 1;\n }\n\n // ():int\n ;\n _proto.readUByte = function readUByte() {\n return this.readBits(8);\n }\n\n // ():int\n ;\n _proto.readUShort = function readUShort() {\n return this.readBits(16);\n }\n\n // ():int\n ;\n _proto.readUInt = function readUInt() {\n return this.readBits(32);\n }\n\n /**\n * Advance the ExpGolomb decoder past a scaling list. The scaling\n * list is optionally transmitted as part of a sequence parameter\n * set and is not relevant to transmuxing.\n * @param count the number of entries in this scaling list\n * @see Recommendation ITU-T H.264, Section 7.3.2.1.1.1\n */;\n _proto.skipScalingList = function skipScalingList(count) {\n var lastScale = 8;\n var nextScale = 8;\n var deltaScale;\n for (var j = 0; j < count; j++) {\n if (nextScale !== 0) {\n deltaScale = this.readEG();\n nextScale = (lastScale + deltaScale + 256) % 256;\n }\n lastScale = nextScale === 0 ? lastScale : nextScale;\n }\n }\n\n /**\n * Read a sequence parameter set and return some interesting video\n * properties. A sequence parameter set is the H264 metadata that\n * describes the properties of upcoming video frames.\n * @returns an object with configuration parsed from the\n * sequence parameter set, including the dimensions of the\n * associated video frames.\n */;\n _proto.readSPS = function readSPS() {\n var frameCropLeftOffset = 0;\n var frameCropRightOffset = 0;\n var frameCropTopOffset = 0;\n var frameCropBottomOffset = 0;\n var numRefFramesInPicOrderCntCycle;\n var scalingListCount;\n var i;\n var readUByte = this.readUByte.bind(this);\n var readBits = this.readBits.bind(this);\n var readUEG = this.readUEG.bind(this);\n var readBoolean = this.readBoolean.bind(this);\n var skipBits = this.skipBits.bind(this);\n var skipEG = this.skipEG.bind(this);\n var skipUEG = this.skipUEG.bind(this);\n var skipScalingList = this.skipScalingList.bind(this);\n readUByte();\n var profileIdc = readUByte(); // profile_idc\n readBits(5); // profileCompat constraint_set[0-4]_flag, u(5)\n skipBits(3); // reserved_zero_3bits u(3),\n readUByte(); // level_idc u(8)\n skipUEG(); // seq_parameter_set_id\n // some profiles have more optional data we don't need\n if (profileIdc === 100 || profileIdc === 110 || profileIdc === 122 || profileIdc === 244 || profileIdc === 44 || profileIdc === 83 || profileIdc === 86 || profileIdc === 118 || profileIdc === 128) {\n var chromaFormatIdc = readUEG();\n if (chromaFormatIdc === 3) {\n skipBits(1);\n } // separate_colour_plane_flag\n\n skipUEG(); // bit_depth_luma_minus8\n skipUEG(); // bit_depth_chroma_minus8\n skipBits(1); // qpprime_y_zero_transform_bypass_flag\n if (readBoolean()) {\n // seq_scaling_matrix_present_flag\n scalingListCount = chromaFormatIdc !== 3 ? 8 : 12;\n for (i = 0; i < scalingListCount; i++) {\n if (readBoolean()) {\n // seq_scaling_list_present_flag[ i ]\n if (i < 6) {\n skipScalingList(16);\n } else {\n skipScalingList(64);\n }\n }\n }\n }\n }\n skipUEG(); // log2_max_frame_num_minus4\n var picOrderCntType = readUEG();\n if (picOrderCntType === 0) {\n readUEG(); // log2_max_pic_order_cnt_lsb_minus4\n } else if (picOrderCntType === 1) {\n skipBits(1); // delta_pic_order_always_zero_flag\n skipEG(); // offset_for_non_ref_pic\n skipEG(); // offset_for_top_to_bottom_field\n numRefFramesInPicOrderCntCycle = readUEG();\n for (i = 0; i < numRefFramesInPicOrderCntCycle; i++) {\n skipEG();\n } // offset_for_ref_frame[ i ]\n }\n skipUEG(); // max_num_ref_frames\n skipBits(1); // gaps_in_frame_num_value_allowed_flag\n var picWidthInMbsMinus1 = readUEG();\n var picHeightInMapUnitsMinus1 = readUEG();\n var frameMbsOnlyFlag = readBits(1);\n if (frameMbsOnlyFlag === 0) {\n skipBits(1);\n } // mb_adaptive_frame_field_flag\n\n skipBits(1); // direct_8x8_inference_flag\n if (readBoolean()) {\n // frame_cropping_flag\n frameCropLeftOffset = readUEG();\n frameCropRightOffset = readUEG();\n frameCropTopOffset = readUEG();\n frameCropBottomOffset = readUEG();\n }\n var pixelRatio = [1, 1];\n if (readBoolean()) {\n // vui_parameters_present_flag\n if (readBoolean()) {\n // aspect_ratio_info_present_flag\n var aspectRatioIdc = readUByte();\n switch (aspectRatioIdc) {\n case 1:\n pixelRatio = [1, 1];\n break;\n case 2:\n pixelRatio = [12, 11];\n break;\n case 3:\n pixelRatio = [10, 11];\n break;\n case 4:\n pixelRatio = [16, 11];\n break;\n case 5:\n pixelRatio = [40, 33];\n break;\n case 6:\n pixelRatio = [24, 11];\n break;\n case 7:\n pixelRatio = [20, 11];\n break;\n case 8:\n pixelRatio = [32, 11];\n break;\n case 9:\n pixelRatio = [80, 33];\n break;\n case 10:\n pixelRatio = [18, 11];\n break;\n case 11:\n pixelRatio = [15, 11];\n break;\n case 12:\n pixelRatio = [64, 33];\n break;\n case 13:\n pixelRatio = [160, 99];\n break;\n case 14:\n pixelRatio = [4, 3];\n break;\n case 15:\n pixelRatio = [3, 2];\n break;\n case 16:\n pixelRatio = [2, 1];\n break;\n case 255:\n {\n pixelRatio = [readUByte() << 8 | readUByte(), readUByte() << 8 | readUByte()];\n break;\n }\n }\n }\n }\n return {\n width: Math.ceil((picWidthInMbsMinus1 + 1) * 16 - frameCropLeftOffset * 2 - frameCropRightOffset * 2),\n height: (2 - frameMbsOnlyFlag) * (picHeightInMapUnitsMinus1 + 1) * 16 - (frameMbsOnlyFlag ? 2 : 4) * (frameCropTopOffset + frameCropBottomOffset),\n pixelRatio: pixelRatio\n };\n };\n _proto.readSliceType = function readSliceType() {\n // skip NALu type\n this.readUByte();\n // discard first_mb_in_slice\n this.readUEG();\n // return slice_type\n return this.readUEG();\n };\n return ExpGolomb;\n }();\n\n var AvcVideoParser = /*#__PURE__*/function (_BaseVideoParser) {\n _inheritsLoose(AvcVideoParser, _BaseVideoParser);\n function AvcVideoParser() {\n return _BaseVideoParser.apply(this, arguments) || this;\n }\n var _proto = AvcVideoParser.prototype;\n _proto.parseAVCPES = function parseAVCPES(track, textTrack, pes, last, duration) {\n var _this = this;\n var units = this.parseAVCNALu(track, pes.data);\n var VideoSample = this.VideoSample;\n var push;\n var spsfound = false;\n // free pes.data to save up some memory\n pes.data = null;\n\n // if new NAL units found and last sample still there, let's push ...\n // this helps parsing streams with missing AUD (only do this if AUD never found)\n if (VideoSample && units.length && !track.audFound) {\n this.pushAccessUnit(VideoSample, track);\n VideoSample = this.VideoSample = this.createVideoSample(false, pes.pts, pes.dts, '');\n }\n units.forEach(function (unit) {\n var _VideoSample2;\n switch (unit.type) {\n // NDR\n case 1:\n {\n var iskey = false;\n push = true;\n var data = unit.data;\n // only check slice type to detect KF in case SPS found in same packet (any keyframe is preceded by SPS ...)\n if (spsfound && data.length > 4) {\n // retrieve slice type by parsing beginning of NAL unit (follow H264 spec, slice_header definition) to detect keyframe embedded in NDR\n var sliceType = new ExpGolomb(data).readSliceType();\n // 2 : I slice, 4 : SI slice, 7 : I slice, 9: SI slice\n // SI slice : A slice that is coded using intra prediction only and using quantisation of the prediction samples.\n // An SI slice can be coded such that its decoded samples can be constructed identically to an SP slice.\n // I slice: A slice that is not an SI slice that is decoded using intra prediction only.\n // if (sliceType === 2 || sliceType === 7) {\n if (sliceType === 2 || sliceType === 4 || sliceType === 7 || sliceType === 9) {\n iskey = true;\n }\n }\n if (iskey) {\n var _VideoSample;\n // if we have non-keyframe data already, that cannot belong to the same frame as a keyframe, so force a push\n if ((_VideoSample = VideoSample) != null && _VideoSample.frame && !VideoSample.key) {\n _this.pushAccessUnit(VideoSample, track);\n VideoSample = _this.VideoSample = null;\n }\n }\n if (!VideoSample) {\n VideoSample = _this.VideoSample = _this.createVideoSample(true, pes.pts, pes.dts, '');\n }\n VideoSample.frame = true;\n VideoSample.key = iskey;\n break;\n // IDR\n }\n case 5:\n push = true;\n // handle PES not starting with AUD\n // if we have frame data already, that cannot belong to the same frame, so force a push\n if ((_VideoSample2 = VideoSample) != null && _VideoSample2.frame && !VideoSample.key) {\n _this.pushAccessUnit(VideoSample, track);\n VideoSample = _this.VideoSample = null;\n }\n if (!VideoSample) {\n VideoSample = _this.VideoSample = _this.createVideoSample(true, pes.pts, pes.dts, '');\n }\n VideoSample.key = true;\n VideoSample.frame = true;\n break;\n // SEI\n case 6:\n {\n push = true;\n parseSEIMessageFromNALu(unit.data, 1, pes.pts, textTrack.samples);\n break;\n // SPS\n }\n case 7:\n {\n var _track$pixelRatio, _track$pixelRatio2;\n push = true;\n spsfound = true;\n var sps = unit.data;\n var expGolombDecoder = new ExpGolomb(sps);\n var config = expGolombDecoder.readSPS();\n if (!track.sps || track.width !== config.width || track.height !== config.height || ((_track$pixelRatio = track.pixelRatio) == null ? void 0 : _track$pixelRatio[0]) !== config.pixelRatio[0] || ((_track$pixelRatio2 = track.pixelRatio) == null ? void 0 : _track$pixelRatio2[1]) !== config.pixelRatio[1]) {\n track.width = config.width;\n track.height = config.height;\n track.pixelRatio = config.pixelRatio;\n track.sps = [sps];\n track.duration = duration;\n var codecarray = sps.subarray(1, 4);\n var codecstring = 'avc1.';\n for (var i = 0; i < 3; i++) {\n var h = codecarray[i].toString(16);\n if (h.length < 2) {\n h = '0' + h;\n }\n codecstring += h;\n }\n track.codec = codecstring;\n }\n break;\n }\n // PPS\n case 8:\n push = true;\n track.pps = [unit.data];\n break;\n // AUD\n case 9:\n push = true;\n track.audFound = true;\n if (VideoSample) {\n _this.pushAccessUnit(VideoSample, track);\n }\n VideoSample = _this.VideoSample = _this.createVideoSample(false, pes.pts, pes.dts, '');\n break;\n // Filler Data\n case 12:\n push = true;\n break;\n default:\n push = false;\n if (VideoSample) {\n VideoSample.debug += 'unknown NAL ' + unit.type + ' ';\n }\n break;\n }\n if (VideoSample && push) {\n var _units = VideoSample.units;\n _units.push(unit);\n }\n });\n // if last PES packet, push samples\n if (last && VideoSample) {\n this.pushAccessUnit(VideoSample, track);\n this.VideoSample = null;\n }\n };\n _proto.parseAVCNALu = function parseAVCNALu(track, array) {\n var len = array.byteLength;\n var state = track.naluState || 0;\n var lastState = state;\n var units = [];\n var i = 0;\n var value;\n var overflow;\n var unitType;\n var lastUnitStart = -1;\n var lastUnitType = 0;\n // logger.log('PES:' + Hex.hexDump(array));\n\n if (state === -1) {\n // special use case where we found 3 or 4-byte start codes exactly at the end of previous PES packet\n lastUnitStart = 0;\n // NALu type is value read from offset 0\n lastUnitType = array[0] & 0x1f;\n state = 0;\n i = 1;\n }\n while (i < len) {\n value = array[i++];\n // optimization. state 0 and 1 are the predominant case. let's handle them outside of the switch/case\n if (!state) {\n state = value ? 0 : 1;\n continue;\n }\n if (state === 1) {\n state = value ? 0 : 2;\n continue;\n }\n // here we have state either equal to 2 or 3\n if (!value) {\n state = 3;\n } else if (value === 1) {\n overflow = i - state - 1;\n if (lastUnitStart >= 0) {\n var unit = {\n data: array.subarray(lastUnitStart, overflow),\n type: lastUnitType\n };\n // logger.log('pushing NALU, type/size:' + unit.type + '/' + unit.data.byteLength);\n units.push(unit);\n } else {\n // lastUnitStart is undefined => this is the first start code found in this PES packet\n // first check if start code delimiter is overlapping between 2 PES packets,\n // ie it started in last packet (lastState not zero)\n // and ended at the beginning of this PES packet (i <= 4 - lastState)\n var lastUnit = this.getLastNalUnit(track.samples);\n if (lastUnit) {\n if (lastState && i <= 4 - lastState) {\n // start delimiter overlapping between PES packets\n // strip start delimiter bytes from the end of last NAL unit\n // check if lastUnit had a state different from zero\n if (lastUnit.state) {\n // strip last bytes\n lastUnit.data = lastUnit.data.subarray(0, lastUnit.data.byteLength - lastState);\n }\n }\n // If NAL units are not starting right at the beginning of the PES packet, push preceding data into previous NAL unit.\n\n if (overflow > 0) {\n // logger.log('first NALU found with overflow:' + overflow);\n lastUnit.data = appendUint8Array(lastUnit.data, array.subarray(0, overflow));\n lastUnit.state = 0;\n }\n }\n }\n // check if we can read unit type\n if (i < len) {\n unitType = array[i] & 0x1f;\n // logger.log('find NALU @ offset:' + i + ',type:' + unitType);\n lastUnitStart = i;\n lastUnitType = unitType;\n state = 0;\n } else {\n // not enough byte to read unit type. let's read it on next PES parsing\n state = -1;\n }\n } else {\n state = 0;\n }\n }\n if (lastUnitStart >= 0 && state >= 0) {\n var _unit = {\n data: array.subarray(lastUnitStart, len),\n type: lastUnitType,\n state: state\n };\n units.push(_unit);\n // logger.log('pushing NALU, type/size/state:' + unit.type + '/' + unit.data.byteLength + '/' + state);\n }\n // no NALu found\n if (units.length === 0) {\n // append pes.data to previous NAL unit\n var _lastUnit = this.getLastNalUnit(track.samples);\n if (_lastUnit) {\n _lastUnit.data = appendUint8Array(_lastUnit.data, array);\n }\n }\n track.naluState = state;\n return units;\n };\n return AvcVideoParser;\n }(BaseVideoParser);\n\n /**\n * SAMPLE-AES decrypter\n */\n\n var SampleAesDecrypter = /*#__PURE__*/function () {\n function SampleAesDecrypter(observer, config, keyData) {\n this.keyData = void 0;\n this.decrypter = void 0;\n this.keyData = keyData;\n this.decrypter = new Decrypter(config, {\n removePKCS7Padding: false\n });\n }\n var _proto = SampleAesDecrypter.prototype;\n _proto.decryptBuffer = function decryptBuffer(encryptedData) {\n return this.decrypter.decrypt(encryptedData, this.keyData.key.buffer, this.keyData.iv.buffer);\n }\n\n // AAC - encrypt all full 16 bytes blocks starting from offset 16\n ;\n _proto.decryptAacSample = function decryptAacSample(samples, sampleIndex, callback) {\n var _this = this;\n var curUnit = samples[sampleIndex].unit;\n if (curUnit.length <= 16) {\n // No encrypted portion in this sample (first 16 bytes is not\n // encrypted, see https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/HLS_Sample_Encryption/Encryption/Encryption.html),\n return;\n }\n var encryptedData = curUnit.subarray(16, curUnit.length - curUnit.length % 16);\n var encryptedBuffer = encryptedData.buffer.slice(encryptedData.byteOffset, encryptedData.byteOffset + encryptedData.length);\n this.decryptBuffer(encryptedBuffer).then(function (decryptedBuffer) {\n var decryptedData = new Uint8Array(decryptedBuffer);\n curUnit.set(decryptedData, 16);\n if (!_this.decrypter.isSync()) {\n _this.decryptAacSamples(samples, sampleIndex + 1, callback);\n }\n });\n };\n _proto.decryptAacSamples = function decryptAacSamples(samples, sampleIndex, callback) {\n for (;; sampleIndex++) {\n if (sampleIndex >= samples.length) {\n callback();\n return;\n }\n if (samples[sampleIndex].unit.length < 32) {\n continue;\n }\n this.decryptAacSample(samples, sampleIndex, callback);\n if (!this.decrypter.isSync()) {\n return;\n }\n }\n }\n\n // AVC - encrypt one 16 bytes block out of ten, starting from offset 32\n ;\n _proto.getAvcEncryptedData = function getAvcEncryptedData(decodedData) {\n var encryptedDataLen = Math.floor((decodedData.length - 48) / 160) * 16 + 16;\n var encryptedData = new Int8Array(encryptedDataLen);\n var outputPos = 0;\n for (var inputPos = 32; inputPos < decodedData.length - 16; inputPos += 160, outputPos += 16) {\n encryptedData.set(decodedData.subarray(inputPos, inputPos + 16), outputPos);\n }\n return encryptedData;\n };\n _proto.getAvcDecryptedUnit = function getAvcDecryptedUnit(decodedData, decryptedData) {\n var uint8DecryptedData = new Uint8Array(decryptedData);\n var inputPos = 0;\n for (var outputPos = 32; outputPos < decodedData.length - 16; outputPos += 160, inputPos += 16) {\n decodedData.set(uint8DecryptedData.subarray(inputPos, inputPos + 16), outputPos);\n }\n return decodedData;\n };\n _proto.decryptAvcSample = function decryptAvcSample(samples, sampleIndex, unitIndex, callback, curUnit) {\n var _this2 = this;\n var decodedData = discardEPB(curUnit.data);\n var encryptedData = this.getAvcEncryptedData(decodedData);\n this.decryptBuffer(encryptedData.buffer).then(function (decryptedBuffer) {\n curUnit.data = _this2.getAvcDecryptedUnit(decodedData, decryptedBuffer);\n if (!_this2.decrypter.isSync()) {\n _this2.decryptAvcSamples(samples, sampleIndex, unitIndex + 1, callback);\n }\n });\n };\n _proto.decryptAvcSamples = function decryptAvcSamples(samples, sampleIndex, unitIndex, callback) {\n if (samples instanceof Uint8Array) {\n throw new Error('Cannot decrypt samples of type Uint8Array');\n }\n for (;; sampleIndex++, unitIndex = 0) {\n if (sampleIndex >= samples.length) {\n callback();\n return;\n }\n var curUnits = samples[sampleIndex].units;\n for (;; unitIndex++) {\n if (unitIndex >= curUnits.length) {\n break;\n }\n var curUnit = curUnits[unitIndex];\n if (curUnit.data.length <= 48 || curUnit.type !== 1 && curUnit.type !== 5) {\n continue;\n }\n this.decryptAvcSample(samples, sampleIndex, unitIndex, callback, curUnit);\n if (!this.decrypter.isSync()) {\n return;\n }\n }\n }\n };\n return SampleAesDecrypter;\n }();\n\n var PACKET_LENGTH = 188;\n var TSDemuxer = /*#__PURE__*/function () {\n function TSDemuxer(observer, config, typeSupported) {\n this.observer = void 0;\n this.config = void 0;\n this.typeSupported = void 0;\n this.sampleAes = null;\n this.pmtParsed = false;\n this.audioCodec = void 0;\n this.videoCodec = void 0;\n this._duration = 0;\n this._pmtId = -1;\n this._videoTrack = void 0;\n this._audioTrack = void 0;\n this._id3Track = void 0;\n this._txtTrack = void 0;\n this.aacOverFlow = null;\n this.remainderData = null;\n this.videoParser = void 0;\n this.observer = observer;\n this.config = config;\n this.typeSupported = typeSupported;\n this.videoParser = new AvcVideoParser();\n }\n TSDemuxer.probe = function probe(data) {\n var syncOffset = TSDemuxer.syncOffset(data);\n if (syncOffset > 0) {\n logger.warn(\"MPEG2-TS detected but first sync word found @ offset \" + syncOffset);\n }\n return syncOffset !== -1;\n };\n TSDemuxer.syncOffset = function syncOffset(data) {\n var length = data.length;\n var scanwindow = Math.min(PACKET_LENGTH * 5, length - PACKET_LENGTH) + 1;\n var i = 0;\n while (i < scanwindow) {\n // a TS init segment should contain at least 2 TS packets: PAT and PMT, each starting with 0x47\n var foundPat = false;\n var packetStart = -1;\n var tsPackets = 0;\n for (var j = i; j < length; j += PACKET_LENGTH) {\n if (data[j] === 0x47 && (length - j === PACKET_LENGTH || data[j + PACKET_LENGTH] === 0x47)) {\n tsPackets++;\n if (packetStart === -1) {\n packetStart = j;\n // First sync word found at offset, increase scan length (#5251)\n if (packetStart !== 0) {\n scanwindow = Math.min(packetStart + PACKET_LENGTH * 99, data.length - PACKET_LENGTH) + 1;\n }\n }\n if (!foundPat) {\n foundPat = parsePID(data, j) === 0;\n }\n // Sync word found at 0 with 3 packets, or found at offset least 2 packets up to scanwindow (#5501)\n if (foundPat && tsPackets > 1 && (packetStart === 0 && tsPackets > 2 || j + PACKET_LENGTH > scanwindow)) {\n return packetStart;\n }\n } else if (tsPackets) {\n // Exit if sync word found, but does not contain contiguous packets\n return -1;\n } else {\n break;\n }\n }\n i++;\n }\n return -1;\n }\n\n /**\n * Creates a track model internal to demuxer used to drive remuxing input\n */;\n TSDemuxer.createTrack = function createTrack(type, duration) {\n return {\n container: type === 'video' || type === 'audio' ? 'video/mp2t' : undefined,\n type: type,\n id: RemuxerTrackIdConfig[type],\n pid: -1,\n inputTimeScale: 90000,\n sequenceNumber: 0,\n samples: [],\n dropped: 0,\n duration: type === 'audio' ? duration : undefined\n };\n }\n\n /**\n * Initializes a new init segment on the demuxer/remuxer interface. Needed for discontinuities/track-switches (or at stream start)\n * Resets all internal track instances of the demuxer.\n */;\n var _proto = TSDemuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n this.pmtParsed = false;\n this._pmtId = -1;\n this._videoTrack = TSDemuxer.createTrack('video');\n this._audioTrack = TSDemuxer.createTrack('audio', trackDuration);\n this._id3Track = TSDemuxer.createTrack('id3');\n this._txtTrack = TSDemuxer.createTrack('text');\n this._audioTrack.segmentCodec = 'aac';\n\n // flush any partial content\n this.aacOverFlow = null;\n this.remainderData = null;\n this.audioCodec = audioCodec;\n this.videoCodec = videoCodec;\n this._duration = trackDuration;\n };\n _proto.resetTimeStamp = function resetTimeStamp() {};\n _proto.resetContiguity = function resetContiguity() {\n var _audioTrack = this._audioTrack,\n _videoTrack = this._videoTrack,\n _id3Track = this._id3Track;\n if (_audioTrack) {\n _audioTrack.pesData = null;\n }\n if (_videoTrack) {\n _videoTrack.pesData = null;\n }\n if (_id3Track) {\n _id3Track.pesData = null;\n }\n this.aacOverFlow = null;\n this.remainderData = null;\n };\n _proto.demux = function demux(data, timeOffset, isSampleAes, flush) {\n if (isSampleAes === void 0) {\n isSampleAes = false;\n }\n if (flush === void 0) {\n flush = false;\n }\n if (!isSampleAes) {\n this.sampleAes = null;\n }\n var pes;\n var videoTrack = this._videoTrack;\n var audioTrack = this._audioTrack;\n var id3Track = this._id3Track;\n var textTrack = this._txtTrack;\n var videoPid = videoTrack.pid;\n var videoData = videoTrack.pesData;\n var audioPid = audioTrack.pid;\n var id3Pid = id3Track.pid;\n var audioData = audioTrack.pesData;\n var id3Data = id3Track.pesData;\n var unknownPID = null;\n var pmtParsed = this.pmtParsed;\n var pmtId = this._pmtId;\n var len = data.length;\n if (this.remainderData) {\n data = appendUint8Array(this.remainderData, data);\n len = data.length;\n this.remainderData = null;\n }\n if (len < PACKET_LENGTH && !flush) {\n this.remainderData = data;\n return {\n audioTrack: audioTrack,\n videoTrack: videoTrack,\n id3Track: id3Track,\n textTrack: textTrack\n };\n }\n var syncOffset = Math.max(0, TSDemuxer.syncOffset(data));\n len -= (len - syncOffset) % PACKET_LENGTH;\n if (len < data.byteLength && !flush) {\n this.remainderData = new Uint8Array(data.buffer, len, data.buffer.byteLength - len);\n }\n\n // loop through TS packets\n var tsPacketErrors = 0;\n for (var start = syncOffset; start < len; start += PACKET_LENGTH) {\n if (data[start] === 0x47) {\n var stt = !!(data[start + 1] & 0x40);\n var pid = parsePID(data, start);\n var atf = (data[start + 3] & 0x30) >> 4;\n\n // if an adaption field is present, its length is specified by the fifth byte of the TS packet header.\n var offset = void 0;\n if (atf > 1) {\n offset = start + 5 + data[start + 4];\n // continue if there is only adaptation field\n if (offset === start + PACKET_LENGTH) {\n continue;\n }\n } else {\n offset = start + 4;\n }\n switch (pid) {\n case videoPid:\n if (stt) {\n if (videoData && (pes = parsePES(videoData))) {\n this.videoParser.parseAVCPES(videoTrack, textTrack, pes, false, this._duration);\n }\n videoData = {\n data: [],\n size: 0\n };\n }\n if (videoData) {\n videoData.data.push(data.subarray(offset, start + PACKET_LENGTH));\n videoData.size += start + PACKET_LENGTH - offset;\n }\n break;\n case audioPid:\n if (stt) {\n if (audioData && (pes = parsePES(audioData))) {\n switch (audioTrack.segmentCodec) {\n case 'aac':\n this.parseAACPES(audioTrack, pes);\n break;\n case 'mp3':\n this.parseMPEGPES(audioTrack, pes);\n break;\n case 'ac3':\n {\n this.parseAC3PES(audioTrack, pes);\n }\n break;\n }\n }\n audioData = {\n data: [],\n size: 0\n };\n }\n if (audioData) {\n audioData.data.push(data.subarray(offset, start + PACKET_LENGTH));\n audioData.size += start + PACKET_LENGTH - offset;\n }\n break;\n case id3Pid:\n if (stt) {\n if (id3Data && (pes = parsePES(id3Data))) {\n this.parseID3PES(id3Track, pes);\n }\n id3Data = {\n data: [],\n size: 0\n };\n }\n if (id3Data) {\n id3Data.data.push(data.subarray(offset, start + PACKET_LENGTH));\n id3Data.size += start + PACKET_LENGTH - offset;\n }\n break;\n case 0:\n if (stt) {\n offset += data[offset] + 1;\n }\n pmtId = this._pmtId = parsePAT(data, offset);\n // logger.log('PMT PID:' + this._pmtId);\n break;\n case pmtId:\n {\n if (stt) {\n offset += data[offset] + 1;\n }\n var parsedPIDs = parsePMT(data, offset, this.typeSupported, isSampleAes);\n\n // only update track id if track PID found while parsing PMT\n // this is to avoid resetting the PID to -1 in case\n // track PID transiently disappears from the stream\n // this could happen in case of transient missing audio samples for example\n // NOTE this is only the PID of the track as found in TS,\n // but we are not using this for MP4 track IDs.\n videoPid = parsedPIDs.videoPid;\n if (videoPid > 0) {\n videoTrack.pid = videoPid;\n videoTrack.segmentCodec = parsedPIDs.segmentVideoCodec;\n }\n audioPid = parsedPIDs.audioPid;\n if (audioPid > 0) {\n audioTrack.pid = audioPid;\n audioTrack.segmentCodec = parsedPIDs.segmentAudioCodec;\n }\n id3Pid = parsedPIDs.id3Pid;\n if (id3Pid > 0) {\n id3Track.pid = id3Pid;\n }\n if (unknownPID !== null && !pmtParsed) {\n logger.warn(\"MPEG-TS PMT found at \" + start + \" after unknown PID '\" + unknownPID + \"'. Backtracking to sync byte @\" + syncOffset + \" to parse all TS packets.\");\n unknownPID = null;\n // we set it to -188, the += 188 in the for loop will reset start to 0\n start = syncOffset - 188;\n }\n pmtParsed = this.pmtParsed = true;\n break;\n }\n case 0x11:\n case 0x1fff:\n break;\n default:\n unknownPID = pid;\n break;\n }\n } else {\n tsPacketErrors++;\n }\n }\n if (tsPacketErrors > 0) {\n var error = new Error(\"Found \" + tsPacketErrors + \" TS packet/s that do not start with 0x47\");\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: false,\n error: error,\n reason: error.message\n });\n }\n videoTrack.pesData = videoData;\n audioTrack.pesData = audioData;\n id3Track.pesData = id3Data;\n var demuxResult = {\n audioTrack: audioTrack,\n videoTrack: videoTrack,\n id3Track: id3Track,\n textTrack: textTrack\n };\n if (flush) {\n this.extractRemainingSamples(demuxResult);\n }\n return demuxResult;\n };\n _proto.flush = function flush() {\n var remainderData = this.remainderData;\n this.remainderData = null;\n var result;\n if (remainderData) {\n result = this.demux(remainderData, -1, false, true);\n } else {\n result = {\n videoTrack: this._videoTrack,\n audioTrack: this._audioTrack,\n id3Track: this._id3Track,\n textTrack: this._txtTrack\n };\n }\n this.extractRemainingSamples(result);\n if (this.sampleAes) {\n return this.decrypt(result, this.sampleAes);\n }\n return result;\n };\n _proto.extractRemainingSamples = function extractRemainingSamples(demuxResult) {\n var audioTrack = demuxResult.audioTrack,\n videoTrack = demuxResult.videoTrack,\n id3Track = demuxResult.id3Track,\n textTrack = demuxResult.textTrack;\n var videoData = videoTrack.pesData;\n var audioData = audioTrack.pesData;\n var id3Data = id3Track.pesData;\n // try to parse last PES packets\n var pes;\n if (videoData && (pes = parsePES(videoData))) {\n this.videoParser.parseAVCPES(videoTrack, textTrack, pes, true, this._duration);\n videoTrack.pesData = null;\n } else {\n // either avcData null or PES truncated, keep it for next frag parsing\n videoTrack.pesData = videoData;\n }\n if (audioData && (pes = parsePES(audioData))) {\n switch (audioTrack.segmentCodec) {\n case 'aac':\n this.parseAACPES(audioTrack, pes);\n break;\n case 'mp3':\n this.parseMPEGPES(audioTrack, pes);\n break;\n case 'ac3':\n {\n this.parseAC3PES(audioTrack, pes);\n }\n break;\n }\n audioTrack.pesData = null;\n } else {\n if (audioData != null && audioData.size) {\n logger.log('last AAC PES packet truncated,might overlap between fragments');\n }\n\n // either audioData null or PES truncated, keep it for next frag parsing\n audioTrack.pesData = audioData;\n }\n if (id3Data && (pes = parsePES(id3Data))) {\n this.parseID3PES(id3Track, pes);\n id3Track.pesData = null;\n } else {\n // either id3Data null or PES truncated, keep it for next frag parsing\n id3Track.pesData = id3Data;\n }\n };\n _proto.demuxSampleAes = function demuxSampleAes(data, keyData, timeOffset) {\n var demuxResult = this.demux(data, timeOffset, true, !this.config.progressive);\n var sampleAes = this.sampleAes = new SampleAesDecrypter(this.observer, this.config, keyData);\n return this.decrypt(demuxResult, sampleAes);\n };\n _proto.decrypt = function decrypt(demuxResult, sampleAes) {\n return new Promise(function (resolve) {\n var audioTrack = demuxResult.audioTrack,\n videoTrack = demuxResult.videoTrack;\n if (audioTrack.samples && audioTrack.segmentCodec === 'aac') {\n sampleAes.decryptAacSamples(audioTrack.samples, 0, function () {\n if (videoTrack.samples) {\n sampleAes.decryptAvcSamples(videoTrack.samples, 0, 0, function () {\n resolve(demuxResult);\n });\n } else {\n resolve(demuxResult);\n }\n });\n } else if (videoTrack.samples) {\n sampleAes.decryptAvcSamples(videoTrack.samples, 0, 0, function () {\n resolve(demuxResult);\n });\n }\n });\n };\n _proto.destroy = function destroy() {\n this._duration = 0;\n };\n _proto.parseAACPES = function parseAACPES(track, pes) {\n var startOffset = 0;\n var aacOverFlow = this.aacOverFlow;\n var data = pes.data;\n if (aacOverFlow) {\n this.aacOverFlow = null;\n var frameMissingBytes = aacOverFlow.missing;\n var sampleLength = aacOverFlow.sample.unit.byteLength;\n // logger.log(`AAC: append overflowing ${sampleLength} bytes to beginning of new PES`);\n if (frameMissingBytes === -1) {\n data = appendUint8Array(aacOverFlow.sample.unit, data);\n } else {\n var frameOverflowBytes = sampleLength - frameMissingBytes;\n aacOverFlow.sample.unit.set(data.subarray(0, frameMissingBytes), frameOverflowBytes);\n track.samples.push(aacOverFlow.sample);\n startOffset = aacOverFlow.missing;\n }\n }\n // look for ADTS header (0xFFFx)\n var offset;\n var len;\n for (offset = startOffset, len = data.length; offset < len - 1; offset++) {\n if (isHeader$1(data, offset)) {\n break;\n }\n }\n // if ADTS header does not start straight from the beginning of the PES payload, raise an error\n if (offset !== startOffset) {\n var reason;\n var recoverable = offset < len - 1;\n if (recoverable) {\n reason = \"AAC PES did not start with ADTS header,offset:\" + offset;\n } else {\n reason = 'No ADTS header found in AAC PES';\n }\n var error = new Error(reason);\n logger.warn(\"parsing error: \" + reason);\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: false,\n levelRetry: recoverable,\n error: error,\n reason: reason\n });\n if (!recoverable) {\n return;\n }\n }\n initTrackConfig(track, this.observer, data, offset, this.audioCodec);\n var pts;\n if (pes.pts !== undefined) {\n pts = pes.pts;\n } else if (aacOverFlow) {\n // if last AAC frame is overflowing, we should ensure timestamps are contiguous:\n // first sample PTS should be equal to last sample PTS + frameDuration\n var frameDuration = getFrameDuration(track.samplerate);\n pts = aacOverFlow.sample.pts + frameDuration;\n } else {\n logger.warn('[tsdemuxer]: AAC PES unknown PTS');\n return;\n }\n\n // scan for aac samples\n var frameIndex = 0;\n var frame;\n while (offset < len) {\n frame = appendFrame$1(track, data, offset, pts, frameIndex);\n offset += frame.length;\n if (!frame.missing) {\n frameIndex++;\n for (; offset < len - 1; offset++) {\n if (isHeader$1(data, offset)) {\n break;\n }\n }\n } else {\n this.aacOverFlow = frame;\n break;\n }\n }\n };\n _proto.parseMPEGPES = function parseMPEGPES(track, pes) {\n var data = pes.data;\n var length = data.length;\n var frameIndex = 0;\n var offset = 0;\n var pts = pes.pts;\n if (pts === undefined) {\n logger.warn('[tsdemuxer]: MPEG PES unknown PTS');\n return;\n }\n while (offset < length) {\n if (isHeader(data, offset)) {\n var frame = appendFrame(track, data, offset, pts, frameIndex);\n if (frame) {\n offset += frame.length;\n frameIndex++;\n } else {\n // logger.log('Unable to parse Mpeg audio frame');\n break;\n }\n } else {\n // nothing found, keep looking\n offset++;\n }\n }\n };\n _proto.parseAC3PES = function parseAC3PES(track, pes) {\n {\n var data = pes.data;\n var pts = pes.pts;\n if (pts === undefined) {\n logger.warn('[tsdemuxer]: AC3 PES unknown PTS');\n return;\n }\n var length = data.length;\n var frameIndex = 0;\n var offset = 0;\n var parsed;\n while (offset < length && (parsed = _appendFrame(track, data, offset, pts, frameIndex++)) > 0) {\n offset += parsed;\n }\n }\n };\n _proto.parseID3PES = function parseID3PES(id3Track, pes) {\n if (pes.pts === undefined) {\n logger.warn('[tsdemuxer]: ID3 PES unknown PTS');\n return;\n }\n var id3Sample = _extends({}, pes, {\n type: this._videoTrack ? MetadataSchema.emsg : MetadataSchema.audioId3,\n duration: Number.POSITIVE_INFINITY\n });\n id3Track.samples.push(id3Sample);\n };\n return TSDemuxer;\n }();\n function parsePID(data, offset) {\n // pid is a 13-bit field starting at the last bit of TS[1]\n return ((data[offset + 1] & 0x1f) << 8) + data[offset + 2];\n }\n function parsePAT(data, offset) {\n // skip the PSI header and parse the first PMT entry\n return (data[offset + 10] & 0x1f) << 8 | data[offset + 11];\n }\n function parsePMT(data, offset, typeSupported, isSampleAes) {\n var result = {\n audioPid: -1,\n videoPid: -1,\n id3Pid: -1,\n segmentVideoCodec: 'avc',\n segmentAudioCodec: 'aac'\n };\n var sectionLength = (data[offset + 1] & 0x0f) << 8 | data[offset + 2];\n var tableEnd = offset + 3 + sectionLength - 4;\n // to determine where the table is, we have to figure out how\n // long the program info descriptors are\n var programInfoLength = (data[offset + 10] & 0x0f) << 8 | data[offset + 11];\n // advance the offset to the first entry in the mapping table\n offset += 12 + programInfoLength;\n while (offset < tableEnd) {\n var pid = parsePID(data, offset);\n var esInfoLength = (data[offset + 3] & 0x0f) << 8 | data[offset + 4];\n switch (data[offset]) {\n case 0xcf:\n // SAMPLE-AES AAC\n if (!isSampleAes) {\n logEncryptedSamplesFoundInUnencryptedStream('ADTS AAC');\n break;\n }\n /* falls through */\n case 0x0f:\n // ISO/IEC 13818-7 ADTS AAC (MPEG-2 lower bit-rate audio)\n // logger.log('AAC PID:' + pid);\n if (result.audioPid === -1) {\n result.audioPid = pid;\n }\n break;\n\n // Packetized metadata (ID3)\n case 0x15:\n // logger.log('ID3 PID:' + pid);\n if (result.id3Pid === -1) {\n result.id3Pid = pid;\n }\n break;\n case 0xdb:\n // SAMPLE-AES AVC\n if (!isSampleAes) {\n logEncryptedSamplesFoundInUnencryptedStream('H.264');\n break;\n }\n /* falls through */\n case 0x1b:\n // ITU-T Rec. H.264 and ISO/IEC 14496-10 (lower bit-rate video)\n // logger.log('AVC PID:' + pid);\n if (result.videoPid === -1) {\n result.videoPid = pid;\n result.segmentVideoCodec = 'avc';\n }\n break;\n\n // ISO/IEC 11172-3 (MPEG-1 audio)\n // or ISO/IEC 13818-3 (MPEG-2 halved sample rate audio)\n case 0x03:\n case 0x04:\n // logger.log('MPEG PID:' + pid);\n if (!typeSupported.mpeg && !typeSupported.mp3) {\n logger.log('MPEG audio found, not supported in this browser');\n } else if (result.audioPid === -1) {\n result.audioPid = pid;\n result.segmentAudioCodec = 'mp3';\n }\n break;\n case 0xc1:\n // SAMPLE-AES AC3\n if (!isSampleAes) {\n logEncryptedSamplesFoundInUnencryptedStream('AC-3');\n break;\n }\n /* falls through */\n case 0x81:\n {\n if (!typeSupported.ac3) {\n logger.log('AC-3 audio found, not supported in this browser');\n } else if (result.audioPid === -1) {\n result.audioPid = pid;\n result.segmentAudioCodec = 'ac3';\n }\n }\n break;\n case 0x06:\n // stream_type 6 can mean a lot of different things in case of DVB.\n // We need to look at the descriptors. Right now, we're only interested\n // in AC-3 audio, so we do the descriptor parsing only when we don't have\n // an audio PID yet.\n if (result.audioPid === -1 && esInfoLength > 0) {\n var parsePos = offset + 5;\n var remaining = esInfoLength;\n while (remaining > 2) {\n var descriptorId = data[parsePos];\n switch (descriptorId) {\n case 0x6a:\n // DVB Descriptor for AC-3\n {\n if (typeSupported.ac3 !== true) {\n logger.log('AC-3 audio found, not supported in this browser for now');\n } else {\n result.audioPid = pid;\n result.segmentAudioCodec = 'ac3';\n }\n }\n break;\n }\n var descriptorLen = data[parsePos + 1] + 2;\n parsePos += descriptorLen;\n remaining -= descriptorLen;\n }\n }\n break;\n case 0xc2: // SAMPLE-AES EC3\n /* falls through */\n case 0x87:\n logger.warn('Unsupported EC-3 in M2TS found');\n break;\n case 0x24:\n logger.warn('Unsupported HEVC in M2TS found');\n break;\n }\n // move to the next table entry\n // skip past the elementary stream descriptors, if present\n offset += esInfoLength + 5;\n }\n return result;\n }\n function logEncryptedSamplesFoundInUnencryptedStream(type) {\n logger.log(type + \" with AES-128-CBC encryption found in unencrypted stream\");\n }\n function parsePES(stream) {\n var i = 0;\n var frag;\n var pesLen;\n var pesHdrLen;\n var pesPts;\n var pesDts;\n var data = stream.data;\n // safety check\n if (!stream || stream.size === 0) {\n return null;\n }\n\n // we might need up to 19 bytes to read PES header\n // if first chunk of data is less than 19 bytes, let's merge it with following ones until we get 19 bytes\n // usually only one merge is needed (and this is rare ...)\n while (data[0].length < 19 && data.length > 1) {\n data[0] = appendUint8Array(data[0], data[1]);\n data.splice(1, 1);\n }\n // retrieve PTS/DTS from first fragment\n frag = data[0];\n var pesPrefix = (frag[0] << 16) + (frag[1] << 8) + frag[2];\n if (pesPrefix === 1) {\n pesLen = (frag[4] << 8) + frag[5];\n // if PES parsed length is not zero and greater than total received length, stop parsing. PES might be truncated\n // minus 6 : PES header size\n if (pesLen && pesLen > stream.size - 6) {\n return null;\n }\n var pesFlags = frag[7];\n if (pesFlags & 0xc0) {\n /* PES header described here : http://dvd.sourceforge.net/dvdinfo/pes-hdr.html\n as PTS / DTS is 33 bit we cannot use bitwise operator in JS,\n as Bitwise operators treat their operands as a sequence of 32 bits */\n pesPts = (frag[9] & 0x0e) * 536870912 +\n // 1 << 29\n (frag[10] & 0xff) * 4194304 +\n // 1 << 22\n (frag[11] & 0xfe) * 16384 +\n // 1 << 14\n (frag[12] & 0xff) * 128 +\n // 1 << 7\n (frag[13] & 0xfe) / 2;\n if (pesFlags & 0x40) {\n pesDts = (frag[14] & 0x0e) * 536870912 +\n // 1 << 29\n (frag[15] & 0xff) * 4194304 +\n // 1 << 22\n (frag[16] & 0xfe) * 16384 +\n // 1 << 14\n (frag[17] & 0xff) * 128 +\n // 1 << 7\n (frag[18] & 0xfe) / 2;\n if (pesPts - pesDts > 60 * 90000) {\n logger.warn(Math.round((pesPts - pesDts) / 90000) + \"s delta between PTS and DTS, align them\");\n pesPts = pesDts;\n }\n } else {\n pesDts = pesPts;\n }\n }\n pesHdrLen = frag[8];\n // 9 bytes : 6 bytes for PES header + 3 bytes for PES extension\n var payloadStartOffset = pesHdrLen + 9;\n if (stream.size <= payloadStartOffset) {\n return null;\n }\n stream.size -= payloadStartOffset;\n // reassemble PES packet\n var pesData = new Uint8Array(stream.size);\n for (var j = 0, dataLen = data.length; j < dataLen; j++) {\n frag = data[j];\n var len = frag.byteLength;\n if (payloadStartOffset) {\n if (payloadStartOffset > len) {\n // trim full frag if PES header bigger than frag\n payloadStartOffset -= len;\n continue;\n } else {\n // trim partial frag if PES header smaller than frag\n frag = frag.subarray(payloadStartOffset);\n len -= payloadStartOffset;\n payloadStartOffset = 0;\n }\n }\n pesData.set(frag, i);\n i += len;\n }\n if (pesLen) {\n // payload size : remove PES header + PES extension\n pesLen -= pesHdrLen + 3;\n }\n return {\n data: pesData,\n pts: pesPts,\n dts: pesDts,\n len: pesLen\n };\n }\n return null;\n }\n\n var MP3Demuxer = /*#__PURE__*/function (_BaseAudioDemuxer) {\n _inheritsLoose(MP3Demuxer, _BaseAudioDemuxer);\n function MP3Demuxer() {\n return _BaseAudioDemuxer.apply(this, arguments) || this;\n }\n var _proto = MP3Demuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n _BaseAudioDemuxer.prototype.resetInitSegment.call(this, initSegment, audioCodec, videoCodec, trackDuration);\n this._audioTrack = {\n container: 'audio/mpeg',\n type: 'audio',\n id: 2,\n pid: -1,\n sequenceNumber: 0,\n segmentCodec: 'mp3',\n samples: [],\n manifestCodec: audioCodec,\n duration: trackDuration,\n inputTimeScale: 90000,\n dropped: 0\n };\n };\n MP3Demuxer.probe = function probe$1(data) {\n if (!data) {\n return false;\n }\n\n // check if data contains ID3 timestamp and MPEG sync word\n // Look for MPEG header | 1111 1111 | 111X XYZX | where X can be either 0 or 1 and Y or Z should be 1\n // Layer bits (position 14 and 15) in header should be always different from 0 (Layer I or Layer II or Layer III)\n // More info http://www.mp3-tech.org/programmer/frame_header.html\n var id3Data = getID3Data(data, 0);\n var offset = (id3Data == null ? void 0 : id3Data.length) || 0;\n\n // Check for ac-3|ec-3 sync bytes and return false if present\n if (id3Data && data[offset] === 0x0b && data[offset + 1] === 0x77 && getTimeStamp(id3Data) !== undefined &&\n // check the bsid to confirm ac-3 or ec-3 (not mp3)\n getAudioBSID(data, offset) <= 16) {\n return false;\n }\n for (var length = data.length; offset < length; offset++) {\n if (probe(data, offset)) {\n logger.log('MPEG Audio sync word found !');\n return true;\n }\n }\n return false;\n };\n _proto.canParse = function canParse$1(data, offset) {\n return canParse(data, offset);\n };\n _proto.appendFrame = function appendFrame$1(track, data, offset) {\n if (this.basePTS === null) {\n return;\n }\n return appendFrame(track, data, offset, this.basePTS, this.frameIndex);\n };\n return MP3Demuxer;\n }(BaseAudioDemuxer);\n\n /**\n * AAC helper\n */\n var AAC = /*#__PURE__*/function () {\n function AAC() {}\n AAC.getSilentFrame = function getSilentFrame(codec, channelCount) {\n switch (codec) {\n case 'mp4a.40.2':\n if (channelCount === 1) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x23, 0x80]);\n } else if (channelCount === 2) {\n return new Uint8Array([0x21, 0x00, 0x49, 0x90, 0x02, 0x19, 0x00, 0x23, 0x80]);\n } else if (channelCount === 3) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x8e]);\n } else if (channelCount === 4) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x80, 0x2c, 0x80, 0x08, 0x02, 0x38]);\n } else if (channelCount === 5) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x82, 0x30, 0x04, 0x99, 0x00, 0x21, 0x90, 0x02, 0x38]);\n } else if (channelCount === 6) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x82, 0x30, 0x04, 0x99, 0x00, 0x21, 0x90, 0x02, 0x00, 0xb2, 0x00, 0x20, 0x08, 0xe0]);\n }\n break;\n // handle HE-AAC below (mp4a.40.5 / mp4a.40.29)\n default:\n if (channelCount === 1) {\n // ffmpeg -y -f lavfi -i \"aevalsrc=0:d=0.05\" -c:a libfdk_aac -profile:a aac_he -b:a 4k output.aac && hexdump -v -e '16/1 \"0x%x,\" \"\\n\"' -v output.aac\n return new Uint8Array([0x1, 0x40, 0x22, 0x80, 0xa3, 0x4e, 0xe6, 0x80, 0xba, 0x8, 0x0, 0x0, 0x0, 0x1c, 0x6, 0xf1, 0xc1, 0xa, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e]);\n } else if (channelCount === 2) {\n // ffmpeg -y -f lavfi -i \"aevalsrc=0|0:d=0.05\" -c:a libfdk_aac -profile:a aac_he_v2 -b:a 4k output.aac && hexdump -v -e '16/1 \"0x%x,\" \"\\n\"' -v output.aac\n return new Uint8Array([0x1, 0x40, 0x22, 0x80, 0xa3, 0x5e, 0xe6, 0x80, 0xba, 0x8, 0x0, 0x0, 0x0, 0x0, 0x95, 0x0, 0x6, 0xf1, 0xa1, 0xa, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e]);\n } else if (channelCount === 3) {\n // ffmpeg -y -f lavfi -i \"aevalsrc=0|0|0:d=0.05\" -c:a libfdk_aac -profile:a aac_he_v2 -b:a 4k output.aac && hexdump -v -e '16/1 \"0x%x,\" \"\\n\"' -v output.aac\n return new Uint8Array([0x1, 0x40, 0x22, 0x80, 0xa3, 0x5e, 0xe6, 0x80, 0xba, 0x8, 0x0, 0x0, 0x0, 0x0, 0x95, 0x0, 0x6, 0xf1, 0xa1, 0xa, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e]);\n }\n break;\n }\n return undefined;\n };\n return AAC;\n }();\n\n /**\n * Generate MP4 Box\n */\n\n var UINT32_MAX = Math.pow(2, 32) - 1;\n var MP4 = /*#__PURE__*/function () {\n function MP4() {}\n MP4.init = function init() {\n MP4.types = {\n avc1: [],\n // codingname\n avcC: [],\n btrt: [],\n dinf: [],\n dref: [],\n esds: [],\n ftyp: [],\n hdlr: [],\n mdat: [],\n mdhd: [],\n mdia: [],\n mfhd: [],\n minf: [],\n moof: [],\n moov: [],\n mp4a: [],\n '.mp3': [],\n dac3: [],\n 'ac-3': [],\n mvex: [],\n mvhd: [],\n pasp: [],\n sdtp: [],\n stbl: [],\n stco: [],\n stsc: [],\n stsd: [],\n stsz: [],\n stts: [],\n tfdt: [],\n tfhd: [],\n traf: [],\n trak: [],\n trun: [],\n trex: [],\n tkhd: [],\n vmhd: [],\n smhd: []\n };\n var i;\n for (i in MP4.types) {\n if (MP4.types.hasOwnProperty(i)) {\n MP4.types[i] = [i.charCodeAt(0), i.charCodeAt(1), i.charCodeAt(2), i.charCodeAt(3)];\n }\n }\n var videoHdlr = new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00,\n // pre_defined\n 0x76, 0x69, 0x64, 0x65,\n // handler_type: 'vide'\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x00 // name: 'VideoHandler'\n ]);\n var audioHdlr = new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00,\n // pre_defined\n 0x73, 0x6f, 0x75, 0x6e,\n // handler_type: 'soun'\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x00 // name: 'SoundHandler'\n ]);\n MP4.HDLR_TYPES = {\n video: videoHdlr,\n audio: audioHdlr\n };\n var dref = new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x01,\n // entry_count\n 0x00, 0x00, 0x00, 0x0c,\n // entry_size\n 0x75, 0x72, 0x6c, 0x20,\n // 'url' type\n 0x00,\n // version 0\n 0x00, 0x00, 0x01 // entry_flags\n ]);\n var stco = new Uint8Array([0x00,\n // version\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00 // entry_count\n ]);\n MP4.STTS = MP4.STSC = MP4.STCO = stco;\n MP4.STSZ = new Uint8Array([0x00,\n // version\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00,\n // sample_size\n 0x00, 0x00, 0x00, 0x00 // sample_count\n ]);\n MP4.VMHD = new Uint8Array([0x00,\n // version\n 0x00, 0x00, 0x01,\n // flags\n 0x00, 0x00,\n // graphicsmode\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // opcolor\n ]);\n MP4.SMHD = new Uint8Array([0x00,\n // version\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00,\n // balance\n 0x00, 0x00 // reserved\n ]);\n MP4.STSD = new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x01]); // entry_count\n\n var majorBrand = new Uint8Array([105, 115, 111, 109]); // isom\n var avc1Brand = new Uint8Array([97, 118, 99, 49]); // avc1\n var minorVersion = new Uint8Array([0, 0, 0, 1]);\n MP4.FTYP = MP4.box(MP4.types.ftyp, majorBrand, minorVersion, majorBrand, avc1Brand);\n MP4.DINF = MP4.box(MP4.types.dinf, MP4.box(MP4.types.dref, dref));\n };\n MP4.box = function box(type) {\n var size = 8;\n for (var _len = arguments.length, payload = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n payload[_key - 1] = arguments[_key];\n }\n var i = payload.length;\n var len = i;\n // calculate the total size we need to allocate\n while (i--) {\n size += payload[i].byteLength;\n }\n var result = new Uint8Array(size);\n result[0] = size >> 24 & 0xff;\n result[1] = size >> 16 & 0xff;\n result[2] = size >> 8 & 0xff;\n result[3] = size & 0xff;\n result.set(type, 4);\n // copy the payload into the result\n for (i = 0, size = 8; i < len; i++) {\n // copy payload[i] array @ offset size\n result.set(payload[i], size);\n size += payload[i].byteLength;\n }\n return result;\n };\n MP4.hdlr = function hdlr(type) {\n return MP4.box(MP4.types.hdlr, MP4.HDLR_TYPES[type]);\n };\n MP4.mdat = function mdat(data) {\n return MP4.box(MP4.types.mdat, data);\n };\n MP4.mdhd = function mdhd(timescale, duration) {\n duration *= timescale;\n var upperWordDuration = Math.floor(duration / (UINT32_MAX + 1));\n var lowerWordDuration = Math.floor(duration % (UINT32_MAX + 1));\n return MP4.box(MP4.types.mdhd, new Uint8Array([0x01,\n // version 1\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,\n // creation_time\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,\n // modification_time\n timescale >> 24 & 0xff, timescale >> 16 & 0xff, timescale >> 8 & 0xff, timescale & 0xff,\n // timescale\n upperWordDuration >> 24, upperWordDuration >> 16 & 0xff, upperWordDuration >> 8 & 0xff, upperWordDuration & 0xff, lowerWordDuration >> 24, lowerWordDuration >> 16 & 0xff, lowerWordDuration >> 8 & 0xff, lowerWordDuration & 0xff, 0x55, 0xc4,\n // 'und' language (undetermined)\n 0x00, 0x00]));\n };\n MP4.mdia = function mdia(track) {\n return MP4.box(MP4.types.mdia, MP4.mdhd(track.timescale, track.duration), MP4.hdlr(track.type), MP4.minf(track));\n };\n MP4.mfhd = function mfhd(sequenceNumber) {\n return MP4.box(MP4.types.mfhd, new Uint8Array([0x00, 0x00, 0x00, 0x00,\n // flags\n sequenceNumber >> 24, sequenceNumber >> 16 & 0xff, sequenceNumber >> 8 & 0xff, sequenceNumber & 0xff // sequence_number\n ]));\n };\n MP4.minf = function minf(track) {\n if (track.type === 'audio') {\n return MP4.box(MP4.types.minf, MP4.box(MP4.types.smhd, MP4.SMHD), MP4.DINF, MP4.stbl(track));\n } else {\n return MP4.box(MP4.types.minf, MP4.box(MP4.types.vmhd, MP4.VMHD), MP4.DINF, MP4.stbl(track));\n }\n };\n MP4.moof = function moof(sn, baseMediaDecodeTime, track) {\n return MP4.box(MP4.types.moof, MP4.mfhd(sn), MP4.traf(track, baseMediaDecodeTime));\n };\n MP4.moov = function moov(tracks) {\n var i = tracks.length;\n var boxes = [];\n while (i--) {\n boxes[i] = MP4.trak(tracks[i]);\n }\n return MP4.box.apply(null, [MP4.types.moov, MP4.mvhd(tracks[0].timescale, tracks[0].duration)].concat(boxes).concat(MP4.mvex(tracks)));\n };\n MP4.mvex = function mvex(tracks) {\n var i = tracks.length;\n var boxes = [];\n while (i--) {\n boxes[i] = MP4.trex(tracks[i]);\n }\n return MP4.box.apply(null, [MP4.types.mvex].concat(boxes));\n };\n MP4.mvhd = function mvhd(timescale, duration) {\n duration *= timescale;\n var upperWordDuration = Math.floor(duration / (UINT32_MAX + 1));\n var lowerWordDuration = Math.floor(duration % (UINT32_MAX + 1));\n var bytes = new Uint8Array([0x01,\n // version 1\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,\n // creation_time\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,\n // modification_time\n timescale >> 24 & 0xff, timescale >> 16 & 0xff, timescale >> 8 & 0xff, timescale & 0xff,\n // timescale\n upperWordDuration >> 24, upperWordDuration >> 16 & 0xff, upperWordDuration >> 8 & 0xff, upperWordDuration & 0xff, lowerWordDuration >> 24, lowerWordDuration >> 16 & 0xff, lowerWordDuration >> 8 & 0xff, lowerWordDuration & 0xff, 0x00, 0x01, 0x00, 0x00,\n // 1.0 rate\n 0x01, 0x00,\n // 1.0 volume\n 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,\n // transformation: unity matrix\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // pre_defined\n 0xff, 0xff, 0xff, 0xff // next_track_ID\n ]);\n return MP4.box(MP4.types.mvhd, bytes);\n };\n MP4.sdtp = function sdtp(track) {\n var samples = track.samples || [];\n var bytes = new Uint8Array(4 + samples.length);\n var i;\n var flags;\n // leave the full box header (4 bytes) all zero\n // write the sample table\n for (i = 0; i < samples.length; i++) {\n flags = samples[i].flags;\n bytes[i + 4] = flags.dependsOn << 4 | flags.isDependedOn << 2 | flags.hasRedundancy;\n }\n return MP4.box(MP4.types.sdtp, bytes);\n };\n MP4.stbl = function stbl(track) {\n return MP4.box(MP4.types.stbl, MP4.stsd(track), MP4.box(MP4.types.stts, MP4.STTS), MP4.box(MP4.types.stsc, MP4.STSC), MP4.box(MP4.types.stsz, MP4.STSZ), MP4.box(MP4.types.stco, MP4.STCO));\n };\n MP4.avc1 = function avc1(track) {\n var sps = [];\n var pps = [];\n var i;\n var data;\n var len;\n // assemble the SPSs\n\n for (i = 0; i < track.sps.length; i++) {\n data = track.sps[i];\n len = data.byteLength;\n sps.push(len >>> 8 & 0xff);\n sps.push(len & 0xff);\n\n // SPS\n sps = sps.concat(Array.prototype.slice.call(data));\n }\n\n // assemble the PPSs\n for (i = 0; i < track.pps.length; i++) {\n data = track.pps[i];\n len = data.byteLength;\n pps.push(len >>> 8 & 0xff);\n pps.push(len & 0xff);\n pps = pps.concat(Array.prototype.slice.call(data));\n }\n var avcc = MP4.box(MP4.types.avcC, new Uint8Array([0x01,\n // version\n sps[3],\n // profile\n sps[4],\n // profile compat\n sps[5],\n // level\n 0xfc | 3,\n // lengthSizeMinusOne, hard-coded to 4 bytes\n 0xe0 | track.sps.length // 3bit reserved (111) + numOfSequenceParameterSets\n ].concat(sps).concat([track.pps.length // numOfPictureParameterSets\n ]).concat(pps))); // \"PPS\"\n var width = track.width;\n var height = track.height;\n var hSpacing = track.pixelRatio[0];\n var vSpacing = track.pixelRatio[1];\n return MP4.box(MP4.types.avc1, new Uint8Array([0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x01,\n // data_reference_index\n 0x00, 0x00,\n // pre_defined\n 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // pre_defined\n width >> 8 & 0xff, width & 0xff,\n // width\n height >> 8 & 0xff, height & 0xff,\n // height\n 0x00, 0x48, 0x00, 0x00,\n // horizresolution\n 0x00, 0x48, 0x00, 0x00,\n // vertresolution\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x01,\n // frame_count\n 0x12, 0x64, 0x61, 0x69, 0x6c,\n // dailymotion/hls.js\n 0x79, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x68, 0x6c, 0x73, 0x2e, 0x6a, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // compressorname\n 0x00, 0x18,\n // depth = 24\n 0x11, 0x11]),\n // pre_defined = -1\n avcc, MP4.box(MP4.types.btrt, new Uint8Array([0x00, 0x1c, 0x9c, 0x80,\n // bufferSizeDB\n 0x00, 0x2d, 0xc6, 0xc0,\n // maxBitrate\n 0x00, 0x2d, 0xc6, 0xc0])),\n // avgBitrate\n MP4.box(MP4.types.pasp, new Uint8Array([hSpacing >> 24,\n // hSpacing\n hSpacing >> 16 & 0xff, hSpacing >> 8 & 0xff, hSpacing & 0xff, vSpacing >> 24,\n // vSpacing\n vSpacing >> 16 & 0xff, vSpacing >> 8 & 0xff, vSpacing & 0xff])));\n };\n MP4.esds = function esds(track) {\n var configlen = track.config.length;\n return new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n\n 0x03,\n // descriptor_type\n 0x17 + configlen,\n // length\n 0x00, 0x01,\n // es_id\n 0x00,\n // stream_priority\n\n 0x04,\n // descriptor_type\n 0x0f + configlen,\n // length\n 0x40,\n // codec : mpeg4_audio\n 0x15,\n // stream_type\n 0x00, 0x00, 0x00,\n // buffer_size\n 0x00, 0x00, 0x00, 0x00,\n // maxBitrate\n 0x00, 0x00, 0x00, 0x00,\n // avgBitrate\n\n 0x05 // descriptor_type\n ].concat([configlen]).concat(track.config).concat([0x06, 0x01, 0x02])); // GASpecificConfig)); // length + audio config descriptor\n };\n MP4.audioStsd = function audioStsd(track) {\n var samplerate = track.samplerate;\n return new Uint8Array([0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x01,\n // data_reference_index\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, track.channelCount,\n // channelcount\n 0x00, 0x10,\n // sampleSize:16bits\n 0x00, 0x00, 0x00, 0x00,\n // reserved2\n samplerate >> 8 & 0xff, samplerate & 0xff,\n //\n 0x00, 0x00]);\n };\n MP4.mp4a = function mp4a(track) {\n return MP4.box(MP4.types.mp4a, MP4.audioStsd(track), MP4.box(MP4.types.esds, MP4.esds(track)));\n };\n MP4.mp3 = function mp3(track) {\n return MP4.box(MP4.types['.mp3'], MP4.audioStsd(track));\n };\n MP4.ac3 = function ac3(track) {\n return MP4.box(MP4.types['ac-3'], MP4.audioStsd(track), MP4.box(MP4.types.dac3, track.config));\n };\n MP4.stsd = function stsd(track) {\n if (track.type === 'audio') {\n if (track.segmentCodec === 'mp3' && track.codec === 'mp3') {\n return MP4.box(MP4.types.stsd, MP4.STSD, MP4.mp3(track));\n }\n if (track.segmentCodec === 'ac3') {\n return MP4.box(MP4.types.stsd, MP4.STSD, MP4.ac3(track));\n }\n return MP4.box(MP4.types.stsd, MP4.STSD, MP4.mp4a(track));\n } else {\n return MP4.box(MP4.types.stsd, MP4.STSD, MP4.avc1(track));\n }\n };\n MP4.tkhd = function tkhd(track) {\n var id = track.id;\n var duration = track.duration * track.timescale;\n var width = track.width;\n var height = track.height;\n var upperWordDuration = Math.floor(duration / (UINT32_MAX + 1));\n var lowerWordDuration = Math.floor(duration % (UINT32_MAX + 1));\n return MP4.box(MP4.types.tkhd, new Uint8Array([0x01,\n // version 1\n 0x00, 0x00, 0x07,\n // flags\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,\n // creation_time\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,\n // modification_time\n id >> 24 & 0xff, id >> 16 & 0xff, id >> 8 & 0xff, id & 0xff,\n // track_ID\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n upperWordDuration >> 24, upperWordDuration >> 16 & 0xff, upperWordDuration >> 8 & 0xff, upperWordDuration & 0xff, lowerWordDuration >> 24, lowerWordDuration >> 16 & 0xff, lowerWordDuration >> 8 & 0xff, lowerWordDuration & 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00,\n // layer\n 0x00, 0x00,\n // alternate_group\n 0x00, 0x00,\n // non-audio track volume\n 0x00, 0x00,\n // reserved\n 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,\n // transformation: unity matrix\n width >> 8 & 0xff, width & 0xff, 0x00, 0x00,\n // width\n height >> 8 & 0xff, height & 0xff, 0x00, 0x00 // height\n ]));\n };\n MP4.traf = function traf(track, baseMediaDecodeTime) {\n var sampleDependencyTable = MP4.sdtp(track);\n var id = track.id;\n var upperWordBaseMediaDecodeTime = Math.floor(baseMediaDecodeTime / (UINT32_MAX + 1));\n var lowerWordBaseMediaDecodeTime = Math.floor(baseMediaDecodeTime % (UINT32_MAX + 1));\n return MP4.box(MP4.types.traf, MP4.box(MP4.types.tfhd, new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n id >> 24, id >> 16 & 0xff, id >> 8 & 0xff, id & 0xff // track_ID\n ])), MP4.box(MP4.types.tfdt, new Uint8Array([0x01,\n // version 1\n 0x00, 0x00, 0x00,\n // flags\n upperWordBaseMediaDecodeTime >> 24, upperWordBaseMediaDecodeTime >> 16 & 0xff, upperWordBaseMediaDecodeTime >> 8 & 0xff, upperWordBaseMediaDecodeTime & 0xff, lowerWordBaseMediaDecodeTime >> 24, lowerWordBaseMediaDecodeTime >> 16 & 0xff, lowerWordBaseMediaDecodeTime >> 8 & 0xff, lowerWordBaseMediaDecodeTime & 0xff])), MP4.trun(track, sampleDependencyTable.length + 16 +\n // tfhd\n 20 +\n // tfdt\n 8 +\n // traf header\n 16 +\n // mfhd\n 8 +\n // moof header\n 8),\n // mdat header\n sampleDependencyTable);\n }\n\n /**\n * Generate a track box.\n * @param track a track definition\n */;\n MP4.trak = function trak(track) {\n track.duration = track.duration || 0xffffffff;\n return MP4.box(MP4.types.trak, MP4.tkhd(track), MP4.mdia(track));\n };\n MP4.trex = function trex(track) {\n var id = track.id;\n return MP4.box(MP4.types.trex, new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n id >> 24, id >> 16 & 0xff, id >> 8 & 0xff, id & 0xff,\n // track_ID\n 0x00, 0x00, 0x00, 0x01,\n // default_sample_description_index\n 0x00, 0x00, 0x00, 0x00,\n // default_sample_duration\n 0x00, 0x00, 0x00, 0x00,\n // default_sample_size\n 0x00, 0x01, 0x00, 0x01 // default_sample_flags\n ]));\n };\n MP4.trun = function trun(track, offset) {\n var samples = track.samples || [];\n var len = samples.length;\n var arraylen = 12 + 16 * len;\n var array = new Uint8Array(arraylen);\n var i;\n var sample;\n var duration;\n var size;\n var flags;\n var cts;\n offset += 8 + arraylen;\n array.set([track.type === 'video' ? 0x01 : 0x00,\n // version 1 for video with signed-int sample_composition_time_offset\n 0x00, 0x0f, 0x01,\n // flags\n len >>> 24 & 0xff, len >>> 16 & 0xff, len >>> 8 & 0xff, len & 0xff,\n // sample_count\n offset >>> 24 & 0xff, offset >>> 16 & 0xff, offset >>> 8 & 0xff, offset & 0xff // data_offset\n ], 0);\n for (i = 0; i < len; i++) {\n sample = samples[i];\n duration = sample.duration;\n size = sample.size;\n flags = sample.flags;\n cts = sample.cts;\n array.set([duration >>> 24 & 0xff, duration >>> 16 & 0xff, duration >>> 8 & 0xff, duration & 0xff,\n // sample_duration\n size >>> 24 & 0xff, size >>> 16 & 0xff, size >>> 8 & 0xff, size & 0xff,\n // sample_size\n flags.isLeading << 2 | flags.dependsOn, flags.isDependedOn << 6 | flags.hasRedundancy << 4 | flags.paddingValue << 1 | flags.isNonSync, flags.degradPrio & 0xf0 << 8, flags.degradPrio & 0x0f,\n // sample_flags\n cts >>> 24 & 0xff, cts >>> 16 & 0xff, cts >>> 8 & 0xff, cts & 0xff // sample_composition_time_offset\n ], 12 + 16 * i);\n }\n return MP4.box(MP4.types.trun, array);\n };\n MP4.initSegment = function initSegment(tracks) {\n if (!MP4.types) {\n MP4.init();\n }\n var movie = MP4.moov(tracks);\n var result = appendUint8Array(MP4.FTYP, movie);\n return result;\n };\n return MP4;\n }();\n MP4.types = void 0;\n MP4.HDLR_TYPES = void 0;\n MP4.STTS = void 0;\n MP4.STSC = void 0;\n MP4.STCO = void 0;\n MP4.STSZ = void 0;\n MP4.VMHD = void 0;\n MP4.SMHD = void 0;\n MP4.STSD = void 0;\n MP4.FTYP = void 0;\n MP4.DINF = void 0;\n\n var MPEG_TS_CLOCK_FREQ_HZ = 90000;\n function toTimescaleFromBase(baseTime, destScale, srcBase, round) {\n if (srcBase === void 0) {\n srcBase = 1;\n }\n if (round === void 0) {\n round = false;\n }\n var result = baseTime * destScale * srcBase; // equivalent to `(value * scale) / (1 / base)`\n return round ? Math.round(result) : result;\n }\n function toTimescaleFromScale(baseTime, destScale, srcScale, round) {\n if (srcScale === void 0) {\n srcScale = 1;\n }\n if (round === void 0) {\n round = false;\n }\n return toTimescaleFromBase(baseTime, destScale, 1 / srcScale, round);\n }\n function toMsFromMpegTsClock(baseTime, round) {\n if (round === void 0) {\n round = false;\n }\n return toTimescaleFromBase(baseTime, 1000, 1 / MPEG_TS_CLOCK_FREQ_HZ, round);\n }\n function toMpegTsClockFromTimescale(baseTime, srcScale) {\n if (srcScale === void 0) {\n srcScale = 1;\n }\n return toTimescaleFromBase(baseTime, MPEG_TS_CLOCK_FREQ_HZ, 1 / srcScale);\n }\n\n var MAX_SILENT_FRAME_DURATION = 10 * 1000; // 10 seconds\n var AAC_SAMPLES_PER_FRAME = 1024;\n var MPEG_AUDIO_SAMPLE_PER_FRAME = 1152;\n var AC3_SAMPLES_PER_FRAME = 1536;\n var chromeVersion = null;\n var safariWebkitVersion = null;\n var MP4Remuxer = /*#__PURE__*/function () {\n function MP4Remuxer(observer, config, typeSupported, vendor) {\n this.observer = void 0;\n this.config = void 0;\n this.typeSupported = void 0;\n this.ISGenerated = false;\n this._initPTS = null;\n this._initDTS = null;\n this.nextAvcDts = null;\n this.nextAudioPts = null;\n this.videoSampleDuration = null;\n this.isAudioContiguous = false;\n this.isVideoContiguous = false;\n this.videoTrackConfig = void 0;\n this.observer = observer;\n this.config = config;\n this.typeSupported = typeSupported;\n this.ISGenerated = false;\n if (chromeVersion === null) {\n var userAgent = navigator.userAgent || '';\n var result = userAgent.match(/Chrome\\/(\\d+)/i);\n chromeVersion = result ? parseInt(result[1]) : 0;\n }\n if (safariWebkitVersion === null) {\n var _result = navigator.userAgent.match(/Safari\\/(\\d+)/i);\n safariWebkitVersion = _result ? parseInt(_result[1]) : 0;\n }\n }\n var _proto = MP4Remuxer.prototype;\n _proto.destroy = function destroy() {\n // @ts-ignore\n this.config = this.videoTrackConfig = this._initPTS = this._initDTS = null;\n };\n _proto.resetTimeStamp = function resetTimeStamp(defaultTimeStamp) {\n logger.log('[mp4-remuxer]: initPTS & initDTS reset');\n this._initPTS = this._initDTS = defaultTimeStamp;\n };\n _proto.resetNextTimestamp = function resetNextTimestamp() {\n logger.log('[mp4-remuxer]: reset next timestamp');\n this.isVideoContiguous = false;\n this.isAudioContiguous = false;\n };\n _proto.resetInitSegment = function resetInitSegment() {\n logger.log('[mp4-remuxer]: ISGenerated flag reset');\n this.ISGenerated = false;\n this.videoTrackConfig = undefined;\n };\n _proto.getVideoStartPts = function getVideoStartPts(videoSamples) {\n var rolloverDetected = false;\n var startPTS = videoSamples.reduce(function (minPTS, sample) {\n var delta = sample.pts - minPTS;\n if (delta < -4294967296) {\n // 2^32, see PTSNormalize for reasoning, but we're hitting a rollover here, and we don't want that to impact the timeOffset calculation\n rolloverDetected = true;\n return normalizePts(minPTS, sample.pts);\n } else if (delta > 0) {\n return minPTS;\n } else {\n return sample.pts;\n }\n }, videoSamples[0].pts);\n if (rolloverDetected) {\n logger.debug('PTS rollover detected');\n }\n return startPTS;\n };\n _proto.remux = function remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset, flush, playlistType) {\n var video;\n var audio;\n var initSegment;\n var text;\n var id3;\n var independent;\n var audioTimeOffset = timeOffset;\n var videoTimeOffset = timeOffset;\n\n // If we're remuxing audio and video progressively, wait until we've received enough samples for each track before proceeding.\n // This is done to synchronize the audio and video streams. We know if the current segment will have samples if the \"pid\"\n // parameter is greater than -1. The pid is set when the PMT is parsed, which contains the tracks list.\n // However, if the initSegment has already been generated, or we've reached the end of a segment (flush),\n // then we can remux one track without waiting for the other.\n var hasAudio = audioTrack.pid > -1;\n var hasVideo = videoTrack.pid > -1;\n var length = videoTrack.samples.length;\n var enoughAudioSamples = audioTrack.samples.length > 0;\n var enoughVideoSamples = flush && length > 0 || length > 1;\n var canRemuxAvc = (!hasAudio || enoughAudioSamples) && (!hasVideo || enoughVideoSamples) || this.ISGenerated || flush;\n if (canRemuxAvc) {\n if (this.ISGenerated) {\n var _videoTrack$pixelRati, _config$pixelRatio, _videoTrack$pixelRati2, _config$pixelRatio2;\n var config = this.videoTrackConfig;\n if (config && (videoTrack.width !== config.width || videoTrack.height !== config.height || ((_videoTrack$pixelRati = videoTrack.pixelRatio) == null ? void 0 : _videoTrack$pixelRati[0]) !== ((_config$pixelRatio = config.pixelRatio) == null ? void 0 : _config$pixelRatio[0]) || ((_videoTrack$pixelRati2 = videoTrack.pixelRatio) == null ? void 0 : _videoTrack$pixelRati2[1]) !== ((_config$pixelRatio2 = config.pixelRatio) == null ? void 0 : _config$pixelRatio2[1]))) {\n this.resetInitSegment();\n }\n } else {\n initSegment = this.generateIS(audioTrack, videoTrack, timeOffset, accurateTimeOffset);\n }\n var isVideoContiguous = this.isVideoContiguous;\n var firstKeyFrameIndex = -1;\n var firstKeyFramePTS;\n if (enoughVideoSamples) {\n firstKeyFrameIndex = findKeyframeIndex(videoTrack.samples);\n if (!isVideoContiguous && this.config.forceKeyFrameOnDiscontinuity) {\n independent = true;\n if (firstKeyFrameIndex > 0) {\n logger.warn(\"[mp4-remuxer]: Dropped \" + firstKeyFrameIndex + \" out of \" + length + \" video samples due to a missing keyframe\");\n var startPTS = this.getVideoStartPts(videoTrack.samples);\n videoTrack.samples = videoTrack.samples.slice(firstKeyFrameIndex);\n videoTrack.dropped += firstKeyFrameIndex;\n videoTimeOffset += (videoTrack.samples[0].pts - startPTS) / videoTrack.inputTimeScale;\n firstKeyFramePTS = videoTimeOffset;\n } else if (firstKeyFrameIndex === -1) {\n logger.warn(\"[mp4-remuxer]: No keyframe found out of \" + length + \" video samples\");\n independent = false;\n }\n }\n }\n if (this.ISGenerated) {\n if (enoughAudioSamples && enoughVideoSamples) {\n // timeOffset is expected to be the offset of the first timestamp of this fragment (first DTS)\n // if first audio DTS is not aligned with first video DTS then we need to take that into account\n // when providing timeOffset to remuxAudio / remuxVideo. if we don't do that, there might be a permanent / small\n // drift between audio and video streams\n var _startPTS = this.getVideoStartPts(videoTrack.samples);\n var tsDelta = normalizePts(audioTrack.samples[0].pts, _startPTS) - _startPTS;\n var audiovideoTimestampDelta = tsDelta / videoTrack.inputTimeScale;\n audioTimeOffset += Math.max(0, audiovideoTimestampDelta);\n videoTimeOffset += Math.max(0, -audiovideoTimestampDelta);\n }\n\n // Purposefully remuxing audio before video, so that remuxVideo can use nextAudioPts, which is calculated in remuxAudio.\n if (enoughAudioSamples) {\n // if initSegment was generated without audio samples, regenerate it again\n if (!audioTrack.samplerate) {\n logger.warn('[mp4-remuxer]: regenerate InitSegment as audio detected');\n initSegment = this.generateIS(audioTrack, videoTrack, timeOffset, accurateTimeOffset);\n }\n audio = this.remuxAudio(audioTrack, audioTimeOffset, this.isAudioContiguous, accurateTimeOffset, hasVideo || enoughVideoSamples || playlistType === PlaylistLevelType.AUDIO ? videoTimeOffset : undefined);\n if (enoughVideoSamples) {\n var audioTrackLength = audio ? audio.endPTS - audio.startPTS : 0;\n // if initSegment was generated without video samples, regenerate it again\n if (!videoTrack.inputTimeScale) {\n logger.warn('[mp4-remuxer]: regenerate InitSegment as video detected');\n initSegment = this.generateIS(audioTrack, videoTrack, timeOffset, accurateTimeOffset);\n }\n video = this.remuxVideo(videoTrack, videoTimeOffset, isVideoContiguous, audioTrackLength);\n }\n } else if (enoughVideoSamples) {\n video = this.remuxVideo(videoTrack, videoTimeOffset, isVideoContiguous, 0);\n }\n if (video) {\n video.firstKeyFrame = firstKeyFrameIndex;\n video.independent = firstKeyFrameIndex !== -1;\n video.firstKeyFramePTS = firstKeyFramePTS;\n }\n }\n }\n\n // Allow ID3 and text to remux, even if more audio/video samples are required\n if (this.ISGenerated && this._initPTS && this._initDTS) {\n if (id3Track.samples.length) {\n id3 = flushTextTrackMetadataCueSamples(id3Track, timeOffset, this._initPTS, this._initDTS);\n }\n if (textTrack.samples.length) {\n text = flushTextTrackUserdataCueSamples(textTrack, timeOffset, this._initPTS);\n }\n }\n return {\n audio: audio,\n video: video,\n initSegment: initSegment,\n independent: independent,\n text: text,\n id3: id3\n };\n };\n _proto.generateIS = function generateIS(audioTrack, videoTrack, timeOffset, accurateTimeOffset) {\n var audioSamples = audioTrack.samples;\n var videoSamples = videoTrack.samples;\n var typeSupported = this.typeSupported;\n var tracks = {};\n var _initPTS = this._initPTS;\n var computePTSDTS = !_initPTS || accurateTimeOffset;\n var container = 'audio/mp4';\n var initPTS;\n var initDTS;\n var timescale;\n if (computePTSDTS) {\n initPTS = initDTS = Infinity;\n }\n if (audioTrack.config && audioSamples.length) {\n // let's use audio sampling rate as MP4 time scale.\n // rationale is that there is a integer nb of audio frames per audio sample (1024 for AAC)\n // using audio sampling rate here helps having an integer MP4 frame duration\n // this avoids potential rounding issue and AV sync issue\n audioTrack.timescale = audioTrack.samplerate;\n switch (audioTrack.segmentCodec) {\n case 'mp3':\n if (typeSupported.mpeg) {\n // Chrome and Safari\n container = 'audio/mpeg';\n audioTrack.codec = '';\n } else if (typeSupported.mp3) {\n // Firefox\n audioTrack.codec = 'mp3';\n }\n break;\n case 'ac3':\n audioTrack.codec = 'ac-3';\n break;\n }\n tracks.audio = {\n id: 'audio',\n container: container,\n codec: audioTrack.codec,\n initSegment: audioTrack.segmentCodec === 'mp3' && typeSupported.mpeg ? new Uint8Array(0) : MP4.initSegment([audioTrack]),\n metadata: {\n channelCount: audioTrack.channelCount\n }\n };\n if (computePTSDTS) {\n timescale = audioTrack.inputTimeScale;\n if (!_initPTS || timescale !== _initPTS.timescale) {\n // remember first PTS of this demuxing context. for audio, PTS = DTS\n initPTS = initDTS = audioSamples[0].pts - Math.round(timescale * timeOffset);\n } else {\n computePTSDTS = false;\n }\n }\n }\n if (videoTrack.sps && videoTrack.pps && videoSamples.length) {\n // let's use input time scale as MP4 video timescale\n // we use input time scale straight away to avoid rounding issues on frame duration / cts computation\n videoTrack.timescale = videoTrack.inputTimeScale;\n tracks.video = {\n id: 'main',\n container: 'video/mp4',\n codec: videoTrack.codec,\n initSegment: MP4.initSegment([videoTrack]),\n metadata: {\n width: videoTrack.width,\n height: videoTrack.height\n }\n };\n if (computePTSDTS) {\n timescale = videoTrack.inputTimeScale;\n if (!_initPTS || timescale !== _initPTS.timescale) {\n var startPTS = this.getVideoStartPts(videoSamples);\n var startOffset = Math.round(timescale * timeOffset);\n initDTS = Math.min(initDTS, normalizePts(videoSamples[0].dts, startPTS) - startOffset);\n initPTS = Math.min(initPTS, startPTS - startOffset);\n } else {\n computePTSDTS = false;\n }\n }\n this.videoTrackConfig = {\n width: videoTrack.width,\n height: videoTrack.height,\n pixelRatio: videoTrack.pixelRatio\n };\n }\n if (Object.keys(tracks).length) {\n this.ISGenerated = true;\n if (computePTSDTS) {\n this._initPTS = {\n baseTime: initPTS,\n timescale: timescale\n };\n this._initDTS = {\n baseTime: initDTS,\n timescale: timescale\n };\n } else {\n initPTS = timescale = undefined;\n }\n return {\n tracks: tracks,\n initPTS: initPTS,\n timescale: timescale\n };\n }\n };\n _proto.remuxVideo = function remuxVideo(track, timeOffset, contiguous, audioTrackLength) {\n var timeScale = track.inputTimeScale;\n var inputSamples = track.samples;\n var outputSamples = [];\n var nbSamples = inputSamples.length;\n var initPTS = this._initPTS;\n var nextAvcDts = this.nextAvcDts;\n var offset = 8;\n var mp4SampleDuration = this.videoSampleDuration;\n var firstDTS;\n var lastDTS;\n var minPTS = Number.POSITIVE_INFINITY;\n var maxPTS = Number.NEGATIVE_INFINITY;\n var sortSamples = false;\n\n // if parsed fragment is contiguous with last one, let's use last DTS value as reference\n if (!contiguous || nextAvcDts === null) {\n var pts = timeOffset * timeScale;\n var cts = inputSamples[0].pts - normalizePts(inputSamples[0].dts, inputSamples[0].pts);\n if (chromeVersion && nextAvcDts !== null && Math.abs(pts - cts - nextAvcDts) < 15000) {\n // treat as contigous to adjust samples that would otherwise produce video buffer gaps in Chrome\n contiguous = true;\n } else {\n // if not contiguous, let's use target timeOffset\n nextAvcDts = pts - cts;\n }\n }\n\n // PTS is coded on 33bits, and can loop from -2^32 to 2^32\n // PTSNormalize will make PTS/DTS value monotonic, we use last known DTS value as reference value\n var initTime = initPTS.baseTime * timeScale / initPTS.timescale;\n for (var i = 0; i < nbSamples; i++) {\n var sample = inputSamples[i];\n sample.pts = normalizePts(sample.pts - initTime, nextAvcDts);\n sample.dts = normalizePts(sample.dts - initTime, nextAvcDts);\n if (sample.dts < inputSamples[i > 0 ? i - 1 : i].dts) {\n sortSamples = true;\n }\n }\n\n // sort video samples by DTS then PTS then demux id order\n if (sortSamples) {\n inputSamples.sort(function (a, b) {\n var deltadts = a.dts - b.dts;\n var deltapts = a.pts - b.pts;\n return deltadts || deltapts;\n });\n }\n\n // Get first/last DTS\n firstDTS = inputSamples[0].dts;\n lastDTS = inputSamples[inputSamples.length - 1].dts;\n\n // Sample duration (as expected by trun MP4 boxes), should be the delta between sample DTS\n // set this constant duration as being the avg delta between consecutive DTS.\n var inputDuration = lastDTS - firstDTS;\n var averageSampleDuration = inputDuration ? Math.round(inputDuration / (nbSamples - 1)) : mp4SampleDuration || track.inputTimeScale / 30;\n\n // if fragment are contiguous, detect hole/overlapping between fragments\n if (contiguous) {\n // check timestamp continuity across consecutive fragments (this is to remove inter-fragment gap/hole)\n var delta = firstDTS - nextAvcDts;\n var foundHole = delta > averageSampleDuration;\n var foundOverlap = delta < -1;\n if (foundHole || foundOverlap) {\n if (foundHole) {\n logger.warn(\"AVC: \" + toMsFromMpegTsClock(delta, true) + \" ms (\" + delta + \"dts) hole between fragments detected at \" + timeOffset.toFixed(3));\n } else {\n logger.warn(\"AVC: \" + toMsFromMpegTsClock(-delta, true) + \" ms (\" + delta + \"dts) overlapping between fragments detected at \" + timeOffset.toFixed(3));\n }\n if (!foundOverlap || nextAvcDts >= inputSamples[0].pts || chromeVersion) {\n firstDTS = nextAvcDts;\n var firstPTS = inputSamples[0].pts - delta;\n if (foundHole) {\n inputSamples[0].dts = firstDTS;\n inputSamples[0].pts = firstPTS;\n } else {\n for (var _i = 0; _i < inputSamples.length; _i++) {\n if (inputSamples[_i].dts > firstPTS) {\n break;\n }\n inputSamples[_i].dts -= delta;\n inputSamples[_i].pts -= delta;\n }\n }\n logger.log(\"Video: Initial PTS/DTS adjusted: \" + toMsFromMpegTsClock(firstPTS, true) + \"/\" + toMsFromMpegTsClock(firstDTS, true) + \", delta: \" + toMsFromMpegTsClock(delta, true) + \" ms\");\n }\n }\n }\n firstDTS = Math.max(0, firstDTS);\n var nbNalu = 0;\n var naluLen = 0;\n var dtsStep = firstDTS;\n for (var _i2 = 0; _i2 < nbSamples; _i2++) {\n // compute total/avc sample length and nb of NAL units\n var _sample = inputSamples[_i2];\n var units = _sample.units;\n var nbUnits = units.length;\n var sampleLen = 0;\n for (var j = 0; j < nbUnits; j++) {\n sampleLen += units[j].data.length;\n }\n naluLen += sampleLen;\n nbNalu += nbUnits;\n _sample.length = sampleLen;\n\n // ensure sample monotonic DTS\n if (_sample.dts < dtsStep) {\n _sample.dts = dtsStep;\n dtsStep += averageSampleDuration / 4 | 0 || 1;\n } else {\n dtsStep = _sample.dts;\n }\n minPTS = Math.min(_sample.pts, minPTS);\n maxPTS = Math.max(_sample.pts, maxPTS);\n }\n lastDTS = inputSamples[nbSamples - 1].dts;\n\n /* concatenate the video data and construct the mdat in place\n (need 8 more bytes to fill length and mpdat type) */\n var mdatSize = naluLen + 4 * nbNalu + 8;\n var mdat;\n try {\n mdat = new Uint8Array(mdatSize);\n } catch (err) {\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MUX_ERROR,\n details: ErrorDetails.REMUX_ALLOC_ERROR,\n fatal: false,\n error: err,\n bytes: mdatSize,\n reason: \"fail allocating video mdat \" + mdatSize\n });\n return;\n }\n var view = new DataView(mdat.buffer);\n view.setUint32(0, mdatSize);\n mdat.set(MP4.types.mdat, 4);\n var stretchedLastFrame = false;\n var minDtsDelta = Number.POSITIVE_INFINITY;\n var minPtsDelta = Number.POSITIVE_INFINITY;\n var maxDtsDelta = Number.NEGATIVE_INFINITY;\n var maxPtsDelta = Number.NEGATIVE_INFINITY;\n for (var _i3 = 0; _i3 < nbSamples; _i3++) {\n var _VideoSample = inputSamples[_i3];\n var VideoSampleUnits = _VideoSample.units;\n var mp4SampleLength = 0;\n // convert NALU bitstream to MP4 format (prepend NALU with size field)\n for (var _j = 0, _nbUnits = VideoSampleUnits.length; _j < _nbUnits; _j++) {\n var unit = VideoSampleUnits[_j];\n var unitData = unit.data;\n var unitDataLen = unit.data.byteLength;\n view.setUint32(offset, unitDataLen);\n offset += 4;\n mdat.set(unitData, offset);\n offset += unitDataLen;\n mp4SampleLength += 4 + unitDataLen;\n }\n\n // expected sample duration is the Decoding Timestamp diff of consecutive samples\n var ptsDelta = void 0;\n if (_i3 < nbSamples - 1) {\n mp4SampleDuration = inputSamples[_i3 + 1].dts - _VideoSample.dts;\n ptsDelta = inputSamples[_i3 + 1].pts - _VideoSample.pts;\n } else {\n var config = this.config;\n var lastFrameDuration = _i3 > 0 ? _VideoSample.dts - inputSamples[_i3 - 1].dts : averageSampleDuration;\n ptsDelta = _i3 > 0 ? _VideoSample.pts - inputSamples[_i3 - 1].pts : averageSampleDuration;\n if (config.stretchShortVideoTrack && this.nextAudioPts !== null) {\n // In some cases, a segment's audio track duration may exceed the video track duration.\n // Since we've already remuxed audio, and we know how long the audio track is, we look to\n // see if the delta to the next segment is longer than maxBufferHole.\n // If so, playback would potentially get stuck, so we artificially inflate\n // the duration of the last frame to minimize any potential gap between segments.\n var gapTolerance = Math.floor(config.maxBufferHole * timeScale);\n var deltaToFrameEnd = (audioTrackLength ? minPTS + audioTrackLength * timeScale : this.nextAudioPts) - _VideoSample.pts;\n if (deltaToFrameEnd > gapTolerance) {\n // We subtract lastFrameDuration from deltaToFrameEnd to try to prevent any video\n // frame overlap. maxBufferHole should be >> lastFrameDuration anyway.\n mp4SampleDuration = deltaToFrameEnd - lastFrameDuration;\n if (mp4SampleDuration < 0) {\n mp4SampleDuration = lastFrameDuration;\n } else {\n stretchedLastFrame = true;\n }\n logger.log(\"[mp4-remuxer]: It is approximately \" + deltaToFrameEnd / 90 + \" ms to the next segment; using duration \" + mp4SampleDuration / 90 + \" ms for the last video frame.\");\n } else {\n mp4SampleDuration = lastFrameDuration;\n }\n } else {\n mp4SampleDuration = lastFrameDuration;\n }\n }\n var compositionTimeOffset = Math.round(_VideoSample.pts - _VideoSample.dts);\n minDtsDelta = Math.min(minDtsDelta, mp4SampleDuration);\n maxDtsDelta = Math.max(maxDtsDelta, mp4SampleDuration);\n minPtsDelta = Math.min(minPtsDelta, ptsDelta);\n maxPtsDelta = Math.max(maxPtsDelta, ptsDelta);\n outputSamples.push(new Mp4Sample(_VideoSample.key, mp4SampleDuration, mp4SampleLength, compositionTimeOffset));\n }\n if (outputSamples.length) {\n if (chromeVersion) {\n if (chromeVersion < 70) {\n // Chrome workaround, mark first sample as being a Random Access Point (keyframe) to avoid sourcebuffer append issue\n // https://code.google.com/p/chromium/issues/detail?id=229412\n var flags = outputSamples[0].flags;\n flags.dependsOn = 2;\n flags.isNonSync = 0;\n }\n } else if (safariWebkitVersion) {\n // Fix for \"CNN special report, with CC\" in test-streams (Safari browser only)\n // Ignore DTS when frame durations are irregular. Safari MSE does not handle this leading to gaps.\n if (maxPtsDelta - minPtsDelta < maxDtsDelta - minDtsDelta && averageSampleDuration / maxDtsDelta < 0.025 && outputSamples[0].cts === 0) {\n logger.warn('Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.');\n var dts = firstDTS;\n for (var _i4 = 0, len = outputSamples.length; _i4 < len; _i4++) {\n var nextDts = dts + outputSamples[_i4].duration;\n var _pts = dts + outputSamples[_i4].cts;\n if (_i4 < len - 1) {\n var nextPts = nextDts + outputSamples[_i4 + 1].cts;\n outputSamples[_i4].duration = nextPts - _pts;\n } else {\n outputSamples[_i4].duration = _i4 ? outputSamples[_i4 - 1].duration : averageSampleDuration;\n }\n outputSamples[_i4].cts = 0;\n dts = nextDts;\n }\n }\n }\n }\n // next AVC sample DTS should be equal to last sample DTS + last sample duration (in PES timescale)\n mp4SampleDuration = stretchedLastFrame || !mp4SampleDuration ? averageSampleDuration : mp4SampleDuration;\n this.nextAvcDts = nextAvcDts = lastDTS + mp4SampleDuration;\n this.videoSampleDuration = mp4SampleDuration;\n this.isVideoContiguous = true;\n var moof = MP4.moof(track.sequenceNumber++, firstDTS, _extends({}, track, {\n samples: outputSamples\n }));\n var type = 'video';\n var data = {\n data1: moof,\n data2: mdat,\n startPTS: minPTS / timeScale,\n endPTS: (maxPTS + mp4SampleDuration) / timeScale,\n startDTS: firstDTS / timeScale,\n endDTS: nextAvcDts / timeScale,\n type: type,\n hasAudio: false,\n hasVideo: true,\n nb: outputSamples.length,\n dropped: track.dropped\n };\n track.samples = [];\n track.dropped = 0;\n return data;\n };\n _proto.getSamplesPerFrame = function getSamplesPerFrame(track) {\n switch (track.segmentCodec) {\n case 'mp3':\n return MPEG_AUDIO_SAMPLE_PER_FRAME;\n case 'ac3':\n return AC3_SAMPLES_PER_FRAME;\n default:\n return AAC_SAMPLES_PER_FRAME;\n }\n };\n _proto.remuxAudio = function remuxAudio(track, timeOffset, contiguous, accurateTimeOffset, videoTimeOffset) {\n var inputTimeScale = track.inputTimeScale;\n var mp4timeScale = track.samplerate ? track.samplerate : inputTimeScale;\n var scaleFactor = inputTimeScale / mp4timeScale;\n var mp4SampleDuration = this.getSamplesPerFrame(track);\n var inputSampleDuration = mp4SampleDuration * scaleFactor;\n var initPTS = this._initPTS;\n var rawMPEG = track.segmentCodec === 'mp3' && this.typeSupported.mpeg;\n var outputSamples = [];\n var alignedWithVideo = videoTimeOffset !== undefined;\n var inputSamples = track.samples;\n var offset = rawMPEG ? 0 : 8;\n var nextAudioPts = this.nextAudioPts || -1;\n\n // window.audioSamples ? window.audioSamples.push(inputSamples.map(s => s.pts)) : (window.audioSamples = [inputSamples.map(s => s.pts)]);\n\n // for audio samples, also consider consecutive fragments as being contiguous (even if a level switch occurs),\n // for sake of clarity:\n // consecutive fragments are frags with\n // - less than 100ms gaps between new time offset (if accurate) and next expected PTS OR\n // - less than 20 audio frames distance\n // contiguous fragments are consecutive fragments from same quality level (same level, new SN = old SN + 1)\n // this helps ensuring audio continuity\n // and this also avoids audio glitches/cut when switching quality, or reporting wrong duration on first audio frame\n var timeOffsetMpegTS = timeOffset * inputTimeScale;\n var initTime = initPTS.baseTime * inputTimeScale / initPTS.timescale;\n this.isAudioContiguous = contiguous = contiguous || inputSamples.length && nextAudioPts > 0 && (accurateTimeOffset && Math.abs(timeOffsetMpegTS - nextAudioPts) < 9000 || Math.abs(normalizePts(inputSamples[0].pts - initTime, timeOffsetMpegTS) - nextAudioPts) < 20 * inputSampleDuration);\n\n // compute normalized PTS\n inputSamples.forEach(function (sample) {\n sample.pts = normalizePts(sample.pts - initTime, timeOffsetMpegTS);\n });\n if (!contiguous || nextAudioPts < 0) {\n // filter out sample with negative PTS that are not playable anyway\n // if we don't remove these negative samples, they will shift all audio samples forward.\n // leading to audio overlap between current / next fragment\n inputSamples = inputSamples.filter(function (sample) {\n return sample.pts >= 0;\n });\n\n // in case all samples have negative PTS, and have been filtered out, return now\n if (!inputSamples.length) {\n return;\n }\n if (videoTimeOffset === 0) {\n // Set the start to 0 to match video so that start gaps larger than inputSampleDuration are filled with silence\n nextAudioPts = 0;\n } else if (accurateTimeOffset && !alignedWithVideo) {\n // When not seeking, not live, and LevelDetails.PTSKnown, use fragment start as predicted next audio PTS\n nextAudioPts = Math.max(0, timeOffsetMpegTS);\n } else {\n // if frags are not contiguous and if we cant trust time offset, let's use first sample PTS as next audio PTS\n nextAudioPts = inputSamples[0].pts;\n }\n }\n\n // If the audio track is missing samples, the frames seem to get \"left-shifted\" within the\n // resulting mp4 segment, causing sync issues and leaving gaps at the end of the audio segment.\n // In an effort to prevent this from happening, we inject frames here where there are gaps.\n // When possible, we inject a silent frame; when that's not possible, we duplicate the last\n // frame.\n\n if (track.segmentCodec === 'aac') {\n var maxAudioFramesDrift = this.config.maxAudioFramesDrift;\n for (var i = 0, nextPts = nextAudioPts; i < inputSamples.length; i++) {\n // First, let's see how far off this frame is from where we expect it to be\n var sample = inputSamples[i];\n var pts = sample.pts;\n var delta = pts - nextPts;\n var duration = Math.abs(1000 * delta / inputTimeScale);\n\n // When remuxing with video, if we're overlapping by more than a duration, drop this sample to stay in sync\n if (delta <= -maxAudioFramesDrift * inputSampleDuration && alignedWithVideo) {\n if (i === 0) {\n logger.warn(\"Audio frame @ \" + (pts / inputTimeScale).toFixed(3) + \"s overlaps nextAudioPts by \" + Math.round(1000 * delta / inputTimeScale) + \" ms.\");\n this.nextAudioPts = nextAudioPts = nextPts = pts;\n }\n } // eslint-disable-line brace-style\n\n // Insert missing frames if:\n // 1: We're more than maxAudioFramesDrift frame away\n // 2: Not more than MAX_SILENT_FRAME_DURATION away\n // 3: currentTime (aka nextPtsNorm) is not 0\n // 4: remuxing with video (videoTimeOffset !== undefined)\n else if (delta >= maxAudioFramesDrift * inputSampleDuration && duration < MAX_SILENT_FRAME_DURATION && alignedWithVideo) {\n var missing = Math.round(delta / inputSampleDuration);\n // Adjust nextPts so that silent samples are aligned with media pts. This will prevent media samples from\n // later being shifted if nextPts is based on timeOffset and delta is not a multiple of inputSampleDuration.\n nextPts = pts - missing * inputSampleDuration;\n if (nextPts < 0) {\n missing--;\n nextPts += inputSampleDuration;\n }\n if (i === 0) {\n this.nextAudioPts = nextAudioPts = nextPts;\n }\n logger.warn(\"[mp4-remuxer]: Injecting \" + missing + \" audio frame @ \" + (nextPts / inputTimeScale).toFixed(3) + \"s due to \" + Math.round(1000 * delta / inputTimeScale) + \" ms gap.\");\n for (var j = 0; j < missing; j++) {\n var newStamp = Math.max(nextPts, 0);\n var fillFrame = AAC.getSilentFrame(track.manifestCodec || track.codec, track.channelCount);\n if (!fillFrame) {\n logger.log('[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead.');\n fillFrame = sample.unit.subarray();\n }\n inputSamples.splice(i, 0, {\n unit: fillFrame,\n pts: newStamp\n });\n nextPts += inputSampleDuration;\n i++;\n }\n }\n sample.pts = nextPts;\n nextPts += inputSampleDuration;\n }\n }\n var firstPTS = null;\n var lastPTS = null;\n var mdat;\n var mdatSize = 0;\n var sampleLength = inputSamples.length;\n while (sampleLength--) {\n mdatSize += inputSamples[sampleLength].unit.byteLength;\n }\n for (var _j2 = 0, _nbSamples = inputSamples.length; _j2 < _nbSamples; _j2++) {\n var audioSample = inputSamples[_j2];\n var unit = audioSample.unit;\n var _pts2 = audioSample.pts;\n if (lastPTS !== null) {\n // If we have more than one sample, set the duration of the sample to the \"real\" duration; the PTS diff with\n // the previous sample\n var prevSample = outputSamples[_j2 - 1];\n prevSample.duration = Math.round((_pts2 - lastPTS) / scaleFactor);\n } else {\n if (contiguous && track.segmentCodec === 'aac') {\n // set PTS/DTS to expected PTS/DTS\n _pts2 = nextAudioPts;\n }\n // remember first PTS of our audioSamples\n firstPTS = _pts2;\n if (mdatSize > 0) {\n /* concatenate the audio data and construct the mdat in place\n (need 8 more bytes to fill length and mdat type) */\n mdatSize += offset;\n try {\n mdat = new Uint8Array(mdatSize);\n } catch (err) {\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MUX_ERROR,\n details: ErrorDetails.REMUX_ALLOC_ERROR,\n fatal: false,\n error: err,\n bytes: mdatSize,\n reason: \"fail allocating audio mdat \" + mdatSize\n });\n return;\n }\n if (!rawMPEG) {\n var view = new DataView(mdat.buffer);\n view.setUint32(0, mdatSize);\n mdat.set(MP4.types.mdat, 4);\n }\n } else {\n // no audio samples\n return;\n }\n }\n mdat.set(unit, offset);\n var unitLen = unit.byteLength;\n offset += unitLen;\n // Default the sample's duration to the computed mp4SampleDuration, which will either be 1024 for AAC or 1152 for MPEG\n // In the case that we have 1 sample, this will be the duration. If we have more than one sample, the duration\n // becomes the PTS diff with the previous sample\n outputSamples.push(new Mp4Sample(true, mp4SampleDuration, unitLen, 0));\n lastPTS = _pts2;\n }\n\n // We could end up with no audio samples if all input samples were overlapping with the previously remuxed ones\n var nbSamples = outputSamples.length;\n if (!nbSamples) {\n return;\n }\n\n // The next audio sample PTS should be equal to last sample PTS + duration\n var lastSample = outputSamples[outputSamples.length - 1];\n this.nextAudioPts = nextAudioPts = lastPTS + scaleFactor * lastSample.duration;\n\n // Set the track samples from inputSamples to outputSamples before remuxing\n var moof = rawMPEG ? new Uint8Array(0) : MP4.moof(track.sequenceNumber++, firstPTS / scaleFactor, _extends({}, track, {\n samples: outputSamples\n }));\n\n // Clear the track samples. This also clears the samples array in the demuxer, since the reference is shared\n track.samples = [];\n var start = firstPTS / inputTimeScale;\n var end = nextAudioPts / inputTimeScale;\n var type = 'audio';\n var audioData = {\n data1: moof,\n data2: mdat,\n startPTS: start,\n endPTS: end,\n startDTS: start,\n endDTS: end,\n type: type,\n hasAudio: true,\n hasVideo: false,\n nb: nbSamples\n };\n this.isAudioContiguous = true;\n return audioData;\n };\n _proto.remuxEmptyAudio = function remuxEmptyAudio(track, timeOffset, contiguous, videoData) {\n var inputTimeScale = track.inputTimeScale;\n var mp4timeScale = track.samplerate ? track.samplerate : inputTimeScale;\n var scaleFactor = inputTimeScale / mp4timeScale;\n var nextAudioPts = this.nextAudioPts;\n // sync with video's timestamp\n var initDTS = this._initDTS;\n var init90kHz = initDTS.baseTime * 90000 / initDTS.timescale;\n var startDTS = (nextAudioPts !== null ? nextAudioPts : videoData.startDTS * inputTimeScale) + init90kHz;\n var endDTS = videoData.endDTS * inputTimeScale + init90kHz;\n // one sample's duration value\n var frameDuration = scaleFactor * AAC_SAMPLES_PER_FRAME;\n // samples count of this segment's duration\n var nbSamples = Math.ceil((endDTS - startDTS) / frameDuration);\n // silent frame\n var silentFrame = AAC.getSilentFrame(track.manifestCodec || track.codec, track.channelCount);\n logger.warn('[mp4-remuxer]: remux empty Audio');\n // Can't remux if we can't generate a silent frame...\n if (!silentFrame) {\n logger.trace('[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec');\n return;\n }\n var samples = [];\n for (var i = 0; i < nbSamples; i++) {\n var stamp = startDTS + i * frameDuration;\n samples.push({\n unit: silentFrame,\n pts: stamp,\n dts: stamp\n });\n }\n track.samples = samples;\n return this.remuxAudio(track, timeOffset, contiguous, false);\n };\n return MP4Remuxer;\n }();\n function normalizePts(value, reference) {\n var offset;\n if (reference === null) {\n return value;\n }\n if (reference < value) {\n // - 2^33\n offset = -8589934592;\n } else {\n // + 2^33\n offset = 8589934592;\n }\n /* PTS is 33bit (from 0 to 2^33 -1)\n if diff between value and reference is bigger than half of the amplitude (2^32) then it means that\n PTS looping occured. fill the gap */\n while (Math.abs(value - reference) > 4294967296) {\n value += offset;\n }\n return value;\n }\n function findKeyframeIndex(samples) {\n for (var i = 0; i < samples.length; i++) {\n if (samples[i].key) {\n return i;\n }\n }\n return -1;\n }\n function flushTextTrackMetadataCueSamples(track, timeOffset, initPTS, initDTS) {\n var length = track.samples.length;\n if (!length) {\n return;\n }\n var inputTimeScale = track.inputTimeScale;\n for (var index = 0; index < length; index++) {\n var sample = track.samples[index];\n // setting id3 pts, dts to relative time\n // using this._initPTS and this._initDTS to calculate relative time\n sample.pts = normalizePts(sample.pts - initPTS.baseTime * inputTimeScale / initPTS.timescale, timeOffset * inputTimeScale) / inputTimeScale;\n sample.dts = normalizePts(sample.dts - initDTS.baseTime * inputTimeScale / initDTS.timescale, timeOffset * inputTimeScale) / inputTimeScale;\n }\n var samples = track.samples;\n track.samples = [];\n return {\n samples: samples\n };\n }\n function flushTextTrackUserdataCueSamples(track, timeOffset, initPTS) {\n var length = track.samples.length;\n if (!length) {\n return;\n }\n var inputTimeScale = track.inputTimeScale;\n for (var index = 0; index < length; index++) {\n var sample = track.samples[index];\n // setting text pts, dts to relative time\n // using this._initPTS and this._initDTS to calculate relative time\n sample.pts = normalizePts(sample.pts - initPTS.baseTime * inputTimeScale / initPTS.timescale, timeOffset * inputTimeScale) / inputTimeScale;\n }\n track.samples.sort(function (a, b) {\n return a.pts - b.pts;\n });\n var samples = track.samples;\n track.samples = [];\n return {\n samples: samples\n };\n }\n var Mp4Sample = function Mp4Sample(isKeyframe, duration, size, cts) {\n this.size = void 0;\n this.duration = void 0;\n this.cts = void 0;\n this.flags = void 0;\n this.duration = duration;\n this.size = size;\n this.cts = cts;\n this.flags = {\n isLeading: 0,\n isDependedOn: 0,\n hasRedundancy: 0,\n degradPrio: 0,\n dependsOn: isKeyframe ? 2 : 1,\n isNonSync: isKeyframe ? 0 : 1\n };\n };\n\n var PassThroughRemuxer = /*#__PURE__*/function () {\n function PassThroughRemuxer() {\n this.emitInitSegment = false;\n this.audioCodec = void 0;\n this.videoCodec = void 0;\n this.initData = void 0;\n this.initPTS = null;\n this.initTracks = void 0;\n this.lastEndTime = null;\n }\n var _proto = PassThroughRemuxer.prototype;\n _proto.destroy = function destroy() {};\n _proto.resetTimeStamp = function resetTimeStamp(defaultInitPTS) {\n this.initPTS = defaultInitPTS;\n this.lastEndTime = null;\n };\n _proto.resetNextTimestamp = function resetNextTimestamp() {\n this.lastEndTime = null;\n };\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, decryptdata) {\n this.audioCodec = audioCodec;\n this.videoCodec = videoCodec;\n this.generateInitSegment(patchEncyptionData(initSegment, decryptdata));\n this.emitInitSegment = true;\n };\n _proto.generateInitSegment = function generateInitSegment(initSegment) {\n var audioCodec = this.audioCodec,\n videoCodec = this.videoCodec;\n if (!(initSegment != null && initSegment.byteLength)) {\n this.initTracks = undefined;\n this.initData = undefined;\n return;\n }\n var initData = this.initData = parseInitSegment(initSegment);\n\n // Get codec from initSegment or fallback to default\n if (initData.audio) {\n audioCodec = getParsedTrackCodec(initData.audio, ElementaryStreamTypes.AUDIO);\n }\n if (initData.video) {\n videoCodec = getParsedTrackCodec(initData.video, ElementaryStreamTypes.VIDEO);\n }\n var tracks = {};\n if (initData.audio && initData.video) {\n tracks.audiovideo = {\n container: 'video/mp4',\n codec: audioCodec + ',' + videoCodec,\n initSegment: initSegment,\n id: 'main'\n };\n } else if (initData.audio) {\n tracks.audio = {\n container: 'audio/mp4',\n codec: audioCodec,\n initSegment: initSegment,\n id: 'audio'\n };\n } else if (initData.video) {\n tracks.video = {\n container: 'video/mp4',\n codec: videoCodec,\n initSegment: initSegment,\n id: 'main'\n };\n } else {\n logger.warn('[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes.');\n }\n this.initTracks = tracks;\n };\n _proto.remux = function remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset) {\n var _initData, _initData2;\n var initPTS = this.initPTS,\n lastEndTime = this.lastEndTime;\n var result = {\n audio: undefined,\n video: undefined,\n text: textTrack,\n id3: id3Track,\n initSegment: undefined\n };\n\n // If we haven't yet set a lastEndDTS, or it was reset, set it to the provided timeOffset. We want to use the\n // lastEndDTS over timeOffset whenever possible; during progressive playback, the media source will not update\n // the media duration (which is what timeOffset is provided as) before we need to process the next chunk.\n if (!isFiniteNumber(lastEndTime)) {\n lastEndTime = this.lastEndTime = timeOffset || 0;\n }\n\n // The binary segment data is added to the videoTrack in the mp4demuxer. We don't check to see if the data is only\n // audio or video (or both); adding it to video was an arbitrary choice.\n var data = videoTrack.samples;\n if (!(data != null && data.length)) {\n return result;\n }\n var initSegment = {\n initPTS: undefined,\n timescale: 1\n };\n var initData = this.initData;\n if (!((_initData = initData) != null && _initData.length)) {\n this.generateInitSegment(data);\n initData = this.initData;\n }\n if (!((_initData2 = initData) != null && _initData2.length)) {\n // We can't remux if the initSegment could not be generated\n logger.warn('[passthrough-remuxer.ts]: Failed to generate initSegment.');\n return result;\n }\n if (this.emitInitSegment) {\n initSegment.tracks = this.initTracks;\n this.emitInitSegment = false;\n }\n var duration = getDuration(data, initData);\n var startDTS = getStartDTS(initData, data);\n var decodeTime = startDTS === null ? timeOffset : startDTS;\n if (isInvalidInitPts(initPTS, decodeTime, timeOffset, duration) || initSegment.timescale !== initPTS.timescale && accurateTimeOffset) {\n initSegment.initPTS = decodeTime - timeOffset;\n if (initPTS && initPTS.timescale === 1) {\n logger.warn(\"Adjusting initPTS by \" + (initSegment.initPTS - initPTS.baseTime));\n }\n this.initPTS = initPTS = {\n baseTime: initSegment.initPTS,\n timescale: 1\n };\n }\n var startTime = audioTrack ? decodeTime - initPTS.baseTime / initPTS.timescale : lastEndTime;\n var endTime = startTime + duration;\n offsetStartDTS(initData, data, initPTS.baseTime / initPTS.timescale);\n if (duration > 0) {\n this.lastEndTime = endTime;\n } else {\n logger.warn('Duration parsed from mp4 should be greater than zero');\n this.resetNextTimestamp();\n }\n var hasAudio = !!initData.audio;\n var hasVideo = !!initData.video;\n var type = '';\n if (hasAudio) {\n type += 'audio';\n }\n if (hasVideo) {\n type += 'video';\n }\n var track = {\n data1: data,\n startPTS: startTime,\n startDTS: startTime,\n endPTS: endTime,\n endDTS: endTime,\n type: type,\n hasAudio: hasAudio,\n hasVideo: hasVideo,\n nb: 1,\n dropped: 0\n };\n result.audio = track.type === 'audio' ? track : undefined;\n result.video = track.type !== 'audio' ? track : undefined;\n result.initSegment = initSegment;\n result.id3 = flushTextTrackMetadataCueSamples(id3Track, timeOffset, initPTS, initPTS);\n if (textTrack.samples.length) {\n result.text = flushTextTrackUserdataCueSamples(textTrack, timeOffset, initPTS);\n }\n return result;\n };\n return PassThroughRemuxer;\n }();\n function isInvalidInitPts(initPTS, startDTS, timeOffset, duration) {\n if (initPTS === null) {\n return true;\n }\n // InitPTS is invalid when distance from program would be more than segment duration or a minimum of one second\n var minDuration = Math.max(duration, 1);\n var startTime = startDTS - initPTS.baseTime / initPTS.timescale;\n return Math.abs(startTime - timeOffset) > minDuration;\n }\n function getParsedTrackCodec(track, type) {\n var parsedCodec = track == null ? void 0 : track.codec;\n if (parsedCodec && parsedCodec.length > 4) {\n return parsedCodec;\n }\n if (type === ElementaryStreamTypes.AUDIO) {\n if (parsedCodec === 'ec-3' || parsedCodec === 'ac-3' || parsedCodec === 'alac') {\n return parsedCodec;\n }\n if (parsedCodec === 'fLaC' || parsedCodec === 'Opus') {\n // Opting not to get `preferManagedMediaSource` from player config for isSupported() check for simplicity\n var preferManagedMediaSource = false;\n return getCodecCompatibleName(parsedCodec, preferManagedMediaSource);\n }\n var result = 'mp4a.40.5';\n logger.info(\"Parsed audio codec \\\"\" + parsedCodec + \"\\\" or audio object type not handled. Using \\\"\" + result + \"\\\"\");\n return result;\n }\n // Provide defaults based on codec type\n // This allows for some playback of some fmp4 playlists without CODECS defined in manifest\n logger.warn(\"Unhandled video codec \\\"\" + parsedCodec + \"\\\"\");\n if (parsedCodec === 'hvc1' || parsedCodec === 'hev1') {\n return 'hvc1.1.6.L120.90';\n }\n if (parsedCodec === 'av01') {\n return 'av01.0.04M.08';\n }\n return 'avc1.42e01e';\n }\n\n var now;\n // performance.now() not available on WebWorker, at least on Safari Desktop\n try {\n now = self.performance.now.bind(self.performance);\n } catch (err) {\n logger.debug('Unable to use Performance API on this environment');\n now = optionalSelf == null ? void 0 : optionalSelf.Date.now;\n }\n var muxConfig = [{\n demux: MP4Demuxer,\n remux: PassThroughRemuxer\n }, {\n demux: TSDemuxer,\n remux: MP4Remuxer\n }, {\n demux: AACDemuxer,\n remux: MP4Remuxer\n }, {\n demux: MP3Demuxer,\n remux: MP4Remuxer\n }];\n {\n muxConfig.splice(2, 0, {\n demux: AC3Demuxer,\n remux: MP4Remuxer\n });\n }\n var Transmuxer = /*#__PURE__*/function () {\n function Transmuxer(observer, typeSupported, config, vendor, id) {\n this.async = false;\n this.observer = void 0;\n this.typeSupported = void 0;\n this.config = void 0;\n this.vendor = void 0;\n this.id = void 0;\n this.demuxer = void 0;\n this.remuxer = void 0;\n this.decrypter = void 0;\n this.probe = void 0;\n this.decryptionPromise = null;\n this.transmuxConfig = void 0;\n this.currentTransmuxState = void 0;\n this.observer = observer;\n this.typeSupported = typeSupported;\n this.config = config;\n this.vendor = vendor;\n this.id = id;\n }\n var _proto = Transmuxer.prototype;\n _proto.configure = function configure(transmuxConfig) {\n this.transmuxConfig = transmuxConfig;\n if (this.decrypter) {\n this.decrypter.reset();\n }\n };\n _proto.push = function push(data, decryptdata, chunkMeta, state) {\n var _this = this;\n var stats = chunkMeta.transmuxing;\n stats.executeStart = now();\n var uintData = new Uint8Array(data);\n var currentTransmuxState = this.currentTransmuxState,\n transmuxConfig = this.transmuxConfig;\n if (state) {\n this.currentTransmuxState = state;\n }\n var _ref = state || currentTransmuxState,\n contiguous = _ref.contiguous,\n discontinuity = _ref.discontinuity,\n trackSwitch = _ref.trackSwitch,\n accurateTimeOffset = _ref.accurateTimeOffset,\n timeOffset = _ref.timeOffset,\n initSegmentChange = _ref.initSegmentChange;\n var audioCodec = transmuxConfig.audioCodec,\n videoCodec = transmuxConfig.videoCodec,\n defaultInitPts = transmuxConfig.defaultInitPts,\n duration = transmuxConfig.duration,\n initSegmentData = transmuxConfig.initSegmentData;\n var keyData = getEncryptionType(uintData, decryptdata);\n if (keyData && keyData.method === 'AES-128') {\n var decrypter = this.getDecrypter();\n // Software decryption is synchronous; webCrypto is not\n if (decrypter.isSync()) {\n // Software decryption is progressive. Progressive decryption may not return a result on each call. Any cached\n // data is handled in the flush() call\n var decryptedData = decrypter.softwareDecrypt(uintData, keyData.key.buffer, keyData.iv.buffer);\n // For Low-Latency HLS Parts, decrypt in place, since part parsing is expected on push progress\n var loadingParts = chunkMeta.part > -1;\n if (loadingParts) {\n decryptedData = decrypter.flush();\n }\n if (!decryptedData) {\n stats.executeEnd = now();\n return emptyResult(chunkMeta);\n }\n uintData = new Uint8Array(decryptedData);\n } else {\n this.decryptionPromise = decrypter.webCryptoDecrypt(uintData, keyData.key.buffer, keyData.iv.buffer).then(function (decryptedData) {\n // Calling push here is important; if flush() is called while this is still resolving, this ensures that\n // the decrypted data has been transmuxed\n var result = _this.push(decryptedData, null, chunkMeta);\n _this.decryptionPromise = null;\n return result;\n });\n return this.decryptionPromise;\n }\n }\n var resetMuxers = this.needsProbing(discontinuity, trackSwitch);\n if (resetMuxers) {\n var error = this.configureTransmuxer(uintData);\n if (error) {\n logger.warn(\"[transmuxer] \" + error.message);\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: false,\n error: error,\n reason: error.message\n });\n stats.executeEnd = now();\n return emptyResult(chunkMeta);\n }\n }\n if (discontinuity || trackSwitch || initSegmentChange || resetMuxers) {\n this.resetInitSegment(initSegmentData, audioCodec, videoCodec, duration, decryptdata);\n }\n if (discontinuity || initSegmentChange || resetMuxers) {\n this.resetInitialTimestamp(defaultInitPts);\n }\n if (!contiguous) {\n this.resetContiguity();\n }\n var result = this.transmux(uintData, keyData, timeOffset, accurateTimeOffset, chunkMeta);\n var currentState = this.currentTransmuxState;\n currentState.contiguous = true;\n currentState.discontinuity = false;\n currentState.trackSwitch = false;\n stats.executeEnd = now();\n return result;\n }\n\n // Due to data caching, flush calls can produce more than one TransmuxerResult (hence the Array type)\n ;\n _proto.flush = function flush(chunkMeta) {\n var _this2 = this;\n var stats = chunkMeta.transmuxing;\n stats.executeStart = now();\n var decrypter = this.decrypter,\n currentTransmuxState = this.currentTransmuxState,\n decryptionPromise = this.decryptionPromise;\n if (decryptionPromise) {\n // Upon resolution, the decryption promise calls push() and returns its TransmuxerResult up the stack. Therefore\n // only flushing is required for async decryption\n return decryptionPromise.then(function () {\n return _this2.flush(chunkMeta);\n });\n }\n var transmuxResults = [];\n var timeOffset = currentTransmuxState.timeOffset;\n if (decrypter) {\n // The decrypter may have data cached, which needs to be demuxed. In this case we'll have two TransmuxResults\n // This happens in the case that we receive only 1 push call for a segment (either for non-progressive downloads,\n // or for progressive downloads with small segments)\n var decryptedData = decrypter.flush();\n if (decryptedData) {\n // Push always returns a TransmuxerResult if decryptdata is null\n transmuxResults.push(this.push(decryptedData, null, chunkMeta));\n }\n }\n var demuxer = this.demuxer,\n remuxer = this.remuxer;\n if (!demuxer || !remuxer) {\n // If probing failed, then Hls.js has been given content its not able to handle\n stats.executeEnd = now();\n return [emptyResult(chunkMeta)];\n }\n var demuxResultOrPromise = demuxer.flush(timeOffset);\n if (isPromise(demuxResultOrPromise)) {\n // Decrypt final SAMPLE-AES samples\n return demuxResultOrPromise.then(function (demuxResult) {\n _this2.flushRemux(transmuxResults, demuxResult, chunkMeta);\n return transmuxResults;\n });\n }\n this.flushRemux(transmuxResults, demuxResultOrPromise, chunkMeta);\n return transmuxResults;\n };\n _proto.flushRemux = function flushRemux(transmuxResults, demuxResult, chunkMeta) {\n var audioTrack = demuxResult.audioTrack,\n videoTrack = demuxResult.videoTrack,\n id3Track = demuxResult.id3Track,\n textTrack = demuxResult.textTrack;\n var _this$currentTransmux = this.currentTransmuxState,\n accurateTimeOffset = _this$currentTransmux.accurateTimeOffset,\n timeOffset = _this$currentTransmux.timeOffset;\n logger.log(\"[transmuxer.ts]: Flushed fragment \" + chunkMeta.sn + (chunkMeta.part > -1 ? ' p: ' + chunkMeta.part : '') + \" of level \" + chunkMeta.level);\n var remuxResult = this.remuxer.remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset, true, this.id);\n transmuxResults.push({\n remuxResult: remuxResult,\n chunkMeta: chunkMeta\n });\n chunkMeta.transmuxing.executeEnd = now();\n };\n _proto.resetInitialTimestamp = function resetInitialTimestamp(defaultInitPts) {\n var demuxer = this.demuxer,\n remuxer = this.remuxer;\n if (!demuxer || !remuxer) {\n return;\n }\n demuxer.resetTimeStamp(defaultInitPts);\n remuxer.resetTimeStamp(defaultInitPts);\n };\n _proto.resetContiguity = function resetContiguity() {\n var demuxer = this.demuxer,\n remuxer = this.remuxer;\n if (!demuxer || !remuxer) {\n return;\n }\n demuxer.resetContiguity();\n remuxer.resetNextTimestamp();\n };\n _proto.resetInitSegment = function resetInitSegment(initSegmentData, audioCodec, videoCodec, trackDuration, decryptdata) {\n var demuxer = this.demuxer,\n remuxer = this.remuxer;\n if (!demuxer || !remuxer) {\n return;\n }\n demuxer.resetInitSegment(initSegmentData, audioCodec, videoCodec, trackDuration);\n remuxer.resetInitSegment(initSegmentData, audioCodec, videoCodec, decryptdata);\n };\n _proto.destroy = function destroy() {\n if (this.demuxer) {\n this.demuxer.destroy();\n this.demuxer = undefined;\n }\n if (this.remuxer) {\n this.remuxer.destroy();\n this.remuxer = undefined;\n }\n };\n _proto.transmux = function transmux(data, keyData, timeOffset, accurateTimeOffset, chunkMeta) {\n var result;\n if (keyData && keyData.method === 'SAMPLE-AES') {\n result = this.transmuxSampleAes(data, keyData, timeOffset, accurateTimeOffset, chunkMeta);\n } else {\n result = this.transmuxUnencrypted(data, timeOffset, accurateTimeOffset, chunkMeta);\n }\n return result;\n };\n _proto.transmuxUnencrypted = function transmuxUnencrypted(data, timeOffset, accurateTimeOffset, chunkMeta) {\n var _demux = this.demuxer.demux(data, timeOffset, false, !this.config.progressive),\n audioTrack = _demux.audioTrack,\n videoTrack = _demux.videoTrack,\n id3Track = _demux.id3Track,\n textTrack = _demux.textTrack;\n var remuxResult = this.remuxer.remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset, false, this.id);\n return {\n remuxResult: remuxResult,\n chunkMeta: chunkMeta\n };\n };\n _proto.transmuxSampleAes = function transmuxSampleAes(data, decryptData, timeOffset, accurateTimeOffset, chunkMeta) {\n var _this3 = this;\n return this.demuxer.demuxSampleAes(data, decryptData, timeOffset).then(function (demuxResult) {\n var remuxResult = _this3.remuxer.remux(demuxResult.audioTrack, demuxResult.videoTrack, demuxResult.id3Track, demuxResult.textTrack, timeOffset, accurateTimeOffset, false, _this3.id);\n return {\n remuxResult: remuxResult,\n chunkMeta: chunkMeta\n };\n });\n };\n _proto.configureTransmuxer = function configureTransmuxer(data) {\n var config = this.config,\n observer = this.observer,\n typeSupported = this.typeSupported,\n vendor = this.vendor;\n // probe for content type\n var mux;\n for (var i = 0, len = muxConfig.length; i < len; i++) {\n var _muxConfig$i$demux;\n if ((_muxConfig$i$demux = muxConfig[i].demux) != null && _muxConfig$i$demux.probe(data)) {\n mux = muxConfig[i];\n break;\n }\n }\n if (!mux) {\n return new Error('Failed to find demuxer by probing fragment data');\n }\n // so let's check that current remuxer and demuxer are still valid\n var demuxer = this.demuxer;\n var remuxer = this.remuxer;\n var Remuxer = mux.remux;\n var Demuxer = mux.demux;\n if (!remuxer || !(remuxer instanceof Remuxer)) {\n this.remuxer = new Remuxer(observer, config, typeSupported, vendor);\n }\n if (!demuxer || !(demuxer instanceof Demuxer)) {\n this.demuxer = new Demuxer(observer, config, typeSupported);\n this.probe = Demuxer.probe;\n }\n };\n _proto.needsProbing = function needsProbing(discontinuity, trackSwitch) {\n // in case of continuity change, or track switch\n // we might switch from content type (AAC container to TS container, or TS to fmp4 for example)\n return !this.demuxer || !this.remuxer || discontinuity || trackSwitch;\n };\n _proto.getDecrypter = function getDecrypter() {\n var decrypter = this.decrypter;\n if (!decrypter) {\n decrypter = this.decrypter = new Decrypter(this.config);\n }\n return decrypter;\n };\n return Transmuxer;\n }();\n function getEncryptionType(data, decryptData) {\n var encryptionType = null;\n if (data.byteLength > 0 && (decryptData == null ? void 0 : decryptData.key) != null && decryptData.iv !== null && decryptData.method != null) {\n encryptionType = decryptData;\n }\n return encryptionType;\n }\n var emptyResult = function emptyResult(chunkMeta) {\n return {\n remuxResult: {},\n chunkMeta: chunkMeta\n };\n };\n function isPromise(p) {\n return 'then' in p && p.then instanceof Function;\n }\n var TransmuxConfig = function TransmuxConfig(audioCodec, videoCodec, initSegmentData, duration, defaultInitPts) {\n this.audioCodec = void 0;\n this.videoCodec = void 0;\n this.initSegmentData = void 0;\n this.duration = void 0;\n this.defaultInitPts = void 0;\n this.audioCodec = audioCodec;\n this.videoCodec = videoCodec;\n this.initSegmentData = initSegmentData;\n this.duration = duration;\n this.defaultInitPts = defaultInitPts || null;\n };\n var TransmuxState = function TransmuxState(discontinuity, contiguous, accurateTimeOffset, trackSwitch, timeOffset, initSegmentChange) {\n this.discontinuity = void 0;\n this.contiguous = void 0;\n this.accurateTimeOffset = void 0;\n this.trackSwitch = void 0;\n this.timeOffset = void 0;\n this.initSegmentChange = void 0;\n this.discontinuity = discontinuity;\n this.contiguous = contiguous;\n this.accurateTimeOffset = accurateTimeOffset;\n this.trackSwitch = trackSwitch;\n this.timeOffset = timeOffset;\n this.initSegmentChange = initSegmentChange;\n };\n\n var eventemitter3 = {exports: {}};\n\n (function (module) {\n\n \tvar has = Object.prototype.hasOwnProperty\n \t , prefix = '~';\n\n \t/**\n \t * Constructor to create a storage for our `EE` objects.\n \t * An `Events` instance is a plain object whose properties are event names.\n \t *\n \t * @constructor\n \t * @private\n \t */\n \tfunction Events() {}\n\n \t//\n \t// We try to not inherit from `Object.prototype`. In some engines creating an\n \t// instance in this way is faster than calling `Object.create(null)` directly.\n \t// If `Object.create(null)` is not supported we prefix the event names with a\n \t// character to make sure that the built-in object properties are not\n \t// overridden or used as an attack vector.\n \t//\n \tif (Object.create) {\n \t Events.prototype = Object.create(null);\n\n \t //\n \t // This hack is needed because the `__proto__` property is still inherited in\n \t // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n \t //\n \t if (!new Events().__proto__) prefix = false;\n \t}\n\n \t/**\n \t * Representation of a single event listener.\n \t *\n \t * @param {Function} fn The listener function.\n \t * @param {*} context The context to invoke the listener with.\n \t * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n \t * @constructor\n \t * @private\n \t */\n \tfunction EE(fn, context, once) {\n \t this.fn = fn;\n \t this.context = context;\n \t this.once = once || false;\n \t}\n\n \t/**\n \t * Add a listener for a given event.\n \t *\n \t * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n \t * @param {(String|Symbol)} event The event name.\n \t * @param {Function} fn The listener function.\n \t * @param {*} context The context to invoke the listener with.\n \t * @param {Boolean} once Specify if the listener is a one-time listener.\n \t * @returns {EventEmitter}\n \t * @private\n \t */\n \tfunction addListener(emitter, event, fn, context, once) {\n \t if (typeof fn !== 'function') {\n \t throw new TypeError('The listener must be a function');\n \t }\n\n \t var listener = new EE(fn, context || emitter, once)\n \t , evt = prefix ? prefix + event : event;\n\n \t if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n \t else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n \t else emitter._events[evt] = [emitter._events[evt], listener];\n\n \t return emitter;\n \t}\n\n \t/**\n \t * Clear event by name.\n \t *\n \t * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n \t * @param {(String|Symbol)} evt The Event name.\n \t * @private\n \t */\n \tfunction clearEvent(emitter, evt) {\n \t if (--emitter._eventsCount === 0) emitter._events = new Events();\n \t else delete emitter._events[evt];\n \t}\n\n \t/**\n \t * Minimal `EventEmitter` interface that is molded against the Node.js\n \t * `EventEmitter` interface.\n \t *\n \t * @constructor\n \t * @public\n \t */\n \tfunction EventEmitter() {\n \t this._events = new Events();\n \t this._eventsCount = 0;\n \t}\n\n \t/**\n \t * Return an array listing the events for which the emitter has registered\n \t * listeners.\n \t *\n \t * @returns {Array}\n \t * @public\n \t */\n \tEventEmitter.prototype.eventNames = function eventNames() {\n \t var names = []\n \t , events\n \t , name;\n\n \t if (this._eventsCount === 0) return names;\n\n \t for (name in (events = this._events)) {\n \t if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n \t }\n\n \t if (Object.getOwnPropertySymbols) {\n \t return names.concat(Object.getOwnPropertySymbols(events));\n \t }\n\n \t return names;\n \t};\n\n \t/**\n \t * Return the listeners registered for a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @returns {Array} The registered listeners.\n \t * @public\n \t */\n \tEventEmitter.prototype.listeners = function listeners(event) {\n \t var evt = prefix ? prefix + event : event\n \t , handlers = this._events[evt];\n\n \t if (!handlers) return [];\n \t if (handlers.fn) return [handlers.fn];\n\n \t for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n \t ee[i] = handlers[i].fn;\n \t }\n\n \t return ee;\n \t};\n\n \t/**\n \t * Return the number of listeners listening to a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @returns {Number} The number of listeners.\n \t * @public\n \t */\n \tEventEmitter.prototype.listenerCount = function listenerCount(event) {\n \t var evt = prefix ? prefix + event : event\n \t , listeners = this._events[evt];\n\n \t if (!listeners) return 0;\n \t if (listeners.fn) return 1;\n \t return listeners.length;\n \t};\n\n \t/**\n \t * Calls each of the listeners registered for a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @returns {Boolean} `true` if the event had listeners, else `false`.\n \t * @public\n \t */\n \tEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n \t var evt = prefix ? prefix + event : event;\n\n \t if (!this._events[evt]) return false;\n\n \t var listeners = this._events[evt]\n \t , len = arguments.length\n \t , args\n \t , i;\n\n \t if (listeners.fn) {\n \t if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n \t switch (len) {\n \t case 1: return listeners.fn.call(listeners.context), true;\n \t case 2: return listeners.fn.call(listeners.context, a1), true;\n \t case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n \t case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n \t case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n \t case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n \t }\n\n \t for (i = 1, args = new Array(len -1); i < len; i++) {\n \t args[i - 1] = arguments[i];\n \t }\n\n \t listeners.fn.apply(listeners.context, args);\n \t } else {\n \t var length = listeners.length\n \t , j;\n\n \t for (i = 0; i < length; i++) {\n \t if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n \t switch (len) {\n \t case 1: listeners[i].fn.call(listeners[i].context); break;\n \t case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n \t case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n \t case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n \t default:\n \t if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n \t args[j - 1] = arguments[j];\n \t }\n\n \t listeners[i].fn.apply(listeners[i].context, args);\n \t }\n \t }\n \t }\n\n \t return true;\n \t};\n\n \t/**\n \t * Add a listener for a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @param {Function} fn The listener function.\n \t * @param {*} [context=this] The context to invoke the listener with.\n \t * @returns {EventEmitter} `this`.\n \t * @public\n \t */\n \tEventEmitter.prototype.on = function on(event, fn, context) {\n \t return addListener(this, event, fn, context, false);\n \t};\n\n \t/**\n \t * Add a one-time listener for a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @param {Function} fn The listener function.\n \t * @param {*} [context=this] The context to invoke the listener with.\n \t * @returns {EventEmitter} `this`.\n \t * @public\n \t */\n \tEventEmitter.prototype.once = function once(event, fn, context) {\n \t return addListener(this, event, fn, context, true);\n \t};\n\n \t/**\n \t * Remove the listeners of a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @param {Function} fn Only remove the listeners that match this function.\n \t * @param {*} context Only remove the listeners that have this context.\n \t * @param {Boolean} once Only remove one-time listeners.\n \t * @returns {EventEmitter} `this`.\n \t * @public\n \t */\n \tEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n \t var evt = prefix ? prefix + event : event;\n\n \t if (!this._events[evt]) return this;\n \t if (!fn) {\n \t clearEvent(this, evt);\n \t return this;\n \t }\n\n \t var listeners = this._events[evt];\n\n \t if (listeners.fn) {\n \t if (\n \t listeners.fn === fn &&\n \t (!once || listeners.once) &&\n \t (!context || listeners.context === context)\n \t ) {\n \t clearEvent(this, evt);\n \t }\n \t } else {\n \t for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n \t if (\n \t listeners[i].fn !== fn ||\n \t (once && !listeners[i].once) ||\n \t (context && listeners[i].context !== context)\n \t ) {\n \t events.push(listeners[i]);\n \t }\n \t }\n\n \t //\n \t // Reset the array, or remove it completely if we have no more listeners.\n \t //\n \t if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n \t else clearEvent(this, evt);\n \t }\n\n \t return this;\n \t};\n\n \t/**\n \t * Remove all listeners, or those of the specified event.\n \t *\n \t * @param {(String|Symbol)} [event] The event name.\n \t * @returns {EventEmitter} `this`.\n \t * @public\n \t */\n \tEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n \t var evt;\n\n \t if (event) {\n \t evt = prefix ? prefix + event : event;\n \t if (this._events[evt]) clearEvent(this, evt);\n \t } else {\n \t this._events = new Events();\n \t this._eventsCount = 0;\n \t }\n\n \t return this;\n \t};\n\n \t//\n \t// Alias methods names because people roll like that.\n \t//\n \tEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n \tEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n \t//\n \t// Expose the prefix.\n \t//\n \tEventEmitter.prefixed = prefix;\n\n \t//\n \t// Allow `EventEmitter` to be imported as module namespace.\n \t//\n \tEventEmitter.EventEmitter = EventEmitter;\n\n \t//\n \t// Expose the module.\n \t//\n \t{\n \t module.exports = EventEmitter;\n \t} \n } (eventemitter3));\n\n var eventemitter3Exports = eventemitter3.exports;\n var EventEmitter = /*@__PURE__*/getDefaultExportFromCjs(eventemitter3Exports);\n\n if (typeof __IN_WORKER__ !== 'undefined' && __IN_WORKER__) {\n startWorker(self);\n }\n function startWorker(self) {\n var observer = new EventEmitter();\n var forwardMessage = function forwardMessage(ev, data) {\n self.postMessage({\n event: ev,\n data: data\n });\n };\n\n // forward events to main thread\n observer.on(Events.FRAG_DECRYPTED, forwardMessage);\n observer.on(Events.ERROR, forwardMessage);\n\n // forward logger events to main thread\n var forwardWorkerLogs = function forwardWorkerLogs() {\n var _loop = function _loop(logFn) {\n var func = function func(message) {\n forwardMessage('workerLog', {\n logType: logFn,\n message: message\n });\n };\n logger[logFn] = func;\n };\n for (var logFn in logger) {\n _loop(logFn);\n }\n };\n self.addEventListener('message', function (ev) {\n var data = ev.data;\n switch (data.cmd) {\n case 'init':\n {\n var config = JSON.parse(data.config);\n self.transmuxer = new Transmuxer(observer, data.typeSupported, config, data.vendor, data.id);\n enableLogs(config.debug, data.id);\n forwardWorkerLogs();\n forwardMessage('init', null);\n break;\n }\n case 'configure':\n {\n self.transmuxer.configure(data.config);\n break;\n }\n case 'demux':\n {\n var transmuxResult = self.transmuxer.push(data.data, data.decryptdata, data.chunkMeta, data.state);\n if (isPromise(transmuxResult)) {\n self.transmuxer.async = true;\n transmuxResult.then(function (data) {\n emitTransmuxComplete(self, data);\n }).catch(function (error) {\n forwardMessage(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n chunkMeta: data.chunkMeta,\n fatal: false,\n error: error,\n err: error,\n reason: \"transmuxer-worker push error\"\n });\n });\n } else {\n self.transmuxer.async = false;\n emitTransmuxComplete(self, transmuxResult);\n }\n break;\n }\n case 'flush':\n {\n var id = data.chunkMeta;\n var _transmuxResult = self.transmuxer.flush(id);\n var asyncFlush = isPromise(_transmuxResult);\n if (asyncFlush || self.transmuxer.async) {\n if (!isPromise(_transmuxResult)) {\n _transmuxResult = Promise.resolve(_transmuxResult);\n }\n _transmuxResult.then(function (results) {\n handleFlushResult(self, results, id);\n }).catch(function (error) {\n forwardMessage(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n chunkMeta: data.chunkMeta,\n fatal: false,\n error: error,\n err: error,\n reason: \"transmuxer-worker flush error\"\n });\n });\n } else {\n handleFlushResult(self, _transmuxResult, id);\n }\n break;\n }\n }\n });\n }\n function emitTransmuxComplete(self, transmuxResult) {\n if (isEmptyResult(transmuxResult.remuxResult)) {\n return false;\n }\n var transferable = [];\n var _transmuxResult$remux = transmuxResult.remuxResult,\n audio = _transmuxResult$remux.audio,\n video = _transmuxResult$remux.video;\n if (audio) {\n addToTransferable(transferable, audio);\n }\n if (video) {\n addToTransferable(transferable, video);\n }\n self.postMessage({\n event: 'transmuxComplete',\n data: transmuxResult\n }, transferable);\n return true;\n }\n\n // Converts data to a transferable object https://developers.google.com/web/updates/2011/12/Transferable-Objects-Lightning-Fast)\n // in order to minimize message passing overhead\n function addToTransferable(transferable, track) {\n if (track.data1) {\n transferable.push(track.data1.buffer);\n }\n if (track.data2) {\n transferable.push(track.data2.buffer);\n }\n }\n function handleFlushResult(self, results, chunkMeta) {\n var parsed = results.reduce(function (parsed, result) {\n return emitTransmuxComplete(self, result) || parsed;\n }, false);\n if (!parsed) {\n // Emit at least one \"transmuxComplete\" message even if media is not found to update stream-controller state to PARSING\n self.postMessage({\n event: 'transmuxComplete',\n data: results[0]\n });\n }\n self.postMessage({\n event: 'flush',\n data: chunkMeta\n });\n }\n function isEmptyResult(remuxResult) {\n return !remuxResult.audio && !remuxResult.video && !remuxResult.text && !remuxResult.id3 && !remuxResult.initSegment;\n }\n\n // ensure the worker ends up in the bundle\n // If the worker should not be included this gets aliased to empty.js\n function hasUMDWorker() {\n return typeof __HLS_WORKER_BUNDLE__ === 'function';\n }\n function injectWorker() {\n var blob = new self.Blob([\"var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(\" + __HLS_WORKER_BUNDLE__.toString() + \")(true);\"], {\n type: 'text/javascript'\n });\n var objectURL = self.URL.createObjectURL(blob);\n var worker = new self.Worker(objectURL);\n return {\n worker: worker,\n objectURL: objectURL\n };\n }\n function loadWorker(path) {\n var scriptURL = new self.URL(path, self.location.href).href;\n var worker = new self.Worker(scriptURL);\n return {\n worker: worker,\n scriptURL: scriptURL\n };\n }\n\n var TransmuxerInterface = /*#__PURE__*/function () {\n function TransmuxerInterface(hls, id, onTransmuxComplete, onFlush) {\n var _this = this;\n this.error = null;\n this.hls = void 0;\n this.id = void 0;\n this.observer = void 0;\n this.frag = null;\n this.part = null;\n this.useWorker = void 0;\n this.workerContext = null;\n this.onwmsg = void 0;\n this.transmuxer = null;\n this.onTransmuxComplete = void 0;\n this.onFlush = void 0;\n var config = hls.config;\n this.hls = hls;\n this.id = id;\n this.useWorker = !!config.enableWorker;\n this.onTransmuxComplete = onTransmuxComplete;\n this.onFlush = onFlush;\n var forwardMessage = function forwardMessage(ev, data) {\n data = data || {};\n data.frag = _this.frag;\n data.id = _this.id;\n if (ev === Events.ERROR) {\n _this.error = data.error;\n }\n _this.hls.trigger(ev, data);\n };\n\n // forward events to main thread\n this.observer = new EventEmitter();\n this.observer.on(Events.FRAG_DECRYPTED, forwardMessage);\n this.observer.on(Events.ERROR, forwardMessage);\n var MediaSource = getMediaSource(config.preferManagedMediaSource) || {\n isTypeSupported: function isTypeSupported() {\n return false;\n }\n };\n var m2tsTypeSupported = {\n mpeg: MediaSource.isTypeSupported('audio/mpeg'),\n mp3: MediaSource.isTypeSupported('audio/mp4; codecs=\"mp3\"'),\n ac3: MediaSource.isTypeSupported('audio/mp4; codecs=\"ac-3\"') \n };\n\n // navigator.vendor is not always available in Web Worker\n // refer to https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/navigator\n var vendor = navigator.vendor;\n if (this.useWorker && typeof Worker !== 'undefined') {\n var canCreateWorker = config.workerPath || hasUMDWorker();\n if (canCreateWorker) {\n try {\n if (config.workerPath) {\n logger.log(\"loading Web Worker \" + config.workerPath + \" for \\\"\" + id + \"\\\"\");\n this.workerContext = loadWorker(config.workerPath);\n } else {\n logger.log(\"injecting Web Worker for \\\"\" + id + \"\\\"\");\n this.workerContext = injectWorker();\n }\n this.onwmsg = function (ev) {\n return _this.onWorkerMessage(ev);\n };\n var worker = this.workerContext.worker;\n worker.addEventListener('message', this.onwmsg);\n worker.onerror = function (event) {\n var error = new Error(event.message + \" (\" + event.filename + \":\" + event.lineno + \")\");\n config.enableWorker = false;\n logger.warn(\"Error in \\\"\" + id + \"\\\" Web Worker, fallback to inline\");\n _this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.OTHER_ERROR,\n details: ErrorDetails.INTERNAL_EXCEPTION,\n fatal: false,\n event: 'demuxerWorker',\n error: error\n });\n };\n worker.postMessage({\n cmd: 'init',\n typeSupported: m2tsTypeSupported,\n vendor: vendor,\n id: id,\n config: JSON.stringify(config)\n });\n } catch (err) {\n logger.warn(\"Error setting up \\\"\" + id + \"\\\" Web Worker, fallback to inline\", err);\n this.resetWorker();\n this.error = null;\n this.transmuxer = new Transmuxer(this.observer, m2tsTypeSupported, config, vendor, id);\n }\n return;\n }\n }\n this.transmuxer = new Transmuxer(this.observer, m2tsTypeSupported, config, vendor, id);\n }\n var _proto = TransmuxerInterface.prototype;\n _proto.resetWorker = function resetWorker() {\n if (this.workerContext) {\n var _this$workerContext = this.workerContext,\n worker = _this$workerContext.worker,\n objectURL = _this$workerContext.objectURL;\n if (objectURL) {\n // revoke the Object URL that was used to create transmuxer worker, so as not to leak it\n self.URL.revokeObjectURL(objectURL);\n }\n worker.removeEventListener('message', this.onwmsg);\n worker.onerror = null;\n worker.terminate();\n this.workerContext = null;\n }\n };\n _proto.destroy = function destroy() {\n if (this.workerContext) {\n this.resetWorker();\n this.onwmsg = undefined;\n } else {\n var transmuxer = this.transmuxer;\n if (transmuxer) {\n transmuxer.destroy();\n this.transmuxer = null;\n }\n }\n var observer = this.observer;\n if (observer) {\n observer.removeAllListeners();\n }\n this.frag = null;\n // @ts-ignore\n this.observer = null;\n // @ts-ignore\n this.hls = null;\n };\n _proto.push = function push(data, initSegmentData, audioCodec, videoCodec, frag, part, duration, accurateTimeOffset, chunkMeta, defaultInitPTS) {\n var _frag$initSegment,\n _lastFrag$initSegment,\n _this2 = this;\n chunkMeta.transmuxing.start = self.performance.now();\n var transmuxer = this.transmuxer;\n var timeOffset = part ? part.start : frag.start;\n // TODO: push \"clear-lead\" decrypt data for unencrypted fragments in streams with encrypted ones\n var decryptdata = frag.decryptdata;\n var lastFrag = this.frag;\n var discontinuity = !(lastFrag && frag.cc === lastFrag.cc);\n var trackSwitch = !(lastFrag && chunkMeta.level === lastFrag.level);\n var snDiff = lastFrag ? chunkMeta.sn - lastFrag.sn : -1;\n var partDiff = this.part ? chunkMeta.part - this.part.index : -1;\n var progressive = snDiff === 0 && chunkMeta.id > 1 && chunkMeta.id === (lastFrag == null ? void 0 : lastFrag.stats.chunkCount);\n var contiguous = !trackSwitch && (snDiff === 1 || snDiff === 0 && (partDiff === 1 || progressive && partDiff <= 0));\n var now = self.performance.now();\n if (trackSwitch || snDiff || frag.stats.parsing.start === 0) {\n frag.stats.parsing.start = now;\n }\n if (part && (partDiff || !contiguous)) {\n part.stats.parsing.start = now;\n }\n var initSegmentChange = !(lastFrag && ((_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.url) === ((_lastFrag$initSegment = lastFrag.initSegment) == null ? void 0 : _lastFrag$initSegment.url));\n var state = new TransmuxState(discontinuity, contiguous, accurateTimeOffset, trackSwitch, timeOffset, initSegmentChange);\n if (!contiguous || discontinuity || initSegmentChange) {\n logger.log(\"[transmuxer-interface, \" + frag.type + \"]: Starting new transmux session for sn: \" + chunkMeta.sn + \" p: \" + chunkMeta.part + \" level: \" + chunkMeta.level + \" id: \" + chunkMeta.id + \"\\n discontinuity: \" + discontinuity + \"\\n trackSwitch: \" + trackSwitch + \"\\n contiguous: \" + contiguous + \"\\n accurateTimeOffset: \" + accurateTimeOffset + \"\\n timeOffset: \" + timeOffset + \"\\n initSegmentChange: \" + initSegmentChange);\n var config = new TransmuxConfig(audioCodec, videoCodec, initSegmentData, duration, defaultInitPTS);\n this.configureTransmuxer(config);\n }\n this.frag = frag;\n this.part = part;\n\n // Frags with sn of 'initSegment' are not transmuxed\n if (this.workerContext) {\n // post fragment payload as transferable objects for ArrayBuffer (no copy)\n this.workerContext.worker.postMessage({\n cmd: 'demux',\n data: data,\n decryptdata: decryptdata,\n chunkMeta: chunkMeta,\n state: state\n }, data instanceof ArrayBuffer ? [data] : []);\n } else if (transmuxer) {\n var _transmuxResult = transmuxer.push(data, decryptdata, chunkMeta, state);\n if (isPromise(_transmuxResult)) {\n transmuxer.async = true;\n _transmuxResult.then(function (data) {\n _this2.handleTransmuxComplete(data);\n }).catch(function (error) {\n _this2.transmuxerError(error, chunkMeta, 'transmuxer-interface push error');\n });\n } else {\n transmuxer.async = false;\n this.handleTransmuxComplete(_transmuxResult);\n }\n }\n };\n _proto.flush = function flush(chunkMeta) {\n var _this3 = this;\n chunkMeta.transmuxing.start = self.performance.now();\n var transmuxer = this.transmuxer;\n if (this.workerContext) {\n this.workerContext.worker.postMessage({\n cmd: 'flush',\n chunkMeta: chunkMeta\n });\n } else if (transmuxer) {\n var _transmuxResult2 = transmuxer.flush(chunkMeta);\n var asyncFlush = isPromise(_transmuxResult2);\n if (asyncFlush || transmuxer.async) {\n if (!isPromise(_transmuxResult2)) {\n _transmuxResult2 = Promise.resolve(_transmuxResult2);\n }\n _transmuxResult2.then(function (data) {\n _this3.handleFlushResult(data, chunkMeta);\n }).catch(function (error) {\n _this3.transmuxerError(error, chunkMeta, 'transmuxer-interface flush error');\n });\n } else {\n this.handleFlushResult(_transmuxResult2, chunkMeta);\n }\n }\n };\n _proto.transmuxerError = function transmuxerError(error, chunkMeta, reason) {\n if (!this.hls) {\n return;\n }\n this.error = error;\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n chunkMeta: chunkMeta,\n fatal: false,\n error: error,\n err: error,\n reason: reason\n });\n };\n _proto.handleFlushResult = function handleFlushResult(results, chunkMeta) {\n var _this4 = this;\n results.forEach(function (result) {\n _this4.handleTransmuxComplete(result);\n });\n this.onFlush(chunkMeta);\n };\n _proto.onWorkerMessage = function onWorkerMessage(ev) {\n var data = ev.data;\n var hls = this.hls;\n switch (data.event) {\n case 'init':\n {\n var _this$workerContext2;\n var objectURL = (_this$workerContext2 = this.workerContext) == null ? void 0 : _this$workerContext2.objectURL;\n if (objectURL) {\n // revoke the Object URL that was used to create transmuxer worker, so as not to leak it\n self.URL.revokeObjectURL(objectURL);\n }\n break;\n }\n case 'transmuxComplete':\n {\n this.handleTransmuxComplete(data.data);\n break;\n }\n case 'flush':\n {\n this.onFlush(data.data);\n break;\n }\n\n // pass logs from the worker thread to the main logger\n case 'workerLog':\n if (logger[data.data.logType]) {\n logger[data.data.logType](data.data.message);\n }\n break;\n default:\n {\n data.data = data.data || {};\n data.data.frag = this.frag;\n data.data.id = this.id;\n hls.trigger(data.event, data.data);\n break;\n }\n }\n };\n _proto.configureTransmuxer = function configureTransmuxer(config) {\n var transmuxer = this.transmuxer;\n if (this.workerContext) {\n this.workerContext.worker.postMessage({\n cmd: 'configure',\n config: config\n });\n } else if (transmuxer) {\n transmuxer.configure(config);\n }\n };\n _proto.handleTransmuxComplete = function handleTransmuxComplete(result) {\n result.chunkMeta.transmuxing.end = self.performance.now();\n this.onTransmuxComplete(result);\n };\n return TransmuxerInterface;\n }();\n\n function subtitleOptionsIdentical(trackList1, trackList2) {\n if (trackList1.length !== trackList2.length) {\n return false;\n }\n for (var i = 0; i < trackList1.length; i++) {\n if (!mediaAttributesIdentical(trackList1[i].attrs, trackList2[i].attrs)) {\n return false;\n }\n }\n return true;\n }\n function mediaAttributesIdentical(attrs1, attrs2, customAttributes) {\n // Media options with the same rendition ID must be bit identical\n var stableRenditionId = attrs1['STABLE-RENDITION-ID'];\n if (stableRenditionId && !customAttributes) {\n return stableRenditionId === attrs2['STABLE-RENDITION-ID'];\n }\n // When rendition ID is not present, compare attributes\n return !(customAttributes || ['LANGUAGE', 'NAME', 'CHARACTERISTICS', 'AUTOSELECT', 'DEFAULT', 'FORCED', 'ASSOC-LANGUAGE']).some(function (subtitleAttribute) {\n return attrs1[subtitleAttribute] !== attrs2[subtitleAttribute];\n });\n }\n function subtitleTrackMatchesTextTrack(subtitleTrack, textTrack) {\n return textTrack.label.toLowerCase() === subtitleTrack.name.toLowerCase() && (!textTrack.language || textTrack.language.toLowerCase() === (subtitleTrack.lang || '').toLowerCase());\n }\n\n var TICK_INTERVAL$2 = 100; // how often to tick in ms\n var AudioStreamController = /*#__PURE__*/function (_BaseStreamController) {\n _inheritsLoose(AudioStreamController, _BaseStreamController);\n function AudioStreamController(hls, fragmentTracker, keyLoader) {\n var _this;\n _this = _BaseStreamController.call(this, hls, fragmentTracker, keyLoader, '[audio-stream-controller]', PlaylistLevelType.AUDIO) || this;\n _this.videoBuffer = null;\n _this.videoTrackCC = -1;\n _this.waitingVideoCC = -1;\n _this.bufferedTrack = null;\n _this.switchingTrack = null;\n _this.trackId = -1;\n _this.waitingData = null;\n _this.mainDetails = null;\n _this.flushing = false;\n _this.bufferFlushed = false;\n _this.cachedTrackLoadedData = null;\n _this._registerListeners();\n return _this;\n }\n var _proto = AudioStreamController.prototype;\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n this._unregisterListeners();\n _BaseStreamController.prototype.onHandlerDestroying.call(this);\n this.mainDetails = null;\n this.bufferedTrack = null;\n this.switchingTrack = null;\n };\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.AUDIO_TRACKS_UPDATED, this.onAudioTracksUpdated, this);\n hls.on(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);\n hls.on(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);\n hls.on(Events.ERROR, this.onError, this);\n hls.on(Events.BUFFER_RESET, this.onBufferReset, this);\n hls.on(Events.BUFFER_CREATED, this.onBufferCreated, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.on(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);\n hls.on(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.AUDIO_TRACKS_UPDATED, this.onAudioTracksUpdated, this);\n hls.off(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);\n hls.off(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);\n hls.off(Events.ERROR, this.onError, this);\n hls.off(Events.BUFFER_RESET, this.onBufferReset, this);\n hls.off(Events.BUFFER_CREATED, this.onBufferCreated, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.off(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);\n hls.off(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n }\n\n // INIT_PTS_FOUND is triggered when the video track parsed in the stream-controller has a new PTS value\n ;\n _proto.onInitPtsFound = function onInitPtsFound(event, _ref) {\n var frag = _ref.frag,\n id = _ref.id,\n initPTS = _ref.initPTS,\n timescale = _ref.timescale;\n // Always update the new INIT PTS\n // Can change due level switch\n if (id === 'main') {\n var cc = frag.cc;\n this.initPTS[frag.cc] = {\n baseTime: initPTS,\n timescale: timescale\n };\n this.log(\"InitPTS for cc: \" + cc + \" found from main: \" + initPTS);\n this.videoTrackCC = cc;\n // If we are waiting, tick immediately to unblock audio fragment transmuxing\n if (this.state === State.WAITING_INIT_PTS) {\n this.tick();\n }\n }\n };\n _proto.startLoad = function startLoad(startPosition) {\n if (!this.levels) {\n this.startPosition = startPosition;\n this.state = State.STOPPED;\n return;\n }\n var lastCurrentTime = this.lastCurrentTime;\n this.stopLoad();\n this.setInterval(TICK_INTERVAL$2);\n if (lastCurrentTime > 0 && startPosition === -1) {\n this.log(\"Override startPosition with lastCurrentTime @\" + lastCurrentTime.toFixed(3));\n startPosition = lastCurrentTime;\n this.state = State.IDLE;\n } else {\n this.loadedmetadata = false;\n this.state = State.WAITING_TRACK;\n }\n this.nextLoadPosition = this.startPosition = this.lastCurrentTime = startPosition;\n this.tick();\n };\n _proto.doTick = function doTick() {\n switch (this.state) {\n case State.IDLE:\n this.doTickIdle();\n break;\n case State.WAITING_TRACK:\n {\n var _levels$trackId;\n var levels = this.levels,\n trackId = this.trackId;\n var details = levels == null ? void 0 : (_levels$trackId = levels[trackId]) == null ? void 0 : _levels$trackId.details;\n if (details) {\n if (this.waitForCdnTuneIn(details)) {\n break;\n }\n this.state = State.WAITING_INIT_PTS;\n }\n break;\n }\n case State.FRAG_LOADING_WAITING_RETRY:\n {\n var _this$media;\n var now = performance.now();\n var retryDate = this.retryDate;\n // if current time is gt than retryDate, or if media seeking let's switch to IDLE state to retry loading\n if (!retryDate || now >= retryDate || (_this$media = this.media) != null && _this$media.seeking) {\n var _levels = this.levels,\n _trackId = this.trackId;\n this.log('RetryDate reached, switch back to IDLE state');\n this.resetStartWhenNotLoaded((_levels == null ? void 0 : _levels[_trackId]) || null);\n this.state = State.IDLE;\n }\n break;\n }\n case State.WAITING_INIT_PTS:\n {\n // Ensure we don't get stuck in the WAITING_INIT_PTS state if the waiting frag CC doesn't match any initPTS\n var waitingData = this.waitingData;\n if (waitingData) {\n var frag = waitingData.frag,\n part = waitingData.part,\n cache = waitingData.cache,\n complete = waitingData.complete;\n if (this.initPTS[frag.cc] !== undefined) {\n this.waitingData = null;\n this.waitingVideoCC = -1;\n this.state = State.FRAG_LOADING;\n var payload = cache.flush();\n var data = {\n frag: frag,\n part: part,\n payload: payload,\n networkDetails: null\n };\n this._handleFragmentLoadProgress(data);\n if (complete) {\n _BaseStreamController.prototype._handleFragmentLoadComplete.call(this, data);\n }\n } else if (this.videoTrackCC !== this.waitingVideoCC) {\n // Drop waiting fragment if videoTrackCC has changed since waitingFragment was set and initPTS was not found\n this.log(\"Waiting fragment cc (\" + frag.cc + \") cancelled because video is at cc \" + this.videoTrackCC);\n this.clearWaitingFragment();\n } else {\n // Drop waiting fragment if an earlier fragment is needed\n var pos = this.getLoadPosition();\n var bufferInfo = BufferHelper.bufferInfo(this.mediaBuffer, pos, this.config.maxBufferHole);\n var waitingFragmentAtPosition = fragmentWithinToleranceTest(bufferInfo.end, this.config.maxFragLookUpTolerance, frag);\n if (waitingFragmentAtPosition < 0) {\n this.log(\"Waiting fragment cc (\" + frag.cc + \") @ \" + frag.start + \" cancelled because another fragment at \" + bufferInfo.end + \" is needed\");\n this.clearWaitingFragment();\n }\n }\n } else {\n this.state = State.IDLE;\n }\n }\n }\n this.onTickEnd();\n };\n _proto.clearWaitingFragment = function clearWaitingFragment() {\n var waitingData = this.waitingData;\n if (waitingData) {\n this.fragmentTracker.removeFragment(waitingData.frag);\n this.waitingData = null;\n this.waitingVideoCC = -1;\n this.state = State.IDLE;\n }\n };\n _proto.resetLoadingState = function resetLoadingState() {\n this.clearWaitingFragment();\n _BaseStreamController.prototype.resetLoadingState.call(this);\n };\n _proto.onTickEnd = function onTickEnd() {\n var media = this.media;\n if (!(media != null && media.readyState)) {\n // Exit early if we don't have media or if the media hasn't buffered anything yet (readyState 0)\n return;\n }\n this.lastCurrentTime = media.currentTime;\n };\n _proto.doTickIdle = function doTickIdle() {\n var hls = this.hls,\n levels = this.levels,\n media = this.media,\n trackId = this.trackId;\n var config = hls.config;\n\n // 1. if video not attached AND\n // start fragment already requested OR start frag prefetch not enabled\n // 2. if tracks or track not loaded and selected\n // then exit loop\n // => if media not attached but start frag prefetch is enabled and start frag not requested yet, we will not exit loop\n if (!media && (this.startFragRequested || !config.startFragPrefetch) || !(levels != null && levels[trackId])) {\n return;\n }\n var levelInfo = levels[trackId];\n var trackDetails = levelInfo.details;\n if (!trackDetails || trackDetails.live && this.levelLastLoaded !== levelInfo || this.waitForCdnTuneIn(trackDetails)) {\n this.state = State.WAITING_TRACK;\n return;\n }\n var bufferable = this.mediaBuffer ? this.mediaBuffer : this.media;\n if (this.bufferFlushed && bufferable) {\n this.bufferFlushed = false;\n this.afterBufferFlushed(bufferable, ElementaryStreamTypes.AUDIO, PlaylistLevelType.AUDIO);\n }\n var bufferInfo = this.getFwdBufferInfo(bufferable, PlaylistLevelType.AUDIO);\n if (bufferInfo === null) {\n return;\n }\n var bufferedTrack = this.bufferedTrack,\n switchingTrack = this.switchingTrack;\n if (!switchingTrack && this._streamEnded(bufferInfo, trackDetails)) {\n hls.trigger(Events.BUFFER_EOS, {\n type: 'audio'\n });\n this.state = State.ENDED;\n return;\n }\n var mainBufferInfo = this.getFwdBufferInfo(this.videoBuffer ? this.videoBuffer : this.media, PlaylistLevelType.MAIN);\n var bufferLen = bufferInfo.len;\n var maxBufLen = this.getMaxBufferLength(mainBufferInfo == null ? void 0 : mainBufferInfo.len);\n var fragments = trackDetails.fragments;\n var start = fragments[0].start;\n var targetBufferTime = this.flushing ? this.getLoadPosition() : bufferInfo.end;\n if (switchingTrack && media) {\n var pos = this.getLoadPosition();\n // STABLE\n if (bufferedTrack && !mediaAttributesIdentical(switchingTrack.attrs, bufferedTrack.attrs)) {\n targetBufferTime = pos;\n }\n // if currentTime (pos) is less than alt audio playlist start time, it means that alt audio is ahead of currentTime\n if (trackDetails.PTSKnown && pos < start) {\n // if everything is buffered from pos to start or if audio buffer upfront, let's seek to start\n if (bufferInfo.end > start || bufferInfo.nextStart) {\n this.log('Alt audio track ahead of main track, seek to start of alt audio track');\n media.currentTime = start + 0.05;\n }\n }\n }\n\n // if buffer length is less than maxBufLen, or near the end, find a fragment to load\n if (bufferLen >= maxBufLen && !switchingTrack && targetBufferTime < fragments[fragments.length - 1].start) {\n return;\n }\n var frag = this.getNextFragment(targetBufferTime, trackDetails);\n var atGap = false;\n // Avoid loop loading by using nextLoadPosition set for backtracking and skipping consecutive GAP tags\n if (frag && this.isLoopLoading(frag, targetBufferTime)) {\n atGap = !!frag.gap;\n frag = this.getNextFragmentLoopLoading(frag, trackDetails, bufferInfo, PlaylistLevelType.MAIN, maxBufLen);\n }\n if (!frag) {\n this.bufferFlushed = true;\n return;\n }\n\n // Buffer audio up to one target duration ahead of main buffer\n var atBufferSyncLimit = mainBufferInfo && frag.start > mainBufferInfo.end + trackDetails.targetduration;\n if (atBufferSyncLimit ||\n // Or wait for main buffer after buffing some audio\n !(mainBufferInfo != null && mainBufferInfo.len) && bufferInfo.len) {\n // Check fragment-tracker for main fragments since GAP segments do not show up in bufferInfo\n var mainFrag = this.getAppendedFrag(frag.start, PlaylistLevelType.MAIN);\n if (mainFrag === null) {\n return;\n }\n // Bridge gaps in main buffer\n atGap || (atGap = !!mainFrag.gap || !!atBufferSyncLimit && mainBufferInfo.len === 0);\n if (atBufferSyncLimit && !atGap || atGap && bufferInfo.nextStart && bufferInfo.nextStart < mainFrag.end) {\n return;\n }\n }\n this.loadFragment(frag, levelInfo, targetBufferTime);\n };\n _proto.getMaxBufferLength = function getMaxBufferLength(mainBufferLength) {\n var maxConfigBuffer = _BaseStreamController.prototype.getMaxBufferLength.call(this);\n if (!mainBufferLength) {\n return maxConfigBuffer;\n }\n return Math.min(Math.max(maxConfigBuffer, mainBufferLength), this.config.maxMaxBufferLength);\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n this.videoBuffer = null;\n this.bufferFlushed = this.flushing = false;\n _BaseStreamController.prototype.onMediaDetaching.call(this);\n };\n _proto.onAudioTracksUpdated = function onAudioTracksUpdated(event, _ref2) {\n var audioTracks = _ref2.audioTracks;\n // Reset tranxmuxer is essential for large context switches (Content Steering)\n this.resetTransmuxer();\n this.levels = audioTracks.map(function (mediaPlaylist) {\n return new Level(mediaPlaylist);\n });\n };\n _proto.onAudioTrackSwitching = function onAudioTrackSwitching(event, data) {\n // if any URL found on new audio track, it is an alternate audio track\n var altAudio = !!data.url;\n this.trackId = data.id;\n var fragCurrent = this.fragCurrent;\n if (fragCurrent) {\n fragCurrent.abortRequests();\n this.removeUnbufferedFrags(fragCurrent.start);\n }\n this.resetLoadingState();\n // destroy useless transmuxer when switching audio to main\n if (!altAudio) {\n this.resetTransmuxer();\n } else {\n // switching to audio track, start timer if not already started\n this.setInterval(TICK_INTERVAL$2);\n }\n\n // should we switch tracks ?\n if (altAudio) {\n this.switchingTrack = data;\n // main audio track are handled by stream-controller, just do something if switching to alt audio track\n this.state = State.IDLE;\n this.flushAudioIfNeeded(data);\n } else {\n this.switchingTrack = null;\n this.bufferedTrack = data;\n this.state = State.STOPPED;\n }\n this.tick();\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.fragmentTracker.removeAllFragments();\n this.startPosition = this.lastCurrentTime = 0;\n this.bufferFlushed = this.flushing = false;\n this.levels = this.mainDetails = this.waitingData = this.bufferedTrack = this.cachedTrackLoadedData = this.switchingTrack = null;\n this.startFragRequested = false;\n this.trackId = this.videoTrackCC = this.waitingVideoCC = -1;\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n this.mainDetails = data.details;\n if (this.cachedTrackLoadedData !== null) {\n this.hls.trigger(Events.AUDIO_TRACK_LOADED, this.cachedTrackLoadedData);\n this.cachedTrackLoadedData = null;\n }\n };\n _proto.onAudioTrackLoaded = function onAudioTrackLoaded(event, data) {\n var _track$details;\n if (this.mainDetails == null) {\n this.cachedTrackLoadedData = data;\n return;\n }\n var levels = this.levels;\n var newDetails = data.details,\n trackId = data.id;\n if (!levels) {\n this.warn(\"Audio tracks were reset while loading level \" + trackId);\n return;\n }\n this.log(\"Audio track \" + trackId + \" loaded [\" + newDetails.startSN + \",\" + newDetails.endSN + \"]\" + (newDetails.lastPartSn ? \"[part-\" + newDetails.lastPartSn + \"-\" + newDetails.lastPartIndex + \"]\" : '') + \",duration:\" + newDetails.totalduration);\n var track = levels[trackId];\n var sliding = 0;\n if (newDetails.live || (_track$details = track.details) != null && _track$details.live) {\n this.checkLiveUpdate(newDetails);\n var mainDetails = this.mainDetails;\n if (newDetails.deltaUpdateFailed || !mainDetails) {\n return;\n }\n if (!track.details && newDetails.hasProgramDateTime && mainDetails.hasProgramDateTime) {\n // Make sure our audio rendition is aligned with the \"main\" rendition, using\n // pdt as our reference times.\n alignMediaPlaylistByPDT(newDetails, mainDetails);\n sliding = newDetails.fragments[0].start;\n } else {\n var _this$levelLastLoaded;\n sliding = this.alignPlaylists(newDetails, track.details, (_this$levelLastLoaded = this.levelLastLoaded) == null ? void 0 : _this$levelLastLoaded.details);\n }\n }\n track.details = newDetails;\n this.levelLastLoaded = track;\n\n // compute start position if we are aligned with the main playlist\n if (!this.startFragRequested && (this.mainDetails || !newDetails.live)) {\n this.setStartPosition(this.mainDetails || newDetails, sliding);\n }\n // only switch back to IDLE state if we were waiting for track to start downloading a new fragment\n if (this.state === State.WAITING_TRACK && !this.waitForCdnTuneIn(newDetails)) {\n this.state = State.IDLE;\n }\n\n // trigger handler right now\n this.tick();\n };\n _proto._handleFragmentLoadProgress = function _handleFragmentLoadProgress(data) {\n var _frag$initSegment;\n var frag = data.frag,\n part = data.part,\n payload = data.payload;\n var config = this.config,\n trackId = this.trackId,\n levels = this.levels;\n if (!levels) {\n this.warn(\"Audio tracks were reset while fragment load was in progress. Fragment \" + frag.sn + \" of level \" + frag.level + \" will not be buffered\");\n return;\n }\n var track = levels[trackId];\n if (!track) {\n this.warn('Audio track is undefined on fragment load progress');\n return;\n }\n var details = track.details;\n if (!details) {\n this.warn('Audio track details undefined on fragment load progress');\n this.removeUnbufferedFrags(frag.start);\n return;\n }\n var audioCodec = config.defaultAudioCodec || track.audioCodec || 'mp4a.40.2';\n var transmuxer = this.transmuxer;\n if (!transmuxer) {\n transmuxer = this.transmuxer = new TransmuxerInterface(this.hls, PlaylistLevelType.AUDIO, this._handleTransmuxComplete.bind(this), this._handleTransmuxerFlush.bind(this));\n }\n\n // Check if we have video initPTS\n // If not we need to wait for it\n var initPTS = this.initPTS[frag.cc];\n var initSegmentData = (_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.data;\n if (initPTS !== undefined) {\n // this.log(`Transmuxing ${sn} of [${details.startSN} ,${details.endSN}],track ${trackId}`);\n // time Offset is accurate if level PTS is known, or if playlist is not sliding (not live)\n var accurateTimeOffset = false; // details.PTSKnown || !details.live;\n var partIndex = part ? part.index : -1;\n var partial = partIndex !== -1;\n var chunkMeta = new ChunkMetadata(frag.level, frag.sn, frag.stats.chunkCount, payload.byteLength, partIndex, partial);\n transmuxer.push(payload, initSegmentData, audioCodec, '', frag, part, details.totalduration, accurateTimeOffset, chunkMeta, initPTS);\n } else {\n this.log(\"Unknown video PTS for cc \" + frag.cc + \", waiting for video PTS before demuxing audio frag \" + frag.sn + \" of [\" + details.startSN + \" ,\" + details.endSN + \"],track \" + trackId);\n var _this$waitingData = this.waitingData = this.waitingData || {\n frag: frag,\n part: part,\n cache: new ChunkCache(),\n complete: false\n },\n cache = _this$waitingData.cache;\n cache.push(new Uint8Array(payload));\n this.waitingVideoCC = this.videoTrackCC;\n this.state = State.WAITING_INIT_PTS;\n }\n };\n _proto._handleFragmentLoadComplete = function _handleFragmentLoadComplete(fragLoadedData) {\n if (this.waitingData) {\n this.waitingData.complete = true;\n return;\n }\n _BaseStreamController.prototype._handleFragmentLoadComplete.call(this, fragLoadedData);\n };\n _proto.onBufferReset = function onBufferReset( /* event: Events.BUFFER_RESET */\n ) {\n // reset reference to sourcebuffers\n this.mediaBuffer = this.videoBuffer = null;\n this.loadedmetadata = false;\n };\n _proto.onBufferCreated = function onBufferCreated(event, data) {\n var audioTrack = data.tracks.audio;\n if (audioTrack) {\n this.mediaBuffer = audioTrack.buffer || null;\n }\n if (data.tracks.video) {\n this.videoBuffer = data.tracks.video.buffer || null;\n }\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n var frag = data.frag,\n part = data.part;\n if (frag.type !== PlaylistLevelType.AUDIO) {\n if (!this.loadedmetadata && frag.type === PlaylistLevelType.MAIN) {\n var bufferable = this.videoBuffer || this.media;\n if (bufferable) {\n var bufferedTimeRanges = BufferHelper.getBuffered(bufferable);\n if (bufferedTimeRanges.length) {\n this.loadedmetadata = true;\n }\n }\n }\n return;\n }\n if (this.fragContextChanged(frag)) {\n // If a level switch was requested while a fragment was buffering, it will emit the FRAG_BUFFERED event upon completion\n // Avoid setting state back to IDLE or concluding the audio switch; otherwise, the switched-to track will not buffer\n this.warn(\"Fragment \" + frag.sn + (part ? ' p: ' + part.index : '') + \" of level \" + frag.level + \" finished buffering, but was aborted. state: \" + this.state + \", audioSwitch: \" + (this.switchingTrack ? this.switchingTrack.name : 'false'));\n return;\n }\n if (frag.sn !== 'initSegment') {\n this.fragPrevious = frag;\n var track = this.switchingTrack;\n if (track) {\n this.bufferedTrack = track;\n this.switchingTrack = null;\n this.hls.trigger(Events.AUDIO_TRACK_SWITCHED, _objectSpread2({}, track));\n }\n }\n this.fragBufferedComplete(frag, part);\n };\n _proto.onError = function onError(event, data) {\n var _data$context;\n if (data.fatal) {\n this.state = State.ERROR;\n return;\n }\n switch (data.details) {\n case ErrorDetails.FRAG_GAP:\n case ErrorDetails.FRAG_PARSING_ERROR:\n case ErrorDetails.FRAG_DECRYPT_ERROR:\n case ErrorDetails.FRAG_LOAD_ERROR:\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n case ErrorDetails.KEY_LOAD_ERROR:\n case ErrorDetails.KEY_LOAD_TIMEOUT:\n this.onFragmentOrKeyLoadError(PlaylistLevelType.AUDIO, data);\n break;\n case ErrorDetails.AUDIO_TRACK_LOAD_ERROR:\n case ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT:\n case ErrorDetails.LEVEL_PARSING_ERROR:\n // in case of non fatal error while loading track, if not retrying to load track, switch back to IDLE\n if (!data.levelRetry && this.state === State.WAITING_TRACK && ((_data$context = data.context) == null ? void 0 : _data$context.type) === PlaylistContextType.AUDIO_TRACK) {\n this.state = State.IDLE;\n }\n break;\n case ErrorDetails.BUFFER_APPEND_ERROR:\n case ErrorDetails.BUFFER_FULL_ERROR:\n if (!data.parent || data.parent !== 'audio') {\n return;\n }\n if (data.details === ErrorDetails.BUFFER_APPEND_ERROR) {\n this.resetLoadingState();\n return;\n }\n if (this.reduceLengthAndFlushBuffer(data)) {\n this.bufferedTrack = null;\n _BaseStreamController.prototype.flushMainBuffer.call(this, 0, Number.POSITIVE_INFINITY, 'audio');\n }\n break;\n case ErrorDetails.INTERNAL_EXCEPTION:\n this.recoverWorkerError(data);\n break;\n }\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, _ref3) {\n var type = _ref3.type;\n if (type !== ElementaryStreamTypes.VIDEO) {\n this.flushing = true;\n }\n };\n _proto.onBufferFlushed = function onBufferFlushed(event, _ref4) {\n var type = _ref4.type;\n if (type !== ElementaryStreamTypes.VIDEO) {\n this.flushing = false;\n this.bufferFlushed = true;\n if (this.state === State.ENDED) {\n this.state = State.IDLE;\n }\n var mediaBuffer = this.mediaBuffer || this.media;\n if (mediaBuffer) {\n this.afterBufferFlushed(mediaBuffer, type, PlaylistLevelType.AUDIO);\n this.tick();\n }\n }\n };\n _proto._handleTransmuxComplete = function _handleTransmuxComplete(transmuxResult) {\n var _id3$samples;\n var id = 'audio';\n var hls = this.hls;\n var remuxResult = transmuxResult.remuxResult,\n chunkMeta = transmuxResult.chunkMeta;\n var context = this.getCurrentContext(chunkMeta);\n if (!context) {\n this.resetWhenMissingContext(chunkMeta);\n return;\n }\n var frag = context.frag,\n part = context.part,\n level = context.level;\n var details = level.details;\n var audio = remuxResult.audio,\n text = remuxResult.text,\n id3 = remuxResult.id3,\n initSegment = remuxResult.initSegment;\n\n // Check if the current fragment has been aborted. We check this by first seeing if we're still playing the current level.\n // If we are, subsequently check if the currently loading fragment (fragCurrent) has changed.\n if (this.fragContextChanged(frag) || !details) {\n this.fragmentTracker.removeFragment(frag);\n return;\n }\n this.state = State.PARSING;\n if (this.switchingTrack && audio) {\n this.completeAudioSwitch(this.switchingTrack);\n }\n if (initSegment != null && initSegment.tracks) {\n var mapFragment = frag.initSegment || frag;\n this._bufferInitSegment(level, initSegment.tracks, mapFragment, chunkMeta);\n hls.trigger(Events.FRAG_PARSING_INIT_SEGMENT, {\n frag: mapFragment,\n id: id,\n tracks: initSegment.tracks\n });\n // Only flush audio from old audio tracks when PTS is known on new audio track\n }\n if (audio) {\n var startPTS = audio.startPTS,\n endPTS = audio.endPTS,\n startDTS = audio.startDTS,\n endDTS = audio.endDTS;\n if (part) {\n part.elementaryStreams[ElementaryStreamTypes.AUDIO] = {\n startPTS: startPTS,\n endPTS: endPTS,\n startDTS: startDTS,\n endDTS: endDTS\n };\n }\n frag.setElementaryStreamInfo(ElementaryStreamTypes.AUDIO, startPTS, endPTS, startDTS, endDTS);\n this.bufferFragmentData(audio, frag, part, chunkMeta);\n }\n if (id3 != null && (_id3$samples = id3.samples) != null && _id3$samples.length) {\n var emittedID3 = _extends({\n id: id,\n frag: frag,\n details: details\n }, id3);\n hls.trigger(Events.FRAG_PARSING_METADATA, emittedID3);\n }\n if (text) {\n var emittedText = _extends({\n id: id,\n frag: frag,\n details: details\n }, text);\n hls.trigger(Events.FRAG_PARSING_USERDATA, emittedText);\n }\n };\n _proto._bufferInitSegment = function _bufferInitSegment(currentLevel, tracks, frag, chunkMeta) {\n if (this.state !== State.PARSING) {\n return;\n }\n // delete any video track found on audio transmuxer\n if (tracks.video) {\n delete tracks.video;\n }\n\n // include levelCodec in audio and video tracks\n var track = tracks.audio;\n if (!track) {\n return;\n }\n track.id = 'audio';\n var variantAudioCodecs = currentLevel.audioCodec;\n this.log(\"Init audio buffer, container:\" + track.container + \", codecs[level/parsed]=[\" + variantAudioCodecs + \"/\" + track.codec + \"]\");\n // SourceBuffer will use track.levelCodec if defined\n if (variantAudioCodecs && variantAudioCodecs.split(',').length === 1) {\n track.levelCodec = variantAudioCodecs;\n }\n this.hls.trigger(Events.BUFFER_CODECS, tracks);\n var initSegment = track.initSegment;\n if (initSegment != null && initSegment.byteLength) {\n var segment = {\n type: 'audio',\n frag: frag,\n part: null,\n chunkMeta: chunkMeta,\n parent: frag.type,\n data: initSegment\n };\n this.hls.trigger(Events.BUFFER_APPENDING, segment);\n }\n // trigger handler right now\n this.tickImmediate();\n };\n _proto.loadFragment = function loadFragment(frag, track, targetBufferTime) {\n // only load if fragment is not loaded or if in audio switch\n var fragState = this.fragmentTracker.getState(frag);\n this.fragCurrent = frag;\n\n // we force a frag loading in audio switch as fragment tracker might not have evicted previous frags in case of quick audio switch\n if (this.switchingTrack || fragState === FragmentState.NOT_LOADED || fragState === FragmentState.PARTIAL) {\n var _track$details2;\n if (frag.sn === 'initSegment') {\n this._loadInitSegment(frag, track);\n } else if ((_track$details2 = track.details) != null && _track$details2.live && !this.initPTS[frag.cc]) {\n this.log(\"Waiting for video PTS in continuity counter \" + frag.cc + \" of live stream before loading audio fragment \" + frag.sn + \" of level \" + this.trackId);\n this.state = State.WAITING_INIT_PTS;\n var mainDetails = this.mainDetails;\n if (mainDetails && mainDetails.fragments[0].start !== track.details.fragments[0].start) {\n alignMediaPlaylistByPDT(track.details, mainDetails);\n }\n } else {\n this.startFragRequested = true;\n _BaseStreamController.prototype.loadFragment.call(this, frag, track, targetBufferTime);\n }\n } else {\n this.clearTrackerIfNeeded(frag);\n }\n };\n _proto.flushAudioIfNeeded = function flushAudioIfNeeded(switchingTrack) {\n var media = this.media,\n bufferedTrack = this.bufferedTrack;\n var bufferedAttributes = bufferedTrack == null ? void 0 : bufferedTrack.attrs;\n var switchAttributes = switchingTrack.attrs;\n if (media && bufferedAttributes && (bufferedAttributes.CHANNELS !== switchAttributes.CHANNELS || bufferedTrack.name !== switchingTrack.name || bufferedTrack.lang !== switchingTrack.lang)) {\n this.log('Switching audio track : flushing all audio');\n _BaseStreamController.prototype.flushMainBuffer.call(this, 0, Number.POSITIVE_INFINITY, 'audio');\n this.bufferedTrack = null;\n }\n };\n _proto.completeAudioSwitch = function completeAudioSwitch(switchingTrack) {\n var hls = this.hls;\n this.flushAudioIfNeeded(switchingTrack);\n this.bufferedTrack = switchingTrack;\n this.switchingTrack = null;\n hls.trigger(Events.AUDIO_TRACK_SWITCHED, _objectSpread2({}, switchingTrack));\n };\n return AudioStreamController;\n }(BaseStreamController);\n\n var AudioTrackController = /*#__PURE__*/function (_BasePlaylistControll) {\n _inheritsLoose(AudioTrackController, _BasePlaylistControll);\n function AudioTrackController(hls) {\n var _this;\n _this = _BasePlaylistControll.call(this, hls, '[audio-track-controller]') || this;\n _this.tracks = [];\n _this.groupIds = null;\n _this.tracksInGroup = [];\n _this.trackId = -1;\n _this.currentTrack = null;\n _this.selectDefaultTrack = true;\n _this.registerListeners();\n return _this;\n }\n var _proto = AudioTrackController.prototype;\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.on(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.on(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.off(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.off(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);\n hls.off(Events.ERROR, this.onError, this);\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.tracks.length = 0;\n this.tracksInGroup.length = 0;\n this.currentTrack = null;\n _BasePlaylistControll.prototype.destroy.call(this);\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.tracks = [];\n this.tracksInGroup = [];\n this.groupIds = null;\n this.currentTrack = null;\n this.trackId = -1;\n this.selectDefaultTrack = true;\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n this.tracks = data.audioTracks || [];\n };\n _proto.onAudioTrackLoaded = function onAudioTrackLoaded(event, data) {\n var id = data.id,\n groupId = data.groupId,\n details = data.details;\n var trackInActiveGroup = this.tracksInGroup[id];\n if (!trackInActiveGroup || trackInActiveGroup.groupId !== groupId) {\n this.warn(\"Audio track with id:\" + id + \" and group:\" + groupId + \" not found in active group \" + (trackInActiveGroup == null ? void 0 : trackInActiveGroup.groupId));\n return;\n }\n var curDetails = trackInActiveGroup.details;\n trackInActiveGroup.details = data.details;\n this.log(\"Audio track \" + id + \" \\\"\" + trackInActiveGroup.name + \"\\\" lang:\" + trackInActiveGroup.lang + \" group:\" + groupId + \" loaded [\" + details.startSN + \"-\" + details.endSN + \"]\");\n if (id === this.trackId) {\n this.playlistLoaded(id, data, curDetails);\n }\n };\n _proto.onLevelLoading = function onLevelLoading(event, data) {\n this.switchLevel(data.level);\n };\n _proto.onLevelSwitching = function onLevelSwitching(event, data) {\n this.switchLevel(data.level);\n };\n _proto.switchLevel = function switchLevel(levelIndex) {\n var levelInfo = this.hls.levels[levelIndex];\n if (!levelInfo) {\n return;\n }\n var audioGroups = levelInfo.audioGroups || null;\n var currentGroups = this.groupIds;\n var currentTrack = this.currentTrack;\n if (!audioGroups || (currentGroups == null ? void 0 : currentGroups.length) !== (audioGroups == null ? void 0 : audioGroups.length) || audioGroups != null && audioGroups.some(function (groupId) {\n return (currentGroups == null ? void 0 : currentGroups.indexOf(groupId)) === -1;\n })) {\n this.groupIds = audioGroups;\n this.trackId = -1;\n this.currentTrack = null;\n var audioTracks = this.tracks.filter(function (track) {\n return !audioGroups || audioGroups.indexOf(track.groupId) !== -1;\n });\n if (audioTracks.length) {\n // Disable selectDefaultTrack if there are no default tracks\n if (this.selectDefaultTrack && !audioTracks.some(function (track) {\n return track.default;\n })) {\n this.selectDefaultTrack = false;\n }\n // track.id should match hls.audioTracks index\n audioTracks.forEach(function (track, i) {\n track.id = i;\n });\n } else if (!currentTrack && !this.tracksInGroup.length) {\n // Do not dispatch AUDIO_TRACKS_UPDATED when there were and are no tracks\n return;\n }\n this.tracksInGroup = audioTracks;\n\n // Find preferred track\n var audioPreference = this.hls.config.audioPreference;\n if (!currentTrack && audioPreference) {\n var groupIndex = findMatchingOption(audioPreference, audioTracks, audioMatchPredicate);\n if (groupIndex > -1) {\n currentTrack = audioTracks[groupIndex];\n } else {\n var allIndex = findMatchingOption(audioPreference, this.tracks);\n currentTrack = this.tracks[allIndex];\n }\n }\n\n // Select initial track\n var trackId = this.findTrackId(currentTrack);\n if (trackId === -1 && currentTrack) {\n trackId = this.findTrackId(null);\n }\n\n // Dispatch events and load track if needed\n var audioTracksUpdated = {\n audioTracks: audioTracks\n };\n this.log(\"Updating audio tracks, \" + audioTracks.length + \" track(s) found in group(s): \" + (audioGroups == null ? void 0 : audioGroups.join(',')));\n this.hls.trigger(Events.AUDIO_TRACKS_UPDATED, audioTracksUpdated);\n var selectedTrackId = this.trackId;\n if (trackId !== -1 && selectedTrackId === -1) {\n this.setAudioTrack(trackId);\n } else if (audioTracks.length && selectedTrackId === -1) {\n var _this$groupIds;\n var error = new Error(\"No audio track selected for current audio group-ID(s): \" + ((_this$groupIds = this.groupIds) == null ? void 0 : _this$groupIds.join(',')) + \" track count: \" + audioTracks.length);\n this.warn(error.message);\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.AUDIO_TRACK_LOAD_ERROR,\n fatal: true,\n error: error\n });\n }\n } else if (this.shouldReloadPlaylist(currentTrack)) {\n // Retry playlist loading if no playlist is or has been loaded yet\n this.setAudioTrack(this.trackId);\n }\n };\n _proto.onError = function onError(event, data) {\n if (data.fatal || !data.context) {\n return;\n }\n if (data.context.type === PlaylistContextType.AUDIO_TRACK && data.context.id === this.trackId && (!this.groupIds || this.groupIds.indexOf(data.context.groupId) !== -1)) {\n this.requestScheduled = -1;\n this.checkRetry(data);\n }\n };\n _proto.setAudioOption = function setAudioOption(audioOption) {\n var hls = this.hls;\n hls.config.audioPreference = audioOption;\n if (audioOption) {\n var allAudioTracks = this.allAudioTracks;\n this.selectDefaultTrack = false;\n if (allAudioTracks.length) {\n // First see if current option matches (no switch op)\n var currentTrack = this.currentTrack;\n if (currentTrack && matchesOption(audioOption, currentTrack, audioMatchPredicate)) {\n return currentTrack;\n }\n // Find option in available tracks (tracksInGroup)\n var groupIndex = findMatchingOption(audioOption, this.tracksInGroup, audioMatchPredicate);\n if (groupIndex > -1) {\n var track = this.tracksInGroup[groupIndex];\n this.setAudioTrack(groupIndex);\n return track;\n } else if (currentTrack) {\n // Find option in nearest level audio group\n var searchIndex = hls.loadLevel;\n if (searchIndex === -1) {\n searchIndex = hls.firstAutoLevel;\n }\n var switchIndex = findClosestLevelWithAudioGroup(audioOption, hls.levels, allAudioTracks, searchIndex, audioMatchPredicate);\n if (switchIndex === -1) {\n // could not find matching variant\n return null;\n }\n // and switch level to acheive the audio group switch\n hls.nextLoadLevel = switchIndex;\n }\n if (audioOption.channels || audioOption.audioCodec) {\n // Could not find a match with codec / channels predicate\n // Find a match without channels or codec\n var withoutCodecAndChannelsMatch = findMatchingOption(audioOption, allAudioTracks);\n if (withoutCodecAndChannelsMatch > -1) {\n return allAudioTracks[withoutCodecAndChannelsMatch];\n }\n }\n }\n }\n return null;\n };\n _proto.setAudioTrack = function setAudioTrack(newId) {\n var tracks = this.tracksInGroup;\n\n // check if level idx is valid\n if (newId < 0 || newId >= tracks.length) {\n this.warn(\"Invalid audio track id: \" + newId);\n return;\n }\n\n // stopping live reloading timer if any\n this.clearTimer();\n this.selectDefaultTrack = false;\n var lastTrack = this.currentTrack;\n var track = tracks[newId];\n var trackLoaded = track.details && !track.details.live;\n if (newId === this.trackId && track === lastTrack && trackLoaded) {\n return;\n }\n this.log(\"Switching to audio-track \" + newId + \" \\\"\" + track.name + \"\\\" lang:\" + track.lang + \" group:\" + track.groupId + \" channels:\" + track.channels);\n this.trackId = newId;\n this.currentTrack = track;\n this.hls.trigger(Events.AUDIO_TRACK_SWITCHING, _objectSpread2({}, track));\n // Do not reload track unless live\n if (trackLoaded) {\n return;\n }\n var hlsUrlParameters = this.switchParams(track.url, lastTrack == null ? void 0 : lastTrack.details);\n this.loadPlaylist(hlsUrlParameters);\n };\n _proto.findTrackId = function findTrackId(currentTrack) {\n var audioTracks = this.tracksInGroup;\n for (var i = 0; i < audioTracks.length; i++) {\n var track = audioTracks[i];\n if (this.selectDefaultTrack && !track.default) {\n continue;\n }\n if (!currentTrack || matchesOption(currentTrack, track, audioMatchPredicate)) {\n return i;\n }\n }\n if (currentTrack) {\n var name = currentTrack.name,\n lang = currentTrack.lang,\n assocLang = currentTrack.assocLang,\n characteristics = currentTrack.characteristics,\n audioCodec = currentTrack.audioCodec,\n channels = currentTrack.channels;\n for (var _i = 0; _i < audioTracks.length; _i++) {\n var _track = audioTracks[_i];\n if (matchesOption({\n name: name,\n lang: lang,\n assocLang: assocLang,\n characteristics: characteristics,\n audioCodec: audioCodec,\n channels: channels\n }, _track, audioMatchPredicate)) {\n return _i;\n }\n }\n for (var _i2 = 0; _i2 < audioTracks.length; _i2++) {\n var _track2 = audioTracks[_i2];\n if (mediaAttributesIdentical(currentTrack.attrs, _track2.attrs, ['LANGUAGE', 'ASSOC-LANGUAGE', 'CHARACTERISTICS'])) {\n return _i2;\n }\n }\n for (var _i3 = 0; _i3 < audioTracks.length; _i3++) {\n var _track3 = audioTracks[_i3];\n if (mediaAttributesIdentical(currentTrack.attrs, _track3.attrs, ['LANGUAGE'])) {\n return _i3;\n }\n }\n }\n return -1;\n };\n _proto.loadPlaylist = function loadPlaylist(hlsUrlParameters) {\n var audioTrack = this.currentTrack;\n if (this.shouldLoadPlaylist(audioTrack) && audioTrack) {\n _BasePlaylistControll.prototype.loadPlaylist.call(this);\n var id = audioTrack.id;\n var groupId = audioTrack.groupId;\n var url = audioTrack.url;\n if (hlsUrlParameters) {\n try {\n url = hlsUrlParameters.addDirectives(url);\n } catch (error) {\n this.warn(\"Could not construct new URL with HLS Delivery Directives: \" + error);\n }\n }\n // track not retrieved yet, or live playlist we need to (re)load it\n this.log(\"loading audio-track playlist \" + id + \" \\\"\" + audioTrack.name + \"\\\" lang:\" + audioTrack.lang + \" group:\" + groupId);\n this.clearTimer();\n this.hls.trigger(Events.AUDIO_TRACK_LOADING, {\n url: url,\n id: id,\n groupId: groupId,\n deliveryDirectives: hlsUrlParameters || null\n });\n }\n };\n _createClass(AudioTrackController, [{\n key: \"allAudioTracks\",\n get: function get() {\n return this.tracks;\n }\n }, {\n key: \"audioTracks\",\n get: function get() {\n return this.tracksInGroup;\n }\n }, {\n key: \"audioTrack\",\n get: function get() {\n return this.trackId;\n },\n set: function set(newId) {\n // If audio track is selected from API then don't choose from the manifest default track\n this.selectDefaultTrack = false;\n this.setAudioTrack(newId);\n }\n }]);\n return AudioTrackController;\n }(BasePlaylistController);\n\n var TICK_INTERVAL$1 = 500; // how often to tick in ms\n\n var SubtitleStreamController = /*#__PURE__*/function (_BaseStreamController) {\n _inheritsLoose(SubtitleStreamController, _BaseStreamController);\n function SubtitleStreamController(hls, fragmentTracker, keyLoader) {\n var _this;\n _this = _BaseStreamController.call(this, hls, fragmentTracker, keyLoader, '[subtitle-stream-controller]', PlaylistLevelType.SUBTITLE) || this;\n _this.currentTrackId = -1;\n _this.tracksBuffered = [];\n _this.mainDetails = null;\n _this._registerListeners();\n return _this;\n }\n var _proto = SubtitleStreamController.prototype;\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n this._unregisterListeners();\n _BaseStreamController.prototype.onHandlerDestroying.call(this);\n this.mainDetails = null;\n };\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.ERROR, this.onError, this);\n hls.on(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);\n hls.on(Events.SUBTITLE_TRACK_SWITCH, this.onSubtitleTrackSwitch, this);\n hls.on(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);\n hls.on(Events.SUBTITLE_FRAG_PROCESSED, this.onSubtitleFragProcessed, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.ERROR, this.onError, this);\n hls.off(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);\n hls.off(Events.SUBTITLE_TRACK_SWITCH, this.onSubtitleTrackSwitch, this);\n hls.off(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);\n hls.off(Events.SUBTITLE_FRAG_PROCESSED, this.onSubtitleFragProcessed, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto.startLoad = function startLoad(startPosition) {\n this.stopLoad();\n this.state = State.IDLE;\n this.setInterval(TICK_INTERVAL$1);\n this.nextLoadPosition = this.startPosition = this.lastCurrentTime = startPosition;\n this.tick();\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.mainDetails = null;\n this.fragmentTracker.removeAllFragments();\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n this.tracksBuffered = [];\n _BaseStreamController.prototype.onMediaDetaching.call(this);\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n this.mainDetails = data.details;\n };\n _proto.onSubtitleFragProcessed = function onSubtitleFragProcessed(event, data) {\n var frag = data.frag,\n success = data.success;\n this.fragPrevious = frag;\n this.state = State.IDLE;\n if (!success) {\n return;\n }\n var buffered = this.tracksBuffered[this.currentTrackId];\n if (!buffered) {\n return;\n }\n\n // Create/update a buffered array matching the interface used by BufferHelper.bufferedInfo\n // so we can re-use the logic used to detect how much has been buffered\n var timeRange;\n var fragStart = frag.start;\n for (var i = 0; i < buffered.length; i++) {\n if (fragStart >= buffered[i].start && fragStart <= buffered[i].end) {\n timeRange = buffered[i];\n break;\n }\n }\n var fragEnd = frag.start + frag.duration;\n if (timeRange) {\n timeRange.end = fragEnd;\n } else {\n timeRange = {\n start: fragStart,\n end: fragEnd\n };\n buffered.push(timeRange);\n }\n this.fragmentTracker.fragBuffered(frag);\n this.fragBufferedComplete(frag, null);\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, data) {\n var startOffset = data.startOffset,\n endOffset = data.endOffset;\n if (startOffset === 0 && endOffset !== Number.POSITIVE_INFINITY) {\n var endOffsetSubtitles = endOffset - 1;\n if (endOffsetSubtitles <= 0) {\n return;\n }\n data.endOffsetSubtitles = Math.max(0, endOffsetSubtitles);\n this.tracksBuffered.forEach(function (buffered) {\n for (var i = 0; i < buffered.length;) {\n if (buffered[i].end <= endOffsetSubtitles) {\n buffered.shift();\n continue;\n } else if (buffered[i].start < endOffsetSubtitles) {\n buffered[i].start = endOffsetSubtitles;\n } else {\n break;\n }\n i++;\n }\n });\n this.fragmentTracker.removeFragmentsInRange(startOffset, endOffsetSubtitles, PlaylistLevelType.SUBTITLE);\n }\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n if (!this.loadedmetadata && data.frag.type === PlaylistLevelType.MAIN) {\n var _this$media;\n if ((_this$media = this.media) != null && _this$media.buffered.length) {\n this.loadedmetadata = true;\n }\n }\n }\n\n // If something goes wrong, proceed to next frag, if we were processing one.\n ;\n _proto.onError = function onError(event, data) {\n var frag = data.frag;\n if ((frag == null ? void 0 : frag.type) === PlaylistLevelType.SUBTITLE) {\n if (this.fragCurrent) {\n this.fragCurrent.abortRequests();\n }\n if (this.state !== State.STOPPED) {\n this.state = State.IDLE;\n }\n }\n }\n\n // Got all new subtitle levels.\n ;\n _proto.onSubtitleTracksUpdated = function onSubtitleTracksUpdated(event, _ref) {\n var _this2 = this;\n var subtitleTracks = _ref.subtitleTracks;\n if (!this.levels || subtitleOptionsIdentical(this.levels, subtitleTracks)) {\n this.levels = subtitleTracks.map(function (mediaPlaylist) {\n return new Level(mediaPlaylist);\n });\n return;\n }\n this.tracksBuffered = [];\n this.levels = subtitleTracks.map(function (mediaPlaylist) {\n var level = new Level(mediaPlaylist);\n _this2.tracksBuffered[level.id] = [];\n return level;\n });\n this.fragmentTracker.removeFragmentsInRange(0, Number.POSITIVE_INFINITY, PlaylistLevelType.SUBTITLE);\n this.fragPrevious = null;\n this.mediaBuffer = null;\n };\n _proto.onSubtitleTrackSwitch = function onSubtitleTrackSwitch(event, data) {\n var _this$levels;\n this.currentTrackId = data.id;\n if (!((_this$levels = this.levels) != null && _this$levels.length) || this.currentTrackId === -1) {\n this.clearInterval();\n return;\n }\n\n // Check if track has the necessary details to load fragments\n var currentTrack = this.levels[this.currentTrackId];\n if (currentTrack != null && currentTrack.details) {\n this.mediaBuffer = this.mediaBufferTimeRanges;\n } else {\n this.mediaBuffer = null;\n }\n if (currentTrack) {\n this.setInterval(TICK_INTERVAL$1);\n }\n }\n\n // Got a new set of subtitle fragments.\n ;\n _proto.onSubtitleTrackLoaded = function onSubtitleTrackLoaded(event, data) {\n var _track$details;\n var currentTrackId = this.currentTrackId,\n levels = this.levels;\n var newDetails = data.details,\n trackId = data.id;\n if (!levels) {\n this.warn(\"Subtitle tracks were reset while loading level \" + trackId);\n return;\n }\n var track = levels[currentTrackId];\n if (trackId >= levels.length || trackId !== currentTrackId || !track) {\n return;\n }\n this.log(\"Subtitle track \" + trackId + \" loaded [\" + newDetails.startSN + \",\" + newDetails.endSN + \"]\" + (newDetails.lastPartSn ? \"[part-\" + newDetails.lastPartSn + \"-\" + newDetails.lastPartIndex + \"]\" : '') + \",duration:\" + newDetails.totalduration);\n this.mediaBuffer = this.mediaBufferTimeRanges;\n var sliding = 0;\n if (newDetails.live || (_track$details = track.details) != null && _track$details.live) {\n var mainDetails = this.mainDetails;\n if (newDetails.deltaUpdateFailed || !mainDetails) {\n return;\n }\n var mainSlidingStartFragment = mainDetails.fragments[0];\n if (!track.details) {\n if (newDetails.hasProgramDateTime && mainDetails.hasProgramDateTime) {\n alignMediaPlaylistByPDT(newDetails, mainDetails);\n sliding = newDetails.fragments[0].start;\n } else if (mainSlidingStartFragment) {\n // line up live playlist with main so that fragments in range are loaded\n sliding = mainSlidingStartFragment.start;\n addSliding(newDetails, sliding);\n }\n } else {\n var _this$levelLastLoaded;\n sliding = this.alignPlaylists(newDetails, track.details, (_this$levelLastLoaded = this.levelLastLoaded) == null ? void 0 : _this$levelLastLoaded.details);\n if (sliding === 0 && mainSlidingStartFragment) {\n // realign with main when there is no overlap with last refresh\n sliding = mainSlidingStartFragment.start;\n addSliding(newDetails, sliding);\n }\n }\n }\n track.details = newDetails;\n this.levelLastLoaded = track;\n if (!this.startFragRequested && (this.mainDetails || !newDetails.live)) {\n this.setStartPosition(this.mainDetails || newDetails, sliding);\n }\n\n // trigger handler right now\n this.tick();\n\n // If playlist is misaligned because of bad PDT or drift, delete details to resync with main on reload\n if (newDetails.live && !this.fragCurrent && this.media && this.state === State.IDLE) {\n var foundFrag = findFragmentByPTS(null, newDetails.fragments, this.media.currentTime, 0);\n if (!foundFrag) {\n this.warn('Subtitle playlist not aligned with playback');\n track.details = undefined;\n }\n }\n };\n _proto._handleFragmentLoadComplete = function _handleFragmentLoadComplete(fragLoadedData) {\n var _this3 = this;\n var frag = fragLoadedData.frag,\n payload = fragLoadedData.payload;\n var decryptData = frag.decryptdata;\n var hls = this.hls;\n if (this.fragContextChanged(frag)) {\n return;\n }\n // check to see if the payload needs to be decrypted\n if (payload && payload.byteLength > 0 && decryptData != null && decryptData.key && decryptData.iv && decryptData.method === 'AES-128') {\n var startTime = performance.now();\n // decrypt the subtitles\n this.decrypter.decrypt(new Uint8Array(payload), decryptData.key.buffer, decryptData.iv.buffer).catch(function (err) {\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_DECRYPT_ERROR,\n fatal: false,\n error: err,\n reason: err.message,\n frag: frag\n });\n throw err;\n }).then(function (decryptedData) {\n var endTime = performance.now();\n hls.trigger(Events.FRAG_DECRYPTED, {\n frag: frag,\n payload: decryptedData,\n stats: {\n tstart: startTime,\n tdecrypt: endTime\n }\n });\n }).catch(function (err) {\n _this3.warn(err.name + \": \" + err.message);\n _this3.state = State.IDLE;\n });\n }\n };\n _proto.doTick = function doTick() {\n if (!this.media) {\n this.state = State.IDLE;\n return;\n }\n if (this.state === State.IDLE) {\n var currentTrackId = this.currentTrackId,\n levels = this.levels;\n var track = levels == null ? void 0 : levels[currentTrackId];\n if (!track || !levels.length || !track.details) {\n return;\n }\n var config = this.config;\n var currentTime = this.getLoadPosition();\n var bufferedInfo = BufferHelper.bufferedInfo(this.tracksBuffered[this.currentTrackId] || [], currentTime, config.maxBufferHole);\n var targetBufferTime = bufferedInfo.end,\n bufferLen = bufferedInfo.len;\n var mainBufferInfo = this.getFwdBufferInfo(this.media, PlaylistLevelType.MAIN);\n var trackDetails = track.details;\n var maxBufLen = this.getMaxBufferLength(mainBufferInfo == null ? void 0 : mainBufferInfo.len) + trackDetails.levelTargetDuration;\n if (bufferLen > maxBufLen) {\n return;\n }\n var fragments = trackDetails.fragments;\n var fragLen = fragments.length;\n var end = trackDetails.edge;\n var foundFrag = null;\n var fragPrevious = this.fragPrevious;\n if (targetBufferTime < end) {\n var tolerance = config.maxFragLookUpTolerance;\n var lookupTolerance = targetBufferTime > end - tolerance ? 0 : tolerance;\n foundFrag = findFragmentByPTS(fragPrevious, fragments, Math.max(fragments[0].start, targetBufferTime), lookupTolerance);\n if (!foundFrag && fragPrevious && fragPrevious.start < fragments[0].start) {\n foundFrag = fragments[0];\n }\n } else {\n foundFrag = fragments[fragLen - 1];\n }\n if (!foundFrag) {\n return;\n }\n foundFrag = this.mapToInitFragWhenRequired(foundFrag);\n if (foundFrag.sn !== 'initSegment') {\n // Load earlier fragment in same discontinuity to make up for misaligned playlists and cues that extend beyond end of segment\n var curSNIdx = foundFrag.sn - trackDetails.startSN;\n var prevFrag = fragments[curSNIdx - 1];\n if (prevFrag && prevFrag.cc === foundFrag.cc && this.fragmentTracker.getState(prevFrag) === FragmentState.NOT_LOADED) {\n foundFrag = prevFrag;\n }\n }\n if (this.fragmentTracker.getState(foundFrag) === FragmentState.NOT_LOADED) {\n // only load if fragment is not loaded\n this.loadFragment(foundFrag, track, targetBufferTime);\n }\n }\n };\n _proto.getMaxBufferLength = function getMaxBufferLength(mainBufferLength) {\n var maxConfigBuffer = _BaseStreamController.prototype.getMaxBufferLength.call(this);\n if (!mainBufferLength) {\n return maxConfigBuffer;\n }\n return Math.max(maxConfigBuffer, mainBufferLength);\n };\n _proto.loadFragment = function loadFragment(frag, level, targetBufferTime) {\n this.fragCurrent = frag;\n if (frag.sn === 'initSegment') {\n this._loadInitSegment(frag, level);\n } else {\n this.startFragRequested = true;\n _BaseStreamController.prototype.loadFragment.call(this, frag, level, targetBufferTime);\n }\n };\n _createClass(SubtitleStreamController, [{\n key: \"mediaBufferTimeRanges\",\n get: function get() {\n return new BufferableInstance(this.tracksBuffered[this.currentTrackId] || []);\n }\n }]);\n return SubtitleStreamController;\n }(BaseStreamController);\n var BufferableInstance = function BufferableInstance(timeranges) {\n this.buffered = void 0;\n var getRange = function getRange(name, index, length) {\n index = index >>> 0;\n if (index > length - 1) {\n throw new DOMException(\"Failed to execute '\" + name + \"' on 'TimeRanges': The index provided (\" + index + \") is greater than the maximum bound (\" + length + \")\");\n }\n return timeranges[index][name];\n };\n this.buffered = {\n get length() {\n return timeranges.length;\n },\n end: function end(index) {\n return getRange('end', index, timeranges.length);\n },\n start: function start(index) {\n return getRange('start', index, timeranges.length);\n }\n };\n };\n\n var SubtitleTrackController = /*#__PURE__*/function (_BasePlaylistControll) {\n _inheritsLoose(SubtitleTrackController, _BasePlaylistControll);\n function SubtitleTrackController(hls) {\n var _this;\n _this = _BasePlaylistControll.call(this, hls, '[subtitle-track-controller]') || this;\n _this.media = null;\n _this.tracks = [];\n _this.groupIds = null;\n _this.tracksInGroup = [];\n _this.trackId = -1;\n _this.currentTrack = null;\n _this.selectDefaultTrack = true;\n _this.queuedDefaultTrack = -1;\n _this.asyncPollTrackChange = function () {\n return _this.pollTrackChange(0);\n };\n _this.useTextTrackPolling = false;\n _this.subtitlePollingInterval = -1;\n _this._subtitleDisplay = true;\n _this.onTextTracksChanged = function () {\n if (!_this.useTextTrackPolling) {\n self.clearInterval(_this.subtitlePollingInterval);\n }\n // Media is undefined when switching streams via loadSource()\n if (!_this.media || !_this.hls.config.renderTextTracksNatively) {\n return;\n }\n var textTrack = null;\n var tracks = filterSubtitleTracks(_this.media.textTracks);\n for (var i = 0; i < tracks.length; i++) {\n if (tracks[i].mode === 'hidden') {\n // Do not break in case there is a following track with showing.\n textTrack = tracks[i];\n } else if (tracks[i].mode === 'showing') {\n textTrack = tracks[i];\n break;\n }\n }\n\n // Find internal track index for TextTrack\n var trackId = _this.findTrackForTextTrack(textTrack);\n if (_this.subtitleTrack !== trackId) {\n _this.setSubtitleTrack(trackId);\n }\n };\n _this.registerListeners();\n return _this;\n }\n var _proto = SubtitleTrackController.prototype;\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.tracks.length = 0;\n this.tracksInGroup.length = 0;\n this.currentTrack = null;\n this.onTextTracksChanged = this.asyncPollTrackChange = null;\n _BasePlaylistControll.prototype.destroy.call(this);\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.on(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.on(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.off(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.off(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);\n hls.off(Events.ERROR, this.onError, this);\n }\n\n // Listen for subtitle track change, then extract the current track ID.\n ;\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n this.media = data.media;\n if (!this.media) {\n return;\n }\n if (this.queuedDefaultTrack > -1) {\n this.subtitleTrack = this.queuedDefaultTrack;\n this.queuedDefaultTrack = -1;\n }\n this.useTextTrackPolling = !(this.media.textTracks && 'onchange' in this.media.textTracks);\n if (this.useTextTrackPolling) {\n this.pollTrackChange(500);\n } else {\n this.media.textTracks.addEventListener('change', this.asyncPollTrackChange);\n }\n };\n _proto.pollTrackChange = function pollTrackChange(timeout) {\n self.clearInterval(this.subtitlePollingInterval);\n this.subtitlePollingInterval = self.setInterval(this.onTextTracksChanged, timeout);\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n if (!this.media) {\n return;\n }\n self.clearInterval(this.subtitlePollingInterval);\n if (!this.useTextTrackPolling) {\n this.media.textTracks.removeEventListener('change', this.asyncPollTrackChange);\n }\n if (this.trackId > -1) {\n this.queuedDefaultTrack = this.trackId;\n }\n var textTracks = filterSubtitleTracks(this.media.textTracks);\n // Clear loaded cues on media detachment from tracks\n textTracks.forEach(function (track) {\n clearCurrentCues(track);\n });\n // Disable all subtitle tracks before detachment so when reattached only tracks in that content are enabled.\n this.subtitleTrack = -1;\n this.media = null;\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.tracks = [];\n this.groupIds = null;\n this.tracksInGroup = [];\n this.trackId = -1;\n this.currentTrack = null;\n this.selectDefaultTrack = true;\n }\n\n // Fired whenever a new manifest is loaded.\n ;\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n this.tracks = data.subtitleTracks;\n };\n _proto.onSubtitleTrackLoaded = function onSubtitleTrackLoaded(event, data) {\n var id = data.id,\n groupId = data.groupId,\n details = data.details;\n var trackInActiveGroup = this.tracksInGroup[id];\n if (!trackInActiveGroup || trackInActiveGroup.groupId !== groupId) {\n this.warn(\"Subtitle track with id:\" + id + \" and group:\" + groupId + \" not found in active group \" + (trackInActiveGroup == null ? void 0 : trackInActiveGroup.groupId));\n return;\n }\n var curDetails = trackInActiveGroup.details;\n trackInActiveGroup.details = data.details;\n this.log(\"Subtitle track \" + id + \" \\\"\" + trackInActiveGroup.name + \"\\\" lang:\" + trackInActiveGroup.lang + \" group:\" + groupId + \" loaded [\" + details.startSN + \"-\" + details.endSN + \"]\");\n if (id === this.trackId) {\n this.playlistLoaded(id, data, curDetails);\n }\n };\n _proto.onLevelLoading = function onLevelLoading(event, data) {\n this.switchLevel(data.level);\n };\n _proto.onLevelSwitching = function onLevelSwitching(event, data) {\n this.switchLevel(data.level);\n };\n _proto.switchLevel = function switchLevel(levelIndex) {\n var levelInfo = this.hls.levels[levelIndex];\n if (!levelInfo) {\n return;\n }\n var subtitleGroups = levelInfo.subtitleGroups || null;\n var currentGroups = this.groupIds;\n var currentTrack = this.currentTrack;\n if (!subtitleGroups || (currentGroups == null ? void 0 : currentGroups.length) !== (subtitleGroups == null ? void 0 : subtitleGroups.length) || subtitleGroups != null && subtitleGroups.some(function (groupId) {\n return (currentGroups == null ? void 0 : currentGroups.indexOf(groupId)) === -1;\n })) {\n this.groupIds = subtitleGroups;\n this.trackId = -1;\n this.currentTrack = null;\n var subtitleTracks = this.tracks.filter(function (track) {\n return !subtitleGroups || subtitleGroups.indexOf(track.groupId) !== -1;\n });\n if (subtitleTracks.length) {\n // Disable selectDefaultTrack if there are no default tracks\n if (this.selectDefaultTrack && !subtitleTracks.some(function (track) {\n return track.default;\n })) {\n this.selectDefaultTrack = false;\n }\n // track.id should match hls.audioTracks index\n subtitleTracks.forEach(function (track, i) {\n track.id = i;\n });\n } else if (!currentTrack && !this.tracksInGroup.length) {\n // Do not dispatch SUBTITLE_TRACKS_UPDATED when there were and are no tracks\n return;\n }\n this.tracksInGroup = subtitleTracks;\n\n // Find preferred track\n var subtitlePreference = this.hls.config.subtitlePreference;\n if (!currentTrack && subtitlePreference) {\n this.selectDefaultTrack = false;\n var groupIndex = findMatchingOption(subtitlePreference, subtitleTracks);\n if (groupIndex > -1) {\n currentTrack = subtitleTracks[groupIndex];\n } else {\n var allIndex = findMatchingOption(subtitlePreference, this.tracks);\n currentTrack = this.tracks[allIndex];\n }\n }\n\n // Select initial track\n var trackId = this.findTrackId(currentTrack);\n if (trackId === -1 && currentTrack) {\n trackId = this.findTrackId(null);\n }\n\n // Dispatch events and load track if needed\n var subtitleTracksUpdated = {\n subtitleTracks: subtitleTracks\n };\n this.log(\"Updating subtitle tracks, \" + subtitleTracks.length + \" track(s) found in \\\"\" + (subtitleGroups == null ? void 0 : subtitleGroups.join(',')) + \"\\\" group-id\");\n this.hls.trigger(Events.SUBTITLE_TRACKS_UPDATED, subtitleTracksUpdated);\n if (trackId !== -1 && this.trackId === -1) {\n this.setSubtitleTrack(trackId);\n }\n } else if (this.shouldReloadPlaylist(currentTrack)) {\n // Retry playlist loading if no playlist is or has been loaded yet\n this.setSubtitleTrack(this.trackId);\n }\n };\n _proto.findTrackId = function findTrackId(currentTrack) {\n var tracks = this.tracksInGroup;\n var selectDefault = this.selectDefaultTrack;\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n if (selectDefault && !track.default || !selectDefault && !currentTrack) {\n continue;\n }\n if (!currentTrack || matchesOption(track, currentTrack)) {\n return i;\n }\n }\n if (currentTrack) {\n for (var _i = 0; _i < tracks.length; _i++) {\n var _track = tracks[_i];\n if (mediaAttributesIdentical(currentTrack.attrs, _track.attrs, ['LANGUAGE', 'ASSOC-LANGUAGE', 'CHARACTERISTICS'])) {\n return _i;\n }\n }\n for (var _i2 = 0; _i2 < tracks.length; _i2++) {\n var _track2 = tracks[_i2];\n if (mediaAttributesIdentical(currentTrack.attrs, _track2.attrs, ['LANGUAGE'])) {\n return _i2;\n }\n }\n }\n return -1;\n };\n _proto.findTrackForTextTrack = function findTrackForTextTrack(textTrack) {\n if (textTrack) {\n var tracks = this.tracksInGroup;\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n if (subtitleTrackMatchesTextTrack(track, textTrack)) {\n return i;\n }\n }\n }\n return -1;\n };\n _proto.onError = function onError(event, data) {\n if (data.fatal || !data.context) {\n return;\n }\n if (data.context.type === PlaylistContextType.SUBTITLE_TRACK && data.context.id === this.trackId && (!this.groupIds || this.groupIds.indexOf(data.context.groupId) !== -1)) {\n this.checkRetry(data);\n }\n };\n _proto.setSubtitleOption = function setSubtitleOption(subtitleOption) {\n this.hls.config.subtitlePreference = subtitleOption;\n if (subtitleOption) {\n var allSubtitleTracks = this.allSubtitleTracks;\n this.selectDefaultTrack = false;\n if (allSubtitleTracks.length) {\n // First see if current option matches (no switch op)\n var currentTrack = this.currentTrack;\n if (currentTrack && matchesOption(subtitleOption, currentTrack)) {\n return currentTrack;\n }\n // Find option in current group\n var groupIndex = findMatchingOption(subtitleOption, this.tracksInGroup);\n if (groupIndex > -1) {\n var track = this.tracksInGroup[groupIndex];\n this.setSubtitleTrack(groupIndex);\n return track;\n } else if (currentTrack) {\n // If this is not the initial selection return null\n // option should have matched one in active group\n return null;\n } else {\n // Find the option in all tracks for initial selection\n var allIndex = findMatchingOption(subtitleOption, allSubtitleTracks);\n if (allIndex > -1) {\n return allSubtitleTracks[allIndex];\n }\n }\n }\n }\n return null;\n };\n _proto.loadPlaylist = function loadPlaylist(hlsUrlParameters) {\n _BasePlaylistControll.prototype.loadPlaylist.call(this);\n var currentTrack = this.currentTrack;\n if (this.shouldLoadPlaylist(currentTrack) && currentTrack) {\n var id = currentTrack.id;\n var groupId = currentTrack.groupId;\n var url = currentTrack.url;\n if (hlsUrlParameters) {\n try {\n url = hlsUrlParameters.addDirectives(url);\n } catch (error) {\n this.warn(\"Could not construct new URL with HLS Delivery Directives: \" + error);\n }\n }\n this.log(\"Loading subtitle playlist for id \" + id);\n this.hls.trigger(Events.SUBTITLE_TRACK_LOADING, {\n url: url,\n id: id,\n groupId: groupId,\n deliveryDirectives: hlsUrlParameters || null\n });\n }\n }\n\n /**\n * Disables the old subtitleTrack and sets current mode on the next subtitleTrack.\n * This operates on the DOM textTracks.\n * A value of -1 will disable all subtitle tracks.\n */;\n _proto.toggleTrackModes = function toggleTrackModes() {\n var media = this.media;\n if (!media) {\n return;\n }\n var textTracks = filterSubtitleTracks(media.textTracks);\n var currentTrack = this.currentTrack;\n var nextTrack;\n if (currentTrack) {\n nextTrack = textTracks.filter(function (textTrack) {\n return subtitleTrackMatchesTextTrack(currentTrack, textTrack);\n })[0];\n if (!nextTrack) {\n this.warn(\"Unable to find subtitle TextTrack with name \\\"\" + currentTrack.name + \"\\\" and language \\\"\" + currentTrack.lang + \"\\\"\");\n }\n }\n [].slice.call(textTracks).forEach(function (track) {\n if (track.mode !== 'disabled' && track !== nextTrack) {\n track.mode = 'disabled';\n }\n });\n if (nextTrack) {\n var mode = this.subtitleDisplay ? 'showing' : 'hidden';\n if (nextTrack.mode !== mode) {\n nextTrack.mode = mode;\n }\n }\n }\n\n /**\n * This method is responsible for validating the subtitle index and periodically reloading if live.\n * Dispatches the SUBTITLE_TRACK_SWITCH event, which instructs the subtitle-stream-controller to load the selected track.\n */;\n _proto.setSubtitleTrack = function setSubtitleTrack(newId) {\n var tracks = this.tracksInGroup;\n\n // setting this.subtitleTrack will trigger internal logic\n // if media has not been attached yet, it will fail\n // we keep a reference to the default track id\n // and we'll set subtitleTrack when onMediaAttached is triggered\n if (!this.media) {\n this.queuedDefaultTrack = newId;\n return;\n }\n\n // exit if track id as already set or invalid\n if (newId < -1 || newId >= tracks.length || !isFiniteNumber(newId)) {\n this.warn(\"Invalid subtitle track id: \" + newId);\n return;\n }\n\n // stopping live reloading timer if any\n this.clearTimer();\n this.selectDefaultTrack = false;\n var lastTrack = this.currentTrack;\n var track = tracks[newId] || null;\n this.trackId = newId;\n this.currentTrack = track;\n this.toggleTrackModes();\n if (!track) {\n // switch to -1\n this.hls.trigger(Events.SUBTITLE_TRACK_SWITCH, {\n id: newId\n });\n return;\n }\n var trackLoaded = !!track.details && !track.details.live;\n if (newId === this.trackId && track === lastTrack && trackLoaded) {\n return;\n }\n this.log(\"Switching to subtitle-track \" + newId + (track ? \" \\\"\" + track.name + \"\\\" lang:\" + track.lang + \" group:\" + track.groupId : ''));\n var id = track.id,\n _track$groupId = track.groupId,\n groupId = _track$groupId === void 0 ? '' : _track$groupId,\n name = track.name,\n type = track.type,\n url = track.url;\n this.hls.trigger(Events.SUBTITLE_TRACK_SWITCH, {\n id: id,\n groupId: groupId,\n name: name,\n type: type,\n url: url\n });\n var hlsUrlParameters = this.switchParams(track.url, lastTrack == null ? void 0 : lastTrack.details);\n this.loadPlaylist(hlsUrlParameters);\n };\n _createClass(SubtitleTrackController, [{\n key: \"subtitleDisplay\",\n get: function get() {\n return this._subtitleDisplay;\n },\n set: function set(value) {\n this._subtitleDisplay = value;\n if (this.trackId > -1) {\n this.toggleTrackModes();\n }\n }\n }, {\n key: \"allSubtitleTracks\",\n get: function get() {\n return this.tracks;\n }\n\n /** get alternate subtitle tracks list from playlist **/\n }, {\n key: \"subtitleTracks\",\n get: function get() {\n return this.tracksInGroup;\n }\n\n /** get/set index of the selected subtitle track (based on index in subtitle track lists) **/\n }, {\n key: \"subtitleTrack\",\n get: function get() {\n return this.trackId;\n },\n set: function set(newId) {\n this.selectDefaultTrack = false;\n this.setSubtitleTrack(newId);\n }\n }]);\n return SubtitleTrackController;\n }(BasePlaylistController);\n\n var BufferOperationQueue = /*#__PURE__*/function () {\n function BufferOperationQueue(sourceBufferReference) {\n this.buffers = void 0;\n this.queues = {\n video: [],\n audio: [],\n audiovideo: []\n };\n this.buffers = sourceBufferReference;\n }\n var _proto = BufferOperationQueue.prototype;\n _proto.append = function append(operation, type, pending) {\n var queue = this.queues[type];\n queue.push(operation);\n if (queue.length === 1 && !pending) {\n this.executeNext(type);\n }\n };\n _proto.insertAbort = function insertAbort(operation, type) {\n var queue = this.queues[type];\n queue.unshift(operation);\n this.executeNext(type);\n };\n _proto.appendBlocker = function appendBlocker(type) {\n var execute;\n var promise = new Promise(function (resolve) {\n execute = resolve;\n });\n var operation = {\n execute: execute,\n onStart: function onStart() {},\n onComplete: function onComplete() {},\n onError: function onError() {}\n };\n this.append(operation, type);\n return promise;\n };\n _proto.executeNext = function executeNext(type) {\n var queue = this.queues[type];\n if (queue.length) {\n var operation = queue[0];\n try {\n // Operations are expected to result in an 'updateend' event being fired. If not, the queue will lock. Operations\n // which do not end with this event must call _onSBUpdateEnd manually\n operation.execute();\n } catch (error) {\n logger.warn(\"[buffer-operation-queue]: Exception executing \\\"\" + type + \"\\\" SourceBuffer operation: \" + error);\n operation.onError(error);\n\n // Only shift the current operation off, otherwise the updateend handler will do this for us\n var sb = this.buffers[type];\n if (!(sb != null && sb.updating)) {\n this.shiftAndExecuteNext(type);\n }\n }\n }\n };\n _proto.shiftAndExecuteNext = function shiftAndExecuteNext(type) {\n this.queues[type].shift();\n this.executeNext(type);\n };\n _proto.current = function current(type) {\n return this.queues[type][0];\n };\n return BufferOperationQueue;\n }();\n\n var VIDEO_CODEC_PROFILE_REPLACE = /(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\\.[^.,]+)+/;\n var BufferController = /*#__PURE__*/function () {\n function BufferController(hls) {\n var _this = this;\n // The level details used to determine duration, target-duration and live\n this.details = null;\n // cache the self generated object url to detect hijack of video tag\n this._objectUrl = null;\n // A queue of buffer operations which require the SourceBuffer to not be updating upon execution\n this.operationQueue = void 0;\n // References to event listeners for each SourceBuffer, so that they can be referenced for event removal\n this.listeners = void 0;\n this.hls = void 0;\n // The number of BUFFER_CODEC events received before any sourceBuffers are created\n this.bufferCodecEventsExpected = 0;\n // The total number of BUFFER_CODEC events received\n this._bufferCodecEventsTotal = 0;\n // A reference to the attached media element\n this.media = null;\n // A reference to the active media source\n this.mediaSource = null;\n // Last MP3 audio chunk appended\n this.lastMpegAudioChunk = null;\n this.appendSource = void 0;\n // counters\n this.appendErrors = {\n audio: 0,\n video: 0,\n audiovideo: 0\n };\n this.tracks = {};\n this.pendingTracks = {};\n this.sourceBuffer = void 0;\n this.log = void 0;\n this.warn = void 0;\n this.error = void 0;\n this._onEndStreaming = function (event) {\n if (!_this.hls) {\n return;\n }\n _this.hls.pauseBuffering();\n };\n this._onStartStreaming = function (event) {\n if (!_this.hls) {\n return;\n }\n _this.hls.resumeBuffering();\n };\n // Keep as arrow functions so that we can directly reference these functions directly as event listeners\n this._onMediaSourceOpen = function () {\n var media = _this.media,\n mediaSource = _this.mediaSource;\n _this.log('Media source opened');\n if (media) {\n media.removeEventListener('emptied', _this._onMediaEmptied);\n _this.updateMediaElementDuration();\n _this.hls.trigger(Events.MEDIA_ATTACHED, {\n media: media,\n mediaSource: mediaSource\n });\n }\n if (mediaSource) {\n // once received, don't listen anymore to sourceopen event\n mediaSource.removeEventListener('sourceopen', _this._onMediaSourceOpen);\n }\n _this.checkPendingTracks();\n };\n this._onMediaSourceClose = function () {\n _this.log('Media source closed');\n };\n this._onMediaSourceEnded = function () {\n _this.log('Media source ended');\n };\n this._onMediaEmptied = function () {\n var mediaSrc = _this.mediaSrc,\n _objectUrl = _this._objectUrl;\n if (mediaSrc !== _objectUrl) {\n logger.error(\"Media element src was set while attaching MediaSource (\" + _objectUrl + \" > \" + mediaSrc + \")\");\n }\n };\n this.hls = hls;\n var logPrefix = '[buffer-controller]';\n this.appendSource = hls.config.preferManagedMediaSource;\n this.log = logger.log.bind(logger, logPrefix);\n this.warn = logger.warn.bind(logger, logPrefix);\n this.error = logger.error.bind(logger, logPrefix);\n this._initSourceBuffer();\n this.registerListeners();\n }\n var _proto = BufferController.prototype;\n _proto.hasSourceTypes = function hasSourceTypes() {\n return this.getSourceBufferTypes().length > 0 || Object.keys(this.pendingTracks).length > 0;\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.details = null;\n this.lastMpegAudioChunk = null;\n // @ts-ignore\n this.hls = null;\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.BUFFER_RESET, this.onBufferReset, this);\n hls.on(Events.BUFFER_APPENDING, this.onBufferAppending, this);\n hls.on(Events.BUFFER_CODECS, this.onBufferCodecs, this);\n hls.on(Events.BUFFER_EOS, this.onBufferEos, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n hls.on(Events.FRAG_PARSED, this.onFragParsed, this);\n hls.on(Events.FRAG_CHANGED, this.onFragChanged, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.BUFFER_RESET, this.onBufferReset, this);\n hls.off(Events.BUFFER_APPENDING, this.onBufferAppending, this);\n hls.off(Events.BUFFER_CODECS, this.onBufferCodecs, this);\n hls.off(Events.BUFFER_EOS, this.onBufferEos, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n hls.off(Events.FRAG_PARSED, this.onFragParsed, this);\n hls.off(Events.FRAG_CHANGED, this.onFragChanged, this);\n };\n _proto._initSourceBuffer = function _initSourceBuffer() {\n this.sourceBuffer = {};\n this.operationQueue = new BufferOperationQueue(this.sourceBuffer);\n this.listeners = {\n audio: [],\n video: [],\n audiovideo: []\n };\n this.appendErrors = {\n audio: 0,\n video: 0,\n audiovideo: 0\n };\n this.lastMpegAudioChunk = null;\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.bufferCodecEventsExpected = this._bufferCodecEventsTotal = 0;\n this.details = null;\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n // in case of alt audio 2 BUFFER_CODECS events will be triggered, one per stream controller\n // sourcebuffers will be created all at once when the expected nb of tracks will be reached\n // in case alt audio is not used, only one BUFFER_CODEC event will be fired from main stream controller\n // it will contain the expected nb of source buffers, no need to compute it\n var codecEvents = 2;\n if (data.audio && !data.video || !data.altAudio || !true) {\n codecEvents = 1;\n }\n this.bufferCodecEventsExpected = this._bufferCodecEventsTotal = codecEvents;\n this.log(this.bufferCodecEventsExpected + \" bufferCodec event(s) expected\");\n };\n _proto.onMediaAttaching = function onMediaAttaching(event, data) {\n var media = this.media = data.media;\n var MediaSource = getMediaSource(this.appendSource);\n if (media && MediaSource) {\n var _ms$constructor;\n var ms = this.mediaSource = new MediaSource();\n this.log(\"created media source: \" + ((_ms$constructor = ms.constructor) == null ? void 0 : _ms$constructor.name));\n // MediaSource listeners are arrow functions with a lexical scope, and do not need to be bound\n ms.addEventListener('sourceopen', this._onMediaSourceOpen);\n ms.addEventListener('sourceended', this._onMediaSourceEnded);\n ms.addEventListener('sourceclose', this._onMediaSourceClose);\n ms.addEventListener('startstreaming', this._onStartStreaming);\n ms.addEventListener('endstreaming', this._onEndStreaming);\n\n // cache the locally generated object url\n var objectUrl = this._objectUrl = self.URL.createObjectURL(ms);\n // link video and media Source\n if (this.appendSource) {\n try {\n media.removeAttribute('src');\n // ManagedMediaSource will not open without disableRemotePlayback set to false or source alternatives\n var MMS = self.ManagedMediaSource;\n media.disableRemotePlayback = media.disableRemotePlayback || MMS && ms instanceof MMS;\n removeSourceChildren(media);\n addSource(media, objectUrl);\n media.load();\n } catch (error) {\n media.src = objectUrl;\n }\n } else {\n media.src = objectUrl;\n }\n media.addEventListener('emptied', this._onMediaEmptied);\n }\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n var media = this.media,\n mediaSource = this.mediaSource,\n _objectUrl = this._objectUrl;\n if (mediaSource) {\n this.log('media source detaching');\n if (mediaSource.readyState === 'open') {\n try {\n // endOfStream could trigger exception if any sourcebuffer is in updating state\n // we don't really care about checking sourcebuffer state here,\n // as we are anyway detaching the MediaSource\n // let's just avoid this exception to propagate\n mediaSource.endOfStream();\n } catch (err) {\n this.warn(\"onMediaDetaching: \" + err.message + \" while calling endOfStream\");\n }\n }\n // Clean up the SourceBuffers by invoking onBufferReset\n this.onBufferReset();\n mediaSource.removeEventListener('sourceopen', this._onMediaSourceOpen);\n mediaSource.removeEventListener('sourceended', this._onMediaSourceEnded);\n mediaSource.removeEventListener('sourceclose', this._onMediaSourceClose);\n mediaSource.removeEventListener('startstreaming', this._onStartStreaming);\n mediaSource.removeEventListener('endstreaming', this._onEndStreaming);\n\n // Detach properly the MediaSource from the HTMLMediaElement as\n // suggested in https://github.com/w3c/media-source/issues/53.\n if (media) {\n media.removeEventListener('emptied', this._onMediaEmptied);\n if (_objectUrl) {\n self.URL.revokeObjectURL(_objectUrl);\n }\n\n // clean up video tag src only if it's our own url. some external libraries might\n // hijack the video tag and change its 'src' without destroying the Hls instance first\n if (this.mediaSrc === _objectUrl) {\n media.removeAttribute('src');\n if (this.appendSource) {\n removeSourceChildren(media);\n }\n media.load();\n } else {\n this.warn('media|source.src was changed by a third party - skip cleanup');\n }\n }\n this.mediaSource = null;\n this.media = null;\n this._objectUrl = null;\n this.bufferCodecEventsExpected = this._bufferCodecEventsTotal;\n this.pendingTracks = {};\n this.tracks = {};\n }\n this.hls.trigger(Events.MEDIA_DETACHED, undefined);\n };\n _proto.onBufferReset = function onBufferReset() {\n var _this2 = this;\n this.getSourceBufferTypes().forEach(function (type) {\n _this2.resetBuffer(type);\n });\n this._initSourceBuffer();\n };\n _proto.resetBuffer = function resetBuffer(type) {\n var sb = this.sourceBuffer[type];\n try {\n if (sb) {\n var _this$mediaSource;\n this.removeBufferListeners(type);\n // Synchronously remove the SB from the map before the next call in order to prevent an async function from\n // accessing it\n this.sourceBuffer[type] = undefined;\n if ((_this$mediaSource = this.mediaSource) != null && _this$mediaSource.sourceBuffers.length) {\n this.mediaSource.removeSourceBuffer(sb);\n }\n }\n } catch (err) {\n this.warn(\"onBufferReset \" + type, err);\n }\n };\n _proto.onBufferCodecs = function onBufferCodecs(event, data) {\n var _this3 = this;\n var sourceBufferCount = this.getSourceBufferTypes().length;\n var trackNames = Object.keys(data);\n trackNames.forEach(function (trackName) {\n if (sourceBufferCount) {\n // check if SourceBuffer codec needs to change\n var track = _this3.tracks[trackName];\n if (track && typeof track.buffer.changeType === 'function') {\n var _trackCodec;\n var _data$trackName = data[trackName],\n id = _data$trackName.id,\n codec = _data$trackName.codec,\n levelCodec = _data$trackName.levelCodec,\n container = _data$trackName.container,\n metadata = _data$trackName.metadata;\n var currentCodecFull = pickMostCompleteCodecName(track.codec, track.levelCodec);\n var currentCodec = currentCodecFull == null ? void 0 : currentCodecFull.replace(VIDEO_CODEC_PROFILE_REPLACE, '$1');\n var trackCodec = pickMostCompleteCodecName(codec, levelCodec);\n var nextCodec = (_trackCodec = trackCodec) == null ? void 0 : _trackCodec.replace(VIDEO_CODEC_PROFILE_REPLACE, '$1');\n if (trackCodec && currentCodec !== nextCodec) {\n if (trackName.slice(0, 5) === 'audio') {\n trackCodec = getCodecCompatibleName(trackCodec, _this3.hls.config.preferManagedMediaSource);\n }\n var mimeType = container + \";codecs=\" + trackCodec;\n _this3.appendChangeType(trackName, mimeType);\n _this3.log(\"switching codec \" + currentCodecFull + \" to \" + trackCodec);\n _this3.tracks[trackName] = {\n buffer: track.buffer,\n codec: codec,\n container: container,\n levelCodec: levelCodec,\n metadata: metadata,\n id: id\n };\n }\n }\n } else {\n // if source buffer(s) not created yet, appended buffer tracks in this.pendingTracks\n _this3.pendingTracks[trackName] = data[trackName];\n }\n });\n\n // if sourcebuffers already created, do nothing ...\n if (sourceBufferCount) {\n return;\n }\n var bufferCodecEventsExpected = Math.max(this.bufferCodecEventsExpected - 1, 0);\n if (this.bufferCodecEventsExpected !== bufferCodecEventsExpected) {\n this.log(bufferCodecEventsExpected + \" bufferCodec event(s) expected \" + trackNames.join(','));\n this.bufferCodecEventsExpected = bufferCodecEventsExpected;\n }\n if (this.mediaSource && this.mediaSource.readyState === 'open') {\n this.checkPendingTracks();\n }\n };\n _proto.appendChangeType = function appendChangeType(type, mimeType) {\n var _this4 = this;\n var operationQueue = this.operationQueue;\n var operation = {\n execute: function execute() {\n var sb = _this4.sourceBuffer[type];\n if (sb) {\n _this4.log(\"changing \" + type + \" sourceBuffer type to \" + mimeType);\n sb.changeType(mimeType);\n }\n operationQueue.shiftAndExecuteNext(type);\n },\n onStart: function onStart() {},\n onComplete: function onComplete() {},\n onError: function onError(error) {\n _this4.warn(\"Failed to change \" + type + \" SourceBuffer type\", error);\n }\n };\n operationQueue.append(operation, type, !!this.pendingTracks[type]);\n };\n _proto.onBufferAppending = function onBufferAppending(event, eventData) {\n var _this5 = this;\n var hls = this.hls,\n operationQueue = this.operationQueue,\n tracks = this.tracks;\n var data = eventData.data,\n type = eventData.type,\n frag = eventData.frag,\n part = eventData.part,\n chunkMeta = eventData.chunkMeta;\n var chunkStats = chunkMeta.buffering[type];\n var bufferAppendingStart = self.performance.now();\n chunkStats.start = bufferAppendingStart;\n var fragBuffering = frag.stats.buffering;\n var partBuffering = part ? part.stats.buffering : null;\n if (fragBuffering.start === 0) {\n fragBuffering.start = bufferAppendingStart;\n }\n if (partBuffering && partBuffering.start === 0) {\n partBuffering.start = bufferAppendingStart;\n }\n\n // TODO: Only update timestampOffset when audio/mpeg fragment or part is not contiguous with previously appended\n // Adjusting `SourceBuffer.timestampOffset` (desired point in the timeline where the next frames should be appended)\n // in Chrome browser when we detect MPEG audio container and time delta between level PTS and `SourceBuffer.timestampOffset`\n // is greater than 100ms (this is enough to handle seek for VOD or level change for LIVE videos).\n // More info here: https://github.com/video-dev/hls.js/issues/332#issuecomment-257986486\n var audioTrack = tracks.audio;\n var checkTimestampOffset = false;\n if (type === 'audio' && (audioTrack == null ? void 0 : audioTrack.container) === 'audio/mpeg') {\n checkTimestampOffset = !this.lastMpegAudioChunk || chunkMeta.id === 1 || this.lastMpegAudioChunk.sn !== chunkMeta.sn;\n this.lastMpegAudioChunk = chunkMeta;\n }\n var fragStart = frag.start;\n var operation = {\n execute: function execute() {\n chunkStats.executeStart = self.performance.now();\n if (checkTimestampOffset) {\n var sb = _this5.sourceBuffer[type];\n if (sb) {\n var delta = fragStart - sb.timestampOffset;\n if (Math.abs(delta) >= 0.1) {\n _this5.log(\"Updating audio SourceBuffer timestampOffset to \" + fragStart + \" (delta: \" + delta + \") sn: \" + frag.sn + \")\");\n sb.timestampOffset = fragStart;\n }\n }\n }\n _this5.appendExecutor(data, type);\n },\n onStart: function onStart() {\n // logger.debug(`[buffer-controller]: ${type} SourceBuffer updatestart`);\n },\n onComplete: function onComplete() {\n // logger.debug(`[buffer-controller]: ${type} SourceBuffer updateend`);\n var end = self.performance.now();\n chunkStats.executeEnd = chunkStats.end = end;\n if (fragBuffering.first === 0) {\n fragBuffering.first = end;\n }\n if (partBuffering && partBuffering.first === 0) {\n partBuffering.first = end;\n }\n var sourceBuffer = _this5.sourceBuffer;\n var timeRanges = {};\n for (var _type in sourceBuffer) {\n timeRanges[_type] = BufferHelper.getBuffered(sourceBuffer[_type]);\n }\n _this5.appendErrors[type] = 0;\n if (type === 'audio' || type === 'video') {\n _this5.appendErrors.audiovideo = 0;\n } else {\n _this5.appendErrors.audio = 0;\n _this5.appendErrors.video = 0;\n }\n _this5.hls.trigger(Events.BUFFER_APPENDED, {\n type: type,\n frag: frag,\n part: part,\n chunkMeta: chunkMeta,\n parent: frag.type,\n timeRanges: timeRanges\n });\n },\n onError: function onError(error) {\n // in case any error occured while appending, put back segment in segments table\n var event = {\n type: ErrorTypes.MEDIA_ERROR,\n parent: frag.type,\n details: ErrorDetails.BUFFER_APPEND_ERROR,\n sourceBufferName: type,\n frag: frag,\n part: part,\n chunkMeta: chunkMeta,\n error: error,\n err: error,\n fatal: false\n };\n if (error.code === DOMException.QUOTA_EXCEEDED_ERR) {\n // QuotaExceededError: http://www.w3.org/TR/html5/infrastructure.html#quotaexceedederror\n // let's stop appending any segments, and report BUFFER_FULL_ERROR error\n event.details = ErrorDetails.BUFFER_FULL_ERROR;\n } else {\n var appendErrorCount = ++_this5.appendErrors[type];\n event.details = ErrorDetails.BUFFER_APPEND_ERROR;\n /* with UHD content, we could get loop of quota exceeded error until\n browser is able to evict some data from sourcebuffer. Retrying can help recover.\n */\n _this5.warn(\"Failed \" + appendErrorCount + \"/\" + hls.config.appendErrorMaxRetry + \" times to append segment in \\\"\" + type + \"\\\" sourceBuffer\");\n if (appendErrorCount >= hls.config.appendErrorMaxRetry) {\n event.fatal = true;\n }\n }\n hls.trigger(Events.ERROR, event);\n }\n };\n operationQueue.append(operation, type, !!this.pendingTracks[type]);\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, data) {\n var _this6 = this;\n var operationQueue = this.operationQueue;\n var flushOperation = function flushOperation(type) {\n return {\n execute: _this6.removeExecutor.bind(_this6, type, data.startOffset, data.endOffset),\n onStart: function onStart() {\n // logger.debug(`[buffer-controller]: Started flushing ${data.startOffset} -> ${data.endOffset} for ${type} Source Buffer`);\n },\n onComplete: function onComplete() {\n // logger.debug(`[buffer-controller]: Finished flushing ${data.startOffset} -> ${data.endOffset} for ${type} Source Buffer`);\n _this6.hls.trigger(Events.BUFFER_FLUSHED, {\n type: type\n });\n },\n onError: function onError(error) {\n _this6.warn(\"Failed to remove from \" + type + \" SourceBuffer\", error);\n }\n };\n };\n if (data.type) {\n operationQueue.append(flushOperation(data.type), data.type);\n } else {\n this.getSourceBufferTypes().forEach(function (type) {\n operationQueue.append(flushOperation(type), type);\n });\n }\n };\n _proto.onFragParsed = function onFragParsed(event, data) {\n var _this7 = this;\n var frag = data.frag,\n part = data.part;\n var buffersAppendedTo = [];\n var elementaryStreams = part ? part.elementaryStreams : frag.elementaryStreams;\n if (elementaryStreams[ElementaryStreamTypes.AUDIOVIDEO]) {\n buffersAppendedTo.push('audiovideo');\n } else {\n if (elementaryStreams[ElementaryStreamTypes.AUDIO]) {\n buffersAppendedTo.push('audio');\n }\n if (elementaryStreams[ElementaryStreamTypes.VIDEO]) {\n buffersAppendedTo.push('video');\n }\n }\n var onUnblocked = function onUnblocked() {\n var now = self.performance.now();\n frag.stats.buffering.end = now;\n if (part) {\n part.stats.buffering.end = now;\n }\n var stats = part ? part.stats : frag.stats;\n _this7.hls.trigger(Events.FRAG_BUFFERED, {\n frag: frag,\n part: part,\n stats: stats,\n id: frag.type\n });\n };\n if (buffersAppendedTo.length === 0) {\n this.warn(\"Fragments must have at least one ElementaryStreamType set. type: \" + frag.type + \" level: \" + frag.level + \" sn: \" + frag.sn);\n }\n this.blockBuffers(onUnblocked, buffersAppendedTo);\n };\n _proto.onFragChanged = function onFragChanged(event, data) {\n this.trimBuffers();\n }\n\n // on BUFFER_EOS mark matching sourcebuffer(s) as ended and trigger checkEos()\n // an undefined data.type will mark all buffers as EOS.\n ;\n _proto.onBufferEos = function onBufferEos(event, data) {\n var _this8 = this;\n var ended = this.getSourceBufferTypes().reduce(function (acc, type) {\n var sb = _this8.sourceBuffer[type];\n if (sb && (!data.type || data.type === type)) {\n sb.ending = true;\n if (!sb.ended) {\n sb.ended = true;\n _this8.log(type + \" sourceBuffer now EOS\");\n }\n }\n return acc && !!(!sb || sb.ended);\n }, true);\n if (ended) {\n this.log(\"Queueing mediaSource.endOfStream()\");\n this.blockBuffers(function () {\n _this8.getSourceBufferTypes().forEach(function (type) {\n var sb = _this8.sourceBuffer[type];\n if (sb) {\n sb.ending = false;\n }\n });\n var mediaSource = _this8.mediaSource;\n if (!mediaSource || mediaSource.readyState !== 'open') {\n if (mediaSource) {\n _this8.log(\"Could not call mediaSource.endOfStream(). mediaSource.readyState: \" + mediaSource.readyState);\n }\n return;\n }\n _this8.log(\"Calling mediaSource.endOfStream()\");\n // Allow this to throw and be caught by the enqueueing function\n mediaSource.endOfStream();\n });\n }\n };\n _proto.onLevelUpdated = function onLevelUpdated(event, _ref) {\n var details = _ref.details;\n if (!details.fragments.length) {\n return;\n }\n this.details = details;\n if (this.getSourceBufferTypes().length) {\n this.blockBuffers(this.updateMediaElementDuration.bind(this));\n } else {\n this.updateMediaElementDuration();\n }\n };\n _proto.trimBuffers = function trimBuffers() {\n var hls = this.hls,\n details = this.details,\n media = this.media;\n if (!media || details === null) {\n return;\n }\n var sourceBufferTypes = this.getSourceBufferTypes();\n if (!sourceBufferTypes.length) {\n return;\n }\n var config = hls.config;\n var currentTime = media.currentTime;\n var targetDuration = details.levelTargetDuration;\n\n // Support for deprecated liveBackBufferLength\n var backBufferLength = details.live && config.liveBackBufferLength !== null ? config.liveBackBufferLength : config.backBufferLength;\n if (isFiniteNumber(backBufferLength) && backBufferLength > 0) {\n var maxBackBufferLength = Math.max(backBufferLength, targetDuration);\n var targetBackBufferPosition = Math.floor(currentTime / targetDuration) * targetDuration - maxBackBufferLength;\n this.flushBackBuffer(currentTime, targetDuration, targetBackBufferPosition);\n }\n if (isFiniteNumber(config.frontBufferFlushThreshold) && config.frontBufferFlushThreshold > 0) {\n var frontBufferLength = Math.max(config.maxBufferLength, config.frontBufferFlushThreshold);\n var maxFrontBufferLength = Math.max(frontBufferLength, targetDuration);\n var targetFrontBufferPosition = Math.floor(currentTime / targetDuration) * targetDuration + maxFrontBufferLength;\n this.flushFrontBuffer(currentTime, targetDuration, targetFrontBufferPosition);\n }\n };\n _proto.flushBackBuffer = function flushBackBuffer(currentTime, targetDuration, targetBackBufferPosition) {\n var _this9 = this;\n var details = this.details,\n sourceBuffer = this.sourceBuffer;\n var sourceBufferTypes = this.getSourceBufferTypes();\n sourceBufferTypes.forEach(function (type) {\n var sb = sourceBuffer[type];\n if (sb) {\n var buffered = BufferHelper.getBuffered(sb);\n // when target buffer start exceeds actual buffer start\n if (buffered.length > 0 && targetBackBufferPosition > buffered.start(0)) {\n _this9.hls.trigger(Events.BACK_BUFFER_REACHED, {\n bufferEnd: targetBackBufferPosition\n });\n\n // Support for deprecated event:\n if (details != null && details.live) {\n _this9.hls.trigger(Events.LIVE_BACK_BUFFER_REACHED, {\n bufferEnd: targetBackBufferPosition\n });\n } else if (sb.ended && buffered.end(buffered.length - 1) - currentTime < targetDuration * 2) {\n _this9.log(\"Cannot flush \" + type + \" back buffer while SourceBuffer is in ended state\");\n return;\n }\n _this9.hls.trigger(Events.BUFFER_FLUSHING, {\n startOffset: 0,\n endOffset: targetBackBufferPosition,\n type: type\n });\n }\n }\n });\n };\n _proto.flushFrontBuffer = function flushFrontBuffer(currentTime, targetDuration, targetFrontBufferPosition) {\n var _this10 = this;\n var sourceBuffer = this.sourceBuffer;\n var sourceBufferTypes = this.getSourceBufferTypes();\n sourceBufferTypes.forEach(function (type) {\n var sb = sourceBuffer[type];\n if (sb) {\n var buffered = BufferHelper.getBuffered(sb);\n var numBufferedRanges = buffered.length;\n // The buffer is either empty or contiguous\n if (numBufferedRanges < 2) {\n return;\n }\n var bufferStart = buffered.start(numBufferedRanges - 1);\n var bufferEnd = buffered.end(numBufferedRanges - 1);\n // No flush if we can tolerate the current buffer length or the current buffer range we would flush is contiguous with current position\n if (targetFrontBufferPosition > bufferStart || currentTime >= bufferStart && currentTime <= bufferEnd) {\n return;\n } else if (sb.ended && currentTime - bufferEnd < 2 * targetDuration) {\n _this10.log(\"Cannot flush \" + type + \" front buffer while SourceBuffer is in ended state\");\n return;\n }\n _this10.hls.trigger(Events.BUFFER_FLUSHING, {\n startOffset: bufferStart,\n endOffset: Infinity,\n type: type\n });\n }\n });\n }\n\n /**\n * Update Media Source duration to current level duration or override to Infinity if configuration parameter\n * 'liveDurationInfinity` is set to `true`\n * More details: https://github.com/video-dev/hls.js/issues/355\n */;\n _proto.updateMediaElementDuration = function updateMediaElementDuration() {\n if (!this.details || !this.media || !this.mediaSource || this.mediaSource.readyState !== 'open') {\n return;\n }\n var details = this.details,\n hls = this.hls,\n media = this.media,\n mediaSource = this.mediaSource;\n var levelDuration = details.fragments[0].start + details.totalduration;\n var mediaDuration = media.duration;\n var msDuration = isFiniteNumber(mediaSource.duration) ? mediaSource.duration : 0;\n if (details.live && hls.config.liveDurationInfinity) {\n // Override duration to Infinity\n mediaSource.duration = Infinity;\n this.updateSeekableRange(details);\n } else if (levelDuration > msDuration && levelDuration > mediaDuration || !isFiniteNumber(mediaDuration)) {\n // levelDuration was the last value we set.\n // not using mediaSource.duration as the browser may tweak this value\n // only update Media Source duration if its value increase, this is to avoid\n // flushing already buffered portion when switching between quality level\n this.log(\"Updating Media Source duration to \" + levelDuration.toFixed(3));\n mediaSource.duration = levelDuration;\n }\n };\n _proto.updateSeekableRange = function updateSeekableRange(levelDetails) {\n var mediaSource = this.mediaSource;\n var fragments = levelDetails.fragments;\n var len = fragments.length;\n if (len && levelDetails.live && mediaSource != null && mediaSource.setLiveSeekableRange) {\n var start = Math.max(0, fragments[0].start);\n var end = Math.max(start, start + levelDetails.totalduration);\n this.log(\"Media Source duration is set to \" + mediaSource.duration + \". Setting seekable range to \" + start + \"-\" + end + \".\");\n mediaSource.setLiveSeekableRange(start, end);\n }\n };\n _proto.checkPendingTracks = function checkPendingTracks() {\n var bufferCodecEventsExpected = this.bufferCodecEventsExpected,\n operationQueue = this.operationQueue,\n pendingTracks = this.pendingTracks;\n\n // Check if we've received all of the expected bufferCodec events. When none remain, create all the sourceBuffers at once.\n // This is important because the MSE spec allows implementations to throw QuotaExceededErrors if creating new sourceBuffers after\n // data has been appended to existing ones.\n // 2 tracks is the max (one for audio, one for video). If we've reach this max go ahead and create the buffers.\n var pendingTracksCount = Object.keys(pendingTracks).length;\n if (pendingTracksCount && (!bufferCodecEventsExpected || pendingTracksCount === 2 || 'audiovideo' in pendingTracks)) {\n // ok, let's create them now !\n this.createSourceBuffers(pendingTracks);\n this.pendingTracks = {};\n // append any pending segments now !\n var buffers = this.getSourceBufferTypes();\n if (buffers.length) {\n this.hls.trigger(Events.BUFFER_CREATED, {\n tracks: this.tracks\n });\n buffers.forEach(function (type) {\n operationQueue.executeNext(type);\n });\n } else {\n var error = new Error('could not create source buffer for media codec(s)');\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_INCOMPATIBLE_CODECS_ERROR,\n fatal: true,\n error: error,\n reason: error.message\n });\n }\n }\n };\n _proto.createSourceBuffers = function createSourceBuffers(tracks) {\n var _this11 = this;\n var sourceBuffer = this.sourceBuffer,\n mediaSource = this.mediaSource;\n if (!mediaSource) {\n throw Error('createSourceBuffers called when mediaSource was null');\n }\n var _loop = function _loop(trackName) {\n if (!sourceBuffer[trackName]) {\n var track = tracks[trackName];\n if (!track) {\n throw Error(\"source buffer exists for track \" + trackName + \", however track does not\");\n }\n // use levelCodec as first priority\n var codec = track.levelCodec || track.codec;\n if (codec) {\n if (trackName.slice(0, 5) === 'audio') {\n codec = getCodecCompatibleName(codec, _this11.hls.config.preferManagedMediaSource);\n }\n }\n var mimeType = track.container + \";codecs=\" + codec;\n _this11.log(\"creating sourceBuffer(\" + mimeType + \")\");\n try {\n var sb = sourceBuffer[trackName] = mediaSource.addSourceBuffer(mimeType);\n var sbName = trackName;\n _this11.addBufferListener(sbName, 'updatestart', _this11._onSBUpdateStart);\n _this11.addBufferListener(sbName, 'updateend', _this11._onSBUpdateEnd);\n _this11.addBufferListener(sbName, 'error', _this11._onSBUpdateError);\n // ManagedSourceBuffer bufferedchange event\n _this11.addBufferListener(sbName, 'bufferedchange', function (type, event) {\n // If media was ejected check for a change. Added ranges are redundant with changes on 'updateend' event.\n var removedRanges = event.removedRanges;\n if (removedRanges != null && removedRanges.length) {\n _this11.hls.trigger(Events.BUFFER_FLUSHED, {\n type: trackName\n });\n }\n });\n _this11.tracks[trackName] = {\n buffer: sb,\n codec: codec,\n container: track.container,\n levelCodec: track.levelCodec,\n metadata: track.metadata,\n id: track.id\n };\n } catch (err) {\n _this11.error(\"error while trying to add sourceBuffer: \" + err.message);\n _this11.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_ADD_CODEC_ERROR,\n fatal: false,\n error: err,\n sourceBufferName: trackName,\n mimeType: mimeType\n });\n }\n }\n };\n for (var trackName in tracks) {\n _loop(trackName);\n }\n };\n _proto._onSBUpdateStart = function _onSBUpdateStart(type) {\n var operationQueue = this.operationQueue;\n var operation = operationQueue.current(type);\n operation.onStart();\n };\n _proto._onSBUpdateEnd = function _onSBUpdateEnd(type) {\n var _this$mediaSource2;\n if (((_this$mediaSource2 = this.mediaSource) == null ? void 0 : _this$mediaSource2.readyState) === 'closed') {\n this.resetBuffer(type);\n return;\n }\n var operationQueue = this.operationQueue;\n var operation = operationQueue.current(type);\n operation.onComplete();\n operationQueue.shiftAndExecuteNext(type);\n };\n _proto._onSBUpdateError = function _onSBUpdateError(type, event) {\n var _this$mediaSource3;\n var error = new Error(type + \" SourceBuffer error. MediaSource readyState: \" + ((_this$mediaSource3 = this.mediaSource) == null ? void 0 : _this$mediaSource3.readyState));\n this.error(\"\" + error, event);\n // according to http://www.w3.org/TR/media-source/#sourcebuffer-append-error\n // SourceBuffer errors are not necessarily fatal; if so, the HTMLMediaElement will fire an error event\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_APPENDING_ERROR,\n sourceBufferName: type,\n error: error,\n fatal: false\n });\n // updateend is always fired after error, so we'll allow that to shift the current operation off of the queue\n var operation = this.operationQueue.current(type);\n if (operation) {\n operation.onError(error);\n }\n }\n\n // This method must result in an updateend event; if remove is not called, _onSBUpdateEnd must be called manually\n ;\n _proto.removeExecutor = function removeExecutor(type, startOffset, endOffset) {\n var media = this.media,\n mediaSource = this.mediaSource,\n operationQueue = this.operationQueue,\n sourceBuffer = this.sourceBuffer;\n var sb = sourceBuffer[type];\n if (!media || !mediaSource || !sb) {\n this.warn(\"Attempting to remove from the \" + type + \" SourceBuffer, but it does not exist\");\n operationQueue.shiftAndExecuteNext(type);\n return;\n }\n var mediaDuration = isFiniteNumber(media.duration) ? media.duration : Infinity;\n var msDuration = isFiniteNumber(mediaSource.duration) ? mediaSource.duration : Infinity;\n var removeStart = Math.max(0, startOffset);\n var removeEnd = Math.min(endOffset, mediaDuration, msDuration);\n if (removeEnd > removeStart && (!sb.ending || sb.ended)) {\n sb.ended = false;\n this.log(\"Removing [\" + removeStart + \",\" + removeEnd + \"] from the \" + type + \" SourceBuffer\");\n sb.remove(removeStart, removeEnd);\n } else {\n // Cycle the queue\n operationQueue.shiftAndExecuteNext(type);\n }\n }\n\n // This method must result in an updateend event; if append is not called, _onSBUpdateEnd must be called manually\n ;\n _proto.appendExecutor = function appendExecutor(data, type) {\n var sb = this.sourceBuffer[type];\n if (!sb) {\n if (!this.pendingTracks[type]) {\n throw new Error(\"Attempting to append to the \" + type + \" SourceBuffer, but it does not exist\");\n }\n return;\n }\n sb.ended = false;\n sb.appendBuffer(data);\n }\n\n // Enqueues an operation to each SourceBuffer queue which, upon execution, resolves a promise. When all promises\n // resolve, the onUnblocked function is executed. Functions calling this method do not need to unblock the queue\n // upon completion, since we already do it here\n ;\n _proto.blockBuffers = function blockBuffers(onUnblocked, buffers) {\n var _this12 = this;\n if (buffers === void 0) {\n buffers = this.getSourceBufferTypes();\n }\n if (!buffers.length) {\n this.log('Blocking operation requested, but no SourceBuffers exist');\n Promise.resolve().then(onUnblocked);\n return;\n }\n var operationQueue = this.operationQueue;\n\n // logger.debug(`[buffer-controller]: Blocking ${buffers} SourceBuffer`);\n var blockingOperations = buffers.map(function (type) {\n return operationQueue.appendBlocker(type);\n });\n Promise.all(blockingOperations).then(function () {\n // logger.debug(`[buffer-controller]: Blocking operation resolved; unblocking ${buffers} SourceBuffer`);\n onUnblocked();\n buffers.forEach(function (type) {\n var sb = _this12.sourceBuffer[type];\n // Only cycle the queue if the SB is not updating. There's a bug in Chrome which sets the SB updating flag to\n // true when changing the MediaSource duration (https://bugs.chromium.org/p/chromium/issues/detail?id=959359&can=2&q=mediasource%20duration)\n // While this is a workaround, it's probably useful to have around\n if (!(sb != null && sb.updating)) {\n operationQueue.shiftAndExecuteNext(type);\n }\n });\n });\n };\n _proto.getSourceBufferTypes = function getSourceBufferTypes() {\n return Object.keys(this.sourceBuffer);\n };\n _proto.addBufferListener = function addBufferListener(type, event, fn) {\n var buffer = this.sourceBuffer[type];\n if (!buffer) {\n return;\n }\n var listener = fn.bind(this, type);\n this.listeners[type].push({\n event: event,\n listener: listener\n });\n buffer.addEventListener(event, listener);\n };\n _proto.removeBufferListeners = function removeBufferListeners(type) {\n var buffer = this.sourceBuffer[type];\n if (!buffer) {\n return;\n }\n this.listeners[type].forEach(function (l) {\n buffer.removeEventListener(l.event, l.listener);\n });\n };\n _createClass(BufferController, [{\n key: \"mediaSrc\",\n get: function get() {\n var _this$media;\n var media = ((_this$media = this.media) == null ? void 0 : _this$media.firstChild) || this.media;\n return media == null ? void 0 : media.src;\n }\n }]);\n return BufferController;\n }();\n function removeSourceChildren(node) {\n var sourceChildren = node.querySelectorAll('source');\n [].slice.call(sourceChildren).forEach(function (source) {\n node.removeChild(source);\n });\n }\n function addSource(media, url) {\n var source = self.document.createElement('source');\n source.type = 'video/mp4';\n source.src = url;\n media.appendChild(source);\n }\n\n /**\n *\n * This code was ported from the dash.js project at:\n * https://github.com/Dash-Industry-Forum/dash.js/blob/development/externals/cea608-parser.js\n * https://github.com/Dash-Industry-Forum/dash.js/commit/8269b26a761e0853bb21d78780ed945144ecdd4d#diff-71bc295a2d6b6b7093a1d3290d53a4b2\n *\n * The original copyright appears below:\n *\n * The copyright in this software is being made available under the BSD License,\n * included below. This software may be subject to other third party and contributor\n * rights, including patent rights, and no such rights are granted under this license.\n *\n * Copyright (c) 2015-2016, DASH Industry Forum.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation and/or\n * other materials provided with the distribution.\n * 2. Neither the name of Dash Industry Forum nor the names of its\n * contributors may be used to endorse or promote products derived from this software\n * without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\n * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */\n /**\n * Exceptions from regular ASCII. CodePoints are mapped to UTF-16 codes\n */\n\n var specialCea608CharsCodes = {\n 0x2a: 0xe1,\n // lowercase a, acute accent\n 0x5c: 0xe9,\n // lowercase e, acute accent\n 0x5e: 0xed,\n // lowercase i, acute accent\n 0x5f: 0xf3,\n // lowercase o, acute accent\n 0x60: 0xfa,\n // lowercase u, acute accent\n 0x7b: 0xe7,\n // lowercase c with cedilla\n 0x7c: 0xf7,\n // division symbol\n 0x7d: 0xd1,\n // uppercase N tilde\n 0x7e: 0xf1,\n // lowercase n tilde\n 0x7f: 0x2588,\n // Full block\n // THIS BLOCK INCLUDES THE 16 EXTENDED (TWO-BYTE) LINE 21 CHARACTERS\n // THAT COME FROM HI BYTE=0x11 AND LOW BETWEEN 0x30 AND 0x3F\n // THIS MEANS THAT \\x50 MUST BE ADDED TO THE VALUES\n 0x80: 0xae,\n // Registered symbol (R)\n 0x81: 0xb0,\n // degree sign\n 0x82: 0xbd,\n // 1/2 symbol\n 0x83: 0xbf,\n // Inverted (open) question mark\n 0x84: 0x2122,\n // Trademark symbol (TM)\n 0x85: 0xa2,\n // Cents symbol\n 0x86: 0xa3,\n // Pounds sterling\n 0x87: 0x266a,\n // Music 8'th note\n 0x88: 0xe0,\n // lowercase a, grave accent\n 0x89: 0x20,\n // transparent space (regular)\n 0x8a: 0xe8,\n // lowercase e, grave accent\n 0x8b: 0xe2,\n // lowercase a, circumflex accent\n 0x8c: 0xea,\n // lowercase e, circumflex accent\n 0x8d: 0xee,\n // lowercase i, circumflex accent\n 0x8e: 0xf4,\n // lowercase o, circumflex accent\n 0x8f: 0xfb,\n // lowercase u, circumflex accent\n // THIS BLOCK INCLUDES THE 32 EXTENDED (TWO-BYTE) LINE 21 CHARACTERS\n // THAT COME FROM HI BYTE=0x12 AND LOW BETWEEN 0x20 AND 0x3F\n 0x90: 0xc1,\n // capital letter A with acute\n 0x91: 0xc9,\n // capital letter E with acute\n 0x92: 0xd3,\n // capital letter O with acute\n 0x93: 0xda,\n // capital letter U with acute\n 0x94: 0xdc,\n // capital letter U with diaresis\n 0x95: 0xfc,\n // lowercase letter U with diaeresis\n 0x96: 0x2018,\n // opening single quote\n 0x97: 0xa1,\n // inverted exclamation mark\n 0x98: 0x2a,\n // asterisk\n 0x99: 0x2019,\n // closing single quote\n 0x9a: 0x2501,\n // box drawings heavy horizontal\n 0x9b: 0xa9,\n // copyright sign\n 0x9c: 0x2120,\n // Service mark\n 0x9d: 0x2022,\n // (round) bullet\n 0x9e: 0x201c,\n // Left double quotation mark\n 0x9f: 0x201d,\n // Right double quotation mark\n 0xa0: 0xc0,\n // uppercase A, grave accent\n 0xa1: 0xc2,\n // uppercase A, circumflex\n 0xa2: 0xc7,\n // uppercase C with cedilla\n 0xa3: 0xc8,\n // uppercase E, grave accent\n 0xa4: 0xca,\n // uppercase E, circumflex\n 0xa5: 0xcb,\n // capital letter E with diaresis\n 0xa6: 0xeb,\n // lowercase letter e with diaresis\n 0xa7: 0xce,\n // uppercase I, circumflex\n 0xa8: 0xcf,\n // uppercase I, with diaresis\n 0xa9: 0xef,\n // lowercase i, with diaresis\n 0xaa: 0xd4,\n // uppercase O, circumflex\n 0xab: 0xd9,\n // uppercase U, grave accent\n 0xac: 0xf9,\n // lowercase u, grave accent\n 0xad: 0xdb,\n // uppercase U, circumflex\n 0xae: 0xab,\n // left-pointing double angle quotation mark\n 0xaf: 0xbb,\n // right-pointing double angle quotation mark\n // THIS BLOCK INCLUDES THE 32 EXTENDED (TWO-BYTE) LINE 21 CHARACTERS\n // THAT COME FROM HI BYTE=0x13 AND LOW BETWEEN 0x20 AND 0x3F\n 0xb0: 0xc3,\n // Uppercase A, tilde\n 0xb1: 0xe3,\n // Lowercase a, tilde\n 0xb2: 0xcd,\n // Uppercase I, acute accent\n 0xb3: 0xcc,\n // Uppercase I, grave accent\n 0xb4: 0xec,\n // Lowercase i, grave accent\n 0xb5: 0xd2,\n // Uppercase O, grave accent\n 0xb6: 0xf2,\n // Lowercase o, grave accent\n 0xb7: 0xd5,\n // Uppercase O, tilde\n 0xb8: 0xf5,\n // Lowercase o, tilde\n 0xb9: 0x7b,\n // Open curly brace\n 0xba: 0x7d,\n // Closing curly brace\n 0xbb: 0x5c,\n // Backslash\n 0xbc: 0x5e,\n // Caret\n 0xbd: 0x5f,\n // Underscore\n 0xbe: 0x7c,\n // Pipe (vertical line)\n 0xbf: 0x223c,\n // Tilde operator\n 0xc0: 0xc4,\n // Uppercase A, umlaut\n 0xc1: 0xe4,\n // Lowercase A, umlaut\n 0xc2: 0xd6,\n // Uppercase O, umlaut\n 0xc3: 0xf6,\n // Lowercase o, umlaut\n 0xc4: 0xdf,\n // Esszett (sharp S)\n 0xc5: 0xa5,\n // Yen symbol\n 0xc6: 0xa4,\n // Generic currency sign\n 0xc7: 0x2503,\n // Box drawings heavy vertical\n 0xc8: 0xc5,\n // Uppercase A, ring\n 0xc9: 0xe5,\n // Lowercase A, ring\n 0xca: 0xd8,\n // Uppercase O, stroke\n 0xcb: 0xf8,\n // Lowercase o, strok\n 0xcc: 0x250f,\n // Box drawings heavy down and right\n 0xcd: 0x2513,\n // Box drawings heavy down and left\n 0xce: 0x2517,\n // Box drawings heavy up and right\n 0xcf: 0x251b // Box drawings heavy up and left\n };\n\n /**\n * Utils\n */\n var getCharForByte = function getCharForByte(_byte) {\n var charCode = _byte;\n if (specialCea608CharsCodes.hasOwnProperty(_byte)) {\n charCode = specialCea608CharsCodes[_byte];\n }\n return String.fromCharCode(charCode);\n };\n var NR_ROWS = 15;\n var NR_COLS = 100;\n // Tables to look up row from PAC data\n var rowsLowCh1 = {\n 0x11: 1,\n 0x12: 3,\n 0x15: 5,\n 0x16: 7,\n 0x17: 9,\n 0x10: 11,\n 0x13: 12,\n 0x14: 14\n };\n var rowsHighCh1 = {\n 0x11: 2,\n 0x12: 4,\n 0x15: 6,\n 0x16: 8,\n 0x17: 10,\n 0x13: 13,\n 0x14: 15\n };\n var rowsLowCh2 = {\n 0x19: 1,\n 0x1a: 3,\n 0x1d: 5,\n 0x1e: 7,\n 0x1f: 9,\n 0x18: 11,\n 0x1b: 12,\n 0x1c: 14\n };\n var rowsHighCh2 = {\n 0x19: 2,\n 0x1a: 4,\n 0x1d: 6,\n 0x1e: 8,\n 0x1f: 10,\n 0x1b: 13,\n 0x1c: 15\n };\n var backgroundColors = ['white', 'green', 'blue', 'cyan', 'red', 'yellow', 'magenta', 'black', 'transparent'];\n var CaptionsLogger = /*#__PURE__*/function () {\n function CaptionsLogger() {\n this.time = null;\n this.verboseLevel = 0;\n }\n var _proto = CaptionsLogger.prototype;\n _proto.log = function log(severity, msg) {\n if (this.verboseLevel >= severity) {\n var m = typeof msg === 'function' ? msg() : msg;\n logger.log(this.time + \" [\" + severity + \"] \" + m);\n }\n };\n return CaptionsLogger;\n }();\n var numArrayToHexArray = function numArrayToHexArray(numArray) {\n var hexArray = [];\n for (var j = 0; j < numArray.length; j++) {\n hexArray.push(numArray[j].toString(16));\n }\n return hexArray;\n };\n var PenState = /*#__PURE__*/function () {\n function PenState() {\n this.foreground = 'white';\n this.underline = false;\n this.italics = false;\n this.background = 'black';\n this.flash = false;\n }\n var _proto2 = PenState.prototype;\n _proto2.reset = function reset() {\n this.foreground = 'white';\n this.underline = false;\n this.italics = false;\n this.background = 'black';\n this.flash = false;\n };\n _proto2.setStyles = function setStyles(styles) {\n var attribs = ['foreground', 'underline', 'italics', 'background', 'flash'];\n for (var i = 0; i < attribs.length; i++) {\n var style = attribs[i];\n if (styles.hasOwnProperty(style)) {\n this[style] = styles[style];\n }\n }\n };\n _proto2.isDefault = function isDefault() {\n return this.foreground === 'white' && !this.underline && !this.italics && this.background === 'black' && !this.flash;\n };\n _proto2.equals = function equals(other) {\n return this.foreground === other.foreground && this.underline === other.underline && this.italics === other.italics && this.background === other.background && this.flash === other.flash;\n };\n _proto2.copy = function copy(newPenState) {\n this.foreground = newPenState.foreground;\n this.underline = newPenState.underline;\n this.italics = newPenState.italics;\n this.background = newPenState.background;\n this.flash = newPenState.flash;\n };\n _proto2.toString = function toString() {\n return 'color=' + this.foreground + ', underline=' + this.underline + ', italics=' + this.italics + ', background=' + this.background + ', flash=' + this.flash;\n };\n return PenState;\n }();\n /**\n * Unicode character with styling and background.\n * @constructor\n */\n var StyledUnicodeChar = /*#__PURE__*/function () {\n function StyledUnicodeChar() {\n this.uchar = ' ';\n this.penState = new PenState();\n }\n var _proto3 = StyledUnicodeChar.prototype;\n _proto3.reset = function reset() {\n this.uchar = ' ';\n this.penState.reset();\n };\n _proto3.setChar = function setChar(uchar, newPenState) {\n this.uchar = uchar;\n this.penState.copy(newPenState);\n };\n _proto3.setPenState = function setPenState(newPenState) {\n this.penState.copy(newPenState);\n };\n _proto3.equals = function equals(other) {\n return this.uchar === other.uchar && this.penState.equals(other.penState);\n };\n _proto3.copy = function copy(newChar) {\n this.uchar = newChar.uchar;\n this.penState.copy(newChar.penState);\n };\n _proto3.isEmpty = function isEmpty() {\n return this.uchar === ' ' && this.penState.isDefault();\n };\n return StyledUnicodeChar;\n }();\n /**\n * CEA-608 row consisting of NR_COLS instances of StyledUnicodeChar.\n * @constructor\n */\n var Row = /*#__PURE__*/function () {\n function Row(logger) {\n this.chars = [];\n this.pos = 0;\n this.currPenState = new PenState();\n this.cueStartTime = null;\n this.logger = void 0;\n for (var i = 0; i < NR_COLS; i++) {\n this.chars.push(new StyledUnicodeChar());\n }\n this.logger = logger;\n }\n var _proto4 = Row.prototype;\n _proto4.equals = function equals(other) {\n for (var i = 0; i < NR_COLS; i++) {\n if (!this.chars[i].equals(other.chars[i])) {\n return false;\n }\n }\n return true;\n };\n _proto4.copy = function copy(other) {\n for (var i = 0; i < NR_COLS; i++) {\n this.chars[i].copy(other.chars[i]);\n }\n };\n _proto4.isEmpty = function isEmpty() {\n var empty = true;\n for (var i = 0; i < NR_COLS; i++) {\n if (!this.chars[i].isEmpty()) {\n empty = false;\n break;\n }\n }\n return empty;\n }\n\n /**\n * Set the cursor to a valid column.\n */;\n _proto4.setCursor = function setCursor(absPos) {\n if (this.pos !== absPos) {\n this.pos = absPos;\n }\n if (this.pos < 0) {\n this.logger.log(3, 'Negative cursor position ' + this.pos);\n this.pos = 0;\n } else if (this.pos > NR_COLS) {\n this.logger.log(3, 'Too large cursor position ' + this.pos);\n this.pos = NR_COLS;\n }\n }\n\n /**\n * Move the cursor relative to current position.\n */;\n _proto4.moveCursor = function moveCursor(relPos) {\n var newPos = this.pos + relPos;\n if (relPos > 1) {\n for (var i = this.pos + 1; i < newPos + 1; i++) {\n this.chars[i].setPenState(this.currPenState);\n }\n }\n this.setCursor(newPos);\n }\n\n /**\n * Backspace, move one step back and clear character.\n */;\n _proto4.backSpace = function backSpace() {\n this.moveCursor(-1);\n this.chars[this.pos].setChar(' ', this.currPenState);\n };\n _proto4.insertChar = function insertChar(_byte2) {\n var _this = this;\n if (_byte2 >= 0x90) {\n // Extended char\n this.backSpace();\n }\n var _char = getCharForByte(_byte2);\n if (this.pos >= NR_COLS) {\n this.logger.log(0, function () {\n return 'Cannot insert ' + _byte2.toString(16) + ' (' + _char + ') at position ' + _this.pos + '. Skipping it!';\n });\n return;\n }\n this.chars[this.pos].setChar(_char, this.currPenState);\n this.moveCursor(1);\n };\n _proto4.clearFromPos = function clearFromPos(startPos) {\n var i;\n for (i = startPos; i < NR_COLS; i++) {\n this.chars[i].reset();\n }\n };\n _proto4.clear = function clear() {\n this.clearFromPos(0);\n this.pos = 0;\n this.currPenState.reset();\n };\n _proto4.clearToEndOfRow = function clearToEndOfRow() {\n this.clearFromPos(this.pos);\n };\n _proto4.getTextString = function getTextString() {\n var chars = [];\n var empty = true;\n for (var i = 0; i < NR_COLS; i++) {\n var _char2 = this.chars[i].uchar;\n if (_char2 !== ' ') {\n empty = false;\n }\n chars.push(_char2);\n }\n if (empty) {\n return '';\n } else {\n return chars.join('');\n }\n };\n _proto4.setPenStyles = function setPenStyles(styles) {\n this.currPenState.setStyles(styles);\n var currChar = this.chars[this.pos];\n currChar.setPenState(this.currPenState);\n };\n return Row;\n }();\n\n /**\n * Keep a CEA-608 screen of 32x15 styled characters\n * @constructor\n */\n var CaptionScreen = /*#__PURE__*/function () {\n function CaptionScreen(logger) {\n this.rows = [];\n this.currRow = NR_ROWS - 1;\n this.nrRollUpRows = null;\n this.lastOutputScreen = null;\n this.logger = void 0;\n for (var i = 0; i < NR_ROWS; i++) {\n this.rows.push(new Row(logger));\n }\n this.logger = logger;\n }\n var _proto5 = CaptionScreen.prototype;\n _proto5.reset = function reset() {\n for (var i = 0; i < NR_ROWS; i++) {\n this.rows[i].clear();\n }\n this.currRow = NR_ROWS - 1;\n };\n _proto5.equals = function equals(other) {\n var equal = true;\n for (var i = 0; i < NR_ROWS; i++) {\n if (!this.rows[i].equals(other.rows[i])) {\n equal = false;\n break;\n }\n }\n return equal;\n };\n _proto5.copy = function copy(other) {\n for (var i = 0; i < NR_ROWS; i++) {\n this.rows[i].copy(other.rows[i]);\n }\n };\n _proto5.isEmpty = function isEmpty() {\n var empty = true;\n for (var i = 0; i < NR_ROWS; i++) {\n if (!this.rows[i].isEmpty()) {\n empty = false;\n break;\n }\n }\n return empty;\n };\n _proto5.backSpace = function backSpace() {\n var row = this.rows[this.currRow];\n row.backSpace();\n };\n _proto5.clearToEndOfRow = function clearToEndOfRow() {\n var row = this.rows[this.currRow];\n row.clearToEndOfRow();\n }\n\n /**\n * Insert a character (without styling) in the current row.\n */;\n _proto5.insertChar = function insertChar(_char3) {\n var row = this.rows[this.currRow];\n row.insertChar(_char3);\n };\n _proto5.setPen = function setPen(styles) {\n var row = this.rows[this.currRow];\n row.setPenStyles(styles);\n };\n _proto5.moveCursor = function moveCursor(relPos) {\n var row = this.rows[this.currRow];\n row.moveCursor(relPos);\n };\n _proto5.setCursor = function setCursor(absPos) {\n this.logger.log(2, 'setCursor: ' + absPos);\n var row = this.rows[this.currRow];\n row.setCursor(absPos);\n };\n _proto5.setPAC = function setPAC(pacData) {\n this.logger.log(2, function () {\n return 'pacData = ' + JSON.stringify(pacData);\n });\n var newRow = pacData.row - 1;\n if (this.nrRollUpRows && newRow < this.nrRollUpRows - 1) {\n newRow = this.nrRollUpRows - 1;\n }\n\n // Make sure this only affects Roll-up Captions by checking this.nrRollUpRows\n if (this.nrRollUpRows && this.currRow !== newRow) {\n // clear all rows first\n for (var i = 0; i < NR_ROWS; i++) {\n this.rows[i].clear();\n }\n\n // Copy this.nrRollUpRows rows from lastOutputScreen and place it in the newRow location\n // topRowIndex - the start of rows to copy (inclusive index)\n var topRowIndex = this.currRow + 1 - this.nrRollUpRows;\n // We only copy if the last position was already shown.\n // We use the cueStartTime value to check this.\n var lastOutputScreen = this.lastOutputScreen;\n if (lastOutputScreen) {\n var prevLineTime = lastOutputScreen.rows[topRowIndex].cueStartTime;\n var time = this.logger.time;\n if (prevLineTime !== null && time !== null && prevLineTime < time) {\n for (var _i = 0; _i < this.nrRollUpRows; _i++) {\n this.rows[newRow - this.nrRollUpRows + _i + 1].copy(lastOutputScreen.rows[topRowIndex + _i]);\n }\n }\n }\n }\n this.currRow = newRow;\n var row = this.rows[this.currRow];\n if (pacData.indent !== null) {\n var indent = pacData.indent;\n var prevPos = Math.max(indent - 1, 0);\n row.setCursor(pacData.indent);\n pacData.color = row.chars[prevPos].penState.foreground;\n }\n var styles = {\n foreground: pacData.color,\n underline: pacData.underline,\n italics: pacData.italics,\n background: 'black',\n flash: false\n };\n this.setPen(styles);\n }\n\n /**\n * Set background/extra foreground, but first do back_space, and then insert space (backwards compatibility).\n */;\n _proto5.setBkgData = function setBkgData(bkgData) {\n this.logger.log(2, function () {\n return 'bkgData = ' + JSON.stringify(bkgData);\n });\n this.backSpace();\n this.setPen(bkgData);\n this.insertChar(0x20); // Space\n };\n _proto5.setRollUpRows = function setRollUpRows(nrRows) {\n this.nrRollUpRows = nrRows;\n };\n _proto5.rollUp = function rollUp() {\n var _this2 = this;\n if (this.nrRollUpRows === null) {\n this.logger.log(3, 'roll_up but nrRollUpRows not set yet');\n return; // Not properly setup\n }\n this.logger.log(1, function () {\n return _this2.getDisplayText();\n });\n var topRowIndex = this.currRow + 1 - this.nrRollUpRows;\n var topRow = this.rows.splice(topRowIndex, 1)[0];\n topRow.clear();\n this.rows.splice(this.currRow, 0, topRow);\n this.logger.log(2, 'Rolling up');\n // this.logger.log(VerboseLevel.TEXT, this.get_display_text())\n }\n\n /**\n * Get all non-empty rows with as unicode text.\n */;\n _proto5.getDisplayText = function getDisplayText(asOneRow) {\n asOneRow = asOneRow || false;\n var displayText = [];\n var text = '';\n var rowNr = -1;\n for (var i = 0; i < NR_ROWS; i++) {\n var rowText = this.rows[i].getTextString();\n if (rowText) {\n rowNr = i + 1;\n if (asOneRow) {\n displayText.push('Row ' + rowNr + \": '\" + rowText + \"'\");\n } else {\n displayText.push(rowText.trim());\n }\n }\n }\n if (displayText.length > 0) {\n if (asOneRow) {\n text = '[' + displayText.join(' | ') + ']';\n } else {\n text = displayText.join('\\n');\n }\n }\n return text;\n };\n _proto5.getTextAndFormat = function getTextAndFormat() {\n return this.rows;\n };\n return CaptionScreen;\n }();\n\n // var modes = ['MODE_ROLL-UP', 'MODE_POP-ON', 'MODE_PAINT-ON', 'MODE_TEXT'];\n var Cea608Channel = /*#__PURE__*/function () {\n function Cea608Channel(channelNumber, outputFilter, logger) {\n this.chNr = void 0;\n this.outputFilter = void 0;\n this.mode = void 0;\n this.verbose = void 0;\n this.displayedMemory = void 0;\n this.nonDisplayedMemory = void 0;\n this.lastOutputScreen = void 0;\n this.currRollUpRow = void 0;\n this.writeScreen = void 0;\n this.cueStartTime = void 0;\n this.logger = void 0;\n this.chNr = channelNumber;\n this.outputFilter = outputFilter;\n this.mode = null;\n this.verbose = 0;\n this.displayedMemory = new CaptionScreen(logger);\n this.nonDisplayedMemory = new CaptionScreen(logger);\n this.lastOutputScreen = new CaptionScreen(logger);\n this.currRollUpRow = this.displayedMemory.rows[NR_ROWS - 1];\n this.writeScreen = this.displayedMemory;\n this.mode = null;\n this.cueStartTime = null; // Keeps track of where a cue started.\n this.logger = logger;\n }\n var _proto6 = Cea608Channel.prototype;\n _proto6.reset = function reset() {\n this.mode = null;\n this.displayedMemory.reset();\n this.nonDisplayedMemory.reset();\n this.lastOutputScreen.reset();\n this.outputFilter.reset();\n this.currRollUpRow = this.displayedMemory.rows[NR_ROWS - 1];\n this.writeScreen = this.displayedMemory;\n this.mode = null;\n this.cueStartTime = null;\n };\n _proto6.getHandler = function getHandler() {\n return this.outputFilter;\n };\n _proto6.setHandler = function setHandler(newHandler) {\n this.outputFilter = newHandler;\n };\n _proto6.setPAC = function setPAC(pacData) {\n this.writeScreen.setPAC(pacData);\n };\n _proto6.setBkgData = function setBkgData(bkgData) {\n this.writeScreen.setBkgData(bkgData);\n };\n _proto6.setMode = function setMode(newMode) {\n if (newMode === this.mode) {\n return;\n }\n this.mode = newMode;\n this.logger.log(2, function () {\n return 'MODE=' + newMode;\n });\n if (this.mode === 'MODE_POP-ON') {\n this.writeScreen = this.nonDisplayedMemory;\n } else {\n this.writeScreen = this.displayedMemory;\n this.writeScreen.reset();\n }\n if (this.mode !== 'MODE_ROLL-UP') {\n this.displayedMemory.nrRollUpRows = null;\n this.nonDisplayedMemory.nrRollUpRows = null;\n }\n this.mode = newMode;\n };\n _proto6.insertChars = function insertChars(chars) {\n var _this3 = this;\n for (var i = 0; i < chars.length; i++) {\n this.writeScreen.insertChar(chars[i]);\n }\n var screen = this.writeScreen === this.displayedMemory ? 'DISP' : 'NON_DISP';\n this.logger.log(2, function () {\n return screen + ': ' + _this3.writeScreen.getDisplayText(true);\n });\n if (this.mode === 'MODE_PAINT-ON' || this.mode === 'MODE_ROLL-UP') {\n this.logger.log(1, function () {\n return 'DISPLAYED: ' + _this3.displayedMemory.getDisplayText(true);\n });\n this.outputDataUpdate();\n }\n };\n _proto6.ccRCL = function ccRCL() {\n // Resume Caption Loading (switch mode to Pop On)\n this.logger.log(2, 'RCL - Resume Caption Loading');\n this.setMode('MODE_POP-ON');\n };\n _proto6.ccBS = function ccBS() {\n // BackSpace\n this.logger.log(2, 'BS - BackSpace');\n if (this.mode === 'MODE_TEXT') {\n return;\n }\n this.writeScreen.backSpace();\n if (this.writeScreen === this.displayedMemory) {\n this.outputDataUpdate();\n }\n };\n _proto6.ccAOF = function ccAOF() {\n // Reserved (formerly Alarm Off)\n };\n _proto6.ccAON = function ccAON() {\n // Reserved (formerly Alarm On)\n };\n _proto6.ccDER = function ccDER() {\n // Delete to End of Row\n this.logger.log(2, 'DER- Delete to End of Row');\n this.writeScreen.clearToEndOfRow();\n this.outputDataUpdate();\n };\n _proto6.ccRU = function ccRU(nrRows) {\n // Roll-Up Captions-2,3,or 4 Rows\n this.logger.log(2, 'RU(' + nrRows + ') - Roll Up');\n this.writeScreen = this.displayedMemory;\n this.setMode('MODE_ROLL-UP');\n this.writeScreen.setRollUpRows(nrRows);\n };\n _proto6.ccFON = function ccFON() {\n // Flash On\n this.logger.log(2, 'FON - Flash On');\n this.writeScreen.setPen({\n flash: true\n });\n };\n _proto6.ccRDC = function ccRDC() {\n // Resume Direct Captioning (switch mode to PaintOn)\n this.logger.log(2, 'RDC - Resume Direct Captioning');\n this.setMode('MODE_PAINT-ON');\n };\n _proto6.ccTR = function ccTR() {\n // Text Restart in text mode (not supported, however)\n this.logger.log(2, 'TR');\n this.setMode('MODE_TEXT');\n };\n _proto6.ccRTD = function ccRTD() {\n // Resume Text Display in Text mode (not supported, however)\n this.logger.log(2, 'RTD');\n this.setMode('MODE_TEXT');\n };\n _proto6.ccEDM = function ccEDM() {\n // Erase Displayed Memory\n this.logger.log(2, 'EDM - Erase Displayed Memory');\n this.displayedMemory.reset();\n this.outputDataUpdate(true);\n };\n _proto6.ccCR = function ccCR() {\n // Carriage Return\n this.logger.log(2, 'CR - Carriage Return');\n this.writeScreen.rollUp();\n this.outputDataUpdate(true);\n };\n _proto6.ccENM = function ccENM() {\n // Erase Non-Displayed Memory\n this.logger.log(2, 'ENM - Erase Non-displayed Memory');\n this.nonDisplayedMemory.reset();\n };\n _proto6.ccEOC = function ccEOC() {\n var _this4 = this;\n // End of Caption (Flip Memories)\n this.logger.log(2, 'EOC - End Of Caption');\n if (this.mode === 'MODE_POP-ON') {\n var tmp = this.displayedMemory;\n this.displayedMemory = this.nonDisplayedMemory;\n this.nonDisplayedMemory = tmp;\n this.writeScreen = this.nonDisplayedMemory;\n this.logger.log(1, function () {\n return 'DISP: ' + _this4.displayedMemory.getDisplayText();\n });\n }\n this.outputDataUpdate(true);\n };\n _proto6.ccTO = function ccTO(nrCols) {\n // Tab Offset 1,2, or 3 columns\n this.logger.log(2, 'TO(' + nrCols + ') - Tab Offset');\n this.writeScreen.moveCursor(nrCols);\n };\n _proto6.ccMIDROW = function ccMIDROW(secondByte) {\n // Parse MIDROW command\n var styles = {\n flash: false\n };\n styles.underline = secondByte % 2 === 1;\n styles.italics = secondByte >= 0x2e;\n if (!styles.italics) {\n var colorIndex = Math.floor(secondByte / 2) - 0x10;\n var colors = ['white', 'green', 'blue', 'cyan', 'red', 'yellow', 'magenta'];\n styles.foreground = colors[colorIndex];\n } else {\n styles.foreground = 'white';\n }\n this.logger.log(2, 'MIDROW: ' + JSON.stringify(styles));\n this.writeScreen.setPen(styles);\n };\n _proto6.outputDataUpdate = function outputDataUpdate(dispatch) {\n if (dispatch === void 0) {\n dispatch = false;\n }\n var time = this.logger.time;\n if (time === null) {\n return;\n }\n if (this.outputFilter) {\n if (this.cueStartTime === null && !this.displayedMemory.isEmpty()) {\n // Start of a new cue\n this.cueStartTime = time;\n } else {\n if (!this.displayedMemory.equals(this.lastOutputScreen)) {\n this.outputFilter.newCue(this.cueStartTime, time, this.lastOutputScreen);\n if (dispatch && this.outputFilter.dispatchCue) {\n this.outputFilter.dispatchCue();\n }\n this.cueStartTime = this.displayedMemory.isEmpty() ? null : time;\n }\n }\n this.lastOutputScreen.copy(this.displayedMemory);\n }\n };\n _proto6.cueSplitAtTime = function cueSplitAtTime(t) {\n if (this.outputFilter) {\n if (!this.displayedMemory.isEmpty()) {\n if (this.outputFilter.newCue) {\n this.outputFilter.newCue(this.cueStartTime, t, this.displayedMemory);\n }\n this.cueStartTime = t;\n }\n }\n };\n return Cea608Channel;\n }(); // Will be 1 or 2 when parsing captions\n var Cea608Parser = /*#__PURE__*/function () {\n function Cea608Parser(field, out1, out2) {\n this.channels = void 0;\n this.currentChannel = 0;\n this.cmdHistory = createCmdHistory();\n this.logger = void 0;\n var logger = this.logger = new CaptionsLogger();\n this.channels = [null, new Cea608Channel(field, out1, logger), new Cea608Channel(field + 1, out2, logger)];\n }\n var _proto7 = Cea608Parser.prototype;\n _proto7.getHandler = function getHandler(channel) {\n return this.channels[channel].getHandler();\n };\n _proto7.setHandler = function setHandler(channel, newHandler) {\n this.channels[channel].setHandler(newHandler);\n }\n\n /**\n * Add data for time t in forms of list of bytes (unsigned ints). The bytes are treated as pairs.\n */;\n _proto7.addData = function addData(time, byteList) {\n var cmdFound;\n var a;\n var b;\n var charsFound = false;\n this.logger.time = time;\n for (var i = 0; i < byteList.length; i += 2) {\n a = byteList[i] & 0x7f;\n b = byteList[i + 1] & 0x7f;\n if (a === 0 && b === 0) {\n continue;\n } else {\n this.logger.log(3, '[' + numArrayToHexArray([byteList[i], byteList[i + 1]]) + '] -> (' + numArrayToHexArray([a, b]) + ')');\n }\n cmdFound = this.parseCmd(a, b);\n if (!cmdFound) {\n cmdFound = this.parseMidrow(a, b);\n }\n if (!cmdFound) {\n cmdFound = this.parsePAC(a, b);\n }\n if (!cmdFound) {\n cmdFound = this.parseBackgroundAttributes(a, b);\n }\n if (!cmdFound) {\n charsFound = this.parseChars(a, b);\n if (charsFound) {\n var currChNr = this.currentChannel;\n if (currChNr && currChNr > 0) {\n var channel = this.channels[currChNr];\n channel.insertChars(charsFound);\n } else {\n this.logger.log(2, 'No channel found yet. TEXT-MODE?');\n }\n }\n }\n if (!cmdFound && !charsFound) {\n this.logger.log(2, \"Couldn't parse cleaned data \" + numArrayToHexArray([a, b]) + ' orig: ' + numArrayToHexArray([byteList[i], byteList[i + 1]]));\n }\n }\n }\n\n /**\n * Parse Command.\n * @returns True if a command was found\n */;\n _proto7.parseCmd = function parseCmd(a, b) {\n var cmdHistory = this.cmdHistory;\n var cond1 = (a === 0x14 || a === 0x1c || a === 0x15 || a === 0x1d) && b >= 0x20 && b <= 0x2f;\n var cond2 = (a === 0x17 || a === 0x1f) && b >= 0x21 && b <= 0x23;\n if (!(cond1 || cond2)) {\n return false;\n }\n if (hasCmdRepeated(a, b, cmdHistory)) {\n setLastCmd(null, null, cmdHistory);\n this.logger.log(3, 'Repeated command (' + numArrayToHexArray([a, b]) + ') is dropped');\n return true;\n }\n var chNr = a === 0x14 || a === 0x15 || a === 0x17 ? 1 : 2;\n var channel = this.channels[chNr];\n if (a === 0x14 || a === 0x15 || a === 0x1c || a === 0x1d) {\n if (b === 0x20) {\n channel.ccRCL();\n } else if (b === 0x21) {\n channel.ccBS();\n } else if (b === 0x22) {\n channel.ccAOF();\n } else if (b === 0x23) {\n channel.ccAON();\n } else if (b === 0x24) {\n channel.ccDER();\n } else if (b === 0x25) {\n channel.ccRU(2);\n } else if (b === 0x26) {\n channel.ccRU(3);\n } else if (b === 0x27) {\n channel.ccRU(4);\n } else if (b === 0x28) {\n channel.ccFON();\n } else if (b === 0x29) {\n channel.ccRDC();\n } else if (b === 0x2a) {\n channel.ccTR();\n } else if (b === 0x2b) {\n channel.ccRTD();\n } else if (b === 0x2c) {\n channel.ccEDM();\n } else if (b === 0x2d) {\n channel.ccCR();\n } else if (b === 0x2e) {\n channel.ccENM();\n } else if (b === 0x2f) {\n channel.ccEOC();\n }\n } else {\n // a == 0x17 || a == 0x1F\n channel.ccTO(b - 0x20);\n }\n setLastCmd(a, b, cmdHistory);\n this.currentChannel = chNr;\n return true;\n }\n\n /**\n * Parse midrow styling command\n */;\n _proto7.parseMidrow = function parseMidrow(a, b) {\n var chNr = 0;\n if ((a === 0x11 || a === 0x19) && b >= 0x20 && b <= 0x2f) {\n if (a === 0x11) {\n chNr = 1;\n } else {\n chNr = 2;\n }\n if (chNr !== this.currentChannel) {\n this.logger.log(0, 'Mismatch channel in midrow parsing');\n return false;\n }\n var channel = this.channels[chNr];\n if (!channel) {\n return false;\n }\n channel.ccMIDROW(b);\n this.logger.log(3, 'MIDROW (' + numArrayToHexArray([a, b]) + ')');\n return true;\n }\n return false;\n }\n\n /**\n * Parse Preable Access Codes (Table 53).\n * @returns {Boolean} Tells if PAC found\n */;\n _proto7.parsePAC = function parsePAC(a, b) {\n var row;\n var cmdHistory = this.cmdHistory;\n var case1 = (a >= 0x11 && a <= 0x17 || a >= 0x19 && a <= 0x1f) && b >= 0x40 && b <= 0x7f;\n var case2 = (a === 0x10 || a === 0x18) && b >= 0x40 && b <= 0x5f;\n if (!(case1 || case2)) {\n return false;\n }\n if (hasCmdRepeated(a, b, cmdHistory)) {\n setLastCmd(null, null, cmdHistory);\n return true; // Repeated commands are dropped (once)\n }\n var chNr = a <= 0x17 ? 1 : 2;\n if (b >= 0x40 && b <= 0x5f) {\n row = chNr === 1 ? rowsLowCh1[a] : rowsLowCh2[a];\n } else {\n // 0x60 <= b <= 0x7F\n row = chNr === 1 ? rowsHighCh1[a] : rowsHighCh2[a];\n }\n var channel = this.channels[chNr];\n if (!channel) {\n return false;\n }\n channel.setPAC(this.interpretPAC(row, b));\n setLastCmd(a, b, cmdHistory);\n this.currentChannel = chNr;\n return true;\n }\n\n /**\n * Interpret the second byte of the pac, and return the information.\n * @returns pacData with style parameters\n */;\n _proto7.interpretPAC = function interpretPAC(row, _byte3) {\n var pacIndex;\n var pacData = {\n color: null,\n italics: false,\n indent: null,\n underline: false,\n row: row\n };\n if (_byte3 > 0x5f) {\n pacIndex = _byte3 - 0x60;\n } else {\n pacIndex = _byte3 - 0x40;\n }\n pacData.underline = (pacIndex & 1) === 1;\n if (pacIndex <= 0xd) {\n pacData.color = ['white', 'green', 'blue', 'cyan', 'red', 'yellow', 'magenta', 'white'][Math.floor(pacIndex / 2)];\n } else if (pacIndex <= 0xf) {\n pacData.italics = true;\n pacData.color = 'white';\n } else {\n pacData.indent = Math.floor((pacIndex - 0x10) / 2) * 4;\n }\n return pacData; // Note that row has zero offset. The spec uses 1.\n }\n\n /**\n * Parse characters.\n * @returns An array with 1 to 2 codes corresponding to chars, if found. null otherwise.\n */;\n _proto7.parseChars = function parseChars(a, b) {\n var channelNr;\n var charCodes = null;\n var charCode1 = null;\n if (a >= 0x19) {\n channelNr = 2;\n charCode1 = a - 8;\n } else {\n channelNr = 1;\n charCode1 = a;\n }\n if (charCode1 >= 0x11 && charCode1 <= 0x13) {\n // Special character\n var oneCode;\n if (charCode1 === 0x11) {\n oneCode = b + 0x50;\n } else if (charCode1 === 0x12) {\n oneCode = b + 0x70;\n } else {\n oneCode = b + 0x90;\n }\n this.logger.log(2, \"Special char '\" + getCharForByte(oneCode) + \"' in channel \" + channelNr);\n charCodes = [oneCode];\n } else if (a >= 0x20 && a <= 0x7f) {\n charCodes = b === 0 ? [a] : [a, b];\n }\n if (charCodes) {\n var hexCodes = numArrayToHexArray(charCodes);\n this.logger.log(3, 'Char codes = ' + hexCodes.join(','));\n setLastCmd(a, b, this.cmdHistory);\n }\n return charCodes;\n }\n\n /**\n * Parse extended background attributes as well as new foreground color black.\n * @returns True if background attributes are found\n */;\n _proto7.parseBackgroundAttributes = function parseBackgroundAttributes(a, b) {\n var case1 = (a === 0x10 || a === 0x18) && b >= 0x20 && b <= 0x2f;\n var case2 = (a === 0x17 || a === 0x1f) && b >= 0x2d && b <= 0x2f;\n if (!(case1 || case2)) {\n return false;\n }\n var index;\n var bkgData = {};\n if (a === 0x10 || a === 0x18) {\n index = Math.floor((b - 0x20) / 2);\n bkgData.background = backgroundColors[index];\n if (b % 2 === 1) {\n bkgData.background = bkgData.background + '_semi';\n }\n } else if (b === 0x2d) {\n bkgData.background = 'transparent';\n } else {\n bkgData.foreground = 'black';\n if (b === 0x2f) {\n bkgData.underline = true;\n }\n }\n var chNr = a <= 0x17 ? 1 : 2;\n var channel = this.channels[chNr];\n channel.setBkgData(bkgData);\n setLastCmd(a, b, this.cmdHistory);\n return true;\n }\n\n /**\n * Reset state of parser and its channels.\n */;\n _proto7.reset = function reset() {\n for (var i = 0; i < Object.keys(this.channels).length; i++) {\n var channel = this.channels[i];\n if (channel) {\n channel.reset();\n }\n }\n this.cmdHistory = createCmdHistory();\n }\n\n /**\n * Trigger the generation of a cue, and the start of a new one if displayScreens are not empty.\n */;\n _proto7.cueSplitAtTime = function cueSplitAtTime(t) {\n for (var i = 0; i < this.channels.length; i++) {\n var channel = this.channels[i];\n if (channel) {\n channel.cueSplitAtTime(t);\n }\n }\n };\n return Cea608Parser;\n }();\n function setLastCmd(a, b, cmdHistory) {\n cmdHistory.a = a;\n cmdHistory.b = b;\n }\n function hasCmdRepeated(a, b, cmdHistory) {\n return cmdHistory.a === a && cmdHistory.b === b;\n }\n function createCmdHistory() {\n return {\n a: null,\n b: null\n };\n }\n\n var OutputFilter = /*#__PURE__*/function () {\n function OutputFilter(timelineController, trackName) {\n this.timelineController = void 0;\n this.cueRanges = [];\n this.trackName = void 0;\n this.startTime = null;\n this.endTime = null;\n this.screen = null;\n this.timelineController = timelineController;\n this.trackName = trackName;\n }\n var _proto = OutputFilter.prototype;\n _proto.dispatchCue = function dispatchCue() {\n if (this.startTime === null) {\n return;\n }\n this.timelineController.addCues(this.trackName, this.startTime, this.endTime, this.screen, this.cueRanges);\n this.startTime = null;\n };\n _proto.newCue = function newCue(startTime, endTime, screen) {\n if (this.startTime === null || this.startTime > startTime) {\n this.startTime = startTime;\n }\n this.endTime = endTime;\n this.screen = screen;\n this.timelineController.createCaptionsTrack(this.trackName);\n };\n _proto.reset = function reset() {\n this.cueRanges = [];\n this.startTime = null;\n };\n return OutputFilter;\n }();\n\n /**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an 'AS IS' BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n var VTTCue = (function () {\n if (optionalSelf != null && optionalSelf.VTTCue) {\n return self.VTTCue;\n }\n var AllowedDirections = ['', 'lr', 'rl'];\n var AllowedAlignments = ['start', 'middle', 'end', 'left', 'right'];\n function isAllowedValue(allowed, value) {\n if (typeof value !== 'string') {\n return false;\n }\n // necessary for assuring the generic conforms to the Array interface\n if (!Array.isArray(allowed)) {\n return false;\n }\n // reset the type so that the next narrowing works well\n var lcValue = value.toLowerCase();\n // use the allow list to narrow the type to a specific subset of strings\n if (~allowed.indexOf(lcValue)) {\n return lcValue;\n }\n return false;\n }\n function findDirectionSetting(value) {\n return isAllowedValue(AllowedDirections, value);\n }\n function findAlignSetting(value) {\n return isAllowedValue(AllowedAlignments, value);\n }\n function extend(obj) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n var i = 1;\n for (; i < arguments.length; i++) {\n var cobj = arguments[i];\n for (var p in cobj) {\n obj[p] = cobj[p];\n }\n }\n return obj;\n }\n function VTTCue(startTime, endTime, text) {\n var cue = this;\n var baseObj = {\n enumerable: true\n };\n /**\n * Shim implementation specific properties. These properties are not in\n * the spec.\n */\n\n // Lets us know when the VTTCue's data has changed in such a way that we need\n // to recompute its display state. This lets us compute its display state\n // lazily.\n cue.hasBeenReset = false;\n\n /**\n * VTTCue and TextTrackCue properties\n * http://dev.w3.org/html5/webvtt/#vttcue-interface\n */\n\n var _id = '';\n var _pauseOnExit = false;\n var _startTime = startTime;\n var _endTime = endTime;\n var _text = text;\n var _region = null;\n var _vertical = '';\n var _snapToLines = true;\n var _line = 'auto';\n var _lineAlign = 'start';\n var _position = 50;\n var _positionAlign = 'middle';\n var _size = 50;\n var _align = 'middle';\n Object.defineProperty(cue, 'id', extend({}, baseObj, {\n get: function get() {\n return _id;\n },\n set: function set(value) {\n _id = '' + value;\n }\n }));\n Object.defineProperty(cue, 'pauseOnExit', extend({}, baseObj, {\n get: function get() {\n return _pauseOnExit;\n },\n set: function set(value) {\n _pauseOnExit = !!value;\n }\n }));\n Object.defineProperty(cue, 'startTime', extend({}, baseObj, {\n get: function get() {\n return _startTime;\n },\n set: function set(value) {\n if (typeof value !== 'number') {\n throw new TypeError('Start time must be set to a number.');\n }\n _startTime = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'endTime', extend({}, baseObj, {\n get: function get() {\n return _endTime;\n },\n set: function set(value) {\n if (typeof value !== 'number') {\n throw new TypeError('End time must be set to a number.');\n }\n _endTime = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'text', extend({}, baseObj, {\n get: function get() {\n return _text;\n },\n set: function set(value) {\n _text = '' + value;\n this.hasBeenReset = true;\n }\n }));\n\n // todo: implement VTTRegion polyfill?\n Object.defineProperty(cue, 'region', extend({}, baseObj, {\n get: function get() {\n return _region;\n },\n set: function set(value) {\n _region = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'vertical', extend({}, baseObj, {\n get: function get() {\n return _vertical;\n },\n set: function set(value) {\n var setting = findDirectionSetting(value);\n // Have to check for false because the setting an be an empty string.\n if (setting === false) {\n throw new SyntaxError('An invalid or illegal string was specified.');\n }\n _vertical = setting;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'snapToLines', extend({}, baseObj, {\n get: function get() {\n return _snapToLines;\n },\n set: function set(value) {\n _snapToLines = !!value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'line', extend({}, baseObj, {\n get: function get() {\n return _line;\n },\n set: function set(value) {\n if (typeof value !== 'number' && value !== 'auto') {\n throw new SyntaxError('An invalid number or illegal string was specified.');\n }\n _line = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'lineAlign', extend({}, baseObj, {\n get: function get() {\n return _lineAlign;\n },\n set: function set(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError('An invalid or illegal string was specified.');\n }\n _lineAlign = setting;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'position', extend({}, baseObj, {\n get: function get() {\n return _position;\n },\n set: function set(value) {\n if (value < 0 || value > 100) {\n throw new Error('Position must be between 0 and 100.');\n }\n _position = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'positionAlign', extend({}, baseObj, {\n get: function get() {\n return _positionAlign;\n },\n set: function set(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError('An invalid or illegal string was specified.');\n }\n _positionAlign = setting;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'size', extend({}, baseObj, {\n get: function get() {\n return _size;\n },\n set: function set(value) {\n if (value < 0 || value > 100) {\n throw new Error('Size must be between 0 and 100.');\n }\n _size = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'align', extend({}, baseObj, {\n get: function get() {\n return _align;\n },\n set: function set(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError('An invalid or illegal string was specified.');\n }\n _align = setting;\n this.hasBeenReset = true;\n }\n }));\n\n /**\n * Other <track> spec defined properties\n */\n\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#text-track-cue-display-state\n cue.displayState = undefined;\n }\n\n /**\n * VTTCue methods\n */\n\n VTTCue.prototype.getCueAsHTML = function () {\n // Assume WebVTT.convertCueToDOMTree is on the global.\n var WebVTT = self.WebVTT;\n return WebVTT.convertCueToDOMTree(self, this.text);\n };\n // this is a polyfill hack\n return VTTCue;\n })();\n\n /*\n * Source: https://github.com/mozilla/vtt.js/blob/master/dist/vtt.js\n */\n\n var StringDecoder = /*#__PURE__*/function () {\n function StringDecoder() {}\n var _proto = StringDecoder.prototype;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _proto.decode = function decode(data, options) {\n if (!data) {\n return '';\n }\n if (typeof data !== 'string') {\n throw new Error('Error - expected string data.');\n }\n return decodeURIComponent(encodeURIComponent(data));\n };\n return StringDecoder;\n }(); // Try to parse input as a time stamp.\n function parseTimeStamp(input) {\n function computeSeconds(h, m, s, f) {\n return (h | 0) * 3600 + (m | 0) * 60 + (s | 0) + parseFloat(f || 0);\n }\n var m = input.match(/^(?:(\\d+):)?(\\d{2}):(\\d{2})(\\.\\d+)?/);\n if (!m) {\n return null;\n }\n if (parseFloat(m[2]) > 59) {\n // Timestamp takes the form of [hours]:[minutes].[milliseconds]\n // First position is hours as it's over 59.\n return computeSeconds(m[2], m[3], 0, m[4]);\n }\n // Timestamp takes the form of [hours (optional)]:[minutes]:[seconds].[milliseconds]\n return computeSeconds(m[1], m[2], m[3], m[4]);\n }\n\n // A settings object holds key/value pairs and will ignore anything but the first\n // assignment to a specific key.\n var Settings = /*#__PURE__*/function () {\n function Settings() {\n this.values = Object.create(null);\n }\n var _proto2 = Settings.prototype;\n // Only accept the first assignment to any key.\n _proto2.set = function set(k, v) {\n if (!this.get(k) && v !== '') {\n this.values[k] = v;\n }\n }\n // Return the value for a key, or a default value.\n // If 'defaultKey' is passed then 'dflt' is assumed to be an object with\n // a number of possible default values as properties where 'defaultKey' is\n // the key of the property that will be chosen; otherwise it's assumed to be\n // a single value.\n ;\n _proto2.get = function get(k, dflt, defaultKey) {\n if (defaultKey) {\n return this.has(k) ? this.values[k] : dflt[defaultKey];\n }\n return this.has(k) ? this.values[k] : dflt;\n }\n // Check whether we have a value for a key.\n ;\n _proto2.has = function has(k) {\n return k in this.values;\n }\n // Accept a setting if its one of the given alternatives.\n ;\n _proto2.alt = function alt(k, v, a) {\n for (var n = 0; n < a.length; ++n) {\n if (v === a[n]) {\n this.set(k, v);\n break;\n }\n }\n }\n // Accept a setting if its a valid (signed) integer.\n ;\n _proto2.integer = function integer(k, v) {\n if (/^-?\\d+$/.test(v)) {\n // integer\n this.set(k, parseInt(v, 10));\n }\n }\n // Accept a setting if its a valid percentage.\n ;\n _proto2.percent = function percent(k, v) {\n if (/^([\\d]{1,3})(\\.[\\d]*)?%$/.test(v)) {\n var percent = parseFloat(v);\n if (percent >= 0 && percent <= 100) {\n this.set(k, percent);\n return true;\n }\n }\n return false;\n };\n return Settings;\n }(); // Helper function to parse input into groups separated by 'groupDelim', and\n // interpret each group as a key/value pair separated by 'keyValueDelim'.\n function parseOptions(input, callback, keyValueDelim, groupDelim) {\n var groups = groupDelim ? input.split(groupDelim) : [input];\n for (var i in groups) {\n if (typeof groups[i] !== 'string') {\n continue;\n }\n var kv = groups[i].split(keyValueDelim);\n if (kv.length !== 2) {\n continue;\n }\n var _k = kv[0];\n var _v = kv[1];\n callback(_k, _v);\n }\n }\n var defaults = new VTTCue(0, 0, '');\n // 'middle' was changed to 'center' in the spec: https://github.com/w3c/webvtt/pull/244\n // Safari doesn't yet support this change, but FF and Chrome do.\n var center = defaults.align === 'middle' ? 'middle' : 'center';\n function parseCue(input, cue, regionList) {\n // Remember the original input if we need to throw an error.\n var oInput = input;\n // 4.1 WebVTT timestamp\n function consumeTimeStamp() {\n var ts = parseTimeStamp(input);\n if (ts === null) {\n throw new Error('Malformed timestamp: ' + oInput);\n }\n\n // Remove time stamp from input.\n input = input.replace(/^[^\\sa-zA-Z-]+/, '');\n return ts;\n }\n\n // 4.4.2 WebVTT cue settings\n function consumeCueSettings(input, cue) {\n var settings = new Settings();\n parseOptions(input, function (k, v) {\n var vals;\n switch (k) {\n case 'region':\n // Find the last region we parsed with the same region id.\n for (var i = regionList.length - 1; i >= 0; i--) {\n if (regionList[i].id === v) {\n settings.set(k, regionList[i].region);\n break;\n }\n }\n break;\n case 'vertical':\n settings.alt(k, v, ['rl', 'lr']);\n break;\n case 'line':\n vals = v.split(',');\n settings.integer(k, vals[0]);\n if (settings.percent(k, vals[0])) {\n settings.set('snapToLines', false);\n }\n settings.alt(k, vals[0], ['auto']);\n if (vals.length === 2) {\n settings.alt('lineAlign', vals[1], ['start', center, 'end']);\n }\n break;\n case 'position':\n vals = v.split(',');\n settings.percent(k, vals[0]);\n if (vals.length === 2) {\n settings.alt('positionAlign', vals[1], ['start', center, 'end', 'line-left', 'line-right', 'auto']);\n }\n break;\n case 'size':\n settings.percent(k, v);\n break;\n case 'align':\n settings.alt(k, v, ['start', center, 'end', 'left', 'right']);\n break;\n }\n }, /:/, /\\s/);\n\n // Apply default values for any missing fields.\n cue.region = settings.get('region', null);\n cue.vertical = settings.get('vertical', '');\n var line = settings.get('line', 'auto');\n if (line === 'auto' && defaults.line === -1) {\n // set numeric line number for Safari\n line = -1;\n }\n cue.line = line;\n cue.lineAlign = settings.get('lineAlign', 'start');\n cue.snapToLines = settings.get('snapToLines', true);\n cue.size = settings.get('size', 100);\n cue.align = settings.get('align', center);\n var position = settings.get('position', 'auto');\n if (position === 'auto' && defaults.position === 50) {\n // set numeric position for Safari\n position = cue.align === 'start' || cue.align === 'left' ? 0 : cue.align === 'end' || cue.align === 'right' ? 100 : 50;\n }\n cue.position = position;\n }\n function skipWhitespace() {\n input = input.replace(/^\\s+/, '');\n }\n\n // 4.1 WebVTT cue timings.\n skipWhitespace();\n cue.startTime = consumeTimeStamp(); // (1) collect cue start time\n skipWhitespace();\n if (input.slice(0, 3) !== '-->') {\n // (3) next characters must match '-->'\n throw new Error(\"Malformed time stamp (time stamps must be separated by '-->'): \" + oInput);\n }\n input = input.slice(3);\n skipWhitespace();\n cue.endTime = consumeTimeStamp(); // (5) collect cue end time\n\n // 4.1 WebVTT cue settings list.\n skipWhitespace();\n consumeCueSettings(input, cue);\n }\n function fixLineBreaks(input) {\n return input.replace(/<br(?: \\/)?>/gi, '\\n');\n }\n var VTTParser = /*#__PURE__*/function () {\n function VTTParser() {\n this.state = 'INITIAL';\n this.buffer = '';\n this.decoder = new StringDecoder();\n this.regionList = [];\n this.cue = null;\n this.oncue = void 0;\n this.onparsingerror = void 0;\n this.onflush = void 0;\n }\n var _proto3 = VTTParser.prototype;\n _proto3.parse = function parse(data) {\n var _this = this;\n\n // If there is no data then we won't decode it, but will just try to parse\n // whatever is in buffer already. This may occur in circumstances, for\n // example when flush() is called.\n if (data) {\n // Try to decode the data that we received.\n _this.buffer += _this.decoder.decode(data, {\n stream: true\n });\n }\n function collectNextLine() {\n var buffer = _this.buffer;\n var pos = 0;\n buffer = fixLineBreaks(buffer);\n while (pos < buffer.length && buffer[pos] !== '\\r' && buffer[pos] !== '\\n') {\n ++pos;\n }\n var line = buffer.slice(0, pos);\n // Advance the buffer early in case we fail below.\n if (buffer[pos] === '\\r') {\n ++pos;\n }\n if (buffer[pos] === '\\n') {\n ++pos;\n }\n _this.buffer = buffer.slice(pos);\n return line;\n }\n\n // 3.2 WebVTT metadata header syntax\n function parseHeader(input) {\n parseOptions(input, function (k, v) {\n // switch (k) {\n // case 'region':\n // 3.3 WebVTT region metadata header syntax\n // console.log('parse region', v);\n // parseRegion(v);\n // break;\n // }\n }, /:/);\n }\n\n // 5.1 WebVTT file parsing.\n try {\n var line = '';\n if (_this.state === 'INITIAL') {\n // We can't start parsing until we have the first line.\n if (!/\\r\\n|\\n/.test(_this.buffer)) {\n return this;\n }\n line = collectNextLine();\n // strip of UTF-8 BOM if any\n // https://en.wikipedia.org/wiki/Byte_order_mark#UTF-8\n var m = line.match(/^()?WEBVTT([ \\t].*)?$/);\n if (!(m != null && m[0])) {\n throw new Error('Malformed WebVTT signature.');\n }\n _this.state = 'HEADER';\n }\n var alreadyCollectedLine = false;\n while (_this.buffer) {\n // We can't parse a line until we have the full line.\n if (!/\\r\\n|\\n/.test(_this.buffer)) {\n return this;\n }\n if (!alreadyCollectedLine) {\n line = collectNextLine();\n } else {\n alreadyCollectedLine = false;\n }\n switch (_this.state) {\n case 'HEADER':\n // 13-18 - Allow a header (metadata) under the WEBVTT line.\n if (/:/.test(line)) {\n parseHeader(line);\n } else if (!line) {\n // An empty line terminates the header and starts the body (cues).\n _this.state = 'ID';\n }\n continue;\n case 'NOTE':\n // Ignore NOTE blocks.\n if (!line) {\n _this.state = 'ID';\n }\n continue;\n case 'ID':\n // Check for the start of NOTE blocks.\n if (/^NOTE($|[ \\t])/.test(line)) {\n _this.state = 'NOTE';\n break;\n }\n // 19-29 - Allow any number of line terminators, then initialize new cue values.\n if (!line) {\n continue;\n }\n _this.cue = new VTTCue(0, 0, '');\n _this.state = 'CUE';\n // 30-39 - Check if self line contains an optional identifier or timing data.\n if (line.indexOf('-->') === -1) {\n _this.cue.id = line;\n continue;\n }\n // Process line as start of a cue.\n /* falls through */\n case 'CUE':\n // 40 - Collect cue timings and settings.\n if (!_this.cue) {\n _this.state = 'BADCUE';\n continue;\n }\n try {\n parseCue(line, _this.cue, _this.regionList);\n } catch (e) {\n // In case of an error ignore rest of the cue.\n _this.cue = null;\n _this.state = 'BADCUE';\n continue;\n }\n _this.state = 'CUETEXT';\n continue;\n case 'CUETEXT':\n {\n var hasSubstring = line.indexOf('-->') !== -1;\n // 34 - If we have an empty line then report the cue.\n // 35 - If we have the special substring '-->' then report the cue,\n // but do not collect the line as we need to process the current\n // one as a new cue.\n if (!line || hasSubstring && (alreadyCollectedLine = true)) {\n // We are done parsing self cue.\n if (_this.oncue && _this.cue) {\n _this.oncue(_this.cue);\n }\n _this.cue = null;\n _this.state = 'ID';\n continue;\n }\n if (_this.cue === null) {\n continue;\n }\n if (_this.cue.text) {\n _this.cue.text += '\\n';\n }\n _this.cue.text += line;\n }\n continue;\n case 'BADCUE':\n // 54-62 - Collect and discard the remaining cue.\n if (!line) {\n _this.state = 'ID';\n }\n }\n }\n } catch (e) {\n // If we are currently parsing a cue, report what we have.\n if (_this.state === 'CUETEXT' && _this.cue && _this.oncue) {\n _this.oncue(_this.cue);\n }\n _this.cue = null;\n // Enter BADWEBVTT state if header was not parsed correctly otherwise\n // another exception occurred so enter BADCUE state.\n _this.state = _this.state === 'INITIAL' ? 'BADWEBVTT' : 'BADCUE';\n }\n return this;\n };\n _proto3.flush = function flush() {\n var _this = this;\n try {\n // Finish decoding the stream.\n // _this.buffer += _this.decoder.decode();\n // Synthesize the end of the current cue or region.\n if (_this.cue || _this.state === 'HEADER') {\n _this.buffer += '\\n\\n';\n _this.parse();\n }\n // If we've flushed, parsed, and we're still on the INITIAL state then\n // that means we don't have enough of the stream to parse the first\n // line.\n if (_this.state === 'INITIAL' || _this.state === 'BADWEBVTT') {\n throw new Error('Malformed WebVTT signature.');\n }\n } catch (e) {\n if (_this.onparsingerror) {\n _this.onparsingerror(e);\n }\n }\n if (_this.onflush) {\n _this.onflush();\n }\n return this;\n };\n return VTTParser;\n }();\n\n var LINEBREAKS = /\\r\\n|\\n\\r|\\n|\\r/g;\n\n // String.prototype.startsWith is not supported in IE11\n var startsWith = function startsWith(inputString, searchString, position) {\n if (position === void 0) {\n position = 0;\n }\n return inputString.slice(position, position + searchString.length) === searchString;\n };\n var cueString2millis = function cueString2millis(timeString) {\n var ts = parseInt(timeString.slice(-3));\n var secs = parseInt(timeString.slice(-6, -4));\n var mins = parseInt(timeString.slice(-9, -7));\n var hours = timeString.length > 9 ? parseInt(timeString.substring(0, timeString.indexOf(':'))) : 0;\n if (!isFiniteNumber(ts) || !isFiniteNumber(secs) || !isFiniteNumber(mins) || !isFiniteNumber(hours)) {\n throw Error(\"Malformed X-TIMESTAMP-MAP: Local:\" + timeString);\n }\n ts += 1000 * secs;\n ts += 60 * 1000 * mins;\n ts += 60 * 60 * 1000 * hours;\n return ts;\n };\n\n // From https://github.com/darkskyapp/string-hash\n var hash = function hash(text) {\n var hash = 5381;\n var i = text.length;\n while (i) {\n hash = hash * 33 ^ text.charCodeAt(--i);\n }\n return (hash >>> 0).toString();\n };\n\n // Create a unique hash id for a cue based on start/end times and text.\n // This helps timeline-controller to avoid showing repeated captions.\n function generateCueId(startTime, endTime, text) {\n return hash(startTime.toString()) + hash(endTime.toString()) + hash(text);\n }\n var calculateOffset = function calculateOffset(vttCCs, cc, presentationTime) {\n var currCC = vttCCs[cc];\n var prevCC = vttCCs[currCC.prevCC];\n\n // This is the first discontinuity or cues have been processed since the last discontinuity\n // Offset = current discontinuity time\n if (!prevCC || !prevCC.new && currCC.new) {\n vttCCs.ccOffset = vttCCs.presentationOffset = currCC.start;\n currCC.new = false;\n return;\n }\n\n // There have been discontinuities since cues were last parsed.\n // Offset = time elapsed\n while ((_prevCC = prevCC) != null && _prevCC.new) {\n var _prevCC;\n vttCCs.ccOffset += currCC.start - prevCC.start;\n currCC.new = false;\n currCC = prevCC;\n prevCC = vttCCs[currCC.prevCC];\n }\n vttCCs.presentationOffset = presentationTime;\n };\n function parseWebVTT(vttByteArray, initPTS, vttCCs, cc, timeOffset, callBack, errorCallBack) {\n var parser = new VTTParser();\n // Convert byteArray into string, replacing any somewhat exotic linefeeds with \"\\n\", then split on that character.\n // Uint8Array.prototype.reduce is not implemented in IE11\n var vttLines = utf8ArrayToStr(new Uint8Array(vttByteArray)).trim().replace(LINEBREAKS, '\\n').split('\\n');\n var cues = [];\n var init90kHz = initPTS ? toMpegTsClockFromTimescale(initPTS.baseTime, initPTS.timescale) : 0;\n var cueTime = '00:00.000';\n var timestampMapMPEGTS = 0;\n var timestampMapLOCAL = 0;\n var parsingError;\n var inHeader = true;\n parser.oncue = function (cue) {\n // Adjust cue timing; clamp cues to start no earlier than - and drop cues that don't end after - 0 on timeline.\n var currCC = vttCCs[cc];\n var cueOffset = vttCCs.ccOffset;\n\n // Calculate subtitle PTS offset\n var webVttMpegTsMapOffset = (timestampMapMPEGTS - init90kHz) / 90000;\n\n // Update offsets for new discontinuities\n if (currCC != null && currCC.new) {\n if (timestampMapLOCAL !== undefined) {\n // When local time is provided, offset = discontinuity start time - local time\n cueOffset = vttCCs.ccOffset = currCC.start;\n } else {\n calculateOffset(vttCCs, cc, webVttMpegTsMapOffset);\n }\n }\n if (webVttMpegTsMapOffset) {\n if (!initPTS) {\n parsingError = new Error('Missing initPTS for VTT MPEGTS');\n return;\n }\n // If we have MPEGTS, offset = presentation time + discontinuity offset\n cueOffset = webVttMpegTsMapOffset - vttCCs.presentationOffset;\n }\n var duration = cue.endTime - cue.startTime;\n var startTime = normalizePts((cue.startTime + cueOffset - timestampMapLOCAL) * 90000, timeOffset * 90000) / 90000;\n cue.startTime = Math.max(startTime, 0);\n cue.endTime = Math.max(startTime + duration, 0);\n\n //trim trailing webvtt block whitespaces\n var text = cue.text.trim();\n\n // Fix encoding of special characters\n cue.text = decodeURIComponent(encodeURIComponent(text));\n\n // If the cue was not assigned an id from the VTT file (line above the content), create one.\n if (!cue.id) {\n cue.id = generateCueId(cue.startTime, cue.endTime, text);\n }\n if (cue.endTime > 0) {\n cues.push(cue);\n }\n };\n parser.onparsingerror = function (error) {\n parsingError = error;\n };\n parser.onflush = function () {\n if (parsingError) {\n errorCallBack(parsingError);\n return;\n }\n callBack(cues);\n };\n\n // Go through contents line by line.\n vttLines.forEach(function (line) {\n if (inHeader) {\n // Look for X-TIMESTAMP-MAP in header.\n if (startsWith(line, 'X-TIMESTAMP-MAP=')) {\n // Once found, no more are allowed anyway, so stop searching.\n inHeader = false;\n // Extract LOCAL and MPEGTS.\n line.slice(16).split(',').forEach(function (timestamp) {\n if (startsWith(timestamp, 'LOCAL:')) {\n cueTime = timestamp.slice(6);\n } else if (startsWith(timestamp, 'MPEGTS:')) {\n timestampMapMPEGTS = parseInt(timestamp.slice(7));\n }\n });\n try {\n // Convert cue time to seconds\n timestampMapLOCAL = cueString2millis(cueTime) / 1000;\n } catch (error) {\n parsingError = error;\n }\n // Return without parsing X-TIMESTAMP-MAP line.\n return;\n } else if (line === '') {\n inHeader = false;\n }\n }\n // Parse line by default.\n parser.parse(line + '\\n');\n });\n parser.flush();\n }\n\n var IMSC1_CODEC = 'stpp.ttml.im1t';\n\n // Time format: h:m:s:frames(.subframes)\n var HMSF_REGEX = /^(\\d{2,}):(\\d{2}):(\\d{2}):(\\d{2})\\.?(\\d+)?$/;\n\n // Time format: hours, minutes, seconds, milliseconds, frames, ticks\n var TIME_UNIT_REGEX = /^(\\d*(?:\\.\\d*)?)(h|m|s|ms|f|t)$/;\n var textAlignToLineAlign = {\n left: 'start',\n center: 'center',\n right: 'end',\n start: 'start',\n end: 'end'\n };\n function parseIMSC1(payload, initPTS, callBack, errorCallBack) {\n var results = findBox(new Uint8Array(payload), ['mdat']);\n if (results.length === 0) {\n errorCallBack(new Error('Could not parse IMSC1 mdat'));\n return;\n }\n var ttmlList = results.map(function (mdat) {\n return utf8ArrayToStr(mdat);\n });\n var syncTime = toTimescaleFromScale(initPTS.baseTime, 1, initPTS.timescale);\n try {\n ttmlList.forEach(function (ttml) {\n return callBack(parseTTML(ttml, syncTime));\n });\n } catch (error) {\n errorCallBack(error);\n }\n }\n function parseTTML(ttml, syncTime) {\n var parser = new DOMParser();\n var xmlDoc = parser.parseFromString(ttml, 'text/xml');\n var tt = xmlDoc.getElementsByTagName('tt')[0];\n if (!tt) {\n throw new Error('Invalid ttml');\n }\n var defaultRateInfo = {\n frameRate: 30,\n subFrameRate: 1,\n frameRateMultiplier: 0,\n tickRate: 0\n };\n var rateInfo = Object.keys(defaultRateInfo).reduce(function (result, key) {\n result[key] = tt.getAttribute(\"ttp:\" + key) || defaultRateInfo[key];\n return result;\n }, {});\n var trim = tt.getAttribute('xml:space') !== 'preserve';\n var styleElements = collectionToDictionary(getElementCollection(tt, 'styling', 'style'));\n var regionElements = collectionToDictionary(getElementCollection(tt, 'layout', 'region'));\n var cueElements = getElementCollection(tt, 'body', '[begin]');\n return [].map.call(cueElements, function (cueElement) {\n var cueText = getTextContent(cueElement, trim);\n if (!cueText || !cueElement.hasAttribute('begin')) {\n return null;\n }\n var startTime = parseTtmlTime(cueElement.getAttribute('begin'), rateInfo);\n var duration = parseTtmlTime(cueElement.getAttribute('dur'), rateInfo);\n var endTime = parseTtmlTime(cueElement.getAttribute('end'), rateInfo);\n if (startTime === null) {\n throw timestampParsingError(cueElement);\n }\n if (endTime === null) {\n if (duration === null) {\n throw timestampParsingError(cueElement);\n }\n endTime = startTime + duration;\n }\n var cue = new VTTCue(startTime - syncTime, endTime - syncTime, cueText);\n cue.id = generateCueId(cue.startTime, cue.endTime, cue.text);\n var region = regionElements[cueElement.getAttribute('region')];\n var style = styleElements[cueElement.getAttribute('style')];\n\n // Apply styles to cue\n var styles = getTtmlStyles(region, style, styleElements);\n var textAlign = styles.textAlign;\n if (textAlign) {\n // cue.positionAlign not settable in FF~2016\n var lineAlign = textAlignToLineAlign[textAlign];\n if (lineAlign) {\n cue.lineAlign = lineAlign;\n }\n cue.align = textAlign;\n }\n _extends(cue, styles);\n return cue;\n }).filter(function (cue) {\n return cue !== null;\n });\n }\n function getElementCollection(fromElement, parentName, childName) {\n var parent = fromElement.getElementsByTagName(parentName)[0];\n if (parent) {\n return [].slice.call(parent.querySelectorAll(childName));\n }\n return [];\n }\n function collectionToDictionary(elementsWithId) {\n return elementsWithId.reduce(function (dict, element) {\n var id = element.getAttribute('xml:id');\n if (id) {\n dict[id] = element;\n }\n return dict;\n }, {});\n }\n function getTextContent(element, trim) {\n return [].slice.call(element.childNodes).reduce(function (str, node, i) {\n var _node$childNodes;\n if (node.nodeName === 'br' && i) {\n return str + '\\n';\n }\n if ((_node$childNodes = node.childNodes) != null && _node$childNodes.length) {\n return getTextContent(node, trim);\n } else if (trim) {\n return str + node.textContent.trim().replace(/\\s+/g, ' ');\n }\n return str + node.textContent;\n }, '');\n }\n function getTtmlStyles(region, style, styleElements) {\n var ttsNs = 'http://www.w3.org/ns/ttml#styling';\n var regionStyle = null;\n var styleAttributes = ['displayAlign', 'textAlign', 'color', 'backgroundColor', 'fontSize', 'fontFamily'\n // 'fontWeight',\n // 'lineHeight',\n // 'wrapOption',\n // 'fontStyle',\n // 'direction',\n // 'writingMode'\n ];\n var regionStyleName = region != null && region.hasAttribute('style') ? region.getAttribute('style') : null;\n if (regionStyleName && styleElements.hasOwnProperty(regionStyleName)) {\n regionStyle = styleElements[regionStyleName];\n }\n return styleAttributes.reduce(function (styles, name) {\n var value = getAttributeNS(style, ttsNs, name) || getAttributeNS(region, ttsNs, name) || getAttributeNS(regionStyle, ttsNs, name);\n if (value) {\n styles[name] = value;\n }\n return styles;\n }, {});\n }\n function getAttributeNS(element, ns, name) {\n if (!element) {\n return null;\n }\n return element.hasAttributeNS(ns, name) ? element.getAttributeNS(ns, name) : null;\n }\n function timestampParsingError(node) {\n return new Error(\"Could not parse ttml timestamp \" + node);\n }\n function parseTtmlTime(timeAttributeValue, rateInfo) {\n if (!timeAttributeValue) {\n return null;\n }\n var seconds = parseTimeStamp(timeAttributeValue);\n if (seconds === null) {\n if (HMSF_REGEX.test(timeAttributeValue)) {\n seconds = parseHoursMinutesSecondsFrames(timeAttributeValue, rateInfo);\n } else if (TIME_UNIT_REGEX.test(timeAttributeValue)) {\n seconds = parseTimeUnits(timeAttributeValue, rateInfo);\n }\n }\n return seconds;\n }\n function parseHoursMinutesSecondsFrames(timeAttributeValue, rateInfo) {\n var m = HMSF_REGEX.exec(timeAttributeValue);\n var frames = (m[4] | 0) + (m[5] | 0) / rateInfo.subFrameRate;\n return (m[1] | 0) * 3600 + (m[2] | 0) * 60 + (m[3] | 0) + frames / rateInfo.frameRate;\n }\n function parseTimeUnits(timeAttributeValue, rateInfo) {\n var m = TIME_UNIT_REGEX.exec(timeAttributeValue);\n var value = Number(m[1]);\n var unit = m[2];\n switch (unit) {\n case 'h':\n return value * 3600;\n case 'm':\n return value * 60;\n case 'ms':\n return value * 1000;\n case 'f':\n return value / rateInfo.frameRate;\n case 't':\n return value / rateInfo.tickRate;\n }\n return value;\n }\n\n var TimelineController = /*#__PURE__*/function () {\n function TimelineController(hls) {\n this.hls = void 0;\n this.media = null;\n this.config = void 0;\n this.enabled = true;\n this.Cues = void 0;\n this.textTracks = [];\n this.tracks = [];\n this.initPTS = [];\n this.unparsedVttFrags = [];\n this.captionsTracks = {};\n this.nonNativeCaptionsTracks = {};\n this.cea608Parser1 = void 0;\n this.cea608Parser2 = void 0;\n this.lastCc = -1;\n // Last video (CEA-608) fragment CC\n this.lastSn = -1;\n // Last video (CEA-608) fragment MSN\n this.lastPartIndex = -1;\n // Last video (CEA-608) fragment Part Index\n this.prevCC = -1;\n // Last subtitle fragment CC\n this.vttCCs = newVTTCCs();\n this.captionsProperties = void 0;\n this.hls = hls;\n this.config = hls.config;\n this.Cues = hls.config.cueHandler;\n this.captionsProperties = {\n textTrack1: {\n label: this.config.captionsTextTrack1Label,\n languageCode: this.config.captionsTextTrack1LanguageCode\n },\n textTrack2: {\n label: this.config.captionsTextTrack2Label,\n languageCode: this.config.captionsTextTrack2LanguageCode\n },\n textTrack3: {\n label: this.config.captionsTextTrack3Label,\n languageCode: this.config.captionsTextTrack3LanguageCode\n },\n textTrack4: {\n label: this.config.captionsTextTrack4Label,\n languageCode: this.config.captionsTextTrack4LanguageCode\n }\n };\n hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.on(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);\n hls.on(Events.FRAG_LOADING, this.onFragLoading, this);\n hls.on(Events.FRAG_LOADED, this.onFragLoaded, this);\n hls.on(Events.FRAG_PARSING_USERDATA, this.onFragParsingUserdata, this);\n hls.on(Events.FRAG_DECRYPTED, this.onFragDecrypted, this);\n hls.on(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);\n hls.on(Events.SUBTITLE_TRACKS_CLEARED, this.onSubtitleTracksCleared, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n }\n var _proto = TimelineController.prototype;\n _proto.destroy = function destroy() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.off(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);\n hls.off(Events.FRAG_LOADING, this.onFragLoading, this);\n hls.off(Events.FRAG_LOADED, this.onFragLoaded, this);\n hls.off(Events.FRAG_PARSING_USERDATA, this.onFragParsingUserdata, this);\n hls.off(Events.FRAG_DECRYPTED, this.onFragDecrypted, this);\n hls.off(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);\n hls.off(Events.SUBTITLE_TRACKS_CLEARED, this.onSubtitleTracksCleared, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n // @ts-ignore\n this.hls = this.config = null;\n this.cea608Parser1 = this.cea608Parser2 = undefined;\n };\n _proto.initCea608Parsers = function initCea608Parsers() {\n if (this.config.enableCEA708Captions && (!this.cea608Parser1 || !this.cea608Parser2)) {\n var channel1 = new OutputFilter(this, 'textTrack1');\n var channel2 = new OutputFilter(this, 'textTrack2');\n var channel3 = new OutputFilter(this, 'textTrack3');\n var channel4 = new OutputFilter(this, 'textTrack4');\n this.cea608Parser1 = new Cea608Parser(1, channel1, channel2);\n this.cea608Parser2 = new Cea608Parser(3, channel3, channel4);\n }\n };\n _proto.addCues = function addCues(trackName, startTime, endTime, screen, cueRanges) {\n // skip cues which overlap more than 50% with previously parsed time ranges\n var merged = false;\n for (var i = cueRanges.length; i--;) {\n var cueRange = cueRanges[i];\n var overlap = intersection(cueRange[0], cueRange[1], startTime, endTime);\n if (overlap >= 0) {\n cueRange[0] = Math.min(cueRange[0], startTime);\n cueRange[1] = Math.max(cueRange[1], endTime);\n merged = true;\n if (overlap / (endTime - startTime) > 0.5) {\n return;\n }\n }\n }\n if (!merged) {\n cueRanges.push([startTime, endTime]);\n }\n if (this.config.renderTextTracksNatively) {\n var track = this.captionsTracks[trackName];\n this.Cues.newCue(track, startTime, endTime, screen);\n } else {\n var cues = this.Cues.newCue(null, startTime, endTime, screen);\n this.hls.trigger(Events.CUES_PARSED, {\n type: 'captions',\n cues: cues,\n track: trackName\n });\n }\n }\n\n // Triggered when an initial PTS is found; used for synchronisation of WebVTT.\n ;\n _proto.onInitPtsFound = function onInitPtsFound(event, _ref) {\n var _this = this;\n var frag = _ref.frag,\n id = _ref.id,\n initPTS = _ref.initPTS,\n timescale = _ref.timescale;\n var unparsedVttFrags = this.unparsedVttFrags;\n if (id === 'main') {\n this.initPTS[frag.cc] = {\n baseTime: initPTS,\n timescale: timescale\n };\n }\n\n // Due to asynchronous processing, initial PTS may arrive later than the first VTT fragments are loaded.\n // Parse any unparsed fragments upon receiving the initial PTS.\n if (unparsedVttFrags.length) {\n this.unparsedVttFrags = [];\n unparsedVttFrags.forEach(function (frag) {\n _this.onFragLoaded(Events.FRAG_LOADED, frag);\n });\n }\n };\n _proto.getExistingTrack = function getExistingTrack(label, language) {\n var media = this.media;\n if (media) {\n for (var i = 0; i < media.textTracks.length; i++) {\n var textTrack = media.textTracks[i];\n if (canReuseVttTextTrack(textTrack, {\n name: label,\n lang: language,\n attrs: {}\n })) {\n return textTrack;\n }\n }\n }\n return null;\n };\n _proto.createCaptionsTrack = function createCaptionsTrack(trackName) {\n if (this.config.renderTextTracksNatively) {\n this.createNativeTrack(trackName);\n } else {\n this.createNonNativeTrack(trackName);\n }\n };\n _proto.createNativeTrack = function createNativeTrack(trackName) {\n if (this.captionsTracks[trackName]) {\n return;\n }\n var captionsProperties = this.captionsProperties,\n captionsTracks = this.captionsTracks,\n media = this.media;\n var _captionsProperties$t = captionsProperties[trackName],\n label = _captionsProperties$t.label,\n languageCode = _captionsProperties$t.languageCode;\n // Enable reuse of existing text track.\n var existingTrack = this.getExistingTrack(label, languageCode);\n if (!existingTrack) {\n var textTrack = this.createTextTrack('captions', label, languageCode);\n if (textTrack) {\n // Set a special property on the track so we know it's managed by Hls.js\n textTrack[trackName] = true;\n captionsTracks[trackName] = textTrack;\n }\n } else {\n captionsTracks[trackName] = existingTrack;\n clearCurrentCues(captionsTracks[trackName]);\n sendAddTrackEvent(captionsTracks[trackName], media);\n }\n };\n _proto.createNonNativeTrack = function createNonNativeTrack(trackName) {\n if (this.nonNativeCaptionsTracks[trackName]) {\n return;\n }\n // Create a list of a single track for the provider to consume\n var trackProperties = this.captionsProperties[trackName];\n if (!trackProperties) {\n return;\n }\n var label = trackProperties.label;\n var track = {\n _id: trackName,\n label: label,\n kind: 'captions',\n default: trackProperties.media ? !!trackProperties.media.default : false,\n closedCaptions: trackProperties.media\n };\n this.nonNativeCaptionsTracks[trackName] = track;\n this.hls.trigger(Events.NON_NATIVE_TEXT_TRACKS_FOUND, {\n tracks: [track]\n });\n };\n _proto.createTextTrack = function createTextTrack(kind, label, lang) {\n var media = this.media;\n if (!media) {\n return;\n }\n return media.addTextTrack(kind, label, lang);\n };\n _proto.onMediaAttaching = function onMediaAttaching(event, data) {\n this.media = data.media;\n this._cleanTracks();\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n var captionsTracks = this.captionsTracks;\n Object.keys(captionsTracks).forEach(function (trackName) {\n clearCurrentCues(captionsTracks[trackName]);\n delete captionsTracks[trackName];\n });\n this.nonNativeCaptionsTracks = {};\n };\n _proto.onManifestLoading = function onManifestLoading() {\n // Detect discontinuity in video fragment (CEA-608) parsing\n this.lastCc = -1;\n this.lastSn = -1;\n this.lastPartIndex = -1;\n // Detect discontinuity in subtitle manifests\n this.prevCC = -1;\n this.vttCCs = newVTTCCs();\n // Reset tracks\n this._cleanTracks();\n this.tracks = [];\n this.captionsTracks = {};\n this.nonNativeCaptionsTracks = {};\n this.textTracks = [];\n this.unparsedVttFrags = [];\n this.initPTS = [];\n if (this.cea608Parser1 && this.cea608Parser2) {\n this.cea608Parser1.reset();\n this.cea608Parser2.reset();\n }\n };\n _proto._cleanTracks = function _cleanTracks() {\n // clear outdated subtitles\n var media = this.media;\n if (!media) {\n return;\n }\n var textTracks = media.textTracks;\n if (textTracks) {\n for (var i = 0; i < textTracks.length; i++) {\n clearCurrentCues(textTracks[i]);\n }\n }\n };\n _proto.onSubtitleTracksUpdated = function onSubtitleTracksUpdated(event, data) {\n var _this2 = this;\n var tracks = data.subtitleTracks || [];\n var hasIMSC1 = tracks.some(function (track) {\n return track.textCodec === IMSC1_CODEC;\n });\n if (this.config.enableWebVTT || hasIMSC1 && this.config.enableIMSC1) {\n var listIsIdentical = subtitleOptionsIdentical(this.tracks, tracks);\n if (listIsIdentical) {\n this.tracks = tracks;\n return;\n }\n this.textTracks = [];\n this.tracks = tracks;\n if (this.config.renderTextTracksNatively) {\n var media = this.media;\n var inUseTracks = media ? filterSubtitleTracks(media.textTracks) : null;\n this.tracks.forEach(function (track, index) {\n // Reuse tracks with the same label and lang, but do not reuse 608/708 tracks\n var textTrack;\n if (inUseTracks) {\n var inUseTrack = null;\n for (var i = 0; i < inUseTracks.length; i++) {\n if (inUseTracks[i] && canReuseVttTextTrack(inUseTracks[i], track)) {\n inUseTrack = inUseTracks[i];\n inUseTracks[i] = null;\n break;\n }\n }\n if (inUseTrack) {\n textTrack = inUseTrack;\n }\n }\n if (textTrack) {\n clearCurrentCues(textTrack);\n } else {\n var textTrackKind = captionsOrSubtitlesFromCharacteristics(track);\n textTrack = _this2.createTextTrack(textTrackKind, track.name, track.lang);\n if (textTrack) {\n textTrack.mode = 'disabled';\n }\n }\n if (textTrack) {\n _this2.textTracks.push(textTrack);\n }\n });\n // Warn when video element has captions or subtitle TextTracks carried over from another source\n if (inUseTracks != null && inUseTracks.length) {\n var unusedTextTracks = inUseTracks.filter(function (t) {\n return t !== null;\n }).map(function (t) {\n return t.label;\n });\n if (unusedTextTracks.length) {\n logger.warn(\"Media element contains unused subtitle tracks: \" + unusedTextTracks.join(', ') + \". Replace media element for each source to clear TextTracks and captions menu.\");\n }\n }\n } else if (this.tracks.length) {\n // Create a list of tracks for the provider to consume\n var tracksList = this.tracks.map(function (track) {\n return {\n label: track.name,\n kind: track.type.toLowerCase(),\n default: track.default,\n subtitleTrack: track\n };\n });\n this.hls.trigger(Events.NON_NATIVE_TEXT_TRACKS_FOUND, {\n tracks: tracksList\n });\n }\n }\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, data) {\n var _this3 = this;\n if (this.config.enableCEA708Captions && data.captions) {\n data.captions.forEach(function (captionsTrack) {\n var instreamIdMatch = /(?:CC|SERVICE)([1-4])/.exec(captionsTrack.instreamId);\n if (!instreamIdMatch) {\n return;\n }\n var trackName = \"textTrack\" + instreamIdMatch[1];\n var trackProperties = _this3.captionsProperties[trackName];\n if (!trackProperties) {\n return;\n }\n trackProperties.label = captionsTrack.name;\n if (captionsTrack.lang) {\n // optional attribute\n trackProperties.languageCode = captionsTrack.lang;\n }\n trackProperties.media = captionsTrack;\n });\n }\n };\n _proto.closedCaptionsForLevel = function closedCaptionsForLevel(frag) {\n var level = this.hls.levels[frag.level];\n return level == null ? void 0 : level.attrs['CLOSED-CAPTIONS'];\n };\n _proto.onFragLoading = function onFragLoading(event, data) {\n this.initCea608Parsers();\n var cea608Parser1 = this.cea608Parser1,\n cea608Parser2 = this.cea608Parser2,\n lastCc = this.lastCc,\n lastSn = this.lastSn,\n lastPartIndex = this.lastPartIndex;\n if (!this.enabled || !cea608Parser1 || !cea608Parser2) {\n return;\n }\n // if this frag isn't contiguous, clear the parser so cues with bad start/end times aren't added to the textTrack\n if (data.frag.type === PlaylistLevelType.MAIN) {\n var _data$part$index, _data$part;\n var _data$frag = data.frag,\n cc = _data$frag.cc,\n sn = _data$frag.sn;\n var partIndex = (_data$part$index = data == null ? void 0 : (_data$part = data.part) == null ? void 0 : _data$part.index) != null ? _data$part$index : -1;\n if (!(sn === lastSn + 1 || sn === lastSn && partIndex === lastPartIndex + 1 || cc === lastCc)) {\n cea608Parser1.reset();\n cea608Parser2.reset();\n }\n this.lastCc = cc;\n this.lastSn = sn;\n this.lastPartIndex = partIndex;\n }\n };\n _proto.onFragLoaded = function onFragLoaded(event, data) {\n var frag = data.frag,\n payload = data.payload;\n if (frag.type === PlaylistLevelType.SUBTITLE) {\n // If fragment is subtitle type, parse as WebVTT.\n if (payload.byteLength) {\n var decryptData = frag.decryptdata;\n // fragment after decryption has a stats object\n var decrypted = ('stats' in data);\n // If the subtitles are not encrypted, parse VTTs now. Otherwise, we need to wait.\n if (decryptData == null || !decryptData.encrypted || decrypted) {\n var trackPlaylistMedia = this.tracks[frag.level];\n var vttCCs = this.vttCCs;\n if (!vttCCs[frag.cc]) {\n vttCCs[frag.cc] = {\n start: frag.start,\n prevCC: this.prevCC,\n new: true\n };\n this.prevCC = frag.cc;\n }\n if (trackPlaylistMedia && trackPlaylistMedia.textCodec === IMSC1_CODEC) {\n this._parseIMSC1(frag, payload);\n } else {\n this._parseVTTs(data);\n }\n }\n } else {\n // In case there is no payload, finish unsuccessfully.\n this.hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: false,\n frag: frag,\n error: new Error('Empty subtitle payload')\n });\n }\n }\n };\n _proto._parseIMSC1 = function _parseIMSC1(frag, payload) {\n var _this4 = this;\n var hls = this.hls;\n parseIMSC1(payload, this.initPTS[frag.cc], function (cues) {\n _this4._appendCues(cues, frag.level);\n hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: true,\n frag: frag\n });\n }, function (error) {\n logger.log(\"Failed to parse IMSC1: \" + error);\n hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: false,\n frag: frag,\n error: error\n });\n });\n };\n _proto._parseVTTs = function _parseVTTs(data) {\n var _frag$initSegment,\n _this5 = this;\n var frag = data.frag,\n payload = data.payload;\n // We need an initial synchronisation PTS. Store fragments as long as none has arrived\n var initPTS = this.initPTS,\n unparsedVttFrags = this.unparsedVttFrags;\n var maxAvCC = initPTS.length - 1;\n if (!initPTS[frag.cc] && maxAvCC === -1) {\n unparsedVttFrags.push(data);\n return;\n }\n var hls = this.hls;\n // Parse the WebVTT file contents.\n var payloadWebVTT = (_frag$initSegment = frag.initSegment) != null && _frag$initSegment.data ? appendUint8Array(frag.initSegment.data, new Uint8Array(payload)) : payload;\n parseWebVTT(payloadWebVTT, this.initPTS[frag.cc], this.vttCCs, frag.cc, frag.start, function (cues) {\n _this5._appendCues(cues, frag.level);\n hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: true,\n frag: frag\n });\n }, function (error) {\n var missingInitPTS = error.message === 'Missing initPTS for VTT MPEGTS';\n if (missingInitPTS) {\n unparsedVttFrags.push(data);\n } else {\n _this5._fallbackToIMSC1(frag, payload);\n }\n // Something went wrong while parsing. Trigger event with success false.\n logger.log(\"Failed to parse VTT cue: \" + error);\n if (missingInitPTS && maxAvCC > frag.cc) {\n return;\n }\n hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: false,\n frag: frag,\n error: error\n });\n });\n };\n _proto._fallbackToIMSC1 = function _fallbackToIMSC1(frag, payload) {\n var _this6 = this;\n // If textCodec is unknown, try parsing as IMSC1. Set textCodec based on the result\n var trackPlaylistMedia = this.tracks[frag.level];\n if (!trackPlaylistMedia.textCodec) {\n parseIMSC1(payload, this.initPTS[frag.cc], function () {\n trackPlaylistMedia.textCodec = IMSC1_CODEC;\n _this6._parseIMSC1(frag, payload);\n }, function () {\n trackPlaylistMedia.textCodec = 'wvtt';\n });\n }\n };\n _proto._appendCues = function _appendCues(cues, fragLevel) {\n var hls = this.hls;\n if (this.config.renderTextTracksNatively) {\n var textTrack = this.textTracks[fragLevel];\n // WebVTTParser.parse is an async method and if the currently selected text track mode is set to \"disabled\"\n // before parsing is done then don't try to access currentTrack.cues.getCueById as cues will be null\n // and trying to access getCueById method of cues will throw an exception\n // Because we check if the mode is disabled, we can force check `cues` below. They can't be null.\n if (!textTrack || textTrack.mode === 'disabled') {\n return;\n }\n cues.forEach(function (cue) {\n return addCueToTrack(textTrack, cue);\n });\n } else {\n var currentTrack = this.tracks[fragLevel];\n if (!currentTrack) {\n return;\n }\n var track = currentTrack.default ? 'default' : 'subtitles' + fragLevel;\n hls.trigger(Events.CUES_PARSED, {\n type: 'subtitles',\n cues: cues,\n track: track\n });\n }\n };\n _proto.onFragDecrypted = function onFragDecrypted(event, data) {\n var frag = data.frag;\n if (frag.type === PlaylistLevelType.SUBTITLE) {\n this.onFragLoaded(Events.FRAG_LOADED, data);\n }\n };\n _proto.onSubtitleTracksCleared = function onSubtitleTracksCleared() {\n this.tracks = [];\n this.captionsTracks = {};\n };\n _proto.onFragParsingUserdata = function onFragParsingUserdata(event, data) {\n this.initCea608Parsers();\n var cea608Parser1 = this.cea608Parser1,\n cea608Parser2 = this.cea608Parser2;\n if (!this.enabled || !cea608Parser1 || !cea608Parser2) {\n return;\n }\n var frag = data.frag,\n samples = data.samples;\n if (frag.type === PlaylistLevelType.MAIN && this.closedCaptionsForLevel(frag) === 'NONE') {\n return;\n }\n // If the event contains captions (found in the bytes property), push all bytes into the parser immediately\n // It will create the proper timestamps based on the PTS value\n for (var i = 0; i < samples.length; i++) {\n var ccBytes = samples[i].bytes;\n if (ccBytes) {\n var ccdatas = this.extractCea608Data(ccBytes);\n cea608Parser1.addData(samples[i].pts, ccdatas[0]);\n cea608Parser2.addData(samples[i].pts, ccdatas[1]);\n }\n }\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, _ref2) {\n var startOffset = _ref2.startOffset,\n endOffset = _ref2.endOffset,\n endOffsetSubtitles = _ref2.endOffsetSubtitles,\n type = _ref2.type;\n var media = this.media;\n if (!media || media.currentTime < endOffset) {\n return;\n }\n // Clear 608 caption cues from the captions TextTracks when the video back buffer is flushed\n // Forward cues are never removed because we can loose streamed 608 content from recent fragments\n if (!type || type === 'video') {\n var captionsTracks = this.captionsTracks;\n Object.keys(captionsTracks).forEach(function (trackName) {\n return removeCuesInRange(captionsTracks[trackName], startOffset, endOffset);\n });\n }\n if (this.config.renderTextTracksNatively) {\n // Clear VTT/IMSC1 subtitle cues from the subtitle TextTracks when the back buffer is flushed\n if (startOffset === 0 && endOffsetSubtitles !== undefined) {\n var textTracks = this.textTracks;\n Object.keys(textTracks).forEach(function (trackName) {\n return removeCuesInRange(textTracks[trackName], startOffset, endOffsetSubtitles);\n });\n }\n }\n };\n _proto.extractCea608Data = function extractCea608Data(byteArray) {\n var actualCCBytes = [[], []];\n var count = byteArray[0] & 0x1f;\n var position = 2;\n for (var j = 0; j < count; j++) {\n var tmpByte = byteArray[position++];\n var ccbyte1 = 0x7f & byteArray[position++];\n var ccbyte2 = 0x7f & byteArray[position++];\n if (ccbyte1 === 0 && ccbyte2 === 0) {\n continue;\n }\n var ccValid = (0x04 & tmpByte) !== 0; // Support all four channels\n if (ccValid) {\n var ccType = 0x03 & tmpByte;\n if (0x00 /* CEA608 field1*/ === ccType || 0x01 /* CEA608 field2*/ === ccType) {\n // Exclude CEA708 CC data.\n actualCCBytes[ccType].push(ccbyte1);\n actualCCBytes[ccType].push(ccbyte2);\n }\n }\n }\n return actualCCBytes;\n };\n return TimelineController;\n }();\n function captionsOrSubtitlesFromCharacteristics(track) {\n if (track.characteristics) {\n if (/transcribes-spoken-dialog/gi.test(track.characteristics) && /describes-music-and-sound/gi.test(track.characteristics)) {\n return 'captions';\n }\n }\n return 'subtitles';\n }\n function canReuseVttTextTrack(inUseTrack, manifestTrack) {\n return !!inUseTrack && inUseTrack.kind === captionsOrSubtitlesFromCharacteristics(manifestTrack) && subtitleTrackMatchesTextTrack(manifestTrack, inUseTrack);\n }\n function intersection(x1, x2, y1, y2) {\n return Math.min(x2, y2) - Math.max(x1, y1);\n }\n function newVTTCCs() {\n return {\n ccOffset: 0,\n presentationOffset: 0,\n 0: {\n start: 0,\n prevCC: -1,\n new: true\n }\n };\n }\n\n var CapLevelController = /*#__PURE__*/function () {\n function CapLevelController(hls) {\n this.hls = void 0;\n this.autoLevelCapping = void 0;\n this.firstLevel = void 0;\n this.media = void 0;\n this.restrictedLevels = void 0;\n this.timer = void 0;\n this.clientRect = void 0;\n this.streamController = void 0;\n this.hls = hls;\n this.autoLevelCapping = Number.POSITIVE_INFINITY;\n this.firstLevel = -1;\n this.media = null;\n this.restrictedLevels = [];\n this.timer = undefined;\n this.clientRect = null;\n this.registerListeners();\n }\n var _proto = CapLevelController.prototype;\n _proto.setStreamController = function setStreamController(streamController) {\n this.streamController = streamController;\n };\n _proto.destroy = function destroy() {\n if (this.hls) {\n this.unregisterListener();\n }\n if (this.timer) {\n this.stopCapping();\n }\n this.media = null;\n this.clientRect = null;\n // @ts-ignore\n this.hls = this.streamController = null;\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.FPS_DROP_LEVEL_CAPPING, this.onFpsDropLevelCapping, this);\n hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.on(Events.BUFFER_CODECS, this.onBufferCodecs, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n };\n _proto.unregisterListener = function unregisterListener() {\n var hls = this.hls;\n hls.off(Events.FPS_DROP_LEVEL_CAPPING, this.onFpsDropLevelCapping, this);\n hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.off(Events.BUFFER_CODECS, this.onBufferCodecs, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n };\n _proto.onFpsDropLevelCapping = function onFpsDropLevelCapping(event, data) {\n // Don't add a restricted level more than once\n var level = this.hls.levels[data.droppedLevel];\n if (this.isLevelAllowed(level)) {\n this.restrictedLevels.push({\n bitrate: level.bitrate,\n height: level.height,\n width: level.width\n });\n }\n };\n _proto.onMediaAttaching = function onMediaAttaching(event, data) {\n this.media = data.media instanceof HTMLVideoElement ? data.media : null;\n this.clientRect = null;\n if (this.timer && this.hls.levels.length) {\n this.detectPlayerSize();\n }\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n var hls = this.hls;\n this.restrictedLevels = [];\n this.firstLevel = data.firstLevel;\n if (hls.config.capLevelToPlayerSize && data.video) {\n // Start capping immediately if the manifest has signaled video codecs\n this.startCapping();\n }\n };\n _proto.onLevelsUpdated = function onLevelsUpdated(event, data) {\n if (this.timer && isFiniteNumber(this.autoLevelCapping)) {\n this.detectPlayerSize();\n }\n }\n\n // Only activate capping when playing a video stream; otherwise, multi-bitrate audio-only streams will be restricted\n // to the first level\n ;\n _proto.onBufferCodecs = function onBufferCodecs(event, data) {\n var hls = this.hls;\n if (hls.config.capLevelToPlayerSize && data.video) {\n // If the manifest did not signal a video codec capping has been deferred until we're certain video is present\n this.startCapping();\n }\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n this.stopCapping();\n };\n _proto.detectPlayerSize = function detectPlayerSize() {\n if (this.media) {\n if (this.mediaHeight <= 0 || this.mediaWidth <= 0) {\n this.clientRect = null;\n return;\n }\n var levels = this.hls.levels;\n if (levels.length) {\n var hls = this.hls;\n var maxLevel = this.getMaxLevel(levels.length - 1);\n if (maxLevel !== this.autoLevelCapping) {\n logger.log(\"Setting autoLevelCapping to \" + maxLevel + \": \" + levels[maxLevel].height + \"p@\" + levels[maxLevel].bitrate + \" for media \" + this.mediaWidth + \"x\" + this.mediaHeight);\n }\n hls.autoLevelCapping = maxLevel;\n if (hls.autoLevelCapping > this.autoLevelCapping && this.streamController) {\n // if auto level capping has a higher value for the previous one, flush the buffer using nextLevelSwitch\n // usually happen when the user go to the fullscreen mode.\n this.streamController.nextLevelSwitch();\n }\n this.autoLevelCapping = hls.autoLevelCapping;\n }\n }\n }\n\n /*\n * returns level should be the one with the dimensions equal or greater than the media (player) dimensions (so the video will be downscaled)\n */;\n _proto.getMaxLevel = function getMaxLevel(capLevelIndex) {\n var _this = this;\n var levels = this.hls.levels;\n if (!levels.length) {\n return -1;\n }\n var validLevels = levels.filter(function (level, index) {\n return _this.isLevelAllowed(level) && index <= capLevelIndex;\n });\n this.clientRect = null;\n return CapLevelController.getMaxLevelByMediaSize(validLevels, this.mediaWidth, this.mediaHeight);\n };\n _proto.startCapping = function startCapping() {\n if (this.timer) {\n // Don't reset capping if started twice; this can happen if the manifest signals a video codec\n return;\n }\n this.autoLevelCapping = Number.POSITIVE_INFINITY;\n self.clearInterval(this.timer);\n this.timer = self.setInterval(this.detectPlayerSize.bind(this), 1000);\n this.detectPlayerSize();\n };\n _proto.stopCapping = function stopCapping() {\n this.restrictedLevels = [];\n this.firstLevel = -1;\n this.autoLevelCapping = Number.POSITIVE_INFINITY;\n if (this.timer) {\n self.clearInterval(this.timer);\n this.timer = undefined;\n }\n };\n _proto.getDimensions = function getDimensions() {\n if (this.clientRect) {\n return this.clientRect;\n }\n var media = this.media;\n var boundsRect = {\n width: 0,\n height: 0\n };\n if (media) {\n var clientRect = media.getBoundingClientRect();\n boundsRect.width = clientRect.width;\n boundsRect.height = clientRect.height;\n if (!boundsRect.width && !boundsRect.height) {\n // When the media element has no width or height (equivalent to not being in the DOM),\n // then use its width and height attributes (media.width, media.height)\n boundsRect.width = clientRect.right - clientRect.left || media.width || 0;\n boundsRect.height = clientRect.bottom - clientRect.top || media.height || 0;\n }\n }\n this.clientRect = boundsRect;\n return boundsRect;\n };\n _proto.isLevelAllowed = function isLevelAllowed(level) {\n var restrictedLevels = this.restrictedLevels;\n return !restrictedLevels.some(function (restrictedLevel) {\n return level.bitrate === restrictedLevel.bitrate && level.width === restrictedLevel.width && level.height === restrictedLevel.height;\n });\n };\n CapLevelController.getMaxLevelByMediaSize = function getMaxLevelByMediaSize(levels, width, height) {\n if (!(levels != null && levels.length)) {\n return -1;\n }\n\n // Levels can have the same dimensions but differing bandwidths - since levels are ordered, we can look to the next\n // to determine whether we've chosen the greatest bandwidth for the media's dimensions\n var atGreatestBandwidth = function atGreatestBandwidth(curLevel, nextLevel) {\n if (!nextLevel) {\n return true;\n }\n return curLevel.width !== nextLevel.width || curLevel.height !== nextLevel.height;\n };\n\n // If we run through the loop without breaking, the media's dimensions are greater than every level, so default to\n // the max level\n var maxLevelIndex = levels.length - 1;\n // Prevent changes in aspect-ratio from causing capping to toggle back and forth\n var squareSize = Math.max(width, height);\n for (var i = 0; i < levels.length; i += 1) {\n var level = levels[i];\n if ((level.width >= squareSize || level.height >= squareSize) && atGreatestBandwidth(level, levels[i + 1])) {\n maxLevelIndex = i;\n break;\n }\n }\n return maxLevelIndex;\n };\n _createClass(CapLevelController, [{\n key: \"mediaWidth\",\n get: function get() {\n return this.getDimensions().width * this.contentScaleFactor;\n }\n }, {\n key: \"mediaHeight\",\n get: function get() {\n return this.getDimensions().height * this.contentScaleFactor;\n }\n }, {\n key: \"contentScaleFactor\",\n get: function get() {\n var pixelRatio = 1;\n if (!this.hls.config.ignoreDevicePixelRatio) {\n try {\n pixelRatio = self.devicePixelRatio;\n } catch (e) {\n /* no-op */\n }\n }\n return pixelRatio;\n }\n }]);\n return CapLevelController;\n }();\n\n var FPSController = /*#__PURE__*/function () {\n function FPSController(hls) {\n this.hls = void 0;\n this.isVideoPlaybackQualityAvailable = false;\n this.timer = void 0;\n this.media = null;\n this.lastTime = void 0;\n this.lastDroppedFrames = 0;\n this.lastDecodedFrames = 0;\n // stream controller must be provided as a dependency!\n this.streamController = void 0;\n this.hls = hls;\n this.registerListeners();\n }\n var _proto = FPSController.prototype;\n _proto.setStreamController = function setStreamController(streamController) {\n this.streamController = streamController;\n };\n _proto.registerListeners = function registerListeners() {\n this.hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n this.hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n };\n _proto.destroy = function destroy() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n this.unregisterListeners();\n this.isVideoPlaybackQualityAvailable = false;\n this.media = null;\n };\n _proto.onMediaAttaching = function onMediaAttaching(event, data) {\n var config = this.hls.config;\n if (config.capLevelOnFPSDrop) {\n var media = data.media instanceof self.HTMLVideoElement ? data.media : null;\n this.media = media;\n if (media && typeof media.getVideoPlaybackQuality === 'function') {\n this.isVideoPlaybackQualityAvailable = true;\n }\n self.clearInterval(this.timer);\n this.timer = self.setInterval(this.checkFPSInterval.bind(this), config.fpsDroppedMonitoringPeriod);\n }\n };\n _proto.checkFPS = function checkFPS(video, decodedFrames, droppedFrames) {\n var currentTime = performance.now();\n if (decodedFrames) {\n if (this.lastTime) {\n var currentPeriod = currentTime - this.lastTime;\n var currentDropped = droppedFrames - this.lastDroppedFrames;\n var currentDecoded = decodedFrames - this.lastDecodedFrames;\n var droppedFPS = 1000 * currentDropped / currentPeriod;\n var hls = this.hls;\n hls.trigger(Events.FPS_DROP, {\n currentDropped: currentDropped,\n currentDecoded: currentDecoded,\n totalDroppedFrames: droppedFrames\n });\n if (droppedFPS > 0) {\n // logger.log('checkFPS : droppedFPS/decodedFPS:' + droppedFPS/(1000 * currentDecoded / currentPeriod));\n if (currentDropped > hls.config.fpsDroppedMonitoringThreshold * currentDecoded) {\n var currentLevel = hls.currentLevel;\n logger.warn('drop FPS ratio greater than max allowed value for currentLevel: ' + currentLevel);\n if (currentLevel > 0 && (hls.autoLevelCapping === -1 || hls.autoLevelCapping >= currentLevel)) {\n currentLevel = currentLevel - 1;\n hls.trigger(Events.FPS_DROP_LEVEL_CAPPING, {\n level: currentLevel,\n droppedLevel: hls.currentLevel\n });\n hls.autoLevelCapping = currentLevel;\n this.streamController.nextLevelSwitch();\n }\n }\n }\n }\n this.lastTime = currentTime;\n this.lastDroppedFrames = droppedFrames;\n this.lastDecodedFrames = decodedFrames;\n }\n };\n _proto.checkFPSInterval = function checkFPSInterval() {\n var video = this.media;\n if (video) {\n if (this.isVideoPlaybackQualityAvailable) {\n var videoPlaybackQuality = video.getVideoPlaybackQuality();\n this.checkFPS(video, videoPlaybackQuality.totalVideoFrames, videoPlaybackQuality.droppedVideoFrames);\n } else {\n // HTMLVideoElement doesn't include the webkit types\n this.checkFPS(video, video.webkitDecodedFrameCount, video.webkitDroppedFrameCount);\n }\n }\n };\n return FPSController;\n }();\n\n var LOGGER_PREFIX = '[eme]';\n /**\n * Controller to deal with encrypted media extensions (EME)\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Encrypted_Media_Extensions_API\n *\n * @class\n * @constructor\n */\n var EMEController = /*#__PURE__*/function () {\n function EMEController(hls) {\n this.hls = void 0;\n this.config = void 0;\n this.media = null;\n this.keyFormatPromise = null;\n this.keySystemAccessPromises = {};\n this._requestLicenseFailureCount = 0;\n this.mediaKeySessions = [];\n this.keyIdToKeySessionPromise = {};\n this.setMediaKeysQueue = EMEController.CDMCleanupPromise ? [EMEController.CDMCleanupPromise] : [];\n this.onMediaEncrypted = this._onMediaEncrypted.bind(this);\n this.onWaitingForKey = this._onWaitingForKey.bind(this);\n this.debug = logger.debug.bind(logger, LOGGER_PREFIX);\n this.log = logger.log.bind(logger, LOGGER_PREFIX);\n this.warn = logger.warn.bind(logger, LOGGER_PREFIX);\n this.error = logger.error.bind(logger, LOGGER_PREFIX);\n this.hls = hls;\n this.config = hls.config;\n this.registerListeners();\n }\n var _proto = EMEController.prototype;\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.onMediaDetached();\n // Remove any references that could be held in config options or callbacks\n var config = this.config;\n config.requestMediaKeySystemAccessFunc = null;\n config.licenseXhrSetup = config.licenseResponseCallback = undefined;\n config.drmSystems = config.drmSystemOptions = {};\n // @ts-ignore\n this.hls = this.onMediaEncrypted = this.onWaitingForKey = this.keyIdToKeySessionPromise = null;\n // @ts-ignore\n this.config = null;\n };\n _proto.registerListeners = function registerListeners() {\n this.hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n this.hls.on(Events.MEDIA_DETACHED, this.onMediaDetached, this);\n this.hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n this.hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n this.hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n this.hls.off(Events.MEDIA_DETACHED, this.onMediaDetached, this);\n this.hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n this.hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n };\n _proto.getLicenseServerUrl = function getLicenseServerUrl(keySystem) {\n var _this$config = this.config,\n drmSystems = _this$config.drmSystems,\n widevineLicenseUrl = _this$config.widevineLicenseUrl;\n var keySystemConfiguration = drmSystems[keySystem];\n if (keySystemConfiguration) {\n return keySystemConfiguration.licenseUrl;\n }\n\n // For backward compatibility\n if (keySystem === KeySystems.WIDEVINE && widevineLicenseUrl) {\n return widevineLicenseUrl;\n }\n throw new Error(\"no license server URL configured for key-system \\\"\" + keySystem + \"\\\"\");\n };\n _proto.getServerCertificateUrl = function getServerCertificateUrl(keySystem) {\n var drmSystems = this.config.drmSystems;\n var keySystemConfiguration = drmSystems[keySystem];\n if (keySystemConfiguration) {\n return keySystemConfiguration.serverCertificateUrl;\n } else {\n this.log(\"No Server Certificate in config.drmSystems[\\\"\" + keySystem + \"\\\"]\");\n }\n };\n _proto.attemptKeySystemAccess = function attemptKeySystemAccess(keySystemsToAttempt) {\n var _this = this;\n var levels = this.hls.levels;\n var uniqueCodec = function uniqueCodec(value, i, a) {\n return !!value && a.indexOf(value) === i;\n };\n var audioCodecs = levels.map(function (level) {\n return level.audioCodec;\n }).filter(uniqueCodec);\n var videoCodecs = levels.map(function (level) {\n return level.videoCodec;\n }).filter(uniqueCodec);\n if (audioCodecs.length + videoCodecs.length === 0) {\n videoCodecs.push('avc1.42e01e');\n }\n return new Promise(function (resolve, reject) {\n var attempt = function attempt(keySystems) {\n var keySystem = keySystems.shift();\n _this.getMediaKeysPromise(keySystem, audioCodecs, videoCodecs).then(function (mediaKeys) {\n return resolve({\n keySystem: keySystem,\n mediaKeys: mediaKeys\n });\n }).catch(function (error) {\n if (keySystems.length) {\n attempt(keySystems);\n } else if (error instanceof EMEKeyError) {\n reject(error);\n } else {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_NO_ACCESS,\n error: error,\n fatal: true\n }, error.message));\n }\n });\n };\n attempt(keySystemsToAttempt);\n });\n };\n _proto.requestMediaKeySystemAccess = function requestMediaKeySystemAccess$1(keySystem, supportedConfigurations) {\n var requestMediaKeySystemAccessFunc = this.config.requestMediaKeySystemAccessFunc;\n if (!(typeof requestMediaKeySystemAccessFunc === 'function')) {\n var errMessage = \"Configured requestMediaKeySystemAccess is not a function \" + requestMediaKeySystemAccessFunc;\n if (requestMediaKeySystemAccess === null && self.location.protocol === 'http:') {\n errMessage = \"navigator.requestMediaKeySystemAccess is not available over insecure protocol \" + location.protocol;\n }\n return Promise.reject(new Error(errMessage));\n }\n return requestMediaKeySystemAccessFunc(keySystem, supportedConfigurations);\n };\n _proto.getMediaKeysPromise = function getMediaKeysPromise(keySystem, audioCodecs, videoCodecs) {\n var _this2 = this;\n // This can throw, but is caught in event handler callpath\n var mediaKeySystemConfigs = getSupportedMediaKeySystemConfigurations(keySystem, audioCodecs, videoCodecs, this.config.drmSystemOptions);\n var keySystemAccessPromises = this.keySystemAccessPromises[keySystem];\n var keySystemAccess = keySystemAccessPromises == null ? void 0 : keySystemAccessPromises.keySystemAccess;\n if (!keySystemAccess) {\n this.log(\"Requesting encrypted media \\\"\" + keySystem + \"\\\" key-system access with config: \" + JSON.stringify(mediaKeySystemConfigs));\n keySystemAccess = this.requestMediaKeySystemAccess(keySystem, mediaKeySystemConfigs);\n var _keySystemAccessPromises = this.keySystemAccessPromises[keySystem] = {\n keySystemAccess: keySystemAccess\n };\n keySystemAccess.catch(function (error) {\n _this2.log(\"Failed to obtain access to key-system \\\"\" + keySystem + \"\\\": \" + error);\n });\n return keySystemAccess.then(function (mediaKeySystemAccess) {\n _this2.log(\"Access for key-system \\\"\" + mediaKeySystemAccess.keySystem + \"\\\" obtained\");\n var certificateRequest = _this2.fetchServerCertificate(keySystem);\n _this2.log(\"Create media-keys for \\\"\" + keySystem + \"\\\"\");\n _keySystemAccessPromises.mediaKeys = mediaKeySystemAccess.createMediaKeys().then(function (mediaKeys) {\n _this2.log(\"Media-keys created for \\\"\" + keySystem + \"\\\"\");\n return certificateRequest.then(function (certificate) {\n if (certificate) {\n return _this2.setMediaKeysServerCertificate(mediaKeys, keySystem, certificate);\n }\n return mediaKeys;\n });\n });\n _keySystemAccessPromises.mediaKeys.catch(function (error) {\n _this2.error(\"Failed to create media-keys for \\\"\" + keySystem + \"\\\"}: \" + error);\n });\n return _keySystemAccessPromises.mediaKeys;\n });\n }\n return keySystemAccess.then(function () {\n return keySystemAccessPromises.mediaKeys;\n });\n };\n _proto.createMediaKeySessionContext = function createMediaKeySessionContext(_ref) {\n var decryptdata = _ref.decryptdata,\n keySystem = _ref.keySystem,\n mediaKeys = _ref.mediaKeys;\n this.log(\"Creating key-system session \\\"\" + keySystem + \"\\\" keyId: \" + Hex.hexDump(decryptdata.keyId || []));\n var mediaKeysSession = mediaKeys.createSession();\n var mediaKeySessionContext = {\n decryptdata: decryptdata,\n keySystem: keySystem,\n mediaKeys: mediaKeys,\n mediaKeysSession: mediaKeysSession,\n keyStatus: 'status-pending'\n };\n this.mediaKeySessions.push(mediaKeySessionContext);\n return mediaKeySessionContext;\n };\n _proto.renewKeySession = function renewKeySession(mediaKeySessionContext) {\n var decryptdata = mediaKeySessionContext.decryptdata;\n if (decryptdata.pssh) {\n var keySessionContext = this.createMediaKeySessionContext(mediaKeySessionContext);\n var _keyId = this.getKeyIdString(decryptdata);\n var scheme = 'cenc';\n this.keyIdToKeySessionPromise[_keyId] = this.generateRequestWithPreferredKeySession(keySessionContext, scheme, decryptdata.pssh, 'expired');\n } else {\n this.warn(\"Could not renew expired session. Missing pssh initData.\");\n }\n this.removeSession(mediaKeySessionContext);\n };\n _proto.getKeyIdString = function getKeyIdString(decryptdata) {\n if (!decryptdata) {\n throw new Error('Could not read keyId of undefined decryptdata');\n }\n if (decryptdata.keyId === null) {\n throw new Error('keyId is null');\n }\n return Hex.hexDump(decryptdata.keyId);\n };\n _proto.updateKeySession = function updateKeySession(mediaKeySessionContext, data) {\n var _mediaKeySessionConte;\n var keySession = mediaKeySessionContext.mediaKeysSession;\n this.log(\"Updating key-session \\\"\" + keySession.sessionId + \"\\\" for keyID \" + Hex.hexDump(((_mediaKeySessionConte = mediaKeySessionContext.decryptdata) == null ? void 0 : _mediaKeySessionConte.keyId) || []) + \"\\n } (data length: \" + (data ? data.byteLength : data) + \")\");\n return keySession.update(data);\n };\n _proto.selectKeySystemFormat = function selectKeySystemFormat(frag) {\n var keyFormats = Object.keys(frag.levelkeys || {});\n if (!this.keyFormatPromise) {\n this.log(\"Selecting key-system from fragment (sn: \" + frag.sn + \" \" + frag.type + \": \" + frag.level + \") key formats \" + keyFormats.join(', '));\n this.keyFormatPromise = this.getKeyFormatPromise(keyFormats);\n }\n return this.keyFormatPromise;\n };\n _proto.getKeyFormatPromise = function getKeyFormatPromise(keyFormats) {\n var _this3 = this;\n return new Promise(function (resolve, reject) {\n var keySystemsInConfig = getKeySystemsForConfig(_this3.config);\n var keySystemsToAttempt = keyFormats.map(keySystemFormatToKeySystemDomain).filter(function (value) {\n return !!value && keySystemsInConfig.indexOf(value) !== -1;\n });\n return _this3.getKeySystemSelectionPromise(keySystemsToAttempt).then(function (_ref2) {\n var keySystem = _ref2.keySystem;\n var keySystemFormat = keySystemDomainToKeySystemFormat(keySystem);\n if (keySystemFormat) {\n resolve(keySystemFormat);\n } else {\n reject(new Error(\"Unable to find format for key-system \\\"\" + keySystem + \"\\\"\"));\n }\n }).catch(reject);\n });\n };\n _proto.loadKey = function loadKey(data) {\n var _this4 = this;\n var decryptdata = data.keyInfo.decryptdata;\n var keyId = this.getKeyIdString(decryptdata);\n var keyDetails = \"(keyId: \" + keyId + \" format: \\\"\" + decryptdata.keyFormat + \"\\\" method: \" + decryptdata.method + \" uri: \" + decryptdata.uri + \")\";\n this.log(\"Starting session for key \" + keyDetails);\n var keySessionContextPromise = this.keyIdToKeySessionPromise[keyId];\n if (!keySessionContextPromise) {\n keySessionContextPromise = this.keyIdToKeySessionPromise[keyId] = this.getKeySystemForKeyPromise(decryptdata).then(function (_ref3) {\n var keySystem = _ref3.keySystem,\n mediaKeys = _ref3.mediaKeys;\n _this4.throwIfDestroyed();\n _this4.log(\"Handle encrypted media sn: \" + data.frag.sn + \" \" + data.frag.type + \": \" + data.frag.level + \" using key \" + keyDetails);\n return _this4.attemptSetMediaKeys(keySystem, mediaKeys).then(function () {\n _this4.throwIfDestroyed();\n var keySessionContext = _this4.createMediaKeySessionContext({\n keySystem: keySystem,\n mediaKeys: mediaKeys,\n decryptdata: decryptdata\n });\n var scheme = 'cenc';\n return _this4.generateRequestWithPreferredKeySession(keySessionContext, scheme, decryptdata.pssh, 'playlist-key');\n });\n });\n keySessionContextPromise.catch(function (error) {\n return _this4.handleError(error);\n });\n }\n return keySessionContextPromise;\n };\n _proto.throwIfDestroyed = function throwIfDestroyed(message) {\n if (!this.hls) {\n throw new Error('invalid state');\n }\n };\n _proto.handleError = function handleError(error) {\n if (!this.hls) {\n return;\n }\n this.error(error.message);\n if (error instanceof EMEKeyError) {\n this.hls.trigger(Events.ERROR, error.data);\n } else {\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_NO_KEYS,\n error: error,\n fatal: true\n });\n }\n };\n _proto.getKeySystemForKeyPromise = function getKeySystemForKeyPromise(decryptdata) {\n var keyId = this.getKeyIdString(decryptdata);\n var mediaKeySessionContext = this.keyIdToKeySessionPromise[keyId];\n if (!mediaKeySessionContext) {\n var keySystem = keySystemFormatToKeySystemDomain(decryptdata.keyFormat);\n var keySystemsToAttempt = keySystem ? [keySystem] : getKeySystemsForConfig(this.config);\n return this.attemptKeySystemAccess(keySystemsToAttempt);\n }\n return mediaKeySessionContext;\n };\n _proto.getKeySystemSelectionPromise = function getKeySystemSelectionPromise(keySystemsToAttempt) {\n if (!keySystemsToAttempt.length) {\n keySystemsToAttempt = getKeySystemsForConfig(this.config);\n }\n if (keySystemsToAttempt.length === 0) {\n throw new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_NO_CONFIGURED_LICENSE,\n fatal: true\n }, \"Missing key-system license configuration options \" + JSON.stringify({\n drmSystems: this.config.drmSystems\n }));\n }\n return this.attemptKeySystemAccess(keySystemsToAttempt);\n };\n _proto._onMediaEncrypted = function _onMediaEncrypted(event) {\n var _this5 = this;\n var initDataType = event.initDataType,\n initData = event.initData;\n this.debug(\"\\\"\" + event.type + \"\\\" event: init data type: \\\"\" + initDataType + \"\\\"\");\n\n // Ignore event when initData is null\n if (initData === null) {\n return;\n }\n var keyId;\n var keySystemDomain;\n if (initDataType === 'sinf' && this.config.drmSystems[KeySystems.FAIRPLAY]) {\n // Match sinf keyId to playlist skd://keyId=\n var json = bin2str(new Uint8Array(initData));\n try {\n var sinf = base64Decode(JSON.parse(json).sinf);\n var tenc = parseSinf(new Uint8Array(sinf));\n if (!tenc) {\n return;\n }\n keyId = tenc.subarray(8, 24);\n keySystemDomain = KeySystems.FAIRPLAY;\n } catch (error) {\n this.warn('Failed to parse sinf \"encrypted\" event message initData');\n return;\n }\n } else {\n // Support clear-lead key-session creation (otherwise depend on playlist keys)\n var psshInfo = parsePssh(initData);\n if (psshInfo === null) {\n return;\n }\n if (psshInfo.version === 0 && psshInfo.systemId === KeySystemIds.WIDEVINE && psshInfo.data) {\n keyId = psshInfo.data.subarray(8, 24);\n }\n keySystemDomain = keySystemIdToKeySystemDomain(psshInfo.systemId);\n }\n if (!keySystemDomain || !keyId) {\n return;\n }\n var keyIdHex = Hex.hexDump(keyId);\n var keyIdToKeySessionPromise = this.keyIdToKeySessionPromise,\n mediaKeySessions = this.mediaKeySessions;\n var keySessionContextPromise = keyIdToKeySessionPromise[keyIdHex];\n var _loop = function _loop() {\n // Match playlist key\n var keyContext = mediaKeySessions[i];\n var decryptdata = keyContext.decryptdata;\n if (decryptdata.pssh || !decryptdata.keyId) {\n return 0; // continue\n }\n var oldKeyIdHex = Hex.hexDump(decryptdata.keyId);\n if (keyIdHex === oldKeyIdHex || decryptdata.uri.replace(/-/g, '').indexOf(keyIdHex) !== -1) {\n keySessionContextPromise = keyIdToKeySessionPromise[oldKeyIdHex];\n delete keyIdToKeySessionPromise[oldKeyIdHex];\n decryptdata.pssh = new Uint8Array(initData);\n decryptdata.keyId = keyId;\n keySessionContextPromise = keyIdToKeySessionPromise[keyIdHex] = keySessionContextPromise.then(function () {\n return _this5.generateRequestWithPreferredKeySession(keyContext, initDataType, initData, 'encrypted-event-key-match');\n });\n return 1; // break\n }\n },\n _ret;\n for (var i = 0; i < mediaKeySessions.length; i++) {\n _ret = _loop();\n if (_ret === 0) continue;\n if (_ret === 1) break;\n }\n if (!keySessionContextPromise) {\n // Clear-lead key (not encountered in playlist)\n keySessionContextPromise = keyIdToKeySessionPromise[keyIdHex] = this.getKeySystemSelectionPromise([keySystemDomain]).then(function (_ref4) {\n var _keySystemToKeySystem;\n var keySystem = _ref4.keySystem,\n mediaKeys = _ref4.mediaKeys;\n _this5.throwIfDestroyed();\n var decryptdata = new LevelKey('ISO-23001-7', keyIdHex, (_keySystemToKeySystem = keySystemDomainToKeySystemFormat(keySystem)) != null ? _keySystemToKeySystem : '');\n decryptdata.pssh = new Uint8Array(initData);\n decryptdata.keyId = keyId;\n return _this5.attemptSetMediaKeys(keySystem, mediaKeys).then(function () {\n _this5.throwIfDestroyed();\n var keySessionContext = _this5.createMediaKeySessionContext({\n decryptdata: decryptdata,\n keySystem: keySystem,\n mediaKeys: mediaKeys\n });\n return _this5.generateRequestWithPreferredKeySession(keySessionContext, initDataType, initData, 'encrypted-event-no-match');\n });\n });\n }\n keySessionContextPromise.catch(function (error) {\n return _this5.handleError(error);\n });\n };\n _proto._onWaitingForKey = function _onWaitingForKey(event) {\n this.log(\"\\\"\" + event.type + \"\\\" event\");\n };\n _proto.attemptSetMediaKeys = function attemptSetMediaKeys(keySystem, mediaKeys) {\n var _this6 = this;\n var queue = this.setMediaKeysQueue.slice();\n this.log(\"Setting media-keys for \\\"\" + keySystem + \"\\\"\");\n // Only one setMediaKeys() can run at one time, and multiple setMediaKeys() operations\n // can be queued for execution for multiple key sessions.\n var setMediaKeysPromise = Promise.all(queue).then(function () {\n if (!_this6.media) {\n throw new Error('Attempted to set mediaKeys without media element attached');\n }\n return _this6.media.setMediaKeys(mediaKeys);\n });\n this.setMediaKeysQueue.push(setMediaKeysPromise);\n return setMediaKeysPromise.then(function () {\n _this6.log(\"Media-keys set for \\\"\" + keySystem + \"\\\"\");\n queue.push(setMediaKeysPromise);\n _this6.setMediaKeysQueue = _this6.setMediaKeysQueue.filter(function (p) {\n return queue.indexOf(p) === -1;\n });\n });\n };\n _proto.generateRequestWithPreferredKeySession = function generateRequestWithPreferredKeySession(context, initDataType, initData, reason) {\n var _this$config$drmSyste,\n _this$config$drmSyste2,\n _this7 = this;\n var generateRequestFilter = (_this$config$drmSyste = this.config.drmSystems) == null ? void 0 : (_this$config$drmSyste2 = _this$config$drmSyste[context.keySystem]) == null ? void 0 : _this$config$drmSyste2.generateRequest;\n if (generateRequestFilter) {\n try {\n var mappedInitData = generateRequestFilter.call(this.hls, initDataType, initData, context);\n if (!mappedInitData) {\n throw new Error('Invalid response from configured generateRequest filter');\n }\n initDataType = mappedInitData.initDataType;\n initData = context.decryptdata.pssh = mappedInitData.initData ? new Uint8Array(mappedInitData.initData) : null;\n } catch (error) {\n var _this$hls;\n this.warn(error.message);\n if ((_this$hls = this.hls) != null && _this$hls.config.debug) {\n throw error;\n }\n }\n }\n if (initData === null) {\n this.log(\"Skipping key-session request for \\\"\" + reason + \"\\\" (no initData)\");\n return Promise.resolve(context);\n }\n var keyId = this.getKeyIdString(context.decryptdata);\n this.log(\"Generating key-session request for \\\"\" + reason + \"\\\": \" + keyId + \" (init data type: \" + initDataType + \" length: \" + (initData ? initData.byteLength : null) + \")\");\n var licenseStatus = new EventEmitter();\n var onmessage = context._onmessage = function (event) {\n var keySession = context.mediaKeysSession;\n if (!keySession) {\n licenseStatus.emit('error', new Error('invalid state'));\n return;\n }\n var messageType = event.messageType,\n message = event.message;\n _this7.log(\"\\\"\" + messageType + \"\\\" message event for session \\\"\" + keySession.sessionId + \"\\\" message size: \" + message.byteLength);\n if (messageType === 'license-request' || messageType === 'license-renewal') {\n _this7.renewLicense(context, message).catch(function (error) {\n _this7.handleError(error);\n licenseStatus.emit('error', error);\n });\n } else if (messageType === 'license-release') {\n if (context.keySystem === KeySystems.FAIRPLAY) {\n _this7.updateKeySession(context, strToUtf8array('acknowledged'));\n _this7.removeSession(context);\n }\n } else {\n _this7.warn(\"unhandled media key message type \\\"\" + messageType + \"\\\"\");\n }\n };\n var onkeystatuseschange = context._onkeystatuseschange = function (event) {\n var keySession = context.mediaKeysSession;\n if (!keySession) {\n licenseStatus.emit('error', new Error('invalid state'));\n return;\n }\n _this7.onKeyStatusChange(context);\n var keyStatus = context.keyStatus;\n licenseStatus.emit('keyStatus', keyStatus);\n if (keyStatus === 'expired') {\n _this7.warn(context.keySystem + \" expired for key \" + keyId);\n _this7.renewKeySession(context);\n }\n };\n context.mediaKeysSession.addEventListener('message', onmessage);\n context.mediaKeysSession.addEventListener('keystatuseschange', onkeystatuseschange);\n var keyUsablePromise = new Promise(function (resolve, reject) {\n licenseStatus.on('error', reject);\n licenseStatus.on('keyStatus', function (keyStatus) {\n if (keyStatus.startsWith('usable')) {\n resolve();\n } else if (keyStatus === 'output-restricted') {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,\n fatal: false\n }, 'HDCP level output restricted'));\n } else if (keyStatus === 'internal-error') {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_STATUS_INTERNAL_ERROR,\n fatal: true\n }, \"key status changed to \\\"\" + keyStatus + \"\\\"\"));\n } else if (keyStatus === 'expired') {\n reject(new Error('key expired while generating request'));\n } else {\n _this7.warn(\"unhandled key status change \\\"\" + keyStatus + \"\\\"\");\n }\n });\n });\n return context.mediaKeysSession.generateRequest(initDataType, initData).then(function () {\n var _context$mediaKeysSes;\n _this7.log(\"Request generated for key-session \\\"\" + ((_context$mediaKeysSes = context.mediaKeysSession) == null ? void 0 : _context$mediaKeysSes.sessionId) + \"\\\" keyId: \" + keyId);\n }).catch(function (error) {\n throw new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_NO_SESSION,\n error: error,\n fatal: false\n }, \"Error generating key-session request: \" + error);\n }).then(function () {\n return keyUsablePromise;\n }).catch(function (error) {\n licenseStatus.removeAllListeners();\n _this7.removeSession(context);\n throw error;\n }).then(function () {\n licenseStatus.removeAllListeners();\n return context;\n });\n };\n _proto.onKeyStatusChange = function onKeyStatusChange(mediaKeySessionContext) {\n var _this8 = this;\n mediaKeySessionContext.mediaKeysSession.keyStatuses.forEach(function (status, keyId) {\n _this8.log(\"key status change \\\"\" + status + \"\\\" for keyStatuses keyId: \" + Hex.hexDump('buffer' in keyId ? new Uint8Array(keyId.buffer, keyId.byteOffset, keyId.byteLength) : new Uint8Array(keyId)) + \" session keyId: \" + Hex.hexDump(new Uint8Array(mediaKeySessionContext.decryptdata.keyId || [])) + \" uri: \" + mediaKeySessionContext.decryptdata.uri);\n mediaKeySessionContext.keyStatus = status;\n });\n };\n _proto.fetchServerCertificate = function fetchServerCertificate(keySystem) {\n var config = this.config;\n var Loader = config.loader;\n var certLoader = new Loader(config);\n var url = this.getServerCertificateUrl(keySystem);\n if (!url) {\n return Promise.resolve();\n }\n this.log(\"Fetching server certificate for \\\"\" + keySystem + \"\\\"\");\n return new Promise(function (resolve, reject) {\n var loaderContext = {\n responseType: 'arraybuffer',\n url: url\n };\n var loadPolicy = config.certLoadPolicy.default;\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: 0,\n retryDelay: 0,\n maxRetryDelay: 0\n };\n var loaderCallbacks = {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n resolve(response.data);\n },\n onError: function onError(response, contex, networkDetails, stats) {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,\n fatal: true,\n networkDetails: networkDetails,\n response: _objectSpread2({\n url: loaderContext.url,\n data: undefined\n }, response)\n }, \"\\\"\" + keySystem + \"\\\" certificate request failed (\" + url + \"). Status: \" + response.code + \" (\" + response.text + \")\"));\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,\n fatal: true,\n networkDetails: networkDetails,\n response: {\n url: loaderContext.url,\n data: undefined\n }\n }, \"\\\"\" + keySystem + \"\\\" certificate request timed out (\" + url + \")\"));\n },\n onAbort: function onAbort(stats, context, networkDetails) {\n reject(new Error('aborted'));\n }\n };\n certLoader.load(loaderContext, loaderConfig, loaderCallbacks);\n });\n };\n _proto.setMediaKeysServerCertificate = function setMediaKeysServerCertificate(mediaKeys, keySystem, cert) {\n var _this9 = this;\n return new Promise(function (resolve, reject) {\n mediaKeys.setServerCertificate(cert).then(function (success) {\n _this9.log(\"setServerCertificate \" + (success ? 'success' : 'not supported by CDM') + \" (\" + (cert == null ? void 0 : cert.byteLength) + \") on \\\"\" + keySystem + \"\\\"\");\n resolve(mediaKeys);\n }).catch(function (error) {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,\n error: error,\n fatal: true\n }, error.message));\n });\n });\n };\n _proto.renewLicense = function renewLicense(context, keyMessage) {\n var _this10 = this;\n return this.requestLicense(context, new Uint8Array(keyMessage)).then(function (data) {\n return _this10.updateKeySession(context, new Uint8Array(data)).catch(function (error) {\n throw new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_SESSION_UPDATE_FAILED,\n error: error,\n fatal: true\n }, error.message);\n });\n });\n };\n _proto.unpackPlayReadyKeyMessage = function unpackPlayReadyKeyMessage(xhr, licenseChallenge) {\n // On Edge, the raw license message is UTF-16-encoded XML. We need\n // to unpack the Challenge element (base64-encoded string containing the\n // actual license request) and any HttpHeader elements (sent as request\n // headers).\n // For PlayReady CDMs, we need to dig the Challenge out of the XML.\n var xmlString = String.fromCharCode.apply(null, new Uint16Array(licenseChallenge.buffer));\n if (!xmlString.includes('PlayReadyKeyMessage')) {\n // This does not appear to be a wrapped message as on Edge. Some\n // clients do not need this unwrapping, so we will assume this is one of\n // them. Note that \"xml\" at this point probably looks like random\n // garbage, since we interpreted UTF-8 as UTF-16.\n xhr.setRequestHeader('Content-Type', 'text/xml; charset=utf-8');\n return licenseChallenge;\n }\n var keyMessageXml = new DOMParser().parseFromString(xmlString, 'application/xml');\n // Set request headers.\n var headers = keyMessageXml.querySelectorAll('HttpHeader');\n if (headers.length > 0) {\n var header;\n for (var i = 0, len = headers.length; i < len; i++) {\n var _header$querySelector, _header$querySelector2;\n header = headers[i];\n var name = (_header$querySelector = header.querySelector('name')) == null ? void 0 : _header$querySelector.textContent;\n var _value = (_header$querySelector2 = header.querySelector('value')) == null ? void 0 : _header$querySelector2.textContent;\n if (name && _value) {\n xhr.setRequestHeader(name, _value);\n }\n }\n }\n var challengeElement = keyMessageXml.querySelector('Challenge');\n var challengeText = challengeElement == null ? void 0 : challengeElement.textContent;\n if (!challengeText) {\n throw new Error(\"Cannot find <Challenge> in key message\");\n }\n return strToUtf8array(atob(challengeText));\n };\n _proto.setupLicenseXHR = function setupLicenseXHR(xhr, url, keysListItem, licenseChallenge) {\n var _this11 = this;\n var licenseXhrSetup = this.config.licenseXhrSetup;\n if (!licenseXhrSetup) {\n xhr.open('POST', url, true);\n return Promise.resolve({\n xhr: xhr,\n licenseChallenge: licenseChallenge\n });\n }\n return Promise.resolve().then(function () {\n if (!keysListItem.decryptdata) {\n throw new Error('Key removed');\n }\n return licenseXhrSetup.call(_this11.hls, xhr, url, keysListItem, licenseChallenge);\n }).catch(function (error) {\n if (!keysListItem.decryptdata) {\n // Key session removed. Cancel license request.\n throw error;\n }\n // let's try to open before running setup\n xhr.open('POST', url, true);\n return licenseXhrSetup.call(_this11.hls, xhr, url, keysListItem, licenseChallenge);\n }).then(function (licenseXhrSetupResult) {\n // if licenseXhrSetup did not yet call open, let's do it now\n if (!xhr.readyState) {\n xhr.open('POST', url, true);\n }\n var finalLicenseChallenge = licenseXhrSetupResult ? licenseXhrSetupResult : licenseChallenge;\n return {\n xhr: xhr,\n licenseChallenge: finalLicenseChallenge\n };\n });\n };\n _proto.requestLicense = function requestLicense(keySessionContext, licenseChallenge) {\n var _this12 = this;\n var keyLoadPolicy = this.config.keyLoadPolicy.default;\n return new Promise(function (resolve, reject) {\n var url = _this12.getLicenseServerUrl(keySessionContext.keySystem);\n _this12.log(\"Sending license request to URL: \" + url);\n var xhr = new XMLHttpRequest();\n xhr.responseType = 'arraybuffer';\n xhr.onreadystatechange = function () {\n if (!_this12.hls || !keySessionContext.mediaKeysSession) {\n return reject(new Error('invalid state'));\n }\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n _this12._requestLicenseFailureCount = 0;\n var data = xhr.response;\n _this12.log(\"License received \" + (data instanceof ArrayBuffer ? data.byteLength : data));\n var licenseResponseCallback = _this12.config.licenseResponseCallback;\n if (licenseResponseCallback) {\n try {\n data = licenseResponseCallback.call(_this12.hls, xhr, url, keySessionContext);\n } catch (error) {\n _this12.error(error);\n }\n }\n resolve(data);\n } else {\n var retryConfig = keyLoadPolicy.errorRetry;\n var maxNumRetry = retryConfig ? retryConfig.maxNumRetry : 0;\n _this12._requestLicenseFailureCount++;\n if (_this12._requestLicenseFailureCount > maxNumRetry || xhr.status >= 400 && xhr.status < 500) {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,\n fatal: true,\n networkDetails: xhr,\n response: {\n url: url,\n data: undefined,\n code: xhr.status,\n text: xhr.statusText\n }\n }, \"License Request XHR failed (\" + url + \"). Status: \" + xhr.status + \" (\" + xhr.statusText + \")\"));\n } else {\n var attemptsLeft = maxNumRetry - _this12._requestLicenseFailureCount + 1;\n _this12.warn(\"Retrying license request, \" + attemptsLeft + \" attempts left\");\n _this12.requestLicense(keySessionContext, licenseChallenge).then(resolve, reject);\n }\n }\n }\n };\n if (keySessionContext.licenseXhr && keySessionContext.licenseXhr.readyState !== XMLHttpRequest.DONE) {\n keySessionContext.licenseXhr.abort();\n }\n keySessionContext.licenseXhr = xhr;\n _this12.setupLicenseXHR(xhr, url, keySessionContext, licenseChallenge).then(function (_ref5) {\n var xhr = _ref5.xhr,\n licenseChallenge = _ref5.licenseChallenge;\n if (keySessionContext.keySystem == KeySystems.PLAYREADY) {\n licenseChallenge = _this12.unpackPlayReadyKeyMessage(xhr, licenseChallenge);\n }\n xhr.send(licenseChallenge);\n });\n });\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n if (!this.config.emeEnabled) {\n return;\n }\n var media = data.media;\n\n // keep reference of media\n this.media = media;\n media.addEventListener('encrypted', this.onMediaEncrypted);\n media.addEventListener('waitingforkey', this.onWaitingForKey);\n };\n _proto.onMediaDetached = function onMediaDetached() {\n var _this13 = this;\n var media = this.media;\n var mediaKeysList = this.mediaKeySessions;\n if (media) {\n media.removeEventListener('encrypted', this.onMediaEncrypted);\n media.removeEventListener('waitingforkey', this.onWaitingForKey);\n this.media = null;\n }\n this._requestLicenseFailureCount = 0;\n this.setMediaKeysQueue = [];\n this.mediaKeySessions = [];\n this.keyIdToKeySessionPromise = {};\n LevelKey.clearKeyUriToKeyIdMap();\n\n // Close all sessions and remove media keys from the video element.\n var keySessionCount = mediaKeysList.length;\n EMEController.CDMCleanupPromise = Promise.all(mediaKeysList.map(function (mediaKeySessionContext) {\n return _this13.removeSession(mediaKeySessionContext);\n }).concat(media == null ? void 0 : media.setMediaKeys(null).catch(function (error) {\n _this13.log(\"Could not clear media keys: \" + error);\n }))).then(function () {\n if (keySessionCount) {\n _this13.log('finished closing key sessions and clearing media keys');\n mediaKeysList.length = 0;\n }\n }).catch(function (error) {\n _this13.log(\"Could not close sessions and clear media keys: \" + error);\n });\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.keyFormatPromise = null;\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, _ref6) {\n var sessionKeys = _ref6.sessionKeys;\n if (!sessionKeys || !this.config.emeEnabled) {\n return;\n }\n if (!this.keyFormatPromise) {\n var keyFormats = sessionKeys.reduce(function (formats, sessionKey) {\n if (formats.indexOf(sessionKey.keyFormat) === -1) {\n formats.push(sessionKey.keyFormat);\n }\n return formats;\n }, []);\n this.log(\"Selecting key-system from session-keys \" + keyFormats.join(', '));\n this.keyFormatPromise = this.getKeyFormatPromise(keyFormats);\n }\n };\n _proto.removeSession = function removeSession(mediaKeySessionContext) {\n var _this14 = this;\n var mediaKeysSession = mediaKeySessionContext.mediaKeysSession,\n licenseXhr = mediaKeySessionContext.licenseXhr;\n if (mediaKeysSession) {\n this.log(\"Remove licenses and keys and close session \" + mediaKeysSession.sessionId);\n if (mediaKeySessionContext._onmessage) {\n mediaKeysSession.removeEventListener('message', mediaKeySessionContext._onmessage);\n mediaKeySessionContext._onmessage = undefined;\n }\n if (mediaKeySessionContext._onkeystatuseschange) {\n mediaKeysSession.removeEventListener('keystatuseschange', mediaKeySessionContext._onkeystatuseschange);\n mediaKeySessionContext._onkeystatuseschange = undefined;\n }\n if (licenseXhr && licenseXhr.readyState !== XMLHttpRequest.DONE) {\n licenseXhr.abort();\n }\n mediaKeySessionContext.mediaKeysSession = mediaKeySessionContext.decryptdata = mediaKeySessionContext.licenseXhr = undefined;\n var index = this.mediaKeySessions.indexOf(mediaKeySessionContext);\n if (index > -1) {\n this.mediaKeySessions.splice(index, 1);\n }\n return mediaKeysSession.remove().catch(function (error) {\n _this14.log(\"Could not remove session: \" + error);\n }).then(function () {\n return mediaKeysSession.close();\n }).catch(function (error) {\n _this14.log(\"Could not close session: \" + error);\n });\n }\n };\n return EMEController;\n }();\n EMEController.CDMCleanupPromise = void 0;\n var EMEKeyError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(EMEKeyError, _Error);\n function EMEKeyError(data, message) {\n var _this15;\n _this15 = _Error.call(this, message) || this;\n _this15.data = void 0;\n data.error || (data.error = new Error(message));\n _this15.data = data;\n data.err = data.error;\n return _this15;\n }\n return EMEKeyError;\n }( /*#__PURE__*/_wrapNativeSuper(Error));\n\n /**\n * Common Media Object Type\n *\n * @group CMCD\n * @group CMSD\n *\n * @beta\n */\n var CmObjectType;\n (function (CmObjectType) {\n /**\n * text file, such as a manifest or playlist\n */\n CmObjectType[\"MANIFEST\"] = \"m\";\n /**\n * audio only\n */\n CmObjectType[\"AUDIO\"] = \"a\";\n /**\n * video only\n */\n CmObjectType[\"VIDEO\"] = \"v\";\n /**\n * muxed audio and video\n */\n CmObjectType[\"MUXED\"] = \"av\";\n /**\n * init segment\n */\n CmObjectType[\"INIT\"] = \"i\";\n /**\n * caption or subtitle\n */\n CmObjectType[\"CAPTION\"] = \"c\";\n /**\n * ISOBMFF timed text track\n */\n CmObjectType[\"TIMED_TEXT\"] = \"tt\";\n /**\n * cryptographic key, license or certificate.\n */\n CmObjectType[\"KEY\"] = \"k\";\n /**\n * other\n */\n CmObjectType[\"OTHER\"] = \"o\";\n })(CmObjectType || (CmObjectType = {}));\n\n /**\n * Common Media Streaming Format\n *\n * @group CMCD\n * @group CMSD\n *\n * @beta\n */\n var CmStreamingFormat;\n (function (CmStreamingFormat) {\n /**\n * MPEG DASH\n */\n CmStreamingFormat[\"DASH\"] = \"d\";\n /**\n * HTTP Live Streaming (HLS)\n */\n CmStreamingFormat[\"HLS\"] = \"h\";\n /**\n * Smooth Streaming\n */\n CmStreamingFormat[\"SMOOTH\"] = \"s\";\n /**\n * Other\n */\n CmStreamingFormat[\"OTHER\"] = \"o\";\n })(CmStreamingFormat || (CmStreamingFormat = {}));\n\n /**\n * CMCD header fields.\n *\n * @group CMCD\n *\n * @beta\n */\n var CmcdHeaderField;\n (function (CmcdHeaderField) {\n /**\n * keys whose values vary with the object being requested.\n */\n CmcdHeaderField[\"OBJECT\"] = \"CMCD-Object\";\n /**\n * keys whose values vary with each request.\n */\n CmcdHeaderField[\"REQUEST\"] = \"CMCD-Request\";\n /**\n * keys whose values are expected to be invariant over the life of the session.\n */\n CmcdHeaderField[\"SESSION\"] = \"CMCD-Session\";\n /**\n * keys whose values do not vary with every request or object.\n */\n CmcdHeaderField[\"STATUS\"] = \"CMCD-Status\";\n })(CmcdHeaderField || (CmcdHeaderField = {}));\n\n var _CmcdHeaderMap;\n /**\n * The map of CMCD header fields to official CMCD keys.\n *\n * @internal\n *\n * @group CMCD\n */\n var CmcdHeaderMap = (_CmcdHeaderMap = {}, _CmcdHeaderMap[CmcdHeaderField.OBJECT] = ['br', 'd', 'ot', 'tb'], _CmcdHeaderMap[CmcdHeaderField.REQUEST] = ['bl', 'dl', 'mtp', 'nor', 'nrr', 'su'], _CmcdHeaderMap[CmcdHeaderField.SESSION] = ['cid', 'pr', 'sf', 'sid', 'st', 'v'], _CmcdHeaderMap[CmcdHeaderField.STATUS] = ['bs', 'rtp'], _CmcdHeaderMap);\n\n /**\n * Structured Field Item\n *\n * @group Structured Field\n *\n * @beta\n */\n var SfItem = function SfItem(value, params) {\n this.value = void 0;\n this.params = void 0;\n if (Array.isArray(value)) {\n value = value.map(function (v) {\n return v instanceof SfItem ? v : new SfItem(v);\n });\n }\n this.value = value;\n this.params = params;\n };\n\n /**\n * A class to represent structured field tokens when `Symbol` is not available.\n *\n * @group Structured Field\n *\n * @beta\n */\n var SfToken = function SfToken(description) {\n this.description = void 0;\n this.description = description;\n };\n\n var DICT = 'Dict';\n\n function format(value) {\n if (Array.isArray(value)) {\n return JSON.stringify(value);\n }\n if (value instanceof Map) {\n return 'Map{}';\n }\n if (value instanceof Set) {\n return 'Set{}';\n }\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n return String(value);\n }\n function throwError(action, src, type, cause) {\n return new Error(\"failed to \" + action + \" \\\"\" + format(src) + \"\\\" as \" + type, {\n cause: cause\n });\n }\n\n var BARE_ITEM = 'Bare Item';\n\n var BOOLEAN = 'Boolean';\n\n var BYTES = 'Byte Sequence';\n\n var DECIMAL = 'Decimal';\n\n var INTEGER = 'Integer';\n\n function isInvalidInt(value) {\n return value < -999999999999999 || 999999999999999 < value;\n }\n\n var STRING_REGEX = /[\\x00-\\x1f\\x7f]+/; // eslint-disable-line no-control-regex\n\n var TOKEN = 'Token';\n\n var KEY = 'Key';\n\n function serializeError(src, type, cause) {\n return throwError('serialize', src, type, cause);\n }\n\n // 4.1.9. Serializing a Boolean\n //\n // Given a Boolean as input_boolean, return an ASCII string suitable for\n // use in a HTTP field value.\n //\n // 1. If input_boolean is not a boolean, fail serialization.\n //\n // 2. Let output be an empty string.\n //\n // 3. Append \"?\" to output.\n //\n // 4. If input_boolean is true, append \"1\" to output.\n //\n // 5. If input_boolean is false, append \"0\" to output.\n //\n // 6. Return output.\n function serializeBoolean(value) {\n if (typeof value !== 'boolean') {\n throw serializeError(value, BOOLEAN);\n }\n return value ? '?1' : '?0';\n }\n\n /**\n * Encodes binary data to base64\n *\n * @param binary - The binary data to encode\n * @returns The base64 encoded string\n *\n * @group Utils\n *\n * @beta\n */\n function base64encode(binary) {\n return btoa(String.fromCharCode.apply(String, binary));\n }\n\n // 4.1.8. Serializing a Byte Sequence\n //\n // Given a Byte Sequence as input_bytes, return an ASCII string suitable\n // for use in a HTTP field value.\n //\n // 1. If input_bytes is not a sequence of bytes, fail serialization.\n //\n // 2. Let output be an empty string.\n //\n // 3. Append \":\" to output.\n //\n // 4. Append the result of base64-encoding input_bytes as per\n // [RFC4648], Section 4, taking account of the requirements below.\n //\n // 5. Append \":\" to output.\n //\n // 6. Return output.\n //\n // The encoded data is required to be padded with \"=\", as per [RFC4648],\n // Section 3.2.\n //\n // Likewise, encoded data SHOULD have pad bits set to zero, as per\n // [RFC4648], Section 3.5, unless it is not possible to do so due to\n // implementation constraints.\n function serializeByteSequence(value) {\n if (ArrayBuffer.isView(value) === false) {\n throw serializeError(value, BYTES);\n }\n return \":\" + base64encode(value) + \":\";\n }\n\n // 4.1.4. Serializing an Integer\n //\n // Given an Integer as input_integer, return an ASCII string suitable\n // for use in a HTTP field value.\n //\n // 1. If input_integer is not an integer in the range of\n // -999,999,999,999,999 to 999,999,999,999,999 inclusive, fail\n // serialization.\n //\n // 2. Let output be an empty string.\n //\n // 3. If input_integer is less than (but not equal to) 0, append \"-\" to\n // output.\n //\n // 4. Append input_integer's numeric value represented in base 10 using\n // only decimal digits to output.\n //\n // 5. Return output.\n function serializeInteger(value) {\n if (isInvalidInt(value)) {\n throw serializeError(value, INTEGER);\n }\n return value.toString();\n }\n\n // 4.1.10. Serializing a Date\n //\n // Given a Date as input_integer, return an ASCII string suitable for\n // use in an HTTP field value.\n // 1. Let output be \"@\".\n // 2. Append to output the result of running Serializing an Integer\n // with input_date (Section 4.1.4).\n // 3. Return output.\n function serializeDate(value) {\n return \"@\" + serializeInteger(value.getTime() / 1000);\n }\n\n /**\n * This implements the rounding procedure described in step 2 of the \"Serializing a Decimal\" specification.\n * This rounding style is known as \"even rounding\", \"banker's rounding\", or \"commercial rounding\".\n *\n * @param value - The value to round\n * @param precision - The number of decimal places to round to\n * @returns The rounded value\n *\n * @group Utils\n *\n * @beta\n */\n function roundToEven(value, precision) {\n if (value < 0) {\n return -roundToEven(-value, precision);\n }\n var decimalShift = Math.pow(10, precision);\n var isEquidistant = Math.abs(value * decimalShift % 1 - 0.5) < Number.EPSILON;\n if (isEquidistant) {\n // If the tail of the decimal place is 'equidistant' we round to the nearest even value\n var flooredValue = Math.floor(value * decimalShift);\n return (flooredValue % 2 === 0 ? flooredValue : flooredValue + 1) / decimalShift;\n } else {\n // Otherwise, proceed as normal\n return Math.round(value * decimalShift) / decimalShift;\n }\n }\n\n // 4.1.5. Serializing a Decimal\n //\n // Given a decimal number as input_decimal, return an ASCII string\n // suitable for use in a HTTP field value.\n //\n // 1. If input_decimal is not a decimal number, fail serialization.\n //\n // 2. If input_decimal has more than three significant digits to the\n // right of the decimal point, round it to three decimal places,\n // rounding the final digit to the nearest value, or to the even\n // value if it is equidistant.\n //\n // 3. If input_decimal has more than 12 significant digits to the left\n // of the decimal point after rounding, fail serialization.\n //\n // 4. Let output be an empty string.\n //\n // 5. If input_decimal is less than (but not equal to) 0, append \"-\"\n // to output.\n //\n // 6. Append input_decimal's integer component represented in base 10\n // (using only decimal digits) to output; if it is zero, append\n // \"0\".\n //\n // 7. Append \".\" to output.\n //\n // 8. If input_decimal's fractional component is zero, append \"0\" to\n // output.\n //\n // 9. Otherwise, append the significant digits of input_decimal's\n // fractional component represented in base 10 (using only decimal\n // digits) to output.\n //\n // 10. Return output.\n function serializeDecimal(value) {\n var roundedValue = roundToEven(value, 3); // round to 3 decimal places\n if (Math.floor(Math.abs(roundedValue)).toString().length > 12) {\n throw serializeError(value, DECIMAL);\n }\n var stringValue = roundedValue.toString();\n return stringValue.includes('.') ? stringValue : stringValue + \".0\";\n }\n\n var STRING = 'String';\n\n // 4.1.6. Serializing a String\n //\n // Given a String as input_string, return an ASCII string suitable for\n // use in a HTTP field value.\n //\n // 1. Convert input_string into a sequence of ASCII characters; if\n // conversion fails, fail serialization.\n //\n // 2. If input_string contains characters in the range %x00-1f or %x7f\n // (i.e., not in VCHAR or SP), fail serialization.\n //\n // 3. Let output be the string DQUOTE.\n //\n // 4. For each character char in input_string:\n //\n // 1. If char is \"\\\" or DQUOTE:\n //\n // 1. Append \"\\\" to output.\n //\n // 2. Append char to output.\n //\n // 5. Append DQUOTE to output.\n //\n // 6. Return output.\n function serializeString(value) {\n if (STRING_REGEX.test(value)) {\n throw serializeError(value, STRING);\n }\n return \"\\\"\" + value.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, \"\\\\\\\"\") + \"\\\"\";\n }\n\n function symbolToStr(symbol) {\n return symbol.description || symbol.toString().slice(7, -1);\n }\n\n function serializeToken(token) {\n var value = symbolToStr(token);\n if (/^([a-zA-Z*])([!#$%&'*+\\-.^_`|~\\w:/]*)$/.test(value) === false) {\n throw serializeError(value, TOKEN);\n }\n return value;\n }\n\n // 4.1.3.1. Serializing a Bare Item\n //\n // Given an Item as input_item, return an ASCII string suitable for use\n // in a HTTP field value.\n //\n // 1. If input_item is an Integer, return the result of running\n // Serializing an Integer (Section 4.1.4) with input_item.\n //\n // 2. If input_item is a Decimal, return the result of running\n // Serializing a Decimal (Section 4.1.5) with input_item.\n //\n // 3. If input_item is a String, return the result of running\n // Serializing a String (Section 4.1.6) with input_item.\n //\n // 4. If input_item is a Token, return the result of running\n // Serializing a Token (Section 4.1.7) with input_item.\n //\n // 5. If input_item is a Boolean, return the result of running\n // Serializing a Boolean (Section 4.1.9) with input_item.\n //\n // 6. If input_item is a Byte Sequence, return the result of running\n // Serializing a Byte Sequence (Section 4.1.8) with input_item.\n //\n // 7. If input_item is a Date, return the result of running Serializing\n // a Date (Section 4.1.10) with input_item.\n //\n // 8. Otherwise, fail serialization.\n function serializeBareItem(value) {\n switch (typeof value) {\n case 'number':\n if (!isFiniteNumber(value)) {\n throw serializeError(value, BARE_ITEM);\n }\n if (Number.isInteger(value)) {\n return serializeInteger(value);\n }\n return serializeDecimal(value);\n case 'string':\n return serializeString(value);\n case 'symbol':\n return serializeToken(value);\n case 'boolean':\n return serializeBoolean(value);\n case 'object':\n if (value instanceof Date) {\n return serializeDate(value);\n }\n if (value instanceof Uint8Array) {\n return serializeByteSequence(value);\n }\n if (value instanceof SfToken) {\n return serializeToken(value);\n }\n default:\n // fail\n throw serializeError(value, BARE_ITEM);\n }\n }\n\n // 4.1.1.3. Serializing a Key\n //\n // Given a key as input_key, return an ASCII string suitable for use in\n // a HTTP field value.\n //\n // 1. Convert input_key into a sequence of ASCII characters; if\n // conversion fails, fail serialization.\n //\n // 2. If input_key contains characters not in lcalpha, DIGIT, \"_\", \"-\",\n // \".\", or \"*\" fail serialization.\n //\n // 3. If the first character of input_key is not lcalpha or \"*\", fail\n // serialization.\n //\n // 4. Let output be an empty string.\n //\n // 5. Append input_key to output.\n //\n // 6. Return output.\n function serializeKey(value) {\n if (/^[a-z*][a-z0-9\\-_.*]*$/.test(value) === false) {\n throw serializeError(value, KEY);\n }\n return value;\n }\n\n // 4.1.1.2. Serializing Parameters\n //\n // Given an ordered Dictionary as input_parameters (each member having a\n // param_name and a param_value), return an ASCII string suitable for\n // use in a HTTP field value.\n //\n // 1. Let output be an empty string.\n //\n // 2. For each param_name with a value of param_value in\n // input_parameters:\n //\n // 1. Append \";\" to output.\n //\n // 2. Append the result of running Serializing a Key\n // (Section 4.1.1.3) with param_name to output.\n //\n // 3. If param_value is not Boolean true:\n //\n // 1. Append \"=\" to output.\n //\n // 2. Append the result of running Serializing a bare Item\n // (Section 4.1.3.1) with param_value to output.\n //\n // 3. Return output.\n function serializeParams(params) {\n if (params == null) {\n return '';\n }\n return Object.entries(params).map(function (_ref) {\n var key = _ref[0],\n value = _ref[1];\n if (value === true) {\n return \";\" + serializeKey(key); // omit true\n }\n return \";\" + serializeKey(key) + \"=\" + serializeBareItem(value);\n }).join('');\n }\n\n // 4.1.3. Serializing an Item\n //\n // Given an Item as bare_item and Parameters as item_parameters, return\n // an ASCII string suitable for use in a HTTP field value.\n //\n // 1. Let output be an empty string.\n //\n // 2. Append the result of running Serializing a Bare Item\n // Section 4.1.3.1 with bare_item to output.\n //\n // 3. Append the result of running Serializing Parameters\n // Section 4.1.1.2 with item_parameters to output.\n //\n // 4. Return output.\n function serializeItem(value) {\n if (value instanceof SfItem) {\n return \"\" + serializeBareItem(value.value) + serializeParams(value.params);\n } else {\n return serializeBareItem(value);\n }\n }\n\n // 4.1.1.1. Serializing an Inner List\n //\n // Given an array of (member_value, parameters) tuples as inner_list,\n // and parameters as list_parameters, return an ASCII string suitable\n // for use in a HTTP field value.\n //\n // 1. Let output be the string \"(\".\n //\n // 2. For each (member_value, parameters) of inner_list:\n //\n // 1. Append the result of running Serializing an Item\n // (Section 4.1.3) with (member_value, parameters) to output.\n //\n // 2. If more values remain in inner_list, append a single SP to\n // output.\n //\n // 3. Append \")\" to output.\n //\n // 4. Append the result of running Serializing Parameters\n // (Section 4.1.1.2) with list_parameters to output.\n //\n // 5. Return output.\n function serializeInnerList(value) {\n return \"(\" + value.value.map(serializeItem).join(' ') + \")\" + serializeParams(value.params);\n }\n\n // 4.1.2. Serializing a Dictionary\n //\n // Given an ordered Dictionary as input_dictionary (each member having a\n // member_name and a tuple value of (member_value, parameters)), return\n // an ASCII string suitable for use in a HTTP field value.\n //\n // 1. Let output be an empty string.\n //\n // 2. For each member_name with a value of (member_value, parameters)\n // in input_dictionary:\n //\n // 1. Append the result of running Serializing a Key\n // (Section 4.1.1.3) with member's member_name to output.\n //\n // 2. If member_value is Boolean true:\n //\n // 1. Append the result of running Serializing Parameters\n // (Section 4.1.1.2) with parameters to output.\n //\n // 3. Otherwise:\n //\n // 1. Append \"=\" to output.\n //\n // 2. If member_value is an array, append the result of running\n // Serializing an Inner List (Section 4.1.1.1) with\n // (member_value, parameters) to output.\n //\n // 3. Otherwise, append the result of running Serializing an\n // Item (Section 4.1.3) with (member_value, parameters) to\n // output.\n //\n // 4. If more members remain in input_dictionary:\n //\n // 1. Append \",\" to output.\n //\n // 2. Append a single SP to output.\n //\n // 3. Return output.\n function serializeDict(dict, options) {\n var _options;\n if (options === void 0) {\n options = {\n whitespace: true\n };\n }\n if (typeof dict !== 'object') {\n throw serializeError(dict, DICT);\n }\n var entries = dict instanceof Map ? dict.entries() : Object.entries(dict);\n var optionalWhiteSpace = (_options = options) != null && _options.whitespace ? ' ' : '';\n return Array.from(entries).map(function (_ref) {\n var key = _ref[0],\n item = _ref[1];\n if (item instanceof SfItem === false) {\n item = new SfItem(item);\n }\n var output = serializeKey(key);\n if (item.value === true) {\n output += serializeParams(item.params);\n } else {\n output += '=';\n if (Array.isArray(item.value)) {\n output += serializeInnerList(item);\n } else {\n output += serializeItem(item);\n }\n }\n return output;\n }).join(\",\" + optionalWhiteSpace);\n }\n\n /**\n * Encode an object into a structured field dictionary\n *\n * @param input - The structured field dictionary to encode\n * @returns The structured field string\n *\n * @group Structured Field\n *\n * @beta\n */\n function encodeSfDict(value, options) {\n return serializeDict(value, options);\n }\n\n /**\n * Checks if the given key is a token field.\n *\n * @param key - The key to check.\n *\n * @returns `true` if the key is a token field.\n *\n * @internal\n *\n * @group CMCD\n */\n var isTokenField = function isTokenField(key) {\n return key === 'ot' || key === 'sf' || key === 'st';\n };\n\n var isValid = function isValid(value) {\n if (typeof value === 'number') {\n return isFiniteNumber(value);\n }\n return value != null && value !== '' && value !== false;\n };\n\n /**\n * Constructs a relative path from a URL.\n *\n * @param url - The destination URL\n * @param base - The base URL\n * @returns The relative path\n *\n * @group Utils\n *\n * @beta\n */\n function urlToRelativePath(url, base) {\n var to = new URL(url);\n var from = new URL(base);\n if (to.origin !== from.origin) {\n return url;\n }\n var toPath = to.pathname.split('/').slice(1);\n var fromPath = from.pathname.split('/').slice(1, -1);\n // remove common parents\n while (toPath[0] === fromPath[0]) {\n toPath.shift();\n fromPath.shift();\n }\n // add back paths\n while (fromPath.length) {\n fromPath.shift();\n toPath.unshift('..');\n }\n return toPath.join('/');\n }\n\n /**\n * Generate a random v4 UUID\n *\n * @returns A random v4 UUID\n *\n * @group Utils\n *\n * @beta\n */\n function uuid() {\n try {\n return crypto.randomUUID();\n } catch (error) {\n try {\n var url = URL.createObjectURL(new Blob());\n var _uuid = url.toString();\n URL.revokeObjectURL(url);\n return _uuid.slice(_uuid.lastIndexOf('/') + 1);\n } catch (error) {\n var dt = new Date().getTime();\n var _uuid2 = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = (dt + Math.random() * 16) % 16 | 0;\n dt = Math.floor(dt / 16);\n return (c == 'x' ? r : r & 0x3 | 0x8).toString(16);\n });\n return _uuid2;\n }\n }\n }\n\n var toRounded = function toRounded(value) {\n return Math.round(value);\n };\n var toUrlSafe = function toUrlSafe(value, options) {\n if (options != null && options.baseUrl) {\n value = urlToRelativePath(value, options.baseUrl);\n }\n return encodeURIComponent(value);\n };\n var toHundred = function toHundred(value) {\n return toRounded(value / 100) * 100;\n };\n /**\n * The default formatters for CMCD values.\n *\n * @group CMCD\n *\n * @beta\n */\n var CmcdFormatters = {\n /**\n * Bitrate (kbps) rounded integer\n */\n br: toRounded,\n /**\n * Duration (milliseconds) rounded integer\n */\n d: toRounded,\n /**\n * Buffer Length (milliseconds) rounded nearest 100ms\n */\n bl: toHundred,\n /**\n * Deadline (milliseconds) rounded nearest 100ms\n */\n dl: toHundred,\n /**\n * Measured Throughput (kbps) rounded nearest 100kbps\n */\n mtp: toHundred,\n /**\n * Next Object Request URL encoded\n */\n nor: toUrlSafe,\n /**\n * Requested maximum throughput (kbps) rounded nearest 100kbps\n */\n rtp: toHundred,\n /**\n * Top Bitrate (kbps) rounded integer\n */\n tb: toRounded\n };\n\n /**\n * Internal CMCD processing function.\n *\n * @param obj - The CMCD object to process.\n * @param map - The mapping function to use.\n * @param options - Options for encoding.\n *\n * @internal\n *\n * @group CMCD\n */\n function processCmcd(obj, options) {\n var results = {};\n if (obj == null || typeof obj !== 'object') {\n return results;\n }\n var keys = Object.keys(obj).sort();\n var formatters = _extends({}, CmcdFormatters, options == null ? void 0 : options.formatters);\n var filter = options == null ? void 0 : options.filter;\n keys.forEach(function (key) {\n if (filter != null && filter(key)) {\n return;\n }\n var value = obj[key];\n var formatter = formatters[key];\n if (formatter) {\n value = formatter(value, options);\n }\n // Version should only be reported if not equal to 1.\n if (key === 'v' && value === 1) {\n return;\n }\n // Playback rate should only be sent if not equal to 1.\n if (key == 'pr' && value === 1) {\n return;\n }\n // ignore invalid values\n if (!isValid(value)) {\n return;\n }\n if (isTokenField(key) && typeof value === 'string') {\n value = new SfToken(value);\n }\n results[key] = value;\n });\n return results;\n }\n\n /**\n * Encode a CMCD object to a string.\n *\n * @param cmcd - The CMCD object to encode.\n * @param options - Options for encoding.\n *\n * @returns The encoded CMCD string.\n *\n * @group CMCD\n *\n * @beta\n */\n function encodeCmcd(cmcd, options) {\n if (options === void 0) {\n options = {};\n }\n if (!cmcd) {\n return '';\n }\n return encodeSfDict(processCmcd(cmcd, options), _extends({\n whitespace: false\n }, options));\n }\n\n /**\n * Convert a CMCD data object to request headers\n *\n * @param cmcd - The CMCD data object to convert.\n * @param options - Options for encoding the CMCD object.\n *\n * @returns The CMCD header shards.\n *\n * @group CMCD\n *\n * @beta\n */\n function toCmcdHeaders(cmcd, options) {\n var _options;\n if (options === void 0) {\n options = {};\n }\n if (!cmcd) {\n return {};\n }\n var entries = Object.entries(cmcd);\n var headerMap = Object.entries(CmcdHeaderMap).concat(Object.entries(((_options = options) == null ? void 0 : _options.customHeaderMap) || {}));\n var shards = entries.reduce(function (acc, entry) {\n var _headerMap$find, _acc$field;\n var key = entry[0],\n value = entry[1];\n var field = ((_headerMap$find = headerMap.find(function (entry) {\n return entry[1].includes(key);\n })) == null ? void 0 : _headerMap$find[0]) || CmcdHeaderField.REQUEST;\n (_acc$field = acc[field]) != null ? _acc$field : acc[field] = {};\n acc[field][key] = value;\n return acc;\n }, {});\n return Object.entries(shards).reduce(function (acc, _ref) {\n var field = _ref[0],\n value = _ref[1];\n acc[field] = encodeCmcd(value, options);\n return acc;\n }, {});\n }\n\n /**\n * Append CMCD query args to a header object.\n *\n * @param headers - The headers to append to.\n * @param cmcd - The CMCD object to append.\n * @param customHeaderMap - A map of custom CMCD keys to header fields.\n *\n * @returns The headers with the CMCD header shards appended.\n *\n * @group CMCD\n *\n * @beta\n */\n function appendCmcdHeaders(headers, cmcd, options) {\n return _extends(headers, toCmcdHeaders(cmcd, options));\n }\n\n /**\n * CMCD parameter name.\n *\n * @group CMCD\n *\n * @beta\n */\n var CMCD_PARAM = 'CMCD';\n\n /**\n * Convert a CMCD data object to a query arg.\n *\n * @param cmcd - The CMCD object to convert.\n * @param options - Options for encoding the CMCD object.\n *\n * @returns The CMCD query arg.\n *\n * @group CMCD\n *\n * @beta\n */\n function toCmcdQuery(cmcd, options) {\n if (options === void 0) {\n options = {};\n }\n if (!cmcd) {\n return '';\n }\n var params = encodeCmcd(cmcd, options);\n return CMCD_PARAM + \"=\" + encodeURIComponent(params);\n }\n\n var REGEX = /CMCD=[^&#]+/;\n /**\n * Append CMCD query args to a URL.\n *\n * @param url - The URL to append to.\n * @param cmcd - The CMCD object to append.\n * @param options - Options for encoding the CMCD object.\n *\n * @returns The URL with the CMCD query args appended.\n *\n * @group CMCD\n *\n * @beta\n */\n function appendCmcdQuery(url, cmcd, options) {\n // TODO: Replace with URLSearchParams once we drop Safari < 10.1 & Chrome < 49 support.\n // https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n var query = toCmcdQuery(cmcd, options);\n if (!query) {\n return url;\n }\n if (REGEX.test(url)) {\n return url.replace(REGEX, query);\n }\n var separator = url.includes('?') ? '&' : '?';\n return \"\" + url + separator + query;\n }\n\n /**\n * Controller to deal with Common Media Client Data (CMCD)\n * @see https://cdn.cta.tech/cta/media/media/resources/standards/pdfs/cta-5004-final.pdf\n */\n var CMCDController = /*#__PURE__*/function () {\n // eslint-disable-line no-restricted-globals\n\n function CMCDController(hls) {\n var _this = this;\n this.hls = void 0;\n this.config = void 0;\n this.media = void 0;\n this.sid = void 0;\n this.cid = void 0;\n this.useHeaders = false;\n this.includeKeys = void 0;\n this.initialized = false;\n this.starved = false;\n this.buffering = true;\n this.audioBuffer = void 0;\n // eslint-disable-line no-restricted-globals\n this.videoBuffer = void 0;\n this.onWaiting = function () {\n if (_this.initialized) {\n _this.starved = true;\n }\n _this.buffering = true;\n };\n this.onPlaying = function () {\n if (!_this.initialized) {\n _this.initialized = true;\n }\n _this.buffering = false;\n };\n /**\n * Apply CMCD data to a manifest request.\n */\n this.applyPlaylistData = function (context) {\n try {\n _this.apply(context, {\n ot: CmObjectType.MANIFEST,\n su: !_this.initialized\n });\n } catch (error) {\n logger.warn('Could not generate manifest CMCD data.', error);\n }\n };\n /**\n * Apply CMCD data to a segment request\n */\n this.applyFragmentData = function (context) {\n try {\n var fragment = context.frag;\n var level = _this.hls.levels[fragment.level];\n var ot = _this.getObjectType(fragment);\n var data = {\n d: fragment.duration * 1000,\n ot: ot\n };\n if (ot === CmObjectType.VIDEO || ot === CmObjectType.AUDIO || ot == CmObjectType.MUXED) {\n data.br = level.bitrate / 1000;\n data.tb = _this.getTopBandwidth(ot) / 1000;\n data.bl = _this.getBufferLength(ot);\n }\n _this.apply(context, data);\n } catch (error) {\n logger.warn('Could not generate segment CMCD data.', error);\n }\n };\n this.hls = hls;\n var config = this.config = hls.config;\n var cmcd = config.cmcd;\n if (cmcd != null) {\n config.pLoader = this.createPlaylistLoader();\n config.fLoader = this.createFragmentLoader();\n this.sid = cmcd.sessionId || uuid();\n this.cid = cmcd.contentId;\n this.useHeaders = cmcd.useHeaders === true;\n this.includeKeys = cmcd.includeKeys;\n this.registerListeners();\n }\n }\n var _proto = CMCDController.prototype;\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHED, this.onMediaDetached, this);\n hls.on(Events.BUFFER_CREATED, this.onBufferCreated, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHED, this.onMediaDetached, this);\n hls.off(Events.BUFFER_CREATED, this.onBufferCreated, this);\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.onMediaDetached();\n\n // @ts-ignore\n this.hls = this.config = this.audioBuffer = this.videoBuffer = null;\n // @ts-ignore\n this.onWaiting = this.onPlaying = null;\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n this.media = data.media;\n this.media.addEventListener('waiting', this.onWaiting);\n this.media.addEventListener('playing', this.onPlaying);\n };\n _proto.onMediaDetached = function onMediaDetached() {\n if (!this.media) {\n return;\n }\n this.media.removeEventListener('waiting', this.onWaiting);\n this.media.removeEventListener('playing', this.onPlaying);\n\n // @ts-ignore\n this.media = null;\n };\n _proto.onBufferCreated = function onBufferCreated(event, data) {\n var _data$tracks$audio, _data$tracks$video;\n this.audioBuffer = (_data$tracks$audio = data.tracks.audio) == null ? void 0 : _data$tracks$audio.buffer;\n this.videoBuffer = (_data$tracks$video = data.tracks.video) == null ? void 0 : _data$tracks$video.buffer;\n };\n /**\n * Create baseline CMCD data\n */\n _proto.createData = function createData() {\n var _this$media;\n return {\n v: 1,\n sf: CmStreamingFormat.HLS,\n sid: this.sid,\n cid: this.cid,\n pr: (_this$media = this.media) == null ? void 0 : _this$media.playbackRate,\n mtp: this.hls.bandwidthEstimate / 1000\n };\n }\n\n /**\n * Apply CMCD data to a request.\n */;\n _proto.apply = function apply(context, data) {\n if (data === void 0) {\n data = {};\n }\n // apply baseline data\n _extends(data, this.createData());\n var isVideo = data.ot === CmObjectType.INIT || data.ot === CmObjectType.VIDEO || data.ot === CmObjectType.MUXED;\n if (this.starved && isVideo) {\n data.bs = true;\n data.su = true;\n this.starved = false;\n }\n if (data.su == null) {\n data.su = this.buffering;\n }\n\n // TODO: Implement rtp, nrr, nor, dl\n\n var includeKeys = this.includeKeys;\n if (includeKeys) {\n data = Object.keys(data).reduce(function (acc, key) {\n includeKeys.includes(key) && (acc[key] = data[key]);\n return acc;\n }, {});\n }\n if (this.useHeaders) {\n if (!context.headers) {\n context.headers = {};\n }\n appendCmcdHeaders(context.headers, data);\n } else {\n context.url = appendCmcdQuery(context.url, data);\n }\n };\n /**\n * The CMCD object type.\n */\n _proto.getObjectType = function getObjectType(fragment) {\n var type = fragment.type;\n if (type === 'subtitle') {\n return CmObjectType.TIMED_TEXT;\n }\n if (fragment.sn === 'initSegment') {\n return CmObjectType.INIT;\n }\n if (type === 'audio') {\n return CmObjectType.AUDIO;\n }\n if (type === 'main') {\n if (!this.hls.audioTracks.length) {\n return CmObjectType.MUXED;\n }\n return CmObjectType.VIDEO;\n }\n return undefined;\n }\n\n /**\n * Get the highest bitrate.\n */;\n _proto.getTopBandwidth = function getTopBandwidth(type) {\n var bitrate = 0;\n var levels;\n var hls = this.hls;\n if (type === CmObjectType.AUDIO) {\n levels = hls.audioTracks;\n } else {\n var max = hls.maxAutoLevel;\n var len = max > -1 ? max + 1 : hls.levels.length;\n levels = hls.levels.slice(0, len);\n }\n for (var _iterator = _createForOfIteratorHelperLoose(levels), _step; !(_step = _iterator()).done;) {\n var level = _step.value;\n if (level.bitrate > bitrate) {\n bitrate = level.bitrate;\n }\n }\n return bitrate > 0 ? bitrate : NaN;\n }\n\n /**\n * Get the buffer length for a media type in milliseconds\n */;\n _proto.getBufferLength = function getBufferLength(type) {\n var media = this.hls.media;\n var buffer = type === CmObjectType.AUDIO ? this.audioBuffer : this.videoBuffer;\n if (!buffer || !media) {\n return NaN;\n }\n var info = BufferHelper.bufferInfo(buffer, media.currentTime, this.config.maxBufferHole);\n return info.len * 1000;\n }\n\n /**\n * Create a playlist loader\n */;\n _proto.createPlaylistLoader = function createPlaylistLoader() {\n var pLoader = this.config.pLoader;\n var apply = this.applyPlaylistData;\n var Ctor = pLoader || this.config.loader;\n return /*#__PURE__*/function () {\n function CmcdPlaylistLoader(config) {\n this.loader = void 0;\n this.loader = new Ctor(config);\n }\n var _proto2 = CmcdPlaylistLoader.prototype;\n _proto2.destroy = function destroy() {\n this.loader.destroy();\n };\n _proto2.abort = function abort() {\n this.loader.abort();\n };\n _proto2.load = function load(context, config, callbacks) {\n apply(context);\n this.loader.load(context, config, callbacks);\n };\n _createClass(CmcdPlaylistLoader, [{\n key: \"stats\",\n get: function get() {\n return this.loader.stats;\n }\n }, {\n key: \"context\",\n get: function get() {\n return this.loader.context;\n }\n }]);\n return CmcdPlaylistLoader;\n }();\n }\n\n /**\n * Create a playlist loader\n */;\n _proto.createFragmentLoader = function createFragmentLoader() {\n var fLoader = this.config.fLoader;\n var apply = this.applyFragmentData;\n var Ctor = fLoader || this.config.loader;\n return /*#__PURE__*/function () {\n function CmcdFragmentLoader(config) {\n this.loader = void 0;\n this.loader = new Ctor(config);\n }\n var _proto3 = CmcdFragmentLoader.prototype;\n _proto3.destroy = function destroy() {\n this.loader.destroy();\n };\n _proto3.abort = function abort() {\n this.loader.abort();\n };\n _proto3.load = function load(context, config, callbacks) {\n apply(context);\n this.loader.load(context, config, callbacks);\n };\n _createClass(CmcdFragmentLoader, [{\n key: \"stats\",\n get: function get() {\n return this.loader.stats;\n }\n }, {\n key: \"context\",\n get: function get() {\n return this.loader.context;\n }\n }]);\n return CmcdFragmentLoader;\n }();\n };\n return CMCDController;\n }();\n\n var PATHWAY_PENALTY_DURATION_MS = 300000;\n var ContentSteeringController = /*#__PURE__*/function () {\n function ContentSteeringController(hls) {\n this.hls = void 0;\n this.log = void 0;\n this.loader = null;\n this.uri = null;\n this.pathwayId = '.';\n this.pathwayPriority = null;\n this.timeToLoad = 300;\n this.reloadTimer = -1;\n this.updated = 0;\n this.started = false;\n this.enabled = true;\n this.levels = null;\n this.audioTracks = null;\n this.subtitleTracks = null;\n this.penalizedPathways = {};\n this.hls = hls;\n this.log = logger.log.bind(logger, \"[content-steering]:\");\n this.registerListeners();\n }\n var _proto = ContentSteeringController.prototype;\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n if (!hls) {\n return;\n }\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.ERROR, this.onError, this);\n };\n _proto.startLoad = function startLoad() {\n this.started = true;\n this.clearTimeout();\n if (this.enabled && this.uri) {\n if (this.updated) {\n var ttl = this.timeToLoad * 1000 - (performance.now() - this.updated);\n if (ttl > 0) {\n this.scheduleRefresh(this.uri, ttl);\n return;\n }\n }\n this.loadSteeringManifest(this.uri);\n }\n };\n _proto.stopLoad = function stopLoad() {\n this.started = false;\n if (this.loader) {\n this.loader.destroy();\n this.loader = null;\n }\n this.clearTimeout();\n };\n _proto.clearTimeout = function clearTimeout() {\n if (this.reloadTimer !== -1) {\n self.clearTimeout(this.reloadTimer);\n this.reloadTimer = -1;\n }\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.stopLoad();\n // @ts-ignore\n this.hls = null;\n this.levels = this.audioTracks = this.subtitleTracks = null;\n };\n _proto.removeLevel = function removeLevel(levelToRemove) {\n var levels = this.levels;\n if (levels) {\n this.levels = levels.filter(function (level) {\n return level !== levelToRemove;\n });\n }\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.stopLoad();\n this.enabled = true;\n this.timeToLoad = 300;\n this.updated = 0;\n this.uri = null;\n this.pathwayId = '.';\n this.levels = this.audioTracks = this.subtitleTracks = null;\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, data) {\n var contentSteering = data.contentSteering;\n if (contentSteering === null) {\n return;\n }\n this.pathwayId = contentSteering.pathwayId;\n this.uri = contentSteering.uri;\n if (this.started) {\n this.startLoad();\n }\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n this.audioTracks = data.audioTracks;\n this.subtitleTracks = data.subtitleTracks;\n };\n _proto.onError = function onError(event, data) {\n var errorAction = data.errorAction;\n if ((errorAction == null ? void 0 : errorAction.action) === NetworkErrorAction.SendAlternateToPenaltyBox && errorAction.flags === ErrorActionFlags.MoveAllAlternatesMatchingHost) {\n var levels = this.levels;\n var pathwayPriority = this.pathwayPriority;\n var errorPathway = this.pathwayId;\n if (data.context) {\n var _data$context = data.context,\n groupId = _data$context.groupId,\n _pathwayId = _data$context.pathwayId,\n type = _data$context.type;\n if (groupId && levels) {\n errorPathway = this.getPathwayForGroupId(groupId, type, errorPathway);\n } else if (_pathwayId) {\n errorPathway = _pathwayId;\n }\n }\n if (!(errorPathway in this.penalizedPathways)) {\n this.penalizedPathways[errorPathway] = performance.now();\n }\n if (!pathwayPriority && levels) {\n // If PATHWAY-PRIORITY was not provided, list pathways for error handling\n pathwayPriority = levels.reduce(function (pathways, level) {\n if (pathways.indexOf(level.pathwayId) === -1) {\n pathways.push(level.pathwayId);\n }\n return pathways;\n }, []);\n }\n if (pathwayPriority && pathwayPriority.length > 1) {\n this.updatePathwayPriority(pathwayPriority);\n errorAction.resolved = this.pathwayId !== errorPathway;\n }\n if (!errorAction.resolved) {\n logger.warn(\"Could not resolve \" + data.details + \" (\\\"\" + data.error.message + \"\\\") with content-steering for Pathway: \" + errorPathway + \" levels: \" + (levels ? levels.length : levels) + \" priorities: \" + JSON.stringify(pathwayPriority) + \" penalized: \" + JSON.stringify(this.penalizedPathways));\n }\n }\n };\n _proto.filterParsedLevels = function filterParsedLevels(levels) {\n // Filter levels to only include those that are in the initial pathway\n this.levels = levels;\n var pathwayLevels = this.getLevelsForPathway(this.pathwayId);\n if (pathwayLevels.length === 0) {\n var _pathwayId2 = levels[0].pathwayId;\n this.log(\"No levels found in Pathway \" + this.pathwayId + \". Setting initial Pathway to \\\"\" + _pathwayId2 + \"\\\"\");\n pathwayLevels = this.getLevelsForPathway(_pathwayId2);\n this.pathwayId = _pathwayId2;\n }\n if (pathwayLevels.length !== levels.length) {\n this.log(\"Found \" + pathwayLevels.length + \"/\" + levels.length + \" levels in Pathway \\\"\" + this.pathwayId + \"\\\"\");\n return pathwayLevels;\n }\n return levels;\n };\n _proto.getLevelsForPathway = function getLevelsForPathway(pathwayId) {\n if (this.levels === null) {\n return [];\n }\n return this.levels.filter(function (level) {\n return pathwayId === level.pathwayId;\n });\n };\n _proto.updatePathwayPriority = function updatePathwayPriority(pathwayPriority) {\n this.pathwayPriority = pathwayPriority;\n var levels;\n\n // Evaluate if we should remove the pathway from the penalized list\n var penalizedPathways = this.penalizedPathways;\n var now = performance.now();\n Object.keys(penalizedPathways).forEach(function (pathwayId) {\n if (now - penalizedPathways[pathwayId] > PATHWAY_PENALTY_DURATION_MS) {\n delete penalizedPathways[pathwayId];\n }\n });\n for (var i = 0; i < pathwayPriority.length; i++) {\n var _pathwayId3 = pathwayPriority[i];\n if (_pathwayId3 in penalizedPathways) {\n continue;\n }\n if (_pathwayId3 === this.pathwayId) {\n return;\n }\n var selectedIndex = this.hls.nextLoadLevel;\n var selectedLevel = this.hls.levels[selectedIndex];\n levels = this.getLevelsForPathway(_pathwayId3);\n if (levels.length > 0) {\n this.log(\"Setting Pathway to \\\"\" + _pathwayId3 + \"\\\"\");\n this.pathwayId = _pathwayId3;\n reassignFragmentLevelIndexes(levels);\n this.hls.trigger(Events.LEVELS_UPDATED, {\n levels: levels\n });\n // Set LevelController's level to trigger LEVEL_SWITCHING which loads playlist if needed\n var levelAfterChange = this.hls.levels[selectedIndex];\n if (selectedLevel && levelAfterChange && this.levels) {\n if (levelAfterChange.attrs['STABLE-VARIANT-ID'] !== selectedLevel.attrs['STABLE-VARIANT-ID'] && levelAfterChange.bitrate !== selectedLevel.bitrate) {\n this.log(\"Unstable Pathways change from bitrate \" + selectedLevel.bitrate + \" to \" + levelAfterChange.bitrate);\n }\n this.hls.nextLoadLevel = selectedIndex;\n }\n break;\n }\n }\n };\n _proto.getPathwayForGroupId = function getPathwayForGroupId(groupId, type, defaultPathway) {\n var levels = this.getLevelsForPathway(defaultPathway).concat(this.levels || []);\n for (var i = 0; i < levels.length; i++) {\n if (type === PlaylistContextType.AUDIO_TRACK && levels[i].hasAudioGroup(groupId) || type === PlaylistContextType.SUBTITLE_TRACK && levels[i].hasSubtitleGroup(groupId)) {\n return levels[i].pathwayId;\n }\n }\n return defaultPathway;\n };\n _proto.clonePathways = function clonePathways(pathwayClones) {\n var _this = this;\n var levels = this.levels;\n if (!levels) {\n return;\n }\n var audioGroupCloneMap = {};\n var subtitleGroupCloneMap = {};\n pathwayClones.forEach(function (pathwayClone) {\n var cloneId = pathwayClone.ID,\n baseId = pathwayClone['BASE-ID'],\n uriReplacement = pathwayClone['URI-REPLACEMENT'];\n if (levels.some(function (level) {\n return level.pathwayId === cloneId;\n })) {\n return;\n }\n var clonedVariants = _this.getLevelsForPathway(baseId).map(function (baseLevel) {\n var attributes = new AttrList(baseLevel.attrs);\n attributes['PATHWAY-ID'] = cloneId;\n var clonedAudioGroupId = attributes.AUDIO && attributes.AUDIO + \"_clone_\" + cloneId;\n var clonedSubtitleGroupId = attributes.SUBTITLES && attributes.SUBTITLES + \"_clone_\" + cloneId;\n if (clonedAudioGroupId) {\n audioGroupCloneMap[attributes.AUDIO] = clonedAudioGroupId;\n attributes.AUDIO = clonedAudioGroupId;\n }\n if (clonedSubtitleGroupId) {\n subtitleGroupCloneMap[attributes.SUBTITLES] = clonedSubtitleGroupId;\n attributes.SUBTITLES = clonedSubtitleGroupId;\n }\n var url = performUriReplacement(baseLevel.uri, attributes['STABLE-VARIANT-ID'], 'PER-VARIANT-URIS', uriReplacement);\n var clonedLevel = new Level({\n attrs: attributes,\n audioCodec: baseLevel.audioCodec,\n bitrate: baseLevel.bitrate,\n height: baseLevel.height,\n name: baseLevel.name,\n url: url,\n videoCodec: baseLevel.videoCodec,\n width: baseLevel.width\n });\n if (baseLevel.audioGroups) {\n for (var i = 1; i < baseLevel.audioGroups.length; i++) {\n clonedLevel.addGroupId('audio', baseLevel.audioGroups[i] + \"_clone_\" + cloneId);\n }\n }\n if (baseLevel.subtitleGroups) {\n for (var _i = 1; _i < baseLevel.subtitleGroups.length; _i++) {\n clonedLevel.addGroupId('text', baseLevel.subtitleGroups[_i] + \"_clone_\" + cloneId);\n }\n }\n return clonedLevel;\n });\n levels.push.apply(levels, clonedVariants);\n cloneRenditionGroups(_this.audioTracks, audioGroupCloneMap, uriReplacement, cloneId);\n cloneRenditionGroups(_this.subtitleTracks, subtitleGroupCloneMap, uriReplacement, cloneId);\n });\n };\n _proto.loadSteeringManifest = function loadSteeringManifest(uri) {\n var _this2 = this;\n var config = this.hls.config;\n var Loader = config.loader;\n if (this.loader) {\n this.loader.destroy();\n }\n this.loader = new Loader(config);\n var url;\n try {\n url = new self.URL(uri);\n } catch (error) {\n this.enabled = false;\n this.log(\"Failed to parse Steering Manifest URI: \" + uri);\n return;\n }\n if (url.protocol !== 'data:') {\n var throughput = (this.hls.bandwidthEstimate || config.abrEwmaDefaultEstimate) | 0;\n url.searchParams.set('_HLS_pathway', this.pathwayId);\n url.searchParams.set('_HLS_throughput', '' + throughput);\n }\n var context = {\n responseType: 'json',\n url: url.href\n };\n var loadPolicy = config.steeringManifestLoadPolicy.default;\n var legacyRetryCompatibility = loadPolicy.errorRetry || loadPolicy.timeoutRetry || {};\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: legacyRetryCompatibility.maxNumRetry || 0,\n retryDelay: legacyRetryCompatibility.retryDelayMs || 0,\n maxRetryDelay: legacyRetryCompatibility.maxRetryDelayMs || 0\n };\n var callbacks = {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n _this2.log(\"Loaded steering manifest: \\\"\" + url + \"\\\"\");\n var steeringData = response.data;\n if (steeringData.VERSION !== 1) {\n _this2.log(\"Steering VERSION \" + steeringData.VERSION + \" not supported!\");\n return;\n }\n _this2.updated = performance.now();\n _this2.timeToLoad = steeringData.TTL;\n var reloadUri = steeringData['RELOAD-URI'],\n pathwayClones = steeringData['PATHWAY-CLONES'],\n pathwayPriority = steeringData['PATHWAY-PRIORITY'];\n if (reloadUri) {\n try {\n _this2.uri = new self.URL(reloadUri, url).href;\n } catch (error) {\n _this2.enabled = false;\n _this2.log(\"Failed to parse Steering Manifest RELOAD-URI: \" + reloadUri);\n return;\n }\n }\n _this2.scheduleRefresh(_this2.uri || context.url);\n if (pathwayClones) {\n _this2.clonePathways(pathwayClones);\n }\n var loadedSteeringData = {\n steeringManifest: steeringData,\n url: url.toString()\n };\n _this2.hls.trigger(Events.STEERING_MANIFEST_LOADED, loadedSteeringData);\n if (pathwayPriority) {\n _this2.updatePathwayPriority(pathwayPriority);\n }\n },\n onError: function onError(error, context, networkDetails, stats) {\n _this2.log(\"Error loading steering manifest: \" + error.code + \" \" + error.text + \" (\" + context.url + \")\");\n _this2.stopLoad();\n if (error.code === 410) {\n _this2.enabled = false;\n _this2.log(\"Steering manifest \" + context.url + \" no longer available\");\n return;\n }\n var ttl = _this2.timeToLoad * 1000;\n if (error.code === 429) {\n var loader = _this2.loader;\n if (typeof (loader == null ? void 0 : loader.getResponseHeader) === 'function') {\n var retryAfter = loader.getResponseHeader('Retry-After');\n if (retryAfter) {\n ttl = parseFloat(retryAfter) * 1000;\n }\n }\n _this2.log(\"Steering manifest \" + context.url + \" rate limited\");\n return;\n }\n _this2.scheduleRefresh(_this2.uri || context.url, ttl);\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this2.log(\"Timeout loading steering manifest (\" + context.url + \")\");\n _this2.scheduleRefresh(_this2.uri || context.url);\n }\n };\n this.log(\"Requesting steering manifest: \" + url);\n this.loader.load(context, loaderConfig, callbacks);\n };\n _proto.scheduleRefresh = function scheduleRefresh(uri, ttlMs) {\n var _this3 = this;\n if (ttlMs === void 0) {\n ttlMs = this.timeToLoad * 1000;\n }\n this.clearTimeout();\n this.reloadTimer = self.setTimeout(function () {\n var _this3$hls;\n var media = (_this3$hls = _this3.hls) == null ? void 0 : _this3$hls.media;\n if (media && !media.ended) {\n _this3.loadSteeringManifest(uri);\n return;\n }\n _this3.scheduleRefresh(uri, _this3.timeToLoad * 1000);\n }, ttlMs);\n };\n return ContentSteeringController;\n }();\n function cloneRenditionGroups(tracks, groupCloneMap, uriReplacement, cloneId) {\n if (!tracks) {\n return;\n }\n Object.keys(groupCloneMap).forEach(function (audioGroupId) {\n var clonedTracks = tracks.filter(function (track) {\n return track.groupId === audioGroupId;\n }).map(function (track) {\n var clonedTrack = _extends({}, track);\n clonedTrack.details = undefined;\n clonedTrack.attrs = new AttrList(clonedTrack.attrs);\n clonedTrack.url = clonedTrack.attrs.URI = performUriReplacement(track.url, track.attrs['STABLE-RENDITION-ID'], 'PER-RENDITION-URIS', uriReplacement);\n clonedTrack.groupId = clonedTrack.attrs['GROUP-ID'] = groupCloneMap[audioGroupId];\n clonedTrack.attrs['PATHWAY-ID'] = cloneId;\n return clonedTrack;\n });\n tracks.push.apply(tracks, clonedTracks);\n });\n }\n function performUriReplacement(uri, stableId, perOptionKey, uriReplacement) {\n var host = uriReplacement.HOST,\n params = uriReplacement.PARAMS,\n perOptionUris = uriReplacement[perOptionKey];\n var perVariantUri;\n if (stableId) {\n perVariantUri = perOptionUris == null ? void 0 : perOptionUris[stableId];\n if (perVariantUri) {\n uri = perVariantUri;\n }\n }\n var url = new self.URL(uri);\n if (host && !perVariantUri) {\n url.host = host;\n }\n if (params) {\n Object.keys(params).sort().forEach(function (key) {\n if (key) {\n url.searchParams.set(key, params[key]);\n }\n });\n }\n return url.href;\n }\n\n var AGE_HEADER_LINE_REGEX = /^age:\\s*[\\d.]+\\s*$/im;\n var XhrLoader = /*#__PURE__*/function () {\n function XhrLoader(config) {\n this.xhrSetup = void 0;\n this.requestTimeout = void 0;\n this.retryTimeout = void 0;\n this.retryDelay = void 0;\n this.config = null;\n this.callbacks = null;\n this.context = null;\n this.loader = null;\n this.stats = void 0;\n this.xhrSetup = config ? config.xhrSetup || null : null;\n this.stats = new LoadStats();\n this.retryDelay = 0;\n }\n var _proto = XhrLoader.prototype;\n _proto.destroy = function destroy() {\n this.callbacks = null;\n this.abortInternal();\n this.loader = null;\n this.config = null;\n this.context = null;\n this.xhrSetup = null;\n // @ts-ignore\n this.stats = null;\n };\n _proto.abortInternal = function abortInternal() {\n var loader = this.loader;\n self.clearTimeout(this.requestTimeout);\n self.clearTimeout(this.retryTimeout);\n if (loader) {\n loader.onreadystatechange = null;\n loader.onprogress = null;\n if (loader.readyState !== 4) {\n this.stats.aborted = true;\n loader.abort();\n }\n }\n };\n _proto.abort = function abort() {\n var _this$callbacks;\n this.abortInternal();\n if ((_this$callbacks = this.callbacks) != null && _this$callbacks.onAbort) {\n this.callbacks.onAbort(this.stats, this.context, this.loader);\n }\n };\n _proto.load = function load(context, config, callbacks) {\n if (this.stats.loading.start) {\n throw new Error('Loader can only be used once.');\n }\n this.stats.loading.start = self.performance.now();\n this.context = context;\n this.config = config;\n this.callbacks = callbacks;\n this.loadInternal();\n };\n _proto.loadInternal = function loadInternal() {\n var _this = this;\n var config = this.config,\n context = this.context;\n if (!config || !context) {\n return;\n }\n var xhr = this.loader = new self.XMLHttpRequest();\n var stats = this.stats;\n stats.loading.first = 0;\n stats.loaded = 0;\n stats.aborted = false;\n var xhrSetup = this.xhrSetup;\n if (xhrSetup) {\n Promise.resolve().then(function () {\n if (_this.stats.aborted) return;\n return xhrSetup(xhr, context.url);\n }).catch(function (error) {\n xhr.open('GET', context.url, true);\n return xhrSetup(xhr, context.url);\n }).then(function () {\n if (_this.stats.aborted) return;\n _this.openAndSendXhr(xhr, context, config);\n }).catch(function (error) {\n // IE11 throws an exception on xhr.open if attempting to access an HTTP resource over HTTPS\n _this.callbacks.onError({\n code: xhr.status,\n text: error.message\n }, context, xhr, stats);\n return;\n });\n } else {\n this.openAndSendXhr(xhr, context, config);\n }\n };\n _proto.openAndSendXhr = function openAndSendXhr(xhr, context, config) {\n if (!xhr.readyState) {\n xhr.open('GET', context.url, true);\n }\n var headers = context.headers;\n var _config$loadPolicy = config.loadPolicy,\n maxTimeToFirstByteMs = _config$loadPolicy.maxTimeToFirstByteMs,\n maxLoadTimeMs = _config$loadPolicy.maxLoadTimeMs;\n if (headers) {\n for (var header in headers) {\n xhr.setRequestHeader(header, headers[header]);\n }\n }\n if (context.rangeEnd) {\n xhr.setRequestHeader('Range', 'bytes=' + context.rangeStart + '-' + (context.rangeEnd - 1));\n }\n xhr.onreadystatechange = this.readystatechange.bind(this);\n xhr.onprogress = this.loadprogress.bind(this);\n xhr.responseType = context.responseType;\n // setup timeout before we perform request\n self.clearTimeout(this.requestTimeout);\n config.timeout = maxTimeToFirstByteMs && isFiniteNumber(maxTimeToFirstByteMs) ? maxTimeToFirstByteMs : maxLoadTimeMs;\n this.requestTimeout = self.setTimeout(this.loadtimeout.bind(this), config.timeout);\n xhr.send();\n };\n _proto.readystatechange = function readystatechange() {\n var context = this.context,\n xhr = this.loader,\n stats = this.stats;\n if (!context || !xhr) {\n return;\n }\n var readyState = xhr.readyState;\n var config = this.config;\n\n // don't proceed if xhr has been aborted\n if (stats.aborted) {\n return;\n }\n\n // >= HEADERS_RECEIVED\n if (readyState >= 2) {\n if (stats.loading.first === 0) {\n stats.loading.first = Math.max(self.performance.now(), stats.loading.start);\n // readyState >= 2 AND readyState !==4 (readyState = HEADERS_RECEIVED || LOADING) rearm timeout as xhr not finished yet\n if (config.timeout !== config.loadPolicy.maxLoadTimeMs) {\n self.clearTimeout(this.requestTimeout);\n config.timeout = config.loadPolicy.maxLoadTimeMs;\n this.requestTimeout = self.setTimeout(this.loadtimeout.bind(this), config.loadPolicy.maxLoadTimeMs - (stats.loading.first - stats.loading.start));\n }\n }\n if (readyState === 4) {\n self.clearTimeout(this.requestTimeout);\n xhr.onreadystatechange = null;\n xhr.onprogress = null;\n var _status = xhr.status;\n // http status between 200 to 299 are all successful\n var useResponse = xhr.responseType !== 'text';\n if (_status >= 200 && _status < 300 && (useResponse && xhr.response || xhr.responseText !== null)) {\n stats.loading.end = Math.max(self.performance.now(), stats.loading.first);\n var data = useResponse ? xhr.response : xhr.responseText;\n var len = xhr.responseType === 'arraybuffer' ? data.byteLength : data.length;\n stats.loaded = stats.total = len;\n stats.bwEstimate = stats.total * 8000 / (stats.loading.end - stats.loading.first);\n if (!this.callbacks) {\n return;\n }\n var onProgress = this.callbacks.onProgress;\n if (onProgress) {\n onProgress(stats, context, data, xhr);\n }\n if (!this.callbacks) {\n return;\n }\n var response = {\n url: xhr.responseURL,\n data: data,\n code: _status\n };\n this.callbacks.onSuccess(response, stats, context, xhr);\n } else {\n var retryConfig = config.loadPolicy.errorRetry;\n var retryCount = stats.retry;\n // if max nb of retries reached or if http status between 400 and 499 (such error cannot be recovered, retrying is useless), return error\n var _response = {\n url: context.url,\n data: undefined,\n code: _status\n };\n if (shouldRetry(retryConfig, retryCount, false, _response)) {\n this.retry(retryConfig);\n } else {\n logger.error(_status + \" while loading \" + context.url);\n this.callbacks.onError({\n code: _status,\n text: xhr.statusText\n }, context, xhr, stats);\n }\n }\n }\n }\n };\n _proto.loadtimeout = function loadtimeout() {\n var _this$config;\n var retryConfig = (_this$config = this.config) == null ? void 0 : _this$config.loadPolicy.timeoutRetry;\n var retryCount = this.stats.retry;\n if (shouldRetry(retryConfig, retryCount, true)) {\n this.retry(retryConfig);\n } else {\n var _this$context;\n logger.warn(\"timeout while loading \" + ((_this$context = this.context) == null ? void 0 : _this$context.url));\n var callbacks = this.callbacks;\n if (callbacks) {\n this.abortInternal();\n callbacks.onTimeout(this.stats, this.context, this.loader);\n }\n }\n };\n _proto.retry = function retry(retryConfig) {\n var context = this.context,\n stats = this.stats;\n this.retryDelay = getRetryDelay(retryConfig, stats.retry);\n stats.retry++;\n logger.warn((status ? 'HTTP Status ' + status : 'Timeout') + \" while loading \" + (context == null ? void 0 : context.url) + \", retrying \" + stats.retry + \"/\" + retryConfig.maxNumRetry + \" in \" + this.retryDelay + \"ms\");\n // abort and reset internal state\n this.abortInternal();\n this.loader = null;\n // schedule retry\n self.clearTimeout(this.retryTimeout);\n this.retryTimeout = self.setTimeout(this.loadInternal.bind(this), this.retryDelay);\n };\n _proto.loadprogress = function loadprogress(event) {\n var stats = this.stats;\n stats.loaded = event.loaded;\n if (event.lengthComputable) {\n stats.total = event.total;\n }\n };\n _proto.getCacheAge = function getCacheAge() {\n var result = null;\n if (this.loader && AGE_HEADER_LINE_REGEX.test(this.loader.getAllResponseHeaders())) {\n var ageHeader = this.loader.getResponseHeader('age');\n result = ageHeader ? parseFloat(ageHeader) : null;\n }\n return result;\n };\n _proto.getResponseHeader = function getResponseHeader(name) {\n if (this.loader && new RegExp(\"^\" + name + \":\\\\s*[\\\\d.]+\\\\s*$\", 'im').test(this.loader.getAllResponseHeaders())) {\n return this.loader.getResponseHeader(name);\n }\n return null;\n };\n return XhrLoader;\n }();\n\n function fetchSupported() {\n if (\n // @ts-ignore\n self.fetch && self.AbortController && self.ReadableStream && self.Request) {\n try {\n new self.ReadableStream({}); // eslint-disable-line no-new\n return true;\n } catch (e) {\n /* noop */\n }\n }\n return false;\n }\n var BYTERANGE = /(\\d+)-(\\d+)\\/(\\d+)/;\n var FetchLoader = /*#__PURE__*/function () {\n function FetchLoader(config /* HlsConfig */) {\n this.fetchSetup = void 0;\n this.requestTimeout = void 0;\n this.request = null;\n this.response = null;\n this.controller = void 0;\n this.context = null;\n this.config = null;\n this.callbacks = null;\n this.stats = void 0;\n this.loader = null;\n this.fetchSetup = config.fetchSetup || getRequest;\n this.controller = new self.AbortController();\n this.stats = new LoadStats();\n }\n var _proto = FetchLoader.prototype;\n _proto.destroy = function destroy() {\n this.loader = this.callbacks = this.context = this.config = this.request = null;\n this.abortInternal();\n this.response = null;\n // @ts-ignore\n this.fetchSetup = this.controller = this.stats = null;\n };\n _proto.abortInternal = function abortInternal() {\n if (this.controller && !this.stats.loading.end) {\n this.stats.aborted = true;\n this.controller.abort();\n }\n };\n _proto.abort = function abort() {\n var _this$callbacks;\n this.abortInternal();\n if ((_this$callbacks = this.callbacks) != null && _this$callbacks.onAbort) {\n this.callbacks.onAbort(this.stats, this.context, this.response);\n }\n };\n _proto.load = function load(context, config, callbacks) {\n var _this = this;\n var stats = this.stats;\n if (stats.loading.start) {\n throw new Error('Loader can only be used once.');\n }\n stats.loading.start = self.performance.now();\n var initParams = getRequestParameters(context, this.controller.signal);\n var onProgress = callbacks.onProgress;\n var isArrayBuffer = context.responseType === 'arraybuffer';\n var LENGTH = isArrayBuffer ? 'byteLength' : 'length';\n var _config$loadPolicy = config.loadPolicy,\n maxTimeToFirstByteMs = _config$loadPolicy.maxTimeToFirstByteMs,\n maxLoadTimeMs = _config$loadPolicy.maxLoadTimeMs;\n this.context = context;\n this.config = config;\n this.callbacks = callbacks;\n this.request = this.fetchSetup(context, initParams);\n self.clearTimeout(this.requestTimeout);\n config.timeout = maxTimeToFirstByteMs && isFiniteNumber(maxTimeToFirstByteMs) ? maxTimeToFirstByteMs : maxLoadTimeMs;\n this.requestTimeout = self.setTimeout(function () {\n _this.abortInternal();\n callbacks.onTimeout(stats, context, _this.response);\n }, config.timeout);\n self.fetch(this.request).then(function (response) {\n _this.response = _this.loader = response;\n var first = Math.max(self.performance.now(), stats.loading.start);\n self.clearTimeout(_this.requestTimeout);\n config.timeout = maxLoadTimeMs;\n _this.requestTimeout = self.setTimeout(function () {\n _this.abortInternal();\n callbacks.onTimeout(stats, context, _this.response);\n }, maxLoadTimeMs - (first - stats.loading.start));\n if (!response.ok) {\n var status = response.status,\n statusText = response.statusText;\n throw new FetchError(statusText || 'fetch, bad network response', status, response);\n }\n stats.loading.first = first;\n stats.total = getContentLength(response.headers) || stats.total;\n if (onProgress && isFiniteNumber(config.highWaterMark)) {\n return _this.loadProgressively(response, stats, context, config.highWaterMark, onProgress);\n }\n if (isArrayBuffer) {\n return response.arrayBuffer();\n }\n if (context.responseType === 'json') {\n return response.json();\n }\n return response.text();\n }).then(function (responseData) {\n var response = _this.response;\n if (!response) {\n throw new Error('loader destroyed');\n }\n self.clearTimeout(_this.requestTimeout);\n stats.loading.end = Math.max(self.performance.now(), stats.loading.first);\n var total = responseData[LENGTH];\n if (total) {\n stats.loaded = stats.total = total;\n }\n var loaderResponse = {\n url: response.url,\n data: responseData,\n code: response.status\n };\n if (onProgress && !isFiniteNumber(config.highWaterMark)) {\n onProgress(stats, context, responseData, response);\n }\n callbacks.onSuccess(loaderResponse, stats, context, response);\n }).catch(function (error) {\n self.clearTimeout(_this.requestTimeout);\n if (stats.aborted) {\n return;\n }\n // CORS errors result in an undefined code. Set it to 0 here to align with XHR's behavior\n // when destroying, 'error' itself can be undefined\n var code = !error ? 0 : error.code || 0;\n var text = !error ? null : error.message;\n callbacks.onError({\n code: code,\n text: text\n }, context, error ? error.details : null, stats);\n });\n };\n _proto.getCacheAge = function getCacheAge() {\n var result = null;\n if (this.response) {\n var ageHeader = this.response.headers.get('age');\n result = ageHeader ? parseFloat(ageHeader) : null;\n }\n return result;\n };\n _proto.getResponseHeader = function getResponseHeader(name) {\n return this.response ? this.response.headers.get(name) : null;\n };\n _proto.loadProgressively = function loadProgressively(response, stats, context, highWaterMark, onProgress) {\n if (highWaterMark === void 0) {\n highWaterMark = 0;\n }\n var chunkCache = new ChunkCache();\n var reader = response.body.getReader();\n var pump = function pump() {\n return reader.read().then(function (data) {\n if (data.done) {\n if (chunkCache.dataLength) {\n onProgress(stats, context, chunkCache.flush(), response);\n }\n return Promise.resolve(new ArrayBuffer(0));\n }\n var chunk = data.value;\n var len = chunk.length;\n stats.loaded += len;\n if (len < highWaterMark || chunkCache.dataLength) {\n // The current chunk is too small to to be emitted or the cache already has data\n // Push it to the cache\n chunkCache.push(chunk);\n if (chunkCache.dataLength >= highWaterMark) {\n // flush in order to join the typed arrays\n onProgress(stats, context, chunkCache.flush(), response);\n }\n } else {\n // If there's nothing cached already, and the chache is large enough\n // just emit the progress event\n onProgress(stats, context, chunk, response);\n }\n return pump();\n }).catch(function () {\n /* aborted */\n return Promise.reject();\n });\n };\n return pump();\n };\n return FetchLoader;\n }();\n function getRequestParameters(context, signal) {\n var initParams = {\n method: 'GET',\n mode: 'cors',\n credentials: 'same-origin',\n signal: signal,\n headers: new self.Headers(_extends({}, context.headers))\n };\n if (context.rangeEnd) {\n initParams.headers.set('Range', 'bytes=' + context.rangeStart + '-' + String(context.rangeEnd - 1));\n }\n return initParams;\n }\n function getByteRangeLength(byteRangeHeader) {\n var result = BYTERANGE.exec(byteRangeHeader);\n if (result) {\n return parseInt(result[2]) - parseInt(result[1]) + 1;\n }\n }\n function getContentLength(headers) {\n var contentRange = headers.get('Content-Range');\n if (contentRange) {\n var byteRangeLength = getByteRangeLength(contentRange);\n if (isFiniteNumber(byteRangeLength)) {\n return byteRangeLength;\n }\n }\n var contentLength = headers.get('Content-Length');\n if (contentLength) {\n return parseInt(contentLength);\n }\n }\n function getRequest(context, initParams) {\n return new self.Request(context.url, initParams);\n }\n var FetchError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(FetchError, _Error);\n function FetchError(message, code, details) {\n var _this2;\n _this2 = _Error.call(this, message) || this;\n _this2.code = void 0;\n _this2.details = void 0;\n _this2.code = code;\n _this2.details = details;\n return _this2;\n }\n return FetchError;\n }( /*#__PURE__*/_wrapNativeSuper(Error));\n\n var WHITESPACE_CHAR = /\\s/;\n var Cues = {\n newCue: function newCue(track, startTime, endTime, captionScreen) {\n var result = [];\n var row;\n // the type data states this is VTTCue, but it can potentially be a TextTrackCue on old browsers\n var cue;\n var indenting;\n var indent;\n var text;\n var Cue = self.VTTCue || self.TextTrackCue;\n for (var r = 0; r < captionScreen.rows.length; r++) {\n row = captionScreen.rows[r];\n indenting = true;\n indent = 0;\n text = '';\n if (!row.isEmpty()) {\n var _track$cues;\n for (var c = 0; c < row.chars.length; c++) {\n if (WHITESPACE_CHAR.test(row.chars[c].uchar) && indenting) {\n indent++;\n } else {\n text += row.chars[c].uchar;\n indenting = false;\n }\n }\n // To be used for cleaning-up orphaned roll-up captions\n row.cueStartTime = startTime;\n\n // Give a slight bump to the endTime if it's equal to startTime to avoid a SyntaxError in IE\n if (startTime === endTime) {\n endTime += 0.0001;\n }\n if (indent >= 16) {\n indent--;\n } else {\n indent++;\n }\n var cueText = fixLineBreaks(text.trim());\n var id = generateCueId(startTime, endTime, cueText);\n\n // If this cue already exists in the track do not push it\n if (!(track != null && (_track$cues = track.cues) != null && _track$cues.getCueById(id))) {\n cue = new Cue(startTime, endTime, cueText);\n cue.id = id;\n cue.line = r + 1;\n cue.align = 'left';\n // Clamp the position between 10 and 80 percent (CEA-608 PAC indent code)\n // https://dvcs.w3.org/hg/text-tracks/raw-file/default/608toVTT/608toVTT.html#positioning-in-cea-608\n // Firefox throws an exception and captions break with out of bounds 0-100 values\n cue.position = 10 + Math.min(80, Math.floor(indent * 8 / 32) * 10);\n result.push(cue);\n }\n }\n }\n if (track && result.length) {\n // Sort bottom cues in reverse order so that they render in line order when overlapping in Chrome\n result.sort(function (cueA, cueB) {\n if (cueA.line === 'auto' || cueB.line === 'auto') {\n return 0;\n }\n if (cueA.line > 8 && cueB.line > 8) {\n return cueB.line - cueA.line;\n }\n return cueA.line - cueB.line;\n });\n result.forEach(function (cue) {\n return addCueToTrack(track, cue);\n });\n }\n return result;\n }\n };\n\n /**\n * @deprecated use fragLoadPolicy.default\n */\n\n /**\n * @deprecated use manifestLoadPolicy.default and playlistLoadPolicy.default\n */\n\n var defaultLoadPolicy = {\n maxTimeToFirstByteMs: 8000,\n maxLoadTimeMs: 20000,\n timeoutRetry: null,\n errorRetry: null\n };\n\n /**\n * @ignore\n * If possible, keep hlsDefaultConfig shallow\n * It is cloned whenever a new Hls instance is created, by keeping the config\n * shallow the properties are cloned, and we don't end up manipulating the default\n */\n var hlsDefaultConfig = _objectSpread2(_objectSpread2({\n autoStartLoad: true,\n // used by stream-controller\n startPosition: -1,\n // used by stream-controller\n defaultAudioCodec: undefined,\n // used by stream-controller\n debug: false,\n // used by logger\n capLevelOnFPSDrop: false,\n // used by fps-controller\n capLevelToPlayerSize: false,\n // used by cap-level-controller\n ignoreDevicePixelRatio: false,\n // used by cap-level-controller\n preferManagedMediaSource: true,\n initialLiveManifestSize: 1,\n // used by stream-controller\n maxBufferLength: 30,\n // used by stream-controller\n backBufferLength: Infinity,\n // used by buffer-controller\n frontBufferFlushThreshold: Infinity,\n maxBufferSize: 60 * 1000 * 1000,\n // used by stream-controller\n maxBufferHole: 0.1,\n // used by stream-controller\n highBufferWatchdogPeriod: 2,\n // used by stream-controller\n nudgeOffset: 0.1,\n // used by stream-controller\n nudgeMaxRetry: 3,\n // used by stream-controller\n maxFragLookUpTolerance: 0.25,\n // used by stream-controller\n liveSyncDurationCount: 3,\n // used by latency-controller\n liveMaxLatencyDurationCount: Infinity,\n // used by latency-controller\n liveSyncDuration: undefined,\n // used by latency-controller\n liveMaxLatencyDuration: undefined,\n // used by latency-controller\n maxLiveSyncPlaybackRate: 1,\n // used by latency-controller\n liveDurationInfinity: false,\n // used by buffer-controller\n /**\n * @deprecated use backBufferLength\n */\n liveBackBufferLength: null,\n // used by buffer-controller\n maxMaxBufferLength: 600,\n // used by stream-controller\n enableWorker: true,\n // used by transmuxer\n workerPath: null,\n // used by transmuxer\n enableSoftwareAES: true,\n // used by decrypter\n startLevel: undefined,\n // used by level-controller\n startFragPrefetch: false,\n // used by stream-controller\n fpsDroppedMonitoringPeriod: 5000,\n // used by fps-controller\n fpsDroppedMonitoringThreshold: 0.2,\n // used by fps-controller\n appendErrorMaxRetry: 3,\n // used by buffer-controller\n loader: XhrLoader,\n // loader: FetchLoader,\n fLoader: undefined,\n // used by fragment-loader\n pLoader: undefined,\n // used by playlist-loader\n xhrSetup: undefined,\n // used by xhr-loader\n licenseXhrSetup: undefined,\n // used by eme-controller\n licenseResponseCallback: undefined,\n // used by eme-controller\n abrController: AbrController,\n bufferController: BufferController,\n capLevelController: CapLevelController,\n errorController: ErrorController,\n fpsController: FPSController,\n stretchShortVideoTrack: false,\n // used by mp4-remuxer\n maxAudioFramesDrift: 1,\n // used by mp4-remuxer\n forceKeyFrameOnDiscontinuity: true,\n // used by ts-demuxer\n abrEwmaFastLive: 3,\n // used by abr-controller\n abrEwmaSlowLive: 9,\n // used by abr-controller\n abrEwmaFastVoD: 3,\n // used by abr-controller\n abrEwmaSlowVoD: 9,\n // used by abr-controller\n abrEwmaDefaultEstimate: 5e5,\n // 500 kbps // used by abr-controller\n abrEwmaDefaultEstimateMax: 5e6,\n // 5 mbps\n abrBandWidthFactor: 0.95,\n // used by abr-controller\n abrBandWidthUpFactor: 0.7,\n // used by abr-controller\n abrMaxWithRealBitrate: false,\n // used by abr-controller\n maxStarvationDelay: 4,\n // used by abr-controller\n maxLoadingDelay: 4,\n // used by abr-controller\n minAutoBitrate: 0,\n // used by hls\n emeEnabled: false,\n // used by eme-controller\n widevineLicenseUrl: undefined,\n // used by eme-controller\n drmSystems: {},\n // used by eme-controller\n drmSystemOptions: {},\n // used by eme-controller\n requestMediaKeySystemAccessFunc: requestMediaKeySystemAccess ,\n // used by eme-controller\n testBandwidth: true,\n progressive: false,\n lowLatencyMode: true,\n cmcd: undefined,\n enableDateRangeMetadataCues: true,\n enableEmsgMetadataCues: true,\n enableID3MetadataCues: true,\n useMediaCapabilities: true,\n certLoadPolicy: {\n default: defaultLoadPolicy\n },\n keyLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 8000,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 1,\n retryDelayMs: 1000,\n maxRetryDelayMs: 20000,\n backoff: 'linear'\n },\n errorRetry: {\n maxNumRetry: 8,\n retryDelayMs: 1000,\n maxRetryDelayMs: 20000,\n backoff: 'linear'\n }\n }\n },\n manifestLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: Infinity,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 2,\n retryDelayMs: 0,\n maxRetryDelayMs: 0\n },\n errorRetry: {\n maxNumRetry: 1,\n retryDelayMs: 1000,\n maxRetryDelayMs: 8000\n }\n }\n },\n playlistLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 2,\n retryDelayMs: 0,\n maxRetryDelayMs: 0\n },\n errorRetry: {\n maxNumRetry: 2,\n retryDelayMs: 1000,\n maxRetryDelayMs: 8000\n }\n }\n },\n fragLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 120000,\n timeoutRetry: {\n maxNumRetry: 4,\n retryDelayMs: 0,\n maxRetryDelayMs: 0\n },\n errorRetry: {\n maxNumRetry: 6,\n retryDelayMs: 1000,\n maxRetryDelayMs: 8000\n }\n }\n },\n steeringManifestLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 2,\n retryDelayMs: 0,\n maxRetryDelayMs: 0\n },\n errorRetry: {\n maxNumRetry: 1,\n retryDelayMs: 1000,\n maxRetryDelayMs: 8000\n }\n } \n },\n // These default settings are deprecated in favor of the above policies\n // and are maintained for backwards compatibility\n manifestLoadingTimeOut: 10000,\n manifestLoadingMaxRetry: 1,\n manifestLoadingRetryDelay: 1000,\n manifestLoadingMaxRetryTimeout: 64000,\n levelLoadingTimeOut: 10000,\n levelLoadingMaxRetry: 4,\n levelLoadingRetryDelay: 1000,\n levelLoadingMaxRetryTimeout: 64000,\n fragLoadingTimeOut: 20000,\n fragLoadingMaxRetry: 6,\n fragLoadingRetryDelay: 1000,\n fragLoadingMaxRetryTimeout: 64000\n }, timelineConfig()), {}, {\n subtitleStreamController: SubtitleStreamController ,\n subtitleTrackController: SubtitleTrackController ,\n timelineController: TimelineController ,\n audioStreamController: AudioStreamController ,\n audioTrackController: AudioTrackController ,\n emeController: EMEController ,\n cmcdController: CMCDController ,\n contentSteeringController: ContentSteeringController \n });\n function timelineConfig() {\n return {\n cueHandler: Cues,\n // used by timeline-controller\n enableWebVTT: true,\n // used by timeline-controller\n enableIMSC1: true,\n // used by timeline-controller\n enableCEA708Captions: true,\n // used by timeline-controller\n captionsTextTrack1Label: 'English',\n // used by timeline-controller\n captionsTextTrack1LanguageCode: 'en',\n // used by timeline-controller\n captionsTextTrack2Label: 'Spanish',\n // used by timeline-controller\n captionsTextTrack2LanguageCode: 'es',\n // used by timeline-controller\n captionsTextTrack3Label: 'Unknown CC',\n // used by timeline-controller\n captionsTextTrack3LanguageCode: '',\n // used by timeline-controller\n captionsTextTrack4Label: 'Unknown CC',\n // used by timeline-controller\n captionsTextTrack4LanguageCode: '',\n // used by timeline-controller\n renderTextTracksNatively: true\n };\n }\n\n /**\n * @ignore\n */\n function mergeConfig(defaultConfig, userConfig) {\n if ((userConfig.liveSyncDurationCount || userConfig.liveMaxLatencyDurationCount) && (userConfig.liveSyncDuration || userConfig.liveMaxLatencyDuration)) {\n throw new Error(\"Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration\");\n }\n if (userConfig.liveMaxLatencyDurationCount !== undefined && (userConfig.liveSyncDurationCount === undefined || userConfig.liveMaxLatencyDurationCount <= userConfig.liveSyncDurationCount)) {\n throw new Error('Illegal hls.js config: \"liveMaxLatencyDurationCount\" must be greater than \"liveSyncDurationCount\"');\n }\n if (userConfig.liveMaxLatencyDuration !== undefined && (userConfig.liveSyncDuration === undefined || userConfig.liveMaxLatencyDuration <= userConfig.liveSyncDuration)) {\n throw new Error('Illegal hls.js config: \"liveMaxLatencyDuration\" must be greater than \"liveSyncDuration\"');\n }\n var defaultsCopy = deepCpy(defaultConfig);\n\n // Backwards compatibility with deprecated config values\n var deprecatedSettingTypes = ['manifest', 'level', 'frag'];\n var deprecatedSettings = ['TimeOut', 'MaxRetry', 'RetryDelay', 'MaxRetryTimeout'];\n deprecatedSettingTypes.forEach(function (type) {\n var policyName = (type === 'level' ? 'playlist' : type) + \"LoadPolicy\";\n var policyNotSet = userConfig[policyName] === undefined;\n var report = [];\n deprecatedSettings.forEach(function (setting) {\n var deprecatedSetting = type + \"Loading\" + setting;\n var value = userConfig[deprecatedSetting];\n if (value !== undefined && policyNotSet) {\n report.push(deprecatedSetting);\n var settings = defaultsCopy[policyName].default;\n userConfig[policyName] = {\n default: settings\n };\n switch (setting) {\n case 'TimeOut':\n settings.maxLoadTimeMs = value;\n settings.maxTimeToFirstByteMs = value;\n break;\n case 'MaxRetry':\n settings.errorRetry.maxNumRetry = value;\n settings.timeoutRetry.maxNumRetry = value;\n break;\n case 'RetryDelay':\n settings.errorRetry.retryDelayMs = value;\n settings.timeoutRetry.retryDelayMs = value;\n break;\n case 'MaxRetryTimeout':\n settings.errorRetry.maxRetryDelayMs = value;\n settings.timeoutRetry.maxRetryDelayMs = value;\n break;\n }\n }\n });\n if (report.length) {\n logger.warn(\"hls.js config: \\\"\" + report.join('\", \"') + \"\\\" setting(s) are deprecated, use \\\"\" + policyName + \"\\\": \" + JSON.stringify(userConfig[policyName]));\n }\n });\n return _objectSpread2(_objectSpread2({}, defaultsCopy), userConfig);\n }\n function deepCpy(obj) {\n if (obj && typeof obj === 'object') {\n if (Array.isArray(obj)) {\n return obj.map(deepCpy);\n }\n return Object.keys(obj).reduce(function (result, key) {\n result[key] = deepCpy(obj[key]);\n return result;\n }, {});\n }\n return obj;\n }\n\n /**\n * @ignore\n */\n function enableStreamingMode(config) {\n var currentLoader = config.loader;\n if (currentLoader !== FetchLoader && currentLoader !== XhrLoader) {\n // If a developer has configured their own loader, respect that choice\n logger.log('[config]: Custom loader detected, cannot enable progressive streaming');\n config.progressive = false;\n } else {\n var canStreamProgressively = fetchSupported();\n if (canStreamProgressively) {\n config.loader = FetchLoader;\n config.progressive = true;\n config.enableSoftwareAES = true;\n logger.log('[config]: Progressive streaming enabled, using FetchLoader');\n }\n }\n }\n\n var chromeOrFirefox;\n var LevelController = /*#__PURE__*/function (_BasePlaylistControll) {\n _inheritsLoose(LevelController, _BasePlaylistControll);\n function LevelController(hls, contentSteeringController) {\n var _this;\n _this = _BasePlaylistControll.call(this, hls, '[level-controller]') || this;\n _this._levels = [];\n _this._firstLevel = -1;\n _this._maxAutoLevel = -1;\n _this._startLevel = void 0;\n _this.currentLevel = null;\n _this.currentLevelIndex = -1;\n _this.manualLevelIndex = -1;\n _this.steering = void 0;\n _this.onParsedComplete = void 0;\n _this.steering = contentSteeringController;\n _this._registerListeners();\n return _this;\n }\n var _proto = LevelController.prototype;\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.off(Events.ERROR, this.onError, this);\n };\n _proto.destroy = function destroy() {\n this._unregisterListeners();\n this.steering = null;\n this.resetLevels();\n _BasePlaylistControll.prototype.destroy.call(this);\n };\n _proto.stopLoad = function stopLoad() {\n var levels = this._levels;\n\n // clean up live level details to force reload them, and reset load errors\n levels.forEach(function (level) {\n level.loadError = 0;\n level.fragmentError = 0;\n });\n _BasePlaylistControll.prototype.stopLoad.call(this);\n };\n _proto.resetLevels = function resetLevels() {\n this._startLevel = undefined;\n this.manualLevelIndex = -1;\n this.currentLevelIndex = -1;\n this.currentLevel = null;\n this._levels = [];\n this._maxAutoLevel = -1;\n };\n _proto.onManifestLoading = function onManifestLoading(event, data) {\n this.resetLevels();\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, data) {\n var preferManagedMediaSource = this.hls.config.preferManagedMediaSource;\n var levels = [];\n var redundantSet = {};\n var generatePathwaySet = {};\n var resolutionFound = false;\n var videoCodecFound = false;\n var audioCodecFound = false;\n data.levels.forEach(function (levelParsed) {\n var _audioCodec, _videoCodec;\n var attributes = levelParsed.attrs;\n\n // erase audio codec info if browser does not support mp4a.40.34.\n // demuxer will autodetect codec and fallback to mpeg/audio\n var audioCodec = levelParsed.audioCodec,\n videoCodec = levelParsed.videoCodec;\n if (((_audioCodec = audioCodec) == null ? void 0 : _audioCodec.indexOf('mp4a.40.34')) !== -1) {\n chromeOrFirefox || (chromeOrFirefox = /chrome|firefox/i.test(navigator.userAgent));\n if (chromeOrFirefox) {\n levelParsed.audioCodec = audioCodec = undefined;\n }\n }\n if (audioCodec) {\n levelParsed.audioCodec = audioCodec = getCodecCompatibleName(audioCodec, preferManagedMediaSource);\n }\n if (((_videoCodec = videoCodec) == null ? void 0 : _videoCodec.indexOf('avc1')) === 0) {\n videoCodec = levelParsed.videoCodec = convertAVC1ToAVCOTI(videoCodec);\n }\n\n // only keep levels with supported audio/video codecs\n var width = levelParsed.width,\n height = levelParsed.height,\n unknownCodecs = levelParsed.unknownCodecs;\n resolutionFound || (resolutionFound = !!(width && height));\n videoCodecFound || (videoCodecFound = !!videoCodec);\n audioCodecFound || (audioCodecFound = !!audioCodec);\n if (unknownCodecs != null && unknownCodecs.length || audioCodec && !areCodecsMediaSourceSupported(audioCodec, 'audio', preferManagedMediaSource) || videoCodec && !areCodecsMediaSourceSupported(videoCodec, 'video', preferManagedMediaSource)) {\n return;\n }\n var CODECS = attributes.CODECS,\n FRAMERATE = attributes['FRAME-RATE'],\n HDCP = attributes['HDCP-LEVEL'],\n PATHWAY = attributes['PATHWAY-ID'],\n RESOLUTION = attributes.RESOLUTION,\n VIDEO_RANGE = attributes['VIDEO-RANGE'];\n var contentSteeringPrefix = (PATHWAY || '.') + \"-\";\n var levelKey = \"\" + contentSteeringPrefix + levelParsed.bitrate + \"-\" + RESOLUTION + \"-\" + FRAMERATE + \"-\" + CODECS + \"-\" + VIDEO_RANGE + \"-\" + HDCP;\n if (!redundantSet[levelKey]) {\n var level = new Level(levelParsed);\n redundantSet[levelKey] = level;\n generatePathwaySet[levelKey] = 1;\n levels.push(level);\n } else if (redundantSet[levelKey].uri !== levelParsed.url && !levelParsed.attrs['PATHWAY-ID']) {\n // Assign Pathway IDs to Redundant Streams (default Pathways is \".\". Redundant Streams \"..\", \"...\", and so on.)\n // Content Steering controller to handles Pathway fallback on error\n var pathwayCount = generatePathwaySet[levelKey] += 1;\n levelParsed.attrs['PATHWAY-ID'] = new Array(pathwayCount + 1).join('.');\n var _level = new Level(levelParsed);\n redundantSet[levelKey] = _level;\n levels.push(_level);\n } else {\n redundantSet[levelKey].addGroupId('audio', attributes.AUDIO);\n redundantSet[levelKey].addGroupId('text', attributes.SUBTITLES);\n }\n });\n this.filterAndSortMediaOptions(levels, data, resolutionFound, videoCodecFound, audioCodecFound);\n };\n _proto.filterAndSortMediaOptions = function filterAndSortMediaOptions(filteredLevels, data, resolutionFound, videoCodecFound, audioCodecFound) {\n var _this2 = this;\n var audioTracks = [];\n var subtitleTracks = [];\n var levels = filteredLevels;\n\n // remove audio-only and invalid video-range levels if we also have levels with video codecs or RESOLUTION signalled\n if ((resolutionFound || videoCodecFound) && audioCodecFound) {\n levels = levels.filter(function (_ref) {\n var videoCodec = _ref.videoCodec,\n videoRange = _ref.videoRange,\n width = _ref.width,\n height = _ref.height;\n return (!!videoCodec || !!(width && height)) && isVideoRange(videoRange);\n });\n }\n if (levels.length === 0) {\n // Dispatch error after MANIFEST_LOADED is done propagating\n Promise.resolve().then(function () {\n if (_this2.hls) {\n if (data.levels.length) {\n _this2.warn(\"One or more CODECS in variant not supported: \" + JSON.stringify(data.levels[0].attrs));\n }\n var error = new Error('no level with compatible codecs found in manifest');\n _this2.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.MANIFEST_INCOMPATIBLE_CODECS_ERROR,\n fatal: true,\n url: data.url,\n error: error,\n reason: error.message\n });\n }\n });\n return;\n }\n if (data.audioTracks) {\n var preferManagedMediaSource = this.hls.config.preferManagedMediaSource;\n audioTracks = data.audioTracks.filter(function (track) {\n return !track.audioCodec || areCodecsMediaSourceSupported(track.audioCodec, 'audio', preferManagedMediaSource);\n });\n // Assign ids after filtering as array indices by group-id\n assignTrackIdsByGroup(audioTracks);\n }\n if (data.subtitles) {\n subtitleTracks = data.subtitles;\n assignTrackIdsByGroup(subtitleTracks);\n }\n // start bitrate is the first bitrate of the manifest\n var unsortedLevels = levels.slice(0);\n // sort levels from lowest to highest\n levels.sort(function (a, b) {\n if (a.attrs['HDCP-LEVEL'] !== b.attrs['HDCP-LEVEL']) {\n return (a.attrs['HDCP-LEVEL'] || '') > (b.attrs['HDCP-LEVEL'] || '') ? 1 : -1;\n }\n // sort on height before bitrate for cap-level-controller\n if (resolutionFound && a.height !== b.height) {\n return a.height - b.height;\n }\n if (a.frameRate !== b.frameRate) {\n return a.frameRate - b.frameRate;\n }\n if (a.videoRange !== b.videoRange) {\n return VideoRangeValues.indexOf(a.videoRange) - VideoRangeValues.indexOf(b.videoRange);\n }\n if (a.videoCodec !== b.videoCodec) {\n var valueA = videoCodecPreferenceValue(a.videoCodec);\n var valueB = videoCodecPreferenceValue(b.videoCodec);\n if (valueA !== valueB) {\n return valueB - valueA;\n }\n }\n if (a.uri === b.uri && a.codecSet !== b.codecSet) {\n var _valueA = codecsSetSelectionPreferenceValue(a.codecSet);\n var _valueB = codecsSetSelectionPreferenceValue(b.codecSet);\n if (_valueA !== _valueB) {\n return _valueB - _valueA;\n }\n }\n if (a.averageBitrate !== b.averageBitrate) {\n return a.averageBitrate - b.averageBitrate;\n }\n return 0;\n });\n var firstLevelInPlaylist = unsortedLevels[0];\n if (this.steering) {\n levels = this.steering.filterParsedLevels(levels);\n if (levels.length !== unsortedLevels.length) {\n for (var i = 0; i < unsortedLevels.length; i++) {\n if (unsortedLevels[i].pathwayId === levels[0].pathwayId) {\n firstLevelInPlaylist = unsortedLevels[i];\n break;\n }\n }\n }\n }\n this._levels = levels;\n\n // find index of first level in sorted levels\n for (var _i = 0; _i < levels.length; _i++) {\n if (levels[_i] === firstLevelInPlaylist) {\n var _this$hls$userConfig;\n this._firstLevel = _i;\n var firstLevelBitrate = firstLevelInPlaylist.bitrate;\n var bandwidthEstimate = this.hls.bandwidthEstimate;\n this.log(\"manifest loaded, \" + levels.length + \" level(s) found, first bitrate: \" + firstLevelBitrate);\n // Update default bwe to first variant bitrate as long it has not been configured or set\n if (((_this$hls$userConfig = this.hls.userConfig) == null ? void 0 : _this$hls$userConfig.abrEwmaDefaultEstimate) === undefined) {\n var startingBwEstimate = Math.min(firstLevelBitrate, this.hls.config.abrEwmaDefaultEstimateMax);\n if (startingBwEstimate > bandwidthEstimate && bandwidthEstimate === hlsDefaultConfig.abrEwmaDefaultEstimate) {\n this.hls.bandwidthEstimate = startingBwEstimate;\n }\n }\n break;\n }\n }\n\n // Audio is only alternate if manifest include a URI along with the audio group tag,\n // and this is not an audio-only stream where levels contain audio-only\n var audioOnly = audioCodecFound && !videoCodecFound;\n var edata = {\n levels: levels,\n audioTracks: audioTracks,\n subtitleTracks: subtitleTracks,\n sessionData: data.sessionData,\n sessionKeys: data.sessionKeys,\n firstLevel: this._firstLevel,\n stats: data.stats,\n audio: audioCodecFound,\n video: videoCodecFound,\n altAudio: !audioOnly && audioTracks.some(function (t) {\n return !!t.url;\n })\n };\n this.hls.trigger(Events.MANIFEST_PARSED, edata);\n\n // Initiate loading after all controllers have received MANIFEST_PARSED\n if (this.hls.config.autoStartLoad || this.hls.forceStartLoad) {\n this.hls.startLoad(this.hls.config.startPosition);\n }\n };\n _proto.onError = function onError(event, data) {\n if (data.fatal || !data.context) {\n return;\n }\n if (data.context.type === PlaylistContextType.LEVEL && data.context.level === this.level) {\n this.checkRetry(data);\n }\n }\n\n // reset errors on the successful load of a fragment\n ;\n _proto.onFragBuffered = function onFragBuffered(event, _ref2) {\n var frag = _ref2.frag;\n if (frag !== undefined && frag.type === PlaylistLevelType.MAIN) {\n var el = frag.elementaryStreams;\n if (!Object.keys(el).some(function (type) {\n return !!el[type];\n })) {\n return;\n }\n var level = this._levels[frag.level];\n if (level != null && level.loadError) {\n this.log(\"Resetting level error count of \" + level.loadError + \" on frag buffered\");\n level.loadError = 0;\n }\n }\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n var _data$deliveryDirecti2;\n var level = data.level,\n details = data.details;\n var curLevel = this._levels[level];\n if (!curLevel) {\n var _data$deliveryDirecti;\n this.warn(\"Invalid level index \" + level);\n if ((_data$deliveryDirecti = data.deliveryDirectives) != null && _data$deliveryDirecti.skip) {\n details.deltaUpdateFailed = true;\n }\n return;\n }\n\n // only process level loaded events matching with expected level\n if (level === this.currentLevelIndex) {\n // reset level load error counter on successful level loaded only if there is no issues with fragments\n if (curLevel.fragmentError === 0) {\n curLevel.loadError = 0;\n }\n this.playlistLoaded(level, data, curLevel.details);\n } else if ((_data$deliveryDirecti2 = data.deliveryDirectives) != null && _data$deliveryDirecti2.skip) {\n // received a delta playlist update that cannot be merged\n details.deltaUpdateFailed = true;\n }\n };\n _proto.loadPlaylist = function loadPlaylist(hlsUrlParameters) {\n _BasePlaylistControll.prototype.loadPlaylist.call(this);\n var currentLevelIndex = this.currentLevelIndex;\n var currentLevel = this.currentLevel;\n if (currentLevel && this.shouldLoadPlaylist(currentLevel)) {\n var url = currentLevel.uri;\n if (hlsUrlParameters) {\n try {\n url = hlsUrlParameters.addDirectives(url);\n } catch (error) {\n this.warn(\"Could not construct new URL with HLS Delivery Directives: \" + error);\n }\n }\n var pathwayId = currentLevel.attrs['PATHWAY-ID'];\n this.log(\"Loading level index \" + currentLevelIndex + ((hlsUrlParameters == null ? void 0 : hlsUrlParameters.msn) !== undefined ? ' at sn ' + hlsUrlParameters.msn + ' part ' + hlsUrlParameters.part : '') + \" with\" + (pathwayId ? ' Pathway ' + pathwayId : '') + \" \" + url);\n\n // console.log('Current audio track group ID:', this.hls.audioTracks[this.hls.audioTrack].groupId);\n // console.log('New video quality level audio group id:', levelObject.attrs.AUDIO, level);\n this.clearTimer();\n this.hls.trigger(Events.LEVEL_LOADING, {\n url: url,\n level: currentLevelIndex,\n pathwayId: currentLevel.attrs['PATHWAY-ID'],\n id: 0,\n // Deprecated Level urlId\n deliveryDirectives: hlsUrlParameters || null\n });\n }\n };\n _proto.removeLevel = function removeLevel(levelIndex) {\n var _this3 = this,\n _this$currentLevel;\n var levels = this._levels.filter(function (level, index) {\n if (index !== levelIndex) {\n return true;\n }\n if (_this3.steering) {\n _this3.steering.removeLevel(level);\n }\n if (level === _this3.currentLevel) {\n _this3.currentLevel = null;\n _this3.currentLevelIndex = -1;\n if (level.details) {\n level.details.fragments.forEach(function (f) {\n return f.level = -1;\n });\n }\n }\n return false;\n });\n reassignFragmentLevelIndexes(levels);\n this._levels = levels;\n if (this.currentLevelIndex > -1 && (_this$currentLevel = this.currentLevel) != null && _this$currentLevel.details) {\n this.currentLevelIndex = this.currentLevel.details.fragments[0].level;\n }\n this.hls.trigger(Events.LEVELS_UPDATED, {\n levels: levels\n });\n };\n _proto.onLevelsUpdated = function onLevelsUpdated(event, _ref3) {\n var levels = _ref3.levels;\n this._levels = levels;\n };\n _proto.checkMaxAutoUpdated = function checkMaxAutoUpdated() {\n var _this$hls = this.hls,\n autoLevelCapping = _this$hls.autoLevelCapping,\n maxAutoLevel = _this$hls.maxAutoLevel,\n maxHdcpLevel = _this$hls.maxHdcpLevel;\n if (this._maxAutoLevel !== maxAutoLevel) {\n this._maxAutoLevel = maxAutoLevel;\n this.hls.trigger(Events.MAX_AUTO_LEVEL_UPDATED, {\n autoLevelCapping: autoLevelCapping,\n levels: this.levels,\n maxAutoLevel: maxAutoLevel,\n minAutoLevel: this.hls.minAutoLevel,\n maxHdcpLevel: maxHdcpLevel\n });\n }\n };\n _createClass(LevelController, [{\n key: \"levels\",\n get: function get() {\n if (this._levels.length === 0) {\n return null;\n }\n return this._levels;\n }\n }, {\n key: \"level\",\n get: function get() {\n return this.currentLevelIndex;\n },\n set: function set(newLevel) {\n var levels = this._levels;\n if (levels.length === 0) {\n return;\n }\n // check if level idx is valid\n if (newLevel < 0 || newLevel >= levels.length) {\n // invalid level id given, trigger error\n var error = new Error('invalid level idx');\n var fatal = newLevel < 0;\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.OTHER_ERROR,\n details: ErrorDetails.LEVEL_SWITCH_ERROR,\n level: newLevel,\n fatal: fatal,\n error: error,\n reason: error.message\n });\n if (fatal) {\n return;\n }\n newLevel = Math.min(newLevel, levels.length - 1);\n }\n var lastLevelIndex = this.currentLevelIndex;\n var lastLevel = this.currentLevel;\n var lastPathwayId = lastLevel ? lastLevel.attrs['PATHWAY-ID'] : undefined;\n var level = levels[newLevel];\n var pathwayId = level.attrs['PATHWAY-ID'];\n this.currentLevelIndex = newLevel;\n this.currentLevel = level;\n if (lastLevelIndex === newLevel && level.details && lastLevel && lastPathwayId === pathwayId) {\n return;\n }\n this.log(\"Switching to level \" + newLevel + \" (\" + (level.height ? level.height + 'p ' : '') + (level.videoRange ? level.videoRange + ' ' : '') + (level.codecSet ? level.codecSet + ' ' : '') + \"@\" + level.bitrate + \")\" + (pathwayId ? ' with Pathway ' + pathwayId : '') + \" from level \" + lastLevelIndex + (lastPathwayId ? ' with Pathway ' + lastPathwayId : ''));\n var levelSwitchingData = {\n level: newLevel,\n attrs: level.attrs,\n details: level.details,\n bitrate: level.bitrate,\n averageBitrate: level.averageBitrate,\n maxBitrate: level.maxBitrate,\n realBitrate: level.realBitrate,\n width: level.width,\n height: level.height,\n codecSet: level.codecSet,\n audioCodec: level.audioCodec,\n videoCodec: level.videoCodec,\n audioGroups: level.audioGroups,\n subtitleGroups: level.subtitleGroups,\n loaded: level.loaded,\n loadError: level.loadError,\n fragmentError: level.fragmentError,\n name: level.name,\n id: level.id,\n uri: level.uri,\n url: level.url,\n urlId: 0,\n audioGroupIds: level.audioGroupIds,\n textGroupIds: level.textGroupIds\n };\n this.hls.trigger(Events.LEVEL_SWITCHING, levelSwitchingData);\n // check if we need to load playlist for this level\n var levelDetails = level.details;\n if (!levelDetails || levelDetails.live) {\n // level not retrieved yet, or live playlist we need to (re)load it\n var hlsUrlParameters = this.switchParams(level.uri, lastLevel == null ? void 0 : lastLevel.details);\n this.loadPlaylist(hlsUrlParameters);\n }\n }\n }, {\n key: \"manualLevel\",\n get: function get() {\n return this.manualLevelIndex;\n },\n set: function set(newLevel) {\n this.manualLevelIndex = newLevel;\n if (this._startLevel === undefined) {\n this._startLevel = newLevel;\n }\n if (newLevel !== -1) {\n this.level = newLevel;\n }\n }\n }, {\n key: \"firstLevel\",\n get: function get() {\n return this._firstLevel;\n },\n set: function set(newLevel) {\n this._firstLevel = newLevel;\n }\n }, {\n key: \"startLevel\",\n get: function get() {\n // Setting hls.startLevel (this._startLevel) overrides config.startLevel\n if (this._startLevel === undefined) {\n var configStartLevel = this.hls.config.startLevel;\n if (configStartLevel !== undefined) {\n return configStartLevel;\n }\n return this.hls.firstAutoLevel;\n }\n return this._startLevel;\n },\n set: function set(newLevel) {\n this._startLevel = newLevel;\n }\n }, {\n key: \"nextLoadLevel\",\n get: function get() {\n if (this.manualLevelIndex !== -1) {\n return this.manualLevelIndex;\n } else {\n return this.hls.nextAutoLevel;\n }\n },\n set: function set(nextLevel) {\n this.level = nextLevel;\n if (this.manualLevelIndex === -1) {\n this.hls.nextAutoLevel = nextLevel;\n }\n }\n }]);\n return LevelController;\n }(BasePlaylistController);\n function assignTrackIdsByGroup(tracks) {\n var groups = {};\n tracks.forEach(function (track) {\n var groupId = track.groupId || '';\n track.id = groups[groupId] = groups[groupId] || 0;\n groups[groupId]++;\n });\n }\n\n var KeyLoader = /*#__PURE__*/function () {\n function KeyLoader(config) {\n this.config = void 0;\n this.keyUriToKeyInfo = {};\n this.emeController = null;\n this.config = config;\n }\n var _proto = KeyLoader.prototype;\n _proto.abort = function abort(type) {\n for (var uri in this.keyUriToKeyInfo) {\n var loader = this.keyUriToKeyInfo[uri].loader;\n if (loader) {\n var _loader$context;\n if (type && type !== ((_loader$context = loader.context) == null ? void 0 : _loader$context.frag.type)) {\n return;\n }\n loader.abort();\n }\n }\n };\n _proto.detach = function detach() {\n for (var uri in this.keyUriToKeyInfo) {\n var keyInfo = this.keyUriToKeyInfo[uri];\n // Remove cached EME keys on detach\n if (keyInfo.mediaKeySessionContext || keyInfo.decryptdata.isCommonEncryption) {\n delete this.keyUriToKeyInfo[uri];\n }\n }\n };\n _proto.destroy = function destroy() {\n this.detach();\n for (var uri in this.keyUriToKeyInfo) {\n var loader = this.keyUriToKeyInfo[uri].loader;\n if (loader) {\n loader.destroy();\n }\n }\n this.keyUriToKeyInfo = {};\n };\n _proto.createKeyLoadError = function createKeyLoadError(frag, details, error, networkDetails, response) {\n if (details === void 0) {\n details = ErrorDetails.KEY_LOAD_ERROR;\n }\n return new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: details,\n fatal: false,\n frag: frag,\n response: response,\n error: error,\n networkDetails: networkDetails\n });\n };\n _proto.loadClear = function loadClear(loadingFrag, encryptedFragments) {\n var _this = this;\n if (this.emeController && this.config.emeEnabled) {\n // access key-system with nearest key on start (loaidng frag is unencrypted)\n var sn = loadingFrag.sn,\n cc = loadingFrag.cc;\n var _loop = function _loop() {\n var frag = encryptedFragments[i];\n if (cc <= frag.cc && (sn === 'initSegment' || frag.sn === 'initSegment' || sn < frag.sn)) {\n _this.emeController.selectKeySystemFormat(frag).then(function (keySystemFormat) {\n frag.setKeyFormat(keySystemFormat);\n });\n return 1; // break\n }\n };\n for (var i = 0; i < encryptedFragments.length; i++) {\n if (_loop()) break;\n }\n }\n };\n _proto.load = function load(frag) {\n var _this2 = this;\n if (!frag.decryptdata && frag.encrypted && this.emeController) {\n // Multiple keys, but none selected, resolve in eme-controller\n return this.emeController.selectKeySystemFormat(frag).then(function (keySystemFormat) {\n return _this2.loadInternal(frag, keySystemFormat);\n });\n }\n return this.loadInternal(frag);\n };\n _proto.loadInternal = function loadInternal(frag, keySystemFormat) {\n var _keyInfo, _keyInfo2;\n if (keySystemFormat) {\n frag.setKeyFormat(keySystemFormat);\n }\n var decryptdata = frag.decryptdata;\n if (!decryptdata) {\n var error = new Error(keySystemFormat ? \"Expected frag.decryptdata to be defined after setting format \" + keySystemFormat : 'Missing decryption data on fragment in onKeyLoading');\n return Promise.reject(this.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, error));\n }\n var uri = decryptdata.uri;\n if (!uri) {\n return Promise.reject(this.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, new Error(\"Invalid key URI: \\\"\" + uri + \"\\\"\")));\n }\n var keyInfo = this.keyUriToKeyInfo[uri];\n if ((_keyInfo = keyInfo) != null && _keyInfo.decryptdata.key) {\n decryptdata.key = keyInfo.decryptdata.key;\n return Promise.resolve({\n frag: frag,\n keyInfo: keyInfo\n });\n }\n // Return key load promise as long as it does not have a mediakey session with an unusable key status\n if ((_keyInfo2 = keyInfo) != null && _keyInfo2.keyLoadPromise) {\n var _keyInfo$mediaKeySess;\n switch ((_keyInfo$mediaKeySess = keyInfo.mediaKeySessionContext) == null ? void 0 : _keyInfo$mediaKeySess.keyStatus) {\n case undefined:\n case 'status-pending':\n case 'usable':\n case 'usable-in-future':\n return keyInfo.keyLoadPromise.then(function (keyLoadedData) {\n // Return the correct fragment with updated decryptdata key and loaded keyInfo\n decryptdata.key = keyLoadedData.keyInfo.decryptdata.key;\n return {\n frag: frag,\n keyInfo: keyInfo\n };\n });\n }\n // If we have a key session and status and it is not pending or usable, continue\n // This will go back to the eme-controller for expired keys to get a new keyLoadPromise\n }\n\n // Load the key or return the loading promise\n keyInfo = this.keyUriToKeyInfo[uri] = {\n decryptdata: decryptdata,\n keyLoadPromise: null,\n loader: null,\n mediaKeySessionContext: null\n };\n switch (decryptdata.method) {\n case 'ISO-23001-7':\n case 'SAMPLE-AES':\n case 'SAMPLE-AES-CENC':\n case 'SAMPLE-AES-CTR':\n if (decryptdata.keyFormat === 'identity') {\n // loadKeyHTTP handles http(s) and data URLs\n return this.loadKeyHTTP(keyInfo, frag);\n }\n return this.loadKeyEME(keyInfo, frag);\n case 'AES-128':\n return this.loadKeyHTTP(keyInfo, frag);\n default:\n return Promise.reject(this.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, new Error(\"Key supplied with unsupported METHOD: \\\"\" + decryptdata.method + \"\\\"\")));\n }\n };\n _proto.loadKeyEME = function loadKeyEME(keyInfo, frag) {\n var keyLoadedData = {\n frag: frag,\n keyInfo: keyInfo\n };\n if (this.emeController && this.config.emeEnabled) {\n var keySessionContextPromise = this.emeController.loadKey(keyLoadedData);\n if (keySessionContextPromise) {\n return (keyInfo.keyLoadPromise = keySessionContextPromise.then(function (keySessionContext) {\n keyInfo.mediaKeySessionContext = keySessionContext;\n return keyLoadedData;\n })).catch(function (error) {\n // Remove promise for license renewal or retry\n keyInfo.keyLoadPromise = null;\n throw error;\n });\n }\n }\n return Promise.resolve(keyLoadedData);\n };\n _proto.loadKeyHTTP = function loadKeyHTTP(keyInfo, frag) {\n var _this3 = this;\n var config = this.config;\n var Loader = config.loader;\n var keyLoader = new Loader(config);\n frag.keyLoader = keyInfo.loader = keyLoader;\n return keyInfo.keyLoadPromise = new Promise(function (resolve, reject) {\n var loaderContext = {\n keyInfo: keyInfo,\n frag: frag,\n responseType: 'arraybuffer',\n url: keyInfo.decryptdata.uri\n };\n\n // maxRetry is 0 so that instead of retrying the same key on the same variant multiple times,\n // key-loader will trigger an error and rely on stream-controller to handle retry logic.\n // this will also align retry logic with fragment-loader\n var loadPolicy = config.keyLoadPolicy.default;\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: 0,\n retryDelay: 0,\n maxRetryDelay: 0\n };\n var loaderCallbacks = {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n var frag = context.frag,\n keyInfo = context.keyInfo,\n uri = context.url;\n if (!frag.decryptdata || keyInfo !== _this3.keyUriToKeyInfo[uri]) {\n return reject(_this3.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, new Error('after key load, decryptdata unset or changed'), networkDetails));\n }\n keyInfo.decryptdata.key = frag.decryptdata.key = new Uint8Array(response.data);\n\n // detach fragment key loader on load success\n frag.keyLoader = null;\n keyInfo.loader = null;\n resolve({\n frag: frag,\n keyInfo: keyInfo\n });\n },\n onError: function onError(response, context, networkDetails, stats) {\n _this3.resetLoader(context);\n reject(_this3.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, new Error(\"HTTP Error \" + response.code + \" loading key \" + response.text), networkDetails, _objectSpread2({\n url: loaderContext.url,\n data: undefined\n }, response)));\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this3.resetLoader(context);\n reject(_this3.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_TIMEOUT, new Error('key loading timed out'), networkDetails));\n },\n onAbort: function onAbort(stats, context, networkDetails) {\n _this3.resetLoader(context);\n reject(_this3.createKeyLoadError(frag, ErrorDetails.INTERNAL_ABORTED, new Error('key loading aborted'), networkDetails));\n }\n };\n keyLoader.load(loaderContext, loaderConfig, loaderCallbacks);\n });\n };\n _proto.resetLoader = function resetLoader(context) {\n var frag = context.frag,\n keyInfo = context.keyInfo,\n uri = context.url;\n var loader = keyInfo.loader;\n if (frag.keyLoader === loader) {\n frag.keyLoader = null;\n keyInfo.loader = null;\n }\n delete this.keyUriToKeyInfo[uri];\n if (loader) {\n loader.destroy();\n }\n };\n return KeyLoader;\n }();\n\n function getSourceBuffer() {\n return self.SourceBuffer || self.WebKitSourceBuffer;\n }\n function isMSESupported() {\n var mediaSource = getMediaSource();\n if (!mediaSource) {\n return false;\n }\n\n // if SourceBuffer is exposed ensure its API is valid\n // Older browsers do not expose SourceBuffer globally so checking SourceBuffer.prototype is impossible\n var sourceBuffer = getSourceBuffer();\n return !sourceBuffer || sourceBuffer.prototype && typeof sourceBuffer.prototype.appendBuffer === 'function' && typeof sourceBuffer.prototype.remove === 'function';\n }\n function isSupported() {\n if (!isMSESupported()) {\n return false;\n }\n var mediaSource = getMediaSource();\n return typeof (mediaSource == null ? void 0 : mediaSource.isTypeSupported) === 'function' && (['avc1.42E01E,mp4a.40.2', 'av01.0.01M.08', 'vp09.00.50.08'].some(function (codecsForVideoContainer) {\n return mediaSource.isTypeSupported(mimeTypeForCodec(codecsForVideoContainer, 'video'));\n }) || ['mp4a.40.2', 'fLaC'].some(function (codecForAudioContainer) {\n return mediaSource.isTypeSupported(mimeTypeForCodec(codecForAudioContainer, 'audio'));\n }));\n }\n function changeTypeSupported() {\n var _sourceBuffer$prototy;\n var sourceBuffer = getSourceBuffer();\n return typeof (sourceBuffer == null ? void 0 : (_sourceBuffer$prototy = sourceBuffer.prototype) == null ? void 0 : _sourceBuffer$prototy.changeType) === 'function';\n }\n\n var STALL_MINIMUM_DURATION_MS = 250;\n var MAX_START_GAP_JUMP = 2.0;\n var SKIP_BUFFER_HOLE_STEP_SECONDS = 0.1;\n var SKIP_BUFFER_RANGE_START = 0.05;\n var GapController = /*#__PURE__*/function () {\n function GapController(config, media, fragmentTracker, hls) {\n this.config = void 0;\n this.media = null;\n this.fragmentTracker = void 0;\n this.hls = void 0;\n this.nudgeRetry = 0;\n this.stallReported = false;\n this.stalled = null;\n this.moved = false;\n this.seeking = false;\n this.config = config;\n this.media = media;\n this.fragmentTracker = fragmentTracker;\n this.hls = hls;\n }\n var _proto = GapController.prototype;\n _proto.destroy = function destroy() {\n this.media = null;\n // @ts-ignore\n this.hls = this.fragmentTracker = null;\n }\n\n /**\n * Checks if the playhead is stuck within a gap, and if so, attempts to free it.\n * A gap is an unbuffered range between two buffered ranges (or the start and the first buffered range).\n *\n * @param lastCurrentTime - Previously read playhead position\n */;\n _proto.poll = function poll(lastCurrentTime, activeFrag) {\n var config = this.config,\n media = this.media,\n stalled = this.stalled;\n if (media === null) {\n return;\n }\n var currentTime = media.currentTime,\n seeking = media.seeking;\n var seeked = this.seeking && !seeking;\n var beginSeek = !this.seeking && seeking;\n this.seeking = seeking;\n\n // The playhead is moving, no-op\n if (currentTime !== lastCurrentTime) {\n this.moved = true;\n if (!seeking) {\n this.nudgeRetry = 0;\n }\n if (stalled !== null) {\n // The playhead is now moving, but was previously stalled\n if (this.stallReported) {\n var _stalledDuration = self.performance.now() - stalled;\n logger.warn(\"playback not stuck anymore @\" + currentTime + \", after \" + Math.round(_stalledDuration) + \"ms\");\n this.stallReported = false;\n }\n this.stalled = null;\n }\n return;\n }\n\n // Clear stalled state when beginning or finishing seeking so that we don't report stalls coming out of a seek\n if (beginSeek || seeked) {\n this.stalled = null;\n return;\n }\n\n // The playhead should not be moving\n if (media.paused && !seeking || media.ended || media.playbackRate === 0 || !BufferHelper.getBuffered(media).length) {\n this.nudgeRetry = 0;\n return;\n }\n var bufferInfo = BufferHelper.bufferInfo(media, currentTime, 0);\n var nextStart = bufferInfo.nextStart || 0;\n if (seeking) {\n // Waiting for seeking in a buffered range to complete\n var hasEnoughBuffer = bufferInfo.len > MAX_START_GAP_JUMP;\n // Next buffered range is too far ahead to jump to while still seeking\n var noBufferGap = !nextStart || activeFrag && activeFrag.start <= currentTime || nextStart - currentTime > MAX_START_GAP_JUMP && !this.fragmentTracker.getPartialFragment(currentTime);\n if (hasEnoughBuffer || noBufferGap) {\n return;\n }\n // Reset moved state when seeking to a point in or before a gap\n this.moved = false;\n }\n\n // Skip start gaps if we haven't played, but the last poll detected the start of a stall\n // The addition poll gives the browser a chance to jump the gap for us\n if (!this.moved && this.stalled !== null) {\n var _level$details;\n // There is no playable buffer (seeked, waiting for buffer)\n var isBuffered = bufferInfo.len > 0;\n if (!isBuffered && !nextStart) {\n return;\n }\n // Jump start gaps within jump threshold\n var startJump = Math.max(nextStart, bufferInfo.start || 0) - currentTime;\n\n // When joining a live stream with audio tracks, account for live playlist window sliding by allowing\n // a larger jump over start gaps caused by the audio-stream-controller buffering a start fragment\n // that begins over 1 target duration after the video start position.\n var level = this.hls.levels ? this.hls.levels[this.hls.currentLevel] : null;\n var isLive = level == null ? void 0 : (_level$details = level.details) == null ? void 0 : _level$details.live;\n var maxStartGapJump = isLive ? level.details.targetduration * 2 : MAX_START_GAP_JUMP;\n var partialOrGap = this.fragmentTracker.getPartialFragment(currentTime);\n if (startJump > 0 && (startJump <= maxStartGapJump || partialOrGap)) {\n if (!media.paused) {\n this._trySkipBufferHole(partialOrGap);\n }\n return;\n }\n }\n\n // Start tracking stall time\n var tnow = self.performance.now();\n if (stalled === null) {\n this.stalled = tnow;\n return;\n }\n var stalledDuration = tnow - stalled;\n if (!seeking && stalledDuration >= STALL_MINIMUM_DURATION_MS) {\n // Report stalling after trying to fix\n this._reportStall(bufferInfo);\n if (!this.media) {\n return;\n }\n }\n var bufferedWithHoles = BufferHelper.bufferInfo(media, currentTime, config.maxBufferHole);\n this._tryFixBufferStall(bufferedWithHoles, stalledDuration);\n }\n\n /**\n * Detects and attempts to fix known buffer stalling issues.\n * @param bufferInfo - The properties of the current buffer.\n * @param stalledDurationMs - The amount of time Hls.js has been stalling for.\n * @private\n */;\n _proto._tryFixBufferStall = function _tryFixBufferStall(bufferInfo, stalledDurationMs) {\n var config = this.config,\n fragmentTracker = this.fragmentTracker,\n media = this.media;\n if (media === null) {\n return;\n }\n var currentTime = media.currentTime;\n var partial = fragmentTracker.getPartialFragment(currentTime);\n if (partial) {\n // Try to skip over the buffer hole caused by a partial fragment\n // This method isn't limited by the size of the gap between buffered ranges\n var targetTime = this._trySkipBufferHole(partial);\n // we return here in this case, meaning\n // the branch below only executes when we haven't seeked to a new position\n if (targetTime || !this.media) {\n return;\n }\n }\n\n // if we haven't had to skip over a buffer hole of a partial fragment\n // we may just have to \"nudge\" the playlist as the browser decoding/rendering engine\n // needs to cross some sort of threshold covering all source-buffers content\n // to start playing properly.\n if ((bufferInfo.len > config.maxBufferHole || bufferInfo.nextStart && bufferInfo.nextStart - currentTime < config.maxBufferHole) && stalledDurationMs > config.highBufferWatchdogPeriod * 1000) {\n logger.warn('Trying to nudge playhead over buffer-hole');\n // Try to nudge currentTime over a buffer hole if we've been stalling for the configured amount of seconds\n // We only try to jump the hole if it's under the configured size\n // Reset stalled so to rearm watchdog timer\n this.stalled = null;\n this._tryNudgeBuffer();\n }\n }\n\n /**\n * Triggers a BUFFER_STALLED_ERROR event, but only once per stall period.\n * @param bufferLen - The playhead distance from the end of the current buffer segment.\n * @private\n */;\n _proto._reportStall = function _reportStall(bufferInfo) {\n var hls = this.hls,\n media = this.media,\n stallReported = this.stallReported;\n if (!stallReported && media) {\n // Report stalled error once\n this.stallReported = true;\n var error = new Error(\"Playback stalling at @\" + media.currentTime + \" due to low buffer (\" + JSON.stringify(bufferInfo) + \")\");\n logger.warn(error.message);\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_STALLED_ERROR,\n fatal: false,\n error: error,\n buffer: bufferInfo.len\n });\n }\n }\n\n /**\n * Attempts to fix buffer stalls by jumping over known gaps caused by partial fragments\n * @param partial - The partial fragment found at the current time (where playback is stalling).\n * @private\n */;\n _proto._trySkipBufferHole = function _trySkipBufferHole(partial) {\n var config = this.config,\n hls = this.hls,\n media = this.media;\n if (media === null) {\n return 0;\n }\n\n // Check if currentTime is between unbuffered regions of partial fragments\n var currentTime = media.currentTime;\n var bufferInfo = BufferHelper.bufferInfo(media, currentTime, 0);\n var startTime = currentTime < bufferInfo.start ? bufferInfo.start : bufferInfo.nextStart;\n if (startTime) {\n var bufferStarved = bufferInfo.len <= config.maxBufferHole;\n var waiting = bufferInfo.len > 0 && bufferInfo.len < 1 && media.readyState < 3;\n var gapLength = startTime - currentTime;\n if (gapLength > 0 && (bufferStarved || waiting)) {\n // Only allow large gaps to be skipped if it is a start gap, or all fragments in skip range are partial\n if (gapLength > config.maxBufferHole) {\n var fragmentTracker = this.fragmentTracker;\n var startGap = false;\n if (currentTime === 0) {\n var startFrag = fragmentTracker.getAppendedFrag(0, PlaylistLevelType.MAIN);\n if (startFrag && startTime < startFrag.end) {\n startGap = true;\n }\n }\n if (!startGap) {\n var startProvisioned = partial || fragmentTracker.getAppendedFrag(currentTime, PlaylistLevelType.MAIN);\n if (startProvisioned) {\n var moreToLoad = false;\n var pos = startProvisioned.end;\n while (pos < startTime) {\n var provisioned = fragmentTracker.getPartialFragment(pos);\n if (provisioned) {\n pos += provisioned.duration;\n } else {\n moreToLoad = true;\n break;\n }\n }\n if (moreToLoad) {\n return 0;\n }\n }\n }\n }\n var targetTime = Math.max(startTime + SKIP_BUFFER_RANGE_START, currentTime + SKIP_BUFFER_HOLE_STEP_SECONDS);\n logger.warn(\"skipping hole, adjusting currentTime from \" + currentTime + \" to \" + targetTime);\n this.moved = true;\n this.stalled = null;\n media.currentTime = targetTime;\n if (partial && !partial.gap) {\n var error = new Error(\"fragment loaded with buffer holes, seeking from \" + currentTime + \" to \" + targetTime);\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_SEEK_OVER_HOLE,\n fatal: false,\n error: error,\n reason: error.message,\n frag: partial\n });\n }\n return targetTime;\n }\n }\n return 0;\n }\n\n /**\n * Attempts to fix buffer stalls by advancing the mediaElement's current time by a small amount.\n * @private\n */;\n _proto._tryNudgeBuffer = function _tryNudgeBuffer() {\n var config = this.config,\n hls = this.hls,\n media = this.media,\n nudgeRetry = this.nudgeRetry;\n if (media === null) {\n return;\n }\n var currentTime = media.currentTime;\n this.nudgeRetry++;\n if (nudgeRetry < config.nudgeMaxRetry) {\n var targetTime = currentTime + (nudgeRetry + 1) * config.nudgeOffset;\n // playback stalled in buffered area ... let's nudge currentTime to try to overcome this\n var error = new Error(\"Nudging 'currentTime' from \" + currentTime + \" to \" + targetTime);\n logger.warn(error.message);\n media.currentTime = targetTime;\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_NUDGE_ON_STALL,\n error: error,\n fatal: false\n });\n } else {\n var _error = new Error(\"Playhead still not moving while enough data buffered @\" + currentTime + \" after \" + config.nudgeMaxRetry + \" nudges\");\n logger.error(_error.message);\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_STALLED_ERROR,\n error: _error,\n fatal: true\n });\n }\n };\n return GapController;\n }();\n\n var TICK_INTERVAL = 100; // how often to tick in ms\n var StreamController = /*#__PURE__*/function (_BaseStreamController) {\n _inheritsLoose(StreamController, _BaseStreamController);\n function StreamController(hls, fragmentTracker, keyLoader) {\n var _this;\n _this = _BaseStreamController.call(this, hls, fragmentTracker, keyLoader, '[stream-controller]', PlaylistLevelType.MAIN) || this;\n _this.audioCodecSwap = false;\n _this.gapController = null;\n _this.level = -1;\n _this._forceStartLoad = false;\n _this.altAudio = false;\n _this.audioOnly = false;\n _this.fragPlaying = null;\n _this.onvplaying = null;\n _this.onvseeked = null;\n _this.fragLastKbps = 0;\n _this.couldBacktrack = false;\n _this.backtrackFragment = null;\n _this.audioCodecSwitch = false;\n _this.videoBuffer = null;\n _this._registerListeners();\n return _this;\n }\n var _proto = StreamController.prototype;\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.FRAG_LOAD_EMERGENCY_ABORTED, this.onFragLoadEmergencyAborted, this);\n hls.on(Events.ERROR, this.onError, this);\n hls.on(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);\n hls.on(Events.AUDIO_TRACK_SWITCHED, this.onAudioTrackSwitched, this);\n hls.on(Events.BUFFER_CREATED, this.onBufferCreated, this);\n hls.on(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);\n hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.FRAG_LOAD_EMERGENCY_ABORTED, this.onFragLoadEmergencyAborted, this);\n hls.off(Events.ERROR, this.onError, this);\n hls.off(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);\n hls.off(Events.AUDIO_TRACK_SWITCHED, this.onAudioTrackSwitched, this);\n hls.off(Events.BUFFER_CREATED, this.onBufferCreated, this);\n hls.off(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);\n hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n this._unregisterListeners();\n _BaseStreamController.prototype.onHandlerDestroying.call(this);\n };\n _proto.startLoad = function startLoad(startPosition) {\n if (this.levels) {\n var lastCurrentTime = this.lastCurrentTime,\n hls = this.hls;\n this.stopLoad();\n this.setInterval(TICK_INTERVAL);\n this.level = -1;\n if (!this.startFragRequested) {\n // determine load level\n var startLevel = hls.startLevel;\n if (startLevel === -1) {\n if (hls.config.testBandwidth && this.levels.length > 1) {\n // -1 : guess start Level by doing a bitrate test by loading first fragment of lowest quality level\n startLevel = 0;\n this.bitrateTest = true;\n } else {\n startLevel = hls.firstAutoLevel;\n }\n }\n // set new level to playlist loader : this will trigger start level load\n // hls.nextLoadLevel remains until it is set to a new value or until a new frag is successfully loaded\n hls.nextLoadLevel = startLevel;\n this.level = hls.loadLevel;\n this.loadedmetadata = false;\n }\n // if startPosition undefined but lastCurrentTime set, set startPosition to last currentTime\n if (lastCurrentTime > 0 && startPosition === -1) {\n this.log(\"Override startPosition with lastCurrentTime @\" + lastCurrentTime.toFixed(3));\n startPosition = lastCurrentTime;\n }\n this.state = State.IDLE;\n this.nextLoadPosition = this.startPosition = this.lastCurrentTime = startPosition;\n this.tick();\n } else {\n this._forceStartLoad = true;\n this.state = State.STOPPED;\n }\n };\n _proto.stopLoad = function stopLoad() {\n this._forceStartLoad = false;\n _BaseStreamController.prototype.stopLoad.call(this);\n };\n _proto.doTick = function doTick() {\n switch (this.state) {\n case State.WAITING_LEVEL:\n {\n var levels = this.levels,\n level = this.level;\n var currentLevel = levels == null ? void 0 : levels[level];\n var details = currentLevel == null ? void 0 : currentLevel.details;\n if (details && (!details.live || this.levelLastLoaded === currentLevel)) {\n if (this.waitForCdnTuneIn(details)) {\n break;\n }\n this.state = State.IDLE;\n break;\n } else if (this.hls.nextLoadLevel !== this.level) {\n this.state = State.IDLE;\n break;\n }\n break;\n }\n case State.FRAG_LOADING_WAITING_RETRY:\n {\n var _this$media;\n var now = self.performance.now();\n var retryDate = this.retryDate;\n // if current time is gt than retryDate, or if media seeking let's switch to IDLE state to retry loading\n if (!retryDate || now >= retryDate || (_this$media = this.media) != null && _this$media.seeking) {\n var _levels = this.levels,\n _level = this.level;\n var _currentLevel = _levels == null ? void 0 : _levels[_level];\n this.resetStartWhenNotLoaded(_currentLevel || null);\n this.state = State.IDLE;\n }\n }\n break;\n }\n if (this.state === State.IDLE) {\n this.doTickIdle();\n }\n this.onTickEnd();\n };\n _proto.onTickEnd = function onTickEnd() {\n _BaseStreamController.prototype.onTickEnd.call(this);\n this.checkBuffer();\n this.checkFragmentChanged();\n };\n _proto.doTickIdle = function doTickIdle() {\n var hls = this.hls,\n levelLastLoaded = this.levelLastLoaded,\n levels = this.levels,\n media = this.media;\n var config = hls.config,\n level = hls.nextLoadLevel;\n\n // if start level not parsed yet OR\n // if video not attached AND start fragment already requested OR start frag prefetch not enabled\n // exit loop, as we either need more info (level not parsed) or we need media to be attached to load new fragment\n if (levelLastLoaded === null || !media && (this.startFragRequested || !config.startFragPrefetch)) {\n return;\n }\n\n // If the \"main\" level is audio-only but we are loading an alternate track in the same group, do not load anything\n if (this.altAudio && this.audioOnly) {\n return;\n }\n if (!(levels != null && levels[level])) {\n return;\n }\n var levelInfo = levels[level];\n\n // if buffer length is less than maxBufLen try to load a new fragment\n\n var bufferInfo = this.getMainFwdBufferInfo();\n if (bufferInfo === null) {\n return;\n }\n var lastDetails = this.getLevelDetails();\n if (lastDetails && this._streamEnded(bufferInfo, lastDetails)) {\n var data = {};\n if (this.altAudio) {\n data.type = 'video';\n }\n this.hls.trigger(Events.BUFFER_EOS, data);\n this.state = State.ENDED;\n return;\n }\n\n // set next load level : this will trigger a playlist load if needed\n if (hls.loadLevel !== level && hls.manualLevel === -1) {\n this.log(\"Adapting to level \" + level + \" from level \" + this.level);\n }\n this.level = hls.nextLoadLevel = level;\n var levelDetails = levelInfo.details;\n // if level info not retrieved yet, switch state and wait for level retrieval\n // if live playlist, ensure that new playlist has been refreshed to avoid loading/try to load\n // a useless and outdated fragment (that might even introduce load error if it is already out of the live playlist)\n if (!levelDetails || this.state === State.WAITING_LEVEL || levelDetails.live && this.levelLastLoaded !== levelInfo) {\n this.level = level;\n this.state = State.WAITING_LEVEL;\n return;\n }\n var bufferLen = bufferInfo.len;\n\n // compute max Buffer Length that we could get from this load level, based on level bitrate. don't buffer more than 60 MB and more than 30s\n var maxBufLen = this.getMaxBufferLength(levelInfo.maxBitrate);\n\n // Stay idle if we are still with buffer margins\n if (bufferLen >= maxBufLen) {\n return;\n }\n if (this.backtrackFragment && this.backtrackFragment.start > bufferInfo.end) {\n this.backtrackFragment = null;\n }\n var targetBufferTime = this.backtrackFragment ? this.backtrackFragment.start : bufferInfo.end;\n var frag = this.getNextFragment(targetBufferTime, levelDetails);\n // Avoid backtracking by loading an earlier segment in streams with segments that do not start with a key frame (flagged by `couldBacktrack`)\n if (this.couldBacktrack && !this.fragPrevious && frag && frag.sn !== 'initSegment' && this.fragmentTracker.getState(frag) !== FragmentState.OK) {\n var _this$backtrackFragme;\n var backtrackSn = ((_this$backtrackFragme = this.backtrackFragment) != null ? _this$backtrackFragme : frag).sn;\n var fragIdx = backtrackSn - levelDetails.startSN;\n var backtrackFrag = levelDetails.fragments[fragIdx - 1];\n if (backtrackFrag && frag.cc === backtrackFrag.cc) {\n frag = backtrackFrag;\n this.fragmentTracker.removeFragment(backtrackFrag);\n }\n } else if (this.backtrackFragment && bufferInfo.len) {\n this.backtrackFragment = null;\n }\n // Avoid loop loading by using nextLoadPosition set for backtracking and skipping consecutive GAP tags\n if (frag && this.isLoopLoading(frag, targetBufferTime)) {\n var gapStart = frag.gap;\n if (!gapStart) {\n // Cleanup the fragment tracker before trying to find the next unbuffered fragment\n var type = this.audioOnly && !this.altAudio ? ElementaryStreamTypes.AUDIO : ElementaryStreamTypes.VIDEO;\n var mediaBuffer = (type === ElementaryStreamTypes.VIDEO ? this.videoBuffer : this.mediaBuffer) || this.media;\n if (mediaBuffer) {\n this.afterBufferFlushed(mediaBuffer, type, PlaylistLevelType.MAIN);\n }\n }\n frag = this.getNextFragmentLoopLoading(frag, levelDetails, bufferInfo, PlaylistLevelType.MAIN, maxBufLen);\n }\n if (!frag) {\n return;\n }\n if (frag.initSegment && !frag.initSegment.data && !this.bitrateTest) {\n frag = frag.initSegment;\n }\n this.loadFragment(frag, levelInfo, targetBufferTime);\n };\n _proto.loadFragment = function loadFragment(frag, level, targetBufferTime) {\n // Check if fragment is not loaded\n var fragState = this.fragmentTracker.getState(frag);\n this.fragCurrent = frag;\n if (fragState === FragmentState.NOT_LOADED || fragState === FragmentState.PARTIAL) {\n if (frag.sn === 'initSegment') {\n this._loadInitSegment(frag, level);\n } else if (this.bitrateTest) {\n this.log(\"Fragment \" + frag.sn + \" of level \" + frag.level + \" is being downloaded to test bitrate and will not be buffered\");\n this._loadBitrateTestFrag(frag, level);\n } else {\n this.startFragRequested = true;\n _BaseStreamController.prototype.loadFragment.call(this, frag, level, targetBufferTime);\n }\n } else {\n this.clearTrackerIfNeeded(frag);\n }\n };\n _proto.getBufferedFrag = function getBufferedFrag(position) {\n return this.fragmentTracker.getBufferedFrag(position, PlaylistLevelType.MAIN);\n };\n _proto.followingBufferedFrag = function followingBufferedFrag(frag) {\n if (frag) {\n // try to get range of next fragment (500ms after this range)\n return this.getBufferedFrag(frag.end + 0.5);\n }\n return null;\n }\n\n /*\n on immediate level switch :\n - pause playback if playing\n - cancel any pending load request\n - and trigger a buffer flush\n */;\n _proto.immediateLevelSwitch = function immediateLevelSwitch() {\n this.abortCurrentFrag();\n this.flushMainBuffer(0, Number.POSITIVE_INFINITY);\n }\n\n /**\n * try to switch ASAP without breaking video playback:\n * in order to ensure smooth but quick level switching,\n * we need to find the next flushable buffer range\n * we should take into account new segment fetch time\n */;\n _proto.nextLevelSwitch = function nextLevelSwitch() {\n var levels = this.levels,\n media = this.media;\n // ensure that media is defined and that metadata are available (to retrieve currentTime)\n if (media != null && media.readyState) {\n var fetchdelay;\n var fragPlayingCurrent = this.getAppendedFrag(media.currentTime);\n if (fragPlayingCurrent && fragPlayingCurrent.start > 1) {\n // flush buffer preceding current fragment (flush until current fragment start offset)\n // minus 1s to avoid video freezing, that could happen if we flush keyframe of current video ...\n this.flushMainBuffer(0, fragPlayingCurrent.start - 1);\n }\n var levelDetails = this.getLevelDetails();\n if (levelDetails != null && levelDetails.live) {\n var bufferInfo = this.getMainFwdBufferInfo();\n // Do not flush in live stream with low buffer\n if (!bufferInfo || bufferInfo.len < levelDetails.targetduration * 2) {\n return;\n }\n }\n if (!media.paused && levels) {\n // add a safety delay of 1s\n var nextLevelId = this.hls.nextLoadLevel;\n var nextLevel = levels[nextLevelId];\n var fragLastKbps = this.fragLastKbps;\n if (fragLastKbps && this.fragCurrent) {\n fetchdelay = this.fragCurrent.duration * nextLevel.maxBitrate / (1000 * fragLastKbps) + 1;\n } else {\n fetchdelay = 0;\n }\n } else {\n fetchdelay = 0;\n }\n // this.log('fetchdelay:'+fetchdelay);\n // find buffer range that will be reached once new fragment will be fetched\n var bufferedFrag = this.getBufferedFrag(media.currentTime + fetchdelay);\n if (bufferedFrag) {\n // we can flush buffer range following this one without stalling playback\n var nextBufferedFrag = this.followingBufferedFrag(bufferedFrag);\n if (nextBufferedFrag) {\n // if we are here, we can also cancel any loading/demuxing in progress, as they are useless\n this.abortCurrentFrag();\n // start flush position is in next buffered frag. Leave some padding for non-independent segments and smoother playback.\n var maxStart = nextBufferedFrag.maxStartPTS ? nextBufferedFrag.maxStartPTS : nextBufferedFrag.start;\n var fragDuration = nextBufferedFrag.duration;\n var startPts = Math.max(bufferedFrag.end, maxStart + Math.min(Math.max(fragDuration - this.config.maxFragLookUpTolerance, fragDuration * (this.couldBacktrack ? 0.5 : 0.125)), fragDuration * (this.couldBacktrack ? 0.75 : 0.25)));\n this.flushMainBuffer(startPts, Number.POSITIVE_INFINITY);\n }\n }\n }\n };\n _proto.abortCurrentFrag = function abortCurrentFrag() {\n var fragCurrent = this.fragCurrent;\n this.fragCurrent = null;\n this.backtrackFragment = null;\n if (fragCurrent) {\n fragCurrent.abortRequests();\n this.fragmentTracker.removeFragment(fragCurrent);\n }\n switch (this.state) {\n case State.KEY_LOADING:\n case State.FRAG_LOADING:\n case State.FRAG_LOADING_WAITING_RETRY:\n case State.PARSING:\n case State.PARSED:\n this.state = State.IDLE;\n break;\n }\n this.nextLoadPosition = this.getLoadPosition();\n };\n _proto.flushMainBuffer = function flushMainBuffer(startOffset, endOffset) {\n _BaseStreamController.prototype.flushMainBuffer.call(this, startOffset, endOffset, this.altAudio ? 'video' : null);\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n _BaseStreamController.prototype.onMediaAttached.call(this, event, data);\n var media = data.media;\n this.onvplaying = this.onMediaPlaying.bind(this);\n this.onvseeked = this.onMediaSeeked.bind(this);\n media.addEventListener('playing', this.onvplaying);\n media.addEventListener('seeked', this.onvseeked);\n this.gapController = new GapController(this.config, media, this.fragmentTracker, this.hls);\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n var media = this.media;\n if (media && this.onvplaying && this.onvseeked) {\n media.removeEventListener('playing', this.onvplaying);\n media.removeEventListener('seeked', this.onvseeked);\n this.onvplaying = this.onvseeked = null;\n this.videoBuffer = null;\n }\n this.fragPlaying = null;\n if (this.gapController) {\n this.gapController.destroy();\n this.gapController = null;\n }\n _BaseStreamController.prototype.onMediaDetaching.call(this);\n };\n _proto.onMediaPlaying = function onMediaPlaying() {\n // tick to speed up FRAG_CHANGED triggering\n this.tick();\n };\n _proto.onMediaSeeked = function onMediaSeeked() {\n var media = this.media;\n var currentTime = media ? media.currentTime : null;\n if (isFiniteNumber(currentTime)) {\n this.log(\"Media seeked to \" + currentTime.toFixed(3));\n }\n\n // If seeked was issued before buffer was appended do not tick immediately\n var bufferInfo = this.getMainFwdBufferInfo();\n if (bufferInfo === null || bufferInfo.len === 0) {\n this.warn(\"Main forward buffer length on \\\"seeked\\\" event \" + (bufferInfo ? bufferInfo.len : 'empty') + \")\");\n return;\n }\n\n // tick to speed up FRAG_CHANGED triggering\n this.tick();\n };\n _proto.onManifestLoading = function onManifestLoading() {\n // reset buffer on manifest loading\n this.log('Trigger BUFFER_RESET');\n this.hls.trigger(Events.BUFFER_RESET, undefined);\n this.fragmentTracker.removeAllFragments();\n this.couldBacktrack = false;\n this.startPosition = this.lastCurrentTime = this.fragLastKbps = 0;\n this.levels = this.fragPlaying = this.backtrackFragment = this.levelLastLoaded = null;\n this.altAudio = this.audioOnly = this.startFragRequested = false;\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n // detect if we have different kind of audio codecs used amongst playlists\n var aac = false;\n var heaac = false;\n data.levels.forEach(function (level) {\n var codec = level.audioCodec;\n if (codec) {\n aac = aac || codec.indexOf('mp4a.40.2') !== -1;\n heaac = heaac || codec.indexOf('mp4a.40.5') !== -1;\n }\n });\n this.audioCodecSwitch = aac && heaac && !changeTypeSupported();\n if (this.audioCodecSwitch) {\n this.log('Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC');\n }\n this.levels = data.levels;\n this.startFragRequested = false;\n };\n _proto.onLevelLoading = function onLevelLoading(event, data) {\n var levels = this.levels;\n if (!levels || this.state !== State.IDLE) {\n return;\n }\n var level = levels[data.level];\n if (!level.details || level.details.live && this.levelLastLoaded !== level || this.waitForCdnTuneIn(level.details)) {\n this.state = State.WAITING_LEVEL;\n }\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n var _curLevel$details;\n var levels = this.levels;\n var newLevelId = data.level;\n var newDetails = data.details;\n var duration = newDetails.totalduration;\n if (!levels) {\n this.warn(\"Levels were reset while loading level \" + newLevelId);\n return;\n }\n this.log(\"Level \" + newLevelId + \" loaded [\" + newDetails.startSN + \",\" + newDetails.endSN + \"]\" + (newDetails.lastPartSn ? \"[part-\" + newDetails.lastPartSn + \"-\" + newDetails.lastPartIndex + \"]\" : '') + \", cc [\" + newDetails.startCC + \", \" + newDetails.endCC + \"] duration:\" + duration);\n var curLevel = levels[newLevelId];\n var fragCurrent = this.fragCurrent;\n if (fragCurrent && (this.state === State.FRAG_LOADING || this.state === State.FRAG_LOADING_WAITING_RETRY)) {\n if (fragCurrent.level !== data.level && fragCurrent.loader) {\n this.abortCurrentFrag();\n }\n }\n var sliding = 0;\n if (newDetails.live || (_curLevel$details = curLevel.details) != null && _curLevel$details.live) {\n var _this$levelLastLoaded;\n this.checkLiveUpdate(newDetails);\n if (newDetails.deltaUpdateFailed) {\n return;\n }\n sliding = this.alignPlaylists(newDetails, curLevel.details, (_this$levelLastLoaded = this.levelLastLoaded) == null ? void 0 : _this$levelLastLoaded.details);\n }\n // override level info\n curLevel.details = newDetails;\n this.levelLastLoaded = curLevel;\n this.hls.trigger(Events.LEVEL_UPDATED, {\n details: newDetails,\n level: newLevelId\n });\n\n // only switch back to IDLE state if we were waiting for level to start downloading a new fragment\n if (this.state === State.WAITING_LEVEL) {\n if (this.waitForCdnTuneIn(newDetails)) {\n // Wait for Low-Latency CDN Tune-in\n return;\n }\n this.state = State.IDLE;\n }\n if (!this.startFragRequested) {\n this.setStartPosition(newDetails, sliding);\n } else if (newDetails.live) {\n this.synchronizeToLiveEdge(newDetails);\n }\n\n // trigger handler right now\n this.tick();\n };\n _proto._handleFragmentLoadProgress = function _handleFragmentLoadProgress(data) {\n var _frag$initSegment;\n var frag = data.frag,\n part = data.part,\n payload = data.payload;\n var levels = this.levels;\n if (!levels) {\n this.warn(\"Levels were reset while fragment load was in progress. Fragment \" + frag.sn + \" of level \" + frag.level + \" will not be buffered\");\n return;\n }\n var currentLevel = levels[frag.level];\n var details = currentLevel.details;\n if (!details) {\n this.warn(\"Dropping fragment \" + frag.sn + \" of level \" + frag.level + \" after level details were reset\");\n this.fragmentTracker.removeFragment(frag);\n return;\n }\n var videoCodec = currentLevel.videoCodec;\n\n // time Offset is accurate if level PTS is known, or if playlist is not sliding (not live)\n var accurateTimeOffset = details.PTSKnown || !details.live;\n var initSegmentData = (_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.data;\n var audioCodec = this._getAudioCodec(currentLevel);\n\n // transmux the MPEG-TS data to ISO-BMFF segments\n // this.log(`Transmuxing ${frag.sn} of [${details.startSN} ,${details.endSN}],level ${frag.level}, cc ${frag.cc}`);\n var transmuxer = this.transmuxer = this.transmuxer || new TransmuxerInterface(this.hls, PlaylistLevelType.MAIN, this._handleTransmuxComplete.bind(this), this._handleTransmuxerFlush.bind(this));\n var partIndex = part ? part.index : -1;\n var partial = partIndex !== -1;\n var chunkMeta = new ChunkMetadata(frag.level, frag.sn, frag.stats.chunkCount, payload.byteLength, partIndex, partial);\n var initPTS = this.initPTS[frag.cc];\n transmuxer.push(payload, initSegmentData, audioCodec, videoCodec, frag, part, details.totalduration, accurateTimeOffset, chunkMeta, initPTS);\n };\n _proto.onAudioTrackSwitching = function onAudioTrackSwitching(event, data) {\n // if any URL found on new audio track, it is an alternate audio track\n var fromAltAudio = this.altAudio;\n var altAudio = !!data.url;\n // if we switch on main audio, ensure that main fragment scheduling is synced with media.buffered\n // don't do anything if we switch to alt audio: audio stream controller is handling it.\n // we will just have to change buffer scheduling on audioTrackSwitched\n if (!altAudio) {\n if (this.mediaBuffer !== this.media) {\n this.log('Switching on main audio, use media.buffered to schedule main fragment loading');\n this.mediaBuffer = this.media;\n var fragCurrent = this.fragCurrent;\n // we need to refill audio buffer from main: cancel any frag loading to speed up audio switch\n if (fragCurrent) {\n this.log('Switching to main audio track, cancel main fragment load');\n fragCurrent.abortRequests();\n this.fragmentTracker.removeFragment(fragCurrent);\n }\n // destroy transmuxer to force init segment generation (following audio switch)\n this.resetTransmuxer();\n // switch to IDLE state to load new fragment\n this.resetLoadingState();\n } else if (this.audioOnly) {\n // Reset audio transmuxer so when switching back to main audio we're not still appending where we left off\n this.resetTransmuxer();\n }\n var hls = this.hls;\n // If switching from alt to main audio, flush all audio and trigger track switched\n if (fromAltAudio) {\n hls.trigger(Events.BUFFER_FLUSHING, {\n startOffset: 0,\n endOffset: Number.POSITIVE_INFINITY,\n type: null\n });\n this.fragmentTracker.removeAllFragments();\n }\n hls.trigger(Events.AUDIO_TRACK_SWITCHED, data);\n }\n };\n _proto.onAudioTrackSwitched = function onAudioTrackSwitched(event, data) {\n var trackId = data.id;\n var altAudio = !!this.hls.audioTracks[trackId].url;\n if (altAudio) {\n var videoBuffer = this.videoBuffer;\n // if we switched on alternate audio, ensure that main fragment scheduling is synced with video sourcebuffer buffered\n if (videoBuffer && this.mediaBuffer !== videoBuffer) {\n this.log('Switching on alternate audio, use video.buffered to schedule main fragment loading');\n this.mediaBuffer = videoBuffer;\n }\n }\n this.altAudio = altAudio;\n this.tick();\n };\n _proto.onBufferCreated = function onBufferCreated(event, data) {\n var tracks = data.tracks;\n var mediaTrack;\n var name;\n var alternate = false;\n for (var type in tracks) {\n var track = tracks[type];\n if (track.id === 'main') {\n name = type;\n mediaTrack = track;\n // keep video source buffer reference\n if (type === 'video') {\n var videoTrack = tracks[type];\n if (videoTrack) {\n this.videoBuffer = videoTrack.buffer;\n }\n }\n } else {\n alternate = true;\n }\n }\n if (alternate && mediaTrack) {\n this.log(\"Alternate track found, use \" + name + \".buffered to schedule main fragment loading\");\n this.mediaBuffer = mediaTrack.buffer;\n } else {\n this.mediaBuffer = this.media;\n }\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n var frag = data.frag,\n part = data.part;\n if (frag && frag.type !== PlaylistLevelType.MAIN) {\n return;\n }\n if (this.fragContextChanged(frag)) {\n // If a level switch was requested while a fragment was buffering, it will emit the FRAG_BUFFERED event upon completion\n // Avoid setting state back to IDLE, since that will interfere with a level switch\n this.warn(\"Fragment \" + frag.sn + (part ? ' p: ' + part.index : '') + \" of level \" + frag.level + \" finished buffering, but was aborted. state: \" + this.state);\n if (this.state === State.PARSED) {\n this.state = State.IDLE;\n }\n return;\n }\n var stats = part ? part.stats : frag.stats;\n this.fragLastKbps = Math.round(8 * stats.total / (stats.buffering.end - stats.loading.first));\n if (frag.sn !== 'initSegment') {\n this.fragPrevious = frag;\n }\n this.fragBufferedComplete(frag, part);\n };\n _proto.onError = function onError(event, data) {\n var _data$context;\n if (data.fatal) {\n this.state = State.ERROR;\n return;\n }\n switch (data.details) {\n case ErrorDetails.FRAG_GAP:\n case ErrorDetails.FRAG_PARSING_ERROR:\n case ErrorDetails.FRAG_DECRYPT_ERROR:\n case ErrorDetails.FRAG_LOAD_ERROR:\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n case ErrorDetails.KEY_LOAD_ERROR:\n case ErrorDetails.KEY_LOAD_TIMEOUT:\n this.onFragmentOrKeyLoadError(PlaylistLevelType.MAIN, data);\n break;\n case ErrorDetails.LEVEL_LOAD_ERROR:\n case ErrorDetails.LEVEL_LOAD_TIMEOUT:\n case ErrorDetails.LEVEL_PARSING_ERROR:\n // in case of non fatal error while loading level, if level controller is not retrying to load level, switch back to IDLE\n if (!data.levelRetry && this.state === State.WAITING_LEVEL && ((_data$context = data.context) == null ? void 0 : _data$context.type) === PlaylistContextType.LEVEL) {\n this.state = State.IDLE;\n }\n break;\n case ErrorDetails.BUFFER_APPEND_ERROR:\n case ErrorDetails.BUFFER_FULL_ERROR:\n if (!data.parent || data.parent !== 'main') {\n return;\n }\n if (data.details === ErrorDetails.BUFFER_APPEND_ERROR) {\n this.resetLoadingState();\n return;\n }\n if (this.reduceLengthAndFlushBuffer(data)) {\n this.flushMainBuffer(0, Number.POSITIVE_INFINITY);\n }\n break;\n case ErrorDetails.INTERNAL_EXCEPTION:\n this.recoverWorkerError(data);\n break;\n }\n }\n\n // Checks the health of the buffer and attempts to resolve playback stalls.\n ;\n _proto.checkBuffer = function checkBuffer() {\n var media = this.media,\n gapController = this.gapController;\n if (!media || !gapController || !media.readyState) {\n // Exit early if we don't have media or if the media hasn't buffered anything yet (readyState 0)\n return;\n }\n if (this.loadedmetadata || !BufferHelper.getBuffered(media).length) {\n // Resolve gaps using the main buffer, whose ranges are the intersections of the A/V sourcebuffers\n var activeFrag = this.state !== State.IDLE ? this.fragCurrent : null;\n gapController.poll(this.lastCurrentTime, activeFrag);\n }\n this.lastCurrentTime = media.currentTime;\n };\n _proto.onFragLoadEmergencyAborted = function onFragLoadEmergencyAborted() {\n this.state = State.IDLE;\n // if loadedmetadata is not set, it means that we are emergency switch down on first frag\n // in that case, reset startFragRequested flag\n if (!this.loadedmetadata) {\n this.startFragRequested = false;\n this.nextLoadPosition = this.startPosition;\n }\n this.tickImmediate();\n };\n _proto.onBufferFlushed = function onBufferFlushed(event, _ref) {\n var type = _ref.type;\n if (type !== ElementaryStreamTypes.AUDIO || this.audioOnly && !this.altAudio) {\n var mediaBuffer = (type === ElementaryStreamTypes.VIDEO ? this.videoBuffer : this.mediaBuffer) || this.media;\n this.afterBufferFlushed(mediaBuffer, type, PlaylistLevelType.MAIN);\n this.tick();\n }\n };\n _proto.onLevelsUpdated = function onLevelsUpdated(event, data) {\n if (this.level > -1 && this.fragCurrent) {\n this.level = this.fragCurrent.level;\n }\n this.levels = data.levels;\n };\n _proto.swapAudioCodec = function swapAudioCodec() {\n this.audioCodecSwap = !this.audioCodecSwap;\n }\n\n /**\n * Seeks to the set startPosition if not equal to the mediaElement's current time.\n */;\n _proto.seekToStartPos = function seekToStartPos() {\n var media = this.media;\n if (!media) {\n return;\n }\n var currentTime = media.currentTime;\n var startPosition = this.startPosition;\n // only adjust currentTime if different from startPosition or if startPosition not buffered\n // at that stage, there should be only one buffered range, as we reach that code after first fragment has been buffered\n if (startPosition >= 0 && currentTime < startPosition) {\n if (media.seeking) {\n this.log(\"could not seek to \" + startPosition + \", already seeking at \" + currentTime);\n return;\n }\n var buffered = BufferHelper.getBuffered(media);\n var bufferStart = buffered.length ? buffered.start(0) : 0;\n var delta = bufferStart - startPosition;\n if (delta > 0 && (delta < this.config.maxBufferHole || delta < this.config.maxFragLookUpTolerance)) {\n this.log(\"adjusting start position by \" + delta + \" to match buffer start\");\n startPosition += delta;\n this.startPosition = startPosition;\n }\n this.log(\"seek to target start position \" + startPosition + \" from current time \" + currentTime);\n media.currentTime = startPosition;\n }\n };\n _proto._getAudioCodec = function _getAudioCodec(currentLevel) {\n var audioCodec = this.config.defaultAudioCodec || currentLevel.audioCodec;\n if (this.audioCodecSwap && audioCodec) {\n this.log('Swapping audio codec');\n if (audioCodec.indexOf('mp4a.40.5') !== -1) {\n audioCodec = 'mp4a.40.2';\n } else {\n audioCodec = 'mp4a.40.5';\n }\n }\n return audioCodec;\n };\n _proto._loadBitrateTestFrag = function _loadBitrateTestFrag(frag, level) {\n var _this2 = this;\n frag.bitrateTest = true;\n this._doFragLoad(frag, level).then(function (data) {\n var hls = _this2.hls;\n if (!data || _this2.fragContextChanged(frag)) {\n return;\n }\n level.fragmentError = 0;\n _this2.state = State.IDLE;\n _this2.startFragRequested = false;\n _this2.bitrateTest = false;\n var stats = frag.stats;\n // Bitrate tests fragments are neither parsed nor buffered\n stats.parsing.start = stats.parsing.end = stats.buffering.start = stats.buffering.end = self.performance.now();\n hls.trigger(Events.FRAG_LOADED, data);\n frag.bitrateTest = false;\n });\n };\n _proto._handleTransmuxComplete = function _handleTransmuxComplete(transmuxResult) {\n var _id3$samples;\n var id = 'main';\n var hls = this.hls;\n var remuxResult = transmuxResult.remuxResult,\n chunkMeta = transmuxResult.chunkMeta;\n var context = this.getCurrentContext(chunkMeta);\n if (!context) {\n this.resetWhenMissingContext(chunkMeta);\n return;\n }\n var frag = context.frag,\n part = context.part,\n level = context.level;\n var video = remuxResult.video,\n text = remuxResult.text,\n id3 = remuxResult.id3,\n initSegment = remuxResult.initSegment;\n var details = level.details;\n // The audio-stream-controller handles audio buffering if Hls.js is playing an alternate audio track\n var audio = this.altAudio ? undefined : remuxResult.audio;\n\n // Check if the current fragment has been aborted. We check this by first seeing if we're still playing the current level.\n // If we are, subsequently check if the currently loading fragment (fragCurrent) has changed.\n if (this.fragContextChanged(frag)) {\n this.fragmentTracker.removeFragment(frag);\n return;\n }\n this.state = State.PARSING;\n if (initSegment) {\n if (initSegment != null && initSegment.tracks) {\n var mapFragment = frag.initSegment || frag;\n this._bufferInitSegment(level, initSegment.tracks, mapFragment, chunkMeta);\n hls.trigger(Events.FRAG_PARSING_INIT_SEGMENT, {\n frag: mapFragment,\n id: id,\n tracks: initSegment.tracks\n });\n }\n\n // This would be nice if Number.isFinite acted as a typeguard, but it doesn't. See: https://github.com/Microsoft/TypeScript/issues/10038\n var initPTS = initSegment.initPTS;\n var timescale = initSegment.timescale;\n if (isFiniteNumber(initPTS)) {\n this.initPTS[frag.cc] = {\n baseTime: initPTS,\n timescale: timescale\n };\n hls.trigger(Events.INIT_PTS_FOUND, {\n frag: frag,\n id: id,\n initPTS: initPTS,\n timescale: timescale\n });\n }\n }\n\n // Avoid buffering if backtracking this fragment\n if (video && details && frag.sn !== 'initSegment') {\n var prevFrag = details.fragments[frag.sn - 1 - details.startSN];\n var isFirstFragment = frag.sn === details.startSN;\n var isFirstInDiscontinuity = !prevFrag || frag.cc > prevFrag.cc;\n if (remuxResult.independent !== false) {\n var startPTS = video.startPTS,\n endPTS = video.endPTS,\n startDTS = video.startDTS,\n endDTS = video.endDTS;\n if (part) {\n part.elementaryStreams[video.type] = {\n startPTS: startPTS,\n endPTS: endPTS,\n startDTS: startDTS,\n endDTS: endDTS\n };\n } else {\n if (video.firstKeyFrame && video.independent && chunkMeta.id === 1 && !isFirstInDiscontinuity) {\n this.couldBacktrack = true;\n }\n if (video.dropped && video.independent) {\n // Backtrack if dropped frames create a gap after currentTime\n\n var bufferInfo = this.getMainFwdBufferInfo();\n var targetBufferTime = (bufferInfo ? bufferInfo.end : this.getLoadPosition()) + this.config.maxBufferHole;\n var startTime = video.firstKeyFramePTS ? video.firstKeyFramePTS : startPTS;\n if (!isFirstFragment && targetBufferTime < startTime - this.config.maxBufferHole && !isFirstInDiscontinuity) {\n this.backtrack(frag);\n return;\n } else if (isFirstInDiscontinuity) {\n // Mark segment with a gap to avoid loop loading\n frag.gap = true;\n }\n // Set video stream start to fragment start so that truncated samples do not distort the timeline, and mark it partial\n frag.setElementaryStreamInfo(video.type, frag.start, endPTS, frag.start, endDTS, true);\n } else if (isFirstFragment && startPTS > MAX_START_GAP_JUMP) {\n // Mark segment with a gap to skip large start gap\n frag.gap = true;\n }\n }\n frag.setElementaryStreamInfo(video.type, startPTS, endPTS, startDTS, endDTS);\n if (this.backtrackFragment) {\n this.backtrackFragment = frag;\n }\n this.bufferFragmentData(video, frag, part, chunkMeta, isFirstFragment || isFirstInDiscontinuity);\n } else if (isFirstFragment || isFirstInDiscontinuity) {\n // Mark segment with a gap to avoid loop loading\n frag.gap = true;\n } else {\n this.backtrack(frag);\n return;\n }\n }\n if (audio) {\n var _startPTS = audio.startPTS,\n _endPTS = audio.endPTS,\n _startDTS = audio.startDTS,\n _endDTS = audio.endDTS;\n if (part) {\n part.elementaryStreams[ElementaryStreamTypes.AUDIO] = {\n startPTS: _startPTS,\n endPTS: _endPTS,\n startDTS: _startDTS,\n endDTS: _endDTS\n };\n }\n frag.setElementaryStreamInfo(ElementaryStreamTypes.AUDIO, _startPTS, _endPTS, _startDTS, _endDTS);\n this.bufferFragmentData(audio, frag, part, chunkMeta);\n }\n if (details && id3 != null && (_id3$samples = id3.samples) != null && _id3$samples.length) {\n var emittedID3 = {\n id: id,\n frag: frag,\n details: details,\n samples: id3.samples\n };\n hls.trigger(Events.FRAG_PARSING_METADATA, emittedID3);\n }\n if (details && text) {\n var emittedText = {\n id: id,\n frag: frag,\n details: details,\n samples: text.samples\n };\n hls.trigger(Events.FRAG_PARSING_USERDATA, emittedText);\n }\n };\n _proto._bufferInitSegment = function _bufferInitSegment(currentLevel, tracks, frag, chunkMeta) {\n var _this3 = this;\n if (this.state !== State.PARSING) {\n return;\n }\n this.audioOnly = !!tracks.audio && !tracks.video;\n\n // if audio track is expected to come from audio stream controller, discard any coming from main\n if (this.altAudio && !this.audioOnly) {\n delete tracks.audio;\n }\n // include levelCodec in audio and video tracks\n var audio = tracks.audio,\n video = tracks.video,\n audiovideo = tracks.audiovideo;\n if (audio) {\n var audioCodec = currentLevel.audioCodec;\n var ua = navigator.userAgent.toLowerCase();\n if (this.audioCodecSwitch) {\n if (audioCodec) {\n if (audioCodec.indexOf('mp4a.40.5') !== -1) {\n audioCodec = 'mp4a.40.2';\n } else {\n audioCodec = 'mp4a.40.5';\n }\n }\n // In the case that AAC and HE-AAC audio codecs are signalled in manifest,\n // force HE-AAC, as it seems that most browsers prefers it.\n // don't force HE-AAC if mono stream, or in Firefox\n if (audio.metadata.channelCount !== 1 && ua.indexOf('firefox') === -1) {\n audioCodec = 'mp4a.40.5';\n }\n }\n // HE-AAC is broken on Android, always signal audio codec as AAC even if variant manifest states otherwise\n if (audioCodec && audioCodec.indexOf('mp4a.40.5') !== -1 && ua.indexOf('android') !== -1 && audio.container !== 'audio/mpeg') {\n // Exclude mpeg audio\n audioCodec = 'mp4a.40.2';\n this.log(\"Android: force audio codec to \" + audioCodec);\n }\n if (currentLevel.audioCodec && currentLevel.audioCodec !== audioCodec) {\n this.log(\"Swapping manifest audio codec \\\"\" + currentLevel.audioCodec + \"\\\" for \\\"\" + audioCodec + \"\\\"\");\n }\n audio.levelCodec = audioCodec;\n audio.id = 'main';\n this.log(\"Init audio buffer, container:\" + audio.container + \", codecs[selected/level/parsed]=[\" + (audioCodec || '') + \"/\" + (currentLevel.audioCodec || '') + \"/\" + audio.codec + \"]\");\n }\n if (video) {\n video.levelCodec = currentLevel.videoCodec;\n video.id = 'main';\n this.log(\"Init video buffer, container:\" + video.container + \", codecs[level/parsed]=[\" + (currentLevel.videoCodec || '') + \"/\" + video.codec + \"]\");\n }\n if (audiovideo) {\n this.log(\"Init audiovideo buffer, container:\" + audiovideo.container + \", codecs[level/parsed]=[\" + currentLevel.codecs + \"/\" + audiovideo.codec + \"]\");\n }\n this.hls.trigger(Events.BUFFER_CODECS, tracks);\n // loop through tracks that are going to be provided to bufferController\n Object.keys(tracks).forEach(function (trackName) {\n var track = tracks[trackName];\n var initSegment = track.initSegment;\n if (initSegment != null && initSegment.byteLength) {\n _this3.hls.trigger(Events.BUFFER_APPENDING, {\n type: trackName,\n data: initSegment,\n frag: frag,\n part: null,\n chunkMeta: chunkMeta,\n parent: frag.type\n });\n }\n });\n // trigger handler right now\n this.tickImmediate();\n };\n _proto.getMainFwdBufferInfo = function getMainFwdBufferInfo() {\n return this.getFwdBufferInfo(this.mediaBuffer ? this.mediaBuffer : this.media, PlaylistLevelType.MAIN);\n };\n _proto.backtrack = function backtrack(frag) {\n this.couldBacktrack = true;\n // Causes findFragments to backtrack through fragments to find the keyframe\n this.backtrackFragment = frag;\n this.resetTransmuxer();\n this.flushBufferGap(frag);\n this.fragmentTracker.removeFragment(frag);\n this.fragPrevious = null;\n this.nextLoadPosition = frag.start;\n this.state = State.IDLE;\n };\n _proto.checkFragmentChanged = function checkFragmentChanged() {\n var video = this.media;\n var fragPlayingCurrent = null;\n if (video && video.readyState > 1 && video.seeking === false) {\n var currentTime = video.currentTime;\n /* if video element is in seeked state, currentTime can only increase.\n (assuming that playback rate is positive ...)\n As sometimes currentTime jumps back to zero after a\n media decode error, check this, to avoid seeking back to\n wrong position after a media decode error\n */\n\n if (BufferHelper.isBuffered(video, currentTime)) {\n fragPlayingCurrent = this.getAppendedFrag(currentTime);\n } else if (BufferHelper.isBuffered(video, currentTime + 0.1)) {\n /* ensure that FRAG_CHANGED event is triggered at startup,\n when first video frame is displayed and playback is paused.\n add a tolerance of 100ms, in case current position is not buffered,\n check if current pos+100ms is buffered and use that buffer range\n for FRAG_CHANGED event reporting */\n fragPlayingCurrent = this.getAppendedFrag(currentTime + 0.1);\n }\n if (fragPlayingCurrent) {\n this.backtrackFragment = null;\n var fragPlaying = this.fragPlaying;\n var fragCurrentLevel = fragPlayingCurrent.level;\n if (!fragPlaying || fragPlayingCurrent.sn !== fragPlaying.sn || fragPlaying.level !== fragCurrentLevel) {\n this.fragPlaying = fragPlayingCurrent;\n this.hls.trigger(Events.FRAG_CHANGED, {\n frag: fragPlayingCurrent\n });\n if (!fragPlaying || fragPlaying.level !== fragCurrentLevel) {\n this.hls.trigger(Events.LEVEL_SWITCHED, {\n level: fragCurrentLevel\n });\n }\n }\n }\n }\n };\n _createClass(StreamController, [{\n key: \"nextLevel\",\n get: function get() {\n var frag = this.nextBufferedFrag;\n if (frag) {\n return frag.level;\n }\n return -1;\n }\n }, {\n key: \"currentFrag\",\n get: function get() {\n var media = this.media;\n if (media) {\n return this.fragPlaying || this.getAppendedFrag(media.currentTime);\n }\n return null;\n }\n }, {\n key: \"currentProgramDateTime\",\n get: function get() {\n var media = this.media;\n if (media) {\n var currentTime = media.currentTime;\n var frag = this.currentFrag;\n if (frag && isFiniteNumber(currentTime) && isFiniteNumber(frag.programDateTime)) {\n var epocMs = frag.programDateTime + (currentTime - frag.start) * 1000;\n return new Date(epocMs);\n }\n }\n return null;\n }\n }, {\n key: \"currentLevel\",\n get: function get() {\n var frag = this.currentFrag;\n if (frag) {\n return frag.level;\n }\n return -1;\n }\n }, {\n key: \"nextBufferedFrag\",\n get: function get() {\n var frag = this.currentFrag;\n if (frag) {\n return this.followingBufferedFrag(frag);\n }\n return null;\n }\n }, {\n key: \"forceStartLoad\",\n get: function get() {\n return this._forceStartLoad;\n }\n }]);\n return StreamController;\n }(BaseStreamController);\n\n /**\n * The `Hls` class is the core of the HLS.js library used to instantiate player instances.\n * @public\n */\n var Hls = /*#__PURE__*/function () {\n /**\n * Check if the required MediaSource Extensions are available.\n */\n Hls.isMSESupported = function isMSESupported$1() {\n return isMSESupported();\n }\n\n /**\n * Check if MediaSource Extensions are available and isTypeSupported checks pass for any baseline codecs.\n */;\n Hls.isSupported = function isSupported$1() {\n return isSupported();\n }\n\n /**\n * Get the MediaSource global used for MSE playback (ManagedMediaSource, MediaSource, or WebKitMediaSource).\n */;\n Hls.getMediaSource = function getMediaSource$1() {\n return getMediaSource();\n };\n /**\n * Creates an instance of an HLS client that can attach to exactly one `HTMLMediaElement`.\n * @param userConfig - Configuration options applied over `Hls.DefaultConfig`\n */\n function Hls(userConfig) {\n if (userConfig === void 0) {\n userConfig = {};\n }\n /**\n * The runtime configuration used by the player. At instantiation this is combination of `hls.userConfig` merged over `Hls.DefaultConfig`.\n */\n this.config = void 0;\n /**\n * The configuration object provided on player instantiation.\n */\n this.userConfig = void 0;\n this.coreComponents = void 0;\n this.networkControllers = void 0;\n this.started = false;\n this._emitter = new EventEmitter();\n this._autoLevelCapping = -1;\n this._maxHdcpLevel = null;\n this.abrController = void 0;\n this.bufferController = void 0;\n this.capLevelController = void 0;\n this.latencyController = void 0;\n this.levelController = void 0;\n this.streamController = void 0;\n this.audioTrackController = void 0;\n this.subtitleTrackController = void 0;\n this.emeController = void 0;\n this.cmcdController = void 0;\n this._media = null;\n this.url = null;\n this.triggeringException = void 0;\n enableLogs(userConfig.debug || false, 'Hls instance');\n var config = this.config = mergeConfig(Hls.DefaultConfig, userConfig);\n this.userConfig = userConfig;\n if (config.progressive) {\n enableStreamingMode(config);\n }\n\n // core controllers and network loaders\n var ConfigAbrController = config.abrController,\n ConfigBufferController = config.bufferController,\n ConfigCapLevelController = config.capLevelController,\n ConfigErrorController = config.errorController,\n ConfigFpsController = config.fpsController;\n var errorController = new ConfigErrorController(this);\n var abrController = this.abrController = new ConfigAbrController(this);\n var bufferController = this.bufferController = new ConfigBufferController(this);\n var capLevelController = this.capLevelController = new ConfigCapLevelController(this);\n var fpsController = new ConfigFpsController(this);\n var playListLoader = new PlaylistLoader(this);\n var id3TrackController = new ID3TrackController(this);\n var ConfigContentSteeringController = config.contentSteeringController;\n // ConentSteeringController is defined before LevelController to receive Multivariant Playlist events first\n var contentSteering = ConfigContentSteeringController ? new ConfigContentSteeringController(this) : null;\n var levelController = this.levelController = new LevelController(this, contentSteering);\n // FragmentTracker must be defined before StreamController because the order of event handling is important\n var fragmentTracker = new FragmentTracker(this);\n var keyLoader = new KeyLoader(this.config);\n var streamController = this.streamController = new StreamController(this, fragmentTracker, keyLoader);\n\n // Cap level controller uses streamController to flush the buffer\n capLevelController.setStreamController(streamController);\n // fpsController uses streamController to switch when frames are being dropped\n fpsController.setStreamController(streamController);\n var networkControllers = [playListLoader, levelController, streamController];\n if (contentSteering) {\n networkControllers.splice(1, 0, contentSteering);\n }\n this.networkControllers = networkControllers;\n var coreComponents = [abrController, bufferController, capLevelController, fpsController, id3TrackController, fragmentTracker];\n this.audioTrackController = this.createController(config.audioTrackController, networkControllers);\n var AudioStreamControllerClass = config.audioStreamController;\n if (AudioStreamControllerClass) {\n networkControllers.push(new AudioStreamControllerClass(this, fragmentTracker, keyLoader));\n }\n // subtitleTrackController must be defined before subtitleStreamController because the order of event handling is important\n this.subtitleTrackController = this.createController(config.subtitleTrackController, networkControllers);\n var SubtitleStreamControllerClass = config.subtitleStreamController;\n if (SubtitleStreamControllerClass) {\n networkControllers.push(new SubtitleStreamControllerClass(this, fragmentTracker, keyLoader));\n }\n this.createController(config.timelineController, coreComponents);\n keyLoader.emeController = this.emeController = this.createController(config.emeController, coreComponents);\n this.cmcdController = this.createController(config.cmcdController, coreComponents);\n this.latencyController = this.createController(LatencyController, coreComponents);\n this.coreComponents = coreComponents;\n\n // Error controller handles errors before and after all other controllers\n // This listener will be invoked after all other controllers error listeners\n networkControllers.push(errorController);\n var onErrorOut = errorController.onErrorOut;\n if (typeof onErrorOut === 'function') {\n this.on(Events.ERROR, onErrorOut, errorController);\n }\n }\n var _proto = Hls.prototype;\n _proto.createController = function createController(ControllerClass, components) {\n if (ControllerClass) {\n var controllerInstance = new ControllerClass(this);\n if (components) {\n components.push(controllerInstance);\n }\n return controllerInstance;\n }\n return null;\n }\n\n // Delegate the EventEmitter through the public API of Hls.js\n ;\n _proto.on = function on(event, listener, context) {\n if (context === void 0) {\n context = this;\n }\n this._emitter.on(event, listener, context);\n };\n _proto.once = function once(event, listener, context) {\n if (context === void 0) {\n context = this;\n }\n this._emitter.once(event, listener, context);\n };\n _proto.removeAllListeners = function removeAllListeners(event) {\n this._emitter.removeAllListeners(event);\n };\n _proto.off = function off(event, listener, context, once) {\n if (context === void 0) {\n context = this;\n }\n this._emitter.off(event, listener, context, once);\n };\n _proto.listeners = function listeners(event) {\n return this._emitter.listeners(event);\n };\n _proto.emit = function emit(event, name, eventObject) {\n return this._emitter.emit(event, name, eventObject);\n };\n _proto.trigger = function trigger(event, eventObject) {\n if (this.config.debug) {\n return this.emit(event, event, eventObject);\n } else {\n try {\n return this.emit(event, event, eventObject);\n } catch (error) {\n logger.error('An internal error happened while handling event ' + event + '. Error message: \"' + error.message + '\". Here is a stacktrace:', error);\n // Prevent recursion in error event handlers that throw #5497\n if (!this.triggeringException) {\n this.triggeringException = true;\n var fatal = event === Events.ERROR;\n this.trigger(Events.ERROR, {\n type: ErrorTypes.OTHER_ERROR,\n details: ErrorDetails.INTERNAL_EXCEPTION,\n fatal: fatal,\n event: event,\n error: error\n });\n this.triggeringException = false;\n }\n }\n }\n return false;\n };\n _proto.listenerCount = function listenerCount(event) {\n return this._emitter.listenerCount(event);\n }\n\n /**\n * Dispose of the instance\n */;\n _proto.destroy = function destroy() {\n logger.log('destroy');\n this.trigger(Events.DESTROYING, undefined);\n this.detachMedia();\n this.removeAllListeners();\n this._autoLevelCapping = -1;\n this.url = null;\n this.networkControllers.forEach(function (component) {\n return component.destroy();\n });\n this.networkControllers.length = 0;\n this.coreComponents.forEach(function (component) {\n return component.destroy();\n });\n this.coreComponents.length = 0;\n // Remove any references that could be held in config options or callbacks\n var config = this.config;\n config.xhrSetup = config.fetchSetup = undefined;\n // @ts-ignore\n this.userConfig = null;\n }\n\n /**\n * Attaches Hls.js to a media element\n */;\n _proto.attachMedia = function attachMedia(media) {\n logger.log('attachMedia');\n this._media = media;\n this.trigger(Events.MEDIA_ATTACHING, {\n media: media\n });\n }\n\n /**\n * Detach Hls.js from the media\n */;\n _proto.detachMedia = function detachMedia() {\n logger.log('detachMedia');\n this.trigger(Events.MEDIA_DETACHING, undefined);\n this._media = null;\n }\n\n /**\n * Set the source URL. Can be relative or absolute.\n */;\n _proto.loadSource = function loadSource(url) {\n this.stopLoad();\n var media = this.media;\n var loadedSource = this.url;\n var loadingSource = this.url = urlToolkitExports.buildAbsoluteURL(self.location.href, url, {\n alwaysNormalize: true\n });\n this._autoLevelCapping = -1;\n this._maxHdcpLevel = null;\n logger.log(\"loadSource:\" + loadingSource);\n if (media && loadedSource && (loadedSource !== loadingSource || this.bufferController.hasSourceTypes())) {\n this.detachMedia();\n this.attachMedia(media);\n }\n // when attaching to a source URL, trigger a playlist load\n this.trigger(Events.MANIFEST_LOADING, {\n url: url\n });\n }\n\n /**\n * Start loading data from the stream source.\n * Depending on default config, client starts loading automatically when a source is set.\n *\n * @param startPosition - Set the start position to stream from.\n * Defaults to -1 (None: starts from earliest point)\n */;\n _proto.startLoad = function startLoad(startPosition) {\n if (startPosition === void 0) {\n startPosition = -1;\n }\n logger.log(\"startLoad(\" + startPosition + \")\");\n this.started = true;\n this.networkControllers.forEach(function (controller) {\n controller.startLoad(startPosition);\n });\n }\n\n /**\n * Stop loading of any stream data.\n */;\n _proto.stopLoad = function stopLoad() {\n logger.log('stopLoad');\n this.started = false;\n this.networkControllers.forEach(function (controller) {\n controller.stopLoad();\n });\n }\n\n /**\n * Resumes stream controller segment loading if previously started.\n */;\n _proto.resumeBuffering = function resumeBuffering() {\n if (this.started) {\n this.networkControllers.forEach(function (controller) {\n if ('fragmentLoader' in controller) {\n controller.startLoad(-1);\n }\n });\n }\n }\n\n /**\n * Stops stream controller segment loading without changing 'started' state like stopLoad().\n * This allows for media buffering to be paused without interupting playlist loading.\n */;\n _proto.pauseBuffering = function pauseBuffering() {\n this.networkControllers.forEach(function (controller) {\n if ('fragmentLoader' in controller) {\n controller.stopLoad();\n }\n });\n }\n\n /**\n * Swap through possible audio codecs in the stream (for example to switch from stereo to 5.1)\n */;\n _proto.swapAudioCodec = function swapAudioCodec() {\n logger.log('swapAudioCodec');\n this.streamController.swapAudioCodec();\n }\n\n /**\n * When the media-element fails, this allows to detach and then re-attach it\n * as one call (convenience method).\n *\n * Automatic recovery of media-errors by this process is configurable.\n */;\n _proto.recoverMediaError = function recoverMediaError() {\n logger.log('recoverMediaError');\n var media = this._media;\n this.detachMedia();\n if (media) {\n this.attachMedia(media);\n }\n };\n _proto.removeLevel = function removeLevel(levelIndex) {\n this.levelController.removeLevel(levelIndex);\n }\n\n /**\n * @returns an array of levels (variants) sorted by HDCP-LEVEL, RESOLUTION (height), FRAME-RATE, CODECS, VIDEO-RANGE, and BANDWIDTH\n */;\n /**\n * Find and select the best matching audio track, making a level switch when a Group change is necessary.\n * Updates `hls.config.audioPreference`. Returns the selected track, or null when no matching track is found.\n */\n _proto.setAudioOption = function setAudioOption(audioOption) {\n var _this$audioTrackContr;\n return (_this$audioTrackContr = this.audioTrackController) == null ? void 0 : _this$audioTrackContr.setAudioOption(audioOption);\n }\n /**\n * Find and select the best matching subtitle track, making a level switch when a Group change is necessary.\n * Updates `hls.config.subtitlePreference`. Returns the selected track, or null when no matching track is found.\n */;\n _proto.setSubtitleOption = function setSubtitleOption(subtitleOption) {\n var _this$subtitleTrackCo;\n (_this$subtitleTrackCo = this.subtitleTrackController) == null ? void 0 : _this$subtitleTrackCo.setSubtitleOption(subtitleOption);\n return null;\n }\n\n /**\n * Get the complete list of audio tracks across all media groups\n */;\n _createClass(Hls, [{\n key: \"levels\",\n get: function get() {\n var levels = this.levelController.levels;\n return levels ? levels : [];\n }\n\n /**\n * Index of quality level (variant) currently played\n */\n }, {\n key: \"currentLevel\",\n get: function get() {\n return this.streamController.currentLevel;\n }\n\n /**\n * Set quality level index immediately. This will flush the current buffer to replace the quality asap. That means playback will interrupt at least shortly to re-buffer and re-sync eventually. Set to -1 for automatic level selection.\n */,\n set: function set(newLevel) {\n logger.log(\"set currentLevel:\" + newLevel);\n this.levelController.manualLevel = newLevel;\n this.streamController.immediateLevelSwitch();\n }\n\n /**\n * Index of next quality level loaded as scheduled by stream controller.\n */\n }, {\n key: \"nextLevel\",\n get: function get() {\n return this.streamController.nextLevel;\n }\n\n /**\n * Set quality level index for next loaded data.\n * This will switch the video quality asap, without interrupting playback.\n * May abort current loading of data, and flush parts of buffer (outside currently played fragment region).\n * @param newLevel - Pass -1 for automatic level selection\n */,\n set: function set(newLevel) {\n logger.log(\"set nextLevel:\" + newLevel);\n this.levelController.manualLevel = newLevel;\n this.streamController.nextLevelSwitch();\n }\n\n /**\n * Return the quality level of the currently or last (of none is loaded currently) segment\n */\n }, {\n key: \"loadLevel\",\n get: function get() {\n return this.levelController.level;\n }\n\n /**\n * Set quality level index for next loaded data in a conservative way.\n * This will switch the quality without flushing, but interrupt current loading.\n * Thus the moment when the quality switch will appear in effect will only be after the already existing buffer.\n * @param newLevel - Pass -1 for automatic level selection\n */,\n set: function set(newLevel) {\n logger.log(\"set loadLevel:\" + newLevel);\n this.levelController.manualLevel = newLevel;\n }\n\n /**\n * get next quality level loaded\n */\n }, {\n key: \"nextLoadLevel\",\n get: function get() {\n return this.levelController.nextLoadLevel;\n }\n\n /**\n * Set quality level of next loaded segment in a fully \"non-destructive\" way.\n * Same as `loadLevel` but will wait for next switch (until current loading is done).\n */,\n set: function set(level) {\n this.levelController.nextLoadLevel = level;\n }\n\n /**\n * Return \"first level\": like a default level, if not set,\n * falls back to index of first level referenced in manifest\n */\n }, {\n key: \"firstLevel\",\n get: function get() {\n return Math.max(this.levelController.firstLevel, this.minAutoLevel);\n }\n\n /**\n * Sets \"first-level\", see getter.\n */,\n set: function set(newLevel) {\n logger.log(\"set firstLevel:\" + newLevel);\n this.levelController.firstLevel = newLevel;\n }\n\n /**\n * Return the desired start level for the first fragment that will be loaded.\n * The default value of -1 indicates automatic start level selection.\n * Setting hls.nextAutoLevel without setting a startLevel will result in\n * the nextAutoLevel value being used for one fragment load.\n */\n }, {\n key: \"startLevel\",\n get: function get() {\n var startLevel = this.levelController.startLevel;\n if (startLevel === -1 && this.abrController.forcedAutoLevel > -1) {\n return this.abrController.forcedAutoLevel;\n }\n return startLevel;\n }\n\n /**\n * set start level (level of first fragment that will be played back)\n * if not overrided by user, first level appearing in manifest will be used as start level\n * if -1 : automatic start level selection, playback will start from level matching download bandwidth\n * (determined from download of first segment)\n */,\n set: function set(newLevel) {\n logger.log(\"set startLevel:\" + newLevel);\n // if not in automatic start level detection, ensure startLevel is greater than minAutoLevel\n if (newLevel !== -1) {\n newLevel = Math.max(newLevel, this.minAutoLevel);\n }\n this.levelController.startLevel = newLevel;\n }\n\n /**\n * Whether level capping is enabled.\n * Default value is set via `config.capLevelToPlayerSize`.\n */\n }, {\n key: \"capLevelToPlayerSize\",\n get: function get() {\n return this.config.capLevelToPlayerSize;\n }\n\n /**\n * Enables or disables level capping. If disabled after previously enabled, `nextLevelSwitch` will be immediately called.\n */,\n set: function set(shouldStartCapping) {\n var newCapLevelToPlayerSize = !!shouldStartCapping;\n if (newCapLevelToPlayerSize !== this.config.capLevelToPlayerSize) {\n if (newCapLevelToPlayerSize) {\n this.capLevelController.startCapping(); // If capping occurs, nextLevelSwitch will happen based on size.\n } else {\n this.capLevelController.stopCapping();\n this.autoLevelCapping = -1;\n this.streamController.nextLevelSwitch(); // Now we're uncapped, get the next level asap.\n }\n this.config.capLevelToPlayerSize = newCapLevelToPlayerSize;\n }\n }\n\n /**\n * Capping/max level value that should be used by automatic level selection algorithm (`ABRController`)\n */\n }, {\n key: \"autoLevelCapping\",\n get: function get() {\n return this._autoLevelCapping;\n }\n\n /**\n * Returns the current bandwidth estimate in bits per second, when available. Otherwise, `NaN` is returned.\n */,\n set:\n /**\n * Capping/max level value that should be used by automatic level selection algorithm (`ABRController`)\n */\n function set(newLevel) {\n if (this._autoLevelCapping !== newLevel) {\n logger.log(\"set autoLevelCapping:\" + newLevel);\n this._autoLevelCapping = newLevel;\n this.levelController.checkMaxAutoUpdated();\n }\n }\n }, {\n key: \"bandwidthEstimate\",\n get: function get() {\n var bwEstimator = this.abrController.bwEstimator;\n if (!bwEstimator) {\n return NaN;\n }\n return bwEstimator.getEstimate();\n },\n set: function set(abrEwmaDefaultEstimate) {\n this.abrController.resetEstimator(abrEwmaDefaultEstimate);\n }\n\n /**\n * get time to first byte estimate\n * @type {number}\n */\n }, {\n key: \"ttfbEstimate\",\n get: function get() {\n var bwEstimator = this.abrController.bwEstimator;\n if (!bwEstimator) {\n return NaN;\n }\n return bwEstimator.getEstimateTTFB();\n }\n }, {\n key: \"maxHdcpLevel\",\n get: function get() {\n return this._maxHdcpLevel;\n },\n set: function set(value) {\n if (isHdcpLevel(value) && this._maxHdcpLevel !== value) {\n this._maxHdcpLevel = value;\n this.levelController.checkMaxAutoUpdated();\n }\n }\n\n /**\n * True when automatic level selection enabled\n */\n }, {\n key: \"autoLevelEnabled\",\n get: function get() {\n return this.levelController.manualLevel === -1;\n }\n\n /**\n * Level set manually (if any)\n */\n }, {\n key: \"manualLevel\",\n get: function get() {\n return this.levelController.manualLevel;\n }\n\n /**\n * min level selectable in auto mode according to config.minAutoBitrate\n */\n }, {\n key: \"minAutoLevel\",\n get: function get() {\n var levels = this.levels,\n minAutoBitrate = this.config.minAutoBitrate;\n if (!levels) return 0;\n var len = levels.length;\n for (var i = 0; i < len; i++) {\n if (levels[i].maxBitrate >= minAutoBitrate) {\n return i;\n }\n }\n return 0;\n }\n\n /**\n * max level selectable in auto mode according to autoLevelCapping\n */\n }, {\n key: \"maxAutoLevel\",\n get: function get() {\n var levels = this.levels,\n autoLevelCapping = this.autoLevelCapping,\n maxHdcpLevel = this.maxHdcpLevel;\n var maxAutoLevel;\n if (autoLevelCapping === -1 && levels != null && levels.length) {\n maxAutoLevel = levels.length - 1;\n } else {\n maxAutoLevel = autoLevelCapping;\n }\n if (maxHdcpLevel) {\n for (var i = maxAutoLevel; i--;) {\n var hdcpLevel = levels[i].attrs['HDCP-LEVEL'];\n if (hdcpLevel && hdcpLevel <= maxHdcpLevel) {\n return i;\n }\n }\n }\n return maxAutoLevel;\n }\n }, {\n key: \"firstAutoLevel\",\n get: function get() {\n return this.abrController.firstAutoLevel;\n }\n\n /**\n * next automatically selected quality level\n */\n }, {\n key: \"nextAutoLevel\",\n get: function get() {\n return this.abrController.nextAutoLevel;\n }\n\n /**\n * this setter is used to force next auto level.\n * this is useful to force a switch down in auto mode:\n * in case of load error on level N, hls.js can set nextAutoLevel to N-1 for example)\n * forced value is valid for one fragment. upon successful frag loading at forced level,\n * this value will be resetted to -1 by ABR controller.\n */,\n set: function set(nextLevel) {\n this.abrController.nextAutoLevel = nextLevel;\n }\n\n /**\n * get the datetime value relative to media.currentTime for the active level Program Date Time if present\n */\n }, {\n key: \"playingDate\",\n get: function get() {\n return this.streamController.currentProgramDateTime;\n }\n }, {\n key: \"mainForwardBufferInfo\",\n get: function get() {\n return this.streamController.getMainFwdBufferInfo();\n }\n }, {\n key: \"allAudioTracks\",\n get: function get() {\n var audioTrackController = this.audioTrackController;\n return audioTrackController ? audioTrackController.allAudioTracks : [];\n }\n\n /**\n * Get the list of selectable audio tracks\n */\n }, {\n key: \"audioTracks\",\n get: function get() {\n var audioTrackController = this.audioTrackController;\n return audioTrackController ? audioTrackController.audioTracks : [];\n }\n\n /**\n * index of the selected audio track (index in audio track lists)\n */\n }, {\n key: \"audioTrack\",\n get: function get() {\n var audioTrackController = this.audioTrackController;\n return audioTrackController ? audioTrackController.audioTrack : -1;\n }\n\n /**\n * selects an audio track, based on its index in audio track lists\n */,\n set: function set(audioTrackId) {\n var audioTrackController = this.audioTrackController;\n if (audioTrackController) {\n audioTrackController.audioTrack = audioTrackId;\n }\n }\n\n /**\n * get the complete list of subtitle tracks across all media groups\n */\n }, {\n key: \"allSubtitleTracks\",\n get: function get() {\n var subtitleTrackController = this.subtitleTrackController;\n return subtitleTrackController ? subtitleTrackController.allSubtitleTracks : [];\n }\n\n /**\n * get alternate subtitle tracks list from playlist\n */\n }, {\n key: \"subtitleTracks\",\n get: function get() {\n var subtitleTrackController = this.subtitleTrackController;\n return subtitleTrackController ? subtitleTrackController.subtitleTracks : [];\n }\n\n /**\n * index of the selected subtitle track (index in subtitle track lists)\n */\n }, {\n key: \"subtitleTrack\",\n get: function get() {\n var subtitleTrackController = this.subtitleTrackController;\n return subtitleTrackController ? subtitleTrackController.subtitleTrack : -1;\n },\n set:\n /**\n * select an subtitle track, based on its index in subtitle track lists\n */\n function set(subtitleTrackId) {\n var subtitleTrackController = this.subtitleTrackController;\n if (subtitleTrackController) {\n subtitleTrackController.subtitleTrack = subtitleTrackId;\n }\n }\n\n /**\n * Whether subtitle display is enabled or not\n */\n }, {\n key: \"media\",\n get: function get() {\n return this._media;\n }\n }, {\n key: \"subtitleDisplay\",\n get: function get() {\n var subtitleTrackController = this.subtitleTrackController;\n return subtitleTrackController ? subtitleTrackController.subtitleDisplay : false;\n }\n\n /**\n * Enable/disable subtitle display rendering\n */,\n set: function set(value) {\n var subtitleTrackController = this.subtitleTrackController;\n if (subtitleTrackController) {\n subtitleTrackController.subtitleDisplay = value;\n }\n }\n\n /**\n * get mode for Low-Latency HLS loading\n */\n }, {\n key: \"lowLatencyMode\",\n get: function get() {\n return this.config.lowLatencyMode;\n }\n\n /**\n * Enable/disable Low-Latency HLS part playlist and segment loading, and start live streams at playlist PART-HOLD-BACK rather than HOLD-BACK.\n */,\n set: function set(mode) {\n this.config.lowLatencyMode = mode;\n }\n\n /**\n * Position (in seconds) of live sync point (ie edge of live position minus safety delay defined by ```hls.config.liveSyncDuration```)\n * @returns null prior to loading live Playlist\n */\n }, {\n key: \"liveSyncPosition\",\n get: function get() {\n return this.latencyController.liveSyncPosition;\n }\n\n /**\n * Estimated position (in seconds) of live edge (ie edge of live playlist plus time sync playlist advanced)\n * @returns 0 before first playlist is loaded\n */\n }, {\n key: \"latency\",\n get: function get() {\n return this.latencyController.latency;\n }\n\n /**\n * maximum distance from the edge before the player seeks forward to ```hls.liveSyncPosition```\n * configured using ```liveMaxLatencyDurationCount``` (multiple of target duration) or ```liveMaxLatencyDuration```\n * @returns 0 before first playlist is loaded\n */\n }, {\n key: \"maxLatency\",\n get: function get() {\n return this.latencyController.maxLatency;\n }\n\n /**\n * target distance from the edge as calculated by the latency controller\n */\n }, {\n key: \"targetLatency\",\n get: function get() {\n return this.latencyController.targetLatency;\n }\n\n /**\n * the rate at which the edge of the current live playlist is advancing or 1 if there is none\n */\n }, {\n key: \"drift\",\n get: function get() {\n return this.latencyController.drift;\n }\n\n /**\n * set to true when startLoad is called before MANIFEST_PARSED event\n */\n }, {\n key: \"forceStartLoad\",\n get: function get() {\n return this.streamController.forceStartLoad;\n }\n }], [{\n key: \"version\",\n get:\n /**\n * Get the video-dev/hls.js package version.\n */\n function get() {\n return \"1.5.5-0.canary.9893\";\n }\n }, {\n key: \"Events\",\n get: function get() {\n return Events;\n }\n }, {\n key: \"ErrorTypes\",\n get: function get() {\n return ErrorTypes;\n }\n }, {\n key: \"ErrorDetails\",\n get: function get() {\n return ErrorDetails;\n }\n\n /**\n * Get the default configuration applied to new instances.\n */\n }, {\n key: \"DefaultConfig\",\n get: function get() {\n if (!Hls.defaultConfig) {\n return hlsDefaultConfig;\n }\n return Hls.defaultConfig;\n }\n\n /**\n * Replace the default configuration applied to new instances.\n */,\n set: function set(defaultConfig) {\n Hls.defaultConfig = defaultConfig;\n }\n }]);\n return Hls;\n }();\n Hls.defaultConfig = void 0;\n\n return Hls;\n\n}));\n})(false);\n//# sourceMappingURL=hls.js.map\n","'use strict';\n\nconst isString = obj => typeof obj === 'string';\nconst defer = () => {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n};\nconst makeString = object => {\n if (object == null) return '';\n return '' + object;\n};\nconst copy = (a, s, t) => {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n};\nconst lastOfPathSeparatorRegExp = /###/g;\nconst cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key;\nconst canNotTraverseDeeper = object => !object || isString(object);\nconst getLastOfPath = (object, path, Empty) => {\n const stack = !isString(path) ? path : path.split('.');\n let stackIndex = 0;\n while (stackIndex < stack.length - 1) {\n if (canNotTraverseDeeper(object)) return {};\n const key = cleanKey(stack[stackIndex]);\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n ++stackIndex;\n }\n if (canNotTraverseDeeper(object)) return {};\n return {\n obj: object,\n k: cleanKey(stack[stackIndex])\n };\n};\nconst setPath = (object, path, newValue) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n if (obj !== undefined || path.length === 1) {\n obj[k] = newValue;\n return;\n }\n let e = path[path.length - 1];\n let p = path.slice(0, path.length - 1);\n let last = getLastOfPath(object, p, Object);\n while (last.obj === undefined && p.length) {\n e = `${p[p.length - 1]}.${e}`;\n p = p.slice(0, p.length - 1);\n last = getLastOfPath(object, p, Object);\n if (last?.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') {\n last.obj = undefined;\n }\n }\n last.obj[`${last.k}.${e}`] = newValue;\n};\nconst pushPath = (object, path, newValue, concat) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n obj[k].push(newValue);\n};\nconst getPath = (object, path) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n return obj[k];\n};\nconst getPathWithDefaults = (data, defaultData, key) => {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n};\nconst deepExtend = (target, source, overwrite) => {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n};\nconst regexEscape = str => str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nconst escape = data => {\n if (isString(data)) {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n};\nclass RegExpCache {\n constructor(capacity) {\n this.capacity = capacity;\n this.regExpMap = new Map();\n this.regExpQueue = [];\n }\n getRegExp(pattern) {\n const regExpFromCache = this.regExpMap.get(pattern);\n if (regExpFromCache !== undefined) {\n return regExpFromCache;\n }\n const regExpNew = new RegExp(pattern);\n if (this.regExpQueue.length === this.capacity) {\n this.regExpMap.delete(this.regExpQueue.shift());\n }\n this.regExpMap.set(pattern, regExpNew);\n this.regExpQueue.push(pattern);\n return regExpNew;\n }\n}\nconst chars = [' ', ',', '?', '!', ';'];\nconst looksLikeObjectPathRegExpCache = new RegExpCache(20);\nconst looksLikeObjectPath = (key, nsSeparator, keySeparator) => {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n};\nconst deepFind = function (obj, path) {\n let keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n const tokens = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < tokens.length;) {\n if (!current || typeof current !== 'object') {\n return undefined;\n }\n let next;\n let nextPath = '';\n for (let j = i; j < tokens.length; ++j) {\n if (j !== i) {\n nextPath += keySeparator;\n }\n nextPath += tokens[j];\n next = current[nextPath];\n if (next !== undefined) {\n if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) {\n continue;\n }\n i += j - i + 1;\n break;\n }\n }\n current = next;\n }\n return current;\n};\nconst getCleanedCode = code => code?.replace('_', '-');\n\nconst consoleLogger = {\n type: 'logger',\n log(args) {\n this.output('log', args);\n },\n warn(args) {\n this.output('warn', args);\n },\n error(args) {\n this.output('error', args);\n },\n output(type, args) {\n console?.[type]?.apply?.(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.init(concreteLogger, options);\n }\n init(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n if (!this.observers[event]) this.observers[event] = new Map();\n const numListeners = this.observers[event].get(listener) || 0;\n this.observers[event].set(listener, numListeners + 1);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event].delete(listener);\n }\n emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n const cloned = Array.from(this.observers[event].entries());\n cloned.forEach(_ref => {\n let [observer, numTimesAdded] = _ref;\n for (let i = 0; i < numTimesAdded; i++) {\n observer(...args);\n }\n });\n }\n if (this.observers['*']) {\n const cloned = Array.from(this.observers['*'].entries());\n cloned.forEach(_ref2 => {\n let [observer, numTimesAdded] = _ref2;\n for (let i = 0; i < numTimesAdded; i++) {\n observer.apply(observer, [event, ...args]);\n }\n });\n }\n }\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path;\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n } else {\n path = [lng, ns];\n if (key) {\n if (Array.isArray(key)) {\n path.push(...key);\n } else if (isString(key) && keySeparator) {\n path.push(...key.split(keySeparator));\n } else {\n path.push(key);\n }\n }\n }\n const result = getPath(this.data, path);\n if (!result && !ns && !key && lng.indexOf('.') > -1) {\n lng = path[0];\n ns = path[1];\n key = path.slice(2).join('.');\n }\n if (result || !ignoreJSONStructure || !isString(key)) return result;\n return deepFind(this.data?.[lng]?.[ns], key, keySeparator);\n }\n addResource(lng, ns, key, value) {\n let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (const m in resources) {\n if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false,\n skipCopy: false\n };\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources));\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n value = this.processors[processor]?.process(value, key, options, translator) ?? value;\n });\n return value;\n }\n};\n\nconst checkedLoadedFor = {};\nclass Translator extends EventEmitter {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n const resolved = this.resolve(key, options);\n return resolved?.res !== undefined;\n }\n extractFromKey(key, options) {\n let nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let namespaces = options.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n translate(keys, options, lastKey) {\n if (typeof options !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof options === 'object') options = {\n ...options\n };\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], options);\n const namespace = namespaces[namespaces.length - 1];\n const lng = options.lng || this.language;\n const appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng?.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n const nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(options)\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(options)\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, options);\n let res = resolved?.res;\n const resUsedKey = resolved?.usedKey || key;\n const resExactUsedKey = resolved?.exactUsedKey || key;\n const resType = Object.prototype.toString.apply(res);\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const handleAsObject = !isString(res) && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(res))) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, {\n ...options,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n resolved.usedParams = this.getUsedParamsDetails(options);\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = Array.isArray(res);\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n copy[m] = this.translate(deepKey, {\n ...options,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n const needsPluralHandling = options.count !== undefined && !isString(options.count);\n const hasDefaultValue = Translator.hasDefaultValue(options);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n const defaultValueSuffixOrdinalFallback = options.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, {\n ordinal: false\n }) : '';\n const needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0;\n const defaultValue = needsZeroSuffixLookup && options[`defaultValue${this.options.pluralSeparator}zero`] || options[`defaultValue${defaultValueSuffix}`] || options[`defaultValue${defaultValueSuffixOrdinalFallback}`] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...options,\n keySeparator: false\n });\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (this.backendConnector?.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n const suffixes = this.pluralResolver.getSuffixes(language, options);\n if (needsZeroSuffixLookup && options[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) {\n suffixes.push(`${this.options.pluralSeparator}zero`);\n }\n suffixes.forEach(suffix => {\n send([language], key + suffix, options[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = `${namespace}:${key}`;\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}:${key}` : key, usedDefault ? res : undefined);\n }\n }\n if (returnDetails) {\n resolved.res = res;\n resolved.usedParams = this.getUsedParamsDetails(options);\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, options, resolved, lastKey) {\n var _this = this;\n if (this.i18nFormat?.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...options\n }, options.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init({\n ...options,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...options.interpolation\n }\n }\n });\n const skipOnVariables = isString(res) && (options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = options.replace && !isString(options.replace) ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, options.lng || this.language || resolved.usedLng, options);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && resolved && resolved.res) options.lng = this.language || resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey?.[0] === args[0] && !options.context) {\n _this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return _this.translate(...args, key);\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n const postProcess = options.postProcess || this.options.postProcess;\n const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames?.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: {\n ...resolved,\n usedParams: this.getUsedParamsDetails(options)\n },\n ...options\n } : options, this);\n }\n return res;\n }\n resolve(keys) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (isString(keys)) keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, options);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = options.count !== undefined && !isString(options.count);\n const needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0;\n const needsContextHandling = options.context !== undefined && (isString(options.context) || typeof options.context === 'number') && options.context !== '';\n const codes = options.lngs ? options.lngs : this.languageUtils.toResolveHierarchy(options.lng || this.language, options.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat?.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, options.count, options);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator}${options.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat?.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n getUsedParamsDetails() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation'];\n const useOptionsReplaceForData = options.replace && !isString(options.replace);\n let data = useOptionsReplaceForData ? options.replace : options;\n if (useOptionsReplaceForData && typeof options.count !== 'undefined') {\n data.count = options.count;\n }\n if (this.options.interpolation.defaultVariables) {\n data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n }\n if (!useOptionsReplaceForData) {\n data = {\n ...data\n };\n for (const key of optionsKeys) {\n delete data[key];\n }\n }\n return data;\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (isString(code) && code.indexOf('-') > -1) {\n let formattedCode;\n try {\n formattedCode = Intl.getCanonicalLocales(code)[0];\n } catch (e) {}\n if (formattedCode && this.options.lowerCaseLng) {\n formattedCode = formattedCode.toLowerCase();\n }\n if (formattedCode) return formattedCode;\n if (this.options.lowerCaseLng) {\n return code.toLowerCase();\n }\n return code;\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng;\n if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (isString(fallbacks)) fallbacks = [fallbacks];\n if (Array.isArray(fallbacks)) return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (isString(code)) {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nconst dummyRule = {\n select: count => count === 1 ? 'one' : 'other',\n resolvedOptions: () => ({\n pluralCategories: ['one', 'other']\n })\n};\nclass PluralResolver {\n constructor(languageUtils) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.pluralRulesCache = {};\n }\n addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n clearCache() {\n this.pluralRulesCache = {};\n }\n getRule(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code);\n const type = options.ordinal ? 'ordinal' : 'cardinal';\n const cacheKey = JSON.stringify({\n cleanedCode,\n type\n });\n if (cacheKey in this.pluralRulesCache) {\n return this.pluralRulesCache[cacheKey];\n }\n let rule;\n try {\n rule = new Intl.PluralRules(cleanedCode, {\n type\n });\n } catch (err) {\n if (!Intl) {\n this.logger.error('No Intl support, please use an Intl polyfill!');\n return dummyRule;\n }\n if (!code.match(/-|_/)) return dummyRule;\n const lngPart = this.languageUtils.getLanguagePartFromCode(code);\n rule = this.getRule(lngPart, options);\n }\n this.pluralRulesCache[cacheKey] = rule;\n return rule;\n }\n needsPlural(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n return rule?.resolvedOptions().pluralCategories.length > 1;\n }\n getPluralFormsOfKey(code, key) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n if (!rule) return [];\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n getSuffix(code, count) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const rule = this.getRule(code, options);\n if (rule) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return this.getSuffix('dev', count, options);\n }\n}\n\nconst deepFindWithDefaults = function (data, defaultData, key) {\n let keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n let ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && isString(key)) {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n};\nconst regexSafe = val => val.replace(/\\$/g, '$$$$');\nclass Interpolator {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options?.interpolation?.format || (value => value);\n this.init(options);\n }\n init() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const {\n escape: escape$1,\n escapeValue,\n useRawValueToEscape,\n prefix,\n prefixEscaped,\n suffix,\n suffixEscaped,\n formatSeparator,\n unescapeSuffix,\n unescapePrefix,\n nestingPrefix,\n nestingPrefixEscaped,\n nestingSuffix,\n nestingSuffixEscaped,\n nestingOptionsSeparator,\n maxReplaces,\n alwaysFormat\n } = options.interpolation;\n this.escape = escape$1 !== undefined ? escape$1 : escape;\n this.escapeValue = escapeValue !== undefined ? escapeValue : true;\n this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false;\n this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{';\n this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}';\n this.formatSeparator = formatSeparator || ',';\n this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || '';\n this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = nestingOptionsSeparator || ',';\n this.maxReplaces = maxReplaces || 1000;\n this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const getOrResetRegExp = (existingRegExp, pattern) => {\n if (existingRegExp?.source === pattern) {\n existingRegExp.lastIndex = 0;\n return existingRegExp;\n }\n return new RegExp(pattern, 'g');\n };\n this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`);\n this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`);\n this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}(.+?)${this.nestingSuffix}`);\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options?.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = isString(temp) ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (!isString(value) && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let match;\n let value;\n let clonedOptions;\n const handleHasOptions = (key, inheritedOptions) => {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${sep}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if ((matchedSingleQuotes?.length ?? 0) % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue;\n return key;\n };\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n let doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n const r = match[1].split(this.formatSeparator).map(elem => elem.trim());\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && !isString(value)) return value;\n if (!isString(value)) value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nconst parseFormatStr = formatStr => {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (opt) {\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n const trimmedKey = key.trim();\n if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val;\n if (val === 'false') formatOptions[trimmedKey] = false;\n if (val === 'true') formatOptions[trimmedKey] = true;\n if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10);\n }\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n};\nconst createCachedFormatter = fn => {\n const cache = {};\n return (val, lng, options) => {\n let optForCache = options;\n if (options && options.interpolationkey && options.formatParams && options.formatParams[options.interpolationkey] && options[options.interpolationkey]) {\n optForCache = {\n ...optForCache,\n [options.interpolationkey]: undefined\n };\n }\n const key = lng + JSON.stringify(optForCache);\n let formatter = cache[key];\n if (!formatter) {\n formatter = fn(getCleanedCode(lng), options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n};\nclass Formatter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n this.init(options);\n }\n init(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n this.formatSeparator = options.interpolation.formatSeparator || ',';\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const formats = format.split(this.formatSeparator);\n if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) {\n const lastIndex = formats.findIndex(f => f.indexOf(')') > -1);\n formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator);\n }\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options?.formatParams?.[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nconst removePending = (q, name) => {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n};\nclass Connector extends EventEmitter {\n constructor(backend, store, services) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n this.backend?.init?.(services, options.backend, options);\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (!err && data) {\n this.store.addResourceBundle(lng, ns, data, undefined, undefined, {\n skipCopy: true\n });\n }\n this.state[name] = err ? -1 : 2;\n if (err && data) this.state[name] = 0;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName) {\n let tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n let wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n let callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages);\n if (isString(namespaces)) namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name) {\n let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n let clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : () => {};\n if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend?.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nconst get = () => ({\n debug: false,\n initAsync: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: args => {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (isString(args[1])) ret.defaultValue = args[1];\n if (isString(args[2])) ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: value => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n});\nconst transformOptions = options => {\n if (isString(options.ns)) options.ns = [options.ns];\n if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng];\n if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs?.indexOf?.('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n if (typeof options.initImmediate === 'boolean') options.initAsync = options.initImmediate;\n return options;\n};\n\nconst noop = () => {};\nconst bindMemberFunctions = inst => {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n};\nclass I18n extends EventEmitter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initAsync) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init() {\n var _this = this;\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n this.isInitializing = true;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (isString(options.ns)) {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n const createClassOnDemand = ClassOrObject => {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n };\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = function () {\n return _this.store[fcName](...arguments);\n };\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = function () {\n _this.store[fcName](...arguments);\n return _this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n this.isInitializing = false;\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initAsync) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n let usedCallback = callback;\n const usedLng = isString(language) ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng?.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n if (lng === 'cimode') return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (l === 'cimode') return;\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n this.options.preload?.forEach?.(l => append(l));\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (typeof lngs === 'function') {\n callback = lngs;\n lngs = undefined;\n }\n if (typeof ns === 'function') {\n callback = ns;\n ns = undefined;\n }\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n changeLanguage(lng, callback) {\n var _this2 = this;\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this2.t(...arguments);\n });\n if (callback) callback(err, function () {\n return _this2.t(...arguments);\n });\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const l = isString(lngs) ? lngs : this.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n this.services.languageDetector?.cacheUserLanguage?.(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n var _this3 = this;\n const fixedT = function (key, opts) {\n let options;\n if (typeof opts !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this3.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = {\n ...opts\n };\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n if (options.keyPrefix !== '') options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = _this3.options.keySeparator || '.';\n let resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => `${options.keyPrefix}${keySeparator}${k}`);\n } else {\n resultKey = options.keyPrefix ? `${options.keyPrefix}${keySeparator}${key}` : key;\n }\n return _this3.t(resultKey, options);\n };\n if (isString(lng)) {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.translator?.translate(...args);\n }\n exists() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n return this.translator?.exists(...args);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 0 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (isString(ns)) ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (isString(lngs)) lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng));\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n const languageUtils = this.services?.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n cloneInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n clone.store = new ResourceStore(this.store.data, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', function (event) {\n for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {\n args[_key6 - 1] = arguments[_key6];\n }\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nmodule.exports = instance;\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","module.exports = [\n {\"name\":\"Abkhaz\", \"local\":\"Аҧсуа\", \"1\":\"ab\", \"2\":\"abk\", \"2T\":\"abk\", \"2B\":\"abk\", \"3\":\"abk\"},\n {\"name\":\"Afar\", \"local\":\"Afaraf\", \"1\":\"aa\", \"2\":\"aar\", \"2T\":\"aar\", \"2B\":\"aar\", \"3\":\"aar\"},\n {\"name\":\"Afrikaans\", \"local\":\"Afrikaans\", \"1\":\"af\", \"2\":\"afr\", \"2T\":\"afr\", \"2B\":\"afr\", \"3\":\"afr\"},\n {\"name\":\"Akan\", \"local\":\"Akan\", \"1\":\"ak\", \"2\":\"aka\", \"2T\":\"aka\", \"2B\":\"aka\", \"3\":\"aka\"},\n {\"name\":\"Albanian\", \"local\":\"Shqip\", \"1\":\"sq\", \"2\":\"sqi\", \"2T\":\"sqi\", \"2B\":\"alb\", \"3\":\"sqi\"},\n {\"name\":\"Amharic\", \"local\":\"አማርኛ\", \"1\":\"am\", \"2\":\"amh\", \"2T\":\"amh\", \"2B\":\"amh\", \"3\":\"amh\"},\n {\"name\":\"Arabic\", \"local\":\"العربية\", \"1\":\"ar\", \"2\":\"ara\", \"2T\":\"ara\", \"2B\":\"ara\", \"3\":\"ara\"},\n {\"name\":\"Aragonese\", \"local\":\"Aragonés\", \"1\":\"an\", \"2\":\"arg\", \"2T\":\"arg\", \"2B\":\"arg\", \"3\":\"arg\"},\n {\"name\":\"Armenian\", \"local\":\"Հայերեն\", \"1\":\"hy\", \"2\":\"hye\", \"2T\":\"hye\", \"2B\":\"arm\", \"3\":\"hye\"},\n {\"name\":\"Assamese\", \"local\":\"অসমীয়া\", \"1\":\"as\", \"2\":\"asm\", \"2T\":\"asm\", \"2B\":\"asm\", \"3\":\"asm\"},\n {\"name\":\"Avaric\", \"local\":\"Авар\", \"1\":\"av\", \"2\":\"ava\", \"2T\":\"ava\", \"2B\":\"ava\", \"3\":\"ava\"},\n {\"name\":\"Avestan\", \"local\":\"avesta\", \"1\":\"ae\", \"2\":\"ave\", \"2T\":\"ave\", \"2B\":\"ave\", \"3\":\"ave\"},\n {\"name\":\"Aymara\", \"local\":\"Aymar\", \"1\":\"ay\", \"2\":\"aym\", \"2T\":\"aym\", \"2B\":\"aym\", \"3\":\"aym\"},\n {\"name\":\"Azerbaijani\", \"local\":\"Azərbaycanca\", \"1\":\"az\", \"2\":\"aze\", \"2T\":\"aze\", \"2B\":\"aze\", \"3\":\"aze\"},\n {\"name\":\"Bambara\", \"local\":\"Bamanankan\", \"1\":\"bm\", \"2\":\"bam\", \"2T\":\"bam\", \"2B\":\"bam\", \"3\":\"bam\"},\n {\"name\":\"Bashkir\", \"local\":\"Башҡортса\", \"1\":\"ba\", \"2\":\"bak\", \"2T\":\"bak\", \"2B\":\"bak\", \"3\":\"bak\"},\n {\"name\":\"Basque\", \"local\":\"Euskara\", \"1\":\"eu\", \"2\":\"eus\", \"2T\":\"eus\", \"2B\":\"baq\", \"3\":\"eus\"},\n {\"name\":\"Belarusian\", \"local\":\"Беларуская\", \"1\":\"be\", \"2\":\"bel\", \"2T\":\"bel\", \"2B\":\"bel\", \"3\":\"bel\"},\n {\"name\":\"Bengali\", \"local\":\"বাংলা\", \"1\":\"bn\", \"2\":\"ben\", \"2T\":\"ben\", \"2B\":\"ben\", \"3\":\"ben\"},\n {\"name\":\"Bihari\", \"local\":\"भोजपुरी\", \"1\":\"bh\", \"2\":\"bih\", \"2T\":\"bih\", \"2B\":\"bih\", \"3\":\"bih\"},\n {\"name\":\"Bislama\", \"local\":\"Bislama\", \"1\":\"bi\", \"2\":\"bis\", \"2T\":\"bis\", \"2B\":\"bis\", \"3\":\"bis\"},\n {\"name\":\"Bosnian\", \"local\":\"Bosanski\", \"1\":\"bs\", \"2\":\"bos\", \"2T\":\"bos\", \"2B\":\"bos\", \"3\":\"bos\"},\n {\"name\":\"Breton\", \"local\":\"Brezhoneg\", \"1\":\"br\", \"2\":\"bre\", \"2T\":\"bre\", \"2B\":\"bre\", \"3\":\"bre\"},\n {\"name\":\"Bulgarian\", \"local\":\"Български\", \"1\":\"bg\", \"2\":\"bul\", \"2T\":\"bul\", \"2B\":\"bul\", \"3\":\"bul\"},\n {\"name\":\"Burmese\", \"local\":\"မြန်မာဘာသာ\", \"1\":\"my\", \"2\":\"mya\", \"2T\":\"mya\", \"2B\":\"bur\", \"3\":\"mya\"},\n {\"name\":\"Catalan\", \"local\":\"Català\", \"1\":\"ca\", \"2\":\"cat\", \"2T\":\"cat\", \"2B\":\"cat\", \"3\":\"cat\"},\n {\"name\":\"Chamorro\", \"local\":\"Chamoru\", \"1\":\"ch\", \"2\":\"cha\", \"2T\":\"cha\", \"2B\":\"cha\", \"3\":\"cha\"},\n {\"name\":\"Chechen\", \"local\":\"Нохчийн\", \"1\":\"ce\", \"2\":\"che\", \"2T\":\"che\", \"2B\":\"che\", \"3\":\"che\"},\n {\"name\":\"Chichewa\", \"local\":\"Chichewa\", \"1\":\"ny\", \"2\":\"nya\", \"2T\":\"nya\", \"2B\":\"nya\", \"3\":\"nya\"},\n {\"name\":\"Chinese\", \"local\":\"中文\", \"1\":\"zh\", \"2\":\"zho\", \"2T\":\"zho\", \"2B\":\"chi\", \"3\":\"zho\", \"locale\": \"zh-CN\"},\n {\"name\":\"Chinese (Simplified)\", \"local\":\"中文(簡體)\", \"1\":\"zh\", \"2\":\"zhe\", \"2T\":\"zhe\", \"2B\":\"chi\", \"3\":\"zhe\", \"locale\": \"zh-Hans\"},\n {\"name\":\"Chinese (Traditional)\", \"local\":\"中文(繁體)\", \"1\":\"zh\", \"2\":\"zht\", \"2T\":\"zht\", \"2B\":\"chi\", \"3\":\"zht\", \"locale\": \"zh-Hant\"},\n {\"name\":\"Chuvash\", \"local\":\"Чӑвашла\", \"1\":\"cv\", \"2\":\"chv\", \"2T\":\"chv\", \"2B\":\"chv\", \"3\":\"chv\"},\n {\"name\":\"Cornish\", \"local\":\"Kernewek\", \"1\":\"kw\", \"2\":\"cor\", \"2T\":\"cor\", \"2B\":\"cor\", \"3\":\"cor\"},\n {\"name\":\"Corsican\", \"local\":\"Corsu\", \"1\":\"co\", \"2\":\"cos\", \"2T\":\"cos\", \"2B\":\"cos\", \"3\":\"cos\"},\n {\"name\":\"Cree\", \"local\":\"ᓀᐦᐃᔭᐍᐏᐣ\", \"1\":\"cr\", \"2\":\"cre\", \"2T\":\"cre\", \"2B\":\"cre\", \"3\":\"cre\"},\n {\"name\":\"Croatian\", \"local\":\"Hrvatski\", \"1\":\"hr\", \"2\":\"hrv\", \"2T\":\"hrv\", \"2B\":\"hrv\", \"3\":\"hrv\"},\n {\"name\":\"Czech\", \"local\":\"Čeština\", \"1\":\"cs\", \"2\":\"ces\", \"2T\":\"ces\", \"2B\":\"cze\", \"3\":\"ces\"},\n {\"name\":\"Danish\", \"local\":\"Dansk\", \"1\":\"da\", \"2\":\"dan\", \"2T\":\"dan\", \"2B\":\"dan\", \"3\":\"dan\"},\n {\"name\":\"Divehi\", \"local\":\"Divehi\", \"1\":\"dv\", \"2\":\"div\", \"2T\":\"div\", \"2B\":\"div\", \"3\":\"div\"},\n {\"name\":\"Dutch\", \"local\":\"Nederlands\", \"1\":\"nl\", \"2\":\"nld\", \"2T\":\"nld\", \"2B\":\"dut\", \"3\":\"nld\"},\n {\"name\":\"Dzongkha\", \"local\":\"རྫོང་ཁ\", \"1\":\"dz\", \"2\":\"dzo\", \"2T\":\"dzo\", \"2B\":\"dzo\", \"3\":\"dzo\"},\n {\"name\":\"English\", \"local\":\"English\", \"1\":\"en\", \"2\":\"eng\", \"2T\":\"eng\", \"2B\":\"eng\", \"3\":\"eng\", \"locale\": \"en-US\"},\n {\"name\":\"Esperanto\", \"local\":\"Esperanto\", \"1\":\"eo\", \"2\":\"epo\", \"2T\":\"epo\", \"2B\":\"epo\", \"3\":\"epo\"},\n {\"name\":\"Estonian\", \"local\":\"Eesti\", \"1\":\"et\", \"2\":\"est\", \"2T\":\"est\", \"2B\":\"est\", \"3\":\"est\"},\n {\"name\":\"Ewe\", \"local\":\"Eʋegbe\", \"1\":\"ee\", \"2\":\"ewe\", \"2T\":\"ewe\", \"2B\":\"ewe\", \"3\":\"ewe\"},\n {\"name\":\"Faroese\", \"local\":\"Føroyskt\", \"1\":\"fo\", \"2\":\"fao\", \"2T\":\"fao\", \"2B\":\"fao\", \"3\":\"fao\"},\n {\"name\":\"Fijian\", \"local\":\"Na Vosa Vaka-Viti\", \"1\":\"fj\", \"2\":\"fij\", \"2T\":\"fij\", \"2B\":\"fij\", \"3\":\"fij\"},\n {\"name\":\"Finnish\", \"local\":\"Suomi\", \"1\":\"fi\", \"2\":\"fin\", \"2T\":\"fin\", \"2B\":\"fin\", \"3\":\"fin\"},\n {\"name\":\"French\", \"local\":\"Français\", \"1\":\"fr\", \"2\":\"fra\", \"2T\":\"fra\", \"2B\":\"fre\", \"3\":\"fra\", \"locale\": \"fr-FR\"},\n {\"name\":\"Fula\", \"local\":\"Fulfulde\", \"1\":\"ff\", \"2\":\"ful\", \"2T\":\"ful\", \"2B\":\"ful\", \"3\":\"ful\"},\n {\"name\":\"Galician\", \"local\":\"Galego\", \"1\":\"gl\", \"2\":\"glg\", \"2T\":\"glg\", \"2B\":\"glg\", \"3\":\"glg\"},\n {\"name\":\"Georgian\", \"local\":\"ქართული\", \"1\":\"ka\", \"2\":\"kat\", \"2T\":\"kat\", \"2B\":\"geo\", \"3\":\"kat\"},\n {\"name\":\"German\", \"local\":\"Deutsch\", \"1\":\"de\", \"2\":\"deu\", \"2T\":\"deu\", \"2B\":\"ger\", \"3\":\"deu\"},\n {\"name\":\"Greek\", \"local\":\"Ελληνικά\", \"1\":\"el\", \"2\":\"ell\", \"2T\":\"ell\", \"2B\":\"gre\", \"3\":\"ell\"},\n {\"name\":\"Guaraní\", \"local\":\"Avañe'ẽ\", \"1\":\"gn\", \"2\":\"grn\", \"2T\":\"grn\", \"2B\":\"grn\", \"3\":\"grn\"},\n {\"name\":\"Gujarati\", \"local\":\"ગુજરાતી\", \"1\":\"gu\", \"2\":\"guj\", \"2T\":\"guj\", \"2B\":\"guj\", \"3\":\"guj\"},\n {\"name\":\"Haitian\", \"local\":\"Kreyòl Ayisyen\", \"1\":\"ht\", \"2\":\"hat\", \"2T\":\"hat\", \"2B\":\"hat\", \"3\":\"hat\"},\n {\"name\":\"Hausa\", \"local\":\"هَوُسَ\", \"1\":\"ha\", \"2\":\"hau\", \"2T\":\"hau\", \"2B\":\"hau\", \"3\":\"hau\"},\n {\"name\":\"Hebrew\", \"local\":\"עברית\", \"1\":\"he\", \"2\":\"heb\", \"2T\":\"heb\", \"2B\":\"heb\", \"3\":\"heb\"},\n {\"name\":\"Herero\", \"local\":\"Otjiherero\", \"1\":\"hz\", \"2\":\"her\", \"2T\":\"her\", \"2B\":\"her\", \"3\":\"her\"},\n {\"name\":\"Hindi\", \"local\":\"हिन्दी\", \"1\":\"hi\", \"2\":\"hin\", \"2T\":\"hin\", \"2B\":\"hin\", \"3\":\"hin\"},\n {\"name\":\"Hiri Motu\", \"local\":\"Hiri Motu\", \"1\":\"ho\", \"2\":\"hmo\", \"2T\":\"hmo\", \"2B\":\"hmo\", \"3\":\"hmo\"},\n {\"name\":\"Hungarian\", \"local\":\"Magyar\", \"1\":\"hu\", \"2\":\"hun\", \"2T\":\"hun\", \"2B\":\"hun\", \"3\":\"hun\"},\n {\"name\":\"Interlingua\", \"local\":\"Interlingua\", \"1\":\"ia\", \"2\":\"ina\", \"2T\":\"ina\", \"2B\":\"ina\", \"3\":\"ina\"},\n {\"name\":\"Indonesian\", \"local\":\"Bahasa Indonesia\", \"1\":\"id\", \"2\":\"ind\", \"2T\":\"ind\", \"2B\":\"ind\", \"3\":\"ind\"},\n {\"name\":\"Interlingue\", \"local\":\"Interlingue\", \"1\":\"ie\", \"2\":\"ile\", \"2T\":\"ile\", \"2B\":\"ile\", \"3\":\"ile\"},\n {\"name\":\"Irish\", \"local\":\"Gaeilge\", \"1\":\"ga\", \"2\":\"gle\", \"2T\":\"gle\", \"2B\":\"gle\", \"3\":\"gle\"},\n {\"name\":\"Igbo\", \"local\":\"Igbo\", \"1\":\"ig\", \"2\":\"ibo\", \"2T\":\"ibo\", \"2B\":\"ibo\", \"3\":\"ibo\"},\n {\"name\":\"Inupiaq\", \"local\":\"Iñupiak\", \"1\":\"ik\", \"2\":\"ipk\", \"2T\":\"ipk\", \"2B\":\"ipk\", \"3\":\"ipk\"},\n {\"name\":\"Ido\", \"local\":\"Ido\", \"1\":\"io\", \"2\":\"ido\", \"2T\":\"ido\", \"2B\":\"ido\", \"3\":\"ido\"},\n {\"name\":\"Icelandic\", \"local\":\"Íslenska\", \"1\":\"is\", \"2\":\"isl\", \"2T\":\"isl\", \"2B\":\"ice\", \"3\":\"isl\"},\n {\"name\":\"Italian\", \"local\":\"Italiano\", \"1\":\"it\", \"2\":\"ita\", \"2T\":\"ita\", \"2B\":\"ita\", \"3\":\"ita\", \"locale\": \"it-IT\"},\n {\"name\":\"Inuktitut\", \"local\":\"ᐃᓄᒃᑎᑐᑦ\", \"1\":\"iu\", \"2\":\"iku\", \"2T\":\"iku\", \"2B\":\"iku\", \"3\":\"iku\"},\n {\"name\":\"Japanese\", \"local\":\"日本語\", \"1\":\"ja\", \"2\":\"jpn\", \"2T\":\"jpn\", \"2B\":\"jpn\", \"3\":\"jpn\", \"locale\": \"ja-JP\"},\n {\"name\":\"Javanese\", \"local\":\"Basa Jawa\", \"1\":\"jv\", \"2\":\"jav\", \"2T\":\"jav\", \"2B\":\"jav\", \"3\":\"jav\"},\n {\"name\":\"Kalaallisut\", \"local\":\"Kalaallisut\", \"1\":\"kl\", \"2\":\"kal\", \"2T\":\"kal\", \"2B\":\"kal\", \"3\":\"kal\"},\n {\"name\":\"Kannada\", \"local\":\"ಕನ್ನಡ\", \"1\":\"kn\", \"2\":\"kan\", \"2T\":\"kan\", \"2B\":\"kan\", \"3\":\"kan\"},\n {\"name\":\"Kanuri\", \"local\":\"Kanuri\", \"1\":\"kr\", \"2\":\"kau\", \"2T\":\"kau\", \"2B\":\"kau\", \"3\":\"kau\"},\n {\"name\":\"Kashmiri\", \"local\":\"كشميري\", \"1\":\"ks\", \"2\":\"kas\", \"2T\":\"kas\", \"2B\":\"kas\", \"3\":\"kas\"},\n {\"name\":\"Kazakh\", \"local\":\"Қазақша\", \"1\":\"kk\", \"2\":\"kaz\", \"2T\":\"kaz\", \"2B\":\"kaz\", \"3\":\"kaz\"},\n {\"name\":\"Khmer\", \"local\":\"ភាសាខ្មែរ\", \"1\":\"km\", \"2\":\"khm\", \"2T\":\"khm\", \"2B\":\"khm\", \"3\":\"khm\"},\n {\"name\":\"Kikuyu\", \"local\":\"Gĩkũyũ\", \"1\":\"ki\", \"2\":\"kik\", \"2T\":\"kik\", \"2B\":\"kik\", \"3\":\"kik\"},\n {\"name\":\"Kinyarwanda\", \"local\":\"Kinyarwanda\", \"1\":\"rw\", \"2\":\"kin\", \"2T\":\"kin\", \"2B\":\"kin\", \"3\":\"kin\"},\n {\"name\":\"Kyrgyz\", \"local\":\"Кыргызча\", \"1\":\"ky\", \"2\":\"kir\", \"2T\":\"kir\", \"2B\":\"kir\", \"3\":\"kir\"},\n {\"name\":\"Komi\", \"local\":\"Коми\", \"1\":\"kv\", \"2\":\"kom\", \"2T\":\"kom\", \"2B\":\"kom\", \"3\":\"kom\"},\n {\"name\":\"Kongo\", \"local\":\"Kongo\", \"1\":\"kg\", \"2\":\"kon\", \"2T\":\"kon\", \"2B\":\"kon\", \"3\":\"kon\"},\n {\"name\":\"Korean\", \"local\":\"한국어\", \"1\":\"ko\", \"2\":\"kor\", \"2T\":\"kor\", \"2B\":\"kor\", \"3\":\"kor\"},\n {\"name\":\"Kurdish\", \"local\":\"Kurdî\", \"1\":\"ku\", \"2\":\"kur\", \"2T\":\"kur\", \"2B\":\"kur\", \"3\":\"kur\"},\n {\"name\":\"Kwanyama\", \"local\":\"Kuanyama\", \"1\":\"kj\", \"2\":\"kua\", \"2T\":\"kua\", \"2B\":\"kua\", \"3\":\"kua\"},\n {\"name\":\"Latin\", \"local\":\"Latina\", \"1\":\"la\", \"2\":\"lat\", \"2T\":\"lat\", \"2B\":\"lat\", \"3\":\"lat\"},\n {\"name\":\"Luxembourgish\", \"local\":\"Lëtzebuergesch\", \"1\":\"lb\", \"2\":\"ltz\", \"2T\":\"ltz\", \"2B\":\"ltz\", \"3\":\"ltz\"},\n {\"name\":\"Ganda\", \"local\":\"Luganda\", \"1\":\"lg\", \"2\":\"lug\", \"2T\":\"lug\", \"2B\":\"lug\", \"3\":\"lug\"},\n {\"name\":\"Limburgish\", \"local\":\"Limburgs\", \"1\":\"li\", \"2\":\"lim\", \"2T\":\"lim\", \"2B\":\"lim\", \"3\":\"lim\"},\n {\"name\":\"Lingala\", \"local\":\"Lingála\", \"1\":\"ln\", \"2\":\"lin\", \"2T\":\"lin\", \"2B\":\"lin\", \"3\":\"lin\"},\n {\"name\":\"Lao\", \"local\":\"ພາສາລາວ\", \"1\":\"lo\", \"2\":\"lao\", \"2T\":\"lao\", \"2B\":\"lao\", \"3\":\"lao\"},\n {\"name\":\"Lithuanian\", \"local\":\"Lietuvių\", \"1\":\"lt\", \"2\":\"lit\", \"2T\":\"lit\", \"2B\":\"lit\", \"3\":\"lit\"},\n {\"name\":\"Luba-Katanga\", \"local\":\"Tshiluba\", \"1\":\"lu\", \"2\":\"lub\", \"2T\":\"lub\", \"2B\":\"lub\", \"3\":\"lub\"},\n {\"name\":\"Latvian\", \"local\":\"Latviešu\", \"1\":\"lv\", \"2\":\"lav\", \"2T\":\"lav\", \"2B\":\"lav\", \"3\":\"lav\"},\n {\"name\":\"Manx\", \"local\":\"Gaelg\", \"1\":\"gv\", \"2\":\"glv\", \"2T\":\"glv\", \"2B\":\"glv\", \"3\":\"glv\"},\n {\"name\":\"Macedonian\", \"local\":\"Македонски\", \"1\":\"mk\", \"2\":\"mkd\", \"2T\":\"mkd\", \"2B\":\"mac\", \"3\":\"mkd\"},\n {\"name\":\"Malagasy\", \"local\":\"Malagasy\", \"1\":\"mg\", \"2\":\"mlg\", \"2T\":\"mlg\", \"2B\":\"mlg\", \"3\":\"mlg\"},\n {\"name\":\"Malay\", \"local\":\"Bahasa Melayu\", \"1\":\"ms\", \"2\":\"msa\", \"2T\":\"msa\", \"2B\":\"may\", \"3\":\"msa\"},\n {\"name\":\"Malayalam\", \"local\":\"മലയാളം\", \"1\":\"ml\", \"2\":\"mal\", \"2T\":\"mal\", \"2B\":\"mal\", \"3\":\"mal\"},\n {\"name\":\"Maltese\", \"local\":\"Malti\", \"1\":\"mt\", \"2\":\"mlt\", \"2T\":\"mlt\", \"2B\":\"mlt\", \"3\":\"mlt\"},\n {\"name\":\"Māori\", \"local\":\"Māori\", \"1\":\"mi\", \"2\":\"mri\", \"2T\":\"mri\", \"2B\":\"mao\", \"3\":\"mri\"},\n {\"name\":\"Marathi\", \"local\":\"मराठी\", \"1\":\"mr\", \"2\":\"mar\", \"2T\":\"mar\", \"2B\":\"mar\", \"3\":\"mar\"},\n {\"name\":\"Marshallese\", \"local\":\"Kajin M̧ajeļ\", \"1\":\"mh\", \"2\":\"mah\", \"2T\":\"mah\", \"2B\":\"mah\", \"3\":\"mah\"},\n {\"name\":\"Mongolian\", \"local\":\"Монгол\", \"1\":\"mn\", \"2\":\"mon\", \"2T\":\"mon\", \"2B\":\"mon\", \"3\":\"mon\"},\n {\"name\":\"Nauru\", \"local\":\"Dorerin Naoero\", \"1\":\"na\", \"2\":\"nau\", \"2T\":\"nau\", \"2B\":\"nau\", \"3\":\"nau\"},\n {\"name\":\"Navajo\", \"local\":\"Diné Bizaad\", \"1\":\"nv\", \"2\":\"nav\", \"2T\":\"nav\", \"2B\":\"nav\", \"3\":\"nav\"},\n {\"name\":\"Northern Ndebele\", \"local\":\"isiNdebele\", \"1\":\"nd\", \"2\":\"nde\", \"2T\":\"nde\", \"2B\":\"nde\", \"3\":\"nde\"},\n {\"name\":\"Nepali\", \"local\":\"नेपाली\", \"1\":\"ne\", \"2\":\"nep\", \"2T\":\"nep\", \"2B\":\"nep\", \"3\":\"nep\"},\n {\"name\":\"Ndonga\", \"local\":\"Owambo\", \"1\":\"ng\", \"2\":\"ndo\", \"2T\":\"ndo\", \"2B\":\"ndo\", \"3\":\"ndo\"},\n {\"name\":\"Norwegian Bokmål\", \"local\":\"Norsk (Bokmål)\", \"1\":\"nb\", \"2\":\"nob\", \"2T\":\"nob\", \"2B\":\"nob\", \"3\":\"nob\", \"locale\": \"nb-NO\"},\n {\"name\":\"Norwegian Nynorsk\", \"local\":\"Norsk (Nynorsk)\", \"1\":\"nn\", \"2\":\"nno\", \"2T\":\"nno\", \"2B\":\"nno\", \"3\":\"nno\", \"locale\": \"nn-NO\"},\n {\"name\":\"Norwegian\", \"local\":\"Norsk\", \"1\":\"no\", \"2\":\"nor\", \"2T\":\"nor\", \"2B\":\"nor\", \"3\":\"nor\", \"locale\": \"no-NO\"},\n {\"name\":\"Nuosu\", \"local\":\"ꆈꌠ꒿ Nuosuhxop\", \"1\":\"ii\", \"2\":\"iii\", \"2T\":\"iii\", \"2B\":\"iii\", \"3\":\"iii\"},\n {\"name\":\"Southern Ndebele\", \"local\":\"isiNdebele\", \"1\":\"nr\", \"2\":\"nbl\", \"2T\":\"nbl\", \"2B\":\"nbl\", \"3\":\"nbl\"},\n {\"name\":\"Occitan\", \"local\":\"Occitan\", \"1\":\"oc\", \"2\":\"oci\", \"2T\":\"oci\", \"2B\":\"oci\", \"3\":\"oci\"},\n {\"name\":\"Ojibwe\", \"local\":\"ᐊᓂᔑᓈᐯᒧᐎᓐ\", \"1\":\"oj\", \"2\":\"oji\", \"2T\":\"oji\", \"2B\":\"oji\", \"3\":\"oji\"},\n {\"name\":\"Old Church Slavonic\", \"local\":\"Словѣ́ньскъ\", \"1\":\"cu\", \"2\":\"chu\", \"2T\":\"chu\", \"2B\":\"chu\", \"3\":\"chu\"},\n {\"name\":\"Oromo\", \"local\":\"Afaan Oromoo\", \"1\":\"om\", \"2\":\"orm\", \"2T\":\"orm\", \"2B\":\"orm\", \"3\":\"orm\"},\n {\"name\":\"Oriya\", \"local\":\"ଓଡି଼ଆ\", \"1\":\"or\", \"2\":\"ori\", \"2T\":\"ori\", \"2B\":\"ori\", \"3\":\"ori\"},\n {\"name\":\"Ossetian\", \"local\":\"Ирон æвзаг\", \"1\":\"os\", \"2\":\"oss\", \"2T\":\"oss\", \"2B\":\"oss\", \"3\":\"oss\"},\n {\"name\":\"Panjabi\", \"local\":\"ਪੰਜਾਬੀ\", \"1\":\"pa\", \"2\":\"pan\", \"2T\":\"pan\", \"2B\":\"pan\", \"3\":\"pan\"},\n {\"name\":\"Pāli\", \"local\":\"पाऴि\", \"1\":\"pi\", \"2\":\"pli\", \"2T\":\"pli\", \"2B\":\"pli\", \"3\":\"pli\"},\n {\"name\":\"Persian\", \"local\":\"فارسی\", \"1\":\"fa\", \"2\":\"fas\", \"2T\":\"fas\", \"2B\":\"per\", \"3\":\"fas\"},\n {\"name\":\"Polish\", \"local\":\"Polski\", \"1\":\"pl\", \"2\":\"pol\", \"2T\":\"pol\", \"2B\":\"pol\", \"3\":\"pol\"},\n {\"name\":\"Pashto\", \"local\":\"پښتو\", \"1\":\"ps\", \"2\":\"pus\", \"2T\":\"pus\", \"2B\":\"pus\", \"3\":\"pus\"},\n {\"name\":\"Portuguese\", \"local\":\"Português\", \"1\":\"pt\", \"2\":\"por\", \"2T\":\"por\", \"2B\":\"por\", \"3\":\"por\", \"locale\": \"pt-PT\"},\n {\"name\":\"Portuguese (Brazil)\", \"local\":\"Português (Brasil)\", \"1\":\"pb\", \"2\":\"pob\", \"2T\":\"pob\", \"2B\":\"pob\", \"3\":\"pob\", \"locale\": \"pt-BR\"},\n {\"name\":\"Quechua\", \"local\":\"Runa Simi\", \"1\":\"qu\", \"2\":\"que\", \"2T\":\"que\", \"2B\":\"que\", \"3\":\"que\"},\n {\"name\":\"Romansh\", \"local\":\"Rumantsch\", \"1\":\"rm\", \"2\":\"roh\", \"2T\":\"roh\", \"2B\":\"roh\", \"3\":\"roh\"},\n {\"name\":\"Kirundi\", \"local\":\"Kirundi\", \"1\":\"rn\", \"2\":\"run\", \"2T\":\"run\", \"2B\":\"run\", \"3\":\"run\"},\n {\"name\":\"Romanian\", \"local\":\"Română\", \"1\":\"ro\", \"2\":\"ron\", \"2T\":\"ron\", \"2B\":\"rum\", \"3\":\"ron\"},\n {\"name\":\"Russian\", \"local\":\"Русский\", \"1\":\"ru\", \"2\":\"rus\", \"2T\":\"rus\", \"2B\":\"rus\", \"3\":\"rus\"},\n {\"name\":\"Sanskrit\", \"local\":\"संस्कृतम्\", \"1\":\"sa\", \"2\":\"san\", \"2T\":\"san\", \"2B\":\"san\", \"3\":\"san\"},\n {\"name\":\"Sardinian\", \"local\":\"Sardu\", \"1\":\"sc\", \"2\":\"srd\", \"2T\":\"srd\", \"2B\":\"srd\", \"3\":\"srd\"},\n {\"name\":\"Sindhi\", \"local\":\"سنڌي‎\", \"1\":\"sd\", \"2\":\"snd\", \"2T\":\"snd\", \"2B\":\"snd\", \"3\":\"snd\"},\n {\"name\":\"Northern Sami\", \"local\":\"Sámegiella\", \"1\":\"se\", \"2\":\"sme\", \"2T\":\"sme\", \"2B\":\"sme\", \"3\":\"sme\"},\n {\"name\":\"Samoan\", \"local\":\"Gagana Sāmoa\", \"1\":\"sm\", \"2\":\"smo\", \"2T\":\"smo\", \"2B\":\"smo\", \"3\":\"smo\"},\n {\"name\":\"Sango\", \"local\":\"Sängö\", \"1\":\"sg\", \"2\":\"sag\", \"2T\":\"sag\", \"2B\":\"sag\", \"3\":\"sag\"},\n {\"name\":\"Serbian\", \"local\":\"Српски\", \"1\":\"sr\", \"2\":\"srp\", \"2T\":\"srp\", \"2B\":\"srp\", \"3\":\"srp\"},\n {\"name\":\"Gaelic\", \"local\":\"Gàidhlig\", \"1\":\"gd\", \"2\":\"gla\", \"2T\":\"gla\", \"2B\":\"gla\", \"3\":\"gla\"},\n {\"name\":\"Shona\", \"local\":\"ChiShona\", \"1\":\"sn\", \"2\":\"sna\", \"2T\":\"sna\", \"2B\":\"sna\", \"3\":\"sna\"},\n {\"name\":\"Sinhala\", \"local\":\"සිංහල\", \"1\":\"si\", \"2\":\"sin\", \"2T\":\"sin\", \"2B\":\"sin\", \"3\":\"sin\"},\n {\"name\":\"Slovak\", \"local\":\"Slovenčina\", \"1\":\"sk\", \"2\":\"slk\", \"2T\":\"slk\", \"2B\":\"slo\", \"3\":\"slk\"},\n {\"name\":\"Slovene\", \"local\":\"Slovenščina\", \"1\":\"sl\", \"2\":\"slv\", \"2T\":\"slv\", \"2B\":\"slv\", \"3\":\"slv\"},\n {\"name\":\"Somali\", \"local\":\"Soomaaliga\", \"1\":\"so\", \"2\":\"som\", \"2T\":\"som\", \"2B\":\"som\", \"3\":\"som\"},\n {\"name\":\"Southern Sotho\", \"local\":\"Sesotho\", \"1\":\"st\", \"2\":\"sot\", \"2T\":\"sot\", \"2B\":\"sot\", \"3\":\"sot\"},\n {\"name\":\"Spanish\", \"local\":\"Español\", \"1\":\"es\", \"2\":\"spa\", \"2T\":\"spa\", \"2B\":\"spa\", \"3\":\"spa\", \"locale\": \"es-ES\"},\n {\"name\":\"Spanish (Latin America)\", \"local\":\"Español (América Latina)\", \"1\":\"es\", \"2\":\"spl\", \"2T\":\"spl\", \"2B\":\"spl\", \"3\":\"spl\", \"locale\": \"es-419\"},\n {\"name\":\"Sundanese\", \"local\":\"Basa Sunda\", \"1\":\"su\", \"2\":\"sun\", \"2T\":\"sun\", \"2B\":\"sun\", \"3\":\"sun\"},\n {\"name\":\"Swahili\", \"local\":\"Kiswahili\", \"1\":\"sw\", \"2\":\"swa\", \"2T\":\"swa\", \"2B\":\"swa\", \"3\":\"swa\"},\n {\"name\":\"Swati\", \"local\":\"SiSwati\", \"1\":\"ss\", \"2\":\"ssw\", \"2T\":\"ssw\", \"2B\":\"ssw\", \"3\":\"ssw\"},\n {\"name\":\"Swedish\", \"local\":\"Svenska\", \"1\":\"sv\", \"2\":\"swe\", \"2T\":\"swe\", \"2B\":\"swe\", \"3\":\"swe\"},\n {\"name\":\"Tamil\", \"local\":\"தமிழ்\", \"1\":\"ta\", \"2\":\"tam\", \"2T\":\"tam\", \"2B\":\"tam\", \"3\":\"tam\"},\n {\"name\":\"Telugu\", \"local\":\"తెలుగు\", \"1\":\"te\", \"2\":\"tel\", \"2T\":\"tel\", \"2B\":\"tel\", \"3\":\"tel\"},\n {\"name\":\"Tajik\", \"local\":\"Тоҷикӣ\", \"1\":\"tg\", \"2\":\"tgk\", \"2T\":\"tgk\", \"2B\":\"tgk\", \"3\":\"tgk\"},\n {\"name\":\"Thai\", \"local\":\"ภาษาไทย\", \"1\":\"th\", \"2\":\"tha\", \"2T\":\"tha\", \"2B\":\"tha\", \"3\":\"tha\"},\n {\"name\":\"Tigrinya\", \"local\":\"ትግርኛ\", \"1\":\"ti\", \"2\":\"tir\", \"2T\":\"tir\", \"2B\":\"tir\", \"3\":\"tir\"},\n {\"name\":\"Tibetan Standard\", \"local\":\"བོད་ཡིག\", \"1\":\"bo\", \"2\":\"bod\", \"2T\":\"bod\", \"2B\":\"tib\", \"3\":\"bod\"},\n {\"name\":\"Turkmen\", \"local\":\"Türkmençe\", \"1\":\"tk\", \"2\":\"tuk\", \"2T\":\"tuk\", \"2B\":\"tuk\", \"3\":\"tuk\"},\n {\"name\":\"Tagalog\", \"local\":\"Tagalog\", \"1\":\"tl\", \"2\":\"tgl\", \"2T\":\"tgl\", \"2B\":\"tgl\", \"3\":\"tgl\"},\n {\"name\":\"Tswana\", \"local\":\"Setswana\", \"1\":\"tn\", \"2\":\"tsn\", \"2T\":\"tsn\", \"2B\":\"tsn\", \"3\":\"tsn\"},\n {\"name\":\"Tonga\", \"local\":\"faka Tonga\", \"1\":\"to\", \"2\":\"ton\", \"2T\":\"ton\", \"2B\":\"ton\", \"3\":\"ton\"},\n {\"name\":\"Turkish\", \"local\":\"Türkçe\", \"1\":\"tr\", \"2\":\"tur\", \"2T\":\"tur\", \"2B\":\"tur\", \"3\":\"tur\"},\n {\"name\":\"Tsonga\", \"local\":\"Xitsonga\", \"1\":\"ts\", \"2\":\"tso\", \"2T\":\"tso\", \"2B\":\"tso\", \"3\":\"tso\"},\n {\"name\":\"Tatar\", \"local\":\"Татарча\", \"1\":\"tt\", \"2\":\"tat\", \"2T\":\"tat\", \"2B\":\"tat\", \"3\":\"tat\"},\n {\"name\":\"Twi\", \"local\":\"Twi\", \"1\":\"tw\", \"2\":\"twi\", \"2T\":\"twi\", \"2B\":\"twi\", \"3\":\"twi\"},\n {\"name\":\"Tahitian\", \"local\":\"Reo Mā’ohi\", \"1\":\"ty\", \"2\":\"tah\", \"2T\":\"tah\", \"2B\":\"tah\", \"3\":\"tah\"},\n {\"name\":\"Uyghur\", \"local\":\"ئۇيغۇرچه\", \"1\":\"ug\", \"2\":\"uig\", \"2T\":\"uig\", \"2B\":\"uig\", \"3\":\"uig\"},\n {\"name\":\"Ukrainian\", \"local\":\"Українська\", \"1\":\"uk\", \"2\":\"ukr\", \"2T\":\"ukr\", \"2B\":\"ukr\", \"3\":\"ukr\"},\n {\"name\":\"Urdu\", \"local\":\"اردو\", \"1\":\"ur\", \"2\":\"urd\", \"2T\":\"urd\", \"2B\":\"urd\", \"3\":\"urd\"},\n {\"name\":\"Uzbek\", \"local\":\"O‘zbek\", \"1\":\"uz\", \"2\":\"uzb\", \"2T\":\"uzb\", \"2B\":\"uzb\", \"3\":\"uzb\"},\n {\"name\":\"Venda\", \"local\":\"Tshivenḓa\", \"1\":\"ve\", \"2\":\"ven\", \"2T\":\"ven\", \"2B\":\"ven\", \"3\":\"ven\"},\n {\"name\":\"Vietnamese\", \"local\":\"Tiếng Việt\", \"1\":\"vi\", \"2\":\"vie\", \"2T\":\"vie\", \"2B\":\"vie\", \"3\":\"vie\"},\n {\"name\":\"Volapük\", \"local\":\"Volapük\", \"1\":\"vo\", \"2\":\"vol\", \"2T\":\"vol\", \"2B\":\"vol\", \"3\":\"vol\"},\n {\"name\":\"Walloon\", \"local\":\"Walon\", \"1\":\"wa\", \"2\":\"wln\", \"2T\":\"wln\", \"2B\":\"wln\", \"3\":\"wln\"},\n {\"name\":\"Welsh\", \"local\":\"Cymraeg\", \"1\":\"cy\", \"2\":\"cym\", \"2T\":\"cym\", \"2B\":\"wel\", \"3\":\"cym\"},\n {\"name\":\"Wolof\", \"local\":\"Wolof\", \"1\":\"wo\", \"2\":\"wol\", \"2T\":\"wol\", \"2B\":\"wol\", \"3\":\"wol\"},\n {\"name\":\"Western Frisian\", \"local\":\"Frysk\", \"1\":\"fy\", \"2\":\"fry\", \"2T\":\"fry\", \"2B\":\"fry\", \"3\":\"fry\"},\n {\"name\":\"Xhosa\", \"local\":\"isiXhosa\", \"1\":\"xh\", \"2\":\"xho\", \"2T\":\"xho\", \"2B\":\"xho\", \"3\":\"xho\"},\n {\"name\":\"Yiddish\", \"local\":\"ייִדיש\", \"1\":\"yi\", \"2\":\"yid\", \"2T\":\"yid\", \"2B\":\"yid\", \"3\":\"yid\"},\n {\"name\":\"Yoruba\", \"local\":\"Yorùbá\", \"1\":\"yo\", \"2\":\"yor\", \"2T\":\"yor\", \"2B\":\"yor\", \"3\":\"yor\"},\n {\"name\":\"Zhuang\", \"local\":\"Cuengh\", \"1\":\"za\", \"2\":\"zha\", \"2T\":\"zha\", \"2B\":\"zha\", \"3\":\"zha\"},\n {\"name\":\"Zulu\", \"local\":\"isiZulu\", \"1\":\"zu\", \"2\":\"zul\", \"2T\":\"zul\", \"2B\":\"zul\", \"3\":\"zul\"}\n];\n","var data = require('./data');\n\nvar langs = {\n all: allLanguages,\n has: hasLanguage,\n codes: getCodes,\n names: getNames,\n where: findBy\n};\n\nmodule.exports = langs;\n\n// allLanguages :: -> Language[]\nfunction allLanguages() {\n return data;\n}\n\n// hasLanguage :: String, String -> Boolean\nfunction hasLanguage(crit, val) {\n return void(0) !== findBy(crit, val);\n}\n\n// getCodes :: String -> String[]\nfunction getCodes(type) {\n if (isValidType(type)) {\n return forAll(data, function getCodesIterator(row) {\n return row[type];\n });\n }\n}\n\n// getNames :: Boolean -> String[]\nfunction getNames(local) {\n return forAll(data, function getNamesIterator(row) {\n return local ? row.local : row.name;\n });\n}\n\n// findBy :: String, String -> Language\nfunction findBy(crit, val) {\n for (var i = 0; i < data.length; i++) {\n if (val === data[i][crit]) {\n return data[i];\n }\n }\n}\n\n// forAll :: Array, Function -> Array\nfunction forAll(arr, fn) {\n var out = [], i;\n for (i = 0; i < arr.length; i++) {\n out.push(fn(arr[i], i));\n }\n\n return out;\n}\n\n// isValidType :: String -> Boolean\nfunction isValidType(type) {\n var types = [1, 2, 3, '1', '2', '2B', '2T', '3'];\n return -1 !== types.indexOf(type);\n}\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, true, true);\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = cloneDeep;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array ? array.length : 0;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\n/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return baseFindIndex(array, baseIsNaN, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a cache value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\nfunction baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\nfunction castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order of result values is determined by the\n * order they occur in the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\nvar intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n});\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = intersection;\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","/*! magnet-uri. MIT License. WebTorrent LLC <https://webtorrent.io/opensource> */\nmodule.exports = magnetURIDecode\nmodule.exports.decode = magnetURIDecode\nmodule.exports.encode = magnetURIEncode\n\nconst base32 = require('thirty-two')\nconst bep53Range = require('bep53-range')\n\n/**\n * Parse a magnet URI and return an object of keys/values\n *\n * @param {string} uri\n * @return {Object} parsed uri\n */\nfunction magnetURIDecode (uri) {\n const result = {}\n\n // Support 'magnet:' and 'stream-magnet:' uris\n const data = uri.split('magnet:?')[1]\n\n const params = (data && data.length >= 0)\n ? data.split('&')\n : []\n\n params.forEach(param => {\n const keyval = param.split('=')\n\n // This keyval is invalid, skip it\n if (keyval.length !== 2) return\n\n const key = keyval[0]\n let val = keyval[1]\n\n // Clean up torrent name\n if (key === 'dn') val = decodeURIComponent(val).replace(/\\+/g, ' ')\n\n // Address tracker (tr), exact source (xs), and acceptable source (as) are encoded\n // URIs, so decode them\n if (key === 'tr' || key === 'xs' || key === 'as' || key === 'ws') {\n val = decodeURIComponent(val)\n }\n\n // Return keywords as an array\n if (key === 'kt') val = decodeURIComponent(val).split('+')\n\n // Cast file index (ix) to a number\n if (key === 'ix') val = Number(val)\n\n // bep53\n if (key === 'so') val = bep53Range.parse(decodeURIComponent(val).split(','))\n\n // If there are repeated parameters, return an array of values\n if (result[key]) {\n if (!Array.isArray(result[key])) {\n result[key] = [result[key]]\n }\n\n result[key].push(val)\n } else {\n result[key] = val\n }\n })\n\n // Convenience properties for parity with `parse-torrent-file` module\n let m\n if (result.xt) {\n const xts = Array.isArray(result.xt) ? result.xt : [result.xt]\n xts.forEach(xt => {\n if ((m = xt.match(/^urn:btih:(.{40})/))) {\n result.infoHash = m[1].toLowerCase()\n } else if ((m = xt.match(/^urn:btih:(.{32})/))) {\n const decodedStr = base32.decode(m[1])\n result.infoHash = Buffer.from(decodedStr, 'binary').toString('hex')\n } else if ((m = xt.match(/^urn:btmh:1220(.{64})/))) {\n result.infoHashV2 = m[1].toLowerCase()\n }\n })\n }\n\n if (result.xs) {\n const xss = Array.isArray(result.xs) ? result.xs : [result.xs]\n xss.forEach(xs => {\n if ((m = xs.match(/^urn:btpk:(.{64})/))) {\n result.publicKey = m[1].toLowerCase()\n }\n })\n }\n\n if (result.infoHash) result.infoHashBuffer = Buffer.from(result.infoHash, 'hex')\n if (result.infoHashV2) result.infoHashV2Buffer = Buffer.from(result.infoHashV2, 'hex')\n if (result.publicKey) result.publicKeyBuffer = Buffer.from(result.publicKey, 'hex')\n\n if (result.dn) result.name = result.dn\n if (result.kt) result.keywords = result.kt\n\n result.announce = []\n if (typeof result.tr === 'string' || Array.isArray(result.tr)) {\n result.announce = result.announce.concat(result.tr)\n }\n\n result.urlList = []\n if (typeof result.as === 'string' || Array.isArray(result.as)) {\n result.urlList = result.urlList.concat(result.as)\n }\n if (typeof result.ws === 'string' || Array.isArray(result.ws)) {\n result.urlList = result.urlList.concat(result.ws)\n }\n\n result.peerAddresses = []\n if (typeof result['x.pe'] === 'string' || Array.isArray(result['x.pe'])) {\n result.peerAddresses = result.peerAddresses.concat(result['x.pe'])\n }\n\n // remove duplicates by converting to Set and back\n result.announce = Array.from(new Set(result.announce))\n result.urlList = Array.from(new Set(result.urlList))\n result.peerAddresses = Array.from(new Set(result.peerAddresses))\n\n return result\n}\n\nfunction magnetURIEncode (obj) {\n obj = Object.assign({}, obj) // clone obj, so we can mutate it\n\n // support using convenience names, in addition to spec names\n // (example: `infoHash` for `xt`, `name` for `dn`)\n\n // Deduplicate xt by using a set\n let xts = new Set()\n if (obj.xt && typeof obj.xt === 'string') xts.add(obj.xt)\n if (obj.xt && Array.isArray(obj.xt)) xts = new Set(obj.xt)\n if (obj.infoHashBuffer) xts.add(`urn:btih:${obj.infoHashBuffer.toString('hex')}`)\n if (obj.infoHash) xts.add(`urn:btih:${obj.infoHash}`)\n if (obj.infoHashV2Buffer) xts.add(obj.xt = `urn:btmh:1220${obj.infoHashV2Buffer.toString('hex')}`)\n if (obj.infoHashV2) xts.add(`urn:btmh:1220${obj.infoHashV2}`)\n const xtsDeduped = Array.from(xts)\n if (xtsDeduped.length === 1) obj.xt = xtsDeduped[0]\n if (xtsDeduped.length > 1) obj.xt = xtsDeduped\n\n if (obj.publicKeyBuffer) obj.xs = `urn:btpk:${obj.publicKeyBuffer.toString('hex')}`\n if (obj.publicKey) obj.xs = `urn:btpk:${obj.publicKey}`\n if (obj.name) obj.dn = obj.name\n if (obj.keywords) obj.kt = obj.keywords\n if (obj.announce) obj.tr = obj.announce\n if (obj.urlList) {\n obj.ws = obj.urlList\n delete obj.as\n }\n if (obj.peerAddresses) obj['x.pe'] = obj.peerAddresses\n\n let result = 'magnet:?'\n Object.keys(obj)\n .filter(key => key.length === 2 || key === 'x.pe')\n .forEach((key, i) => {\n const values = Array.isArray(obj[key]) ? obj[key] : [obj[key]]\n values.forEach((val, j) => {\n if ((i > 0 || j > 0) && ((key !== 'kt' && key !== 'so') || j === 0)) result += '&'\n\n if (key === 'dn') val = encodeURIComponent(val).replace(/%20/g, '+')\n if (key === 'tr' || key === 'as' || key === 'ws') {\n val = encodeURIComponent(val)\n }\n // Don't URI encode BEP46 keys\n if (key === 'xs' && !val.startsWith('urn:btpk:')) {\n val = encodeURIComponent(val)\n }\n if (key === 'kt') val = encodeURIComponent(val)\n if (key === 'so') return\n\n if (key === 'kt' && j > 0) result += `+${val}`\n else result += `${key}=${val}`\n })\n if (key === 'so') result += `${key}=${bep53Range.compose(values)}`\n })\n\n return result\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"error-container\":\"error-container-OJnoc\",\"error-image\":\"error-image-qU9Qo\",\"error-message\":\"error-message-kW59Z\",\"buttons-container\":\"buttons-container-tQonN\",\"button-container\":\"button-container-vLSQK\",\"label\":\"label-Up_te\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"updater-banner\":\"updater-banner-MjMLN\",\"button\":\"button-ixcOU\",\"close\":\"close-Quid9\",\"icon\":\"icon-N2Lyd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fade-in\":\"fade-in-pFkt_\",\"fade-in-no-motion\":\"fade-in-no-motion-lYmxL\",\"slide-up\":\"slide-up-lSxrC\",\"toasts-container\":\"toasts-container-oKECy\",\"tooltip-container\":\"tooltip-container-Qpse8\",\"file-drop-container\":\"file-drop-container-gHJoy\",\"updater-banner-container\":\"updater-banner-container-Bk1mq\",\"router\":\"router-_65XU\",\"loader-container\":\"loader-container-vwvnb\",\"error-container\":\"error-container-VZXwH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toast-item-container\":\"toast-item-container-nG0uk\",\"success\":\"success-eIDTa\",\"icon-container\":\"icon-container-rjAiH\",\"icon\":\"icon-Y4I_O\",\"error\":\"error-quyOd\",\"info\":\"info-KEWq8\",\"info-container\":\"info-container-xD9V6\",\"title-container\":\"title-container-VFReJ\",\"message-container\":\"message-container-znkCj\",\"close-button-container\":\"close-button-container-YtyYE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip-placeholder\":\"tooltip-placeholder-niioe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip-item\":\"tooltip-item-gfYXu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addon-details-container\":\"addon-details-container-tUlp2\",\"title-container\":\"title-container-Ca076\",\"logo\":\"logo-Nynh9\",\"icon\":\"icon-ZYXtC\",\"name-container\":\"name-container-XxPAj\",\"name\":\"name-i0o3Y\",\"version\":\"version-FdUq6\",\"section-container\":\"section-container-N6QHW\",\"section-header\":\"section-header-tbXCb\",\"section-label\":\"section-label-_R7gz\",\"transport-url-label\":\"transport-url-label-upr4V\",\"disclaimer-label\":\"disclaimer-label-I7kvM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addon-details-modal-container\":\"addon-details-modal-container-aBFaQ\",\"addon-details-container\":\"addon-details-container-VdGrt\",\"addon-details-message-container\":\"addon-details-message-container-X2sRf\",\"cancel-button\":\"cancel-button-zuUX6\",\"cancel-button-label\":\"cancel-button-label-ZOQUJ\",\"uninstall-button\":\"uninstall-button-iLxLs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bottom-sheet\":\"bottom-sheet-VtqY2\",\"backdrop\":\"backdrop-Doe6y\",\"container\":\"container-yiLtz\",\"dragging\":\"dragging-ML0cp\",\"heading\":\"heading-xf2ct\",\"handle\":\"handle-TCLds\",\"title\":\"title-QtERv\",\"content\":\"content-ElxXl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button-container\":\"button-container-zVLH6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox\":\"checkbox-_AF32\",\"label\":\"label-UHMAy\",\"link\":\"link-ih0xx\",\"checkbox-container\":\"checkbox-container-O5cy3\",\"checkbox-icon\":\"checkbox-icon-viDqg\",\"disabled\":\"disabled-oxpfi\",\"error\":\"error-LWgU0\",\"checked\":\"checked-cf9YT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chip\":\"chip-L3r9A\",\"active\":\"active-jnhyP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chips\":\"chips-Uw41c\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"color-input-container\":\"color-input-container-FAQiP\",\"transparent-label-container\":\"transparent-label-container-uuGMx\",\"transparent-label\":\"transparent-label-NxKvi\",\"color-picker-container\":\"color-picker-container-szQfD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"color-picker-container\":\"color-picker-container-Cny5U\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"context-menu-container\":\"context-menu-container-TdwXy\",\"context-menu\":\"context-menu-kWx7C\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"event-modal\":\"event-modal-lIGmX\",\"body-container\":\"body-container-x9t4v\",\"image\":\"image-iUBVI\",\"info-container\":\"info-container-ewqxH\",\"title-container\":\"title-container-tBMsA\",\"title\":\"title-lE2cq\",\"label\":\"label-KwjpM\",\"addon-container\":\"addon-container-YNNkt\",\"icon\":\"icon-n54me\",\"name\":\"name-DVEMC\",\"action-button\":\"action-button-QSvOg\",\"button-label\":\"button-label-hRZRW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"horizontal-scroll\":\"horizontal-scroll-pGtUW\",\"left\":\"left-MCk5v\",\"right\":\"right-bxsRb\",\"center\":\"center-J9E02\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main-nav-bars-container\":\"main-nav-bars-container-wNjS5\",\"horizontal-nav-bar\":\"horizontal-nav-bar-ji5GB\",\"vertical-nav-bar\":\"vertical-nav-bar-qGRze\",\"nav-content-container\":\"nav-content-container-zl9hQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-item-container\":\"meta-item-container-Tj0Ib\",\"poster-container\":\"poster-container-qkw48\",\"dismiss-icon-layer\":\"dismiss-icon-layer-BWztF\",\"poster-image-layer\":\"poster-image-layer-KimPZ\",\"play-icon-layer\":\"play-icon-layer-vpQIo\",\"play-icon-outer\":\"play-icon-outer-r3iKR\",\"play-icon-background\":\"play-icon-background-Uazjh\",\"title-bar-container\":\"title-bar-container-1Ba0x\",\"menu-label-container\":\"menu-label-container-ChuX8\",\"poster-shape-poster\":\"poster-shape-poster-MEhNx\",\"poster-shape-square\":\"poster-shape-square-meMeN\",\"poster-shape-landscape\":\"poster-shape-landscape-kF6i8\",\"dismiss-icon\":\"dismiss-icon-db3fv\",\"dismiss-icon-backdrop\":\"dismiss-icon-backdrop-MkuLQ\",\"watched-icon-layer\":\"watched-icon-layer-bi3DO\",\"watched-icon\":\"watched-icon-zuUdK\",\"poster-image\":\"poster-image-NiV7O\",\"placeholder-icon\":\"placeholder-icon-xttvb\",\"play-icon\":\"play-icon-QmEEA\",\"progress-bar-layer\":\"progress-bar-layer-LVYYi\",\"progress-bar\":\"progress-bar-w1rNN\",\"progress-bar-background\":\"progress-bar-background-kyRgp\",\"new-videos\":\"new-videos-cwuD9\",\"layer\":\"layer-dQmEe\",\"icon\":\"icon-gh1t9\",\"label\":\"label-ZZ2m7\",\"title-label\":\"title-label-VnEAc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"action-button-container\":\"action-button-container-sVyRr\",\"icon-container\":\"icon-container-rQBA0\",\"icon\":\"icon-RouVG\",\"label-container\":\"label-container-xslEF\",\"label\":\"label-WCWIO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-links-container\":\"meta-links-container-dh69_\",\"label-container\":\"label-container-dYN2B\",\"links-container\":\"links-container-C8Mw9\",\"link-container\":\"link-container-gHxPW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-preview-placeholder-container\":\"meta-preview-placeholder-container-IVU4R\",\"meta-info-container\":\"meta-info-container-zVaVX\",\"logo-container\":\"logo-container-CES89\",\"duration-release-info-container\":\"duration-release-info-container-JQE0f\",\"duration-container\":\"duration-container-tVH7K\",\"release-info-container\":\"release-info-container-dbZja\",\"genres-container\":\"genres-container-MkCtO\",\"genres-header-container\":\"genres-header-container-XNnjL\",\"genre-label-container\":\"genre-label-container-r3gbk\",\"action-buttons-container\":\"action-buttons-container-FHoD2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ratings-container\":\"ratings-container-eQRLs\",\"icon-container\":\"icon-container-kow_q\",\"icon\":\"icon-QwGlD\",\"disabled\":\"disabled-W7ks1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-preview-container\":\"meta-preview-container-o22hc\",\"compact\":\"compact-ii1zu\",\"meta-info-container\":\"meta-info-container-ub8AH\",\"logo\":\"logo-X3hTV\",\"logo-placeholder\":\"logo-placeholder-rE1ld\",\"runtime-release-info-container\":\"runtime-release-info-container-BGd_r\",\"runtime-label\":\"runtime-label-TzAGI\",\"release-info-label\":\"release-info-label-LPJMB\",\"description-container\":\"description-container-yi8iU\",\"action-buttons-container\":\"action-buttons-container-XbKVa\",\"action-button\":\"action-button-XIZa3\",\"background-image-layer\":\"background-image-layer-kk_WI\",\"background-image\":\"background-image-9zToE\",\"imdb-button-container\":\"imdb-button-container-gGjxp\",\"label\":\"label-MXv72\",\"icon\":\"icon-N_uIU\",\"label-container\":\"label-container-_VXZt\",\"meta-links\":\"meta-links-Xiao3\",\"show-button\":\"show-button-_yuOF\",\"ratings\":\"ratings-zUtHH\",\"share-prompt\":\"share-prompt-QbhIA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-row-placeholder-container\":\"meta-row-placeholder-container-x8ykQ\",\"header-container\":\"header-container-LRLpi\",\"title-container\":\"title-container-RuV2b\",\"see-all-container\":\"see-all-container-GtLII\",\"label\":\"label-FP9bt\",\"icon\":\"icon-U2Gj8\",\"meta-items-container\":\"meta-items-container-M4vN4\",\"meta-item\":\"meta-item-iOgzp\",\"poster-container\":\"poster-container-WX2KD\",\"title-bar-container\":\"title-bar-container-U0ZAT\",\"title-label\":\"title-label-mb1GR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-row-container\":\"meta-row-container-xtlB1\",\"header-container\":\"header-container-tR3Ev\",\"title-container\":\"title-container-Mkwnq\",\"see-all-container\":\"see-all-container-MoOtW\",\"label\":\"label-bytni\",\"icon\":\"icon-Sj7HO\",\"message-container\":\"message-container-KWmlO\",\"meta-items-container\":\"meta-items-container-qcuUA\",\"meta-item\":\"meta-item-QFHCh\",\"poster-shape-poster\":\"poster-shape-poster-LKBza\",\"poster-shape-square\":\"poster-shape-square-g5a1z\",\"poster-shape-landscape\":\"poster-shape-landscape-KmmRZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal-container\":\"modal-container-OuxEF\",\"modal-dialog-container\":\"modal-dialog-container-DZMKq\",\"modal-dialog-background\":\"modal-dialog-background-vZpB_\",\"close-button-container\":\"close-button-container-cmxAp\",\"icon\":\"icon-OYzlV\",\"modal-dialog-content\":\"modal-dialog-content-Xgv7Z\",\"title-container\":\"title-container-v2mmF\",\"body-container\":\"body-container-H80dD\",\"buttons-container\":\"buttons-container-e_JoR\",\"action-button\":\"action-button-eprQG\",\"label\":\"label-wbfsE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label-container\":\"label-container-dhjQS\",\"icon\":\"icon-jg2il\",\"label\":\"label-AR_l8\",\"modal-container\":\"modal-container-WaYOG\",\"menu-container\":\"menu-container-qiz0X\",\"option-container\":\"option-container-mO9yW\",\"no-options-container\":\"no-options-container-z47Tg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"dropdown-MWaxp\",\"open\":\"open-yuN4f\",\"back-button\":\"back-button-dGLHu\",\"back-button-icon\":\"back-button-icon-VdHBJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"option-HcOSE\",\"label\":\"label-IR8xX\",\"icon\":\"icon-I_g2q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"multiselect-menu\":\"multiselect-menu-qMdaj\",\"disabled\":\"disabled-RaqL9\",\"multiselect-button\":\"multiselect-button-XXdgA\",\"label\":\"label-SoEGc\",\"icon\":\"icon-gQU96\",\"open\":\"open-TvFQd\",\"active\":\"active-gKhO5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"nav-menu-popup-label\":\"nav-menu-popup-label-XmUBo\",\"nav-menu-container\":\"nav-menu-container-Pl25j\",\"with-warning\":\"with-warning-SNmXK\",\"user-info-container\":\"user-info-container-uigVE\",\"avatar-container\":\"avatar-container-f6ino\",\"user-info-details\":\"user-info-details-XJ5OH\",\"email-container\":\"email-container-LNcms\",\"email-label\":\"email-label-IFT0d\",\"logout-button-container\":\"logout-button-container-prHdW\",\"logout-label\":\"logout-label-HhwtK\",\"nav-menu-section\":\"nav-menu-section-j87xd\",\"nav-menu-option-container\":\"nav-menu-option-container-Qj9Xh\",\"icon\":\"icon-MRjOP\",\"nav-menu-option-label\":\"nav-menu-option-label-d7fgK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search-bar-container\":\"search-bar-container-asfq1\",\"search-input\":\"search-input-IQ0ZW\",\"placeholder-label\":\"placeholder-label-XyrN_\",\"submit-button-container\":\"submit-button-container-MImNa\",\"icon\":\"icon-TkvAO\",\"menu-container\":\"menu-container-GcXNG\",\"label\":\"label-J908i\",\"title\":\"title-s74ty\",\"search-history-clear\":\"search-history-clear-ap0h8\",\"items\":\"items-P1xS5\",\"item\":\"item-TgYCX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"horizontal-nav-bar-container\":\"horizontal-nav-bar-container-Y_zvK\",\"logo-container\":\"logo-container-jteMT\",\"logo\":\"logo-oPx1q\",\"back-button-container\":\"back-button-container-lDB1N\",\"title\":\"title-DGh6h\",\"search-bar\":\"search-bar-h60ja\",\"buttons-container\":\"buttons-container-Oc5z1\",\"button-container\":\"button-container-xT9_L\",\"icon\":\"icon-T8MU6\",\"menu-button-container\":\"menu-button-container-DtW4v\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"nav-tab-button-container\":\"nav-tab-button-container-dYhs0\",\"label\":\"label-BCz2f\",\"icon\":\"icon-TzPrK\",\"logo\":\"logo-xJBE9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"vertical-nav-bar-container\":\"vertical-nav-bar-container-UPAkA\",\"nav-tab-button\":\"nav-tab-button-tW6qT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"number-input\":\"number-input-igJ35\",\"button\":\"button-GWY2o\",\"icon\":\"icon-EndAk\",\"number-display\":\"number-display-hLJ72\",\"label\":\"label-y4qDZ\",\"value\":\"value-Y2xdx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label-container\":\"label-container-XOyzm\",\"menu-container\":\"menu-container-B6cqK\",\"menu-direction-top-left\":\"menu-direction-top-left-ongjn\",\"menu-direction-bottom-left\":\"menu-direction-bottom-left-Dvtqk\",\"menu-direction-top-right\":\"menu-direction-top-right-tmrFG\",\"menu-direction-bottom-right\":\"menu-direction-bottom-right-aJ89V\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"radio-button\":\"radio-button-SGEc1\",\"radio-container\":\"radio-container-wPddo\",\"inner-circle\":\"inner-circle-vdtUP\",\"disabled\":\"disabled-ZzMU9\",\"error\":\"error-_vY0h\",\"selected\":\"selected-M_zHA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search-bar-container\":\"search-bar-container-sTkGP\",\"search-input\":\"search-input-Q18HV\",\"icon\":\"icon-M3jX0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search-bar-container\":\"search-bar-container-p4tSt\",\"search-input\":\"search-input-bAgAh\",\"icon\":\"icon-QOYfJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"share-prompt-container\":\"share-prompt-container-EXOaj\",\"buttons-container\":\"buttons-container-fiSbJ\",\"button-container\":\"button-container-KJoeC\",\"icon\":\"icon-OX8pK\",\"facebook-button\":\"facebook-button-La6ud\",\"x-button\":\"x-button-pA7ym\",\"reddit-button\":\"reddit-button-sd07c\",\"url-container\":\"url-container-OKpfh\",\"url-text-input\":\"url-text-input-nqDsC\",\"copy-button\":\"copy-button-XmXGg\",\"label\":\"label-gMoQ8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"active-slider-within\":\"active-slider-within-NcgYf\",\"slider-container\":\"slider-container-nJz5F\",\"layer\":\"layer-aC5Vt\",\"track\":\"track-gItfW\",\"audio-boost\":\"audio-boost-AyRq0\",\"track-before\":\"track-before-kJzIb\",\"track-after\":\"track-after-pUXC0\",\"thumb\":\"thumb-PiTF5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text-input\":\"text-input-hnLiz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toggle-container\":\"toggle-container-lZfHP\",\"toggle\":\"toggle-toOWM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"video-placeholder-container\":\"video-placeholder-container-DgoIs\",\"info-container\":\"info-container-BATmf\",\"name-container\":\"name-container-N4C39\",\"released-container\":\"released-container-egHHb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"video-container\":\"video-container-ezBpK\",\"thumbnail-container\":\"thumbnail-container-Zm8Cl\",\"thumbnail\":\"thumbnail-J81W3\",\"blurred\":\"blurred-ZmA2z\",\"placeholder-icon\":\"placeholder-icon-GNOI3\",\"progress-bar-container\":\"progress-bar-container-w8eFT\",\"progress-bar\":\"progress-bar-E23CT\",\"progress-bar-background\":\"progress-bar-background-Q7aEH\",\"info-container\":\"info-container-xyynk\",\"title-container\":\"title-container-NcfV9\",\"flex-row-container\":\"flex-row-container-CAyQu\",\"released-container\":\"released-container-XLPqf\",\"upcoming-watched-container\":\"upcoming-watched-container-msCaq\",\"upcoming-container\":\"upcoming-container-LXfQ7\",\"watched-container\":\"watched-container-gvzs3\",\"flag-icon\":\"flag-icon-RDrvf\",\"flag-label\":\"flag-label-zJloD\",\"context-menu-content\":\"context-menu-content-ItIFy\",\"context-menu-option-container\":\"context-menu-option-container-KNVWj\",\"context-menu-option-label\":\"context-menu-option-label-dy2nc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addon-container\":\"addon-container-lC5KN\",\"logo-container\":\"logo-container-ZcSSC\",\"logo\":\"logo-WrsGF\",\"icon\":\"icon-GxVbY\",\"info-container\":\"info-container-AdMB6\",\"name-container\":\"name-container-qIAg8\",\"version-container\":\"version-container-zdPyN\",\"types-container\":\"types-container-DaOrg\",\"description-container\":\"description-container-v7Jhe\",\"buttons-container\":\"buttons-container-g0xXr\",\"action-buttons-container\":\"action-buttons-container-xMVmz\",\"install-button-container\":\"install-button-container-yfcq5\",\"configure-button-container\":\"configure-button-container-VwVAQ\",\"uninstall-button-container\":\"uninstall-button-container-oV4Yo\",\"share-button-container\":\"share-button-container-s3gwP\",\"label\":\"label-OnWh2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addon-container\":\"addon-container-A53Om\",\"content\":\"content-gjK8A\",\"logo-container\":\"logo-container-uixVa\",\"info-container\":\"info-container-EuwPe\",\"placeholder-pill\":\"placeholder-pill-OmvfW\",\"buttons-container\":\"buttons-container-_S1YF\",\"action-buttons-container\":\"action-buttons-container-bYZoV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addons-container\":\"addons-container-ogGYu\",\"addons-content\":\"addons-content-zhFBl\",\"addons-list-container\":\"addons-list-container-Ovr2Z\",\"selectable-inputs-container\":\"selectable-inputs-container-tUul1\",\"add-button-container\":\"add-button-container-SkafT\",\"icon\":\"icon-HsyZS\",\"add-button-label\":\"add-button-label-NN6bu\",\"select-input-container\":\"select-input-container-KqG8N\",\"spacing\":\"spacing-wH1w5\",\"search-bar\":\"search-bar-k7MXd\",\"filter-button\":\"filter-button-lLJ1X\",\"filter-icon\":\"filter-icon-LUDTS\",\"message-container\":\"message-container-GBw0P\",\"addon\":\"addon-whmdO\",\"filters-modal\":\"filters-modal-w6oWY\",\"add-addon-modal-container\":\"add-addon-modal-container-KR5ny\",\"notice\":\"notice-UQkO1\",\"addon-url-input\":\"addon-url-input-ucetZ\",\"cancel-button\":\"cancel-button-R2AxR\",\"share-modal-container\":\"share-modal-container-DkzPM\",\"title-container\":\"title-container-La49g\",\"logo\":\"logo-PmYDP\",\"name-container\":\"name-container-m_Sz0\",\"name\":\"name-YD0xd\",\"version\":\"version-wuAFB\",\"share-prompt-container\":\"share-prompt-container-vaK4P\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"warning-container\":\"warning-container-_GJlx\",\"warning-statement\":\"warning-statement-MQjVq\",\"actions\":\"actions-IOe34\",\"action\":\"action-t06kj\",\"label\":\"label-PkwRv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"board-container\":\"board-container-DTN_b\",\"board-content-container\":\"board-content-container-ToQTz\",\"board-content\":\"board-content-nPWv1\",\"board-row\":\"board-row-CoJrZ\",\"board-warning-container\":\"board-warning-container-a4m04\",\"board-row-poster\":\"board-row-poster-QPQqC\",\"board-row-square\":\"board-row-square-pgaZ3\",\"continue-watching-row\":\"continue-watching-row-ZiNSa\",\"board-row-landscape\":\"board-row-landscape-FRGXx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"calendar\":\"calendar-cH2jw\",\"content\":\"content-wBwrQ\",\"main\":\"main-vWt7d\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"details\":\"details-EuHwi\",\"video\":\"video-BIs3a\",\"name\":\"name-vpn8u\",\"info\":\"info-n1Tz1\",\"icon\":\"icon-Di3yP\",\"placeholder\":\"placeholder-Kigxt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"item\":\"item-PwXPg\",\"heading\":\"heading-aqSxF\",\"body\":\"body-pUnX4\",\"video\":\"video-XnjiE\",\"name\":\"name-tepO3\",\"info\":\"info-dnUvu\",\"icon\":\"icon-bz23A\",\"placeholder\":\"placeholder-NxxV1\",\"text\":\"text-x3anZ\",\"today\":\"today-JJfHO\",\"active\":\"active-ymNy0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"list\":\"list-fa_2a\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"placeholder\":\"placeholder-pCQTz\",\"title\":\"title-bE4zd\",\"image-container\":\"image-container-DOkaE\",\"image\":\"image-qgtvg\",\"overview\":\"overview-RGglv\",\"point\":\"point-iTc1_\",\"icon\":\"icon-Y5Zkw\",\"text\":\"text-Pa9GN\",\"button-container\":\"button-container-fBjqZ\",\"button\":\"button-DsyS9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selector\":\"selector-uRGQ6\",\"prev\":\"prev-__2gh\",\"next\":\"next-t6hvT\",\"label\":\"label-xSEWG\",\"icon\":\"icon-ixEYr\",\"selected\":\"selected-lBBwk\",\"year\":\"year-jHuog\",\"month\":\"month-VlFJ6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cell\":\"cell-l3eWl\",\"heading\":\"heading-TYXvp\",\"day\":\"day-nttmc\",\"items\":\"items-ZZ9Jt\",\"item\":\"item-qsUNQ\",\"icon\":\"icon-F3Uu8\",\"poster\":\"poster-goLqZ\",\"more\":\"more-gGKzA\",\"today\":\"today-G8kuO\",\"active\":\"active-KC8sV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"table\":\"table-QbfK0\",\"week\":\"week-mTZNI\",\"day\":\"day-LPW9e\",\"long\":\"long-UpX3r\",\"short\":\"short-MoF9_\",\"grid\":\"grid-cUaUg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"discover-container\":\"discover-container-L6OGL\",\"discover-content\":\"discover-content-CRsRg\",\"catalog-container\":\"catalog-container-VNK_T\",\"meta-items-container\":\"meta-items-container-n8vNz\",\"selectable-inputs-container\":\"selectable-inputs-container-IRz50\",\"select-input\":\"select-input-CHDbe\",\"filter-container\":\"filter-container-BVkqT\",\"filter-button\":\"filter-button-GU_n0\",\"filter-icon\":\"filter-icon-zlFnX\",\"missing-addon-warning-container\":\"missing-addon-warning-container-IXGuv\",\"warning-label\":\"warning-label-f19Jg\",\"install-button\":\"install-button-SmJe1\",\"label\":\"label-ToW4S\",\"message-container\":\"message-container-Zv9eF\",\"image\":\"image-txC9E\",\"message-label\":\"message-label-mRyRX\",\"meta-item-placeholder\":\"meta-item-placeholder-wxG4I\",\"poster-container\":\"poster-container-Dch4R\",\"title-bar-container\":\"title-bar-container-dtDnk\",\"title-label\":\"title-label-vHdQd\",\"meta-preview-container\":\"meta-preview-container-CoWs5\",\"selectable-inputs-modal\":\"selectable-inputs-modal-ChpOa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"password-reset-modal-container\":\"password-reset-modal-container-KzJPQ\",\"credentials-text-input\":\"credentials-text-input-ncrIR\",\"error-message\":\"error-message-DkekN\",\"cancel-button\":\"cancel-button-AneJE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"intro-container\":\"intro-container-tkNS6\",\"background-container\":\"background-container-aYKCH\",\"heading-container\":\"heading-container-oI70m\",\"logo-container\":\"logo-container-W49kt\",\"logo\":\"logo-WJ36F\",\"title-container\":\"title-container-CbIkM\",\"slogan-container\":\"slogan-container-UlcYd\",\"content-container\":\"content-container-A1Drn\",\"form-button\":\"form-button-vyqqj\",\"icon\":\"icon-L_6b6\",\"label\":\"label-uHD7L\",\"uppercase\":\"uppercase-UbR3f\",\"submit-button\":\"submit-button-x3L8z\",\"guest-login-button\":\"guest-login-button-D8DWZ\",\"signup-form-button\":\"signup-form-button-UGmSk\",\"login-form-button\":\"login-form-button-DqJUV\",\"form-container\":\"form-container-HMlEh\",\"credentials-text-input\":\"credentials-text-input-QMCZz\",\"forgot-password-link-container\":\"forgot-password-link-container-ygZqb\",\"forgot-password-link\":\"forgot-password-link-NxNUD\",\"error-message\":\"error-message-cKdzB\",\"options-container\":\"options-container-qxboQ\",\"facebook-button\":\"facebook-button-LZ_kG\",\"apple-button\":\"apple-button-V5nEI\",\"loading-modal-container\":\"loading-modal-container-eLyTm\",\"loader-container\":\"loader-container-oe8rU\",\"flash\":\"flash-wUFXY\",\"button\":\"button-ryGtP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"placeholder\":\"placeholder-XbuMS\",\"title\":\"title-eBwtZ\",\"image-container\":\"image-container-YnqQ_\",\"image\":\"image-yTheT\",\"overview\":\"overview-nYi3n\",\"point\":\"point-vQhRj\",\"icon\":\"icon-RD7Oa\",\"text\":\"text-NNOtt\",\"button-container\":\"button-container-HU08c\",\"button\":\"button-GHZkA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"library-container\":\"library-container-zM_bj\",\"library-content\":\"library-content-PgX4O\",\"meta-items-container\":\"meta-items-container-IKrND\",\"selectable-inputs-container\":\"selectable-inputs-container-hR3or\",\"select-input-container\":\"select-input-container-H1VZ1\",\"message-container\":\"message-container-MhY5t\",\"image\":\"image-csRHm\",\"message-label\":\"message-label-UExl3\",\"selectable-inputs-modal\":\"selectable-inputs-modal-rHlo7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button-container\":\"button-container-PmUa2\",\"label\":\"label-sAyL4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"background\":\"background-Xro_t\",\"icon\":\"icon-UFaeB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stream-placeholder-container\":\"stream-placeholder-container-T1nxv\",\"addon-container\":\"addon-container-pm1P0\",\"addon-name\":\"addon-name-zAOKP\",\"info-container\":\"info-container-Z1Dl6\",\"description-container\":\"description-container-ZOMcn\",\"play-icon\":\"play-icon-MXqj3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stream-container\":\"stream-container-JPdah\",\"icon\":\"icon-rAZvO\",\"info-container\":\"info-container-TihQo\",\"thumbnail\":\"thumbnail-whoms\",\"placeholder-icon\":\"placeholder-icon-znYz0\",\"addon-name\":\"addon-name-tC8PX\",\"progress-bar-container\":\"progress-bar-container-ADRp_\",\"progress-bar\":\"progress-bar-XrEBL\",\"progress-bar-background\":\"progress-bar-background-HueVQ\",\"description-container\":\"description-container-vW_De\",\"menu-icon\":\"menu-icon-JD2rP\",\"context-menu-content\":\"context-menu-content-Xe_lN\",\"context-menu-title\":\"context-menu-title-aoWE4\",\"context-menu-option-container\":\"context-menu-option-container-BZGla\",\"context-menu-option-label\":\"context-menu-option-label-EbNNz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"streams-list-container\":\"streams-list-container-xYMJo\",\"message-container\":\"message-container-f9_L4\",\"search\":\"search-Bo8nu\",\"image\":\"image-rIyu6\",\"label\":\"label-luvnO\",\"addons-loading-container\":\"addons-loading-container-Vkwp3\",\"addons-loading\":\"addons-loading-zhdQr\",\"addons-loading-bar\":\"addons-loading-bar-MqT59\",\"select-choices-wrapper\":\"select-choices-wrapper-xGzfs\",\"back-button-container\":\"back-button-container-cJ4bk\",\"icon\":\"icon-SoFgF\",\"episode-title\":\"episode-title-dln_c\",\"select-input-container\":\"select-input-container-irGn_\",\"streams-container\":\"streams-container-bbSc4\",\"install-button-container\":\"install-button-container-Q60yJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"seasons-bar-placeholder-container\":\"seasons-bar-placeholder-container-M81RN\",\"prev-season-button\":\"prev-season-button-TCbOq\",\"next-season-button\":\"next-season-button-oGnlT\",\"icon\":\"icon-UzQjF\",\"label\":\"label-lmBnj\",\"seasons-popup-label-container\":\"seasons-popup-label-container-r2UDB\",\"seasons-popup-label\":\"seasons-popup-label-xBinL\",\"seasons-popup-icon\":\"seasons-popup-icon-p1T5d\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"seasons-bar-container\":\"seasons-bar-container-nOZjG\",\"prev-season-button\":\"prev-season-button-bs1GQ\",\"next-season-button\":\"next-season-button-RrYAq\",\"disabled\":\"disabled-WJy2x\",\"label\":\"label-uJbfD\",\"icon\":\"icon-_ZBEE\",\"seasons-popup-label-container\":\"seasons-popup-label-container-fZcu4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"videos-list-container\":\"videos-list-container-NepX5\",\"message-container\":\"message-container-_hhmQ\",\"episode-picker\":\"episode-picker-JPpsC\",\"image\":\"image-_xAbP\",\"label\":\"label-Ff1_X\",\"notifications-toggle\":\"notifications-toggle-PaWY3\",\"seasons-bar\":\"seasons-bar-Ma8vp\",\"search-bar\":\"search-bar-mZHWa\",\"videos-container\":\"videos-container-msX8s\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"metadetails-container\":\"metadetails-container-K_Dqa\",\"background-image-layer\":\"background-image-layer-wJa90\",\"background-image\":\"background-image-tSjYu\",\"nav-bar\":\"nav-bar-MH6Vk\",\"metadetails-content\":\"metadetails-content-Uz5EV\",\"vertical-nav-bar\":\"vertical-nav-bar-B39nq\",\"meta-message-container\":\"meta-message-container-MJZN5\",\"image\":\"image-R1LcJ\",\"message-label\":\"message-label-Uz4_P\",\"meta-preview\":\"meta-preview-ES0h3\",\"spacing\":\"spacing-rgIYg\",\"videos-list\":\"videos-list-nE0LJ\",\"streams-list\":\"streams-list-Y1lCM\",\"meta-extension-modal-container\":\"meta-extension-modal-container-gHjqy\",\"meta-extension-modal-iframe\":\"meta-extension-modal-iframe-GGHlm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"not-found-container\":\"not-found-container-Q1qsP\",\"nav-bar\":\"nav-bar-Eu3_y\",\"not-found-content\":\"not-found-content-z_Eza\",\"not-found-image\":\"not-found-image-Qab4G\",\"not-found-label\":\"not-found-label-mmwyZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"audio-menu\":\"audio-menu-qB4SQ\",\"container\":\"container-lNRgG\",\"header\":\"header-yT4vp\",\"list\":\"list-lt_h8\",\"option\":\"option-COcvW\",\"info\":\"info-BPG2q\",\"lang\":\"lang-EXxoG\",\"label\":\"label-_DvDN\",\"icon\":\"icon-DebLV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buffering-loader-container\":\"buffering-loader-container-P7S0m\",\"buffering-loader\":\"buffering-loader-fMSpb\",\"fadeInOut\":\"fadeInOut-WS5RD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"seek-bar-container\":\"seek-bar-container-JGGTa\",\"label\":\"label-QFbsS\",\"slider\":\"slider-hBDOf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"volume-slider\":\"volume-slider-G_xAt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"control-bar-container\":\"control-bar-container-xsWA7\",\"seek-bar\":\"seek-bar-I7WeY\",\"control-bar-buttons-container\":\"control-bar-buttons-container-SWhkU\",\"control-bar-button\":\"control-bar-button-FQUsj\",\"icon\":\"icon-qy6I6\",\"volume-slider\":\"volume-slider-U9jfo\",\"spacing\":\"spacing-p8NJQ\",\"control-bar-buttons-menu-button\":\"control-bar-buttons-menu-button-h0MWd\",\"control-bar-buttons-menu-container\":\"control-bar-buttons-menu-container-M6L0_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"error\":\"error-ty_iB\",\"error-label\":\"error-label-lyLDv\",\"error-sub\":\"error-sub-rdwAf\",\"playlist-button\":\"playlist-button-tZTCo\",\"icon\":\"icon-fIGRf\",\"label\":\"label-Z7jSJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"indicator-container\":\"indicator-container-wgAZn\",\"indicator\":\"indicator-jM65y\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"next-video-popup-container\":\"next-video-popup-container-H4wnL\",\"slide-fade-in\":\"slide-fade-in-rk2M8\",\"poster-container\":\"poster-container-tXZjA\",\"poster-image\":\"poster-image-2D6wg\",\"blurred\":\"blurred-rcoS5\",\"placeholder-icon\":\"placeholder-icon-fu1rK\",\"info-container\":\"info-container-KLOMx\",\"details-container\":\"details-container-bUOTZ\",\"name\":\"name-sIiDL\",\"label\":\"label-zOq_w\",\"title\":\"title-Z5Kgo\",\"buttons-container\":\"buttons-container-iYrpZ\",\"spacing\":\"spacing-iFwsN\",\"button-container\":\"button-container-i4F7t\",\"play-button\":\"play-button-Dluk6\",\"icon\":\"icon-N3Ewm\",\"dismiss\":\"dismiss-IvEL_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option-container\":\"option-container-m_jZq\",\"icon\":\"icon-krR0X\",\"label\":\"label-cmqqu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"options-menu-container\":\"options-menu-container-qlzLt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"side-drawer\":\"side-drawer-r9EuA\",\"close-button\":\"close-button-ruzkn\",\"icon\":\"icon-k44IU\",\"info\":\"info-hhNTg\",\"side-drawer-meta-preview\":\"side-drawer-meta-preview-pB8v6\",\"series-content\":\"series-content-VkYHB\",\"videos\":\"videos-nRM2D\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"side-drawer-button\":\"side-drawer-button-lVLKS\",\"icon\":\"icon-g5Oo_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"option-_O96j\",\"icon\":\"icon-kqaPF\",\"label\":\"label-FEOiu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"speed-menu-container\":\"speed-menu-container-ABjzc\",\"title\":\"title-Hu2Dm\",\"options-container\":\"options-container-DNn3D\",\"option\":\"option-GcPlB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"statistics-menu-container\":\"statistics-menu-container-DhiHn\",\"title\":\"title-NCwWH\",\"label\":\"label-h6nN_\",\"value\":\"value-E8Ftb\",\"stats\":\"stats-Tr37t\",\"stat\":\"stat-zoq5A\",\"info-hash\":\"info-hash-GT1Cv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stepper\":\"stepper-OL8zv\",\"header\":\"header-fEtxa\",\"content\":\"content-A6qIn\",\"button\":\"button-fisbt\",\"icon\":\"icon-zdvuT\",\"value\":\"value-Z6LnU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"subtitles-menu-container\":\"subtitles-menu-container-PxBRZ\",\"languages-container\":\"languages-container-NS7H9\",\"variants-container\":\"variants-container-XglzH\",\"subtitles-settings-container\":\"subtitles-settings-container-LhRGS\",\"languages-header\":\"languages-header-jGNcK\",\"variants-header\":\"variants-header-TsVSR\",\"settings-header\":\"settings-header-eaWnm\",\"languages-list\":\"languages-list-sxIwI\",\"variants-list\":\"variants-list-yZo6B\",\"language-option\":\"language-option-O1Yr9\",\"variant-option\":\"variant-option-t7_LA\",\"language-label\":\"language-label-FjjqA\",\"variant-label\":\"variant-label-opjnP\",\"variant-origin\":\"variant-origin-SVnd1\",\"icon\":\"icon-I1Ruh\",\"info\":\"info-mxjJh\",\"no-variants-container\":\"no-variants-container-q6u1Q\",\"no-variants-label\":\"no-variants-label-RmDKZ\",\"settings-list\":\"settings-list-mhZV6\",\"spacing\":\"spacing-AWJpt\",\"stepper\":\"stepper-FTDeY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"video-container\":\"video-container-v9_vA\",\"video\":\"video-tkpQm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"volume-change-indicator\":\"volume-change-indicator-EWypD\",\"volume-icon\":\"volume-icon-zn9zT\",\"volume-slider\":\"volume-slider-FKN0X\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"player-container\":\"player-container-wIELK\",\"overlayHidden\":\"overlayHidden-gyjIy\",\"nav-bar-layer\":\"nav-bar-layer-r9HT5\",\"control-bar-layer\":\"control-bar-layer-m2jto\",\"menu-layer\":\"menu-layer-HZFG9\",\"side-drawer-button-layer\":\"side-drawer-button-layer-RrB8k\",\"layer\":\"layer-qalDW\",\"buffering-layer\":\"buffering-layer-ZZCYp\",\"error-layer\":\"error-layer-RCEZC\",\"background-layer\":\"background-layer-ldsp8\",\"image\":\"image-XxZuJ\",\"indicator-layer\":\"indicator-layer-EpiA6\",\"side-drawer-layer\":\"side-drawer-layer-CZtJ1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search-container\":\"search-container-uXEFf\",\"search-content\":\"search-content-LX6un\",\"search-row\":\"search-row-EQLaD\",\"search-hints-wrapper\":\"search-hints-wrapper-IjhmE\",\"search-hints-title-container\":\"search-hints-title-container-MXt8W\",\"search-hints-title\":\"search-hints-title-cigX3\",\"search-hints-container\":\"search-hints-container-FHpPM\",\"search-hint-container\":\"search-hint-container-kd8iX\",\"icon\":\"icon-fOZZl\",\"label\":\"label-l6wxz\",\"message-container\":\"message-container-YAunr\",\"image\":\"image-Xuwya\",\"message-label\":\"message-label-K8LPz\",\"search-row-poster\":\"search-row-poster-m7CUE\",\"search-row-square\":\"search-row-square-VesJA\",\"search-row-landscape\":\"search-row-landscape-o3Lfv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"trakt-container\":\"trakt-container-wWlM8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"user\":\"user-qhCA4\",\"user-info-content\":\"user-info-content-uzAvu\",\"avatar-container\":\"avatar-container-DeGD6\",\"email-logout-container\":\"email-logout-container-YPJlN\",\"email-label-container\":\"email-label-container-NEqIq\",\"email-label\":\"email-label-LXltS\",\"user-panel-container\":\"user-panel-container-WxLTU\",\"user-panel-label\":\"user-panel-label-KmZCD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"info\":\"info-nBG5H\",\"label\":\"label-ldqPK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menu\":\"menu-xeE06\",\"button\":\"button-DNmYL\",\"selected\":\"selected-S7SeK\",\"spacing\":\"spacing-PVpEn\",\"version-info-label\":\"version-info-label-rSTCy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"settings-container\":\"settings-container-_g1tS\",\"settings-content\":\"settings-content-co5eU\",\"sections-container\":\"sections-container-ZaZpD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"shortcut-container\":\"shortcut-container-iOrn9\",\"label\":\"label-UWwT7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"configure-input-container\":\"configure-input-container-IqUdN\",\"label\":\"label-bkapj\",\"configure-button-container\":\"configure-button-container-tJJ5b\",\"icon\":\"icon-DoVQm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"add-item\":\"add-item-EBrwa\",\"input\":\"input-iITch\",\"actions\":\"actions-a9mxc\",\"add\":\"add-IsY_6\",\"cancel\":\"cancel-gSD5_\",\"icon\":\"icon-lYjLQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"item\":\"item-A9qrP\",\"content\":\"content-SRbPn\",\"selectable\":\"selectable-qF2vl\",\"label\":\"label-WLvfI\",\"actions\":\"actions-QcMQ_\",\"status\":\"status-crByJ\",\"icon\":\"icon-aswqE\",\"ready\":\"ready-VKkmT\",\"error\":\"error-sL3We\",\"delete\":\"delete-mV6G_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"wrapper-mdG7D\",\"header\":\"header-epxi0\",\"label\":\"label-Yi3xl\",\"content\":\"content-XG6N_\",\"item\":\"item-hsmmX\",\"footer\":\"footer-Bo7gV\",\"add-url\":\"add-url-fEacA\",\"icon\":\"icon-L0f3e\",\"reload\":\"reload-OVkwB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"category\":\"category-GP0hI\",\"heading\":\"heading-XePFl\",\"label\":\"label-N_O2v\",\"icon\":\"icon-oZoyV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"link-FrL1t\",\"label\":\"label-PJvSJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"option-vFOAS\",\"heading\":\"heading-dYMDt\",\"content\":\"content-P2T0i\",\"icon\":\"icon-fE4hv\",\"label\":\"label-qI6Vh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"section\":\"section-hcYuV\",\"label\":\"label-wXG3e\"};","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nvar quotes = {\n __proto__: null,\n 'double': '\"',\n single: \"'\"\n};\nvar quoteREs = {\n __proto__: null,\n 'double': /([\"\\\\])/g,\n single: /(['\\\\])/g\n};\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && !has(quotes, opts.quoteStyle)) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other\n /* eslint-env browser */\n if (typeof window !== 'undefined' && obj === window) {\n return '{ [object Window] }';\n }\n if (\n (typeof globalThis !== 'undefined' && obj === globalThis)\n || (typeof global !== 'undefined' && obj === global)\n ) {\n return '{ [object globalThis] }';\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var style = opts.quoteStyle || defaultStyle;\n var quoteChar = quotes[style];\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n var quoteRE = quoteREs[opts.quoteStyle || 'single'];\n quoteRE.lastIndex = 0;\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, quoteRE, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowEmptyArrays: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decodeDotInKeys: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n duplicates: 'combine',\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictDepth: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = { __proto__: null };\n\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n cleanStr = cleanStr.replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key;\n var val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(String(val));\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n var existing = has.call(obj, key);\n if (existing && options.duplicates === 'combine') {\n obj[key] = utils.combine(obj[key], val);\n } else if (!existing || options.duplicates === 'last') {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = options.allowEmptyArrays && (leaf === '' || (options.strictNullHandling && leaf === null))\n ? []\n : [].concat(leaf);\n } else {\n obj = options.plainObjects ? { __proto__: null } : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, '.') : cleanRoot;\n var index = parseInt(decodedRoot, 10);\n if (!options.parseArrays && decodedRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== decodedRoot\n && String(index) === decodedRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (decodedRoot !== '__proto__') {\n obj[decodedRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, check strictDepth option for throw, else just add whatever is left\n\n if (segment) {\n if (options.strictDepth === true) {\n throw new RangeError('Input depth exceeded depth option of ' + options.depth + ' and strictDepth is true');\n }\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n\n if (typeof opts.decodeDotInKeys !== 'undefined' && typeof opts.decodeDotInKeys !== 'boolean') {\n throw new TypeError('`decodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n\n if (opts.decoder !== null && typeof opts.decoder !== 'undefined' && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n var duplicates = typeof opts.duplicates === 'undefined' ? defaults.duplicates : opts.duplicates;\n\n if (duplicates !== 'combine' && duplicates !== 'first' && duplicates !== 'last') {\n throw new TypeError('The duplicates option must be either combine, first, or last');\n }\n\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.decodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n return {\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decodeDotInKeys: typeof opts.decodeDotInKeys === 'boolean' ? opts.decodeDotInKeys : defaults.decodeDotInKeys,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n duplicates: duplicates,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictDepth: typeof opts.strictDepth === 'boolean' ? !!opts.strictDepth : defaults.strictDepth,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? { __proto__: null } : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? { __proto__: null } : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n allowEmptyArrays: false,\n arrayFormat: 'indices',\n charset: 'utf-8',\n charsetSentinel: false,\n commaRoundTrip: false,\n delimiter: '&',\n encode: true,\n encodeDotInKeys: false,\n encoder: utils.encode,\n encodeValuesOnly: false,\n filter: void undefined,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n allowEmptyArrays,\n strictNullHandling,\n skipNulls,\n encodeDotInKeys,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var encodedPrefix = encodeDotInKeys ? String(prefix).replace(/\\./g, '%2E') : String(prefix);\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + '[]' : encodedPrefix;\n\n if (allowEmptyArrays && isArray(obj) && obj.length === 0) {\n return adjustedPrefix + '[]';\n }\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && key && typeof key.value !== 'undefined'\n ? key.value\n : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var encodedKey = allowDots && encodeDotInKeys ? String(key).replace(/\\./g, '%2E') : String(key);\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + encodedKey : '[' + encodedKey + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n allowEmptyArrays,\n strictNullHandling,\n skipNulls,\n encodeDotInKeys,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n\n if (typeof opts.encodeDotInKeys !== 'undefined' && typeof opts.encodeDotInKeys !== 'boolean') {\n throw new TypeError('`encodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n var arrayFormat;\n if (opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if ('indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = defaults.arrayFormat;\n }\n\n if ('commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n arrayFormat: arrayFormat,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n commaRoundTrip: !!opts.commaRoundTrip,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encodeDotInKeys: typeof opts.encodeDotInKeys === 'boolean' ? opts.encodeDotInKeys : defaults.encodeDotInKeys,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat];\n var commaRoundTrip = generateArrayPrefix === 'comma' && options.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n var value = obj[key];\n\n if (options.skipNulls && value === null) {\n continue;\n }\n pushToArray(keys, stringify(\n value,\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.allowEmptyArrays,\n options.strictNullHandling,\n options.skipNulls,\n options.encodeDotInKeys,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? { __proto__: null } : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object' && typeof source !== 'function') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if (\n (options && (options.plainObjects || options.allowPrototypes))\n || !has.call(Object.prototype, source)\n ) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, defaultDecoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar limit = 1024;\n\n/* eslint operator-linebreak: [2, \"before\"] */\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var j = 0; j < string.length; j += limit) {\n var segment = string.length >= limit ? string.slice(j, j + limit) : string;\n var arr = [];\n\n for (var i = 0; i < segment.length; ++i) {\n var c = segment.charCodeAt(i);\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n arr[arr.length] = segment.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n arr[arr.length] = hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n arr[arr.length] = hexTable[0xC0 | (c >> 6)]\n + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n arr[arr.length] = hexTable[0xE0 | (c >> 12)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (segment.charCodeAt(i) & 0x3FF));\n\n arr[arr.length] = hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n out += arr.join('');\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;\nfunction Lg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction Mg(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function Ng(a){var b=a._init;return b(a._payload)}\nfunction Og(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Pg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Qg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&Ng(f)===b.type))return d=e(b,c.props),d.ref=Lg(a,b,c),d.return=a,d;d=Rg(c.type,c.key,c.props,null,a.mode,d);d.ref=Lg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=Sg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Tg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=Qg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=Rg(b.type,b.key,b.props,null,a.mode,c),\nc.ref=Lg(a,null,b),c.return=a,c;case wa:return b=Sg(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Tg(b,a.mode,c,null),b.return=a,b;Mg(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);Mg(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);Mg(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var th={},uh=Uf(th),vh=Uf(th),wh=Uf(th);function xh(a){if(a===th)throw Error(p(174));return a}\nfunction yh(a,b){G(wh,b);G(vh,a);G(uh,th);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(uh);G(uh,b)}function zh(){E(uh);E(vh);E(wh)}function Ah(a){xh(wh.current);var b=xh(uh.current);var c=lb(b,a.type);b!==c&&(G(vh,a),G(uh,c))}function Bh(a){vh.current===a&&(E(uh),E(vh))}var L=Uf(0);\nfunction Ch(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Dh=[];\nfunction Eh(){for(var a=0;a<Dh.length;a++)Dh[a]._workInProgressVersionPrimary=null;Dh.length=0}var Fh=ua.ReactCurrentDispatcher,Gh=ua.ReactCurrentBatchConfig,Hh=0,M=null,N=null,O=null,Ih=!1,Jh=!1,Kh=0,Lh=0;function P(){throw Error(p(321));}function Mh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Nh(a,b,c,d,e,f){Hh=f;M=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Fh.current=null===a||null===a.memoizedState?Oh:Ph;a=c(d,e);if(Jh){f=0;do{Jh=!1;Kh=0;if(25<=f)throw Error(p(301));f+=1;O=N=null;b.updateQueue=null;Fh.current=Qh;a=c(d,e)}while(Jh)}Fh.current=Rh;b=null!==N&&null!==N.next;Hh=0;O=N=M=null;Ih=!1;if(b)throw Error(p(300));return a}function Sh(){var a=0!==Kh;Kh=0;return a}\nfunction Th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===O?M.memoizedState=O=a:O=O.next=a;return O}function Uh(){if(null===N){var a=M.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===O?M.memoizedState:O.next;if(null!==b)O=b,N=a;else{if(null===a)throw Error(p(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===O?M.memoizedState=O=a:O=O.next=a}return O}\nfunction Vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Wh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Hh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;M.lanes|=m;rh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(dh=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,M.lanes|=f,rh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction Xh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(dh=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function Yh(){}\nfunction Zh(a,b){var c=M,d=Uh(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,dh=!0);d=d.queue;$h(ai.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==O&&O.memoizedState.tag&1){c.flags|=2048;bi(9,ci.bind(null,c,d,e,b),void 0,null);if(null===Q)throw Error(p(349));0!==(Hh&30)||di(c,b,e)}return e}function di(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction ci(a,b,c,d){b.value=c;b.getSnapshot=d;ei(b)&&fi(a)}function ai(a,b,c){return c(function(){ei(b)&&fi(a)})}function ei(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function fi(a){var b=ih(a,1);null!==b&&gi(b,a,1,-1)}\nfunction hi(a){var b=Th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Vh,lastRenderedState:a};b.queue=a;a=a.dispatch=ii.bind(null,M,a);return[b.memoizedState,a]}\nfunction bi(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function ji(){return Uh().memoizedState}function ki(a,b,c,d){var e=Th();M.flags|=a;e.memoizedState=bi(1|b,c,void 0,void 0===d?null:d)}\nfunction li(a,b,c,d){var e=Uh();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&Mh(d,g.deps)){e.memoizedState=bi(b,c,f,d);return}}M.flags|=a;e.memoizedState=bi(1|b,c,f,d)}function mi(a,b){return ki(8390656,8,a,b)}function $h(a,b){return li(2048,8,a,b)}function ni(a,b){return li(4,2,a,b)}function oi(a,b){return li(4,4,a,b)}\nfunction pi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function qi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return li(4,4,pi.bind(null,b,a),c)}function ri(){}function si(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction ti(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function ui(a,b,c){if(0===(Hh&21))return a.baseState&&(a.baseState=!1,dh=!0),a.memoizedState=c;He(c,b)||(c=yc(),M.lanes|=c,rh|=c,a.baseState=!0);return b}function vi(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Lh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},\nuseDebugValue:ri,useDeferredValue:function(a){var b=Uh();return ui(b,N.memoizedState,a)},useTransition:function(){var a=Wh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(a){var b=Uh();return null===\nN?b.memoizedState=a:ui(b,N.memoizedState,a)},useTransition:function(){var a=Xh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function Di(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Ei={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=R(),d=\nyi(a),e=mh(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=nh(a,e,d);null!==b&&(gi(b,a,d,c),oh(b,a,d))}};function Fi(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction Gi(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=eh(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Ei;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Hi(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Ei.enqueueReplaceState(b,b.state,null)}\nfunction Ii(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs={};kh(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=eh(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Di(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Ei.enqueueReplaceState(e,e.state,null),qh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}function Ji(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}\nfunction Ki(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function Li(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Mi=\"function\"===typeof WeakMap?WeakMap:Map;function Ni(a,b,c){c=mh(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Oi||(Oi=!0,Pi=d);Li(a,b)};return c}\nfunction Qi(a,b,c){c=mh(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Li(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Li(a,b);\"function\"!==typeof d&&(null===Ri?Ri=new Set([this]):Ri.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Si(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Mi;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ti.bind(null,a,b,c),b.then(a,a))}function Ui(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Vi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=mh(-1,1),b.tag=2,nh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Wi=ua.ReactCurrentOwner,dh=!1;function Xi(a,b,c,d){b.child=null===a?Vg(b,null,c,d):Ug(b,a.child,c,d)}\nfunction Yi(a,b,c,d,e){c=c.render;var f=b.ref;ch(b,e);d=Nh(a,b,c,d,f,e);c=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&c&&vg(b);b.flags|=1;Xi(a,b,d,e);return b.child}\nfunction $i(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!aj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,bj(a,b,f,d,e);a=Rg(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return Zi(a,b,e)}b.flags|=1;a=Pg(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction bj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(dh=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(dh=!0);else return b.lanes=a.lanes,Zi(a,b,e)}return cj(a,b,c,d,e)}\nfunction dj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(ej,fj),fj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(ej,fj);fj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(ej,fj),fj|=d;Xi(a,b,e,c);return b.child}function gj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);ch(b,e);c=Nh(a,b,c,d,f,e);d=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&d&&vg(b);b.flags|=1;Xi(a,b,c,e);return b.child}\nfunction hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;ch(b,e);if(null===b.stateNode)ij(a,b),Gi(b,c,d),Ii(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=eh(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&Hi(b,g,d,l);jh=!1;var r=b.memoizedState;g.state=r;qh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||jh?(\"function\"===typeof m&&(Di(b,c,m,d),k=b.memoizedState),(h=jh||Fi(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;lh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Ci(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=eh(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&Hi(b,g,d,k);jh=!1;r=b.memoizedState;g.state=r;qh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||jh?(\"function\"===typeof y&&(Di(b,c,y,d),n=b.memoizedState),(l=jh||Fi(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return jj(a,b,c,d,f,e)}\nfunction jj(a,b,c,d,e,f){gj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),Zi(a,b,f);d=b.stateNode;Wi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Ug(b,a.child,null,f),b.child=Ug(b,null,h,f)):Xi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function kj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);yh(a,b.containerInfo)}\nfunction lj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Xi(a,b,c,d);return b.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction oj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(L,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=pj(g,d,0,null),a=Tg(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=nj(c),b.memoizedState=mj,a):qj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return rj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=Pg(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=Pg(h,f):(f=Tg(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?nj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=mj;return d}f=a.child;a=f.sibling;d=Pg(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction qj(a,b){b=pj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function sj(a,b,c,d){null!==d&&Jg(d);Ug(b,a.child,null,c);a=qj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction rj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Ki(Error(p(422))),sj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=pj({mode:\"visible\",children:d.children},e,0,null);f=Tg(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Ug(b,a.child,null,g);b.child.memoizedState=nj(g);b.memoizedState=mj;return f}if(0===(b.mode&1))return sj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Ki(f,d,void 0);return sj(a,b,g,d)}h=0!==(g&a.childLanes);if(dh||h){d=Q;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,ih(a,e),gi(d,a,e,-1))}tj();d=Ki(Error(p(421)));return sj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=uj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=qj(b,d.children);b.flags|=4096;return b}function vj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);bh(a.return,b,c)}\nfunction wj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Xi(a,b,d.children,c);d=L.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&vj(a,c,b);else if(19===a.tag)vj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(L,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Ch(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);wj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Ch(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}wj(b,!0,c,null,f);break;case \"together\":wj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction ij(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Zi(a,b,c){null!==a&&(b.dependencies=a.dependencies);rh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=Pg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Pg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction yj(a,b,c){switch(b.tag){case 3:kj(b);Ig();break;case 5:Ah(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:yh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Wg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(L,L.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return oj(a,b,c);G(L,L.current&1);a=Zi(a,b,c);return null!==a?a.sibling:null}G(L,L.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return xj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(L,L.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,dj(a,b,c)}return Zi(a,b,c)}var zj,Aj,Bj,Cj;\nzj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Aj=function(){};\nBj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;xh(uh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Cj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Dj(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Ej(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;zh();E(Wf);E(H);Eh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Fj(zg),zg=null));Aj(a,b);S(b);return null;case 5:Bh(b);var e=xh(wh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Bj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Cj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=xh(wh.current);xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(L);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Fj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(L.current&1)?0===T&&(T=3):tj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return zh(),\nAj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return ah(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(L);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Dj(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Ch(a);if(null!==g){b.flags|=128;Dj(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(L,L.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Gj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Xj=!1;break a;case 3:X=h.stateNode.containerInfo;Xj=!0;break a;case 4:X=h.stateNode.containerInfo;Xj=!0;break a}h=h.return}if(null===X)throw Error(p(160));Zj(f,g,e);X=null;Xj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)dk(b,a),b=b.sibling}\nfunction dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:ck(b,a);ek(a);if(d&4){try{Pj(3,a,a.return),Qj(3,a)}catch(t){W(a,a.return,t)}try{Pj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);break;case 5:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:ck(b,a);ek(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:ck(b,a);ek(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:ck(b,a);ek(a);break;case 13:ck(b,a);ek(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(fk=B()));d&4&&ak(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,ck(b,a),U=l):ck(b,a);ek(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Pj(4,r,r.return);break;case 1:Lj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Lj(r,r.return);break;case 22:if(null!==r.memoizedState){gk(q);continue}}null!==y?(y.return=r,V=y):gk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:ck(b,a);ek(a);d&4&&ak(a);break;case 21:break;default:ck(b,\na),ek(a)}}function ek(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Tj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Uj(a);Wj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Uj(a);Vj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function hk(a,b,c){V=a;ik(a,b,c)}\nfunction ik(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Jj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Jj;var l=U;Jj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?jk(e):null!==k?(k.return=g,V=k):jk(e);for(;null!==f;)V=f,ik(f,b,c),f=f.sibling;V=e;Jj=h;U=l}kk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):kk(a,b,c)}}\nfunction kk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Qj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Ci(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&sh(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}sh(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Rj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function gk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction jk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Qj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Rj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Rj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar lk=Math.ceil,mk=ua.ReactCurrentDispatcher,nk=ua.ReactCurrentOwner,ok=ua.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,fj=0,ej=Uf(0),T=0,pk=null,rh=0,qk=0,rk=0,sk=null,tk=null,fk=0,Gj=Infinity,uk=null,Oi=!1,Pi=null,Ri=null,vk=!1,wk=null,xk=0,yk=0,zk=null,Ak=-1,Bk=0;function R(){return 0!==(K&6)?B():-1!==Ak?Ak:Ak=B()}\nfunction yi(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Bk&&(Bk=yc()),Bk;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==Q)a===Q&&(0===(K&2)&&(qk|=c),4===T&&Ck(a,Z)),Dk(a,d),1===c&&0===K&&0===(b.mode&1)&&(Gj=B()+500,fg&&jg())}\nfunction Dk(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===Q?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Ek.bind(null,a)):hg(Ek.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Fk(c,Gk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Gk(a,b){Ak=-1;Bk=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Hk()&&a.callbackNode!==c)return null;var d=uc(a,a===Q?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Ik(a,d);else{b=d;var e=K;K|=2;var f=Jk();if(Q!==a||Z!==b)uk=null,Gj=B()+500,Kk(a,b);do try{Lk();break}catch(h){Mk(a,h)}while(1);$g();mk.current=f;K=e;null!==Y?b=0:(Q=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Nk(a,e)));if(1===b)throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;if(6===b)Ck(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Ok(e)&&(b=Ik(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Nk(a,f))),1===b))throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Pk(a,tk,uk);break;case 3:Ck(a,d);if((d&130023424)===d&&(b=fk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){R();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),b);break}Pk(a,tk,uk);break;case 4:Ck(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),d);break}Pk(a,tk,uk);break;case 5:Pk(a,tk,uk);break;default:throw Error(p(329));}}}Dk(a,B());return a.callbackNode===c?Gk.bind(null,a):null}\nfunction Nk(a,b){var c=sk;a.current.memoizedState.isDehydrated&&(Kk(a,b).flags|=256);a=Ik(a,b);2!==a&&(b=tk,tk=c,null!==b&&Fj(b));return a}function Fj(a){null===tk?tk=a:tk.push.apply(tk,a)}\nfunction Ok(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Ck(a,b){b&=~rk;b&=~qk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Ek(a){if(0!==(K&6))throw Error(p(327));Hk();var b=uc(a,0);if(0===(b&1))return Dk(a,B()),null;var c=Ik(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Nk(a,d))}if(1===c)throw c=pk,Kk(a,0),Ck(a,b),Dk(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Pk(a,tk,uk);Dk(a,B());return null}\nfunction Qk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Gj=B()+500,fg&&jg())}}function Rk(a){null!==wk&&0===wk.tag&&0===(K&6)&&Hk();var b=K;K|=1;var c=ok.transition,d=C;try{if(ok.transition=null,C=1,a)return a()}finally{C=d,ok.transition=c,K=b,0===(K&6)&&jg()}}function Hj(){fj=ej.current;E(ej)}\nfunction Kk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:zh();E(Wf);E(H);Eh();break;case 5:Bh(d);break;case 4:zh();break;case 13:E(L);break;case 19:E(L);break;case 10:ah(d.type._context);break;case 22:case 23:Hj()}c=c.return}Q=a;Y=a=Pg(a.current,null);Z=fj=b;T=0;pk=null;rk=qk=rh=0;tk=sk=null;if(null!==fh){for(b=\n0;b<fh.length;b++)if(c=fh[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}fh=null}return a}\nfunction Mk(a,b){do{var c=Y;try{$g();Fh.current=Rh;if(Ih){for(var d=M.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Ih=!1}Hh=0;O=N=M=null;Jh=!1;Kh=0;nk.current=null;if(null===c||null===c.return){T=1;pk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Ui(g);if(null!==y){y.flags&=-257;Vi(y,g,h,f,b);y.mode&1&&Si(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Si(f,l,b);tj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Ui(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Vi(J,g,h,f,b);Jg(Ji(k,h));break a}}f=k=Ji(k,h);4!==T&&(T=2);null===sk?sk=[f]:sk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Ni(f,k,b);ph(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Ri||!Ri.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Qi(f,h,b);ph(f,F);break a}}f=f.return}while(null!==f)}Sk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Jk(){var a=mk.current;mk.current=Rh;return null===a?Rh:a}\nfunction tj(){if(0===T||3===T||2===T)T=4;null===Q||0===(rh&268435455)&&0===(qk&268435455)||Ck(Q,Z)}function Ik(a,b){var c=K;K|=2;var d=Jk();if(Q!==a||Z!==b)uk=null,Kk(a,b);do try{Tk();break}catch(e){Mk(a,e)}while(1);$g();K=c;mk.current=d;if(null!==Y)throw Error(p(261));Q=null;Z=0;return T}function Tk(){for(;null!==Y;)Uk(Y)}function Lk(){for(;null!==Y&&!cc();)Uk(Y)}function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps;null===b?Sk(a):Y=b;nk.current=null}\nfunction Sk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Ej(c,b,fj),null!==c){Y=c;return}}else{c=Ij(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,Wk(a,b,c,d)}finally{ok.transition=e,C=d}return null}\nfunction Wk(a,b,c,d){do Hk();while(null!==wk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===Q&&(Y=Q=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||vk||(vk=!0,Fk(hc,function(){Hk();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=ok.transition;ok.transition=null;\nvar g=C;C=1;var h=K;K|=4;nk.current=null;Oj(a,c);dk(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;hk(c,a,e);dc();K=h;C=g;ok.transition=f}else a.current=c;vk&&(vk=!1,wk=a,xk=e);f=a.pendingLanes;0===f&&(Ri=null);mc(c.stateNode,d);Dk(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Oi)throw Oi=!1,a=Pi,Pi=null,a;0!==(xk&1)&&0!==a.tag&&Hk();f=a.pendingLanes;0!==(f&1)?a===zk?yk++:(yk=0,zk=a):yk=0;jg();return null}\nfunction Hk(){if(null!==wk){var a=Dc(xk),b=ok.transition,c=C;try{ok.transition=null;C=16>a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Pj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Sj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Pj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Qj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,ok.transition=b}}return!1}function Xk(a,b,c){b=Ji(c,b);b=Ni(a,b,1);a=nh(a,b,1);b=R();null!==a&&(Ac(a,1,b),Dk(a,b))}\nfunction W(a,b,c){if(3===a.tag)Xk(a,a,c);else for(;null!==b;){if(3===b.tag){Xk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ri||!Ri.has(d))){a=Ji(c,a);a=Qi(b,a,1);b=nh(b,a,1);a=R();null!==b&&(Ac(b,1,a),Dk(b,a));break}}b=b.return}}\nfunction Ti(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=R();a.pingedLanes|=a.suspendedLanes&c;Q===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction dl(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction el(a,b,c,d,e,f,g,h,k){a=bl(c,d,!0,a,e,f,g,h,k);a.context=dl(null);c=a.current;d=R();e=yi(c);f=mh(d,e);f.callback=void 0!==b&&null!==b?b:null;nh(c,f,e);a.current.lanes=e;Ac(a,e,d);Dk(a,d);return a}function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);c=dl(c);null===b.context?b.context=c:b.pendingContext=c;b=mh(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=nh(e,b,g);null!==a&&(gi(a,e,g,f),oh(a,e,g));return g}\nfunction gl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function hl(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function il(a,b){hl(a,b);(a=a.alternate)&&hl(a,b)}function jl(){return null}var kl=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ll(a){this._internalRoot=a}\nml.prototype.render=ll.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));fl(a,b,null,null)};ml.prototype.unmount=ll.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Rk(function(){fl(null,a,null,null)});b[uf]=null}};function ml(a){this._internalRoot=a}\nml.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function nl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function pl(){}\nfunction ql(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=gl(g);f.call(a)}}var g=el(b,d,a,0,null,!1,!1,\"\",pl);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Rk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=gl(k);h.call(a)}}var k=bl(a,0,!1,null,null,!1,!1,\"\",pl);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Rk(function(){fl(b,k,c,d)});return k}\nfunction rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=gl(g);h.call(a)}}fl(b,g,a,e)}else g=ql(c,b,a,e,d);return gl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Dk(b,B()),0===(K&6)&&(Gj=B()+500,jg()))}break;case 13:Rk(function(){var b=ih(a,1);if(null!==b){var c=R();gi(b,a,1,c)}}),il(a,1)}};\nFc=function(a){if(13===a.tag){var b=ih(a,134217728);if(null!==b){var c=R();gi(b,a,134217728,c)}il(a,134217728)}};Gc=function(a){if(13===a.tag){var b=yi(a),c=ih(a,b);if(null!==c){var d=R();gi(c,a,b,d)}il(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Qk;Hb=Rk;\nvar sl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},tl={findFiberByHostInstance:Wc,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"};\nvar ul={bundleType:tl.bundleType,version:tl.version,rendererPackageName:tl.rendererPackageName,rendererConfig:tl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:tl.findFiberByHostInstance||\njl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var vl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vl.isDisabled&&vl.supportsFiber)try{kc=vl.inject(ul),lc=vl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!nl(b))throw Error(p(200));return cl(a,b,null,c)};exports.createRoot=function(a,b){if(!nl(a))throw Error(p(299));var c=!1,d=\"\",e=kl;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=bl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ll(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Rk(a)};exports.hydrate=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!nl(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=kl;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=el(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new ml(b)};exports.render=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!ol(a))throw Error(p(40));return a._reactRootContainer?(Rk(function(){rl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Qk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!ol(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return rl(a,b,c,!1,d)};exports.version=\"18.3.1-next-f1338f8080-20240426\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","/**\n * defines a focus group\n */\nexport var FOCUS_GROUP = 'data-focus-lock';\n/**\n * disables element discovery inside a group marked by key\n */\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\n/**\n * allows uncontrolled focus within the marked area, effectively disabling focus lock for it's content\n */\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\n/**\n * instructs autofocus engine to pick default autofocus inside a given node\n * can be set on the element or container\n */\nexport var FOCUS_AUTO = 'data-autofocus-inside';\n/**\n * instructs autofocus to ignore elements within a given node\n * can be set on the element or container\n */\nexport var FOCUS_NO_AUTOFOCUS = 'data-no-autofocus';\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n","import * as React from 'react';\nimport { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nvar currentValues = new WeakMap();\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return <div ref={domRef}>...</div>\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n var callbackRef = useCallbackRef(defaultValue || null, function (newValue) {\n return refs.forEach(function (ref) { return assignRef(ref, newValue); });\n });\n // handle refs changes - added or removed\n useIsomorphicLayoutEffect(function () {\n var oldValue = currentValues.get(callbackRef);\n if (oldValue) {\n var prevRefs_1 = new Set(oldValue);\n var nextRefs_1 = new Set(refs);\n var current_1 = callbackRef.current;\n prevRefs_1.forEach(function (ref) {\n if (!nextRefs_1.has(ref)) {\n assignRef(ref, null);\n }\n });\n nextRefs_1.forEach(function (ref) {\n if (!prevRefs_1.has(ref)) {\n assignRef(ref, current_1);\n }\n });\n }\n currentValues.set(callbackRef, refs);\n }, [refs]);\n return callbackRef;\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () { return ({\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }); })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nexport var hiddenGuard = {\n width: '1px',\n height: '0px',\n padding: 0,\n overflow: 'hidden',\n position: 'fixed',\n top: '1px',\n left: '1px'\n};\nvar InFocusGuard = function InFocusGuard(_ref) {\n var _ref$children = _ref.children,\n children = _ref$children === void 0 ? null : _ref$children;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }), children, children && /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-last\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }));\n};\nInFocusGuard.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node\n} : {};\nexport default InFocusGuard;","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options);\n return medium;\n}\n","import { createMedium, createSidecarMedium } from 'use-sidecar';\nexport var mediumFocus = createMedium({}, function (_ref) {\n var target = _ref.target,\n currentTarget = _ref.currentTarget;\n return {\n target: target,\n currentTarget: currentTarget\n };\n});\nexport var mediumBlur = createMedium();\nexport var mediumEffect = createMedium();\nexport var mediumSidecar = createSidecarMedium({\n async: true,\n ssr: typeof document !== 'undefined'\n});","import { createContext } from 'react';\nexport var focusScope = /*#__PURE__*/createContext(undefined);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { node, bool, string, any, arrayOf, oneOfType, object, func } from 'prop-types';\nimport * as constants from 'focus-lock/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { hiddenGuard } from './FocusGuard';\nimport { mediumFocus, mediumBlur, mediumSidecar } from './medium';\nimport { focusScope } from './scope';\nvar emptyArray = [];\nvar FocusLock = /*#__PURE__*/React.forwardRef(function FocusLockUI(props, parentRef) {\n var _extends2;\n var _React$useState = React.useState(),\n realObserved = _React$useState[0],\n setObserved = _React$useState[1];\n var observed = React.useRef();\n var isActive = React.useRef(false);\n var originalFocusedElement = React.useRef(null);\n var _React$useState2 = React.useState({}),\n update = _React$useState2[1];\n var children = props.children,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$noFocusGuards = props.noFocusGuards,\n noFocusGuards = _props$noFocusGuards === void 0 ? false : _props$noFocusGuards,\n _props$persistentFocu = props.persistentFocus,\n persistentFocus = _props$persistentFocu === void 0 ? false : _props$persistentFocu,\n _props$crossFrame = props.crossFrame,\n crossFrame = _props$crossFrame === void 0 ? true : _props$crossFrame,\n _props$autoFocus = props.autoFocus,\n autoFocus = _props$autoFocus === void 0 ? true : _props$autoFocus,\n allowTextSelection = props.allowTextSelection,\n group = props.group,\n className = props.className,\n whiteList = props.whiteList,\n hasPositiveIndices = props.hasPositiveIndices,\n _props$shards = props.shards,\n shards = _props$shards === void 0 ? emptyArray : _props$shards,\n _props$as = props.as,\n Container = _props$as === void 0 ? 'div' : _props$as,\n _props$lockProps = props.lockProps,\n containerProps = _props$lockProps === void 0 ? {} : _props$lockProps,\n SideCar = props.sideCar,\n _props$returnFocus = props.returnFocus,\n shouldReturnFocus = _props$returnFocus === void 0 ? false : _props$returnFocus,\n focusOptions = props.focusOptions,\n onActivationCallback = props.onActivation,\n onDeactivationCallback = props.onDeactivation;\n var _React$useState3 = React.useState({}),\n id = _React$useState3[0];\n var onActivation = React.useCallback(function (_ref) {\n var captureFocusRestore = _ref.captureFocusRestore;\n if (!originalFocusedElement.current) {\n var _document;\n var activeElement = (_document = document) == null ? void 0 : _document.activeElement;\n originalFocusedElement.current = activeElement;\n if (activeElement !== document.body) {\n originalFocusedElement.current = captureFocusRestore(activeElement);\n }\n }\n if (observed.current && onActivationCallback) {\n onActivationCallback(observed.current);\n }\n isActive.current = true;\n update();\n }, [onActivationCallback]);\n var onDeactivation = React.useCallback(function () {\n isActive.current = false;\n if (onDeactivationCallback) {\n onDeactivationCallback(observed.current);\n }\n update();\n }, [onDeactivationCallback]);\n var returnFocus = React.useCallback(function (allowDefer) {\n var focusRestore = originalFocusedElement.current;\n if (focusRestore) {\n var returnFocusTo = (typeof focusRestore === 'function' ? focusRestore() : focusRestore) || document.body;\n var howToReturnFocus = typeof shouldReturnFocus === 'function' ? shouldReturnFocus(returnFocusTo) : shouldReturnFocus;\n if (howToReturnFocus) {\n var returnFocusOptions = typeof howToReturnFocus === 'object' ? howToReturnFocus : undefined;\n originalFocusedElement.current = null;\n if (allowDefer) {\n Promise.resolve().then(function () {\n return returnFocusTo.focus(returnFocusOptions);\n });\n } else {\n returnFocusTo.focus(returnFocusOptions);\n }\n }\n }\n }, [shouldReturnFocus]);\n var onFocus = React.useCallback(function (event) {\n if (isActive.current) {\n mediumFocus.useMedium(event);\n }\n }, []);\n var onBlur = mediumBlur.useMedium;\n var setObserveNode = React.useCallback(function (newObserved) {\n if (observed.current !== newObserved) {\n observed.current = newObserved;\n setObserved(newObserved);\n }\n }, []);\n if (process.env.NODE_ENV !== 'production') {\n if (typeof allowTextSelection !== 'undefined') {\n console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n React.useEffect(function () {\n if (!observed.current && typeof Container !== 'string') {\n console.error('FocusLock: could not obtain ref to internal node');\n }\n }, []);\n }\n var lockProps = _extends((_extends2 = {}, _extends2[constants.FOCUS_DISABLED] = disabled && 'disabled', _extends2[constants.FOCUS_GROUP] = group, _extends2), containerProps);\n var hasLeadingGuards = noFocusGuards !== true;\n var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';\n var mergedRef = useMergeRefs([parentRef, setObserveNode]);\n var focusScopeValue = React.useMemo(function () {\n return {\n observed: observed,\n shards: shards,\n enabled: !disabled,\n active: isActive.current\n };\n }, [disabled, isActive.current, shards, realObserved]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, hasLeadingGuards && [\n /*#__PURE__*/\n React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }), hasPositiveIndices ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-nearest\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 1,\n style: hiddenGuard\n }) : null], !disabled && /*#__PURE__*/React.createElement(SideCar, {\n id: id,\n sideCar: mediumSidecar,\n observed: realObserved,\n disabled: disabled,\n persistentFocus: persistentFocus,\n crossFrame: crossFrame,\n autoFocus: autoFocus,\n whiteList: whiteList,\n shards: shards,\n onActivation: onActivation,\n onDeactivation: onDeactivation,\n returnFocus: returnFocus,\n focusOptions: focusOptions,\n noFocusGuards: noFocusGuards\n }), /*#__PURE__*/React.createElement(Container, _extends({\n ref: mergedRef\n }, lockProps, {\n className: className,\n onBlur: onBlur,\n onFocus: onFocus\n }), /*#__PURE__*/React.createElement(focusScope.Provider, {\n value: focusScopeValue\n }, children)), hasTailingGuards && /*#__PURE__*/React.createElement(\"div\", {\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }));\n});\nFocusLock.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: node,\n disabled: bool,\n returnFocus: oneOfType([bool, object, func]),\n focusOptions: object,\n noFocusGuards: bool,\n hasPositiveIndices: bool,\n allowTextSelection: bool,\n autoFocus: bool,\n persistentFocus: bool,\n crossFrame: bool,\n group: string,\n className: string,\n whiteList: func,\n shards: arrayOf(any),\n as: oneOfType([string, func, object]),\n lockProps: object,\n onActivation: func,\n onDeactivation: func,\n sideCar: any.isRequired\n} : {};\nexport default FocusLock;","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { PureComponent } from 'react';\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n handleStateChangeOnClient(state);\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n return SideEffect;\n };\n}\n\nexport default withSideEffect;\n","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","/*\nIE11 support\n */\nexport var toArray = function (a) {\n var ret = Array(a.length);\n for (var i = 0; i < a.length; ++i) {\n ret[i] = a[i];\n }\n return ret;\n};\nexport var asArray = function (a) { return (Array.isArray(a) ? a : [a]); };\nexport var getFirst = function (a) { return (Array.isArray(a) ? a[0] : a); };\n","import { FOCUS_NO_AUTOFOCUS } from '../constants';\nvar isElementHidden = function (node) {\n // we can measure only \"elements\"\n // consider others as \"visible\"\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return false;\n }\n var computedStyle = window.getComputedStyle(node, null);\n if (!computedStyle || !computedStyle.getPropertyValue) {\n return false;\n }\n return (computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden');\n};\nvar getParentNode = function (node) {\n // DOCUMENT_FRAGMENT_NODE can also point on ShadowRoot. In this case .host will point on the next node\n return node.parentNode && node.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node.parentNode.host\n : node.parentNode;\n};\nvar isTopNode = function (node) {\n // @ts-ignore\n return node === document || (node && node.nodeType === Node.DOCUMENT_NODE);\n};\nvar isInert = function (node) { return node.hasAttribute('inert'); };\n/**\n * @see https://github.com/testing-library/jest-dom/blob/main/src/to-be-visible.js\n */\nvar isVisibleUncached = function (node, checkParent) {\n return !node || isTopNode(node) || (!isElementHidden(node) && !isInert(node) && checkParent(getParentNode(node)));\n};\nexport var isVisibleCached = function (visibilityCache, node) {\n var cached = visibilityCache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isVisibleUncached(node, isVisibleCached.bind(undefined, visibilityCache));\n visibilityCache.set(node, result);\n return result;\n};\nvar isAutoFocusAllowedUncached = function (node, checkParent) {\n return node && !isTopNode(node) ? (isAutoFocusAllowed(node) ? checkParent(getParentNode(node)) : false) : true;\n};\nexport var isAutoFocusAllowedCached = function (cache, node) {\n var cached = cache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isAutoFocusAllowedUncached(node, isAutoFocusAllowedCached.bind(undefined, cache));\n cache.set(node, result);\n return result;\n};\nexport var getDataset = function (node) {\n // @ts-ignore\n return node.dataset;\n};\nexport var isHTMLButtonElement = function (node) { return node.tagName === 'BUTTON'; };\nexport var isHTMLInputElement = function (node) { return node.tagName === 'INPUT'; };\nexport var isRadioElement = function (node) {\n return isHTMLInputElement(node) && node.type === 'radio';\n};\nexport var notHiddenInput = function (node) {\n return !((isHTMLInputElement(node) || isHTMLButtonElement(node)) && (node.type === 'hidden' || node.disabled));\n};\nexport var isAutoFocusAllowed = function (node) {\n var attribute = node.getAttribute(FOCUS_NO_AUTOFOCUS);\n return ![true, 'true', ''].includes(attribute);\n};\nexport var isGuard = function (node) { var _a; return Boolean(node && ((_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.focusGuard)); };\nexport var isNotAGuard = function (node) { return !isGuard(node); };\nexport var isDefined = function (x) { return Boolean(x); };\n","import { toArray } from './array';\nexport var tabSort = function (a, b) {\n var aTab = Math.max(0, a.tabIndex);\n var bTab = Math.max(0, b.tabIndex);\n var tabDiff = aTab - bTab;\n var indexDiff = a.index - b.index;\n if (tabDiff) {\n if (!aTab) {\n return 1;\n }\n if (!bTab) {\n return -1;\n }\n }\n return tabDiff || indexDiff;\n};\nvar getTabIndex = function (node) {\n if (node.tabIndex < 0) {\n // all \"focusable\" elements are already preselected\n // but some might have implicit negative tabIndex\n // return 0 for <audio without tabIndex attribute - it is \"tabbable\"\n if (!node.hasAttribute('tabindex')) {\n return 0;\n }\n }\n return node.tabIndex;\n};\nexport var orderByTabIndex = function (nodes, filterNegative, keepGuards) {\n return toArray(nodes)\n .map(function (node, index) {\n var tabIndex = getTabIndex(node);\n return {\n node: node,\n index: index,\n tabIndex: keepGuards && tabIndex === -1 ? ((node.dataset || {}).focusGuard ? 0 : -1) : tabIndex,\n };\n })\n .filter(function (data) { return !filterNegative || data.tabIndex >= 0; })\n .sort(tabSort);\n};\n","import { FOCUS_AUTO } from '../constants';\nimport { toArray } from './array';\nimport { tabbables } from './tabbables';\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = \"\".concat(queryTabbables, \", [data-focus-guard]\");\nvar getFocusablesWithShadowDom = function (parent, withGuards) {\n return toArray((parent.shadowRoot || parent).children).reduce(function (acc, child) {\n return acc.concat(child.matches(withGuards ? queryGuardTabbables : queryTabbables) ? [child] : [], getFocusablesWithShadowDom(child));\n }, []);\n};\nvar getFocusablesWithIFrame = function (parent, withGuards) {\n var _a;\n // contentDocument of iframe will be null if current origin cannot access it\n if (parent instanceof HTMLIFrameElement && ((_a = parent.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {\n return getFocusables([parent.contentDocument.body], withGuards);\n }\n return [parent];\n};\nexport var getFocusables = function (parents, withGuards) {\n return parents.reduce(function (acc, parent) {\n var _a;\n var focusableWithShadowDom = getFocusablesWithShadowDom(parent, withGuards);\n var focusableWithIframes = (_a = []).concat.apply(_a, focusableWithShadowDom.map(function (node) { return getFocusablesWithIFrame(node, withGuards); }));\n return acc.concat(\n // add all tabbables inside and within shadow DOMs in DOM order\n focusableWithIframes, \n // add if node is tabbable itself\n parent.parentNode\n ? toArray(parent.parentNode.querySelectorAll(queryTabbables)).filter(function (node) { return node === parent; })\n : []);\n }, []);\n};\n/**\n * return a list of focusable nodes within an area marked as \"auto-focusable\"\n * @param parent\n */\nexport var getParentAutofocusables = function (parent) {\n var parentFocus = parent.querySelectorAll(\"[\".concat(FOCUS_AUTO, \"]\"));\n return toArray(parentFocus)\n .map(function (node) { return getFocusables([node]); })\n .reduce(function (acc, nodes) { return acc.concat(nodes); }, []);\n};\n","/**\n * list of the object to be considered as focusable\n */\nexport var tabbables = [\n 'button:enabled',\n 'select:enabled',\n 'textarea:enabled',\n 'input:enabled',\n // elements with explicit roles will also use explicit tabindex\n // '[role=\"button\"]',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[tabindex]',\n '[contenteditable]',\n '[autofocus]',\n];\n","import { toArray } from './array';\nimport { isAutoFocusAllowedCached, isVisibleCached, notHiddenInput } from './is';\nimport { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\n/**\n * given list of focusable elements keeps the ones user can interact with\n * @param nodes\n * @param visibilityCache\n */\nexport var filterFocusable = function (nodes, visibilityCache) {\n return toArray(nodes)\n .filter(function (node) { return isVisibleCached(visibilityCache, node); })\n .filter(function (node) { return notHiddenInput(node); });\n};\nexport var filterAutoFocusable = function (nodes, cache) {\n if (cache === void 0) { cache = new Map(); }\n return toArray(nodes).filter(function (node) { return isAutoFocusAllowedCached(cache, node); });\n};\n/**\n * !__WARNING__! Low level API.\n * @returns all tabbable nodes\n *\n * @see {@link getFocusableNodes} to get any focusable element\n *\n * @param topNodes - array of top level HTMLElements to search inside\n * @param visibilityCache - an cache to store intermediate measurements. Expected to be a fresh `new Map` on every call\n */\nexport var getTabbableNodes = function (topNodes, visibilityCache, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards), visibilityCache), true, withGuards);\n};\n/**\n * !__WARNING__! Low level API.\n *\n * @returns anything \"focusable\", not only tabbable. The difference is in `tabIndex=-1`\n * (without guards, as long as they are not expected to be ever focused)\n *\n * @see {@link getTabbableNodes} to get only tabble nodes element\n *\n * @param topNodes - array of top level HTMLElements to search inside\n * @param visibilityCache - an cache to store intermediate measurements. Expected to be a fresh `new Map` on every call\n */\nexport var getFocusableNodes = function (topNodes, visibilityCache) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes), visibilityCache), false);\n};\n/**\n * return list of nodes which are expected to be auto-focused\n * @param topNode\n * @param visibilityCache\n */\nexport var parentAutofocusables = function (topNode, visibilityCache) {\n return filterFocusable(getParentAutofocusables(topNode), visibilityCache);\n};\n/*\n * Determines if element is contained in scope, including nested shadow DOMs\n */\nexport var contains = function (scope, element) {\n if (scope.shadowRoot) {\n return contains(scope.shadowRoot, element);\n }\n else {\n if (Object.getPrototypeOf(scope).contains !== undefined &&\n Object.getPrototypeOf(scope).contains.call(scope, element)) {\n return true;\n }\n return toArray(scope.children).some(function (child) {\n var _a;\n if (child instanceof HTMLIFrameElement) {\n var iframeBody = (_a = child.contentDocument) === null || _a === void 0 ? void 0 : _a.body;\n if (iframeBody) {\n return contains(iframeBody, element);\n }\n return false;\n }\n return contains(child, element);\n });\n }\n};\n","/**\n * returns active element from document or from nested shadowdoms\n */\nimport { safeProbe } from './safe';\n/**\n * returns current active element. If the active element is a \"container\" itself(shadowRoot or iframe) returns active element inside it\n * @param [inDocument]\n */\nexport var getActiveElement = function (inDocument) {\n if (inDocument === void 0) { inDocument = document; }\n if (!inDocument || !inDocument.activeElement) {\n return undefined;\n }\n var activeElement = inDocument.activeElement;\n return (activeElement.shadowRoot\n ? getActiveElement(activeElement.shadowRoot)\n : activeElement instanceof HTMLIFrameElement && safeProbe(function () { return activeElement.contentWindow.document; })\n ? getActiveElement(activeElement.contentWindow.document)\n : activeElement);\n};\n","export var safeProbe = function (cb) {\n try {\n return cb();\n }\n catch (e) {\n return undefined;\n }\n};\n","import { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\n/**\n * in case of multiple nodes nested inside each other\n * keeps only top ones\n * this is O(nlogn)\n * @param nodes\n * @returns {*}\n */\nvar filterNested = function (nodes) {\n var contained = new Set();\n var l = nodes.length;\n for (var i = 0; i < l; i += 1) {\n for (var j = i + 1; j < l; j += 1) {\n var position = nodes[i].compareDocumentPosition(nodes[j]);\n /* eslint-disable no-bitwise */\n if ((position & Node.DOCUMENT_POSITION_CONTAINED_BY) > 0) {\n contained.add(j);\n }\n if ((position & Node.DOCUMENT_POSITION_CONTAINS) > 0) {\n contained.add(i);\n }\n /* eslint-enable */\n }\n }\n return nodes.filter(function (_, index) { return !contained.has(index); });\n};\n/**\n * finds top most parent for a node\n * @param node\n * @returns {*}\n */\nvar getTopParent = function (node) {\n return node.parentNode ? getTopParent(node.parentNode) : node;\n};\n/**\n * returns all \"focus containers\" inside a given node\n * @param node - node or nodes to look inside\n * @returns Element[]\n */\nexport var getAllAffectedNodes = function (node) {\n var nodes = asArray(node);\n return nodes.filter(Boolean).reduce(function (acc, currentNode) {\n var group = currentNode.getAttribute(FOCUS_GROUP);\n acc.push.apply(acc, (group\n ? filterNested(toArray(getTopParent(currentNode).querySelectorAll(\"[\".concat(FOCUS_GROUP, \"=\\\"\").concat(group, \"\\\"]:not([\").concat(FOCUS_DISABLED, \"=\\\"disabled\\\"])\"))))\n : [currentNode]));\n return acc;\n }, []);\n};\n","import { contains } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getFirst, toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\nvar focusInFrame = function (frame, activeElement) { return frame === activeElement; };\nvar focusInsideIframe = function (topNode, activeElement) {\n return Boolean(toArray(topNode.querySelectorAll('iframe')).some(function (node) { return focusInFrame(node, activeElement); }));\n};\n/**\n * @returns {Boolean} true, if the current focus is inside given node or nodes.\n * Supports nodes hidden inside shadowDom\n */\nexport var focusInside = function (topNode, activeElement) {\n // const activeElement = document && getActiveElement();\n if (activeElement === void 0) { activeElement = getActiveElement(getFirst(topNode).ownerDocument); }\n if (!activeElement || (activeElement.dataset && activeElement.dataset.focusGuard)) {\n return false;\n }\n return getAllAffectedNodes(topNode).some(function (node) {\n return contains(node, activeElement) || focusInsideIframe(node, activeElement);\n });\n};\n","export var focusOn = function (target, focusOptions) {\n if (!target) {\n // not clear how, but is possible https://github.com/theKashey/focus-lock/issues/53\n return;\n }\n if ('focus' in target) {\n target.focus(focusOptions);\n }\n if ('contentWindow' in target && target.contentWindow) {\n target.contentWindow.focus();\n }\n};\n","import { isRadioElement } from './is';\nvar findSelectedRadio = function (node, nodes) {\n return nodes\n .filter(isRadioElement)\n .filter(function (el) { return el.name === node.name; })\n .filter(function (el) { return el.checked; })[0] || node;\n};\nexport var correctNode = function (node, nodes) {\n if (isRadioElement(node) && node.name) {\n return findSelectedRadio(node, nodes);\n }\n return node;\n};\n/**\n * giving a set of radio inputs keeps only selected (tabbable) ones\n * @param nodes\n */\nexport var correctNodes = function (nodes) {\n // IE11 has no Set(array) constructor\n var resultSet = new Set();\n nodes.forEach(function (node) { return resultSet.add(correctNode(node, nodes)); });\n // using filter to support IE11\n return nodes.filter(function (node) { return resultSet.has(node); });\n};\n","import { correctNode } from './correctFocus';\nexport var pickFirstFocus = function (nodes) {\n if (nodes[0] && nodes.length > 1) {\n return correctNode(nodes[0], nodes);\n }\n return nodes[0];\n};\nexport var pickFocusable = function (nodes, node) {\n return nodes.indexOf(correctNode(node, nodes));\n};\n","import { correctNodes } from './utils/correctFocus';\nimport { pickFocusable } from './utils/firstFocus';\nimport { isGuard } from './utils/is';\nexport var NEW_FOCUS = 'NEW_FOCUS';\n/**\n * Main solver for the \"find next focus\" question\n * @param innerNodes - used to control \"return focus\"\n * @param innerTabbables - used to control \"autofocus\"\n * @param outerNodes\n * @param activeElement\n * @param lastNode\n * @returns {number|string|undefined|*}\n */\nexport var newFocus = function (innerNodes, innerTabbables, outerNodes, activeElement, lastNode) {\n var cnt = innerNodes.length;\n var firstFocus = innerNodes[0];\n var lastFocus = innerNodes[cnt - 1];\n var isOnGuard = isGuard(activeElement);\n // focus is inside\n if (activeElement && innerNodes.indexOf(activeElement) >= 0) {\n return undefined;\n }\n var activeIndex = activeElement !== undefined ? outerNodes.indexOf(activeElement) : -1;\n var lastIndex = lastNode ? outerNodes.indexOf(lastNode) : activeIndex;\n var lastNodeInside = lastNode ? innerNodes.indexOf(lastNode) : -1;\n // no active focus (or focus is on the body)\n if (activeIndex === -1) {\n // known fallback\n if (lastNodeInside !== -1) {\n return lastNodeInside;\n }\n return NEW_FOCUS;\n }\n // new focus, nothing to calculate\n if (lastNodeInside === -1) {\n return NEW_FOCUS;\n }\n var indexDiff = activeIndex - lastIndex;\n var firstNodeIndex = outerNodes.indexOf(firstFocus);\n var lastNodeIndex = outerNodes.indexOf(lastFocus);\n var correctedNodes = correctNodes(outerNodes);\n var correctedIndex = activeElement !== undefined ? correctedNodes.indexOf(activeElement) : -1;\n var correctedIndexDiff = correctedIndex - (lastNode ? correctedNodes.indexOf(lastNode) : activeIndex);\n // old focus\n if (!indexDiff && lastNodeInside >= 0) {\n return lastNodeInside;\n }\n // no tabbable elements, autofocus is not possible\n if (innerTabbables.length === 0) {\n // an edge case with no tabbable elements\n // return the last focusable one\n // with some probability this will prevent focus from cycling across the lock, but there is no tabbale elements to cycle to\n return lastNodeInside;\n }\n var returnFirstNode = pickFocusable(innerNodes, innerTabbables[0]);\n var returnLastNode = pickFocusable(innerNodes, innerTabbables[innerTabbables.length - 1]);\n // first element\n if (activeIndex <= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnLastNode;\n }\n // last element\n if (activeIndex >= lastNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnFirstNode;\n }\n // jump out, but not on the guard\n if (indexDiff && Math.abs(correctedIndexDiff) > 1) {\n return lastNodeInside;\n }\n // focus above lock\n if (activeIndex <= firstNodeIndex) {\n return returnLastNode;\n }\n // focus below lock\n if (activeIndex > lastNodeIndex) {\n return returnFirstNode;\n }\n // index is inside tab order, but outside Lock\n if (indexDiff) {\n if (Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n return (cnt + lastNodeInside + indexDiff) % cnt;\n }\n // do nothing\n return undefined;\n};\n","import { filterAutoFocusable } from './DOMutils';\nimport { pickFirstFocus } from './firstFocus';\nimport { getDataset } from './is';\nvar findAutoFocused = function (autoFocusables) {\n return function (node) {\n var _a;\n var autofocus = (_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.autofocus;\n return (\n // @ts-expect-error\n node.autofocus ||\n //\n (autofocus !== undefined && autofocus !== 'false') ||\n //\n autoFocusables.indexOf(node) >= 0);\n };\n};\nexport var pickAutofocus = function (nodesIndexes, orderedNodes, groups) {\n var nodes = nodesIndexes.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var autoFocusable = filterAutoFocusable(nodes.filter(findAutoFocused(groups)));\n if (autoFocusable && autoFocusable.length) {\n return pickFirstFocus(autoFocusable);\n }\n return pickFirstFocus(filterAutoFocusable(orderedNodes));\n};\n","import { parentAutofocusables } from './DOMutils';\nimport { contains } from './DOMutils';\nimport { asArray } from './array';\nvar getParents = function (node, parents) {\n if (parents === void 0) { parents = []; }\n parents.push(node);\n if (node.parentNode) {\n getParents(node.parentNode.host || node.parentNode, parents);\n }\n return parents;\n};\n/**\n * finds a parent for both nodeA and nodeB\n * @param nodeA\n * @param nodeB\n * @returns {boolean|*}\n */\nexport var getCommonParent = function (nodeA, nodeB) {\n var parentsA = getParents(nodeA);\n var parentsB = getParents(nodeB);\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < parentsA.length; i += 1) {\n var currentParent = parentsA[i];\n if (parentsB.indexOf(currentParent) >= 0) {\n return currentParent;\n }\n }\n return false;\n};\nexport var getTopCommonParent = function (baseActiveElement, leftEntry, rightEntries) {\n var activeElements = asArray(baseActiveElement);\n var leftEntries = asArray(leftEntry);\n var activeElement = activeElements[0];\n var topCommon = false;\n leftEntries.filter(Boolean).forEach(function (entry) {\n topCommon = getCommonParent(topCommon || entry, entry) || topCommon;\n rightEntries.filter(Boolean).forEach(function (subEntry) {\n var common = getCommonParent(activeElement, subEntry);\n if (common) {\n if (!topCommon || contains(common, topCommon)) {\n topCommon = common;\n }\n else {\n topCommon = getCommonParent(common, topCommon);\n }\n }\n });\n });\n // TODO: add assert here?\n return topCommon;\n};\n/**\n * return list of nodes which are expected to be autofocused inside a given top nodes\n * @param entries\n * @param visibilityCache\n */\nexport var allParentAutofocusables = function (entries, visibilityCache) {\n return entries.reduce(function (acc, node) { return acc.concat(parentAutofocusables(node, visibilityCache)); }, []);\n};\n","import { NEW_FOCUS, newFocus } from './solver';\nimport { getFocusableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { asArray, getFirst } from './utils/array';\nimport { pickAutofocus } from './utils/auto-focus';\nimport { getActiveElement } from './utils/getActiveElement';\nimport { isDefined, isNotAGuard } from './utils/is';\nimport { allParentAutofocusables, getTopCommonParent } from './utils/parenting';\nvar reorderNodes = function (srcNodes, dstNodes) {\n var remap = new Map();\n // no Set(dstNodes) for IE11 :(\n dstNodes.forEach(function (entity) { return remap.set(entity.node, entity); });\n // remap to dstNodes\n return srcNodes.map(function (node) { return remap.get(node); }).filter(isDefined);\n};\n/**\n * contains the main logic of the `focus-lock` package.\n *\n * ! you probably dont need this function !\n *\n * given top node(s) and the last active element returns the element to be focused next\n * @returns element which should be focused to move focus inside\n * @param topNode\n * @param lastNode\n */\nexport var focusSolver = function (topNode, lastNode) {\n var activeElement = getActiveElement(asArray(topNode).length > 0 ? document : getFirst(topNode).ownerDocument);\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n var visibilityCache = new Map();\n var anyFocusable = getFocusableNodes(entries, visibilityCache);\n var innerElements = anyFocusable.filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n });\n if (!innerElements[0]) {\n return undefined;\n }\n var outerNodes = getFocusableNodes([commonParent], visibilityCache).map(function (_a) {\n var node = _a.node;\n return node;\n });\n var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n // collect inner focusable and separately tabbables\n var innerFocusables = orderedInnerElements.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var innerTabbable = orderedInnerElements.filter(function (_a) {\n var tabIndex = _a.tabIndex;\n return tabIndex >= 0;\n }).map(function (_a) {\n var node = _a.node;\n return node;\n });\n var newId = newFocus(innerFocusables, innerTabbable, outerNodes, activeElement, lastNode);\n if (newId === NEW_FOCUS) {\n var focusNode = \n // first try only tabbable, and the fallback to all focusable, as long as at least one element should be picked for focus\n pickAutofocus(anyFocusable, innerTabbable, allParentAutofocusables(entries, visibilityCache)) ||\n pickAutofocus(anyFocusable, innerFocusables, allParentAutofocusables(entries, visibilityCache));\n if (focusNode) {\n return { node: focusNode };\n }\n else {\n console.warn('focus-lock: cannot find any node to move focus into');\n return undefined;\n }\n }\n if (newId === undefined) {\n return newId;\n }\n return orderedInnerElements[newId];\n};\n","import { focusOn } from './commands';\nimport { focusSolver } from './focusSolver';\nvar guardCount = 0;\nvar lockDisabled = false;\n/**\n * The main functionality of the focus-lock package\n *\n * Contains focus at a given node.\n * The last focused element will help to determine which element(first or last) should be focused.\n * The found element will be focused.\n *\n * This is one time action (move), not a persistent focus-lock\n *\n * HTML markers (see {@link import('./constants').FOCUS_AUTO} constants) can control autofocus\n * @see {@link focusSolver} for the same functionality without autofocus\n */\nexport var moveFocusInside = function (topNode, lastNode, options) {\n if (options === void 0) { options = {}; }\n var focusable = focusSolver(topNode, lastNode);\n // global local side effect to countain recursive lock activation and resolve focus-fighting\n if (lockDisabled) {\n return;\n }\n if (focusable) {\n /** +FOCUS-FIGHTING prevention **/\n if (guardCount > 2) {\n // we have recursive entered back the lock activation\n console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' +\n 'See https://github.com/theKashey/focus-lock/#focus-fighting');\n lockDisabled = true;\n setTimeout(function () {\n lockDisabled = false;\n }, 1);\n return;\n }\n guardCount++;\n focusOn(focusable.node, options.focusOptions);\n guardCount--;\n }\n};\n","import { getTabbableNodes } from './utils/DOMutils';\nfunction weakRef(value) {\n if (!value)\n return null;\n // #68 Safari 14.1 dont have it yet\n // FIXME: remove in 2025\n if (typeof WeakRef === 'undefined') {\n return function () { return value || null; };\n }\n var w = value ? new WeakRef(value) : null;\n return function () { return (w === null || w === void 0 ? void 0 : w.deref()) || null; };\n}\nexport var recordElementLocation = function (element) {\n if (!element) {\n return null;\n }\n var stack = [];\n var currentElement = element;\n while (currentElement && currentElement !== document.body) {\n stack.push({\n current: weakRef(currentElement),\n parent: weakRef(currentElement.parentElement),\n left: weakRef(currentElement.previousElementSibling),\n right: weakRef(currentElement.nextElementSibling),\n });\n currentElement = currentElement.parentElement;\n }\n return {\n element: weakRef(element),\n stack: stack,\n ownerDocument: element.ownerDocument,\n };\n};\nvar restoreFocusTo = function (location) {\n var _a, _b, _c, _d, _e;\n if (!location) {\n return undefined;\n }\n var stack = location.stack, ownerDocument = location.ownerDocument;\n var visibilityCache = new Map();\n for (var _i = 0, stack_1 = stack; _i < stack_1.length; _i++) {\n var line = stack_1[_i];\n var parent_1 = (_a = line.parent) === null || _a === void 0 ? void 0 : _a.call(line);\n // is it still here?\n if (parent_1 && ownerDocument.contains(parent_1)) {\n var left = (_b = line.left) === null || _b === void 0 ? void 0 : _b.call(line);\n var savedCurrent = line.current();\n var current = parent_1.contains(savedCurrent) ? savedCurrent : undefined;\n var right = (_c = line.right) === null || _c === void 0 ? void 0 : _c.call(line);\n var focusables = getTabbableNodes([parent_1], visibilityCache);\n var aim = \n // that is element itself\n (_e = (_d = current !== null && current !== void 0 ? current : \n // or something in it's place\n left === null || left === void 0 ? void 0 : left.nextElementSibling) !== null && _d !== void 0 ? _d : \n // or somebody to the right, still close enough\n right) !== null && _e !== void 0 ? _e : \n // or somebody to the left, something?\n left;\n while (aim) {\n for (var _f = 0, focusables_1 = focusables; _f < focusables_1.length; _f++) {\n var focusable = focusables_1[_f];\n if (aim === null || aim === void 0 ? void 0 : aim.contains(focusable.node)) {\n return focusable.node;\n }\n }\n aim = aim.nextElementSibling;\n }\n if (focusables.length) {\n // if parent contains a focusable - move there\n return focusables[0].node;\n }\n }\n }\n // nothing matched\n return undefined;\n};\n/**\n * Captures the current focused element to restore focus as close as possible in the future\n * Handles situations where the focused element is removed from the DOM or no longer focusable\n * moving focus to the closest focusable element\n * @param targetElement - element where focus should be restored\n * @returns a function returning a new element to focus\n */\nexport var captureFocusRestore = function (targetElement) {\n var location = recordElementLocation(targetElement);\n return function () {\n return restoreFocusTo(location);\n };\n};\n","import { focusOn } from './commands';\nimport { getTabbableNodes, contains, getFocusableNodes } from './utils/DOMutils';\nimport { asArray } from './utils/array';\n/**\n * for a given `element` in a given `scope` returns focusable siblings\n * @param element - base element\n * @param scope - common parent. Can be document, but better to narrow it down for performance reasons\n * @returns {prev,next} - references to a focusable element before and after\n * @returns undefined - if operation is not applicable\n */\nexport var getRelativeFocusable = function (element, scope, useTabbables) {\n if (!element || !scope) {\n console.error('no element or scope given');\n return {};\n }\n var shards = asArray(scope);\n if (shards.every(function (shard) { return !contains(shard, element); })) {\n console.error('Active element is not contained in the scope');\n return {};\n }\n var focusables = useTabbables\n ? getTabbableNodes(shards, new Map())\n : getFocusableNodes(shards, new Map());\n var current = focusables.findIndex(function (_a) {\n var node = _a.node;\n return node === element;\n });\n if (current === -1) {\n // an edge case, when anchor element is not found\n return undefined;\n }\n return {\n prev: focusables[current - 1],\n next: focusables[current + 1],\n first: focusables[0],\n last: focusables[focusables.length - 1],\n };\n};\nvar getBoundary = function (shards, useTabbables) {\n var set = useTabbables\n ? getTabbableNodes(asArray(shards), new Map())\n : getFocusableNodes(asArray(shards), new Map());\n return {\n first: set[0],\n last: set[set.length - 1],\n };\n};\nvar defaultOptions = function (options) {\n return Object.assign({\n scope: document.body,\n cycle: true,\n onlyTabbable: true,\n }, options);\n};\nvar moveFocus = function (fromElement, options, cb) {\n if (options === void 0) { options = {}; }\n var newOptions = defaultOptions(options);\n var solution = getRelativeFocusable(fromElement, newOptions.scope, newOptions.onlyTabbable);\n if (!solution) {\n return;\n }\n var target = cb(solution, newOptions.cycle);\n if (target) {\n focusOn(target.node, newOptions.focusOptions);\n }\n};\n/**\n * focuses next element in the tab-order\n * @param fromElement - common parent to scope active element search or tab cycle order\n * @param {FocusNextOptions} [options] - focus options\n */\nexport var focusNextElement = function (fromElement, options) {\n if (options === void 0) { options = {}; }\n moveFocus(fromElement, options, function (_a, cycle) {\n var next = _a.next, first = _a.first;\n return next || (cycle && first);\n });\n};\n/**\n * focuses prev element in the tab order\n * @param fromElement - common parent to scope active element search or tab cycle order\n * @param {FocusNextOptions} [options] - focus options\n */\nexport var focusPrevElement = function (fromElement, options) {\n if (options === void 0) { options = {}; }\n moveFocus(fromElement, options, function (_a, cycle) {\n var prev = _a.prev, last = _a.last;\n return prev || (cycle && last);\n });\n};\nvar pickBoundary = function (scope, options, what) {\n var _a;\n var boundary = getBoundary(scope, (_a = options.onlyTabbable) !== null && _a !== void 0 ? _a : true);\n var node = boundary[what];\n if (node) {\n focusOn(node.node, options.focusOptions);\n }\n};\n/**\n * focuses first element in the tab-order\n * @param {FocusNextOptions} options - focus options\n */\nexport var focusFirstElement = function (scope, options) {\n if (options === void 0) { options = {}; }\n pickBoundary(scope, options, 'first');\n};\n/**\n * focuses last element in the tab order\n * @param {FocusNextOptions} options - focus options\n */\nexport var focusLastElement = function (scope, options) {\n if (options === void 0) { options = {}; }\n pickBoundary(scope, options, 'last');\n};\n","export function deferAction(action) {\n setTimeout(action, 1);\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};\nexport var extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-clientside-effect';\nimport { moveFocusInside, focusInside, focusIsHidden, expandFocusableNodes, getFocusableNodes, focusNextElement, focusPrevElement, focusFirstElement, focusLastElement, captureFocusRestore } from 'focus-lock';\nimport { deferAction, extractRef } from './util';\nimport { mediumFocus, mediumBlur, mediumEffect } from './medium';\nvar focusOnBody = function focusOnBody() {\n return document && document.activeElement === document.body;\n};\nvar isFreeFocus = function isFreeFocus() {\n return focusOnBody() || focusIsHidden();\n};\nvar lastActiveTrap = null;\nvar lastActiveFocus = null;\nvar tryRestoreFocus = function tryRestoreFocus() {\n return null;\n};\nvar lastPortaledElement = null;\nvar focusWasOutsideWindow = false;\nvar windowFocused = false;\nvar defaultWhitelist = function defaultWhitelist() {\n return true;\n};\nvar focusWhitelisted = function focusWhitelisted(activeElement) {\n return (lastActiveTrap.whiteList || defaultWhitelist)(activeElement);\n};\nvar recordPortal = function recordPortal(observerNode, portaledElement) {\n lastPortaledElement = {\n observerNode: observerNode,\n portaledElement: portaledElement\n };\n};\nvar focusIsPortaledPair = function focusIsPortaledPair(element) {\n return lastPortaledElement && lastPortaledElement.portaledElement === element;\n};\nfunction autoGuard(startIndex, end, step, allNodes) {\n var lastGuard = null;\n var i = startIndex;\n do {\n var item = allNodes[i];\n if (item.guard) {\n if (item.node.dataset.focusAutoGuard) {\n lastGuard = item;\n }\n } else if (item.lockItem) {\n if (i !== startIndex) {\n return;\n }\n lastGuard = null;\n } else {\n break;\n }\n } while ((i += step) !== end);\n if (lastGuard) {\n lastGuard.node.tabIndex = 0;\n }\n}\nvar focusWasOutside = function focusWasOutside(crossFrameOption) {\n if (crossFrameOption) {\n return Boolean(focusWasOutsideWindow);\n }\n return focusWasOutsideWindow === 'meanwhile';\n};\nvar checkInHost = function checkInHost(check, el, boundary) {\n return el && (el.host === check && (!el.activeElement || boundary.contains(el.activeElement)) || el.parentNode && checkInHost(check, el.parentNode, boundary));\n};\nvar withinHost = function withinHost(activeElement, workingArea) {\n return workingArea.some(function (area) {\n return checkInHost(activeElement, area, area);\n });\n};\nvar getNodeFocusables = function getNodeFocusables(nodes) {\n return getFocusableNodes(nodes, new Map());\n};\nvar isNotFocusable = function isNotFocusable(node) {\n return !getNodeFocusables([node.parentNode]).some(function (el) {\n return el.node === node;\n });\n};\nvar activateTrap = function activateTrap() {\n var result = false;\n if (lastActiveTrap) {\n var _lastActiveTrap = lastActiveTrap,\n observed = _lastActiveTrap.observed,\n persistentFocus = _lastActiveTrap.persistentFocus,\n autoFocus = _lastActiveTrap.autoFocus,\n shards = _lastActiveTrap.shards,\n crossFrame = _lastActiveTrap.crossFrame,\n focusOptions = _lastActiveTrap.focusOptions,\n noFocusGuards = _lastActiveTrap.noFocusGuards;\n var workingNode = observed || lastPortaledElement && lastPortaledElement.portaledElement;\n if (focusOnBody() && lastActiveFocus) {\n if (!document.body.contains(lastActiveFocus) || isNotFocusable(lastActiveFocus)) {\n lastActiveFocus = null;\n var newTarget = tryRestoreFocus();\n if (newTarget) {\n newTarget.focus();\n }\n }\n }\n var activeElement = document && document.activeElement;\n if (workingNode) {\n var workingArea = [workingNode].concat(shards.map(extractRef).filter(Boolean));\n var shouldForceRestoreFocus = function shouldForceRestoreFocus() {\n if (!focusWasOutside(crossFrame) || !noFocusGuards || !lastActiveFocus || windowFocused) {\n return false;\n }\n var nodes = getNodeFocusables(workingArea);\n var lastIndex = nodes.findIndex(function (_ref) {\n var node = _ref.node;\n return node === lastActiveFocus;\n });\n return lastIndex === 0 || lastIndex === nodes.length - 1;\n };\n if (!activeElement || focusWhitelisted(activeElement)) {\n if (persistentFocus || shouldForceRestoreFocus() || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n if (workingNode && !(focusInside(workingArea) || activeElement && withinHost(activeElement, workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\n if (activeElement.blur) {\n activeElement.blur();\n }\n document.body.focus();\n } else {\n result = moveFocusInside(workingArea, lastActiveFocus, {\n focusOptions: focusOptions\n });\n lastPortaledElement = {};\n }\n }\n focusWasOutsideWindow = false;\n lastActiveFocus = document && document.activeElement;\n tryRestoreFocus = captureFocusRestore(lastActiveFocus);\n }\n }\n if (document && activeElement !== document.activeElement && document.querySelector('[data-focus-auto-guard]')) {\n var newActiveElement = document && document.activeElement;\n var allNodes = expandFocusableNodes(workingArea);\n var focusedIndex = allNodes.map(function (_ref2) {\n var node = _ref2.node;\n return node;\n }).indexOf(newActiveElement);\n if (focusedIndex > -1) {\n allNodes.filter(function (_ref3) {\n var guard = _ref3.guard,\n node = _ref3.node;\n return guard && node.dataset.focusAutoGuard;\n }).forEach(function (_ref4) {\n var node = _ref4.node;\n return node.removeAttribute('tabIndex');\n });\n autoGuard(focusedIndex, allNodes.length, +1, allNodes);\n autoGuard(focusedIndex, -1, -1, allNodes);\n }\n }\n }\n }\n return result;\n};\nvar onTrap = function onTrap(event) {\n if (activateTrap() && event) {\n event.stopPropagation();\n event.preventDefault();\n }\n};\nvar onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\nvar onFocus = function onFocus(event) {\n var source = event.target;\n var currentNode = event.currentTarget;\n if (!currentNode.contains(source)) {\n recordPortal(currentNode, source);\n }\n};\nvar FocusWatcher = function FocusWatcher() {\n return null;\n};\nvar FocusTrap = function FocusTrap(_ref5) {\n var children = _ref5.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n onBlur: onBlur,\n onFocus: onFocus\n }, children);\n};\nFocusTrap.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired\n} : {};\nvar onWindowFocus = function onWindowFocus() {\n windowFocused = true;\n};\nvar onWindowBlur = function onWindowBlur() {\n windowFocused = false;\n focusWasOutsideWindow = 'just';\n deferAction(function () {\n focusWasOutsideWindow = 'meanwhile';\n });\n};\nvar attachHandler = function attachHandler() {\n document.addEventListener('focusin', onTrap);\n document.addEventListener('focusout', onBlur);\n window.addEventListener('focus', onWindowFocus);\n window.addEventListener('blur', onWindowBlur);\n};\nvar detachHandler = function detachHandler() {\n document.removeEventListener('focusin', onTrap);\n document.removeEventListener('focusout', onBlur);\n window.removeEventListener('focus', onWindowFocus);\n window.removeEventListener('blur', onWindowBlur);\n};\nfunction reducePropsToState(propsList) {\n return propsList.filter(function (_ref6) {\n var disabled = _ref6.disabled;\n return !disabled;\n });\n}\nvar focusLockAPI = {\n moveFocusInside: moveFocusInside,\n focusInside: focusInside,\n focusNextElement: focusNextElement,\n focusPrevElement: focusPrevElement,\n focusFirstElement: focusFirstElement,\n focusLastElement: focusLastElement,\n captureFocusRestore: captureFocusRestore\n};\nfunction handleStateChangeOnClient(traps) {\n var trap = traps.slice(-1)[0];\n if (trap && !lastActiveTrap) {\n attachHandler();\n }\n var lastTrap = lastActiveTrap;\n var sameTrap = lastTrap && trap && trap.id === lastTrap.id;\n lastActiveTrap = trap;\n if (lastTrap && !sameTrap) {\n lastTrap.onDeactivation();\n if (!traps.filter(function (_ref7) {\n var id = _ref7.id;\n return id === lastTrap.id;\n }).length) {\n lastTrap.returnFocus(!trap);\n }\n }\n if (trap) {\n lastActiveFocus = null;\n if (!sameTrap || lastTrap.observed !== trap.observed) {\n trap.onActivation(focusLockAPI);\n }\n activateTrap(true);\n deferAction(activateTrap);\n } else {\n detachHandler();\n lastActiveFocus = null;\n }\n}\nmediumFocus.assignSyncMedium(onFocus);\nmediumBlur.assignMedium(onBlur);\nmediumEffect.assignMedium(function (cb) {\n return cb(focusLockAPI);\n});\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import { FOCUS_ALLOW } from './constants';\nimport { contains } from './utils/DOMutils';\nimport { toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\n/**\n * checks if focus is hidden FROM the focus-lock\n * ie contained inside a node focus-lock shall ignore\n *\n * This is a utility function coupled with {@link FOCUS_ALLOW} constant\n *\n * @returns {boolean} focus is currently is in \"allow\" area\n */\nexport var focusIsHidden = function (inDocument) {\n if (inDocument === void 0) { inDocument = document; }\n var activeElement = getActiveElement(inDocument);\n if (!activeElement) {\n return false;\n }\n // this does not support setting FOCUS_ALLOW within shadow dom\n return toArray(inDocument.querySelectorAll(\"[\".concat(FOCUS_ALLOW, \"]\"))).some(function (node) { return contains(node, activeElement); });\n};\n","import { getAllAffectedNodes } from './utils/all-affected';\nimport { isGuard, isNotAGuard } from './utils/is';\nimport { getTopCommonParent } from './utils/parenting';\nimport { orderByTabIndex } from './utils/tabOrder';\nimport { getFocusables } from './utils/tabUtils';\n/**\n * traverses all related nodes (including groups) returning a list of all nodes(outer and internal) with meta information\n * This is low-level API!\n * @returns list of focusable elements inside a given top(!) node.\n * @see {@link getFocusableNodes} providing a simpler API\n */\nexport var expandFocusableNodes = function (topNode) {\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(topNode, topNode, entries);\n var outerNodes = orderByTabIndex(getFocusables([commonParent], true), true, true);\n var innerElements = getFocusables(entries, false);\n return outerNodes.map(function (_a) {\n var node = _a.node, index = _a.index;\n return ({\n node: node,\n index: index,\n lockItem: innerElements.indexOf(node) >= 0,\n guard: isGuard(node),\n });\n });\n};\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport FocusLockUI from './Lock';\nimport FocusTrap from './Trap';\nvar FocusLockCombination = /*#__PURE__*/React.forwardRef(function FocusLockUICombination(props, ref) {\n return /*#__PURE__*/React.createElement(FocusLockUI, _extends({\n sideCar: FocusTrap,\n ref: ref\n }, props));\n});\nvar _ref = FocusLockUI.propTypes || {},\n sideCar = _ref.sideCar,\n propTypes = _objectWithoutPropertiesLoose(_ref, [\"sideCar\"]);\nFocusLockCombination.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nexport default FocusLockCombination;","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import FocusLock from './Combination';\nexport * from './UI';\nexport default FocusLock;","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n* This function traverses the list returning the node corresponding to the given key.\n*\n* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list. By doing so, all the recently used nodes can be accessed relatively quickly.\n*/\n/** @type {import('.').listGetNode} */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\t/** @type {typeof list | NonNullable<(typeof list)['next']>} */\n\tvar prev = list;\n\t/** @type {(typeof list)['next']} */\n\tvar curr;\n\tfor (; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\tcurr.next = /** @type {NonNullable<typeof list.next>} */ (list.next);\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\n/** @type {import('.').listGet} */\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\n/** @type {import('.').listSet} */\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = /** @type {import('.').ListNode<typeof value>} */ ({ // eslint-disable-line no-param-reassign, no-extra-parens\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t});\n\t}\n};\n/** @type {import('.').listHas} */\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannel() {\n\t/** @type {WeakMap<object, unknown>} */ var $wm;\n\t/** @type {Map<object, unknown>} */ var $m;\n\t/** @type {import('.').RootNode<unknown>} */ var $o;\n\n\t/** @type {import('.').Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t// Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar isArrayish = require('is-arrayish');\n\nvar concat = Array.prototype.concat;\nvar slice = Array.prototype.slice;\n\nvar swizzle = module.exports = function swizzle(args) {\n\tvar results = [];\n\n\tfor (var i = 0, len = args.length; i < len; i++) {\n\t\tvar arg = args[i];\n\n\t\tif (isArrayish(arg)) {\n\t\t\t// http://jsperf.com/javascript-array-concat-vs-push/98\n\t\t\tresults = concat.call(results, slice.call(arg));\n\t\t} else {\n\t\t\tresults.push(arg);\n\t\t}\n\t}\n\n\treturn results;\n};\n\nswizzle.wrap = function (fn) {\n\treturn function () {\n\t\treturn fn(swizzle(arguments));\n\t};\n};\n","module.exports = function isArrayish(obj) {\n\tif (!obj || typeof obj === 'string') {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && (obj.splice instanceof Function ||\n\t\t\t(Object.getOwnPropertyDescriptor(obj, (obj.length - 1)) && obj.constructor.name !== 'String')));\n};\n","/* Spatial Navigation Polyfill\n *\n * It follows W3C official specification\n * https://drafts.csswg.org/css-nav-1/\n *\n * Copyright (c) 2018-2019 LG Electronics Inc.\n * https://github.com/WICG/spatial-navigation/polyfill\n *\n * Licensed under the MIT license (MIT)\n */\n\n(function () {\n\n // The polyfill must not be executed, if it's already enabled via browser engine or browser extensions.\n if (window.navigate !== undefined) {\n return;\n }\n\n const ARROW_KEY_CODE = {37: 'left', 38: 'up', 39: 'right', 40: 'down'};\n const TAB_KEY_CODE = 9;\n let mapOfBoundRect = null;\n let startingPoint = null; // Indicates global variables for spatnav (starting position)\n\n /**\n * Initiate the spatial navigation features of the polyfill.\n * This function defines which input methods trigger the spatial navigation behavior.\n * @function initiateSpatialNavigation\n */\n function initiateSpatialNavigation() {\n /*\n * Bind the standards APIs to be exposed to the window object for authors\n */\n window.navigate = navigate;\n window.Element.prototype.spatialNavigationSearch = spatialNavigationSearch;\n window.Element.prototype.focusableAreas = focusableAreas;\n window.Element.prototype.getSpatialNavigationContainer = getSpatialNavigationContainer;\n\n /*\n * CSS.registerProperty() from the Properties and Values API\n * Reference: https://drafts.css-houdini.org/css-properties-values-api/#the-registerproperty-function\n */\n if (window.CSS && CSS.registerProperty) {\n if (window.getComputedStyle(document.documentElement).getPropertyValue('--spatial-navigation-contain') === '') {\n CSS.registerProperty({\n name: '--spatial-navigation-contain',\n syntax: 'auto | contain',\n inherits: false,\n initialValue: 'auto'\n });\n }\n\n if (window.getComputedStyle(document.documentElement).getPropertyValue('--spatial-navigation-action') === '') {\n CSS.registerProperty({\n name: '--spatial-navigation-action',\n syntax: 'auto | focus | scroll',\n inherits: false,\n initialValue: 'auto'\n });\n }\n\n if (window.getComputedStyle(document.documentElement).getPropertyValue('--spatial-navigation-function') === '') {\n CSS.registerProperty({\n name: '--spatial-navigation-function',\n syntax: 'normal | euclidean | grid',\n inherits: true,\n initialValue: 'normal'\n });\n }\n }\n\n /*\n * keydown EventListener :\n * If arrow key pressed, get the next focusing element and send it to focusing controller\n */\n window.addEventListener('keydown', e => {\n const currentKeyMode = (parent && parent.__spatialNavigation__.keyMode) || window.__spatialNavigation__.keyMode;\n const eventTarget = document.activeElement;\n const dir = ARROW_KEY_CODE[e.keyCode];\n\n if (e.keyCode === TAB_KEY_CODE)\n startingPoint = null;\n\n if (!currentKeyMode ||\n (currentKeyMode === 'NONE') ||\n ((currentKeyMode === 'SHIFTARROW') && !e.shiftKey) ||\n ((currentKeyMode === 'ARROW') && e.shiftKey))\n return;\n\n if (!e.defaultPrevented && !e.spatialNavigationPrevented) {\n let focusNavigableArrowKey = {left: true, up: true, right: true, down: true};\n\n // Edge case (text input, area) : Don't move focus, just navigate cursor in text area\n if ((eventTarget.nodeName === 'INPUT') || eventTarget.nodeName === 'TEXTAREA')\n focusNavigableArrowKey = handlingEditableElement(e);\n\n if (focusNavigableArrowKey[dir]) {\n e.preventDefault();\n mapOfBoundRect = new Map();\n\n navigate(dir);\n\n mapOfBoundRect = null;\n startingPoint = null;\n }\n }\n });\n\n /*\n * mouseup EventListener :\n * If the mouse click a point in the page, the point will be the starting point.\n * NOTE: Let UA set the spatial navigation starting point based on click\n */\n // document.addEventListener('mouseup', e => {\n // startingPoint = {x: e.clientX, y: e.clientY};\n // });\n }\n\n /**\n * Enable the author to trigger spatial navigation programmatically, as if the user had done so manually.\n * @see {@link https://drafts.csswg.org/css-nav-1/#dom-window-navigate}\n * @function navigate\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n */\n function navigate(dir) {\n // spatial navigation steps\n\n // 1\n const searchOrigin = findSearchOrigin();\n let eventTarget = searchOrigin;\n\n let elementFromPosition = null;\n\n // 2 Optional step, UA defined starting point\n if (startingPoint) {\n // if there is a starting point, set eventTarget as the element from position for getting the spatnav container\n elementFromPosition = document.elementFromPoint(startingPoint.x, startingPoint.y);\n\n // Use starting point if the starting point isn't inside the focusable element (but not container)\n // * Starting point is meaningfull when:\n // 1) starting point is inside the spatnav container\n // 2) starting point is inside the non-focusable element\n if(elementFromPosition === null) {\n elementFromPosition = document.body;\n }\n if (isFocusable(elementFromPosition) && !isContainer(elementFromPosition)) {\n startingPoint = null;\n } else if (isContainer(elementFromPosition)) {\n eventTarget = elementFromPosition;\n } else {\n eventTarget = elementFromPosition.getSpatialNavigationContainer();\n }\n }\n\n // 4\n if (eventTarget === document || eventTarget === document.documentElement) {\n eventTarget = document.body || document.documentElement;\n }\n\n // 5\n // At this point, spatialNavigationSearch can be applied.\n // If startingPoint is either a scroll container or the document,\n // find the best candidate within startingPoint\n let container = null;\n if ((isContainer(eventTarget) || eventTarget.nodeName === 'BODY') && !(eventTarget.nodeName === 'INPUT')) {\n container = eventTarget;\n\n if (eventTarget.nodeName === 'IFRAME')\n eventTarget = eventTarget.contentDocument.documentElement;\n\n let bestInsideCandidate = null;\n\n // 5-2\n if (getCSSSpatNavAction(eventTarget) === 'scroll') {\n if (scrollingController(eventTarget, dir)) return;\n } else if (getCSSSpatNavAction(eventTarget) === 'focus') {\n bestInsideCandidate = eventTarget.spatialNavigationSearch(dir, {container: eventTarget, candidates: getSpatialNavigationCandidates(eventTarget, {mode: 'all'}), inside: true});\n if (focusingController(bestInsideCandidate, dir)) return;\n } else if (getCSSSpatNavAction(eventTarget) === 'auto') {\n bestInsideCandidate = eventTarget.spatialNavigationSearch(dir, {container: eventTarget, inside: true});\n if (focusingController(bestInsideCandidate, dir) || scrollingController(eventTarget, dir)) return;\n }\n }\n\n // 6\n // Let container be the nearest ancestor of eventTarget\n container = container || eventTarget.getSpatialNavigationContainer();\n let parentContainer = (container.parentElement) ? container.getSpatialNavigationContainer() : null;\n\n // When the container is the viewport of a browsing context\n if (!parentContainer && ( window.location !== window.parent.location)) {\n parentContainer = window.parent.document.documentElement;\n }\n\n if (getCSSSpatNavAction(eventTarget) === 'scroll') {\n if (scrollingController(container, dir)) return;\n }\n else if (getCSSSpatNavAction(eventTarget) === 'focus') {\n navigateChain(eventTarget, container, parentContainer, dir, 'all');\n }\n else if (getCSSSpatNavAction(eventTarget) === 'auto') {\n navigateChain(eventTarget, container, parentContainer, dir, 'visible');\n }\n }\n\n /**\n * Move the focus to the best candidate or do nothing.\n * @function focusingController\n * @param bestCandidate {Node} - The best candidate of the spatial navigation\n * @param dir {SpatialNavigationDirection}- The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function focusingController(bestCandidate, dir) {\n // 10 & 11\n // When bestCandidate is found\n if (bestCandidate) {\n const container = bestCandidate.getSpatialNavigationContainer();\n const elementStyle = window.getComputedStyle(container, null);\n const overflowX = elementStyle.getPropertyValue('overflow-x');\n const overflowY = elementStyle.getPropertyValue('overflow-y');\n\n // Scrolling container or document when the next focusing element isn't entirely visible\n // This is for the browser compatability\n if (isScrollable(container, dir) && !isEntirelyVisible(bestCandidate));\n bestCandidate.scrollIntoView();\n\n // When bestCandidate is a focusable element and not a container : move focus\n /*\n * [event] navbeforefocus : Fired before spatial or sequential navigation changes the focus.\n */\n if (!createSpatNavEvents('beforefocus', bestCandidate, null, dir))\n return true;\n\n bestCandidate.focus();\n return true;\n }\n\n // When bestCandidate is not found within the scrollport of a container: Nothing\n return false;\n }\n\n /**\n * Directionally scroll the scrollable spatial navigation container if it can be manually scrolled more.\n * @function scrollingController\n * @param container {Node} - The spatial navigation container which can scroll\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function scrollingController(container, dir) {\n\n // If there is any scrollable area among parent elements and it can be manually scrolled, scroll the document\n if (isScrollable(container, dir) && !isScrollBoundary(container, dir)) {\n moveScroll(container, dir);\n return true;\n }\n\n // If the spatnav container is document and it can be scrolled, scroll the document\n if (!container.parentElement && !isHTMLScrollBoundary(container, dir)) {\n moveScroll(document.documentElement, dir);\n return true;\n }\n return false;\n }\n\n /**\n * Find the candidates within a spatial navigation container include delegable container.\n * This function does not search inside delegable container or focusable container.\n * In other words, this return candidates set is not included focusable elements inside delegable container or focusable container.\n *\n * @function getSpatialNavigationCandidates\n * @param container {Node} - The spatial navigation container\n * @param option {FocusableAreasOptions} - 'mode' attribute takes 'visible' or 'all' for searching the boundary of focusable elements.\n * Default value is 'visible'.\n * @returns {sequence<Node>} candidate elements within the container\n */\n function getSpatialNavigationCandidates (container, option = {mode: 'visible'}) {\n let candidates = [];\n\n if (container.childElementCount > 0) {\n if (!container.parentElement) {\n container = container.getElementsByTagName('body')[0] || document.body;\n }\n const children = container.children;\n for (const elem of children) {\n if (isDelegableContainer(elem)) {\n candidates.push(elem);\n } else if(isFocusable(elem)) {\n candidates.push(elem);\n\n if(!isContainer(elem) && elem.childElementCount) {\n candidates = candidates.concat(getSpatialNavigationCandidates(elem, {mode: 'all'}));\n }\n } else if (elem.childElementCount) {\n candidates = candidates.concat(getSpatialNavigationCandidates(elem, {mode: 'all'}));\n }\n }\n }\n return (option.mode === 'all') ? candidates : candidates.filter(isVisible);\n }\n\n /**\n * Find the candidates among focusable elements within a spatial navigation container from the search origin (currently focused element)\n * depending on the directional information.\n * @function getFilteredSpatialNavigationCandidates\n * @param element {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param candidates {sequence<Node>} - The candidates for spatial navigation without the directional information\n * @param container {Node} - The spatial navigation container\n * @returns {Node} The candidates for spatial navigation considering the directional information\n */\n function getFilteredSpatialNavigationCandidates (element, dir, candidates, container) {\n const targetElement = element;\n // Removed below line due to a bug. (iframe body rect is sometime weird.)\n // const targetElement = (element.nodeName === 'IFRAME') ? element.contentDocument.body : element;\n // If the container is unknown, get the closest container from the element\n container = container || targetElement.getSpatialNavigationContainer();\n\n // If the candidates is unknown, find candidates\n // 5-1\n candidates = (!candidates || candidates.length <= 0) ? getSpatialNavigationCandidates(container) : candidates;\n return filteredCandidates(targetElement, candidates, dir, container);\n }\n\n /**\n * Find the best candidate among the candidates within the container from the search origin (currently focused element)\n * @see {@link https://drafts.csswg.org/css-nav-1/#dom-element-spatialnavigationsearch}\n * @function spatialNavigationSearch\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param container {Node} - The spatial navigation container\n * @param inside {boolean} - Whether candidates should be elements outside of the target element or not.\n * @returns {Node} The best candidate which will gain the focus\n */\n function spatialNavigationSearch (dir, args) {\n const targetElement = this;\n let internalCandidates = [];\n let externalCandidates = [];\n let bestTarget;\n\n // Set default parameter value\n if (!args)\n args = {};\n const container = args.container || targetElement.getSpatialNavigationContainer();\n const candidates = (args.candidates && args.candidates.length > 0) ?\n args.candidates.filter((candidate) => container.contains(candidate)) : getSpatialNavigationCandidates(container);\n const inside = args.inside || false;\n\n // Find the best candidate\n // 5\n // If startingPoint is either a scroll container or the document,\n // find the best candidate within startingPoint\n if (candidates && candidates.length > 0) {\n\n // Divide internal or external candidates\n candidates.forEach(candidate => {\n (targetElement.contains(candidate) && targetElement !== candidate ? internalCandidates : externalCandidates).push(candidate);\n });\n if (!(args.candidates && args.candidates.length > 0) && (internalCandidates.length === 0)) {\n // If targetElement is focusable container or delegable container,\n // getFilteredSpatialNavigationCandidates not return internal candidate.\n internalCandidates = getSpatialNavigationCandidates(targetElement);\n }\n // Filter external Candidates\n if (externalCandidates.length > 0) {\n externalCandidates = getFilteredSpatialNavigationCandidates (targetElement, dir, externalCandidates, container);\n }\n\n if (inside && (isContainer(targetElement) || targetElement.nodeName === 'BODY') && !(targetElement.nodeName === 'INPUT')) {\n bestTarget = selectBestCandidateFromEdge(targetElement, internalCandidates, dir);\n }\n bestTarget = bestTarget || selectBestCandidate(targetElement, externalCandidates, dir);\n\n if (bestTarget && isDelegableContainer(bestTarget)) {\n // if best target is delegable container, then find descendants candidate inside delegable container.\n const innerTarget = getSpatialNavigationCandidates(bestTarget, {mode: 'all'});\n const descendantsBest = innerTarget.length > 0 ? targetElement.spatialNavigationSearch(dir, {candidates: innerTarget, container: bestTarget}) : null;\n if (descendantsBest) {\n bestTarget = descendantsBest;\n } else if (!isFocusable(bestTarget)) {\n // if there is no target inside bestTarget and delegable container is not focusable,\n // then try to find another best target without curren best target.\n candidates.splice(candidates.indexOf(bestTarget), 1);\n bestTarget = candidates.length ? targetElement.spatialNavigationSearch(dir, {candidates: candidates, container: container}) : null;\n }\n }\n return bestTarget;\n }\n\n return null;\n }\n\n /**\n * Get the filtered candidate among candidates.\n * @see {@link https://drafts.csswg.org/css-nav-1/#select-the-best-candidate}\n * @function filteredCandidates\n * @param currentElm {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param container {Node} - The spatial navigation container\n * @returns {sequence<Node>} The filtered candidates which are not the search origin and not in the given spatial navigation direction from the search origin\n */\n function filteredCandidates(currentElm, candidates, dir, container) {\n const originalContainer = currentElm.getSpatialNavigationContainer();\n let eventTargetRect;\n\n // If D(dir) is null, let candidates be the same as visibles\n if (dir === undefined)\n return candidates;\n\n // to do\n // Offscreen handling when originalContainer is not <HTML>\n if (originalContainer.parentElement && container !== originalContainer && !isVisible(currentElm))\n eventTargetRect = getBoundingClientRect(originalContainer);\n else eventTargetRect = getBoundingClientRect(currentElm);\n\n /*\n * Else, let candidates be the subset of the elements in visibles\n * whose principal box’s geometric center is within the closed half plane\n * whose boundary goes through the geometric center of starting point and is perpendicular to D.\n */\n if ((isContainer(currentElm) || currentElm.nodeName === 'BODY') && !(currentElm.nodeName === 'INPUT')) {\n return candidates.filter(candidate => {\n const candidateRect = getBoundingClientRect(candidate);\n return container.contains(candidate) &&\n ((currentElm.contains(candidate) && isInside(eventTargetRect, candidateRect) && candidate !== currentElm) ||\n isOutside(candidateRect, eventTargetRect, dir));\n });\n } else {\n return candidates.filter(candidate => {\n const candidateRect = getBoundingClientRect(candidate);\n const candidateBody = (candidate.nodeName === 'IFRAME') ? candidate.contentDocument.body : null;\n return container.contains(candidate) &&\n candidate !== currentElm && candidateBody !== currentElm &&\n isOutside(candidateRect, eventTargetRect, dir);\n });\n }\n }\n\n /**\n * Select the best candidate among given candidates.\n * @see {@link https://drafts.csswg.org/css-nav-1/#select-the-best-candidate}\n * @function selectBestCandidate\n * @param currentElm {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Node} The best candidate which will gain the focus\n */\n function selectBestCandidate(currentElm, candidates, dir) {\n const spatialNavigationFunction = getComputedStyle(currentElm).getPropertyValue('--spatial-navigation-function');\n const currentElmRect = getBoundingClientRect(currentElm);\n let distanceFunction;\n let alignedCandidates;\n\n switch (spatialNavigationFunction) {\n case 'grid':\n alignedCandidates = candidates.filter(elm => isAligned(currentElmRect, getBoundingClientRect(elm), dir));\n if (alignedCandidates.length > 0) {\n candidates = alignedCandidates;\n }\n distanceFunction = getAbsoluteDistance;\n break;\n case 'euclidean':\n distanceFunction = getEuclideanDistance;\n break;\n default:\n distanceFunction = getDistance;\n break;\n }\n return getClosestElement(currentElm, candidates, dir, distanceFunction);\n }\n\n /**\n * Select the best candidate among candidates by finding the closet candidate from the edge of the currently focused element (search origin).\n * @see {@link https://drafts.csswg.org/css-nav-1/#select-the-best-candidate (Step 5)}\n * @function selectBestCandidateFromEdge\n * @param currentElm {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Node} The best candidate which will gain the focus\n */\n function selectBestCandidateFromEdge(currentElm, candidates, dir) {\n if (startingPoint)\n return getClosestElement(currentElm, candidates, dir, getDistanceFromPoint);\n else\n return getClosestElement(currentElm, candidates, dir, getInnerDistance);\n }\n\n /**\n * Select the closest candidate from the currently focused element (search origin) among candidates by using the distance function.\n * @function getClosestElement\n * @param currentElm {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param distanceFunction {function} - The distance function which measures the distance from the search origin to each candidate\n * @returns {Node} The candidate which is the closest one from the search origin\n */\n function getClosestElement(currentElm, candidates, dir, distanceFunction) {\n let eventTargetRect = null;\n if (( window.location !== window.parent.location ) && (currentElm.nodeName === 'BODY' || currentElm.nodeName === 'HTML')) {\n // If the eventTarget is iframe, then get rect of it based on its containing document\n // Set the iframe's position as (0,0) because the rects of elements inside the iframe don't know the real iframe's position.\n eventTargetRect = window.frameElement.getBoundingClientRect();\n eventTargetRect.x = 0;\n eventTargetRect.y = 0;\n }\n else \n eventTargetRect = currentElm.getBoundingClientRect();\n\n let minDistance = Number.POSITIVE_INFINITY;\n let minDistanceElements = [];\n\n if (candidates) {\n for (let i = 0; i < candidates.length; i++) {\n const distance = distanceFunction(eventTargetRect, getBoundingClientRect(candidates[i]), dir);\n\n // If the same distance, the candidate will be selected in the DOM order\n if (distance < minDistance) {\n minDistance = distance;\n minDistanceElements = [candidates[i]];\n } else if (distance === minDistance) {\n minDistanceElements.push(candidates[i]);\n }\n }\n }\n if (minDistanceElements.length === 0)\n return null;\n\n return (minDistanceElements.length > 1 && distanceFunction === getAbsoluteDistance) ?\n getClosestElement(currentElm, minDistanceElements, dir, getEuclideanDistance) : minDistanceElements[0];\n }\n\n /**\n * Get container of an element.\n * @see {@link https://drafts.csswg.org/css-nav-1/#dom-element-getspatialnavigationcontainer}\n * @module Element\n * @function getSpatialNavigationContainer\n * @returns {Node} The spatial navigation container\n */\n function getSpatialNavigationContainer() {\n let container = this;\n\n do {\n if (!container.parentElement) {\n if (window.location !== window.parent.location)\n container = window.parent.document.documentElement;\n else\n container = window.document.documentElement;\n break;\n }\n else {\n container = container.parentElement;\n }\n } while (!isContainer(container));\n return container;\n }\n\n /**\n * Find focusable elements within the spatial navigation container.\n * @see {@link https://drafts.csswg.org/css-nav-1/#dom-element-focusableareas}\n * @function focusableAreas\n * @param option {FocusableAreasOptions} - 'mode' attribute takes 'visible' or 'all' for searching the boundary of focusable elements.\n * Default value is 'visible'.\n * @returns {sequence<Node>} All focusable elements or only visible focusable elements within the container\n */\n function focusableAreas(option = {mode: 'visible'}) {\n const container = this.parentElement ? this : document.body;\n const focusables = Array.prototype.filter.call(container.getElementsByTagName('*'), isFocusable);\n return (option.mode === 'all') ? focusables : focusables.filter(isVisible);\n }\n\n /**\n * Create the NavigationEvent: navbeforefocus, navnotarget\n * @see {@link https://drafts.csswg.org/css-nav-1/#events-navigationevent}\n * @function createSpatNavEvents\n * @param option {string} - Type of the navigation event (beforefocus, notarget)\n * @param element {Node} - The target element of the event\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n */\n function createSpatNavEvents(eventType, containerElement, currentElement, direction) {\n if(['beforefocus', 'notarget'].includes(eventType)) {\n const data = {\n causedTarget: currentElement,\n dir: direction\n };\n const triggeredEvent = new CustomEvent('nav' + eventType, {bubbles: true, cancelable: true, detail: data});\n return containerElement.dispatchEvent(triggeredEvent);\n }\n }\n\n /**\n * Get the value of the CSS custom property of the element\n * @function readCssVar\n * @param element {Node}\n * @param varName {string} - The name of the css custom property without '--'\n * @returns {string} The value of the css custom property\n */\n function readCssVar(element, varName) {\n return window.getComputedStyle(element).getPropertyValue(`--${varName}`).trim();\n }\n\n /**\n * Decide whether or not the 'contain' value is given to 'spatial-navigation-contain' css property of an element\n * @function isCSSSpatNavContain\n * @param element {Node}\n * @returns {boolean}\n */\n function isCSSSpatNavContain(element) {\n return readCssVar(element, 'spatial-navigation-contain') === 'contain';\n }\n\n /**\n * Return the value of 'spatial-navigation-action' css property of an element\n * @function getCSSSpatNavAction\n * @param element {Node} - would be the spatial navigation container\n * @returns {string} auto | focus | scroll\n */\n function getCSSSpatNavAction(element) {\n return readCssVar(element, 'spatial-navigation-action') || 'auto';\n }\n\n /**\n * Only move the focus with spatial navigation. Manually scrolling isn't available.\n * @function navigateChain\n * @param eventTarget {Node} - currently focused element\n * @param container {SpatialNavigationContainer} - container\n * @param parentContainer {SpatialNavigationContainer} - parent container\n * @param option - visible || all\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n */\n function navigateChain(eventTarget, container, parentContainer, dir, option) {\n let currentOption = {candidates: getSpatialNavigationCandidates(container, {mode: option}), container};\n\n while (parentContainer) {\n if (focusingController(eventTarget.spatialNavigationSearch(dir, currentOption), dir)) {\n return;\n }\n else {\n if ((option === 'visible') && scrollingController(container, dir)) return;\n else {\n if (!createSpatNavEvents('notarget', container, eventTarget, dir)) return;\n\n // find the container\n if (container === document || container === document.documentElement) {\n if ( window.location !== window.parent.location ) {\n // The page is in an iframe. eventTarget needs to be reset because the position of the element in the iframe\n eventTarget = window.frameElement;\n container = window.parent.document.documentElement;\n\n if (container.parentElement)\n parentContainer = container.getSpatialNavigationContainer();\n else {\n parentContainer = null;\n break;\n }\n }\n }\n else {\n container = parentContainer;\n currentOption = {candidates: getSpatialNavigationCandidates(container, {mode: option}), container};\n\n if (container.parentElement)\n parentContainer = container.getSpatialNavigationContainer();\n else {\n parentContainer = null;\n break;\n }\n }\n }\n }\n }\n\n currentOption = {candidates: getSpatialNavigationCandidates(container, {mode: option}), container};\n\n // Behavior after 'navnotarget' - Getting out from the current spatnav container\n if ((!parentContainer && container) && focusingController(eventTarget.spatialNavigationSearch(dir, currentOption), dir)) return;\n\n if (!createSpatNavEvents('notarget', currentOption.container, eventTarget, dir)) return;\n\n if ((getCSSSpatNavAction(container) === 'auto') && (option === 'visible'))\n if (scrollingController(container, dir)) return;\n }\n\n /**\n * Find search origin\n * @see {@link https://drafts.csswg.org/css-nav-1/#nav}\n * @function findSearchOrigin\n * @returns {Node} The search origin for the spatial navigation\n */\n function findSearchOrigin() {\n let searchOrigin = document.activeElement;\n if (!searchOrigin ||\n (searchOrigin === document.body && !document.querySelector(':focus')) /* body isn't actually focused*/\n ) {\n searchOrigin = document;\n }\n return searchOrigin;\n }\n\n /**\n * Move the scroll of an element depending on the given spatial navigation directrion\n * (Assume that User Agent defined distance is '40px')\n * @see {@link https://drafts.csswg.org/css-nav-1/#directionally-scroll-an-element}\n * @function moveScroll\n * @param element {Node} - The scrollable element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param offset {Number} - The explicit amount of offset for scrolling. Default value is 0.\n */\n function moveScroll(element, dir, offset = 0) {\n if (element) {\n switch (dir) {\n case 'left': element.scrollLeft -= (40 + offset); break;\n case 'right': element.scrollLeft += (40 + offset); break;\n case 'up': element.scrollTop -= (40 + offset); break;\n case 'down': element.scrollTop += (40 + offset); break;\n }\n }\n }\n\n /**\n * Decide whether an element is container or not.\n * @function isContainer\n * @param element {Node} element\n * @returns {boolean}\n */\n function isContainer(element) {\n return (!element.parentElement) ||\n (element.nodeName === 'IFRAME') ||\n (isScrollContainer(element)) ||\n (isCSSSpatNavContain(element));\n }\n\n /**\n * Decide whether an element is delegable container or not.\n * NOTE: THIS IS NON-NORMATIVE API. \n * @function isDelegableContainer\n * @param element {Node} element\n * @returns {boolean}\n */\n function isDelegableContainer(element) {\n return readCssVar(element, 'spatial-navigation-contain') === 'delegable';\n }\n\n /**\n * Decide whether an element is a scrollable container or not.\n * @see {@link https://drafts.csswg.org/css-overflow-3/#scroll-container}\n * @function isScrollContainer\n * @param element {Node}\n * @returns {boolean}\n */\n function isScrollContainer(element) {\n const elementStyle = window.getComputedStyle(element, null);\n const overflowX = elementStyle.getPropertyValue('overflow-x');\n const overflowY = elementStyle.getPropertyValue('overflow-y');\n\n return ((overflowX !== 'visible' && overflowX !== 'clip' && isOverflow(element, 'left')) ||\n (overflowY !== 'visible' && overflowY !== 'clip' && isOverflow(element, 'down'))) ?\n true : false;\n }\n\n /**\n * Decide whether this element is scrollable or not.\n * NOTE: If the value of 'overflow' is given to either 'visible', 'clip', or 'hidden', the element isn't scrollable.\n * If the value is 'hidden', the element can be only programmically scrollable. (https://drafts.csswg.org/css-overflow-3/#valdef-overflow-hidden)\n * @function isScrollable\n * @param element {Node}\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isScrollable(element, dir) { // element, dir\n if (element && typeof element === 'object') {\n if (dir && typeof dir === 'string') { // parameter: dir, element\n if (isOverflow(element, dir)) {\n // style property\n const elementStyle = window.getComputedStyle(element, null);\n const overflowX = elementStyle.getPropertyValue('overflow-x');\n const overflowY = elementStyle.getPropertyValue('overflow-y');\n\n switch (dir) {\n case 'left':\n /* falls through */\n case 'right':\n return (overflowX !== 'visible' && overflowX !== 'clip' && overflowX !== 'hidden');\n case 'up':\n /* falls through */\n case 'down':\n return (overflowY !== 'visible' && overflowY !== 'clip' && overflowY !== 'hidden');\n }\n }\n return false;\n } else { // parameter: element\n return (element.nodeName === 'HTML' || element.nodeName === 'BODY') ||\n (isScrollContainer(element) && isOverflow(element));\n }\n }\n }\n\n /**\n * Decide whether an element is overflow or not.\n * @function isOverflow\n * @param element {Node}\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isOverflow(element, dir) {\n if (element && typeof element === 'object') {\n if (dir && typeof dir === 'string') { // parameter: element, dir\n switch (dir) {\n case 'left':\n /* falls through */\n case 'right':\n return (element.scrollWidth > element.clientWidth);\n case 'up':\n /* falls through */\n case 'down':\n return (element.scrollHeight > element.clientHeight);\n }\n } else { // parameter: element\n return (element.scrollWidth > element.clientWidth || element.scrollHeight > element.clientHeight);\n }\n return false;\n }\n }\n\n /**\n * Decide whether the scrollbar of the browsing context reaches to the end or not.\n * @function isHTMLScrollBoundary\n * @param element {Node} - The top browsing context\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isHTMLScrollBoundary(element, dir) {\n let result = false;\n switch (dir) {\n case 'left':\n result = window.scrollX === 0;\n break;\n case 'right':\n result = (element.scrollWidth - element.scrollLeft - element.clientWidth) === 0;\n break;\n case 'up':\n result = window.scrollY === 0;\n break;\n case 'down':\n result = (element.scrollHeight - element.scrollTop - element.clientHeight) === 0;\n break;\n }\n return result;\n }\n\n /**\n * Decide whether the scrollbar of an element reaches to the end or not.\n * @function isScrollBoundary\n * @param element {Node}\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isScrollBoundary(element, dir) {\n if (isScrollable(element, dir)) {\n const winScrollY = element.scrollTop;\n const winScrollX = element.scrollLeft;\n\n const height = element.scrollHeight - element.clientHeight;\n const width = element.scrollWidth - element.clientWidth;\n\n switch (dir) {\n case 'left': return (winScrollX === 0);\n case 'right': return (Math.abs(winScrollX - width) <= 1);\n case 'up': return (winScrollY === 0);\n case 'down': return (Math.abs(winScrollY - height) <= 1);\n }\n }\n return false;\n }\n\n /**\n * Decide whether an element is focusable for spatial navigation.\n * 1. If element is the browsing context (document, iframe), then it's focusable,\n * 2. If the element is scrollable container (regardless of scrollable axis), then it's focusable,\n * 3. The value of tabIndex >= 0, then it's focusable,\n * 4. If the element is disabled, it isn't focusable,\n * 5. If the element is expressly inert, it isn't focusable,\n * 6. Whether the element is being rendered or not.\n *\n * @function isFocusable\n * @param element {Node}\n * @returns {boolean}\n *\n * @see {@link https://html.spec.whatwg.org/multipage/interaction.html#focusable-area}\n */\n function isFocusable(element) {\n if ((element.tabIndex < 0) || isAtagWithoutHref(element) || isActuallyDisabled(element) || isExpresslyInert(element) || !isBeingRendered(element))\n return false;\n else if ((!element.parentElement) || (isScrollable(element) && isOverflow(element)) || (element.tabIndex >= 0))\n return true;\n }\n\n /**\n * Decide whether an element is a tag without href attribute or not.\n *\n * @function isAtagWithoutHref\n * @param element {Node}\n * @returns {boolean}\n */\n function isAtagWithoutHref(element) {\n return (element.tagName === 'A' && element.getAttribute('href') === null && element.getAttribute('tabIndex') === null);\n }\n\n /**\n * Decide whether an element is actually disabled or not.\n *\n * @function isActuallyDisabled\n * @param element {Node}\n * @returns {boolean}\n *\n * @see {@link https://html.spec.whatwg.org/multipage/semantics-other.html#concept-element-disabled}\n */\n function isActuallyDisabled(element) {\n if (['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA', 'OPTGROUP', 'OPTION', 'FIELDSET'].includes(element.tagName))\n return (element.disabled);\n else\n return false;\n }\n\n /**\n * Decide whether the element is expressly inert or not.\n * @see {@link https://html.spec.whatwg.org/multipage/interaction.html#expressly-inert}\n * @function isExpresslyInert\n * @param element {Node}\n * @returns {boolean}\n */\n function isExpresslyInert(element) {\n return ((element.inert) && (!element.ownerDocument.documentElement.inert));\n }\n\n /**\n * Decide whether the element is being rendered or not.\n * 1. If an element has the style as \"visibility: hidden | collapse\" or \"display: none\", it is not being rendered.\n * 2. If an element has the style as \"opacity: 0\", it is not being rendered.(that is, invisible).\n * 3. If width and height of an element are explicitly set to 0, it is not being rendered.\n * 4. If a parent element is hidden, an element itself is not being rendered.\n * (CSS visibility property and display property are inherited.)\n * @see {@link https://html.spec.whatwg.org/multipage/rendering.html#being-rendered}\n * @function isBeingRendered\n * @param element {Node}\n * @returns {boolean}\n */\n function isBeingRendered(element) {\n if (!isVisibleStyleProperty(element.parentElement))\n return false;\n if (!isVisibleStyleProperty(element) || (element.style.opacity === 0) ||\n ((element.style.width === '0px' || element.style.width === 0) && (element.style.height === '0px' || element.style.height === 0)))\n return false;\n return true;\n }\n\n /**\n * Decide whether this element is partially or completely visible to user agent.\n * @function isVisible\n * @param element {Node}\n * @returns {boolean}\n */\n function isVisible(element) {\n return (!element.parentElement) || (isVisibleStyleProperty(element) && hitTest(element));\n }\n\n /**\n * Decide whether this element is completely visible in this viewport for the arrow direction.\n * @function isEntirelyVisible\n * @param element {Node}\n * @returns {boolean}\n */\n function isEntirelyVisible(element) {\n const rect = getBoundingClientRect(element);\n const containerRect = getBoundingClientRect(element.getSpatialNavigationContainer());\n\n // FIXME: when element is bigger than container?\n const entirelyVisible = !((rect.left < containerRect.left) ||\n (rect.right > containerRect.right) ||\n (rect.top < containerRect.top) ||\n (rect.bottom > containerRect.bottom));\n\n return entirelyVisible;\n }\n\n /**\n * Decide the style property of this element is specified whether it's visible or not.\n * @function isVisibleStyleProperty\n * @param element {CSSStyleDeclaration}\n * @returns {boolean}\n */\n function isVisibleStyleProperty(element) {\n const elementStyle = window.getComputedStyle(element, null);\n const thisVisibility = elementStyle.getPropertyValue('visibility');\n const thisDisplay = elementStyle.getPropertyValue('display');\n const invisibleStyle = ['hidden', 'collapse'];\n\n return (thisDisplay !== 'none' && !invisibleStyle.includes(thisVisibility));\n }\n\n /**\n * Decide whether this element is entirely or partially visible within the viewport.\n * @function hitTest\n * @param element {Node}\n * @returns {boolean}\n */\n function hitTest(element) {\n const elementRect = getBoundingClientRect(element);\n if (element.nodeName !== 'IFRAME' && (elementRect.top < 0 || elementRect.left < 0 ||\n elementRect.top > window.innerHeight || elementRect.left > window.innerWidth))\n return false;\n\n let offsetX = parseInt(element.offsetWidth) / 10;\n let offsetY = parseInt(element.offsetHeight) / 10;\n\n offsetX = isNaN(offsetX) ? 1 : offsetX;\n offsetY = isNaN(offsetY) ? 1 : offsetY;\n\n const hitTestPoint = {\n middle: [(elementRect.left + elementRect.right) / 2, (elementRect.top + elementRect.bottom) / 2],\n leftTop: [elementRect.left + offsetX, elementRect.top + offsetY],\n // For performance\n // leftBoottom: [elementRect.left + offsetX, elementRect.bottom - offsetY],\n // rightTop: [elementRect.right - offsetX, elementRect.top + offsetY],\n rightBottom: [elementRect.right - offsetX, elementRect.bottom - offsetY]\n };\n\n for(const point in hitTestPoint) {\n const elemFromPoint = document.elementFromPoint(...hitTestPoint[point]);\n if (element === elemFromPoint || element.contains(elemFromPoint)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Decide whether a child element is entirely or partially Included within container visually.\n * @function isInside\n * @param containerRect {DOMRect}\n * @param childRect {DOMRect}\n * @returns {boolean}\n */\n function isInside(containerRect, childRect) {\n const rightEdgeCheck = (containerRect.left <= childRect.right && containerRect.right >= childRect.right);\n const leftEdgeCheck = (containerRect.left <= childRect.left && containerRect.right >= childRect.left);\n const topEdgeCheck = (containerRect.top <= childRect.top && containerRect.bottom >= childRect.top);\n const bottomEdgeCheck = (containerRect.top <= childRect.bottom && containerRect.bottom >= childRect.bottom);\n return (rightEdgeCheck || leftEdgeCheck) && (topEdgeCheck || bottomEdgeCheck);\n }\n\n /**\n * Decide whether this element is entirely or partially visible within the viewport.\n * Note: rect1 is outside of rect2 for the dir\n * @function isOutside\n * @param rect1 {DOMRect}\n * @param rect2 {DOMRect}\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isOutside(rect1, rect2, dir) {\n switch (dir) {\n case 'left':\n return isRightSide(rect2, rect1);\n case 'right':\n return isRightSide(rect1, rect2);\n case 'up':\n return isBelow(rect2, rect1);\n case 'down':\n return isBelow(rect1, rect2);\n default:\n return false;\n }\n }\n\n /* rect1 is right of rect2 */\n function isRightSide(rect1, rect2) {\n return rect1.left >= rect2.right || (rect1.left >= rect2.left && rect1.right > rect2.right && rect1.bottom > rect2.top && rect1.top < rect2.bottom);\n }\n\n /* rect1 is below of rect2 */\n function isBelow(rect1, rect2) {\n return rect1.top >= rect2.bottom || (rect1.top >= rect2.top && rect1.bottom > rect2.bottom && rect1.left < rect2.right && rect1.right > rect2.left);\n }\n\n /* rect1 is completely aligned or partially aligned for the direction */\n function isAligned(rect1, rect2, dir) {\n switch (dir) {\n case 'left' :\n /* falls through */\n case 'right' :\n return rect1.bottom > rect2.top && rect1.top < rect2.bottom;\n case 'up' :\n /* falls through */\n case 'down' :\n return rect1.right > rect2.left && rect1.left < rect2.right;\n default:\n return false;\n }\n }\n\n /**\n * Get distance between the search origin and a candidate element along the direction when candidate element is inside the search origin.\n * @see {@link https://drafts.csswg.org/css-nav-1/#find-the-shortest-distance}\n * @function getDistanceFromPoint\n * @param point {Point} - The search origin\n * @param element {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The euclidian distance between the spatial navigation container and an element inside it\n */\n function getDistanceFromPoint(point, element, dir) {\n point = startingPoint;\n // Get exit point, entry point -> {x: '', y: ''};\n const points = getEntryAndExitPoints(dir, point, element);\n\n // Find the points P1 inside the border box of starting point and P2 inside the border box of candidate\n // that minimize the distance between these two points\n const P1 = Math.abs(points.entryPoint.x - points.exitPoint.x);\n const P2 = Math.abs(points.entryPoint.y - points.exitPoint.y);\n\n // The result is euclidian distance between P1 and P2.\n return Math.sqrt(Math.pow(P1, 2) + Math.pow(P2, 2));\n }\n\n /**\n * Get distance between the search origin and a candidate element along the direction when candidate element is inside the search origin.\n * @see {@link https://drafts.csswg.org/css-nav-1/#find-the-shortest-distance}\n * @function getInnerDistance\n * @param rect1 {DOMRect} - The search origin\n * @param rect2 {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The euclidean distance between the spatial navigation container and an element inside it\n */\n function getInnerDistance(rect1, rect2, dir) {\n const baseEdgeForEachDirection = {left: 'right', right: 'left', up: 'bottom', down: 'top'};\n const baseEdge = baseEdgeForEachDirection[dir];\n\n return Math.abs(rect1[baseEdge] - rect2[baseEdge]);\n }\n\n /**\n * Get the distance between the search origin and a candidate element considering the direction.\n * @see {@link https://drafts.csswg.org/css-nav-1/#calculating-the-distance}\n * @function getDistance\n * @param searchOrigin {DOMRect || Point} - The search origin\n * @param candidateRect {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The distance scoring between two elements\n */\n function getDistance(searchOrigin, candidateRect, dir) {\n const kOrthogonalWeightForLeftRight = 30;\n const kOrthogonalWeightForUpDown = 2;\n\n let orthogonalBias = 0;\n let alignBias = 0;\n const alignWeight = 5.0;\n\n // Get exit point, entry point -> {x: '', y: ''};\n const points = getEntryAndExitPoints(dir, searchOrigin, candidateRect);\n\n // Find the points P1 inside the border box of starting point and P2 inside the border box of candidate\n // that minimize the distance between these two points\n const P1 = Math.abs(points.entryPoint.x - points.exitPoint.x);\n const P2 = Math.abs(points.entryPoint.y - points.exitPoint.y);\n\n // A: The euclidean distance between P1 and P2.\n const A = Math.sqrt(Math.pow(P1, 2) + Math.pow(P2, 2));\n let B, C;\n\n // B: The absolute distance in the direction which is orthogonal to dir between P1 and P2, or 0 if dir is null.\n // C: The intersection edges between a candidate and the starting point.\n\n // D: The square root of the area of intersection between the border boxes of candidate and starting point\n const intersectionRect = getIntersectionRect(searchOrigin, candidateRect);\n const D = intersectionRect.area;\n\n switch (dir) {\n case 'left':\n /* falls through */\n case 'right' :\n // If two elements are aligned, add align bias\n // else, add orthogonal bias\n if (isAligned(searchOrigin, candidateRect, dir))\n alignBias = Math.min(intersectionRect.height / searchOrigin.height , 1);\n else\n orthogonalBias = (searchOrigin.height / 2);\n\n B = (P2 + orthogonalBias) * kOrthogonalWeightForLeftRight;\n C = alignWeight * alignBias;\n break;\n\n case 'up' :\n /* falls through */\n case 'down' :\n // If two elements are aligned, add align bias\n // else, add orthogonal bias\n if (isAligned(searchOrigin, candidateRect, dir))\n alignBias = Math.min(intersectionRect.width / searchOrigin.width , 1);\n else\n orthogonalBias = (searchOrigin.width / 2);\n\n B = (P1 + orthogonalBias) * kOrthogonalWeightForUpDown;\n C = alignWeight * alignBias;\n break;\n\n default:\n B = 0;\n C = 0;\n break;\n }\n\n return (A + B - C - D);\n }\n\n /**\n * Get the euclidean distance between the search origin and a candidate element considering the direction.\n * @function getEuclideanDistance\n * @param rect1 {DOMRect} - The search origin\n * @param rect2 {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The distance scoring between two elements\n */\n function getEuclideanDistance(rect1, rect2, dir) {\n // Get exit point, entry point\n const points = getEntryAndExitPoints(dir, rect1, rect2);\n\n // Find the points P1 inside the border box of starting point and P2 inside the border box of candidate\n // that minimize the distance between these two points\n const P1 = Math.abs(points.entryPoint.x - points.exitPoint.x);\n const P2 = Math.abs(points.entryPoint.y - points.exitPoint.y);\n\n // Return the euclidean distance between P1 and P2.\n return Math.sqrt(Math.pow(P1, 2) + Math.pow(P2, 2));\n }\n\n /**\n * Get the absolute distance between the search origin and a candidate element considering the direction.\n * @function getAbsoluteDistance\n * @param rect1 {DOMRect} - The search origin\n * @param rect2 {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The distance scoring between two elements\n */\n function getAbsoluteDistance(rect1, rect2, dir) {\n // Get exit point, entry point\n const points = getEntryAndExitPoints(dir, rect1, rect2);\n\n // Return the absolute distance in the dir direction between P1 and P.\n return ((dir === 'left') || (dir === 'right')) ?\n Math.abs(points.entryPoint.x - points.exitPoint.x) : Math.abs(points.entryPoint.y - points.exitPoint.y);\n }\n\n /**\n * Get entry point and exit point of two elements considering the direction.\n * @function getEntryAndExitPoints\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD). Default value for dir is 'down'.\n * @param searchOrigin {DOMRect | Point} - The search origin which contains the exit point\n * @param candidateRect {DOMRect} - One of candidates which contains the entry point\n * @returns {Points} The exit point from the search origin and the entry point from a candidate\n */\n function getEntryAndExitPoints(dir = 'down', searchOrigin, candidateRect) {\n /**\n * User type definition for Point\n * @typeof {Object} Points\n * @property {Point} Points.entryPoint\n * @property {Point} Points.exitPoint\n */\n const points = {entryPoint: {x: 0, y: 0}, exitPoint:{x: 0, y: 0}};\n\n if (startingPoint) {\n points.exitPoint = searchOrigin;\n\n switch (dir) {\n case 'left':\n points.entryPoint.x = candidateRect.right;\n break;\n case 'up':\n points.entryPoint.y = candidateRect.bottom;\n break;\n case 'right':\n points.entryPoint.x = candidateRect.left;\n break;\n case 'down':\n points.entryPoint.y = candidateRect.top;\n break;\n }\n\n // Set orthogonal direction\n switch (dir) {\n case 'left':\n case 'right':\n if (startingPoint.y <= candidateRect.top) {\n points.entryPoint.y = candidateRect.top;\n } else if (startingPoint.y < candidateRect.bottom) {\n points.entryPoint.y = startingPoint.y;\n } else {\n points.entryPoint.y = candidateRect.bottom;\n }\n break;\n\n case 'up':\n case 'down':\n if (startingPoint.x <= candidateRect.left) {\n points.entryPoint.x = candidateRect.left;\n } else if (startingPoint.x < candidateRect.right) {\n points.entryPoint.x = startingPoint.x;\n } else {\n points.entryPoint.x = candidateRect.right;\n }\n break;\n }\n }\n else {\n // Set direction\n switch (dir) {\n case 'left':\n points.exitPoint.x = searchOrigin.left;\n points.entryPoint.x = (candidateRect.right < searchOrigin.left) ? candidateRect.right : searchOrigin.left;\n break;\n case 'up':\n points.exitPoint.y = searchOrigin.top;\n points.entryPoint.y = (candidateRect.bottom < searchOrigin.top) ? candidateRect.bottom : searchOrigin.top;\n break;\n case 'right':\n points.exitPoint.x = searchOrigin.right;\n points.entryPoint.x = (candidateRect.left > searchOrigin.right) ? candidateRect.left : searchOrigin.right;\n break;\n case 'down':\n points.exitPoint.y = searchOrigin.bottom;\n points.entryPoint.y = (candidateRect.top > searchOrigin.bottom) ? candidateRect.top : searchOrigin.bottom;\n break;\n }\n\n // Set orthogonal direction\n switch (dir) {\n case 'left':\n case 'right':\n if (isBelow(searchOrigin, candidateRect)) {\n points.exitPoint.y = searchOrigin.top;\n points.entryPoint.y = (candidateRect.bottom < searchOrigin.top) ? candidateRect.bottom : searchOrigin.top;\n } else if (isBelow(candidateRect, searchOrigin)) {\n points.exitPoint.y = searchOrigin.bottom;\n points.entryPoint.y = (candidateRect.top > searchOrigin.bottom) ? candidateRect.top : searchOrigin.bottom;\n } else {\n points.exitPoint.y = Math.max(searchOrigin.top, candidateRect.top);\n points.entryPoint.y = points.exitPoint.y;\n }\n break;\n\n case 'up':\n case 'down':\n if (isRightSide(searchOrigin, candidateRect)) {\n points.exitPoint.x = searchOrigin.left;\n points.entryPoint.x = (candidateRect.right < searchOrigin.left) ? candidateRect.right : searchOrigin.left;\n } else if (isRightSide(candidateRect, searchOrigin)) {\n points.exitPoint.x = searchOrigin.right;\n points.entryPoint.x = (candidateRect.left > searchOrigin.right) ? candidateRect.left : searchOrigin.right;\n } else {\n points.exitPoint.x = Math.max(searchOrigin.left, candidateRect.left);\n points.entryPoint.x = points.exitPoint.x;\n }\n break;\n }\n }\n\n return points;\n }\n\n /**\n * Find focusable elements within the container\n * @see {@link https://drafts.csswg.org/css-nav-1/#find-the-shortest-distance}\n * @function getIntersectionRect\n * @param rect1 {DOMRect} - The search origin which contains the exit point\n * @param rect2 {DOMRect} - One of candidates which contains the entry point\n * @returns {IntersectionArea} The intersection area between two elements.\n *\n * @typeof {Object} IntersectionArea\n * @property {Number} IntersectionArea.width\n * @property {Number} IntersectionArea.height\n */\n function getIntersectionRect(rect1, rect2) {\n const intersection_rect = {width: 0, height: 0, area: 0};\n\n const new_location = [Math.max(rect1.left, rect2.left), Math.max(rect1.top, rect2.top)];\n const new_max_point = [Math.min(rect1.right, rect2.right), Math.min(rect1.bottom, rect2.bottom)];\n\n intersection_rect.width = Math.abs(new_location[0] - new_max_point[0]);\n intersection_rect.height = Math.abs(new_location[1] - new_max_point[1]);\n\n if (!(new_location[0] >= new_max_point[0] || new_location[1] >= new_max_point[1])) {\n // intersecting-cases\n intersection_rect.area = Math.sqrt(intersection_rect.width * intersection_rect.height);\n }\n\n return intersection_rect;\n }\n\n /**\n * Handle the spatial navigation behavior for HTMLInputElement, HTMLTextAreaElement\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input|HTMLInputElement (MDN)}\n * @function handlingEditableElement\n * @param e {Event} - keydownEvent\n * @returns {boolean}\n */\n function handlingEditableElement(e) {\n const SPINNABLE_INPUT_TYPES = ['email', 'date', 'month', 'number', 'time', 'week'],\n TEXT_INPUT_TYPES = ['password', 'text', 'search', 'tel', 'url', null];\n const eventTarget = document.activeElement;\n const startPosition = eventTarget.selectionStart;\n const endPosition = eventTarget.selectionEnd;\n const focusNavigableArrowKey = {left: false, up: false, right: false, down: false};\n\n const dir = ARROW_KEY_CODE[e.keyCode];\n if (dir === undefined) {\n return focusNavigableArrowKey;\n }\n\n if (SPINNABLE_INPUT_TYPES.includes(eventTarget.getAttribute('type')) &&\n (dir === 'up' || dir === 'down')) {\n focusNavigableArrowKey[dir] = true;\n } else if (TEXT_INPUT_TYPES.includes(eventTarget.getAttribute('type')) || eventTarget.nodeName === 'TEXTAREA') {\n if (startPosition === endPosition) { // if there isn't any selected text\n if (startPosition === 0) {\n focusNavigableArrowKey.left = true;\n focusNavigableArrowKey.up = true;\n }\n if (endPosition === eventTarget.value.length) {\n focusNavigableArrowKey.right = true;\n focusNavigableArrowKey.down = true;\n }\n }\n } else { // HTMLDataListElement, HTMLSelectElement, HTMLOptGroup\n focusNavigableArrowKey[dir] = true;\n }\n\n return focusNavigableArrowKey;\n }\n\n /**\n * Get the DOMRect of an element\n * @function getBoundingClientRect\n * @param element {Node}\n * @returns {DOMRect}\n */\n function getBoundingClientRect(element) {\n // memoization\n let rect = mapOfBoundRect && mapOfBoundRect.get(element);\n if (!rect) {\n const boundingClientRect = element.getBoundingClientRect();\n rect = {\n top: Number(boundingClientRect.top.toFixed(2)),\n right: Number(boundingClientRect.right.toFixed(2)),\n bottom: Number(boundingClientRect.bottom.toFixed(2)),\n left: Number(boundingClientRect.left.toFixed(2)),\n width: Number(boundingClientRect.width.toFixed(2)),\n height: Number(boundingClientRect.height.toFixed(2))\n };\n mapOfBoundRect && mapOfBoundRect.set(element, rect);\n }\n return rect;\n }\n\n /**\n * Get the list of the experimental APIs\n * @function getExperimentalAPI\n */\n function getExperimentalAPI() {\n function canScroll(container, dir) {\n return (isScrollable(container, dir) && !isScrollBoundary(container, dir)) ||\n (!container.parentElement && !isHTMLScrollBoundary(container, dir));\n }\n\n function findTarget(findCandidate, element, dir, option) {\n let eventTarget = element;\n let bestNextTarget = null;\n\n // 4\n if (eventTarget === document || eventTarget === document.documentElement) {\n eventTarget = document.body || document.documentElement;\n }\n\n // 5\n // At this point, spatialNavigationSearch can be applied.\n // If startingPoint is either a scroll container or the document,\n // find the best candidate within startingPoint\n if ((isContainer(eventTarget) || eventTarget.nodeName === 'BODY') && !(eventTarget.nodeName === 'INPUT')) {\n if (eventTarget.nodeName === 'IFRAME')\n eventTarget = eventTarget.contentDocument.body;\n\n const candidates = getSpatialNavigationCandidates(eventTarget, option);\n\n // 5-2\n if (Array.isArray(candidates) && candidates.length > 0) {\n return findCandidate ? getFilteredSpatialNavigationCandidates(eventTarget, dir, candidates) : eventTarget.spatialNavigationSearch(dir, {candidates});\n }\n if (canScroll(eventTarget, dir)) {\n return findCandidate ? [] : eventTarget;\n }\n }\n\n // 6\n // Let container be the nearest ancestor of eventTarget\n let container = eventTarget.getSpatialNavigationContainer();\n let parentContainer = (container.parentElement) ? container.getSpatialNavigationContainer() : null;\n\n // When the container is the viewport of a browsing context\n if (!parentContainer && ( window.location !== window.parent.location)) {\n parentContainer = window.parent.document.documentElement;\n }\n\n // 7\n while (parentContainer) {\n const candidates = filteredCandidates(eventTarget, getSpatialNavigationCandidates(container, option), dir, container);\n\n if (Array.isArray(candidates) && candidates.length > 0) {\n bestNextTarget = eventTarget.spatialNavigationSearch(dir, {candidates, container});\n if (bestNextTarget) {\n return findCandidate ? candidates : bestNextTarget;\n }\n }\n\n // If there isn't any candidate and the best candidate among candidate:\n // 1) Scroll or 2) Find candidates of the ancestor container\n // 8 - if\n else if (canScroll(container, dir)) {\n return findCandidate ? [] : eventTarget;\n } else if (container === document || container === document.documentElement) {\n container = window.document.documentElement;\n\n // The page is in an iframe\n if ( window.location !== window.parent.location ) {\n\n // eventTarget needs to be reset because the position of the element in the IFRAME\n // is unuseful when the focus moves out of the iframe\n eventTarget = window.frameElement;\n container = window.parent.document.documentElement;\n if (container.parentElement)\n parentContainer = container.getSpatialNavigationContainer();\n else {\n parentContainer = null;\n break;\n }\n }\n } else {\n // avoiding when spatnav container with tabindex=-1\n if (isFocusable(container)) {\n eventTarget = container;\n }\n\n container = parentContainer;\n if (container.parentElement)\n parentContainer = container.getSpatialNavigationContainer();\n else {\n parentContainer = null;\n break;\n }\n }\n }\n\n if (!parentContainer && container) {\n // Getting out from the current spatnav container\n const candidates = filteredCandidates(eventTarget, getSpatialNavigationCandidates(container, option), dir, container);\n\n // 9\n if (Array.isArray(candidates) && candidates.length > 0) {\n bestNextTarget = eventTarget.spatialNavigationSearch(dir, {candidates, container});\n if (bestNextTarget) {\n return findCandidate ? candidates : bestNextTarget;\n }\n }\n }\n\n if (canScroll(container, dir)) {\n bestNextTarget = eventTarget;\n return bestNextTarget;\n }\n }\n\n return {\n isContainer,\n isScrollContainer,\n findCandidates: findTarget.bind(null, true),\n findNextTarget: findTarget.bind(null, false),\n getDistanceFromTarget: (element, candidateElement, dir) => {\n if ((isContainer(element) || element.nodeName === 'BODY') && !(element.nodeName === 'INPUT')) {\n if (getSpatialNavigationCandidates(element).includes(candidateElement)) {\n return getInnerDistance(getBoundingClientRect(element), getBoundingClientRect(candidateElement), dir);\n }\n }\n return getDistance(getBoundingClientRect(element), getBoundingClientRect(candidateElement), dir);\n }\n };\n }\n\n /**\n * Makes to use the experimental APIs.\n * @function enableExperimentalAPIs\n * @param option {boolean} - If it is true, the experimental APIs can be used or it cannot.\n */\n function enableExperimentalAPIs (option) {\n const currentKeyMode = window.__spatialNavigation__ && window.__spatialNavigation__.keyMode;\n window.__spatialNavigation__ = (option === false) ? getInitialAPIs() : Object.assign(getInitialAPIs(), getExperimentalAPI());\n window.__spatialNavigation__.keyMode = currentKeyMode;\n Object.seal(window.__spatialNavigation__);\n }\n\n /**\n * Set the environment for using the spatial navigation polyfill.\n * @function getInitialAPIs\n */\n function getInitialAPIs() {\n return {\n enableExperimentalAPIs,\n get keyMode() { return this._keymode ? this._keymode : 'ARROW'; },\n set keyMode(mode) { this._keymode = (['SHIFTARROW', 'ARROW', 'NONE'].includes(mode)) ? mode : 'ARROW'; },\n setStartingPoint: function (x, y) {startingPoint = (x && y) ? {x, y} : null;}\n };\n }\n\n window.addEventListener('load', () => {\n initiateSpatialNavigation();\n enableExperimentalAPIs(false);\n });\n})();\n","// No automatic generation: we don't want to depend on fs, as we want to keep this universal\n// ls *-*.json | while read line; do printf \"\\\"`printf $line | cut -d '.' -f1`\\\",\\n\"; done\n\nvar languages = [\n\t\"ar-AR\",\n\t\"bg-BG\",\n\t\"ca-CA\",\n\t\"cs-CZ\",\n\t\"da-DK\",\n\t\"de-DE\",\n\t\"el-GR\",\n\t\"en-US\",\n\t\"eo-EO\",\n\t\"es-ES\",\n\t\"eu-ES\",\n\t\"fa-IR\",\n\t\"fi-FI\",\n\t\"fr-FR\",\n\t\"he-IL\",\n\t\"hi-IN\",\n\t\"hr-HR\",\n\t\"hu-HU\",\n\t\"id-ID\",\n\t\"it-IT\",\n\t\"ja-JP\",\n\t\"ko-KR\",\n\t\"mk-MK\",\n\t\"my-BM\",\n\t\"nb-NO\",\n\t\"ne-NP\",\n\t\"nl-NL\",\n\t\"nn-NO\",\n\t\"pa-IN\",\n\t\"pl-PL\",\n\t\"pt-BR\",\n\t\"pt-PT\",\n\t\"ro-RO\",\n\t\"ru-RU\",\n\t\"sl-SL\",\n\t\"sr-RS\",\n\t\"sv-SE\",\n\t\"te-IN\",\n\t\"tr-TR\",\n\t\"uk-UA\",\n\t\"vi-VN\",\n\t\"zh-CN\",\n\t\"zh-HK\",\n\t\"zh-TW\",\n\t\"bn-BD\",\n\t\"et-EE\"\n];\n\nmodule.exports = function () {\n\treturn {\n \"ar-AR\": require(\"./ar-AR.json\"),\n \"bg-BG\": require(\"./bg-BG.json\"),\n \"ca-CA\": require(\"./ca-CA.json\"),\n \"cs-CZ\": require(\"./cs-CZ.json\"),\n \"da-DK\": require(\"./da-DK.json\"),\n \"de-DE\": require(\"./de-DE.json\"),\n \"el-GR\": require(\"./el-GR.json\"),\n \"en-US\": require(\"./en-US.json\"),\n \"eo-EO\": require(\"./eo-EO.json\"),\n \"es-ES\": require(\"./es-ES.json\"),\n \"eu-ES\": require(\"./eu-ES.json\"),\n \"fa-IR\": require(\"./fa-IR.json\"),\n \"fi-FI\": require(\"./fi-FI.json\"),\n \"fr-FR\": require(\"./fr-FR.json\"),\n \"he-IL\": require(\"./he-IL.json\"),\n \"hi-IN\": require(\"./hi-IN.json\"),\n \"hr-HR\": require(\"./hr-HR.json\"),\n \"hu-HU\": require(\"./hu-HU.json\"),\n \"id-ID\": require(\"./id-ID.json\"),\n \"it-IT\": require(\"./it-IT.json\"),\n \"ja-JP\": require(\"./ja-JP.json\"),\n \"ko-KR\": require(\"./ko-KR.json\"),\n \"mk-MK\": require(\"./mk-MK.json\"),\n \"my-BM\": require(\"./my-BM.json\"),\n \"nb-NO\": require(\"./nb-NO.json\"),\n \"ne-NP\": require(\"./ne-NP.json\"),\n \"nl-NL\": require(\"./nl-NL.json\"),\n \"nn-NO\": require(\"./nn-NO.json\"),\n \"pa-IN\": require(\"./pa-IN.json\"),\n \"pl-PL\": require(\"./pl-PL.json\"),\n \"pt-BR\": require(\"./pt-BR.json\"),\n \"pt-PT\": require(\"./pt-PT.json\"),\n \"ro-RO\": require(\"./ro-RO.json\"),\n \"ru-RU\": require(\"./ru-RU.json\"),\n \"sl-SL\": require(\"./sl-SL.json\"),\n \"sr-RS\": require(\"./sr-RS.json\"),\n \"sv-SE\": require(\"./sv-SE.json\"),\n \"te-IN\": require(\"./te-IN.json\"),\n \"tr-TR\": require(\"./tr-TR.json\"),\n \"uk-UA\": require(\"./uk-UA.json\"),\n \"vi-VN\": require(\"./vi-VN.json\"),\n \"zh-CN\": require(\"./zh-CN.json\"),\n \"zh-HK\": require(\"./zh-HK.json\"),\n \"zh-TW\": require(\"./zh-TW.json\"),\n \"bn-BD\": require(\"./bn-BD.json\"),\n \"et-EE\": require(\"./et-EE.json\"),\n };\n};\n\nmodule.exports.all = languages;\n","/* \nCopyright (c) 2011, Chris Umbel\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in \nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN \nTHE SOFTWARE.\n*/\n\nvar base32 = require('./thirty-two');\n\nexports.encode = base32.encode;\nexports.decode = base32.decode;\n","/*\nCopyright (c) 2011, Chris Umbel\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n'use strict';\n\nvar charTable = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\";\nvar byteTable = [\n 0xff, 0xff, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,\n 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,\n 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,\n 0x17, 0x18, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,\n 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,\n 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,\n 0x17, 0x18, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff\n];\n\nfunction quintetCount(buff) {\n var quintets = Math.floor(buff.length / 5);\n return buff.length % 5 === 0 ? quintets: quintets + 1;\n}\n\nexports.encode = function(plain) {\n if(!Buffer.isBuffer(plain)){\n \tplain = new Buffer(plain);\n }\n var i = 0;\n var j = 0;\n var shiftIndex = 0;\n var digit = 0;\n var encoded = new Buffer(quintetCount(plain) * 8);\n\n /* byte by byte isn't as pretty as quintet by quintet but tests a bit\n faster. will have to revisit. */\n while(i < plain.length) {\n var current = plain[i];\n\n if(shiftIndex > 3) {\n digit = current & (0xff >> shiftIndex);\n shiftIndex = (shiftIndex + 5) % 8;\n digit = (digit << shiftIndex) | ((i + 1 < plain.length) ?\n plain[i + 1] : 0) >> (8 - shiftIndex);\n i++;\n } else {\n digit = (current >> (8 - (shiftIndex + 5))) & 0x1f;\n shiftIndex = (shiftIndex + 5) % 8;\n if(shiftIndex === 0) i++;\n }\n\n encoded[j] = charTable.charCodeAt(digit);\n j++;\n }\n\n for(i = j; i < encoded.length; i++) {\n encoded[i] = 0x3d; //'='.charCodeAt(0)\n }\n\n return encoded;\n};\n\nexports.decode = function(encoded) {\n var shiftIndex = 0;\n var plainDigit = 0;\n var plainChar;\n var plainPos = 0;\n if(!Buffer.isBuffer(encoded)){\n \tencoded = new Buffer(encoded);\n }\n var decoded = new Buffer(Math.ceil(encoded.length * 5 / 8));\n\n /* byte by byte isn't as pretty as octet by octet but tests a bit\n faster. will have to revisit. */\n for(var i = 0; i < encoded.length; i++) {\n \tif(encoded[i] === 0x3d){ //'='\n \t\tbreak;\n \t}\n\n var encodedByte = encoded[i] - 0x30;\n\n if(encodedByte < byteTable.length) {\n plainDigit = byteTable[encodedByte];\n\n if(shiftIndex <= 3) {\n shiftIndex = (shiftIndex + 5) % 8;\n\n if(shiftIndex === 0) {\n plainChar |= plainDigit;\n decoded[plainPos] = plainChar;\n plainPos++;\n plainChar = 0;\n } else {\n plainChar |= 0xff & (plainDigit << (8 - shiftIndex));\n }\n } else {\n shiftIndex = (shiftIndex + 5) % 8;\n plainChar |= 0xff & (plainDigit >>> shiftIndex);\n decoded[plainPos] = plainChar;\n plainPos++;\n\n plainChar = 0xff & (plainDigit << (8 - shiftIndex));\n }\n } else {\n \tthrow new Error('Invalid input - it is not base32 encoded string');\n }\n }\n\n return decoded.slice(0, plainPos);\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nrequire('spatial-navigation-polyfill');\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst { Router } = require('stremio-router');\nconst { Core, Shell, Chromecast, DragAndDrop, KeyboardShortcuts, ServicesProvider } = require('stremio/services');\nconst { NotFound } = require('stremio/routes');\nconst { FileDropProvider, PlatformProvider, ToastProvider, TooltipProvider, CONSTANTS, withCoreSuspender, useShell } = require('stremio/common');\nconst ServicesToaster = require('./ServicesToaster');\nconst DeepLinkHandler = require('./DeepLinkHandler');\nconst SearchParamsHandler = require('./SearchParamsHandler');\nconst { default: UpdaterBanner } = require('./UpdaterBanner');\nconst ErrorDialog = require('./ErrorDialog');\nconst withProtectedRoutes = require('./withProtectedRoutes');\nconst routerViewsConfig = require('./routerViewsConfig');\nconst styles = require('./styles');\n\nconst RouterWithProtectedRoutes = withCoreSuspender(withProtectedRoutes(Router));\n\nconst App = () => {\n const { i18n } = useTranslation();\n const shell = useShell();\n const onPathNotMatch = React.useCallback(() => {\n return NotFound;\n }, []);\n const services = React.useMemo(() => {\n const core = new Core({\n appVersion: process.env.VERSION,\n shellVersion: null\n });\n return {\n core,\n shell: new Shell(),\n chromecast: new Chromecast(),\n keyboardShortcuts: new KeyboardShortcuts(),\n dragAndDrop: new DragAndDrop({ core })\n };\n }, []);\n const [initialized, setInitialized] = React.useState(false);\n React.useEffect(() => {\n let prevPath = window.location.hash.slice(1);\n const onLocationHashChange = () => {\n if (services.core.active) {\n services.core.transport.analytics({\n event: 'LocationPathChanged',\n args: { prevPath }\n });\n }\n prevPath = window.location.hash.slice(1);\n };\n window.addEventListener('hashchange', onLocationHashChange);\n return () => {\n window.removeEventListener('hashchange', onLocationHashChange);\n };\n }, []);\n React.useEffect(() => {\n const onCoreStateChanged = () => {\n setInitialized(\n (services.core.active || services.core.error instanceof Error) &&\n (services.shell.active || services.shell.error instanceof Error)\n );\n };\n const onShellStateChanged = () => {\n setInitialized(\n (services.core.active || services.core.error instanceof Error) &&\n (services.shell.active || services.shell.error instanceof Error)\n );\n };\n const onChromecastStateChange = () => {\n if (services.chromecast.active) {\n services.chromecast.transport.setOptions({\n receiverApplicationId: CONSTANTS.CHROMECAST_RECEIVER_APP_ID,\n autoJoinPolicy: chrome.cast.AutoJoinPolicy.PAGE_SCOPED,\n resumeSavedSession: false,\n language: null,\n androidReceiverCompatible: true\n });\n }\n };\n services.core.on('stateChanged', onCoreStateChanged);\n services.shell.on('stateChanged', onShellStateChanged);\n services.chromecast.on('stateChanged', onChromecastStateChange);\n services.core.start();\n services.shell.start();\n services.chromecast.start();\n services.keyboardShortcuts.start();\n services.dragAndDrop.start();\n window.services = services;\n return () => {\n services.core.stop();\n services.shell.stop();\n services.chromecast.stop();\n services.keyboardShortcuts.stop();\n services.dragAndDrop.stop();\n services.core.off('stateChanged', onCoreStateChanged);\n services.shell.off('stateChanged', onShellStateChanged);\n services.chromecast.off('stateChanged', onChromecastStateChange);\n };\n }, []);\n\n // Handle shell events\n React.useEffect(() => {\n const onOpenMedia = (data) => {\n try {\n const { protocol, hostname, pathname, searchParams } = new URL(data);\n if (protocol === CONSTANTS.PROTOCOL) {\n if (hostname.length) {\n const transportUrl = `https://${hostname}${pathname}`;\n window.location.href = `#/addons?addon=${encodeURIComponent(transportUrl)}`;\n } else {\n window.location.href = `#${pathname}?${searchParams.toString()}`;\n }\n }\n } catch (e) {\n console.error('Failed to open media:', e);\n }\n };\n\n shell.on('open-media', onOpenMedia);\n\n return () => {\n shell.off('open-media', onOpenMedia);\n };\n }, []);\n\n React.useEffect(() => {\n const onCoreEvent = ({ event, args }) => {\n switch (event) {\n case 'SettingsUpdated': {\n if (args && args.settings && typeof args.settings.interfaceLanguage === 'string') {\n i18n.changeLanguage(args.settings.interfaceLanguage);\n }\n\n if (args?.settings?.quitOnClose && shell.windowClosed) {\n shell.send('quit');\n }\n\n break;\n }\n }\n };\n const onCtxState = (state) => {\n if (state && state.profile && state.profile.settings && typeof state.profile.settings.interfaceLanguage === 'string') {\n i18n.changeLanguage(state.profile.settings.interfaceLanguage);\n }\n\n if (state?.profile?.settings?.quitOnClose && shell.windowClosed) {\n shell.send('quit');\n }\n };\n const onWindowFocus = () => {\n services.core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'PullAddonsFromAPI'\n }\n });\n services.core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'PullUserFromAPI',\n args: {}\n }\n });\n services.core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'SyncLibraryWithAPI'\n }\n });\n services.core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'PullNotifications'\n }\n });\n };\n if (services.core.active) {\n onWindowFocus();\n window.addEventListener('focus', onWindowFocus);\n services.core.transport.on('CoreEvent', onCoreEvent);\n services.core.transport\n .getState('ctx')\n .then(onCtxState)\n .catch(console.error);\n }\n return () => {\n if (services.core.active) {\n window.removeEventListener('focus', onWindowFocus);\n services.core.transport.off('CoreEvent', onCoreEvent);\n }\n };\n }, [initialized, shell.windowClosed]);\n return (\n <React.StrictMode>\n <ServicesProvider services={services}>\n {\n initialized ?\n services.core.error instanceof Error ?\n <ErrorDialog className={styles['error-container']} />\n :\n <PlatformProvider>\n <ToastProvider className={styles['toasts-container']}>\n <TooltipProvider className={styles['tooltip-container']}>\n <FileDropProvider className={styles['file-drop-container']}>\n <ServicesToaster />\n <DeepLinkHandler />\n <SearchParamsHandler />\n <UpdaterBanner className={styles['updater-banner-container']} />\n <RouterWithProtectedRoutes\n className={styles['router']}\n viewsConfig={routerViewsConfig}\n onPathNotMatch={onPathNotMatch}\n />\n </FileDropProvider>\n </TooltipProvider>\n </ToastProvider>\n </PlatformProvider>\n :\n <div className={styles['loader-container']} />\n }\n </ServicesProvider>\n </React.StrictMode>\n );\n};\n\nmodule.exports = App;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { withCoreSuspender, useStreamingServer } = require('stremio/common');\n\nconst DeepLinkHandler = () => {\n const streamingServer = useStreamingServer();\n React.useEffect(() => {\n if (streamingServer.torrent !== null) {\n const [, { type, content }] = streamingServer.torrent;\n if (type === 'Ready') {\n const [, deepLinks] = content;\n if (typeof deepLinks.metaDetailsVideos === 'string') {\n window.location = deepLinks.metaDetailsVideos;\n }\n }\n }\n }, [streamingServer.torrent]);\n return null;\n};\n\nmodule.exports = withCoreSuspender(DeepLinkHandler);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { Image, Button } = require('stremio/components');\nconst styles = require('./styles');\n\nconst ErrorDialog = ({ className }) => {\n const { t } = useTranslation();\n\n const [dataCleared, setDataCleared] = React.useState(false);\n const reload = React.useCallback(() => {\n window.location.reload();\n }, []);\n const clearData = React.useCallback(() => {\n window.localStorage.clear();\n setDataCleared(true);\n }, []);\n return (\n <div className={classnames(className, styles['error-container'])}>\n <Image\n className={styles['error-image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['error-message']}>\n { t('GENERIC_ERROR_MESSAGE') }\n </div>\n <div className={styles['buttons-container']}>\n <Button className={styles['button-container']} title={t('TRY_AGAIN')} onClick={reload}>\n <div className={styles['label']}>\n { t('TRY_AGAIN') }\n </div>\n </Button>\n <Button className={styles['button-container']} disabled={dataCleared} title={t('CLEAR_DATA')} onClick={clearData}>\n <div className={styles['label']}>\n { t('CLEAR_DATA') }\n </div>\n </Button>\n </div>\n </div>\n );\n};\n\nErrorDialog.displayName = 'ErrorDialog';\n\nErrorDialog.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = ErrorDialog;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ErrorDialog = require('./ErrorDialog');\n\nmodule.exports = ErrorDialog;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst isEqual = require('lodash.isequal');\nconst { withCoreSuspender, useProfile, useToast } = require('stremio/common');\nconst { useServices } = require('stremio/services');\n\nconst SearchParamsHandler = () => {\n const { core } = useServices();\n const profile = useProfile();\n const toast = useToast();\n\n const [searchParams, setSearchParams] = React.useState({});\n\n const onLocationChange = () => {\n const { origin, hash, search } = window.location;\n const { searchParams } = new URL(`${origin}${hash.replace('#', '')}${search}`);\n\n setSearchParams((previousSearchParams) => {\n const currentSearchParams = Object.fromEntries(searchParams.entries());\n return isEqual(previousSearchParams, currentSearchParams) ? previousSearchParams : currentSearchParams;\n });\n };\n\n React.useEffect(() => {\n const { streamingServerUrl } = searchParams;\n\n if (streamingServerUrl) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n streamingServerUrl,\n },\n },\n });\n\n toast.show({\n type: 'success',\n title: `Using streaming server at ${streamingServerUrl}`,\n timeout: 4000,\n });\n }\n }, [searchParams]);\n\n React.useEffect(() => {\n onLocationChange();\n window.addEventListener('hashchange', onLocationChange);\n return () => window.removeEventListener('hashchange', onLocationChange);\n }, []);\n\n return null;\n};\n\nmodule.exports = withCoreSuspender(SearchParamsHandler);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useToast } = require('stremio/common');\n\nconst ServicesToaster = () => {\n const { core, dragAndDrop } = useServices();\n const toast = useToast();\n React.useEffect(() => {\n const onCoreEvent = ({ event, args }) => {\n switch (event) {\n case 'Error': {\n if (args.source.event === 'UserPulledFromAPI' && args.source.args.uid === null) {\n break;\n }\n\n if (args.source.event === 'LibrarySyncWithAPIPlanned' && args.source.args.uid === null) {\n break;\n }\n\n if (args.error.type === 'Other' && args.error.code === 3 && args.source.event === 'AddonInstalled' && args.source.args.transport_url.startsWith('https://www.strem.io/trakt/addon')) {\n break;\n }\n\n toast.show({\n type: 'error',\n title: args.source.event,\n message: args.error.message,\n timeout: 4000,\n dataset: {\n type: 'CoreEvent'\n }\n });\n break;\n }\n case 'TorrentParsed': {\n toast.show({\n type: 'success',\n title: 'Torrent file parsed',\n timeout: 4000\n });\n break;\n }\n case 'MagnetParsed': {\n toast.show({\n type: 'success',\n title: 'Magnet link parsed',\n timeout: 4000\n });\n break;\n }\n case 'PlayingOnDevice': {\n toast.show({\n type: 'success',\n title: `Stream opened in ${args.device}`,\n timeout: 4000\n });\n break;\n }\n }\n };\n const onDragAndDropError = (error) => {\n toast.show({\n type: 'error',\n title: error.message,\n message: error.file?.name,\n timeout: 4000\n });\n };\n core.transport.on('CoreEvent', onCoreEvent);\n dragAndDrop.on('error', onDragAndDropError);\n return () => {\n core.transport.off('CoreEvent', onCoreEvent);\n dragAndDrop.off('error', onDragAndDropError);\n };\n }, []);\n return null;\n};\n\nmodule.exports = ServicesToaster;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst App = require('./App');\n\nmodule.exports = App;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst routes = require('stremio/routes');\nconst { routesRegexp } = require('stremio/common');\n\nconst routerViewsConfig = [\n [\n {\n ...routesRegexp.board,\n component: routes.Board\n }\n ],\n [\n {\n ...routesRegexp.intro,\n component: routes.Intro\n },\n {\n ...routesRegexp.discover,\n component: routes.Discover\n },\n {\n ...routesRegexp.library,\n component: routes.Library\n },\n {\n ...routesRegexp.calendar,\n component: routes.Calendar\n },\n {\n ...routesRegexp.continuewatching,\n component: routes.Library\n },\n {\n ...routesRegexp.search,\n component: routes.Search\n }\n ],\n [\n {\n ...routesRegexp.metadetails,\n component: routes.MetaDetails\n }\n ],\n [\n {\n ...routesRegexp.addons,\n component: routes.Addons\n },\n {\n ...routesRegexp.settings,\n component: routes.Settings\n }\n ],\n [\n {\n ...routesRegexp.player,\n component: routes.Player\n }\n ]\n];\n\nmodule.exports = routerViewsConfig;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { Intro } = require('stremio/routes');\nconst { useProfile } = require('stremio/common');\n\nconst withProtectedRoutes = (Component) => {\n return function withProtectedRoutes(props) {\n const profile = useProfile();\n const previousAuthRef = React.useRef(profile.auth);\n React.useEffect(() => {\n if (previousAuthRef.current !== null && profile.auth === null) {\n window.location = '#/intro';\n }\n previousAuthRef.current = profile.auth;\n }, [profile]);\n const onRouteChange = React.useCallback((routeConfig) => {\n if (profile.auth !== null && routeConfig.component === Intro) {\n window.location.replace('#/');\n return true;\n }\n }, [profile]);\n return (\n <Component {...props} onRouteChange={onRouteChange} />\n );\n };\n};\n\nmodule.exports = withProtectedRoutes;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst CHROMECAST_RECEIVER_APP_ID = '1634F54B';\nconst DEFAULT_STREAMING_SERVER_URL = 'http://127.0.0.1:11470/';\nconst SUBTITLES_SIZES = [75, 100, 125, 150, 175, 200, 250];\nconst SUBTITLES_FONTS = ['PlusJakartaSans', 'Arial', 'Halvetica', 'Times New Roman', 'Verdana', 'Courier', 'Lucida Console', 'sans-serif', 'serif', 'monospace'];\nconst SEEK_TIME_DURATIONS = [3000, 5000, 10000, 15000, 20000, 30000];\nconst NEXT_VIDEO_POPUP_DURATIONS = [0, 5000, 10000, 15000, 20000, 25000, 30000, 35000, 40000, 45000, 50000, 55000, 60000, 65000, 70000, 75000, 80000, 85000, 90000];\nconst CATALOG_PREVIEW_SIZE = 10;\nconst CATALOG_PAGE_SIZE = 100;\nconst NONE_EXTRA_VALUE = 'None';\nconst SKIP_EXTRA_NAME = 'skip';\nconst META_LINK_CATEGORY = 'meta';\nconst IMDB_LINK_CATEGORY = 'imdb';\nconst SHARE_LINK_CATEGORY = 'share';\nconst WRITERS_LINK_CATEGORY = 'Writers';\nconst TYPE_PRIORITIES = {\n movie: 10,\n series: 9,\n channel: 8,\n tv: 7,\n music: 6,\n radio: 5,\n podcast: 4,\n game: 3,\n book: 2,\n adult: 1,\n other: -Infinity\n};\nconst ICON_FOR_TYPE = new Map([\n ['movie', 'movies'],\n ['series', 'series'],\n ['channel', 'channels'],\n ['tv', 'tv'],\n ['book', 'ic_book'],\n ['game', 'ic_games'],\n ['music', 'ic_music'],\n ['adult', 'ic_adult'],\n ['radio', 'ic_radio'],\n ['podcast', 'ic_podcast'],\n ['other', 'movies'],\n]);\n\nconst MIME_SIGNATURES = {\n 'application/x-subrip': ['310D0A', '310A'],\n 'text/vtt': ['574542565454'],\n};\n\nconst SUPPORTED_LOCAL_SUBTITLES = [\n 'application/x-subrip',\n 'text/vtt',\n];\n\nconst EXTERNAL_PLAYERS = [\n {\n label: 'EXTERNAL_PLAYER_DISABLED',\n value: null,\n platforms: ['ios', 'visionos', 'android', 'windows', 'linux', 'macos'],\n },\n {\n label: 'EXTERNAL_PLAYER_ALLOW_CHOOSING',\n value: 'choose',\n platforms: ['android'],\n },\n {\n label: 'VLC',\n value: 'vlc',\n platforms: ['ios', 'visionos', 'android'],\n },\n {\n label: 'MPV',\n value: 'mpv',\n platforms: ['macos'],\n },\n {\n label: 'IINA',\n value: 'iina',\n platforms: ['macos'],\n },\n {\n label: 'MX Player',\n value: 'mxplayer',\n platforms: ['android'],\n },\n {\n label: 'Just Player',\n value: 'justplayer',\n platforms: ['android'],\n },\n {\n label: 'Outplayer',\n value: 'outplayer',\n platforms: ['ios', 'visionos'],\n },\n {\n label: 'Moonplayer (VisionOS)',\n value: 'moonplayer',\n platforms: ['visionos'],\n },\n {\n label: 'M3U Playlist',\n value: 'm3u',\n platforms: ['ios', 'visionos', 'android', 'windows', 'linux', 'macos'],\n },\n];\n\nconst WHITELISTED_HOSTS = ['stremio.com', 'strem.io', 'stremio.zendesk.com', 'google.com', 'youtube.com', 'twitch.tv', 'twitter.com', 'x.com', 'netflix.com', 'adex.network', 'amazon.com', 'forms.gle'];\n\nconst PROTOCOL = 'stremio:';\n\nmodule.exports = {\n CHROMECAST_RECEIVER_APP_ID,\n DEFAULT_STREAMING_SERVER_URL,\n SUBTITLES_SIZES,\n SUBTITLES_FONTS,\n SEEK_TIME_DURATIONS,\n NEXT_VIDEO_POPUP_DURATIONS,\n CATALOG_PREVIEW_SIZE,\n CATALOG_PAGE_SIZE,\n NONE_EXTRA_VALUE,\n SKIP_EXTRA_NAME,\n META_LINK_CATEGORY,\n IMDB_LINK_CATEGORY,\n SHARE_LINK_CATEGORY,\n WRITERS_LINK_CATEGORY,\n TYPE_PRIORITIES,\n ICON_FOR_TYPE,\n MIME_SIGNATURES,\n SUPPORTED_LOCAL_SUBTITLES,\n EXTERNAL_PLAYERS,\n WHITELISTED_HOSTS,\n PROTOCOL,\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\n\nconst CoreSuspenderContext = React.createContext(null);\n\nCoreSuspenderContext.displayName = 'CoreSuspenderContext';\n\nfunction wrapPromise(promise) {\n let status = 'pending';\n let result;\n const suspender = promise.then(\n (resp) => {\n status = 'success';\n result = resp;\n },\n (error) => {\n status = 'error';\n result = error;\n }\n );\n return {\n read() {\n if (status === 'pending') {\n throw suspender;\n } else if (status === 'error') {\n throw result;\n } else if (status === 'success') {\n return result;\n }\n }\n };\n}\n\nconst useCoreSuspender = () => {\n return React.useContext(CoreSuspenderContext);\n};\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst withCoreSuspender = (Component, Fallback = () => { }) => {\n return function withCoreSuspender(props) {\n const { core } = useServices();\n const parentSuspender = useCoreSuspender();\n const [render, setRender] = React.useState(parentSuspender === null);\n const statesRef = React.useRef({});\n const streamsRef = React.useRef({});\n const getState = React.useCallback((model) => {\n if (!statesRef.current[model]) {\n statesRef.current[model] = wrapPromise(core.transport.getState(model));\n }\n\n return statesRef.current[model].read();\n }, []);\n const decodeStream = React.useCallback((stream) => {\n if (!streamsRef.current[stream]) {\n streamsRef.current[stream] = wrapPromise(core.transport.decodeStream(stream));\n }\n\n return streamsRef.current[stream].read();\n }, []);\n const suspender = React.useMemo(() => ({ getState, decodeStream }), []);\n React.useLayoutEffect(() => {\n if (!render) {\n setRender(true);\n }\n }, []);\n return render ?\n <React.Suspense fallback={<Fallback {...props} />}>\n <CoreSuspenderContext.Provider value={suspender}>\n <Component {...props} />\n </CoreSuspenderContext.Provider>\n </React.Suspense>\n :\n null;\n };\n};\n\nmodule.exports = { withCoreSuspender, useCoreSuspender };\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n/* eslint-disable @typescript-eslint/no-empty-function */\n\nconst React = require('react');\n\nconst ToastContext = React.createContext({\n show: () => { },\n clear: () => { }\n});\n\nToastContext.displayName = 'ToastContext';\n\nmodule.exports = ToastContext;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/components');\nconst styles = require('./styles');\n\nconst ToastItem = ({ title, message, dataset, onSelect, onClose, ...props }) => {\n const { t } = useTranslation();\n const type = React.useMemo(() => {\n return ['success', 'alert', 'info', 'error'].includes(props.type) ?\n props.type\n :\n 'success';\n }, [props.type]);\n const icon = React.useMemo(() => {\n return typeof props.icon === 'string' ? props.icon :\n type === 'success' ? 'checkmark' :\n type === 'error' ? 'close' :\n type === 'info' ? 'about' :\n null;\n }, [type, props.icon]);\n const toastOnClick = React.useCallback((event) => {\n if (!event.nativeEvent.selectToastPrevented && typeof onSelect === 'function') {\n onSelect({\n type: 'select',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n if (!event.nativeEvent.closeToastPrevented && typeof onClose === 'function') {\n onClose({\n type: 'close',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onSelect, onClose]);\n const closeButtonOnClick = React.useCallback((event) => {\n event.nativeEvent.selectToastPrevented = true;\n if (typeof onClose === 'function') {\n onClose({\n type: 'close',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onClose]);\n return (\n <Button className={classnames(styles['toast-item-container'], styles[type])} tabIndex={-1} onClick={toastOnClick}>\n {\n typeof icon === 'string' && icon.length > 0 ?\n <div className={styles['icon-container']}>\n <Icon className={styles['icon']} name={icon} />\n </div>\n :\n null\n }\n <div className={styles['info-container']}>\n {\n typeof title === 'string' && title.length > 0 ?\n <div className={styles['title-container']}>{title}</div>\n :\n null\n }\n {\n typeof message === 'string' && message.length > 0 ?\n <div className={styles['message-container']}>{message}</div>\n :\n null\n }\n </div>\n <Button className={styles['close-button-container']} title={t('BUTTON_CLOSE')} tabIndex={-1} onClick={closeButtonOnClick}>\n <Icon className={styles['icon']} name={'close'} />\n </Button>\n </Button>\n );\n};\n\nToastItem.propTypes = {\n type: PropTypes.oneOf(['success', 'alert', 'info', 'error']),\n title: PropTypes.string,\n message: PropTypes.string,\n icon: PropTypes.string,\n dataset: PropTypes.object,\n onSelect: PropTypes.func,\n onClose: PropTypes.func\n};\n\nmodule.exports = ToastItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ToastItem = require('./ToastItem');\n\nmodule.exports = ToastItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst ToastItem = require('./ToastItem');\nconst ToastContext = require('./ToastContext');\n\nconst DEFAULT_TIMEOUT = 3000;\n\nconst ToastProvider = ({ className, children }) => {\n const [container, setContainer] = React.useState(null);\n const [items, dispatch] = React.useReducer(\n (items, action) => {\n switch (action.type) {\n case 'add':\n return items.concat(action.item);\n case 'remove':\n return items.filter((item) => item.id !== action.id);\n case 'clear':\n return [];\n default:\n return items;\n }\n },\n []\n );\n const itemOnClose = React.useCallback((event) => {\n clearTimeout(event.dataset.id);\n dispatch({ type: 'remove', id: event.dataset.id });\n }, []);\n const toast = React.useMemo(() => {\n const filters = [];\n return {\n addFilter: (filter) => {\n filters.push(filter);\n },\n removeFilter: (filter) => {\n const index = filters.indexOf(filter);\n if (index > -1) {\n filters.splice(index, 1);\n }\n },\n show: (item) => {\n if (filters.some((filter) => filter(item))) {\n return;\n }\n\n const timeout = typeof item.timeout === 'number' && !isNaN(item.timeout) ?\n item.timeout\n :\n DEFAULT_TIMEOUT;\n const id = setTimeout(() => {\n dispatch({ type: 'remove', id });\n }, timeout);\n dispatch({\n type: 'add',\n item: {\n ...item,\n id,\n dataset: {\n ...item.dataset,\n id\n },\n onClose: itemOnClose\n }\n });\n },\n clear: () => {\n dispatch({ type: 'clear' });\n }\n };\n }, []);\n return (\n <ToastContext.Provider value={toast}>\n {container instanceof HTMLElement ? children : null}\n <div ref={setContainer} className={className}>\n {items.map((item, index) => (\n <ToastItem key={index} {...item} />\n ))}\n </div>\n </ToastContext.Provider>\n );\n};\n\nToastProvider.propTypes = {\n className: PropTypes.string,\n children: PropTypes.node\n};\n\nmodule.exports = ToastProvider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ToastProvider = require('./ToastProvider');\nconst useToast = require('./useToast');\n\nmodule.exports = {\n ToastProvider,\n useToast\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ToastContext = require('./ToastContext');\n\nconst useToast = () => {\n return React.useContext(ToastContext);\n};\n\nmodule.exports = useToast;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst useTooltip = require('../useTooltip');\nconst styles = require('./styles');\n\nconst createId = () => (Math.random() + 1).toString(36).substring(7);\n\nconst Tooltip = ({ label, position, margin = 15 }) => {\n const tooltip = useTooltip();\n\n const id = React.useRef(createId());\n const element = React.useRef(null);\n\n const onMouseEnter = () => {\n tooltip.update(id.current, {\n active: true,\n });\n };\n\n const onMouseLeave = () => {\n tooltip.update(id.current, {\n active: false,\n });\n };\n\n React.useEffect(() => {\n tooltip.update(id.current, {\n label,\n });\n }, [label]);\n\n React.useLayoutEffect(() => {\n if (element.current && element.current.parentElement) {\n const parentElement = element.current.parentElement;\n tooltip.add({\n id: id.current,\n label,\n position,\n margin,\n parent: parentElement,\n });\n\n parentElement.addEventListener('mouseenter', onMouseEnter);\n parentElement.addEventListener('mouseleave', onMouseLeave);\n }\n\n return () => {\n if (element.current && element.current.parentElement) {\n const parentElement = element.current.parentElement;\n parentElement.removeEventListener('mouseenter', onMouseEnter);\n parentElement.removeEventListener('mouseleave', onMouseLeave);\n\n tooltip.remove(id.current);\n }\n };\n }, []);\n\n return (\n <div ref={element} className={styles['tooltip-placeholder']} />\n );\n};\n\nTooltip.propTypes = {\n label: PropTypes.string.isRequired,\n position: PropTypes.string.isRequired,\n margin: PropTypes.number,\n};\n\nmodule.exports = Tooltip;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Tooltip = require('./Tooltip');\n\nmodule.exports = Tooltip;\n\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { createContext } = require('react');\n\nconst TooltipContext = createContext(null);\n\nmodule.exports = TooltipContext;\n\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classNames = require('classnames');\nconst styles = require('./styles');\n\nconst TooltipItem = React.memo(({ className, active, label, position, margin, parent }) => {\n const ref = React.useRef(null);\n\n const [style, setStyle] = React.useState(null);\n\n React.useEffect(() => {\n if (!ref.current || !active) return setStyle(null);\n\n const tooltipBounds = ref.current.getBoundingClientRect();\n const parentBounds = parent.getBoundingClientRect();\n\n switch (position) {\n case 'top':\n return setStyle({\n top: `${parentBounds.top - tooltipBounds.height - margin}px`,\n left: `${(parentBounds.left + (parentBounds.width / 2)) - (tooltipBounds.width / 2)}px`,\n });\n case 'bottom':\n return setStyle({\n top: `${parentBounds.top + parentBounds.height + margin}px`,\n left: `${(parentBounds.left + (parentBounds.width / 2)) - (tooltipBounds.width / 2)}px`,\n });\n case 'left':\n return setStyle({\n top: `${parentBounds.top + (parentBounds.height / 2) - (tooltipBounds.height / 2)}px`,\n left: `${(parentBounds.left - tooltipBounds.width - margin)}px`,\n });\n case 'right':\n return setStyle({\n top: `${parentBounds.top + (parentBounds.height / 2) - (tooltipBounds.height / 2)}px`,\n left: `${(parentBounds.left + parentBounds.width + margin)}px`,\n });\n }\n }, [active, position, margin, parent, label]);\n\n return (\n <div ref={ref} className={classNames(className, styles['tooltip-item'], { 'active': active })} style={style}>\n { label }\n </div>\n );\n});\n\nTooltipItem.displayName = 'TooltipItem';\n\nTooltipItem.propTypes = {\n className: PropTypes.string,\n active: PropTypes.bool,\n label: PropTypes.string,\n position: PropTypes.string,\n margin: PropTypes.number,\n parent: PropTypes.instanceOf(HTMLElement),\n};\n\nmodule.exports = TooltipItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst TooltipItem = require('./TooltipItem');\n\nmodule.exports = TooltipItem;\n\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst TooltipContext = require('./TooltipContext');\nconst TooltipItem = require('./TooltipItem');\n\nconst TooltipProvider = ({ children, className }) => {\n const [tooltips, setTooltips] = React.useState([]);\n\n const add = (options) => {\n const tooltip = {\n ...options,\n active: false,\n };\n\n setTooltips((tooltips) => ([\n ...tooltips,\n tooltip,\n ]));\n };\n\n const remove = (id) => {\n setTooltips((tooltips) => (\n tooltips.filter((tooltip) => tooltip.id !== id)\n ));\n };\n\n const update = (id, state) => {\n setTooltips((tooltips) => (\n tooltips.map((tooltip) => {\n if (tooltip.id === id) {\n tooltip = {\n ...tooltip,\n ...state,\n };\n }\n return tooltip;\n })\n ));\n };\n\n return (\n <TooltipContext.Provider value={{ add, remove, update }}>\n { children }\n <div className={'tooltips-items-container'}>\n {\n tooltips.map(({ id, ...tooltip }) => (\n <TooltipItem\n key={id}\n className={className}\n {...tooltip}\n />\n ))\n }\n </div>\n </TooltipContext.Provider>\n );\n};\n\nTooltipProvider.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n};\n\nmodule.exports = TooltipProvider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst TooltipProvider = require('./TooltipProvider');\nconst Tooltip = require('./Tooltip');\n\nmodule.exports = {\n TooltipProvider,\n Tooltip,\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst TooltipContext = require('./TooltipContext');\n\nconst useTooltip = () => {\n return React.useContext(TooltipContext);\n};\n\nmodule.exports = useTooltip;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst comparatorWithPriorities = (priorities) => {\n return (a, b) => {\n if (isNaN(priorities[a]) && isNaN(priorities[b])) {\n return a.localeCompare(b);\n } else if (isNaN(priorities[a])) {\n if (priorities[b] === Number.NEGATIVE_INFINITY) {\n return -1;\n } else {\n return 1;\n }\n } else if (isNaN(priorities[b])) {\n if (priorities[a] === Number.NEGATIVE_INFINITY) {\n return 1;\n } else {\n return -1;\n }\n } else {\n return priorities[b] - priorities[a];\n }\n };\n};\n\nmodule.exports = comparatorWithPriorities;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst isChildVisible = (container, element) => {\n const elementTop = element.offsetTop;\n const elementBottom = element.offsetTop + element.clientHeight;\n const containerTop = container.scrollTop;\n const containerBottom = container.scrollTop + container.clientHeight;\n return (elementTop >= containerTop && elementBottom <= containerBottom) ||\n (elementTop < containerTop && containerTop < elementBottom) ||\n (elementTop < containerBottom && containerBottom < elementBottom);\n};\n\nconst getVisibleChildrenRange = (container) => {\n return Array.from(container.children).reduce((result, child, index) => {\n if (isChildVisible(container, child)) {\n if (result === null) {\n result = {\n start: index,\n end: index\n };\n } else {\n result.end = index;\n }\n }\n\n return result;\n }, null);\n};\n\nmodule.exports = getVisibleChildrenRange;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { FileDropProvider, onFileDrop } = require('./FileDrop');\nconst { PlatformProvider, usePlatform } = require('./Platform');\nconst { ToastProvider, useToast } = require('./Toast');\nconst { TooltipProvider, Tooltip } = require('./Tooltips');\nconst comparatorWithPriorities = require('./comparatorWithPriorities');\nconst CONSTANTS = require('./CONSTANTS');\nconst { withCoreSuspender, useCoreSuspender } = require('./CoreSuspender');\nconst getVisibleChildrenRange = require('./getVisibleChildrenRange');\nconst interfaceLanguages = require('./interfaceLanguages.json');\nconst languageNames = require('./languageNames.json');\nconst languages = require('./languages');\nconst routesRegexp = require('./routesRegexp');\nconst useAnimationFrame = require('./useAnimationFrame');\nconst useBinaryState = require('./useBinaryState');\nconst { default: useFullscreen } = require('./useFullscreen');\nconst { default: useInterval } = require('./useInterval');\nconst useLiveRef = require('./useLiveRef');\nconst useModelState = require('./useModelState');\nconst useNotifications = require('./useNotifications');\nconst useOnScrollToBottom = require('./useOnScrollToBottom');\nconst useProfile = require('./useProfile');\nconst { default: useSettings } = require('./useSettings');\nconst { default: useShell } = require('./useShell');\nconst useStreamingServer = require('./useStreamingServer');\nconst { default: useTimeout } = require('./useTimeout');\nconst useTorrent = require('./useTorrent');\nconst useTranslate = require('./useTranslate');\nconst { default: useOrientation } = require('./useOrientation');\nconst { default: useLanguageSorting } = require('./useLanguageSorting');\n\nmodule.exports = {\n FileDropProvider,\n onFileDrop,\n PlatformProvider,\n usePlatform,\n ToastProvider,\n useToast,\n TooltipProvider,\n Tooltip,\n comparatorWithPriorities,\n CONSTANTS,\n withCoreSuspender,\n useCoreSuspender,\n getVisibleChildrenRange,\n interfaceLanguages,\n languageNames,\n languages,\n routesRegexp,\n useAnimationFrame,\n useBinaryState,\n useFullscreen,\n useInterval,\n useLiveRef,\n useModelState,\n useNotifications,\n useOnScrollToBottom,\n useProfile,\n useSettings,\n useShell,\n useStreamingServer,\n useTimeout,\n useTorrent,\n useTranslate,\n useOrientation,\n useLanguageSorting,\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst routesRegexp = {\n intro: {\n regexp: /^\\/intro$/,\n urlParamsNames: []\n },\n board: {\n regexp: /^\\/?(?:board)?$/,\n urlParamsNames: []\n },\n discover: {\n regexp: /^\\/discover(?:\\/([^/]*)\\/([^/]*)\\/([^/]*))?$/,\n urlParamsNames: ['transportUrl', 'type', 'catalogId']\n },\n library: {\n regexp: /^\\/library(?:\\/([^/]*))?$/,\n urlParamsNames: ['type']\n },\n calendar: {\n regexp: /^\\/calendar(?:\\/([^/]*)\\/([^/]*))?$/,\n urlParamsNames: ['year', 'month']\n },\n continuewatching: {\n regexp: /^\\/continuewatching(?:\\/([^/]*))?$/,\n urlParamsNames: ['type']\n },\n search: {\n regexp: /^\\/search$/,\n urlParamsNames: []\n },\n metadetails: {\n regexp: /^\\/(?:metadetails|detail)\\/([^/]*)\\/([^/]*)(?:\\/([^/]*))?$/,\n urlParamsNames: ['type', 'id', 'videoId']\n },\n addons: {\n regexp: /^\\/addons(?:\\/([^/]*)(?:\\/([^/]*)\\/([^/]*))?)?$/,\n urlParamsNames: ['type', 'transportUrl', 'catalogId']\n },\n settings: {\n regexp: /^\\/settings$/,\n urlParamsNames: []\n },\n player: {\n regexp: /^\\/player\\/([^/]*)(?:\\/([^/]*)\\/([^/]*)\\/([^/]*)\\/([^/]*)\\/([^/]*))?$/,\n urlParamsNames: ['stream', 'streamTransportUrl', 'metaTransportUrl', 'type', 'id', 'videoId']\n }\n};\n\nmodule.exports = routesRegexp;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useAnimationFrame = () => {\n const animationFrameId = React.useRef(null);\n const cancel = React.useCallback(() => {\n cancelAnimationFrame(animationFrameId.current);\n animationFrameId.current = null;\n }, []);\n const request = React.useCallback((cb) => {\n cancel();\n animationFrameId.current = requestAnimationFrame(() => {\n cb();\n animationFrameId.current = null;\n });\n }, []);\n return [request, cancel];\n};\n\nmodule.exports = useAnimationFrame;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useBinaryState = (initialValue) => {\n const [value, setValue] = React.useState(!!initialValue);\n const on = React.useCallback(() => {\n setValue(true);\n }, []);\n const off = React.useCallback(() => {\n setValue(false);\n }, []);\n const toggle = React.useCallback(() => {\n setValue(!value);\n }, [value]);\n return [value, on, off, toggle];\n};\n\nmodule.exports = useBinaryState;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useLiveRef = (value) => {\n const ref = React.useRef();\n ref.current = value;\n return ref;\n};\n\nmodule.exports = useLiveRef;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst throttle = require('lodash.throttle');\nconst isEqual = require('lodash.isequal');\nconst intersection = require('lodash.intersection');\nconst { useCoreSuspender } = require('stremio/common/CoreSuspender');\nconst { useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\n\nconst useModelState = ({ action, ...args }) => {\n const { core } = useServices();\n const routeFocused = useRouteFocused();\n const mountedRef = React.useRef(false);\n const [model, timeout, map, deps] = React.useMemo(() => {\n return [args.model, args.timeout, args.map, args.deps];\n }, []);\n const { getState } = useCoreSuspender();\n const [state, setState] = React.useReducer(\n (prevState, nextState) => {\n return Object.keys(prevState).reduce((result, key) => {\n result[key] = isEqual(prevState[key], nextState[key]) ? prevState[key] : nextState[key];\n return result;\n }, {});\n },\n undefined,\n () => {\n if (typeof map === 'function') {\n return map(getState(model));\n } else {\n return getState(model);\n }\n }\n );\n React.useInsertionEffect(() => {\n if (action) {\n core.transport.dispatch(action, model);\n }\n }, [action]);\n React.useInsertionEffect(() => {\n return () => {\n core.transport.dispatch({ action: 'Unload' }, model);\n };\n }, []);\n React.useInsertionEffect(() => {\n const onNewState = async (models) => {\n if (models.indexOf(model) === -1 && (!Array.isArray(deps) || intersection(deps, models).length === 0)) {\n return;\n }\n\n const state = await core.transport.getState(model);\n if (typeof map === 'function') {\n setState(map(state));\n } else {\n setState(state);\n }\n };\n const onNewStateThrottled = throttle(onNewState, timeout);\n if (routeFocused) {\n core.transport.on('NewState', onNewStateThrottled);\n if (mountedRef.current) {\n onNewState([model]);\n }\n }\n return () => {\n onNewStateThrottled.cancel();\n core.transport.off('NewState', onNewStateThrottled);\n };\n }, [routeFocused]);\n React.useInsertionEffect(() => {\n mountedRef.current = true;\n }, []);\n return state;\n};\n\nmodule.exports = useModelState;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst useModelState = require('stremio/common/useModelState');\n\nconst map = (ctx) => ctx.notifications;\n\nconst useNotifications = () => {\n return useModelState({ model: 'ctx', map });\n};\n\nmodule.exports = useNotifications;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useOnScrollToBottom = (cb, threshold = 0) => {\n const triggeredRef = React.useRef(false);\n const onScroll = React.useCallback((event) => {\n if (event.target.scrollTop + event.target.clientHeight >= event.target.scrollHeight - threshold) {\n if (!triggeredRef.current) {\n triggeredRef.current = true;\n if (typeof cb === 'function') {\n cb(event);\n }\n }\n } else {\n triggeredRef.current = false;\n }\n }, [cb]);\n return onScroll;\n};\n\nmodule.exports = useOnScrollToBottom;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst usePWA = () => {\n const isPWA = React.useMemo(() => {\n const isIOSPWA = window.navigator.standalone;\n const isAndroidPWA = window.matchMedia('(display-mode: standalone)').matches;\n return [isIOSPWA, isAndroidPWA];\n }, []);\n return isPWA;\n};\n\nmodule.exports = usePWA;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst useModelState = require('stremio/common/useModelState');\n\nconst map = (ctx) => ({\n ...ctx.profile,\n settings: {\n ...ctx.profile.settings,\n streamingServerWarningDismissed: new Date(\n typeof ctx.profile.settings.streamingServerWarningDismissed === 'string' ?\n ctx.profile.settings.streamingServerWarningDismissed\n :\n NaN\n )\n }\n});\n\nconst useProfile = () => {\n return useModelState({ model: 'ctx', map });\n};\n\nmodule.exports = useProfile;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst useModelState = require('stremio/common/useModelState');\n\nconst useStreamingServer = () => {\n return useModelState({ model: 'streaming_server' });\n};\n\nmodule.exports = useStreamingServer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst magnet = require('magnet-uri');\nconst { useServices } = require('stremio/services');\nconst useToast = require('stremio/common/Toast/useToast');\nconst useStreamingServer = require('stremio/common/useStreamingServer');\n\nconst useTorrent = () => {\n const { core } = useServices();\n const streamingServer = useStreamingServer();\n const toast = useToast();\n const createTorrentTimeout = React.useRef(null);\n const createTorrentFromMagnet = React.useCallback((text) => {\n const parsed = magnet.decode(text);\n if (parsed && typeof parsed.infoHash === 'string') {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'CreateTorrent',\n args: text\n }\n });\n clearTimeout(createTorrentTimeout.current);\n createTorrentTimeout.current = setTimeout(() => {\n toast.show({\n type: 'error',\n title: 'It\\'s taking a long time to get metadata from the torrent.',\n timeout: 10000\n });\n }, 10000);\n }\n }, []);\n React.useEffect(() => {\n if (streamingServer.torrent !== null) {\n const [, { type }] = streamingServer.torrent;\n if (type === 'Ready') {\n clearTimeout(createTorrentTimeout.current);\n }\n }\n }, [streamingServer.torrent]);\n React.useEffect(() => {\n return () => clearTimeout(createTorrentTimeout.current);\n }, []);\n return {\n createTorrentFromMagnet\n };\n};\n\nmodule.exports = useTorrent;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { useCallback } = require('react');\nconst { useTranslation } = require('react-i18next');\n\nconst useTranslate = () => {\n const { t } = useTranslation();\n\n const string = useCallback((key) => t(key), [t]);\n\n const stringWithPrefix = useCallback((value, prefix, fallback = null) => {\n const key = `${prefix}${value}`;\n const defaultValue = fallback ?? value.charAt(0).toUpperCase() + value.slice(1);\n\n return t(key, {\n defaultValue,\n });\n }, [t]);\n\n const catalogTitle = useCallback(({ addon, id, name, type } = {}, withType = true) => {\n if (addon && id && name) {\n const partialKey = `${addon.manifest.id.split('.').join('_')}_${id}`;\n const translatedName = stringWithPrefix(partialKey, 'CATALOG_', name);\n\n if (type && withType) {\n const translatedType = stringWithPrefix(type, 'TYPE_');\n return `${translatedName} - ${translatedType}`;\n }\n\n return translatedName;\n }\n\n return null;\n }, [stringWithPrefix]);\n\n return {\n string,\n stringWithPrefix,\n catalogTitle,\n };\n};\n\nmodule.exports = useTranslate;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { default: Image } = require('stremio/components/Image');\nconst styles = require('./styles');\n\nconst AddonDetails = ({ className, id, name, version, logo, description, types, transportUrl, official }) => {\n const { t } = useTranslation();\n const renderLogoFallback = React.useCallback(() => (\n <Icon className={styles['icon']} name={'addons'} />\n ), []);\n return (\n <div className={classnames(className, styles['addon-details-container'])}>\n <div className={styles['title-container']}>\n <Image\n className={styles['logo']}\n src={logo}\n alt={' '}\n renderFallback={renderLogoFallback}\n />\n <div className={styles['name-container']}>\n <span className={styles['name']}>{typeof name === 'string' && name.length > 0 ? name : id}</span>\n {\n typeof version === 'string' && version.length > 0 ?\n <span className={styles['version']}>{t('ADDON_VERSION_SHORT', {version})}</span>\n :\n null\n }\n </div>\n </div>\n {\n typeof description === 'string' && description.length > 0 ?\n <div className={styles['section-container']}>\n <span className={styles['section-label']}>{description}</span>\n </div>\n :\n null\n }\n {\n typeof transportUrl === 'string' && transportUrl.length > 0 ?\n <div className={styles['section-container']}>\n <span className={styles['section-header']}>{`${t('URL')}:`}</span>\n <span className={classnames(styles['section-label'], styles['transport-url-label'])}>{transportUrl}</span>\n </div>\n :\n null\n }\n {\n Array.isArray(types) && types.length > 0 ?\n <div className={styles['section-container']}>\n <span className={styles['section-header']}>{`${t('ADDON_SUPPORTED_TYPES')}:`} </span>\n <span className={styles['section-label']}>\n {\n types.length === 1 ?\n types[0]\n :\n types.slice(0, -1).join(', ') + ' & ' + types[types.length - 1]\n }\n </span>\n </div>\n :\n null\n }\n {\n !official ?\n <div className={styles['section-container']}>\n <div className={classnames(styles['section-label'], styles['disclaimer-label'])}>{t('ADDON_DISCLAIMER')}</div>\n </div>\n :\n null\n }\n </div>\n );\n};\n\nAddonDetails.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n name: PropTypes.string,\n version: PropTypes.string,\n logo: PropTypes.string,\n description: PropTypes.string,\n types: PropTypes.arrayOf(PropTypes.string),\n transportUrl: PropTypes.string,\n official: PropTypes.bool,\n};\n\nmodule.exports = AddonDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst AddonDetails = require('./AddonDetails');\n\nmodule.exports = AddonDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst ModalDialog = require('stremio/components/ModalDialog');\nconst { withCoreSuspender } = require('stremio/common/CoreSuspender');\nconst { usePlatform } = require('stremio/common/Platform');\nconst { useServices } = require('stremio/services');\nconst AddonDetailsWithRemoteAndLocalAddon = withRemoteAndLocalAddon(require('./AddonDetails'));\nconst useAddonDetails = require('./useAddonDetails');\nconst styles = require('./styles');\n\nfunction withRemoteAndLocalAddon(AddonDetails) {\n const withRemoteAndLocalAddon = ({ remoteAddon, localAddon, ...props }) => {\n const addon = remoteAddon !== null && remoteAddon.content.type === 'Ready' ?\n remoteAddon.content.content\n :\n localAddon !== null ?\n localAddon\n :\n null;\n if (addon === null) {\n return null;\n }\n\n return (\n <AddonDetails\n {...props}\n id={addon.manifest.id}\n name={addon.manifest.name}\n version={addon.manifest.version}\n background={addon.manifest.background}\n logo={addon.manifest.logo}\n description={addon.manifest.description}\n types={addon.manifest.types}\n transportUrl={addon.transportUrl}\n official={addon.flags.official}\n />\n );\n };\n withRemoteAndLocalAddon.displayName = 'withRemoteAndLocalAddon';\n return withRemoteAndLocalAddon;\n}\n\nconst AddonDetailsModal = ({ transportUrl, onCloseRequest }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const platform = usePlatform();\n const addonDetails = useAddonDetails(transportUrl);\n const modalButtons = React.useMemo(() => {\n const cancelButton = {\n className: styles['cancel-button'],\n label: t('BUTTON_CANCEL'),\n props: {\n onClick: (event) => {\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'cancel',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }\n }\n };\n const configureButton = addonDetails.remoteAddon !== null &&\n addonDetails.remoteAddon.content.type === 'Ready' &&\n addonDetails.remoteAddon.content.content.manifest.behaviorHints.configurable ?\n {\n className: styles['configure-button'],\n label: t('ADDON_CONFIGURE'),\n props: {\n onClick: (event) => {\n platform.openExternal(transportUrl.replace('manifest.json', 'configure'));\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'configure',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }\n }\n }\n :\n null;\n const toggleButton = addonDetails.localAddon !== null ?\n {\n className: styles['uninstall-button'],\n label: t('ADDON_UNINSTALL'),\n props: {\n onClick: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UninstallAddon',\n args: addonDetails.localAddon\n }\n });\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'uninstall',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }\n }\n }\n :\n addonDetails.remoteAddon !== null &&\n addonDetails.remoteAddon.content.type === 'Ready' &&\n !addonDetails.remoteAddon.content.content.manifest.behaviorHints.configurationRequired ?\n {\n\n className: styles['install-button'],\n label: t('ADDON_INSTALL'),\n props: {\n onClick: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'InstallAddon',\n args: addonDetails.remoteAddon.content.content\n }\n });\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'install',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }\n }\n }\n :\n null;\n return configureButton && toggleButton ? [cancelButton, configureButton, toggleButton] : configureButton ? [cancelButton, configureButton] : toggleButton ? [cancelButton, toggleButton] : [cancelButton];\n }, [addonDetails, onCloseRequest]);\n const modalBackground = React.useMemo(() => {\n return addonDetails.remoteAddon?.content.type === 'Ready' ? addonDetails.remoteAddon.content.content.manifest.background : null;\n }, [addonDetails.remoteAddon]);\n return (\n <ModalDialog className={styles['addon-details-modal-container']} title={t('STREMIO_COMMUNITY_ADDON')} buttons={modalButtons} background={modalBackground} onCloseRequest={onCloseRequest}>\n {\n addonDetails.selected === null ?\n <div className={styles['addon-details-message-container']}>\n {t('ADDON_LOADING_MANIFEST')}\n </div>\n :\n addonDetails.remoteAddon === null || addonDetails.remoteAddon.content.type === 'Loading' ?\n <div className={styles['addon-details-message-container']}>\n {t('ADDON_LOADING_MANIFEST_FROM', { origin: addonDetails.selected.transportUrl})}\n </div>\n :\n addonDetails.remoteAddon.content.type === 'Err' && addonDetails.localAddon === null ?\n <div className={styles['addon-details-message-container']}>\n {t('ADDON_LOADING_MANIFEST_FAILED', {origin: addonDetails.selected.transportUrl})}\n <div>{addonDetails.remoteAddon.content.content.message}</div>\n </div>\n :\n <AddonDetailsWithRemoteAndLocalAddon\n className={styles['addon-details-container']}\n remoteAddon={addonDetails.remoteAddon}\n localAddon={addonDetails.localAddon}\n />\n }\n </ModalDialog>\n );\n};\n\nAddonDetailsModal.propTypes = {\n transportUrl: PropTypes.string,\n onCloseRequest: PropTypes.func\n};\n\nconst AddonDetailsModalFallback = ({ onCloseRequest }) => {\n const { t } = useTranslation();\n return <ModalDialog\n className={styles['addon-details-modal-container']}\n title={t('STREMIO_COMMUNITY_ADDON')}\n onCloseRequest={onCloseRequest}\n >\n <div className={styles['addon-details-message-container']}>\n {t('ADDON_LOADING_MANIFEST')}\n </div>\n </ModalDialog>;\n};\n\nAddonDetailsModalFallback.propTypes = AddonDetailsModal.propTypes;\n\nmodule.exports = withCoreSuspender(AddonDetailsModal, AddonDetailsModalFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst AddonDetailsModal = require('./AddonDetailsModal');\n\nmodule.exports = AddonDetailsModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst useModelState = require('stremio/common/useModelState');\n\nconst useAddonDetails = (transportUrl) => {\n const action = React.useMemo(() => {\n if (typeof transportUrl === 'string') {\n return {\n action: 'Load',\n args: {\n model: 'AddonDetails',\n args: {\n transportUrl\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [transportUrl]);\n return useModelState({ model: 'addon_details', action });\n};\n\nmodule.exports = useAddonDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst AColorPicker = require('a-color-picker');\nconst styles = require('./styles');\n\nconst parseColor = (value) => {\n return AColorPicker.parseColor(value, 'hexcss4');\n};\n\nconst ColorPicker = ({ className, value, onInput }) => {\n const pickerRef = React.useRef(null);\n const pickerElementRef = React.useRef(null);\n React.useLayoutEffect(() => {\n pickerRef.current = AColorPicker.createPicker(pickerElementRef.current, {\n color: parseColor(value),\n showHSL: false,\n showHEX: false,\n showRGB: false,\n showAlpha: true\n });\n const pickerClipboard = pickerElementRef.current.querySelector('.a-color-picker-clipbaord');\n if (pickerClipboard instanceof HTMLElement) {\n pickerClipboard.tabIndex = -1;\n }\n }, []);\n React.useLayoutEffect(() => {\n if (typeof onInput === 'function') {\n pickerRef.current.on('change', (picker, value) => {\n onInput(parseColor(value));\n });\n }\n return () => {\n pickerRef.current.off('change');\n };\n }, [onInput]);\n React.useLayoutEffect(() => {\n const nextValue = parseColor(value);\n if (nextValue !== parseColor(pickerRef.current.color)) {\n pickerRef.current.color = nextValue;\n }\n }, [value]);\n return (\n <div ref={pickerElementRef} className={classnames(className, styles['color-picker-container'])} />\n );\n};\n\nColorPicker.propTypes = {\n className: PropTypes.string,\n value: PropTypes.string,\n onInput: PropTypes.func\n};\n\nmodule.exports = ColorPicker;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ColorPicker = require('./ColorPicker');\n\nmodule.exports = ColorPicker;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst { useServices } = require('stremio/services');\nconst LibItem = require('stremio/components/LibItem');\n\nconst ContinueWatchingItem = ({ _id, notifications, deepLinks, ...props }) => {\n const { core } = useServices();\n\n const onClick = React.useCallback(() => {\n if (deepLinks?.metaDetailsVideos ?? deepLinks?.metaDetailsStreams) {\n window.location = deepLinks?.metaDetailsVideos ?? deepLinks?.metaDetailsStreams;\n }\n }, [deepLinks]);\n\n const onPlayClick = React.useCallback((event) => {\n event.stopPropagation();\n if (deepLinks?.player ?? deepLinks?.metaDetailsStreams ?? deepLinks?.metaDetailsVideos) {\n window.location = deepLinks?.player ?? deepLinks?.metaDetailsStreams ?? deepLinks?.metaDetailsVideos;\n }\n }, [deepLinks]);\n\n const onDismissClick = React.useCallback((event) => {\n event.stopPropagation();\n if (typeof _id === 'string') {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RewindLibraryItem',\n args: _id\n }\n });\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'DismissNotificationItem',\n args: _id\n }\n });\n }\n }, [_id]);\n\n return (\n <LibItem\n {...props}\n _id={_id}\n posterChangeCursor={true}\n notifications={notifications}\n onClick={onClick}\n onPlayClick={onPlayClick}\n onDismissClick={onDismissClick}\n />\n );\n};\n\nContinueWatchingItem.propTypes = {\n _id: PropTypes.string,\n notifications: PropTypes.object,\n deepLinks: PropTypes.shape({\n metaDetailsVideos: PropTypes.string,\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n};\n\nmodule.exports = ContinueWatchingItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ContineWatchingItem = require('./ContinueWatchingItem');\n\nmodule.exports = ContineWatchingItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\n\nconst DelayedRenderer = ({ children, delay }) => {\n const [render, setRender] = React.useState(false);\n React.useEffect(() => {\n const timeout = setTimeout(() => {\n setRender(true);\n }, delay);\n return () => {\n clearTimeout(timeout);\n };\n }, []);\n return render ? children : null;\n};\n\nDelayedRenderer.propTypes = {\n children: PropTypes.node,\n delay: PropTypes.number,\n};\n\nmodule.exports = DelayedRenderer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst DelayedRenderer = require('./DelayedRenderer');\n\nmodule.exports = DelayedRenderer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst { default: Button } = require('stremio/components/Button');\nconst ModalDialog = require('stremio/components/ModalDialog');\nconst useEvents = require('./useEvents');\nconst styles = require('./styles');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\n\nconst EventModal = () => {\n const { t } = useTranslation();\n\n const { events, pullEvents, dismissEvent } = useEvents();\n\n const modal = React.useMemo(() => {\n return events?.modal?.type === 'Ready' ?\n events.modal.content\n :\n null;\n }, [events]);\n\n const onClose = React.useCallback(() => {\n modal?.id && dismissEvent(modal.id);\n }, [modal]);\n\n React.useEffect(() => {\n pullEvents();\n }, []);\n\n return (\n modal !== null ?\n <ModalDialog className={styles['event-modal']} onCloseRequest={onClose}>\n {\n modal.imageUrl ?\n <img className={styles['image']} src={modal.imageUrl} />\n :\n null\n }\n <div className={styles['info-container']}>\n <div className={styles['title-container']}>\n {\n modal.title ?\n <div className={styles['title']}>{modal.title}</div>\n :\n null\n }\n {\n modal.message ?\n <div className={styles['label']}>{modal.message}</div>\n :\n null\n }\n </div>\n {\n modal?.addon?.name ?\n <div className={styles['addon-container']}>\n <Icon className={styles['icon']} name={'addons'} />\n <div className={styles['name']}>\n { modal.addon.name }\n </div>\n </div>\n :\n null\n }\n {\n modal?.addon?.manifestUrl ?\n <Button className={styles['action-button']} href={`#/addons?addon=${encodeURIComponent(modal.addon.manifestUrl)}`} onClick={onClose}>\n <div className={styles['button-label']}>\n { t('INSTALL_ADDON') }\n </div>\n </Button>\n :\n modal.externalUrl ?\n <Button className={styles['action-button']} href={modal.externalUrl} target={'_blank'}>\n <div className={styles['button-label']}>\n { t('LEARN_MORE') }\n </div>\n </Button>\n :\n null\n }\n </div>\n </ModalDialog>\n :\n null\n );\n};\n\nmodule.exports = EventModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventModal = require('./EventModal');\n\nmodule.exports = EventModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst useModelState = require('stremio/common/useModelState');\nconst { useServices } = require('stremio/services');\n\nconst map = (ctx) => ({\n ...ctx.events,\n});\n\nconst useEvents = () => {\n const { core } = useServices();\n\n const pullEvents = () => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'GetEvents',\n },\n });\n };\n\n const dismissEvent = (id) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'DismissEvent',\n args: id,\n },\n });\n };\n\n const events = useModelState({ model: 'ctx', map });\n return { events, pullEvents, dismissEvent };\n};\n\nmodule.exports = useEvents;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst PropTypes = require('prop-types');\nconst MetaItem = require('stremio/components/MetaItem');\nconst { t } = require('i18next');\n\nconst LibItem = ({ _id, removable, notifications, watched, ...props }) => {\n\n const { core } = useServices();\n\n const newVideos = React.useMemo(() => {\n const count = notifications.items?.[_id]?.length ?? 0;\n return Math.min(Math.max(count, 0), 99);\n }, [_id, notifications]);\n\n const options = React.useMemo(() => {\n return [\n { label: 'LIBRARY_PLAY', value: 'play' },\n { label: 'LIBRARY_DETAILS', value: 'details' },\n { label: 'LIBRARY_RESUME_DISMISS', value: 'dismiss' },\n { label: watched ? 'CTX_MARK_UNWATCHED' : 'CTX_MARK_WATCHED', value: 'watched' },\n { label: 'LIBRARY_REMOVE', value: 'remove' },\n ].filter(({ value }) => {\n switch (value) {\n case 'play':\n return props.deepLinks && typeof props.deepLinks.player === 'string';\n case 'details':\n return props.deepLinks && (typeof props.deepLinks.metaDetailsVideos === 'string' || typeof props.deepLinks.metaDetailsStreams === 'string');\n case 'watched':\n return props.deepLinks && (typeof props.deepLinks.metaDetailsVideos === 'string' || typeof props.deepLinks.metaDetailsStreams === 'string');\n case 'dismiss':\n return typeof _id === 'string' && props.progress !== null && !isNaN(props.progress) && props.progress > 0;\n case 'remove':\n return typeof _id === 'string' && removable;\n }\n }).map((option) => ({\n ...option,\n label: t(option.label)\n }));\n }, [_id, removable, props.progress, props.deepLinks, watched]);\n\n const optionOnSelect = React.useCallback((event) => {\n if (typeof props.optionOnSelect === 'function') {\n props.optionOnSelect(event);\n }\n\n if (!event.nativeEvent.optionSelectPrevented) {\n switch (event.value) {\n case 'play': {\n if (props.deepLinks && typeof props.deepLinks.player === 'string') {\n window.location = props.deepLinks.player;\n }\n\n break;\n }\n case 'details': {\n if (props.deepLinks) {\n if (typeof props.deepLinks.metaDetailsVideos === 'string') {\n window.location = props.deepLinks.metaDetailsVideos;\n } else if (typeof props.deepLinks.metaDetailsStreams === 'string') {\n window.location = props.deepLinks.metaDetailsStreams;\n }\n }\n\n break;\n }\n case 'watched': {\n if (typeof _id === 'string') {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'LibraryItemMarkAsWatched',\n args: {\n id: _id,\n is_watched: !watched\n }\n }\n });\n }\n\n break;\n }\n case 'dismiss': {\n if (typeof _id === 'string') {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RewindLibraryItem',\n args: _id\n }\n });\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'DismissNotificationItem',\n args: _id\n }\n });\n }\n\n break;\n }\n case 'remove': {\n if (typeof _id === 'string') {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RemoveFromLibrary',\n args: _id\n }\n });\n }\n\n break;\n }\n }\n }\n }, [_id, props.deepLinks, props.optionOnSelect]);\n\n return (\n <MetaItem\n {...props}\n watched={watched}\n newVideos={newVideos}\n options={options}\n optionOnSelect={optionOnSelect}\n />\n );\n};\n\nLibItem.propTypes = {\n _id: PropTypes.string,\n removable: PropTypes.bool,\n progress: PropTypes.number,\n notifications: PropTypes.object,\n watched: PropTypes.bool,\n deepLinks: PropTypes.shape({\n metaDetailsVideos: PropTypes.string,\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n optionOnSelect: PropTypes.func\n};\n\nmodule.exports = LibItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst LibItem = require('./LibItem');\n\nmodule.exports = LibItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst filterInvalidDOMProps = require('filter-invalid-dom-props').default;\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { default: Button } = require('stremio/components/Button');\nconst { default: Image } = require('stremio/components/Image');\nconst Multiselect = require('stremio/components/Multiselect');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst { ICON_FOR_TYPE } = require('stremio/common/CONSTANTS');\nconst styles = require('./styles');\n\nconst MetaItem = React.memo(({ className, type, name, poster, posterShape, posterChangeCursor, progress, newVideos, options, deepLinks, dataset, optionOnSelect, onDismissClick, onPlayClick, watched, ...props }) => {\n const { t } = useTranslation();\n const [menuOpen, onMenuOpen, onMenuClose] = useBinaryState(false);\n const href = React.useMemo(() => {\n return deepLinks ?\n typeof deepLinks.player === 'string' ?\n deepLinks.player\n :\n typeof deepLinks.metaDetailsStreams === 'string' ?\n deepLinks.metaDetailsStreams\n :\n typeof deepLinks.metaDetailsVideos === 'string' ?\n deepLinks.metaDetailsVideos\n :\n null\n :\n null;\n }, [deepLinks]);\n const metaItemOnClick = React.useCallback((event) => {\n if (event.nativeEvent.selectPrevented) {\n event.preventDefault();\n } else if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n }, [props.onClick]);\n const menuOnClick = React.useCallback((event) => {\n event.nativeEvent.selectPrevented = true;\n }, []);\n const menuOnSelect = React.useCallback((event) => {\n if (typeof optionOnSelect === 'function') {\n optionOnSelect({\n type: 'select-option',\n value: event.value,\n dataset: dataset,\n reactEvent: event.reactEvent,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, optionOnSelect]);\n const renderPosterFallback = React.useCallback(() => (\n <Icon\n className={styles['placeholder-icon']}\n name={ICON_FOR_TYPE.has(type) ? ICON_FOR_TYPE.get(type) : ICON_FOR_TYPE.get('other')}\n />\n ), [type]);\n const renderMenuLabelContent = React.useCallback(() => (\n <Icon className={styles['icon']} name={'more-vertical'} />\n ), []);\n return (\n <Button title={name} href={href} {...filterInvalidDOMProps(props)} className={classnames(className, styles['meta-item-container'], styles['poster-shape-poster'], styles[`poster-shape-${posterShape}`], { 'active': menuOpen })} onClick={metaItemOnClick}>\n <div className={classnames(styles['poster-container'], { 'poster-change-cursor': posterChangeCursor })}>\n {\n onDismissClick ?\n <div title={t('LIBRARY_RESUME_DISMISS')} className={styles['dismiss-icon-layer']} onClick={onDismissClick}>\n <Icon className={styles['dismiss-icon']} name={'close'} />\n <div className={styles['dismiss-icon-backdrop']} />\n </div>\n :\n null\n }\n {\n watched ?\n <div className={styles['watched-icon-layer']}>\n <Icon className={styles['watched-icon']} name={'checkmark'} />\n </div>\n :\n null\n }\n <div className={styles['poster-image-layer']}>\n <Image\n className={styles['poster-image']}\n src={poster}\n alt={' '}\n renderFallback={renderPosterFallback}\n />\n </div>\n {\n onPlayClick ?\n <div title={t('CONTINUE_WATCHING')} className={styles['play-icon-layer']} onClick={onPlayClick}>\n <Icon className={styles['play-icon']} name={'play'} />\n <div className={styles['play-icon-outer']} />\n <div className={styles['play-icon-background']} />\n </div>\n :\n null\n }\n {\n progress > 0 ?\n <div className={styles['progress-bar-layer']}>\n <div className={styles['progress-bar']} style={{ width: `${progress}%` }} />\n <div className={styles['progress-bar-background']} />\n </div>\n :\n null\n }\n {\n newVideos > 0 ?\n <div className={styles['new-videos']}>\n <div className={styles['layer']} />\n <div className={styles['layer']} />\n <div className={styles['layer']}>\n <Icon className={styles['icon']} name={'add'} />\n <div className={styles['label']}>\n {newVideos}\n </div>\n </div>\n </div>\n :\n null\n }\n </div>\n {\n (typeof name === 'string' && name.length > 0) || (Array.isArray(options) && options.length > 0) ?\n <div className={styles['title-bar-container']}>\n <div className={styles['title-label']}>\n {typeof name === 'string' && name.length > 0 ? name : ''}\n </div>\n {\n Array.isArray(options) && options.length > 0 ?\n <Multiselect\n className={styles['menu-label-container']}\n renderLabelContent={renderMenuLabelContent}\n options={options}\n onOpen={onMenuOpen}\n onClose={onMenuClose}\n onSelect={menuOnSelect}\n tabIndex={-1}\n onClick={menuOnClick}\n />\n :\n null\n }\n </div>\n :\n null\n }\n </Button>\n );\n});\n\nMetaItem.displayName = 'MetaItem';\n\nMetaItem.propTypes = {\n className: PropTypes.string,\n type: PropTypes.string,\n name: PropTypes.string,\n poster: PropTypes.string,\n posterShape: PropTypes.oneOf(['poster', 'landscape', 'square']),\n posterChangeCursor: PropTypes.bool,\n progress: PropTypes.number,\n newVideos: PropTypes.number,\n options: PropTypes.array,\n deepLinks: PropTypes.shape({\n metaDetailsVideos: PropTypes.string,\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n dataset: PropTypes.object,\n optionOnSelect: PropTypes.func,\n onDismissClick: PropTypes.func,\n onPlayClick: PropTypes.func,\n onClick: PropTypes.func,\n watched: PropTypes.bool\n};\n\nmodule.exports = MetaItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaItem = require('./MetaItem');\n\nmodule.exports = MetaItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/components');\nconst styles = require('./styles');\nconst { Tooltip } = require('stremio/common/Tooltips');\n\nconst ActionButton = ({ className, icon, label, tooltip, ...props }) => {\n return (\n <Button title={tooltip ? '' : label} {...props} className={classnames(className, styles['action-button-container'], { 'wide': typeof label === 'string' && !tooltip })}>\n {\n tooltip === true ?\n <Tooltip label={label} position={'top'} />\n :\n null\n }\n {\n typeof icon === 'string' && icon.length > 0 ?\n <div className={styles['icon-container']}>\n <Icon className={styles['icon']} name={icon} />\n </div>\n :\n null\n }\n {\n !tooltip && typeof label === 'string' && label.length > 0 ?\n <div className={styles['label-container']}>\n <div className={styles['label']}>{label}</div>\n </div>\n :\n null\n }\n </Button>\n );\n};\n\nActionButton.propTypes = {\n className: PropTypes.string,\n icon: PropTypes.string,\n label: PropTypes.string,\n tooltip: PropTypes.bool\n};\n\nmodule.exports = ActionButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ActionButton = require('./ActionButton');\n\nmodule.exports = ActionButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { Button } = require('stremio/components');\nconst styles = require('./styles');\n\nconst MetaLinks = ({ className, label, links }) => {\n const { t } = useTranslation();\n return (\n <div className={classnames(className, styles['meta-links-container'])}>\n {\n typeof label === 'string' && label.length > 0 ?\n <div className={styles['label-container']}>\n {t(`LINKS_${label.toUpperCase()}`)}\n </div>\n :\n null\n }\n {\n Array.isArray(links) && links.length > 0 ?\n <div className={styles['links-container']}>\n {links.map(({ label, href }, index) => (\n <Button key={index} className={styles['link-container']} title={label} href={href}>\n { t(label) }\n </Button>\n ))}\n </div>\n :\n null\n }\n </div>\n );\n};\n\nMetaLinks.propTypes = {\n className: PropTypes.string,\n label: PropTypes.string,\n links: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string,\n href: PropTypes.string\n }))\n};\n\nmodule.exports = MetaLinks;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaLinks = require('./MetaLinks');\n\nmodule.exports = MetaLinks;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst UrlUtils = require('url');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { default: Button } = require('stremio/components/Button');\nconst { default: Image } = require('stremio/components/Image');\nconst ModalDialog = require('stremio/components/ModalDialog');\nconst SharePrompt = require('stremio/components/SharePrompt');\nconst CONSTANTS = require('stremio/common/CONSTANTS');\nconst routesRegexp = require('stremio/common/routesRegexp');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst ActionButton = require('./ActionButton');\nconst MetaLinks = require('./MetaLinks');\nconst MetaPreviewPlaceholder = require('./MetaPreviewPlaceholder');\nconst styles = require('./styles');\nconst { Ratings } = require('./Ratings');\n\nconst ALLOWED_LINK_REDIRECTS = [\n routesRegexp.search.regexp,\n routesRegexp.discover.regexp,\n routesRegexp.metadetails.regexp\n];\n\nconst MetaPreview = React.forwardRef(({ className, compact, name, logo, background, runtime, releaseInfo, released, description, deepLinks, links, trailerStreams, inLibrary, toggleInLibrary, ratingInfo }, ref) => {\n const { t } = useTranslation();\n const [shareModalOpen, openShareModal, closeShareModal] = useBinaryState(false);\n const linksGroups = React.useMemo(() => {\n return Array.isArray(links) ?\n links\n .filter((link) => link && typeof link.category === 'string' && typeof link.url === 'string')\n .reduce((linksGroups, { category, name, url }) => {\n const { protocol, path, pathname, hostname } = UrlUtils.parse(url);\n if (category === CONSTANTS.IMDB_LINK_CATEGORY) {\n if (hostname === 'imdb.com') {\n linksGroups.set(category, {\n label: name,\n href: `https://www.stremio.com/warning#${encodeURIComponent(url)}`\n });\n }\n } else if (category === CONSTANTS.SHARE_LINK_CATEGORY) {\n linksGroups.set(category, {\n label: name,\n href: url\n });\n } else {\n if (protocol === 'stremio:') {\n if (pathname !== null && ALLOWED_LINK_REDIRECTS.some((regexp) => pathname.match(regexp))) {\n if (!linksGroups.has(category)) {\n linksGroups.set(category, []);\n }\n linksGroups.get(category).push({\n label: name,\n href: `#${path}`\n });\n }\n } else if (typeof hostname === 'string' && hostname.length > 0) {\n if (!linksGroups.has(category)) {\n linksGroups.set(category, []);\n }\n linksGroups.get(category).push({\n label: name,\n href: `https://www.stremio.com/warning#${encodeURIComponent(url)}`\n });\n }\n }\n\n return linksGroups;\n }, new Map())\n :\n new Map();\n }, [links]);\n const showHref = React.useMemo(() => {\n return deepLinks ?\n typeof deepLinks.player === 'string' ?\n deepLinks.player\n :\n typeof deepLinks.metaDetailsStreams === 'string' ?\n deepLinks.metaDetailsStreams\n :\n typeof deepLinks.metaDetailsVideos === 'string' ?\n deepLinks.metaDetailsVideos\n :\n null\n :\n null;\n }, [deepLinks]);\n const trailerHref = React.useMemo(() => {\n if (!Array.isArray(trailerStreams) || trailerStreams.length === 0) {\n return null;\n }\n\n return trailerStreams[0].deepLinks.player;\n }, [trailerStreams]);\n const renderLogoFallback = React.useCallback(() => (\n <div className={styles['logo-placeholder']}>{name}</div>\n ), [name]);\n return (\n <div className={classnames(className, styles['meta-preview-container'], { [styles['compact']]: compact })} ref={ref}>\n {\n typeof background === 'string' && background.length > 0 ?\n <div className={styles['background-image-layer']}>\n <Image className={styles['background-image']} src={background} alt={' '} />\n </div>\n :\n null\n }\n <div className={styles['meta-info-container']}>\n {\n typeof logo === 'string' && logo.length > 0 ?\n <Image\n className={styles['logo']}\n src={logo}\n alt={' '}\n title={name}\n renderFallback={renderLogoFallback}\n />\n :\n renderLogoFallback()\n }\n {\n (typeof releaseInfo === 'string' && releaseInfo.length > 0) || (released instanceof Date && !isNaN(released.getTime())) || (typeof runtime === 'string' && runtime.length > 0) || linksGroups.has(CONSTANTS.IMDB_LINK_CATEGORY) ?\n <div className={styles['runtime-release-info-container']}>\n {\n typeof runtime === 'string' && runtime.length > 0 ?\n <div className={styles['runtime-label']}>{runtime}</div>\n :\n null\n }\n {\n typeof releaseInfo === 'string' && releaseInfo.length > 0 ?\n <div className={styles['release-info-label']}>{releaseInfo}</div>\n :\n released instanceof Date && !isNaN(released.getTime()) ?\n <div className={styles['release-info-label']}>{released.getFullYear()}</div>\n :\n null\n }\n {\n linksGroups.has(CONSTANTS.IMDB_LINK_CATEGORY) ?\n <Button\n className={styles['imdb-button-container']}\n title={linksGroups.get(CONSTANTS.IMDB_LINK_CATEGORY).label}\n href={linksGroups.get(CONSTANTS.IMDB_LINK_CATEGORY).href}\n target={'_blank'}\n {...(compact ? { tabIndex: -1 } : null)}\n >\n <div className={styles['label']}>{linksGroups.get(CONSTANTS.IMDB_LINK_CATEGORY).label}</div>\n <Icon className={styles['icon']} name={'imdb'} />\n </Button>\n :\n null\n }\n </div>\n :\n null\n }\n {\n compact && typeof description === 'string' && description.length > 0 ?\n <div className={styles['description-container']}>\n {description}\n </div>\n :\n null\n }\n {\n Array.from(linksGroups.keys())\n .filter((category) => {\n return category !== CONSTANTS.IMDB_LINK_CATEGORY &&\n category !== CONSTANTS.SHARE_LINK_CATEGORY &&\n category !== CONSTANTS.WRITERS_LINK_CATEGORY;\n })\n .map((category, index) => (\n <MetaLinks\n key={index}\n className={styles['meta-links']}\n label={category}\n links={linksGroups.get(category)}\n />\n ))\n }\n {\n !compact && typeof description === 'string' && description.length > 0 ?\n <div className={styles['description-container']}>\n <div className={styles['label-container']}>\n {t('SUMMARY')}\n </div>\n {description}\n </div>\n :\n null\n }\n </div>\n <div className={styles['action-buttons-container']}>\n {\n typeof toggleInLibrary === 'function' ?\n <ActionButton\n className={styles['action-button']}\n icon={inLibrary ? 'remove-from-library' : 'add-to-library'}\n label={inLibrary ? t('REMOVE_FROM_LIB') : t('ADD_TO_LIB')}\n tooltip={compact}\n tabIndex={compact ? -1 : 0}\n onClick={toggleInLibrary}\n />\n :\n null\n }\n {\n typeof trailerHref === 'string' ?\n <ActionButton\n className={styles['action-button']}\n icon={'trailer'}\n label={t('TRAILER')}\n tabIndex={compact ? -1 : 0}\n href={trailerHref}\n tooltip={compact}\n />\n :\n null\n }\n {\n typeof showHref === 'string' && compact ?\n <ActionButton\n className={classnames(styles['action-button'], styles['show-button'])}\n icon={'play'}\n label={t('SHOW')}\n tabIndex={compact ? -1 : 0}\n href={showHref}\n />\n :\n null\n }\n {\n !compact && ratingInfo !== null ?\n <Ratings\n ratingInfo={ratingInfo}\n className={styles['ratings']}\n />\n :\n null\n }\n {\n linksGroups.has(CONSTANTS.SHARE_LINK_CATEGORY) && !compact ?\n <React.Fragment>\n <ActionButton\n className={styles['action-button']}\n icon={'share'}\n label={t('CTX_SHARE')}\n tooltip={true}\n tabIndex={compact ? -1 : 0}\n onClick={openShareModal}\n />\n {\n shareModalOpen ?\n <ModalDialog title={t('CTX_SHARE')} onCloseRequest={closeShareModal}>\n <SharePrompt\n className={styles['share-prompt']}\n url={linksGroups.get(CONSTANTS.SHARE_LINK_CATEGORY).href}\n />\n </ModalDialog>\n :\n null\n }\n </React.Fragment>\n :\n null\n }\n </div>\n </div>\n );\n});\n\nMetaPreview.Placeholder = MetaPreviewPlaceholder;\n\nMetaPreview.propTypes = {\n className: PropTypes.string,\n compact: PropTypes.bool,\n name: PropTypes.string,\n logo: PropTypes.string,\n background: PropTypes.string,\n runtime: PropTypes.string,\n releaseInfo: PropTypes.string,\n released: PropTypes.instanceOf(Date),\n description: PropTypes.string,\n deepLinks: PropTypes.shape({\n metaDetailsVideos: PropTypes.string,\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n links: PropTypes.arrayOf(PropTypes.shape({\n category: PropTypes.string,\n name: PropTypes.string,\n url: PropTypes.string\n })),\n trailerStreams: PropTypes.array,\n inLibrary: PropTypes.bool,\n toggleInLibrary: PropTypes.func,\n ratingInfo: PropTypes.object,\n};\n\nmodule.exports = MetaPreview;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst styles = require('./styles');\n\nconst MetaPreviewPlaceholder = ({ className }) => {\n return (\n <div className={classnames(className, styles['meta-preview-placeholder-container'])}>\n <div className={styles['meta-info-container']}>\n <div className={styles['logo-container']} />\n <div className={styles['duration-release-info-container']}>\n <div className={styles['duration-container']} />\n <div className={styles['release-info-container']} />\n </div>\n <div className={styles['genres-container']}>\n <div className={styles['genres-header-container']} />\n <div className={styles['genre-label-container']} />\n </div>\n <div className={styles['genres-container']}>\n <div className={styles['genres-header-container']} />\n <div className={styles['genre-label-container']} />\n </div>\n <div className={styles['genres-container']}>\n <div className={styles['genres-header-container']} />\n <div className={styles['genre-label-container']} />\n </div>\n </div>\n <div className={styles['action-buttons-container']} />\n </div>\n );\n};\n\nMetaPreviewPlaceholder.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = MetaPreviewPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaPreviewPlaceholder = require('./MetaPreviewPlaceholder');\n\nmodule.exports = MetaPreviewPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaPreview = require('./MetaPreview');\n\nmodule.exports = MetaPreview;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ReactIs = require('react-is');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/components');\nconst CONSTANTS = require('stremio/common/CONSTANTS');\nconst useTranslate = require('stremio/common/useTranslate');\nconst MetaRowPlaceholder = require('./MetaRowPlaceholder');\nconst styles = require('./styles');\n\nconst MetaRow = ({ className, title, catalog, message, itemComponent, notifications }) => {\n const t = useTranslate();\n\n const catalogTitle = React.useMemo(() => {\n return title ?? t.catalogTitle(catalog);\n }, [title, catalog, t.catalogTitle]);\n\n const items = React.useMemo(() => {\n return catalog?.items ?? catalog?.content?.content;\n }, [catalog]);\n\n const href = React.useMemo(() => {\n return catalog?.deepLinks?.discover ?? catalog?.deepLinks?.library;\n }, [catalog]);\n\n return (\n <div className={classnames(className, styles['meta-row-container'])}>\n <div className={styles['header-container']}>\n {\n typeof catalogTitle === 'string' && catalogTitle.length > 0 ?\n <div className={styles['title-container']} title={catalogTitle}>{catalogTitle}</div>\n :\n null\n }\n {\n href ?\n <Button className={styles['see-all-container']} title={t.string('BUTTON_SEE_ALL')} href={href} tabIndex={-1}>\n <div className={styles['label']}>{ t.string('BUTTON_SEE_ALL') }</div>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </Button>\n :\n null\n }\n </div>\n {\n typeof message === 'string' && message.length > 0 ?\n <div className={styles['message-container']} title={message}>{message}</div>\n :\n <div className={styles['meta-items-container']}>\n {\n ReactIs.isValidElementType(itemComponent) ?\n items.slice(0, CONSTANTS.CATALOG_PREVIEW_SIZE).map((item, index) => {\n return React.createElement(itemComponent, {\n ...item,\n key: index,\n className: classnames(styles['meta-item'], styles['poster-shape-poster'], styles[`poster-shape-${item.posterShape}`]),\n notifications,\n });\n })\n :\n null\n }\n {Array(Math.max(0, CONSTANTS.CATALOG_PREVIEW_SIZE - items.length)).fill(null).map((_, index) => (\n <div key={index} className={classnames(styles['meta-item'], styles['poster-shape-poster'])} />\n ))}\n </div>\n }\n </div>\n );\n};\n\nMetaRow.Placeholder = MetaRowPlaceholder;\n\nMetaRow.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n message: PropTypes.string,\n catalog: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.string,\n addon: PropTypes.shape({\n manifest: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n }),\n }),\n content: PropTypes.shape({\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.shape({\n posterShape: PropTypes.string,\n })),\n ]),\n }),\n items: PropTypes.arrayOf(PropTypes.shape({\n posterShape: PropTypes.string,\n })),\n deepLinks: PropTypes.shape({\n discover: PropTypes.string,\n library: PropTypes.string,\n }),\n }),\n itemComponent: PropTypes.elementType,\n notifications: PropTypes.object,\n};\n\nmodule.exports = MetaRow;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/components');\nconst CONSTANTS = require('stremio/common/CONSTANTS');\nconst styles = require('./styles');\n\nconst MetaRowPlaceholder = ({ className, title, deepLinks }) => {\n const { t } = useTranslation();\n return (\n <div className={classnames(className, styles['meta-row-placeholder-container'])}>\n <div className={styles['header-container']}>\n <div className={styles['title-container']} title={typeof title === 'string' && title.length > 0 ? title : null}>\n {typeof title === 'string' && title.length > 0 ? title : null}\n </div>\n {\n deepLinks && typeof deepLinks.discover === 'string' ?\n <Button className={styles['see-all-container']} title={t('BUTTON_SEE_ALL')} href={deepLinks.discover} tabIndex={-1}>\n <div className={styles['label']}>{ t('BUTTON_SEE_ALL') }</div>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </Button>\n :\n null\n }\n </div>\n <div className={styles['meta-items-container']}>\n {Array(CONSTANTS.CATALOG_PREVIEW_SIZE).fill(null).map((_, index) => (\n <div key={index} className={styles['meta-item']}>\n <div className={styles['poster-container']} />\n <div className={styles['title-bar-container']}>\n <div className={styles['title-label']} />\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nMetaRowPlaceholder.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n deepLinks: PropTypes.shape({\n discover: PropTypes.string\n })\n};\n\nmodule.exports = MetaRowPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaRowPlaceholder = require('./MetaRowPlaceholder');\n\nmodule.exports = MetaRowPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaRow = require('./MetaRow');\n\nmodule.exports = MetaRow;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useRouteFocused, useModalsContainer } = require('stremio-router');\nconst { default: Button } = require('stremio/components/Button');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Modal } = require('stremio-router');\nconst styles = require('./styles');\n\nconst ModalDialog = ({ className, title, buttons, children, dataset, onCloseRequest, background, ...props }) => {\n const { t } = useTranslation();\n const routeFocused = useRouteFocused();\n const modalsContainer = useModalsContainer();\n const modalContainerRef = React.useRef(null);\n const closeButtonOnClick = React.useCallback((event) => {\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'close',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onCloseRequest]);\n const onModalContainerMouseDown = React.useCallback((event) => {\n if (!event.nativeEvent.closeModalDialogPrevented && typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'close',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onCloseRequest]);\n const onModalDialogContainerMouseDown = React.useCallback((event) => {\n event.nativeEvent.closeModalDialogPrevented = true;\n }, []);\n React.useEffect(() => {\n const onKeyDown = (event) => {\n // its `-2` because focus lock render locking divs around its content\n if (event.code === 'Escape' && modalsContainer.childNodes[modalsContainer.childElementCount - 2] === modalContainerRef.current) {\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'close',\n dataset: dataset,\n nativeEvent: event\n });\n }\n }\n };\n if (routeFocused) {\n window.addEventListener('keydown', onKeyDown);\n }\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [routeFocused, dataset, onCloseRequest]);\n return (\n <Modal ref={modalContainerRef} {...props} className={classnames(className, styles['modal-container'])} onMouseDown={onModalContainerMouseDown}>\n <div className={styles['modal-dialog-container']} onMouseDown={onModalDialogContainerMouseDown}>\n <div className={styles['modal-dialog-background']} style={{backgroundImage: `url('${background}')`}} />\n <Button className={styles['close-button-container']} title={t('BUTTON_CLOSE')} onClick={closeButtonOnClick}>\n <Icon className={styles['icon']} name={'close'} />\n </Button>\n <div className={styles['modal-dialog-content']}>\n {\n typeof title === 'string' && title.length > 0 ?\n <div className={styles['title-container']} title={title}>{title}</div>\n :\n null\n }\n <div className={styles['body-container']}>\n {children}\n </div>\n {\n Array.isArray(buttons) && buttons.length > 0 ?\n <div className={styles['buttons-container']}>\n {buttons.map(({ className, label, icon, props }, index) => (\n <Button title={label} {...props} key={index} className={classnames(className, styles['action-button'])}>\n {\n typeof icon === 'string' && icon.length > 0 ?\n <Icon className={styles['icon']} name={icon} />\n :\n null\n }\n {\n typeof label === 'string' && label.length > 0 ?\n <div className={styles['label']}>{label}</div>\n :\n null\n }\n </Button>\n ))}\n </div>\n :\n null\n }\n </div>\n </div>\n </Modal>\n );\n};\n\nModalDialog.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n background: PropTypes.string,\n buttons: PropTypes.arrayOf(PropTypes.shape({\n className: PropTypes.string,\n label: PropTypes.string,\n icon: PropTypes.string,\n props: PropTypes.object\n })),\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node\n ]),\n dataset: PropTypes.object,\n onCloseRequest: PropTypes.func\n};\n\nmodule.exports = ModalDialog;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ModalDialog = require('./ModalDialog');\n\nmodule.exports = ModalDialog;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/components');\nconst Popup = require('stremio/components/Popup');\nconst ModalDialog = require('stremio/components/ModalDialog');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst styles = require('./styles');\n\nconst Multiselect = ({ className, mode, direction, title, disabled, dataset, options, renderLabelContent, renderLabelText, onOpen, onClose, onSelect, ...props }) => {\n const { t } = useTranslation();\n const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);\n const filteredOptions = React.useMemo(() => {\n return Array.isArray(options) ?\n options.filter((option) => {\n return option && (typeof option.value === 'string' || option.value === null);\n })\n :\n [];\n }, [options]);\n const selected = React.useMemo(() => {\n return Array.isArray(props.selected) ?\n props.selected.filter((value) => {\n return typeof value === 'string' || value === null;\n })\n :\n [];\n }, [props.selected]);\n const labelOnClick = React.useCallback((event) => {\n if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n\n if (!event.nativeEvent.toggleMenuPrevented) {\n toggleMenu();\n }\n }, [props.onClick, toggleMenu]);\n const menuOnClick = React.useCallback((event) => {\n event.nativeEvent.toggleMenuPrevented = true;\n }, []);\n const menuOnKeyDown = React.useCallback((event) => {\n event.nativeEvent.buttonClickPrevented = true;\n }, []);\n const optionOnClick = React.useCallback((event) => {\n if (typeof onSelect === 'function') {\n onSelect({\n type: 'select',\n value: event.currentTarget.dataset.value,\n reactEvent: event,\n nativeEvent: event.nativeEvent,\n dataset: dataset\n });\n }\n\n if (!event.nativeEvent.closeMenuPrevented) {\n closeMenu();\n }\n }, [dataset, onSelect]);\n const mountedRef = React.useRef(false);\n React.useLayoutEffect(() => {\n if (mountedRef.current) {\n if (menuOpen) {\n if (typeof onOpen === 'function') {\n onOpen({\n type: 'open',\n dataset: dataset\n });\n }\n } else {\n if (typeof onClose === 'function') {\n onClose({\n type: 'close',\n dataset: dataset\n });\n }\n }\n }\n\n mountedRef.current = true;\n }, [menuOpen]);\n const renderLabel = React.useCallback(({ children, className, ...props }) => (\n <Button {...props} className={classnames(className, styles['label-container'], { 'active': menuOpen })} title={title} disabled={disabled} onClick={labelOnClick}>\n {\n typeof renderLabelContent === 'function' ?\n renderLabelContent()\n :\n <React.Fragment>\n <div className={styles['label']}>\n {\n typeof renderLabelText === 'function' ?\n renderLabelText()\n :\n selected.length > 0 ?\n selected.map((value) => {\n const option = filteredOptions.find((option) => option.value === value);\n return option && typeof option.label === 'string' ?\n option.label\n :\n value;\n }).join(', ')\n :\n title\n }\n </div>\n <Icon className={styles['icon']} name={'caret-down'} />\n </React.Fragment>\n }\n {children}\n </Button>\n ), [menuOpen, title, disabled, filteredOptions, selected, labelOnClick, renderLabelContent, renderLabelText]);\n const renderMenu = React.useCallback(() => (\n <div className={styles['menu-container']} onKeyDown={menuOnKeyDown} onClick={menuOnClick}>\n {\n filteredOptions.length > 0 ?\n filteredOptions.map(({ label, title, value }) => (\n <Button key={value} className={classnames(styles['option-container'], { 'selected': selected.includes(value) })} title={typeof title === 'string' ? title : typeof label === 'string' ? label : value} data-value={value} onClick={optionOnClick}>\n <div className={styles['label']}>{typeof label === 'string' ? label : value}</div>\n <div className={styles['icon']} />\n </Button>\n ))\n :\n <div className={styles['no-options-container']}>\n <div className={styles['label']}>{t('NO_OPTIONS')}</div>\n </div>\n }\n </div>\n ), [filteredOptions, selected, menuOnKeyDown, menuOnClick, optionOnClick]);\n const renderPopupLabel = React.useMemo(() => (labelProps) => {\n return renderLabel({\n ...labelProps,\n ...props,\n className: classnames(className, labelProps.className)\n });\n }, [props, className, renderLabel]);\n return mode === 'modal' ?\n renderLabel({\n ...props,\n className,\n children: menuOpen ?\n <ModalDialog className={styles['modal-container']} title={title} onCloseRequest={closeMenu} onKeyDown={menuOnKeyDown} onClick={menuOnClick}>\n {renderMenu()}\n </ModalDialog>\n :\n null\n })\n :\n <Popup\n open={menuOpen}\n direction={direction}\n onCloseRequest={closeMenu}\n renderLabel={renderPopupLabel}\n renderMenu={renderMenu}\n />;\n};\n\nMultiselect.propTypes = {\n className: PropTypes.string,\n mode: PropTypes.oneOf(['popup', 'modal']),\n direction: PropTypes.any,\n title: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.shape({\n value: PropTypes.string,\n title: PropTypes.string,\n label: PropTypes.string\n })),\n selected: PropTypes.arrayOf(PropTypes.string),\n disabled: PropTypes.bool,\n dataset: PropTypes.object,\n renderLabelContent: PropTypes.func,\n renderLabelText: PropTypes.func,\n onOpen: PropTypes.func,\n onClose: PropTypes.func,\n onSelect: PropTypes.func,\n onClick: PropTypes.func\n};\n\nmodule.exports = Multiselect;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Multiselect = require('./Multiselect');\n\nmodule.exports = Multiselect;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, Image } = require('stremio/components');\nconst { default: useFullscreen } = require('stremio/common/useFullscreen');\nconst usePWA = require('stremio/common/usePWA');\nconst SearchBar = require('./SearchBar');\nconst NavMenu = require('./NavMenu');\nconst styles = require('./styles');\nconst { t } = require('i18next');\n\nconst HorizontalNavBar = React.memo(({ className, route, query, title, backButton, searchBar, fullscreenButton, navMenu, ...props }) => {\n const backButtonOnClick = React.useCallback(() => {\n window.history.back();\n }, []);\n const [fullscreen, requestFullscreen, exitFullscreen] = useFullscreen();\n const [isIOSPWA] = usePWA();\n const renderNavMenuLabel = React.useCallback(({ ref, className, onClick, children, }) => (\n <Button ref={ref} className={classnames(className, styles['button-container'], styles['menu-button-container'])} tabIndex={-1} onClick={onClick}>\n <Icon className={styles['icon']} name={'person-outline'} />\n {children}\n </Button>\n ), []);\n return (\n <nav {...props} className={classnames(className, styles['horizontal-nav-bar-container'])}>\n {\n backButton ?\n <Button className={classnames(styles['button-container'], styles['back-button-container'])} tabIndex={-1} onClick={backButtonOnClick}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n </Button>\n :\n <div className={styles['logo-container']}>\n <Image\n className={styles['logo']}\n src={require('/images/stremio_symbol.png')}\n alt={' '}\n />\n </div>\n }\n {\n typeof title === 'string' && title.length > 0 ?\n <h2 className={styles['title']}>{title}</h2>\n :\n null\n }\n {\n searchBar && route !== 'addons' ?\n <SearchBar className={styles['search-bar']} query={query} active={route === 'search'} />\n :\n null\n }\n <div className={styles['buttons-container']}>\n {\n !isIOSPWA && fullscreenButton ?\n <Button className={styles['button-container']} title={fullscreen ? t('EXIT_FULLSCREEN') : t('ENTER_FULLSCREEN')} tabIndex={-1} onClick={fullscreen ? exitFullscreen : requestFullscreen}>\n <Icon className={styles['icon']} name={fullscreen ? 'minimize' : 'maximize'} />\n </Button>\n :\n null\n }\n {\n navMenu ?\n <NavMenu renderLabel={renderNavMenuLabel} />\n :\n null\n }\n </div>\n </nav>\n );\n});\n\nHorizontalNavBar.displayName = 'HorizontalNavBar';\n\nHorizontalNavBar.propTypes = {\n className: PropTypes.string,\n route: PropTypes.string,\n query: PropTypes.string,\n title: PropTypes.string,\n backButton: PropTypes.bool,\n searchBar: PropTypes.bool,\n fullscreenButton: PropTypes.bool,\n navMenu: PropTypes.bool\n};\n\nmodule.exports = HorizontalNavBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useRouteFocused } = require('stremio-router');\nconst Popup = require('stremio/components/Popup');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst NavMenuContent = require('./NavMenuContent');\nconst styles = require('./styles.less');\n\nconst NavMenu = (props) => {\n const routeFocused = useRouteFocused();\n const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);\n const popupLabelOnClick = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented) {\n toggleMenu();\n }\n }, [toggleMenu]);\n const popupMenuOnClick = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const renderLabel = React.useMemo(() => ({ ref, className, children }) => (\n props.renderLabel({\n ref,\n className: classnames(className, { 'active': menuOpen }),\n onClick: popupLabelOnClick,\n children,\n })\n ), [menuOpen, popupLabelOnClick, props.renderLabel]);\n const renderMenu = React.useCallback(() => (\n <NavMenuContent onClick={popupMenuOnClick} />\n ), []);\n React.useEffect(() => {\n if (!routeFocused) {\n closeMenu();\n }\n }, [routeFocused]);\n return (\n <Popup\n open={menuOpen}\n direction={'bottom-left'}\n onCloseRequest={closeMenu}\n renderLabel={renderLabel}\n renderMenu={renderMenu}\n className={styles['nav-menu-popup-label']}\n />\n );\n};\n\nNavMenu.propTypes = {\n renderLabel: PropTypes.func\n};\n\nmodule.exports = NavMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useServices } = require('stremio/services');\nconst { Button } = require('stremio/components');\nconst { default: useFullscreen } = require('stremio/common/useFullscreen');\nconst useProfile = require('stremio/common/useProfile');\nconst usePWA = require('stremio/common/usePWA');\nconst useTorrent = require('stremio/common/useTorrent');\nconst { withCoreSuspender } = require('stremio/common/CoreSuspender');\nconst useStreamingServer = require('stremio/common/useStreamingServer');\nconst styles = require('./styles');\n\nconst NavMenuContent = ({ onClick }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const profile = useProfile();\n const streamingServer = useStreamingServer();\n const { createTorrentFromMagnet } = useTorrent();\n const [fullscreen, requestFullscreen, exitFullscreen] = useFullscreen();\n const [isIOSPWA, isAndroidPWA] = usePWA();\n const streamingServerWarningDismissed = React.useMemo(() => {\n return streamingServer.settings !== null && streamingServer.settings.type === 'Ready' || (\n !isNaN(profile.settings.streamingServerWarningDismissed.getTime()) &&\n profile.settings.streamingServerWarningDismissed.getTime() > Date.now()\n );\n }, [profile.settings, streamingServer.settings]);\n const logoutButtonOnClick = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Logout'\n }\n });\n }, []);\n const onPlayMagnetLinkClick = React.useCallback(async () => {\n try {\n const clipboardText = await navigator.clipboard.readText();\n createTorrentFromMagnet(clipboardText);\n } catch(e) {\n console.error(e);\n }\n }, []);\n return (\n <div className={classnames(styles['nav-menu-container'], 'animation-fade-in', { [styles['with-warning']]: !streamingServerWarningDismissed } )} onClick={onClick}>\n <div className={styles['user-info-container']}>\n <div\n className={styles['avatar-container']}\n style={{\n backgroundImage: profile.auth === null ?\n `url('${require('/images/anonymous.png')}')`\n :\n profile.auth.user.avatar ?\n `url('${profile.auth.user.avatar}')`\n :\n `url('${require('/images/default_avatar.png')}')`\n }}\n />\n <div className={styles['user-info-details']}>\n <div className={styles['email-container']}>\n <div className={styles['email-label']}>{profile.auth === null ? t('ANONYMOUS_USER') : profile.auth.user.email}</div>\n </div>\n <Button className={styles['logout-button-container']} title={profile.auth === null ? `${t('LOG_IN')} / ${t('SIGN_UP')}` : t('LOG_OUT')} href={profile.auth === null ? '#/intro' : null} onClick={profile.auth !== null ? logoutButtonOnClick : null}>\n <div className={styles['logout-label']}>{profile.auth === null ? `${t('LOG_IN')} / ${t('SIGN_UP')}` : t('LOG_OUT')}</div>\n </Button>\n </div>\n </div>\n {\n !isIOSPWA && !isAndroidPWA ?\n <div className={styles['nav-menu-section']}>\n <Button className={styles['nav-menu-option-container']} title={fullscreen ? t('EXIT_FULLSCREEN') : t('ENTER_FULLSCREEN')} onClick={fullscreen ? exitFullscreen : requestFullscreen}>\n <Icon className={styles['icon']} name={fullscreen ? 'minimize' : 'maximize'} />\n <div className={styles['nav-menu-option-label']}>{fullscreen ? t('EXIT_FULLSCREEN') : t('ENTER_FULLSCREEN')}</div>\n </Button>\n </div>\n :\n null\n }\n <div className={styles['nav-menu-section']}>\n <Button className={styles['nav-menu-option-container']} title={ t('SETTINGS') } href={'#/settings'}>\n <Icon className={styles['icon']} name={'settings'} />\n <div className={styles['nav-menu-option-label']}>{ t('SETTINGS') }</div>\n </Button>\n <Button className={styles['nav-menu-option-container']} title={ t('ADDONS') } href={'#/addons'}>\n <Icon className={styles['icon']} name={'addons-outline'} />\n <div className={styles['nav-menu-option-label']}>{ t('ADDONS') }</div>\n </Button>\n <Button className={styles['nav-menu-option-container']} title={ t('PLAY_URL_MAGNET_LINK') } onClick={onPlayMagnetLinkClick}>\n <Icon className={styles['icon']} name={'magnet-link'} />\n <div className={styles['nav-menu-option-label']}>{ t('PLAY_URL_MAGNET_LINK') }</div>\n </Button>\n <Button className={styles['nav-menu-option-container']} title={ t('HELP_FEEDBACK') } href={'https://stremio.zendesk.com/'} target={'_blank'}>\n <Icon className={styles['icon']} name={'help'} />\n <div className={styles['nav-menu-option-label']}>{ t('HELP_FEEDBACK') }</div>\n </Button>\n </div>\n <div className={styles['nav-menu-section']}>\n <Button className={styles['nav-menu-option-container']} title={ t('TERMS_OF_SERVICE') } href={'https://www.stremio.com/tos'} target={'_blank'}>\n <div className={styles['nav-menu-option-label']}>{ t('TERMS_OF_SERVICE') }</div>\n </Button>\n <Button className={styles['nav-menu-option-container']} title={ t('PRIVACY_POLICY') } href={'https://www.stremio.com/privacy'} target={'_blank'}>\n <div className={styles['nav-menu-option-label']}>{ t('PRIVACY_POLICY') }</div>\n </Button>\n {\n profile.auth !== null ?\n <Button className={styles['nav-menu-option-container']} title={ t('USER_PANEL') } href={'https://www.stremio.com/acc-settings'} target={'_blank'}>\n <div className={styles['nav-menu-option-label']}>{ t('USER_PANEL') }</div>\n </Button>\n :\n null\n }\n </div>\n </div>\n );\n};\n\nNavMenuContent.propTypes = {\n onClick: PropTypes.func\n};\n\nconst NavMenuContentFallback = () => (\n <div className={styles['nav-menu-container']} />\n);\n\nmodule.exports = withCoreSuspender(NavMenuContent, NavMenuContentFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst NavMenu = require('./NavMenu');\n\nmodule.exports = NavMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useRouteFocused } = require('stremio-router');\nconst Button = require('stremio/components/Button').default;\nconst TextInput = require('stremio/components/TextInput').default;\nconst useTorrent = require('stremio/common/useTorrent');\nconst { withCoreSuspender } = require('stremio/common/CoreSuspender');\nconst useSearchHistory = require('./useSearchHistory');\nconst useLocalSearch = require('./useLocalSearch');\nconst styles = require('./styles');\nconst useBinaryState = require('stremio/common/useBinaryState');\n\nconst SearchBar = React.memo(({ className, query, active }) => {\n const { t } = useTranslation();\n const routeFocused = useRouteFocused();\n const searchHistory = useSearchHistory();\n const localSearch = useLocalSearch();\n const { createTorrentFromMagnet } = useTorrent();\n\n const [historyOpen, openHistory, closeHistory, ] = useBinaryState(query === null ? true : false);\n const [currentQuery, setCurrentQuery] = React.useState(query || '');\n\n const searchInputRef = React.useRef(null);\n const containerRef = React.useRef(null);\n\n const searchBarOnClick = React.useCallback(() => {\n if (!active) {\n window.location = '#/search';\n }\n }, [active]);\n\n const searchHistoryOnClose = React.useCallback((event) => {\n if (historyOpen && containerRef.current && !containerRef.current.contains(event.target)) {\n closeHistory();\n }\n }, [historyOpen]);\n\n React.useEffect(() => {\n document.addEventListener('mousedown', searchHistoryOnClose);\n return () => {\n document.removeEventListener('mousedown', searchHistoryOnClose);\n };\n }, [searchHistoryOnClose]);\n\n const queryInputOnChange = React.useCallback(() => {\n const value = searchInputRef.current.value;\n setCurrentQuery(value);\n openHistory();\n try {\n createTorrentFromMagnet(value);\n } catch (error) {\n console.error('Failed to create torrent from magnet:', error);\n }\n }, [createTorrentFromMagnet]);\n\n const queryInputOnSubmit = React.useCallback((event) => {\n event.preventDefault();\n const searchValue = `/search?search=${encodeURIComponent(event.target.value)}`;\n setCurrentQuery(searchValue);\n if (searchInputRef.current && searchValue) {\n window.location.hash = searchValue;\n closeHistory();\n }\n }, []);\n\n const queryInputClear = React.useCallback(() => {\n searchInputRef.current.value = '';\n setCurrentQuery('');\n window.location.hash = '/search';\n }, []);\n\n const updateLocalSearchDebounced = React.useCallback(debounce((query) => {\n localSearch.search(query);\n }, 250), []);\n\n React.useEffect(() => {\n updateLocalSearchDebounced(currentQuery);\n }, [currentQuery]);\n\n React.useEffect(() => {\n if (routeFocused && active) {\n searchInputRef.current.focus();\n }\n }, [routeFocused, active]);\n\n React.useEffect(() => {\n return () => {\n updateLocalSearchDebounced.cancel();\n };\n }, []);\n\n return (\n <div className={classnames(className, styles['search-bar-container'], { 'active': active })} onClick={searchBarOnClick} ref={containerRef}>\n {\n active ?\n <TextInput\n key={query}\n ref={searchInputRef}\n className={styles['search-input']}\n type={'text'}\n placeholder={t('SEARCH_OR_PASTE_LINK')}\n defaultValue={query}\n tabIndex={-1}\n onChange={queryInputOnChange}\n onSubmit={queryInputOnSubmit}\n onClick={openHistory}\n />\n :\n <div className={styles['search-input']}>\n <div className={styles['placeholder-label']}>{ t('SEARCH_OR_PASTE_LINK') }</div>\n </div>\n }\n {\n currentQuery.length > 0 ?\n <Button className={styles['submit-button-container']} onClick={queryInputClear}>\n <Icon className={styles['icon']} name={'close'} />\n </Button>\n :\n <Button className={styles['submit-button-container']}>\n <Icon className={styles['icon']} name={'search'} />\n </Button>\n }\n {\n historyOpen && (searchHistory?.items?.length || localSearch?.items?.length) ?\n <div className={styles['menu-container']}>\n {\n searchHistory?.items?.length > 0 ?\n <div className={styles['items']}>\n <div className={styles['title']}>\n <div className={styles['label']}>{ t('STREMIO_TV_SEARCH_HISTORY_TITLE') }</div>\n <button className={styles['search-history-clear']} onClick={searchHistory.clear}>\n { t('CLEAR_HISTORY') }\n </button>\n </div>\n {\n searchHistory.items.slice(0, 8).map(({ query, deepLinks }, index) => (\n <Button key={index} className={styles['item']} href={deepLinks.search} onClick={closeHistory}>\n {query}\n </Button>\n ))\n }\n </div>\n :\n null\n }\n {\n localSearch?.items?.length ?\n <div className={styles['items']}>\n <div className={styles['title']}>\n <div className={styles['label']}>{ t('SEARCH_SUGGESTIONS') }</div>\n </div>\n {\n localSearch.items.map(({ query, deepLinks }, index) => (\n <Button key={index} className={styles['item']} href={deepLinks.search} onClick={closeHistory}>\n {query}\n </Button>\n ))\n }\n </div>\n :\n null\n }\n </div>\n :\n null\n }\n </div>\n );\n});\n\nSearchBar.displayName = 'SearchBar';\n\nSearchBar.propTypes = {\n className: PropTypes.string,\n query: PropTypes.string,\n active: PropTypes.bool\n};\n\nconst SearchBarFallback = ({ className }) => {\n const { t } = useTranslation();\n return (\n <label className={classnames(className, styles['search-bar-container'])}>\n <div className={styles['search-input']}>\n <div className={styles['placeholder-label']}>{ t('SEARCH_OR_PASTE_LINK') }</div>\n </div>\n <Button className={styles['submit-button-container']} tabIndex={-1}>\n <Icon className={styles['icon']} name={'search'} />\n </Button>\n </label>\n );\n};\n\nSearchBarFallback.propTypes = SearchBar.propTypes;\n\nmodule.exports = withCoreSuspender(SearchBar, SearchBarFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SearchBar = require('./SearchBar');\n\nmodule.exports = SearchBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst useModelState = require('stremio/common/useModelState');\n\nconst useLocalSearch = () => {\n const { core } = useServices();\n\n const action = React.useMemo(() => ({\n action: 'Load',\n args: {\n model: 'LocalSearch',\n }\n }), []);\n\n const { items } = useModelState({ model: 'local_search', action });\n\n const search = React.useCallback((query) => {\n core.transport.dispatch({\n action: 'Search',\n args: {\n action: 'Search',\n args: {\n searchQuery: query,\n maxResults: 5\n }\n },\n });\n }, []);\n\n return {\n items,\n search,\n };\n};\n\nmodule.exports = useLocalSearch;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst useModelState = require('stremio/common/useModelState');\nconst { useServices } = require('stremio/services');\n\nconst useSearchHistory = () => {\n const { core } = useServices();\n const { searchHistory: items } = useModelState({ model: 'ctx' });\n\n const clear = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'ClearSearchHistory',\n },\n });\n }, []);\n\n return {\n items,\n clear,\n };\n};\n\nmodule.exports = useSearchHistory;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst HorizontalNavBar = require('./HorizontalNavBar');\n\nmodule.exports = HorizontalNavBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, Image } = require('stremio/components');\nconst styles = require('./styles');\n\nconst NavTabButton = ({ className, logo, icon, label, href, selected, onClick }) => {\n const renderLogoFallback = React.useCallback(() => (\n typeof icon === 'string' && icon.length > 0 ?\n <Icon className={styles['icon']} name={icon} />\n :\n null\n ), [icon]);\n const onDoubleClick = () => {\n const scrollableElements = document.querySelectorAll('div');\n\n scrollableElements.forEach((element) => {\n if (element.scrollTop > 0) {\n element.scrollTo({ top: 0, behavior: 'smooth' });\n }\n });\n };\n return (\n <Button className={classnames(className, styles['nav-tab-button-container'], { 'selected': selected })} title={label} tabIndex={-1} href={href} onClick={onClick} onDoubleClick={onDoubleClick}>\n {\n typeof logo === 'string' && logo.length > 0 ?\n <Image\n className={styles['logo']}\n src={logo}\n alt={' '}\n renderFallback={renderLogoFallback}\n />\n :\n typeof icon === 'string' && icon.length > 0 ?\n <Icon className={styles['icon']} name={selected ? icon : `${icon}-outline`} />\n :\n null\n }\n {\n typeof label === 'string' && label.length > 0 ?\n <div className={styles['label']}>{label}</div>\n :\n null\n }\n </Button>\n );\n};\n\nNavTabButton.propTypes = {\n className: PropTypes.string,\n logo: PropTypes.string,\n icon: PropTypes.string,\n label: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func\n};\n\nmodule.exports = NavTabButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst NavTabButton = require('./NavTabButton');\n\nmodule.exports = NavTabButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst NavTabButton = require('./NavTabButton');\nconst styles = require('./styles');\n\nconst VerticalNavBar = React.memo(({ className, selected, tabs }) => {\n const { t } = useTranslation();\n return (\n <nav className={classnames(className, styles['vertical-nav-bar-container'])}>\n {\n Array.isArray(tabs) ?\n tabs.map((tab, index) => (\n <NavTabButton\n key={index}\n className={styles['nav-tab-button']}\n selected={tab.id === selected}\n href={tab.href}\n logo={tab.logo}\n icon={tab.icon}\n label={t(tab.label)}\n onClick={tab.onClick}\n />\n ))\n :\n null\n }\n </nav>\n );\n});\n\nVerticalNavBar.displayName = 'VerticalNavBar';\n\nVerticalNavBar.propTypes = {\n className: PropTypes.string,\n selected: PropTypes.string,\n tabs: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n logo: PropTypes.string,\n icon: PropTypes.string,\n href: PropTypes.string,\n onClick: PropTypes.func\n }))\n};\n\nmodule.exports = VerticalNavBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VerticalNavBar = require('./VerticalNavBar');\n\nmodule.exports = VerticalNavBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst HorizontalNavBar = require('./HorizontalNavBar');\nconst VerticalNavBar = require('./VerticalNavBar');\n\nmodule.exports = {\n HorizontalNavBar,\n VerticalNavBar\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst FocusLock = require('react-focus-lock').default;\nconst { useRouteFocused } = require('stremio-router');\nconst styles = require('./styles');\n\nconst getAnchorElement = (element) => {\n if (element === document.documentElement) {\n return element;\n }\n\n const style = window.getComputedStyle(element);\n if (style.overflowY.indexOf('auto') !== -1 || style.overflowY.indexOf('scroll') !== -1) {\n return element;\n }\n\n return getAnchorElement(element.parentElement);\n};\n\nconst Popup = ({ open, direction, renderLabel, renderMenu, dataset, onCloseRequest, ...props }) => {\n const routeFocused = useRouteFocused();\n const labelRef = React.useRef(null);\n const menuRef = React.useRef(null);\n const [autoDirection, setAutoDirection] = React.useState(null);\n const menuOnMouseDown = React.useCallback((event) => {\n event.nativeEvent.closePopupPrevented = true;\n }, []);\n React.useEffect(() => {\n const onCloseEvent = (event) => {\n if (!event.closePopupPrevented && typeof onCloseRequest === 'function') {\n const closeEvent = {\n type: 'close',\n nativeEvent: event,\n dataset: dataset\n };\n switch (event.type) {\n case 'keydown':\n if (event.code === 'Escape') {\n onCloseRequest(closeEvent);\n }\n break;\n case 'mousedown':\n if (event.target !== document.documentElement && !labelRef.current.contains(event.target)) {\n onCloseRequest(closeEvent);\n }\n break;\n case 'pointerdown':\n if (event.target !== document.documentElement && !labelRef.current.contains(event.target)) {\n onCloseRequest(closeEvent);\n }\n break;\n }\n }\n };\n if (routeFocused && open) {\n window.addEventListener('keydown', onCloseEvent);\n window.addEventListener('mousedown', onCloseEvent);\n window.addEventListener('pointerdown', onCloseEvent);\n }\n return () => {\n window.removeEventListener('keydown', onCloseEvent);\n window.removeEventListener('mousedown', onCloseEvent);\n window.removeEventListener('pointerdown', onCloseEvent);\n };\n }, [routeFocused, open, onCloseRequest, dataset]);\n React.useLayoutEffect(() => {\n if (open) {\n const autoDirection = [];\n const anchor = getAnchorElement(labelRef.current);\n const anchorRect = anchor.getBoundingClientRect();\n\n const labelRect = labelRef.current.getBoundingClientRect();\n const menuRect = menuRef.current.getBoundingClientRect();\n const labelPosition = {\n left: labelRect.left - anchorRect.left,\n top: labelRect.top - anchorRect.top,\n right: (anchorRect.width + anchorRect.left) - (labelRect.left + labelRect.width),\n bottom: (anchorRect.height + anchorRect.top) - (labelRect.top + labelRect.height)\n };\n\n if (menuRect.height <= labelPosition.bottom) {\n autoDirection.push('bottom');\n } else if (menuRect.height <= labelPosition.top) {\n autoDirection.push('top');\n } else if (labelPosition.bottom >= labelPosition.top) {\n autoDirection.push('bottom');\n } else {\n autoDirection.push('top');\n }\n\n if (menuRect.width <= (labelPosition.right + labelRect.width)) {\n autoDirection.push('right');\n } else if (menuRect.width <= (labelPosition.left + labelRect.width)) {\n autoDirection.push('left');\n } else if (labelPosition.right > labelPosition.left) {\n autoDirection.push('right');\n } else {\n autoDirection.push('left');\n }\n\n setAutoDirection(autoDirection.join('-'));\n } else {\n setAutoDirection(null);\n }\n }, [open]);\n return renderLabel({\n ...props,\n ref: labelRef,\n className: classnames(styles['label-container'], props.className, { 'active': open }),\n children: open ?\n <FocusLock ref={menuRef} className={classnames(styles['menu-container'], { [styles[`menu-direction-${autoDirection}`]]: !direction }, { [styles[`menu-direction-${direction}`]]: direction })} autoFocus={false} lockProps={{ onMouseDown: menuOnMouseDown }}>\n {renderMenu()}\n </FocusLock>\n :\n null\n });\n};\n\nPopup.propTypes = {\n open: PropTypes.bool,\n direction: PropTypes.oneOf(['top-left', 'bottom-left', 'top-right', 'bottom-right']),\n renderLabel: PropTypes.func.isRequired,\n renderMenu: PropTypes.func.isRequired,\n dataset: PropTypes.object,\n onCloseRequest: PropTypes.func\n};\n\nmodule.exports = Popup;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Popup = require('./Popup');\n\nmodule.exports = Popup;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { default: TextInput } = require('stremio/components/TextInput');\nconst SearchBarPlaceholder = require('./SearchBarPlaceholder');\nconst styles = require('./styles');\n\nconst SearchBar = ({ className, title, value, onChange }) => {\n return (\n <label title={title} className={classnames(className, styles['search-bar-container'])}>\n <TextInput\n className={styles['search-input']}\n type={'text'}\n placeholder={title}\n value={value}\n onChange={onChange}\n />\n <Icon className={styles['icon']} name={'search'} />\n </label>\n );\n};\n\nSearchBar.Placeholder = SearchBarPlaceholder;\n\nSearchBar.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func\n};\n\nmodule.exports = SearchBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst styles = require('./styles');\n\nconst SearchBarPlaceholder = ({ className, title }) => {\n return (\n <div className={classnames(className, styles['search-bar-container'])}>\n <div className={styles['search-input']}>{title}</div>\n <Icon className={styles['icon']} name={'search'} />\n </div>\n );\n};\n\nSearchBarPlaceholder.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string\n};\n\nmodule.exports = SearchBarPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SearchBarPlaceholder = require('./SearchBarPlaceholder');\n\nmodule.exports = SearchBarPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SearchBar = require('./SearchBar');\n\nmodule.exports = SearchBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\nconst { Button } = require('stremio/components');\nconst { default: TextInput } = require('stremio/components/TextInput');\nconst useToast = require('stremio/common/Toast/useToast');\nconst styles = require('./styles');\n\nconst SharePrompt = ({ className, url }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const toast = useToast();\n const inputRef = React.useRef(null);\n const routeFocused = useRouteFocused();\n const selectInputContent = React.useCallback(() => {\n if (inputRef.current !== null) {\n inputRef.current.select();\n }\n }, []);\n const copyToClipboard = React.useCallback(() => {\n if (inputRef.current !== null) {\n inputRef.current.select();\n document.execCommand('copy');\n toast.show({\n type: 'success',\n title: 'Copied to clipboard',\n timeout: 3000,\n });\n }\n }, []);\n React.useEffect(() => {\n if (routeFocused && inputRef.current !== null) {\n inputRef.current.select();\n }\n }, [routeFocused]);\n React.useEffect(() => {\n core.transport.analytics({\n event: 'Share',\n args: {\n url: url\n }\n });\n }, [url]);\n return (\n <div className={classnames(className, styles['share-prompt-container'])}>\n <div className={styles['buttons-container']}>\n <Button className={classnames(styles['button-container'], styles['facebook-button'])} title={'Facebook'} href={`https://www.facebook.com/sharer/sharer.php?u=${url}`} target={'_blank'}>\n <Icon className={styles['icon']} name={'facebook'} />\n </Button>\n <Button className={classnames(styles['button-container'], styles['x-button'])} title={'X (Twitter)'} href={`https://twitter.com/intent/tweet?text=${url}`} target={'_blank'}>\n <Icon className={styles['icon']} name={'x'} />\n </Button>\n <Button className={classnames(styles['button-container'], styles['reddit-button'])} title={'Reddit'} href={`https://www.reddit.com/submit?url=${url}`} target={'_blank'}>\n <Icon className={styles['icon']} name={'reddit'} />\n </Button>\n </div>\n <div className={styles['url-container']}>\n <TextInput\n ref={inputRef}\n className={styles['url-text-input']}\n type={'text'}\n readOnly={true}\n defaultValue={url}\n onClick={selectInputContent}\n tabIndex={-1}\n />\n <Button className={styles['copy-button']} title={t('CTX_COPY_TO_CLIPBOARD')} onClick={copyToClipboard}>\n <Icon className={styles['icon']} name={'link'} />\n <div className={styles['label']}>{ t('COPY') }</div>\n </Button>\n </div>\n </div>\n );\n};\n\nSharePrompt.propTypes = {\n className: PropTypes.string,\n url: PropTypes.string\n};\n\nmodule.exports = SharePrompt;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SharePrompt = require('./SharePrompt');\n\nmodule.exports = SharePrompt;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useRouteFocused } = require('stremio-router');\nconst useAnimationFrame = require('stremio/common/useAnimationFrame');\nconst useLiveRef = require('stremio/common/useLiveRef');\nconst styles = require('./styles');\n\nconst Slider = ({ className, value, buffered, minimumValue, maximumValue, disabled, onSlide, onComplete, audioBoost }) => {\n const minimumValueRef = useLiveRef(minimumValue !== null && !isNaN(minimumValue) ? minimumValue : 0);\n const maximumValueRef = useLiveRef(maximumValue !== null && !isNaN(maximumValue) ? maximumValue : 100);\n const valueRef = useLiveRef(value !== null && !isNaN(value) ? Math.min(maximumValueRef.current, Math.max(minimumValueRef.current, value)) : 0);\n const bufferedRef = useLiveRef(buffered !== null && !isNaN(buffered) ? Math.min(maximumValueRef.current, Math.max(minimumValueRef.current, buffered)) : 0);\n const onSlideRef = useLiveRef(onSlide);\n const onCompleteRef = useLiveRef(onComplete);\n const sliderContainerRef = React.useRef(null);\n const routeFocused = useRouteFocused();\n const [requestThumbAnimation, cancelThumbAnimation] = useAnimationFrame();\n const calculateValueForMouseX = React.useCallback((mouseX) => {\n if (sliderContainerRef.current === null) {\n return 0;\n }\n\n const { x: sliderX, width: sliderWidth } = sliderContainerRef.current.getBoundingClientRect();\n const thumbStart = Math.min(Math.max(mouseX - sliderX, 0), sliderWidth);\n const value = (thumbStart / sliderWidth) * (maximumValueRef.current - minimumValueRef.current) + minimumValueRef.current;\n return value;\n }, []);\n const retainThumb = React.useCallback(() => {\n window.addEventListener('blur', onBlur);\n window.addEventListener('mouseup', onMouseUp);\n window.addEventListener('touchend', onTouchEnd);\n window.addEventListener('mousemove', onMouseMove);\n window.addEventListener('touchmove', onTouchMove);\n document.documentElement.className = classnames(document.documentElement.className, styles['active-slider-within']);\n }, []);\n const releaseThumb = React.useCallback(() => {\n cancelThumbAnimation();\n window.removeEventListener('blur', onBlur);\n window.removeEventListener('mouseup', onMouseUp);\n window.removeEventListener('touchend', onTouchEnd);\n window.removeEventListener('mousemove', onMouseMove);\n window.removeEventListener('touchmove', onTouchMove);\n const classList = document.documentElement.className.split(' ');\n const classIndex = classList.indexOf(styles['active-slider-within']);\n if (classIndex !== -1) {\n classList.splice(classIndex, 1);\n document.documentElement.className = classnames(classList);\n }\n }, []);\n const onBlur = React.useCallback(() => {\n if (typeof onSlideRef.current === 'function') {\n onSlideRef.current(valueRef.current);\n }\n\n if (typeof onCompleteRef.current === 'function') {\n onCompleteRef.current(valueRef.current);\n }\n\n releaseThumb();\n }, []);\n const onMouseUp = React.useCallback((event) => {\n const value = calculateValueForMouseX(event.clientX);\n if (typeof onCompleteRef.current === 'function') {\n onCompleteRef.current(value);\n }\n\n releaseThumb();\n }, []);\n const onMouseMove = React.useCallback((event) => {\n requestThumbAnimation(() => {\n const value = calculateValueForMouseX(event.clientX);\n if (typeof onSlideRef.current === 'function') {\n onSlideRef.current(value);\n }\n });\n }, []);\n const onMouseDown = React.useCallback((event) => {\n if (event.button !== 0) {\n return;\n }\n\n const value = calculateValueForMouseX(event.clientX);\n if (typeof onSlideRef.current === 'function') {\n onSlideRef.current(value);\n }\n\n retainThumb();\n }, []);\n const onTouchStart = React.useCallback((event) => {\n const touch = event.touches[0];\n const value = calculateValueForMouseX(touch.clientX);\n if (typeof onSlideRef.current === 'function') {\n onSlideRef.current(value);\n }\n\n retainThumb();\n event.preventDefault();\n }, []);\n const onTouchMove = React.useCallback((event) => {\n requestThumbAnimation(() => {\n const touch = event.touches[0];\n const value = calculateValueForMouseX(touch.clientX);\n if (typeof onSlideRef.current === 'function') {\n onSlideRef.current(value);\n }\n });\n\n event.preventDefault();\n }, []);\n const onTouchEnd = React.useCallback((event) => {\n const touch = event.changedTouches[0];\n const value = calculateValueForMouseX(touch.clientX);\n if (typeof onCompleteRef.current === 'function') {\n onCompleteRef.current(value);\n }\n\n releaseThumb();\n }, []);\n React.useLayoutEffect(() => {\n if (!routeFocused || disabled) {\n releaseThumb();\n }\n }, [routeFocused, disabled]);\n React.useLayoutEffect(() => {\n return () => {\n releaseThumb();\n };\n }, []);\n const thumbPosition = Math.max(0, Math.min(1, (valueRef.current - minimumValueRef.current) / (maximumValueRef.current - minimumValueRef.current)));\n const bufferedPosition = Math.max(0, Math.min(1, (bufferedRef.current - minimumValueRef.current) / (maximumValueRef.current - minimumValueRef.current)));\n return (\n <div ref={sliderContainerRef} className={classnames(className, styles['slider-container'], { 'disabled': disabled })} onMouseDown={onMouseDown} onTouchStart={onTouchStart}>\n <div className={styles['layer']}>\n <div className={classnames(styles['track'], { [styles['audio-boost']]: audioBoost })} />\n </div>\n <div className={styles['layer']}>\n <div className={styles['track-before']} style={{ width: `calc(100% * ${bufferedPosition})` }} />\n </div>\n <div className={styles['layer']}>\n <div\n className={classnames(styles['track-after'], { [styles['audio-boost']]: audioBoost })}\n style={{ '--mask-width': `calc(${thumbPosition} * 100%)` }}\n />\n </div>\n <div className={styles['layer']}>\n <div className={styles['thumb']} style={{ marginLeft: `calc(100% * ${thumbPosition})` }} />\n </div>\n </div>\n );\n};\n\nSlider.propTypes = {\n className: PropTypes.string,\n value: PropTypes.number,\n buffered: PropTypes.number,\n minimumValue: PropTypes.number,\n maximumValue: PropTypes.number,\n disabled: PropTypes.bool,\n onSlide: PropTypes.func,\n onComplete: PropTypes.func,\n audioBoost: PropTypes.bool\n};\n\nmodule.exports = Slider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Slider = require('./Slider');\n\nmodule.exports = Slider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useRouteFocused } = require('stremio-router');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, Image, Popup } = require('stremio/components');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst useProfile = require('stremio/common/useProfile');\nconst VideoPlaceholder = require('./VideoPlaceholder');\nconst styles = require('./styles');\n\nconst Video = React.forwardRef(({ className, id, title, thumbnail, season, episode, released, upcoming, watched, progress, scheduled, seasonWatched, deepLinks, onMarkVideoAsWatched, onMarkSeasonAsWatched, ...props }, ref) => {\n const routeFocused = useRouteFocused();\n const profile = useProfile();\n const { t } = useTranslation();\n const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);\n const popupLabelOnMouseUp = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented) {\n if (event.nativeEvent.ctrlKey || event.nativeEvent.button === 2) {\n event.preventDefault();\n toggleMenu();\n }\n }\n }, []);\n const popupLabelOnContextMenu = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented && !event.nativeEvent.ctrlKey) {\n event.preventDefault();\n }\n }, [toggleMenu]);\n const popupLabelOnLongPress = React.useCallback((event) => {\n if (event.nativeEvent.pointerType !== 'mouse' && !event.nativeEvent.togglePopupPrevented) {\n toggleMenu();\n }\n }, [toggleMenu]);\n const popupMenuOnPointerDown = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnContextMenu = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnClick = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnKeyDown = React.useCallback((event) => {\n event.nativeEvent.buttonClickPrevented = true;\n }, []);\n const toggleWatchedOnClick = React.useCallback((event) => {\n event.preventDefault();\n event.stopPropagation();\n closeMenu();\n onMarkVideoAsWatched({ id, released }, watched);\n }, [id, released, watched]);\n const toggleWatchedSeasonOnClick = React.useCallback((event) => {\n event.preventDefault();\n event.stopPropagation();\n closeMenu();\n onMarkSeasonAsWatched(season, seasonWatched);\n }, [season, seasonWatched, onMarkSeasonAsWatched]);\n const videoButtonOnClick = React.useCallback(() => {\n if (deepLinks) {\n if (typeof deepLinks.player === 'string') {\n window.location = deepLinks.player;\n } else if (typeof deepLinks.metaDetailsStreams === 'string') {\n window.location.replace(deepLinks.metaDetailsStreams);\n }\n }\n }, [deepLinks]);\n const renderLabel = React.useMemo(() => function renderLabel({ className, id, title, thumbnail, episode, released, upcoming, watched, progress, scheduled, children, ref: popupRef, ...props }) {\n const blurThumbnail = profile.settings.hideSpoilers && season && episode && !watched;\n const handleRef = React.useCallback((node) => {\n if (popupRef) {\n if (typeof popupRef === 'function') {\n popupRef(node);\n } else {\n popupRef.current = node;\n }\n }\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }, [popupRef]);\n\n return (\n <Button {...props} className={classnames(className, styles['video-container'])} title={title} ref={handleRef}>\n {\n typeof thumbnail === 'string' && thumbnail.length > 0 ?\n <div className={styles['thumbnail-container']}>\n <Image\n className={classnames(styles['thumbnail'], { [styles['blurred']]: blurThumbnail })}\n src={thumbnail}\n alt={' '}\n renderFallback={() => (\n <Icon\n className={styles['placeholder-icon']}\n name={'symbol'}\n />\n )}\n />\n {\n progress !== null && !isNaN(progress) && progress > 0 ?\n <div className={styles['progress-bar-container']}>\n <div className={styles['progress-bar']} style={{ width: `${progress}%` }} />\n <div className={styles['progress-bar-background']} />\n </div>\n :\n null\n }\n </div>\n :\n null\n }\n <div className={styles['info-container']}>\n <div className={styles['title-container']}>\n {episode !== null && !isNaN(episode) ? `${episode}. ` : null}\n {typeof title === 'string' && title.length > 0 ? title : id}\n </div>\n <div className={styles['flex-row-container']}>\n {\n released instanceof Date && !isNaN(released.getTime()) ?\n <div className={styles['released-container']}>\n {released.toLocaleString(profile.settings.interfaceLanguage, { year: 'numeric', month: 'short', day: 'numeric' })}\n </div>\n :\n scheduled ?\n <div className={styles['released-container']} title={t('TBA')}>\n {t('TBA')}\n </div>\n :\n null\n }\n <div className={styles['upcoming-watched-container']}>\n {\n upcoming && !watched ?\n <div className={styles['upcoming-container']}>\n <div className={styles['flag-label']}>{t('UPCOMING')}</div>\n </div>\n :\n null\n }\n {\n watched ?\n <div className={styles['watched-container']}>\n <Icon className={styles['flag-icon']} name={'eye'} />\n <div className={styles['flag-label']}>{t('CTX_WATCHED')}</div>\n </div>\n :\n null\n }\n </div>\n </div>\n </div>\n {children}\n </Button>\n );\n }, []);\n const renderMenu = React.useMemo(() => function renderMenu() {\n return (\n <div className={styles['context-menu-content']} onPointerDown={popupMenuOnPointerDown} onContextMenu={popupMenuOnContextMenu} onClick={popupMenuOnClick} onKeyDown={popupMenuOnKeyDown}>\n <Button className={styles['context-menu-option-container']} title={t('CTX_WATCH')}>\n <div className={styles['context-menu-option-label']}>{t('CTX_WATCH')}</div>\n </Button>\n <Button className={styles['context-menu-option-container']} title={watched ? t('CTX_MARK_NON_WATCHED') : t('CTX_MARK_WATCHED')} onClick={toggleWatchedOnClick}>\n <div className={styles['context-menu-option-label']}>{watched ? t('CTX_MARK_NON_WATCHED') : t('CTX_MARK_WATCHED')}</div>\n </Button>\n <Button className={styles['context-menu-option-container']} title={seasonWatched ? t('CTX_UNMARK_REST') : t('CTX_MARK_REST')} onClick={toggleWatchedSeasonOnClick}>\n <div className={styles['context-menu-option-label']}>{seasonWatched ? t('CTX_UNMARK_REST') : t('CTX_MARK_REST')}</div>\n </Button>\n </div>\n );\n }, [watched, seasonWatched, toggleWatchedOnClick]);\n React.useEffect(() => {\n if (!routeFocused) {\n closeMenu();\n }\n }, [routeFocused]);\n return (\n <Popup\n className={className}\n id={id}\n title={title}\n thumbnail={thumbnail}\n episode={episode}\n released={released}\n upcoming={upcoming}\n watched={watched}\n progress={progress}\n scheduled={scheduled}\n onClick={videoButtonOnClick}\n {...props}\n onMouseUp={popupLabelOnMouseUp}\n onLongPress={popupLabelOnLongPress}\n onContextMenu={popupLabelOnContextMenu}\n open={menuOpen}\n onCloseRequest={closeMenu}\n renderLabel={renderLabel}\n renderMenu={renderMenu}\n />\n );\n});\n\nVideo.Placeholder = VideoPlaceholder;\n\nVideo.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n title: PropTypes.string,\n thumbnail: PropTypes.string,\n season: PropTypes.number,\n episode: PropTypes.number,\n released: PropTypes.instanceOf(Date),\n upcoming: PropTypes.bool,\n watched: PropTypes.bool,\n progress: PropTypes.number,\n scheduled: PropTypes.bool,\n seasonWatched: PropTypes.bool,\n deepLinks: PropTypes.shape({\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n onMarkVideoAsWatched: PropTypes.func,\n onMarkSeasonAsWatched: PropTypes.func,\n};\n\nmodule.exports = Video;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst styles = require('./styles');\n\nconst VideoPlaceholder = ({ className }) => {\n return (\n <div className={classnames(className, styles['video-placeholder-container'])}>\n <div className={styles['info-container']}>\n <div className={styles['name-container']} />\n <div className={styles['released-container']} />\n </div>\n </div>\n );\n};\n\nVideoPlaceholder.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = VideoPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VideoPlaceholder = require('./VideoPlaceholder');\n\nmodule.exports = VideoPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Video = require('./Video');\n\nmodule.exports = Video;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ReactDOM = require('react-dom');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst FocusLock = require('react-focus-lock').default;\nconst { useModalsContainer } = require('../ModalsContainerContext');\n\nconst Modal = React.forwardRef(({ className, autoFocus, disabled, children, ...props }, ref) => {\n const modalsContainer = useModalsContainer();\n return ReactDOM.createPortal(\n <FocusLock ref={ref} className={classnames(className, 'modal-container')} autoFocus={!!autoFocus} disabled={!!disabled} lockProps={props}>\n {children}\n </FocusLock>,\n modalsContainer\n );\n});\n\nModal.displayName = 'Modal';\n\nModal.propTypes = {\n className: PropTypes.string,\n autoFocus: PropTypes.bool,\n disabled: PropTypes.bool,\n children: PropTypes.node\n};\n\nmodule.exports = Modal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Modal = require('./Modal');\n\nmodule.exports = Modal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst ModalsContainerContext = React.createContext(null);\n\nModalsContainerContext.displayName = 'ModalsContainerContext';\n\nmodule.exports = ModalsContainerContext;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst ModalsContainerContext = require('./ModalsContainerContext');\n\nconst ModalsContainerProvider = ({ children }) => {\n const [container, setContainer] = React.useState(null);\n return (\n <ModalsContainerContext.Provider value={container}>\n {container instanceof HTMLElement ? children : null}\n <div ref={setContainer} className={'modals-container'} />\n </ModalsContainerContext.Provider>\n );\n};\n\nModalsContainerProvider.propTypes = {\n children: PropTypes.node\n};\n\nmodule.exports = ModalsContainerProvider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ModalsContainerProvider = require('./ModalsContainerProvider');\nconst useModalsContainer = require('./useModalsContainer');\n\nmodule.exports = {\n ModalsContainerProvider,\n useModalsContainer\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ModalsContainerContext = require('./ModalsContainerContext');\n\nconst useModalsContainer = () => {\n return React.useContext(ModalsContainerContext);\n};\n\nmodule.exports = useModalsContainer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst { ModalsContainerProvider } = require('../ModalsContainerContext');\n\nconst Route = ({ children }) => {\n return (\n <div className={'route-container'}>\n <ModalsContainerProvider>\n <div className={'route-content'}>\n {children}\n </div>\n </ModalsContainerProvider>\n </div>\n );\n};\n\nRoute.propTypes = {\n children: PropTypes.node\n};\n\nmodule.exports = Route;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Route = require('./Route');\n\nmodule.exports = Route;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst RouteFocusedContext = React.createContext(true);\n\nRouteFocusedContext.displayName = 'RouteFocusedContext';\n\nmodule.exports = RouteFocusedContext;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst RouteFocusedContext = require('./RouteFocusedContext');\nconst useRouteFocused = require('./useRouteFocused');\n\nmodule.exports = {\n RouteFocusedProvider: RouteFocusedContext.Provider,\n useRouteFocused\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst RouteFocusedContext = require('./RouteFocusedContext');\n\nconst useRouteFocused = () => {\n return React.useContext(RouteFocusedContext);\n};\n\nmodule.exports = useRouteFocused;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ReactIs = require('react-is');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst UrlUtils = require('url');\nconst isEqual = require('lodash.isequal');\nconst { RouteFocusedProvider } = require('../RouteFocusedContext');\nconst Route = require('../Route');\nconst routeConfigForPath = require('./routeConfigForPath');\nconst urlParamsForPath = require('./urlParamsForPath');\n\nconst Router = ({ className, onPathNotMatch, onRouteChange, ...props }) => {\n const viewsConfig = React.useMemo(() => props.viewsConfig, []);\n const [views, setViews] = React.useState(() => {\n return Array(viewsConfig.length).fill(null);\n });\n React.useLayoutEffect(() => {\n const onLocationHashChange = () => {\n const { pathname, query } = UrlUtils.parse(window.location.hash.slice(1));\n const queryParams = new URLSearchParams(typeof query === 'string' ? query : '');\n const routeConfig = routeConfigForPath(viewsConfig, typeof pathname === 'string' ? pathname : '');\n if (routeConfig === null) {\n if (typeof onPathNotMatch === 'function') {\n const component = onPathNotMatch();\n if (ReactIs.isValidElementType(component)) {\n setViews((views) => {\n return views\n .slice(0, viewsConfig.length)\n .concat({\n key: '-1',\n component\n });\n });\n }\n }\n\n return;\n }\n\n const urlParams = urlParamsForPath(routeConfig, typeof pathname === 'string' ? pathname : '');\n const routeViewIndex = viewsConfig.findIndex((vc) => vc.includes(routeConfig));\n const routeIndex = viewsConfig[routeViewIndex].findIndex((rc) => rc === routeConfig);\n const handled = typeof onRouteChange === 'function' && onRouteChange(routeConfig, urlParams, queryParams);\n if (!handled) {\n setViews((views) => {\n return views\n .slice(0, viewsConfig.length)\n .map((view, index) => {\n if (index < routeViewIndex) {\n return view;\n } else if (index === routeViewIndex) {\n return {\n key: `${routeViewIndex}${routeIndex}`,\n component: routeConfig.component,\n urlParams: view !== null && isEqual(view.urlParams, urlParams) ?\n view.urlParams\n :\n urlParams,\n queryParams: view !== null && isEqual(Array.from(view.queryParams.entries()), Array.from(queryParams.entries())) ?\n view.queryParams\n :\n queryParams\n };\n } else {\n return null;\n }\n });\n });\n }\n };\n window.addEventListener('hashchange', onLocationHashChange);\n onLocationHashChange();\n return () => {\n window.removeEventListener('hashchange', onLocationHashChange);\n };\n }, [onPathNotMatch, onRouteChange]);\n return (\n <div className={classnames(className, 'routes-container')}>\n {\n views\n .filter((view) => view !== null)\n .map(({ key, component, urlParams, queryParams }, index, views) => (\n <RouteFocusedProvider key={key} value={index === views.length - 1}>\n <Route>\n {React.createElement(component, { urlParams, queryParams })}\n </Route>\n </RouteFocusedProvider>\n ))\n }\n </div>\n );\n};\n\nRouter.propTypes = {\n className: PropTypes.string,\n onPathNotMatch: PropTypes.func,\n onRouteChange: PropTypes.func,\n viewsConfig: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.exact({\n regexp: PropTypes.instanceOf(RegExp).isRequired,\n urlParamsNames: PropTypes.arrayOf(PropTypes.string).isRequired,\n component: PropTypes.elementType.isRequired\n }))).isRequired\n};\n\nmodule.exports = Router;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Router = require('./Router');\n\nmodule.exports = Router;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst routeConfigForPath = (viewsConfig, path) => {\n for (const viewConfig of viewsConfig) {\n for (const routeConfig of viewConfig) {\n if (path.match(routeConfig.regexp)) {\n return routeConfig;\n }\n }\n }\n\n return null;\n};\n\nmodule.exports = routeConfigForPath;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst urlParamsForPath = (routeConfig, path) => {\n const matches = path.match(routeConfig.regexp);\n return routeConfig.urlParamsNames.reduce((urlParams, name, index) => {\n if (Array.isArray(matches) && typeof matches[index + 1] === 'string') {\n urlParams[name] = decodeURIComponent(matches[index + 1]);\n } else {\n urlParams[name] = null;\n }\n\n return urlParams;\n }, { path });\n};\n\nmodule.exports = urlParamsForPath;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { useRouteFocused } = require('./RouteFocusedContext');\nconst { useModalsContainer } = require('./ModalsContainerContext');\nconst Modal = require('./Modal');\nconst Router = require('./Router');\n\nmodule.exports = {\n useRouteFocused,\n useModalsContainer,\n Modal,\n Router\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, Image } = require('stremio/components');\nconst styles = require('./styles');\n\nconst Addon = ({ className, id, name, version, logo, description, types, behaviorHints, installed, onInstall, onUninstall, onConfigure, onOpen, onShare, dataset }) => {\n const { t } = useTranslation();\n const onInstallClick = React.useCallback((event) => {\n event.stopPropagation();\n if (typeof onInstall === 'function') {\n onInstall({\n type: 'install',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onInstall, dataset]);\n const onUninstallClick = React.useCallback((event) => {\n event.stopPropagation();\n if (typeof onUninstall === 'function') {\n onUninstall({\n type: 'uninstall',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onUninstall, dataset]);\n const onOpenClick = React.useCallback((event) => {\n event.stopPropagation();\n if (typeof onOpen === 'function') {\n onOpen({\n type: 'open',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onOpen, dataset]);\n const configureButtonOnClick = React.useCallback((event) => {\n event.stopPropagation();\n if (typeof onConfigure === 'function') {\n onConfigure({\n type: 'configure',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onConfigure, dataset]);\n const shareButtonOnClick = React.useCallback((event) => {\n event.stopPropagation();\n if (typeof onShare === 'function') {\n onShare({\n type: 'share',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onShare, dataset]);\n const onKeyDown = React.useCallback((event) => {\n if (event.key === 'Enter') {\n onOpenClick(event);\n }\n }, [onOpenClick]);\n const renderLogoFallback = React.useCallback(() => (\n <Icon className={styles['icon']} name={'addons'} />\n ), []);\n return (\n <Button className={classnames(className, styles['addon-container'])} onKeyDown={onKeyDown} onClick={onOpenClick}>\n <div className={styles['logo-container']}>\n <Image\n className={styles['logo']}\n src={logo}\n alt={' '}\n renderFallback={renderLogoFallback}\n />\n </div>\n <div className={styles['info-container']}>\n <div className={styles['name-container']} title={typeof name === 'string' && name.length > 0 ? name : id}>\n {typeof name === 'string' && name.length > 0 ? name : id}\n </div>\n {\n typeof version === 'string' && version.length > 0 ?\n <div className={styles['version-container']} title={t('ADDON_VERSION_SHORT', {version})}>{t('ADDON_VERSION_SHORT', {version})}</div>\n :\n null\n }\n {\n Array.isArray(types) && types.length > 0 ?\n <div className={styles['types-container']}>\n {\n types.length === 1 ?\n types.join('')\n :\n types.slice(0, -1).join(', ') + ' & ' + types[types.length - 1]\n }\n </div>\n :\n null\n }\n {\n typeof description === 'string' && description.length > 0 ?\n <div className={styles['description-container']} title={description}>{description}</div>\n :\n null\n }\n </div>\n <div className={styles['buttons-container']}>\n <div className={styles['action-buttons-container']}>\n {\n !behaviorHints.configurationRequired && behaviorHints.configurable ?\n <Button className={styles['configure-button-container']} title={t('ADDON_CONFIGURE')} tabIndex={-1} onClick={configureButtonOnClick}>\n <Icon className={styles['icon']} name={'settings'} />\n </Button>\n :\n null\n }\n <Button\n className={installed ? styles['uninstall-button-container'] : styles['install-button-container']}\n title={installed ? t('ADDON_UNINSTALL') : behaviorHints.configurationRequired ? t('ADDON_CONFIGURE') : t('ADDON_INSTALL')}\n tabIndex={-1}\n onClick={installed ? onUninstallClick : behaviorHints.configurationRequired ? configureButtonOnClick : onInstallClick}\n >\n <div className={styles['label']}>{installed ? t('ADDON_UNINSTALL') : behaviorHints.configurationRequired ? t('ADDON_CONFIGURE') : t('ADDON_INSTALL')}</div>\n </Button>\n </div>\n <Button className={styles['share-button-container']} title={t('SHARE_ADDON')} tabIndex={-1} onClick={shareButtonOnClick}>\n <Icon className={styles['icon']} name={'share'} />\n <div className={styles['label']}>{ t('SHARE_ADDON') }</div>\n </Button>\n </div>\n </Button>\n );\n};\n\nAddon.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n name: PropTypes.string,\n version: PropTypes.string,\n logo: PropTypes.string,\n description: PropTypes.string,\n types: PropTypes.arrayOf(PropTypes.string),\n behaviorHints: PropTypes.shape({\n adult: PropTypes.bool,\n configurable: PropTypes.bool,\n configurationRequired: PropTypes.bool,\n p2p: PropTypes.bool,\n }),\n installed: PropTypes.bool,\n onToggle: PropTypes.func,\n onInstall: PropTypes.func,\n onUninstall: PropTypes.func,\n onConfigure: PropTypes.func,\n onOpen: PropTypes.func,\n onShare: PropTypes.func,\n dataset: PropTypes.object\n};\n\nmodule.exports = Addon;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Addon = require('./Addon');\n\nmodule.exports = Addon;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { usePlatform, useBinaryState, withCoreSuspender } = require('stremio/common');\nconst { AddonDetailsModal, Button, Image, MainNavBars, ModalDialog, SearchBar, SharePrompt, TextInput, MultiselectMenu } = require('stremio/components');\nconst { useServices } = require('stremio/services');\nconst Addon = require('./Addon');\nconst useInstalledAddons = require('./useInstalledAddons');\nconst useRemoteAddons = require('./useRemoteAddons');\nconst useAddonDetailsTransportUrl = require('./useAddonDetailsTransportUrl');\nconst useSelectableInputs = require('./useSelectableInputs');\nconst styles = require('./styles');\nconst { AddonPlaceholder } = require('./AddonPlaceholder');\n\nconst Addons = ({ urlParams, queryParams }) => {\n const { t } = useTranslation();\n const platform = usePlatform();\n const { core } = useServices();\n const installedAddons = useInstalledAddons(urlParams);\n const remoteAddons = useRemoteAddons(urlParams);\n const [addonDetailsTransportUrl, setAddonDetailsTransportUrl] = useAddonDetailsTransportUrl(urlParams, queryParams);\n const selectInputs = useSelectableInputs(installedAddons, remoteAddons);\n const [filtersModalOpen, openFiltersModal, closeFiltersModal] = useBinaryState(false);\n const [addAddonModalOpen, openAddAddonModal, closeAddAddonModal] = useBinaryState(false);\n const addAddonUrlInputRef = React.useRef(null);\n const addAddonOnSubmit = React.useCallback(() => {\n if (addAddonUrlInputRef.current !== null) {\n setAddonDetailsTransportUrl(addAddonUrlInputRef.current.value);\n }\n }, [setAddonDetailsTransportUrl]);\n const addAddonModalButtons = React.useMemo(() => {\n return [\n {\n className: styles['cancel-button'],\n label: t('BUTTON_CANCEL'),\n props: {\n onClick: closeAddAddonModal\n }\n },\n {\n label: t('ADDON_ADD'),\n props: {\n onClick: addAddonOnSubmit\n }\n }\n ];\n }, [addAddonOnSubmit]);\n const [search, setSearch] = React.useState('');\n const searchInputOnChange = React.useCallback((event) => {\n setSearch(event.currentTarget.value);\n }, []);\n const [sharedAddon, setSharedAddon] = React.useState(null);\n const clearSharedAddon = React.useCallback(() => {\n setSharedAddon(null);\n }, []);\n const onAddonShare = React.useCallback((event) => {\n setSharedAddon(event.dataset.addon);\n }, []);\n const onAddonInstall = React.useCallback((event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'InstallAddon',\n args: event.dataset.addon,\n }\n });\n }, []);\n const onAddonUninstall = React.useCallback((event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UninstallAddon',\n args: event.dataset.addon,\n }\n });\n }, []);\n const onAddonConfigure = React.useCallback((event) => {\n platform.openExternal(event.dataset.addon.transportUrl.replace('manifest.json', 'configure'));\n }, []);\n const onAddonOpen = React.useCallback((event) => {\n setAddonDetailsTransportUrl(event.dataset.addon.transportUrl);\n }, [setAddonDetailsTransportUrl]);\n const closeAddonDetails = React.useCallback(() => {\n setAddonDetailsTransportUrl(null);\n }, [setAddonDetailsTransportUrl]);\n const searchFilterPredicate = React.useCallback((addon) => {\n return search.length === 0 ||\n (\n (typeof addon.manifest.name === 'string' && addon.manifest.name.toLowerCase().includes(search.toLowerCase())) ||\n (typeof addon.manifest.description === 'string' && addon.manifest.description.toLowerCase().includes(search.toLowerCase()))\n );\n }, [search]);\n const renderLogoFallback = React.useCallback(() => (\n <Icon className={styles['icon']} name={'addons'} />\n ), []);\n React.useLayoutEffect(() => {\n closeAddAddonModal();\n setSearch('');\n clearSharedAddon();\n }, [urlParams, queryParams]);\n return (\n <MainNavBars className={styles['addons-container']} route={'addons'}>\n <div className={styles['addons-content']}>\n <div className={styles['selectable-inputs-container']}>\n {selectInputs.map((selectInput, index) => (\n <MultiselectMenu\n {...selectInput}\n key={index}\n className={styles['select-input-container']}\n />\n ))}\n <div className={styles['spacing']} />\n <Button className={styles['add-button-container']} title={t('ADD_ADDON')} onClick={openAddAddonModal}>\n <Icon className={styles['icon']} name={'add'} />\n <div className={styles['add-button-label']}>{t('ADD_ADDON')}</div>\n </Button>\n <SearchBar\n className={styles['search-bar']}\n title={t('ADDON_SEARCH')}\n value={search}\n onChange={searchInputOnChange}\n />\n <Button className={styles['filter-button']} title={t('ALL_FILTERS')} onClick={openFiltersModal}>\n <Icon className={styles['filter-icon']} name={'filters'} />\n </Button>\n </div>\n {\n installedAddons.selected !== null ?\n installedAddons.selectable.types.length === 0 ?\n <div className={styles['message-container']}>\n {t('NO_ADDONS')}\n </div>\n :\n installedAddons.catalog.length === 0 ?\n <div className={styles['message-container']}>\n {t('NO_ADDONS_FOR_TYPE')}\n </div>\n :\n <div className={styles['addons-list-container']}>\n {\n installedAddons.catalog\n .filter(searchFilterPredicate)\n .map((addon, index) => (\n <Addon\n key={index}\n className={classnames(styles['addon'], 'animation-fade-in')}\n id={addon.manifest.id}\n name={addon.manifest.name}\n version={addon.manifest.version}\n logo={addon.manifest.logo}\n description={addon.manifest.description}\n types={addon.manifest.types}\n behaviorHints={addon.manifest.behaviorHints}\n installed={addon.installed}\n onInstall={onAddonInstall}\n onUninstall={onAddonUninstall}\n onConfigure={onAddonConfigure}\n onOpen={onAddonOpen}\n onShare={onAddonShare}\n dataset={{ addon }}\n />\n ))\n }\n </div>\n :\n remoteAddons.selected !== null ?\n remoteAddons.catalog.content.type === 'Err' ?\n <div className={styles['message-container']}>\n {remoteAddons.catalog.content.content}\n </div>\n :\n remoteAddons.catalog.content.type === 'Loading' ?\n <div className={styles['addons-list-container']}>\n {Array.from({ length: 6 }).map((_, index) => (\n <AddonPlaceholder key={index} className={styles['addon']} />\n ))}\n </div>\n :\n <div className={styles['addons-list-container']}>\n {\n remoteAddons.catalog.content.content\n .filter(searchFilterPredicate)\n .map((addon, index) => (\n <Addon\n key={index}\n className={classnames(styles['addon'], 'animation-fade-in')}\n id={addon.manifest.id}\n name={addon.manifest.name}\n version={addon.manifest.version}\n logo={addon.manifest.logo}\n description={addon.manifest.description}\n types={addon.manifest.types}\n behaviorHints={addon.manifest.behaviorHints}\n installed={addon.installed}\n onInstall={onAddonInstall}\n onUninstall={onAddonUninstall}\n onConfigure={onAddonConfigure}\n onOpen={onAddonOpen}\n onShare={onAddonShare}\n dataset={{ addon }}\n />\n ))\n }\n </div>\n :\n <div className={styles['addons-list-container']}>\n {Array.from({ length: 6 }).map((_, index) => (\n <AddonPlaceholder key={index} className={styles['addon']} />\n ))}\n </div>\n }\n </div>\n {\n filtersModalOpen ?\n <ModalDialog title={t('ADDONS_FILTERS')} className={styles['filters-modal']} onCloseRequest={closeFiltersModal}>\n {selectInputs.map((selectInput, index) => (\n <MultiselectMenu\n {...selectInput}\n key={index}\n className={styles['select-input-container']}\n />\n ))}\n </ModalDialog>\n :\n null\n }\n {\n addAddonModalOpen ?\n <ModalDialog\n className={styles['add-addon-modal-container']}\n title={t('ADD_ADDON')}\n buttons={addAddonModalButtons}\n onCloseRequest={closeAddAddonModal}>\n <div className={styles['notice']}>{t('ADD_ADDON_DESCRIPTION')}</div>\n <TextInput\n ref={addAddonUrlInputRef}\n className={styles['addon-url-input']}\n type={'text'}\n placeholder={t('PASTE_ADDON_URL')}\n autoFocus={true}\n onSubmit={addAddonOnSubmit}\n />\n </ModalDialog>\n :\n null\n }\n {\n sharedAddon !== null ?\n <ModalDialog\n className={styles['share-modal-container']}\n title={t('SHARE_ADDON')}\n onCloseRequest={clearSharedAddon}>\n <div className={styles['title-container']}>\n <Image\n className={styles['logo']}\n src={sharedAddon.manifest.logo}\n alt={' '}\n renderFallback={renderLogoFallback}\n />\n <div className={styles['name-container']}>\n <span className={styles['name']}>{typeof sharedAddon.manifest.name === 'string' && sharedAddon.manifest.name.length > 0 ? sharedAddon.manifest.name : sharedAddon.manifest.id}</span>\n {\n typeof sharedAddon.manifest.version === 'string' && sharedAddon.manifest.version.length > 0 ?\n <span className={styles['version']}>{t('ADDON_VERSION_SHORT', { version: sharedAddon.manifest.version })}</span>\n :\n null\n }\n </div>\n </div>\n <SharePrompt\n className={styles['share-prompt-container']}\n url={sharedAddon.transportUrl}\n />\n </ModalDialog>\n :\n null\n }\n {\n typeof addonDetailsTransportUrl === 'string' ?\n <AddonDetailsModal\n transportUrl={addonDetailsTransportUrl}\n onCloseRequest={closeAddonDetails}\n />\n :\n null\n }\n </MainNavBars>\n );\n};\n\nAddons.propTypes = {\n urlParams: PropTypes.shape({\n path: PropTypes.string,\n transportUrl: PropTypes.string,\n catalogId: PropTypes.string,\n type: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst AddonsFallback = () => (\n <MainNavBars className={styles['addons-container']} route={'addons'} />\n);\n\nmodule.exports = withCoreSuspender(Addons, AddonsFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Addons = require('./Addons');\n\nmodule.exports = Addons;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useAddonDetailsTransportUrl = (urlParams, queryParams) => {\n const transportUrl = React.useMemo(() => {\n return queryParams.get('addon');\n }, [queryParams]);\n const setTransportUrl = React.useCallback((transportUrl) => {\n const nextQueryParams = new URLSearchParams(queryParams);\n if (typeof transportUrl === 'string') {\n nextQueryParams.set('addon', transportUrl);\n } else {\n nextQueryParams.delete('addon');\n }\n\n window.location.replace(`#${urlParams.path}?${nextQueryParams}`);\n }, [urlParams, queryParams]);\n return [transportUrl, setTransportUrl];\n};\n\nmodule.exports = useAddonDetailsTransportUrl;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useModelState } = require('stremio/common');\n\nconst useInstalledAddons = (urlParams) => {\n const action = React.useMemo(() => {\n if (typeof urlParams.transportUrl !== 'string' && typeof urlParams.catalogId !== 'string') {\n return {\n action: 'Load',\n args: {\n model: 'InstalledAddonsWithFilters',\n args: {\n request: {\n type: typeof urlParams.type === 'string' ? urlParams.type : null\n }\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [urlParams]);\n return useModelState({ model: 'installed_addons', action });\n};\n\nmodule.exports = useInstalledAddons;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useModelState } = require('stremio/common');\n\nconst useRemoteAddons = (urlParams) => {\n const action = React.useMemo(() => {\n if (typeof urlParams.type === 'string' && typeof urlParams.transportUrl === 'string' && typeof urlParams.catalogId === 'string') {\n return {\n action: 'Load',\n args: {\n model: 'CatalogWithFilters',\n args: {\n request: {\n base: urlParams.transportUrl,\n path: {\n resource: 'addon_catalog',\n type: urlParams.type,\n id: urlParams.catalogId,\n extra: []\n }\n }\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [urlParams]);\n return useModelState({ model: 'remote_addons', action, deps: ['ctx'] });\n};\n\nmodule.exports = useRemoteAddons;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslate } = require('stremio/common');\n\nconst mapSelectableInputs = (installedAddons, remoteAddons, t) => {\n const selectedCatalog = remoteAddons.selectable.catalogs.concat(installedAddons.selectable.catalogs).find(({ selected }) => selected);\n const catalogSelect = {\n options: remoteAddons.selectable.catalogs\n .concat(installedAddons.selectable.catalogs)\n .map(({ name, deepLinks }) => ({\n value: deepLinks.addons,\n label: t.stringWithPrefix(name.toUpperCase(), 'ADDON_'),\n title: t.stringWithPrefix(name.toUpperCase(), 'ADDON_'),\n })),\n value: selectedCatalog ? selectedCatalog.deepLinks.addons : undefined,\n title: remoteAddons.selected !== null ?\n () => {\n const selectableCatalog = remoteAddons.selectable.catalogs\n .find(({ id }) => id === remoteAddons.selected.request.path.id);\n return selectableCatalog ? t.stringWithPrefix(selectableCatalog.name, 'ADDON_') : remoteAddons.selected.request.path.id;\n }\n : null,\n onSelect: (value) => {\n window.location = value;\n }\n };\n const selectedType = installedAddons.selected !== null\n ? installedAddons.selectable.types.find(({ selected }) => selected)\n : remoteAddons.selectable.types.find(({ selected }) => selected);\n const typeSelect = {\n options: installedAddons.selected !== null ?\n installedAddons.selectable.types.map(({ type, deepLinks }) => ({\n value: deepLinks.addons,\n label: type !== null ? t.stringWithPrefix(type, 'TYPE_') : t.string('TYPE_ALL')\n }))\n :\n remoteAddons.selectable.types.map(({ type, deepLinks }) => ({\n value: deepLinks.addons,\n label: t.stringWithPrefix(type, 'TYPE_')\n })),\n value: selectedType ? selectedType.deepLinks.addons : undefined,\n title: () => {\n return installedAddons.selected !== null ?\n installedAddons.selected.request.type === null ?\n t.string('TYPE_ALL')\n :\n t.stringWithPrefix(installedAddons.selected.request.type, 'TYPE_')\n :\n remoteAddons.selected !== null ?\n t.stringWithPrefix(remoteAddons.selected.request.path.type, 'TYPE_')\n :\n typeSelect.title;\n },\n onSelect: (value) => {\n window.location = value;\n }\n };\n return [catalogSelect, typeSelect];\n};\n\nconst useSelectableInputs = (installedAddons, remoteAddons) => {\n const t = useTranslate();\n const selectableInputs = React.useMemo(() => {\n return mapSelectableInputs(installedAddons, remoteAddons, t);\n }, [installedAddons, remoteAddons]);\n return selectableInputs;\n};\n\nmodule.exports = useSelectableInputs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst useTranslate = require('stremio/common/useTranslate');\nconst { useStreamingServer, useNotifications, withCoreSuspender, getVisibleChildrenRange, useProfile } = require('stremio/common');\nconst { ContinueWatchingItem, EventModal, MainNavBars, MetaItem, MetaRow } = require('stremio/components');\nconst useBoard = require('./useBoard');\nconst useContinueWatchingPreview = require('./useContinueWatchingPreview');\nconst styles = require('./styles');\nconst { default: StreamingServerWarning } = require('./StreamingServerWarning');\n\nconst THRESHOLD = 5;\n\nconst Board = () => {\n const t = useTranslate();\n const streamingServer = useStreamingServer();\n const continueWatchingPreview = useContinueWatchingPreview();\n const [board, loadBoardRows] = useBoard();\n const notifications = useNotifications();\n const profile = useProfile();\n const boardCatalogsOffset = continueWatchingPreview.items.length > 0 ? 1 : 0;\n const scrollContainerRef = React.useRef();\n const streamingServerWarningDismissed = React.useMemo(() => {\n return streamingServer.settings !== null && streamingServer.settings.type === 'Ready' || (\n !isNaN(profile.settings.streamingServerWarningDismissed.getTime()) &&\n profile.settings.streamingServerWarningDismissed.getTime() > Date.now()\n );\n }, [profile.settings, streamingServer.settings]);\n const onVisibleRangeChange = React.useCallback(() => {\n const range = getVisibleChildrenRange(scrollContainerRef.current);\n if (range === null) {\n return;\n }\n\n const start = Math.max(0, range.start - boardCatalogsOffset - THRESHOLD);\n const end = range.end - boardCatalogsOffset + THRESHOLD;\n if (end < start) {\n return;\n }\n\n loadBoardRows({ start, end });\n }, [boardCatalogsOffset]);\n const onScroll = React.useCallback(debounce(onVisibleRangeChange, 250), [onVisibleRangeChange]);\n React.useLayoutEffect(() => {\n onVisibleRangeChange();\n }, [board.catalogs, onVisibleRangeChange]);\n return (\n <div className={styles['board-container']}>\n <EventModal />\n <MainNavBars className={styles['board-content-container']} route={'board'}>\n <div ref={scrollContainerRef} className={styles['board-content']} onScroll={onScroll}>\n {\n continueWatchingPreview.items.length > 0 ?\n <MetaRow\n className={classnames(styles['board-row'], styles['continue-watching-row'], 'animation-fade-in')}\n title={t.string('BOARD_CONTINUE_WATCHING')}\n catalog={continueWatchingPreview}\n itemComponent={ContinueWatchingItem}\n notifications={notifications}\n />\n :\n null\n }\n {board.catalogs.map((catalog, index) => {\n switch (catalog.content?.type) {\n case 'Ready': {\n return (\n <MetaRow\n key={index}\n className={classnames(styles['board-row'], styles[`board-row-${catalog.content.content[0].posterShape}`], 'animation-fade-in')}\n catalog={catalog}\n itemComponent={MetaItem}\n />\n );\n }\n case 'Err': {\n if (catalog.content.content !== 'EmptyContent') {\n return (\n <MetaRow\n key={index}\n className={classnames(styles['board-row'], 'animation-fade-in')}\n catalog={catalog}\n message={catalog.content.content}\n />\n );\n }\n return null;\n }\n default: {\n return (\n <MetaRow.Placeholder\n key={index}\n className={classnames(styles['board-row'], styles['board-row-poster'], 'animation-fade-in')}\n catalog={catalog}\n title={t.catalogTitle(catalog)}\n />\n );\n }\n }\n })}\n </div>\n </MainNavBars>\n {\n !streamingServerWarningDismissed ?\n <StreamingServerWarning className={styles['board-warning-container']} />\n :\n null\n }\n </div>\n );\n};\n\nconst BoardFallback = () => (\n <div className={styles['board-container']}>\n <MainNavBars className={styles['board-content-container']} route={'board'} />\n </div>\n);\n\nmodule.exports = withCoreSuspender(Board, BoardFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Board = require('./Board');\n\nmodule.exports = Board;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useModelState } = require('stremio/common');\n\nconst useBoard = () => {\n const { core } = useServices();\n const action = React.useMemo(() => ({\n action: 'Load',\n args: {\n model: 'CatalogsWithExtra',\n args: { extra: [] }\n }\n }), []);\n const loadRange = React.useCallback((range) => {\n core.transport.dispatch({\n action: 'CatalogsWithExtra',\n args: {\n action: 'LoadRange',\n args: range\n }\n }, 'board');\n }, []);\n const board = useModelState({ model: 'board', action });\n return [board, loadRange];\n};\n\nmodule.exports = useBoard;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { useModelState } = require('stremio/common');\n\nconst useContinueWatchingPreview = () => {\n return useModelState({ model: 'continue_watching_preview' });\n};\n\nmodule.exports = useContinueWatchingPreview;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useServices } = require('stremio/services');\nconst { CONSTANTS, useBinaryState, useOnScrollToBottom, withCoreSuspender } = require('stremio/common');\nconst { AddonDetailsModal, Button, DelayedRenderer, Image, MainNavBars, MetaItem, MetaPreview, ModalDialog, MultiselectMenu } = require('stremio/components');\nconst useDiscover = require('./useDiscover');\nconst useSelectableInputs = require('./useSelectableInputs');\nconst styles = require('./styles');\n\nconst SCROLL_TO_BOTTOM_THRESHOLD = 400;\n\nconst Discover = ({ urlParams, queryParams }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const [discover, loadNextPage] = useDiscover(urlParams, queryParams);\n const [selectInputs, hasNextPage] = useSelectableInputs(discover);\n const [inputsModalOpen, openInputsModal, closeInputsModal] = useBinaryState(false);\n const [addonModalOpen, openAddonModal, closeAddonModal] = useBinaryState(false);\n const [selectedMetaItemIndex, setSelectedMetaItemIndex] = React.useState(0);\n\n const metasContainerRef = React.useRef();\n const metaPreviewRef = React.useRef();\n\n React.useEffect(() => {\n if (discover.catalog?.content.type === 'Loading') {\n metasContainerRef.current.scrollTop = 0;\n }\n }, [discover.catalog]);\n React.useEffect(() => {\n if (hasNextPage && metasContainerRef.current) {\n const containerHeight = metasContainerRef.current.scrollHeight;\n const viewportHeight = metasContainerRef.current.clientHeight;\n if (containerHeight <= viewportHeight + SCROLL_TO_BOTTOM_THRESHOLD) {\n loadNextPage();\n }\n }\n }, [hasNextPage, loadNextPage]);\n const selectedMetaItem = React.useMemo(() => {\n return discover.catalog !== null &&\n discover.catalog.content.type === 'Ready' &&\n discover.catalog.content.content[selectedMetaItemIndex] ?\n discover.catalog.content.content[selectedMetaItemIndex]\n :\n null;\n }, [discover.catalog, selectedMetaItemIndex]);\n const addToLibrary = React.useCallback(() => {\n if (selectedMetaItem === null) {\n return;\n }\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'AddToLibrary',\n args: selectedMetaItem\n }\n });\n }, [selectedMetaItem]);\n const removeFromLibrary = React.useCallback(() => {\n if (selectedMetaItem === null) {\n return;\n }\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RemoveFromLibrary',\n args: selectedMetaItem.id\n }\n });\n }, [selectedMetaItem]);\n const metaItemsOnFocusCapture = React.useCallback((event) => {\n if (event.target.dataset.index !== null && !isNaN(event.target.dataset.index)) {\n setSelectedMetaItemIndex(parseInt(event.target.dataset.index, 10));\n }\n }, []);\n const metaItemOnClick = React.useCallback((event) => {\n const visible = window.getComputedStyle(metaPreviewRef.current).display !== 'none';\n if (event.currentTarget.dataset.index !== selectedMetaItemIndex.toString() && visible) {\n event.preventDefault();\n event.currentTarget.focus();\n }\n }, [selectedMetaItemIndex]);\n const onScrollToBottom = React.useCallback(() => {\n if (hasNextPage) {\n loadNextPage();\n }\n }, [hasNextPage, loadNextPage]);\n const onScroll = useOnScrollToBottom(onScrollToBottom, SCROLL_TO_BOTTOM_THRESHOLD);\n React.useEffect(() => {\n closeInputsModal();\n closeAddonModal();\n setSelectedMetaItemIndex(0);\n }, [discover.selected]);\n return (\n <MainNavBars className={styles['discover-container']} route={'discover'}>\n <div className={styles['discover-content']}>\n <div className={styles['catalog-container']}>\n <div className={styles['selectable-inputs-container']}>\n {selectInputs.map(({ title, options, value, onSelect }, index) => (\n <MultiselectMenu\n key={index}\n className={styles['select-input']}\n title={title}\n options={options}\n value={value}\n onSelect={onSelect}\n />\n ))}\n <div className={styles['filter-container']}>\n <Button className={styles['filter-button']} title={t('ALL_FILTERS')} onClick={openInputsModal}>\n <Icon className={styles['filter-icon']} name={'filters'} />\n </Button>\n </div>\n </div>\n {\n discover.catalog !== null && !discover.catalog.installed ?\n <div className={styles['missing-addon-warning-container']}>\n <div className={styles['warning-label']}>{t('ERR_ADDON_NOT_INSTALLED')}</div>\n <Button className={styles['install-button']} title={t('INSTALL_ADDON')} onClick={openAddonModal}>\n <div className={styles['label']}>{t('ADDON_INSTALL')}</div>\n </Button>\n </div>\n :\n null\n }\n {\n discover.catalog === null ?\n <DelayedRenderer delay={500}>\n <div className={styles['message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>{t('NO_CATALOG_SELECTED')}</div>\n </div>\n </DelayedRenderer>\n :\n discover.catalog.content.type === 'Err' ?\n <div className={styles['message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>{discover.catalog.content.content}</div>\n </div>\n :\n discover.catalog.content.type === 'Loading' ?\n <div ref={metasContainerRef} className={classnames(styles['meta-items-container'], 'animation-fade-in')}>\n {Array(CONSTANTS.CATALOG_PAGE_SIZE).fill(null).map((_, index) => (\n <div key={index} className={styles['meta-item-placeholder']}>\n <div className={styles['poster-container']} />\n <div className={styles['title-bar-container']}>\n <div className={styles['title-label']} />\n </div>\n </div>\n ))}\n </div>\n :\n <div ref={metasContainerRef} className={classnames(styles['meta-items-container'], 'animation-fade-in')} onScroll={onScroll} onFocusCapture={metaItemsOnFocusCapture}>\n {discover.catalog.content.content.map((metaItem, index) => (\n <MetaItem\n key={index}\n className={classnames({ 'selected': selectedMetaItemIndex === index })}\n type={metaItem.type}\n name={metaItem.name}\n poster={metaItem.poster}\n posterShape={metaItem.posterShape}\n playname={selectedMetaItemIndex === index}\n deepLinks={metaItem.deepLinks}\n watched={metaItem.watched}\n data-index={index}\n onClick={metaItemOnClick}\n />\n ))}\n </div>\n }\n </div>\n {\n selectedMetaItem !== null ?\n <MetaPreview\n className={styles['meta-preview-container']}\n compact={true}\n ref={metaPreviewRef}\n name={selectedMetaItem.name}\n logo={selectedMetaItem.logo}\n background={selectedMetaItem.poster}\n runtime={selectedMetaItem.runtime}\n releaseInfo={selectedMetaItem.releaseInfo}\n released={selectedMetaItem.released}\n description={selectedMetaItem.description}\n links={selectedMetaItem.links}\n deepLinks={selectedMetaItem.deepLinks}\n trailerStreams={selectedMetaItem.trailerStreams}\n inLibrary={selectedMetaItem.inLibrary}\n toggleInLibrary={selectedMetaItem.inLibrary ? removeFromLibrary : addToLibrary}\n metaId={selectedMetaItem.id}\n like={selectedMetaItem.like}\n />\n :\n discover.catalog !== null && discover.catalog.content.type === 'Loading' ?\n <div className={styles['meta-preview-container']} />\n :\n null\n }\n </div>\n {\n inputsModalOpen ?\n <ModalDialog title={t('CATALOG_FILTERS')} className={styles['selectable-inputs-modal']} onCloseRequest={closeInputsModal}>\n {selectInputs.map(({ title, options, value, onSelect }, index) => (\n <MultiselectMenu\n key={index}\n className={styles['select-input']}\n title={title}\n options={options}\n value={value}\n onSelect={onSelect}\n />\n ))}\n </ModalDialog>\n :\n null\n }\n {\n addonModalOpen && discover.selected !== null ?\n <AddonDetailsModal transportUrl={discover.selected.request.base} onCloseRequest={closeAddonModal} />\n :\n null\n }\n </MainNavBars>\n );\n};\n\nDiscover.propTypes = {\n urlParams: PropTypes.shape({\n transportUrl: PropTypes.string,\n type: PropTypes.string,\n catalogId: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst DiscoverFallback = () => (\n <MainNavBars className={styles['discover-container']} route={'discover'} />\n);\n\nmodule.exports = withCoreSuspender(Discover, DiscoverFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Discover = require('./Discover');\n\nmodule.exports = Discover;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst UrlUtils = require('url');\nconst { useServices } = require('stremio/services');\nconst { useModelState } = require('stremio/common');\n\nconst map = (discover) => ({\n ...discover,\n catalog: discover.catalog !== null && discover.catalog.content.type === 'Ready' ?\n {\n ...discover.catalog,\n content: {\n ...discover.catalog.content,\n content: discover.catalog.content.content.map((metaItem) => ({\n ...metaItem,\n released: new Date(typeof metaItem.released === 'string' ? metaItem.released : NaN),\n }))\n }\n }\n :\n discover.catalog\n});\n\nconst useDiscover = (urlParams, queryParams) => {\n const { core } = useServices();\n const loadNextPage = React.useCallback(() => {\n core.transport.dispatch({\n action: 'CatalogWithFilters',\n args: {\n action: 'LoadNextPage'\n }\n }, 'discover');\n }, []);\n const action = React.useMemo(() => {\n if (typeof urlParams.transportUrl === 'string' && typeof urlParams.type === 'string' && typeof urlParams.catalogId === 'string') {\n const { hostname } = UrlUtils.parse(urlParams.transportUrl);\n if (typeof hostname === 'string' && hostname.length > 0) {\n return {\n action: 'Load',\n args: {\n model: 'CatalogWithFilters',\n args: {\n request: {\n base: urlParams.transportUrl,\n path: {\n resource: 'catalog',\n type: urlParams.type,\n id: urlParams.catalogId,\n extra: Array.from(queryParams.entries())\n }\n }\n }\n }\n };\n }\n } else {\n return {\n action: 'Load',\n args: {\n model: 'CatalogWithFilters',\n args: null\n }\n };\n }\n\n return {\n action: 'Unload'\n };\n }, [urlParams, queryParams]);\n const discover = useModelState({ model: 'discover', action, map, deps: ['ctx'] });\n return [discover, loadNextPage];\n};\n\nmodule.exports = useDiscover;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslate } = require('stremio/common');\n\nconst mapSelectableInputs = (discover, t) => {\n const selectedType = discover.selectable.types.find(({ selected }) => selected);\n const typeSelect = {\n options: discover.selectable.types\n .map(({ type, deepLinks }) => ({\n value: deepLinks.discover,\n label: t.stringWithPrefix(type, 'TYPE_')\n })),\n value: selectedType\n ? selectedType.deepLinks.discover\n : undefined,\n title: discover.selected !== null\n ? () => t.stringWithPrefix(discover.selected.request.path.type, 'TYPE_')\n : t.string('SELECT_TYPE'),\n onSelect: (value) => {\n window.location = value;\n }\n };\n const catalogSelect = {\n options: discover.selectable.catalogs\n .map(({ id, name, addon, deepLinks }) => ({\n value: deepLinks.discover,\n label: t.catalogTitle({ addon, id, name }),\n title: `${name} (${addon.manifest.name})`\n })),\n value: discover.selectable.catalogs\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.discover),\n title: discover.selected !== null\n ? () => {\n const selectableCatalog = discover.selectable.catalogs\n .find(({ id }) => id === discover.selected.request.path.id);\n return selectableCatalog ? t.catalogTitle(selectableCatalog, false) : discover.selected.request.path.id;\n }\n :\n t.string('SELECT_CATALOG'),\n onSelect: (value) => {\n window.location =value;\n }\n };\n const extraSelects = discover.selectable.extra.map(({ name, isRequired, options }) => {\n const selectedExtra = options.find(({ selected }) => selected);\n return {\n isRequired: isRequired,\n options: options.map(({ value, deepLinks }) => ({\n label: typeof value === 'string' ? t.string(value) : t.string('NONE'),\n value: JSON.stringify({\n href: deepLinks.discover,\n value\n })\n })),\n value: JSON.stringify({\n href: selectedExtra.deepLinks.discover,\n value: selectedExtra.value,\n }),\n title: options.some(({ selected, value }) => selected && value === null) ?\n () => t.string(name.toUpperCase())\n : t.string(selectedExtra.value),\n onSelect: (value) => {\n const { href } = JSON.parse(value);\n window.location = href;\n }\n };\n });\n return [[typeSelect, catalogSelect, ...extraSelects], discover.selectable.nextPage];\n};\n\nconst useSelectableInputs = (discover) => {\n const t = useTranslate();\n const selectableInputs = React.useMemo(() => {\n return mapSelectableInputs(discover, t);\n }, [discover.selected, discover.selectable]);\n return selectableInputs;\n};\n\nmodule.exports = useSelectableInputs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst { TextInput } = require('stremio/components');\n\nconst CredentialsTextInput = React.forwardRef((props, ref) => {\n const onKeyDown = React.useCallback((event) => {\n if (typeof props.onKeyDown === 'function') {\n props.onKeyDown(event);\n }\n\n if (!event.nativeEvent.navigationPrevented) {\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {\n event.nativeEvent.spatialNavigationPrevented = true;\n }\n\n if (!event.shiftKey) {\n if (event.key === 'ArrowDown') {\n window.navigate('down');\n } else if (event.key === 'ArrowUp') {\n window.navigate('up');\n }\n }\n }\n }, [props.onKeyDown]);\n return (\n <TextInput {...props} ref={ref} onKeyDown={onKeyDown} />\n );\n});\n\nCredentialsTextInput.displayName = 'CredentialsTextInput';\n\nCredentialsTextInput.propTypes = {\n onKeyDown: PropTypes.func\n};\n\nmodule.exports = CredentialsTextInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst CredentialsTextInput = require('./CredentialsTextInput');\n\nmodule.exports = CredentialsTextInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Modal, useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\nconst { useBinaryState } = require('stremio/common');\nconst { Button, Image, Checkbox } = require('stremio/components');\nconst CredentialsTextInput = require('./CredentialsTextInput');\nconst PasswordResetModal = require('./PasswordResetModal');\nconst useFacebookLogin = require('./useFacebookLogin');\nconst { default: useAppleLogin } = require('./useAppleLogin');\n\nconst styles = require('./styles');\n\nconst SIGNUP_FORM = 'signup';\nconst LOGIN_FORM = 'login';\n\nconst Intro = ({ queryParams }) => {\n const { core } = useServices();\n const { t } = useTranslation();\n const routeFocused = useRouteFocused();\n const [startFacebookLogin, stopFacebookLogin] = useFacebookLogin();\n const [startAppleLogin, stopAppleLogin] = useAppleLogin();\n const emailRef = React.useRef(null);\n const passwordRef = React.useRef(null);\n const confirmPasswordRef = React.useRef(null);\n const termsRef = React.useRef(null);\n const privacyPolicyRef = React.useRef(null);\n const marketingRef = React.useRef(null);\n const errorRef = React.useRef(null);\n const [passwordRestModalOpen, openPasswordRestModal, closePasswordResetModal] = useBinaryState(false);\n const [loaderModalOpen, openLoaderModal, closeLoaderModal] = useBinaryState(false);\n const [state, dispatch] = React.useReducer(\n (state, action) => {\n switch (action.type) {\n case 'set-form':\n if (state.form !== action.form) {\n return {\n form: action.form,\n email: '',\n password: '',\n confirmPassword: '',\n termsAccepted: false,\n privacyPolicyAccepted: false,\n marketingAccepted: false,\n error: ''\n };\n }\n return state;\n case 'change-credentials':\n return {\n ...state,\n error: '',\n [action.name]: action.value\n };\n case 'toggle-checkbox':\n return {\n ...state,\n error: '',\n [action.name]: !state[action.name]\n };\n case 'error':\n return {\n ...state,\n error: action.error\n };\n default:\n return state;\n }\n },\n {\n form: [LOGIN_FORM, SIGNUP_FORM].includes(queryParams.get('form')) ? queryParams.get('form') : SIGNUP_FORM,\n email: '',\n password: '',\n confirmPassword: '',\n termsAccepted: false,\n privacyPolicyAccepted: false,\n marketingAccepted: false,\n error: ''\n }\n );\n const loginWithFacebook = React.useCallback(() => {\n openLoaderModal();\n startFacebookLogin()\n .then(({ email, password }) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Authenticate',\n args: {\n type: 'Login',\n email,\n password,\n facebook: true\n }\n }\n });\n })\n .catch((error) => {\n closeLoaderModal();\n dispatch({ type: 'error', error: error.message });\n });\n }, []);\n const cancelLoginWithFacebook = React.useCallback(() => {\n stopFacebookLogin();\n closeLoaderModal();\n }, []);\n const loginWithApple = React.useCallback(() => {\n openLoaderModal();\n startAppleLogin()\n .then(({ token, sub, email, name }) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Authenticate',\n args: {\n type: 'Apple',\n token,\n sub,\n email,\n name\n }\n }\n });\n })\n .catch((error) => {\n closeLoaderModal();\n dispatch({ type: 'error', error: error.message });\n });\n }, []);\n const cancelLoginWithApple = React.useCallback(() => {\n stopAppleLogin();\n closeLoaderModal();\n }, []);\n const loginWithEmail = React.useCallback(() => {\n if (typeof state.email !== 'string' || state.email.length === 0 || !emailRef.current.validity.valid) {\n dispatch({ type: 'error', error: 'Invalid email' });\n return;\n }\n if (typeof state.password !== 'string' || state.password.length === 0) {\n dispatch({ type: 'error', error: 'Invalid password' });\n return;\n }\n openLoaderModal();\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Authenticate',\n args: {\n type: 'Login',\n email: state.email,\n password: state.password\n }\n }\n });\n }, [state.email, state.password]);\n const loginAsGuest = React.useCallback(() => {\n if (!state.termsAccepted) {\n dispatch({ type: 'error', error: 'You must accept the Terms of Service' });\n return;\n }\n window.location = '#/';\n }, [state.termsAccepted]);\n const signup = React.useCallback(() => {\n if (typeof state.email !== 'string' || state.email.length === 0 || !emailRef.current.validity.valid) {\n dispatch({ type: 'error', error: 'Invalid email' });\n return;\n }\n if (typeof state.password !== 'string' || state.password.length === 0) {\n dispatch({ type: 'error', error: 'Invalid password' });\n return;\n }\n if (state.password !== state.confirmPassword) {\n dispatch({ type: 'error', error: 'Passwords do not match' });\n return;\n }\n if (!state.termsAccepted) {\n dispatch({ type: 'error', error: 'You must accept the Terms of Service' });\n return;\n }\n if (!state.privacyPolicyAccepted) {\n dispatch({ type: 'error', error: 'You must accept the Privacy Policy' });\n return;\n }\n openLoaderModal();\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Authenticate',\n args: {\n type: 'Register',\n email: state.email,\n password: state.password,\n gdpr_consent: {\n tos: state.termsAccepted,\n privacy: state.privacyPolicyAccepted,\n marketing: state.marketingAccepted,\n from: 'web'\n }\n }\n }\n });\n }, [state.email, state.password, state.confirmPassword, state.termsAccepted, state.privacyPolicyAccepted, state.marketingAccepted]);\n const emailOnChange = React.useCallback((event) => {\n dispatch({\n type: 'change-credentials',\n name: 'email',\n value: event.currentTarget.value\n });\n }, []);\n const emailOnSubmit = React.useCallback(() => {\n passwordRef.current.focus();\n }, []);\n const passwordOnChange = React.useCallback((event) => {\n dispatch({\n type: 'change-credentials',\n name: 'password',\n value: event.currentTarget.value\n });\n }, []);\n const passwordOnSubmit = React.useCallback(() => {\n if (state.form === SIGNUP_FORM) {\n confirmPasswordRef.current.focus();\n } else {\n loginWithEmail();\n }\n }, [state.form, loginWithEmail]);\n const confirmPasswordOnChange = React.useCallback((event) => {\n dispatch({\n type: 'change-credentials',\n name: 'confirmPassword',\n value: event.currentTarget.value\n });\n }, []);\n const confirmPasswordOnSubmit = React.useCallback(() => {\n termsRef.current.focus();\n }, []);\n const toggleTermsAccepted = React.useCallback(() => {\n dispatch({ type: 'toggle-checkbox', name: 'termsAccepted' });\n }, []);\n const togglePrivacyPolicyAccepted = React.useCallback(() => {\n dispatch({ type: 'toggle-checkbox', name: 'privacyPolicyAccepted' });\n }, []);\n const toggleMarketingAccepted = React.useCallback(() => {\n dispatch({ type: 'toggle-checkbox', name: 'marketingAccepted' });\n }, []);\n const switchFormOnClick = React.useCallback(() => {\n const queryParams = new URLSearchParams([['form', state.form === SIGNUP_FORM ? LOGIN_FORM : SIGNUP_FORM]]);\n window.location = `#/intro?${queryParams.toString()}`;\n }, [state.form]);\n React.useEffect(() => {\n if ([LOGIN_FORM, SIGNUP_FORM].includes(queryParams.get('form'))) {\n dispatch({ type: 'set-form', form: queryParams.get('form') });\n }\n }, [queryParams]);\n React.useEffect(() => {\n if (routeFocused && typeof state.error === 'string' && state.error.length > 0) {\n errorRef.current.scrollIntoView();\n }\n }, [state.error]);\n React.useEffect(() => {\n if (routeFocused) {\n emailRef.current.focus();\n }\n }, [state.form, routeFocused]);\n React.useEffect(() => {\n const onCoreEvent = ({ event, args }) => {\n switch (event) {\n case 'UserAuthenticated': {\n closeLoaderModal();\n if (routeFocused) {\n window.location = '#/';\n }\n break;\n }\n case 'Error': {\n if (args.source.event === 'UserAuthenticated') {\n closeLoaderModal();\n }\n\n break;\n }\n }\n };\n core.transport.on('CoreEvent', onCoreEvent);\n return () => {\n core.transport.off('CoreEvent', onCoreEvent);\n };\n }, [routeFocused]);\n return (\n <div className={styles['intro-container']}>\n <div className={styles['background-container']} />\n <div className={styles['heading-container']}>\n <div className={styles['logo-container']}>\n <Image className={styles['logo']} src={require('/images/logo.png')} alt={' '} />\n </div>\n <div className={styles['title-container']}>\n {t('WEBSITE_SLOGAN_NEW_NEW')}\n </div>\n <div className={styles['slogan-container']}>\n {t('WEBSITE_SLOGAN_ALL')}\n </div>\n </div>\n <div className={styles['content-container']}>\n <div className={styles['form-container']}>\n <CredentialsTextInput\n ref={emailRef}\n className={styles['credentials-text-input']}\n type={'email'}\n placeholder={t('EMAIL')}\n value={state.email}\n onChange={emailOnChange}\n onSubmit={emailOnSubmit}\n />\n <CredentialsTextInput\n ref={passwordRef}\n className={styles['credentials-text-input']}\n type={'password'}\n placeholder={t('PASSWORD')}\n value={state.password}\n onChange={passwordOnChange}\n onSubmit={passwordOnSubmit}\n />\n {\n state.form === SIGNUP_FORM ?\n <React.Fragment>\n <CredentialsTextInput\n ref={confirmPasswordRef}\n className={styles['credentials-text-input']}\n type={'password'}\n placeholder={t('PASSWORD_CONFIRM')}\n value={state.confirmPassword}\n onChange={confirmPasswordOnChange}\n onSubmit={confirmPasswordOnSubmit}\n />\n <Checkbox\n ref={termsRef}\n label={t('READ_AND_AGREE')}\n link={t('TOS')}\n href={'https://www.stremio.com/tos'}\n checked={state.termsAccepted}\n onChange={toggleTermsAccepted}\n />\n <Checkbox\n ref={privacyPolicyRef}\n label={t('READ_AND_AGREE')}\n link={t('PRIVACY_POLICY')}\n href={'https://www.stremio.com/privacy'}\n checked={state.privacyPolicyAccepted}\n onChange={togglePrivacyPolicyAccepted}\n />\n <Checkbox\n ref={marketingRef}\n label={t('MARKETING_AGREE')}\n checked={state.marketingAccepted}\n onChange={toggleMarketingAccepted}\n />\n </React.Fragment>\n :\n <div className={styles['forgot-password-link-container']}>\n <Button className={styles['forgot-password-link']} onClick={openPasswordRestModal}>{t('FORGOT_PASSWORD')}</Button>\n </div>\n }\n {\n state.error && state.error.length > 0 ?\n <div ref={errorRef} className={styles['error-message']}>{state.error}</div>\n :\n null\n }\n <Button className={classnames(styles['form-button'], styles['submit-button'])} onClick={state.form === SIGNUP_FORM ? signup : loginWithEmail}>\n <div className={styles['label']}>{state.form === SIGNUP_FORM ? t('SIGN_UP') : t('LOG_IN')}</div>\n </Button>\n </div>\n <div className={styles['options-container']}>\n <Button className={classnames(styles['form-button'], styles['facebook-button'])} onClick={loginWithFacebook}>\n <Icon className={styles['icon']} name={'facebook'} />\n <div className={styles['label']}>{t('FB_LOGIN')}</div>\n </Button>\n <Button className={classnames(styles['form-button'], styles['apple-button'])} onClick={loginWithApple}>\n <Icon className={styles['icon']} name={'macos'} />\n <div className={styles['label']}>{t('APPLE_LOGIN')}</div>\n </Button>\n {\n state.form === SIGNUP_FORM ?\n <Button className={classnames(styles['form-button'], styles['login-form-button'])} onClick={switchFormOnClick}>\n <div className={classnames(styles['label'], styles['uppercase'])}>{t('LOG_IN')}</div>\n </Button>\n :\n null\n }\n {\n state.form === LOGIN_FORM ?\n <Button className={classnames(styles['form-button'], styles['signup-form-button'])} onClick={switchFormOnClick}>\n <div className={classnames(styles['label'], styles['uppercase'])}>{t('SIGN_UP_EMAIL')}</div>\n </Button>\n :\n null\n }\n {\n state.form === SIGNUP_FORM ?\n <Button className={classnames(styles['form-button'], styles['guest-login-button'])} onClick={loginAsGuest}>\n <div className={classnames(styles['label'], styles['uppercase'])}>{t('GUEST_LOGIN')}</div>\n </Button>\n :\n null\n }\n </div>\n </div>\n {\n passwordRestModalOpen ?\n <PasswordResetModal email={state.email} onCloseRequest={closePasswordResetModal} />\n :\n null\n }\n {\n loaderModalOpen ?\n <Modal className={styles['loading-modal-container']}>\n <div className={styles['loader-container']}>\n <Icon className={styles['icon']} name={'person'} />\n <div className={styles['label']}>{t('AUTHENTICATING')}</div>\n <Button className={styles['button']} onClick={cancelLoginWithFacebook && cancelLoginWithApple}>\n {t('BUTTON_CANCEL')}\n </Button>\n </div>\n </Modal>\n :\n null\n }\n </div>\n );\n};\n\nIntro.propTypes = {\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nmodule.exports = Intro;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst { useRouteFocused } = require('stremio-router');\nconst { usePlatform } = require('stremio/common');\nconst { ModalDialog } = require('stremio/components');\nconst CredentialsTextInput = require('../CredentialsTextInput');\nconst styles = require('./styles');\n\nconst PasswordResetModal = ({ email, onCloseRequest }) => {\n const { t } = useTranslation();\n const routeFocused = useRouteFocused();\n const platform = usePlatform();\n const [error, setError] = React.useState('');\n const emailRef = React.useRef(null);\n const goToPasswordReset = React.useCallback(() => {\n emailRef.current.value.length > 0 && emailRef.current.validity.valid ?\n platform.openExternal('https://www.strem.io/reset-password/' + emailRef.current.value, '_blank')\n :\n setError('Invalid email');\n }, []);\n const passwordResetModalButtons = React.useMemo(() => {\n return [\n {\n className: styles['cancel-button'],\n label: t('BUTTON_CANCEL'),\n props: {\n onClick: onCloseRequest\n }\n },\n {\n label: t('SEND'),\n props: {\n onClick: goToPasswordReset\n }\n }\n ];\n }, [onCloseRequest]);\n const emailOnChange = React.useCallback(() => {\n setError('');\n }, []);\n React.useEffect(() => {\n if (routeFocused) {\n emailRef.current.focus();\n }\n }, [routeFocused]);\n return (\n <ModalDialog className={styles['password-reset-modal-container']} title={t('PASSWORD_RESET')} buttons={passwordResetModalButtons} onCloseRequest={onCloseRequest}>\n <CredentialsTextInput\n ref={emailRef}\n className={styles['credentials-text-input']}\n type={'email'}\n placeholder={'Email'}\n defaultValue={typeof email === 'string' ? email : ''}\n onChange={emailOnChange}\n onSubmit={goToPasswordReset}\n />\n {\n error.length > 0 ?\n <div className={styles['error-message']}>{error}</div>\n :\n null\n }\n </ModalDialog>\n );\n};\n\nPasswordResetModal.propTypes = {\n email: PropTypes.string,\n onCloseRequest: PropTypes.func\n};\n\nmodule.exports = PasswordResetModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst PasswordResetModal = require('./PasswordResetModal');\n\nmodule.exports = PasswordResetModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Intro = require('./Intro');\n\nmodule.exports = Intro;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst NotFound = require('stremio/routes/NotFound');\nconst { useProfile, useNotifications, routesRegexp, useOnScrollToBottom, withCoreSuspender } = require('stremio/common');\nconst { DelayedRenderer, Chips, Image, MainNavBars, LibItem, MultiselectMenu } = require('stremio/components');\nconst { default: Placeholder } = require('./Placeholder');\nconst useLibrary = require('./useLibrary');\nconst useSelectableInputs = require('./useSelectableInputs');\nconst styles = require('./styles');\n\nconst SCROLL_TO_BOTTOM_TRESHOLD = 400;\n\nfunction withModel(Library) {\n const withModel = ({ urlParams, queryParams }) => {\n const model = React.useMemo(() => {\n return typeof urlParams.path === 'string' ?\n urlParams.path.match(routesRegexp.library.regexp) ?\n 'library'\n :\n urlParams.path.match(routesRegexp.continuewatching.regexp) ?\n 'continue_watching'\n :\n null\n :\n null;\n }, [urlParams.path]);\n if (model === null) {\n return (\n <NotFound />\n );\n }\n\n return (\n <Library\n key={model}\n model={model}\n urlParams={urlParams}\n queryParams={queryParams}\n />\n );\n };\n withModel.displayName = 'withModel';\n return withModel;\n}\n\nconst Library = ({ model, urlParams, queryParams }) => {\n const { t } = useTranslation();\n const profile = useProfile();\n const notifications = useNotifications();\n const [library, loadNextPage] = useLibrary(model, urlParams, queryParams);\n const [typeSelect, sortChips, hasNextPage] = useSelectableInputs(library);\n const scrollContainerRef = React.useRef(null);\n const onScrollToBottom = React.useCallback(() => {\n if (hasNextPage) {\n loadNextPage();\n }\n }, [hasNextPage, loadNextPage]);\n const onScroll = useOnScrollToBottom(onScrollToBottom, SCROLL_TO_BOTTOM_TRESHOLD);\n React.useLayoutEffect(() => {\n if (scrollContainerRef.current !== null && library.selected && library.selected.request.page === 1 && library.catalog.length !== 0) {\n scrollContainerRef.current.scrollTop = 0;\n }\n }, [profile.auth, library.selected]);\n React.useEffect(() => {\n if (!library.selected?.type && typeSelect.value) {\n window.location = typeSelect.value;\n }\n }, [typeSelect.value, library.selected]);\n return (\n <MainNavBars className={styles['library-container']} route={model}>\n {\n profile.auth !== null ?\n <div className={styles['library-content']}>\n <div className={styles['selectable-inputs-container']}>\n <MultiselectMenu {...typeSelect} className={styles['select-input-container']} />\n <Chips {...sortChips} className={styles['select-input-container']} />\n </div>\n {\n library.selected === null ?\n <DelayedRenderer delay={500}>\n <div className={styles['message-container']}>\n <Image\n className={styles['image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['message-label']}>{model === 'library' ? t('LIBRARY_NOT_LOADED') : t('BOARD_CONTINUE_WATCHING_NOT_LOADED')}</div>\n </div>\n </DelayedRenderer>\n :\n library.catalog.length === 0 ?\n <div className={styles['message-container']}>\n <Image\n className={styles['image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['message-label']}>{model === 'library' ? t('LIBRARY_EMPTY') : t('BOARD_CONTINUE_WATCHING_EMPTY')}</div>\n </div>\n :\n <div ref={scrollContainerRef} className={classnames(styles['meta-items-container'], 'animation-fade-in')} onScroll={onScroll}>\n {\n library.catalog.map((libItem, index) => (\n <LibItem {...libItem} notifications={notifications} removable={model === 'library'} key={index} />\n ))\n }\n </div>\n }\n </div>\n :\n <Placeholder />\n }\n </MainNavBars>\n );\n};\n\nLibrary.propTypes = {\n model: PropTypes.oneOf(['library', 'continue_watching']),\n urlParams: PropTypes.shape({\n type: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst LibraryFallback = ({ model }) => (\n <MainNavBars className={styles['library-container']} route={model} />\n);\n\nLibraryFallback.propTypes = Library.propTypes;\n\nmodule.exports = withModel(withCoreSuspender(Library, LibraryFallback));\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Library = require('./Library');\n\nmodule.exports = Library;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useModelState } = require('stremio/common');\n\nconst useLibrary = (model, urlParams, queryParams) => {\n const { core } = useServices();\n const loadNextPage = React.useCallback(() => {\n core.transport.dispatch({\n action: 'LibraryWithFilters',\n args: {\n action: 'LoadNextPage',\n }\n }, 'library');\n }, []);\n const action = React.useMemo(() => ({\n action: 'Load',\n args: {\n model: 'LibraryWithFilters',\n args: {\n request: {\n type: typeof urlParams.type === 'string' ? urlParams.type : null,\n sort: queryParams.has('sort') ? queryParams.get('sort') : undefined,\n }\n }\n }\n }), [urlParams, queryParams]);\n const library = useModelState({ model, action });\n return [library, loadNextPage];\n};\n\nmodule.exports = useLibrary;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslate } = require('stremio/common');\nconst mapSelectableInputs = (library, t) => {\n const selectedType = library.selectable.types.find(({ selected }) => selected) || library.selectable.types.find(({ type }) => type === null);\n const typeSelect = {\n options: library.selectable.types\n .map(({ type, deepLinks }) => ({\n value: deepLinks.library,\n label: type === null ? t.string('TYPE_ALL') : t.stringWithPrefix(type, 'TYPE_')\n })),\n value: selectedType?.deepLinks.library,\n onSelect: (value) => {\n window.location = value;\n }\n };\n const sortChips = {\n options: library.selectable.sorts\n .map(({ sort, deepLinks }) => ({\n value: deepLinks.library,\n label: t.stringWithPrefix(sort.toUpperCase(), 'SORT_')\n })),\n selected: library.selectable.sorts\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.library),\n onSelect: (value) => {\n window.location = value;\n }\n };\n return [typeSelect, sortChips, library.selectable.nextPage];\n};\n\nconst useSelectableInputs = (library) => {\n const t = useTranslate();\n const selectableInputs = React.useMemo(() => {\n return mapSelectableInputs(library, t);\n }, [library]);\n return selectableInputs;\n};\n\nmodule.exports = useSelectableInputs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useServices } = require('stremio/services');\nconst { withCoreSuspender } = require('stremio/common');\nconst { VerticalNavBar, HorizontalNavBar, DelayedRenderer, Image, MetaPreview, ModalDialog } = require('stremio/components');\nconst StreamsList = require('./StreamsList');\nconst VideosList = require('./VideosList');\nconst useMetaDetails = require('./useMetaDetails');\nconst useSeason = require('./useSeason');\nconst useMetaExtensionTabs = require('./useMetaExtensionTabs');\nconst styles = require('./styles');\n\nconst MetaDetails = ({ urlParams, queryParams }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const metaDetails = useMetaDetails(urlParams);\n const [season, setSeason] = useSeason(urlParams, queryParams);\n const [tabs, metaExtension, clearMetaExtension] = useMetaExtensionTabs(metaDetails.metaExtensions);\n const [metaPath, streamPath] = React.useMemo(() => {\n return metaDetails.selected !== null ?\n [metaDetails.selected.metaPath, metaDetails.selected.streamPath]\n :\n [null, null];\n }, [metaDetails.selected]);\n const video = React.useMemo(() => {\n return streamPath !== null && metaDetails.metaItem !== null && metaDetails.metaItem.content.type === 'Ready' ?\n metaDetails.metaItem.content.content.videos.reduce((result, video) => {\n if (video.id === streamPath.id) {\n return video;\n }\n\n return result;\n }, null)\n :\n null;\n }, [metaDetails.metaItem, streamPath]);\n const addToLibrary = React.useCallback(() => {\n if (metaDetails.metaItem === null || metaDetails.metaItem.content.type !== 'Ready') {\n return;\n }\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'AddToLibrary',\n args: metaDetails.metaItem.content.content\n }\n });\n }, [metaDetails]);\n const removeFromLibrary = React.useCallback(() => {\n if (metaDetails.metaItem === null || metaDetails.metaItem.content.type !== 'Ready') {\n return;\n }\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RemoveFromLibrary',\n args: metaDetails.metaItem.content.content.id\n }\n });\n }, [metaDetails]);\n const toggleNotifications = React.useCallback(() => {\n if (metaDetails.libraryItem) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'ToggleLibraryItemNotifications',\n args: [metaDetails.libraryItem._id, !metaDetails.libraryItem.state.noNotif],\n }\n });\n }\n }, [metaDetails.libraryItem]);\n const seasonOnSelect = React.useCallback((event) => {\n setSeason(event.value);\n }, [setSeason]);\n const handleEpisodeSearch = React.useCallback((season, episode) => {\n const searchVideoHash = encodeURIComponent(`${urlParams.id}:${season}:${episode}`);\n const url = window.location.hash;\n const searchVideoPath = url.replace(encodeURIComponent(urlParams.videoId), searchVideoHash);\n window.location = searchVideoPath;\n }, [urlParams, window.location]);\n\n const renderBackgroundImageFallback = React.useCallback(() => null, []);\n const renderBackground = React.useMemo(() => !!(\n metaPath &&\n metaDetails?.metaItem &&\n metaDetails.metaItem.content.type !== 'Loading' &&\n typeof metaDetails.metaItem.content.content?.background === 'string' &&\n metaDetails.metaItem.content.content.background.length > 0\n ), [metaPath, metaDetails]);\n\n return (\n <div className={styles['metadetails-container']}>\n {\n renderBackground ?\n <div className={styles['background-image-layer']}>\n <Image\n className={styles['background-image']}\n src={metaDetails.metaItem.content.content.background}\n renderFallback={renderBackgroundImageFallback}\n alt={' '}\n />\n </div>\n :\n null\n }\n <HorizontalNavBar\n className={styles['nav-bar']}\n backButton={true}\n fullscreenButton={true}\n navMenu={true}\n />\n <div className={styles['metadetails-content']}>\n {\n tabs.length > 0 ?\n <VerticalNavBar\n className={styles['vertical-nav-bar']}\n tabs={tabs}\n selected={metaExtension !== null ? metaExtension.url : null}\n />\n :\n null\n }\n {\n metaPath === null ?\n <DelayedRenderer delay={500}>\n <div className={styles['meta-message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>{t('ERR_NO_META_SELECTED')}</div>\n </div>\n </DelayedRenderer>\n :\n metaDetails.metaItem === null ?\n <div className={styles['meta-message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>{t('ERR_NO_ADDONS_FOR_META')}</div>\n </div>\n :\n metaDetails.metaItem.content.type === 'Err' ?\n <div className={styles['meta-message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>{t('ERR_NO_META_FOUND')}</div>\n </div>\n :\n metaDetails.metaItem.content.type === 'Loading' ?\n <MetaPreview.Placeholder className={styles['meta-preview']} />\n :\n <React.Fragment>\n <MetaPreview\n className={classnames(styles['meta-preview'], 'animation-fade-in')}\n name={metaDetails.metaItem.content.content.name}\n logo={metaDetails.metaItem.content.content.logo}\n runtime={metaDetails.metaItem.content.content.runtime}\n releaseInfo={metaDetails.metaItem.content.content.releaseInfo}\n released={metaDetails.metaItem.content.content.released}\n description={\n video !== null && typeof video.overview === 'string' && video.overview.length > 0 ?\n video.overview\n :\n metaDetails.metaItem.content.content.description\n }\n links={metaDetails.metaItem.content.content.links}\n trailerStreams={metaDetails.metaItem.content.content.trailerStreams}\n inLibrary={metaDetails.metaItem.content.content.inLibrary}\n toggleInLibrary={metaDetails.metaItem.content.content.inLibrary ? removeFromLibrary : addToLibrary}\n metaId={metaDetails.metaItem.content.content.id}\n ratingInfo={metaDetails.ratingInfo}\n />\n </React.Fragment>\n }\n <div className={styles['spacing']} />\n {\n streamPath !== null ?\n <StreamsList\n className={styles['streams-list']}\n streams={metaDetails.streams}\n video={video}\n type={streamPath.type}\n onEpisodeSearch={handleEpisodeSearch}\n />\n :\n metaPath !== null ?\n <VideosList\n className={styles['videos-list']}\n metaItem={metaDetails.metaItem}\n libraryItem={metaDetails.libraryItem}\n season={season}\n seasonOnSelect={seasonOnSelect}\n toggleNotifications={toggleNotifications}\n />\n :\n null\n }\n </div>\n {\n metaExtension !== null ?\n <ModalDialog\n className={styles['meta-extension-modal-container']}\n title={metaExtension.name}\n onCloseRequest={clearMetaExtension}>\n <iframe\n className={styles['meta-extension-modal-iframe']}\n sandbox={'allow-forms allow-scripts allow-same-origin'}\n src={metaExtension.url}\n />\n </ModalDialog>\n :\n null\n }\n </div>\n );\n};\n\nMetaDetails.propTypes = {\n urlParams: PropTypes.shape({\n type: PropTypes.string,\n id: PropTypes.string,\n videoId: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst MetaDetailsFallback = () => (\n <div className={styles['metadetails-container']}>\n <HorizontalNavBar\n className={styles['nav-bar']}\n backButton={true}\n fullscreenButton={true}\n navMenu={true}\n />\n </div>\n);\n\nmodule.exports = withCoreSuspender(MetaDetails, MetaDetailsFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { t } = require('i18next');\nconst { useProfile, usePlatform, useToast, useBinaryState } = require('stremio/common');\nconst { Button, Image, Popup } = require('stremio/components');\nconst { useServices } = require('stremio/services');\nconst { useRouteFocused } = require('stremio-router');\nconst StreamPlaceholder = require('./StreamPlaceholder');\nconst styles = require('./styles');\n\nconst Stream = ({ className, videoId, videoReleased, addonName, name, description, thumbnail, progress, deepLinks, ...props }) => {\n const profile = useProfile();\n const toast = useToast();\n const platform = usePlatform();\n const { core } = useServices();\n const routeFocused = useRouteFocused();\n\n const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);\n\n const popupLabelOnMouseUp = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented) {\n if (event.nativeEvent.ctrlKey || event.nativeEvent.button === 2) {\n event.preventDefault();\n toggleMenu();\n }\n }\n }, []);\n const popupLabelOnContextMenu = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented && !event.nativeEvent.ctrlKey) {\n event.preventDefault();\n }\n }, [toggleMenu]);\n const popupLabelOnLongPress = React.useCallback((event) => {\n if (event.nativeEvent.pointerType !== 'mouse' && !event.nativeEvent.togglePopupPrevented) {\n toggleMenu();\n }\n }, [toggleMenu]);\n const popupMenuOnPointerDown = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnContextMenu = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnClick = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnKeyDown = React.useCallback((event) => {\n event.nativeEvent.buttonClickPrevented = true;\n }, []);\n\n const href = React.useMemo(() => {\n return deepLinks ?\n deepLinks.externalPlayer ?\n deepLinks.externalPlayer.web ?\n deepLinks.externalPlayer.web\n :\n deepLinks.externalPlayer.openPlayer ?\n deepLinks.externalPlayer.openPlayer[platform.name] ?\n deepLinks.externalPlayer.openPlayer[platform.name]\n :\n deepLinks.externalPlayer.playlist\n :\n deepLinks.player\n :\n deepLinks.player\n :\n null;\n }, [deepLinks]);\n\n const download = React.useMemo(() => {\n return href === deepLinks?.externalPlayer?.playlist ?\n deepLinks.externalPlayer.fileName\n :\n null;\n }, [href, deepLinks]);\n\n const target = React.useMemo(() => {\n return href === deepLinks?.externalPlayer?.web ?\n '_blank'\n :\n null;\n }, [href, deepLinks]);\n\n const streamLink = React.useMemo(() => {\n return deepLinks?.externalPlayer?.download;\n }, [deepLinks]);\n\n const markVideoAsWatched = React.useCallback(() => {\n if (typeof videoId === 'string') {\n core.transport.dispatch({\n action: 'MetaDetails',\n args: {\n action: 'MarkVideoAsWatched',\n args: [{ id: videoId, released: videoReleased }, true]\n }\n });\n }\n }, [videoId, videoReleased]);\n\n const onClick = React.useCallback((event) => {\n if (profile.settings.playerType !== null) {\n markVideoAsWatched();\n toast.show({\n type: 'success',\n title: 'Stream opened in external player',\n timeout: 4000\n });\n }\n\n if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n }, [props.onClick, profile.settings, markVideoAsWatched]);\n\n const copyStreamLink = React.useCallback((event) => {\n event.preventDefault();\n closeMenu();\n if (streamLink) {\n navigator.clipboard.writeText(streamLink)\n .then(() => {\n toast.show({\n type: 'success',\n title: t('PLAYER_COPY_STREAM_SUCCESS'),\n timeout: 4000\n });\n })\n .catch(() => {\n toast.show({\n type: 'error',\n title: t('PLAYER_COPY_STREAM_ERROR'),\n timeout: 4000,\n });\n });\n }\n }, [streamLink]);\n\n const renderThumbnailFallback = React.useCallback(() => (\n <Icon className={styles['placeholder-icon']} name={'ic_broken_link'} />\n ), []);\n\n const renderLabel = React.useMemo(() => function renderLabel({ className, children, ...props }) {\n return (\n <Button className={classnames(className, styles['stream-container'])} title={addonName} href={href} target={target} download={download} onClick={onClick} {...props}>\n <div className={styles['info-container']}>\n {\n typeof thumbnail === 'string' && thumbnail.length > 0 ?\n <div className={styles['thumbnail-container']} title={name || addonName}>\n <Image\n className={styles['thumbnail']}\n src={thumbnail}\n alt={' '}\n renderFallback={renderThumbnailFallback}\n />\n </div>\n :\n <div className={styles['addon-name-container']} title={name || addonName}>\n <div className={styles['addon-name']}>{name || addonName}</div>\n </div>\n }\n {\n progress !== null && !isNaN(progress) && progress > 0 ?\n <div className={styles['progress-bar-container']}>\n <div className={styles['progress-bar']} style={{ width: `${progress}%` }} />\n <div className={styles['progress-bar-background']} />\n </div>\n :\n null\n }\n </div>\n <div className={styles['description-container']} title={description}>{description}</div>\n <Icon className={styles['icon']} name={'play'} />\n {children}\n </Button>\n );\n }, [thumbnail, progress, addonName, name, description, href, target, download, onClick]);\n\n const renderMenu = React.useMemo(() => function renderMenu() {\n return (\n <div className={styles['context-menu-content']} onPointerDown={popupMenuOnPointerDown} onContextMenu={popupMenuOnContextMenu} onClick={popupMenuOnClick} onKeyDown={popupMenuOnKeyDown}>\n <div className={styles['context-menu-title']}>\n {description}\n </div>\n <Button className={styles['context-menu-option-container']} title={t('CTX_PLAY')}>\n <Icon className={styles['menu-icon']} name={'play'} />\n <div className={styles['context-menu-option-label']}>{t('CTX_PLAY')}</div>\n </Button>\n {\n streamLink &&\n <Button className={styles['context-menu-option-container']} title={t('CTX_COPY_STREAM_LINK')} onClick={copyStreamLink}>\n <Icon className={styles['menu-icon']} name={'link'} />\n <div className={styles['context-menu-option-label']}>{t('CTX_COPY_STREAM_LINK')}</div>\n </Button>\n }\n </div>\n );\n }, [copyStreamLink, onClick]);\n\n React.useEffect(() => {\n if (!routeFocused) {\n closeMenu();\n }\n }, [routeFocused]);\n\n return (\n <Popup\n className={className}\n onMouseUp={popupLabelOnMouseUp}\n onLongPress={popupLabelOnLongPress}\n onContextMenu={popupLabelOnContextMenu}\n open={menuOpen}\n onCloseRequest={closeMenu}\n renderLabel={renderLabel}\n renderMenu={renderMenu}\n />\n );\n};\n\nStream.Placeholder = StreamPlaceholder;\n\nStream.propTypes = {\n className: PropTypes.string,\n videoId: PropTypes.string,\n videoReleased: PropTypes.instanceOf(Date),\n addonName: PropTypes.string,\n name: PropTypes.string,\n description: PropTypes.string,\n thumbnail: PropTypes.string,\n progress: PropTypes.number,\n deepLinks: PropTypes.shape({\n player: PropTypes.string,\n externalPlayer: PropTypes.shape({\n download: PropTypes.string,\n streaming: PropTypes.string,\n playlist: PropTypes.string,\n fileName: PropTypes.string,\n web: PropTypes.string,\n openPlayer: PropTypes.shape({\n ios: PropTypes.string,\n android: PropTypes.string,\n windows: PropTypes.string,\n macos: PropTypes.string,\n linux: PropTypes.string,\n })\n })\n }),\n onClick: PropTypes.func\n};\n\nmodule.exports = Stream;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst styles = require('./styles');\n\nconst PlayIconCircleCentered = ({ className }) => {\n return (\n <svg className={className} viewBox={'0 0 100 100'}>\n <circle className={styles['background']} cx={'50'} cy={'50'} r={'50'} />\n <svg className={styles['icon']} x={'0'} y={'25'} width={'100'} height={'50'} viewBox={'0 0 37.14 32'}>\n <path d={'M 9.14,0 37.14,16 9.14,32 Z'} />\n </svg>\n </svg>\n );\n};\n\nPlayIconCircleCentered.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = PlayIconCircleCentered;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst PlayIconCircleCentered = require('./PlayIconCircleCentered');\n\nmodule.exports = PlayIconCircleCentered;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst PlayIconCircleCentered = require('./PlayIconCircleCentered');\nconst styles = require('./styles');\n\nconst StreamPlaceholder = ({ className }) => {\n return (\n <div className={classnames(className, styles['stream-placeholder-container'])}>\n <div className={styles['addon-container']}>\n <div className={styles['addon-name']} />\n </div>\n <div className={styles['info-container']}>\n <div className={styles['description-container']} />\n <div className={styles['description-container']} />\n </div>\n <PlayIconCircleCentered className={styles['play-icon']} />\n </div>\n );\n};\n\nStreamPlaceholder.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = StreamPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst StreamPlaceholder = require('./StreamPlaceholder');\n\nmodule.exports = StreamPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Stream = require('./Stream');\n\nmodule.exports = Stream;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, Image, MultiselectMenu } = require('stremio/components');\nconst { useServices } = require('stremio/services');\nconst Stream = require('./Stream');\nconst styles = require('./styles');\nconst { usePlatform, useProfile } = require('stremio/common');\nconst { default: SeasonEpisodePicker } = require('../EpisodePicker');\n\nconst ALL_ADDONS_KEY = 'ALL';\n\nconst StreamsList = ({ className, video, type, onEpisodeSearch, ...props }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const platform = usePlatform();\n const profile = useProfile();\n const streamsContainerRef = React.useRef(null);\n const [selectedAddon, setSelectedAddon] = React.useState(ALL_ADDONS_KEY);\n const onAddonSelected = React.useCallback((value) => {\n streamsContainerRef.current.scrollTo({ top: 0, left: 0, behavior: platform.name === 'ios' ? 'smooth' : 'instant' });\n setSelectedAddon(value);\n }, [platform]);\n const showInstallAddonsButton = React.useMemo(() => {\n return !profile || profile.auth === null || profile.auth?.user?.isNewUser === true && !video?.upcoming;\n }, [profile, video]);\n const backButtonOnClick = React.useCallback(() => {\n if (video.deepLinks && typeof video.deepLinks.metaDetailsVideos === 'string') {\n window.location.replace(video.deepLinks.metaDetailsVideos + (\n typeof video.season === 'number' ?\n `?${new URLSearchParams({ 'season': video.season })}`\n :\n null\n ));\n } else {\n window.history.back();\n }\n }, [video]);\n const countLoadingAddons = React.useMemo(() => {\n return props.streams.filter((stream) => stream.content.type === 'Loading').length;\n }, [props.streams]);\n const streamsByAddon = React.useMemo(() => {\n return props.streams\n .filter((streams) => streams.content.type === 'Ready')\n .reduce((streamsByAddon, streams) => {\n streamsByAddon[streams.addon.transportUrl] = {\n addon: streams.addon,\n streams: streams.content.content.map((stream) => ({\n ...stream,\n onClick: () => {\n core.transport.analytics({\n event: 'StreamClicked',\n args: {\n stream\n }\n });\n },\n addonName: streams.addon.manifest.name\n }))\n };\n\n return streamsByAddon;\n }, {});\n }, [props.streams]);\n const filteredStreams = React.useMemo(() => {\n return selectedAddon === ALL_ADDONS_KEY ?\n Object.values(streamsByAddon).map(({ streams }) => streams).flat(1)\n :\n streamsByAddon[selectedAddon] ?\n streamsByAddon[selectedAddon].streams\n :\n [];\n }, [streamsByAddon, selectedAddon]);\n const selectableOptions = React.useMemo(() => {\n return {\n options: [\n {\n value: ALL_ADDONS_KEY,\n label: t('ALL_ADDONS'),\n title: t('ALL_ADDONS')\n },\n ...Object.keys(streamsByAddon).map((transportUrl) => ({\n value: transportUrl,\n label: streamsByAddon[transportUrl].addon.manifest.name,\n title: streamsByAddon[transportUrl].addon.manifest.name,\n }))\n ],\n value: selectedAddon,\n onSelect: onAddonSelected\n };\n }, [streamsByAddon, selectedAddon]);\n\n const handleEpisodePicker = React.useCallback((season, episode) => {\n onEpisodeSearch(season, episode);\n }, [onEpisodeSearch]);\n\n return (\n <div className={classnames(className, styles['streams-list-container'])}>\n <div className={styles['select-choices-wrapper']}>\n {\n video ?\n <React.Fragment>\n <Button className={classnames(styles['button-container'], styles['back-button-container'])} tabIndex={-1} onClick={backButtonOnClick}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n </Button>\n <div className={styles['episode-title']}>\n {`S${video?.season}E${video?.episode} ${(video?.title)}`}\n </div>\n </React.Fragment>\n :\n null\n }\n {\n Object.keys(streamsByAddon).length > 1 ?\n <MultiselectMenu\n {...selectableOptions}\n className={styles['select-input-container']}\n />\n :\n null\n }\n </div>\n {\n props.streams.length === 0 ?\n <div className={styles['message-container']}>\n {\n type === 'series' ?\n <SeasonEpisodePicker className={styles['search']} onSubmit={handleEpisodePicker} />\n : null\n }\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['label']}>{t('ERR_NO_ADDONS_FOR_STREAMS')}</div>\n </div>\n :\n props.streams.every((streams) => streams.content.type === 'Err') ?\n <div className={styles['message-container']}>\n {\n type === 'series' ?\n <SeasonEpisodePicker className={styles['search']} onSubmit={handleEpisodePicker} />\n : null\n }\n {\n video?.upcoming ?\n <div className={styles['label']}>{t('UPCOMING')}...</div>\n : null\n }\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['label']}>{t('NO_STREAM')}</div>\n {\n showInstallAddonsButton ?\n <Button className={styles['install-button-container']} title={t('ADDON_CATALOGUE_MORE')} href={'#/addons'}>\n <Icon className={styles['icon']} name={'addons'} />\n <div className={styles['label']}>{t('ADDON_CATALOGUE_MORE')}</div>\n </Button>\n :\n null\n }\n </div>\n :\n filteredStreams.length === 0 ?\n <div className={styles['streams-container']}>\n <Stream.Placeholder />\n <Stream.Placeholder />\n </div>\n :\n <React.Fragment>\n {\n countLoadingAddons > 0 ?\n <div className={styles['addons-loading-container']}>\n <div className={styles['addons-loading']}>\n {countLoadingAddons} {t('MOBILE_ADDONS_LOADING')}\n </div>\n <span className={styles['addons-loading-bar']}></span>\n </div>\n :\n null\n }\n <div className={styles['streams-container']} ref={streamsContainerRef}>\n {filteredStreams.map((stream, index) => (\n <Stream\n key={index}\n videoId={video?.id}\n videoReleased={video?.released}\n addonName={stream.addonName}\n name={stream.name}\n description={stream.description}\n thumbnail={stream.thumbnail}\n progress={stream.progress}\n deepLinks={stream.deepLinks}\n onClick={stream.onClick}\n />\n ))}\n {\n showInstallAddonsButton ?\n <Button className={styles['install-button-container']} title={t('ADDON_CATALOGUE_MORE')} href={'#/addons'}>\n <Icon className={styles['icon']} name={'addons'} />\n <div className={styles['label']}>{t('ADDON_CATALOGUE_MORE')}</div>\n </Button>\n :\n null\n }\n </div>\n </React.Fragment>\n }\n </div>\n );\n};\n\nStreamsList.propTypes = {\n className: PropTypes.string,\n streams: PropTypes.arrayOf(PropTypes.object).isRequired,\n video: PropTypes.object,\n type: PropTypes.string,\n onEpisodeSearch: PropTypes.func\n};\n\nmodule.exports = StreamsList;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst StreamsList = require('./StreamsList');\n\nmodule.exports = StreamsList;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { t } = require('i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, MultiselectMenu } = require('stremio/components');\nconst SeasonsBarPlaceholder = require('./SeasonsBarPlaceholder');\nconst styles = require('./styles');\n\nconst SeasonsBar = ({ className, seasons, season, onSelect }) => {\n const options = React.useMemo(() => {\n return seasons.map((season) => ({\n value: String(season),\n label: season > 0 ? t('SEASON_NUMBER', { season }) : t('SPECIAL')\n }));\n }, [seasons]);\n const selectedSeason = React.useMemo(() => {\n return String(season);\n }, [season]);\n const prevNextButtonOnClick = React.useCallback((event) => {\n if (typeof onSelect === 'function') {\n const seasonIndex = seasons.indexOf(season);\n const valueIndex = event.currentTarget.dataset.action === 'next' ?\n seasonIndex + 1 < seasons.length ? seasonIndex + 1 : seasons.length - 1\n :\n seasonIndex - 1 >= 0 ? seasonIndex - 1 : 0;\n const value = seasons[valueIndex];\n onSelect({\n type: 'select',\n value: value,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [season, seasons, onSelect]);\n const seasonOnSelect = React.useCallback((value) => {\n if (typeof onSelect === 'function') {\n onSelect({\n type: 'select',\n value: value,\n reactEvent: event.reactEvent,\n nativeEvent: event.nativeEvent\n });\n }\n }, [onSelect]);\n\n const [prevDisabled, nextDisabled] = React.useMemo(() => {\n const currentIndex = seasons.indexOf(season);\n return [\n currentIndex === 0,\n currentIndex === seasons.length - 1\n ];\n }, [season, seasons]);\n\n return (\n <div className={classnames(className, styles['seasons-bar-container'])}>\n <Button className={classnames(styles['prev-season-button'], { 'disabled': prevDisabled })} title={t('PREV_SEASON')} data-action={'prev'} onClick={prevNextButtonOnClick}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n <div className={styles['label']}>{t('BUTTON_PREV')}</div>\n </Button>\n <MultiselectMenu\n className={styles['seasons-popup-label-container']}\n options={options}\n title={season > 0 ? t('SEASON_NUMBER', { season }) : t('SPECIAL')}\n value={selectedSeason}\n onSelect={seasonOnSelect}\n />\n <Button className={classnames(styles['next-season-button'], { 'disabled': nextDisabled })} title={t('NEXT_SEASON')} data-action={'next'} onClick={prevNextButtonOnClick}>\n <div className={styles['label']}>{t('BUTTON_NEXT')}</div>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </Button>\n </div>\n );\n};\n\nSeasonsBar.Placeholder = SeasonsBarPlaceholder;\n\nSeasonsBar.propTypes = {\n className: PropTypes.string,\n seasons: PropTypes.arrayOf(PropTypes.number).isRequired,\n season: PropTypes.number.isRequired,\n onSelect: PropTypes.func\n};\n\nmodule.exports = SeasonsBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst styles = require('./styles');\n\nconst SeasonsBarPlaceholder = ({ className }) => {\n const { t } = useTranslation();\n return (\n <div className={classnames(className, styles['seasons-bar-placeholder-container'])}>\n <div className={styles['prev-season-button']}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n <div className={styles['label']}>{t('SEASON_PREV')}</div>\n </div>\n <div className={styles['seasons-popup-label-container']}>\n <div className={styles['seasons-popup-label']}>{t('SEASON_NUMBER', { season: 1 })}</div>\n <Icon className={styles['seasons-popup-icon']} name={'caret-down'} />\n </div>\n <div className={styles['next-season-button']}>\n <div className={styles['label']}>{t('SEASON_NEXT')}</div>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </div>\n </div>\n );\n};\n\nSeasonsBarPlaceholder.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = SeasonsBarPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SeasonsBarPlaceholder = require('./SeasonsBarPlaceholder');\n\nmodule.exports = SeasonsBarPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SeasonsBar = require('./SeasonsBar');\n\nmodule.exports = SeasonsBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { t } = require('i18next');\nconst { useServices } = require('stremio/services');\nconst { useProfile } = require('stremio/common');\nconst { Image, SearchBar, Toggle, Video } = require('stremio/components');\nconst SeasonsBar = require('./SeasonsBar');\nconst { default: EpisodePicker } = require('../EpisodePicker');\nconst styles = require('./styles');\n\nconst VideosList = ({ className, metaItem, libraryItem, season, seasonOnSelect, toggleNotifications }) => {\n const { core } = useServices();\n const profile = useProfile();\n const showNotificationsToggle = React.useMemo(() => {\n return metaItem?.content?.content?.inLibrary && metaItem?.content?.content?.videos?.length;\n }, [metaItem]);\n const videos = React.useMemo(() => {\n return metaItem && metaItem.content.type === 'Ready' ?\n metaItem.content.content.videos\n :\n [];\n }, [metaItem]);\n const seasons = React.useMemo(() => {\n return videos\n .map(({ season }) => season)\n .filter((season, index, seasons) => {\n return season !== null &&\n !isNaN(season) &&\n typeof season === 'number' &&\n seasons.indexOf(season) === index;\n })\n .sort((a, b) => (a || Number.MAX_SAFE_INTEGER) - (b || Number.MAX_SAFE_INTEGER));\n }, [videos]);\n const selectedSeason = React.useMemo(() => {\n if (seasons.includes(season)) {\n return season;\n }\n\n const video = videos?.find((video) => video.id === libraryItem?.state.video_id);\n\n if (video && video.season && seasons.includes(video.season)) {\n return video.season;\n }\n\n const nonSpecialSeasons = seasons.filter((season) => season !== 0);\n if (nonSpecialSeasons.length > 0) {\n return nonSpecialSeasons[0];\n }\n\n if (seasons.length > 0) {\n return seasons[0];\n }\n\n return null;\n }, [seasons, season, videos, libraryItem]);\n const videosForSeason = React.useMemo(() => {\n return videos\n .filter((video) => {\n return selectedSeason === null || video.season === selectedSeason;\n })\n .sort((a, b) => {\n return a.episode - b.episode;\n });\n }, [videos, selectedSeason]);\n\n const seasonWatched = React.useMemo(() => {\n return videosForSeason.every((video) => video.watched);\n }, [videosForSeason]);\n\n const [search, setSearch] = React.useState('');\n const searchInputOnChange = React.useCallback((event) => {\n setSearch(event.currentTarget.value);\n }, []);\n\n const onMarkVideoAsWatched = (video, watched) => {\n core.transport.dispatch({\n action: 'MetaDetails',\n args: {\n action: 'MarkVideoAsWatched',\n args: [video, !watched]\n }\n });\n };\n\n const onMarkSeasonAsWatched = (season, watched) => {\n core.transport.dispatch({\n action: 'MetaDetails',\n args: {\n action: 'MarkSeasonAsWatched',\n args: [season, !watched]\n }\n });\n };\n\n const onSeasonSearch = (value) => {\n if (value) {\n seasonOnSelect({\n type: 'select',\n value,\n });\n }\n };\n\n return (\n <div className={classnames(className, styles['videos-list-container'])}>\n {\n !metaItem || metaItem.content.type === 'Loading' ?\n <React.Fragment>\n <SeasonsBar.Placeholder className={styles['seasons-bar']} />\n <SearchBar.Placeholder className={styles['search-bar']} title={t('SEARCH_VIDEOS')} />\n <div className={styles['videos-scroll-container']}>\n <Video.Placeholder />\n <Video.Placeholder />\n <Video.Placeholder />\n <Video.Placeholder />\n <Video.Placeholder />\n </div>\n </React.Fragment>\n :\n metaItem.content.type === 'Err' || videosForSeason.length === 0 ?\n <div className={styles['message-container']}>\n <EpisodePicker className={styles['episode-picker']} onSubmit={onSeasonSearch} />\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['label']}>{t('ERR_NO_VIDEOS_FOR_META')}</div>\n </div>\n :\n <React.Fragment>\n {\n showNotificationsToggle && libraryItem ?\n <Toggle className={styles['notifications-toggle']} checked={!libraryItem.state.noNotif} onClick={toggleNotifications}>\n {t('DETAIL_RECEIVE_NOTIF_SERIES')}\n </Toggle>\n :\n null\n }\n {\n seasons.length > 0 ?\n <SeasonsBar\n className={styles['seasons-bar']}\n season={selectedSeason}\n seasons={seasons}\n onSelect={seasonOnSelect}\n />\n :\n null\n }\n <SearchBar\n className={styles['search-bar']}\n title={t('SEARCH_VIDEOS')}\n value={search}\n onChange={searchInputOnChange}\n />\n <div className={styles['videos-container']}>\n {\n videosForSeason\n .filter((video) => {\n return search.length === 0 ||\n (\n (typeof video.title === 'string' && video.title.toLowerCase().includes(search.toLowerCase())) ||\n (!isNaN(video.released.getTime()) && video.released.toLocaleString(profile.settings.interfaceLanguage, { year: '2-digit', month: 'short', day: 'numeric' }).toLowerCase().includes(search.toLowerCase()))\n );\n })\n .map((video, index) => (\n <Video\n key={index}\n id={video.id}\n title={video.title}\n thumbnail={video.thumbnail}\n season={video.season}\n episode={video.episode}\n released={video.released}\n upcoming={video.upcoming}\n watched={video.watched}\n progress={video.progress}\n deepLinks={video.deepLinks}\n scheduled={video.scheduled}\n seasonWatched={seasonWatched}\n onMarkVideoAsWatched={onMarkVideoAsWatched}\n onMarkSeasonAsWatched={onMarkSeasonAsWatched}\n />\n ))\n }\n </div>\n </React.Fragment>\n }\n </div>\n );\n};\n\nVideosList.propTypes = {\n className: PropTypes.string,\n metaItem: PropTypes.object,\n libraryItem: PropTypes.object,\n season: PropTypes.number,\n seasonOnSelect: PropTypes.func,\n toggleNotifications: PropTypes.func,\n};\n\nmodule.exports = VideosList;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VideosList = require('./VideosList');\n\nmodule.exports = VideosList;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaDetails = require('./MetaDetails');\n\nmodule.exports = MetaDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useModelState } = require('stremio/common');\n\nconst map = (metaDetails) => ({\n ...metaDetails,\n metaItem: metaDetails.metaItem !== null && metaDetails.metaItem.content.type === 'Ready' ?\n {\n ...metaDetails.metaItem,\n content: {\n ...metaDetails.metaItem.content,\n content: {\n ...metaDetails.metaItem.content.content,\n released: new Date(\n typeof metaDetails.metaItem.content.content.released === 'string' ?\n metaDetails.metaItem.content.content.released\n :\n NaN\n ),\n videos: metaDetails.metaItem.content.content.videos.map((video) => ({\n ...video,\n released: new Date(\n typeof video.released === 'string' ?\n video.released\n :\n NaN\n ),\n }))\n }\n }\n }\n :\n metaDetails.metaItem\n});\n\nconst useMetaDetails = (urlParams) => {\n const action = React.useMemo(() => {\n if (typeof urlParams.type === 'string' && typeof urlParams.id === 'string') {\n return {\n action: 'Load',\n args: {\n model: 'MetaDetails',\n args: {\n metaPath: {\n resource: 'meta',\n type: urlParams.type,\n id: urlParams.id,\n extra: []\n },\n streamPath: typeof urlParams.videoId === 'string' ?\n {\n resource: 'stream',\n type: urlParams.type,\n id: urlParams.videoId,\n extra: []\n }\n :\n null,\n guessStream: true,\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [urlParams]);\n return useModelState({ model: 'meta_details', action, map });\n};\n\nmodule.exports = useMetaDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useMetaExtensionTabs = (metaExtensions) => {\n const tabs = React.useMemo(() => {\n return metaExtensions\n .map((extension) => ({\n id: extension.url,\n label: extension.addon.manifest.name,\n logo: extension.addon.manifest.logo,\n icon: 'addons',\n onClick: () => setSelected(extension)\n }));\n }, [metaExtensions]);\n const [selected, setSelected] = React.useState(null);\n const clear = React.useCallback(() => {\n setSelected(null);\n }, []);\n return [tabs, selected, clear];\n};\n\nmodule.exports = useMetaExtensionTabs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useSeason = (urlParams, queryParams) => {\n const season = React.useMemo(() => {\n return queryParams.has('season') && !isNaN(queryParams.get('season')) ?\n parseInt(queryParams.get('season'), 10)\n :\n null;\n }, [queryParams]);\n const setSeason = React.useCallback((season) => {\n const nextQueryParams = new URLSearchParams(queryParams);\n nextQueryParams.set('season', season);\n window.location.replace(`#${urlParams.path}?${nextQueryParams}`);\n }, [urlParams, queryParams]);\n return [season, setSeason];\n};\n\nmodule.exports = useSeason;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst { HorizontalNavBar, Image } = require('stremio/components');\nconst styles = require('./styles');\n\nconst NotFound = () => {\n const { t } = useTranslation();\n return (\n <div className={styles['not-found-container']}>\n <HorizontalNavBar\n className={styles['nav-bar']}\n title={t('PAGE_NOT_FOUND')}\n backButton={true}\n fullscreenButton={true}\n navMenu={true}\n />\n <div className={styles['not-found-content']}>\n <Image\n className={styles['not-found-image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['not-found-label']}>{t('PAGE_NOT_FOUND')}</div>\n </div>\n </div>\n );\n};\n\nmodule.exports = NotFound;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst NotFound = require('./NotFound');\n\nmodule.exports = NotFound;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { Image } = require('stremio/components');\nconst styles = require('./styles');\n\nconst BufferingLoader = React.forwardRef(({ className, logo }, ref) => {\n return (\n <div ref={ref} className={classnames(className, styles['buffering-loader-container'])}>\n <Image\n className={styles['buffering-loader']}\n src={logo}\n alt={' '}\n fallbackSrc={require('/images/stremio_symbol.png')}\n />\n </div>\n );\n});\n\nBufferingLoader.propTypes = {\n className: PropTypes.string,\n logo: PropTypes.string,\n};\n\nmodule.exports = BufferingLoader;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst BufferingLoader = require('./BufferingLoader');\n\nmodule.exports = BufferingLoader;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/components');\nconst { useServices } = require('stremio/services');\nconst SeekBar = require('./SeekBar');\nconst VolumeSlider = require('./VolumeSlider');\nconst styles = require('./styles');\nconst { useBinaryState, usePlatform } = require('stremio/common');\nconst { t } = require('i18next');\n\nconst ControlBar = ({\n className,\n paused,\n time,\n duration,\n buffered,\n volume,\n muted,\n playbackSpeed,\n subtitlesTracks,\n audioTracks,\n metaItem,\n nextVideo,\n stream,\n statistics,\n onPlayRequested,\n onPauseRequested,\n onNextVideoRequested,\n onMuteRequested,\n onUnmuteRequested,\n onVolumeChangeRequested,\n onSeekRequested,\n onToggleSubtitlesMenu,\n onToggleAudioMenu,\n onToggleSpeedMenu,\n onToggleSideDrawer,\n onToggleOptionsMenu,\n onToggleStatisticsMenu,\n onTouchEnd,\n ...props\n}) => {\n const { chromecast } = useServices();\n const platform = usePlatform();\n const [chromecastServiceActive, setChromecastServiceActive] = React.useState(() => chromecast.active);\n const [buttonsMenuOpen, , , toggleButtonsMenu] = useBinaryState(false);\n const onSubtitlesButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.subtitlesMenuClosePrevented = true;\n }, []);\n const onAudioButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.audioMenuClosePrevented = true;\n }, []);\n const onSpeedButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.speedMenuClosePrevented = true;\n }, []);\n const onVideosButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.videosMenuClosePrevented = true;\n }, []);\n const onOptionsButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.optionsMenuClosePrevented = true;\n }, []);\n const onStatisticsButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.statisticsMenuClosePrevented = true;\n }, []);\n const onPlayPauseButtonClick = React.useCallback(() => {\n if (paused) {\n if (typeof onPlayRequested === 'function') {\n onPlayRequested();\n }\n } else {\n if (typeof onPauseRequested === 'function') {\n onPauseRequested();\n }\n }\n }, [paused, onPlayRequested, onPauseRequested]);\n const onNextVideoButtonClick = React.useCallback(() => {\n if (nextVideo !== null && typeof onNextVideoRequested === 'function') {\n onNextVideoRequested();\n }\n }, [nextVideo, onNextVideoRequested]);\n const onMuteButtonClick = React.useCallback(() => {\n if (muted) {\n if (typeof onUnmuteRequested === 'function') {\n onUnmuteRequested();\n }\n } else {\n if (typeof onMuteRequested === 'function') {\n onMuteRequested();\n }\n }\n }, [muted, onMuteRequested, onUnmuteRequested]);\n const onChromecastButtonClick = React.useCallback(() => {\n chromecast.transport.requestSession();\n }, []);\n React.useEffect(() => {\n const onStateChanged = () => {\n setChromecastServiceActive(chromecast.active);\n };\n chromecast.on('stateChanged', onStateChanged);\n return () => {\n chromecast.off('stateChanged', onStateChanged);\n };\n }, []);\n return (\n <div {...props} onTouchStart={props.onMouseOver} onTouchMove={props.onMouseMove} onTouchEnd={onTouchEnd} className={classnames(className, styles['control-bar-container'])}>\n <SeekBar\n className={styles['seek-bar']}\n time={time}\n duration={duration}\n buffered={buffered}\n onSeekRequested={onSeekRequested}\n />\n <div className={styles['control-bar-buttons-container']}>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': typeof paused !== 'boolean' })} title={paused ? t('PLAYER_PLAY') : t('PLAYER_PAUSE')} tabIndex={-1} onClick={onPlayPauseButtonClick}>\n <Icon className={styles['icon']} name={typeof paused !== 'boolean' || paused ? 'play' : 'pause'} />\n </Button>\n {\n nextVideo !== null ?\n <Button className={classnames(styles['control-bar-button'])} title={t('PLAYER_NEXT_VIDEO')} tabIndex={-1} onClick={onNextVideoButtonClick}>\n <Icon className={styles['icon']} name={'next'} />\n </Button>\n :\n null\n }\n <Button className={classnames(styles['control-bar-button'], { 'disabled': typeof muted !== 'boolean' })} title={muted ? t('PLAYER_UNMUTE') : t('PLAYER_MUTE')} tabIndex={-1} onClick={onMuteButtonClick}>\n <Icon\n className={styles['icon']}\n name={\n (typeof muted === 'boolean' && muted) ? 'volume-mute' :\n (volume === null || isNaN(volume)) ? 'volume-off' :\n volume === 0 ? 'volume-mute' :\n volume < 30 ? 'volume-low' :\n volume < 70 ? 'volume-medium' :\n 'volume-high'\n }\n />\n </Button>\n {\n !platform.isMobile ?\n <VolumeSlider\n className={styles['volume-slider']}\n volume={volume}\n muted={muted}\n onVolumeChangeRequested={onVolumeChangeRequested}\n />\n : null\n }\n <div className={styles['spacing']} />\n <Button className={styles['control-bar-buttons-menu-button']} onClick={toggleButtonsMenu}>\n <Icon className={styles['icon']} name={'more-vertical'} />\n </Button>\n <div className={classnames(styles['control-bar-buttons-menu-container'], { 'open': buttonsMenuOpen })}>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': statistics === null || statistics.type === 'Err' || stream === null || typeof stream.infoHash !== 'string' || typeof stream.fileIdx !== 'number' })} tabIndex={-1} onMouseDown={onStatisticsButtonMouseDown} onClick={onToggleStatisticsMenu}>\n <Icon className={styles['icon']} name={'network'} />\n </Button>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': playbackSpeed === null })} tabIndex={-1} onMouseDown={onSpeedButtonMouseDown} onClick={onToggleSpeedMenu}>\n <Icon className={styles['icon']} name={'speed'} />\n </Button>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': !chromecastServiceActive })} tabIndex={-1} onClick={onChromecastButtonClick}>\n <Icon className={styles['icon']} name={'cast'} />\n </Button>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': !Array.isArray(subtitlesTracks) || subtitlesTracks.length === 0 })} tabIndex={-1} onMouseDown={onSubtitlesButtonMouseDown} onClick={onToggleSubtitlesMenu}>\n <Icon className={styles['icon']} name={'subtitles'} />\n </Button>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': !Array.isArray(audioTracks) || audioTracks.length === 0 })} tabIndex={-1} onMouseDown={onAudioButtonMouseDown} onClick={onToggleAudioMenu}>\n <Icon className={styles['icon']} name={'audio-tracks'} />\n </Button>\n {\n metaItem?.content?.videos?.length > 0 ?\n <Button className={styles['control-bar-button']} tabIndex={-1} onMouseDown={onVideosButtonMouseDown} onClick={onToggleSideDrawer}>\n <Icon className={styles['icon']} name={'episodes'} />\n </Button>\n :\n null\n }\n <Button className={classnames(styles['control-bar-button'], { 'disabled': !stream })} tabIndex={-1} onMouseDown={onOptionsButtonMouseDown} onClick={onToggleOptionsMenu}>\n <Icon className={styles['icon']} name={'more-horizontal'} />\n </Button>\n </div>\n </div>\n </div>\n );\n};\n\nControlBar.propTypes = {\n className: PropTypes.string,\n paused: PropTypes.bool,\n time: PropTypes.number,\n duration: PropTypes.number,\n buffered: PropTypes.number,\n volume: PropTypes.number,\n muted: PropTypes.bool,\n playbackSpeed: PropTypes.number,\n subtitlesTracks: PropTypes.array,\n audioTracks: PropTypes.array,\n metaItem: PropTypes.object,\n nextVideo: PropTypes.object,\n stream: PropTypes.object,\n statistics: PropTypes.object,\n onPlayRequested: PropTypes.func,\n onPauseRequested: PropTypes.func,\n onNextVideoRequested: PropTypes.func,\n onMuteRequested: PropTypes.func,\n onUnmuteRequested: PropTypes.func,\n onVolumeChangeRequested: PropTypes.func,\n onSeekRequested: PropTypes.func,\n onToggleSubtitlesMenu: PropTypes.func,\n onToggleAudioMenu: PropTypes.func,\n onToggleSpeedMenu: PropTypes.func,\n onToggleSideDrawer: PropTypes.func,\n onToggleOptionsMenu: PropTypes.func,\n onToggleStatisticsMenu: PropTypes.func,\n onMouseOver: PropTypes.func,\n onMouseMove: PropTypes.func,\n onTouchEnd: PropTypes.func,\n};\n\nmodule.exports = ControlBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst { useRouteFocused } = require('stremio-router');\nconst { useBinaryState } = require('stremio/common');\nconst { Button, Slider } = require('stremio/components');\nconst formatTime = require('./formatTime');\nconst styles = require('./styles');\n\nconst SeekBar = ({ className, time, duration, buffered, onSeekRequested }) => {\n const disabled = time === null || isNaN(time) || duration === null || isNaN(duration);\n const routeFocused = useRouteFocused();\n const [seekTime, setSeekTime] = React.useState(null);\n\n const [remainingTimeMode,,, toggleRemainingTimeMode] = useBinaryState(false);\n const resetTimeDebounced = React.useCallback(debounce(() => {\n setSeekTime(null);\n }, 1500), []);\n const onSlide = React.useCallback((time) => {\n resetTimeDebounced.cancel();\n setSeekTime(time);\n }, []);\n const onComplete = React.useCallback((time) => {\n resetTimeDebounced();\n setSeekTime(time);\n if (typeof onSeekRequested === 'function') {\n onSeekRequested(time);\n }\n }, [onSeekRequested]);\n React.useLayoutEffect(() => {\n if (!routeFocused || disabled) {\n resetTimeDebounced.cancel();\n setSeekTime(null);\n }\n }, [routeFocused, disabled]);\n React.useEffect(() => {\n return () => {\n resetTimeDebounced.cancel();\n };\n }, []);\n return (\n <div className={classnames(className, styles['seek-bar-container'], { 'active': seekTime !== null })}>\n <div className={styles['label']}>{formatTime(seekTime !== null ? seekTime : time)}</div>\n <Slider\n className={classnames(styles['slider'], { 'active': seekTime !== null })}\n value={\n !disabled ?\n seekTime !== null ? seekTime : time\n :\n 0\n }\n buffered={buffered}\n minimumValue={0}\n maximumValue={duration}\n disabled={disabled}\n onSlide={onSlide}\n onComplete={onComplete}\n />\n <Button onClick={toggleRemainingTimeMode} tabIndex={-1}>\n <div className={styles['label']}>\n {remainingTimeMode && duration !== null && !isNaN(duration)\n ? formatTime(duration - time, '-')\n : formatTime(duration) }\n </div>\n </Button>\n </div>\n );\n};\n\nSeekBar.propTypes = {\n className: PropTypes.string,\n time: PropTypes.number,\n duration: PropTypes.number,\n buffered: PropTypes.number,\n onSeekRequested: PropTypes.func\n};\n\nmodule.exports = SeekBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst formatUnit = (value) => {\n return ('0' + value).slice(-1 * Math.max(value.toString().length, 2));\n};\n\nconst formatTime = (time, prefix = '') => {\n if (time === null || isNaN(time)) {\n return '--:--:--';\n }\n\n const hours = Math.floor(time / (1000 * 60 * 60));\n const minutes = Math.floor((time / (1000 * 60)) % 60);\n const seconds = Math.floor((time / 1000) % 60);\n return `${formatUnit(hours)}:${formatUnit(minutes)}:${formatUnit(seconds)}${prefix}`;\n};\n\nmodule.exports = formatTime;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SeekBar = require('./SeekBar');\n\nmodule.exports = SeekBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst { useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\nconst { Slider } = require('stremio/components');\nconst styles = require('./styles');\n\nconst VolumeSlider = ({ className, volume, onVolumeChangeRequested, muted }) => {\n const { shell } = useServices();\n const disabled = volume === null || isNaN(volume);\n const routeFocused = useRouteFocused();\n const [slidingVolume, setSlidingVolume] = React.useState(null);\n const maxVolume = shell.active ? 200: 100;\n const resetVolumeDebounced = React.useCallback(debounce(() => {\n setSlidingVolume(null);\n }, 100), []);\n const onSlide = React.useCallback((volume) => {\n resetVolumeDebounced.cancel();\n setSlidingVolume(volume);\n if (typeof onVolumeChangeRequested === 'function') {\n onVolumeChangeRequested(volume);\n }\n }, [onVolumeChangeRequested]);\n const onComplete = React.useCallback((volume) => {\n resetVolumeDebounced();\n setSlidingVolume(volume);\n if (typeof onVolumeChangeRequested === 'function') {\n onVolumeChangeRequested(volume);\n }\n }, [onVolumeChangeRequested]);\n React.useLayoutEffect(() => {\n if (!routeFocused || disabled) {\n resetVolumeDebounced.cancel();\n setSlidingVolume(null);\n }\n }, [routeFocused, disabled]);\n React.useEffect(() => {\n return () => {\n resetVolumeDebounced.cancel();\n };\n }, []);\n return (\n <Slider\n className={classnames(className, styles['volume-slider'], { 'active': slidingVolume !== null })}\n value={\n !disabled ?\n !muted ?\n slidingVolume !== null ? slidingVolume : volume\n : 0\n :\n 100\n }\n minimumValue={0}\n maximumValue={maxVolume}\n disabled={disabled}\n onSlide={onSlide}\n onComplete={onComplete}\n audioBoost={!!shell.active}\n />\n );\n};\n\nVolumeSlider.propTypes = {\n className: PropTypes.string,\n volume: PropTypes.number,\n onVolumeChangeRequested: PropTypes.func,\n muted: PropTypes.bool,\n};\n\nmodule.exports = VolumeSlider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VolumeSlider = require('./VolumeSlider');\n\nmodule.exports = VolumeSlider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ControlBar = require('./ControlBar');\n\nmodule.exports = ControlBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classNames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/components');\nconst styles = require('./styles');\n\nconst Error = React.forwardRef(({ className, code, message, stream }, ref) => {\n const { t } = useTranslation();\n\n const [playlist, fileName] = React.useMemo(() => {\n return [\n stream?.deepLinks?.externalPlayer?.playlist,\n stream?.deepLinks?.externalPlayer?.fileName,\n ];\n }, [stream]);\n\n return (\n <div ref={ref} className={classNames(className, styles['error'])}>\n <div className={styles['error-label']} title={message}>{message}</div>\n {\n code === 2 ?\n <div className={styles['error-sub']} title={t('EXTERNAL_PLAYER_HINT')}>{t('EXTERNAL_PLAYER_HINT')}</div>\n :\n null\n }\n {\n playlist && fileName ?\n <Button\n className={styles['playlist-button']}\n title={t('PLAYER_OPEN_IN_EXTERNAL')}\n href={playlist}\n download={fileName}\n target={'_blank'}\n >\n <Icon className={styles['icon']} name={'ic_downloads'} />\n <div className={styles['label']}>{t('PLAYER_OPEN_IN_EXTERNAL')}</div>\n </Button>\n :\n null\n }\n </div>\n );\n});\n\nError.propTypes = {\n className: PropTypes.string,\n code: PropTypes.number,\n message: PropTypes.string,\n stream: PropTypes.object,\n};\n\nmodule.exports = Error;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Error = require('./Error');\n\nmodule.exports = Error;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { CONSTANTS, useProfile } = require('stremio/common');\nconst { Button, Image } = require('stremio/components');\nconst styles = require('./styles');\nconst { useTranslation } = require('react-i18next');\n\nconst NextVideoPopup = ({ className, metaItem, nextVideo, onDismiss, onNextVideoRequested }) => {\n const { t } = useTranslation();\n const profile = useProfile();\n const blurPosterImage = profile.settings.hideSpoilers && metaItem.type === 'series';\n const watchNowButtonRef = React.useRef(null);\n const [animationEnded, setAnimationEnded] = React.useState(false);\n const videoName = React.useMemo(() => {\n const title = nextVideo && nextVideo.title || metaItem && metaItem.title;\n return nextVideo !== null &&\n typeof nextVideo.season === 'number' &&\n typeof nextVideo.episode === 'number' ?\n `${title} (S${nextVideo.season}E${nextVideo.episode})`\n :\n title;\n }, [metaItem, nextVideo]);\n const onAnimationEnd = React.useCallback(() => {\n setAnimationEnded(true);\n }, []);\n const renderPosterFallback = React.useCallback(() => {\n return metaItem !== null && typeof metaItem.type === 'string' ?\n <Icon\n className={styles['placeholder-icon']}\n name={CONSTANTS.ICON_FOR_TYPE.has(metaItem.type) ? CONSTANTS.ICON_FOR_TYPE.get(metaItem.type) : CONSTANTS.ICON_FOR_TYPE.get('other')}\n />\n :\n null;\n }, [metaItem]);\n const onDismissButtonClick = React.useCallback(() => {\n if (typeof onDismiss === 'function') {\n onDismiss();\n }\n }, [onDismiss]);\n const onWatchNowButtonClick = React.useCallback(() => {\n if (typeof onNextVideoRequested === 'function') {\n onNextVideoRequested();\n }\n }, [onNextVideoRequested]);\n React.useLayoutEffect(() => {\n if (animationEnded === true && watchNowButtonRef.current !== null) {\n watchNowButtonRef.current.focus();\n }\n }, [animationEnded]);\n return (\n <div className={classnames(className, styles['next-video-popup-container'])} onAnimationEnd={onAnimationEnd}>\n <div className={styles['poster-container']}>\n <Image\n className={classnames(styles['poster-image'], { [styles['blurred']]: blurPosterImage })}\n src={nextVideo?.thumbnail}\n alt={' '}\n fallbackSrc={metaItem?.poster}\n renderFallback={renderPosterFallback}\n />\n </div>\n <div className={styles['info-container']}>\n <div className={styles['details-container']}>\n {\n typeof metaItem?.name === 'string' ?\n <div className={styles['name']}>\n <span className={styles['label']}>{t('PLAYER_NEXT_VIDEO_TITLE_SHORT')}</span> { metaItem.name }\n </div>\n :\n null\n }\n {\n typeof videoName === 'string' ?\n <div className={styles['title']}>\n { videoName }\n </div>\n :\n null\n }\n </div>\n <div className={styles['buttons-container']}>\n <Button className={classnames(styles['button-container'], styles['dismiss'])} onClick={onDismissButtonClick}>\n <Icon className={styles['icon']} name={'close'} />\n <div className={styles['label']}>{t('PLAYER_NEXT_VIDEO_BUTTON_DISMISS')}</div>\n </Button>\n <Button ref={watchNowButtonRef} className={classnames(styles['button-container'], styles['play-button'])} onClick={onWatchNowButtonClick}>\n <Icon className={styles['icon']} name={'play'} />\n <div className={styles['label']}>{t('PLAYER_NEXT_VIDEO_BUTTON_WATCH')}</div>\n </Button>\n </div>\n </div>\n </div>\n );\n};\n\nNextVideoPopup.propTypes = {\n className: PropTypes.string,\n metaItem: PropTypes.object,\n nextVideo: PropTypes.object,\n onDismiss: PropTypes.func,\n onNextVideoRequested: PropTypes.func\n};\n\nmodule.exports = NextVideoPopup;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst NextVideoPopup = require('./NextVideoPopup');\n\nmodule.exports = NextVideoPopup;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/components');\nconst styles = require('./styles');\n\nconst Option = ({ icon, label, deviceId, disabled, onClick }) => {\n const onButtonClick = React.useCallback(() => {\n if (typeof onClick === 'function') {\n onClick(deviceId);\n }\n }, [onClick, deviceId]);\n return (\n <Button className={classnames(styles['option-container'], { 'disabled': disabled })} disabled={disabled} onClick={onButtonClick}>\n <Icon className={styles['icon']} name={icon} />\n <div className={styles['label']}>{ label }</div>\n </Button>\n );\n};\n\nOption.propTypes = {\n icon: PropTypes.string,\n label: PropTypes.string,\n deviceId: PropTypes.string,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n};\n\nmodule.exports = Option;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Option = require('./Option');\n\nmodule.exports = Option;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { usePlatform, useToast } = require('stremio/common');\nconst { useServices } = require('stremio/services');\nconst Option = require('./Option');\nconst styles = require('./styles');\n\nconst OptionsMenu = ({ className, stream, playbackDevices, extraSubtitlesTracks, selectedExtraSubtitlesTrackId }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const platform = usePlatform();\n const toast = useToast();\n const [streamingUrl, downloadUrl] = React.useMemo(() => {\n return stream !== null ?\n stream.deepLinks &&\n stream.deepLinks.externalPlayer &&\n [stream.deepLinks.externalPlayer.streaming, stream.deepLinks.externalPlayer.download]\n :\n [null, null];\n }, [stream]);\n const externalDevices = React.useMemo(() => {\n return playbackDevices.filter(({ type }) => type === 'external');\n }, [playbackDevices]);\n\n const subtitlesTrackUrl = React.useMemo(() => {\n const track = extraSubtitlesTracks?.find(({ id }) => id === selectedExtraSubtitlesTrackId);\n return track?.fallbackUrl ?? track?.url ?? null;\n }, [extraSubtitlesTracks, selectedExtraSubtitlesTrackId]);\n\n const onCopyStreamButtonClick = React.useCallback(() => {\n if (streamingUrl || downloadUrl) {\n navigator.clipboard.writeText(streamingUrl || downloadUrl)\n .then(() => {\n toast.show({\n type: 'success',\n title: 'Copied',\n message: t('PLAYER_COPY_STREAM_SUCCESS'),\n timeout: 3000\n });\n })\n .catch((e) => {\n console.error(e);\n toast.show({\n type: 'error',\n title: t('Error'),\n message: `${t('PLAYER_COPY_STREAM_ERROR')}: ${streamingUrl || downloadUrl}`,\n timeout: 3000\n });\n });\n }\n }, [streamingUrl, downloadUrl]);\n const onDownloadVideoButtonClick = React.useCallback(() => {\n if (streamingUrl || downloadUrl) {\n platform.openExternal(streamingUrl || downloadUrl);\n }\n }, [streamingUrl, downloadUrl]);\n\n const onDownloadSubtitlesClick = React.useCallback(() => {\n subtitlesTrackUrl && platform.openExternal(subtitlesTrackUrl);\n }, [subtitlesTrackUrl]);\n\n const onExternalDeviceRequested = React.useCallback((deviceId) => {\n if (streamingUrl) {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'PlayOnDevice',\n args: {\n device: deviceId,\n source: streamingUrl,\n }\n }\n });\n }\n }, [streamingUrl]);\n const onMouseDown = React.useCallback((event) => {\n event.nativeEvent.optionsMenuClosePrevented = true;\n }, []);\n\n return (\n <div className={classnames(className, styles['options-menu-container'])} onMouseDown={onMouseDown}>\n {\n streamingUrl || downloadUrl ?\n <Option\n icon={'link'}\n label={t('CTX_COPY_STREAM_LINK')}\n disabled={stream === null}\n onClick={onCopyStreamButtonClick}\n />\n :\n null\n }\n {\n streamingUrl || downloadUrl ?\n <Option\n icon={'download'}\n label={t('CTX_DOWNLOAD_VIDEO')}\n disabled={stream === null}\n onClick={onDownloadVideoButtonClick}\n />\n :\n null\n }\n {\n subtitlesTrackUrl ?\n <Option\n icon={'download'}\n label={t('CTX_DOWNLOAD_SUBS')}\n disabled={stream === null}\n onClick={onDownloadSubtitlesClick}\n />\n :\n null\n }\n {\n streamingUrl && externalDevices.map(({ id, name }) => (\n <Option\n key={id}\n icon={'vlc'}\n label={t('PLAYER_PLAY_IN', { device: name })}\n deviceId={id}\n disabled={stream === null}\n onClick={onExternalDeviceRequested}\n />\n ))\n }\n </div>\n );\n};\n\nOptionsMenu.propTypes = {\n className: PropTypes.string,\n stream: PropTypes.object,\n playbackDevices: PropTypes.array,\n extraSubtitlesTracks: PropTypes.array,\n selectedExtraSubtitlesTrackId: PropTypes.string,\n};\n\nmodule.exports = OptionsMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst OptionsMenu = require('./OptionsMenu');\n\nmodule.exports = OptionsMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst langs = require('langs');\nconst { useTranslation } = require('react-i18next');\nconst { useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\nconst { onFileDrop, useSettings, useFullscreen, useBinaryState, useToast, useStreamingServer, withCoreSuspender, CONSTANTS, useShell } = require('stremio/common');\nconst { HorizontalNavBar, Transition, ContextMenu } = require('stremio/components');\nconst BufferingLoader = require('./BufferingLoader');\nconst VolumeChangeIndicator = require('./VolumeChangeIndicator');\nconst Error = require('./Error');\nconst ControlBar = require('./ControlBar');\nconst NextVideoPopup = require('./NextVideoPopup');\nconst StatisticsMenu = require('./StatisticsMenu');\nconst OptionsMenu = require('./OptionsMenu');\nconst SubtitlesMenu = require('./SubtitlesMenu');\nconst { default: AudioMenu } = require('./AudioMenu');\nconst SpeedMenu = require('./SpeedMenu');\nconst { default: SideDrawerButton } = require('./SideDrawerButton');\nconst { default: SideDrawer } = require('./SideDrawer');\nconst usePlayer = require('./usePlayer');\nconst useStatistics = require('./useStatistics');\nconst useVideo = require('./useVideo');\nconst styles = require('./styles');\nconst Video = require('./Video');\nconst { default: Indicator } = require('./Indicator/Indicator');\n\nconst Player = ({ urlParams, queryParams }) => {\n const { t } = useTranslation();\n const services = useServices();\n const shell = useShell();\n const forceTranscoding = React.useMemo(() => {\n return queryParams.has('forceTranscoding');\n }, [queryParams]);\n\n const [player, videoParamsChanged, timeChanged, seek, pausedChanged, ended, nextVideo] = usePlayer(urlParams);\n const [settings, updateSettings] = useSettings();\n const streamingServer = useStreamingServer();\n const statistics = useStatistics(player, streamingServer);\n const video = useVideo();\n const routeFocused = useRouteFocused();\n const toast = useToast();\n\n const [seeking, setSeeking] = React.useState(false);\n\n const [casting, setCasting] = React.useState(() => {\n return services.chromecast.active && services.chromecast.transport.getCastState() === cast.framework.CastState.CONNECTED;\n });\n const playbackDevices = React.useMemo(() => streamingServer.playbackDevices !== null && streamingServer.playbackDevices.type === 'Ready' ? streamingServer.playbackDevices.content : [], [streamingServer]);\n\n const bufferingRef = React.useRef();\n const errorRef = React.useRef();\n\n const [immersed, setImmersed] = React.useState(true);\n const setImmersedDebounced = React.useCallback(debounce(setImmersed, 3000), []);\n const [, , , toggleFullscreen] = useFullscreen();\n\n const [optionsMenuOpen, , closeOptionsMenu, toggleOptionsMenu] = useBinaryState(false);\n const [subtitlesMenuOpen, , closeSubtitlesMenu, toggleSubtitlesMenu] = useBinaryState(false);\n const [audioMenuOpen, , closeAudioMenu, toggleAudioMenu] = useBinaryState(false);\n const [speedMenuOpen, , closeSpeedMenu, toggleSpeedMenu] = useBinaryState(false);\n const [statisticsMenuOpen, , closeStatisticsMenu, toggleStatisticsMenu] = useBinaryState(false);\n const [nextVideoPopupOpen, openNextVideoPopup, closeNextVideoPopup] = useBinaryState(false);\n const [sideDrawerOpen, , closeSideDrawer, toggleSideDrawer] = useBinaryState(false);\n\n const menusOpen = React.useMemo(() => {\n return optionsMenuOpen || subtitlesMenuOpen || audioMenuOpen || speedMenuOpen || statisticsMenuOpen || sideDrawerOpen;\n }, [optionsMenuOpen, subtitlesMenuOpen, audioMenuOpen, speedMenuOpen, statisticsMenuOpen, sideDrawerOpen]);\n\n const closeMenus = React.useCallback(() => {\n closeOptionsMenu();\n closeSubtitlesMenu();\n closeAudioMenu();\n closeSpeedMenu();\n closeStatisticsMenu();\n closeSideDrawer();\n }, []);\n\n const overlayHidden = React.useMemo(() => {\n return immersed && !casting && video.state.paused !== null && !video.state.paused && !menusOpen && !nextVideoPopupOpen;\n }, [immersed, casting, video.state.paused, menusOpen, nextVideoPopupOpen]);\n\n const nextVideoPopupDismissed = React.useRef(false);\n const defaultSubtitlesSelected = React.useRef(false);\n const defaultAudioTrackSelected = React.useRef(false);\n const [error, setError] = React.useState(null);\n\n const isNavigating = React.useRef(false);\n\n const onImplementationChanged = React.useCallback(() => {\n video.setProp('subtitlesSize', settings.subtitlesSize);\n video.setProp('subtitlesOffset', settings.subtitlesOffset);\n video.setProp('subtitlesTextColor', settings.subtitlesTextColor);\n video.setProp('subtitlesBackgroundColor', settings.subtitlesBackgroundColor);\n video.setProp('subtitlesOutlineColor', settings.subtitlesOutlineColor);\n video.setProp('extraSubtitlesSize', settings.subtitlesSize);\n video.setProp('extraSubtitlesOffset', settings.subtitlesOffset);\n video.setProp('extraSubtitlesTextColor', settings.subtitlesTextColor);\n video.setProp('extraSubtitlesBackgroundColor', settings.subtitlesBackgroundColor);\n video.setProp('extraSubtitlesOutlineColor', settings.subtitlesOutlineColor);\n }, [settings.subtitlesSize, settings.subtitlesOffset, settings.subtitlesTextColor, settings.subtitlesBackgroundColor, settings.subtitlesOutlineColor]);\n\n const handleNextVideoNavigation = React.useCallback((deepLinks) => {\n if (deepLinks.player) {\n isNavigating.current = true;\n window.location.replace(deepLinks.player);\n } else if (deepLinks.metaDetailsStreams) {\n isNavigating.current = true;\n window.location.replace(deepLinks.metaDetailsStreams);\n }\n }, []);\n\n const onEnded = React.useCallback(() => {\n // here we need to explicitly check for isNavigating.current\n // the ended event can be called multiple times by MPV inside Shell\n if (isNavigating.current) {\n return;\n }\n\n ended();\n if (window.playerNextVideo !== null) {\n nextVideo();\n\n const deepLinks = window.playerNextVideo.deepLinks;\n handleNextVideoNavigation(deepLinks);\n } else {\n window.history.back();\n }\n }, []);\n\n const onError = React.useCallback((error) => {\n console.error('Player', error);\n if (error.critical) {\n setError(error);\n } else {\n toast.show({\n type: 'error',\n title: t('ERROR'),\n message: error.message,\n timeout: 3000\n });\n }\n }, []);\n\n const onSubtitlesTrackLoaded = React.useCallback(() => {\n toast.show({\n type: 'success',\n title: t('PLAYER_SUBTITLES_LOADED'),\n message: t('PLAYER_SUBTITLES_LOADED_EMBEDDED'),\n timeout: 3000\n });\n }, []);\n\n const onExtraSubtitlesTrackLoaded = React.useCallback((track) => {\n toast.show({\n type: 'success',\n title: t('PLAYER_SUBTITLES_LOADED'),\n message:\n track.exclusive ? t('PLAYER_SUBTITLES_LOADED_EXCLUSIVE') :\n track.local ? t('PLAYER_SUBTITLES_LOADED_LOCAL') :\n t('PLAYER_SUBTITLES_LOADED_ORIGIN', { origin: track.origin }),\n timeout: 3000\n });\n }, []);\n\n const onExtraSubtitlesTrackAdded = React.useCallback((track) => {\n if (track.local) {\n video.setExtraSubtitlesTrack(track.id);\n }\n }, []);\n\n const onPlayRequested = React.useCallback(() => {\n video.setProp('paused', false);\n setSeeking(false);\n }, []);\n\n const onPlayRequestedDebounced = React.useCallback(debounce(onPlayRequested, 200), []);\n\n const onPauseRequested = React.useCallback(() => {\n video.setProp('paused', true);\n }, []);\n\n const onPauseRequestedDebounced = React.useCallback(debounce(onPauseRequested, 200), []);\n const onMuteRequested = React.useCallback(() => {\n video.setProp('muted', true);\n }, []);\n\n const onUnmuteRequested = React.useCallback(() => {\n video.setProp('muted', false);\n }, []);\n\n const onVolumeChangeRequested = React.useCallback((volume) => {\n video.setProp('volume', volume);\n }, []);\n\n const onSeekRequested = React.useCallback((time) => {\n video.setProp('time', time);\n seek(time, video.state.duration, video.state.manifest?.name);\n }, [video.state.duration, video.state.manifest]);\n\n const onPlaybackSpeedChanged = React.useCallback((rate) => {\n video.setProp('playbackSpeed', rate);\n }, []);\n\n const onSubtitlesTrackSelected = React.useCallback((id) => {\n video.setSubtitlesTrack(id);\n }, []);\n\n const onExtraSubtitlesTrackSelected = React.useCallback((id) => {\n video.setExtraSubtitlesTrack(id);\n }, []);\n\n const onAudioTrackSelected = React.useCallback((id) => {\n video.setProp('selectedAudioTrackId', id);\n }, []);\n\n const onExtraSubtitlesDelayChanged = React.useCallback((delay) => {\n video.setProp('extraSubtitlesDelay', delay);\n }, []);\n\n const onIncreaseSubtitlesDelay = React.useCallback(() => {\n const delay = video.state.extraSubtitlesDelay + 250;\n onExtraSubtitlesDelayChanged(delay);\n }, [video.state.extraSubtitlesDelay, onExtraSubtitlesDelayChanged]);\n\n const onDecreaseSubtitlesDelay = React.useCallback(() => {\n const delay = video.state.extraSubtitlesDelay - 250;\n onExtraSubtitlesDelayChanged(delay);\n }, [video.state.extraSubtitlesDelay, onExtraSubtitlesDelayChanged]);\n\n const onSubtitlesSizeChanged = React.useCallback((size) => {\n updateSettings({ subtitlesSize: size });\n }, [updateSettings]);\n\n const onUpdateSubtitlesSize = React.useCallback((delta) => {\n const sizeIndex = CONSTANTS.SUBTITLES_SIZES.indexOf(video.state.subtitlesSize);\n const size = CONSTANTS.SUBTITLES_SIZES[Math.max(0, Math.min(CONSTANTS.SUBTITLES_SIZES.length - 1, sizeIndex + delta))];\n onSubtitlesSizeChanged(size);\n }, [video.state.subtitlesSize, onSubtitlesSizeChanged]);\n\n const onSubtitlesOffsetChanged = React.useCallback((offset) => {\n updateSettings({ subtitlesOffset: offset });\n }, [updateSettings]);\n\n const onDismissNextVideoPopup = React.useCallback(() => {\n closeNextVideoPopup();\n nextVideoPopupDismissed.current = true;\n }, []);\n\n const onNextVideoRequested = React.useCallback(() => {\n if (player.nextVideo !== null) {\n nextVideo();\n\n const deepLinks = player.nextVideo.deepLinks;\n handleNextVideoNavigation(deepLinks);\n }\n }, [player.nextVideo, handleNextVideoNavigation]);\n\n const onVideoClick = React.useCallback(() => {\n if (video.state.paused !== null) {\n if (video.state.paused) {\n onPlayRequestedDebounced();\n } else {\n onPauseRequestedDebounced();\n }\n }\n }, [video.state.paused]);\n\n const onVideoDoubleClick = React.useCallback(() => {\n onPlayRequestedDebounced.cancel();\n onPauseRequestedDebounced.cancel();\n toggleFullscreen();\n }, [toggleFullscreen]);\n\n const onContainerMouseDown = React.useCallback((event) => {\n if (!event.nativeEvent.optionsMenuClosePrevented) {\n closeOptionsMenu();\n }\n if (!event.nativeEvent.subtitlesMenuClosePrevented) {\n closeSubtitlesMenu();\n }\n if (!event.nativeEvent.audioMenuClosePrevented) {\n closeAudioMenu();\n }\n if (!event.nativeEvent.speedMenuClosePrevented) {\n closeSpeedMenu();\n }\n if (!event.nativeEvent.statisticsMenuClosePrevented) {\n closeStatisticsMenu();\n }\n\n closeSideDrawer();\n }, []);\n\n const onContainerMouseMove = React.useCallback((event) => {\n setImmersed(false);\n if (!event.nativeEvent.immersePrevented) {\n setImmersedDebounced(true);\n } else {\n setImmersedDebounced.cancel();\n }\n }, []);\n\n const onContainerMouseLeave = React.useCallback(() => {\n setImmersedDebounced.cancel();\n setImmersed(true);\n }, []);\n\n const onBarMouseMove = React.useCallback((event) => {\n event.nativeEvent.immersePrevented = true;\n }, []);\n\n onFileDrop(CONSTANTS.SUPPORTED_LOCAL_SUBTITLES, async (filename, buffer) => {\n video.addLocalSubtitles(filename, buffer);\n });\n\n React.useEffect(() => {\n setError(null);\n video.unload();\n\n if (player.selected && streamingServer.settings?.type !== 'Loading') {\n video.load({\n stream: {\n ...player.selected.stream,\n subtitles: Array.isArray(player.selected.stream.subtitles) ?\n player.selected.stream.subtitles.map((subtitles) => ({\n ...subtitles,\n label: subtitles.url\n }))\n :\n []\n },\n autoplay: true,\n time: player.libraryItem !== null &&\n player.selected.streamRequest !== null &&\n player.selected.streamRequest.path !== null &&\n player.libraryItem.state.video_id === player.selected.streamRequest.path.id ?\n player.libraryItem.state.timeOffset\n :\n 0,\n forceTranscoding: forceTranscoding || casting,\n maxAudioChannels: settings.surroundSound ? 32 : 2,\n hardwareDecoding: settings.hardwareDecoding,\n streamingServerURL: streamingServer.baseUrl ?\n casting ?\n streamingServer.baseUrl\n :\n streamingServer.selected.transportUrl\n :\n null,\n seriesInfo: player.seriesInfo,\n }, {\n chromecastTransport: services.chromecast.active ? services.chromecast.transport : null,\n shellTransport: services.shell.active ? services.shell.transport : null,\n });\n }\n }, [streamingServer.baseUrl, player.selected, forceTranscoding, casting]);\n React.useEffect(() => {\n if (video.state.stream !== null) {\n const tracks = player.subtitles.map((subtitles) => ({\n ...subtitles,\n label: subtitles.url\n }));\n video.addExtraSubtitlesTracks(tracks);\n }\n }, [player.subtitles, video.state.stream]);\n\n React.useEffect(() => {\n video.setProp('subtitlesSize', settings.subtitlesSize);\n video.setProp('extraSubtitlesSize', settings.subtitlesSize);\n }, [settings.subtitlesSize]);\n\n React.useEffect(() => {\n video.setProp('subtitlesOffset', settings.subtitlesOffset);\n video.setProp('extraSubtitlesOffset', settings.subtitlesOffset);\n }, [settings.subtitlesOffset]);\n\n React.useEffect(() => {\n video.setProp('subtitlesTextColor', settings.subtitlesTextColor);\n video.setProp('extraSubtitlesTextColor', settings.subtitlesTextColor);\n }, [settings.subtitlesTextColor]);\n\n React.useEffect(() => {\n video.setProp('subtitlesBackgroundColor', settings.subtitlesBackgroundColor);\n video.setProp('extraSubtitlesBackgroundColor', settings.subtitlesBackgroundColor);\n }, [settings.subtitlesBackgroundColor]);\n\n React.useEffect(() => {\n video.setProp('subtitlesOutlineColor', settings.subtitlesOutlineColor);\n video.setProp('extraSubtitlesOutlineColor', settings.subtitlesOutlineColor);\n }, [settings.subtitlesOutlineColor]);\n\n React.useEffect(() => {\n !seeking && timeChanged(video.state.time, video.state.duration, video.state.manifest?.name);\n }, [video.state.time, video.state.duration, video.state.manifest, seeking]);\n\n React.useEffect(() => {\n if (video.state.paused !== null) {\n pausedChanged(video.state.paused);\n }\n }, [video.state.paused]);\n\n React.useEffect(() => {\n videoParamsChanged(video.state.videoParams);\n }, [video.state.videoParams]);\n\n React.useEffect(() => {\n if (!!settings.bingeWatching && player.nextVideo !== null && !nextVideoPopupDismissed.current) {\n if (video.state.time !== null && video.state.duration !== null && video.state.time < video.state.duration && (video.state.duration - video.state.time) <= settings.nextVideoNotificationDuration) {\n openNextVideoPopup();\n } else {\n closeNextVideoPopup();\n }\n }\n if (player.nextVideo) {\n // This is a workaround for the fact that when we call onEnded nextVideo from the player is already set to null since core unloads the stream\n // we explicitly set it to a global variable so we can access it in the onEnded function\n // this is not a good solution but it works for now\n window.playerNextVideo = player.nextVideo;\n } else {\n window.playerNextVideo = null;\n }\n }, [player.nextVideo, video.state.time, video.state.duration]);\n\n React.useEffect(() => {\n if (!defaultSubtitlesSelected.current) {\n const findTrackByLang = (tracks, lang) => tracks.find((track) => track.lang === lang || langs.where('1', track.lang)?.[2] === lang);\n\n if (settings.subtitlesLanguage === null) {\n onSubtitlesTrackSelected(null);\n onExtraSubtitlesTrackSelected(null);\n defaultSubtitlesSelected.current = true;\n return;\n }\n\n const subtitlesTrack = findTrackByLang(video.state.subtitlesTracks, settings.subtitlesLanguage);\n const extraSubtitlesTrack = findTrackByLang(video.state.extraSubtitlesTracks, settings.subtitlesLanguage);\n\n if (subtitlesTrack && subtitlesTrack.id) {\n onSubtitlesTrackSelected(subtitlesTrack.id);\n defaultSubtitlesSelected.current = true;\n } else if (extraSubtitlesTrack && extraSubtitlesTrack.id) {\n onExtraSubtitlesTrackSelected(extraSubtitlesTrack.id);\n defaultSubtitlesSelected.current = true;\n }\n }\n }, [video.state.subtitlesTracks, video.state.extraSubtitlesTracks]);\n\n React.useEffect(() => {\n if (!defaultAudioTrackSelected.current) {\n const findTrackByLang = (tracks, lang) => tracks.find((track) => track.lang === lang || langs.where('1', track.lang)?.[2] === lang);\n const audioTrack = findTrackByLang(video.state.audioTracks, settings.audioLanguage);\n\n if (audioTrack && audioTrack.id) {\n onAudioTrackSelected(audioTrack.id);\n defaultAudioTrackSelected.current = true;\n }\n }\n }, [video.state.audioTracks]);\n\n React.useEffect(() => {\n defaultSubtitlesSelected.current = false;\n defaultAudioTrackSelected.current = false;\n nextVideoPopupDismissed.current = false;\n // we need a timeout here to make sure that previous page unloads and the new one loads\n // avoiding race conditions and flickering\n setTimeout(() => isNavigating.current = false, 1000);\n }, [video.state.stream]);\n\n React.useEffect(() => {\n if ((!Array.isArray(video.state.subtitlesTracks) || video.state.subtitlesTracks.length === 0) &&\n (!Array.isArray(video.state.extraSubtitlesTracks) || video.state.extraSubtitlesTracks.length === 0)) {\n closeSubtitlesMenu();\n }\n }, [video.state.subtitlesTracks, video.state.extraSubtitlesTracks]);\n\n React.useEffect(() => {\n if (!Array.isArray(video.state.audioTracks) || video.state.audioTracks.length === 0) {\n closeAudioMenu();\n }\n }, [video.state.audioTracks]);\n\n React.useEffect(() => {\n if (video.state.playbackSpeed === null) {\n closeSpeedMenu();\n }\n }, [video.state.playbackSpeed]);\n\n React.useEffect(() => {\n const toastFilter = (item) => item?.dataset?.type === 'CoreEvent';\n toast.addFilter(toastFilter);\n const onCastStateChange = () => {\n setCasting(services.chromecast.active && services.chromecast.transport.getCastState() === cast.framework.CastState.CONNECTED);\n };\n const onChromecastServiceStateChange = () => {\n onCastStateChange();\n if (services.chromecast.active) {\n services.chromecast.transport.on(\n cast.framework.CastContextEventType.CAST_STATE_CHANGED,\n onCastStateChange\n );\n }\n };\n const onCoreEvent = ({ event }) => {\n if (event === 'PlayingOnDevice') {\n onPauseRequested();\n }\n };\n services.chromecast.on('stateChanged', onChromecastServiceStateChange);\n services.core.transport.on('CoreEvent', onCoreEvent);\n onChromecastServiceStateChange();\n return () => {\n toast.removeFilter(toastFilter);\n services.chromecast.off('stateChanged', onChromecastServiceStateChange);\n services.core.transport.off('CoreEvent', onCoreEvent);\n if (services.chromecast.active) {\n services.chromecast.transport.off(\n cast.framework.CastContextEventType.CAST_STATE_CHANGED,\n onCastStateChange\n );\n }\n };\n }, []);\n\n React.useEffect(() => {\n if (settings.pauseOnMinimize && (shell.windowClosed || shell.windowHidden)) {\n onPauseRequested();\n }\n }, [settings.pauseOnMinimize, shell.windowClosed, shell.windowHidden]);\n\n React.useLayoutEffect(() => {\n const onKeyDown = (event) => {\n switch (event.code) {\n case 'Space': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.paused !== null) {\n if (video.state.paused) {\n onPlayRequested();\n setSeeking(false);\n } else {\n onPauseRequested();\n }\n }\n\n break;\n }\n case 'ArrowRight': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.time !== null) {\n const seekDuration = event.shiftKey ? settings.seekShortTimeDuration : settings.seekTimeDuration;\n setSeeking(true);\n onSeekRequested(video.state.time + seekDuration);\n }\n\n break;\n }\n case 'ArrowLeft': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.time !== null) {\n const seekDuration = event.shiftKey ? settings.seekShortTimeDuration : settings.seekTimeDuration;\n setSeeking(true);\n onSeekRequested(video.state.time - seekDuration);\n }\n\n break;\n }\n case 'ArrowUp': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.volume !== null) {\n onVolumeChangeRequested(Math.min(video.state.volume + 5, 200));\n }\n\n break;\n }\n case 'ArrowDown': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.volume !== null) {\n onVolumeChangeRequested(Math.max(video.state.volume - 5, 0));\n }\n\n break;\n }\n case 'KeyS': {\n closeMenus();\n if ((Array.isArray(video.state.subtitlesTracks) && video.state.subtitlesTracks.length > 0) ||\n (Array.isArray(video.state.extraSubtitlesTracks) && video.state.extraSubtitlesTracks.length > 0)) {\n toggleSubtitlesMenu();\n }\n\n break;\n }\n case 'KeyA': {\n closeMenus();\n if (Array.isArray(video.state.audioTracks) && video.state.audioTracks.length > 0) {\n toggleAudioMenu();\n }\n\n break;\n }\n case 'KeyI': {\n closeMenus();\n if (player.metaItem !== null && player.metaItem.type === 'Ready') {\n toggleSideDrawer();\n }\n\n break;\n }\n case 'KeyR': {\n closeMenus();\n if (video.state.playbackSpeed !== null) {\n toggleSpeedMenu();\n }\n\n break;\n }\n case 'KeyD': {\n closeMenus();\n if (streamingServer.statistics !== null && streamingServer.statistics.type !== 'Err' && player.selected && typeof player.selected.stream.infoHash === 'string' && typeof player.selected.stream.fileIdx === 'number') {\n toggleStatisticsMenu();\n }\n\n break;\n }\n case 'KeyG': {\n onDecreaseSubtitlesDelay();\n break;\n }\n case 'KeyH': {\n onIncreaseSubtitlesDelay();\n break;\n }\n case 'Minus': {\n onUpdateSubtitlesSize(-1);\n break;\n }\n case 'Equal': {\n onUpdateSubtitlesSize(1);\n break;\n }\n case 'Escape': {\n closeMenus();\n !settings.escExitFullscreen && window.history.back();\n break;\n }\n }\n };\n const onKeyUp = (event) => {\n if (event.code === 'ArrowRight' || event.code === 'ArrowLeft') {\n setSeeking(false);\n }\n };\n const onWheel = ({ deltaY }) => {\n if (menusOpen || video.state.volume === null) return;\n\n if (deltaY > 0) {\n onVolumeChangeRequested(Math.max(video.state.volume - 5, 0));\n } else {\n if (video.state.volume < 100) {\n onVolumeChangeRequested(Math.min(video.state.volume + 5, 100));\n }\n }\n };\n if (routeFocused) {\n window.addEventListener('keydown', onKeyDown);\n window.addEventListener('keyup', onKeyUp);\n window.addEventListener('wheel', onWheel);\n }\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n window.removeEventListener('keyup', onKeyUp);\n window.removeEventListener('wheel', onWheel);\n };\n }, [\n player.metaItem,\n player.selected,\n streamingServer.statistics,\n settings.seekTimeDuration,\n settings.seekShortTimeDuration,\n settings.escExitFullscreen,\n routeFocused,\n menusOpen,\n nextVideoPopupOpen,\n video.state.paused,\n video.state.time,\n video.state.volume,\n video.state.audioTracks,\n video.state.subtitlesTracks,\n video.state.extraSubtitlesTracks,\n video.state.playbackSpeed,\n toggleSubtitlesMenu,\n toggleStatisticsMenu,\n toggleSideDrawer,\n onDecreaseSubtitlesDelay,\n onIncreaseSubtitlesDelay,\n onUpdateSubtitlesSize,\n ]);\n\n React.useEffect(() => {\n video.events.on('error', onError);\n video.events.on('ended', onEnded);\n video.events.on('subtitlesTrackLoaded', onSubtitlesTrackLoaded);\n video.events.on('extraSubtitlesTrackLoaded', onExtraSubtitlesTrackLoaded);\n video.events.on('extraSubtitlesTrackAdded', onExtraSubtitlesTrackAdded);\n video.events.on('implementationChanged', onImplementationChanged);\n\n return () => {\n video.events.off('error', onError);\n video.events.off('ended', onEnded);\n video.events.off('subtitlesTrackLoaded', onSubtitlesTrackLoaded);\n video.events.off('extraSubtitlesTrackLoaded', onExtraSubtitlesTrackLoaded);\n video.events.off('extraSubtitlesTrackAdded', onExtraSubtitlesTrackAdded);\n video.events.off('implementationChanged', onImplementationChanged);\n };\n }, []);\n\n React.useLayoutEffect(() => {\n return () => {\n setImmersedDebounced.cancel();\n onPlayRequestedDebounced.cancel();\n onPauseRequestedDebounced.cancel();\n };\n }, []);\n\n return (\n <div className={classnames(styles['player-container'], { [styles['overlayHidden']]: overlayHidden })}\n onMouseDown={onContainerMouseDown}\n onMouseMove={onContainerMouseMove}\n onMouseOver={onContainerMouseMove}\n onMouseLeave={onContainerMouseLeave}>\n <Video\n ref={video.containerRef}\n className={styles['layer']}\n onClick={onVideoClick}\n onDoubleClick={onVideoDoubleClick}\n />\n {\n !video.state.loaded ?\n <div className={classnames(styles['layer'], styles['background-layer'])}>\n <img className={styles['image']} src={player?.metaItem?.content?.background} />\n </div>\n :\n null\n }\n {\n (video.state.buffering || !video.state.loaded) && !error ?\n <BufferingLoader\n ref={bufferingRef}\n className={classnames(styles['layer'], styles['buffering-layer'])}\n logo={player?.metaItem?.content?.logo}\n />\n :\n null\n }\n {\n error !== null ?\n <Error\n ref={errorRef}\n className={classnames(styles['layer'], styles['error-layer'])}\n stream={video.state.stream}\n {...error}\n />\n :\n null\n }\n {\n menusOpen ?\n <div className={styles['layer']} />\n :\n null\n }\n {\n video.state.volume !== null && overlayHidden ?\n <VolumeChangeIndicator\n muted={video.state.muted}\n volume={video.state.volume}\n />\n :\n null\n }\n <ContextMenu on={[video.containerRef, bufferingRef, errorRef]} autoClose>\n <OptionsMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n stream={player?.selected?.stream}\n playbackDevices={playbackDevices}\n extraSubtitlesTracks={video.state.extraSubtitlesTracks}\n selectedExtraSubtitlesTrackId={video.state.selectedExtraSubtitlesTrackId}\n />\n </ContextMenu>\n <HorizontalNavBar\n className={classnames(styles['layer'], styles['nav-bar-layer'])}\n title={player.title !== null ? player.title : ''}\n backButton={true}\n fullscreenButton={true}\n onMouseMove={onBarMouseMove}\n onMouseOver={onBarMouseMove}\n />\n {\n player.metaItem?.type === 'Ready' ?\n <SideDrawerButton\n className={classnames(styles['layer'], styles['side-drawer-button-layer'])}\n onClick={toggleSideDrawer}\n />\n :\n null\n }\n <ControlBar\n className={classnames(styles['layer'], styles['control-bar-layer'])}\n paused={video.state.paused}\n time={video.state.time}\n duration={video.state.duration}\n buffered={video.state.buffered}\n volume={video.state.volume}\n muted={video.state.muted}\n playbackSpeed={video.state.playbackSpeed}\n subtitlesTracks={video.state.subtitlesTracks.concat(video.state.extraSubtitlesTracks)}\n audioTracks={video.state.audioTracks}\n metaItem={player.metaItem}\n nextVideo={player.nextVideo}\n stream={player.selected !== null ? player.selected.stream : null}\n statistics={statistics}\n onPlayRequested={onPlayRequested}\n onPauseRequested={onPauseRequested}\n onNextVideoRequested={onNextVideoRequested}\n onMuteRequested={onMuteRequested}\n onUnmuteRequested={onUnmuteRequested}\n onVolumeChangeRequested={onVolumeChangeRequested}\n onSeekRequested={onSeekRequested}\n onToggleOptionsMenu={toggleOptionsMenu}\n onToggleSubtitlesMenu={toggleSubtitlesMenu}\n onToggleAudioMenu={toggleAudioMenu}\n onToggleSpeedMenu={toggleSpeedMenu}\n onToggleStatisticsMenu={toggleStatisticsMenu}\n onToggleSideDrawer={toggleSideDrawer}\n onMouseMove={onBarMouseMove}\n onMouseOver={onBarMouseMove}\n onTouchEnd={onContainerMouseLeave}\n />\n <Indicator\n className={classnames(styles['layer'], styles['indicator-layer'])}\n videoState={video.state}\n disabled={subtitlesMenuOpen}\n />\n {\n nextVideoPopupOpen ?\n <NextVideoPopup\n className={classnames(styles['layer'], styles['menu-layer'])}\n metaItem={player.metaItem !== null && player.metaItem.type === 'Ready' ? player.metaItem.content : null}\n nextVideo={player.nextVideo}\n onDismiss={onDismissNextVideoPopup}\n onNextVideoRequested={onNextVideoRequested}\n />\n :\n null\n }\n {\n statisticsMenuOpen ?\n <StatisticsMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n {...statistics}\n />\n :\n null\n }\n <Transition when={sideDrawerOpen} name={'slide-left'}>\n <SideDrawer\n className={classnames(styles['layer'], styles['side-drawer-layer'])}\n metaItem={player.metaItem?.content}\n seriesInfo={player.seriesInfo}\n closeSideDrawer={closeSideDrawer}\n selected={player.selected?.streamRequest?.path.id}\n />\n </Transition>\n {\n subtitlesMenuOpen ?\n <SubtitlesMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n subtitlesTracks={video.state.subtitlesTracks}\n selectedSubtitlesTrackId={video.state.selectedSubtitlesTrackId}\n subtitlesOffset={video.state.subtitlesOffset}\n subtitlesSize={video.state.subtitlesSize}\n extraSubtitlesTracks={video.state.extraSubtitlesTracks}\n selectedExtraSubtitlesTrackId={video.state.selectedExtraSubtitlesTrackId}\n extraSubtitlesOffset={video.state.extraSubtitlesOffset}\n extraSubtitlesDelay={video.state.extraSubtitlesDelay}\n extraSubtitlesSize={video.state.extraSubtitlesSize}\n onSubtitlesTrackSelected={onSubtitlesTrackSelected}\n onExtraSubtitlesTrackSelected={onExtraSubtitlesTrackSelected}\n onSubtitlesOffsetChanged={onSubtitlesOffsetChanged}\n onSubtitlesSizeChanged={onSubtitlesSizeChanged}\n onExtraSubtitlesOffsetChanged={onSubtitlesOffsetChanged}\n onExtraSubtitlesDelayChanged={onExtraSubtitlesDelayChanged}\n onExtraSubtitlesSizeChanged={onSubtitlesSizeChanged}\n />\n :\n null\n }\n {\n audioMenuOpen ?\n <AudioMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n audioTracks={video.state.audioTracks}\n selectedAudioTrackId={video.state.selectedAudioTrackId}\n onAudioTrackSelected={onAudioTrackSelected}\n />\n :\n null\n }\n {\n speedMenuOpen ?\n <SpeedMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n playbackSpeed={video.state.playbackSpeed}\n onPlaybackSpeedChanged={onPlaybackSpeedChanged}\n />\n :\n null\n }\n {\n optionsMenuOpen ?\n <OptionsMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n stream={player.selected.stream}\n playbackDevices={playbackDevices}\n extraSubtitlesTracks={video.state.extraSubtitlesTracks}\n selectedExtraSubtitlesTrackId={video.state.selectedExtraSubtitlesTrackId}\n />\n :\n null\n }\n </div>\n );\n};\n\nPlayer.propTypes = {\n urlParams: PropTypes.shape({\n stream: PropTypes.string,\n streamTransportUrl: PropTypes.string,\n metaTransportUrl: PropTypes.string,\n type: PropTypes.string,\n id: PropTypes.string,\n videoId: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst PlayerFallback = () => (\n <div className={classnames(styles['player-container'])} />\n);\n\nmodule.exports = withCoreSuspender(Player, PlayerFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { Button } = require('stremio/components');\nconst styles = require('./styles');\n\nconst OptionButton = ({ className, value, selected, onSelect }) => {\n const onClick = React.useCallback(() => {\n if (typeof onSelect === 'function') {\n onSelect(value);\n }\n }, [onSelect, value]);\n return (\n <Button\n className={classnames(className, styles['option'], { 'selected': selected })}\n onClick={onClick}\n >\n <div className={styles['label']}>{ value }x</div>\n <div className={styles['icon']} />\n </Button>\n );\n};\n\nOptionButton.propTypes = {\n className: PropTypes.string,\n value: PropTypes.number,\n selected: PropTypes.bool,\n onSelect: PropTypes.func,\n};\n\nmodule.exports = OptionButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Option = require('./Option');\n\nmodule.exports = Option;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst Option = require('./Option');\nconst styles = require('./styles');\n\nconst RATES = Array.from(Array(8).keys(), (n) => n * 0.25 + 0.25).reverse();\n\nconst SpeedMenu = ({ className, playbackSpeed, onPlaybackSpeedChanged }) => {\n const { t } = useTranslation();\n const onMouseDown = React.useCallback((event) => {\n event.nativeEvent.speedMenuClosePrevented = true;\n }, []);\n const onOptionSelect = React.useCallback((value) => {\n if (typeof onPlaybackSpeedChanged === 'function') {\n onPlaybackSpeedChanged(value);\n }\n }, [onPlaybackSpeedChanged]);\n return (\n <div className={classnames(className, styles['speed-menu-container'])} onMouseDown={onMouseDown}>\n <div className={styles['title']}>\n { t('PLAYBACK_SPEED') }\n </div>\n <div className={styles['options-container']}>\n {\n RATES.map((rate) => (\n <Option\n className={styles['option']}\n key={rate}\n value={rate}\n selected={rate === playbackSpeed}\n onSelect={onOptionSelect}\n />\n ))\n }\n </div>\n </div>\n );\n};\n\nSpeedMenu.propTypes = {\n className: PropTypes.string,\n playbackSpeed: PropTypes.number,\n onPlaybackSpeedChanged: PropTypes.func,\n};\n\nmodule.exports = SpeedMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SpeedMenu = require('./SpeedMenu');\n\nmodule.exports = SpeedMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst classNames = require('classnames');\nconst PropTypes = require('prop-types');\nconst styles = require('./styles.less');\n\nconst StatisticsMenu = ({ className, peers, speed, completed, infoHash }) => {\n const { t } = useTranslation();\n return (\n <div className={classNames(className, styles['statistics-menu-container'])}>\n <div className={styles['title']}>\n {t('PLAYER_STATISTICS')}\n </div>\n <div className={styles['stats']}>\n <div className={styles['stat']}>\n <div className={styles['label']}>\n {t('PLAYER_PEERS')}\n </div>\n <div className={styles['value']}>\n { peers }\n </div>\n </div>\n <div className={styles['stat']}>\n <div className={styles['label']}>\n {t('PLAYER_SPEED')}\n </div>\n <div className={styles['value']}>\n {`${speed} ${t('MB_S')}`}\n </div>\n </div>\n <div className={styles['stat']}>\n <div className={styles['label']}>\n {t('PLAYER_COMPLETED')}\n </div>\n <div className={styles['value']}>\n { Math.min(completed, 100) } %\n </div>\n </div>\n </div>\n <div className={styles['info-hash']}>\n <div className={styles['label']}>\n {t('PLAYER_INFO_HASH')}\n </div>\n <div className={styles['value']}>\n { infoHash }\n </div>\n </div>\n </div>\n );\n};\n\nStatisticsMenu.propTypes = {\n className: PropTypes.string,\n peers: PropTypes.number,\n speed: PropTypes.number,\n completed: PropTypes.number,\n infoHash: PropTypes.string,\n};\n\nmodule.exports = StatisticsMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst StatisticsMenu = require('./StatisticsMenu');\nmodule.exports = StatisticsMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { comparatorWithPriorities, languages } = require('stremio/common');\nconst { SUBTITLES_SIZES } = require('stremio/common/CONSTANTS');\nconst { Button } = require('stremio/components');\nconst styles = require('./styles');\nconst { t } = require('i18next');\nconst { default: Stepper } = require('./Stepper');\n\nconst ORIGIN_PRIORITIES = {\n 'LOCAL': 3,\n 'EMBEDDED': 2,\n 'EXCLUSIVE': 1,\n};\nconst LANGUAGE_PRIORITIES = {\n 'local': 2,\n 'eng': 1,\n};\n\nconst SubtitlesMenu = React.memo((props) => {\n const subtitlesLanguages = React.useMemo(() => {\n return (Array.isArray(props.subtitlesTracks) ? props.subtitlesTracks : [])\n .concat(Array.isArray(props.extraSubtitlesTracks) ? props.extraSubtitlesTracks : [])\n .reduce((subtitlesLanguages, { lang }) => {\n if (!subtitlesLanguages.includes(lang)) {\n subtitlesLanguages.push(lang);\n }\n\n return subtitlesLanguages;\n }, [])\n .sort(comparatorWithPriorities(LANGUAGE_PRIORITIES));\n }, [props.subtitlesTracks, props.extraSubtitlesTracks]);\n const selectedSubtitlesLanguage = React.useMemo(() => {\n return typeof props.selectedSubtitlesTrackId === 'string' ?\n (Array.isArray(props.subtitlesTracks) ? props.subtitlesTracks : [])\n .reduce((selectedSubtitlesLanguage, { id, lang }) => {\n if (id === props.selectedSubtitlesTrackId) {\n return lang;\n }\n\n return selectedSubtitlesLanguage;\n }, null)\n :\n typeof props.selectedExtraSubtitlesTrackId === 'string' ?\n (Array.isArray(props.extraSubtitlesTracks) ? props.extraSubtitlesTracks : [])\n .reduce((selectedSubtitlesLanguage, { id, lang }) => {\n if (id === props.selectedExtraSubtitlesTrackId) {\n return lang;\n }\n\n return selectedSubtitlesLanguage;\n }, null)\n :\n null;\n }, [props.subtitlesTracks, props.extraSubtitlesTracks, props.selectedSubtitlesTrackId, props.selectedExtraSubtitlesTrackId]);\n const subtitlesTracksForLanguage = React.useMemo(() => {\n return (Array.isArray(props.subtitlesTracks) ? props.subtitlesTracks : [])\n .concat(Array.isArray(props.extraSubtitlesTracks) ? props.extraSubtitlesTracks : [])\n .filter(({ lang }) => lang === selectedSubtitlesLanguage)\n .sort((t1, t2) => comparatorWithPriorities(ORIGIN_PRIORITIES)(t1.origin, t2.origin));\n }, [props.subtitlesTracks, props.extraSubtitlesTracks, selectedSubtitlesLanguage]);\n const onMouseDown = React.useCallback((event) => {\n event.nativeEvent.subtitlesMenuClosePrevented = true;\n }, []);\n const subtitlesLanguageOnClick = React.useCallback((event) => {\n const track = (Array.isArray(props.subtitlesTracks) ? props.subtitlesTracks : [])\n .concat(Array.isArray(props.extraSubtitlesTracks) ? props.extraSubtitlesTracks : [])\n .filter(({ lang }) => lang === event.currentTarget.dataset.lang)\n .sort((t1, t2) => comparatorWithPriorities(ORIGIN_PRIORITIES)(t1.origin, t2.origin))\n .shift();\n if (!track) {\n if (typeof props.onSubtitlesTrackSelected === 'function') {\n props.onSubtitlesTrackSelected(null);\n }\n if (typeof props.onExtraSubtitlesTrackSelected === 'function') {\n props.onExtraSubtitlesTrackSelected(null);\n }\n } else if (track.embedded) {\n if (typeof props.onSubtitlesTrackSelected === 'function') {\n props.onSubtitlesTrackSelected(track.id);\n }\n } else {\n if (typeof props.onExtraSubtitlesTrackSelected === 'function') {\n props.onExtraSubtitlesTrackSelected(track.id);\n }\n }\n }, [props.subtitlesTracks, props.extraSubtitlesTracks, props.onSubtitlesTrackSelected, props.onExtraSubtitlesTrackSelected]);\n const subtitlesTrackOnClick = React.useCallback((event) => {\n if (event.currentTarget.dataset.embedded === 'true') {\n if (typeof props.onSubtitlesTrackSelected === 'function') {\n props.onSubtitlesTrackSelected(event.currentTarget.dataset.id);\n }\n } else {\n if (typeof props.onExtraSubtitlesTrackSelected === 'function') {\n props.onExtraSubtitlesTrackSelected(event.currentTarget.dataset.id);\n }\n }\n }, [props.onSubtitlesTrackSelected, props.onExtraSubtitlesTrackSelected]);\n const onSubtitlesDelayChanged = React.useCallback((value) => {\n if (typeof props.selectedExtraSubtitlesTrackId === 'string') {\n if (props.extraSubtitlesDelay !== null && !isNaN(props.extraSubtitlesDelay)) {\n if (typeof props.onExtraSubtitlesDelayChanged === 'function') {\n props.onExtraSubtitlesDelayChanged(value * 1000);\n }\n }\n }\n }, [props.selectedExtraSubtitlesTrackId, props.extraSubtitlesDelay, props.onExtraSubtitlesDelayChanged]);\n const onSubtitlesSizeChanged = React.useCallback((value) => {\n if (typeof props.selectedSubtitlesTrackId === 'string') {\n if (props.subtitlesSize !== null && !isNaN(props.subtitlesSize)) {\n if (typeof props.onSubtitlesSizeChanged === 'function') {\n props.onSubtitlesSizeChanged(value);\n }\n }\n } else if (typeof props.selectedExtraSubtitlesTrackId === 'string') {\n if (props.extraSubtitlesSize !== null && !isNaN(props.extraSubtitlesSize)) {\n if (typeof props.onExtraSubtitlesSizeChanged === 'function') {\n props.onExtraSubtitlesSizeChanged(value);\n }\n }\n }\n }, [props.selectedSubtitlesTrackId, props.selectedExtraSubtitlesTrackId, props.subtitlesSize, props.extraSubtitlesSize, props.onSubtitlesSizeChanged, props.onExtraSubtitlesSizeChanged]);\n const onSubtitlesOffsetChanged = React.useCallback((value) => {\n if (typeof props.selectedSubtitlesTrackId === 'string') {\n if (props.subtitlesOffset !== null && !isNaN(props.subtitlesOffset)) {\n if (typeof props.onSubtitlesOffsetChanged === 'function') {\n props.onSubtitlesOffsetChanged(value);\n }\n }\n } else if (typeof props.selectedExtraSubtitlesTrackId === 'string') {\n if (props.extraSubtitlesOffset !== null && !isNaN(props.extraSubtitlesOffset)) {\n if (typeof props.onExtraSubtitlesOffsetChanged === 'function') {\n props.onExtraSubtitlesOffsetChanged(value);\n }\n }\n }\n }, [props.selectedSubtitlesTrackId, props.selectedExtraSubtitlesTrackId, props.subtitlesOffset, props.extraSubtitlesOffset, props.onSubtitlesOffsetChanged, props.onExtraSubtitlesOffsetChanged]);\n return (\n <div className={classnames(props.className, styles['subtitles-menu-container'])} onMouseDown={onMouseDown}>\n <div className={styles['languages-container']}>\n <div className={styles['languages-header']}>{ t('PLAYER_SUBTITLES_LANGUAGES') }</div>\n <div className={styles['languages-list']}>\n <Button title={t('OFF')} className={classnames(styles['language-option'], { 'selected': selectedSubtitlesLanguage === null })} onClick={subtitlesLanguageOnClick}>\n <div className={styles['language-label']}>{ t('OFF') }</div>\n {\n selectedSubtitlesLanguage === null ?\n <div className={styles['icon']} />\n :\n null\n }\n </Button>\n {subtitlesLanguages.map((lang, index) => (\n <Button key={index} title={languages.label(lang)} className={classnames(styles['language-option'], { 'selected': selectedSubtitlesLanguage === lang })} data-lang={lang} onClick={subtitlesLanguageOnClick}>\n <div className={styles['language-label']}>\n {\n lang === 'local' ? t('LOCAL') : languages.label(lang)\n }\n </div>\n {\n selectedSubtitlesLanguage === lang ?\n <div className={styles['icon']} />\n :\n null\n }\n </Button>\n ))}\n </div>\n </div>\n <div className={styles['variants-container']}>\n <div className={styles['variants-header']}>{ t('PLAYER_SUBTITLES_VARIANTS') }</div>\n {\n subtitlesTracksForLanguage.length > 0 ?\n <div className={styles['variants-list']}>\n {subtitlesTracksForLanguage.map((track, index) => (\n <Button key={index} title={track.label} className={classnames(styles['variant-option'], { 'selected': props.selectedSubtitlesTrackId === track.id || props.selectedExtraSubtitlesTrackId === track.id })} data-id={track.id} data-origin={track.origin} data-embedded={track.embedded} onClick={subtitlesTrackOnClick}>\n <div className={styles['info']}>\n <div className={styles['variant-label']}>\n {\n languages.label(!track.label.startsWith('http') ? track.label : track.lang)\n }\n </div>\n <div className={styles['variant-origin']}>\n { t(track.origin) }\n </div>\n </div>\n {\n props.selectedSubtitlesTrackId === track.id || props.selectedExtraSubtitlesTrackId === track.id ?\n <div className={styles['icon']} />\n :\n null\n }\n </Button>\n ))}\n </div>\n :\n <div className={styles['no-variants-container']}>\n <div className={styles['no-variants-label']}>\n { t('PLAYER_SUBTITLES_DISABLED') }\n </div>\n </div>\n }\n </div>\n <div className={styles['subtitles-settings-container']}>\n <div className={styles['settings-header']}>{t('PLAYER_SUBTITLES_SETTINGS')}</div>\n <div className={styles['settings-list']}>\n <Stepper\n className={styles['stepper']}\n label={'DELAY'}\n value={props.extraSubtitlesDelay / 1000}\n unit={'s'}\n step={0.25}\n disabled={props.extraSubtitlesDelay === null}\n onChange={onSubtitlesDelayChanged}\n />\n <Stepper\n className={styles['stepper']}\n label={'SIZE'}\n value={props.selectedSubtitlesTrackId ? props.subtitlesSize : props.selectedExtraSubtitlesTrackId ? props.extraSubtitlesSize : null}\n unit={'%'}\n step={25}\n min={SUBTITLES_SIZES[0]}\n max={SUBTITLES_SIZES[SUBTITLES_SIZES.length - 1]}\n disabled={(props.selectedSubtitlesTrackId && props.subtitlesSize === null) || (props.selectedExtraSubtitlesTrackId && props.extraSubtitlesSize === null)}\n onChange={onSubtitlesSizeChanged}\n />\n <Stepper\n className={styles['stepper']}\n label={'PLAYER_SUBTITLES_VERTICAL_POSIITON'}\n value={props.selectedSubtitlesTrackId ? props.subtitlesOffset : props.selectedExtraSubtitlesTrackId ? props.extraSubtitlesOffset : null}\n unit={'%'}\n step={1}\n min={0}\n max={100}\n disabled={(props.selectedSubtitlesTrackId && props.subtitlesOffset === null) || (props.selectedExtraSubtitlesTrackId && props.extraSubtitlesOffset === null)}\n onChange={onSubtitlesOffsetChanged}\n />\n </div>\n </div>\n </div>\n );\n});\n\nSubtitlesMenu.displayName = 'MainNavBars';\n\nSubtitlesMenu.propTypes = {\n className: PropTypes.string,\n subtitlesTracks: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n lang: PropTypes.string.isRequired,\n origin: PropTypes.string.isRequired\n })),\n selectedSubtitlesTrackId: PropTypes.string,\n subtitlesOffset: PropTypes.number,\n subtitlesSize: PropTypes.number,\n extraSubtitlesTracks: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n lang: PropTypes.string.isRequired,\n origin: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired\n })),\n selectedExtraSubtitlesTrackId: PropTypes.string,\n extraSubtitlesOffset: PropTypes.number,\n extraSubtitlesDelay: PropTypes.number,\n extraSubtitlesSize: PropTypes.number,\n onSubtitlesTrackSelected: PropTypes.func,\n onExtraSubtitlesTrackSelected: PropTypes.func,\n onSubtitlesOffsetChanged: PropTypes.func,\n onSubtitlesSizeChanged: PropTypes.func,\n onExtraSubtitlesOffsetChanged: PropTypes.func,\n onExtraSubtitlesDelayChanged: PropTypes.func,\n onExtraSubtitlesSizeChanged: PropTypes.func\n};\n\nmodule.exports = SubtitlesMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SubtitlesMenu = require('./SubtitlesMenu');\n\nmodule.exports = SubtitlesMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst styles = require('./styles');\n\nconst Video = React.forwardRef(({ className, onClick, onDoubleClick }, ref) => {\n return (\n <div className={classnames(className, styles['video-container'])} onClick={onClick} onDoubleClick={onDoubleClick}>\n <div ref={ref} className={styles['video']} />\n </div>\n );\n});\n\nVideo.displayName = 'Video';\n\nVideo.propTypes = {\n className: PropTypes.string,\n onClick: PropTypes.func,\n onDoubleClick: PropTypes.func,\n};\n\nmodule.exports = Video;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Video = require('./Video');\n\nmodule.exports = Video;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst VolumeSlider = require('../ControlBar/VolumeSlider');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { default: classNames } = require('classnames');\nconst PropTypes = require('prop-types');\nconst styles = require('./styles');\nconst { useBinaryState } = require('stremio/common');\n\nconst VolumeChangeIndicator = React.memo(({ muted, volume }) => {\n const [volumeIndicatorOpen, openVolumeIndicator, closeVolumeIndicator] = useBinaryState(false);\n const volumeChangeTimeout = React.useRef(null);\n const prevVolume = React.useRef(volume);\n\n const iconName = React.useMemo(() => {\n return (typeof muted === 'boolean' && muted) ? 'volume-mute' :\n volume === null || isNaN(volume) ? 'volume-off' :\n volume === 0 ? 'volume-mute' :\n volume < 30 ? 'volume-low' :\n volume < 70 ? 'volume-medium' :\n 'volume-high';\n }, [muted, volume]);\n\n React.useEffect(() => {\n if (prevVolume.current !== volume) {\n openVolumeIndicator();\n if (volumeChangeTimeout.current) clearTimeout(volumeChangeTimeout.current);\n volumeChangeTimeout.current = setTimeout(closeVolumeIndicator, 1500);\n }\n\n prevVolume.current = volume;\n }, [volume]);\n\n React.useEffect(() => {\n return () => {\n if (volumeChangeTimeout.current) clearTimeout(volumeChangeTimeout.current);\n };\n }, []);\n\n return (\n <React.Fragment>\n {\n volumeIndicatorOpen ?\n <div className={classNames(styles['layer'], styles['volume-change-indicator'])}>\n <Icon name={iconName} className={styles['volume-icon']} />\n <VolumeSlider volume={volume} className={styles['volume-slider']} />\n </div>\n :\n null\n }\n </React.Fragment>\n );\n});\n\nVolumeChangeIndicator.displayName = 'VolumeChangeIndicator';\n\nmodule.exports = VolumeChangeIndicator;\n\nVolumeChangeIndicator.propTypes = {\n muted: PropTypes.bool,\n volume: PropTypes.number\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VolumeChangeIndicator = require('./VolumeChangeIndicator');\n\nmodule.exports = VolumeChangeIndicator;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Player = require('./Player');\n\nmodule.exports = Player;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useModelState, useCoreSuspender } = require('stremio/common');\n\nconst map = (player) => ({\n ...player,\n metaItem: player.metaItem !== null && player.metaItem.type === 'Ready' ?\n {\n ...player.metaItem,\n content: {\n ...player.metaItem.content,\n released: new Date(\n typeof player.metaItem.content.released === 'string' ?\n player.metaItem.content.released\n :\n NaN\n ),\n videos: player.metaItem.content.videos.map((video) => ({\n ...video,\n released: new Date(\n typeof video.released === 'string' ?\n video.released\n :\n NaN\n ),\n }))\n }\n }\n :\n player.metaItem,\n});\n\nconst usePlayer = (urlParams) => {\n const { core } = useServices();\n const { decodeStream } = useCoreSuspender();\n const stream = decodeStream(urlParams.stream);\n const action = React.useMemo(() => {\n if (stream !== null) {\n return {\n action: 'Load',\n args: {\n model: 'Player',\n args: {\n stream,\n streamRequest: typeof urlParams.streamTransportUrl === 'string' && typeof urlParams.type === 'string' && typeof urlParams.videoId === 'string' ?\n {\n base: urlParams.streamTransportUrl,\n path: {\n resource: 'stream',\n type: urlParams.type,\n id: urlParams.videoId,\n extra: []\n }\n }\n :\n null,\n metaRequest: typeof urlParams.metaTransportUrl === 'string' && typeof urlParams.type === 'string' && typeof urlParams.id === 'string' ?\n {\n base: urlParams.metaTransportUrl,\n path: {\n resource: 'meta',\n type: urlParams.type,\n id: urlParams.id,\n extra: []\n }\n }\n :\n null,\n subtitlesPath: typeof urlParams.type === 'string' && typeof urlParams.videoId === 'string' ?\n {\n resource: 'subtitles',\n type: urlParams.type,\n id: urlParams.videoId,\n extra: []\n }\n :\n null\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [urlParams]);\n const videoParamsChanged = React.useCallback((videoParams) => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'VideoParamsChanged',\n args: { videoParams }\n }\n }, 'player');\n }, []);\n const timeChanged = React.useCallback((time, duration, device) => {\n if (typeof time === 'number' && typeof duration === 'number' && typeof device === 'string') {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'TimeChanged',\n args: {\n time: Math.max(0, Math.round(time)),\n duration: Math.max(0, Math.round(duration)),\n device,\n }\n }\n }, 'player');\n }\n }, []);\n\n const seek = React.useCallback((time, duration, device) => {\n if (typeof time === 'number' && typeof duration === 'number' && typeof device === 'string') {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'Seek',\n args: {\n time: Math.max(0, Math.round(time)),\n duration: Math.max(0, Math.round(duration)),\n device,\n }\n }\n }, 'player');\n }\n }, []);\n\n const ended = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'Ended'\n }\n }, 'player');\n }, []);\n const pausedChanged = React.useCallback((paused) => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'PausedChanged',\n args: { paused }\n }\n }, 'player');\n }, []);\n const nextVideo = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'NextVideo'\n }\n }, 'player');\n }, []);\n\n const player = useModelState({ model: 'player', action, map });\n return [player, videoParamsChanged, timeChanged, seek, pausedChanged, ended, nextVideo];\n};\n\nmodule.exports = usePlayer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\n\nconst useStatistics = (player, streamingServer) => {\n const { core } = useServices();\n\n const stream = React.useMemo(() => {\n return player.selected?.stream ?\n player.selected.stream\n :\n null;\n }, [player.selected]);\n\n const infoHash = React.useMemo(() => {\n return stream?.infoHash ?\n stream?.infoHash\n :\n null;\n }, [stream]);\n\n const statistics = React.useMemo(() => {\n return streamingServer.statistics?.type === 'Ready' ?\n streamingServer.statistics.content\n :\n null;\n }, [streamingServer.statistics]);\n\n const peers = React.useMemo(() => {\n return statistics?.peers ?\n statistics.peers\n :\n 0;\n }, [statistics]);\n\n const speed = React.useMemo(() => {\n return statistics?.downloadSpeed ?\n parseFloat((statistics.downloadSpeed / 1000 / 1000).toFixed(2))\n :\n 0;\n }, [statistics]);\n\n const completed = React.useMemo(() => {\n return statistics?.streamProgress ?\n parseFloat((statistics.streamProgress * 100).toFixed(2))\n :\n 0;\n }, [statistics]);\n\n const getStatistics = React.useCallback(() => {\n if (stream) {\n const { infoHash, fileIdx } = stream;\n if (typeof infoHash === 'string' && typeof fileIdx === 'number') {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'GetStatistics',\n args: {\n infoHash,\n fileIdx,\n }\n }\n });\n }\n }\n }, [stream]);\n\n React.useEffect(() => {\n getStatistics();\n const interval = setInterval(getStatistics, 5000);\n return () => clearInterval(interval);\n }, [getStatistics]);\n\n return {\n infoHash,\n peers,\n speed,\n completed,\n };\n};\n\nmodule.exports = useStatistics;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst Video = require('@stremio/stremio-video');\nconst EventEmitter = require('eventemitter3');\n\nconst events = new EventEmitter();\n\nconst useVideo = () => {\n const video = React.useRef(null);\n const containerRef = React.useRef(null);\n\n const [state, setState] = React.useState({\n manifest: null,\n stream: null,\n paused: null,\n time: null,\n duration: null,\n buffering: null,\n buffered: null,\n volume: null,\n muted: null,\n playbackSpeed: null,\n videoParams: null,\n audioTracks: [],\n selectedAudioTrackId: null,\n subtitlesTracks: [],\n selectedSubtitlesTrackId: null,\n subtitlesOffset: null,\n subtitlesSize: null,\n subtitlesTextColor: null,\n subtitlesBackgroundColor: null,\n subtitlesOutlineColor: null,\n extraSubtitlesTracks: [],\n selectedExtraSubtitlesTrackId: null,\n extraSubtitlesSize: null,\n extraSubtitlesDelay: null,\n extraSubtitlesOffset: null,\n extraSubtitlesTextColor: null,\n extraSubtitlesBackgroundColor: null,\n extraSubtitlesOutlineColor: null,\n });\n\n const dispatch = (action, options) => {\n if (video.current && containerRef.current) {\n try {\n video.current.dispatch(action, {\n ...options,\n containerElement: containerRef.current,\n });\n } catch (error) {\n console.error('Video:', error);\n }\n }\n };\n\n const load = (args, options) => {\n dispatch({\n type: 'command',\n commandName: 'load',\n commandArgs: args\n }, options);\n };\n\n const unload = () => {\n dispatch({\n type: 'command',\n commandName: 'unload',\n });\n };\n\n const addExtraSubtitlesTracks = (tracks) => {\n dispatch({\n type: 'command',\n commandName: 'addExtraSubtitlesTracks',\n commandArgs: {\n tracks,\n },\n });\n };\n\n const addLocalSubtitles = (filename, buffer) => {\n dispatch({\n type: 'command',\n commandName: 'addLocalSubtitles',\n commandArgs: {\n filename,\n buffer,\n },\n });\n };\n\n const setProp = (name, value) => {\n dispatch({ type: 'setProp', propName: name, propValue: value });\n };\n\n const setSubtitlesTrack = (id) => {\n setProp('selectedSubtitlesTrackId', id);\n setProp('selectedExtraSubtitlesTrackId', null);\n };\n\n const setExtraSubtitlesTrack = (id) => {\n setProp('selectedSubtitlesTrackId', null);\n setProp('selectedExtraSubtitlesTrackId', id);\n };\n\n const onError = (error) => {\n events.emit('error', error);\n };\n\n const onEnded = () => {\n events.emit('ended');\n };\n\n const onSubtitlesTrackLoaded = (track) => {\n events.emit('subtitlesTrackLoaded', track);\n };\n\n const onExtraSubtitlesTrackLoaded = (track) => {\n events.emit('extraSubtitlesTrackLoaded', track);\n };\n\n const onExtraSubtitlesTrackAdded = (track) => {\n events.emit('extraSubtitlesTrackAdded', track);\n };\n\n const onPropChanged = (name, value) => {\n setState((state) => ({\n ...state,\n [name]: value\n }));\n };\n\n const onImplementationChanged = (manifest) => {\n manifest.props.forEach((propName) => dispatch(({ type: 'observeProp', propName })));\n setState((state) => ({\n ...state,\n manifest\n }));\n\n events.emit('implementationChanged', manifest);\n };\n\n React.useEffect(() => {\n video.current = new Video();\n video.current.on('error', onError);\n video.current.on('ended', onEnded);\n video.current.on('propChanged', onPropChanged);\n video.current.on('propValue', onPropChanged);\n video.current.on('implementationChanged', onImplementationChanged);\n video.current.on('subtitlesTrackLoaded', onSubtitlesTrackLoaded);\n video.current.on('extraSubtitlesTrackLoaded', onExtraSubtitlesTrackLoaded);\n video.current.on('extraSubtitlesTrackAdded', onExtraSubtitlesTrackAdded);\n\n return () => video.current.destroy();\n }, []);\n\n return {\n events,\n containerRef,\n state,\n load,\n unload,\n addExtraSubtitlesTracks,\n addLocalSubtitles,\n setProp,\n setSubtitlesTrack,\n setExtraSubtitlesTrack,\n };\n};\n\nmodule.exports = useVideo;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst useTranslate = require('stremio/common/useTranslate');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { withCoreSuspender, getVisibleChildrenRange } = require('stremio/common');\nconst { Image, MainNavBars, MetaItem, MetaRow } = require('stremio/components');\nconst useSearch = require('./useSearch');\nconst styles = require('./styles');\n\nconst THRESHOLD = 100;\n\nconst Search = ({ queryParams }) => {\n const t = useTranslate();\n const [search, loadSearchRows] = useSearch(queryParams);\n const query = React.useMemo(() => {\n return search.selected !== null ?\n search.selected.extra.reduceRight((query, [name, value]) => {\n if (name === 'search') {\n return value;\n }\n\n return query;\n }, null)\n :\n null;\n }, [search.selected]);\n const scrollContainerRef = React.useRef();\n const onVisibleRangeChange = React.useCallback(() => {\n if (search.catalogs.length === 0) {\n return;\n }\n\n const range = getVisibleChildrenRange(scrollContainerRef.current, THRESHOLD);\n if (range === null) {\n return;\n }\n\n loadSearchRows(range);\n }, [search.catalogs]);\n const onScroll = React.useCallback(debounce(onVisibleRangeChange, 250), [onVisibleRangeChange]);\n React.useLayoutEffect(() => {\n onVisibleRangeChange();\n }, [search.catalogs, onVisibleRangeChange]);\n return (\n <MainNavBars className={styles['search-container']} route={'search'} query={query}>\n <div ref={scrollContainerRef} className={styles['search-content']} onScroll={onScroll}>\n {\n query === null ?\n <div className={classnames(styles['search-hints-wrapper'])}>\n <div className={classnames(styles['search-hints-title-container'], 'animation-fade-in')}>\n <div className={styles['search-hints-title']}>{t.string('SEARCH_ANYTHING')}</div>\n </div>\n <div className={classnames(styles['search-hints-container'], 'animation-fade-in')}>\n <div className={styles['search-hint-container']}>\n <Icon className={styles['icon']} name={'trailer'} />\n <div className={styles['label']}>{t.string('SEARCH_CATEGORIES')}</div>\n </div>\n <div className={styles['search-hint-container']}>\n <Icon className={styles['icon']} name={'actors'} />\n <div className={styles['label']}>{t.string('SEARCH_PERSONS')}</div>\n </div>\n <div className={styles['search-hint-container']}>\n <Icon className={styles['icon']} name={'link'} />\n <div className={styles['label']}>{t.string('SEARCH_PROTOCOLS')}</div>\n </div>\n <div className={styles['search-hint-container']}>\n <Icon className={styles['icon']} name={'imdb-outline'} />\n <div className={styles['label']}>{t.string('SEARCH_TYPES')}</div>\n </div>\n </div>\n </div>\n :\n search.catalogs.length === 0 ?\n <div className={styles['message-container']}>\n <Image\n className={styles['image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['message-label']}>{ t.string('STREMIO_TV_SEARCH_NO_ADDONS') }</div>\n </div>\n :\n search.catalogs.map((catalog, index) => {\n switch (catalog.content?.type) {\n case 'Ready': {\n return (\n <MetaRow\n key={index}\n className={classnames(styles['search-row'], styles[`search-row-${catalog.content.content[0].posterShape}`], 'animation-fade-in')}\n catalog={catalog}\n itemComponent={MetaItem}\n />\n );\n }\n case 'Err': {\n if (catalog.content.content !== 'EmptyContent') {\n return (\n <MetaRow\n key={index}\n className={classnames(styles['search-row'], 'animation-fade-in')}\n catalog={catalog}\n message={catalog.content.content}\n />\n );\n }\n return null;\n }\n default: {\n return (\n <MetaRow.Placeholder\n key={index}\n className={classnames(styles['search-row'], styles['search-row-poster'], 'animation-fade-in')}\n catalog={catalog}\n title={t.catalogTitle(catalog)}\n />\n );\n }\n }\n })\n }\n </div>\n </MainNavBars>\n );\n};\n\nSearch.propTypes = {\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst SearchFallback = ({ queryParams }) => (\n <MainNavBars className={styles['search-container']} route={'search'} query={queryParams.get('search') ?? queryParams.get('query')} />\n);\n\nSearchFallback.propTypes = Search.propTypes;\n\nmodule.exports = withCoreSuspender(Search, SearchFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Search = require('./Search');\n\nmodule.exports = Search;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useModelState } = require('stremio/common');\nconst { useServices } = require('stremio/services');\n\nconst useSearch = (queryParams) => {\n const { core } = useServices();\n // TODO: refactor this to be in stremio-core-web\n // React.useEffect(() => {\n // let timerId = setTimeout(emitSearchEvent, 500);\n // function emitSearchEvent() {\n // timerId = null;\n // const state = core.transport.getState('search');\n // if (state.selected !== null) {\n // const [, query] = state.selected.extra.find(([name]) => name === 'search');\n // const responses = state.catalogs.filter((catalog) => catalog.content?.type === 'Ready');\n // core.transport.analytics({\n // event: 'Search',\n // args: {\n // query,\n // responsesCount: responses.length\n // }\n // });\n // }\n // }\n // return () => {\n // if (timerId !== null) {\n // clearTimeout(timerId);\n // emitSearchEvent();\n // }\n // };\n // }, [queryParams.get('search')]);\n const action = React.useMemo(() => {\n const query = queryParams.get('search') ?? queryParams.get('query');\n if (query?.length > 0) {\n return {\n action: 'Load',\n args: {\n model: 'CatalogsWithExtra',\n args: {\n extra: [\n ['search', query]\n ]\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [queryParams]);\n const loadRange = React.useCallback((range) => {\n core.transport.dispatch({\n action: 'CatalogsWithExtra',\n args: {\n action: 'LoadRange',\n args: range\n }\n }, 'search');\n }, []);\n const search = useModelState({ model: 'search', action });\n return [search, loadRange];\n};\n\nmodule.exports = useSearch;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useModelState } = require('stremio/common');\n\nconst map = (dataExport) => ({\n ...dataExport,\n exportUrl: dataExport !== null && dataExport.exportUrl !== null && dataExport.exportUrl.type === 'Ready' ?\n dataExport.exportUrl.content\n :\n null\n});\n\nconst useDataExport = () => {\n const { core } = useServices();\n const loadDataExport = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Load',\n args: {\n model: 'DataExport',\n }\n }, 'data_export');\n }, []);\n const dataExport = useModelState({ model: 'data_export', map });\n return [\n dataExport,\n loadDataExport\n ];\n};\n\nmodule.exports = useDataExport;\n","// Copyright (C) 2017-2024 Smart code 203358507\n\nimport { useCallback } from 'react';\nimport { useModelState, useToast } from 'stremio/common';\nimport useProfile from 'stremio/common/useProfile';\nimport { useServices } from 'stremio/services';\n\nconst useStreamingServerUrls = () => {\n const { core } = useServices();\n const profile = useProfile();\n const toast = useToast();\n const ctx = useModelState({ model: 'ctx' });\n const streamingServerUrls = ctx.streamingServerUrls;\n\n const addServerUrl = useCallback((url) => {\n const isValidUrl = (url) => {\n try {\n new URL(url);\n return true;\n } catch (_) {\n return false;\n }\n };\n\n if (isValidUrl(url)) {\n toast.show({\n type: 'success',\n title: 'New URL added',\n message: 'The new URL has been added successfully',\n timeout: 4000\n });\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'AddServerUrl',\n args: url,\n }\n });\n } else {\n toast.show({\n type: 'error',\n title: 'Invalid URL',\n message: 'Please provide a valid URL',\n timeout: 4000\n });\n }\n }, []);\n\n const deleteServerUrl = useCallback((url) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'DeleteServerUrl',\n args: url,\n }\n });\n }, []);\n const selectServerUrl = useCallback((url) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n streamingServerUrl: url\n }\n }\n });\n }, [profile.settings]);\n const reloadServer = useCallback(() => {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'Reload'\n }\n });\n }, []);\n\n return {\n streamingServerUrls,\n addServerUrl,\n deleteServerUrl,\n selectServerUrl,\n reloadServer\n };\n};\n\nexport default useStreamingServerUrls;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Addons = require('./Addons');\nconst Board = require('./Board');\nconst Discover = require('./Discover');\nconst Library = require('./Library');\nconst Calendar = require('./Calendar').default;\nconst MetaDetails = require('./MetaDetails');\nconst NotFound = require('./NotFound');\nconst Search = require('./Search');\nconst { default: Settings } = require('./Settings');\nconst Player = require('./Player');\nconst Intro = require('./Intro');\n\nmodule.exports = {\n Addons,\n Board,\n Discover,\n Library,\n Calendar,\n MetaDetails,\n NotFound,\n Search,\n Settings,\n Player,\n Intro\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst ChromecastTransport = require('./ChromecastTransport');\n\nfunction Chromecast() {\n let active = false;\n let error = null;\n let starting = false;\n let transport = null;\n\n const events = new EventEmitter();\n\n function onTransportInit() {\n active = true;\n error = null;\n starting = false;\n onStateChanged();\n }\n function onTransportInitError(args) {\n console.error(args);\n active = false;\n error = new Error('Google Cast API not available', { cause: args });\n starting = false;\n onStateChanged();\n transport = null;\n }\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n },\n error: {\n configurable: false,\n enumerable: true,\n get: function() {\n return error;\n }\n },\n starting: {\n configurable: false,\n enumerable: true,\n get: function() {\n return starting;\n }\n },\n transport: {\n configurable: false,\n enumerable: true,\n get: function() {\n return transport;\n }\n }\n });\n\n this.start = function() {\n if (active || error instanceof Error || starting) {\n return;\n }\n\n starting = true;\n transport = new ChromecastTransport();\n transport.on('init', onTransportInit);\n transport.on('init-error', onTransportInitError);\n onStateChanged();\n };\n this.stop = function() {\n active = false;\n error = null;\n starting = false;\n onStateChanged();\n if (transport !== null) {\n transport.removeAllListeners();\n transport = null;\n }\n };\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n}\n\nmodule.exports = Chromecast;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst hat = require('hat');\n\nconst MESSAGE_NAMESPACE = 'urn:x-cast:com.stremio';\nconst CHUNK_SIZE = 20000;\n\nlet castAPIAvailable = null;\nconst castAPIEvents = new EventEmitter();\nwindow['__onGCastApiAvailable'] = function(available) {\n delete window['__onGCastApiAvailable'];\n castAPIAvailable = !!available;\n castAPIEvents.emit('availabilityChanged');\n};\n\nconst initialize = () => {\n return new Promise((resolve, reject) => {\n function onCastAPIAvailabilityChanged() {\n castAPIEvents.off('availabilityChanged', onCastAPIAvailabilityChanged);\n if (castAPIAvailable) {\n resolve();\n } else {\n reject(new Error('window.cast api not available'));\n }\n }\n if (castAPIAvailable !== null) {\n onCastAPIAvailabilityChanged();\n } else {\n castAPIEvents.on('availabilityChanged', onCastAPIAvailabilityChanged);\n }\n });\n};\n\nfunction ChromecastTransport() {\n const events = new EventEmitter();\n const messages = {};\n\n initialize()\n .then(() => {\n cast.framework.CastContext.getInstance().addEventListener(\n cast.framework.CastContextEventType.CAST_STATE_CHANGED,\n onCastStateChanged\n );\n cast.framework.CastContext.getInstance().addEventListener(\n cast.framework.CastContextEventType.SESSION_STATE_CHANGED,\n onSesstionStateChanged\n );\n })\n .then(() => {\n try {\n events.emit('init');\n } catch (error) {\n console.error('ChromecastTransport', error);\n }\n })\n .catch((error) => {\n events.emit('init-error', error);\n });\n\n function onMessage(_, message) {\n try {\n const { id, chunk, index, length } = JSON.parse(message);\n messages[id] = messages[id] || [];\n messages[id][index] = chunk;\n if (Object.keys(messages[id]).length === length) {\n const parsedMessage = JSON.parse(messages[id].join(''));\n delete messages[id];\n events.emit('message', parsedMessage);\n }\n } catch (error) {\n events.emit('message-error', error);\n }\n }\n function onApplicationStatusChanged(event) {\n events.emit(cast.framework.CastSession.APPLICATION_STATUS_CHANGED, event);\n }\n function onApplicationMetadataChanged(event) {\n events.emit(cast.framework.CastSession.APPLICATION_METADATA_CHANGED, event);\n }\n function onActiveInputStateChanged(event) {\n events.emit(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED, event);\n }\n function onVolumeChanged(event) {\n events.emit(cast.framework.CastSession.VOLUME_CHANGED, event);\n }\n function onMediaSessionChanged(event) {\n events.emit(cast.framework.CastSession.MEDIA_SESSION, event);\n }\n function onCastStateChanged(event) {\n events.emit(cast.framework.CastContextEventType.CAST_STATE_CHANGED, event);\n }\n function onSesstionStateChanged(event) {\n events.emit(cast.framework.CastContextEventType.SESSION_STATE_CHANGED, event);\n switch (event.sessionState) {\n case cast.framework.SessionState.SESSION_STARTED: {\n event.session.addMessageListener(MESSAGE_NAMESPACE, onMessage);\n event.session.addEventListener(cast.framework.CastSession.APPLICATION_STATUS_CHANGED, onApplicationStatusChanged);\n event.session.addEventListener(cast.framework.CastSession.APPLICATION_METADATA_CHANGED, onApplicationMetadataChanged);\n event.session.addEventListener(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED, onActiveInputStateChanged);\n event.session.addEventListener(cast.framework.CastSession.VOLUME_CHANGED, onVolumeChanged);\n event.session.addEventListener(cast.framework.CastSession.MEDIA_SESSION, onMediaSessionChanged);\n break;\n }\n case cast.framework.SessionState.SESSION_ENDED: {\n event.session.removeMessageListener(MESSAGE_NAMESPACE, onMessage);\n event.session.removeEventListener(cast.framework.CastSession.APPLICATION_STATUS_CHANGED, onApplicationStatusChanged);\n event.session.removeEventListener(cast.framework.CastSession.APPLICATION_METADATA_CHANGED, onApplicationMetadataChanged);\n event.session.removeEventListener(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED, onActiveInputStateChanged);\n event.session.removeEventListener(cast.framework.CastSession.VOLUME_CHANGED, onVolumeChanged);\n event.session.removeEventListener(cast.framework.CastSession.MEDIA_SESSION, onMediaSessionChanged);\n break;\n }\n }\n }\n\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n this.removeAllListeners = function() {\n events.removeAllListeners();\n };\n this.getCastState = function() {\n return cast.framework.CastContext.getInstance().getCastState();\n };\n this.getSessionState = function() {\n return cast.framework.CastContext.getInstance().getSessionState();\n };\n this.getCastDevice = function() {\n const session = cast.framework.CastContext.getInstance().getCurrentSession();\n if (session !== null) {\n return session.getCastDevice();\n }\n\n return null;\n };\n this.setOptions = function(options) {\n cast.framework.CastContext.getInstance().setOptions(options);\n };\n this.requestSession = function() {\n return cast.framework.CastContext.getInstance().requestSession();\n };\n this.endCurrentSession = function(stopCasting) {\n cast.framework.CastContext.getInstance().endCurrentSession(stopCasting);\n };\n this.sendMessage = function(message) {\n const castSession = cast.framework.CastContext.getInstance().getCurrentSession();\n if (castSession !== null) {\n const serializedMessage = JSON.stringify(message);\n const chunksCount = Math.ceil(serializedMessage.length / CHUNK_SIZE);\n const chunks = [];\n for (let i = 0; i < chunksCount; i++) {\n const start = i * CHUNK_SIZE;\n const chunk = serializedMessage.slice(start, start + CHUNK_SIZE);\n chunks.push(chunk);\n }\n const id = hat();\n return Promise.all(chunks.map((chunk, index) => {\n return castSession.sendMessage(MESSAGE_NAMESPACE, {\n id,\n chunk,\n index,\n length: chunks.length\n });\n }));\n } else {\n return Promise.reject(new Error('Session not started'));\n }\n };\n}\n\nmodule.exports = ChromecastTransport;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Chromecast = require('./Chromecast');\n\nmodule.exports = Chromecast;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst CoreTransport = require('./CoreTransport');\n\nfunction Core(args) {\n let active = false;\n let error = null;\n let starting = false;\n let transport = null;\n\n const events = new EventEmitter();\n\n function onTransportInit() {\n active = true;\n error = null;\n starting = false;\n onStateChanged();\n }\n function onTransportError(args) {\n console.error(args);\n active = false;\n error = new Error('Stremio Core Transport initialization failed', { cause: args });\n starting = false;\n onStateChanged();\n transport = null;\n }\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n },\n error: {\n configurable: false,\n enumerable: true,\n get: function() {\n return error;\n }\n },\n starting: {\n configurable: false,\n enumerable: true,\n get: function() {\n return starting;\n }\n },\n transport: {\n configurable: false,\n enumerable: true,\n get: function() {\n return transport;\n }\n }\n });\n\n this.start = function() {\n if (active || error instanceof Error || starting) {\n return;\n }\n\n starting = true;\n transport = new CoreTransport(args);\n transport.on('init', onTransportInit);\n transport.on('error', onTransportError);\n onStateChanged();\n };\n this.stop = function() {\n active = false;\n error = null;\n starting = false;\n onStateChanged();\n if (transport !== null) {\n transport.removeAllListeners();\n transport = null;\n }\n };\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n}\n\nmodule.exports = Core;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst Bridge = require('@stremio/stremio-core-web/bridge');\n\nfunction CoreTransport(args) {\n const events = new EventEmitter();\n const worker = new Worker(`${process.env.COMMIT_HASH}/scripts/worker.js`);\n const bridge = new Bridge(window, worker);\n\n window.onCoreEvent = ({ name, args }) => {\n try {\n events.emit(name, args);\n } catch (error) {\n console.error('CoreTransport', error);\n }\n };\n\n bridge.call(['init'], [args])\n .then(() => {\n try {\n events.emit('init');\n } catch (error) {\n console.error('CoreTransport', error);\n }\n })\n .catch((error) => {\n events.emit('error', error);\n });\n\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n this.removeAllListeners = function() {\n events.removeAllListeners();\n };\n this.getState = async function(field) {\n return bridge.call(['getState'], [field]);\n };\n this.getDebugState = async function() {\n return bridge.call(['getDebugState'], []);\n };\n this.dispatch = async function(action, field) {\n return bridge.call(['dispatch'], [action, field, location.hash]);\n };\n this.analytics = async function(event) {\n return bridge.call(['analytics'], [event, location.hash]);\n };\n this.decodeStream = async function(stream) {\n return bridge.call(['decodeStream'], [stream]);\n };\n}\n\nmodule.exports = CoreTransport;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Core = require('./Core');\n\nmodule.exports = Core;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\n\nfunction DragAndDrop({ core }) {\n let active = false;\n\n const events = new EventEmitter();\n\n function onDragOver(event) {\n event.preventDefault();\n }\n async function onDrop(event) {\n event.preventDefault();\n if (event.dataTransfer.files instanceof FileList && event.dataTransfer.files.length > 0) {\n const file = event.dataTransfer.files[0];\n switch (file.type) {\n case 'application/x-bittorrent': {\n try {\n const torrent = await file.arrayBuffer();\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'CreateTorrent',\n args: Array.from(new Uint8Array(torrent))\n }\n });\n } catch (_error) {\n events.emit('error', {\n message: 'Failed to process file',\n file: {\n name: file.name,\n type: file.type\n }\n });\n }\n break;\n }\n case 'application/x-subrip':\n break;\n case 'text/vtt':\n break;\n case '':\n break;\n default: {\n events.emit('error', {\n message: 'Unsupported file',\n file: {\n name: file.name,\n type: file.type\n }\n });\n }\n }\n }\n }\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n }\n });\n\n this.start = function() {\n if (active) {\n return;\n }\n\n window.addEventListener('dragover', onDragOver);\n window.addEventListener('drop', onDrop);\n active = true;\n onStateChanged();\n };\n this.stop = function() {\n window.removeEventListener('dragover', onDragOver);\n window.removeEventListener('drop', onDrop);\n active = false;\n onStateChanged();\n };\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n}\n\nmodule.exports = DragAndDrop;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst DragAndDrop = require('./DragAndDrop');\n\nmodule.exports = DragAndDrop;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\n\nfunction KeyboardShortcuts() {\n let active = false;\n\n const events = new EventEmitter();\n\n function onKeyDown(event) {\n if (event.keyboardShortcutPrevented || event.target.tagName === 'INPUT' || event.ctrlKey || event.altKey || event.shiftKey || event.metaKey) {\n return;\n }\n\n switch (event.code) {\n case 'Digit0': {\n event.preventDefault();\n window.location = '#/search';\n break;\n }\n case 'Digit1': {\n event.preventDefault();\n window.location = '#/';\n break;\n }\n case 'Digit2': {\n event.preventDefault();\n window.location = '#/discover';\n break;\n }\n case 'Digit3': {\n event.preventDefault();\n window.location = '#/library';\n break;\n }\n case 'Digit4': {\n event.preventDefault();\n window.location = '#/calendar';\n break;\n }\n case 'Digit5': {\n event.preventDefault();\n window.location = '#/addons';\n break;\n }\n case 'Digit6': {\n event.preventDefault();\n window.location = '#/settings';\n break;\n }\n case 'Backspace': {\n event.preventDefault();\n if (event.ctrlKey) {\n window.history.forward();\n } else {\n window.history.back();\n }\n\n break;\n }\n }\n }\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n }\n });\n\n this.start = function() {\n if (active) {\n return;\n }\n\n window.addEventListener('keydown', onKeyDown);\n active = true;\n onStateChanged();\n };\n this.stop = function() {\n window.removeEventListener('keydown', onKeyDown);\n active = false;\n onStateChanged();\n };\n}\n\nmodule.exports = KeyboardShortcuts;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst KeyboardShortcuts = require('./KeyboardShortcuts');\n\nmodule.exports = KeyboardShortcuts;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst ServicesContext = React.createContext({});\n\nServicesContext.displayName = 'ServicesContext';\n\nmodule.exports = ServicesContext;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst ServicesContext = require('./ServicesContext');\n\nconst ServicesProvider = ({ services = {}, children }) => {\n return (\n <ServicesContext.Provider value={services}>\n {children}\n </ServicesContext.Provider>\n );\n};\n\nServicesProvider.propTypes = {\n services: PropTypes.object,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node\n ])\n};\n\nmodule.exports = ServicesProvider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ServicesProvider = require('./ServicesProvider');\nconst useServices = require('./useServices');\n\nmodule.exports = {\n ServicesProvider,\n useServices\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ServicesContext = require('./ServicesContext');\n\nconst useServices = () => {\n return React.useContext(ServicesContext);\n};\n\nmodule.exports = useServices;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst ShellTransport = require('./ShellTransport');\n\nfunction Shell() {\n let active = false;\n let error = null;\n let starting = false;\n let transport = null;\n\n const events = new EventEmitter();\n\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n },\n error: {\n configurable: false,\n enumerable: true,\n get: function() {\n return error;\n }\n },\n starting: {\n configurable: false,\n enumerable: true,\n get: function() {\n return starting;\n }\n },\n transport: {\n configurable: false,\n enumerable: true,\n get: function() {\n return transport;\n }\n }\n });\n\n this.start = function() {\n if (active || error instanceof Error || starting) {\n return;\n }\n\n active = false;\n starting = true;\n\n try {\n transport = new ShellTransport();\n active = true;\n error = null;\n starting = false;\n onStateChanged();\n } catch (e) {\n console.error(e);\n active = false;\n error = new Error(e);\n starting = false;\n onStateChanged();\n transport = null;\n }\n\n onStateChanged();\n };\n this.stop = function() {\n active = false;\n error = null;\n starting = false;\n onStateChanged();\n };\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n}\n\nmodule.exports = Shell;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\n\nconst QtMsgTypes = {\n signal: 1,\n propertyUpdate: 2,\n init: 3,\n idle: 4,\n debug: 5,\n invokeMethod: 6,\n connectToSignal: 7,\n disconnectFromSignal: 8,\n setProperty: 9,\n response: 10,\n};\nconst QtObjId = 'transport'; // the ID of our transport object\n\nfunction ShellTransport() {\n const events = new EventEmitter();\n\n this.props = {};\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const shell = this;\n const transport = window.qt && window.qt.webChannelTransport;\n if (!transport) throw 'no viable transport found (qt.webChannelTransport)';\n\n let id = 0;\n function send(msg) {\n msg.id = id++;\n transport.send(JSON.stringify(msg));\n }\n\n transport.onmessage = function (message) {\n const msg = JSON.parse(message.data);\n if (msg.id === 0) {\n const obj = msg.data[QtObjId];\n\n obj.properties.slice(1).forEach(function (prop) {\n shell.props[prop[1]] = prop[3];\n });\n if (typeof shell.props.shellVersion === 'string') {\n shell.shellVersionArr = (\n shell.props.shellVersion.match(/(\\d+)\\.(\\d+)\\.(\\d+)/) || []\n )\n .slice(1, 4)\n .map(Number);\n }\n events.emit('received-props', shell.props);\n\n obj.signals.forEach(function (sig) {\n send({\n type: QtMsgTypes.connectToSignal,\n object: QtObjId,\n signal: sig[1],\n });\n });\n\n const onEvent = obj.methods.filter(function (x) {\n return x[0] === 'onEvent';\n })[0];\n\n shell.send = function (ev, args) {\n send({\n type: QtMsgTypes.invokeMethod,\n object: QtObjId,\n method: onEvent[1],\n args: [ev, args || {}],\n });\n };\n\n shell.send('app-ready', {}); // signal that we're ready to take events\n }\n\n if (msg.object === QtObjId && msg.type === QtMsgTypes.signal)\n events.emit(msg.args[0], msg.args[1]);\n };\n send({ type: QtMsgTypes.init });\n\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n this.removeAllListeners = function() {\n events.removeAllListeners();\n };\n}\n\nmodule.exports = ShellTransport;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Shell = require('./Shell');\n\nmodule.exports = Shell;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Chromecast = require('./Chromecast');\nconst Core = require('./Core');\nconst DragAndDrop = require('./DragAndDrop');\nconst KeyboardShortcuts = require('./KeyboardShortcuts');\nconst { ServicesProvider, useServices } = require('./ServicesContext');\nconst Shell = require('./Shell');\n\nmodule.exports = {\n Chromecast,\n Core,\n DragAndDrop,\n KeyboardShortcuts,\n ServicesProvider,\n useServices,\n Shell\n};\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar services_1 = require(\"stremio/services\");\nvar common_1 = require(\"stremio/common\");\nvar components_1 = require(\"stremio/components\");\nvar UpdaterBanner_less_1 = __importDefault(require(\"./UpdaterBanner.less\"));\nvar UpdaterBanner = function (_a) {\n var className = _a.className;\n var t = (0, react_i18next_1.useTranslation)().t;\n var shell = (0, services_1.useServices)().shell;\n var shellTransport = (0, common_1.useShell)();\n var _b = (0, common_1.useBinaryState)(false), visible = _b[0], show = _b[1], hide = _b[2];\n var onInstallClick = function () {\n shellTransport.send('autoupdater-notif-clicked');\n };\n (0, react_1.useEffect)(function () {\n shell.transport && shell.transport.on('autoupdater-show-notif', show);\n return function () {\n shell.transport && shell.transport.off('autoupdater-show-notif', show);\n };\n }, []);\n return (react_1.default.createElement(\"div\", { className: className },\n react_1.default.createElement(components_1.Transition, { when: visible, name: 'slide-up' },\n react_1.default.createElement(\"div\", { className: UpdaterBanner_less_1.default['updater-banner'] },\n react_1.default.createElement(\"div\", { className: UpdaterBanner_less_1.default['label'] }, t('UPDATER_TITLE')),\n react_1.default.createElement(components_1.Button, { className: UpdaterBanner_less_1.default['button'], onClick: onInstallClick }, t('UPDATER_INSTALL_BUTTON')),\n react_1.default.createElement(components_1.Button, { className: UpdaterBanner_less_1.default['close'], onClick: hide },\n react_1.default.createElement(react_2.default, { className: UpdaterBanner_less_1.default['icon'], name: 'close' }))))));\n};\nexports.default = UpdaterBanner;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar UpdaterBanner_1 = __importDefault(require(\"./UpdaterBanner\"));\nexports.default = UpdaterBanner_1.default;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFileDrop = exports.FileDropProvider = void 0;\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar utils_1 = require(\"./utils\");\nvar FileDropContext = (0, react_1.createContext)({});\nvar FileDropProvider = function (_a) {\n var className = _a.className, children = _a.children;\n var _b = (0, react_1.useState)([]), listeners = _b[0], setListeners = _b[1];\n var _c = (0, react_1.useState)(false), active = _c[0], setActive = _c[1];\n var onDragOver = function (event) {\n event.preventDefault();\n setActive(true);\n };\n var onDragLeave = function () {\n setActive(false);\n };\n var onDrop = (0, react_1.useCallback)(function (event) {\n event.preventDefault();\n var dataTransfer = event.dataTransfer;\n if (dataTransfer && (dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.files.length) > 0) {\n var file_1 = dataTransfer.files[0];\n file_1\n .arrayBuffer()\n .then(function (buffer) {\n listeners\n .filter(function (_a) {\n var type = _a[0];\n return file_1.type ? type === file_1.type : (0, utils_1.isFileType)(buffer, type);\n })\n .forEach(function (_a) {\n var listerner = _a[1];\n return listerner(file_1.name, buffer);\n });\n });\n }\n setActive(false);\n }, [listeners]);\n var on = function (type, listener) {\n setListeners(function (listeners) {\n return __spreadArray(__spreadArray([], listeners, true), [[type, listener]], false);\n });\n };\n var off = function (type, listener) {\n setListeners(function (listeners) {\n return listeners.filter(function (_a) {\n var key = _a[0], value = _a[1];\n return key !== type && value !== listener;\n });\n });\n };\n (0, react_1.useEffect)(function () {\n window.addEventListener('dragover', onDragOver);\n window.addEventListener('dragleave', onDragLeave);\n window.addEventListener('drop', onDrop);\n return function () {\n window.removeEventListener('dragover', onDragOver);\n window.removeEventListener('dragleave', onDragLeave);\n window.removeEventListener('drop', onDrop);\n };\n }, [onDrop]);\n return (react_1.default.createElement(FileDropContext.Provider, { value: { on: on, off: off } },\n children,\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(className, { 'active': active }) })));\n};\nexports.FileDropProvider = FileDropProvider;\nvar useFileDrop = function () {\n return (0, react_1.useContext)(FileDropContext);\n};\nexports.useFileDrop = useFileDrop;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.onFileDrop = exports.useFileDrop = exports.FileDropProvider = void 0;\nvar FileDrop_1 = require(\"./FileDrop\");\nObject.defineProperty(exports, \"FileDropProvider\", { enumerable: true, get: function () { return FileDrop_1.FileDropProvider; } });\nObject.defineProperty(exports, \"useFileDrop\", { enumerable: true, get: function () { return FileDrop_1.useFileDrop; } });\nvar onFileDrop_1 = __importDefault(require(\"./onFileDrop\"));\nexports.onFileDrop = onFileDrop_1.default;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar FileDrop_1 = require(\"./FileDrop\");\nvar onFileDrop = function (types, listener) {\n var _a = (0, FileDrop_1.useFileDrop)(), on = _a.on, off = _a.off;\n (0, react_1.useEffect)(function () {\n types.forEach(function (type) { return on(type, listener); });\n return function () { return types.forEach(function (type) { return off(type, listener); }); };\n }, []);\n};\nexports.default = onFileDrop;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isFileType = void 0;\nvar CONSTANTS_1 = require(\"stremio/common/CONSTANTS\");\nvar SIGNATURES = CONSTANTS_1.MIME_SIGNATURES;\nvar isFileType = function (buffer, type) {\n var signatures = SIGNATURES[type];\n return signatures.some(function (signature) {\n var array = new Uint8Array(buffer);\n var signatureBuffer = Buffer.from(signature, 'hex');\n var bufferToCompare = array.subarray(0, signatureBuffer.length);\n return Buffer.compare(signatureBuffer, bufferToCompare) === 0;\n });\n};\nexports.isFileType = isFileType;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePlatform = exports.PlatformProvider = void 0;\nvar react_1 = __importStar(require(\"react\"));\nvar CONSTANTS_1 = require(\"stremio/common/CONSTANTS\");\nvar device_1 = require(\"./device\");\nvar PlatformContext = (0, react_1.createContext)({});\nvar PlatformProvider = function (_a) {\n var children = _a.children;\n var openExternal = function (url) {\n try {\n var hostname_1 = new URL(url).hostname;\n var isWhitelisted = CONSTANTS_1.WHITELISTED_HOSTS.some(function (host) { return hostname_1.endsWith(host); });\n var finalUrl = !isWhitelisted ? \"https://www.stremio.com/warning#\".concat(encodeURIComponent(url)) : url;\n window.open(finalUrl, '_blank');\n }\n catch (e) {\n console.error('Failed to parse external url:', e);\n }\n };\n return (react_1.default.createElement(PlatformContext.Provider, { value: { openExternal: openExternal, name: device_1.name, isMobile: device_1.isMobile } }, children));\n};\nexports.PlatformProvider = PlatformProvider;\nvar usePlatform = function () {\n return (0, react_1.useContext)(PlatformContext);\n};\nexports.usePlatform = usePlatform;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isMobile = exports.name = void 0;\nvar bowser_1 = __importDefault(require(\"bowser\"));\nvar APPLE_MOBILE_DEVICES = [\n 'iPad Simulator',\n 'iPhone Simulator',\n 'iPod Simulator',\n 'iPad',\n 'iPhone',\n 'iPod',\n];\nvar _a = globalThis.navigator, userAgent = _a.userAgent, platform = _a.platform, maxTouchPoints = _a.maxTouchPoints;\n// this detects ipad properly in safari\n// while bowser does not\nvar isIOS = APPLE_MOBILE_DEVICES.includes(platform) || (userAgent.includes('Mac') && 'ontouchend' in document);\n// Edge case: iPad is included in this function\n// Keep in mind maxTouchPoints for Vision Pro might change in the future\nvar isVisionOS = userAgent.includes('Macintosh') && maxTouchPoints === 5;\nvar bowser = bowser_1.default.getParser(userAgent);\nvar os = bowser.getOSName().toLowerCase();\nvar name = isVisionOS ? 'visionos' : isIOS ? 'ios' : os || 'unknown';\nexports.name = name;\nvar isMobile = ['ios', 'android'].includes(name);\nexports.isMobile = isMobile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePlatform = exports.PlatformProvider = void 0;\nvar Platform_1 = require(\"./Platform\");\nObject.defineProperty(exports, \"PlatformProvider\", { enumerable: true, get: function () { return Platform_1.PlatformProvider; } });\nObject.defineProperty(exports, \"usePlatform\", { enumerable: true, get: function () { return Platform_1.usePlatform; } });\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.label = exports.find = exports.all = void 0;\nvar langs_1 = __importDefault(require(\"langs\"));\nvar all = langs_1.default.all().map(function (lang) { return (__assign(__assign({}, lang), { code: lang['2'], label: lang.local, alpha2: lang['1'], alpha3: [lang['2'], lang['2B'], lang['2T'], lang['3']], locale: lang['locale'] })); });\nexports.all = all;\nvar find = function (code) {\n return all.find(function (_a) {\n var alpha2 = _a.alpha2, alpha3 = _a.alpha3, locale = _a.locale;\n return __spreadArray(__spreadArray([alpha2], alpha3, true), [locale], false).includes(code);\n });\n};\nexports.find = find;\nvar label = function (code) {\n var _a;\n var language = find(code);\n return (_a = language === null || language === void 0 ? void 0 : language.label) !== null && _a !== void 0 ? _a : code;\n};\nexports.label = label;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar useShell_1 = __importDefault(require(\"./useShell\"));\nvar useSettings_1 = __importDefault(require(\"./useSettings\"));\nvar useFullscreen = function () {\n var shell = (0, useShell_1.default)();\n var settings = (0, useSettings_1.default)()[0];\n var _a = (0, react_1.useState)(false), fullscreen = _a[0], setFullscreen = _a[1];\n var requestFullscreen = (0, react_1.useCallback)(function () {\n if (shell.active) {\n shell.send('win-set-visibility', { fullscreen: true });\n }\n else {\n document.documentElement.requestFullscreen();\n }\n }, []);\n var exitFullscreen = (0, react_1.useCallback)(function () {\n if (shell.active) {\n shell.send('win-set-visibility', { fullscreen: false });\n }\n else {\n if (document.fullscreenElement === document.documentElement) {\n document.exitFullscreen();\n }\n }\n }, []);\n var toggleFullscreen = (0, react_1.useCallback)(function () {\n fullscreen ? exitFullscreen() : requestFullscreen();\n }, [fullscreen]);\n (0, react_1.useEffect)(function () {\n var onWindowVisibilityChanged = function (state) {\n setFullscreen(state.isFullscreen === true);\n };\n var onFullscreenChange = function () {\n setFullscreen(document.fullscreenElement === document.documentElement);\n };\n var onKeyDown = function (event) {\n var activeElement = document.activeElement;\n var inputFocused = activeElement &&\n (activeElement.tagName === 'INPUT' ||\n activeElement.tagName === 'TEXTAREA' ||\n activeElement.tagName === 'SELECT' ||\n activeElement.isContentEditable);\n if (event.code === 'Escape' && settings.escExitFullscreen) {\n exitFullscreen();\n }\n if (event.code === 'KeyF' && !inputFocused) {\n toggleFullscreen();\n }\n if (event.code === 'F11' && shell.active) {\n toggleFullscreen();\n }\n };\n shell.on('win-visibility-changed', onWindowVisibilityChanged);\n document.addEventListener('keydown', onKeyDown);\n document.addEventListener('fullscreenchange', onFullscreenChange);\n return function () {\n shell.off('win-visibility-changed', onWindowVisibilityChanged);\n document.removeEventListener('keydown', onKeyDown);\n document.removeEventListener('fullscreenchange', onFullscreenChange);\n };\n }, [settings.escExitFullscreen, toggleFullscreen]);\n return [fullscreen, requestFullscreen, exitFullscreen, toggleFullscreen];\n};\nexports.default = useFullscreen;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar useInterval = function (duration) {\n var interval = (0, react_1.useRef)(null);\n var start = function (callback) {\n cancel();\n interval.current = setInterval(callback, duration);\n };\n var cancel = function () {\n interval.current && clearInterval(interval.current);\n interval.current = null;\n };\n (0, react_1.useEffect)(function () {\n return function () { return cancel(); };\n }, []);\n return {\n start: start,\n cancel: cancel,\n };\n};\nexports.default = useInterval;\n","\"use strict\";\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar interfaceLanguages_json_1 = __importDefault(require(\"stremio/common/interfaceLanguages.json\"));\nvar useLanguageSorting = function (options) {\n var userLangCode = (0, react_1.useMemo)(function () {\n var lang = interfaceLanguages_json_1.default.find(function (l) { return l.codes.includes(navigator.language || 'en-US'); });\n if (lang) {\n var threeLetter = lang.codes[1] || 'eng';\n var fullLocale = navigator.language || 'en-US';\n return [threeLetter, fullLocale];\n }\n return ['eng'];\n }, []);\n var isLanguageDropdown = (0, react_1.useMemo)(function () {\n return options === null || options === void 0 ? void 0 : options.some(function (opt) { return interfaceLanguages_json_1.default.some(function (l) { return l.name === opt.label; }); });\n }, [options]);\n var sortedOptions = (0, react_1.useMemo)(function () {\n var matchingIndex = options.findIndex(function (opt) {\n var lang = interfaceLanguages_json_1.default.find(function (l) { return l.name === opt.label; });\n return userLangCode.some(function (code) { return lang === null || lang === void 0 ? void 0 : lang.codes.includes(code); });\n });\n if (matchingIndex === -1) {\n return __spreadArray([], options, true).sort(function (a, b) { return a.label.localeCompare(b.label); });\n }\n var matchingOption = options[matchingIndex];\n var otherOptions = options.filter(function (_, idx) { return idx !== matchingIndex; }).sort(function (a, b) { return a.label.localeCompare(b.label); });\n return __spreadArray([matchingOption], otherOptions, true);\n }, [options, userLangCode, isLanguageDropdown]);\n return { userLangCode: userLangCode, isLanguageDropdown: isLanguageDropdown, sortedOptions: sortedOptions };\n};\nexports.default = useLanguageSorting;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar useOrientation = function () {\n var _a = (0, react_1.useState)(window.innerHeight), windowHeight = _a[0], setWindowHeight = _a[1];\n var _b = (0, react_1.useState)(window.innerWidth), windowWidth = _b[0], setWindowWidth = _b[1];\n var orientation = (0, react_1.useMemo)(function () {\n if (windowHeight > windowWidth) {\n return 'portrait';\n }\n else {\n return 'landscape';\n }\n }, [windowWidth, windowHeight]);\n (0, react_1.useEffect)(function () {\n var handleResize = function () {\n setWindowHeight(window.innerHeight);\n setWindowWidth(window.innerWidth);\n };\n window.addEventListener('resize', handleResize);\n return function () {\n window.removeEventListener('resize', handleResize);\n };\n }, [window.innerWidth, window.innerHeight]);\n return orientation;\n};\nexports.default = useOrientation;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar useOutsideClick = function (callback) {\n var ref = (0, react_1.useRef)(null);\n (0, react_1.useEffect)(function () {\n var handleClickOutside = function (event) {\n if (ref.current && !ref.current.contains(event.target)) {\n callback();\n }\n };\n document.addEventListener('mouseup', handleClickOutside);\n document.addEventListener('touchend', handleClickOutside);\n return function () {\n document.removeEventListener('mouseup', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n };\n }, [callback]);\n return ref;\n};\nexports.default = useOutsideClick;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar services_1 = require(\"stremio/services\");\nvar useProfile_1 = __importDefault(require(\"./useProfile\"));\nvar useSettings = function () {\n var core = (0, services_1.useServices)().core;\n var profile = (0, useProfile_1.default)();\n var updateSettings = (0, react_1.useCallback)(function (settings) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), settings)\n }\n });\n }, [profile]);\n return [profile.settings, updateSettings];\n};\nexports.default = useSettings;\n","\"use strict\";\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar eventemitter3_1 = __importDefault(require(\"eventemitter3\"));\nvar SHELL_EVENT_OBJECT = 'transport';\nvar transport = (_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.chrome) === null || _a === void 0 ? void 0 : _a.webview;\nvar events = new eventemitter3_1.default();\nvar ShellEventType;\n(function (ShellEventType) {\n ShellEventType[ShellEventType[\"SIGNAL\"] = 1] = \"SIGNAL\";\n ShellEventType[ShellEventType[\"INVOKE_METHOD\"] = 6] = \"INVOKE_METHOD\";\n})(ShellEventType || (ShellEventType = {}));\nvar createId = function () { return Math.floor(Math.random() * 9999) + 1; };\nvar useShell = function () {\n var _a = (0, react_1.useState)(false), windowClosed = _a[0], setWindowClosed = _a[1];\n var _b = (0, react_1.useState)(false), windowHidden = _b[0], setWindowHidden = _b[1];\n var on = function (name, listener) {\n events.on(name, listener);\n };\n var off = function (name, listener) {\n events.off(name, listener);\n };\n var send = function (method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n try {\n transport === null || transport === void 0 ? void 0 : transport.postMessage(JSON.stringify({\n id: createId(),\n type: ShellEventType.INVOKE_METHOD,\n object: SHELL_EVENT_OBJECT,\n method: 'onEvent',\n args: __spreadArray([method], args, true),\n }));\n }\n catch (e) {\n console.error('Shell', 'Failed to send event', e);\n }\n };\n (0, react_1.useEffect)(function () {\n var onWindowVisibilityChanged = function (data) {\n setWindowClosed(data.visible === false && data.visibility === 0);\n };\n var onWindowStateChanged = function (data) {\n setWindowHidden(data.state === 9);\n };\n on('win-visibility-changed', onWindowVisibilityChanged);\n on('win-state-changed', onWindowStateChanged);\n return function () {\n off('win-visibility-changed', onWindowVisibilityChanged);\n off('win-state-changed', onWindowStateChanged);\n };\n }, []);\n (0, react_1.useEffect)(function () {\n if (!transport)\n return;\n var onMessage = function (_a) {\n var data = _a.data;\n try {\n var _b = JSON.parse(data), type = _b.type, args = _b.args;\n if (type === ShellEventType.SIGNAL) {\n var methodName = args[0], methodArg = args[1];\n events.emit(methodName, methodArg);\n }\n }\n catch (e) {\n console.error('Shell', 'Failed to handle event', e);\n }\n };\n transport.addEventListener('message', onMessage);\n return function () { return transport.removeEventListener('message', onMessage); };\n }, []);\n return {\n active: !!transport,\n send: send,\n on: on,\n off: off,\n windowClosed: windowClosed,\n windowHidden: windowHidden,\n };\n};\nexports.default = useShell;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar useTimeout = function (duration) {\n var timeout = (0, react_1.useRef)(null);\n var start = function (callback) {\n cancel();\n timeout.current = setTimeout(callback, duration);\n };\n var cancel = function () {\n timeout.current && clearTimeout(timeout.current);\n timeout.current = null;\n };\n (0, react_1.useEffect)(function () {\n return function () { return cancel(); };\n }, []);\n return {\n start: start,\n cancel: cancel,\n };\n};\nexports.default = useTimeout;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_dom_1 = require(\"react-dom\");\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar useBinaryState_1 = __importDefault(require(\"stremio/common/useBinaryState\"));\nvar useOrientation_1 = __importDefault(require(\"stremio/common/useOrientation\"));\nvar BottomSheet_less_1 = __importDefault(require(\"./BottomSheet.less\"));\nvar CLOSE_THRESHOLD = 100;\nvar BottomSheet = function (_a) {\n var _b;\n var children = _a.children, title = _a.title, show = _a.show, onClose = _a.onClose;\n var containerRef = (0, react_1.useRef)(null);\n var orientation = (0, useOrientation_1.default)();\n var _c = (0, react_1.useState)(0), startOffset = _c[0], setStartOffset = _c[1];\n var _d = (0, react_1.useState)(0), offset = _d[0], setOffset = _d[1];\n var _e = (0, useBinaryState_1.default)(), opened = _e[0], open = _e[1], close = _e[2];\n var containerStyle = (0, react_1.useMemo)(function () { return ({\n transform: \"translateY(\".concat(offset, \"px)\")\n }); }, [offset]);\n var containerHeight = function () { var _a, _b; return (_b = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) !== null && _b !== void 0 ? _b : 0; };\n var onCloseRequest = function () { return setOffset(containerHeight()); };\n var onTouchStart = function (_a) {\n var touches = _a.touches;\n var clientY = touches[0].clientY;\n setStartOffset(clientY);\n };\n var onTouchMove = (0, react_1.useCallback)(function (_a) {\n var touches = _a.touches;\n var clientY = touches[0].clientY;\n setOffset(Math.max(0, clientY - startOffset));\n }, [startOffset]);\n var onTouchEnd = function () {\n setOffset(function (offset) { return offset > CLOSE_THRESHOLD ? containerHeight() : 0; });\n setStartOffset(0);\n };\n var onTransitionEnd = (0, react_1.useCallback)(function () {\n (offset === containerHeight()) && close();\n }, [offset]);\n (0, react_1.useEffect)(function () {\n setOffset(0);\n show ? open() : close();\n }, [show]);\n (0, react_1.useEffect)(function () {\n !opened && onClose();\n }, [opened]);\n (0, react_1.useEffect)(function () {\n opened && close();\n }, [orientation]);\n return opened && (0, react_dom_1.createPortal)((react_1.default.createElement(\"div\", { className: BottomSheet_less_1.default['bottom-sheet'] },\n react_1.default.createElement(\"div\", { className: BottomSheet_less_1.default['backdrop'], onClick: onCloseRequest }),\n react_1.default.createElement(\"div\", { ref: containerRef, className: (0, classnames_1.default)(BottomSheet_less_1.default['container'], (_b = {}, _b[BottomSheet_less_1.default['dragging']] = startOffset, _b), 'animation-slide-up'), style: containerStyle, onTouchStart: onTouchStart, onTouchMove: onTouchMove, onTouchEnd: onTouchEnd, onTransitionEnd: onTransitionEnd },\n react_1.default.createElement(\"div\", { className: BottomSheet_less_1.default['heading'] },\n react_1.default.createElement(\"div\", { className: BottomSheet_less_1.default['handle'] }),\n react_1.default.createElement(\"div\", { className: BottomSheet_less_1.default['title'] }, title)),\n react_1.default.createElement(\"div\", { className: BottomSheet_less_1.default['content'], onClick: onCloseRequest }, children)))), document.body);\n};\nexports.default = BottomSheet;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BottomSheet_1 = __importDefault(require(\"./BottomSheet\"));\nexports.default = BottomSheet_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar use_long_press_1 = require(\"use-long-press\");\nvar Button_less_1 = __importDefault(require(\"./Button.less\"));\nvar Button = (0, react_1.forwardRef)(function (_a, ref) {\n var className = _a.className, href = _a.href, disabled = _a.disabled, children = _a.children, onLongPress = _a.onLongPress, onDoubleClick = _a.onDoubleClick, props = __rest(_a, [\"className\", \"href\", \"disabled\", \"children\", \"onLongPress\", \"onDoubleClick\"]);\n var longPress = (0, use_long_press_1.useLongPress)(onLongPress, { detect: use_long_press_1.LongPressEventType.Pointer });\n var onKeyDown = (0, react_1.useCallback)(function (event) {\n if (typeof props.onKeyDown === 'function') {\n props.onKeyDown(event);\n }\n if (event.key === 'Enter') {\n event.preventDefault();\n // @ts-expect-error: Property 'buttonClickPrevented' does not exist on type 'KeyboardEvent'.\n if (!event.nativeEvent.buttonClickPrevented) {\n event.currentTarget.click();\n }\n }\n }, [props.onKeyDown]);\n var onMouseDown = (0, react_1.useCallback)(function (event) {\n if (typeof props.onMouseDown === 'function') {\n props.onMouseDown(event);\n }\n // @ts-expect-error: Property 'buttonBlurPrevented' does not exist on type 'MouseEvent'.\n if (!event.nativeEvent.buttonBlurPrevented) {\n event.preventDefault();\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n }\n }, [props.onMouseDown]);\n return (0, react_1.createElement)(typeof href === 'string' && href.length > 0 ? 'a' : 'div', __assign(__assign(__assign({ tabIndex: 0 }, props), { ref: ref, className: (0, classnames_1.default)(className, Button_less_1.default['button-container'], { 'disabled': disabled }), href: href, onKeyDown: onKeyDown, onMouseDown: onMouseDown, onDoubleClick: onDoubleClick }), longPress()), children);\n});\nexports.default = Button;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Button_1 = __importDefault(require(\"./Button\"));\nexports.default = Button_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Checkbox_less_1 = __importDefault(require(\"./Checkbox.less\"));\nvar Button_1 = __importDefault(require(\"../Button\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar Checkbox = react_1.default.forwardRef(function (_a, ref) {\n var _b, _c, _d;\n var name = _a.name, disabled = _a.disabled, className = _a.className, label = _a.label, href = _a.href, link = _a.link, onChange = _a.onChange, error = _a.error, checked = _a.checked;\n var handleSelect = (0, react_1.useCallback)(function (event) {\n if (!disabled && onChange) {\n onChange({\n type: 'select',\n checked: event.target.checked,\n reactEvent: event,\n nativeEvent: event.nativeEvent,\n });\n }\n }, [disabled, onChange]);\n var onKeyDown = (0, react_1.useCallback)(function (event) {\n if ((event.key === 'Enter' || event.key === ' ') && !disabled) {\n onChange && onChange({\n type: 'select',\n checked: !checked,\n reactEvent: event,\n nativeEvent: event.nativeEvent,\n });\n }\n }, [disabled, checked, onChange]);\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Checkbox_less_1.default['checkbox'], className) },\n react_1.default.createElement(\"label\", { className: Checkbox_less_1.default['label'], htmlFor: name },\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Checkbox_less_1.default['checkbox-container'], (_b = {}, _b[Checkbox_less_1.default['checked']] = checked, _b), (_c = {}, _c[Checkbox_less_1.default['disabled']] = disabled, _c), (_d = {}, _d[Checkbox_less_1.default['error']] = error, _d)), role: 'checkbox', tabIndex: disabled ? -1 : 0, \"aria-checked\": checked, onKeyDown: onKeyDown },\n react_1.default.createElement(\"input\", { ref: ref, id: name, type: 'checkbox', checked: checked, disabled: disabled, onChange: handleSelect, className: Checkbox_less_1.default['input'] }),\n checked ?\n react_1.default.createElement(react_2.default, { name: 'checkmark', className: Checkbox_less_1.default['checkbox-icon'] })\n : null),\n react_1.default.createElement(\"div\", null,\n react_1.default.createElement(\"span\", null, label),\n href && link ?\n react_1.default.createElement(Button_1.default, { className: Checkbox_less_1.default['link'], href: href, target: '_blank', tabIndex: -1 }, link)\n : null))));\n});\nexports.default = Checkbox;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Checkbox_1 = __importDefault(require(\"./Checkbox\"));\nexports.default = Checkbox_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar components_1 = require(\"stremio/components\");\nvar Chip_less_1 = __importDefault(require(\"./Chip.less\"));\nvar Chip = (0, react_1.memo)(function (_a) {\n var _b;\n var label = _a.label, value = _a.value, active = _a.active, onSelect = _a.onSelect;\n var ref = (0, react_1.useRef)(null);\n var onClick = (0, react_1.useCallback)(function (_a) {\n var currentTarget = _a.currentTarget;\n var value = currentTarget.dataset['value'];\n value && onSelect(value);\n }, [onselect]);\n (0, react_1.useEffect)(function () {\n var _a;\n active && ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({\n block: 'nearest',\n inline: 'center',\n behavior: 'smooth',\n }));\n }, [active]);\n return (react_1.default.createElement(components_1.Button, { ref: ref, key: value, className: (0, classnames_1.default)(Chip_less_1.default['chip'], (_b = {}, _b[Chip_less_1.default['active']] = active, _b)), tabIndex: -1, \"data-value\": value, onClick: onClick }, label));\n});\nexports.default = Chip;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Chip_1 = __importDefault(require(\"./Chip\"));\nexports.default = Chip_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar components_1 = require(\"stremio/components\");\nvar Chip_1 = __importDefault(require(\"./Chip\"));\nvar Chips_less_1 = __importDefault(require(\"./Chips.less\"));\nvar Chips = (0, react_1.memo)(function (_a) {\n var options = _a.options, selected = _a.selected, onSelect = _a.onSelect;\n return (react_1.default.createElement(components_1.HorizontalScroll, { className: Chips_less_1.default['chips'] }, options.map(function (_a) {\n var label = _a.label, value = _a.value;\n return (react_1.default.createElement(Chip_1.default, { key: value, label: label, value: value, active: selected.includes(value), onSelect: onSelect }));\n })));\n});\nexports.default = Chips;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Chips_1 = __importDefault(require(\"./Chips\"));\nexports.default = Chips_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar AColorPicker = __importStar(require(\"a-color-picker\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar components_1 = require(\"stremio/components\");\nvar ModalDialog_1 = __importDefault(require(\"stremio/components/ModalDialog\"));\nvar useBinaryState_1 = __importDefault(require(\"stremio/common/useBinaryState\"));\nvar ColorPicker_1 = __importDefault(require(\"./ColorPicker\"));\nvar ColorInput_less_1 = __importDefault(require(\"./ColorInput.less\"));\nvar parseColor = function (value) {\n var color = AColorPicker.parseColor(value, 'hexcss4');\n return typeof color === 'string' ? color : '#ffffffff';\n};\nvar ColorInput = function (_a) {\n var className = _a.className, value = _a.value, onChange = _a.onChange, props = __rest(_a, [\"className\", \"value\", \"onChange\"]);\n var t = (0, react_i18next_1.useTranslation)().t;\n var _b = (0, useBinaryState_1.default)(false), modalOpen = _b[0], openModal = _b[1], closeModal = _b[2];\n var _c = (0, react_1.useState)(function () {\n return parseColor(value);\n }), tempValue = _c[0], setTempValue = _c[1];\n var labelButtonStyle = (0, react_1.useMemo)(function () { return ({\n backgroundColor: value\n }); }, [value]);\n var isTransparent = (0, react_1.useMemo)(function () {\n return parseColor(value).endsWith('00');\n }, [value]);\n var labelButtonOnClick = (0, react_1.useCallback)(function (event) {\n if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n // @ts-expect-error: Property 'openModalPrevented' does not exist on type 'MouseEvent'.\n if (!event.nativeEvent.openModalPrevented) {\n openModal();\n }\n }, [props.onClick]);\n var modalDialogOnClick = (0, react_1.useCallback)(function (event) {\n // @ts-expect-error: Property 'openModalPrevented' does not exist on type 'MouseEvent'.\n event.nativeEvent.openModalPrevented = true;\n }, []);\n var modalButtons = (0, react_1.useMemo)(function () {\n var selectButtonOnClick = function () {\n if (typeof onChange === 'function') {\n onChange(tempValue);\n }\n closeModal();\n };\n return [\n {\n label: t('SELECT'),\n props: {\n 'data-autofocus': true,\n onClick: selectButtonOnClick\n }\n }\n ];\n }, [tempValue, onChange]);\n var colorPickerOnInput = (0, react_1.useCallback)(function (color) {\n setTempValue(parseColor(color));\n }, []);\n (0, react_1.useLayoutEffect)(function () {\n setTempValue(parseColor(value));\n }, [value, modalOpen]);\n return (react_1.default.createElement(components_1.Button, __assign({ title: isTransparent ? t('BUTTON_COLOR_TRANSPARENT') : value }, props, { style: labelButtonStyle, className: (0, classnames_1.default)(className, ColorInput_less_1.default['color-input-container']), onClick: labelButtonOnClick }),\n isTransparent ?\n react_1.default.createElement(\"div\", { className: ColorInput_less_1.default['transparent-label-container'] },\n react_1.default.createElement(\"div\", { className: ColorInput_less_1.default['transparent-label'] }, t('BUTTON_COLOR_TRANSPARENT')))\n :\n null,\n modalOpen ?\n react_1.default.createElement(ModalDialog_1.default, { title: t('CHOOSE_COLOR'), buttons: modalButtons, onCloseRequest: closeModal, onClick: modalDialogOnClick },\n react_1.default.createElement(ColorPicker_1.default, { className: ColorInput_less_1.default['color-picker-container'], value: tempValue, onInput: colorPickerOnInput }))\n :\n null));\n};\nexports.default = ColorInput;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ColorInput_1 = __importDefault(require(\"./ColorInput\"));\nexports.default = ColorInput_1.default;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_dom_1 = require(\"react-dom\");\nvar ContextMenu_less_1 = __importDefault(require(\"./ContextMenu.less\"));\nvar PADDING = 8;\nvar ContextMenu = function (_a) {\n var children = _a.children, on = _a.on, autoClose = _a.autoClose;\n var _b = (0, react_1.useState)(false), active = _b[0], setActive = _b[1];\n var _c = (0, react_1.useState)([0, 0]), position = _c[0], setPosition = _c[1];\n var _d = (0, react_1.useState)([0, 0]), containerSize = _d[0], setContainerSize = _d[1];\n var ref = (0, react_1.useCallback)(function (element) {\n element && setContainerSize([element.offsetWidth, element.offsetHeight]);\n }, []);\n var style = (0, react_1.useMemo)(function () {\n var _a = [window.innerWidth, window.innerHeight], viewportWidth = _a[0], viewportHeight = _a[1];\n var containerWidth = containerSize[0], containerHeight = containerSize[1];\n var x = position[0], y = position[1];\n var left = Math.max(PADDING, Math.min(x + containerWidth > viewportWidth - PADDING ? x - containerWidth : x, viewportWidth - containerWidth - PADDING));\n var top = Math.max(PADDING, Math.min(y + containerHeight > viewportHeight - PADDING ? y - containerHeight : y, viewportHeight - containerHeight - PADDING));\n return { top: top, left: left };\n }, [position, containerSize]);\n var close = function () {\n setPosition([0, 0]);\n setActive(false);\n };\n var stopPropagation = function (event) {\n event.stopPropagation();\n };\n var onContextMenu = function (event) {\n event.preventDefault();\n setPosition([event.clientX, event.clientY]);\n setActive(true);\n };\n var handleKeyDown = (0, react_1.useCallback)(function (event) { return event.key === 'Escape' && close(); }, []);\n var onClick = (0, react_1.useCallback)(function () {\n autoClose && close();\n }, [autoClose]);\n (0, react_1.useEffect)(function () {\n on.forEach(function (ref) { return ref.current && ref.current.addEventListener('contextmenu', onContextMenu); });\n document.addEventListener('keydown', handleKeyDown);\n return function () {\n on.forEach(function (ref) { return ref.current && ref.current.removeEventListener('contextmenu', onContextMenu); });\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [on]);\n return active && (0, react_dom_1.createPortal)((react_1.default.createElement(\"div\", { className: ContextMenu_less_1.default['context-menu-container'], onMouseDown: close, onTouchStart: close },\n react_1.default.createElement(\"div\", { ref: ref, className: ContextMenu_less_1.default['context-menu'], style: style, onMouseDown: stopPropagation, onTouchStart: stopPropagation, onClick: onClick }, children))), document.body);\n};\nexports.default = (0, react_1.memo)(ContextMenu);\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ContextMenu_1 = __importDefault(require(\"./ContextMenu\"));\nexports.default = ContextMenu_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar HorizontalScroll_less_1 = __importDefault(require(\"./HorizontalScroll.less\"));\nvar SCROLL_THRESHOLD = 1;\nvar HorizontalScroll = function (_a) {\n var className = _a.className, children = _a.children;\n var ref = (0, react_1.useRef)(null);\n var _b = (0, react_1.useState)('left'), scrollPosition = _b[0], setScrollPosition = _b[1];\n (0, react_1.useEffect)(function () {\n var _a;\n var onScroll = function (_a) {\n var target = _a.target;\n var _b = target, scrollLeft = _b.scrollLeft, scrollWidth = _b.scrollWidth, offsetWidth = _b.offsetWidth;\n setScrollPosition(function () { return ((scrollLeft - SCROLL_THRESHOLD) <= 0 ? 'left' :\n (scrollLeft + offsetWidth + SCROLL_THRESHOLD) >= scrollWidth ? 'right' :\n 'center'); });\n };\n (_a = ref.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', onScroll);\n return function () { var _a; return (_a = ref.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', onScroll); };\n }, []);\n return (react_1.default.createElement(\"div\", { ref: ref, className: (0, classnames_1.default)(HorizontalScroll_less_1.default['horizontal-scroll'], className, [HorizontalScroll_less_1.default[scrollPosition]]) }, children));\n};\nexports.default = HorizontalScroll;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar HorizontalScroll_1 = __importDefault(require(\"./HorizontalScroll\"));\nexports.default = HorizontalScroll_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar Image = function (_a) {\n var className = _a.className, src = _a.src, alt = _a.alt, fallbackSrc = _a.fallbackSrc, renderFallback = _a.renderFallback, props = __rest(_a, [\"className\", \"src\", \"alt\", \"fallbackSrc\", \"renderFallback\"]);\n var _b = (0, react_1.useState)(false), broken = _b[0], setBroken = _b[1];\n var onError = (0, react_1.useCallback)(function (event) {\n if (typeof props.onError === 'function') {\n props.onError(event);\n }\n setBroken(true);\n }, [props.onError]);\n (0, react_1.useLayoutEffect)(function () {\n setBroken(false);\n }, [src]);\n return (broken || typeof src !== 'string' || src.length === 0) && (typeof renderFallback === 'function' || typeof fallbackSrc === 'string') ?\n typeof renderFallback === 'function' ?\n renderFallback()\n :\n react_1.default.createElement(\"img\", __assign({}, props, { className: className, src: fallbackSrc, alt: alt, loading: 'lazy' }))\n :\n react_1.default.createElement(\"img\", __assign({}, props, { className: className, src: src, alt: alt, loading: 'lazy', onError: onError }));\n};\nexports.default = Image;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Image_1 = __importDefault(require(\"./Image\"));\nexports.default = Image_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar NavBar_1 = require(\"stremio/components/NavBar\");\nvar MainNavBars_less_1 = __importDefault(require(\"./MainNavBars.less\"));\nvar TABS = [\n { id: 'board', label: 'Board', icon: 'home', href: '#/' },\n { id: 'discover', label: 'Discover', icon: 'discover', href: '#/discover' },\n { id: 'library', label: 'Library', icon: 'library', href: '#/library' },\n { id: 'calendar', label: 'Calendar', icon: 'calendar', href: '#/calendar' },\n { id: 'addons', label: 'ADDONS', icon: 'addons', href: '#/addons' },\n { id: 'settings', label: 'SETTINGS', icon: 'settings', href: '#/settings' },\n];\nvar MainNavBars = (0, react_1.memo)(function (_a) {\n var className = _a.className, route = _a.route, query = _a.query, children = _a.children;\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(className, MainNavBars_less_1.default['main-nav-bars-container']) },\n react_1.default.createElement(NavBar_1.HorizontalNavBar, { className: MainNavBars_less_1.default['horizontal-nav-bar'], route: route, query: query, backButton: false, searchBar: true, fullscreenButton: true, navMenu: true }),\n react_1.default.createElement(NavBar_1.VerticalNavBar, { className: MainNavBars_less_1.default['vertical-nav-bar'], selected: route, tabs: TABS }),\n react_1.default.createElement(\"div\", { className: MainNavBars_less_1.default['nav-content-container'] }, children)));\n});\nexports.default = MainNavBars;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar MainNavBars_1 = __importDefault(require(\"./MainNavBars\"));\nexports.default = MainNavBars_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar useRating_1 = __importDefault(require(\"./useRating\"));\nvar Ratings_less_1 = __importDefault(require(\"./Ratings.less\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Ratings = function (_a) {\n var _b, _c;\n var ratingInfo = _a.ratingInfo, className = _a.className;\n var _d = (0, useRating_1.default)(ratingInfo), onLiked = _d.onLiked, onLoved = _d.onLoved, liked = _d.liked, loved = _d.loved;\n var disabled = (0, react_1.useMemo)(function () { return (ratingInfo === null || ratingInfo === void 0 ? void 0 : ratingInfo.type) !== 'Ready'; }, [ratingInfo]);\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Ratings_less_1.default['ratings-container'], className) },\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Ratings_less_1.default['icon-container'], (_b = {}, _b[Ratings_less_1.default['disabled']] = disabled, _b)), onClick: onLiked },\n react_1.default.createElement(react_2.default, { name: liked ? 'thumbs-up' : 'thumbs-up-outline', className: Ratings_less_1.default['icon'] })),\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Ratings_less_1.default['icon-container'], (_c = {}, _c[Ratings_less_1.default['disabled']] = disabled, _c)), onClick: onLoved },\n react_1.default.createElement(react_2.default, { name: loved ? 'heart' : 'heart-outline', className: Ratings_less_1.default['icon'] }))));\n};\nexports.default = Ratings;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Ratings = void 0;\nvar Ratings_1 = __importDefault(require(\"./Ratings\"));\nexports.Ratings = Ratings_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar services_1 = require(\"stremio/services\");\nvar useRating = function (ratingInfo) {\n var core = (0, services_1.useServices)().core;\n var setRating = (0, react_1.useCallback)(function (status) {\n core.transport.dispatch({\n action: 'MetaDetails',\n args: {\n action: 'Rate',\n args: status,\n },\n });\n }, []);\n var status = (0, react_1.useMemo)(function () {\n var content = (ratingInfo === null || ratingInfo === void 0 ? void 0 : ratingInfo.type) === 'Ready' ? ratingInfo.content : null;\n return content === null || content === void 0 ? void 0 : content.status;\n }, [ratingInfo]);\n var liked = (0, react_1.useMemo)(function () {\n return status === 'liked';\n }, [status]);\n var loved = (0, react_1.useMemo)(function () {\n return status === 'loved';\n }, [status]);\n var onLiked = (0, react_1.useCallback)(function () {\n setRating(status === 'liked' ? null : 'liked');\n }, [status]);\n var onLoved = (0, react_1.useCallback)(function () {\n setRating(status === 'loved' ? null : 'loved');\n }, [status]);\n return {\n onLiked: onLiked,\n onLoved: onLoved,\n liked: liked,\n loved: loved,\n };\n};\nexports.default = useRating;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar components_1 = require(\"stremio/components\");\nvar react_i18next_1 = require(\"react-i18next\");\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Option_1 = __importDefault(require(\"./Option\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar Dropdown_less_1 = __importDefault(require(\"./Dropdown.less\"));\nvar Dropdown = function (_a) {\n var _b;\n var level = _a.level, setLevel = _a.setLevel, options = _a.options, onSelect = _a.onSelect, value = _a.value, menuOpen = _a.menuOpen;\n var t = (0, react_i18next_1.useTranslation)().t;\n var optionsRef = (0, react_1.useRef)(new Map());\n var containerRef = (0, react_1.useRef)(null);\n var selectedOption = options.find(function (opt) { return opt.value === value; });\n var handleSetOptionRef = (0, react_1.useCallback)(function (optionValue) { return function (node) {\n if (node) {\n optionsRef.current.set(optionValue, node);\n }\n else {\n optionsRef.current.delete(optionValue);\n }\n }; }, []);\n var handleBackClick = (0, react_1.useCallback)(function () {\n setLevel(level - 1);\n }, [setLevel, level]);\n (0, react_1.useEffect)(function () {\n if (menuOpen && selectedOption && containerRef.current) {\n var selectedNode = optionsRef.current.get(selectedOption.value);\n if (selectedNode) {\n selectedNode.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest'\n });\n }\n }\n }, [menuOpen, selectedOption]);\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Dropdown_less_1.default['dropdown'], (_b = {}, _b[Dropdown_less_1.default['open']] = menuOpen, _b)), role: 'listbox', ref: containerRef },\n level > 0 ?\n react_1.default.createElement(components_1.Button, { className: Dropdown_less_1.default['back-button'], onClick: handleBackClick },\n react_1.default.createElement(react_2.default, { name: 'caret-left', className: Dropdown_less_1.default['back-button-icon'] }),\n t('BACK'))\n : null,\n options\n .filter(function (option) { return !option.hidden; })\n .map(function (option) { return (react_1.default.createElement(Option_1.default, { key: option.value, ref: handleSetOptionRef(option.value), option: option, onSelect: onSelect, selectedValue: value })); })));\n};\nexports.default = Dropdown;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar components_1 = require(\"stremio/components\");\nvar Option_less_1 = __importDefault(require(\"./Option.less\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar Option = (0, react_1.forwardRef)(function (_a, ref) {\n var _b;\n var option = _a.option, selectedValue = _a.selectedValue, onSelect = _a.onSelect;\n var selected = (0, react_1.useMemo)(function () { return (option === null || option === void 0 ? void 0 : option.value) === selectedValue; }, [option, selectedValue]);\n var handleClick = (0, react_1.useCallback)(function () {\n onSelect(option.value);\n }, [onSelect, option.value]);\n return (react_1.default.createElement(components_1.Button, { ref: ref, className: (0, classnames_1.default)(Option_less_1.default['option'], (_b = {}, _b[Option_less_1.default['selected']] = selected, _b)), key: option.id, onClick: handleClick, \"aria-selected\": selected },\n react_1.default.createElement(\"div\", { className: Option_less_1.default['label'] }, option.label),\n selected && !option.level ?\n react_1.default.createElement(\"div\", { className: Option_less_1.default['icon'] })\n : null,\n option.level ?\n react_1.default.createElement(react_2.default, { name: 'caret-right', className: Option_less_1.default['option-caret'] })\n : null));\n});\nOption.displayName = 'Option';\nexports.default = Option;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Option_1 = __importDefault(require(\"./Option\"));\nexports.default = Option_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Dropdown_1 = __importDefault(require(\"./Dropdown\"));\nexports.default = Dropdown_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar components_1 = require(\"stremio/components\");\nvar useBinaryState_1 = __importDefault(require(\"stremio/common/useBinaryState\"));\nvar Dropdown_1 = __importDefault(require(\"./Dropdown\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar MultiselectMenu_less_1 = __importDefault(require(\"./MultiselectMenu.less\"));\nvar useOutsideClick_1 = __importDefault(require(\"stremio/common/useOutsideClick\"));\nvar MultiselectMenu = function (_a) {\n var _b, _c, _d;\n var className = _a.className, title = _a.title, options = _a.options, value = _a.value, disabled = _a.disabled, onSelect = _a.onSelect;\n var _e = (0, useBinaryState_1.default)(false), menuOpen = _e[0], closeMenu = _e[2], toggleMenu = _e[3];\n var multiselectMenuRef = (0, useOutsideClick_1.default)(function () { return closeMenu(); });\n var _f = react_1.default.useState(0), level = _f[0], setLevel = _f[1];\n var selectedOption = options.find(function (opt) { return opt.value === value; });\n var onOptionSelect = function (selectedValue) {\n level ? setLevel(level + 1) : onSelect(selectedValue), closeMenu();\n };\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(MultiselectMenu_less_1.default['multiselect-menu'], (_b = {}, _b[MultiselectMenu_less_1.default['active']] = menuOpen, _b), className), ref: multiselectMenuRef },\n react_1.default.createElement(components_1.Button, { className: (0, classnames_1.default)(MultiselectMenu_less_1.default['multiselect-button'], (_c = {}, _c[MultiselectMenu_less_1.default['open']] = menuOpen, _c)), disabled: disabled, onClick: toggleMenu, tabIndex: 0, \"aria-haspopup\": 'listbox', \"aria-expanded\": menuOpen },\n react_1.default.createElement(\"div\", { className: MultiselectMenu_less_1.default['label'] }, typeof title === 'function'\n ? title()\n : title !== null && title !== void 0 ? title : selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label),\n react_1.default.createElement(react_2.default, { name: 'caret-down', className: (0, classnames_1.default)(MultiselectMenu_less_1.default['icon'], (_d = {}, _d[MultiselectMenu_less_1.default['open']] = menuOpen, _d)) })),\n menuOpen ?\n react_1.default.createElement(Dropdown_1.default, { level: level, setLevel: setLevel, options: options, onSelect: onOptionSelect, menuOpen: menuOpen, value: value })\n : null));\n};\nexports.default = MultiselectMenu;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar MultiselectMenu_1 = __importDefault(require(\"./MultiselectMenu\"));\nexports.default = MultiselectMenu_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar react_2 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar NumberInput_less_1 = __importDefault(require(\"./NumberInput.less\"));\nvar Button_1 = __importDefault(require(\"../Button\"));\nvar NumberInput = (0, react_2.forwardRef)(function (_a, ref) {\n var _b, _c;\n var _d;\n var _e = _a.defaultValue, defaultValue = _e === void 0 ? 0 : _e, showButtons = _a.showButtons, onKeyDown = _a.onKeyDown, onSubmit = _a.onSubmit, min = _a.min, max = _a.max, onChange = _a.onChange, props = __rest(_a, [\"defaultValue\", \"showButtons\", \"onKeyDown\", \"onSubmit\", \"min\", \"max\", \"onChange\"]);\n var _f = (0, react_2.useState)(defaultValue), value = _f[0], setValue = _f[1];\n var displayValue = (_d = props.value) !== null && _d !== void 0 ? _d : value;\n var handleKeyDown = (0, react_2.useCallback)(function (event) {\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);\n if (event.key === 'Enter') {\n onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(event);\n }\n }, [onKeyDown, onSubmit]);\n var handleValueChange = function (newValue) {\n if (props.value === undefined) {\n setValue(newValue);\n }\n onChange === null || onChange === void 0 ? void 0 : onChange({ target: { value: newValue.toString() } });\n };\n var handleIncrement = function () {\n handleValueChange(clampValueToRange((displayValue || 0) + 1));\n };\n var handleDecrement = function () {\n handleValueChange(clampValueToRange((displayValue || 0) - 1));\n };\n var clampValueToRange = function (value) {\n var minValue = min !== null && min !== void 0 ? min : 0;\n if (value < minValue) {\n return minValue;\n }\n if (max !== undefined && value > max) {\n return max;\n }\n return value;\n };\n var handleInputChange = (0, react_2.useCallback)(function (_a) {\n var valueAsNumber = _a.target.valueAsNumber;\n handleValueChange(clampValueToRange(valueAsNumber || 0));\n }, []);\n return (react_2.default.createElement(\"div\", { className: (0, classnames_1.default)(props.containerClassName, NumberInput_less_1.default['number-input']) },\n showButtons ?\n react_2.default.createElement(Button_1.default, { className: NumberInput_less_1.default['button'], onClick: handleDecrement, disabled: props.disabled || (min !== undefined ? displayValue <= min : false) },\n react_2.default.createElement(react_1.default, { className: NumberInput_less_1.default['icon'], name: 'remove' }))\n : null,\n react_2.default.createElement(\"div\", { className: (0, classnames_1.default)(NumberInput_less_1.default['number-display'], (_b = {}, _b[NumberInput_less_1.default['buttons-container']] = showButtons, _b)) },\n props.label ?\n react_2.default.createElement(\"div\", { className: NumberInput_less_1.default['label'] }, props.label)\n : null,\n react_2.default.createElement(\"input\", __assign({ ref: ref, type: 'number', tabIndex: 0, value: displayValue }, props, { className: (0, classnames_1.default)(props.className, NumberInput_less_1.default['value'], (_c = {}, _c[NumberInput_less_1.default.disabled] = props.disabled, _c)), onChange: handleInputChange, onKeyDown: handleKeyDown }))),\n showButtons ?\n react_2.default.createElement(Button_1.default, { className: NumberInput_less_1.default['button'], onClick: handleIncrement, disabled: props.disabled || (max !== undefined ? displayValue >= max : false) },\n react_2.default.createElement(react_1.default, { className: NumberInput_less_1.default['icon'], name: 'add' }))\n : null));\n});\nNumberInput.displayName = 'NumberInput';\nexports.default = (0, react_2.memo)(NumberInput);\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar NumberInput_1 = __importDefault(require(\"./NumberInput\"));\nexports.default = NumberInput_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar RadioButton_less_1 = __importDefault(require(\"./RadioButton.less\"));\nvar RadioButton = function (_a) {\n var _b, _c, _d;\n var disabled = _a.disabled, selected = _a.selected, className = _a.className, onChange = _a.onChange, error = _a.error;\n var handleSelect = (0, react_1.useCallback)(function (_a) {\n var target = _a.target;\n if (!disabled && onChange) {\n onChange(target.checked);\n }\n }, [disabled, onChange]);\n var onKeyDown = (0, react_1.useCallback)(function (_a) {\n var key = _a.key;\n if ((key === 'Enter' || key === ' ') && !disabled) {\n onChange && onChange(!selected);\n }\n }, [disabled, selected, onChange]);\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(RadioButton_less_1.default['radio-button'], className) },\n react_1.default.createElement(\"label\", null,\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(RadioButton_less_1.default['radio-container'], (_b = {}, _b[RadioButton_less_1.default['selected']] = selected, _b), (_c = {}, _c[RadioButton_less_1.default['disabled']] = disabled, _c), (_d = {}, _d[RadioButton_less_1.default['error']] = error, _d)), role: 'radio', tabIndex: disabled ? -1 : 0, \"aria-checked\": selected, onKeyDown: onKeyDown },\n react_1.default.createElement(\"input\", { type: 'radio', checked: selected, disabled: disabled, onChange: handleSelect, className: RadioButton_less_1.default['input'] }),\n react_1.default.createElement(\"span\", { className: RadioButton_less_1.default['inner-circle'] })))));\n};\nexports.default = RadioButton;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RadioButton_1 = __importDefault(require(\"./RadioButton\"));\nexports.default = RadioButton_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar styles_less_1 = __importDefault(require(\"./styles.less\"));\nvar TextInput = (0, react_1.forwardRef)(function (props, ref) {\n var onKeyDown = (0, react_1.useCallback)(function (event) {\n props.onKeyDown && props.onKeyDown(event);\n if (event.key === 'Enter') {\n props.onSubmit && props.onSubmit(event);\n }\n }, [props.onKeyDown, props.onSubmit]);\n return (react_1.default.createElement(\"input\", __assign({ size: 1, autoCorrect: 'off', autoCapitalize: 'off', autoComplete: 'off', spellCheck: false, tabIndex: 0 }, props, { ref: ref, className: (0, classnames_1.default)(props.className, styles_less_1.default['text-input'], { 'disabled': props.disabled }), onKeyDown: onKeyDown })));\n});\nTextInput.displayName = 'TextInput';\nexports.default = TextInput;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TextInput_1 = __importDefault(require(\"./TextInput\"));\nexports.default = TextInput_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar components_1 = require(\"stremio/components\");\nvar Toggle_less_1 = __importDefault(require(\"./Toggle.less\"));\nvar Toggle = (0, react_1.forwardRef)(function (_a, ref) {\n var className = _a.className, checked = _a.checked, children = _a.children, props = __rest(_a, [\"className\", \"checked\", \"children\"]);\n return (react_1.default.createElement(components_1.Button, __assign({}, props, { ref: ref, className: (0, classnames_1.default)(className, Toggle_less_1.default['toggle-container'], { 'checked': checked }) }),\n react_1.default.createElement(\"div\", { className: Toggle_less_1.default['toggle'] }),\n children));\n});\nToggle.displayName = 'Toggle';\nexports.default = Toggle;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Toggle_1 = __importDefault(require(\"./Toggle\"));\nexports.default = Toggle_1.default;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Transition = function (_a) {\n var children = _a.children, when = _a.when, name = _a.name;\n var _b = (0, react_1.useState)(null), element = _b[0], setElement = _b[1];\n var _c = (0, react_1.useState)(false), mounted = _c[0], setMounted = _c[1];\n var _d = (0, react_1.useState)('enter'), state = _d[0], setState = _d[1];\n var _e = (0, react_1.useState)(false), active = _e[0], setActive = _e[1];\n var callbackRef = (0, react_1.useCallback)(function (element) {\n setElement(element);\n }, []);\n var className = (0, react_1.useMemo)(function () {\n var animationClass = \"\".concat(name, \"-\").concat(state);\n var activeClass = active ? \"\".concat(name, \"-active\") : null;\n return children && (0, classnames_1.default)(children.props.className, animationClass, activeClass);\n }, [name, state, active, children]);\n var onTransitionEnd = (0, react_1.useCallback)(function () {\n state === 'exit' && setMounted(false);\n }, [state]);\n (0, react_1.useEffect)(function () {\n setState(when ? 'enter' : 'exit');\n when && setMounted(true);\n }, [when]);\n (0, react_1.useEffect)(function () {\n requestAnimationFrame(function () {\n setActive(!!element);\n });\n }, [element]);\n (0, react_1.useEffect)(function () {\n element === null || element === void 0 ? void 0 : element.addEventListener('transitionend', onTransitionEnd);\n return function () { return element === null || element === void 0 ? void 0 : element.removeEventListener('transitionend', onTransitionEnd); };\n }, [element, onTransitionEnd]);\n return (mounted && (0, react_1.cloneElement)(children, {\n ref: callbackRef,\n className: className,\n }));\n};\nexports.default = Transition;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Transition_1 = __importDefault(require(\"./Transition\"));\nexports.default = Transition_1.default;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Video = exports.Transition = exports.Toggle = exports.TextInput = exports.Slider = exports.SharePrompt = exports.SearchBar = exports.RadioButton = exports.Popup = exports.NumberInput = exports.VerticalNavBar = exports.HorizontalNavBar = exports.MultiselectMenu = exports.Multiselect = exports.ModalDialog = exports.MetaRow = exports.MetaPreview = exports.MetaItem = exports.MainNavBars = exports.LibItem = exports.Image = exports.HorizontalScroll = exports.EventModal = exports.DelayedRenderer = exports.ContinueWatchingItem = exports.ContextMenu = exports.ColorInput = exports.Chips = exports.Checkbox = exports.Button = exports.BottomSheet = exports.AddonDetailsModal = void 0;\nvar AddonDetailsModal_1 = __importDefault(require(\"./AddonDetailsModal\"));\nexports.AddonDetailsModal = AddonDetailsModal_1.default;\nvar BottomSheet_1 = __importDefault(require(\"./BottomSheet\"));\nexports.BottomSheet = BottomSheet_1.default;\nvar Button_1 = __importDefault(require(\"./Button\"));\nexports.Button = Button_1.default;\nvar Checkbox_1 = __importDefault(require(\"./Checkbox\"));\nexports.Checkbox = Checkbox_1.default;\nvar Chips_1 = __importDefault(require(\"./Chips\"));\nexports.Chips = Chips_1.default;\nvar ColorInput_1 = __importDefault(require(\"./ColorInput\"));\nexports.ColorInput = ColorInput_1.default;\nvar ContextMenu_1 = __importDefault(require(\"./ContextMenu\"));\nexports.ContextMenu = ContextMenu_1.default;\nvar ContinueWatchingItem_1 = __importDefault(require(\"./ContinueWatchingItem\"));\nexports.ContinueWatchingItem = ContinueWatchingItem_1.default;\nvar DelayedRenderer_1 = __importDefault(require(\"./DelayedRenderer\"));\nexports.DelayedRenderer = DelayedRenderer_1.default;\nvar EventModal_1 = __importDefault(require(\"./EventModal\"));\nexports.EventModal = EventModal_1.default;\nvar HorizontalScroll_1 = __importDefault(require(\"./HorizontalScroll\"));\nexports.HorizontalScroll = HorizontalScroll_1.default;\nvar Image_1 = __importDefault(require(\"./Image\"));\nexports.Image = Image_1.default;\nvar LibItem_1 = __importDefault(require(\"./LibItem\"));\nexports.LibItem = LibItem_1.default;\nvar MainNavBars_1 = __importDefault(require(\"./MainNavBars\"));\nexports.MainNavBars = MainNavBars_1.default;\nvar MetaItem_1 = __importDefault(require(\"./MetaItem\"));\nexports.MetaItem = MetaItem_1.default;\nvar MetaPreview_1 = __importDefault(require(\"./MetaPreview\"));\nexports.MetaPreview = MetaPreview_1.default;\nvar MetaRow_1 = __importDefault(require(\"./MetaRow\"));\nexports.MetaRow = MetaRow_1.default;\nvar ModalDialog_1 = __importDefault(require(\"./ModalDialog\"));\nexports.ModalDialog = ModalDialog_1.default;\nvar Multiselect_1 = __importDefault(require(\"./Multiselect\"));\nexports.Multiselect = Multiselect_1.default;\nvar MultiselectMenu_1 = __importDefault(require(\"./MultiselectMenu\"));\nexports.MultiselectMenu = MultiselectMenu_1.default;\nvar NavBar_1 = require(\"./NavBar\");\nObject.defineProperty(exports, \"HorizontalNavBar\", { enumerable: true, get: function () { return NavBar_1.HorizontalNavBar; } });\nObject.defineProperty(exports, \"VerticalNavBar\", { enumerable: true, get: function () { return NavBar_1.VerticalNavBar; } });\nvar NumberInput_1 = __importDefault(require(\"./NumberInput\"));\nexports.NumberInput = NumberInput_1.default;\nvar Popup_1 = __importDefault(require(\"./Popup\"));\nexports.Popup = Popup_1.default;\nvar RadioButton_1 = __importDefault(require(\"./RadioButton\"));\nexports.RadioButton = RadioButton_1.default;\nvar SearchBar_1 = __importDefault(require(\"./SearchBar\"));\nexports.SearchBar = SearchBar_1.default;\nvar SharePrompt_1 = __importDefault(require(\"./SharePrompt\"));\nexports.SharePrompt = SharePrompt_1.default;\nvar Slider_1 = __importDefault(require(\"./Slider\"));\nexports.Slider = Slider_1.default;\nvar TextInput_1 = __importDefault(require(\"./TextInput\"));\nexports.TextInput = TextInput_1.default;\nvar Toggle_1 = __importDefault(require(\"./Toggle\"));\nexports.Toggle = Toggle_1.default;\nvar Transition_1 = __importDefault(require(\"./Transition\"));\nexports.Transition = Transition_1.default;\nvar Video_1 = __importDefault(require(\"./Video\"));\nexports.Video = Video_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AddonPlaceholder = void 0;\nvar react_1 = __importDefault(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar AddonPlaceholder_less_1 = __importDefault(require(\"./AddonPlaceholder.less\"));\nvar AddonPlaceholder = function (_a) {\n var className = _a.className;\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(className, AddonPlaceholder_less_1.default['addon-container']) },\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['content'] },\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['logo-container'] },\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['placeholder-logo'] })),\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['info-container'] },\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['placeholder-pill'] }),\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['placeholder-pill'] }),\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['placeholder-pill'] }),\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['placeholder-pill'] }))),\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['buttons-container'] },\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['action-buttons-container'] },\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['placeholder-pill'] }),\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['placeholder-pill'] })),\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['placeholder-pill'] }))));\n};\nexports.AddonPlaceholder = AddonPlaceholder;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AddonPlaceholder = void 0;\nvar AddonPlaceholder_1 = require(\"./AddonPlaceholder\");\nObject.defineProperty(exports, \"AddonPlaceholder\", { enumerable: true, get: function () { return AddonPlaceholder_1.AddonPlaceholder; } });\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar services_1 = require(\"stremio/services\");\nvar components_1 = require(\"stremio/components\");\nvar useProfile_1 = __importDefault(require(\"stremio/common/useProfile\"));\nvar CoreSuspender_1 = require(\"stremio/common/CoreSuspender\");\nvar StreamingServerWarning_less_1 = __importDefault(require(\"./StreamingServerWarning.less\"));\nvar StreamingServerWarning = function (_a) {\n var className = _a.className;\n var t = (0, react_i18next_1.useTranslation)().t;\n var core = (0, services_1.useServices)().core;\n var profile = (0, useProfile_1.default)();\n var createDismissalDate = function (months, years) {\n if (years === void 0) { years = 0; }\n var dismissalDate = new Date();\n if (months) {\n dismissalDate.setMonth(dismissalDate.getMonth() + months);\n }\n if (years) {\n dismissalDate.setFullYear(dismissalDate.getFullYear() + years);\n }\n return dismissalDate;\n };\n var updateSettings = (0, react_1.useCallback)(function (streamingServerWarningDismissed) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { streamingServerWarningDismissed: streamingServerWarningDismissed })\n }\n });\n }, [profile.settings]);\n var onLater = (0, react_1.useCallback)(function () {\n updateSettings(createDismissalDate(1));\n }, [updateSettings]);\n var onDismiss = (0, react_1.useCallback)(function () {\n updateSettings(createDismissalDate(0, 50));\n }, [updateSettings]);\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(className, StreamingServerWarning_less_1.default['warning-container']) },\n react_1.default.createElement(\"div\", { className: StreamingServerWarning_less_1.default['warning-statement'] }, t('SETTINGS_SERVER_UNAVAILABLE')),\n react_1.default.createElement(\"div\", { className: StreamingServerWarning_less_1.default['actions'] },\n react_1.default.createElement(\"a\", { href: 'https://www.stremio.com/download-service', target: '_blank', rel: 'noreferrer' },\n react_1.default.createElement(components_1.Button, { className: StreamingServerWarning_less_1.default['action'], title: t('SERVICE_INSTALL'), tabIndex: -1 },\n react_1.default.createElement(\"div\", { className: StreamingServerWarning_less_1.default['label'] }, t('SERVICE_INSTALL')))),\n react_1.default.createElement(components_1.Button, { className: StreamingServerWarning_less_1.default['action'], title: t('WARNING_STREAMING_SERVER_LATER'), onClick: onLater, tabIndex: -1 },\n react_1.default.createElement(\"div\", { className: StreamingServerWarning_less_1.default['label'] }, t('WARNING_STREAMING_SERVER_LATER'))),\n react_1.default.createElement(components_1.Button, { className: StreamingServerWarning_less_1.default['action'], title: t('DONT_SHOW_AGAIN'), onClick: onDismiss, tabIndex: -1 },\n react_1.default.createElement(\"div\", { className: StreamingServerWarning_less_1.default['label'] }, t('DONT_SHOW_AGAIN'))))));\n};\nexports.default = (0, CoreSuspender_1.withCoreSuspender)(StreamingServerWarning);\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar StreamingServerWarning_1 = __importDefault(require(\"./StreamingServerWarning\"));\nexports.default = StreamingServerWarning_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar common_1 = require(\"stremio/common\");\nvar components_1 = require(\"stremio/components\");\nvar Selector_1 = __importDefault(require(\"./Selector\"));\nvar Table_1 = __importDefault(require(\"./Table\"));\nvar List_1 = __importDefault(require(\"./List\"));\nvar Details_1 = __importDefault(require(\"./Details\"));\nvar Placeholder_1 = __importDefault(require(\"./Placeholder\"));\nvar useCalendar_1 = __importDefault(require(\"./useCalendar\"));\nvar useCalendarDate_1 = __importDefault(require(\"./useCalendarDate\"));\nvar Calendar_less_1 = __importDefault(require(\"./Calendar.less\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Calendar = function (_a) {\n var urlParams = _a.urlParams;\n var calendar = (0, useCalendar_1.default)(urlParams);\n var profile = (0, common_1.useProfile)();\n var toDayMonth = (0, useCalendarDate_1.default)(profile).toDayMonth;\n var _b = (0, react_1.useState)(null), selected = _b[0], setSelected = _b[1];\n var detailsTitle = (0, react_1.useMemo)(function () { return toDayMonth(selected); }, [selected, toDayMonth]);\n var onDetailsClose = function () {\n setSelected(null);\n };\n return (react_1.default.createElement(components_1.MainNavBars, { className: Calendar_less_1.default['calendar'], route: 'calendar' }, profile.auth !== null ?\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Calendar_less_1.default['content'], 'animation-fade-in') },\n react_1.default.createElement(\"div\", { className: Calendar_less_1.default['main'] },\n react_1.default.createElement(Selector_1.default, { selected: calendar.selected, selectable: calendar.selectable, profile: profile }),\n react_1.default.createElement(Table_1.default, { items: calendar.items, selected: selected, monthInfo: calendar.monthInfo, onChange: setSelected })),\n react_1.default.createElement(List_1.default, { items: calendar.items, selected: selected, monthInfo: calendar.monthInfo, profile: profile, onChange: setSelected }),\n react_1.default.createElement(components_1.BottomSheet, { title: detailsTitle, show: !!selected, onClose: onDetailsClose },\n react_1.default.createElement(Details_1.default, { selected: selected, items: calendar.items })))\n :\n react_1.default.createElement(Placeholder_1.default, null)));\n};\nvar CalendarFallback = function () { return (react_1.default.createElement(components_1.MainNavBars, { className: Calendar_less_1.default['calendar'] })); };\nexports.default = (0, common_1.withCoreSuspender)(Calendar, CalendarFallback);\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar components_1 = require(\"stremio/components\");\nvar Details_less_1 = __importDefault(require(\"./Details.less\"));\nvar Details = function (_a) {\n var selected = _a.selected, items = _a.items;\n var t = (0, react_i18next_1.useTranslation)().t;\n var videos = (0, react_1.useMemo)(function () {\n var _a, _b;\n return (_b = (_a = items.find(function (_a) {\n var date = _a.date;\n return date.day === (selected === null || selected === void 0 ? void 0 : selected.day);\n })) === null || _a === void 0 ? void 0 : _a.items) !== null && _b !== void 0 ? _b : [];\n }, [selected, items]);\n return (react_1.default.createElement(\"div\", { className: Details_less_1.default['details'] },\n videos.map(function (_a) {\n var id = _a.id, name = _a.name, season = _a.season, episode = _a.episode, deepLinks = _a.deepLinks;\n return (react_1.default.createElement(components_1.Button, { className: Details_less_1.default['video'], key: id, href: deepLinks.metaDetailsStreams },\n react_1.default.createElement(\"div\", { className: Details_less_1.default['name'] }, name),\n react_1.default.createElement(\"div\", { className: Details_less_1.default['info'] },\n \"S\",\n season,\n \"E\",\n episode),\n react_1.default.createElement(react_2.default, { className: Details_less_1.default['icon'], name: 'play' })));\n }),\n !videos.length ?\n react_1.default.createElement(\"div\", { className: Details_less_1.default['placeholder'] }, t('CALENDAR_NO_NEW_EPISODES'))\n :\n null));\n};\nexports.default = Details;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Details_1 = __importDefault(require(\"./Details\"));\nexports.default = Details_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar components_1 = require(\"stremio/components\");\nvar useCalendarDate_1 = __importDefault(require(\"../../useCalendarDate\"));\nvar Item_less_1 = __importDefault(require(\"./Item.less\"));\nvar Item = function (_a) {\n var _b;\n var selected = _a.selected, monthInfo = _a.monthInfo, date = _a.date, items = _a.items, profile = _a.profile, onClick = _a.onClick;\n var ref = (0, react_1.useRef)(null);\n var toDayMonth = (0, useCalendarDate_1.default)(profile).toDayMonth;\n var _c = (0, react_1.useMemo)(function () { return [\n date.day === (selected === null || selected === void 0 ? void 0 : selected.day),\n date.day === monthInfo.today,\n ]; }, [selected, monthInfo, date]), active = _c[0], today = _c[1];\n var onItemClick = function () {\n onClick && onClick(date);\n };\n (0, react_1.useEffect)(function () {\n var _a;\n active && ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({\n block: 'start',\n behavior: 'smooth',\n }));\n }, [active]);\n return (react_1.default.createElement(\"div\", { ref: ref, className: (0, classnames_1.default)(Item_less_1.default['item'], (_b = {}, _b[Item_less_1.default['active']] = active, _b[Item_less_1.default['today']] = today, _b)), key: date.day, onClick: onItemClick },\n react_1.default.createElement(\"div\", { className: Item_less_1.default['heading'] }, toDayMonth(date)),\n react_1.default.createElement(\"div\", { className: Item_less_1.default['body'] }, items.map(function (_a) {\n var id = _a.id, name = _a.name, season = _a.season, episode = _a.episode, deepLinks = _a.deepLinks;\n return (react_1.default.createElement(components_1.Button, { className: Item_less_1.default['video'], key: id, href: deepLinks.metaDetailsStreams },\n react_1.default.createElement(\"div\", { className: Item_less_1.default['name'] }, name),\n react_1.default.createElement(\"div\", { className: Item_less_1.default['info'] },\n \"S\",\n season,\n \"E\",\n episode),\n react_1.default.createElement(react_2.default, { className: Item_less_1.default['icon'], name: 'play' })));\n }))));\n};\nexports.default = Item;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Item_less_1 = __importDefault(require(\"./Item.less\"));\nvar ItemPlaceholder = function () {\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Item_less_1.default['item'], Item_less_1.default['placeholder']) },\n react_1.default.createElement(\"div\", { className: Item_less_1.default['heading'] },\n react_1.default.createElement(\"div\", { className: Item_less_1.default['text'] })),\n react_1.default.createElement(\"div\", { className: Item_less_1.default['body'] },\n react_1.default.createElement(\"div\", { className: Item_less_1.default['video'] },\n react_1.default.createElement(\"div\", { className: Item_less_1.default['name'] }),\n react_1.default.createElement(\"div\", { className: Item_less_1.default['info'] })))));\n};\nexports.default = ItemPlaceholder;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ItemPlaceholder = exports.Item = void 0;\nvar Item_1 = __importDefault(require(\"./Item\"));\nexports.Item = Item_1.default;\nvar ItemPlaceholder_1 = __importDefault(require(\"./ItemPlaceholder\"));\nexports.ItemPlaceholder = ItemPlaceholder_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar Item_1 = require(\"./Item\");\nvar List_less_1 = __importDefault(require(\"./List.less\"));\nvar List = function (_a) {\n var items = _a.items, selected = _a.selected, monthInfo = _a.monthInfo, profile = _a.profile, onChange = _a.onChange;\n var filteredItems = (0, react_1.useMemo)(function () {\n return items.filter(function (_a) {\n var items = _a.items;\n return items.length;\n });\n }, [items]);\n return (react_1.default.createElement(\"div\", { className: List_less_1.default['list'] }, items.length === 0 ?\n [1, 2, 3].map(function (index) { return (react_1.default.createElement(Item_1.ItemPlaceholder, { key: index })); })\n :\n filteredItems.map(function (item) { return (react_1.default.createElement(Item_1.Item, __assign({ key: item.date.day }, item, { selected: selected, monthInfo: monthInfo, profile: profile, onClick: onChange }))); })));\n};\nexports.default = List;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar List_1 = __importDefault(require(\"./List\"));\nexports.default = List_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar components_1 = require(\"stremio/components\");\nvar Placeholder_less_1 = __importDefault(require(\"./Placeholder.less\"));\nvar Placeholder = function () {\n var t = (0, react_i18next_1.useTranslation)().t;\n return (react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['placeholder'] },\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['title'] }, t('CALENDAR_NOT_LOGGED_IN')),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['image-container'] },\n react_1.default.createElement(components_1.Image, { className: Placeholder_less_1.default['image'], src: require('/images/calendar_placeholder.png'), alt: ' ' })),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['overview'] },\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['point'] },\n react_1.default.createElement(react_2.default, { className: Placeholder_less_1.default['icon'], name: 'megaphone' }),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['text'] }, t('NOT_LOGGED_IN_NOTIFICATIONS'))),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['point'] },\n react_1.default.createElement(react_2.default, { className: Placeholder_less_1.default['icon'], name: 'calendar-thin' }),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['text'] }, t('NOT_LOGGED_IN_CALENDAR')))),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['button-container'] },\n react_1.default.createElement(components_1.Button, { className: Placeholder_less_1.default['button'], href: '#/intro?form=login' }, t('LOG_IN')))));\n};\nexports.default = Placeholder;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Placeholder_1 = __importDefault(require(\"./Placeholder\"));\nexports.default = Placeholder_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar components_1 = require(\"stremio/components\");\nvar useCalendarDate_1 = __importDefault(require(\"../useCalendarDate\"));\nvar Selector_less_1 = __importDefault(require(\"./Selector.less\"));\nvar Selector = function (_a) {\n var selected = _a.selected, selectable = _a.selectable, profile = _a.profile;\n var toMonth = (0, useCalendarDate_1.default)(profile).toMonth;\n var _b = (0, react_1.useMemo)(function () { return ([selectable.prev, selectable.next]); }, [selectable]), prev = _b[0], next = _b[1];\n var onPrev = (0, react_1.useCallback)(function () {\n window.location.href = prev.deepLinks.calendar;\n }, [prev]);\n var onNext = (0, react_1.useCallback)(function () {\n window.location.href = next.deepLinks.calendar;\n }, [next]);\n return (react_1.default.createElement(\"div\", { className: Selector_less_1.default['selector'] },\n react_1.default.createElement(components_1.Button, { className: Selector_less_1.default['prev'], onClick: onPrev },\n react_1.default.createElement(react_2.default, { className: Selector_less_1.default['icon'], name: 'chevron-back' }),\n react_1.default.createElement(\"div\", { className: Selector_less_1.default['label'] }, toMonth(prev, 'short'))),\n react_1.default.createElement(\"div\", { className: Selector_less_1.default['selected'] },\n react_1.default.createElement(\"div\", { className: Selector_less_1.default['year'] }, selected === null || selected === void 0 ? void 0 : selected.year),\n react_1.default.createElement(\"div\", { className: Selector_less_1.default['month'] }, toMonth(selected, 'long'))),\n react_1.default.createElement(components_1.Button, { className: Selector_less_1.default['next'], onClick: onNext },\n react_1.default.createElement(\"div\", { className: Selector_less_1.default['label'] }, toMonth(next, 'short')),\n react_1.default.createElement(react_2.default, { className: Selector_less_1.default['icon'], name: 'chevron-forward' }))));\n};\nexports.default = Selector;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Selector_1 = __importDefault(require(\"./Selector\"));\nexports.default = Selector_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar components_1 = require(\"stremio/components\");\nvar Cell_less_1 = __importDefault(require(\"./Cell.less\"));\nvar Cell = function (_a) {\n var _b;\n var selected = _a.selected, monthInfo = _a.monthInfo, date = _a.date, items = _a.items, onClick = _a.onClick;\n var _c = (0, react_1.useMemo)(function () { return [\n date.day === (selected === null || selected === void 0 ? void 0 : selected.day),\n date.day === monthInfo.today,\n ]; }, [selected, monthInfo, date]), active = _c[0], today = _c[1];\n var onCellClick = function () {\n onClick && onClick(date);\n };\n var onPosterClick = (0, react_1.useCallback)(function (event) {\n event.stopPropagation();\n }, []);\n return (react_1.default.createElement(components_1.Button, { className: (0, classnames_1.default)(Cell_less_1.default['cell'], (_b = {}, _b[Cell_less_1.default['active']] = active, _b[Cell_less_1.default['today']] = today, _b)), onClick: onCellClick },\n react_1.default.createElement(\"div\", { className: Cell_less_1.default['heading'] },\n react_1.default.createElement(\"div\", { className: Cell_less_1.default['day'] }, date.day)),\n react_1.default.createElement(components_1.HorizontalScroll, { className: Cell_less_1.default['items'] }, items.map(function (_a) {\n var id = _a.id, name = _a.name, poster = _a.poster, deepLinks = _a.deepLinks;\n return (react_1.default.createElement(components_1.Button, { key: id, className: Cell_less_1.default['item'], href: deepLinks.metaDetailsStreams, tabIndex: -1, onClick: onPosterClick },\n react_1.default.createElement(react_2.default, { className: Cell_less_1.default['icon'], name: 'play' }),\n react_1.default.createElement(components_1.Image, { className: Cell_less_1.default['poster'], src: poster, alt: name })));\n })),\n items.length > 0 ?\n react_1.default.createElement(react_2.default, { className: Cell_less_1.default['more'], name: 'more-horizontal' })\n :\n null));\n};\nexports.default = Cell;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar Table_less_1 = __importDefault(require(\"./Table.less\"));\nvar Cell_1 = __importDefault(require(\"./Cell/Cell\"));\nvar WEEK_DAYS = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\nvar Table = function (_a) {\n var items = _a.items, selected = _a.selected, monthInfo = _a.monthInfo, onChange = _a.onChange;\n var t = (0, react_i18next_1.useTranslation)().t;\n var cellsOffset = (0, react_1.useMemo)(function () {\n return Array.from(Array(monthInfo.firstWeekday).keys());\n }, [monthInfo]);\n return (react_1.default.createElement(\"div\", { className: Table_less_1.default['table'] },\n react_1.default.createElement(\"div\", { className: Table_less_1.default['week'] }, WEEK_DAYS.map(function (day) { return (react_1.default.createElement(\"div\", { className: Table_less_1.default['day'], key: day },\n react_1.default.createElement(\"span\", { className: Table_less_1.default['long'] }, t(day)),\n react_1.default.createElement(\"span\", { className: Table_less_1.default['short'] }, t(day).slice(0, 3)))); })),\n react_1.default.createElement(\"div\", { className: Table_less_1.default['grid'] },\n cellsOffset.map(function (day) { return (react_1.default.createElement(\"span\", { key: day })); }),\n items.map(function (item) { return (react_1.default.createElement(Cell_1.default, __assign({ key: item.date.day }, item, { selected: selected, monthInfo: monthInfo, onClick: onChange }))); }))));\n};\nexports.default = Table;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Table_1 = __importDefault(require(\"./Table\"));\nexports.default = Table_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Calendar_1 = __importDefault(require(\"./Calendar\"));\nexports.default = Calendar_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar common_1 = require(\"stremio/common\");\nvar useCalendar = function (urlParams) {\n var action = react_1.default.useMemo(function () {\n var args = urlParams.year && urlParams.month ? {\n year: parseInt(urlParams.year),\n month: parseInt(urlParams.month),\n day: urlParams.day ? parseInt(urlParams.day) : null,\n } : null;\n return {\n action: 'Load',\n args: {\n model: 'Calendar',\n args: args,\n },\n };\n }, [urlParams]);\n var calendar = (0, common_1.useModelState)({ model: 'calendar', action: action });\n return calendar;\n};\nexports.default = useCalendar;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar useCalendarDate = function (profile) {\n var toMonth = (0, react_1.useCallback)(function (calendarDate, format) {\n if (!calendarDate)\n return '';\n var date = new Date();\n date.setDate(1);\n date.setMonth(calendarDate.month - 1);\n return date.toLocaleString(profile.settings.interfaceLanguage, {\n month: format,\n });\n }, [profile.settings]);\n var toMonthYear = (0, react_1.useCallback)(function (calendarDate) {\n if (!calendarDate)\n return '';\n var date = new Date();\n date.setDate(1);\n date.setMonth(calendarDate.month - 1);\n date.setFullYear(calendarDate.year);\n return date.toLocaleString(profile.settings.interfaceLanguage, {\n month: 'long',\n year: 'numeric',\n });\n }, [profile.settings]);\n var toDayMonth = (0, react_1.useCallback)(function (calendarDate) {\n if (!calendarDate)\n return '';\n var date = new Date();\n date.setDate(calendarDate.day);\n date.setMonth(calendarDate.month - 1);\n return date.toLocaleString(profile.settings.interfaceLanguage, {\n day: 'numeric',\n month: 'short',\n });\n }, [profile.settings]);\n return {\n toMonth: toMonth,\n toMonthYear: toMonthYear,\n toDayMonth: toDayMonth,\n };\n};\nexports.default = useCalendarDate;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar common_1 = require(\"stremio/common\");\nvar hat_1 = __importDefault(require(\"hat\"));\nvar STREMIO_URL = 'https://www.strem.io';\nvar MAX_TRIES = 25;\nvar getCredentials = function (state) { return __awaiter(void 0, void 0, Promise, function () {\n var response, user, e_1;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 3, , 4]);\n return [4 /*yield*/, fetch(\"\".concat(STREMIO_URL, \"/login-apple-get-acc/\").concat(state))];\n case 1:\n response = _b.sent();\n return [4 /*yield*/, response.json()];\n case 2:\n user = (_b.sent()).user;\n return [2 /*return*/, Promise.resolve({\n token: user.token,\n sub: user.sub,\n email: user.email,\n // We might not receive a name from Apple, so we use an empty string as a fallback\n name: (_a = user.name) !== null && _a !== void 0 ? _a : '',\n })];\n case 3:\n e_1 = _b.sent();\n console.error('Failed to get credentials from Apple auth', e_1);\n return [2 /*return*/, Promise.reject(e_1)];\n case 4: return [2 /*return*/];\n }\n });\n}); };\nvar useAppleLogin = function () {\n var platform = (0, common_1.usePlatform)();\n var started = (0, react_1.useRef)(false);\n var timeout = (0, react_1.useRef)(null);\n var start = (0, react_1.useCallback)(function () { return new Promise(function (resolve, reject) {\n started.current = true;\n var state = (0, hat_1.default)(128);\n var tries = 0;\n platform.openExternal(\"\".concat(STREMIO_URL, \"/login-apple/\").concat(state));\n var waitForCredentials = function () {\n if (started.current) {\n timeout.current && clearTimeout(timeout.current);\n timeout.current = setTimeout(function () {\n if (tries >= MAX_TRIES)\n return reject(new Error('Failed to authenticate with Apple'));\n tries++;\n getCredentials(state)\n .then(resolve)\n .catch(waitForCredentials);\n }, 2000);\n }\n };\n waitForCredentials();\n }); }, []);\n var stop = (0, react_1.useCallback)(function () {\n started.current = false;\n timeout.current && clearTimeout(timeout.current);\n }, []);\n (0, react_1.useEffect)(function () {\n return function () { return stop(); };\n }, []);\n return [\n start,\n stop,\n ];\n};\nexports.default = useAppleLogin;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar hat_1 = __importDefault(require(\"hat\"));\nvar common_1 = require(\"stremio/common\");\nvar STREMIO_URL = 'https://www.strem.io';\nvar MAX_TRIES = 25;\nvar getCredentials = function (state) { return __awaiter(void 0, void 0, void 0, function () {\n var response, user, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 3, , 4]);\n return [4 /*yield*/, fetch(\"\".concat(STREMIO_URL, \"/login-fb-get-acc/\").concat(state))];\n case 1:\n response = _a.sent();\n return [4 /*yield*/, response.json()];\n case 2:\n user = (_a.sent()).user;\n return [2 /*return*/, Promise.resolve({\n email: user.email,\n password: user.fbLoginToken,\n })];\n case 3:\n e_1 = _a.sent();\n console.error('Failed to get credentials from facebook auth', e_1);\n return [2 /*return*/, Promise.reject(e_1)];\n case 4: return [2 /*return*/];\n }\n });\n}); };\nvar useFacebookLogin = function () {\n var platform = (0, common_1.usePlatform)();\n var started = (0, react_1.useRef)(false);\n var timeout = (0, react_1.useRef)(null);\n var start = (0, react_1.useCallback)(function () { return new Promise(function (resolve, reject) {\n started.current = true;\n var state = (0, hat_1.default)(128);\n var tries = 0;\n platform.openExternal(\"\".concat(STREMIO_URL, \"/login-fb/\").concat(state));\n var waitForCredentials = function () {\n if (started.current) {\n timeout.current && clearTimeout(timeout.current);\n timeout.current = setTimeout(function () {\n if (tries >= MAX_TRIES)\n return reject(new Error('Failed to authenticate with facebook'));\n tries++;\n getCredentials(state)\n .then(resolve)\n .catch(waitForCredentials);\n }, 1000);\n }\n };\n waitForCredentials();\n }); }, []);\n var stop = (0, react_1.useCallback)(function () {\n started.current = false;\n timeout.current && clearTimeout(timeout.current);\n }, []);\n (0, react_1.useEffect)(function () {\n return function () { return stop(); };\n }, []);\n return [\n start,\n stop,\n ];\n};\nmodule.exports = useFacebookLogin;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar components_1 = require(\"stremio/components\");\nvar Placeholder_less_1 = __importDefault(require(\"./Placeholder.less\"));\nvar Placeholder = function () {\n var t = (0, react_i18next_1.useTranslation)().t;\n return (react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['placeholder'] },\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['title'] }, t('LIBRARY_NOT_LOGGED_IN')),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['image-container'] },\n react_1.default.createElement(components_1.Image, { className: Placeholder_less_1.default['image'], src: require('/images/library_placeholder.png'), alt: ' ' })),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['overview'] },\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['point'] },\n react_1.default.createElement(react_2.default, { className: Placeholder_less_1.default['icon'], name: 'cloud-library' }),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['text'] }, t('NOT_LOGGED_IN_CLOUD'))),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['point'] },\n react_1.default.createElement(react_2.default, { className: Placeholder_less_1.default['icon'], name: 'actors' }),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['text'] }, t('NOT_LOGGED_IN_RECOMMENDATIONS')))),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['button-container'] },\n react_1.default.createElement(components_1.Button, { className: Placeholder_less_1.default['button'], href: '#/intro?form=login' }, t('LOG_IN')))));\n};\nexports.default = Placeholder;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Placeholder_1 = __importDefault(require(\"./Placeholder\"));\nexports.default = Placeholder_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar components_1 = require(\"stremio/components\");\nvar EpisodePicker_less_1 = __importDefault(require(\"./EpisodePicker.less\"));\nvar EpisodePicker = function (_a) {\n var className = _a.className, onSubmit = _a.onSubmit;\n var t = (0, react_i18next_1.useTranslation)().t;\n var _b = (0, react_1.useMemo)(function () {\n var splitPath = window.location.hash.split('/');\n var videoId = decodeURIComponent(splitPath[splitPath.length - 1]);\n var _a = videoId ? videoId.split(':') : [], pathSeason = _a[1], pathEpisode = _a[2];\n return {\n initialSeason: parseInt(pathSeason) || 0,\n initialEpisode: parseInt(pathEpisode) || 1\n };\n }, []), initialSeason = _b.initialSeason, initialEpisode = _b.initialEpisode;\n var _c = (0, react_1.useState)(initialSeason), season = _c[0], setSeason = _c[1];\n var _d = (0, react_1.useState)(initialEpisode), episode = _d[0], setEpisode = _d[1];\n var handleSeasonChange = (0, react_1.useCallback)(function (event) {\n setSeason(parseInt(event.target.value));\n }, []);\n var handleEpisodeChange = (0, react_1.useCallback)(function (event) {\n setEpisode(parseInt(event.target.value));\n }, []);\n var handleSubmit = function () {\n onSubmit(season, episode);\n };\n var disabled = season === initialSeason && episode === initialEpisode;\n return (react_1.default.createElement(\"div\", { className: className },\n react_1.default.createElement(components_1.NumberInput, { min: 0, label: t('SEASON'), defaultValue: season, onChange: handleSeasonChange, showButtons: true }),\n react_1.default.createElement(components_1.NumberInput, { min: 1, label: t('EPISODE'), defaultValue: episode, onChange: handleEpisodeChange, showButtons: true }),\n react_1.default.createElement(components_1.Button, { className: EpisodePicker_less_1.default['button-container'], onClick: handleSubmit, disabled: disabled },\n react_1.default.createElement(\"div\", { className: EpisodePicker_less_1.default['label'] }, t('SIDEBAR_SHOW_STREAMS')))));\n};\nexports.default = EpisodePicker;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EpisodePicker_1 = __importDefault(require(\"./EpisodePicker\"));\nexports.default = EpisodePicker_1.default;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar common_1 = require(\"stremio/common\");\nvar components_1 = require(\"stremio/components\");\nvar AudioMenu_less_1 = __importDefault(require(\"./AudioMenu.less\"));\nvar AudioMenu = function (_a) {\n var className = _a.className, selectedAudioTrackId = _a.selectedAudioTrackId, audioTracks = _a.audioTracks, onAudioTrackSelected = _a.onAudioTrackSelected;\n var t = (0, react_i18next_1.useTranslation)().t;\n var onAudioTrackClick = (0, react_1.useCallback)(function (_a) {\n var currentTarget = _a.currentTarget;\n var id = currentTarget.getAttribute('data-id');\n onAudioTrackSelected && onAudioTrackSelected(id);\n }, [onAudioTrackSelected]);\n var onMouseDown = function (event) {\n // @ts-expect-error: Property 'audioMenuClosePrevented' does not exist on type 'MouseEvent'.\n event.nativeEvent.audioMenuClosePrevented = true;\n };\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(className, AudioMenu_less_1.default['audio-menu']), onMouseDown: onMouseDown },\n react_1.default.createElement(\"div\", { className: AudioMenu_less_1.default['container'] },\n react_1.default.createElement(\"div\", { className: AudioMenu_less_1.default['header'] }, t('AUDIO_TRACKS')),\n react_1.default.createElement(\"div\", { className: AudioMenu_less_1.default['list'] }, audioTracks.map(function (_a, index) {\n var id = _a.id, label = _a.label, lang = _a.lang;\n return (react_1.default.createElement(components_1.Button, { key: index, title: label, className: (0, classnames_1.default)(AudioMenu_less_1.default['option'], { 'selected': selectedAudioTrackId === id }), \"data-id\": id, onClick: onAudioTrackClick },\n react_1.default.createElement(\"div\", { className: AudioMenu_less_1.default['info'] },\n react_1.default.createElement(\"div\", { className: AudioMenu_less_1.default['lang'] }, common_1.languages.label(lang)),\n react_1.default.createElement(\"div\", { className: AudioMenu_less_1.default['label'] }, label)),\n selectedAudioTrackId === id ?\n react_1.default.createElement(\"div\", { className: AudioMenu_less_1.default['icon'] })\n :\n null));\n })))));\n};\nexports.default = AudioMenu;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AudioMenu_1 = __importDefault(require(\"./AudioMenu\"));\nexports.default = AudioMenu_1.default;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar i18next_1 = require(\"i18next\");\nvar components_1 = require(\"stremio/components\");\nvar common_1 = require(\"stremio/common\");\nvar Indicator_less_1 = __importDefault(require(\"./Indicator.less\"));\nvar PROPERTIES = {\n 'extraSubtitlesDelay': {\n label: 'SUBTITLES_DELAY',\n format: function (value) { return \"\".concat((value / 1000).toFixed(2), \"s\"); },\n },\n};\nvar Indicator = function (_a) {\n var className = _a.className, videoState = _a.videoState, disabled = _a.disabled;\n var timeout = (0, react_1.useRef)(null);\n var prevVideoState = (0, react_1.useRef)(videoState);\n var _b = (0, common_1.useBinaryState)(false), shown = _b[0], show = _b[1], hide = _b[2];\n var _c = (0, react_1.useState)(null), current = _c[0], setCurrent = _c[1];\n var label = (0, react_1.useMemo)(function () {\n var property = current && PROPERTIES[current];\n return property && (0, i18next_1.t)(property.label);\n }, [current]);\n var value = (0, react_1.useMemo)(function () {\n var property = current && PROPERTIES[current];\n var value = current && videoState[current];\n return property && value && property.format(value);\n }, [current, videoState]);\n (0, react_1.useEffect)(function () {\n for (var _i = 0, _a = Object.keys(PROPERTIES); _i < _a.length; _i++) {\n var property = _a[_i];\n var prev = prevVideoState.current[property];\n var next = videoState[property];\n if (next && next !== prev) {\n setCurrent(property);\n show();\n timeout.current && clearTimeout(timeout.current);\n timeout.current = setTimeout(hide, 1000);\n }\n }\n prevVideoState.current = videoState;\n }, [videoState]);\n return (react_1.default.createElement(components_1.Transition, { when: shown && !disabled, name: 'fade' },\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(className, Indicator_less_1.default['indicator-container']) },\n react_1.default.createElement(\"div\", { className: Indicator_less_1.default['indicator'] },\n react_1.default.createElement(\"div\", null,\n label,\n \" \",\n value)))));\n};\nexports.default = Indicator;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar services_1 = require(\"stremio/services\");\nvar common_1 = require(\"stremio/common\");\nvar components_1 = require(\"stremio/components\");\nvar SeasonsBar_1 = __importDefault(require(\"stremio/routes/MetaDetails/VideosList/SeasonsBar\"));\nvar SideDrawer_less_1 = __importDefault(require(\"./SideDrawer.less\"));\nvar SideDrawer = (0, react_1.memo)((0, react_1.forwardRef)(function (_a, ref) {\n var seriesInfo = _a.seriesInfo, className = _a.className, closeSideDrawer = _a.closeSideDrawer, selected = _a.selected, props = __rest(_a, [\"seriesInfo\", \"className\", \"closeSideDrawer\", \"selected\"]);\n var core = (0, services_1.useServices)().core;\n var _b = (0, react_1.useState)(seriesInfo === null || seriesInfo === void 0 ? void 0 : seriesInfo.season), season = _b[0], setSeason = _b[1];\n var selectedVideoRef = (0, react_1.useRef)(null);\n var metaItem = (0, react_1.useMemo)(function () {\n return seriesInfo ? __assign(__assign({}, props.metaItem), { links: props.metaItem.links.filter(function (_a) {\n var category = _a.category;\n return category === common_1.CONSTANTS.SHARE_LINK_CATEGORY;\n }) }) :\n props.metaItem;\n }, [props.metaItem]);\n var videos = (0, react_1.useMemo)(function () {\n return Array.isArray(metaItem.videos) ?\n metaItem.videos.filter(function (video) { return video.season === season; })\n :\n metaItem.videos;\n }, [metaItem, season]);\n var seasons = (0, react_1.useMemo)(function () {\n return props.metaItem.videos\n .map(function (_a) {\n var season = _a.season;\n return season;\n })\n .filter(function (season, index, seasons) {\n return seasons.indexOf(season) === index;\n })\n .sort(function (a, b) { return (a || Number.MAX_SAFE_INTEGER) - (b || Number.MAX_SAFE_INTEGER); });\n }, [props.metaItem.videos]);\n var seasonOnSelect = (0, react_1.useCallback)(function (event) {\n setSeason(parseInt(event.value));\n }, []);\n var seasonWatched = react_1.default.useMemo(function () {\n return videos.every(function (video) { return video.watched; });\n }, [videos]);\n var onMarkVideoAsWatched = (0, react_1.useCallback)(function (video, watched) {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'MarkVideoAsWatched',\n args: [video, !watched]\n }\n });\n }, []);\n var onMarkSeasonAsWatched = function (season, watched) {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'MarkSeasonAsWatched',\n args: [season, !watched]\n }\n });\n };\n var onMouseDown = function (event) {\n event.stopPropagation();\n };\n var onTransitionEnd = function () {\n var _a;\n (_a = selectedVideoRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({\n behavior: 'smooth',\n });\n };\n return (react_1.default.createElement(\"div\", { ref: ref, className: (0, classnames_1.default)(SideDrawer_less_1.default['side-drawer'], className), onMouseDown: onMouseDown, onTransitionEnd: onTransitionEnd },\n react_1.default.createElement(\"div\", { className: SideDrawer_less_1.default['close-button'], onClick: closeSideDrawer },\n react_1.default.createElement(react_2.default, { className: SideDrawer_less_1.default['icon'], name: 'chevron-forward' })),\n react_1.default.createElement(\"div\", { className: SideDrawer_less_1.default['info'] },\n react_1.default.createElement(components_1.MetaPreview, { className: SideDrawer_less_1.default['side-drawer-meta-preview'], compact: true, name: metaItem.name, logo: metaItem.logo, runtime: metaItem.runtime, releaseInfo: metaItem.releaseInfo, released: metaItem.released, description: metaItem.description, links: metaItem.links })),\n seriesInfo ?\n react_1.default.createElement(\"div\", { className: SideDrawer_less_1.default['series-content'] },\n react_1.default.createElement(SeasonsBar_1.default, { season: season, seasons: seasons, onSelect: seasonOnSelect }),\n react_1.default.createElement(\"div\", { className: SideDrawer_less_1.default['videos'] }, videos.map(function (video, index) { return (react_1.default.createElement(components_1.Video, { key: index, ref: video.id === selected ? selectedVideoRef : null, className: SideDrawer_less_1.default['video'], id: video.id, title: video.title, thumbnail: video.thumbnail, season: video.season, episode: video.episode, released: video.released, upcoming: video.upcoming, watched: video.watched, seasonWatched: seasonWatched, progress: video.progress, deepLinks: video.deepLinks, scheduled: video.scheduled, onMarkVideoAsWatched: onMarkVideoAsWatched, onMarkSeasonAsWatched: onMarkSeasonAsWatched })); })))\n : null));\n}));\nexports.default = SideDrawer;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SideDrawer_1 = __importDefault(require(\"./SideDrawer\"));\nexports.default = SideDrawer_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar SideDrawerButton_less_1 = __importDefault(require(\"./SideDrawerButton.less\"));\nvar SideDrawerButton = function (_a) {\n var className = _a.className, onClick = _a.onClick;\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(className, SideDrawerButton_less_1.default['side-drawer-button']), onClick: onClick },\n react_1.default.createElement(react_2.default, { name: 'chevron-back', className: SideDrawerButton_less_1.default['icon'] })));\n};\nexports.default = SideDrawerButton;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SideDrawerButton_1 = __importDefault(require(\"./SideDrawerButton\"));\nexports.default = SideDrawerButton_1.default;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar components_1 = require(\"stremio/components\");\nvar common_1 = require(\"stremio/common\");\nvar Stepper_less_1 = __importDefault(require(\"./Stepper.less\"));\nvar clamp = function (value, min, max) {\n var minClamped = typeof min === 'number' ? Math.max(value, min) : value;\n var maxClamped = typeof max === 'number' ? Math.min(minClamped, max) : minClamped;\n return maxClamped;\n};\nvar Stepper = function (_a) {\n var className = _a.className, label = _a.label, value = _a.value, unit = _a.unit, step = _a.step, min = _a.min, max = _a.max, disabled = _a.disabled, onChange = _a.onChange;\n var t = (0, react_i18next_1.useTranslation)().t;\n var localValue = (0, react_1.useRef)(value);\n var interval = (0, common_1.useInterval)(100);\n var timeout = (0, common_1.useTimeout)(250);\n var cancel = function () {\n interval.cancel();\n timeout.cancel();\n };\n var updateValue = (0, react_1.useCallback)(function (delta) {\n onChange(clamp(localValue.current + delta, min, max));\n }, [onChange]);\n var onDecrementMouseDown = (0, react_1.useCallback)(function () {\n cancel();\n timeout.start(function () { return interval.start(function () { return updateValue(-step); }); });\n }, [updateValue]);\n var onDecrementMouseUp = (0, react_1.useCallback)(function () {\n cancel();\n updateValue(-step);\n }, [updateValue]);\n var onIncrementMouseDown = (0, react_1.useCallback)(function () {\n cancel();\n timeout.start(function () { return interval.start(function () { return updateValue(step); }); });\n }, [updateValue]);\n var onIncrementMouseUp = (0, react_1.useCallback)(function () {\n cancel();\n updateValue(step);\n }, [updateValue]);\n (0, react_1.useEffect)(function () {\n localValue.current = value;\n }, [value]);\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Stepper_less_1.default['stepper'], className) },\n react_1.default.createElement(\"div\", { className: Stepper_less_1.default['header'] }, t(label)),\n react_1.default.createElement(\"div\", { className: Stepper_less_1.default['content'] },\n react_1.default.createElement(components_1.Button, { className: (0, classnames_1.default)(Stepper_less_1.default['button'], { 'disabled': disabled }), onMouseDown: onDecrementMouseDown, onMouseUp: onDecrementMouseUp, onMouseLeave: cancel },\n react_1.default.createElement(react_2.default, { className: Stepper_less_1.default['icon'], name: 'remove' })),\n react_1.default.createElement(\"div\", { className: Stepper_less_1.default['value'] }, disabled ? '--' : \"\".concat(value).concat(unit)),\n react_1.default.createElement(components_1.Button, { className: (0, classnames_1.default)(Stepper_less_1.default['button'], { 'disabled': disabled }), onMouseDown: onIncrementMouseDown, onMouseUp: onIncrementMouseUp, onMouseLeave: cancel },\n react_1.default.createElement(react_2.default, { className: Stepper_less_1.default['icon'], name: 'add' })))));\n};\nexports.default = Stepper;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Stepper_1 = __importDefault(require(\"./Stepper\"));\nexports.default = Stepper_1.default;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar components_1 = require(\"stremio/components\");\nvar services_1 = require(\"stremio/services\");\nvar common_1 = require(\"stremio/common\");\nvar components_2 = require(\"../components\");\nvar User_1 = __importDefault(require(\"./User\"));\nvar useDataExport_1 = __importDefault(require(\"./useDataExport\"));\nvar General_less_1 = __importDefault(require(\"./General.less\"));\nvar useGeneralOptions_1 = __importDefault(require(\"./useGeneralOptions\"));\nvar General = (0, react_1.forwardRef)(function (_a, ref) {\n var _b, _c, _d, _e, _f;\n var profile = _a.profile;\n var t = (0, react_i18next_1.useTranslation)().t;\n var _g = (0, services_1.useServices)(), core = _g.core, shell = _g.shell;\n var platform = (0, common_1.usePlatform)();\n var toast = (0, common_1.useToast)();\n var _h = (0, useDataExport_1.default)(), dataExport = _h[0], loadDataExport = _h[1];\n var _j = (0, useGeneralOptions_1.default)(profile), interfaceLanguageSelect = _j.interfaceLanguageSelect, quitOnCloseToggle = _j.quitOnCloseToggle, escExitFullscreenToggle = _j.escExitFullscreenToggle, hideSpoilersToggle = _j.hideSpoilersToggle;\n var _k = (0, react_1.useState)(false), traktAuthStarted = _k[0], setTraktAuthStarted = _k[1];\n var isTraktAuthenticated = (0, react_1.useMemo)(function () {\n var _a, _b;\n var trakt = (_b = (_a = profile === null || profile === void 0 ? void 0 : profile.auth) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.trakt;\n return trakt && (Date.now() / 1000) < (trakt.created_at + trakt.expires_in);\n }, [profile.auth]);\n var onExportData = (0, react_1.useCallback)(function () {\n loadDataExport();\n }, []);\n var onCalendarSubscribe = (0, react_1.useCallback)(function () {\n if (!profile.auth)\n return;\n var protocol = platform.name === 'ios' ? 'webcal' : 'https';\n var url = \"\".concat(protocol, \"://www.strem.io/calendar/\").concat(profile.auth.user._id, \".ics\");\n platform.openExternal(url);\n toast.show({\n type: 'success',\n title: platform.name === 'ios' ?\n t('SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST') :\n t('SETTINGS_SUBSCRIBE_CALENDAR_TOAST'),\n timeout: 25000\n });\n // Stremio 4 emits not documented event subscribeCalendar\n }, [profile.auth]);\n var onToggleTrakt = (0, react_1.useCallback)(function () {\n if (!isTraktAuthenticated && profile.auth !== null && profile.auth.user !== null && typeof profile.auth.user._id === 'string') {\n platform.openExternal(\"https://www.strem.io/trakt/auth/\".concat(profile.auth.user._id));\n setTraktAuthStarted(true);\n }\n else {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'LogoutTrakt'\n }\n });\n }\n }, [isTraktAuthenticated, profile.auth]);\n (0, react_1.useEffect)(function () {\n if (dataExport.exportUrl) {\n platform.openExternal(dataExport.exportUrl);\n }\n }, [dataExport.exportUrl]);\n (0, react_1.useEffect)(function () {\n if (isTraktAuthenticated && traktAuthStarted) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'InstallTraktAddon'\n }\n });\n setTraktAuthStarted(false);\n }\n }, [isTraktAuthenticated, traktAuthStarted]);\n return react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(components_2.Section, { ref: ref },\n react_1.default.createElement(User_1.default, { profile: profile })),\n react_1.default.createElement(components_2.Section, null,\n ((_b = profile === null || profile === void 0 ? void 0 : profile.auth) === null || _b === void 0 ? void 0 : _b.user) &&\n react_1.default.createElement(components_2.Link, { label: t('SETTINGS_DATA_EXPORT'), onClick: onExportData }),\n ((_c = profile === null || profile === void 0 ? void 0 : profile.auth) === null || _c === void 0 ? void 0 : _c.user) &&\n react_1.default.createElement(components_2.Link, { label: t('SETTINGS_SUBSCRIBE_CALENDAR'), onClick: onCalendarSubscribe }),\n react_1.default.createElement(components_2.Link, { label: t('SETTINGS_SUPPORT'), href: 'https://stremio.zendesk.com/hc/en-us' }),\n react_1.default.createElement(components_2.Link, { label: t('SETTINGS_SOURCE_CODE'), href: \"https://github.com/stremio/stremio-web/tree/\".concat(process.env.COMMIT_HASH) }),\n react_1.default.createElement(components_2.Link, { label: t('TERMS_OF_SERVICE'), href: 'https://www.stremio.com/tos' }),\n react_1.default.createElement(components_2.Link, { label: t('PRIVACY_POLICY'), href: 'https://www.stremio.com/privacy' }),\n ((_d = profile === null || profile === void 0 ? void 0 : profile.auth) === null || _d === void 0 ? void 0 : _d.user) &&\n react_1.default.createElement(components_2.Link, { label: t('SETTINGS_ACC_DELETE'), href: 'https://stremio.zendesk.com/hc/en-us/articles/360021428911-How-to-delete-my-account' }),\n ((_f = (_e = profile === null || profile === void 0 ? void 0 : profile.auth) === null || _e === void 0 ? void 0 : _e.user) === null || _f === void 0 ? void 0 : _f.email) &&\n react_1.default.createElement(components_2.Link, { label: t('SETTINGS_CHANGE_PASSWORD'), href: \"https://www.strem.io/reset-password/\".concat(profile.auth.user.email) }),\n react_1.default.createElement(components_2.Option, { className: General_less_1.default['trakt-container'], icon: 'trakt', label: t('SETTINGS_TRAKT') },\n react_1.default.createElement(components_1.Button, { className: 'button', title: isTraktAuthenticated ? t('LOG_OUT') : t('SETTINGS_TRAKT_AUTHENTICATE'), disabled: profile.auth === null, tabIndex: -1, onClick: onToggleTrakt }, isTraktAuthenticated ? t('LOG_OUT') : t('SETTINGS_TRAKT_AUTHENTICATE')))),\n react_1.default.createElement(components_2.Section, null,\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_UI_LANGUAGE' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, interfaceLanguageSelect))),\n shell.active &&\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_QUIT_ON_CLOSE' },\n react_1.default.createElement(components_1.Toggle, __assign({ tabIndex: -1 }, quitOnCloseToggle))),\n shell.active &&\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_FULLSCREEN_EXIT' },\n react_1.default.createElement(components_1.Toggle, __assign({ tabIndex: -1 }, escExitFullscreenToggle))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_BLUR_UNWATCHED_IMAGE' },\n react_1.default.createElement(components_1.Toggle, __assign({ tabIndex: -1 }, hideSpoilersToggle)))));\n});\nexports.default = General;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar services_1 = require(\"stremio/services\");\nvar components_1 = require(\"../../components\");\nvar User_less_1 = __importDefault(require(\"./User.less\"));\nvar User = function (_a) {\n var profile = _a.profile;\n var t = (0, react_i18next_1.useTranslation)().t;\n var core = (0, services_1.useServices)().core;\n var avatar = (0, react_1.useMemo)(function () { return (!profile.auth ?\n \"url('\".concat(require('/images/anonymous.png'), \"')\")\n :\n profile.auth.user.avatar ?\n \"url('\".concat(profile.auth.user.avatar, \"')\")\n :\n \"url('\".concat(require('/images/default_avatar.png'), \"')\")); }, [profile.auth]);\n var onLogout = (0, react_1.useCallback)(function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Logout'\n }\n });\n }, []);\n return (react_1.default.createElement(\"div\", { className: User_less_1.default['user'] },\n react_1.default.createElement(\"div\", { className: User_less_1.default['user-info-content'] },\n react_1.default.createElement(\"div\", { className: User_less_1.default['avatar-container'], style: { backgroundImage: avatar } }),\n react_1.default.createElement(\"div\", { className: User_less_1.default['email-logout-container'] },\n react_1.default.createElement(\"div\", { className: User_less_1.default['email-label-container'], title: profile.auth === null ? t('ANONYMOUS_USER') : profile.auth.user.email },\n react_1.default.createElement(\"div\", { className: User_less_1.default['email-label'] }, profile.auth === null ? t('ANONYMOUS_USER') : profile.auth.user.email)),\n profile.auth !== null ?\n react_1.default.createElement(components_1.Link, { label: t('LOG_OUT'), onClick: onLogout })\n :\n react_1.default.createElement(components_1.Link, { label: \"\".concat(t('LOG_IN'), \" / \").concat(t('SIGN_UP')), href: '#/intro', target: '_self' })))));\n};\nexports.default = User;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar User_1 = __importDefault(require(\"./User\"));\nexports.default = User_1.default;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar General_1 = __importDefault(require(\"./General\"));\nexports.default = General_1.default;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar common_1 = require(\"stremio/common\");\nvar services_1 = require(\"stremio/services\");\nvar useGeneralOptions = function (profile) {\n var core = (0, services_1.useServices)().core;\n var interfaceLanguageOptions = (0, react_1.useMemo)(function () {\n return common_1.interfaceLanguages.map(function (_a) {\n var name = _a.name, codes = _a.codes;\n return ({\n value: codes[0],\n label: name,\n });\n });\n }, []);\n var sortedOptions = (0, common_1.useLanguageSorting)(interfaceLanguageOptions).sortedOptions;\n var interfaceLanguageSelect = (0, react_1.useMemo)(function () {\n var _a, _b;\n return ({\n options: sortedOptions,\n value: ((_b = (_a = common_1.interfaceLanguages.find(function (_a) {\n var codes = _a.codes;\n return codes[1] === profile.settings.interfaceLanguage;\n })) === null || _a === void 0 ? void 0 : _a.codes) === null || _b === void 0 ? void 0 : _b[0]) ||\n profile.settings.interfaceLanguage,\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { interfaceLanguage: value })\n }\n });\n }\n });\n }, [profile.settings, sortedOptions]);\n var escExitFullscreenToggle = (0, react_1.useMemo)(function () { return ({\n checked: profile.settings.escExitFullscreen,\n onClick: function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { escExitFullscreen: !profile.settings.escExitFullscreen })\n }\n });\n }\n }); }, [profile.settings]);\n var quitOnCloseToggle = (0, react_1.useMemo)(function () { return ({\n checked: profile.settings.quitOnClose,\n onClick: function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { quitOnClose: !profile.settings.quitOnClose })\n }\n });\n }\n }); }, [profile.settings]);\n var hideSpoilersToggle = (0, react_1.useMemo)(function () { return ({\n checked: profile.settings.hideSpoilers,\n onClick: function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { hideSpoilers: !profile.settings.hideSpoilers })\n }\n });\n }\n }); }, [profile.settings]);\n return {\n interfaceLanguageSelect: interfaceLanguageSelect,\n escExitFullscreenToggle: escExitFullscreenToggle,\n quitOnCloseToggle: quitOnCloseToggle,\n hideSpoilersToggle: hideSpoilersToggle,\n };\n};\nexports.default = useGeneralOptions;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar services_1 = require(\"stremio/services\");\nvar components_1 = require(\"../components\");\nvar Info_less_1 = __importDefault(require(\"./Info.less\"));\nvar Info = function (_a) {\n var _b, _c;\n var streamingServer = _a.streamingServer;\n var shell = (0, services_1.useServices)().shell;\n var t = (0, react_i18next_1.useTranslation)().t;\n var settings = (0, react_1.useMemo)(function () {\n var _a;\n return (((_a = streamingServer === null || streamingServer === void 0 ? void 0 : streamingServer.settings) === null || _a === void 0 ? void 0 : _a.type) === 'Ready' ?\n streamingServer.settings.content : null);\n }, [streamingServer === null || streamingServer === void 0 ? void 0 : streamingServer.settings]);\n return (react_1.default.createElement(components_1.Section, { className: Info_less_1.default['info'] },\n react_1.default.createElement(components_1.Option, { label: t('SETTINGS_APP_VERSION') },\n react_1.default.createElement(\"div\", { className: Info_less_1.default['label'] }, process.env.VERSION)),\n react_1.default.createElement(components_1.Option, { label: t('SETTINGS_BUILD_VERSION') },\n react_1.default.createElement(\"div\", { className: Info_less_1.default['label'] }, process.env.COMMIT_HASH)),\n (settings === null || settings === void 0 ? void 0 : settings.serverVersion) &&\n react_1.default.createElement(components_1.Option, { label: t('SETTINGS_SERVER_VERSION') },\n react_1.default.createElement(\"div\", { className: Info_less_1.default['label'] }, settings.serverVersion)),\n typeof ((_c = (_b = shell === null || shell === void 0 ? void 0 : shell.transport) === null || _b === void 0 ? void 0 : _b.props) === null || _c === void 0 ? void 0 : _c.shellVersion) === 'string' &&\n react_1.default.createElement(components_1.Option, { label: t('SETTINGS_SHELL_VERSION') },\n react_1.default.createElement(\"div\", { className: Info_less_1.default['label'] }, shell.transport.props.shellVersion))));\n};\nexports.default = Info;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Info_1 = __importDefault(require(\"./Info\"));\nexports.default = Info_1.default;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar services_1 = require(\"stremio/services\");\nvar components_1 = require(\"stremio/components\");\nvar constants_1 = require(\"../constants\");\nvar Menu_less_1 = __importDefault(require(\"./Menu.less\"));\nvar Menu = function (_a) {\n var _b, _c, _d, _e;\n var _f, _g;\n var selected = _a.selected, streamingServer = _a.streamingServer, onSelect = _a.onSelect;\n var t = (0, react_i18next_1.useTranslation)().t;\n var shell = (0, services_1.useServices)().shell;\n var settings = (0, react_1.useMemo)(function () {\n var _a;\n return (((_a = streamingServer === null || streamingServer === void 0 ? void 0 : streamingServer.settings) === null || _a === void 0 ? void 0 : _a.type) === 'Ready' ?\n streamingServer.settings.content : null);\n }, [streamingServer === null || streamingServer === void 0 ? void 0 : streamingServer.settings]);\n return (react_1.default.createElement(\"div\", { className: Menu_less_1.default['menu'] },\n react_1.default.createElement(components_1.Button, { className: (0, classnames_1.default)(Menu_less_1.default['button'], (_b = {}, _b[Menu_less_1.default['selected']] = selected === constants_1.SECTIONS.GENERAL, _b)), title: t('SETTINGS_NAV_GENERAL'), \"data-section\": constants_1.SECTIONS.GENERAL, onClick: onSelect }, t('SETTINGS_NAV_GENERAL')),\n react_1.default.createElement(components_1.Button, { className: (0, classnames_1.default)(Menu_less_1.default['button'], (_c = {}, _c[Menu_less_1.default['selected']] = selected === constants_1.SECTIONS.PLAYER, _c)), title: t('SETTINGS_NAV_PLAYER'), \"data-section\": constants_1.SECTIONS.PLAYER, onClick: onSelect }, t('SETTINGS_NAV_PLAYER')),\n react_1.default.createElement(components_1.Button, { className: (0, classnames_1.default)(Menu_less_1.default['button'], (_d = {}, _d[Menu_less_1.default['selected']] = selected === constants_1.SECTIONS.STREAMING, _d)), title: t('SETTINGS_NAV_STREAMING'), \"data-section\": constants_1.SECTIONS.STREAMING, onClick: onSelect }, t('SETTINGS_NAV_STREAMING')),\n react_1.default.createElement(components_1.Button, { className: (0, classnames_1.default)(Menu_less_1.default['button'], (_e = {}, _e[Menu_less_1.default['selected']] = selected === constants_1.SECTIONS.SHORTCUTS, _e)), title: t('SETTINGS_NAV_SHORTCUTS'), \"data-section\": constants_1.SECTIONS.SHORTCUTS, onClick: onSelect }, t('SETTINGS_NAV_SHORTCUTS')),\n react_1.default.createElement(\"div\", { className: Menu_less_1.default['spacing'] }),\n react_1.default.createElement(\"div\", { className: Menu_less_1.default['version-info-label'], title: process.env.VERSION },\n t('SETTINGS_APP_VERSION'),\n \": \",\n process.env.VERSION),\n react_1.default.createElement(\"div\", { className: Menu_less_1.default['version-info-label'], title: process.env.COMMIT_HASH },\n t('SETTINGS_BUILD_VERSION'),\n \": \",\n process.env.COMMIT_HASH),\n (settings === null || settings === void 0 ? void 0 : settings.serverVersion) &&\n react_1.default.createElement(\"div\", { className: Menu_less_1.default['version-info-label'], title: settings.serverVersion },\n t('SETTINGS_SERVER_VERSION'),\n \": \",\n settings.serverVersion),\n typeof ((_g = (_f = shell === null || shell === void 0 ? void 0 : shell.transport) === null || _f === void 0 ? void 0 : _f.props) === null || _g === void 0 ? void 0 : _g.shellVersion) === 'string' &&\n react_1.default.createElement(\"div\", { className: Menu_less_1.default['version-info-label'], title: shell.transport.props.shellVersion },\n t('SETTINGS_SHELL_VERSION'),\n \": \",\n shell.transport.props.shellVersion)));\n};\nexports.default = Menu;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Menu_1 = __importDefault(require(\"./Menu\"));\nexports.default = Menu_1.default;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar components_1 = require(\"stremio/components\");\nvar services_1 = require(\"stremio/services\");\nvar components_2 = require(\"../components\");\nvar usePlayerOptions_1 = __importDefault(require(\"./usePlayerOptions\"));\nvar Player = (0, react_1.forwardRef)(function (_a, ref) {\n var profile = _a.profile;\n var shell = (0, services_1.useServices)().shell;\n var _b = (0, usePlayerOptions_1.default)(profile), subtitlesLanguageSelect = _b.subtitlesLanguageSelect, subtitlesSizeSelect = _b.subtitlesSizeSelect, subtitlesTextColorInput = _b.subtitlesTextColorInput, subtitlesBackgroundColorInput = _b.subtitlesBackgroundColorInput, subtitlesOutlineColorInput = _b.subtitlesOutlineColorInput, audioLanguageSelect = _b.audioLanguageSelect, surroundSoundToggle = _b.surroundSoundToggle, seekTimeDurationSelect = _b.seekTimeDurationSelect, seekShortTimeDurationSelect = _b.seekShortTimeDurationSelect, playInExternalPlayerSelect = _b.playInExternalPlayerSelect, nextVideoPopupDurationSelect = _b.nextVideoPopupDurationSelect, bingeWatchingToggle = _b.bingeWatchingToggle, playInBackgroundToggle = _b.playInBackgroundToggle, hardwareDecodingToggle = _b.hardwareDecodingToggle, pauseOnMinimizeToggle = _b.pauseOnMinimizeToggle;\n return (react_1.default.createElement(components_2.Section, { ref: ref, label: 'SETTINGS_NAV_PLAYER' },\n react_1.default.createElement(components_2.Category, { icon: 'subtitles', label: 'SETTINGS_SECTION_SUBTITLES' },\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SUBTITLES_LANGUAGE' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, subtitlesLanguageSelect))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SUBTITLES_SIZE' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, subtitlesSizeSelect))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SUBTITLES_COLOR' },\n react_1.default.createElement(components_1.ColorInput, __assign({ className: 'color-input' }, subtitlesTextColorInput))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SUBTITLES_COLOR_BACKGROUND' },\n react_1.default.createElement(components_1.ColorInput, __assign({ className: 'color-input' }, subtitlesBackgroundColorInput))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SUBTITLES_COLOR_OUTLINE' },\n react_1.default.createElement(components_1.ColorInput, __assign({ className: 'color-input' }, subtitlesOutlineColorInput)))),\n react_1.default.createElement(components_2.Category, { icon: 'volume-medium', label: 'SETTINGS_SECTION_AUDIO' },\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_DEFAULT_AUDIO_TRACK' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, audioLanguageSelect))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SURROUND_SOUND' },\n react_1.default.createElement(components_1.Toggle, __assign({ tabIndex: -1 }, surroundSoundToggle)))),\n react_1.default.createElement(components_2.Category, { icon: 'remote', label: 'SETTINGS_SECTION_CONTROLS' },\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SEEK_KEY' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, seekTimeDurationSelect))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SEEK_KEY_SHIFT' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, seekShortTimeDurationSelect))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_PLAY_IN_BACKGROUND' },\n react_1.default.createElement(components_1.Toggle, __assign({ disabled: true, tabIndex: -1 }, playInBackgroundToggle)))),\n react_1.default.createElement(components_2.Category, { icon: 'play', label: 'SETTINGS_SECTION_AUTO_PLAY' },\n react_1.default.createElement(components_2.Option, { label: 'AUTO_PLAY' },\n react_1.default.createElement(components_1.Toggle, __assign({ tabIndex: -1 }, bingeWatchingToggle))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_NEXT_VIDEO_POPUP_DURATION' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect', disabled: !profile.settings.bingeWatching }, nextVideoPopupDurationSelect)))),\n react_1.default.createElement(components_2.Category, { icon: 'glasses', label: 'SETTINGS_SECTION_ADVANCED' },\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_PLAY_IN_EXTERNAL_PLAYER' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, playInExternalPlayerSelect))),\n shell.active &&\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_HWDEC' },\n react_1.default.createElement(components_1.Toggle, __assign({ tabIndex: -1 }, hardwareDecodingToggle))),\n shell.active &&\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_PAUSE_MINIMIZED' },\n react_1.default.createElement(components_1.Toggle, __assign({ tabIndex: -1 }, pauseOnMinimizeToggle))))));\n});\nexports.default = Player;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Player_1 = __importDefault(require(\"./Player\"));\nexports.default = Player_1.default;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar react_i18next_1 = require(\"react-i18next\");\nvar services_1 = require(\"stremio/services\");\nvar common_1 = require(\"stremio/common\");\nvar LANGUAGES_NAMES = common_1.languageNames;\nvar usePlayerOptions = function (profile) {\n var t = (0, react_i18next_1.useTranslation)().t;\n var core = (0, services_1.useServices)().core;\n var platform = (0, common_1.usePlatform)();\n var languageOptions = (0, react_1.useMemo)(function () { return Object.keys(LANGUAGES_NAMES).map(function (code) { return ({\n value: code,\n label: LANGUAGES_NAMES[code]\n }); }); }, []);\n var sortedLanguageOptions = (0, common_1.useLanguageSorting)(languageOptions).sortedOptions;\n var subtitlesLanguageSelect = (0, react_1.useMemo)(function () { return ({\n options: __spreadArray([\n { value: null, label: t('NONE') }\n ], sortedLanguageOptions, true),\n value: profile.settings.subtitlesLanguage,\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { subtitlesLanguage: value })\n }\n });\n }\n }); }, [profile.settings, sortedLanguageOptions]);\n var subtitlesSizeSelect = (0, react_1.useMemo)(function () { return ({\n options: common_1.CONSTANTS.SUBTITLES_SIZES.map(function (size) { return ({\n value: \"\".concat(size),\n label: \"\".concat(size, \"%\")\n }); }),\n value: \"\".concat(profile.settings.subtitlesSize),\n title: function () {\n return \"\".concat(profile.settings.subtitlesSize, \"%\");\n },\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { subtitlesSize: parseInt(value, 10) })\n }\n });\n }\n }); }, [profile.settings]);\n var subtitlesTextColorInput = (0, react_1.useMemo)(function () { return ({\n value: profile.settings.subtitlesTextColor,\n onChange: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { subtitlesTextColor: value })\n }\n });\n }\n }); }, [profile.settings]);\n var subtitlesBackgroundColorInput = (0, react_1.useMemo)(function () { return ({\n value: profile.settings.subtitlesBackgroundColor,\n onChange: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { subtitlesBackgroundColor: value })\n }\n });\n }\n }); }, [profile.settings]);\n var subtitlesOutlineColorInput = (0, react_1.useMemo)(function () { return ({\n value: profile.settings.subtitlesOutlineColor,\n onChange: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { subtitlesOutlineColor: value })\n }\n });\n }\n }); }, [profile.settings]);\n var audioLanguageSelect = (0, react_1.useMemo)(function () { return ({\n options: sortedLanguageOptions,\n value: profile.settings.audioLanguage,\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { audioLanguage: value })\n }\n });\n }\n }); }, [profile.settings, sortedLanguageOptions]);\n var surroundSoundToggle = (0, react_1.useMemo)(function () { return ({\n checked: profile.settings.surroundSound,\n onClick: function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { surroundSound: !profile.settings.surroundSound })\n }\n });\n }\n }); }, [profile.settings]);\n var seekTimeDurationSelect = (0, react_1.useMemo)(function () { return ({\n options: common_1.CONSTANTS.SEEK_TIME_DURATIONS.map(function (size) { return ({\n value: \"\".concat(size),\n label: \"\".concat(size / 1000, \" \").concat(t('SECONDS'))\n }); }),\n value: \"\".concat(profile.settings.seekTimeDuration),\n title: function () {\n return \"\".concat(profile.settings.seekTimeDuration / 1000, \" \").concat(t('SECONDS'));\n },\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { seekTimeDuration: parseInt(value, 10) })\n }\n });\n }\n }); }, [profile.settings]);\n var seekShortTimeDurationSelect = (0, react_1.useMemo)(function () { return ({\n options: common_1.CONSTANTS.SEEK_TIME_DURATIONS.map(function (size) { return ({\n value: \"\".concat(size),\n label: \"\".concat(size / 1000, \" \").concat(t('SECONDS'))\n }); }),\n value: \"\".concat(profile.settings.seekShortTimeDuration),\n title: function () {\n return \"\".concat(profile.settings.seekShortTimeDuration / 1000, \" \").concat(t('SECONDS'));\n },\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { seekShortTimeDuration: parseInt(value, 10) })\n }\n });\n }\n }); }, [profile.settings]);\n var playInExternalPlayerSelect = (0, react_1.useMemo)(function () { return ({\n options: common_1.CONSTANTS.EXTERNAL_PLAYERS\n .filter(function (_a) {\n var platforms = _a.platforms;\n return platforms.includes(platform.name);\n })\n .map(function (_a) {\n var label = _a.label, value = _a.value;\n return ({\n value: value,\n label: t(label),\n });\n }),\n value: profile.settings.playerType,\n title: function () {\n var selectedOption = common_1.CONSTANTS.EXTERNAL_PLAYERS.find(function (_a) {\n var value = _a.value;\n return value === profile.settings.playerType;\n });\n return selectedOption ? t(selectedOption.label, { defaultValue: selectedOption.label }) : profile.settings.playerType;\n },\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { playerType: value })\n }\n });\n }\n }); }, [profile.settings]);\n var nextVideoPopupDurationSelect = (0, react_1.useMemo)(function () { return ({\n options: common_1.CONSTANTS.NEXT_VIDEO_POPUP_DURATIONS.map(function (duration) { return ({\n value: \"\".concat(duration),\n label: duration === 0 ? 'Disabled' : \"\".concat(duration / 1000, \" \").concat(t('SECONDS'))\n }); }),\n value: \"\".concat(profile.settings.nextVideoNotificationDuration),\n title: function () {\n return profile.settings.nextVideoNotificationDuration === 0 ?\n 'Disabled'\n :\n \"\".concat(profile.settings.nextVideoNotificationDuration / 1000, \" \").concat(t('SECONDS'));\n },\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { nextVideoNotificationDuration: parseInt(value, 10) })\n }\n });\n }\n }); }, [profile.settings]);\n var bingeWatchingToggle = (0, react_1.useMemo)(function () { return ({\n checked: profile.settings.bingeWatching,\n onClick: function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { bingeWatching: !profile.settings.bingeWatching })\n }\n });\n }\n }); }, [profile.settings]);\n var playInBackgroundToggle = (0, react_1.useMemo)(function () { return ({\n checked: profile.settings.playInBackground,\n onClick: function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { playInBackground: !profile.settings.playInBackground })\n }\n });\n }\n }); }, [profile.settings]);\n var hardwareDecodingToggle = (0, react_1.useMemo)(function () { return ({\n checked: profile.settings.hardwareDecoding,\n onClick: function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { hardwareDecoding: !profile.settings.hardwareDecoding })\n }\n });\n }\n }); }, [profile.settings]);\n var pauseOnMinimizeToggle = (0, react_1.useMemo)(function () { return ({\n checked: profile.settings.pauseOnMinimize,\n onClick: function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { pauseOnMinimize: !profile.settings.pauseOnMinimize })\n }\n });\n }\n }); }, [profile.settings]);\n return {\n subtitlesLanguageSelect: subtitlesLanguageSelect,\n subtitlesSizeSelect: subtitlesSizeSelect,\n subtitlesTextColorInput: subtitlesTextColorInput,\n subtitlesBackgroundColorInput: subtitlesBackgroundColorInput,\n subtitlesOutlineColorInput: subtitlesOutlineColorInput,\n audioLanguageSelect: audioLanguageSelect,\n surroundSoundToggle: surroundSoundToggle,\n seekTimeDurationSelect: seekTimeDurationSelect,\n seekShortTimeDurationSelect: seekShortTimeDurationSelect,\n playInExternalPlayerSelect: playInExternalPlayerSelect,\n nextVideoPopupDurationSelect: nextVideoPopupDurationSelect,\n bingeWatchingToggle: bingeWatchingToggle,\n playInBackgroundToggle: playInBackgroundToggle,\n hardwareDecodingToggle: hardwareDecodingToggle,\n pauseOnMinimizeToggle: pauseOnMinimizeToggle,\n };\n};\nexports.default = usePlayerOptions;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar lodash_throttle_1 = __importDefault(require(\"lodash.throttle\"));\nvar stremio_router_1 = require(\"stremio-router\");\nvar common_1 = require(\"stremio/common\");\nvar components_1 = require(\"stremio/components\");\nvar constants_1 = require(\"./constants\");\nvar Menu_1 = __importDefault(require(\"./Menu\"));\nvar General_1 = __importDefault(require(\"./General\"));\nvar Player_1 = __importDefault(require(\"./Player\"));\nvar Streaming_1 = __importDefault(require(\"./Streaming\"));\nvar Shortcuts_1 = __importDefault(require(\"./Shortcuts\"));\nvar Info_1 = __importDefault(require(\"./Info\"));\nvar Settings_less_1 = __importDefault(require(\"./Settings.less\"));\nvar Settings = function () {\n var routeFocused = (0, stremio_router_1.useRouteFocused)().routeFocused;\n var profile = (0, common_1.useProfile)();\n var streamingServer = (0, common_1.useStreamingServer)();\n var sectionsContainerRef = (0, react_1.useRef)(null);\n var generalSectionRef = (0, react_1.useRef)(null);\n var playerSectionRef = (0, react_1.useRef)(null);\n var streamingServerSectionRef = (0, react_1.useRef)(null);\n var shortcutsSectionRef = (0, react_1.useRef)(null);\n var sections = (0, react_1.useMemo)(function () { return ([\n { ref: generalSectionRef, id: constants_1.SECTIONS.GENERAL },\n { ref: playerSectionRef, id: constants_1.SECTIONS.PLAYER },\n { ref: streamingServerSectionRef, id: constants_1.SECTIONS.STREAMING },\n { ref: shortcutsSectionRef, id: constants_1.SECTIONS.SHORTCUTS },\n ]); }, []);\n var _a = (0, react_1.useState)(constants_1.SECTIONS.GENERAL), selectedSectionId = _a[0], setSelectedSectionId = _a[1];\n var updateSelectedSectionId = (0, react_1.useCallback)(function () {\n var container = sectionsContainerRef.current;\n if (container.scrollTop + container.clientHeight >= container.scrollHeight - 50) {\n setSelectedSectionId(sections[sections.length - 1].id);\n }\n else {\n for (var i = sections.length - 1; i >= 0; i--) {\n if (sections[i].ref.current.offsetTop - container.offsetTop <= container.scrollTop) {\n setSelectedSectionId(sections[i].id);\n break;\n }\n }\n }\n }, []);\n var onMenuSelect = (0, react_1.useCallback)(function (event) {\n var section = sections.find(function (section) {\n return section.id === event.currentTarget.dataset.section;\n });\n var container = sectionsContainerRef.current;\n section && container.scrollTo({\n top: section.ref.current.offsetTop - container.offsetTop,\n behavior: 'smooth'\n });\n }, []);\n var onContainerScroll = (0, react_1.useCallback)((0, lodash_throttle_1.default)(function () {\n updateSelectedSectionId();\n }, 50), []);\n (0, react_1.useLayoutEffect)(function () {\n if (routeFocused) {\n updateSelectedSectionId();\n }\n }, [routeFocused]);\n return (react_1.default.createElement(components_1.MainNavBars, { className: Settings_less_1.default['settings-container'], route: 'settings' },\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Settings_less_1.default['settings-content'], 'animation-fade-in') },\n react_1.default.createElement(Menu_1.default, { selected: selectedSectionId, streamingServer: streamingServer, onSelect: onMenuSelect }),\n react_1.default.createElement(\"div\", { ref: sectionsContainerRef, className: Settings_less_1.default['sections-container'], onScroll: onContainerScroll },\n react_1.default.createElement(General_1.default, { ref: generalSectionRef, profile: profile }),\n react_1.default.createElement(Player_1.default, { ref: playerSectionRef, profile: profile }),\n react_1.default.createElement(Streaming_1.default, { ref: streamingServerSectionRef, profile: profile, streamingServer: streamingServer }),\n react_1.default.createElement(Shortcuts_1.default, { ref: shortcutsSectionRef }),\n react_1.default.createElement(Info_1.default, { streamingServer: streamingServer })))));\n};\nvar SettingsFallback = function () { return (react_1.default.createElement(components_1.MainNavBars, { className: Settings_less_1.default['settings-container'], route: 'settings' })); };\nexports.default = (0, common_1.withCoreSuspender)(Settings, SettingsFallback);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar components_1 = require(\"../components\");\nvar Shortcuts_less_1 = __importDefault(require(\"./Shortcuts.less\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar Shortcuts = (0, react_1.forwardRef)(function (_, ref) {\n var t = (0, react_i18next_1.useTranslation)().t;\n return (react_1.default.createElement(components_1.Section, { ref: ref, label: 'SETTINGS_NAV_SHORTCUTS' },\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_PLAY_PAUSE' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, t('SETTINGS_SHORTCUT_SPACE')))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_SEEK_FORWARD' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"\\u2192\"),\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['label'] }, t('SETTINGS_SHORTCUT_OR')),\n react_1.default.createElement(\"kbd\", null,\n \"\\u21E7 \",\n t('SETTINGS_SHORTCUT_SHIFT')),\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['label'] }, \"+\"),\n react_1.default.createElement(\"kbd\", null, \"\\u2192\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_SEEK_BACKWARD' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"\\u2190\"),\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['label'] }, t('SETTINGS_SHORTCUT_OR')),\n react_1.default.createElement(\"kbd\", null,\n \"\\u21E7 \",\n t('SETTINGS_SHORTCUT_SHIFT')),\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['label'] }, \"+\"),\n react_1.default.createElement(\"kbd\", null, \"\\u2190\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_VOLUME_UP' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"\\u2191\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_VOLUME_DOWN' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"\\u2193\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_MENU_SUBTITLES' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"S\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_MENU_AUDIO' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"A\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_MENU_INFO' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"I\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_FULLSCREEN' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"F\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_SUBTITLES_SIZE' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"-\"),\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['label'] }, t('SETTINGS_SHORTCUT_AND')),\n react_1.default.createElement(\"kbd\", null, \"=\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_SUBTITLES_DELAY' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"G\"),\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['label'] }, t('SETTINGS_SHORTCUT_AND')),\n react_1.default.createElement(\"kbd\", null, \"H\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_NAVIGATE_MENUS' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"1\"),\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['label'] }, t('SETTINGS_SHORTCUT_TO')),\n react_1.default.createElement(\"kbd\", null, \"6\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_GO_TO_SEARCH' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"0\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_EXIT_BACK' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, t('SETTINGS_SHORTCUT_ESC'))))));\n});\nexports.default = Shortcuts;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Shortcuts_1 = __importDefault(require(\"./Shortcuts\"));\nexports.default = Shortcuts_1.default;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar components_1 = require(\"stremio/components\");\nvar common_1 = require(\"stremio/common\");\nvar components_2 = require(\"../components\");\nvar URLsManager_1 = __importDefault(require(\"./URLsManager\"));\nvar useStreamingOptions_1 = __importDefault(require(\"./useStreamingOptions\"));\nvar Streaming_less_1 = __importDefault(require(\"./Streaming.less\"));\nvar Streaming = (0, react_1.forwardRef)(function (_a, ref) {\n var profile = _a.profile, streamingServer = _a.streamingServer;\n var t = (0, react_i18next_1.useTranslation)().t;\n var toast = (0, common_1.useToast)();\n var _b = (0, useStreamingOptions_1.default)(streamingServer), streamingServerRemoteUrlInput = _b.streamingServerRemoteUrlInput, remoteEndpointSelect = _b.remoteEndpointSelect, cacheSizeSelect = _b.cacheSizeSelect, torrentProfileSelect = _b.torrentProfileSelect, transcodingProfileSelect = _b.transcodingProfileSelect;\n var onCopyRemoteUrl = (0, react_1.useCallback)(function () {\n if (streamingServer.remoteUrl) {\n navigator.clipboard.writeText(streamingServer.remoteUrl);\n toast.show({\n type: 'success',\n title: t('SETTINGS_REMOTE_URL_COPIED'),\n timeout: 2500,\n });\n }\n }, [streamingServer.remoteUrl]);\n return (react_1.default.createElement(components_2.Section, { ref: ref, label: 'SETTINGS_NAV_STREAMING' },\n react_1.default.createElement(URLsManager_1.default, null),\n streamingServerRemoteUrlInput.value !== null &&\n react_1.default.createElement(components_2.Option, { className: Streaming_less_1.default['configure-input-container'], label: 'SETTINGS_REMOTE_URL' },\n react_1.default.createElement(\"div\", { className: Streaming_less_1.default['label'], title: streamingServerRemoteUrlInput.value }, streamingServerRemoteUrlInput.value),\n react_1.default.createElement(components_1.Button, { className: Streaming_less_1.default['configure-button-container'], title: t('SETTINGS_COPY_REMOTE_URL'), onClick: onCopyRemoteUrl },\n react_1.default.createElement(react_2.default, { className: Streaming_less_1.default['icon'], name: 'link' }))),\n profile.auth !== null && profile.auth.user !== null && remoteEndpointSelect !== null &&\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_HTTPS_ENDPOINT' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, remoteEndpointSelect))),\n cacheSizeSelect !== null &&\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SERVER_CACHE_SIZE' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, cacheSizeSelect))),\n torrentProfileSelect !== null &&\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SERVER_TORRENT_PROFILE' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, torrentProfileSelect))),\n transcodingProfileSelect !== null &&\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_TRANSCODE_PROFILE' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, transcodingProfileSelect)))));\n});\nexports.default = Streaming;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar components_1 = require(\"stremio/components\");\nvar AddItem_less_1 = __importDefault(require(\"./AddItem.less\"));\nvar AddItem = function (_a) {\n var onCancel = _a.onCancel, handleAddUrl = _a.handleAddUrl;\n var _b = (0, react_1.useState)(''), inputValue = _b[0], setInputValue = _b[1];\n var handleValueChange = (0, react_1.useCallback)(function (_a) {\n var target = _a.target;\n setInputValue(target.value);\n }, []);\n var onSumbit = (0, react_1.useCallback)(function () {\n handleAddUrl(inputValue);\n }, [inputValue]);\n return (react_1.default.createElement(\"div\", { className: AddItem_less_1.default['add-item'] },\n react_1.default.createElement(components_1.TextInput, { className: AddItem_less_1.default['input'], value: inputValue, onChange: handleValueChange, onSubmit: onSumbit, placeholder: 'Enter URL' }),\n react_1.default.createElement(\"div\", { className: AddItem_less_1.default['actions'] },\n react_1.default.createElement(components_1.Button, { className: AddItem_less_1.default['add'], onClick: onSumbit },\n react_1.default.createElement(react_2.default, { name: 'checkmark', className: AddItem_less_1.default['icon'] })),\n react_1.default.createElement(components_1.Button, { className: AddItem_less_1.default['cancel'], onClick: onCancel },\n react_1.default.createElement(react_2.default, { name: 'close', className: AddItem_less_1.default['icon'] })))));\n};\nexports.default = AddItem;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AddItem_1 = __importDefault(require(\"./AddItem\"));\nexports.default = AddItem_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar common_1 = require(\"stremio/common\");\nvar CONSTANTS_1 = require(\"stremio/common/CONSTANTS\");\nvar react_i18next_1 = require(\"react-i18next\");\nvar components_1 = require(\"stremio/components\");\nvar useStreamingServer_1 = __importDefault(require(\"stremio/common/useStreamingServer\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar Item_less_1 = __importDefault(require(\"./Item.less\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar useStreamingServerUrls_1 = __importDefault(require(\"../useStreamingServerUrls\"));\nvar Item = function (_a) {\n var _b, _c;\n var _d, _e;\n var url = _a.url;\n var t = (0, react_i18next_1.useTranslation)().t;\n var profile = (0, common_1.useProfile)();\n var streamingServer = (0, useStreamingServer_1.default)();\n var _f = (0, useStreamingServerUrls_1.default)(), deleteServerUrl = _f.deleteServerUrl, selectServerUrl = _f.selectServerUrl;\n var selected = (0, react_1.useMemo)(function () { return profile.settings.streamingServerUrl === url; }, [url, profile.settings]);\n var defaultUrl = (0, react_1.useMemo)(function () { return url === CONSTANTS_1.DEFAULT_STREAMING_SERVER_URL; }, [url]);\n var handleDelete = (0, react_1.useCallback)(function () {\n deleteServerUrl(url);\n selected && selectServerUrl(CONSTANTS_1.DEFAULT_STREAMING_SERVER_URL);\n }, [url, selected]);\n var handleSelect = (0, react_1.useCallback)(function () {\n selectServerUrl(url);\n }, [url]);\n return (react_1.default.createElement(\"div\", { className: Item_less_1.default['item'] },\n react_1.default.createElement(\"div\", { className: Item_less_1.default['content'] },\n react_1.default.createElement(components_1.RadioButton, { className: Item_less_1.default['selectable'], selected: selected, onChange: handleSelect, disabled: selected }),\n react_1.default.createElement(\"div\", { className: Item_less_1.default['label'] }, url)),\n react_1.default.createElement(\"div\", { className: Item_less_1.default['actions'] },\n selected ?\n react_1.default.createElement(\"div\", { className: Item_less_1.default['status'] },\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Item_less_1.default['icon'], (_b = {}, _b[Item_less_1.default['ready']] = ((_d = streamingServer.settings) === null || _d === void 0 ? void 0 : _d.type) === 'Ready', _b), (_c = {}, _c[Item_less_1.default['error']] = ((_e = streamingServer.settings) === null || _e === void 0 ? void 0 : _e.type) === 'Err', _c)) }),\n react_1.default.createElement(\"div\", { className: Item_less_1.default['label'] }, streamingServer.settings === null ?\n 'NotLoaded'\n :\n streamingServer.settings.type === 'Ready' ?\n t('SETTINGS_SERVER_STATUS_ONLINE')\n :\n streamingServer.settings.type === 'Err' ?\n t('SETTINGS_SERVER_STATUS_ERROR')\n :\n streamingServer.settings.type))\n : null,\n !defaultUrl ?\n react_1.default.createElement(components_1.Button, { className: Item_less_1.default['delete'], onClick: handleDelete },\n react_1.default.createElement(react_2.default, { name: 'bin', className: Item_less_1.default['icon'] }))\n : null)));\n};\nexports.default = Item;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Item_1 = __importDefault(require(\"./Item\"));\nexports.default = Item_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar URLsManager_less_1 = __importDefault(require(\"./URLsManager.less\"));\nvar components_1 = require(\"stremio/components\");\nvar Item_1 = __importDefault(require(\"./Item\"));\nvar AddItem_1 = __importDefault(require(\"./AddItem\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar useStreamingServerUrls_1 = __importDefault(require(\"./useStreamingServerUrls\"));\nvar URLsManager = function () {\n var t = (0, react_i18next_1.useTranslation)().t;\n var _a = (0, react_1.useState)(false), addMode = _a[0], setAddMode = _a[1];\n var _b = (0, useStreamingServerUrls_1.default)(), streamingServerUrls = _b.streamingServerUrls, addServerUrl = _b.addServerUrl, reloadServer = _b.reloadServer;\n var onAdd = function () {\n setAddMode(true);\n };\n var onCancel = function () {\n setAddMode(false);\n };\n var handleAddUrl = (0, react_1.useCallback)(function (url) {\n addServerUrl(url);\n setAddMode(false);\n }, []);\n return (react_1.default.createElement(\"div\", { className: URLsManager_less_1.default['wrapper'] },\n react_1.default.createElement(\"div\", { className: URLsManager_less_1.default['header'] },\n react_1.default.createElement(\"div\", { className: URLsManager_less_1.default['label'] }, t('URL')),\n react_1.default.createElement(\"div\", { className: URLsManager_less_1.default['label'] }, t('STATUS'))),\n react_1.default.createElement(\"div\", { className: URLsManager_less_1.default['content'] },\n streamingServerUrls.map(function (item) { return (react_1.default.createElement(Item_1.default, __assign({ key: item.url }, item))); }),\n addMode ?\n react_1.default.createElement(AddItem_1.default, { onCancel: onCancel, handleAddUrl: handleAddUrl })\n : null),\n react_1.default.createElement(\"div\", { className: URLsManager_less_1.default['footer'] },\n react_1.default.createElement(components_1.Button, { title: t('SETTINGS_SERVER_ADD_URL'), className: URLsManager_less_1.default['add-url'], onClick: onAdd },\n react_1.default.createElement(react_2.default, { name: 'add', className: URLsManager_less_1.default['icon'] }),\n t('SETTINGS_SERVER_ADD_URL')),\n react_1.default.createElement(components_1.Button, { className: URLsManager_less_1.default['reload'], title: t('RELOAD'), onClick: reloadServer },\n react_1.default.createElement(react_2.default, { name: 'reset', className: URLsManager_less_1.default['icon'] }),\n react_1.default.createElement(\"div\", { className: URLsManager_less_1.default['label'] }, t('RELOAD'))))));\n};\nexports.default = URLsManager;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar URLsManager_1 = __importDefault(require(\"./URLsManager\"));\nexports.default = URLsManager_1.default;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Streaming_1 = __importDefault(require(\"./Streaming\"));\nexports.default = Streaming_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar react_i18next_1 = require(\"react-i18next\");\nvar lodash_isequal_1 = __importDefault(require(\"lodash.isequal\"));\nvar services_1 = require(\"stremio/services\");\nvar CACHE_SIZES = [0, 2147483648, 5368709120, 10737418240, null];\nvar cacheSizeToString = function (size) {\n return size === null ?\n 'Infinite'\n :\n size === 0 ?\n 'No caching'\n :\n \"\".concat(Math.ceil(((size / 1024 / 1024 / 1024) + Number.EPSILON) * 100) / 100, \"GiB\");\n};\nvar TORRENT_PROFILES = {\n default: {\n btDownloadSpeedHardLimit: 3670016,\n btDownloadSpeedSoftLimit: 2621440,\n btHandshakeTimeout: 20000,\n btMaxConnections: 55,\n btMinPeersForStable: 5,\n btRequestTimeout: 4000\n },\n soft: {\n btDownloadSpeedHardLimit: 1677721.6,\n btDownloadSpeedSoftLimit: 1677721.6,\n btHandshakeTimeout: 20000,\n btMaxConnections: 35,\n btMinPeersForStable: 5,\n btRequestTimeout: 4000\n },\n fast: {\n btDownloadSpeedHardLimit: 39321600,\n btDownloadSpeedSoftLimit: 4194304,\n btHandshakeTimeout: 20000,\n btMaxConnections: 200,\n btMinPeersForStable: 10,\n btRequestTimeout: 4000\n },\n 'ultra fast': {\n btDownloadSpeedHardLimit: 78643200,\n btDownloadSpeedSoftLimit: 8388608,\n btHandshakeTimeout: 25000,\n btMaxConnections: 400,\n btMinPeersForStable: 10,\n btRequestTimeout: 6000\n }\n};\nvar useStreamingOptions = function (streamingServer) {\n var core = (0, services_1.useServices)().core;\n var t = (0, react_i18next_1.useTranslation)().t;\n // TODO combine those useMemo in one\n var settings = (0, react_1.useMemo)(function () {\n var _a;\n return (((_a = streamingServer === null || streamingServer === void 0 ? void 0 : streamingServer.settings) === null || _a === void 0 ? void 0 : _a.type) === 'Ready' ?\n streamingServer.settings.content : null);\n }, [streamingServer.settings]);\n var networkInfo = (0, react_1.useMemo)(function () {\n var _a;\n return (((_a = streamingServer === null || streamingServer === void 0 ? void 0 : streamingServer.networkInfo) === null || _a === void 0 ? void 0 : _a.type) === 'Ready' ?\n streamingServer.networkInfo.content : null);\n }, [streamingServer.networkInfo]);\n var deviceInfo = (0, react_1.useMemo)(function () {\n var _a;\n return (((_a = streamingServer === null || streamingServer === void 0 ? void 0 : streamingServer.deviceInfo) === null || _a === void 0 ? void 0 : _a.type) === 'Ready' ?\n streamingServer.deviceInfo.content : null);\n }, [streamingServer.deviceInfo]);\n var streamingServerRemoteUrlInput = (0, react_1.useMemo)(function () { return ({\n value: streamingServer.remoteUrl,\n }); }, [streamingServer.remoteUrl]);\n var remoteEndpointSelect = (0, react_1.useMemo)(function () {\n if (!settings || !networkInfo) {\n return null;\n }\n return {\n options: __spreadArray([\n {\n label: t('SETTINGS_DISABLED'),\n value: '',\n }\n ], networkInfo.availableInterfaces.map(function (address) { return ({\n label: address,\n value: address,\n }); }), true),\n value: settings.remoteHttps,\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, settings), { remoteHttps: value })\n }\n });\n }\n };\n }, [settings, networkInfo]);\n var cacheSizeSelect = (0, react_1.useMemo)(function () {\n if (!settings) {\n return null;\n }\n return {\n options: CACHE_SIZES.map(function (size) { return ({\n label: cacheSizeToString(size),\n value: JSON.stringify(size)\n }); }),\n value: JSON.stringify(settings.cacheSize),\n title: function () {\n return cacheSizeToString(settings.cacheSize);\n },\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, settings), { cacheSize: JSON.parse(value) })\n }\n });\n }\n };\n }, [settings]);\n var torrentProfileSelect = (0, react_1.useMemo)(function () {\n if (!settings) {\n return null;\n }\n var selectedTorrentProfile = {\n btDownloadSpeedHardLimit: settings.btDownloadSpeedHardLimit,\n btDownloadSpeedSoftLimit: settings.btDownloadSpeedSoftLimit,\n btHandshakeTimeout: settings.btHandshakeTimeout,\n btMaxConnections: settings.btMaxConnections,\n btMinPeersForStable: settings.btMinPeersForStable,\n btRequestTimeout: settings.btRequestTimeout\n };\n var isCustomTorrentProfileSelected = Object.values(TORRENT_PROFILES).every(function (torrentProfile) {\n return !(0, lodash_isequal_1.default)(torrentProfile, selectedTorrentProfile);\n });\n return {\n options: Object.keys(TORRENT_PROFILES)\n .map(function (profileName) { return ({\n label: t('TORRENT_PROFILE_' + profileName.replace(' ', '_').toUpperCase()),\n value: JSON.stringify(TORRENT_PROFILES[profileName])\n }); })\n .concat(isCustomTorrentProfileSelected ?\n [{\n label: 'custom',\n value: JSON.stringify(selectedTorrentProfile)\n }]\n :\n []),\n value: JSON.stringify(selectedTorrentProfile),\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, settings), JSON.parse(value))\n }\n });\n }\n };\n }, [settings]);\n var transcodingProfileSelect = (0, react_1.useMemo)(function () {\n if (!settings || !deviceInfo) {\n return null;\n }\n return {\n options: __spreadArray([\n {\n label: t('SETTINGS_DISABLED'),\n value: null,\n }\n ], deviceInfo.availableHardwareAccelerations.map(function (name) { return ({\n label: name,\n value: name,\n }); }), true),\n value: settings.transcodeProfile,\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, settings), { transcodeProfile: value })\n }\n });\n }\n };\n }, [settings, deviceInfo]);\n return {\n streamingServerRemoteUrlInput: streamingServerRemoteUrlInput,\n remoteEndpointSelect: remoteEndpointSelect,\n cacheSizeSelect: cacheSizeSelect,\n torrentProfileSelect: torrentProfileSelect,\n transcodingProfileSelect: transcodingProfileSelect,\n };\n};\nexports.default = useStreamingOptions;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar i18next_1 = require(\"i18next\");\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar Category_less_1 = __importDefault(require(\"./Category.less\"));\nvar Category = function (_a) {\n var icon = _a.icon, label = _a.label, children = _a.children;\n return (react_1.default.createElement(\"div\", { className: Category_less_1.default['category'] },\n react_1.default.createElement(\"div\", { className: Category_less_1.default['heading'] },\n react_1.default.createElement(react_2.default, { className: Category_less_1.default['icon'], name: icon }),\n react_1.default.createElement(\"div\", { className: Category_less_1.default['label'] }, (0, i18next_1.t)(label))),\n children));\n};\nexports.default = Category;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Category_1 = __importDefault(require(\"./Category\"));\nexports.default = Category_1.default;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar components_1 = require(\"stremio/components\");\nvar Link_less_1 = __importDefault(require(\"./Link.less\"));\nvar Link = function (_a) {\n var label = _a.label, href = _a.href, target = _a.target, onClick = _a.onClick;\n return (react_1.default.createElement(components_1.Button, { className: Link_less_1.default['link'], title: label, target: target !== null && target !== void 0 ? target : '_blank', href: href, onClick: onClick },\n react_1.default.createElement(\"div\", { className: Link_less_1.default['label'] }, label)));\n};\nexports.default = Link;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Link_1 = __importDefault(require(\"./Link\"));\nexports.default = Link_1.default;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar i18next_1 = require(\"i18next\");\nvar Option_less_1 = __importDefault(require(\"./Option.less\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar Option = function (_a) {\n var className = _a.className, icon = _a.icon, label = _a.label, children = _a.children;\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(className, Option_less_1.default['option']) },\n react_1.default.createElement(\"div\", { className: Option_less_1.default['heading'] },\n icon &&\n react_1.default.createElement(react_2.default, { className: Option_less_1.default['icon'], name: icon }),\n react_1.default.createElement(\"div\", { className: Option_less_1.default['label'] }, (0, i18next_1.t)(label))),\n react_1.default.createElement(\"div\", { className: Option_less_1.default['content'] }, children)));\n};\nexports.default = Option;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Option_1 = __importDefault(require(\"./Option\"));\nexports.default = Option_1.default;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar i18next_1 = require(\"i18next\");\nvar Section_less_1 = __importDefault(require(\"./Section.less\"));\nvar Section = (0, react_1.forwardRef)(function (_a, ref) {\n var className = _a.className, label = _a.label, children = _a.children;\n return (react_1.default.createElement(\"div\", { ref: ref, className: (0, classnames_1.default)(className, Section_less_1.default['section']) },\n label &&\n react_1.default.createElement(\"div\", { className: Section_less_1.default['label'] }, (0, i18next_1.t)(label)),\n children));\n});\nexports.default = Section;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Section_1 = __importDefault(require(\"./Section\"));\nexports.default = Section_1.default;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Section = exports.Option = exports.Link = exports.Category = void 0;\nvar Category_1 = __importDefault(require(\"./Category\"));\nexports.Category = Category_1.default;\nvar Link_1 = __importDefault(require(\"./Link\"));\nexports.Link = Link_1.default;\nvar Option_1 = __importDefault(require(\"./Option\"));\nexports.Option = Option_1.default;\nvar Section_1 = __importDefault(require(\"./Section\"));\nexports.Section = Section_1.default;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SECTIONS = void 0;\nvar SECTIONS = {\n GENERAL: 'general',\n PLAYER: 'player',\n STREAMING: 'streaming',\n SHORTCUTS: 'shortcuts',\n};\nexports.SECTIONS = SECTIONS;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Settings_1 = __importDefault(require(\"./Settings\"));\nexports.default = Settings_1.default;\n","/*\n * Copyright Joyent, Inc. and other Node contributors.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to permit\n * persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included\n * in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n * USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n'use strict';\n\nvar punycode = require('punycode/');\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n/*\n * define these here so at least they only have to be\n * compiled once on the first module load.\n */\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^?\\s]*)(\\?[^\\s]*)?$/,\n\n /*\n * RFC 2396: characters reserved for delimiting URLs.\n * We actually just auto-escape these.\n */\n delims = [\n '<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'\n ],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = [\n '{', '}', '|', '\\\\', '^', '`'\n ].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n /*\n * Characters that are never ever allowed in a hostname.\n * Note that any invalid chars are also handled, but these\n * are the ones that are *expected* to be seen, so we fast-path\n * them.\n */\n nonHostChars = [\n '%', '/', '?', ';', '#'\n ].concat(autoEscape),\n hostEndingChars = [\n '/', '?', '#'\n ],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n http: true,\n https: true,\n ftp: true,\n gopher: true,\n file: true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('qs');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && typeof url === 'object' && url instanceof Url) { return url; }\n\n var u = new Url();\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function (url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== 'string') {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n /*\n * Copy chrome, IE, opera backslash-handling behavior.\n * Back slashes before the query string get converted to forward slashes\n * See: https://code.google.com/p/chromium/issues/detail?id=25916\n */\n var queryIndex = url.indexOf('?'),\n splitter = queryIndex !== -1 && queryIndex < url.indexOf('#') ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n /*\n * trim before proceeding.\n * This is to support parse stuff like \" http://foo.com \\n\"\n */\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n /*\n * figure out if it's got a host\n * user@server is *always* interpreted as a hostname, and url\n * resolution will treat //foo/bar as host=foo,path=bar because that's\n * how the browser resolves relative URLs.\n */\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] && (slashes || (proto && !slashedProtocol[proto]))) {\n\n /*\n * there's a hostname.\n * the first instance of /, ?, ;, or # ends the host.\n *\n * If there is an @ in the hostname, then non-host chars *are* allowed\n * to the left of the last @ sign, unless some host-ending character\n * comes *before* the @-sign.\n * URLs are obnoxious.\n *\n * ex:\n * http://a@b@c/ => user:a@b host:c\n * http://a@b?@c => user:a host:c path:/?@c\n */\n\n /*\n * v0.12 TODO(isaacs): This is not quite how Chrome does things.\n * Review our test case against browsers more comprehensively.\n */\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n\n /*\n * at this point, either we have an explicit point where the\n * auth portion cannot go past, or the last @ char is the decider.\n */\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n /*\n * atSign must be in auth portion.\n * http://a@b/c@d => host:b auth:a path:/c@d\n */\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n /*\n * Now we have a portion which is definitely the auth.\n * Pull that off.\n */\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1) { hostEnd = rest.length; }\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n /*\n * we've indicated that there is a hostname,\n * so even if it's empty, it has to be present.\n */\n this.hostname = this.hostname || '';\n\n /*\n * if hostname begins with [ and ends with ]\n * assume that it's an IPv6 address.\n */\n var ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) { continue; }\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n /*\n * we replace non-ASCII char with a temporary placeholder\n * we need this to make sure size of hostname is not\n * broken by replacing non-ASCII by nothing\n */\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n /*\n * IDNA Support: Returns a punycoded representation of \"domain\".\n * It only converts parts of the domain name that\n * have non-ASCII characters, i.e. it doesn't matter if\n * you call it with a domain that already is ASCII-only.\n */\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n /*\n * strip [ and ] from the hostname\n * the host field still retains them, though\n */\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n /*\n * now rest is set to the post-host stuff.\n * chop off any delim chars.\n */\n if (!unsafeProtocol[lowerProto]) {\n\n /*\n * First, make 100% sure that any \"autoEscape\" chars get\n * escaped, even if encodeURIComponent doesn't think they\n * need to be.\n */\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1) { continue; }\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) { this.pathname = rest; }\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n // to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n /*\n * ensure it's an object, and not a string url.\n * If it's an obj, this is a no-op.\n * this way, you can call url_format() on strings\n * to clean up potentially wonky urls.\n */\n if (typeof obj === 'string') { obj = urlParse(obj); }\n if (!(obj instanceof Url)) { return Url.prototype.format.call(obj); }\n return obj.format();\n}\n\nUrl.prototype.format = function () {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ? this.hostname : '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query && typeof this.query === 'object' && Object.keys(this.query).length) {\n query = querystring.stringify(this.query, {\n arrayFormat: 'repeat',\n addQueryPrefix: false\n });\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') { protocol += ':'; }\n\n /*\n * only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n * unless they had them to begin with.\n */\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') { pathname = '/' + pathname; }\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') { hash = '#' + hash; }\n if (search && search.charAt(0) !== '?') { search = '?' + search; }\n\n pathname = pathname.replace(/[?#]/g, function (match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function (relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) { return relative; }\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function (relative) {\n if (typeof relative === 'string') {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n /*\n * hash is always overridden, no matter what.\n * even href=\"\" will remove it.\n */\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol') { result[rkey] = relative[rkey]; }\n }\n\n // urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) {\n result.pathname = '/';\n result.path = result.pathname;\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n /*\n * if it's a known url protocol, then changing\n * the protocol does weird things\n * first, if it's not file:, then we MUST have a host,\n * and if there was a path\n * to begin with, then we MUST have a path.\n * if it is file:, then the host is dropped,\n * because that's known to be hostless.\n * anything else is assumed to be absolute.\n */\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift())) { }\n if (!relative.host) { relative.host = ''; }\n if (!relative.hostname) { relative.hostname = ''; }\n if (relPath[0] !== '') { relPath.unshift(''); }\n if (relPath.length < 2) { relPath.unshift(''); }\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === '/',\n isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === '/',\n mustEndAbs = isRelAbs || isSourceAbs || (result.host && relative.pathname),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n /*\n * if the url is a non-slashed url, then relative\n * links like ../.. should be able\n * to crawl up to the hostname, as well. This is strange.\n * result.protocol has already been set by now.\n * Later on, put the first path part into the host field.\n */\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') { srcPath[0] = result.host; } else { srcPath.unshift(result.host); }\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') { relPath[0] = relative.host; } else { relPath.unshift(relative.host); }\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = relative.host || relative.host === '' ? relative.host : result.host;\n result.hostname = relative.hostname || relative.hostname === '' ? relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n /*\n * it's relative\n * throw away the existing file, and take the new path instead.\n */\n if (!srcPath) { srcPath = []; }\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (relative.search != null) {\n /*\n * just pull out the search.\n * like href='?foo'.\n * Put this after the other two cases because it simplifies the booleans\n */\n if (psychotic) {\n result.host = srcPath.shift();\n result.hostname = result.host;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n // to support http.request\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n /*\n * no path at all. easy.\n * we've already handled the other stuff above.\n */\n result.pathname = null;\n // to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n /*\n * if a url ENDs in . or .., then it must get a trailing slash.\n * however, if it ends in anything else non-slashy,\n * then it must NOT get a trailing slash.\n */\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === '.' || last === '..') || last === '';\n\n /*\n * strip single dots, resolve double dots to parent dir\n * if the path tries to go above the root, `up` ends up > 0\n */\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' && (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' || (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = isAbsolute ? '' : srcPath.length ? srcPath.shift() : '';\n result.host = result.hostname;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (srcPath.length > 0) {\n result.pathname = srcPath.join('/');\n } else {\n result.pathname = null;\n result.path = null;\n }\n\n // to support request.http\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function () {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) { this.hostname = host; }\n};\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n","\"use strict\";Object.defineProperty(exports,Symbol.toStringTag,{value:\"Module\"});const t=require(\"react\");var c=(e=>(e.Mouse=\"mouse\",e.Touch=\"touch\",e.Pointer=\"pointer\",e))(c||{}),a=(e=>(e.CancelledByMovement=\"cancelled-by-movement\",e.CancelledByRelease=\"cancelled-by-release\",e.CancelledOutsideElement=\"cancelled-outside-element\",e))(a||{});const j=()=>typeof window==\"object\"?window?.PointerEvent??null:null,Y=()=>typeof window==\"object\"?window?.TouchEvent??null:null;function D(e){const{nativeEvent:o}=e,s=Y();return s&&o instanceof s||\"touches\"in e}function A(e){const o=j();return e.nativeEvent instanceof MouseEvent&&!(o&&e.nativeEvent instanceof o)}function S(e){const{nativeEvent:o}=e;if(!o)return!1;const s=j();return s&&o instanceof s||\"pointerId\"in o}function R(e){return A(e)||D(e)||S(e)}function B(e){return D(e)?{x:e.touches[0].pageX,y:e.touches[0].pageY}:A(e)||S(e)?{x:e.pageX,y:e.pageY}:null}function q(e){return{target:e.target,currentTarget:e.currentTarget,nativeEvent:e,persist:()=>{}}}function I(e,{threshold:o=400,captureEvent:s=!1,detect:p=c.Pointer,cancelOnMovement:w=!1,cancelOutsideElement:P=!0,filterEvents:g,onStart:T,onMove:y,onFinish:M,onCancel:C}={}){const h=t.useRef(!1),f=t.useRef(!1),U=t.useRef(),l=t.useRef(),m=t.useRef(e),d=t.useRef(null),E=t.useCallback(n=>r=>{f.current||R(r)&&(g!==void 0&&!g(r)||(s&&r.persist(),T?.(r,{context:n}),d.current=B(r),f.current=!0,U.current=r.currentTarget,l.current=setTimeout(()=>{m.current&&(m.current(r,{context:n}),h.current=!0)},o)))},[s,g,T,o]),i=t.useCallback(n=>(r,u)=>{R(r)&&f.current&&(d.current=null,s&&r.persist(),h.current?M?.(r,{context:n}):f.current&&C?.(r,{context:n,reason:u??a.CancelledByRelease}),h.current=!1,f.current=!1,l.current!==void 0&&clearTimeout(l.current))},[s,M,C]),v=t.useCallback(n=>r=>{if(y?.(r,{context:n}),w!==!1&&d.current){const u=B(r);if(u){const b=w===!0?25:w,L={x:Math.abs(u.x-d.current.x),y:Math.abs(u.y-d.current.y)};(L.x>b||L.y>b)&&i(n)(r,a.CancelledByMovement)}}},[i,w,y]),X=t.useCallback(n=>{if(e===null)return{};switch(p){case c.Mouse:{const r={onMouseDown:E(n),onMouseMove:v(n),onMouseUp:i(n)};return P&&(r.onMouseLeave=u=>{i(n)(u,a.CancelledOutsideElement)}),r}case c.Touch:return{onTouchStart:E(n),onTouchMove:v(n),onTouchEnd:i(n)};case c.Pointer:{const r={onPointerDown:E(n),onPointerMove:v(n),onPointerUp:i(n)};return P&&(r.onPointerLeave=u=>i(n)(u,a.CancelledOutsideElement)),r}}},[e,i,P,p,v,E]);return t.useEffect(()=>{if(!window)return;function n(r){const u=q(r);i()(u)}return window.addEventListener(\"mouseup\",n),window.addEventListener(\"touchend\",n),window.addEventListener(\"pointerup\",n),()=>{window.removeEventListener(\"mouseup\",n),window.removeEventListener(\"touchend\",n),window.removeEventListener(\"pointerup\",n)}},[i]),t.useEffect(()=>()=>{l.current!==void 0&&clearTimeout(l.current)},[]),t.useEffect(()=>{m.current=e},[e]),X}exports.LongPressCallbackReason=a;exports.LongPressEventType=c;exports.useLongPress=I;\n","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Default exports for Node. Export the extended versions of VTTCue and\n// VTTRegion in Node since we likely want the capability to convert back and\n// forth between JSON. If we don't then it's not that big of a deal since we're\n// off browser.\nmodule.exports = {\n WebVTT: require(\"./vtt.js\").WebVTT,\n VTTCue: require(\"./vttcue-extended.js\").VTTCue,\n VTTRegion: require(\"./vttregion-extended.js\").VTTRegion\n};\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */\n/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */\n\n(function(global) {\n function makeColorSet(color, opacity) {\n if(opacity === undefined) {\n opacity = 1;\n }\n return \"rgba(\" + [parseInt(color.substring(0, 2), 16),\n parseInt(color.substring(2, 4), 16),\n parseInt(color.substring(4, 6), 16),\n opacity].join(\",\") + \")\";\n }\n\n var WebVTTPrefs = ['webvtt.font.color', 'webvtt.font.opacity', 'webvtt.font.scale',\n 'webvtt.bg.color', 'webvtt.bg.opacity',\n 'webvtt.edge.color', 'webvtt.edge.type'];\n\n var fontScale = 1;\n\n function observe(subject, topic, data) {\n switch (data) {\n case \"webvtt.font.color\":\n case \"webvtt.font.opacity\":\n var fontColor = Services.prefs.getCharPref(\"webvtt.font.color\");\n var fontOpacity = Services.prefs.getIntPref(\"webvtt.font.opacity\") / 100;\n WebVTTSet.fontSet = makeColorSet(fontColor, fontOpacity);\n break;\n case \"webvtt.font.scale\":\n fontScale = Services.prefs.getIntPref(\"webvtt.font.scale\") / 100;\n break;\n case \"webvtt.bg.color\":\n case \"webvtt.bg.opacity\":\n var backgroundColor = Services.prefs.getCharPref(\"webvtt.bg.color\");\n var backgroundOpacity = Services.prefs.getIntPref(\"webvtt.bg.opacity\") / 100;\n WebVTTSet.backgroundSet = makeColorSet(backgroundColor, backgroundOpacity);\n break;\n case \"webvtt.edge.color\":\n case \"webvtt.edge.type\":\n var edgeTypeList = [\"\", \"0px 0px \", \"4px 4px 4px \", \"-2px -2px \", \"2px 2px \"];\n var edgeType = Services.prefs.getIntPref(\"webvtt.edge.type\");\n var edgeColor = Services.prefs.getCharPref(\"webvtt.edge.color\");\n WebVTTSet.edgeSet = edgeTypeList[edgeType] + makeColorSet(edgeColor);\n break;\n }\n }\n\n if(typeof Services !== \"undefined\") {\n var WebVTTSet = {};\n WebVTTPrefs.forEach(function (pref) {\n observe(undefined, undefined, pref);\n Services.prefs.addObserver(pref, observe, false);\n });\n }\n\n var _objCreate = Object.create || (function() {\n function F() {}\n return function(o) {\n if (arguments.length !== 1) {\n throw new Error('Object.create shim only accepts one parameter.');\n }\n F.prototype = o;\n return new F();\n };\n })();\n\n // Creates a new ParserError object from an errorData object. The errorData\n // object should have default code and message properties. The default message\n // property can be overriden by passing in a message parameter.\n // See ParsingError.Errors below for acceptable errors.\n function ParsingError(errorData, message) {\n this.name = \"ParsingError\";\n this.code = errorData.code;\n this.message = message || errorData.message;\n }\n ParsingError.prototype = _objCreate(Error.prototype);\n ParsingError.prototype.constructor = ParsingError;\n\n // ParsingError metadata for acceptable ParsingErrors.\n ParsingError.Errors = {\n BadSignature: {\n code: 0,\n message: \"Malformed WebVTT signature.\"\n },\n BadTimeStamp: {\n code: 1,\n message: \"Malformed time stamp.\"\n }\n };\n\n // Try to parse input as a time stamp.\n function parseTimeStamp(input) {\n\n function computeSeconds(h, m, s, f) {\n return (h | 0) * 3600 + (m | 0) * 60 + (s | 0) + (f | 0) / 1000;\n }\n\n var m = input.match(/^(\\d+):(\\d{2})(:\\d{2})?\\.(\\d{3})/);\n if (!m) {\n return null;\n }\n\n if (m[3]) {\n // Timestamp takes the form of [hours]:[minutes]:[seconds].[milliseconds]\n return computeSeconds(m[1], m[2], m[3].replace(\":\", \"\"), m[4]);\n } else if (m[1] > 59) {\n // Timestamp takes the form of [hours]:[minutes].[milliseconds]\n // First position is hours as it's over 59.\n return computeSeconds(m[1], m[2], 0, m[4]);\n } else {\n // Timestamp takes the form of [minutes]:[seconds].[milliseconds]\n return computeSeconds(0, m[1], m[2], m[4]);\n }\n }\n\n // A settings object holds key/value pairs and will ignore anything but the first\n // assignment to a specific key.\n function Settings() {\n this.values = _objCreate(null);\n }\n\n Settings.prototype = {\n // Only accept the first assignment to any key.\n set: function(k, v) {\n if (!this.get(k) && v !== \"\") {\n this.values[k] = v;\n }\n },\n // Return the value for a key, or a default value.\n // If 'defaultKey' is passed then 'dflt' is assumed to be an object with\n // a number of possible default values as properties where 'defaultKey' is\n // the key of the property that will be chosen; otherwise it's assumed to be\n // a single value.\n get: function(k, dflt, defaultKey) {\n if (defaultKey) {\n return this.has(k) ? this.values[k] : dflt[defaultKey];\n }\n return this.has(k) ? this.values[k] : dflt;\n },\n // Check whether we have a value for a key.\n has: function(k) {\n return k in this.values;\n },\n // Accept a setting if its one of the given alternatives.\n alt: function(k, v, a) {\n for (var n = 0; n < a.length; ++n) {\n if (v === a[n]) {\n this.set(k, v);\n break;\n }\n }\n },\n // Accept a setting if its a valid (signed) integer.\n integer: function(k, v) {\n if (/^-?\\d+$/.test(v)) { // integer\n this.set(k, parseInt(v, 10));\n }\n },\n // Accept a setting if its a valid percentage.\n percent: function(k, v) {\n var m;\n if ((m = v.match(/^([\\d]{1,3})(\\.[\\d]*)?%$/))) {\n v = parseFloat(v);\n if (v >= 0 && v <= 100) {\n this.set(k, v);\n return true;\n }\n }\n return false;\n }\n };\n\n // Helper function to parse input into groups separated by 'groupDelim', and\n // interprete each group as a key/value pair separated by 'keyValueDelim'.\n function parseOptions(input, callback, keyValueDelim, groupDelim) {\n var groups = groupDelim ? input.split(groupDelim) : [input];\n for (var i in groups) {\n if (typeof groups[i] !== \"string\") {\n continue;\n }\n var kv = groups[i].split(keyValueDelim);\n if (kv.length !== 2) {\n continue;\n }\n var k = kv[0];\n var v = kv[1];\n callback(k, v);\n }\n }\n\n function parseCue(input, cue, regionList, successCb, errCb) {\n // Remember the original input if we need to throw an error.\n var oInput = input;\n // 4.1 WebVTT timestamp\n function consumeTimeStamp() {\n var ts = parseTimeStamp(input);\n if (ts === null) {\n if (errCb) {\n errCb(new ParsingError(ParsingError.Errors.BadTimeStamp,\n \"Malformed timestamp: \" + oInput));\n return;\n }\n }\n // Remove time stamp from input.\n input = input.replace(/^[^\\sa-zA-Z-]+/, \"\");\n return ts;\n }\n\n // 4.4.2 WebVTT cue settings\n function consumeCueSettings(input, cue) {\n var settings = new Settings();\n\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"region\":\n // Find the last region we parsed with the same region id.\n for (var i = regionList.length - 1; i >= 0; i--) {\n if (regionList[i].id === v) {\n settings.set(k, regionList[i].region);\n break;\n }\n }\n break;\n case \"vertical\":\n settings.alt(k, v, [\"rl\", \"lr\"]);\n break;\n case \"line\":\n var vals = v.split(\",\"),\n vals0 = vals[0];\n settings.integer(k, vals0);\n settings.percent(k, vals0) ? settings.set(\"snapToLines\", false) : null;\n settings.alt(k, vals0, [\"auto\"]);\n if (vals.length === 2) {\n settings.alt(\"lineAlign\", vals[1], [\"start\", \"middle\", \"end\"]);\n }\n break;\n case \"position\":\n vals = v.split(\",\");\n settings.percent(k, vals[0]);\n if (vals.length === 2) {\n settings.alt(\"positionAlign\", vals[1], [\"start\", \"middle\", \"end\"]);\n }\n break;\n case \"size\":\n settings.percent(k, v);\n break;\n case \"align\":\n settings.alt(k, v, [\"start\", \"middle\", \"end\", \"left\", \"right\"]);\n break;\n }\n }, /:/, /\\s/);\n\n // Apply default values for any missing fields.\n cue.region = settings.get(\"region\", null);\n cue.vertical = settings.get(\"vertical\", \"\");\n cue.line = settings.get(\"line\", \"auto\");\n cue.lineAlign = settings.get(\"lineAlign\", \"start\");\n cue.snapToLines = settings.get(\"snapToLines\", true);\n cue.size = settings.get(\"size\", 100);\n cue.align = settings.get(\"align\", \"center\");\n cue.position = settings.get(\"position\", \"auto\");\n cue.positionAlign = settings.get(\"positionAlign\", {\n start: \"start\",\n left: \"start\",\n middle: \"middle\",\n end: \"end\",\n right: \"end\",\n center: \"center\"\n }, cue.align);\n\n successCb();\n }\n\n function skipWhitespace() {\n input = input.replace(/^\\s+/, \"\");\n }\n\n // 4.1 WebVTT cue timings.\n skipWhitespace();\n\n var timestamp = consumeTimeStamp()\n if (timestamp === undefined) return\n cue.startTime = timestamp; // (1) collect cue start time\n skipWhitespace();\n if (input.substr(0, 3) !== \"-->\") {\n // (3) next characters must match \"-->\"\n errCb(new ParsingError(ParsingError.Errors.BadTimeStamp,\n \"Malformed time stamp (time stamps must be separated by '-->'): \" +\n oInput));\n return;\n }\n input = input.substr(3);\n skipWhitespace();\n var timestamp = consumeTimeStamp()\n if (timestamp === undefined) return\n cue.endTime = timestamp; // (5) collect cue end time\n\n // 4.1 WebVTT cue settings list.\n skipWhitespace();\n consumeCueSettings(input, cue);\n }\n\n var ESCAPE = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n \"‎\": \"\\u200e\",\n \"‏\": \"\\u200f\",\n \" \": \"\\u00a0\"\n };\n\n var TAG_NAME = {\n c: \"span\",\n i: \"i\",\n b: \"b\",\n u: \"u\",\n ruby: \"ruby\",\n rt: \"rt\",\n v: \"span\",\n lang: \"span\"\n };\n\n var TAG_ANNOTATION = {\n v: \"title\",\n lang: \"lang\"\n };\n\n var NEEDS_PARENT = {\n rt: \"ruby\"\n };\n\n // Parse content into a document fragment.\n function parseContent(window, input) {\n function nextToken() {\n // Check for end-of-string.\n if (!input) {\n return null;\n }\n\n // Consume 'n' characters from the input.\n function consume(result) {\n input = input.substr(result.length);\n return result;\n }\n\n var m = input.match(/^([^<]*)(<[^>]+>?)?/);\n // If there is some text before the next tag, return it, otherwise return\n // the tag.\n return consume(m[1] ? m[1] : m[2]);\n }\n\n // Unescape a string 's'.\n function unescape1(e) {\n return ESCAPE[e];\n }\n function unescape(s) {\n while ((m = s.match(/&(amp|lt|gt|lrm|rlm|nbsp);/))) {\n s = s.replace(m[0], unescape1);\n }\n return s;\n }\n\n function shouldAdd(current, element) {\n return !NEEDS_PARENT[element.localName] ||\n NEEDS_PARENT[element.localName] === current.localName;\n }\n\n // Create an element for this tag.\n function createElement(type, annotation) {\n var tagName = TAG_NAME[type];\n if (!tagName) {\n return null;\n }\n var element = window.document.createElement(tagName);\n element.localName = tagName;\n var name = TAG_ANNOTATION[type];\n if (name && annotation) {\n element[name] = annotation.trim();\n }\n return element;\n }\n\n var rootDiv = window.document.createElement(\"div\"),\n current = rootDiv,\n t,\n tagStack = [];\n\n while ((t = nextToken()) !== null) {\n if (t[0] === '<') {\n if (t[1] === \"/\") {\n // If the closing tag matches, move back up to the parent node.\n if (tagStack.length &&\n tagStack[tagStack.length - 1] === t.substr(2).replace(\">\", \"\")) {\n tagStack.pop();\n current = current.parentNode;\n }\n // Otherwise just ignore the end tag.\n continue;\n }\n var ts = parseTimeStamp(t.substr(1, t.length - 2));\n var node;\n if (ts) {\n // Timestamps are lead nodes as well.\n node = window.document.createProcessingInstruction(\"timestamp\", ts);\n current.appendChild(node);\n continue;\n }\n var m = t.match(/^<([^.\\s/0-9>]+)(\\.[^\\s\\\\>]+)?([^>\\\\]+)?(\\\\?)>?$/);\n // If we can't parse the tag, skip to the next tag.\n if (!m) {\n continue;\n }\n // Try to construct an element, and ignore the tag if we couldn't.\n node = createElement(m[1], m[3]);\n if (!node) {\n continue;\n }\n // Determine if the tag should be added based on the context of where it\n // is placed in the cuetext.\n if (!shouldAdd(current, node)) {\n continue;\n }\n // Set the class list (as a list of classes, separated by space).\n if (m[2]) {\n node.className = m[2].substr(1).replace('.', ' ');\n }\n // Append the node to the current node, and enter the scope of the new\n // node.\n tagStack.push(m[1]);\n current.appendChild(node);\n current = node;\n continue;\n }\n\n // Text nodes are leaf nodes.\n current.appendChild(window.document.createTextNode(unescape(t)));\n }\n\n return rootDiv;\n }\n\n // This is a list of all the Unicode characters that have a strong\n // right-to-left category. What this means is that these characters are\n // written right-to-left for sure. It was generated by pulling all the strong\n // right-to-left characters out of the Unicode data table. That table can\n // found at: http://www.unicode.org/Public/UNIDATA/UnicodeData.txt\n var strongRTLRanges = [[0x5be, 0x5be], [0x5c0, 0x5c0], [0x5c3, 0x5c3], [0x5c6, 0x5c6],\n [0x5d0, 0x5ea], [0x5f0, 0x5f4], [0x608, 0x608], [0x60b, 0x60b], [0x60d, 0x60d],\n [0x61b, 0x61b], [0x61e, 0x64a], [0x66d, 0x66f], [0x671, 0x6d5], [0x6e5, 0x6e6],\n [0x6ee, 0x6ef], [0x6fa, 0x70d], [0x70f, 0x710], [0x712, 0x72f], [0x74d, 0x7a5],\n [0x7b1, 0x7b1], [0x7c0, 0x7ea], [0x7f4, 0x7f5], [0x7fa, 0x7fa], [0x800, 0x815],\n [0x81a, 0x81a], [0x824, 0x824], [0x828, 0x828], [0x830, 0x83e], [0x840, 0x858],\n [0x85e, 0x85e], [0x8a0, 0x8a0], [0x8a2, 0x8ac], [0x200f, 0x200f],\n [0xfb1d, 0xfb1d], [0xfb1f, 0xfb28], [0xfb2a, 0xfb36], [0xfb38, 0xfb3c],\n [0xfb3e, 0xfb3e], [0xfb40, 0xfb41], [0xfb43, 0xfb44], [0xfb46, 0xfbc1],\n [0xfbd3, 0xfd3d], [0xfd50, 0xfd8f], [0xfd92, 0xfdc7], [0xfdf0, 0xfdfc],\n [0xfe70, 0xfe74], [0xfe76, 0xfefc], [0x10800, 0x10805], [0x10808, 0x10808],\n [0x1080a, 0x10835], [0x10837, 0x10838], [0x1083c, 0x1083c], [0x1083f, 0x10855],\n [0x10857, 0x1085f], [0x10900, 0x1091b], [0x10920, 0x10939], [0x1093f, 0x1093f],\n [0x10980, 0x109b7], [0x109be, 0x109bf], [0x10a00, 0x10a00], [0x10a10, 0x10a13],\n [0x10a15, 0x10a17], [0x10a19, 0x10a33], [0x10a40, 0x10a47], [0x10a50, 0x10a58],\n [0x10a60, 0x10a7f], [0x10b00, 0x10b35], [0x10b40, 0x10b55], [0x10b58, 0x10b72],\n [0x10b78, 0x10b7f], [0x10c00, 0x10c48], [0x1ee00, 0x1ee03], [0x1ee05, 0x1ee1f],\n [0x1ee21, 0x1ee22], [0x1ee24, 0x1ee24], [0x1ee27, 0x1ee27], [0x1ee29, 0x1ee32],\n [0x1ee34, 0x1ee37], [0x1ee39, 0x1ee39], [0x1ee3b, 0x1ee3b], [0x1ee42, 0x1ee42],\n [0x1ee47, 0x1ee47], [0x1ee49, 0x1ee49], [0x1ee4b, 0x1ee4b], [0x1ee4d, 0x1ee4f],\n [0x1ee51, 0x1ee52], [0x1ee54, 0x1ee54], [0x1ee57, 0x1ee57], [0x1ee59, 0x1ee59],\n [0x1ee5b, 0x1ee5b], [0x1ee5d, 0x1ee5d], [0x1ee5f, 0x1ee5f], [0x1ee61, 0x1ee62],\n [0x1ee64, 0x1ee64], [0x1ee67, 0x1ee6a], [0x1ee6c, 0x1ee72], [0x1ee74, 0x1ee77],\n [0x1ee79, 0x1ee7c], [0x1ee7e, 0x1ee7e], [0x1ee80, 0x1ee89], [0x1ee8b, 0x1ee9b],\n [0x1eea1, 0x1eea3], [0x1eea5, 0x1eea9], [0x1eeab, 0x1eebb], [0x10fffd, 0x10fffd]];\n\n function isStrongRTLChar(charCode) {\n for (var i = 0; i < strongRTLRanges.length; i++) {\n var currentRange = strongRTLRanges[i];\n if (charCode >= currentRange[0] && charCode <= currentRange[1]) {\n return true;\n }\n }\n\n return false;\n }\n\n function determineBidi(cueDiv) {\n var nodeStack = [],\n text = \"\",\n charCode;\n\n if (!cueDiv || !cueDiv.childNodes) {\n return \"ltr\";\n }\n\n function pushNodes(nodeStack, node) {\n for (var i = node.childNodes.length - 1; i >= 0; i--) {\n nodeStack.push(node.childNodes[i]);\n }\n }\n\n function nextTextNode(nodeStack) {\n if (!nodeStack || !nodeStack.length) {\n return null;\n }\n\n var node = nodeStack.pop(),\n text = node.textContent || node.innerText;\n if (text) {\n // TODO: This should match all unicode type B characters (paragraph\n // separator characters). See issue #115.\n var m = text.match(/^.*(\\n|\\r)/);\n if (m) {\n nodeStack.length = 0;\n return m[0];\n }\n return text;\n }\n if (node.tagName === \"ruby\") {\n return nextTextNode(nodeStack);\n }\n if (node.childNodes) {\n pushNodes(nodeStack, node);\n return nextTextNode(nodeStack);\n }\n }\n\n pushNodes(nodeStack, cueDiv);\n while ((text = nextTextNode(nodeStack))) {\n for (var i = 0; i < text.length; i++) {\n charCode = text.charCodeAt(i);\n if (isStrongRTLChar(charCode)) {\n return \"rtl\";\n }\n }\n }\n return \"ltr\";\n }\n\n function computeLinePos(cue) {\n if (typeof cue.line === \"number\" &&\n (cue.snapToLines || (cue.line >= 0 && cue.line <= 100))) {\n return cue.line;\n }\n if (!cue.track || !cue.track.textTrackList ||\n !cue.track.textTrackList.mediaElement) {\n return -1;\n }\n var track = cue.track,\n trackList = track.textTrackList,\n count = 0;\n for (var i = 0; i < trackList.length && trackList[i] !== track; i++) {\n if (trackList[i].mode === \"showing\") {\n count++;\n }\n }\n return ++count * -1;\n }\n\n function StyleBox() {\n }\n\n // Apply styles to a div. If there is no div passed then it defaults to the\n // div on 'this'.\n StyleBox.prototype.applyStyles = function(styles, div) {\n div = div || this.div;\n for (var prop in styles) {\n if (styles.hasOwnProperty(prop)) {\n div.style[prop] = styles[prop];\n }\n }\n };\n\n StyleBox.prototype.formatStyle = function(val, unit) {\n return val === 0 ? 0 : val + unit;\n };\n\n // Constructs the computed display state of the cue (a div). Places the div\n // into the overlay which should be a block level element (usually a div).\n function CueStyleBox(window, cue, styleOptions) {\n var isIE8 = (typeof navigator !== \"undefined\") &&\n (/MSIE\\s8\\.0/).test(navigator.userAgent);\n var color = \"rgba(255, 255, 255, 1)\";\n var backgroundColor = \"rgba(0, 0, 0, 0.8)\";\n var textShadow = \"\";\n\n if(typeof WebVTTSet !== \"undefined\") {\n color = WebVTTSet.fontSet;\n backgroundColor = WebVTTSet.backgroundSet;\n textShadow = WebVTTSet.edgeSet;\n }\n\n if (isIE8) {\n color = \"rgb(255, 255, 255)\";\n backgroundColor = \"rgb(0, 0, 0)\";\n }\n\n StyleBox.call(this);\n this.cue = cue;\n\n // Parse our cue's text into a DOM tree rooted at 'cueDiv'. This div will\n // have inline positioning and will function as the cue background box.\n this.cueDiv = parseContent(window, cue.text);\n var styles = {\n color: color,\n backgroundColor: backgroundColor,\n textShadow: textShadow,\n position: \"relative\",\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n display: \"inline\"\n };\n\n if (!isIE8) {\n styles.writingMode = cue.vertical === \"\" ? \"horizontal-tb\"\n : cue.vertical === \"lr\" ? \"vertical-lr\"\n : \"vertical-rl\";\n styles.unicodeBidi = \"plaintext\";\n }\n this.applyStyles(styles, this.cueDiv);\n\n // Create an absolutely positioned div that will be used to position the cue\n // div. Note, all WebVTT cue-setting alignments are equivalent to the CSS\n // mirrors of them except \"middle\" which is \"center\" in CSS.\n this.div = window.document.createElement(\"div\");\n styles = {\n textAlign: cue.align === \"middle\" ? \"center\" : cue.align,\n font: styleOptions.font,\n whiteSpace: \"pre-line\",\n position: \"absolute\"\n };\n\n if (!isIE8) {\n styles.direction = determineBidi(this.cueDiv);\n styles.writingMode = cue.vertical === \"\" ? \"horizontal-tb\"\n : cue.vertical === \"lr\" ? \"vertical-lr\"\n : \"vertical-rl\".\n stylesunicodeBidi = \"plaintext\";\n }\n\n this.applyStyles(styles);\n\n this.div.appendChild(this.cueDiv);\n\n // Calculate the distance from the reference edge of the viewport to the text\n // position of the cue box. The reference edge will be resolved later when\n // the box orientation styles are applied.\n var textPos = 0;\n switch (cue.positionAlign) {\n case \"start\":\n textPos = cue.position;\n break;\n case \"middle\":\n textPos = cue.position - (cue.size / 2);\n break;\n case \"end\":\n textPos = cue.position - cue.size;\n break;\n }\n\n // Horizontal box orientation; textPos is the distance from the left edge of the\n // area to the left edge of the box and cue.size is the distance extending to\n // the right from there.\n if (cue.vertical === \"\") {\n this.applyStyles({\n left: this.formatStyle(textPos, \"%\"),\n width: this.formatStyle(cue.size, \"%\")\n });\n // Vertical box orientation; textPos is the distance from the top edge of the\n // area to the top edge of the box and cue.size is the height extending\n // downwards from there.\n } else {\n this.applyStyles({\n top: this.formatStyle(textPos, \"%\"),\n height: this.formatStyle(cue.size, \"%\")\n });\n }\n\n this.move = function(box) {\n this.applyStyles({\n top: this.formatStyle(box.top, \"px\"),\n bottom: this.formatStyle(box.bottom, \"px\"),\n left: this.formatStyle(box.left, \"px\"),\n right: this.formatStyle(box.right, \"px\"),\n height: this.formatStyle(box.height, \"px\"),\n width: this.formatStyle(box.width, \"px\")\n });\n };\n }\n CueStyleBox.prototype = _objCreate(StyleBox.prototype);\n CueStyleBox.prototype.constructor = CueStyleBox;\n\n // Represents the co-ordinates of an Element in a way that we can easily\n // compute things with such as if it overlaps or intersects with another Element.\n // Can initialize it with either a StyleBox or another BoxPosition.\n function BoxPosition(obj) {\n var isIE8 = (typeof navigator !== \"undefined\") &&\n (/MSIE\\s8\\.0/).test(navigator.userAgent);\n\n // Either a BoxPosition was passed in and we need to copy it, or a StyleBox\n // was passed in and we need to copy the results of 'getBoundingClientRect'\n // as the object returned is readonly. All co-ordinate values are in reference\n // to the viewport origin (top left).\n var lh, height, width, top;\n if (obj.div) {\n height = obj.div.offsetHeight;\n width = obj.div.offsetWidth;\n top = obj.div.offsetTop;\n\n var rects = (rects = obj.div.childNodes) && (rects = rects[0]) &&\n rects.getClientRects && rects.getClientRects();\n obj = obj.div.getBoundingClientRect();\n // In certain cases the outter div will be slightly larger then the sum of\n // the inner div's lines. This could be due to bold text, etc, on some platforms.\n // In this case we should get the average line height and use that. This will\n // result in the desired behaviour.\n lh = rects ? Math.max((rects[0] && rects[0].height) || 0, obj.height / rects.length)\n : 0;\n\n }\n this.left = obj.left;\n this.right = obj.right;\n this.top = obj.top || top;\n this.height = obj.height || height;\n this.bottom = obj.bottom || (top + (obj.height || height));\n this.width = obj.width || width;\n this.lineHeight = lh !== undefined ? lh : obj.lineHeight;\n\n if (isIE8 && !this.lineHeight) {\n this.lineHeight = 13;\n }\n }\n\n // Move the box along a particular axis. Optionally pass in an amount to move\n // the box. If no amount is passed then the default is the line height of the\n // box.\n BoxPosition.prototype.move = function(axis, toMove) {\n toMove = toMove !== undefined ? toMove : this.lineHeight;\n switch (axis) {\n case \"+x\":\n this.left += toMove;\n this.right += toMove;\n break;\n case \"-x\":\n this.left -= toMove;\n this.right -= toMove;\n break;\n case \"+y\":\n this.top += toMove;\n this.bottom += toMove;\n break;\n case \"-y\":\n this.top -= toMove;\n this.bottom -= toMove;\n break;\n }\n };\n\n // Check if this box overlaps another box, b2.\n BoxPosition.prototype.overlaps = function(b2) {\n return this.left < b2.right &&\n this.right > b2.left &&\n this.top < b2.bottom &&\n this.bottom > b2.top;\n };\n\n // Check if this box overlaps any other boxes in boxes.\n BoxPosition.prototype.overlapsAny = function(boxes) {\n for (var i = 0; i < boxes.length; i++) {\n if (this.overlaps(boxes[i])) {\n return true;\n }\n }\n return false;\n };\n\n // Check if this box is within another box.\n BoxPosition.prototype.within = function(container) {\n return this.top >= container.top &&\n this.bottom <= container.bottom &&\n this.left >= container.left &&\n this.right <= container.right;\n };\n\n // Check if this box is entirely within the container or it is overlapping\n // on the edge opposite of the axis direction passed. For example, if \"+x\" is\n // passed and the box is overlapping on the left edge of the container, then\n // return true.\n BoxPosition.prototype.overlapsOppositeAxis = function(container, axis) {\n switch (axis) {\n case \"+x\":\n return this.left < container.left;\n case \"-x\":\n return this.right > container.right;\n case \"+y\":\n return this.top < container.top;\n case \"-y\":\n return this.bottom > container.bottom;\n }\n };\n\n // Find the percentage of the area that this box is overlapping with another\n // box.\n BoxPosition.prototype.intersectPercentage = function(b2) {\n var x = Math.max(0, Math.min(this.right, b2.right) - Math.max(this.left, b2.left)),\n y = Math.max(0, Math.min(this.bottom, b2.bottom) - Math.max(this.top, b2.top)),\n intersectArea = x * y;\n return intersectArea / (this.height * this.width);\n };\n\n // Convert the positions from this box to CSS compatible positions using\n // the reference container's positions. This has to be done because this\n // box's positions are in reference to the viewport origin, whereas, CSS\n // values are in referecne to their respective edges.\n BoxPosition.prototype.toCSSCompatValues = function(reference) {\n return {\n top: this.top - reference.top,\n bottom: reference.bottom - this.bottom,\n left: this.left - reference.left,\n right: reference.right - this.right,\n height: this.height,\n width: this.width\n };\n };\n\n // Get an object that represents the box's position without anything extra.\n // Can pass a StyleBox, HTMLElement, or another BoxPositon.\n BoxPosition.getSimpleBoxPosition = function(obj) {\n var height = obj.div ? obj.div.offsetHeight : obj.tagName ? obj.offsetHeight : 0;\n var width = obj.div ? obj.div.offsetWidth : obj.tagName ? obj.offsetWidth : 0;\n var top = obj.div ? obj.div.offsetTop : obj.tagName ? obj.offsetTop : 0;\n\n obj = obj.div ? obj.div.getBoundingClientRect() :\n obj.tagName ? obj.getBoundingClientRect() : obj;\n var ret = {\n left: obj.left,\n right: obj.right,\n top: obj.top || top,\n height: obj.height || height,\n bottom: obj.bottom || (top + (obj.height || height)),\n width: obj.width || width\n };\n return ret;\n };\n\n // Move a StyleBox to its specified, or next best, position. The containerBox\n // is the box that contains the StyleBox, such as a div. boxPositions are\n // a list of other boxes that the styleBox can't overlap with.\n function moveBoxToLinePosition(window, styleBox, containerBox, boxPositions) {\n\n // Find the best position for a cue box, b, on the video. The axis parameter\n // is a list of axis, the order of which, it will move the box along. For example:\n // Passing [\"+x\", \"-x\"] will move the box first along the x axis in the positive\n // direction. If it doesn't find a good position for it there it will then move\n // it along the x axis in the negative direction.\n function findBestPosition(b, axis) {\n var bestPosition,\n specifiedPosition = new BoxPosition(b),\n percentage = 1; // Highest possible so the first thing we get is better.\n\n for (var i = 0; i < axis.length; i++) {\n while (b.overlapsOppositeAxis(containerBox, axis[i]) ||\n (b.within(containerBox) && b.overlapsAny(boxPositions))) {\n b.move(axis[i]);\n }\n // We found a spot where we aren't overlapping anything. This is our\n // best position.\n if (b.within(containerBox)) {\n return b;\n }\n var p = b.intersectPercentage(containerBox);\n // If we're outside the container box less then we were on our last try\n // then remember this position as the best position.\n if (percentage > p) {\n bestPosition = new BoxPosition(b);\n percentage = p;\n }\n // Reset the box position to the specified position.\n b = new BoxPosition(specifiedPosition);\n }\n return bestPosition || specifiedPosition;\n }\n\n var boxPosition = new BoxPosition(styleBox),\n cue = styleBox.cue,\n linePos = computeLinePos(cue),\n axis = [];\n\n // If we have a line number to align the cue to.\n if (cue.snapToLines) {\n var size;\n switch (cue.vertical) {\n case \"\":\n axis = [ \"+y\", \"-y\" ];\n size = \"height\";\n break;\n case \"rl\":\n axis = [ \"+x\", \"-x\" ];\n size = \"width\";\n break;\n case \"lr\":\n axis = [ \"-x\", \"+x\" ];\n size = \"width\";\n break;\n }\n\n var step = boxPosition.lineHeight,\n position = step * Math.round(linePos),\n maxPosition = containerBox[size] + step,\n initialAxis = axis[0];\n\n // If the specified intial position is greater then the max position then\n // clamp the box to the amount of steps it would take for the box to\n // reach the max position.\n if (Math.abs(position) > maxPosition) {\n position = position < 0 ? -1 : 1;\n position *= Math.ceil(maxPosition / step) * step;\n }\n\n // If computed line position returns negative then line numbers are\n // relative to the bottom of the video instead of the top. Therefore, we\n // need to increase our initial position by the length or width of the\n // video, depending on the writing direction, and reverse our axis directions.\n if (linePos < 0) {\n position += cue.vertical === \"\" ? containerBox.height : containerBox.width;\n axis = axis.reverse();\n }\n\n // Move the box to the specified position. This may not be its best\n // position.\n boxPosition.move(initialAxis, position);\n\n } else {\n // If we have a percentage line value for the cue.\n var calculatedPercentage = (boxPosition.lineHeight / containerBox.height) * 100;\n\n switch (cue.lineAlign) {\n case \"middle\":\n linePos -= (calculatedPercentage / 2);\n break;\n case \"end\":\n linePos -= calculatedPercentage;\n break;\n }\n\n // Apply initial line position to the cue box.\n switch (cue.vertical) {\n case \"\":\n styleBox.applyStyles({\n top: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n case \"rl\":\n styleBox.applyStyles({\n left: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n case \"lr\":\n styleBox.applyStyles({\n right: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n }\n\n axis = [ \"+y\", \"-x\", \"+x\", \"-y\" ];\n\n // Get the box position again after we've applied the specified positioning\n // to it.\n boxPosition = new BoxPosition(styleBox);\n }\n\n var bestPosition = findBestPosition(boxPosition, axis);\n styleBox.move(bestPosition.toCSSCompatValues(containerBox));\n }\n\n function WebVTT() {\n // Nothing\n }\n\n // Helper to allow strings to be decoded instead of the default binary utf8 data.\n WebVTT.StringDecoder = function() {\n return {\n decode: function(data) {\n if (!data) {\n return \"\";\n }\n if (typeof data !== \"string\") {\n throw new Error(\"Error - expected string data.\");\n }\n return decodeURIComponent(encodeURIComponent(data));\n }\n };\n };\n\n WebVTT.convertCueToDOMTree = function(window, cuetext) {\n if (!window || !cuetext) {\n return null;\n }\n return parseContent(window, cuetext);\n };\n\n var FONT_SIZE_PERCENT = 0.05;\n var FONT_STYLE = \"sans-serif\";\n var CUE_BACKGROUND_PADDING = \"1.5%\";\n\n // Runs the processing model over the cues and regions passed to it.\n // @param overlay A block level element (usually a div) that the computed cues\n // and regions will be placed into.\n WebVTT.processCues = function(window, cues, overlay) {\n if (!window || !cues || !overlay) {\n return null;\n }\n\n // Remove all previous children.\n while (overlay.firstChild) {\n overlay.removeChild(overlay.firstChild);\n }\n\n var paddedOverlay = window.document.createElement(\"div\");\n paddedOverlay.style.position = \"absolute\";\n paddedOverlay.style.left = \"0\";\n paddedOverlay.style.right = \"0\";\n paddedOverlay.style.top = \"0\";\n paddedOverlay.style.bottom = \"0\";\n paddedOverlay.style.margin = CUE_BACKGROUND_PADDING;\n overlay.appendChild(paddedOverlay);\n\n // Determine if we need to compute the display states of the cues. This could\n // be the case if a cue's state has been changed since the last computation or\n // if it has not been computed yet.\n function shouldCompute(cues) {\n for (var i = 0; i < cues.length; i++) {\n if (cues[i].hasBeenReset || !cues[i].displayState) {\n return true;\n }\n }\n return false;\n }\n\n // We don't need to recompute the cues' display states. Just reuse them.\n if (!shouldCompute(cues)) {\n for (var i = 0; i < cues.length; i++) {\n paddedOverlay.appendChild(cues[i].displayState);\n }\n return;\n }\n\n var boxPositions = [],\n containerBox = BoxPosition.getSimpleBoxPosition(paddedOverlay),\n fontSize = Math.round(containerBox.height * FONT_SIZE_PERCENT * 100) / 100;\n var styleOptions = {\n font: (fontSize * fontScale) + \"px \" + FONT_STYLE\n };\n\n (function() {\n var styleBox, cue;\n\n for (var i = 0; i < cues.length; i++) {\n cue = cues[i];\n\n // Compute the intial position and styles of the cue div.\n styleBox = new CueStyleBox(window, cue, styleOptions);\n paddedOverlay.appendChild(styleBox.div);\n\n // Move the cue div to it's correct line position.\n moveBoxToLinePosition(window, styleBox, containerBox, boxPositions);\n\n // Remember the computed div so that we don't have to recompute it later\n // if we don't have too.\n cue.displayState = styleBox.div;\n\n boxPositions.push(BoxPosition.getSimpleBoxPosition(styleBox));\n }\n })();\n };\n\n WebVTT.Parser = function(window, decoder, VTTCue) {\n this.window = window;\n this.state = \"INITIAL\";\n this.buffer = \"\";\n this.decoder = decoder || new TextDecoder(\"utf8\");\n this.regionList = [];\n this.VTTCue = VTTCue\n };\n\n WebVTT.Parser.prototype = {\n // If the error is a ParsingError then report it to the consumer if\n // possible. If it's not a ParsingError then throw it like normal.\n reportOrThrowError: function(e) {\n if (e instanceof ParsingError) {\n this.onparsingerror && this.onparsingerror(e);\n } else {\n throw e;\n }\n },\n parse: function (data) {\n var self = this;\n\n // If there is no data then we won't decode it, but will just try to parse\n // whatever is in buffer already. This may occur in circumstances, for\n // example when flush() is called.\n if (data) {\n // Try to decode the data that we received.\n self.buffer += self.decoder.decode(data, {stream: true});\n }\n\n function collectNextLine() {\n var buffer = self.buffer;\n var pos = 0;\n while (pos < buffer.length && buffer[pos] !== '\\r' && buffer[pos] !== '\\n') {\n ++pos;\n }\n var line = buffer.substr(0, pos);\n // Advance the buffer early in case we fail below.\n if (buffer[pos] === '\\r') {\n ++pos;\n }\n if (buffer[pos] === '\\n') {\n ++pos;\n }\n self.buffer = buffer.substr(pos);\n return line;\n }\n\n // 3.4 WebVTT region and WebVTT region settings syntax\n function parseRegion(input) {\n var settings = new Settings();\n\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"id\":\n settings.set(k, v);\n break;\n case \"width\":\n settings.percent(k, v);\n break;\n case \"lines\":\n settings.integer(k, v);\n break;\n case \"regionanchor\":\n case \"viewportanchor\":\n var xy = v.split(',');\n if (xy.length !== 2) {\n break;\n }\n // We have to make sure both x and y parse, so use a temporary\n // settings object here.\n var anchor = new Settings();\n anchor.percent(\"x\", xy[0]);\n anchor.percent(\"y\", xy[1]);\n if (!anchor.has(\"x\") || !anchor.has(\"y\")) {\n break;\n }\n settings.set(k + \"X\", anchor.get(\"x\"));\n settings.set(k + \"Y\", anchor.get(\"y\"));\n break;\n case \"scroll\":\n settings.alt(k, v, [\"up\"]);\n break;\n }\n }, /=/, /\\s/);\n\n // Create the region, using default values for any values that were not\n // specified.\n if (settings.has(\"id\")) {\n var region = new self.window.VTTRegion();\n region.width = settings.get(\"width\", 100);\n region.lines = settings.get(\"lines\", 3);\n region.regionAnchorX = settings.get(\"regionanchorX\", 0);\n region.regionAnchorY = settings.get(\"regionanchorY\", 100);\n region.viewportAnchorX = settings.get(\"viewportanchorX\", 0);\n region.viewportAnchorY = settings.get(\"viewportanchorY\", 100);\n region.scroll = settings.get(\"scroll\", \"\");\n // Register the region.\n self.onregion && self.onregion(region);\n // Remember the VTTRegion for later in case we parse any VTTCues that\n // reference it.\n self.regionList.push({\n id: settings.get(\"id\"),\n region: region\n });\n }\n }\n\n // draft-pantos-http-live-streaming-20\n // https://tools.ietf.org/html/draft-pantos-http-live-streaming-20#section-3.5\n // 3.5 WebVTT\n function parseTimestampMap(input) {\n var settings = new Settings();\n\n parseOptions(input, function(k, v) {\n switch (k) {\n case \"MPEGT\":\n settings.integer(k + 'S', v);\n break;\n case \"LOCA\":\n settings.set(k + 'L', parseTimeStamp(v));\n break;\n }\n }, /[^\\d]:/, /,/);\n\n self.ontimestampmap && self.ontimestampmap({\n \"MPEGTS\": settings.get(\"MPEGTS\"),\n \"LOCAL\": settings.get(\"LOCAL\")\n });\n }\n\n // 3.2 WebVTT metadata header syntax\n function parseHeader(input) {\n if (input.match(/X-TIMESTAMP-MAP/)) {\n // This line contains HLS X-TIMESTAMP-MAP metadata\n parseOptions(input, function(k, v) {\n switch (k) {\n case \"X-TIMESTAMP-MAP\":\n parseTimestampMap(v);\n break;\n }\n }, /=/);\n } else {\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"Region\":\n // 3.3 WebVTT region metadata header syntax\n parseRegion(v);\n break;\n }\n }, /:/);\n }\n }\n\n // 5.1 WebVTT file parsing.\n\n function fail(e) {\n\n self.reportOrThrowError(e);\n\n // If we are currently parsing a cue, report what we have.\n if (self.state === \"CUETEXT\" && self.cue && self.oncue) {\n self.oncue(self.cue);\n }\n self.cue = null;\n // Enter BADWEBVTT state if header was not parsed correctly otherwise\n // another exception occurred so enter BADCUE state.\n self.state = self.state === \"INITIAL\" ? \"BADWEBVTT\" : \"BADCUE\";\n\n }\n\n var line;\n\n if (self.state === \"INITIAL\") {\n // We can't start parsing until we have the first line.\n if (!/\\r\\n|\\n/.test(self.buffer)) {\n return this;\n }\n\n line = collectNextLine();\n\n var m = line.match(/^WEBVTT([ \\t].*)?$/);\n if (!m || !m[0]) {\n fail(new ParsingError(ParsingError.Errors.BadSignature))\n return\n }\n\n self.state = \"HEADER\";\n }\n\n var alreadyCollectedLine = false;\n\n var lineparse = function() {\n // We can't parse a line until we have the full line.\n if (!self.buffer || !/\\r\\n|\\n/.test(self.buffer)) {\n self.flush()\n return\n }\n\n if (!alreadyCollectedLine) {\n line = collectNextLine();\n } else {\n alreadyCollectedLine = false;\n }\n\n switch (self.state) {\n case \"HEADER\":\n // 13-18 - Allow a header (metadata) under the WEBVTT line.\n if (/:/.test(line)) {\n parseHeader(line);\n } else if (!line) {\n // An empty line terminates the header and starts the body (cues).\n self.state = \"ID\";\n }\n linebyline();\n break;\n case \"NOTE\":\n // Ignore NOTE blocks.\n if (!line) {\n self.state = \"ID\";\n }\n linebyline();\n break;\n case \"ID\":\n // Check for the start of NOTE blocks.\n if (/^NOTE($|[ \\t])/.test(line)) {\n self.state = \"NOTE\";\n linebyline();\n break;\n }\n // 19-29 - Allow any number of line terminators, then initialize new cue values.\n if (!line) {\n linebyline();\n break;\n }\n self.cue = new (self.VTTCue || self.window.VTTCue)(0, 0, \"\");\n self.state = \"CUE\";\n // 30-39 - Check if self line contains an optional identifier or timing data.\n if (line.indexOf(\"-->\") === -1) {\n self.cue.id = line;\n linebyline();\n break;\n }\n // Process line as start of a cue.\n /*falls through*/\n case \"CUE\":\n // 40 - Collect cue timings and settings.\n\n parseCue(line, self.cue, self.regionList, function successCb() {\n\n self.state = \"CUETEXT\";\n\n linebyline();\n\n }, function errCb(err) {\n\n self.reportOrThrowError(err);\n\n // In case of an error ignore rest of the cue.\n self.cue = null;\n self.state = \"BADCUE\";\n\n linebyline();\n\n });\n\n break;\n case \"CUETEXT\":\n var hasSubstring = line.indexOf(\"-->\") !== -1;\n // 34 - If we have an empty line then report the cue.\n // 35 - If we have the special substring '-->' then report the cue,\n // but do not collect the line as we need to process the current\n // one as a new cue.\n if (!line || hasSubstring && (alreadyCollectedLine = true)) {\n // We are done parsing self cue.\n self.oncue && self.oncue(self.cue);\n self.cue = null;\n self.state = \"ID\";\n linebyline();\n break;\n }\n if (self.cue.text) {\n self.cue.text += \"\\n\";\n }\n self.cue.text += line;\n linebyline();\n break;\n case \"BADCUE\":\n // BADCUE\n // 54-62 - Collect and discard the remaining cue.\n if (!line) {\n self.state = \"ID\";\n }\n linebyline();\n break;\n }\n };\n\n var STACK_LIMIT = 1000;\n\n var count = 0\n\n function unwrapStack(fn) {\n return function() {\n count++\n if (count < STACK_LIMIT) return fn()\n setTimeout(function() {\n count = 0\n fn()\n })\n }\n }\n\n var linebyline = unwrapStack(lineparse)\n\n linebyline();\n\n return this;\n },\n flush: function () {\n var self = this;\n try {\n // Finish decoding the stream.\n self.buffer += self.decoder.decode();\n // Synthesize the end of the current cue or region.\n if (self.cue || self.state === \"HEADER\") {\n self.buffer += \"\\n\\n\";\n self.parse();\n }\n // If we've flushed, parsed, and we're still on the INITIAL state then\n // that means we don't have enough of the stream to parse the first\n // line.\n if (self.state === \"INITIAL\") {\n throw new ParsingError(ParsingError.Errors.BadSignature);\n }\n } catch(e) {\n self.reportOrThrowError(e);\n }\n self.onflush && self.onflush();\n return this;\n }\n };\n\n global.WebVTT = WebVTT;\n\n}(this));\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// If we're in Node.js then require VTTCue so we can extend it, otherwise assume\n// VTTCue is on the global.\nif (typeof module !== \"undefined\" && module.exports) {\n this.VTTCue = this.VTTCue || require(\"./vttcue\").VTTCue;\n}\n\n// Extend VTTCue with methods to convert to JSON, from JSON, and construct a\n// VTTCue from an options object. The primary purpose of this is for use in the\n// vtt.js test suite (for testing only properties that we care about). It's also\n// useful if you need to work with VTTCues in JSON format.\n(function(root) {\n\n root.VTTCue.prototype.toJSON = function() {\n var cue = {},\n self = this;\n // Filter out getCueAsHTML as it's a function and hasBeenReset and displayState as\n // they're only used when running the processing model algorithm.\n Object.keys(this).forEach(function(key) {\n if (key !== \"getCueAsHTML\" && key !== \"hasBeenReset\" && key !== \"displayState\") {\n cue[key] = self[key];\n }\n });\n return cue;\n };\n\n root.VTTCue.create = function(options) {\n if (!options.hasOwnProperty(\"startTime\") || !options.hasOwnProperty(\"endTime\") ||\n !options.hasOwnProperty(\"text\")) {\n throw new Error(\"You must at least have start time, end time, and text.\");\n }\n var cue = new root.VTTCue(options.startTime, options.endTime, options.text);\n for (var key in options) {\n if (cue.hasOwnProperty(key)) {\n cue[key] = options[key];\n }\n }\n return cue;\n };\n\n root.VTTCue.fromJSON = function(json) {\n return this.create(JSON.parse(json));\n };\n\n}(this));\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root) {\n\n var autoKeyword = \"auto\";\n var directionSetting = {\n \"\": true,\n \"lr\": true,\n \"rl\": true\n };\n var alignSetting = {\n \"start\": true,\n \"middle\": true,\n \"end\": true,\n \"left\": true,\n \"right\": true\n };\n\n function findDirectionSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var dir = directionSetting[value.toLowerCase()];\n return dir ? value.toLowerCase() : false;\n }\n\n function findAlignSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var align = alignSetting[value.toLowerCase()];\n return align ? value.toLowerCase() : false;\n }\n\n function extend(obj) {\n var i = 1;\n for (; i < arguments.length; i++) {\n var cobj = arguments[i];\n for (var p in cobj) {\n obj[p] = cobj[p];\n }\n }\n\n return obj;\n }\n\n function VTTCue(startTime, endTime, text) {\n var cue = this;\n var isIE8 = (/MSIE\\s8\\.0/).test(navigator.userAgent);\n var baseObj = {};\n\n if (isIE8) {\n cue = document.createElement('custom');\n } else {\n baseObj.enumerable = true;\n }\n\n /**\n * Shim implementation specific properties. These properties are not in\n * the spec.\n */\n\n // Lets us know when the VTTCue's data has changed in such a way that we need\n // to recompute its display state. This lets us compute its display state\n // lazily.\n cue.hasBeenReset = false;\n\n /**\n * VTTCue and TextTrackCue properties\n * http://dev.w3.org/html5/webvtt/#vttcue-interface\n */\n\n var _id = \"\";\n var _pauseOnExit = false;\n var _startTime = startTime;\n var _endTime = endTime;\n var _text = text;\n var _region = null;\n var _vertical = \"\";\n var _snapToLines = true;\n var _line = \"auto\";\n var _lineAlign = \"start\";\n var _position = 50;\n var _positionAlign = \"middle\";\n var _size = 50;\n var _align = \"middle\";\n\n Object.defineProperty(cue,\n \"id\", extend({}, baseObj, {\n get: function() {\n return _id;\n },\n set: function(value) {\n _id = \"\" + value;\n }\n }));\n\n Object.defineProperty(cue,\n \"pauseOnExit\", extend({}, baseObj, {\n get: function() {\n return _pauseOnExit;\n },\n set: function(value) {\n _pauseOnExit = !!value;\n }\n }));\n\n Object.defineProperty(cue,\n \"startTime\", extend({}, baseObj, {\n get: function() {\n return _startTime;\n },\n set: function(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"Start time must be set to a number.\");\n }\n _startTime = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"endTime\", extend({}, baseObj, {\n get: function() {\n return _endTime;\n },\n set: function(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"End time must be set to a number.\");\n }\n _endTime = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"text\", extend({}, baseObj, {\n get: function() {\n return _text;\n },\n set: function(value) {\n _text = \"\" + value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"region\", extend({}, baseObj, {\n get: function() {\n return _region;\n },\n set: function(value) {\n _region = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"vertical\", extend({}, baseObj, {\n get: function() {\n return _vertical;\n },\n set: function(value) {\n var setting = findDirectionSetting(value);\n // Have to check for false because the setting an be an empty string.\n if (setting === false) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _vertical = setting;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"snapToLines\", extend({}, baseObj, {\n get: function() {\n return _snapToLines;\n },\n set: function(value) {\n _snapToLines = !!value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"line\", extend({}, baseObj, {\n get: function() {\n return _line;\n },\n set: function(value) {\n if (typeof value !== \"number\" && value !== autoKeyword) {\n throw new SyntaxError(\"An invalid number or illegal string was specified.\");\n }\n _line = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"lineAlign\", extend({}, baseObj, {\n get: function() {\n return _lineAlign;\n },\n set: function(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _lineAlign = setting;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"position\", extend({}, baseObj, {\n get: function() {\n return _position;\n },\n set: function(value) {\n if (value < 0 || value > 100) {\n throw new Error(\"Position must be between 0 and 100.\");\n }\n _position = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"positionAlign\", extend({}, baseObj, {\n get: function() {\n return _positionAlign;\n },\n set: function(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _positionAlign = setting;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"size\", extend({}, baseObj, {\n get: function() {\n return _size;\n },\n set: function(value) {\n if (value < 0 || value > 100) {\n throw new Error(\"Size must be between 0 and 100.\");\n }\n _size = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"align\", extend({}, baseObj, {\n get: function() {\n return _align;\n },\n set: function(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _align = setting;\n this.hasBeenReset = true;\n }\n }));\n\n /**\n * Other <track> spec defined properties\n */\n\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#text-track-cue-display-state\n cue.displayState = undefined;\n\n if (isIE8) {\n return cue;\n }\n }\n\n /**\n * VTTCue methods\n */\n\n VTTCue.prototype.getCueAsHTML = function() {\n // Assume WebVTT.convertCueToDOMTree is on the global.\n return WebVTT.convertCueToDOMTree(window, this.text);\n };\n\n root.VTTCue = root.VTTCue || VTTCue;\n}(this));\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// If we're in Node.js then require VTTRegion so we can extend it, otherwise assume\n// VTTRegion is on the global.\nif (typeof module !== \"undefined\" && module.exports) {\n this.VTTRegion = require(\"./vttregion\").VTTRegion;\n}\n\n// Extend VTTRegion with methods to convert to JSON, from JSON, and construct a\n// VTTRegion from an options object. The primary purpose of this is for use in the\n// vtt.js test suite. It's also useful if you need to work with VTTRegions in\n// JSON format.\n(function(root) {\n\n root.VTTRegion.create = function(options) {\n var region = new root.VTTRegion();\n for (var key in options) {\n if (region.hasOwnProperty(key)) {\n region[key] = options[key];\n }\n }\n return region;\n };\n\n root.VTTRegion.fromJSON = function(json) {\n return this.create(JSON.parse(json));\n };\n\n}(this));\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root) {\n\n var scrollSetting = {\n \"\": true,\n \"up\": true\n };\n\n function findScrollSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var scroll = scrollSetting[value.toLowerCase()];\n return scroll ? value.toLowerCase() : false;\n }\n\n function isValidPercentValue(value) {\n return typeof value === \"number\" && (value >= 0 && value <= 100);\n }\n\n // VTTRegion shim http://dev.w3.org/html5/webvtt/#vttregion-interface\n function VTTRegion() {\n var _width = 100;\n var _lines = 3;\n var _regionAnchorX = 0;\n var _regionAnchorY = 100;\n var _viewportAnchorX = 0;\n var _viewportAnchorY = 100;\n var _scroll = \"\";\n\n Object.defineProperties(this, {\n \"width\": {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"Width must be between 0 and 100.\");\n }\n _width = value;\n }\n },\n \"lines\": {\n enumerable: true,\n get: function() {\n return _lines;\n },\n set: function(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"Lines must be set to a number.\");\n }\n _lines = value;\n }\n },\n \"regionAnchorY\": {\n enumerable: true,\n get: function() {\n return _regionAnchorY;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"RegionAnchorX must be between 0 and 100.\");\n }\n _regionAnchorY = value;\n }\n },\n \"regionAnchorX\": {\n enumerable: true,\n get: function() {\n return _regionAnchorX;\n },\n set: function(value) {\n if(!isValidPercentValue(value)) {\n throw new Error(\"RegionAnchorY must be between 0 and 100.\");\n }\n _regionAnchorX = value;\n }\n },\n \"viewportAnchorY\": {\n enumerable: true,\n get: function() {\n return _viewportAnchorY;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"ViewportAnchorY must be between 0 and 100.\");\n }\n _viewportAnchorY = value;\n }\n },\n \"viewportAnchorX\": {\n enumerable: true,\n get: function() {\n return _viewportAnchorX;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"ViewportAnchorX must be between 0 and 100.\");\n }\n _viewportAnchorX = value;\n }\n },\n \"scroll\": {\n enumerable: true,\n get: function() {\n return _scroll;\n },\n set: function(value) {\n var setting = findScrollSetting(value);\n // Have to check for false as an empty string is a legal value.\n if (setting === false) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _scroll = setting;\n }\n }\n });\n }\n\n root.VTTRegion = root.VTTRegion || VTTRegion;\n}(this));\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// src/Icon.tsx\nimport React from \"react\";\n\n// src/icons.json\nvar icons_default = { symbol: { viewBox: \"0 0 512 512\", paths: [{ d: \"M267.90500000000003 50.096c-2.997-2.831-7.045-4.42-11.263-4.42s-8.267 1.589-11.263 4.42L54.21 232.425c-2.969 2.858-4.634 6.719-4.634 10.742s1.665 7.884 4.634 10.742l191.169 182.329c2.996 2.832 7.045 4.421 11.263 4.421s8.266-1.589 11.263-4.421L459.074 253.90900000000002c2.969-2.858 4.634-6.719 4.634-10.742s-1.665-7.884-4.634-10.742z m60.101 202.007a10.56 10.56 0 0 0 3.461-3.724c0.82-1.49 1.25-3.148 1.25-4.831s-0.43-3.342-1.25-4.832a10.55 10.55 0 0 0-3.461-3.724L243.785 178.81a11.3 11.3 0 0 0-5.568-1.871c-2-0.127-3.999 0.273-5.778 1.156a10.77 10.77 0 0 0-4.309 3.849 10.1 10.1 0 0 0-1.589 5.422V299.729a10.1 10.1 0 0 0 1.589 5.423 10.77 10.77 0 0 0 4.309 3.848 11.4 11.4 0 0 0 5.778 1.157c2-0.127 3.926-0.774 5.568-1.872z\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] }, \"imdb-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M450.8800000000001 116.22299999999996H62.41999999999996a40.5 40.5 0 0 0-14.966 2.793 39.1 39.1 0 0 0-12.689 8.068c-3.629 3.462-6.505 7.575-8.459 12.102a35.6 35.6 0 0 0-2.929 14.275v180.17c0.025 9.867 4.148 19.326 11.463 26.303 7.317 6.98 17.234 10.9 27.58 10.93h388.46c10.34-0.03 20.26-3.95 27.58-10.93 7.31-6.977 11.44-16.436 11.46-26.303v-180.17c-0.02-9.869-4.15-19.326-11.46-26.305-7.32-6.978-17.24-10.909-27.58-10.933m18.92 217.408c0 2.367-0.48 4.715-1.43 6.911a17.8 17.8 0 0 1-4.11 5.855 18.6 18.6 0 0 1-6.14 3.917 19.8 19.8 0 0 1-7.24 1.369H62.41999999999996c-4.998-0.067-9.771-1.987-13.307-5.362s-5.551-7.928-5.622-12.69v-180.17c0.068-4.769 2.084-9.323 5.619-12.695 3.536-3.372 8.311-5.295 13.31-5.36h388.46c2.48 0 4.94 0.467 7.24 1.374a18.9 18.9 0 0 1 6.14 3.914 18.1 18.1 0 0 1 4.11 5.857 17.35 17.35 0 0 1 1.43 6.91z\", style: { fill: \"currentcolor\" } }, { d: \"M84.89599999999996 180.54700000000003h24.453v118.105h-24.453z\", style: { fill: \"currentcolor\" } }, { d: \"M182.30700000000002 260.28599999999994l-23.662-79.739h-30.764v118.105h21.3v-82.372l22.873 69.205h20.507l22.874-70.713v83.877h21.295V180.54700000000003h-30.76z\", style: { fill: \"currentcolor\" } }, { d: \"M298.255 180.54499999999996H257.24v118.105h41.015c13.055 0.905 25.956-3.151 35.887-11.284 4.47-3.952 7.958-8.806 10.21-14.206a37.4 37.4 0 0 0 2.807-17.013v-33.475a39.15 39.15 0 0 0-2.985-16.946c-2.243-5.383-5.662-10.248-10.029-14.274-10.068-7.866-22.906-11.767-35.89-10.907m24.845 76.355a18.04 18.04 0 0 1-1.37 8.203 18.85 18.85 0 0 1-4.939 6.843c-5.202 3.75-11.631 5.617-18.142 5.267h-18.14v-75.23h18.14c6.51-0.35 12.939 1.516 18.141 5.267a18.8 18.8 0 0 1 4.938 6.841 18 18 0 0 1 1.371 8.204z\", style: { fill: \"currentcolor\" } }, { d: \"M407.0999999999999 212.89199999999994c-4.68 0.048-9.24 1.494-13.02 4.137-3.22 2.242-5.79 5.216-7.49 8.651v-45.512h-23.664v118.482h23.664v-11.284c1.61 3.865 4.46 7.143 8.15 9.373 3.68 2.228 8 3.292 12.36 3.04 4.15 0.21 8.27-0.536 12.05-2.173a25.64 25.64 0 0 0 9.64-7.231c5.87-7.87 8.66-17.452 7.89-27.082v-13.541c0.82-9.634-1.97-19.233-7.89-27.081-2.53-3.163-5.82-5.701-9.6-7.401a27.2 27.2 0 0 0-12.09-2.378m6.31 50.401c0.29 4.164-0.97 8.291-3.55 11.66a11.36 11.36 0 0 1-4.55 3.354c-1.81 0.724-3.76 0.994-5.71 0.784-2.36 0.381-4.73-0.38-7.09-1.505a7.8 7.8 0 0 1-2.61-1.644 7.3 7.3 0 0 1-1.73-2.493 15.7 15.7 0 0 1-1.58-7.146v-19.183c-0.05-2.466 0.5-4.91 1.58-7.147 0.78-1.984 2.33-3.603 4.34-4.513a16.7 16.7 0 0 1 7.09-1.882c1.97-0.051 3.91 0.33 5.69 1.113s3.34 1.948 4.57 3.402c2.58 3.511 3.84 7.756 3.55 12.036z\", style: { fill: \"currentcolor\" } }] }, imdb: { viewBox: \"0 0 512 512\", paths: [{ d: \"M295.217 206.75900000000001c-1.295-0.665-3.787-0.95-7.375-0.95v74.053c4.784 0 7.774-0.856 8.871-2.567 1.096-1.711 1.694-6.274 1.694-13.784v-43.728c0-5.133-0.199-8.366-0.598-9.792a5 5 0 0 0-0.944-1.872 5.3 5.3 0 0 0-1.648-1.36\", style: { fill: \"currentcolor\" } }, { d: \"M384.41999999999996 242.977v26.713c0 5.038-0.3 8.27-0.79 9.506-0.5 1.331-3.19 1.996-4.99 1.996-1.79 0-4.282-0.76-4.88-1.996v-45.25c0.498-1.14 3.19-1.901 4.88-1.901 1.7 0 4.19 0.856 4.79 2.187 0.69 1.425 0.99 4.372 0.99 8.745\", style: { fill: \"currentcolor\" } }, { d: \"M46.53899999999999 167.68800000000002a24.1 24.1 0 0 1 1.996-9.608 25 25 0 0 1 5.704-8.144 26.4 26.4 0 0 1 8.54-5.44 27.4 27.4 0 0 1 10.073-1.904h367.988c3.45-0.005 6.87 0.642 10.07 1.901 3.19 1.26 6.1 3.109 8.54 5.44 2.45 2.332 4.38 5.1 5.71 8.146a24.3 24.3 0 0 1 1.99 9.609v150.388c0 3.297-0.68 6.562-1.99 9.609a25.1 25.1 0 0 1-5.71 8.146 26.5 26.5 0 0 1-8.54 5.44 27.4 27.4 0 0 1-10.07 1.902H72.85199999999998a27.4 27.4 0 0 1-10.073-1.904 26.4 26.4 0 0 1-8.54-5.44 25 25 0 0 1-5.704-8.145 24.1 24.1 0 0 1-1.996-9.608z m52.626 131.566h32.892V186.511h-32.892zM194.75 239.175l7.375-52.664h41.563V299.349H215.88l-0.1-76.144-11.163 76.144h-19.834l-11.662-74.528-0.1 74.528h-27.907V186.511h41.263a725 725 0 0 1 3.788 24.05z m62.095 60.079V186.511h51.33c5.547-0.01 10.871 2.074 14.812 5.796s6.176 8.781 6.219 14.072v73.007a19.1 19.1 0 0 1-1.614 7.642 19.9 19.9 0 0 1-4.568 6.465 21 21 0 0 1-6.821 4.295 21.8 21.8 0 0 1-8.028 1.466z m136.345-84.51h-2.09c-3.34-0.012-6.63 0.701-9.64 2.085a21.8 21.8 0 0 0-7.701 5.9v-36.218h-31.496v111.412h29.502l1.894-6.939a21.4 21.4 0 0 0 7.671 6.165 22.5 22.5 0 0 0 9.77 2.2h2.09c11.76 0 21.33-8.841 21.33-19.678v-45.249c0-10.932-9.47-19.678-21.33-19.678\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] }, reddit: { viewBox: \"0 0 512 512\", paths: [{ d: \"M310.32000000000016 118.852c4.55 18.419 21.9 32.139 42.62 32.139 24.18 0 43.78-18.692 43.78-41.749 0-23.056-19.6-41.748-43.78-41.748-21.15 0-38.79 14.288-42.89 33.293-35.41 3.621-63.06 32.255-63.06 66.958v0.214c-38.51 1.547-73.67 11.999-101.59 28.498-10.36-7.652-23.38-12.213-37.5-12.213-33.89 0-61.36 26.188-61.36 58.503 0 23.448 14.45 43.646 35.32 52.982 2.03 67.916 79.65 122.544 175.12 122.544 95.48 0 173.2-54.686 175.12-122.662 20.72-9.394 35.05-29.534 35.05-52.845 0-32.314-27.47-58.503-61.36-58.503-14.06 0-27.01 4.522-37.36 12.116-28.16-16.617-63.71-27.069-102.62-28.459v-0.155c0-24.858 19.38-45.488 44.51-48.874zM142.94000000000005 279.876c1.03-21.217 15.8-37.501 32.98-37.501s30.32 17.204 29.29 38.42c-1.02 21.217-13.85 28.928-31.05 28.928-17.21 0-32.25-8.631-31.22-29.847m195.13-37.501c17.2 0 31.98 16.284 32.99 37.501 1.02 21.216-14.04 29.847-31.22 29.847s-30.03-7.691-31.06-28.928c-1.02-21.216 12.09-38.42 29.29-38.42m-20.45 86.588c3.23 0.314 5.29 3.504 4.03 6.362-10.58 24.093-35.53 41.024-64.67 41.024-29.12 0-54.06-16.931-64.65-41.024-1.26-2.858 0.79-6.048 4.02-6.362 18.88-1.82 39.31-2.818 60.63-2.818 21.33 0 41.73 0.998 60.64 2.818\", style: { fill: \"currentcolor\" } }] }, x: { viewBox: \"0 0 512 512\", paths: [{ d: \"M285.28999999999996 220.538l111.31-123.575h-26.37l-96.66 107.298-77.19-107.298h-89.04l116.73 162.254-116.73 129.586h26.38l102.07-113.31 81.53 113.31h89.03L285.2800000000002 220.538z m-36.13 40.108l-11.83-16.156-94.11-128.562h40.52l75.95 103.753 11.83 16.157 98.72 134.863h-40.51l-80.57-110.049z\", style: { fill: \"currentcolor\" } }] }, facebook: { viewBox: \"0 0 512 512\", paths: [{ d: \"M338.66999999999985 187.177h-54.52V151.90900000000002c0-13.404 8.77-16.826 15.85-16.826h38.67V78.046h-54.52c-18.29-1.228-36.34 4.52-50.19 15.982s-22.36 27.699-23.67 45.143c-0.2 3.102-0.2 6.214 0 9.316v38.595h-35.18v60.364h35.18v169.496h73.86V247.541h49.24z\", style: { fill: \"currentcolor\" } }] }, youtube: { viewBox: \"0 0 512 512\", paths: [{ d: \"M476.2199999999998 153.619c0-37.264-28.71-67.21-64.29-67.21-48.14-2.186-97.18-2.946-147.32-2.946h-15.64c-50.04 0-99.18 0.856-147.22 2.947-35.38 0-64.19 30.135-64.19 67.399-2.19 29.469-3.09 58.938-3.09 88.408-0.1 29.469 0.9 59.033 2.99 88.502 0 37.264 28.71 67.494 64.19 67.494 50.54 2.282 102.36 3.232 155.09 3.137 52.83 0.19 104.52-0.855 155.09-3.137 35.48 0 64.29-30.23 64.29-67.494 2.09-29.564 3.09-59.033 2.99-88.598 0.1-29.469-0.8-58.938-2.89-88.502m-261.94 169.875V160.748l125.88 81.278z\", style: { fill: \"currentcolor\" } }] }, vlc: { viewBox: \"0 0 512 512\", paths: [{ d: \"M385.9200000000001 309.1399999999999c-7.87-23.86-7.97-23.77-33.89-22.44h-0.79c-4.79 0-7.18 1.52-5.88 6.75 1.79 7.23-1.7 12.64-7.18 17.3-7.78 6.47-17.14 10.27-26.91 13.12-29.21 8.46-59.01 8.94-88.81 4.56-16.54-2.47-32.89-6.27-46.35-16.92-4.88-3.8-8.57-8.27-8.67-14.45-0.2-10.36-0.1-10.36-11.56-10.26-2.79 0-5.48 0.28-8.27 0.09-9.07-0.66-14.06 3.23-16.65 11.6-9.67 30.61-19.93 60.93-29.8 91.45a74 74 0 0 0-3.39 15.3c-0.6 6.37 2.29 10.56 9.87 10.65 7.38 0.19 14.75 1.14 22.13 1.14 42.56 0.1 85.12 0.13 127.68 0.1 45.05 0 90 0.09 135.05-0.1 23.82-0.09 27.11-4.47 20.13-26.14-8.77-27.28-17.64-54.47-26.71-81.75\", style: { fill: \"currentcolor\" } }, { d: \"M201.4300000000003 186.50999999999976c-4.78 15.59-9.67 31.11-14.65 46.58-3.69 11.6-2.19 15.78 9.27 21.39 4.89 2.33 9.99 4.24 15.25 5.7a128.9 128.9 0 0 0 44.75 4.75c5.98 0 12.06 0.48 18.04-0.09 16.74-1.52 33.29-3.8 47.74-12.93 4.19-2.66 8.28-6.08 6.68-11.5-5.68-18.63-11.66-37.08-17.44-55.61-0.8-2.48-1.6-4.19-5.18-2.57-22.93 10.55-47.35 9.7-71.77 7.41-8.47-0.76-17.14-1.8-24.42-6.36-5.18-3.24-6.77-1.72-8.27 3.23\", style: { fill: \"currentcolor\" } }, { d: \"M284.0600000000004 121.48999999999978c5.18-1.24 6.28-4.19 4.68-8.85-2.79-8.17-4.98-16.54-7.87-24.81-5.08-14.73-7.48-16.35-23.52-16.35-17.35 0-20.74 2.38-25.72 18.16-2.39 7.79-4.68 15.59-7.28 23.29-1.49 4.37-0.19 7.22 4.39 8.37 18.13 4.47 37.15 4.54 55.32 0.19\", style: { fill: \"currentcolor\" } }] }, trakt: { viewBox: \"0 0 512 512\", paths: [{ d: \"M116.10999999999967 367.319c27.46 28.386 63.63 47.763 103.34 55.361s80.91 3.027 117.73-13.058l-132.86-126.433z\", style: { fill: \"currentcolor\" } }, { d: \"M203.6199999999999 206.665l-100.67 95.728-13.45-12.834 105.95-101.051 123.69-117.971c-38.8-12.603-80.81-13.015-119.88-1.176s-73.12 35.306-97.18 66.958-36.85 69.825-36.49 108.919c0.35 39.092 13.83 77.047 38.46 108.298l100.37-95.727 6.88 6.274 143.72 137.079a57.6 57.6 0 0 0 8.17-5.038l-158.87-151.529-96.38 91.925-13.46-12.833 109.84-104.759 6.88 6.274 167.74 159.704c2.59-1.901 4.89-4.087 7.28-5.988l-180.9-172.538z\", style: { fill: \"currentcolor\" } }, { d: \"M399.6700000000001 366.085c20.08-21.212 34.65-46.619 42.55-74.18a174.36 174.36 0 0 0 2.98-84.509c-5.96-28.003-18.71-54.285-37.24-76.733-18.54-22.449-42.33-40.437-69.48-52.52L217.76999999999953 192.977z m-135.55-139.931l-13.45-12.834 95.08-90.689 13.46 12.834z m90.2-124.531l-109.54 104.473-13.45-12.834L340.8699999999999 88.79z\", style: { fill: \"currentcolor\" } }] }, \"in-cinema\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M457.5799999999999 186.607l-37.87-36.124c-3.04-2.847-7.09-4.511-11.34-4.67-4.26-0.158-8.43 1.203-11.68 3.815-5.04 4.119-11.52 6.276-18.14 6.039s-12.91-2.849-17.61-7.314c-4.69-4.466-7.45-10.458-7.71-16.776-0.27-6.319 1.97-12.502 6.28-17.312 2.74-3.113 4.16-7.085 3.99-11.145-0.16-4.06-1.91-7.914-4.89-10.814l-37.67-36.124a17.1 17.1 0 0 0-5.54-3.534 17.7 17.7 0 0 0-6.53-1.242c-2.24 0-4.45 0.422-6.52 1.242-2.08 0.82-3.95 2.02-5.54 3.534l-60.3 57.512c-3.69 3.528-6.49 7.822-8.17 12.549a6.4 6.4 0 0 1-1.6 2.46 6.9 6.9 0 0 1-2.59 1.532 33.35 33.35 0 0 0-13.15 7.89l-154.69 147.537a16.2 16.2 0 0 0-3.71 5.275 15.57 15.57 0 0 0 0 12.455 16.2 16.2 0 0 0 3.71 5.275l37.48 36.123c3.04 2.847 7.08 4.513 11.34 4.67 4.25 0.159 8.42-1.201 11.68-3.814a26.5 26.5 0 0 1 8.54-5.503 27.5 27.5 0 0 1 10.1-1.96c3.46-0.013 6.89 0.626 10.1 1.881a26.5 26.5 0 0 1 8.59 5.435 25.2 25.2 0 0 1 5.75 8.158 24.1 24.1 0 0 1 2.02 9.635c0 3.308-0.68 6.584-2 9.64a25.2 25.2 0 0 1-5.72 8.172c-2.74 3.112-4.17 7.086-4 11.145s1.91 7.915 4.89 10.814l37.78 36.028a17.1 17.1 0 0 0 5.53 3.535 17.805 17.805 0 0 0 13.06 0c2.07-0.82 3.94-2.02 5.53-3.535l154.69-147.536c3.73-3.524 6.56-7.817 8.27-12.548 0.33-0.927 0.88-1.769 1.61-2.459a6.8 6.8 0 0 1 2.58-1.533c4.95-1.601 9.46-4.268 13.15-7.795l60.3-57.513c3.16-3.088 4.94-7.233 4.94-11.55s-1.78-8.462-4.94-11.55m-195.95-24.241a13.8 13.8 0 0 1-4.45 2.85 14.3 14.3 0 0 1-5.27 1.001c-1.8 0-3.59-0.34-5.26-1.001a13.8 13.8 0 0 1-4.45-2.85l-9.87-9.411c-2.68-2.338-4.29-5.594-4.46-9.057-0.18-3.462 1.09-6.849 3.53-9.422 2.43-2.573 5.83-4.124 9.47-4.312 3.63-0.189 7.19 0.998 9.9 3.303 0.36 0.293 0.68 0.611 0.99 0.951l9.87 9.411a13.2 13.2 0 0 1 2.99 4.249 12.52 12.52 0 0 1 0 10.038 13.2 13.2 0 0 1-2.99 4.25m37.78 35.934a13.8 13.8 0 0 1-4.46 2.849c-1.66 0.66-3.46 1.001-5.26 1.001-1.81 0-3.6-0.341-5.26-1.001a13.8 13.8 0 0 1-4.46-2.849l-9.37-8.936c-2.36-2.498-3.63-5.766-3.54-9.128s1.54-6.564 4.03-8.943 5.85-3.753 9.38-3.839c3.52-0.087 6.95 1.121 9.57 3.373l9.37 8.936c2.54 2.475 3.96 5.803 3.96 9.268s-1.42 6.793-3.96 9.269m37.97 36.028a13.8 13.8 0 0 1-4.45 2.85 14.3 14.3 0 0 1-5.27 1.001c-1.8 0-3.59-0.34-5.26-1.001a13.8 13.8 0 0 1-4.45-2.85l-9.37-8.936c-2.69-2.338-4.29-5.594-4.46-9.056-0.18-3.462 1.09-6.85 3.53-9.423 2.43-2.573 5.83-4.124 9.47-4.312 3.63-0.189 7.18 0.998 9.9 3.304q0.525 0.439 0.99 0.95l9.37 9.031c2.53 2.46 3.96 5.771 3.96 9.221s-1.43 6.762-3.96 9.221m38.08 36.409a14 14 0 0 1-4.46 2.85 14.346 14.346 0 0 1-10.53 0 13.9 13.9 0 0 1-4.45-2.85l-9.87-9.411a13.2 13.2 0 0 1-3.09-4.18 12.6 12.6 0 0 1-1.18-4.99c-0.04-1.722 0.27-3.435 0.91-5.042a13.1 13.1 0 0 1 2.86-4.325 13.7 13.7 0 0 1 4.39-2.95c1.64-0.7 3.43-1.083 5.23-1.127 1.81-0.044 3.6 0.251 5.28 0.869 1.69 0.618 3.23 1.547 4.54 2.732l0.5 0.476 9.87 9.411a13.3 13.3 0 0 1 2.99 4.249 12.6 12.6 0 0 1 0 10.038 13.4 13.4 0 0 1-2.99 4.25\", style: { fill: \"currentcolor\" } }] }, remote: { viewBox: \"0 0 512 512\", paths: [{ d: \"M293.6199999999999 113.22a28.3 28.3 0 0 0-9.4-6.258 29.6 29.6 0 0 0-11.23-2.202c-4.03-0.091-8.03 0.614-11.75 2.069a29.3 29.3 0 0 0-9.88 6.391l-20.64 19.678-176.91 168.64a28.35 28.35 0 0 0-7.82 7.852 26.9 26.9 0 0 0-4.08 10.113c-0.65 3.593-0.55 7.274 0.3 10.83a27 27 0 0 0 4.62 9.895 25.4 25.4 0 0 0 2.99 3.423q45.75 44.916 91.5 87.076c5.05 4.961 11.96 7.806 19.22 7.913 7.24 0.107 14.24-2.534 19.45-7.342l1.5-1.426c5.88-4.658 10.76-10.267 16.74-15.02l181.7-173.393c15.75-15.02 16.75-29.944 2-43.158-28.41-28.899-57.91-57.037-88.31-85.081m-178.71 231.286c-2.59 0.227-5.21-0.035-7.7-0.772a20 20 0 0 1-6.78-3.524 19 19 0 0 1-4.87-5.739 18.3 18.3 0 0 1-2.18-7.076c-0.08-0.822-0.11-1.647-0.1-2.472-0.17-2.549 0.19-5.105 1.07-7.521a19 19 0 0 1 4.01-6.552 20.3 20.3 0 0 1 6.35-4.571 21 21 0 0 1 7.71-1.889h1.49c2.53-0.292 5.09-0.105 7.55 0.55 2.44 0.655 4.73 1.765 6.73 3.266a18.7 18.7 0 0 1 4.92 5.483 18 18 0 0 1 2.33 6.862c0.13 1.167 0.17 2.344 0.1 3.517 0.31 2.41 0.11 4.855-0.57 7.193a18.1 18.1 0 0 1-3.43 6.433 19.1 19.1 0 0 1-5.75 4.686 19.9 19.9 0 0 1-7.19 2.221c-1.3 0-2.5 0-3.69-0.095m47.14 45.915c-3.92 0.166-7.79-0.78-11.14-2.721-3.35-1.939-6.02-4.784-7.68-8.174a18.5 18.5 0 0 1-1.81-7.167c-0.02-0.825 0.01-1.651 0.1-2.471-0.41-4.813 1.2-9.584 4.46-13.271 3.27-3.687 7.94-5.991 12.98-6.407 1.06-0.095 2.13-0.095 3.19 0a21.3 21.3 0 0 1 7.83 1.386c2.48 0.948 4.74 2.353 6.66 4.136a19.5 19.5 0 0 1 4.5 6.257 18.5 18.5 0 0 1 1.64 7.423v1.426c0.29 4.94-1.49 9.786-4.95 13.474-3.46 3.69-8.3 5.92-13.49 6.204-0.75-0.076-1.52-0.107-2.29-0.095m0-90.879c-3.92 0.166-7.79-0.781-11.14-2.721s-6.02-4.784-7.68-8.174a18.5 18.5 0 0 1-1.81-7.167c-0.02-0.825 0.01-1.651 0.1-2.471-0.16-5.572 2.01-10.975 6.03-15.022 4.02-4.046 9.56-6.405 15.4-6.558h0.1c5.58 0.353 10.78 2.806 14.46 6.816 3.68 4.011 5.54 9.254 5.17 14.573v0.191c0.17 2.546-0.18 5.101-1.04 7.518a19.15 19.15 0 0 1-3.99 6.563 20.2 20.2 0 0 1-6.32 4.604 21.1 21.1 0 0 1-7.68 1.943 8.6 8.6 0 0 1-1.6-0.095m47.15 44.964c-5.19 0.267-10.26-1.433-14.13-4.73-3.86-3.296-6.21-7.919-6.51-12.856v-1.997c0.1-5.305 2.41-10.356 6.4-14.045 4-3.688 9.37-5.714 14.93-5.632h0.3c5.56 0.003 10.92 2.049 14.94 5.713 4.03 3.663 6.42 8.663 6.69 13.964a19.8 19.8 0 0 1-1.84 7.732 20.4 20.4 0 0 1-4.83 6.459 21.4 21.4 0 0 1-7.05 4.197 22.2 22.2 0 0 1-8.21 1.29 2 2 0 0 0-0.69-0.095m55.81-59.889c-12.14-0.095-23.97-3.618-34.02-10.127-10.03-6.508-17.83-15.709-22.38-26.438-4.56-10.731-5.68-22.509-3.22-33.846 2.45-11.338 8.38-21.727 17.02-29.854 8.65-8.126 19.63-13.626 31.55-15.804s24.26-0.937 35.44 3.567 20.71 12.069 27.39 21.738 10.2 21.009 10.12 32.586c0.02 7.616-1.55 15.16-4.59 22.2-3.04 7.041-7.51 13.442-13.14 18.836a61.1 61.1 0 0 1-19.71 12.6 63.3 63.3 0 0 1-23.26 4.447h-1.2z m167.95-189.173c-8.91-12.871-20.46-23.898-33.93-32.424-13.48-8.525-28.62-14.374-44.51-17.199-15.75-0.95-22.63 3.708-23.53 12.168 0 10.267 6.88 14.07 15.75 15.02 9.78 1.126 19.18 4.308 27.51 9.316 13.14 6.781 24.53 16.26 33.35 27.751 8.82 11.492 14.86 24.708 17.68 38.698-0.05 3.916 1.53 7.694 4.38 10.509 2.86 2.814 6.77 4.435 10.87 4.51h0.4c8.87 0 13.76-6.559 13.76-16.826-1.53-18.895-9.11-36.885-21.73-51.523m-93.19-3.803c-7.98 0-14.76 2.852-15.75 11.218-0.91 3.251-0.43 6.712 1.32 9.63 1.76 2.919 4.65 5.061 8.05 5.96 0.8 0.226 1.64 0.354 2.49 0.38 10.64 1.5 20.5 6.23 28.11 13.488 7.62 7.259 12.57 16.663 14.15 26.818 0.43 3.655 2.35 6.999 5.36 9.297 3.01 2.3 6.85 3.367 10.69 2.966 0.19 0 0.49-0.095 0.69-0.095 3.38-0.258 6.52-1.784 8.72-4.242 2.21-2.46 3.3-5.651 3.04-8.876-1.42-16.735-8.86-32.489-21.04-44.609s-28.36-19.867-45.83-21.935m-73.66 103.048c-4.19-0.192-8.38 0.405-12.33 1.76a32.4 32.4 0 0 0-10.68 6.131 30.5 30.5 0 0 0-7.39 9.564 29.1 29.1 0 0 0-2.99 11.538v2.852c-0.57 7.863 2.15 15.62 7.57 21.571 5.43 5.952 13.09 9.612 21.33 10.18 1.2 0.095 2.3 0.095 3.49 0.095 4.19 0.203 8.38-0.383 12.33-1.725a32.3 32.3 0 0 0 10.71-6.1 30.5 30.5 0 0 0 7.42-9.544 29.5 29.5 0 0 0 3.03-11.53c0.1-0.98 0.1-1.967 0-2.947 0.43-8.011-2.49-15.859-8.11-21.826s-13.49-9.569-21.89-10.019z\", style: { fill: \"currentcolor\" } }] }, link: { viewBox: \"0 0 512 512\", paths: [{ d: \"M472.9499999999998 95.53699999999992c-15.77-37.236-54.03-60.934-96.23-60.181-23.95-1.123-47.46 6.397-65.86 21.063-13.01 10.156-24.45 21.816-36.67 32.724-13.02 12.036-25.63 24.073-38.65 36.109-2.91 2.651-4.92 6.079-5.77 9.836s-0.48 7.668 1.03 11.228c1.14 3.277 3.29 6.149 6.18 8.232s6.37 3.278 9.99 3.428c7.5 0.38 14.59-3.009 19.73-8.651l62.7-58.677c25.24-24.448 66.25-24.824 92.28-1.504 11.79 11.186 18.46 26.375 18.53 42.238s-6.45 31.107-18.14 42.392a8.3 8.3 0 0 1-1.97 1.505c-29.17 27.833-58.36 54.915-87.54 82.373-4.79 4.17-9.94 7.944-15.39 11.284-13.58 6.967-29.29 9.129-44.38 6.099-15.08-3.029-28.56-11.052-38.04-22.648-2.58-4.226-6.68-7.424-11.52-9.011a22.35 22.35 0 0 0-14.9 0.36c-13.41 5.266-15.78 18.807-5.13 31.971 36.29 43.634 102.94 50.779 148.67 16.174 2.38-1.88 4.74-4.137 7.11-6.394 30.36-27.834 60.73-56.045 90.7-84.631 14.43-13.429 24.35-30.649 28.5-49.469 4.14-18.82 2.32-38.392-5.23-56.223m-224.39 241.1c-21.3 19.559-42.6 39.49-63.5 59.425-12.08 11.732-28.5 18.502-45.74 18.852s-33.94-5.74-46.54-16.97c-5.91-5.485-10.62-12.044-13.86-19.279a57 57 0 0 1-5.03-22.879 57.2 57.2 0 0 1 4.6-22.962c3.11-7.29 7.69-13.92 13.5-19.508l2.37-2.257c28.78-27.081 57.96-54.163 86.76-81.245a69 69 0 0 1 16.17-11.66c13.48-6.783 29.01-8.917 43.96-6.038s28.4 10.592 38.06 21.836a19 19 0 0 0 5.42 5.181c2.15 1.363 4.56 2.3 7.1 2.756 2.54 0.457 5.15 0.421 7.68-0.101 2.52-0.524 4.9-1.526 7.01-2.946 2.17-1.4 4.01-3.194 5.45-5.278 1.42-2.086 2.4-4.42 2.88-6.869s0.44-4.964-0.11-7.399a18.4 18.4 0 0 0-3.09-6.787c-0.39-0.752-1.18-1.504-1.58-2.256-17.87-20.644-43.58-33.697-71.52-36.305-27.94-2.609-55.82 5.441-77.55 22.388a41 41 0 0 0-4.33 3.385c-31.95 28.962-63.1 58.3-94.26 88.015-14.08 13.498-23.59 30.71-27.32 49.414s-1.48 38.046 6.42 55.528c7.86 17.946 21.21 33.216 38.3 43.816 17.1 10.6 37.15 16.04 57.53 15.62 25 1.04 49.45-7.18 68.23-22.95 24.85-21.82 48.51-45.137 72.56-67.705 3.03-2.586 5.08-6.038 5.87-9.839 0.79-3.8 0.25-7.742-1.53-11.226-2.34-4.551-6.46-8.045-11.48-9.733a21.25 21.25 0 0 0-15.34 0.702 17.6 17.6 0 0 0-7.49 5.267z\", style: { fill: \"currentcolor\" } }] }, \"magnet-link\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M410.6300000000001 271.212c24.65-23.981 38.39-56.273 38.22-89.858-0.18-33.583-14.25-65.745-39.15-89.492-24.89-23.748-58.62-37.163-93.83-37.33-35.21-0.165-69.07 12.93-94.21 36.443\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M347.6399999999994 211.131c8.35-7.967 13.05-18.773 13.05-30.039 0-11.268-4.7-22.073-13.05-30.04s-19.69-12.443-31.5-12.443-23.14 4.476-31.49 12.443\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M190.2599999999993 421.885v-43.729\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M102.94999999999982 384.524l31.49-30.04\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M68.15999999999985 290.793h45.85\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M284.75 151.055l-104.96 100.1c-5.57 5.296-13.11 8.27-20.98 8.27-7.86 0-15.41-2.974-20.98-8.27l-21.13-19.963c-5.55-5.313-8.67-12.509-8.67-20.011s3.12-14.697 8.67-20.01l105.06-100.1\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M410.6300000000001 271.212l-104.95 100.195c-5.57 5.296-13.12 8.271-20.98 8.271-7.87 0-15.41-2.975-20.98-8.271l-20.93-20.058c-5.56-5.313-8.68-12.509-8.68-20.01 0-7.503 3.12-14.699 8.68-20.011l104.95-100.195\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M148.79999999999927 161.605l62.99 60.08\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M274.77999999999975 281.762l62.99 60.079\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"31.764\", fill: \"none\" } }] }, help: { viewBox: \"0 0 512 512\", paths: [{ d: \"M156.8699999999999 417.131c98.28 54.09 223.86 21.959 280.57-71.677 56.72-93.731 23.03-213.509-75.15-267.599-98.27-54.09-223.86-21.96-280.57 71.677-56.71 93.731-23.13 213.509 75.15 267.599\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M225.34000000000015 304.102c14.72 8.107 32.07 10.702 48.68 7.283s31.3-12.609 41.2-25.783c9.9-13.173 14.31-29.387 12.37-45.489-1.95-16.101-10.09-30.94-22.87-41.627s-29.26-16.461-46.26-16.198c-16.99 0.264-33.26 6.546-45.67 17.624-12.4 11.079-20.05 26.162-21.43 42.315-1.39 16.154 3.57 32.223 13.91 45.082 5.47 6.8 12.29 12.507 20.07 16.793\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M321.02999999999975 60.459l-46.95 119.588\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M313.64999999999964 201.816l85.12-98.58\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M120.48999999999978 391.749l85.12-98.579\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M245.1800000000003 314.941l-46.95 119.588\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M455.6800000000003 306.098l-125.38-44.774\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M307.47000000000025 298.971l103.46 81.088\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M108.32999999999993 114.836l103.36 81.183\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M188.85999999999967 233.662l-125.38-44.869\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }] }, \"search-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M222.058 60.83999999999992c-38.838 0.02-76.281 13.81-105.046 38.7s-46.797 59.09-50.587 95.96c-3.791 36.86 6.93 73.76 30.077 103.5 23.147 29.75 57.066 50.21 95.16 57.43 38.094 7.21 77.64 0.66 110.947-18.4 33.307-19.05 57.993-49.23 69.259-84.68s8.304-73.63-8.309-107.11c-16.612-33.48-45.688-59.87-81.57-74.05-19.001-7.5-39.366-11.36-59.931-11.35Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M338.871 321.5999999999999l109.338 104.28\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }] }, search: { viewBox: \"0 0 512 512\", paths: [{ d: \"M456.882 415.7999999999997l-93.791-89.45c22.605-28.67 34.784-63.57 34.686-99.44 0-91.54-78.142-166.07-174.125-166.07s-174.125 74.53-174.125 166.17c0 91.54 78.142 166.07 174.125 166.07 37.586 0 74.161-11.61 104.256-33.08l93.79 89.45c3.535 3.04 7.91 5.05 12.604 5.79 4.696 0.74 9.515 0.18 13.887-1.61 4.374-1.79 8.117-4.74 10.788-8.49 2.671-3.76 4.157-8.17 4.284-12.7 0.108-6.11-2.165-12.04-6.379-16.64m-357.62-188.79c-0.01-29.43 11.453-57.8 32.162-79.61 20.709-21.82 49.183-35.49 79.884-38.39 30.7-2.9 61.433 5.2 86.221 22.72 24.787 17.52 41.858 43.2 47.891 72.05 6.034 28.86 0.598 58.83-15.249 84.07s-40.972 43.96-70.489 52.53c-29.518 8.55-61.317 6.33-89.213-6.24s-49.895-34.57-61.718-61.75c-6.258-14.38-9.483-29.81-9.488-45.38\", style: { fill: \"currentcolor\" } }] }, \"home-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M88.29899999999998 217.5v198.3c0.012 1.9 0.417 3.77 1.192 5.51 0.773 1.75 1.903 3.32 3.32 4.66a15.3 15.3 0 0 0 4.939 3.07 15.7 15.7 0 0 0 5.798 1.02h91.498v-121.2c0.066-5.72 2.504-11.18 6.782-15.19s10.047-6.24 16.043-6.2h76.248c2.972-0.03 5.92 0.5 8.676 1.57a22.8 22.8 0 0 1 7.384 4.61 21.5 21.5 0 0 1 4.969 6.97 20.7 20.7 0 0 1 1.796 8.24v121.2h91.496c1.99 0.02 3.96-0.32 5.8-1.03a15.4 15.4 0 0 0 4.94-3.07 14.6 14.6 0 0 0 3.32-4.65c0.77-1.74 1.18-3.61 1.19-5.51v-198.3\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M476.4200000000001 257.04999999999995l-209.709-196.68c-2.963-2.49-6.772-3.85-10.715-3.85s-7.751 1.36-10.714 3.85l-209.509 196.68\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, home: { viewBox: \"0 0 512 512\", paths: [{ d: \"M261.22900000000004 94.11000000000013c-1.482-1.37-3.466-2.14-5.531-2.14s-4.05 0.77-5.532 2.14l-184.192 167.78a7.6 7.6 0 0 0-1.845 2.51 7.3 7.3 0 0 0-0.647 3.01v157.52c0.008 8.08 3.381 15.84 9.379 21.56 6 5.73 14.133 8.94 22.616 8.95h96.182c4.256 0 8.338-1.62 11.347-4.49 3.01-2.86 4.7-6.76 4.7-10.82v-129.75c0.006-2.02 0.848-3.95 2.342-5.38 1.495-1.42 3.519-2.22 5.632-2.23h80.036c2.113 0.01 4.137 0.81 5.631 2.23 1.494 1.43 2.336 3.36 2.342 5.38v129.75c-0.002 2.02 0.411 4.01 1.216 5.86a15.2 15.2 0 0 0 3.479 4.97 16 16 0 0 0 5.209 3.32c1.947 0.77 4.035 1.16 6.143 1.16h96.084c8.48-0.01 16.61-3.22 22.61-8.95 6-5.72 9.37-13.48 9.38-21.56v-157.52c0-1.04-0.22-2.06-0.64-3.01a7.6 7.6 0 0 0-1.85-2.51z\", style: { fill: \"currentcolor\" } }, { d: \"M490.77 230.42999999999984l-74.85-68.26a923 923 0 0 0-80.036-73.1l-57.908-52.85c-5.967-5.4-13.905-8.37-22.127-8.27-4.082-0.12-8.145 0.57-11.947 1.98a30.5 30.5 0 0 0-10.18 6.29L20.923999999999978 230.42999999999984c-3.034 2.74-4.858 6.47-5.098 10.44-0.241 3.98 1.12 7.9 3.803 10.95a16 16 0 0 0 4.921 3.64 16.4 16.4 0 0 0 6.011 1.57c2.092 0.14 4.193-0.11 6.182-0.75 1.99-0.63 3.828-1.63 5.411-2.94l0.598-0.57 207.615-189.18a8.2 8.2 0 0 1 5.532-2.13c2.065 0 4.049 0.77 5.531 2.13l207.61 189.18c3.07 2.78 7.16 4.3 11.4 4.23 4.23-0.07 8.27-1.73 11.23-4.61 2.88-3.05 4.39-7.06 4.22-11.15-0.17-4.11-2-7.98-5.12-10.81\", style: { fill: \"currentcolor\" } }] }, \"discover-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M448.21000000000004 243.3599999999999c0-100.76-85.72-182.52-191.37-182.52s-191.37 81.76-191.37 182.52c0 100.77 85.72 182.52 191.37 182.52s191.37-81.75 191.37-182.52Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M351.23 143.45000000000005l-116.82 44.59c-8.04 3.04-15.33 7.64-21.42 13.49-6.08 5.86-10.89 12.81-14.16 20.44l-46.74 111.42c-0.59 1.38-0.72 2.9-0.4 4.37 0.35 1.46 1.1 2.81 2.19 3.9a8 8 0 0 0 4.09 2.09c1.53 0.3 3.13 0.17 4.58-0.38l116.82-44.59c8.04-3.04 15.34-7.64 21.43-13.5 6.08-5.86 10.88-12.8 14.15-20.43l46.74-111.42c0.59-1.38 0.73-2.91 0.4-4.37a8.2 8.2 0 0 0-2.19-3.9 8.3 8.3 0 0 0-4.07-2.09c-1.54-0.3-3.14-0.17-4.6 0.38m-94.39 122.73c-4.71 0.01-9.33-1.31-13.26-3.81-3.95-2.49-7.01-6.07-8.77-10.26-1.8-4.18-2.28-8.78-1.39-13.22 0.9-4.44 3.2-8.51 6.58-11.69 2.22-2.12 4.85-3.8 7.75-4.96 2.9-1.15 6.01-1.74 9.15-1.75 3.15 0 6.26 0.59 9.16 1.73 2.91 1.14 5.55 2.81 7.77 4.93 2.23 2.12 3.99 4.63 5.21 7.4 1.2 2.77 1.82 5.73 1.83 8.73 0 3-0.62 5.97-1.81 8.73a22.6 22.6 0 0 1-5.18 7.42c-4.52 4.3-10.65 6.73-17.04 6.75\", style: { fill: \"currentcolor\" } }] }, discover: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.8399999999999 266.1700000000001c5.55 0.02 10.93-1.81 15.23-5.15 4.31-3.36 7.26-8.02 8.34-13.22 1.1-5.19 0.27-10.58-2.33-15.24-2.61-4.68-6.84-8.35-11.96-10.37a25.05 25.05 0 0 0-16.15-0.78c-5.31 1.53-9.9 4.77-12.99 9.17-3.09 4.39-4.48 9.68-3.94 14.95s2.98 10.19 6.91 13.94c4.48 4.28 10.55 6.68 16.89 6.7\", style: { fill: \"currentcolor\" } }, { d: \"M256.8399999999999 45.63000000000011c-114.32 0-207.32 88.69-207.32 197.73 0 109.03 93 197.72 207.32 197.72s207.32-88.69 207.32-197.72c0-109.04-93-197.73-207.32-197.73m104.75 107.8l-46.74 111.41c-3.19 7.67-8.01 14.63-14.15 20.44-6.14 5.8-13.43 10.38-21.43 13.5l-116.82 44.58c-1.45 0.56-3.05 0.69-4.58 0.38a8.8 8.8 0 0 1-4.09-2.09 7.3 7.3 0 0 1-2.19-3.9 7.3 7.3 0 0 1 0.4-4.37l46.74-111.41c3.19-7.67 8.02-14.63 14.16-20.44 6.14-5.8 13.42-10.38 21.42-13.5l116.82-44.58c1.45-0.56 3.05-0.69 4.58-0.38 1.54 0.33 2.95 1.05 4.09 2.09a7.3 7.3 0 0 1 2.19 3.89c0.32 1.47 0.18 2.99-0.4 4.38\", style: { fill: \"currentcolor\" } }] }, \"library-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M419.4100000000003 167.30999999999995H94.18000000000006c-7.63 0-14.96 2.9-20.36 8.05-5.4 5.16-8.44 12.14-8.44 19.42v188.51c0 7.28 3.04 14.27 8.44 19.42 5.4 5.16 12.73 8.06 20.36 8.06h325.23c7.63 0 14.96-2.9 20.36-8.06 5.4-5.15 8.44-12.14 8.44-19.42v-188.51c0.01-3.61-0.73-7.18-2.18-10.52-1.44-3.34-3.57-6.36-6.24-8.92a29.1 29.1 0 0 0-9.35-5.95c-3.5-1.37-7.24-2.09-11.03-2.08Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M145.21000000000004 76.04999999999995h223.27\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M113.32000000000016 121.67999999999984h287.05\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }] }, library: { viewBox: \"0 0 512 512\", paths: [{ d: \"M368.48 91.26000000000022h-223.26c-4.23 0-8.29-1.61-11.28-4.46s-4.67-6.72-4.67-10.75 1.68-7.9 4.67-10.75 7.05-4.46 11.28-4.46h223.26c4.22 0 8.28 1.61 11.27 4.46s4.68 6.72 4.68 10.75-1.69 7.9-4.68 10.75-7.05 4.46-11.27 4.46\", style: { fill: \"currentcolor\" } }, { d: \"M400.3699999999999 136.89000000000033h-287.05c-4.23 0-8.28-1.6-11.27-4.46-2.99-2.85-4.68-6.72-4.68-10.75s1.69-7.9 4.68-10.75 7.04-4.46 11.27-4.46h287.05c4.23 0 8.29 1.61 11.28 4.46s4.67 6.72 4.67 10.75-1.68 7.9-4.67 10.75c-2.99 2.86-7.05 4.46-11.28 4.46\", style: { fill: \"currentcolor\" } }, { d: \"M419.4100000000003 425.8800000000001H94.18000000000006c-11.85-0.04-23.21-4.55-31.59-12.55-8.38-7.99-13.12-18.82-13.16-30.13v-188.51c0.04-11.3 4.78-22.14 13.16-30.13 8.38-8 19.74-12.51 31.59-12.55h325.23c5.87-0.01 11.69 1.09 17.12 3.25a44.4 44.4 0 0 1 14.48 9.3c8.36 8.01 13.08 18.83 13.15 30.13v188.51c-0.04 11.31-4.77 22.14-13.15 30.13-8.39 8-19.75 12.51-31.6 12.55\", style: { fill: \"currentcolor\" } }] }, \"addons-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M414.02 233.95000000000005h-27.6a2.1 2.1 0 0 1-1.4-0.57c-0.37-0.35-0.59-0.83-0.6-1.33v-73.39c-0.01-9.81-4.09-19.21-11.36-26.14s-17.12-10.83-27.41-10.84h-76.95c-0.52-0.01-1.02-0.22-1.39-0.57s-0.59-0.82-0.6-1.33v-26.33c0-25.76-21.43-47.44-48.44-47.82a52.4 52.4 0 0 0-19.14 3.33c-6.1 2.32-11.66 5.78-16.34 10.17a47.4 47.4 0 0 0-10.97 15.4 44.66 44.66 0 0 0-3.88 18.25v27.1c-0.01 0.5-0.23 0.98-0.6 1.33a2.1 2.1 0 0 1-1.4 0.57h-76.94c-10.47 0-20.5 3.96-27.91 11.03-7.41 7.06-11.56 16.63-11.56 26.61v66.93c0.01 0.5 0.23 0.98 0.6 1.33 0.36 0.35 0.86 0.56 1.39 0.57h26.81c29.31 0 53.53 24.24 53.92 52.09 0.4 28.43-23.42 54.38-53.12 54.38h-27.61c-0.53 0.01-1.03 0.22-1.39 0.57-0.37 0.35-0.59 0.82-0.6 1.33v66.92c0 9.98 4.15 19.56 11.56 26.62s17.44 11.03 27.91 11.03h70.17c0.52-0.01 1.02-0.22 1.39-0.57 0.37-0.36 0.59-0.83 0.6-1.33v-19.87c0-28.81 24.72-53.62 54.82-54.28 30-0.67 56.81 19.29 56.81 47.81v26.34c0.01 0.5 0.23 0.97 0.6 1.33 0.37 0.35 0.87 0.56 1.39 0.57h70.87c10.29-0.01 20.14-3.91 27.41-10.84s11.35-16.34 11.36-26.14v-74.15c0.01-0.5 0.23-0.98 0.6-1.33a2.1 2.1 0 0 1 1.4-0.57h28.4c27.51 0 49.34-21.58 49.34-47.91 0-26.34-23.12-46.3-50.14-46.3\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, addons: { viewBox: \"0 0 512 512\", paths: [{ d: \"M345.6500000000001 456.3000000000002h-70.87c-2.35 0.01-4.69-0.43-6.86-1.29-2.18-0.87-4.15-2.14-5.79-3.75-3.37-3.19-5.27-7.54-5.29-12.07v-26.33c0.03-4.05-0.81-8.07-2.49-11.79s-4.12-7.07-7.17-9.89c-7.78-7.22-19.04-11.22-30.8-10.93-21.33 0.47-39.27 18.35-39.27 39.07v19.87c0.01 2.24-0.45 4.48-1.36 6.55s-2.24 3.95-3.93 5.52c-3.35 3.21-7.9 5.02-12.65 5.04h-70.17c-14.71 0.01-28.83-5.55-39.23-15.46-10.42-9.91-16.28-23.36-16.29-37.4v-66.92c0.03-4.53 1.92-8.87 5.28-12.07 3.36-3.21 7.91-5.01 12.66-5.04h27.61c9.17 0 18.04-3.71 25.02-10.46 3.89-3.72 6.98-8.15 9.07-13.02a37.2 37.2 0 0 0 3.09-15.4c-0.3-20.15-17.64-37.17-37.98-37.17h-26.71c-2.35 0.01-4.69-0.43-6.87-1.29a17.7 17.7 0 0 1-5.79-3.75c-3.37-3.19-5.26-7.54-5.28-12.07v-66.92a50.9 50.9 0 0 1 4.19-20.25c2.76-6.43 6.86-12.25 12.06-17.11 10.39-9.91 24.48-15.48 39.17-15.5h55.02c2.12 0.01 4.16-0.77 5.68-2.19 0.73-0.71 1.32-1.55 1.71-2.49 0.4-0.93 0.6-1.92 0.58-2.92v-6.18a59 59 0 0 1 5.08-24.05c3.38-7.62 8.29-14.53 14.46-20.35 6.19-5.8 13.55-10.36 21.62-13.4a69.8 69.8 0 0 1 25.32-4.47c35.38 0.57 64.19 28.9 64.19 63.03v5.42c-0.03 1.51 0.42 3 1.29 4.25a7.73 7.73 0 0 0 3.61 2.81c0.98 0.37 2.03 0.56 3.07 0.54h55.02a56.4 56.4 0 0 1 20.93 3.99c13.4 5.31 24.04 15.46 29.6 28.24 2.77 6.32 4.2 13.11 4.19 19.96v52.47c-0.03 1.52 0.42 3.01 1.3 4.26a7.66 7.66 0 0 0 3.6 2.81c0.98 0.37 2.03 0.56 3.07 0.54h5.68c36.48 0 66.09 27.57 66.09 61.41 0 34.79-29.31 63.12-65.29 63.12h-6.48c-2.12-0.01-4.15 0.78-5.68 2.19a7.4 7.4 0 0 0-1.71 2.49c-0.4 0.93-0.6 1.93-0.58 2.93v53.23c0.01 6.85-1.42 13.64-4.19 19.96-5.56 12.78-16.2 22.93-29.6 28.24a56 56 0 0 1-20.93 3.99\", style: { fill: \"currentcolor\" } }] }, \"settings-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M456.8800000000001 230.33999999999992l-26.02-3.99a8.3 8.3 0 0 1-4.38-2.19 7.7 7.7 0 0 1-2.19-4.28c-0.5-3.04-1-6.08-1.7-9.03-0.31-1.58-0.1-3.2 0.6-4.66a8.24 8.24 0 0 1 3.29-3.51l23.02-12.17c1.75-0.83 3.1-2.26 3.79-4 0.68-1.73 0.72-3.65 0.1-5.41l-3.99-10.46c-0.67-1.74-1.99-3.19-3.68-4.09a8.35 8.35 0 0 0-5.69-0.66l-25.81 4.75c-1.69 0.28-3.42 0.09-4.98-0.57-1.58-0.67-2.85-1.85-3.59-3.33-1.5-2.66-3.09-5.32-4.79-7.98-0.9-1.4-1.32-3.04-1.19-4.67 0.13-1.65 0.78-3.2 1.89-4.46l17.24-18.92c1.31-1.36 2.09-3.11 2.2-4.94 0.09-1.88-0.59-3.72-1.9-5.13l-7.47-8.56a7.99 7.99 0 0 0-4.99-2.66 7.95 7.95 0 0 0-5.48 1.24l-22.62 12.92a8.47 8.47 0 0 1-4.79 1.05c-1.71-0.1-3.34-0.78-4.58-1.9-2.39-2-4.89-3.99-7.38-5.9a7.9 7.9 0 0 1-2.69-4c-0.45-1.56-0.38-3.22 0.2-4.74l9.37-23.58c0.8-1.72 0.9-3.66 0.29-5.44-0.61-1.79-1.89-3.3-3.58-4.25l-10.17-5.61a8.13 8.13 0 0 0-5.58-0.86c-1.91 0.4-3.62 1.45-4.78 2.95l-16.55 19.77a6.87 6.87 0 0 1-3.78 2.57c-1.55 0.41-3.18 0.34-4.69-0.19 0 0-5.58-2.19-9.77-3.52a8.1 8.1 0 0 1-3.96-2.82 7.45 7.45 0 0 1-1.52-4.5l0.4-25.09c0.1-1.89-0.5-3.74-1.69-5.23a8.67 8.67 0 0 0-4.89-2.85l-11.56-1.91c-1.93-0.27-3.91 0.1-5.58 1.05-1.67 0.98-2.9 2.5-3.49 4.28l-8.57 23.86a8.2 8.2 0 0 1-2.99 3.8 7.78 7.78 0 0 1-4.79 1.33h-9.76c-1.7 0-3.36-0.46-4.79-1.33a7.56 7.56 0 0 1-2.99-3.8l-8.57-23.86a7.56 7.56 0 0 0-3.49-4.28 8.85 8.85 0 0 0-5.58-1.05l-11.56 1.91a8.18 8.18 0 0 0-4.89 2.85 7.7 7.7 0 0 0-1.69 5.23l0.4 25.09c0.01 1.64-0.51 3.22-1.5 4.57-0.99 1.31-2.39 2.3-3.98 2.85-2.3 0.85-7.28 2.66-9.67 3.51-2.79 0.95-6.08 0.19-8.77-2.75l-16.45-19.3c-1.16-1.5-2.87-2.55-4.78-2.95-1.91-0.39-3.9-0.08-5.58 0.86l-10.17 5.61c-1.7 0.91-2.99 2.4-3.59 4.18s-0.5 3.71 0.3 5.42l9.37 23.57c0.62 1.52 0.69 3.2 0.2 4.76a7.94 7.94 0 0 1-2.69 3.99c-2.49 1.9-4.99 3.9-7.38 5.89a8.83 8.83 0 0 1-4.58 1.9 7.6 7.6 0 0 1-4.79-1.04l-22.32-13.12a7.93 7.93 0 0 0-5.48-1.14c-1.94 0.3-3.7 1.24-4.99 2.66l-7.47 8.56a7.48 7.48 0 0 0-1.9 5.13c0.07 1.84 0.85 3.61 2.2 4.94l17.24 18.92c1.1 1.23 1.77 2.76 1.89 4.37a7.76 7.76 0 0 1-1.19 4.66c-1.7 2.57-3.29 5.23-4.79 7.99-0.8 1.41-2.06 2.54-3.59 3.23-1.55 0.69-3.29 0.93-4.98 0.66l-25.81-4.75a8.07 8.07 0 0 0-5.59 0.67c-1.72 0.89-3.07 2.34-3.78 4.08l-3.99 10.46a6.8 6.8 0 0 0 0.1 5.42 7.83 7.83 0 0 0 3.79 3.99l23.02 12.17a7.37 7.37 0 0 1 3.39 3.52c0.71 1.45 0.89 3.1 0.5 4.66-0.6 3.04-1.2 5.98-1.7 9.03a7.2 7.2 0 0 1-2.19 4.27 8.2 8.2 0 0 1-4.38 2.19l-26.02 3.99c-1.91 0.23-3.69 1.12-4.98 2.47-1.28 1.41-2.02 3.19-2.1 5.04v11.13c-0.01 1.86 0.71 3.66 2.02 5.05a8.04 8.04 0 0 0 5.06 2.46l26.02 3.99c1.66 0.27 3.19 1.04 4.38 2.18a7.75 7.75 0 0 1 2.19 4.28c0.5 3.04 1 6.09 1.7 9.03 0.31 1.58 0.1 3.21-0.6 4.66-0.73 1.45-1.87 2.66-3.29 3.52l-23.02 12.17c-1.75 0.82-3.1 2.25-3.79 3.99a7.78 7.78 0 0 0-0.1 5.42l3.99 10.45c0.67 1.74 1.99 3.19 3.68 4.09 1.75 0.89 3.77 1.12 5.69 0.67l25.81-4.76c1.68-0.28 3.42-0.08 4.98 0.57 1.56 0.7 2.82 1.87 3.59 3.33 1.5 2.66 3.09 5.33 4.79 7.99a7.5 7.5 0 0 1 1.19 4.66 7.65 7.65 0 0 1-1.89 4.46l-17.24 19.02c-1.31 1.35-2.09 3.09-2.2 4.94-0.09 1.88 0.59 3.72 1.9 5.13l7.47 8.56a7.99 7.99 0 0 0 4.99 2.66 7.95 7.95 0 0 0 5.48-1.24l22.62-12.92c1.45-0.8 3.12-1.17 4.79-1.05 1.7 0.15 3.31 0.82 4.58 1.9 2.39 2 4.89 3.99 7.38 5.89 1.32 1.02 2.27 2.42 2.69 4a7.8 7.8 0 0 1-0.2 4.75l-9.37 23.58c-0.8 1.71-0.9 3.64-0.3 5.41 0.6 1.78 1.88 3.27 3.59 4.19l10.17 5.61c1.68 0.94 3.67 1.24 5.58 0.85 1.91-0.4 3.61-1.44 4.78-2.95l16.75-19.58c2.09-2.47 5.48-3.52 8.17-2.47 3.39 1.33 5.68 2.09 9.87 3.42 1.61 0.52 3.02 1.51 3.98 2.85a7.56 7.56 0 0 1 1.5 4.57l-0.4 25.09c-0.1 1.89 0.5 3.74 1.69 5.23a8.23 8.23 0 0 0 4.89 2.85l11.56 1.9a8.78 8.78 0 0 0 5.58-1.04c1.67-0.98 2.9-2.5 3.49-4.28l8.57-23.76a8.16 8.16 0 0 1 2.99-3.81c1.39-0.95 3.08-1.41 4.79-1.33h9.76c1.7 0 3.36 0.47 4.79 1.33 1.4 0.93 2.45 2.27 2.99 3.81l8.57 23.76c0.57 1.79 1.8 3.32 3.49 4.28a8.78 8.78 0 0 0 5.58 1.04l11.56-1.9a8.32 8.32 0 0 0 4.89-2.86c1.2-1.48 1.81-3.33 1.69-5.22l-0.4-25.09c-0.01-1.64 0.51-3.24 1.5-4.57 0.99-1.31 2.39-2.3 3.98-2.85 4.19-1.33 6.98-2.37 9.57-3.33 1.42-0.61 3-0.75 4.51-0.38 1.5 0.36 2.83 1.2 3.76 2.38l16.95 19.87c1.16 1.5 2.87 2.55 4.78 2.95 1.91 0.39 3.9 0.08 5.58-0.86l10.17-5.61c1.68-0.94 2.95-2.42 3.59-4.18 0.6-1.78 0.5-3.71-0.3-5.42l-9.37-23.57c-0.62-1.53-0.69-3.2-0.2-4.76a8.56 8.56 0 0 1 2.69-3.99c2.49-1.9 4.99-3.9 7.38-5.89a8.84 8.84 0 0 1 4.58-1.91 7.55 7.55 0 0 1 4.79 1.05l22.52 13.02a7.86 7.86 0 0 0 5.48 1.14c1.94-0.3 3.7-1.24 4.99-2.66l7.47-8.55a7.5 7.5 0 0 0 1.9-5.14 7.12 7.12 0 0 0-2.2-4.94l-17.24-18.92a7.28 7.28 0 0 1-1.89-4.37c-0.11-1.63 0.31-3.26 1.19-4.66 1.7-2.56 3.29-5.23 4.79-7.98 0.82-1.43 2.07-2.58 3.59-3.33 1.55-0.69 3.28-0.93 4.98-0.67l25.81 4.76c1.89 0.45 3.88 0.22 5.59-0.67 1.74-0.87 3.09-2.33 3.78-4.09l3.99-10.45c0.72-1.75 0.68-3.7-0.1-5.42a7.83 7.83 0 0 0-3.79-3.99l-23.02-12.17c-1.52-0.78-2.71-2.02-3.39-3.52a7.1 7.1 0 0 1-0.5-4.75c0.6-3.04 1.2-5.99 1.7-9.03a7.13 7.13 0 0 1 2.19-4.28 8.3 8.3 0 0 1 4.38-2.19l26.02-3.99c1.91-0.23 3.69-1.11 4.98-2.47a8 8 0 0 0 2.09-5.04v-11.12c-0.1-1.85-0.88-3.59-2.19-4.95-1.3-1.34-3.08-2.17-4.98-2.37m-200.04-123.87c31.82 0 62.75 10.11 87.91 28.71 25.15 18.61 43.1 44.65 51.03 74.05 0.58 2.25 0.62 4.59 0.1 6.85-0.52 2.24-1.55 4.34-2.99 6.18a15.2 15.2 0 0 1-5.58 4.28 16.25 16.25 0 0 1-6.98 1.52h-104.85c-2.83-0.01-5.6-0.73-8.06-2.08a16 16 0 0 1-5.9-5.62l-51.92-87.17a15.4 15.4 0 0 1-2.1-6.66c-0.1-2.34 0.31-4.67 1.2-6.84 0.91-2.18 2.39-4.11 4.28-5.61a16.1 16.1 0 0 1 6.38-3.23c12.26-2.88 24.85-4.35 37.48-4.38m-143.53 136.89c-0.02-18.33 3.81-36.46 11.28-53.35 7.46-16.89 18.41-32.17 32.18-44.94 1.76-1.61 3.88-2.84 6.18-3.61 2.31-0.75 4.76-0.97 7.18-0.67a15.7 15.7 0 0 1 6.77 2.47c2.01 1.31 3.67 3.03 4.89 5.04l52.02 87.36c1.38 2.28 2.1 4.88 2.1 7.51 0.02 2.64-0.71 5.23-2.1 7.51l-52.52 87.17c-1.2 2.05-2.91 3.78-4.99 5.04a19.4 19.4 0 0 1-6.77 2.47c-2.41 0.31-4.88 0.08-7.18-0.66-2.3-0.77-4.41-2.01-6.18-3.61-13.66-12.74-24.51-27.97-31.89-44.78-7.23-16.81-10.96-34.79-10.97-52.95m143.53 136.89c-12.85 0.02-25.65-1.54-38.08-4.66-2.37-0.57-4.55-1.68-6.37-3.23a14.9 14.9 0 0 1-4.19-5.61c-0.95-2.17-1.36-4.5-1.2-6.85 0.16-2.34 0.87-4.61 2.1-6.65l52.42-86.98c1.4-2.33 3.42-4.25 5.85-5.59 2.44-1.34 5.2-2.03 8.01-2.01h105.05c2.42-0.02 4.81 0.5 6.98 1.52 3.27 1.53 5.89 4.08 7.42 7.22a14.54 14.54 0 0 1 1.05 10.08c-7.93 29.41-25.9 55.48-51.07 74.08-25.18 18.6-56.13 28.7-87.97 28.68\", style: { fill: \"currentcolor\" } }] }, \"filters-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M48.0300000000002 102l159.77 177.48c2.36 2.63 3.7 5.95 3.79 9.42v107.8c-0.03 1.51 0.45 2.98 1.36 4.22a7.53 7.53 0 0 0 3.72 2.62l75.95 24.05c1.89 0.58 3.95 0.45 5.73-0.39 1.79-0.84 3.16-2.29 3.84-4.08 0.29-0.76 0.42-1.57 0.4-2.37v-131.95c0.01-3.47 1.35-6.83 3.78-9.41l159.68-177.48c2.28-2.55 3.42-5.87 3.16-9.21-0.26-3.35-1.9-6.46-4.56-8.66-2.38-1.97-5.42-3.05-8.57-3.05H58.29000000000042c-1.74 0-3.47 0.32-5.08 0.95s-3.08 1.55-4.32 2.73c-1.23 1.18-2.2 2.58-2.87 4.12-0.65 1.54-0.99 3.18-0.98 4.85a11 11 0 0 0 0.62 4.47 11.3 11.3 0 0 0 2.37 3.89\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, filters: { viewBox: \"0 0 512 512\", paths: [{ d: \"M48.0300000000002 102.10000000000014l159.77 177.48c2.36 2.62 3.7 5.95 3.79 9.41v107.8c-0.03 1.51 0.45 2.98 1.36 4.22a7.4 7.4 0 0 0 3.72 2.62l75.95 24.05c1.89 0.58 3.95 0.45 5.73-0.39 1.78-0.83 3.16-2.3 3.84-4.07 0.29-0.76 0.42-1.57 0.4-2.38V288.99c0.01-3.47 1.35-6.83 3.78-9.41l159.68-177.48c2.28-2.56 3.42-5.87 3.16-9.21-0.26-3.35-1.9-6.46-4.56-8.66a13.4 13.4 0 0 0-8.57-3.05H58.29000000000042c-1.74-0.01-3.47 0.32-5.08 0.94-1.61 0.64-3.08 1.56-4.32 2.74-1.23 1.18-2.2 2.58-2.87 4.12-0.65 1.54-0.99 3.18-0.98 4.85-0.17 3.02 0.89 5.99 2.99 8.27\", style: { fill: \"currentcolor\" } }] }, \"calendar-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M102.64999999999964 77h318.95c12.68 0 24.85 4.81 33.83 13.37 8.97 8.55 14.01 20.16 14.01 32.26v273.78c0 12.1-5.04 23.71-14.01 32.26-8.98 8.56-21.15 13.37-33.83 13.37H102.64999999999964c-12.69 0-24.86-4.81-33.83-13.37-8.97-8.55-14.01-20.16-14.01-32.26v-273.78c0-12.1 5.04-23.71 14.01-32.26 8.97-8.56 21.14-13.37 33.83-13.37Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M301.9899999999998 244.30999999999995c5.93 0.01 11.65-2.09 16.06-5.88 4.39-3.8 7.16-9.02 7.75-14.64 0.59-5.64-1.03-11.28-4.56-15.82-3.53-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.95 2.78-5.09 2.9-8.87 7.51-10.6 12.92-1.74 5.41-1.29 11.25 1.23 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M381.72999999999956 244.30999999999995c5.93 0.01 11.65-2.09 16.05-5.88 4.4-3.8 7.17-9.02 7.76-14.64 0.59-5.64-1.04-11.28-4.57-15.82-3.52-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78s-8.87 7.51-10.61 12.92c-1.73 5.41-1.28 11.25 1.24 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M301.9899999999998 320.3600000000001c5.93 0.01 11.65-2.09 16.06-5.89 4.39-3.79 7.16-9.01 7.75-14.64s-1.03-11.27-4.56-15.81c-3.53-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.95 2.78-5.09 2.9-8.87 7.51-10.6 12.92-1.74 5.41-1.29 11.24 1.23 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M381.72999999999956 320.3600000000001c5.93 0.01 11.65-2.09 16.05-5.89 4.4-3.79 7.17-9.01 7.76-14.64s-1.04-11.27-4.57-15.81c-3.52-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78s-8.87 7.51-10.61 12.92c-1.73 5.41-1.28 11.24 1.24 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M142.52000000000044 320.3600000000001c5.93 0.01 11.65-2.09 16.06-5.89 4.39-3.79 7.16-9.01 7.75-14.64s-1.04-11.27-4.57-15.81c-3.52-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78s-8.87 7.51-10.61 12.92c-1.73 5.41-1.28 11.24 1.24 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M222.25 320.3600000000001c5.93 0.01 11.66-2.09 16.06-5.89 4.4-3.79 7.17-9.01 7.76-14.64 0.58-5.63-1.04-11.27-4.57-15.81-3.53-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78-5.1 2.9-8.88 7.51-10.61 12.92a21.82 21.82 0 0 0 1.24 16.36c2.53 5.11 6.96 9.15 12.44 11.33 2.9 1.15 6 1.74 9.14 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M142.52000000000044 396.4100000000001c5.93 0.01 11.65-2.09 16.06-5.88 4.39-3.8 7.16-9.02 7.75-14.64 0.59-5.64-1.04-11.28-4.57-15.82-3.52-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78s-8.87 7.51-10.61 12.92c-1.73 5.41-1.28 11.24 1.24 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M222.25 396.4100000000001c5.93 0.01 11.66-2.09 16.06-5.88 4.4-3.8 7.17-9.02 7.76-14.64 0.58-5.64-1.04-11.28-4.57-15.82-3.53-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78-5.1 2.9-8.88 7.51-10.61 12.92a21.82 21.82 0 0 0 1.24 16.36c2.53 5.11 6.96 9.15 12.44 11.33 2.9 1.15 6 1.74 9.14 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M301.9899999999998 396.4100000000001c5.93 0.01 11.65-2.09 16.06-5.88 4.39-3.8 7.16-9.02 7.75-14.64 0.59-5.64-1.03-11.28-4.56-15.82-3.53-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.95 2.78-5.09 2.9-8.87 7.51-10.6 12.92-1.74 5.41-1.29 11.24 1.23 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M134.53999999999996 46.580000000000155v30.42\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M389.6999999999998 46.580000000000155v30.42\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M469.4399999999996 153.04999999999995h-414.63\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, calendar: { viewBox: \"0 0 512 512\", paths: [{ d: \"M480.10000000000036 121.68000000000029c-0.01-16.13-6.73-31.6-18.69-43.01-11.97-11.4-28.18-17.82-45.1-17.83h-15.94v-14.83c0-8.17-6.58-15.21-15.15-15.59-4.23-0.17-8.35 1.25-11.49 3.96-3.13 2.7-5.02 6.47-5.26 10.49v15.97h-223.26v-14.83c0-8.17-6.58-15.21-15.15-15.59-4.23-0.17-8.34 1.25-11.48 3.96-3.13 2.7-5.03 6.47-5.27 10.49v15.97h-15.94c-16.92 0.01-33.13 6.43-45.09 17.83-11.96 11.41-18.69 26.88-18.7 43.01v11.41c0 1.01 0.43 1.98 1.17 2.69 0.74 0.7 1.76 1.11 2.81 1.11h438.56c1.05 0 2.07-0.41 2.81-1.11 0.74-0.71 1.17-1.68 1.17-2.69z\", style: { fill: \"currentcolor\" } }, { d: \"M33.57999999999993 395.46000000000004c0.01 16.13 6.74 31.6 18.7 43.01 11.96 11.4 28.17 17.82 45.09 17.83h318.94c16.92-0.01 33.13-6.43 45.1-17.83 11.96-11.41 18.68-26.88 18.69-43.01v-225.3c0.01-0.38-0.06-0.75-0.21-1.1s-0.36-0.67-0.64-0.93c-0.28-0.27-0.61-0.48-0.98-0.62s-0.76-0.21-1.16-0.2h-440.54c-0.4-0.01-0.79 0.06-1.16 0.2a2.87 2.87 0 0 0-1.62 1.55c-0.15 0.35-0.22 0.72-0.21 1.1z m342.87-197.73c5.93 0.01 11.64 2.13 16.02 5.93 4.39 3.81 7.13 9.04 7.7 14.67s-1.08 11.26-4.62 15.79c-3.54 4.54-8.72 7.65-14.54 8.75-5.82 1.09-11.85 0.08-16.93-2.84-5.09-2.91-8.84-7.53-10.56-12.93-1.71-5.42-1.25-11.25 1.3-16.37 2.54-5.1 6.98-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m0 76.05c5.93 0.01 11.64 2.13 16.02 5.93 4.39 3.81 7.13 9.04 7.7 14.67s-1.08 11.26-4.62 15.79c-3.54 4.54-8.72 7.65-14.54 8.75-5.82 1.09-11.85 0.08-16.93-2.84-5.09-2.91-8.84-7.53-10.56-12.94-1.71-5.41-1.25-11.24 1.3-16.36 2.54-5.1 6.98-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m-79.74-76.05c5.93 0.01 11.64 2.13 16.03 5.93 4.38 3.81 7.12 9.04 7.69 14.67 0.58 5.63-1.08 11.26-4.61 15.79-3.54 4.54-8.73 7.65-14.55 8.75-5.82 1.09-11.85 0.08-16.93-2.84-5.08-2.91-8.84-7.53-10.56-12.93-1.71-5.42-1.25-11.25 1.3-16.37 2.54-5.1 6.99-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m0 76.05c5.93 0.01 11.64 2.13 16.03 5.93 4.38 3.81 7.12 9.04 7.69 14.67 0.58 5.63-1.08 11.26-4.61 15.79-3.54 4.54-8.73 7.65-14.55 8.75-5.82 1.09-11.85 0.08-16.93-2.84-5.08-2.91-8.84-7.53-10.56-12.94-1.71-5.41-1.25-11.24 1.3-16.36 2.54-5.1 6.99-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m0 76.05c5.93 0.01 11.64 2.13 16.03 5.93 4.38 3.81 7.12 9.04 7.69 14.67 0.58 5.63-1.08 11.25-4.61 15.79-3.54 4.54-8.73 7.65-14.55 8.74-5.82 1.1-11.85 0.09-16.93-2.83-5.08-2.91-8.84-7.53-10.56-12.94-1.71-5.41-1.25-11.24 1.3-16.36 2.54-5.1 6.99-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m-79.74-76.05c5.93 0.01 11.64 2.13 16.03 5.93 4.38 3.81 7.13 9.04 7.69 14.67 0.58 5.63-1.07 11.26-4.61 15.79-3.54 4.54-8.72 7.65-14.54 8.75-5.82 1.09-11.85 0.08-16.94-2.84-5.08-2.91-8.84-7.53-10.55-12.94-1.72-5.41-1.26-11.24 1.29-16.36 2.54-5.1 6.99-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m0 76.05c5.93 0.01 11.64 2.13 16.03 5.93 4.38 3.81 7.13 9.04 7.69 14.67 0.58 5.63-1.07 11.25-4.61 15.79s-8.72 7.65-14.54 8.74c-5.82 1.1-11.85 0.09-16.94-2.83-5.08-2.91-8.84-7.53-10.55-12.94-1.72-5.41-1.26-11.24 1.29-16.36 2.54-5.1 6.99-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m-79.73-76.05c5.93 0.01 11.64 2.13 16.02 5.93 4.39 3.81 7.13 9.04 7.7 14.67s-1.08 11.26-4.62 15.79c-3.54 4.54-8.72 7.65-14.54 8.75-5.82 1.09-11.85 0.08-16.93-2.84-5.09-2.91-8.84-7.53-10.56-12.94a21.78 21.78 0 0 1 1.3-16.36c2.54-5.1 6.98-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m0 76.05c5.93 0.01 11.64 2.13 16.02 5.93 4.39 3.81 7.13 9.04 7.7 14.67s-1.08 11.25-4.62 15.79-8.72 7.65-14.54 8.74c-5.82 1.1-11.85 0.09-16.93-2.83-5.09-2.91-8.84-7.53-10.56-12.94a21.78 21.78 0 0 1 1.3-16.36c2.54-5.1 6.98-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72\", style: { fill: \"currentcolor\" } }] }, settings: { viewBox: \"0 0 512 512\", paths: [{ d: \"M464.1500000000001 237.6500000000001c-0.09-2.4-1.11-4.67-2.89-6.37-1.71-1.73-4-2.84-6.47-3.14l-25.52-3.99a5.94 5.94 0 0 1-2.99-1.52 5.3 5.3 0 0 1-1.5-2.95c-0.49-3.04-0.99-6.08-1.69-9.03-0.22-1.05-0.08-2.16 0.4-3.13a6.4 6.4 0 0 1 2.19-2.38l22.73-12.07c2.25-1.11 3.99-2.97 4.88-5.23 0.93-2.25 0.97-4.75 0.1-7.04l-3.89-10.36c-0.87-2.26-2.57-4.15-4.78-5.32a10.7 10.7 0 0 0-7.28-0.86l-25.41 4.76c-1.16 0.17-2.34 0.01-3.39-0.48-1.02-0.47-1.87-1.24-2.39-2.19-1.5-2.66-3.09-5.32-4.79-7.98-0.6-0.94-0.88-2.04-0.8-3.14 0.07-1.12 0.53-2.18 1.3-3.04l16.94-18.63c1.69-1.78 2.68-4.07 2.79-6.47 0.08-2.39-0.77-4.72-2.39-6.56l-7.37-8.46c-1.62-1.85-3.9-3.07-6.4-3.42s-5.05 0.19-7.16 1.52l-22.32 12.74c-1 0.55-2.15 0.79-3.29 0.67-1.16-0.11-2.25-0.57-3.09-1.33-2.5-2.1-4.99-4.09-7.38-5.9a5.14 5.14 0 0 1-1.89-2.66 5.18 5.18 0 0 1 0.2-3.23l9.27-23.2c0.98-2.21 1.09-4.7 0.3-6.99-0.78-2.29-2.42-4.23-4.59-5.46l-10.07-5.61c-2.19-1.23-4.78-1.62-7.27-1.14-2.49 0.47-4.71 1.83-6.18 3.8l-16.35 19.49a5.23 5.23 0 0 1-2.49 1.81c-1.02 0.31-2.12 0.24-3.09-0.19-0.6-0.19-5.78-2.29-9.77-3.52a5.53 5.53 0 0 1-2.69-1.9 4.9 4.9 0 0 1-1-3.04l0.4-24.82c0.15-2.42-0.62-4.82-2.19-6.74-1.54-1.92-3.79-3.2-6.28-3.62l-11.36-1.9c-2.48-0.38-5.02 0.09-7.18 1.33-2.14 1.27-3.74 3.23-4.48 5.52l-8.47 23.57a4.9 4.9 0 0 1-2.1 2.57c-0.97 0.61-2.12 0.91-3.29 0.85h-9.76c-1.15 0.04-2.28-0.29-3.19-0.95a5.3 5.3 0 0 1-2.1-2.56l-8.47-23.48c-0.71-2.31-2.31-4.29-4.48-5.52a11.2 11.2 0 0 0-7.18-1.33l-11.46 1.9c-2.47 0.46-4.71 1.74-6.28 3.62a9.14 9.14 0 0 0-2.19 6.65l0.39 24.91c-0.01 1.13-0.4 2.22-1.09 3.13-0.73 0.87-1.7 1.53-2.79 1.9-2.3 0.86-7.28 2.67-9.47 3.43-2 0.66-4.19-0.1-5.88-2l-16.25-19.01c-1.47-1.98-3.69-3.34-6.18-3.8-2.48-0.48-5.05-0.11-7.27 1.04l-10.07 5.51c-2.22 1.23-3.89 3.19-4.69 5.52-0.81 2.31-0.67 4.83 0.4 7.03l9.17 23.1c0.43 1.04 0.47 2.18 0.1 3.23-0.28 1.05-0.9 1.99-1.79 2.67-2.39 1.9-4.89 3.8-7.38 5.89a5.644 5.644 0 0 1-6.38 0.67l-22.02-13.03c-2.13-1.3-4.68-1.84-7.18-1.52-2.5 0.34-4.77 1.56-6.38 3.42l-7.37 8.46c-1.62 1.84-2.48 4.17-2.4 6.56 0.1 2.41 1.09 4.7 2.79 6.47l17.05 18.63c0.77 0.86 1.22 1.92 1.29 3.04 0.09 1.1-0.19 2.2-0.79 3.14-1.7 2.57-3.29 5.32-4.79 7.98-0.57 0.99-1.43 1.78-2.49 2.29-1.05 0.48-2.23 0.65-3.39 0.47l-25.41-4.66c-2.46-0.59-5.06-0.27-7.29 0.87s-3.93 3.03-4.77 5.31l-3.99 10.36c-0.92 2.28-0.88 4.79 0.1 7.04 0.91 2.24 2.65 4.1 4.88 5.23l22.73 12.07c1 0.54 1.8 1.38 2.29 2.38s0.6 2.15 0.3 3.23l-0.2 1.23c-0.5 2.67-1 5.14-1.5 7.8-0.19 1.07-0.7 2.06-1.49 2.85-0.81 0.8-1.86 1.33-2.99 1.52l-25.62 3.99c-2.5 0.29-4.8 1.44-6.48 3.24-1.69 1.8-2.61 4.14-2.59 6.56v11.02c-0.01 2.42 0.91 4.75 2.58 6.55 1.67 1.81 3.98 2.96 6.49 3.24l25.62 3.9c1.14 0.17 2.2 0.71 2.99 1.52 0.81 0.81 1.32 1.85 1.49 2.95 0.5 3.04 1 6.08 1.7 9.03 0.21 1.09 0.08 2.22-0.4 3.23-0.51 0.96-1.27 1.78-2.19 2.38l-22.73 12.07c-2.25 1.1-4 2.97-4.88 5.23a10 10 0 0 0-0.1 7.03l3.99 10.37c0.87 2.26 2.57 4.15 4.78 5.32 2.23 1.13 4.82 1.45 7.28 0.86l25.51-4.66a5.35 5.35 0 0 1 3.39 0.47c1.02 0.48 1.85 1.24 2.39 2.19 1.5 2.66 3.09 5.32 4.79 7.98 0.59 0.95 0.87 2.04 0.79 3.14-0.07 1.12-0.52 2.2-1.29 3.04l-16.95 18.64c-1.76 1.74-2.8 4.05-2.89 6.46-0.09 2.42 0.76 4.8 2.4 6.65l7.37 8.46c1.62 1.86 3.9 3.08 6.4 3.43s5.04-0.19 7.16-1.52l22.32-12.74c1-0.55 2.15-0.79 3.29-0.67 1.16 0.11 2.24 0.57 3.09 1.33 2.49 2.09 4.98 4.09 7.38 5.9 0.91 0.67 1.57 1.6 1.89 2.66s0.28 2.19-0.1 3.23l-9.27 23.2a9.54 9.54 0 0 0-0.31 6.99c0.79 2.29 2.42 4.23 4.6 5.46l10.06 5.51c2.2 1.23 4.79 1.63 7.28 1.14 2.49-0.46 4.7-1.82 6.18-3.8l16.55-19.3c1.39-1.61 3.58-2.37 5.18-1.71 3.49 1.33 5.78 2.09 9.87 3.42 1.08 0.36 2.02 1.02 2.69 1.91 0.66 0.88 1.01 1.94 0.99 3.04l-0.4 24.81c-0.09 2.42 0.69 4.8 2.2 6.75 1.54 1.91 3.78 3.19 6.28 3.61l11.36 1.9c2.48 0.39 5.02-0.08 7.18-1.33 2.17-1.23 3.77-3.2 4.48-5.51l8.47-23.58a4.88 4.88 0 0 1 2.1-2.56c0.94-0.66 2.12-0.96 3.28-0.86h9.77c1.15-0.04 2.28 0.3 3.19 0.95 0.97 0.63 1.7 1.52 2.1 2.57l8.47 23.48c0.68 2.02 2.01 3.78 3.79 5.05a11 11 0 0 0 6.17 1.98c0.6-0.02 1.21-0.07 1.8-0.19l11.46-1.9c2.48-0.45 4.7-1.73 6.28-3.61a9.2 9.2 0 0 0 2.19-6.66l-0.4-24.9c-0.04-1.1 0.31-2.17 1-3.04s1.63-1.53 2.69-1.91c3.79-1.23 6.48-2.18 8.87-3.04l0.6-0.19c3.09-1.04 4.59 0.19 5.48 1.24l16.75 19.58c1.49 1.96 3.7 3.31 6.19 3.8 2.49 0.5 5.07 0.09 7.26-1.14l10.07-5.51c2.19-1.19 3.84-3.12 4.58-5.42 0.8-2.3 0.7-4.8-0.29-7.03l-9.17-23.1a5.2 5.2 0 0 1-0.2-3.24c0.28-1.07 0.94-2.01 1.89-2.66 2.39-1.9 4.88-3.8 7.38-5.89 0.86-0.72 1.94-1.19 3.09-1.33 1.14-0.12 2.29 0.12 3.28 0.66l22.33 12.74c2.12 1.3 4.68 1.85 7.18 1.52 2.5-0.34 4.77-1.56 6.38-3.42l7.37-8.46a9.44 9.44 0 0 0 2.39-6.65 9.88 9.88 0 0 0-2.79-6.47l-17.04-18.73c-0.76-0.84-1.21-1.9-1.3-3.01s0.19-2.21 0.8-3.17c1.7-2.56 3.29-5.32 4.79-7.98 0.59-0.96 1.45-1.75 2.49-2.28 1.04-0.49 2.23-0.66 3.39-0.48l25.41 4.76c2.45 0.59 5.06 0.28 7.29-0.86s3.93-3.04 4.77-5.32l3.89-10.37c0.92-2.27 0.88-4.79-0.1-7.03-0.92-2.24-2.65-4.1-4.88-5.23l-22.73-12.07a5.37 5.37 0 0 1-2.29-2.38c-0.5-1-0.6-2.16-0.3-3.23l0.2-1.24c0.5-2.66 1-5.13 1.49-7.79 0.19-1.07 0.71-2.06 1.5-2.85 0.81-0.8 1.85-1.33 2.99-1.52l25.61-3.9c2.51-0.29 4.81-1.44 6.48-3.23 1.69-1.81 2.61-4.15 2.59-6.56v-11.22z m-281.47 89.36c-1.23 2.08-2.98 3.84-5.08 5.13-2.09 1.3-4.48 2.12-6.98 2.38-2.47 0.26-4.97-0.07-7.27-0.95-2.33-0.86-4.42-2.23-6.08-3.99-22.46-23.67-34.86-54.48-34.79-86.4 0.08-31.92 12.62-62.66 35.19-86.24 1.66-1.77 3.74-3.13 6.08-3.99 2.31-0.85 4.81-1.14 7.27-0.86 2.49 0.26 4.89 1.08 6.98 2.38 2.08 1.32 3.82 3.08 5.08 5.13l45.45 76.43c1.38 2.3 2.1 4.88 2.1 7.51 0 2.64-0.72 5.22-2.1 7.51z m74.16 44.87c-9.48 0-18.94-0.95-28.21-2.85a15.8 15.8 0 0 1-6.59-3.06c-1.9-1.5-3.4-3.42-4.37-5.59-0.97-2.16-1.41-4.5-1.3-6.85 0.13-2.35 0.85-4.63 2.1-6.65l45.84-76.05c1.4-2.28 3.39-4.19 5.79-5.52 2.39-1.32 5.11-2.01 7.87-1.99h91.8c2.46 0.01 4.88 0.56 7.07 1.61a15.66 15.66 0 0 1 5.58 4.47c1.47 1.92 2.46 4.13 2.89 6.47 0.39 2.32 0.22 4.69-0.49 6.93-17.45 51.53-68.18 89.08-127.98 89.08m7.47-155.81l-45.35-76.24c-1.18-2.05-1.9-4.31-2.09-6.65-0.22-3.54 0.91-7.04 3.15-9.86s5.48-4.79 9.11-5.54c9.08-1.82 18.33-2.75 27.61-2.76 59.8 0 110.53 37.45 127.98 89.17 0.7 2.25 0.87 4.62 0.5 6.94-0.41 2.33-1.4 4.53-2.88 6.43-1.46 1.9-3.38 3.45-5.6 4.5a16.7 16.7 0 0 1-7.07 1.62h-91.7c-2.79 0-5.54-0.69-7.97-2a17.5 17.5 0 0 1-5.69-5.61\", style: { fill: \"currentcolor\" } }] }, trailer: { viewBox: \"0 0 512 512\", paths: [{ d: \"M434.65500000000003 204.75999999999976l-269.311 2c36.679-13.69 74.355-27.48 112.429-41.35 48.54-17.78 97.08-35.46 142.73-52.67 3.69-1.55 6.589-4.43 8.064-8a13.97 13.97 0 0 0-0.191-11.11l-1.893-4.27a503 503 0 0 0-30.102-64.08c-1.914-2.5-4.647-4.32-7.769-5.19-3.122-0.86-6.453-0.7-9.473 0.44a47263 47263 0 0 1-129.473 47.72c-74.953 27.66-160.67 59.13-193.86 71.49-3.556 1.33-6.43 3.93-8.01 7.25a13.44 13.44 0 0 0-0.462 10.53c5.283 13.97 8.672 22.91 11.163 29.08-6.925 6.11-11.842 14.01-14.153 22.72l-0.797 3.52-0.3 1.33a17 17 0 0 0-0.298 3.04v7.23c0.087 1.38 0.32 2.75 0.697 4.09 1.613 8.67 5.719 16.75 11.86 23.32 6.142 6.58 14.079 11.41 22.926 13.94 0.199 36.03 0.697 147.54 0.697 169.12 0.005 3.7 1.55 7.25 4.297 9.87s6.47 4.09 10.355 4.1c52.127 0 343.266 1.24 343.266 1.24 3.852 0 7.552-1.45 10.295-4.03s4.308-6.09 4.357-9.76c0-1.61 2.292-159.89 2.292-213.6-0.199-15.88-15.449-17.97-19.336-17.97m-155.287 65.4l23.821-36.6 53.424-0.38-24.021 36.98z m-10.765-36.31l-23.622 36.31H192.255l23.323-36.02z m-36.38-81.75c-16.545 6.08-32.791 12.07-49.038 18.06l5.98-49.72 49.039-18.06z m35.084-12.93l-4.385 1.61 5.98-49.81 50.334-18.44-6.08 49.91z m128.676-47.34c-16.945 6.37-34.387 12.74-51.829 19.2l6.081-49.91 27.508-10.07c5.282 11.21 13.156 28.99 18.24 40.78m-311.073 82.32l-5.183-13.4c19.336-7.23 47.244-17.49 78.54-29l-5.98 49.82c-6.379 2.37-12.857 4.75-19.137 7.13-4.406-4.97-9.93-8.92-16.159-11.57-6.229-2.66-13.004-3.93-19.821-3.74-0.798 0-1.894 0.19-2.791 0.19-2.634-0.03-5.266 0.12-7.874 0.48a10.6 10.6 0 0 0-1.595 0.09m-12.857 48.67l0.598-6.65c1.488-4.84 4.785-8.99 9.266-11.68 4.481-2.68 9.836-3.69 15.053-2.87 5.2 0.66 9.945 3.17 13.275 7.04 3.331 3.86 4.999 8.79 4.666 13.78-0.5 4.38-2.579 8.43-5.881 11.5-0.474 0.47-0.974 0.92-1.495 1.34-3.664 2.97-8.253 4.7-13.056 4.94-5.18 0.41-10.335-1.05-14.435-4.1s-6.847-7.45-7.692-12.35c-0.06-0.32-0.16-0.64-0.3-0.95m35.482 43.73c0.997-0.28 1.794-0.85 2.791-1.23a49 49 0 0 0 10.166-4.57l0.2-0.09a51.9 51.9 0 0 0 10.764-8.65c0.299-0.29 0.598-0.48 0.797-0.67s0.698-0.95 1.097-1.33c0.797-0.95 1.495-1.9 2.193-2.85a43.2 43.2 0 0 0 7.176-12.36l38.273-0.28-23.223 35.74H107.535z m314.961 155.62c-54.62-0.19-247.883-1.05-314.164-1.14-0.099-28.05-0.299-83.66-0.498-122.92h316.355c-0.598 47.15-1.294 99.72-1.693 124.06m1.793-152.01h-57.41l24.12-37.26 33.39-0.29c0.099 10.56-0.1 23.48-0.1 37.55\", style: { fill: \"currentcolor\" } }] }, \"add-to-library\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M141.81899999999996 68.92000000000007h212.299c9.07-0.28 16.146-6.94 15.947-15.02-0.299-7.7-7.276-13.88-15.947-14.16H141.81899999999996c-9.07 0.28-16.147 6.94-15.948 15.02 0.299 7.7 7.276 13.88 15.948 14.16\", style: { fill: \"currentcolor\" } }, { d: \"M118.09599999999989 112.74000000000024h254.26c8.874 0 16.044-6.55 16.044-14.54 0-8.08-7.17-14.54-16.044-14.54h-254.26c-8.871 0-16.047 6.56-16.047 14.54 0.1 7.99 7.276 14.54 16.047 14.54\", style: { fill: \"currentcolor\" } }, { d: \"M391.68999999999994 296.21000000000004h-40.661v-38.69c0-3.48-1.449-6.81-4.029-9.27-2.579-2.47-6.077-3.84-9.725-3.84s-7.147 1.37-9.726 3.84c-2.58 2.46-4.029 5.79-4.029 9.27v38.69h-40.566c-3.648 0-7.146 1.38-9.726 3.84-2.579 2.47-4.029 5.8-4.029 9.28s1.45 6.82 4.029 9.28c2.58 2.46 6.078 3.84 9.726 3.84h40.566v38.69c0 3.48 1.449 6.82 4.029 9.28s6.078 3.84 9.726 3.84 7.146-1.38 9.725-3.84c2.58-2.46 4.029-5.8 4.029-9.28v-38.69h40.661c3.65 0 7.15-1.38 9.73-3.84s4.03-5.8 4.03-9.28-1.45-6.81-4.03-9.28c-2.58-2.46-6.08-3.84-9.73-3.84\", style: { fill: \"currentcolor\" } }, { d: \"M424.3799999999999 200.20000000000027v-28.52c-0.02-11.96-5.01-23.45-13.88-31.91s-20.91-13.22-33.458-13.24H99.85799999999995c-12.555 0.01-24.592 4.76-33.469 13.23s-13.867 19.95-13.875 31.92v170.16c0.015 11.97 5.007 23.46 13.883 31.92 8.876 8.47 20.909 13.22 33.461 13.24h118.608c11.763 16.43 27.129 30.23 45.035 40.43 17.907 10.21 37.925 16.59 58.669 18.68 20.744 2.1 41.719-0.13 61.47-6.52 19.75-6.4 37.81-16.81 52.92-30.53 15.12-13.71 26.94-30.39 34.62-48.89 7.69-18.49 11.07-38.36 9.92-58.22-1.17-19.87-6.84-39.25-16.63-56.82-9.8-17.57-23.47-32.9-40.09-44.93m-324.522 157.61c-4.465-0.01-8.744-1.7-11.901-4.71s-4.935-7.09-4.944-11.35v-170.16c0.009-4.26 1.787-8.34 4.944-11.35 3.157-3.02 7.436-4.71 11.901-4.72h277.184c4.468 0.01 8.738 1.7 11.898 4.72 3.16 3.01 4.94 7.09 4.95 11.35v11.41c-25.963-10.66-54.638-13.79-82.448-8.99-27.81 4.79-53.523 17.29-73.928 35.95-20.405 18.65-34.596 42.61-40.802 68.92-6.206 26.29-4.152 53.74 5.906 78.93z m237.515 62.75c-15.997-0.01-31.821-3.16-46.483-9.26-14.663-6.11-27.849-15.02-38.735-26.2l-4.486-5.23a116 116 0 0 1-13.455-19.68l-1.296-2.38h-0.498c-11.035-21.73-14.358-46.28-9.469-69.97 4.888-23.68 17.724-45.21 36.567-61.32 18.845-16.13 42.675-25.96 67.894-28.02 25.218-2.06 50.458 3.76 71.908 16.58 21.44 12.81 37.93 31.95 46.97 54.49 9.05 22.55 10.16 47.29 3.17 70.49s-21.72 43.6-41.93 58.12c-20.22 14.52-44.846 22.38-70.157 22.38\", style: { fill: \"currentcolor\" } }] }, \"remove-from-library\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M391.5999999999999 296.21000000000004h-108.74c-3.65 0-7.15 1.38-9.73 3.84-2.58 2.47-4.02 5.8-4.02 9.28s1.44 6.82 4.02 9.28 6.08 3.84 9.73 3.84h108.74c3.65 0 7.15-1.38 9.73-3.84s4.03-5.8 4.03-9.28-1.45-6.81-4.03-9.28c-2.58-2.46-6.08-3.84-9.73-3.84\", style: { fill: \"currentcolor\" } }, { d: \"M424.3899999999999 200.20000000000027v-28.52c-0.01-11.97-4.99-23.45-13.87-31.92s-20.91-13.22-33.47-13.23h-277.19c-12.54 0.02-24.58 4.78-33.45 13.24-8.88 8.46-13.87 19.95-13.89 31.91v170.16c0.02 11.97 5.01 23.45 13.89 31.92 8.87 8.46 20.91 13.22 33.45 13.24h118.61c11.76 16.43 27.13 30.23 45.03 40.43 17.92 10.21 37.93 16.59 58.68 18.68 20.74 2.1 41.71-0.13 61.47-6.52 19.75-6.4 37.81-16.81 52.92-30.53 15.12-13.71 26.93-30.39 34.62-48.89 7.69-18.49 11.07-38.36 9.92-58.22-1.17-19.87-6.84-39.25-16.63-56.82-9.8-17.57-23.47-32.9-40.09-44.93m-324.53 157.61c-4.46-0.01-8.74-1.7-11.9-4.71s-4.93-7.09-4.94-11.35v-170.16c0.01-4.26 1.78-8.34 4.94-11.35 3.16-3.02 7.44-4.71 11.9-4.72h277.19c4.46 0.01 8.74 1.7 11.9 4.72 3.16 3.01 4.93 7.09 4.94 11.35v11.41c-25.95-10.66-54.63-13.79-82.44-8.99-27.81 4.79-53.53 17.29-73.93 35.95-20.4 18.65-34.6 42.61-40.81 68.92-6.19 26.29-4.14 53.74 5.92 78.93z m237.42 62.75c-16-0.01-31.82-3.16-46.49-9.26-14.66-6.11-27.84-15.02-38.73-26.2l-4.48-5.23a115.4 115.4 0 0 1-13.46-19.68l-1.29-2.38h-0.5c-10.03-19.79-13.67-41.97-10.48-63.72 3.19-21.76 13.08-42.14 28.42-58.54 15.33-16.41 35.41-28.1 57.72-33.62 22.3-5.52 45.82-4.6 67.57 2.63 21.76 7.23 40.78 20.45 54.66 37.99 13.88 17.55 21.99 38.62 23.32 60.56 1.31 21.94-4.21 43.76-15.89 62.7-11.68 18.95-28.99 34.16-49.74 43.72-15.77 7.31-33.09 11.08-50.63 11.03\", style: { fill: \"currentcolor\" } }, { d: \"M141.82999999999993 68.92000000000007h212.29c9.07-0.28 16.15-6.94 15.95-15.02-0.3-7.7-7.27-13.88-15.95-14.16h-212.29c-9.07 0.28-16.15 6.94-15.95 15.02 0.3 7.7 7.27 13.88 15.95 14.16\", style: { fill: \"currentcolor\" } }, { d: \"M118.09999999999991 112.74000000000024h254.36c8.87 0 16.05-6.55 16.05-14.54 0-8.08-7.18-14.54-16.05-14.54h-254.26c-8.87 0-16.04 6.56-16.04 14.54 0 7.99 7.17 14.54 15.94 14.54\", style: { fill: \"currentcolor\" } }] }, details: { viewBox: \"0 0 512 512\", paths: [{ d: \"M414.23 76.04999999999973h-314.56c-14.09 0.03-27.58 5.37-37.54 14.87-9.96 9.49-15.56 22.37-15.59 35.8v234.04c0.03 13.43 5.63 26.3 15.59 35.8s23.45 14.84 37.54 14.87h314.56c14.08-0.03 27.58-5.37 37.53-14.87 9.96-9.5 15.56-22.37 15.59-35.8v-234.04c-0.04-13.42-5.65-26.29-15.61-35.78-9.95-9.5-23.44-14.85-37.51-14.89m19.73 284.71c-0.01 4.99-2.09 9.77-5.79 13.3s-8.71 5.51-13.94 5.52h-314.56c-5.24-0.01-10.25-1.99-13.95-5.52s-5.78-8.31-5.79-13.3v-234.04c0.01-4.99 2.09-9.77 5.79-13.3s8.71-5.52 13.95-5.52h314.56c5.23 0 10.24 1.99 13.94 5.52s5.78 8.31 5.79 13.3z\", style: { fill: \"currentcolor\" } }, { d: \"M129.97000000000003 175.48000000000002h203.92c4.17-0.27 8.07-2.04 10.92-4.95 2.85-2.92 4.43-6.75 4.43-10.73s-1.58-7.81-4.43-10.73c-2.85-2.91-6.75-4.68-10.92-4.96h-203.92c-4.17 0.28-8.08 2.05-10.92 4.96-2.85 2.92-4.43 6.75-4.43 10.73s1.58 7.81 4.43 10.73c2.84 2.91 6.75 4.68 10.92 4.95\", style: { fill: \"currentcolor\" } }, { d: \"M219.3699999999999 284.4200000000001h-89.4c-4.18 0.28-8.09 2.06-10.95 4.98s-4.44 6.76-4.44 10.76c0 3.99 1.58 7.84 4.44 10.76s6.77 4.69 10.95 4.97h87.51c4.17-0.28 8.08-2.05 10.94-4.97 2.85-2.92 4.45-6.77 4.45-10.76 0-4-1.6-7.84-4.45-10.76-2.86-2.92-6.77-4.7-10.94-4.98\", style: { fill: \"currentcolor\" } }, { d: \"M335.99000000000024 212.3699999999999h-206.02c-4.18 0.28-8.09 2.05-10.95 4.97-2.86 2.93-4.44 6.77-4.44 10.76 0 4 1.58 7.85 4.44 10.76 2.86 2.92 6.77 4.7 10.95 4.98h204.42c4.18-0.28 8.08-2.06 10.94-4.98 2.86-2.91 4.45-6.76 4.45-10.76 0-3.99-1.59-7.83-4.45-10.76-2.86-2.92-6.76-4.69-10.94-4.97\", style: { fill: \"currentcolor\" } }] }, memory: { viewBox: \"0 0 512 512\", paths: [{ d: \"M437.1500000000001 136.0300000000002l-59.7-56.94c-3.6-3.46-7.89-6.2-12.61-8.06a40.3 40.3 0 0 0-14.9-2.78h-212.5c-13.75 0.01-26.92 5.22-36.64 14.49s-15.18 21.84-15.19 34.95v247.25c0.01 13.11 5.47 25.68 15.19 34.95s22.89 14.48 36.64 14.48h259.24c13.75 0 26.92-5.21 36.64-14.48s15.18-21.84 15.19-34.95v-202.67c0.02-4.88-0.97-9.71-2.92-14.2-1.95-4.51-4.82-8.6-8.44-12.04m-280.28-5.99h142.53c0.85 0 1.7 0.16 2.49 0.47 0.78 0.31 1.5 0.77 2.1 1.34a6.08 6.08 0 0 1 1.89 4.37v37.08c0 0.81-0.17 1.61-0.49 2.36-0.65 1.52-1.92 2.72-3.5 3.35-0.79 0.31-1.64 0.47-2.49 0.47h-142.53c-0.84 0-1.69-0.16-2.48-0.47-1.58-0.63-2.85-1.83-3.51-3.35-0.31-0.75-0.48-1.55-0.48-2.36v-37.08c0-0.8 0.17-1.61 0.48-2.36 0.49-1.13 1.32-2.1 2.39-2.78a6.77 6.77 0 0 1 3.6-1.04m113.23 247.26c-12.81 0.57-25.5-2.49-36.48-8.79-10.97-6.31-19.75-15.58-25.21-26.65-5.45-11.05-7.34-23.41-5.44-35.5 1.92-12.1 7.54-23.37 16.17-32.41 8.62-9.04 19.87-15.44 32.31-18.39 12.44-2.94 25.52-2.3 37.58 1.85 12.06 4.13 22.55 11.6 30.17 21.43 7.61 9.83 12 21.6 12.6 33.82 0.1 1.9 0.1 3.9 0 5.8-0.77 15.37-7.52 29.9-18.93 40.79-11.4 10.87-26.65 17.31-42.77 18.05\", style: { fill: \"currentcolor\" } }] }, \"play-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M134.74599999999998 101.34000000000015v280.14c0 16.83 15.051 27.57 27.509 19.49l219.775-143.26c8.771-6.56 10.664-19.2 4.186-28.23a21.6 21.6 0 0 0-4.186-4.28l-219.775-143.35c-12.458-8.08-27.509 2.76-27.509 19.49Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"36.752\", fill: \"none\" } }] }, play: { viewBox: \"0 0 512 512\", paths: [{ d: \"M396.47999999999996 233.94999999999982l-231.137-152.67a13.6 13.6 0 0 0-4.771-1.98c-1.711-0.35-3.48-0.38-5.202-0.07-1.722 0.29-3.366 0.92-4.836 1.82-1.47 0.91-2.737 2.08-3.73 3.46a12.6 12.6 0 0 0-2.392 7.23v305.53a12.15 12.15 0 0 0 1.025 4.85 12.6 12.6 0 0 0 2.9 4.11 13.2 13.2 0 0 0 4.332 2.74c1.619 0.62 3.352 0.95 5.099 0.94 2.714 0.02 5.365-0.78 7.575-2.28l231.137-152.67a13.1 13.1 0 0 0 3.627-3.56 12.4 12.4 0 0 0 1.919-4.61 12.1 12.1 0 0 0-0.084-4.96 12.25 12.25 0 0 0-2.073-4.55 13.4 13.4 0 0 0-3.389-3.24z\", style: { fill: \"currentcolor\" } }] }, \"external-player\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M434.0600000000004 243.17000000000007c0.1 24.52 0 49.05 0.1 73.67z\", style: { fill: \"currentcolor\" } }, { d: \"M469.4400000000005 130.51999999999998c0-11.03-4.48-19.11-14.15-25.29-4.69-3.04-10.27-4.47-16.95-4.47h-362.8c-5.99-0.16-11.89 1.4-16.94 4.47-9.67 6.18-14.16 14.26-14.16 25.29v0.09c0.1 36.32 0.13 72.63 0.1 108.95V310.57000000000016c0 15.49 0 30.89-0.1 46.39-0.04 1.92 0.16 3.83 0.6 5.7 0.84 4.52 2.83 8.76 5.8 12.36s6.84 6.44 11.25 8.27c1.65 0.65 3.35 1.19 5.08 1.62 2.56 0.68 5.21 1.03 7.87 1.04h46.55l14.75-33.08-33.29-0.19c-3.89 0-7.87-0.1-11.86 0.09-4.19 0.19-10.47 0.38-11.26-6.37-0.09-0.76-0.12-1.52-0.1-2.28v-201.62c0-2.28 0-4.76 2.09-6.75 2.09-2 4.78-2 7.08-1.9l34.58 0.19h267.22l34.59-0.19c2.29 0 4.98 0 7.07 1.9 2.1 1.99 2.1 4.56 2.1 6.75v201.72c0.02 0.76-0.01 1.52-0.1 2.28-0.9 6.84-7.08 6.56-11.27 6.37-3.88-0.19-7.87-0.1-11.86-0.1l-26.61 0.19 15.95 33.09h38.57c2.66-0.07 5.3-0.42 7.87-1.05 1.76-0.36 3.46-0.9 5.09-1.62 4.41-1.81 8.28-4.65 11.26-8.26 2.97-3.59 4.96-7.85 5.78-12.36 0.48-1.87 0.68-3.79 0.6-5.71-0.1-15.21-0.1-30.42-0.1-45.63v-71.77c0-36.31-0.1-72.63 0.1-108.94-0.4-0.1-0.4-0.19-0.4-0.19\", style: { fill: \"currentcolor\" } }, { d: \"M339.5700000000006 320.1700000000001c-4.78-14.55-4.88-14.55-20.73-13.69h-0.5c-2.89 0-4.39 0.95-3.59 4.08 1.1 4.38-0.99 7.7-4.38 10.56-4.79 3.99-10.47 6.27-16.45 7.98-17.84 5.13-35.98 5.42-54.12 2.76-10.07-1.52-20.03-3.8-28.31-10.27-2.99-2.37-5.18-5.04-5.28-8.84-0.1-6.27-0.1-6.27-7.08-6.27q-2.49 0.135-4.98 0c-5.58-0.38-8.57 1.99-10.17 7.03-5.88 18.63-12.16 37.17-18.14 55.8a38.2 38.2 0 0 0-1.99 9.32c-0.3 3.9 1.4 6.37 5.98 6.56 4.49 0.09 8.97 0.66 13.56 0.66 25.91 0.1 51.92 0 77.84 0 27.41 0 54.92 0.1 82.33 0 14.55-0.09 16.54-2.75 12.26-15.97-5.29-16.54-10.77-33.08-16.25-49.71\", style: { fill: \"currentcolor\" } }, { d: \"M227.04000000000042 245.35000000000036c-2.89 9.51-5.88 19.02-8.87 28.43-2.29 7.03-1.29 9.6 5.68 13.02 2.99 1.39 6.09 2.57 9.27 3.52a79.9 79.9 0 0 0 27.31 2.94c3.69 0.17 7.38 0.13 11.06-0.09 10.17-0.95 20.34-2.28 29.11-7.89 2.59-1.62 5.08-3.71 4.09-7.03-3.39-11.32-7.08-22.63-10.67-33.94-0.5-1.52-1-2.57-3.19-1.52-14.05 6.46-28.9 5.89-43.75 4.47-5.19-0.48-10.47-1.15-14.86-3.9-3.28-1.9-4.18-1.05-5.18 1.99\", style: { fill: \"currentcolor\" } }, { d: \"M277.47000000000025 205.71000000000004c3.09-0.76 3.89-2.56 2.9-5.41-1.7-5.04-3.09-10.08-4.79-15.12-3.09-9.03-4.58-9.98-14.35-9.98-10.57 0-12.66 1.42-15.65 11.03-1.5 4.75-2.89 9.5-4.49 14.16-0.89 2.66-0.09 4.37 2.7 5.13a70.5 70.5 0 0 0 33.68 0.19\", style: { fill: \"currentcolor\" } }] }, \"series-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M462.8600000000001 126.0600000000004c-7.77-5.23-16.64-5.99-25.61-5.99h-150.31c-3.39 0-6.97 0.85-11.26-1.71 12.66-12.74 24.82-24.91 36.88-37.17 8.37-8.46 16.74-16.83 24.92-25.39 4.48-4.75 6.58-10.17 1.09-15.39-5.48-5.23-10.96-2.95-15.94 1.33-1.5 1.33-2.89 2.75-4.29 4.08-18.14 18.16-36.38 36.32-54.22 54.76-4.69 4.75-8.07 6.18-12.96 0.47-4.68-5.32-9.97-9.98-14.95-15.02-14.85-14.73-29.5-29.56-44.45-44.29-4.39-4.47-9.47-6.94-15.25-2.19s-4.69 10.27-0.4 15.4c1.89 2.09 3.79 4.18 5.88 6.08 16.94 17.02 33.99 33.94 50.83 51.15 1.8 1.8 5.78 3.42 4.19 6.46-1.4 2.66-5.28 1.43-8.07 1.43h-152c-27.41 0.09-39.77 12.07-39.77 38.12v222.06c0 26.24 12.26 38.03 39.57 38.03h359.61c5.21-0.02 10.42-0.47 15.55-1.33 6.73-1.3 12.79-4.74 17.18-9.78 4.39-5.03 6.84-11.34 6.94-17.89q0.15-119.775 0-239.46c0.4-10.46-4.59-17.97-13.16-23.76m-100.76 231.09c-0.01 7.05-2.95 13.82-8.19 18.81-5.23 4.99-12.33 7.8-19.72 7.81h-229.84c-7.4-0.01-14.5-2.82-19.73-7.81s-8.17-11.76-8.18-18.81v-178.05c0.01-7.05 2.95-13.82 8.18-18.81s12.33-7.8 19.73-7.81h229.84c7.39 0.01 14.49 2.82 19.72 7.81 5.24 4.99 8.18 11.76 8.19 18.81z m58.1-98.58c-5.68-0.11-11.09-2.28-15.17-6.05-4.06-3.78-6.47-8.88-6.75-14.29-0.05-5.37 2.14-10.53 6.08-14.36 3.94-3.85 9.32-6.02 14.95-6.08h0.4c12.85-0.09 21.32 7.7 21.42 19.77 0.11 5.43-2.02 10.67-5.94 14.6-3.91 3.94-9.31 6.24-14.99 6.41m-0.49-64.16c-4.25 0-8.39-1.2-11.92-3.45-3.52-2.24-6.27-5.43-7.9-9.17a19.67 19.67 0 0 1-1.22-11.82c0.83-3.97 2.87-7.61 5.87-10.47s6.81-4.8 10.98-5.59c4.16-0.79 8.47-0.39 12.39 1.16s7.26 4.17 9.62 7.54c2.35 3.36 3.6 7.32 3.6 11.36 0.09 5.29-2.01 10.42-5.86 14.25-3.84 3.82-9.12 6.04-14.67 6.19z\", style: { fill: \"currentcolor\" } }] }, series: { viewBox: \"0 0 512 512\", paths: [{ d: \"M462.8600000000001 126.05999999999949c-7.77-5.23-16.64-5.99-25.61-5.99h-150.31c-3.39 0-6.97 0.85-11.26-1.71 12.66-12.74 24.82-24.91 36.88-37.17 8.37-8.46 16.74-16.83 24.92-25.39 4.48-4.75 6.58-10.17 1.09-15.4-5.48-5.22-10.96-2.94-15.94 1.34-1.5 1.33-2.89 2.75-4.29 4.08-18.14 18.16-36.38 36.32-54.22 54.76-4.69 4.75-8.07 6.18-12.96 0.47-4.68-5.32-9.97-9.98-14.95-15.02-14.85-14.73-29.5-29.56-44.45-44.29-4.39-4.47-9.47-6.94-15.25-2.19s-4.69 10.27-0.4 15.4c1.89 2.09 3.79 4.18 5.88 6.08 16.94 17.02 33.99 33.94 50.83 51.15 1.8 1.8 5.78 3.42 4.19 6.46-1.4 2.66-5.28 1.43-8.07 1.43h-152c-27.41 0.09-39.77 12.07-39.77 38.12v222.06c0 26.24 12.26 38.03 39.57 38.03h359.61c5.21-0.02 10.42-0.47 15.55-1.33 6.73-1.29 12.79-4.74 17.18-9.78 4.39-5.03 6.84-11.34 6.94-17.89q0.15-119.775 0-239.46c0.4-10.46-4.59-17.97-13.16-23.76m-100.76 231.09c-0.01 7.05-2.95 13.82-8.19 18.81-5.23 4.99-12.33 7.8-19.72 7.81h-229.84c-7.4-0.01-14.5-2.82-19.73-7.81s-8.17-11.76-8.18-18.81v-178.05c0.01-7.05 2.95-13.82 8.18-18.81s12.33-7.8 19.73-7.81h229.84c7.39 0.01 14.49 2.82 19.72 7.81 5.24 4.99 8.18 11.76 8.19 18.81z m58.1-98.58c-5.68-0.11-11.09-2.27-15.17-6.05-4.06-3.78-6.47-8.88-6.75-14.29-0.05-5.37 2.14-10.53 6.08-14.37 3.94-3.83 9.32-6.01 14.95-6.07h0.4c12.85-0.09 21.32 7.7 21.42 19.77 0.11 5.43-2.02 10.68-5.94 14.6-3.91 3.94-9.31 6.24-14.99 6.41m-0.49-64.17c-4.24 0-8.39-1.19-11.92-3.44-3.51-2.24-6.26-5.43-7.88-9.17a19.64 19.64 0 0 1-1.23-11.81c0.83-3.96 2.88-7.61 5.88-10.46 2.99-2.86 6.8-4.81 10.97-5.6 4.16-0.79 8.46-0.38 12.38 1.17 3.92 1.54 7.25 4.16 9.62 7.53a19.76 19.76 0 0 1 3.6 11.35c0.09 5.3-2.01 10.42-5.86 14.25-3.84 3.82-9.12 6.04-14.67 6.18z\", style: { fill: \"currentcolor\" } }, { d: \"M117.09999999999991 176.0599999999995h207.32s11.96 0 11.96 11.4v160.66s0 11.41-11.96 11.41h-207.32s-11.96 0-11.96-11.41v-160.66s0-11.4 11.96-11.4\", style: { fill: \"currentcolor\" } }] }, megaphone: { viewBox: \"0 0 512 512\", paths: [{ d: \"M374.6199999999999 63.029999999999745s-74.27 88.15-144.21 88.15h-137.41c-3.67 0-7.17 1.39-9.78 3.86-2.59 2.48-4.04 5.83-4.04 9.33v78.71c0.04 3.46 1.52 6.78 4.1 9.2 2.6 2.44 6.08 3.8 9.72 3.79h137.41c69.94 0 144.21 88.75 144.21 88.75 5.36 6.49 20.62 1.96 20.62-8.07v-265.65c0-10.23-14.43-15.55-20.62-8.07\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M79.1899999999996 229.89999999999964s-13.63-4.92-13.63-26.17c0-21.26 13.63-26.17 13.63-26.17\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M409.0799999999999 221.82999999999993c4.99-1.63 9.12-5.04 11.51-9.53a18.56 18.56 0 0 0 1.28-14.48 19.8 19.8 0 0 0-4.93-7.5 20.74 20.74 0 0 0-7.86-4.69\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M244.42999999999938 152.5599999999995v99.57\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M117.75999999999931 152.5599999999995v99.57\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M148.08999999999924 256.0699999999997v137.74a6.23 6.23 0 0 0 1.13 3.62c0.74 1.08 1.81 1.91 3.07 2.4 0.82 0.32 1.71 0.48 2.61 0.47h45.39c1.81 0 3.62-0.34 5.29-0.99 1.68-0.67 3.21-1.64 4.49-2.87 1.28-1.22 2.3-2.68 3-4.27 0.69-1.6 1.04-3.32 1.04-5.05 0-1.27-0.21-2.53-0.62-3.74-7.22-22.04-24.14-46.83-24.14-87.96h13.62c3.64 0.01 7.13-1.35 9.72-3.78 2.58-2.43 4.06-5.74 4.1-9.2v-13.19c0.01-3.47-1.41-6.79-3.96-9.26-2.56-2.47-6.02-3.88-9.65-3.92h-13.83\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }] }, \"channels-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M197.23999999999978 286.3299999999999v-120.63c-0.01-2.59 0.78-5.12 2.28-7.28 1.49-2.15 3.63-3.84 6.13-4.83 1.66-0.66 3.44-1 5.24-1.01 2.33 0.02 4.63 0.57 6.68 1.61l113.82 60.27c2.97 1.54 5.23 4.08 6.35 7.12s1.01 6.36-0.3 9.34c-1.19 2.74-3.33 5.02-6.05 6.45l-113.82 60.37c-2.08 1.12-4.44 1.7-6.83 1.68-2.38-0.02-4.72-0.64-6.79-1.8-2.06-1.16-3.76-2.8-4.94-4.79a12.44 12.44 0 0 1-1.77-6.5\", style: { fill: \"currentcolor\" } }, { d: \"M411.6300000000001 417.1399999999994h-300.91c-3.78-0.15-7.36-1.69-9.98-4.29-2.63-2.61-4.09-6.08-4.09-9.69s1.46-7.08 4.09-9.68c2.62-2.61 6.2-4.15 9.98-4.29h300.91c3.79 0.14 7.36 1.68 9.99 4.29 2.62 2.6 4.08 6.07 4.08 9.68s-1.46 7.08-4.08 9.69c-2.63 2.6-6.2 4.14-9.99 4.29\", style: { fill: \"currentcolor\" } }, { d: \"M456.5799999999999 367.8899999999994h-388.62c-5.09 0-10.13-0.96-14.84-2.81-4.7-1.85-8.98-4.58-12.58-8.01-3.59-3.44-6.45-7.51-8.4-12s-2.95-9.3-2.95-14.16v-209.8c0-4.86 1-9.67 2.95-14.15 1.95-4.49 4.81-8.57 8.4-12 3.6-3.43 7.88-6.16 12.58-8.01a40.2 40.2 0 0 1 14.84-2.82h388.62c5.09 0 10.14 0.95 14.84 2.82 4.71 1.85 8.98 4.58 12.58 8.01s6.46 7.51 8.4 12a35.4 35.4 0 0 1 2.95 14.15v209.8c-0.02 9.81-4.1 19.21-11.37 26.14s-17.12 10.82-27.4 10.84m-388.72-259.8c-3.64 0.01-7.13 1.39-9.71 3.85-2.59 2.46-4.03 5.79-4.04 9.27v209.7c0.01 3.48 1.45 6.81 4.04 9.27 2.58 2.46 6.07 3.84 9.71 3.85h388.62c3.65-0.01 7.14-1.39 9.72-3.85s4.03-5.79 4.03-9.27v-209.8c0-3.48-1.45-6.8-4.03-9.27-2.58-2.46-6.07-3.84-9.72-3.85h-388.62z\", style: { fill: \"currentcolor\" } }] }, channels: { viewBox: \"0 0 512 512\", paths: [{ d: \"M456.5799999999999 367.8900000000003h-388.62c-5.09 0-10.13-0.95-14.84-2.81-4.7-1.85-8.98-4.58-12.58-8.01-3.59-3.44-6.45-7.51-8.4-12s-2.95-9.3-2.95-14.16v-209.8c0-4.86 1-9.67 2.95-14.15 1.95-4.49 4.81-8.57 8.4-12 3.6-3.43 7.88-6.16 12.58-8.01 4.71-1.86 9.75-2.82 14.84-2.82h388.62c5.09 0 10.14 0.96 14.84 2.82 4.71 1.85 8.98 4.58 12.58 8.01s6.46 7.51 8.4 12a35.4 35.4 0 0 1 2.95 14.15v209.8c-0.02 9.8-4.1 19.21-11.37 26.14s-17.12 10.83-27.4 10.84m-245.69-215.31c-1.8 0.01-3.58 0.35-5.24 1.01-1.67 0.66-3.17 1.63-4.44 2.85a13 13 0 0 0-2.95 4.25c-0.68 1.58-1.03 3.29-1.02 5.01v120.63c-0.03 3.44 1.38 6.76 3.91 9.21 2.54 2.45 5.98 3.85 9.59 3.88h0.12c2.35 0 4.67-0.58 6.71-1.68l113.82-60.37a13.4 13.4 0 0 0 4.47-3.72c1.18-1.54 2-3.3 2.39-5.17 0.39-1.88 0.35-3.81-0.13-5.66s-1.36-3.58-2.62-5.08a13.6 13.6 0 0 0-4.11-3.28l-113.82-60.27a15.1 15.1 0 0 0-6.68-1.61\", style: { fill: \"currentcolor\" } }, { d: \"M411.6300000000001 417.1400000000003h-300.91c-3.78-0.15-7.36-1.69-9.98-4.29-2.63-2.61-4.09-6.08-4.09-9.69s1.46-7.08 4.09-9.69c2.62-2.6 6.2-4.14 9.98-4.28h300.91c3.79 0.14 7.36 1.68 9.99 4.28 2.62 2.61 4.08 6.08 4.08 9.69s-1.46 7.08-4.08 9.69c-2.63 2.6-6.2 4.14-9.99 4.29\", style: { fill: \"currentcolor\" } }] }, actors: { viewBox: \"0 0 512 512\", paths: [{ d: \"M125.45000000000073 311.5100000000002c6.84 4.9 11.7 11.08 15.77 20.05 18.77 41.28 50.5 67.06 94.31 76.61 7.62 1.68 15.42 2.55 23.24 2.56 24.01 0 47.77-8.47 70.65-25.2 21.36-15.64 36.7-35.21 45.59-58.2 2.69-6.97 7.52-11.02 12.66-14.89 18.32-13.83 27.19-30.99 27.09-52.48-0.04-8.88-3.01-15.74-9.07-20.98-7.71-6.67-7.55-14.43-6.76-19.7l1.24-8.1c1.73-10.97 3.35-21.35 3.88-32 1.64-32.77-11.62-61.48-40.52-87.76-20.7-18.81-44.74-31.29-73.48-38.18a302 302 0 0 0-38.13-2.76c-11.05 0-19.99 0.89-26.6 2.62-43.05 11.34-74.71 32.16-96.83 63.69-12.88 18.36-18.31 40.6-16.57 67.96 0.49 7.79 1.42 15.8 2.33 23.53 0.42 3.64 0.84 7.28 1.22 10.94 0.42 3.85 1.26 11.9-5.8 18.6-11.82 11.22-13.73 24.53-6.43 44.55 4.15 11.63 11.89 21.79 22.21 29.14m-6.29-53.69c1.71-8.77 6.85-14.86 14.49-17.14 2.29-0.68 3.06-0.91 2.74-5.6-0.99-14.14 2.67-27.57 6.78-39.97 3.3-10.35 9.76-19.51 18.56-26.33 1.97-1.54 5.06-3.57 9.02-3.57 2.42 0 8.37 0.89 11.01 9.11 5.59 17.33 18.41 27.78 44.28 36.05a85.5 85.5 0 0 0 26.2 4.24c1.61 0 3.21-0.04 4.83-0.14 2.56-0.11 5.1-0.45 7.59-1.03-4.58-6.29-9.49-18.97-9.16-24.25l1.34-20.61 13.2 16.37c12.16 15.06 29.48 18.99 46.39 20.98 3.66 0.43 7.34 0.64 11.01 0.64 10.45 0 20.84-1.52 33.22-3.79 2.11-0.45 4.24-0.7 6.39-0.76 11.62 0 11.76 11.07 11.8 14.72 0.08 8.03-0.14 15.2-0.71 21.92-0.04 0.35-0.05 0.7-0.02 1.04 0.33 0.2 0.66 0.38 1.02 0.52 13.76 6 18.73 14.95 16.15 29-2.52 13.72-8.5 33-31.16 41.84-0.61 1.02-1.09 2.1-1.41 3.25l-0.65 1.84c-7.38 19.69-17.71 35.33-31.63 47.84-20.78 18.67-44.13 28.81-69.41 30.13-1.7 0.08-3.39 0.13-5.06 0.13-20.1 0-39.82-6.42-58.63-19.13-21.74-14.4-37.82-35.32-45.68-59.43-1.25-3.79-2.44-5.19-5.57-6.56-17.47-7.62-30.57-32.55-26.93-51.31\", style: { fill: \"currentcolor\" } }] }, \"anime-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M358.9200000000001 128.55000000000018c15.56-17.46 35.51-25.42 59.24-22.09 16.55 2.33 30.06 10.56 40.54 23.47 19.76 24.39 19.12 72.77-30.15 93.25 0.16 2.08 0.2 4.32 0.5 6.55 1.48 10.46 3.47 20.87 4.44 31.37 1.23 13.44-3.38 18.16-17.48 19.38-1.02 0.17-2.03 0.42-3 0.74 6.02 25.39 12.02 50.7 18.01 75.94 0.73 3.06 1.49 6.12 2 9.22 1.33 8.01-2.83 14.37-10.1 15.7-7.84 1.41-14.32-2.95-16.35-11.17-3.09-12.51-6.07-25.04-9.14-37.56-0.33-1.32-0.93-2.57-1.8-4.98-30.32 53.03-75.26 83.33-138.47 83.37-63.32 0.05-108.39-30.1-139.11-83.87-1.98 7.67-3.66 13.88-5.18 20.13-1.96 8.07-3.6 16.2-5.75 24.23-0.87 3.38-3.1 6.31-6.2 8.13-3.11 1.84-6.86 2.43-10.42 1.65-6.8-1.52-11.29-7.92-9.64-15.26 5.09-22.61 10.57-45.14 15.88-67.71 1.38-5.84 2.69-11.69 4.03-17.52-0.59-0.33-1.07-0.82-1.59-0.86-15.77-1.38-20.16-5.93-18.69-20.91 0.99-10.22 3-20.33 4.49-30.51 0.29-1.95 0.31-3.94 0.51-6.56-22.04-8.49-37.11-23.44-41.47-45.97-3.41-17.55 0.61-34.19 12.56-48.55 20.21-24.26 65.25-35.02 98.77 0.15 67.25-39.69 134.76-39.99 203.57 0.24m-12.01 25.12c-51.66-39.42-131.52-37.81-179.31-0.22 3.96 39-14.89 62.58-54.35 72.58-1.75 9-3.46 17.85-5.33 27.53h57.29c3.01-8.96 5.82-17.68 8.86-26.31 2.9-8.22 10.13-12.55 17.03-10.48 8.12 2.45 11.57 9.08 9.01 17.84-1.83 6.25-3.99 12.43-6.07 18.84h49.67c0-8.11-0.16-15.52 0.04-22.92 0.23-8.51 5.9-14.39 13.38-14.28 7.53 0.11 12.78 5.9 13.07 14.6 0.15 4.3-0.02 8.6 0.07 12.91 0.08 3.31 0.34 6.61 0.52 9.87h49.23c-2.37-7.15-4.75-13.59-6.6-20.15-2.15-7.59 1.45-13.94 8.88-16.51 6.45-2.24 13.25 1.09 16.6 8.22 0.73 1.54 1.09 3.26 1.66 4.87 2.76 7.83 5.54 15.64 8.28 23.37h57.27c-1.98-9.8-3.78-18.66-5.66-27.98-17.66-3.59-32.57-10.88-42.98-24.97-10.36-14.04-14.02-29.5-10.56-46.81m33.92 127.52h-247.79c3.55 28.96 18.13 55.67 40.98 75.06 22.83 19.38 52.34 30.09 82.92 30.09 30.57 0 60.08-10.71 82.92-30.09 22.84-19.39 37.43-46.1 40.97-75.06m-275.86-82.07c18.38 1.83 36.28-14.91 36.24-32.92-0.04-18.79-15.39-34.06-35.02-34.32-20.2-0.26-36.65 15.1-36.4 34.01 0.11 8.84 3.87 17.27 10.45 23.49s15.47 9.72 24.73 9.74m303.29 0c15.75 1.47 35.15-11.23 35.79-33.44 0.51-18.61-15.88-33.55-35.65-33.86-21.63-0.33-35.86 18.49-35.79 33.72 0.08 19.64 19.21 35.36 35.65 33.58\", style: { fill: \"currentcolor\" } }, { d: \"M182.25 327.25c-4.05-4.57-3.27-11.46-1.68-14.58 3.99-7.87 13.96-9.31 21.25-2.74 6.72 6.06 13.09 7.93 21.82 3.84 7.5-3.5 15.62-0.4 18.43 5.76 3.18 6.93 0.1 13.79-7.61 17.89-18.93 10.07-40.06 3.66-52.21-10.18\", style: { fill: \"currentcolor\" } }, { d: \"M331.9499999999998 327.25c4.03-4.57 3.26-11.46 1.68-14.58-4-7.87-13.97-9.31-21.26-2.74-6.72 6.06-13.09 7.93-21.82 3.84-7.49-3.5-15.62-0.4-18.44 5.76-3.17 6.93-0.09 13.79 7.62 17.89 18.93 10.07 40.06 3.66 52.22-10.18\", style: { fill: \"currentcolor\" } }] }, anime: { viewBox: \"0 0 512 512\", paths: [{ d: \"M96.73999999999978 299.0500000000002c-5.31 22.57-10.79 45.1-15.88 67.71-1.65 7.34 2.83 13.75 9.64 15.27 3.56 0.78 7.31 0.19 10.42-1.65 3.11-1.83 5.33-4.76 6.2-8.14 2.15-8.02 3.78-16.16 5.75-24.24 1.52-6.24 3.2-12.45 5.18-20.12 30.72 53.77 75.79 83.92 139.11 83.87 63.21-0.04 108.15-30.34 138.47-83.37 0.87 2.41 1.47 3.66 1.8 4.99 3.06 12.51 6.05 25.04 9.14 37.55 2.02 8.22 8.51 12.58 16.34 11.16 7.28-1.31 11.44-7.68 10.11-15.69-0.51-3.1-1.27-6.16-2-9.22q-8.82-37.275-17.7-74.64h-312.78c-1.26 5.49-2.5 11.01-3.8 16.52m192.95 14.54c9.14 3.87 15.81 2.79 22.6-3.87 4.29-4.2 9.91-5.26 15.71-2.24 4.57 2.39 6.55 5.7 6.92 9.7 0.14 1.98-0.11 3.97-0.77 5.86a15 15 0 0 1-3.08 5.14c-11.7 13.09-32.89 19.32-51.87 9.13-4.09-2.2-7.36-4.78-8.11-9.57-1.74-10.97 7.7-18.76 18.6-14.15m-109.86 1c0.18-0.66 0.43-1.3 0.74-1.91 3.99-7.87 13.97-9.31 21.25-2.74 6.72 6.06 13.1 7.92 21.82 3.84 7.51-3.51 15.62-0.41 18.44 5.75 3.17 6.94 0.09 13.79-7.62 17.89-18.34 9.77-38.76 4.03-50.89-8.72a14.94 14.94 0 0 1-3.76-6.6c-0.66-2.46-0.65-5.05 0.02-7.51\", style: { fill: \"currentcolor\" } }, { d: \"M458.6999999999998 129.9300000000003c-10.47-12.91-23.99-21.14-40.54-23.47-23.73-3.33-43.68 4.64-59.24 22.09-68.81-40.22-136.33-39.92-203.57-0.23-33.52-35.17-78.56-24.42-98.77-0.15-11.96 14.36-15.97 31-12.56 48.55 4.36 22.53 19.42 37.48 41.47 45.96-0.2 2.63-0.23 4.62-0.51 6.57-0.53 3.57-1.11 7.13-1.68 10.69-0.3 1.85-0.17 3.73 0.37 5.54 0.53 1.8 1.47 3.46 2.75 4.89 1.27 1.41 2.86 2.55 4.64 3.34 1.79 0.78 3.73 1.19 5.69 1.19h65.54c3.01-8.96 5.82-17.68 8.86-26.32 2.9-8.21 10.13-12.55 17.03-10.48 8.12 2.46 11.57 9.08 9.01 17.84-1.83 6.25-3.99 12.43-6.07 18.84h49.67c0-8.1-0.16-15.52 0.04-22.92 0.23-8.51 5.9-14.39 13.38-14.27 7.53 0.11 12.78 5.9 13.07 14.6 0.15 4.3-0.02 8.6 0.07 12.9 0.08 3.31 0.34 6.61 0.52 9.87h49.23c-2.37-7.15-4.75-13.58-6.6-20.15-2.15-7.59 1.45-13.93 8.88-16.51 6.45-2.24 13.25 1.1 16.6 8.23 0.73 1.54 1.09 3.25 1.66 4.86 2.76 7.83 5.54 15.64 8.28 23.38h71.19c1.96 0 3.9-0.4 5.68-1.18a13.55 13.55 0 0 0 4.64-3.33c1.28-1.41 2.22-3.07 2.76-4.86 0.55-1.8 0.68-3.68 0.4-5.53-0.53-3.38-1.06-6.76-1.54-10.14-0.3-2.22-0.35-4.47-0.5-6.55 49.26-20.48 49.9-68.86 30.14-93.25m-353.72 69.2c-9.25-0.03-18.15-3.53-24.72-9.75-6.58-6.21-10.34-14.65-10.46-23.49-0.25-18.9 16.2-34.27 36.4-34.01 19.63 0.26 34.98 15.53 35.02 34.32 0.04 18.02-17.86 34.76-36.24 32.93m303.29 0c-16.44 1.78-35.57-13.93-35.65-33.58-0.06-15.23 14.16-34.05 35.79-33.72 19.77 0.31 36.16 15.26 35.65 33.86-0.63 22.22-20.04 34.91-35.79 33.44\", style: { fill: \"currentcolor\" } }] }, \"tv-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M375.2600000000002 293.5500000000002l82.42 55.33c2.45 1.03 5.12 1.45 7.78 1.24 2.65-0.21 5.22-1.03 7.47-2.38 2.22-1.39 4.02-3.28 5.28-5.51 1.25-2.22 1.9-4.71 1.9-7.23v-183.28c0.04-3.83-1.46-7.53-4.18-10.33-2.72-2.82-6.47-4.53-10.47-4.78-2.66-0.21-5.33 0.21-7.78 1.23l-82.42 55.33c-2.1 1.4-3.8 3.26-4.99 5.42-1.18 2.16-1.8 4.58-1.79 7.03v75.48c-0.01 2.45 0.61 4.87 1.79 7.04 1.19 2.15 2.89 4.01 4.99 5.41\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M268.80999999999995 365.03999999999996h-183.4c-6.81 0-13.53-1.28-19.81-3.77-6.28-2.5-11.98-6.16-16.77-10.77-9.65-9.29-15.13-21.81-15.25-34.89v-144.49c0-6.5 1.35-12.91 3.96-18.9 2.62-5.99 6.46-11.43 11.29-15.99 9.73-9.22 22.87-14.45 36.58-14.55h183.9c13.6 0.05 26.63 5.21 36.28 14.36 4.77 4.53 8.56 9.93 11.14 15.86a47 47 0 0 1 3.91 18.74v144.97c-0.06 13.09-5.55 25.63-15.25 34.89-9.71 9.26-22.86 14.48-36.58 14.54Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M92.78999999999996 197.53999999999996h83.62\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M134.6500000000001 298.02000000000044v-100.48\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M181.20000000000027 198.4900000000007l37.97 99.53 37.68-99.53\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }] }, tv: { viewBox: \"0 0 512 512\", paths: [{ d: \"M466.47000000000025 121.63000000000011c-5.27-0.4-10.56 0.45-15.4 2.48-0.97 0.4-1.9 0.9-2.77 1.49l-82.42 55.32c-4.19 2.81-7.61 6.53-9.97 10.87a29.4 29.4 0 0 0-3.58 14.02v75.42c-0.02 4.9 1.21 9.72 3.57 14.06 2.35 4.35 5.78 8.07 9.98 10.89l82.42 55.32c0.86 0.58 1.78 1.08 2.75 1.49a33.2 33.2 0 0 0 15.52 2.47c5.21-0.42 10.22-2.01 14.65-4.65 0.1-0.07 0.2-0.12 0.29-0.19 4.42-2.77 8.05-6.55 10.55-10.99s3.81-9.4 3.8-14.44v-183.21c0.05-7.67-2.95-15.07-8.41-20.71-5.46-5.63-12.95-9.07-20.98-9.64\", style: { fill: \"currentcolor\" } }, { d: \"M269.1100000000001 106.65999999999985h-184.02c-17.93 0.09-35.1 6.93-47.78 19.04-12.67 12.1-19.81 28.5-19.87 45.6v144.63c0.1 17.09 7.26 33.46 19.95 45.54 12.68 12.08 29.85 18.89 47.77 18.97h183.52c17.93-0.13 35.07-6.99 47.74-19.08 12.68-12.1 19.84-28.46 19.96-45.56v-144.96c-0.01-17.02-7.1-33.33-19.71-45.37-12.62-12.03-29.72-18.8-47.56-18.81m2.54 97.18l-37.68 99.53c-1.11 2.94-3.15 5.49-5.83 7.28-2.68 1.8-5.87 2.77-9.15 2.77h-0.02c-3.27 0-6.47-0.96-9.15-2.75a15.24 15.24 0 0 1-5.83-7.26l-34.53-90.47h-19.06v85.27c0 4.03-1.69 7.9-4.68 10.75s-7.04 4.46-11.27 4.46-8.28-1.61-11.27-4.46-4.68-6.72-4.68-10.75v-85.27h-25.91c-4.23 0-8.28-1.61-11.27-4.46s-4.68-6.72-4.68-10.75 1.69-7.9 4.68-10.75 7.04-4.46 11.27-4.46h83.62c4.94 0.57 9.75 1.89 14.25 3.92 2.53 1.77 4.45 4.23 5.53 7.04l22.92 60.1 22.74-60.06c1.45-3.77 4.41-6.84 8.23-8.53s8.18-1.88 12.14-0.52c3.97 1.37 7.2 4.17 9 7.79 1.8 3.64 2.03 7.8 0.63 11.58\", style: { fill: \"currentcolor\" } }] }, \"calendar-thin\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M115.76000000000022 95.34999999999945h282.17c11.22 0.01 21.99 4.26 29.93 11.83 7.93 7.57 12.39 17.84 12.4 28.54v242.2c-0.01 10.7-4.48 20.97-12.41 28.54-7.93 7.56-18.7 11.82-29.92 11.82h-282.17c-11.22 0-21.99-4.26-29.92-11.82-7.94-7.57-12.4-17.84-12.4-28.54v-242.2c0-10.7 4.45-20.97 12.4-28.55 7.93-7.56 18.7-11.82 29.92-11.82Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M292.119999999999 243.35999999999967c4.91 0.02 9.69-1.6 13.49-4.56 3.81-2.97 6.42-7.11 7.39-11.7 0.98-4.6 0.24-9.37-2.07-13.51s-6.05-7.39-10.59-9.19a22.25 22.25 0 0 0-14.3-0.69c-4.71 1.36-8.77 4.23-11.5 8.13a19.43 19.43 0 0 0-3.49 13.24c0.48 4.67 2.64 9.03 6.12 12.35 3.96 3.78 9.34 5.92 14.95 5.93\", style: { fill: \"currentcolor\" } }, { d: \"M362.64999999999964 243.35999999999967c4.92 0.01 9.68-1.6 13.48-4.56 3.81-2.97 6.42-7.1 7.39-11.69 0.96-4.59 0.23-9.36-2.08-13.5-2.3-4.13-6.04-7.37-10.57-9.18-4.54-1.8-9.59-2.03-14.3-0.68-4.69 1.36-8.76 4.22-11.49 8.11s-3.96 8.57-3.49 13.23c0.48 4.67 2.65 9.02 6.11 12.34 3.97 3.78 9.34 5.92 14.95 5.93\", style: { fill: \"currentcolor\" } }, { d: \"M292.119999999999 310.6299999999992c5.24 0 10.29-1.85 14.18-5.21 3.88-3.35 6.32-7.97 6.84-12.94 0.51-4.98-0.93-9.96-4.05-13.98-3.12-4.01-7.69-6.78-12.84-7.75-5.14-0.98-10.47-0.1-14.97 2.47-4.5 2.56-7.83 6.63-9.36 11.41a19.3 19.3 0 0 0 1.11 14.46c2.23 4.52 6.15 8.08 10.99 10 2.57 1.02 5.32 1.54 8.1 1.54\", style: { fill: \"currentcolor\" } }, { d: \"M362.64999999999964 310.6299999999992c5.25 0 10.3-1.85 14.19-5.21 3.87-3.35 6.32-7.97 6.83-12.94 0.51-4.98-0.92-9.96-4.04-13.98-3.12-4.01-7.7-6.78-12.84-7.75-5.14-0.98-10.47-0.1-14.97 2.47-4.51 2.56-7.83 6.63-9.36 11.41a19.26 19.26 0 0 0 1.11 14.46c2.23 4.52 6.15 8.08 10.99 10 2.56 1.02 5.31 1.54 8.09 1.54\", style: { fill: \"currentcolor\" } }, { d: \"M151.03000000000065 310.6299999999992c4.92 0.02 9.69-1.59 13.5-4.55 3.82-2.97 6.43-7.1 7.39-11.7 0.98-4.59 0.25-9.38-2.06-13.51-2.31-4.15-6.05-7.39-10.58-9.19-4.55-1.81-9.6-2.05-14.31-0.7-4.71 1.36-8.78 4.23-11.51 8.13s-3.97 8.57-3.49 13.24 2.64 9.03 6.12 12.35c3.97 3.77 9.34 5.91 14.94 5.93\", style: { fill: \"currentcolor\" } }, { d: \"M221.5599999999995 310.6299999999992c4.91 0.02 9.68-1.59 13.49-4.55 3.8-2.97 6.41-7.09 7.38-11.68s0.24-9.37-2.07-13.5c-2.3-4.15-6.04-7.39-10.58-9.18a22.13 22.13 0 0 0-14.28-0.7c-4.7 1.35-8.77 4.22-11.5 8.12-2.73 3.89-3.97 8.56-3.49 13.22 0.48 4.67 2.64 9.02 6.11 12.34 3.97 3.78 9.34 5.9 14.94 5.93\", style: { fill: \"currentcolor\" } }, { d: \"M151.03000000000065 377.90999999999985c4.91 0.01 9.67-1.61 13.47-4.57s6.4-7.1 7.36-11.68c0.97-4.59 0.23-9.36-2.07-13.49-2.31-4.13-6.05-7.36-10.58-9.16a22.2 22.2 0 0 0-14.28-0.69c-4.69 1.36-8.75 4.23-11.48 8.12s-3.96 8.57-3.48 13.23c0.48 4.65 2.64 9.01 6.11 12.32 3.97 3.78 9.34 5.91 14.95 5.92\", style: { fill: \"currentcolor\" } }, { d: \"M221.5599999999995 377.90999999999985c5.23 0 10.28-1.85 14.14-5.21 3.88-3.35 6.31-7.95 6.82-12.91 0.52-4.97-0.93-9.93-4.04-13.95-3.1-4-7.67-6.76-12.8-7.73-5.13-0.98-10.46-0.11-14.94 2.46-4.49 2.56-7.82 6.62-9.34 11.39-1.53 4.77-1.13 9.91 1.1 14.43 2.23 4.5 6.14 8.07 10.97 9.98 2.56 1.02 5.31 1.54 8.09 1.54\", style: { fill: \"currentcolor\" } }, { d: \"M292.119999999999 377.90999999999985c5.24 0 10.29-1.86 14.18-5.21 3.88-3.36 6.32-7.98 6.84-12.95 0.51-4.97-0.93-9.95-4.05-13.97-3.12-4.01-7.69-6.78-12.84-7.76-5.14-0.98-10.47-0.09-14.97 2.47-4.5 2.57-7.83 6.64-9.36 11.42a19.3 19.3 0 0 0 1.11 14.46c2.23 4.51 6.15 8.08 10.99 10 2.57 1.02 5.32 1.54 8.1 1.54\", style: { fill: \"currentcolor\" } }, { d: \"M143.97999999999956 68.42999999999938v26.92\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M369.7099999999991 68.42999999999938v26.92\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M440.25 162.6199999999999h-366.81\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }] }, android: { viewBox: \"0 0 512 512\", paths: [{ d: \"M318.15999999999985 54.98999999999978l23.88-33.07c0.37-0.42 0.65-0.9 0.82-1.42 0.16-0.53 0.21-1.08 0.13-1.62a3.8 3.8 0 0 0-0.57-1.53c-0.3-0.47-0.7-0.87-1.17-1.18-0.7-0.47-1.56-0.71-2.42-0.69-0.87 0.02-1.7 0.3-2.39 0.79a4.1 4.1 0 0 0-1.11 1.24l-24.82 34.37c-34.52-12.77-72.8-12.77-107.33 0l-24.82-34.37c-0.27-0.48-0.65-0.9-1.11-1.24-0.45-0.33-0.98-0.57-1.54-0.69s-1.14-0.14-1.7-0.05c-0.57 0.11-1.1 0.32-1.58 0.63-0.47 0.31-0.87 0.71-1.17 1.18-0.44 0.7-0.65 1.52-0.58 2.35 0.07 0.82 0.41 1.6 0.97 2.23l23.89 33.08c-37.99 16.85-64.62 48.88-68.02 86.25h258.65c-3.39-37.38-30.04-69.4-68.01-86.26m-115.34 52.15c-3.32 0-6.53-1.09-9.09-3.09-2.57-2.01-4.33-4.8-4.97-7.89-0.66-3.1-0.16-6.33 1.4-9.11 1.56-2.8 4.09-4.98 7.15-6.19 3.06-1.22 6.47-1.38 9.64-0.47 3.17 0.93 5.91 2.86 7.75 5.49 1.85 2.62 2.67 5.78 2.35 8.93-0.32 3.14-1.78 6.09-4.12 8.32-1.33 1.27-2.9 2.28-4.64 2.96-1.73 0.69-3.6 1.05-5.47 1.05m108.04 0c-3.56 0-7.01-1.26-9.66-3.54-2.66-2.29-4.32-5.43-4.68-8.82-0.35-3.39 0.63-6.79 2.75-9.53s5.24-4.62 8.74-5.29c3.51-0.67 7.15-0.07 10.21 1.68 3.07 1.75 5.34 4.52 6.38 7.78 1.03 3.27 0.77 6.77-0.76 9.85-1.52 3.08-4.19 5.52-7.49 6.82-1.74 0.68-3.6 1.05-5.49 1.05\", style: { fill: \"currentcolor\" } }, { d: \"M110.90999999999985 297.1399999999994c0 7.3-3.04 14.29-8.45 19.46-5.41 5.16-12.75 8.06-20.4 8.06-7.66 0-14.99-2.9-20.4-8.06-5.42-5.17-8.46-12.16-8.46-19.46v-111.3c0-7.3 3.04-14.3 8.46-19.46 5.41-5.16 12.74-8.06 20.4-8.06 7.65 0 14.99 2.9 20.4 8.06s8.45 12.16 8.45 19.46z\", style: { fill: \"currentcolor\" } }, { d: \"M127.52000000000044 159.15999999999985v201.04c0 5.73 2.39 11.22 6.64 15.27 4.25 4.06 10.01 6.34 16.02 6.34h26.82v61.85c0 7.3 3.04 14.3 8.45 19.46s12.75 8.06 20.4 8.06c7.66 0 14.99-2.9 20.4-8.06 5.42-5.16 8.46-12.16 8.46-19.46v-61.85H278.97999999999956v61.85c0 7.3 3.04 14.3 8.45 19.46s12.75 8.06 20.4 8.06c7.66 0 14.99-2.9 20.41-8.06 5.41-5.16 8.45-12.16 8.45-19.46v-61.85h26.81c6.01 0 11.77-2.28 16.03-6.34 4.24-4.05 6.64-9.54 6.64-15.27v-201.04z\", style: { fill: \"currentcolor\" } }, { d: \"M402.77000000000044 297.1399999999994c0 7.3 3.04 14.29 8.45 19.46 5.41 5.16 12.75 8.06 20.4 8.06s14.99-2.9 20.4-8.06c5.41-5.17 8.45-12.16 8.45-19.46v-111.3c0-7.3-3.04-14.3-8.45-19.46s-12.75-8.06-20.4-8.06-14.99 2.9-20.4 8.06-8.45 12.16-8.45 19.46z\", style: { fill: \"currentcolor\" } }] }, linux: { viewBox: \"0 0 512 512\", paths: [{ d: \"M109.89999999999964 329.08999999999924c1.3 2.47 1.9 5.17 1.9 7.9s-0.6 5.43-1.8 7.9c-4.4 9.77-13.3 12.77-23.6 13.32-3.7 0.2-7.6-0.21-11.5-0.08-5.1 0.17-6.8 1.95-6.9 6.79 0.1 2.78 0.8 5.51 2.2 7.96 2 3.94 3.8 7.99 5.3 12.13 0.9 2.34 1.2 4.83 1 7.31s-0.9 4.9-2.1 7.09c-1.8 3.07-3.4 6.25-4.8 9.44-3 6.65-1.6 9.57 5.8 11.81 9.8 3 20 4.55 30.2 6.46 16 3.04 31.8 7.06 47.2 12.06 8.8 2.82 17.7 4.87 26.8 4.05 16.1-1.43 24.3-9.99 21.2-27.6-1.7-9.71-6.5-18.28-11.9-26.44-9-13.59-18.3-26.99-27.9-40.28-6.6-9.21-13.9-17.91-22.8-25.18-5.9-4.74-12.3-7.17-20-3.19-3.8 1.99-5.3-0.57-5.9-3.64-2-9.7-0.2-19.76 5.2-28.2 7.3-11.73 12.6-24.19 17.2-37.03 6.5-18.3 15.4-35.33 29.1-49.98 9-9.58 15.7-20.78 23.1-31.46 4.8-6.94 3.8-14.42 3.1-21.93-2-19.02-2.1-38.08-3-57.14-0.6-10.9 0.2-21.82 2.4-32.53 2.6-12.07 9.8-21.41 19.4-29.28 16.4-13.2 35.3-15.04 55.7-11.8 8 1.29 15.8 2.97 23.5 6.2 14.6 6.24 24.7 16.82 32.2 29.71 8.5 14.63 12.5 31.26 11.5 47.96-1 23.15 5.1 45.08 15.2 66.03 5.6 11.51 13.8 21.51 22.9 30.61 11.4 11.31 19.6 24.32 26.8 38.13 8.2 15.87 14.2 32.67 17.8 50 2.5 11 2.7 22.37 0.6 33.44-1.1 5.04-3.1 9.23-8.8 11.29-4.1 1.44-5.7 5.61-8.2 8.7-6.9 8.52-14.9 14.72-27.1 15.13-12 0.39-19.9-3.86-24.8-14.52-1.3-2.98-2.7-5.9-5.2-8.19-4.2-3.8-8.3-3-10.5 1.95-4.4 9.39-4 18.93-1.1 28.61 4.7 15.67 3.4 31.45 1.1 47.21-0.9 5.19-1 10.47-0.3 15.69 1.7 13.22 14.7 20.9 29.1 17.38 6.3-1.54 12.1-4.49 16.9-8.61 13-11.03 28.4-19.24 44.9-24.07 8-2.28 16-4.65 22.9-9.34 6.4-4.52 6.6-8.97 0.2-13.62-3.4-2.59-7.3-4.52-11.5-5.68-3.2-0.75-6.2-2.14-8.9-4.09-2.6-1.94-4.8-4.39-6.4-7.18-5.2-8.91-6.1-18.5-3.1-28.31 0.4-1.38 1.1-3.06 2.9-2.68 1.7 0.32 1.5 2.04 1.5 3.3 0.5 16.76 8.9 28.69 24.9 35.98 1 0.43 2 0.93 2.9 1.47 11.4 6.92 12.4 15.53 2.7 24.32-5.6 5.11-12.5 8.53-19.5 11.37-21.2 8.54-39.9 20.64-56.6 35.47-4.8 4.25-11.1 5.18-17 5.91-7.8 0.94-15.7-0.29-23.3-2.49-6.3-1.83-10.6-5.95-13.7-11.18-3.6-6.21-9.1-8.67-16.3-9-19.8-1.01-39.7-0.93-59.6 0.25-5.6 0.37-11.3-0.29-16.9 0.84-9.1 1.78-17.6 4.71-24.6 10.44-13.8 11.22-28.9 10.9-44.6 4.68-22.5-8.9-46-14.27-70-18.09a85.6 85.6 0 0 1-19.1-5.08c-7.3-3.04-10.5-8.51-8.9-15.87 0.6-2.56 1-5.34 2.4-7.48 6.7-10.16 4.8-20.63 1.8-31.27-0.7-2.67-1.3-5.37-1.8-8.11-1.3-8.65 3.3-12.53 13.1-13.75 4-0.49 8-0.37 11.9-0.71 4.2-0.36 7.6-1.92 11.2-3.78 2.8-1.37 5.2-3.36 7.1-5.81 1.8-2.44 3-5.27 3.4-8.24 0.2-0.85 0.5-1.69 0.8-2.51 0-0.11 0.2-0.19 1-0.87m247.7-21.17c-0.8-0.05-1.5-0.04-2.3 0.02-9.7 1.54-14.2-3.24-14.4-12.53-0.3-14.42-0.8-28.77-4.6-42.9-3-11.22-6.1-22.43-14.3-31.39-2.7-2.75-4.6-6.13-5.5-9.8-3.5-14.05-8.6-27.43-18.3-38.88-2.4-2.9-4.2-6.25-5.3-9.86-1-3.6-1.3-7.36-0.8-11.07 0.5-3.43 1.9-6.74 2.7-10.12 1.5-6.21-0.1-9.95-6.5-11.39-7.5-1.69-14.1-5.33-21.1-7.87-6-2.19-7.7-5.97-7.7-11.47 0.1-2.91 0.7-5.78 1.8-8.49 2.2-5.79 5.7-8.75 11.2-8.75 5.9 0 10.4 2.51 13.1 7.59 2.7 5.24 2.7 10.68 0.8 16.15-1.2 3.76-0.2 5.07 4.1 4.99 2.8-0.07 4.7-1.14 5.1-3.98 0.9-8.62 0.5-17.07-3-25.25-3.6-8.06-12.4-13.49-20.4-12.35-11.6 1.65-19.4 8.69-19.9 18.41-0.3 4.21 0 8.45 0.2 12.66 0.2 4.52 0 4.78-4.4 3.21-2.9-1.08-6-1.49-9.1-1.19-8.5 0.79-9 0.28-9.1-8.03 0-6.7-1.5-13.06-5.8-18.56-3.9-4.93-10.2-5.81-15.2-2.3-8.7 6.23-10.2 30.03-2.4 37.36 1.4 1.33 2.6 1.27 3.9 0.05 1.6-1.4 0.5-2.03-0.7-2.98-3.1-2.46-5.1-5.86-5.8-9.6-0.8-3.76-0.1-7.64 1.7-10.98 2.6-4.33 9.4-6.1 13.8-3.56 7.4 4.39 8.5 18.87 2 24.3-5 4.45-10.5 8.5-16.2 12.13-5.1 3.14-4.9 7.74-0.2 11.29 2.5 1.89 4.9 4.02 7 6.38 3.7 4.37 8.5 5.76 14.3 5.99 13.1 0.56 25.6-2.64 37.9-6.48 6.5-2.05 13.4-3.59 17.8-9.4 1.4-1.93 3.8-1.95 5.7-0.29 2 1.8 1.9 3.91 0.1 5.82-1.4 1.23-3 2.09-4.8 2.48-8.8 2.57-17 6.26-25.3 9.64-9.8 3.96-19.8 7.26-30.8 6.1-2.7-0.27-5.4-0.06-8.6-0.08 5.6 6.84 12.6 8.78 20.7 7.73 8.2-1.17 16.2-3.81 23.4-7.75 5.5-2.96 10.8-6.59 17-8.53 2.7-0.85 5.5-0.9 6.7 2.11 1.1 2.85-1.1 4.13-3.4 5.32-8.3 4.26-16.8 8.01-24.2 13.44-5.5 3.97-11.1 7.92-17.3 10.93-9.1 4.52-16.3 3.16-23-4.33-3-3.13-5.7-6.53-8.1-10.13-1.5-2.57-3-5.61-6.4-6.94-0.4 2.37-0.5 4.4-0.9 6.38-1.5 7.46-5.8 13.73-9.4 20.3-5.1 9.26-10.2 18.5-4.7 29.31 0.3 0.52 0.4 1.13 0.3 1.72-0.1 0.58-0.5 1.11-1 1.49-8.4 6.75-12.7 16.02-16.8 25.19-6.2 13.62-11.8 27.47-10.7 42.88 0.4 5.63 0.6 11.38-0.8 16.97-1.5 6.15-4.9 7.1-9.6 2.62-7.2-6.83-9.2-15.63-9.8-24.76-0.3-3.77 0.5-7.58 0.9-11.53-0.5 0.17-0.9 0.48-1.2 0.88-0.3 0.41-0.5 0.89-0.5 1.38-2.4 9.83-0.9 19.42 2.8 28.71 1.3 3.34 2.3 6.99 5.3 9.58 4.9 4.24 9.8 8.53 14.8 12.69 13.9 11.7 28.8 22.38 43.3 33.47 9.8 7.46 9.4 21.5-0.7 26.7-6.6 3.43-6.6 3.43-2.3 9.49 0.6 0.85 1.3 1.68 2 2.47 4.9 5.94 8.1 13.15 8.9 20.77 0.2 2.58 0.1 5.36 1.6 8.15 1.3-1 2.3-2.33 2.8-3.84 0.6-1.51 0.7-3.14 0.3-4.69-0.9-5.71-3-11-7-15.49-1.6-1.72-4-3.54-1.1-5.87 2.5-2.07 5.6-3.04 8.3-0.61 8.8 7.54 19.3 9.17 30.5 9.38 10.7 0.1 21.2-1.48 31.3-4.72 11.4-3.48 21.5-8.69 27.4-19.25 0.6-0.99 1.4-1.89 2.3-2.66 1.6-1.39 3.1-3.09 5.6-2.35 2.5 0.75 2.8 2.89 3.3 4.91 2 7.88-0.1 15.27-2.6 22.69-1.7 5.24-4 10.42-4 16.07 0 1.71 0.4 3.45 2.4 3.68 2.3 0.25 2.1-1.82 2.4-3.11 1.3-5.7 2.4-11.41 3.7-17.09 2.7-11.67 3.3-23.7 1.7-35.58-1-8.08-3.5-16.05-2.8-24.27 0.7-8.07 1.4-17.13 9.7-20.94 6.2-2.8 10.7-5.92 14.1-11.43 3-4.8 9-5.14 14-6.61 7.1-0.75 13.9 0.87 21.4 2.65-1.5-1.85-3.6-3.22-5.9-3.95-3.7-1.38-4.6-3.44-3.7-7.14 1.8-6.76 4-13.63 2.9-20.68-2.4-16.44-4.3-33.07-14.4-47.49-3.3-4.91-7.1-9.58-10.7-14.36 3 5.82 5.9 11.57 9 17.23 3.1 5.86 5.4 12.06 7.8 18.22 3.7 9.81 6.2 20.03 5.5 30.38-0.6 9.51-0.4 19.99-11.8 25.19\", style: { fill: \"currentcolor\" } }] }, windows: { viewBox: \"0 0 512 512\", paths: [{ d: \"M426.2999999999993 434.77999999999975c-27.3-3.79-54.6-7.59-81.9-11.39-31.4-4.37-62.8-8.72-94.2-13.06-6.6-0.92-13.1-1.86-19.7-2.62-1.9-0.24-2.8-0.92-2.6-2.76 0.1-0.66 0.1-1.35 0-2.01v-156.54c77.2 0.39 154 0.8 230.9 1.2v191.64c-10.9-1.5-21.7-2.96-32.5-4.46m-400.4-54.55v-134.85c57.7 0.31 115.2 0.61 172.9 0.91v157.31c-57.7-7.81-115.2-15.58-172.9-23.37m202.2-161.38c0-1.21-0.1-2.38-0.2-3.56v-152.53c0-3.08 1-3.92 4.1-4.31 42.1-5.52 84.3-11.11 126.5-16.76 33-4.4 66.2-8.79 99.3-13.16 0.3 0 0.7 0.03 1 0.08v191.45c-76.8-0.4-153.6-0.8-230.7-1.21m-202.3-1.09v-133.47c57.7-7.12 115.2-14.22 173-21.35v155.72c-57.7-0.29-115.2-0.59-173-0.9\", style: { fill: \"currentcolor\" } }] }, macos: { viewBox: \"0 0 512 512\", paths: [{ d: \"M158 441.28999999999996c-12.5-8.07-22.4-18.64-30.9-30.27-21.5-29.14-37.8-60.62-47.8-94.91-8.9-30.51-11.3-61.41-6.4-92.68 4.4-27.57 15.3-52.41 35.7-72.88 21.3-21.22 47.3-29.86 77.9-26.83 15.3 1.52 30 5.82 44.7 9.97 6.1 1.71 12.3 3 18.5 4.49 8.6 2.12 17.2 1.17 25.7-1.11 11.9-3.27 23.8-7.01 35.8-10.31 18.9-5.25 38.1-6.44 57.5-2.13 22.4 4.95 40 16.92 55 33.06 2.2 2.33 4.3 4.7 6.3 6.92-7.5 6.96-15 13.36-21.8 20.33-17.2 17.55-26.2 38.4-26.4 62.51-0.3 21.95 7.2 43.35 21.1 60.8 9.3 11.79 20.2 21.68 34.8 27.4 1.7 0.67 3.4 1.27 5.6 2.05-2 4.97-3.7 9.91-5.8 14.68-11.9 27.32-27.4 52.56-48.5 74.43-4 4.06-8.4 7.82-13 11.26-15.4 11.84-32.8 16.29-52.3 10.82-9.8-2.73-19.4-5.83-29.2-8.72-10-3-20.1-5.4-30.6-5.71-13-0.38-25.2 3.27-37.3 7.44-9.1 3.14-18.3 6.43-27.8 8.52a47 47 0 0 1-9.9 1.1c-11.1 0-21.4-4.04-30.9-10.23m182.4-415.56c0.4 3.25 1.1 6.48 1 9.68-0.2 23.17-8.6 43.61-23.7 61.62-8.2 9.9-17.9 18.35-29.7 24.51-8.3 4.39-17.6 5.64-26.9 6.7-3 0.33-6.1 0.55-9.2 0.83 0.5-53.81 29.9-92.79 88.5-103.34\", style: { fill: \"currentcolor\" } }] }, \"star-rating-full\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M254.5 32.6299999999992l59 161.23 177.2 4.37-140.6 104 50.4 163.92-146-96.93-146.1 96.93 50.5-163.92-140.7-104.01 177.2-4.37z\", style: { fill: \"currentcolor\" } }] }, \"star-rating-half\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M257.3000000000011 33.98999999999978l-0.5-1.36-59 161.22-177 4.37 140.5 104.01-50.3 163.92 145.8-96.93 0.5 0.33z m235.2 164.23v0.2l0.3-0.19z\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] }, download: { viewBox: \"0 0 512 512\", paths: [{ d: \"M336.60000000000036 164.46000000000004h39.8c5.3 0 10.5 0.98 15.3 2.89 4.9 1.91 9.2 4.72 12.9 8.24 3.7 3.54 6.7 7.73 8.7 12.34s3 9.57 3 14.56v197.73c0 4.99-1 9.94-3 14.55s-5 8.8-8.7 12.34c-3.7 3.53-8 6.33-12.9 8.24-4.8 1.91-10 2.89-15.3 2.89h-239.2c-5.3 0-10.4-0.98-15.2-2.89-4.9-1.91-9.3-4.71-13-8.24-3.7-3.54-6.7-7.73-8.7-12.34s-2.9-9.56-2.9-14.55v-197.73c0-4.99 0.9-9.95 2.9-14.56s5-8.8 8.7-12.34c3.7-3.52 8.1-6.33 13-8.24 4.8-1.91 9.9-2.89 15.2-2.89h39.9\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M177.10000000000036 255.72000000000003l79.7 76.05 79.8-76.05\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M256.8000000000011 42.77999999999997v273.78\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, language: { viewBox: \"0 0 512 512\", paths: [{ d: \"M478.39999999999964 412.1900000000003l-89.7-207.23c-1.2-2.86-3.1-5.42-5.4-7.5-2.4-2.08-5.3-3.62-8.4-4.53-3.1-0.9-6.4-1.13-9.6-0.67-3.2 0.45-6.3 1.58-9 3.3-3.6 2.26-6.4 5.54-8 9.4l-89.7 207.23c-2.2 5.14-2.3 10.9-0.1 16.06 1.1 2.56 2.7 4.88 4.7 6.81 3.1 2.93 7 4.93 11.3 5.74 4.3 0.8 8.7 0.37 12.7-1.24 2.7-1.04 5.1-2.58 7.1-4.54 2-1.97 3.6-4.3 4.7-6.87l18.4-42.19h102.2l18.4 42.19c1.6 3.86 4.4 7.14 8 9.41 3.6 2.31 7.9 3.54 12.2 3.53 3.6 0 7.2-0.84 10.4-2.47 4.8-2.44 8.4-6.5 10.2-11.39 1.9-4.89 1.7-10.26-0.4-15.04m-143-68.06l33.1-76.38 33.1 76.38z\", style: { fill: \"currentcolor\" } }, { d: \"M268.60000000000036 325.99c1.7-2.2 3-4.72 3.6-7.39 0.7-2.68 0.8-5.45 0.3-8.16-0.4-2.7-1.4-5.31-2.9-7.64-1.5-2.34-3.5-4.38-5.8-5.99-0.2-0.15-14.9-10.58-36.3-33.02 39.4-51.03 61.9-109.08 70.9-136.4h32.2c5.8-0.02 11.4-2.22 15.6-6.12 4.1-3.94 6.4-9.25 6.4-14.8 0-5.54-2.3-10.85-6.4-14.79-4.2-3.9-9.8-6.1-15.6-6.12h-115.6v-19.01c0-5.54-2.3-10.86-6.4-14.79-4.1-3.92-9.7-6.13-15.5-6.13s-11.5 2.21-15.6 6.13c-4.1 3.93-6.3 9.25-6.3 14.79v19.01h-115.7c-5.7 0.02-11.3 2.22-15.5 6.12-4.1 3.94-6.4 9.25-6.4 14.79 0 5.55 2.3 10.86 6.4 14.8 4.2 3.9 9.8 6.1 15.5 6.12h196.6c-9.5 25.62-26.9 66.07-53.5 103.01-31.3-39.62-43-65.26-43.1-65.47-2.3-5.06-6.6-9.05-12-11.11-5.2-2.07-11.3-2.03-16.6 0.1-5.4 2.13-9.6 6.17-11.8 11.25-2.3 5.1-2.3 10.81-0.1 15.92 0.6 1.31 14.6 32.54 52.8 79.78 0.9 1.14 1.8 2.24 2.7 3.34-39.1 42.16-77.5 68.31-93.5 76.75-2.5 1.32-4.8 3.09-6.6 5.22-1.8 2.14-3.2 4.6-4 7.24-0.8 2.63-1.1 5.4-0.8 8.12 0.3 2.74 1.2 5.38 2.6 7.8 1.4 2.4 3.2 4.53 5.5 6.25 2.2 1.73 4.8 3.02 7.5 3.79 2.7 0.78 5.6 1.02 8.5 0.74 2.9-0.3 5.7-1.12 8.2-2.43 2.2-1.13 48.4-25.57 101.4-81.37 22.4 22.89 37.8 33.69 38.7 34.32 2.3 1.62 5 2.79 7.8 3.41 2.8 0.65 5.7 0.75 8.6 0.33 5.7-0.91 10.8-3.92 14.2-8.4z\", style: { fill: \"currentcolor\" } }] }, \"movies-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M436.26 91.25999999999931h-358.82c-3.67-0.01-7.3 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77-2.6 2.47-4.65 5.41-6.05 8.64a25.3 25.3 0 0 0-2.12 10.19v250.97c-0.01 3.49 0.72 6.95 2.12 10.19 1.4 3.23 3.45 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.38 1.33 7.01 2.01 10.68 2.01h358.82c3.66 0 7.29-0.68 10.68-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.47 4.64-5.41 6.05-8.64 1.4-3.24 2.12-6.7 2.11-10.19v-250.97c-0.01-7.05-2.95-13.82-8.18-18.81s-12.33-7.8-19.72-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M436.25 319.40999999999985h-23.92c-3.66-0.01-7.29 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.6 26.6 0 0 0-6.05 8.64 25.25 25.25 0 0 0-2.11 10.19v22.81c-0.01 3.5 0.71 6.96 2.11 10.2 1.4 3.23 3.46 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.47 4.64-5.41 6.05-8.64 1.4-3.24 2.12-6.7 2.11-10.2v-22.81c-0.01-7.05-2.95-13.82-8.18-18.81s-12.33-7.8-19.73-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M436.25 243.35999999999967h-23.92c-3.66-0.01-7.29 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.6 26.6 0 0 0-6.05 8.64 25.25 25.25 0 0 0-2.11 10.19v22.81c-0.01 3.5 0.71 6.96 2.11 10.19 1.4 3.24 3.46 6.17 6.05 8.65a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.48 4.64-5.41 6.05-8.65 1.4-3.23 2.12-6.69 2.11-10.19v-22.81c-0.01-7.05-2.95-13.82-8.18-18.81s-12.33-7.8-19.73-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M436.25 167.3099999999995h-23.92c-3.66-0.01-7.29 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.6 26.6 0 0 0-6.05 8.64 25.25 25.25 0 0 0-2.11 10.19v22.82c-0.01 3.49 0.71 6.95 2.11 10.19 1.4 3.23 3.46 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.47 4.64-5.41 6.05-8.64 1.4-3.24 2.12-6.7 2.11-10.19v-22.82c-0.01-7.05-2.95-13.82-8.18-18.81s-12.33-7.8-19.73-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M436.25 91.25999999999931h-23.92c-3.66-0.01-7.29 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.6 26.6 0 0 0-6.05 8.64 25.25 25.25 0 0 0-2.11 10.19v22.82c-0.01 3.49 0.71 6.95 2.11 10.19 1.4 3.23 3.46 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.47 4.64-5.41 6.05-8.64 1.4-3.24 2.12-6.7 2.11-10.19v-22.82c-0.01-7.05-2.95-13.82-8.18-18.81s-12.33-7.8-19.73-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M101.36000000000013 319.40999999999985h-23.92c-3.67-0.01-7.3 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77-2.6 2.47-4.65 5.41-6.05 8.64a25.3 25.3 0 0 0-2.12 10.19v22.81c-0.01 3.5 0.72 6.96 2.12 10.2 1.4 3.23 3.45 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.38 1.33 7.01 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01 3.38-1.34 6.46-3.3 9.06-5.77 2.59-2.47 4.64-5.41 6.05-8.64 1.39-3.24 2.12-6.7 2.11-10.2v-22.81c-0.01-7.05-2.95-13.82-8.18-18.81-5.24-4.99-12.33-7.8-19.73-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M101.36000000000013 243.35999999999967h-23.92c-3.67-0.01-7.3 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77-2.6 2.47-4.65 5.41-6.05 8.64a25.3 25.3 0 0 0-2.12 10.19v22.81c-0.01 3.5 0.72 6.96 2.12 10.19 1.4 3.24 3.45 6.17 6.05 8.65a28.1 28.1 0 0 0 9.06 5.77c3.38 1.33 7.01 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01 3.38-1.34 6.46-3.3 9.06-5.77 2.59-2.48 4.64-5.41 6.05-8.65 1.39-3.23 2.12-6.69 2.11-10.19v-22.81c-0.01-7.05-2.95-13.82-8.18-18.81-5.24-4.99-12.33-7.8-19.73-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M101.36000000000013 167.3099999999995h-23.92c-3.67-0.01-7.3 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77-2.6 2.47-4.65 5.41-6.05 8.64a25.3 25.3 0 0 0-2.12 10.19v22.82c-0.01 3.49 0.72 6.95 2.12 10.19 1.4 3.23 3.45 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.38 1.33 7.01 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01 3.38-1.34 6.46-3.3 9.06-5.77 2.59-2.47 4.64-5.41 6.05-8.64 1.39-3.24 2.12-6.7 2.11-10.19v-22.82c-0.01-7.05-2.95-13.82-8.18-18.81-5.24-4.99-12.33-7.8-19.73-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M101.36000000000013 91.25999999999931h-23.92c-3.67-0.01-7.3 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77-2.6 2.47-4.65 5.41-6.05 8.64a25.3 25.3 0 0 0-2.12 10.19v22.82c-0.01 3.49 0.72 6.95 2.12 10.19 1.4 3.23 3.45 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.38 1.33 7.01 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01 3.38-1.34 6.46-3.3 9.06-5.77 2.59-2.47 4.64-5.41 6.05-8.64 1.39-3.24 2.12-6.7 2.11-10.19v-22.82c-0.01-7.05-2.95-13.82-8.18-18.81-5.24-4.99-12.33-7.8-19.73-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M356.52 91.25999999999931h-199.34c-3.67-0.01-7.3 0.68-10.69 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.7 26.7 0 0 0-6.05 8.64c-1.4 3.23-2.12 6.69-2.11 10.19v98.87c-0.01 3.49 0.72 6.95 2.11 10.19 1.41 3.23 3.46 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.69 2.01h199.34c3.67 0 7.29-0.68 10.68-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.47 4.65-5.41 6.05-8.64 1.4-3.24 2.13-6.7 2.12-10.19v-98.87c-0.01-7.05-2.95-13.82-8.19-18.81-5.23-4.99-12.33-7.8-19.72-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M356.52 243.35999999999967h-199.34c-3.67-0.01-7.3 0.68-10.69 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.7 26.7 0 0 0-6.05 8.64c-1.4 3.23-2.12 6.69-2.11 10.19v98.86c-0.01 3.5 0.72 6.96 2.11 10.19 1.41 3.24 3.46 6.17 6.05 8.65a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.69 2.01h199.34c3.67 0 7.29-0.68 10.68-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.48 4.65-5.41 6.05-8.65 1.4-3.23 2.13-6.69 2.12-10.19v-98.86c-0.01-7.05-2.95-13.82-8.19-18.81-5.23-4.99-12.33-7.8-19.72-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, movies: { viewBox: \"0 0 512 512\", paths: [{ d: \"M436.0600000000002 76.23999999999978h-358.82c-11.63 0.01-22.77 4.42-31 12.27-8.22 7.84-12.85 18.47-12.86 29.56v250.96c0.01 11.1 4.64 21.72 12.86 29.57 8.23 7.84 19.37 12.25 31 12.26h358.82c11.63-0.01 22.77-4.42 30.99-12.26 8.23-7.85 12.85-18.47 12.86-29.57v-250.96c-0.01-11.09-4.63-21.72-12.86-29.56-8.22-7.85-19.36-12.26-30.99-12.27m-322.94 292.79c0 3.03-1.25 5.93-3.51 8.07-2.24 2.14-5.28 3.34-8.45 3.34h-23.92c-1.57 0-3.13-0.29-4.58-0.86-1.45-0.58-2.78-1.42-3.88-2.48-1.12-1.05-2-2.32-2.59-3.7-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.37 0.59-1.38 1.47-2.65 2.59-3.7 1.1-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.92c3.17 0 6.21 1.2 8.45 3.34 2.26 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.25 5.93-3.51 8.07-2.24 2.14-5.28 3.34-8.45 3.34h-23.92c-1.57 0-3.13-0.29-4.58-0.86s-2.78-1.42-3.88-2.48c-1.12-1.05-2-2.32-2.59-3.7-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.59-1.39 1.47-2.66 2.59-3.71 1.1-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.92c3.17 0 6.21 1.2 8.45 3.34 2.26 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.25 5.93-3.51 8.07-2.24 2.14-5.28 3.34-8.45 3.34h-23.92c-1.57 0-3.13-0.29-4.58-0.86s-2.78-1.42-3.88-2.48c-1.12-1.05-2-2.31-2.59-3.7-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.59-1.39 1.47-2.66 2.59-3.71 1.1-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.92c3.17 0 6.21 1.2 8.45 3.34 2.26 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.25 5.93-3.51 8.08-2.24 2.13-5.28 3.33-8.45 3.33h-23.92c-1.57 0-3.13-0.29-4.58-0.86s-2.78-1.42-3.88-2.47c-1.12-1.06-2-2.32-2.59-3.71-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.59-1.39 1.47-2.66 2.59-3.71 1.1-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.92c3.17 0 6.21 1.2 8.45 3.34 2.26 2.15 3.51 5.05 3.51 8.07z m240.89 117.88h-194.72c-4.23 0-8.28-1.61-11.27-4.46s-4.68-6.72-4.68-10.75 1.69-7.9 4.68-10.75 7.04-4.46 11.27-4.46h194.72c4.22 0 8.28 1.61 11.27 4.46s4.67 6.72 4.67 10.75-1.68 7.9-4.67 10.75-7.05 4.46-11.27 4.46m94.01 110.27c0 3.03-1.26 5.93-3.51 8.07s-5.29 3.34-8.45 3.34h-23.93c-1.57 0-3.13-0.29-4.58-0.86a12.1 12.1 0 0 1-3.88-2.48 11.3 11.3 0 0 1-2.59-3.7c-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.37s1.48-2.65 2.59-3.7c1.11-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.93c3.16 0 6.2 1.2 8.45 3.34 2.25 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.26 5.93-3.51 8.07s-5.29 3.34-8.45 3.34h-23.93c-1.57 0-3.13-0.29-4.58-0.86s-2.77-1.42-3.88-2.48a11.3 11.3 0 0 1-2.59-3.7c-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.6-1.39 1.48-2.66 2.59-3.71 1.11-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.93c3.16 0 6.2 1.2 8.45 3.34 2.25 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.26 5.93-3.51 8.07s-5.29 3.34-8.45 3.34h-23.93c-1.57 0-3.13-0.29-4.58-0.86s-2.77-1.42-3.88-2.48a11.2 11.2 0 0 1-2.59-3.7c-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.6-1.39 1.48-2.66 2.59-3.71 1.11-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.93c3.16 0 6.2 1.2 8.45 3.34 2.25 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.26 5.93-3.51 8.08-2.25 2.13-5.29 3.33-8.45 3.33h-23.93c-1.57 0-3.13-0.29-4.58-0.86s-2.77-1.42-3.88-2.47a11.4 11.4 0 0 1-2.59-3.71c-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.6-1.39 1.48-2.66 2.59-3.71 1.11-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.93c3.16 0 6.2 1.2 8.45 3.34 2.25 2.15 3.51 5.05 3.51 8.07z\", style: { fill: \"currentcolor\" } }] }, \"cloud-library\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M415.8299999999999 384.5699999999997l0.37-0.03h0.04l0.87-0.13c22.43-2.57 43.02-13.08 57.71-29.44 14.71-16.35 22.44-37.37 21.67-58.89-0.75-21.53-9.95-42.01-25.77-57.38-15.81-15.37-37.1-24.53-59.66-25.66l-6.39-0.35-0.13-6.1c-1.62-69.92-62.86-126.81-136.51-126.81-66.14 0-122.65 44.8-134.37 106.51l-1.1 5.73-6.09-0.31c-1.85-0.09-3.71-0.14-5.6-0.15-56.16 0-101.87 43.42-101.87 96.77-0.08 24.2 9.38 47.53 26.5 65.38 17.13 17.84 40.66 28.9 65.92 30.97l0.08 0.01c3.16 0.27 6.32 0.41 9.37 0.41 3.11 0 6.28-0.14 9.47-0.42l0.32-0.03h0.31l264.33-0.1h0.37l0.36 0.03c3.28 0.35 6.57 0.52 9.87 0.52 3.32 0 6.64-0.18 9.94-0.53m-20.53-15.53l-264.34 0.11c-0.7 0-1.41 0.03-2.1 0.09-2.69 0.23-5.38 0.35-7.99 0.35-2.56 0-5.22-0.11-7.89-0.35-21.24-1.72-41.02-11-55.42-25.99-14.39-14.99-22.35-34.59-22.3-54.92 0-44.81 38.4-81.27 85.61-81.27 1.59 0 3.17 0.05 4.74 0.13 0.42 0.02 0.83 0.03 1.25 0.03 5.44 0 10.69-1.82 14.85-5.14 4.17-3.32 6.98-7.93 7.95-13.03 10.3-54.33 60.09-93.76 118.36-93.76 64.88 0 118.83 50.08 120.25 111.64 0.15 5.55 2.48 10.86 6.53 14.85 4.05 4 9.52 6.41 15.34 6.74 18.5 0.91 35.96 8.41 48.95 21.02 12.97 12.6 20.53 29.39 21.15 47.05s-5.71 34.9-17.77 48.31c-12.06 13.42-28.96 22.03-47.35 24.13l-0.61 0.08c-2.86 0.31-5.74 0.47-8.62 0.48-2.71 0-5.42-0.14-8.12-0.43-0.83-0.08-1.66-0.12-2.48-0.12\", style: { fill: \"currentcolor\" } }, { d: \"M322.02999999999975 199.46999999999935c-0.68-2.8-2.5-5.23-5.05-6.75a11.82 11.82 0 0 0-8.59-1.37c-2.94 0.65-5.48 2.38-7.07 4.82-1.6 2.44-2.12 5.38-1.44 8.19l24.92 102.75c0.72 2.75 2.55 5.14 5.09 6.62 2.54 1.49 5.59 1.96 8.5 1.33 2.91-0.65 5.43-2.35 7.03-4.76 1.6-2.39 2.14-5.3 1.52-8.08z\", style: { fill: \"currentcolor\" } }, { d: \"M277.8200000000006 188.35999999999967c-3.01 0.01-5.91 1.15-8.04 3.18-2.13 2.04-3.33 4.79-3.33 7.67v105.46c0.09 2.81 1.33 5.49 3.44 7.45 2.12 1.97 4.96 3.06 7.93 3.06 2.95 0 5.79-1.09 7.91-3.06 2.11-1.96 3.35-4.64 3.44-7.45v-105.46c0-1.43-0.29-2.84-0.86-4.16a11 11 0 0 0-4.19-4.87 11.84 11.84 0 0 0-6.32-1.82\", style: { fill: \"currentcolor\" } }, { d: \"M201.46000000000004 188.35999999999967c-1.5 0-2.97 0.27-4.36 0.82-1.37 0.55-2.63 1.35-3.69 2.35a11 11 0 0 0-2.46 3.52c-0.57 1.32-0.86 2.73-0.86 4.16v105.46c0.09 2.81 1.33 5.49 3.44 7.45 2.13 1.97 4.97 3.06 7.93 3.06 2.95 0 5.79-1.09 7.91-3.06 2.11-1.96 3.35-4.64 3.44-7.45v-105.46c0-1.43-0.29-2.84-0.86-4.16a11 11 0 0 0-2.47-3.52c-1.05-1-2.3-1.8-3.68-2.34a11.8 11.8 0 0 0-4.35-0.83\", style: { fill: \"currentcolor\" } }, { d: \"M239.6300000000001 209.6199999999999c-3.01 0.01-5.89 1.15-8.02 3.19-2.14 2.03-3.33 4.78-3.34 7.65v84.22c0.09 2.81 1.32 5.49 3.44 7.45 2.12 1.97 4.96 3.06 7.91 3.06 2.96 0 5.8-1.09 7.92-3.06 2.12-1.96 3.35-4.64 3.44-7.45v-84.22c-0.01-2.87-1.2-5.62-3.34-7.65-2.13-2.04-5.01-3.18-8.02-3.19\", style: { fill: \"currentcolor\" } }] }, \"chevron-back\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M328.6100000000006 106.469l-143.53 136.889 143.53 136.889\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"48\", fill: \"none\" } }] }, \"sort-up-down\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M159.75 303.462l85.9 95.61c1.39 1.54 3.1 2.777 5.03 3.624 1.94 0.848 4.04 1.286 6.17 1.286s4.23-0.438 6.16-1.286a14.7 14.7 0 0 0 5.04-3.624l85.9-95.61a13.74 13.74 0 0 0 3.41-7.208 13.55 13.55 0 0 0-1.2-7.823 14.35 14.35 0 0 0-5.45-5.966 15.3 15.3 0 0 0-7.96-2.225H170.9300000000003c-2.83 0-5.59 0.772-7.97 2.224a14.4 14.4 0 0 0-5.44 5.969 13.56 13.56 0 0 0-1.19 7.826c0.39 2.664 1.58 5.164 3.42 7.203\", style: { fill: \"currentcolor\" } }, { d: \"M159.75 183.26099999999997l85.9-95.613a14.8 14.8 0 0 1 5.04-3.624 15.4 15.4 0 0 1 6.16-1.286c2.13 0 4.23 0.438 6.16 1.286a14.7 14.7 0 0 1 5.04 3.624l85.9 95.613a13.74 13.74 0 0 1 3.41 7.208c0.39 2.665-0.03 5.38-1.2 7.824a14.35 14.35 0 0 1-5.45 5.967 15.3 15.3 0 0 1-7.96 2.225h-171.83c-2.82 0-5.58-0.772-7.96-2.225-2.37-1.452-4.26-3.524-5.44-5.97a13.55 13.55 0 0 1-1.19-7.825c0.39-2.665 1.58-5.165 3.42-7.204\", style: { fill: \"currentcolor\" } }] }, \"caret-down\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M93.10000000000036 203.24199999999996l144.9 161.225c2.1 2.411 4.7 4.365 7.6 5.733 2.9 1.414 6.1 2.264 9.4 2.503 3.2 0.239 6.5-0.14 9.6-1.113 3.1-0.984 6-2.531 8.5-4.556 0.9-0.758 1.8-1.619 2.6-2.567l144.9-161.225c3.1-3.467 4.9-7.684 5.6-12.168 0.7-4.486 0-9.068-1.9-13.184-2-4.13-5.2-7.627-9.2-10.076s-8.7-3.747-13.5-3.738h-289.7c-3.3-0.009-6.6 0.595-9.6 1.781-4.6 1.768-8.5 4.808-11.1 8.722-2.7 3.906-4.2 8.483-4.2 13.168 0.1 5.694 2.3 11.175 6.1 15.495\", style: { fill: \"currentcolor\" } }] }, \"caret-up\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M93.20000000000073 299.35l144.8-161.225c2.1-2.41 4.7-4.364 7.7-5.733 2.9-1.414 6.1-2.264 9.3-2.502 3.2-0.239 6.5 0.139 9.6 1.112 3.1 0.985 6 2.531 8.5 4.556 1 0.758 1.9 1.619 2.7 2.567l144.8 161.225c3.1 3.467 5 7.684 5.7 12.168 0.7 4.486 0 9.067-2 13.184-2 4.129-5.2 7.626-9.2 10.076-4 2.448-8.7 3.745-13.4 3.737h-289.8c-3.3 0.01-6.6-0.595-9.5-1.781-4.6-1.767-8.5-4.808-11.2-8.722-2.7-3.906-4.2-8.483-4.2-13.168 0.1-5.694 2.3-11.174 6.2-15.494\", style: { fill: \"currentcolor\" } }] }, \"chevron-forward\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M185.07999999999993 380.24699999999996l143.53-136.889-143.53-136.889\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"48\", fill: \"none\" } }] }, \"chevron-down\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M113.29999999999927 174.914l143.6 136.89 143.5-136.89\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"48\", fill: \"none\" } }] }, \"chevron-up\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M400.2999999999993 311.804l-143.5-136.89-143.5 136.89\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"48\", fill: \"none\" } }] }, \"more-vertical\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.7999999999993 279.097c7.4-0.015 14.7-2.11 20.9-6.025a35.3 35.3 0 0 0 13.7-16.039c2.9-6.524 3.6-13.709 2.2-20.647-1.5-6.914-5.1-13.268-10.2-18.296-4.4-4.15-9.8-7.217-15.7-8.935-5.9-1.706-12.1-2-18.1-0.856-9.2 1.737-17.3 6.642-22.9 13.766-5.4 7.125-8 15.96-7.1 24.79 0.6 5.86 2.7 11.49 6 16.383 3.5 4.893 8.1 8.894 13.6 11.642 5.4 2.777 11.5 4.227 17.6 4.217\", style: { fill: \"currentcolor\" } }, { d: \"M256.7999999999993 398.217c7.4-0.015 14.7-2.11 20.9-6.026a35.3 35.3 0 0 0 13.7-16.039c2.9-6.523 3.6-13.709 2.2-20.646-1.5-6.914-5.1-13.267-10.2-18.296-4.4-4.15-9.8-7.218-15.7-8.936-5.9-1.706-12.1-2-18.1-0.855a38.4 38.4 0 0 0-16.5 7.428c-4.8 3.726-8.4 8.513-10.8 13.938s-3.3 11.331-2.7 17.182c0.6 5.86 2.7 11.49 6 16.383 3.5 4.893 8.1 8.894 13.6 11.641 5.4 2.781 11.5 4.234 17.6 4.226\", style: { fill: \"currentcolor\" } }, { d: \"M256.7999999999993 159.97500000000002c7.4-0.015 14.7-2.111 20.9-6.026a35.3 35.3 0 0 0 13.7-16.039c2.9-6.523 3.6-13.709 2.2-20.648-1.5-6.913-5.1-13.265-10.2-18.294-4.4-4.151-9.8-7.218-15.7-8.936-5.9-1.706-12.1-2-18.1-0.856a38.4 38.4 0 0 0-16.5 7.431c-4.8 3.728-8.4 8.516-10.8 13.942s-3.3 11.332-2.7 17.183c0.6 5.859 2.7 11.49 6 16.383 3.5 4.892 8.1 8.894 13.6 11.641 5.4 2.778 11.5 4.227 17.6 4.219\", style: { fill: \"currentcolor\" } }] }, \"more-horizontal\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M294.3000000000011 243.35899999999992c0-7.068-2.2-13.975-6.3-19.85-4.2-5.876-10.1-10.455-16.8-13.16a39.4 39.4 0 0 0-21.7-2.041c-7.2 1.374-13.9 4.773-19.2 9.764-5.2 5.032-8.8 11.386-10.3 18.302-1.4 6.939-0.7 14.127 2.2 20.652 2.8 6.544 7.6 12.135 13.8 16.043 4.2 2.693 8.9 4.541 13.9 5.429s10.1 0.8 15.1-0.26 9.7-3.07 13.7-5.907c4.1-2.838 7.6-6.442 10.2-10.597 3.6-5.53 5.4-11.894 5.4-18.378z\", style: { fill: \"currentcolor\" } }, { d: \"M419.2000000000007 243.36c0-7.068-2.2-13.975-6.4-19.85-4.1-5.875-10-10.454-16.8-13.159s-14.4-3.416-21.6-2.041a38.2 38.2 0 0 0-19.2 9.763c-5.2 5.031-8.8 11.386-10.3 18.302-1.4 6.938-0.7 14.126 2.2 20.652 2.8 6.544 7.6 12.135 13.8 16.043 5 3.265 11 5.275 17.1 5.852 6.2 0.577 12.4-0.297 18-2.543 4.6-1.785 8.7-4.418 12.2-7.746 3.5-3.29 6.3-7.24 8.1-11.598 1.9-4.332 2.9-8.98 2.9-13.675\", style: { fill: \"currentcolor\" } }, { d: \"M169.40000000000146 243.36c0-7.068-2.2-13.975-6.4-19.85-4.1-5.875-9.9-10.454-16.7-13.159-6.9-2.706-14.5-3.416-21.7-2.041s-13.9 4.772-19.2 9.763c-5.2 5.031-8.8 11.386-10.3 18.302-1.4 6.938-0.7 14.126 2.2 20.652 2.8 6.544 7.6 12.135 13.8 16.043 4.2 2.693 9 4.54 13.9 5.429 5 0.888 10.1 0.8 15.1-0.261s9.7-3.069 13.7-5.907c4.1-2.837 7.6-6.442 10.2-10.596 3.6-5.53 5.4-11.895 5.4-18.378z\", style: { fill: \"currentcolor\" } }] }, \"open-in-browser\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M372.5599999999995 214.46000000000004v143.26c0 4.52-0.92 8.99-2.74 13.18a34.2 34.2 0 0 1-7.82 11.16c-3.35 3.2-7.33 5.73-11.7 7.46a37.7 37.7 0 0 1-13.82 2.61h-216.38c-4.74 0-9.43-0.88-13.82-2.61a36.4 36.4 0 0 1-11.7-7.46c-3.35-3.2-6.01-6.99-7.82-11.17a32.9 32.9 0 0 1-2.74-13.17v-206.38c0-4.52 0.92-8.99 2.74-13.17a34 34 0 0 1 7.82-11.16c3.35-3.21 7.33-5.74 11.7-7.47a37.7 37.7 0 0 1 13.82-2.61h151\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.699\", fill: \"none\" } }, { d: \"M329.3099999999995 61.98000000000002h100.86v96.2\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.699\", fill: \"none\" } }, { d: \"M222.5599999999995 250.67999999999984l197.85-169.88\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.699\", fill: \"none\" } }] }, \"thumbs-up-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M320.02000000000044 96.99000000000001c-12.02 25.43-20.85 52.13-26.31 79.54-0.5 4.37 3.03 10.99 7.65 10.99l115.16 8.9-0.17 0.49c7.89 0.99 15.12 4.67 20.37 10.38 5.24 5.7 8.12 13.02 8.11 20.6v0.2c-0.04 7.73-3.29 15.12-9.04 20.57-5.75 5.46-13.52 8.52-21.63 8.52l-19.19-0.46-0.11 0.28 30.66 1.08c8.13 0 15.93 3.08 21.68 8.57 5.75 5.48 8.98 12.91 8.98 20.67 0 7.75-3.23 15.18-8.98 20.67-5.75 5.48-13.55 8.56-21.68 8.56l-41.36-0.81h-1.72l24.43 0.82c8.13 0 15.93 3.08 21.68 8.56s8.98 12.92 8.98 20.67-3.23 15.18-8.98 20.66-13.55 8.56-21.68 8.56l-12.58-0.23-29.19-1.2 11.13 1.43c7.95 0.27 15.48 3.47 21 8.93 5.52 5.45 8.6 12.74 8.58 20.32-0.01 7.58-3.12 14.86-8.65 20.3-5.54 5.45-13.08 8.62-21.03 8.86l-57.12-2.51a362 362 0 0 1-46.87 2.51c-33.31 0.92-65.89-9.42-91.97-29.2h-61.36c-16.27-0.02-31.86-6.19-43.36-17.15-11.49-10.97-17.95-25.84-17.95-41.35v-43.81c0-15.5 6.46-30.38 17.95-41.34 11.5-10.97 27.09-17.14 43.36-17.15h28.78c5.26-0.03 10.43-1.34 15.01-3.79 4.59-2.46 6.99-7.27 9.76-11.54 0 0 9.74-15.9 34.64-57.02 24.9-41.11 72.86-103.03 80.51-117.66 5.68-0.59 11.42 0.28 16.63 2.52 5.21 2.23 9.71 5.75 13.02 10.19s5.32 9.64 5.83 15.06c0.5 5.43-0.52 10.88-2.97 15.81\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"40\", fill: \"none\" } }] }, \"thumbs-up\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M285.4400000000005 33.51999999999998c9.05-0.94 18.23 0.44 26.6 4.04h-0.01c8.36 3.58 15.69 9.28 21.16 16.61 5.3 7.1 8.64 15.47 9.62 24.29l0.09 0.85v0.04c0.83 9.03-0.84 18.08-4.82 26.23a322.4 322.4 0 0 0-22.16 63l102.14 7.9c2.25 0.17 4.42 0.73 6.44 1.61 9.89 2.32 19 7.4 26.12 14.78l0.81 0.86 0.02 0.03c8.54 9.31 13.39 21.42 13.38 34.13v0.3a48.16 48.16 0 0 1-5.65 22.33c0.46 0.4 0.92 0.8 1.36 1.22l0.45 0.42 0.02 0.02c9.58 9.15 15.17 21.75 15.17 35.13s-5.58 25.99-15.17 35.13v0.01a51.4 51.4 0 0 1-6.92 5.52 47.9 47.9 0 0 1 3.44 17.81c0 13.38-5.59 26-15.19 35.15a50.7 50.7 0 0 1-18.11 11.09c1.04 3.96 1.58 8.08 1.57 12.27-0.01 12.68-5.06 24.68-13.76 33.67l-0.86 0.86-0.01 0.01c-8.93 8.77-20.82 13.87-33.24 14.53l-1.2 0.05c-0.25 0.01-0.49 0.01-0.74 0.01l-0.74-0.02-55.54-2.44c-15.74 1.8-31.59 2.63-47.44 2.46-35.29 0.89-69.94-9.36-98.59-29.21h-54.89c-20.94-0.01-41.2-7.82-56.43-22l-0.72-0.68c-15.34-14.63-24.14-34.69-24.14-55.81v-43.81c0-21.13 8.81-41.18 24.14-55.81l0.01-0.02 0.72-0.68c15.23-14.16 35.48-21.96 56.41-21.99h28.73c1.65-0.01 3.26-0.35 4.72-0.97 0.27-0.38 0.63-0.92 1.15-1.75 0.31-0.49 0.59-0.94 0.98-1.56 0.3-0.49 0.65-1.05 1.03-1.63 0.01-0.01 0.01-0.03 0.02-0.04 0.08-0.12 0.19-0.31 0.35-0.57 0.31-0.51 0.79-1.28 1.44-2.35l6.05-9.94c5.54-9.1 14.19-23.34 26.64-43.89l1.23-2.01c12.85-20.95 30.85-46.38 46.33-68.03 8.1-11.31 15.49-21.56 21.37-29.96 6.18-8.82 9.77-14.29 10.96-16.57l0.3-0.55a20 20 0 0 1 15.36-10.07m16.44 134c-0.05 0-0.11 0-0.17-0.01h-0.35z\", style: { fill: \"currentcolor\" } }] }, \"heart-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M357.47999999999956 53.23000000000002c-67.4 0-100.62 69.16-100.62 69.16s-33.23-69.16-100.64-69.16c-26.35 0.45-51.48 11.67-69.95 31.24-18.48 19.58-28.8 45.93-28.76 73.36-1.13 118.22 90.05 202.11 189.99 272.66 2.76 1.95 6.01 2.99 9.34 2.99 3.34 0 6.59-1.04 9.35-2.99 99.94-70.55 191.12-154.62 189.98-272.66 0.05-27.43-10.28-53.77-28.75-73.35-18.46-19.57-43.59-30.79-69.94-31.25\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"40\", fill: \"none\" } }] }, heart: { viewBox: \"0 0 512 512\", paths: [{ d: \"M357.8299999999999 33.23000000000002c31.37 0.55 61.12 13.72 83.1 36.44l1.04 1.09h0.01l1.02 1.11c21.35 23.19 33.17 53.92 33.18 85.77l0.01 1.51c0.44 128.53-99.18 217.59-198.47 287.68a36.16 36.16 0 0 1-20.87 6.65c-7.53 0-14.8-2.35-20.89-6.66-99.67-70.35-199.69-159.66-198.44-289.18 0-32.36 12.2-63.57 34.2-86.89 22.08-23.41 52.3-36.97 84.17-37.52h0.34c41.08 0 71.09 21.17 89.96 40.67 3.99 4.12 7.54 8.22 10.67 12.14 3.13-3.92 6.68-8.02 10.66-12.14 18.87-19.5 48.87-40.67 89.96-40.67z\", style: { fill: \"currentcolor\" } }] }, maximize: { viewBox: \"0 0 512 512\", paths: [{ d: \"M406.84999999999854 296.5v91.07h-95.49\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M106.83999999999924 192.5v-91.07h95.48\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M311.35999999999876 101.42999999999984h95.49v91.07\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M202.3199999999997 387.56999999999994h-95.48v-91.07\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }] }, minimize: { viewBox: \"0 0 512 512\", paths: [{ d: \"M311.35999999999876 387.56999999999994v-91.07h95.49\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M202.3199999999997 101.43000000000006v91.07h-95.48\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M406.84999999999854 192.5h-95.49v-91.07\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M106.83999999999924 296.5899999999999h95.48v91.07\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }] }, scale: { viewBox: \"0 0 512 512\", paths: [{ d: \"M320.6399999999994 76.04999999999995h111.63v106.47\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M422.0699999999997 85.75l-117.38 111.98\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M193.0599999999995 410.66999999999985h-111.63v-106.47\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M91.61999999999989 400.97l117.38-111.98\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, \"notifications-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M414.1200000000008 326.73c-23.52-27.47-40.17-41.45-40.17-117.12 0-69.39-37.07-94.01-67.67-106.09-2.12-0.83-4.02-2.08-5.58-3.67a15.1 15.1 0 0 1-3.49-5.55c-1.57-9.13-6.48-17.44-13.88-23.44-7.39-6-16.78-9.29-26.49-9.29s-19.1 3.29-26.49 9.29c-7.4 6-12.31 14.31-13.88 23.44a15.6 15.6 0 0 1-3.5 5.53 16.5 16.5 0 0 1-5.56 3.69c-30.6 11.98-67.68 36.6-67.68 106.09 0 75.77-16.65 89.74-40.17 117.12-3.02 3.67-4.38 8.34-3.81 12.97 0.58 4.63 3.06 8.86 6.9 11.75 3.61 2.66 8.1 3.98 12.66 3.7h283.06c4.9 0.28 9.69-1.32 13.36-4.42 3.66-3.1 5.88-7.46 6.18-12.12 0.26-4.27-1.09-8.48-3.79-11.88\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\", fill: \"none\" } }, { d: \"M315.4500000000007 355.25v13.88c0 14.82-6.17 29.04-17.17 39.52-10.99 10.48-25.9 16.37-41.44 16.37s-30.45-5.89-41.44-16.37-17.17-24.7-17.17-39.52v-13.88\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\", fill: \"none\" } }] }, notifications: { viewBox: \"0 0 512 512\", paths: [{ d: \"M414.1200000000008 326.81999999999994c-23.52-27.47-40.17-41.45-40.17-117.12 0-69.39-37.07-94.01-67.67-106.08-2.12-0.84-4.02-2.09-5.58-3.68a15.1 15.1 0 0 1-3.49-5.55c-1.57-9.13-6.48-17.44-13.88-23.44-7.39-6-16.78-9.29-26.49-9.29s-19.1 3.29-26.49 9.29c-7.4 6-12.31 14.31-13.88 23.44a15.6 15.6 0 0 1-3.5 5.53 16.5 16.5 0 0 1-5.56 3.7c-30.6 11.97-67.68 36.59-67.68 106.08 0 75.77-16.65 89.74-40.17 117.12-3.02 3.67-4.38 8.34-3.81 12.97 0.58 4.63 3.06 8.86 6.9 11.75 3.61 2.66 8.1 3.98 12.66 3.7h283.06c3.54 0.19 7.07-0.59 10.16-2.26 3.08-1.67 5.61-4.14 7.27-7.14 1.65-2.98 2.38-6.37 2.08-9.74-0.3-3.38-1.61-6.59-3.76-9.28\", style: { fill: \"currentcolor\" } }, { d: \"M214.78000000000065 408.1899999999998c5.45 5.36 11.97 9.61 19.19 12.52 7.2 2.91 14.95 4.41 22.77 4.41 7.83 0 15.57-1.5 22.78-4.41s13.73-7.16 19.18-12.52z\", style: { fill: \"none\", stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\" } }] }, \"person-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M328.2099999999991 144.21000000000004c-3.19 40.97-35.79 74.44-71.47 74.44-35.78 0-68.37-33.37-71.46-74.44-1.57-18.04 4.42-35.94 16.66-49.77 12.24-13.84 29.74-22.48 48.64-24.04 18.91-1.56 37.7 4.09 52.25 15.72s23.67 28.27 25.38 46.31c0.4 3.91 0.4 7.87 0 11.78\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\", fill: \"none\" } }, { d: \"M256.84000000000015 268.27c-70.66 0-142.43 37.17-155.68 107.42-0.5 1.64-0.65 3.36-0.45 5.06s0.75 3.34 1.62 4.83c0.87 1.5 2.05 2.82 3.45 3.87 1.41 1.06 3.02 1.85 4.74 2.3 1.11 0.31 2.25 0.47 3.39 0.48h286.06c2.7-0.07 5.32-0.9 7.52-2.4 2.21-1.49 3.9-3.57 4.86-5.99 1.02-2.64 1.15-5.53 0.38-8.25-13.36-70.15-85.22-107.32-155.89-107.32\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\", fill: \"none\" } }] }, person: { viewBox: \"0 0 512 512\", paths: [{ d: \"M321.6299999999992 83.17999999999984c-16.45-16.83-39.37-26.14-64.59-26.14-25.42 0-48.44 9.22-64.79 25.95-16.54 16.92-24.51 39.92-22.72 64.83 3.79 49.05 42.96 88.88 87.41 88.88s83.63-39.83 87.41-88.88c2-24.62-6.08-47.63-22.72-64.64\", style: { fill: \"currentcolor\" } }, { d: \"M404.64999999999964 415.4200000000001h-295.12c-3.86 0.06-7.68-0.72-11.16-2.28-3.51-1.54-6.61-3.81-9.07-6.66-2.76-3.23-4.72-7-5.76-11.04a26.94 26.94 0 0 1-0.23-12.34c7.08-37.55 29.21-69.11 63.89-91.26 30.8-19.68 69.87-30.52 110.04-30.52s79.14 10.84 110.04 30.52c34.68 22.15 56.81 53.71 63.89 91.26 0.82 4.08 0.72 8.28-0.31 12.32-1.04 4.03-2.97 7.8-5.67 11.06a25.65 25.65 0 0 1-9.07 6.66 28.7 28.7 0 0 1-11.47 2.28\", style: { fill: \"currentcolor\" } }] }, glasses: { viewBox: \"0 0 512 512\", paths: [{ d: \"M288.7999999999993 238.46000000000026s16.5-15.75 82.5-15.75c66.1 0 82.5 15.75 82.5 15.75v1.19c-0.1 93.57-16.7 124.8-82.5 124.8-66 0-82.5-31.47-82.5-125.99m-231.3 1.19v-1.19s16.6-15.75 82.6-15.75 82.6 15.75 82.6 15.75c0 94.52-16.6 125.99-82.6 125.99-65.7 0-82.5-31.23-82.6-124.8m165.2 2.2c0-1.85 14.7-3.39 33-3.39 18.2 0 33.1 1.54 33.1 3.39z m191.3-79.27c6.4 4.85 57.9 71.08 57.9 71.08z m-314.2 0l-57.9 71.08s51.4-66.23 57.9-71.08\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, \"star-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.8000000000011 80.71000000000004l50.9 86.03c4 6.9 9.7 12.84 16.5 17.41s14.6 7.65 22.7 9.02l103 17.02-70.8 67.3c-6.2 5.87-10.7 13.02-13.5 20.89a50.9 50.9 0 0 0-2.4 24.46l13.9 93.73-97-42.5c-7.4-3.19-15.4-4.84-23.5-4.84-8 0-16 1.65-23.4 4.84l-97 42.5 14-93.73c1.2-8.24 0.4-16.62-2.4-24.51-2.8-7.88-7.4-15.05-13.6-20.93l-70.7-67.31 103-17.01c8.2-1.34 16-4.41 22.8-8.98 6.7-4.57 12.3-10.54 16.4-17.45z m0-38.12c-4.3 0-8.4 1.09-12.1 3.14-3.7 2.06-6.8 5.01-8.9 8.56l-57.6 97.43c-1.8 2.94-4.2 5.5-7.1 7.49-2.9 1.96-6.3 3.3-9.8 3.92l-117.8 19.39c-4.4 0.73-8.4 2.58-11.7 5.37-2.5 2.07-4.5 4.63-5.9 7.48s-2.2 5.95-2.3 9.09c-0.1 3.15 0.5 6.29 1.7 9.22 1.2 2.92 3.1 5.59 5.4 7.82l81.3 77.38c2.7 2.52 4.7 5.61 5.9 9.01s1.5 7.03 1 10.57l-16 107.14c-0.7 4.37 0 8.84 2 12.83 2.7 5.54 7.6 9.85 13.6 11.97s12.6 1.88 18.4-0.66l110-48.19c3.2-1.38 6.5-2.09 10-2.09s6.9 0.71 10.1 2.09l110 48.19c3.2 1.4 6.6 2.11 10.1 2.09 1.1 0 2.3-0.09 3.4-0.19 4.7-0.64 9.2-2.61 12.6-5.65 3.6-3.04 6.1-7.02 7.3-11.43 0.8-2.93 1-5.98 0.5-8.96l-15.9-107.14c-0.5-3.54-0.2-7.17 1-10.57s3.2-6.49 5.8-9.01l81.5-77.38c4.1-3.81 6.6-8.88 7.1-14.29 0.5-5.42-1-10.83-4.3-15.27-1.9-2.45-4.2-4.56-6.9-6.19-2.7-1.6-5.7-2.69-8.8-3.23l-117.8-19.39c-3.5-0.56-6.9-1.88-9.8-3.85-2.9-1.94-5.3-4.53-7-7.56l-57.6-97.43c-2.2-3.64-5.4-6.65-9.2-8.75-3.8-1.89-7.9-2.91-12.2-2.95\", style: { fill: \"currentcolor\" } }] }, star: { viewBox: \"0 0 512 512\", paths: [{ d: \"M235.8000000000011 54.38000000000011c3.2-5.31 8.4-9.22 14.5-10.86 6.2-1.64 12.8-0.88 18.4 2.12 3.8 2.1 7 5.11 9.2 8.74l57.6 97.44c1.8 2.94 4.2 5.49 7 7.48 2.9 1.97 6.3 3.31 9.8 3.93l117.8 19.39c4.4 0.69 8.5 2.55 11.8 5.34 2.5 2.09 4.5 4.63 6 7.47 1.4 2.87 2.2 5.96 2.3 9.12 0.1 3.17-0.5 6.31-1.7 9.25s-3.1 5.59-5.5 7.79l-81.5 77.39c-2.6 2.51-4.6 5.6-5.8 9.01-1.2 3.4-1.5 7.02-1 10.57l15.9 107.13c0.9 6.04-0.8 12.16-4.6 17.05-3.8 4.87-9.5 8.12-15.8 9-4.6 0.67-9.3 0-13.5-1.9l-110-48.2c-3.2-1.37-6.6-2.07-10.1-2.07s-6.8 0.7-10 2.07l-110 48.2c-2.9 1.26-6 1.98-9.1 2.09-3.2 0.11-6.3-0.36-9.3-1.42s-5.7-2.66-8.1-4.7c-2.3-2.06-4.2-4.54-5.5-7.28-1.9-4.03-2.6-8.46-2-12.84l16-107.13c0.5-3.55 0.2-7.17-1-10.57-1.2-3.41-3.2-6.5-5.9-9.01l-81.3-77.39c-2.3-2.11-4.1-4.63-5.3-7.44-1.8-4.2-2.3-8.82-1.4-13.28 0.9-4.47 3.2-8.56 6.6-11.79 3.6-3.32 8-5.57 12.9-6.46l117.8-19.39c3.5-0.56 6.9-1.88 9.8-3.85 3-1.94 5.4-4.54 7.1-7.56z\", style: { fill: \"currentcolor\" } }] }, close: { viewBox: \"0 0 512 512\", paths: [{ d: \"M290.60000000000036 243.36000000000013l94.7-90.31c4.5-4.3 7-10.1 7.1-16.16 0-6.06-2.5-11.88-7-16.18-4.5-4.29-10.5-6.72-16.9-6.73-3.2-0.01-6.3 0.58-9.2 1.72s-5.6 2.82-7.8 4.94l-94.7 90.31-94.6-90.31c-3.4-3.17-7.6-5.33-12.3-6.19-4.6-0.87-9.4-0.4-13.8 1.33-4.3 1.7-8 4.62-10.7 8.38-2.6 3.74-4 8.15-4 12.67-0.1 2.99 0.5 5.97 1.7 8.73 1.2 2.78 3 5.3 5.2 7.4l94.7 90.31-94.7 90.31c-2.8 2.66-4.8 5.93-6 9.52-1.1 3.6-1.3 7.4-0.5 11.07 0.8 3.68 2.5 7.11 5 10 2.5 2.9 5.8 5.16 9.3 6.59 4.4 1.72 9.2 2.17 13.8 1.32 4.7-0.87 8.9-3.02 12.3-6.18l94.6-90.31 94.7 90.31c3.4 3.17 7.6 5.32 12.3 6.19 4.6 0.87 9.4 0.4 13.7-1.33a23.9 23.9 0 0 0 10.8-8.38c2.6-3.75 4-8.16 4-12.67 0.1-3-0.5-5.97-1.7-8.75-1.2-2.76-3-5.28-5.2-7.38z\", style: { fill: \"currentcolor\" } }] }, checkmark: { viewBox: \"0 0 512 512\", paths: [{ d: \"M416.3000000000011 121.67999999999984l-223.2 243.36-95.7-91.26\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"60\", fill: \"none\" } }] }, network: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.7999999999993 71.20000000000027c-103.5 0-187.6 80.07-187.6 178.91 0 98.77 84 178.91 187.6 178.91 49.7 0 97.5-18.85 132.7-52.4 35.2-33.56 54.9-79.06 54.9-126.51 0-47.44-19.7-92.95-54.9-126.51-35.2-33.54-83-52.4-132.7-52.4m0 26.91c1.6 0 3.1 0.16 4.6 0.23-28.4 19.86-51.7 45.62-68.2 75.32-4.8-1.09-9.7-1.02-14.5 0.22-4.7 1.24-9.1 3.59-12.6 6.85-3.6 3.26-6.2 7.31-7.7 11.78-1.4 4.48-1.7 9.24-0.7 13.83a279.7 279.7 0 0 0-59.9 37.67c1.7-39.18 19.2-76.22 48.8-103.41s69.1-42.42 110.2-42.49m53.9 83.51c-6.5 0.9-12.7 3.37-18 7.18s-9.5 8.82-12.2 14.58a331.7 331.7 0 0 0-65.1-5.22c-0.6-6.45-3.4-12.5-8.2-17.1-0.4-0.33-0.7-0.49-1.1-0.81 18.2-32.54 45-60.02 77.7-79.74 1.4 0.24 2.8 0.32 4.2 0.56 11.7 25.57 19.3 52.67 22.6 80.39z m-4.7-75.97c37.1 11.57 68.5 35.68 88.3 67.77-13.6 10.2-29.3 17.56-46.1 21.6-0.8-0.88-1.4-1.92-2.3-2.8-5.6-5.28-12.6-8.91-20.3-10.44 0-0.51-0.1-1.03-0.2-1.53a298 298 0 0 0-19.4-74.6m-15.8 142.46c-21.9 25.55-49.5 46.05-80.9 59.98-0.6-0.79-1.3-1.54-2-2.25-2.8-2.71-6.3-4.83-10-6.23-3.8-1.4-7.8-2.03-11.8-1.88-5.9-22.66-5.8-46.39 0.4-68.98 5.8 0.14 11.4-1.36 16.3-4.31 4.9-2.94 8.7-7.2 11-12.23 21.4-0.55 42.8 1.04 63.8 4.73-0.4 5.47 0.4 10.95 2.4 16.1s5.1 9.82 9.2 13.7c0.5 0.5 1 0.96 1.6 1.37m-126-29.24c0.5 0.63 1 1.22 1.6 1.77 1.8 1.68 3.8 3.12 6 4.26-7.2 25.14-7.3 51.64-0.3 76.84-2.1 1.16-4 2.54-5.7 4.1-5.1 4.88-8.1 11.41-8.5 18.31-14.5-0.33-29-2.57-42.8-6.67-9.1-17.27-14.7-36.06-16.3-55.32 19.8-17.4 41.9-31.98 66-43.29m-4.1 119.33h0.3c2.9 5.81 7.9 10.44 14.1 13.08 6.2 2.63 13.1 3.09 19.6 1.29 11.9 18.54 27 34.92 44.9 48.42-23.1-2.49-45.2-9.72-64.9-21.19a156.6 156.6 0 0 1-49.7-45.22c11.8 2.41 23.8 3.62 35.7 3.62m46.8 7.47l0.3-0.24c3.3-3.17 5.8-7.04 7.1-11.29 1.5-4.26 1.8-8.8 1-13.21 34.1-15 64-37.38 87.5-65.36 2.6 0.94 5.4 1.61 8.2 2.01-6 49.54-21.9 97.54-46.6 141.48-24-12.37-43.9-30.86-57.5-53.39m73.4 54.44c24.4-44.55 39.8-93.01 45.6-142.94 7.7-1.52 14.6-5.15 20.1-10.43 1-1 1.9-2.08 2.7-3.22 13.2 3.04 25.4 8.66 36.1 16.52 10.7 7.87 19.5 17.77 25.9 29.09-8.1 28.59-24.7 54.32-47.8 74.03-23.2 19.71-51.9 32.56-82.6 36.95m75.4-169.11c2.5-7.65 2.4-15.83-0.2-23.45 16.4-4.44 31.9-11.7 45.6-21.44 12.7 25.67 17.5 54.24 13.8 82.39-15.3-18-35.9-31.09-59.2-37.5\", style: { fill: \"currentcolor\" } }] }, about: { viewBox: \"0 0 512 512\", paths: [{ d: \"M252.10000000000036 79.75999999999976c-42.6 0-83.7 15.12-115.3 42.42s-51.3 64.84-55.5 105.28c-4.2 40.46 7.6 80.95 33 113.59 25.3 32.66 62.6 55.13 104.3 63.05 41.9 7.93 85.2 0.74 121.8-20.16 36.6-20.91 63.6-54.03 76.1-92.93 12.3-38.91 9-80.8-9.2-117.54s-50.1-65.71-89.5-81.26c-20.8-8.22-43.2-12.45-65.7-12.45Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M226.10000000000036 218.45999999999958h29.8v97.02\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M218.89999999999964 319.1399999999999h76.9\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M252.10000000000036 138.39999999999964c-4.8 0-9.5 1.35-13.4 3.89-3 1.9-5.5 4.39-7.4 7.32-1.8 2.94-3 6.22-3.4 9.62-0.3 3.41 0.1 6.85 1.4 10.06 1.2 3.24 3.1 6.16 5.7 8.56 3.4 3.24 7.6 5.46 12.3 6.35 4.8 0.89 9.7 0.43 14.1-1.33 4.4-1.78 8.2-4.73 10.8-8.51 2.7-3.79 4.1-8.27 4.1-12.84 0-3.03-0.6-6.04-1.8-8.85-1.3-2.78-3-5.32-5.2-7.5-4.6-4.34-10.8-6.77-17.2-6.77\", style: { fill: \"currentcolor\" } }] }, list: { viewBox: \"0 0 512 512\", paths: [{ d: \"M102.05999999999949 101.71000000000004h74.25c2.43 0 4.84 0.46 7.1 1.34 2.25 0.89 4.29 2.19 6.02 3.83 1.72 1.65 3.09 3.6 4.01 5.75a17 17 0 0 1 1.41 6.76v70.83c0 2.32-0.48 4.62-1.41 6.76-0.92 2.15-2.29 4.1-4.01 5.75a18.8 18.8 0 0 1-6.02 3.83c-2.26 0.88-4.67 1.34-7.1 1.34h-74.25c-2.44 0-4.85-0.46-7.1-1.34-2.25-0.89-4.3-2.19-6.02-3.83-1.72-1.65-3.09-3.6-4.02-5.75-0.92-2.14-1.4-4.44-1.4-6.76v-70.83c0.01-4.68 1.96-9.17 5.44-12.49 3.48-3.31 8.18-5.18 13.1-5.19\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M102.05999999999949 278.80999999999995h74.25c2.43 0 4.84 0.46 7.1 1.34 2.25 0.89 4.29 2.19 6.02 3.84 1.72 1.64 3.09 3.59 4.01 5.74 0.93 2.15 1.41 4.45 1.41 6.77v70.82c0 2.32-0.48 4.62-1.41 6.77-0.92 2.14-2.29 4.09-4.01 5.74a18.8 18.8 0 0 1-6.02 3.83c-2.26 0.88-4.67 1.34-7.1 1.34h-74.25c-2.44 0-4.85-0.46-7.1-1.34-2.25-0.89-4.3-2.19-6.02-3.83a17.8 17.8 0 0 1-4.02-5.74c-0.92-2.15-1.4-4.45-1.4-6.77v-70.82c0-2.32 0.48-4.62 1.4-6.77 0.93-2.15 2.3-4.1 4.02-5.74 1.72-1.65 3.77-2.95 6.02-3.84 2.25-0.88 4.66-1.34 7.1-1.34\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M287.6399999999994 137.17000000000007h148.51c4.92 0 9.63 1.87 13.11 5.18 3.48 3.32 5.43 7.82 5.43 12.5 0 4.69-1.95 9.19-5.43 12.5-3.48 3.32-8.19 5.19-13.11 5.19h-148.51c-4.91 0-9.62-1.87-13.1-5.19-3.48-3.31-5.44-7.81-5.44-12.5 0-4.68 1.96-9.18 5.44-12.5 3.48-3.31 8.19-5.18 13.1-5.18Z\", style: { stroke: \"currentcolor\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M287.6399999999994 314.1800000000003h148.51c4.92 0 9.63 1.86 13.11 5.18 3.48 3.31 5.43 7.81 5.43 12.5 0 4.68-1.95 9.18-5.43 12.5s-8.19 5.18-13.11 5.18h-148.51c-4.91 0-9.62-1.86-13.1-5.18s-5.44-7.82-5.44-12.5c0-4.69 1.96-9.19 5.44-12.5 3.48-3.32 8.19-5.18 13.1-5.18Z\", style: { stroke: \"currentcolor\", strokeWidth: \"37.252\", fill: \"none\" } }] }, grid: { viewBox: \"0 0 512 512\", paths: [{ d: \"M126.86999999999898 101.71000000000004h74.26c2.43 0 4.84 0.46 7.09 1.34 2.26 0.89 4.3 2.19 6.03 3.83 1.72 1.65 3.09 3.6 4.01 5.75 0.93 2.14 1.41 4.45 1.41 6.76v70.83c0 2.32-0.48 4.62-1.41 6.76-0.92 2.15-2.29 4.1-4.01 5.75a18.7 18.7 0 0 1-6.03 3.83c-2.25 0.88-4.66 1.34-7.09 1.34h-74.26c-2.43 0-4.84-0.46-7.09-1.34-2.26-0.89-4.3-2.19-6.02-3.83-1.73-1.65-3.09-3.6-4.02-5.75a17 17 0 0 1-1.41-6.76v-70.83c0-2.32 0.46-4.62 1.39-6.77s2.29-4.11 4.02-5.75a18.5 18.5 0 0 1 6.03-3.84 19.3 19.3 0 0 1 7.1-1.32\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M312.4599999999991 101.71000000000004h74.26c2.43 0 4.84 0.46 7.09 1.34 2.25 0.89 4.3 2.19 6.02 3.83 1.73 1.65 3.09 3.6 4.02 5.75 0.93 2.14 1.4 4.44 1.4 6.76v70.83c0 2.32-0.47 4.62-1.4 6.76-0.93 2.15-2.29 4.1-4.02 5.75a18.7 18.7 0 0 1-6.02 3.83c-2.25 0.88-4.66 1.34-7.09 1.34h-74.26c-2.43 0-4.84-0.46-7.1-1.34a18.8 18.8 0 0 1-6.02-3.83c-1.72-1.65-3.09-3.6-4.01-5.75a17 17 0 0 1-1.41-6.76v-70.83c0.01-4.68 1.97-9.17 5.44-12.49 3.48-3.31 8.19-5.18 13.1-5.19\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M126.86999999999898 278.80999999999995h74.26c2.43 0 4.84 0.46 7.09 1.35 2.26 0.88 4.3 2.18 6.03 3.83 1.72 1.64 3.09 3.59 4.01 5.74 0.93 2.15 1.41 4.45 1.41 6.77v70.82c0 2.32-0.48 4.62-1.41 6.77-0.92 2.14-2.29 4.09-4.01 5.74a18.7 18.7 0 0 1-6.03 3.83c-2.25 0.88-4.66 1.34-7.09 1.34h-74.26c-2.43 0-4.84-0.46-7.09-1.34-2.26-0.89-4.3-2.19-6.02-3.83-1.73-1.65-3.09-3.6-4.02-5.74-0.93-2.15-1.41-4.45-1.41-6.77v-70.82c0-2.33 0.46-4.63 1.39-6.78s2.29-4.11 4.02-5.75c1.72-1.65 3.77-2.95 6.03-3.83 2.25-0.89 4.66-1.33 7.1-1.33\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M312.4599999999991 278.80999999999995h74.26c2.43 0 4.84 0.46 7.09 1.34 2.25 0.9 4.3 2.19 6.02 3.84 1.73 1.64 3.09 3.59 4.02 5.74s1.4 4.45 1.4 6.77v70.82c0 2.32-0.47 4.62-1.4 6.77-0.93 2.14-2.29 4.09-4.02 5.74a18.7 18.7 0 0 1-6.02 3.83c-2.25 0.88-4.66 1.34-7.09 1.34h-74.26c-2.43 0-4.84-0.46-7.1-1.34a18.8 18.8 0 0 1-6.02-3.83c-1.72-1.65-3.09-3.6-4.01-5.74-0.93-2.15-1.41-4.45-1.41-6.77v-70.82c0.01-4.69 1.97-9.18 5.44-12.5 3.48-3.3 8.19-5.18 13.1-5.19\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }] }, share: { viewBox: \"0 0 512 512\", paths: [{ d: \"M396.39999999999964 437.19000000000005c-18 0.11-35.5-6.58-48.3-18.64-13-12.05-20.3-28.49-20.6-45.72v-1.43l-137.9-43.34a77.3 77.3 0 0 1-27.4 20.75c-10.66 4.84-22.32 7.3-34.18 7.19-20.19 0.76-39.86-6.15-54.71-19.22-14.85-13.06-23.65-31.21-24.49-50.47-0.83-19.25 6.38-38.02 20.05-52.2 13.67-14.2 32.68-22.63 52.87-23.46 2.09-0.09 4.18-0.09 6.28 0 17.44 0.17 34.28 5.56 48.38 15.4l101.3-62.93c-6.3-12.21-9.7-25.56-10.2-39.16-0.9-18.16 3.8-36.15 13.8-51.68 10-15.51 24.5-27.84 41.9-35.39 17.3-7.54 36.7-9.96 55.4-6.94 18.8 3.01 36.2 11.34 50 23.89s23.3 28.75 27.3 46.5c4.1 17.77 2.5 36.28-4.6 53.15-7 16.89-19.3 31.35-35.1 41.54-15.8 10.18-34.4 15.62-53.5 15.62-12.1 0.19-24.3-1.93-35.6-6.26s-21.7-10.76-30.3-18.93l-99.7 61.51c5.7 10.33 8.7 21.8 8.8 33.46-0.3 6.13-1.3 12.22-2.9 18.16l131.8 40.49c7.6-12.58 19.3-22.49 33.2-28.19 14-5.71 29.5-6.91 44.3-3.42 14.7 3.47 27.9 11.46 37.5 22.72 9.5 11.27 15 25.21 15.5 39.69-0.1 17.54-7.4 34.35-20.2 46.9-12.9 12.55-30.3 19.87-48.7 20.41m0-99.25c-6.8 0.29-13.5 2.49-19.1 6.35-5.6 3.85-9.8 9.2-12.3 15.35-2.4 6.15-2.9 12.84-1.4 19.25 1.6 6.4 5.1 12.24 10 16.78 5 4.55 11.3 7.6 18 8.77 6.8 1.17 13.9 0.42 20.2-2.17 6.4-2.58 11.7-6.89 15.5-12.38 3.8-5.48 5.8-11.92 5.8-18.49-0.2-9.06-4.2-17.67-11.1-23.94-6.8-6.28-16.1-9.69-25.6-9.52m-269.68-97.82c-5.97-0.13-11.91 0.85-17.47 2.9-5.57 2.06-10.67 5.14-14.99 9.06-4.32 3.93-7.79 8.63-10.21 13.83-2.41 5.21-3.74 10.82-3.88 16.52-0.13 5.69 0.89 11.36 3.05 16.66 2.15 5.31 5.38 10.17 9.49 14.3 4.12 4.11 9.05 7.42 14.51 9.73a47.3 47.3 0 0 0 17.31 3.7h2.19c5.97 0.13 11.96-0.85 17.44-2.9a46.5 46.5 0 0 0 15.05-9.06c4.29-3.92 7.78-8.63 10.17-13.83 2.42-5.21 3.82-10.82 3.92-16.51 0.2-5.7-0.9-11.36-3-16.67-2.22-5.31-5.4-10.17-9.59-14.29-4.09-4.12-9.07-7.43-14.45-9.74a47.8 47.8 0 0 0-17.35-3.7z m235.98-171.96c-7.9-0.25-15.9 1-23.5 3.69-7.5 2.69-14.3 6.77-20.2 12-5.8 5.22-10.6 11.49-13.9 18.46s-5.1 14.48-5.3 22.12v1.05c0.2 15.44 6.9 30.15 18.5 40.89 11.7 10.76 27.3 16.66 43.4 16.43h1.1c8.2 0.37 16.3-0.84 24-3.56 7.5-2.72 14.5-6.89 20.4-12.25 6-5.37 10.7-11.81 13.8-18.96 3.2-7.14 4.8-14.83 4.8-22.6s-1.6-15.46-4.9-22.59c-3.1-7.14-7.8-13.59-13.7-18.94s-13-9.52-20.5-12.22c-7.7-2.71-15.8-3.9-24-3.52\", style: { fill: \"currentcolor\" } }] }, warning: { viewBox: \"0 0 512 512\", paths: [{ d: \"M449.2999999999993 379.4000000000001l-169.9-300.87c-12-21.3-44-21.3-56.1 0l-169.8 300.87c-2.7 4.61-4 9.84-3.8 15.11 0.1 5.25 1.7 10.38 4.5 14.9 2.7 4.51 6.7 8.26 11.5 10.86 4.8 2.59 10.3 3.97 15.8 4h339.7c5.5 0.01 11-1.37 15.8-4 4.8-2.62 8.8-6.35 11.6-10.83 2.8-4.53 4.4-9.67 4.5-14.94 0.1-5.25-1.2-10.45-3.8-15.1m-197.9-1.81c-3 0.01-5.9-0.62-8.6-1.82-2.7-1.21-5-2.98-6.9-5.17-1.8-2.17-3.1-4.73-3.8-7.47s-0.8-5.59-0.2-8.35c0.7-3.69 2.6-7.08 5.3-9.7 2.8-2.67 6.4-4.49 10.3-5.23 3.9-0.72 7.9-0.34 11.5 1.09 3.7 1.45 6.8 3.87 8.9 6.99 2.2 3.12 3.4 6.79 3.4 10.55 0 2.52-0.5 5.02-1.6 7.32-1.5 3.48-3.9 6.46-7.2 8.56s-7.1 3.22-11.1 3.23m21.6-191.17l-5.7 115.98c0 4.03-1.6 7.9-4.6 10.75s-7.1 4.46-11.3 4.46-8.3-1.61-11.3-4.46-4.6-6.72-4.6-10.75l-5.8-115.88c-0.2-5.58 1.9-11.02 5.9-15.12 2-1.94 4.4-3.54 7-4.75 2.7-1.12 5.6-1.7 8.5-1.71h0.2c2.9 0 5.9 0.55 8.6 1.61 2.7 1.11 5.1 2.72 7 4.76 2.1 1.98 3.7 4.39 4.7 7.03 1 2.59 1.5 5.32 1.4 8.08\", style: { fill: \"currentcolor\" } }] }, \"cloud-sync\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M472.7999999999993 180.1500000000001c-13.2-7.99-29.7-13.88-47.9-17.02-3-0.57-5.9-1.96-8.1-3.99-2.2-2.08-3.8-4.72-4.5-7.61-7.9-32.79-24.5-60.93-48.9-82.32-28.7-24.91-66.5-38.69-106.6-38.69-35.3 0-67.8 10.55-94.1 30.42-17.7 13.5-32 30.66-41.7 50.19-1.1 2.19-2.8 4.11-4.8 5.6-2 1.48-4.4 2.5-6.9 2.96-27 4.65-50.3 13.97-68.2 27.28-25.8 19.3-39.4 46.67-39.4 79 0 64.07 55.7 108.75 135.5 108.75h71.8v-78.9c0-12.11 5.1-23.71 14-32.27 9-8.55 21.2-13.36 33.8-13.36 12.7 0 24.8 4.81 33.8 13.36 9 8.56 14.1 20.16 14.1 32.27v78.9h91.7c72.3 0 115.6-32.51 115.6-87.08 0-28.71-13.6-52-39.2-67.49\", style: { fill: \"currentcolor\" } }, { d: \"M256.7999999999993 240.51000000000022c-4.2 0.01-8.2 1.62-11.2 4.47s-4.7 6.71-4.7 10.74v148.68l-36.6-34.79c-1.5-1.37-3.3-2.47-5.2-3.22-1.9-0.74-4-1.1-6.1-1.06-4.2 0.03-8.1 1.62-11.1 4.45-1.5 1.39-2.6 3.06-3.4 4.89-0.8 1.84-1.2 3.79-1.2 5.77 0 3.99 1.6 7.84 4.5 10.74l63.8 60.75c1.5 1.42 3.1 2.56 5.1 3.31 1.9 0.77 4 1.16 6.1 1.16s4.2-0.39 6.1-1.16c2-0.75 3.7-1.89 5.2-3.31l63.8-60.75c1.5-1.41 2.6-3.09 3.4-4.94 0.7-1.86 1.1-3.82 1.1-5.8 0-2.97-0.9-5.87-2.7-8.35-1.7-2.48-4.1-4.43-7-5.6-1.9-0.77-4-1.17-6.1-1.16-4.2-0.03-8.3 1.51-11.2 4.28l-36.6 34.79v-148.68c0-2-0.4-3.97-1.2-5.83-0.8-1.85-2-3.52-3.5-4.93s-3.3-2.53-5.2-3.3c-1.9-0.76-4-1.15-6.1-1.15\", style: { fill: \"currentcolor\" } }] }, hourglass: { viewBox: \"0 0 512 512\", paths: [{ d: \"M215.5 223.71000000000004c-31.7-55.25-54.6-112.34-16.3-175.68-4-2.83-7.6-5.98-11-9.43-0.7-1.15-1.5-2.29-2.1-3.51-2.5-4.44-0.6-10.47 4.4-11.92 10-2.88 23.6-1.19 33.3 0.16 72.8 11.28 142.7 34.86 206.8 69.62 7.2 4.12 13.8 9.09 19.7 14.79 6.9 6.83 4.7 12.13-5.3 13.87-5.9 0.79-11.8 1.25-17.9 1.49-10.6 72.29-65.6 103.88-125.1 128.18 6.7 15.3 13.8 29.9 20 44.77 16.6 34.78 18.9 74.28 6.3 110.57-0.2 0.93-6.8 18.57 3.2 25.37 10.4 11.08 1.2 27.22-7.8 26.09-0.4-0.02-0.8-0.01-1.2 0.01-16.4-0.24-32.8-1.59-49-4.01-63.6-11.78-125.1-32.84-182.2-62.43-8.5-4.96-16.8-10.48-24.6-16.53-2.9-2.05-4.8-5.01-5.6-8.34-0.6-3.34-0.1-6.79 1.6-9.76 0.7-3.05 2.6-5.71 5.3-7.49 2.7-1.77 5.9-2.57 9.2-2.24 10.9 1.15 13.3-3.6 15.6-12.96 9.7-33.44 32.6-62 63.9-79.67 18.8-11.55 39-20.58 58.8-30.95m84.3 185.8c11.6-20.8 15.3-44.85 10.3-67.96-5.9-30.24-18.5-58.92-37-84.14-7.8-11.85-4.8-19.19 8.5-24.78 21.5-8.44 42.4-18.17 62.6-29.11 26.9-14.54 46.8-38.63 55.1-67.04 4.5-15.44 3.1-16.2-12.6-20.26-29.8-7.76-59.7-15.38-88.9-24.85-23.1-7.58-45.4-17.62-67.7-26.97-7.2-2.96-11.1-2.33-15.2 5-11 21.72-14.1 46.39-8.5 69.96 6.6 29.38 19.3 57.24 37 82.06 1.7 1.83 2.9 4.08 3.4 6.48 0.5 2.41 0.3 4.9-0.5 7.23-0.9 2.32-2.4 4.37-4.3 5.95-2 1.57-4.4 2.61-6.9 3.02-7.9 2.75-16 5.53-23.6 8.74-33.9 11.93-63.1 33.61-83.6 62.04-7.8 10.44-12.2 22.91-12.5 35.78 7.5 1.19 15.2 1.44 22.8 0.75 19.9-4.41 58.2 0.13 84.6-12.82 7.7-2.22 15.8-2.18 23.4 0.11 7.6 2.28 14.4 6.71 19.3 12.71 13 13.74 13.7 24.71 24.1 40.47 6.3 8.9 0 13.89 10.2 17.63\", style: { fill: \"currentcolor\" } }, { d: \"M335.60000000000036 158.78999999999996c-1.5 0.2-2.9 0.33-4.2 0.51-0.2 0.02-0.3 0.08-0.6 0.11-28.3 5.94-58 3.72-85-6.39-0.4-0.12-0.9-0.28-1.2-0.41-1.8-0.38-3.5-0.42-5.3-0.12-1.8 0.28-3.5 0.92-5 1.86s-2.6 2.28-3.3 3.85c-1.6 3.44-1.9 7.28-1 10.93 0.1 0.43 0.2 0.84 0.4 1.24 7.1 16.9 14.8 33.41 23.1 49.43 0.5 1.01 1.3 1.9 2.2 2.61 1.2 0.98 2.6 1.69 4.1 2.07 1.6 0.38 3.2 0.42 4.7 0.11 0.4-0.05 0.8-0.23 1.2-0.32 27.4-9.6 52.5-24.3 73.9-43.25 0.3-0.3 0.6-0.51 0.9-0.84 3.2-3.63 5.2-8.12 5.6-12.84 0-1.61-0.5-3.18-1.5-4.49-1-1.38-2.3-2.48-3.9-3.19-1.6-0.72-3.3-1.02-5.1-0.87\", style: { fill: \"currentcolor\" } }, { d: \"M267 309.6600000000001c-0.2 4.03-2 7.82-5.1 10.57-3.1 2.74-7.2 4.24-11.4 4.13-0.1-0.03-0.3 0.03-0.4-0.01-3.2-0.16-6.2-1.21-8.7-3.01-2.6-1.8-4.5-4.28-5.6-7.13-1.1-2.84-1.3-5.95-0.5-8.89 0.8-2.95 2.4-5.62 4.8-7.66 2.3-2.06 5.2-3.41 8.3-3.87 3.2-0.49 6.4-0.07 9.3 1.2 2.9 1.26 5.3 3.32 7 5.9s2.5 5.56 2.4 8.59c0 0.02-0.1 0.04-0.1 0.08z\", style: { fill: \"currentcolor\" } }, { d: \"M262.60000000000036 264.8900000000001c-0.9 5.86-4 9.17-10.2 8.92-1.2 0.06-2.3-0.1-3.4-0.46-1.1-0.33-2.1-0.89-2.9-1.64-0.9-0.72-1.6-1.6-2.1-2.6s-0.7-2.06-0.8-3.14c0-0.59 0-1.18 0.1-1.77-0.1-1.11 0.1-2.24 0.5-3.28 0.3-1.08 0.9-2.06 1.7-2.86s1.8-1.48 2.8-1.98c1.1-0.48 2.2-0.74 3.4-0.79 0.6-0.03 1.1-0.02 1.7 0.05 6.1 0.2 8.9 3.92 9.2 9.55\", style: { fill: \"currentcolor\" } }] }, pause: { viewBox: \"0 0 512 512\", paths: [{ d: \"M183.68499999999995 88.40999999999985h-18.339v314.18h18.339z\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"36.719\", fill: \"none\" } }, { d: \"M348.33900000000006 88.40999999999985H330v314.18h18.339z\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"36.719\", fill: \"none\" } }] }, next: { viewBox: \"0 0 512 512\", paths: [{ d: \"M122.19000000000005 113.3100000000004v264.75c0 15.88 15.14 26.05 27.7 18.44L371.15999999999985 261.1400000000003c2.12-1.49 3.9-3.35 5.26-5.49 1.35-2.15 2.25-4.52 2.64-7 0.39-2.47 0.26-4.99-0.38-7.41-0.64-2.43-1.77-4.72-3.33-6.72a18 18 0 0 0-4.19-3.99l-221.27-135.47c-12.56-7.79-27.7 2.38-27.7 18.25Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }, { d: \"M391.5 85.84000000000015v321.22\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }] }, \"skip-back\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M475.72000000000025 138.32000000000062v210.08c0 12.65-12.95 20.63-23.52 14.64l-188.28-107.42c-9.17-5.23-9.17-19.1 0-24.33l188.28-107.42c10.57-6.18 23.52 1.8 23.52 14.45Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }, { d: \"M247.8800000000001 138.32000000000062v210.08c0 12.65-12.96 20.63-23.53 14.64l-188.27-107.42c-9.17-5.23-9.17-19.1 0-24.33l188.27-107.42c10.57-6.18 23.53 1.8 23.53 14.45Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }] }, \"skip-forward\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M37.86999999999989 138.32000000000062v210.08c0 12.65 12.95 20.63 23.52 14.64l188.28-107.42c9.17-5.23 9.17-19.1 0-24.33l-188.28-107.42c-10.57-6.18-23.52 1.8-23.52 14.45Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }, { d: \"M265.71000000000004 138.32000000000062v210.08c0 12.65 12.96 20.63 23.53 14.64l188.27-107.42c9.17-5.23 9.17-19.1 0-24.33l-188.27-107.42c-10.57-6.18-23.53 1.8-23.53 14.45Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }] }, \"volume-off\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M237.80000000000018 177.76999999999953h-72.36c-1.08 0-2.16 0.2-3.17 0.6-2.02 0.8-3.64 2.34-4.47 4.26-0.42 0.96-0.63 1.99-0.63 3.03v111.03c0 1.04 0.21 2.06 0.63 3.02s1.02 1.83 1.79 2.56 1.68 1.31 2.68 1.71c1.01 0.4 2.09 0.6 3.17 0.6h72.36c3.86-0.02 7.61 1.26 10.57 3.61l95.08 74.25a8.7 8.7 0 0 0 6.2 1.42c2.19-0.32 4.15-1.44 5.47-3.13a7.45 7.45 0 0 0 1.59-4.76v-269.88c0-1.04-0.21-2.06-0.63-3.02a7.85 7.85 0 0 0-1.79-2.56 8.5 8.5 0 0 0-2.68-1.71c-1.01-0.4-2.09-0.6-3.17-0.6-1.76 0.01-3.46 0.54-4.89 1.52l-95.08 74.25c-2.94 2.47-6.74 3.83-10.67 3.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, \"volume-low\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M187.9699999999998 178.71999999999935h-72.36c-1.08 0-2.16 0.2-3.17 0.6-2.02 0.8-3.64 2.34-4.47 4.26-0.42 0.96-0.63 1.99-0.63 3.03v111.03c0 1.04 0.21 2.06 0.63 3.02s1.02 1.83 1.79 2.56 1.68 1.31 2.68 1.71c1.01 0.4 2.09 0.6 3.17 0.6h72.36c3.86-0.02 7.61 1.26 10.57 3.61l95.08 74.25a8.7 8.7 0 0 0 6.2 1.42c2.19-0.32 4.15-1.44 5.47-3.13a7.45 7.45 0 0 0 1.59-4.76v-269.88c0-1.04-0.21-2.06-0.63-3.02a7.85 7.85 0 0 0-1.79-2.56 8.5 8.5 0 0 0-2.68-1.71c-1.01-0.4-2.09-0.6-3.17-0.6-1.76 0.01-3.46 0.54-4.89 1.52l-95.08 74.25c-2.94 2.47-6.74 3.83-10.67 3.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M389.90999999999985 305.52999999999975c10.65-19.61 16.35-41.32 16.64-63.41-0.08-22.11-5.79-43.87-16.64-63.4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, \"volume-medium\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M154.07999999999993 178.71999999999935h-72.36c-1.09 0-2.16 0.2-3.17 0.6-1.01 0.39-1.91 0.97-2.69 1.71-0.77 0.73-1.38 1.59-1.78 2.55-0.42 0.96-0.63 1.99-0.63 3.03v111.03c0 1.04 0.21 2.06 0.63 3.02a7.7 7.7 0 0 0 1.79 2.56c0.77 0.73 1.67 1.31 2.68 1.71s2.08 0.6 3.17 0.6h72.36c3.86-0.02 7.61 1.26 10.57 3.61l95.08 74.25a8.7 8.7 0 0 0 6.2 1.42c2.19-0.32 4.15-1.44 5.46-3.13a7.4 7.4 0 0 0 1.6-4.76v-269.88c0-1.04-0.21-2.06-0.63-3.02a8 8 0 0 0-1.79-2.56 8.5 8.5 0 0 0-2.68-1.71c-1.01-0.4-2.09-0.6-3.17-0.6-1.76 0.01-3.46 0.54-4.89 1.52l-95.08 74.25c-2.97 2.43-6.75 3.78-10.67 3.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M356.1099999999997 305.52999999999975c10.66-19.61 16.36-41.32 16.65-63.41-0.09-22.11-5.8-43.86-16.65-63.4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M405.9499999999998 353.15999999999985c22.13-33.16 33.7-71.74 33.29-111.04 0.71-39.34-10.88-78-33.29-111.03\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, \"volume-high\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M123.17999999999938 179.57000000000062h-72.36c-1.09 0-2.16 0.2-3.17 0.6-1.01 0.39-1.91 0.97-2.69 1.71a7.7 7.7 0 0 0-1.79 2.56 7.7 7.7 0 0 0-0.62 3.02v111.03c0 1.04 0.21 2.07 0.62 3.03s1.02 1.82 1.8 2.56c0.77 0.74 1.67 1.32 2.68 1.71 1.01 0.4 2.08 0.59 3.17 0.59h72.36c3.86-0.01 7.61 1.26 10.57 3.62l95.08 74.24a8.7 8.7 0 0 0 6.2 1.43c2.18-0.33 4.15-1.45 5.46-3.14a7.38 7.38 0 0 0 1.6-4.75v-269.88c0-1.04-0.21-2.07-0.63-3.03a8 8 0 0 0-1.79-2.55 8.3 8.3 0 0 0-2.69-1.72c-1-0.4-2.08-0.59-3.17-0.59-1.75 0-3.45 0.54-4.88 1.52l-95.08 74.24c-2.98 2.43-6.75 3.78-10.67 3.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M325.1099999999997 306.3800000000001c10.66-19.61 16.36-41.32 16.65-63.4-0.08-22.11-5.79-43.87-16.65-63.41\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M375.0499999999993 354.0100000000002c22.13-33.16 33.7-71.72 33.29-111.03 0.71-39.35-10.89-78-33.29-111.03\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M421.9899999999998 395.0799999999999c69.18-83.85 61.2-230.34-1.29-305.44\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, \"volume-mute\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M424.09000000000015 419.7000000000007l-367.88-350.97\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"33.557\", fill: \"none\" } }, { d: \"M223.36000000000058 125.48000000000047V159.14000000000033c-0.01 1.06 0.41 2.09 1.19 2.85l25.12 23.95c0.48 0.47 1.08 0.81 1.73 0.99 0.66 0.19 1.36 0.22 2.03 0.1 0.67-0.13 1.3-0.41 1.83-0.83s0.94-0.95 1.2-1.56c0.21-0.49 0.31-1.02 0.29-1.55v-73.86c0.05-4.42-1.16-8.77-3.49-12.59-2.34-3.81-5.71-6.96-9.77-9.09-4.18-2.15-8.9-3.12-13.64-2.8-4.72 0.32-9.27 1.92-13.07 4.61-0.2 0.19-0.5 0.29-0.7 0.48l-33.39 26.04c-0.43 0.33-0.79 0.74-1.05 1.2-0.27 0.47-0.43 0.97-0.49 1.49-0.04 0.53 0.01 1.05 0.16 1.55 0.16 0.51 0.43 0.97 0.78 1.37l0.3 0.29 17.84 17.01c0.74 0.69 1.71 1.09 2.73 1.14 1.03 0.05 2.05-0.24 2.85-0.85z\", style: { fill: \"currentcolor\" } }, { d: \"M223.36000000000058 362.9500000000007l-81.63-63.7c-6.01-4.64-13.51-7.16-21.23-7.12h-64.39v-95.73h53.02c0.83-0.01 1.64-0.25 2.32-0.69a4.1 4.1 0 0 0 1.54-1.79c0.32-0.74 0.41-1.53 0.26-2.31s-0.55-1.5-1.13-2.06l-25.11-23.95c-0.39-0.37-0.86-0.67-1.38-0.87-0.51-0.2-1.07-0.28-1.61-0.27h-36.28c-6.66 0.01-13.05 2.53-17.76 7.02-4.7 4.49-7.35 10.58-7.36 16.93v111.61c0.01 6.35 2.66 12.44 7.36 16.93 4.71 4.48 11.1 7.01 17.76 7.02h72.95l95.49 74.53c0.21 0.19 0.44 0.35 0.7 0.47 3.85 2.73 8.45 4.34 13.24 4.64 4.79 0.31 9.57-0.71 13.77-2.92 3.96-2.16 7.26-5.29 9.54-9.06 2.28-3.79 3.45-8.07 3.41-12.43v-50c0.01-1.07-0.41-2.09-1.19-2.85l-25.12-23.96a4.33 4.33 0 0 0-2.94-1.14c-1.09 0-2.15 0.41-2.94 1.14-0.39 0.37-0.7 0.82-0.91 1.31s-0.3 1.02-0.28 1.54v57.71z\", style: { fill: \"currentcolor\" } }, { d: \"M357.21000000000004 244.22000000000025c0-24.53-6.08-47.72-18.53-71.01-2.1-3.66-5.6-6.38-9.77-7.6-4.17-1.23-8.67-0.86-12.55 1.05-3.89 1.89-6.84 5.15-8.23 9.09-1.41 3.94-1.13 8.24 0.74 12 10.07 18.73 14.85 37.26 14.85 56.56 0 2.66-0.1 5.33-0.29 8.08-0.09 1.15 0.07 2.3 0.49 3.38a8.2 8.2 0 0 0 1.9 2.9l20.53 19.58a4.33 4.33 0 0 0 2.94 1.14c1.1 0 2.15-0.41 2.94-1.14 0.59-0.53 0.98-1.24 1.1-2 2.58-10.5 3.88-21.24 3.88-32.03\", style: { fill: \"currentcolor\" } }, { d: \"M424.09000000000015 244.21000000000004c0-51.04-13.65-83.65-35.68-119.68-2.27-3.57-5.93-6.16-10.19-7.19-4.24-1.03-8.75-0.43-12.54 1.68-3.79 2.1-6.56 5.55-7.72 9.58a15.3 15.3 0 0 0 1.55 12c19.73 32.32 31.19 59.6 31.19 103.61 0 23.77-3.49 42.78-9.76 60.46-0.5 1.42-0.58 2.95-0.23 4.41s1.12 2.8 2.22 3.86l17.54 16.74a4.33 4.33 0 0 0 2.94 1.14c1.1 0 2.15-0.41 2.94-1.14 0.39-0.36 0.69-0.77 0.9-1.24 10.66-24.53 16.84-50.38 16.84-84.23\", style: { fill: \"currentcolor\" } }, { d: \"M490.97000000000025 244.22000000000025c0-74.06-21.13-120.73-52.82-168.07-2.44-3.48-6.2-5.91-10.5-6.76-4.28-0.86-8.76-0.08-12.45 2.17-3.69 2.26-6.31 5.8-7.29 9.87-0.99 4.08-0.25 8.36 2.03 11.92 28.61 42.68 47.54 84.61 47.54 150.96 0 47.34-9.27 81.85-24.62 112.65-0.36 0.75-0.48 1.58-0.34 2.39 0.13 0.82 0.53 1.58 1.14 2.17l18.64 17.78c0.58 0.56 1.32 0.95 2.12 1.1a4.3 4.3 0 0 0 2.41-0.23c0.5-0.21 0.96-0.5 1.35-0.87 0.32-0.31 0.59-0.66 0.8-1.05 22.42-42.11 31.99-83.18 31.99-134.03\", style: { fill: \"currentcolor\" } }] }, subtitles: { viewBox: \"0 0 512 512\", paths: [{ d: \"M482.60000000000036 206v-77.29c0-30.32-25.4-38.97-38.6-38.69h-375.9c-17.9 0-37 10.27-37 36.79v220.92c0 22.72 15.8 36.7 38.6 36.7h274.1l30.9 29.47c3.8 3.52 9 5.48 14.4 5.48s10.6-1.96 14.5-5.48l30.9-29.47h17.3c14.5 0 30.9-8.56 30.9-34.89z m-32.8 0v136.12c0 5.52 0 11.03-7.7 11.03h-19.3l-34.8 31.28-32.7-31.28h-281.8c-1.3 0.02-2.5-0.2-3.7-0.65a9.6 9.6 0 0 1-3.2-2c-0.9-0.86-1.6-1.88-2.1-3.01s-0.7-2.34-0.7-3.56V130.42000000000007c0-5.51 0-11.03 7.7-11.03h368.5c6.9 0 9.7 5.52 9.7 9.23v77.38z\", style: { fill: \"currentcolor\" } }, { d: \"M193.1999999999989 237.26999999999998h-75.3q-3.45-0.015-6.6 1.23c-2.2 0.81-4.1 2.03-5.7 3.56-1.5 1.53-2.8 3.35-3.7 5.34-0.8 2-1.3 4.15-1.3 6.32v0.09c0 2.17 0.4 4.32 1.3 6.32 0.9 2.01 2.1 3.83 3.6 5.36 1.7 1.54 3.6 2.76 5.7 3.6 2.1 0.83 4.3 1.26 6.6 1.26h75.4c3.3 0.01 6.7-0.94 9.6-2.75 2.8-1.8 5.1-4.37 6.4-7.38 0.8-2.01 1.3-4.15 1.3-6.31v-0.1c0-2.18-0.4-4.32-1.3-6.34-0.9-2.01-2.2-3.83-3.8-5.37s-3.5-2.76-5.6-3.59c-2.1-0.82-4.3-1.25-6.6-1.24\", style: { fill: \"currentcolor\" } }, { d: \"M229.6999999999989 253.90999999999985c0 2.17 0.4 4.31 1.3 6.32s2.1 3.83 3.7 5.36c1.7 1.54 3.6 2.76 5.7 3.59 2.1 0.84 4.3 1.27 6.6 1.27h150.6c2.3 0.01 4.5-0.4 6.7-1.23 2.1-0.82 3.9-2.03 5.5-3.56s2.9-3.35 3.8-5.34c0.8-2 1.3-4.15 1.3-6.32v-0.09c0-2.17-0.4-4.32-1.3-6.32-0.8-2.01-2.1-3.83-3.7-5.36-1.6-1.54-3.5-2.76-5.6-3.6-2.1-0.83-4.3-1.26-6.6-1.26h-152.6c-4.3 0.4-8.3 2.32-11.1 5.39-2.9 3.07-4.4 7.05-4.3 11.15\", style: { fill: \"currentcolor\" } }, { d: \"M322.39999999999964 323.7800000000002h75.3c2.3 0.01 4.5-0.41 6.7-1.23 2.1-0.82 3.9-2.03 5.5-3.56s2.9-3.35 3.8-5.34c0.9-2 1.3-4.15 1.3-6.32v-0.09c0-2.17-0.4-4.32-1.3-6.32-0.9-2.01-2.1-3.83-3.7-5.36a17.2 17.2 0 0 0-5.6-3.6c-2.1-0.83-4.3-1.26-6.6-1.26h-75.4c-3.4-0.01-6.7 0.94-9.5 2.74-2.9 1.81-5.1 4.38-6.5 7.39-0.8 2-1.3 4.15-1.3 6.31v0.1c0 2.17 0.4 4.31 1.3 6.32s2.1 3.83 3.7 5.36c1.6 1.54 3.6 2.76 5.7 3.59 2 0.84 4.2 1.27 6.5 1.27z\", style: { fill: \"currentcolor\" } }, { d: \"M117.79999999999927 323.7800000000002h152.5c2.3 0.01 4.5-0.4 6.7-1.23 2.1-0.81 4-2.03 5.6-3.56s2.9-3.35 3.8-5.34c0.8-2 1.2-4.15 1.2-6.32v-0.09c0-2.17-0.4-4.32-1.2-6.32-0.9-2.01-2.1-3.83-3.7-5.36-1.6-1.54-3.5-2.77-5.7-3.6-2.1-0.83-4.3-1.26-6.6-1.26h-152.6c-3.4-0.01-6.8 0.94-9.6 2.74-2.9 1.81-5 4.38-6.4 7.39-0.8 2-1.3 4.15-1.3 6.31v0.1c0 2.18 0.4 4.32 1.3 6.34 0.9 2 2.2 3.83 3.7 5.37 1.6 1.54 3.5 2.76 5.6 3.58 2.2 0.83 4.4 1.26 6.7 1.25\", style: { fill: \"currentcolor\" } }] }, \"audio-tracks\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M58.97999999999956 212.5300000000002v72.12c-0.01 2.2 0.44 4.36 1.31 6.39a16.6 16.6 0 0 0 3.79 5.41c1.62 1.54 3.55 2.76 5.67 3.6s4.39 1.25 6.69 1.25c2.29 0 4.56-0.41 6.68-1.25a17.7 17.7 0 0 0 5.68-3.6 16.6 16.6 0 0 0 3.78-5.41c0.87-2.03 1.32-4.19 1.31-6.39v-72.12c0.01-2.19-0.44-4.36-1.31-6.38-0.87-2.03-2.16-3.86-3.78-5.41a17.2 17.2 0 0 0-5.68-3.6c-2.12-0.84-4.39-1.27-6.68-1.26-2.3-0.01-4.57 0.42-6.69 1.26a17.2 17.2 0 0 0-5.67 3.6 16.5 16.5 0 0 0-3.79 5.41c-0.87 2.02-1.32 4.19-1.31 6.38\", style: { fill: \"currentcolor\" } }, { d: \"M454.6999999999989 212.5300000000002v72.13c0.01 2.19-0.44 4.35-1.32 6.38a16.4 16.4 0 0 1-3.78 5.41c-1.62 1.55-3.54 2.76-5.67 3.6-2.12 0.84-4.39 1.26-6.69 1.25-2.29 0.01-4.56-0.41-6.68-1.25-2.13-0.84-4.06-2.05-5.67-3.6a16.5 16.5 0 0 1-3.79-5.41 16 16 0 0 1-1.31-6.38v-72.13c-0.01-2.19 0.44-4.36 1.31-6.38 0.87-2.03 2.16-3.86 3.79-5.41 1.61-1.55 3.54-2.78 5.67-3.6 2.12-0.84 4.39-1.26 6.68-1.25 2.3-0.01 4.57 0.41 6.69 1.25 2.13 0.82 4.05 2.05 5.67 3.6 1.63 1.55 2.91 3.38 3.78 5.41 0.88 2.02 1.33 4.19 1.32 6.38\", style: { fill: \"currentcolor\" } }, { d: \"M178.59000000000015 178.75v139.69c-0.01 2.18 0.44 4.35 1.3 6.37 0.88 2.03 2.17 3.86 3.79 5.41 1.63 1.55 3.55 2.78 5.67 3.61 2.13 0.83 4.4 1.26 6.69 1.25 2.29 0.01 4.57-0.42 6.69-1.25s4.05-2.06 5.67-3.61c1.63-1.55 2.91-3.38 3.79-5.41 0.87-2.02 1.31-4.19 1.3-6.37v-139.69c0.01-2.19-0.43-4.35-1.3-6.38a16.6 16.6 0 0 0-3.79-5.41 17.5 17.5 0 0 0-5.67-3.61c-2.12-0.83-4.4-1.25-6.69-1.24-2.29-0.01-4.56 0.41-6.69 1.24-2.12 0.84-4.04 2.06-5.67 3.61a16.8 16.8 0 0 0-3.79 5.41c-0.86 2.03-1.31 4.19-1.3 6.38\", style: { fill: \"currentcolor\" } }, { d: \"M334.09999999999854 178.75v139.69c0.01 2.18-0.44 4.35-1.31 6.37-0.88 2.03-2.16 3.86-3.79 5.41a17.4 17.4 0 0 1-5.67 3.61 18.1 18.1 0 0 1-6.69 1.25c-2.29 0.01-4.56-0.42-6.68-1.25-2.13-0.83-4.06-2.06-5.68-3.61a16.5 16.5 0 0 1-3.78-5.41c-0.87-2.02-1.32-4.19-1.31-6.37v-139.69c-0.01-2.19 0.44-4.35 1.31-6.38a16.6 16.6 0 0 1 3.78-5.41c1.62-1.55 3.55-2.77 5.68-3.61 2.12-0.83 4.39-1.25 6.68-1.24 2.3-0.01 4.57 0.41 6.69 1.24 2.12 0.84 4.05 2.06 5.67 3.61a16.6 16.6 0 0 1 3.79 5.41 16 16 0 0 1 1.31 6.38\", style: { fill: \"currentcolor\" } }, { d: \"M153.6899999999987 358.6300000000001v-230.55c0.01-2.18-0.44-4.35-1.3-6.38-0.88-2.02-2.17-3.86-3.79-5.4a17.7 17.7 0 0 0-5.67-3.62c-2.13-0.82-4.4-1.25-6.69-1.24-2.29-0.01-4.57 0.42-6.69 1.24a17.6 17.6 0 0 0-5.67 3.62 16.6 16.6 0 0 0-3.79 5.4c-0.87 2.03-1.31 4.2-1.3 6.38v230.55c-0.01 2.18 0.43 4.35 1.3 6.38 0.88 2.02 2.17 3.87 3.79 5.41s3.55 2.77 5.67 3.61c2.12 0.82 4.4 1.25 6.69 1.24 2.29 0.01 4.56-0.42 6.69-1.24 2.12-0.84 4.04-2.07 5.67-3.61 1.62-1.54 2.91-3.39 3.79-5.41 0.86-2.03 1.31-4.2 1.3-6.38\", style: { fill: \"currentcolor\" } }, { d: \"M358.9899999999998 358.6300000000001v-230.55c-0.01-2.18 0.44-4.35 1.31-6.38 0.88-2.02 2.16-3.85 3.79-5.4a17.3 17.3 0 0 1 5.67-3.62c2.12-0.82 4.39-1.25 6.69-1.24 2.29-0.01 4.56 0.42 6.68 1.24 2.13 0.84 4.05 2.07 5.67 3.62 1.63 1.55 2.92 3.38 3.78 5.4 0.88 2.03 1.33 4.2 1.32 6.38v230.55c0.01 2.18-0.44 4.36-1.32 6.38-0.86 2.02-2.15 3.87-3.78 5.41a17.6 17.6 0 0 1-5.67 3.61c-2.12 0.82-4.39 1.25-6.68 1.24-2.3 0.01-4.57-0.42-6.69-1.24-2.13-0.84-4.06-2.07-5.67-3.61a16.5 16.5 0 0 1-3.79-5.41 16 16 0 0 1-1.31-6.38\", style: { fill: \"currentcolor\" } }, { d: \"M274.28999999999905 409.3000000000002V77.42000000000007c0.01-2.19-0.44-4.36-1.3-6.38a16.6 16.6 0 0 0-3.79-5.41 17.4 17.4 0 0 0-5.67-3.61c-2.12-0.83-4.4-1.26-6.69-1.25-2.29-0.01-4.56 0.42-6.69 1.25-2.12 0.83-4.04 2.06-5.67 3.61a16.6 16.6 0 0 0-3.79 5.41c-0.86 2.02-1.31 4.19-1.3 6.38v331.88c-0.01 2.18 0.44 4.35 1.3 6.37a16.6 16.6 0 0 0 3.79 5.41c1.63 1.55 3.55 2.78 5.67 3.62 2.13 0.82 4.4 1.25 6.69 1.24 2.29 0.01 4.57-0.42 6.69-1.24a17.6 17.6 0 0 0 5.67-3.62 16.6 16.6 0 0 0 3.79-5.41c0.86-2.02 1.31-4.19 1.3-6.37\", style: { fill: \"currentcolor\" } }] }, chapters: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.83999999999924 169.44000000000005c14.91-56.14 71.24-84.81 193.87-85.33 1.97-0.01 3.91 0.35 5.71 1.06 1.82 0.72 3.47 1.76 4.86 3.08 1.38 1.32 2.48 2.9 3.23 4.63 0.75 1.72 1.12 3.58 1.11 5.45v256.02c0 1.86-0.38 3.72-1.13 5.45-0.75 1.72-1.85 3.29-3.23 4.61a15.1 15.1 0 0 1-4.84 3.08c-1.81 0.71-3.75 1.08-5.71 1.08-119.3 0-165.39 22.95-193.87 56.9-28.3-33.78-74.56-56.9-193.86-56.9-9.21 0-14.92-7.16-14.92-15.93v-254.31c0-1.87 0.38-3.72 1.13-5.45 1.13-2.6 3.04-4.83 5.5-6.39 2.45-1.56 5.34-2.39 8.29-2.38 122.63 0.52 178.95 29.19 193.86 85.33\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34\", fill: \"none\" } }, { d: \"M257.1399999999994 157.71000000000004v268.07\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34\", fill: \"none\" } }] }, \"skip-15-forward\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M429.0699999999997 237.2800000000002c-3.94 0.01-7.71 1.5-10.5 4.15-2.78 2.65-4.34 6.26-4.35 10.01 0 82.8-70.57 150.1-157.38 150.1s-157.38-67.3-157.38-150.1c0-82.51 70.17-149.63 156.58-150.1l-27.01 25.47a12.6 12.6 0 0 0-2.93 4.14 12.16 12.16 0 0 0 0 9.79c0.68 1.55 1.67 2.96 2.93 4.14 2.6 2.37 6.06 3.7 9.67 3.7s7.07-1.33 9.67-3.7l51.73-48.68a12.6 12.6 0 0 0 2.93-4.13c0.67-1.55 1.02-3.21 1.02-4.9 0-1.68-0.35-3.34-1.02-4.89-0.68-1.55-1.68-2.96-2.93-4.14l-51.73-48.67c-2.6-2.38-6.06-3.71-9.67-3.71s-7.07 1.33-9.67 3.71a12.6 12.6 0 0 0-2.93 4.14 12.16 12.16 0 0 0 0 9.79c0.68 1.55 1.67 2.95 2.93 4.13l27.11 25.57c-102.76 0.38-186.28 80.24-186.28 178.34 0 98.39 83.92 178.34 186.98 178.34s187.08-80.05 187.08-178.43c-0.01-3.75-1.58-7.33-4.36-9.98-2.79-2.63-6.56-4.1-10.49-4.09\", style: { fill: \"currentcolor\" } }, { d: \"M196.23999999999978 239.55999999999995v66.44h25.42v-114.83h-20.94l-38.77 29.47 12.26 14.64 13.86-10.65c3.06-2.48 5.99-5.11 8.77-7.89l-0.4 11.98z\", style: { fill: \"currentcolor\" } }, { d: \"M322.0199999999986 211.80000000000018v-20.53h-65.28l-4.49 58.55 10.17 5.23c2.81-0.78 5.68-1.38 8.57-1.8 3.19-0.56 6.43-0.84 9.67-0.86 16.05 0 24.12 5.8 24.12 17.4 0 12.16-7.77 18.25-23.32 18.25-10.96-0.21-21.73-2.78-31.5-7.51v21.01c8.27 4.18 19.04 6.18 32.49 6.18 15.45 0 27.32-3.43 35.59-10.37s12.46-16.82 12.46-29.65c0-10.84-3.49-19.4-10.37-25.58-6.88-6.27-16.15-9.31-27.81-9.31-4.18-0.08-8.36 0.3-12.46 1.14l-2.89 0.57 2.2-22.53h42.85z\", style: { fill: \"currentcolor\" } }] }, \"skip-15-back\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M257.4400000000005 74.24000000000024l26.92-25.38c1.25-1.17 2.25-2.56 2.93-4.1 0.67-1.55 1.02-3.21 1.02-4.88s-0.35-3.34-1.02-4.88c-0.68-1.54-1.68-2.93-2.93-4.1-2.57-2.38-5.99-3.71-9.57-3.71s-7.01 1.33-9.57 3.71l-51.33 48.29a12.45 12.45 0 0 0-2.93 4.1c-0.68 1.55-1.03 3.21-1.03 4.88s0.35 3.33 1.03 4.88c0.68 1.54 1.67 2.94 2.93 4.1l51.33 48.3c2.56 2.37 5.99 3.7 9.57 3.7s7-1.33 9.57-3.7c1.25-1.17 2.25-2.57 2.93-4.11 0.67-1.55 1.02-3.2 1.02-4.88 0-1.67-0.35-3.33-1.02-4.87-0.68-1.54-1.68-2.94-2.93-4.11l-26.82-25.29c85.72 0.38 155.39 67.02 155.39 148.87 0 82.13-70.07 148.96-156.18 148.96-86.12 0-156.19-66.83-156.19-148.96 0-3.74-1.55-7.31-4.31-9.95-2.77-2.64-6.52-4.12-10.44-4.12s-7.66 1.48-10.43 4.12-4.32 6.21-4.32 9.95c0 97.63 83.22 177.01 185.59 177.01 102.36 0 185.58-79.38 185.58-177.01 0.2-97.25-82.72-176.44-184.79-176.82\", style: { fill: \"currentcolor\" } }, { d: \"M188.5699999999997 224.6300000000001c1.6-1.23 4.59-3.9 8.77-7.89l-0.4 11.88-0.19 10.84v65.97h25.21v-113.98h-20.73l-38.47 29.19 12.16 14.45z\", style: { fill: \"currentcolor\" } }, { d: \"M281.0699999999997 287.3699999999999c-5.5-0.03-10.95-0.73-16.25-2.09a67.8 67.8 0 0 1-15.05-5.32v20.82c8.17 4.08 18.94 6.17 32.19 6.17 15.35 0 27.11-3.42 35.29-10.26 8.27-6.85 12.36-16.64 12.36-29.38 0-10.74-3.39-19.2-10.27-25.38s-16.05-9.31-27.61-9.31c-4.15-0.05-8.28 0.3-12.36 1.04l-2.89 0.57 2.19-22.34h42.66v-20.44h-64.78l-4.49 58.09 10.07 5.13c2.77-0.79 5.6-1.36 8.47-1.71 3.16-0.54 6.36-0.83 9.57-0.86 15.95 0 23.92 5.71 23.92 17.21 0.1 12.07-7.57 18.06-23.02 18.06\", style: { fill: \"currentcolor\" } }] }, reset: { viewBox: \"0 0 512 512\", paths: [{ d: \"M115.69999999999982 161.07000000000016l18.82-20.88c15.96-15.99 35.17-28.71 56.45-37.4s44.18-13.15 67.33-13.13c94.47 0 171.12 73.11 171.12 163.22 0 90.1-76.65 163.21-171.12 163.21-35.4 0-69.91-10.47-98.82-29.95-28.89-19.48-50.75-47.03-62.56-78.85\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"34\", fill: \"none\" } }, { d: \"M58.659999999999854 118.07999999999993v94c0 1.78 0.36 3.55 1.08 5.2s1.77 3.15 3.09 4.41c1.33 1.26 2.9 2.27 4.64 2.94 1.72 0.69 3.57 1.04 5.45 1.04h98.55c2.82 0 5.58-0.79 7.93-2.28 2.35-1.5 4.17-3.62 5.26-6.11 1.08-2.49 1.35-5.22 0.81-7.86-0.55-2.64-1.92-5.06-3.91-6.97l-98.56-93.99c-2-1.9-4.54-3.21-7.31-3.73s-5.63-0.26-8.24 0.77c-2.62 1.03-4.84 2.78-6.4 5.01a13.1 13.1 0 0 0-2.39 7.57\", style: { fill: \"currentcolor\" } }] }, rotate: { viewBox: \"0 0 512 512\", paths: [{ d: \"M347.1300000000001 98.09999999999991c-23.26-12.24-48.94-19.11-75.06-20.37l23.66-22.55c5.25-5.01 5.25-13.13 0-18.15-5.26-5.01-13.78-5.01-19.03 0l-45.82 43.7c-2.88 2.75-4.19 6.43-3.9 10.04-0.29 3.6 1.02 7.29 3.9 10.04l45.82 43.69c5.25 5.01 13.77 5.01 19.03 0 5.25-5 5.25-13.13 0-18.14l-20.9-19.93c20.16 1.54 39.9 7.13 57.88 16.59 30.67 16.13 54.11 42.41 65.89 73.86 11.78 31.47 11.09 65.96-1.94 96.97-11.16 26.59-30.74 49.05-55.81 64.38-6.94 4.24-9.96 12.74-6.25 19.76 3.7 7.02 12.72 9.9 19.73 5.79 31.55-18.54 56.17-46.31 70.04-79.35 15.73-37.46 16.57-79.11 2.33-117.12-14.22-37.99-42.53-69.73-79.57-89.21m-181.02 291.06c23.26 12.22 48.94 19.09 75.06 20.35l-23.65 22.56c-5.26 5.01-5.26 13.13 0 18.14s13.78 5.01 19.03 0l45.81-43.69c2.89-2.75 4.19-6.44 3.91-10.04 0.28-3.6-1.02-7.3-3.91-10.04l-45.81-43.69c-5.25-5.02-13.77-5.02-19.03 0-5.26 5.01-5.26 13.13 0 18.14l20.89 19.92c-20.15-1.54-39.89-7.13-57.88-16.59-30.67-16.13-54.11-42.4-65.88-73.86-11.78-31.47-11.09-65.95 1.93-96.96 11.16-26.59 30.74-49.06 55.81-64.38 6.94-4.24 9.96-12.74 6.26-19.76-3.71-7.03-12.72-9.91-19.73-5.78-31.56 18.52-56.18 46.29-70.05 79.33-15.73 37.47-16.56 79.12-2.33 117.12 14.23 38.01 42.53 69.74 79.57 89.23\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] }, audio: { viewBox: \"0 0 512 512\", paths: [{ d: \"M154.70000000000073 180.80000000000018h-72.4c-1.1 0-2.2 0.2-3.1 0.6-1 0.41-1.9 0.98-2.7 1.7-0.8 0.74-1.4 1.61-1.8 2.57s-0.6 1.99-0.6 3.02v111.04c0 1.03 0.2 2.06 0.6 3.02s1 1.83 1.8 2.57c0.8 0.72 1.7 1.29 2.7 1.7 0.9 0.4 2 0.6 3.1 0.6h72.4c3.9-0.02 7.6 1.25 10.6 3.61l95.1 74.24c1.7 1.24 3.9 1.74 6.1 1.43 2.2-0.32 4.2-1.45 5.5-3.14 1.1-1.37 1.6-3.04 1.6-4.75v-269.88c0-1.04-0.2-2.07-0.6-3.03s-1-1.83-1.8-2.56c-0.8-0.72-1.7-1.3-2.7-1.7-1.3-0.53-2.8-0.71-4.2-0.55-1.4 0.17-2.7 0.67-3.8 1.47l-95.1 74.24c-3 2.44-6.8 3.79-10.7 3.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M356.60000000000036 307.71000000000004c10.7-19.61 16.4-41.32 16.7-63.4-0.1-22.12-5.8-43.88-16.7-63.41\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M406.5 355.24000000000024c22.1-33.16 33.7-71.73 33.3-111.03 0.7-39.35-10.9-78-33.3-111.03\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, speed: { viewBox: \"0 0 512 512\", paths: [{ d: \"M313.60000000000036 219.78999999999996l-38.7 58.65c-1.6 2.09-3.6 3.93-5.8 5.46a23.55 23.55 0 0 1-8.7 3.76c-3.2 0.68-6.4 0.78-9.6 0.27-6.4-1.02-12.2-4.44-16-9.49-1.8-2.5-3.1-5.34-3.8-8.34-0.7-3.01-0.8-6.1-0.3-9.14 0.5-3.03 1.7-5.94 3.4-8.54 1.6-2.61 3.9-4.86 6.5-6.66l61.5-36.89a8.9 8.9 0 0 1 4.8-1.41c1.7 0 3.4 0.5 4.8 1.41 1.8 1.22 2.9 3.04 3.3 5.08 0.2 1.02 0.2 2.06-0.1 3.07-0.2 0.99-0.7 1.94-1.3 2.77\", style: { fill: \"currentcolor\" } }, { d: \"M256.5 89.30999999999995c-100.8 0-182.5 77.84-182.5 173.92 0 42.55 16.2 83.64 45.8 115.51 0.9 0.93 1.7 1.87 2.6 2.72 3.7 3.83 8.9 6.08 14.4 6.29 5.4 0.2 10.7-1.67 14.7-5.19l1.2-1.17c25.3-26.27 60.6-41.86 98-43.35s73.9 11.24 101.4 35.39c2.9 2.58 5.6 5.23 8.3 7.96 3.7 3.82 8.8 6.09 14.3 6.33 5.4 0.24 10.8-1.6 14.7-5.09l1.2-1.17 2.7-2.72c66.8-71.91 59.8-181.96-15.6-245.68-33.4-28.24-76.6-43.8-121.2-43.75\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M250.39999999999964 144.2199999999998v14.89\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M390.89999999999964 263.30999999999995h-31.3\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M156.70000000000073 263.30999999999995h-31.2\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M182.70000000000073 193.03999999999996l-18.4-17.55\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M330.2000000000007 193.03999999999996l18.5-17.55\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }] }, episodes: { viewBox: \"0 0 512 512\", paths: [{ d: \"M499 150.25v-65.65c0.2-5.97-1.4-11.87-4.6-16.9-2.8-4.5-6.7-8.18-11.4-10.66-4.6-2.48-9.9-3.68-15.2-3.46h-0.1c-35.9 0.09-71.9 0.09-107.9 0h-111.3c-26.4 0-52.8 0-79.3-0.11-2 0.09-4 0.34-6 0.73-4.7 0.83-9.1 2.82-12.9 5.8s-6.7 6.84-8.6 11.25c-0.7 1.61-1.3 3.28-1.7 4.99-0.7 2.52-1 5.13-1.1 7.74v31.59h-31.1c-2 0.05-4.1 0.26-6 0.62-4.8 0.83-9.2 2.83-13 5.8-3.7 2.98-6.7 6.84-8.6 11.25-0.7 1.61-1.2 3.29-1.6 5-0.7 2.53-1.1 5.13-1.2 7.75v31.1h-33c-2 0.01-4 0.17-6 0.47-4.8 0.83-9.2 2.83-13 5.8-3.7 2.98-6.7 6.84-8.6 11.24-0.7 1.62-1.2 3.3-1.7 5.01-0.6 2.53-1 5.13-1.1 7.75v185.29c-0.2 5.98 1.4 11.88 4.7 16.92 2.7 4.46 6.6 8.12 11.2 10.6 4.7 2.48 9.9 3.69 15.1 3.52h0.1q54.3-0.18 108.6 0h144.1c15.3 0 30.6 0 45.9 0.14 2-0.05 4-0.25 6-0.62 4.7-0.85 9.1-2.84 12.9-5.82 3.8-2.97 6.7-6.83 8.6-11.23 0.7-1.62 1.3-3.29 1.7-5.01l0.1-0.37c0.6-2.43 1-4.93 1-7.44v-31.13q16.5 0 33 0.09c2.1-0.04 4.1-0.25 6.1-0.62 4.7-0.83 9.1-2.83 12.9-5.81 3.7-2.97 6.7-6.83 8.6-11.24 0.7-1.61 1.2-3.29 1.7-5l0.1-0.37c0.6-2.44 0.9-4.93 1-7.44v-31.74c10.3 0 20.7 0 31.1 0.09 2-0.04 4-0.25 6-0.62 4.7-0.84 9.2-2.83 12.9-5.81 3.8-2.97 6.7-6.83 8.6-11.23 0.7-1.62 1.3-3.3 1.7-5.01l0.1-0.39c0.6-2.43 1-4.93 1-7.44v-119.42z m-163 125.19v105.57c0.2 3.58 0.3 8.02-5 8.69h-271.9q-1.5 0.225-3-0.18c-1-0.26-1.9-0.73-2.7-1.37-0.6-0.77-1.1-1.67-1.3-2.64-0.3-0.97-0.4-1.99-0.2-2.98l0.2-17.98v-50.71l0.1-3.55v-90.41c-0.2-4.01-0.4-8.48 5-9.13 0.7-0.07 1.3-0.1 1.9-0.09h269.9c1-0.15 2-0.09 3 0.17 1 0.27 1.9 0.74 2.7 1.38 0.6 0.78 1 1.68 1.3 2.65s0.3 1.97 0.1 2.96l-0.2 17.98v14.04z m63.4-61.49v41.16l0.1 64.11v0.29c0.1 3.58 0.3 8.03-5.1 8.7-0.5 0-1.3 0-2 0.09h-18.3v-120.35c0.1-4.1-0.7-8.18-2.2-11.98-1.5-3.81-3.8-7.26-6.7-10.16-2.9-2.89-6.4-5.17-10.2-6.69-3.8-1.53-7.9-2.26-12-2.17h-0.1c-36 0.11-71.9 0-107.9 0h-119.4v-7.25c0-3.75 0-7.52-0.1-11.27-0.2-4.01-0.4-8.47 5-9.12 0.5 0 1.2 0 1.9-0.1h270q1.5-0.225 3 0.18c0.9 0.27 1.8 0.74 2.6 1.37 0.7 0.78 1.1 1.68 1.4 2.64 0.3 0.97 0.3 1.98 0.2 2.97l-0.3 17.98v14.04z m61.5-61.84v41.16l0.1 64.11v0.3c0.1 3.58 0.3 8.03-5.1 8.69-0.5 0-1.3 0-2 0.1h-16.4v-120.03c0.1-4.1-0.7-8.17-2.2-11.98-1.6-3.8-3.9-7.25-6.8-10.15-2.9-2.89-6.3-5.17-10.1-6.69-3.8-1.53-7.9-2.27-12-2.18h-0.1c-36 0.1-71.9 0.1-107.9 0h-37.3l-74.1 0.13h-10v-7.75c0-3.77 0-7.53-0.1-11.27-0.1-4.03-0.3-8.47 5.1-9.14 0.5 0 1.2 0 1.9-0.09h270.1c0.9-0.15 2-0.09 2.9 0.17 1 0.27 1.9 0.74 2.7 1.38 0.6 0.78 1.1 1.68 1.3 2.65 0.3 0.96 0.3 1.97 0.1 2.96l-0.2 17.99v14.05z\", style: { fill: \"currentcolor\" } }, { d: \"M254.70000000000073 295.8699999999999l-81.5 47.2c-0.8 0.48-1.7 0.74-2.7 0.74-0.9 0.01-1.9-0.24-2.7-0.71s-1.5-1.15-2-1.97-0.8-1.75-0.8-2.71v-94.48c0-0.96 0.3-1.89 0.8-2.71s1.2-1.5 2-1.97 1.8-0.72 2.7-0.71c1 0 1.9 0.26 2.7 0.74l81.5 47.11c0.8 0.48 1.5 1.17 2 2s0.7 1.77 0.7 2.73-0.2 1.91-0.7 2.74-1.2 1.52-2 2\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] }, cast: { viewBox: \"0 0 512 512\", paths: [{ d: \"M92.97000000000116 98.87000000000012c-26.21 0-43.35 22.81-43.35 45.72v48.96c5.28-0.38 10.56-0.67 15.94-0.67 5.39 0 10.67 0.19 15.95 0.67v-48.96c0-10.74 7.38-15.3 11.46-15.3h327.83c4.2 0 11.5 4.56 11.5 15.3v197.44c0 10.75-7.4 15.31-11.5 15.31h-167.6c0.4 5.04 0.7 10.08 0.7 15.21s-0.2 10.17-0.7 15.21h167.6c26.2 0 43.3-22.82 43.3-45.73V144.59000000000015c0-23-17.2-45.72-43.3-45.72z\", style: { fill: \"currentcolor\" } }, { d: \"M215.20000000000073 387.85000000000014c0.6-5.04 0.8-10.13 0.8-15.21 0-18.85-3.92-37.52-11.49-54.93-7.58-17.42-18.64-33.25-32.62-46.57-13.97-13.33-30.56-23.9-48.82-31.12-18.26-7.21-37.84-10.92-57.6-10.92-5.39 0-10.67 0.29-15.95 0.76v30.61c5.28-0.68 10.61-1.03 15.95-1.04 31.45 0 61.61 11.92 83.86 33.13 22.24 21.22 34.74 49.99 34.74 79.99 0 5.09-0.4 10.17-1.09 15.21z\", style: { fill: \"currentcolor\" } }, { d: \"M159.85000000000036 387.85000000000014c0.89-5.02 1.32-10.11 1.3-15.21-0.01-24.2-10.1-47.4-28.04-64.51s-42.27-26.73-67.64-26.74c-5.35-0.03-10.68 0.39-15.95 1.23v31.09c5.21-1.27 10.56-1.9 15.95-1.9 8.38-0.01 16.67 1.55 24.41 4.61 7.75 3.05 14.79 7.53 20.72 13.18 5.92 5.66 10.62 12.37 13.82 19.75 3.2 7.39 4.84 15.3 4.83 23.29 0 5.14-0.66 10.24-1.99 15.21z\", style: { fill: \"currentcolor\" } }, { d: \"M103.14000000000124 387.8600000000001c2.13-4.81 3.22-10 3.19-15.21-0.01-10.34-4.32-20.24-11.98-27.55-7.67-7.31-18.05-11.42-28.88-11.43a42.1 42.1 0 0 0-15.95 3.04v7.42c0.01 11.59 4.83 22.71 13.43 30.91s20.26 12.81 32.42 12.82z\", style: { fill: \"currentcolor\" } }] }, \"cast-connected\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M92.97000000000116 98.8599999999999c-26.21 0-43.35 22.82-43.35 45.73v48.95c5.28-0.38 10.56-0.66 15.94-0.66 5.39 0 10.67 0.19 15.95 0.66v-48.95c0-10.74 7.38-15.31 11.46-15.31h327.83c4.2 0 11.5 4.57 11.5 15.31v197.44c0 10.74-7.4 15.31-11.5 15.31h-167.6c0.4 5.03 0.7 10.07 0.7 15.21 0 5.13-0.2 10.17-0.7 15.21h167.6c26.2 0 43.3-22.82 43.3-45.73v-197.44c0-23.01-17.2-45.73-43.3-45.73z\", style: { fill: \"currentcolor\" } }, { d: \"M215.20000000000073 387.8499999999999c0.6-5.05 0.8-10.13 0.8-15.21 0-18.85-3.92-37.52-11.49-54.94-7.58-17.41-18.64-33.24-32.62-46.57-13.97-13.32-30.56-23.9-48.82-31.11-18.26-7.22-37.84-10.92-57.6-10.92-5.39 0-10.67 0.28-15.95 0.76v30.61c5.28-0.69 10.61-1.04 15.95-1.05 31.45 0 61.61 11.92 83.86 33.14 22.24 21.22 34.74 49.98 34.74 79.99 0 5.08-0.4 10.17-1.09 15.21z\", style: { fill: \"currentcolor\" } }, { d: \"M159.85000000000036 387.8499999999999c0.89-5.03 1.32-10.11 1.3-15.21-0.01-24.2-10.1-47.41-28.04-64.52s-42.27-26.73-67.64-26.74c-5.35-0.03-10.68 0.39-15.95 1.24v31.08c5.21-1.26 10.56-1.9 15.95-1.9 8.38-0.01 16.67 1.56 24.41 4.61 7.75 3.05 14.79 7.54 20.72 13.19 5.92 5.65 10.62 12.36 13.82 19.75s4.84 15.3 4.83 23.29c0 5.13-0.66 10.24-1.99 15.21z\", style: { fill: \"currentcolor\" } }, { d: \"M103.14000000000124 387.8499999999999c2.13-4.81 3.22-9.99 3.19-15.21-0.01-10.33-4.32-20.24-11.98-27.55-7.67-7.31-18.05-11.41-28.88-11.42-5.49-0.03-10.91 1-15.95 3.04v7.41c0.01 11.6 4.83 22.71 13.43 30.92 8.6 8.19 20.26 12.8 32.42 12.81z\", style: { fill: \"currentcolor\" } }, { d: \"M134.23999999999978 160.64999999999986c-1.71 0-3.39 0.32-4.97 0.94-1.57 0.61-3 1.53-4.2 2.68a12.2 12.2 0 0 0-2.81 4.01c-0.65 1.5-0.98 3.11-0.98 4.73v28.71c31.63 6.95 60.5 22.33 83.33 44.35 22.79 22.01 38.69 49.75 45.59 79.99h128.2c1.7 0 3.4-0.31 5-0.93s3-1.53 4.2-2.68c1.2-1.14 2.2-2.51 2.8-4.01 0.7-1.5 1-3.11 1-4.74v-140.69c0-1.62-0.3-3.23-1-4.73-0.6-1.5-1.6-2.86-2.8-4.01s-2.6-2.07-4.2-2.68c-1.6-0.62-3.3-0.94-5-0.94z\", style: { fill: \"currentcolor\" } }] }, add: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.89999999999964 106.4699999999998v273.78\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"50\", fill: \"none\" } }, { d: \"M400.39999999999964 243.36000000000013h-287\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"50\", fill: \"none\" } }] }, remove: { viewBox: \"0 0 512 512\", paths: [{ d: \"M400.39999999999964 243.36000000000013h-287.1\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"50\", fill: \"none\" } }] }, eye: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.89999999999964 304.1999999999998c14.7 0 29.1-4.87 40.5-13.8 11.4-8.94 19.2-21.36 22.1-35.16 2.9-13.82 0.7-28.15-6.3-40.57-7-12.41-18.2-22.15-31.9-27.54-13.6-5.39-28.8-6.1-43-2.01-14 4.08-26.3 12.71-34.4 24.42-8.2 11.7-11.9 25.76-10.5 39.77 1.5 14.02 8 27.11 18.4 37.07 5.9 5.65 12.9 10.13 20.7 13.19 7.7 3.06 16 4.63 24.4 4.63\", style: { fill: \"currentcolor\" } }, { d: \"M490.89999999999964 226.81999999999994c-26.4-38.88-60.6-71.96-99-95.54-42.4-26.14-89.3-40.02-135.4-40.02-42.4 0-84 11.5-123.9 34.32-40.6 23.19-77.3 57.13-109.3 100.86-3.6 4.95-5.6 10.81-5.7 16.84-0.1 6.02 1.7 11.94 5.1 17 26.3 39.26 60.2 72.34 97.9 95.73 42.6 26.24 88.2 39.55 135.9 39.55 46.5 0 93.5-13.69 135.7-39.65 38.4-23.57 72.5-56.75 98.8-95.91 3.3-4.98 5-10.74 5-16.6 0-5.88-1.8-11.63-5.1-16.58m-234 107.8c-14.2 0.02-28.1-2.97-41-8.73-12.7-5.77-24.1-14.16-33.1-24.6-8.9-10.43-15.4-22.63-18.8-35.73-3.5-13.09-3.8-26.76-1.1-40 2.8-13.25 8.6-25.75 17-36.59s19.3-19.77 31.8-26.14c12.5-6.36 26.3-10 40.4-10.65 14.2-0.66 28.3 1.68 41.4 6.86 17.4 6.98 32.4 18.67 42.9 33.65 9.6 13.75 15.2 29.71 16 46.2 0.8 16.51-3 32.9-11.2 47.47-8.2 14.56-20.3 26.74-35.2 35.25-14.8 8.49-31.8 12.99-49.1 13.01\", style: { fill: \"currentcolor\" } }] }, \"eye-off\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M432.2999999999993 425.8799999999999c-2.1 0.01-4.2-0.38-6.1-1.14-2-0.75-3.7-1.88-5.2-3.33l-350.8-334.62c-2.9-2.88-4.4-6.69-4.4-10.64 0-1.97 0.4-3.92 1.2-5.74 0.8-1.81 2-3.45 3.5-4.82 3-2.76 6.9-4.36 11-4.46 2.1-0.05 4.1 0.3 6 1.01 2 0.73 3.7 1.8 5.2 3.17l350.8 334.62c2.2 2.12 3.8 4.82 4.4 7.76 0.6 2.95 0.3 6-0.9 8.78-1.2 2.77-3.3 5.15-5.8 6.84-2.6 1.71-5.7 2.61-8.9 2.57\", style: { fill: \"currentcolor\" } }, { d: \"M248.89999999999964 300.29999999999995l-51.6-49.24c-0.3-0.28-0.7-0.48-1.1-0.57-0.4-0.08-0.8-0.01-1.2 0.19-0.4 0.18-0.7 0.48-0.9 0.86-0.2 0.34-0.3 0.75-0.2 1.14 2.1 12.78 8.3 24.6 17.9 33.74 9.6 9.15 22 15.14 35.4 17.11 0.4 0.08 0.8 0.01 1.2-0.19 0.4-0.18 0.7-0.48 0.9-0.85 0.2-0.36 0.2-0.75 0.2-1.14-0.1-0.39-0.3-0.75-0.6-1.05\", style: { fill: \"currentcolor\" } }, { d: \"M264.7999999999993 186.51l51.8 49.34c0.3 0.28 0.7 0.48 1.1 0.57 0.4 0.08 0.8 0.01 1.2-0.19 0.4-0.18 0.7-0.48 0.9-0.85 0.2-0.35 0.3-0.76 0.2-1.15-2.1-12.78-8.4-24.6-18-33.74-9.6-9.15-22-15.15-35.4-17.11-0.4-0.08-0.8-0.01-1.2 0.19-0.4 0.18-0.7 0.48-0.9 0.85-0.2 0.34-0.3 0.75-0.2 1.14 0 0.18 0.1 0.36 0.1 0.53 0.1 0.15 0.3 0.29 0.4 0.42\", style: { fill: \"currentcolor\" } }, { d: \"M491.10000000000036 259.89999999999986c3.3-4.93 5.1-10.68 5-16.54 0-5.86-1.8-11.6-5.1-16.54-26.4-38.88-60.6-71.96-99-95.54-42.4-26.14-89.3-40.02-135.5-40.02-24.4 0.01-48.6 3.79-71.6 11.22-0.6 0.22-1.2 0.58-1.7 1.04s-0.8 1.07-0.9 1.72c-0.2 0.62-0.2 1.27 0 1.9 0.1 0.62 0.5 1.19 1 1.61l47.1 44.87c0.4 0.5 1 0.83 1.7 0.95 0.7 0.19 1.3 0.19 2 0 16-3.72 32.7-3.46 48.5 0.76s30.3 12.27 41.8 23.35c11.7 11.08 20.2 24.83 24.6 39.93 4.3 15.08 4.6 31.02 0.8 46.24-0.2 0.61-0.2 1.28 0 1.9 0.2 0.63 0.5 1.22 1 1.71l67.6 64.64c0.7 0.66 1.7 1.07 2.7 1.14 1 0.06 2-0.25 2.8-0.86 26.2-21.08 48.9-45.85 67.2-73.48\", style: { fill: \"currentcolor\" } }, { d: \"M256.89999999999964 334.6200000000001c-14.5 0.03-28.8-3.09-41.9-9.11-13-6.02-24.4-14.78-33.4-25.63s-15.2-23.5-18.3-37c-3.1-13.49-2.9-27.49 0.5-40.91 0.2-0.62 0.2-1.28 0-1.9-0.2-0.65-0.5-1.24-1-1.71l-66.6-63.6c-0.7-0.65-1.7-1.06-2.7-1.14-1-0.06-2 0.25-2.8 0.86-24.3 19.77-46.8 43.75-67.5 71.96-3.6 4.94-5.5 10.8-5.6 16.82s1.6 11.93 5 17.02c26.4 39.26 60.2 72.34 98 95.73 42.6 26.23 88.2 39.54 135.9 39.54 24.6-0.08 48.9-3.8 72.3-11.02 0.7-0.2 1.2-0.57 1.7-1.05s0.8-1.07 1-1.71c0.2-0.62 0.2-1.28 0-1.9-0.2-0.65-0.5-1.24-1-1.71l-47.3-45.16c-0.5-0.46-1.1-0.8-1.8-0.95-0.7-0.19-1.3-0.19-2 0-7.4 1.71-15 2.57-22.5 2.57\", style: { fill: \"currentcolor\" } }] }, \"local-import\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M85.00999999999931 192.501v-61.41c0-9.025 3.77-17.679 10.46-24.06s15.77-9.969 25.23-9.972h67.97c7.05 0.03 13.95 2.011 19.84 5.703l24.91 15.876c5.86 3.758 12.77 5.746 19.84 5.703h139.44c9.46 0.005 18.54 3.592 25.22 9.973 6.69 6.381 10.46 15.034 10.46 24.06v34.032\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M457.09000000000015 221.873l-14.56 141.072c-0.01 9.024-3.76 17.678-10.45 24.059s-15.77 9.968-25.23 9.973h-300.01c-9.46-0.005-18.54-3.591-25.22-9.973-6.69-6.381-10.46-15.035-10.46-24.059l-14.55-141.072c-0.59-7.208 1.83-14.344 6.75-19.849 4.91-5.505 11.91-8.93 19.46-9.525 0.8 0 1.5-0.19 2.29-0.19h343.47c7.58 0.028 14.85 2.927 20.19 8.061 5.35 5.134 8.34 12.081 8.32 19.316z\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, \"drag-handle\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M171.1299999999992 131.55999999999995c28.62 0 51.82-22.13 51.82-49.43s-23.2-49.43-51.82-49.43c-28.63 0-51.83 22.13-51.83 49.43s23.2 49.43 51.83 49.43\", style: { fill: \"currentcolor\" } }, { d: \"M171.1299999999992 296.02c28.62 0 51.82-22.13 51.82-49.43s-23.2-49.43-51.82-49.43c-28.63 0-51.83 22.13-51.83 49.43s23.2 49.43 51.83 49.43\", style: { fill: \"currentcolor\" } }, { d: \"M171.1299999999992 466.1800000000003c28.62 0 51.82-22.56 51.82-50.38 0-27.83-23.2-50.39-51.82-50.39-28.63 0-51.83 22.56-51.83 50.39 0 27.82 23.2 50.38 51.83 50.38\", style: { fill: \"currentcolor\" } }, { d: \"M343.5599999999995 131.55999999999995c28.62 0 51.83-22.13 51.83-49.43s-23.21-49.43-51.83-49.43c-28.63 0-51.83 22.13-51.83 49.43s23.2 49.43 51.83 49.43\", style: { fill: \"currentcolor\" } }, { d: \"M343.5599999999995 296.02c28.62 0 51.83-22.13 51.83-49.43s-23.21-49.43-51.83-49.43c-28.63 0-51.83 22.13-51.83 49.43s23.2 49.43 51.83 49.43\", style: { fill: \"currentcolor\" } }, { d: \"M343.5599999999995 466.1800000000003c28.62 0 51.83-22.56 51.83-50.38 0-27.83-23.21-50.39-51.83-50.39-28.63 0-51.83 22.56-51.83 50.39 0 27.82 23.2 50.38 51.83 50.38\", style: { fill: \"currentcolor\" } }] }, bin: { viewBox: \"0 0 512 512\", paths: [{ d: \"M436.83999999999924 118.26999999999998l-29.95 307.93c-0.96 8.69-4.88 16.72-11 22.53-6.12 5.82-14.02 9.03-22.21 9.03h-241.51c-8.2 0-16.11-3.21-22.23-9.03-6.12-5.81-10.04-13.84-10.99-22.53l-29.95-307.93\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M440.72999999999956 28.519999999999982h-368.76c-23.95 0-43.37 20-43.37 44.66v0.04c0 24.66 19.42 44.66 43.37 44.66h368.76c23.95 0 43.36-20 43.36-44.66v-0.04c0-24.66-19.41-44.66-43.36-44.66\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M306.47999999999956 245.26000000000022l-108.44 115.31\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M306.47999999999956 360.0999999999999l-108.44-115.31\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, \"dot-arrow\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M310.84999999999945 140.77999999999997c9.4-8.891 24.59-8.858 33.94 0.071l97.99 93.565 0.02 0.012 0.03 0.036 0.03 0.023c2.3 2.2 4.03 4.734 5.2 7.438a21.9 21.9 0 0 1 1.79 8.322v0.632a21.7 21.7 0 0 1-1.82 8.436 22 22 0 0 1-2.16 3.865 24 24 0 0 1-3.01 3.501l-0.01 0.011c-0.02 0.02-0.05 0.04-0.07 0.061l-97.99 93.565c-9.35 8.929-24.54 8.961-33.94 0.071-9.39-8.89-9.42-23.336-0.07-32.265l57.31-54.725H180.6899999999996c-13.25 0-24-10.214-24-22.815 0-12.6 10.75-22.815 24-22.815h187.4l-57.31-54.724c-9.35-8.93-9.32-23.375 0.07-32.265M83.6899999999996 275.77599999999995c14.36 0 26-11.278 26-25.192s-11.64-25.191-26-25.191-26 11.278-26 25.191c0 13.914 11.64 25.192 26 25.192\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] } };\n\n// src/Icon.tsx\nvar ICONS = icons_default;\nvar Icon = React.memo(React.forwardRef((props, ref) => {\n const icon = ICONS[props.name];\n return icon ? /* @__PURE__ */ React.createElement(\"svg\", { ref, className: props.className, viewBox: icon.viewBox }, icon.paths.map((path, index) => /* @__PURE__ */ React.createElement(\"path\", { key: index, d: path.d, style: path.style }))) : null;\n}));\nvar Icon_default = Icon;\n\n// src/index.ts\nvar src_default = Icon_default;\nexport {\n src_default as default\n};\n","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"</\"+t.name+\">\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"</\"+a.name+\">\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","export const warn = (...args) => {\n if (console?.warn) {\n if (isString(args[0])) args[0] = `react-i18next:: ${args[0]}`;\n console.warn(...args);\n }\n};\nconst alreadyWarned = {};\nexport const warnOnce = (...args) => {\n if (isString(args[0]) && alreadyWarned[args[0]]) return;\n if (isString(args[0])) alreadyWarned[args[0]] = new Date();\n warn(...args);\n};\nconst loadedClb = (i18n, cb) => () => {\n if (i18n.isInitialized) {\n cb();\n } else {\n const initialized = () => {\n setTimeout(() => {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n i18n.on('initialized', initialized);\n }\n};\nexport const loadNamespaces = (i18n, ns, cb) => {\n i18n.loadNamespaces(ns, loadedClb(i18n, cb));\n};\nexport const loadLanguages = (i18n, lng, ns, cb) => {\n if (isString(ns)) ns = [ns];\n if (i18n.options.preload && i18n.options.preload.indexOf(lng) > -1) return loadNamespaces(i18n, ns, cb);\n ns.forEach(n => {\n if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);\n });\n i18n.loadLanguages(lng, loadedClb(i18n, cb));\n};\nexport const hasLoadedNamespace = (ns, i18n, options = {}) => {\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n return i18n.hasLoadedNamespace(ns, {\n lng: options.lng,\n precheck: (i18nInstance, loadNotPending) => {\n if (options.bindI18n?.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n};\nexport const getDisplayName = Component => Component.displayName || Component.name || (isString(Component) && Component.length > 0 ? Component : 'Unknown');\nexport const isString = obj => typeof obj === 'string';\nexport const isObject = obj => typeof obj === 'object' && obj !== null;","const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nconst htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\nconst unescapeHtmlEntity = m => htmlEntities[m];\nexport const unescape = text => text.replace(matchHtmlEntity, unescapeHtmlEntity);","import { unescape } from './unescape.js';\nlet defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape\n};\nexport const setDefaults = (options = {}) => {\n defaultOptions = {\n ...defaultOptions,\n ...options\n };\n};\nexport const getDefaults = () => defaultOptions;","let i18nInstance;\nexport const setI18n = instance => {\n i18nInstance = instance;\n};\nexport const getI18n = () => i18nInstance;","import { Fragment, isValidElement, cloneElement, createElement, Children } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { isObject, isString, warn, warnOnce } from './utils.js';\nimport { getDefaults } from './defaults.js';\nimport { getI18n } from './i18nInstance.js';\nconst hasChildren = (node, checkLength) => {\n if (!node) return false;\n const base = node.props?.children ?? node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n};\nconst getChildren = node => {\n if (!node) return [];\n const children = node.props?.children ?? node.children;\n return node.props?.i18nIsDynamicList ? getAsArray(children) : children;\n};\nconst hasValidReactChildren = children => Array.isArray(children) && children.every(isValidElement);\nconst getAsArray = data => Array.isArray(data) ? data : [data];\nconst mergeProps = (source, target) => {\n const newTarget = {\n ...target\n };\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n};\nexport const nodesToString = (children, i18nOptions) => {\n if (!children) return '';\n let stringNode = '';\n const childrenArray = getAsArray(children);\n const keepArray = i18nOptions?.transSupportBasicHtmlNodes ? i18nOptions.transKeepBasicHtmlNodesFor ?? [] : [];\n childrenArray.forEach((child, childIndex) => {\n if (isString(child)) {\n stringNode += `${child}`;\n } else if (isValidElement(child)) {\n const {\n props,\n type\n } = child;\n const childPropsCount = Object.keys(props).length;\n const shouldKeepChild = keepArray.indexOf(type) > -1;\n const childChildren = props.children;\n if (!childChildren && shouldKeepChild && !childPropsCount) {\n stringNode += `<${type}/>`;\n } else if (!childChildren && (!shouldKeepChild || childPropsCount) || props.i18nIsDynamicList) {\n stringNode += `<${childIndex}></${childIndex}>`;\n } else if (shouldKeepChild && childPropsCount === 1 && isString(childChildren)) {\n stringNode += `<${type}>${childChildren}</${type}>`;\n } else {\n const content = nodesToString(childChildren, i18nOptions);\n stringNode += `<${childIndex}>${content}</${childIndex}>`;\n }\n } else if (child === null) {\n warn(`Trans: the passed in value is invalid - seems you passed in a null child.`);\n } else if (isObject(child)) {\n const {\n format,\n ...clone\n } = child;\n const keys = Object.keys(clone);\n if (keys.length === 1) {\n const value = format ? `${keys[0]}, ${format}` : keys[0];\n stringNode += `{{${value}}}`;\n } else {\n warn(`react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.`, child);\n }\n } else {\n warn(`Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.`, child);\n }\n });\n return stringNode;\n};\nconst renderNodes = (children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) => {\n if (targetString === '') return [];\n const keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n const emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.map(keep => `<${keep}`).join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling && !shouldUnescape) return [targetString];\n const data = {};\n const getData = childs => {\n const childrenArray = getAsArray(childs);\n childrenArray.forEach(child => {\n if (isString(child)) return;\n if (hasChildren(child)) getData(getChildren(child));else if (isObject(child) && !isValidElement(child)) Object.assign(data, child);\n });\n };\n getData(children);\n const ast = HTML.parse(`<0>${targetString}</0>`);\n const opts = {\n ...data,\n ...combinedTOpts\n };\n const renderInner = (child, node, rootReactNode) => {\n const childs = getChildren(child);\n const mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 || child.props?.i18nIsDynamicList ? childs : mappedChildren;\n };\n const pushTranslatedJSX = (child, inner, mem, i, isVoid) => {\n if (child.dummy) {\n child.children = inner;\n mem.push(cloneElement(child, {\n key: i\n }, isVoid ? undefined : inner));\n } else {\n mem.push(...Children.map([child], c => {\n const props = {\n ...c.props\n };\n delete props.i18nIsDynamicList;\n return createElement(c.type, {\n ...props,\n key: i,\n ref: c.ref\n }, isVoid ? null : inner);\n }));\n }\n };\n const mapAST = (reactNode, astNode, rootReactNode) => {\n const reactNodes = getAsArray(reactNode);\n const astNodes = getAsArray(astNode);\n return astNodes.reduce((mem, node, i) => {\n const translationContent = node.children?.[0]?.content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n if (node.type === 'tag') {\n let tmp = reactNodes[parseInt(node.name, 10)];\n if (rootReactNode.length === 1 && !tmp) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n const child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n const isElement = isValidElement(child);\n const isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n const isEmptyTransWithHTML = emptyChildrenButNeedsHandling && isObject(child) && child.dummy && !isElement;\n const isKnownComponent = isObject(children) && Object.hasOwnProperty.call(children, node.name);\n if (isString(child)) {\n const value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n const inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n const inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: `${node.name}-${i}`\n }));\n } else {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n mem.push(createElement(node.name, {\n key: `${node.name}-${i}`\n }, inner));\n }\n } else if (node.voidElement) {\n mem.push(`<${node.name} />`);\n } else {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n mem.push(`<${node.name}>${inner}</${node.name}>`);\n }\n } else if (isObject(child) && !isElement) {\n const content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else {\n pushTranslatedJSX(child, translationContent, mem, i, node.children.length !== 1 || !translationContent);\n }\n } else if (node.type === 'text') {\n const wrapTextNodes = i18nOptions.transWrapTextNodes;\n const content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: `${node.name}-${i}`\n }, content));\n } else {\n mem.push(content);\n }\n }\n return mem;\n }, []);\n };\n const result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n};\nexport function Trans({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions = {},\n values,\n defaults,\n components,\n ns,\n i18n: i18nFromProps,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n}) {\n const i18n = i18nFromProps || getI18n();\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n const t = tFromProps || i18n.t.bind(i18n) || (k => k);\n const reactI18nextOptions = {\n ...getDefaults(),\n ...i18n.options?.react\n };\n let namespaces = ns || t.ns || i18n.options?.defaultNS;\n namespaces = isString(namespaces) ? [namespaces] : namespaces || ['translation'];\n const nodeAsString = nodesToString(children, reactI18nextOptions);\n const defaultValue = defaults || nodeAsString || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n const {\n hashTransKey\n } = reactI18nextOptions;\n const key = i18nKey || (hashTransKey ? hashTransKey(nodeAsString || defaultValue) : nodeAsString || defaultValue);\n if (i18n.options?.interpolation?.defaultVariables) {\n values = values && Object.keys(values).length > 0 ? {\n ...values,\n ...i18n.options.interpolation.defaultVariables\n } : {\n ...i18n.options.interpolation.defaultVariables\n };\n }\n const interpolationOverride = values || count !== undefined && !i18n.options?.interpolation?.alwaysFormat || !children ? tOptions.interpolation : {\n interpolation: {\n ...tOptions.interpolation,\n prefix: '#$?',\n suffix: '?$#'\n }\n };\n const combinedTOpts = {\n ...tOptions,\n context: context || tOptions.context,\n count,\n ...values,\n ...interpolationOverride,\n defaultValue,\n ns: namespaces\n };\n const translation = key ? t(key, combinedTOpts) : defaultValue;\n if (components) {\n Object.keys(components).forEach(c => {\n const componentKey = components[c].key || c;\n const comp = cloneElement(components[c], {\n key: componentKey\n });\n if (!comp.props || !comp.props.children || translation.indexOf(`${c}/>`) < 0 && translation.indexOf(`${c} />`) < 0) return;\n function Componentized() {\n return createElement(Fragment, null, comp);\n }\n components[c] = createElement(Componentized);\n });\n }\n const content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n const useAsParent = parent ?? reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport const initReactI18next = {\n type: '3rdParty',\n init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport const I18nContext = createContext();\nexport class ReportNamespaces {\n constructor() {\n this.usedNamespaces = {};\n }\n addUsedNamespaces(namespaces) {\n namespaces.forEach(ns => {\n if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;\n });\n }\n getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n}\nexport const composeInitialProps = ForComponent => async ctx => {\n const componentsInitialProps = (await ForComponent.getInitialProps?.(ctx)) ?? {};\n const i18nInitialProps = getInitialProps();\n return {\n ...componentsInitialProps,\n ...i18nInitialProps\n };\n};\nexport const getInitialProps = () => {\n const i18n = getI18n();\n const namespaces = i18n.reportNamespaces?.getUsedNamespaces() ?? [];\n const ret = {};\n const initialI18nStore = {};\n i18n.languages.forEach(l => {\n initialI18nStore[l] = {};\n namespaces.forEach(ns => {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n};","import { useContext } from 'react';\nimport { nodesToString, Trans as TransWithoutContext } from './TransWithoutContext.js';\nimport { getI18n, I18nContext } from './context.js';\nexport { nodesToString };\nexport function Trans({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions = {},\n values,\n defaults,\n components,\n ns,\n i18n: i18nFromProps,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n}) {\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n const t = tFromProps || i18n?.t.bind(i18n);\n return TransWithoutContext({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions,\n values,\n defaults,\n components,\n ns: ns || t?.ns || defaultNSFromContext || i18n?.options?.defaultNS,\n i18n,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n });\n}","import { useState, useEffect, useContext, useRef, useCallback } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, loadLanguages, hasLoadedNamespace, isString, isObject } from './utils.js';\nconst usePrevious = (value, ignore) => {\n const ref = useRef();\n useEffect(() => {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\nconst alwaysNewT = (i18n, language, namespace, keyPrefix) => i18n.getFixedT(language, namespace, keyPrefix);\nconst useMemoizedT = (i18n, language, namespace, keyPrefix) => useCallback(alwaysNewT(i18n, language, namespace, keyPrefix), [i18n, language, namespace, keyPrefix]);\nexport const useTranslation = (ns, props = {}) => {\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n const notReadyT = (k, optsOrDefaultValue) => {\n if (isString(optsOrDefaultValue)) return optsOrDefaultValue;\n if (isObject(optsOrDefaultValue) && isString(optsOrDefaultValue.defaultValue)) return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n const retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n if (i18n.options.react?.wait) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n const i18nOptions = {\n ...getDefaults(),\n ...i18n.options.react,\n ...props\n };\n const {\n useSuspense,\n keyPrefix\n } = i18nOptions;\n let namespaces = ns || defaultNSFromContext || i18n.options?.defaultNS;\n namespaces = isString(namespaces) ? [namespaces] : namespaces || ['translation'];\n i18n.reportNamespaces.addUsedNamespaces?.(namespaces);\n const ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(n => hasLoadedNamespace(n, i18n, i18nOptions));\n const memoGetT = useMemoizedT(i18n, props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const getT = () => memoGetT;\n const getNewT = () => alwaysNewT(i18n, props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const [t, setT] = useState(getT);\n let joinedNS = namespaces.join();\n if (props.lng) joinedNS = `${props.lng}${joinedNS}`;\n const previousJoinedNS = usePrevious(joinedNS);\n const isMounted = useRef(true);\n useEffect(() => {\n const {\n bindI18n,\n bindI18nStore\n } = i18nOptions;\n isMounted.current = true;\n if (!ready && !useSuspense) {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => {\n if (isMounted.current) setT(getNewT);\n });\n } else {\n loadNamespaces(i18n, namespaces, () => {\n if (isMounted.current) setT(getNewT);\n });\n }\n }\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getNewT);\n }\n const boundReset = () => {\n if (isMounted.current) setT(getNewT);\n };\n if (bindI18n) i18n?.on(bindI18n, boundReset);\n if (bindI18nStore) i18n?.store.on(bindI18nStore, boundReset);\n return () => {\n isMounted.current = false;\n if (i18n) bindI18n?.split(' ').forEach(e => i18n.off(e, boundReset));\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(e => i18n.store.off(e, boundReset));\n };\n }, [i18n, joinedNS]);\n useEffect(() => {\n if (isMounted.current && ready) {\n setT(getT);\n }\n }, [i18n, keyPrefix, ready]);\n const ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(resolve => {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => resolve());\n } else {\n loadNamespaces(i18n, namespaces, () => resolve());\n }\n });\n};","import { createElement, forwardRef as forwardRefReact } from 'react';\nimport { useTranslation } from './useTranslation.js';\nimport { getDisplayName } from './utils.js';\nexport const withTranslation = (ns, options = {}) => function Extend(WrappedComponent) {\n function I18nextWithTranslation({\n forwardedRef,\n ...rest\n }) {\n const [t, i18n, ready] = useTranslation(ns, {\n ...rest,\n keyPrefix: options.keyPrefix\n });\n const passDownProps = {\n ...rest,\n t,\n i18n,\n tReady: ready\n };\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n return createElement(WrappedComponent, passDownProps);\n }\n I18nextWithTranslation.displayName = `withI18nextTranslation(${getDisplayName(WrappedComponent)})`;\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n const forwardRef = (props, ref) => createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n return options.withRef ? forwardRefReact(forwardRef) : I18nextWithTranslation;\n};","import { useTranslation } from './useTranslation.js';\nexport const Translation = ({\n ns,\n children,\n ...options\n}) => {\n const [t, i18n, ready] = useTranslation(ns, options);\n return children(t, {\n i18n,\n lng: i18n.language\n }, ready);\n};","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context.js';\nexport function I18nextProvider({\n i18n,\n defaultNS,\n children\n}) {\n const value = useMemo(() => ({\n i18n,\n defaultNS\n }), [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value\n }, children);\n}","import { useContext } from 'react';\nimport { getI18n, I18nContext } from './context.js';\nexport const useSSR = (initialI18nStore, initialLanguage, props = {}) => {\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n.options?.isClone) return;\n if (initialI18nStore && !i18n.initializedStoreOnce) {\n i18n.services.resourceStore.data = initialI18nStore;\n i18n.options.ns = Object.values(initialI18nStore).reduce((mem, lngResources) => {\n Object.keys(lngResources).forEach(ns => {\n if (mem.indexOf(ns) < 0) mem.push(ns);\n });\n return mem;\n }, i18n.options.ns);\n i18n.initializedStoreOnce = true;\n i18n.isInitialized = true;\n }\n if (initialLanguage && !i18n.initializedLanguageOnce) {\n i18n.changeLanguage(initialLanguage);\n i18n.initializedLanguageOnce = true;\n }\n};","import { createElement } from 'react';\nimport { useSSR } from './useSSR.js';\nimport { composeInitialProps } from './context.js';\nimport { getDisplayName } from './utils.js';\nexport const withSSR = () => function Extend(WrappedComponent) {\n function I18nextWithSSR({\n initialI18nStore,\n initialLanguage,\n ...rest\n }) {\n useSSR(initialI18nStore, initialLanguage);\n return createElement(WrappedComponent, {\n ...rest\n });\n }\n I18nextWithSSR.getInitialProps = composeInitialProps(WrappedComponent);\n I18nextWithSSR.displayName = `withI18nextSSR(${getDisplayName(WrappedComponent)})`;\n I18nextWithSSR.WrappedComponent = WrappedComponent;\n return I18nextWithSSR;\n};","export { Trans } from './Trans.js';\nexport { Trans as TransWithoutContext } from './TransWithoutContext.js';\nexport { useTranslation } from './useTranslation.js';\nexport { withTranslation } from './withTranslation.js';\nexport { Translation } from './Translation.js';\nexport { I18nextProvider } from './I18nextProvider.js';\nexport { withSSR } from './withSSR.js';\nexport { useSSR } from './useSSR.js';\nexport { initReactI18next } from './initReactI18next.js';\nexport { setDefaults, getDefaults } from './defaults.js';\nexport { setI18n, getI18n } from './i18nInstance.js';\nexport { I18nContext, composeInitialProps, getInitialProps } from './context.js';\nexport const date = () => '';\nexport const time = () => '';\nexport const number = () => '';\nexport const select = () => '';\nexport const plural = () => '';\nexport const selectOrdinal = () => '';","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl + \"../../\";","// Copyright (C) 2017-2023 Smart code 203358507\n\nif (typeof process.env.SENTRY_DSN === 'string') {\n const Sentry = require('@sentry/browser');\n Sentry.init({ dsn: process.env.SENTRY_DSN });\n}\n\nconst Bowser = require('bowser');\nconst browser = Bowser.parse(window.navigator?.userAgent || '');\nif (browser?.platform?.type === 'desktop') {\n document.querySelector('meta[name=\"viewport\"]')?.setAttribute('content', '');\n}\n\nconst React = require('react');\nconst ReactDOM = require('react-dom/client');\nconst i18n = require('i18next');\nconst { initReactI18next } = require('react-i18next');\nconst stremioTranslations = require('stremio-translations');\nconst App = require('./App');\n\nconst translations = Object.fromEntries(Object.entries(stremioTranslations()).map(([key, value]) => [key, {\n translation: value\n}]));\n\ni18n\n .use(initReactI18next)\n .init({\n resources: translations,\n lng: 'en-US',\n fallbackLng: 'en-US',\n interpolation: {\n escapeValue: false\n }\n });\n\nconst root = ReactDOM.createRoot(document.getElementById('app'));\nroot.render(<App />);\n\nif (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n window.addEventListener('load', () => {\n navigator.serviceWorker.register('service-worker.js')\n .catch((registrationError) => {\n console.error('SW registration failed: ', registrationError);\n });\n });\n}\n"],"names":["_interopRequireDefault","_regenerator","_asyncToGenerator2","module","exports","scope","handler","addEventListener","_ref2","mark","_callee","_ref","request","id","path","args","value","data","thisArg","wrap","_context","prev","next","abrupt","reduce","prop","slice","length","apply","sent","postMessage","response","result","t0","error","stop","_x","this","arguments","call","_ref3","_callee2","_context2","Math","random","toString","Promise","resolve","reject","onMessage","_ref4","removeEventListener","_x2","_x3","has","Object","prototype","hasOwnProperty","prefix","Events","EE","fn","context","once","addListener","emitter","event","TypeError","listener","evt","_events","push","_eventsCount","clearEvent","EventEmitter","create","__proto__","eventNames","events","name","names","getOwnPropertySymbols","concat","listeners","handlers","i","l","ee","Array","listenerCount","emit","a1","a2","a3","a4","a5","len","removeListener","undefined","j","on","removeAllListeners","off","prefixed","nodeType","freeGlobal","g","global","window","self","punycode","maxInt","base","regexPunycode","regexNonASCII","regexSeparators","errors","floor","stringFromCharCode","String","fromCharCode","type","RangeError","map","array","mapDomain","string","parts","split","replace","join","ucs2decode","extra","output","counter","charCodeAt","ucs2encode","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","k","baseMinusTMin","decode","input","out","basic","index","oldi","w","t","baseMinusT","codePoint","inputLength","n","bias","lastIndexOf","splice","encode","handledCPCount","basicLength","m","q","currentValue","handledCPCountPlusOne","qMinusT","test","toLowerCase","util","Url","protocol","slashes","auth","host","port","hostname","hash","search","query","pathname","href","parse","urlParse","source","relative","resolveObject","format","obj","isString","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","url","parseQueryString","slashesDenoteHost","isObject","u","queryIndex","indexOf","splitter","uSplit","rest","trim","simplePath","exec","substr","proto","lowerProto","match","atSign","hostEnd","hec","decodeURIComponent","parseHost","ipv6Hostname","hostparts","part","newpart","validParts","notHost","bit","unshift","toASCII","p","h","ae","esc","encodeURIComponent","escape","qm","s","keys","stringify","charAt","rel","tkeys","tk","tkey","rkeys","rk","rkey","v","relPath","shift","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","pop","isNullOrUndefined","authInHost","isNull","last","hasTrailingSlash","up","isAbsolute","arg","ERROR","ChromecastSenderVideo","options","containerElement","HTMLElement","Error","chromecastTransport","device","getCastDevice","deviceNameContainerElement","document","createElement","style","display","flexDirection","alignItems","justifyContent","width","height","backgroundColor","deviceNameLabelElement","flex","maxWidth","fontSize","lineHeight","maxHeight","textAlign","color","innerText","friendlyName","appendChild","onMessageReceivedError","destroyed","observedProps","stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","volume","muted","playbackSpeed","videoParams","extraSubtitlesTracks","selectedExtraSubtitlesTrackId","extraSubtitlesDelay","extraSubtitlesSize","extraSubtitlesOffset","extraSubtitlesTextColor","extraSubtitlesBackgroundColor","extraSubtitlesOutlineColor","onMessageSendError","action","assign","CHROMECAST_SENDER_VIDEO","MESSAGE_SEND_FAILED","INVALID_MESSAGE_RECEIVED","message","isArray","onPropChanged","propName","propValue","eventName","dispatch","sendMessage","catch","commandName","commandArgs","removeChild","JSON","canPlayStream","manifest","external","props","commands","Hls","cloneDeep","deepFreeze","Color","getContentType","HLS_CONFIG","HTMLVideo","styleElement","sheet","insertRule","videoElement","controls","playsInline","onerror","code","HTML_VIDEO","MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED","UNKNOWN_ERROR","onError","critical","onVideoError","onended","onpause","onplay","ontimeupdate","ondurationchange","onwaiting","onseeking","onseeked","onstalled","onplaying","oncanplay","canplaythrough","onloadedmetadata","onloadeddata","onvolumechange","onratechange","textTracks","onchange","onCueChange","from","forEach","track","oncuechange","hls","subtitlesOpacity","getProp","readyState","HAVE_METADATA","currentTime","isFinite","HAVE_FUTURE_DATA","start","end","freeze","lang","language","label","origin","embedded","mode","parseInt","cssRules","textShadow","round","audioTrack","playbackRate","cues","cue","snapToLines","line","command","autoplay","then","contentType","isSupported","AUDIO_TRACKS_UPDATED","AUDIO_TRACK_SWITCHED","loadSource","attachMedia","src","UNSUPPORTED_STREAM","detachMedia","destroy","removeAttribute","load","pause","play","selecterdSubtitlesTrack","find","max","min","rgb","console","outlineColor","opacity","selecterdAudioTrack","parseFloat","setProp","behaviorHints","notWebReady","canPlayType","proxyHeaders","fetch","method","resp","ok","headers","get","status","statusText","debug","enableWorker","lowLatencyMode","backBufferLength","maxBufferLength","maxMaxBufferLength","maxFragLookUpTolerance","maxBufferHole","appendErrorMaxRetry","nudgeMaxRetry","manifestLoadingTimeOut","manifestLoadingMaxRetry","fragLoadPolicy","default","maxTimeToFirstByteMs","maxLoadTimeMs","timeoutRetry","maxNumRetry","retryDelayMs","maxRetryDelayMs","errorRetry","IFrameVideo","iframeElement","border","allowFullscreen","allow","contentWindow","playerFrameUrl","onload","SUBS_SCALE_FACTOR","stremioToMPVProps","parseVersion","version","ShellVideo","resolveMPVVersion","ipc","shellTransport","stremioProps","key","waitForMPVVersion","send","avgDuration","setBackground","visible","bg","container","parentElement","background","getElementsByTagName","body","logProp","log","last_time","mpvVersion","hwdecValue","hardwareDecoding","windowRenderer","navigator","platform","videoOutput","mpvSeparateWindow","separateWindow","b","versionA","versionB","startAt","speed","aid","startsWith","mute","sid","intDuration","embeddedProp","filter","x","title","current_time","actualId","argb","selectVideoImplementation","StremioVideo","video","set","Video","constructor","TizenVideo","TitanVideo","VidaaVideo","WebOsVideo","YouTubeVideo","withStreamingServer","withHTMLSubtitles","withVideoParams","externalUrl","getCastState","cast","framework","CastState","CONNECTED","ytId","streamingServerURL","SSA_DESCRIPTORS_REGEX","size","offset","textColor","subtitlesElement","position","right","bottom","left","zIndex","lastSub","async","refreshSubtitle","renderSubtitle","text","visibility","hasChildNodes","lastChild","cueNode","innerHTML","padding","whiteSpace","renderCue","ev","target","activeCues","kind","enabled","onaddtrack","setTimeout","selectedSubtitlesTrack","selectedAudioTrack","SCOPE","transport","getState","getCurrentTime","getDuration","getTotalTrackInfo","getCurrentStreamInfo","open","prepareAsync","successHandler","errorHandler","handlerResult","seekTo","setSpeed","rate","setSelectTrack","setDisplayRect","y","setDisplayMethod","setListener","listen","getTracksData","createAVPlay","isBuffering","videoSpeed","currentSubTrack","currentAudioTrack","AVPlay","promiseAudioTrackChange","objElement","disabledSubs","lastSubDurationDiff","now","cleanedText","subtitleTimeout","clearTimeout","onbufferingstart","onbufferingprogress","onbufferingcomplete","oncurrentplaytime","onsubtitlechange","onstreamcompleted","retries","isLoaded","gotTraktData","tracksData","audio","subs","isPaused","totalTrackInfo","textTrack","textTrackId","extra_info","e","textTrackLang","track_lang","textTrackLabel","extendedTrackData","el","currentTracks","currentIndex","audioTrackId","audioTrackLang","audioTrackLabel","tizenVersion","TIZEN_MATCHES","userAgent","innerWidth","innerHeight","STREAM_FAILED_TO_LOAD","observeProp","willPause","lastKnownProp","luna","params","fail","onSuccess","onFailure","errorCode","errorText","webOS","service","launchVideoApp","success","failure","parameters","webOsColors","stremioColors","unsupportedAudio","unsupportedSubs","fetchedDeviceInfo","retrieveDeviceInfo","configs","edidType","includes","err","subSize","subStyles","font_size","bg_color","bg_opacity","char_opacity","toggleSubtitles","mediaId","startTime","lastSubColor","lastSubBgColor","lastPlaybackSpeed","retrieveExtendedTracks","nrSubs","nrAudio","codec","charColor","bgColor","bgOpacity","charOpacity","trackIndex","successCb","nextOffset","nextSubSize","nextColor","nextSubOpacity","count","cb","timer","setInterval","clearInterval","timeChangedTimeout","apiScriptElement","YT","ready","onAPIError","PlayerState","Player","videoContainerElement","playerVars","cc_load_policy","disablekb","enablejsapi","fs","iv_load_policy","loop","modestbranding","playsinline","onReady","onVideoReady","onApiChange","onVideoAPIChange","onStateChange","onVideoStateChange","timeChangedIntervalId","pendingLoadArgs","YOUTUBE_VIDEO","API_LOAD_FAILED","videoError","INVALID_PARAMETER","HTML5_VIDEO","VIDEO_NOT_FOUND","VIDEO_NOT_EMBEDDABLE","loadModule","setOption","state","ENDED","CUED","UNSTARTED","PAUSED","PLAYING","getPlayerState","BUFFERING","getVolume","isMuted","getPlaybackRate","getOption","languageCode","displayName","loadVideoById","videoId","startSeconds","cueVideoById","stopVideo","pauseVideo","playVideo","unMute","setVolume","setPlaybackRate","selecterdTrack","WITH_HTML_SUBTITLES","LOAD_FAILED","WITH_STREAMING_SERVER","CONVERT_FAILED","mediaElement","formats","VIDEO_CODEC_CONFIGS","force","chrome","mime","aliases","AUDIO_CODEC_CONFIGS","canPlay","config","videoCodecs","audioCodecs","maxAudioChannels","AudioContext","maxChannelCount","destination","getMaxAudioChannels","val","qt","json","tracks","subsTracks","middle","convertSrtCue","caption","convert","srt","cuelist","srt2webvtt","VTTJS","binarySearchUpperBound","parser","WebVTT","Parser","StringDecoder","cuesByTime","oncue","c","endTime","onparsingerror","onflush","warn","times","sort","t1","t2","c1","c2","render","nodes","timeIndex","cuesForTime","node","convertCueToDOMTree","subtitlesParser","subtitlesRenderer","subtitlesConverter","VideoWithHTMLSubtitles","onVideoPropEvent","bind","onOtherVideoEvent","videoState","selectedTrackId","delay","extraSubtitlesOpacity","renderSubtitles","fontSizeMultiplier","screen720p","videoPropValue","selectedTrack","loadSubtitles","isFallback","fallbackUrl","buffer","ArrayBuffer","uInt8Array","Uint8Array","TextDecoder","getSubtitlesData","findIndex","filename","local","subtitles","exclusive","magnet","createTorrent","buildProxyUrl","streamURL","requestHeaders","responseHeaders","parsedStreamURL","URL","proxyOptions","URLSearchParams","entries","entry","append","seriesInfo","streamingServerSettings","infoHash","fileIdx","announce","torrent","parsedMagnetURI","sources","proxyStreamsEnabled","buildTorrent","peerSearch","guessFileIdx","season","episode","guessedFileIdx","fetchOpensubtitlesParams","mediaURL","videoHash","videoSize","queryParams","fetchFilename","streamName","allSettled","results","reason","hat","mediaCapabilities","convertStream","fetchVideoParams","isPlayerLoaded","supportsTranscoding","VideoWithStreamingServer","loadArgs","actionsQueue","canPlayStreamOptions","forceTranscoding","videoCodec","audioCodec","flushActionsQueue","supported","probe","isFormatSupported","some","areStreamsSupported","streams","every","channels","VideoWithVideoParams","r","o","d","defineProperty","enumerable","Symbol","toStringTag","__esModule","VERSION","PALETTE_MATERIAL_CHROME","PALETTE_MATERIAL_500","COLOR_NAMES","getLuminance","intToRgb","rgbToInt","rgbToHsv","rgbToHsl","hslToRgb","rgbToHex","parseColor","parseColorToHsla","parseColorToHsl","parseColorToRgba","parseColorToRgb","createPicker","configurable","writable","iterator","a","done","return","attachTo","showHSL","showRGB","showHEX","showAlpha","palette","paletteEditable","useAlphaInPalette","slBarSize","hueBarSize","alphaBarSize","f","NodeList","querySelector","jquery","getContext","createLinearGradient","addColorStop","setHue","fillStyle","fillRect","globalCompositeOperation","grabColor","getImageData","findColor","A","Number","nvl","hasAttribute","getAttribute","H","S","L","R","G","B","element","className","setupHueCanvas","hueBarHelper","huePointer","setupSlCanvas","slBarHelper","slPointer","preview","setupClipboard","setupInput","inputH","inputS","inputL","remove","inputR","inputG","inputB","inputRGBHEX","setPalette","paletteRow","setupAlphaCanvas","alphaPointer","onValueChanged","limit","clientX","getBoundingClientRect","clientY","top","toFixed","select","returnValue","execCommand","ensureArray","setAttribute","insertBefore","onPaletteColorAdd","onPaletteColorRemove","querySelectorAll","shiftKey","silent","updatePointerH","updateInputHSL","updateInputRGB","updateInputRGBHEX","updatePointerSL","F","E","updatePointerA","C","cssColorToRgb","T","I","P","D","oncoloradd","oncolorremove","change","coloradd","colorremove","hsl","rgbhex","all","hex","rgba","hsla","setColor","updatePalette","show","classList","hide","add","toggle","ctrl","cssHslaToHsla","cssHslToHsl","cssRgbaToRgba","cssRgbToRgb","cssColorToRgba","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","isNaN","pow","btoa","unescape","sourceRoot","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","arr","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","extraBytes","maxChunkLength","len2","encodeChunk","lookup","num","parseRange","range","acc","cur","idx","generateRange","compose","getFirstMatch","getSecondMatch","matchAndReturnConst","getWindowsVersionName","getMacOSVersionName","getAndroidVersionName","getVersionPrecision","compareVersions","reverse","getBrowserAlias","BROWSER_ALIASES_MAP","getBrowserTypeByAlias","BROWSER_MAP","ENGINE_MAP","OS_MAP","PLATFORMS_MAP","Bada","BlackBerry","Chrome","Chromium","Electron","Epiphany","Firefox","Focus","Generic","Googlebot","Maxthon","Opera","PhantomJS","Puffin","QupZilla","QQ","QQLite","Safari","Sailfish","SeaMonkey","Sleipnir","Swing","Tizen","Vivaldi","WeChat","Roku","amazon_silk","android","bada","blackberry","chromium","electron","epiphany","firefox","focus","generic","googlebot","google_search","ie","k_meleon","maxthon","edge","mz","naver","opera","opera_coast","phantomjs","puffin","qupzilla","qq","qqlite","safari","sailfish","samsung_internet","seamonkey","sleipnir","swing","tizen","uc","vivaldi","webos","wechat","yandex","tablet","mobile","desktop","tv","WindowsPhone","Windows","MacOS","iOS","Android","WebOS","Linux","ChromeOS","PlayStation4","EdgeHTML","Blink","Trident","Presto","Gecko","WebKit","getParser","getResult","_ua","parsedResult","getUA","parseBrowser","browser","describe","getBrowser","getBrowserName","getBrowserVersion","getOS","os","parseOS","getOSName","getOSVersion","getPlatform","parsePlatform","getPlatformType","getEngine","engine","parseEngine","getEngineName","satisfies","isOS","isPlatform","isBrowser","compareVersion","isEngine","is","versionName","vendor","model","base64","ieee754","customInspectSymbol","Buffer","K_MAX_LENGTH","createBuffer","buf","setPrototypeOf","encodingOrOffset","allocUnsafe","encoding","isEncoding","actual","write","fromString","isView","arrayView","isInstance","copy","fromArrayBuffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","isBuffer","checked","numberIsNaN","fromObject","toPrimitive","assertSize","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","read","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","res","firstByte","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","TYPED_ARRAY_SUPPORT","foo","typedArraySupport","poolSize","alloc","fill","allocUnsafeSlow","_isBuffer","compare","list","pos","swap16","swap32","swap64","toLocaleString","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","toJSON","_arr","ret","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","boundsError","readBigUInt64BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","sym","getMessage","Base","super","stack","addNumericalSeparator","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","ERR_BUFFER_OUT_OF_BOUNDS","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","base64clean","dst","alphabet","table","i16","BufferBigIntNotDefined","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","setFunctionLength","$TypeError","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","func","applyBind","cssKeywords","reverseKeywords","labels","hsv","hwb","cmyk","xyz","lab","lch","keyword","ansi16","ansi256","hcg","apple","rdif","gdif","bdif","diff","diffc","reversed","currentClosestKeyword","currentClosestDistance","distance","z","t3","smin","lmin","vmin","sl","wh","bl","ratio","y2","x2","z2","atan2","PI","sqrt","hr","cos","sin","saturation","ansi","mult","rem","toUpperCase","substring","colorString","char","integer","chroma","grayscale","hue","pure","mg","conversions","route","fromModel","routes","toModel","wrappedFn","arg0","conversion","wrapRounded","raw","wrapRaw","deriveBFS","graph","models","parent","buildGraph","queue","current","adjacents","adjacent","link","to","wrapConversion","colorNames","swizzle","reverseNames","cs","clamp","hexDouble","hexAlpha","i2","alpha","percent","hwba","skippedModels","hashedModelKeys","limiters","object","valpha","newArray","zeroArray","hashedKeys","places","percentString","unitArray","unitObject","roundToPlace","getset","maxfn","saturationl","lightness","saturationv","wblack","hexa","rgbArray","alphaHex","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","isDark","isLight","negate","lighten","darken","saturate","desaturate","whiten","blacken","fade","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","number","roundTo","channel","modifier","getOwnPropertyNames","isFrozen","$SyntaxError","gopd","property","nonEnumerable","nonWritable","nonConfigurable","loose","desc","EvalError","ReferenceError","SyntaxError","URIError","domProps","isValidDOMProp","eventProps","onCopy","onCut","onPaste","onLoad","onWheel","onScroll","onCompositionEnd","onCompositionStart","onCompositionUpdate","onKeyDown","onKeyPress","onKeyUp","onFocus","onBlur","onChange","onInput","onSubmit","onClick","onContextMenu","onDoubleClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onSelect","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onAnimationStart","onAnimationEnd","onAnimationIteration","onTransitionEnd","htmlAttributes","abbr","accept","acceptCharset","accessKey","allowFullScreen","allowTransparency","alt","autoComplete","autoFocus","autoPlay","cellPadding","cellSpacing","challenge","charset","cite","class","cols","colSpan","content","contentEditable","contextMenu","coords","crossOrigin","dateTime","defer","disabled","download","draggable","dropzone","encType","for","form","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","hidden","high","hrefLang","htmlFor","httpEquiv","icon","inputMode","isMap","itemId","itemProp","itemRef","itemScope","itemType","maxLength","media","mediaGroup","minLength","multiple","noValidate","optimum","pattern","ping","placeholder","poster","preload","radioGroup","readOnly","required","role","rows","rowSpan","sandbox","scoped","scrolling","seamless","selected","shape","sizes","sortable","span","spellCheck","srcDoc","srcSet","step","tabIndex","translate","typeMustMatch","useMap","wmode","toStr","concatty","that","bound","arrLike","slicy","boundLength","boundArgs","Function","joiner","joiny","Empty","implementation","$Error","$EvalError","$RangeError","$ReferenceError","$URIError","$Function","getEvalledConstructor","expressionSyntax","$gOPD","getOwnPropertyDescriptor","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","hasSymbols","hasProto","getProto","getPrototypeOf","needsEval","TypedArray","INTRINSICS","AggregateError","Atomics","BigInt64Array","BigUint64Array","Boolean","DataView","Date","decodeURI","encodeURI","eval","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","Map","Proxy","Reflect","RegExp","Set","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","WeakRef","WeakSet","errorProto","doEval","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","getBaseIntrinsic","alias","intrinsicName","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","hasPropertyDescriptors","hasArrayLengthDefineBug","$Object","origSymbol","hasSymbolSham","symObj","syms","propertyIsEnumerable","descriptor","$hasOwn","bits","digits","rack","expandBy","iters","hats","__HLS_WORKER_BUNDLE__","__IN_WORKER__","ownKeys","_objectSpread2","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPrimitive","_toPropertyKey","_defineProperties","_createClass","Constructor","protoProps","staticProps","_extends","_inheritsLoose","subClass","superClass","_setPrototypeOf","_getPrototypeOf","_isNativeReflectConstruct","construct","sham","_construct","Parent","Class","instance","_isNativeFunction","_wrapNativeSuper","_cache","Wrapper","_assertThisInitialized","_unsupportedIterableToArray","minLen","_arrayLikeToArray","arr2","_createForOfIteratorHelperLoose","allowArrayLike","it","getDefaultExportFromCjs","urlToolkit","URL_REGEX","FIRST_SEGMENT_REGEX","SLASH_DOT_REGEX","SLASH_DOT_DOT_REGEX","URLToolkit","buildAbsoluteURL","baseURL","relativeURL","opts","alwaysNormalize","basePartsForNormalise","parseURL","normalizePath","buildURLFromParts","relativeParts","scheme","baseParts","netLoc","pathParts","builtParts","fragment","baseURLPath","newPath","urlToolkitExports","isFiniteNumber","isSafeInteger","MAX_SAFE_INTEGER","ErrorTypes","ErrorDetails","noop","fakeLogger","trace","info","exportedLogger","consolePrintFn","exportLoggerFunctions","debugConfig","_len","functions","_key","enableLogs","logger","DECIMAL_RESOLUTION_REGEX","ATTR_LIST_REGEX","AttrList","attrs","parseAttrList","_proto","decimalInteger","attrName","intValue","hexadecimalInteger","stringValue","hexadecimalIntegerAsNumber","decimalFloatingPoint","optionalFloat","defaultValue","enumeratedString","bool","decimalResolution","lastIndex","attr","isDateRangeCueAttribute","isSCTE35Attribute","DateRange","dateRangeAttr","dateRangeWithSameId","_startDate","_endDate","_badValueForSameId","previousAttr","ID","endDate","getTime","CLASS","startDate","endOnNext","LoadStats","aborted","retry","total","chunkCount","bwEstimate","loading","parsing","ElementaryStreamTypes","AUDIO","VIDEO","AUDIOVIDEO","BaseSegment","baseurl","_this$elementaryStrea","_byteRange","_url","relurl","elementaryStreams","setByteRange","previous","byteRangeEndOffset","byteRange","Fragment","_BaseSegment","_this","_decryptdata","rawProgramDateTime","programDateTime","tagList","sn","levelkeys","loader","keyLoader","cc","startPTS","endPTS","startDTS","endDTS","deltaPTS","maxStartPTS","minEndPTS","stats","bitrateTest","initSegment","endList","gap","urlId","_proto2","setKeyFormat","keyFormat","getDecryptData","abortRequests","_this$loader","_this$keyLoader","abort","setElementaryStreamInfo","partial","clearElementaryStreamInfo","NONE","_key2","identity","keyFormats","_this$_decryptdata","encrypted","Part","_BaseSegment2","partAttrs","frag","_this2","fragOffset","independent","audiovideo","DEFAULT_TARGET_DURATION","LevelDetails","baseUrl","PTSKnown","alignedSliding","averagetargetduration","endCC","endSN","fragments","fragmentHint","partList","dateRanges","live","ageHeader","advancedDateTime","updated","advanced","availabilityDelay","misses","startCC","startSN","startTimeOffset","targetduration","totalduration","m3u8","canBlockReload","canSkipUntil","canSkipDateRanges","skippedSegments","recentlyRemovedDateranges","partHoldBack","holdBack","partTarget","preloadHint","renditionReports","tuneInGoal","deltaUpdateFailed","driftStartTime","driftEndTime","driftStart","driftEnd","encryptedFragments","playlistParsingError","variableList","hasVariableRefs","reloaded","partSnDiff","lastPartSn","partIndexDiff","lastPartIndex","runTime","partEnd","fragmentEnd","_this$partList","_this$fragments","_this$partList2","_this$partList3","base64Decode","base64encodedStr","atob","getKeyIdBytes","keyIdbytes","strToUtf8array","paddedkeyIdbytes","changeEndianness","keyId","convertDataUriToArrayBytes","uri","colonsplit","keydata","semicolonsplit","commasplit","isbase64","optionalSelf","KeySystems","CLEARKEY","FAIRPLAY","PLAYREADY","WIDEVINE","KeySystemFormats","keySystemFormatToKeySystemDomain","KeySystemIds","keySystemIdToKeySystemDomain","systemId","keySystemDomainToKeySystemFormat","keySystem","getKeySystemsForConfig","drmSystems","widevineLicenseUrl","keySystemsToAttempt","_optionalSelf$navigat","requestMediaKeySystemAccess","getSupportedMediaKeySystemConfigurations","drmSystemOptions","initDataTypes","createMediaKeySystemConfigurations","persistentState","distinctiveIdentifier","sessionTypes","sessionType","audioCapabilities","robustness","audioRobustness","encryptionScheme","audioEncryptionScheme","videoCapabilities","videoRobustness","videoEncryptionScheme","sliceUint8","decoder","isHeader$2","isFooter","getID3Data","front","readSize","canParse$2","getTimeStamp","frames","getID3Frames","frame","isTimeStampFrame","readTimeStamp","getFrameData","id3Data","frameData","decodeFrame","decodePrivFrame","decodeURLFrame","decodeTextFrame","owner","utf8ArrayToStr","privateData","description","timeStampFrame","pts33Bit","timestamp","exitOnNull","getTextDecoder","decoded","char2","char3","Hex","hexDump","UINT32_MAX$1","RemuxerTrackIdConfig","id3","bin2str","readUint16","readUint32","readSint32","readUint64","writeUint32","hasMoofData","findBox","endbox","subresults","parseSegmentIndex","sidx","references","timescale","earliestPresentationTime","firstOffset","startByte","referencesCount","referenceIndex","referenceInfo","referenceSize","subsegmentDuration","parseInitSegment","traks","trak","tkhd","trackId","mdhd","hdlr","hdlrType","soun","vide","stsdData","parseStsd","trex","flags","stsd","sampleEntries","sampleEntriesEnd","fourCC","encBox","sinf","schm","frma","avcCBox","toHex","codecBox","esdsBox","skipBERInteger","objectType","audioObjectType","hvcCBox","profileByte","profileSpace","generalProfileIdc","profileCompat","tierFlag","levelIDC","constraintIndicator","constraintString","_i","_byte","dvcCBox","profile","addLeadingZero","vpcCBox","_profile","_level","bitDepth","av1CBox","_profile2","_level2","_tierFlag","highBitDepth","twelveBit","_bitDepth","monochrome","chromaSubsamplingX","chromaSubsamplingY","chromaSamplePosition","colorPrimaries","transferCharacteristics","matrixCoefficients","videoFullRangeFlag","patchEncyptionData","decryptdata","isCommonEncryption","encBoxes","isAudio","enc","tenc","parseSinf","tencKeyId","getStartDTS","initData","fmp4","traf","tfdt","tfhd","baseTime","sidxMinStart","sidxMaxEnd","sidxDuration","sidxs","subSegmentDuration","dur","ref","rawDuration","videoDuration","audioDuration","trafs","_i2","trackDefault","tfhdFlags","sampleDuration","truns","computeRawDurationFromSamples","trun","sampleCount","offsetStartDTS","timeOffset","baseMediaDecodeTime","upper","lower","segmentValidRange","segmentedRange","valid","remainder","moofs","appendUint8Array","data1","data2","temp","parseSamples","seiSamples","videoData","samples","isHEVCFlavor","moof","moofOffset","defaultSampleDuration","defaultSampleSizePresent","defaultSampleSize","defaultSampleFlagsPresent","tfhdOffset","isHEVC","dataOffsetPresent","dataOffset","firstSampleFlagsPresent","sampleDurationPresent","sampleSizePresent","sampleSize","sampleFlagsPresent","sampleCompositionOffsetsPresent","compositionOffset","trunOffset","sampleOffset","ix","naluTotalSize","naluSize","isSEIMessage","parseSEIMessageFromNALu","delimit","baseCodec","naluHeader","naluType","unescapedData","headerSize","pts","discardEPB","seiPtr","payloadType","payloadSize","leftOver","payPtr","providerCode","userStructure","userDataType","totalBytes","uuidStrArray","_i3","_b","userDataBytes","_i4","uuid","userData","EPBPositions","newLength","newData","sourceIndex","parseEmsg","schemeIdUri","timeScale","presentationTimeDelta","presentationTime","eventDuration","leftPresentationTime","rightPresentationTime","payload","mp4Box","mp4pssh","keyids","kids","kidCount","setUint32","dataSize","parsePssh","view","boxSize","getUint32","dataSizeOrKidCount","keyUriToKeyIdMap","LevelKey","formatversions","iv","keyFormatVersions","pssh","clearKeyUriToKeyIdMap","createInitializationVector","keyBytes","PlayReadyKeySystemUUID","keyBytesUtf16","keyByteStr","xmlKeyBytes","keyData","DOMParser","parseFromString","childNodes","nodeValue","keyIdArray","padded","_keyId","segmentNumber","uint8View","VARIABLE_REPLACEMENT_REGEX","hasVariableReferences","substituteVariablesInAttributes","attributeNames","substituteVariables","variableReference","variableName","variableValue","addVariableDefinition","parentUrl","NAME","VALUE","QUERYPARAM","searchParams","importVariableDefinition","sourceVariableList","IMPORT","getMediaSource","preferManagedMediaSource","MediaSource","ManagedMediaSource","WebKitMediaSource","sampleEntryCodesISO","a3ds","alac","alaw","dra1","dtsc","dtse","dtsh","enca","fLaC","flac","FLAC","g719","g726","m4ae","mha1","mha2","mhm1","mhm2","mlpa","mp4a","Opus","opus","samr","sawb","sawp","sevc","sqcp","ssmv","twos","ulaw","avc1","avc2","avc3","avc4","avcp","av01","drac","dva1","dvav","dvh1","dvhe","encv","hev1","hvc1","mjp2","mp4v","mvc1","mvc2","mvc3","mvc4","resv","rv60","s263","svc1","svc2","vp08","vp09","stpp","wvtt","isCodecType","typeCodes","areCodecsMediaSourceSupported","codecs","isCodecMediaSourceSupported","_MediaSource$isTypeSu","isTypeSupported","mimeTypeForCodec","videoCodecPreferenceValue","codecsSetSelectionPreferenceValue","codecSet","preferenceValue","CODEC_COMPATIBLE_NAMES","getCodecCompatibleNameLower","lowerCaseCodec","codecsToCheck","AUDIO_CODEC_REGEXP","getCodecCompatibleName","pickMostCompleteCodecName","parsedCodec","levelCodec","convertAVC1ToAVCOTI","avcdata","MASTER_PLAYLIST_REGEX","MASTER_PLAYLIST_MEDIA_REGEX","IS_MEDIA_PLAYLIST","LEVEL_PLAYLIST_REGEX_FAST","LEVEL_PLAYLIST_REGEX_SLOW","M3U8Parser","findGroup","groups","mediaGroupId","group","isMediaPlaylist","parseMasterPlaylist","contentSteering","levels","sessionData","sessionKeys","levelsWithKnownCodecs","_level$unknownCodecs","bitrate","resolution","setCodecs","CODECS","unknownCodecs","tag","attributes","sessionAttrs","dataId","sessionKey","parseKey","variableAttributes","contentSteeringAttributes","pathwayId","parseStartTimeOffset","stripUnknownCodecLevels","parseMasterPlaylistMedia","groupsByType","SUBTITLES","textCodec","TYPE","medias","LANGUAGE","assocLang","CHANNELS","characteristics","CHARACTERISTICS","instreamId","groupId","autoselect","forced","URI","groupCodec","assignCodec","parseLevelPlaylist","levelUrlId","multivariantVariableList","currentInitSegment","currentSN","currentPart","discontinuityCounter","prevFrag","firstPdtIndex","createNextFrag","nextByteRange","setFragLevelKeys","assignProgramDateTime","value1","value2","skipAttrs","clientAttrs","dateRange","isValid","levelKey","mapAttrs","init","setInitSegment","byteRangeStartOffset","serverControlAttrs","partInfAttrs","previousFragmentPart","preloadHintAttrs","renditionReportAttrs","fragmentLength","firstFragment","lastFragment","lastSn","backfillProgramDateTimes","keyTagAttributes","_keyAttrs$METHOD","_keyAttrs$KEYFORMAT","keyAttrs","decryptmethod","METHOD","decrypturi","decryptiv","decryptkeyformatversions","KEYFORMATVERSIONS","decryptkeyformat","KEYFORMAT","IV","resolvedUri","startAttributes","codecsAttributeValue","filtered","groupItem","codecProperty","codecValue","fragPrev","endProgramDateTime","BYTERANGE","PlaylistContextType","MANIFEST","LEVEL","AUDIO_TRACK","SUBTITLE_TRACK","PlaylistLevelType","MAIN","SUBTITLE","mapContextToLevelType","getResponseUrl","PlaylistLoader","loaders","registerListeners","startLoad","startPosition","stopLoad","destroyInternalLoaders","MANIFEST_LOADING","onManifestLoading","LEVEL_LOADING","onLevelLoading","AUDIO_TRACK_LOADING","onAudioTrackLoading","SUBTITLE_TRACK_LOADING","onSubtitleTrackLoading","unregisterListeners","createInternalLoader","PLoader","pLoader","Loader","getInternalLoader","resetInternalLoader","contextType","responseType","deliveryDirectives","_context$deliveryDire","loadPolicy","levelDetails","loaderContext","manifestLoadPolicy","playlistLoadPolicy","details","subtitleTracks","targetDuration","maxLowLatencyPlaylistRefresh","legacyRetryCompatibility","loaderConfig","timeout","maxRetry","retryDelay","maxRetryDelay","loaderCallbacks","networkDetails","performance","handleTrackOrLevelPlaylist","handleMasterPlaylist","handleManifestParsingError","handleNetworkError","onTimeout","_M3U8Parser$parseMast","_M3U8Parser$parseMast2","captions","trigger","MANIFEST_LOADED","levelId","levelType","singleLevel","handlePlaylistLoaded","NETWORK_ERROR","MANIFEST_PARSING_ERROR","fatal","UNKNOWN","MANIFEST_LOAD_TIMEOUT","MANIFEST_LOAD_ERROR","LEVEL_LOAD_TIMEOUT","LEVEL_LOAD_ERROR","AUDIO_TRACK_LOAD_TIMEOUT","AUDIO_TRACK_LOAD_ERROR","SUBTITLE_TRACK_LOAD_TIMEOUT","SUBTITLE_LOAD_ERROR","errorData","levelIndex","LEVEL_PARSING_ERROR","getCacheAge","LEVEL_LOADED","AUDIO_TRACK_LOADED","SUBTITLE_TRACK_LOADED","_error","LEVEL_EMPTY_ERROR","sendAddTrackEvent","videoEl","Event","createEvent","initEvent","dispatchEvent","addCueToTrack","getCueById","addCue","textTrackCue","TextTrackCue","err2","clearCurrentCues","removeCue","removeCuesInRange","predicate","getCuesInRange","getFirstCueIndexAfterTime","mid","cuesFound","firstCueInRange","_cue","filterSubtitleTracks","textTrackList","MetadataSchema","audioId3","emsg","MIN_CUE_DURATION","getCueClass","VTTCue","createCueWithDataFields","Cue","MAX_CUE_ENDTIME","POSITIVE_INFINITY","MAX_VALUE","dateRangeDateToTimelineSeconds","date","hexToArrayBuffer","ID3TrackController","id3Track","dateRangeCuesAppended","_registerListeners","_unregisterListeners","MEDIA_ATTACHED","onMediaAttached","MEDIA_DETACHING","onMediaDetaching","FRAG_PARSING_METADATA","onFragParsingMetadata","BUFFER_FLUSHING","onBufferFlushing","LEVEL_UPDATED","onLevelUpdated","createTrack","getID3Track","addTextTrack","_this$hls$config","enableEmsgMetadataCues","enableID3MetadataCues","updateId3CueEnds","_this$id3Track","startOffset","endOffset","_hls$config","hasProgramDateTime","enableDateRangeMetadataCues","ids","idsToRemove","_loop","dateTimeOffset","_loop2","appendedDateRangeCues","durationKnown","nextDateRangeWithSameClass","candidateDateRange","otherDateRange","LatencyController","stallCount","_latency","timeupdateHandler","timeupdate","_this$levelDetails","BUFFER_STALLED_ERROR","latency","computeLatency","_this$config","maxLiveSyncPlaybackRate","targetLatency","distanceFromTarget","maxLatency","forwardBufferLength","exp","edgeStalled","estimateLiveEdge","age","liveEdge","liveMaxLatencyDuration","liveMaxLatencyDurationCount","_this$config2","liveSyncDuration","liveSyncDurationCount","userConfig","maxLiveSyncOnStallIncrease","liveSyncOnStallIncrease","syncPosition","drift","maxLevelUpdateAge","bufferedRanges","HdcpLevels","isHdcpLevel","VideoRangeValues","isVideoRange","HlsSkip","No","Yes","v2","getSkipValue","msn","HlsUrlParameters","skip","addDirectives","Level","_attrs","frameRate","fragmentError","loadError","realBitrate","supportedPromise","supportedResult","_avgBitrate","_audioGroups","_subtitleGroups","_urlId","addGroupId","hasAudioGroup","hasGroup","hasSubtitleGroup","audioGroups","subtitleGroups","addFallback","audioGroupId","textGroupId","_this$audioGroups","_this$subtitleGroups","updateFromToPTS","fragFrom","fragTo","fragToPTS","updateFragPTSDTS","fragStartPts","fragEndPts","fragIdx","mergeDetails","oldDetails","newDetails","oldFragments","oldInit","PTSFrag","ccOffset","mapFragmentIntersection","oldFrag","newFrag","_currentInitSegment","mergeDateRanges","newFragments","mapPartIntersection","oldPart","newPart","adjustSliding","oldDateRanges","deltaDateRanges","oldParts","newParts","intersectionFn","_oldPart","_newPart","newFrags","oldFrags","_oldFrag","_newFrag","addSliding","computeReloadInterval","distanceToLiveEdgeMs","reloadInterval","liveEdgeMaxTargetDurations","lastSegmentDuration","getFragmentWithSN","fragCurrent","getPartWith","partIndex","_level$details","findPart","reassignFragmentLevelIndexes","isTimeoutError","FRAG_LOAD_TIMEOUT","KEY_LOAD_TIMEOUT","getRetryConfig","isTimeout","getRetryDelay","retryConfig","retryCount","backoffFactor","backoff","getLoaderConfigWithoutReties","loderConfig","shouldRetry","loaderResponse","httpStatus","retryForHttpStatus","onLine","BinarySearch","comparisonFn","minIndex","maxIndex","currentElement","comparisonResult","findFragmentByPDT","PDTValue","seg","pdtWithinToleranceTest","findFragmentByPTS","fragPrevious","bufferEnd","fragNext","bufferEdgeError","fragmentWithinToleranceTest","foundFragment","candidate","candidateLookupTolerance","pdtBufferEnd","findFragWithCC","NetworkErrorAction","DoNothing","SendEndCallback","SendAlternateToPenaltyBox","RemoveAlternatePermanently","InsertDiscontinuity","RetryRequest","ErrorActionFlags","None","MoveAllAlternatesMatchingHost","MoveAllAlternatesMatchingHDCP","SwitchToSDR","ErrorController","playlistError","penalizedRenditions","onErrorOut","getVariantLevelIndex","loadLevel","_data$frag","_data$level","FRAG_LOAD_ERROR","KEY_LOAD_ERROR","errorAction","getFragRetryOrSwitchAction","FRAG_PARSING_ERROR","FRAG_GAP","FRAG_DECRYPT_ERROR","_data$context","_data$context$levelDe","getPlaylistRetryOrSwitchAction","levelRetry","getLevelSwitchAction","KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED","restrictedHdcpLevel","hdcpLevel","keySystemError","BUFFER_ADD_CODEC_ERROR","REMUX_ALLOC_ERROR","BUFFER_APPEND_ERROR","INTERNAL_EXCEPTION","BUFFER_APPENDING_ERROR","BUFFER_FULL_ERROR","LEVEL_SWITCH_ERROR","BUFFER_SEEK_OVER_HOLE","BUFFER_NUDGE_ON_STALL","KEY_SYSTEM_ERROR","variantLevelIndex","keyLoadPolicy","fragmentErrors","_data$frag2","_data$context2","errorDetails","nextLevel","minAutoLevel","maxAutoLevel","autoLevelEnabled","_ret","fragErrorType","findAudioCodecAlternate","sourceBufferName","findVideoCodecAlternate","playlistErrorType","playlistErrorGroupId","_level$audioGroups","_level$subtitleGroups","levelCandidate","fragCandidate","nextAutoLevel","_data$errorAction","sendAlternateToPenaltyBox","resolved","recoverMediaError","switchLevel","maxHdcpLevel","nextLoadLevel","BasePlaylistController","logPrefix","requestScheduled","canLoad","clearTimer","loadPlaylist","switchParams","playlistUri","_attr","currentGoal","hlsUrlParameters","shouldLoadPlaylist","playlist","shouldReloadPlaylist","playlistLoaded","previousDetails","elapsed","endSn","lastPart","lastAdvanced","cdnAge","segments","getDeliveryDirectives","bufferInfo","mainForwardBufferInfo","estimatedTimeUntilUpdate","previousDeliveryDirectives","checkRetry","errorEvent","_ref$retryCount","_errorEvent$context","EWMA","halfLife","estimate","alpha_","estimate_","totalWeight_","sample","adjAlpha","getTotalWeight","getEstimate","zeroFactor","EwmaBandWidthEstimator","slow","fast","defaultEstimate","defaultTTFB","defaultEstimate_","minWeight_","minDelayMs_","slow_","fast_","defaultTTFB_","ttfb_","update","durationMs","numBytes","durationS","bandwidthInBps","sampleTTFB","ttfb","seconds","canEstimate","getEstimateTTFB","SUPPORTED_INFO_DEFAULT","configurations","decodingInfoResults","powerEfficient","smooth","SUPPORTED_INFO_CACHE","requiresMediaCapabilitiesDecodingInfo","audioTracksByGroup","currentVideoRange","currentFrameRate","currentBw","audioPreference","audioCodecPreference","channelsPreference","maxChannels","audioChannels","audioTrackGroup","videoRange","getMediaDecodingInfoPromise","baseVideoConfiguration","ceil","averageBitrate","framerate","transferFunction","_audioTracksByGroup$g","channelsNumber","configuration","decodingInfoKey","getMediaDecodingInfoKey","decodingInfo","mediaConfig","spatialRendering","isHdrSupported","matchMedia","mediaQueryList","badQuery","matches","getVideoSelectionOptions","videoPreference","preferHDR","allowedVideoRanges","getStartCodecTier","codecTiers","codecSets","preferStereo","hasStereo","hasCurrentVideoRange","minHeight","minFramerate","minBitrate","selectedScore","videoRanges","_getVideoSelectionOpt","tier","matchingVideoRanges","maxFramerate","candidateTier","logStartCodecCandidateIgnored","hasDefaultAudio","maxScore","codeSet","getAudioTracksByGroup","allAudioTracks","trackGroup","hasDefault","hasAutoSelect","channelsKey","hasAutoSelectAudio","getCodecTiers","tiers","SDR","lesserWidthOrHeight","score","audioGroup","findMatchingOption","option","matchPredicate","matchesOption","isDefault","characteristicsMatch","characteristicsA","characteristicsB","arrA","arrB","audioMatchPredicate","findClosestLevelWithAudioGroup","searchIndex","currentLevel","renditions","variantMap","currentVideoCodec","matchingVideo","searchDownAndUpList","AbrController","_hls","lastLevelLoadSec","lastLoadedFragLevel","firstSelection","_nextAutoLevel","nextAutoLevelKey","partCurrent","bitrateTestDelay","bwEstimator","_abandonRulesCheck","timeLoading","ttfbEstimate","bufferStarvationDelay","loadedFirstByte","getBwEstimate","expectedLen","timeStreaming","loadRate","fragLoadedDelay","bwe","fragLevelNextLoadedDelay","levelNextBitrate","maxBitrate","getTimeToLoadFrag","nextLoadLevelBitrate","abrBandWidthUpFactor","resetEstimator","FRAG_LOAD_EMERGENCY_ABORTED","initEstimator","abrEwmaDefaultEstimate","abrEwmaSlowVoD","abrEwmaFastVoD","FRAG_LOADING","onFragLoading","FRAG_LOADED","onFragLoaded","FRAG_BUFFERED","onFragBuffered","LEVEL_SWITCHING","onLevelSwitching","onLevelLoaded","LEVELS_UPDATED","onLevelsUpdated","MAX_AUTO_LEVEL_UPDATED","onMaxAutoLevelUpdated","_data$part","ignoreFragment","timeToFirstByteSec","bandwidth","fragSizeBits","isSwitch","timeLoadingMs","abrEwmaSlowLive","abrEwmaFastLive","abrMaxWithRealBitrate","loadedBytes","loadedDuration","fragBufferedData","processingMs","getAutoLevelKey","_this$hls$mainForward","getNextABRAutoLevel","currentFragDuration","avgbw","bwFactor","abrBandWidthFactor","bwUpFactor","_bestLevel","findBestLevel","maxStarvationDelay","maxLoadingDelay","bestLevel","minLevel","autoLevel","maxFetchDuration","selectionBaseLevel","firstLevel","_this$hls","currentCodecSet","startTier","ttfbEstimateSec","levelsSkipped","_levelInfo$supportedR","levelInfo","upSwitch","useMediaCapabilities","removeLevel","adjustedbw","fetchDuration","forcedAutoLevel","_this$hls2","maxStartDelay","abrAutoLevel","clamped","useEstimate","loadedFirstFrag","nextABRAutoLevel","firstAutoLevel","_this$hls3","TaskLoop","_boundTick","_tickTimer","_tickInterval","_tickCallCount","tick","onHandlerDestroying","onHandlerDestroyed","clearNextTick","hasInterval","hasNextTick","millis","doTick","tickImmediate","FragmentState","NOT_LOADED","APPENDING","PARTIAL","OK","FragmentTracker","activePartLists","endListFragments","timeRanges","bufferPadding","hasGaps","BUFFER_APPENDED","onBufferAppended","getAppendedFrag","activeParts","activePart","appendedPTS","getBufferedFrag","fragmentEntity","detectEvictedFragments","elementaryStream","timeRange","playlistType","appendedPart","appendedPartSn","esData","isNotBuffered","isTimeBuffered","removeFragment","detectPartialFragments","fragKey","getFragmentKey","isFragHint","streamInfo","getBufferedTimes","isPartial","removeParts","snToKeep","fragBuffered","getPartialFragment","timePadding","bestFragment","bestOverlap","isEndListAppended","lastFragmentEntity","_this3","hasFragment","hasParts","_this$activePartLists","removeFragmentsInRange","withGapOnly","unbufferedOnly","_this4","snToRemove","removeAllFragments","_fragmentEntity$range","_fragmentEntity$range2","_fragmentEntity$range3","noopBuffered","BufferHelper","isBuffered","getBuffered","maxHoleDuration","vbuffered","bufferedInfo","nextStart","buffered2","buf2len","buf2end","bufferStartNext","bufferLen","bufferStart","ChunkMetadata","transmuxing","getNewPerformanceTiming","executeStart","executeEnd","findFirstFragWithCC","_fragments$i","shouldAlignOnDiscontinuities","lastFrag","switchDetails","findDiscontinuousReferenceFrag","prevDetails","curDetails","prevFrags","curFrags","prevStartFrag","adjustFragmentStart","sliding","adjustSlidingStart","alignStream","alignDiscontinuities","alignMediaPlaylistByPDT","referenceFrag","refDetails","refFragments","refFrag","targetCC","refPDT","targetPDT","MIN_CHUNK_SIZE","FragmentLoader","partLoadTimeout","_onProgress","LoadError","FragmentILoader","fLoader","DefaultILoader","tags","createGapLoadError","createLoaderContext","highWaterMark","resetLoader","resetIV","onAbort","INTERNAL_ABORTED","onProgress","loadPart","updateStatsFromPart","partLoadedData","fragStats","partStats","partTotal","estTotalParts","estLoadedParts","estRemainingBytes","fragLoading","partLoading","segment","rangeStart","rangeEnd","_frag$decryptdata","byteRangeStart","byteRangeEnd","fragmentLen","MEDIA_ERROR","_Error","AESCrypto","subtle","aesIV","decrypt","FastAESKey","expandKey","importKey","removePadding","outputBytes","paddingBytes","getUint8","AESDecryptor","rcon","subMix","invSubMix","sBox","invSBox","ksRows","keySize","keySchedule","invKeySchedule","initTable","uint8ArrayToUint32Array_","arrayBuffer","subMix0","subMix1","subMix2","subMix3","invSubMix0","invSubMix1","invSubMix2","invSubMix3","xi","sx","x4","x8","keyBuffer","sameKey","ksRow","invKsRow","sbox","networkToHostOrderSwap","word","inputArrayBuffer","s0","s1","s2","s3","inputWords0","inputWords1","inputWords2","inputWords3","nRounds","invSBOX","initVector","initVector0","initVector1","initVector2","initVector3","inputInt32","outputInt32","swapWord","CHUNK_SIZE","Decrypter","_temp","_ref$removePKCS7Paddi","removePKCS7Padding","logEnabled","softwareDecrypter","fastAesKey","remainderData","currentIV","currentResult","useSoftware","enableSoftwareAES","browserCrypto","crypto","webkitSubtle","isSync","flush","reset","softwareDecrypt","decryptResult","webCryptoDecrypt","logOnce","currentChunk","getValidChunk","aesKey","onWebCryptoError","splitPoint","TimeRanges","State","STOPPED","IDLE","KEY_LOADING","FRAG_LOADING_WAITING_RETRY","WAITING_TRACK","PARSING","PARSED","WAITING_INIT_PTS","WAITING_LEVEL","BaseStreamController","_TaskLoop","fragmentTracker","transmuxer","_state","mediaBuffer","lastCurrentTime","nextLoadPosition","loadedmetadata","retryDate","fragmentLoader","levelLastLoaded","startFragRequested","decrypter","initPTS","onvseeking","onvended","onManifestLoaded","onTickEnd","resetTransmuxer","_streamEnded","getLevelDetails","_this$levelLastLoaded","onMediaSeeking","onMediaEnded","autoStartLoad","ended","detach","resetLoadingState","tolerance","fragStartOffset","fragEndOffset","pastFragment","loadFragment","targetBufferTime","_loadFragForPlayback","progressCallback","fragContextChanged","_handleFragmentLoadProgress","_doFragLoad","_handleFragmentLoadComplete","resetFragmentLoading","clearTrackerIfNeeded","_this$mediaBuffer","getFwdBufferInfo","minForwardBufferLength","reduceMaxBufferLength","checkLiveUpdate","flushMainBuffer","flushScope","_loadInitSegment","decryptData","decryptedData","FRAG_DECRYPTED","tstart","tdecrypt","completeInitSegmentLoad","fragBufferedComplete","_frag$startPTS","_frag$endPTS","_this$fragCurrent","_this$fragPrevious","NaN","_this$levels","seekToStartPos","fragLoadedEndData","partsLoaded","complete","fragLoaded","chunkMeta","keyLoadingPromise","loadClear","keyLoadedData","KEY_LOADED","getNextPart","_result","doFragPartsLoad","handleFragLoadError","loadedEndOfParts","dataOnProgress","progressive","fragLoadedData","fromPart","_this5","initialPartList","loadedPart","nextPart","handleFragLoadAborted","OTHER_ERROR","_handleTransmuxerFlush","getCurrentContext","updateLevelTiming","bufferFragmentData","noBacktracking","_buffer","BUFFER_APPENDING","dropped","flushBufferGap","fragDuration","segmentFraction","bufferable","getLoadPosition","getFwdBufferInfoAtPos","bufferedFragAtPos","getMaxBufferLength","levelBitrate","maxBufLen","maxBufferSize","threshold","fragOrPart","getNextFragment","fragLen","initialLiveManifestSize","getInitialLiveFragment","liveSyncPosition","getFragmentAtPosition","mapToInitFragWhenRequired","isLoopLoading","trackerState","getNextFragmentLoopLoading","gapStart","nextFragment","nextbufferInfo","contiguous","independentAttrOmitted","targetSN","liveStart","loadingParts","curSNIdx","fragState","nextFrag","synchronizeToLiveEdge","withinSlidingWindow","alignPlaylists","slidingStart","firstLevelLoad","aligned","alignedSlidingStart","waitForCdnTuneIn","advancePartLimit","setStartPosition","offsetInMultivariantPlaylist","onFragmentOrKeyLoadError","filterType","_this$fragCurrent2","gapTagEncountered","_ref2$retryCount","resetStartWhenNotLoaded","resetFragmentErrors","reduceLengthAndFlushBuffer","flushBuffer","afterBufferFlushed","bufferType","bufferedTimeRanges","resetWhenMissingContext","removeUnbufferedFrags","_this$transmuxer","_this6","parsedDuration","LEVEL_PTS_UPDATED","FRAG_PARSED","recoverWorkerError","nextState","previousState","ChunkCache","chunks","dataLength","chunk","concatUint8Arrays","dummyTrack","inputTimeScale","pid","sequenceNumber","BaseAudioDemuxer","_audioTrack","_id3Track","frameIndex","cachedData","basePTS","lastPTS","resetInitSegment","trackDuration","resetTimeStamp","deaultTimestamp","resetContiguity","canParse","appendFrame","demux","lastDataIndex","initPTSFn","dts","partialData","videoTrack","demuxSampleAes","getAudioConfig","observer","adtsObjectType","adtsExtensionSamplingIndex","adtsChannelConfig","manifestCodec","adtsSamplingRates","adtsSamplingIndex","samplerate","channelCount","isHeaderPattern$1","getHeaderLength","getFullFrameLength","canGetFrameLength","isHeader$1","canParse$1","probe$1","headerLength","frameLength","newOffset","initTrackConfig","getFrameDuration","parseFrameHeader","appendFrame$1","unit","stamp","header","_length","missing","_sample","chromeVersion$1","BitratesMap","SamplingRateMap","SamplesCoefficients","BytesInSlot","parseHeader","samplesPerFrame","sampleRate","mpegVersion","mpegLayer","bitRateIndex","sampleRateIndex","paddingBit","channelMode","bitRate","sampleCoefficient","bytesInSlot","isHeaderPattern","isHeader","AACDemuxer","_BaseAudioDemuxer","segmentCodec","emsgSchemePattern","MP4Demuxer","txtTrack","captionTrack","_initData$video","_initData$audio","_id","_timescale","_codec","videoSamples","segmentedData","extractID3Track","emsgs","emsgInfo","getAudioBSID","bsid","numBits","mask","AC3Demuxer","_appendFrame","samplingRateCode","frameSizeCode","skipCount","lfeon","bsmod","BaseVideoParser","VideoSample","createVideoSample","getLastNalUnit","_VideoSample","lastUnit","pushAccessUnit","nbSamples","lastSample","ExpGolomb","bytesAvailable","bitsAvailable","loadWord","workingBytes","availableBytes","skipBits","skipBytes","readBits","valu","skipLZ","leadingZeroCount","skipUEG","skipEG","readUEG","clz","readEG","readBoolean","readUByte","readUShort","readUInt","skipScalingList","lastScale","nextScale","readSPS","numRefFramesInPicOrderCntCycle","scalingListCount","frameCropLeftOffset","frameCropRightOffset","frameCropTopOffset","frameCropBottomOffset","profileIdc","chromaFormatIdc","picOrderCntType","picWidthInMbsMinus1","picHeightInMapUnitsMinus1","frameMbsOnlyFlag","pixelRatio","readSliceType","AvcVideoParser","_BaseVideoParser","parseAVCPES","pes","parseAVCNALu","spsfound","audFound","_VideoSample2","iskey","sliceType","_track$pixelRatio","_track$pixelRatio2","sps","codecarray","codecstring","pps","overflow","naluState","lastState","lastUnitStart","lastUnitType","_unit","_lastUnit","SampleAesDecrypter","decryptBuffer","encryptedData","decryptAacSample","sampleIndex","callback","curUnit","encryptedBuffer","decryptedBuffer","decryptAacSamples","getAvcEncryptedData","decodedData","encryptedDataLen","outputPos","inputPos","getAvcDecryptedUnit","uint8DecryptedData","decryptAvcSample","unitIndex","decryptAvcSamples","curUnits","PACKET_LENGTH","TSDemuxer","typeSupported","sampleAes","pmtParsed","_duration","_pmtId","_videoTrack","_txtTrack","aacOverFlow","videoParser","syncOffset","scanwindow","foundPat","packetStart","tsPackets","parsePID","pesData","isSampleAes","videoPid","audioPid","id3Pid","audioData","unknownPID","pmtId","tsPacketErrors","stt","parsePES","parseAACPES","parseMPEGPES","parseAC3PES","parseID3PES","parsePAT","parsedPIDs","parsePMT","segmentVideoCodec","segmentAudioCodec","demuxResult","extractRemainingSamples","frameMissingBytes","sampleLength","frameOverflowBytes","recoverable","frameDuration","id3Sample","tableEnd","esInfoLength","logEncryptedSamplesFoundInUnencryptedStream","mpeg","mp3","ac3","parsePos","descriptorLen","pesLen","pesHdrLen","pesPts","pesDts","pesFlags","payloadStartOffset","dataLen","MP3Demuxer","AAC","getSilentFrame","UINT32_MAX","MP4","types","avcC","btrt","dinf","dref","esds","ftyp","mdat","mdia","mfhd","minf","moov","dac3","mvex","mvhd","pasp","sdtp","stbl","stco","stsc","stsz","stts","vmhd","smhd","videoHdlr","audioHdlr","HDLR_TYPES","STTS","STSC","STCO","STSZ","VMHD","SMHD","STSD","majorBrand","avc1Brand","minorVersion","FTYP","box","DINF","upperWordDuration","lowerWordDuration","boxes","dependsOn","isDependedOn","hasRedundancy","avcc","hSpacing","vSpacing","configlen","audioStsd","sampleDependencyTable","upperWordBaseMediaDecodeTime","lowerWordBaseMediaDecodeTime","cts","arraylen","isLeading","paddingValue","isNonSync","degradPrio","movie","MPEG_TS_CLOCK_FREQ_HZ","toTimescaleFromBase","destScale","srcBase","toTimescaleFromScale","srcScale","toMsFromMpegTsClock","toMpegTsClockFromTimescale","MAX_SILENT_FRAME_DURATION","AAC_SAMPLES_PER_FRAME","MPEG_AUDIO_SAMPLE_PER_FRAME","AC3_SAMPLES_PER_FRAME","chromeVersion","safariWebkitVersion","MP4Remuxer","ISGenerated","_initPTS","_initDTS","nextAvcDts","nextAudioPts","videoSampleDuration","isAudioContiguous","isVideoContiguous","videoTrackConfig","defaultTimeStamp","resetNextTimestamp","getVideoStartPts","rolloverDetected","minPTS","normalizePts","remux","accurateTimeOffset","audioTimeOffset","videoTimeOffset","hasAudio","hasVideo","enoughAudioSamples","enoughVideoSamples","_videoTrack$pixelRati","_config$pixelRatio","_videoTrack$pixelRati2","_config$pixelRatio2","generateIS","firstKeyFramePTS","firstKeyFrameIndex","findKeyframeIndex","forceKeyFrameOnDiscontinuity","_startPTS","audiovideoTimestampDelta","remuxAudio","audioTrackLength","remuxVideo","firstKeyFrame","flushTextTrackMetadataCueSamples","flushTextTrackUserdataCueSamples","initDTS","audioSamples","computePTSDTS","metadata","firstDTS","lastDTS","inputSamples","outputSamples","mp4SampleDuration","maxPTS","NEGATIVE_INFINITY","sortSamples","initTime","deltadts","deltapts","inputDuration","averageSampleDuration","foundHole","foundOverlap","firstPTS","nbNalu","naluLen","dtsStep","nbUnits","sampleLen","mdatSize","MUX_ERROR","stretchedLastFrame","minDtsDelta","minPtsDelta","maxDtsDelta","maxPtsDelta","VideoSampleUnits","mp4SampleLength","_j","_nbUnits","unitData","unitDataLen","ptsDelta","lastFrameDuration","stretchShortVideoTrack","gapTolerance","deltaToFrameEnd","compositionTimeOffset","Mp4Sample","nextDts","_pts","nextPts","nb","getSamplesPerFrame","scaleFactor","inputSampleDuration","rawMPEG","alignedWithVideo","timeOffsetMpegTS","maxAudioFramesDrift","newStamp","fillFrame","_j2","_nbSamples","audioSample","_pts2","unitLen","remuxEmptyAudio","init90kHz","silentFrame","reference","isKeyframe","PassThroughRemuxer","emitInitSegment","initTracks","lastEndTime","defaultInitPTS","generateInitSegment","getParsedTrackCodec","_initData","_initData2","decodeTime","isInvalidInitPts","minDuration","muxConfig","Transmuxer","demuxer","remuxer","decryptionPromise","transmuxConfig","currentTransmuxState","configure","uintData","discontinuity","trackSwitch","initSegmentChange","defaultInitPts","initSegmentData","getEncryptionType","getDecrypter","emptyResult","resetMuxers","needsProbing","configureTransmuxer","resetInitialTimestamp","transmux","currentState","transmuxResults","demuxResultOrPromise","isPromise","flushRemux","_this$currentTransmux","remuxResult","transmuxSampleAes","transmuxUnencrypted","_demux","mux","_muxConfig$i$demux","Remuxer","Demuxer","encryptionType","TransmuxConfig","TransmuxState","eventemitter3","startWorker","forwardMessage","forwardWorkerLogs","logFn","logType","cmd","transmuxResult","emitTransmuxComplete","_transmuxResult","handleFlushResult","isEmptyResult","transferable","_transmuxResult$remux","addToTransferable","hasUMDWorker","injectWorker","blob","Blob","objectURL","createObjectURL","worker","Worker","loadWorker","scriptURL","location","TransmuxerInterface","onTransmuxComplete","onFlush","useWorker","workerContext","onwmsg","m2tsTypeSupported","workerPath","onWorkerMessage","lineno","resetWorker","_this$workerContext","revokeObjectURL","terminate","_frag$initSegment","_lastFrag$initSegment","snDiff","partDiff","handleTransmuxComplete","transmuxerError","_transmuxResult2","_this$workerContext2","subtitleOptionsIdentical","trackList1","trackList2","mediaAttributesIdentical","attrs1","attrs2","customAttributes","stableRenditionId","subtitleAttribute","subtitleTrackMatchesTextTrack","subtitleTrack","TICK_INTERVAL$2","AudioStreamController","_BaseStreamController","videoBuffer","videoTrackCC","waitingVideoCC","bufferedTrack","switchingTrack","waitingData","mainDetails","flushing","bufferFlushed","cachedTrackLoadedData","onAudioTracksUpdated","AUDIO_TRACK_SWITCHING","onAudioTrackSwitching","onAudioTrackLoaded","BUFFER_RESET","onBufferReset","BUFFER_CREATED","onBufferCreated","BUFFER_FLUSHED","onBufferFlushed","INIT_PTS_FOUND","onInitPtsFound","doTickIdle","_levels$trackId","_this$media","seeking","_levels","_trackId","cache","clearWaitingFragment","startFragPrefetch","trackDetails","BUFFER_EOS","mainBufferInfo","atGap","atBufferSyncLimit","mainFrag","mainBufferLength","maxConfigBuffer","mediaPlaylist","altAudio","flushAudioIfNeeded","_track$details","defaultAudioCodec","_handleTransmuxComplete","_id3$samples","completeAudioSwitch","mapFragment","_bufferInitSegment","FRAG_PARSING_INIT_SEGMENT","emittedID3","emittedText","FRAG_PARSING_USERDATA","variantAudioCodecs","BUFFER_CODECS","_track$details2","bufferedAttributes","switchAttributes","AudioTrackController","_BasePlaylistControll","groupIds","tracksInGroup","currentTrack","selectDefaultTrack","MANIFEST_PARSED","onManifestParsed","trackInActiveGroup","currentGroups","groupIndex","allIndex","findTrackId","audioTracksUpdated","setAudioTrack","_this$groupIds","setAudioOption","audioOption","switchIndex","withoutCodecAndChannelsMatch","newId","lastTrack","trackLoaded","_track2","_track3","TICK_INTERVAL$1","SubtitleStreamController","currentTrackId","tracksBuffered","SUBTITLE_TRACKS_UPDATED","onSubtitleTracksUpdated","SUBTITLE_TRACK_SWITCH","onSubtitleTrackSwitch","onSubtitleTrackLoaded","SUBTITLE_FRAG_PROCESSED","onSubtitleFragProcessed","fragStart","fragEnd","endOffsetSubtitles","mediaBufferTimeRanges","mainSlidingStartFragment","levelTargetDuration","foundFrag","lookupTolerance","BufferableInstance","timeranges","getRange","DOMException","SubtitleTrackController","queuedDefaultTrack","asyncPollTrackChange","pollTrackChange","useTextTrackPolling","subtitlePollingInterval","_subtitleDisplay","onTextTracksChanged","renderTextTracksNatively","findTrackForTextTrack","setSubtitleTrack","subtitlePreference","subtitleTracksUpdated","selectDefault","_track","setSubtitleOption","subtitleOption","allSubtitleTracks","toggleTrackModes","nextTrack","subtitleDisplay","_track$groupId","BufferOperationQueue","sourceBufferReference","buffers","queues","operation","pending","executeNext","insertAbort","appendBlocker","execute","promise","onStart","onComplete","sb","updating","shiftAndExecuteNext","VIDEO_CODEC_PROFILE_REPLACE","BufferController","_objectUrl","operationQueue","bufferCodecEventsExpected","_bufferCodecEventsTotal","mediaSource","lastMpegAudioChunk","appendSource","appendErrors","pendingTracks","sourceBuffer","_onEndStreaming","pauseBuffering","_onStartStreaming","resumeBuffering","_onMediaSourceOpen","_onMediaEmptied","updateMediaElementDuration","checkPendingTracks","_onMediaSourceClose","_onMediaSourceEnded","mediaSrc","_initSourceBuffer","hasSourceTypes","getSourceBufferTypes","MEDIA_ATTACHING","onMediaAttaching","onBufferAppending","onBufferCodecs","onBufferEos","onFragParsed","FRAG_CHANGED","onFragChanged","codecEvents","_ms$constructor","ms","objectUrl","MMS","disableRemotePlayback","removeSourceChildren","addSource","endOfStream","MEDIA_DETACHED","resetBuffer","_this$mediaSource","removeBufferListeners","sourceBuffers","removeSourceBuffer","sourceBufferCount","trackNames","trackName","changeType","_trackCodec","_data$trackName","currentCodecFull","currentCodec","trackCodec","nextCodec","mimeType","appendChangeType","eventData","chunkStats","bufferAppendingStart","fragBuffering","partBuffering","checkTimestampOffset","timestampOffset","appendExecutor","_type","QUOTA_EXCEEDED_ERR","appendErrorCount","flushOperation","removeExecutor","_this7","buffersAppendedTo","onUnblocked","blockBuffers","trimBuffers","_this8","ending","liveBackBufferLength","maxBackBufferLength","targetBackBufferPosition","flushBackBuffer","frontBufferFlushThreshold","frontBufferLength","maxFrontBufferLength","targetFrontBufferPosition","flushFrontBuffer","_this9","BACK_BUFFER_REACHED","LIVE_BACK_BUFFER_REACHED","_this10","numBufferedRanges","levelDuration","mediaDuration","msDuration","liveDurationInfinity","updateSeekableRange","setLiveSeekableRange","pendingTracksCount","createSourceBuffers","BUFFER_INCOMPATIBLE_CODECS_ERROR","_this11","addSourceBuffer","sbName","addBufferListener","_onSBUpdateStart","_onSBUpdateEnd","_onSBUpdateError","removedRanges","_this$mediaSource2","_this$mediaSource3","removeStart","removeEnd","appendBuffer","_this12","blockingOperations","firstChild","sourceChildren","specialCea608CharsCodes","getCharForByte","charCode","NR_ROWS","NR_COLS","rowsLowCh1","rowsHighCh1","rowsLowCh2","rowsHighCh2","backgroundColors","CaptionsLogger","verboseLevel","severity","numArrayToHexArray","numArray","hexArray","PenState","foreground","underline","italics","flash","setStyles","styles","attribs","other","newPenState","StyledUnicodeChar","uchar","penState","_proto3","setChar","setPenState","newChar","isEmpty","Row","chars","currPenState","cueStartTime","_proto4","empty","setCursor","absPos","moveCursor","relPos","newPos","backSpace","insertChar","_byte2","_char","clearFromPos","startPos","clear","clearToEndOfRow","getTextString","_char2","setPenStyles","CaptionScreen","currRow","nrRollUpRows","lastOutputScreen","_proto5","equal","_char3","setPen","setPAC","pacData","newRow","row","topRowIndex","prevLineTime","indent","prevPos","setBkgData","bkgData","setRollUpRows","nrRows","rollUp","getDisplayText","topRow","asOneRow","displayText","rowNr","rowText","getTextAndFormat","Cea608Channel","channelNumber","outputFilter","chNr","verbose","displayedMemory","nonDisplayedMemory","currRollUpRow","writeScreen","_proto6","getHandler","setHandler","newHandler","setMode","newMode","insertChars","screen","outputDataUpdate","ccRCL","ccBS","ccAOF","ccAON","ccDER","ccRU","ccFON","ccRDC","ccTR","ccRTD","ccEDM","ccCR","ccENM","ccEOC","ccTO","nrCols","ccMIDROW","colorIndex","colors","newCue","dispatchCue","cueSplitAtTime","Cea608Parser","field","out1","out2","currentChannel","cmdHistory","createCmdHistory","_proto7","addData","byteList","cmdFound","charsFound","parseCmd","parseMidrow","parsePAC","parseBackgroundAttributes","parseChars","currChNr","hasCmdRepeated","setLastCmd","interpretPAC","_byte3","pacIndex","channelNr","oneCode","charCodes","charCode1","hexCodes","OutputFilter","timelineController","cueRanges","addCues","createCaptionsTrack","AllowedDirections","AllowedAlignments","isAllowedValue","allowed","lcValue","findDirectionSetting","findAlignSetting","extend","cobj","baseObj","hasBeenReset","_pauseOnExit","_startTime","_endTime","_text","_region","_vertical","_snapToLines","_line","_lineAlign","_position","_positionAlign","_size","_align","setting","displayState","getCueAsHTML","parseTimeStamp","computeSeconds","Settings","values","dflt","defaultKey","parseOptions","keyValueDelim","groupDelim","kv","defaults","center","align","parseCue","regionList","oInput","consumeTimeStamp","ts","consumeCueSettings","settings","vals","region","vertical","lineAlign","skipWhitespace","fixLineBreaks","VTTParser","collectNextLine","alreadyCollectedLine","hasSubstring","LINEBREAKS","inputString","searchString","cueString2millis","timeString","secs","mins","hours","generateCueId","calculateOffset","vttCCs","currCC","prevCC","new","presentationOffset","_prevCC","parseWebVTT","vttByteArray","callBack","errorCallBack","parsingError","vttLines","cueTime","timestampMapMPEGTS","timestampMapLOCAL","inHeader","cueOffset","webVttMpegTsMapOffset","IMSC1_CODEC","HMSF_REGEX","TIME_UNIT_REGEX","textAlignToLineAlign","parseIMSC1","ttmlList","syncTime","ttml","parseTTML","tt","defaultRateInfo","subFrameRate","frameRateMultiplier","tickRate","rateInfo","styleElements","collectionToDictionary","getElementCollection","regionElements","cueElements","cueElement","cueText","getTextContent","parseTtmlTime","timestampParsingError","getTtmlStyles","fromElement","parentName","childName","elementsWithId","dict","_node$childNodes","nodeName","textContent","ttsNs","regionStyle","styleAttributes","regionStyleName","getAttributeNS","ns","hasAttributeNS","timeAttributeValue","parseHoursMinutesSecondsFrames","parseTimeUnits","TimelineController","Cues","unparsedVttFrags","captionsTracks","nonNativeCaptionsTracks","cea608Parser1","cea608Parser2","lastCc","newVTTCCs","captionsProperties","cueHandler","textTrack1","captionsTextTrack1Label","captionsTextTrack1LanguageCode","textTrack2","captionsTextTrack2Label","captionsTextTrack2LanguageCode","textTrack3","captionsTextTrack3Label","captionsTextTrack3LanguageCode","textTrack4","captionsTextTrack4Label","captionsTextTrack4LanguageCode","onFragParsingUserdata","onFragDecrypted","SUBTITLE_TRACKS_CLEARED","onSubtitleTracksCleared","initCea608Parsers","enableCEA708Captions","channel1","channel2","channel3","channel4","merged","cueRange","overlap","intersection","CUES_PARSED","getExistingTrack","canReuseVttTextTrack","createNativeTrack","createNonNativeTrack","_captionsProperties$t","existingTrack","createTextTrack","trackProperties","closedCaptions","NON_NATIVE_TEXT_TRACKS_FOUND","_cleanTracks","hasIMSC1","enableWebVTT","enableIMSC1","inUseTracks","inUseTrack","textTrackKind","captionsOrSubtitlesFromCharacteristics","unusedTextTracks","tracksList","captionsTrack","instreamIdMatch","closedCaptionsForLevel","_data$part$index","decrypted","trackPlaylistMedia","_parseIMSC1","_parseVTTs","_appendCues","maxAvCC","missingInitPTS","_fallbackToIMSC1","fragLevel","ccBytes","ccdatas","extractCea608Data","actualCCBytes","tmpByte","ccbyte1","ccbyte2","ccType","manifestTrack","x1","y1","CapLevelController","autoLevelCapping","restrictedLevels","clientRect","streamController","setStreamController","unregisterListener","stopCapping","FPS_DROP_LEVEL_CAPPING","onFpsDropLevelCapping","droppedLevel","isLevelAllowed","HTMLVideoElement","detectPlayerSize","capLevelToPlayerSize","startCapping","mediaHeight","mediaWidth","maxLevel","getMaxLevel","nextLevelSwitch","capLevelIndex","validLevels","getMaxLevelByMediaSize","getDimensions","boundsRect","restrictedLevel","atGreatestBandwidth","curLevel","maxLevelIndex","squareSize","contentScaleFactor","ignoreDevicePixelRatio","devicePixelRatio","FPSController","isVideoPlaybackQualityAvailable","lastTime","lastDroppedFrames","lastDecodedFrames","capLevelOnFPSDrop","getVideoPlaybackQuality","checkFPSInterval","fpsDroppedMonitoringPeriod","checkFPS","decodedFrames","droppedFrames","currentPeriod","currentDropped","currentDecoded","droppedFPS","FPS_DROP","totalDroppedFrames","fpsDroppedMonitoringThreshold","videoPlaybackQuality","totalVideoFrames","droppedVideoFrames","webkitDecodedFrameCount","webkitDroppedFrameCount","LOGGER_PREFIX","EMEController","keyFormatPromise","keySystemAccessPromises","_requestLicenseFailureCount","mediaKeySessions","keyIdToKeySessionPromise","setMediaKeysQueue","CDMCleanupPromise","onMediaEncrypted","_onMediaEncrypted","onWaitingForKey","_onWaitingForKey","onMediaDetached","requestMediaKeySystemAccessFunc","licenseXhrSetup","licenseResponseCallback","getLicenseServerUrl","keySystemConfiguration","licenseUrl","getServerCertificateUrl","serverCertificateUrl","attemptKeySystemAccess","uniqueCodec","attempt","keySystems","getMediaKeysPromise","mediaKeys","EMEKeyError","KEY_SYSTEM_NO_ACCESS","supportedConfigurations","errMessage","mediaKeySystemConfigs","keySystemAccess","_keySystemAccessPromises","mediaKeySystemAccess","certificateRequest","fetchServerCertificate","createMediaKeys","certificate","setMediaKeysServerCertificate","createMediaKeySessionContext","mediaKeysSession","createSession","mediaKeySessionContext","keyStatus","renewKeySession","keySessionContext","getKeyIdString","generateRequestWithPreferredKeySession","removeSession","updateKeySession","_mediaKeySessionConte","keySession","sessionId","selectKeySystemFormat","getKeyFormatPromise","keySystemsInConfig","getKeySystemSelectionPromise","keySystemFormat","loadKey","keyInfo","keyDetails","keySessionContextPromise","getKeySystemForKeyPromise","throwIfDestroyed","attemptSetMediaKeys","handleError","KEY_SYSTEM_NO_KEYS","KEY_SYSTEM_NO_CONFIGURED_LICENSE","initDataType","keySystemDomain","psshInfo","keyIdHex","keyContext","oldKeyIdHex","_keySystemToKeySystem","setMediaKeysPromise","setMediaKeys","_this$config$drmSyste","_this$config$drmSyste2","generateRequestFilter","generateRequest","mappedInitData","licenseStatus","onmessage","_onmessage","messageType","renewLicense","onkeystatuseschange","_onkeystatuseschange","onKeyStatusChange","keyUsablePromise","KEY_SYSTEM_STATUS_INTERNAL_ERROR","_context$mediaKeysSes","KEY_SYSTEM_NO_SESSION","keyStatuses","certLoader","certLoadPolicy","contex","KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED","cert","setServerCertificate","KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED","keyMessage","requestLicense","KEY_SYSTEM_SESSION_UPDATE_FAILED","unpackPlayReadyKeyMessage","xhr","licenseChallenge","xmlString","setRequestHeader","keyMessageXml","_header$querySelector","_header$querySelector2","_value","challengeElement","challengeText","setupLicenseXHR","keysListItem","licenseXhrSetupResult","XMLHttpRequest","onreadystatechange","KEY_SYSTEM_LICENSE_REQUEST_FAILED","attemptsLeft","licenseXhr","DONE","_ref5","emeEnabled","_this13","mediaKeysList","keySessionCount","_ref6","_this14","close","CmObjectType","CmStreamingFormat","CmcdHeaderField","_CmcdHeaderMap","_this15","CmcdHeaderMap","OBJECT","REQUEST","SESSION","STATUS","SfItem","SfToken","DICT","throwError","cause","BARE_ITEM","BOOLEAN","BYTES","DECIMAL","INTEGER","isInvalidInt","STRING_REGEX","TOKEN","KEY","serializeError","serializeBoolean","base64encode","binary","serializeByteSequence","serializeInteger","serializeDate","roundToEven","precision","decimalShift","EPSILON","flooredValue","serializeDecimal","roundedValue","STRING","serializeString","symbolToStr","symbol","serializeToken","token","serializeBareItem","serializeKey","serializeParams","serializeItem","serializeInnerList","serializeDict","_options","whitespace","optionalWhiteSpace","item","encodeSfDict","isTokenField","urlToRelativePath","toPath","fromPath","randomUUID","_uuid","dt","toRounded","toHundred","CmcdFormatters","br","dl","mtp","nor","rtp","tb","processCmcd","formatters","formatter","encodeCmcd","cmcd","toCmcdHeaders","headerMap","customHeaderMap","shards","_headerMap$find","appendCmcdHeaders","CMCD_PARAM","toCmcdQuery","REGEX","appendCmcdQuery","separator","CMCDController","cid","useHeaders","includeKeys","initialized","starved","audioBuffer","onWaiting","onPlaying","applyPlaylistData","ot","su","applyFragmentData","getObjectType","MUXED","getTopBandwidth","getBufferLength","createPlaylistLoader","createFragmentLoader","contentId","_data$tracks$audio","_data$tracks$video","createData","sf","HLS","pr","bandwidthEstimate","isVideo","INIT","bs","TIMED_TEXT","_step","_iterator","Ctor","CmcdPlaylistLoader","callbacks","CmcdFragmentLoader","PATHWAY_PENALTY_DURATION_MS","ContentSteeringController","pathwayPriority","timeToLoad","reloadTimer","started","penalizedPathways","ttl","scheduleRefresh","loadSteeringManifest","levelToRemove","errorPathway","_pathwayId","getPathwayForGroupId","pathways","updatePathwayPriority","filterParsedLevels","pathwayLevels","getLevelsForPathway","_pathwayId2","_pathwayId3","selectedIndex","selectedLevel","levelAfterChange","defaultPathway","clonePathways","pathwayClones","audioGroupCloneMap","subtitleGroupCloneMap","pathwayClone","cloneId","baseId","uriReplacement","clonedVariants","baseLevel","clonedAudioGroupId","clonedSubtitleGroupId","performUriReplacement","clonedLevel","cloneRenditionGroups","throughput","steeringManifestLoadPolicy","steeringData","TTL","reloadUri","loadedSteeringData","steeringManifest","STEERING_MANIFEST_LOADED","getResponseHeader","retryAfter","ttlMs","_this3$hls","groupCloneMap","clonedTracks","clonedTrack","stableId","perOptionKey","perVariantUri","HOST","PARAMS","perOptionUris","AGE_HEADER_LINE_REGEX","XhrLoader","xhrSetup","requestTimeout","retryTimeout","abortInternal","onprogress","_this$callbacks","loadInternal","openAndSendXhr","_config$loadPolicy","readystatechange","loadprogress","loadtimeout","_status","useResponse","responseText","responseURL","_this$context","lengthComputable","getAllResponseHeaders","fetchSupported","AbortController","ReadableStream","Request","FetchLoader","fetchSetup","controller","getRequest","initParams","getRequestParameters","signal","isArrayBuffer","LENGTH","FetchError","getContentLength","loadProgressively","responseData","chunkCache","reader","getReader","pump","credentials","Headers","getByteRangeLength","byteRangeHeader","contentRange","byteRangeLength","contentLength","chromeOrFirefox","WHITESPACE_CHAR","captionScreen","indenting","_track$cues","cueA","cueB","hlsDefaultConfig","highBufferWatchdogPeriod","nudgeOffset","startLevel","abrController","bufferController","capLevelController","errorController","fpsController","abrEwmaDefaultEstimateMax","minAutoBitrate","testBandwidth","manifestLoadingRetryDelay","manifestLoadingMaxRetryTimeout","levelLoadingTimeOut","levelLoadingMaxRetry","levelLoadingRetryDelay","levelLoadingMaxRetryTimeout","fragLoadingTimeOut","fragLoadingMaxRetry","fragLoadingRetryDelay","fragLoadingMaxRetryTimeout","timelineConfig","subtitleStreamController","subtitleTrackController","audioStreamController","audioTrackController","emeController","cmcdController","contentSteeringController","mergeConfig","defaultConfig","defaultsCopy","deepCpy","deprecatedSettings","policyName","policyNotSet","report","deprecatedSetting","enableStreamingMode","currentLoader","LevelController","_firstLevel","_maxAutoLevel","_startLevel","currentLevelIndex","manualLevelIndex","steering","onParsedComplete","resetLevels","redundantSet","generatePathwaySet","resolutionFound","videoCodecFound","audioCodecFound","levelParsed","_audioCodec","_videoCodec","FRAMERATE","HDCP","PATHWAY","RESOLUTION","VIDEO_RANGE","pathwayCount","filterAndSortMediaOptions","filteredLevels","assignTrackIdsByGroup","unsortedLevels","valueA","valueB","_valueA","_valueB","firstLevelInPlaylist","_this$hls$userConfig","firstLevelBitrate","startingBwEstimate","audioOnly","edata","forceStartLoad","MANIFEST_INCOMPATIBLE_CODECS_ERROR","_data$deliveryDirecti2","_data$deliveryDirecti","_this$currentLevel","checkMaxAutoUpdated","newLevel","lastLevelIndex","lastLevel","lastPathwayId","levelSwitchingData","audioGroupIds","textGroupIds","configStartLevel","KeyLoader","keyUriToKeyInfo","_loader$context","createKeyLoadError","loadingFrag","_keyInfo","_keyInfo2","_keyInfo$mediaKeySess","keyLoadPromise","loadKeyHTTP","loadKeyEME","getSourceBuffer","SourceBuffer","WebKitSourceBuffer","isMSESupported","codecsForVideoContainer","codecForAudioContainer","changeTypeSupported","_sourceBuffer$prototy","STALL_MINIMUM_DURATION_MS","MAX_START_GAP_JUMP","SKIP_BUFFER_HOLE_STEP_SECONDS","SKIP_BUFFER_RANGE_START","GapController","nudgeRetry","stallReported","stalled","moved","poll","activeFrag","seeked","beginSeek","hasEnoughBuffer","noBufferGap","startJump","maxStartGapJump","partialOrGap","_trySkipBufferHole","tnow","stalledDuration","_reportStall","bufferedWithHoles","_tryFixBufferStall","_stalledDuration","stalledDurationMs","_tryNudgeBuffer","bufferStarved","waiting","gapLength","startGap","startFrag","startProvisioned","moreToLoad","provisioned","targetTime","TICK_INTERVAL","StreamController","audioCodecSwap","gapController","_forceStartLoad","fragPlaying","onvplaying","onvseeked","fragLastKbps","couldBacktrack","backtrackFragment","audioCodecSwitch","onFragLoadEmergencyAborted","onAudioTrackSwitched","_currentLevel","checkBuffer","checkFragmentChanged","getMainFwdBufferInfo","lastDetails","manualLevel","_this$backtrackFragme","backtrackFrag","_loadBitrateTestFrag","followingBufferedFrag","immediateLevelSwitch","abortCurrentFrag","fetchdelay","fragPlayingCurrent","bufferedFrag","nextBufferedFrag","maxStart","startPts","onMediaPlaying","onMediaSeeked","aac","heaac","_curLevel$details","newLevelId","_getAudioCodec","fromAltAudio","mediaTrack","alternate","swapAudioCodec","isFirstFragment","isFirstInDiscontinuity","backtrack","_endPTS","_startDTS","_endDTS","ua","fragCurrentLevel","LEVEL_SWITCHED","currentFrag","epocMs","coreComponents","networkControllers","_emitter","_autoLevelCapping","_maxHdcpLevel","latencyController","levelController","_media","triggeringException","DefaultConfig","ConfigAbrController","ConfigBufferController","ConfigCapLevelController","ConfigErrorController","ConfigFpsController","playListLoader","id3TrackController","ConfigContentSteeringController","createController","AudioStreamControllerClass","SubtitleStreamControllerClass","ControllerClass","components","controllerInstance","eventObject","DESTROYING","component","loadedSource","loadingSource","_this$audioTrackContr","_this$subtitleTrackCo","shouldStartCapping","newCapLevelToPlayerSize","currentProgramDateTime","subtitleTrackId","factory","rej","makeString","lastOfPathSeparatorRegExp","cleanKey","canNotTraverseDeeper","getLastOfPath","stackIndex","setPath","newValue","getPath","deepExtend","overwrite","regexEscape","_entityMap","looksLikeObjectPathRegExpCache","capacity","regExpMap","regExpQueue","getRegExp","regExpFromCache","regExpNew","delete","deepFind","keySeparator","tokens","nextPath","getCleanedCode","consoleLogger","Logger","concreteLogger","forward","_len2","_len3","_key3","deprecate","_len4","_key4","lvl","debugOnly","moduleName","clone","baseLogger","observers","numListeners","numTimesAdded","ResourceStore","defaultNS","ignoreJSONStructure","addNamespaces","removeNamespaces","getResource","lng","addResource","addResources","resources","addResourceBundle","deep","skipCopy","pack","removeResourceBundle","hasResourceBundle","getResourceBundle","getDataByLanguage","hasLanguageSomeTranslations","postProcessor","processors","addPostProcessor","handle","translator","processor","process","checkedLoadedFor","Translator","services","changeLanguage","exists","interpolation","extractFromKey","nsSeparator","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","matched","ki","looksLikeObjectPath","interpolator","nestingRegexp","lastKey","overloadTranslationOptionHandler","returnDetails","namespace","appendNamespaceToCIMode","usedKey","exactUsedKey","usedLng","usedNS","usedParams","getUsedParamsDetails","resUsedKey","resExactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","extendTranslation","usedDefault","needsPluralHandling","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValueSuffixOrdinalFallback","ordinal","needsZeroSuffixLookup","pluralSeparator","isValidLookup","resForMissing","missingKeyNoValueFallbackToKey","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","specificDefaultValue","defaultForMissing","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","suffixes","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","defaultVariables","skipInterpolation","skipOnVariables","nestBef","interpolate","na","nest","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","extracted","fallbackNS","needsContextHandling","codes","utils","hasLoadedNamespace","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","ordinalPrefix","contextKey","contextSeparator","possibleKey","returnNull","returnEmptyString","resourceStore","optionsKeys","useOptionsReplaceForData","LanguageUtil","supportedLngs","getScriptPartFromCode","formatLanguageCode","getLanguagePartFromCode","formattedCode","Intl","getCanonicalLocales","lowerCaseLng","cleanCode","isSupportedCode","nonExplicitSupportedLngs","getBestMatchFromCodes","cleanedLng","lngOnly","supportedLng","fallbacks","fallbackCode","fallbackCodes","addCode","fc","suffixesOrder","zero","one","two","few","many","dummyRule","resolvedOptions","pluralCategories","PluralResolver","pluralRulesCache","addRule","rules","clearCache","getRule","cleanedCode","cacheKey","rule","PluralRules","lngPart","needsPlural","getPluralFormsOfKey","pluralCategory1","pluralCategory2","pluralCategory","prepend","deepFindWithDefaults","defaultData","getPathWithDefaults","regexSafe","Interpolator","escapeValue","escape$1","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapeSuffix","unescapePrefix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","getOrResetRegExp","existingRegExp","regexp","regexpUnescape","replaces","handleFormat","interpolationkey","missingInterpolationHandler","regex","safeValue","todo","matchedVar","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","doReduce","elem","createCachedFormatter","optForCache","formatParams","Formatter","opt","NumberFormat","currency","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","ListFormat","addCached","mem","formatName","formatOptions","formatStr","optStr","trimmedKey","parseFormatStr","formatted","valOptions","locale","Connector","backend","store","waitingReads","maxParallelReads","readingCalls","maxRetries","queueLoad","languages","toLoad","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","pendingCount","pushPath","removePending","loadedKeys","fcName","tried","wait","resolver","prepareLoading","loadOne","fallbackValue","isUpdate","clb","initAsync","simplifyPluralSuffix","partialBundledLanguages","tDescription","transformOptions","initImmediate","I18n","inst","modules","isInitialized","isClone","isInitializing","defOpts","createClassOnDemand","ClassOrObject","lu","languageDetector","detection","deferred","finish","initializedStoreOnce","loadResources","usedCallback","resolvedLanguage","setResolvedLanguage","reloadResources","use","li","lngInLngs","isLanguageChangingTo","setLngProps","setLng","cacheUserLanguage","detect","getFixedT","keyPrefix","fixedT","resultKey","_len5","_key5","setDefaultNamespace","lastLng","loadNotPending","loadState","precheck","preResult","loadNamespaces","loadLanguages","preloaded","newLngs","createInstance","cloneInstance","forkResourceStore","mergedOptions","_len6","_key6","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","LN2","langs","crit","findBy","isValidType","forAll","where","HASH_UNDEFINED","argsTag","boolTag","dateTag","funcTag","genTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reFlags","reIsHostCtor","reIsUint","cloneableTags","freeSelf","root","freeExports","freeModule","moduleExports","addMapEntry","pair","addSetEntry","arrayReduce","iteratee","accumulator","initAccum","isHostObject","mapToArray","overArg","transform","setToArray","uid","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","IE_PROTO","funcToString","objectToString","reIsNative","getPrototype","objectCreate","nativeGetSymbols","nativeIsBuffer","nativeKeys","getNative","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","Hash","ListCache","MapCache","Stack","__data__","arrayLikeKeys","inherited","isObjectLike","isArrayLike","isArrayLikeObject","isArguments","baseTimes","skipIndexes","isIndex","assignValue","objValue","eq","assocIndexOf","baseClone","isDeep","isFull","customizer","isArr","initCloneArray","copyArray","getTag","isFunc","cloneBuffer","isPrototype","initCloneObject","copyObject","getSymbols","copySymbols","baseAssign","cloneFunc","cloneArrayBuffer","dataView","cloneDataView","typedArray","cloneTypedArray","cloneMap","cloneRegExp","cloneSet","initCloneByTag","stacked","keysFunc","symbolsFunc","arrayPush","baseGetAllKeys","getAllKeys","arrayEach","subValue","baseIsNative","isFunction","getMapData","getValue","pairs","LARGE_ARRAY_SIZE","ctorString","isLength","baseKeys","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","nativeMax","nativeMin","toNumber","isSymbol","isBinary","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","remainingWait","debounced","isInvoking","leadingEdge","cancel","arrayIncludes","fromIndex","fromRight","baseFindIndex","baseIsNaN","baseIndexOf","arrayIncludesWith","comparator","arrayMap","baseUnary","cacheHas","SetCache","castArrayLikeObject","arrays","mapped","othLength","othIndex","caches","seen","outer","computed","baseIntersection","otherArgs","arrayTag","errorTag","typedArrayTags","freeProcess","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arraySome","nativeObjectToString","symToStringTag","isArg","isBuff","isType","baseGetTag","unmasked","getRawTag","baseIsArguments","baseIsEqual","bitmask","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","othProps","skipCtor","othValue","compared","objCtor","othCtor","equalObjects","baseIsEqualDeep","isMasked","arrValue","resIndex","arrayFilter","FUNC_ERROR_TEXT","debounce","magnetURIDecode","xts","xt","infoHashBuffer","infoHashV2Buffer","infoHashV2","xtsDeduped","publicKeyBuffer","xs","publicKey","dn","keywords","kt","tr","urlList","ws","as","peerAddresses","bep53Range","base32","param","keyval","decodedStr","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","weakMapHas","weakSetHas","weakRefDeref","deref","booleanValueOf","functionToString","$match","$slice","$toUpperCase","$toLowerCase","$test","$join","$arrSlice","$floor","bigIntValueOf","gOPS","symToString","hasShammedSymbols","isEnumerable","gPO","O","addNumericSeparator","sepRegex","int","intStr","dec","utilInspect","inspectCustom","custom","inspectSymbol","quotes","single","quoteREs","wrapQuotes","defaultStyle","quoteStyle","quoteChar","isRegExp","inspect_","depth","maxStringLength","customInspect","numericSeparator","inspectString","bigIntStr","maxDepth","baseIndent","getIndent","noIndent","newOpts","nameOf","arrObjKeys","symString","markBoxed","isElement","singleLineValues","indentedJoin","isError","mapParts","collectionOf","isSet","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isNumber","isBigInt","isBoolean","globalThis","isDate","ys","isPlainObject","protoTag","trailer","quoteRE","lowbyte","lineJoiner","symMap","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","bigint","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","PropTypes","percentTwenties","Format","RFC1738","RFC3986","allowDots","allowEmptyArrays","allowPrototypes","allowSparse","arrayLimit","charsetSentinel","comma","decodeDotInKeys","delimiter","duplicates","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","plainObjects","strictDepth","strictNullHandling","$0","numberStr","parseArrayValue","parseKeys","givenKey","valuesParsed","child","chain","leaf","cleanRoot","decodedRoot","parseObject","normalizeParseOptions","tempObj","cleanStr","skipIndex","bracketEqualsPos","maybeMap","encodedVal","existing","combine","parseValues","newObj","merge","compact","getSideChannel","arrayPrefixGenerators","brackets","indices","repeat","pushToArray","valueOrArray","toISO","toISOString","defaultFormat","addQueryPrefix","arrayFormat","commaRoundTrip","encodeDotInKeys","encoder","encodeValuesOnly","skipNulls","sentinel","generateArrayPrefix","sideChannel","tmpSc","findFlag","objKeys","encodedPrefix","adjustedPrefix","encodedKey","valueSideChannel","normalizeStringifyOptions","joined","hexTable","arrayToObject","refs","compacted","compactQueue","defaultDecoder","strWithoutPlus","defaultEncoder","mergeTarget","targetItem","qs","maxKeys","kstr","vstr","stringifyPrimitive","ks","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","ra","sa","ta","pa","qa","oa","setAttributeNS","xlinkHref","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","Pa","Qa","$$typeof","_payload","_init","Ra","Sa","Ta","Va","_valueTracker","setValue","stopTracking","Ua","Wa","Xa","activeElement","Ya","defaultChecked","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","db","ownerDocument","eb","fb","defaultSelected","gb","dangerouslySetInnerHTML","children","hb","ib","jb","kb","lb","mb","namespaceURI","MSApp","execUnsafeLocalFunction","ob","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","order","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","setProperty","menuitem","area","col","embed","img","keygen","meta","wbr","ub","vb","wb","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","ec","unstable_getCurrentPriorityLevel","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","rc","sc","tc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","detail","vd","Ad","screenX","screenY","pageX","pageY","ctrlKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","be","documentMode","ce","de","fe","ge","he","le","email","month","password","tel","week","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","Ne","Oe","focusedElem","selectionRange","documentElement","selectionStart","selectionEnd","defaultView","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","of","pf","qf","rf","capture","passive","J","tf","uf","parentWindow","vf","wf","xa","$a","ba","je","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","_owner","_stringRef","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","_currentValue","bh","childLanes","ch","dependencies","firstContext","lanes","dh","eh","memoizedValue","fh","gh","hh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","effects","lh","mh","eventTime","lane","nh","K","oh","ph","qh","rh","sh","th","uh","vh","xh","yh","tagName","zh","Ah","Bh","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","ReactCurrentDispatcher","Gh","Hh","M","N","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","Uh","Vh","Wh","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","Xh","Yh","Zh","$h","ai","getSnapshot","bi","ci","Q","di","lastEffect","stores","ei","fi","gi","ii","deps","ji","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","yi","zi","Ai","Bi","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ci","defaultProps","Di","Ei","isMounted","_reactInternals","enqueueSetState","enqueueReplaceState","enqueueForceUpdate","Fi","shouldComponentUpdate","isPureReactComponent","Gi","updater","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ii","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Ji","digest","Ki","Li","Mi","Ni","Oi","Pi","Qi","getDerivedStateFromError","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","ReactCurrentOwner","Xi","Yi","Zi","$i","aj","bj","cj","dj","baseLanes","cachePool","transitions","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","jj","kj","pendingContext","lj","zj","Aj","Bj","Cj","mj","nj","oj","fallback","pj","qj","sj","dataset","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","rendering","renderingStartTime","tail","tailMode","xj","Dj","Ej","Fj","wasMultiple","suppressHydrationWarning","onclick","createElementNS","createTextNode","Gj","Hj","Ij","Jj","U","Kj","V","Lj","W","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","_reactRootContainer","Wj","X","Xj","Yj","Zj","onCommitFiberUnmount","componentWillUnmount","ak","bk","ck","dk","ek","isHidden","gk","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","Vk","lk","mk","nk","Y","Z","pk","qk","sk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","isReactComponent","pendingChildren","al","mutableSourceEagerHydrationData","pendingSuspenseBoundaries","fl","gl","hl","il","yj","Zk","kl","reportError","ll","_internalRoot","ml","nl","ol","pl","rl","ql","unmount","unstable_scheduleHydration","usingClientEntryPoint","tl","findFiberByHostInstance","bundleType","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","isDisabled","supportsFiber","inject","createPortal","cl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","FOCUS_GROUP","FOCUS_DISABLED","assignRef","useIsomorphicLayoutEffect","currentValues","useMergeRefs","callbackRef","facade","oldValue","prevRefs_1","nextRefs_1","current_1","hiddenGuard","InFocusGuard","_ref$children","propTypes","__assign","SuppressedError","ItoI","innerCreateMedium","middleware","assigned","useMedium","assignSyncMedium","cbs","assignMedium","pendingQueue","executeQueue","cycle","createMedium","mediumFocus","mediumBlur","mediumEffect","mediumSidecar","medium","ssr","createSidecarMedium","focusScope","createContext","emptyArray","FocusLock","parentRef","_extends2","_React$useState","realObserved","setObserved","observed","isActive","originalFocusedElement","_props$disabled","_props$noFocusGuards","noFocusGuards","_props$persistentFocu","persistentFocus","_props$crossFrame","crossFrame","_props$autoFocus","allowTextSelection","whiteList","hasPositiveIndices","_props$shards","_props$as","Container","_props$lockProps","lockProps","containerProps","SideCar","sideCar","_props$returnFocus","returnFocus","shouldReturnFocus","focusOptions","onActivationCallback","onActivation","onDeactivationCallback","onDeactivation","captureFocusRestore","_document","allowDefer","focusRestore","returnFocusTo","howToReturnFocus","returnFocusOptions","setObserveNode","newObserved","hasLeadingGuards","hasTailingGuards","mergedRef","focusScopeValue","active","Provider","_typeof","toPropertyKey","reducePropsToState","handleStateChangeOnClient","WrappedComponent","mountedInstances","emitChange","SideEffect","_PureComponent","peek","PureComponent","getDisplayName","toArray","asArray","getFirst","getParentNode","Node","DOCUMENT_FRAGMENT_NODE","isTopNode","DOCUMENT_NODE","isVisibleUncached","checkParent","ELEMENT_NODE","computedStyle","getComputedStyle","getPropertyValue","isElementHidden","isInert","isVisibleCached","visibilityCache","cached","isAutoFocusAllowedCached","isAutoFocusAllowed","isAutoFocusAllowedUncached","getDataset","isHTMLInputElement","isRadioElement","attribute","isGuard","_a","focusGuard","isNotAGuard","isDefined","tabSort","aTab","bTab","tabDiff","indexDiff","orderByTabIndex","filterNegative","keepGuards","getTabIndex","queryTabbables","queryGuardTabbables","getFocusablesWithShadowDom","withGuards","shadowRoot","getFocusables","parents","focusableWithShadowDom","focusableWithIframes","contentDocument","getFocusablesWithIFrame","filterFocusable","isHTMLButtonElement","notHiddenInput","filterAutoFocusable","getTabbableNodes","topNodes","getFocusableNodes","parentAutofocusables","topNode","parentFocus","getParentAutofocusables","iframeBody","getActiveElement","inDocument","safeProbe","getTopParent","getAllAffectedNodes","currentNode","contained","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_CONTAINS","_","filterNested","focusInside","focusInFrame","focusInsideIframe","focusOn","correctNode","findSelectedRadio","pickFirstFocus","pickFocusable","NEW_FOCUS","newFocus","innerNodes","innerTabbables","outerNodes","lastNode","cnt","firstFocus","lastFocus","isOnGuard","activeIndex","lastNodeInside","resultSet","firstNodeIndex","lastNodeIndex","correctedNodes","correctedIndexDiff","returnFirstNode","returnLastNode","pickAutofocus","nodesIndexes","orderedNodes","autoFocusables","autoFocusable","autofocus","getParents","getCommonParent","nodeA","nodeB","parentsA","parentsB","currentParent","getTopCommonParent","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","subEntry","common","allParentAutofocusables","focusSolver","commonParent","anyFocusable","innerElements","srcNodes","dstNodes","remap","orderedInnerElements","entity","innerFocusables","innerTabbable","guardCount","lockDisabled","moveFocusInside","focusable","weakRef","targetElement","previousElementSibling","nextElementSibling","recordElementLocation","_c","_d","_e","stack_1","parent_1","savedCurrent","focusables","aim","_f","focusables_1","restoreFocusTo","moveFocus","newOptions","onlyTabbable","defaultOptions","solution","useTabbables","shard","getRelativeFocusable","pickBoundary","what","deferAction","extractRef","focusOnBody","isFreeFocus","focusIsHidden","lastActiveTrap","lastActiveFocus","tryRestoreFocus","lastPortaledElement","focusWasOutsideWindow","windowFocused","defaultWhitelist","autoGuard","startIndex","allNodes","lastGuard","guard","focusAutoGuard","lockItem","checkInHost","check","boundary","getNodeFocusables","activateTrap","_lastActiveTrap","workingNode","portaledElement","newTarget","workingArea","focusWhitelisted","shouldForceRestoreFocus","withinHost","blur","newActiveElement","focusedIndex","onTrap","observerNode","onWindowFocus","onWindowBlur","focusLockAPI","focusNextElement","focusPrevElement","focusFirstElement","focusLastElement","propsList","traps","trap","lastTrap","sameTrap","_ref7","FocusLockCombination","_objectWithoutPropertiesLoose","ContextConsumer","ContextProvider","Element","ForwardRef","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","SuspenseList","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isSuspenseList","isValidElementType","getModuleId","typeOf","setState","forceUpdate","__self","__source","Children","only","Component","act","cloneElement","_currentValue2","_threadCount","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","sortIndex","setImmediate","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","define","hasDescriptors","gOPD","functionLengthIsConfigurable","functionLengthIsWritable","callBound","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","curr","$wm","$m","$o","assert","objects","listGet","listHas","listSet","isArrayish","navigate","ARROW_KEY_CODE","mapOfBoundRect","startingPoint","initiateSpatialNavigation","spatialNavigationSearch","focusableAreas","getSpatialNavigationContainer","CSS","registerProperty","syntax","inherits","currentKeyMode","__spatialNavigation__","keyMode","eventTarget","spatialNavigationPrevented","focusNavigableArrowKey","down","SPINNABLE_INPUT_TYPES","TEXT_INPUT_TYPES","endPosition","handlingEditableElement","searchOrigin","findSearchOrigin","elementFromPosition","elementFromPoint","isFocusable","isContainer","bestInsideCandidate","getCSSSpatNavAction","scrollingController","candidates","getSpatialNavigationCandidates","inside","focusingController","parentContainer","navigateChain","bestCandidate","elementStyle","isScrollable","rect","containerRect","isEntirelyVisible","scrollIntoView","createSpatNavEvents","isScrollBoundary","moveScroll","isHTMLScrollBoundary","childElementCount","isDelegableContainer","isVisible","getFilteredSpatialNavigationCandidates","filteredCandidates","bestTarget","internalCandidates","externalCandidates","currentElm","getClosestElement","getDistanceFromPoint","getInnerDistance","selectBestCandidateFromEdge","spatialNavigationFunction","currentElmRect","distanceFunction","alignedCandidates","elm","isAligned","getAbsoluteDistance","getEuclideanDistance","getDistance","selectBestCandidate","innerTarget","descendantsBest","originalContainer","eventTargetRect","candidateRect","candidateBody","isOutside","childRect","rightEdgeCheck","leftEdgeCheck","topEdgeCheck","bottomEdgeCheck","isInside","frameElement","minDistance","minDistanceElements","eventType","direction","triggeredEvent","CustomEvent","causedTarget","readCssVar","varName","currentOption","isScrollContainer","overflowX","overflowY","isOverflow","scrollWidth","clientWidth","scrollHeight","clientHeight","scrollX","scrollY","winScrollY","winScrollX","isAtagWithoutHref","isActuallyDisabled","inert","isExpresslyInert","isVisibleStyleProperty","isBeingRendered","elementRect","offsetX","offsetWidth","offsetY","offsetHeight","hitTestPoint","leftTop","rightBottom","point","elemFromPoint","hitTest","thisVisibility","rect1","rect2","isRightSide","isBelow","points","getEntryAndExitPoints","P1","entryPoint","exitPoint","P2","baseEdge","orthogonalBias","alignBias","intersectionRect","intersection_rect","new_location","new_max_point","getIntersectionRect","boundingClientRect","enableExperimentalAPIs","getInitialAPIs","canScroll","findTarget","findCandidate","bestNextTarget","findCandidates","findNextTarget","getDistanceFromTarget","candidateElement","getExperimentalAPI","seal","_keymode","setStartingPoint","byteTable","plain","buff","quintets","shiftIndex","encoded","plainChar","plainDigit","plainPos","encodedByte","require","React","useTranslation","Router","_require3","Core","Shell","Chromecast","DragAndDrop","KeyboardShortcuts","ServicesProvider","NotFound","_require5","FileDropProvider","PlatformProvider","ToastProvider","TooltipProvider","CONSTANTS","withCoreSuspender","useShell","ServicesToaster","DeepLinkHandler","SearchParamsHandler","UpdaterBanner","ErrorDialog","withProtectedRoutes","routerViewsConfig","RouterWithProtectedRoutes","i18n","shell","onPathNotMatch","core","appVersion","shellVersion","chromecast","keyboardShortcuts","dragAndDrop","_React$useState2","_slicedToArray","setInitialized","prevPath","onLocationHashChange","analytics","onCoreStateChanged","onShellStateChanged","onChromecastStateChange","setOptions","receiverApplicationId","CHROMECAST_RECEIVER_APP_ID","autoJoinPolicy","AutoJoinPolicy","PAGE_SCOPED","resumeSavedSession","androidReceiverCompatible","onOpenMedia","_URL","PROTOCOL","transportUrl","onCoreEvent","_args$settings","interfaceLanguage","quitOnClose","windowClosed","_state$profile","viewsConfig","_require","useStreamingServer","streamingServer","_streamingServer$torr2","deepLinks","metaDetailsVideos","classnames","_require2","Image","Button","dataCleared","setDataCleared","clearData","localStorage","isEqual","useProfile","useToast","useServices","toast","setSearchParams","onLocationChange","_window$location","previousSearchParams","currentSearchParams","fromEntries","streamingServerUrl","_objectSpread","_useServices","transport_url","onDragAndDropError","_error$file","file","App","routesRegexp","board","Board","intro","Intro","discover","Discover","library","Library","calendar","Calendar","continuewatching","Search","metadetails","MetaDetails","addons","Addons","player","previousAuthRef","onRouteChange","routeConfig","TYPE_PRIORITIES","series","music","radio","podcast","game","book","adult","ICON_FOR_TYPE","DEFAULT_STREAMING_SERVER_URL","SUBTITLES_SIZES","SUBTITLES_FONTS","SEEK_TIME_DURATIONS","NEXT_VIDEO_POPUP_DURATIONS","CATALOG_PREVIEW_SIZE","CATALOG_PAGE_SIZE","NONE_EXTRA_VALUE","SKIP_EXTRA_NAME","META_LINK_CATEGORY","IMDB_LINK_CATEGORY","SHARE_LINK_CATEGORY","WRITERS_LINK_CATEGORY","MIME_SIGNATURES","SUPPORTED_LOCAL_SUBTITLES","EXTERNAL_PLAYERS","platforms","WHITELISTED_HOSTS","CoreSuspenderContext","wrapPromise","suspender","useCoreSuspender","Fallback","parentSuspender","setRender","statesRef","streamsRef","decodeStream","ToastContext","Icon","ToastItem","onClose","_objectWithoutProperties","_excluded","toastOnClick","selectToastPrevented","reactEvent","closeToastPrevented","closeButtonOnClick","setContainer","_React$useReducer","items","_React$useReducer2","itemOnClose","filters","addFilter","removeFilter","useTooltip","Tooltip","_ref$margin","margin","tooltip","TooltipContext","classNames","TooltipItem","setStyle","tooltipBounds","parentBounds","tooltips","setTooltips","_toConsumableArray","priorities","localeCompare","elementTop","offsetTop","elementBottom","containerTop","containerBottom","isChildVisible","onFileDrop","usePlatform","_require4","comparatorWithPriorities","getVisibleChildrenRange","interfaceLanguages","languageNames","useAnimationFrame","useBinaryState","useFullscreen","useInterval","useLiveRef","useModelState","useNotifications","useOnScrollToBottom","useSettings","useTimeout","useTorrent","useTranslate","useOrientation","useLanguageSorting","urlParamsNames","animationFrameId","cancelAnimationFrame","requestAnimationFrame","_regeneratorRuntime","asyncIterator","Generator","Context","makeInvokeMethod","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isGeneratorFunction","awrap","rval","delegateYield","asyncGeneratorStep","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","throttle","useRouteFocused","routeFocused","mountedRef","_React$useMemo2","prevState","onNewState","_next","_throw","onNewStateThrottled","ctx","notifications","triggeredRef","standalone","streamingServerWarningDismissed","createTorrentTimeout","createTorrentFromMagnet","stringWithPrefix","catalogTitle","addon","withType","partialKey","translatedName","translatedType","AddonDetails","logo","official","renderLogoFallback","renderFallback","ModalDialog","AddonDetailsWithRemoteAndLocalAddon","withRemoteAndLocalAddon","remoteAddon","localAddon","useAddonDetails","AddonDetailsModal","onCloseRequest","addonDetails","modalButtons","cancelButton","configureButton","openExternal","toggleButton","configurationRequired","modalBackground","_addonDetails$remoteA","AddonDetailsModalFallback","AColorPicker","ColorPicker","pickerRef","pickerElementRef","pickerClipboard","picker","nextValue","LibItem","ContinueWatchingItem","_deepLinks$metaDetail","_deepLinks$metaDetail2","metaDetailsStreams","onPlayClick","_deepLinks$player","_deepLinks$player2","onDismissClick","posterChangeCursor","ContineWatchingItem","DelayedRenderer","useEvents","_modal$addon","_modal$addon2","_useEvents","pullEvents","dismissEvent","modal","_events$modal","imageUrl","manifestUrl","EventModal","MetaItem","removable","watched","newVideos","_notifications$items$","_notifications$items","progress","optionOnSelect","optionSelectPrevented","is_watched","filterInvalidDOMProps","Multiselect","posterShape","_useBinaryState2","menuOpen","onMenuOpen","onMenuClose","metaItemOnClick","selectPrevented","menuOnClick","menuOnSelect","renderPosterFallback","renderMenuLabelContent","renderLabelContent","onOpen","ActionButton","MetaLinks","links","UrlUtils","SharePrompt","MetaPreviewPlaceholder","Ratings","ALLOWED_LINK_REDIRECTS","MetaPreview","runtime","releaseInfo","released","trailerStreams","inLibrary","toggleInLibrary","ratingInfo","shareModalOpen","openShareModal","closeShareModal","linksGroups","category","_UrlUtils$parse","showHref","trailerHref","getFullYear","Placeholder","ReactIs","MetaRowPlaceholder","MetaRow","catalog","itemComponent","_catalog$items","_catalog$content","_catalog$deepLinks$di","_catalog$deepLinks","_catalog$deepLinks2","useModalsContainer","Modal","modalsContainer","modalContainerRef","onModalContainerMouseDown","closeModalDialogPrevented","onModalDialogContainerMouseDown","backgroundImage","Popup","renderLabelText","closeMenu","toggleMenu","filteredOptions","labelOnClick","toggleMenuPrevented","menuOnKeyDown","buttonClickPrevented","optionOnClick","closeMenuPrevented","renderLabel","_excluded2","renderMenu","renderPopupLabel","labelProps","usePWA","SearchBar","NavMenu","HorizontalNavBar","backButton","searchBar","fullscreenButton","navMenu","backButtonOnClick","history","back","_useFullscreen2","fullscreen","requestFullscreen","exitFullscreen","isIOSPWA","renderNavMenuLabel","NavMenuContent","popupLabelOnClick","togglePopupPrevented","popupMenuOnClick","_asyncToGenerator","_usePWA2","isAndroidPWA","logoutButtonOnClick","onPlayMagnetLinkClick","clipboardText","clipboard","readText","user","avatar","TextInput","useSearchHistory","useLocalSearch","_searchHistory$items","_localSearch$items","_searchHistory$items2","_localSearch$items2","searchHistory","localSearch","historyOpen","openHistory","closeHistory","currentQuery","setCurrentQuery","searchInputRef","containerRef","searchBarOnClick","searchHistoryOnClose","queryInputOnChange","queryInputOnSubmit","searchValue","queryInputClear","updateLocalSearchDebounced","SearchBarFallback","searchQuery","maxResults","NavTabButton","scrollTo","behavior","VerticalNavBar","tabs","tab","getAnchorElement","labelRef","menuRef","autoDirection","setAutoDirection","menuOnMouseDown","closePopupPrevented","onCloseEvent","closeEvent","anchorRect","labelRect","menuRect","labelPosition","SearchBarPlaceholder","inputRef","selectInputContent","copyToClipboard","Slider","minimumValue","maximumValue","onSlide","audioBoost","minimumValueRef","maximumValueRef","valueRef","bufferedRef","onSlideRef","onCompleteRef","sliderContainerRef","_useAnimationFrame2","requestThumbAnimation","cancelThumbAnimation","calculateValueForMouseX","mouseX","_sliderContainerRef$c","sliderX","sliderWidth","retainThumb","releaseThumb","classIndex","touch","thumbPosition","bufferedPosition","marginLeft","VideoPlaceholder","thumbnail","upcoming","scheduled","seasonWatched","onMarkVideoAsWatched","onMarkSeasonAsWatched","popupLabelOnMouseUp","popupLabelOnContextMenu","popupLabelOnLongPress","popupMenuOnPointerDown","popupMenuOnContextMenu","popupMenuOnKeyDown","toggleWatchedOnClick","toggleWatchedSeasonOnClick","videoButtonOnClick","popupRef","blurThumbnail","hideSpoilers","handleRef","year","day","onPointerDown","onLongPress","ReactDOM","ModalsContainerContext","ModalsContainerProvider","Route","RouteFocusedContext","RouteFocusedProvider","routeConfigForPath","urlParamsForPath","views","setViews","urlParams","routeViewIndex","routeIndex","_createForOfIteratorHelper","_step2","_iterator2","Addon","installed","onInstall","onUninstall","onConfigure","onShare","onInstallClick","onUninstallClick","onOpenClick","configureButtonOnClick","shareButtonOnClick","p2p","onToggle","MainNavBars","MultiselectMenu","useInstalledAddons","useRemoteAddons","useAddonDetailsTransportUrl","useSelectableInputs","AddonPlaceholder","installedAddons","remoteAddons","_useAddonDetailsTrans2","addonDetailsTransportUrl","setAddonDetailsTransportUrl","selectInputs","filtersModalOpen","openFiltersModal","closeFiltersModal","_useBinaryState4","addAddonModalOpen","openAddAddonModal","closeAddAddonModal","addAddonUrlInputRef","addAddonOnSubmit","addAddonModalButtons","setSearch","searchInputOnChange","_React$useState4","sharedAddon","setSharedAddon","clearSharedAddon","onAddonShare","onAddonInstall","onAddonUninstall","onAddonConfigure","onAddonOpen","closeAddonDetails","searchFilterPredicate","selectInput","selectable","catalogId","setTransportUrl","nextQueryParams","resource","selectableInputs","selectedCatalog","catalogs","catalogSelect","selectableCatalog","selectedType","typeSelect","mapSelectableInputs","useBoard","useContinueWatchingPreview","StreamingServerWarning","continueWatchingPreview","_useBoard2","loadBoardRows","boardCatalogsOffset","scrollContainerRef","onVisibleRangeChange","loadRange","useDiscover","_useDiscover2","loadNextPage","_useSelectableInputs2","hasNextPage","inputsModalOpen","openInputsModal","closeInputsModal","addonModalOpen","openAddonModal","closeAddonModal","selectedMetaItemIndex","setSelectedMetaItemIndex","metasContainerRef","metaPreviewRef","_discover$catalog","selectedMetaItem","addToLibrary","removeFromLibrary","metaItemsOnFocusCapture","onScrollToBottom","onFocusCapture","metaItem","playname","metaId","like","extraSelects","selectedExtra","_ref8","_ref9","_ref10","nextPage","CredentialsTextInput","navigationPrevented","_require6","Checkbox","PasswordResetModal","useFacebookLogin","useAppleLogin","SIGNUP_FORM","LOGIN_FORM","_useFacebookLogin2","startFacebookLogin","stopFacebookLogin","_useAppleLogin2","startAppleLogin","stopAppleLogin","emailRef","passwordRef","confirmPasswordRef","termsRef","privacyPolicyRef","marketingRef","errorRef","passwordRestModalOpen","openPasswordRestModal","closePasswordResetModal","loaderModalOpen","openLoaderModal","closeLoaderModal","confirmPassword","termsAccepted","privacyPolicyAccepted","marketingAccepted","loginWithFacebook","facebook","cancelLoginWithFacebook","loginWithApple","cancelLoginWithApple","loginWithEmail","validity","loginAsGuest","signup","gdpr_consent","tos","privacy","marketing","emailOnChange","emailOnSubmit","passwordOnChange","passwordOnSubmit","confirmPasswordOnChange","confirmPasswordOnSubmit","toggleTermsAccepted","togglePrivacyPolicyAccepted","toggleMarketingAccepted","switchFormOnClick","setError","goToPasswordReset","passwordResetModalButtons","Chips","useLibrary","_useLibrary2","sortChips","page","_library$selected","libItem","LibraryFallback","withModel","sorts","StreamsList","VideosList","useMetaDetails","useSeason","useMetaExtensionTabs","metaDetails","_useSeason2","setSeason","_useMetaExtensionTabs2","metaExtensions","metaExtension","clearMetaExtension","metaPath","streamPath","videos","toggleNotifications","libraryItem","noNotif","seasonOnSelect","handleEpisodeSearch","searchVideoHash","searchVideoPath","renderBackgroundImageFallback","renderBackground","_metaDetails$metaItem","overview","onEpisodeSearch","StreamPlaceholder","Stream","videoReleased","addonName","externalPlayer","web","openPlayer","_deepLinks$externalPl","fileName","_deepLinks$externalPl2","streamLink","_deepLinks$externalPl3","markVideoAsWatched","playerType","copyStreamLink","writeText","renderThumbnailFallback","streaming","ios","windows","macos","linux","PlayIconCircleCentered","viewBox","cx","cy","SeasonEpisodePicker","ALL_ADDONS_KEY","streamsContainerRef","selectedAddon","setSelectedAddon","onAddonSelected","showInstallAddonsButton","_profile$auth","isNewUser","countLoadingAddons","streamsByAddon","filteredStreams","flat","selectableOptions","handleEpisodePicker","SeasonsBarPlaceholder","SeasonsBar","seasons","selectedSeason","prevNextButtonOnClick","seasonIndex","valueIndex","prevDisabled","nextDisabled","Toggle","EpisodePicker","showNotificationsToggle","_metaItem$content","_metaItem$content2","video_id","nonSpecialSeasons","videosForSeason","guessStream","extension","setSelected","BufferingLoader","fallbackSrc","SeekBar","VolumeSlider","ControlBar","nextVideo","statistics","onPlayRequested","onPauseRequested","onNextVideoRequested","onMuteRequested","onUnmuteRequested","onVolumeChangeRequested","onSeekRequested","onToggleSubtitlesMenu","onToggleAudioMenu","onToggleSpeedMenu","onToggleSideDrawer","onToggleOptionsMenu","onToggleStatisticsMenu","chromecastServiceActive","setChromecastServiceActive","buttonsMenuOpen","toggleButtonsMenu","onSubtitlesButtonMouseDown","subtitlesMenuClosePrevented","onAudioButtonMouseDown","audioMenuClosePrevented","onSpeedButtonMouseDown","speedMenuClosePrevented","onVideosButtonMouseDown","videosMenuClosePrevented","onOptionsButtonMouseDown","optionsMenuClosePrevented","onStatisticsButtonMouseDown","statisticsMenuClosePrevented","onPlayPauseButtonClick","onNextVideoButtonClick","onMuteButtonClick","onChromecastButtonClick","requestSession","onStateChanged","isMobile","formatTime","seekTime","setSeekTime","remainingTimeMode","toggleRemainingTimeMode","resetTimeDebounced","formatUnit","minutes","slidingVolume","setSlidingVolume","maxVolume","resetVolumeDebounced","_stream$deepLinks","_stream$deepLinks2","NextVideoPopup","onDismiss","blurPosterImage","watchNowButtonRef","animationEnded","setAnimationEnded","videoName","onDismissButtonClick","onWatchNowButtonClick","Option","deviceId","onButtonClick","OptionsMenu","playbackDevices","streamingUrl","downloadUrl","externalDevices","subtitlesTrackUrl","_track$fallbackUrl","onCopyStreamButtonClick","onDownloadVideoButtonClick","onDownloadSubtitlesClick","onExternalDeviceRequested","Transition","ContextMenu","VolumeChangeIndicator","StatisticsMenu","SubtitlesMenu","AudioMenu","SpeedMenu","SideDrawerButton","SideDrawer","usePlayer","useStatistics","useVideo","Indicator","_player$metaItem","_player$metaItem2","_player$selected","_player$metaItem3","_player$metaItem4","_player$selected2","_usePlayer2","videoParamsChanged","timeChanged","seek","pausedChanged","_useSettings2","updateSettings","setSeeking","casting","setCasting","bufferingRef","_React$useState6","immersed","setImmersed","setImmersedDebounced","toggleFullscreen","optionsMenuOpen","closeOptionsMenu","toggleOptionsMenu","subtitlesMenuOpen","closeSubtitlesMenu","toggleSubtitlesMenu","_useBinaryState6","audioMenuOpen","closeAudioMenu","toggleAudioMenu","_useBinaryState8","speedMenuOpen","closeSpeedMenu","toggleSpeedMenu","_useBinaryState10","statisticsMenuOpen","closeStatisticsMenu","toggleStatisticsMenu","_useBinaryState12","nextVideoPopupOpen","openNextVideoPopup","closeNextVideoPopup","_useBinaryState14","sideDrawerOpen","closeSideDrawer","toggleSideDrawer","menusOpen","closeMenus","overlayHidden","nextVideoPopupDismissed","defaultSubtitlesSelected","defaultAudioTrackSelected","_React$useState8","isNavigating","onImplementationChanged","handleNextVideoNavigation","onEnded","playerNextVideo","onSubtitlesTrackLoaded","onExtraSubtitlesTrackLoaded","onExtraSubtitlesTrackAdded","setExtraSubtitlesTrack","onPlayRequestedDebounced","onPauseRequestedDebounced","_video$state$manifest","onPlaybackSpeedChanged","onSubtitlesTrackSelected","setSubtitlesTrack","onExtraSubtitlesTrackSelected","onAudioTrackSelected","onExtraSubtitlesDelayChanged","onIncreaseSubtitlesDelay","onDecreaseSubtitlesDelay","onSubtitlesSizeChanged","onUpdateSubtitlesSize","sizeIndex","onSubtitlesOffsetChanged","onDismissNextVideoPopup","onVideoClick","onVideoDoubleClick","onContainerMouseDown","onContainerMouseMove","immersePrevented","onContainerMouseLeave","onBarMouseMove","addLocalSubtitles","_streamingServer$sett","unload","streamRequest","surroundSound","addExtraSubtitlesTracks","_video$state$manifest2","bingeWatching","nextVideoNotificationDuration","findTrackByLang","_langs$where","subtitlesLanguage","subtitlesTrack","extraSubtitlesTrack","audioLanguage","_langs$where2","toastFilter","_item$dataset","onCastStateChange","onChromecastServiceStateChange","CastContextEventType","CAST_STATE_CHANGED","pauseOnMinimize","windowHidden","seekDuration","seekShortTimeDuration","seekTimeDuration","escExitFullscreen","autoClose","when","onExtraSubtitlesOffsetChanged","onExtraSubtitlesSizeChanged","streamTransportUrl","metaTransportUrl","OptionButton","RATES","onOptionSelect","peers","completed","Stepper","ORIGIN_PRIORITIES","LANGUAGE_PRIORITIES","subtitlesLanguages","selectedSubtitlesLanguage","subtitlesTracksForLanguage","subtitlesLanguageOnClick","subtitlesTrackOnClick","onSubtitlesDelayChanged","volumeIndicatorOpen","openVolumeIndicator","closeVolumeIndicator","volumeChangeTimeout","prevVolume","iconName","metaRequest","subtitlesPath","_streamingServer$stat","downloadSpeed","streamProgress","getStatistics","interval","useSearch","_useSearch2","loadSearchRows","reduceRight","SearchFallback","_queryParams$get","dataExport","exportUrl","loadDataExport","streamingServerUrls","addServerUrl","isValidUrl","deleteServerUrl","selectServerUrl","reloadServer","ChromecastTransport","starting","onTransportInit","onTransportInitError","MESSAGE_NAMESPACE","castAPIAvailable","castAPIEvents","available","messages","_JSON$parse","parsedMessage","onApplicationStatusChanged","CastSession","APPLICATION_STATUS_CHANGED","onApplicationMetadataChanged","APPLICATION_METADATA_CHANGED","onActiveInputStateChanged","ACTIVE_INPUT_STATE_CHANGED","onVolumeChanged","VOLUME_CHANGED","onMediaSessionChanged","MEDIA_SESSION","onCastStateChanged","onSesstionStateChanged","SESSION_STATE_CHANGED","sessionState","SessionState","SESSION_STARTED","session","addMessageListener","SESSION_ENDED","removeMessageListener","onCastAPIAvailabilityChanged","CastContext","getInstance","getSessionState","getCurrentSession","endCurrentSession","stopCasting","castSession","serializedMessage","chunksCount","CoreTransport","onTransportError","Bridge","bridge","getDebugState","_callee3","_context3","_callee4","_context4","_x4","_callee5","_context5","_x5","_onDrop","files","FileList","keyboardShortcutPrevented","ServicesContext","_ref$services","ShellTransport","QtMsgTypes","QtObjId","webChannelTransport","properties","shellVersionArr","signals","sig","onEvent","methods","__createBinding","k2","__setModuleDefault","__importStar","ar","mod","__importDefault","react_1","react_2","react_i18next_1","services_1","common_1","components_1","UpdaterBanner_less_1","UpdaterBanner_1","__spreadArray","useFileDrop","classnames_1","utils_1","FileDropContext","setListeners","setActive","file_1","isFileType","listerner","FileDrop_1","onFileDrop_1","SIGNATURES","signature","signatureBuffer","bufferToCompare","CONSTANTS_1","device_1","PlatformContext","hostname_1","finalUrl","endsWith","bowser_1","maxTouchPoints","isIOS","isVisionOS","Platform_1","alpha2","alpha3","useShell_1","useSettings_1","setFullscreen","fullscreenElement","onWindowVisibilityChanged","isFullscreen","onFullscreenChange","inputFocused","isContentEditable","interfaceLanguages_json_1","userLangCode","isLanguageDropdown","sortedOptions","matchingIndex","matchingOption","otherOptions","windowHeight","setWindowHeight","windowWidth","setWindowWidth","orientation","handleResize","handleClickOutside","useProfile_1","ShellEventType","eventemitter3_1","webview","setWindowClosed","setWindowHidden","onWindowStateChanged","SIGNAL","methodName","methodArg","INVOKE_METHOD","react_dom_1","useBinaryState_1","useOrientation_1","BottomSheet_less_1","setStartOffset","setOffset","opened","containerStyle","containerHeight","BottomSheet_1","__rest","use_long_press_1","Button_less_1","longPress","useLongPress","LongPressEventType","Pointer","click","buttonBlurPrevented","Button_1","Checkbox_less_1","handleSelect","Checkbox_1","Chip_less_1","Chip","onselect","block","inline","Chip_1","Chips_less_1","HorizontalScroll","Chips_1","ModalDialog_1","ColorPicker_1","ColorInput_less_1","modalOpen","openModal","closeModal","tempValue","setTempValue","labelButtonStyle","isTransparent","labelButtonOnClick","openModalPrevented","modalDialogOnClick","colorPickerOnInput","ColorInput_1","ContextMenu_less_1","setPosition","containerSize","setContainerSize","viewportWidth","viewportHeight","containerWidth","handleKeyDown","ContextMenu_1","HorizontalScroll_less_1","scrollPosition","setScrollPosition","HorizontalScroll_1","broken","setBroken","Image_1","NavBar_1","MainNavBars_less_1","TABS","MainNavBars_1","useRating_1","Ratings_less_1","onLiked","onLoved","liked","loved","Ratings_1","setRating","Option_1","Dropdown_less_1","setLevel","optionsRef","selectedOption","handleSetOptionRef","optionValue","handleBackClick","selectedNode","selectedValue","Option_less_1","handleClick","Dropdown_1","MultiselectMenu_less_1","useOutsideClick_1","multiselectMenuRef","MultiselectMenu_1","NumberInput_less_1","NumberInput","showButtons","displayValue","handleValueChange","clampValueToRange","minValue","handleInputChange","valueAsNumber","containerClassName","NumberInput_1","RadioButton_less_1","RadioButton_1","styles_less_1","autoCorrect","autoCapitalize","TextInput_1","Toggle_less_1","Toggle_1","setElement","mounted","setMounted","animationClass","activeClass","Transition_1","RadioButton","ColorInput","BottomSheet","AddonDetailsModal_1","ContinueWatchingItem_1","DelayedRenderer_1","EventModal_1","LibItem_1","MetaItem_1","MetaPreview_1","MetaRow_1","Multiselect_1","Popup_1","SearchBar_1","SharePrompt_1","Slider_1","Video_1","AddonPlaceholder_less_1","AddonPlaceholder_1","CoreSuspender_1","StreamingServerWarning_less_1","createDismissalDate","months","years","dismissalDate","setMonth","getMonth","setFullYear","onLater","StreamingServerWarning_1","Selector_1","Table_1","List_1","Details_1","Placeholder_1","useCalendar_1","useCalendarDate_1","Calendar_less_1","toDayMonth","detailsTitle","monthInfo","Details_less_1","Item_less_1","today","ItemPlaceholder","Item","Item_1","ItemPlaceholder_1","List_less_1","filteredItems","Placeholder_less_1","Selector_less_1","toMonth","onPrev","onNext","Cell_less_1","onPosterClick","Table_less_1","Cell_1","WEEK_DAYS","cellsOffset","firstWeekday","Calendar_1","calendarDate","setDate","toMonthYear","__awaiter","_arguments","generator","fulfilled","rejected","__generator","trys","ops","Iterator","verb","op","hat_1","STREMIO_URL","tries","waitForCredentials","e_1","getCredentials","fbLoginToken","EpisodePicker_less_1","splitPath","pathSeason","pathEpisode","initialSeason","initialEpisode","setEpisode","handleSeasonChange","handleEpisodeChange","EpisodePicker_1","AudioMenu_less_1","onAudioTrackClick","AudioMenu_1","i18next_1","Indicator_less_1","PROPERTIES","prevVideoState","shown","setCurrent","SeasonsBar_1","SideDrawer_less_1","selectedVideoRef","SideDrawer_1","SideDrawerButton_less_1","SideDrawerButton_1","Stepper_less_1","localValue","updateValue","minClamped","onDecrementMouseDown","onDecrementMouseUp","onIncrementMouseDown","onIncrementMouseUp","Stepper_1","components_2","User_1","useDataExport_1","General_less_1","useGeneralOptions_1","General","_g","_h","interfaceLanguageSelect","quitOnCloseToggle","escExitFullscreenToggle","hideSpoilersToggle","_k","traktAuthStarted","setTraktAuthStarted","isTraktAuthenticated","trakt","created_at","expires_in","onExportData","onCalendarSubscribe","onToggleTrakt","Section","Link","User_less_1","onLogout","General_1","interfaceLanguageOptions","Info_less_1","serverVersion","Info_1","constants_1","Menu_less_1","SECTIONS","GENERAL","PLAYER","STREAMING","SHORTCUTS","Menu_1","usePlayerOptions_1","subtitlesLanguageSelect","subtitlesSizeSelect","subtitlesTextColorInput","subtitlesBackgroundColorInput","subtitlesOutlineColorInput","audioLanguageSelect","surroundSoundToggle","seekTimeDurationSelect","seekShortTimeDurationSelect","playInExternalPlayerSelect","nextVideoPopupDurationSelect","bingeWatchingToggle","playInBackgroundToggle","hardwareDecodingToggle","pauseOnMinimizeToggle","Category","Player_1","LANGUAGES_NAMES","languageOptions","sortedLanguageOptions","playInBackground","lodash_throttle_1","stremio_router_1","Streaming_1","Shortcuts_1","Settings_less_1","sectionsContainerRef","generalSectionRef","playerSectionRef","streamingServerSectionRef","shortcutsSectionRef","sections","selectedSectionId","setSelectedSectionId","updateSelectedSectionId","onMenuSelect","section","onContainerScroll","Shortcuts_less_1","Shortcuts","URLsManager_1","useStreamingOptions_1","Streaming_less_1","Streaming","streamingServerRemoteUrlInput","remoteEndpointSelect","cacheSizeSelect","torrentProfileSelect","transcodingProfileSelect","onCopyRemoteUrl","remoteUrl","AddItem_less_1","onCancel","handleAddUrl","inputValue","setInputValue","onSumbit","AddItem_1","useStreamingServer_1","useStreamingServerUrls_1","defaultUrl","handleDelete","URLsManager_less_1","addMode","setAddMode","lodash_isequal_1","CACHE_SIZES","cacheSizeToString","TORRENT_PROFILES","btDownloadSpeedHardLimit","btDownloadSpeedSoftLimit","btHandshakeTimeout","btMaxConnections","btMinPeersForStable","btRequestTimeout","soft","networkInfo","deviceInfo","availableInterfaces","address","remoteHttps","cacheSize","selectedTorrentProfile","isCustomTorrentProfileSelected","torrentProfile","profileName","availableHardwareAccelerations","transcodeProfile","Category_less_1","Category_1","Link_less_1","Link_1","Section_less_1","Section_1","Settings_1","javascript","http","https","ftp","gopher","Mouse","Touch","CancelledByMovement","CancelledByRelease","CancelledOutsideElement","PointerEvent","TouchEvent","MouseEvent","LongPressCallbackReason","captureEvent","cancelOnMovement","cancelOutsideElement","filterEvents","onMove","onFinish","onPointerMove","onPointerUp","onPointerLeave","VTTRegion","makeColorSet","fontScale","observe","subject","topic","fontColor","Services","prefs","getCharPref","fontOpacity","getIntPref","WebVTTSet","fontSet","backgroundOpacity","backgroundSet","edgeType","edgeColor","edgeSet","pref","addObserver","_objCreate","ParsingError","Errors","BadSignature","BadTimeStamp","ESCAPE","TAG_NAME","ruby","TAG_ANNOTATION","NEEDS_PARENT","parseContent","nextToken","unescape1","shouldAdd","localName","annotation","rootDiv","tagStack","createProcessingInstruction","strongRTLRanges","isStrongRTLChar","currentRange","StyleBox","CueStyleBox","styleOptions","isIE8","cueDiv","writingMode","unicodeBidi","applyStyles","div","font","nodeStack","pushNodes","nextTextNode","determineBidi","stylesunicodeBidi","textPos","positionAlign","formatStyle","move","BoxPosition","rects","getClientRects","moveBoxToLinePosition","styleBox","containerBox","boxPositions","boxPosition","linePos","trackList","computeLinePos","axis","maxPosition","initialAxis","calculatedPercentage","bestPosition","specifiedPosition","percentage","overlapsOppositeAxis","within","overlapsAny","intersectPercentage","findBestPosition","toCSSCompatValues","toMove","overlaps","b2","getSimpleBoxPosition","cuetext","processCues","overlay","paddedOverlay","shouldCompute","reportOrThrowError","ontimestampmap","parseTimestampMap","xy","anchor","lines","regionAnchorX","regionAnchorY","viewportAnchorX","viewportAnchorY","scroll","onregion","parseRegion","linebyline","errCb","vals0","fromJSON","directionSetting","alignSetting","scrollSetting","isValidPercentValue","_width","_lines","_regionAnchorX","_regionAnchorY","_viewportAnchorX","_viewportAnchorY","_scroll","findScrollSetting","regeneratorRuntime","accidentalStrictMode","classes","appendClass","parseValue","newClass","ICONS","paths","fillRule","clipRule","imdb","reddit","youtube","vlc","remote","stroke","strokeLinecap","strokeLinejoin","help","home","memory","megaphone","actors","anime","movies","heart","maximize","minimize","scale","person","glasses","star","checkmark","network","about","grid","share","warning","hourglass","chapters","episodes","eye","bin","src_default","voidElement","comment","alreadyWarned","warnOnce","loadedClb","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","setDefaults","getDefaults","i18nInstance","setI18n","getI18n","hasChildren","checkLength","getChildren","i18nIsDynamicList","getAsArray","nodesToString","i18nOptions","stringNode","childrenArray","keepArray","childIndex","childPropsCount","shouldKeepChild","childChildren","renderNodes","targetString","combinedTOpts","shouldUnescape","emptyChildrenButNeedsHandling","keep","getData","childs","ast","renderInner","rootReactNode","mappedChildren","mapAST","hasValidReactChildren","pushTranslatedJSX","inner","isVoid","dummy","reactNode","astNode","reactNodes","translationContent","mergeProps","isValidTranslationWithChildren","isEmptyTransWithHTML","isKnownComponent","wrapTextNodes","Trans","i18nKey","tOptions","i18nFromProps","tFromProps","additionalProps","reactI18nextOptions","react","nodeAsString","hashTransKey","interpolationOverride","translation","componentKey","comp","useAsParent","defaultTransParent","initReactI18next","I18nContext","ReportNamespaces","usedNamespaces","addUsedNamespaces","getUsedNamespaces","composeInitialProps","ForComponent","getInitialProps","reportNamespaces","initialI18nStore","initialLanguage","i18nFromContext","defaultNSFromContext","alwaysNewT","notReadyT","optsOrDefaultValue","retNotReady","memoGetT","useMemoizedT","nsMode","getT","getNewT","setT","joinedNS","previousJoinedNS","ignore","usePrevious","boundReset","withTranslation","I18nextWithTranslation","forwardedRef","passDownProps","tReady","withRef","Translation","I18nextProvider","useSSR","lngResources","initializedLanguageOnce","withSSR","I18nextWithSSR","plural","selectOrdinal","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","nmd","scriptUrl","importScripts","currentScript","scripts","_document$querySelect","_window$navigator","_browser$platform","stremioTranslations","translations","getElementById","serviceWorker","register","registrationError"],"sourceRoot":""} \ No newline at end of file diff --git a/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/worker.js b/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/worker.js deleted file mode 100644 index 1bb89d77b..000000000 --- a/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/worker.js +++ /dev/null @@ -1,2 +0,0 @@ -(()=>{var t={72888:(t,e,n)=>{"use strict";var r=n(33112),o=r(n(60326)),a=r(n(37731));t.exports=function(t,e){e.addEventListener("message",(function(){var n=(0,a.default)(o.default.mark((function n(r){var a,i,u,c,f,s,_;return o.default.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(a=r.data.request){n.next=3;break}return n.abrupt("return");case 3:if(i=a.id,u=a.path,c=a.args,n.prev=4,"function"!=typeof(f=u.reduce((function(t,e){return t[e]}),t))){n.next=13;break}return _=u.slice(0,u.length-1).reduce((function(t,e){return t[e]}),t),n.next=10,f.apply(_,c);case 10:s=n.sent,n.next=16;break;case 13:return n.next=15,f;case 15:s=n.sent;case 16:e.postMessage({response:{id:i,result:{data:s}}}),n.next=22;break;case 19:n.prev=19,n.t0=n.catch(4),e.postMessage({response:{id:i,result:{error:n.t0}}});case 22:case"end":return n.stop()}}),n,null,[[4,19]])})));return function(t){return n.apply(this,arguments)}})()),this.call=(function(){var t=(0,a.default)(o.default.mark((function t(n,r){var a;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=Math.random().toString(32).slice(2),t.abrupt("return",new Promise((function(t,o){e.addEventListener("message",(function n(r){var i=r.data.response;i&&i.id===a&&(e.removeEventListener("message",n),"error"in i.result?o(i.result.error):t(i.result.data))})),e.postMessage({request:{id:a,path:n,args:r}})})));case 2:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}})()}},67001:(t,e,n)=>{"use strict";var r=n(33112);Object.defineProperty(e,"__esModule",{value:!0}),e.analytics=function(t,e){o.analytics(p(t),p(e))},e.decode_stream=function(t){return k(o.decode_stream(p(t)))},e.default=void 0,e.dispatch=function(t,e,n){o.dispatch(p(t),p(e),p(n))},e.get_debug_state=function(){return k(o.get_debug_state())},e.get_state=function(t){return k(o.get_state(p(t)))},e.initialize_runtime=function(t){return k(o.initialize_runtime(p(t)))},e.start=function(){o.start()};var o,a=r(n(60326)),i=r(n(37731)),u=r(n(77900)),c={url:new URL("/stremio_core_web.js",document.baseURI).href},f=new Array(32).fill(void 0);function s(t){return f[t]}function _(t){if("boolean"!=typeof t)throw new Error("expected a boolean argument")}f.push(void 0,null,!0,!1);var l=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});l.decode();var b=null;function g(){return null!==b&&b.buffer===o.memory.buffer||(b=new Uint8Array(o.memory.buffer)),b}function d(t,e){return l.decode(g().subarray(t,t+e))}var w=f.length;function p(t){w===f.length&&f.push(f.length+1);var e=w;if("number"!=typeof(w=f[e]))throw new Error("corrupt heap");return f[e]=t,e}var h=0,y=new TextEncoder("utf-8"),v="function"==typeof y.encodeInto?function(t,e){return y.encodeInto(t,e)}:function(t,e){var n=y.encode(t);return e.set(n),{read:t.length,written:n.length}};function m(t,e,n){if("string"!=typeof t)throw new Error("expected a string argument");if(void 0===n){var r=y.encode(t),o=e(r.length);return g().subarray(o,o+r.length).set(r),h=r.length,o}for(var a=t.length,i=e(a),u=g(),c=0;c<a;c++){var f=t.charCodeAt(c);if(f>127)break;u[i+c]=f}if(c!==a){0!==c&&(t=t.slice(c)),i=n(i,a,a=c+3*t.length);var s=g().subarray(i+c,i+a),_=v(t,s);if(_.read!==t.length)throw new Error("failed to pass whole string");c+=_.written}return h=c,i}function x(t){return null==t}var E=null;function S(){return null!==E&&E.buffer===o.memory.buffer||(E=new Int32Array(o.memory.buffer)),E}function k(t){var e=s(t);return(function(t){t<36||(f[t]=w,w=t)})(t),e}function L(t){var e=(0,u.default)(t);if("number"==e||"boolean"==e||null==t)return"".concat(t);if("string"==e)return'"'.concat(t,'"');if("symbol"==e){var n=t.description;return null==n?"Symbol":"Symbol(".concat(n,")")}if("function"==e){var r=t.name;return"string"==typeof r&&r.length>0?"Function(".concat(r,")"):"Function"}if(Array.isArray(t)){var o=t.length,a="[";o>0&&(a+=L(t[0]));for(var i=1;i<o;i++)a+=", "+L(t[i]);return a+="]"}var c,f=/\[object ([^\]]+)\]/.exec(toString.call(t));if(!(f.length>1))return toString.call(t);if("Object"==(c=f[1]))try{return"Object("+JSON.stringify(t)+")"}catch(t){return"Object"}return t instanceof Error?"".concat(t.name,": ").concat(t.message,"\n").concat(t.stack):c}function O(t,e,n,r){var a={a:t,b:e,cnt:1,dtor:n},i=function(){a.cnt++;var t=a.a;a.a=0;try{for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];return r.apply(void 0,[t,a.b].concat(n))}finally{0==--a.cnt?o.__wbindgen_export_2.get(a.dtor)(t,a.b):a.a=t}};return i.original=a,i}function j(t,e){try{return t.apply(this,e)}catch(t){var n=(function(){try{return t instanceof Error?"".concat(t.message,"\n\nStack:\n").concat(t.stack):t.toString()}catch(t){return"<failed to stringify thrown value>"}})();throw console.error("wasm-bindgen: imported JS function that was not marked as `catch` threw an error:",n),t}}function R(t){if("number"!=typeof t)throw new Error("expected a number argument")}function A(t,e){R(t),R(e),o._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc887ea4696f2d2b9(t,e)}function T(t,e,n){R(t),R(e),o._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__ha422fa6c2e941f69(t,e,p(n))}function I(t,e){try{return t.apply(this,e)}catch(t){o.__wbindgen_exn_store(p(t))}}function M(t,e,n,r){R(t),R(e),o.wasm_bindgen__convert__closures__invoke2_mut__h2dbf71f8fed3330e(t,e,p(n),p(r))}function P(t,e){return F.apply(this,arguments)}function F(){return(F=(0,i.default)(a.default.mark((function t(e,n){var r,o;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!("function"==typeof Response&&e instanceof Response)){t.next=23;break}if("function"!=typeof WebAssembly.instantiateStreaming){t.next=15;break}return t.prev=2,t.next=5,WebAssembly.instantiateStreaming(e,n);case 5:case 20:return t.abrupt("return",t.sent);case 8:if(t.prev=8,t.t0=t.catch(2),"application/wasm"==e.headers.get("Content-Type")){t.next=14;break}console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t.t0),t.next=15;break;case 14:throw t.t0;case 15:return t.next=17,e.arrayBuffer();case 17:return r=t.sent,t.next=20,WebAssembly.instantiate(r,n);case 23:return t.next=25,WebAssembly.instantiate(e,n);case 25:if(!((o=t.sent)instanceof WebAssembly.Instance)){t.next=30;break}return t.abrupt("return",{instance:o,module:e});case 30:return t.abrupt("return",o);case 31:case"end":return t.stop()}}),t,null,[[2,8]])})))).apply(this,arguments)}function N(t){return U.apply(this,arguments)}function U(){return U=(0,i.default)(a.default.mark((function t(e){var r,i,f,l;return a.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===e&&(e=new URL("stremio_core_web_bg.wasm",c.url)),(r={}).wbg={},r.wbg.__wbindgen_is_undefined=function(t){var e=void 0===s(t);return _(e),e},r.wbg.__wbindgen_string_new=function(t,e){return p(d(t,e))},r.wbg.__wbindgen_string_get=function(t,e){var n=s(e),r="string"==typeof n?n:void 0,a=x(r)?0:m(r,o.__wbindgen_malloc,o.__wbindgen_realloc),i=h;S()[t/4+1]=i,S()[t/4+0]=a},r.wbg.__wbg_static_accessor_APP_VERSION_8dfb74f2bdb84979=function(){return j((function(t){var e=m(self.app_version,o.__wbindgen_malloc,o.__wbindgen_realloc),n=h;S()[t/4+1]=n,S()[t/4+0]=e}),arguments)},r.wbg.__wbg_static_accessor_SHELL_VERSION_b5f2827368d24c30=function(){return j((function(t){var e=self.shell_version,n=x(e)?0:m(e,o.__wbindgen_malloc,o.__wbindgen_realloc),r=h;S()[t/4+1]=r,S()[t/4+0]=n}),arguments)},r.wbg.__wbg_getlocationhash_2db688926cee2ab0=function(){return I((function(){return p(self.get_location_hash())}),arguments)},r.wbg.__wbg_localstoragegetitem_846f36d20f63b400=function(){return I((function(t,e){try{return p(self.local_storage_get_item(d(t,e)))}finally{o.__wbindgen_free(t,e)}}),arguments)},r.wbg.__wbg_localstoragesetitem_07700f560e5ca32f=function(){return I((function(t,e,n,r){try{return p(self.local_storage_set_item(d(t,e),d(n,r)))}finally{o.__wbindgen_free(t,e),o.__wbindgen_free(n,r)}}),arguments)},r.wbg.__wbg_localstorageremoveitem_f33a9f80a9c23382=function(){return I((function(t,e){try{return p(self.local_storage_remove_item(d(t,e)))}finally{o.__wbindgen_free(t,e)}}),arguments)},r.wbg.__wbindgen_object_drop_ref=function(t){k(t)},r.wbg.__wbg_error_09919627ac0992f5=function(){return j((function(t,e){try{console.error(d(t,e))}finally{o.__wbindgen_free(t,e)}}),arguments)},r.wbg.__wbg_new_693216e109162396=function(){return j((function(){return p(new Error)}),arguments)},r.wbg.__wbg_stack_0ddaca5d1abfb52f=function(){return j((function(t,e){var n=m(s(e).stack,o.__wbindgen_malloc,o.__wbindgen_realloc),r=h;S()[t/4+1]=r,S()[t/4+0]=n}),arguments)},r.wbg.__wbindgen_is_object=function(t){var e=s(t),n="object"===(0,u.default)(e)&&null!==e;return _(n),n},r.wbg.__wbindgen_is_string=function(t){var e="string"==typeof s(t);return _(e),e},r.wbg.__wbg_crypto_1dc1c51d9d27e0dd=function(){return j((function(t){return p(s(t).crypto)}),arguments)},r.wbg.__wbg_msCrypto_4ef1b0e1cd4cedbb=function(){return j((function(t){return p(s(t).msCrypto)}),arguments)},r.wbg.__wbg_getRandomValues_3293819ebec805bc=function(){return I((function(t,e){s(t).getRandomValues(s(e))}),arguments)},r.wbg.__wbg_randomFillSync_d84d19ffc1d700ed=function(){return I((function(t,e){s(t).randomFillSync(k(e))}),arguments)},r.wbg.__wbg_require_3f60396135018b0f=function(){return I((function(){return p(l.require)}),arguments)},r.wbg.__wbg_process_65edac0b2f0a8427=function(){return j((function(t){return p(s(t).process)}),arguments)},r.wbg.__wbg_versions_0d0eed1c1b42b216=function(){return j((function(t){return p(s(t).versions)}),arguments)},r.wbg.__wbg_node_82761bdd6eaac7e7=function(){return j((function(t){return p(s(t).node)}),arguments)},r.wbg.__wbg_mark_abc7631bdced64f0=function(){return j((function(t,e){performance.mark(d(t,e))}),arguments)},r.wbg.__wbg_measure_c528ff64085b7146=function(){return I((function(t,e,n,r){try{performance.measure(d(t,e),d(n,r))}finally{o.__wbindgen_free(t,e),o.__wbindgen_free(n,r)}}),arguments)},r.wbg.__wbg_log_02e20a3c32305fb7=function(){return j((function(t,e){try{console.log(d(t,e))}finally{o.__wbindgen_free(t,e)}}),arguments)},r.wbg.__wbg_log_5c7513aa8c164502=function(){return j((function(t,e,n,r,a,i,u,c){try{console.log(d(t,e),d(n,r),d(a,i),d(u,c))}finally{o.__wbindgen_free(t,e)}}),arguments)},r.wbg.__wbindgen_cb_drop=function(t){var e=k(t).original;if(1==e.cnt--)return e.a=0,!0;var n=!1;return _(n),n},r.wbg.__wbindgen_object_clone_ref=function(t){return p(s(t))},r.wbg.__wbg_newwithstrandinit_9b0fa00478c37287=function(){return I((function(t,e,n){return p(new Request(d(t,e),s(n)))}),arguments)},r.wbg.__wbg_instanceof_Response_e1b11afbefa5b563=function(){return j((function(t){var e=s(t)instanceof Response;return _(e),e}),arguments)},r.wbg.__wbg_status_6d8bb444ddc5a7b2=function(){return j((function(t){var e=s(t).status;return R(e),e}),arguments)},r.wbg.__wbg_text_8279d34d73e43c68=function(){return I((function(t){return p(s(t).text())}),arguments)},r.wbg.__wbg_language_cd6e22892ba36a1f=function(){return j((function(t,e){var n=s(e).language,r=x(n)?0:m(n,o.__wbindgen_malloc,o.__wbindgen_realloc),a=h;S()[t/4+1]=a,S()[t/4+0]=r}),arguments)},r.wbg.__wbg_instanceof_WorkerGlobalScope_f191ca0158f5637b=function(){return j((function(t){var e=s(t)instanceof WorkerGlobalScope;return _(e),e}),arguments)},r.wbg.__wbg_navigator_8bc0889cda8f8500=function(){return j((function(t){return p(s(t).navigator)}),arguments)},r.wbg.__wbg_fetch_b4e81012e07ff95a=function(){return j((function(t,e){return p(s(t).fetch(s(e)))}),arguments)},r.wbg.__wbg_setInterval_a02797f5ab1c7eb1=function(){return I((function(t,e,n){var r=s(t).setInterval(s(e),n);return R(r),r}),arguments)},r.wbg.__wbindgen_number_new=function(t){return p(t)},r.wbg.__wbg_instanceof_Error_561efcb1265706d8=function(){return j((function(t){var e=s(t)instanceof Error;return _(e),e}),arguments)},r.wbg.__wbg_message_9f7d15ff97fc4102=function(){return j((function(t){return p(s(t).message)}),arguments)},r.wbg.__wbg_newnoargs_be86524d73f67598=function(){return j((function(t,e){return p(new Function(d(t,e)))}),arguments)},r.wbg.__wbg_call_888d259a5fefc347=function(){return I((function(t,e){return p(s(t).call(s(e)))}),arguments)},r.wbg.__wbg_call_346669c262382ad7=function(){return I((function(t,e,n){return p(s(t).call(s(e),s(n)))}),arguments)},r.wbg.__wbg_getTimezoneOffset_d3e5a22a1b7fb1d8=function(){return j((function(t){return s(t).getTimezoneOffset()}),arguments)},r.wbg.__wbg_new_f11872bb9bb9d781=function(){return j((function(t){return p(new Date(s(t)))}),arguments)},r.wbg.__wbg_now_af172eabe2e041ad=function(){return j((function(){return Date.now()}),arguments)},r.wbg.__wbg_new_0b83d3df67ecb33e=function(){return j((function(){return p(new Object)}),arguments)},r.wbg.__wbg_new_b1d61b5687f5e73a=function(){return j((function(t,e){try{var n={a:t,b:e},r=new Promise((function(t,e){var r=n.a;n.a=0;try{return M(r,n.b,t,e)}finally{n.a=r}}));return p(r)}finally{n.a=n.b=0}}),arguments)},r.wbg.__wbg_resolve_d23068002f584f22=function(){return j((function(t){return p(Promise.resolve(s(t)))}),arguments)},r.wbg.__wbg_then_2fcac196782070cc=function(){return j((function(t,e){return p(s(t).then(s(e)))}),arguments)},r.wbg.__wbg_then_8c2d62e8ae5978f7=function(){return j((function(t,e,n){return p(s(t).then(s(e),s(n)))}),arguments)},r.wbg.__wbg_globalThis_3f735a5746d41fbd=function(){return I((function(){return p(globalThis.globalThis)}),arguments)},r.wbg.__wbg_self_c6fbdfc2918d5e58=function(){return I((function(){return p(self.self)}),arguments)},r.wbg.__wbg_window_baec038b5ab35c54=function(){return I((function(){return p(window.window)}),arguments)},r.wbg.__wbg_global_1bc0b39582740e95=function(){return I((function(){return p(n.g.global)}),arguments)},r.wbg.__wbg_new_a7ce447f15ff496f=function(){return j((function(t){return p(new Uint8Array(s(t)))}),arguments)},r.wbg.__wbg_newwithlength_929232475839a482=function(){return j((function(t){return p(new Uint8Array(t>>>0))}),arguments)},r.wbg.__wbg_newwithbyteoffsetandlength_4b9b8c4e3f5adbff=function(){return j((function(t,e,n){return p(new Uint8Array(s(t),e>>>0,n>>>0))}),arguments)},r.wbg.__wbg_subarray_8b658422a224f479=function(){return j((function(t,e,n){return p(s(t).subarray(e>>>0,n>>>0))}),arguments)},r.wbg.__wbg_set_969ad0a60e51d320=function(){return j((function(t,e,n){s(t).set(s(e),n>>>0)}),arguments)},r.wbg.__wbindgen_is_function=function(t){var e="function"==typeof s(t);return _(e),e},r.wbg.__wbg_buffer_397eaa4d72ee94dd=function(){return j((function(t){return p(s(t).buffer)}),arguments)},r.wbg.__wbg_parse_ccb2cd4fe8ead0cb=function(){return I((function(t,e){return p(JSON.parse(d(t,e)))}),arguments)},r.wbg.__wbg_stringify_d4507a59932eed0c=function(){return I((function(t){return p(JSON.stringify(s(t)))}),arguments)},r.wbg.__wbg_set_82a4e8a85e31ac42=function(){return I((function(t,e,n){var r=Reflect.set(s(t),s(e),s(n));return _(r),r}),arguments)},r.wbg.__wbindgen_debug_string=function(t,e){var n=m(L(s(e)),o.__wbindgen_malloc,o.__wbindgen_realloc),r=h;S()[t/4+1]=r,S()[t/4+0]=n},r.wbg.__wbindgen_throw=function(t,e){throw new Error(d(t,e))},r.wbg.__wbindgen_memory=function(){return p(o.memory)},r.wbg.__wbindgen_closure_wrapper34381=function(){return j((function(t,e,n){return p(O(t,e,1340,A))}),arguments)},r.wbg.__wbindgen_closure_wrapper43508=function(){return j((function(t,e,n){return p(O(t,e,1689,T))}),arguments)},("string"==typeof e||"function"==typeof Request&&e instanceof Request||"function"==typeof URL&&e instanceof URL)&&(e=fetch(e)),t.t0=P,t.next=78,e;case 78:return t.t1=t.sent,t.t2=r,t.next=82,(0,t.t0)(t.t1,t.t2);case 82:return i=t.sent,f=i.instance,l=i.module,o=f.exports,N.__wbindgen_wasm_module=l,o.__wbindgen_start(),t.abrupt("return",o);case 89:case"end":return t.stop()}}),t)}))),U.apply(this,arguments)}e.default=N},43139:(t,e,n)=>{"use strict";t.exports=n.p+"47a330ac4a44057e9427ee0c5b2d1f772a7a783f/binaries/stremio_core_web_bg.wasm"},37731:t=>{function e(t,e,n,r,o,a,i){try{var u=t[a](i),c=u.value}catch(t){return void n(t)}u.done?e(c):Promise.resolve(c).then(r,o)}t.exports=function(t){return function(){var n=this,r=arguments;return new Promise((function(o,a){var i=t.apply(n,r);function u(t){e(i,o,a,u,c,"next",t)}function c(t){e(i,o,a,u,c,"throw",t)}u(void 0)}))}},t.exports.__esModule=!0,t.exports.default=t.exports},33112:t=>{t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.__esModule=!0,t.exports.default=t.exports},90867:(t,e,n)=>{var r=n(77900).default;function o(){"use strict";t.exports=o=function(){return n},t.exports.__esModule=!0,t.exports.default=t.exports;var e,n={},a=Object.prototype,i=a.hasOwnProperty,u=Object.defineProperty||function(t,e,n){t[e]=n.value},c="function"==typeof Symbol?Symbol:{},f=c.iterator||"@@iterator",s=c.asyncIterator||"@@asyncIterator",_=c.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(e){l=function(t,e,n){return t[e]=n}}function b(t,e,n,r){var o=e&&e.prototype instanceof v?e:v,a=Object.create(o.prototype),i=new M(r||[]);return u(a,"_invoke",{value:R(t,n,i)}),a}function g(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}n.wrap=b;var d="suspendedStart",w="suspendedYield",p="executing",h="completed",y={};function v(){}function m(){}function x(){}var E={};l(E,f,(function(){return this}));var S=Object.getPrototypeOf,k=S&&S(S(P([])));k&&k!==a&&i.call(k,f)&&(E=k);var L=x.prototype=v.prototype=Object.create(E);function O(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function j(t,e){function n(o,a,u,c){var f=g(t[o],t,a);if("throw"!==f.type){var s=f.arg,_=s.value;return _&&"object"==r(_)&&i.call(_,"__await")?e.resolve(_.__await).then((function(t){n("next",t,u,c)}),(function(t){n("throw",t,u,c)})):e.resolve(_).then((function(t){s.value=t,u(s)}),(function(t){return n("throw",t,u,c)}))}c(f.arg)}var o;u(this,"_invoke",{value:function(t,r){function a(){return new e((function(e,o){n(t,r,e,o)}))}return o=o?o.then(a,a):a()}})}function R(t,n,r){var o=d;return function(a,i){if(o===p)throw Error("Generator is already running");if(o===h){if("throw"===a)throw i;return{value:e,done:!0}}for(r.method=a,r.arg=i;;){var u=r.delegate;if(u){var c=A(u,r);if(c){if(c===y)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===d)throw o=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=p;var f=g(t,n,r);if("normal"===f.type){if(o=r.done?h:w,f.arg===y)continue;return{value:f.arg,done:r.done}}"throw"===f.type&&(o=h,r.method="throw",r.arg=f.arg)}}}function A(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,A(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),y;var a=g(o,t.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,y;var i=a.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,y):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y)}function T(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function M(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(T,this),this.reset(!0)}function P(t){if(t||""===t){var n=t[f];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function n(){for(;++o<t.length;)if(i.call(t,o))return n.value=t[o],n.done=!1,n;return n.value=e,n.done=!0,n};return a.next=a}}throw new TypeError(r(t)+" is not iterable")}return m.prototype=x,u(L,"constructor",{value:x,configurable:!0}),u(x,"constructor",{value:m,configurable:!0}),m.displayName=l(x,_,"GeneratorFunction"),n.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},n.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,x):(t.__proto__=x,l(t,_,"GeneratorFunction")),t.prototype=Object.create(L),t},n.awrap=function(t){return{__await:t}},O(j.prototype),l(j.prototype,s,(function(){return this})),n.AsyncIterator=j,n.async=function(t,e,r,o,a){void 0===a&&(a=Promise);var i=new j(b(t,e,r,o),a);return n.isGeneratorFunction(e)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},O(L),l(L,_,"Generator"),l(L,f,(function(){return this})),l(L,"toString",(function(){return"[object Generator]"})),n.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},n.values=P,M.prototype={constructor:M,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(I),!t)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function r(r,o){return u.type="throw",u.arg=t,n.next=r,o&&(n.method="next",n.arg=e),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],u=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var c=i.call(a,"catchLoc"),f=i.call(a,"finallyLoc");if(c&&f){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!f)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,y):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),I(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;I(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:P(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),y}},n}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},77900:t=>{function e(n){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(n)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},60326:(t,e,n)=>{var r=n(90867)();t.exports=r;try{regeneratorRuntime=r}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,n),a.exports}n.g=(function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}})(),(()=>{var t;n.g.importScripts&&(t=n.g.location+"");var e=n.g.document;if(!t&&e&&(e.currentScript&&"SCRIPT"===e.currentScript.tagName.toUpperCase()&&(t=e.currentScript.src),!t)){var r=e.getElementsByTagName("script");if(r.length)for(var o=r.length-1;o>-1&&(!t||!/^http(s?):/.test(t));)t=r[o--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=t+"../../"})(),(()=>{"use strict";var t=n(33112),e=t(n(60326)),r=t(n(37731)),o=new(n(72888))(self,self);self.init=(function(){var t=(0,r.default)(e.default.mark((function t(a){var i,u,c,f,s,_,l,b,g,d;return e.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=a.appVersion,u=a.shellVersion,self.document={baseURI:self.location.href},self.app_version=i,self.shell_version=u,self.get_location_hash=(0,r.default)(e.default.mark((function t(){return e.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",o.call(["location","hash"],[]));case 1:case"end":return t.stop()}}),t)}))),self.local_storage_get_item=(function(){var t=(0,r.default)(e.default.mark((function t(n){return e.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",o.call(["localStorage","getItem"],[n]));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}})(),self.local_storage_set_item=(function(){var t=(0,r.default)(e.default.mark((function t(n,r){return e.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",o.call(["localStorage","setItem"],[n,r]));case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}})(),self.local_storage_remove_item=(function(){var t=(0,r.default)(e.default.mark((function t(n){return e.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",o.call(["localStorage","removeItem"],[n]));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}})(),c=n(67001),f=c.default,s=c.initialize_runtime,_=c.get_state,l=c.get_debug_state,b=c.dispatch,g=c.analytics,d=c.decode_stream,self.getState=_,self.getDebugState=l,self.dispatch=b,self.analytics=g,self.decodeStream=d,t.next=16,f(n(43139));case 16:return t.next=18,s((function(t){return o.call(["onCoreEvent"],[t])}));case 18:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}})()})()})(); -//# sourceMappingURL=worker.js.map \ No newline at end of file diff --git a/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/worker.js.map b/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/worker.js.map deleted file mode 100644 index a0e91e49c..000000000 --- a/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/worker.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/worker.js","mappings":"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","sources":["webpack://stremio/./node_modules/@stremio/stremio-core-web/bridge.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/stremio_core_web.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/helpers/typeof.js","webpack://stremio/./node_modules/@stremio/stremio-core-web/node_modules/@babel/runtime/regenerator/index.js","webpack://stremio/webpack/bootstrap","webpack://stremio/webpack/runtime/global","webpack://stremio/webpack/runtime/publicPath","webpack://stremio/./node_modules/@stremio/stremio-core-web/worker.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\nfunction getId() {\n return Math.random().toString(32).slice(2);\n}\nfunction Bridge(scope, handler) {\n handler.addEventListener('message', /*#__PURE__*/function () {\n var _ref2 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref) {\n var request, id, path, args, value, data, thisArg;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n request = _ref.data.request;\n if (request) {\n _context.next = 3;\n break;\n }\n return _context.abrupt(\"return\");\n case 3:\n id = request.id, path = request.path, args = request.args;\n _context.prev = 4;\n value = path.reduce(function (value, prop) {\n return value[prop];\n }, scope);\n if (!(typeof value === 'function')) {\n _context.next = 13;\n break;\n }\n thisArg = path.slice(0, path.length - 1).reduce(function (value, prop) {\n return value[prop];\n }, scope);\n _context.next = 10;\n return value.apply(thisArg, args);\n case 10:\n data = _context.sent;\n _context.next = 16;\n break;\n case 13:\n _context.next = 15;\n return value;\n case 15:\n data = _context.sent;\n case 16:\n handler.postMessage({\n response: {\n id: id,\n result: {\n data: data\n }\n }\n });\n _context.next = 22;\n break;\n case 19:\n _context.prev = 19;\n _context.t0 = _context[\"catch\"](4);\n handler.postMessage({\n response: {\n id: id,\n result: {\n error: _context.t0\n }\n }\n });\n case 22:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[4, 19]]);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n this.call = /*#__PURE__*/function () {\n var _ref3 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(path, args) {\n var id;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n id = getId();\n return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n var onMessage = function onMessage(_ref4) {\n var response = _ref4.data.response;\n if (!response || response.id !== id) return;\n handler.removeEventListener('message', onMessage);\n if ('error' in response.result) {\n reject(response.result.error);\n } else {\n resolve(response.result.data);\n }\n };\n handler.addEventListener('message', onMessage);\n handler.postMessage({\n request: {\n id: id,\n path: path,\n args: args\n }\n });\n }));\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x2, _x3) {\n return _ref3.apply(this, arguments);\n };\n }();\n}\nmodule.exports = Bridge;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.analytics = analytics;\nexports.decode_stream = decode_stream;\nexports[\"default\"] = void 0;\nexports.dispatch = dispatch;\nexports.get_debug_state = get_debug_state;\nexports.get_state = get_state;\nexports.initialize_runtime = initialize_runtime;\nexports.start = start;\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\nvar importMeta = {\n url: new URL('/stremio_core_web.js', document.baseURI).href\n};\nvar wasm;\nvar heap = new Array(32).fill(undefined);\nheap.push(undefined, null, true, false);\nfunction getObject(idx) {\n return heap[idx];\n}\nfunction _assertBoolean(n) {\n if (typeof n !== 'boolean') {\n throw new Error('expected a boolean argument');\n }\n}\nvar cachedTextDecoder = new TextDecoder('utf-8', {\n ignoreBOM: true,\n fatal: true\n});\ncachedTextDecoder.decode();\nvar cachegetUint8Memory0 = null;\nfunction getUint8Memory0() {\n if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {\n cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachegetUint8Memory0;\n}\nfunction getStringFromWasm0(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));\n}\nvar heap_next = heap.length;\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n var idx = heap_next;\n heap_next = heap[idx];\n if (typeof heap_next !== 'number') throw new Error('corrupt heap');\n heap[idx] = obj;\n return idx;\n}\nvar WASM_VECTOR_LEN = 0;\nvar cachedTextEncoder = new TextEncoder('utf-8');\nvar encodeString = typeof cachedTextEncoder.encodeInto === 'function' ? function (arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n} : function (arg, view) {\n var buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n};\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (typeof arg !== 'string') throw new Error('expected a string argument');\n if (realloc === undefined) {\n var buf = cachedTextEncoder.encode(arg);\n var _ptr = malloc(buf.length);\n getUint8Memory0().subarray(_ptr, _ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return _ptr;\n }\n var len = arg.length;\n var ptr = malloc(len);\n var mem = getUint8Memory0();\n var offset = 0;\n for (; offset < len; offset++) {\n var code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3);\n var view = getUint8Memory0().subarray(ptr + offset, ptr + len);\n var ret = encodeString(arg, view);\n if (ret.read !== arg.length) throw new Error('failed to pass whole string');\n offset += ret.written;\n }\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\nvar cachegetInt32Memory0 = null;\nfunction getInt32Memory0() {\n if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {\n cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachegetInt32Memory0;\n}\nfunction dropObject(idx) {\n if (idx < 36) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\nfunction takeObject(idx) {\n var ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\nfunction debugString(val) {\n // primitive types\n var type = (0, _typeof2[\"default\"])(val);\n if (type == 'number' || type == 'boolean' || val == null) {\n return \"\".concat(val);\n }\n if (type == 'string') {\n return \"\\\"\".concat(val, \"\\\"\");\n }\n if (type == 'symbol') {\n var description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return \"Symbol(\".concat(description, \")\");\n }\n }\n if (type == 'function') {\n var name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return \"Function(\".concat(name, \")\");\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n var length = val.length;\n var debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for (var i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n var builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n var className;\n if (builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return \"\".concat(val.name, \": \").concat(val.message, \"\\n\").concat(val.stack);\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\nfunction makeMutClosure(arg0, arg1, dtor, f) {\n var state = {\n a: arg0,\n b: arg1,\n cnt: 1,\n dtor: dtor\n };\n var real = function real() {\n // First up with a closure we increment the internal reference\n // count. This ensures that the Rust closure environment won't\n // be deallocated while we're invoking it.\n state.cnt++;\n var a = state.a;\n state.a = 0;\n try {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return f.apply(void 0, [a, state.b].concat(args));\n } finally {\n if (--state.cnt === 0) {\n wasm.__wbindgen_export_2.get(state.dtor)(a, state.b);\n } else {\n state.a = a;\n }\n }\n };\n real.original = state;\n return real;\n}\nfunction logError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n var error = function () {\n try {\n return e instanceof Error ? \"\".concat(e.message, \"\\n\\nStack:\\n\").concat(e.stack) : e.toString();\n } catch (_) {\n return \"<failed to stringify thrown value>\";\n }\n }();\n console.error(\"wasm-bindgen: imported JS function that was not marked as `catch` threw an error:\", error);\n throw e;\n }\n}\nfunction _assertNum(n) {\n if (typeof n !== 'number') throw new Error('expected a number argument');\n}\nfunction __wbg_adapter_28(arg0, arg1) {\n _assertNum(arg0);\n _assertNum(arg1);\n wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc887ea4696f2d2b9(arg0, arg1);\n}\nfunction __wbg_adapter_31(arg0, arg1, arg2) {\n _assertNum(arg0);\n _assertNum(arg1);\n wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__ha422fa6c2e941f69(arg0, arg1, addHeapObject(arg2));\n}\n\n/**\n*/\nfunction start() {\n wasm.start();\n}\n\n/**\n* @param {Function} emit_to_ui\n* @returns {Promise<void>}\n*/\nfunction initialize_runtime(emit_to_ui) {\n var ret = wasm.initialize_runtime(addHeapObject(emit_to_ui));\n return takeObject(ret);\n}\n\n/**\n* @returns {any}\n*/\nfunction get_debug_state() {\n var ret = wasm.get_debug_state();\n return takeObject(ret);\n}\n\n/**\n* @param {any} field\n* @returns {any}\n*/\nfunction get_state(field) {\n var ret = wasm.get_state(addHeapObject(field));\n return takeObject(ret);\n}\n\n/**\n* @param {any} action\n* @param {any} field\n* @param {any} location_hash\n*/\nfunction dispatch(action, field, location_hash) {\n wasm.dispatch(addHeapObject(action), addHeapObject(field), addHeapObject(location_hash));\n}\n\n/**\n* @param {any} event\n* @param {any} location_hash\n*/\nfunction analytics(event, location_hash) {\n wasm.analytics(addHeapObject(event), addHeapObject(location_hash));\n}\n\n/**\n* @param {any} stream\n* @returns {any}\n*/\nfunction decode_stream(stream) {\n var ret = wasm.decode_stream(addHeapObject(stream));\n return takeObject(ret);\n}\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n wasm.__wbindgen_exn_store(addHeapObject(e));\n }\n}\nfunction __wbg_adapter_117(arg0, arg1, arg2, arg3) {\n _assertNum(arg0);\n _assertNum(arg1);\n wasm.wasm_bindgen__convert__closures__invoke2_mut__h2dbf71f8fed3330e(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));\n}\nfunction load(_x, _x2) {\n return _load.apply(this, arguments);\n}\nfunction _load() {\n _load = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(module, imports) {\n var bytes, instance;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (!(typeof Response === 'function' && module instanceof Response)) {\n _context.next = 23;\n break;\n }\n if (!(typeof WebAssembly.instantiateStreaming === 'function')) {\n _context.next = 15;\n break;\n }\n _context.prev = 2;\n _context.next = 5;\n return WebAssembly.instantiateStreaming(module, imports);\n case 5:\n return _context.abrupt(\"return\", _context.sent);\n case 8:\n _context.prev = 8;\n _context.t0 = _context[\"catch\"](2);\n if (!(module.headers.get('Content-Type') != 'application/wasm')) {\n _context.next = 14;\n break;\n }\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", _context.t0);\n _context.next = 15;\n break;\n case 14:\n throw _context.t0;\n case 15:\n _context.next = 17;\n return module.arrayBuffer();\n case 17:\n bytes = _context.sent;\n _context.next = 20;\n return WebAssembly.instantiate(bytes, imports);\n case 20:\n return _context.abrupt(\"return\", _context.sent);\n case 23:\n _context.next = 25;\n return WebAssembly.instantiate(module, imports);\n case 25:\n instance = _context.sent;\n if (!(instance instanceof WebAssembly.Instance)) {\n _context.next = 30;\n break;\n }\n return _context.abrupt(\"return\", {\n instance: instance,\n module: module\n });\n case 30:\n return _context.abrupt(\"return\", instance);\n case 31:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[2, 8]]);\n }));\n return _load.apply(this, arguments);\n}\nfunction init(_x3) {\n return _init.apply(this, arguments);\n}\nfunction _init() {\n _init = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(input) {\n var imports, _yield$load, instance, module;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (typeof input === 'undefined') {\n input = new URL('stremio_core_web_bg.wasm', importMeta.url);\n }\n imports = {};\n imports.wbg = {};\n imports.wbg.__wbindgen_is_undefined = function (arg0) {\n var ret = getObject(arg0) === undefined;\n _assertBoolean(ret);\n return ret;\n };\n imports.wbg.__wbindgen_string_new = function (arg0, arg1) {\n var ret = getStringFromWasm0(arg0, arg1);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_string_get = function (arg0, arg1) {\n var obj = getObject(arg1);\n var ret = typeof obj === 'string' ? obj : undefined;\n var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbg_static_accessor_APP_VERSION_8dfb74f2bdb84979 = function () {\n return logError(function (arg0) {\n var ret = self.app_version;\n var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n }, arguments);\n };\n imports.wbg.__wbg_static_accessor_SHELL_VERSION_b5f2827368d24c30 = function () {\n return logError(function (arg0) {\n var ret = self.shell_version;\n var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n }, arguments);\n };\n imports.wbg.__wbg_getlocationhash_2db688926cee2ab0 = function () {\n return handleError(function () {\n var ret = self.get_location_hash();\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_localstoragegetitem_846f36d20f63b400 = function () {\n return handleError(function (arg0, arg1) {\n try {\n var ret = self.local_storage_get_item(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n }, arguments);\n };\n imports.wbg.__wbg_localstoragesetitem_07700f560e5ca32f = function () {\n return handleError(function (arg0, arg1, arg2, arg3) {\n try {\n var ret = self.local_storage_set_item(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return addHeapObject(ret);\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n wasm.__wbindgen_free(arg2, arg3);\n }\n }, arguments);\n };\n imports.wbg.__wbg_localstorageremoveitem_f33a9f80a9c23382 = function () {\n return handleError(function (arg0, arg1) {\n try {\n var ret = self.local_storage_remove_item(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n }, arguments);\n };\n imports.wbg.__wbindgen_object_drop_ref = function (arg0) {\n takeObject(arg0);\n };\n imports.wbg.__wbg_error_09919627ac0992f5 = function () {\n return logError(function (arg0, arg1) {\n try {\n console.error(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n }, arguments);\n };\n imports.wbg.__wbg_new_693216e109162396 = function () {\n return logError(function () {\n var ret = new Error();\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_stack_0ddaca5d1abfb52f = function () {\n return logError(function (arg0, arg1) {\n var ret = getObject(arg1).stack;\n var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n }, arguments);\n };\n imports.wbg.__wbindgen_is_object = function (arg0) {\n var val = getObject(arg0);\n var ret = (0, _typeof2[\"default\"])(val) === 'object' && val !== null;\n _assertBoolean(ret);\n return ret;\n };\n imports.wbg.__wbindgen_is_string = function (arg0) {\n var ret = typeof getObject(arg0) === 'string';\n _assertBoolean(ret);\n return ret;\n };\n imports.wbg.__wbg_crypto_1dc1c51d9d27e0dd = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).crypto;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_msCrypto_4ef1b0e1cd4cedbb = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).msCrypto;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_getRandomValues_3293819ebec805bc = function () {\n return handleError(function (arg0, arg1) {\n getObject(arg0).getRandomValues(getObject(arg1));\n }, arguments);\n };\n imports.wbg.__wbg_randomFillSync_d84d19ffc1d700ed = function () {\n return handleError(function (arg0, arg1) {\n getObject(arg0).randomFillSync(takeObject(arg1));\n }, arguments);\n };\n imports.wbg.__wbg_require_3f60396135018b0f = function () {\n return handleError(function () {\n var ret = module.require;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_process_65edac0b2f0a8427 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).process;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_versions_0d0eed1c1b42b216 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).versions;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_node_82761bdd6eaac7e7 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).node;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_mark_abc7631bdced64f0 = function () {\n return logError(function (arg0, arg1) {\n performance.mark(getStringFromWasm0(arg0, arg1));\n }, arguments);\n };\n imports.wbg.__wbg_measure_c528ff64085b7146 = function () {\n return handleError(function (arg0, arg1, arg2, arg3) {\n try {\n performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n wasm.__wbindgen_free(arg2, arg3);\n }\n }, arguments);\n };\n imports.wbg.__wbg_log_02e20a3c32305fb7 = function () {\n return logError(function (arg0, arg1) {\n try {\n console.log(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n }, arguments);\n };\n imports.wbg.__wbg_log_5c7513aa8c164502 = function () {\n return logError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n try {\n console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n }, arguments);\n };\n imports.wbg.__wbindgen_cb_drop = function (arg0) {\n var obj = takeObject(arg0).original;\n if (obj.cnt-- == 1) {\n obj.a = 0;\n return true;\n }\n var ret = false;\n _assertBoolean(ret);\n return ret;\n };\n imports.wbg.__wbindgen_object_clone_ref = function (arg0) {\n var ret = getObject(arg0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_newwithstrandinit_9b0fa00478c37287 = function () {\n return handleError(function (arg0, arg1, arg2) {\n var ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_instanceof_Response_e1b11afbefa5b563 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0) instanceof Response;\n _assertBoolean(ret);\n return ret;\n }, arguments);\n };\n imports.wbg.__wbg_status_6d8bb444ddc5a7b2 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).status;\n _assertNum(ret);\n return ret;\n }, arguments);\n };\n imports.wbg.__wbg_text_8279d34d73e43c68 = function () {\n return handleError(function (arg0) {\n var ret = getObject(arg0).text();\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_language_cd6e22892ba36a1f = function () {\n return logError(function (arg0, arg1) {\n var ret = getObject(arg1).language;\n var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n }, arguments);\n };\n imports.wbg.__wbg_instanceof_WorkerGlobalScope_f191ca0158f5637b = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0) instanceof WorkerGlobalScope;\n _assertBoolean(ret);\n return ret;\n }, arguments);\n };\n imports.wbg.__wbg_navigator_8bc0889cda8f8500 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).navigator;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_fetch_b4e81012e07ff95a = function () {\n return logError(function (arg0, arg1) {\n var ret = getObject(arg0).fetch(getObject(arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_setInterval_a02797f5ab1c7eb1 = function () {\n return handleError(function (arg0, arg1, arg2) {\n var ret = getObject(arg0).setInterval(getObject(arg1), arg2);\n _assertNum(ret);\n return ret;\n }, arguments);\n };\n imports.wbg.__wbindgen_number_new = function (arg0) {\n var ret = arg0;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_instanceof_Error_561efcb1265706d8 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0) instanceof Error;\n _assertBoolean(ret);\n return ret;\n }, arguments);\n };\n imports.wbg.__wbg_message_9f7d15ff97fc4102 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).message;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_newnoargs_be86524d73f67598 = function () {\n return logError(function (arg0, arg1) {\n var ret = new Function(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_call_888d259a5fefc347 = function () {\n return handleError(function (arg0, arg1) {\n var ret = getObject(arg0).call(getObject(arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_call_346669c262382ad7 = function () {\n return handleError(function (arg0, arg1, arg2) {\n var ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_getTimezoneOffset_d3e5a22a1b7fb1d8 = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).getTimezoneOffset();\n return ret;\n }, arguments);\n };\n imports.wbg.__wbg_new_f11872bb9bb9d781 = function () {\n return logError(function (arg0) {\n var ret = new Date(getObject(arg0));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_now_af172eabe2e041ad = function () {\n return logError(function () {\n var ret = Date.now();\n return ret;\n }, arguments);\n };\n imports.wbg.__wbg_new_0b83d3df67ecb33e = function () {\n return logError(function () {\n var ret = new Object();\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_new_b1d61b5687f5e73a = function () {\n return logError(function (arg0, arg1) {\n try {\n var state0 = {\n a: arg0,\n b: arg1\n };\n var cb0 = function cb0(arg0, arg1) {\n var a = state0.a;\n state0.a = 0;\n try {\n return __wbg_adapter_117(a, state0.b, arg0, arg1);\n } finally {\n state0.a = a;\n }\n };\n var ret = new Promise(cb0);\n return addHeapObject(ret);\n } finally {\n state0.a = state0.b = 0;\n }\n }, arguments);\n };\n imports.wbg.__wbg_resolve_d23068002f584f22 = function () {\n return logError(function (arg0) {\n var ret = Promise.resolve(getObject(arg0));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_then_2fcac196782070cc = function () {\n return logError(function (arg0, arg1) {\n var ret = getObject(arg0).then(getObject(arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_then_8c2d62e8ae5978f7 = function () {\n return logError(function (arg0, arg1, arg2) {\n var ret = getObject(arg0).then(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_globalThis_3f735a5746d41fbd = function () {\n return handleError(function () {\n var ret = globalThis.globalThis;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_self_c6fbdfc2918d5e58 = function () {\n return handleError(function () {\n var ret = self.self;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_window_baec038b5ab35c54 = function () {\n return handleError(function () {\n var ret = window.window;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_global_1bc0b39582740e95 = function () {\n return handleError(function () {\n var ret = global.global;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_new_a7ce447f15ff496f = function () {\n return logError(function (arg0) {\n var ret = new Uint8Array(getObject(arg0));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_newwithlength_929232475839a482 = function () {\n return logError(function (arg0) {\n var ret = new Uint8Array(arg0 >>> 0);\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_newwithbyteoffsetandlength_4b9b8c4e3f5adbff = function () {\n return logError(function (arg0, arg1, arg2) {\n var ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_subarray_8b658422a224f479 = function () {\n return logError(function (arg0, arg1, arg2) {\n var ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_set_969ad0a60e51d320 = function () {\n return logError(function (arg0, arg1, arg2) {\n getObject(arg0).set(getObject(arg1), arg2 >>> 0);\n }, arguments);\n };\n imports.wbg.__wbindgen_is_function = function (arg0) {\n var ret = typeof getObject(arg0) === 'function';\n _assertBoolean(ret);\n return ret;\n };\n imports.wbg.__wbg_buffer_397eaa4d72ee94dd = function () {\n return logError(function (arg0) {\n var ret = getObject(arg0).buffer;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_parse_ccb2cd4fe8ead0cb = function () {\n return handleError(function (arg0, arg1) {\n var ret = JSON.parse(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_stringify_d4507a59932eed0c = function () {\n return handleError(function (arg0) {\n var ret = JSON.stringify(getObject(arg0));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_set_82a4e8a85e31ac42 = function () {\n return handleError(function (arg0, arg1, arg2) {\n var ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2));\n _assertBoolean(ret);\n return ret;\n }, arguments);\n };\n imports.wbg.__wbindgen_debug_string = function (arg0, arg1) {\n var ret = debugString(getObject(arg1));\n var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbindgen_throw = function (arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n imports.wbg.__wbindgen_memory = function () {\n var ret = wasm.memory;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_closure_wrapper34381 = function () {\n return logError(function (arg0, arg1, arg2) {\n var ret = makeMutClosure(arg0, arg1, 1340, __wbg_adapter_28);\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbindgen_closure_wrapper43508 = function () {\n return logError(function (arg0, arg1, arg2) {\n var ret = makeMutClosure(arg0, arg1, 1689, __wbg_adapter_31);\n return addHeapObject(ret);\n }, arguments);\n };\n if (typeof input === 'string' || typeof Request === 'function' && input instanceof Request || typeof URL === 'function' && input instanceof URL) {\n input = fetch(input);\n }\n _context2.t0 = load;\n _context2.next = 78;\n return input;\n case 78:\n _context2.t1 = _context2.sent;\n _context2.t2 = imports;\n _context2.next = 82;\n return (0, _context2.t0)(_context2.t1, _context2.t2);\n case 82:\n _yield$load = _context2.sent;\n instance = _yield$load.instance;\n module = _yield$load.module;\n wasm = instance.exports;\n init.__wbindgen_wasm_module = module;\n wasm.__wbindgen_start();\n return _context2.abrupt(\"return\", wasm);\n case 89:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return _init.apply(this, arguments);\n}\nvar _default = exports[\"default\"] = init;\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl + \"../../\";","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\nvar Bridge = require('./bridge');\nvar bridge = new Bridge(self, self);\nself.init = /*#__PURE__*/function () {\n var _ref2 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee5(_ref) {\n var appVersion, shellVersion, _require, initialize_api, initialize_runtime, get_state, get_debug_state, dispatch, analytics, decode_stream;\n return _regenerator[\"default\"].wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n appVersion = _ref.appVersion, shellVersion = _ref.shellVersion;\n // TODO remove the document shim when this PR is merged\n // https://github.com/cfware/babel-plugin-bundled-import-meta/pull/26\n self.document = {\n baseURI: self.location.href\n };\n self.app_version = appVersion;\n self.shell_version = shellVersion;\n self.get_location_hash = /*#__PURE__*/(0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", bridge.call(['location', 'hash'], []));\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n self.local_storage_get_item = /*#__PURE__*/function () {\n var _ref4 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(key) {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", bridge.call(['localStorage', 'getItem'], [key]));\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }();\n self.local_storage_set_item = /*#__PURE__*/function () {\n var _ref5 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(key, value) {\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", bridge.call(['localStorage', 'setItem'], [key, value]));\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return function (_x3, _x4) {\n return _ref5.apply(this, arguments);\n };\n }();\n self.local_storage_remove_item = /*#__PURE__*/function () {\n var _ref6 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(key) {\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n return _context4.abrupt(\"return\", bridge.call(['localStorage', 'removeItem'], [key]));\n case 1:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return function (_x5) {\n return _ref6.apply(this, arguments);\n };\n }();\n _require = require('./stremio_core_web.js'), initialize_api = _require[\"default\"], initialize_runtime = _require.initialize_runtime, get_state = _require.get_state, get_debug_state = _require.get_debug_state, dispatch = _require.dispatch, analytics = _require.analytics, decode_stream = _require.decode_stream;\n self.getState = get_state;\n self.getDebugState = get_debug_state;\n self.dispatch = dispatch;\n self.analytics = analytics;\n self.decodeStream = decode_stream;\n _context5.next = 16;\n return initialize_api(require('./stremio_core_web_bg.wasm'));\n case 16:\n _context5.next = 18;\n return initialize_runtime(function (event) {\n return bridge.call(['onCoreEvent'], [event]);\n });\n case 18:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n"],"names":["_interopRequireDefault","_regenerator","_asyncToGenerator2","module","exports","scope","handler","addEventListener","_ref2","mark","_callee","_ref","request","id","path","args","value","data","thisArg","wrap","_context","prev","next","abrupt","reduce","prop","slice","length","apply","sent","postMessage","response","result","t0","error","stop","_x","this","arguments","call","_ref3","_callee2","_context2","Math","random","toString","Promise","resolve","reject","onMessage","_ref4","removeEventListener","_x2","_x3","Object","defineProperty","analytics","event","location_hash","wasm","addHeapObject","decode_stream","stream","takeObject","dispatch","action","field","get_debug_state","get_state","initialize_runtime","emit_to_ui","start","_typeof2","importMeta","url","URL","document","baseURI","href","heap","Array","fill","undefined","getObject","idx","_assertBoolean","n","Error","push","cachedTextDecoder","TextDecoder","ignoreBOM","fatal","decode","cachegetUint8Memory0","getUint8Memory0","buffer","memory","Uint8Array","getStringFromWasm0","ptr","len","subarray","heap_next","obj","WASM_VECTOR_LEN","cachedTextEncoder","TextEncoder","encodeString","encodeInto","arg","view","buf","encode","set","read","written","passStringToWasm0","malloc","realloc","_ptr","mem","offset","code","charCodeAt","ret","isLikeNone","x","cachegetInt32Memory0","getInt32Memory0","Int32Array","dropObject","debugString","val","type","concat","description","name","isArray","debug","i","className","builtInMatches","exec","JSON","stringify","_","message","stack","makeMutClosure","arg0","arg1","dtor","f","state","a","b","cnt","real","_len","_key","__wbindgen_export_2","get","original","logError","e","console","_assertNum","__wbg_adapter_28","_dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc887ea4696f2d2b9","__wbg_adapter_31","arg2","_dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__ha422fa6c2e941f69","handleError","__wbindgen_exn_store","__wbg_adapter_117","arg3","wasm_bindgen__convert__closures__invoke2_mut__h2dbf71f8fed3330e","load","_load","imports","bytes","instance","Response","WebAssembly","instantiateStreaming","headers","warn","arrayBuffer","instantiate","Instance","init","_init","input","_yield$load","wbg","__wbindgen_is_undefined","__wbindgen_string_new","__wbindgen_string_get","ptr0","__wbindgen_malloc","__wbindgen_realloc","len0","__wbg_static_accessor_APP_VERSION_8dfb74f2bdb84979","self","app_version","__wbg_static_accessor_SHELL_VERSION_b5f2827368d24c30","shell_version","__wbg_getlocationhash_2db688926cee2ab0","get_location_hash","__wbg_localstoragegetitem_846f36d20f63b400","local_storage_get_item","__wbindgen_free","__wbg_localstoragesetitem_07700f560e5ca32f","local_storage_set_item","__wbg_localstorageremoveitem_f33a9f80a9c23382","local_storage_remove_item","__wbindgen_object_drop_ref","__wbg_error_09919627ac0992f5","__wbg_new_693216e109162396","__wbg_stack_0ddaca5d1abfb52f","__wbindgen_is_object","__wbindgen_is_string","__wbg_crypto_1dc1c51d9d27e0dd","crypto","__wbg_msCrypto_4ef1b0e1cd4cedbb","msCrypto","__wbg_getRandomValues_3293819ebec805bc","getRandomValues","__wbg_randomFillSync_d84d19ffc1d700ed","randomFillSync","__wbg_require_3f60396135018b0f","require","__wbg_process_65edac0b2f0a8427","process","__wbg_versions_0d0eed1c1b42b216","versions","__wbg_node_82761bdd6eaac7e7","node","__wbg_mark_abc7631bdced64f0","performance","__wbg_measure_c528ff64085b7146","measure","__wbg_log_02e20a3c32305fb7","log","__wbg_log_5c7513aa8c164502","arg4","arg5","arg6","arg7","__wbindgen_cb_drop","__wbindgen_object_clone_ref","__wbg_newwithstrandinit_9b0fa00478c37287","Request","__wbg_instanceof_Response_e1b11afbefa5b563","__wbg_status_6d8bb444ddc5a7b2","status","__wbg_text_8279d34d73e43c68","text","__wbg_language_cd6e22892ba36a1f","language","__wbg_instanceof_WorkerGlobalScope_f191ca0158f5637b","WorkerGlobalScope","__wbg_navigator_8bc0889cda8f8500","navigator","__wbg_fetch_b4e81012e07ff95a","fetch","__wbg_setInterval_a02797f5ab1c7eb1","setInterval","__wbindgen_number_new","__wbg_instanceof_Error_561efcb1265706d8","__wbg_message_9f7d15ff97fc4102","__wbg_newnoargs_be86524d73f67598","Function","__wbg_call_888d259a5fefc347","__wbg_call_346669c262382ad7","__wbg_getTimezoneOffset_d3e5a22a1b7fb1d8","getTimezoneOffset","__wbg_new_f11872bb9bb9d781","Date","__wbg_now_af172eabe2e041ad","now","__wbg_new_0b83d3df67ecb33e","__wbg_new_b1d61b5687f5e73a","state0","__wbg_resolve_d23068002f584f22","__wbg_then_2fcac196782070cc","then","__wbg_then_8c2d62e8ae5978f7","__wbg_globalThis_3f735a5746d41fbd","globalThis","__wbg_self_c6fbdfc2918d5e58","__wbg_window_baec038b5ab35c54","window","__wbg_global_1bc0b39582740e95","g","global","__wbg_new_a7ce447f15ff496f","__wbg_newwithlength_929232475839a482","__wbg_newwithbyteoffsetandlength_4b9b8c4e3f5adbff","__wbg_subarray_8b658422a224f479","__wbg_set_969ad0a60e51d320","__wbindgen_is_function","__wbg_buffer_397eaa4d72ee94dd","__wbg_parse_ccb2cd4fe8ead0cb","parse","__wbg_stringify_d4507a59932eed0c","__wbg_set_82a4e8a85e31ac42","Reflect","__wbindgen_debug_string","__wbindgen_throw","__wbindgen_memory","__wbindgen_closure_wrapper34381","__wbindgen_closure_wrapper43508","t1","t2","__wbindgen_wasm_module","__wbindgen_start","asyncGeneratorStep","gen","_next","_throw","key","info","done","fn","err","__esModule","_typeof","_regeneratorRuntime","t","r","prototype","hasOwnProperty","o","Symbol","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","Generator","create","Context","makeInvokeMethod","tryCatch","h","l","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","method","delegate","maybeInvokeDelegate","_sent","dispatchException","TypeError","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","setPrototypeOf","__proto__","awrap","async","keys","reverse","pop","charAt","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","src","scripts","getElementsByTagName","test","replace","bridge","_callee5","appVersion","shellVersion","_require","initialize_api","_context5","_ref5","_callee3","_context3","_x4","_ref6","_callee4","_context4","_x5","getState","getDebugState","decodeStream"],"sourceRoot":""} \ No newline at end of file diff --git a/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/styles/main.css.map b/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/styles/main.css.map deleted file mode 100644 index 4bc71e8e8..000000000 --- a/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/styles/main.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"47a330ac4a44057e9427ee0c5b2d1f772a7a783f/styles/main.css","mappings":"AAIA;EACI;EACA;EACA;EACA;AAHJ;AAKI;EACI;AAHR;AAMI;EACI;EACA;AAJR;;ACPA;EACI;EACA;EACA;EACA;AAJJ;AAAA;EAOQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJR;AAZA;EAmBY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJZ;AAvBA;EA+BY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AALZ;AAjCA;EAyCgB;EACA;EACA;EACA;EACA;AALhB;AAQY;;EAGQ;EACA;AAPpB;AAWY;EACI;AAThB;AAhDA;EA8DY;EACA;EACA;AAXZ;AArDA;EAmEgB;EACA;EACA;EACA;EACA;EACA;EACA;AAXhB;AA9DA;EA6EgB;EACA;EACA;EACA;AAZhB;AAcgB;EACI;AAZpB;AAvEA;EAwFgB;EACA;EACA;EACA;EACA;AAdhB;AAgBgB;EACI;AAdpB;AAqBA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAnBJ;AAqBI;EACI;EACA;AAnBR;AAsBI;EACI;AApBR;AAuBI;EACI;AArBR;AAAA;EAyBQ;EACA;EACA;EACA;EACA;AAtBR;AAPA;EAiCQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAvBR;AA2BA;EACI;IAEQ;IACA;IACA;IACA;IACA;EA1BV;EAoBE;IAUgB;IACA;EA3BlB;EAgBE;IAiBQ;EA9BV;EAaE;IAoBY;IACA;EA9Bd;AACF;;AC5IA;EAEQ;EACA;EACA;AAJR;AAAA;;EAOY;EACA;EACA;EACA;EACA;AAHZ;AARA;EAeY;EACA;AAJZ;AAZA;EAoBY;AALZ;AAfA;EAwBY;EACA;EACA;EACA;EACA;EACA;EACA;AANZ;AAxBA;EAiCgB;EACA;EACA;EACA;EACA;EACA;AANhB;AAhCA;EA0CgB;EACA;EACA;EACA;EACA;AAPhB;AAvCA;EAoDQ;AAVR;AA1CA;EAuDY;EACA;AAVZ;AA9CA;EA4DY;EACA;EACA;AAXZ;AAaY;EACI;AAXhB;AAcY;EACI;AAZhB;;ACzDA;;EAEQ;EACA;EACA;AAHR;AADA;EAQQ;EACA;AAJR;AAMQ;EACI;EACA;AAJZ;AAOQ;EACI;AALZ;AAZA;EAqBY;AANZ;AAfA;EA0BQ;AARR;AAUQ;EACI;EACA;AARZ;AAWQ;EACI;AATZ;;ACzBA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AALA;EAWQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHR;AAjBA;EAwBQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJR;AAMQ;EACI;AAJZ;AAnCA;EA2CY;AALZ;AAtCA;EA8CgB;EACA;EACA;EACA;EACA;EACA;AALhB;AAOgB;EACI;EACA;EACA;EACA;EACA;EACA;AALpB;AAtDA;EAgEgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAPhB;AAlEA;EA8EY;EACA;AATZ;AAcA;EACI;IACI;EAZN;AACF;AAeA;EACI;IACI;EAbN;AACF;AAgBA;EACI;IAEQ;EAfV;AACF;;ACrFA;EACI;EACA;EACA;AAHJ;AAAA;EAMQ;EACA;EACA;EACA;EACA;AAHR;AAPA;EAaY;EACA;EACA;AAHZ;AAZA;EAmBY;EACA;EACA;AAJZ;AAMY;EACI;AAJhB;AApBA;EA8BQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAPR;AAxCA;EAkDY;EACA;EACA;EACA;EACA;AAPZ;AA/CA;EA0DY;EACA;EACA;AARZ;AAWQ;EACI;AATZ;AAYQ;EACI;AAVZ;AAaQ;EACI;AAXZ;AAcQ;;EACI;AAXZ;;ACjEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AAKI;EACI;EACA;EACA;AAHR;AAMI;EACI;EACA;EACA;AAJR;;AC1BA;EACI;EACA;EACA;EACA;EACA;EACA;AADJ;;ACLA;EACI;EACA;AADJ;AADA;EAKQ;AADR;AAJA;;EASQ;AADR;AARA;EAaQ;AAFR;AAXA;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ACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AALA;EAWQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHR;AAKQ;;EACI;EACA;EACA;EACA;AAFZ;AAvBA;EA8BQ;EACA;EACA;EACA;EACA;EACA;EACA;AAJR;AAhCA;EAuCY;EACA;EACA;EACA;EACA;AAJZ;AAvCA;EAgDQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AANR;AAxDA;EAiEY;EACA;AANZ;AA5DA;EAsEY;EACA;EACA;EACA;EACA;AAPZ;AAnEA;EA6EgB;EACA;EACA;AAPhB;AASgB;EACI;AAPpB;AA3EA;EAwFY;EACA;EACA;EACA;EACA;EACA;AAVZ;AAnFA;EAgGgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAVhB;AAYgB;EACI;AAVpB;;ACzFA;EAEQ;AATR;AAYA;EACI;EACA;EACA;EACA;EACA;AAVJ;AAYI;EACI;AAVR;AAEA;EAYQ;EACA;AAXR;AAFA;EAgBY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAXZ;AAfA;EA8BY;EACA;EACA;EACA;EACA;AAZZ;AAtBA;EAqCgB;EACA;AAZhB;AA1BA;EAyCoB;EACA;AAZpB;AA9BA;EA+CgB;AAdhB;AAgBgB;;EACI;AAbpB;AAYgB;;EAIQ;AAZxB;AAzCA;EA0DoB;EACA;EACA;EACA;AAdpB;AA/CA;EAoEQ;AAlBR;AAlDA;EAuEY;EACA;EACA;EACA;EACA;AAlBZ;AAoBY;EACI;AAlBhB;AA5DA;EAkFgB;EACA;EACA;EACA;EACA;EACA;AAnBhB;AApEA;EA2FgB;EACA;AApBhB;AA0BA;EACI;IACI;EAxBN;EA0BM;IACI;EAxBV;AACF;;AC5FA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJJ;AANA;EAaQ;EACA;EACA;EACA;EACA;EACA;AAJR;AAdA;EAqBY;EACA;EACA;EACA;EACA;EACA;AAJZ;AAtBA;EA+BQ;AANR;AAzBA;EAmCQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAPR;AApCA;EA+CQ;EACA;AARR;AAxCA;EAoDQ;EACA;EACA;EACA;AATR;AA9CA;EA2DQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAVR;AAxDA;EAqEY;EACA;EACA;EACA;EACA;AAVZ;AAuBQ;EATI;EACA;AAXZ;AAmBQ;EALQ;EACA;AAXhB;AAmBQ;EACI;IAdA;IACA;EAFV;EAeU;IAVI;IACA;EAFd;AACF;AAiBA;EACI;IACI;IACA;EAfN;EAaE;IAKQ;EAfV;EAUE;IASQ;EAhBV;EAkBU;IACI;EAhBd;AACF;;AChGA;EACI;EACA;EACA;EACA;EACA;EACA;AAJJ;AAMI;EACI;IACI;EAJV;EAGM;IAIQ;EAJd;EAOU;IAEQ;EANlB;AACF;AAWI;EAEQ;AAVZ;AAQI;;EAMQ;AAVZ;AApBA;;EAmCQ;EACA;EACA;EACA;AAXR;AA3BA;EA0CQ;EACA;AAZR;AA/BA;EA+CQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAbR;AAiBA;EACI;IAEQ;EAhBV;EAmBM;IAEQ;EAlBd;AACF;;ACvDA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJJ;AAMI;EACI;AAJR;AATA;EAiBQ;EACA;EACA;AALR;AASA;EACI;IACI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EAPN;EADE;IAWQ;EAPV;EASU;IACI;EAPd;AACF;AAYA;EAGY;IACI;EAZd;AACF;;ACtCA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AAJA;EAUQ;EACA;EACA;EACA;EACA;AAHR;AAXA;EAkBQ;EACA;EACA;EACA;EACA;AAJR;AAlBA;EA0BQ;EACA;EACA;EACA;EACA;EACA;EACA;AALR;AASA;EACI;IAEQ;IACA;EARV;EAKE;IAOQ;EATV;AACF;;ACpCA;EAEQ;EACA;AAJR;AACA;EAMY;EACA;EACA;EACA;EACA;EACA;AAJZ;AAMY;EACI;AAJhB;AAVA;EAkBgB;EACA;EACA;AALhB;AAfA;;;EAyBY;AALZ;AAOY;;;EACI;AAHhB;AAzBA;EAiCY;AALZ;AA5BA;EAqCY;AANZ;AA/BA;EAyCY;AAPZ;AAlCA;EA8CQ;EACA;EACA;EACA;EACA;AATR;AAzCA;EAqDY;EACA;EACA;EACA;EACA;EACA;AATZ;AAjDA;EA8DY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAVZ;AAYY;EACI;EACA;AAVhB;AAaY;EACI;AAXhB;AApEA;EAmFgB;EACA;EACA;EACA;EACA;AAZhB;AA3EA;EA2FgB;EACA;EACA;EACA;EACA;EACA;AAbhB;;AClFA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJJ;AAMI;;EACI;EACA;AAHR;AAVA;EAiBQ;AAJR;AAbA;EAoBY;EACA;EACA;EACA;EACA;AAJZ;AApBA;EA6BQ;EACA;EACA;EACA;EACA;AANR;AA3BA;EAoCY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AANZ;AAWA;EACI;IAEQ;EAVV;AACF;AAcA;EACI;IACI;IACA;EAZN;EAUE;IAKQ;EAZV;AACF;;ACtDA;EACI;EACA;AADJ;AAGI;EACI;AADR;;ACJA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AADJ;;ACJA;EAEQ;EACA;EACA;EACA;EACA;EACA;AAJR;AAHA;EAWQ;EACA;EACA;AALR;AARA;EAgBY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AALZ;AAOY;;EACI;AAJhB;AAOY;EACI;EACA;AALhB;;ACnCA;EACI;EACA;AADJ;AADA;EAKQ;EACA;AADR;AALA;EASY;EACA;EACA;EACA;EACA;AADZ;AAZA;EAiBY;EACA;EACA;EACA;AAFZ;AAlBA;EAuBgB;EACA;EACA;EACA;EACA;AAFhB;AAzBA;EA+BgB;EACA;EACA;EACA;AAHhB;AA/BA;EAuCY;AALZ;AAlCA;EA0CgB;EACA;EACA;EACA;EACA;AALhB;AAzCA;EAkDgB;EACA;EACA;EACA;EACA;EACA;AANhB;AAjDA;EA6DQ;EACA;EACA;EACA;EACA;EACA;EACA;AATR;;ACvDA;EACI;EACA;EACA;EACA;AAJJ;AAMI;;EAGY;EACA;AALhB;AACI;EAQY;AANhB;AAFI;;EAWgB;AALpB;AANI;EAgBY;AAPhB;AATI;EAqBQ;AATZ;AAZI;EAwBY;AAThB;AArBA;EAoCQ;EACA;EACA;EACA;EACA;EACA;AAZR;AA7BA;EA4CY;EACA;EACA;EACA;EACA;EACA;EACA;AAZZ;AAtCA;EAuDQ;EACA;EACA;AAdR;AAgBQ;EACI;AAdZ;AAgBY;;EACI;AAbhB;AAlDA;;EAoEY;EACA;EACA;AAdZ;AAxDA;EA0EY;EACA;EACA;AAfZ;AA7DA;EAgFY;EACA;AAhBZ;AAjEA;EAqFY;EACA;EACA;EACA;EACA;AAjBZ;AAxEA;;EA4FgB;EACA;EACA;EACA;EACA;AAhBhB;AAhFA;EAoGgB;EACA;EACA;EACA;EACA;EACA;EACA;AAjBhB;AAmBgB;EACI;EACA;AAjBpB;AA7FA;EAkHoB;EACA;EACA;EACA;EACA;AAlBpB;AApGA;EA0HoB;EACA;EACA;EACA;AAnBpB;AA1GA;EAmIY;EACA;EACA;EACA;EACA;AAtBZ;AAjHA;EAyIgB;EACA;EACA;EACA;EACA;AArBhB;AAxHA;EAkJY;AAvBZ;AA3HA;EAuJQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAzBR;AArIA;EAiKY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAzBZ;AA4BQ;EACI;AA1BZ;AA6BQ;EAEQ;AA5BhB;AArJA;EAsLY;EACA;EACA;EACA;AA9BZ;AAgCY;EACI;EACA;EACA;AA9BhB;AAiCY;EACI;AA/BhB;AAmCgB;;EACI;EACA;AAhCpB;AAxKA;EA+MQ;EACA;AApCR;AAwCA;EACI;AAtCJ;AA0CA;EACI;IAGY;IACA;EA1Cd;EAsCE;IASQ;IACA;EA5CV;EAkCE;IAaY;IACA;IACA;IACA;EA5Cd;EA4BE;IAqBQ;EA9CV;AACF;AAkDA;EACI;IAGY;EAlDd;EA+CE;IAOY;EAnDd;EA4CE;;IAUgB;EAlDlB;EAwCE;IAgBQ;IACA;IACA;IACA;EArDV;EAuDU;IACI;EArDd;EA0DE;IACI;EAxDN;AACF;;ACrNA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AATJ;AACA;EAWQ;EACA;EACA;EACA;EACA;EACA;EACA;AATR;AARA;EAoBY;EACA;EACA;EACA;AATZ;AAWY;EACI;AAThB;AAaQ;EACI;AAXZ;AAgBA;EACI;IACI;EAdN;EAaE;IAIQ;IACA;EAdV;EASE;IAQY;IACA;EAdd;AACF;;ACvCA;EAEQ;EACA;EACA;EACA;EACA;EACA;AAJR;AAHA;EAUY;EACA;EACA;EACA;EACA;AAJZ;AAMY;EACI;EACA;AAJhB;AAdA;EAuBY;EACA;EACA;EACA;EACA;EACA;AANZ;AAQY;EACI;EACA;AANhB;AA1BA;EAoCgB;EACA;EACA;EACA;EACA;AAPhB;AAjCA;EA4CgB;EACA;EACA;EACA;AARhB;AAvCA;EAqDQ;EACA;EACA;AAXR;AA5CA;EA0DY;EACA;AAXZ;AAaY;EACI;AAXhB;AAnDA;EAkEgB;EACA;EACA;AAZhB;AAxDA;EAwEgB;EACA;EACA;EACA;EACA;AAbhB;AA/DA;EA+EoB;EACA;EACA;EACA;EACA;AAbpB;AAoBA;EACI;IAGY;EApBd;EAsBc;IACI;EApBlB;EAcE;IAUgB;EArBlB;AACF;;AChFA;EACI;AAJJ;AAGA;EAIQ;EACA;EACA;EACA;EACA;EACA;AAJR;AALA;EAYY;EACA;EACA;EACA;EACA;AAJZ;AAZA;EAoBY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AALZ;AAOY;;EACI;EACA;EACA;AAJhB;AA7BA;EAqCgB;EACA;EACA;EACA;EACA;AALhB;AApCA;EA6CgB;EACA;EACA;EACA;AANhB;AA1CA;EAsDQ;EACA;EACA;EACA;EACA;AATR;AAjDA;EA8DQ;EACA;EACA;EACA;AAVR;AAaY;EACI;AAXhB;AAcY;EACI;AAZhB;AAeY;EACI;AAbhB;AAmBA;EACI;IAEQ;EAlBV;EAgBE;IAKY;IACA;IACA;EAlBd;EAwBc;IACI;EAtBlB;AACF;;AC9EA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AAJA;EAUQ;EACA;AAHR;AARA;EAeQ;EACA;EACA;EACA;EACA;EACA;EACA;AAJR;AAOI;EACI;AALR;;ACjBA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AANJ;AAQI;EACI;EACA;EACA;AANR;AATA;EAmBQ;EACA;EACA;EACA;EACA;AAPR;AAhBA;EA0BY;AAPZ;AAYA;EAEQ;IACI;EAXV;AACF;;AC1BA;EACI;EACA;EACA;EACA;AAJJ;AAMI;EACI;EACA;AAJR;AAJA;EAYQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AALR;AAdA;EAsBY;EACA;EACA;EACA;AALZ;AApBA;EA6BY;EACA;EACA;AANZ;AAQY;EACI;AANhB;AAWI;;EACI;AARR;;ACnCA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADJ;AAPA;EAWQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADR;AAlBA;EAsBY;EACA;AADZ;AAtBA;EA4BQ;EACA;EACA;EACA;EACA;EACA;EACA;AAHR;AAKQ;EACI;AAHZ;AAlCA;EAyCY;EACA;EACA;AAJZ;AAvCA;EA+CY;EACA;EACA;EACA;EACA;EACA;EACA;AALZ;AAOY;;EAEI;EACA;AALhB;;ACnDA;EACI;EACA;EACA;AAHJ;AAAA;EAMQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHR;AAlBA;EAwBY;EACA;EACA;EACA;EACA;AAHZ;AAzBA;EAgCY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJZ;AAOQ;EACI;AALZ;AAQQ;EACI;AANZ;AASQ;EAEQ;EACA;AARhB;AAYQ;EACI;AAVZ;;ACrDA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADJ;AAPA;EAWQ;EACA;EACA;EACA;EACA;AADR;AAdA;EAmBQ;EACA;EACA;EACA;AAFR;;AClBA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AAKI;EACI;AAHR;AATA;EAgBQ;EACA;EACA;EACA;AAJR;AAMQ;EACI;EACA;AAJZ;AAnBA;EA4BQ;EACA;EACA;EACA;EACA;AANR;;ACpBA;EACI;AATJ;AAQA;EAIQ;AATR;AAaA;EACI;EACA;EACA;EACA;AAXJ;AAaI;EACI;EACA;AAXR;AAGA;EAYQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAZR;AATA;EAyBQ;EACA;EACA;EACA;EACA;EACA;EACA;AAbR;AAeQ;EACI;EACA;AAbZ;AAtBA;EAwCQ;EACA;EACA;EACA;EACA;AAfR;AA7BA;EAgDQ;EACA;EACA;EACA;EACA;EACA;EACA;AAhBR;AAsBQ;EACI;AApBZ;AAzCA;EAkEQ;EACA;EACA;EACA;EACA;EACA;EACA;AAtBR;;AC1DA;EACI;AATJ;AAQA;EAIQ;EACA;EACA;EACA;EACA;EACA;AATR;AAWQ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AATZ;AAaI;EAEQ;AAZZ;AAcY;EACI;AAZhB;;ACzBA;EACI;EACA;EACA;EACA;AADJ;AAHA;EAOQ;EACA;EACA;EACA;EACA;EACA;AADR;AAXA;EAeY;EACA;EACA;EACA;AADZ;AAjBA;EAsBY;EACA;EACA;AAFZ;;ACXA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AALJ;AAOI;;;EAGI;AALR;AAPA;EAgBQ;EACA;EACA;EACA;AANR;AAbA;EAsBY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AANZ;AAQY;EACI;EACA;AANhB;AA3BA;EAsCY;EACA;EACA;EACA;EACA;EACA;EACA;AARZ;AApCA;EAgDY;EACA;EACA;EACA;EACA;AATZ;AA3CA;EAuDgB;EACA;EACA;EACA;AAThB;AAjDA;EA8DgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAVhB;AA3DA;EA2EQ;EACA;EACA;EACA;EACA;EACA;AAbR;AAnEA;EAmFY;EACA;EACA;EACA;EACA;AAbZ;AA1EA;EA2FY;EACA;EACA;EACA;A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EACA;EACA;AANR;AAHA;EAYY;EACA;EACA;EACA;EACA;AANZ;AAVA;EAmBgB;EACA;AANhB;AAdA;EAwBgB;EACA;EACA;EACA;EACA;EACA;EACA;AAPhB;AAvBA;EAiCoB;EACA;AAPpB;AASoB;EACI;AAPxB;AAUoB;EACI;AARxB;AAUwB;EAEQ;AAThC;AApCA;EAmDwB;AAZxB;AAvCA;EAwDoB;EACA;EACA;AAdpB;AA5CA;EA6DwB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAdxB;AAvDA;EAwE4B;EACA;EACA;EACA;AAd5B;AA7DA;EAkFgB;EACA;EACA;EACA;EACA;EACA;AAlBhB;AArEA;EA0FoB;EACA;EACA;EACA;EACA;EACA;AAlBpB;AA7EA;EAmGoB;EACA;EACA;EACA;EACA;AAnBpB;AAqBoB;EACI;EACA;AAnBxB;AAsBoB;EACI;AApBxB;AA3FA;EAmHwB;EACA;EACA;EACA;AArBxB;AAjGA;EA4HgB;EACA;EACA;EACA;EACA;EACA;EACA;AAxBhB;AA0BgB;EACI;AAxBpB;AA7GA;EAyIoB;EACA;EACA;EACA;EACA;EACA;EACA;AAzBpB;AAtHA;EAmJoB;EACA;EACA;EACA;EACA;AA1BpB;AA7HA;EA4JgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA5BhB;AAvIA;EAsKoB;AA5BpB;AA1IA;EAyKwB;EACA;EACA;AA5BxB;AA/IA;EA+KwB;EACA;EACA;EACA;EACA;AA7BxB;AAtJA;EAsL4B;EACA;EACA;EACA;EACA;AA7B5B;AA7JA;EAkMY;EACA;EACA;EACA;EACA;EACA;AAlCZ;AAuCA;EAEQ;AAtCR;AAoCA;EAKY;AAtCZ;AAiCA;EAQgB;EACA;AAtChB;AAwCgB;EACI;AAtCpB;AAwCoB;EACI;AAtCxB;AAuBA;EAoBoB;EACA;AAxCpB;AA+CA;EACI;IAIgB;EAhDlB;AACF;AAsDA;EACI;IAIgB;EAvDlB;AACF;AA6DA;EACI;IAIgB;EA9DlB;AACF;AAoEA;EACI;IAIgB;EArElB;AACF;AA2EA;EACI;IAIgB;EA5ElB;AACF;AA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;EAblB;AACF;;AC3CA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AAKI;EACI;AAHR;AAMI;EACI;AAJR;AAOI;EACI;AALR;AAhBA;EAyBQ;EACA;EACA;EACA;EACA;EACA;AANR;AAxBA;EAiCY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AANZ;AArCA;EAgDQ;EACA;EACA;EACA;EACA;EACA;AARR;AA7CA;EAwDY;EACA;EACA;EACA;EACA;EACA;EACA;AARZ;AAtDA;EAiEgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AARhB;AAlEA;EA8EgB;EACA;EACA;EACA;EACA;EACA;EACA;AAThB;AA3EA;;EAwFgB;AAThB;AAYY;EAEQ;AAXpB;AASY;EAMQ;AAZpB;AArFA;EAwGQ;EACA;EACA;EACA;EACA;EACA;EACA;AAhBR;AAmBI;EAGY;AAnBhB;AAwBI;EACI;AAtBR;AAyBI;EACI;IACI;EAvBV;AACF;AA2BA;EACI;IAEQ;EA1BV;EAwBE;IAMQ;EA3BV;EAqBE;IAUQ;EA5BV;AACF;AAgCA;EACI;IACI;IACA;EA9BN;EA4BE;IAKQ;EA9BV;EAyBE;IASQ;EA/BV;AACF;AAmCA;EACI;IACI;EAjCN;EAgCE;IAIQ;EAjCV;EA6BE;IAOY;EAjCd;EA0BE;IAYQ;EAnCV;EAuBE;IAeY;IACA;EAnCd;AACF;;ACpJA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADJ;AAPA;EAWQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADR;AAlBA;EAuBQ;EACA;EACA;AAFR;AAvBA;EA4BY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAFZ;AAIY;EACI;AAFhB;AAxCA;EA8CgB;EACA;EACA;EACA;AAHhB;AA9CA;EAqDgB;EACA;AAJhB;AAlDA;EA0DgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AALhB;AAQY;EACI;AANhB;AAKY;EAIQ;AANpB;AAEY;EAQQ;AAPpB;AAaI;EACI;EACA;AAXR;AASI;EAKQ;EACA;EACA;EACA;AAXZ;AAGI;EAYQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAZZ;AARI;EAuBY;EACA;EACA;EACA;EACA;AAZhB;AAfI;EA+BY;EACA;EACA;EACA;EACA;AAbhB;AAkBI;EAEQ;AAjBZ;AAqBI;EACI;AAnBR;AAsBI;EACI;AApBR;;AC/GA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AAKI;EAAA;IACI;EAFN;AACF;AAKA;EACI;IACI;EAHN;AACF;AAMA;EACI;IACI;EAJN;AACF;AAOA;EACI;IACI;EALN;AACF;AAQA;EACI;IACI;EANN;AACF;;AC/BA;EACI;AADJ;AAAA;EAIQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADR;AAdA;EAkBY;EACA;EACA;EACA;AADZ;AApBA;EAyBY;EACA;AAFZ;AAxBA;EA8BY;EACA;EACA;EACA;EACA;EACA;AAHZ;AAMQ;;EACI;AAHZ;AAEQ;;EAIQ;EACA;AAFhB;AAzCA;EAiDQ;EACA;EACA;EACA;EACA;EACA;AALR;;AC/CA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AALA;EAWQ;EACA;EACA;EACA;EACA;EACA;AAHR;AAbA;EAoBQ;AAJR;AAhBA;EAuBY;EACA;EACA;AAJZ;AArBA;EA8BQ;EACA;EACA;EACA;EACA;AANR;AA5BA;EAqCY;EACA;EACA;EACA;EACA;AANZ;AAnCA;EA4CgB;EACA;EACA;EACA;EACA;AANhB;AA1CA;EAoDgB;EACA;EACA;EACA;EACA;AAPhB;AAjDA;EA8DQ;AAVR;AApDA;EAiEY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAVZ;AAYY;EACI;EACA;AAVhB;AAgBA;EACI;IACI;EAdN;EAaE;IAIQ;EAdV;EAUE;IAQQ;EAfV;EAOE;IAWY;EAfd;EAIE;IAgBQ;EAjBV;AACF;AAqBA;EACI;IACI;EAnBN;EAkBE;IAIQ;IACA;EAnBV;EAcE;IASgB;EApBlB;EAWE;IAgBY;EAxBd;AACF;;ACpGA;EACI;EACA;AAHJ;AACA;EAKQ;EACA;EACA;EACA;EACA;EACA;EACA;AAHR;AARA;EAcY;EACA;EACA;EACA;EACA;AAHZ;AAQA;EACI;IAEQ;EAPV;AACF;;ACpBA;EACI;AAHJ;AAMA;EACI;AAJJ;;AADA,kBACI,mBAHJ,CAMA,YACI,iBAJJ,C;ACEA;EACI;EACA;EACA;EACA;AAFJ;AAFA;EAOQ;AAFR;AALA;EAUY;EACA;EACA;EACA;AAFZ;AAXA;EAkBQ;EACA;AAJR;AAfA;EAsBY;EACA;EACA;AAJZ;AAMY;EACI;AAJhB;AAOY;EACI;EACA;AALhB;AA3BA;EAsCQ;EACA;EACA;AARR;AAhCA;EA2CY;AARZ;AAnCA;EA+CY;AATZ;;AChCA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AALJ;AAOI;;EACI;AAJR;AAOI;;;EAEQ;AAJZ;AAZA;EAqBQ;EACA;EACA;EACA;AANR;AAlBA;EA2BY;EACA;EACA;EACA;EACA;EACA;AANZ;AA1BA;EAoCY;EACA;EACA;EACA;EACA;EACA;EACA;AAPZ;AAnCA;EA8CY;EACA;EACA;EACA;AARZ;AAzCA;EAqDY;EACA;EACA;AATZ;AA9CA;EA0DgB;EACA;EACA;EACA;AAThB;AApDA;EAiEgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAVhB;AA9DA;EA8EQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAbR;AAzEA;EA0FQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAdR;AAnFA;EAqGQ;EACA;EACA;EACA;EACA;AAfR;AA1FA;EA6GE;EACA;AAhBF;AA9FA;EAiHG;AAhBH;AAjGA;EAoHgB;EACA;EACA;EACA;EACA;EACA;AAhBhB;AAzGA;EA6HI;EACA;EACA;EACA;AAjBJ;AAmBI;;EAEC;AAjBL;AAnHA;EAwIK;EACA;EACA;EACe;AAlBpB;AAyBA;EACI;IAEQ;EAxBV;EAsBE;IAOY;EA1Bd;AACF;AA+BA;EACI;IAGY;EA/Bd;EAoCU;;IAEI;EAlCd;EAqCU;;IAEI;EAnCd;EAsCU;;IAEI;EApCd;EAuCU;;IAEI;EArCd;AACF;;ACxJA;EACI;EACA;AALJ;AAGA;EAKQ;EACA;EACA;EACA;EACA;EACA;EACA;AALR;AANA;EAcY;AALZ;AATA;EAkBY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AANZ;AAnBA;EA6BY;EACA;EACA;EACA;EACA;AAPZ;AA1BA;EAsCQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AATR;AApCA;EAgDY;EACA;AATZ;AAxCA;EAqDY;EACA;EACA;EACA;AAVZ;AA9CA;EA6DQ;EACA;EACA;EACA;EACA;EACA;AAZR;AAtDA;EAqEY;EACA;EACA;EACA;EACA;EACA;AAZZ;AA9DA;EA6EgB;EACA;EACA;EACA;AAZhB;AAeY;;EACI;EACA;AAZhB;AAUY;;EAKQ;EACA;AAXpB;AA9EA;EA+FY;EACA;EACA;EACA;EACA;AAdZ;AArFA;EAuGY;EACA;EACA;AAfZ;AAiBY;;;EACI;AAbhB;AAgBY;EACI;AAdhB;AAiBY;EACI;AAfhB;AArGA;EAwHgB;AAhBhB;AAxGA;EA8HQ;EACA;EACA;EACA;EACA;AAnBR;AA/GA;EAsIQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AApBR;AAsBQ;EACI;EACA;AApBZ;AAjIA;EAyJY;EACA;EACA;EACA;EACA;AArBZ;AAxIA;EAiKY;EACA;EACA;EACA;EACA;EACA;EACA;AAtBZ;AA2BA;EACI;IACI;EAzBN;EAwBE;IAIQ;IACA;IACA;EAzBV;EA2BU;IACI;EAzBd;EA4BU;IACI;EA1Bd;AACF;;AC1KA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADJ;AAGI;EACI;AADR;AAbA;EAkBQ;EACA;EACA;EACA;EACA;EACA;EACA;AAFR;;ACtBA;EACI;EACA;EACA;EACA;AADJ;AAHA;;EAOQ;EACA;EACA;EACA;EACA;EACA;EACA;AAAR;AAEQ;;EACI;AACZ;AAjBA;;EAoBY;EACA;EACA;EACA;EACA;AACZ;AAzBA;;EA4BY;EACA;EACA;EACA;EACA;AACZ;AAjCA;EAqCQ;EACA;EACA;EACA;EACA;AADR;AAxCA;EA4CY;EACA;EACA;AADZ;AA7CA;EAkDY;EACA;EACA;EACA;EACA;AAFZ;;AC3CA;EACI;EACA;EACA;EACA;EACA;EACA;AALJ;AADA;;EASQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJR;AAMQ;;EACI;EACA;AAHZ;AAMQ;;;;EACI;AADZ;AAIQ;;EACI;AADZ;AA3BA;;EAgCY;EACA;EACA;EACA;EACA;AADZ;AAnCA;;EAwCY;EACA;EACA;EACA;AADZ;AA1CA;EAgDQ;EACA;AAHR;AAKQ;;;EACI;AADZ;AAIQ;EACI;AAFZ;AAKQ;EACI;AAHZ;AAzDA;EAgEY;AAJZ;AASA;EACI;IACI;EAPN;AACF;;ACvEA;EACI;EACA;AAJJ;AAEA;EAKQ;EACA;EACA;EACA;EACA;EACA;EACA;AAJR;AAPA;EAcY;AAJZ;AAVA;EAkBY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AALZ;AApBA;EA6BY;EACA;EACA;EACA;AANZ;AA1BA;EAqCQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AARR;AApCA;EAgDQ;EACA;EACA;AATR;AAzCA;EAsDQ;EACA;EACA;AAVR;AAYQ;EACI;AAVZ;AAjDA;EAgEQ;EACA;EACA;EACA;AAZR;AAgBA;EACI;IACI;EAdN;EAaE;IAIQ;EAdV;AACF;;AC1DA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AALJ;AAFA;EAUQ;EACA;EACA;EACA;EACA;EACA;EACA;AALR;AAXA;EAmBY;EACA;EACA;EACA;EACA;EACA;EACA;AALZ;AApBA;EA8BQ;EACA;EACA;AAPR;AAzBA;EAoCQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AARR;AApCA;EA8CY;AAPZ;AAvCA;EAkDY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AARZ;AAjDA;EA4DgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AARhB;AA3DA;EAuEgB;EACA;EACA;EACA;EACA;AAThB;AAlEA;EAgFY;EACA;EACA;EAEA;AAZZ;AAxEA;EAwFY;AAbZ;AA3EA;;EA4FY;EACA;EACA;EACA;EACA;AAbZ;AAkBA;EAEQ;EACA;AAjBR;AAcA;EAMY;AAjBZ;AAWA;EAUY;EACA;AAlBZ;AAuBA;EACI;IAGY;EAvBd;AACF;AA4BA;EACI;IAEQ;IACA;EA3BV;EAwBE;IAMY;EA3Bd;EAqBE;IAUY;EA5Bd;EAkBE;;IAcY;EA5Bd;AACF;;AChHA;EACI;EACA;EACA;AANJ;AAGA;EAMQ;EACA;EACA;EACA;AANR;AAHA;EAYY;EACA;AANZ;AAPA;EAiBY;EACA;EACA;EACA;EACA;EACA;AAPZ;AAfA;EAyBgB;EACA;EACA;EACA;AAPhB;AArBA;EA+BoB;EACA;EACA;EACA;EACA;EACA;EACA;AAPpB;AA9BA;EA0CgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAThB;AAzCA;EAqDoB;EACA;EACA;EACA;EACA;EACA;EACA;AATpB;AAlDA;EA8DwB;EACA;EACA;EACA;EACA;EACA;AATxB;AA1DA;EAuEwB;EACA;EACA;EACA;EACA;EACA;EACA;AAVxB;AAnEA;EAoFY;EACA;EACA;EACA;AAdZ;AAzEA;EA0FgB;EACA;EACA;EACA;EACA;EACA;EACA;AAdhB;AAlFA;EAoGgB;EACA;EACA;EACA;AAfhB;AAqBA;EAKoB;;;;IACI;EApBtB;EA2BkB;;IACI;EAxBtB;AACF;AA+BA;EAKoB;;;;IACI;EA9BtB;EAqCkB;;IACI;EAlCtB;AACF;AAyCA;EACI;IAIgB;EA1ClB;EA+CkB;;;;IACI;EA1CtB;EAiDkB;;IACI;EA9CtB;AACF;AAqDA;EACI;IAIgB;EAtDlB;EA2DkB;;;;IACI;EAtDtB;EA6DkB;;IACI;EA1DtB;AACF;AAiEA;EAKoB;;;;IACI;EAhEtB;EAuEkB;;IACI;EApEtB;AACF;AA2EA;EACI;IAIgB;EA5ElB;EAwEE;IAMoB;EA3EtB;EAiFkB;;;;IACI;EA5EtB;EAmFkB;;IACI;EAhFtB;AACF;AAuFA;EACI;IAGY;EAvFd;EA4FkB;;;;IACI;EAvFtB;EA8EE;IAeY;EA1Fd;EA2EE;IAkBgB;EA1FlB;EAwEE;IAqBoB;EA1FtB;AACF;;AC3MA;EACI;EACA;EACA;EACA;EACA;EACA;AADJ;AALA;EASQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADR;AAGQ;EACI;EACA;EACA;EACA;AADZ;AAIQ;EACI;AAFZ;AA5BA;EAmCQ;AAJR;AA/BA;EAuCQ;EACA;EACA;EACA;EACA;EACA;EACA;AALR;AASA;EACI;IACI;EAPN;AACF;AAUA;EACI;IACI;EARN;AACF;;ACpDA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACJ;AACI;EACI;AACR;AAZA;EAeQ;EACA;EACA;EACA;EACA;EACA;EACA;AAAR;AArBA;EAwBY;EACA;EACA;AAAZ;AA1BA;EA8BY;EACA;EACA;EACA;AADZ;;AChCA;EACI;EACA;EACA;EACA;AACJ;AALA;EAOQ;AACR;AAEI;EAEQ;AADZ;;ACXA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACJ;AAVA;;EAYQ;EACA;EACA;EACA;EACA;AAER;AAlBA;EAoBQ;EACA;AACR;AAtBA;EAwBY;EACA;EACA;AACZ;AA3BA;EA8BY;EACA;EACA;EACA;AAAZ;AAjCA;EAsCQ;EACA;AAFR;AArCA;EA0CY;EACA;EACA;AAFZ;AA1CA;EAgDY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHZ;AAKY;EACI;EACA;AAHhB;AA1DA;EAkEY;EACA;EACA;EACA;EACA;AALZ;AAOY;EACI;AALhB;;ACpEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AACJ;AACI;EACI;AACR;AAXA;EAcQ;EACA;EACA;EACA;EACA;EACA;AAAR;;ACjBA;EACI;AADJ;AAAA;EAIQ;EACA;EACA;EACA;AADR;AANA;EAUY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADZ;AAtBA;EA2BY;EACA;EACA;EACA;AAFZ;AA5BA;EAiCgB;EACA;EACA;AAFhB;AAjCA;EAwCoB;EACA;EACA;EACA;AAJpB;AAvCA;EAkDQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AARR;AAUQ;EACI;EACA;AARZ;AArDA;EAiEY;EACA;EACA;EACA;EACA;EACA;AATZ;AAcA;EACI;IACI;IACA;EAZN;EAUE;IAKQ;EAZV;AACF;;AFxEA,cAGI,UAEA,mBAEA,SACA,mBACA,iBAPA,UAQJ,CAVA,wEAMI,mBAFA,aAHA,iBAiBJ,CAlBA,0DAYQ,aAGA,kBAGR,CAlBA,6BAoBQ,aACA,WACR,CAtBA,yCA0BY,sCADA,YADA,UAGZ,CA3BA,0CAiCY,sCAHA,mBAEA,uBADA,kBAEZ,CAjCA,6BAsCQ,uBACA,gBAFR,CArCA,0CA4CY,gCADA,UADA,UAAZ,CA1CA,qCAiDY,mBAQA,sCAHA,qBAEA,sCARA,aAOA,gBAJA,cADA,uBAGA,eADA,UAEZ,CAKY,2CAEI,6BADA,uEAFhB,CA1DA,0CAqEY,6BADA,mBADA,oBAGA,gCAJA,UADZ,CAOY,gDACI,iCALhB,C;AGhEA;EACI;AAAJ;AADA;EAIQ;AAAR;;ACNA;EACI;EACA;EACA;EACA;EACA;EACA;AADJ;AALA;EASQ;EACA;EACA;EACA;AADR;AAXA;EAeY;EACA;EACA;EACA;AADZ;AAGY;EACI;AADhB;AApBA;EA2BQ;EACA;EACA;EACA;AAJR;AA1BA;EAkCQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AALR;AApCA;EA6CQ;EACA;AANR;AAxCA;EAiDY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AANZ;AApDA;EA6DgB;EACA;EACA;AANhB;AASY;EACI;EACA;AAPhB;AA7DA;EAyEY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AATZ;AAzEA;EAqFgB;EACA;EACA;AAThB;AAYY;EACI;EACA;AAVhB;;AChFA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AALA;EAWQ;EACA;EACA;EACA;EACA;AAHR;AAZA;EAkBY;AAHZ;AAfA;EAsBY;EACA;EACA;EACA;AAJZ;AArBA;EA8BQ;EACA;EACA;AANR;AA1BA;EAmCY;EACA;EACA;EACA;AANZ;AAhCA;EAyCgB;EACA;EACA;AANhB;AAQgB;EACI;AANpB;AASgB;EACI;AAPpB;AA3CA;EAuDgB;EACA;EACA;EACA;EACA;AAThB;AAlDA;EAgEY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAXZ;AAjEA;EA+EgB;EACA;EACA;EACA;EACA;AAXhB;AAcY;;EACI;AAXhB;AAUY;;EAIQ;EACA;AAVpB;AAgBI;EACI;AAdR;AAaI;EAMgB;AAhBpB;AAuBA;EACI;IACI;EArBN;EAoBE;IAKY;EAtBd;EAiBE;IAQgB;EAtBlB;AACF;;AClGA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AALA;EAWQ;EACA;EACA;EACA;EACA;EACA;AAHR;AAKQ;EACI;AAHZ;AAhBA;EAwBQ;EACA;EACA;AALR;AArBA;;EA6BY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJZ;AAlCA;;EAyCgB;EACA;EACA;AAHhB;AAMY;;EACI;EACA;AAHhB;AA7CA;EAsDgB;EACA;AANhB;AAQY;EAEQ;AAPpB;AAaY;EAEQ;AAZpB;AAkBI;EACI;AAhBR;AAoBA;EACI;IACI;EAlBN;AACF;;AC/DA;EAEQ;EACA;EACA;EACA;AADR;AAJA;EAQY;EACA;EACA;EACA;EACA;AADZ;AAXA;EAgBY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAFZ;AAIY;EACI;EACA;AAFhB;AAzBA;EA+BgB;EACA;EACA;EACA;EACA;AAHhB;;ACpCA;EACI;EACA;EACA;EACA;EACA;AACJ;AANA;EAQQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACR;AAlBA;EAqBQ;EACA;EACA;EACA;AAAR;;AClBA;EACI;AAFJ;AACA;EAIQ;EACA;AAFR;AAHA;EAQY;EACA;AAFZ;AAOA;EACI;IACI;EALN;AACF;AAQA;EACI;IACI;EANN;AACF;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;AATR;AAWQ;;EACI;AARZ;AAWQ;EAEQ;EACA;EACA;EACA;AAVhB;AAcQ;EACI;EACA;EACA;AAZZ;AAcY;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AAZhB;AAgBgB;EACI;AAdpB;AAHQ;EAqBY;AAfpB;AANQ;EA0BQ;AAjBhB;AAqBQ;EACI;EACA;EACA;EACA;EACA;AAnBZ;AAsBQ;EACI;EACA;AApBZ;AAsBY;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AApBhB;AAwBQ;EACI;EACA;EACA;EACA;AAtBZ;AAyBQ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;AAxBZ;AA2BQ;EACI;EACA;EACA;EACA;AAzBZ;AA8BA;EAGY;IACI;EA9Bd;AACF;AAmCA;EAGY;IACI;IACA;EAnCd;AACF;;ACvHA;EAEQ;EACA;AAFR;AADA;EAMY;AAFZ;;ACNA;EACI;EACA;EACA;EACA;EACA;EACA;AACJ;AAPA;EASQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACR;;ACXA;EAEQ;AANR;AAIA;EAKY;EACA;EACA;EACA;EACA;EACA;AANZ;AAQY;;EACI;AALhB;AARA;EAmBQ;EACA;EACA;EACA;AARR;AAdA;EA0BQ;AATR;AAWQ;;EACI;AARZ;AArBA;EAiCY;AATZ;AAcA;EACI;IAEQ;EAbV;AACF;;AClCA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AAJJ;AAHA;EAUQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJR;AAjBA;EAyBQ;EACA;EACA;EACA;EACA;EACA;AALR;AAzBA;EAiCY;EACA;AALZ;AA7BA;EAqCgB;EACA;AALhB;AAjCA;;EA2CY;AANZ;AArCA;EA+CY;EACA;EACA;AAPZ;AA1CA;EAqDY;EACA;EACA;EACA;AARZ;AAUY;EACI;AARhB;AAnDA;EAiEQ;EACA;EACA;EACA;EACA;EACA;AAXR;AA3DA;EAyEY;EACA;EACA;EACA;EACA;EACA;EACA;AAXZ;AApEA;EAkFgB;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;EACA;EACA;EACA;EACA;AF0FJ;AA7FA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA+FJ;AA7FI;EAAA;IACI;IACA;EAgGN;AACF;AA9FI;EAAA;IACI;IACA;EAiGN;AACF;AA/FI;EAAA;IACI;IACA;EAkGN;AACF;AAhGI;EAAA;IACI;EAmGN;AACF;AAjGI;EAAA;IACI;EAoGN;AACF;AAjGA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAmGJ;AAhGA;EACI;EACA;AAkGJ;AA/FA;EACI;EACA;AAiGJ;AA/FI;EACI;AAiGR;AA7FA;EACI;AA+FJ;AA5FA;EACI;AA8FJ;AA3FA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA6FJ;AA3FI;EAAA;IACI;IACA;EA8FN;AACF;AA3GA;EAgBQ;EACA;EACA;EACA;AA8FR;AAjHA;EAsBY;EACA;EACA;EACA;AA8FZ;AAvHA;EA4BgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA8FhB;AA5FgB;EACI;AA8FpB;AAtIA;EA6CgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA4FhB;AAnJA;EA2DgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA2FhB;AAzFgB;EACI;AA2FpB;AAjKA;EA2EgB;EACA;EACA;EACA;EACA;AAyFhB;AAxKA;EAmFgB;EACA;AAwFhB;AA5KA;;EAwFgB;EACA;AAwFhB;AAlFA;EACI;IACI;EAoFN;AACF;AAjFA;EACI;IACI;EAmFN;AACF;AAhFA;EACI;IACI;EAkFN;AACF;AA/EA;EACI;IACI;EAiFN;AACF;AA9EA;EACI;IAIgB;EA6ElB;EAjFE;IAQgB;EA4ElB;AACF;AAtEA;EACI;IACI;EAwEN;AACF","sources":["webpack://stremio/./src/components/Button/Button.less","webpack://stremio/./src/components/ModalDialog/styles.less","webpack://stremio/./src/components/AddonDetailsModal/AddonDetails/styles.less","webpack://stremio/./src/components/AddonDetailsModal/styles.less","webpack://stremio/./src/components/BottomSheet/BottomSheet.less","webpack://stremio/./src/components/Checkbox/Checkbox.less","webpack://stremio/./src/components/Chips/Chip/Chip.less","webpack://stremio/./src/components/Chips/Chips.less","webpack://stremio/./src/components/ColorInput/ColorPicker/styles.less","webpack://stremio/./src/components/ColorInput/ColorInput.less","webpack://stremio/./src/components/ContextMenu/ContextMenu.less","webpack://stremio/./src/components/Popup/styles.less","webpack://stremio/./src/components/Multiselect/styles.less","webpack://stremio/./src/components/MetaItem/styles.less","webpack://stremio/./src/components/EventModal/styles.less","webpack://stremio/./src/components/HorizontalScroll/HorizontalScroll.less","webpack://stremio/./src/components/TextInput/styles.less","webpack://stremio/./src/components/NavBar/HorizontalNavBar/SearchBar/styles.less","webpack://stremio/./src/components/NavBar/HorizontalNavBar/NavMenu/styles.less","webpack://stremio/./src/components/NavBar/HorizontalNavBar/styles.less","webpack://stremio/./src/components/NavBar/VerticalNavBar/NavTabButton/styles.less","webpack://stremio/./src/components/NavBar/VerticalNavBar/styles.less","webpack://stremio/./src/components/MainNavBars/MainNavBars.less","webpack://stremio/./src/components/SharePrompt/styles.less","webpack://stremio/./src/components/MetaPreview/ActionButton/styles.less","webpack://stremio/./src/common/Tooltips/TooltipItem/styles.less","webpack://stremio/./src/common/Tooltips/Tooltip/styles.less","webpack://stremio/./src/components/MetaPreview/MetaLinks/styles.less","webpack://stremio/./src/components/MetaPreview/MetaPreviewPlaceholder/styles.less","webpack://stremio/./src/components/MetaPreview/styles.less","webpack://stremio/./src/components/MetaPreview/Ratings/Ratings.less","webpack://stremio/./src/components/MetaRow/MetaRowPlaceholder/styles.less","webpack://stremio/./src/components/MetaRow/styles.less","webpack://stremio/./src/components/MultiselectMenu/Dropdown/Option/Option.less","webpack://stremio/./src/components/MultiselectMenu/Dropdown/Dropdown.less","webpack://stremio/./src/components/MultiselectMenu/MultiselectMenu.less","webpack://stremio/./src/components/NumberInput/NumberInput.less","webpack://stremio/./src/components/RadioButton/RadioButton.less","webpack://stremio/./src/components/SearchBar/SearchBarPlaceholder/styles.less","webpack://stremio/./src/components/SearchBar/styles.less","webpack://stremio/./src/components/Slider/styles.less","webpack://stremio/./src/components/Toggle/Toggle.less","webpack://stremio/./src/components/Video/VideoPlaceholder/styles.less","webpack://stremio/./src/components/Video/styles.less","webpack://stremio/./src/common/Toast/ToastItem/styles.less","webpack://stremio/./src/routes/Addons/Addon/styles.less","webpack://stremio/./src/routes/Addons/styles.less","webpack://stremio/./src/routes/Addons/AddonPlaceholder/AddonPlaceholder.less","webpack://stremio/./src/routes/Board/styles.less","webpack://stremio/./src/routes/Board/StreamingServerWarning/StreamingServerWarning.less","webpack://stremio/./src/routes/Discover/styles.less","webpack://stremio/./src/routes/NotFound/styles.less","webpack://stremio/./src/routes/Library/Placeholder/Placeholder.less","webpack://stremio/./src/routes/Library/styles.less","webpack://stremio/./src/routes/Calendar/Selector/Selector.less","webpack://stremio/./src/routes/Calendar/Table/Table.less","webpack://stremio/./src/routes/Calendar/Table/Cell/Cell.less","webpack://stremio/./src/routes/Calendar/List/Item/Item.less","webpack://stremio/./src/routes/Calendar/List/List.less","webpack://stremio/./src/routes/Calendar/Details/Details.less","webpack://stremio/./src/routes/Calendar/Placeholder/Placeholder.less","webpack://stremio/./src/routes/Calendar/Calendar.less","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/PlayIconCircleCentered/styles.less","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/styles.less","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/styles.less","webpack://stremio/./src/routes/MetaDetails/StreamsList/styles.less","webpack://stremio/./src/routes/MetaDetails/EpisodePicker/EpisodePicker.less","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBarPlaceholder/styles.less","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/styles.less","webpack://stremio/./src/routes/MetaDetails/VideosList/styles.less","webpack://stremio/./src/routes/MetaDetails/styles.less","webpack://stremio/./src/routes/Search/styles.less","webpack://stremio/./src/routes/Settings/Menu/Menu.less","webpack://stremio/./src/routes/Settings/components/Category/Category.less","webpack://stremio/./src/routes/Settings/components/Link/Link.less","webpack://stremio/./src/routes/Settings/components/Option/Option.less","webpack://stremio/./src/routes/Settings/components/Section/Section.less","webpack://stremio/./src/routes/Settings/General/User/User.less","webpack://stremio/./src/routes/Settings/General/General.less","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/URLsManager.less","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/Item/Item.less","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/AddItem/AddItem.less","webpack://stremio/./src/routes/Settings/Streaming/Streaming.less","webpack://stremio/./src/routes/Settings/Shortcuts/Shortcuts.less","webpack://stremio/./src/routes/Settings/Info/Info.less","webpack://stremio/./src/routes/Settings/Settings.less","webpack://stremio/./src/routes/Player/BufferingLoader/styles.less","webpack://stremio/./src/routes/Player/ControlBar/VolumeSlider/styles.less","webpack://stremio/./src/routes/Player/VolumeChangeIndicator/styles.less","webpack://stremio/./src/routes/Player/Error/styles.less","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/styles.less","webpack://stremio/./src/routes/Player/ControlBar/styles.less","webpack://stremio/./src/routes/Player/NextVideoPopup/styles.less","webpack://stremio/./src/routes/Player/StatisticsMenu/styles.less","webpack://stremio/./src/routes/Player/OptionsMenu/Option/styles.less","webpack://stremio/./src/routes/Player/OptionsMenu/styles.less","webpack://stremio/./src/routes/Player/SubtitlesMenu/styles.less","webpack://stremio/./src/routes/Player/SubtitlesMenu/Stepper/Stepper.less","webpack://stremio/./src/routes/Player/AudioMenu/AudioMenu.less","webpack://stremio/./src/routes/Player/SpeedMenu/Option/styles.less","webpack://stremio/./src/routes/Player/SpeedMenu/styles.less","webpack://stremio/./src/routes/Player/SideDrawerButton/SideDrawerButton.less","webpack://stremio/./src/routes/Player/SideDrawer/SideDrawer.less","webpack://stremio/./src/routes/Player/styles.less","webpack://stremio/./src/routes/Player/Video/styles.less","webpack://stremio/./src/routes/Player/Indicator/Indicator.less","webpack://stremio/./src/routes/Intro/PasswordResetModal/styles.less","webpack://stremio/./src/routes/Intro/styles.less","webpack://stremio/./src/App/UpdaterBanner/UpdaterBanner.less","webpack://stremio/./src/App/ErrorDialog/styles.less","webpack://stremio/./src/App/styles.less","webpack://stremio/./src/common/animations.less","webpack://stremio/./src/router/styles.css"],"sourcesContent":["// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.button-container {\n outline-width: var(--focus-outline-size);\n outline-color: @color-surface-light5;\n outline-offset: calc(-1 * var(--focus-outline-size));\n cursor: pointer;\n\n &:focus {\n outline-style: solid;\n }\n\n &:global(.disabled) {\n pointer-events: none;\n opacity: 0.5;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.modal-container {\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: @color-background-dark5-40;\n\n .modal-dialog-container {\n position: relative;\n flex: none;\n display: flex;\n flex-direction: column;\n max-width: 80%;\n max-height: 80%;\n padding: 0 2rem;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: var(--outer-glow);\n\n .modal-dialog-background {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-size: cover;\n background-position: center;\n opacity: 0.1;\n }\n\n .close-button-container {\n position: absolute;\n top: 0.5rem;\n right: 0.5rem;\n width: 3rem;\n height: 3rem;\n padding: 0.5rem;\n border-radius: var(--border-radius);\n z-index: 2;\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n color: var(--primary-foreground-color);\n opacity: 0.4;\n }\n\n &:hover,\n &:focus {\n .icon {\n opacity: 1;\n color: var(--primary-foreground-color);\n }\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n\n .modal-dialog-content {\n z-index: 1;\n position: relative;\n overflow-y: auto;\n\n .title-container {\n flex: 1 0 auto;\n display: flex;\n align-items: center;\n height: 4.5rem;\n font-size: 1.2rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .body-container {\n flex: 1;\n align-self: stretch;\n overflow: visible;\n padding: 2rem 0;\n\n &:last-child {\n margin-bottom: 2rem;\n }\n }\n\n .buttons-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:last-child {\n margin: 2rem 0;\n }\n }\n }\n }\n}\n\n.action-button {\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 3.5rem;\n border-radius: 3.5rem;\n padding: 1.2rem;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n background-color: transparent;\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n &:not(:last-child) {\n margin-right: 1rem;\n }\n\n .icon {\n flex: none;\n width: 1.2rem;\n height: 1.2rem;\n margin-right: .5rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 3.6em;\n font-size: 1.1rem;\n font-weight: 700;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .modal-container {\n .modal-dialog-container {\n position: relative;\n width: 90%;\n max-width: initial;\n z-index: 0;\n padding: 0 1.5rem;\n\n .modal-dialog-content {\n .buttons-container {\n flex-direction: column;\n gap: 1rem;\n }\n }\n }\n\n .action-button {\n width: 100%;\n\n .label {\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.addon-details-container {\n .title-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .logo, .icon {\n float: left;\n width: 5rem;\n height: 5rem;\n margin-right: 1.5rem;\n padding: 0.5rem;\n }\n\n .logo {\n object-fit: contain;\n object-position: center;\n }\n\n .icon {\n color: var(--primary-foreground-color);\n }\n\n .name-container {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: 0;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: baseline;\n \n .name {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n margin-right: 0.5rem;\n font-size: 1.6rem;\n color: var(--primary-foreground-color);\n }\n \n .version {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: auto;\n margin-top: 0.5rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .section-container {\n margin-top: 1rem;\n\n .section-header {\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n }\n\n .section-label {\n font-size: 1.1rem;\n font-weight: 300;\n color: var(--primary-foreground-color);\n\n &.transport-url-label {\n user-select: text;\n }\n\n &.disclaimer-label {\n font-style: italic;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.addon-details-modal-container {\n .addon-details-container, .addon-details-message-container {\n width: 40rem;\n max-width: 100%;\n color: var(--primary-foreground-color);\n }\n\n .cancel-button {\n background-color: transparent;\n opacity: 0.3;\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n opacity: 1;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .cancel-button-label {\n color: var(--primary-foreground-color);\n }\n }\n\n .uninstall-button {\n background-color: var(--overlay-color);\n \n &:hover {\n outline: var(--focus-outline-size) solid var(--overlay-color);\n background-color: transparent;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.bottom-sheet {\n z-index: 99;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n justify-content: center;\n\n .backdrop {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-background-color);\n opacity: 0.8;\n transition: opacity 0.1s ease-out;\n cursor: pointer;\n }\n\n .container {\n z-index: 1;\n position: absolute;\n bottom: 0;\n max-height: calc(100% - var(--horizontal-nav-bar-size));\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n padding-bottom: 1rem;\n border-radius: 2rem 2rem 0 0;\n background-color: var(--modal-background-color);\n box-shadow: var(--outer-glow);\n overflow: hidden;\n\n &:not(.dragging) {\n transition: transform 0.1s ease-out;\n }\n\n .heading {\n position: relative;\n\n .handle {\n position: relative;\n height: 2.5rem;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n \n &::after {\n content: \"\";\n height: 0.3rem;\n width: 3rem;\n border-radius: 1rem;\n background-color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n }\n \n .title {\n position: relative;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 1rem;\n padding-left: 1.5rem;\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--primary-foreground-color);\n }\n }\n\n .content {\n position: relative;\n overflow-y: auto;\n }\n }\n}\n\n@media only screen and (min-width: @small) and (orientation: portait) {\n .bottom-sheet {\n display: none;\n }\n}\n\n@media only screen and (min-width: @xsmall) and (orientation: landscape) {\n .bottom-sheet {\n display: none;\n }\n}\n\n@media only screen and (orientation: landscape) {\n .bottom-sheet {\n .container {\n max-width: calc(90% - var(--safe-area-inset-left) - var(--safe-area-inset-right));\n }\n }\n}","// Copyright (C) 2017-2025 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.checkbox {\n display: flex;\n align-items: center;\n overflow: visible;\n\n .label {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0.5rem 0;\n cursor: pointer;\n \n span {\n font-size: 0.9rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .link {\n font-size: 0.9rem;\n color: var(--primary-accent-color);\n margin-left: 0.5rem;\n\n &:hover {\n text-decoration: underline;\n }\n }\n }\n\n .checkbox-container {\n position: relative;\n width: 1.5rem;\n height: 1.5rem;\n border-radius: 0.3rem;\n background-color: var(--overlay-color);\n padding: 0.1rem;\n display: flex;\n flex: none;\n margin: 0 1rem 0 0.3rem;\n align-items: center;\n justify-content: center;\n transition: background-color 0.2s ease-in-out;\n cursor: pointer;\n outline: none;\n user-select: none;\n outline-width: var(--focus-outline-size);\n outline-color: @color-surface-light5;\n outline-offset: 2px;\n\n input[type='checkbox'] {\n opacity: 0;\n width: 0;\n height: 0;\n position: absolute;\n cursor: pointer;\n }\n\n .checkbox-icon {\n width: 100%; \n height: 100%;\n color: var(--primary-foreground-color);\n }\n\n &.disabled {\n cursor: not-allowed;\n }\n\n &.error {\n border-color: var(--color-trakt);\n }\n\n &.checked {\n background-color: var(--primary-accent-color);\n }\n\n &:hover, &:focus {\n outline-style: solid;\n }\n }\n}\n","// Copyright (C) 2017-2024 Smart code 203358507\n\n@height: 2.75rem;\n\n.chip {\n flex: none;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: @height;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n white-space: nowrap;\n text-transform: capitalize;\n padding: 0 1.75rem;\n border-radius: @height;\n background-color: transparent;\n user-select: none;\n overflow: hidden;\n opacity: 0.6;\n\n &:hover {\n background-color: var(--overlay-color);\n transition: background-color 0.1s ease-out;\n opacity: 1;\n }\n\n &.active {\n opacity: 1;\n background-color: var(--quaternary-accent-color);\n transition: background-color 0.1s ease-in;\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n.chips {\n position: relative;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 1rem;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.color-picker-container {\n overflow: visible;\n text-align: center;\n\n * {\n overflow: visible;\n }\n\n :global(.a-color-picker-stack):not(:global(.a-color-picker-row-top)) canvas, :global(.a-color-picker-circle) {\n border: solid thin var(--color-surfacedark);\n }\n\n :global(.a-color-picker-circle) {\n box-shadow: 0 0 .2rem var(--color-surfacedark);\n }\n\n :global(.a-color-picker-clipbaord) {\n pointer-events: none;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.color-input-container {\n position: relative;\n z-index: 0;\n\n .transparent-label-container {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 0.5rem;\n pointer-events: none;\n\n .transparent-label {\n flex: 1;\n text-align: center;\n color: @color-surface-light5;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n}\n\n.color-picker-container {\n margin: 1rem 0;\n}","@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.context-menu-container {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n\n .context-menu {\n position: fixed;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: 0 1.35rem 2.7rem @color-background-dark5-40,\n 0 1.1rem 0.85rem @color-background-dark5-20;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.label-container {\n // IOS specific \n // prevents showing the default context-menu when long pressing an anchor in safari.\n -webkit-touch-callout: none !important;\n\n position: relative;\n overflow: visible;\n\n .menu-container {\n position: absolute;\n z-index: 1;\n overflow: hidden;\n visibility: hidden;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: var(--outer-glow);\n cursor: auto;\n\n &.menu-direction-top-left {\n top: initial;\n right: 0;\n bottom: 100%;\n left: initial;\n visibility: visible;\n }\n\n &.menu-direction-bottom-left {\n top: 100%;\n right: 0;\n bottom: initial;\n left: initial;\n visibility: visible;\n }\n\n &.menu-direction-top-right {\n top: initial;\n right: initial;\n bottom: 100%;\n left: 0;\n visibility: visible;\n }\n\n &.menu-direction-bottom-right {\n top: 100%;\n right: initial;\n bottom: initial;\n left: 0;\n visibility: visible;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Popup/styles.less') {\n popup-menu-container: menu-container;\n}\n\n@parent-height: 10rem;\n\n.label-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 2.75rem;\n padding: 0 1.5rem;\n border-radius: 2.75rem;\n background-color: var(--overlay-color);\n\n &:global(.active) {\n .icon {\n transform: rotate(180deg);\n }\n }\n\n >.label {\n flex: 1;\n max-height: 2.4em;\n font-weight: 500;\n color: var(--primary-foreground-color);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .icon {\n flex: none;\n width: 1rem;\n height: 1rem;\n margin-left: 1rem;\n color: var(--primary-foreground-color);\n opacity: 0.4;\n }\n\n .popup-menu-container {\n width: 100%;\n }\n}\n\n.modal-container, .popup-menu-container {\n .menu-container {\n max-height: calc(3rem * 7);\n\n .option-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 1rem;\n\n &:global(.selected) {\n .icon {\n display: block;\n }\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n\n .label {\n flex: 1;\n max-height: 4.8em;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n display: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n margin-left: 1rem;\n background-color: var(--secondary-accent-color);\n opacity: 1;\n }\n }\n\n .no-options-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 1rem;\n background-color: @color-background;\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n font-size: 1.2rem;\n font-weight: 500;\n text-align: center;\n color: @color-surface-light5-90;\n }\n }\n }\n}\n\n@media (orientation: landscape) and (max-width: @xsmall) {\n .modal-container, .popup-menu-container {\n .menu-container {\n max-height: calc(100dvh - var(--horizontal-nav-bar-size) - @parent-height);\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Popup/styles.less') {\n popup-menu-container: menu-container;\n}\n\n:import('~stremio/components/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-option-container: option-container;\n multiselect-option-label: label;\n}\n\n@play-icon-size: 4rem;\n\n.meta-item-container {\n padding: 1rem;\n overflow: visible;\n\n &:hover, &:focus, &:global(.active), &:global(.selected) {\n outline-style: none;\n transition: background-color 100ms ease-out;\n\n .poster-container {\n box-shadow: 0 0 0 0.2rem var(--primary-foreground-color);\n\n .dismiss-icon-layer {\n opacity: 1;\n }\n\n .poster-image-layer {\n transform: scale(1.05);\n }\n\n .play-icon-layer {\n .play-icon-outer {\n color: transparent;\n }\n\n .play-icon-background {\n background-color: var(--secondary-accent-color);\n opacity: 1;\n }\n }\n }\n\n .title-bar-container {\n .menu-label-container {\n opacity: 1;\n }\n }\n }\n\n &.poster-shape-poster {\n .poster-container {\n padding-top: calc(100% * var(--poster-shape-ratio));\n }\n }\n\n &.poster-shape-square {\n .poster-container {\n padding-top: 100%;\n }\n }\n\n &.poster-shape-landscape {\n .poster-container {\n padding-top: calc(100% * var(--landscape-shape-ratio));\n }\n }\n\n .poster-container {\n position: relative;\n z-index: 0;\n background-color: var(--overlay-color);\n border-radius: var(--border-radius);\n\n &:global(.poster-change-cursor) {\n .poster-image-layer {\n &:hover {\n cursor: zoom-in;\n }\n }\n }\n\n .dismiss-icon-layer {\n z-index: -2;\n position: absolute;\n top: 0.5rem;\n left: 0.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 1.5rem;\n width: 1.5rem;\n border-radius: 100%;\n opacity: 0;\n transition: opacity 0.1s ease-in;\n\n .dismiss-icon {\n z-index: 1;\n position: relative;\n height: 1.25rem;\n width: 1.25rem;\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n\n .dismiss-icon-backdrop {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-background-color);\n opacity: 0.6;\n }\n }\n\n .watched-icon-layer {\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 1.5rem;\n height: 1.5rem;\n background-color: var(--primary-accent-color);\n border-radius: 50%;\n margin: 0.5rem;\n\n .watched-icon {\n width: 0.75rem;\n height: 0.75rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .poster-image-layer {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -3;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n transition: transform 0.1s ease-out;\n\n .poster-image {\n flex: none;\n width: 100%;\n height: 100%;\n object-position: center;\n object-fit: cover;\n opacity: 0.9;\n overflow-clip-margin: unset;\n }\n\n .placeholder-icon {\n flex: none;\n width: 80%;\n height: 50%;\n color: var(--primary-foreground-color);\n opacity: 0.2;\n }\n }\n\n .play-icon-layer {\n z-index: -2;\n position: absolute;\n top: 50%;\n left: 50%;\n margin-top: calc(@play-icon-size / -2);\n margin-left: calc(@play-icon-size / -2);\n display: flex;\n align-items: center;\n justify-content: center;\n height: @play-icon-size;\n width: @play-icon-size;\n transition: transform 0.1s ease-out;\n\n .play-icon {\n z-index: 2;\n position: relative;\n height: 2.25rem;\n width: 2.25rem;\n color: var(--primary-foreground-color);\n }\n\n .play-icon-outer {\n z-index: 1;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n color: var(--primary-foreground-color);\n box-shadow: 0 0 0 0.15rem currentColor inset;\n border-radius: 100%;\n transition: color 0.1s ease-in;\n }\n\n .play-icon-background {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-background-color);\n border-radius: 100%;\n opacity: 0.4;\n transition: all 0.1s ease-in;\n }\n\n &:hover {\n transform: scale(1.1);\n }\n }\n\n .progress-bar-layer {\n z-index: -1;\n position: absolute;\n bottom: 1rem;\n left: 1rem;\n right: 1rem;\n height: 0.45rem;\n border-radius: 0.45rem;\n overflow: hidden;\n\n .progress-bar {\n position: relative;\n height: 100%;\n background-color: var(--primary-foreground-color);\n }\n \n .progress-bar-background {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n }\n\n .new-videos {\n z-index: -1;\n position: absolute;\n top: 0;\n right: 0;\n overflow: visible;\n\n .layer {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 1.25rem;\n width: 2.25rem;\n border-radius: 0.25rem;\n\n &:nth-child(1) {\n top: 0.5rem;\n right: 0.5rem;\n background-color: var(--primary-foreground-color);\n opacity: 0.4;\n }\n\n &:nth-child(2) {\n top: 0.75rem;\n right: 0.75rem;\n background-color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n &:nth-child(3) {\n top: 1rem;\n right: 1rem;\n background-color: var(--primary-foreground-color);\n }\n\n .icon {\n height: 0.8rem;\n width: 0.8rem;\n color: var(--primary-accent-color);\n }\n\n .label {\n font-size: 0.8rem;\n font-weight: 600;\n color: var(--primary-accent-color);\n }\n }\n }\n }\n\n .title-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 4rem;\n overflow: visible;\n\n .title-label {\n flex: 1;\n padding-left: 1.5rem;\n font-weight: 600;\n text-align: center;\n color: var(--primary-foreground-color);\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n\n &:only-child {\n padding: 0 0.5rem;\n }\n }\n\n .menu-label-container {\n z-index: 1;\n flex: none;\n width: 1.5rem;\n height: 4rem;\n padding: 1rem 0;\n background-color: transparent;\n opacity: 0;\n transform: translateX(1rem);\n transition: opacity 0.1s ease-out;\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .popup-menu-container {\n width: auto;\n\n .multiselect-menu-container {\n min-width: 9rem;\n max-width: 14rem;\n\n .multiselect-option-container {\n padding: 1rem 1.5rem;\n\n &:hover, &:focus {\n outline: none;\n background-color: var(--overlay-color);\n }\n\n .multiselect-option-label {\n font-weight: 500;\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .meta-item-container {\n padding: 0.5rem;\n\n .title-bar-container {\n margin-top: 0.5rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/ModalDialog/styles.less') {\n modal-dialog-content: modal-dialog-content;\n modal-dialog-container: modal-dialog-container;\n}\n\n.event-modal {\n backdrop-filter: blur(10px);\n\n .modal-dialog-container {\n overflow: visible;\n max-width: 45rem;\n\n .modal-dialog-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n overflow: visible;\n position: relative;\n\n .body-container {\n overflow-y: visible;\n }\n\n .image {\n position: absolute;\n top: -10rem;\n left: 50%;\n transform: translateX(-50%);\n object-fit: cover;\n width: 30rem;\n height: 30rem;\n }\n\n .info-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 2.5rem;\n padding: 10rem 4rem 0;\n\n .title-container {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n\n .title {\n color: var(--primary-foreground-color);\n font-size: 1.325rem;\n text-align: center;\n padding: 0 6rem;\n }\n\n .label {\n color: var(--primary-foreground-color);\n font-size: 1rem;\n text-align: center;\n opacity: 0.5;\n }\n }\n\n .addon-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n gap: 0.5rem;\n\n .icon {\n height: 2rem;\n width: 2rem;\n color: var(--primary-accent-color);\n }\n\n .name {\n color: var(--primary-foreground-color);\n }\n }\n\n .action-button {\n background-color: var(--primary-foreground-color);\n border: 2px solid var(--primary-foreground-color);\n padding: 0.8rem 2rem;\n border-radius: 2rem;\n\n .button-label {\n color: var(--primary-accent-color);\n font-size: 1rem;\n font-weight: 700;\n }\n\n &:hover {\n background-color: transparent;\n }\n }\n }\n }\n }\n}\n\n@media (orientation: landscape) and (max-height: @minimum) {\n .event-modal {\n .modal-dialog-container {\n .modal-dialog-content {\n overflow-y: auto;\n\n .body-container {\n overflow-y: auto;\n }\n\n .image {\n display: none;\n }\n\n .info-container {\n padding: 1rem 4rem 0;\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .event-modal {\n .modal-dialog-container {\n .modal-dialog-content {\n .info-container {\n .title-container {\n .title {\n padding: 0rem;\n font-size: 1rem;\n }\n\n .label {\n font-size: 0.875rem;\n }\n }\n }\n }\n }\n }\n}\n","// Copyright (C) 2017-2024 Smart code 203358507\n\n@mask-width: 10%;\n\n.horizontal-scroll {\n position: relative;\n overflow-x: auto;\n\n &.left {\n mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) calc(100% - @mask-width), rgba(0, 0, 0, 0) 100%);\n }\n\n &.right {\n mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) @mask-width);\n }\n\n &.center {\n mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) @mask-width, rgba(0, 0, 0, 1) calc(100% - @mask-width), rgba(0, 0, 0, 0) 100%);\n }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n.text-input {\n user-select: text;\n\n &::-moz-focus-inner {\n border: none;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.search-bar-container {\n --search-bar-size: 3.25rem;\n display: flex;\n flex-direction: row;\n height: var(--search-bar-size);\n border-radius: var(--search-bar-size);\n background-color: var(--overlay-color);\n position: relative;\n overflow: visible;\n\n .search-input {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0 0.5rem 0 2rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n cursor: text;\n\n &::placeholder, .placeholder-label {\n max-height: 1.2em;\n opacity: 1;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n }\n\n .submit-button-container {\n flex: none;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: var(--search-bar-size);\n padding: 0 1.5rem;\n\n .icon {\n flex: none;\n width: 1.7rem;\n height: 1.7rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n }\n\n .menu-container {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n height: auto;\n z-index: 10;\n padding: 1rem;\n margin: 0 auto;\n display: flex;\n justify-content: center;\n align-items: flex-start;\n flex-direction: column;\n gap: 1.5rem;\n background-color: var(--modal-background-color);\n border-radius: var(--border-radius);\n \n .label {\n font-size: 0.9rem;\n color: var(--primary-foreground-color);\n }\n\n .title {\n display: flex;\n justify-content: space-between;\n width: 100%;\n opacity: 0.8;\n padding-bottom: 1rem;\n\n .search-history-clear {\n cursor: pointer;\n color: var(--primary-foreground-color);\n font-size: 0.9rem;\n\n &:hover {\n opacity: 0.6;\n }\n }\n }\n\n .items {\n width: 100%;\n margin: 0 auto;\n display: flex;\n justify-content: center;\n align-items: flex-start;\n flex-direction: column;\n\n .item {\n width: 90%;\n color: var(--primary-foreground-color);\n text-align: left;\n text-decoration: none;\n padding: 0.5rem 1rem;\n border-radius: var(--border-radius);\n width: 100%;\n cursor: pointer;\n z-index: 10;\n\n &:hover {\n background-color: var(--secondary-background-color);\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Popup/styles.less') {\n popup-menu-container: menu-container;\n}\n\n@mobile-height: calc(var(--small-viewport-height) - var(--horizontal-nav-bar-size) - var(--vertical-nav-bar-size));\n@height: calc(var(--small-viewport-height) - var(--horizontal-nav-bar-size));\n\n.nav-menu-popup-label {\n .popup-menu-container {\n margin-top: 1rem;\n }\n}\n.nav-menu-container {\n width: 22rem;\n max-height: calc(@height - 1rem);\n overflow-y: auto;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n\n &.with-warning {\n max-height: calc(@height - 6rem);\n }\n\n .user-info-container {\n display: flex;\n padding: 1.5rem 1rem;\n\n .avatar-container {\n flex: none;\n height: 4rem;\n width: 4rem;\n border-radius: 50%;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n background-origin: content-box;\n background-clip: content-box;\n background-color: var(--primary-foreground-color);\n opacity: 0.9;\n }\n\n .user-info-details {\n flex: auto;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-left: 1rem;\n\n .email-container {\n flex: none;\n margin-bottom: 0.5rem;\n\n .email-label {\n flex: 1;\n color: var(--primary-foreground-color);\n }\n }\n\n .logout-button-container {\n flex: none;\n\n &:hover, &:focus {\n outline: none;\n\n .logout-label {\n text-decoration: underline;\n }\n }\n\n .logout-label {\n flex: 1;\n font-size: 0.9rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n }\n }\n }\n\n .nav-menu-section {\n border-top: thin solid var(--overlay-color);\n\n .nav-menu-option-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 4rem;\n padding: 0 1.5rem;\n\n &:hover {\n background-color: var(--overlay-color);\n }\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n\n .nav-menu-option-label {\n flex: 1;\n color: var(--primary-foreground-color);\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .nav-menu-container {\n max-height: calc(@mobile-height - 1rem);\n\n &.with-warning {\n max-height: calc(@mobile-height - 8.5rem);\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.horizontal-nav-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n height: var(--horizontal-nav-bar-size);\n padding-right: 1rem;\n background-color: transparent;\n overflow: visible;\n padding-top: var(--safe-area-inset-top);\n box-sizing: content-box;\n\n .logo-container {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--vertical-nav-bar-size);\n height: var(--horizontal-nav-bar-size);\n\n .logo {\n flex: none;\n width: 2.5rem;\n height: 2.5rem;\n object-position: center;\n object-fit: contain;\n opacity: 0.9;\n }\n }\n\n .back-button-container {\n margin-left: max(0rem, calc(1rem - var(--safe-area-inset-left)));\n }\n\n .title {\n flex: 4 0 0;\n padding: 0 1rem;\n font-size: 1.2rem;\n font-style: normal;\n font-weight: 500;\n letter-spacing: 0.01rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: @color-secondaryvariant2-light1-90;\n }\n\n .search-bar {\n height: 3.25rem;\n width: 30rem;\n }\n\n .buttons-container {\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n overflow: visible;\n }\n\n .button-container {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 3.5rem;\n height: 3.5rem;\n border-radius: 0.75rem;\n opacity: 0.6;\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .active() {\n background-color: var(--overlay-color);\n opacity: 1;\n\n .icon {\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n }\n\n &:global(.active) {\n .active();\n }\n\n @media (pointer: fine) {\n &:hover {\n .active();\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .horizontal-nav-bar-container {\n justify-content: space-between;\n padding-right: 0;\n\n .logo-container {\n width: var(--horizontal-nav-bar-size);\n }\n\n .button-container {\n margin: 0 1rem;\n\n &:not(.back-button-container):not(.menu-button-container) {\n display: none;\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.nav-tab-button-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n border-radius: 0.75rem;\n\n @media (pointer: fine) {\n &:hover {\n background-color: var(--overlay-color);\n\n .label {\n opacity: 0.6;\n }\n\n &:global(.selected) {\n .label {\n opacity: 1;\n }\n }\n }\n }\n\n &:global(.selected) {\n .icon {\n opacity: 1;\n }\n\n .icon, .label {\n color: var(--primary-accent-color);\n }\n }\n\n .icon, .logo {\n flex: none;\n width: 2.2rem;\n height: 2.2rem;\n margin-bottom: 0.5rem;\n }\n\n .icon {\n color: var(--primary-foreground-color);\n opacity: 0.35;\n }\n\n .label {\n flex: none;\n position: relative;\n max-width: 100%;\n max-height: 2.4em;\n padding: 0 0.5rem;\n font-size: 0.8rem;\n font-weight: 500;\n letter-spacing: 0.01rem;\n text-align: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n opacity: 0;\n overflow: hidden;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .nav-tab-button-container {\n .label {\n opacity: 0.6;\n }\n\n &:global(.selected) {\n .label {\n opacity: 1;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.vertical-nav-bar-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 1rem;\n width: var(--vertical-nav-bar-size);\n padding: 1rem 0;\n background-color: transparent;\n overflow-y: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n .nav-tab-button {\n width: calc(var(--vertical-nav-bar-size) - 1.2rem);\n height: calc(var(--vertical-nav-bar-size) - 1.2rem);\n min-height: 3.5rem;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .vertical-nav-bar-container {\n flex-direction: row;\n justify-content: space-between;\n gap: 0;\n height: var(--vertical-nav-bar-size);\n width: 100%;\n padding: 0 1rem;\n overflow-y: hidden;\n overflow-x: auto;\n\n .nav-tab-button {\n flex: none;\n\n &:last-child {\n display: none;\n }\n }\n }\n}\n\n@media only screen and (max-height: @minimum) {\n .vertical-nav-bar-container {\n .nav-tab-button {\n &:last-child {\n display: none;\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.main-nav-bars-container {\n position: relative;\n z-index: 0;\n overflow: clip;\n margin-left: var(--safe-area-inset-left);\n margin-right: var(--safe-area-inset-right);\n width: calc(100% - var(--safe-area-inset-left) - var(--safe-area-inset-right));\n height: 100%;\n\n .horizontal-nav-bar {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n }\n\n .vertical-nav-bar {\n position: absolute;\n top: var(--horizontal-nav-bar-size);\n bottom: 0;\n left: 0;\n z-index: 1;\n }\n\n .nav-content-container {\n position: absolute;\n top: calc(var(--horizontal-nav-bar-size) + var(--safe-area-inset-top));\n right: 0;\n bottom: 0;\n left: var(--vertical-nav-bar-size);\n z-index: 0;\n overflow: hidden;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .main-nav-bars-container {\n .nav-content-container {\n left: 0;\n bottom: var(--vertical-nav-bar-size);\n }\n\n .vertical-nav-bar {\n top: initial;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.share-prompt-container {\n .buttons-container {\n display: flex;\n flex-direction: row;\n\n .button-container {\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 1rem;\n\n &:not(:last-child) {\n margin-right: 1rem;\n }\n\n .icon {\n flex: none;\n height: 1.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .facebook-button, .x-button, .reddit-button {\n border-radius: var(--border-radius);\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n\n .facebook-button {\n background-color: var(--color-facebook);\n }\n\n .x-button {\n background-color: var(--color-x);\n }\n\n .reddit-button {\n background-color: var(--color-reddit);\n }\n }\n\n .url-container {\n display: flex;\n flex-direction: row;\n margin-top: 1rem;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n\n .url-text-input {\n flex: 1;\n align-self: stretch;\n padding: 1rem;\n font-size: 1.1rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .copy-button {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n width: 8rem;\n padding: 1rem;\n border-radius: 0 var(--border-radius) var(--border-radius) 0;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 1.2rem;\n height: 1.2rem;\n margin-right: 0.5rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 2.4em;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.action-button-container {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n gap: 1rem;\n border-radius: 100%;\n background-color: var(--overlay-color);\n backdrop-filter: blur(5px);\n transition: background-color 0.1s ease-out;\n\n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n .icon-container {\n flex: none;\n\n .icon {\n display: block;\n height: 1.75rem;\n width: 1.75rem;\n color: var(--primary-foreground-color);\n opacity: 0.9;\n }\n }\n\n .label-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .label {\n flex: 1;\n font-size: 1rem;\n font-weight: 500;\n max-height: 2.4em;\n padding: 0 0.2rem;\n text-align: center;\n color: var(--primary-foreground-color);\n opacity: 0.9;\n }\n }\n}\n\n@media @phone-landscape {\n .action-button-container {\n .label-container {\n display: none;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .action-button-container {\n flex-direction: row;\n padding: 0 1rem;\n\n .icon-container {\n width: 2rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.tooltip-item {\n position: fixed;\n opacity: 0;\n\n &:global(.active) {\n opacity: 1;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.tooltip-placeholder {\n z-index: -1;\n visibility: hidden;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.meta-links-container {\n .label-container {\n margin-bottom: 0.75rem;\n text-transform: uppercase;\n font-size: 0.95rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n\n .links-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n .link-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n margin-right: 0.75rem;\n margin-bottom: 0.75rem;\n padding: 0.4rem 1.25rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n border-radius: 2rem;\n border: var(--focus-outline-size) solid transparent;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n backdrop-filter: blur(5px);\n\n &:hover, &:focus {\n background-color: @color-surface-light5-30;\n }\n\n &:focus {\n outline: none;\n border-color: @color-surface-light5;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.meta-preview-placeholder-container {\n display: flex;\n flex-direction: column;\n\n .meta-info-container {\n flex: 1;\n align-self: stretch;\n\n .logo-container {\n width: 20rem;\n height: 8rem;\n max-width: 100%;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n\n .duration-release-info-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n margin: 1rem 0;\n\n .duration-container {\n flex-basis: 5rem;\n height: 1.4rem;\n margin-right: 1rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n\n .release-info-container {\n flex-basis: 5rem;\n height: 1.4rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n\n .genres-container {\n margin: 1rem 0;\n\n .genres-header-container {\n width: 6.5rem;\n height: 1.6rem;\n max-width: 100%;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n\n .genre-label-container {\n width: 10rem;\n height: 1.2rem;\n max-width: 100%;\n margin-top: 0.2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n }\n\n .action-buttons-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n height: 4rem;\n margin-bottom: 1rem;\n border-radius: 4rem;\n background-color: var(--color-placeholder-background);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.meta-preview-container {\n position: relative;\n z-index: 0;\n display: flex;\n flex-direction: column;\n\n &.compact {\n .meta-info-container {\n .logo, .logo-placeholder {\n width: 100%;\n height: 6rem;\n }\n\n .runtime-release-info-container {\n justify-content: space-between;\n\n .runtime-label, .release-info-label {\n margin: 1rem 0.4rem;\n }\n }\n\n .description-container {\n max-height: none;\n }\n }\n\n .action-buttons-container {\n justify-content: space-between;\n\n .action-button:not(:last-child) {\n margin-right: 0;\n }\n }\n }\n\n .background-image-layer {\n position: absolute;\n top: -10px;\n right: -10px;\n bottom: -10px;\n left: -10px;\n z-index: -1;\n\n .background-image {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n filter: blur(10px);\n opacity: 0.3;\n }\n }\n\n .meta-info-container {\n flex: 1;\n align-self: stretch;\n overflow-y: auto;\n\n &:not(:hover) {\n scrollbar-color: transparent transparent;\n\n &::-webkit-scrollbar-thumb, &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n }\n\n .logo, .logo-placeholder {\n display: block;\n max-width: 100%;\n margin-bottom: 2rem;\n }\n\n .logo {\n height: 9rem;\n object-fit: contain;\n object-position: center;\n }\n\n .logo-placeholder {\n font-size: 1.7rem;\n color: @color-surface-light5-90;\n }\n\n .runtime-release-info-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n margin-top: 1rem;\n\n .runtime-label, .release-info-label {\n flex: 0 1 auto;\n margin-right: 3rem;\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--primary-foreground-color);\n }\n\n .imdb-button-container {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n border-radius: 0.5rem;\n border: var(--focus-outline-size) solid transparent;\n padding: 0rem 0.5rem;\n\n &:focus {\n outline: none;\n border: var(--focus-outline-size) solid @color-surface-light5;\n }\n\n .label {\n flex: 0 1 auto;\n margin-right: 1rem;\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 3rem;\n height: 3rem;\n color: var(--color-imdb);\n }\n }\n }\n\n .description-container {\n margin-top: 1rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 2em;\n color: var(--primary-foreground-color);\n .label-container {\n text-transform: uppercase;\n font-size: 0.95rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n }\n\n .meta-links {\n margin-top: 1.5rem;\n }\n }\n\n .action-buttons-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n flex-wrap: wrap;\n padding-top: 3.5rem;\n overflow: visible;\n\n .label {\n position: absolute;\n top: -3rem;\n left: 0;\n opacity: 0;\n transition: opacity 0.3s ease; \n text-align: center;\n color: var(--primary-foreground-color);\n overflow: visible;\n }\n\n &:not(:last-child) {\n margin-right: 1rem;\n }\n\n &:hover {\n .label {\n opacity: 0.7;\n }\n }\n \n .action-button {\n flex: none;\n width: 4rem;\n height: 4rem;\n margin-bottom: 1rem;\n\n &:global(.wide) {\n width: auto;\n padding: 0 2rem;\n border-radius: 4rem;\n }\n\n &:not(:last-child) {\n margin-right: 1rem;\n }\n\n &.show-button {\n &:hover, &:focus {\n background-color: var( --secondary-accent-color);\n outline: none;\n }\n }\n }\n }\n\n .ratings {\n margin-bottom: 1rem;\n margin-right: 1rem;\n }\n}\n\n.share-prompt {\n width: 30rem;\n}\n\n\n@media @phone-landscape {\n .meta-preview-container {\n .meta-info-container {\n .logo {\n height: 5rem;\n margin-bottom: 1rem;\n }\n }\n\n .action-buttons-container {\n padding-top: 1.5rem;\n gap: 0.5rem;\n\n .action-button {\n padding: 0 1.5rem !important;\n margin-right: 0rem !important;\n height: 3rem;\n border-radius: 2rem;\n }\n }\n\n .ratings {\n margin-right: 0;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .meta-preview-container {\n .meta-info-container {\n .logo {\n margin: 2rem auto;\n }\n\n .runtime-release-info-container {\n justify-content: space-between;\n\n .runtime-label, .release-info-label {\n margin: 0;\n }\n }\n }\n\n .action-buttons-container {\n flex-shrink: 0;\n margin-top: 3rem;\n overflow: visible;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n }\n\n .share-prompt {\n width: auto;\n }\n}","// Copyright (C) 2017-2025 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n@height: 4rem;\n@width: 4rem;\n@height-mobile: 3rem;\n@width-mobile: 3rem;\n\n\n.ratings-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-start;\n background-color: var(--overlay-color);\n border-radius: 2rem;\n height: @height;\n width: fit-content;\n\n .icon-container {\n display: flex;\n justify-content: center;\n align-items: center;\n height: @height;\n width: @width;\n padding: 0 1rem;\n cursor: pointer;\n\n .icon {\n width: calc(@width / 2);\n height: calc(@height / 2);\n color: var(--primary-foreground-color);\n opacity: 0.7;\n\n &:hover {\n opacity: 1;\n }\n }\n\n &.disabled {\n pointer-events: none;\n }\n }\n}\n\n@media @phone-landscape {\n .ratings-container {\n height: @height-mobile;\n\n .icon-container {\n height: @height-mobile;\n width: @width-mobile;\n\n .icon {\n width: 1.75rem;\n height: 1.75rem;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.meta-row-placeholder-container {\n .header-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n padding: 0 1rem;\n margin-bottom: 0.5rem;\n\n .title-container {\n flex: 1;\n max-height: 2.4em;\n font-size: 1.6rem;\n font-weight: 500;\n color: var(--color-placeholder-text);\n\n &:empty {\n height: 1.2em;\n background: linear-gradient(to right, var(--color-placeholder-background) 0 40%, transparent 40% 100%);\n }\n }\n\n .see-all-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n max-width: 12rem;\n padding: 0.2rem;\n\n &:focus {\n outline: none;\n background-color: var(--color-placeholder-background);\n }\n\n .label {\n flex: 0 1 auto;\n max-height: 1.2em;\n font-size: 1rem;\n font-weight: 500;\n color: var(--color-placeholder-text);\n }\n\n .icon {\n flex: none;\n height: 1rem;\n margin-left: 0.5rem;\n color: var(--color-placeholder-text);\n }\n }\n }\n\n .meta-items-container {\n display: flex;\n flex-direction: row;\n align-items: stretch;\n\n .meta-item {\n flex: 1;\n margin: 1rem;\n\n &:not(:first-child) {\n margin-left: 1.5rem;\n }\n\n .poster-container {\n border-radius: var(--border-radius);\n padding-bottom: calc(100% * var(--poster-shape-ratio));\n background-color: var(--color-placeholder-background);\n }\n\n .title-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 2.8rem;\n\n .title-label {\n flex: none;\n width: 60%;\n height: 1.2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .meta-row-placeholder-container {\n .meta-items-container {\n .meta-item {\n margin: 0.5rem;\n\n &:not(:first-child) {\n margin-left: 0.5rem;\n }\n\n .title-bar-container {\n margin-top: 0.5rem;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.meta-row-container {\n overflow: visible;\n\n .header-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n padding: 0 1rem;\n margin-bottom: 0.25rem;\n\n .title-container {\n flex: 1;\n max-height: 2.4em;\n font-size: 1.6rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .see-all-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n max-width: 12rem;\n height: 2.5rem;\n padding: 0 0.5rem 0 1rem;\n border-radius: 2.5rem;\n opacity: 0.6;\n\n &:hover, &:focus {\n outline: none;\n background-color: var(--overlay-color);\n opacity: 1;\n }\n\n .label {\n flex: 0 1 auto;\n max-height: 1.2em;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n height: 1.5rem;\n margin-left: 0.5rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .message-container {\n max-height: 3.6em;\n padding: 0 0.5rem;\n font-size: 1.3rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .meta-items-container {\n display: flex;\n flex-direction: row;\n align-items: stretch;\n overflow: visible;\n\n .meta-item {\n &.poster-shape-poster {\n flex: calc(1 / var(--poster-shape-ratio));\n }\n\n &.poster-shape-square {\n flex: 1;\n }\n\n &.poster-shape-landscape {\n flex: calc(1 / var(--landscape-shape-ratio));\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .meta-row-container {\n .header-container {\n padding: 0 0.5rem;\n\n .title-container {\n margin-right: 0.5rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n\n .meta-items-container {\n .meta-item {\n &:not(:first-child) {\n margin-left: 0;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@height: 3rem;\n\n.option {\n height: @height;\n font-size: var(--font-size-normal);\n color: var(--primary-foreground-color);\n align-items: center;\n display: flex;\n flex-direction: row;\n padding: 1rem;\n\n .label {\n flex: 1;\n color: var(--primary-foreground-color);\n }\n \n .icon {\n flex: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n margin-left: 1rem;\n background-color: var(--secondary-accent-color);\n opacity: 1;\n }\n\n &:hover {\n background-color: rgba(255, 255, 255, 0.15);\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n@parent-height: 12rem;\n@item-height: 3rem;\n\n.dropdown {\n background: var(--modal-background-color);\n display: none;\n position: absolute;\n width: 100%;\n top: 100%;\n left: 0;\n z-index: 10;\n box-shadow: var(--outer-glow);\n border-radius: var(--border-radius);\n overflow: hidden;\n\n &.open {\n display: block;\n max-height: calc(@item-height * 7);\n overflow: auto;\n }\n\n .back-button {\n display: flex;\n align-items: center;\n gap: 0 0.5rem;\n padding: 0.75rem;\n color: var(--primary-foreground-color);\n\n .back-button-icon {\n width: 1.5rem;\n }\n }\n}\n\n@media (orientation: landscape) and (max-width: @xsmall) {\n .dropdown {\n &.open {\n max-height: calc(100dvh - var(--horizontal-nav-bar-size) - @parent-height);\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@border-radius: 2.75rem;\n@height: 3rem;\n\n.multiselect-menu {\n position: relative;\n min-width: 8.5rem;\n overflow: visible;\n border-radius: @border-radius;\n\n &.disabled {\n pointer-events: none;\n opacity: 0.3;\n }\n\n .multiselect-button {\n height: @height;\n padding: 0.75rem 1.5rem;\n display: flex;\n flex: 1;\n justify-content: space-between;\n align-items: center;\n gap: 0 0.5rem;\n border-radius: @border-radius;\n\n .label {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n width: 1rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n\n &.open {\n transform: rotate(180deg);\n }\n }\n }\n\n &:hover, &.active {\n background-color: var(--overlay-color);\n }\n}","// Copyright (C) 2017-2025 Smart code 203358507\n\n.number-input {\n user-select: text;\n display: flex;\n max-width: 14rem;\n height: 3.5rem;\n margin-bottom: 1rem;\n color: var(--primary-foreground-color);\n background: var(--overlay-color);\n border-radius: 3.5rem;\n\n .button {\n flex: none;\n width: 3.5rem;\n height: 3.5rem;\n padding: 1rem;\n background: var(--overlay-color);\n border: none;\n border-radius: 100%;\n cursor: pointer;\n z-index: 1;\n\n .icon {\n width: 100%;\n height: 100%;\n }\n }\n\n .number-display {\n display: flex;\n flex: 1;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 0 1rem;\n\n &::-moz-focus-inner {\n border: none;\n }\n\n .label {\n font-size: 0.8rem;\n font-weight: 400;\n opacity: 0.7;\n }\n\n .value {\n font-size: 1.2rem;\n display: flex;\n justify-content: center;\n width: 100%;\n color: var(--primary-foreground-color);\n text-align: center;\n appearance: none;\n\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.radio-button {\n display: flex;\n align-items: center;\n overflow: visible;\n\n .radio-container {\n position: relative;\n width: 1.75rem;\n height: 1.75rem;\n border: 3px solid var(--color-placeholder);\n border-radius: 1rem;\n background-color: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease-in-out;\n cursor: pointer;\n outline: none;\n user-select: none;\n outline-width: var(--focus-outline-size);\n outline-color: @color-surface-light5;\n outline-offset: calc(-1 * var(--focus-outline-size));\n\n input[type='radio'] {\n opacity: 0;\n width: 0;\n height: 0;\n position: absolute;\n cursor: pointer;\n }\n\n .inner-circle {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 1.25rem;\n height: 1.25rem;\n border-radius: 0.675rem;\n border: 2px solid var(--secondary-background-color);\n transition: opacity 0.2s ease-in-out;\n background-color: transparent;\n opacity: 0;\n }\n\n &.disabled {\n cursor: not-allowed;\n }\n\n &.error {\n border-color: var(--color-trakt);\n }\n\n &.selected {\n .inner-circle {\n background-color: var(--primary-accent-color);\n opacity: 1;\n }\n }\n\n &:focus {\n outline-style: solid;\n }\n }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n.search-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3.5rem;\n padding: 0 1rem;\n border-radius: 3.5rem;\n border: var(--focus-outline-size) solid transparent;\n background-color: var(--color-placeholder-background);\n\n .search-input {\n flex: 1;\n max-height: 1.2em;\n margin-right: 1rem;\n font-size: 1.1rem;\n color: var(--color-placeholder-text);\n }\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--color-placeholder-background);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.search-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3rem;\n padding: 0 1.5rem;\n border-radius: 3rem;\n border: var(--focus-outline-size) solid transparent;\n background-color: var(--overlay-color);\n cursor: text;\n\n &:focus-within {\n border: var(--focus-outline-size) solid var(--primary-foreground-color);\n }\n\n .search-input {\n flex: 1;\n margin-right: 1rem;\n font-size: 1rem;\n color: var(--primary-foreground-color);\n\n &::placeholder {\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n }\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n@audio-boost-background: linear-gradient(to right,\n var(--primary-foreground-color) 0%,\n var(--primary-foreground-color) 50%,\n var(--warning-accent-color) 75%,\n var(--danger-accent-color) 100%) !important;\n\nhtml.active-slider-within {\n cursor: grabbing;\n\n body {\n pointer-events: none;\n }\n}\n\n.slider-container {\n position: relative;\n z-index: 0;\n overflow: visible;\n cursor: pointer;\n\n &:global(.disabled) {\n pointer-events: none;\n opacity: 0.5;\n }\n\n .layer {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n overflow: visible;\n }\n\n .track {\n z-index: 0;\n flex: 1;\n width: 100%;\n height: var(--track-size);\n border-radius: var(--track-size);\n background-color: var(--primary-accent-color);\n opacity: 0.2;\n\n &.audio-boost {\n opacity: 0.3;\n background: @audio-boost-background;\n }\n }\n\n .track-before {\n z-index: 1;\n flex: none;\n height: var(--track-size);\n border-radius: var(--track-size);\n background-color: var(--overlay-color);\n }\n\n .track-after {\n z-index: 2;\n flex: none;\n width: 100%;\n height: var(--track-size);\n border-radius: var(--track-size);\n background-color: var(--primary-foreground-color);\n mask-image: linear-gradient(to right,\n black 0%,\n black var(--mask-width),\n transparent var(--mask-width)\n );\n\n &.audio-boost {\n background: @audio-boost-background;\n }\n }\n\n .thumb {\n z-index: 3;\n flex: none;\n width: var(--thumb-size);\n height: var(--thumb-size);\n transform: translateX(-50%);\n background-color: var(--primary-foreground-color);\n border-radius: 100%;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n@height: 1.7rem;\n@width: 3.2rem;\n@thumb-margin: 0.5rem;\n\n@thumb-size: calc(@height - @thumb-margin);\n\n.toggle-container {\n position: relative;\n \n .toggle {\n position: relative;\n width: @width;\n height: @height;\n border-radius: @height;\n background-color: var(--overlay-color);\n transition: background-color 0.1s ease-in-out;\n\n &::before {\n content: \"\";\n position: absolute;\n height: @thumb-size;\n width: @thumb-size;\n top: calc(@thumb-margin / 2);\n left: calc(@thumb-margin / 2);\n border-radius: 50%;\n background-color: var(--primary-foreground-color);\n transition: transform 0.1s ease-in-out;\n }\n }\n\n &:global(.checked) {\n .toggle {\n background-color: var(--secondary-accent-color);\n\n &::before {\n transform: translateX(calc(@width - @thumb-size - @thumb-margin));\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.video-placeholder-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0.5rem 1rem;\n\n .info-container {\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: 3rem;\n margin: 0.5rem 1rem;\n\n .name-container {\n width: 80%;\n height: 1.2rem;\n border-radius: var(--border-radius);\n background: var(--color-placeholder-background);\n }\n\n .released-container {\n height: 1rem;\n border-radius: var(--border-radius);\n background: var(--color-placeholder-background);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Popup/styles.less') {\n context-menu-container: menu-container;\n menu-direction-top-left: menu-direction-top-left;\n menu-direction-bottom-left: menu-direction-bottom-left;\n menu-direction-top-right: menu-direction-top-right;\n menu-direction-bottom-right: menu-direction-bottom-right;\n}\n\n.video-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n padding: 0.5rem;\n margin-bottom: 0.5rem;\n border-radius: var(--border-radius);\n\n &:hover,\n &:focus,\n &:global(.active) {\n background-color: var(--overlay-color);\n }\n\n .thumbnail-container {\n flex: none;\n position: relative;\n border-radius: 0.3rem;\n overflow: hidden;\n\n .thumbnail {\n pointer-events: none;\n display: block;\n height: 5rem;\n width: 8rem;\n object-fit: cover;\n object-position: center;\n opacity: 0.9;\n background-color: var(--overlay-color);\n\n &.blurred {\n filter: blur(0.5rem);\n -webkit-filter: blur(0.5rem);\n }\n }\n\n .placeholder-icon {\n display: block;\n height: 5rem;\n width: 8rem;\n padding: 1rem;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n opacity: 0.25;\n }\n\n .progress-bar-container {\n position: absolute;\n bottom: 0.5rem;\n left: 0.5rem;\n right: 0.5rem;\n border-radius: var(--border-radius);\n\n .progress-bar {\n z-index: 1;\n position: relative;\n height: 0.4rem;\n background-color: var(--primary-accent-color);\n }\n\n .progress-bar-background {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-foreground-color);\n opacity: 0.2;\n }\n }\n }\n\n .info-container {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0 0.5rem 0 1.5rem;\n\n .title-container {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n margin-bottom: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .flex-row-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n\n .released-container {\n flex: 1;\n margin-right: 0.5rem;\n padding: 0.2rem 0;\n font-size: 0.8rem;\n font-weight: 500;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n opacity: 0.44;\n }\n\n .upcoming-watched-container {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 1.6rem;\n border-radius: 0.3rem;\n\n &>:nth-child(2) {\n margin-left: 0.5rem;\n }\n\n .upcoming-container,\n .watched-container {\n flex: none;\n display: flex;\n align-items: center;\n height: 100%;\n padding: 0 0.5rem;\n max-width: 10rem;\n\n &:not(:only-child) {\n max-width: 5rem;\n }\n\n .flag-icon {\n height: 1.15rem;\n width: 1.15rem;\n margin-right: 0.25rem;\n color: var(--secondary-foreground-color);\n }\n\n .flag-label {\n font-size: 0.8rem;\n font-weight: 800;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-transform: uppercase;\n color: var(--secondary-foreground-color);\n }\n }\n\n .upcoming-container {\n background-color: var(--secondary-accent-color);\n }\n\n .watched-container {\n background-color: var(--tertiary-accent-color);\n }\n }\n }\n }\n\n .context-menu-container {\n max-width: calc(90% - 1.5rem);\n z-index: 2;\n\n .context-menu-content {\n --spatial-navigation-contain: contain;\n\n .context-menu-option-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 1rem 1.5rem;\n\n &:hover,\n &:focus {\n background-color: var(--overlay-color);\n }\n\n .context-menu-option-label {\n font-size: 1rem;\n font-weight: 500;\n color:var(--primary-foreground-color);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .video-container {\n .context-menu-container {\n &.menu-direction-top-left,\n &.menu-direction-bottom-left {\n right: 1.5rem;\n }\n\n &.menu-direction-top-right,\n &.menu-direction-bottom-right {\n left: 1.5rem;\n }\n\n &.menu-direction-top-left,\n &.menu-direction-top-right {\n bottom: 90%;\n }\n\n &.menu-direction-bottom-left,\n &.menu-direction-bottom-right {\n top: 90%;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.toast-item-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n width: 25rem;\n margin-bottom: 1rem;\n overflow: visible;\n box-shadow: var(--outer-glow);\n background-color: var(--modal-background-color);\n pointer-events: auto;\n border-radius: var(--border-radius);\n border: 0.4px solid var(--primary-accent-color);\n backdrop-filter: blur(10px);\n padding: 1rem;\n &.success {\n .icon-container {\n .icon {\n color: @color-accent3;\n }\n }\n }\n\n &.error {\n .icon-container {\n .icon {\n color: var(--color-trakt);\n }\n }\n }\n\n &.info {\n .icon-container {\n background-color: @color-primary-light2;\n\n .icon {\n color: @color-surface-light5-90;\n }\n }\n }\n\n .icon-container {\n border-radius: 3px;\n background-color: var(--overlay-color);\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n max-width: 2rem;\n }\n }\n\n .info-container {\n flex: 1;\n align-self: stretch;\n padding: 0.2rem 1rem;\n\n .title-container {\n font-size: 1.2rem;\n color: var(--primary-foreground-color);\n\n &:not(:last-child) {\n margin-bottom: 0.2rem;\n }\n }\n\n .message-container {\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n }\n\n .close-button-container {\n width: 2rem;\n height: 2rem;\n border-radius: 3px;\n \n .icon {\n display: block;\n width: 100%;\n height: 100%;\n color: var(--primary-foreground-color);\n opacity: 0.4;\n }\n\n &:hover {\n .icon {\n opacity: 1;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.addon-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 1.5rem;\n border: 0.15rem solid transparent;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n transition: border-color 0.1s ease-out;\n cursor: pointer;\n\n &:hover {\n border-color: var(--overlay-color);\n }\n\n .logo-container {\n flex: none;\n width: 8rem;\n height: 8rem;\n\n .logo {\n display: block;\n width: 100%;\n height: 100%;\n padding: 0.5rem;\n object-fit: contain;\n object-position: center;\n }\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n padding: 1rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .info-container {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: 0;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: baseline;\n padding: 0 0.5rem;\n\n .name-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n padding: 0 0.5rem;\n max-height: 3.6em;\n font-size: 1.6rem;\n color: var(--primary-foreground-color);\n }\n\n .version-container {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: auto;\n margin-top: 0.5rem;\n padding: 0 0.5rem;\n max-height: 2.4em;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .types-container {\n flex-grow: 0;\n flex-shrink: 0;\n flex-basis: 100%;\n margin-top: 0.5rem;\n padding: 0 0.5rem;\n max-height: 2.4em;\n color: var(--primary-foreground-color);\n text-transform: capitalize;\n opacity: 0.4;\n }\n\n .description-container {\n flex-grow: 0;\n flex-shrink: 0;\n flex-basis: 100%;\n margin-top: 0.5rem;\n padding: 0 0.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .buttons-container {\n flex: none;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 17rem;\n\n .action-buttons-container {\n flex: auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1rem;\n }\n\n .install-button-container, .configure-button-container, .uninstall-button-container, .share-button-container {\n flex: auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n height: 3.5rem;\n padding: 0 1rem;\n border-radius: 4rem;\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 2.4em;\n font-size: 1.1rem;\n font-weight: 700;\n text-align: center;\n }\n }\n\n .install-button-container {\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .label {\n color: var(--primary-foreground-color)\n }\n }\n\n .configure-button-container {\n flex: none;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .icon {\n color: var(--primary-foreground-color)\n }\n }\n\n .uninstall-button-container {\n outline-color: var(--primary-foreground-color);\n outline-style: solid;\n opacity: 0.3;\n\n &:hover {\n opacity: 1;\n }\n\n .label {\n color: var(--primary-foreground-color);\n }\n }\n\n .share-button-container {\n opacity: 0.9;\n\n &:hover {\n .label {\n text-decoration: underline;\n }\n }\n\n .icon {\n height: 1.5rem;\n width: 1.5rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n color: var(--primary-foreground-color);\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .addon-container {\n flex-wrap: wrap;\n\n .info-container {\n margin-left: 0.5rem;\n padding: 0;\n\n .name-container {\n max-height: none;\n font-size: 1.3rem;\n }\n }\n\n .buttons-container {\n flex: 0 1 100%;\n width: auto;\n margin-top: 1rem;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n .share-button-container {\n flex: none;\n\n .icon {\n margin-right: 0;\n }\n\n .label {\n display: none;\n }\n }\n\n .install-button-container, .uninstall-button-container {\n flex-basis: 100%;\n margin-right: 1rem;\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n}\n\n:import('~stremio/components/ModalDialog/styles.less') {\n share-modal-content: modal-dialog-content;\n}\n\n:import('~stremio/components/ModalDialog/styles.less') {\n addon-modal-content: modal-dialog-content;\n cancel-button-label: label;\n}\n\n:import('~stremio/components/ModalDialog/styles.less') {\n filters-modal-container: modal-dialog-container;\n filters-modal-content: modal-dialog-content;\n}\n\n.addons-container {\n height: calc(100% - var(--safe-area-inset-bottom));\n background-color: transparent;\n\n .addons-content {\n width: 100%;\n height: 100%;\n margin-bottom: calc(var(--bottom-overlay-size) * -1);\n display: flex;\n flex-direction: column;\n align-self: stretch;\n\n .addons-list-container {\n padding: 0 1.5rem;\n z-index: 1;\n }\n\n .selectable-inputs-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 1.5rem;\n overflow: visible;\n z-index: 2;\n\n .add-button-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 3rem;\n margin-right: 1.5rem;\n padding: 0 1.5rem;\n border-radius: 3rem;\n background-color: var(--secondary-accent-color);\n z-index: 3;\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 1.2rem;\n height: 1.2rem;\n margin-right: 0.5rem;\n color: var(--primary-foreground-color);\n }\n\n .add-button-label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 2.4em;\n font-size: 1rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n }\n }\n\n .select-input-container {\n background-color: var(--overlay-color);\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: 15rem;\n margin-right: 1.5rem;\n\n .multiselect-menu-container {\n overflow: auto;\n }\n }\n\n .spacing {\n flex: 1;\n }\n\n .search-bar {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: 18rem;\n }\n\n .filter-button {\n flex: none;\n display: none;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n\n .filter-icon {\n flex: none;\n width: 1.4rem;\n height: 1.4rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .message-container {\n flex: 1;\n align-self: stretch;\n padding: 0 1.5rem;\n font-size: 2rem;\n color: var(--primary-foreground-color);\n }\n\n .addons-list-container {\n flex: 1;\n align-self: stretch;\n overflow-y: auto;\n\n .addon {\n margin-bottom: 1.5rem;\n }\n }\n }\n}\n\n.filters-modal {\n .filters-modal-container {\n overflow: visible;\n\n .filters-modal-content {\n display: flex;\n flex-direction: column;\n overflow: visible !important;\n\n .select-input-container {\n height: 3rem;\n\n .multiselect-menu-container {\n overflow: auto;\n }\n\n &:not(:last-child) {\n margin-bottom: 1rem;\n }\n }\n }\n }\n}\n\n.add-addon-modal-container {\n .addon-modal-content {\n width: 30rem;\n\n .notice {\n margin-bottom: 1.5rem;\n font-size: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .addon-url-input {\n width: 100%;\n padding: 1rem;\n color: var(--primary-foreground-color);\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n outline: var(--focus-outline-size) solid var(--overlay-color);\n outline-offset: calc(-1 * var(--focus-outline-size));\n\n &:hover {\n outline-color: var(--primary-foreground-color);\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n }\n\n .cancel-button {\n background-color: transparent;\n opacity: 0.3;\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n opacity: 1;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .cancel-button-label {\n color: var(--primary-foreground-color);\n }\n }\n}\n\n.share-modal-container {\n .share-modal-content {\n width: 30rem;\n\n .title-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .logo, .icon {\n float: left;\n width: 5rem;\n height: 5rem;\n margin-right: 1.5rem;\n padding: 0.5rem;\n }\n\n .logo {\n object-fit: contain;\n object-position: center;\n }\n\n .icon {\n color: var(--primary-foreground-color);\n }\n\n .name-container {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: 0;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: baseline;\n\n .name {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n margin-right: 0.5rem;\n font-size: 1.6rem;\n color: var(--primary-foreground-color);\n }\n\n .version {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: auto;\n margin-top: 0.5rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .share-prompt-container {\n margin-top: 1rem;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .addons-container {\n .addons-content {\n .selectable-inputs-container {\n .add-button-container {\n z-index: 1;\n position: fixed;\n right: 0;\n bottom: calc(3rem + var(--horizontal-nav-bar-size));\n }\n\n .select-input-container {\n display: none;\n }\n\n .spacing {\n display: none;\n }\n\n .search-bar {\n flex-basis: 100%;\n margin-right: 1rem;\n }\n\n .filter-button {\n display: flex;\n }\n }\n }\n }\n\n .share-modal-container {\n .share-modal-content {\n width: auto;\n }\n }\n\n .add-addon-modal-container {\n .addon-modal-content {\n width: auto;\n\n .notice {\n margin-bottom: 1rem;\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n@placeholder-opacity: 0.1;\n@padding: 1.5rem;\n@small-padding: 1rem;\n@logo-size: 8rem;\n\n.placeholder-pill(@width: 100%, @height: 1.3rem) {\n background-color: var(--primary-foreground-color);\n border-radius: var(--border-radius);\n opacity: @placeholder-opacity;\n width: @width;\n height: @height;\n}\n\n.placeholder-logo(@size: @logo-size) {\n width: @size;\n height: @size;\n border-radius: 50%;\n background-color: var(--primary-foreground-color);\n opacity: @placeholder-opacity;\n}\n\n.addon-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: @padding;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n cursor: inherit;\n\n .content {\n display: flex;\n flex: 1;\n\n .logo-container {\n flex: none;\n .placeholder-logo(@logo-size);\n }\n\n .info-container {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n padding: @small-padding;\n flex: 1;\n\n .placeholder-pill:nth-child(1) {\n .placeholder-pill(40%);\n }\n\n .placeholder-pill:nth-child(2) {\n .placeholder-pill(60%);\n }\n\n .placeholder-pill:nth-child(3) {\n .placeholder-pill(80%);\n }\n\n .placeholder-pill:nth-child(4) {\n display: none;\n }\n }\n }\n\n .buttons-container {\n flex: none;\n display: flex;\n flex-direction: column;\n gap: @small-padding;\n width: 30%;\n max-width: 18rem;\n\n .action-buttons-container {\n display: flex;\n flex-direction: row;\n gap: @small-padding;\n\n .placeholder-pill:nth-child(1), .placeholder-pill:nth-child(2) {\n .placeholder-pill(50%, 3.5rem);\n }\n }\n\n .placeholder-pill:last-child {\n .placeholder-pill(100%, 3.5rem);\n }\n }\n}\n\n@media screen and (max-width: @minimum) {\n .addon-container {\n flex-direction: column;\n align-items: stretch;\n width: 100%;\n gap: 1rem;\n\n .content {\n flex-direction: row;\n width: 100%;\n\n .logo-container {\n margin: 0 auto;\n }\n\n .info-container {\n padding: 1rem;\n width: 100%;\n\n .placeholder-pill:nth-child(1) {\n .placeholder-pill(60%);\n }\n\n .placeholder-pill:nth-child(2) {\n .placeholder-pill(40%);\n }\n\n .placeholder-pill:nth-child(3) {\n .placeholder-pill(80%, 0.8rem);\n }\n\n .placeholder-pill:nth-child(4) {\n display: block;\n .placeholder-pill(20%, 0.8rem);\n }\n }\n }\n\n .buttons-container {\n flex-direction: column;\n align-items: stretch;\n width: 100%;\n gap: 0.5rem;\n max-width: none;\n\n .action-buttons-container {\n display: none;\n }\n }\n }\n}\n","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/MetaRow/styles.less') {\n meta-item: meta-item;\n}\n\n:import('~stremio/components/MetaRow/MetaRowPlaceholder/styles.less') {\n meta-item-placeholder: meta-item;\n}\n\n.board-container {\n width: 100%;\n height: calc(100% - var(--safe-area-inset-bottom));\n display: flex;\n flex-direction: column;\n\n .board-content-container {\n flex: 1;\n align-self: stretch;\n background: transparent;\n\n .board-content {\n height: 100%;\n width: 100%;\n padding: 0 1rem;\n overflow-y: auto;\n\n .board-row {\n margin-top: 1rem;\n margin-bottom: 2rem;\n }\n }\n }\n\n .board-warning-container {\n position: absolute;\n bottom: calc(var(--safe-area-inset-bottom) + 0.5rem);\n left: calc(var(--safe-area-inset-left) + 0.5rem);\n right: calc(var(--safe-area-inset-right) + 0.5rem);\n }\n}\n\n@media only screen and (max-width: @large) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+10) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+9) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @normal) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+9) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+8) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @medium) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+8) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+7) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+7) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+6) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+6) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+5) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxsmall) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+5) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+4) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .board-container {\n position: relative;\n z-index: 0;\n\n .board-content-container {\n .board-content {\n .board-row {\n margin-bottom: 1.5rem;\n }\n\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+4) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+3) {\n display: none;\n }\n }\n }\n }\n }\n \n .board-warning-container {\n bottom: calc(var(--vertical-nav-bar-size) + 0.5rem);\n height: 7rem;\n }\n }\n}\n\n@media @phone-landscape {\n .board-container {\n .board-warning-container {\n left: calc(var(--safe-area-inset-left) + var(--vertical-nav-bar-size) + 0.5rem);\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.warning-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 1rem;\n background-color: @color-accent5-dark3;\n border-radius: 0.5rem;\n box-shadow: 0rem 0.25rem 1rem rgba(0, 0, 0, 0.48), 0rem 0.5rem 3rem rgba(0, 0, 0, 0.64);\n\n .warning-statement {\n flex: 1;\n font-size: 1.2rem;\n max-height: 2.4em;\n color: @color-surface-light5-90;\n }\n\n .actions {\n display: flex;\n gap: 1rem;\n\n .action {\n flex: none;\n padding: 0.5rem 1rem;\n color: @color-surface-light5-90;\n background-color: rgba(0, 0, 0, 0.24);\n border-radius: var(--border-radius);\n \n &:first-child {\n margin-left: 0;\n }\n \n .label {\n font-size: 1.2rem;\n color: @color-surface-light5-90;\n }\n \n &:hover {\n .label {\n text-decoration: underline;\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .warning-container {\n flex-direction: column;\n text-align: center;\n padding: 1rem 0.5rem;\n\n .actions {\n justify-content: space-around;\n }\n }\n}\n","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-modal-container: modal-container;\n multiselect-option-container: option-container;\n multiselect-icon: icon;\n multiselect-label: label;\n}\n\n:import('~stremio/components/ModalDialog/styles.less') {\n selectable-inputs-modal-container: modal-dialog-container;\n selectable-inputs-modal-content: modal-dialog-content;\n}\n\n.discover-container {\n height: calc(100% - var(--safe-area-inset-bottom));\n background-color: transparent;\n\n .discover-content {\n width: 100%;\n height: 100%;\n margin-bottom: calc(var(--bottom-overlay-size) * -1);\n display: flex;\n flex-direction: row;\n\n .catalog-container {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n contain: strict;\n\n .meta-items-container {\n padding: 0 1.5rem;\n z-index: 1;\n }\n\n .selectable-inputs-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n padding: 1.5rem;\n overflow: visible;\n z-index: 2;\n\n .select-input {\n flex: 0 1 15rem;\n background-color: var(--overlay-color);\n\n &:not(:first-child) {\n margin-left: 1.5rem;\n }\n\n &:nth-child(n+4) {\n display: none;\n\n &~.filter-container {\n .filter-button {\n display: flex;\n }\n }\n }\n\n .multiselect-menu-container {\n overflow: auto;\n }\n }\n\n .filter-container {\n display: flex;\n flex: 1 0 5rem;\n justify-content: flex-end;\n\n .filter-button {\n flex: none;\n display: none;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n margin-left: 1.5rem;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n\n .filter-icon {\n flex: none;\n width: 1.4rem;\n height: 1.4rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n }\n\n .missing-addon-warning-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0 1.5rem 1.5rem 1.5rem;\n\n .warning-label {\n flex: none;\n max-height: 2.4em;\n margin-bottom: 1rem;\n font-size: 1.4rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .install-button {\n flex: none;\n min-width: 10rem;\n max-width: 15rem;\n padding: 1rem;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .label {\n max-height: 2.4em;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .message-container {\n flex: 0 1 auto;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0 1.5rem;\n overflow-y: auto;\n\n &:first-child {\n padding: 4rem;\n }\n\n .image {\n flex: none;\n width: 12rem;\n height: 12rem;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .message-label {\n flex: none;\n font-size: 2rem;\n font-weight: 400;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .meta-items-container {\n flex: 1;\n align-self: stretch;\n display: grid;\n grid-auto-rows: max-content;\n align-items: center;\n grid-gap: 0.5rem;\n margin-right: 1.5rem;\n overflow-y: auto;\n\n .meta-item-placeholder {\n padding: 1rem;\n\n .poster-container {\n padding-bottom: calc(100% * var(--poster-shape-ratio));\n background-color: var(--color-placeholder-background);\n border-radius: var(--border-radius);\n }\n\n .title-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 2.8rem;\n\n .title-label {\n flex: none;\n width: 60%;\n height: 1.2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n }\n }\n }\n\n .meta-preview-container {\n flex: none;\n align-self: stretch;\n width: 29rem;\n padding: 2rem 2.5rem;\n border-radius: var(--border-radius) 0 0 var(--border-radius);\n background-color: var(--modal-background-color);\n }\n }\n}\n\n.selectable-inputs-modal {\n .selectable-inputs-modal-container {\n overflow: visible;\n\n .selectable-inputs-modal-content {\n overflow: visible !important;\n\n .select-input {\n height: 3rem;\n display: none;\n\n &:nth-child(n+4) {\n display: flex;\n\n &:not(:last-child) {\n margin-bottom: 1rem;\n }\n }\n\n .multiselect-menu-container {\n max-height: calc(3rem * 3);\n overflow: auto;\n }\n }\n }\n }\n}\n\n@media only screen and (min-width: @xxlarge) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(10, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxlarge) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(9, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xlarge) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(8, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @large) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(7, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @normal) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(6, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @medium) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(5, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(4, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(5, 1fr);\n margin-right: 0;\n }\n }\n\n .meta-preview-container {\n display: none;\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxsmall) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(4, 1fr);\n margin-right: 0;\n }\n }\n\n .meta-preview-container {\n display: none;\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .selectable-inputs-container {\n justify-content: space-between;\n\n .select-input {\n &:nth-child(n+2) {\n display: none;\n\n &~.filter-container {\n .filter-button {\n display: flex;\n }\n }\n }\n }\n }\n\n .meta-items-container {\n grid-template-columns: repeat(3, 1fr);\n }\n }\n }\n }\n\n .selectable-inputs-modal {\n .selectable-inputs-modal-container {\n .selectable-inputs-modal-content {\n .select-input {\n display: none;\n\n &:nth-child(n+2) {\n display: flex;\n\n &:not(:last-child) {\n margin-bottom: 1rem;\n }\n }\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.not-found-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n background-color: transparent;\n\n .nav-bar {\n flex: none;\n align-self: stretch;\n }\n\n .not-found-content {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n .not-found-image {\n flex: none;\n width: 12rem;\n height: 12rem;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .not-found-label {\n flex: none;\n font-size: 2.5rem;\n max-height: 3.6em;\n max-width: 60%;\n text-align: center;\n color: @color-secondaryvariant2-light1-90;\n }\n }\n}","// Copyright (C) 2017-2025 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.placeholder {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100%;\n width: 100%;\n overflow-y: auto;\n\n .title {\n font-size: 1.75rem;\n font-weight: 400;\n text-align: center;\n color: var(--primary-foreground-color);\n margin-bottom: 1rem;\n opacity: 0.5;\n }\n\n .image-container {\n padding: 1.5rem 0;\n\n .image {\n height: 100%;\n max-height: 14rem;\n object-fit: contain;\n }\n }\n\n .overview {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4rem;\n margin-bottom: 1rem;\n\n .point {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1.5rem;\n width: 18rem;\n\n .icon {\n flex: none;\n height: 3.25rem;\n width: 3.25rem;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n\n .text {\n flex: auto;\n font-size: 1.1rem;\n font-size: 500;\n color: var(--primary-foreground-color);\n opacity: 0.9;\n }\n }\n }\n\n .button-container {\n margin: 1rem 0;\n \n .button {\n display: flex;\n justify-content: center;\n height: 4rem;\n line-height: 4rem;\n padding: 0 5rem;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n text-align: center;\n border-radius: 3.5rem;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .placeholder {\n padding: 1rem 2rem;\n\n .title {\n margin-bottom: 0;\n }\n\n .image-container {\n padding: 1rem;\n\n .image {\n max-height: 10rem;\n }\n }\n\n .button-container {\n margin: 1rem 0 0;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .placeholder {\n padding: 1rem 2rem;\n\n .overview {\n flex-direction: column;\n gap: 1rem;\n\n .point {\n .text {\n font-size: 1rem;\n }\n }\n }\n\n .button-container {\n .button {\n width: 100%;\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n}\n\n:import('~stremio/components/ModalDialog/styles.less') {\n selectable-inputs-modal-container: modal-dialog-container;\n selectable-inputs-modal-content: modal-dialog-content;\n}\n\n.library-container {\n height: calc(100% - var(--safe-area-inset-bottom));\n background-color: transparent;\n\n .library-content {\n width: 100%;\n height: 100%;\n margin-bottom: calc(var(--bottom-overlay-size) * -1);\n display: flex;\n flex-direction: column;\n\n .meta-items-container {\n padding: 0 1.5rem;\n z-index: 1;\n }\n\n .selectable-inputs-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n padding: 1.5rem;\n overflow: visible;\n z-index: 2;\n\n .select-input-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: 15rem;\n height: 2.75rem;\n background-color: var(--overlay-color);\n\n &:not(:last-child) {\n margin-right: 1.5rem;\n }\n\n .multiselect-menu-container {\n overflow: auto;\n }\n }\n }\n\n .message-container {\n flex: 0 1 auto;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0 1.5rem;\n overflow-y: auto;\n\n &:first-child {\n padding: 4rem;\n }\n\n .image {\n flex: none;\n width: 12rem;\n height: 12rem;\n margin-bottom: 2rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .message-label {\n flex: none;\n margin-bottom: 2rem;\n font-size: 2rem;\n font-weight: 400;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .meta-items-container {\n flex: 1;\n align-self: stretch;\n display: grid;\n grid-auto-rows: max-content;\n align-items: center;\n grid-gap: 0.5rem;\n overflow-y: auto;\n }\n }\n}\n\n.selectable-inputs-modal {\n .selectable-inputs-modal-container {\n overflow: visible;\n\n .selectable-inputs-modal-content {\n overflow: visible;\n\n .select-input-container {\n height: 3.5rem;\n\n &:not(:last-child) {\n margin-bottom: 1rem;\n }\n }\n }\n }\n}\n\n@media only screen and (min-width: @large) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(10, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @large) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(9, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @normal) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(8, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @medium) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(7, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(6, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(5, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxsmall) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(4, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .library-container {\n .library-content {\n .selectable-inputs-container {\n justify-content: space-between;\n }\n\n .meta-items-container {\n grid-template-columns: repeat(3, 1fr);\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.selector {\n flex: none;\n position: relative;\n display: flex;\n gap: 1rem;\n align-items: center;\n justify-content: center;\n padding: 0 1rem;\n\n .prev, .next {\n position: relative;\n height: 3rem;\n width: 6rem;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n border-radius: 0.5rem;\n transition: background-color 0.1s ease-out;\n\n .label, .icon {\n color: var(--primary-foreground-color);\n opacity: 0.5;\n transition: opacity 0.1s ease-out;\n }\n\n .label {\n font-size: 1rem;\n font-weight: 500;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n\n .icon {\n height: 1.5rem;\n }\n\n &:hover {\n .label, .icon {\n opacity: 1;\n }\n\n background-color: var(--overlay-color);\n }\n }\n\n .prev {\n padding-left: 0.5rem;\n padding-right: 1.25rem;\n }\n\n .next {\n padding-left: 1.25rem;\n padding-right: 0.5rem;\n }\n\n .selected {\n position: relative;\n width: 8.5rem;\n text-align: center;\n\n .year {\n font-size: 1rem;\n font-weight: 500;\n line-height: 100%;\n color: var(--primary-foreground-color);\n opacity: 0.5;\n }\n\n .month {\n font-size: 1.5rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .selector {\n justify-content: space-between;\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.table {\n flex: auto;\n position: relative;\n display: flex;\n flex-direction: column;\n\n .week {\n flex: none;\n position: relative;\n height: 3rem;\n width: 100%;\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n align-items: center;\n\n .day {\n position: relative;\n padding: 0.5rem;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n\n .long {\n display: block;\n }\n\n .short {\n display: none;\n }\n }\n }\n\n .grid {\n flex: auto;\n position: relative;\n width: 100%;\n height: 100%;\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 1px;\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .table {\n .week {\n .day {\n .long {\n display: none;\n }\n\n .short {\n display: block;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.cell {\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n gap: 0.5rem;\n background-color: var(--overlay-color);\n border: 0.15rem solid transparent;\n overflow: hidden;\n cursor: pointer;\n transition: border-color 0.1s ease-out;\n\n &:first-child {\n border-radius: var(--border-radius) 0 0 0;\n }\n\n &:nth-child(7) {\n border-radius: 0 var(--border-radius) 0 0;\n }\n\n &:last-child {\n border-radius: 0 0 var(--border-radius) 0;\n }\n\n .heading {\n flex: none;\n position: relative;\n height: 3rem;\n display: flex;\n align-items: center;\n padding: 0 1rem;\n\n .day {\n flex: none;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 2rem;\n width: 2rem;\n border-radius: 100%;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n }\n\n .items {\n flex: 0 1 10rem;\n position: relative;\n display: flex;\n flex-direction: row;\n gap: 1rem;\n padding: 0 0.5rem 0.5rem 0.5rem;\n\n .item {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n aspect-ratio: 2 / 3;\n border-radius: var(--border-radius);\n\n .icon {\n flex: none;\n z-index: 1;\n position: absolute;\n width: 2rem;\n height: 2rem;\n padding: 0.5rem;\n border-radius: 50%;\n color: var(--primary-foreground-color);\n background-color: var(--secondary-accent-color);\n opacity: 0;\n }\n\n .poster {\n flex: auto;\n z-index: 0;\n position: relative;\n height: 100%;\n width: 100%;\n object-fit: cover;\n opacity: 1;\n }\n\n .icon, .poster {\n transition: opacity 0.1s ease-out;\n }\n\n &:hover {\n .icon {\n opacity: 1;\n }\n\n .poster {\n opacity: 0.5;\n }\n }\n }\n }\n\n .more {\n display: none;\n flex: none;\n width: 2rem;\n height: 2rem;\n padding: 0.5rem;\n align-self: center;\n color: var(--primary-foreground-color);\n }\n\n &.today {\n .heading {\n .day {\n background-color: var(--primary-accent-color);\n }\n }\n }\n\n &.active {\n border-color: var(--primary-foreground-color);\n }\n\n @media (pointer: fine) {\n &:not(.active):hover {\n border-color: var(--overlay-color);\n }\n }\n}\n\n@media only screen and (max-height: @minimum) and (orientation: portrait) {\n .cell {\n .heading {\n justify-content: center;\n }\n\n .items {\n display: none;\n }\n\n .more {\n display: flex;\n }\n }\n}\n\n@media only screen and (max-height: @xxsmall) and (orientation: landscape) {\n .cell {\n flex-direction: row;\n align-items: center;\n\n .items {\n display: none;\n }\n\n .more {\n display: flex;\n }\n }\n}\n\n@media only screen and (max-height: @xsmall) and (max-width: @xsmall) {\n .cell {\n gap: 0;\n\n .heading {\n height: 2rem;\n\n .day {\n font-size: 0.875rem;\n }\n }\n\n .items {\n padding: 0.25rem;\n\n .item {\n pointer-events: none;\n border-radius: calc(var(--border-radius) / 2);\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n.item {\n flex: none;\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: var(--overlay-color);\n border-radius: var(--border-radius);\n border: 0.15rem solid transparent;\n transition: border-color 0.1s ease-out;\n\n .heading {\n flex: none;\n position: relative;\n display: flex;\n align-items: center;\n height: 3.5rem;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n padding: 0 1rem;\n }\n\n .body {\n flex: auto;\n display: flex;\n flex-direction: column;\n\n .video {\n flex: none;\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n height: 3rem;\n padding: 0 1rem;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n\n &:last-child {\n border-radius: 0 0 var(--border-radius) var(--border-radius);\n }\n\n .name {\n flex: auto;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n\n .info {\n flex: none;\n display: block;\n }\n\n .icon {\n flex: none;\n display: none;\n width: 2rem;\n height: 2rem;\n padding: 0.5rem;\n border-radius: 50%;\n color: var(--primary-foreground-color);\n background-color: var(--secondary-accent-color);\n }\n\n &:hover {\n background-color: var(--overlay-color);\n\n .info {\n display: none;\n }\n\n .icon {\n display: block;\n }\n }\n }\n }\n\n &.placeholder {\n opacity: 0.7;\n pointer-events: none;\n\n .text {\n width: 8rem;\n height: 1.2rem;\n background-color: var(--overlay-color);\n border-radius: 0.2rem;\n }\n\n .video {\n flex: none;\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n height: 3rem;\n padding: 0 1rem;\n\n .name {\n flex: auto;\n width: 12rem;\n height: 1.2rem;\n background-color: var(--overlay-color);\n border-radius: 0.2rem;\n }\n\n .info {\n flex: none;\n width: 4rem;\n height: 1.2rem;\n background-color: var(--overlay-color);\n border-radius: 0.2rem;\n }\n }\n }\n\n &.today {\n .heading {\n background-color: var(--primary-accent-color);\n }\n }\n\n &.active {\n border-color: var(--primary-foreground-color);\n }\n\n &:not(.active):hover {\n border-color: var(--overlay-color);\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.list {\n flex: none;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 20rem;\n padding: 0 1rem;\n overflow-y: auto;\n \n @supports (scroll-padding-block-start: 0.15rem) {\n scroll-padding-block-start: 0.15rem;\n }\n}\n\n@media only screen and (max-width: @small) and (orientation: portrait) {\n .list {\n display: none;\n }\n}\n\n@media only screen and (max-width: @medium) and (orientation: landscape) {\n .list {\n width: 20rem;\n }\n}\n\n@media only screen and (max-width: @small) and (orientation: landscape) {\n .list {\n width: 17rem;\n }\n}\n\n@media only screen and (max-width: @xsmall) and (orientation: landscape) {\n .list {\n display: none;\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n.details {\n position: relative;\n\n .video {\n flex: none;\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n padding: 0 1.5rem;\n height: 4rem;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n\n .name {\n flex: auto;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n\n .info {\n flex: none;\n display: block;\n }\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n padding: 0.5rem;\n border-radius: 50%;\n color: var(--primary-foreground-color);\n }\n\n &:hover, &:active {\n background-color: var(--overlay-color);\n\n .icon {\n display: block;\n background-color: var(--secondary-accent-color);\n }\n }\n }\n\n .placeholder {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 10rem;\n font-size: 1rem;\n color: var(--primary-foreground-color);\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.placeholder {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100%;\n width: 100%;\n overflow-y: auto;\n\n .title {\n font-size: 1.75rem;\n font-weight: 400;\n text-align: center;\n color: var(--primary-foreground-color);\n margin-bottom: 1rem;\n opacity: 0.5;\n }\n\n .image-container {\n padding: 1.5rem 0;\n\n .image {\n height: 100%;\n max-height: 14rem;\n object-fit: contain;\n }\n }\n\n .overview {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4rem;\n margin-bottom: 1rem;\n\n .point {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1.5rem;\n width: 18rem;\n\n .icon {\n flex: none;\n height: 3.25rem;\n width: 3.25rem;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n\n .text {\n flex: auto;\n font-size: 1.1rem;\n font-size: 500;\n color: var(--primary-foreground-color);\n opacity: 0.9;\n }\n }\n }\n\n .button-container {\n margin: 1rem 0;\n \n .button {\n display: flex;\n justify-content: center;\n height: 4rem;\n line-height: 4rem;\n padding: 0 5rem;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n text-align: center;\n border-radius: 3.5rem;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .placeholder {\n padding: 1rem 2rem;\n\n .title {\n margin-bottom: 0;\n }\n\n .image-container {\n padding: 1rem;\n\n .image {\n max-height: 10rem;\n }\n }\n\n .button-container {\n margin: 1rem 0 0;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .placeholder {\n padding: 1rem 2rem;\n\n .overview {\n flex-direction: column;\n gap: 1rem;\n\n .point {\n .text {\n font-size: 1rem;\n }\n }\n }\n\n .button-container {\n .button {\n width: 100%;\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.calendar {\n height: calc(100% - var(--safe-area-inset-bottom));\n background-color: transparent;\n\n .content {\n position: relative;\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n width: 100%;\n height: 100%;\n padding: 0 0 1.5rem 1.5rem;\n\n .main {\n flex: auto;\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .calendar {\n .content {\n padding: 0;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.background {\n fill: @color-surface-light5;\n}\n\n.icon {\n fill: @color-background-dark5;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n:import('~./PlayIconCircleCentered/styles.less') {\n play-icon-circle-centered-background: background;\n play-icon-circle-centered-icon: icon;\n}\n\n.stream-placeholder-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0.5rem 1rem;\n\n .addon-container {\n flex: none;\n\n .addon-name {\n width: 5rem;\n height: 2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n\n .info-container {\n flex: 1;\n margin: 0.5rem 1rem;\n\n .description-container {\n height: 1.2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n\n &:nth-child(1) {\n width: 80%;\n }\n\n &:nth-child(2) {\n width: 40%;\n margin-top: 0.5rem;\n }\n }\n }\n\n .play-icon {\n flex: none;\n width: 3.5rem;\n height: 5rem;\n\n .play-icon-circle-centered-background {\n fill: none;\n }\n\n .play-icon-circle-centered-icon {\n fill: var(--color-placeholder-background);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Popup/styles.less') {\n context-menu-container: menu-container;\n menu-direction-top-left: menu-direction-top-left;\n menu-direction-bottom-left: menu-direction-bottom-left;\n menu-direction-top-right: menu-direction-top-right;\n menu-direction-bottom-right: menu-direction-bottom-right;\n}\n\n.stream-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n gap: 1rem;\n padding: 0.5rem 1rem;\n margin-bottom: 0.5rem;\n border-radius: var(--border-radius);\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n\n &:hover, &:focus, &:global(.selected) {\n .icon {\n opacity: 1;\n }\n }\n\n .info-container {\n flex: none;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n\n .thumbnail {\n display: block;\n height: 5rem;\n width: 8rem;\n object-fit: cover;\n object-position: center;\n opacity: 0.9;\n }\n\n .placeholder-icon {\n display: block;\n height: 5rem;\n width: 8rem;\n padding: 1rem;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n opacity: 0.25;\n }\n\n .addon-name {\n width: 7rem;\n font-size: 1.1rem;\n text-align: left;\n color: var(--primary-foreground-color);\n }\n\n .progress-bar-container {\n flex: 0 0 100%;\n position: relative;\n border-radius: var(--border-radius);\n\n .progress-bar {\n z-index: 1;\n position: relative;\n height: 0.4rem;\n background-color: var(--primary-accent-color);\n }\n\n .progress-bar-background {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-foreground-color);\n opacity: 0.2;\n }\n }\n }\n\n .description-container {\n flex: 1;\n display: flex;\n flex-direction: column;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n white-space: pre;\n overflow-y: visible;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n }\n \n .icon {\n flex: none;\n width: 3rem;\n height: 3rem;\n padding: 0.7rem;\n border-radius: 50%;\n opacity: 0;\n color: var(--primary-foreground-color);\n background-color: var(--secondary-accent-color);\n }\n\n .menu-icon {\n flex: none;\n width: 1.7rem;\n height: 1.7rem;\n margin-right: 1rem;\n color: var(--color-placeholder);\n }\n\n\t.context-menu-container {\n\t\tmax-width: calc(90% - 1.5rem);\n\t\tz-index: 2;\n\t\n\t\t.context-menu-content {\n\t\t\t--spatial-navigation-contain: contain;\n\n .context-menu-title {\n font-size: 0.9rem;\n padding: 1rem 1.5rem;\n font-weight: 100;\n border-bottom: 1px solid var(--color-placeholder);\n color: var(--primary-foreground-color);\n white-space: break-spaces;\n }\n\t\n\t\t\t.context-menu-option-container {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: row;\n\t\t\t\talign-items: center;\n\t\t\t\tpadding: 1rem 1.5rem;\n\t\n\t\t\t\t&:hover,\n\t\t\t\t&:focus {\n\t\t\t\t\tbackground-color: var(--overlay-color);\n\t\t\t\t}\n\t\n\t\t\t\t.context-menu-option-label {\n\t\t\t\t\tfont-size: 1rem;\n\t\t\t\t\tfont-weight: 300;\n\t\t\t\t\tcolor: var(--primary-foreground-color);\n text-transform: capitalize;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: @small) {\n .stream-container {\n .description-container {\n font-size: 0.9rem;\n }\n\n .info-container {\n .addon-name {\n font-size: 0.9rem;\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .stream-container {\n .info-container {\n .addon-name {\n font-weight: 500;\n }\n }\n\n\t\t.context-menu-container {\n &.menu-direction-top-left,\n &.menu-direction-bottom-left {\n right: 1.5rem;\n }\n\n &.menu-direction-top-right,\n &.menu-direction-bottom-right {\n left: 1.5rem;\n }\n\n &.menu-direction-top-left,\n &.menu-direction-top-right {\n bottom: 90%;\n }\n\n &.menu-direction-bottom-left,\n &.menu-direction-bottom-right {\n top: 90%;\n }\n }\n }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-label: label;\n multiselect-icon: icon;\n}\n\n.streams-list-container {\n display: flex;\n flex-direction: column;\n\n .message-container {\n flex: 0 1 auto;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 1rem;\n overflow-y: auto;\n\n .search {\n flex: none;\n }\n\n .image {\n flex: none;\n width: 10rem;\n height: 10rem;\n max-width: 100%;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .label {\n flex: none;\n font-size: 1.4rem;\n text-align: center;\n color: var(--primary-foreground-color);\n margin-bottom: 2rem;\n }\n }\n\n .addons-loading-container {\n display: flex;\n z-index: 1;\n overflow: visible;\n margin: 2em 1em 0 1em;\n gap: 1em;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n .addons-loading {\n color: var(--primary-foreground-color);\n font-size: 1rem;\n }\n\n .addons-loading-bar {\n width: 90%;\n height: 0.3em;\n border-radius: var(--border-radius);\n background-color: var(--primary-accent-color);\n }\n }\n\n .select-choices-wrapper {\n display: flex;\n align-items: center;\n z-index: 2;\n margin: 1em 1em 0 1em;\n gap: 0 0.5em;\n overflow: visible;\n\n .back-button-container {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 0.5em;\n padding: 1em;\n max-height: 3em;\n\n .icon {\n width: 1.5em;\n height: 1.5em;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n &:hover, &:global(.active) {\n background-color: var(--overlay-color);\n opacity: 1;\n \n .icon {\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n }\n }\n\n .episode-title {\n min-width: 45%;\n color: var(--primary-foreground-color);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .select-input-container {\n min-width: 40%;\n flex-grow: 1;\n background-color: none;\n\n &:hover, &:focus, &:global(.active) {\n background-color: var(--overlay-color);\n }\n \n & >.multiselect-label {\n color: var(--primary-foreground-color);\n }\n \n & >.multiselect-icon {\n color: var(--primary-foreground-color);\n }\n \n .multiselect-menu-container {\n overflow: auto;\n }\n }\n }\n\n .streams-container {\n flex: 1 1 auto;\n align-self: stretch;\n margin-top: 1rem;\n padding: 0 1rem;\n overflow-y: auto;\n }\n\n .install-button-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n background-color: var(--secondary-accent-color);\n height: 4rem;\n padding: 0 2rem;\n margin: 1rem auto;\n max-width: 50%;\n border-radius: 2rem;\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: 0 1 auto;\n font-size: 1rem;\n font-weight: 700;\n max-height: 3.6em;\n text-align: center;\n color: var(--primary-foreground-color);\n margin-bottom: 0;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .streams-list-container {\n overflow: visible;\n\n .streams-container {\n margin-top: 0;\n overflow: visible;\n scrollbar-color: @color-surface-light5-20 transparent;\n\n &::-webkit-scrollbar-thumb {\n background-color: @color-surface-light5-20;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n }\n }\n}","// Copyright (C) 2017-2025 Smart code 203358507\n\n.button-container {\n flex: none;\n align-self: stretch;\n display: flex;\n align-items: center;\n justify-content: center;\n border: var(--focus-outline-size) solid var(--primary-accent-color);\n background-color: var(--primary-accent-color);\n height: 4rem;\n padding: 0 2rem;\n margin: 1rem auto;\n border-radius: 2rem;\n\n &:hover {\n background-color: transparent;\n }\n\n .label {\n flex: 0 1 auto;\n font-size: 1rem;\n font-weight: 700;\n max-height: 3.5rem;\n text-align: center;\n color: var(--primary-foreground-color);\n margin-bottom: 0;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.seasons-bar-placeholder-container {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 1rem;\n\n .prev-season-button, .next-season-button {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 6.5rem;\n height: 3rem;\n padding: 0.5rem;\n\n &>:first-child {\n margin-right: 0.5rem;\n }\n\n .icon {\n flex: none;\n display: block;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--color-placeholder-background);\n }\n\n .label {\n flex: 1;\n max-height: 1.2em;\n font-weight: 500;\n text-align: center;\n color: var(--color-placeholder-text);\n }\n }\n\n .seasons-popup-label-container {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n margin: 0 1rem;\n\n .seasons-popup-label {\n max-height: 1.2em;\n font-weight: 500;\n color: var(--color-placeholder-text);\n }\n\n .seasons-popup-icon {\n flex: none;\n width: 1rem;\n height: 1rem;\n margin-left: 1rem;\n color: var(--color-placeholder-background);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-label: label;\n multiselect-icon: icon;\n}\n\n.seasons-bar-container {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n padding: 1rem;\n overflow: visible;\n\n .prev-season-button, .next-season-button {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 6.5rem;\n height: 3rem;\n border-radius: 3rem;\n padding: 0.5rem;\n\n &.disabled {\n pointer-events: none;\n opacity: 0.5;\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n\n &>:first-child {\n margin-right: 0.5rem;\n }\n\n .label {\n flex: 1;\n max-height: 1.2em;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .seasons-popup-label-container {\n flex: 0 1 auto;\n background: none;\n\n &:hover, &:focus, &:global(.active) {\n background-color: var(--overlay-color);\n }\n\n &>.multiselect-label {\n color: var(--primary-foreground-color);\n }\n\n &>.multiselect-icon {\n color: var(--primary-foreground-color);\n }\n\n .multiselect-menu-container {\n overflow: auto;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .seasons-bar-container {\n height: 6rem;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.videos-list-container {\n display: flex;\n flex-direction: column;\n\n .message-container {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 2rem;\n overflow-y: auto;\n\n .episode-picker {\n margin-bottom: 2rem;\n }\n\n .image {\n flex: none;\n width: 10rem;\n height: 10rem;\n max-width: 100%;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .label {\n flex: none;\n font-size: 1.4rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .notifications-toggle {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-start;\n gap: 1rem;\n padding: 1.15rem 1.5rem 0.65rem;\n color: @color-surface-light5-90;\n }\n\n .seasons-bar {\n flex: none;\n align-self: stretch;\n margin: 0.5rem 1rem 1rem 1rem;\n }\n\n .search-bar {\n flex: none;\n align-self: stretch;\n margin: 0 1.5rem 1rem 1.5rem;\n\n &:first-child {\n margin-top: 1rem;\n }\n }\n\n .videos-container {\n flex: 1;\n align-self: stretch;\n padding: 0 1rem;\n overflow-y: auto;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .videos-list-container {\n overflow: visible;\n\n .videos-container {\n overflow: auto;\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/ModalDialog/styles.less') {\n modal-dialog-container: modal-dialog-container;\n title-modal-container: title-container;\n}\n\n.metadetails-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n padding-left: var(--safe-area-inset-left);\n padding-right: var(--safe-area-inset-right);\n box-sizing: border-box;\n\n .background-image-layer {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n background-color: var(--modal-background-color);\n\n .background-image {\n pointer-events: none; \n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: top left;\n opacity: 0.3;\n }\n }\n\n .nav-bar {\n z-index: 1;\n flex: none;\n align-self: stretch;\n }\n\n .metadetails-content {\n flex: 1;\n align-self: stretch;\n position: relative;\n z-index: 0;\n display: flex;\n flex-direction: row;\n margin-top: calc(var(--top-overlay-size) * -1);\n padding-top: var(--top-overlay-size);\n padding-bottom: var(--safe-area-inset-bottom, 0rem);\n .vertical-nav-bar {\n flex: none;\n }\n\n .meta-message-container {\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 2rem;\n width: 100%;\n height: 100%;\n\n .image {\n flex: none;\n width: 12rem;\n height: 12rem;\n max-width: 100%;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .message-label {\n flex: none;\n align-self: stretch;\n font-size: 2rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .meta-preview {\n flex: 0 1 auto;\n align-self: stretch;\n padding: 0 4rem 2rem 4rem;\n\n padding-left: max(1rem, calc(4rem - var(--safe-area-inset-left)));\n }\n\n .spacing {\n flex: 1;\n }\n\n .videos-list, .streams-list {\n flex: 0 0 30rem;\n align-self: stretch;\n border-radius: var(--border-radius) 0 0 var(--border-radius);\n background-color: rgba(0, 0, 0, 0.4);\n backdrop-filter: blur(15px);\n }\n }\n}\n\n.meta-extension-modal-container {\n .modal-dialog-container {\n width: 80%;\n height: 80%;\n\n .title-modal-container {\n max-height: 1.2em;\n }\n\n .meta-extension-modal-iframe {\n width: 100%;\n height: 100%;\n }\n }\n}\n\n@media @phone-landscape {\n .metadetails-container {\n .metadetails-content {\n .meta-preview {\n padding: 0 1.5rem 1rem;\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .metadetails-container {\n .metadetails-content {\n display: block;\n overflow-y: auto;\n\n .spacing {\n display: none;\n }\n\n .meta-preview {\n padding: 0 1.5rem 2rem;\n }\n\n .videos-list, .streams-list {\n border-radius: var(--border-radius) var(--border-radius) 0 0;\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/MetaRow/styles.less') {\n meta-item: meta-item;\n}\n\n:import('~stremio/components/MetaRow/MetaRowPlaceholder/styles.less') {\n meta-item-placeholder: meta-item;\n}\n\n.search-container {\n height: calc(100% - var(--safe-area-inset-bottom));\n width: 100%;\n background-color: transparent;\n\n .search-content {\n height: 100%;\n width: 100%;\n padding: 0 1rem;\n overflow-y: auto;\n\n .search-row {\n margin-top: 1rem;\n margin-bottom: 2rem;\n }\n\n .search-hints-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n width: 100%;\n height: 100%;\n\n .search-hints-title-container {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 1rem;\n\n .search-hints-title {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n font-size: 1.6rem;\n color: @color-surface-light5-90;\n text-align: center;\n opacity: 0.4;\n }\n }\n \n .search-hints-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n align-content: flex-start;\n flex-wrap: wrap;\n padding: 4rem;\n max-width: 50%;\n margin: 0 auto;\n \n .search-hint-container {\n flex: 0 0 25%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 0 1rem;\n margin-bottom: 4rem;\n \n .icon {\n flex: none;\n width: 4rem;\n height: 4rem;\n margin-bottom: 2rem;\n color: @color-surface-light5-90;\n opacity: 0.4;\n }\n \n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n font-size: 1.2rem;\n color: @color-surface-light5-90;\n text-align: center;\n opacity: 0.4;\n }\n }\n } \n }\n\n .message-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 4rem;\n\n .image {\n flex: none;\n width: 12rem;\n height: 12rem;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .message-label {\n flex: 0 1 auto;\n font-size: 2.5rem;\n text-align: center;\n color: @color-secondaryvariant2-light1-90;\n }\n }\n }\n}\n\n@media only screen and (max-width: @large) {\n .search-container {\n .search-content {\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+10) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+9) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @normal) {\n .search-container {\n .search-content {\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+9) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+8) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @medium) {\n .search-container {\n .search-content {\n .search-hints-wrapper {\n .search-hints-container {\n max-width: 70%;\n }\n }\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+8) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+7) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .search-container {\n .search-content {\n .search-hints-wrapper {\n .search-hints-container {\n max-width: 90%;\n }\n }\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+7) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+6) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .search-container {\n .search-content {\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+6) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+5) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxsmall) {\n .search-container {\n .search-content {\n .search-hints-wrapper {\n .search-hints-container {\n max-width: 100%;\n .search-hint-container {\n flex: 0 0 50%;\n }\n }\n }\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+5) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+4) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .search-container {\n .search-content {\n .search-row {\n margin-bottom: 1.5rem;\n }\n\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+4) {\n display: none;\n }\n }\n }\n\n .search-hints-wrapper {\n margin-top: 4rem;\n\n .search-hints-container {\n padding: 4rem 2rem;\n\n .search-hint-container {\n padding: 0 1.5rem;\n }\n }\n }\n }\n }\n}","@import (reference) '~stremio/common/screen-sizes.less';\n\n.menu {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n width: 18rem;\n padding: 3rem 1.5rem;\n\n .button {\n flex: none;\n align-self: stretch;\n display: flex;\n align-items: center;\n height: 4rem;\n border-radius: 4rem;\n padding: 2rem;\n margin-bottom: 0.5rem;\n font-size: 1.1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n opacity: 0.4;\n\n &.selected {\n font-weight: 600;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n opacity: 1;\n }\n\n &:hover {\n background-color: var(--overlay-color);\n }\n }\n\n .spacing {\n flex: 1;\n }\n\n .version-info-label {\n flex: 0 1 auto;\n margin: 0.5rem 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n overflow: hidden;\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .menu {\n display: none;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .menu {\n display: none;\n }\n}",".category {\n position: relative;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: start;\n margin-bottom: 1rem;\n padding-bottom: 1rem;\n overflow: visible;\n\n &:not(:last-child) {\n border-bottom: thin solid var(--overlay-color);\n }\n\n .heading {\n position: relative;\n height: 4rem;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1rem;\n margin-bottom: 1rem;\n\n .label {\n flex: none;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n }\n \n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n color: var(--primary-foreground-color);\n }\n }\n}",".link {\n position: relative;\n display: flex;\n align-items: center;\n height: 2rem;\n\n .label {\n color: var(--primary-accent-color);\n }\n\n &:hover {\n .label {\n text-decoration: underline;\n }\n }\n}",".option {\n position: relative;\n width: 100%;\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 2rem;\n margin-bottom: 2rem;\n overflow: visible;\n\n .heading, .content {\n flex: 1 1 50%;\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n\n .heading {\n display: flex;\n gap: 0.75rem;\n\n .icon {\n width: 3rem;\n height: 3rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n line-height: 1.5rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n }\n }\n\n .content {\n justify-content: center;\n overflow: visible;\n\n :global(.multiselect) {\n width: 100%;\n padding: 0;\n background: var(--overlay-color);\n }\n\n :global(.button) {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 3.5rem;\n width: 100%;\n padding: 0 2rem;\n border-radius: 3.5rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n \n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n }\n\n :global(.color-input) {\n width: 100%;\n padding: 1.3rem 1rem;\n border-radius: 3rem;\n border: 2px solid transparent;\n transition: 0.3s all ease-in-out;\n \n &:hover {\n border-color: var(--overlay-color);\n }\n }\n }\n}",".section {\n position: relative;\n max-width: 35rem;\n display: flex;\n flex-direction: column;\n align-items: start;\n padding: 3rem 0;\n overflow: visible;\n\n &:not(:last-child) {\n border-bottom: thin solid var(--overlay-color);\n }\n \n .label {\n flex: none;\n align-self: stretch;\n font-size: 1.8rem;\n line-height: 3.4rem;\n margin-bottom: 2rem;\n color: var(--primary-foreground-color);\n }\n}","@import (reference) '~stremio/common/screen-sizes.less';\n\n.user {\n gap: 1rem;\n\n .user-info-content {\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .avatar-container {\n flex: none;\n align-self: stretch;\n height: 5rem;\n width: 5rem;\n margin-right: 1rem;\n border: 2px solid var(--primary-accent-color);\n border-radius: 50%;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n background-origin: content-box;\n background-clip: content-box;\n opacity: 0.9;\n background-color: var(--primary-foreground-color);\n }\n\n .email-logout-container {\n flex: none;\n display: flex;\n flex-direction: column;\n align-items: start;\n\n .email-label-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n\n .email-label-container {\n .email-label {\n flex: 1;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n opacity: 0.7;\n }\n }\n }\n }\n\n .user-panel-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 10rem;\n height: 3.5rem;\n border-radius: 3.5rem;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n .user-panel-label {\n flex: 1;\n max-height: 2.4em;\n padding: 0 0.5rem;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .user {\n flex-direction: column;\n align-items: flex-start;\n\n .user-panel-container {\n width: 100% !important;\n }\n }\n}",":import('~stremio/routes/Settings/components/Option/Option.less') {\n option-icon: icon;\n}\n\n.trakt-container {\n margin-top: 2rem;\n\n .option-icon {\n color: var(--color-trakt) !important;\n }\n}\n","// Copyright (C) 2017-2024 Smart code 203358507\n\n.wrapper {\n position: relative;\n width: 100%;\n display: flex;\n flex-direction: column;\n max-width: 35rem;\n margin-bottom: 2rem;\n\n .header {\n display: flex;\n justify-content: space-between;\n padding: 0 3rem;\n align-items: center;\n \n .label {\n font-size: 1rem;\n color: var(--primary-foreground-color);\n font-weight: 400;\n opacity: 0.6;\n\n &:last-of-type {\n padding-right: 3rem;\n }\n }\n }\n\n .content {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n padding: 1.5rem 0;\n }\n \n .item {\n display: flex;\n padding: 1rem 1.5rem;\n border-radius: var(--border-radius);\n transition: 0.3s all ease-in-out;\n background-color: transparent;\n border: 2px solid transparent;\n justify-content: space-between;\n position: relative;\n }\n\n .footer {\n display: flex;\n justify-content: space-between;\n\n .add-url {\n display: flex;\n gap: 0.5rem;\n align-items: center;\n justify-content: center;\n padding: 0.5rem 1.5rem;\n background-color: var(--secondary-accent-color);\n transition: 0.3s all ease-in-out;\n border-radius: 1.5rem;\n color: var(--primary-foreground-color);\n border: 2px solid transparent;\n\n .icon {\n width: 1rem;\n height: 1rem;\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n background-color: transparent;\n border: 2px solid var(--primary-foreground-color);\n }\n }\n\n .reload {\n display: flex;\n gap: 0.5rem;\n align-items: center;\n justify-content: center;\n padding: 0.5rem 1.5rem;\n background-color: var(--overlay-color);\n border-radius: 1.5rem;\n transition: 0.3s all ease-in-out;\n color: var(--primary-foreground-color);\n border: 2px solid transparent;\n\n .icon {\n width: 1rem;\n height: 1rem;\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n background-color: transparent;\n border: 2px solid var(--primary-foreground-color);\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.item {\n display: flex;\n padding: 0.7rem 1.5rem;\n border-radius: 2.5rem;\n transition: 0.3s all ease-in-out;\n background-color: var(--overlay-color);\n border: 2px solid transparent;\n justify-content: space-between;\n position: relative;\n\n .content {\n display: flex;\n gap: 1rem;\n align-items: center;\n justify-content: center;\n max-width: 60%;\n\n .selectable {\n overflow: visible;\n }\n\n .label {\n color: var(--primary-foreground-color);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n\n .actions {\n display: flex;\n gap: 1rem;\n padding-right: 4rem;\n\n .status {\n display: flex;\n gap: 0.5rem;\n align-items: center;\n justify-content: center;\n\n .icon {\n width: 0.75rem;\n height: 0.75rem;\n border-radius: 1rem;\n\n &.ready {\n background-color: var(--secondary-accent-color);\n }\n\n &.error {\n background-color: var(--color-trakt);\n }\n }\n\n .label {\n font-size: 1rem;\n color: var(--primary-foreground-color);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n\n .delete {\n position: absolute;\n display: flex;\n right: 1.5rem;\n top: 50%; \n gap: 0.5rem;\n padding: 0.5rem 0.25rem;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n transition: 0.3s all ease-in-out;\n border-radius: var(--border-radius);\n transform: translateY(-50%);\n width: 3rem;\n\n .icon {\n width: 1.5rem;\n height: 1.5rem;\n opacity: 0;\n transition: 0.3s all ease-in-out;\n color: var(--primary-foreground-color);\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n\n .icon {\n color: var(--color-trakt);\n opacity: 1 !important;\n }\n }\n }\n }\n\n &:hover {\n border: 2px solid var(--overlay-color);\n \n .actions {\n .delete {\n .icon {\n opacity: 0.6;\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .item {\n padding: 0.7rem 1rem;\n\n .actions {\n .delete {\n right: 1rem;\n\n .icon {\n opacity: 0.6;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.add-item {\n display: flex;\n padding: 0.35rem 1.5rem;\n border-radius: 2.5rem;\n transition: 0.3s all ease-in-out;\n background-color: var(--overlay-color);\n border: 2px solid transparent;\n justify-content: space-between;\n position: relative;\n\n .input {\n background-color: var(--overlay-color);\n border-radius: var(--border-radius);\n color: var(--primary-foreground-color);\n padding: 0.5rem 0.75rem;\n border: 1px solid transparent;\n width: 70%;\n\n &:focus {\n border: 1px solid var(--primary-foreground-color);\n }\n }\n\n .actions {\n display: flex;\n gap: 0.25rem;\n margin-right: 0;\n\n .add, .cancel {\n display: flex;\n gap: 0.5rem;\n padding: 0.25rem;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n transition: 0.3s all ease-in-out;\n border-radius: var(--border-radius);\n width: 3rem;\n opacity: 0.6;\n\n .icon {\n width: 2rem;\n height: 2rem;\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n opacity: 1;\n background-color: var(--overlay-color);\n }\n }\n\n .add {\n .icon {\n width: 1.8rem;\n height: 1.8rem;\n }\n &:hover {\n .icon {\n color: var(--secondary-accent-color);\n }\n }\n }\n\n .cancel {\n &:hover {\n .icon {\n color: var(--color-trakt);\n }\n }\n }\n }\n\n &:hover {\n border: 2px solid var(--overlay-color);\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .add-item {\n padding: 0.35rem 0.5rem;\n }\n}",":import('~stremio/routes/Settings/components/Option/Option.less') {\n option-content: content;\n}\n\n.configure-input-container {\n .option-content {\n display: flex;\n align-items: center;\n gap: 1rem;\n overflow: hidden;\n\n .label {\n flex: auto;\n white-space: pre;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n padding: 0 1rem;\n }\n\n .configure-button-container {\n flex: none;\n width: 3rem;\n height: 3rem;\n border-radius: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n .icon {\n flex: none;\n width: 1rem;\n height: 1rem;\n margin: 0;\n color: var(--primary-foreground-color);\n }\n }\n }\n}",".shortcut-container {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n overflow: visible;\n\n kbd {\n flex: 0 1 auto;\n height: 2.5rem;\n min-width: 2.5rem;\n line-height: 2.5rem;\n padding: 0 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n border-radius: 0.25em;\n box-shadow: 0 4px 0 1px var(--modal-background-color);\n background-color: var(--overlay-color);\n }\n\n .label {\n flex: none;\n margin: 0 1rem;\n white-space: nowrap;\n color: var(--primary-foreground-color);\n }\n}","@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/routes/Settings/components/Option/Option.less') {\n option-content: content;\n}\n\n.info {\n display: none;\n\n .option-content {\n color: var(--primary-foreground-color);\n overflow: hidden;\n\n .label {\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .info {\n display: flex;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .info {\n display: flex;\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.settings-container {\n height: calc(100% - var(--safe-area-inset-bottom));\n width: 100%;\n background-color: transparent;\n\n .settings-content {\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: row;\n\n .sections-container {\n flex: 1;\n align-self: stretch;\n padding: 0 3rem;\n overflow-y: auto;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .settings-container {\n .settings-content {\n flex-direction: column-reverse;\n\n .sections-container {\n padding: 0 1.5rem;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.buffering-loader-container {\n display: flex;\n align-items: center;\n justify-content: center;\n\n .buffering-loader {\n flex: none;\n max-width: 15rem;\n max-height: 15rem;\n animation: fadeInOut 2s infinite; \n display: block; \n width: auto;\n height: auto; \n }\n \n}\n\n\n@keyframes fadeInOut {\n 0% { opacity: 0.2; }\n 50% { opacity: 1; }\n 100% { opacity: 0.2; }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n:import('~stremio/components/Slider/styles.less') {\n slider-track: track;\n slider-track-after: track-after;\n}\n\n.volume-slider:not(:global(.disabled)) {\n .slider-track {\n background-color: var(--overlay-color);\n }\n\n .slider-track-after {\n background-color: var(--primary-foreground-color);\n }\n\n &:hover, &:global(.active) {\n .slider-track-after {\n background-color: var(--primary-foreground-color);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.volume-change-indicator {\n position: absolute;\n top: 50%;\n left: 50%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n transform: translate(-50%, -50%);\n background-color: var(--overlay-color);\n border-radius: var(--border-radius);\n padding: 2rem 2.5rem;\n gap: 1rem;\n\n .volume-icon {\n width: 6.5rem;\n height: 6.5rem;\n color: var(--primary-foreground-color);\n }\n\n .volume-slider {\n border-radius: var(--border-radius);\n max-height: 1rem;\n width: 6.5rem;\n max-height: 1rem;\n flex: 0 1 10rem;\n margin: 0 1rem;\n\n --track-size: 0.35rem;\n --thumb-size: 1rem;\n }\n\n}\n\n@media only screen and (max-width: @minimum) {\n .volume-change-indicator {\n padding: 1rem 1.5rem;\n \n .volume-icon {\n width: 4rem;\n height: 4rem;\n }\n\n .volume-slider {\n width: 4rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.error {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n background-color: rgba(0, 0, 0, 1);\n\n .error-label {\n flex: 0 1 auto;\n padding: 0 8rem;\n max-height: 4.8em;\n font-size: 2rem;\n color: var(--primary-foreground-color);\n text-align: center;\n }\n\n .error-sub {\n flex: 0 1 auto;\n padding: 0 2rem;\n max-height: 4.8em;\n font-size: 1.3rem;\n margin-top: 0.8rem;\n color: var(--primary-foreground-color);\n text-align: center; \n }\n\n .playlist-button {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3.5rem;\n border-radius: 3.5rem;\n margin-top: 1.5rem;\n padding: 0 2rem;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: 1;\n max-height: 2.4em;\n font-size: 1.1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n text-align: center;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n:import('~stremio/components/Slider/styles.less') {\n slider-track-after: track-after;\n slider-thumb: thumb;\n}\n\n.seek-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .label {\n flex: none;\n width: 6rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n direction: rtl;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .slider {\n flex: 1;\n align-self: stretch;\n margin: 0 var(--thumb-size);\n\n .slider-track-after {\n background-color: var(--primary-accent-color);\n }\n\n .slider-thumb {\n background-color: var(--primary-accent-color);\n \n &:after {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: 100%;\n box-shadow: 0 0 0 0.25rem var(--primary-accent-color) inset;\n filter: brightness(130%);\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.control-bar-container {\n padding: 0 1.5rem;\n\n .seek-bar {\n --track-size: 0.5rem;\n --thumb-size: 1.3rem;\n\n height: 2.5rem;\n }\n\n .control-bar-buttons-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .control-bar-button {\n flex: none;\n width: 4rem;\n height: 5rem;\n display: flex;\n justify-content: center;\n align-items: center;\n\n &:global(.disabled) {\n .icon {\n opacity: 0.5;\n }\n }\n\n .icon {\n flex: none;\n width: 2.5rem;\n height: 2.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .volume-slider {\n --track-size: 0.35rem;\n --thumb-size: 1rem;\n\n flex: 0 1 10rem;\n height: 4rem;\n margin: 0 1rem;\n }\n\n .spacing {\n flex: 1;\n }\n\n .control-bar-buttons-menu-button {\n flex: none;\n width: 4rem;\n height: 4rem;\n display: none;\n justify-content: center;\n align-items: center;\n\n .icon {\n flex: none;\n width: 2.5rem;\n height: 2.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .control-bar-buttons-menu-container {\n flex: none;\n display: flex;\n flex-direction: row;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .control-bar-container {\n padding: 0;\n\n .seek-bar {\n margin: 0 1.5rem;\n }\n\n .control-bar-buttons-container {\n position: relative;\n padding: 0 0.5rem;\n overflow: visible;\n\n .volume-slider {\n display: none;\n }\n\n .control-bar-buttons-menu-button {\n display: flex;\n }\n\n .control-bar-buttons-menu-container {\n position: absolute;\n right: 0rem;\n bottom: 4.5rem;\n padding: 0.5rem;\n margin: 0.5rem;\n max-width: calc(100dvw - 1rem);\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: 0 1.35rem 2.7rem @color-background-dark5-40,\n 0 1.1rem 0.85rem @color-background-dark5-20;\n overflow-x: auto;\n\n &:not(:global(.open)) {\n display: none;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.next-video-popup-container {\n display: flex;\n flex-direction: row;\n width: 38rem;\n min-height: 13rem;\n animation: slide-fade-in 0.5s ease-in;\n\n @keyframes slide-fade-in {\n 0% {\n opacity: 0;\n transform: translateX(calc(40rem + 2rem));\n }\n\n 100% {\n opacity: 1;\n transform: translateX(0);\n }\n }\n\n .poster-container {\n flex: 1 1 25%;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: var(--overlay-color);\n\n .poster-image {\n flex: none;\n width: 100%;\n height: 100%;\n object-position: center;\n object-fit: cover;\n\n &.blurred {\n filter: blur(0.5rem);\n -webkit-filter: blur(0.5rem);\n }\n }\n\n .placeholder-icon {\n flex: none;\n width: 80%;\n height: 50%;\n color: var(--primary-foreground-color);\n }\n }\n\n .info-container {\n flex: 1 1 55%;\n display: flex;\n flex-direction: column;\n\n .details-container {\n flex: auto;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n padding: 1.5rem 2rem;\n\n .name {\n flex: none;\n align-self: stretch;\n max-height: 2.4em;\n font-weight: 700;\n color: var(--primary-accent-color);\n\n .label {\n color: var(--primary-foreground-color);\n }\n }\n\n .title {\n flex: none;\n align-self: stretch;\n max-height: 2.4em;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n }\n\n .buttons-container {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n gap: 1rem;\n padding: 0 1rem 1.5rem;\n\n .spacing {\n flex: 0 0 50%;\n }\n\n .button-container {\n flex: 0 1 50%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n height: 3.5rem;\n padding: 0 1rem;\n border-radius: 1.75rem;\n\n &.play-button {\n background-color: var(--primary-accent-color);\n\n .icon {\n color: var(--primary-foreground-color);\n }\n\n .label {\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-accent-color);\n background-color: transparent;\n }\n }\n\n .icon {\n flex: none;\n width: 1.4rem;\n height: 1.4rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: none;\n max-height: 2.4em;\n font-size: 1.1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n &.dismiss {\n opacity: 0.6;\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n }\n }\n }\n}\n\n@media @phone-portrait {\n .next-video-popup-container {\n .info-container {\n .buttons-container {\n gap: 0.5rem;\n\n .button-container {\n margin-left: 0rem;\n\n .icon {\n margin-right: 0rem;\n }\n \n .label {\n display: none;\n }\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.statistics-menu-container {\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n width: 30rem;\n padding: 1.5rem;\n\n .title {\n flex: none;\n font-weight: 700;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: none;\n font-weight: 500;\n color: var(--primary-foreground-color);\n opacity: 0.5;\n }\n\n .value {\n flex: none;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .stats {\n flex: auto;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: 1rem;\n\n .stat {\n flex: auto;\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n }\n }\n\n .info-hash {\n flex: auto;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.option-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3.5rem;\n border-radius: var(--border-radius);\n padding: 0 1rem;\n margin-bottom: 0.5rem;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n .icon {\n flex: none;\n width: 1.4rem;\n height: 1.4rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: 1;\n max-height: 2.4em;\n font-weight: 400;\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n background-color: var(--overlay-color);\n }\n\n &:global(.disabled) {\n opacity: 0.5;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.options-menu-container {\n width: 16rem;\n padding: 1rem;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.subtitles-menu-container {\n height: 25rem;\n display: flex;\n flex-direction: row;\n\n .languages-container, .variants-container, .subtitles-settings-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n\n .languages-header, .variants-header, .settings-header {\n flex: none;\n align-self: stretch;\n padding: 1.5rem 2rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n }\n\n .languages-list, .variants-list {\n flex: 1;\n align-self: stretch;\n overflow-y: auto;\n padding: 0 1rem;\n\n .language-option, .variant-option {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3.5rem;\n padding: 0 1.5rem;\n margin-bottom: 0.5rem;\n border-radius: var(--border-radius);\n\n &:global(.selected), &:hover {\n background-color: var(--overlay-color);\n }\n\n .language-label, .variant-label {\n flex: 1;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n }\n\n .language-label, .variant-label, .variant-origin {\n text-wrap: nowrap;\n text-overflow: ellipsis;\n }\n\n .icon {\n flex: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n margin-left: 1rem;\n background-color: var(--secondary-accent-color);\n }\n }\n\n .variant-option {\n height: 4rem;\n\n .info {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n\n .variant-label {\n line-height: 1.5rem;\n }\n\n .variant-origin {\n font-size: 0.9rem;\n color: var(--color-placeholder-text);\n }\n }\n }\n }\n }\n\n .languages-container {\n width: 16rem;\n }\n\n .variants-container {\n width: 16rem;\n\n .no-variants-container {\n flex: 1;\n align-self: stretch;\n padding: 1rem;\n\n .no-variants-label {\n max-height: 4.8em;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .subtitles-settings-container {\n width: 17rem;\n\n .settings-list {\n overflow-y: scroll;\n }\n\n .spacing {\n flex: 1;\n }\n\n .stepper {\n padding: 0 1.5rem 1rem;\n }\n }\n}",".stepper {\n &:global(.disabled) {\n .header {\n color: var(--primary-foreground-color);\n }\n\n .content {\n opacity: 0.4;\n }\n }\n\n .header {\n margin-bottom: 0.5rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .content {\n display: flex;\n flex-direction: row;\n align-items: center;\n border-radius: 3.5rem;\n background: var(--overlay-color);\n\n .button {\n flex: none;\n width: 3.5rem;\n height: 3.5rem;\n padding: 1rem;\n border-radius: 100%;\n background-color: var(--overlay-color);\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n color: var(--primary-foreground-color);\n }\n }\n\n .value {\n flex: 1;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n}",".audio-menu {\n display: flex;\n flex-direction: row;\n\n .container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n width: 16rem;\n\n .header {\n flex: none;\n align-self: stretch;\n padding: 1.5rem 2rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n }\n\n .list {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n overflow-y: auto;\n padding: 0 1rem;\n padding-bottom: 1rem;\n\n .option {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1rem;\n height: 4rem;\n padding: 0 1.5rem;\n border-radius: var(--border-radius);\n\n &:global(.selected), &:hover {\n background-color: var(--overlay-color);\n }\n\n .info {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n\n .lang, .label {\n flex: auto;\n text-wrap: nowrap;\n text-overflow: ellipsis;\n }\n\n .lang {\n font-size: 1.1rem;\n line-height: 1.5rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n font-size: 0.9rem;\n color: var(--color-placeholder-text);\n }\n }\n\n .icon {\n flex: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n background-color: var(--secondary-accent-color);\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.option {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0 1.5em;\n margin-bottom: 0.5rem;\n border-radius: var(--border-radius);\n \n &:global(.selected) {\n background-color: var(--overlay-color);\n\n .icon {\n display: block;\n }\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n\n .label {\n flex: 1;\n font-weight: 400;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n display: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n margin-left: 1rem;\n background-color: var(--secondary-accent-color);\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.speed-menu-container {\n width: 14rem;\n\n .title {\n flex: none;\n align-self: stretch;\n font-weight: 700;\n color: var(--primary-foreground-color);\n padding: 1.5rem 2rem;\n }\n\n .options-container {\n flex: 0 1 auto;\n max-height: calc(3.2rem * 8);\n padding: 0 1rem 0.5rem;\n \n .option {\n height: 3.2rem;\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.side-drawer-button {\n height: 12.5rem;\n width: 7.5rem;\n display: flex;\n align-items: center;\n justify-content: start;\n padding-left: 0.5rem;\n border-radius: 50%;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\n background-color: var(--modal-background-color);\n -webkit-tap-highlight-color: transparent;\n cursor: pointer;\n opacity: 1;\n will-change: opacity;\n transition: opacity 0.3s ease-in-out, border-radius 0.3s ease-in-out;\n\n .icon {\n position: relative;\n width: 2.5rem;\n height: 2.5rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n transition: 0.3s opacity ease-in-out;\n }\n\n &:hover {\n .icon {\n opacity: 1;\n }\n }\n}\n\n@media screen and (max-width: @xsmall) {\n .side-drawer-button {\n height: 8rem;\n width: 4.5rem;\n\n .icon {\n width: 2rem;\n height: 2rem;\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/MetaPreview/styles.less') {\n action-buttons-container: action-buttons-container;\n}\n\n@padding: 1rem;\n\n.side-drawer {\n display: flex;\n flex-direction: column;\n padding: @padding;\n height: 100dvh;\n max-width: 35rem;\n overflow-y: auto;\n position: relative;\n border-top-left-radius: var(--border-radius);\n border-bottom-left-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: 0 1.35rem 2.7rem var(--color-background-dark5-40), 0 1.1rem 0.85rem var(--color-background-dark5-20);\n backdrop-filter: blur(15px);\n transition: transform 0.3s ease-in-out;\n z-index: 1;\n\n .close-button {\n display: none;\n position: absolute;\n top: 1.3rem;\n right: 1.3rem;\n padding: 0.5rem;\n background-color: transparent;\n cursor: pointer;\n z-index: 2;\n border-radius: var(--border-radius);\n transition: 0.3s all ease-in-out;\n -webkit-tap-highlight-color: transparent;\n\n .icon {\n color: var(--primary-foreground-color);\n width: 2rem;\n height: 2rem;\n opacity: 0.6;\n transition: 0.3s opacity ease-in-out;\n }\n\n &:hover {\n background-color: var(--overlay-color);\n\n .icon {\n opacity: 1;\n }\n }\n }\n\n .info {\n padding: @padding;\n overflow-y: auto;\n flex: 1;\n\n .side-drawer-meta-preview {\n .action-buttons-container {\n padding-top: 0;\n margin-top: 0;\n }\n }\n }\n\n .series-content {\n flex: 2;\n display: flex;\n flex-direction: column;\n\n .videos {\n overflow-y: auto;\n }\n }\n}\n\n@media @phone-portrait {\n .side-drawer {\n max-width: 100dvw;\n\n .close-button {\n display: block;\n }\n }\n}\n\n@media @phone-landscape {\n .side-drawer {\n max-width: 50dvw;\n\n .info {\n flex: 1;\n }\n }\n}\n\n@media screen and (max-width: @xxsmall) {\n .side-drawer {\n padding: calc(@padding / 2);\n\n .info {\n padding: calc(@padding / 2);\n }\n }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Slider/styles.less') {\n active-slider-within: active-slider-within;\n}\n\n:import('~stremio/components/NavBar/HorizontalNavBar/styles.less') {\n nav-bar-button-container: button-container;\n nav-bar-title: title;\n nav-bar-icon: icon;\n}\n\n@background-color: rgba(0, 0, 0, 1);\n\nhtml:not(.active-slider-within) {\n .player-container.overlayHidden {\n cursor: none;\n\n .nav-bar-layer, .control-bar-layer, .menu-layer, .side-drawer-button-layer {\n opacity: 0;\n transition: opacity 200ms;\n }\n }\n}\n\n.player-container {\n position: relative;\n z-index: 0;\n width: 100%;\n height: 100%;\n background-color: @background-color;\n\n .layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 0;\n\n &.buffering-layer, &.error-layer {\n background: transparent;\n }\n\n &.background-layer {\n .image {\n width: 100vw;\n height: 100vh;\n object-fit: cover;\n opacity: 0.6;\n }\n }\n\n &.nav-bar-layer {\n bottom: initial;\n background: transparent;\n overflow: visible;\n\n &::before {\n position: absolute;\n right: 0;\n top: 0;\n left: 0;\n z-index: -1;\n box-shadow: 0 0 8rem 6rem @color-background-dark5;\n content: \"\";\n }\n\n .nav-bar-button-container {\n &:hover {\n background: transparent;\n }\n\n .nav-bar-icon {\n color: var(--primary-foreground-color);\n }\n }\n\n .nav-bar-title {\n color: var(--primary-foreground-color);\n }\n }\n\n &.side-drawer-button-layer {\n position: fixed;\n top: 50%;\n right: -4rem;\n left: initial;\n transform: translateY(-50%);\n }\n\n &.control-bar-layer {\n top: initial;\n overflow: visible;\n\n &::before {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n box-shadow: 0 0 8rem 8rem @color-background-dark5;\n content: \"\";\n }\n }\n\n &.indicator-layer {\n top: initial;\n left: 0;\n right: 0;\n bottom: 10rem;\n }\n\n &.menu-layer {\n top: initial;\n left: initial;\n right: 4rem;\n bottom: 8rem;\n max-height: calc(100% - 13.5rem);\n max-width: calc(100% - 4rem);\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: 0 1.35rem 2.7rem @color-background-dark5-40,\n 0 1.1rem 0.85rem @color-background-dark5-20;\n backdrop-filter: blur(15px);\n overflow: auto;\n }\n\n &.side-drawer-layer {\n bottom: 0;\n right: 0;\n left: initial;\n bottom: initial;\n }\n }\n}\n\n@media screen and (max-width: @xsmall) {\n .player-container {\n .layer {\n &.side-drawer-button-layer {\n right: -2rem;\n }\n }\n }\n}\n\n@media (orientation: portrait) and (max-width: @minimum) {\n .player-container {\n .layer {\n &.menu-layer {\n right: 2.5rem;\n bottom: 11rem;\n }\n }\n }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n.video-container {\n .video {\n width: 100%;\n height: 100%;\n\n * {\n font-size: inherit;\n }\n }\n}",".indicator-container {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 4rem;\n user-select: none;\n\n .indicator {\n flex: none;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 0 2rem;\n border-radius: 4rem;\n text-align: center;\n font-weight: bold;\n color: var(--primary-foreground-color);\n background-color: var(--modal-background-color);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/ModalDialog/styles.less') {\n password-reset-modal-content: modal-dialog-content;\n cancel-button-label: label;\n}\n\n.password-reset-modal-container {\n .password-reset-modal-content {\n width: 30rem;\n\n .credentials-text-input {\n width: 100%;\n padding: 1rem;\n border-radius: var(--border-radius);\n outline-offset: calc(-1 * var(--focus-outline-size));\n color: var(--primary-foreground-color);\n background: var(--overlay-color);\n \n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--overlay-color);\n }\n }\n }\n\n .error-message {\n font-size: 1.1rem;\n margin-top: 2rem;\n text-align: center;\n color: @color-accent5-90;\n }\n\n .cancel-button {\n background-color: transparent;\n\n &:hover, &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .cancel-button-label {\n color: var(--primary-foreground-color);\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .password-reset-modal-container {\n .password-reset-modal-content {\n width: auto;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.intro-container {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n overflow-y: auto;\n\n .background-container {\n z-index: -1;\n position: fixed;\n top: -1rem;\n bottom: -1rem;\n left: -1rem;\n right: -1rem;\n background: url('/images/background_1.svg'), url('/images/background_2.svg');\n background-color: var(--primary-background-color);\n background-position: bottom left, top right;\n background-size: 53%, 54%;\n background-repeat: no-repeat;\n filter: blur(6rem);\n }\n\n .heading-container {\n flex: none;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin-bottom: 5rem;\n\n .logo-container {\n flex: none;\n margin-bottom: 3rem;\n\n .logo {\n height: 5rem;\n opacity: 0.9;\n }\n }\n\n .title-container, .slogan-container {\n color: var(--primary-foreground-color);\n }\n\n .title-container {\n font-size: 3rem;\n font-weight: 600;\n margin-bottom: 0.5rem;\n }\n\n .slogan-container {\n font-size: 1.5rem;\n font-weight: 400;\n text-transform: lowercase;\n opacity: 0.6;\n \n &::first-letter {\n text-transform: uppercase;\n }\n }\n }\n\n .content-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n width: 100%;\n \n .form-button {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 4rem;\n border-radius: 3.5rem;\n padding: 0 1rem;\n\n .icon {\n flex: none;\n height: 2rem;\n width: 2rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n font-size: 1.1rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n text-align: center;\n }\n\n .uppercase {\n text-transform: uppercase;\n }\n }\n\n .submit-button, .guest-login-button, .signup-form-button, .login-form-button {\n margin-top: 1rem;\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n\n .label {\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n background-color: var(--primary-foreground-color);\n\n .label {\n color: var(--secondary-foreground-color);\n }\n }\n }\n\n .form-container {\n flex: none;\n position: relative;\n width: 22rem;\n margin-right: 2rem;\n\n .credentials-text-input {\n display: block;\n width: 100%;\n margin-bottom: 1rem;\n padding: 1rem;\n border-radius: var(--border-radius);\n outline-offset: calc(-1 * var(--focus-outline-size));\n color: var(--primary-foreground-color);\n background: var(--overlay-color);\n\n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--overlay-color);\n }\n }\n\n .forgot-password-link-container {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n margin: 1rem 0;\n text-align: right;\n\n .forgot-password-link {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n padding: 0.5rem 1rem;\n color: var(--primary-foreground-color);\n\n &:hover {\n text-decoration: underline;\n }\n }\n }\n\n .error-message {\n margin: 1rem 0;\n padding: 0 1rem;\n text-align: center;\n color: var(--tertiary-accent-color);\n }\n }\n\n .options-container {\n flex: none;\n position: relative;\n width: 22rem;\n margin-left: 2rem;\n display: flex;\n flex-direction: column;\n\n .facebook-button {\n background: var(--color-facebook);\n margin-bottom: 1rem;\n \n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--color-facebook);\n background-color: transparent;\n }\n }\n\n .apple-button {\n background: var(--primary-foreground-color);\n\n .icon {\n color: var(--primary-background-color);\n }\n\n .label {\n color: var(--primary-background-color);\n }\n \n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n\n .icon {\n color: var(--primary-foreground-color);\n }\n\n .label {\n color: var(--primary-foreground-color);\n }\n }\n }\n }\n }\n}\n\n.loading-modal-container {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: @color-background-dark5-40;\n\n .loader-container {\n flex: none;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n padding: 2.5rem;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n\n @keyframes flash {\n 0% {\n opacity: 0.4;\n }\n\n 100% {\n opacity: 1.0;\n }\n }\n\n .icon {\n flex: none;\n width: 5rem;\n height: 5rem;\n color: var(--primary-foreground-color);\n animation: 1s linear infinite alternate flash;\n }\n\n .label {\n font-size: 1.5rem;\n color: var(--primary-foreground-color);\n animation: 1s linear infinite alternate flash;\n }\n\n .button {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 3.5rem;\n width: 100%;\n border-radius: 3.5rem;\n padding: 0 1rem;\n margin-top: 2rem;\n font-size: 1.1rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n\n &:hover {\n color: var(--secondary-foreground-color);\n background-color: var(--primary-foreground-color);\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .intro-container {\n justify-content: initial;\n padding: 3rem 1.5rem;\n\n .heading-container {\n align-items: flex-start;\n margin-bottom: 4rem;\n\n .logo-container {\n .logo {\n height: 4rem;\n }\n }\n\n .title-container {\n font-size: 2.5rem;\n }\n\n .slogan-container {\n font-size: 1.5rem;\n }\n }\n\n .content-container {\n flex-direction: column-reverse;\n\n .form-container, .options-container {\n width: 50%;\n margin: 0 auto;\n }\n\n .options-container {\n margin-bottom: 4rem;\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .intro-container {\n .content-container {\n .form-container, .options-container {\n width: 100%;\n margin: 0;\n }\n\n .options-container {\n margin-bottom: 4rem;\n }\n }\n }\n}",".updater-banner {\n height: 4rem;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n padding: 0 1rem;\n font-size: 1rem;\n font-weight: bold;\n color: var(--primary-foreground-color);\n background-color: var(--primary-accent-color);\n\n .button {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 2.5rem;\n padding: 0 1rem;\n border-radius: var(--border-radius);\n color: var(--primary-background-color);\n background-color: var(--primary-foreground-color);\n transition: all 0.1s ease-out;\n\n &:hover {\n color: var(--primary-foreground-color);\n background-color: transparent;\n box-shadow: inset 0 0 0 0.15rem var(--primary-foreground-color);\n }\n }\n\n .close {\n position: absolute;\n right: 0;\n height: 4rem;\n width: 4rem;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n .icon {\n height: 2rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.error-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n\n .error-image {\n flex: none;\n width: 12rem;\n height: 12rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .error-message {\n flex: none;\n padding: 0 3rem;\n font-size: 2rem;\n max-height: 3.6em;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .buttons-container {\n flex: none;\n align-self: stretch;\n margin: 0 2rem;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n gap: 1.5rem;\n margin-top: 1rem;\n\n .button-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 0 2.5rem;\n min-width: 8rem;\n height: 3.5rem;\n border-radius: 3.5rem;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n &:active {\n outline: none;\n }\n\n &:global(.disabled) {\n opacity: 0.3;\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 2.4em;\n font-size: 1.1rem;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n@font-face {\n font-family: 'PlusJakartaSans';\n src: url('/fonts/PlusJakartaSans.ttf') format('truetype');\n}\n\n:global {\n @import (once, less) '~stremio/common/animations.less';\n @import (once, less) '~stremio-router/styles.css';\n}\n\n// iOS pads the bottom inset more than needed, so we deduce the actual inset size when using the webapp\n@calculated-bottom-safe-inset: ~\"min(env(safe-area-inset-bottom, 0rem), max(1rem, calc(var(--viewport-height-diff) - env(safe-area-inset-top, 0rem))))\";\n\n// Viewport sizes\n@viewport-width: ~\"100vw\";\n@viewport-height: ~\"100vh\";\n\n// HTML sizes\n@html-width: ~\"calc(max(var(--small-viewport-width), var(--dynamic-viewport-width)))\";\n@html-height: ~\"calc(max(var(--small-viewport-height), var(--dynamic-viewport-height)))\";\n@html-standalone-width: ~\"calc(max(100%, var(--small-viewport-width)))\";\n@html-standalone-height: ~\"calc(max(100%, var(--small-viewport-height)))\";\n\n// Safe area insets\n@safe-area-inset-top: env(safe-area-inset-top, 0rem);\n@safe-area-inset-right: env(safe-area-inset-right, 0rem);\n@safe-area-inset-bottom: env(safe-area-inset-bottom, 0rem);\n@safe-area-inset-left: env(safe-area-inset-left, 0rem);\n\n@top-overlay-size: 5.25rem;\n@bottom-overlay-size: 0rem;\n@overlap-size: 3rem;\n@transparency-grandient-pad: 6rem;\n\n:root {\n --landscape-shape-ratio: 0.5625;\n --poster-shape-ratio: 1.464;\n --scroll-bar-size: 6px;\n --horizontal-nav-bar-size: 5.5rem;\n --vertical-nav-bar-size: 6rem;\n --focus-outline-size: 2px;\n --color-facebook: #1877F1;\n --color-x: #000000;\n --color-reddit: #FF4500;\n --color-imdb: #f5c518;\n --color-trakt: #ED2224;\n --color-placeholder: #60606080;\n --color-placeholder-text: @color-surface-50;\n --color-placeholder-background: @color-surface-dark5-20;\n --primary-background-color: rgba(12, 11, 17, 1);\n --secondary-background-color: rgba(26, 23, 62, 1);\n --primary-foreground-color: rgba(255, 255, 255, 0.9);\n --secondary-foreground-color: rgb(12, 11, 17, 1);\n --primary-accent-color: rgb(123, 91, 245);\n --secondary-accent-color: rgba(34, 179, 101, 1);\n --tertiary-accent-color: rgba(246, 199, 0, 1);\n --quaternary-accent-color: rgba(18, 69, 166, 1);\n --overlay-color: rgba(255, 255, 255, 0.05);\n --modal-background-color: rgba(15, 13, 32, 1);\n --outer-glow: 0px 0px 15px rgba(123, 91, 245, 0.37);\n --warning-accent-color: rgba(255, 165, 0, 1);\n --danger-accent-color: rgba(220, 38, 38, 1); \n --border-radius: 0.75rem;\n --top-overlay-size: @top-overlay-size;\n --bottom-overlay-size: @bottom-overlay-size;\n --overlap-size: @overlap-size;\n --transparency-grandient-pad: @transparency-grandient-pad;\n --safe-area-inset-top: @safe-area-inset-top;\n --safe-area-inset-right: @safe-area-inset-right;\n --safe-area-inset-bottom: @safe-area-inset-bottom;\n --safe-area-inset-left: @safe-area-inset-left;\n --dynamic-viewport-width: @viewport-width;\n --dynamic-viewport-height: @viewport-height;\n --large-viewport-width: @viewport-width;\n --large-viewport-height: @viewport-height;\n --small-viewport-width: @viewport-width;\n --small-viewport-height: @viewport-height;\n --viewport-height-diff: calc(100vh - 100vh);\n\n @supports (height: 100dvh) {\n --dynamic-viewport-width: 100dvw;\n --dynamic-viewport-height: 100dvh;\n }\n\n @supports (height: 100lvh) {\n --large-viewport-width: 100lvw;\n --large-viewport-height: 100lvh;\n }\n\n @supports (height: 100svh) {\n --small-viewport-width: 100svw;\n --small-viewport-height: 100svh;\n }\n\n @supports (height: 100lvh) and (height: 100svh) {\n --viewport-height-diff: calc(100lvh - 100svh);\n }\n\n @media (display-mode: standalone) {\n --safe-area-inset-bottom: @calculated-bottom-safe-inset;\n }\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-size: 1rem;\n font-family: inherit;\n border: none;\n outline: none;\n list-style: none;\n user-select: none;\n text-decoration: none;\n appearance: none;\n background: none;\n box-shadow: none;\n overflow: hidden;\n word-break: break-word;\n scrollbar-width: thin;\n scrollbar-color: var(--overlay-color) transparent;\n}\n\n::-webkit-scrollbar {\n width: var(--scroll-bar-size);\n height: var(--scroll-bar-size);\n}\n\n::-webkit-scrollbar-thumb {\n border-radius: var(--scroll-bar-size);\n background-color: var(--overlay-color);\n\n &:hover {\n background-color: var(--primary-accent-color);\n }\n}\n\n::-webkit-scrollbar-track {\n background-color: transparent;\n}\n\nsvg {\n overflow: visible;\n}\n\nhtml {\n width: @html-width;\n height: @html-height;\n font-family: 'PlusJakartaSans', 'Arial', 'Helvetica', 'sans-serif';\n overflow: auto;\n overscroll-behavior: none;\n user-select: none;\n touch-action: manipulation;\n -webkit-tap-highlight-color: transparent;\n\n @media (display-mode: standalone) {\n width: @html-standalone-width;\n height: @html-standalone-height;\n }\n\n body {\n width: 100%;\n height: 100%;\n background: linear-gradient(41deg, var(--primary-background-color) 0%, var(--secondary-background-color) 100%);\n -webkit-font-smoothing: antialiased;\n\n :global(#app) {\n position: relative;\n z-index: 0;\n width: 100%;\n height: 100%;\n\n .toasts-container {\n position: absolute;\n top: calc(1.2 * var(--horizontal-nav-bar-size) + var(--safe-area-inset-top));\n right: var(--safe-area-inset-right);\n bottom: calc(1.2 * var(--horizontal-nav-bar-size) + var(--safe-area-inset-bottom, 0rem));\n left: auto;\n z-index: 1;\n padding: 0 calc(0.5 * var(--horizontal-nav-bar-size));\n overflow: visible;\n scrollbar-width: none;\n pointer-events: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n .tooltip-container {\n height: 2.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 1.5rem;\n font-size: 1rem;\n color: var(--primary-foreground-color);\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: var(--outer-glow);\n transition: opacity 0.1s ease-out;\n }\n\n .file-drop-container {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: 1rem;\n border: 0.5rem dashed transparent;\n pointer-events: none;\n transition: border-color 0.25s ease-out;\n\n &:global(.active) {\n border-color: var(--primary-accent-color);\n }\n }\n\n .updater-banner-container {\n z-index: 1;\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n }\n\n .router {\n width: 100%;\n height: 100%;\n }\n\n .loader-container, .error-container {\n width: 100%;\n height: 100%;\n }\n }\n }\n}\n\n@media only screen and (min-width: @xxlarge) {\n html {\n font-size: 18px;\n }\n}\n\n@media only screen and (max-width: @xxlarge) {\n html {\n font-size: 16px;\n }\n}\n\n@media only screen and (max-width: @large) {\n html {\n font-size: 15px;\n }\n}\n\n@media only screen and (max-width: @medium) {\n html {\n font-size: 14px;\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n html {\n body {\n :global(#app) {\n .toasts-container {\n padding: 0 1rem;\n }\n\n .tooltip-container {\n display: none;\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n :root {\n --bottom-overlay-size: 6rem;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n:global(.animation-fade-in) {\n :local {\n animation-name: fade-in;\n }\n\n animation-timing-function: ease-in-out;\n animation-duration: 350ms;\n\n @media (prefers-reduced-motion) {\n :local {\n animation-name: fade-in-no-motion;\n }\n }\n}\n\n@keyframes fade-in {\n 0% {\n opacity: 0;\n transform: translateY(4px);\n }\n\n 40% {\n opacity: 0;\n transform: translateY(4px);\n }\n\n 70% {\n opacity: 0.6;\n transform: translateY(2px);\n }\n\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n:global(.animation-slide-up) {\n :local {\n animation-name: slide-up;\n }\n\n animation-timing-function: ease-out;\n animation-duration: 0.1s;\n}\n\n@keyframes slide-up {\n 0% {\n transform: translateY(100%);\n }\n\n 100% {\n transform: translateY(0%);\n }\n}\n\n.slide-left-enter {\n transform: translateX(100%);\n}\n\n.slide-left-active {\n transform: translateX(0%);\n transition: transform 0.3s cubic-bezier(0.32, 0, 0.67, 0);\n}\n\n.slide-left-exit {\n transform: translateX(100%);\n}\n\n.slide-up-enter {\n transform: translateY(100%);\n}\n\n.slide-up-active {\n transform: translateY(0%);\n transition: transform 0.3s cubic-bezier(0.32, 0, 0.67, 0);\n}\n\n.slide-up-exit {\n transform: translateY(100%);\n}\n\n.fade-enter {\n opacity: 0;\n}\n\n.fade-active {\n opacity: 1;\n transition: opacity 0.3s cubic-bezier(0.32, 0, 0.67, 0);\n}\n\n.fade-exit {\n opacity: 0;\n}\n\n@keyframes fade-in-no-motion {\n 0% {\n opacity: 0;\n }\n\n 40% {\n opacity: 0;\n }\n\n 70% {\n opacity: 0.6;\n }\n\n 100% {\n opacity: 1;\n }\n}","/* Copyright (C) 2017-2023 Smart code 203358507 */\n\n.routes-container {\n position: relative;\n z-index: 0;\n}\n\n.routes-container .route-container {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 0;\n}\n\n.routes-container .route-container:not(:last-child) {\n display: none;\n}\n\n.routes-container .route-container .route-content {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 0;\n overflow: hidden;\n}\n\n.routes-container .route-container .modals-container {\n width: 0;\n height: 0;\n}\n\n.routes-container .route-container .modals-container .modal-container {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n overflow: hidden;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/binaries/stremio_core_web_bg.wasm b/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/binaries/stremio_core_web_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..e752878a5fe1b82fccd3256b167be15d19f59800 GIT binary patch literal 4969551 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≪⃒J0*GmDEpR4@lGh$ok-QMOBO_Lu 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Ð%Vq>N%0$SjIlkWz}>ASD!^f)rDH1~QRi4@eQk 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­9)xTzKK&d`&H75dY^-{pC2BrE}tqmyE=d2AV)s9;YO7*|78c?di zh!A}OZuRAWTYV|uR)bRgi`E8|>c{OWP^y2yYCx&}d8+}X`ZHDoN;RvJM4y0LeJ<cu zgHnCjbS@~>e`xv?l<GgS8c?bow;Gh{D^>$a^;fLTnSfh;I^b4=QvIy80j2s+tqmyE z|J7<hsdn6IP^zz54Jg%rZf#Bk-0G!(TMbI}bJhlw>c6lypj7{*)qqm%xYeLkKW{al zR6B0<<$zm#Dd1LvQhkZUI(DH5xYeLkJ8m^7)i2ncL8<<0yALSUj$3^`;8vdtxYeLk ze}~-%l<M!Kfcy!#)u2?fzL6SGs=-F#S)f!qZuOafTYWm<R)bRgJ=O-4>hHCyK&f`z zYEY_KImvxMsRnC>`+!pIxYZ{DZuL^Yt$txN!>tCT`iJZ)P^$llT?I-tYcjbHDAi!M zh<^fZ_2tnFxB61Rt$rrpR)bRgV|EoN)&JD40;QVOp4<nNYOr9q&xL?neSS2<tv)x} zW@#vGo(Q<rpj7{))qqm{&+RHus#!-$8&ImjmJxjdZuObbw&PZx4!G412i$5<s(;3= z0;QUTsayq0H4ru22b5~Ztv)%L;Z~mrxYbJmw;Gh{pR=n#ss7h?6)4p#dF4J=18()R z0k`@}z^%R<aH}r`+-gv&KWkTkQvFMIA5f}UOv`;P2Hff=18((&fLnb&;8vdtxYeLk z|698Xl<NQ2?gL8od8>Ie;8s5paI4P--0Cv{xB7Iztp=s~-`Q25RDZz=pj1C;g;N2y z`hkF3eKO!yp9r|sO98hUl<F_pRiIS=mKB~0xYfW_e|e};#ala=*Bajq=C%7OgL$pw z)?i+X-W$wo_tXaST9m_JUW-f^%xmF<!Ms*><zQaR?t$Zjc`dkPgLy5uWP^DvxMXd> zl#q~vd9Cc{SASlcZNv0mMkWLDb?wgdY%|Bc))HW_uURZ+*w-urGVE(s{uuT(i+v3H zn)N+~ea(^{!@gz}k6~Z4aL2H(S*v5%*DTL5>}yu!81^-ba18sJbvK56%~Bh~zGiie zVPCVL#;~thLu1(2ESoXxYgWn__BD%R4Evh(Fou225*Wk2X4Q*hU$fE$JS+gNS=|C2 z76n$c0F_07RV<Eu&B_(WzGk%wfJA~&RzcX;tV#j2hyp87fH9)L>JxyCD6rxLs3Quj zG6DRE0xL^^L!!WH65y*Su!01nBnqq=0XvBTD@8z4qQL49@RcaAA_T-G3akPFgNXtw zKR{)oz-kY0nkcZs1LP(Otm<&=YgTeN_BE?F9Q&FT8;*U=Dh<cJW@UzBU$Yv+v9DQy z;n>%#x^V1kR$4grHLEKe`<fLMj(yE43NWhF9~Fds&1wn9zGj7lV_&l>0<0@eu@b_u zuUY-z*w?Ih03nN0ta1P|ivlYfK+&SWY6ft%D6oP7q%8`pS^#^C0xK0j<D$Uo1n{{i zup$A(E()wd0K<y{D-S^RqQGhcaK0$8!T{ti3alzH>}wVh81^-52Mqg~<pPF%%?bg- zzGhK?VPCTjz_71L{Wt7uvi%MFngsu0VPF5aj$mJZLPxN#zfVW7uRpFM*w==64feHR zUW0x8r^34f``R$C!M--kYp|~k^BU~yFX}wl*M@lw_O)SNgMDq7*I-|NO6S48Hq2|V zuMP7W>}$ikem~FGd9bey^BU~yzXte8*w=rdBiPq}sw3Fff2bqa*DTI9?CUS<2=?_C zbp-qR*K`E?`j>SC`}#9Ff_;rc(Xg-aOB(hyeon)_#&2ra*Wafj*w-J|5$tRH#D;y1 zOWLrnad8{=H7;|*zWz@-f_?pE9l^f-qK;r+|C)|qU;na>U|)YmN3gFyr6btaKcyqs z*FUZ!*w>%X@h;w9N3gFyt|Qpj#Ip_int1fEu&;?H8}>EvV8gy9o@?0G#A6Nnns};V zUlR{C>}%qghJ8&u(y*_ICmQxO@j%1ACZ1>5*Tmxt`<i%~VP6vuGwkcX7QPtR*TkcS zg?&vt$*`}92O0J?@f^dxCLUwh*Tho{`<i%&VP6x^FzjpM5r%#JDILMS{wW>7zW#9? z!M^^4j=On(9l^f-xQ<|73-h||nAbpG|6lw9`ubZq0DUdYYoM=%c@6aSJsg0(KEMI! zYXiC#^tAz93;NoCt_6K<K-Yr4HlS-kUmMW1psx++TF}=9bS>y>1G*OUwE<lV`r3f5 z1$}Km*Mhz_pld;28_>0&uMOy0(ANfZE$C|lx)$`c0bL9F+JLSFeQiM3g1$DOYe8Qd z(6yki4d`0X*9LSg=xYPI7WB0NT?_i!fUX67Z9vz8zBZt1L0=otwV<yJ=vvU%26Qdx zYXiC#^tAz93;NoCt_6K<K-Yr4HlS-kUmMW1psx++TF}=9bS>y>1G*OUwE<lV`r3f5 z1$}Km*Mhz_pld;28_>0&uMOy0(ANfZE$C|lx)${HB`HinUmMW1psx++TF}=9bS>y> z1G*OUwE<lV`r3f51$}Km*Mh!2r~3%{+JLSFeQiM3g1$DOYe8Qd(6yki4d`0X*9LSg z=xYPI7WDOL-AB;Z26QdxYXiC#^tAz93;NoCt_6K<K-Yr4HlS-kUmMW1ps$y7A3<Lm z(6yki4d`0X*9LSg=xYPI7WB0NT?_j9iZr*NuP>`0=<7==2>RN9t_6K<K-Yr4HlS-k zUmMW1psx++TF}=Qbd{j5&#NHl>vJjy`r3f51$}Km*Mhz_pld;28_>0&uMOy0(AQ^m zm7uTBs37R;(<%u1+JLSFeQiM3g1$DOYe8Qd(6yki4d`0X*C%zAps!D;An5BQ6$E{4 zK-Yr4HlS-kUmMW1psx++TF}=9bS>y>1G*OUwE<lV`r3f51$}Km*Mhz_pld;28_>0& zuMOy0(ANfZE$C|ly8aVt4Cq?W*9LSg=xYPI7WB0NT?_i!fUX67Z9vz8zBZui%hVXq zwV<yJ=vvU%26QdxYXiC#^tAz93;NoCt_6K<K-Yr4HlS-kUmMW1psx++TF}=9bS>y> z1G*OUwE<lV`r3f51$}Km*Mhz_pld;28_>0&uMOy0(ASq_>j?VVfUX67Z9vz8zBZt1 zL0=otwV<yJ=vvU%26X)eY7FRF(AVd5A3<Lm(6yki4d`0X*9LSg=xYPI7WB0NU7x4M zfUX67Z9vz8zCNw{2>RN9t_6K<K-Yr4HlS-kUmMW1psx++TF}=9bS>y>1G*OU^^)!* z=xYPI7WB0NT?_i!fUX67Z9vz8zBZt1L0?~yr6uU=%PI)^+JLSFeQiM3g1$DOYe8Qd z(6yki4d`0X*9LSg=<5r*{AZ{+uY#bj4d`0X*9LSg=xYPI7WB0NT?_i!fUX67Z9vy& zs5z_41$})+1wmgM(6yki4d`0X*9LSg=xYPI7WB0NT?_i!fUX67eNvYT`uc<lg1$DO zYe8Qd(6yki4d`0X*9LSg=<BO8`UHLbtO|m@zM_JluP>`0=xYPI7WB0NT?_i!fUX67 zZ9vz8zP_l&g1&xI1wmh5P~jg_b6y2OUmMW1psx++TF}=9bS>y>1G*OU^`mMm=<7#R zI6=)>6$E{KMg>7%8_>0&uMOy0(ANfZE$C|lx)${HDK!@K^#dvh`ud~_g1$bXf}pPr z=vvU%26QdxYXiC#^tAz93;NoCt_6K<K-Yr4z9Mr~(ASq$5cKsW6$E{4K-Yr4HlS-k zUmMW1psx++TF}=9bS>!X3%W|s*XLCb^z}Iv1buBl*Mhz_pld;28_>0&uMOy0(ANfZ zE$HjBx=PU3XH*dM^=TCZeQiM3g1$DOYe8Qd(6yki4d`0X*9LSg=<AcZO3>FQR1oy_ zk_v*penFP8psx++TF}?esYcM(26Qdx>t|IX=xgwh9QyjQ3WB~SIm4l^fj@HSYXiC# z^z~D!5%jeIT?_h}IJZMzUr<5N*F?}A`udy-g1#m;@6gu<bS>y>qW%tjZ9vz8z9yf* zp|A1HIP~=y6$E`vHUsj9HV>;H=xYPI7WDOlsuA?H0bL9F`T^Al`ud~_g1$bXf}pRL zR1owvDJBkmO{$7RUz6A3(AOlvIP^6cGY)-CdJXc2tH{N1=xcJv9r~ICafiNsS_MI0 zlj`lz*B4a~^fgJ_4t;$=1wmhve(liL<XAiO^%E)x`ucGd1bzLO3WC0VR0Tm_Kca%5 zug|I==<72o2>O~_WQV?fSOq~}Kcs@7uOC!F(ATF_5cKr}DhT@eqzZz*KB0o3ugTdR zP6T~TVlIXmHDup9^ff8A4t-4?twUdvEbGwMWW+l3HEFNIiJ-5^ZN=W;KF_Ei=xef6 zkqOj1rGlWZ$v1WA>nBwZ^fj5I4t;%I1wmhv1M1M%PpBa1YqB|!QQYS-6$E`vUZz7| zKca%5ugS1<=<72o2>O~_Nr%3ESOq~}ll6$q<US9oAn0rI7ajWg0Tl#&O(vp4U!PDx z(AVS?I`lP(gARR7cA!IFKc|AAugUXs=xdVs9QvA!J%_#~EpIpx^fkG6*sG$C3WB~S ziw>P4`lul2Yx3b7`kJIShrTAW&7rSJUvubda?~99`Uw>TeNDERLtm3p=Fr!Vsvzj= zM^q5>^;s1JeSJm+L0_L%LD1I^t03s>hg1;s^@A!1`uda#g1&x01wmh*R6)?!CsYvh z^^yvLz8286kgo-FE#PYbT?_bHK-U7k7SOeTufLU}fUn=rQNY*l<0#;30bL9DT0qwV zz8286fUgB~E#PYbT?_d7T^t2`eHTXoU*E}5z}Eu07Vx!zt_6H8plbnN3+P(F*8;j0 z@bw;!0>0kOQNY&;M*&|8=vu(n0=gFP^&Ce5UkmVBz}MI@U4YkMSQP-T!6+&KUIR{4 z0K5j3D2agAz!4?mIZPr8F_Q>*4FFLA@EYWy0^l`}LrDa@25TsZfY*Qw6#%b67b*Z= z11nSjyarFG0C)|MPyz571fc@pHPAr?z-usrk_dPWSWprHuR#e)BH%UfKn1{SaDkEt zcnu&>5&^G40xAMtg8@_oyaxTJ2zU+dPZ97M#GfMIHCR7Iz-v%`ih$QFa4Z5|gX~iT zyav;!2zU*ePZ99?H~3iqyavIi2zU*4PZ97M)Se>X^{4q+0K5jNrwDirMo$s&8g!l_ z;Pnsi^GpOa29c)-cnua$5%3xmo+98i_&Y_wYmj$}fY)H|6alY6+bIHGgR@fvyar*X z2zU*)P7&}LRGlK=HF!Ejz-y3nih$Q(=oA63LC+}yUW1!c1iS_@2PbeoOkNx<0bYZW zlN122!N*AofY*P_&jR4}@AI<&cnum(QUJUL2M2d?{-9syX94h<#ecYt^RuAd;6ToQ zf_H-(Isf@deii_){~13EfY+eg;8@NZgKLwVh(EuZp9R2cuxyHe*Pz%G0k6TYDFR-D zTvGtN2C}9Acnwxf0q`1-ngZZ8=rjeuYhY;#fY;#B6acRQqA37ggFsUNy#8nWih$QY z!mkK;{R8}pfY;y6uLyW8i0cS=Er{y~crA$Q2zV`s>j-!)i0cS=Er{y~crA$Q2zV`s z>j-!)i0cS=Er{#?GyfQZxQ>9=g1C-=*Mhi?fY*Y!j)2#KxQ>9=g1C-=*Mhi?fY*Y! z{@?TG{TaXBm;d@>enr4*L0m_`Ye8H`!0X@OR|LHNb$&&_Ye8H`z-vKVN5Jb(^D6>g zf0ADj@LCYp5%5|N*Aejg2ly2MufLmL5%5|N*Aehq5Z4j#S`gO}@cNJW6#=gWaUB7# z1#uk#uLW@(0k40ZUlH(H5Z4j#S`gQVa|#OLIs#sQl3x+<S`gO}@LCYp5%5|N*Aejg zyZIFXuLW@(0j~vdo#xLI#Pyx|FF{;Kz-vKVN5E@ATt~obL0m_`Ye8H`z-vKVN5E@A zTt~obL0m_`Ye8H`z-vKVN5E@ATt~obL0m_`Ye8H`z-vKVN5E@ATt~obL0m_`Ye8H` zz-vKVN5E@ATt~obL0m_`Ye8H`z-vKVN5E@AT<^^(D2VF_crA$Q2zV`s>j-!)i0cS= zEr{y~crA$Q2zV`s>j-!)i0gL#JV9J1`7c3SN5E@ATt~obL0m_`Ye8H`!0TV<R{*>= zFzW{|^#ije?chCW?O@Z^Dc#j!#=fUk=?tg$FWzQ5r&JH=RC>O$*!uKcjhdD;pAFE~ z*`*aFK=;3tQ`x1$^|*Ay;_k}imw&HXeck=LD(R`}vChcu3RWZ_+hZKA&}D$ORr3^p z+6KK{OW%@L?)JLco$)WJ@2Ryqqu8Z$i|Y8;k!FP-4f`>k-me#<$yj>=lXp(w0qsc) z;|n~gn$%l=_2y(`U*%n$Mp`@6tOD?@XEuf>LuqIdtG0HCb=#9^_4t7{2?6aX%=!ku zI@3+sr%(RulNIib^g&-5Izj#5_D&;d?5l9sgWKCvlL?m}Z?}?>J+-^rGuZ02``WX- zB>3a)O&s?uw&$=zD~H;flls2OLVHV6<z?E{WVGGjiSu>dIH~Qa?dIhg$>@<}^YP|T z(n{tJ+<Sn+)B);8(&u=osXeu!j$W7#n11BAenUyjm5F4WOUFcvWM+)!dusRTT8<xS zHzv7%E4}|iSl^XH$GO||0X^s-x94l@slBgL*Wp_`3&+}OTTd1a`<Z{xZhGIwyh-Jd z>LKl~9o7|NZ9w2S4(X$OV39U6LQ=11AJ>|sRqDk7^#gnZk-B!@VtZ@KyQUvq?C=Sa z#*yvqZA=s(+;(22vDn_B_c_+ysZX)kzCo3|a_7dyc2c{u4z+j&zwN$-=TFj=cHQ|W z;YVevUa5|-j$tIB>3jWEl1@9R-_xwrA^S%D>1}s(I`oVe6t^~2v%52y(Q>Z6OG_%K zo9paKn)g5r%B`fCwNL5?n|syONlis3lU+wc3nQ7{ppvxpN#EPy>QRUQ+cJ=MCmp|u zu7q1zrBj2hykjlCpQ>?n)YCb>laXe;QmIsjYIP18H0R*2Ilk-{Q$6A?zU9Ip9zyxf zWNWg$^|^1}*0`0gm62G5vCd@rV*TCC3QZ={8!2$Oe{pK;hMmcdBuTb!(*S$1^6utl zj>)0s7Jb%(%{@BY(_Bb)>;p9a!;4cx^S9o*M>kJjeCNBHJMDHaPKO&W4Z(E`lxEU6 z(A=$S4>!k?8yV_1Cfn}m>}q!O!}tPT64fRW2f000J)SNh<91uWpvg7_2>-Sx8@rA1 z((}LkWTo}PZ>xyy8$6}Tsm;3a_~GUz9nv#DpS9o~ORa;=8SlUtO|3)CyeCbrTe%<N ze%Q9y4=$q9u^&cPNu)q$cmz6&RkFc1nGe3nZ17Fm;6o5;@FB!Z$m$9@34e?=ZsH+! zKOI`!ZQ*G1b$nH0tj;cO-EKnwdz5i)_NZq5D7wknA^1$=yqUB$qUoic*z|q4YK12z zHynU>b|p7R;J!{DcFc#w0Y1LEVl3E3>~IR<O5ZgKT7UUweVAslD}Cg%f$Ssc$?78L z%z7&mgUJ8%`x^f98RTDMaew`GJIN4vA8juGqIBUuprmFWVMy&FQeEX}*WXrqzZKC! zgsZ*!0TJq>R*l@gt#%(xb?+CrRqIPfVVXKUeFSY_+#(T~UisJj`cZfXVLF~ZC_ed- z@ax%M$bO|ytJSCfA+4ZV`au3#T!j$g%^T@cV!}@t6Y>?ryq#UQRw|u#djH)tX{Rq% zkHeP;k9K+|9F5+q^32I&?M_+~$8l9VeIIfrturdx=?7IDqS#4?4ma!6eA|&`T{ocW zNVBH#E`72qnQVQ@#`t~BDmP)Ue-xeIrH^!)>I59CPB1jB6I|QeSE;7&Jl<|odE@c+ zE}BoK|C?0vu5{$Sq<t@arCD1)Xj`N0y~baY=?9PMeQ4LXud7vEtvE4zU%Iq(wQ~Gk z9=x=49!3Oc<uMV+XgJyW?Qc;}IEz_RO(qYtVNH`Nhz)wOqfejp-hps8q&4-$`kYZr z?~zfgjll)Q5^BB;0S%4m?am|38w165B<-AHH)Qle%Bu8{PP_lJ+Znx}w&>M~^y-L2 zyF>}P=)?>3a;h4=cJUdVUWHapuTBrWFo}5E5|wHisHXY1Hg-;?mtoZO`HHhZ`rJ?R z>jiP^mD?)?O80B_OlW5GYq(IR>%5Q&%!&!j$8v$0NW4D@$D84V0n|iciC<m*S6u#w z2H0O3Ba_FQn;TmvlhVa@&XmSHpTyKgxXfN`Q)6DYg=MM-#lPi0m)N-qsYi)jT}@(Z z)OSg2OrEmD*67d2yUq>9bsYUKbzI9{4kNp6{I=T29$L%D#=7#6J(7)VW&<t@izC|% zXC&ckWn_P-Ip5g6AtO6!HhnDl5Z45Op)H%LG#=X~bI~M_6KQ<FhpY|Ix$^Kl(41>5 zm_e1E$OVI4#1}3%rQ$;enzM~9rqLMAn0sq_ygwon4<+GXFJn?^Ee~(b$oAu@Eq~kQ zp=PTwM-2n~xz8XXWhm-AlSH~_gsFH_8L_Roxhkz?G+xeITd$`4MJEn5ry8@Fx@vL< zJLzIDsqU*hjY_iydf-#}EqGv~{J7A#*_iR?ozEL{%Y)6y#<cZwqA``xlItP*i&eML zm(Eo*b>_xcuYEo*_1xL6Sz4k~1&PXSmdqg6)w3>HO^R|OjPZ7JY&DUJebX&c5&ZPG zU<4asX4W+9w=nFXrFHgwhv|TfASt{|r8ixrFHmDD9cHBJNOL|8{ARAww`3}Ph})S; zH#@AE-Y>c}&BWrMJ14tbQ=0~N1urG7Y8QD;4UDLs&6qjZ9L8?Ry4$~}3^lQwb#YU_ zF3xsa9sR5{4288=X*64dl~!owuhwg&^|d-C4`c&M+#IaqXv?i=VZ>%WNE&5P!H8(I zGS&}LMLZDy20H(>XUn_Jk0xR!c-*F6X)?r^!d_;~=Chz(6f*&^%LRbVf@ITUzfo0~ z1?@<7<pO}&pwSJJ!v#S5y0GbGbCzs+?9ym2OIY_CP3tx5-F9VC73ZXr<{61o(p(f~ z^H4mY<$0(JNt=hdpp5g-DMY7<V0@-F55>Ogorg-*W%E$~0ztmL8zW>=B3K8$EzZO! zf-`AnBABwvDK|6n8D+ouq&aNFII=WWcHYR=>6!{?s#Vfk{93{IH(r8*cbhWt`LrZ; zn469{F?YevrnWPU(@o4>nxakwVos<JyN)!+12LJ-=IlHci5VC=kW-y70{Lt`BVe1W zU+GCbJu5Re9Xrq*Ycy77YLUJVvE6^t(Xd5iNN?v(6THY`*4;UMb8#U(n2C!?qB_vG zL5(qML-gH!q=}8<%-Si?cOufaEG~MPwH=w2q8up3td!Tyth-(bW*vB-*64wXGu6!D zzN!yu90rU&C>+=_SvBx77R<a*FrKp@tY=;*hI;Q@b=(wRNn%FkufoM9F^#>eNhdNP z#heK#I}@6#vCC*Jd*Je}_wTjLSEkg~UBYX<-K}TB{ra9-A8OY7Db(Bn*6(B=ZJRWS zd5IqGfcsEWB(YGGeC0`pK$HR!axS;ihjZ63&gG*_&$cEON|L{P3~#r2;EBT>z>`}+ zFPjhgg1pN%E#-Im<YWALD03tuns~@u$FAGmsWWLQn8)0vqVuiJHh)a}#<bFYU8=C$ zw=0rYr$Fd#f!N#)6l=un5Us@K6rx*LY$sUQ#0z&9!)RITsh(_8{A*Iuc^mHi_BQ(B z@ux|PKQ%c$HC`F259>d@noal=O0eC^lI{Bt-_S-iz8@UgGT{~Q%n*kqP&KJQ759;s z8|I%QWXPe_R`7_|T5G)00vPqKkVzh|97=W&mT2F!?wI2^YP}e9e2+dg<R}s=evFq^ z(rez`6K{NP9&fxWk2l`ciSfoep{U0v6>q#*-Gm0kc%wW8wCIjE62j+%!X)qAka#0e z>rHvMu>r&F$ij_d$<E{^3pd_^1hlXf-&BJDfxJw(@f|zf@s4-&4L2?vY~CbJRk+by zSQc))<(8Xt^Hsu)3kL`-a;?IR4fu?4a1?2s=tmZAWT5tj8?g}FQoO;!jW=LnF$#&g z6+9dZ&2de1G}rgIqI@ZO61B~QCr{;%#1>iQfm6K?G#k74KoM}G<BAHR+6U4>am5`+ zo6N1~4Gi?M#1*$<7&3j^s<`4VkuHxb-eg@_KCVdbUK4S}9fi2!0-lo?SCml9!zs-E z8rTDBk;fiZh&96hSk-XgONuq(JR8Is^H?Jy1%-x8O8WZ-@>t{c+*q=CYmb#@6Ag_P zn`rEm*~CO+2Qt~Bvq>S=xcxO@Hp!{%rq1!^md3V~=Wo%)*Uy^DO)aDJLLO^0(;y!O zT^=Lja+C5QIvAZKiYvGxAQ{C~L1@HXj+?7edS=-WqH>}zkxV#a9A)|d@xO|2&O?Y% z8(0XjD4a{fSmSgsTs0;41OlI$^g5l(6O%3<f}BJlgvfx!pSOkqyIKg*25dQm$bij5 zh{XZ>+6y5n>fUc8_L<l8YnBgKLWqi^`MA|AqolVOHrP2w7&hj7@_3(*%bD`1%%TU@ zj89oUNd>V&Md#M`9FIhp9XMCMlZW`0e@b(@K^(>mGJ6q%f)=CGkc~k>&dYIWEo5Of zXJ#tI=IntDe<0C63tCV|gpS5`(&L9Apl1zq=NSFt&J%Xu&_+Q$U3;)O-oS&(dAZ6& z1|tP;QVR1`)nc;z5vU+S=+bW4_#T(F^c;CwgR~>OHoBU;8|TZKpESxle3P<0@?<-I z^=a$xYD#ntCECp1tbcsZM&%ZsYHAcI-;^39k{i@$jPK25YV=i#@6l5^NC*L27h#az zE?OdSG54UK!<OmgS{$}C3qo{-EUZGS<wWgr@jV|K;@4}5@1gA`%7YS~FNCf$&Nf~g zs9=UIo{rZ>cAl%?Jferps>DHm4G}#X^5uvgL%tTr(`!7UCq2+l$*x-$_ctXyMpDjg z$OC#^lfBniK+lYEhKK@ss~F~aKrbpPIH;_s`qPj5TS&C63E+wWJtO8Iptsh5UcY&d zlRCyUD(JL~S#d<mGjTH}g4==p19~_22J~*eE&_UiS&5~*{LH#~K(A}$_b298e@c0r zH->=TYBuWX0X<V#@>iOTY5_eIRvyqR&K$3!fL>;=T0oEP<^jE8cLxEzJfLS$p8f$n z9OE?{<9!2q%}Qg$<9R#May&1tH?c_99;OSdm-OJ5n}Kg5a5Ah#dFF3;OERm#3HH|O zSU<Qexe>qC5H|-%q@F&WFITZ(Ta_Cq+@?rf+op#dMW`&M=Ka(e0+=<P`nBPyGCkkq zv9_;WZ>-IhCoLOmtG(1%+bHvw5Npe33Pi>>HsbaQ$J*lBzKw~s?J36EZY{*x_VkOj zIT6?T?~0MR{k3nbf8#fP;}8-AzXS^b$2hVOaMT?bceo>9*e8GTn~bFC9jSXJv=oq- zMXH5>3UDdwm=$-@^d5=JOuRZyTb7V=PBz&-VkBYNpL|SZPsC)m<=bEkWX445#zaTP z1hu41jK|EY@tDR&*jZA1q7nL8aJL*{d0_0JYxU5-+4cAD?&dTP^F*<?h=i7nJ!1u^ zv8C`VB|htCc-ofrKTXRtb86h#Lyg%;joC;I2@$BVsc~oKlzL0!o$hT4{;Jy>@5oLG zGO3T#%NmrNUbM?SX}7)o?UlD@p0qdTp0qbN-iB#ja=``f+#4Hrbh*2XWq2^68PY+{ zrnRwRU(aIm>l$x0a<iJ~4Nl~Y>B>Z|t%b;3X_JL8-704P-J&Ju?MU@o3RJg=@(Q!B zTSfUJ&0F(jeXkGG-(7_awOe>RGJCaUeO$X1hZ4=!;7}^GTF#+#sL87rmi3jqgO(h6 zd%w342W4+lc7nVcHDy6I9Y~`h4i!_KvNu~xa%gS&UIk;lYoJ{-576Nf4<zg00WJK7 z2Rb<qAiCV8Smc2uQq4>KoktRT*-}L%qb;|zlV)q+fkLb0d4Q)Z#{(uO-dJ{9H{V$H z653F{wedz9sw~ak{&Ei01+85y4Aq5oe5P&wnYQJhiS>=WpJ`!jpNVVN@|kG1hR;-J zwftw|)tC89WzOBZ4wAgyN%H!fB;@1tl4S4NNW!&iAqmaaK$1eM<w>%4S(21lmi6w9 zugSF6&1LRA(7d_v23R*?MfSdaFMn%%`PZbd>*pO~U0QBp>~?lplXvVUv5Qu32+Ba| z?yn0JLsaGI?z<z!ywqRNv2tiF>_W3OuuGxU^6WCbJiC~nV@)_6Ud_#LOS+~|*sX|F zqZNo67H7&0gCvQeuv;=ks<5TS6M}uRQA^!e>>av`%EWjqEy~MW3w%cFBAH~pp|D+9 z7qe9i{Xb@PZ6A|nYxtOjR?B_NgUvBmu(TM5Ne!8T4ZvGojwCxYX-|?}@^UBH3B1FS z>=<q9NU{Sb;kA}z7gbxofJ>g$uv~6kyqs}VW(y`82S|fj1#+S5BIc|I+I(`v!g|uo zVuZZ!P&?c#rkUA@E2No4q0p0Nwo33BD|1yy3q-94pLdBu4gt~&X+bL=achLMkcFzW ztxX%0W>!|)Z7^-ZtWi#}L~ezUF6KF9GCujd$s`FP<Q$YgJzr5?WdDw9^&)T1<)vma z*|Lysp?SCo0)~rsRxsO_<mtV#bF*ob(p<?xD7JvFiZ-=nA+|(s^<^Rb)-so~ukx<@ zvXJgxXUjsYy9F<DWV{|P@^#608?`K?t^5YEKb(n4WE$6M<`r0IJqc{9ih^PSn|%?y zbG;1IlfZUeei3DyW>jpBk}}dyhOawl-e!f(#A-eyEyJPF@=hc?=M5!3l}rW0=aOKE z@}-m$u|hDp${0h0B1Chi5X(Bknz3EJY_T5fWLxFDT291Bu>G!&Z%d$}Of5Loge_kf zSvv}wt{Q9E5C&i|%F6MYq273nvQeJM@xd&_;=z=3c(JX|Vxg9_ejj$QT$Sw(u3D`R zBiM4k+}24)Dy7p_Ze%n4$Rh24i>$PF(O_(`vxA%LO4=kLv&<s>km5G97)g_2XlA#E zW|EB!&45s1%b@765Cn0l1GL6^AeMgcQ-E-8po%%A<F&dA;Kd=V=@6Jv<Bbi;WDk37 zFM?Vq24;2?0y7K!0y8UyT5j0+)*Wws>stqlppux*Ggt)G1+F+)1jT&zHM<BZn{Blv zV;ykOTp9)-NamUW2=<?CwH5ntpoh@PXIt&K*n5r3-7~<&b<IxcvGtib$6yiEO9osV zEP^sNiow*C5{SD)5wAir+jTKqV=~)%=8&rn*y0@0RxK9hkP#uZXAap`!YoM{cZWzk zG6^d&14O~pUEQ6O;i%l3;m&R-Lh6SM$8bZY5Q9ZfgGEq6`i{ovU=frssc|?B7D4r( zEqhwjU=dWF4S+e@n+;IKh+IQ16W3w|8$|haq=J`m_^o8a<PN{wc)<bG<M7LH%GTuY zV;Qsud#?{gtab1u_h>zH_z^!iZmVTCL>Kp8#8b}7^QiY=5tL67HA#-Eb^Fr~Rx(rE zSZM{n_1HSnJO-$S@=x>ue{fO{7D06<bZeuD^)TyT5!4#pJaOK**6{UU5!Cg*VZcU( zuUAAhTzL_cz}=Qv1U1RFNUT^=eCu^=z}95nmr63v9>I!=)wh#NQ8zF}45_S^K-r%5 zUXp%q5ys*?5m}vUke@}BPBjP_63Z*Bs=~lXpAgWZ?bI{bo@ei*cHIM8OxIZG)Dbvg zn?zrWV`-Nm{1ZCV@uhd_>D#P_H9-cx*C7(wcnygSt~5P2qg6W+ReVPx_JL>rq4X4M zuY6M>?YCk(4GH2YeMoDvw7n3QR+3v3RjVX>wW$)XZkUf;Th+dLKl8iQ>J8dgZ;5^N zhS*oHsveASU|&7QFRaFW^{T8B3zhl4dWyld*aNVZ`fhq7tcNg<S}ogAZ&W+#Rn%;( zO-E>^_~STx`?2bbdTppTw6F4(&O~Z^3Nqpku>^xW7`7+UHi2(zH|UTyzH4%1<GU%} zo^Lv-h^Q5|n+6k~#F$o6V<$X)S?!qD21b`pFv-4j_qGKL3Ra{x!>b)=4zrGJA{jn% z9F!eSP(zn>eymf|!8WR@(ls`uQ*9f4z;TF|R9uoh4n)jaMhj~qRLh#hFS%K&KCunm zI5V&bpe|?GL~la-_KhYJ$Jn=zUy65bUTklnhdfBX?CQc(#)W~Wep9G)#)WwUX_T74 zgA2?@M{cX#WhCe7q%)t?V4V7$s=3xbz1oh>G*1M2Pu*Bh&F&8Sn87Oo$lR*Ql}eqh zGBK(ux3KfPeL{bC@ez}8ZFD}KY!$Gfwcu4igQVvgjkXsgR}VuAzC37<yOU|ZiLR{Z zL$mwbxZVtk#6O*2|2cS%&mua3|5+hMob5k1q$P$^d`D0{dB&SMeCeBMT`8d970Eo- z8PBmG$9?NL_Jd^Wx#1me*#3q$ykQ%O?X+OU*&Ih!oNd+@J;+XQ9PS~9Y7?w&ThDE| z`R3igVA7cNX4~}<ZN*u|N@44{g=FFYxQ|>bEXd7_iOtFEJ)N!18}!4t7yc2+#uCRX z4QtR6?gz_^C$o&U$z--Y-hk0*9PMkKGyx}8IRzRd9X-s(8XO8+&yCyGb1m<{7)`B1 zjl3t|r>xQsZ7I^#50I@({Sf<(ap#=Qe17OGF35)2cs|T<W>F2d*f1kmQNwJ!YnU;} z1bpfDWBCjXe7z~qLc6TmIHAo*<`mn&aUU_8wt<64ko-nnzrc?2kL2LEL+o7@wu2i= zFH_F9gBwcOYAW9jZYU*7;XMd1-wy6>O4<(YTj6msTR+OdE|(Zrkv&i)p;dfA#Sd7K ztwgn5oZmTa23MoMadGYh-zvg1>Q@fQNayDZo4!GB8TTT48HiDA)7dKT_`G|^=S?_{ zYs}7v6^cR{9Y5Bd#xDTR!8Y^C;!{LzoMHwZJ)TSp?x0Rh*z}Dm14ps<1y*=m3G<Ay z_uHm#6h7c$l@fb^suS>vT=WbDB=oq9?1jvuGEXHdgSOi6uub2#3Z`xTUT-$9AGGz1 z&v|QQF8X;sqGFJCv(U<8kXs8eNEp3$)3@>9BQU87uN-Kzi;InC`oS|c_31N&8xMrr z2F2)$^(Ld3-Xo*fd@?7BvFE7gRgxJ?)sg0Q#Gx1roZ9)EV%tPG=p}J)^qTMg?D>pd zP+Rl@>xzQWYg#1QDoW5rCtjeJQ`P9TmCxw(DztKXP502t;F-!)s=;}TM>1r$6mi|` zg;wA6t<WsbfHwL`P*vIsbe$J6QB^Tf^;p=2CD|gu8d7DY>uuo_{OXdo;*vKsIM7Ct z(9`4W`vhWF>0&!);(8M!#sqe_%wDVoFq@IJ|E6yytgW|_B=smOtE<V%I+W{@m3XSk zva&qN2jhA}#<jDHk8E6(eB9MWwh$Xv9oZv%Pg@W}f}xFUW(&O|8_EBg8rdIW+cTyw zVLQjdkX<R^wa_dd*~tPRh#E^i#AUxSv}Mhd#v@vWF@+|9oahBXH!@^xfX<YMr=T0% zlqqcbW*6~=%T1{u|9Kirymda_ACZZNl5nt>F{u<ceOvzFpgEF>jf80W+k)@dR5rE- zc*J+)yminCQ}Lz-^w?@uX)SXtZu(}un)DY1_Hj~(jno}%YQGRW>0&Uc_@-~xKo5+t zk33K^)4qd0E;ODH>Z6_)H+{2vk2NMU8ro;%jUAW(mFnBQaZ4=5J|9-QX&D@(v~SmT zZ>rM%%c9VX`Yt%g+yI^j&|wwB6O*M|n36VK7N$m$mUVlz0WUa67Rs93XOYCbnLko> znKEB+WzJ61KIB;(L6yNlh9SR@EAzQ*$O{hAl(|`83%+g4f*Ds>q`Gsm)pfM#ZddKL zoSbS`$~KveirLJVY`Zt_ZvUQYVT9mC)kR<-d%HN(EtUG&XP5|UvCn80EUy*pvqG!o z?6bc12J>D?5gRxw!9n(uKyek7507l@1a&XGQihN*eK0g!T!ep}GY8r}FmgXGx!$aJ z*Y=wC(rXi8l_&yMng$^P-0sikKU?GcXR8YUoBw3ny-`(||7=RO<^rIajV{GSuOn+- z)@EtWgGCxGWeMvIQTzR^R&!zaTr`)2SzJ_uyEFlH8EF$xmy=|8WD`(u(p>_ht!x5{ zyTQd<aRQ3Q%05BGKR{qyZJ;&oi_}cE17jQ|a3<_b0#kM|<tl!~-QG-9@kC_tYHCYH zPS+fO@l#e?{prX3Z8mQcLnx?;w7WWO#<vhArMMPF%&l;<&*u9RbF1d203A9pO?7Uy z-QJv-%wuzI);ejoVHrqea$Y~Pd3sjnZQKlku%29*r$zcct`jHqbmllw5I^^paDnKn zxxdplmlh>&2^$n0hDGs~NLmnt7*DntGN03Tx<Fsasf@l(-7xp>WmcyDQnBV5DVPgX zubWx7z7otja6RGkT8rx`PEkW#bTx~03<iu-RD8yA*!8-fWG5R7GQ@3?ietoCu;_kb zh<7t#Wd15#Y|DDh8CXrGBNI~0cYCAkOlUsFE}OMyS+94!f3Ib|D)J`%%Cg?x?$)#M za(#Qtig8hU2X~O=^W!xtTLJA?8_>Z$Zy#!+#y#XCU%7>Q6a!#CHojBb?ajRGHJz|; z%argx@(VB9b~y<7`MWhS9o|S<&Ux5tcSo@N)}Dt-+I!r^Vq&e%ti_=uE@x33c+}f- z7U*JQH$pHtp9z6&Cfc=$A{)DHL5dRe+QET9*G_D)&Bxj|5bpx#ZLvM8$ArHuj5BUw zoCOc#)N4cfuS$5sCUR_Fho2uepzYb*sU5-jwour{ttRjE5KRd9j4R;7ePlKuS{rTi zua32E<dvK-I;<MyBlNUFl#l)BAVNE_I8BwP5{iAf7@l5Kp$S{TIK~GEK|A&1JsTRb zbDHYDclQMD-kS&R?#csqcNGG6!1L+5(oY5Mh+p*t?&NRo6SyN{%n9GdZ4H6D)xvg! z$wSO;2;SNzXh*(dh27wju!mb7Pol7F-0p^*ckH<1jytq`5kro+-DZx&?Y4*;wTBxA z?cuf)zOuO8yzk*gW8!w&^^X!rkrgY&xZP&$;l{O!+fBe^u>4VEaH1bs+-`HfxE&k6 zx&61v;&z*G*At2&?ib^B$!6QF&7yWF4*<w!vnN@Ajwes$kHqt`$^#h--4A5STYjJj zxX}SRkazq8>ChtFw@rJv-AHfXp3YXjrL>n1MvEzDgK;5`1rm#ahlk)uh1>~vDY%Xd z)R<gI$$+T9bF?6CNic0J*`ht%wkBIRp*`FRK|yxv<3`H|1^EKkeK3$gP>5N}Wf4Pz zJH))XQv;Sl*Q-SyE-awTbO#RMek^79?<EBe8BMQp;4lk>iI=iKnE9eC5XQ{P0%6SM z+%Z)Ogw4mmVQ3ZXmwdLjM(ZsL93oJB2e+O5gLir0P&>Fq+pX7fyFrtOoxG4)ZtUPT zuLU0j5Zx5oSqL0%U#BU=#G_xJbvg?iS`;yxW!#&E7cFo&od;S`UZIuKt2fZv*OBMu zOV<u=1-ody;RREvo6V$A;Lxmsd=zv!fsD&d#utW(SyYM;;><NQ05`iL2#vT)zJnX0 z7}!?yK>5!_v+Syc1kqeif;Pa>u!?BT<AG5ZSUj+#3yQ;7<8&}w<Dh=2!!@65F<?C& zxY~eSEgonCwj2*+z~=G5;(&ea#RE$_xLw15B_5dX;KopKJ3b$=76#lbloIo}Wjnap zxST1E%4`QWYsRN6pQNI=gWIal@g3akF>~cR`3`Q&KgD-&Gjq%oaM;03nm0!HINv}w zS&PCBZuY>2KQQdzMxF2AW+y9lGDPQW2RGe0hVr=cgxxo^u^rs(Cbokc=Sw@d@g}9n z9q~5p;8r#s!VYfoS}Yf`<1(d;Vf&hhbK7?w3w;%NM>1r$DT*_qY>L{e`wniajmgzR zb~Y-@Av;DT!R4SvubYq^J(bggP~CzwJ(1(yF1ETgeeh`)ov`RZtQ}jVwo*zJ&0gM+ zo$cUe{JO#pZUtEqogxtu*mz;0JSh9_;AXryP{D{9=E$q2+FchGv#Vexv~qs){Q_E< z4f<;c(%FzN2k973Oa#Jsdd&yv3Ol$J#?N|<=VeSuk9(BU74pT4U6Z~3aV5(VonnG+ zQx|hJkR^(q@efc8(n&9t;vPYu^~OE28C;eHn!B8-b{o*ObUtnC=W;jY#1j>yTSZaj zLAq#|!$D<5wX!L`dXUbD`Kku#UIjS-`TGXx8mk8B`ptV*2-1<aF3&`Jl^|VP^Xx_l z(plm<IC;3zomq=PI;B{ZnDu21(gkMS`bseC>Os1$k>5Y!`LgDRzY5IS#j2W@SlY4s z3TzchvYL&Gx3l2r=@+Ckg(Yugh!dNu2M1nISTRT3!_6foe6@mfnZ0U3I`nHEq$^Hz z*BhjJbv#oW8l;0BAxI~Z*t#sas4c+LFGz=1SBRiD5<F5+MUHsf*XH<UB^s;$hP8xG zzTdcmn}xL$`P}XyI_6#68m?p>Ib@D7ypQRxkRVc58cbb2bS(%|iLeeaD%{2VtfkdE zD%9FqI`^S#(erFFhtsRB?cFTwCUgu1-nf`Bm1c__yPLY<-PRexg*8}~9l^5T8*F;3 zN8R?UH|l1KerjEde)6?-BF0OKx@kkV5Os?&vW<<s>0`fwQMXYdAR8EU6X<IUyzMRo z-jaTSx3VL2^<T!`%Pp|`JA`{{wc0RjhcQQ>PTm3nbz?p|_<EPRBR(6HBV}~|{;%IJ z2B*1g>Bf;jour7ubQUAytOe#Wn~%^l(Yhm?>t0SLGFn<zZt+cao5D&w%S_?@Ze7@d zDQd}$n25P*6ERn9znj66jnL16|K$)-J=5~mLs#>mf1B3dzq@hCglw?4iiGCAnY9Ac zm@hm_$<6v1o;JV!r@fo_X-<u_hZ>tAH8w?R5RjLWn`47J3+XfGvrXM3Qi2Q1_H481 zptj^P2SC{mW(`VyFxutLwQN&2yY9`obImq&D|_Ya3LJK}VVnI3F8?qgl}NQ&g}1R{ zUuUCl>gLgbH#nIywkwmlwiYsTWn8k?mE>oey3I$r-%_Bv1|MhgWqaLOledcY*`{um zHTn8rU=$~0w{Vlpyzo+gUjo+#AJa-^8O=gmZH4Gtq1E#4{L-dw-SaS}mu%|RJG~SK zm5il0z0?E`TIoO*K5N=MK)BB7Wv#gTPPtdXe(xG;*USUJ3=lVuJdmt|2RhCJwyB%( zK)WB+l1R0ccz|mI53J;8q}dw$jD=Rt1HBQ&L)!Wwx(3VCw(<VPvL~BO-AeI3EiGbG zLpF6|sM@A(;TuUqZ17OEwTXq#L};)aC|_ZyZu8G%o4VO&V##?gb8Az#H4Ig*4WDVH zp-Qtg4Anxb<%eo%Q@7G*Ds%4Mb&%xsP7>SH%}8=fKa%WS8%el!EhM4Y8c0%TwLD2m zo4S=qQfAp~Q#a%0o6FprZR%z(zpvlR-x^<Dd=Uk=cCdU62)lj`Gd6Y0jf~ySE^Bg_ z-6VF&HgyAW!ZvmD5md}-*QRc37(pz;3+%FzprhFu1YM!k@`A3ksau&{j5Ru@>{s(V zXj8Y97qpq@;Z~T#XvL;(7JAAJgPlo?j@^<`D)ZQWYu7RknH|vl8WyzKrf$nFXv@3} zugkhfYFTiO#4hg2x|l6ihy&o&jgA2tRQ7mc-esG*X|li3S$AksrMdxq!6D1KOJ44* zyU~z!hxcF|S$Aye_S(w2i}pvq%<UM#d|K#BpZ<qTa!Sc|@p2?jnJJiRbZzNo4BiE( z&~*`W)&l@d`TTh8d1p~5Sl*fZRrwlM6A8t<GZP7gyt6podh*VKb-m1Z%gm1z0V@!+ zeP#;NU4Rv|a^bl~zzT`&o-N(_(Kmje6~Av;X}3v54Rc00*-A#IFRt@d?c^c&mTu)w zpShL&JBGC%s|j~)=@!3Z=2q_gl6rF!?%dtJB#CallGC?zE6tS5t!%6GSRdzWKTN!@ zzV@TvdgY$AAKvw?efck2`(fQJxRoR0^|+O<OUBzMw=(E+wxydhaoEyr1r}OQMq6Z| zzMtZ7vzXClU!;)H7QaYOM%#7yMTDD{QL((G+qH;-dEc#VWe-xerQ7l@q-;yK@>ez7 zt3yH(%;ifdNutX;RAq<<|D?8b^Oel`JQHlTAm+CwCg!zx#)Jbor&O(yB%v+cO7n_W zSIo;xTw2Ktr<$<k3;ULC?&)7C_|i|vuRD!m)c}rd=~fQlXq{Hv(#?V_n9rDP+R_bY zlm}b1rQ3q(n)WoVS}g)2+;ab-yrt7pDV=#GOD<?jw*}!IR@z%>z?N>?xCtxQG0K6y z%(iq}K=89GSPahW@ZikC#s+69S#X99dvDjaAWB=hh0sj?$<U@7gJG!o672iRhGsT+ zK~&l*hGw)}FRY1b^$X3c7;3p;=WRP~yY05Yny4g?_6P=~Jk@?VW@k)XduC^YHBm1e zAW>rViY8k>`Zh$JB0PgNQJ@3ZD)8$COpz$x+UKUP(weBX%uVw(QKdCx-E-3%h+&O$ z)4`gkE?nEcjccMbD|yw2Ys_t1&kS<a0b86wT4q~e1{pKkdS;Lzxw31P!SJ%B4X^fq z?b^`oT4s=gHBtG7ZWi4btce<|iPDB{xSIxRqA+c*++HarKG+x;tcg;Zs|CaJl|870 z9I#9&t7{1Da_w3|yEI!vXt&U6`Oq$Vj}&rPN)D_n4p2a~9;}JV&=)XBy4`(Uz=eY~ zQ4xkK50AOOd9WtxI^Tu>SygsrTQFEFw^wvf%Uz{-qr6rH=oU{Ojmts`z=eY~Q6-e6 z{`BK(#01=x)}eN%ue}OuqOP-f<648)gEdjt`!*jN6}&d!!k4xtYIONEQIobt$&7-4 zPUygdzQBq-q6&NHu;ytD6g(}00yaIF;r|K#Mh-86klSe2JW$0(O4_207@TES%S+EL zXcDg4EsYzpMO!V~qRlo)d#~<sl$&jBPY`PxQMTbQ9V-X=2+I|Ag>x@K*u!l|2xe>= zl<nd6eoDTF8yf`K_Cse2d$<jOJ*3^*KJ#t0P4`zn#&&J3W1W%R6{OX$fK-OkN;1r< zsMhDd8KAqGmQIavSYWfZq@Mb=Y@;GVt21^CEH-vrII^AX*1&6=<OMxI7J_685aU8^ z@y)#W<flH?*}6YD`AMF!^^+Y3WFs)i>XN0Z0&11*5S_$ct&R=*zp=+sI{ab&xlwzv z@dRZD))F2xmrS-BTC&qnr)$KtxC32mWL?)5adYhnwEz-Y+D%)?seCN0wEq0-IANV+ zO^}vnXg%9hy;@WBklXMgTC_Hvo~_wpwI;<!tO&29FMRIFN>UX%WEFxCElukOw|97j zA$F6~o3!B)->{Bt<is{?Ay?g3X(-gnu4~%Dt-VQ)uk(L0%kxLHx6~9ZiOQxQIi5@} z>h?2iEvJ3nIFZbZ(TYcCaU4f(pm)<oc%8ZqhIv;@>cYIU?eQ>lIS#2OVBXb}P5O}a zq$$k1y03@>X;Y8n)4@Q>cC13oI(Oy8Si+=Azem;XF{#J$N%W$Ib;K3?FdRw|ZbVzz zRgA3Mcdj#`ix-mm2NL!lJf^)1hd<n@S}ay)T0BJnexjHdD4D#k!=B38YHK2yytl+m z{<U7}zZ!&W`BqKpJiL4ponq5BI2$6VCsX4i^`XjewYF~(4zQ0}7r`rS(VO36ooc?X zTh;e<6SbzsI_*0W@F8!!fy->!*;bA$JKM%roIKdPMTdLX!)Yd&<WXW9tv%bmZ{IDX zVRHp5&)RxK4iZ_l)n^(LaQguOCb@w?B5jA+i8f?{;U~2>U;_$IG7KB{bT+er9Op71 z(MbVE!hFW1VZ*nZc!oZ2(t!1~6J@n=6FuNo4}1wX!4DGw)0bs5RyjqgzCEy-v<|cQ zi$nU*lUXxvqy-S0y=U6>jecks4!<IFPhwKtV;nZb@_NgJu2s6ab`a4=rgo_(p|4t) zN@$h->KnA}02}(JF_~eXMvRpWg=#(&;7zKBxRr(ibQ5Fq6b%KF!4+7Z78(3wV^4l} zp4H-l;iGKzr?%qP2{D7xmvse#EIx5Ef1>2Kp2*&vJP{h}iQH9BBnt=LE<I5yfV<kt z*-8VfRQ>7zEPAxLH`$W3bPy{ltD{agYzeKhI`nb3=;O8_tcLF`u(Bt1n6&9k9-*qL z#16P$?IvhIV#gf!;iFh$$6S`!0Wp&;Ss!2s>jOEVN1J=-I(^s^p3KM=6LY%`BZ`d{ z^{TdKs=8fg@d0<@HNn!XG)T41I^2OZZnnlY()97{TSHWlhaX5mQD`I?xvkcKLK2Iu zi~AZxyF+gdH;2WoqQa@q2R5X8=}9rA@0rT4OJ5AXc+d27-cns9r^RHcsWv`@9trK$ z**9p}GOwCgpLxOfqDQRKw@yTkC-uXs(Czdd;cWp}gt3%OQ$_o5^#rtL5j8@CRn*i< z2QaGe@rcbI)`0tjLeAAZ<BA@zvF8>NuV8Bpm9Q3Xf?}3mJHdwnZ$eZETj)_`iC3md z=8_4yupruy?Vv|Nijuog8tY8tJ*seryhjsROr$|2QKUJ0xa|lxr}b=&d%fcg{h+NU z*lHxuFOB8~8(U~cID5U&%3WA<5yTr(<S^zh{3h>j`OVef!eWpi2jFG&yGu?F`kL76 z*KtO7PQ2~9f?ZJ|o@sc_WD6P9C?npa@4vB=8p~San^9$;m_|ItMNYi!A{eBr1=3CS zAss!K%t)ti)Q5BvA_~nWL^|3!=_Ix?(oN)~E3{gUbcTspCK%huax3K~&o{PBrcW~% z*oD#tQ2N5J^5d!ogn58-n)hjSF|;zyn{<PWj?>Yo1mGD)*x6hO1pV^hZ?L%~V@C16 z3FR81h4ejSeP!|@4Q&pz^_~d}={5;7v-=iy+Af{rVci$odusnKqhDVvP1o|Sm!v^W zFKL)c@%7P5)jC5>w_8pxkwB~gn`=m@Z93HSl5MOkAr!^VKniS#6c8^3IpFx3Ymx&) z>yQJ|J0=IP_e>5j&Fql_D5Z7D0oYb@z(=@=P#gMlnH(^An#%zfv?f9k+?fbve1ujm z2PS$%=n8T`VPygU*DME;hV5dP4JQ=1EKXy5v}80b!?4E6VAP_Aczx8$0UzBh5IB<= zNruoa+nG;t<oPckm}GPMC4BIH<K2Kb^9=yk+YjFdkZ#PCyWu<Zt)myV4WLY1CVFmX zrH0iB%A$t<mHb_3f?_O)&7!p{yMJnCrpi@%_S5-QCh;2i`x}}k1~Ju+=4t11VVaEl z-hA3^$sT_pzY&iY>%~u%o7&+b+pbJce>}g)9y5-&STESMS0A6#5hqaIzE_{#u<(Fh zUdZ?ClfLf)09BRk*~eWp%f%3tbcL~&o7ZdszGIbnjdZWEW}Mexf|aGVQPB7CTazG} zb3uYzp<qyS=4_FJI5sya8nVZ>P-CJ5m4?x80HHmiWG)jW+S1Rgu`MzwczL!4fCjb# za?);`Y;j9LMgzqhtB$gZgh}%#l;bklmVR#j^zWz^#;^^Z^$?uUo*vGuQ`lujk6VH! z?A-WU-RNmVVHZpzf3wEggdH;;+tE*h??RXWq-(NpVk>>(dw><}HZ!t4{cMl~W5)$y z`CsSXftB&vool$25iQoRI>tnVP2VPbm$Zp&vSdbj2H^vLXwIPtn-98)IOmv%0wSBR zO}K!-JI7wq#R*%Sb5yh8hrQzhVshm<$17xO(B<-+gW0Fq>C8Ni+y1N@U~V9-HC>R< z&gRDKAPgNeLFjB29p+q6&V~812w6SWo`?L*H)uK+$X}(H$!G05g?w&OWAd5NPSuen zy3VBEW?n7Km-RR|_Lx6uwjAc~!V<Olqz>Ge`$zdqF_+JjU5c3z6eU@od2f^?$(FE4 zMUELa7ba{v<$gOk$M^)CD@;OQOH`&g@^C3s?6jN@6Ed1-k_IPp-chgPR6i1!tMd7? zoK%ft?XtRCM%hW~8!=I`rb@^*>ro~0Drdy>5+1X>M||hlqplfrgXUG=jy@_Aye2_S z^qD~iWm0IhoHDU>q`8{Vqe|`vI+kttw}JsJChg)?bDSEhTGr_nXVoo%RdL;lRoNFQ zW7RE@RkuV|T@b4x9h|zj5?PvM`~4Ypalz)SD#YUwtC}f+71YbBtC<q(VpX=v$mYwh z9;-rqv8u!_ykgvvxq9RY$;N%7*H1=O6uS(aoS5=fbg^n2JSA4e_hq@mdQcx{&nxRE zlkQ?CbF*RaQt=XNGHl0OYn4ZO2N?w5ngl}GuwCm|k0f-_X%gE^TS;`jj}9g}H%HM) zF&CYbmp5(8qc+#K{X3nl{x->k^QK2KS?FN>p1r<u$;^ReJ$pee6<RGPmwIOOil6t& zpxjN@=Ug90Uow|%`zK3*O)ZoJM|h$bp@Z=&g&^G#0z;BJ6X~f7VS27`hkG&W3Wy97 z5HX*>Mg3@Omu$l8-yvp+VB`ka#PX`+SmBa%DZf<+thSjX>(kWksL1PYaT$H6*2j;^ zNuT1HuO#lFNB6;8<LOfthP5bsr%E@&GkB%(^rD}%I1Mk<Zt5EKn-~s<RRcpHrYbO` z7%4u(O`?{1kOzmdI4L((q?FfhC_J18d36n8n6Iwz=?cM9eUP5;>1Y-{9T|luvhawA zq))-`6~d=)O5XIQH@)29Q`t`|xEY$SUifr89fVJ_+=ahQ;Zxktj1m{6jFXosd}<@n zJWqsxVYE#R@a81+J4AR71NKaq_NB&DF+K(n)9b(z97Ier+p#y;++$Z!F^HHlS?K;7 z_%gp5=7WQXDcA+~GJDBGBU#eP3UXi&F~x<DM{WlZ(?P`4qw?lh8bnM75!1;*#8ioi zgdhglnQ|i%VqzjGuQ?)O5HamzYrIMk(-?(nD%7@2z;r5)LiG=rPW1*%r((dgS%^Xn z0;Yq2=`{yTr^Kqu1WadhR_z}!o$U>n&c=W#se1XG?$rvIHU|Myp~(#brpn*Qxsl`u zv}Y-RZxXw2z_b|yrWEslDdj=Hw2-`U{RT`y8+R{%DPYR}X$m@4k~v$3q-B~F1w~5% z(~5$mEiK!9`eXHp`x_stew2l~mllq7hO}~bWB!ub-g>1owg2cxJJX*`!DruJfA99G zTBS;ez+$Mw>HD<`csTt>i|ORy?JO#r8mhM1miCrR?f;lvH_3Hh^WN>9;q>_8RDJWN zIr=`F?$RQ`;dIZz<`$BMlNvA68Rl`>MS9pc4;vq?*6I^OlfwiL6)xOY`3f1VNmVUt z|5KAR=b`lZsm0dGzpr)5cT`SHb6lFY#j<vWrEPm_mD}sAV@`(l)}Eiby}mTB^ys1V zYJD*oZe2hF_+Nfkt$8NUe8o1r97?aS5|{Mk`eN(5SiqS*nb5s8x;mm&Jlt$Vjh?qg zS*NsM*Pg<<o7U&Pc^f~TpH>w&j8#_w-?hv0s{Qow`6;i|HN4(u55f<0|LVx?M4#<V zUl<|K?N1od>*_6GlpBmp*2!-Wq4w0CZ>9A^O(O0&rR-KvBHRk1Ww+v4@m4$g-U_>3 zcU>aV|B~*yL%WP=JI|}b;vI6(ytCW&BRxF~8TZyt5AUyi!*+f@IA@La)K1Om=kwwc zHOyYCGosqFbBoEyrzl*RS>$G|f6u2jBEy=Y=|MF-HO=L%|9X2QMPwR2pp!GwpvW{= zN4RK-kL>(lU##_G@8YK}RM)SLTi36StLv>laZx_Bw|;e`Gc8`N?AJ1IKElxAerHG> zu5wrY`$)UW=@$RbWWPtU<7jpq%Z}Q8QSB$3@5D>S1*b>#?#AeP1P?kJYv7&wL!-CX zuV@g|PmQwtoa4z+7M^ol8YN+Y<MSgdR|nhb(b0C5-?hg^$#~%R6Qgb3esBHUDC>^- zePOgcs`F2dwm0kdQ={!Moqu|?y+yw-jkd>i{_-ejvHX5^ltreTzd8!?+R(nr^P^$_ zdicWV;+{(7w#t8#BpljP`K!^}YFC*f4W*B2pzNi;{z4CGknEw|Z56Tq<M}XR;p$}m z+UN4>R;0y4T*^AvKeGL3K}6su$tAkWNs0@8{}U9Ex~hGFo6P&r&}bd^+N%_|c-v<w zY9n3RUZ%L&+g_qb?^XLW#W`>L6h&69s`g2Wo4oA>inijHZ$xp%+n%O4>&1sCw!8?- zCddQbL5xX1r|p;MdKGf~AYU#Wx~;YZYbC>kZyA<%RDP7&{cr3iMuP0fWL7rX1E(Wj zj7Rh=?#mG6Us$a5@z+ZLWz`G=DjM5OKKMw?q{3r!&Yg#v<a(@E-fY|8`>{^ldn~Yu z*3TvUI)}(NAp^#_cke53czV&QA4ZH+$<?W+XX?u0p>Wm;txv%2=_MM~HPVX`i_D&7 zq?O48<W)%ko!zw9`sM7=S$FK|W%}|Y(RU$`@L%3Sryrcvw^*81&%{yH^a0hFN)yI{ zbmM=KZbWG>w5PR(vYMXQWG_-pPg)`Uxo6K+(vjA``kz^%?Cla3XKzN?{>pFc{(BT$ zm<CCjOt(IBq_MeAKU_$5lrPZR8Tu*ysfuKs(biM%r?@mL$O)(U|95wrTrst2eeeGw z-J1+csic=?5YPMXPh<ylkcHMo09HbGI#b`?nPm^@>A$zVGyBob40(+$3=116$lv1C zGYJjUcILg?HC|euZQG`Y-ZSe{orm*55uV{K=wC)o9{KPrV%^`(`bD1*-@`7t<I|{8 zZ>KPIlIdj1pB6fdICU!DRmuKq8<W%UoAkyS%U8$_PM@DaDzQVdi!yyV9uIAs$~faB z^`E`#|FHl5=$${AZ2L#7qvH%h<l$M44?)~vAN?fT4X2QByLEj}Esn^BR`_JfmSt~n zI>TZgbL{#Zl|Qishx;m5%(&9t-B*zG`a+^lHN9*wFS;d|2YYMJAl_u5WFPUfw@6lx zNxRYKHiN_!{4$CWZo5CJZ*Nc8r<YzRXh?~(Wi(_x(|qI&ng(1}L!w0&_<#DEG^A-n zG$b0#G$fkKG~`yjBpT8*92(Lz9vad#;JHjA7Br-3Of;lvP&A}z)Jvlp0j43*#HJy| zeA19;<PFx4&Q#EKS^bzPm@eIzDI@8|x_x@njWba<4tuS1<0e;8(v6wElWv^rs~b0a zTj|D3k4iUgiMlb<xzdf97L;zB_sgUkGp#M%xYcXLsr_{$hP-s+%GwZBSI_Jyw*!lF z1}Vj>^#<$W%*cbc>sqA1LNgd$GR-YOazdf>3dWyI`ej(Vwhq>wkF0&w?7a0^e)PgD zKls-8+V~sG5B@IkwOMurzV5dCjE@U^ZG2qdYxvms8f|BM&3H1thG5WPBP_p_`C813 zWRuk*LoZ__F|*|myP-GRmzgtztc#g5<Lwem*Wb`9Fmq-U%Frt?b2iMx%$Y4IX3qFp z%$)J{^32SGH-?$D(Ac@v70DgUt5*@*{iO8@^BFYdOPSBS6qa6XGGn3^QGNYSW>#kD z>vSrUsez4|%5XEA$}qz}HNDDQhOxaCmk4WNOhzNVvBz6qe1HD)F)V&rLHzT)0hP3V z7_k-19vAG7*4%fq9|>Y!8M%Y3P41OpmMY6g{-@^z9AxuxpO|M}8OJFwzsY2(mG9~c zpkJD>b?WJe1xryY-;R--*0hMBo>sNEMO~Gf%DPG8)^{G1T)mpvLRk}8(s;m(9;^Fx zFawzf2X}`nK5p&SohVwry?#pW4)j`on%U)aX@~5`)>klnUIv<>Z-vlD&xEMZ;s?&3 zQ4x%<RbRw_!Uy?$z0K}%n*F#mv)L9TJa}(s3@Wma#EJdPP&N^|<b_(A)znh2VNS$y zO48(j{Q8itJ9KZ8q;vn!CGX<JKsmRLi<W}Cix)>4levp)84I|dC|$uiSdZcR8nX_9 z)f=pXjq?kwEK0jf-GX&cFm+#R)&X5#i*=B@$7Q#c-QzNKm)Ou1Z%4Jicb0kPY90@K zE17@RoUV9hnaWSQSN3XE!dBuBdk2R=Cgu-rZ+%b4$8q#0<wB)qGCLQ*5=*%N4*o2Y zlP-DtzZMp}iPKD079799^6x*M%^$hHmI?o*8X_@!`foOvR)iC$I1!v0=2ODTG<9)W zSENgmq0hg>K=-TsebWp0FvFF<Khmrq%q$R6lmC9W^-m8HF7YSk5rXv5ngo6xdC0>b z1O@P&)>fR#JW4Eyx2JnF-mj_jIU)yFGclT;wy8c{K4XQHrmfFyGL40U4EOn|+azxH z)E=Jej2uw?p4w^Fk)$W9A4rE<fA+sxcY|IYE`E}rWYTkm?)Q8TPWnatzsEVb&-ldj z1Aif15mKv*`FiW~hftiEeb3UroJKtl;p9pWxo9-vMu9A-T&xl465~AY0<Ubg0n<V; zbL$V@Ns!LDHao*OTB#SDT&WkA!mIwlJN;D|c^4EJv9EDqSkL_N`J^s(Qpc{Y^ej%U z^sKA3>=6pJgxAdZ%EM|a50oVvU{!I}DLIdp@M50)`+ip~wFDEF`_@|jc0Upzld`9* z%`yX%lPmT3lm!aR6;%9A!QqvEE9^V-JW4Dq$O>?;g}6)6r0i1?F(80uWOTmkWEK!z z2xl^LQ)XZ_#dhq}THpP5c^M2yF`@1&BgKZVEJAIVnv6&h>4)aQ!8kj;(tC4qrT0Fa zxg2=5269FKlQoZ;9~&n#^<w$|tn3z;#$r;&Gz6(y&m5H}gCNMC*y`V}uj1>o&-M&Q z@zPa%TW0*38c?}v5dddx#FZqV+l@iX+9V&lv0x!bF-`Cwj2btdmta(@%-hi5RH&rq zy1z;J)1k81^3hOPY<VtJ7F%8nmBp5fy56TVJiM~lQY_rt&rn%xsSn!IlFy+^QOk91 zky=a4`=OSN+gzdH^|#RU>0o(Fm-2B?A8=|ty~5}F7Yar^N`qR^qfv{J*z{em<McVZ zUeg<_<knv>K^8youWoEtt7B1^(VhxzR4UbsM&haU^r4Bx)|Gn0)=ZbU==ljazV%ZH z?iH~hx0a;fcENofv}?bxGB!3hlcTITVM7F0s=c8s`t<3FhA7_BTKbe1M<wNJrgE0D z$rCuH>GKL@44K(p=tFogQ57?8ymwt=I5X2_4#+(tp4D7p33vJnGQ+tvsNB}y2rw+` zuGux-hZ-Q<g+2&_+eut){j`cFx0u$40lo`|vCWQPCe-<NWHLRgJUJFJ0|L`)RvF*o z(#mgfX+#Jx{^VMEuCmzr5&U`<`(~I*g7Izi_8~H?S*fN`*_lF|RA-QsVJ^3jUz5o# z;)3aSB5Xd=9_C{(2YqPTw$P!*MXd`2ZhR(>QQ_&^TYH!w$5r;!X@jEZ!&-8&b@Cp5 zog2jmoOkYVevRh87{_`e7oaAXpTR{I1W%CT>Ybv*XL%)+nY`AXGPhJ9C@kePPVg;U z)Twg_Yyw@I5a9e0_x@)|yo*+SjxatE3=KQFB6qG0vy~DPtU)={S8JUSrm#QDZmsbJ zFM0ZasgKt8AIg7T_J|{aBP*oU*6+WalcE8=@-JFYUaCjYczr>2slLnmAj;`8h)9;i z;DUgbt*bjA!#Rb`S||T5$vE~TF$^CcWr)%m_NS=MpJH|P1l5JC6OEQ^=nLAxX<C{z zugb@6CumT;pn*NEfi3#+m@X@1)#RQqu5Bz6$|{a;&5tCEd2xk%{r=x!0PWatZA;p4 zSrhC%b?M`OnuSf>Bh%BTob@A70@)>NvZ+U3S;M7l3gi9w<u{6Ur>u9H9tnq3R-SYK z(!ceqYM6gwe`pvk8SlqWZ1CBwADZBj)7;TVo<GMF)uU9_cr=2(^+l<ubN*Zlf)BTT zQ6}6)tAevb7oq~Xq|0G^TdXcmo#uM3e6HG6CFQdOYt=PO)-|ZQ=8+aV530bknkre` zq=vIOB+m4BOWeFXiSS@}%`Pe)J(NCZKbN?t{gh9>nm!lKKH_Kj`Om+JdXK;w{D-F) zDGz3E{n2R;c|J02(Y@N4Y0sZIJ#Epw`a{#otJza~a9Uxay|o9X72VrYJ2~C1?XR}+ z!4Hw~QG1Zki-HoTbZp&TJFO!I^20ikrS*u8$gZ<GPTyX8Tt}j8k1dE(W!)*k$R`Dl zf-YWDV7r<=j*^C(*r&t5;mtZ#FHS9JWLMKC(C*goyfu8d*bsg|aMSRK30hu=H@#?W z&lcMvL-*1*zv)xqrYC7=K|xeIMGL7wNQA4U#sCg#c4jqw#_sr7@s9TN$GGEDCNOi3 zzi85}$nh5ynu}`A3{w|1#a5SSwVYwPqHz`mja#i6_BM1VKv}va`p)+;{1|Y(Eg5iL z=@<G<7<9cY8Fsxb8F0NV8EUG`1SQ>JpsB(V&ZOj_t3EP`MxnrW_8K^YLc<bupsd)u z<(X{Ao@i3yn8_r1GTQpHD$du_!<o&31`_#17knW)k&fX2;7-`9?V1f$Pf5Z;fLCo6 zm`$RYElEC$ukF+D)ig!2oBhp%@?D+6!>!NXND+3wqW9^(%)d-dQOq^JhhLqZ8d6tF zkFK>Y-HB(}n`I67kt-<KLFFl*G$)3Zd5?lur`X+J!fd{Fmrf!*w~R+8$+SA}+0{2W z>`0%DeyFe2hs0P3#$U^vQL>|4;{hd!B<`EwbkQ0~@r=?~iU(gGl*$y(B|D9l#73ln ztCp)&4(D1#U)*JqnfFK;tZHoba+o4ow@Yi%<>CpR_tW}j%h=Vm_1e{|K3V+7zDN+_ zlxf78Ys6DlC5@QTCThgfoKkKowDH(g)QFGTRTgbx3SiT*;<Wvoo$j?qt-7y0iq>5| z?W~ydDm&D_NguyzREPVCJlimgBPmQn%%zwcIQ=>B8hooL?&+Y!vtv(Q4=iP3#2iTQ zfGOu|(&Tb@WSSfyWSZQ9!)S6-XJ~TEXF!vqUC5oyG&h<YDP)@5G&`Dn3{B3QUDIJp z26=RP(R0L1elc9##T4g6VRoh|2g#;kA`=`rSIk1yMC-QNbA|FVg|f|JG7dUlsDGTY z9)2=A+9xF{xkP7G|4>$cmZM(lil%0~pkC=Y<)TqanPn+mH@(PFqu@M8Jl#sVZ8v>% z_wgqwl?}g9RZ9Qq3CWGyP~RNM7kW}hvWd>=ND70D3K=?&aZFE7Wb|UB#iGmyHx$f# z;N~(}WIk9D1+%x<7W2fDj;bl<kLMJTOenho;|Kw%ORw-#Oe8ai8}ZAML$LWMhAr7- zcxX0Rdv+peN=r8M&!qmD&_Ax8{^c#)fs8o+sV^+WW;Yfg<>Qklt;@qE>2<NM0aG4$ zG$Tlj4%Y?ivt_J%T;)m;g<{r9KBPJGwOL)!f|1vtry;t)D~m1B0KF~I0IF1PU8oi< zugu96x|DaNcyI45vbOi$NZVpdzZ^N++Y$-e+Y-6j+w!7Us=xhbP<#&AQ^mfr{ocl< zdLi*<3sP^@Y{twcxQ0|OM!%(cG5N3*MiXtMFhYY;lD}s0#Uy`;zG9NUL|-w<pXq2R z$zLgv#Uy_wJrMF0PxUI~^k>OeT{-<(q86r1$iq^qSC-VJyv0IJf0oVoG_{4CeympU zi1HQ-IsJ${)hZFDkm{AimX+$2WmKM`nB|x;yyRjr`3A8HIsH6%Ey3JXHFF-;(Tq6; zMdaem(_vN%t-4L@gQAZC8Wu|NGG$*)ew|*kY*foHa%D*Rg@ML76)f&i6d%e&DNOHZ z<995!k#*j0$O;|Q|CAa3Q=2SQsZ42PHQ=Xsb@x@yY$E4_sRo(Uckm-C{FD{2@yyd{ z6KtPe6Ru7*!TtQ#6DO&<zLR=VIjAR^U&$uB(qYipvbXcd64RtTirZOIJUXf~BE{nR z2?;9WJ5we$`lL+4>@K_L*)YYH<_e8%%B;rEN~cPZW_`kk&m&`Ix%zn#-8J0$Z#(_f zv4fodtgoSQM=aT`?MdS2^7WDcnG?C)-@g{$-_r1l?;o_ZxlD@hpIuaX|IoPn{(9-m zWC*0tx78;#Ygq54WOw6<eZ;|(&r9BXn5e*I*<{Q!eucX~Y+GN2a3Kj=NgXzne|VX- zUWz0vlkOW_R6Uk%W&!7GywDRbb3zZ6p6P&)?rSpqTwLg7GM<HAA>B9V0Mj9tJgr>| zy+XRLzM6CZI>*v|AsBSn2pzE6LNBHC3=@&!aa{?&S+H4Jppep&Np@+0j6J)wKq28b z(->V^Ak!|=0)>R%Y#mvb7I=vXziZM0QHpj)s!cLux(wJ>Y{}}20o&#o=`SbSt|?D_ zCAQVMOIizT%BqI4qQb2R3M*OxwDOCw{oQuX>=GnH7Np|5uNChTpSCA2Xl4C>|CZXq z{WWcfeX(}U>*|#u(y|!7rB!uCEXh}B*cRWm1d@(z_FQ8N*7T`QeL<R<xf%avn<#2e zX*T$3ur;zPDi(Szww2<+`ql+`Sf!?<(=r(HWSpHpcpuHhpTOAHqSMD~Ldj?Crk*&K z*zTp8?w8x}(5Km!d@_CLKYgK+Car(>&CLb&{aw!!$huzV6J}Uqga2$i;r$M7$LC=0 z#}?JR-GL^{0C8arb(-m8hUuOyA1l4@nBJH7n`mHJ+SA9Bq0IaBzK<Dx6<gvbYQSB% z+q9cV{ljVNxGyUP8Qfy$)V^3b-ulT@QsjATzyJF^P<i50`;+h5KXjtK!wjipVo})( z_B<$sp>wh-W0Qq}wn>n7-eo(lWIBEJx4sZIRkn5~tQ`+y-&?!DcL}j?LKxY;+i6W$ zA19ZPa2}alax+e}K2PNyebQk(tSUZHlP?MdNJBX_^v_Udj4utVu#Gsc(?Ly&G%TOY z*o1YG!+3>hm2@^~S8;B1vev9gZ#3A#g?E0u*4{Ch?AV{2Z12p?>K&gX7(m84$<o9~ zYlpW_)hpFnMbF2aR)^)?*9)l2Lhv6Jq4;8&7@|_`-FANRj>=D{4I|QCGH+`RclKLP zcD_S4usGCihU2ExkffEcF96RQVtXLH!2>n4-V~d*csCwWchIH}*H{!fqHQNe*q9(0 zR>}D+GB>-iXN)w?%%4@J&P7U7(WsaxjEWlh7wOqAF-Uf&PjYCTzsm@~mm+sP{jJRO z&?jpwl3QiQe0Y(EE`0&Fk$+jpVMBEGw%P@C)jl>cKQCXXE#6i;=jDe~ew?x~!ddRo z`qEK*=oMaQf=v%H4xYe1h4q|+#|s>MC2;U~7YC2$96W9u3?B&VgKII5wXZ3+pN#CQ zfX<03k0|o3zHRn`k~jW#CB7YpZ{d5sk#nvwoH$pbb{))CgWHUqpw=4LiMGtmS7#^J z8Ow1n%qFe|`$PFGR<4k<)x!h4Ak=x(c7?FrA|9&}H=*kBYG?cyLT>CBVUzJA+g0~L zzUT)Pl;X~hSN-@HM=kJuRCs!fPwoE%|5X-=JsTf_y&x850V+RhD1!Q(Nke0vS<ZYI zq}ug8mdhn1(Tgv>_)dLRyZ?;3@=+E7asXdKjk)DSGEHx162d`j$Yk<uG5g@Gc^yt! z;?2e>N1J>C&0fw`RGiSe!78@RyhLKSq!XSA+t`f}dUn3pW-RNMxFp=E-qR}FiQcn8 z2&z@1n#JlY;lOW=V_xhuEDF{08j_`$<*8;GC77kW^19(W8U2mkvuI(+GMk?Gawe>e zI*bN??(vK$^t)r5auF80$9C2h^`J#ICJ?-L>rU2*X^E5G;qf%%)<!cFVZ7eg`tRBJ zc$zI#G)|r&#GqT)<;x1!E-{GqegH+2-k3fjePe=&-MrG15>vLlDm2htHPpw_%DZ?L zYq-V!8Aae*<srb43+OE|fqjLJi9;xU4}yF`1YJdKUCQ52%WLfY^j4RuO;cKz6+jWU zWu#@N7%MBl!9H^Q@IOu)gHh$hrJ>{8!NW(j<CcQ=NNtfohe=t+j;V{M`G78mAo7zE zo)W4iJTK|nN_e8`$bV0o*=90n)f{C#attxfLWbYFo0RwyZ*7z5WQ4N3MIP}engp%+ zgcJRloal<6o;kwTQH-Dg2YCh0t0%L*t((zRvoz7$)FLz4zFM*8BkLyV)gqHVR^?6@ zfsP`D&I_B_^I$ssLD;%}jLU|PsdQw!gpV+o+-#WVGtY8%B#|vZC;3uX0~IbF;Wf-C zkc}Y?D|^;V%sQ%_C^+gC|A3@ex4Nw-Tcm5{NWt3Bek-zu5TavBK*;vlM4oIe=+>b! zyJwWiZHX>QfGgC)?!(DKf!$4|zVcf60^GkDzVD}%k#xCTc_C=!v8a_17jv2QF=pI` zKAz@YrjPGI(DFUY8o2U5N@VnKZrO4iD_M?=hG03G5Uub@WKXQ!>~l>#luQPj?rr^< zSLWXa>tKm1G)ciILD*`XwOshSUSR8~AVtbY*xV$2HT@4m(lDrt&RFaF-)>|21xrBg zjKi?45A)C1hedb_)#KZFq?9KU1;n6ahb<wM`pxAbY_1J_v)lE46T(w2hY<V2$b5Z< zb5(7l#TH78VZA^m@T#)IYiZu0po6r>@`(D4OqLNqY4r~E_T=$GPYMG1@v3Ahyix89 zW{UYKYd|2#x<<m7$QoNlWTA)CYI_{XF;<eWy0+U=l!P75CG1!Ou8*^c>_NE%fSvl@ zSoYv*H@472F!C_EO;v=c2Zmi~M!{0lVXWYXa?Pn<QIC$aXJJF$PajFfMAQf{hRsl^ z&crg$61X4sK4RI?0dlcCatwYnu{@HA<*CVDebR3pT;}TdtLzU5(;CALE6$JUrq68( zGk!S|7_6|yT4u#(gY^1poE6W170imkgJLNEEu0lU1P8BWR{T)l;K8hzao_D^c?q*( zWLLLm1UX{@QnKZmXT{vi?G+^NR`t)P$J>^f9;;Phio7WbNtNo^B%@s0`zzD?7_a{D zDsIv6PMR<I44#RjIhK0nkNNC+9W(1u3_i01j$&Ph`S9{H>tWeLHv3+FX3fr;*$jR8 zc{O%?Hm^R4^S2_CkZ<?VYn=g0qxWcMJf*oQRGI;w%x1t3gc)$jAb{8<z1^j@Z|XB8 zD9?a{r@;IIB~JmCYQa+gbFDU6uJZ9$o-EfOdTty}FX!VW=P4saX|jB(Dz7PP2`t;t z?Z11P(~JS1|Hg^3SDdT79Mj}#dn?0eE@=Y#iFfKCupGS~vph?llO^smUQH1<aPEs; zQl9(z1a?zCftA{ZKv1nPfn_<PD?&|Pq2S9fX<dCH8Vt`>=Cl@<VCweDPg;S)S<|HT zBUvn@JZIhZ3eQ=OHpg8+UDtEg(v*T6qwZ-dkd2xdWU${`HHl@3P`$lfx=nsM0ycto zl%sQ*3GK#AXXSld|8!PM0fHAZOlLpn6Uh6Dli34J?Q5IKk=)^Sh#g1e;#m6}cg0@z zN~J4>?iJ>^-|F-2570y2I-hW(-SasvDKV?haYr;2?S83)O(j>aJQbbu6_Y_CbWcUi ziM_(ybM@QX0^xA`?kRNlOc&4Ih%?-58|ky^Y_^wYk?>q4Cu8qyw%KPk3tlo`W-U|9 zZ^~p1;f2gYMy7i$9m0o*wkDvEN3VzhOv+W`K@1sj$=Fogy;KwF2>I;{DJn?<`v#mj zSfl!(@N(EqT-%i=qv^;8bk~M1FxM5bxb-~;vtP-mb)$B|x*=C4ZEA(6?>%sTEzP34 zAxhSs(32<3-<}TR5*bP{V@~2|5d!rCH8Zq(ct!zTA6!~|Gnx7CPV!K5Y+)e|o68z# z$69CgIBh9(MjDg(Z<de5+PiN==&U3HjS%ae4)`Q?8a8uN+m7AAG6iqKUhK14BA<oG zVx`5vJ@-QVQ8fR{CceU1vU`Q)+Zz`fT`4YxZ|=H@i;eY(ixJpvd!)?lU*cjj8xj{2 zQRI^>#l>KH(GO0IkukYPdj;5qf~3wS1G3oO)wF2Q-LO2`aHbp_SY;+Kx9Uv5&3p7M zkubT?GrpvE$&7`-rjSwNjJ+9qwdvf|s_9m4)f4UO|4yu@$gTS67y^5b6vUp|du<qp zX`YzZ(f%cx_%uRRo^ciG`k#rQ**jr+8m^Sd?^jx6%!?Zm87m6Mm7-%~x$k!E(Xp9A zbj)T5s(@XHLn%6zk=&wVd<qj)YmAO@H*V55I>w!3Z1s(f%^c%0bHmPLZdf+9>l0j> zD)@k-mpbcX?xpUUl#cg$Maq_7_^9RM##nYQF;I~+Zwyr2>2}jyMaz!x`*L9lb2e{4 zq~a}M7%2*tN0Q&-X6D;Uow=4UMK`-|XsDw5<{KWaK-9lV;fm3|2Hu{v*>`&e_8nH< zSC4%+BttjTqbO7r*N_C|_TBi}?Yk*FQuEQqo5*cEP}*eDlSnG*(;ij3I=0?wf68}@ zc~MF#Vpf#BN72PQ<u2Z-t`wo*;+@3BE0bXY4My_Rv|_XRKeK;A@{}2gB^NIW-!ww6 zi#K#^IJ+^hD|XAmZOI|_&X3T>@6+qz4fiR!c&7?3UfjnX-Of7C{X3Ix@vNNWB#Uy~ zg0?*~7y}oQYfyP%g&Zdmmt_L&00m4|-Fp1Hqzm_G<uR=H7@3vjG|t4#>|6Z1>Yvvz zr7{2R4CgK9iGw;Ip3Re?#x)tszI-*e1Q(R170i-CGE@zU=a%63a+YAySA!+)-QBGa zvaS9(S2>J^^@TwAcEQ}zUpOa2&(E2m=f!I@^s4Q7M#!vk2;H}<bfkX1i}BpXo0Soc zfoukxHmZ|Jg$F~C?RojH&_sTkuFoV>*J#dhH*ONmx!$keo$wRf9;?`7N<nIGayJ`O zfSJtAcC=ZyLD3V&vf=rx61<d0*H4~ct|1;O%sZFQE7826H?Jfcd6vepqKj+UypmSn zFh*3CR?>0<X|8A>xgXBIdD$fC_QffBYRN81)kJCEl#><v+RI3`;?u=J!H^qstFl2q z;h1am#`Sx(wRq%a%O1I@t{{_p<VXT9WP?l;WKQq9>NR6hi}@qsbYV4*9HMK)d2_0b z)7Yd@%r8-X2a+kzF6kYE3_woz^~Wi<287Jr74nz6vljpHJ+;Iaza+;xBfBdmePEN_ zoze6^n%1%PkYgG&qv`KjjkW-He^l>~5aYB+rK+dC{>8G%YpJ5B-1YHVXYyF5k+A0D z$aa=^BqRzYhqrg2eIwpWFEU2{n~f~WL+ut^Lee2Q&)kXqtM6-l{+n%wB}=+tO@Rqy zt4v0;%6K$$@U?y*<<gNowFc`TIE;0g^7!GIUPJ`WB+X;2cx<NC`_hj|YYb7Y-v|B$ zI(-JE%SFRSA$(KPuENPN&Lx|a*9cT{ce0t@y%PM7)im)X$h<fJ`kZMu<v66x5cj|( zNhg^1k06ZcheQ#ze$i2eadr`B@S||4IWk9;*skQW(Uc5W3UUUHD2Oj)X7WxKILz4^ zjHVJU^G@XVYZDeDs>d@m@~~QvUi84c(+$1{{~z8?%6V8bvV}JMe`GrwB++N+m;V3k zy?c~h*Inm%U-i_zRkuoSl~g+S+Eygn!s(gD0;Ol+qeN1J$%J_ENT8>?S1)>2uM&Sm zjxm{8A+E#<Xg~?-v;d{sfC2)0KoB)}8a0Se0Rf^hi8`o>APQ87fC2;vP=XTF$$Y-Q z-`?kO>sF~$Hct8>E$N)Q&wl*&Z~xx=RXZqf5AQ#W1=Iw(4kurt>jfrr@;hrgJ5we; zK(My-Sb%n`+9(=j$q3!uDDc&F9SzE8OeQT5ixtwoeXz5GgsHD2D#w@hzkhA_70-6J zrJo;Cs3h5zq68VN{k#Fm<NNusEtQTGiZ>=3(#!9CA*_CGiEcDx)SC?Lu3TYLRZX4W zmJTZ<oT$Ol2P?6S-9daMUnrYCsasF$^$MJ-BI)P>t0$*h<DG4363Z!*3ROl&s|tcr zmsL$SMM2YoNOvAob(6qoXBvn!om&s@S`=-QC7xX6Gf6DHMQ$1RKKC0_lNLf%fOV#^ zgVa{&8^1w{n(S}@;&ig%D<Ll)>GSW4IGWZVrDuNBcc4L(u`QO*^?tL}>63{=AB!Lo z94Uo_H~Xj<%sBu6M%%IwR#-<>R$U2P>-?;iC5m*n=L2BqE&en#BOO}lTW7ine_Dv0 z1PS1zNVTmZBy%8Pmf7ymWGg-WT#g})Sdu*2(j~nWLDXVNbTZw+8k|g$nQlk-m``gP z0I5dwhIjI%&#Rj6#f0F)BQ)_8O(0W}L!B;5qZ6Zy>GYqA73-aZOmEU_gV(MuIIolP zZI5E4AcIMI6tXimPsk9ilwN0B5)g1(oo0F4)J-yoDn*DAzeKvToy6^jJDnOMlKwL~ zmUPm=Cz9=tJHc$%5AxQyzx#1vnOtuYwziY6`9x1Hzlyq(PCmhW+KtNL$3eyH?1hSs z1WQk-|L^~&>VLejd78a{hA4E&cIS<?eZZy18Oj<6BII@F4k+sgWrGy^Huh;q#V1MU z(G~`*BxAC+fHJ203}G^9mPD9v9uU@{QV`b75!MxsIzk2640{>E9Ib}14#VgOE97#7 zbr&H_LZt^yHBdechrJnb!2IK7*p@2-tUu|=6a2XT!{B#ePo;qAKDl0qxsvUiW4uNz z-dM~-bk2m7i>SB_Q0@0}QMU^*On0``5vAfI?YP@!GR^r&dlk2d1GgF5fX9v<ML}jp zMr8_&p<fxd0fVaQ-Xn_WxQEq=oWtVcWZR+6y^w+JQ3UUSbGGpsIA>dOugGAO6e9x; zm?Y`Z7H*f3!9B^gjB_{)HV^_h72g;q1Nm232dG^ApyF!Madxm#ccRe1D%pn<1%(L7 zc%Tml6r>aA`+E>W)500ROAHw}j`Xq^+7^)+#8A#t+afX(@3V^`<0+}#TnxceQ4Ap# zGh|kCWcu5tZVpkU1X18BH3U~lz-)6d<dWxc2Rsq7r=u7`R+7uODoM5*R~b#kTs{oj z^C18geZ<hVD26a3B!;%hq%DdeLtqXre4C+c$i+|s{Y{(X7RtIEligC`fdWB_C~$-n zqd+Ln)CYl&Ac&?jq;dAJ38H#LSvQD6O)|M+;Gv3>Zcc%`R*}s{fxLUyU0ata@IZ@| z`4QUwfMVpzUNi_1nTsG~mcJ}2`wc2sVxR<5Ck(2DU>H=Fjv7?5#o=<@QW{j(Eu~!E zv!ZVCK{ZiX9?CkRQiJ*C)*vy9K0>gcsLa$;pZo=(i6)~vuh@70(Pz8&$z`ZMj%dR_ z(BvkB^aL?4yaZEbWF&YeSHs+xYSK)`FgueiNjurhS*4wAR5VIO=GBb-t8P1KQjv+$ zc2*Ux&fAjqw;k?UhV_g;p^>dEEN0f`ZAy0RW4S1Q*rxt?tEL5SV?@O+{{YJ1`(<p< zW_nF_@O$-Z0?QGwc0Ajia5K6h7w0frJ20aOg_s#FSvY|qExWj%;cWYbC;Ax9_Q6U_ z^f#PGM=J>7XgDkT;=eS#*mz#Mwz}30grf1>&W&d#eMdQmX2Oi;;qZ>t$zm~D^kjSp zH=aju>#dJ&JjYaZwuTDAMsCaT=cjx@{anM4VKQ@)Vaa4ROS`SW*d#k~cVo#HOy7RC z@K^+aB2*=}az!OuEddmogLlecw0kV~(b$S|mcF6;tmB#CobB)@S*Xp&!+PG8uWg3& z7<47Wc`P@a+tG0Lu9pmFzU8VMAg}=1$r$#f8_s-|;oR;pYde{Y5iysrBbzjqfy@w~ zT2xJLIJb)$YwS=5`!Sph(T*BxjM72)jv+41aBgQBi=<p*!IYWs?W3{AGKds$&;lca zXe<b~Z6u<xv?#aj8f#oiYTM(UZJU0O*M%Ec7F?1N+u%;wfmT_}<-%>ept0KhG*&xm zETn@p7K3xJv(5R!3}-`N4z3M<@HK+r%q+sPC>wXf8I%RX8EH~9oO6^dGMxJ%3<x5^ z#vNg(%ZRXP;b>f_Ae&(?Lztu05H`**I>HLMqMpli9JC`9Z`z=YrWz<0qVPn;M1912 zKXtI!zRs1vHlnGLDVgP5V4}cAfq6O;&QAiMmyNp9P(!;jfw(91<Ce3nH%W8Lc|v?c z7#zL<k<6ID5@eR;tZ-4z8TwVWoVn@2T)(jPd_1zwIF|Foq0V;bz<>ks!E$CjP-LA6 z%qmz%DHwYb8XuA#Z6OEEDoBXNe8dcvb+#<s?Sf!A8!H33EawSTu7_F9OpA#hY}gBS z3&}p7=%kff&Y&+?&M&1LYK!XuUUJC5aio{!&_qP0ENA3U&Q#W4Iq(wnnH(~vs*@5e zXJe{pIU^S{WcHCmIYiRcl0!xY?I4HL5OPQoX2Ru=3zf$`+nA6|UYA4M!cHz@t1+w< zv6WR8bNMiAE65?Je6a&R5#<oJgXGXeuN*Q2MsO9jBukJ(V{SPk!F0f|!Gq;IW|lLQ z8Ijh4WuQQ5bdY8ef}}@VTC?gdd@DoRSg+-56o}%M<=isz=3$oeohY!?hXRA;?9lcH zG+53CVQx9+5H7NuCq!mIsN*86O$+WO6JbzAZVW2hmUywK%vu}A$30tHKgjEYs<=4a zlX7Vjr_`Vt%404c)U|~{ZRN7E6^D|L?g0f=sY;e}>!r4wx3x4|5Tp78^qbvsXn%*9 z!WgK~&A%cpY!irMX@dQ#X!Kg-q|g#AYzX6RNei>sGOu;Bc*nj6jy_8yosjkcLZnqJ z<&rg=5-Ut^${N;OUinu!Csej|CTS_)&v8c{Qx6gL5Lz#+rY2iM*U3&;<XavZJfUzk zb~dA{a5Y<DSXyi`caMvYfQ(VIu(7(`tDtjcb5A6rikR83x)rXB%I{{>gob*=4bH@Z z*)XA7OB3nMQ=xZO+=JUxNRXWbUgVB|9vQ2pva%VE#8|MEwa~Z0XnfkIaSLqM>h&tY zS#j!#SiYwrMak8let#KKGxt@*fLsKo$J|@38orI7JRMtcu!KW8WT-I{+=A(>KIcku zDwm005AXN``&(<Y?7-6z-*O0W6Y&u&35%chN0CO97D`pGoBv?F8nIq9^Ys<j&78#n zqjI4l539E$x{HM{MvxQM`ipE5(o$@EC2dBUa^t_>U^wm}-~tke2sm;vVMY}~UrYRS z6i;9+W=N)iM+-C=3>Xn5PD`6onQ4MlH&0-#Jb}7G=o-<h3QC%{N@n*9nEf0{xU{P( zK{@IAcrv%bRcU7Z*yv711*5};)*k9GK`8l2M<%0zvzFJOlh-0u%r}_KbTUb~Z@|&^ znR+pu?6Y^yh87>}XKzC<xM&vpz^ju4SJ~hmR3)@0gW*4^ALMljK54m3f=?#Z+&zf7 zT!L2%5`0Pb06SPVl&NKZ#YJ!mMZ6n6#Qoh#;gv}(DWJ86S6dRXHe#_MnszMG2jE*9 zu?T7+7ORd$PLIjl1(I@ifzD)D#9fFu%tGx;05KVGsFuK?jFz>o1<g*WKJHWGj?joh zVH&_hh5}1k(0UYeIS$7PI9!`+!L?{Xun{m<gJ%7Qhuc>iLt4&hXxll|aJ(cs7%2V? z0>|ff4cj1JYQ!0jnPT}5J<QkDiArr5QFZix0s~4swM+y?52B8Uf!~;|hTkAg3<G2Z znF|~#2D~7VY7EFXX$WP>_zTRc;;uP(@S@DBjNP<LnF*Pp%%02GjrsCOC@toyVYd-d zVjPsDM==T9nj^H35sKnd8L6Os6^u7RF@sJb+gu7W=!l;9_#1CI*=XpM>;vA<pes*D z<pYsa3ogYH0?kBi5q(90W^;mzM3@0z3T@aLfL;-%LC)p{O@wi)L=a(Fcw;S@G7(mF z5tfHH)+W_lgiYR2gqdg2V}v5YqGzEs5wM?xQ!qkZ9?86vq!Z3F&%#YrV?T*mH$n@! zd^9Et?B_;kc`P6U7}3YfM3}!K!qENj1g9Vwdzc6_@L75%5yqM&bBypbMj{pmU4*R# zi|*-;L=lF87_m4(KcGxbuye|UB1w9*h1N4a1HGD2=3q{jS&-fa*PLCsJMyG?n5%Io z%IxRt23O+_;0ABQ;Ediz5l*~~MWS{@^1kGjnODydv!<?OJ_Ls&c#+ZJux#c^kT-WY zf)^Pbj#4fk>!QQqUZe$Q<U0aL5VZ&>TGkJV+5x5?Rv4c-5oeS8<j*5D3g~jGmj1({ z(;`KSf9@!S?^`i^@6N?2OHmZTkFk4Ohh)bkHoGkaGnxq&rnd0eau<0t4O;@Ei2exi zct!LlWR;p{qKH1il;tf%_tUtxM&1lE)x4RuoQyu+4170C*-CO>eyW?yOHDf<(wTG6 z@tal$eubJ;@S6Du`=$k***A-16C*mP)2paAF6`l$KhqCr2Z3{-WlOwRoy2^=3>1_8 zBElY42*~42!&RJIXyua&>1jDuHp34D>50tEx=>1gKBkv@CVoqF67#7y)^<Ks)k(}Z zMr}13%PXtxr@4rJ^?#GW-IYqKLeF_Y%F`B`$Zj<foeayl{q1+|@0bV0=NgONKBhn- zI_vLv)-BUtvNiPlzn`nLzhezcj5!|{z0~L+ZnDFpID)XD!-cC!RSTX_yF+^`y0vjg z^euX*wtw)OXpeQOb9P}Tr@-=5`}}{NYjS@D##hChd_0uCok^Xy92BfOYqz!Ub)!7O zA&eGJ$9ui@t~pMReg{zf@t0bLm=}~$YL-4;QcIja^@5(9)P1qs;;(T&E=Tt_L>GGd zOrtxJ)@U{5)}wOmoGDa<wNFWQy{csG4kiB+ZH7K_M~OkI{!#l;?gX|rSYn6c7OwNd zv{1G6zSUkKCrkaTtQYA3r+R!f^!Q4-$M4T^-1Iw+sXXG16Gg#8GsAt_=xubpjXdzS zavU#=@J<Zinx4&vYx6t{qncrgb=?8SFs8aR&|5p_Xy2hEZjDL~-hD}elqxxNhm!BN zC6Z8Jz|H|JM=zpexL*ZEqU{_dw}c7=+s%LyZVM}R>?4uv<ZTZc*>Pcwz#HkU9Y?TO z@&l20SagWC6ljzh?N`cRqBs49B5!xn(Xysr4TX}6(PC}ql+x^1fq}3#N6XPs-dVPL zL{BJXmS?FEp~HBi4{c8N&?cg{%%PlI=dz;E;>pnBiO}NlyJ^vuhZeYjndEYdte;=h z;&Y+J)1k#vchh3Kr;p>kEoug$7pvz&i_eD^&z4*K!ANXow29cDn09Z)3M}uge73<- z;Np<{O3n@@kj;sP9Wp6A(XS$dkkz<?RZ{q(Amgl$3jxBpGK86gFwfZ7VV#rZWN+=v zmlnax`j(ZXZ)^J%vcBmQ>7u$3e8%dbZ>puxw{`t0vc7G|`^E);gUJTF0MKaqQn_!^ zX$7jbhG6tCin2G#ZLaTa6CLX#UTAY6w0TWWN!%CL=7yED`J6-<{X88++NrWg`$7C9 z_0zOz#ovt5HuhGIG3t~?hYF*S5kXeCyU~eYQ@<JtCCf5V#U&Fr_bX+Cr}g1E74$E? zWy#W;OQrijy~UxP>Q_Ud-99C!yyVuqFS*rAZo5Ot_vGA+_K298?pJCTjNAE=KziHm z)Mr*AK-3(+-6J41*30*qiCC3P`j(vIR+Pc?qS-ju_%<7n4DP~;+fzR$H&4U3CYVb6 zylwgCIodzF1{}+X+m;8@8|B0kmN<)5TgZ9J61hdIn0Uq#Pn8k{!~Dpe+D%~4`;C!3 z^;zEZK0CUnb}YOfALSm>@P3N))4ZqWtU_+@EVgpRAiq>jykUu_%8<WciF4(g*SzDU zL;-Ua0L}&gF7bXT0DKC77sC4-fL#dh^Soc>J-xxnY=++SLREICEPEG27PA7T_Vxdh z9D4cK8#T)FT-9btdhsN><4Jn?*c-JtYcSok*zsVRs_ZpHpMf0__zY>4%@pQ0+)`I? zG;Ruyrh>RxoB65ER(>-}b(A@IH%YMk3-4D8?+b<Zn}zpT*~uoJIhjW9q5hMF_tS;< zvxWD9A9HhXrv01ETo&T^q;>X*N{q|EXV9aH)$2Nf_f2J>6D*&zbqQLhsFjr+zG0qq zx;$BW+_{JMdwJf+za6~4f`2>tw~OER^L&7R5BiKmY#)DSDD8%MB_+O?zsb-T0sVSo zU~p)7WOPllH8$R!m|VMV{f3R3HgB2Qx^0?O@dOSAQz7Bv8@t2%TlY2}l!6oK1dIX< z@NP+u|35fy6YcXUp4)B}a*?c}zx8#I*7P)Q&<5i`>j5Rq4%l@Nx5@e0H$o8WF(?^G zIX$y_;^y5RY~G`Gx5hw=xA{J`+4MFaEVubd+BDsDub!W2aM4XyHTY^~NlSzJCso6k z*YLm+HQW<w*w*ZXz8}Shi#7bbYMAsI?l0FcySU#J+X-%P^OAMBoP&<qzw-^=<zu1C z(7sGJIfU*yHj~i$rQl3Q2!2x#j5-9n$`E{LF$BgE2U@R)nD@~v)Jdb4fakN40vd}e zVJt2Oz%C6nwW^pUH6iHbnEa@qXgL%+%TQ!vkpxU`Z%(TQJLf9L<TcgM_8MNXL=D?R z4QrZOCzd2-7;YA7*s(+n)1iihsE7CcY7ah-d>3$xI2`wtYgrnf5Q$UrqB_Cn)gnHx z1$@p2d|n+w7*on(zIM&2QRce@#b$@%-ZB(7zgB&?)!5&{crg=b*osIl8JjdErNop! zrb@PXCHIso`5P(`Gq#Y$RtL*vJ59SNE9sQc`pc>%3{1CNOE$Dy0$MxGO#!V7J!t(c z)e;CqL5+fdSQ@R2cM+|HI;mixh}Ihct=9uu7lu5-MERRNkjx8`4UUy$rI0{3MMw&D z0?ExHB)0=3w*n+LhngD#PG*N)B}LZ#v>*vWbNfmm!Fnq~Qm7M1W{JCHta}ulCNX+M zPu*)b>=7Z#AM1hSJHH!9wm44MQMa<uK}{DSDbz^?$BK}g2#_2PkQ^Ist`kmd4m?up z`vgOvkZolcE(DTqtq*k8hFT|^T0|`vPWo|CZ;5#QsX|Q(ZWd^5X=MZndvC~p(tvjX zcq+jDOo095Fqgg2Znw-OKVN85)>Wa+j7yN{ri{9rj!6x+u_5;UqRNl^2y7{r&w6jJ zKgw*J-cNHlt@r+PPwzjfnu1E=gy$k8OZR?bq4%c?y+0Fr|6J((>0yo(@pjMlwEHJ& zca!&E(@NXLYs|2Iw$Sdm(C+i0-Lu0S!Rzgw?`ik#$7pxGx61`;E9)<Wl(nm1bu>LL zgmx{a4bPk(#?GbPdo<c{tiDez28mb*B+J;z#)@TpHr8W|)jceyqK<pZ6!T-MC2+q2 zvHd89xUAK3FZ*e!;l2pL&lVskgjoeaCfS?nqGG#1a35=eD8D0?|Fr_n3Ngu2c|fxA zO!stl_*By?%00NMS^~`~T-UD$#4@Z0uVAtV2zHih_%qe8#>Y<Kw|+GcnXnpmGM`2b zyUI0uS~UczVGDY5!!zSM#?)%q<=c$!k63v6U6kGKt=m$}yzGZeKZ3p8!h)1-T`D!% zjeTo`_&^zqA68X?=?YOTAv6O6H^;zufQ3YK<iT<c&#Q(&ROVXcz+^Sx%UKN%vhcy3 z0!AoU;s?816o?WAqc#4CZ=@LmAHN~k++>j}dAqTvFpHuYa3Abp27Ag~J9pHn5!1Zj z+*;|uJ@t$6yo6|$AH?dQa2m|=pO-6O@vz+JRwGA;0H$`Jv)MY}(;)%uU`&6q2(~Qk z2pie(P($X-GIk|bnjp#MQRHn0`?=gjARXdglYf)^Tg$(7{9Dhz4gA~4zfD^2<;J@E zdKYaD#}J=8UV<$%pS#@l3A8o_!7iWsX64A|z%&(?jeyOuAZ6x*M>%i70V==*??L&c zp*{6^7U~DPo0SHDIF$yw+mL;CJv0(37~zmgu&3id279_t_f?IZyAXa+AFjRqq)6y? zFrVkXxj=fs=^#raJ)23P<2OcnNRLh}IW9gP9{Qm*%<3K-T?I!s;y$csQODi{i#jJu znaKbdtlgL`Si6NzFBCexArNg(r-N~Ohfdo(iR>^tlDEKbOLf{iJZo_vI*h^F)8Pd= zJnQE$<P=$c6ZK`*YIl83pTP`XmOgEs1&EK^wL639@dyeQZx1Lp0p&OgPiZbQNxNKA zALgXfVCyb!PWQD1fn<{`G<Rwx2+}H7<Uxc8%eM!jS;C5^9HPuL?XJxs3O4Vu5ZNRQ z5S_gfMB0@<n4XQ$VEy($a|~$C0*#rxfqCC2i>cKXtrbaN8J6Hvd3gPou$~#g-AQA{ zxd;o!Y!56afn_cXsnkWVmp}21nWzfNg29VpW0O5#V$KYSVEjg=3C6E64a+KmVT-of zSvx(P>7Gtg&=w~B!I+v42J0QP)nzORc`=vz4TVncL~6z^W5M=x`7~X=)XOP?FSBC1 zLpg5*Q#M0LW^oo}x8T9Mnh%I1P)eI3f<=v=rSW;E#LRf@PUVysEZD`(6?sDwH8gjs zS7K@rjp;>i9b>kq>*s0x6!<X{7Rn3Os|}VkoEdp`<!EN0YWeAXsPkZET2@&c$qo{O z?U*M9t5C!cEW-R-u=n&W*n0W5V9DuQu;TJ>!MxJ9U|Qwhg5jiZ!DtHKutZolryc7& zwxKF{Y(>TKm_oVn*n+s{u{r7Lu?dr$$HwFpdThWr<*`25omP_jr#MVxmwvAUyGzVm zU<3Kg#m?FlPH7Y>uMXSV54YXi49Nq1FXMy;wn8?cflkaOG*B1Wga-0Do6tZ~zWfs! z2*hkc1MbWwG$7Y(LIXjSO=!SGVM62idNc!lLIY!(p_)t{&|@uOut?U()u||3wH_}x zT_TvkHmjKV;PSrUuB#q3p(_;3Zc(L3UawRyK6ip*@VJZ=R(M01hPPRJL$({VA!=tJ z#%g&kGE>zQ#t?O=WC))w0;pd}(#%oD+zb#baJ%|e0lif-J5(1U<14O?DmU@Z;te<s z-haJN9eas1lg0!jIqtW)6Z2wBW;>_IPx?(9R*!4yOn@ks*jgT6U4r714V&%{a!bC_ z;#Y3)!d=UTg@za5k2Ev$4Qyl^wPey64T^l0O{?I5O@!%%!Ssw#YaC3p9ZLBWys&(F z$@0b6%)z7?@+r7t`Sg<Ii^}_8G8ytI1ZDa3lI4qr3`bLid?C)}U`5O8V6rZJ4go>` z9PPk^$@=g)L@xbv46hzcHiXY1#L8!j55-XV!SFc*w)xB?eC`It&tV>c&lafGv`PGQ za)<?m>fcc4n?>KED|_H^L#d{O3<Y`t1x$!xT!gvB>I~}<nNa+VwH@e2n(;Q9GGrjI z5E7Tzrce<RKI3W2=vZ2D1A8VJ+grJ==lI^rpXu4&TlrHxNA_0!M9;~+l?6T5?ydZ> zp6m8j{z%XDdn<pa=Z3wNYkF?nTlu7(oAy@zK+ny4E1%GF%ihYoo>O}(zpv-ky_Mh7 zbKBm^$Mu}vTe+&|m+Yxs)^j^Xjh<Yh@q(T#zPqR=M}J=M6|O$v#6k!eWNVntwMksU z9r!Q=n$jB}=-ij<k}9*P+Bg1zaFsMISV7w2S=u#8d8wxrU8Uest1gK2Ru(GxAoHn5 zF!UeL53N~dK$*zyGoTEJ4JZR-1IobJfHJT)pxeWMf_NKH2E+!G0kQ#Qz)AzkfZKpV z2sWS)%De^y!m$Bug#jH60}A1k26S5(P%c8U0R{bw2Nd%~18Nq%mbes0w%%tT<=uyY z4u}g>QE|i1i6Y?|1wX|WPN+!MR=LLa$iM7V%L8tejcSGR_rJQj{VCQbb6DoEAC{SW z7{D~ZYU=bUEF!!5dW415oO6i{-#FYIo$4ZBXE^+F&0*kYq3|Dm9V<zPwQuyuV-MHb z{yNKR(_e4DUI*=3hIw8a{(6E8TB2L0+A1f*Oew&fzLj6K!`+doPCI=^Eq%vZ5?<Mp zn$Aw?pv!7{e2eDZtLfZ_E6lv><>48uw`zLoAI@ORk#X~kj(AL;`3M=173nETZst_c zx=v@TVGMF%Q2i0YaGkArpI7^qv~-wb_3+r{3e)Q2jj>kJ9Nj)LJiU3-#&v6l1}7&5 zm`)^WgM@m$Kd<xDo$uFPpA4t%8C%oO+wcsDbq3NO<Lppjo@z@na-c;ok}bO{tev6E z7Olf)eG=c9J+kj~*S>d=Aq%fhx7lB9OJGQ@y`BT?hM#ym-To%l(kF)>pTbcaKb#I9 zoJzMPqwECWgpns{z1w<{Z`v-Cj&n+8D>THcZJkB@+V#6V*`k4F(Rg>Oj*QYW1xnX_ zv#{)LL@k|@3I1eSKio}N<v}OO^X+U$(712sR&j>iu`T0VlQ#sbsVEt1+*hg9@6(3L z>b_I&z!@c4dGxVlV>+B3uj))x_PLCtH!Aiz3F`KJ=ewUdcVqs8PY>;>X*(AvET@!z zR`(q}erj&^?e91;yr*_@D%r5_o!@ohxl5-$_>KXU-=Ok6DYVg(vZ<VszT<6lc)0zM z23r<<r%(L=M>D3gpR0r9CmAKYEv9PWhIE);FwbTlT2(-&Tgiwd!U%Ys=p<s?7UP^u z+v$bdF=i4fh1rC7h7og3M_;nAM7mh#rEd**)v~HWqsjwScBd^HhdIuS)wU(fuZ4ls zAmSwPXm&a_j&?E{)R$Brs-AqTJ1uy(t5qfZ+s8Ohx&G#Zt?6`~()RN*k)q?E6Pwl# z1FAzCjYt49P{*)SM`wofhq;ymp{z!x)3?x<NE5?PcF~4P$4}z`O4^R0?$skGoQ3Ti zvYA1OAc&J3imbKBRF%$FS&$qb;Dd2j_}#kQ3U3u#BJOlL0D}M<7%mNO=`4ZmEosL_ z^9O2=wzznZk$P$du4Bs>M{!;K!C$Y;JX96A@Trxa*KYt8Yq!&}l%r3Cb8Or?mB8OO zUau7a)?Ncnf6HNU<dYC1lHm|Cue${z+rrVrIuQ7fSW=6=Nj$`ty2Sh@DzfrAqHXB# zlj&1{wCV5@=~Hipp({vEMD7+HTMV>L$Qum=YN@AZPW`$c37W1~J?garL60J|29l`* zY_rn|VpFe$FdE6!jLaacY{{^xv`IDi4pV5E^Y5b?9cbVbI;}^e)9Dq<D55QNLfhRc zh$SjMB)qYUJ5XRNeYz%!OHv)q<V@B{b>LId>2$?lBC_^Ox9h~W<src7a4;X|e5$hu zRyr$t-wr<=I?SNVd`Y!Jo7yv)j@psR976ac;!Z>N=9%vH^cNePYHFOSL6Q7>VkVt! z$AVuSH;TidK;ER>h$Mrc;gsplJ%%^rE5C+2_o^%PM}!^gZmN45lm_6|ku9D3=*$ik zS64ba9P0a$yfa7%E3s53wj@bsI|!Ukwpd5DTSpS>2;;5c;Rs~lEOdlC>WDUo0*kuB zwy^XbLN51pwn)lZudL=Z2{0Y%aLy?8`{{xLr~DT*v5Q~P_`GY>6uUN(+y{wjY#Xtg z_u1ei_hn<YL^r!}tP<;DVqGMWvFd~_(zBUPk{}g|T_jJTi`~47x>2L6K|>`&uDT^{ zhmO5f4-<Omv~9x8XgeXd9Z`T{X0#F_QC-euq{|Wr;I5{r9LWTF%&*RNT|JP*4RPGL z&=sFR-*mY<bqK1~ouL+mP0}BzLC;7L!@Ne)a7G0Tk%^KmncRT3z+o;|{FGsOZIrZ1 zbl(Fv(Jc|+baD?!L2x{k++z|W**;@OVD3onIfNw02zDAWP5gXW<6-drTF!Z%UQEC! zzl4)$oq#u!gTqHONF^@ZQXpRE!Z@-S@%qS~dLR}ojBGFQ6030HEfa3HCOX%MZArHY z<=udCxR3Fi)|eS~&;O81ZRcImo>79twooN3D|cBOIqvPi-JH~i7#TQvnhlbYLm8=e zAMbPx*&?~Fa6S!%WjMcgrgN{D(hg&pO70b7a-eM_3sMeYtus#8U+kZRs@}@>U>*e2 zF!hJ%C2NJ(9PV~Sf&2^)fKciV|0(&+L6Hp(i4H1MKf3-y=itH={-dU#o8-uu??$ZK zru?#yr-5ALmvi!~lb0)hqlE#0o8oZHHSOz&oB`edDlmv5NW;lJ?t@@aNQK_(z6Umi z>`%#fOt7VL?I`5JY#&a#(v#F=WfA&P8?sYSqfJwIV&%iF#AMiZr}phGnvKe*U4F^% zMdyU-O-yfpBI!Qv)nz(|5v($-1$u{}UF%>@0nBtkSVwxN2@y<>Br6DO+LqRlbU=V% zJ`N+hrVq)?QnysA>poM{+7yhMPBJwuqER1(c!)z6#3G)8sDntSGMx<7*?N^s-)@Br zL|Sa<M_zC+u53d83%vapdkqq?ldj>YaQdsGexI5tDB7r>s;ac4VZRFX+c5>))j{ZJ zBP<EVhJHg%yp24mx9z-kSQTu_YOax<7kRqXVWgptWZI(HmF@Dp#*^)kdSV6wNapO< zM}ZLi&dGEVyKa)xvg~YO){KaR8i-()NFG9-&dHjbxw3Zb8{=<<XT<nuS+W=jqdPG7 zg#4Ui_$K4oMPv^qGm=RRg|7TaMESLPm7h$`%uvDI_{TxNJE>^o5q{_`v^=N0?{964 zK+!(xFY-kqpDt}-(QL$7%!b&E!L2e<k3FXUk3QDr1deH$XIqnLj@C(WYkVE7ti5hG z9oIMBSu3A(JIowPs2L;e5EW(LASS*iYN^oP`Z7t`SsSb~LX0LkNo|QF#petq+8^z> znETa==?g1d1M5;J-7OhS>F^U#lKiqrQ!;rvqA8OLQOt;r>;pW|N=w9Mqy;sKv=Z5# zbeEHaGtyG`5|LJ?LpzbQiXx0qQJ^(3@DAPe!C<hwlH{&LO~`CS)_uZoTC#A1G7<)X z?tNGn+<-(tx1|`P4;kd5bRw@dbZ{egC3LwsfZnISj_Xk87`#oS#X`z>^Y!3YZvPUF zF^B1Ajxj9K;?~LZHp()b+@hby<WZQ;5LTYiuaj~N)TsZ|M}xd)#P4XM+u;Jb`6Sxt zak!HL?YnVKbE19hJsrRRT4C~x;9DYiA8s8qoTP0CmzS;R-9)UCw(;{AjFfmBZuUM! zGhVr;w$3uYNt}rDry7QJ5MVsxKrS8<Q0$JkmLC1#Ae~e*oj1l25>Cbs^keIcMY>#I z!<LY%bQ2sDX5>pTfDM~B7&F_FU}qikJzypV@AzYCqMEY1_xNK=3?M=^8$kD8dILkM z7EUy9<>~jteh`{#Wj{+{{Q+K|EC!Zq5za&03?0rrbMJ=x;t~YZy838<#X;`MonOC+ z<(a^m-pX84B#}9^K;oWfP<_Cq%YTCVyPcog?I)HATqB%L%go|BV5wGoZ(}m#yOC5= zDR2$Kk-?)%c%A^<mUIwGnnwBqhk|x52oB=}YV%)W1oI*!YWKG$(;<og+QF9H2{mlq zx~NRzwMB5iCAK6iP2%fIZVy0lx<@!E2pB+O$sI1-7TLIv#`V{Cx-OZ`OYIvxQY69F zIBTp#vr9&UY&jc(inydqAR?k7l$SRo)Pw>BfkjSpFz^~Y0%ek)Q3x?1Bm}(^#otZL zZF~~P5p)mB2{!W_yS%00{7Q}iH7sf9ARTB06)&N{M_KD#EL$Db!sC$6*5&#U4#xEG z50%OiCMUGErv2MrV!;Ag3e4zOb2dsu5TqcL6KxxcY**zJH3~MN4v7-6G>aPABU(-v zm_w#fO3*dY7LlPx8_n!h)JDx{#;TdF^@H$@=m1gM_y&N(mWz|9z>876pfcW8Tqgva znxcA(jwzVfn&Q7{MV>u8B+4t9P-Xg~Uy6$ML>gsj6ZmwaUnJ!eznxI5XnhjcwJMvz zc#*Qi;;YL`6-|NDZOKO-M6>j0ceVz|J26I@Y?X+B1Cp&l!)#Bs1`Q*$(WR%7t>#_R zo#Au?osglunoiKDG--$*7dsKS-vY5kAuqF51Z?cz#_{DB+J(k>X%J8e!8Nn0%~s=Z z9|=2IG4#1$p!GQOt1{4nKfhx83`5@Ru&r9FSGL3Gf>~mfUQ2A~D<Ld1@-s_pYX_;! zyxl-<<;x_vFIZk2*@dW#0XeMrLWnAw^nB&0J6q09%RRWbd($NgY~)sZkLBVNf=Pn) zF4(rBZeUN?8aI$whU}DWaxdHI23`q4V{XO3#SSrIf`5=^!4319@nJQ?XMRp53X$P< zXQ`3Ki=*~tncADFCc<>PA~?Himc4sw$0qI92{o_3cfq>p8aMr(4yK=R5fL$>Nf>uJ zlc{9;b);ZSLYUM>9kw+yWQM_XdJ%J*`}Z)m&Dz^tAur^NxGu<sZW8Pbh1F!B>p&#D zwu<cf8M(oJv7n7!Q=x3zo$>M@c9<Cp{yvwPt^zSVm;FS?q!;zeEgXHcpXLZG8j@zG zYi4HG%}jP+<2l&8pxZp@NIE66<=A5>rkKAUeJuT<8mBPZ$$!IX!-wac49_KIW7qj` zbakAW1ROjJ13*CTVoErhahzBVuFo`kHOggD6=an;%j6AGI?D6th)JURBo{enI$Z|a zEsE7zwq?@JjJIC#En%Nc1TxY-6<Dd`PvI$|!2K5GiY!Gg!_}k0<G)t-RvL<7c&0Te zljVSn=&;(53o<BLU@1v&^KRh^(+8RbwfU#I=AX70MPlttiSnP2dXpqVtwY=?heL+F z*&7c`x#57ZsTDJS_;ozJKGxc5PMIHC?PIUIYRx^hSz-#tt0>1-n5;VS7+oA<>7`aC z45cHsVrgr->4|jHx0;7%Vua1F8cKkWnzD5Xw_g8nqyW|t&G2pTQ2V<$r$8;N)8reo z_qGweRfE>v2J4wod|)c&9#3Fbz(#S^^O?J9rc36^67m3}iCP^53%Ylh+wd^5g(Gkd zrv2!+?@Fti!@`Vu@4}2Ig{&8x*;nZ{?C8F(>_&zMc$GM`yK<qnKdJ4m=urE|J91I^ z(H2g){HQx3hjxhL6@i`A6)dAd81dzNty{$+)9X1V(YTGYGa5v1-m=hZH+F`+={f(k zMiB%`4s&N}Rrl8M;M^@e4#g$l*b8`<Fj%*R1nX+^v-bJ0yd<qXiRXiC1Yj;4XQhV7 zgz7jOfgd_ZnL`Mfxuh#-fxx8QF`KU;jVnlJXxI)a%)fI{Hp4=4I{S&=41vBe-3&~G zwSx^kg!3(gjU?l*1qBTf+DhQc2$urg5yg5MP%_I=s)i{A@ktpF1vS7AJK%=W2X*Ia zEgX(MX$Qo!NJVxoS#kr&u}B9dK~|2^-Zw`hYg=SIb3&#ch$}z2!??-l(s~!6af6`W zD3-)qXNtdGrN3298MyI#vA<N4)P&M5lSXw$d_91M-f`0|j6CJX25K!0x#)47B^R|P zx#Xg|i8u7sW=5q8D>svMprSkSsL=+t9u*~<43a6ok;OD55n-J*P$N7Pk3H!&1*Bv~ zjnNo>(tqi4`X*OO`>%R3rn!$X2D4#Hb@;aFN#q2lU($&!GYMC+Q(<-HwFI*_aN`d7 zKmgzqdn;wBkww>=k;RUNAqx?+QkHt2#m}_Ynyhk`MxMpUf?6QTniixO$Ol_p6$rQ; zE?|~J6*Z_DtmkWDhe}f2-@1pquouy7sv+E{+i;;ms?f2*JPvTrACE&F4%Vl19Ob5% zr3RA3EE+R0ORc~xwIZ|7i&`@BI_+Pjj%GgE8M83xP=oTY7A^bU;pSp1+K*ZILSNRw zDNqqksA}N!W89gnyeJ3ZZv>JsAFeI1GC*|x=ZKE6?~EojIFcUI3p5W8<f<egw~Zkh z(<*XMlQT6D@b5<g1~cibe%ZaFO{n9zewkfRO+=bAkzS2Fn6g@zUdoF1%fhS|2XQQ$ zg)@oPrDvDTLab(8dMe8zsOPg^Iym~~$6_DEl4s{bAJ89_bWXo)=7E7oZ<Kx=&wkYr zP+BU6vJiHfJg$H8H%(R7(_>UGW4sQHr#DG%f8=%Wik+M~8Ps|*?uf?N5u!QGFhevU zpVd@9t^vpZlx)p_@97vvdFP!DrbX~uYep6#(EP8csic9r3aX-m)&%Mfn#EKK$0oj{ znuTNafGO7;choGy%V-uRk8;g2{94l>QL_w7T1sleEsDsXS+s)Q=FKv#V)IX?Ro22@ z@yZPy;)@DubeQ{&Xrl(*qyg+;k2|e(cs8<zGd+ks=m^Dz)Q0{cK+vS)%GW@~k|owr zsBMhl4DhX&P<E|St4LmP0brB64741B;xSuQmS9bx8WuiE5+chQ$@-u_rg%etOiF)j zl!6ApL)~@qWl%9sU@y@ct2jf2Y{EsFJ6!cgTp|u24p`RdICDi&m4GWLk&%KD;Y9J7 zj%Nwl1IUt%*mN^gW1{a-L|79BmFNhdhHpr=oTE$Sq(C1<@ANB&$Y~WsPN^I#uqdZ> zmW$g%4iS+k$czG<4J!wK^(lvNY88Z2jZQ?Bs>vn>0`Y7k#T7L9ST$eEB}5g?jB2(k zm$3RZD=19DO5PSFEZ;JAhuR8KO$|9(q?TF*={J^Xg`f$YKnuDM7^DkfacHXnyd60P zktB^5O>IIj=4s?wF?6WAI;~h!6Cf3Ca6ZJrW?=|vH6x8hTG1F?^p=~D_&{z#iqWMN znI1CxQ8i#hN-Ji3E<+kFtpz?8`^v8p&d&<3!g-J2ENg^eAj<`AJ-vI4fLwVUr()a4 zuco{Xmd_zrvB=K{({K)2dc=F?F_?)YMrW)+RX)}dR!+a&s>`suG=f~NSM%W}<h*#e z^Y8tPAWT;uZW%$KU(%ZrWx1Zw6I5GG;D@5#HOq!X`eGjN+Cb<eFfzDJav%oXZP0L= z#K#cgcy=r)?u~+KrV3(uDp`A=uh7?i4jkI4ve2J=5ki0R?uGtF7y9x&yW?e{FTctp z|H~uv$FU51gubA<qtMUF<wAdPxjsTaE0+uX#pU`4{j6Lr^cR;~z0eQF;A(~bTJ|30 zrtFG^zKE_M@avht$63<^PuGJ$SPn2o9(>XohH^sW7Ly|A19?+RtA*9c30Dib9Kc_F zadJXx!GuKJJ6m<Nkco*QsfA2TVB2G!M=?QO6BF##T)CP+Y8Hg_YQ+3%%9L9zDXt!+ zCfsHU4+V??lEo;>zX+YW@Z91~3;U>qsx|Tsd-w7iP4sG(|6%nCu_!r%ct%466Q!q` zcm>#5%=~LP(Hg=AauYJIf_qs}K?%9q-Axn2GJ|w+Mz=OrA0DchAA@GX#bl1UV>}{+ zhlqGh94uxmv+JhJiX+y!gmc0kMs8jC;?Pq}7<>`xDM7UwJ+-*p%JkIYax2qQi_5KE zPpx}#&I#1E8a)Ngmo*g*sOu_{&)LE_Q#xEl;}LBhF+vx8k<}?3-{mX87<`eJOzCK8 zw_L!*N=H$kV4L<=I;=f28N$wPWbO=HI-!}8q#z!|@~I|@v`|f=0S9QxF72{~8;VBu z>Tu4>`yWG<5vjA;DTUdZGlohx=WUM1aIXuTG%&-&(=lcczwY<&I27&^=4<qO#^m=X zdXB|UPCRacznnIGSOP*Jon|rkOVkHt%B@PK7z^Q?b<v)&*ns6>;!4$-8|*8NrH6Aj zcU|;*80F~quvV??_h<^hHI2u!nuj`@iDz+W!?KzPCAG9BYMUl<O_S-PTD4;S7y4*Z z&_@cvtq9-o%(|$$U~p4j7z*AB2}|lKl<KB07F|W8;EPaK398lTs>S72rmGg0TbZs} zTyFKcYQq;mSLJ%Ds_7(X_ipvn>SAWDr<%E*x>L-|wl6FZGm|j!m>H5J=&2Ah%VY^L zvtbNVVrC{wh<@1pz`0&Rd_=wE!otKvu9vVcqh4ZbsLKhwi6-JA%!F`AgPe*{X)&TE zL2+4#Y~_k-3n<A0W2^C>R#RpRQaf+ee5V+oUF35$m-M-q<aUIBf_!Qy88kgr_q7Ng z{p#BAQw?2XH$Ql&+gNTnLX@Mce<l?<ECcCn1>0u2+y%kO7p&JAt26&l!>Le)MpwDg zx9K~FbEglouw-y-u-@3sg$4w+2h)E!gYWX-2yyU%l%+khZ+SCWIY5Oi!&74o-FCom zTTPH*rOQd_uWQ|pvi|lN-bZ-RUg=8uZOo>>qPtVE>66SFunN6>Ax#<_xL56PE#c1E zGga!X?5bS&^sDz&bQI74%PDqMe%*gI(xa5R@w>lVY5(YJsN*;X(=>L~k22-6tIlBt z?|mJKvt+@34i(Q<IYW$!k5s!O`>y}qJAdR?fBbj<!yi^uc_YOmenGb(GE;g{PkvwE zna;9SrLwDjvfBRZH>&XQ!Bh*HI1{@~SGb#kD$`49Tv^js+QM@$7Jy1G*jMtjKmHXU zxm1aord<1X4hj*sSf@{)1H5nHGz~Jp6=YR*R<3>e)ei$HhdF?Thbjx7e)X#iaOlYZ z$6PeP=|BcJCzOnp+ru4w$)LSt=hsppxCaxv>UO$DBRw0_&kW4$s)fWk@YqP7FQi<w zl=A~JZr}-Uu8|wyv@-30YwW6>=KbuT=Bpd&xe|$-3nX$rkjS5wN#rjhi9FYjM4mGe zIU7ji6j^eVpQ<{}PglFpO@?&Vvh_zgRI&)^qKf|>@ZJ&L7eEhMJy7IA!29)p_oIIs zSd(K*!PfWut&wOWz0wcwR}Am-0q>Vec)t|ze))?T?-v1iEW^dc0P+h4@~+Bh$Hj08 z^&_T!+<!LGvB00bq+&<ivJFVYUfEqaiL*G%d*DtJXF+mEK19heKM=)_B!^^*OO82U zWBN0U(_Db<LV)e3BWyYh=b_3k{jJFkoroh)e=dSLxiV1S`{F>oE3qM2(q66PU?Dzg zg0)%f)(V(8T65)ctQM4u_kGY%v9t0*q~KfqDEO99@NCVMi_Xl-CC80`@|$1G6ns~x zU%kZUZiq(u9C*(q$8!PiX9C{mBi>zd{BgwlNlGnJ>L*ztxU0_cV^iwK$&%y!c+DmD ziQ4~^*mft!+JmioLH|XtG?0<~#en`74E;MRw;kWuY)F9JmDyXb*3Kc+Y(Mm$GxW~| z^q(aQ3s(a_ovpb|^?Z%RrZ@lkgFi7SBc-9W-+jy}nre&<4BG8j&<MuN3tGy3M26Na z>dpD|Rsi^RpqCHd3YtbDYiH%7w}Pfw=m+qE0em9>JWm!T`vSo8fnKf|z3i%d%q#YD z!gg2w%rOx~<0t)VBc13g8adiW){EJIS8%N>exte!w$R*_(A-sRaMd~YmRCC#-V$X$ z7qUqQpdXItiT(B>^uQ%LJCwD4DU8nLn%j`K9c|pTW?1}u#3FlWOEzTD_-&*|&@%t_ z)nz-f&4{6W_#f@`BCXz+Nh)y;QkmkO0}BNSRd>yBrtX^I>CcpGoA3HeptzHiS}dVh z+l+*&2MI-%oZ^nxgM_L}LcN3(ca)&aVv0K&nmfk!mzRU$X6bBBakF)o2S@7vlj3yp zmN}M3CEuR8^~<<9M+P+g-bh&|YN@AVD!0WnQda9)>hm#`(5P9Emiob%%ED4M6>AB~ ze$LOxn>Z0OwAZl9-5k>riC+pNemRi%sWOQ_8%cbwABoQyiC+vPey&vUxjLt!;;Npn zqXi)GpYV!DQrGT39V=#r`Iww*WSn}WQ)Nx|%R`pige>K0i*wrV!Pwe~cO~XY&qC__ zdSRd-TF-_?pJyM86S{Kt6Rk97qLt<riB^OgrB-5M1Eh}4ZOAI;*j!#-9>JxKpBm^? zbh#)3ETHTb1CU!mx5CKYwvpXg`45h9*Y6Kie(p0NSg_D<WEX5?Z-kMZCrfTP%m-<5 z&4ky^%6YHY9pc@Uxz7Z{f$OVHgY<eiAQnV{<V6}}R0xd7e~}vG3NYt3$(103u8JD} z`u9Hm?}nDMNgAn+jtJUVCxePalFFB|1F9~?yh?}c<)sZyG8ooep%h#rT2v=7?(&g5 z*$82^hV<Lc%H<-7?5<piBYBiki}c%356(0~SdA=fbO|QTEC+{+Mvo9Wly~_%PHYvX z&SYDDELL2<Ya`>OB$1bAJQV51iUvP<Jo8*Y{CPwCuFCZ&bv>T>SN;=+sUPB>GsK?_ zh(AS^oX$@L#Gh`g!1nG98(V}{7Z@XRJv2KA?F<sa9U>U4>uU-2Hqv9Cb*+`w5kTzk zZlvE6Q-(-kooyrizL=sstUYU_?=7aVF9_`yQ&fss#YXxgF=Y)YwnX`-V#;twZA;Xd z-pggkdtW0$%R{jL4HAenx;imS-1gEydiCSKTuC1Q9f-p8>Q#PR{xl)&g*}FWmm=S- z71np+Z&%jtr4{D8zS4XcEi38o@z1O*--Q+CySl=BxAS}{TFxl)Hhq&G79B55oft4L znTC6L#25W>TO%Ft%OI8~)g$@Pg<?7xpG9r47K~6GP*+W_Jt#S|pXtbIy6_+yV9`?D zf%acDJFLk_uiDq{VA6c{aEHw`=@n04BkZ?pf~C1{^U-~uuROhvgQe|&>FV3;1mRJ( zunZ-YnO!X47)x63>^Ap3^-gks{=fd+-~Q$A|KjK0_SUEO=`d<5^VHLwW}TIFe6Kvl zMCMpBwy*jfr3_!QpKT;eSz?KHN4W?EU?i)W|2MmOsQRr*lR8+bgBzEOKbzK{q-}Ds zUy~iX-!jww*WbjPF)MQ#9HCv*0B>^5`-D4|KUSWs_=z}KF;AIAiua$(ul!f8cCU~D z^E#;AH@MdQCsMk*Du47T^Hya<OX>c_r-EIE>D$k<2W<{Br5}m*LQcuO-u_EU$@C)k zy1&MK<F9qsc-C>jp<WiB_)eelYUrSce%2)l>kW4Xo?y^R#)cP5!2e?h{;M7M?=A!X zo;w5o)prIS)BGg^{^gb-Ex2DIa#?lv{0i06-RB!h2_|>o)sC;@h%!h5MlxvlPU2_O z#1E^-mJmN{Y%ewvV^snONz_jS*@jFrqgWg$LBtBdB?Qqh6Y$FmqS3(RvZvS)`|WU5 zQkgRAiX$9~bK{S=h<Z(TaNj2`{_7w4)VqG``9BCV<FD)^mR>2b^kpuVb{3`5&JH%& z&f0?>2MAJ$t%Uuh64L3S;sB#QXKgW1#Y&2j$PHIjn%jM0?#pw&NZ&Cjilf9i`rg%v zqoMS4?anOyQVP>eMc_9%@LN|Wj)qbq`ysec#D5v{FPSifEfua|LNX5?wmpipP94}; z`92q*!y#Dx-Y8FFusVhs_<dmjZo<4!^yn9A3XJJQi-zB!8shBG+M?hOksPO?<>yxe ztPpXoeswP$G}&}y|3H-ePUt`S=^pjF1gz)(9$?i)dFYI|2IKhO=h_Tmz(P~<`t)N- zuja<5R%X55eLgnz=%jZ7AapyAh*eymg<!}0r!0CO<6+l6rFfXHUUF%83D24}ZxM0X zT9)f9V2mqTlvtDKxoL@WgSO<wQf^xcD_XE}eJu+k{sJh`a<7Ye;yPT=6S;YbTb?iJ zoviaA?d%}e)o}U>gkL-P3*VaRdgk=xFMP`XYd?2jP5KPKX#9dT1-z)S8(sUK15UYo zr+te>d5v^_P`3~L(f-;{SXkCL)Lr(Rn_^^uI@y#yHc}ZL8XTxq8#=|Po-)an)Y?x! zT+A8Ylltz;Ld}*+^7bdZQGm|Q*9B8bG_n28{kG{-C6xP5bqLO%S2z}p-_`VY^~SS% zfFnAp>F$H<=C8GX@SD6a>;Ee4_xuaieAnme`|7V}*`mYaRsVlGnoN3D(?6;l;6R*e z`mqYMK*Joyvx!|f-Kt$?ran=5UH5hMz?D??t<jx86|LDHZgPK1HT?@J(`LGxJhe#t z?|33ks_ECvsHSxED_d)+45d}BtQuD9U$1qvZn{)4QvuegT6+1tzr_4o`#X{@D@@1p zY}zc)+>~YeXffNmo^0$}3$^{OvNb|&lReqk6ToQftSu0FV=l-5(pjgWEaWF_YNfbV z(%0HQZu^ji86L=w(bHLq4LzD21gu8OMwcM67I{*&sQOx+ItIAOOHYQI|Fw8x;lwXh z+SeZP6I~dxyD9_GCE(*mt;w`VAO<c4TdIjT;C^=<gxCJinl2Dt0eICzfV-~FtGw6i zzco+1zcm5GR~j?zU;A<$(%O%9_H*n?fC7TLS)~@J<p$4v^*wdr(ECj^t^MIvr1SZ@ zVGE7W)Nu)xNv{ogq4{62#3$-w^=hMn6ot-*yQBN+k0H{S0>}LX?Mf8wSJLnOHw^ch z_W6`gIM&66|LSXfsF8cdEUM-8Foh4tCf0Kz9BjJUhRz0wW316)DB-Y7&+}q*N|v&s z&lm4$dO&Ztszq3+n00RN`UV(74c@9sHdaMV!$DA1wQ^@D`@z{l+VYYS4#bvlH>n+K z=*Xe0Du~SrtExivl+viFTIfnrwXcls=(Fm*k*$!U<)7sB$_rgrI`w)wb^F3a&kqa{ zn3(SPWMZJYuhtpG7#I|x)D=8!UwmVCphbk!%7nBJw=|~nbq@vr&NXId$Pz|TnGJI~ z)5G|a3luZ<w3<mUwh{uG1o3^uzW3NKfjtp(dh&B0l=5H`N+xChqS39H1yqtdnkwAK zZMv1FR&1v|6=M?tKzeKy6;oYhA9s^i!f`|Gr|ryI<Y@c)NRwkcmRB1&{pW9ASXFXn zheYE`r%G71x*}B~z0^mQAo!r1eyW63Z9#ySR0)BwIP#`SP-P)oNtLvEvY|dhwvsB* z=my1TwK4Z-q*_uXOgM$I%c~O8A*)v<w-9=Ft4gvmpfRWtc5WH8pnH)j$+AcJzdBVi z%2)<f!v3uOs)SQ0ux?VVq^+l@6ONoR+k;=OMUV|2Eh!NcK{e`(Oj}e2%rql2A_y&3 zWzQSZ!0b1(9`~(5R-KZ*7?i$f=x*Oa6QBG#7gEymQa~IdQ~dnVJ~FIf$EuhKgna;7 zbt!aX-=N9F0e$rPYiSje4PZ<Und0J$j7a<5hSM;o7Lya^N<AG~dTbO~wo*lTxo%Cd zqd%{XRxK&Re?FAIv9=2_n^k~yAVDexWKwj%tx>mcBBZRx*K&UAnYaOaA+sMeSnW?f zqWLbfE$kb$-eAN2evp$9f+>eP8lEPdE3c}~tEAI`tf-7G6^BMa)t1Sj!+nJEh1$L~ z3UDJnZa_JjTjPiDANzxJ21?ytTFcqo>|c1~ZsqnDR%)N!q4hK`ozzZND7A&BK2lrf z1N4{Lxtv{AY9nWZNG(b2W<E|Pj&sRdlG?-~OHv!J!|0$SwR0b1d8z#(9e|VHd-qa1 zD+3yX)W$|yQfg<}qo~bU{caopY2YBWkxTuh_CSOJiG4db04xWGC4KQo?gYTL?Vqrt z--3Xx?Bj$z{@Lu4TRSdt@v|DZ`5~z~R<Bg;#-U`**I?>j!^Fe0Lv%~D(^4iC+P`F` zKK{j!@q4|~+Q$KRh$#d>Q)S;Ju|Mo(5t@C=;u#<->YY)_HW6bI9y-gyI;7~s6#-zn zqgwPe)W6?Cd6-!X26keGb_v-E4|2jupjIh2bkp~JBLj)~DqA1Im99fZn#oTm<xlu* zT!a|;U1gbpP-4)qTg@ugLEYAi2-PR3*jf%5@|Fz(Ebbu*KJv6V_lZYScbvEOB}bnn zP}F+1Q{6YvVH%2Ka7{0&S13|Mx6V3^$Tx5b*1eCdk89Do_m(o;NruyT7K_>QV{g>i zsK$t8&Bf=%>MkSd9O<<?C{%<XOEav25~oi}5$a^=oUC&WK^aCDnHbfqTxBAux1|&r zuv>bf9B=4JEbF?SjG!q^bEO%f5mTCt6(~(tj5dOclqR*JG%;alBJ$zNlqLtA*3-pG zGsoakN;A)~a-}KrvA@zpME$p=G=J_TR+?P9xgu9bc)Ba4nQOykm1eFDmsOg13~pJa ziGEznN_oWX?^kKAB5HOrmI1vhQJOJ()O5K>_`)j95ByK134eT%E6v90l;#J}{JkNu zRVht{MfxetNYpD=nh3$ZN^|1BbEU}&)xJtI!{CxiGt04Zr77#ZztS|TYq^P~JT4gD zL_#n3R8tHGw}0v-)|o`{{(f|3t_+venYl7tR%hnU;<7pu^|)AP63+>~Y|xoD+{LM; z1x*FUxh8@Y7APd<dDpW|M_1u&W@UojY%3nWq_3IfzFW14>m#3>8I}Du2YEN1W@)Oa z<^ibS2Ws-+N-0bTTPwz+875xw7WFz11BdQX`BYP-R*myY1dD2#SUU0-IC}%`G4@O> z{mNtVpYZ8yo(E@dR7G&AG=;<xr0W(W!yWM0ld5x2+COw4GfCW=(1e?p3#H^3SuwBF z+(`wk$iyTKlTco{`)FalCHiOq<X#`m5z}AYSa1vg<!OK`0L(nI>xzGc@QJP*>8E8f z8n}~|DN2pLN~YZ}L|JS9##)VC=4V-O5=gGwtg2?M935ma*A1MH?pp)Cd2uf+HXI{; zipe_lSrKSagi&<C2wbQ=_H(Yn0kdhI#SU1Gr=@gBo+Ij#;Vfv`&SRF$orVysh12_n zEG;&&*p1HTpEGi<-NB7!F+tzK8nVH{jpl2J4!O;2114I%Z3D!CG-0x{o*rR+Mm;@V zNI7OHCvC%p&w<J*79}Db&ArC$&STO(EEcPVL1vj<y{Xy0!IvaXO-rkcQ!Cuv$K}qk zz0`>3IpT=lIZlm**xz~(5c3VKb9wqTwKcxZ<y8GH*11HJqW7sY^D1M_^_6wi+C+Pt zZ7>^{6hv4cjH>$BXdi=#+W+|xLM8-AHFgVCK3SIbuRoyWD9j9NZ6zxzbevLgBHcdN zaTa#nO&|lCy?&G5ELD53vVq`PEnRP`*qAKhJoMd_N@s|-Nqa++d}(bRH%zd|W#j(V zCa8jSpj<4@s(LMSL9=s7l{Ou*;KgUu=~TDILYm)7CCWEZ8IP@9olINP497kN+1gwk zvsuw1*1V{|ki(!!o&l<!P~-YB%#Q$5KlC+NdNbDCSlMK|h}cIov~f+Eq%2nDE{bG$ ziU}GL(Dh9&N}jE;4%Ok-hxMcoO5{{c^+YM_NJ-LJwHZ>@k}}8It#+O?Ns`JH3r;9a z5jkDN6^hy<iw$M_*egw`v9!Qex}>wHOV&t8JCQ-JL*T%t$MwyY3+PK>DT2~jD<M4V zi<V8qWeO-Y=z=8!;%^SD;D2(r-^0O*PD>>Kkj*->ZQ177bx^LnJ7(37J)5pM$TB5w z;1hcoKd7O@iCmqb;_x^zioCnS+V9m!X*I2L6jx)cF;%NnrxXnx(C}*&(l85BYW1qf zfi-m<Hl4BJgmKdqXinAySQQizrTJIpVfdwWky+xPrquiOIKcb&hVnCaLb+BQzX+5! z51Ik=Ld{8ro%r1Wt|fd`71KwAb%YgH7bPDw>YvyX7)oC*)*h~ibXl|4P>D(<A0@{u z*n_<J!@+9Y+u@@W&S+DPdtp$=X|4VHU*WIqpL>le=MWlW?duSMW(-A|9O+RcoU@pb zqRO4M3pJ+yc+Lg8`%H}?rBF6{0}S`>%KLupTeqZJnThy;f1(8@+@2ufK2!5MlWrmy z2^*Wm=R7c^@G;9kBzx*91Hnt6?V7WZ(wvPfpV=%*^OZlUOXkgWgsLXS5wF(U_J=nM zUSU+Sb*R`WXEio0nXVU1-0fb^w6P#mH8M44>wB`QCBfAc6FRXGBskP>a{VosP8x<e zR(-z7VZfC=_DbX}SX-zfQ4t>M`LVigQ*+R`8iye;fxs)~H(PB61S|d06-CJEtnWjT z8Ka~WdQOjLi2`-(Ccd0B^p*;%|Cd(l4YN&iB<#~19<)yD;16nJEqxRu0Y#UDG`>P2 zK+YOn1c25F(TB@5&5c-iU)W(9AVc<l*=-XC4d&d%{wO>qm?C!f<rijYl+yFR@Sj}| zO4_kY3F{)@Grhnkzcs6#GA_L(Pk&&^l4tm|Ovz)vxMax_d|IaDjipQ8TE67fxh31Y z#;0Z4eBpyjmb}cTSW^BQw5|OT*(i<}p=)^oD}(DDh;wJ{sCKyXJW`i9?%3pAE#<;1 zQKO3-Ed?Id#XkMSZzNV@QP+2|J>##XwVhWN2$prT;wkY$ri{i9vWG4L;jHo&POk>o zH~AzUwh>0h(_f{ew{&DK?&QjnTDtXHbY&h>O_DH>qOPfdH=%j4?E><q$tyd-Hjx?W zNxuwR5pb)IGr1qG!MHt2R;;RP4#OlT0CDam$f~8)Cp)9oxPj5d;rM1Qih<<U)Zw>I z4gLil_=;v=Y}Rw@*Fb0#yU1mot`$kQ+D(eXoB_n>3|d8O;i<BPCmFTY9WNT;Xd>po z@2b5im<x=DXKcT>T9iv@-_y@SEARiO+-LNBd?Ty)%2r?2b-#si<e8t2^p^e=r;uI- zhh#(wIBR<SY(OU6MAh@;HzG_g#ER3)@h#+OE^6h*UAA&7Yo(EHZGYfj(2r|{M*8&Q z+|S%yKjz49{ebdh#JZts;w~eJD8HlhmO^>S7$J-yn06eu-}R3ieT<|OD`bLzl<6*& zBC-7T9T6bDnc8<gL8*9-z-(}WG210L;fO{PkvpqrPA|`JpQR_r6VVDyw%K}u4*I&+ z&L)NGO<(V1^rg^oXQT;Wg8CC^`M>->D43oo42$Y7>b;i-Z|}Yn-e!|k;td{I7H_&f za|L)C&+x{*)K%ead`)^J;>|U8e;PDGX#e>JRbXaB7<G*u5rZ&bO_^<ytCH!@U|X?7 zf6R<7iCj+L<kL}#DDjkvLJ!Y`;r9~lGCkOAxecZR@Rw|2C;}j5L0h{phjdxDSy22> z37XDe(ScJTb*mYc&}AjPH>Ta2D=vp}+&IFH>Nn`wu($`=?o{Y&hhN?%ZT{n2e>Bha zNAuZ$<_khE<TIC}nG!u{_9b-U8AtQawtDGQM&rwkXp7Wc_U;wNv_MaLY8=pNRCGD- z9wmCZw`NV+P6-@vp0_#k=<lS_{>UR94~d3*ivNQx87h)AvM^mvecf97bL%t2WXp#{ z>pLSYt;?ydp1v}s8r5|nE9L#Nm}+#_b;%|g<`~ZQo_gYVz79c)<jkC?ByE`zQVq^e zM$r&upkvixw;)9}+gE*>HC1A0cjM%rF@j_JhFMFbP|Z`62>h;%G-fMwhop440{mOZ zVAh;03kxckS(dw2tfG}`MSd3GBy6OiE;rLvH--iGqqD1tJDZXLnN4Pi5Z46^Z2*?p zgx9XMRc4Klw(lqcg-+^N73vzwU?Pfw3Q}D<e}N6q-x;c7jhK898cHxu1Vh-*N5BV@ z0cKTm;Rn+s>4l#~&;H0)p}+;cG&%Ut+NuVFavaSi6U_`)jZ$#ggq)a`)OOVx5)F>H zfIf>mp&Pjh{4h}B2g#nXZqShs3bP2PqC{@)dKTsp8tFefoc<zLF>U73`OI^zIeJla zW>D^}RApD{v`b@U!l345UY8{V7G-BEO2_}2AozbD@}KQreLXKXO{;TAw|W6qOdr1q zf3jHkx{DSHKeOIe?e6>RhCK?mf`=de2twL&&(2=pb%7h7yd^BlM*FvS7dl<bNrcn3 zg7+Pa;><Q)NgsavA!~$AwQoKks?4H;jJ5XLFtV5)F*>LK4thc4q}ZUv{(^$CRawg- z!TLmxN=VQ|zmKF|uz6@xE`h0*LOe}hY)2B9Dh4eqU)UBTi<JeoRcL<rARI$@q<zHh z;;pCOW5e^Owx`wy__mFOlV2X1kG7c{ao^I(Kyspb?Nya`QGMLo1^-*LK$CFk;NHry z2r`Gh+qmJ<XyrY0AP<IMn%hr#Cyn(p&FNjowZa)O$>uUloKTUlQrC9XIG}g};e<gN zL=pvp;)JD{p-Lw9)Fju4vPh=M0pTiQ_^{>{HEy3XB-0XfKkmOWH-WaY4zmvxOVXk& zns}&!N*fUgYpoewCdO@X0EYVRA|zTOtD(5-2+7Eci;xTxg3iaJ%jts<yo4I^*2Iwz z-xDDj48ux<grags4N-WX#R$nL(a~arWOT_0$+>gUkD;k@gk+9S(f^kR)Dv4d{U4Vs zd4^BRlsx`(OO`yzr)5gsT)O1#<x9^0{E}@h@M)PgFP&eq<P|=}k|9E(^LevT^uTx) zAsH1v5+Nb9Wf2lo<?;~{2-5=$Xg}%|8<Zmp4F6F?gn|$9yktkr>N)x_5gDm2O`bwe zCa9P?$ipiU#vtmtx?f&AP>_1EuaSrBw+VXEXj0UPG$2}8U#QXmU3m+n%cBrRX=Gs( zP0P6u@-T`zWFY|=A4w~4y#!Cv%zhwaa#qj{(Qvdanie4K>$V-oEVgX20yXj9VjSiD zCE+$`lNuN?A-L^M+FF}igI0D|9_ftM9?3%9ERKlL3JXQmj$7zE#J7(_DHh-EVuxTS z3Bxwy6NcE*jHZ;c5a)%4IH4CB(&SWkbU!bZg9;ZNp4wYEt}hs(Ms-MdqdKIt%%uc- z&;q!_m{ZUf@P)l(fhw7eIjE)GR{bD`UFG28U8}^_)dy3nF;=ToQRqW#02|ofswu*Y zS;4TU1iC~9Lw2x&K1ws_cx(L7Tra1bt4#_go<t%S!Jc4x!F4nzz8k$BXIcTY8a{E7 z%@`1U{mG=hn>k=ObGC?e1v7yRN)O7vz!aA-jf>HKz>BKQ)LvcS#mb8D|4iwLiJ4ud z1!!DKuO85Y5HRbLDYV0;=zUt1!PQ<l$p-18C-{$%d%XSrFZaauNh!Fih7^|{V&rHg zDt@UboNP?fH)1T;I+%%SI<eim^?mQg*t+rgUmV_3n<xLi@8;(mtb9d3WQQH+ht+W1 zn!;#me{?rhMbpbG1_IfiR`EdklpV2v?QfI9pnI{|r?XcOA?pw_Zut46aKfapgp2o9 z4wl6dd3rB07(TfN7}V;`91S;|S{C5|P#5FCRwNm!O_o|;9S>%cUyg`vTT4q+0SshJ zXFpf>ap{X~Bf)onuKucuo8s>|GhcZa^Un*1Zv4qV;H6)2nGzh;rff*=f*?n&JNIL} zW|Rj@++ZH~4Z<z6a<rk43s!>x;YDl)SxW};MFFxAq!olqeSrbOCUxm5BE@fjJw**{ zxsl@0VNMLI;?iB4e)A**k2d4Wx^&*Dzo9#^r~U{ACQ%&AXnwGq#l$R29OGm>89U-O zCc`X?6IRJgO$F>@b7smo)Dkce5EFOa0W}^%SkB)egq3oNy2s9?=75S!k3eNux<`ZT zD`;9VsYJ%FKcLW@b(_`%$f>#(fjqyjmOM53wtFh+@ySEo!Fwx2-*+l#+5gBAmw<Qs ze=@kcveSG|UUq?XE~G+)aApZ_vm<uQiCu)o=lfYa@i9&f(b@x@9wI+wF#Vp%ne_Zm z&Q;pqp>q-M;Vvx>%F@1D&I1wl@XSE8?mI$Xg#%1j*rWv>8DCU&G76GuZ{=!}xd;ke z;i>ld|4MVF{VNk>r{dWWV0gPIME*VrM@DFLT7o7}4(VwneeV0_ICJzJK=sF8Y8hf) zYNymujtICg#yje5PEW@9JkJ%kxUHwfYHy3|QxDMPEnW&Oz7SfxSZ?u8CsZWw;ei$k zyVS8{P%|P|xvj@_8GZRu`m!(i4sYxyA@Hk20<Aw+%C-N;@lgASw&#uH(52T1!CKGZ zM|eQtbQZF(%z_!ax)^aVJ;{Mq(Ep(FhAfV}XWGe#6qdDkvR%SpxkcuVY_vwnbEeg= zMWHlnaXz+4-n>Oj(`#yxC9Q+9Tj!T+aj4MZ%{#aF+(hUjc}p#xnJBdQ9D`J#lK1Cy zIpQa77wJ-0TGORSujybfl`tvqSW$m?6J6dAb<nr#dh&arJdS@7sU)<=7D1OCokC+a zYJG^~_E@1Sx9(JN*o3%}ijR&LDn0_K6>#+K9AXwlGuLQz0Dlt}80qXN<vmSaE^Zl7 zw%wJtk91n4&spc!II^iObRJg0%rs0d)%g?S35N#=(~!~eGK>om#;gwafVA8y3Y&cm zrX<GUy){yE{dn&blMyy{&y;Kb(VR*G;6*CY(l0e4`@GbL$S)aXP^)0SUhK$1xv9Tc z)DeO@R&Ti@x0mh6?bwl9<=TIQj!+pRh?wfr6;@WQtSiT1Ty=$IhxwQsEpzh+Xj=^# z{qc5Yq&pgiy~2&d^#iOHgr&yCw_O2xY$Tc}jLt4}!=Czcq*G1hKf*~bNVg28=gC#U zH2ScS;OUXhE67|wJJQ){og2;gmApvABR_;p{L$Ai?gH<YNeP*y$VH+W^;;9^+|SHG z6rtzfe^<TT*`>#D=l+NfBN;9N9O>MzFDFNoV`uHu2yrne{oF{Q_GCO5TIvNoP$Sk0 zdVs#NUhD+?hbzC#v<$ZkB_mTEZe-@7@v$l6m>YiX8+{!Ua$<F9I1dh;T1uxG)F0bo zwGe>!E4*`*TV!IF{+Ub^Yx6@QTvGa?X$*cG)#1Xa#AueJlif{kER@<ykH_>|<@DK@ ze#8bfgZoB3)N{O?J{R*pQ%YAK7U;vN(4Skp9}n+GG<6r=kMqu2W$W`Zyw9o6^Rcak zQl079*w(Fb`lXovsHv<7v%x@}^P&D*yq^v29#ve_(swe14_BTZ@Zp_fcxQP}PjZ5z zVL!c8wdrlJI}lLd6d0S)f?-GT#S$uM9;#t3)vDfAy9f&A8%+*^psMyv`|sWe;}H;r zqQ__2fACm%dDk0s2-KjCl<Tzt5ea1jE}C!LYwt(DU{uJ2J1+voggeL6$=``KzKadx zyP0{IiPx0I^Ni#@&zpL_T~aX^X5rmTrtoeCPIz}E>G@5sg>+X%o^B#Pq?>>a@0W8K zcMenYr<#&*ri8F0I}>TWGg(LKdFtC`fKH-flyIlN$<Ww@trs2~8Xg&4(`@M)SuFg) zR1L8)pNPk#Td&B1xn^p@lgcG*(sSQ|4O`RZmEk6Pks~*%C?^$AK(?=oNMH&@w<!U& zs{C{0{OlVU46KQZ8WgPE3wmPh&NUfm7v(SXwEN6a+O;DZWLdAU-K~XoUnsPDIkbBz zwEIGng&5xMm7aD#sQ!j_Wj+TJLjC>V*Lpu=FA<047N~c6aSo7N%7vX6a25@4rOAA} zw|K2-2CZTD>Tz1Lb0CJby1m%id~6Ntw_PepHZ0)w?{GYvy?L=9@3<wyGoO)e3WGSW zPL28?vhTat%(X%@<E4^h!|V;s<i@g#RZb!E%r^_oTrJ>^t#ZX?{!^iuu~JF0Ve5uw zatk>$(+tg=AIr=tL)?E>Q+8P2u&#nCHua&!WNAEhptUiQhXYWklL}B$&?!}kP#3#p z%*=YJi#?G1#`ors$dWD)%x7b#L;J?lEK|;FAUhJ%+tu50By@4ir_N!mD|roujo%gw zLq5JN952G~4#UQ5u>TLlVJp-?b`)`d!Bw)?(2tDA{3xsm;z-u=@4TCq?KG5O_8gR2 z{>{*P)-1vVZe+XBO;B}$c`)!fsW@Lwr+*-J2&2mC_F_N&l-f)jBHzs>pJYPFM`WP~ z8y^=o0=2VnzF5nz^^C~yq8iAKnGmqS+j1kaFlOheh^lUlMXBI;`D4Kl7@K|7MHtRU z7=p0GLrk$i+Oyy2FUz%fYs^ogk=z|GbHtykMcZXKtUY$c7Oz{2B|#l15@XT@wd0{s zClz4+v~Nd_I3^Po(T$H~qWg$qmtN}lc)9O?El2`Qm>%~CibUwI_Vit52G&&ja}uF$ zRypK-Xz%#Ahg^a9nV!CXMpQWF^v}|~V&88q*>}wLV&4mOQURtM)(KTf8k`P&KNb4^ z%s7h=yziHLAo>391d^6RBKM^r4L<U<UgS*1iwbJsIJCd#>;1*E2NPH88vt;21jQ?^ z^}<m-AMCa*CL(PURP-ml(X&|WChBlH0Q2F4$X~O8TM+Q7S@ZxWj%cA6L~r&aFX-zY z<j-+i*MhWH{#WHQjqU4ktgC5I+Z-Weu(KZ~K*GA?2+8e$&RgT=kI43Onnz{#H2nfi z-x7Styr`&|&|%hub;S73(60rvF=daod-_G+G#fR+zft=nlhYe=WgV?o;6gvEh78Tu zboO}tprM#R?a8)7iVs4=3O~7e%JQFSaVUSDe?H{LGa<i%M?Lv(wz}xetp4XFynfsk z@+<VylmGk}j;`^nm(j2X6*%|J*|29}0|?7Vd##>~^E&mP4jsVHQ*aBz%sf|QsnY?i z(l$z%7l8H`dh0JT)j4p<ZFX+wb93ENWVdq$lT*}%v5vJkH`bBd6`z6@7d7%Mxn^LT zemg}lCqlx>ak<YsYbVCJ2Zra7@$ULqVuKQHjdeH15^iUXcQ)z6?Xk{gJr~BhTVjbR zC0rTnZjA|Mh+Z7)PRE4pnab%TqQ_I?<|HH5%q1q?WsW!j%+5}Ie_^ciK;*s4<GB8X zLEwUb;Fg1tSpv`%)_wfUBbpC@I(OAC>RnFru6ojWP>)TW-QJf@Cp>lJZ8xw%4E=d5 zAxuh$Yl_}?<rAzqzhRzudTrce2!F#*P5>G2bd~wac;`!a)?OIzJS2Qv9Pf0LJ~!?_ zoEz`#c87gp3huDcNJf&jymwvQGc?t?Cv7lO!OOj*wDfXc$hSV(fOAjkCaqB1K)%g- z*+j}ly@at!wj@(iouCtwt;x2jPEZobbh3S_vz|D?WRgr-yy56jV9Op~cVRH3FY;*- zN3bgdq<+bdUEmF3(nK52XWF(&z}3#`;|5nOl;ECjaWv%7Uc#tRQ#ZK0_@n`{v+_3+ z4_E#j@9C)_v9Wk`K03~~VqeOByWp2kerr%m%1sJ8r-2IbmBQ!+74lQ~FEWC#z7%|R z-qrHY_^SLN)upC{yb1VaQ`L6Ju+*!pJ&Dsyr1Gwidr)95gO<>tLB)HXC2Wjf0(qW- zMJJ@VJ?5YK8m|7SuU+k*`kMNDG65(T=HOw?jApI~pA02(qT;9E4Dkte<AgrkxcDi! zV|;=va#a;Sqi%du_42VdqBU5JO1`K;V?Md8CRO#~`Alj?rGMaYgHax}Wz!4Uhz&3j zAuQs%=c_vIfX>NcJEAAfHlY+JN{fX-qfVWjNs>?KCY+s6uWs{%fb}zVzKmKjJ!6SZ z$T2bLvY-M?C0_zR>Pa;9h@KDasoe$_Nr&U^^n8#Qm!7-fRXyqbNgDgt$}1k`wCj`M z{TA0XoaQ|}XAQa($Qs;8C`K8H4bADf0cTCm`-m>+c`p%GJ?~*2Tu;om%X+S3Hc!vB z57(~hxt@6&Js;q12tARi*Y(^9pn8r0xSp?|BYJXu@DW81?x&-A5+pmW=dL}q6M7;C zp3!p$0Y5#7^q$qTy|?n5o^*17yD84P$uML-4~P88kYPG?GJUSD5Sz~Ahr1!L^elsW z&W_EuQEUI~{Tk;){JcbPtaq~0vPqDb5pO2#=e~xTW!rw*f(J6a&F3{+-{0hl_*?D= zxorR%f^ncXw+{3s@6qT{FVG`N7h{rMJW2kw<<iSiRQsVd%Tp~ONe@O^(EXYTXpc!o z0*R#j^gxl6Jro`Dh$yaz3K<-uUIx8Hy&80VXHboLcLnNY@SS?0*a2oa10~PWR;1(` zth^Q_2X^tmXlyu;v<JYm#0y5}9!1U)FIl38d$Yu=mUzm7tuaxQHP57wSVr%c0N`wR zpCjG4h4ize8;9_Iiga;Bx?mL^FIAY{w8YtR;;hZjdI&r=ogTA9k5y-hCoRzf(lJqh z9R~noIo@Xhz}SuV8?3`KR^xr19mK|Fyk8>SSS+$qE3i^zF<9^!LMoD`ZcD>XSfczM zF*ylejYYm<HP#|FlF=I2EXdHnmUyo-eA+n^N+&E{EG*Mt-i`ekI^wySl$IB$zT=Zx zHSrg(sx_Xf*{X@wq3*!FmE3i@yEolwQ|XTEd)-^RqtB+*go`J>c519vtq|rJ+4nX} zWeeoKhe&N#2Zw4KHq<wajBe1M1_2p%Gz@p^>9*Ik*b%b$FUveQub`f4RppkioJ!v| zGd5YPY_B(}1Ka(Ng2u#s2hs%(@#{v5_D5OBw2u>X7I<o(h<$DU+yM~9e(W#PiWd$_ z*jsrG_yLv5!_(JnX$?l7+Bn8(Rkhi?T(v#>^<CWwVNJ2trNR2W_O%DRAxmt3|3Qat z0n!WL-DKsB!{?m~0OB24ud40Oe_dS2$azeJG}ueRYSam;->j)OdT+gDe*x`TA*$<E z1Jw`M3<?W;)Z8u5#|h(l-Hib+1pcop?y_CN!CLghwMSLkKx`|FTjiQ-u7=fuo}!z2 z2J9{+b)wMLR&V>R2klNcnFIyY{RP1ZeLu?LxWE1eUd)>zV#C5qQ7kDsSNMn7{F8N= zT@ACM4EEJ2QG~H#R1Ksz!a!RE?RQeqK7~hm8G*5<^*p=h#Bo@ZQxxHOf#sbKXp*J6 zyK)9<-Uh+iEpCJD4?U_$5S>?{Jy7ju23u25U$s5|HEM&F8tu;v6o%QM1OZ~ofqhH0 z8#|+RZ81?l%DN*Wh3AM#dc&;e9a)T-m1S9MoStHleF4a6t2R4<WY!XLHbd<ZkUabK zCQ*#E4ovmP8B0Cbe$SWDp;aJ)=I)3HOwlg@BBrEBO|aSm{740?3T!|7%?`AuHQK*& z@9H|wRFro<JzdxG0M^Gs)F@s3NN?4?g%z(~(N6-4Jh08a09e`5ixsqAqy2AIIr>bJ zfkT#SBE6C5qB%Biv2t2CZ~<>vxb+p}yG6b%2YNkV=)XL~HxnSNf~{L|ma5*Ub0M;o z{cU|W9qm$vYT7?NMVd3eYPIs7n33?m(U_vPUm2uWJ0y@wo^UUy6M*HL_XQXO+FfPI z?T<6h2MGye+gM4z2HSsdF!GNs`a@Q1a&4?j{!|wINq!A2XSv+9o-{}@Ljya_fkh{q zKCm?sv3e6!+5#eygQ~lO?RUQx2#>x2BGisd0f839Z$q4&(kktKK$g4F3-aB|VZrPJ zby1Tj*Y@+<$0+_rGi+AJ7)Jp1m!ogcEGP#r>Ef)1YyVJ3G%_1>ptYW)`6~UVL(w#- z>*T0L`n(;N7uPZk$n_Nd+CL_p!pLJ|P{<F<0Y&~3ThZkpCP!gsaWy?*xyg6ZU#yCd zXz!lh{;6-+&kcX3mc1G2=W8u2cRPOA#c50CM0`c>1^K{>%LXs$Lc`xZ9rBWS=K3=k z*j>3+XNSfCC0RBUr@lLV9{nct>q@kh7rpwRCOFj<q~dqo@0Iwcm7A6zejs6G$%4p< z5#;}W$WfW*^0Ux!kPVDFcgg?+1zd^UJ|){lbfm-X+9$U13;IYe{_>|P?Wf<^ewS); z0&!yFWBWs|N*cQ>9CXAtM)bF}nfWY>{H@;fIS)z>XpxZ@E^r;q)DP|jaR3T(Zowf} zv@<3k@X9@IWk)%Yp0&6ID7pHe<&kg*Y0>TwFO!TZBEs|cyGK4V3K`8l4Q;UYdK?&~ zp&qUwfBCu-(l6UrANb$72Qs=nhQThIkSb8IO};qhT=)`^Dhl5rF^mb&k46D2TP$X3 zum@Z34bOAsWfrpMO<W48AGhg~iXFIygl!lLXt4AVESn#OqhmD0IQth~<m@n0VWW(M ztKVp97RO1g*8cea(ogR;lLqTgb>8ki+xB3LZ3Z#4r#gKH>_GYg3-h4oR-SU%QjX>+ zlB_qHdusoPjKL!^%@Q3cKT!o@*FD0f5c)by!Ox_>z5>obD);Wo5b||(PABA=tZ%>T z%L`U<QAi5|L8PA#R;){XFkax2Wp$I`-cg;SC7@beb|1jG-xRZkN}j~>f?xK(=(fua z`!nKtyDC?ku?JG3pi8=x8HO%e7s#D?<8l1K&_$65fH>Ta%rNO85&?q-w;H1!&nve9 zsoh9VxGH(4v*nmEnr-hw3SF#q2j!R-IF%XIK5VLr&Q@nSw&vM+mK3gW7AKlAa6cD? z;f8roN%=SSyrD|ia2H3h$N9yO7M64oO6UOI(I7iX0FU*ixz}<n3k;A|bZxuMIFk`U zNSDs)uGU7%K__5nUzIbD)u2YP#BdVR%P`!@2J0E*S+qYbjjPdI0^TBl7U(vk9S^)@ zuBnE_1Z|H#sh9oWs0SMDPkud&VPp|i!;&7Oqs~25B(l+#Q6BeTmd8|%r^kR?VU^=R z1<E_wP(A8n9kIi!wAoUz7u{=~`$K4_S{8hv80dyr+<Jt_3zDf@{ldv6SDk^33LU?} zIS@I^Ikgm7?j)iXoQmag3Sewm-BaYIrSx7)#7e7OD3&m#77lQj$==G6!)07>hv1#s zc5B4P3aFPIt2|CdZ}PG7&Mq-lUx1NXN!OW934xhW#zdH9f!C!+eI;r5qK#(Z%ZK$v z0~MWHnSHPs93RbCvmKas67xZ|aw4_SP&DBqCn*oFeIDzA%eK<$0gedOPQZGb+Bp(y znCO<DO!1PuK`_KFpR03mG3~AE4!$<7Fjo3$)`}a%>0j9~Ab|K8d(o_<1MQBKrob<~ z>q4b{=GC6w{`iCF-g^7*wwe;Ko4`Vep`Ktub#XAkq=;ECPBmV#hn-}>AW)I~!cRl^ zVOo4OLRqCGi|g$x{~NF8Wqw$E@$xqp0&Ls+#8Fqm%#oEd*=-TTmBi<Ke_J~D|Fie* zadw||z3;lrtXXqeGb{Hrmv*hy026Evac`uxt?vGE=xw)^sy&K$dGYda&dW3OkG4Ap zyZ0&WP*NB)YJdQvJ9-9;c4QYBHc_KQokEmR0tAQ>X^=r<3G844c1wh4&-?TJKF{y> zTbD^DX=&a2(7rOiXZ<eE<@<c^-{<*00_;1lD@a<BEM>qI8rD1Hk*X;ibMr`IxQrF< zJI$wFk9=h=2I_C^Cy7Ie`6S^=Ln%1~xdB#sgV8!9j_SW*v&$oU((g}%(ZYpR4xNQF zJ#ab7K7!o=je}GNxmbB7Y3^t<pn!sG6p7GZxLwO(91pSD$(GY9-(Dkab-+Pyss4Mn z(n-2$9x9G4h;>z;U4)80gbS4H5s3!QiA0;9b0i|mKGUDfrAXuxV6y+hEIAX}LFF;- zd48vFUQ1f$C#K2K3aE~r)aK$&Daf^-^M;+6Nf~h828zKsUksYz)0SvJgw!vey|8Dw z<PvEiqZQk74rWJPm}Spp@H|HveIgCqg~ptnFfeVMJwxzL(tYX)uqOurRP#R?(U97s z-o|+^ea?vnBoxuiq(r0nEdy0i`R>{T@!lt|DOLTbgd@Wi@5PTZ`6JDWPu+$6^^k8( zA>UDjd`Dx**H+Be6!hi3lEM-6Z4HbLl&aM#rzya}2a<ayM$7#JO3IW)eytZs#kNTA z&rXbv6xOd>yM~YXuUHKN1=~KEkx+0%f&GfNlFMJNsjrQ&?gDHpu+?WCQNj)@<z1zZ zk8oNwJ-TFS`_qLtZhyl=JEwNf%uf~{VA)@xIfwuvzwg9WJTLXe*u$;S?GHZ8+fV=V zx4!Y@7ykI^2kw94_R09ogKun(YNr#=3p#4K-l%UczNzhnJCx6_kCm(_w`|VWN!gP8 zqyLF*hg5xkW0X3Oa;(DSIMSs2I@;zf&ag=46;ycZk259~(24CKcOVSApB#BTi@slA zRBKP_pC!tU`f+XXg#5>|IS<2}<!?iAlOtqSdK&&sf5$>@$$oy8Qp~kCSPM0$H|JPi zVYT_2RGWUzBY6UhJI-R<NU9M>-(U7Xbzd+<ZA-W1(Xt`1h^W4Qt=Gw4G{)$W>`_M? zM_QGAL0@|ZyJgIyo36*@BO9EA?PbohiC&<Uav=c)<G!1Cb&JMg{snV6yD4^z5r#1M z0brPg!37R^bqqYl&;f>^VgTqeMU>4AnCNVT)YUzny1EsX$JGsXM%Qu0R!S*5p+b5* z;A$>BEk9!yBx;EHqxF0n0f1m9RrrZ&RS5uPUm<RG?y=icTF-*!a6C@o*{x#J+q4E= zYL4Rw6roqBg+>hq0uif>X7z0xD6=-FK#U`R&sv;rtYFJ&)UeQhG#Z)C@|luvo#{&& z9x?LK{)bj6DcuUal$2Ts=?r@KI*6smt>=te9#Pqc(!fAlDgxz%d91Zta)zv<FXyGH z994Ar-KL~$mg~O}RA(DLEAfmBA{d+soG7S_D$TvXRe<S}gZ%eJe!MTRa<l$%P_6@P zPJS6_Nw1c*YXbmH+aMoMEYPeqr=!kwSU|Gty^m?9H9wU2g=O3`?@i26s`9kTayH`; zgYfa&sD$t1X5Kd+)yqn+ESVYAh*${s<ROjx(TbYcBpQ}(gdkdxiLAf%RcNvg{Zt%b z8ed~3awE{BX#9B6&F==54v7WBqeq-a<BulVGmzud!^Wwx55%d-0t2TmEy<}lN4tTa z^x5RpV_?9DIJF!+wB3VK53n~Oa%!a_f>RH+bLu`No^nL?3_$eKUlC77u$7XX<|qXH zSqs9OM%ehPll^YRz~k??Q+5;&(*55_@4r5Gznt9dnPh_i>`P`#o+h@XRo4yE?+_XF zum1ocE0$ZA8iV)NECcX~2Rgnav9u+a?fUYD+Ngv~{FI;_X-}bX4itGng&(pGo{2Z- zb2lf==g6B2xtp^N8`2p)prPMnpFbLJK9##U6+b_ceomqxdm$Y#X|ky#+srGLlDc1` zuNMGL#|9k!j8+p=N@lEJ@V8+OL_(;=if(d%O}Di>Ub<t+HVGc6?mne%QX$UyasOFL z7OmiI^4h8R+Ws(hNwJgh=3MTkf5_7l@u`m{yj%)Zop&_mx`vP5K;O<hkV7c*9eC$= zIflm0quDyZ_Ov6c|D;RP@dYx&`I{(a6as3K;q3ML876LsA^;@0i6+4=EXlGDB`Q=w zY}pbz^U}EP=7&~dX7sU5P+#)9Mk0J>0}@)173x8Klp@Qqb0f=fM~Wzz(;l3N$U>g4 zjy@Qwc|T%N*{B|EZ`UhW5@EbrVS+alM^1EHfGFu)hvl?u@$@jQ2OeyjR=odoYx2Q~ z`kUE6KO%zeBj$=4AVDH79b=s5SHjFuh-z_0at^`I-|>n1e}>}>QIu#S7EGLc4moOa zPd?xJ+Z7AWB;FSjewt8CWnul7ni58KzdnDh7+5AZpON@ck1uSHybtwC(3voN=%=(T z#d}k6U$Ta>lo~3XY&mM^-0)SUR1c-XoC+q1YY_qFhT9!pW)#!(j>jtJvpW*<n#B;S zH1$QbSannzW0l7=Q)#SnHm~e0t<{<;kj9u0DJfvPltFu<zUN}Mt`o|7d+9{8XjWTa za-Fa{o9?1%V2&L08^!bI8Ugk;8MXw{?F>UVn()Ux+L|uAffO)2>myiq?(a0R!?dnB zrYL<b_Dhg-H8DBF8^jpXMBun!?T#B2!2$}s6Z})h&&qRZt3K(r4#+iY&34eM(W!%i z=+u;IrYMo3NFQ1LgJ~4;Y<e>qjJ8{s=@R=r024LhUi=}y?tCQ~rYSn|Tl|aW3>dv4 z@G@0Upo7sxH*zr*gFo}`MpwjkCxR5WxlM9@l-uD>d|$}!2;W6X&jG%h86I#6?z9zG za+legM|*~D1milhVK1zNgjxZi9v-D69Jfcyw}S`I6HW2@hw2{}3qFif>b)<HZXI)< zr;{~DTHvryT<Z<28}<>&Xv8?gAS`^(Z$qIJd)n<mZu`>YNSDDN%mbstE<^;`)6`jw z-yk(4m;Nrz*2@~9wC}7nw!U*und<f9Tmz7d(JY!}MygVNrUP)&<IXt<PdINi@R!eh zIYg)VmO`rCep5q)MF%v4^w!QkN=shr1;}DdXL$=U-(4`Uf)lKgGp(v-S`ll>oM20v zR&s*rxT|N?35E#)&katnUZxd^y7Q)$oM5=_N<ExlnG4LY6;BFqSTB`F3r=7-wK&Id zk%M8Ec{v=&J%q)$tUaU53cj$EMsk}eppj%t%Fy7OX*}N<eq4!(_5h0Hyhsl{V>c4P zkVq7eo;jJ<x5)t^bX>;3Hmcy#;R?oe3>I!#9?#XMF=wQ6E+=7VIeNi>g{c>9xE_^4 zrxM3^qfdi=UNA);lYj22q=pd%leoG#C`^SBh21aNaB!~m<rtxRGBOXat&IQw1qB2> z%JAQ`W~Aydot7ex4?BE0nuUcG$%Bo)jd}n?52K&I_r*O?U_;JL+%~T!@XkLa7C6%^ zF5jYn?2L=y#&73e7wyEa!oR)^PJEpTz|nxu(23vX!Z-dkTb$VL3ZCQ=jW9*aCCLuI z{pGz$l4_~5jU<;+V4~kXGD9^GnPKVr{N6G-IcP8Fch4z1<WQV+6^SE{ZGXu}fckR6 zuSW!EY2oL{^Q;TM9P;!MeoCa6^D8bD0qRDcVq3%qqoHqE;$eNjvy7ic1x@0Cvo-TL z$d6Pkv@wMoPVxTwpbIIU6nYUwMe7;kWelj8;)vCw2A0N4+Iv3ml60;aUiK$Ph81vq z^!j4+L6VYB`pNXta`4yJ|Lmt(-csQFbre=E>&eN_Wp%Tni?V}o8DX&umnu8Wx%A;d z=R)dKIHh@ai@1j>J0_a=!iim$V0#2H6nnt=hB8!3*6$#D4r%c3;iQ6lDOO)+zbLJL z-M#k;NOrbZi4L*o4(HW)={kJwT&^ZS$>pU)C%J4R<qelBNP@y;oZLKIwvdm3OM^^0 zTsAd1EKuWEqs!{1ooiTcuG6m(^5Af(k_LxMUvq;lh2}=O%Z_Os0-#;XcBBBw)OE&z z)TiUR>dYNo$qJ#={L0!ugwqaTS=4o7GW~_wJ)Dommd>-fu_1ZuTR#7mfr%DNR&Y|4 z8<!-X{Kgx9`~R6}5srUKH`XV=@q3^BI4*FljN%6Br2Jz??C+xeJ&j)fgu2H!w{hXk zo4L@&%ehc9khUYUH|fd|+M9J<C^awD^>C?q8LyqM>r`qzrVZ;T)ms0w@m1aG=#V;! zS4!Q|p`Fc!uAEHN)b&`Y+0ylRsd+g~Q?)^lstuY{ZP2A^gEoBIpbDKBREhT*R2!t4 zpy|fC<nf)4|2YA+2-UU8*M9xbC;Ky~u1WSi{4a0)j~P@~Cx7vWUpw}nmJ8LN@LqBv zf}naQ7y5XIhA>}ho(rny>-vR5^~iGt)m6##U;LV!_7SQplQ;bCFR&s##nlzbAN~BF zzMC*k#MOH8k#Buq7PvF4W#H;v4%MG=sJ_Ob`s(Kes)Q?^8(bYrp8A7-dItm_p*ouU z%in(UP4{I`ttF5A!s)-x;VMq`zj<=k{mX^w{SH;mITNn#aHw){@AH7Ggx{72RdoHs zqT~&%0??J!&4+YVG8&`sz#-U<VH|=aGsYqC*cpc)`HXQ0T$RQl*u!cZf^CDwA=vV4 z%uC5<R3AxajCrwP!tiv?_-Jp=`Y{s&b0wDw`%5ks4wPIj94wh&c&03DWAfN%zPb-C zAJJk%@}^(<r+?-KjK;crN%E&3degtKQX&%D`sDCO{_70Xw>)Co#U>YV+9_RWWv8xG zKFRfYKn>!p%R>#;N*HP|^@bWuy`ctEZ>XWXLz+^i-cW<7H`HM24K<X1NY9yiLk*_h zP=l#A)ByDiH9$RwbCkOmf*PhwfEuPvfEuPwfEwr%&w_M&^4Pv7ndgWaYm@iB<<p-* ziHNANCOQ6@5C0u(H=@Ss<a2L*;`d-O%R>#Fz^rag2h`XTP-FM=gBrximxmfmy`ctE zZ>Yi48)`81h8j%0p$1cLsKL}5YB2SN8ce;R22*dS0oO6qfa@4)fO>`+pq`-ysApUQ z)LTB+FdY=sFeMb!FfA0+Kn;DysIe;f^n3p4F+@c~jg`q)cYX9R)S8GIE0Tpz?wZW0 zllA1IPygLFxv@Odcr>8KY(R~D0X1fxAJkw8#PU#ssW;SM>J2rRdP5DS-cW<7H`HM2 z4K<j0Lk*_hP=l#A)L`ljHJExs4W`~u1JpCr0QC$tKs`eZ?Nf)_B+C*gyf|J0HOzJa zHOzPcHLzZuF=~t@|M0HK-$QALs4<#+^gX}!KGeC08nxt8fBIW5%a}$f`O>HNy&Lsz zd6;o9V8(%f8T$if%soGt!3M|WVa9h<jpX5X9RI_dJlT*O`0y!g$P_a!NzOk0fiELq zqC8ojy!}@ee|gz@{o#Nb3js9_1=N^-eo$k6xv23SRU<k2#Ba@3GN!RM`OrINKbUh* ztVw?RZ9o5uSSt}VRwobt)xz5mLCfPB#{+8M**7ipXh4l4&kt%GSuSdPN7YE){i&zl zfo2iq$;#wohrc}ErfQsi=Wo9ai4#$yp8Wc+f8ayQwp&jH)HoSX<3vD>#pee#h|?}l zpnONwNPhXq$9Cl$MWe~ST_^UpsTvRew*xG2Oi`nhoSuL08<(wXoDHaPCZNVs0X0rP zKd8ZC$K|2McXW;9oe#bJ<IHp98XJ<SW1s(8&WCtOa`^Ax{Rb!?k!!3^e&?S){2MrP zmnTqm$+qX!DP3u0r>=5qm~#D`duJzuEB?Gb@9*du$p?S=^g^4{{?Cv8%|EueH9ooL zAC9-VHU8lXzyBEO$?{NRZ$ORdfEs%OYV3Y~P-FLUQR6$hM)LO$|Ixmjk9=kF<e$Fd zPjYJLie%5}cmHNi4Xr0rJNG`pjpd=nqX9K$18VFGs4?^Wpax#t<q4GU=o-m4pZ?av zm>WRC95AEFfBUP)-h&#Ny7rTAeDsNL;NVJq{K?n9_9q`i4Q+S!AL$i9<r{Mw@v6Cv zXvN${R4%vCc!@B8U6=6MoG;v$_ByzY(mtBoi0qqWVB(~Z{t4piwFbM;SlHMYoFJm! zGr*dn4Zf_3HdfL@+*t$Kj874d){r)`QN*b=JkeCfKcceiq8w2GUEA1+TyNq+AbUL* zg21b}5WcQ+A<8|%g`l^xqY%qh&Ky#_7wFBT9b*2(b)^?RSX4Uhxxv@AN?TaVsld6f z++-*vHpu9fEuAju{B~PtSkiXZK5FUTL1sC^`nt_gC-w#Jj`QI=*ralwS}w)?e@~S; zxVoR;%+93heuKZVkSia}l^1hmQo*F}pUIVXsy^Ee!?6Ro^4?r|Hdo%S@=1;%DY5dY zzVL#$R5`mg*!6jG!1fAFT7CuP1<@yb&}7+6lP&JeDkB->-w^+X`N#3DI{bx$UGV;K zt@CdM<&|7l@ozO{j&|W(7-9<iUeEOs{%t5<pS9dsQcu1-&?+V^wk~x(yqMpO;wT#- z*b$#U@N(s<)oa$STYt%hjhi-KdRe2%x(tKO=eH{z&6OkDZ2iZ0iP<wa(-#KNmlT^D zlbxTLFC;5;s8@01-{`v(vX5_9s?bvd&7!U+2RL~seEkyLI6c4`2I8VD-Fw5UKpzyo zv)U2MO6oJZq6j`!9=SqI_uEN$+P0N8`wlfb;>~_{TeDBltfudV+KWfF>g&Pouive& z?M$>HgUfe1eq9591$vGEdvO^3WS{LEOS|xXRkG5%@RGJlPIr%-&XeaSIbz4g`VsE@ z1iR|Tf7A!P6O`7VAq!y}Z$jsG?uCs4h%NMmlbUjHcubwJ^Zbe<|4UmZzS!LfBeolB z-xa|RaN4V--37YzhF4LOCgh0v#Dp9UeOu@o85cB$x<UFeb;J&LD~@o4QVtJNkiH;* zbZF#7s${skl4Gi*?jXIQcO_dwCBq{xR3#(bm7L5~@?E_vxja-dGV+2jxkr1z_KYeT z^xm*|H8-TCVf&(X*ygI``=fc-9uKfR7GQg{Z)A%)Q?(I=<4K*y-f)zTT;d(s+SZX@ zX9kT|HN%LiBbTcZus@@fU(x5A{d3k~=f?53h9j`LhPn-@UJ6YQa0&rc)Vd-2d#Wf* z&x_hBigSEJ?b4Br0i=svASH068UmJ(=RDVyr9rx}9i+Kx`F=4EQc{Q+x{{*MNXd>< zW+)n4kIo!bXVyAg$ThyK&TMG!Os-nKKb7wcS-Gq;q?EJHoa!Tey?5qJkIsBWoe6xD z+~3RU%q8ue$yLkuXY!qyMCOT*&xX#N>GMO4fy~bSPOef<zNOA=aLAB{ds&@f38yo4 zA7idszTerO<0`vCXQp(Oz2EN%_D6+r8RFKHcl<?$Eu?VHb>mBc$=B8fyuS>@9p#u{ zZ+v%1IFLz<dh(uJW$W82TUt<2dn%}Q+Ysn6d~rIAU{4sq?taJmu}+$)C-2WSOKy(b z7$VKoR);Z+jcic=>z!aYs4B*MHb}Fat0D!%s!&A(Fw{wR?O@p30}LNiWkG6@2s2mN z(qN$W6byTFVAvPHFcZMAw|``PXnM9s)1Oz<>wO$#lvq~ND|1b=DlJtN=0ekthNfrx zJp(Bn-QT0>|E{Ljc++HuSXR?3a!v2gHGMENeIPWwzn|pS0DMK~y#3r?(r93p<c7>O z8s|;P4u<uupY@y5aGJ@l=<C1`$f1z?Iz^nJFzYKx&_N}uGTLb-|0UNrn<#Uir%ZoP z1BB_fK$=w~&7g|a`6@o7Dgw|jG<sEmYHw9sP8F+3zDX5pI%%Mp98pC9f!U3it0*1H zKp4szKlFTUcO_p?C3gOCQRxeNRZ<C+to6K;>$)rXiYf{6hpbM$Dq&Vl@mt3pY=*Nw z50P)^^UEBK*vg*!{0;wWfW#JErG2vM+EnCbV+*QrMRi@$-Jy4WmKp;&vgaySV+tCy zLF>>Zey;e2?n-7=NkFvz-j$R>B^%gLE4x9xjOsjDlg-wVffLkuJ1^G;g6$D?es~{? z;!h1+RXP+%V7^~_*c=6l?2e-U^XRQ?C^5yJLbMz8<x^}7p6|Ej=|E8GF=D};W)c+o z4`D~}dn5mJPAu<b>bn}6B%>B;xF<r!6eb-*!J(D}ef)1<<)g#k(3^T}C<<~U(@G*A z47s3PGbk+PqhUZtxSHy1L*VtOgJ;9E-i97h9_8O={=I;IFXZ0<|0?|3<lvCPZ+d?I z)Y`n^rrxEBeQOig7J3*o`}x=C4I4~Q-<gFt562ml#QL#{c3+i}V}6pRY4IJvUmywS zF)%Es?i_+dC!0x7+XeRARNABSjM0y{&Xjnd9+dGor9lzT)qPa6=fm(lq|BiG%w{nt z-F9+s$H0M19Qdg)@ROAb=rzZK3$_tPXyY9)I;y0?qEw@hpoquO1SQ-?V~8mon?VOX zIldNj<lLYabAukRn!5%a)Z+6D`fM092cj+y9UTSzR7ysUuG}$T&c@?-)iB^ZR%T_R zo~W<3UYOx$(4NnUpSxh|!q2Gz$ImHqq0kjH<&LhLqAOG4sT^yZHunN$W_5xM`f+!2 zu*ZlMdqZ>61IqxA_Qk^yVvkUlJ9>169!-0XQf0QaIqOkSlF!+rM?;Th&(|Xa1ihJ! zy+L2@=*`Z4w%^hlQ<4Mm2K`vL2E`iB<T`qe!Sg7a+E^0IQ;oSbY8>c5><MabM^ARs zlLKKwB{G6y&9UZ@UW343>f+2C3~)Fwkhb3l%5o%}peP6WidwKK7<>CuDb#GjGOT_b z<L0OlRNC{%tiz!T3j<2{NmtQ)*gh3yjcEf5anxwJ9i!gMs28%{JM2_Vs_C}s8F2(v zw;LuvB*Nr)=+LnM%VV)|^xTfdXKDPHqhhMvwl-#{7}VSD=JLc5xW{w{_t;3vJP|@< zi>SICt?#GxY4Fn&Tu?9QwKh|d`3_1kn^cV@*Ggj*l09gl_G+1_Z>;8K&?~c>L1h#s z1XVG67BoRU3mRbdEGT$-78JYeS<togEa+I-v!FuhSx}wAGvF|1lHawMobrO=0{s~_ z9_@FJ=8=B$bwdJtCU+eP@>0*<DXYfiajYgeV>jCl?Zq@EODER4fj@n7x80mFj7V?p zwVTed;!ThVvCcWYbWLTQqkB4(by)D(P}U*BQz-m;XBrJ|59MUmDx7U^Wx+b>ln`4< z7VW0vNP6?2-E>Zo-aKkI9hc)xH9AWNW<m!RD9?wEP1E6Hp?rXj?GNQ+ln+z3Ww=h~ zhx}|FbHl!vCodJq{f#6%D<%Jhm{2Ks9|<BYL6@>Klo~JMbW~AZ<C?-Fx?Xlo;Wu@y zUQ_rDT{k4fd#)+$Q}Gfj{<@0mtoR-k*IM!2Dz35OjEXC*`2VUnX2oAqv1Y|zRdK|M z1hEO-Sn)rrIAq0NQE||UzpNrTMCb#7?h@xLmk4l|8e0<1l4k)53nWT9w3!7GrAEsZ zNR+fua8kb!uUB&+`tnjPrI!@mSGu<FTa={d@)xWemm3-4vs?Aam$r09hxAM!NRoV= zt&F#|prDNIQzLF7<(B;VcaO+}>I4p}Y^Ln8G8_$5kxpPBI>XpFi5+W<Iyzv-8hb$} z9iy1WTPkpfI~+K;H&jooUQOw3aLemd!7G@hWd3Q1?ogUaOOO%wkaE`9;P|v2=Bn;e z+0_(OsV~dJNpM1U_D5X}!a{|vO1Nh-9GVZ^TI`=_^{fB=8Yz7WVTaC|m#mH|H}Oy6 zN_LflLItXm7h|h}DC4}b-jtazO_-fF{It84iqTBS7xC^2Q#GRaa~su8uit29wY^u% zsSu__+TC{3a^VFsDP`#@3K@j}Knm?|RQpzO^ZWx8a<+MH8b~)`s2nebRVsi1{$iB5 zH#O>ZHa)B?zNbR^UUY!n)M$qH<i4`{R7l^8+Rsgm(eR$UefFLT>3dNRys5D{ycZms z-mR#(-qd(OcpRLt{x~{|Z)&_SJPr<He;gg#H#G*r<KW!pF|wOjaL|iy3XelLfybNl zI9ieMafsyb7%f1SGsbfGl0&UqWsR?_u{EIf%o}i{j;!#woB==qI=$4!9=yl$jqobl z@PF+(LxHM?e9h>F@zg){Z-u&ZgW8q;&sUWye(dw)ir2RKwqQG5?EjJ{h1QU=fDbDR z_;Abujze=uIl#F)%w2MTC-+Q@t}d;P|CLvV$Y)UwNaEbd<u}z<W&NPHb%>VgLp7?r zpYx;p3&nD&kHBc(cJiUIut0eu8#;7$fe8M)b@UD~cDv81kj3PH9gU%9k8RF9BXZBf zh4zQA-B)`>{9Pom?t-5e*=HNP$x;He3BXU2qBb}*{8CIF?X#4P#e}oa5w?7O+|yxF zPnHg|h<m-kr|3J350?nR4$dM32RKkq(Z}{y6KzkP`f+!r>u4YY#rD#V@cHoer}=N} zjoXVqRKuHXqldk{MQ0K!>0=u}$jV4NATfVQ7^wVmAlzFo<y}%^(r$l!T7UyeeoHyM z`jmc$RS$j1?opHP_8epidHqO%v=umW{JHX$`lq}}nf5)EPrR+HkmSB%v{sp6DkoWT zhM>gTmWh`XNeX&xaW55N0F5^L9n#5^r~`1es%~iroim>@gV`0q4jmcT$4h&xlIc;) z7+T~VG6Yb6^7PZ?dq_R63kHi0q70R4GSW(kN0jS(Ud1G#(8Q5@LT`wd0q-7FYNEd6 z$dFBqyzC-DNY8re_~2kI*FVO9;qSptx)D2x2_6zKTT0bU+D}pfr>;3*VW3?c;u-K% zHhZhd(}7DRh*J>mx6j3~VxR}J%4|=TC0Ygs$5K3h{}_({cl-zoZ+t2YA-p>E^~8`8 z2NmkSy4u?U8ppmbCfi7+NM)j|ajZocqt<b)C@Cs6dVyc0IrQ!YqS45_k!*;x8bK)f zmV#rHptUg>zCng8u>l;mfCz4B^c+UdduJTK43_nOxq~|Zwf>Jknny6pCEJ2qgI>a* zf%=!x&;$ruLb8cPK{j)YdEaP;T@l_boiHH0w@mB~dPqexCqi+G$P)s1QDz@T#CYDV zKk~!;%+JNNR!R9Q_53`9xvtXB{3MeHdk~`c<n?`67jb?WEkl8jLvxkJKz*?le)QKr zePj28VJudeK1(~ti?g1#eW`(<qW2|sd}Y9*18qI`mYDGEMJEQPk(FM3$)S%t#t4k} z&X)NUcyJe3gbB5Vagqi)@OtVW-R3XBg>qd#6OOVc+X<&6BwGzrgg$`5(yy_gij`U= z$Gb2$adi}Vl#P`IViON>$ST(u=p<Y^1`NpEM^Uvd4qa7V)EKVxz6z^tAk-ZCNs=|g zQQJ#V%ul{%2C7x9nj1JE;)Y~qHs1Q#ONE$44Iv{JwF&bC?~6)x8G9Ir#`_(5O|Ptf zMk*IgG}Ez5;BNh$KSG$4?&arr3edE33SPiw*^m_KhY~S|DhtNAjKH)CTMLIjl3WG! z#QKuLOA04Gl3Z&)>&i!8I3Ax;13!=YPv<#pJSEOEJcUy`#8bpf5LJ$xQ36}SVPhAO zH-^bee8aJEixYrKtM7VFq~nYC!0J%eJeyF-oxqnvtL=<cwB0tnfJ*Yr0`iu`)_BU* zVl)DgasW@OPOc^#xz6bKf+3}Zq~!0ZYs7&{*9)c#rVcQ2b7TE1!X#m7WKy~XU!weL zIudlQ-#8hBrApx>MJeU9nQXZW3X|XyW3m}Rq1cyj=#Jg-jBFrL6kZ5+#%y`@9Lhdk zKeXaPKOqo)p`V}~8e3ol;$j@<73%QYelW<g`it^dOpeA=ok_k3H~>IUzVNh1<*PQR z6A8QDE&CC<z<RyDMQh;bWuGZKTP-L|_22w4Q_q+|R|>T(Q~F6{@JwC(W8aT7L?IFa zqjuI8UqJz7l=!r%n(2)N-9YV=(nn|vY|;G6$cQ%<`@oB0atgy0<+$L4YTA7LZ_ucV zk#bL|CZ&J)#+9^<XKb=a#_S;9#f!@I-{vF~Q}fF8_p2xrDc9#z6h4;gAE*N{lhsSI zoyd1bcoS}A_4SbItUQr29&w6}r(9dSZVQjE&|^U{ReK5|<PoqD$BCB40uGkO>X)6N z(miFRq*r40I){+tG~{}wA#+ke9cXHdZcvnd5S7nIA2jCElBj;mO$b4zluQ9w&eubV zll0qWEWGp0%PH)(o2gcv>D2m|oa`nE__AFW<}2|I)7cs7oG{-%Air8_a3nLmT0E1s zNG5;kv2J)*F_ud8FSe*`3Pp@#_EL@S!!mp9C4W9`&pXVb-1Av`-eDPOfw$MMLv>6r z9?*MUwZkkgOctz?yxN%#QzJu%bGSG<MhMV#7n=?cVJZg<#GC%pAJNI~H|bG3tm%bd z4TtK5MSkpnFxCm*l-e%-Ynm?5Y!(fNFv(oeAC%qDrzFcD3c1+p9~Dlpt{dRM04USb z`iD2Gbst|@@NatrA6#C?>^!Rj{YhRhn7Cvb&)czYjQ8l+W1DsQZqJVKXbHC34Y8Ue z)<Q?exGBr}qB}<GOLYuq+wveblFpX#&oEn>5=&1Sv@gw|Te(3P@&ata4L(1;1{ysn z<HYgqBqxZcD#<ZJa`?DEc5<AniTuPBP(s1Kj7FXO=I!~?<axxNFHN3{_Wb<hd0Ov< zj+s{^Po9%dR+p~lBh;YaF10{kd7`81-9$%!{bv46I@$duJ<`p{df}>QqL8P_Wl1_I z!7kWtsts5$On#xk8*9?3E^O*J`C)l@GAKM5FWr$d0ikD(Y$5Ntv`PHYDx>~c7i9Dx z$utJW%dh0O(8u(1=b_a0`DbuO+L*tT+CE5E*9*BnTcT{bA@7>)l-U`whe+pFl#M=K zTEy+l2j^EQ(HDbCnO7*WMa+!=_yXc;0f5=m2Z9QK(xE$aK#oW+JpN<iQ~`~t0W{V@ z!52CW9G*efsmMGzX5|Dx6HGBJwxsjXgUy&?Q2ihN{SCEh@T?%U%c*29;`_4u!;g%X ziUk{rASZ7E^tHXOIV_L)h4wQJ4G=y(z}M_o=Pwpw-u^y<YA4fmEAp?YHoU*6m`tZ) zH@e3+{(b&S*@yCINFDX>!WZBOIagg`NR8v6@cdvOk%BCrXlA-+_xw%9jnB6&9cuK^ zSeDRI@?zWd<31XC5RJ~D#tAEcZ)!G6`7%3#t6?WEc!yJ+T#8%=+caAkZEaY6PMr+S zU|KTAa4LCEr+!L~YMMJ0JZ|O*H7YkNN46vg6YS0PP63-*mE@~`{;8j@ysV&xu`kIC zZm)a~*;0pu?W<ed8ZSKYkwowGV?N3S@|BMyX5S}AOI@yt)0wN{z3!^0yf2&`xRc4H z$M4(Tc+*Z*Pn)1vI~kh`Bg5B^Zo3$)BiwKE4Qz1HOL^N0ny5)fvE(7VNB1?s=Q3J9 z@SG$z4Ln6qXVC9(S*UoLB3MLG(`Oce;=`tU7n9wUiS$fFy}gr_cd2QG2US0l=~3xG zs<|MCGvTufr6595{>c}9RB@{G^C(}<W6Ci7NszJh*_<!(A|GMcqA0wt;@#MV?x8bk zH^~qdn`jV_O4Ckw2}N#ox`MSqjxhn-Ouy5oz1+dv--_k5z5j=F9Bmd@Fas)#1)4N& zBl<*z$j0SH(~{#_WOb7v5HwJ!|B*)NL?wQEE;oD2y}>yU8AXcQMb;xHG!oS~i@BBa zOh+Cq<1F5~&j{ky*rNa)M`7*{^je=Co^;HP+#h#%w<RiULLlKq3;&BEeLT5%i3yG@ zror<}X(HvhP^>pBd3Y`yA#oZ!6kVHcq(07V9Hfp<8h&R_WyuM9TE)!rEoPQ)QI>BB zr!e;Vx7+Z|a0Fwv&7;k4rY26K!>`dpW!e_*rJROu<{7{F7X34Sq)1VlZY3~3%#s1L ztQ7?P#)jdm+sysD>*~^45C0u0zP43~;Xf13t%2l0)@$5i>nWMzJvBlv2hE4#p75l& zqtVY}a+dE05ea;)6qU6G#l!jZzI)7twbI1Okm{_q6!NlzO<NqzMuO`WDcaoY(i&~> zVWTy+qH0ndU93Xz*$zr)tpY?|XPF%rb^st6NcUGvW@;0p`;)CtuHfR8g}pVhPxEu8 zrcBIN7RW+P;Crne9kf+Y<c+Mc$FtD9q<p<__k91W3kQn0`PbSw$4du`WGAgC&FMbQ zu+<LUS!_Z2I?@=_D=ZzEXl-oNULodDNp^w5=!Ks#z0kmvDvcHSdJa%Yvis|YVYj4t zt0V_-Ozu|2BQGnxhKtqkGFr7VC;lOly}VCSXqUbL_Q?!Y)Ia?SBB7PWnrjMEdWXL4 z)Rn$Y>PnUOb77nDeSC%c^zO#Gn#VCWZ#Opxy6*xmD5P&P_4icx{-08X$$W8wg9%`t z_LX({?3ZJgxoO=}7p*IMzLIvu&|+0%B~MNhV!fpPIbIS#o0mku`y7KUqoqPwAk&S5 zK-|aA_VAwpw4=AwDvcF_FwZqW5}{R;cyvKm-aVu%1Dw~D5gNcqJ!qW;&H#6{R_NDQ z>f6|qjaJe3S}B=7m5p|~ZM2$<#78S&$I)sMY;t#|qg~$^eMN1JBLE@zQCW<YglTFN zIT6}mQ-3eZ+KDk0TWmAFF~EMkutv8ZEw+lc!?!9rr!og{>%t+!5u5Kle<j$bJvf|B zJ&Q92RMBh^l;6nmlT}*cQIc(ciO|s@(C_0PlBL7q1o}}i1ct)T^l^&m=WK-*i}2VC zEzUfcJZ^WA!c9#gqBam4Qn`Lxq|p}JtL2a!mD|K7kd%vDndyzZV=EFI2guaUHhf$d zje7l^KdyJ~_K&$K?>3McFWu)~?`Ya;mG#uXDcRBvYb>K(VM2#{14eGM9$Ftv9<_pc zk&!1Df|xM;(HdRmqIQez+TjcgV*>zQHh&vBK`*_~NfZMbK^k~7Mra>(W61bjEx=6b zY%K>Z_QUv~M;hxLZuOt^5!VE+dZVU8aBaM`1}7)#_-`17zpDFW?dN~KuD{DbwF|m1 z^3=oKMRq~27#3)5uZhHZkf~!0y{;sVH7S*5SYt;vQs16p6VOoGtu>ayG56R(+-3>~ z+2TSCI%BYieo?N!txu>m`PIXPWIUM`r#N++aSE_K&+eT2xs7b>&QRIeouRVW9TQ}v zdzVp{u{Gf~4RR(b2akE#c#K%CQC-UJVkZ{pi*+K|2WK+I6(7x}k7jaI-ocn*Pwk9( z2Q7I=@20c_TZWJFus2s$jafGrj{~c1$=T1-xkE2ESe-58iCpdZY^gn;EU{@-lg(Af zBya-Uo;X~?mnJATSpS`C5mD{a#lk?ynOSULYrmQcl<^Z>!1Y&hAvx=v($t-}hZ@5| zI;d2#xUqq}+#te!mM3D=6=Z@`lt*0EKohD44y<Zmw0H7wymTkX3=V0!(9on4@N);q zTfDak#&0dXvbh-w8f^5x0-EWA$CP$VG&Zwph#3buoH+OjwrZ({K9+0R!|jc!@LVg! z0~>nwR1P1aFW!FEm5nIvvTONzH5gS3<Nv)>3m}2eBlaKE3Y9NV!uJ_>fBqyq^K97T zGQQF-<L_iNpyDeTCo+D}WjxS$MlybgCclj`9z9jFu^ufcM}6m%^vppcFXzj*8?(Q7 zId2FP<$R=uCF!=v_CgUYWGc4XP}Eprv3v^(17tQKBtvybq0S2zpjlNg=v*{7RT6fu ze-;CGymT8*8!k7qjg1amVkZqFsG=Z&xZ|5I_cyQSO%t0P{8>6~^tPT?aTZdwE6#|n z^C`|zTs&Li%(eHtI5RmB#F=&Ig2Wjkav^nL#sqRjda;`F8d77zy5<rLV9Oe?*~^4h z#;nd=YOq%6pnR_I`P3wIU9;$PXzOHM*G$(<J{!6wT8~*|7piNna9wkiK0l|fsSVu5 zKF_UdwsWz8RMQ;5QvKJUX|9r{S@qFgtfomE&NR(6pvlE+njm4Drl~!-vQu>1G|hT| zxIrD0<mgbMq$?=fXI$AHRJa68g9%5CKQ(QJ9NmhUX_GprK)2B@(`GcMtaq9=>d}7F zw=vYDov+s&WVEr~-iFN}8cp7?L9Mxw6(op@n`)**-RED+ut6d)6$~whVWV+uqv_ZR z&~2Nu!8L-q$sk!Xa$rRqgAP(_23~J0d^y$(*7*6Y8IJjOYvvMELt_<f*34?**b2eu zKGN=E2rgmG@O5U*U^dFt&qrp>V5kBUmyH*RW6=VQ*396oHR4VNLlb>~Wj78RhoZY{ z<g78>_c`XT08s~u%c9B&LY=z?Jg!C%8cH_0U)kcXG<b!TBfM;sqxne%_<3euRzS`* zQc1S;mfzcMkmaZ2-_YM_ZcS?SJ*QTcNlQ(iiNJ4zRfR0{iI8bK@@*SrPBC%8+gmUB zc9@RIt|zcSS0yuCf(43yA#X2^cO%*rj%ee|JlkBsgSHRafW|(m%)p$Jwt-r2$_@<3 zOnhw2eNz7A|H8}?J~5%3F44n0M6*4=eP}4z(?0CnPAxa|o?36;bx~g98Z1Ho`?4|j zg(~NoG#XgA0+zA~Ss$Qx%uzOymnNffl#S%1i7`uaiX#$mlxf&V6HHkx{O5RLbJQVC z%>M)Z)~FcX1-myF5C>_&qF4`%IseWd=NaEe?+@<;ehJqy*<zv{j%Ss@No(f!<16#9 z)1G{1Bg`VIHNS3`E^x6z++~1qEfEW0OL`*)lzAS&Uz!PyBEpBM7?(&`-;HLQ9L?4n znngXl2ZIsx^}l=iqvX_Y0sz6M+hf*7{F`p~rp;R3y_uUejH7hcOpG%Vff?p>fZVKU z(3&;Z0Y=hUyW3rMHffNLyeu|nHdm=W0Gl0T`fR?iFK@)mALTd2+hy@z^kn%w<ity# z!@2;hWfFEy9WmKrhd>(fFRG3{Wy~<BLMQ4dyh1pKs1A!#%(#?$Pu2#kS|)O1<QB95 z#-Iys`QT@bvWXWD1x7KiD@Lce?O_;gvPrAl=~Jg|$-aJ?)e)mEo2utw+ZQX{;bRwL zJ#{f$_@jBw7@oo~j9xMT2bxSYJZE>?bleRONSrm|And^!cPxW5I&<yiIkSzR@G3&# zo^+P>#dA2WgUx`Se@SWcgMCUmJ2P}qn*ogyTg~kSEvkhotF4yGc+Iz#>#fUGE;X8s z%kOV(X*BO-{+f-}oi*jFt=|rpEnZRBz?%8uON#IUkhb~#bdF?;2_M<Ih5DVX3aZPD zg1ZIo;Sy}<hL&Y$Zvl}L4%FSir>*bTtogUC{I`b`YArNc>9+`{J~?kXD!BanJu0il zFV9zS(pF$`FE(x~wuryBSCE`8t3!K3hZH?Hr7yXXX|MRc?c3h8ecPKGTed%V|9^b_ z_7DHcV<-C_*gpC0kI(Ec-LI-y=ThI1)c@}$5i7Ac|3w70a5J#&BVv7Yn1Q<6DU=li zw)-AYKcyZts;~7=^^TiE#C89@>fqtPYi$!8@$p}*WVLzOYonaj2BK)ooZcmvJkC5| z&-5i{Z6(J{$O9lR)7~NYATOLOw^SOsbz^Hd8NXGLrpB;^mWCyZ5L5S9D1`zd3JS4Q zy%H+J$piOT!rq!UAbd#ZktO;aEdvmVl|swnMJ&Uu+6MoL7RQBwd93*%uw2s%ij0^b z*PUvkehWUv>Mi&3h2E?+R^Gzh+Aa5Dv{aZuQa!WRXoBX(FylErL2)NKR2WX)^}&BA zB%6}`Ts+ipNH;boC(;{F`5U|U$2X4s4sX0H+5Nlm#%|rXDp}y-b<FT?a%FNPe!{@V zlLKGn@w=`o$Vfz2&{PS=^k+v4&!ZX91unkY!ZawQp00&K!Av!%q6URU1&~$8aPp#C zp+v8W)W|#7@gxucd-7K^pNg9@aZKB;euD7?%o@W?9D9`rW&;(pzoKwaz?TB|AoocA z9jY{51@LG9yt7}`o8W9!s;JODOHF{`gWz0oBU|zrS*6hrDpMG=sUK7#s6nk8&}P>1 zJv7W%t4aADC8eURvc(FT#qEV=Q)0B5oaM!Vdzx&|^Sh1~-%~1VA9|qCyuW4qBO*h* z4RNJUSndXz^m;O~#1rwHW|Q93g(Fn~pvvI-7#tf)f#iVXYC4JUWD<F~eM$w6CA&(k zp^XZ#XjN<<fAbM-vy{2&b4Wok5t~0rT4`TIQJgdCAnI1#W(|s3!9RQw5|;Jz0$1E5 z0GJp{9>Cd?C40UUD4#VTmj&d(2uuTQJ^l*Ra>1YlvjkjVTSvh`GS(xR$h@g%V6F?y zJcsjI>iQvhIEKy-QSmHCS)_j(MAIkFA4Ely3^JgnAPPL50Sx<;%l>3p%gTlXN6A`= z5wfvIbS1XT5+1=3R(%pIW8sr+Pm#1rWe7^wocJ4$5=k^x`50dUmHU$YwoI|@edgq- z*6Q*oDd~N-EQ^oX`y@Q!QRn+-w5yj#Nm=i&F)7P8GevkG*E7}DS~%cZ*w=_emzc16 zbHDQbdqWf@{!|A=Mq(|l({--Gp~hT~4v<a0pltGlQ8!vBvy+L!A0qDz?DV|MlNvXv zzsvm}$yQ_p%&nwJf`Mo`aLAB|BCoqiQ9jm@D05jU!7DITA6>KJ7@Eo3<iY;{-#f3! zwbw3M>JAGT$?PU=r%Uv$aj01f=azinBAT#RV^U?6*hmvAZ?tiV{xP>>F5Sj@NH=`B z7dkPT5CQvkIz8GPgP-twEW%vbh*FsILogo`%ttg2IhcdR&n3*UGoz++PMEW_P5@a3 z%#qH04UXiPApn&0-P>f#^B7)Z{sHpM0y#%X^#J+MGXwcpbF+h7SYz-c2WSAVaLGZw zxfhy4+Rr7(bIPTG+_k)JG-q++GC{6o+Dd|LAV=l^^39EP`ez&rkoWgwKdBBEwYEwF zvOg~i%47QG=7@v+!nq5LKA&J;io2M!ST^Xjbl*7)*p74q^cx#Qtyp5$*f_zxZ4=sh zz{W9C%`T;MDU)J~^+1D7-4m=SJ*R$+E)rQ$=iG?9wCUEi&8EX7gZ-h|TL&=7E~9iA z9oQtf=H9VQrh;#h0>lvRX*S?UW{W{K+z_YQB(jmjc-}0s%^iHIVY1;_FpV}zSBaMF zCh00}8pYY{Q$BnExQ>)g{EKskfat-)Qi5U*vPoN}QDkH_hGAqXDHhTX*g9feS>Q~n z8dgO5AvU9u<ztZaG7TosBCmZu-v-l|G*7%C@=Ay<W?1~HE2gIyP$j}x){_iR-bKd} z>Pe5Ih~AQ#qL}f}5FrO$Fnsk~_NkJnpr+s?#9F=ylUUXEFh&vCEOWnv91h6>rZ-tG z%mTMXjbl+emW9#%c=Nd*qdI2ReD~LFmLU|DQ^XlX?o(XL<z!J#f^Lg4`|g<=L1;(f z0VC1Q^tE?pXQCtmb+I~>bEM3rGJq~UFZyMMqpX5F3T989X9Fmmq-SmbU26H!0ZZ_; z$cVgD48?7A4su}|gJ8&U_J>#t)40qS?`2xjc-i@3nVO7UuuPvk&#=5SV(rDk(#&x& z_R9oAc}!(MUY5a-GestvmkEZPNO+PsNh4>cp?KqdNheeU!MAy`8fyDRl2MSF#qzKV zxtRpL<Uz&g(Bj2X$P?u(1z$`JHdMW`P)NQPc}Su<bGY#uoU5qYMHBO^?Vf0Cl&g)i z$R?6)Z1ln<EvhOd-;Ex?q=zhu_?)*jHtMO&gbfXIaE&J0q%62E3FQD)&OYXGayl{q ze_ci?Z(dterVKLQkSRlMeOanAL$=RHl_ryNHVP6SdTDv&!RiC$`*H9uR_s(cgh^S9 zwD<q+V(m*_BR_Iq^1n|c!?$c49Vz6FDwD_HV*aN(jxjDLI)85im2SvaI#L@QtFMUX zp9$3Rt@qu_-01imEqNhWR8`)#l4T0fQi-;A$R=0P?#QZENZ1oawy354m)ge7*#cGN zVkjjX$XC?{3EokORZiV+<5#O{jZ*g$yd70-S+^&#fB&R#F}~EQR_B+J!z8sKT?jh` zty83>;pe{i^Mw7Jv!Bdr*hXjdDei@v(LZDS*Xj3lAs>M^c}S7ggukGlu*SZ#L<AP4 z6E1+jTT3s!s&t)|$|SMf=B36}It@@$yv=jfQbNrkFN?nDQ#L9Nlcsyhszn>NshKYF z+Rf~+C6KN56wXbKX&0U#?)}+W?9oZq7^a<Et&dpyfLsn;ObB*aq6O=wmU(FRqIXrB z?(LU#H#rl&Q+nNE!lFv6#k!pw4z;N32gth6-Syo?0xS8x&#*Tx*Z0G{`hK*t?|aQE zi+w*7zVW^v;8)gn);Hw(J|DjGzCRj%dEfVhTGV&;_IC8$0e_T7+6Jt6ekkhnC}%Eb z88BcqR5Gg6R4w-UVyfT2U?&S-un!#wq+gus^~Ij>#UA_Olz+juXW12BQZyI_xU<aR zm^68&gbr3pX6#k=3)bJahM#lx6JB2bd{GR8kI%q52_F}FjA^0bJzM|~<*awfP9ic( ze6rj209y(H|AZDe85pF)OIK2+UT(08qkiIt`FWC`rG)C?3F(%1@~hfyvJmLD8nQXo zvOL~~lDVDUWM8S?8sZ5=oqN(4yryslCZH6K3nbEB4CUSBtF$BA?jPpVl^IHU=a^1l zAscKmZ_U6G@|E$z30^qBtK1eBG_nj7$qxvLzo2_|3;g7kc8ELOHj4ZNKXUaZr>!wi zAb)et$0UF;)!7sEjtR|fFlPInY0cf#XwE7pkOU{?DUwi~45Qpbc`jtWpP{@vl;<e3 zAJzuP^iW``SR*ce!;k$mGZbO2Lt&;Fi}JeN!NsyfsU_fdRq0XHq8vQw#OaBkPSBS` zQ9J=X1IytFbK_Y9!D8(_&7REh%~O2S7`UdeOZ_C#=T2P_5|dn$UoyV<P$lJQO7T5e zxwh~NW$l}aGiCD1xC>GLDn}Rfc!D-vwOr7^F_m%l4GuI2Nu*W3rm$X{u)6C-kIcVg zXG(R}gQLBws8lIgsgj+r!BN;%La<JW<E4<BvW>4y1{xGI3IkCcFz-?_RY~bU^E?S8 z#kW?gR@@<_WQ|HX8zEV%lI7s$WcI3`_QG1QszP|BgndL+JNcn&^e8k{sku<JbzpVi z(+BMrdk8!+56=(T9rhqZ0Yi7M_Q(58gCo(Hy*%r`w)n3Z|MgNI3E>9GlZOA=>%T_) z%_;k3LUEE}=&BP~NB~qyScXt_ru9EYf06afRL~iw%9d{)Bq5>=&l8dq5|Y^$6sPBO zE%CuZPz;ojtxd_$loyglcn54k7uDn!lBQ}<v^V}Q3hYZBm}p`9qwVye`t?cmGbIn@ z)sPtg+f<H3%y9hMxz?r#k#A3b#<3&t0Og#u+h~Wp9{98zlT4U2!EoCvR^LoNfL2a8 zt0^Qcb+&(ad&!*(-eoOaskX+HZMpskeXe`rY3sCMunQKj&(#QNOs3rUPiY~DSbG|Y z?XDgIubtS~`Ir-WXgn=kBfaEgz&I_y&<7$G<KPs;MRU^1MIHAgD6;#aULB$lx$yz# z-egTMrHjq>qNVRD+b((>nJTU0-ni5n+k@Y*5{_zgLER%tfYz$_)|*zKltpYcK3&$i z96D~S8PoxKL3bpivhD;S!+j<uyB&B;+0GZFk}ATpzcGfhLdTbwGGW_Kz$zA$n{Gt4 zrjWxnK7Awgfm;#ARBgI-BTSiVtx<Q>*OVCrg4M7^ccikKe$0<3c2JXF9u#Zwn@s83 z=0C;_<p89K7Ss90OIM^S_G;&uuIte!=Omg#*7NgszKzG051>hCmbR7&E|LS`yUMc_ z_IY!isW2tnpRO<=l6V!urCg^fOa{*<6^vvG4po|cBt`O*hy?xAywH-XP1hFf?W$g8 zxmI)a_I~#U*<`dqY>U3V!ob&S+G%s#yVUR=t#7W{UXk;Nu-H{)nX7BAD!-Bo#Cs>C z2#gvll(nXyCGl&&*Gk(a8tc3?KG9g|Pa6}BRbImISnVZxw%*^<HZ+YNbxBo0b^0k4 zOh1q4XP}QD><h9jxaq_ZZ#K%;6m}N*;&S6?$y4@Do2CO6Fc1A#mG0uTNz+=|)T4sT z6ul!&N6SMZ|I1&EwTQ8dim{AtA0(swU}^_jEM7ANVzt)T^45UrjV0MZ#Bkx1GlV!j z<}MWqU(tj4WLzZ7s*uq61ceR?g~17TmY~oB5IN%(g`UQz6;X#-7Zo)OCgL&r#k9s| z0_b(T3HQ8-cu%+@rVcbuqnBOLC@HUM&@&8+bzuCU1Wo{#?2*8Y#A~1}GgAY-t3FU% zm`JrsVQKow#eB=;x<<1d9CHa%4^qg~o9!H_<Lb?J020(0<7`fQl4#op<EL1?#&7O6 zp|zcqJyzwFh1J&-AWi$kfP#i;DGF_9XQKGpBJssZDHTrk;It1R%ToWF6lPrmE*O@F z5yu}1ew|u8gFZT4jO<A(W(p}izfN&~b2+5y7kA;HEkPf?nQ}~SGr?q_H3YUy`5HoS zV7RSpQsgT4Ly(5Y2DgQmV)o=9$B`To?>v@;2}!6#m;kP<(vXfkS#MU}BXG`9&qOUj zNbgI@)`_hJOPn5wpL@;hUcl$7#$#xy8+<ryy%D=FZ7p1qNyzJj*-4q)a^cKQeB@dq zXo?1dHi$)K)kO>JErphgmY&M0!zAdc+ib#vs_K#?XsRYiASLUcpk;D$2^bmq@(#`V z9EzGvc}tx(x}y^dcnj4kd&`(SI9Z>%42ZcpLE!}%=ycCO%&>E}KWj!b_ZSM0FNoGt zZo=&V4g<FCL!6Pzq?4fg;ugkz;DK>+7SX5j=3Qa4PA|1dDqWA29M}&ANqK?tm4!{h zi}BKWVaa&uI+hnlb{{IwcO16qEnYD(UMMJioX!5Psx}mVwu)5Dw_*HGUA)3m{W)f> z)7OH@x@_Dj7CNk?B-prh-)hl)l8lD?VscR(3(hyeG1$VIsWCMoc{P@HF>vT`zr8XE zze%m6nk0H#X7$UkEJ5Lna|nv7-2u`=F66~YG3b|cy3a9UlX~KYV9O#z#`q^IEoj}? z)yoQRM_&Q#1*|-&E=m9ud%}+qsF_P$ZgwZ&(MOs?Nk4rYVllrQUFxLu)_gR6&mE8S zLtRQMNUN)I&{7<4GC*C?%4N*UR-^Mh&De~D3jED6%DQc>vaV=YCXk@2#~eDt4Q+gZ zIwGse*jFIeWXN7hhPjxeWOl8Ji~@~LBP($-<&7Z5Y}TV9Hg#Em7YAAJ%GLRirtp$R zz?7Ny6~^ShKra)HXh-P{tCh5;HqYAMA)*1@`HL&K4d)Gqf4P$Jgc;La-<`W7p3G5D zekYRDTfs|Eq9_GSFhkN^SwL|$V%=47YDIwsHO5OjD~>5Bve0y(i<JD*$rf@m_nL<K zlf{T>NsZg3;bfFW&XS9=akbRhq9vv*7A`@Y0tDQ4(i4FXetnhTZ8)4%VkU?bsB|^? z`n@DdP)?~v`Ch-#)Ht26MbB2*)_BkKIKQ_|_kc=Zjs<!4UFmT`cde9D@YLQ5tZwlI zcv|8A;?CDh9Thq_soQI&ZYIBk$zXiTO=HoBA|_0GA$eh}2;Gdq=hTVSJY|3-#_M8A zvaFE2h!3Q}EmpKQ<j?+XX@zHsn<G<P-<HBsy2VoWeRC6M9k|qPRc@_OhixOW0vmvI zoWy{#s8Q+zCB*2#2s&$f2+;zx7bhVrrkrd%C8BTGV?UPu0w^3~N5Duj{rQjKr>Ot= zPuFU=+-Uv68U?wYQKNR4bHS2vdM0qBD{FCvlk)45`aN_Iv>|wD)5_ha3-{FDlPCe` z-P?<AyaTwfMqimoxA*Pj>`$iFFuTENSQCoDh>q~v*jdue)Z%Cij+RSU6<U?fy24>5 zmx1F{{6XIspdZ>Br^o^DZdA2+v6@uwQmrHUfKP3oN&PK1veHYx8dd8?$-6-UT*o(3 z<Wob75or%MhiKYw+AZxcJ}8BW@o5K(xIDE&O89ea_0(Qler<D&@nv&8DHqW+))hj7 zzk{sc7^?pn_BY3F6(MJ88&3Mg-+<9{5i5zs`D-HrHr71SDtVNVy@;&v*cbuPC$hFi z)?Qb5gBl@vW{uHI{oz+M?J!od=hNs~+k+$w)CUQsVf%}a3a%`_8>>}sts0RLUqZ)v zq^w!$``#k#jr=HNUL(x>pzSLao161ohbppH)Hojrf`(t)U}xBCK~;8R=-J&$)&XH^ zy+0e}>`IESlGZHEY1vDEQnpPZBxl?R6@mN&ksWnW_g_!IyL^2F($ZJq(bG@=JE#=E zla8rq?rZNQlN(weY(TI@-WW(G|MFvDc?zApzd5G9-p3}!!DgAT`bcAlaj<QWLzCzq zxN83*YCwp>ya51$+@CMJf+AZa`Gl<woo}~d*FYSrc97V6M~#H}y!&jm^Ljd8h?R&X zv5li_$*35lm>vTFjs1;#=mh&Z)j-QT-l`~1pN6NELx$Tl$EGTlphrv*uQE(ogvK3z zhiIs}qy8<e`v47IExa8sy#{PUdB~86X*E=fNYsHtSa-WV0~@<6d6Y}o%MDdceL8}_ zY&g}ZpzjS)Im$&@vrgiQa0e1D<AdeSkY~;<dl5WK3O_)%7@ClgF@|X#V|p?u3>mNm z1rAf~0D+iPAeIyaa<VuG=#hg!BmWsK?-(!Lr4u^Cv|D~FQ)S52n66BSPw$~?_TpsU zJ#@~CrF(3f0r6$enFt^Q0FV8}#|Y_Y5@?-ZD@V18gn?_aTezxxnZ5v`jRX2}$L>+^ zU87R}>)XgTz4LqR_)kGe8j3i&_Pmqy?4VE0@pNi{V13`M%pva-bkLID00p2K?Pv<9 zMLo8I$JkQkn%-=w0~M%Egg28Xy#4AC64VqNU&aUlLm%z}XJ$$C(-?d$Um8;xymh1a z32P~Oq19Lpt(J|UEUZ9*qi+IIKt`wwBiSe`4>PeJ+i(I{tZV!+-q-(HaY%8!e(#_& zszyH$D<+@q69#JOO}YMy-{(pq=SzYS_1E#I`a09gSi*D9#z@3)#M^6qv_=b^WDB^w zn(j$QEe@zV#N>a=WX~Orw|D07mK}D$*c>nY9mu3?s(33DQR#;;;p=cr#>T`QNhhwO zVLs3?2kjWw&L)IUZEOP7w;TIlpviQ~7_>6#lrYm45dw(&$!wcva;8nSERX_dVR8ZL z1~WvcvpS~K_K$YaIXXxREYujWIuZCQp;azF;pkxOUF2IfIxhh_=rfAW#>f(=?^;L{ zwCD}(gD<j;(ZG*eD5uScmSHkoJr!ijDJ>h1Y?su8YL#^_Wva}G84ffo_qC)s7tDx4 za05A{;@>6lR100CBb^^t;eK!y^m-{}?PBH}_&T4Pf{3rzJHEcW9bZ{tc20anCS~}l z4gMF7ukiJhX>{W&Qm7q0S)$;;$s{jWl4|)aX}PWowBcri(fRQcuUm?r98VDO^Jd4- z+m?l&WHC60#`v7!C$SW~Im^ON@RoGn%QG~#eaF!FpTf|PLTQEuM4U4;Sm7FVJCr;X z5w<McP#Tby=>#LMMWaI}(7n{qfZLg&!L{4a7~zAwp<!7}s=?53X56g9K39~_Yjhy2 zqRD~Wm&pN|(-G;SGC8~-CP2})x=jwEpE5ZHF*gQLSCv1d!UC-x=7#v0nHwgA+}vO( zDxa`bwab)<-9kaLYPE+I{lorcLNS^fp`OkcVkOLn%nb&33tosqYHna2+34?~6XYUL z<t;Nhq9nG#AvH58e4F%PY)J(pG~-=jt`Yg2%&45{(cnYyV+&Rx-?y6|0J%-HcIcd> z0P8Y8q}8XAlHp;}s#9=x%nNkDip-Dfju^kp4@Qh$gaNHFP?SAi_WTwa5f8%L7n%DZ z!$Gn+7<kMAX|1vukT5{0&LBgYf!_MbcmzkKu_|N#<1QYrkbpP0^L*hJR1)_<V}_tK z>i_smMu<Pd2q}dkMu<#{i#I~XXrRu1;nKORkKt5f;RuH!ivVmh^=eyPg=b{ntyD4; ztqKE?SrvdzGul|DRe|b5C3&mD>LzZ`YvxzxW<C}6nyqso5xTHh2--hS7x9KXbK_u1 zmCJ4UUZz1HI5Q1Q-MS#t0PnD?=nN)kx^<bNN=cMiw81h^8iv)`95Y;QjL9hIpjy2b z>dlPJF|EQfZLBQoLFc`;X=Bj=)vaXpHVW{Bp35j`XGP}oh^$DSk3bLNwGeXN|Iy3% z$FUy46nKz8MD}D|HsvA3t!UEUfQ7^;1LESCzi6FHfFH|9i}~r|lI>>Jm@JKUV*tM| zNSZ_R{w5m*3JooH<ia{l83Rf^W6o8FPxg07%*^!NWnpJjbUR_bl<}IvJ)&p9IbB~K z=%k|iS78X`Q8G0I5Vt`lwiyBhp`Mu`V4)jLyDZ|=4yZa#jx5U#_*Y`5%EPieJ5^Qy zyAcTG9K5Pne~>*u^EEs22iz{!-}tf&UoX7Ws9aencogT#f|99J<k_F6VoLKBoZ&Z+ zT}5*L%0h{Ag&r>`sqR4XEv^IsdFhX96UnJLR(-!|xLMT^>1^8UQ@)jgw)zwxFT8qv z@}CtIyI3zz3X8MXm#(K8f^ga~R;>RT$7F~XK83SJADrf@_W8>Ry!Ag>!Ru5!U!f0g zP<$CatQ)M1(@r6)jN5jf<Xwl}JYPtTK18p+^gZ@Me3#n!YC)=!Sc6uD>q?05Y<r8J zwv4#*6?yvg0ddSqGBv0U9VURcMS*>_ia20VO?z{4qa_D0dRfP4ANlLv&H+7K?#R}3 zjEp7I?M<-(DnKC{*=~)9k?qozkxjL?`2IXBAL@jq5@$0p5ynZmvqku4SBo>D#l4}$ z=?iIbRY!|`oh^EjY0Y#t#<|eqqoKvw_7?xx4zmGU29rKz0Zn_H9JMI~{sik-&!TB0 zEIGiS32rDL#pxk%DfkQraSX;+9H4s?5>Y-?L3OwM=h-~Aw}{GSxG9|4%UNdjW?PFI zblM`PwR(%Z8#+ZJsA9*}BHAqq`O8Yj+FShnY#s;G`HCYY%xVp!G%?T#RpPMTN7YVA zG;uPtbV6668H-$VV|?E^TO8|XvD(=p>S<StXF`ilg%(e@xA;iD#V%a6KyWtpWU#YE zjL@zYr!1%h{p-pYC)=TVBG5gUV>AGp6IW%fA}AXbRvwo2Dapd1*+7lT_W(VjyWZIQ zcIs&u&y14OWmwW(J0YbWweLS??fYZxbM3WHuB0j$HCzikR_P;9z%_*@K*L7mC56W- zt>J5nCxn#jynyjzy>a{RhKTi5k~1V*;>0XFfe_E7csF0MEr{ier^Wpi>;>_)aa-2J zz>G|$xs$H=hCSNN*|wXiXPVP34;Tq=EzJ(IwTE&5jZ<8T`MS#wbw`vDHflhaR`X(8 z&B<Q7dAj}PF}pcwWEIDf%-T&(p3C=kzun}Z<lIg5c9Gsrh2EZ~w|hc)a)eD!p*&M# zHG3$})!4>FIoW9yPPO$%6;4sfS%Gn;q=9LOd+oegcIe7^QQvVdO3k3I;2wf8Dc#r_ z+9*#iCNhN~ODpaoj|z0Q^S4@|@Xa69;xKabcFS(;k9NTu#V!jn5xc06Ab~_LX|+uB zKBZ9@vLh79S}9k9%#$hNPVxSn%0?fge$AB^R7UI{4Odccq~93cg?dfAhwn}BhWjR} zLfM1}5|@cl1T>(^Q!EiWXsJ)~xNhL&Jyvu!YwoTR`h)NT$tYa?T#8X+U=+(JE}tD9 zQLw9$sGWr$YgKg~oDMD%Z37MK8x<x8-h_rxsvk^HFW4=d@7`zrx4?A(WKdbcXO{C4 zT|(*pNitIZ=8pk#wvp{*e5Q-&DqW<?o-uE8isZ$G<PX%^fVU>bodd?7k()dsg|}u$ zxf$iKIFxK7tdI(;6rG;x6D_45@pVnCTk*TBv8zj`PTy^4Q441!18lWm9pPPOr2gdh z5gUE-`#@JPn>VyF5)*NvQ4bA)#uJUP^aqyYXzYS%CSjaYgBF8P^>cy23bv1Fw0%BW z360!nmxiq!B@$peM;{|>4+Plm4{gp3LMlF_gDH<MB!8kdN4!mmja-|b=$=nQ-5YDL zU(*ehij7jPJ}Nk9ouDes@S)I)`Ou4lgLn}9tA$)IKBZm^doRS~m(>fHcfJ?7`lw(b z--{!m7l%VHSbMKEmiqpvD<jGA9PHVXnD4=d4AbTza55ydeZ_0&O7*|u1ad3+XMu6! zr1Y2f;?LFeE~<$kAEa?Dmye>jCvr^;wtYpFC`X}*Or>(!zzza``NU90p<hum{oah+ zRykOHql;$ZX8^`w$@?d0Z}L?>f2Uw%!rYU(LZK&yY;&C6KAmgxNwqoXZNhl-ZGLgd zHjPaPbA1fC`lvwG&sk>33j(mv=}hR3nM-u%^bp(M{PVLzQE_1_OAgZ2_U?RcNu)+b z<<TiuAH6_504AXq-6oXnm(llA?r6PF^Zk%amZ}3q+H-CqJ`?9VFi5%B5uNp?VT>w> zr;J1aE-5<C>eDGLyY<0N=bHIBHB<9u%!`+y)jxMMgL<BzwRkhGzH~P;t+jD9QwzeF zk-RI{1UYZ>Bboo9pm`CXxUz5vQM|)dE?2`$tk>>kfkSgea5V``QKH<`8aC5IT0xL3 zUwoAh(M;Ybc9?yDaEML2nc-vBxk~^EbM4cuB(8o@K+FKdJP6OSp=DMq@cjSVOb)hI zrhN-?Xc4N2vPSvcr4z#N4IX*9qWkcEzn_yrx=)0|@7p#+Nf3?A_I%9?zi8kPCdomS z!SDkXR<Ne{PHKTEp*+pWjuyFHgX1C!kuRoQjU=uJQUIdaIaI!A%OI`AW>rAspPXw- z?MS*u5~|^|=U-i6Elx&s#6$-(?IaJ}IraoCimBzKL2DrERS+}tuL%IGMq<tN%4{Kc z&FPL__3n|eHdlY?8bYUIx)0K$)83<0GPF3bBEl(%oOAZbY$f?hY!PV&r*8PT`#hSn z2%nDLEYO=t$(0~+T4cdfPgr=iyQA`Uz+31EJArp)mWM5uW;{{X-l5j2q<oX%DODY_ z-NUBW@IKNa|9&^xt2ZZxTB{vHycSVnkRT}vrRpCzA5mx@I)DVjOwDXT9c(S8WzwT# z>?bg!W+c^fGNVO)=QtBjy71_3E{7ZYLvwSa|FfFp7BS2;&gymyts^!%T0c$ebKd&d zAy!ns0iJ>vP2{Vw22qisL3qIuDw#MKQom_UJ9k6THpuy1*$lEsOjKFnM?(j94$Ht8 z$Iqs1q!e~3$1m62<nGmVYFO$$b2!{I{di^=w?Dt9huMM}%~I!QIZA_tEoqh>v5nG# zf)Q%`Dw&V>+YLjp9ZbCP5yXPZGV$ikgR@&3UFgc55&513C;ncLvD#s6y0PlBly=K4 z#&)w-{g8PXOi*SnH9_Go!IIRLDxbYYOW}{DxB{oRORUx~_GD7J(Jjca#>&9|TD6Vv zH1e1=C=lM~kZ%h38yY$S+XYQ))kgSTUt@KH!b&qhDXelshauJf<qjHF;UCdRpu8JN z@E6GEMxvWWdFW~mEiV9bbaF62vl2>-xqj;Z<dzDL+e1Wy%nOEPh2h4^8_YWa0{E*c zJpN<aE)pliO+pvH7)#FUL>CIR_GFseH{Eucx}vIK1tfB+K1mmGb;m@iOIStRK?v2J zFJ^6;9UfjV|CHf$)ah<AcXv?ca#|gt-uzBce~s@+1vOZ!0Ia2s7_Fd6$9G_FQj2+H zWFtjBJ_<@XkK8(nzOvAZU>oq*usoVC@#|o~@Yo1AT4?dHj4Ycx6_`BUGfQM@kORj< z3&`ozSme3EF6ult-fQeycCb~W0@biVQ~QBER-nXeBqOMQY?XL~`0OD_RQkX?R}rK$ zTPPth8W3wq7K{Nq7f7k>sNHlH5N|2~co51~Qa^J|k?du^eiIR#)0MO<a_Tflx-zRP z{=$>G;*C9_D=ykaT~W!8>q@%TW4c1UN7$Y`AIkGM3=daLSPi(Bc~D#*l9@3VkTQ{B z=YuNANuY4xd+i8s4X^%3+XN82z*WE3?cwQ+w3vTDv}xWU6~1Y9nF!EScOyWzDZu}; z_D}?9h^B&wI+CzTaJ*o6iTIp|MLJ%ZqGS`O!V*O6l;qP4x-K=%pD<C-HO*|Aq!;+j z++!ww&=|h9@OMBr`4ZDQ%;I6~xyt5e=$gWb6y6f(z}vNXj;!FlkqCHO<I(|VQ#E`Z z0yc(8v#s0eh`B%6YvbW#u+cUV7aP_3&i|uXY_vtb1i<;4qIZwK%%gWlJbLGP2y3EO z+qzQRaj4E<W~-{j<=Qq4&a)(Tq&ZZ!)giX9XgK*<?T1=NivENX!FD8XpJYwFR#_Es z?6Izz-mGT3%>bhoS5i1{QM7^{t~%>)zL_73f+(?k{n=Fi`mJDC+G#3KUb1dAY58}U z5d{jh+(v;yh?zD&iDtC$Rnl6WAc!)uIi+#pfrMlg4;)G3fi@Hk#5|Mo3Mwcld(*p~ z>;%`|ADj@2ok779MC(WiON|4mN=Hy|_Q^wq<nZ6q1A>BjL8Iqgp%bN(SR3*=iir2< z3Ltj3xA<;jgo`04c+!J{vldZ01uJR~3U)L{%0p-hg~Wn_e3TCg9&2ys+#_4xF*3Gj zwvTK*wRMhcANMTPwXTdzp}HI_=kl=32U-l4A;20`Mlhwb#dSSeoC_^xmg)txxYoy* zw%FI%qGGI_V>G*w*~@Ikwie%KY9`n+oCXCoI^KE8rVye)nuI6>j$}DLVF1Eol-p?2 z@NOEY5Fq!DumVongrGYIF6E%w-lD0Lv?#W9(1L=UEou_d7SF^Mc{ghjo^w_$%IuT) zIn&<a2eWw`jw(LgH%JYzi_ID^B@h0P40J-(L#^}?M2|FaB(!u`R|MYz*W4ICaLyK2 zcC=XSY!S)lz00*|Av!HYGe#dmbjGrb?teRLv6^(@syXX}S*<a0>~K4E$XjplkVZkt z=w2-$+==j-mSMr&ti?|Ry5~?M!^jvE3<jYDj0XkTB8fTH*K}i0fx(k8FnFTUs#$2z za77kl`^=?nr0(F}p}|8I8l(-&_sj^|+Za_Fhhl(m9&Ir<SD!M-U0HyGNeWi3Ec`9h za82PW28x#yzF27uU0XcKujGUW2*K5t6uvxY0hnpipmw*}RA@RdNp^$_sZUyfP&_UM z2p8=Ww1%89nw+wm2ik6`9$9ojd&1pwm1$U^^G<y!73eNMCTLSsk_HIptmcKbnv;We zv)$xN&e%;i<)Sti^u`&ZyYyzz8@mF83-s1>LVAwH=z61|f%SMAXlO(;vLr)!9t-ZU zptR4L-rLqmy}Xwp@6`+QB@IkNOap{$ptS&@*7qqu$l@vw5LSr`VxN(pn+>B{WD`hT z)wl|XUO9^TKbTy17crG5f6`r8sF90wQQGrhn@T_jP&rH`AT|^A@F1h3gqDAd%<b(` zdRj<?l-?7pNHg1v)gW!K2@HpbBhCuF!hHoKoTN~ob7ez8;)qY_9@m2qVEo3kfbhM^ zXCuiV(Zc;%@u*Nfpt9sG@j(@xtoLA<>~R$lGFY_S@+?|%xbr3lt6(Nu70r<>q6mdt zWJD1!!eFajf6Ha9f!f+ez5csp`2|PWP7Y57=77jrGjSu;(sU8Hpy?vWmfge2oH&^U z9S8i3>1-^=%%AV_jO4Ku&JhdMnUe)wMP~V4M*S&;G%#@X0b2>M8C@}e_70{&$5{m( zx!b!J|5d%PVB~-uW1WNO-*xrkhMJT(Q7OU56`TW+a|7!x!N`@|%>^S}?zL8NHy4cb z_~Drlj0_#rw9395wqPW)x3zr6f|2YIBHvgDIYKg|AxnRt2(L(kk&OS*F#g#r7<ptF zbMgCvf(0oDloBA1S4+>uDi=657e{h)aV*S*;^vx*BUzC0cq$K;o{>LPUo3bzpp@A8 zzI>`{MxqGAxhCP)3`=a<+DVRE=cr1Uaw7C@G4$?u7Q8&UjNbj3dS^k+0j23)Uhm8u zlJ%~wo#bS`cc(+|PKDl`%z~Ov#T8adVDi!297^@cVe%1!+hRW0nbszKvHnkHBxjmq zh(yL<=Rps4E=fek)U*Xb2W0){n?8|iIs`$}+N3y!rZW|?BM7=P3yLk-{NJc~3yu!B zS1;ovU+Bh|z)8%B6gY_tuulh0vP*aZC7GQD_U=>;9k|*^WI;<~?w8aL3z!bLe<SP1 z7t?+?gM_E$D>U52&L!fdphNo%N5&m;g~+)a(SGT^oX$;&Ej!5i@_5=85sh)zHvkmE zn<#O4Dr##dLC6Cn^-laYKxsx-@muA*@uAHwW5&Lz-dPlNAVi_eD<V1e*AZdDJjrv3 z&Q(AD!(I?G9E}Q%RE<TVsIyrV^}sTkf9N#LTXc0m`Hb`U`pJ&w`*@0W=gqsC*WEnv zJd3W5rP0;SIpnuXy<f^TE#)~!rC+kBE9$I8T~EZQ>lcG=Yr4{yMO|0>QoWuMtz7`$ z)Y7r03i<_c`=P|o2F0;xN*g^ujsny?NcR%hT3|ZEgbub=g-U|7R3%iZSdF4)tNF*l zlokx8K6GaON=Y%zIeJ=zTd6E+)yxoeMV7abA02%-V!<_ilrnS9IF;|k6<rGO^^T8@ z^O1$#=uI^VQZ4khy{G0EGZa&>E*)#inp>mRLD!#Y3ohN!)=Ao$39-3Q(M(p+Q|L#z zAl_Vf5#684V6^!lo(6evsI?;Z{+aMT`UCIFXzmCS?i_BdamFCKFmOPdTvPnem+3B_ z!rCabR_3R7C))mejmgckpkP|GTSSSQN!=KNnUop{!WNlK<0Yb979rR-ETzDrV4(Oo z@qMilBeor)WV1R+livqfWv}ae2&)}1muWD)QUqcYr(>|I!^n}V+=kh1=SX)l(*^2P zS*FV(WqL3oO`Z*>77Po-$D~lpvJA2mj=}Qj##;e5no{7fTS1fLA~aHW$NmPaoYe|$ z8N+DR?j_2l;Fh9OLs{U8P}UHED^9q?9^%oU3K$;*w^jvd)EZN`i^Gr_6h?WpN`;{7 zV@X9xv9Y-tk(2}pB|M=&GOB*@2See}SLzH_f?unNyK$*E0)BZ63`9g!^De;h0w6c_ z+dS&h!xO04o#!gJ^Bi8_5iq&pwa9MO4GM^g`S`0U5CJpqZYH9%Ks6XLdeSZrBQMoF z%0^Ji)mZe{mEFx1JyvUXb4B@1+H2MgW77(@b#XWDnIuicfs3WUa3iFRZ3J1_Nn#L} zg35NxA_w6mTilA3;52%P%1(?pNiVSpQh^ELJ)<vaQ1P9hL-EK0(bDVUqoCRG$d#Rr zh*?lPd2B=&*=+neXw5vfC|zXT@v$_1i-D-XWb>Yd>}GQjGe|hKXn2lJn==hPVg_sR zYE<x0N@l6Yh}r&iGIphvoq(P-MT=ZTy-xj*SBRLwRupyOud|HE_Ot|6Ul_lLH*He_ zV;2&buLh^tQT--zc0^YqVe)b)vbLZr4#O!a=0wtLl`D$SWKh)4>Nz{{&gcruIZecD zF_agHn4NO-e8gR_!zRdBHMA<mZcv+tJ!m!sAQnT=j1kt~(j;gmFKJLJqqhS)u-)5X zsIl6-9m5?FkUHQ?M6iU>SOu(fKh@|%(IeQZ>vl%NpeTJ2D;iEwl$S)RhK(wSU6?5x z6nJL~x+n7Zl=MVX+q@)tFl13-3C=(-;#(>#g$r-0_r!&hra<Ct3Sl)(%h0ujhq)$i z#v{&}^bl5ylSpR6omeE`C6j^>Z7?aW#`*F!W@j+Yjz!iwCc`ucpDabzz}hgmA+pw( z$bxHNuJ&evxE5R^JXZhawViP)f$WF{*FOGl$Z}YGfX#8ra#-0?a2?7r5#q9Wkkh5f zPZ$-erLKy%?Wy7B<@6g+-UD(;aYutK{}>L*DSVEc0add&9S4t8Rq=iI=(8D9A6jgd z=XOi!lPqy4NgB9O=ZN)k2=w8L8!t6lV=JoEND{3ZYUG4h=6K{sG2vJj6akJdP`3WE zlB;S7{z`?z_u5KC)PR~cB$uz(*LQ0TjS4$jP~vMSLx`{TDQXO=)5;*#sF9LEup%!W z-AX=VJM&lrX+KHI?TKozNlaP%`eEF3(<&Z-%y&`HH2jPjQVn*9pvq(iLle|v*o4Yc z`bL$`P=#gb;+c>}@6f+VUFqQcT&R&v$l?z>_z1t@U5!;?ugyBknXViH3wA63$1t3t zzW4uBL1W-#KF=3sUs;b&eJS=h_GBjZ<S8D7o>)S{6%q$Fk1Ok+<0ZIjvB|y}aGEly z86TV&EfsaD#p=fBD{x+|QBZZYwl(`_P&n%xc-XKR9MmEuW)VVIZE}|%GsTu>fziPY zU&Gs@+WCz#%|xh_!Gz~a!bB|dZW?7h+g%YB+RMfPK1D*q)@93>gjxJKOMQV>TY%*; z(<8~_c88T1wqebNu4I2UhWc$jRz55#l_A0v-A4Vkm=|uz0xv3uq7RuzfLZB6sG|PP zA9q+yk$5C2i3{+27xt1I31HhzHF!A7yKIdO=at{8-w8=+H6T^2WK$w*-~gEJ<PNic zhs^(#H)u({<@+y^Iig&DTc2_ldN0mRcjUQS9^I|Y=#C`vMt9Jg(H%!&<mgVRPx5rP zrk(DF=sv?Vx?>C)${j!mni~u>rxKR_veAEyR@DRBZzuY%lGe0*^k0P#aP(KOO5ATO zMSlZi4*gf<&>#LHULgF3eHa0dLQ(`!zQtlw5h{@Y_@Ij^v=IQZRJ>QYWUL>3jsE&) zp~>+Q*`IW|nSIJ=1fY-*M!_LNA+iR<7hmo#UeAjw@OXUna3L8_PI9U1yx3%qI7Q$w z&pDq=<}wavEU9M8%X%`qlS?x@9z|x?gH0aF82g^TQYAByOCHYn^)r$YuNG0X$q17R zK}L|0ua}HC_f)uyN<|hphy=@tEV0PlHn6)WNnlANh{4=po#A^EF+8;PHRjkylX0ps zl~*FbbN{cii4T@KG=m_jwA7`WJ&)$uv-zP$bL`nX;-*)?p3C*yoVniBTA9F`S)FOS zx!^M{XYOvI6gLn@Vx$a>90FBVaKfjIGm8*Nrwd=ck*J?BW5k_tb`w*`I$ISfw{oqq zQp~&7TnRb&m>UD!7}cS9C_fY)wSq^af<%LdOQNm31-Y>@NHn$wdT=kWI^LNSl=-BK zs7=z-dNG+CGA*hWpkpd_4lcHRMk7pFR{bZ#@MQV3Sgw|dEmCo62~@YxsxeF|sK1N+ z0xUH~FiT|7xlCjMhudpFM@c$ziiPmX2}XG3^de0~=#r5OeK013w1e+Z)vdLDjNU<W zW=lP*Sx_y27jb<w#05A+(Z|pF1PAwE3T^~=iclolH+j$IAVEzT5<!ieyf=henFCx7 zp-9^6vi>ed36SK5+Byw>hbBz@>w!+lFVJZeL9bULIsszIc3U!rqF|pJIvFYrf+RT{ zS{VnmG945M>oU?b!8=`4A}<3DY2}0*EaY=up0>Cg9I`d>=ffd0)frK(f#P$~I5enK zRu_#!h%D2X42K49t(ho=d`yU<IPWSlTvIMGh29J-2A5apzs=l{0bboLSFdxqdNp#@ z*MSM^Z3I!upG)<ZCqcAkYHmg84vRg6{I(lht9)s*40#oaawapG#C%3F>!R$MWbrua z!?xt?=aIOFUcQuJvJ8p)tc~N<nOvK38MhqS`|OQl*AqYl=M0ws5m#hji}l~Rb^}v9 z-i<p~IPQ!yrCQO}`Gu1B3LRt#=;<ABR!)RK-0-q6=O?%zZeHok<xX2hO)@hU;hM>T z7;AwrJ4h#AycY^5_H}1-9kj$jq*`T5N-3qmYOH$%HiStc7S02)aOGV?Sm+_i>BDo| zW$An_{>@l*A+YMaY4%KIzu9FMF8krJsUZeyJD2SDLskIEg~<N?RQC64G5~hu+t04- zPp$QK*^hhw2J{aQ!ua+%WIq)wDf_`8ll@q77c2V>DRZ)4s5clkhKLLH|4+lF&P|)_ z30s;dp-lw99r8;=PLQW-Bl|np2KS7~79wAQY!zzG|L=aj-d?_<JZ)*NJb46yJ1SY| zGp8WRXY|4l5tJTcTG?P;E3;VSU`{Kuz_qLSxB|PivOwrTD;tow&)hI14MZoCR#wZq zUrd)puL`<sAMj179;CFoaLf!SG^3*n%n^wWD7AkOjtc?s>vr?cT#WMT7DzGh=M3$$ zd6w>#K4+OmssKw@YIKW(EiMikbdFvJ6MZ%{(NmEh=hEGxQT5bRoO8PJoH^PZ<}|bE zs`Z{Ov&sbIyJS4b#Dn=5((aH%krJJoE{#~zCBp;YrqhKQolO^db4@$gY`XBQ1U|-< zCn&8o=FTRIgtE%BHo|X;w`-ZhMX@Sd=xGy?^M{ZwPfb?=wzM^~R<fxhR?_*wYX6|_ zs8e<aH*pqoQ)6qWE~=E8Z%$*V9tD;`5*D}x^_U^(f?Fsk`MfwORfQLGh9bTo3@wGO za(bb*uk_Fh*WVzRC>>>4#19Uh18V@@bE_{WojMUrQZW#XZC@DpjIKC9&1-=YJS|7P z%r3}ZL!#5Ta(XB-pvw6*8E2}!G#T>l7c5O*IB`OKfR}_!gNI*QtSHmqV&S!|atx+K zs%yVu%Ci`m!=THhA_`PlYF=rHw1h&HagnPETVX?G?N7Q{97O&-Wg9G6K*`^DajTeo zwLnT>QFih<mAJNU#IagTuGHq`k}?O{w<uqQ`rCfGQQlg<d3*T>VQSVBulM~glxb2- zo?tf;&}Mg%oB(_t5)zXBXg#+X2UVAqMyb6|#0Gb=VC6o62sKYTq}HpxzxOnV95j0) ze*L2Db`n=j?wGK3O+&ZfhAAgQ9rek65xHC;Z0N2U3*N?6O6DH=2)k|SZ)&tahoSaY znJ+t+D7^Z?{HtR<Ud1^YUj1FY+81iA^>`IWK2w9bZ85lX=yGa=DsUbOz*vJiS&qB! zt?PrUnJ`!+(>Y$czDXWfJGfE!(kR+&OYn1aFtzJ2w%e$p|C++hT;$y?C!09n<;;iK zBK8t!8A2#qEMS=*@Vb!r3N4SbZUXqFDvxvT;c`wmtbby-MLVzbI@GZ+;dIVw&F+jh z`fgy|Us-{S`X|3v%jA1uk}THH4bZDWHQ>!AJ_{?KuBI4AUH^n@5>N$4Y?XnR|1UDR zWwcx<aS9kP6okVn7MR0RZ(<s4MPN}&Aak{mC5cyWgL!bdS?B2qd8M}S`wmVh(ahC9 z@GAPmEKsjTcpVoYaCJ(5KAquHW=vCR$F5!HK_+W3_JXVh))sy}Z_6hC4*%db=^%E$ zDSM$RkZH1&VXIifk&)~BCs2=o0^ARwM3s!fuIa$(f_hJE+^(#IVer<y>pIZYS~&+d zicpT%=ZiZXc%jZ0dseyAWy|DF0)01kg8qU065L5AA&KjDa3}2`&GAU%PHeFZueNcg z4xVSPvOO}q+Qyv*d(;Z&wdwBUPH^~8#kY?;&0i>YN<RRk&YkdcSU0=5Q~GY?Cl}3~ z#G3<ms?uB!Ij6IGLO0+}qJ6ki#*!egBid+IjI<#xVa!Q4GX|x{fk_cGhmv*pSn@`( zfI#XnV><+*$nXFDW;j+wDVj{bH+12)7LJ8SEVC;*cc2Gw2RLm}nlk6FNj`A%Z7^hQ ziuSzHHL@K==3#yAWFCAQn{V`qmGswta~&DkC#jL$P{WS1-U%AY|J3_RcG8o#K(OV6 zJjQLZE1kfMAD5CMT8V%Z^b%^5hV=ij_x5p?U1go`Is3d+)u}pFyWgu{5_TOUb^{s0 zM@+|nn%$Qq#DIY@D54)f3>W9ar<y+u1}FDUBn5P^)eKW3L0ZksG#aJVMEee5=yBS) z1=G<+g0>K_kp>EBq1D!DBw_<Cx!>ROthM((r%t_erxBeiP3o+@_S$Pb>v><#dNZI? zB%cmg1B2X*3<kQDT=2mS{WeP4`-Rj!Y93P4EbLBO;N`lR{WE_3a)aiR7w&HCRC9%C z+vytrSpk@@<c{ee#d<4qDr?90k)KRkuf;)P;=YmBo>yN6LwG)z!erU^cG)GA-svRK znALQW`30nRHFj#*ime<HMqv=feq^~lu4^lP(yu+tZ<AG7$we(0KBm4=X5rmW*LInI zL}mdG^6P09Ci<zhl35t$3V$Qb!ikGD3&jVZ)Xf5Xxr|vT$}Uw17wNQWY!l1^qm<!h zfzXzZsaAJdKYj^L>%te`uMv%zfNz}B8lYI+X|?U;!IFWp<($@!ujaH$fnuL3PU}S( zmVyPeaNF%&vZ7%@cSNsvsbQ%axq=ObSs6~mxE=l^TJaKRQ^rOAsBI3;#!{P8B5%0O zDc@hZ&5`u7LUkFNgUff3Hb)M_Hzri_-lr=#@sG&r$kX~d4n~H>Kb9Gc3>&w6BdyNC zFJEM+r1$`oy46wa!qxp?sH7+x?L?^{F4F3BVE$lrH1-)f7~wA7!s<)|9Io0%KC_sC zM@>9bvT-&&G~vQQpoFnV%f})%1|j&Q(^}kb%j&G-)r_vzU0a|5H`b3khMjiAFoo(E z&EKVgiEW3qdFVKz;KPAXN^u0_sF>2i8;WCCC<SeKmE$$zhso(3zBaz4NUmCWNUcn| z?K5Li^y!PJSt2#^vla2sG-8YRSLuNk5Z}y>KD=K=jv~}ctQg@p`TH;0Z807EsOvnI zc3l`65M?ViFIveRyBpUrGGgQwK-4gdM*1z5K(=^{W_m~!(I6X&T?fR<4>2tx)Zk$3 zB8O823ziipD_T8t7xoeKEDc?<;u8`mh-UaJ@TtXZX4TC!LrQI;2m{lCSxeSu1O{Oh zB_vcP+X&H@+QydGV7%z<`2fYSqmjyL!!jCKZCJ*p6nPavverB-W9n+Di7YWa+(ee| zFWp3%>@RB~O&$iv)ANN}y+*f(IRA2P4-v>pykR(LLjd@noZDjolEI;NiM-)7E#F@{ zO^K&0@Ain%Sc1gKcb~l`DCMZomir~B_-|$>w~REW>aAp=U2CjcH`!U&9UWh{Zfso| zm#HGeOw!kSN&buM)@U_0ZrrGurzHQP4x6)BDwkO?Ide1XIw_ejKNFIT{Lf;tng2~p zwwM?S1={&%Vsa$^Y)p=ppN-{@#oSI=cD!tDBL93W(9QogCMV0XQ(gdl1n#b`rCxUd zwmxA;g24XMm~2=NEVr5edCYB<xmuSRJ{z(6tn4Tl3Aqlo<vQ4wbg(VyU|Z6`wxok? zNe6pfK3N5Ooz~m~Yu#F61CziO+AP_~AC1W-^VT7^Wj(M0?CXxXBl+*fB+<Z_9J78| z*-n`pFI$@^Tk9G@t?Z=Xz>-s*%%>yRVvAIJRe-g|9;TbSQ{DsN)sjhmIwqZ8EVr3| zB<8mAb1~V@|5r?oSih|7sKIK<F>BwF9RpD3S{vcL7gL&5Gf>1flMae_(2@!BpCRd> zSZ>qWw`9xs%90$~70Zqotd{G@wB%U%S*J{nTMw+jgaN3dj|{-BQD;(Ha11~(lMVS@ z0P6_geYRanZdOwEGx2`vqelKEJ_`7g=vlH=7HH=mh`A#sLsnqan8A``C4vL~RPT7% znlrAIbq=uPWck^Yv6JPd-bDU1@8CKx#!B+gK?mCq(TD4T7_E{RZKJi7b+9ctYLacq zv62EEgVl1!9l`3sgki>VyJdmNvcOdSQ7~f#QqN_}q|s#^+;vlTO7oml<Z6P|Cc?JF z$&#)nEa_^(lCCB!>1x7~t|lxwmOmbAaIh_R+=SPX6J-<K{C~!>j%_P2Wvp+>)M(Jn zH%74k2Cye}d<d}Cj04$HCgmaJWy!?Y*^-U?%Q3fU2(nyf9ZPZ&d@L|hmL2taIUvt) zCGq2;7J|b4Hpf7Kf&a4@IEm&XD9gHWjA^}uG6GvGzAmRarrQ4@<JDZZZe0TdZD^1N zGNqLmpIWkEJY`8ogC$$}AIGw8u`G9_RHvh*UK}$eX9YT?>UGth<}JsQr0AyZx}c04 z0VXni%CJz8%~HHtW)Q8cgJQ`(VU}jI+_6#=-3nPQhb*W-J`q6?$xJGfsuZd5AVptM zGEb}Jqd0V&>4Z@4VmDtG%W0WL<UcQGj5O~2m#>fIq!q+6s-$7EXG!n0C7H_t1WUG! zR+bzw4Q$C#gWQs?!7SM+KXc&5^DC;2(q@HEBahC*D9vPQ%DMD20LLKOh-&DlmnNW3 zg%#GIng3lxU7xv-|6?_{F0drG_QhPcT$bB0Zn9*bxhR_Gmilng@G+T>c*o>6l*&pr zL)29VghA62msx}TVXW7UoHa3SII^UB43>1LEjj6WE#DHM{xVQTURi^Jk`)UIN)AR) zQ16e)ky5X@WLkl-{4ZmHj>$k^M-j%76UNMzbf?Ucj^T;C9bv8VtBbC2n~Sa`8%7^X z_HpqETC!XhT}zIbcV$Vp43-=-1X;3Uyk|)_XqI$XE$OgYa?<)Wo{vXZ&wy8FbFsJ7 ztN4LMRizj;N-=7hjj@_s^ILK`VCBqNfwBC<G3jQ^a>vaySh5dTq1$qu3C8m*0;>Uq zfOSP6Vs(^kn&q*iJF}K-n|okM7br`*Kv~kYpC#Ruv81!6CEd7M(pl4zZd^P0)(DkW zosDb11fbN+jbJ_8)tFIfNJ~29E$Oa|C7tq?Y~>${W!;0dT-RUR<mN4D)WcO@woX_r zX^=GPEeU0obc1clhV|c)ZmBHUGE!L5$!1BnRF?Fyl_kdvDoeU~u;jRLo+Vv&E!j0D zwB)39+>%qqMV3sB^DMc}l(8k(mz8ZW&2G6HO*}2RsVuOW{)cXE@yhZs$ILYT2CEPi zmogei<VPGc`oxlnIZc*yzs!=&{A00zvySDu>uyPB9ZQay^jmT)|AY9M8!pRr%vf^5 zaA3)<5z3N|8B0!?3b$lxy|v^z>#Zf%mo;oC8{TLLwE~;WG+1)8DQ`<|F)Uhgx~z9= zS?{*8-tAs*-f=AMpzfQxql(!X7B#+Lb*4C3ShS>%CN0^puPxa$s4UqsWnoF@FH4RX zRF)hy-_Vj{`TJtMZiy{-ysW{oXt~|8wMp}EEO*MfXh|PSSaO|lhb7k=W-Pg(EW6PQ z<X!LhCKId?#j1*qx5|!N(mQTR@3<ws<CgS}ThcpjN$<ENz2lbj(TF9z<CYvZkJgf| zc`WIg$C9oOE$ME(B|Tta$#rHbEV<s0WJ&M1C7pdNxyf)~NoOBRZZRZTa@q^zQ;wvq zhNO1ba^;9JPpIB**Bo<h>+ECqAuQ?AW=S6fS<**Amh@4OC0*Jq>9)?2W4U|?OLk0{ zEID2#C(3^N;H{N!aHxec));G@jWMzYkE{&VFirlBB^&m&C0$WkvSp20(p^eRj+jcc z<fsXfCC7~aE$J@3CC5zxThbZXlHFY1ax>o^0hCg2X{k@adku$G09w+KX-P+>B^{ZT zbYxo6k!eXsrX?MjmK@9F1zFOSx+TX=9a(b1ydX<<jRh>}BVkKUnJ8K^H7r_ko#DWe z>rH|!xxpL;OKvPb+hiWT<!<)ee3PR?>Wj78TIW@uLwjXJyk6;>e7#U3J~OafEG_9; z-I5a}+%A@u>;9i5J-TJdwCwr1vghl|8eFS4^3C4!jeR}$@Qn?b8%7UHdd$m`Ewi_l zbdSN3u5K(jYAWB79!0REv!^AUJuNw53f_`kvnrOHG~!xv%JjD--C9}Ft(7I+T3OQj zmE_xEzid@Lb8k-3FM#5D$>5euOq49?3~tG$NuVWL#$1+c8(u9rV#u_l+h$9SnK;+; z9p1hiP6jxdaw|Bh=ItvwV@V&US<?M8OEygxTGB&Jmh@1QC4EqBNe?wy(v`a<-PyII zd*+t(P?IHHTUpWt%#u?UO|Yb6+mh>y29{iJ=&<AlL!BjExm(heyCpXpK`ptZEIVyT zvfQnvrYz~cfhD(>1$LClD~wTU`IU~_D-m=;{NwqI@0?)QDN6ve<oa5D{KLDG@q3y& z0c>t$Z!fuuT75$jKTY-`@Ka+}Gs#bI;@Q4akLujvKfJm>DioizsrN*p4R{GV(zW)~ zKPzVL7{BhK#O}s5yjjpL<@9&8nfNg!GbY%w=JsAQ{hHdl-!{QD)Aw$VYv9o@G;n{h zR$k4pf{`;2(qp+^?PQHUKhI+6er;Fn?Bb2P>1Pu-^4iYY6N@)qTdQd*lOiv&BbfYf z<C(Txbq%cngM;=JvwDP%vdfD3bsm_F(ad9Vz7;>vRO!9~4kop=m0p{TMo8Wl_Z=M* zw%X}$em{bw7r(FPhMp69{*azW^{lOLjr^l}?&!H`&!5)wn4Vkqd`8b!Upr#F|JO?W zwMsShRn4CNM$gu&L-DtIwpJX9C*%7YyBn(bm4;2?Qi4TWPMqYYlG#0VEg(&FBFW>z z&aqDlRVS4ED(ep(hn^(4MvS8lNs&I^BF!~{Nq!ER8cU=<^&ArOu#_>$X*<h98(e5H zW}b_gf&T0ZiQt@4wPBURnM&HA2>Ejr@SmuZxv!Fcw30qtNk3RgA0REZJq6p&lT!K& z={eQ8$Uzd;gZ&NB-+G_|a}5q<6c?X}1@7-Ja32LusK7!jaIn9?0SYXrz~NZnq5c97 zQsA%(9E=5y^cOfxfrBdWL^7Lx@)er98A`xIB>_Lc%IF~kJoL{5L?88I_ZvV!?IRl| zfd?*vfXBEcrIbK!Tue9^8HIQ}VY4j1k0qQZGfXmr5TX&I;8lgNDtJ|atP0**g)P=! z6;ugxRS1V@i2=z()wpC{h-$<OJb~z*lT`eZ5Z$AVQgi_rurZ72r@yOTQENRx#M+#> zP&^u;S1Wza_60=6JiPQ$%Fl;3(BB0_WvM|EjVUNfiH47J(Uagm(VSsCI$T8#QH!C0 ziWR6bh_rNpf=ar|fK|p^j(Mw^ziJW0yaGOoz0#LaMdMtdqUiz#))Qx9!nL=0=e(c= zLHS9;DTS*>=W$s3L^D765e)n@DFov4eUJ0-ASOONv)iVdof@1M1O;BHKd;Uo{}g4$ z(s#?CQDv_YP5ggjJ=KCFUUuEyE=F7L)pNy=yGTdd!Q9KH>mAVlk`8F4Iq%O>v(DS4 zLb{a7RjO5~xf}(ncE8FYYgIp@Y_#u6|5H*J4cU2OC<AniuG-?KBl%W$)eiR2k)sw8 zHl>1&2NR^X;E+qHnd9*)9KxCX!2}%+Cg>42K`Sz90l*R#eemnfq5wa{_55enj0Sf( zH#F!t@hB(^mW?2`DGB~wqE33SU}~@FpLG&a`j2S*VLFL8;Zr2@F^rTCGuJ?78(sdh z=_%cnA^w#6GndVWF)|Z8M6x*`e?XegGeY5}HS;hsy`@b0?_MSMBeU@a=hTqCic{xe zEN5EghV|x(VQ_KuOvlMy)O@JL`Sf-NH1{b^%MZ${t#A&HJ0ISPj`B}zJg_s_$cM3& zQ6K$G^v1IBY{V|8t_*(ASl+~PkqPPyrl9JLR6UmJz^G~>*6NMK`m3JI;9#igu?%sk z{wa=of~|;VB5ORnCwoiQd3c|O4y98mHp1g!QfBDD_*^+KUNtmzr0`0lJa#5Wg1>WA z{!WD_icr;3PqoSeRk~OC;p@c%|9=?}J7ehJJQF-(x5>CK{>tj&{T`87!kxOp!2*x` zeWW!@Y(2=fE2lCmRKxi@Gadem)iyK_;TEf&A7aS8@0;}qk2FXoHxNax=dg@7XP{_~ zqEH79Xde=f4{#k*gYkM%uYE`mrl+{NH-3|SNQ{kWxR2})wPs{6ZHO$rM*vl=Go0i9 zu`3F-n^yBKNmo_g?n)kNaTOM>z`+*xAW_!?EuG_#<i{JTj4F$o^80KwNj)J;{p*X9 zJFe}xw<O05pKNBy9%ZJxJ+Q0Rr)Tpg{zyhzcxYT-JEsw2#tl09CHrjnRa98d5)o2# zi`#aTBF+v{NDzm2m9E!}B#*s{2s&LMa=_&Sh89*CQgRow0lSk!^{kekR&<2Rxa?LA zR>}I~TzI_TkLN6QUCZ}N*mn`3^|KHT$H)p60tnQDT7K3t=jm7_^SovHShgs+&s2wx zWs6KcRF}*tE;1jm%oF{Y_d75r0x&l4+C}WwVdI!<>RIUj#D-A28izxfN30CJsDf$= zjT^~AnFT9zu)mCs-J^2QUG`B}y<vC4;q$fpF+O4&v(RyzBnQqZsTd-W0VPjS0XH<0 z)RwN3`sOH2*gX}s{0MK^9Hh4dmLJhu0LWk(Wl@OJ+qnG4t1=#hIU`%vbjisJ`9zaL zESWEvyQZjmHtDr+?A>Fk_!wDJp2eVa0e;bk=`X%q40BD72BAW)#ziGGm)yV?9Lp_c zyJj~165IGF_1qq1&b4|CUOv$hCzzD3YpA@Y!*s3+``$8}6|-|tD0!hZo4)rZ)wnac z(9(%xw3W}bjhE|r`%dtyBU8LYO$U8ZAbseYv@do)M-1{(tzWkyj1VaO>PscRb0h2x zni|jV`!GJ$ZZb@6^>C2DkA->O|E-Pjdy+TQ?`BqSv1Lcm0X1kj${hXDe`>wi17o@h zgt_ZCQ`d-3AaR^;{wI3238i|b=TGU`r=jfmw4QC6iXD{s8_^0J__o-jcg&2i(~bzx zUu?>1dzg->Y3WyjY-^$}f0m(`+b3UZKHyHrcz)L`PFa1X+2C+powqZRzh;&Kqxx(# zYif3KOh3(;4$zR<w5#k6-wPNmz=i<YLk08Y$Nmm&`71BrX%Vf*;U`C!Wt42CKYtsU zk{G56HG7EJI82-ReWZ?q_{875?>E}a7g7oiKEjqk3Bn`#<=G;Gso({$h71JVF=td$ zkD<OpI!l!L9@4y9Q$DQ9zS;3}hNe^#c(R&L=@<Dzvo`X1WFdf@9~R(-#7}+~EJS?= zoB6$}M0{jr)5V+BVaYb<goV}*awMioKUfz?J8OsU)$}I_Lyl@!*B-g|Moj|SL4wvh zV6ooOOM1s`4c;|rh*7?gFqB<8z}Z8p9Qmzu?Fj?>K+|VSRrv+Wp*y;%T2rXX+$Wou zAF?_n`YYoEMI)SOXYRaiH@kHFoI`CHR`YA*4EU)%(#0j07_xV1Vh%1j8Mx$lA6}0K zE_tlZzG?9K$UehsJ>d1oz7ntJwWAoR!{;+vV-Ss!@X8J$l;2Fh>F?2=zk(r@Di|Pr zj~x(LlAMyx%PQj?Dat#m6x~c$V;D*1;?3SLfBC$q5NnaYT>_=KZI%1kmY;!yIg0pV zC!QEupJ|32g#FzM5OK0dpHLb`65$$$2}~ak=|iL!6reX0m;+--(1ED(3JyTv=vvGx zEroJ$#3?VEA<0p})BNh$BnVR>3Cgbz5_GO96*Do@0mv?jq?3*8b?K(q2zrD(_!n-% z54vae>RK&a4aI5!`Ho1F>>am+a924uiXlhI47m3=D83!_LVm`m)QlkNv4LvkgSu+t zAaPE`#K7crb5S!)1_!$KWOMXw+fLP@JhwQ>48bR={4_MB6f&sZab+@RY3cVAD={c+ z0)4jGGZ06z`mNoXn#^@5I|+K0jqdG9VzX9e3k#@OwTe*vwb?qKth<-`IlNXn)C&^Z zHSPo6^b<ei5BY!G2PgQmYSStQZf|b(I=8Ztq2pD*nAKnm|IrosLvO+kz2o`P!d@&J z5l$WPkrb@aelbf@>|80ayP(K8>UOU;3(vXv5StgyiMUB>pkZpVqDq6rh!_8pfQ@YX zo(^~cic)|?Tk4d~Om0AclS2!yH=CUAU-(-LGJn#An`EWjJhcYR)17dSzMEfo{Y;|7 zeI(i$Y9YA+uEJ!Y6xU?3G9nzoUabU5Y)oq08k5w4A1KUlp-+33Xpmm^V(EK~LMve4 zM8v>hVL*Qj1EJ@2GstTDNbK<=m!Ze857L9dz@!geEoz}in!U+Ajelu!$VHmz*IumA z6fcm6DM!_Cm?M;iDnTh!y{Texr|f#(2F|0ikT}m&*u~)Me8ksD;Y)u?d`ZsX5F$*- z8vvky5MLqAxI+i?VS{mKkOuiKNU<Cm)P@`ywi76m6R;6sM5~WGhBq4<k}<M|0@<^X zmAC^iSLY5&X!ui_$KXWGW5;$i4kYeGF_x;h9s3hkCHEzlZXS&w>3eicvnh}PcgF!Q zOqC>|ksD~a+dheRw0&p#oF!Q@cb1B;ih5-7epR|dM-Qvu&+5Qex2f0RrGNQGvw#BW zB+k-&Ge7zjE_Z(>g`}g-=;0{e`$Q|63Kby-uTho*NH2E~(;CXzB`ix&ydUx~m<=At zT%Vsh7d()C7wxB>w~^GKpL&=3a(7Dv*5aiGk1XgKN4%p+Sc`}ss&Bwm;hs3+EBp2| zFo}KvzvdO>?~xOt)oV8L@_-4$JB!aWSX(=UJzpc#{b=y;8?#x<1p(mp+>`#z5A^et z#K4sR?+acaO@6g&YvC#47di4C9Pn34`7pgMw|Q6X_`Q|Ih|jK_xcA2A)ntko{0?!y zjRA*1D+ls&LF*(FOPV{Z5d_CfFO_!AY1!3yxua9Z=afT?7kUq0<O7W02*&|N)e(M3 zz8|u1NWVBYEVAIASV3|`%JD56yT4mX?dm;#5E2_!3f3#X7KW)i$h_hlCG<Bq^e=Ge z&-M?G&Q*p-!=P8KdrsGuu#>vAGJ)0(F6R!FBd+UQtv;Wj=@&osfnOdehNcD`I5pgY z<A7VJyDDyl`O5+<4sD0JSn^u}e2oMATmk&CUwQM209yz^mh&zQ;>Fs@{0mYMicf@r zznE!6ZpDa?Thm|On!^b4qII&;$tIWGi`y%H!JeA?1I#eEgAnlI8o)^=K3Yw=scF+2 zg(i_z`LF=ALnNspS`{C8Ap#`q+*?7otYJA)8jQ<Q?$jFVyM%Hk%u7eOg)z6|gmfiA z!{#h@6$*1MjIj14`B~ZFT{1=rBW;|`cX^DESv^?1Mjof<GqP5SpV1IqqDoN-gfbF| zwws)S8t3~A>G?XI7FfTa5J`W)=ZrKIO`X;+Ei6i~MO~fSzmj8R)DLj1#w}<1Vh_e^ zyBcTA@}CQqf3Yw2uox`=>H1T3uHK&&^yrTzIp_t#3Wg^CsXA9DL{!m5G%_)Gj1_Ia z^26jTG#DDE`(MbQ^YNFPufHOfpNejlhTVM5CV)BoUo*Thh9IlOQO7bbHdDecB~f?R zCg+AmLCyVWx`**&FhmPKy>-j>$@WOCo-`YFlop@ozyAdsy+`>YWwL;qyB)39%Ie!0 zxUwhH!>ej^A>j&waF$+-gbJ$TN%~n1>vI)@^RKcK`q<8agT<ZGyyUw#l_f0{v@tf5 zHJ(XTy);W-g)pVRv**e9zuKEEfWoln{FAkpnxqwKKBE#Nz%M6WkyoGpfqK<c7Hcx2 z=s3msiy{@2$FRm)DxALm|4`=-6C1T#E7U8kHn&l^sQdQYI0M{d@Qf`{obk)$tk3y} z)s&(Mu%I8lEwmnsxuPi`WE`Yx0m<MeD3*jz$RAW{df)enoVyy?Zgi$%ISiZlqqhIc z_c&`$b4P;F=#hqQJp=H={KrH=Y^dz1X@MQ-M|WHFp2<apE&{)+wV!^PK+=Ke$_H9M zkyZ)rQHYr(4k^VV*buv!XWGEIiVaoPF^jM^BBNG=UHLgMv2gyFO+hs@iFO{o)g;;( z{gVAe_+1RYLb=1l1e@|oPkjDW3^wzV)W$S{btj+yG7o3@QyHWjAf9tASH=tF*CxmG zi{e{QU2+aj{Fg^-3>HVy-@cNZh1ho`K7lVSl%o>;W?`rA1TsR6Qt+%BwXodWTQo0d z?4d0N_p1>r9Kv_jl*j(aKU(;OkC{CcRas0L#3Cm%{nCwMz|R<pudWdmpvD+Ccqu_C zcDMw7Ad!E~XMgF(^|i5#NYwQ;OooC00+L=jJ(aLNiRKs)QA^<_=24;N0c%Y7B_2To z8w(4BE%M1I^|xY+yc)60V$0@igyQRKA2$?Vk0X-LgO_}>_bk64;v6E!i1VR;k#z29 zXkXU3WYx=rT<OHWn#ie5j<#x3^`y~Eb#}c^@i1%av9ul&(9q!mj4xuJ*Du7MGsUP) zcieq;hbazIT$s)D#P<l}oSvwQL^O~DC3EP5t7~IDCU4VEe2ehK<}XIgToiE6Y!76p z0V`bB@ueI+X9a<0XL1)(@l0L+qk8J>Q{(q;;%LqM89Lvjp$Wa25ye#fUll4<T7Xp3 z^|LnJQ-Xv+XDsU=QLp;vW?uJ@(Pe>0zYV-2#7hN3k~IaQe`p{ckzepklUkeJlrQoO zcRIA^hg7(bXdz689OeAcvIB>SAk%NgpYMH%tE9s^w}b8x@#4ZJf}d1q98S@^`MUi1 znwNkvt!fVN)x4bV;1fM=?4}VJ<u4R{vf)=fCHd1xu!uoq=Ioo%?Tw_FBuT5Sxkt*` zMNs}aySclagMgY7x|RgvdDFIut)bL+$v30))OSN_FFl8v-<Hp*{I*c)$+{PtTVQkM zNIsX@JJmJE1Sc7Dl1V)_Z|-j8XOse4QLF^So7^hJVHwSd&EuRm)zq!D`ds%n(Fn&W z<<v^X2CbR^0uIX~q3>)9lSP9;v|)#!tN!t&O~=_WuQp4|{TSNvh=r+x(K-bt!ko)S z3($|Ik0v@iFyt$GYt`6WV|}Avdj18b2XcS<@(YYJA|X5C9M&saq{ztKOn*dqv4FgO z5qA`EKq%pF{{XfRHGcM%P<~XLVa@;*ilePX0{Lu#WDIU~ns5+SDBdLl?<Ac5onp%s zzOyfDU;?op!p9(DI4dG0H62!1L6c?|Yz`Z&io^k*@cD0!s;EIA2i?{PnAJK$f23$0 z(JzYTFdCY#tz`P8G11j&WVDTq@oPjiN~b^Fv5T~V0#n0A&|WLw@!DC1S0P`ixi~$z z#9<%`OS&MG5zHoLS#Yj-0#jx(I{9-={+dip!E5jil>{IGHpyQN5uLnit4XsV-=}lZ z*k-H#rC<0?9X@A+7i%^&Xhe}gV*VG}7~XW;n_0q{PJ^Dsf0Z7B0du|ry~{pY*a;qT zpU3+sCD&QfKdWNd9<EZ4diM-LFk0wHhrgmDVYZr%2@G8ZilWPS2<kGcMv5-mG4zq^ z+g0vusU^5~sJ665_;!S&lxuR`h8HtVURLGWTZILTJtQGg@%eQ@BlEfdQ)lk(lGJx& zza-&!J<dKgEr?NJ)8g{!t5v#iFkd=QvlV8HVVD{zszQW>B^O#rP)%NIg@Y>1Qbh%$ zR<>o@8Y|+_Q^Rfg*;^7E=2D;F0|f|i5-mb3ZI%Arzk&e?u<Grd46gQn2hVtMb1;mY zt=H^M?jnbvCz|F_o$XBKD|aK?s$N`~p7_3=?FMf?JTuuqM?a^g`{MbjX&Ofr&v9CW ze($nLP!q)@{hy{1=Wq%Pd3QsH1{X?CX$k1$zO1`v=UevKQUb5R?w}S_MVrjA@};c+ zasP$DU;iB9UAt{5NRS;Xn*J_QrW&K}j(CwbNi{-fW>gh-$PchvCDu$_jjOD1sBZ}; zKtHifK{%IrIuALT>Hl*(0uc3E9Y~ol%9NGgb1iO_J-;$OztWMx%d7A~^3yDYdW+3s z$G*w_;6kZire&~A>Yiu_XYX#vW739<W_m18_L|+v0jKN%DEkLaS%~WTQ^w8J^l#xO zu7LSQ#5~hRUNAkQscrno{fUN?wd4k?^`KczifDdmR3_Wjs{kMc+1M=YzEf3DFg^ML z65?*_mGHb%f1Z^dFr>#`t5el>%T|+>G>2qU)!`4q&Ss*I){QCiCX2Tix2ps3y%nv# z7b`}b8D~<${MSF<oYh6fR~iSu(jPK=$T+7gf8fFgYw0h4H$KySF~yflgcz4n$`Jt2 zN#ac-D#b_)RWpT7lJ(0(WRrD`pjm@IMAWBU)D?Xz_<==yl63uZpdwFXqYvAX3$cVo zzR7La2>EJQYCSX@S#uX5`Au8>-QAb99$r!Q#g$(d**8z7U-k!W#S(EwjteU=Hl82* z@&|pgP)6{a9!`m<+Lbxv-P!mKWFhnu=Kj|V*)YsLMK(<E_rXA#K}28w(zihej<v7Q z=;gZ;lM{&uxY6XZ$(Fo<rX-d>&D12;*@YSeUZ1W+QL>Up;)cQqq>dtczHTBL)qryz z#Yj{I_B=JnR^Vx+KmF|_bf2j|BDrP&%)`AsJtz^awj&W$D_S=b#0+V6dnSfwxYfAR z#86^ZcGLwre<%u$bE>deRhuS#_;`lPS5koq*AS&??z3>fR4jjS76&z^`lqiAQS|e3 zqt541_sDj5msb+|%oGAgi`0oz?z21nhI=#SFR%*!XzXDASWMB(f;hqfaxb}0xw8ne zhG!k#r!hQkUWKGqg#lKpCEb&eNh1EWoUR%KItD=<+b0WVJt;)9Vz@V&?$b3ThV1mq z=<d?!LVwd^qNcwu21qt^HfBN3X|))$krift;bk^Z@Dgnx4uyd_*k_=e%_%~`0e(Li zEhsaN6riLm)P$|!qI)ms>24Es^aiNJK$Qg}9lb`56eiIqMG5Bjudn?(dYrYcuid9# z2(e#u<pN>pZrQT%n||unUORo~x0#Bd=Ig?`GTkI>W0`<X#*-riM$|ZinCRlS;%9K{ zm`5mLc`XW9I*vq&PAkaLelf}&PGQ*x=fUnw7IpD<^G+O=tp4o!+4}S96O0jYUs*`! z3&mT2!{&zJTy4Hj>EOZuRlhn68G<v+V56oL844LabojAa`g2-wmgI!CSUF?*0u&h! zWrP8$od`h~BOPU&#?mxSVJ$9L4noPD`4sL9*chv7>~YUs?)|+{x%z&HGr-zKS?w~i zq}B7<;c}sr=r!ARMw*azZH_<?>65N)PKN7{r8`1+;v#j2ObVd)>kda4lD~|fV|%yE z;PiB~gOBM)Y)s!au4F-7jX8m4rsGu^;~^wX`4h|`+@xhxnrh^Yg&bR03D_YC%MEWU z0`3-oV615Y2&{Qu0OF5YtOd5VqJJ$_Ew1>p@Alx2(x3ZoD?{^I94+yZtrCA(*|>;} zU+Yc!-<io4ElLA03Z!(heG@k-t;}Je`O^%!qFZT^3*)5e*XHJSw#M_vzltBRGrz!3 zdiF(jxK+P>3mrl4UNxI)J+gJ{^mh#B(NJ^Xi|C1Rz3VYGV4mol;&w0@o~9UGt%*Ko z|2`COQ<}N1S^z^V`^Rw(n6mMR!?3v3%|>XYqJV;Qx*scER;X57#gD79RT&)Vwc)p< z?OdX}RDOMDvfab!3+=tV)>Sn%xR!reo%>OH*&drnBR$%iQ5uHc)ku3irIRendUt2p z?VOmEWiz)E)JFMD&(u-2*>@%rQt>&3e5U92UVHns+7!T26!NnD@5+>s^2|hcEk96C zKR^_?l|O<XRm&fUj|!XVBYsbCfZxM=u6fIzYkra%?z#K_`iVX7|AqIRX})34+&e#X z@R8(h)!J+4>79AX8c4%!-Jg1_UF8Ze>d_2(`uO-ZQL|-RA&5Nf^-{`ri5SW6QJ`1F z0e56?{^XO5JJPqd%g<2wF^`IDu62y^+WF?y9^{ZWbx7eYjtgnbbi{pmM?z}lwCn>) zDbl41j<%WI-gR47@?*Pc@XlswL#@y$`470mcmN>v&Y8OPt{v;jm^G;Hsm)~S)@c4U zz8blMP#8QNUeE~sqy!P<za<;}wxqTX`p(_|m!}$Yy_xTX)#@2!^qe>RgbLM%6si=N z$*7V}$oRcswg)gYhZ@kV;e<?mJ-?d?Zg0@)3eC~jIB~guGu!LrW31-J?63>*&iu^b zFWO$XUR(1m{WuX;Oe5OSJyqO*mf4<$3V0Kao2>otOlAnu^<7SsfQK0&Xre@rSPPoX zT0cPGOo^wN5>NDWuGe!M&1AhStKz488D7oIEQ=R<(Wzj@nlQ}JfMLZtZPTvm|3md2 z{zcZkb$f3z-+60S&h?~WVN&OePpZ=jDUrbPV=g-UH=)D6C-XPlF_S9CJ1D7ynP=K6 zpgu~6)q405{D><$)HT~%CzWG-(#bk1uwIUhynbkf(=~oewk{jJ<#l|alAUb*E#!7? zc^&Prr;GaeS{%TH`-FUw3E%=AMtkpg_ZMsVj{M+%{h}-F{FpMX$PX78Pk4!iBID$H zC~<9m_`UIyd1dU*55^1{+nFEvD_(2eef}h=e7k4JF7&?!CzZlrZAz4I?f}+1*+I~2 z8$S4PMd2N<XPwYrI9>g%tH0t|%}z0)nt#i!XhyGz`*7}LH-oSPRc2?1(6+KkQvs8# zZ{|OUX@U+33P~14G;Mtkc_uTaL)1L5L>|@C=*@V3qf~*2)R=>(*Z1U*Y&(Za(IxZ* z^28D_S{}hoB&%zT(bc}6ZbhTmzKqelftH{UcOkNw!db-i2+rzge!=w!Gaup|d*Qr; zV%XDpLzdm$L(`WW6SGmo#T&wS@Y1k16U)4jb(qP3DHS7)3L(g`uTLmwXl`#G`PF@p zvMhkq6>4s4B2?;XJj>qYTNk^cq1-9#Lsul!d<`*eA(A<XR@RmA(jJy*Ak503-I~F| zv|rfUAk=5gU`=oa;FrBw<Cg8c4z%S{ec#c_iB|qN9@J7p@q{LkdBsAJ$H!+j2E!r- zIIktWX0Hmv0)z)z{whyYep99V5JN<H43SrI_bhvgy(yCGLoFoNk>p#Dj&bs2Lv?R< zeZ+VNy~Gx5jNQ)UiN?$p{T^t|OzZb(dxk}aGux6Ipu)D9?b5-+|AAR-T`k)#1aC8x zYk!H`HTxVf)3kLEL{lv6ZUUo-0c3`ov#t6MS=gbvn%Rya;v@qYq$mp3#H{74BuM~r zh1e-4a91O-g9h_Dws(g#?iIZ5Dpzx@HGWXFS1QknxTrYlX4=k;f?(1h&+qv$X<L~q zn~M*!Gm%ZG%v992R%`-QGkFVcf2nXMvMDK`2^7%8fWo~}NSy6;W60<VV0P?@pZk;> z0a&5H8mVW9p(*o<a$}ph$KHsUwz3^!eP*t&$aY8;y4ke;1MgRwzmi>PcvnxEeME(E z71Ek;-q5U7Cu`ga?K;`^n{*Isww<_)p7zQe)LeK)y%|Z^KZRV*T!|s)`N~L{D@B>7 z1<LRs%3LYR>{v<}Wa%H0GCKw+^R(qDvuVwgVbZLXU1=Wm6)d8dxnexKGTWm6qCm8V z3Iul?u8BB<rlrLFl`}gW_x(~4aleXGpxpi;aX%;(E8u?PnsLumXpoBR3S>^W-+^uC zKX7k~ZPYbdUCPe|L$;k;wVopG5kSX%H}XA7$N7E|3h^Mm??%4I13^y|8i|eHRooND zidrCQq^ZLH3mWOlB^s%DOE%S~k*-`$BkjNgLL*H^ja1@ZPEwynGNZI+{A0I+K?eWy z=?ZCr?U}A~HVs1VHM5#GGg?%gAiS}Qae~lx7wH6nwqdRgPS7%M(7r?8EaL=qr8BjP za85q3IYHg3TZ_zBoLp(wd|oBZKRz!1cw5CkzOq_4U-G)IuBEU08eZi!1p0bAXW2H7 zf5P+Q^05l=`mv;^exHP0%ko74am;+>F-2;}R`-=9PVOwzS|6VjZ`}NgBU%IAav-|0 z2fXEF-js~e|IIRtBK=J#D$KBi1Op(g=pT>8F%Dg$+QLB|ll+-JB+Nm8ri&irKlI>| zF;2fOTxOgz%sFF_s%_=cZFMa^z^A*Bfft+5<;N3bBjAbL+YWTJA#Vz|f{^&^3@7E& zH&zCjE+$AIzf$8Ld6PC2umRrHwOan|s1RtGjp{)cd25VY-%B#<+(wIvHQ=8p{9yix z23_E_1K&J{wco@RlKeS*m0v^Mj1Q^Kl8JvOfb|`#cF15JVgrLdMf2%IenR73<5i@V z3FC}Vj{%^f9p}kFPAk<n_%TUeR1LNR-MlKGVLbA@x|YXu%4u2b!9v>?=1M)Biy!^j z&ibZ%Sa_TH$tj6ey&x3Te;za-&S&%58fg+bPKDT~{x4%AFE<Hr_Fa$Vwl$|Y=y41a z`A(G^&KqI)LC&=3PAHbxERl>6u0$ZrELPc$nI(WK877+}fvEbnZl?WFqdgX!-NI0h zA0pCJ=qECCtU|^-l-Y^V<n>;8`N<8+X*$pMCgF=-jV5Gj_?IU?KFi<69eM5MSsA;j zta}Sk@spoe{7|5$MMB8BtqZ9M(PZO{2nhvDNsiQOZu#Zmp6}i+AmNp3lW7<l{+aC| zRy$DmqMre?LgUVWYRm&jYR|smD#q9nPXCKc)v?)HvO^gH6~%k1K$nr7&wVCB-{FQb zTJ=x>JQdC#1dq7l+HXG+)+?5c+`@7Z1oB#fz)V$Z8q7K+>&%?bUIny8u!0)mP^bY> z12wu%hAAflu1!A~I;)YP$-oIR@KYfJ=++$1<ZWG>Q|}@(Oqw_a*r~w-6i|3J5$i(% zlK@~AkBJuag!xLzc%YEN1IpduY{>FT#R=9(D1qaI5=7QT4`3QgR0u`Xwl1hm7X^SL zp(ZPY>au`*Swf+d1uP0-kXkS-C#FSe(enzmaG{J^GsC42RP{;W)5IOVN&qS86TT~) z+(38>x4ZJgrL6_I2ZfK<d&9{jCVa>lldC3t-5`8jcvQmI?GrvETf#S1p?VO$vD>;V z(p^RPt|&=s!Ur<?gl~n$2Zc}V4GJHwXB0l-sYu{(;Tx;awA0;47nc#fjmrq%rjne) zh0oR8D8Xf@vB{~ixuC{a6h0$EMfjWyCVVSkLL#=3@J+)@cnOyzd{<V4&-l3%KIZ&v zC9xrW1@N3ueZn_AD0~${tyTEOx{6{gB^2@d7xPNq#4^ISy`<J~;ltr!`%ZpP_T=q~ zbJzH{P*@k)n#JNty8B%5)Q}1zu9lxT^&w4)+O`YU$IVN-f8ZtfI(2HEuaw_7%dX%= zWleoI^0S})kb%VwKc7%aJL#z539{1<-$o59!6pS<g>CX57&Z+7m&e;!A8cHBU%|uI zA8#wc_EhoKeTp<KEFesPnwAZhV**lS9oYk>l;oIIE>dD692-PHxlZ^Te}*739^&ZC z`UZB}|50!q1>>U$oZ0`$tR_E_gQ(;^r`h_fIg54Ie+(h8kQ=0pbm$#LD)n{TBa`<u zVWWdLy&>*7n9MfFxv9OFO<8;vO*|r~o7RYJG6^GB0Nux7Sy++$yYA?1B*jGQCLFn5 zn=mScYI}QAx8n2@2EH@fsA@P;G*mdFP=4qRgFGA+-TJOmrF;fc3g`|SXTX7@KkiQ$ zS)S7H)BrRh+PG0<PXD-~B!VpC9BCn#IRI?Lt=ROjOi*!5l!F@HAz24M9euRE@8}xe zO$_~xSqEIA;ooUD@~wnChPBtwcMHS6lZw2RyN-u_hr*f64;SANZ7#4uY*~bmUKFJ! zBWgv`Fe}V_S$^(Qv6GrnJ6BYtr#U@IC1S#+@_9Yk@W<X2!VK$ig<Gs85FdzzdDK%; zW9fa(EC~_7gDj$fW8i-=|3>!|(u}!?apb_g9jz{tI3#v_8*7E9#YP%!@T1X&m@14a z0weWm&gnj+sLK<_t6@Ga4k_GT(f-cDU&Lt-K4#&#YpfG|3*#Gi?CD|P{^&1O9eWOI z8}8I=H{Y`6iXB!f`-%vdEQG{1(@CPEID+|IcVrk1a@R9GfYOkHNY{;GXD9#)^*ez} z)I{L4mWd&+4U9#}!=mI6!`E->>QC8_S--N39d|HB3sMtjOk@V-s0N*<;nAwfQET*I zic&pNp=-w8W;(z5*6mEyMU^Q<Ia(^Vs)n=*Hr-_7HLy9#pm9vIA1M)v0WG=Swd8oU zB9xIuYI;)=sf`0#lDYe!B}b&SBA?V~)W*=XV;YlrWBd)JZ{CiQ<~A-<y{0}#q!vwm zZXkvF+#>b4PU;i(-rGa9Yf`U<0HQ)SsEyvljCqt6i<yXO6a5+1UlTuHgXWyn+%Uql zM1e{Rt((m@%(?=7F=LIXY*IV<WtYaZQLnE^GW%kf&x+XkHHxq+udhg>EaKKJBB5-k zSr+l*QOC6Xs}4@0>ZcLIs>LvL(NG%N3HpyI@(LA7{nx4JzfIZZiXLM$*ryFUecBMG zuF!^KnaF}wsn`$fK&N5{h81b3NU8FN6+ydqD%yQm5k<}_hDuP+6`DD45*~7k-WR%R z4B-(!qj4F~N#i0>g~lDz>9`)+k-oj9OSBdbMTj&v1?^%p4t=sKk+kq!shMe9nwcMI zW`6e0!2Glv#io1lnwcn*Yi8X3AW=&+Gi7l7iuX}7*D9mFua9PyUd{;o<(#7ob9O4G zkKxz~YL?CT1<C3N-F)%XKrde8c;SQ3Og3{$Gl9m#^}W5Oz|qR@Tpp#NpO8Yzs+SPy z>y5}zlh>SK_0y&PQw4YxvP4=Xn?L^W2c^;$Sg39%ZA0n2aT8Iwt7~{!+WQV4$RyEr zL%TJ1AinpoB*GxnOa}0oHps?V`-8=jO?*HRC;D*!+OrHx+qTi#*|?lp`Z!RAmO0`9 z@AbeZKUmAN^!H!Yos`;Wcz`Cf1rQt6oc4mxE!2o^Yxc)({$NdnRk<%TJ4ZMhIhaG_ z#?w!|DE;{J7=}}yI>M|hOJ3-QVY{7;ytuo5f_ck^>>Ilh=$`goOzSoOX%Qmv*z-*- zMges`uQ=FR*;dw0_kH_}4vW!2XIe*1wL+bmW&}F111qBXQ16fU*(g|nVHoy^WgmuH z!mwc!*T68^GK|VF4Pvn2=Nr2gc4~e7FxXbNR={BQa$#@#cz)``Fv-*M3;fuc=Or0X zUfZB1;FQLX=PAoeCRoBNe|uKHtd6VQk^WMiH96L9PyNj=5l?A@*`DUU89No4=UG)D zW}OiK+ZHRy%@nm@lzXr`h48e`egr7OB*Z?O)24omy9%>nLrZ6u^2!1D(l`chg8An3 z11N2l4%KtiH5{yCwOJvhc3C~{D`1u6Typak*;z2Lm+rOp;yq5>x?S&n6qfx_=`uK* z)z<dQdHc-m*s5XJTpB(|DiTTfo$hmtH#0EXw93p@C}rE;)obKG!6=61%KXRaM~!B! zj^hIxDq_vn3zM<!@4CMBMnKKkl!>reXVQCbV*@saI5f2(E!(c;aPYr>p`&d23)+bT zAeq6kF)u@9n+jU5M@G9iLRZ&bsyY1)Og6P&i;`g(*r*XIfly^<v_7+mAIVRR)mf4Y zEirD~uvAB)7A7i#Z(;84-WIXMlTUuv9e6)1-kj}CL-^iSk)Kmia5J3}cQIWQD9c`h z;gr?BwxA2Lt@-Gk=~s=kFA?%~Cb!Rk_Lj9JUyBuP9z=ph6Q)ktAj$uHEoIa8UT>l^ zVbrkMMh)x}q7x$-FEWi9sP;9?oCO_e6`&hoJFlyG2O&34CU=OrbUU@%Dg1;$o0A{? zAi7%Q;r&C>e)|JW^M#MW-xl0z?0F-wF_PODv|@KBcS5eD4qK>RHj_qm2xqcasZT2! zf6uTwP&SXn?HtsEv=~1JhDROmrN526eA&KrySSXbQl_0gcxxs?%?NDjHojz<a5!5s z$pWTc%MUx2gnBmJuqxw5W?Gs`-^CC5`fjj`q%;^2jPnEGrA3%qotD6xB=?!Ntva)- zlTDkd2u7$ZfU{p(w3asRw{SrBOL3XXfC4TR5&j&D<zn<ScJ`rK&~vAxVUE3^Cb>d! zAO`tI5GtTiX&(LPCFXAeH4iLCYUW2+&Sv1Sqv(*6mnxjRe1AykgPzaUOquIY>mllJ zvLi70VKG5~SdPLvY-G@^EoszN(5(3Ng=W1WXjW(wbSqmxIqgOF^)PH}8^*SdBPHn5 za^5r>n{04g24&iLn>9MV#)rw_8niHu%SJWu+ei)JV0B?7{i&PKJ$%*7wy7PaxNZ7w zC!CDZgyt}r_RUhQ%P^uyjaYa#L*y+v5INE)HsI%OImkxsibv73(+OO<$I#nbgWkR? zE;w#6K9yFzt5<4N+CZn)rBi8HtxKoUL8E6RKMbgbO7e3mPcxeiOuha2%P=*%yHD3f zd0wJx!86={x75$LV@9iAOWWm6k9kExlWY$9-)#v@i@>3BaOiE5e14xZ=0lM&^Fy-8 zSLKh1u>+^Zo&~`ydzP9jGDI_vu$B}2)$%{K0lmDmR{GZOu;s27Jd`N>r9aLeA4`&8 zf;%d25X|5SeAh)MOaZThy2fF(JuF_`Qo6F6(#c9cgT}rNh5=>IhqkCYIH+(s(N#QG z9U7^SfO`47bAgi774=_hf`uXVJamH*Ua&Xj&W~~*fea37ow0jnbXM!h()M&zgOH3< z!g&$V?p))&c&_eQjy>oyz=$21OYowl*HC@N>B%zslh0X7L@lMtLZ$TctXzshp@j+s zk}EVekqzQa4#jGClOmu;2MV1j#w|7I2(FAAdzmur2xe0=vSj1i(q0v>bz6i?5E5QG z=K2OMtqDAcB<?q!Gm8W}nFHQulaPhISYR_uBf%!6L-lngFSHePWuF&{8&K%Vtk9L5 zZ(x4t?#64-l@roosMm@!>i*}9jSb9YDD-7Z`ck)!0dw%2Tx(WGFRnc0PN`NrDp#5V zDl|G-f<nVLpeQ_GcF}Ot1JA+RjXu$UK4sUh^yzCLF+Z;zu1|HiOsP+!AN(5kxhL|d zPhYb{pAPz{gZgxd)?u|Hbkx8zsM>6K4;J^JPpdBL!4lq;PjPu&b#a_rkYZRpvq`&{ zBm}-Sb`$AM#7#TFPqy_x1WqlCi2JI=BXIHEy{(0sk+s6DosyQBa18?yO;>XA4h*`Q zTRR=;q}A|+cA3_i7e=*_^zxx)oBRA)YL7lGY&68sj6_3|$<82FHvL1IZkJB+fKRLa zDXR8z`?OVAx$Lg3dJ1KJRDT%D4RdW}Cfv0ZvDW6=!X5sNRs=H7SK9TZhPj2mRcg;t zT`v(B_7*QO^Gh7k4%2akZz%m~+GnY4ho>2^e50&8`aPP)Xx&q{iyN1-?t^UbkHNw- zV-&klvGAkblZmf~h2L~Z7Jd+Sm&M9&x)>`D+!tr%Wg8I9s&Edm@iGgn`MnB*%<X%F z!tnS1B1!M5E10`5Pc%1K`v&ttd6D%#ziqO~rp7v>1i8dVy0iSJUDU1;DRH<<iE%HH zpJb+-s7c#OSZbD0buIsb4YMX&^~qY&tdFa<{2aG@;+?D7v-a5;yQvTlD7isb$ecJD zu0uL}l*?`OC;iQvaNf{aM_<o*PE4+j5w}8jFkmE0m&qMD`ueUGlrif-j@NUPR}FOe z8fxWqXl9M=+pMXIbWn;~Jo)>t4>Pm4GU?lXB(MJ%#}336Cp6h{eeLvZ*v3bIle2_x z%a01+KmI-{<QW)vxA=z~$Me?bk<v)<$hVTPvV6`Rpa+<OvMT2Bo<rd;->N9myyic- zRa)0sbDT2+Ne#QX8j=ips!gYSaF*IVppwW7wW{{N?R}vItdx>x1f$@{=XvELYpYoy ztCrWPB#|~RC)Zf}2q)InZID3EIyYJ1g4;P4Z}W9Y?4{807gjH^&BT@~8GPxZ->WF| z$#y=bkYZw&%#09>IhLz0`*lt&zxU~Y+ZuNRzAg8=0UNV=e78S>CN6Om<aqPyfqJd} z$)#IVz6KltWpBHYUK|_Yc~@gDUO76#7*5wG%9&wMmQNNCFlZJ4cdPwfwfDX)-wj7L zabflNJN{U<&#vLV_Ayu1zMocT^!@iYs^uSL11GaGgm1&$V4~MKHZ8Za^*Zc1u^VGb zM7)NT=Ya8AN5iB2XgIza8bFJIv4|fV(BNRa(!f~g2jk#47rR9;2z=%x7%!h;rRmP( zha8NrT)3f1jlcKD5*vfmAjo52DEJt_c)+mn5(DF0KNu$fV>E)H`&?L36WHQ~zL?zZ zbJ<mUEE0v~3J~S-_=qmz@#BLuLhJU?h<QeXN&%w))d7R*27~G#ajXiB=GfFR7NO$e zlWqajb$Ghq=K0PkpNUW~d;yBj4MM@9<31=l0Sd;)0f_qyh-(ap!y{E7)ckol+B>V9 zy3^Z#mbd@cv3=*%CkERe<kZ-HR<u8F?Pu2hiGCy;1_>-ia7N`eWlk*!l$pjg1_?VH zhzk)2r_8?lO?pZONe7U?n8!$gClrwI4g(@JARgl0y;{CV+a{?TK~4s6OLQKzcW6L= zJjkQwk9qR|N!u*Tfh8p2N#)*8QiExd^CW}9oP%WwS~snOg`V?*_4MDWe~Y&fDzhsE zlKc>~LBVMyyi}~Tn*<msM+fb0971sOQw{a#3F+0x8g|GC-&x+mN652#jVQ1mwZ;&J z#N$-d@QN(gFfuooi>rmcqK2aEd4e;R`v7H8)aqiQaE<34s@9-ftM~9=uEB7mk}H*U z?t6DP_Ots!9lQT_IFOX`50XAf3OjVWopN+Mw)R*RhC`MM+W=0b=3M#dY|rpKm_MzZ zcBsN?{sFIt(^>NimHGwMF(5e}pgKYNkf)O;NFOi=7ns=)q~~szTF)2FEX;ir68I^% z+~Q5B+7Nh*+ya5PQ=&18?(-Am7wA?#z)z8Xaxfp@wF+smnt#yiSx5d8mHGwz(U<Mk zb*_NP#T%rVWl%afOZp&b7EZj(jlh|gp@mHl(w}=F38XQ-UkTVhJ)i_iDt)^W=+N}% zl|ZMb?@$68<B5fl+4S=_5g)<#(Vm)xDeL%H?3>^?G{P0A>YOZ>mq|a<OKy<Mv!eSo zL+~*=O7*TzFsb`j!yF}@(crEbMAZhW3);@$j?($jilfBDft)os+FgqUf5^`Su}hAd z8+D!=sLhM2Kz(Y)#a8<!I1%nPFlb#)-}xMQ>_zvRh4^y5Eb@05daud(HT53RQ12H- z4e$La4sa~o#5MLFRkM8WO*!}V-jBK0vF150>KEEt&XD9s<R3|E<qz;*R8MCt7rj;F z973_9EEF(wW1tLl%6MM}^3*9Z4p4#&rbwc4@{Gx%#7VDXsxO09(wJea$;pL>AfnO- zNFNAkZklhL6mgGxwd-O#D##V{jpMc^1-@s^h;*a4<yT+gOt5cE-Nx9eC23BDeb0xQ z5r)J#^FAx($nk-Uu}`S$$(NA`p0u5#B`4FY+93`qi6z|?oJnpFJDwb2oy!}E64_1J zs1hp(4N5#)4*BUH?P6r5kM^^+u=>${%owV2$w%b-M|{@w54__+I@EuInXwxc7+_D{ z;P}vR&h3#IrigzV=9%S?!Q#T~NPU$z<*9sI#Nb?U+NyTjRHes$uHrc&p~s+~)GstT zpX^RfF@T7eD&VU~^ZlEX8|Y4}+MP26_>ML20lD4-8N2BcQsr9@+z1vuP`>p*`IR2r zKPlw6Wvlk!B&>HvkmEt@*PbkTaGW08CsQ$pqnrNBD*{&ed7Pu-($Cze&K<A{i_XC? z$5FJ#FbnWrRquFF^mF<%7EWjRfia7d(ccO=95X6*^p1yY>`k<6r>sS{Z$%eyhfV~r zPr#>-3v8?Fx_-#70q{>6;J`td0`Lk|{vMh@m39@nMQhY*^t;SW*^=v2as5$XU-?EA zS0jD-Miu2(sB)jda=<c+E<u4qqq`f6>J~2E9B4HqF}ge1CtJ3JD%14s(`)P7Xti(i z*7{)I$PF9^SQU;_zH=P;6`4`Kb6kJlj#}-m#j1TfN#EwxC!E^Dp>N0O+ap8!wu8R? zS%2TS7$|t4^YiBapqC0oQ<4)*h4-!)T)qNZ8C8Ki{T#TJ>%d<_#K8r>!3Y<Y%7NQF z!hIoK7b!SPe;&1JqaS{y8Z*sAPP`W9{j5EO=tO8=6{mlfg(iyj^cH=W9=nn(doVN_ z7#?JZZa86x1_jjgx!Y#y@`5xfQf$dIyn$d*CPTDEMwnm}gsu-C_@0aQd6KnSeUyQ$ zzBM`|I0S~G&!aw|8G_SufbL5`g41J2!s`h(K{pebk%$aC!95-M;@>aS@^8xTd;9ys zinNfius>v^KmD(Xy+!xKV3GqOD&_b8?E7jt=lwXLFZ>Kohsg2^x`qU}j;Oqr02@V4 zsr+NHe1znnf=qVq8;d#3{a|Xq@X_xD6?Mt#T2=SmUp7rgPv6D`UXA<#a`W}HsdA60 z$-|X$OI*vMTGW|Wd!kZ2RErC`sA}2tC$;C*UZ|8?LcOBevgZqBd9%@3P_NkQ^i4l3 zlO8+(Q|fXFoN!vHVeVKSzrZcf7qFL(7-ia1KYVXY&0LJ;$s;c_NWDt48THg6s&mQn z>gQM|(BMqL28%`$`K3r6*RwDgmVW6utY6DAZXIQP8{?#=wmK6;zMdGaG&^PSnpC!y ze)8r1%mZiLatoWZPZp#ZP_{*lK(;K``)(0C)@-E`3EebjkTrpfddXr)UCC3<!j$Kr z98zBiKG>2JCt<|ljWOfkHBVG4Uac{LdkzvqoO9c%UxJgiVwF$y<z}_4&E<Dm<wrbS zL3iPZxch~<_t)}G>3{uKwZ8OQpOtL5r)_JgC-(N*lyB>Hh<f_wYaPdH`<u0|uI;q7 zMkIDYg|=p~59#E=c7BL);Jr8cDs^5zqc@U&g1t--D*vkOX;PuzLhC>F8>s8IjL(c} zH6$ksJ<BMb+o~-(qD}v-eynHpt83F*T*fKiY`mo!mO_co>gj*_L8@}OqHS}Qt$lLk zB0Rc|;#7R74Ge|TLdHXF8l4j9M~FP*`NH>kEq~}gpr9Uq6HtBr+pK^-R@uysc|43g zzmM&9vVHsY3+L_QS3O=+i<1K_)(2bE{QF>wXEdu#i>LKVi;MiOxkcM*R_S9h*dng( zk`~X07M}<$p6hS%|K-p*!|9k}P)yH8i1P(56ExV643^5v&Libo8a~Eid1I6LG4nUt zDjSM;_wFCd#<U*X`Z(W@)yLQvFP1yhRvlN@eyvRewu*$`<J3`q?FE0W&FCZ%QCou@ zW;MbpU!v9YWqXw`PqRAD(7^hC>zkpWo3(c(hdI@-ua)<*6i{VdWK^)HQ&~rsYeHTo z&davGO1>5<=}q~S%w?lMlFyA-aKC7{2NzQX+vj6L8#@{4!S}g;1__9ao)Uv|y4T5m zOg{*w)f3ho^ZR(amquXNOb?M+p4`q4Al$^ObQJ6(an_95z|2E!#>!fm+um9G4B~Xw zL@Pf{saoyY+W+ElSMpeUW;?%)lkJ%ursvb57t{!A?fcI#*RQ+)BeX$1x7IZ1g*ljF zYRpaK3-4aw?j)COmP1on%4vlBjB@azN&HNzkqS9S+B2M4wyUwwRtc_cZR>-pYm4nl z?b-U^1gjVHK#f>0=mDbX3Ig!2t$ltJ{?VSY?Vy72d^WLtMkg<Fyf&bdV3bcHR+pcM z`I>(y^Jxa%vb%APQH0Xx#);2qVV~<77o$Rel*@yv7eUXs7i?JmJTSc(AywB-1M8gD zmK-4X>w<d751npXnAhNQbQbU}M)(#7;R6L0k~R1ifp3xPc|obG16z%gvo>?kDzFl` zU!_Ndjs{1eW9KBHDD^YKDoS10b(%T9#59qSBHz?7hQk!c8>P_$=Z5sz4rLE;w39@| zQFs~y@vu&MVw%>D+723o0xlFrHX)YdiQx#-Sl4J1p(i;)5n(sXldFR`RhC>Pie@(B z;jo2qh8>JE>s5c_hNYHOT!yCN7$QV@>Fb!2jZBW~g3?xdWVAER+ESVl@W+2Z=N@hJ z3n{_+*-^&~m07PIdo$Loksi%4Wh{ZM_WL6*i)7NTnMV_fo4V7=K!0ta{8<|L$`3$< zE!?LoV!%G<^otcbJBn?VvSp9XK)dgI3+*<&T~^ettzFtH+Lh^!?aoOJ(JrAcYxlga zPV{#7aqNjG9sB#h{<7WawYIyt(k_x&w7b;KvpdV%op)nqI6gH`n{Dswmi{*X@OD*w z2w#`mTl>BQCCG33@$c6Mq#Q*texjAXtcb_QF`H@4{HdB5_hvTtH}ff)G1G@!n`K<* zj?D(EL6*sC_$$>g;x%mQui>*WgVlg~u^KjT`yw!`@2}wr)ey)kf2|@$MGbg%R>OLR zd(^NQFU?v%UqKTtUG>|K2Q;yzn-@WM7!Gvqxqbb$%GZR7t6%@QeeEuqF)|;4h;M_1 z?J)L-wN*(A<W%*^GR$f9?vuOMa-2wUReJP0|1!ejM2!C9O+@hB)@}^ea!J)$YD^?0 zlK%GXR4ev1Yl_%lO=S#9W6O$Xui<PNPBq}(@sj}8b>Ik!SAqL-K$-kfv%$q^O$tel zz@~hs1z8GHyai97h+JXUEw&{?EUlLQ`|ooo7dmV+b?E$iI_uU>yXvtHTS83CRY1pX zbPM1IC2(_Z%=|p*!k~aY^9nCgRWn#>SvA~&ieIaRB7p;B1vD4X&fV;gKpPF%$FqvF zjf21bf2yO<Nj+VQ!q<W)D5lT6BG9zZTfxQ(8uNLj=f=%F$lWSafyUnb=J`C$pL3=y zR8fy3;=>py5Bg|nb7qab^ZVpQ(A=D@9<FpA1WdUJb$bj1{f<L)5a#62GWjW`)EoEK znX8$z6D=zhYE`;3hv}T4ZNz**Q{0TS1ugO4WinV}Q)qyMVmh)gNMd|X^(V);Xuymt z3uy8nQTCpTd9Zux2mi5#gN^bGHlku<E|ITKjhSVII4qcrPHSMO4jTilVpJHAyH80% z1BVJL%X90LPUV-Gk)Ib*+xdl#JC$$ak)>iC*>mQRJLX&_r#mxj(PiM@kr~I??6`w? zqGKmT^F1pIN=K7#^Mg2=wOx%9@4i9v3QQ{!Y*+fggc~BSDD!%z3rCYf+}VScjmRO~ zppANI#;)0H^LG5p^?H`?u*miB=6?0NS@}ZD?{~`tvAJCA8&X=X*aB&yo8yk!eT=KA z_YBvIxI`C2GM@Kau4E#*{Q3FVkRv(@dVV72FY!;!4L)xGz<=x+IOplw+a|89eK7!L zerr?FzhFPa8-WwCfP#%_rL+G!BtG#2dPh^9rG#gJ7SB@R6F;E+WatkcXqnNNhRX&_ z<HJVyL)w{8u`O)=H&?K#rL!p*UW3nIe@4W+Tt*m}S6{fEbl$8Ok^ybcd#gp_c(Vm5 z3R}-B8#6^+5ns#eu>LDSXDMg05mi_$C$GrLDdFYtjVf;6>r77Mv{^AFD25|S$AZVL z14^fHvp={&186CphhQK1b9m{lB#jB-8XsG*@}-?^#Qjq-7VVr<F|G779xAzKk-1r3 z7_StpbHD1^2`gM%leipo{<bo4c#%z9Uz?X}x1FJcezosFzdM-i1PwYJ@w|SoK-cQ` zN+!JY3(uc#GS_NpVr8`PAM~B%f_&y<8NXYD&cLxj_WB7@7ps`5WjsgqHJjoV^t*xi zF#T@bojj&r7V|Kx+s@WqU;CJTr>?JkRKMx<wa4{Kt0$VflLte30SFHJMDK_>ahww@ ztFV*PY*=w((`0ZY=Tc~JeG)<)`F3r6G76*%dqgv$A)}tRbPT2G@@kaKJ}q6!)x}3m z4f5SkM)`yBl^KPBWNt%98w;H_F7Vmch}%4H!J8XZF7VNCEMsv7QF24zh8=+$h(j1R zY!BQ3CoabgOy(x10yoUjR^*0rK06<|!H2W4;lK?(29KF``HCnRxdGL-A~%c&Zs?TU zu*f8A<c1SKP;vuiR@{KEgP^;w1Y2|?TbOo2F;}@jZc*TpAkKlS?CLMERroq%pS<>L z)g;jtv#w{{A^9US^?rs?eJtC#sy2S;Tk4y2gzpK?-f3J_>vyCEpDc#1rL>BmbH;+a zb4KXktw)G<F=4UX)wOk;9P>Jh`SFm_S>8Wi16Af#^5<hfvr$e3%0_V0d2=!$P{*;K zBp>IT4OY40_i4*%{KrS9?D&UJE*y~1)An?IHOeB*4m+(>Ue8<%k#Br0;T2xU^Q-62 zQmlpZg+_Jdj*i(s_^07yuY6Id-}+%j)OD_k^kN*6tQ2z*+@-CoNo|VNPOj%#zFpU& z{8610z*QT2&A~y5a^?guu#xK)+HLyLL3R8r1s&pv0xZ4KwtLR3!}wFC8W!LXy7I(3 z@7qT8t;R0v4cd-06V{Fh{cPh`KYJZL*yZ7LKBJq74tw&=OMGic-a%QmE^#Duo#UR^ z|Ihv=#z{NW#>O58+SpDt4pE`p7<DFjOBZeGicR5-?&!F*(VM%PgW{a6u;GZWPbARO z>*L!x=b=DE=44bk7kl8<*?}T>Jsis?o6Uq=B-SQM1WHBtp9L`!k%{T$;bh{%PRh{o zPQDHVqQ;gStJ&TLy?HKg!bUAXN2fp{zTuoO%`3Gb(Fh=p;&sUgCNq<Q3z)StvL?+x z%8!eY7OK}K*ks({D5S%YZFuVD3zaA4e~Tw*m_Na>m%a}?;k(5{<<n?>qA1zOkJV-g zSHf!zHS~Ob{OHW<Ncqv39C!j_R*ufxpwkoA+x}vp#2^c1mahnAg0+ag!^|-GlIowN zYbA(W;8g)1aThwm$-^MAl+h)EEY%RUoU){sql3~%Ut%K4*(z7LWRikkgLpzD7tamD z=^n&$1K<sa=X%|&T8iiT3hkM>lX#|(-Hs<IM02wSH!hmuLfbINK*U6oJxnv3t72L7 zvYBnPGcjB=Iek!~xrtD(ZN%;oC7jZ$9k}`YWSDS%*vTI&!=kv%ZYX4y#krYwup!4f z8GBttP&xU}@;2CYe^F*pqJ_-b{>4>g7GZLk4RWfB-{?I@Uh4e34q6;fgtNsf{7pwI zJWPWGp1FmPJ##vDuhiF^77mxOLaU#?J6s<@-)U|jjOsVY^)l*La*c`!#4SV{;-Y&c z+E7@cU65DC0`ew-yds)LxSedIPc%7#vJgKsT18OT_i_3q35x*JRuuRuZu-A8sYAb) zQs?}p?)DkSo|up7abNq<4H0GNK=&w`+tH0plsHL#SF(0msOaL<iOLk7tBR8u4q3Z8 ziX0t-qg-knQ#H~*TzH_#T8r8lGGupU_`;^!i6~?&Np51Fns%OHvwGZXl(K}lV-`*@ z1O=lkdNw&z+-$wf+W$s!wkb=8$r)-wK}?e~h|Z}lTDjFv^o<44(=`*_ZRaqGv)4c} zX3FKcu7d*2TP4jgkXV^WbIKac3AC?W=Ax-`LqZT)3|g9-OA<nZoa^ZDt5IbAEf7Gw zq&oY-!vAuv-|TjlL5W;!Mg=v_1}+&F)*Teu!bvqJiv=NGrsAZU>_#V*QZBa1ief8I z`Z9{G`3l#~;v3gBhbYRkJUSewgudx%-JnFVu$4WXBhTR;I(Kg~rz_Db)X#OjWU|p} z)>_fFa?*s321#T9vxMnj^NjmRq{*DYe`tUqmUaSL`@fq8prgxc0FYL-wNn0!6#MnS zvkE=1^D^jx*0Oq_ofW!&xE^4lPp)b<2K!_%%qCoY2%c5g10xk&NEOzoFv-^Am0z6Q z?q{FNr$c5E_o^>ZVX!l&@a*MilwLn{+m$?jxB2F*qc?}%JWljS7<kllH?LVcj=_C# zw?0Hq==wI~)6F|>u=GS1w_zpo&TuH`3GTe`!R(fP^S&i|%UtQ9L2h^NjN+(3W5irm zBWORsvKm3BG)Ivx^g>dv5yo(@U~|w5n(tW?b~NB*;A$#_tD6ixLv_UF%cmnIhIr!> z3>lfpFGkQ+Z=5S})-Zyu!x}b%Ub{Emrz6k_G~@m_5=m5roIx#d&7hWeZsCz%^He=@ z7>KQx6_31NAv|)q!g%DyLU`ny)>qXEFiq47&LYMfrB>kcQY)}FN3BGutZ5BG>3QnR zFWF$C#We*<H6kx1ZcEjjhLbO0oV|9RX3J9_M-&5j!p!AB-ZqE|e{AC*Qumk7NLu0G zg!UR@bx{D<@{3rq+F){9Z9_d-zs?t$jBTAxr?yOXC&oLQH*G{wHS&WEq&__d$H8-r zt7``ve)N#e)b`i;b8X3A1FG5DUC8+$aq4D%#f*tMrlU6TO=Vpld$rfKGdbA6e8trq z5EhmBAiHyf4L;(Gq!p{|sY=@^bo8Apd+p?l`e~&12Ur=2=Dx~Uop5lO-8*lQc#Kj3 z{{_p*+m+ThjJ6+smM2}-#>Q4^jI)V4L~k!=g9T|q&x}$Q=;AV_K;`_xpS@4Z6Oa4_ zKQk%&4@7d2$?;f0*?C()mXB9@v6SZA!V~%D(LF^~wj>l<8&US#wvY)*k`wp_(p({y zv15mw{i-Z8z%U1y0Z;(Uj4ay(@kIDI@2&`$oyU8rRZp&1HE~0y+cJx*B}3D;B9z2d z4dJzj`k?kW8%nf@S}HWk+cwtI|5c3>`aobk{}ZM7?b$(A`PDZwZcnrzI+C!K{_Lxe zqsGC;p2kbLUd>?fiXVRZ#5c<re~#tY1n^m&ZKq!-;%f`7S$xMVp_Bp>RD8Dtsz4Y> zCFz`ax+?o?U)!BO!LQ<RTI;QIn(~*-+Cm~CNZh!Z6G7<jV%;=?;%3qjM(|iKa&28= z>)OwoK))r^<?CC@V(@KK2c3pue_Sng#XzyFDE22R)=a&&?E}S-0^`6#(p=%4*fKN$ zPYIWYnFCeiknCUQf+MY6gFGl1h{s;(HXD!leWdM2&}DTaFHC7CqGWdT*MmBjo9zvt z!)ex_zWn6<@2{n&pUv`l1hZk=^zFQXwS2+{S}?gor%VT4U`}e8`e8Gpx6cW~b?G0B z>u3XJf~^(<5AoCIRx8l(IGr_b<g8pEW0LCkzFjK|Lq)n;vtXPXyPPoW>`12084{=P znJIbM^4RC*Z2BIK^>vHFoDy3~8mJr3d1nKxN>3<*tomePXM#4+*;)VzH#B?!B-jqi zFnq~dEC1EMLU|=xK~)!&mG)TvNbv_7(yV5C{FF3S5>6}Q5Ia;T&box3dj){AOj+lh zgIEZyot9dw11wEr>#)MEmH)<DVXBTdXQLr$6@!!Iab_-YvH5*xBkY+8T`B>;xz{o_ zk&Oz#vv|lMtVd-Be+BCZcR5&xb^I$$!IKIP8XJuU_2;Eo9dg)CrPQjzL@RXyw5-OE zb>T}b8t??GD|~<^1Wgd&A<lUR(QIro{0u2=p=LdwVh;}!fGSbJ?R%iCd;`WS8b&yp zwU5Ju>JgAx2$d1#Av$YkWi;~7|K$6Tu0s+Ba*Y3ek8LbsLC_tw;$MgPu6|WPUA26x zjD_J|wXWldsy_A<YNf84)L+dzsalBzsn%mpp;i!9%kgJx6D%2R<P})o{S<1Yu3Aor zsy4wg7_ZeX=WgT=K80GTi+x0@l~to&D@!tjf&EXRR_bCipK4_Q@3jWJe(5cj&I8oN z_B+)IyLqh|AdozM@1@r&*3Fp@tm!HkuQhPid!ItB)Wv#S)oS54@c^PBSPwjfTB!@e zrdnCg>Oz^M@A6F)rbm{zZ@y_e$M_b0;Zpa_;;8N<t);T<D^|uHrwG}_J9FDstXd;T z8wV`oak<8gf2F6sG5*&hPZuv;KK~1sWljE<oVg+Xmw08U|Ahw|yq-S)YXl~fUye#Q z|4S}_Ons8~`CpxZVkpy4tk3__q(ZeeX-C1+=YOHx!ndpWU-%eL$^Sa?_KWtvici3! z`(OCI1}^9x^uLP2(QUdE{|jRr{V&_Gywq{m3{n6A|4WVw{+FDtH{yWZ#om2+IPRg~ z=X|6aoe`PtZp|Gq<+;Z)*{CPP@7xCwg5~YPb5_|++vP*JbC7QgPJ!+@_kzVD-hBVt z@Q`f1z1`GSY5%LYt8B#~3rB@$Bw?%|H+rBt;FsI-bFUEA@yd<_Z^*nNbYS#~=$;%! zUHVjM@gv<KZpu=a%SMP{v~t#uK-odR`GXq@znLZB@?XRS@?Qj(IWKJ+wKdJXBT!+0 zu;t2D0<!!hc-Dkqb=`u!P2aUyD^iO$^6TY#i*CX71{Uv8lGhpR2}5zXSL01=Cq>;* zl&k@vGAqfZ+Jo}AA}{0xgX;1V`>4-pGjp}-h|tVW?RoX(s%EIiP=F2L%N4M-Q~*4k zU!fIqq;}wpTC74ni?~DM6NJ?gx1>}fHYT-81>I&{yqQ_IqM5OI#w6XZqnGK%5)76@ zI3ukAu`-1ikVEUG6k;zS=U$2}ZDdd#;?S@!oVH&r^j#B!0_<Ti=A|$y{7|rCKclh; zqIeS-RZJBa)kJSqp0P@n@Jxx!Wq776utuJNiH7rxI<e4Ju=R7#sMobDa)C|qEQ<tR z9LRz8lw8{)yy!#p|1veefbZJmm<;WSbMM1eEhvd+cT~R*eoa|NlssaCLmRCfVcqv< zrlgLJG^FpYuKhPfLmBnfA$;O4TQbQGK*J-eh0$kPG6%;*%NbbST3|mK!@5CvusNM$ zY!2NP+|2!Qi48mkTLzvFwuXWCleYtj0Z6kF#-qe|2U=GH0$ry%=-*{P2D<K&k>ShK z`suUs6TyXTai8UwHd@xYlT)>H-TDn1H*Ma+ISQg^-W-P9Z(8XkQLNyUa|iJ9br9-Z z{-uIaK3q_M)Q2Nitn|T-m0of?*z!$nTj`|@u3^~tz4msAHE_Ag-Iy6HvWtvLICf!d zSUC15oYx;*w^+hcs=peOU0S~lxSvw}RnxGvej6^^5VUWI8-~y}l(Zqb4gV|zU_&+w zF<>)82*bu(PYKHEIB6-AHUz8G|Jf=PZK4E*m6xJ2VT4#6)Ge*iMqU?LV|C2Aw8n|? zsLTl94bwFO4iL2-E`784k4MH(n^)*a3Tdb@d8N{`9upIAY=N5d)2B?6AC)0Qa~^59 zVz>y6#T2VGZ72%b`<gDMK^p5huDxqKEw8=nY_f&m0mR@6vQ0`h!gmyFL>}c#I1qb; zfs)j{e<?T7ypV{E^iM6gX}Ea1e0}qw<ryw;oB;7nM~=rdsVBYYzAtCGFl(i@_L;Xz z_v`(}tIpD?zTWv<aTchR>Njj80%DGD*xktJ@tO@7cDzcVpM*iKt}U<?%;J~FnBiN3 zO^!G^`K^K~kU&OsDb7<X#Q<-(6_m#})I7?UH?ACLSgtuQo{PsR2WV)K@B*6)ORQ|f zR(~r*ysyn{Z`Iae>7t>V-fFYGAkYQJNKz$5#wIC^LY(6$m%cl5#>WQOWi&2!&DVLM z%B-+v+q{ps9C(a$$Y#k_Z%l;m3y>}6xj5m0E&X(pQQ!7l>kw=L(KP@t4eOD4J;k^A zJHE(Jbu|5eb&Rv1*rw>RB!N9<zMI4BlZ@)sE=uiIuQXS!(6%~yOs=1Iv@o6K^sNDg z{<-W2zg0LkP)tJ`{#{E8k}#J&fceUNwwfP+$c(LbV;QU%orU_oi02wnKb?;lCh}2) z%{=Q>7)lNG1#H*Y&=!x*UkrUOA8s{$uYmgiZY^5A3Peop2gHCLmA!0GS+ITpB8#-I zPHo@_#OhxIa3Js>G9LL4(^|-QWf_1PQroiWf%h%aa1m{%$M&cO+F}$$@G1<Kgri_7 zEex>=e!U-#+w}aEh5W2tl(lw1QU3u{{=+mbPgX4rG;X1l)qCz%nsVv88n_ych2;gX zGV0Sek6x$E`p%VW)K`~=VY$<SZlIIa_$myOuQ&0L*65o&TAS9mk-M|k(h5jW3w@Jb zYipr9k#7jSGwEI#k0rexYG_H@S`}vB9N!uN>*SjN%pzo~;5hU?sDGcHTw^0+`DPli zu*2FK2}C?*^NMS1WHjGGBjy0Ft&zS-;Waigl26mfMbHGrCqKdGv)9;2JKstp7BF00 zxalkPOHeOKt!Z?qVBUbxSpaTzG}5edXZqLNhOIi5u?dxtqpDWPicPTbz~ygEqe@jh z(3*mWWft%=k~*StK#yOo5UY(Hp&L+Y;e)?avN8xD{@27$=ezux;2--4vu|MeT-su2 zbxrAvU&PRIx#5-0kg5!@RvTTm!{`z)gURGji;EdtUW4VZjgpR#AwwZAG314hk*av> z8?Xv{3%33I7uX4TPom>U53bwWYp%8dy~O8WN=Iz7HEhpqclXBLmDjVeJ&oJ9PbRgx z<|egLy_LUOd(T_>|A~)z%l7>Lo}Fyhw{9KVnrs#ANB6wJzT{AbJ<q;<JH_vqolH7h z1;)!({=Ga*DB#-4zv-rKSN^6JfAu(iqn5uxw>NPMRo>*z;wCd?ZCHmp=rmy9pis6R z>pnDQ%NCK^X1<>Q?yso;;a9E&X%?sS&-<8}O*nRDA|D*%HcFt^O3YgNR_5i%JIZ+L zy)Pt!-OT6hXudE4VYBP5WS(OOj_Qu)1#a-#|AU$@@do$*pc=fscE6zEr5pi!Ln7Qc z!FI}BK+E7x$6-@9%?yI6v*8OcAB$j~h+xu0`pzi>^Ei2p^l#b9oWAYl2JHdc#xKoS zfO=e@o>&P~Uakb{i3lnUIm~Z+`HC=~j4+>C0&_$M7fueK)-VHVbwWu!f1EE{>RHQs zhIl|p?-eCD#a_MQZkOc=z{{0-wYW^LSdeJkbk4ZxycQE0H~kI(?%}SKNEt+7&&W$5 zgS`&DIq!k5dionThyeO94|(t^)Lxcdc)1d^bAc79Sf~$dA7Nn#JW`IGy;-iNi8!8) z%hdc0m)UUevoSVj)awS6&<OzGZn8+1_$IKt(}hdbdP#a*_g`q{Gf*Yb-bvlQZWn5( zADq?V4}5L(vL=wKWf8F7Lm>|0QhC`Q0HbXoAX4c7(q7jL7<rQUV;uOP1b?LtTt@GG zCJAJ%cqM7DOfTuL#7s*{ie^hn!Wv6U0>3iVPp=Qq$YAvu%8l(L=NlSk!NDc5xRghI z5!|Q_zBJVUmq#svP6|Mi5ItCPwD~gEw`rh02cLV(xnt%-zI8z4WmB;6I#PJJVJa`< zy4}MZs=$KO{GP17T`z$ALB9L-XM}z^{NN)$?ArjEdx$Zbe4XbQ8}IvX-{gHi&*dwj z@0>>y`cAR3?~L~^7F~>!`+HP8>V8075Oubu&ZR%caUmwJhVsh>vd-@m1IWxEEj=yS z)YHi9j24B1Wi9&5=bNvcAzU7;lI|ze44+nrh+%5jKJHSMW&H`+LALqp(&0J_p|vP! zzDa2+Irndo`L3>l#E3TYGm;HDn5yCQO*e^PXF`mP)u|VcO9Bi{$(mD@>PZ9*VA}f( z=MJ;5+3`IB_k^Uf_zX}s8mj+X_7SeX%-o^XUM#+_vp_B2uE)i`pyGT33<0t$%S%E6 zt(aF~OnhWH_0vc{qTUxw4wdAXh#2Xw_q_Z5K7Gf{sxWvB;=2Kvmv)X`!#r_qO1pxg zaVZ$07vXe`eB$QrRH)lp`U@7bNHtsIYy@@TF~3L$hRDsqYiOkB1rf6?+VhNG)N6qv zlJbn?e5Jo8d!dt$*;;6ySOI(W1z^+WDPCc-t+tO`N!FsWcq~d%pz6zb3nwd{f^t}x z$w`?%Ez^0<>O?-cr?Og2BR|84?6*XPIWy6c<Fb{J^k+EwAfM+Ia+Q9NmGt>RD`y-? z)?3+E9ZZBu2|-J>IbQb?wa?VW68ivBmKLPFr6qMw(2^>_($bRjT$v@I=_eUlZHiSh za*A+~sDXS7_QJ_CoQh5=E7ngcW%c3sVo7Cnu1u<R0(dy7?9~wJsH?EuF!G#;nSBO4 zX1aLzt8+24T5@h(f#HyC89ECU)+u@;agfvwMJK#kFycY`q`!BG7}02G-JpnQNEEJ5 zDNRuMg(w7bBT}bG^N#SFndbh@@4vA-K`!2z=`L>34c;J`)3fR0ug)0>Gg88gA>>-r z!aQ<bpJ`}#-PfF~#nR?%qcq>Sp-^*DDIB#!wH$;KJxk6*n`!alS>BM`8SLj|gT0Kj zV;^V%p{~FZ+_;ilbLPpBeE!~JTGsKK-;WjJ7_a<(J-2yQW1Mrqr4O<SETfcSRl9S9 z0XVg=X&2SGc5(gn<P~HdN9yZU`nW=ID@*=G=o%4;8&|wi5s8@H$`DD)Tzfi1M4y^= z?{$>PXvit$5Sa?Sx^~*;MuTatC``q@Tq!lUe39gU9iVfJe%Q4m4@)kQIkWGuBgn3= z(SeGAApPvx+ee>Q=McZ<)eJ^8!P>MF0-Jd`K5XW{Xolu1BO+(4gy9Vrn~4I=XH&uR zYCmt(xW2|&k4%Q!*hr>9;_7`rwgKR^fDX3<o@;47Jz+VWcLII;_^XT7y;nBc)?f~D z`(R7=&sYNt79s%oNm013A#c&D)NPXQ{Jqz2Ly<Fs_#b~rdz8cuPuIq=`krsqm<B82 z4z+}AV}LhGk+rXtW*mUY?KpPip;N#RT(!zr$m&=~qxU{L44~o~>oV#@(}gCNMo4Nl zPeJ!8F6j-0!-dDVW}3j`X99P+wyX9F_r5^4P}g%VtK;!q@sUq>{3U;MKGF1$W0~Fq z8QdIw*z~P0b3`BDJ7h~ZXP?O-5tF`icp{?4>REoZ-01=RUhQHh92(?>HcfHV%~N?m zZHNnFGbE}Q(kLG0Q)86kuWmpBL)?}=3c=F<@v7*bra$$AVwCeHPr-I+_ElQzSUWX~ zwO^RSJdqV&fR>ApZ@Au&F9U`C>Z_=t#1B~^De-DcE%ztfOyI5nEpXBs5(Q?w3!W(s zFua^G|G0`5`NxJ*$4c>e@uBLWefZE2HqZpUP)VWHKLuhk`r=Q#T*DwzI6t^fYcLOf zbA3u{Fy|Ays0cZhIG}7enlrcQb3LH4^B9Q@=dg*F+8nIc$WZ4E4m-S-gTrvcMs<{F zejl-y@ZCN+Us*EiwQx2i2L*`tRHyte4j8^h<35fH=IQ@q?)~HJzN&if^K;HQ^YhG1 zeoQiH^F5~lQ=n2Gp)I{t^Ub9#P`H3r1;pp!`tthlO!>o<lw0rZW2X>cgo-0KO4N!$ zBMp+upt%w-;80Q-pl}B*FpmwFL4pJb5+#%oD}COdwf6VNIddkN@JrfP=DW`R?(be} zuf6u#Ywx}G+I1^8zNa`v*_L`pMS1EBbIpD-Mxn4{yy{oRqSI1*kK(`n4dwU6dWTdN z{Urx^lf>rKlZ*Jj@&%}i$BI`MpGEdZ3n{_68$KXBm!)EqC8<mplggdWQcq>6SanHW zFuj=Kc|1c81t8>cZQ-yeot{2H%G2qCeFW`n{+ZH9ILg!3E42`Kgoz#cxkZyH&K){U zJk}S*|4=+hPP<n#eEE>Ryo<%5<tj0C!^?&6@<jMOuO|&~T<Jf|0==Fr<`~bKZyqk~ zQo!R0X;c~Hr763jgN6fA;Q9|UHzj1fe8ok^w_r4H6o0&g_|$FAiuJL_obe?Q81S;s z<zZfpYRv=Bayh|QhvZ6x9{FLlZ`G1nPeAx=(p=gFDHRrcIj_3!A5TdcR+=CF1sM=p z`Qz^q{*tI3bH`NkFDp*^vQcibr~pcqx%md-<cM=kLn=OUc*8I#QW|CQU_NLu3yC%O zq(UM7t2>{i1)8E>5kzbT5}L1nF)pe^TBlUhX@r5LU*N4<jmcbTzMad}^cmwN*`lfD zsX@rln^*t59Iz;kfO?i=iu+4Cz8@vjwSV7tMWGe(C%RRC+xGV|`@6&bKF<C=-v0iO z{oQGQFSox>u)j}Kv}%f+YO%K6l1Vrgjq2oYG}ao|@<PPLDPltJ|EWQpRR`lz1&(N; z=h>9#A^G4u2VMQV0Cq+({)s(|V8wX*p4J8!QjGsEv2{b-w>K)?Duzo;bdepSBWZk6 z;*(ojEXb4jmlefJkvs?YdS(_zIx?4)nfGIR={IK!dv1jqbs!wLB_xUws5(;AG-33H zDAWS$N5$rQcjGDuscixs5@u}3t|Y@k`xP!vimmO(bX=GF+zQSO%D68|LI8YXB7r_R zo<LvgOQ3h9&_Dgk)Npyz_$G$7V*Goo)@<}UREqKYcvIOpHn!1T9plvoP1=j`-B7S0 z9w)M@-zHLw-@7R(_|G-~k>^w6Was&r@f(Lm?WVT)qqk7rShG1M;f(M9e^khpn}&ws zVzgne4gyW=A$qCZ4N{CxUz(J7e+qqatC#)B2`~HpE&hDp)|9lr_(hevF)j5i)6?|m zac$;9<$n$+>GXzj=KdyO*hjoppL>bkZX*IMTgKM54}T&JsIc%82|4c(L}9-XEBhdk zIW0a@{J<`1H##yh8k%V(<hyT|@=e?{)Cfplxvvh=h9iBgy{$ZFsE;!qhV;E}tt6=K zd8C|xXJ3B@%{0~=vppxw_3Ssaocsh@O4YCu-u;%egwOq2`We~Y_Xzi?huXg9EnLq= zEYkSiKNP?O&%S-f+tP2}e{TvdEd6&XH{NWHn<%{Rt$Z@Zx1TaV(@zSwJfp+IqoJrj zeS7--Uw=~HkBy8#K3V797El7e<L$srCH|QJZ>ayhfvZ$3e4ax0qLJ-_5+5)}{GrQ7 zir-=s4403%LQhA|VJ#ndS~_s{`_SCa_!@>eMe^OJVTFzVX$>cgVt43qZQ*wRwby_B zvj2LS|9Ywa`bGcs5<S)!F88a@WVjq9h@K6YUmnB1L{XCmpIj*XheClMLClM|DK44O z7zIBDT?7xmPKwaJ<But2_?^gaWRiq8w8`^ZW?qT3Ur)EhPt{UB@dSRBk!Sz8k&qo~ zfKR>qP6oec;_h0E-+Di?(<k48V*D;-xLm8&m=YA@KaFl6>TEIopI7l@d@=cWlXW4a zxsZ_X%KDxmyi|+v|JcsHfMyevPlwdJ3h;fKJ>bWu^pp~1{y8QuY+j)vOchMe?wyL? z%y_Ap&;uuL$C=aNKm0Us&EfYT%5lTt_X>u7<^R@Wj}`XN!{#4hUay1&y(E~R;7<xB ze3{@`x=j3~LU^GcC&G`1^&=GbWx+%v(HGNi0DgnL*bx88{id>6RhSRJKmLRxeEok8 zUvG#{Zt|piZ<&hAUdW2*i<hV~EfSxk&MNwM{`kMyN7DO$|6X8XVGDjYy+~gQ{=%ER zl>{%ncq*Rs<Uja%W?v4z{g={0?t6Loj#$)aYJKy!zmmTFG$1@x>Q}PVY4E}*rGArC z80}&16agM9;c<FeH^L~zz_MWq`)LFAQ;kp$fK8le70DqnT4d^JErrVqZ1@GNL=BCn zJY=RI6V<4ZnkmQwOSF-eA<lgzm?`>wiz4TmsYvgVrD(?JRizi??8N8!n`e`cZi|_! zd{5^WwjtK4;kgO|bSWTzFjNy8kx;m@5utyuRW-ZM?g6R>qN7sIX2AGhh=xP58R}*Q z1e-yL*bH*(4>m*H?1NijO)0e*DrQF{HiIm^U^8H&n9ZQfiOrB?cAKG|vl(<7k=qO< zw;8ZGh{Ikq8>ik}`Y&cEs0Qq>jQW;~7;X)~eoH~s)DKmy+F=e=t!i5TkZoh;P@O`k znl9F?x;ZqaYSeFK9W675yt+x%#D}VzLv>6TnM2B)R4vKuRU6AyP2p8kHBHXV9AfW0 zsZTt7(@+^rQ{5Y{JRsG^I#NW8YGe*{n03T{zQSrWu{WN$jreugz9xCR#Py=%<ygGy z8O9%~rs^6)irSg#$X3RHmbF-oM?4=z-QjuS+8*)2>Y$|}cDMFYS6PF}ueyH0VXspe zBv`9Sh2kNagc{%@D@mw`elAB)i>#u*BKkXC=INIz^#&FF9ofoBH6h<Lt|l3lrGtDr zn2DQ{pZqfNRhc3}@3ny2XnzLov=$9DR{D$Jx_)7WYGjRrqS(Mc^%gz!^P<F$DUZaD zX%2u{<7H!Xr}&vj(sFK%yR4cuK1Ks|i(iu2#jkum@iVq2wWDPeJUA}4HmHNpw^D)p z*Y`I}Ahn;VuE7X;UfCQwpKPX$c7EAxUQjlh9n#oCQd8NK0QHtl&1_c7W{&>VvYDs< zJhIumkZd~ni8MO-$*;7db;@QbFPrU(T1du8WpDgP)3UU=uOZs72Q!kD)-bZQH4d?k z;)8+)0){O;*oUz3jKSgZa-@Y!+s>Ea#VEpiuBm}J<UCSrGZVK#WKI*g@?IwSU;TL@ zV3CUzs^5J=v8)xUIZg?e&hNXX`K(R`A0;BXo$10QK_JINj_BzpgAWT-kg%ej>?MBb zQpFlLTqe*y&$pG^=BXi-&+3PUfbwvuQiglQ=BIbt2L3>HtV!|9Ft!t?KMVDgo*-kD zrJ~&g78DD%y>Dm5wDwhw4W!G*r+@nch4@MFxi@{F&^+;U^g}5=iZ8UCATGrR>;$n@ z1BX|uhMyo_RgI574T`NI;wKv@N6M{YMySz(iD6Z2p*HpZcgiugc-G>W9i%=F$DDxm z|BWi^J~-T6>yCrN-7ni}OoXODguCP*V2@VpI5^y0#sv=!cYn}vaJc(r$HC$5mmLR( zyI(5!i$pr9M>sf)EFA7QI9$4%g!JHWDW1z691igxBtPNcFulECE4J>D`5l!%?CV7? zpR3AO0GjWN{?YT6|6Myc{2fxc^}JLvrR^v`931vmG=*dbhdoc~{(Zi7v;Ev$yRE0h zG!jTpN$5B@+%1OEGHS*Mh2Fe(w{+3r23pll4O?*-Mda{P!(I>85~kgG68jZJ$JVp9 z8xPwW?L{f7s9Uo~c4Qbu)pE^V=+NvPdMY_D?8NmtFDy1E-Ah3ab3=hNtXC_X7q%K8 z>QRv^(G_PGh#`_}-yQ8sftmJozvgVjD(ft8qJN95WOR_Nfm<8?n$v0LUhbM~nc_WQ zknYl2_aH=oAX?g*vH9_*iKaQWx$)Yu(41YuVOUok0q$m_0<}m`R*zs<hrM5fFLWTi zbNppdg)esC4Z#rZ-^zh;{UcBBoT}$LFLc5e)oQzdR_iV{;|NK7C}SIc6=lgz_);v& z+D`bo6tcZ*nbH%!Ws5v&Rgp=cgRf<s@LdlwH7e#1EgeGOtz}uLQN2ky;ajm2zGa>8 zby7@fOnUNyLygQTNx$tl;S1~Ma?W@N7&cf!vrIx!h5V6=Z7-ehEr+<LlB2Yu=@_?O z8hV`fbW%)}dVOrmUQHEF_>$`9F8y_S!dGEXMPvs>c1}SbuSt=$vsiBjqe`*IG+Za^ zb;4Jii0kslS%*Lgk)7}@g^-NvL}Vv?FRp#Rd%SH>M~3Ha-s16lL5kx3gfSuSca18Y z@a?7uhvM}#f`&iO*W-jQ@<Sg_<S#F2=?UMmf_55inPH)m<A8fnxOKwUaj~W=ovvw* z^D{f)dqMs>PXEr2!g>F(LkOB5U9c+;(YW}{cC*qvS7ny0*>O76$+w4m805m#)oa;+ zT~EzZj)fDx7x#^y@LkV0sm}cNDmh9eWjA(J(hR=~s3uPMO0P(3*x}Gp?BQY8r!~R} z-}Q*4FxUy-QV46iJ`8rk*K22UgYyeZ)?R+XcfEw!315~7UVA?S(K-p!3E#5j_v=Lx z)W4tbT_+Nq@GWa=biGJIBc8aJn&^bDwzt-eB-F&iKCiPTI^k=luGd==6rYrfpYUBL z5}oiZYZvbO(CM~<i6!3dPA4;S9m8}wLih>awa0{Xisu%rx_E9(z{>w#VB1FBRCE_M zO&hW#FmuB9u<|jYm0Mb-XK9Oh9_?o4d<IFgI1w90=BlbXyVRDTAwP61W3g%mJg! z0RK+ctF&8?n==*8Hxu-;y+&XdED02uo$bBwM37Bp&h|<`tp0E*otS9V(CV%n-7ok+ z6Qul{DCCDnd?2p*#nP;emb5k+U2thMW8t?4MFlK$?WC0BOKIUJaR~QGg*9UvZJpe9 z$)($)R{OFYk9+(N?Y#U6Pn5rcO8D&O3A|NoKKx?pz}6@i7;9x|f?tFieVao6RpaA4 znh#vfmgtjsU65a(ZUqon2O9Lu9$OEX0G)S*%vTh)T|e|h@q0qZmJ?)yPwb6eg@Rrs zaw$YWe=0>!Ndcz_Bu9!9ulql{3IfS-MWK29&=Z7nuoEX|;MQH`nSV;EOiAGU9aWjT za@SS+H>>u1XSKh)N9`}a2ucp8lu**eQu1E$gzt=!ojoYo*_)D{?XZwiLP=}4!-s^E z9M%p$)T14K=pt~QPH|Gw+BiQfoa8W^kMDu=@fU$}|34>fPf6gc(DXgz?MuQ*4#WAl z9ylL&5janzI4Nmuoc}1C<S?9Q<5e=g<05dLO>s)EuUXG|;UtIQysQV#%Ps=v!LKE} zrKGiSzD+pEVL018aI#6zt1tJI+r<<oC9RF~xNwrgaJG8jY+VG-edm&TQqtNu=cFmf zVK}26IHQZec_hV2No(VLt8kLTaBlB`Q*rfs3=O?`o8qLTwQ+txILTo++1*<ux5Rf{ zH_nw5Cnc?o^B>fnwv)(sa7hoGES{|!=fSTh?MX>%<9v<kNe-(gW9h1T5(=;v&Yr{W zVv19*y??3^3LHo4IqEK}#^g0^KPl{8qb_Tby|DLe*+*0Cl(cq@&j=?utj1e=)R<5t z>&AKHk%Y^Xv^LJ)6qm_iIJfk`$(rE0aXysdq@=ZR9u-b<7*0lmRV~Y+<GOLKq&O*Q zZJfu%TXGoA%{_3kJ-2S02fvZ<mXg-S`KQ834#UZ1R;%iXwYzSdCsLf0v^LID!buLp z$#u)CaI)&RZk%UQoRqXS&OcCllEZLf*sa3JYTvqX&aNc9brW$7i{YKZNe;s~-UBDg ziR;FBEX7GlYuEEr;w?E0=U5M%en@}SM4+cmIGN(4q_uJWzUoO1!#Uamr=0D3j4(a5 z;Pk&Fyrm>?K3G8cxf&FkdrUt5Sm?=YYLJ|()S!-ftQY;E6uslTF#2OcPi8|u(gVG` z%GZm2Aw^F~>#F^Ggr3ZXez*sEKk>Z220xRcr=*C5xE^-!yM>U~*4jfoT3bgHdem3^ zTs7C5{bthIl(e>l{Vz#1ISeNvu&Vb4AD`~&ZBLxXQk;~uHqJw;Cpio!Q~p&rSv^^I zJ(p9Ql(aU^-xW@B7|#A4I9VZFH_rY4n(&sA*2ejE@s=Eh6W6R&^^~W5kM``@drzb| zDG8j-3w7Q<QH{xK;>&*es?N(wVlV7HTlRE{os!nB@d4GC99Co7ChuA~(CM)rHSURX z|Dy?)DQRt-_o|-cFr4f<ui~<f9;_GV(G({ot&Q``swX)NC%$#7aLPS)y*QUroRqXS z&N<;Ehv8(2Z52+r@vRr<qbW{GS{vtEgp(YGldY6hI9cFZH_o|#OWKo?*2ej2wI?|Y zCo80@aI#RlZk(r6oRqXS&M&B*<S?AY9ynRC?1i&uPu)iZeqZFHByjFbd+Hi%e2)k_ zd99}wguQdNAs1-~(0c6-+|>r&*eZ?R*-+HOrUgAzu(G;e6kFQW`M;>H5Uzp;hgF+L zf2Li(Z+G9Xwm0vNX6|Jvd-J{R2B!o#d(62Rd^e;1xX^sn&sd494A>bNO0RHG7GIjZ z@uu72JNCq9zPMn)FIxSb*jRI};X&SR4ENazYO$)V{RZACyNj*OQH|q0_>=aNQW}T{ zc;Ij}*g^|}=@w4la+s6@xYTweE)e6UaSOyXqS{T9?PeT37l+b9YgGO-in4)UyoUv8 z#6NZeI)@tQY!oLIZXBvBQ!{?aRBKG1@NZCrvcx_Zzl3u~Jff-g2qn{rN8_zi(a=pp zwcQ11?5A)7GY-h*zA^P9{GHhSSn>IG<gg!4$)b>iH(Pk~lW=WN2S5h>Fq-n%A+3;S zYnq26qPaZfTsf0z9*#of^7wglr(#>0hXW9~Jk?w|m!x@MV=hl$F3+WDp1zJe7Ahmq zygkiBC@+<R*ZP*-PkBu=vHRNB>}zj{w(kC6o?D~I-8)~iFWR=d&9BMmlHJ>QZi_D6 zy@}NAyPN!)*ggHN@~g<kx6{*))?T%H!olg4kyq`mzh<94ug~yK2^2UXn0)&{vJ;rE z!F|olzJ2@TW;Ps+PPNBl3+lk8N_-MYZ2tMr&}>LruA1Ix@>16ulZ;i3*63hBf9~t7 z(fT{`4CL};jW*DcCkUm9PS$9H9eIXw<z$UE)RAX6mnUnq;f_2bxjb2;jd-3PoJJdu z<w1l8yy8bBO%|HQ!taHq@kT3zH>0`AWj$?Fl}mf$ST0Z2Xk#6D#&dbHMjP+QW5L@3 z6<MQg=*Y7%S5DSw8$0rB%H_!#ZBs{{&AB{Tqiyy)KS+(nu26TQS#O%iRiLw<ZOOgK znrur)^|$8oWKFiUBhO?mPu66U9eK9p@?=f6ts~DRxjb2uUDA=~(p;Xb$u8~4vptt5 zYqIU0r?bf>f^yu_p&Yjc<v7`)95<)R5hziP0yE_}nNyBibINf`svIXW<v1RX^=Ps> zXS+CWILbC;Ycv{RBp->!IBU+}JHXII1cgDlM-1xyprSPm(occd5`OgbLLvU)_=uG3 z37y}lqD+tL*Kb`{7>HjI6J6yC{5rrdN+lGQe!WS*d{m7OCJ7pU8ItR=GDZMypK3RW zi;&n449z2kmIpTu6)^=EoJ$n*UpY<11J@YF=!(W@(+_>o$f{9VV=?vfv-xWc)*S4= zHJ_)~U_BBO)*)9;ufcjGE_dYVHCT^uzeT>BUW4^WT<yryYp@=P`#SP;57ri|H$O!G zdrF~(=+%mYW0x+4m>r|hU~7aHMgVFig(GoI^+V!rNBZVckwOUkmy48%K|G(ncB$|L z%R%E`r1LW;Y)cByG1?lCSAtR5#Pl4zr8OdRF_A*3mQ4SOgpp(UNFpJV&99uivM7Vy zSkJ7(%~(;-X8{;tdM0LOzv8Im^oVQDalIx$guTv-qSWW}F>4XC=P--c*Lf+F=6pVD z3rN^=Sk}<%yZ}mRKA$BPgzGu1?&x)1_M|VL&q@<=^&D2X^g1tgQkBnV;f-c_4$FUf zotHRi$>+2BTEV8nDBLWg5aGill+DK9Ng0ILb(n+bJ&Zx78`qE#<=0^o?pxa^+?>;U zn{#?^bE@|!GBFA<EV_&fvlC;Ed&hn8gTX{Zu@K8AXt!tpDQs#I(F`Yrt*K>u0O&Yp zq1BMG;i-eFOpBO$uwu{DgIR@55?Ui6!$w}}2y2sn%53pxc#a}L<Mak%>NNG}qx2CO zu$xRuG;c8l$bmpb5rNV98AlP}XI?QLO%N1-@K77#YhM=s_@4V<<US@Ujn>AfkC;E3 z^bU=FBa<t3i0aH<=t@vJ7>!Q}>!6Zraf!o?C0-NXXOiInI`km{D*009^EWabV|PFq zL~LAm)}$B360`c@qPm^bzWqAM$l$+584}Lumkk2+4gaP7$na2zPkx?vzpY<I1nNxs zs}z^wN0VQ)icOD(2Vzbr#&`ci_=fZ_C5k!u9p95nw`mYjD>!`{AIYWL)CWz{$N$H3 z={DWz8;F^p#t$ax)_^}o%~>M~vp7~X1`&7I#vGM~k2bVMlTj*pMjM73^#VRZg-W%r zFwp$Ov#DMk0b#z|<Uzci2_8gHig-}YP9Ds4uWXINhL&Q-APS{;x}?A*o1@YDUbDOK zlbk)Z^nM+3RO}Ban#tCnsEDs=HB283=wS75G%&?yjrf{9_sv{aC;%bbjY!i|^i)5i zB{TX_##$Oy3adKR{2xEZQbd_(RC3!Iq?wl0plTR?ZJ3gJ9^74OZH8QN#q=@--$!TH zL@gS;Z+Aq0-n@_4Wh{m?zwt}_`OFLHVojZ8edo^dz@3A?TDpT(iTR2}Ttln}IX=^T z6(JTb?tg`a;<^NQ1TX|Q`eLGJ9%hvr=&<6JU(Yc!)`56E+^)qBTWo+@{I5I-8$zbP zs!YZA{P}#L`I>=N&H62oDC|hnZX);<B0Ke0m%taJ;uVDnX#%b`o&aS{!4A{}Mcqkn zVJ=P)?Mf@`%Zhphe*P}wul4|fp@Y7MOVDr^X4~y_C35QQFQEq)iym$##ILt^bclrm z^M&}KS3=tto*FXw7xYT|c1|H1g^|!R=k%;yRXTgIn49uf?7&RelWxpx-x#fV%ritj zv!FM6f_a+fMb+7Y8+BkVt;WpG%___X0_Obz^K2*PuZ-#w<Mk`WYY&i+XFQr?RTbHz z>3eEvu7tYJ5K^s!LNba-NA>#<=|i2kzOV{cnQ#ptwOAejr(8j4FqN)ytaz1m)MB52 zS8SZ?EclHK9haA>#OUtw^M|xPF}k~i-HH;+la9=?>OxKk=ZhTwKd2}Mi2Y$sq3ij! zk{U0UVIjdVzPt2%#es{)pNBM~^|}yXHbC;xk|MrweyN21SWh|iHOs*SvT`VQ9rQHT zEN3v3qlkQ2XZz3^_3H0c&J)GBOV;)Mz?$D*+VTBbd>!oZy&~p$AVJtW5~`yJP4gDI z5#X%31hZN%Kkz<<@zxB7zyRp2H1a%0%98ZC&h)t?eYztZi9u7?4J-&I*SS=#E+0f4 z3Z4U=7Cd%!nQKohZJIPf6IirL$A55Dc?ZceThtjB6L2JxF@>m#tM##VvpSS%qDl!7 zg(_v>lceGrdrV3Vb$V1v&AOE?`pe*j9Q=@A)2%`M1~{h>Ic(Sb6I<Z*j)Al@dNGKN zF`kVQv3Ce~1OGPiZxjDE^KYWO%LZHPLa6WIV2iCaP(`(2Lgf$-y02E(<=zaf5GK@I zrcP|2VGcE^XX^4NuM-6_au3EQe;a*YYjUEtrtv0`X?^;)Kb<gDPqadMlzm(Y$S{2> zK2FYWz7Ur6b2B{bkXD}8lS2f@%f1*!?u9PApA+7O<HZGIeR%0)Dc*$~-o=3T!GL!` zheN!+4|U-^BfLY77dMRc;Wd35>ibX*@5z97Dd2rb=S3Xva@pk~;q$);?||c#v<BTF zK7amZ=Wp@>!lHy+31ruZ{>>NaLm=-BXrEkfR4+P=^{}ktBwoVVE*kc|2^yMC19o$s zhR<}-u(|}YqZR@Ut{}XG9yFZQX%lE*^kDLDa<*T%Lwjpr&(;5dn?-IIcl3dN!0jzs z?(qh%d3e7e89%X(?^&6@uQJEIJ{q!fWquCXwPA>1!-k<D4^KGuyzuQ@ju#q*bKl+{ zc)|SE3E9g2&=^KIWNt{lpV#+ej$30@ukRVUtRj<qzX8LR?>8pj|4k0R2Gd^OOACq- z+xUJXW;@?+O1}SleLvy&P38GmBzam&=qDnK4K<hYy-qvu{pRHRZ|1&deJzha{T}1M zhbq38<<0jK$@g!RwHA1<X6i*hy~5}p=lcnio~yJ>2i@34QTeBd9#Y^8?+s`@Q@%7d z$^_v)LV)yrvWv{@Gy7VWY>Rm)k(!JKA8#lTrPL*s#~FC0#lqG93ty_9+5<AKtvYeg zQJ;NLH$|n4qRbqmf_&#gBmnxUi-ZM8m}MIrbg5QqGo8{9r@kCi(`t0mE`b5E1jT@Z zl`aOr1mbhH`ZZT%#I}JF0BzMp#Y0eW(5Xl@Oq+0bMX@msYKk~4wH^p8DfZEx!d(+3 zW`Y`fnZoBR$bxE_>YsK!<*C^bo%V%3lwELG_kUAt7;_Ix;E;wfGY~_6HNqrG5ksad z)6fsIbcRu-hyInNGqfr_^qVZ5;a2IPKV<0>o*v{pr0*_7TTH99Ym*G%it!6D%6t`* zO0kIv^AEpOi4IdGUP(-%P7@|xO42)(c|4Pp(`9m<PV%qjz04(U+%u&ivuMT5DA;;+ zc`3j$xn@Ehwbkh&12oiv-3D>BZBX$L+C1}1yc6)SjXcoeNdi2HYI>4@hhM1ke|c5# zCs@l;!}KXBDetd3cLj)It66?ex5=hH@AxS_uSE%yZJsu~)~$=?<jbThj82FKIzJme zZ?xHRI)L)pW&%kMOkQhPx9SR@Zsap66UC6^li6YU1b9B15u|q2twxNjBFiQ~tg7AT z248B07N?ldV|spM+zijNHg9+FNqSWLs3p2Aq=_?S$(IXMk{FFM@T*-fd0Kf%&r6?H zUet5j)#U{}Co#MA+<JBSn4WaG1IWec0MDRX&jom;h^Cav!4#iU+NioFDEAv;m%s#Z ze9#hIjFUvoEDx&$)+`RW@<P(M-Xg$DU^q~Y#_m-BZy4=nLR2?R$f69EE8>5y(ERIP z*s7T(?M<8Mpknjb)3h7p0{b`5kp&&q5hF`mZS-^SuVX<)*`z%erE)t(-EFH2OSq6r z(yVa>(6~kh99_grSk=BC8_2b<&#)3ch4%I7Qj!>PAo`Tp-egLlCrxQhO4C}C4qjDy zQ0biLwx*Tct=~kRuqLK{$MqZgJ89~97@jos91USj-QBz{S3cKEhzV`Zbpg3iB(%BD z{*s(&n-6DgelU?Fcr%-8|LN83j|x`%Gr%AZK3a4Og0zMys$9EkkuAuDwF0{!W^zUa zE$(TBFNjfu$Byn+Kx4DOrg4S^?B>4zqM$W-5m9;b6)hPa+L0ddEbl0+wi>b&mP)yA zbxRRZ9jp{e)&9Y91HY8PdY}FdG9}IBWjU`vjK9CSlX%j_X0yUXtrCBTl|jYe`-D~s zLr8KWnUe1mDFxnqUGcFseJxR;0CI&!0#@SBCtx-H#{}%l^48)nCaLxKa|zgpKbwI4 zS>AzA7)CbNHR$#$!+VOX+)+UL@UtA>M-58Fg1@cAUrh?C;<+6N?8}hW;=fN)>+wG) zU<dv*bs+v1%TS1?$1(!Eio-%)wGs^MiytAcfi)xBKu2L<1Ez)y{n=-13Ro&At`rKn zYAbZCSU2R={aON+jWd>7F@70XwGs^M%fMRv{^YYdZ5Ik_WMIEB%03$i*r1_LG{|3D zG@RwLL8svh30OALE!Al-uxjNR*k_eD&}lHxX)w@fFwki*&}kT?yG##?28;otLBbN6 zU3@UG9DgMNE7q`<T8+~TeHmDbA4u}nt%WRa!-zDn-zsn5fbmynw5NYqG@$UIK?eYC zMC}_n5-tOYNsxeL<D{i}_b{+(h4rhjk_z)MyWZy(Lti?P6j3yKLctOU1It+|L7kJ- zYL?n(jcj>q)|U+QZe?I2Bdy<huBAG!4IIp<tT>fkPxbPKz>=}jK=0)SN<oAS&UQ=n zrZ=!=Vq##O%fLcjC&yCzjdTNvN|t08L;)!;Op8R0?*Ms6m$I6ptCvdy#h|OwW>Igk z`Z&1;dT%k%CDlOhEe3jTF|cMd8t6UNKvxO|_QzjNP`H#>>R`tIA?pE_I-G$c8ULFm zXC@C^%q4knPD@=jyoM!e_>CYMl5i`nL%O75EVV-j{yIr@u3LtBhPh$g#Zvn-Sst*S zW2u9t5)B-(b~A9;RE&WmS!&Z%qE%x<R*kY1X02JVdK&0j!9cc`RZmsf2LJ=>hS<PH zCNTYm*ir|w)ImdRsY5|ZC~Vl|*HTBUUl`c58k-nxaxu!Jnn3-MYIQOL%MN-A5a%rZ zSZD$1Pb;mX8d9Z}S~CV4SkJ25$hu2^tah;s9o3KuvDBeJrBx%vHj?#*X4V@XpH-u3 zh>dn1Rt<En8d#720Tc!{tX&N3Hw9tffHBxW@Bao4WqF4)6eCtQ%h0sC=~~|DCx{%a zV<+m7rRysgF;q7LT|FA;0&JkGM+03w8pzr}@|g>;rPhr|0~^-)40Pjwi^byUe$k+_ z8KObz2)6-m#bW$M>4`$U=&wswGyA@5)iJPQ)iJPx7#Sj#S~JNou%3Yp>+_b{Zynvh zfeakXxG)s3LG5rxZOQVovM=LB*bH<HZ=iQ>1N-8?O)|JuVX1YKdIK97*l*ReRM+qZ z4%$Fv;E>h0Pt0qI933)A8j#zG)PNdp4J=vLG|-2916`3C=%$Z>ebzM%teMCf=tLUm z!>xh+CiDgl#2-zt4H_RT)iscT!`AKwju_VsbTKq=H2zdl!dO<qxUs}CY%rlWaHH9% z25vG<Vc=$Ki>g>MA(rS2j94OxBm{XP(+0Xs8(21`8dx#WFwoo0K-YH$de1b_^__vP z?+kQ(XP_$z16|)4==#n;*LMcGzBADEoq?n1uR!{k38JMsOAOp#ZEWC1Qxpbn%2GEQ z&n$Jqm}=k_W2%8$v%HfTiftzAmf;eUvx=CyRZP_(A2C(tPC1h^1AV|Y(9Jpn-K;av z?F$3ltTV7?)ilsYIs?5k80ekBzyYhKfrCc6fkReJ1AU}3aKx%<U^B}*YSpyVF{`G5 z<0k6{Zpc2{Xu@Twn@rZr;=?xa!7qM+6O1x{8%CKAWIWN3WZ#vtB3waOYQ@Gv1FNPL z40M~zz?!v|fo{YY*vRVHZ(YDr+09L`b?`(cv}JHXGti9~1DhEQqt@xIa+iALyk#|G z!U08NtgJEv%SMBN6*B}3tQvz2>@#g+pbr5C`Ve5CcNYWu4Y7d(*8dIkS{OKFjbY%h z)!0DSAO<#Vh&6E3+EAyDrgy3qwlyJPrHOQthGx97PAzlMOlUbHsCwl1TF8;MoEsCy zDmRf0>=0qudzR`IHLz}`f`ML91ATU6;6RWh@Vd=usY6DZfx|%-sYg3&4Y$~h_KGP` z1Kpl6u+P+=fo{(j==O|(ZqFFlZ%Wa?0qYM2IynY9IR-j8#?~FqRu>LczUaaso*C$~ z90Pp}G|+Xafj$Nr=wqOPF5(6@Y+`3%zjYl0U6&d-X!e1DKD-z>Y?_;8mw5XB5Rp1B zN6W__gt9_LuYtbUVPM&2lm=D|v4Kvnfqf?U2G&dz4Xm3|#G@*nev+`U@Ke^6v_(RF z{lPB)vskZ$=CAXEQ)v1#XtDp}t<4A9S{{;5Kyb<8VnOBo?H8#O9d{e}<`0zy@2u*u z+j2E=E2GG7$E^$jXRVyIF9#ZM!yL<41k`fna;IZie^1A<&s5n)y3ZZU>Vt%hU?F_a zV`Yb3mAk2tyc-H~JF^D4fOpwR?Kttl5>FAq-zC=iKR+rmS!VC_F5Ai4CA)EB1H26z zcr+`1Wykl;r+#IYK_4qGr30PDtLy;#m0CvJuP3W@vpjPc6Mwee813q~97b;G>cprG z?{18T1I9xE<H1gh|6u$6;H$^4gnjsQ=|UO#S!wE6Pxk9+C;3^OE(JfUQzi4Ws<JYz zT}ds(&RwYB%K8gFkuP}uLIo$DVe6pyp?txModv%uu)>_ejF0Vp+Lf4bom{rvq|+tc zN^GuSnZWcYVSp0Yt6jSU{7iBJ@OJZ6S~i*4S$b6dD4|){fzifmTTd|3N5L;g%D#Ap zWVvc7c`!}ZcIqkiKc;=Jvf)iB1(a?-?z0P}Sh=1qw>FS`nhiY^$DrbFmy}NlEHV!z z3EER(53Y1Z9cBajY;aI*zfVuZ`m{D(bJckxJt*x%IQlc}NvhyUy_+Xm=Dr*OlT)?H zaHuHdsV{yN=Pm1rshnC#X{F-EngwnO1&T$!$}a#dl5_J)-MQvF(nZp2Rqj{R4|pDU zPMT_w%VC{8JGFxY?Asmya~&nbzS*EpI?`3z9Hq^Nk{5vw0$*M_RK<}(?n2&^#Za1| z`FB67RYP<8>eiNQ`E+Wz#O;g8wYz<Zm#FxAf}WF~XR-w?H_QY+BKR)#e)d&z@InqY z9U1bd*^~U{rRrVb0OWp1PSXwknG3gM;EKXB9+RZVlV7RB?f~Wzaz){@(y};L)2_Y$ z#{sP09Kg)~%e=pY3GXj9&xY~ra!ETF^b93|q!B;(DztK0UL<vMLk{ApPv8Btgv&v= zYR(DWSPJ_QM#+peht2zo-KfKGLV|usPxLoF3U(Bd+()|b{x9LJI$rZS%b4R{XFf8R zP^Wm!>nz|slEaHfYwFA@yhn8PkJtBD#hW0h??b{{alGbrmf@W@ubJgi@<C};2~_u( zp_Qls`9{AKOV(K=q{}FlW0lksY@v&WCDC9WcXeGWo2Ufwe4lyTWi%9>hFl3`Ur1>H zIv))S;T~A{ztly;XGBAv^TE8)GCn-q#Ro)A?VT$D8kSNTfX+w5QYAQXnOR`Y*E&F8 z!uNR*G3Z2?OISw47mWyg<JcL4?c6~+%;FY}OB4qw=rZn^CBGdj_McSjuor7yVdpK@ z-F=eLTg8sELPJ3V?yyDG_f->_a0HJDK@eVZ9m^2B*Id~&IHjL>1#)G;KG#`6d$|O} zrYp^RM^aCJG#MUFYPC<JWT=%5vKi8kCCm!rBPVIZh-f4!ggQ)j3BVgwT;RQ_&aAli z{p6~SZz}Bu*1(Z&I-qWu?ktl!$N|JQ(HZ+nGoefF3#wpR;fRyrE>S`^w%x`Bb)tyA z9NfRm#zWW2<|_E`!f>6l41;r$BqT0!8pi72;}*1_mAd+*`3cJdFZ*9rNcB>C$b3r7 zObE)!{jl<sXjdH$h>}AZ)TQIxN{A2I00wFlQy1zZ_}m<1F$Q$0I+9PWhDxiV%)_qw zP$y1;5^RDy%I#GcIr+pDPrB`n(Qym}b6z(gS*WxJUHUrgnfXAe58@Q$+9O}k0tL-y z1uazwY++5`QP5&2$j597autv-Xo-RrLqReVRh!V;air3<ib#-pULq3vs_oGps2&X- zVJ@8X8t)}RxldOx%v1Wp_cwql2)9r{9v{m<Fjs-p4a-F(p*eHgT4mytW#S~RR5Ec6 zAO)8r;4L$q_El^cJZAGE336ic;8EpzajwI(iQSn8vYdSh1(Zn}x}%L?nLINkj-+ur zG>5Fzt_Q2~Fbg)2ZcwJCLD#9KIvD2t6yN^PZa3&lVRGj#D(3(+Ie^%@CyM~NDVg!- zNwb!u9W(FsV-iT3&JYLL1Rj#EaraAarUNK~4}n)U4NdHRU#9-O6Bww8k=t<j@u4GC z<*q`OHhrk8TkNiSkSWuEiLOmtwt}|hwec|-$&%NIuM`)rxsqGmC&*Or8>5?q*LD&m z>B7m^bjR=-b0||N$!pmu<|-t>-Nnp1EzyBDxVxClD9a{*Y_1qu+A7eJ$OI?nQg1Q7 zk2VE=9;`0&6~gMm@WnI9<Pd30<?w|0XSp;c!WJ)DVwbboNlSG3Omm*L#8u8_b~r*F zM{{!N+KAlhi6@e|dyQRPx<|k9R5}n`zHmacLlly2Ii4+qbUB{s5QWm^c&0OKnl!EG z$s|e#DWqr5a8!sEsySmcC^Srgny;n$UFFtzrkFU4;m*of6|dwR#-s&~-jwh)YM_M@ zr?IXngLxuo=((ztEtXhb??~z--jf7*R}ysLzO;6;;v{zAW@TR0)vP|RN*l|Y)u(G| zqBpD0w9-Ux*4YlXE_?_(n-vGK!(xBZtQ%K1D~@Gpv*K8mHY=WAX|v+_wa#YMFhjGV zs%dJs4SKY%`GNIlPFL{O<T*y?Bu0^SX(z(GxTHh{Nf^^t^9{4MrXL08uzGL~bBW1` zf|`1{s<ppwwMyIWENbm<zTlCriX6Hx?NE=sitAX55eHhs=~9c&MfJ*df}wH)7x7kZ zyjAzPVpE!9+HUTFe{4ic3tar{WMsCALn>q&g;4%e^<cd+e(Vpf*n`62hU}sR25WNz z9P4%QQb7m1i>y`a)>j6?B3l3k5_FG4u}Z|tK$oGTWOV#=P~~3Da8~42S;mlJOn9LY zv~W{%(WpOa-UL#*mhEa@<>yd6dfm<KQ4WXezT^D=`s5aF>wRTOv9h=mIU0NBWP4nO zRyi)-WCw~lf!^fscr^Y@Tm9G&^@9X#mJ1)qDV97M5fMK&>6<A|mP6}xttw=dIdNQ# zNavJ%{1^vA+GA7g3EB&p*+?pj%Iz&I-BQ|Ee3!*h(A)m0NU0LB&E$%?tDdW}88NwI zVa&@x-R_+tO{;yJRo-ex@$HogjjMa3EiaF@Miyx%?%x|vuN3#ZT;GtN<)-G7i*lUf zpt{`G2B@M)Z<i780V>0hamKj~t)~2-sc<|q^Pv!yq{&%&`(>xqjWwIZniAE7F^mON z-tIq!tS!bEXtv8C#DJ7KDtzZuO7P2D6VO2WNX5WW+EZ<j@@%8?tl5KMdX+E?F3<o? zK1GOi4#$}^0YBnpen(p*5-+C-Qci3MoY)eT#Sm*j{C-u=STwFv&Ew+9rk1=2L1ltM zJe7!lh{~p`N}5lxI#)s}tXsL%p^cGzu(c*RRbGk)Ce_^(L~a|U?AT)yAe}&$=<$cL zE{TXWfq+Jn5dr1O@vB~G5;068Z@(!n(RLN}3DI=v_1c6Mr?(ns+T+pW)RPN^)^;_e zF}c3iTJ_E;{kqk{Dr}A>TU*Mz;)-saw`gu^g!Y)?8f=9(Fa>V3%h%&0!ZyP#&|ls| zzu9yX3C>ZP6xwV(eq;Pf5m*F`i<x1xAWyg2mq>~VFqs<FrH|v$77-b359w$hAXqfU z8AB>gqmM`2EFR?Ia<Wpd{O?z{Bb|BBhlp1hzIo|%x=Xlk9t$)2Z}-OKSMW`{EOr*7 zOK2(nJrn-JS|GL4D2Ii}T!m`{d4LJx-3Cj>dc0FLi}#&Pj`v?`Eay;Ub)c~NEppFp zOx8a(`7iYkRKVtFleCE%Jt9_t_)e#o6nP#nP`Kzf{=(J=bOWU|t~YHNLCSR%#Hh^o z7MM@^Mf{?L5fV75oin;`t}k=%4!<SXrJLHDVS;8E@H9RwlC2ZNMyhMSJ?Mn#mGTYI z=J>InxM>fxkG_K9`<}VyR=(VP!>#QyCrc<3<us{S9aL!`R82~epQ!1lgj!dqHT`M2 zh>oyoT|<Bjx>obeTVT&X#0_K8G6=I?NT#Ws)tp*2PyDDd#YHmt*ZH>?_Pn5kfoL-m zZ0FiFcBlPVG@y1aQzWwvaM1|~&;TbqPK{m+Q986bZS-BIAV->RnG8*lqbXpmf_2=& z<%r{iz=@B+(fG;nX)*Q;0WBg^hBr$VrKU@!tm){e3?W;Z=0bGn(Rp-!E;CmgkMCN6 zPioAs6<!wCUJ;EyHyVKtaeWU`eXD%;5eLNq0_QEZ$5V}09y6Jy8;e*iZ$6I)7V5Kk z;G(}Hst}qAxI}2mca`HiqY8tx{!C1&vm2!t${WanJ>29mbZy~k5w!zl3eTR6%QrKl zO1xt#VymzD#!2$<{SJ(Ph@J4uOFLv0*gfvblrAsGlSuJLHRPkPY{=iLf}e*D@vh%F z)IZynmYb5P?En1W&XgRR0P7`DvvAJ_adwfSXn?^S4pq^nXq*CVPfV_jLU^5t6k~L= z#qp@tIBHN$veBq$voTsm*YJ-o`F^Us(bX?{52e+H3(rJ>H8sRBwIKuJ6zTK;8T8P= z0-R}U&a=|cio2-}KB?fKLUd~zeO2``nLX&+suTbtxXP?hCN=@%fr=yaCPYHcEjIYj zs75P+Vi=7?DfPKIsi+S?<MCtLCGZJn0LPJZJ7zl`SCFZ)N!fLLt^GDpgXF6Trgmb5 zh!2k`@TmGaKep$s1&xvPvn`Q4p{VPGDAVZ1=wQ~)&25GV-tdn4f<WcAx2R+<7cCug z1(<R`N0p-TN*+q`zq^(Et4ztG>!D#YW0m@3PR%R)QxRP?Jzr4QA^Z)7<^Tg4T%wP` zbrH%Qde*@4|4Rd7VUekdt_&HZX4{P<nF*VJ*RW@MOI&|NyRNrIK2o1%!<k(Z@I1MA zQbyJ0XtTO%@f9e$Tghnr*uttKWQj9zb8p<dExz;FP+5;x9wh`U%Mz%yIv>O<QX3Xc zW=lNtn7wnYC@ad!#Q>NG4G~>w56Je$!2U78+sN=8FFnGC8pAin2TL-_^o$SuT2iz! z$1~~ARXh??V(C=X5rc459k)bVypCc7a>C$k-RqjxmZ0xWO;?PMO#9)^7BXR0PzMQ7 zN_0b_8c{loL%LB}%G`l86o*<wHds5b_vL64Wm#{qzphNxQwZ}^R%b^xBZBw^-D1k| zIfjg*S5k}PQi}??16(qFNYkLon$|`D8`@>%M@3N<k7u*muA#>@Da!C!LnB(tEyj0B z`+2&SpvGgVVXo5FsHSlcNngca3cODAsRzPHv;HZAWGV=Il8PGlx!Fw;X0HQVH#(;> zp+g$d2B9V!t*(5yim@e34l57RHPV^6hZ3l!?c#`Twstobo8}5E*64|$$IBKme!x_Y z|K%~8m=vQ<)}qG}){3!p^fiw`*lHEY*vi;XaY<9bG4*VDzo)EzHsS3sq*0Oal7!Y` z)M0`8FEd`4yJ5U6q;FBt@v-#R7G?zY%krAV8Xr#I21MSHOml^|!UO*7^pjXX3NT`h zib*vYDU*TKtb<+yZZd*u{V5q%HJvMZB;EK*t=#e31{4NRp^UCVG%8GNH3e$Ejw!78 zb{%&d>MbL&u&H`8uS-}#`nI@mqh=PG&&ygt`ealnlA0-hba4pA6eiaQ2;(IRIjZtc z(#1uJm<86TAS@`AfYou~8EP;qxm}JcH(XnIs+6m_y!m*_VmD4p)0O6j*g}Vv>+(Nw z3gfkyr{3e8g}IAc3`MgT?0|R|yD=$36WF&@xe{O5X?0xbWngt&nX@{s%&ZQ5Ghfj9 z$L~C@G<0W4>mPI6gV;y#?{7P#mhq>rS6HnTPQ6j?%E&sxYQ2LiE$@Ekd<d(>MLjIY z_6Vz`+jPYF3phS4ParEeKAq$#{QN!1^@D$Ck$zT2+T)6m#5NF{YfU@*J-<<T$Z5w8 zOTl&_(2>rU7vh;W&SxG_HQ)L@yVZP1SWw)^Nkx5P4pA(4uHZMJQ@v;9KapWioS?v; zcUob`afF>BbGr&rT4WUzyOC<I*YfsLx={`$A`xkg@0^|(wr3TYXuTNC?J9?{)Q!>I zuAnZ5afaAM!njXQFitC$(Rwjj=&&5dayLe8C3n~HK)|>^V4Us5_+bkyV?4#aVb3!8 zK0b|Y?`_JmA(G|xC|8J!y_Ig%w%vU2(y;Txx8W17?xBGE;Q5fV;F=<z+j1V{)o$dr z6@5BE&bJ-N&jjSBJCT1pk>(A%D@6QqnXp(}D=Bgg(Vj_azF~J+(u`kKr!?D^^xXC! z&3qd^@diG&ohNIpb3Ahm{jSslYGuSUwpHC6%WB;S&~r&U$hT}mD2U?@*3tO+DBfA@ zfLxNPDt_*_J~?Y#@!<wa*v~q938$bbMDXmT98JfwDn3O>O4jko%;JQ5E*-H##nm)P z9sHc_v#7o+NzNI=G`$MbG^J0g^kbUWsP^m>sB{arWNpnnj*W!vQ_V+y$~UqZ^SkvP zBXy_JVlTu7pVW^jgs(adE~%|!Jaw{pUbw?P^9iZ4059fXQ*n4;o>m&qxh;H4c!(9A zp}mf6oNCS|eoOs~u4rqu8X2U!2<w?NkRp7ND(Po3Ehiz>8IbL@SYiptK3yy!A+HUl znYWWh0{>qa{$&Kerv}?SNn-ZI<Efs6yke3Kf1%K$T{ZE16@`~m`6L1n8iSyQ?(<R` z)Yy=#*j+yz1m7a|m~JNy5gWWQ3YvXYm$8l_c}KmQzb7ACZBQ+U?dWURt+J)q{VPAt zjbxwD>a%+^U_UhCduE`=e35GAshgw6eW0Y$MHlppCZB@E#v8hAe1g%)e6P58{6SjI z$k3BJ!cR<i#3XVrcHuqxn;9PzGIm{f=_)DS#T?$HfcK$*cX1;1`8wH!_dUX!k2K~Q zU(L35ea+{K@m2NJ=$q8{RKRP4H1$0>;r=pEd3qua5u!LWCY&MSmHB&RIH#@6J9x}z z!lO1HPL-zwx%vP7th4t_s3sjnf~{8eK_T__n%k0L|G2P+7*Xcwbs_9H*>+>6!=%`c z(jC>fbWe4l9CnZR#TM!o86{X7$k#q$H#a322ISAMf89KW+-%{aV9O{3pz1!DseA3p zdXf4bQXcuKAn((`K0!r<@4{E?=hIPAC$DeKLWOyn)rdFRL4`Yc<yydFAw3m)N}kj; ze6cpLkeqe9pOnK;T*T!k^kw`WYKl+bbh{>+4vR*arsxexpwlkdmY<aqm-I__|A9B@ z4q|Zsd6Z2$vz6%eXD`vb0rWQN0MIAX^*I`g(dEPhMjTg==6hm$(A|G%kvMe6)#$YK z%J)KNh7#zeFO|JdNn)BYqDTlqqK@!S>$rpF8you|1U2;3E@~E`W|~V_DI@KlauE$S zb{snCd8siY3TkH0M~yd&54=!9-|eF0B$UiLCDvoLrkGF>y6xv)Bs#4L=$eUTq%O)} z$zQQAHOt@@deCevXfqotwZt?~hkn|@zm#`A?2?~SHE{W0Z)~y-t!<oyxX`P66UQfO z5XWTIY%qv38!WTb)*#LrRU0XgWQ1w#ObH7evpryR1%8mh?U7C~AuI`{$QYR8&fk7Q zeT81B{^JDGu>n>t#aUjCC_^}*P=@BYh*ioai5UNM2U0^ZGf)p_x3Y4fR@!PsxsG`> z9sMZuV(c<{N@|xO9p6K{j9w7zvL!Y+U6z7fW>)-Mo)u~XL^=3H0l2Fa{mhdDcoK@h zlLUmMtuhnbLn>3j^X4J7GJ@W54=HtNErq~KDdyl7WvT8Kl>;pUaj|Fyb^BHABc17v ztv&QN@909r-(sXn+?3{7G9MG+V<MUycHBe#GRd(rK{$5h7!5fvH!~fQ<kApreoO+q zB=fmSY>*_MObE*-!1I~&RicoSd@^w?p8)a^X^EZe)UtEusl*No_Hmc1l+-38lx#C> z>b`g%tCRRF_6IZE=G)9c=VZSzMLDb|bJIf`HEcu{rnnHCjX3R5kB_+V&V&b72nog< z1`J`T)QZwb&6EGpsiX}pZM8AaYFIwzQ1}#qYpAjfRaE76CwzwzXv|Az5eb)q=TUDi zF=g?|%7wYatgzd6C(kZ(+UeqsP3fF_fwsWyEO?VMJ2D3yLLjISgMZFi!JFpnSl-tk zUmCl!-;U+glBKC9;nJbStv+qEv7pB0g&y2Jv6q!$(xb{%rJcO~Em`T>s_WAS5h-T3 zUsbv?1Fy@#X8^MJi%F%&JsKu>p3?I!FX@O}^8&1pTnVi3T?woZUkM(C>PpfTsw+vK zW(Z8u6-zCF6?QjXvFT-Vs`<4|d4tF1X)H#fD{67MRnKNxHovO2i}6^``BlD<1dfWs zqlJ8!;o*_ys5$eZ3$AoBDJ-7<$o+-5Bp3W*#NJd`mSpj9kd2HSsnb6$CGu#s#SXoo zm8xy#CT`zo!oC)(F|1KG@5L5S16{*|+3i!jajw*<l}-#cwSx`+xQlBGn`zu*ZBd5F z*I$b|n|O6or^#H#$n{cpT}Iv0ojNKb(Ya3MSSNLx%$(g>dPYXh{cDorv$LdKf9=N; zCZ*p(En8B?8vz(YPJfrFwSqJ8Gqm7{kc-{63T(}i9t^r!8+(QL!=lBk^={VKDV<ct z_GPr_J15M`fC3h$n_v7{@e(Ld<c5nTBCCl=VpHE!bSnPrqfpV`OMH9|mvH1adQlMy z0qs4-gbbigGMI_1CSyFb&8a}fpNfp0a^jP@gp6PBMMfwDw5L)sfI7)w>av;)Tg0WE zj$~&@;y)587CpMVU3_Mjkn+l29qO(i_-cH0C~vJ?@ep+c_t<+m)@*(3C^|=-%%VRc zEk_iSu1k<@;g<rB<)}O*>FG(O&-@Z9@5&gK(B?Gd3WFxxn4Km;=acPYB?V7g%}HA- zhQ@^)jeq$mXtY&`Zcf@fGL`VxuSH|7FlbyzX#_eSjSD3OS6fY^-$#KJ7~e0->b<1i z4APXc*H{~`ROPF&y1ZctG42ES=UI<_+e2%$iLDo>rM`+%S<$0Zjk7SVLro;-_?B{< zTvTiK?4@QFr6s>%El%bNgOf`sCxOn#$)%FEEmzZ+ocTLlO7&y>Vez!5KC=TuDUGkq zXiSC)NIDHkhZ%PSoR6Z@C0XmMDH;e0<y@X?qR3Wdy5-Le$fS?VuBRtM8Y|Jw`@-1x zXy~^qdeU#tl{9_q9DsbK2t^=Al`tTFVok||(YXQf)jhd1jm!1h#U+6AacR0Nho#kA zvh^Ya?ryw$5{f=8itMyoH<vUQ%7*CIt&>Z4L*tRarTth-(r&YQ!lk>*I(65{C0})7 zfhb4Q7o~&k=74URY>uAF(oEpep<tgeK0@*VDEOnFalmVktVl5DGp4NM$7OM<!*Ejc z`O+?R%wT8Th<T%e!JF7yN$~V8Gs;$xs#llnwgQkWnY*8LaW=P8G(zvo4NFNw=C*y| z6^l_<5=z<+@}(vr<s`OM8|{&h6pXB}kW?jXOAt57rk1rJ=!{wbo9?uE0@BSAyw^#P z^4m4nao$B!h|F+mSA0c=jcmL)`gW`ICR4mz-Pr0*SO^jvK<uob*3A@6+5@QTjED=Z z+fO;9<!7k4l<haS`?Wu>`msYYQ}Knr89P#--T1IFleE%3#WuHvrTG^_{zc1=J<^^3 zRFPAAS^fjzklg{(2N(|B`Hz&^L*8E;hr}RQ3G=_`f`S-?EGB|B`1iYN$9s+07ZtjJ zy*}u?fyEop-=KM(8RSD5?>J*58yre7>Hw&M1JvCCowKo7x`2mYNFG|!Qv}#jlFH?} z8N*NHZ}a5ANiSw<H_6PzgrgONM0xKnx0%lejW9`z!T6n}86-x!3tqW6wTqK1M?oLQ zbaAYj)PaSFlMK3;%yQ_>xl%`2>^Ld)ERx7>0hb-+${O>s&ftiN_bnMm1%w>RztmaQ zh78L>=Nr7i`0sXobFA~tCOp>h0S{yJBwoz)huJb7Q9M_;_d?H;rPfwGA1vYH&ht3e zKqRttqMSeY$m;X*{e|WqGxvzkA_WCbgnn+fN524`6MPy!h0DuzT{=X#iq@r0o1Mf| zYw?v$9S&G$P(X_^EK=SB3KFlgu6;WTA7>)BY_P5s!2R&5!sqyTMPadw9wGBW85eoc zT5d&F@3LlZkWhBShs!M%d@1>Iw1}OgG<XFVQ?r0Ko$TW!BO-J}9Dgkl$;zpOFaRKc zp<D2oIsknb2m#HKXKG49c(bG>OY%yGx<Us|V%4h(zbQKQ3*}BKcU6HGBKI^is72x* z20W*A(hQlZUR#(|be`>YShFZ+rG5GxU0r$<>6LEd=qPUTYys$bDa_P!^R<P;aszB} zGFVSmUpO#_uNOz0^<+JY(Ww}1p<F$2osx7Dy`7WgJU39To<wy=ii;7BYm!)^z3Vt& zG2-CFvYxDCoz#=HXVw?+o4Ts>ke<VYK-ZH{<Af47$7I$bidsNFp(lQP^Lnz^bX-qy zpv<9XV9gZZf~)G#Nbs)dt0tTg_k~Ux(G`FI6o9t4+0Ly7k-J<Ik(QXw<X_s@w!mpZ zinb+;#28H$M_D4sG!lb1cNi90IAnF{bbf0IH5+Y{fnUanTPcab6s)__E>Y3b6!lj< z?R|gMbGqWMdd{wRW%^Zf!(@ds%no_QO8icikFr-`{>m#>JaJ0S-h>G@Z%p%r#e}3t zEeV)97T}AkbkB5{PO`CVVYzsECfYf*F2cD~7G5k5Pg|7CHMH$}(N@bpDuyrD<PmnF zRVuqj*lZD3>K%o|O1SV-p6m+$Ha&eDN8u_evdVSLlf(6~g6;B;G0|nUu0RZ)D+-0{ zx&KvR)>z1E-hHKlcD*!i>Z02+VY%dwZ!ZCYgjzBSzn<Jo;s9APn$MH#X>wG)y!6tm z%MmX)N5|iY0AbgKUl3Ypmxv$s?i)!tXYa{{dQ#9K77}p+zr6H<t4lBAH9h&IbRa{} z{LmA%1)8tLu)q0ts6|B#kEjR0Gbi;||8AQ6wra)HxfFA`d6fq@pR&S$Xy)rF&vE!% zZT{;|0vS(Pd9`3`%`-oiFhLYtQQ#Djay0LHytQk)<b#zCII1B$Gic%+!5fR#e?hw_ z(-Y{$sHpN@mTkWJ^BQVs3H%s0@DZIsB!niXsoH%S<qFVE;x$R*6|_2B#x_qyM`c9q z8cS$oW=*@#{34^;)#giyEm+Xf8s{21Drdx0nqOL@a??>)<%Wzh{+xl%HEV_!dhz>O zGkRSajqIFrDQ}lTaIGNc<$u4fDAJlUPlQBuL!;~b{ZCA9N>)Y$;XItkiWa!6lhRow z!_9ZmAZV3L`ubg(?r>?^naH8V6zdQrv=TBEbU_d&rS0gDsFz8iqBSMTdK6u$)Uzv@ z;zI*{h10JcL>9lVM54@6o;AP98G#O38sAr1U|6n?BMzNn`Z9IjKx}@*P(;V*dp%+p zVUkmv!KK>PHB^Y3&yc8^AmS9CiYm)%dEMIgeX17<)R^TXVGuzZ3r(S;xqq4W<U(_o zc6AAZ6fIL<Yk^dEBOp?rX-%zD=4+aD%6yxBUq<<~%`SF`Pir$MC|?^k?Dzf8j~ANn z_&+(kdMJfXq|mt(I`kJwzM~10Yh}|3>TI%kVBdFJg433MgKVDjwe)oK?X`4&!kaLl zX+^h3@AMJ>dt=X8-OLg(nf>hL5O4uwj_Fk1m`hu_)?FI{i0w<-E#99%Ab_(zlwL?d z1-5>V8rZ9iQM;N6=T%W_F@PTFqMkG-H_e|)g!u=s+Nmv{_VV*qyUU1A+nvFqvxhS) zeJEG$i?Ex%|Lu+Cl*)WB%c)0Oo8^Sn=ay5_*5!ftXs*(xE>PFs&l&|4)qE3?=~CsG zxDsf6w0uS3WvoS|$_$N3X4T}SSvF}K^^A&E=9n4jBYZ@di84Xrul_MXdQUd(TP`Ga zUVhHk#W^{38Gekjm=z8m16h!|%uWF?k6!z&rZB~83p%vL^1O|dHq|l7(^MyE1SD^N zk4CT>N{M{WHEC!9na*kjXKk3eSqm6zjis79=a{&rLDbF1^KvR<RAN#Xqi98+6DEve z*;~izSeeztjTNMGN5fD{!w?XORg4epC{=wG<81#e?b=1HVz5$HXb<jw?j7x+dt(;d zc9(CS)HP}5TQIo$S1o;j^e5ju$s+Ffvk*?)Z&?tI`)(W>k7_#AH&cpgwxKc4dcrj9 zl9kn`N1ZcAh2{g}LuGjQ8^jh0%O<w(g5b^+Ulyjm6u}}J(Y3I#G~}?vZkw24L8KNh z<CZY<bACHQJ$@NCw^ZwW9Hgknm)$U=2;N!^s^cDX$#aJk>$|9P-5jw5*virSV!Tnd zM=>705vTcDwnaKP)qLm|p&$2N{Fn@_ziz(g1{x`)ike<qxLeDuIqH1Yr1^Ah_vY`Q z0H|j<Ek3I=zrPq&Suu*MH!$gAp{l59m`eaRc4*#b#KQ{!NW$UDnB!#m&Tp9T)<pej z+-R3svK2pR0)0-zElznp_R}f=pYVL^<yfFxj_UQ*sHR<kR=7Kd6T{g&Q)|p7pU&Rv zL@sQew*?7D%Q03ZdXxH#=AZs7fwPzyq+L#DaI73|latq<6Z~GhtRZ=4>0k~!%RnYT z`cp(ThLX{d|NNhrf7nh}RJzs5iE*QI#82|q8UI+3<qS&7Lpsy>csQ&361^yvzux&| zK$z_b%{SfXq5`w6qTVh+RI)aq2b<%E4%+JMskovAWS-5})y0mQ^ycl9x`JY_#iy8^ z{GLUJTcfFv7}UHs({DWi;NsiXXY70`0r~aExBK8~4-vaCd(d||o?ts_yr6-unQH## zi>yVj#9!po*BdCNgdDZq9v-kJeHKu^=LQN(yOb*BB+)0W#g0or7TnFjDoxYnrQU+O z1;+4-y$>s0xqP=seS=tPq0c&kvniTaKhg2=*I$9ENuue49*xWqW?M?_<0izKwt!S) z<0yZ<){-6xD>BDyI8q3dgm7da-9APQSUu*7rCo7hXX(HLx5aimX!?P#qXziXoD*+? z@Ijq6&}PU*=Gg~sYcBtYx(nNcY;IF)sem&`CHp)kTd3#c+gYowTK#n|^l$8opm;r7 zp0J=yk`kJK@&wduQc2pg`R-kIgdbNP!c9nsz(4`LsyADt_cbn1MXwm)@P~F6ek#;2 zE<9_`eRu4h-FD~IW%Uyn03iU}Jsf}C#!{;vy(@ks{M1M?IK=@$>zm5N?i1dnw)@4& z&9}T?yYga?m1mn(g6V^<9)YO}8~>h%y857}!|2{`{`yLB@XA(QkEgWy^|*%kO6(Jz zpAA14EI9V<vw-F2JPUR>3wAmSo&*apC-GspwqVR-jGksYOk<9TMQ93Ks8Th?>FU}Q zg;S{b&}q>ZvM9`+h$_v8hjr59W54tMLfncU`rY>v7wYNQ0j?i9M#Uh0E)SjhL8IcV zJb@*`R}}7%Z%U66kS+=ES|!XCHP&SMi|nBk(_b-y!snPmi462qK8Pn7!~&-PJ)<ui zcm4}0HMl5B{Tp?<S3eOUi!Wm@qXw?{GVHArvBa<LEiu^ck3Vz}W|{e}9Y|b~OciY7 z(SKEGf(IMH8+Z`!<}w$^nGfEkkcR~^NGVqomL9mRT^%l$O9hP3679-kQR?XLu4YPN zM|(*@2`xTw8+!{2jKtw<FTq~mV-jh!bI+TBc&C0q=YX#^BQyg<vB1Z}hPxLyWj8yW z&l7=Hm7c+aG4k1Dxw|yAo4}po$G$&G`f&UW`u9snLd;C*)#8)t$1~n{F9Uordvz9o z(lYIJEWhknUglV^2!-XP<RqdHpPCbm^r`mD^@MZNdO{L<NSW^-Gd_$&6O(E=7&7Bv zZ<!B-%*5}s-1~XPhY*-Pyf)|-g~{fdcTz&-IgAVg+MSY2vm-yR55TG+PgswI0*>kl z_6v>_2k}KXW&9DRxD`EqDE&3VuM_Dn>CmI;uN8hBNq^mKkUDOBPg$b6AdRRJXYD6d z@t^zb=Z5g>LOOgwwFqjL;Jbq9w(@c_*i<m*2$YU7Bp*S8k$+bmq_apBR5N}9PbY!4 z*k!p)Q4@&7g|dbn+I-~sWPsM@8()NGiWgCQaXUWohe3^eHxfVqVl>qsJO?oAso%JS zpE`+eiBb$z8Ge6vxqqO9{zys2$1wBoNr_v7>h5PO#GdOd>C)?^zAn3-kYcii*H&Tu zdFx2p&vaMX+41K+sm}bzFHAafL2Nsj@5>>94Bm(BhJ$M8xrF*s&o$NJ-I_L3TOpy= z_4-41q>apipq8@|CK!@*Viz&Vw>qzl(Q}8?uQhbUEA;D^X3c8iZ=6&Yuyhj;8(PBH zO)oZ^vZ_r}w-si8E~%HjLLN+!xfq;7#%(l_!h6dHZ`&G2OizFR#le;`m3-{4VADUm zNR!6u?z@<=%nwQhp?+~3LL1fT!|dEA`a3kIUYBmyUR<Ds7Nx<H#ugV;=g@*d6zsR* zz|qEdpi837P$|cU%D$Ep^qPsf^qm>3dLnpDjinOC=BKU+0Jf5>&8R=1W~8w>V#$Wk zMf6dzYqa$b^-WTz9%E8Y&dEkGskQ8L`r6vFXRRlw$>B)zwe*;srQ6#$Opvq_m0E}= ze2GBKREeYJ`+mVF<ytd5J!-gD$X$o?qTcDeYkh}P55`D5Y^^}AHW~>aU+u1$1G99` zpH^F<pw?t2h~f@2!8tD{nJa`=3KOJ+g<-nD!cW?pDJV3OmxvPVHMdMAU|Jhk-zUOx zwqJ`#pV?6wxU;MiXtOLLU6d<~l#wYU?eeuNtn_^CN7_|8Wm8c~Uwp?Dr_u>*Duxuf z*iarg<~v%6`y}M$c#c?h_@DV)*pdh&S*~-wv0?$JSZ^S#Mwx1rFDFgij6ex?F3!}Y z?aU<(v=Ws9PMU>QJx`mhNi{$5qsjT7hy|^GQ=~%<GCFm5c5x-L)|6hU6*nzIVkx{_ zmlaUAx)xXUJ?pAFaj|G5Ut8TwYw<;V&u^hbv}Z;oU#((vCNHUBnDu)Nndx!y1U1y~ z?=|dOXAO~#IzF)BMlmf|R#zjd`Vxa9t0u@a!dx6OV`sll*u;pzb{$51${AS~D+Ur) zbTP7K?z+ZI(O6$iV?9q}J)x081C6xvI-9(-OSCoHHE8==rwt8~qpjZ?nG@n%kIr#e zS)1O_qOG=?wpyMxdZ0HJg$CN(#bTY}s8}@2H$>wG!ZwzgpL7}<T1^{D_=jn&Zi1O^ z%V7Nss6!czjfBQ)Qh{pZX>24kQfQ!Y@FMv)felh>{*BYdAQ5G>4LWU{sK0TDWvqeL zV4k-AgtkoB`}4G6fH?m&^0@pBUj%K=xos$kQu86F4o*fC6uNMpb9UIPl<}?DO`9A; zZTZdn2Fo{28$}khXsp00-EzkqG^iQ|>QvRB%LWx;6n6p2Lh}S&Xqt}^OA8?bag|ui z3PfkxZb165BxX_>n~226zB*rscgD*+ELw0*iIn9Hi;f^jGd^UMTPcO-k#h5cztAF* zxMm!3XnK_O!jh6L;+Ke!RuO+*B^@L(h+-|!NXe<Dl!Fx~iGv4HW9K1B1_Xnl1xUg- z5r~y)Jw%A8<m^34jYk+VJ(a-ugVBhb*!(y4?oc#ruG>Taq%==v!M2Z8+raH|#3>0? zpPZ!!^~4NZV30{vG{M*7(=~I6VZ<;`a8F=#u*(k(pK@Tq*yV?ofK#;+%JGAYJQctc zpARtQ)9jKfm@y?T)k341+OK3Bt>ieG)4!EOCOLYcM&`c03vd+Q(ZEp|kIvC*7e_h# zvwn`E?K?PHJs(GrTsT@uI7<B8_y9`@3MH3vR0$m%RYC_xXFS0<np@G-R-<%e`GDdl z`|9RQ7?>j)J^C_^67L|D(cEa!mvEHnxH#(b_w&hUJ>_UU<!HT&qg4i^b;~GYQwK-u z=i?~-9FF!S9L3cvUT}`8RlN%+p@XAJ=-}wFJVzxW-7>l$j?&bWcr4+ljd=u@PI`Sc z$I;vvS4}v|O`hT?*OFa8Mzy>o1`ab+CNj#Lr=!=i{JDOPGNN{Hw01s@GN*^51b9`w zbf;rEUU819Rh^?s=-{XlIyibd&rwyVo1-h@D1=es>4c*;Lf0~mvf7l&Xl_KVT{K5c z-(kaDgD&41F?e5>D!~(|^9FZ|X9S}DPD%Z7_F`FE2Z0gX91<UHNRdhLUSnG>bl*nM zZl}<0>I!K+5o79hpb<1$zs87qR=0YtZn+V?(@^HX#|5ROKb4mLR9gDGq@@w{uU}fQ zA3CI^|9sNIav9Q+n(?}f<t!{gqcu`#Q9_5bD4|1ImJ=>&jA-P!7&O{h3+!$jT~0V^ zR!Jk{D1psVY023k>EywzQjWe{kfTJ#4*jo~a<tgR(SGcjb!#-No(_%{&&N@gao}ir zgYo9nJkoJ1jp*W$Z-d><BqpBjV~rv3x?ty@lEJv3Q(x&w%;_a^s%}9<gWo0gOt5As zY=I@kWRy?KoKF)?8%YIl`YKH{W?7=fpVN3RbN83obW6CxbB7lzUY6M{fdsoUA7I|O ztPGqQ0`CD+8Y$khX<`m9=e<JCl>LSHZu20WvCs46&(ztEt57~&manAub6*`y6LaNr zNnOa<S+501omElCEyJ-@xQ>B~3ug<u^^g*z5p%e7ywekNxE9jHPFySCnpaV0EQ9OP ze7#PC3msJ;29JtGEd_;Ch)-FHtEK!W2O6C7H31?tSA*kW`h3O8_wJaoecDR!PMapq zq={Lj)Pl<t%eCx<_#VsP9XZ9TB}q-RQKd`5jke(Kc5_)mwXzz|ilUy_Mbmm>aV|=B zFvOYF<94GJ6K*t2XZk-#kQk3s(;r@+5fzeN_tWc2`l(g9UcWl&*H<UKVRh2oxum~* zd}+c%94!vn0uy6d>Dt0}O^ECGy78zmp)n6f{jj-KSwmoOx>m??HVG^7l`mtxUn(b> z(gtif-tNDZZx^#{6~fotwGx9sQ)LvemSGOd^*q2wbMU-iwrm~@&;6MG`h8MQE%Ea0 zAq;~Ap3A}WIe1ZUD1SMZekPYL10yMCAHzoi9~XRfK-G~S%N8G>lfQDgJ3GK4y#l(I zTYcrQ<W}0HH~%!ioOQiXkrWdti9_4y9~c}`Oe7O)@V?_I^5Ea#@o4cxI~;s+ZZOm( zEsVy0@kbvhgkVVukCdbOvrm!t+PQ%i-g}%^9>@;S+qsXG0amP#&c3PU@fW!zGY7{N z+u(?vbhpEO_)@7-9KP;>dj74T_6Ro$iMuY;7)S(aa@0q2sE-HK#{%l3eIAaS-19w9 zPpj4eHDQ->sJ~^kJ{#`vlh+o<u>v9ivMDTkHpZFv<=Fw$X&)!-yuJ^zB${XQ2j31t z4+Wy2Q8|R)Oc0WPxZ`7TJqYHn63fV-fY+D9iE!ze_p?9Qfk{>Kz$l9GoWt~Lg8Zu? zm4B$?V{+}UC76IZF<FopzC785=>s_?5*jIo=`*=H4LYXqF}Y5rn1DJlS@;+*9SS$= z=IeD#*gU+Cop{T-*CVS1)w;PYrMR>>4Y^{$d#EnSg>H=;N9f2B-NSk!x`*Vy<zLP9 zAm*cL&OnSEQcL^#my)Un68cva0_wR0wV?A!)LgiTTVmXUj3trb;e>RyGuHzD)<p*P ztQtR82)XA|GJwuU#(do)3@gHhRI+J~&mRW4M+{Q9)g1Cu0r~YqjSxXMiwKl_{h1sG z?VwG{!LReR=||Lyv|+1{L)}jPVh<jCNd*OYXB{&~##g#{fWM=7kSm1TizyF)&c}nr zy4QsgmI(o@aU?IE=R`*6;CTM!$oTt&jPQ*P5G{lCuh5zT&WCiljys5xeWpj<zbT|1 z&PNVuIi!yo(hlVv1d@>{-zRd#^8Fd;dVkU<&V@d4HuQ-zb-(Lg-}m6aV<INV1JQ(X z#C)TR11L<HuFd<!0okzU(WxtSHujwZ`@)?QdA7g$Z6NhfJ${NO6{9b&$pPdl&w*UA zkh8Bb)qHQlfx9&$L@UhbiB{OxaF1oaKi-3wm3tw^WArEvL5>5jeX3XCp5&Hn7I3jV z!S&XkalmuOAx<zmpx`*m*lR5JkCWm1#&*d*r>e>DO`sdgkL3`gOyeL&htCZ#I|{W} zY_OmWp2cJ$%-9X<6XQ(T4|6JcQN1nuUj?V5x8mN2a-j~x_iEHwYzgX90rhe~ozB4- zySq>y1@*GHmK(ACqI$FcRw!w=>c#@{S-V<`jFNBDMFd{p$*Nb&F06;Zq>esh=jzBP ztrDz`LiS)EOtbAv3{0j7{mvv^JZhtE@M}%;@2|0VkmX+p`4=odV`q2%lQmqnvi!3H zUjD2Zhm3&T`483Ef3v>o2N%TZF!ot!9Z1F&3t8w2ssjd*o%e$uLkg`!g%nH&I&Z*} z%mVEo4~a1sgBz=Y>Or&v)Ybv`rk!|WAY1VOG?}Le@L)QWbfoSW57%4LcErDFVD*a> zZDjJCZfNz32pe^_6L_Afvw6sKxz0u%&(n47FK`Kay~Ucpv@%ildCu2$-52qJ>)f(| zM9wr?TxrRb8THmSJs(mS8J;KVtxNShT5oNau<D!R4K7E^u@230{MZL9I1TF!@DcZ= z1IPcPFE0Ym3SNf%%gfDHq({Bg@($G66rLLy?>2jrEmMMND*7!zn6^sR%d<>&RS;AZ zKE#A{$>8|Gh6k#7n4eb^78(TGA@h8r)#h0`+Gt&7Rc+{gVOG@}PQ<}Ri;Y6tV+Ku| zYtKTLO{6%UWpR)<T(uVjJ$a*I7NLa+uhFGRI138!W?#SC@zeb_qe80qm}aM(pmbCi zHJoQ&W|9#ElOHR@9Y9<0GPq*!en?5qkvt=oWd?I*SSXj6VY9+uOnG?Vs=^0=V_%LC zqGh`<og|h>RGY0T&^Vi~4RinUL2VFWwDyx@DLKPPL0J)J@WX=jAE;bakb1(`Et*J5 zF^{$_>92jZ9Pw*>9ij;FfvBD5+b_E6f_)a+#u;Kwur>K!9G>O%3?B*QukqPkf!hc5 znOdF*JEv7t8>!Hf2suQ;DMy!~jP)c!&Z3?Xcb4l(B%XOa8ERh412yylY9ZIVv=+k4 z977R!&{K*Fltgg4w!pGRIohFkVLa<NAXd4E^qhW7T9~sijg7P`WZmNi-k;X{Z4k)Q zWt~7T$)Lu2;<a(RuC1*l@5i{+E&ZM~l(Iq!Eo9%1N8ECXioRXt6Bf8kXd+$Eo_xQ7 zYlGAG$Ml{%NssDDXdu?}Y;*L8@)siQOZZSmkS*+TrB=9jLO%|9mYV%I=s$FOS}s2U zjg(*Uv#u)PiKrr3PUQz7j;vkz%Zh_7u}gbM_M4x-(!$zFgd}Hkw*M;2Dh=gE3rUK3 z+x*BA6gu1brYlIsRVhf^OAsdwO>$(SpQD|3gd~knI*^x5UjCU*ENho>Ri%Xw%}1jo z_ufAJNe4Gzl^HAt(Jjpzm}(<)YQF>v%k!*Z<pn#`^YpZf{Z-FtgTI=~%u?tI6B~ck zbGpSV8;Ud^^jJXYjF4A$lvgv_<W-oK@(LqVgLU>Q%#C?v15Pr{PrlTo-9|D29%6`= z%WRn>pH>kpp8$m!qJ!m@N)+VXS2-+`mOGTGLm(i5Pj<O!g#K*4b2p82Md6xQXFd3w zwU{qoqjp;yl6Tglmz5fK7UiAA4fVy<C;TY=>$)r0R=*1IM<4s|&*g?%CY)34LVWw4 z7Q#%kf9y6{W1Psd+pp<kI;IhCXTaAbt&i2@c~Xv98Rd4<|GQnd<rOivq;rAE-do}y zCs+<nRk~ZVB(8G<d3^fAU$^}!ofx7_{gW*vkYWn4?q)2$;uijHzhQDOwifTTa3#lt z3RK|*V|PaK&=t9MacP6GrVo3d5$YniuT@aL=)>1<C+-=Ih{)}TL_NOb6>(*cHgS~P zcjKg9OoE&~1G<Q7hD(D5Zs{)VQuU{)K0BAj6|n26`+d1exm|h%Y%2RTjL^r;gfCas zOS)COyq9+?AEBxov1MQ5!BA;Rthf8rTAXyesx*icux?yu;E&}@^s7<%zwW^}{Mc=3 zdajU?-@cW`pIgm=B;wxKLPR-uTqs3{Mc^Az13z|~-TiJ>N<p0P#=|R;#(8Nc@12*{ zFydUo;AWc-Q=SQCV|YRhZ>92M5ac!YeA)n8<Vx8FQK4O*bcW&tQh@bxM6|j_EUFGt zi%?A<Z3IX4NkwUoWUckVDoT+A@xr{?`gqGvVdzWBWwnv`h_;x{`alJagJ4@)t+qal zYGN(k5HT*ZxOMTH>)CBl7&cT*Ai~cfm=;(B+f|e}kF+b3v6t3H#AqkA)ic}Bq}D*P z2;~?RST1lWfe;q^_cB<P)abO$Ew}DbNS&MvsBWDyP#2*{o0x-CcE~^}lL0k;*6uja zsZ=xvbb0d&H%x;qrCmV^G@B8ZZ{On**edD8?8k2N+mrP}Qq68GnaZ!&+pclHI&^b> z0#v+;N_0u4a5{>sn04UOU8bl%QEPUC9xP`u2DzB>x%NXo#(^>sgDh%%qA55jQnHq6 z>H=?=qu080fJR|4R`O&0(BARGs*=18Vpocr@<alEU<MGK3}#pl5JkS+pD@6DgX<Xs zI4t1|fJx4#gaLJ9Ks{kVJusjzMDP;>sE1KYFw2}QOQb`qK^Pp8&h(~2IJ&y1^=_Ew z{Gs2&AJttQ+}Ap&9V38r9dcAn<tVD`kykU@NFDvRMPDGfI8c`CfiI{=Mm*Dr&umvG zTX>S7DK$NVJbr6wj*PT}n!)*Q9?RHk^hQ;pAwa5>Rx&$5l9b66sz~i%I_Z|@$~TQ} z^8=|JG}>IOcJP?GiFQDXNoddqUD}~!Gjx~C4%R$3Vb$GqE?A{;v1nd*AN#tL_&cVV z3rtVnv8VZo{{(s3xoX#Zz|xWuzXvhE4C?{<AiwMF27-iLsct1|?xAFHpMN)DV)E1J z(7XM5M{~ue8Fg9(B*Wx_A<o2u%j0ht;yaa!ULP#m2<H_zB!ble`9jSa17ZClqo93k zJ65svYx?rJkEnw)@jPPyxlRi(J%jRmP_XnIr#KAO2#88Cc*fHA=km-LJZtIq<nqiK ze8AEV<?<Xb_@Jd9$>lj{@L@|on#*(8;5kb_p35_5@G(n2k;`)|mp*UsyybZ?2QL`B zVCfI#;6;NME&XH;UNU&e(of~!WrLS3{Y(x%ZSZMJKbM2g8hqB$AI-rl2CrE9zK<IJ zKWh9p*wd#Cp0V`(xjZul&szFDxjeH5AF%X8xjY99K4|Gja(NCKeAv>D=JFgic+S#~ z=km-Me9Y2M<nkOdc;3<<%;lLkc)`*i%H>%wc+t{N=JG5WykzO8a(R{vUbgfzxjf4T zpSJXKxjd&0K5OZZ=JK2sjQZwcHtbPMWsE!~eAY`n_loDh6u@SA0iD=Z9vJ!14fNh* z?AAyT@5G2xx0#-1(s$4YPR@9sPEg=@*`cgucJU3Pls<h$M3e{O(U?lGzDviYD5(T~ z0ya1=9`t}K2($r(@HO6gnGPtS1H5o-Ulq>73P%OF7Afs2Gho`cGK55os}q@P{KU$W zM#0{bE!52v#z$j{i0fbkOWa~aopk~q!Fw{o81)kISR9584EW6{tnYeEP2m}*TRw7I zs~@t7LBy}KAGuA(XX;TuCp{o$ZH2`rb+-Tc0Ek1AQkU#-$w5G#L?G*9q~o+i#LS9w zl=3*O#J`Gx$P$rKZ=u<pbTbMVB>B*0MpDkr6PwKZ$yp$I!-L~2<d)@CaKnS@r-p~! z{DdtFQ)PG{SYXJ_6*Of)r)tB7bSGJjfSVOHl8>K>rC633Onq4*qGiU)EiD;Pd`J`N zjEun;DBKKP+GU5i5V`Umx$T1<xkJ?ZnqTKqH9pt3Q6FLtUfB?O@7&Qy=ZpbjvCIrp z(wsM>i8p*v&UnLMUD_o|WRxM_yc2KA&KuCBR;fkMH>(r}dS?U1AKZ{NX45GUh&MLt z1inQb6H)WNq9IaLwdsh!;%-K3VrRQiR!5lKWHjn1-c0ThdVtCbrknswIgt`R2QpEW zxELFJX6Gg`B58&qjRvD>heQwPD>r<3?<G+`r^K2WBTkK*t42^hCAG6xhtetk7SXNF zh3UZQKo%9jrr$aoo-_<ER%sn66tU8JY*L8KZ2uev<SUeMz$TtzDjCI#G@~FFfYj6# z4xf!ck(z=-(nj{T-%!#(--THQ-0n5UfT202NyOCCOQ|%MB+ZaOGbEF(a<?=yWkZ@v zi8PmjG?y{`wN0j;P6;N)D3(N;;bstOEe;?n=bvIEEY_Y(leM3yH1Mj&m$ta;)Eur; zCDLS4(sN~bGCL^6JF}B;B@X0j=TQ~rD23J@!-aA9PH_~CcGDL$`;|P>yW`*l|KaE~ zqrMd2{W<ucVCsUajy=zX=W#0J%ZZqcn%3Us<;>>bgE<)IskHq0T>68#^rc+-sT_O{ z6QFpJjR*}N%|Cyf4~fZN1!G<uFgv{4Ns2cg|86)*8QxFt&N)e;!)7|%h0qoZ+2<DL z3pppL9Muo+mP&qTpjFg!aeyTz<Ms{Q-%Y}jJe5lE46BBBy$Df}hJn*s=*O=X(NPPz zlN7o4_dq@SH=xd(q}GLcV-EHH9O`=l>H`7w{@^49>VrK{|JFw{)Hq4yQ2%eM^<vIR zsuUj#hy<YCJUam9jft-UBrmc%bTBwcf%Hh~B;{;=;L{+?oTUDL?%qGjuIsAveDA*Z z>gRi<SEZ6vw&eKMvl7Z3DOP$+ER2)r3OkNtXT?nd7*^<Ev9hMUWdC6sk@3tjaV4oF z3aCL4K?E(JAfi)QC`1r72%>H(L?lX3f&%Ip1r(?dF;f`~QCK2NGdS^lzI&f@?|rXc zmE>Ra^jOPv@4NThbN1P1pS}0lXYYMV4Zin#9KG5Fl9N>NG3^|s<qJ4T*<EP2>?B3u z%RMa}`XVhAPEw_oz8$+3oTQ46srho=5_jD#nUfTSPv%Zi-lv0VDU2UZQl*yOQ|gnP zq>7IzbrL5j?-O_3Et!)Ph35*(ySRW6>igAN;UraR?JFw@)uy(bq^L}U>M)e5rQJE) zG~S6jgpuxkCa<|e=nCo11t%%KKhOu5Khba&PEsXcu0$jU5JtS|QYAEfAU3VLwJ7R9 zaFPOy`95I$Zvvxmk}84mR1X-k#B^5z81p$8+^q%1e7BR756I`w(|F+|Rcid_!tnQZ zlJc*=T*4quQl+o|7SN49!d}D;qmvZimv&@wx>#04g_BgNqJ5DH!%z%34oa2KthRNG z3Us#?4)9mA!>a&evCBos`}2<iqi~Wcf$@_OjKDpK%{KS6cfmDvvsR;cr<s!!jh^W< z{#Vp!;UraR^zT-k6G*1=oG4WbIA_4dd*Ylp7v==s!Zs()1Sctd-v<NV5-^36R0)`W zh{PB$P@|>uwDdk<fSa{2a6ULm(dflK82Eb;Vc{fIYV>Cf?Ooz4&;fK+#z3iBz_|!q za}fjhLmO9E4j8yNgr(l8=y0($nUmt5ibWMpQYB!%x!b>by5!uFWS3~`!1vQAH~d9k z$O<PZU_6WLjZRYhjN<$5PF?FGD<8x+o=R4}>?D;)ES+Ot{kW{Lh~;DEsRYTp1ChyY zP+yi}`*0vS*5f2a#kutE)MT^sri1ui*)$EurcZ^Y7emvFv1w#?Ptyl!dJ!inn#(1& zJ4q$d0nbxYbdti`OA4?nCng+9`^c^vvtjL2<s!S(N2GM_2&OuY=1x*XIuo)MAYCF< z&7^LZ6BFex4@4&^E5Be)Qc1Relaxu(-ts4NCn+m`DU>If1?7=|z2)b+oTMDpLH3!G z6d<6BmFdWcnKioMV|6Dfe~&V!L>fq7ZUEYE=&j#qqo3VinzbE&ZWuCuq8oRTqNe?F zlH$70oTRwH*@<Z_&LFkWoT0{ay&xwku4lCE#uX>15nWHqNs24ZPUE`b6g8piyqu)C z9*~n11dKBkIfBuz<Rrxvr>GlrJt8M5t_P!&6yF@~a+0DCUt>CPd{>g4W@_OTwfwbR z@{od{h`iDLB4i}js8pBA>K;;{ff{U<GFQ0?jzJ>y+9ib>Q4wHQK7yh8gxzOHgNM{7 z__@8ZAP*@D;{ny-njDmel=>+TDW30>hZNUY^N>PCaL=JBfc5zrNjM{{3jpwtvO(fD zzR~B$+$+l9lDE_)8<dN~uEa0Nlg&tqzl=E_2ae-U`5~%=ETTIU{231^BbnmS0v=Kk zBV|M^N(XKkB0vI`MH&-QK7ohShtx3fKKvD*TXGL67FgcT>s6rvRPN0pJ(!hik9kNX z<evdzucxTtjCSH?Xh059z{}6*S_ItuiVjjRcdP?R_B9ZgJ4hw+Xu?y8=u-1kO61XW zQor$NI<6}oO~-V_qiI1`oh_y-9Q6(^ELC@M5$OWKXZ410kRKI(P<DTbW7zPS;@?c= zYqeKZzQUMf7Xd7KUO|uPNZRG(L*g7xO9@Us97(1kZFBO$OG-bKXUxT^IT6jO&gewM zk!C6~X65(sLjhsrDNE#xbU;^}lMbqo)sS{MFX2&?$hiqOqxind`3VoDM9xtQ#rrPj zsbhMNbJg+UeV6kUPE(1Tvlff@a$9oQjFI)U-s9YLM%U=^bxuEU13Ryeu>4`h@`HFc z-(FeLJIx%D?OYIY;<`JV@f;KWsQrKZ55WV<=x8+uD7|d|zWG1d%yZty6cq1cUzTx} zPN5xpW-)7vt>F=dZ23PG&9m%xMHZ2X|5N->dtG=sNo@7{Kgq%vl!9cJK3GLH3Cfd~ zSw(>hDyEm|tMdA*(z1fa!-~LP9VqlIUL8PLK~eTseOFSvV)gCoM0Y{T7kj)y?e)cK zd=*xlyh6M36?1$Qmc6_(SrYYu_*(066H>Zy|0igmP*Y+#lngJY8@V>Yg9<guPGWNd zhE*m@MnC^2K1p5c!Pn_m?y!-}PvsNG!NT)J&T4~P%mwPVUmD{F=VScfZgTFXsX0O7 z@|sEpo2d)8U!Q_xa+PnBO-B}=7@*@lHWkdXY`li+#c(|;OS?@Pwn$6&vpAE*=UBG# zdn{XdomjT==O;_gm8Btmi}Ih}D^@@PkiS!V+W)X4!FXQ$lRMa=TeD!)(~X+F)6-AB z5SA=!^EbX<maGY)zMu*0msc8&A3R!^O^K#nmnF*r-*Sk5?fdl2DOs|(E{@_T6ILSl zVWWz$#H4E+k|;|SnLpS*=7AXe(~OEtuvZ#+_}g5UImw$YTe2(!?i!jlSMbpE9HbYU z#&~8;@6(m0=LYh4xC4EfE?crJCN6LKL)PoX+>)jIGY3LLx{)ZgVJ%b$81c>E2gm9G z^0zyx59jtJ@9Q6z7P=N1mpAzF*dWrn-Ssi;9HwPiee5o@8!TBdH11+gOJz%z4uUI4 z@I<Mlb>33=m{J$>mbmL~DaO4W%`I7pkxto?WifAgpN^MW3L%W)V`@GcELnEf-IAS| z4sBf?43e!xsAWr*g|_9b{g$=XMW{B#u?$8+_1>1MrQOTGAsdE~?$a;>k?s{;p`Xix z9^eKrvjs!XXHD6XWub04Fn<uc9zY1uj-^Uyde)_a->pSavqN~CIPfL8l7msUWLeBy z4#p>Yz*t!cjR)c6cWZ%xLCqrW6zr2XUbbXeoL%1de+-SwKmTSi3IaBald!SHLDyyw zvYf)wP>Tx7#x0AO%Paf@6&kyQrHVmX=50qyNfPIfm5o~#1(#R!(H^u6t*8WK1aa<n zYoP@LpUy#7=g<`bb1eE(Hg1_?cn-#YiC~0pB#Dke6BxJbX01lCsKxlVlYJ<&Y}~R_ ztnx;WTBH4@3C%k{_r8>>1)P(>CF7P&lT*kyO%rx@Y?_=5rX79X2Lol}mc_s2!2Dqk z1|-Kxlp*7m-K>Ry(?d8#IjHCQV4!T=LiH>$z{OQDK=Wk`l&a<XbHF9zmSNyRzyNz# zhJkZKm`)s+{awbb#CT-cxMlvoIR<|J`~0h?N=AvA`QKyQvKt3I8n?9dC^2kWwDbu5 zj1oOY08)FD=wJCEFM{CCV*o3_%#1vRdFu#MNh3KQL+3;ozTZFZRv?q@j6+yj+Lu>2 zczV9a(ghf~ba&TLmyd;|%iu1cz$_Y}z{qA$xRDLok4+=ndzzkeBb$1iOLS#LmKOq+ zuG7>MEnV2n99!y>4Fhb4tJsf*ONfmPxkxYd5h>0xs|W`?oLjmq91ts-HiKp9;V<&J z%Mt}}7jsLOl|K~10S{R?AhNZ${L$RfW#yMb`6Vlltn4j+c`%x>JRDF%Ubb{Ovdcte zlx^XF;G?i~;e7=EovyQl=3+CznL|d~vTKnVC*IIoe*)gLI4}gF_j98~o;}e`9uD~Q zpoarq84Tfogz2H0iA~_>$`#9$NoOov77lnagacyHLTYdvO$Z0Xa%JIwShy@45DS;- zfU_YS5X+f`0WO9xK(lZ`<Fasx%H}Xr#o4mI%hFYYz;a_(Ejs}o3u6~F6^vcS7;S|E zPU|u>-EltOFC6d~HJEm|R5o^r)@w@`yHpW9tNbFyt_8c#4hLh`Z}M|{<xmI*#JF{n zfj-PK8C1-Ma6lp{4TwuX!3WU@q;No=vXP3jC2Tcj?23dQ-w2j@HxC(HG8HWeDq@0N z&p)dW4L-AV3&SoXxq026nz73$BU-lL*A@;4)fA5oSva6$BpAD_!DCXBLpb09_7%k< z3Ms#dvFihJX7Ef%BI;o5A~ec-qi{fI41mhLk?Bt6I;j#6RyGsHfO?7=PGUBqkq?-$ z3wZe%ja_hBenn#!%wDcA*_UWCH+EV0-U)H7n;1o1F?Jo*b*mjhZ{d6M`i+t6kggcT z4(JMh-Nprda)t|7J^%#2uQ!YXmY3RMxL?B9b>8l0Dqq6b^+if#=Kw4kyP(HjW7kE> zXVKV&rA$TK*hOk}{lFP6C?#g>y5!|OVh&50iny^0OPNL5VI;H2yIES7u?veBRK|ag zcN@F*>3w>ejAQYAm$3^YnIipa7G~$)cNx3p_5LN`uK2#o*rkX+jA6>?73-Jn>Yai_ zk%TAoev3yEV$dU#6Aw@6;pPy2h#x({CAqQdtloigY>LSl^<4C2Q*}yL%kUOtBj<!I znmkvT_V0X89{&en1?v}T6<%cWVW?<?MYS_#{W2AYsp$MrH}FGqq4VivW&qb@-MR%u zh~=8Im6^5lCzn**+sCjIHoRP#ucDa*-O0<WqQ3<V)6109X274P1-DX(Mhl&aSA_wK zSF>HOX3JmoU0czX$rUaB+`N=8|9A!BBrc0rVGYVF(@3?3j$eg^Ft1E{L=7Om)(YK( zkZ#<zWzr@pCb1l9g_qNf%vKOXp+%W(%S{?qnQR*?Y+K^I^JcPo|JG#8qxKGrmQr2~ zy8Bis<<*YDeXAy?E%*V{mfgx-Io}nWmXft>u*i2c!<t6)g@SVj7xG=DTx?3=+8^Fr z(KS4q2j9^cb+mMULif<@sc@COBz|+Qbibr~n`qQudVZyJzfa2*lDIK*Ojf{@c>pnd zy(_Ji2>lp=e!O$GjkSqW-U>t4Zx5prj<EtPtYRzg$Y<5+%4dbMtu^Mktj2N+(^GZt zk5-g2Y?bp^nROxu)ALvnY;T6GW5a|E8umhZpcBK=P?QDF^H|{=eHjdEs$bF-m#wGj zc`~3YwkB4CUsOJ#!mY%5?Vw(^%p>In?Zo$x8IWx2U73HCFOXcyoVdXy%1$ebNaq9* zF|3dhmE^FxI~|s>1`ACxHtny!noQbXf3;Eg&6MyRJb2zn_*fR$JY8mji89SIt*Wa} zhpt|!6Yk8kW17sD%!lf5IcJs`L9PMArt<|1lSVMd@B(zHW{>C!hUXi({pDyQaQ-l` ze=R&W+b1*DD`xb_oAta;Wjx0(?a*>H>pdw|3A&CN9FUdb#Eu6*js-xDHgXHhi5@`8 z38>5fat(l(8eRZWsuDm>lmS@`fSe3~oM_}(k51wL7|FbxbIXh-IS@-mb;qRSx8zU7 z2!;=7>J&|R9x?9t%~wHrbMp*^_XoqGhWazYd2kmpi%Q<g*GsL)U8?wyTKB_cy%p}d zTZvhW&XugQYH6QZ3eGuZG|5|f*LSM&uF(zCmZcvH2A{U)Xi|xkG?o`&S|Y0Rx<XXv z26B7NQctsIKTNa3PE=+#$(w!es?C}tD#o%@C0$(tj;BF~-^he3h?WCH+K&)KO9Qzv z=c%aR1Tz1UAPOiq#Uh93A6KxGNaiLs3y4Zp0?1Q_nE(jxz0T1BAWsdrj}C~u(u10> z3XtHTWcHLCkgvwE590u(W>;wCQ!?Uk1E)%L9EFKHt!SjIUm3`)H~VtN>n!{4)Kc&S zGGj^J(l>fqlEmAG{nlFIrf*C86s`_Q`mU!U?@ch2lQNlpmACTQR|c7dvbeo+d^nrh zo7Qfr{5JHpz4GzltiAWK&cI_t&rd67Ph3?-!Q&1_K9z#-!OI7PB4Kh1jJPU@I8Fl7 z!;F@w^N@w`vhwk6nB<{9WxPGbQsIzh%+>#?!7KGnGnczTEG^}r=y+ce7|<F5z`-ra z89hf9`13sLs+UjW^R$paXw@ee)nn=mO&@1*t4%g_Y$0@vDydHjgKaHCfhAeuXD@kk zL7=R}8dXQEoePzp^}J5b5Nuq7eTRDjrl+MzxA=cVN3vqBiO5Ch^dNU0o7P#88@s8I z!^b>RkVY2d&Enfs!p73{BZcDRP+bgAE%iWU7N->u8G~7h5FvhgAUX;}OAb*kAfl;D z5arpQ)__R6n;L{mJrE78fX3#)r3ei&s0W%8Ky%5VG5OKqz*-sI&|=x1a6_B8@`{Sh z(8eNxvIv=8JJ$XIjvgt}U}4lXyBgXL<q;R<@+-++JwG?l8FS6eEnz}U5FaZ^NK4x= z@eVSdg_;Awly`vdtW{)3Pv6gB3p^n1i)&V7iyaO|Q~%Xm5F0C-E78UZOKU*Zh$n<_ z(+%|@F?w2GqIImTYW=B!&N}DvciZ$;<3U2?gc%Aba*!_&1Ey@zS{sh5M{2lqOPgAw znv}Ae9|)s)dB8utG%zi_jwRvXG~|RzFzCj+eS=z+upZO_KwO_5m>$vf%D}W_z_Qsc zou8H17%U9BreJo$3W(JhN8pJLBSgJLPs@B_#P2eWH`5ywr_6~ozF|0-B?uHBT4>Z9 zh5!SbpP>L7p;#Tb;xB|qJ%uex7?k6dZ#U$5tY*#db-+j>wv_F+hdxsI!^_qQXDsod zU^*ZnM=y1ctu2`Yg}OgWUh=2Zdk$rEsG@<&j92O)@BpJ1i7(w;)hf4eh4cMnIST8l zw8_g3_L_<}#Noi>aAZaX)5stzOc&3c7FH5`v}80IO7-J}eqcSZA9!u)hn5|oysRoR zcTs-COf0f_QKVr%@anQzbSD>Bfm9tCtO6M0!O%ih?QCeTi{MW6F@l~FS#V^#O2^QD zbZv)ZSnJT#)Pj!}V^!p0;!*p{MJ^`cX(5rHk{!6+V~pW#`^pX-w~hIN55IkXxcMe( z7(C~7)1zr%9Iu-e#cAWo(%;FVVK-2kr-BtVhC4>uZ3nuMS-^y%7FvMJBQ3U?cTJ;E zNtAn0-CzT<3{SCJER$W$$ZbHHm$~_;ugHM68k^oneNnsO#`W#KY96nkwSsL$3rMeC zN;z8`MLj&0lOAn|(+!BDoUsC}3Sya{-t)@1fTTlw71kHLaxFOs*7!QCba-uiCCc6S zI;_Ze4Ld26h4@+vM>Ejqrey88LfmC6)3pXRW)=0cVCB*J-YU_}3M&sy)9{Qun9RBt z5;&!huRVfLJb}}JQ6+Ht57WuelZhR#S0&?%XK-R-5&vCrgU3n{_AmV;t#7YX#s(V$ z6|<*U%ra5Fe?yKJ#Tl}@2^%5SF;gxkxDZn@ylnbQxM_3OXtp@QMp{C?r%#T+{i(D% zHo0j-ePd%_a463>KCylhZz8=U2>gjXGR5KmzMd_o_4jNZo4oG&&0B7`;U)aH>Bbvx zOm9r5J5$%mtZHioLPBn@)M*Rm5YBGu4Byit9#BBpfr068`wKt7NaSDC!WSqf-%Xj} zH@0r4@bI2(l}h%9Prku^@tDy({STk3w14WYvLija+Fwgvqq|x=z4qI>YS%BX{d}xF z`y=p#6H@jmT{%wRl&)i=*&plL8qGefYjZUFjIN`j<lf{uGMar>*WuCZb6lDC3ZTjU zB;Iot^cmgPc#bFJ=T(*%>M!Vud*q+$O7QMkU6ax5i(Io|%aN1)neLyoEICS7Cx{u} zNQD~xw{|esWp#9BR55-(Fg?1P1A(wX)`HcJ$t?N@jdskKQr7VQJ)05#+}Y8_=}3-q z4m##Bud*Zm7;w%If_Lm#&|-E!k<VtNA5pfN8i}52w2j(0fbzG8&55zyuYKR{k=>Q{ zZ|($$5uI0czy7?wvyM04Yid~4V%$Hv`<d#yJ7XLqPfEbCCpu&4x;OtAvlkOWB$0GP zB=QPzGKNYm>WDzPg2L2%*=RcAq;g;Dr72)=03JO-f1m?I;5Tm?&HfyEr$eYh1Ex82 zBT$GG(sq&fh0C3g`}X#GHq#7sWG~lkgS=-Xnql>5>r$2}ic+t$Q_Ah#ttml~Y^ziu z*!x<Wc=)7FiB2-QIAY{B-HPJ@I<U5ARD|Q#b(-`wZ81ST>y3~Oas!fw3M31F+H|vd zvyjaCuNTMUxVpJEr9bU};~4?BhnYUq7sss`h{e~!078FsUS9J%Kwdui?rYI6UV=sh z@9xU??PlZYCv317qL<|Zq{CF}&0BhD4*jD{bHk`3{144Rd0FEgj?>2DxkPi89f?<E znq#Q;bVgUA!)Z?A0Xi_g_o9QxH`jLR&yHS_>yM5ek{eZzws(=7=8TaXLpvHtE`{W< zt*9eLazi4yj=t+9lF8;vN<<=tx;ByYA(5MWxUNPb4B0@&lD`)xMj|u9Ng8l+qo7=a zL~iUyB6OonA~!@5X@Zx5Y$-6P-!tj-HWxrY0)0bDLt}LvY{3*|Nyf>%nukvdS4_Lv zs^wO4u9gmLuk5Qb5l7$1JcEk`zBX5-z5p^Y_Pey6<9a6(sr4POT*x$M8YWkmEmb8` zx)c4Ch2yT~ODUn+=c){FC@i8c0Q%sD7YLx2^#f?87oe^E00LJ9K<CE=P(X-f-veES z2}7IZeXMS;%u8U~YY6pqt*tpGGIdpb1QWMY436kHm@VS~#1u{b%Esr?<V`(I(u>$+ zr(ctF9b?2joEZndt7hqA;*9#I-xYq-p|4cLLWZ(ST&tY70WpYsXoL9gD|fdxKo}CW zrAL!KNg#_y#9F!TO-Th<?E#MdR%O`T>y+_`YBn=?<{8+wRTAUoEXA{TFh#`96Px2u zBQp%z&0c|QxT_VCR=Z4~5?<)YJ{@h5%LE<W$aJTcfMli}n$X|2gy$8+Pk2-nF8j;} z{_aBUft3?r?87udzYgFdZuEZ;G{3IZ=|^wi*d_o)Yz7>t3iy>%fB_<(QLbDBFahmB z!S`^+w92aOUubl}t5^H5+UY8S<RxGo0xZM(VFN4eK|IuF5b@R^I#g}m*bgG(CYSm^ z^oW|<n^m7PL^t+8MBjTMg2%1Ik?~dWt*UXZpD}e|7QWSL^(jrKe5}3n7Ys{Qy4j~R z4G!p}b*ovLy)j5S`nY=g1ij_obHe|Yp56jiZ*MpE>n(g8weB8rGv$0CgI!CP2O@QZ zVNQ1GpG3-Yq1Y|`C>Bf@d?kv#z8`#B1Rpu1%J2=mu<&i}2OoIpg-;8h6+#81)-tr! zGJL}?EPU7ZgAcs)!bcX+mGB9van)9rgeWiL>;a!i1E#j@N?aV}PnJth;NtXk-`C^v zth-*KCb}QM7`q>^%MVG3gUBkRx@4w3w6Z>v>1-W$f6g}}%*|meR>$LVB`=aT)i<_2 zrCmySD2iO|Be-=HC2DZIMRH>kImi*tqYGG*G?h=hHQik^zf5PQO+<#2)b1xNusP<s zgP8#XxK=vK!GStr4kqFR2dXkod@!x9d-5hEp*gAeTwD29L0%Q=;!^K4q{zdBD;-pV z^T}NjrQ;Y^9-Fpw5Zfzle?Oy*5`sFj8Js86LFwcJ?2GW_*+lyUXm|)L-V<(0Z7A!= z#}V7}?1q3MSP#`8U$HVPf7Kbi$8r@n!2qpP+aG`PbQS!W8x6ndGiQ5IgJ-C1F+u=v z$J-IOoxwMPYGqoYYFx#d5A%rRN~9&`X=)9&lz`OE^ByBDGe(;#iRM&%jFiPzV(=dN zNW!*<rbn16=)a`iOys}B>I3uX^g11PRMnagb7JBrkF!bylX7C!v3Hb_B3}H1j+8i% zS^#wj7m#7haD;a6*<PvG{~atCy!Ha8K`}6bmH?42U+-#N=a>?LAWbRZiFOqzJlPp9 z<AJrg)zL-?5)w$02NG<gQc5aoo{(=#c-6xqmP)ozI<z=`4~R_C@rNi~zqds~wCN_m z4S;}gtxoac#iQ4A-JuUjI59p$T*i$ir8ie}sv8T*?D&^IUupls9TiQd!R+#1#$Q9} zcy=+qGiBj&{DqxiJUf;DsxjD#4}|1ZvyA6Yef9HLkL0?up9+<`*gSkM^SJ$IZ?d); zZ)&wI0U}^weHM@eA`8fo5|HLp^6aZ0!?v6Q*aQ3^@A8g?sc(KIiJ`Edi#XyweO8$W z<C+NQJ^dyEp;4<%1X1?Ni2x0(m<R)+mSQ4s&Uro&sy-3M7=Jt3E}sM=@^oBd5{&dr z0OnJl2~aO4K+<OdpgcPyaRRI>PXIh8_YhwcCx9juMC^=!+QI~2f-(U#Ir9l%p|myu z=(!^2nE-TO6Cm$9D-1S1$lHfOjJ`9at;dSCF34F~9Sd^SyL{ApC}MzjIkiBk&z|1E z{F_>y+x$6wKX9$|+D)DDm(UZa6e8|s*aOOm8p#l=SMM+cGVB?NK!(F6g2as&GX{f- zoFC_d&rt}-Pw|&x1{;6jA;lk(K-g&OHy|@K37Wv3#gy3;OB)Y~H%E4j@-Ay-{oc); z@rQ6j!Vq4w=<7WaVstg~Xg)1S6dtX`9<NvB(30p#Ks3y{QvX4qgW~hXV)q28?L5fz z0gmQWCyXii10rLof3nksMj9T}<2JR6nmNN9Y97*~R3!sD7kqlQg<@giX#TRJ3V|cz zM`#PPhOkHqR`_5Ui(X8)+^{OQK`F!4dQ~Eq-uL{7yjxm~qnj1eOIwwzO)tHBel4Tw zI%W_Jk`TxXsa8m{iaFxNd9d;-jIS~?{@c$B=u2XeeYbEPxQ=5Of<%=VlYMq}y2Tnh zqS0p1kC-gdtlORO@gb=!?2HX{lCj!YtAf((GmC9c<wf@cDh5#>OgHK#Wm^ffbaV+A z8Y1hh&iUw7dZb|TdesS~3Fq8~^f-2?2&E@s*Cj3k-P^3`o*qrro2q0nJ*2M{+D<V` z?jd$KpBt{o#JPbOF%H8*$1sWR#4h(9I-(>ljkJU$xM0O+u?j0WG+N=kxvn<o$(XDC zB{^~FFZSFTEQv1CoRsEP_rNjA?DVZM+3L@Gvej-*nzw0&L3M^#r#@zz7@|~tt&yTk zVPG|wF4|iX6H&Ek89&5b!liqVDU3}Rb9DT&YLn~uEmUY&W9y;mW`@_;idoX8#$uKz z*`r7}SN9oM%@RtrJEJyBoG;{aC8<_ezxiCTfVL)XIXppuy?W0J*S|uEO52)bVkowh zFy%(mc9`@xfYl|Wps@Zk3h89#mwq#<3&-_0ayAW>ATkZXC`%yNCUQ!n{516m?4nC) zMg{dL$1my=Bqa68@QeD?cDD$4k<B1b%1X>;kR#AgSIi*yL~4pLu}o7YnO+?p*AsDQ z_;p1FfZ?>=Mc!SS86W~cg<R+W)n1jd$9VVr#K?2e?7CX*(HmJMmY`jQb+8!Bk%L!_ z#FsB{%sof6oyst9_9izB%o4uRFYPccIJkl`>b5JNpoU2^f#56$F}0L44^N>pDGraa zGh9OEVNrv*6XD|{WsA4Vx`t;5SW~)N8@XCa_k;r^^6J4G->zg7$-g;8x}5m^S>3;r z%E)Ytw|D-0xpYtHN|G&mxQd#dw;XjiaQw<k%d%T0j(PUKy#%5VEwBhz;pMMA*Kif( z2XA{;;SjC@@3;`%vM|ic@4cK+7-L2WOwTBM1Ro*socXSB6&@_Gy-)EAc(J^be1_VL zxJWl;7Fp62FY^l_T!qrhdAQ0q&n}k3RZ0!M`+L+-xj}`iB-sh0hfY_xia+fQSMjH4 z6J6mduq%r_IU#r%koK?tU<!md5L<MLJU#O0l)5&jheN1Jy&RolJtOqVdbS**Q-JqC z^jixE{rS(+zmR7a-cjn`>Ik*mdjX*b@GXi6Jp}m)p$ByZp$9^A3e6slF2kYOZwakM zbV{jNPq<q~t5Ys#uM6L5Hrb`SQk8&x*x-;Zz{nm6fXoL#4u|LzecuB}IbRCg@R|T= zb^}tXlJ6JFfDj&I7$L^YFtQM$Qvl?6DLSQ`A_kSL1jIk@R$KFVbV~6drH<2-Cp+fO zzv_xkq43kCR>~=FWTGvm_?JqpNO3Gaq}0=SE8KOr64S??V$(w0h22A&rN6FRrA2f~ zsimJ;F=^tLww?_{bqZ%XWw6y)o`Elks7~t&QJo6WDZqHPr`Zpy*&;fn)a>6_2fK(W z0L&yS6IH27x_TBk@cRunxJ4R7#K{;$1OysHXG3%f6<z3wPB|usis+OQL~|<<VGLTw zb96yesuDmh7-j+>gvS^lL?ap?7eaIj-!J!|<_`o&5uH*3<Xds<145wGY?)Tx5B_x{ zb`zsh5~Zb6VEl53PNAjVIG8_DOGR`_sinW~X$j_JaWK|WPaI6%5^*qztjImlDdmJA z7}QFw{2JqBA_^(Hy>i5&Q<7T{OZxetzR@WfxFBcl?$mPG)|LJifl`W2G4PJywY*=d z7}QA+jhUA5JQc!B&~OuV0^#if(JA{16}2o>d+$X7%O0I#J<Ea=B07aP0!7;iiN(So z0K7~do#M|?N&I;po#M~a_&kqJQD-<r87F#mh6avc>>%vMI_6<F_9^vAKM2t&l*?s_ zN2hpmL7?F4A3%*0obeDEgtb$l@<offuokD;aYeqb5uK7`ixIg9ogU;KAo^kvizapD zav>)8MU%;bydel6LKS9P2`XY{tjiuVQ$W?%)flrh_`t{6ha2(J1JU6SFGD@KfatIo zKs^!TEs~L}0TJ;sKEZqN)HgaM2_XU0j|}R8W+BAN0F4PAk50i<7(-u*?y?723JYTG zMcPQqrH_y)N1F)lryDUk#i}}C(J7|Z@D<{sT)vmcUCx~9icWFV1o5$wgdm_uLUYV# zO}yEVQhC-w5oi_J(bM-+#D~nXy$HNHd-v!RZ!U<9mCcoCgJ2kIj$jyJ#PvQ9Wzi|* zuZ*oDF?w1*8)9Sl=0aC=iZ>o4L{6Bc=oG#{9-6X+<g)0L(6FLY!Yw_P^S((byRqmL zUS3pm3fCozPT^)&(J5S?<}gTIi9(@+GYR1<CVQV!bPB(h6`ew=TjDlIU}*$iVq>r{ z;=m{vl2R*t#iLW;4jzM|)xJ-R_?`0Rf|d@7Qy|j#My!X3kJ_>itwpL3-2fPu2VIlD zq#zo@6@MW_>cK{>pay>`gEe>3x<hmd#SC^QiP%#1v_15Z${${|ht62yL%}pFAxAHD zPozq6IovN2opM3F*HP&{f=ixl*zyRggF6JGm&n39z@vB!PJu@GrDzmiB`W%)7PzEE zpAbNze7hcfvY;QBKP>v>i2o=>pVSBwnfLMpGVtTD7a<~mABXs%S#m2E)}%YQV4yv# zr-YM`<0DB~_+mul9~rC(m?4tI?$0MA4&jcb`-Y~R(>wSWf5E&_fF`sawg0ao87|0J zSS12Qm}>u_1)#7X^#ByV=^ub%W32Q_Mh1SPuoFLE0fGy645lI$Ok7yRf(b8+^v~vb zmj|F2b$d|-jCcS_(J2<bu1R3}!D|4LWENgi07^-%aZSouU0+R(SCCV|nLIFKrRqsJ zTmM8=JC>8GOaO}Uy*vPg`lR^BGC_l<3Y+K>0P$5=Lh#BJ;jRFbd@;joV;xbn#;=ij zLOQSE7==C%Uu$h>BcYoZfI_+DJOITs3Jp!&hQ;_%RK-FHU9H%y65aF*K%v4Zh6ofu zh@{I6S#*cowjzf{vn+TPUE<cT=zR6YWa7yI#i7hM+@`}UVLo;+KHuMAqRdwdX_e|g zgjz_NmMBO{XWTQXG%0J_EC18&6^nVT;3t6Jp*_bc+i6fCXCNsv2^(cR22FNku*~6l zSFg!$!3=^N0F5b`llpj0>1zAyKP<16t?bjH`98^!XwaZ6eXOr|#;u!}c+y4_v}U!D zzh%v4r((09`>$`NejNUK8)%msph~s^P+5o!rl{By{Y$xQ!*r=W=*UC$P2Hq3=r>>m zHy6F*bnEG`oeklQWQVG3!3itb`)5zd(^PbmJsnO@*Ov`B<>^yU1B`$BN@@q$Wf(`b z7}={6+^f2K+)6x*1>@^KEDgK?4wWgp(f&VQN|RVvIZjb-Kh~3S-%`k8scK@0qo93A zH1r}DJ?8{(!ujlXI!NlH&LnY(Qr>RWJI?}Qg~3etMD`uoV(c+kA%nY-%_5J)fvI5^ zwrwAM?8NPVuU#D561v~%R1K>Gp~5K-Y{2CwI|UjfU35<g$ygQE<1x|Ewf&>blWYQI zuX%&f+XH*X>Pc;I$o+J(_dL00EE%rL*qgmp&R6y9FBvDDN>ct8D>*{(+Ca5t<+m!( zyPmxQUtD;lP8gurN4D~3dHwY%kC3C}P&a8JeEAUs0b8RoWBD^*#R!8!{^e@+E*Tb} zfW+_6SF79;192dc8pN)1-b^;<WlcrPE_H(dmnE~6fiS`lPzMFL2_TF(2znMl$ljed zZFfb}`|YSZ<Oc?kqIofLTr(T$WoUu|E1J-=t2BYD_<pIG<mXGKC&}Fdw2U@w{VbjL zr((F5NQ0&8QkAghjvYyrowZ&u5sb`qmZB(n-YDI`5-o4=JU4m@=GAvS-B>(j^*Dk# zQBOD7Q;d?_llJQ@En<J<$91e20f!Y=0>#>nl(kk#r)-NVz3#STlIPgNHwY&c*~2&b z9qFAm*`0RO??@|}8@F;{%-dX0O0<3Kfb*9*w>7AIh6jJq{*;NGCBuS|T*Heca1Y@_ zJ;%*jXS>>L*%@<~@sr1Kn(fFR3%UEyf*t@^J5J&N*z}eSHaej(e&9BY_Z3CLn5owK zwiE9KrzN>>31t4{pUd^lM#0|n?aaH-s5F#D>wL%%ddt=oP54>ZS)Z=JGuP<KBWri% zk+r*mTg6qt{-S9HtAVZ05A_Edugf*S-d9~4?tRs@0oS&0m@|K9YDIt$k_WM20Z|W< zsGc@)W8C2sCK^P$6~Z+?^0mf{1{C(&KJvX9sBM1q%*?d1k@Ncw_VT#gim;&^qhD`- z`yP8CdCi-h&}40|w)~)OIqaZ;Q`Cwen3x8N#qNV`HhA_0QccDC)CJ=`?Nh7Jzf-^V z56%<N)rVxx@_2RXKV4fJ_ovAZxEB2@79&7enz*3#IdwzeliRXiH<s7z#?n=~K{m-X zyW#swhU`)|;8)M78<JrA>V3O0%j4BY<H}XKapfxAFzMkmQ|iW&#EB16`;*4Smsa6C zTIikb5BTDmfS-_?!Wvxk1j2YNGJ<7lDixDZ3k{oTrbcT@1x4}G_!%Pay7fd&M(K%W z1@Xz}YNBoP^sr~MA@@8(ja<RTHI;i=yNoft&&+JrQ=chDE}q$*4+6R@p79x$-hgZ^ z1Ti}0L=@1))2Th3^-(|<;<+T8C7P36#Xs=#?Ps2OW^fOR0t`rjp<|7TBHYp5Y$;#e z)BbZqFHYFPas`W%_11JH2BCe<UN`+UF56~>lKx<0)c(Nh^x34pZu8o3;AUvP{;&4+ z7Jog(YtX@Rl;j_9a)Qp}6k-OEVNj5c2ek}){ho9p|3Pi*!w-PQbc9WP3F;NkmU507 zp_H--8~6Ny#@in<X1&#$O-a-eY3O-#Yur>&;8VQf@qzQmf<9cYJkS0gVz#{br7B8z z$3%rxj*Fmx6u&`WaYg*M=l^ZFtdyBBo2Zg$mEB?DDySv?$ydfLSq>1%%zQI-a?V*; zlbVX98QBrZ;Z5W3K)D{`O@s!fwVQdfF_UV$nVv(unhfp?tZu2;BvnOD%mz30+s6hv z-)6T4sHly4H7*rJ-tYgVFI3tedV`2f{^+)lI`gw%p!H=S)oS{pt|utQhCI<`{D9`N zMILagE}v2rU%0<AnjJbAD$DlecUL};H^8D^i~J)uChI)e#L{4%cl1?gq{M3Is4^}? z=&h{#Ir80>|2oPQobzI&GX%bMIt+d#vq}52KYBfj*($42Jxj$qZ?9BX%b~-tEtL2Q zQ+9X%=oz;OVjcKkG9B_K>805y!pkIkpSd4dw4=>9s*)a1aVRpP+qvbN5b`l%PiVkq zB-xoeX0ssJqy1iGSFt3$ou;kFWtt!l_ic&NUIVcTUHaGDFPH^2w?3*^f>ysU=orva z|McJ<jXnL>P%X0R&sVW0z!1F_WH@FgN)f{;T6dcnfL|@x48O);Zv0xug<rBuFsNtA zs(}BLVo5<-{olQv%QV5Zs!+I=nR1aV#YEl18AyJ_o&$7XP~*Z#qV!P$pN7)W&GI-Q zQm9234L9v{-DbdGt-lxh_4tF+Ew3|e-W#hu6Edt(r3k&6HXpKz)y(0Vh79Xr;6AnN zpgjQz;=?v2_S+ME?aWyZg|`zJgDv^<5i7s|(><gAnsZxXpee~73t4G}QquDYrP~5V zXPNd}DbTpR(%~|6du5sn!SE>;mQrMF*N(S_kaa$PyIPR79lQcdHe1VYKLnK#Dy64? zg_W7Ab^B#*sb04ixTOi*VwG1jy1mS8B#wxQeAJh)Fv&9tyRq4wlp9*7y<s=D-=}n? z(NA&J%KQk%XZu(kyrP%%0+rfmazXi>>>kd7rHzN?n3^54z@}-{aR(+4jbe@e6J`Lm zAziWxj&YANOP;A=zu-wVd#wx^5G0nD?8bXrNk;tK-t4E|`L5Z=A7zhJB1+DLuTxY5 z>!)x{xI$%C!!xSF@78%`vm{bbxW_C3Xf;VOZrkC@wEX2W)$l>yfVCj{<&#-jsoD+o z`Hdo@&6vVG@kyN_lr6ml+yx-&89CU&KfSRK6bt*L<F&m^9plV<NE1T=4AIFh@KNPu zbuTtdWMB2(%~@(hpEIKN&k`>!1TQo|+YSjF!}n2slGw^-v!1c3Eapxb2g}kk<=jjk zRkH<yto>In>8a6%2u}B9AOYv01*<RA*8Z7HO;Eiq^-kUWyOX^ZJ&-p(9Ezt^IiDJ} z^B1lL^636qYaf?QY61#XMX!d{E3I@ein+(CSh9&@hm$m479ve3*52vS+Aix0^g{oa z6T$BAv*DD0MJgrf7U{P<eg;SkJC}-Q@VcDHHUBuuumCl!l7;0L;6MR7aPETJymd8w z>yJgj9UY|sWC-(sAY+rR)=8k|X~PtW=IPg7u^mkd4U!T=1KyLe&Kb*`^@K#I69@$1 znB{o(pwp1z^fWi9Ey*4+{AlZmQlN9v;~|J;v^)kzmJuDrHLZ_f5UdU+!*Br9K`Ccy z1-+V}MTt)8MkC|Y39W8@Ky&hgU02hI_U~>8=&->;<f=o0>2U&#S{1VTpcllN87#8g zt7g*<RkMZzvY$?n4t6+VsVqb9&Fd2@WW|H5jwGzvVf~(9bjrXW`1wfL>oGS;JF&_b zKdNg(uY?Su^3aRXhxVouyGQnY__2@f9(gaf&kVkMZki=xY48OC-OXFD(I0dL$%?Hu z`W9`F!>arWS~dYnfjX;e;2P?}Vq+TFY7OGsF=R*GiMgtqHkeSkRGR;cu-EmZuIO$j zxRyuL#d2vx>zaO2^zXv)Szt42(qe3QHDn=<P;z%Qh-hc1Nr+6TCBvi;(3#jhdj%f( zOy%8zbts+q@MGCCgO7f6t_RIpB(KqiO)?9GUZaqqh9On!bf6m^C$x@+H=o{YVP185 zBmIXIcU!7WbE2C_s@DL$#Sy}1k2K&(!`}&roM|j_<)9a39g)<<ECmy@Tym#Lw!v>A ziaT&I^m+2MF*I19Al`rV-gNzLp;d^TV+D!K65ZSauw1}ag-d%+_Hw^NvA^>3XQXW? zm$;_xGCw^wb(r0gr++p6(z{c?6o1jE_^)lCI_-#|x4(6F0`WN-QHJDn|91Jtpj5KS zG$c{z?C^Aw-S{ZFI=Z86KhXz?CRyKzFIVq$BxGvtP$-M{(NEEz*n3*vn>OGtifon% ziH?J;(CK%4zikPbl4<%e>TmlBDXgWbP#;WwkP_M7{KA<^c58O%gLLTBo$v>zVH9xd zP0$Bxnmw)$)^N!#M!Nm24WN;^Y+~%BZG`i{@JMR2bHdZd{;jG-jlS{6)1gNJ{iA5( zL}e||GJMl?zJ-JQIQ<byFW)96#Y{UMahx3i#!!n=^CBrUa(sCVabvk5c>vWzhzzRK z>^Q`>SQIq0SIN#XqI@O2+gm-aA^s!_E@ArFRgCGR4>7$WC#K`TEMh{URI+UaL<YLX zs4AL7dGnSvJ^FRY=~S_Kd6%TFrOA(h1ynG?F@V03Z7&M&3tZ?!tNacK#a2-w8Xju! zm1K;)$o8d|OG5;Lt*$|E=Q9XLO6||`n_Qcw@nCA=JEWBMA;VWoLGhqiP$|l9pNemF zinJth@8?%y0rv9MnfhLD)<K%9g_e~jb>-*T0ec$Du%ziOBiJWb?Ye?7)O+Xv2aBy0 zi}XehYwp=?wi?)tEl#re4`~>+K6y7$B^OLs*rW53A1p9*Mn}pGA0IvfH7US6J0-dj z+3VkOr#hyr3yVV!bsAf>1w6~ThQTH&2EQ~?2Nf=c5q!U{P%%y|!HFIBuhRYD1pQz@ zi%uxI^qgf&aBBd@(*3gTsrPcYa(HxJ@0>R6XZeqa2`n@D_lHZ*7fScoIvdiErP-(& z@`tJdb_>4wGUs)H<2ANdmIg##Dx%VsBvP`Nf#u~_22jYZdfG>Q<!K+@+QIKKlcyi| z(a_dha4a&<?7?jDPyVQqB}(9L$so#r{{D<M)Nvc5E9^t*d^SUXwiS7RTi6ItAErwm z{vif}^&s9z>=B#)QA3mPaN_5EP<laYwoKlf2R=`WcHT!_8=2)6|6qG>i;AFVV7!B1 zIwNrX+;`O;VhdGpuy3BibnT(Jm1+MT?k-bkgWY=FrNU<bgp!Pn{7h=W&xC!uRHe<B z(hQ&0M0cb456mVbd8KsosJcrx7ZN|~gWAvbp!bi2UW=xvYsatL+11gDxg<v~i<}(2 z_`w-^Svgy~XA?i{gVGn07!=`1{-BU-;S_ZV=yJRNY2~oKQ*^C(iqNiOs#GTxU?u<% zs?tEizYLP40Lg{KPy5jKJ&=4zkc>KkVQ9ZLNSfV{l<K5{<uW8J#0(NF2!@m8#G;J# z{bgi4+L#gDZwZPp4s5EGq4?)*D!gQ;c8qw>!<Q7p4ATA@e*SjnpLIo4@a0MJG{t6q zN6nafza_mXH*>kv%&<2TzNFfdwb%@I-OUV2deF>VSK!lNc2Z4QNJSkg@Nf7l4)eP! zM>tGe`~-8#n!}{L5GL+^rnn~VK3$>cxjF`2Z}&h?yPs6M7E@7|%X7JlA6d2Cq1f(< zI;lXmZQNDEjgT!8I}|`V7(hBuxAZrv=y1K8*gsdoIz9qrkbY++NP*Y~yFn_|Nd<=u zHvy6(0h0Lu$>BO`ig#q82RY{iiA7adYN9eEM-39lEDVJXT3eu*k1zzffnnL!fm9;i z-3&#d_tnvPyr~mCO<hn^7FJ=IJIYOctfwj9&Q8Rpxar%}i8_`on)0Nln5ul@e67?B zHvV!mKLtgb@It<AuUs6^u^)|F5Lo*8Rnnw#?8lHD`_VGnn)f3Lpu0PT)C)oghigU` zL6dh?7zY&>2S|$^M&Wc_=Cp=(Ak_~OK-{3t<d{2*!^Y`eC#AB`E$-FeLee23-@6v2 z6M+>06a`i^vh%ctEU@mE<&B;r7W{chIO#cCPX0U(tWakNm0^p@Iws+&C__5Q+&dpS z#;1HI)gc5{07x!YJcPlk4YFk=))<e7wK?uo`D{aWOKOrhH;(AXePAWeef!sO-&6!J zT!fW^As6w}gWR(qcUBH{C86WN0}fS?Jd1CO2#j;J1Qqds1{LvuT~G}J!AgjX%Xowb zpdp8PAi4lV2OOeYP`Eq4Llh*?nh+fc5OIE17ep(eu}Q#&lH&(i)B}xtrso|R6C<5b z^GsA=#j&2sl{-^stvKS<u9j&0Me39TC4|Y7H8yJP*bg>4IB&h-vw)-aD38!6moLaW z-l>MUdZ+Eo$5u0@ZU!N;l7u8p!^9(Q*amBHz?)n&HI-HoAU%DbWA}AY2*UL@&S9lk z#xv8J3$kNnb0yj!h|ZcLh^}iSnp&JT6oKcMM{4x6jyqxPthau+-Whkg)3G1kc#sk~ z8H55d#RD(etZB8(j|r_ad8DaQy7k6gQdu0J1y)e*2r>C8KaT;%K3tTkk_RWrb)@SF z?I&_QMha_Pk1BOF*M&O9jYf9JW}5S}5*vesLDxvmY?&3fvmg(w&;fV!y(87w=SBQX zPqo?R^ckOu>nI)yD0QoYdti48{BhO(SfjK=k&&Q?sBqLRve|?yE^k6a1%zrqJ1xX^ zbmlqbx<XzW*%5o_93_?%7>kl`bWiuh#3aYV{Ve{Hht=(ze=hkRnkzS~HB8}ZrnZ@^ zJ!O_`vQAk$EEPiWN`_SoXK9zW9i7VYbd_T9RE{h9!A`xM%5m9$Xf;tPk7udMH?0U; z)GANH3Tk4Lx*~tAd5kORgauhxjvJPupq4D)FiF{6_OXq&F7(=7u-nJ7wUQm=#aMhn zwJja@VY0VVe+<*P9rtlW>nAV)n&s2)HwuP;6=-uc%xB+OWq43kDZ~i+4OHMNyQn1G zF%I&cHx_T+^F~-&2{F{@2nvQ6y9;xdNmwrmX@+13BL{tqmif(>x%g*YC;ijsi&z@D z_E!-uJSQ1RNf|-!K><p3>GQrC7_V%qM0Vnl1S@q$$}t-XEjgBxl53dLjUUHhs~oA` zu}o0DslvJ;t{q<m^`BQZk)wEtufs}&*EZkdf+@ZZOD0}3%?lwOUu$V+L!ldwh5+rb zg@j#l+c@i9rBaWvk*GmgJcKX6ts1Sw6%P^TiR^;a_Ad@VZ9YS!2w-4?jE3Y7@r@gj zO;6V2;Tt5fh|<EZW(FIpRVy`OTq<ygD)t^Iwo@m&GG`@J%a7pkG^Z(8nMvN#VFp-N zrf3^~eZJ!6g59*gAs_cjwo^}KE5ne9&$^&wmlv}um8ca03AA^BwbdJCE36GWt!Hz# z5js7(yE1(pa5V*Ojm=<herS88(rL9nEmc-dOEh3EzxFl{Ok0AX@pcBrK^1jgqCLJf z)bXn10Uqp-a|W=tf3l_)WLe*FzfL7l4A7lvi@jxlVPivImkN79pA>4soISk&p2vA$ z6ll61A3rXympEo%+kfzS{k&h%3S94FoCfd?ZQwO6b}ihhq0onhQj**O_vA3}om^Nk z-O7a#-jRY+>H)S_CHE`)4`9@%$GS&%<uCPXo812^RRk~JkfvVGwr8(>^sem5AM0Rk zL8yZ&b#Z8S_4^Hl2-@`CM>`Xn)3H62GRH+Sr*+o9iOoi8nVOz-{B5tiqO&1e_h_fl zsxWrfOPg4q&Ax;B_!y;kJl&Ah<puIE&K!-05hZ&b>eQ99u8|FsvM*hq)*tF@REDfU z4%UV|>eRDYbulXSS5_+N=J%%8&rM&SZr(lg#59%q_%vkyr&ZY0cuK0BL26n@O3oB9 z8rsJrowh;t7=2(PlxD>ON$)lECbl1~<@IWLB($uqZJk~p0N7FjV9VU}mel}&!nVkn ze2aNQw0{WhzCPXZ;Z7a@6XeSDdL49f<>Q}XWtZ(c{;5j)FW!t<dh9Ot1{U>nDm%}m z{nUN_bT~d;&Yw2G>C*2|#?pk=`E^OZex9VE*&%Aowq=L^Q>>zqZp@DA*9Z0bFa@*e zY*FQ{1$}*Xt*_S?UqhRhE5RI`NJD*?CkKD)Q_QOex%(-eDB?vF{Ho*;yJK=$1fo3h zv)PZ)s;t5N2~$J}<AL;`OB+tz8I=VG3Mlmzo%Mmf0KEQo_QC2R-02CCh?OV*q$-$J z;(D*ZA9Oa@7x+*@bN*Fl!l*#nBg9vOav;7*kpL4OvVN}gw;`osM#)H97<L*X|Ct)# z!97qq4Q!nzaWKWiU({S<PZzb(w>^R4jo?J;9qDs{^hNF~sBMr&x~NUo5<oa0@(Bbp zp3UpmY6LS`8uB`+WoK6}42Y$|FC=|Lwp5}A!_t-xiM@Pew}MwgnDH5w*x9kzNzxPH zOoW4&j2vQ>J3)I>E+*XHig#@@+uw%$aO4^McRYwGItv@^Y?2SfM7qg}DCBLnjn7~% zm8K+jsOC<p<Z_32I~rsA&>QTjgaMD?R#dP33~T>RW7T&uIhYCjjq$TEBjgK=Ti+0d zs7sI*^;}wbjrRe9q($AOh2;dY>VmkSgAy0y>Xf)Z1=e(|EB3crTv+RB=Pi=p>vc!y z3r8Fww$tm=>z<gtF5SfHWojDAK^&8KfTYOjF#WWi0cEQpXHazJ?BFLNS#9Fik@$<P z#Y#38e}!JF$xdC3g46zLLz=v@@-tP~x(T31Zlf$5AK{34LYk@1{P^|a9oeERaKHRk zZF^AAP->O0t&^Z=1dXH`b&i`gwh|&Hd2`{-1DKj{xmgZ;_G?FqC;}26s@E(11tXiC zan(nHJZuqGv{QzhSNLSyRi~8XwzfC3A;53{mmgJ^x{y>CIU51oH@$u(i;Pdw8trP{ z87*i#a@^(tPhO$ScIfr>Y`fiQfVN7tGAGT{?xbE>&R9G)l{`vsbB4^5ZTd1-5k{CO zK{bG-iG$825@SI*sC(2WI)n6s;mxic5Lff2mPLk&Ron4PV=jb;H>Vpw1SE9{m(ZXH ztWQbPnl@1cHi$1a#ft|~4>s^1Z6c(Vhi<*H=Z&GFBSuZ0(->S9W;djIXlMPy#%>Yh zf!&T!9(Fq>cB>Tf*RD*chR%BDuGdSJUms<8lMtcn3t6s>mzA=7{avkQl-h+X=jlj% zTFCNzAT=j;(5}r^V=mMJ@rx=rT}S!#6|Ypt{SEwDL+&@xcGi^pV{6I%^;DjJ%?x|d z<i5zugg%bWif@2&VD2u{n>n3mKJbH4wiz!vkZ^nms_6__26`9ZV<|hz(7$CARw=gq zS4!c6ECya6vLJ_fH(4Nbg~CGULcD7UT}_Ds-!Sd9h3<<rI5yj1FE$uJVS~|PWU!KH zSb!@Ru_eB1EWJyPIFo$7@@$jy;3=191YzZ@*ko#0{^0!4zN8Ehex$>nrnR9br`}O} z;-(5_lIUQ-!nEXF@FS>1td}3)g3^i^+bu$`vK5&bhosWxPucT`1!iUE3?=q+zZ+BV zq0+NsQYQDAc^{tNzTD*q09M#G*(V(rlOW*@O?Moiylw~3VeJ$<uIu=}&Hv;4FWpwF zkV*dEfMzqubtC_8;{Pdr4{^P&hFtXe-;c9xwh_H2N{nl{;`6ydkwLvDRc=7$HzefR z?q#r%Lrm1nO!8o`qOpmD<-p8A<(+U2XDK7Xcf$AA5paCFuihDnpQHB5lq_XKg4}n) zQDGkOrS8LA&}1Go_eB-m8$T@Cy>g-0lH<^oYioB?sa@Dx-tH6L?&IF>UYr!Yzq9xj z@t@_piyfZ*G7X0fTGAMo8~(i+)!(nftZu!-E9#|!S;Ch-dvCb;$p@%Y>fAmkO!~u| zu3%$UXJ7f}`}=_PY2hQdUl5mE2J5$11#3e$SfzTYU_W4ePGITgrz2P#AY@=22w?56 z;`Au6Ze~vGPX0}aG~Odjh0S?9U&|o<)3(quq(LZsy>q=jWf>;Fc#OOI%{1IqE$^5< z?GM;SGI*I607z<PBHIl5E_~%aF)fTbIg!3!kc3TD{ASCL{Km@#3G;IzZM>Y+1=BCx z&F&3O9W*{xuHzR}M{sx`=(ukk<Drh1QO6j10(Gn_*YRtrBlr>E2wSe>KSnsP<|~B) z1`u|Tup3ZEyIjX_s*bQ1jiYPdI<T2q9b2fQ?Y=tW<vKoIszZAlCGM5Ofvv{sxPdyx z-4SM@T*oI=N0<lZ?^AHVybf%#R>w=IW5S(U)|cy8R2>8EL}G3<ed@qYY<1j79qZj4 zWwKnyr%QF1OH7|S=%Uq;Qpcn_l58l~aYl8lD><|DsRK)~)iF&S8!*2yE`t{3WP9q7 zJN%_;8uyya#$VL*)6l$00*uPrEAMBMh^;Sb*;t0;DSaQ@Fi`*cjtmwogQNo_8*_(_ zW64Th^-roT(3?4v6ws{BoT)x%&d0Dln->@i>4Y{9nRv%_g&`eF+;d}78UAO~;+Xf} zHh7B`^O=TG)Mnau0RJZUxtJ=~@$dhNI@(@`EE)Z%)3%qGB{xyW6e}$7Sn_a)qw&kC zDa={hp(voqM*|LIqcOz3B(+>uhGaqChtaTY%HsQ+#$i4-8e4(nIy5F1$+@ibM3dHs zEZ^Cu9b-C$M+Djd^&mU&h|sPncs^}0NtBa7(b}7>8#aV(J4~zAZs&*x@r@7~ihpV% z3eJv2Qacnua{6v9tT*oHYDYD~a3R2O-p&YRFDW*R)a+?^?`^g7zOkB1OWPYZ?H~xt zPvC~gZ`*Yb+rR3R6)9W;bf6WTB-r0OiCpYyi#W5|vf1q;mUEHS88r>-O8gk1)${Rw zJ|@PV(K110t^@`_kW&H@2<%airV(xj%m-gO+@T<z3<^maL<L(V_Gyq4<=TSyu}311 z6ix4Y%@Jof3nHO-hXxqm1y*0YLo<x;0t+wRp)tmHfi)NJ&?Mu#z;cUsXqfR`V5P;o z4aK{_B8zu{`C%clZU@F!yhmGAy@8?Wxyort0bL$Ta<cQ|Nm=unrX|Cg3-iFcz7n<( zPZnROhzNC&)OAO=(`3mVJQfohMJkz(&KxkY9#S~w&Kx#;n;5xD7Wh^HzBp3BRMgAB zOst5r3h!ZH65%-wv#m~h9Y`%qSnMs>f%uu)3;16k^7ukTNwN)g8`LpK9JkiMg@b~G zHOF-$pTopyxQfJ6nnE^(?#3Fmqr?l%C!f3d3->WVs%Ab{;tMq#TnKb~9vF5wI3%8s zkAbZS5C$!&YB~-Cw98c2(ms}X+n2R4UTkH)Rk_}DTTMIe>34ir&Gy$j7Rz5rr{NrW zj)U%5U2lYi>G~49O?18Cw%Q3@*;+ZKD>lIeU0?QHwRv4%`dw1~!0XMmU8Q|_T;2`c z_F_kAUw$-yL8jM734X#djMUKWf95uum+G09p;iFX#(#E{7cq^a)!K&e^g`JlN6KGd zEJQ3~APO=}M4>T&7JW}xH@=w*H*sZF<KT+6ZcNb@dH9k*H?}0uFnSfb@hT7pVJF`n zxr``8)a94C!U28zPQG|97Dx_s)>PD==m(`kD9kg|jvKTInrjn)FEzmSqIKh2+NKVP zk$!L3(hkab61LkTV~#uCy{iezL4(-Y!&)Ym>s<^{j`@;HvRF*3H-ktw4iWQhCSRdG zW_(0zODm-t$C;M3@^_AV=vvG}zDCR%DZDJ$L;vKKWW$pU+e1$*abO`<yYH|=oSd|C zlq-IFmh+S0aWTu_u9o7<NT#=o3vJ8B>?JLaUbX#=Hv?&sT_n|jB^-pBI#@mQ?5v3} z^5OVzMIPNxmagPN73j&<#iX&M1{gHV93HpWs|3COd8X~92ibV%@-XvQ5=+^;6lk%P z3w5Sk2!qm5wy1ML0vo_*iTs%130vPG%@sd(YWrfT8gi(~KiInc&-9heU;)a5k8I`k zlJP!n=uns#><*F?8{zv%vWsHhc(aV?7U{0zk-VmF5xHHBn6*b8t&0iDq$*HGSNYxM zP#WrxF~&lRWp{b)qm+B>_R60LDUGc8cHrbEAL!@6+w%fnBqnaUA;+)sXMgVHCf<&9 zy6<O2y|E=Ks#B4P0C>%P3=o$)CAkLEf%f~}pr7|KopgPDssIsf30XY$eYPcZpY(|` z6kp7tU34h4mxa?(z^!8#&arT>FfWo}LQ}h34Z^4^Ze27@+CPRCKH12=#qiX5q{Mt) zg#f}<D)_+fv0wj!VnjaAhj_76*^p1Nzp834KwFjBoW(1Nf{YTIdT|%78x)>Rrbl!= z2iIT-2Q8*uDrT}v|AdEo9UV*tb#??aY^zi_`}+-=9fW)^tMSQFGLN5nEA}RSKV-4) zit)2*?3>OgUlFZti73biP<@oZU@92Z(dMsxlpU+80tZ{PS<U`Owb^2iByB$C#hUs- z*@Uu>*#Vu^>=6Z}W7E%?dwWXNREif9(wZ+-_=1-3U4_97Q~m6$l37|xZfnlSlYz2# zkS6Xp8R!;q-m_WBKJZe*zz4sT))Q+QgiB`!KLqA)&(3nOE%|Jop$KVHvIV9+xmYX} zXJ^1Qmk#q(Q$g<#>x5$3Z>A{h0+w)G1O!W9+>IqTJw-N9!3~Ge0yx}JU;|aAG%fhJ zT1r6WzwqF}z;&qCo@wriC9n_6JX7O#3`s~9Xpit85se76JYq+49$=J5aF*7@ZNzlo zJt-GUd66?6k_ZNd<Cy}*Z7j5hturQ(<&{&X6>#ZJN8Wd_Lz#ax7$W;YJdw2Xs|g~4 zUvzL03dVB{q(iWwMGcX1O^)isC7&3c+)@5CngntqTFFd*#Ig9c)tPDN*Ny#{sUtg2 zL%D*d8Ysr;vN+JQ^Oh4wVqi{`@_B`5CfQTQS>ZZKw%=0$;M{`OsA6H`tnG}7${F*0 zVW!R|IJ1%=D_i!jIn|M<V)1m)gGU9!b)MBYk1l(GNpcTNZ>a6kd<Mgt$iGsRXTrV@ zGa;yZ0KXt3?rOThl5DW~u^uNH{=b(Uzs)%GjHUd4?`9?`C$B4&=|=Gh{ZqBfLB(Iv z+ewNui`Gw9;U&zbH|dB;b%}GL<)TsLYe<YP$;Z<e6g3WtA2Hq>?3|9v(QINGQ10?= zYQp`A@Y2UE?%-ki&SokXl1%VvI#_(a{vo{{peJnm!a5KVw4ELPIk0a26SSTk&3}#3 zF+fUEhJ((IW+(Gk*p~#54Tf?Gj7r}cP8IIl5U(_3GO1m%okm*TF5cHZ3F;*^s=B-$ z(lqBhB>A-XNP~U~FvHs*umXB^yRe6wzxXTt)sDU8!?14#oSCBINiNZ2UdroW7{tQ` zL>=U8$m?O;34<sUhqfyYlPV;Rfo~rl5<{ds8TbVRW`3V}Wr!*8ifxx%@fZSZI>K%q zWu56DIO3FyYC@cu*%?S2Rodr>B}<aTv>A&(z#>RVIojiF^}DNQs%iD3yVLik10S86 zW*foohq=EFR8%#gF<%K|**URPlP!Wl_}B5_C{rnW&G2K;wCcEM1^4RGxZLUEvg?}0 z<<&3HxTqdbf+D6aRonmfJwoXY;yR!NUd(_nIkq5Sg1R^3qqYsY9MGsCqgiq~M%sV& zJu05k=|rI|+;1%nm>fTN#L1{H@MsO#2#xfPmLkGe9T)WuAyAOhPVd+q>WYyg1s0vX zKR;S>`Y~GaxB?qtNZpkg=9Qh>$p!t?VUCK-eJ!byl1S`V#1VMF0evfg`Us#OR8<}1 zZAZCl9{Eg?vH~pz1*w=*rXWQkK9v)(QLoD@S}ag=zYpA744eNlV~0l&(~+t8-IW`_ zKv<?oaQc{pX<f-~)Rg{$ahZHRFIJ^HNIka?P0?8))oqCrlpQVaD;+j^G#OmU2;Z8v z(UGT6uKZXMVoTX(8V-qxE9f<_Htg5BgHxeya3=){zZ*@Dpmi{vuJ_{1I9z~K93rga z((^h&U&%Vuf!Zzgd6((&y8z@s;(_yw7@}+-J03^ub2lW(lQk_NFSQ@)j1clZlFhZ4 zje-OPm>s>AbX>w0nq1M4u5e{fm_Jvr?<DPC-nyG?Xiy6iv*J1nazM}YWJmWCbCReN zbosDJ<ssQ6COy%e(_E0cgSPrg(WmMm2|HY1fO=`Ck^KZ}R>qO6kftO@Rl+BU{!WaT zJ3iT$?K8uQfsz`(uS%ncK|<W5O_16wJLk6vyvjhqn-1a5Dc?HxszLKilp#K3R#0FN zb(Al;nsXAvS!@5+4*)4Ea*3`%vKr}NUfjpC*6XazEAL<*-R9Cz_TvUMASYzI#Lv0T zcgkw5fd{%L_q6}|wLCb-#2L(vqF4+;2tmUgk^efNv?U8Q&h{arFqq9fDWH6~hOGE~ z8n|r!N&k44{W=tW?X+JD;hWdnuY=*&t^9&&sB6leKm87`VGFIzT3fpUjQkP_3}*L* z2Z!v}1L4;Z`}MXx?R_`$DP-c{p7wK6oN!PoyxNfHm?mnGsIFMS-8BLNQLVjvH<FG+ zqJ5BbQj}Xpl1S8mS&5~iqU!=p^Zqm9>5%`7h+6QU5mN{C(@~}AKs6CpnkCN%S;)MI zA4JIY{D44uaWyIq0|5_u_O%YF5o!+`fj%x;U~<g<1f;9Eq%#nz;6x8Z!3+4B*_xJI z#rSJL>$UcKG}};0<o;|&%d(vG3UMK`xn%PO8y1yo-pnMAglQd)j&8`J!pnTJD_;$i z?w@eu)xeboe8!+=CT<91)LG3KfXZ??I=VZ7bBxH~b)_j;#%xrOcE`?55L<DYSYzJE z*xWU56tcGFyunP*Lh`@Ic@w!NNcx|}F-W%*`HRHBNJc#Ul-V|v_<k_k8>T3xv?-Y= zL|+WbGuYrqvP+}3bT*oE6e6@nlwO||@+Fm6F-IGWhb$*H%ais`D;YlnM|w;>TPJE} zq<li_2}f>^Wcyk%J%%c;&0?Fk+Ku=RwDx36H6#A!?!kX!hL~(ALgpZbJQ()%rBMv^ z1{-42TJx{Hcj8pA4xLQu>{So$(1SY)8qqVQwB$hSN<k=r$<<*X#uSB$IsrjOE5|kM z<zy;Qk_G?eq1MT~|Jvc79rIu2*-EIM{j&OI{YBj?oa0w^8eT=}JdD343iv7RMRvyc zWXXQA^7jHy+0Uo=S>m*UyAP{XWu8-hBwOa3DI2mdGMaNjAy#=QA0q+ZWi&5==6$Se zvqQL$K?t~shfy*T@^3HMxKUHu45gX5l!gTC6?{ZvigB+hb*aVuqh;xzD$lK+a;Yly zDTw0ckl%P4;i>=dH^x&~foEsp7i5&zr(P&L^&kEw|AK7_Z{tGwi}2LH@HhDv7vmRf zdK7Jhr~ZY%$-lT1zqnlfB0Tjk{7w7Ix7>v>pt*ZMC~E1_06&J6hGFI>p6HBW+DONC z*WR+3GR@sxPcU@D!gb{NSW-#Q{G058SyfyHVpRi%T|`L04|gU5$f;;?ltZSlV4=H^ zpwpNY3eAgZ^V@2+6w^dq^c(L+c<Mj=4On1J!jd4=Bx7%=iCaj;j(p3TBtP3~O+FQy zyi{&7JoP61%{4TsQ|DqY$+WpzlN_t&)bVt=$?(*h^fy;)GG;P`MoDv9kj=UB4}a7C zz;}oUs@p5`)w|M>?G>d%yIVP6LDiLd0rw-Tf*r(eHHuw_G(7bmE|9MVHZ9IIiWZ+( zwZ&O8$I-hvzwt)GQ~%*_+P}K<YUDt`dOkKglyU;n)1Ru03|<#UwS5`yeQhhC?1zWk z@if$)4m}pA>p-ak`>Lz<fSo@d>I3B-gs0xBzqtmS9WFI_aP=nHi}WTBmzxYvy-9y_ zl_rgloAU24Cl6RFiy3+QAUrkmT4{4mP5{ids)V6ejX-=Kc!jLw+UR0@kPndNvMQq# z{Q5cztgR@Ca+8%M3j=o2E#N?BNU=X5PF?l-+W#=(64%vzNs=oj4PZ!O_JOHWOjgSv zd|b?9AMD?NL{f84`=54F2c+2aq>S9PVIeH%JcAvDF158C`qeGfaZBD-@dWFMZDYo1 zPUx`hI&>QMikP-n+HNn@`)Bh{-sI%9)e$R3mUa}d5M>Rq<ZX*s6JIM%b4NrGNaB*> z^MMoaVAjkqyl9(fGX!up=~Q6YJa%UArq)zS?L%yzR1_A*y-WZk$hC)e@jCH18CLSD zd@~lbK{OG-!pbt3ZL>QPuTQto|C_Rg*4Zy&#n4K%ze8M^V#$WJZXHQmYA;bV5EoFX zxLq=R%j7VaR@#5e33CbuWM|OKa*nBVgg#O^A=G4lRGQD0fW<tdq=alSSrdF@?)oEA z>s7Ww>js^Q-wRT-5jOufpLg?hwxl~tKsks_Ls)L{fpsj_S?SOWt~7MhBC~m(s4WJ> zA{SF=6uW~veORx+k%~WrA;plNW7dtu-PpB=pnzSXkRn!vU&pGfnoOtZVLA^k-^d<7 zz%2QPyD&>ec=my1d$aYl(;~2l4nVTbc1!VCFHo;=JE7hP1p~N|6T!FG8<b#F=mtFe zITS6})WaEqA_ArrfP=+=OhRDVdZCXxlogtrplNM1muoW|lk`|nDx2y`L}Rgyh-P`A zbk~rN5KVDIv^?>XUFyo3lL2?@!5|NN=fH;29H3P19N0jcrcr0tJO^5Fr25VQRk&gf z$mWpGfl0`jInZ`bFnZU24vhcH%mE^W`VI|2^Kod*@hKmgI0qm(uo<|^Ivb{L>^}QB zus&k;In4n((<`9<S<L|>kr#6gOsq8r*o=&b?mq_zZxFv*S_tfo$<ZukA@548&wiba zj4-V+=ZNTJO4US^<Rs3X`s(N5BQxCX|4ZHN;BID5cA3W(xW1yT(NbGo^Z!L?>;EtP zN+PcY>21bWJQ}_Ly5TbNMbMp$WVkzOZ*mYL0t{$qGlz=|S|Sm)pWR$QtUn8=q3MZQ zALWAY$N8R$Y$`%1+OTXB*<F|Uq0=%O9s67|*-7joinQw=jxXiA5jeV1=Hu^&B$tpF zgT4m%c#k9`OGcNB(-kRY*1#ZQtAY@z%+P`fZt9$LEd#zSr3x={>Kx99_J?!@NmWt| zJ%KBBcAF2={Pa3xdq<~4;7B(^pqrS-tbQz~WCiKZU5GP)M#z3!QBn<?Jd@6JX_y=n z^vd-h9Ci}(3)uZm7MwUSDx)t7sk36^Sny#QRJXZ<m%R{L1!v%`F7X1uQZ4$=cFZT5 zkV?12fB+QYID7n2OTT0`l?kO-&^`f(9v?EmXXv#$u#G_=H?&2rGmzP0j=l=WT+A7W z*vWy?yH@u6ScdxR$NkW!G}S3Y?5mnPKpdEy>a{FLp5^pF-}cEs^el1G_*hI7(?pYF zoom55GL`}ptZ^X%h-3(BWSA1`iYZ}pVG9$B5~+;XT~k7IQT*#OK{yZ~9f}hKx?C|q z>T668YwcN15atkhk!eO-RLUQRGKV{il2*5sG&RhItYSqrcZMywhv+Mx7sH(R!g@(N zcGpG}!?u#>JA*K;4yMB>^um(JZc9Fcrmk@Y*_UhU=D4V?K8vbXlbJ-nNG?7<vi8hK zreJHvVH49fLKl}(Gi5fFNX)|Va~{uRUaYXD%#>|>g24TpiJg(pt>vwnulDh|71ysk z%e+;L3~S0=U3sf8L{kxzfiajH5@2McWaqbKP1p?iD>oIk!3talF`+$ToF<|_7`AB+ zYu-&HE(?|>)5|<(%%uX0QaMLe8z#yL@mNvxHqTMTevZ`lod`T?kY63L?_tJIr97(+ z2;$c=R+l14)h@F_m<ObGQb~*RmX!6j4~bP%{!0E_yA;^KY*1sKt;$OPQ8``J9XQs3 zBs<TPt=W)(<c^T8YA0Jvp00{SBjU2`S8M+Xslj%CtcmAHbjr#HaR($og?B)$#B$3_ z0tA!SmZ<8EJPQTi?C?ZYuf{ENWumI7kf>^B|3p>W@<dfLMWU+LloM6iCd~_wsOmas zVTuv4L{-<lH=UAS(sfEyb)C&v#^%LJRCTL`hzo!`Qx*VNrmR%}fXwiuc(6!rp_~P! z<QC)qJtwNd4(jI?BuZ5E1O)1dsvhS~iK_0jNe0m>nA+}{V)D$lS$efpRU*Tfs!B;a zm^RR;(OI-mZLhp$jZ{@wfn;v5%v3w_R8`wJ4Af}-S*NO+5hqfrv}a3!*P5#8)~-}l zGci?Fq&H>bcx9!MMv^n}q*PUb_8L-ed+AN7s=DY+0iH;KB5Q^e+ZQWU)eA`>V!@&b zad}VUf*I5(B2QLzD`aBX9E{h950o-#D07o25{4=YgrUmSMl8D3KJ%|sQ&WDq(&ieJ zfTQl90WLH03nbx5NItbAB%j*GaFmiy?J)Mc!)cqpxdbXFpVC>@1@Di^r|t+f>MUJP zK4rYW?z}(bP0FPRngHphlzeIh@3&^vz%Cii(F+Na(4W^U>(o@b=?NT;@ruRsS6j3g z#YWOmI)@Hn$87ttel9{)Nmm}Jm110Zq<)nc+>`-f>l;sRgtz6*!nPO_NrB)}8Y%0G zRgIGw9$cQHs!!FH4T?TuJ3zkKFI&}=6bIy@57VtNO_W($O@5ZMMBR!;!QvLRNJ_{~ zHlev=5m4laqW+i_YUf&F)3QP-qf^KVwX-v-5B0>eLXiVEWQEd!ot_m+Cn%><e873k z3WZJsedt-Rj?$6dtWb)W2y%GC9unq}ttLUi?w=KEB4mZana8t24JeOKOUp_&xI=14 zR{f9^aW{EZC@i}VL&Ic+nv~7C<yoOf&8Q50ESD`S6p0?$gu(I}vqI6BGECvm60$;# z#jH@W+$z!I2<6ENMRF)*g<?r~&3rSr{W4MU)OawRDzZY2r&CwU3dOplPgW?N_Q?vB z52Ug}?F4d7Drl2gU(O1(Ls_A~Ybh(#B)`_k3e`$W$^H6egB)2aD-;=(N?D4CFL?2U ztO(2`Y?I!T!wcHM#Nv6OS~;ay;yj}#b9odcfVw>oK{uU&QeG%rD<2|A!t+9@6dr72 zAv<Fv4DuM{grQaJ3qcr?a9xCfgcA}A2{*v6H6)xSML91NGiLQ<j4$T!*o<e&+Hl~Y zV#8sH=R#(vk+M9qm5z96o*63V_0AWsRoJZ8LIYtb2Dwt$XtmT=*kDTYlu+|kZCQSL zOEUT2WHkv>XZfgAB+Ex)HIVFZR$N6Ou3@ybjjZ}C?6zy|DEmpLnddit5!Q~)7kTZ7 zkNm1@#}QvUniKZwYsZbNt{q#lkF51i%2?0ZkzglR&}{8UKu(e5xL7;3Es5dyW|%{f z<ak?WA|yGU@uZBZ={226$uN{!#&DBtzY{LW_!z~j4U-MI4T;o8iuEQr#saO}h8O{r zrZ_N~Db*F%j#KYVH_f3DO=;~o1?gi$>{>gv)0Pa-6R?x^LxdQ`_Bqm>wpovmwXIK* zV{4i0MoMz*ElaDs)l!TJ0Mdy0;uQd{Bamh_01$zstbP#nUfxQU<ai>zt`LFkzH3K> zexD@AJnft0c%mfMuv@Mr)*4q!b~v$?SZh#u!DL@lu@=a%-`Wv6E3X|V0)+t^X^t5; zOLMGra26f5jSxOYZU-rhwEeBcr$0bD(ifz-Ez%s1L-3M@A<c1H<Y$?#ZIP0%9iJ@) zP7-SerA-7uIuSIi1`~h=7_yM&_}1w*+Tlb<b8KrzrL>Fmru`VL9V5x*YsWzRVeQyW zZ-X?_MQ^rtoG3}wI!7n0Az8K1ECyYL*O07$SStL&Qb=S?S6e$O8=&!;uC*fqWCD>& z@P#ah3gcw)h~!Pv5p9~WgN0woJ)7IVOD6a26?3KGIxPN=Ea&g*_(<z5Y<w=7%PY$w zt#Q}NvS~3erjV|-vUGoqmBJn+ESC(}i-8US9#)nn87zHqKVh%K=Oye{NQUl}CEEw( zmF1>%;}g?l+{1fkVwx~Btt@e%dEP5a(ifLkmaGRVFZjw516J)tSx2rRLem;_s1;(q zjx;4tPkbGT5}x&D7iPYPb);60o?RFn=c?;SH1W8OTrVZRwbnXvGS4o|Do)vjN5vt{ zj{;9uts^IOJ^>UmT3$!uM}!1cc3~ELd3Isau_`lg%r1;99m0&F1wgEd#IedQJSs`9 z^=e#4DjTY=Bk7@%&9W9Pts}32hpL87%MD_fNghl$MIqXRsckBRX#ecOh|50fNS^jt zN9F^04eLl{+byySlSy|ifh$j_oO||LM-Htea9dQKf6erL5!aF3`Gsk?w2o}%lwwIE zjGk;ADM|o!tRu-UOyssUR_uU)A&!J+*VNaMW_iFw5yW3448m-3!YHjHpBG_B+I0~I z(oRS$){$auYe+jyiUQ;28@~EF^2Hn;oAGA)VG;m`4M&?9f!C%M_;jOW7kyUi$hAZZ z3rMXaImM};Xo>5{6{4kQ9l3l%vhK;M!Z?@Ml^h_9lfW)nZrN~_<<@>Z;lCbd<&Isn z{n6_c|2305&i3JeZl36{_k17s1b@DMt#wSlckJwYVvE7-7KLQesGi6Q%$Des^4Q6& zCO2+l!)&&VS1_VNh}s3QMoW-k7XcvTq5-Jz(vj>IMIk5>^6r+Ur1aaX)L+e(KYdX- zXW#R~-fwIyqwT+Ai;$jouv+jRnRBslrvo=vexkGCw%Yx=H&6CT<yDm*P|1B{Th(<x z8B^tEV~}O6;ZbTjP2N=A{HltOzTq{M-yjo2I(mEMh^}Z3^EhB?Z9PKjJv?;Tj28Y< z%hErX-4s#^fvwl7e+or7MGvc92*WxL8$n<ZfE)aZm3pE0q3VLG1<tlwy7Sr|n!ywZ zN96R(MFHX@K*sYoPmX{~a#at6A-?r=X+*@`ssjdO1*YyiSgK-yQXB}M2TB252)1J+ z><&c-c%x0hEXXoi@9^UuxZ7gsob=s{WmVB#dK><*N(l_A?$R0098^y?#?=kHAE4KF zy-Y4s>J>%Idx{&=8`XEp;-b<IQI_^qm31R*#K*+3r9`@`;A>o%F7Wk+7AatHCXfo7 z9s9z?kiCJ37?IhKlNk>4qGc3bhTO?6Bl`@omLG;FjCb%N!-hr=^rzYW;-s#kNHVo@ ze>2p-A?0I2FtEZmx!s@yH#BP)l~cZkhY0N*IOV?&GQNb%;0*V3;Xc)Hes`73S*s09 z6X(l*kY5AX23fru?DhXrV3XN6VsWcQ3I-&zNhc&fJx*@yPy+lh5l7nOgJs?dznqt> z`Mt>GB@E8$;pXOQ<+iG-(Q}S(@aGeIZmEJop3}AJ|9V^Xk2I;N=zqDr@=2TDw^tUK zswvZsPfmLv$AD6WKwjCw)6m3l`^*otpv?irst|vHh2LATqr^0r{svB>LTWz`zErcx zBHA`QDOW}^PD<q`Q~}@27C&>5IV*DeEsg{v>zX=uUS18eeow2M?^<O{pZ<%BYD~=k z7l&}d^FAsf1YjKyZJ0r}@z`;-Un75!s{a@PWB&2U*9Zk4Q&tyZ%#0n5kgr(WjS>*% z$7op{Y5&6y>M45xv5VZCAVXV)9V$m^<yh$5JjK8C?|849OF!uDlb{OyfW;soP{MTD zRKSX*8z5H>P~Q#SHM|^g!_Of##T8esJ=rZ<3({>K+geaD7i?ttj08ASrN(SVvXLj0 z$_1qbf6fMRO)Ciwx<GCqx#GZtSg*mlF*NhPp#zKJ-@OtN(DXItEjDib_4m<@MMbt( ze%v@0Wq*V%buMr1pz3paBW2H<tB)A<c-nl(W#3zLB9J0C2IOfoy}oAcyp1IQnhDle z-+2Q^maAt#E{LpFkZ`2xq4sS+%LVTexR~Su|6?3Uo4}}_wOv5PK8>nEaR$*K6#AMJ zGll7CQ98mSeLI<s!b8O;jaN>3(jG*db%VV^B%#i+qrC^b*|*RKL+jf*tVIZHlo%q} zQO4f0(h{-T!G0HtDi%MslL-{Gs(dJlI*iEl=0~VrzFgMg!yUtsp=ZRxoU(d$_>W=8 zI#0}sgJF;>;btfdSRGGCaJR+f$VUUr5`OgK)+e6qm7YRdk2wAxHc@I1G&^UKhdYv? zhMYJ=pwCKWvrI(`U<oK1%@S~@7`{sO*U<1EvOv2|<I9t3cDvOx!1@#l`pC;vc`7Br z^KFZ4X^~5y@zI>d0o`bvnCO)>uGp#sDWoWQ?p5nn7fLWE<m0Q0$=Arf(|;_IYiWB0 zW0*}A^0_xys3Oj+FWJH;VPY>2w0urK=3#5?<=cd1IHAVcCT(f<+K?$;ub6GEbgcam zrjd-gMie`y<@D>bVo~|@nAl??(?RK2K}eDltNpQ#|7`!kcSD96IDg67hrp&(vQxDL z=_!l@))Rn5aFA;sBez%Vy!aqhDLN+}N<neA%6D=H>FPn3jFlFLjEx6X;Xts>C2oHy z3vK~TOdkGCSa_wvx2vc`mLlGIKbZY6b1d5eU1SW{-t3+8v$G^GgT`Ee<|aW!ugO){ zxT~14=~uvSm{`ZcZn&gc7-Hz;l#sIJ8quTLUFmT2$VU?NAbboz?24?!Puuac&NVwO z*MJ{5@3r6uaJq*N2ijas6;+}9?dXiOf9aJVfe9?6AjzEGkYbR2)VJi<N9Po~Be|)U z)vQZz@aj_4xmAC#1j9R-Ew?gdZb5@;WG|5>K&4teTx{5J(9BRJ*KqB#q+FUf4eI`? zT4}JT2ZgmuLr;1&PGdJKG)~x>>FoJz5YTWC>vvQqVL>L2R#zu&yNjNA(!*z?_pd_Q z&<%hTI{wz%EUO|lZ@VqoCc)BgdNR5a|Ll%(i0nYNr0r3BZ=<GtR_sW5(vIIy-J~GT zSq{*tZLQc8s&20|O`g^9+dWJkZC)qs&;F?V4ef#UzUop3%!02iHn@a5_HR%IOMUT- z<w{R$+bjP;X;Z<ty-XzZ<I5!bjAeb3(<%EJI#;_Un&W<mxZ+Ct=U&YN6e+SUlYdF) zFeit(RRhfBO8cAtT7K6@Y&Op%^GeFe@57e-5K@EHvz2DC4$3UXPh4fZR$72|DU3r2 z!amun{9-K^GrfNW54+f;bfFj67F3T1R!PK@qqK@)%e{wSw29VMY8hlF+bc`T!00I1 zCfwW*dXGb3E&B{;^enMTq7);P7U><Vk&p&E76mS#TOk$S8KW-$1*R~R^G+Y0rK2hA zV@X$hi#WD{d^UD$19}3fVTHGVN;5(#;#kOJx=9_BetSwk$^3bm4C|*=&tUuKvXp>v z>AfUtdUy|NTute(*-4Nf#ZwIwavCkY_IO!&+IwWD0s#GN-zImHh7y<w12Ql@DmAJ1 zAE+hoBLpa-VvhNHAK=c$?Ay;g^UR=RJv$W&Sse|vBLVq9u{)bIFjGKFD=p46l*2UK zM4P7}rc~+AiO89$G_<2TimA;GjB91j5Nv~;O&VB&wuZh3OQkxrs%ko=8qjspDSg~Q zvfEmnBfhh5S0AHrW2RDNlsB5k-bN=uNlhozjqPvT<Gm1_gRgmQ&n0`~==nQodzh}E z^wALT1U0h!GI}m5YdpKko?R6zcK|wvN6^Uas1j@#ZrV{9Ge>OvsFoZ`v$osD#(y=T zXo}FVLGGuxd8auBeXmED``ZO_`%6pV?NQlXyWgG&Z^MLB{EwPu=^<=Pw14kT*tHBB z!&1<^V$ScevA1zW;QfDaM0^%5<2EU3)rL68AQ}t}8qnLuV3*}tpe+e`--+Z}f#f>Z ziRZSUU*}b9WkNPnS=|U^CRwgex2f(~P>qIM?dD(=!ym{I5Y09wP?=O1Yk-z{h}uY! z)$HJ3#9%Z=MuG8!Ib(q(0iyWoq?X|8?rsf3N7=#mlA6=P(G_Z2gkd$hs+lVPLV+8~ z4t^;%QOkrHRJH3enB7B?NTMFP{X$HZ(R@s*mg&nzMZw--5PX(L>_1y9mnK$$*;=zQ z3Lol5<g=w(__t=pijjMP7zt<cN&cDus!E`LMnb>+@z(?fO*Eloup$hNrdiC_BIo5h zz3bpzV&rV>Hz(&kowm;3HH;d~!WrAn8Ns#sB*TECsFqzWBqZ;il3+jczbkZ?$yCcu ze?hmGbPJ7S=Xm3Byxr7=D?xTq@08z{sS@}+Y^V@N>c&t<f%eW!OpxHiW3bY7IKGZ7 zt0_-H-35tB4)PGE)}b2j+y0&@?rakuqE{sswV8?Jfud&l?{S0&4;)3$V$!<Q_wRtm z__XrQi%&1(rJT+E>F1$`>>`uJ(Xmfm{v3&<)g!GXWi&7l0$jqh26@#Q4ylIEDiyUn zaE|1&zTNd}6Jpa?&<oKgz>%T{O~5MKzw`=?7aML0?Zs!)=wzdag!v+sL2gq8$5Gl= z-(;GL>;u?YUq}WUEn~t^j4$ck_U=I!9PY|eE$s%^u|f}t<Pk>8b_R)gOY0aNbisB} zE&?SRgq=F9oBV<AdIuS#svhi2c4l9jj%Le$9!ODIWu5dKSe=Gp2SeGF{0+s$SFHd$ zj&HJb9mJIiZlKh57YghfvB6SACJyQlNJH83xiX>Wjb4e5OO4`o%?JDbYYq;Wky`96 z3~71x|C0Ca;dWhRz5kqZt$p7+nYlLCcJ9^C?$E{tEKNv@WXAM%N@>*s#oOaKKTw~* z^Lwxq<PViy2pEn5LJ1l@K?4K{5->+A1`UTOQ33>hQ6ol)ve76x5+P{7pq2hU-}fDJ zuDRw~`;xRCIgicLz2+QqT;B2C#yiG%$2-)_#nWW4%fyk5{BV&SH9e9aE~{1e!Q;hS zp78H<@h0>g<CX(zqn~91l8cf2XYA%0t=<_os)x)o<qWD@Gten!dK(U6tDubo%|zr~ zM=d`^E!gT!DON#ppn#IMk$jKdY(c9A0T`pYS4*(9I7%c|#$9uz;tR`aBU)(#E?RQH zY0M$KY|xStv=S{`E}_8ZEF+df!brYDpM`CQTyF+B0YWUyjoHDCLKut}m<A|(h)2F@ zkpYdZsH`2CbdCg?Sg0)Jk>E4`=#l44nTOFOKhu@RBq{yyR+gfE3%}nWS;rF(wJBs( ztTPGTr0!W^W~ANUV`8RoPyJwis^jf!`DR_!(G(SVtVsUw)yc5$&+fwCyXo^*382kO z#-jAhJ*E{-Cfjs)L+o+9{m2X}r0VBzf>zWd;&7v5rfUgAe9!u2b+IUdr+G2cZQ2nI zE5XcIfklaqtBJA{68FceCVynd^G(diiaA%~0-B+CNgme=Ae`n`cJq0u4e8*JKBe^d zrg-D6(a%vy#>9Nnrf3I`%C)CbZ?Y>S?yn~9)dBF>H#_}&3QM{TEn7zEg=b2(Sipz; z<gwEs{MvbubiaJH4v^Dw#6G9vtHoeUcRfR*c%YGQ*C@uEi7!6G6a4F`KYep9VTq}n zjYkwLvo<YM!g%AFpY_{9Ih)j2uKAALC#uW5g&r+_jimF2hXx1w`<jg;j<D>tUOTQH zv$cMhUv17G(L4Pyx}`@_1qxQH`y0dq=-05p%RWM;O6{mXq_g1cm*=~G766<Rwg0CI zFS8;o_EFLHqM`!!_Ae+Jl{RfP6suUV1e?9vs)7t4b&wIB;9O2+7TBLGdm7w3#_z6% zW&*^6hH{Pc<991<PlKDE^srkpjMYL`Tm(Q_IN9Zy%#eViz$~6tRvU;TPZ)ek#F1f; zriH$F>I7_S6bMkUW4$GN(}o_@P&)-JY&<KgG+HnL4^^;?qe!4Y8>Mf2j*3mN_{`6Z zsFMcN(_#&IM8l&%s_uyRT5~hnA;{^6wyMODhQ?(*9c{Em^F)ISw_d%P`m_=TBQRdT zNFx@3idYg_I<QqF6JN|ENpZt74QYsxLc^iOV{oxA7C>NK#`sT5FM!g?K5Bo4o@+Y~ z=DGOBz=aI0QT|x*#y74_s=N*5r#jxw7H@54E1sSzri0MmHcSVf^kTXz;5hAV`Z|ws z9Q#IXj?0|m)?6mXtrf@VOjqE8Y~B^Xr5zdgVShna<A<|vD0Gzg;bP?twNvD@a=VMS zk_%wJ^GR#SSIkUzwi;$eyGo)ysRg(nQId)pei<U7e1w9L#4x9SSYF0IBMk94v{Hj1 zt1sFdV_oiv0qs9Zb09q?hR1_g9@B3jrpS`X2xnhsmJtfo)gHUy$G4w|a^@cD`mwFi zNdB0f!h*sut5Js=`32?SxPy(%M;_tjm@@g^8vQs`;LUNPcAjF)u=Ny{D&waRBaEwc zj0}_*nWEE%5#fG1JZ$g4!|nnP6k*$e`)7?ZP^z0UvyP$|XX4kx0>kIk0lV!X&*nZI z(#9%|q-}@k_hl|^x`#x(I2Zl?0rYz*Z7c`~?%vX-9g=CrT3gYVDP^VGBUmq?4dY0m z$9q^4^4$Or2MRnGW=$IuE%ej|v*K4fJk-0VU9YSkEgZrWPu<W@D~L6gu!5R085zKq z0C!A3h~wSZhMj7*Ex0ybx$wFZp<B5G&BsBLyGwlW#TT<7bLMmD<IgI=wM&VCe0PKE zo%*GE+JU$Vm8D<x?oflnoCNm4YzhY4L9Cc<>!JuZZUroAape(N@x5VAo$+FKbT=qW zC$K)5SP`QA+$L4VYN>*5G5J)WE@st3zP7}xQI(Wf9H<!)Y5Qb1%G}V*h+r`fw`@<q z%zA^&vYM_kptNfmS<5*5;2l+I*;cKwSgavzENx(zX=Ri4QCYH~JvUBSmhhRkaT!Q3 z1J-P4n(D_lL{pLmw4xq5t_2;ge0_ZoK-Hb^DBtK*exQ8A`pXY@yd5v!G+R7ZzG<Mj zRCyc9ceGiM_V$$D1{g*mrg^rAU1WuuzOo*tr+{3XVPBYdh6$6*v~Q{tQT}vc75bU; zt|lJoksl+s9=`Nq=u16&VFjChmx?fitL57+`^KVxS-IjV`{v@UX&u`V&Wr9zAV$_9 z_5%%*bl%pY0?ZxIv#N|cjR`I$HxxhKC}<Mp*8=ZsVC6*5R!Cey1%T#};Q(?cW!MQJ zD)4)*^DGyVvVRxFJ&Qv)UjO=d`|G5rTWpr7az-%x$|NNHVV49!_K5(|ywfk;D3a{z z*ZJ7rU6u6t`Ph>lZAl`cYxL0k4_1Y*{R|Vh+i`+TE;=(}m_YWpmQV2%@z=18Fx^0j zNGADy^OGqVI?0Lqta^;;(HrE^0h@^pja@O1>}zXl(ne3em=D7&sAg_6EACt(_^*~h z)*u1ll2f~t$)w&|@Oy#=H2L>0NF{s7oXNE$HMuKp4Q*&Vm_@bgQ8C^s*P{-VHx&++ z_X7>^M9eX0W7uQz|HKo~Pvq;%eM`q5c*hvv!$$kS>sO=y681O`5mbJ#uhCf8Xf_tQ zlI3DM1!_2phf;#4uBb+)p++31aT2GAcG1^GFJ*d$<r*&d+$dbqL!%9JF?{Oo9t5<F z^MK%uC4Lz_<tNj~SFx<E=xIh4YW*iWbO>hRyv4nj;D#OH$B41EhAbDT*6FuOw=A>* zcJZVO$%`%7F`Q48$)lDGt|d(DgL@q}`b`Z=ySYdU*Fh)^M`_P@TOoJilY{`^!$vgx z-ZRmGtjK4e4T286NXv#1XPhX#4m$QGm<vISy<<4G+9h7z0y_p9O(~J%M2tGdmsqXi zK^Q)uZ57taZl;8Psqg(lh%(T)*J4W`j(?>ai`NLF4(tV)FDZHcK}nPIIRjQVpQp~} z>^RUS^IicC%{91L>m6+F%uwU<2gT$BmFUgnnE=MbpN`4dxMNg!IREnhn8b_f_OSs5 z*uaG#RFVc<zfG9joY?C8t@5EZhx6BIjmR3YtF%DvngU_KE?E}^jVZV|AtVHi0I~Td z1h0j1o)fA&x(ofRRh&dd+%B{OPs07_y`R;iG|d?vi%T^By(otSc2jQ9DTmX+e+=cI zlOZGEq0Qq)G{;lm`us7YUASQd%z<zea&l1UH%SmCEwkL%v^VFXU<`*QcT~HWS5z)W zzJGCb5%huxWc;g2U1OMPaFD=dsKMBrW5?kmugmNtk*joG5%x}o3kt&6y@U6P4&7F; zQ)6SvO%fM>fiZRMT*;AG2zn{ItX1gzy*Qn6EDW0=e?$40e)LYwhNFVTVOa(dF?Oc} z2q9~Ww%4=CAUiH%@s*Aojr{T(B}^#6`tKlU&+f7-HzRQ_l_%xil@D9J{?grlD95g? z+vW|7CG(O*7BpXeg<+~c8II$)AwN7)-lBo4KW@eYBo0}ouQ0rUK~s0)7;w=oG`Q_Z zO%pNSg$7kz=q(g*#vAL68k~chonv!?g!KVsrG*zR+r{B5;1J)15{G!LNHJXs#IDn& zUuP8Nf;yIC>vbLvimG1c8<V+K%5q!1Qm!yIcIv9MIoC>AH>+2AV7f}@+<kKoY89Mr zC_O!0rGs;Y6l<go>EY=r9iD5Y3j10}Co=i^_NZjTOCggtmNIGMOjRar*s97T#>E_~ zY`B=uUS*-PQ5)FV6%|miV(kuS;BZFQ2iGZ$2f3l1c_2n$Ay{`X&y<0h|0^b?EC(9^ z`JLF7GRY|IA!549SrOBUB^!cJ%l&_jT{HhhyMVJ(gLPpG(`k-X4py*L_S3k(tJ1l{ zIaH~1MyjHs3>9Vt_DQK|nCjb>-)a^jh9J)Gu9YIGWv=GN&h0R^eG2oE3`=sBPCr<V zHEkBbNxVHCg&{~Y*+9MYGs^=^7??7_x-70Yw0S#-rn5K$x|EtBQGGJgu>>H|C5T}H z;TNhFqo3W`%H;7g;Xar{4ZjZtp1CFAJ`*YE=P~oci10|9EE3-$+o6%~d*b65W(V~6 zO)@`7X7;0Xfa(xwJTp<bC3%1cS&t2YkiHw&SmyZgxO)%9<0?%pDxqJijo-t1r!M|d z3@M1y^P74NT}o4x58%;Z-rHWl3geG#WNm28!rMQ&%qvlmjjcp$4m{l^Fw|l8YOTj- zv~7Nbon%u@)@9DbHS));%ZK!+E+b~@Cu;#f?9c4H<Eo?#I}$Z|h)KG4dPm}3IXdvm z2ReC)R<}S;;<h&~#9{;Lf_7L*R=hpOqm{ME4z78;pdmPqCX&ZK`YP*hzW<|NkL*wS z!8=p|L#221ka?@FXUwICH#?#?MaKmu6qG-(U^p7ykLXw1eIecYNXNYD58Uawtz(ay z;{Z!L)^j)w#;RUSCkzY3{U3c5mn@>}hSI<KujFZ=k~pr4PSa)tE-S2E`ImLkDz2b6 zmx3Z8%adw?%6iz7u&oj6!kF9+X|Y@V(N~Qp*6is&{y2*W&%;xO0+;$)I=cm&qJ<rz zN>2bbN0gJ><syz&ls`EMyAtQforzr+jpTu&OKhd<kldiR*%|`|7GV^so?X&G5o&x8 z_Os{}4H<ew7N9j~&Y~`!$rH)u5Wap5OT{#kv4_I03MW>uhaFV#Na%!qAyM~t4dugj z#C$+Emi0gE@u)e1)33EsRyB*xOeB+p!Pu6*_u0<>I}&wtT|`H;EJa&8lU5P{H>VPF zBu!-T52hcuTlg6rw;{<^66j>|@HTfrx50y*R5)3O$?f(fIm}HYr$6;7-xCsT(zm}< z#MFAFX)w+*>Sk26E;v}Qa)A^m<HM?G+De8)CBr%pi9sne+YP52AlY{<u00pf!Rc3j z$lTjxK+~h%h`!MgJprQG`8A2QV;zL#)$64`?HCy6U!ZfGndqpWPudk0o6Aif`5tp= zMc8+!MI<8q;C&L+z`9}^v6l<21jeVXHm1AZgke7|Gcr3W1V<BMGMaQ>K)Th0gcFx( z6UGDjrRjb8Wu2L8X!F-*$x8Ry6dUW%9D|x2t*DB9YVs~cqUG>}m9=BJo(FX}N+%=Y zOe?j8-rF7;p0tLzzZ%Wt)nnFs2i0x0G?6^d>SmnP%l(zgH+$t<+m*u}eng&5X<XG! z*{Vf*1A9*)s@hV@r~c&QQU2`w7(eOx=RtlKA;;^4RJbc`{Z*TX3cdXp(&|aa5{_*! zW+v$;UTW*39E=;xwPnyy4rrhL;eB}%M^;37NFdB}#l<K)qOE~>L9dKx&qA^o>t+w` z-jrW}E_$Qfn9A}$T*~1)hJWobANbRv8|JY=W8f~w3rUsq%X5~qwED3D#S$rntXU({ zdAhVWybr={VlMGNiaXYis&k(&ozReT7>C;&A<(es?hto`LtF~CyQ_Ow1TN5%SacX2 zrR|ok4iDx7+8_dJ^jkm(jB4)?VXA?Dir%p^Ea>g0>>bysl)X{!MC#DH{?I$EWaBhs zom6$9cQ~qB?}~G?mEMhvkD?d*J9;Oi(z~(F-f;xFXYcy+A$fu-&VbcJ@A^A>H)g%l zpcZJSTW4?(x1X|iI(l66M!j3$jwYfdw<#L!6kF3;;z!km-kIS8?TDQ>Hoh<?60`_q z^z-%Oz@x&Z@fXUeAQ_+JsnbQWBp=anorEL#<BP<h^Q;q`+$lO?uG{2LU&>A-1WgN_ zSfoxQ#F`85N$3Q6hC30+#}7K8=!BgKq7(B92IS-b>x=qhF-y3^L(;o!TMjfq<t!5i zGwYY4SR0*r;=6U$GlAI{P@=zi;=2_Kq@gLlDIxTQDIpZb<7N^e1q4_GSK4FIPc~l* zH2mP5t2JQu?<_pW=DUa{Oa}RJ>c{i(qazA{g<EYI#zV`TTDp7LE#^68b+E?BsVI5a zY5<k7p`R>OYy7A+iVbIjMQavUMOSW;kI+8K$IqQ(COpI0K-n4&wpKH(?M2sH9p>Q& zKXShh#kKjRpKO6@;YY1ejHB#DYyIk*EDim5K7NSqqP}skw`@(`;^gS3HT(q`&!~eT zgwZfdxHX01QlI+K2`N#3ky@h|N4<*HY#3KKI`Y8=%E!;0V-i8~jg+mK%k@rn)MO8f zkaCYKo;4g2T%dTxHs*B;4hhOw7|?R3aeLd0Ycs(C74Wt5YCthB&?5s}gRboG=Y4vf z^yfW#zNEpcA^*5Ag4-~AOEM(}e%z)YK!7za7R5$mL<>)XigR&-N<%pypTHE>E1h~w z#m}`3e|_5NO_8}Y{4w0&AWx?;vlmo@8qx$n5TxgSG(3F%#XL~NQ}kddgnM8JBUi$^ z2+pKNn|;X719_O<oaNf8b{?u>cIDOR!KyjbC=P@&@hiqBFsXak@GSW<BbJVb!W!r^ zG*~-jm~(S%zE@I)GQvAB1#agt>j~3?E2O{jX>}2-@>iHUs4@K{Ckei^GQLhHPfvE9 zJRLIKCW`_ki|f;5`{XGJ)1Ey2J(~!sNc-sN$I7Fp`a0X$Q%xUQm;^p<*8j@)7I!ER zJ)kq6+#@Q#e7q!Zh?0At=@o`6(17jUYW~=(TUf04qW^f#Qt`^x=)*E2u<T#^N={oU zWf+NpeE3iiw4rbslG+QSfsHn%tko)7RQ{|MQjSWVM-ufvY$JER^OLwzn<o_6IJYE~ z%z~FqYGbsl9i$a*Fn`dx#<$uGWfA<SSXYQuJ{_pd_p#PNJ|vhStH?^e4UK)w6IJ>c zzcwk=A<`pCWJZa_lfLaa@J?B#vA$CMFu9KOZA+iv$X0&Ho0#9-#38Lx-7Le$jGC|x z&TEUvqSg<2gW5oOBdF7HA=#)z#xzVp!`oW1AJvVu)EpTV)C)seOzq*QE{t9r)g`!% zAJts~Y?Jbx&0!d4q;UcM1T&&=P<L0~HauZuk;~A}2wSa3_Sv(={y4>>pQOxjpZ7py z=tDs9?;->1F<fls394;JK<ruRh9#S#J-o}vKd1KvVa)-0?d#jn5Wz&dLwy^P6MANE zj1#+!NtMAJ6`yi;)@^2H+75gAA`{<i2*2Z@K_t4NS!nfmwaBR&vp`J9WZ(UG^|3yp zYNA|@_7RVk-y?m5Dc1PivyNrc)d6a)j>Vyl<<!A6hZ#$HGFRH-aXZYHj<4hkvl1OX zMo>l{9_J2Mp%R3RujUa|qQ|RsG8w-Zz|hI$YgEVRc*fbQt6_>3Ci!@F73yNVMbhe! zbgd_?p&DP4cp6VW1zUt|1dojqIAr|#2JDnwmt`o{_PIspvAO-tuFDxoBkH(XSB+nn ztyWAlPAxLb3f*b8YFmq=-SGR;>^hw=zDh*|w{y=Dr49l*3H0oc4K_A0qsZv1b#7xQ z<Jdv)1-c&P#R$EKL$4~x`O+TM^?7yTPPrEhcoQ!Ev;kl^o={Gwshd=oei_P}axe(^ z8d6nyX|`Gbu5o!^qPL;!S_d9mD8M+}hEZn0((G#8@!Kl;$lFLZZdHtA>VqylFu260 zQcJ`-E?{zqbR_w@Y-xV})5Y<T>o|k<c;$_6pX&HlzUd6f&PvXK%5|cvsdI1nZ8dcs zEZ<b_Ncna(IZssHmgHy3x9ecX@`_St74MG?&>VfT`Pp&IV_1!|@Q!Wxxi!HFJf-n} zUxtbk3+f*u@`8Keq^EI1jt&FI6H#pE@1s8SAd6({qNqj8%A~OwtFfukNB(hgi=(iO zM%ZZRWj<saXfxxC$TXZc*NMjYWWlg^D#k>E$z$4=2R=Ep9)wj)#71Ts3o!Lhe5OEb zA5)FJCyKY>Y^dGnbj_+!xd!olp&hNm+~6`ZdF0K@cNTTgf5kcnINA)*xfT_41{X*Y zkP8?RVJaPus=^`?v`-fcA+#})O>nA9tvj09(9(ZjSL}_Uq=2D~Az=7cd=JA+A~2}m zfXd>PtS_sv#N7%zp-Kq@1QfPbb5t7Odi*F&@oF@@B{|{G48FG{$Nd@hx3Sjbf#F%F z;Hn%$|0AXHKgiJG@xU*fLKVNHZGM@@SO~umzPIF;cuxExt}&jm(Obn)*q>u<Xj)F8 zlbpY=a7qVnbTMSD0cL6(CJPNziOt;zB7Pv|0wd;Zq^#B50eneBI@C=>5C~sghYXBg z2Lr6)RBLuU14Zll>>3v5ahQ@4s_+?0RC@~}EPwnsa$)8e^s&V)Efq)Xy)bIZLtBrP zxCu<-^7BQR{7m_DqI`<cf~F7CWBs<!RDHMg95nRBq^0RtwhDo^p-fSiSKrgV-bd^a z1Yi)NqAnO+VJg^ag~u$TG!-3BuvHcMHd_Tbh<yxGqZ25>M|K75Xe-)_6+}p|RHFii zT&4dt?({g78S7N0%(6u8#FZBMDlOpS?9F$zu%x2}9ll0m(WY=3&V3dwKo>K+Ip2fs zVm3~D1bogP7jeR2!#Llm5y4JY(!qSM-olyCI6u<y?L_&FfjU2^H>*XbpwE<V1Uo5C zWNMIS&@Lgwv|Ex9-a*sOofuYJX;glTd_2@#2eT5?$#MxDgC>lr_ka-%MdwTK8~JXl zMHWpv>q^mmMaH=dR=_nWT&{%0oOUlAMTv~U34MZ?lqt?ok8P!SO?o-O$$lIUzqu9m zl-Xf3uruziYn&|NF<&dra4yM@lyHp!<%#l5L*$v_?JuuMhF+T}nC?D!i6BGF9+)^_ z%*e*&4JJ$SzK79vLWOp_a2PuRw-wLF_56sZpQ=1hRi4kAh9n<sp<T10>^@0Os8fsP zMLo8Qg-;3GR;HcO^CjC}vn8$5nhT^~TknEng2KMV=?0htXARAh6dj=W@aK5>=Gsnb z=kI*V;&~&S{cHC14-5_sn=GX7eW6@~M@Q$2Y>38@*rBBwG*f?m@#N8n2y{nsmYDHi zv33FKT`y4PGmUY&%BBmx^hGh-MVe}8p*=ssbpMg>2gA$)j*(LcKdN7jIUbQ3^EQvy z+I+`nXtU{U;^8uTo9v`aB%#gYl{Qa?Hcx~$kH;3MO}S6SPKlzQZ~7zJB+jDxi33d0 z=7+lb`G^?djxmehq&B?|mHH@r%7CC6^_(D{*7MT=ic?w?^ioqbD0T~q&~r@F*`Xkh z_q?k<3Qtv`I2WKe8=#o-vkEE??}kn}&G!h3VaEmL?(9%7Nv%RrsgJ_vt594FP+SO5 zoDcC4DSt`Jr^a*N5YG*G`)Jgn{on7Rg=Sz(=aB?l^SDZnA9)Qhz<DY=yPQ#Atm{Z+ zbwL3PN(UC!S?&8FDM`dHefNtszA?vbsH#NM!J$xtCT@zOXN{N>*<ew(m|MG2V(v>? zt#p#?OA5*G&RzQ3cIRx7#HIYVx;j@Bvsu@a3)DXJ<LiPz+149v?gv)2xi1M@n+j-D z6!tdXErRwrLRpV45ITLE0|i0Jd$7``RvOh$?Y*nbg9#f|-cQc4cQDbviHM`#rWUiM zuuvS+3luvMRVJ#`N8!T&@yPd6jRfjwfWkZifZ}lCduWtDmgEEk_Fg|BOb0gB0(XGm zH@Y!R5p3SIQX$$-Zr4MhW3>FK?^VmAVa0>~9}oRMrX5-@ajMq;H~n23=UVU%t$(1q z^?)`8pKAXr^--8bx%Bl#|Fsq^Dx3~boKlEE9|hV9{7$?3$C@pa_!r?EQ`V)vrA_tw z42Mt7hDxU_ULnfE*6U~*C5{9Hd&jaLA;#~N`u*ho37As#dwc)~H|YOva0OxjmyK`3 z0ej?{*Jw3Na!M$kE^zUPY+PVAM{}i?mLmhQYNKdS{YPI?Vkc09#){^)>lu_!HZ&Kd zCJlY2tYUU?<8iD$HeQ*Q@c+Q*DnZ0bo<qc7P($D;Aev-%mU_w&K*w(ih{7;1BSbn+ zFNk){29d(B+n$3%!=O-uW(sI_IW(o_Zm|?nKof?88KJR#9H7}(gQf#F3gg|#_Z4_y zV5mWI9!T~%B$r}^+zb>71Hx3vzX}mhsQ8elrsSFGICX170*jBHo|S_FG;U0x>N$nU zKarL#m4Mwtwf>ZJc4LU4hw5aqnG=9fv{d*lb{&fz1g+oA($=O+;C4x)c+A#2+B{}_ zrFAEGiUl|0at4AL?)GUB*4-aU^{)w80YMl8W`tmOfM8b*f)P7)k?$&6XGo~EevsC8 zdFzDE3-*MLJ36w%V9=9=OzGKxgG>!p#49*+98K7X2OCEcIRn`VFaElEDzs8QX`5#* za%JL9OJujL6IgWDhQ?i@H8=J`_t*I2E|lPQ0Jac8XctXHS=m6}oJiO$=lztz%JF`h zJ#s+UW7Ru57j3G}ebl*2JvUyHbz;mxf=((GL@Y|=7cJ3oTPB{dL|1A>qQTqT(D;!6 zFT0d4_eVT)61*5SBJZbRjgkBG3p4H2@0gvXpk<k^%#xd7sK!m_fWD7zXt1a*=Q`HM zbDXO%dK!1|Rgw98qQOJyHYCg?SU{(F(C73wzMJWFoXPCMx%q$vUu8xiocR<%tdo8V zXH9$f#*3u0qZ~P7DMC<!R!XKjpFL_;FKq6)_3(`siRz#+{i*`89<~QXUmPFi74*Ad zpk3AQ1RI1W5E%9^d0@Yi0x*sz>EZJ)manmO!e(0X3p?Gw4wc#Iz)Pd|>raO&lbYv$ z_azf&l*SLWg~8hGf?$!594rY>?rGlmr$T)1%tp+?&`mJIo@_DjK|Ty$mdt~lcW20l zR&c!O!SjJ5nbs^=g*-BFL1e-o)nnFWq4tYB!DQ#N8)bz&hbqFng3l(H#h_Z04wD}~ zBR%aQzWA&On(Z>{A?zV5Upe!9$mX}2J6bk9h;$wNBBJeU>P+dQSI0xPkIRWtP40E- zA2BtrDEuc79=RL-$NpoPO3TdsiZRCFSRNX8uWSvh?1oIcN|AtNb&oSFNfawkp#RJI z*#n+;RXh+S^A{{ya@F#ctFIZq_G#Czy<y!=&-l*R=JPs;+r+0evJ<(qA&rnPw&VKj zRI#v_H!)CdX8XmIGde8&l7iTxw{*zEMwtUBwtmpq8iq~weTRs1AZCV7sC*<I&tB{t z{T{;R(eFWo1Bi#gwN`nC(@%b%qMdX3oi=n4@BNzVYqRZ+F?m@IfQNaD#=1LU3p_^| zP4RE|6VndnG01D-{D8NEd3NtU`ui-jNO|S^?eVxCRmRpCSUZw~!yzd*a_IS}GSIX9 z0QoIGKz^8~yp^B&Jre%n`>b*6I=%kbb)nagN?T{*BT)~b2Yjd}<uid3xMKp07$(4o z2^1KSLlB-=VL2un7A={3^%;_wtEQj+K1S7owzK`({(t_{+vY8fDl0gnWAo;x3l=Wo z3Lq_ljx8VM_8)s%Ho81KT_yX^(w2^16`q#prWi|GJj&%O_OwXWnLRDkKAt@-7+n~i zQacc=Hs;Inv9I%_;_Ye7VlnCKs1&%RjmToLr(qG_o`!T-(w+w87p14$aYj;jKNarh zNr-S{F==vS^*OSnYv=ZFW@LR^qr(rlme_E-^vU(fk<}-o$UZlC%4INZ;i}t@!N}L< z`}uMAROY>mt)pAXYr=>&)O%jO%hQ+*F~zQ8H$?^mj-;|5(3}>S%Qul2uTc>1B`CiX zgwDXurXWmi=B^-~hEO8Y`>_Y`&!Mef4Q=h1LtEEN1n1t?wKRc(@U}1*)Axn8Cg;%B zW%g^Fwm`YJb%~p14urN|Gdl{w$>nql*8@dC^QJf=pT0jd^@`b>T61|#t)?l0WO!2; zv+1verha_(rojH?^h$0RHh76KrfBK|p{XC~-IN_lpoL<fT6cNP$sYtE@Sbr(I6WAe z<A~I3ET3IoQ@F9@h@Ce@xQg_Hp{e`T6mGYSAR4Hq8-mwfUUN&R4Q1fXaT+!KP-yP1 z*?R`PFNbFG>P4@3Q+VH}zaE;}JbP0dxxJjG<gSRfkvFw*TY4z8giG0M<bty<rzPDv zz<~>IY5lhJe}<OuE}N~T6_?kNO?@~T`JV4^b<2Ud*;;^YFQ+fIn4U3T3w^-lYPJ@b z7hX;awz|BGO}x+o4q3CcU~XM=*W$L4%UtoX&_X(U3+6yJ_ZDnMILMA<Xkl>n77((_ z!IGA^(hrB~*^8VFMdr0O_YTA(`Or9cVydwzVqC|z>X>;b7W5J>9L9LSzH=jsYuaUz zE_#ZLtm}f6vS##Y;py7ZHQ}i>dTn?bA8m!FY!pM<?3!yvv+#8F=r!SK_2|{%Y1QcJ z@U&8^tX5)$uE4aXr^NofeQZ%__R0Xx`@qxu5svB%V&>+!=wjpMI>~~z9^wb5r4fFH zb!<X*Z9b2mL2miw2iJ;}9~KZ6@WVx13;DrtTf|R;c;WnTaAyfW5N)XzxZHF@18@#m zc{(gOKFe|&<%c0e;c*zWn*1<S`tG<c+8NosG9Ixxaa7)_GrQ%ijbu3zDDrq;n6{WT z-kdiWCj)T<16`BMJX#mM>l3e9k*9exediCh@YQFYC{`Qg#~e<QaAs7?JDUGl93KNz zZ;@snG^DUI=4+Yw`W)?AcqK$>a2$hEhro!ICI?%NId(P5p|#Mcf?epi9ad12A1oBD zL}gm`qfWKRG!QEjYe#PxCaylGlPds^<y7&GGLda<f=-MyDQe(vL&k7GG5vWS1#(kJ zVy#Me8ep<3|IKv~E>Mmt&3{98G~1O~i*Knfyn$1_am>VXHSvB?!ZNK`B&-pDJ<b+d z_3ZyQ^H%`AmZExeet=xlVBGqs<xP6Lm2S{uQPy1XnEprBl=Ut#KTEl90f)SiGg1`E zOUPj3R6jb7*#Zf2#S>BttNbpmEvhDqH#D-0<rmB2)uk6jVCqf(@%xxv7Tusu+fSm8 zs3x>f;3SV$Cfv|F+S8d6B8yo+0UKvq=dS*eyVNo39EV~kG{~Zg9r9`8{7&1E;iTyJ zSVLF{_YP3I(}crWOq5w+S7_bQ9Fo94A>KP=ih=bNI$zXW7mW%}P#&V`01wEJzw>SU zz;GM+!AiK<pcxUNy?(gO_op(g{4QoLWqU*5M2r{E88FULh1d^9P`Y9AX5|qAf7ceI zGp#!lb<Cw>LaWjNy{rck{!ZSApyA%JtBQ`^!6Qd<bcK?72k=rmx?_lZI41Hqia3Ja zQ8B$PT{HJau9VQZ;{L#wtjCnB*#aBj4}yXNNTho+#fqw<7m3tTAdWn&$|kg)Iu=%m zgM{2UuKg9YJqQ*C3$ekQR|L{kC<TEeEw_&;?$Zq9fgly~peda^1WyKU!6)abC66us zl;qJSfpb5nordlho9B~i(<APsY3veIOsmfp=V0>jg#Yc-R3Ry_T)yh%`AhKkVc1p{ zJm_7JrTQi9Fd@<|p)dKTDXrB|bTj<`34c+0l1iPoH<sGyymXuPSoHB9zt1D5_gP~w zJkEzGRY#XA0UK?k(rHp-4^5gwxBA6$4(;=l>UJT%p~PDvT>Nm0)2jGa!t6*qexnTe z91MVvxHsRUA!J<?E4T>Sv^AhhB$7Na(SvsfUM6SCZQ=r<f`vGc#n7mdEWAlCfP?Z- z2yzY}4GH|HszV4>c@uv&+B4}&(hoh~un#IWE3&?}MuLXkYKwP#xXX8?2WV2UmWWcU zQ}rzq!U<_8UQLCs;lk5T{Wm3`CvMj+!i}uBzY>821Qvdk*D27SK5@6uPaFEVOSf{V zepRkT78`#MlD2jTG0E7Tq5JgH^vOh$g&lJXLg<cnU<@n~vWip0pihJ6-BR9iy~bf* z3Y?(hy5XFq*$7L8!F=bh7uO<nV^L-c8ZZ4{|BZ}uc%Xd?GH(pyDqh@xi@0BB<3o6| zxv(5`rVv@z`CA*ydg}L#A&^XC>NfYUAO>gxC8(s4c%WoXe?WBDqaPImcdHC-ZOyDQ zD#C<lmBKXITbNui-|W;Zg-Md{!ZetLp_4OIZU_abk;Ntpvczljl%Yo(#<QVkP=fsw zqG#~R(4*B3XGfT`CyFqC3KSJ;tTfzAq}-U0t%8iLO;~FXYh&334KFubNjju7y`&wM zLNBqDU)4)etfrStD-qL|qfE+*H!6Rlm%09tQbu|9<*zB#5LwZt-D*f)Ca#7kE;U45 zEe;(-G!WF#zbu%88nT<}6vp;Rs3FGb8PpKV%Bp`3YRC_Fwbf8@i{2WFoByvg&wW^~ zsGxlEC_@rx<IfYn&X%%H9`d<RMi}Tp86~!T)rCRg7l0^+uGwjBbElH#On*!JA=Yr9 zb3C#i7(r&XYZ_9ER*%ohA`ZlNu_neuB#p%R`wpo_#u=B4#mwCMM|Q%@Wr11QiDk)h zzcuE9&&&7{(KjxVQ?w^tXv=V_V`P2$(Hw{$w(Io6peY6x?+UN|^kb;8xikV2o2ziQ zWYikYmk};MpZpd#2@O8{5RZeewl|)Zz51btBq_nFKN`UiHbq&_^qb+RGzy0Grd!nc zDXmU(?Va#5L^tZzK7nk9As2IKhPP#YCFd$G7w0V+w`Gy0AK)AG^LwK@z9*YS{tBqV z2l-*5@q_$;Q#=GRZhU(=KUdw7{5U_{vGo#u@WE&7`w`~_$0&cNFr%aN(>7P!JkDa+ zTE<mY64m<iywX+f8L`~!=8&Z7=Gdg_Ug&i%fK#si$yuvsHE-JLS9tXtZBz9etW))b zXA$UQxWUh%`Z+)ktEqZcb5%WNm#QDhR?MaPIY2Kkk=-%e^q0Kym9Na>pKL90tZ<}e zVYcj*uOwZmAX9LRax`T@c2&q4=rzpYsb$&HkO(b-F_@mLb$8K>#n@?)ivNlDLEWR5 zoI?YEWd^{40M;<TE+Tcgr3R{w0>NSu7g!?vBUlqoBP=BGDob?2cYzg`tTYE~trS@E zvoRrss)d)a02T+w)Dl=wYT$+>O9dzelo%K>&E~03bV7;FFf)KPS8NSuBkDhutJ;wO z){<;kErA@R4m%eu%SHt#1(X;Vn1vkmiEb#-8Epoz=87%xl@OL#wW9&7g~H0>R|1C` zTjKN*UkQt;B?jK&9!K?wZYU>Q*o(K?M4T(O#92a^bJ4N@mN-iYbC%~6w28D(1s$CY zVL0*DQlScjId8ebdJ3>*yk*2uZ|l6}98>ZZ_%qxpE8H!x77JCN*5zOt-bzZApDVVE zw~P*ItKh9sp$as*AOzl8E>wX<=dF_EK^0h>k+<4l&7HSERTpn9b>R%W6}Wp@;4PPf zz*|d%s*<<h!d|@925YX^S|FB%w}Rp<c?(p5Fz0TRr1O@^W?(}YPDETJRF%91!_5rV zT(MQ~mUB^^x13{2-h#WKqwB4pPB|iL4Ciw2)bf_mp^LXbqpQ=vTT7%eOl~_^9#nzF z8F{NwvOHGGw1W@as=>#!JWFUjcx#cc0(D$(VF8F<%L8w@90cCtmeLAu!G*nu*ai!$ zX<D#gOo6pngU>RtEWG7hw7ldkPz7(TFeO>?mdR$|tsse<sIKr93^y}a?Cwqr7K|yd zmXu>62y-r~^Og%;$y?xWMZsG^^)D4~l{$7B-fClusrIyBVT}tctQQ+$Om(%{O9*nR znf3y0CZ#ToM5HqQGFCFwaH?2_h@-hnzZ*bf%0bMBrWv3_bJ7k6i#)_P!kFi2D>0XR zset8858lSyhU2bUkg*vsTNx>{3QXcrelU==(1y9Jg*Ht(u%PhqU^elEl}X~WiG9h- zTFIJ7)5w3Hf8`EhBfpyVZ@hcuyc?sqeUPwlLtDIL=~c^?uUNTi_0`v8<E?AgJng#c zC)Pgw2BsK^LLw^OcKWs9ES9e!NV3freZk8}G4x2#S|UBg%Xv>cdPA*TkNgetk3PMY zFTN?J{<v5Da)YA&_*Qa^uAO^1+Y2emP1MTufD6J!qu0-#&sKr1v-JsKxmhk{fw3@` zozOfp;174`FFaSXPNJ^h9$+Z69<lIddCJ8Q?Yp)M{qqFKV8@WYd(JY}epwaUv*MmB zgaWPHRX5wbPohS)IlF6QySUaV=0siD+W28t`ALAF$$TAQquG<G5pC98<26sFMl@-6 zjqH}U(ex*hD+ZmeY!x)Isa`9<a4=JWRVB=;da$f^v#F3Z?3iUnW7&4~@S<MChq~%3 zHQvN#RdZ{^#TK@f<pWC+r{jP@%>4?_x0yXGj{7Ygs<pV(Lp}i=ZE`W+%w58DwpM^~ zawZ(Gao8^K2wGdG)~#zd2W`fP7RmiK%CVcMN=xBQ;&;mtH_EXNs%cA0lwN@rV4Uv) zl?}Zo!Te0Gx@%OZD%a$uiRc7&Pgk}!t%5&Ec4exK1%R%)amaWQom$naMxqHR)IHqD z{_Gc?%L@VQcw=M^?Bzk$W1@9yuiy6Q`M%LV{~(JCx}w<f-fu5!{N*ltx!KQ7K4>p? z&#`vuRK_kW*^sQ)i`{}K$uOZIF1a9Sb5w{E9_6dO2MRnM+z>1wh{^Nhoc(`KXRe;5 zGx(SP-_x0EX6X!31zdL0Z?e8?&zu~TrjXBkO{~VfGE;Ot#%i|aYXw>}7r?fx6}Wch z0yyf|3apvA09!7#0#CC7b+ujTjWz~1MX3%K){0&?b6YI#*9u%ea{>J4zik+)hfq%d zy$+(aJN3tRApC1*?iBkN?E<DPo<4H{1)5H-)WW-=N8RkRK8YG{>{X+7%>AF8;;`Gw zZT_%cSN7>Lc~{XG2}EMxP(p~rz&l5Ng%6nkMJl>lj$yJhEG^Z}uvr+*hfD#df8FAp z-REGka3hizuz+Hlxa>WB=L^}LaYPgRG2O$4l(%ETJFaO)7R;9Ntg(e!vUW;f6mp4j z?RNyD!Ie~+-{GPq1AQF`5qO;5V}kef70HNC@FsnN#}^F_@<3qYDE%c4@oB$o86C8$ zbf81KF7koXfXlR!3-*ZF#^i-lQMm2cDJVW#cpLjY9K#Sg@JL;&aB<N2G+clN<e0%1 z)yHYFL2Vq$lpD9;^xV;E!<8JhG-!rV(wr8`QB5@h9nllDgEXX{HA19cr;b&3<M>$m zN1Fw$_MPar;Jex2NPp=EjIRjzZH|b_vaDq}iC(Ol!DTaj{eQ6!+R!6|!XBx&O?gNz z%bGg%s)%DuO-A`)rZ~tClOWE&`cxXc$@@-T70b+G)z@>v6q%>O?^*k0?~J-{AykSt zo>*{|U&^zQ{AS!BiF#!C0p)!@lV_7tSQa@CbJS$=_9U=%=dbsy!Ch97<#l>0BEF#> z_eh;SW7co767a5RpIOhrfRK?SXT_2fI#DHzz??<|^{I4@p<{tD{P-bT(Q3<Yr!{D) zsVSp{U-RN<4W^&qc7k=$VNUtxTq^@-Q2h}+YB+dJoXI?avOFuobl%8yz<6@9$ssx1 zR|m5Oj%i-vT&&C56!gHU$U#yZp&!3nY3J;^8XiD6XM!Gv!0NNn=p3yg{ze?JA!ycK zwsmsKpkS_y_YU1ud39T*fl|DFoB!zc$xyW!VEI|wmgexl<SmXSFeBaqs`QtZ*r+5> z{pwT)Okwc@xk)hmYS&XS@T3%=UWsb_(y5Qlakc7hEB%elz~so5s}WU9u@0isUE#67 zxQM~wRVM=`r)~a%;wsvH*0{d|Z3HxR<CN;=inG1~XYw_+E*u4Yg^T53o&%!9#_zw0 zS5QjN3QT<+BW@WC=qoqkLoVv9T;*dX%(?PvMT!w;g#%Z*<te}T!Qg!aS8+z!5eXQg zo|)3R+Q*1!wsfYz*$<Qu=`_m|&+38*+M(smEde~hPNiQ$g=BSdDV8w3N^%Z{@mD<X zYd0mEp_ggLQeyZ9A|Q+roNRh*7BYm}YGQ=~=}cFtMqB#Yaf8o`Ddh=&e~%L$6>Ez< zcD`1(0RxOy`cU^x7eN;V766SPs?qhzjvG|N;aKrHjG>5IHi%P8r%p0q5p^}ONpjBF z6%!j#L&x8k#E5%!8Li!eC;>3%HEN%1i@^36z{}eCR*FC!pU(bObiN;Sb|O<{0y5F< z!nu$s*H4oXkcp<DP!*Xa?!H{$uJql*-7Omo9TVC>L>afnyuxd^`{LSwJBz$RXTTkv zXb+ngi&IL7Hqw2OwZfozP-j}IO>&O)@wW#uUqLcL@^V8a*K>hPtQs}8tmR{^Ax`~F z4=l2JQCSU~ds@VHQ{D2PBpg<(r^U+Pw=qvkk^r=qWYJm0+JP6nWiFXPJ!eDG_2vmQ z#2}*aU2b@|K)b^p?l_ETa<Y?$X`Bt2OKzh99gGqltaO+!!@8n9mf6bH+b_#k{l6Jk zmowbb5fx`RGb+-QypLrUs4<*AG97-m_%dcv4D-#~HVuGVs8Jp4VDF`WjjwgwMiC|m zjv|t126`I;aFY?O@NP19EyZd;8B3q&HXkFD;(*w4qESnOJY25vdAqJnQPF(IArz4X zVN4_k`@wuUU=l)uc<aQ3(J!SqRi3Dl1N;X5Z7IkYZix|EtclCH-8Loqa!j1O3|Tt2 z4g!UJtT!{LK%$x_v}LfSz<oJ{<6Z^_i$sN}3NCT5_;eg2m3Y=#MCbRII_vtt4X4EP zmQxutm@{q01EDm7;RqN~U|5OPeF$b;rn459Y8o}qP^Ef#TE7gvr__X`j|lN7$6r@( zD8C=&px?b=NZ%`o36|M@;4+rn7hCPJ;Dh!L+RcUD1B;l(GaFfo06V$Rf@aq%ZJDp6 zh<Gvxj7&|@*({O)xOkXOjnIQZOU0pWT!BKkQLr&GowSjcft51i=@Ae*NCaJc<WJ%l zn@{AI<R5ES{)mT<9pG&@Hv%dCMj@4I#kzSgCa@g1cucr3&f^#-rXTRaeuhZc$Pf#H z4WVQZo$dN!mx5sQ*hS3^V=+g%s`^DCeIN^{h72XDPb&}sO`pLjR`=ozNCrh2A8aFF z??$7hMNZT<x+RMt4d*=Ud>e|4=K4bX12e>^&}~x9J?IJn!Nebv#vcF-e+ZmOs*|My z$$XsQ(E%Z6o1S5Aq_mRmVN*qE1%J3sCe&YOs!%B<%C-ZCcF$;eG4lY7exV`#3$QK| zg&(yq(;5D^7vO3zRM}K|(xzQ+S=CtZ+P<G@{4@bWk8;&u{~DcHU}YDs#-yC>U)IkO zuR?g}p^vWj>u@%-hfVX-Am$CXyV&!&zcrA5o@;4!o5R2Ii@qb%#~R!6BZqJceB%h7 z%q)R%A_snE#h4%%4dD{z(NQ#Vvx2fr!^Xg-Xc<io$kkigJWhZ42dIj9Ef<BsxJ+F5 zRr~xsPjHxDov&(7E2_uq+;-M?g6y=o3rhI{A!v_Fh=7PtiaLO!FQpiAILFwlaiHP$ zi`}6%&<=$|6ENg3<t`>RKbQIw-aP^Cv*?LRP*BAKL}23nfPPKcxIAD$mq^$P!QQIC zzk~Z0lppY~+S2%5A=xbH0r~xsJ{99+SS_%7VcA=vdEjsUbiuW%cb;KI{3!CQ?#T0T zBBdDC1`DjocYO+%dfKgFt-#G`q(T_B5G;dr+z6)xE&{#Th*l^HRGcQF(;khLXka3} z4RWEDzi<OkwPzJnEbl}GYQRykqN6~G3ams$J#<uD-I3?l7ldvO72WLHqTsz(ZArdo z<@i;(=KTYCa>q)IcntW%_B=+O<=Jw}vy%GQrk2KVQkSu#Je}?qEFcYIT&Dc!sDf8Y zP9Xw?*CRYt>QTDY<M=D;5#BE%D6artJQCH5xD`$Ul=e^{z)GU^v7wHMsBVm8%eG`Y z-p8m)2{;2sv-cr;V!xc7mAdpYQR)=ELhwlKEqITJ1MIfGeh0v=aw?w*<X9!@#|T2H ze^Mc*W78p$A9EOR^k62>^CC)>fH`s)#{7{C^S30>iu>pIe~jl9{EjxtivL`)&!MEK zmqyD5<_$)+!9O@;(*W51Vp1}1e(BMpQ9h>No&!=uRp9^h0Wpupp}<6GQH*Pz3RSWI zp0P8Ot_-AL7;P4k+9q%|Y$QFP)rQXIsRw+dPrOj83qfx{Ov+{pgAnOf&ul@#L$cmb zDE+$k;bP)+l@>hyV$N`mqBUqj%+2b>8{XdTnGV2Jbmo`oSx`D;#cH&*hDG{C<1Dsg z2H4ID`IA4YYApKcfTG`2tNBYq5W35<LNHTCS6l2GJk+iDFRS=G$FFf=TXUDiEi3)E z;;UIia6Ij56!?zvgQ~_Npt@?TbmsLh5Zt}UqyZohL}Z$lAeDwF0sp1nf*|zA6}e9- zvIV79g9d0aqX981Eppll$N7gVV6qobMOKM(&l+&PB;b6hqTx9D2OI&MZxZ^Cs>Z;d ztgcjREb(Vqp`wokSmKU9^tDN=s`<>D+W2FhQ?2H+)8fw<1BT#ShhVGJrwZV@e<7F| z7pSp{B9;U##B(*YoK`H;Fj|Ba0UI@_h2Z+taW#xJTs-0Sk||J)&4_?*nJkszJbOZc z4QK=r%OICxJd}nw9xwhyAKa3?F<bn>?c*{bXlqxawYbCqF#GVI&F_|2(kgAu5AvFE zs+}nizS%@LTg(GC_{#A`HiV>%AF8s@=?=54%|{{Kbh^^ZrSks#Xp!F;v&^q_%kMCj z@@{gvLFRK|STv3ngMiVbr4h{Oyppq09OKZ@IE`q4xgry{tsGyOEiv3I1vd-{Hbg)= zh6uE&4-w+Oid21!6R^_R*kF=+7qD)|QW<B20^?PD2T}4*6|GCDp!THM%P}b4hVjS1 z^XWx45bRAfhC0Fu*~|BriEXW`HE?c&>(5qg)NOGb5VjlP`m@y=b<ttJZj_qT@6{U> z*ScS)CNAlBxh{F;cjbl#tDRhDd5ad=jFYGItEsWdL4>0$E$!CxRYZ&An{KS;ugLGz zO+@v_%0#%SFoJNtAvS)0wqir$xPGw-Plj3#Q0qZoXLGHcDO9W(>HS))<VtkgRz-g^ z`P1ll5^NuSwk!SvJU{V55_j?NEj=hO<G;LENM#b}!@g5aE3>^UfVwR%<1Elx^_nWw zWTlcg6XiZTGA<zZ7#iH%DLH&!nOG5rLzd_UR+*C!*;Jy$O3tH}xT9Q;HEJ5Qq1q1N zv!FKkHfqBSMs2vks15!*s14V2P#Y=}7p!5N#PchVI#nA8UXl%_F*3p&$4b)4bcb}V zdvz?kn}*n0@XKr@V;Q9&@`wvZU<{k>sn);~8MdqYR05!#;6gQ~+g~~!cTTTV-%;IB zIP!}tlP1?kAdMEE-cDT?CKI)>q%_D(TN{zB{w??YRBPaUIaO|HJg`z>R#+*}GHyDl zGpR)}v+eK(9c2IHC7fVlIqU!7K2qE&N1_4!XTFsl3$I$H{!F=_W*IEkbxA8Iy*yr; zG?p$c?sphnx^!%*{+l=7z+m5`VIegY_S7O=a69)uO?Xu1(dtLy{}B_Fh08aO^N>|P z5in-DPj+i%?^1Si1g)KWrXBbfM*eQKEXM}3@d{KH0;wYf8Ls6)vDQ+skZLIiq^B?< z_<(u`mxZ-^kCjm?!E}kmf+{Q?z+dnwK8Vho6F!cko8)5w2F=h+KX9$tF-{lKnIt!1 zge^Z)vOyng&?J0H!zeJpcTu1T1;~DLwK)K2rmuUxR1Ov8oMQ8dwnim6%T=(1DWZ>+ z6b0cg{;7Bu97Dh{D4*TI!NI2W-u9|xf9c@=#J2Qv-_P&O`ql1XGd+BVg96NLyjjZ~ zDGY#uMW}H1f&vT#Mkoe#ERGtRY9nUUm^@B~8qJ}hp}u}2R0o3r92e|p25$7I;tQvz z^z)kpo<0GowPDK<Mfmu|YS8v$n(46@)8I0X7{D3{i!ovyEv>URWbWA7GF}#z)*bKG zf9oZliJ-!|$K&TW(WYFrDPM9F=L`i8DoQ9<PaEkTMJ7`K;(vJo50~sgU``|#f?FSk zC0{P!K==7gD!Gr9UR@lI4y*BG+ZUpZ)GK?+`U6k0GPva?c;P!t#q_UPGcdS@t6)ag z_<tduXw8v(&9y;|wYk^36vB3Rj}~__cV_roqfWsdr=OvqPjs6Vuz#B1foW^g$T!7; zqC!v=Vv6s(M5NC}L|c5nuoZUP|9lF;rbnM^(WBB|c|ftFENS=kRv%e#_w`3hI;3b3 z)&^EbM+;5rRNkhl$tu+lU{}i`3aN;S;v*5L?D6&MRnfX=eXi{v(vXx-zSuvnx19Lg zhMfG81fY1;+Sy-Mqa6ZkQD9CM8n)vTj;n!<b`1nJ!lG!So;r`iR>qO=mm!Zqp#P4s z6=Dupx|B9HTIMCILI`2XJsz^>KS_N#yR3Pl9IMFz!l990T!0ryTjT+!4`pq5+%e$t ztR+V7QMR`rY;V1n+NPpzX`397xN$IPBH6AJ=2KA+IQ(r5VTbSFcM`sEiLnO-<<Z9q z9CnKVL^<~?dC%59%6C>R3>sik*%dVlcB`*zs<je{O0t`N?fE_;RyA~}vY>c}3bx@B zXeeiw8i<R_MpO{r9-G`!{hsPKgIs#viqSGyx8b%5rMG;))SwUzS}TaK+){;<w9&X% zNu4L5B-sG#9d~9L!bAs-X=`BT4N|NLl(1UFjMQj@_$)Ox(zkpMJbLg!&mBtI7(eHd zmOGSGq<D>IB?3jt`?Wa5iSs;UlCc1Rm8$3(;2vnrUZ|I}JfmeEvmmN@3hdgltYerq zs;%dQ->+cYY6uuN>x0Q#NA?c+G$Azl%M92OzYt0cyl)<Jd#i^_s5{E;uDxUM^Zk?e z0A)cmD9J{f#C783HdY8<3I+cu<>K4HM6|VRhm`FCGNv&_`It|1w1=ee4gs4Gknc<z zDqXeiIaiuhRmB^bMGGk&a|&prlcLWah@tVzhVmZyf8jy7($on&V^uc7*G18Ev$J)F zC|YLM);5MuY)k)~ivofwR|GQuXrnrhhwmeap}ZJ>MCy*wq11hBASG-84yONlySBM) zv<UW28>Iy|bx7RDo?8-6n^2|1?TMW*ZdU}(Hv2)7(cRZO?}*Kbke)Q9m+b<rc5}R6 zs!?=%jf1K*5OhMdIvBJ`T^&igl#-|R2$!Djd9W~RGzyw&atYcCLK8#NF4D8Am=ROa zPo!+BW49`<zT*ke<}|QL8&)ywMjK3*>pT*~9lmyPXNObUkL>=!2Hb)9t`!`Cv#D96 z=~rXR&8*<Mfs{2g7i(%R)~w9Mw5garGBCelF4G~xYYetxpNhp-I2DUE>c&jP;@PKS zktQ1KD*tE}VdbFxG)qmtF%h0>pERR-beud{z0j3>p`kB7(;5O3=T`S_62jKOyP|}O zSmEYc>u{~cPLzl$n)H|p2~#haOjEBYOugdt(6wzMlFW>UQ-wD3YKZ8KE!CM98~J=! z`?1W*NHec0IC1)>=Nl$8@6rafi;K^@su}gITGE-#q_!6f^;wsS3rd@H38?fd-*3?H zOZ##9u{#V5pzUn6D*=<bih;oNLK&d95@*I3X6!NH>f)rt=Uc{>RV-=9`<qP$5!0=& zXu1`U;~^~NbxL#Naf8JXO}FG^FdieNOt%u7ZXsIc$<!|)lP6P{ZaKD9Y4_9LY@!(y zbc-V8w4ee11Xz5k6{YW7Kt4^i9(f@Tnrc1rLYL<1R4cNn*55GIii)Y0HQCAIZ9+b| zCm4@W9~MNLUExGaI;zdA-l57wOGs~jrc+soMVR8uGpuu(W_?30<xI0;Bby9V+#*VR zvT`MPNL(H?&HAOS5b?nCDFk2s!E>o6PT&22RY$^}>#a62SPII+QZ&c%2I_OHm<oH; zQO>YT6^Ht%?M<3sMdbubBAWiG>&Erm$mnobKHwn50F2CvFy+`Om*mml+VhL^jpkOy zH?rNTOs~0>aiHc_!Wde;oLdDgFTv`ZTSYdvG6XZX!cCYQ?YUJ_&}EXTRaLSRRIrgJ z%&aWFQ&h~XT&|c|#Wu653l=jgmLxgdX)`P3aeKZX(8ulo4VqZFeAq+y)&Yc3;^MP< zd~)W~q{@|XMT3IxD%O}(Rr?ibPW5$Xm8$9u75bFQ>g+59fkP?rYuSK`l@qGSCRF7& zKoeU8{as2x6+Uk@Os687PIWdbMHeKeS2;87BC~H|O{O#`3H1wUJD7HHF_|(fiudML zUnEOB!V>@YC@0Pc(<qk*hpC)J8RmMxX$FxdTBDBK9$5;MmUAd;piMCfY7R9mnl*!} zlCVPxrGlN{(xpCwY7{f5DAx?CT2?ct>bqu8vCp6iO2NQ3gNoZTD0at-85G}`L1}qk z*_c7al^IlIGpK6)nnA^)TdWyWWHYGFj>7ysa7I=!hA9_`<!8o>=)E`&iyByh4zpa- zu;?^()@81oJN1^iwwnK|=ST?$-=La`{$Kae8sl;?qSQuc04^-NEGDN<oB+NYMtb$M zL$;VU6%^AMmr}NhX;WQDG-=v%y|YWlq$$#^!yQbaNmG@Gnlx44>#zy;8ZK?p)U9%+ z=zLjRriCU=2V9Dwen99Y$SwFxph_*OYHiBoDy2FOtJ><jrc4#AcDGOkyA)fo4m$D7 zGe$;Eu1LoG^7APUk?DRkTyQNCx|{+t-WnJXI(|l64~1u&(21P?u{Dp=<C>6dEYtRu zX~*z;4;e{JJR|6$;5)Z!c1X1x_DVm8*VuS!)ZzVptWra!jd3JApzy!NKb3e1Ym#RA zeBz}t^Fb2c)XBJA@ET*O{Na5JsrcOx4%Dn%((Yy7mrVt|Vs$p`N_yInQNm;qC_$){ zH34zuTxmZIX(mggND_+ZLeZwiY=1`=2s0NgBR;`E_X^zVV;QzIYxeEkI_hB&8TCV` zT?ot%r;s$e#|MAgjZu_uzH6+Z#Yt%w{dhip?!+q@AgR>yeeAW*BO`6HUSoyHn!GIi z9Jgbvi+1UDMV6HI;8n6E9#7SPwA97l=3MyC%N-eL*F|r`-;-lM+YcX)@*Ak?99!Xs z^m6!j$aijoR(Z9iLCO6eA?4?O&~`-ZAVVPNFPButPjjc{QPS`_9J8I5^jEfe)aW(i zyg_I`YG6_Elg;^w-=xw%d0wkuiyxQzS~|QJdW2I9`>ZG2RbPiAF0nA9Q$BmBNU_ED z@~dz+yY<fZUA7)@+}z$;T0;RZa7S=#p}V;DvF*&BviB1&kR<)UoxHI*?!n4!jZADV zAlO2d1HB&Q3=vWpD&*0xR3U49nMZH<(r7nN-ieL;f0DCt6O_0$((7;P)nH1BkN_rF zx*%KaupKTKfzO;IoUGo+Npnu%Gcd4|Zs9Md)NA!{y@CSyBL@oPWPTWC9!@s<KPFnB z{Y>mTCMcS}`mf?-T|&U`xVeC*y2Bb)BO`nRuoEEF4@vL{3$aS34Hv9bngC9_$dBzd zyU1_M8`9g!xHV5>V&bi=i&o|FPk2aczMkUTopPOs@2lp?@<e%xLaq6<#0id^_2z8e z%UbgY&e*(XB}Mrlk#RteO0p!~wbnR2S5~zyQr&harsy_0U+-F`GaZ0BkO+bQeReQK z3raA1m=tS-pq1DBga#ST3qxOS*^rx(9L6^<7z9`9(W(}d*)PiQvP|I*_r;QP4xQKm zwV<~2^)b22xB63QEHQgOgWVtA=O<Q(c%J0(Lv}h<c@GiYT&Uuag95Z!C>v9V2#7vv zha~7At>_vdP2C_<rggLmLXdPF>7b&+s1;z-;}KM*U<P*lW{eq+>KB<hqF)>@PU;tS zm(Vzq-NN0rJi+aDZb#lZ>@G2?e!brbb1tS6h1wQJCl})Pp^~+5r&iC?oT|?+#@n{w zmP7Y+67anE`5@}R4n#Kc-^Oc1EqU#?P>DU$o<n2OcSP#rkMFZJPgQ5$(54Kmx(gpJ ztCNQFO03`|zJ!8;3C;v6>pY+cI&mplT!%&+bvzpeH5Q%}EXpXDDR@{s#NDd!_wBkC zUQ}kyF-!$@>?EQl)U{Q-pG#nshZ`T+QbwZm0;%En^o=Y-D?~1<<XZfIIiRhM*oc@Q z)e24#t6SgC%462Zhue*j?V^5(7-YzTY{G)PS8(64%O-Z{m&+XRKF?p9jSwvbx2=ZU zxF+?Ba>YH%y7qW1M)H5~9W2{4mi0jvSbUHrw0;<5V{-W*OWM8c#RmanYrZ<j`Y<HE z1)=(ZGYj@LuC|VbAr;vS0>o`D<FPOJLPl|=jWV3WfHP}jY#)56s`Qg_EdUB4V_b>l z1u)hgW6fEk9AhmXUO0Dhog&m6tBkR>MS$efLq835G8gs-or<F<Ce<o2CLWo~!jT^f z4_|t*MsjlR6hrX4U1ka&w~MdR3l`XaXFM+9m`HXAiK8#app#50ssI$x=<5TH*8}x@ zoE0Odzjq(tN`q<KtK5OA(Wv7NR1=6JZGkvk$QMoEO<I?;Gm<lt{)Rm8Dl&JX5FNJ- zDi(#QMW|6)3Idpc#FYLnItkU}K*@zAyE@oQ7*SV`$UMR-*&7BSMjk=Nm*YucD#(7w zxA&Vl#xcY`Zt>#;eb)a9!VvU7toZ(tyY2nlY0$63g|4bdn#7#oGL>gLJ<eGZ>!J$? zqo<sg-g3PU85n9rsKk%)eBf@SjGBpvEHFTsU{(*D>%I}f22fXdZ4REipL$jP1pf`_ zh)w$Tms*XOTpI1n;=n9Z>w*KH7t@;H>^uUliZE!IUG}JiQ2ka3Zm68zX1*jvPmcm4 zr2l)h?~_0|Jxe_~7F~-NCt^l{*h}nE4Z%g3mT8?Yy@S$OkYz0#tDp!`PJki4o3Xzy zn0z+hDiYsSChEv=$ocLv@j^TCJw;-+z=K(&c1S5Fl$WLywf1lHP+ma7O?_IRT(4{! z>)Ez$AQD8B-=>dDH)@r<W&`+)6pe|`%(2SP!u|wH9*%mOKL6f*LgSQ<b}@V8Qlot5 zZ!uc9(JV_r=j8JfU->lXk=XH9(zaKbK6!t{Il#v-pr4%|=Eu$feqcr64+u5cHi8#4 z@oJ7o4b!lCiSh(~OYGf1wQve8&YIy2rH!e6?NRhsHm0PM(<k~NbWuvb;!_3tFekyr z74A$mv>Cvalk{v>CqV@PY46d=B|=h^e$AW&^;r3cAA%nh-!aZZR{exS!E~Q2*cKD} zw7ZmruA;TG<|Jqs`J<=HNwC(iMN8@cg^l%E9<*pJh3)KG3LDm*B7%j5teTTxtpsCE z4MR5WST3eKy`2Q#dT-T9P~)n3i)x=But9aJiVf!qCTXtjB-lv*?Ou82Q4yO}34(6? z*2_syA1egwa1!hVM}50W<;(3V0ha!M-)|7{YhHNihs{Z_6J~9d*HUCBP*(~nG#Re` z<AbYdb6dgygH3zvS=AT}hXS*pWSCSrmRBv5ef4_;o<2FmOq9NPS3sJQ97IxiG}w6j z>i1CKDC;d~kdhr3NL3jVbK#2*pz{|B55E(Ihu?`8xZ<g9JGqD7SHDNvr{dvPW2m@> zjVfj??>XxW426=r!i^_MT$^27`&2fbG|6m#1|gZ@Z%v@>=gh;;Vt=47_{`Rm1&Yz3 zarYAlGKRINg+g<JO{B%s-CM!)d!A1rc<i5FWUhkgFPn#-B|Un*)kl`maW#jov?T35 zc^iz46|$krsZ)6yswPtzYF3$Y|H*3MBOZSCxcg4^xZHq};H7_H9)5}To5*QVHEDYH zos=L6KrL>j7IjUVbx0eobcu~X-JcYiQf!pu+J%CRcwn=s?RNrJ*o88V)Gm}%3mUxK zg$f#7qEhZcQ3u|A={xVY%P`aby;WDiTgN_p2ftcxwuV>-<w5>+`q*w$VJa>A-<f}1 z?W6hEX)rRIr>c7?RP8peb^kg^PWlz|uj^C`VSMw=pqgOV$OEn^XE7(mLnVGxu-pzx zY&)p@=AA%AS}|INFKwi%Lg_6BJ0Y<Rp|S$cEiFPx8_0T<v}J2kHh{&Jkd%gEdk{9d zShj8yTS8uoxP%&Q{F}ALihrFm5hZPSoO4Ob9ooe3sZ&W-lKIz_)oYxE!0umXoIsm4 z)K=Rp^Nc#8$zy|WHBW)vQrxYLHu)&o<zMG|o7!yP*6vVA5VChjhxDS;Un8jR4)qti zLrK1)R#v-1)w)>n<NcHOP)R|wNWH?p4l}p#n@ifeLwsX*sEFHgNZH!{b--5TOkhRQ zs6P;p_b&fBlLvZg21ylfWER0p>?N<4mdK~BlX3-aZG*`3?-=)Nfn^yQJB#$F)&|F_ zouO*WJ))W@T4qEM4QOTuiuBJ2Jy-4$8L#lshJEt=#(lKNKw4;jhE%hSN_J>#{{~ik z+rQ3qbubm$BrAH{A#rRJ6~xoxU)U&;t8LrAuH<YRy|q>JC|faJUB$nS*se7SYOAQq zG1@AszE^3c>N>WHy4BH?Yzhr{92Vf@XJT7LmtIsD6~e0)IW>_n2u;LFJ*!d8Hj7-@ zv~lNZtNO0ZqV{_ur46eXB}f}KORa)liZbl45%qJ=5EMH&MlEknvMW%fsWqN#nr!Y6 z3s??EB$~nFREw{u4Rbct=Hj?5j`{p`WaKwiB#q#qr<&MHy^c@nQ^^hGE*h;|TC*+v z$UWw%qkQRG?#<$KhxS;HU#s`F1J|zF`*upcSH4uciif?$!-3-AvEt!q@o=hE%T(?C zeC_>G?S03((CWDxx23Q9VKskKNICr-+jw0MGXL^+9u5~d_pDR;NuBwa(uZ@!hvW9) z6sS(Ws1JL-Bh+-sJ}e{s3ras;q#v*rR+0X<x5I|)XWs;l)<u!s-VEaYenOZ$bltY} zLwE78PoLAbDlA^H$;!+%-+z;c%%Z~%WXB>Iy5Y&Esiy~@A#-hv$z$e5BDYi^e>(i? ze3icS*};&_nEhT@OE^Q%b7^gnC(1AK{MYxE`SQcJso{A|vg()|Tg$g?OaJou&Ur_8 ze)|Jt78tjcjyT1=)PQ0zX}QqcY^=ScEPj?ECA)YnyPjhfqH3Vd$>&rum{tJrUC+@e zFV+KUJ>B!1b}#l-3kvGJ-=&()elG}rojCQtcWq05=N^F#EByQmcsPx%_?0z0TzrPI zzO7DyOV6lNfV?NZtJr7X{@g$Xt+v?}r3tLAZS}wUPBLDy_NUbTcD29fxkbT~GZ#F@ z=QwQ_yl6e^;*U#)H!xE22aQZxqhG)kCVjISJ^S3y>B;X@rP{|&C-q@x_1&mB`AnmO zEzv;pXKo|cA+}M{zY=%vd#1_<Ik)_WEq~!~_?W!~kHhUh3|Q=8#po@T%#y<6@X#~M zWtqpGNtR{^hiCO&panFRw!cQ;1*3he12J$Cd8^#?JI`=tyl6m$PB}MCwkS~3V+XYE zcBtnEFLZWXT`#&aWpAM?Uq&eNT}17u_C@fr+c#eJW@_AW6-Ej&I4*R3eIw|8yU=~H z`mW+@8~avn8Ne-Cpj}<TE$`>9#$^GRm8aF*(jT0sahU$;pKA4Kg{se2sDdybSji0j zexao4M_V8lN&79B{hn)>4StufX;?mPovR4<iE%h2;FISzktIWCTlh&xRQ7ylkeOY~ zzD#BgK1+EYt;@`zXZ4Vo9kM!NYkwb)?(f(oHILl~w*K`+w6<HB%2CG39kzOX0TEqm zjR$TFgujI%BD^s$GJm5waA{*uvL_i~JNb9V@=&0A#G^(>*V@M95>4N${^|kgJC?NZ zc63Rla#}r6dp})!KTBB~6ff9=0Nt~ETlyvSeaapR0P+JX0=i}tgoEUA54iO47nRWG zhv!uIh!y_U{b2tamBPp8RQN=#Fg-XQ3L?0#51P@i8R9&=vWFtSu%bX_0_O`K(jG?m z$)#HALJa!aVlWLwmKK$u2O)RWUuS3SeUH6=@*d{<|6TIA-`+o^_qXVM$5ox>FD=zO zI7+|~-w##m69bx)JMQBQ*a#jum>T&gv!fXvCi}V>j?P*y5A_ubdQu2S`vQNQum{hw zYow~5_l<P2-02b58Tk$t0fHK3U7}E<HYnGJ&z-F4y52xx%<HW0VD0^I$9v+udXfr^ zY4?nUhcoj6<mZZqi^an+tKs79AZVvheA3>(pz-lddY>#Z?kparsP*4|NVuFY;Qm%w zcRncYILL}uobI|sh_@lb7W?x<=52v0E{8-z?!Ng|%pJ7K+7|2K+WVRLMHh;PW0s>0 z>B;K56KB#EAq(}iOQ#-+!4hzfW9i!<bcqjvIAd+%yo%giV_ZR)$E~i=xHooMj1<;? zo!^9$9SdC1^LX0Ab=X*72skiAf!d(hM!;i3>TqDP8FTLSoV0MP{j^v^gf%lc+`+`d z1rrw!r;CTP#lwZ-;c<IVHx3(V|KLZV^&1|vY7Z~!hW`B;(l0EsxvXW{MKNL4=P%tl zrcs*2bljZlIVJbQ-s#tx>8T-|(Cip2+6~6o)XpT5epHq}NA^bk@v3CC$9+HP*94nZ zEB3(iKJBwd+F4`sil?=NRnM}h^wV0y`UGFt$jI25)vgv^O^77W{M~ct1M}uV-@Vr5 zzvN2N-?xqH!LV<w3AL_)W_fXKvR*D778BCyVa2eFPE0l?$~aE2wXG=E+H=${dY)Mr zU-yQ{lZWKikYDG1O>6DeVl`?8n}LZAW_l^Oik3AU#nG$f@UzyV5OKkg5HF<GupxoI z5Hch`^p?*=`I`I`Kej(7GI<xX_q9g2Xj&Vx3&uGQ%54+ci8XYJ2>4EnzPyEcfS`k| z`P!ewwNCS7K8`QYTQ=YAvkVyHSA(|s_t8^zoJ-}jfQvUo-X{+*Vk;4Q@$S~bl`X>X zv&+weLZh>uHB4W}7XcU58L?T99wXq8kUx+uO8@0q>AyaUeTasE<^UFdja#w;#yCsq z5H*devDSQpG)o0VYawwbt;KAiLj;<XX@Nu5GUuv=u<rO`DgZ*;p`;TA(<oO(XV5Ca z7X;T80{g||^Z9=X&%(q~{$HpiEAroM9*thfy{&~{m_%GM;PU#v(2gz&#@|L_fQ@}` zYiUs?QBtVEtIhPyvfE~Q48}tf7+e-KY<`G;sw#c^En6U&Fvtdq3atvlP@UfedraiJ z-xk;d)P<fxm-Jy?+3f{Sx+<F<&L=h&*H(|}6KweKLt@~CppZiGL;2*-;4ud(=JUUz z{Vvc7DdO=k(xU1@cCcIIjk*1Lm^Q#-!>}o=#@f}aw;@QlO}o1($`O}{byoS$EG2{G zW2NzR&6oE8Ppg5UlL1~Dw0=_i{B|j=<{1jw{j~ZW+D<sMoff(&uzPj0XaYty6wa2t z1B<NsMTke2Tzob+Va7d)WliKN-zPD*&HG`IL>z1A4J0(AJ|wTZg@Qwb3fR-jQr6sx zG=3F#NU8RSa}tE-u_Ud1LK?J#he{)A>?rOTI1GZXSL=xj#BYtRC*s}0JPiq4_?3~q zK(H-+=+^k@rs|A$ZjIL@o3r_{AQoBp5%e;5^hyCdDZSjOkI|^2Yd=?UHVDE^tWJeO z9beAx3JE6;HM;PE#O3QE;z8=i{8QSJtE7l~R}z+RfOxU##g&duX?X^hOvBEyaem5S zhg;qC<t{pm+TP4rfPY&tzLN6j_09Czj$G$a`f(d;?h0egR#%}YR=n3x|B5*##8T)k zz|`n+7nL!-kVan3@=2mv)A4rcd{Kv4Xse{~O}Vd<a$k)_HrTq_95SWUuK^EIZ%LtR zi+bASR-;O7JaF%Fo*AV{bEP^yA8I$H@GZWd^l6J2W3-uFBMoHzZY@Qjd)MzGsHHGq zL#<ZDvxOxJ6m~&Zf-ZFZt*h>v+_OI1fdYD~mEur62xO>WRd*GoPQA5|1;(ZPvGPsB z^?00J4Zegznzn|(IfGlRC{V(UBG11QH;RQ;;5Y0zDnxv7`q><g64N;ah>%@Uu4A-A zm5KsB#w8L#T*k67F3}6zqJ0M~T%RrbFFkRrc<X9nS++!uvN%DhUQG_5_I;$-m?}HJ zXpOa0Jd|T<vk_h@2Cc~7`^N0HAhp`2f!NkZbDeAG(dR^cZdCeAxbbSA1qa;12v3t0 zD7??H_Zf7+9-xjs#~poM*zPlH@-A++Y9H8XZDaF>#(E$#-*1_d!hk$T%KIEJ-qtqE z;<MoM+O?r@ZwjtdZ?s7usEvB)hJaDCr_5GCX4^ffQ%~3XX-HcEbx}!awmffaYjJ}z zvARa15x8~+x<dUCe4#y0n+lSIiv{hieEZvQ-ptQn4tSh@L=V8nB1i%h=iiK(aBaS; zup$ey@@$b{IPJtIMyc?L^=T#~D~bWB6Og7@a|F%;sfn4nGRNEXXzz$1bHBShL^2S& zs!pv%%n-uhcfLJC7+jbkguyr0gQ=`?oQYj&b2&^e_Y125e^G`o_|^4R533R7IjN^K zp`7a}fZQxi;E7bpVXOgM$g(+xb%ikai#z9=HgJkF4Jtzzgmu8GUl>L#-z$^-n>!j~ z8vC_-t>aHs2!jAa-6yO&guyXwyRlq*%tILb+GT_=sA8bt{NN7u6oxQ3c%LB#XD|a5 zJV)tYe=o#*b9r9RV2>by_rjhIYVOa7-9oKJ#eQXjVxd0w2jf-Ca0)~439Vo&48bRC zouV`1n};Ddc%PU)_=EM}Q%Ay+|BG+7FJ5Y`{>tLLY0tOKaAIc8FcfHD?2tEDl^?Sb zcR2c;Y=<GZFhSnS2t)A3t?=^u6wv`kg99%FNvt@RVF*5QgVja`!yen#mLf;6*aWWb z2o|Sr^e_aSb(C&kf~}~Zr@!8+T1qc4W9-9a7=loT<pU1(^$b8isB3DB_1cOGAdfsc zdVX=fkpr0VO~(Of%E<xDIPfVALlEfF9fsgnrJW}S1U>7Y5$m4?et+!_eZd{Y+1nn% zw^~<cJ7S9qMhC}$#;?7I%JHB<?2LL~%k^dVW(gVPHB_>kjUHB#F9iK{;pVg)Yq>q( za|Rxi)q{p<SHmkbD{JMoS15zOzoJkEq0|&sc-es9D1F!1kEwp6ap5HB@luMa@Od|8 z31twd+^byWxOF7IwTO)z!<P7TuI1RDh}fU__b4YV(-E@3VZv5($27xG4>(mW#C@AC zOM$wQwM;nMlmYv_Ll%VQ<{q-3=}u|Q!YPeK^BU_<7qS3dXZu8iCIB$@iP)XgriGl$ zN*3ZBdE`CprSUE&vrfIkP}UPorjSgrNT!dkH6r%nlu8JKZ@P^o2eY}?Sv6OL`qI6u zcL;*Edj2h(RZ8cwntJ|F7?XptpQ??{2)8UGMb!dxlRr%7%E6;oA3LOh{rw21g*sQu zaqJ^ExQ!+rD+9Cr$HW-;nu{Ie4H%Q#nBX%BDAk)xmMe@g(A7c}bETYtYALIe#2EPe zs$`jOSX}6PSt}vNfTptCs-;=1j$H!Gc+5nT*(CE#orYV?59gIq{~6T}Q&x5zbWu~1 zAK<zrc_F5+XU)t|&ouIYc1>(IUyCUu9Bi_L7i)SNwtPv?nNs}OQS|C>AC1y4J<BqL zyjn1z)FIl%*VEeHr(eL?%Wu2Uk6!PM&iq#%kO%yxC!XFf;I!0|$8`YAhq&y~N6iPl zqhP}e;>Oqsd1t{R6f`6>Mc4uXIzM-TQ%eRu1i@g{$whF&`3QkS@WEcS+PQi!>qR(| zY9|v92GktrK*`&*cInNB3!|zuSRfjN>lD;xv)-nho{e5Q1sP~?n6&|2LGYM<In{bd z>wDd3iq){;mm7yvd0)M9^K_o6Ab0$zAa^cwVq(^ULtb!T=7Miq6EHJe+?FJmhf7w? z2YZz_bbyuu9mj+QV)7r=FH3+&I?(ZFPYdj(r6otli22RuL-oqhUsXJE62rJgcQjeR z3hkK<_bOx%4R;hSc(vUsmt+W+BfTnUQ?EqHSb-ANFxE!NXs_}Hz`Qm}P6`#Ae?FmK zt|vI&fszVKhE@Pfoi(*EPb^t!aID^-yStOO(%_lU;OWrdsmo|^tk&SXdV_MMulMj= zXz*-kaOyG|9IZ7tzuuty^6L#=3=Lig4W934@SoshQ)+gmMnVUv(|WxuA(QLZ40COg zzrK)yfOKxNGYXisC6-yxs~&@oZA?Kb#XKn`J^z;E@c`eY4){vl*({}i8*Nni!g}TA zTwf}MvSVdI$}H+t#yZBZ)T3kbi#u9W3HxaL_ZqdmxK};aF*b;cj_p*(xbkO5=-_sK zt8J)5Ca0m5DlgmhRFwvo)Em?(fqH{`LW8?QgS#%H!9lTBrNO232HA}3YH)vOa9?O} zZ%2bA1#~{!6d0Jhs$Q>-8W;s&i8gjhvX^DqjWMz>>s3LeV4?gLNcpMs0$N?(tB|2@ zQAevi3$K{Au)G0EhU)?HVh4F;uL@=?xWo&ty6l2Wz2NGZ3m#n)IFGyH97$J!q^o-s zT8oUbTJNO4YL@;k^VYBFRnd(7UG4?5o&~u!fp+(r`GQ%gy$xiH%Tg6*r{FlQZt)m9 zoZ{(I{zHw*nmb2wEb&NZ;xS8P*##@As2M+f6+hLPc*YW^IuZrLA+E37uiYu0k8tha zq40d1^dsT<6zRvq^Azc)c+SsRh37je%y(Ggc5bezz_ZU1_jV>eZa86`sG4)P<;0`7 zk|@B=1He=OV0&{zV=_GN<#|tdz64+wCC236)!dNm6p(Cz<E3Lfo*(n@7)kyMW_tc2 z<S4@+p}#jp-1(Gb>89xI`kl8adQ`t7o1(YrcloAhmwuORir%W<rJJI+=y%Dc=*{|F zyeT5Y2_7_?qMy?*n|=RXzwG_JNxwszB0`^FJZ_49R=-?+`bPaWHbrmHFVPeTgpzP` zlx{Lgva9SSBU8T@_0Bz3gj6vri#Qr)^&$hBk7WELH$}gg+#0=uC$TAO!aNX*!<KuE z-z?d1L2?<Aiu`MnQEor7F-CdPPv5FA4jC*e>|HXX>0Bbt!>WjRl5KkPG5tqBrD$p> zwxfRGu{0Zq9$#qP*bZWa3_397k38hChGxM2;Kz;N0Z-C{C&5*oqz6yZy0sP5gD1g| z=_4F8;G|LcgeZhGEl~Pb1SvcrXW>Z;66IMW1B_|31IB~uuOWee9NImzS>M~9s}dLb zv@>>TMcn^duHxNAxE4(<6Wc#yADp-?^m{$iOnz?0arYm7|DFHzxt;HP=W{ni%Er`U zvs3jpez?GTBk!yd-P~TomN&!AOgY6BS{H%LTVQ>a-U&;8j*v-uW?fSZP`pyr1IkZK zwObNAb@M+XAB;xb6M{z5+;h}e#I%{>nN(H*X-*M00sw4(p7KvLa7*%_<s$Bp-OHsC z-0y6meDu7LN8$n{iiW{ot=7F;BM!Bu#HaCxFTI!tJkc$I-|+5o+Yv^?n04!h#zrA} z0_iOgYF(H}ZX_1p*)taGOju%P%L5SMALhN2xSSREpks;&k0W<g6}gl!%sT$Kyx6em zcrLL?brRD2;O`2Z)<xkH43kLS5(9=AM-rWO%!46vQ9sBq$35Zx4Am95KP7Lz9!PQ^ zI8&{*+BAlX0+ay;_13^UXVeyW)MtcoP(&AapbBe#&Pe1?d2Xi&#R`)2AW=(7mZCL% z{o@cxxMf55e#r;K7^F>@D!|GFKlGu1_3;u`>s~i14SyZ*E7Bp&moRrSksu>O4YG#= z`*g9pz-3XLLDbI(YO9DBWP?zRFSq+*jBUjIC4%>q^cM-Fzl}wHkl)_?P$5Fe50e#s zpdjfr;ULAOft<DOOcG5HtTqsJgA|uara#iTK{XK4r^YS)1-BHKZ*$2sK+}F9>49_d zowLE*Nec<McY%VnF6^WW8-bU>rY+E!YsfVS^gsVyDbSplZL#R0@o#2{ey}Rhlt7|G zxBI?5WO#b2JQ*3@(@7PHu4&boWf){qutt?Vfhx<YR9WU!Sp`)twW)G+u2k9lpOY#C z*#*U=mYO?NC|IM){y-HRyW6soI#m`!l`o$wWrbK-bCZ?l{pX|#o9|af6$;j<awt%R zh3qy}w3UF3M{K_Qi)~pUF4^3u@{<3YR5@~`RH0yvDn|lU+9c6n4oL_CkpDwlP%g}s zB(L~3CrN#vZxjRllNnNuUnxN-SR=@BBS^yot|kgvYDVhL(uSJG{BWB?W4?6gU;coo z*fn8b!&70xN4`+_Bx+`ZbE9oLC7ao7)7o3I+5hQdvo)K);zzo!zopp!`8$`&Ep$b; z(>`>1&LZ1&x`ZeKkb5S6ay<`OW$Rs`e5U)vCf9VI*lDuX-fWTWd{2A5&VbY!X0l&P zVG+NUf<;<OVXeEC!h*1;K)6EG2H6T{0<H^?beN)6f|b|K>wj2cfYz1^K{p3RH~^1Z z=+BWgMS@8`dneA<ZAQ2P55_h~I$)AcS!6ryIdosc)Xs{-cc;@%@FXu7vIiWqdojK% zcrm`qBHM9gfkn3K^tzO*c`Zc;SD5Pv6^#-VB_JX2^z64WwL7P!buGjWP%pFY@&m8( zzj)7mI*OxDsX=U~HgRTD90silfjfP1Nd3`3<ncX)KchLM+V%yTG?b)HoiOkfE?Ru| zRoYNzDd*7_@SydeN9E8+v1))j?#N*A=sovAx5A-O2NP<1rS18r=3n+7;?f8z*QisF z_#+nJ4nIy*=ef&tYP|5>;CWwgYJArV72u9gEEeES43)m)2HL=#V&4lDw9XZTlCY4b z^=rKF-O6j#;OJgf)9Kkr8w9ws3Qum8KzF(}e#ipcMe<}MCjst4PJT%OPy*b!52LBV zswar<ik<Eg0q!EP5zBV?H^N3}A=v24n-!GKnt1meN&}PjQKQkL7L-mO+f1*Zbhy;k zoS*7fcl7Wp{9@r(_^vDVD>U(vU!gr5=HcIdNH@>cAY5u{lEF+1y^JVr;CZd$i&s1g zOL-pU=GjQX`gx0t*Qr)SDES)MUBjKV`p5;VP|lW;SyE`%s)93n7ouXV7%julHquq0 z^p-pP3)>)DZfPM(+CbQ=WW}ed3>D$IS#(oL8z*Ni8GPG3cPMGY=$uPh?oiU4x~e6G z-wr=R0MmFZtlJH<#-$|MkX$cW^)w`p4bs&-1r~#n6=wiQn@qfS__BHp0kby1f4e&y zwwc1fb#5|4q>2acw~ss$_V=&V;nYsKC~#HrH~i#!&lV73*2*l^+MqbI%V8U2%Zv!2 z@@&XN0l&A)>5z{$+>>vAx7VTBL?wCKAwcAHsB)&3gK^NNd(qbp83}QPbf(MoDI8_v zu{;moaf3!r=ga?K&%-ZT$U4(m;Kqh}`5p>FgRfM8G8Zqy_ppjQ+OUe@C)&{QvYHMJ z@+paeFdrdg9nQ5LvQ9Ftxkzl^G-cs6Qn)%xwi9o$7SO4~0xcX^8qc$>r5j(?>RS_W zEL7paS$g0CKJE`A{y)LOnR^wl)7vo_E5&4nU}T;g3T26;(tefQe6-1t+yUBQi_nhZ zHuHU$dNBwbxG9cWTxJqw{rRsX_i#0YRmWSxLiAA9yftRyGaI}$Rt~HJ7#D{)s-s6u zo%2+Ldk+5Q?@Bn#NE^edVX;Aw3LtMbBg(#NNC>X)P1t(8WzCufgdL^!R)<7NEm>Rd z7H`W2^Zr-oj}QFBwtSLtdN3PoXJ~RP7H7|a{HIu#5h$E9+_j3^Pw<G8duRV0D=}AS zXk^>?XwkI8$ORbvfYU!duRt+pe&=!2c9cVb19)gPb)`)<Y!lDo1B{|BsfIPy%fZk~ zT^eAC8T;a_SQDCoCjjNf09p~8EL%(t3SZP}SKN$d^MvUCpS<^hw(F|u{rB1D+<VVC z_utN+rngNB`yQj*YGR|*rWD?zJN6&62r4RyzQ=Ize!q^i;|&@rgW<2Xw{6P1NQ59! zqgJ^<v_Vr18h-=~a9bh<N%0B+1I8agq6UeN2vs8l`}=(7Tx*|w?zuO)0pA<HF@A*J zz0ca~@0@eZHP@VT&BX!vwvIzK@8Qh<NQBIKZU!*O<SSp-1r8N<h7=E?0bYgzl<2M@ zjApK>rNY^e<IG#lSEx}Py9a}9{L_FUg9k*naP3dVXvU$B8gLRRka2u09j-AWXs9^+ zPeh=%qwgG-gbw^jd`8c5{xr6VG{$v88qd!cK|q-h(ga3yX%dH-82cj7-bzKKXhnc` zpFoR20W3X6I45f(vR3FYKoTejxWMGJEFw#C);Sm-N56tB>dlJ0rH6nsX%}%=P6n5+ zP`U*&V12a)b$GTVU{WbJYw1xO`$`<KejO-(sp|qrnXqUlt&5>=*3-s<F6K@8X<%Et zqq-a@E63c;9sAuh0CVPhB?IiNyk)fQr&dGvo-Vtm-f#bEbu7EeZz1!Zg$bu(0xUxR zKUJ0=)XzQo`765lON?bUy_*@iR`V~N9CFsOF@d2JlR$ylfVTo(uyB$EQx?Q%%0e_u zS;BizA7zRIPsh$$V^7DnAtnweGn)Iic8nGZ!}BQT>x+6meiuYMPBS@5btV%NQDmhg zopT;{CfB;19)Xr(dpSaaD%?fF(<Olq(Fo4BMr**<iReDf-ljm!AI+nDlqe6xZBVCT zv#*C0kX?zON%S2$v9d^h0KcYWQb)Jx6h%bkLLIX{<3;md%(+>=(RvEzpLwQ!&#fXx zm|AF@Aqr)9pgmxHSiux~!1|#oi(_#NGy%K5gC;Uqj@3=QOmIz=p?tJ5CSB|V8d|EB zGB387??k5Y-rH#vi4ya1uDyX7P)TtrwqqlwZ!izlugPgx$E{^atoJf%#kVjZuqtre z-B7lom}GQbMcsNorq$T0#F-9AHCQ8wbCKSASCPKX*^JunVY3WMH*R&<8-=n~mo5SG zd}7W7R%T3Av$xbR+`+cW`tHp~#U>lV0_Oybp>(+1N2ka0`n?>Q9~GIaxK*@O8QT>1 zhUkJCGE@^@0btd&0;~F><~Il$0*2@m=(QEBC3K4igBF$%4TCyBs@B>fmmaJId^_Am zNGTR#zKRwn`L`=h7bt@8Td8ve&8uVOmpE&gM$B8pgxS=j2Bk|(DCS0$I@hq&Oe?+O z&1C%7=D#s$dnE%HbWwuU%OfnTP@s&gn3Q5?1%1|nW)u%EUip$y?%JvG*^y=mbg`|_ zOiXK?z$aJnz-uWcDl?oYx0&*X?m|3*S%^79fwzm}i*DLf$U{8?!YtN9k}yUB(L=fb zlm-LDkz{NE88Rt{pav|;f`FX463S?8h9C@Nl5k*kha=EvK{5;e20IZcoZdCYrY~NU z?r2IkG<-2VS=Mdp`ACcbI^AhfnPdPpF&^y#gq~fI?eRWY?1{e^uJQ@lbr_ii3?RZv zqd1_R?G_W(l(b)B$@FtHj|kS_I$GJQnC+~b99O5o;3z|M5wNilj@=UQS|TuRYO@g- z9}INH(r(h2Ai;m)RHWRa2|@HC$u_mu*`zZjsdyEw7a8Nohr|?NMPe%*W|IPq@Xkb* zt1WZXgQp@lZSb3NT0mfXguugVYYj=tb1R|~)=pqsD>mt@N%02uL9bV|?|=vPMzb|f zy^YaWi1cFjQ%@kWXJ7qK9wh-~VpeQd!52%CNIknQV-ugjj83?nTJhPxq|nN2*NvWn zPKv}cN?h%U=PcXwaZ<)SW$&o+yjdxs;BiZtRm$a_XJ$-!-m8=qo<i6`QjSzg5m=Cv z&nhL<yn9?Jrz<H(EahJ+Dd#L@`)4SXh5q0_SSxlZCG`2YrR-J8m7zZ?l;=sMcn{?m zcu?+Lb7nIF7{y+$W@ASJZ0BqEEqz`0P!W?%3u{_T`|THx2%dH}sMz0^!WBs3RFynC z>kCun`clsJrOcWvU9D%nFNF}43)&*^<bsrweJMNb9<XZ7a|=_Z(vyReHAZ}TP&Q}4 z<21<o?x8ZJn|Q<$3He`UJ7+2Lm6W~a%87om%tKs5D%@X5nQ1BIWF_UGrQlLomO5=I zbCs0cZIwbzUgkMsDR}XgDd#K&KjSiG@32Zu4|Y=sx~cwDQf3%9VcD|7g(zaC=H^(g zrDO5DIyw8PLOzhXC$~W1JN@axnX9(8S10HEYg%v|VV51fgQ4n)C*Ka9KKFPMx0Am> zI{WJvrc6Q3CyZ3F16gJtyH&Fl-3~`EVt1xPceaP_JoxEKcdkj^`sw2N);sUc8~tlq ztXx)iK=VbrgIb~(ExQA2Qs0TLtI@wLb_R&^b9Zc=^F_-52K02%*3Z&9t6{*+YrOS) zz4h7Hx{rNtY&~06>(K5+TbBpn>az7az4g1j_5HDR(Zy6U_vzxg3L*~1&JcrZ8K7X= zT(mPMdqD9j?~JZ_2J(kvXB-qqW9!QU1yl5*t>fcXnIy09)_>AlKNef}DRQcJikyg@ zS>6<ZJ6yCg=zl9T`7-a!%e^yy8$07P`46%6<<TUZ=%TH2$x@~D+r0HVy!Eg2w*Ie| z);e78qOIfBR%!i4Z~Z23{h8j@xBsQ_inLhX*x|4jZ5@Bf@p3|3?~T8}8{grrH42te z@rKwqC(xEL17PMCZG2OeF?OBR)!MJe#zlhHB)|KYJ#6t^u`kPGi!37-?aS2GVxj~@ z#m}3*JYMa~)yW6qPoJBA6#Fu<EV!_MU9>Ox)`DP*fk#$cRO!o~#KyG)x;ptp{ONsp zD)xm?i_5@~;#FU4^};dp<DWwILX~Q<Nd6}ZRtXtIM?+5LF+o^c9`meg+T$fAfq=E4 zas-*@kmDeX_2Zukj1_r-pMT*$Q(f=5R|_m#kJ+&BKB^~<^1GF8Vux1M-@IAvp@7tb zt7)aMsJn=4;hb}Ac3qO&W&$9Bkd|VyNjT~e2R(y~*4+#}(xGQSMyh1!5f(iIB2y(p zkL>6fWZ~^L(IZNF1_Y`~h91e%Gaz48GV}<Vo&j;IlA%ZL^bAN}l?**%sAoVJt7Pbr zN<9OzStUb{km?x_)hZc!WLD3B<faUUi5>ygKO@G4^5Ay1Ru!n&R9Q(xHysQ@|02Bw zV(to^g!#thwahkQM1>y0LkoquPAst{R#*k?3@4?$c!6CT&t8(9c`9}FB-)k95w?o# zxtdW4%m#hXG(2qB2Z=4qrfWoZ=jtC>2Rf+Vc}jE1hEXj*TjScHX2rz4#l+7P51^8= z@0|3p9`LnRyzm}r(~4)KK&L=fe6A){$x1Hs%~x#m=*p^-IDb}Vg+5R)rQkM;sF~qk z;n93o79(tGEg-Xspc&{XQdbdbUU@GbPG=K}XQKbC7^Ow@LK*2t6N@`Jz$TXqgbDkI zk&Rt21r8^-5LUR(L|<WrrWLChrGh#?o#~x$6qd8`qP3_)1Q)a;gD5#WtN6_ODz@!1 z)DdZT>xLvLKBOzbEu({R;a_U|&w^Q2e4F$WS#b^5Q|APk%nS4P5qcCmntc-L8<~W& z;)PP=WEhK8V&&+#G!-f_I-r(gSw*s@3U=TsJ<-XeL_h@9uXRN2T4A>ecdNg36e}z} z$acTji6WCN!Rj?z1845n<zp6cxU7)le8pg;!m@EwNm3c4hf~rw2-BSp(|j0BLmO1y z8=?n6I&UgvW!@}d2I-NC8c|_6^`SEcok2PG0Mf0+719@zQY&sCgH=I&7Q4JV1gf_d zp#f8671wCTQ?oQvnKVuFF*zzimkJxreld6CRFb{vC((;IAk{vAMByvV(@DNwmu`T> z5dx<~>DQ&}sdA`Tzct(cJSk#_iusFVqP3yo?1eKiJ)Jh|(565o^?9ZL%s8eXoxp=n zfJAeI+AM?0^#ZDS5H?!#jE9Jlu8pHI6;a-J8|sy!Ho00nfQ+hZEUgVP=yBSKbPKBi z-Po-mW>sG7{Ah&Dc)kisT2bu#NKC;_7kS12uaxwDyH1PZbQ4O}G)!n%)&U?sDotzb z)`#F8z=keZYtv<GW472CsVHwps`=5o(6-N#rAV`*KW4*RS-exf2fM%bF8KX>3w|G1 z@caGx-RPG8;DX;zF8KYC?r($l%Hq$IQtQ_6G5xN0e}BC4dl;qZXpYH|Q>{i}`HGFb zG_C*{q}3Sed1kwKCiKoEH~L#I`U783BKeF2-}>zkhA}cS*YaleJGb-5vOk|dmvn<3 ztHlOt#WlQ(Gg>%!!$}+FK>}zhdBuQ!MP32g+6WlBjT~AsWH?ImQCJ@(MRkr+8W6=g zu{j5%7o*vuuhfU8=A&hR+hq@5$?&~DR9nn{7<g?erVm3`XYP<K_CK(tGUBtDl&vqF z%cSRAsjgq9&tv(@lKwSMb0qC+89H_<>6kZpiWmU=5C&kk-Jc!UoL*0cYs3szPG(vo zQM2UO4zABzTWJBjQZ;%&>|}RkZzICDRGk>C#GZNIMA&{FL{EfeQmP|8eMf+GQeVY# z(pi(+BC{r6Y17;Qvm)MlFqU&ug(hk%U*Y7YYA46#L9!|*WU<U=GCWwZ%kouX4Lr2| zX}$7E|6;MZF{KkL{1mk6tZ)U<d-nYazs$JE*SjV!6R`j?Fwct#0V|51qW{G@&2fnC z-r~X8>FL@%n$s&-t!QbOS}`YC8I{_Q)F>bdp)VRSwj(0`!)hvwULcY*Ku(_onI-|l zvH%Vk7dIyL&Uk1We&U?&GP-bCaqy`ygq{wuUXI)HDW4o;OE-^VZ!;$9gsGl9AVQEy zkM%jg`hFo2>x>CIow3mKQAsvBY8rC=Tu-i5Wv+40MZfP;j$-H@2|BA>%F%H6HP-WM zrGC*BpV0$kagpSH=#h65Nq(-lPw&$bN$_?NI~7Z43i03^@&)lw45nDE4|O*@fnyjr z;ld-1`(_?BVbjTe?R&&BY|(5Ouzbz}kpMb97A(A#8Q!yK`Jy{a^msy!3s_WQ(kSQ` z9<VhD{Dub%K57FyDdePw)-Z-No;S(~3f=NS(YS}SP2&A7h$PAWvd|=Ai=@X07Anrg zYNbR_qcrUBBR{PPE#PP-vxaLaN040q&5w!-XpDL|CJl&wVI7U~p6E{_d*r9+A|k?P z{!f3N{c)w|bdAS4mbV=Ln~HcpM6e1sxk%nT_#{-kOGc!f@WtZ0ibIh-zVnK74OeOE zDE!b}o%(t}w%9+zk$}v(4mS>VbCGzmCVCtjOq;c&F#rd^o>G%)9tdLG@Yg}+m87EL z^XPSnrht)Fo~nm$SG@X6Kvp6BSS^`cjZspgqThAwP!>xJe5^<liMUgohwqs1c&647 zq;Sdt`~p{JK>QfLEB*3YMC(FuBRkIxHo`3B^)h0IRROdeKliR_fue2pwrqd)T6hH+ zv$?k@^eD~#ZBm8L4q_C4$gLyVI)A|ex>I$%_<MiVZ8cx=SBrvvc3|=fl{_;r+0xB1 zrv|hnZcI)NOwz>0<OEWWp2r8U_0_LQJ}*g#=ih3t!Sjm)P&m)e46vmj-(L+Nq4N8$ z2PRkP_vZ$XjCh_N;Bt?8vA3?c0O!#Eo%6^gtGQ)^9Na8%F9iqmKuXkOjTW4HCok9S zJWmhmRtE-q-i<rI;6nr`5##~83!y&YP@m{R-N2Z=1rc;rzFM|KOu^egb(RmXvtl-_ z*+vh>^2@h%y|gfz(%|&#B~d2K&=wbC;0nOaG02AqJd|rQ{1HIZnrut-&K}<)!_~uE zns3N2<GuFq_Pq7@mi!IdC$I3OmvZv@8n$xUxi;B}KpiG?;<(A_lN*wgHJavD4HId$ zO}4xnG$9FE@j{5dP%FL;U1Z^Ej#}|=`X$3dt@u}70jb^DQ7isgzx=~jc^xZ1{F8q9 zhcELA*h7hb)Gz<=C0;>G`0z#j@(<`>@+)-z638Ldj_7lkf>*+vDD`Px+g$=CIEqp= zuk4x;E*GN)ql`!swc;oyph)ya<mg=7kWEP`kG&GblQHvlt=JA>5eEg{q*!}Q>Nq`6 z;NZTNX1}r4$+&>)a>qt-60T`^LJS?}9_pFRj?N$}nzRa?6c*3AlCq4i9ZM5=sSTQU z98T+kK6lD7(~CfoN;&A)2{WOKL;i|18+ZY4jgI*y8uy62K+X`jf)3k?n-9Ud3iFA_ zqDud{MDHaGVdfPgt)c8qFOMsYL5j>B`Eo4P+o5W2A06}<{!U5SZF7f&Ss%r?iX;Ad zQQlSYWi9rqN{e~Ikt>0bdJd4LO1zoZ3Wz|^Zq=>JKo5|t6t}XbT<0qJW=LUPhX}Xp zFkqf?EgMm?N=Q7d-@3=uN&tyekN}CZ7#=5tO>oK!5hVORFr_21dV1EI4(s)FyV}k2 z>;8h1jSj>-ivxrZ;<fI!y9B*TC0dm`7bIGJgffbatFq~V&GorPe#K*sfLlff(UPV! zfBG}beUTvjLqUqlwP@TvIw;7=in;3}KhsIa>dl(GyLNo!pOfsfn}Hvsc=PBGO4+G& z$47pKu^;&XZr2Gv`JRgkJNTraOD)#hO2_JCD>03w#gvkWEeO}w0(MwW=FXg+tZl?? zs%tlJRL@fbTm8r-ug9Js^`KI*)t}Jwge4u<>tmQwiR`4ouow~J(%%p1ov2VsM~z4n z4}VAJi01?E#U6{=v`$FakDhVoE91EAQ}!=Ehyti+;7o~I?XD-#SzlKi<&k~%hXKmT zPmu6!#pzFypbb?qU|yHSc@m0FF-!ll!#9b_6f)^#h@HwJH0L2jd$9mYyI4pf7G@m_ zsbOJvFBYU4pGtR^SV+RpDi##i<9{g@4xq`uF8yDC1&u3WL9>g+n(2z%L&yhn&2X-1 z1P|;GVj|6p27GoXy)xmHZWC1L-3h8WGDkQr24Uy$AW++n|E}LV#3U(x-(Mxb{Gq=h zz+7EF*l?-kK*OaL!nK+7L6}RETJ|<1t!zy8G$fsDOlA?lC6&CR!7|J5cj0KQ-@he& z8owWFNLsmuK#-DFu1OwO&_|x{X|N>MnLGT^APzbN;@VtiFcRWw#SU{Hk%(C57mJZy z<u}2?{a_STT&!{7LXr*g1=nJw_Qsx^O_S1y_T_hbO-eZB-l=P0JiJBXe!3*?y2*p; zT<jJM4J;XAtY0?a)gvG_p`b5f%_K@DVhHqBO`sDrsAzyBGs@>0nj6_0)`V;bAzUY3 z%acN)f`h^{B?T^RQN%#G_Wa}ua$Vk)F3=G?Ke>#wRb9b?Mf&;43er#>Fn*IMSYV%@ zjFN^6NR%^>m!F@s@<j4Q&I8$k<FfgR8<Ghg2okG#AOvMRh`~0(gOF@ZDlvp1E=R~D ziZpwY0m%K1m}m*-+!0xT4J^O5IX$JZnW$g*)*y%woa$Sja8=%!55ZZcitS=S;y8bQ zWxDc#mi8!T3D-4<kz&y3AbXf#To?P74{~(Tc7nXLv@0lJz<X;s5oeI@w`PyrY*)4^ zUz?TvuTYc8HTUaMms_SU<JEKi_vVu94Z}D+vO^x!o{$wWadHzKf?_sbI_pKn8<PpC zBH)G-Df<y$OvsV_<|}CvL31``Z$beAL|Y&DOYFhyRHmx;);c)nsd0Ynt1(9h2?AKt zg=^|>$a`cZ$#wExv4wkk@jK10co~%DJ;IHTJsI~<7sno=-+%vo^qW&u)OSFq0C-X# zrkYErFI}=ePFYxeXm2l}K4#An{X@#P`T$0yz7H~9gAHz<Zj%_QjJC0OZ9os>%Cc)2 zSh5xxuheoe*bgpV53pYq#<serzQ3cBVQgVHSr1!}rqNHy)CTjx?*nygY*b)h?eXoK zQzB{)O=4%^Sb;?#uXgk;h8u|FvbaqZ!6}H|8t;IXjnw3~LHYLavvYa)!om^0IQ<cL zlEOxjVSlD00VsjGy(^AT1uM_xTB4W~gO-2*w<actX7>|_YhDw8{vIVf<0RWJv=|6W zy|dv@W$I&6?yWIt+w2KiYc&@_Ff(5E&{`S9a**weapTx%?7gMa2auBX3~3Kc=}uZ^ zcFptpdbRa#81+4qmubTnhU$aJ-v4qPkRL2?RanS6qyp@j^Kr(*J<1smmTbloB7QJ( z4Z$<MSH{k;vUiU}w&oCEW+SI>NhWpPYK-Sv{#(a8j?j~%ykCWp5v_47<&b+fYLQ~t zO#9sr@hu-3YqPzoHwFfWnk{M5?95W})Z1Vi!`Yz%o`Ju1Bq#OigD-bF9c79}mShB> z%SXpJ(@Gsz5>Bo-Ua13BeYK7!V;!&yXrVUwtSwyChFOxbYgP6OD%<w<#cRX7Q~PCE z$lA(2o3d*`7G>9|>_4jPN-qm5UbHN1&&uYMT?bdBth}R(XH<5?%W`_CTK224&m`M; zb&YL{!=#jz&7yddSlO7D#cH)^SxDE)%4{}@VU)60sn5TvvP~~5vRiDtt<dKy=<`(& zB4w#;e_GDH;vJP*#OW)wd?@rjW)@HBElqYNfA%%PXF3}|sIeL<(~BNJ`C<a>6}*Nc zmG<AQ_J@2FSb?kUA6d}8xCZT4N|PPV!5mY;z(c(KE)%kJo5rkxRko%4mHx(QANzYG z#r{Z(ne7T$I*5Ky>8luL1y*19k-%|a3*rX&37|2Cre#NC&ixR@1A+drCWxV8ou>!l z>!u@YM5^j0j*=M2B_!roseCOGf~8_#F#eVu`EecJ)EFFRhz8DYCpqCES=X4bffFr% zg%$5NNkPCVcLom9k`?;CUHq>u{s&v5nxiQq`wFq-aX9YST8@NRGZ=+Nu?`5T2U3DH z56Y#9svUaOHk4k)N2M9j&ra+*;<2L)De?&$GK#(`Cf?0F74K(yb(wKL;ZY`#j#E`- zPVgyEwZlb&3XHn8RYGko``9WrG!?LT-@^uraL)!qA81U}s<jVLNjxUp@Sr5(89ljV zf$)-pIU40@J=p@BQ$DPG3T`NM*%>{t6`a-+Df^_JIXf~vpS`(0ujjLf<g6!X*{S)a zcNWLJY$q6ExDG>>+!k8|lY@N#__3WdC9hmO;Arq0ogB^%KF>ryN!rYCA1zZY!UPp+ zlns%V%;p0bR9<1xP1*MrTl*Fhfo+)-w}zd>MofQdVsV80$A^0%?~8W?a)7)NE7W_| z(9sji)Px8_2ho?=Rt)N<Ujr*(CSog!W_Im*;`n(?Ptajt23<$>8+1i*zdk@4$P*sb zkYs=-S41{SRzo&6T|+kR6Ftag-}7`2qHc9WvGW6YzWb<5j)*Y>?}ZR#T2RMk7pPTY z(7AP^hEQeB-pj2)3_-F3q~FZ8|F_9n-nVNJZqF(@*YJDS)K<tBY?GhILG9ASv6YAJ z+u?yZ2YJJEXQD>Q8~GsmUMWxc(6nKaCes_L;rgv0*^cR=Ih(}&Y_c7Tk!c_&cE#`p z)Ttwd*>CNp+~71OgXn0^T4{Dp+`llmvs3@CGUbh$nRA=x9MccnYeGIVBarbma`qY{ ztDL>e4=rS@$BcX{eZ1&_8%X``U~B4STMN#VO7g^@EK3r-)m`dz7<(*!Ciw{8YW#QZ z7ryFNZpztizb%s^{+AT--16Yc(}I)kq-F2A!euaBO0e2?rYH_4I;;%XH5!_0cs|_4 z{%kaFW10kX4cgMSRQpR*T^keVuvzST(^oO&Q7=>f%v*Rr&!6n{W>j$lxK60UW3hcs zqQ_UOjDvF=bk&97Xn2UbB~8V;qJh#APPUODp2i{zqJa{_N7bO(7;ZTr79>w22ey%- zc01>U#{>~OBPnVC{_R^v?JRiSruB$t&jXTBvN~?s!N-rI`9gfw#Wmhxc=CZl;enb( z$>U0+h<o?RZz<p#^R(le%=HDC-LEfO1m|sXb95D{X`}$@fShxNMZT?gJ8oiwFC86n zdv~Idi5xf@sBUQdxaBgPX5Jj|ZxA7eNOW(Rr~~<e(D6tn#c93${(nit6YN+c`gyYB zhxCn~(997_?z;R@G!-?E`eAn-`S3Mh=yONRXkKE*=90Mzs5N>CCk}KlIZ(%aE;?yC z^)2-`AL=M}flx0x_{pu@c~gu3O8`G14PMk~k3yaslA28gowetvDE}Q41)A?0DSqx* z9oM1RL^$lg7H%0`t+w+-Br)t$-+<d@9*ZPomQh40bNf^xB+;b6uup%2MS%WolUjTt zNwk$l5hn?_44I7uv{9ys1t@bQiI~|*qFEt{;lKu@K?@|2CwJ*6D+(|NMH2sq)hm(H zwjgC785WKlB+PfxKmk)R%~2e$XO{BF{g-YlgC^i7b}yNE0HK-1_Kz0ZZZQ)#7r)33 z<82EUzIk+|xo&ro;sI%f99|lxh*dKik36DCwev9@q~&qTXoFZ#T_oog2Y)OdxxJIX zyLh>E6nCDR`2)G+BSv~Ddy^*7u{5lF3_@G@i6+QfGJ&y52D(I9k6T5jtO1~qkK9E) zMh(M?*A$D(gD`#_5u8ThFrc38BAMZLW5tPb3PtidQ%PxCFQ{e}&@eiX+Ey7p^-`)+ z??(fTblUiz7%Zr{eY^Dz&Q#O>79JZbvZlec{FmDF8t^7#_0bff=XFGL?vt|$5m3Ar zGN06m-I)HQr~lsz(?7Ap^8eAo^rL$%{lLQXKlSuKT$p~;>;Hq8?!Ebhr@qHiSz?&6 z7@lDZHaA{`aSDP=jVG{viy&99^DOpTfqX>s`@`b%+LPi2N|u_@!I15#8Jy@@G$;2e zHZx4lM3a+tG}D;Ti6*DOkoe>r)<hiH=GjK{gS<A;%uh7&SvkUN(yX+~Vy=c<mH1Gu z%20(fisHMqZL=;G$LYKEa#RP`hw?TdNo>|RK^fok9bYd~HR>D@WrJ7xJBE3bK^c5P z(ff^M!fi!|Yz#$pn#V_IvSez7*xZSjqUsiQOxrcKz=Dk+Ivev^eF;m;(JmEhO&NyQ zQx6Ue!iTVj1fX6JfMA6kq8E>;-$)+n%$pFdgGKz4<;Zap7AK*|7Rksz$61fUlG=6@ z#U-^(=NM`tgxZo?@=q<PZO2qxQk5D0*^{|{No@!I3C|P%WE!^1CAIDADL@ysu}3j^ zh#_*M`91%|Wg(n2tOoJA3Dyb>+WYITCFu}L@$}9^54>nC)M%pGHrSl8*40Q<5B;!y zNxrIOkIM<g2wIX<Tzn6eFlTYi#n#4rv1J`ki%kf>c@u4uSP#sz*wKSD33<j@Y-Q7e zt9nV?9cz93^7M)a2F!~Jx8mSMm0S4Qb?E2q!h)hcIUrcqrTL%7{fCBk%NlxA@2n0- z^sE<0IQsTcdGGL&*RwZWDTkpWEi;Xs;(W4wC>q;}<EdGW><VyPYV4A5W&{8NQ&KR2 zMuhh1;STl$v8{(qVPNE;C1iS-#!n04(j#cmq>5o=as+*3H67%jzgEqNVvQpGf**Mm z)ZvM+8$_RRGkwFmi|zi3p)cp&f(afB6LX+OrbISe7z4H6l8p@Mft||TbO7T&LpnXe zE5^Vu=(oQx47#o7(U$CkoRn(ejS2*jbcyyf<~nT&Zb`An?}AWAX8l!d(t{~)GpA}g zLVxs#J(#Jf2kS{ZWU&6L%eSPHR{;niZ4|TB<W+*;IYNNkVxZJZXLMU9>werxjF?+G zBiaDb_)d&$BWo2@gCF2QT9Xy_gMg=bww7QPC~WyJ<G)q3WTqa<b`vQG7KDS<#h@u~ z^VI@BH+`{m_2gVF2VgroW>p#ni9!G$>BzAb>iM1T6yRu1Xyp6IRQmGHDt*i3Op6cx ztq9G@t*@o}2l7>Gv60eAI~_Bk$gouLz8mFk?fNqUO4)H3{ES-aqAJ4u2;edFG5VPO z(+Dubt;arhR^?Ycrj48&$6B2=#oW(r#l`HZEmzEJc_w*y%YzSXpV>J(H(k4b@>vXQ zqJCq(hMmjR^#9rUvmWVOwdH|F$o<SWzW%RY{@jP2x&OY0w@k+}4?H}1m2E&xeU>n` zXXogH-_Vmq3RXZXCEjR0fmGGOJh4jJC&>4zpPkI9{ek=PtEh{SUk;-3$BO#vw0l~0 z&t07>iaA0cWp90@Sc+!un%t9$-S=zAPV>C@Jji}g^ge>l0?_a@Ld<r5x2)sx*s0^O z1Fd0XStakARe0aXpE<d8k`S2Xd<k4Z^oyE7a|SJgW{FRoFhjUJOEvLF{Nmr)#Yq$O zM&^=?vom^<f4iQmxag|B1sg%mUw5oA)}npmOkF&L^(SY04&wDv%n6@33$&O8YbQDO zP1+G8QqqnzElrSOkGPUFrbk9xzO}drB*iX8hEv+k)zCc&(<`@P^Cv4S*&3%oFvavj zlS<!>^@s@tMiX<8$0r6w#gY^a$61o5KRitnadJY;Ah4$Ti+HQudQS%ypzob4H7zH$ zbqLT$uCl3lH3dyDL+L33(%KF#JZmS{vY88~58+E-j6R!}0V)hGg7;V4;DhhMWa?e5 zBO~P_vevV9DgMa_Y;9}jGL~w^Ne~@0oDOh+Y-PXqW1^&dtvvSl=HsWdI(UM(2y0Dc zdF<61n7vaYCNlBfgGg_qz-6SEeIQP~I%lJB(lmxfE9EPJJ-*?oa$BB;{G|WduIEUx zM=^(Hco!!;2bswpen!vZAAEwO(|T2Lqq$<QvhPsQda+}acd_<*F{4+Jd%f7MSJ5dz z)~gT;KPPH!LF?kR_${4Pts0_z3l}Su`9g0g;vw<5(<k)N`%z5e65ur}t9q*ug>Kp6 z;T^CZsx8{FF4}0UUD_0w=jj%FAasXU@DO@=b$Vi?vkpD%NWShd$Bi91ux`QuPoUL& z*DJh^>=%C`N7Asf0zM2T2;8--i&{`3j^v_4A-E=QT;cp&%4J2+)NZFKQ5s%{e8C%~ zR_yUtX?<YMlL-VyX1OHPv_V1wqyhqZO_mG>l-jLG+EhjYBNQ5OVT&2q?J6pTVytqw zmY6X+S$cqn06#}~?$S<`=M2vl&v}YzVCsYZAkCWB+MJ+zm~{+CwZW}X{=k_OsYG7d zr0?NX8b@Adc|`}QSKJ__h_zRWBMRsh07x6IR{$W*tX}bD<S*-S6*X;??KGZWW$X(- zlJrn(bGi?%M=t)r&jKss$2>K_IaL{+t@#>%<vKZC(Wlgdy!!Mg4)6*gDV1}?5*YNl zk5?yMbD<857t~0YQ3ej+@>fJ&p&wMw$Hj-a81R^$S0K{q3Hv^*Crad54FWHi)6m92 z(gHL8t4SudNqORmCh#;oWv&iyHCD-y;7<1%db+@=<}Ys$MeiH*Xx<duSw}uLG0z2u zz+qks|B&zishGgvb?>fsOesLQU0O>fMQllS;s>BHSfNoEZY+p4w4%Bt(A$!4B`nw7 zm@dEkQ&4yIw=eTr_YHPDk0Q%J)nr?JH%H=>3((V7t<}H)@d_D>H0<)75v`9SzCNB= z@Edy9Y@<;vG**OT0~&i`>BY`b$?py1cYrJCVG9^6zVHFOh!CEQR;T}fAN$~MrXQWX zA{}*c{bbw3bqc08Bm}6J#@kM*G&Er}DdpG?);Ev^>d2K-j!~tQt2n6>L5w8p<uE{G z&SIwoN+xD@<XOH_7zkTT$_FKGBU>wBSBr@z8Jk&WYoWySq&Tqe!%1=S9Ut!AHSc-N zkriJ^26$B5nVuZcla3wcxv<gYH;D`J#hW}HnmiVoobPG!H#^<M`@(O%-7-S$0RUnO zPGToft{QL{U;X<Sv%Fpm4Dxz8i9~1PKGD;Ocj0ypr3%bC?&JAEsQJA*fS9qxoEge+ znP3$M@`0#MH#D6+Z^%L$@PRW>#3TZv0sQm@8U#OvQ^{sf`XUWVrCv6O%e6O1-fn}e z#!nB>AU0t09X_ktN^<HQq0u`;q%3oUpt6iTBkXDL9PQW$$=lQ5c?<w$gXhGU$_D=& z`YnNK?nzbJ4ZDFz)5YLILSpOSFriYtiFRkSR<mGi*Av>E=Gkp<w$s}jnoOS?GCTo1 zYs=WcB6P8n&3!qL9T%y0VEOevTCI0?PrYxC{Uy*PPUm5`VB~5BD~H(b(2hP!?yoyr z%C#|htD-?xzV;7%FmzDb?~4q4uR4g*itvfJf%SCo9kGLD6+@b!)EHR~GY<9h0Y&u{ zI})b)X50a*9Bl3Hsr=6_NFKw|s7t%Ba0E6@s3?-eVZGDyx#}<u^|bV^zF|=5BEvX( z!C@SY!#L7Y`Nsm6roPBP`e>bf!}11mA`Iqubuh<z+WT5yRFgGt@ldOKlniTIk>rDG zCm|>u3bfsoX85!TMY6XRkJ|p)gb@+it`=7=oBC)f`6x5&oO*!xL#`ybF8Mk?aolLh zZCm>~wq(t?4yEKfbdaUyw{8Oc)KQ#<L-KzYb+ltV-7IDfeHhvZ<8P~$rhK?r#n~SQ zs7T*dFOCsH>jPZxi)_Q&-~3Q`;T{?7ps%jaw&e7U>uO6C;KkIE7y8Bo4Oh2u9U$vU z($kFYw2g?(CPZ@5-x=0*$rpsrVm=k`J8TR*mMl(N;)$L_T4t%l#e!k${RHnP1p?=H zz66x4QK|e;-Qv|p{16?IE7A3E)rXswNi)`r;bz+4S9U{UE?cMGL<yTn%RPze&vbKh zeTEfA?>l&x)T_I4KuAXe-Q8DW54rY|OC@&meoiIOE2@MxIs5xc>?hZ5tzv9&l}lT} zLw&gpk?XYTk`~L5N!~apHFiXe33Nv+19)GM;TRd_RKsB*VhU6#E*uF{VDP%+36<TX zLOccN`FP-g6J6>TI=?`Rm1ZFXL}&G$tFV=elLiGLdls}k4_@~w*9q&~=NTy*E6oM( zLGt<fb;)Pwi`E}pI&7W4mIor$CW`H%%Zer(XBbU#VY%{gP57LiE9r)w(BlC;SFj(^ zldZ~LJy&tCNzc^)o2NF9`FOR)z0`P2U!LYm&(3i-U(V>u4m#g66K41#osPDNx%9MU z|8%+fqxzzK&S>?^X}%oLNC$36j_aAR!_|`&_^3(<_NGbV7(?j~?8$~3JKYfc>d1d} zifhwO%=%t5d*k)tI&#D2ep4v<jW%ri5&s2YVPX?eh`v+z(|~`Id$9(_*HTKT$;Bb2 zVkC&K+Jc5+n6=|8P6+W;yvH-}B67~2FeU`~OV?)e!1Qf4>#{@kk=Yd9n4aN{*&E)N z-`SVZ(Ane<Z!n1P2469qUZEG=JZ@y@Nzh|Rf+cy9Ui^OY9;jgFkPg*$3jgyaRdTW| zPn`W%q}c<5GAPUr+BFia2{=CH4IRZqIy5IV)&$miViJpL_bWEBabm)LRo)L&-sdXs zNA*s5yrTwuEns`9@ZJw<!G@?I7;Vk4EYLK^HwSbHZFcrMdWHLZ053hir()JTF_CF3 zKNAv5%K+PQB97|rV}EUMt~O*KwH;nbb){S#J$Q<0Kb;(BH3}ZhYUACy6cR-no5#if z<&Cl7(w(`DZJw&t;a$&@^<{)}8&K?kPCz)6sEQVJthiMi_~?_Ex8%LrkWIKc-uF$Z z5GS1oT#b)@!(u4_pj$=>QN!w`BTWOv0UCPjCqM*xheH5VyM}{$viCnwa}Q;5&n?pS zlOLn)hPTZ$SYF$sm9`b6Ew+6mw0$_VJy&xNXWBlxNZTK&w9W2$d2MscMmg@Im9}xO zvvJRdwvX1_Lz>*jealnA`_I(wppTjPUTydM28XjYWo^e;C{4EGH1|bjq`i5uumZb7 zHKFxu_t<u>Z0g;|Xv*B#8@hC<+SD6q%7_<&6oFwCFn``LtHoS}O9D|X=HA?pdu6qj zH^*8acB^H~9i+$mYx!f<5>PGwp~|!>Yhm_SE#q#)mV%}n%ZF4xfDNlxwfz3)IM~=( z4B(pI;P^jqhiq3t;3L>S0Hxx0m393|r7oCjwXQEMBzX!_EhkSJ+JiS9-#)p<eIICI zHZ3<~W!)cB-2;wZ#ItJMUo-UfOef<vx7gJ*k|dhNNfWai_m%4NK_l}5Hk19@k5H{9 z8Rsc%lEJyecc>r~HwP-g;6S~<gI|1#4vu;U<t0@?#M9sDfb{u(O!GZ-P?77^!Qo=c z?5+dFobBH+)3;%E!FP2aZ`<3PuG)e3W$*e?@97MpL+GKGha)13b7)!YpM`d1S%a8{ zLPFa1Mnecw_ts96wZeKES=Q%&!r=sC3cF<OjA{F7kiR+I#hbvib3g_!r-+84y%CY! zl@G?dy26u{JRm=9dCm9#QynE2>u||J>`!20pN9z=n=E@H1cl!03B8#$JNQ7s0c8yw zK-Mbqn`NJ)3$yYutS~Nf;|aqLoU6Y%pc<Rwc(e_Ee|7N2?`!x-7!WuO?LB~zEdat% zIbVAZi~%WzKAcV0+RrVl(10s);5$4j@Fd4y;3iV+9nicO%5ZmYxYDo7BQ!n95oV?3 zFqdJ*Kbv-f&#&qTb1UQ!eD=s?-$|J8a$)W`RUD{ysz+iAbjUtj2$PqR;2^}AIyh&R zQ)BW3V!@2POWSW!^PBj|iSD{qI}QZbvEmA;bxtJ;-*xtMq|er|0`lBl=SUBFgn{Dh z$tT0kQp@CS+Q*1^@C#c+_3UyviKF+OQPE+wG`$iXcJiI2@jBZnaFI!*+#up|8dgIg zoWg+4w)Y|tD&Ab*WE24|H`j?eGR0YZpWAZ-CX^7)nW8?G<HpY?x=%ERC|MNjn1;k= z9F7ruMQ$Hf@WClMc1@tzIk>rgn}HROa$MCR{HDR{lJEC^&C;)&qLNiu#!cUkW?Qos z!;d69snBhj(AC&ObML-`@7Pjq<2!Mn)y0zi@nxmOD@pRp?Vv%TjR_v{2?rD837^PQ zo~7E3`yw_Z98jpw@hlD^W)6k1fuyVJx0zo&uT$xb*Ck(69v$9=P`+Q=Da*5IbN#G7 zoa2M8_j1W!_lMk&ur1=Ku)RJm&mhIDi!1fo8<OAC=gT&Wl_zpYz<<Id(Ij7ETc<>( zqg^VvosH6pvT}NsZ`KXfSS$FzsfExgAK2o|q^#6MSaLO8M2?^t0fHAuMRK{nNG><r zc@ju8QQaublVFx4InSud!kQF&<?XKJ+{Hx6vG~{_R_YJF&Xa6S;!=>_sBB9wYJ7*n zU0}M^gN#O@hfi&NigH~1ED_8`q8CO&K6qf4OUHZ?6D^-!JRfYMySUt<II=FuS~iKa z4j89Qd9v2BUmXP8PLoEV2Dm}(Sbp(}bgXMrNioQnF@+7bA0G(Dl+=wW)MZ|=szhF~ zJmeLtePZKYGocVP852sX=${X-_k~DqVW!)+6<KO%5|%Qd{6BM;Sl^4LpVQB#)bzZv zr}Gv}DAw>1rO_QsD1D7Cze!9e7jF_1iZzJ|#hS!~QfcxbCfM@+^>!=limD3TwAX~f zn4?11zz|I+)(K1~l}`M@v&zcNgyLXBF`_x+8R15O53x^^p)y!B(t_==Se50CtO`X& zFrhF7ZS<!v(4b+*EE=hqP^@P?4GvZtJnIX%<?S|DF`;l23+DqxeJRPQcZ7`0h)7vv zLb*tT!GvOYdm4-;6l)L@N~OWKLcb+YOSQ5$Tf^ho1{7&pCX`-6Vpr&SsZ?*lgklY0 zLNOd-La8+Pug~diZb=i$VssHrC{{lvlnd6ogb8J_dZP)&>cxaosrMVPzrlo3VkDSQ zDp_}|m#e6mP<WaNrSi3Z;8C(@c7ZGjd9e;g6AD2=%!E>@_upd&mo}lKy(W~!8juOa zu!RYwQu)tckUW+$p*W1FD3Syw6zh33q1X>hD3zA}t#25B#Q<Z1mT^=KqiaH0Y#1`3 z*f21mR4U&Yxb%f+eJK-4-(WDISpTC5#eQHyskHZ{z^KfGLIuk(p`=|CN?I|YFv!w` zB5+0%3hz}D3YpA=lJ=WWQgNvHFS6PMD+;X8^x<wrNrM&TI5{d-6e`Lvg79eeT2WH7 zqHIS;nMNy$zql2J0<*HB@H8t5gEuP*6T+-0vGG!OtN~&lGAoJ(7_BHa*l0yb&5FXs zXjNr8RUuoYQgSlHAY!SyXhpI2U`2_@@l~MYj;3Ii6@^QSVAsK9f}5k=QB<*_q{WOi zgNzNPs`dmjv-9Tepx#7TQMk0SCsBP1Rut=7u%e`0D+-nMl?YZ8D-o<H=7-6kv7)e^ z^_2)#6aZv<DXb`IuNB4W3RV<`V_n50wg8O5iUN8qLyr~3Y6w;o@FGM+D+-@VD@q!y zC<gv$MPWsBSdP&zr^O2Pq7^0WT2VlMAC7|+1@v3zdaNkwLA0V6H^7QwOZ~Mx5a%}0 zZq<sS!9*(xm%Ex3g|O9TMX}k96(tQ;6izUi6(tQ;lr&gT=m<cFRuro-SW(g*D~f#y zRuqVa&POYXeF;_+D2Ff6ieg`a6$MQ4C0bGJOR%D#%`htpaqG>BVv8A86o)-l6bY<s zNh7R{_Dv!pnH_g(4!Ei@#nI5LC{{H4*z<!G#jv@Q6-6Jj_n8$1{6{NFd@Th9v!cXQ z^p)`yMPGbH?G;~9a>Q4*D&dtEv!Xm=Oek1UY#x{u#b#ahpna4T#ouH_@i$pf{7qJr z6X<Mh@`pDVM0g8U6k{;9-7qrLM#W#W12LB5NsC)i=<+&gqHMG9))%UTTTy=g^7OI? zY8E)E7Oxm&lZXhhMGM{>QEJ$AxRya~TfI9LsM^r@0w?I}{bA(IHf5cBzO;Cn5)3Ls z@57mwn!3wAomU;YWGX-q*Ad0rT$oYx$t?-B)YU2LtTtTGj68%z8TK1u!O#(Z+l;zN z1ENkG$3<zXzO>W%7gK=vmoAZAo!*3+Ce;!|4blU=D*KBYQGNigpTtaK)AT33!tB>x zslinLDch^YhU!Vm|8(4g-*<ZHSNpY$N||!#nM_qoVanwn*xh@(^gmh_8BLOXvQXY8 zwj>_%&TXJVHK!0&!TA)EKU9g`R7v6n9KdVlG#I&wq_Pck8hL(-Bhm`JNIjNG{{57> z8-)%J>!e;@jf+vuhdCXd_vvTE-V6?6oYtzKiELdwv2`u+R9k?jnvbj(PdjKtRyrX{ z8vv0+1yT9}q9nxVOBGQ&Y7tYaL#WzYD{-~QF1`~_-J=F58?dD@?j>ST*a;J<!En0| z52zGW>hnVM=)89YJw|*HJsEmLimX-^p+_cORncj8(Zfkf=9$ogW}_E9xSa?+U};J_ z8jAryO(9#oxE9mLmw!ry)n`ou16KAomm8_jkh)(^MjJt?MW#{l%nh5<Ba{;?4y*iO zVDbK&EGzXM<z~RpzaxrsX8F!2KU%WW%72>tpW2AU56ukW2*O!_wm@yse5ho7$AGxb zfXdtj77xEzy<RUB63?75G5N{Hh$o;X+=H7uXrsY{mCHIy0UhzBr|ZM`RDl4aN|sZ- z#5)`zQ3YxTO-rJ=rZjU(6G0NG!hQf7Z;r;SkJCUxX)~e?Y&BRz`L#R%qZ~BAp&Wz< z_W<~K7r@7eV&wVuDL+2cdzBv=7l6&I3V?OJGy1TW0IU;f*3abw7+Mm5@eCJ$X+r=8 z>i=;7ewD))m-PVO2vUQu{F{`a3SaS>p+L;i`={I~ur-^$*&zHXNH~53MI7IPg&46b zBRm{xw~W_25N-rLs1DQOT2*mj9EDlF-p|0r>2NY&3)L=*s9{UhoUCbE<N!a#&8{{r zL`H@!lwDP9>0&b7UoOq1Fl7OrL{ZDf6iiu|q5)xw`h_XbSAkszU;p*cK=offK9<%M zR3OzVwO&2X{jd)VR=`7x=&EF2Fm-N%GbEJ-67O>Tjti)K(5w>flakYcZk1nmcZbtQ zx<$Ip2+bhMle2Sn=1vh!#`q7OWM_Fzb<2`~H;DpoSoB6b@$B4iZlR<b8<R~sw1o(z zhFR1+Zh`y`MdP~QJ15ikC==LaMcDvrm4ceQEjvcdsW0QNc1(}F->bZcXSLkiCa`88 zKd59jd70s{ZMIvT-J~SEi^^z5XZG~YEmnlF;C7F-Ha-j{Bu)_29S_78A(Idd^+mMJ zDZyKrwsz#qtF?2Bkq>fa$zly)8!!;lhS=Qdm+Car<mzFLzl{-Kg+{4%Ef9M^6|beE z)Tv{BI*$a<R}`=2`U@Q!5b!7K^jH8?7@^|S;~)3f7kL7yiE0wtBM0U%)v2)j$jmp; z8(VCgp4a<b&qA}`)}8Iu!7Q4F@;Cr4L0XdvF01vRW(1)OehdK+>NvHQ{#u^tpfRIf zpARZ5J#Xvs<~Fe9kdX8LtBsCSJ=a4(eGYjV7%yJ!gX4gwuoUZDso}5mLpiE@N_Uj4 zP>p$h*)}Zm-MS52)k=$GWActa{h2G%8;!;M2KS1B<wkLB_Q9V9o^Zb#lJDg~IM(ms zL5R^!JeVWE$ZwQtNI+W8FK#l-c`ymN#!Wm_6BNxTxD_j9Ffsvw*|>mlI;LE}n77)Y zkYE#zxD;_q18F<fXog&p4=#i<W;St~un&CpvUJ2{@p*2V<A^lU8>lG`{W1so2eYTb zfx0Sp0Nt8}qlq9Zv6mB+e*u%3N^hb~L<m7-tX^xRaFCEeYa|)u!*{K^tRL6&;|2c1 z$3YN{>}kZ%sq{9v&Ql*2S<X92fbvA2XRvzO;Xr<#LL37HM{po0>#5d0ov7i#88NXP zIDH6=VRzs#HbBeh8J|TD&>GDBBJxgGRwfo_VTO!sKqSmgL(dx<l7wjZcB-GYMbj4l zo&d!R5>8=JQQ#&z)h`Kc&`<TZ6l(#>mBfY9mJH0eQjkUwkBZW?%oY`;2^UiQ1!d-- zPfun))!*udVW2l29Esj*TLVxAiyOJ7Qt=Z8<N1ETXYp(XAlI`qU-d{)sm*#1Wdo}S zk%aK9N!2~rQW;5vozP@Rq!6H<{*?f>UV>Qc7eH1lhvMlSUrl6+$o}l7HMMKkBuVkv zM<Elw1ID!AqL(&%I+8#4!7qMAHxuBYBohYTI3Q2BlTd_^7{;?WAfhmJVqeq%{HTLa zJp8bTe6<Zp-GXaqSH_vSLCFRrdc+L~px}TVDs2D^=Tj}Xky$MRs)Zv)r1P614XX!o z;${KrF><0Ye(#N8gMb&^<iCSGDQf#jB?ZbNrX8+zG)QAcU*K7bX$!Jr-xtVg2uic7 zi41kNv?+Vu5(RRZ(H)={LD|+JTeFNzT7d#p4HPJ%YE<I#3~d9N9NndqP&_0Gq=-`> z#7<_Tz@ZSAN136(p3F{xmAE`sr8d+6%c}Sjf@H94n9xFvPM$R-z$qFcNkVs}{2r=% zftTSuZIPWQu82!y!%>IR8dl*zWyAx0BgVvQb56W~5sz38ED)JRE*aK{aSI89umC6& z@evEVVZ=JAtU0I5al|pRk9edq=i;E`ZD1n@lnN<rD;v_ad@CD;;2;{xhaTV3zP~fR zC7*c=W;Om8%!O0a;7E62*+}dEA04T|!$%m$>=#VIF0pstg{KbE41}+UYBo)gfS8wg zZ6oCS2?gmM?lPRF;<hl~Y*uM9e{PTMjx{NXg=;s-!6HD`U~xYoTs2?49^IkGgbdSB zfph&*F~mY;ejsF~3pM^bx-*7^k$f-4cp|2VIaE5tr}|5{5fs`?Z!C6@t7K7$8l(%* zh&V~5N$6v+_&J(1E=dj4aws-n-K@5tuG)1ZeyL?EXLyoDnf=f?bfUQr3s`LKo6N6m zOr8BCRthbcdgz1&k^{@3#EC@2LpK>l_D@JxI<LW907_wr)ioF-Av!{Kgz?u=l_3S8 zP>6lqr_<WjX}=UggdQz9cK1ppQf@>iKh!FRrL?^>1(6>qXE&`rgd@e)Iw~=1eL>q0 z(&BAHLCg?18QcnJ7v}+F@t^3U^k|3P%8#S`v2&pp`o>@-j|NB}fot{Wq17MwX>4Ms z;R;Fu6S4ZYi!&wG_zf|8Mhl~83I~bxs4Bo#n_7zRW((q*2v|r`e7E*|OkW+-#%oE; zjBX57ugYx%?lej=+(}^)ZOZ~R`6am)_i$8KF9pGX&RPUTN;;DowK9G`u3{dEODQ*0 zD5;3AF~9Svu?n9W3d|Q;HrYUfU_7jvB$)K#8>k^wGgSOnE?$+`K<A!$Ch?nCuOz`f z-m-P<IW_-ZvgH55cP%XsLiP6%?o3r9#7cX}m|*%$8}9|30kC1NkjgJD>@7<L&hoQD zBG&x|h|s#&0Gc1+0nImgK#TIhvh(VRbU~)vu`MTVfY7}Bu8?j2X(CO-C2I93+j5>* zbWFWW{H6XeKkEvTfO`{loqd8$FhON4B7+W_6sM-2Bxy#k*Xo#zgxg{U2iVVZ>}6we zt#qIplke*w;g|p^4r!`bw$%-&UL_PmIE8W<Y+=Xkkun&UyrWb-j=Fe9$-S!j5ztse z?01TA{Qbnwt1s3)z+m0`>{8v^{_>QO(LvhPJiUI=2I#qKDSYqrEdjz#RDN@SP~7sx z|K+u@k)-EPfguS+<{}_Nv6IL<G~tZP1+rbHY~raSt1py|zzd>>#hY4rp^qG3NVc@$ z<cg(-@4K4fQjMi+8@td)3niz}3>A9eoWxS};xt;z-tcmveI|u6#}%-UA3IVM5u)Rg zig_u{hBI}VDD2Zjn%6oqE@5u$!|Skba_p;(N;-uKAFufYN%*<+1d-7UfO!}FzC2D0 z#5tldi-QC(>ZhPvnKM=}ds8lX#paH6Df^orDIxJoSUEU2q6H1j;!c8YTPziU#)4mI z@Yy8~esRXYidr&;uwm`8hFULcsDay_k!eAzyIU(ybFd8#q1JOupScfl+3dj&5ti(0 zJLIu3nMMVJpfSafwuJ;`&1c7-tBzH;R6odx1VJu89@fugkOmj!K7NJ_id;y?I&_aW zMa={=y)Kdmq0uXa9v0^t)l?1i!TLfz!uSA*&xG7;K^`aF;7dsGX<o$WL%zAAu!3fB zOpjXjj_0ZaHo4&T)|*GQi{)tEu2c#Q&W=i9Q7?RA%%&W{(wPNhQ{np38qa1d0v*kn zn_pXP&xYo9hvs%#a{*ehS%QFbN3PnnqraCl;Df(S1dL{JRF5?Kh3<fZp|Dj9h?`7t zg--v#eFk0}zPKk8wxV+;@Pdn*Q?J(D&ow$JktYX%W1QwoBhl9FvTX68*~1#sydJe| zmyKz<4r_YQ`2vu=T2o=L7@~SK6HQ~77avELPIk^4*k<*pWxvq{TWA8B=%o?eYT^sM z&CSI~alt62-)K$j(4&^^qzO%A&12E|WLhYs$)(nseUgYO7PiayGbh{wB-&J_Ie9VS zDTWPJ!l+4WNK==B(IE+}7j48L74q%cVc0yRM?L%XE~o>ABC{<{os{oR%cC|w3a*pV zCS@6z@I2W^o~P;+q=rW_I#7(p8ZJ&Q0unN(R=RgRd?A^xBwZ)_MlnVs$kgLL^~4(4 zKWl;4dLg~=9Xz<o{3fc_i3A&I-~oIY+?>9E2dkV`dKUb!(u-aG2dwr|twDs#UF`?^ zR(qygSZgj}wePMN{fiS;J>&sjFPPX1B?c|C3q=TD&)D}b{9tv7L<r5qmgAFaYGVr3 zKU+Gs5ZRDhJYAeh*r-4CV+cDhknsY;AfdygOyu%r`8jVuzre%Jd&?0-Z$z(?_Doh2 zw&Oe|qHG?}L(;Wao_K7UH0#O~yVCTU+WKx>amu$R$M`$yH=&!39<0>H>VwI^plOKt z8Kdp%RLC>W)bGK;U_f_pr}_BvYwLL+Z{lX7JM(m>A2Ih%hnwTW#*Hh=u{O2xv6q_q zi&QE9l!Bf?wx1#G?G~+0nt=3P83VY@1V1!3sTfF1ZM2|u$aJFYDlK|fxw20>wOX}T zeJ!z1B9>)U3Rw6qFy1Fa72rrWCa-bXtdX4>;v#zKGtKBwu!($)!TJv3902R<<z_gQ z-srpTPJ8Xm^hH$#YcJ{qDjY4OU(V}b3q**@M(OUO5r`^qn^Y0w7zdF?rB{2qz%Wxo zYr!IaFFtm8?JkmMFerZzQc;mRtOM3O7ucK5b!`U}-G>-tsgsBz<a@nvZ@sWQiXWyy zs`KF4JJwRCdN6A(IC<SBLufl6M{Nd1$JHOPI;l1|MWl!iGW`hX*QKwQIMeOi$Xb2X z-3gXSI&d&GISxreUckv>C|dXU6~L&v)H`GfQDLhWwG14E`shno;V1&!G+YC1-r{lq z=qazggww0QT0QNIN(BKS=Hs%-;zMYxwvAq2wmXqL7G5qo0MLwuk+l7O0jOY_+itiZ zrkDmT(v|bJm%y(C1^mlIT9Z^hALH4>-ywKn8ZPaitHCloF?Xx+Z2NcUYg1pX&m(+= zOAXMX&9?F4Xyd;Ng`I8LZgi}GW|XA6@3POuy8m8$zOz+du-?8#wTQ_-_HFdq8c~GC z2~@C}a>gj~K(e=RCqQb1f#p%>=rw5`{d=bFFLCoc7-<)0{*GV2tY3oj4t=v<Ox@yq z`EC4W;7M5Bdkt~)kJ+mJfXb~bJ>$T#Gmc-27z)1xu4FNA0V{_^qEQ$DG&+}5`8N+U znW7D50{l3=*ZMA+W0q8>2WSOqkl#y<0ggPsc72#ncjP06beU)GpsW<6uO~Kr_JJ*$ z?W!z79yK8epjWpRD{}w1c0|TU^U5YgoMt<afRZ*QkJP+CXA~w1a>lYV10^DXm1dXL zE&<j*hDopDG9cT+7TQD=>^+jd*<qCO<Y8r?zWVKqYsjz}LOfD4ln<l#${EJBVs1D| zNZSehXTN0rR@Y7vl7Qq*y@i$EnD(^>QL!j=++*3<=T&>4s#K-WZEs$Sxu9Vfm34c@ ze5;z8Q^x3cfzBisaS41(b0<BtAJQ^b8(8KL&Az8Df0ILmO<L#vcMMUxS-a2f{|6%l zs@!V7U38AHk>{z-%T2f#zy+;L4#W>-Fy<^K&&3)_gg~y<;)R4E&aWBjyroD)(yR?j zNEpH-GgeYZ<dNcCw$z8|?CX({u8b2<W69xfW3txoEj=g^y@V_mq)J-%sjV4<iOVyK zd}if;p}Ay3H9Dqj;F~@qR(^hG4AH+#%gikvz?}^6*KI_Q7O2LHk=JqSF+VAwpM$R} zGrW-w`W~cO>`k6;<?HYQS+rQU-q;cqHEf?jR}x#t^pM3j2iDo{7hCEikR};6%aW*d zm49S5&Y;_KdOH8cvbS^I3oT!iXYgVlwd|3fGCV(c1$un*7oTfY^!R92v|EA4F7*%j z!u0qDq;zpT{(ilp=d~cUd;VRj{k=+>Vq3(6n7KiTKQ&7I8<VS11T3M%uWIn8#GvSS z(BP|Lyk~+sy800T*jlNm=pNm!-Cj?}o-hsm!j3%@)b~?CeZRr<WD9Gj&vA?Jt&JbB zd{g8978Li@v0Ps2J{JLFpDw>z^0Et+>{IVoOZKVvs~`K+`_+#tF4Sgrp^tq=fNHgU zMu6%^GXgvZ%99ZwkX$eVRI^2r({#zc_QO(5>>Y%xr-B7wA8Iq30j@G*3h;tvM=C;} zVjFls+K5T|cL`LbIL^J(>Hs>a)D!}LBpsV#yz<l3OH7|=9}82ftNWjdfuyDTuM8E= zzEJmH8M=)s``ERv6jVIydQkiu0D2Yw`w0mlOE=)z2ZNB6kTKKQOC0keoW!*Lfs-t* z^)Cm!sLJ0$y)hU&rdCz?6Lb$-g}BzT`N@7oK=v}(L#FTF&*2W!_j8O=iuYas5-ZvD z{S}@Dk6w@qduFNc?`KP{@9$5SK2p$L*sSRmr&8jX$Pr_SJpO@7E26X`Yq7uLW$$S% zqVESDPWK*9ucGfKp5A`NzBIZil<!Yvm~9pN#NE^E?WSCWl4`|O+GH`5gM+5_uJ0d| zzCR3&;OUwM#UZftv|SFPkXMd1Q|~U;vhjZ5bzW_@W1C;xjG}w2xQdnd66$!X>X?Xi zd`WeT7SEy%Gdif13-`ll#;ELT&oK1MV@<Qq)l}9oSEjP=ve6Gwk#)|_<qj0jrk%)w zmfg-L)Xu8d&N~g#MxNFhJRql5Q}tiG_sa3^9tiw{AkZ!*sY50z!|jp~SU>~Q>e-6e zvo}W?NOh`!6_fEh4T!9vfq?si^x>E*l{>U*iug;RyuVeem&H~erBzO$40Z;#4E><w z6i{HThSmtyUp(!teH*Qrrv6e|+bsegiLL!=x3%FPbfa-kYl1KS2xq*(^)zT&`%7t1 z9t#lp89mbM7rQ`>R_Y~zdfHq4c3KrfFd|(Nl{Trm#C)h{m~W{PbFda9#dm0J)G2nG z*dp!$8Y-qd*=XG?1Q#EzkRk^II{CH>N_=GpqkjK63=Vg?&?c}qlXv(j?kP<Wt2wf> zsrymmqhWU13mk_J7IVqgG%e={&S5#f#N}<#B|Yf)m$jrv1%G!*Coa#WFX^H&Un2Tf zqbXvVnjWHOnbP*7Cjkigx}{CWf(6a05J7S44to7RU&E2rhK{W6PkjrL6o>611$=UM zHtuGsb3u<Kgj0TYN@4&t{-6~2@X2Pu#mU+{w(R~WRBI>^(R$x5eX3OQ&{31R<U=}C zoc+I|TdCKNYkBZW=Nt>iQItU$rP$SNzA86FJp%|-a`IB2<c?08!QGZ1b*KjI(&$QQ zDGRN1r(xxFXRykj`&p{jz8TLfT|uNJTy9wFL@tbV-Un|!hPdkauQpZb@-95h45Y_n za#EbI*YK5Eb&_TzTzxibb$b7FG!1IrYxk{$OIezJXoEd^lY>2gkRu=El`Qd~Q1B_v zhZuk`J&+IS+LR%?mxZg-fsK{r>G!g51}WalVyK~dVixK|l1+X$pX5ydjMHA_)-~(w zkdVh6gVb*~uQigI*pDD|T-YIEg8JFwb-TY}Jgu16I0&IjOEeQv=uPp!monFb{`n1T z>-ojyKe7N20oe}i*Kz*H_Pmfv2}=;`KkTonpGmD6C912cZjICRc%#}LHr7_nZ@&;c z#tXxYG%S3cT^oiu14^tjLR}m-LAG#lSTmpC;xKmic5&DWyEv?sPb_kA*cH$kPBZKk zIAUX0hh3Rp@knPvSBFh3d3D%?&6J5P3HMOZy({x87r#18JUDM~_YVhmQ4}`mlW;!q zvs@TO6Zhp457TYIGRfE4)nP=+ZE|%OvBuKM)nN(_rvy~j8<XT_T-nj+;j_uGJ3i8- z#y0vbjBL?y>EJXcfHWemIa~gSvV|k^gyQV|q7a=dGte}39+Ern9+FdoU9<**Y{ksc z)QFWHuVn{b1#O&)6!K<BO3p4Wv_Uw$P^B$l@&wpJC`Nf95b+?@DKkPKr3z(l_H~@x zR@y~J3KxFF%9gcNDxm_RzH9sGgh}JYdfRxewEK@%sTS@(TFq1UADNrpNzPHMbUF_f zYfUGuXgu&U(9CH&@$2ZD&7UyaG@odUY4o90JlRm~_-zY?$PcctH+>SXr+5wim7ESW zUu#maox`vl0Pco`=ufc3+26LniFJLtk$fcWR+8p3avFYF>Lzb&*EYdB2^?>3K<*$y zUw-Y`f#=w6QxIHdzM)c08u#&Ca$q`kWe~gv-}tCCM8|eAgjA9SoX~qihW#kUNTX(K zNW2Ae9?O_zz#_-}JN~+cOo3OK`#A*OwrfpMonjl)(GXzKx!jf~ze8;(u+%l&5ftuF z!^uAFHmxlIXJr^Kw`1p*bIRT>Olv#C@3}JV1>Jkn@I{Qbr{Vd6Xc=!!gQLwta6&F& z3E{SWYuaAk1^cH(M>r0j*7NY5!z7*3tBQ*zntp2<fe*!5_oYyVA*R@?SJ4n;s8`WZ zy}&=qh)6R+y>RCYKIEjIQN_4y@R!f!#c3gHyg1FeAMZ}1_tsPIO>xFL2#r|()Mt$= zbdGvrH>{s(j-1v}8<RH;?b!8cnu1P3_`OSNVNx61GrzP>2|kVGWzsv1cQFG&4n&uO zTITh7yTMPj9EJA71!08Q)Imm^uSLj5nEDAB6s0px?{ZdSgu02|5_5aEfP|9+fA@rm zZ8xv%ViL-EmGqswawJl(L{NxVfl2+#DM+Pm=at|tdY$IgJUdOiC156sXOfxHl_BBD zN}98+vP;O_j|zgsX~%}Z(yM&}#H4qYY@eQRz&K~|;@hmHw95=XH>s&T1wr{P_jJw9 zjFEB^ME$V1s!!6U<KeYP2i=KkHXQQaQ69>;4ZD_kb~JUfm#wxovBGI0HFcAp&9`&Q z{JhO_#hbla+2>#4J$hNkbLd`B223ulvJ3ZrW!X{1E`_uC%hUGa1d=`VpS^-SRG{Ow z&3GJFd2maCA*m}HLcfV~qb4}&5bq9add2%wq~z{hU#DTlduqj}-h~&|v#CkgKle_4 z?1kv<Oa}sW_CVbPYIl_}mQdT6d?PgmCN7I8$RbtOm!<ycoY48y;!AKCNV1?#66mM_ z9hZUHv0<q36uWB;u9VIEA2%d7GE2nvQ=($Y;P3}_w9hVq1RF%t@z>IhI%~F^mU|n> zKL>y%*?b{Jy{^+{ax}Gg$-D!N)BGf_M8~Yj-G}v&5Fnu~Yu7_o$HT>}FQARH#jR0} z+4IW}7pG!vcNR&p<9$y-@Ngokpwq>9erF$j8RB|t%YzUg>x_;Dvir5+gm~C=NwH{g zebBUIqoFm5qllvVmR8Gac@QAL7N&zw(U#6uSTqM(!*+uX6c=nEKtB(ad?pc~BhX!H zKW3~SUSCsKEDc|7O#*POIE0(#{}5Jy!<~*5RtF)>(Cp`{_3>VA#k1uFnS!6wHP&1^ z=FDxwt?*@>w{_M)hRwJRd{-(j@mkEaVy1>1!td=hxvpGYf4#!FO{K39Hm<JUNsxi- zvDpD>0tXPehHzI5e^7whzymfn#RGV)=K&;g9;>iJ@<1q1AQr%u@mQ@BS%U%i%!>^B zo+u)3uZ6)$t{P_LxSN<&@<EaROzUxCwHK#=GvV5~X+xp5XwAastQUmYuWMW#E<)!d z6X3y@qj(Z*V;9w0iaArcxQtKWMd}Ibtp!cs5M=zv>WzDh{=0pxE|IPae+2X~E#1gi zquCf3L}G?yadm+UwwUXp4o+lh*CJ_H8^K{6ZzMKCay!Z`Zkbj<_|zr~WN3~v%qN|L zq7-=K7}xusN{XrC<RNJD%pD06IAV5VawA84MjY_Cm}|pA4J<h&0E;~oBkTbRmP)Zg zFi`1ce`!cJZ!W0hpjV=^z1_CAcqN4hM0K@$>nghdvm*YTjZ6Xq$K=}b-`Mv28g9>C zF|L+`gD$2&z!2po1CrRf*K|j$aH2b(VHhO5H?>_wKqEAuvuO%hWVdLDzw{%Pn8}l> z(O3>hOf{cnyPnn+3a`U?3H?8P!UMu)JIA%McNR1UVK=wb9)1~3G>f{NM;uQSx6%0N zRMn)*7{If=2>m)B?*H=USYx1GOBqwZ<DNfW1dkOU?%*`Ev8<b+qR57r3C4!7UHe_= z5EPdn<JOnAu~8F75hC$Ze?1s7)D)Vs!q9MW36=kRsN5PM3ImOt_C_jXfQ_GuJ56Dw zO8{6u=(>8=;$g(p9Y`_fwJ=qHYH>i|2soE3k2Y1lA#j$gy{N<%dUGADAl0|m@C&wa zHxJnCog}gfYheXxb=&5)z?lLVAeLy^D+p3;{&SjVLcbheIx&1Vp`0vSouQ2FYbK&X z){x5sm$cy5gEGtW&=FP?@DEw4UZ_g-(mjMcNl*4wK_tlKdFT_2@<v6~2Z>e^@kVzI zi>&O>u8~#t-kWS?yHh#g%Zuc+2#3fU@4ZQv2a!#j%)-U<)cO_M1Tb{yPVJ4XZgp8h z_8#%IGGK#R@1Wt7m9aB`v3yhsXfo2R*VOcKz+Q^)<v1>WtsGenK)AC4gx($n7>KF_ zy-qv8fbd#6k{n@RD#iamaBdPfS=<%@ryNv>G6*#B8CihfDzxx3>A_x4&q2LcVk}0e zUeEfA9pyqa!FPNwuXkxg{*-6M+-(*RBgK;W-v6>Ajo-R&o~w)JNC_44c3N1Byt#iU zkhkTD1RTj*)5eJZ(#X3HK+L*G-uDWWa(C?~f;zZ|*evuA;oJI%M4(=86_Ja1E@0oO zyE5S3d0W}FwrXAt$9V+_TEnyng_7TzSAdBA<{4<yds*zaKrVkhk+!>sT@~mZB4vMC z%O19Xh&FTJe{+(rc|MUE9kX4&Gp~_XjX!epq%Js7(}z<nYKfhkggW3{iZh`~Vnt7; z#n;WHP^I5e-&)MQeJ;t~FpR#5Dr%C<CnP=8Z%8IsRm};K_yE~&z7hr}DFR2XW0aN7 z#e$ldvcmMILB_Q0d+O(Kh!(DPB<FGq7S{`uc~C)>@4Hi&oJ4H+9XsiCi|U-lhYWRr z4Uxa|Y}dbHW8}i`Gz<tF8Gh=;Z>R<7kmG3Uam-xrsBd8}(Je{Ydhw-ao_S_SDq-CW zIrO5nW6dO-P}TCP%DJvYol$u@iT;M|%E33x0pjwOscIKL`6DW%JIO=GLg5kpeho5q zYF7|^?Z<&2nuU`<L`OYN=n1xthijh5d}@(~kG+|O!(Bk~K{FxUVY5`j1~PB>6d;TZ zqnWUVPltw2)o|Bi#F`l8I6tH2n&r(>)#g6_avvv)KNAE`>sTmnLP_!^(ucEUgzs*p zpRZJkF}$bJg}^hqxkXEm0k5x8N}shsQIEiRE{qD5l7aKAtf*e<{32cXqPo)Z@yYYO z0?v;w(G?pn;OwiE(&wvP*$(Lnv(tKl+4HimdMTuwK9c&1x)Sch(rJrISN_pJ9X4OG zR-+YUSN3&CDC&7Fdv)z~Zp^J6=5h@5m|}fx{+rqy^Wn3YRNFie(7TX~X*`ng?$8Ip zeKrjC(J<KE7Dt62SJz)-*Mk};4u`LEJS*elOfQw%tk%n&%*Np2laLSboPlv@!1yAs z2+-OwTjg^o!S;JI7D|TV`%;B<)kQw8#Y8iR`_MOTQ`$b`j=Y#cZ-Da!WaZWzYJpeg zTq6(56Vg`mU|9GS(O}-{HmN$0!o{ZCVH#eY%|F*r>&T7#;#P&1@o`3eVb@F1`kfuN zA^cA~#m14|ZI@RXoy@0_PRIp7{20Q#L4c}yG-evLslMi2ovb1y%WzR56+b;qM&qaG z8BWRqO+_bTjc|koRC5Yt+R1K>XNghi+}ojP-G-@$iq6K0n1u@}I!i@oyA_?UVZ^cN z+*8rCFI+`9XJ>P0K}F}OXj-1%aq=M5SvR~QhRDsK<&pt1eT+^w47Nw7XtW~Z#r|&B zcI!&0-WrcoYn%%;f@)C%k<9I-lykwuZfcwp+5%ZablE?K4h!2BMnW0}-9t<+-92Pg zIc{TB;Z`IvIEKpf>qB-QRGEw|-fHol#blB6JRN$4&ykb7Lj94@6?mBpnmJRVnb&Ah z4=a{Vu33eS*H|HGp6pnP$*Sfo)l7Je)7*Ilca$nV`;$Au%Y(0wm>Njv7IyK02yOuk z0gboNfdKzoT;FD^XThMd&;1bf=;e(JMy$Y7^kOM=$X2w14*Ls$^WfHc`75!=`Iw>? zt{qZLqpKPAC`&mmHW6h#@`WHGyqQ!%jDc{d$iO5Sd<fys!feI&x+>#8He1pc^+5sJ z^{AmeoS1y#qBcssyzv!UAq*dJjqnSHoa0+Qv3}17Ax*KYgjr>0RmwGpYQRNz0gly# z)soM)rbdPlKTATeXyJPCYmJatDngL1HF62YvcZv*4F_<kQe1YdZI$F$%RaWsq#d@} zD$%oX#GgQkM|u-wUeKXRXf2YMyzNOdI*)0JF{8~nY+9Rhi0~DgwQ1MeZJSX%`s?-F zFdSZ|Hp`@8-1Sas(|KV#q*-a_prsj|m+hcyJ)~lzo6|WxSrCqd8Zlz*39rq~1UL|S zeUjr@K~Ka6vL|lkT!Tr~=5E1wf!4w22~dq}`+tMhd*yU(Z+)IoT66BWIZ5Sc8C<)I z6e0OmonI*a_g1AWez5h>L^|sCNX@r{4?e~}p^7Zr4VC?mSJHE?Lg(*lg3ND9Z`3~- z52jm~NlT7R!gifScMW~XF41o<xL=3<d0ybHw;5C_hZ?+NKhsUq+BY2Fxv<gYH@Vo| zP<>4v2~Bbhl{Gon)8t#O@o`@KZ*RB4CIa0=xn9(D)@7cs>;@c-`TH2NuJ*J(>29cb z^D$xEM|(Q)<!>)5x1eG^24&&SGzXBVfZdsbO>jIMyl^Z;LIc*bhVf*}8?w+ggu?w( zHMy1<z_}r-0_ffb!H?lo-j0~n7HM#>+Th87(4hPVy-&2kTs$>EgYs3BapI(EE6J(1 zK_dr<NLjFBU#!8?w8LU#d3zc>GgxWxG|rpd1|NccOQ4$1goFei=ko4`^1M{4Qli~+ zQg}16r-P@?S-Dq~BYf*Mz0ECoH`HQuF-_p#5_0D+QtuLXLoHS>*GzTmok3II?eD+E z{)W4uN)q4%U(1ZV<<K77DCg_xmfT|rM$v+sS1Rfs_!4(RE!IKqt754X$)I-K)ziVZ z#SWI+wIO3jJu{BW9`+zjEj{D*Smn&P*`CU$H(rQ5FoW2vHtT8Gd?X(#iX?GB@ARCD zr@F(~*VEE3_6?)C=r9gla2SW;Fb?)q{s_bHf4#(4rFCqu%NxwmFc_|%>JEn6uPV4c z{~T|}4$49?`&uZMZFY$lVZAl6w$P=)_|@H_5Z3kLtSzQQ&BQ~X6&G|sNGKAnPCBbr z>r=`5m|>^wy*Na!B)Km65<l@$YRM;wy;%zzVKc5n@T{JTq2Pnoj49yrI){4e$D751 zi=pJfgC&ti(t9x!-X=Jb>SCyRageva`JwRQ7ei5Cr!I!#xx1wbrqWq#$eIlYTiB&y z<2l}(Qq*fiNW^#xanF_!%V~&YK8*BB&Fhj+3ZIf^`Fp?^cq~~Qx5T48iB!i@X?OY< z;EwV>FA(?~^(CNWjY{Q*>K3mK7enDwfnf|^0=Q|JgeMcM)o^omNUvo#X6(qr`QF4? zOWb9Ujycu0vqPKf=jfT<&+|UbTfD$Y1D)wBu?yhr4kc!IKdlnsnyL|AXZuRbl50k* z*m3VO4r|4}zFhkRbk)T^fWIKKGAMQLpc)hC4%%42`+^LI$*^BFU~~{+eiC#UMyJ5w zb;)~FHdi5@0`z>%&soJQpX4v+v{-=<guvY+>iup*EXS5Xe;<zL!0T@1I%=K!3r31_ zsOEzAAo+{>b;(BsHaHq8E?ei<^FXA^DYl(1k5!x1HBRVS%}|Sa1g9Rlp(pfc9#|_j z6Y7cI7|VC-xr*D9^jz((fyGg3j2A=EE)#$nQQzQM!<Uh2Te|+~gua~TOV3Qu^-oXh z%Pxi$FNU((bp6u~0ec@`;>A$*<v3sV@Fw4(BYL8>nA20jI8TGUAz}4G4AS>$8E`F6 z_JQvYH$WNMmbw8-AHxk$z7p0(u<plKoFU^Yrm*;`!#6<~)+v<m>Sv;mZu}TUNM%<P zGVmh0&2$5l(RudoFAFdK!hKEviI2MD$)-(sV;+V#rfGO%BHL|GHp{~soFKfxK(v8_ zlz7o~PeyN^1mT4wc#kLPMY+mbXdy83E}d`7eg180(g8P4%#GOYA+9_9Pwl>vPIJpk z@9VT4D=>a+slR;fSXxv3nC6!IEfsU(mTO+V)}p?n6VQDg(hjh{B-U+l)k{a+VW%M{ z?M6X-?cz!_@+mi3XdDNjuM{_$P9u9rj^z7@v120f#$?}!Ind)BbbN~XJTp=L?IdKe zV|XhYuHRRXTGhdNG`uzYm0NQr7mNXqF<#`S0e##4%d#=k{SqlZ1jXk$>fOS8M%!dn zcy-zPZ}EzD43`z{4jVbk)~$%4GJ~^cegq<|Wz#=u?oYDmG=r5Tj53?ip3FN0KWzuD zL*GMPrmXb7*H0_bE%llryn{H-rq|u`YQTs~0l7QLVAVmDn-M+Hw$!!abW8l7ohYe4 zO6q<#!1zKiA3g0cjdIQsj|0D2F^lJjVo#{R&+-j@NlqAKe*M0(p0un-SZkE@=PY{C z%v0`MNZO?Za~k;L`oeC5vjS9`X72|i5rK#e+QEoJNsGi^d<(N*$F4R2$Qqdc9nB3x zbE7c-!W5vygVR8Pe!!hv_VJz4;Z(N+42WpzTb>*6hwq~BX|!SZ79I`gAkQ2&sn)+Q z06KUUFQwB=np<Hqf)_S15z!j2wQNO{w@B?JO8LG>?E$62JaqEc-|OA55k%J*ZU%Rs zGaTD!y)aiy1#}5rj-)>a@qo8TMbcv%wI4H?0MwKzCoE-pxJ(h(KTY7%!)=Oh4B!$C zT79b69lohsNHzKAVgui4Bpmwa6D-oQz`8R<IoCHtTrA{b4~TgP#DcWigjDo;gi0SG z(u>|hKQGpgiy|Osn^8QKXjb)*QbhIT%R{x`bOAz|^DAiF->F0@@rBU=`iRqlmg0z6 z@5>R7UDAjz+K<3{=xj#}#33Z=2nZ4_R9W9%o1f4__Q-d^7vL2((rSshSOT<@p*tBK z`7S@(sFX(b-W&MX!<a9D`KjB+m=@=C1exw<bsKsZ7bos&#gV|IjBm+(dI8^(Gjt!{ zs&jTy$qSgK6rQzW5vD1&A6Xqby($x9y*3zCByrIiJU&cV6n?h;ME=zUW)I)GD4HGA zPLdbJF|~Pq;kbe$gSn@b{UD9I<@@q&2x--PFIXfWFz>GrsQ1?h%$2Bl;6wwwNr0jX zT&QdAyRyie=kHxxOMWE2*2|BO3*bj#R#0{)i<zyR{oQ0G?C&P)P=C(-F|j0f>SU4a z&&k^9iH-vYAFF5CkfYECP@Qy&gN%eC@Kn(!wJ|AL$sx|g#DaN!>k|u3l3H2i&swIQ z*)px^w{Q;Zw8TZ`fM96fdc=bLmb5@Di1<~f5jT+8jJm3nMDI#~kjFpK$Nrr3vOg!i z?9WN}lqdjteRPfl1K)^*;y;{78$BL7{laieso#i1!ZJlbdhAd!AbqOCE<}7!i!va+ zuB-zyZsz$1uHsfSde#61oyKX^qtOQoLwzi5)Eih4vcKM9SJ6q@wDT48S^hpfq3CPf zkCN>r&C0(X<3r7@?7pO!!JR`W#pz!r677cK>0kM9k{!MYS7JAya*oChRuTL%MuJTX zc8@lUGH`v*Fg|S|#6r}1Wc=$V7xqQ6zoOO$cb;zzT3ExDfR@GXzW}r%wiZ6Q4QnJ> zDqj7<v8)jmv_6mYgt1wejceaRy!xJ)H4C%##H?BPu_tED!jFnl@A2y8Z|L#rd!o@S zEI?3(ZZP|WALVvh=*W-an{=bOF3cuG%Fdq4vh`bAw4)=yb=`y2^Mly7><XZ9aV;k( z6fhyWs#)@6m4<k)bsSs*CCHf9J8?p!dZ^)Xu4*)U2`g`R^7N2{;&CuW?_3B|-<>~1 z<&niJ0!TjvkTBUapRAz5(#q(o5pb{}ui247nZ=oEO#juFJgP;w0p{G2zS;Kn4oM;C zBZVt$M^Bf{pCl-+Qry_J(p7wD(6HnIDa)PZnB7aDfBJdq*tDGt0M!KMt@VK@w=gsK zqjrPOF9Jvp){BaCQD&itoQp9LnedIm7Bs797JMN1d_4q<yxzPd9Tyk+tMM!nV?Hh1 z{Q+2+BCrZWk1_9a!1MLRn5Qo`CoIN1KM1uBgSYtMur7-+kEuNvr)QBzVvKn)bUs`{ z<BBow&2jCF&WZ42HZ;dsUu%vS^Jdv+YD#(FHgPuHl^FAv)Mn8aV?GYp%n<nS5o4a| zviQJF4YZ6Q?xKUNI-0L#jQK^^AyKHIL%}%e7Gu8Qjliay3oVAk8Li4?+5Q;wbe|aW zbvH*CWHD#d@d}lp-(t**BU}QiioO{05o`|vHyp$aSsc_ZX~ccPE@c#bG3IT)Dw?gu zn6DQENx9@&6=Oa^1CoZ80wmg0W^OeXfkJ`DF|ZOwIhG}imNDj+gHekye`%oZi!mQT z9VissFHW8G&F6=vWf@~$*AVjM;+TkQp2E!2!iXjuDo+bDA1b*BtOA@&;gNR3%r6H{ z3Nx=r0>!w`KFxPIWO<nRR0e!}wG>SLCZT}6s|_}Wna8H5F!Q#wX^o}}VT~3C{Z`j$ z1V0hsves#jKVw2fSf_ge%rAGH_T@sWLS-eF*vz=g0P~=SS-mia*3okD4@LR|%vb9Y zeYhXauTG>b-!#k)RAONgR~t$IGZGXCr>4WZCZB6Y)U_!HDj&2I0KeFzcp&=1D!xhE zqH+JNY}}&Eic*&;^d=qzJD=iVYy>N$>JIO+*2q$7_OOt4K(>|eKBsqTImXjGN9Bos zREY;o!N{0@g$RSv!NE!4Oqe(h(fhcj>i5A0&O^a_PW`2%@^av5vbiOduddUN{<0HU z(nG%%J@gxeE>Y|E&^O(=xn61b1>SeX;oo5kGc32}REKUV-TpfwvS7Sz=;-9e<b4ee zvzgO79i9(|6wn!$75%v?YI{X80CmUzFI41%E(dGCvqPCv>73t8+FLE<=h?s?l8s06 z=s0K)-j3;sEQ#Z<-RnlF6N_}_GwMv{ov|2lB{IIUWM@#hS36Uwmd>1@GarhbITbo{ zGIZud>W=eL0;e2KEMf9Rbz{W4Axl^nCa0|%09Ph|EX?=<xSNnf)lf}7nEjEAQus`X z{2(3W4EfwYo*o|vq*%qpKdW6kijcZRrX2p#xS%7|;a94qT>@ftaUs*9aB)yiaB-mS zj`J$NNN2vG&e*wuR6<1s2upXyrb(ADD%DbcuG$&1d(xT1p)+$5U;*ODmh=ZJn0UkQ zb~_<MWET@(heZqIOhPXsI2>+FLiGlZVXa*LYB%rF4i3Q>p{E-ThV!9i8TY%@{%uKT zs@~>!qwA?pM&k!~>N`@)U4~VUG1%0{YDh7fRKc;jbj?%n7V}&&^LI_I`u0tGEneoO zsgSEaSs4=Qtt7AElZo4LO(<K<gV`jDAPa4D)u&C>Z?5{sbmq%DmF>UQ5bN#7Ie%+s zz<lb&q{5t^d$lSsE*2&>_@e_bI?Ua?iAs)}^LlhmpatePoj|=}Oj_CHhke|g*PZ44 zztp{dlwHSF=X>wDw{QPYck9afX-kez-|-CXiA~HSi5<s7bcBBeC)kAWaF{SFi)G$q z$zHSK;PJ~JnYa@-NyCVtVFU=Gfo2dZVxAnDARYn)G{ISPW}Kin0z~4F4rnsUM45CL z!H8hu_xbK!Rj2OlZd(#R-g{Bp=iGDZ)ZVpg?_Ilg?b`KXe+4$lsjm=P7gRz1*CHl~ z4Tzl&h@A_FowJw;5JT1n5PKHH&WR07GCiZe0}2xUYj1W6u#e8g87_rBF49I&SAeE+ zn`rhXb7hVx@WP!?(7G@Qp3+fhtw4kh0-f5ERG!)p+B2&aLHc;ca$G?f4Kop-XVRRB zVTs7|KogI{ax<Q9ZYc_}Hbz7Yf)u|X1_uKM^Me?82Fm#e9RVJIz6A7npd*2ANFamE z{x;lIi>I1vQjt+rv)3^t9Vj=EaUj$8got!M6`50e0RvUc!E4fOybfY$x9||ES({;k zuGT_fRC0TTwVf!o(#7hRZhGTrg;k%UF5EIOJQ644ayZ=MOM<SbRXU~JJ~pl3eU*PW zLv};vT*SwC^%^>yY4cKqi?kG`f_q<7?xDvjr+i*&p1KqqBQ>H82!8YK2e>(J&ie~2 z4Tqo_+osV;Bv{4lZO30wwDFbZD;r;+E=f6ZAReS1Z4g2^S>GW(Z{c?0n+n1>$_dVj z{-)xMfFf}pe?`a`BWtVZLlM*JX>b`%zX+hWU7~K)5p{2SOkI7jm*A1x8s~%t4005R zC&E43O^T<&y*9J357WwA#86`=p~2@bM&hlCfsnQnO5M-hoPuH$dw<kom?TFHk{zK} z8)~nX?s?n&k^AL%XjSx@50o0JefU-%x$Pik5TjXUR6rP1GY<#MqqIM>tz$+4(`qY) z9af%xYxe{KZrX$^ZtgYxNox?|hU!>~Vr}X>45GZZfj?>;-`kJ|d|pE#X+6@_*`^7z zNqCH4)Veo*6|5v)!}^(-sErV{L6_(Uql{3Nk~bTU+P3{m`)I{YjcMN?pl<1Y@m4i# zVMyx<f3>68)Y((39Cq8jzVTuM#6R47A>EkV(#Txk;}escyY!!qCuYE1?J+Is!j;5k zbSJuWSV524Fwn+HMv0>~aj}x!_p^R~Q{%>oEvX!_R&Av`<$YG}b5`!2iK|k%ttzLa zRn6+aH)$s175?7WtHK8-wx)u(*W1d|K!HP9K~xL{XPOh+Qb{t>k!=%sYgVUTR#*8! zgMGL;u|1W<v){J)Kgn>iI%hcwoVi4EVn-^;nYHbTO&-)a_nNxSC#>Y@=ETlaa+gX< z+F5%3XLZS6HR!9&iCwAW)han7*Lrn2tJ7O_pqRKimApnJ4_nFAZ>a116|3`TF>y^Q zxmzW*1lg?S$#@gV`LEQVr;3T)so)+JJZ%N%zOgR&q*b|6OzcS|uT{xaD|s<P^VeBB zRHmniYg5UWsN?}TkgKDwsO!8qq>_hP6E8_6uT#mRR&td+D-q2%sUZ32uS*3<w9>A~ zrzwMwYT?T6y()C7HBqKQO3xDFESgizihoLgQrtN)#Ux!>dZ?sqo4@`X^E2I!^q9=A z=m*!ccGcr?<pv^^91paYrd_R|1OHcPzi=^s!$yGQWmlk308|qB8~|OvKA`Cg5VQRZ z(9Ik~H~zAX09^+lrvDMp?KPmi>jSzY1ElDO3=%&9b<;+mSgNeZ6c9l@P=k8&`k>yD zfnu9e4vL?Edg(@>t_2i{;3B9;Yf$f4AJjWDP_xKd)+&Ai>V}O#;o7v|vd~lWjEb?V z4zi}S9#b45!&l;pg??!K1lrea1Z_9aI(5U2WzZHkfOb5GcCsHDKY{j-H-g5}Ks8)L zTh5?8y#cgSIW$=;8727%w12b_w5x$eZl2g_XESK$Hh^|Mhlb6TL*pmVHWX!++$v>F z3jH?2XdL@(mi5T>`i*^-b-xi#kwfDr(5~C4Z99QR`k@Hza0YE*187HbXk>`Yq45)F z*KPz&c|OUI6rr8Spq<<R+ENZ}xgQ!ofwp@iXxo7{UPC*bK|8YnG-j<eCC~Ol<0sIr z-U!+@piR`!Rx@Z9Hh^|9hc<)m&v=rbK;s~q^%Xuz<*LaV+5z|?a>+c4JL_@DL88o( zbRX`A#!sNJ>c2iTGTc=<QYrA{(G1$L4WKRN&`$J2<0sGv9#|h5`SYr74ehB6+VTd_ zp3b42?uW)tpb>DO;qte>hXiB)AG;|VnzD>@!DV2vat+(xsu>jSQmh8Qvlz_en!!}D zV_#3~Xtrf~FNNgr=Jr;YuvUbYs7`YsoH={KqwX!r4B?h7Rt8gPS-%DLK6dS$6WH#u z{P*;1s<6$ST384}-QO~w)*dCQrogTew}DI!&Dtn$UMg%Y?x)?Ie!V>T`i+sGcyle& z91mC9&@n`UcjL&DnipH^7V+o)*0=BrQ$dDMyL+!=cKc;wCjMEA*{zP*%OhqtUjb%I zW|_M&*Y3W_(R<xxqG#umts&e!j@}&+y}eg}o>sr2Rod=eRM0sc`{v8UPpV}t`5tim z-Wc(_{|fM1G5p-VZg+pZ<M=&%nfOW3uEp=Ij^Be3zqecgesZHQ^|6^kyZfY8_n_Z9 zFB3lvJ8SWKhvWBX#P4lafZq(pM4a-pyZ_43JD}XKy1i7v)gZhUzd3f?s*c%a#Bc`1 zblI}&Gg6<wwY$F(NO<^iag<rI7Dvlt3yud9j<Reo8%J5UaW>lS&av*NZa#LoIEG}M zqI;$Qj|Ms(NjNTC364bCf}_u^2{8|JJbAe|%5+^z#}fg^;|a&bE5UKeaCA>WyZeOs zjc#f@eYrTwm|u(Ia=`JagyYhc;CRY#biW5lD*}$sUM`NB-mJy(Ou+GU!tvCV;J9Kq zx)-P2{b1<p^OuXGXDc^7kn!WWfaBSO<I0ubxN11MPpX!g=PnmV&41U@@nXR7Lc($N zN^o>9lRMbj-QWBAVz1=-04|ct(vNZnti^FoAxzSbibJ!}TeGvv);*e`MQ>rd`?;te zFBeC7N7mwKv2oIm3CH;>!EwQGbkAoSucy=TSdJqe=;@+15V5U;f#_?VEN$*LSJ7G= zkCF#OA0H{E%;~SlzCcI%+-yXyW+P$*ZeSyZZI1aSXvlFxK`tB2X5En@8>3pLwDQ7a zOIz5=a$5h#t;OcYN0bM?`%rI$td;C+DcBRwr8zZbd0;U?*|v+@yjlG&2T*M4esa3l z8~-U)^++`&6PcrW#z`Jc%SVWt?d{z6eDjHYLs~Q2$*Rf+IGdLY)^B-)!)-{!tifgi zhQ!T0$$y)@zLwQnPLjW>*DZ%gt*hr{6BIZ%zJnXPw`ISu_y+C-fOT|xPs%3k@XFqD z$W4<|Y&eY<SHoto3gs*(bXM-_RF0`_R<1Qr-!-WmQ>m<6d!XFzRE`s&vT{QM<@Tg< zoWzus>kO2;HkISl6_tY;ooaZX)Jv?Cjw|NWB?}n$`BJ&%$$ca5EjMcga`qOs4G>_^ zCN+BRD$eP7`FrV^+ul3d+gV<{@9Vkl;=G^f_s*8P_x1R7b-8EX9<JBy8=2EY>f+`n zD7Q=Z&ka8@O9j*1f35WdwcI*4JNr$I2B*ZZo^VZh?Y<pU^OAjCRqo~Y?GiMv29#!D ziGS9Bf5{G^23b<*-eh0r!a53Y5I2yV;_MgxywUv$<@;7f34JqaM5w<}mwy{uAI8G_ zv4QvMYQ5hS-ftRsuP)a6@$i0p;Jvz5?<d0hiGla(QoWxH?<WV|t1I<>b9ldb;JrGL z_YjeNwSQ0D!%ncv>7H&twL5^S%U)4!3GcTIy!Wmss;k2Ls|MbCR}|IO@P6ySd+&;( z+7{k#8+h+sQB>Q*`|Shoy(@}pM|i(u;JtSRdosiOodfT^D>xlMn-c$?x&o)h<#ffa zfa<ORRJ|)&)z#ts)dTOnD_Yex;r%rO@4YKp)$Z_q_rQDa3U&pC_j?B3dsnnL6V;{i z+JX1p6)ny?_4h9sc<)`&;+#@{f8D@)?+Q|1R9F4Ib;XX$>WZ?<Q5X~G+H!wyGb107 zNO%QP4!A9hRTl9vDcx&Ym*wvldTjx!QDLwBnm~~8s(7r|sag+{zJ@IGkM*|belm^1 zTguM840c;JW;RPQu=of&US0Qyj*Z~twNBMmR(2_WQsHbZCm)*Hjt+h2ernSYc~#Y# znrtb1`}TXaO+O5~6Z?BxG_aC&hGAECn@Ms&K%c#51=ya|Z@aveF+ftr{Ty=^hTScd z54&}_9jP3{uF9d&Y12S$TdWjOV!ToCOd{fh5xA2G%x05qv`h&nNQkw++)+(F+S@^m zBagnl8hK1sVu#~FwmsV0Qtr@`ih=79&c@qZT|<dokG=iX6d{%UeswK_7>A!+rR>>P zaXbTX%?28WdP9(oh#v5IgtOhs(e42YV4p0vR>w6!9b$k|H~23NSL%)GsW^CvzSZgU zD>Y~*gR{;!=wg&Hek(i9kyz@BJBtyIIi4Zrn9u?(WZu@;jH~>5x{t<TL9y)W9!_GA z6-CDdv(e&=xAB8Oah5uFakVfwvn<m+zQ?u#iI)|c9Nr()s%W@h&^_)`f{WW4!e<mn zd`u4yG2FKm2=SNylq+iy4CKrYSX@2au1^lq??Zio#P+4iUU?uft6wzmG6RWQ3M9_Z z{?l(Q+pJbAkeKUFra)p4UQB^(MqbvRM`KVS5y>qbs*qLmXH?{kPK`C<DUg^K3&gu2 zG5yu@y?nh2B*p=4#=oslWBgkuk^$EOiTUc}I>^+4#4UyXWXODeLuAOsk|UE<%l9Wk zAh97s5*0&cDIjw)1QHWowY)(faZ7PV85)0LXh2*=d=p<(W`V@9nh;3bRv<C#2kTf^ zT8K`xMB8A@vQ407-4}HraZ7>38QhKg0z~rWXVvokL5qM2eQ_A>R<r;~uB<N(hCpI{ zzYa2WAaP59#FvDOiAl{ES+#t>kRx+6AVWeWLuTQ{0*PB@=hxEt*>4r|Df?3lB&Hol z6iDp!us~wJZ7E_AeZjGc1QM?V$VAE-WO8$5ZCgov=DbbyMIA^?K@SF00wB5{aSx$+ zR=r{k55ZglWP!xMKdwMxuE#8pm}niC#sZ1$odSuuA-h)$Bvz9w;4K9b(`5=IMw$i! zi7gQ1c#C1lqQV(d4XG@USXBox^FU&2X_R@QODSMlEU+T|2lgnsTa?kt$aBKtb&1Kb z)&c?frrFaTNNmLy75;Zwfy97Ka;i8N)W4-6s{@G#5R=3P#Mtd&h%E=imLp=w`T$}l zL2MaI1ezk?9!Ttf>Of)xL?E$?GhCX&BNg(>TWNjMlp*v_fy7?84kV^n5<Cwib})4y zv4N>~=cx^$J!iR-SgzQissjLB3$B0@>u4s=15G>#%dIfX@?DZP4<vRB>OkU+F}M&g zSRKT`MQ$}hM}P;QF93ZN=pm5ULDqr9;^iQoG}xsgqw1PKV*8$EA|nbU4j2<i9H=6j zN)4q))CV9I0*U=Sa%S>LATgg*iz$%U9}}G`UCj8-=-wO31y_1Of?K7C;K=Y9pTpx8 z5gf6U{D(l=c6H9fe>E(4Z{;7ZQ2jY!mx6>bECz`Qr&^FOyybO;CiasYauc<$x<sUp zye`}jO5C>aU1H)=C^0}-^@^dyZQnsxH+#DA2||fKN?kIqZg(!cl?$Q7(_DfkLdz<Y z_-0-3aC{S|`+*`AJ1G+dwDc0r%@I=k8jCcjPVg%R784G~ub6YMje)38;$@)$M1>3= z3ik>bJ`(QFF_<ofdk)o9_G_7kgb@=I&gwc5!j6y0iEktik0oeqBtIl)r<LjcQYBr0 zJFzdcxJ^nWMHb5_r{Hu7LN*hCUUjp^!iu$1$okMijg47CsBz?uU_cHSQ2n9CfvpLc z@KEFQdmz-<H2Xk*(-;di=9?t=rbojt%X^ry)=M5VoJ;~<Lrv+$!BAt9wy2%sSHX_r zE2v%%Dt9T=xHkC`JyB;&UkDDhDB@4<EH>2}40VoB6Y9bow!K?C+Vmae7{7F%C13A8 z|G#k)jCFPhrh9e>g0gMVO3yIj)BO@r5!y~F<DOlDMKbOgHwxPXARyhJQ^?*qH}2W% zZV}-uTKhl!KGA2~+n0QojQa^M8N9ofvP*Cj<DUQ4oa58COR&vIGo0-b?8vy!(0=x% z+LUU$1i99`1VQ*zAc5~p^NQ+Sf*l$6Sw(+DMc(Mt*ks)EVyQi)e3kvx^8Kk`+}mk% zXXpwgzhsvnv90wkLB4u+9b{_bz9SjSkonAp$k<5$H8NSXeE)1P?hP4s2^umh0hzc< zklc@Pm!Q+6-X+-a>;>8yU_9|BhKB7DEVQAZ%#8b34FNNf{UYoVgmqLhZas>p=wOs( z#=XO>jr)#_`>gpJ_l2cFsGFZv%lGUmGL2--$6T}KvrEwWBJL7YU#^2pZQR>gZI^@$ z+x&CJ$f^aIr5u^%fDF3?4Vk!0a3by!bc)ow1Us@cG9*6xQZb)xL-KC~+I9TE8< zZAVrFeV%p+8X2Aokl7`eRr{%zsvfo+DLjQcWPG$X?kVWT{W#yKQ<HIT)rVbz21sry zRbaaWx%w`_qTVHF?_}I_lkE~zlY((S>AM6G9~t+gnhwVOco?98Ij~F6kjjjERUO3a z?p_;3Y%R@<dkUBqOUAw05qAk%$M`Nmj=-?iQUUT!v%|P;#V>!CAYhZ6`Z()|)yBOe z)`>C#oQN2K>(+n1OArkm5kuAo5R1D6p(z6HHm?J!je7%xaqr>`m-ZR=ycI8)%56?@ z>MW=IVcdJ+p|neoVoC6N<JzO=U~1!jpgn3sAoMH>LMqaC2@U{sEyx&2%cv819%y3R zCCGP4+I)K97}Uo7#u%_m&@k{_f*A%ba$%RC3Ge{)xJwWT)QYErtc`o|a=T~ZNrP>d z;G~TE0HWWx&jz2T-M9}J>qHXo1{wF<qU|h2N4-nX-x~rj0j4{HLbgi~yj*Ohi_zsW z2(uJI+B?irK1bJkDVYY&?irWIU4m8t1!|Sfk1!{YR`9;cKMcDB<H1Yht&L2ZmkPTC zsW|QuB>95%dtNH+5;Qg9#}tWHnD&M366BQEWZDA+vnkGDNU+PVxWCvW`_10#e5?J) z_i!oF)<JQn>7lpqcv8CrxtM9s$!fMs&<Pn#dw2tb9jgzEN=hc*C1~gEq@>$qjmyk_ zPFan+1Px-?C203ym!RE;U4nM+y95jDFaSN}r_UE`!vZ*VP05zc|H#hrm7gU8+<$uo zQ3lE4#QY#>Oxzp@D+yCf%dnA9QjOL3r3XU7qOfn!dfEr{v~SSZBN+3MAA-R+U@-L? z^MQ?J%(nwCOS{;XLH#lP!c}Y@_ksG&yC0yrehyD2=%&!au*!Sbuhv6umM0T{*T_V^ zZ_un19wRliHjZBfyNTBbLp_L?F<+Z_iL|IMk=Dp3+!xHKKen?Nf4r?Ii>3BMJwF^2 zdm7)?6Mct+o-5Rln;Kt8hl4V`lQ17r8p--}(DRo3B>~k80xF6V^iMVX_xyCw-$u~q z&Oddzr-MEXm&sJcFB^tV%RiFtHM@wjjy1Ci450OA6*Prc%b25I6@efF)S4RJM<9p@ ze3;FmbwlvDvAd*BKw^|o`4N?`h*Tj7i3N|eLgQ)vr5qGG#sq`^)=V(`cy2r94LR4$ z2^Q6;H&p%i)u%!_lJ+>+`3#lNl0W0*LzWSm6EGgj2pSv56mXI=jCyvU#=lUFW6HtN z_Nhxv8$Y&E#84$hgkYJ#Ud&<%&RM5^n{s@D^@Ktv0@##;lnOTGfJaD7G8(W-Hpe<x zJuj>*K}p-^K{ZyNvJ)QH!^({B8mqqgZSL_*#LDI#V6`Id0xRYomb+zAN2d=`=!d@o zE|#T4XOZ^Ne8q4%gl}R<ypWof%#U@dd%vm+=b+-K$h&Z3f-_X+1n;Zg<`s$HHm{&* zHm{&*%q!xlrO6~&2dkeGR^jwgo9xsC-xw?7i<;nl_1gp^VYMt13#@E{0ai>fZ0fby zCKzi-ek{Yr@<G<v{E;%=qdH;7_%X`}%_%5p6dL#Gg^5jg<O#|2(E?7X1+W$>hjj%N z4$H{<zz+}=dpU0dXDpv`xG6#a86Tn2`llS6Y@wq=4ANBBD`3jOlm013JVW%fC5GZ9 zQ;wD;Cb5sTEWy~R^D444M3E-8lK`=tsO_bE%7I@u@UA1*{X%Kk(_G?RE7zmP-Mx<Z zpwdz*$0@Hd;Mbp7kme&+l;o>7Vim~-GrM?w)BmEm{}a56p`ywAdlUA#x;W0?Z8(<d zKI9{c=$Ck&6nw(lPkP~IeKUN{$Mo2|Ih|eW9g^78GPOkGl8P9+X+Sia=tbC6{pr{Q zI+1{dqI5lfW$m2_+U!u<5B8>kW-@xA%(k`X+C-H3xeNB!IL&<Cl);8i$vD!aM`b5~ z$IT)FYa6nfwfDuCHu|$eDo!3cSz<+mhj{(oIq9+Wle2PsCODkG(o)h<ZZ&%@{nprV zABU7%z{B{Hv!x`j*V^6dVuTVh6U`&1@6)Yt7=^JlCo4RPy8H5Xb6^M7<y41?IJssw zBW?Esj4WF|Fg0w+6s>WRMbPSg;=8;legkWCKZdH6ncsazuOJt%bo}NpMyuPs`<iHA z8Eek(o>8w>92)6;XxFtK(iJ?@Qt(WY9WN!j&<5SCPML)*{?l=v$}Jkq!qjd%+MU`F z=dsjo-kSQ3d>5@cnTjY#UYmZ1{2gD*TjZ}NF!n=wiDBrVFKhsg0vNxLnaB{wYxDd> zUqfalQXjSobGxR3Ye@`HAFl}x=Jk*K8&!<WC7Ap)>q#2>$Bv0HQAkI1<t$6Q{-#tH z0>cuVA@9GD6!Q^V%PcPVw&vJ*jL#qdkq0g1K;cZAo*lJvwnC7e>0l*UxbZ>BrT|SE zrO=mjg@bRl#UHyZZ?Ux5dWue62nE=acT5oxlRgNMb(R-q=6?8F%a%_H{Ge3@DtA|2 zCA!7aHseYJ07o>7#zYWGM-cwQew-7Ib{XP?^q|dMhmd)Hz?iNlM5;(Eh0BAO=>M?2 zn0&k?Ykk%C6Bc_n`iBL7a$EJ+4TU_lq#7jg%FE5UH!S-E5@|iJxc?TSt886qN*mJP z)Das6T8g_MV8{sC18vm=-FcuTIQz}yl`1*x$>PGd_`xO0G<RDqof$HmgSWla*r1 z<<sY)XeE(@QVrSh*K>h?N-k8p2eR$9O_j=`!hExs<_UWaZ4C@88p>fvzL~<fkJQn! zm<SmoD#~X$f<R0fDZN;(V)h0u+%$Udq;ly{=#8QqBTJ#svu5`z-;Qgfuf2V(1?fP- zL^m+o8;-mZ35)=iVv&Yhip4c;58E4WuiH*`7Z?NW?_@QP2ei~EZ*S-^)^-{_&er0Q z6QjpLS|sBcBpXc<*{*T2ZA~P*%Hr*X5Pf8X>TBf{^eXLIr(>02l8zm(8#jpI6?H5| zr_qKk`n-&xt1(^GQ7{W4L!u~#JTE|kCzJ^}co-EvJW@+VIi!x~<iXG%qjEr)Y}|M^ zl5JhDnlo0v;;t7)u<2-G_nRdK(=4^(8Wy{&z~7?FaW6|!5Ew}cG`N&5XYBjCYaP7G zagsrpyWToEzDNEJTF1$8m)$xIy;_BE&Ymvb%=zCC`~j3)PiGA@rp9<{&K&N?l|)K? zA4(}nDDC+hSCanqxIVPSNBfZ3Z1|9(<JHx0kKItHK>;Et?K8_xr8^{30%DxWjc3Oy z8|t$*7oBiGeLBl`+`_SLYWzzbK13~#%07Y<r;B%>jGNd-vQ^fv4N|E#sbFfUj=%ro zjq3X9443Zt*I~50;8()IPC=T|$)L6^MhXW}3Zt-|(zZ6y!#vkO8>A1`4G;RIO-P?= z2Ab;!+wEiwwQ+-pe4Au_NDj+d`u+w_AOqyatclXTWSuLyVk<^1c)Of6_gt3XX?R&* z*ItR>!7YuuVN5#FDUw)28elDJs56b~O)<4rrlgw`-(cG6H5$m9-E&*7fuPuG<fmgK z*4BUO>ZOwu?I{m5C-gyoV8oi&o+%%(4$I6Tw6~miy#fGi^b#efb4pG-C2y=LNiVJ^ zsaP?L%o?OPASRC3T^Wq^h`kU;>_{Br05-*UKmF>Y9BEVC9H&*(-U1P^R~9<XK~QuE z*<(VkiehgyQni(K$s$A8iz7+lP&xauIs-4qp*3LEs#elNUvdx(8xEYrK9{$Lc3_fG zxGt#%pCXcl;0BWPg?(|z=P~`3Ev#!GirGkP-an^jXawAtEzDZ}AY|R2e*;DgtWxUF z_1*t^FJf#HN<RgyQT1p9evGQk%t@It0uhPO5SQ@L165C>TO<5@wC8tP3y|=^UN+-` z0#N*OS|c+{4K6U7&qy{j)xa9$K=3W5MW)~j*;P%8Hm6v_E5&fbzJk=6!r7syn5VzF zGp3+k#hKh9LPS}h<)2V%(aiKjA%}+YX@uo$4p0^q%!TMwQ&<RAdwMpj;W@mYH_gm% zyZ}ddp29*7s}QqX{^H^O7-u7g^(1HC0~Y1%R)Hur*B2IIU-BI@JI*Y)qU6ydcy0M_ zjn{VA;_>CRMQk-vjaGmBsipqp(FyIJ;qb(p8gn6e^bfR|1IOgi3&EeAS9DetnUl7V zJ2Y$m2dRh?D`<3TtPwCIkDe!*oKB}mRxRHno_++VPH{EHC0g|eb*TFm>g3VK)<Ncf z2$?*2bZXTvZitK}kFJr)ss$O66?NZ(Yu1jGHOT=P-*qZJNy(#6gqUw9?$?Ayo;*6C z@vDXg#8n1R!uFUTxQ9TL&_bHLyhGgu!a^*0G%P4no|2)Q`z9gUY+%Q{FHZg!;O5Dr z6Wopa!g5H~&CjX@?kp31JFHcGaRBaC<nWxX^u=tQJQ|4zU0ZY54}KbC^5oH%fDFU! zbWtOdRSPm?n6HsJ6p%R>keMHh`Szap_ZbqFJUSuqn{w7da)hu>9(^z*j|PR9Jeu1& zdGtI^DEUK024cXB49i?=p<hUR=DbbyBejo~f{d4pj7lD@PE9^qDj|Rl$JQL2&ghkr zM;{5vqYsDV(aOpclSdzEX$4Rc1SaOAWjOM<M>OU@@@RT+Am$sG_@`SI^L->Fj|Qpk zC%!RD9vy|#!$Mq11(_%2n+i;eh2Ga3mtEBdi1|Loow($v`6wA&thF>7`KH<Ea34o0 zzCaku(aVbY25gek-iVDf=3NZ(zZNm6kAN7f5QdlsqobiCV#xXcV#h#?V06(G$@G|S zr$CT!PacgpQ>TeDT#D!2MOv;G5S0Qnl}q*lt|56ebjE1%f>taEUa#Y+o8i<d2y|*s zQh91aXwPX3ck$yXi?|*Ds8u0GTB@@70P;N0#93JGluT^oE(&o>9xV)l6u%$_M4cN3 z9(A5!ps)~3n+P2N9)La%bVZz}<k12dWY&{MNAXm1O)4^~YB^;fd9;f+G7^$U^La=f zt!|K~OAX~VAcjH-4|y-MQ}Rhz2xdaHkYc`**h&`*#S|72&<fd|FPcr=gB*d~GcJe2 zL*8b`QPS_-Pw6xMp|pbcRsP{At=tH=5ErgFi8F0p>IBuFQz_h;P`Nk8ty4ZPrRecx zl@f_Q^15(i$)lBCk)3!cEW{j0F)GCDcqJ~tEW)6YVBhGSKFx(7Z!HFqQ2KX>0{=DY zS8pj6<7RFN_%3y^sF3S{p(tIaV<Nyjz++Sh$nmQa(I)DGsX+RLYb6DP<507xkP`tS z5g)C&a8Hmo34k0Eg1lK@^ZR9<<05wWCKQ$)BE)?QaneIDDoA~+ue%@m=Jf)+HP!2W z`aa1Q^x#Jb4v`noI?;zJDFq+R)n#r<h&RM{mP^{1Ay|t8)>3~=NRX=(6Ow+10B=(+ zC>T7oYr2=l#9Y!z%4My`F_rf=^hPD*Zu>O;^BRgt2}WnXnJ7FqM@Lk}@vC4o@ft~B zaEe+>^Sj!<OW_&lF2i}%yvzSN?dDt|QM8%wC3`rBH8boxK?Wa}Jjp(%x)BGr-@TkW zTo>sC8G4tJEfPQYctf#itYAqp-`>uJ+Dk5B5lt3nyqCcjjsB(V-lj}((Jd=~PWROM z9M?1{xS)rtaIH-Weu@)irVBFIFzt>1^klV(gW5VAgRa=y3NIPful&pysy!MOHQh=i zsUd+H|M$-k_Eh-MCPaj1$bHUEz7TQ=C2Qqf1a43n`FBjUVH2PHE~E)(ftkXP)Fzr5 z?L!O&rH`)zdgUmfha9v`77|@H1`UP@G;1pfG`n(b)X^+W`sjEFlo-Mspo6`w|5X5k zMQlT10{A~;TaEEonRa&KS7nExV%%20h@pzyo7MWItX7lvRI8th(nrBy8rd{M6htg& zP*yEHuw?C`rK0I_XxLMsVM}qE!9x8y$oz$n33j%5sxJW<6Wbb@tXhzHI!ESoK*l@^ zQ2A*Y!`_55>vZtfgv_vau$>r_kePXf^OVb$4t!(S1JZB8NxE?Zh2jGy!YaD^OkoD8 zDj?t}uw>oI-~S5$ophjPaU`IB6+4+$1Q`ooTdxO(J{Qms@mE88&j;e4E6jH$?WfUY z?X&~z6F5IP#)Ufo>^nJT#tb0hI!*D?&@`UPxM2XFv4In`0*Rk1*zgJF7YbiNyI^im zKRM<(G9$Tcuz*k-|1(t6KwWdr{JJN{4A(HHQB-F9Kj)3K(SVa<)WP1xQGMKP=P6iA zqx$&VcX<&MSKTErFyrS1hFJMUq>|Z->t?X1;zQnoQ2`p@ZyM-qg>^23=nI;iR7gA^ z2Hi^Vkn2`fOBci3Vlmc;ei*3nI5jTTH7*rkYZB=M4N9DtA6udDFbhyaAO|X1qN1g` zqNj`A@H!Qp3KgA-7$Hmp6+KNwr|ODGGd$uf?HJL-x!6Q4RnLSPop(UZWhIV$V$3tt zI8)bnu3#sEH7wOAwv7W4jOLAXbDSFC{{bA&QRBQOK7qI4yY80)Ptf6GmGNU#MpI*D zpv7HN9UM?DVhphXjk~7I$>3VinC!D}plaZEe?Z5U(6p{S(TzQUe5U6sI>c`lxjFxT zP*^vgeiJtf@riCe{U!xm81GF5v}uxrN9Fok2ZyoKRIgUtR7TWQ?LetTO0B5WDKDj= zZ)Qy?i5n}SaEzC#WjpU7$@Y>;EqW<UFP7HSrI4OQm0IvpHXT?~>J+6GR7#!l5t;D1 zF%$kYhIMTdt?)~}Qn!mZPrkOW(GJBO2q>;$MkDbMYPO&*-L7z}Q((B2Px(RN%CZcr zw_3h-D~fkZyn7q(W-)EZZC1Zn<i$IAF`wJ*s%?Q6W}c7VVhg7@zi@W3$SylQY0>N~ z7Zhvvv-Mdn!eRxd@b_G!i6u6Sa6#9}yKXpk|LE?(2B=W29w`rTs<>O*UTHK)CUy~y zYY~&m#J2Sh+}yrVTeh{<@N6w=fbLMx;;s7!C*W#WF}Bvt4?G~1j@3C$+-Z<bJC(&p zK`W=>(93mHE{@94tPbNc)r{$Nv>@W^U_<a4YSg+jzCKRnCP2FR^qYhYRL?9#x6aYY zUQ9O>tH}(tgY7cy4wvb4<VzWkd|@8rN4~6B-sy$y#jwY9&l4$Paox6#q~zmoi`K7S zq1Uw3l?RYDyT5R~uQT!YhdPXJCw`38#iIL#8wrtUR=?i&>!g0Q;=A9@ezDmhh(r%M z+X93K8x$}S@*oC6`iVa2jf&IR{&q`CDv7lTg`ou8I4)j`n*w1mDV)}*-$Dmp4Lru8 zD+8%UDQK!{*)kznhs5pfCkfqQo2v|bRz?)Zqa79m2O{Ou;$~<JYx9Kjn}Q%&aEWb! zu&@p-n=p$Z?C)7*NWYl5T0N<TS+p*(l2IT$-nUtONr*N@n+83eA=;=BWzL@hY!D`O zg6k=XmI!3wH4x}z(<y|KDx?prT=z%siVI(A=k3~vs{^cA5@cn@7s2R3MG6GuZY*up zn8jlk1b;!}_TIwQa42XC%ML&?kDa907B$=HMDO?$tzO%TAuvUt7+=x!@Br{o@B<g@ zKsbruhZdEvv}g@uxtdv-L9a?k;CE2g_@c2-B=uC0mFAa*pODZL(^O)Hn9lVP*95%K zPg-gwyf&iLzH0(ZoGH5J!t5_FMoY{6B0JF|-m^GyR1=n*KkQod^+T^oekhe93Z<y< z-vDu{6JD8%m4TPWAIB*`$7uyul6OG2EaAfDH{2zLt!{I+M1?OxIVw1SMX(Czgt{(p z+x^)63Pcp|<|raJhNK>6NcP6UV;{+cAA@ab5{g}3HicB;)QXQq;-zK}%k^!b%MbZ& zR{8b@HDMge3j!NwLhsR2j3nw2R%;p2bhigzk>Am`V|Ew$sg@A$POA2j^e0Ez2M(hn z74F0vm<y4?8ym@B21V@oAgJsts-;H^<kI4@5{M-(2v)b#kEV+v60+n;v<B~0(;HeZ zrnOoxR*W8wd&OB0Ab1FbyEKw0gUBlhZx}eTN_?hI-j-Iu8Gu6*k=(kyPXxV@L`j%Y z8POq%uz}pAOEe0(Y<q-_iI5A4L@0CzAGt7@;NXw64l&7TJ&-7Enm3_hV#D^c@Bml- zXsI>KJrAQh2tGlM`Y7CUjbx;w`~BDY`UxptPe0x0t(j&Wv|m4YdtQw80*U^r-czev zR}7iry2S2z0R<<m=dx{4GPRCVn-M>$mRiS+xQ@d|^AD=y@L$HEOq`5c+($E4a{1^~ zn2{J`I71f(MKaKZ@AMG{1z^H12^tt+woSpI(?z%LKmuVgtXykD0*OnGSQumdnc=8; zfx3~%44ocLeR1qrr%#$|1|8c|S}RL6<jjvJWjTAeR+c`DYLi76FZ#5GO!dA%*r)?E zzIsfohFlxqXwo`8FFz)<P|h72-9p2ibV<GBIvNI&A_)3f8Un+_H15E-7{oh`izd`; zB8fsB^ewv6wXDv!ljg-!Q^$rF>NG|g3(sg!D7&V>lXUnHzLhDIFcSAElx!qsmK$Mv zcU|I8j5!};RniR@5x7LK$dgJZVzJE19cbx9<YtD86qF)zg1P$1RJ+C*!>G_Wqe+K_ zkx1$DxXZLbLp)_mE<YAEM3^R<vozh~y(|=Cg0n9@V=X(~FX*0{v~e)b+_k2Pj&Gyb zx^vfayKED84f(!9q1fyH^qWl|wL{rILvc(E6I`N`$tS#I%f5iKHu5qTOcUbS<T%l3 zvW1s~vl1H^zp&6k+czgR$c&veJmf>Tdt$gc_v5(eZmcf+1e<N2x}%|iwJ%qRPBb6O zf>Pp!KWppf_u2MAMWhsY7D8GXGm^P~+iR&KQsM?ZtL1al5;t-L^1NGJq;M2o(1sRR z_18&j7MTYr1cGUTr69DfW?=wvRFC4)@~=*YuFEm0!%^b)Ji}!6n>WJ5Qk2w~WOafG z!NInGWSHO_HcXZRCNcjYy+L|1^Hn=F>R6Pv?^kyI`3s|lB_FhHEoI!_q}GHw%8o5v z6)E|kZ%Fb*J9h&^u7h#eI0IS-qO?6fi38oZ3(QWf8=lok!w=%%NnJpUl{FlfmUThQ zJg6>Q2a`Gqr7a65iqFQFm@w6tWOec}zN8wHqX83KorVdnPC4ON=*-S9AB)S`wu{xw z8K=dk_Bo}I(>g5)IS0Yfm~mWwXTNQ0p_@(_ncA!;#HcvSkq!{hF&$u`EM6#7yu&;@ z9=Go;;>a=YaI4(x%d|LswlQ2<nvj-ufZ&ai{z9KcgUTu}*D!lD>wRuf+C2ZC(Xy&z zLHNj&PLL`H3DPnDpHav|F4)XtPA%w(aJe<(mNUgKKmQ+KlbrOzo)}16)v+K0h)H4s zV#M$mVxIpGg&Gk<)&>xZ`TtxvJQl<$P{)E8AWIQ)hOU5JKqE*CPH^6`M^14`awW0j z%ws`Z{9+uK6-(?NGm)r0bu5UtC#0XfOYmZQh{Q1A@JNgSfWAZ6V*)@9sTycv%>T!C ziS4y>ut{lQP{)F7i~;%o3<J;qmto+hJZroF6=~K$H?J%Xwv-}7AnRBV=pIFd2K$(! zrG)@OB9b-%Dl|Drx}~-w|6jn^Q-r7+<OAm+k`7GFMOOMf7Q`#GHp2u=)d1JGFY=J_ z2AhwZDt$9J+ZuU@{;1}>lnjEtU=8&ZK}8lZ5^;oE0-sQt2{9zH#3bHV(fZJbA^Trn z@(*X)yp-a|E~*6~t|T<Dzq@1hKhqm>B>N4HWcCg+r!BJVe@I57&i+>@pB>XHn^9`^ zFST*I_xr6}ND?y5g(M*%DWJ8PG#xF*79|N`zi3Dj@^T?b)lN#66@K6VH~)!SU3vaL z-w7DQL40l)^Z&&pAq2P>L<OM8H6p^Xc;`C-xexjO>^Uw5b8Cfdvo=?dcGd6h^WPZG z5w{i}wY_r|@ey~}(QZ5|&_bagwqu?y^AW=KiYkuNw2BYh76amuAEE2bjvKH_l26+5 zrU(9(Puh+UPrp$ka!;Ec;i}QXm_6%B8WOjCCV@6@Mi|F<Zx%<?H|{G=11_(jUVmOc zTEt^SqSm_ct6-n-+9oA&un2oRqaBsPJ{WOEC`(0Mcd?M=@TYI56>xGLF<B6esFr#5 zzo&PQD8$V5Q#h16#CCV&jmz_d6u}1G=vsDeYP{T>q1?OzYIL-Z>u8gvb`)x)JR(gg z7GA%SHNH=4iwM@yUvp)Aq|omp+0T9mUVZPTsgZHc_9j&6R;|T0VywumWy3~NWq_h$ zZD%EVodc|P(O?V4R*Re6pZ@1m$5F{B3_PT)gJ}OCIPmu%#@_KQ6sPi|O_m7F;c&O` zWx&Uw2OqlkbZVGVBMutlGrS+BMoQ|yE@G!U@+B=GA5%=)?Z@GMP+ysJKs2>eg)p{J zM}|pHaL{$6)Ous#@t*oIbEzKnN^Jx+1aLKkji>hQ#iqK$5wb1$I?<$>{TYb(^LMDI zDa)$CiqkLS1EUeTU)KFmVb7)*mV1}NE%8|=ifZYXml}`(y8HLc$f6?f2Taz+f?vrW zunX4m8ZnKuDy0($Tw%#lfh$%|qWzCT`$YZG$}*lf<tc}m(ww@=o5)}F)vt2IfO^U~ zOI_3(!yslQ;r&aE>hybPDM^NGJ1(MJj_$_L11r<@kce{&I!eQ&!Ld`ZM3YF)wh5jf zTj|M+A;~t7n$|baj$2x96=n;?)HY>Hab#H(wYKy3X5wHzbEnMlPQ^BvL5{~X?Pt}< zsKXmEs@ZuYs}Rf7OuNXABW-CD@os7y)piaZuqkS4tnMo&qIL7xrKMyw+9gN97GK7% zf1!y04#Cv^$Q}<*wl(?07wv>!ev`78Df6Ir*Wn@)1@)};Fvc#i3?NpWJ4k=D6f80< zjh&<Z=Wh&DLwHQ;Hpi+E1<8`-&ET#NhBk(Gzlx&g1cg3f>y(>C9iJ#!_?>au06t$7 zJ{A%+?0r*{@?6A6deSknYOs;S*NDj`d3q-JlYYZL6EKng1~hF}Bk?2<nq@IflhQrw zVRBHMy2&ZSR4J#-$0H_z%e5VSohr&L5Y=+%*s!xsiRxzr!~%p=vJc1?A`mGwZ?0GK z3P{fZP37>Dvr}6&Em~Xgm_kbi9y=G+y>)kQlUnXt^OZ!iIX}9#<2n6UTS!t6be`-e z7z>0(?OWnJYpo>*+qx=?Q9>%Kv_*fr-G#~u@Fep%l}s$T2|Z`jR&V<A)T92~w1O+i zSY7}WE^}1)mFOC6JiHqQ4;20l7+jT^vT)hwCyj+yC2LOod3()DWYR8&><NoW>4}W7 zjs*t08_Y;^jHQ`5ok>Ct0n=p?7?zo!+H*}#P@(@=gSYe<L0w{_V3tRWq%#-ClZud5 z>K9hkz&JN-{T+rpX|w)P;_q=|a#3MiR513|hypBcH<>tyisilaf6Wj!T1N48QP=nw z)L@o?LL;H#jysBJPzPuP(SjR)p;vmMrJ#<C*QA*>vWOedKP+T*O3s@*t1J8G&*;ir z{Iss@kbhd&O@#mHO6SgLbkaRT_ll37G0H~GWL9Rjk26U7?bXX|DY+xt+}PzT3(})G zLyuaIPAftJA^}5@5#1B7QX-y?mgnFMZgP%^L@7rZx~$mRkz+l($BG8M80%O=*pF|* zT^I?A6Frg93CqBjo;YC{`2H>k`__%<D(ecmV*Dj}$GE(F0!u?(0zJ**@GjU?6DjLs z+j*%@4t;AYg0d~)DmlN&X$YX3BT?YV8(P!16t_#SHOrCi?DtMJDHg`*Xp{=MQ|A0$ z*x799Sn!1yXk9g5-Lwr=#CpujZ^W>1fa^Y0u`qlKTfSualY%t7d=6iveqYoTQ`2Id zZ}TY1>H^Y0^bLak#P`+%xZi<aQT^!qKB6FsC%+TA>-WL<8?=d3K##CYUYbdzuPE`Z z{gXwr0pSSuL5)83zew7L0okf%w0%}FN&36o?Ed6^s^KEBiEs>le0EHL4L{@+#|2&K z^$7xmbY+btt)Eyk&Z{}hPtNJe?BFa@MJ)?ZyH*}SWL!k=6{#w01Au6$T`loNjaC)b zR%Zg$aw@5M#hS_m7V)pn+Px_Dnb*)>>RT$R?{_CP@fzlfUb$PX*C3)C2;LAhFIAb* z+1&S+&-}>$^_O4zqvK~Aw>0z-%wp}Kd#pWl7ww_+bBf$7Uhf<Kom5?GA_|NqZX0Og zLTKWVz9t@!&oTJ%q+ejnmRw8xU2>b%o@mz^8$XiGdP%gQFXaz3uDc>S2^ToS6T)l2 z^N_zaY_no)b8bDhIkT2+&IGo3_Hx+f)VgeQD$tZM;2(f(`pLmC(1^B>HtHj;-826( z+&uGuh6&h1Q7ab8w^rEZjcSLSYSkPZIg~hZE;Q^wQ}Q<5IQqUjUkNuhwMyLJ5bgKf zX(!Wa>fOhjNQHz=_9Yw|<yUft@^|^Ig>EJQnf-r(dW>*Ugj#Y8!0yc6)^OHd>7#p0 z9kH}r4JQKK>iXh#C(o%!9vp#C>y!SIwYEzp&&_M7bF)KG+Lym~h1Abk%sS}9>d^Z> z(&+xUP9$ycZ>jIs++27E;mURBR*G)ZPB(1snr^#%Y}g~+JKYF$D>#^LUAm#`Oy{Bd zT<7H+<-tTclPT&^VhYr&$|dvnPO=uJS;fRGsBjxxNL}RZ`Xgt6!o=lejZeStPMyEk zst61+ap`MUvA2NDf<AA)p20MUj+~P=RCUkp)DRKFRx~1M_1Q)s8e4TA<4^OE-A^*% zQMoG{mFjM4csChwryHxWIo?hGbCA9Jnv<Hs(1hSeEkN!+ACmqdnj%`)14j!#E6`UG z2aCHe#$Oaw1jriECpP+q);pYq<=Lr~<6E6L4|`t+)#!b_j%r*(oScVO<U5yDQ#0{f zoQWU&hhbuz_n9H`fZHJ?KDjhAWMjq^iTseEHMZ9M-oQ8J4gCL+8KTH?_-8TWpMjxQ zb_yPP!c%^Kdu#0R&bwOw1}l9Lk2l*PP1>=ELv}uFeLaDYg!Ij{!dkMA>z*l^L6_|m zJ%ywCW2QOby)7uTw3IW{{p@Qfc+O53)sYsekZj+r^ob-wmMB3G=E!i1x>-HTlK5v| zBb1qS+QWLziI%y6;__5+b0a|_h%>o-n4V}8tW0yfi)yQGl^$)brAZ&_+|7SVv<qHQ zu4FmbCUmrV($mV1Bcj>6;XVrdi11S{j_^|nVawaNA<o!D!kLS3W|6R|O(H^cl-om& z=oW70{q`#1%Ch@*5$=4#!)zBP+=8tu_yUOSin4XCW_3Pc^t%{2^u3IGL6XVTst(x0 zI%Pt20ikc<D;gj)+bbHsA#ifxw5s36G12fjfHV=NId+nI1Xp_Tu-!H2o5qjmDRFQz z=ZFT-)(y>h-ob@}4|2gMdkdHCw-VNFaRb^Nvh~*Dja;x$?&q@YR@*(oT;m>okv(uP z7cvIk%7w6lo4IIJP>v_-N~XQEueV7j(zYw|I98q4?zSb>@MgU44J_+izW(2`GdbMw zkR<%V%@7LB4U<H`AZ;ET&5b|le(*c-fUzO8S+TgNB6Myn8=fGd_QcELD!!Dmhi<)- zS`Ez0nwoeT4%{lM17UjA^Ut@~_QCU)H9y=e3;o5!mgo0Us~_8_`k_?)P=EDyEKgG& zJU-=bckW*(&UOPV)ftXur@tC=*j_SmHGMFjVB1v*i&!K!lF*WnO_xin>CTA}bM00I zVPyVkM-ND?`F2Bd0!tj#5PLCoba)cGzWXz`(&K2J`a=`xOZ*U*PW>VNhfC?KpMe*e zmyTQTGh;i8I-F?jM4GiZGu6!b4Y9QG#-G5S=Cfik02*<+wOz!7C#+x^1^g$yV0zqp zBHhv(5fJnCAT;sDpCmw`1_9$(Ht9BQMH63>3ibEe;x?-yKIuF%HCF0$p^o*xy94-+ zolOogJRtzVo|x!qXnBt9IP8h4Fn7E;xgL<deOuiqxGwwEl(uvM$D!y@!V_#bdm<=J zJm{^G#VYox#3pIeF^|pLWMkW5V>0>PY+yU+1Dh*ikh|!fU=4Q6Y50Q$DZSfD!>yi) zTyh4Z3KdO>hiyeVo9mh8z6Ps`W|*JQvru+U26?zYqI=4o<GqECN@=6g*~&n6Y!1c7 zcl1&1sHSP%_kU;E?*7zw0%=4|X=!~H=bv^TBv%dUpf|=tB2I{ja{rCgzYvf!pC>1q zNH8hEPRZ)95#D!*Av)TLIR?NqnrQ{Y)8VP84`hT8P>smq6}EgFv=NNrI(X5^#1}p! z6R%r80t`P5#aNHTU69n4^y~$?$ai#zKmh|x7>s(OsqYaC6*|fpJ^^@a$_wEM>VvIW z2PGP>r6B7y_B}dTY{N;btM1>#AImAiX#4UKfAlMfmf__3Tea&zqwO>oM%(MTFxr+} z7;SfPVYKaXVYJnz5k}hv7aQ#vh1qARf!a4v1u}=mG(tWW!#_ULhZqM8@r~+PGdG+P zdJq3Ms<Y{#Q%eu^5w9QSwVNo>W)bf(qr{+n|IT9U@ge1op26unL;%N-gu86Z9mKGO zYgvbJ5^DPnMUjwXED7W*sW`|cTcoqc2X+5$Iup5C$nJ@vPtTXK`}5iTMcuRSlE3T} z?0)T^<cg&rlI5nxnZj1EnW|4QznvOM3)H;(;{xkt6RNcTv-qoQPmYC1>5<VfOcRH4 z@KxF=IL<1)Ado?;>8waS0BBW86m|Tg9}dgZZAFpfNG?w6qi2gL5?E_DX)kDpyCx>} zV1-j(*3?S{IOrs|exse8?9ax{4*_K09nclB&o!|{{PTnBp!KUl%T}xHke3{-U)vC^ ziHH`!4}!%9zRO`B4zLde*aw@wiccdJn%<*1NlprOTkF#n9iGGfWrKYtE&YcUWVHYq zZ3Jl1GUz3%p*Et2w2w%8>CsQNhz%a>hcnK~@mLZbwuEi*<vAW79Kb`yZhtL6$E*x^ za3|Ha5gv<8oUmTQ(mHtjp77{6Jy01r9w!Fy2n><cLUBytfCqOkgvV0TqujL>E-~oG z1U(!*gK?Zg|KcDg@Zo4V^a@y0%lK`U@i%+sL~Wc-HU6<`v@{+TH2#7$^5IB-ja`qk zfZFHRq1As=-GOh3ZOH5X+Ko=)3yFJ>X7yTD4<DR@TL1k!^(l8=f$w*cQAz1D$fJ`< z`RG!k&S#Bc0U`(di(jYjkmE7`9;bKwtQ@1V*!LILY0p<P>SJl=)&9mH^;1;5G5AU` zwZ+?))k_5zBR42V`;5{~q7|MCl1Z$D7DfHLsIKm|(@qR@R99bAQV=5sdeMeg1c#~+ zERI;z&Qq&)u8_gtjkgnUP)Zhj0UlaMh~tKT$wGK*&cP?e%C|{9^)_kA-|-0g>2qip zQ;i7=K@M0Duw+;qvV3qumB;f^0lH}bv<B!yj%v~+9+RC$BEo9wwwUTBXn`x|)p5*~ zUR6h9+g$Hpgvy2#K4uLNdKO8`UaWCfI9iKNFir$avEW@!U2)_Uk#vEexKz<nvp2C$ zMa!Wg>};>dB|oo-v<|K1P*Dd)R%?Q+6H=nEX}VZ)8*x70>`kr%>OuhJgDW!Q(xR{F z8hn@`eq9X>-;*b#3XCmK-lYhgQ_*6gBcnu&wRpe_QQ3(TUx>Jh{|$6L!EGr9n1TI; z0E^2U6QD&K2jkdrf3sD{kQKTuR_LZ_k0DmenEiZWfjBpNk1hkLD+q@;gia6-7Z~+E z@H6nGv6|I4S#Gk`$c3&AzQ~&_D~w3PD`3=+7X~xTJuPP6-NP?d0`B0#84I^_8LO}c zNu*(ho{ks6Q{y(;M8F?9+|VK*>8(7+U7bQD?Ku!0<+%*8$yi>3n9}Z9DQx(eCcrQ> zu^O=UWHk^|W-JnvxB5*fp?%QAr5CtRiD8UzHu$Tr{07nRn?u}~b)p-yPNWio!D5dz z>xZ1^udNa<b@`dhaC1`)zQmOR^<^F@E=a!naB!l&;y(pUM-yjV6<EOEsv_!tk8e&R z0Iz8aOY=c3$Jb#v<uxNyZ8^l(h^$6iUNaQd22Om9Y6!0l{ixjHYne?(9^H8M4wx%5 z9hJSqO}l;@&&*m`Jp}1@f3ia_n_4!5&sk1{oH1|ndt{s!b_^rNxow8THw;6-$c4=k zHac59)QL4+#QJBoNMdY&k(u42eN&mE+5L%v-fHs><@hwu)27F#REU@e{*qqgXE|$K z`LOEj98i=es|72mSC~JqQz=qzZQ5+Ag+byl271aV*NzFWutSIZSi*$dAG|aomrx2{ zkL$t30x7Vq8_H=!1SPW_8mFll1Fh|%V4#g>5Y7fNx#{Vk>->2`e)ixcfHpr|0FCP? zfo3o^(6|>2^lZqVr#$Ydt#$sqA>Tff0RCZYt8Lv|WyxMMBtx?thB6jwN~7m%vnsx? z>il^smv^rpU#{*=6f_>XOa4lyp!auHE#J>uyQoPtC7RwEMl`)OY(C`A<NGXdHz8B! z&oeh{#%miR!@6pYOja$(DDLf~NgT-FurXv70x~fknD39S)4_HAydmGNnCN}R=)Ic0 z5hqD|l0VOGG@cvo_0R;!8xRb|(0l$ofFfpV7`o1%H>4n$i~@gbK>NBQd=2=-(9-5Y zL&RSS?L8UVi|L}BDYgX%OjwOKa-0pXSGd-~?PsdHaEJcyWLrTLwnpnn&dXw~-3E7s zRlh>@r|b@9A9pSxOB;g4aqoCWwG4ne5;f>MB%dy{XM>l^aEa}Zq$nE@sHRckM)mx8 z$fm*pXjw>}9dqCU$x<{m$ty}yL^V=K=}h&IKTiY->cjKrdH00$o0dP1A}Fq4=gCwS z{%ALgc``zg{tX+Fa-xccK>CkWbn9$P_JPi3M+1w1ZUyp9QXyJ>Q2WuX+Ba*ul?@f1 z2@dgzHKHE|YMg}}WP&U9MzI51lSn71af4;~6D_rp=cpl&0~O6vQB3UzYKN8fZf!-L z(T}B<SW#b4woykx*)gLZ6&>x%c4tjIL%BG7(4Pv2jHl6agV6M&X4c!OVDeJqiJ~{= zLgH<dyEU(ICDiCFNR9A+e~nZ@?l|>Z;BENM^XE}L9d4d_jn_tiyBJ>M{vCY6DQRB2 z3~1bi9mR((hQ?&13v+HGTb`e?Y)_C6<<B$nnVwgN_zhhw1H$@RURz@$e*!=8#Nxfg zd)UR!s7M+T5!fx5h3Ww~%pyn9Rz-AmV4=K}a^B&lPMZ*=uv~!iQWCc_Dz$9PoXK`x zO0rE{v~B)_)V4X&c`Yxc9i%5z>ZsSHl`?0fyp;0#9aSlH%12%oZfx75Je_s22ZA=r zq4=eFG&}K^@(%H(!nN-)nI)1&R=Sag?S;i#{PqmD4+CKaTRP^*vog!Pcn2@EwwpFH zinemP;`1bWiZ^2k9&e8F2D@9^E9K_Yo-_<NjQ+#T!lYC2z<j{BFL1_rU(!4?>XbAO z3DI|K@??ocapYoMtS!zs*E-$}GF|K}rJAMtY%#HCZGj;+C@p1+a;B9XZu#`E$lV6l z1i8h3tlh2Y2NaEE^ylMju%euX8Dn$Zc%D4$#d;idTiFEM%V~J@a%Q8%Q970j<23M4 ziM62;U!%e_jPu&Yx~NOzYgDC+k8a!|r&DT`AGSTptzvSg8_jEoc(!?-tUj5$MrDy< z$!zey+QI2Hw!?8L+Ta5TNy?l@m4-ys71j0JF}utYlI()+l1&uYG?$Q&M5AX=+cN#) zy{x5ZuP<cx$FedfvU^5NtNB^3QQ6v2+SLl2Yweo7UIaOd%`67>e|oagyj)wIPI&Pw zB<GmdsrnJKvQuk=1+hUE63Wj78n~e?wj8c5oLW+7dh|7;Y-6K7y)QN@H6@rt=uPqy z!`QT5bJusvBw~`R*^jx{b!CME?^m?(53U1x`3#_gtJ3zdUjk@rcL1%OH4(HXTLNt+ zF`y6j=g9W9eoO$vsoxg7kO02>n?qY|{8<S(vh6Fjk}97F9YdoR`fPl!^$)UI&Bjl) zdhQLeMWUdOgKp!i8EdMAqzl$AS}K|z4GlB%nuc*MP&`Wf*gD93M#$txh+hIS*5(?S ztXhycmLqdKAhQ@cm~(+FM>dqnG+5<JJHyrIg-lpKu#_YTnREM`A}*84k?mS<RyMv{ z8Qf5Oz}#3d=U=k%m)GH{F9~RHuA7aYfPUG4_H{>Y;|H!<rolo(#Fv#VuF^DJ42@S& z<}ZOovK^+2aa(}m=2_OJ^x$+bzfWU+#{?xfX!Mc1w63-&8qSemSxN~?%;s(>k@dO> zN}eq&LCLf7ze=~LuDQ^1cTGE~f+$CO+mugeAbL}S+gV1|dO{NHZ4t!n?PTX6)B}W< zhY>q3f=}Y?Cq@*~ycYox?d{cIIj&kobS1JnP~$;rT&-(d&;p}LN1wgzNug<MG?NjI zfr@mfPBs-dRuK5HwxTsN02q6qBJC{BW&l{n!_J?{IzCD##~}b4-|cNT&l2C}mW-_9 zY$~w4*4`$`cU|L}IRU&lfTNtQ%n4jL_zR;YdwZqHHaKIzm@$O_zCa7PB|~eJq&nH# zjG8`hQ5P1Zn-jV*>zbzd6W!PoS=Z9J>JY!7i+$YJjoI6<kw4K*vbSNgfHqAsd)wJ9 zr<bhXl_s^zi%uz-4bDP&DJ;;|DV19CQjjpr$MRCLk(X4;mk=!EZhaehQKc5VF6^fb z<^c;THSeWlZ$pXxzJYhlU+kS?_O^P*>}_petL^Pm{Ax#BJ?bF-Qg%;Lg?KcCWEOhJ z^KG}MxV^`3S-g-HuATH{ZLCwA<q_HBX2lPuT6wX+i)f+uncMTcz(SX`O|XGdi!fos z+BV}nDo^*(OZP}CchA-NLRdy{OIjY4Wb>gc)p<AX?=D-WYLpN9RhBi2h*k%Gu?T0A z<s?R2X-0b~x2)lu+QU68%UTJ)$S2_`K~$dzolzV-bvTBq%!UZcNx7S4t((kZj-yw! zdDpSP%{Go>V=Na&N8p*)ZXt}w@ioc{A(8C>VOhwFO55^bn^JT^K|2P^+D4J6+=FF} zHuhq=>9edEny@%k^)7dNa8ysoERvnYW`y?SB1>j^|H+PG#NFTXnBFgXaAdHdnU;n% z9ox#=awQw0x=i7+XCo_vk35y9MZP(aaRO7V6_uzGfwZb6jh5nuk8_Zud{~2L#&DRy z75lu0@Oks!nxi5Cw7ibbyS9f5`Mfjae%21W6LLb*P)hc&Dw8YM4yBS_w8&zV6#a?$ zpsUP>;Pa;R>2*NY_Ha00GSOvY&|sKApGGhvXtwMbXgm%E`gDk}=<|8k_HZGech=Sq z#I|<4t+~%TKQm^fZ^hnS_q9E&JPdiQel}wt1&wdy^A62`o4L!X<$Ea{Kbw)6<hjtW zv!P)tO}B^nDlTK?>j<?yTqyK7YvRVpV1zkM9ht0JzCWKMb0HwJ8jv~PbbFZZqeC=D zrnZL*`Mfh^ju^d{f`0HbV>FM(5Vdeigu{#1LykpeE-@6clG2un0ccVj*}_I`4{J7- z1N~32lh-h`^?G1vDIKAqX*?4=<0@8EjH{U7VT)K?rVJBi&GwpUg1u&%khRedjCA1^ zvPjTS?eiw^(2N~BGiK3lgU{QlU!?j4s#A`psnA+HtI%C)RR$WHaih<hXRJlz>fwe7 zVf1<Pv24W#%DDf`7+My5-hF4r;6{<pn}rNDQgMAcFtR=~CaRBkW(?vQr_=Gw7}}Wn z6coW9?RJa22SzAdw)jrLQdE%*&Q2g}Iyden3?sOGi7O2!uiM~!lT=90#=4elaNM`9 zTk(0j_ZIPqHKHE|*yl7gMysA08GhpcW&{n2-;H_O;O=~gKn_%-d08~(sfb94_0EiO zW1d05jd>HMfr`#kQ8ebMi0FyIGh>(#dlP3U%4}HO9C(Ktgr>hn#6!gr)#m!V=teZL zZ5)tVi=jqmL288m`)fqXu))=DVc^o}9nXxR!!Pa3n0D>{COX<VfEvYQ7$|;&#cfUV zC&-6va3i1Td6~w3Ll?_Ju)dZJZfxXF;HO}N8}DI*8`?BU!qe}kHc6A8dI^eH=rN^q z>nxP<B3$Faz0m`$p$`Q6DFxll18p011d*1ig#)D|+lPb<ffy=<{#DZkO3CWSKDB^v zmC~6p&PX|4^4PzFH|i4%LchTTZz&Ugw7~7aM~o%}MtVcWd31kk7EZoqJ1}OK2`t38 zrMTX2<+IifA2f-a)VK4oZ24$s+lxcIU~7<>_0bb<FXni`Mj|uWqbJ;6yh9edd;&UU zh6$THyB|hP$tdFgG4fmLgOp%Pg|xkxuRgLd`dZEIwj&#{yJe75kZr}mLdV5T6=+Z$ z8DoL+RANvv(@WfF)=f&!XD;r*qx~*!xwmDAE6*o}{TjN1s3NFTWi~cZPNRzPxo)D1 zn^JMubPL+#*~@7(^l~;h#X&ii3&S$-#sn-H5b<>|A$Sd=)~YkUmgQvfqnqgBrd-tU zW{A6OXT{LX{f0P3o{^JDA+g_I-Bz^RzMdJi*zaO5kQFm-33FwyGf}ct(COkGxGN@f z->Lrfe(fCMrg-h{s;NP(eN*G}O`T~D5v>wSFwf_HP8eg0?bN^|CH}AV@KhVp`d*JI z$fQXiWv5KR#H}Jzt(LH1Vr?(o!y))B{<C=_pKud4kq|JV?J(wYK-?UX_Of~Wk>!Wf zAU4EC@_%Q#bI6{BU>gg$v3xy5WzDp75PJR34rl0%I#I~g{cT{-tX8c_#CijzsF-%y zjyVO%N!-KRPT$+RCo;#o(WyN-+-bDhL(Rf=O&yE7rf>$Rd0tm|>OcIA+BzcRZ0)8k zFBZ04`Hv;5P2bp-F_g$rPTYmMXd1SGh5cWJ_x0t~NFcHD5K+b51OQtVLt3I*yB}-g zwrG!@CO@JZsA``c$O*mhGjfsdf`j<BS8s^F9O9zM3hsb**nMWOPeeNQks&<I3B)cm zHv3`GTrR$fp1V?fwSt%MHQ1MhZ(9WS-Ghz;TZXD_-T(YOWCpo%q!h`Jkh)A})W*6Y zP`a#Uv@lWmCiGC+8k+Y`-5i7g_GO=@WEe?&1DnH45@qxnuW)RvYo`si>3O}Z4c2mn zPWO7@AybR+um(0=f?kl5pE8Lb{bwFao!QN6x9o++<Ukq8a-eCy9)@=G;wIoMhzH>6 zZ~L(!=w%0z_U<|8@YH{#J$$qm7zs2^y9inul4XLS*kD^SNHN>ex5-oAl(_|Zpmx@8 z97=fVKm3g}&x?ROmx1KG#En3nk03F;1lys6r~bp=Tmr}o8ORG8gS;3)K9_?GPaUMc zc`=Ypx&NGCXY#7TQ?JV3bpQR=*;dt?8Vk)k6-c|l=|6YtY$$qXwN>}d+cu=s;4VwA zK0NgwX}9Hzb<T4c#CL88(Z_h$VKyJU!c&LnZ=`fzgdG+$h&KoIF9VHuS4Cq>^WwAp z%=n$!Bx=U3Kg7)CX{fy{-mcA}kZjI|J0I}oG~gvJ?qlc!aoCv8TM(W)0DtphT@A>C z8OVbhgFF;L`d-%1w(!(J`kNO4X*zI}b0*3W{UP@RLC-|ox4zAZF;b4sa#pzL(e#LR z(U1(!?<2N@xoM+n+}0S^#m>00dFGOBEi@#$r@NZLa^H#cpV3h<*ATsT8mEN6p<nD- zLphY!tITQ`mF@Ytt;JPtdoFO!OZ)nU8W8`PjYlP~ZqC5>Q$s?FX<N0K>^wi;<X5vQ z>mUE&+Wjo?6Gy$9J;}x17S(8XY(xAqM7~Oz+#=ocRI9oc6BD02xi_k7F<Wu8HLBkX zUoUVSseYO$o`)<s?$DZ=#`<a+8>p#msezd7bUzAJ+EUj_vSdF&XtesB;yxM2-2JTX zD8ktzB%&0>?D0#=F|6=%lmz$pT1m~F{B9`!W|YvSa>xixVgM+8fZa3u=&M-~YGzb$ z|4G1t-khf;qKL@BiW-S={>^?C+ys7VNW|hL8m3{JhuYQb5Q{z*m)Wl7xo>p8c&!p8 zXeDUYh{rN8kUG^5V)|>t`Pwgz>|vmWT{d{9XabU0+yvq_c~I4JvFbTh-Px$-FJ23` zYOr3fY7m7F=<MdB`$Y%V(mEKEboi^A(3^;&Ato-r4NZY=O@x_S+UQCu0rR2FYwH+y zuv}Yjpe(x+n8d>@j-{x$0c^Rh*L`<n5B4n~hMs+u-HuFOE-W{?KS3%kuwCL<$@Ek1 z0{eAHFGp4Obp29gpGrTC<w^E4-?ZLtRP%fGSEEdr;?HaM?|a|BJA7hw<#(PKz6BCA zs=2j~X4XDJ7WRGr4<0;vYT<X@Gvps0;?dmv!qUvU-!nVnkB+V_wYc`tiM5Y{EH`sm zwjVg=iSc>n>)@Rr_C>X|QW7hqo>%sgn`;qLB66PjI=dh9`|8L4Vws4JAhxgpJk5OK zy8Y{_f~~bG*y^gFS#71-UaO+#tM<LSQ4;Uu5H&#=s<z!X(F7&tq-E1sY!+auIYJ<V zwF-*)kYCjp7)}|J{Y%$wln@7si%=1z<@W*9Rsh(?;3WufAxylqL$e|MjBtQbAg|SC zRWUpjPPl1Rzm?TFEX1g%t#oyVr5xVFc*h>3gBa=PfT4=rMeXX~(Ek0^URfkU9s3y- ziCrij<Np_Epe2jr4L^^@pVbNOs+U%0_2B&L#KGm*Yo$!V3y;CfOq+1pch9t?<CtG| zr#fZx6@;MdDA^WRz=KN@`w2^NeLbNfBjh3C(pHusu$k&sS~9iFG~S!kj2OziA0zU1 z6gfh<;LAZ{Gie!9bE}!+?c@qJZHBk!5z4Yeyq~>gBjloE!`Dc;N&nHWTg#D$rnae1 z%8qM5ny4--ubSfEY&HqnsX;`%2;z9TC3F%h;?e!zNOufXuX*Ij_m(?mX%ny>Lz{ZH z3n1e{IZ<|mlhnv?RXl>a0cSiun_g>!@uqSsxj_!S@1ss&=ZnA{plHJcO=fSDQbFi9 z_k~=E+&8UV)DF`$AFa;(C48uKHu7uU2c)6u+*h47d)ull_o2EuhA?10wG-5g;~>a3 zxS*QV=c4&msvQ;5N>Ti1r0UzLcBcJW;+{xR@MzWj*Hz;lW_qL5+}HSywvJX8pVQrT z&7r}ynq7@-1Gd${^ow>?%K(ckwLlm$c=}Het<F)8|03SHSzY{__!B4G6CX8T+&yo= z03}SfsC{HS@-DD`9xHdE%B_30mP3y`$pCwmhI>7kEgR)_ea8nHAg=PxEVtDKw&XM^ zTYS%uS`P28(1?7AWQUrp@5!q~7jI&>B>k>IZL<15@1?WIuyik+-YqBhmpjP$D$QSN zpJMAV9bPl}TD%=rMxsvm7NdDJ{0MTggPU6)d2$ZEY9SMWVLI3;B<iY;e+81*u)xRu z%SI5$P|ZbVg3L%@byUCYEvltDBw4jzWHh;j#hkr%imE9yQg%SGF3FzI05wCDJ3jCT zp<yTna50SF0Z#ZZs|f{FEp2htR55-)8cHIyFhRRo7{b6Shc|t2M{D@;P48;G^B*Cd z8^q3D-eG?2vXFgRa>)+!Gh5zwY`I;ph)#-x=Pcca)gn7_Bi$=F(6){j-4p+~mO-6p zr^G7zNGrCFt>ARt5cf(0GR}V!{5Q#en}g*<=}$CS^`Asn)RnBgE1Q!Ob>@jpBu2;I z(*4Xn1*T1sP=YQ&c|Mmdx65OF@=umRWMWh2nnZj(<n?rO3S}@|oND%vQvS!uc_d{d zfR9fp`yAe1i#wIUMq@3Rhpw>Pb4^y#9cJe6rUyIK?+T`cW;T`R;>BUw8E65f+~g4^ ztFQ*s_O$_%RoEDx8Y4^~n!$WpFeen<+Z^v+3e3r@omxYQFfG28#RZmAt)0Zz#(`-e z^n8T*$AW36D>QxA;3-8EchBx~ntIsCT@zvBQuZ|@Sul`7lslxK8@}cSRcg`Siee-T zij^hLph2%J4!}Pv_+4+ag%vyeuMWTuy_9_oFczn1vfy*~LhxB8^y44QYi+c?koB)c z7dzY^`ev~M+pU_tF?VqnFKyAQ+swUcOcgVc$kA`!HmmP%RNq!_hs70peV?ZtCP_pb zNk(k56d*K5weRLXTelw#7y0Z9q5bkE-yj6K`?PQ0f{8c9Zx{6KRSwf4b{%H=b~t>y zg>N@`tiyQx_Cpz5d5(h)NZ%ql2KOqy9ruuhiTLe@_3bW)D=%*N_OBw&L!}dKJKs*Y z88I2Z{Z#g?oUMc3qTGz&JNR~zsV21A9KZc@eH&<uZ#I6LaK?FPIB(_K%@{}0KVsvk zPwv(_h<_G!%IAoVG~JO@4hT>U>-D#=&hMhT6yjr-BA2042Dtn=xO_?2uKgzfNxSsI zNr3cJR55E&5ZHhMu?MC-h&{mAqs0*gRLlShTIeR=K;V*M(HS&oM-$7SUDkqwY!Td= zaARp#<I|>XQXiJnoq)iI1xjZC3k3=jq#!I7qNw-eT(Me$wqZNI<(#BY4nUrT7(&X8 zE0s)_phpzA5W6)g1C7U&7fnqGxi-i@)S~q%%MY3c#8ZJkM(@|uB#5CQrWYk6-5Yow zM67<!=%?pFeCp?nh<YAGqkhgPspo<1>*t&Od0^@AT&-t?S~HKFu3Bp6p;J9Jt6H#! z-st#H0>BD*>#f$MbOiAk^uHcU4<8aQEE$=4#uj~GtQ21?>D8i_LK-&c2aCh~fZ_0q zP1!#3AOPuQjVGJ0ZZK0VbehOpxa@dUi_L%K_E)v;=R%r>d$?FGPOL-a;w;K-uOb&` zv5%QeDYd)XPU^G751I<au>{PN5rR-mz~acLUnq|DfIu=Ec;vRm5w!ry@V7oWkKf%d z*O9QCM>69l=g9%K_T;=zzTS5_>obk3A$}vUzlV6zBet?^a_Nr{(C~;p^hdfOuo@FN zAcdvnqXL{Ko$peRGD0XD1jaf05a2`KA=@`@QVkrgk&pL`54EKE3V9lsdCd?|tAqGj zrh;w$(v2^mqXTL!70bztv2wcca_~c~Pea73EG#Rg8;f|&sR<H%a!F_D*>e1cwide{ zAGT}{jgakurT8gatQhUBMuCPcuVF+m=k63fL;t5ab9b`UXto-gs`+31UAzsrMRtXi zhCMdF|KV@5F`Fs0w9ku_Vj79YCE1yWo8eNI(XAbXAkZXhKKv&)Sd)WLxb5L+nWL3W zKB3&MvQb`RX;k#9%|qcNMrL9}x)=DqD;y|X&Hl#k)>B~W1C&+hwQH)^=IQO`r!38f zi!WiiP`pfs8Qfm^efj-HowyhO`J~2@;0FAd7~Z8BS5>NZZH1v7OsFvgd1$A#^oYjr z%o;t-(bdpVh0E+x86eytMGh=Jdz?_aJLI-A=pCIS$RGTbc>na+5+zRU=Fal)O%bHy zoq^Az#VO@Nfk`;q19hi)-A&RV_&!?I*V~=aM!wAM@H{|nF~PMKmNE5`*vi2x1#i?R zy{jhM1-!s`GRh?JHILj`J^p>Yt^4r>%oH%jrmDQR+`X^)zdzF3zFW@V$G=Zg(h1F@ z!Ox)XFamX}&5!hUqQGa~#dq6xlSa8qRKp`x`?0CczQ)vb8kQ%@ZMapsJX2};P#;E- z?R<EDxpV(R@yp(JK)e>W!Om**K3oa3{-NHsa;K)jf;rWqx@%M=eb@Si2K@8h^19in z>&k2Pjl2{7mve=l-YHsx5oDgAb(<b4x9%^u%ZENjGafb|${X@HBglQ2j|K;Kz-tNH zO>j!Vig3t%cFimRO2H{39Pd+`pox=j1`W-wy5BW1Mvjl_;x8j&6V=>tc=uD^&NL1W zA5Jqp-Bq38;$AVHj>f0w(o;xXt$ZkOJx+j$YE{2}OouWYqDGEnKm04Pik<jqj_H>> ziYa_*<H8;2Qx{fheohHT>I#KijdMBpL5U$+v--C@v8@^~mt>r=3o%f#B8A{rGstWA znfrn^>Hgxs(CP4l|BSiZrjuZrdRgGZ{Zl)|7^5Z^;wut2;0>GFiEM}$``D=5DbDZb zx0<!s6eKpHi^V>LvkxQ_`)n2am}~1w*+-0nw^y}9mXYI*x{YNze<v*SMvIC0JLn2X zF;UHnjdXs8G0uX1ZNxZRGhPsv&1_t_k8!-4H||{9OJ<!*t=_p3VEMpUVcTg=cf40G znYu<MtspNZq$kU3KG17Dgf?mIrs#F$OAzkBT2ivNvR-rTzH*L2oS9)th^H^_ZAUN< zbkQk0jLTY&!Vl<9R8wPWJMNi|7!L20PF>jbdKhJUxywHAkx7T}Q3al9xuRRuY}YjJ z)iO#jnhB*I!D$Gj2lVI7-LJ5QsJlDRi(GD(V;H}F_t3Z4Q#F>yXetnr<=3>ws3;`> zW2*ZyJO7m;_j?8Rr~=j$y1#ypO5PtTcpa!Ph*9QR&&p2n*q1{wxwVyI7U$w^4fdIo z-P;;p&t>y%jhnb!bz9>`F623w<}&$83;AS!Cfci<c%_AelD$kJp?j3}tW{!B5~y0f z!~@EO004T7?f0t<!sta2L<!PoKEpsim|@AMyQD>0<<(LgxY7-Mjrlh_Nd!m3Fc9wW zae8kItJ5<xS%%<cVaM-X`m?8-TPiH`t@~1b?#w^|<o%kRDRk#xv?$75{5q0;Z7=PV zUwGjW7z9Xkj*TR4=7@tDYLKiK8nlgz?RG_fvWvF7=AE7xj%D?|5JRl9)X*~a>h|V{ zPHdZrrysK({=_Q>mF3{?vV-2UC0=guHG(R!{SQL7PDLKy{KR8z?p%A~@$<}4p8L>} zop?N~#8d38YilO~n8*?6=9YqNEvNn^oOryfgAMuMsel8R5LVXx2&pOI6RLkOPY=WI zx7sQU@9MyJEV|{nrTTDPTc+`%RL;%AJvjA@Ah9rYT348!-AC5ybs&zp6HWq@Lmcx) z^0;bl1W_765N#)p9piXb@WyN(*p<U8UL4*<!9hORbYt+?bd$q7kx?|9GT7HXOf>7l zyGh?gC~qG<byDD}&pG@?a}Gb*kZFkD_#@5T?2&GG<aLsE9FLcsHax&=IHb^H*}2#* zFBaCvsn``x5WXYUfE2;TCrqf*!L19~{ju!+M0TI?6~Qgt57`>TO^pX98Z8)1EOt}l zd*SsLI9yoY`QgIKisf9nki1tK4aTa2qL-yk@RLp@P9UmJKlvSjiFA3e7ntZSMriSg zZ9&GdU`K9hTkBDf7n?Gpwr*Sq+m|SOYyjwC0ku5H;RxLq2a25<ffC)DfF2J(aWNRs zV+xb<mYx^@dg8qRwS*YMiaUrb_ChUniLjQQ$bc>dpeF-Ra<SV~4-B6g0J@--hO?1j znH=aJ+F`+Hg#q#s&JkNGh4MF?Xe#nP9e|qNK`Nh;kE+&_`Y878-8#72Va5K%l}CXG z;TMw?9SBe3ZYVfO)YJ<7=1wn8)--nxpVPSvVHgflj#iqj#yE#Es8QFY4)#p8*32sO z@(X}A4FhQQ`pF{EhCmIPor*3V0Ikz{S5%0M6p_Z}EDY@oy}Je&V_aybsTY8)nm>_x zAicy?BcUk=2Tey0fM#<@Yt=zN)nv6dXdBj#y>s!%X%;o0XRJjAB(%)c3r$45$kxj+ zFwS81?if%}hCy{EK6mP5{Q*|;kg0*t<`!IM)X4&X)s45*IO~*YA`-pfoY(thIogf? zrRg%2=X9tg@k4gD@q_Moa%4lB9`>5v%Cx*btakuwjtaD%T!S?9m&?w2MM&QYTxlZt zv~1-GP?;0~K~nIiZwNO(^nk?MR8Zst_d#_OOzrK_4Jw>+Mv2Irv7GdWwOcn{ZcLPk z;$yxlV}CEU;KkyIkQ9G*yfWWwUj=`?w_+zLvXh72weg|Gx`!bEy!ciw$nrtSHdg4o zt{A2GCr#$(bft42&<-NIyGN%RnHBJ$$zHG}<aHTi=13VSa7gb)r}~t6wPtKMLUmFy zCZZMT9=<O&s2syGvFF%x{lnaP_7Nq+$QKE~F~~Imtm9)-L;G={W{L!5b_vagNU{01 zrsi`t@OsUcJwWqa3!Cm6qyy&fy3Ljx2GXP<A0s+yNqlh5#%{v1NN*lGJHA-LKyXkz zqu8`UZAPlz89OlI>~=QgH|@X(!WEU17T+$ik=woI;~k+DTKOA6ITx~TIl#Edol<jr z|DA*y0TBP_=@Ctck{g<d$p~-aNT3>?8L9rdVU9SyexC5gL+3eV_`RFFie@rfh}UD@ zqdB7DjGCA&l*eRQU`0=+?P0ENP%^4#_lw#6N!^FGFLN({?iuA#ZS$Ow;{g5>^9Ie} zT$z<Kh34@0aA$w_udO`?TQL)^S~uV7wW{}1A#3xEVCl4~p9&9REBy-YUwr=g=ZED` zR1oA4xd1x2^4K0E4~(ii64RvE<hNb@+LxaSmPg1=T4VF^@6ZRrCgJgJ2Wt-wwG=Bm zP$vyJLPI_gbEO`G0@_b~R9AZDh)#O)uNDU|`KU0l)%1|E^inW^sO)@Bm}GT=$zqPl ziGa!RfXQM9UEr9U9K>W5Oe}uEHX`Lcv@uO=6`;l>s}oF4=9oMcFj)$iob34eGA&sS z7BO8dj;Wr>FtHWinkLVDha*4Vs%5jNmOD1g7|OMZL40n2kw~~GP_b8CJ80Rr<7@kZ z_``x|aTG(+m3iAw8^jyP{$j-iK7C8UGqmx;->Ofz^AFiGs~}_PQtzfA6Ip$C2yD*4 z{bG*Oy22c%`laDd6aU4Q!qyhGBT)u3lsemES*DTt;1)Nx{0wSs>lE8Z=c!MS?0`BD zI52{*gzM~x^dlP#Q93bq)d5o?yqv>fV5ws%N?WN0&qX<=)UlQspiW~YMHsiy15@>z z!{WdQCbuKi{Q{FQ$Z9sYw;~GQ-91xpQB^ERXYtX3wS*hQXrKd+bchDg2@+mW<n_B1 zTg(SR=PZVb7Gp(7!9YceRJ2%E6j}A|uofIDS_%~{#fo6!fr?I2(NbMe<lY!7fVMkC z7nruwPJsDPqjwxAJGX|h(YkG!8s}q;&RuV?uyT3Ys<U78!{NyW#IFW@`#<im9<MIa z7jzd(Ln6hh|FXU-v@Kzk5Ryosr?dN|?EY+ae@6G9Kf_f^XU3Vpn-{#5&<vQ4QZRd9 zb9JA~CydqoPqbXxTe@6#XIjiPMxApPZF!X=)!C74QTT*t+uAiJZ?c^_Jen4{sndHh zQYqL@f@K{OpR4(cw0PS2UyOT?o}C)O77=_HoR2OT=x6!#u*oKm+%k=<7wgkzY6I{6 zA0MmA1?twyGq+3J?xGI0_#>|qoY@g&Cbkg*QDO{wl-cx`zdJ19QtZRu>bQ3=-075= zA5o|U{l;K3g4bZB@i24YFMqe_32+7zZXkl+ARyehgw@)x9ywJ_J!T^4n<RlP{?j0= zpkNETafBTKP>u+IG9Cm+S)&6h6W^zHN=3dQBr^(%j<+`YEO!{7O=iNHE?iC9e7gk5 zJS~@TY7<|f_NR*|bm5yYK=2lhW5qg-NN+dM4g(o)jj5sv3EzeRSD}XGkokt)po!M# zf7z;FJ}Fowik2$Fj>6zDvjcu`PLO>fWqd+*%1JhsKy%(j29=>VL$BIi4P)1uQO~i- z17S8ZJMu|&!5-$uFA``2gYk7Lcfg(*v&Cm}oX!hn2!9Xq23Xx<^_~y6(<Fllx4W>S zWQT;1GkA}}W+J|SN7-=;FQm$zr(;%LB_p*ZBbA*Vak1TOMoeFhKhoZn3py(Nni9ot zTbV?%hO1{L1OrBBe<kACnKAiw&uwjPm0x$h8ExF#_bYT3kE019<|OIQs>8qkG4u=p z9M$s2b$6><a`CU(yV|Gr&tZf{HLdmR28Y)YkW8?>&VD#y8v&Wx^0<wUjmt=keQz;T z)c;_uG3g&J4>2VkVWFU4`CuHfbFvIZuSv<IXvtDcIecGlb67-?NvtnP;!qWj?PpD< z^$3pe{R%1XT1+~j%0y@X!N<btQfG>gV8xmfiaE~eE^q{euzY?z{w=$wCT$o4RI7T= zyY^2O%>tJ=Gv0ggSvI*j^oOx39<m}s$#9D1L^bjlG5KIULI^sSwk2EJih`+FsjSZA zUlK%Z)tyTZl}VWsmFtB~b;5~H#7<acJw$@g(AEk~USK9V#rmvCN$-l`a<GQesfMq_ z8d!^ftc|;GYbY3AwdkTu1*$i%%y1eX!0AG&@y}z8sN@=@z8VHUKKM**Q2p^X>jEa# zmxRuy0d$tusgay;8{jke^|^JvCJtwVuZ<pqRUG)_V3RycvQsuE=irye(wAROl)Ui; zVUNYeKb<~xIyOSkg~Xg5g?C^}PG;N<mou$|&0n0nW2ObDAZUP<1S4pGx@XZ|$^r<C z<;cJ$2=9W0%OSSRa4ZiS2a*_Yjt(P$@3TZmFX|(${7ZL9a+BanYAe-pFV1V$0wtnE zcs!&BgjD2}(lYJy*l+t?w$gAd88YO{EwhaaDpKqJ+bl$&>{@(4d6i2M>yLCyxz!gr zaY=ONcH)#_40>g8BNX@~A7iiBwdApTdL$(WwDNa7j|!qvv?y6rOwJ$X!g|kJ%VOUG zBQ9qgy@gwiy(?(e2Y5@T-0x*EMpPCXXkU2?RIAG&hbkwX%LShbb?b0SZ0=LyF_RAq zXPDJH%FJ-(ZV#Be(|QLXmP*#+X7`tdbrZXD$?BkTbu%#%QLop%N)$hVxpZFo=Ghnj zMjCJuD+&9h)uJ_``=g9+6FeWksUh9!I=ZXAL`QdP9nI;Z#a_xyq@6+ba~yU^iuv)^ zfe^t9D0HpvQj{nrD#2VNU?nMbLU7eq4Oxo5V({V@)Zj1aG3Uf^AH5${Ue~QqCI2Xn zcu}!!NFa*KAxn$o%y>kHrzTPzNnfMFMPBg`edkNpNx{;`yi<ogS`%LNGN+|&)w$Fn z#ZPHD+bqQz&LwoCEpf=XmKaz(fUDAwHNJv(#8>AcU#Y+h1$bs09{BoFc$H5SVI!90 zb`2{M4_6QihV&P7b!3WsbTtLQHnli%D{{<q1%q2xHnLbLjQHFQj``V_%%Y7uxa4EL zxQo%74#!a*ISa%49xO6wtN=H#^!Fg+CV{=TeTzgEN=p%_MSqX6Ux`!GCiW}5fz5&1 zQEA+8A5#k^^cXQMcC~5Aezcm0ydKAbX(e8nZ)*Qgi>#IyA=R1K*VRQ8R5TJaY&}U} zmI-I|Qlo8k0Rya>gTK1xZn2stsuNLzV&6<uN7JvqYJXsBb4-?AX&FW#q%3G8q~Sdg z|0-sHEqA)Kd!2jXo90c8ZXS3TORjg7UDxQD>1RhNSTF(%9qcGNjA=ucO6>(g+EBc^ zz8N+fXsG+k-;N(*hsa}=02U)(?2@%SU6kyt*e3J$boho?#Z6R&8Q2I1ci%U$g?l$5 zh-?%-w?C#aWbE}s{)r<2Rv`>jx|@xLI`xhx*plM}){SAVsfI!lunY2QQ?&FtWHT&r z`$HEV2fi47J$*jJYpWMj!t;j00NG;i!wvHlW<;tJz$*R_1CM%OoRKPG%Z|(%+o9J_ z*o55c?TsZohYU~BE{tegwGISN>qn{<jie?3So%Jy&<+o_soTNcShd4UYf&F~Hs7<a z!6URs8)&WFw1<w+#B1D}m9>ZBY7g+7BZP&zICU*9eyoGgwe(-?TAT3ilBV{q#R@l* zzV6G(L>*=WHFco6;BVBI!$u>bTIoynPi@qf5PYyNIUp~!J?~2}eeu3z-&*WT?SW04 z2W`j1_@OUFUFW&W=u31&Y6q*IeLTr@TJ1>q0*}&x6V~rbb>a*5<rdkCp~uuMaQx}d zpmHoIPphU+rC%+i&22@rqWFU}l7A)xMIOonpVplMeR1Vn;IYM9LglfnK5ZWU+tsJD zi*o$N{+9I#qq;s}`?td{%BhH6(vwoVNDFl6Fg(Bz{||NV9%t8e)p_1~?!EQ6^}6+t zRJJ7h+#5A5VF`;KVHrmxI>PY-JJ=*55t+~*&wMg7`AD9OZPfnc57{mgkuIj4AO;ac zqlN+uE(SRiv|tp_bc$ezhy^K#K12c06o~^BB4`EFjRs6-zQ48hKIhze$aYAWY3t)U z`<}BOYp=cb+H0@9*4h|ZvDdA#uV*%5xB&O<YgcQwMizXQ{1_I)uti*bok7M$YJ!HW zneG1$GlS~T(6cw}A_^8K*n=cmq+yLyO9zZHPVp(H8^r`lvhQgZSuqe}V8t8Yc?B^W z!;1u5Of;#|B9HWWrIKV;_%JafzOH1EVky^SksbsY^&WlM-qD1H)o1U0G&PkXJ=c8Y zKo)*8+Q&*t2KuDuAo_OZfyHpuPT_P;u5#)=dMT2!fb&yS5%o(kml^F}jlW>b|7ZeG zKhu=!38@T2ZF36oVGuXexXACoNka=yH=z`y!ouuC!ss{B!TUBMWH|X0M8kMtT?EQS zB&?61X*rS9orYGBNw2Lc0yZZTbdF*!T4O~d_gd(|FskYkBU}<n*<`6dRN$(pmE_d5 z&OsqH;CFslCMWbqVae?xr`71lVQHe1DaZ+YmR2ZA9WtiL2~Uk`k-F+|)Lx{nf-stp zNkJGI@~;^={QX#UNTS%zL!BzHXuD1vM|D`*KJX{?8AyRzr0SCbjmhlFGZe#$6`?nq zU=%ziMFLC#7)a&T>R_8my_|7~g>X79?U)k7wOS>q4Y;{GNSK;>!Ooor5ngMLV*kjd zy-NOicJ?n`3Rd}0(F4c;O++vpQF~M54{50fb!8TTOJrJ-RR}+$_z1B^OyWy5>L!Cy zjjO>3aP;IsojG~Z{81_>0eO9obbF+2B=1c7V0zqHJ$X2r{8uRJhCl+}q^+@UReVCg z*kE?^qwN7I8_fO$wVfP8dJd<(kKyqur!Y#?tVFL~Q)NOi;%iueD^+nsQOV%pQh|C` z0R>8Uj4We^LF1LmqmKcT@Ok$TXaee89e}^JnlfMcwbgOm>D`C|*hZz-x;mIOjQa{= zOq<{YgW&3Xj(v*mRM3Gc)Bjf5pVSDD=6-?y0CiYH){Hg65snS%#ty252c=d~(<;yN zeh~=$3wdO7#;=+}YYapv?E3J5@@QELqA&r1Z6yG{85+UiB*RW!)H!50gV#e6K2j+0 z?iV>wW|srk+^DaIAXv-PfNr3P_8|0ZL;N7jSin)0AogA`1_oWflV$%3un^;Ir7_q{ zi$q9r5Cp+;jNG60iOKLnkal_@8|Dr0>+)_%fRf4w2!WIKO95nBC9SNYvkpCJ3|5#a zraxDdSO8YY8QNk24gj{8rb0MON09^usqW+#m^daa5yvGvoBxueaw`9&P8Pvj;xxoZ zi_wtN0h>xqDIdUH7JepWuYyWX0HL|LA3Z_q|K8VzCzL^gA@ib7+H#vSXsqnCcL=gq zXoC1Jt?Z~A(4iL3@ACYe-UpBrP>i%LH}VcvX_e8G%^mfIkAZ-!0r<Tc<XMyK%4`S` zOC2vF2L-62J|cd}+=+O{7ORRSOj``8MJn!s4oWupT$!L3oLvpJe)!wew@q!F?s-m@ ziU5|r7)RKo!#2$bsvl}y`R25z^=og1DX~A-TVG=|);&5fv{xR<S+8(4OgN%(-#@ze zT0uAC)qe!&O!$8^=-Omkbmy-K`Tzgu0TYRH@B@siNERB`35di%IQ1QnD92KK7Ju{{ z7WBgU3kC0oUYL?q7B4VCYL<w_ec7|0X7`F314=sjb*|oE%`)eRdWXP@kQg**Oo&*k z&}{3^;Teh=*T<J5Ff?wJY={Twwp3do2eb3__lV1O9#dxC!(GnTA3kKCvrX^G{<L#Y zUk0;HkGM-^U-sPV2nVIP>@aGEu7FY0I@o&O*YS-lKubk|d}}g6Nh5DaH+G}X?P&SR znlF@m<=|;)Ht<x*Ab=Z~YWr27rV4664xCMU3<eN|iOM%%^Cl-mF+laXkYE$J51FCh zo3eNWi7*33KwtQweXb-S^phF^7_SsIs$Xfy!!}aJpJ{Hb(o(x<dhL|lH#qPk6Ul(v z^)1{)oFCrxC_rJ^tS_?1)t|E9C&~mvM51ARLRz0ArWZBMjdXdn^gtvly;?qb)4}Z2 zFU$w87FG<bSlRA@m3Yz%%zX+F!+KxxRiMeBP=hFB_Gg|7mnOu&@HgS9_W65p;$Z8i z#$<vzH_{p1M{G<?NwL5lVddiMM&%(VvSm0#rsh!v8wR7<`R|=CySBh}d$OhV%Isym z2<SIc*ee`g%hi90XQ}m1(K-eKBiLONx*BWlt;y*T2m)hqwg=uiyEsDl#i)={ZR6&$ ztaXGmTED@JJgjUeLZd8$mv7*SUFs6gH5<odK5u+M-jLSyRT@v0H;x2Hn>U8WDcjZf zOE-Gsi#$t>pByuOM4R-!nSC$YY1u>uAXFp4?)ZBK{KwD*h5t`hTMh&h8@~?B6s%xy zO7jN$q6vU^>1v`(Le@1m&gscc;yLVH$X~r+RcZ8JstftStBTP<RI|LTkL=IgXO@$- z%b+Eij1<YnG^fZHL=#ZtJWo-y(FO+~HcUJXV^0e)SktYeQKwq)()zdyr_8Lm5t~|0 zc`yX;BfB9%=@cOvv?RP*Htp&Z2aUR9&qs~J15c7+grtU$46S1Cp*j4EBh1pWKTg^^ zT(4k{YIkWeiI<>8cOMvtQ61gDz<?x)S^#wS>qb%f6sB${ml#WX9b;~Sl8{TLp@ z%V&~$OSw?Wr7j3+=>~cDSF-mD4zqp?emDgj=gm7sgBj*uQ$>U)!C^5oeZm#h362{M zGUx#gn^a6LMk|yHWDg4#)7#4UIUGMEILsC{xaPbP9FhBU!x5?j4o0nj!{!%oKrI?Z z;ltU53yQ$8ur4zy5>9@+gcBp=0+tt7;v^K4-M!-_&P1=(Cha{&e~=6|_W?B*AXf1m zh*rVm1d<ih+H3<0vt`&>2#8+29zPY2s}|6<bOYSbVl8^BLmWw(1y6tOL9uvakwqOC zDY7)F#nHd8uH>S~#)Empo{{B)Rxhk`nup1@95!BOXW`w01+zFeAg&<j0{}hQg{EH7 zWbta&Ucs(IAB`Joj=FD}+{CglBjieBIOv+mnp<-ttomZ&#)364#jxG4bwP6y1Y2p( zqr=aTJtQ@)@=36QS{x~1Zct$$W(>{nK=fg;>8npZ-|}^}WP2tje0DKsU=v!-;CrCW z7E_Sts1p;C6UZEETXuR(2m_Nj!bBLe<Geg&Oc#t6pD;#vR?9T|@fj`Cv$hC=;mFUm ziY-jo2pb7u|0FV!WHLwqQ)AR@yZd#41UO@T$0;PzdF$v~)!S47L+u^*U&|Qxa@oSN z<<mYQMzyR!4sIfABZt+**AbHkK#p}2Oq9CG;<b7=kvG&$WLE~N-=-V=?Th`@q!K}u zyJxGRcYna44d^nPIN>XlP7xq&3!%}pEp*}ZQI@jQ#==c9g?n+L))T`x&S4JMKs0Pf zAg@a=!1^YoD95@w<KS>lN*Ka~YxZeZnI|_D$*o0l7fE9}_)Hhc2T3ksme6SZ86to2 zPjRXrve1m`Br>=~BFRHC?jv+8|Bw1Irp*5Xq26CHGGl#ZWX4A8_%|!+e2C1*ws(_v zNh}o`jtp<K?2DiNSbl9Z2bK}!kI+4Q6VX-jc&Jm01zY<4Zs?(b%D?s8J3tm>zl8^? zmeeu0$)hroQA!?{kn;BaTJ429vpH0IrS?XO_O=%7?ezAxdwW|wA|vhXTG`&;t36vz z>r&smQhS&$#QyCn+S}vp-R|w}@@R}?+*>SB5uei+Y0s9;x@7#=-gAb}hhl!6&2*I~ z<2(jE&*8LUDXB56ED82ZMuddIPafJ`+v~v?DgI!rt{BcAQu7v%v95TKvH98V<~1d| z%9Bx-4tVp5m9%#A54zj(pi51$+dr*#!?5DXAKU%CTh!9F+Cv@BpEho(y}P|$5-9Dz zn?rJUFO)JXQ!JyLPEM&p3l?bJ|FOakGUl2-91bxth?-%pJQh+hg7VQ43fSMol0SQk zntTXx33%S!R$#;dUw14pVl4ehmA0Uaf^9`<PM%a+Aqt0FWU|nRvGkvo+Ga^z-ZsZ6 zDm_8zVHb2PIASdQC6%_ojCI3MU>`pdAm?HnVQ&MaM_5w9Z0o@i#=ieEMQKczV%xDa zGg+l4DXq{|lpZaY{z;V%_-6fxr6bnxI}zjx2|0>1Vrv=b3=G9DMz=DNq1dI2LU{R} z3VN_Dd6$B~8NYZ$iVgC>W+V(W5CH?_5dyxO?ui5Ph_zbqQBSFSWHYW&aWDd(!S}cu z2$^U&5Jx#T6W5wDM`u{Px%dLb*5!?3>OCc$N5Nn^tko3P0A+#0tY`_8g_dw7wU&-) zH4Gg#=3B+t-{XQ(7ZyW4?RG71f0wShwt|u2bU5F|?gIWD_zgmu-74hRjFnq+8NRY! zF&w5Ft%?IOgFdaB9bm3g34Jp*;QXM(g=!BH8PK#q&Tnr^9&(BpuwaZ~0vbrBw+z7* z!_+F?hv14~(iHDUJh)<*4#j)cMQJetp%?E*{e2+e@IIvv+iH)%FFke4oU!fYL-Jj< zlpG-M_vGH)$-7cwe`v)Hgc!P9@p%{qD1Ry6VyA$dR8g(iODCl~=Vg1@jeV`1=nX91 z;So~n<j+F%7DZC5q#M4uww1@k?pn%&K#U6MLg+;fBNUGj?btrlU8$HVp>Zm_ZQNR^ zyuR`TJ@~S<mdIuR*(PUVwpfc60+)x}<VtOHCy#4VfbFl8@K?-8f29OI@-|JOdXs95 z75f&z=}wwEV(&wj`eU@sQ@&JwGa<Q(HH!wJEJ4HPrlv)pZube#7ev0o?en=8zp^|V z_&nWT9LAorf|v=J!7}mmOiaq0Ynktg$uX7(dB*xIM9HT1M>%_o!X#|MSSs!)2$L_5 zCH;Qw%M~K#xc4xo<dpgJH$?s<Bb~Vf!KrgMvk8w3b9y3|q}bbSXP8L-v@hXBwe<m1 zE07InLZ@kD)zRf}HbbkevlH14)mCkNxF`E#_a;_y2MZ@Jzw}mk5}vdI<VV+$nzmyr zoxRXZOQ$4q``DK3)uE~X6PTOu<oK`AXIF0N^?N%#8;2X!3J1w(SMkCDY*>L+k`ueX z=14~NKb_uiZ>GOZ^|pnAzU%E)y`79VY+|yqEx}t(A<ShGaaK?63SQKcAdC3C&ATGM zUF8inb*)cjf>(Fx@TjNU+X5o_T7hSal~+h@q5GZ!2&(1XJ`f>GZGGMj4656H>^g|| zWc;y*-AVY-BZD}L(s|}iJLE*r(g`3HgwoPnZz{TDwXyB9c!{w>_T@s2*QuFP$-Zyx zYI1II{c1S$#OOJ%#!x6dy1FXvz>TV$#|9`T$O{zR;}!sqfRP21bpb9Mg>gbRZ`4yJ z?^i|I;-e+nc53s#MstzkYMI?sf|qzhTDiK>8zvJqZ&y|mQXeFlrC2^giuEvIFkv^# ztKJ{0ZcsJ<cUOH0W2_#po3Icht#VIV?VhyiiQ3R+*l_4!1+`7R8BK`}{2g;bBOHbf zUG%nui)CM`<^+6^r09shI;w2_9p*m;U(m-ZzBv1|Va7P&s{wt{6!IDvj}Fx{DdIO? z$VGG^!2&CX!0Yj`B@~HTJFSZwA`}`HfsyPDfHWh6I_7g+?RS`kYDKRATg`R`i&so} zHK_1w$^~Z=a|mVhi!vd*eu+aAIiW4bodp)vH1ryv!H84&Q0qM}K%LJZfn=fh<p{~5 zeNs5)-Bj$N?0*#|hSuVJzy1PX`l461<$zgXOcW3wzsR{yK~T<A!3<$mWoic}CL9@A z>0QBn%!id@x%8E}k9FI*PnvTd@9rjUgm%Wj{DTdN+vmUGM7rM0e>?v%^az`~Z0Rul zhjAnAy1~^pAm450Y0P)Dm4U%Qv`NMVy7>!u79?ZWwJ|2nl;EAPkqg|stif<P=wP3q z_Dght6?{Q}$^`+MdcYYYM{tzBloZ{#T`yiLy+8uujo))<6rpy{aE73fH9}>{6*r2( zp`BIbz|$LI*M+W$ui*`CP<ucSRcQtkV$N~xv#`w|j)qSIb69z~H9cWytz3yq@j@{A z`XQ<<*94=mb*6+XpS<8IPTw45Ve-lhUo>1SdPaAe%Y0cdOLqhNAA`NpG&k&_UkyXT zXxDRut%5x$UN{qh%cu|Rb@$oWCyHEX2uY2#(3s^{1)K2NRYVn-t;92zMqu40I&r_> znLEXXuUPDsf2&LPEOyJ45MerjX7-6J5H<xY<0r3{3opn%Sr+t{KBiR4)Yed8S0!Io zej#Y>@_QLc?U6NE1E@Y~va<yOmN5`B5rm@h3O2KLPJP~8UYk~(%=jewnsFX{2^Heu z4mJ*`d{OY)-O}!#gR_uqA0DO@Fuscin#TP+&U{<|%59AI?=;rOrosF*<#e`-52)GX z(FG&f%0qfJIh>_lhpbA~F?M2>Qb^nb)>(<z^p=*;aC5;iCOR6$Dq}s=`hIhTGyf%l z2JZ2pTM6CyuQhZsBEVL65FE;;A5_p|kt97%`L)GgdM_vF+g5Up@c&S4Z?fzkzE$Sg zGV&%J1yX*9syid@?Wc8$et-6U^>q-fI+1zs;Z+?Rso2fm>FD$O()Xuh&+q$k^?jX* zeSPmgnob;TPjIi+xc0o1*wh{;KQ*MCRyr!J6&e{pWb7s>NM15+#wU_E`BvFPS6#aE zUO;iI*+QFweC4^ut;wUIX*JxILj}7)BWKl4ms{xw1$)yGb^;<gH4KU{8bl*yVvGIa zXr^i)dM6DUgIq;a>#)#*ujH;2%`vJhhhOvNk_|V=)|?XR!}Lk1Fif6a@Bf4>hnr^H z7$@D8S1ydvoRM1EFz1~i_pK(>wOl)7dN<0RQeg7G4RAWdivqrvU%3f1cU^6a;c~-) z=a@N<jHwNrsbs)Tx}J{M1ZTKnCyt&AoI@r`!hk&dn5S|oy`2ZFTeCB@q~;piHC{Sn zX>zb<N7AECdP5qh*M?s9noL%1ERzqSK}F-4_Zudmae+yMap{`pCeIRBJUapNa~s7m ze$D2;pt<Z!{KY7aOZ5t3_^Vx{dCIa_Dn#!gnxNlshU~Z@gs$(a?N09G#TPmBdKb?Z zc?uLgg`iR6AG|OGF-b@oCws_}UliI7Sn@BFe2^KywRvQ^-Pn}J(~`HY8V}6zlr^q? zv)HRKH7+33D9{y+I@`<J^yaP2+w+E;A)3}gN(yh01*FR(e-pJ|&X<qNp>vgti;ay< z^Eps}U=IsQmq)&8nEuVU0R3gG0S!g)$bUsTVlV{ONOS}T8>)0RuT*Fd&Lu!z2dd>2 zoLi*=cYuRQzFMeIpS!pipt`zBrSsQC*76!o{#Ha*(Ju>tz`)b(RnTqdSzgWjD%JQ5 zU89!e6<o|K_$%QziWHI+_8fkd2*M&23*_ZBU(0J&5C9)J#LeprU0%b9$nuQ#_X`+> zp0FtbQRw%UD4&SOrDHHPGrq+ULEJ54x!*`ruX21%nxcBv9MRmVy!jPNfqT1NQ5@;C zHZV1w47+A*5!tM<rIPHu-oLcQwi@V=hHGF<DRWX$6m$eG9<mCw^H@$(C70hXs|zi2 z@(1z@D%<vBt^BaKYId=Xp=WmDk6)~0Y3mdJqgIoKByJgV*B;MWkMbEg87YKa7|#Ke zsE@XODw76z=f3LuI4Gg{0j=fx>PJy2XLSyb5Mhana8ThT(X|pS6SorBXi2%&KU_;H zy2b*>1VlvO7C1X9-{GQ$er!#y)#H`w*s{xMq32=MDw)#t_vaDezW**a17#I6C=!DL zQ+Q>8)7Xx#Lw^)Ho(MU9AvX@$!Q@g6BVJ+lk~KhBL!k`!(kBeR?-V)>#|Iq8`}wSG zP{Xv@{j8hK)^DStLqY4dEVvSAtpGWDJLAN<Z<}p{209&ou9IX~=GHPfTqo#W0tWEq z66bHE6MHJ(N!944)eidd*7rSt8isB(2<LM!op=KqkqC~2->z%|Rc6Ax3>D^8XhVT~ z*VFpt*V|sk?u(VykK<thf2R{l3oP~Ag+~cwLHrt7aS`<2^sd)%bTGndHxWIELWBH> z;fSsuMc6yi84+Q8`O9y76yc%?@pW2^d#BI6^H3SoKmZxvtDYO)K?BY!MR!EO>JB?@ zN3OzJ_8o5hy<vB&9O`g}Go2Q7s3|CdN^3f2nXky+-;z`HM~8saPG1s2LRC{i!rmt$ zMb|#(ST?joRIkL&h@{9-S{cH^DDfL=BmN`6I@YMQ{^R}VV2^$?W+ZS$nQbA%a)xjC zL|*`Y{nn9G*XA-DTCatDX8|du)*$`Ub>U0G=RoU&-=eTkLahv6T95Om?{O1IbTFdp zXAIr!mft)SM9%k;Cm@%`gxpZga*$C3IgU|V1O&^|90YHYQqQ6sf>Mmd)tPP-AhGdc zOt$G=)#_!awWq*_=*v10A_N5b7=*4mc8hUmz)9qKz36I(Hqrw8fr3O*9el&<=>Y>4 z`v4L=XrpL>E^6nbsWwm|f;j$6H4E!&JuZg4+1=4qI%&t*KJ&ESp#FU3NlMM>vR^Sm zbXU#T13Ur^ApgoV{_>|@3___cf1UpQ_=`!F&3`8T>Ym`QK)tecqV$PUUG-AUd0jBN zGRSK)3pU4tqH50Df{Br-ffRB^mPRX=v$SU!UH1mM)&*!<(qss?lC}dYG1@l9p<u;i zCv!LR2-Pho5LlhlHwXyy-G{0M>KN3T99f1O_^@<<as!JCi;V@t;BC$0PD83Vg5v*~ z${%#07z^1#iI&8<tdcOPa`LbFncy0f0bAGFUJMW07{`iS@0^*!I<%M@U+7?u2U~_i zu!i7-7Fb6Tk&|;)oK{!ktY~{9R#?m<XKleDLCl1#pnD@P#bhjJpy)Amex!~Lu0CmO zeOi6tfhq!uYhCNPSgBZY34;N+-V*j0tF_iG4I@D2^91}ek)RMKOxM-PXc1;>C()cu z{$OxFmHcHVlhU8mS5htP1K9&NLrCs1-(HhZhYc+KQMhN&5g4<Rzw<YI+ePXN?C%bk zJkE*`?_ZM7B+@L4Z}u!XNpU9oqj<Mev$^wsQ^{`O&7WX;a7jPTlEZ_WAhq6FAsni1 z>gLbmkG;OSN22Vll{z*fyyTBwN@V3_!YL&$`J<P&`AZ~6z0|V7OCSW7!*E>=!!e`f z3xD)wpM60l@7I^6zVJt1v`4IDO;#g)5zR;n)R#Bd7gqTpec^iS!{|)x%N-!E0*Ny3 zc~rGvd6LM^p2YD~i(LMp9+R2*^M_wUr97Ff6fqlGshG^{Li6xzAe7*z4uY{Xi|z1+ z3j~;LZ_293UOgK-(8R{J)-mFAy$KX?YYaR9d%%Quicr!pbuL8EL9ea5)2a*<YV}I% z!;QB2`Vu20G)PlJ)>Pl&$C$RYM|m+~FDCK0jZn1?KlYeyXR_k9C}?PqdM_9aiN5~A zXh<G$67L}weHAseENL6P{h~`wFZo2Q%^&Rp99y$>LqcOC<iWD91nSy*H_|KEyu~44 zwpDPO56;gaSd~TmrRN!waigM^tyM^P(M++pnf$03k`Os{Zxt+p+r`%|Yz6T+6UIY} zwG0a&pk2F=8nJ@d^OOqKGwbGcTTAhyHr|R!+Qzk80E5^QA?U)w<xXxaYNB0b{BW5z zgQQCK&$Aikrp0Na_a3U!3bNtixneM#A!sna*v$}p2-&cRBf!_mVdIBXf<&iH1CPVm zlX8NG>9^W_HBCS^BQkinBkddIO01y57uDnqi6c#{)m|i-QhT7zJ6)$S-5U(!tY()W zLTyY~BS(8H=1B-dEWugdeTIL*hg&cZ&=$vXf|kB~6_L<u4pUSM)fPizxTrfW04SoP z{?$VVQib|C4BJ5C%z{Bjvqdpu-M$w3`&H{H`xK3?CU-uz6?H~4I&g%qcx+Xx6owH? zU*(GL_*zxG=WA8*8@^T*BMN+tko>W)Ma^(iiRcJpqG(y|p_Hl&d|@K#2~ME{79UM~ z;*QGACIG>R;EQ!abZ}1<yIjdbQXkX^JB%LOlQ1-BuAc3D7<}kkdQj@4T6VMlR=&OB z`@Ev`ejYTyg>r77O?Y_;!B4Y^$DLrYl)kJqul4>KY1x}i>y}q)Ig0|!&iQ1dcv=CM z<g}x<TOZ;&QEqT*wk^zrFIiiY*=DD@{F;X9TGupG<24O+7AgK;c1;7-Ux)#qePzm~ ze)>1UH4TZPgp|PfFI@TO;OJ>!SYH*Vh8J^9EvrhEs-*k{Vj-W!;GI3kZOJ8iFEn1% z6Ap19n08ZYaTy?I1c;f~Co+?MRe;!XQvgz`lJbjXK$Zd^F9kpr!zB#>a(Njb|9KWb z%;-JwEpR?SYh#4?#bu0?ssxbBWk9Y5K&}KpE{8iBD1WW%j)q3|13zB?!WO55kt@3# z^RxL)VItpav@`z>Pe^BG1xQ5Nm+i+a5vQ-&T@5rSQbR?jy0$@}(e}TQU3-p}&AlR# zgjQ<#vbDUeHtSKbyNZ%;y7yq~2Om@kQUQS3{Hg}WQ6kMG2*c+RV5a4Z4}~1n6AGE) zSxkw~=QJ2QjFgz))KF6tcRFZ_<|)GDnx0qIEmr+hzb+B*hIF;E#^`LHY+$fTv6~ud z*=g`pZT-VN{!I?ud_1E#Ee#@%kkup6R}g!sZITDDPVj)ZTjZj++2wefsvntEvs_X* zOrZZ@Yi^hJ=@QH1l#UbTZnMeGS;c~R1lGcx6O?8uEgQZI++wg0ZZQDRNbr8aLSB*I zBftzW>`)O?VOd3sRJ2%B6baTZSja275+J$~D}t1lRdkt(t`rqT8os;JKq@efcP?@~ z-PGWBKg59}14P?hBjj1!{SfH#EuE^>1{i10aJB5u+)2q347hG;IQy+O;@NCJ6c=u4 zsAV($i(3Q?46fQ~QYJ9vmqlbD%?%ED`gkeNw9+u_IlgmnQZvHTO$}=An1x%QoLUjB z=QlM(;)SquQv-uEYYbhfD^0eq{o3MLNoEQONZ5k<TjH4myaC&AP!f!vCl)Lrn}S+) zwXP;l;fEL^=z|G+b(L4)iicXZR1;d+q(mx+Ody-aQkgGW)O_~DFGAiT_*!D}M7p0g z4m;h?&VsK~{V3LJ*%{o?tpjW;<7E#Fq_+rL3j`eN%`W;EEr3o)@r&xzbt>0Fi&scr zB&}JgOCLP(^Z}-BzlAzTt1v8#8ftd=7n@oGrhwrnHkpQ@0ymiS@CpnSxS6Y=PKq#O z=lB&Z)2!dq_1(2uK_OpH!(lYNvd>H0FEdX{z+WRh+a#+qACO9PA{R9D`68c1HgcvT zZkzGBDLvtH5AlGbXuQuZhX5v>oE8KZ%8>d9>`u<>OI(xO^i8}?uUenoX){Fx#`#q? zRWmPCSa@#pPSa4OzP3KT*>M@`DhVJ?w^8tbV(qSrDtt^T2DA>+xve%%Hc#`#ge+l2 z078=*B7ZO|eP6P4qlK+q&)9`?MsblJg=}F3r4q=iV0+<fT<9UNk}#qRE(&QR??3Fj zPw3*<OZqV;0hsv3ee`BW<@QX@YP>@j`{M2D;KG1B1Ab#XNuR3gUa|RJ*T0!?343UB zh6Ih6%!wwe()vr3UDDO|&<2Tc{|8POwTC(Sl)bR*1DQsaB>Y2L#%8=-A}R5fB-WN~ zZIemPnmtjHEkVCrE64GSr#Trk6Cu4v^NRV9zvskOmO+*uzW|*j>l&H*W5jRwWJ<hs zlHAe3&C{F#^IWedwk;cY&hVV%$$c^H8+dXNip*YaB&oJYZX|iKaj>(Aez!NLz3rQ7 z3I!&I21uGC*{VT(vlhGZKNd^OCz&3dR7Z*JtS9Av1k~P&EW{f<NcUr8(v^aL^2T%% z$xE2HCM+72bThwR%71MFHN3c7m8wdfzBm-f{MC#ikD;37XEcwU_Mg~#+sr)SKe_18 zeje4&n=QG-P*U!6_;S^Ma&e)7a9IQGx55Yy=i*g5XlpN;uH3)gEYOn-;efYheWfxt zw?1_vRnJ@1?KYQyTRW}4-AZ0|((t?_ZR3g_%;R6N465Q%86=JMj*$xi_zEvXmD%|m zXY2VzuLC|yz(l|SrVB1kn@Vk<gZyuAaA3O(gB{OnjG;N3-~Zoqq^he{b6Ro=Fv1h1 zWyiU!W@A{jB#@^Cs8dNkA)d|6t~DXJB_j-Hm=KskmnOssKFh2+Oo(IQXP6K(!Adzy zh-bo2n-Eo9=2Qmt<<g|EOV~=F0xXjjHIz{7LX{*O?63Kc4e)8ZY8yLkHUyd;E(Jr3 zYZqCnYl~nU$BX#%;C>wOAy5^U_ase?O2w(f=Ym8uDdM*lNf?fC!IM?`>0U7t_}sQ+ zscuQnsVN<EM)=^uo%ZToIuqbKgWT0FbqOB6R*@G%kr$Q~VFg&L$U-Qx5R1^IOQd0S zP{b)s)*0h~?Y3<!;IAC7tuYEG!zi3wHVP~rYZaLdMP{wY-)@bF+36)re{iz~3T9Ff zskJ*K(Y7f0Iv){+?=QZI(R&@61T>>*2l0{<ODS<;fu&f0U6t&?@&d;cYnTFPPFP7V z_Ox%NPR*0?Y>&j62oGyvCtZD@%Cwi328yM0ts)nDoc186)QSL=Z7Z#JY3N)v+iIyT z=DN`SXT}_{X#e6jr7XYOl9NVgqfTAmJg2Udm6~0+eQx<@@LPOl9k`=1EmUn`m!Z`O z)Y+81nOn9REQ>w?3<I3DuOxIVha;gQEo=jEB6QBUG$k}iBB48WuV|h7XADan6Kh}Z zeZy{MQ@nx5iz0|6_;%RTVS;W;Uht$>4s91X5o@+33--C`pP}R8GXl`I<dS{v_s@`a z@mazTZEIczXgKN78)PDc+K+RGR-J?n9Bz_9#!Yq<fJu&@p|U>8dCt5a5`;DhaX%1_ zP~~3Gv!x=oW%8Nn2F0-yY~;kZ*;`4s67f=o=2i(9ReP=DDC(5_*!vobu@qt0CP$22 z{<xn9vgkd?kp1+9GetPQStvo*wY@Gmq0X0!#`8CJ6qAmVakZRfTx-?P>2PoMy1OjW z^Q}Bwk<-gIM>4Dq!4=Uq(Wa4OC|?FCj*C0p;mk-k)9J9hsb8Bomm9^cShG2NQymCI z`8UoMEE26A_W<*NZqq<3D}%NQM-Rq>6cL6ZeF&;G$*^thle?rq8GX~|5kTP%D;@S* ze#Ikhp(4>ICHY?w2|yAi9=h_2U^`eOvEvjr2D0yFB(hES4b?LGa5#H<W@<`y{t}?P zIfPPnS_q{ih9n5L2T1994F(a!?*ssyyHZUakGNvr;mG=~uNIM5F%Iz|88X~^MB*WZ z9&QqJ*g?eHFqCQP0|h-Manp);OyZ^t;fYC{7eP|CW?~VKN<36VC58yCJU1tCs;6E~ zotI@3YipaymlAzX0iE3TLD8U-4DW0!GDSd5j>OnoKnE?QYnd!Srl#<l#H7*2ihXN} z=6p!*I6w!gB(Xv*2e(&nm*L(XNXO|&m)MWVpw5wSho;LY|NBtW<XDz`JHLnN9#%s< zc!vczT-j&V@M<&b4rUf0j~26wNx};qH(KXvI^JWd^`Mq-{e!}H&3*hOw$}>F)O51I zOk$8cMi_J7EN_qRNk<-IZv;g5Kn|kJY=%;PI}2_i8NJO;{T6Tj%{!SxPJQ$SV(Ycr z<KU`x-0z+v(%QZ9Y@fGnNX{kbhfl{CR-34}VTyyL0h^;f)tD*J5Y(>7-1*&gnnsMD zP9;F<9Tk%V3{u6h(t(CdvFfeQ=O+aK*|Vc^57g|@%63%lg-C?B%%fhR4H!E}Kwp9r z`)dmoMpalzY^zpw>ouy(>bLE#{tHcmJ1XDEqxX)=PEGiCwiyM&epsC<G#IQ&I7-#= zB7qKVWbPsLVcbt1R%O|e9|tL^8;0JUR<oD?@FlfR6`cRWf2>njYwoD*w9{nZHH%^W zkPVF3BrNxy>>~9u3%uw@Hn$V-)r?rZTW7nNKuGCIRrg{{3@e%ab&A~LMY0R}aZZF_ zckpyoUNERo|MNFyM&rintmpUB^XiUD+8(7{Xh>%?&QA&$^THhzLU3O@D9Ik=j+zW_ z8jCQeYP?eDe28h6WKAxy!NTOra!%D%OHFCqM@21kswPI)%r;>&1wqm5s5(|nn~~)~ zwl>de&=lO>vOweR^8|A1vP8gAL`w$=><r;1dN8HMyf{%0)BW2t19a&Tt7vvrh_d;? zfieoTw9&edQJ#>{7T=a9R?#vTG0<@`p)d>D>#P4WSitVXY>jMk=M-`&r;y)anO;F5 ze<osCK_Xf$R*vIK#W;$TBrF)In@^u+jgg5Ux7R4~IQlTRSJ8N~Q#aU(Wq1w|<JmWe za3&xr+4XHcxUG_BuMot8)q>vRYNWN*?7>+)1M^TAOH9ZH=|9H;Rxb==p!IVwEDeCs z4>n%@rJ8LqU*DeW_n5{g2`jrRntIJUD!`<}gq^!9_onIs`b`;`3?p31o*6JDT<VrF zB$byMTG=C$km0pOicx=Ce?{Dn_(c_yvD*5~|H7XueCg3X0fA^~G+F;tk7>1nRhisy z(f(AW?sj^al#M*E``Y-H`#(+D)^M#-C5S|J>=!sFB8Qv(@U$C4T0ig|#_cc-F|xgW zE-o<vl~kjFt8$B`r66~HY|-`&5ZJ%%R(uqFlJ~A^Bs&yr1EW%8>~J5Ps@NsDP$GJ} z!5l>`B@xklo`7BFw>_NgFg9BJ(FoYgOxuWc<$oUAgj~1dkk4alhYMK%)Qs!)A|z>g zQ{PVAN(>_duTMe2JGF?4#!#O@QMYQ`cT~OsVTi{L<~&txK|JEIiDin%Bnut|S}56g z^r2wmWnH%0tN&9)+dE^!b;5Ya3qdY+Z+!Gk+$Y=_=c+|!@KnN>Y}{9U8>E`v_h_d^ z*vO~8N5^C%G6<tN=?U8FR6k<=$fKS0OtYycDOKBu8gLLz-J@Ck@iqq^Z3_%N62Epf zq<9=R$x?q@1#5^?4?~{o@lIKP5XoA%XsyqP<4<F0&mrJhuZyVErbWb?RF#ZM&o@>W z)c2>Gj<z?Yll%IPKzPg}+3c^^Z~+mk{|LQn9!iPMxItW~pKib|X+(z!Tr9(NQGMRd z`n1ON7TxV^F154yD9Xz2cAP9|he@@WIi7CbC!Iy>9k>w;r<<Sa^c(^sJy@a<a5ua5 z?{y}cO`qoc=?~vZAtdR6Y+i3Cvx_`hm+$wt{qgNm{uX3pi@!u3yI(-RuIQJHbg~oF zm~GEa{&K8hJ@;as(l6bx2~QZw7S_&O16@VtvQ-!20}^<4{KJ|m(mnqh-pCfyt!&(= zOY1VGm@vX@iaBL>J=yFsd1*BQG-?ygi$yU6+PTb76g{#Q6y5iOK^=sK`vSK<wz(J% z>&2(O2Mu&VSLynd1entrV@|IQYS=Z@iPIBxik>!zp6cD>{MzUVVyYRT)^i$alxV1@ zyY8=;hI*INkc=7_%VQ#noD634Yb`R^P#Rg0!PMHBzXoLBgTMB0n~$XpH?a9|Gsls@ zh9Lo_F$XH}m^i9}e=hI3Z7kDt6kgAo1{d9O@5a`zyv<TNhfq<DCD?&s+89q*_OcFX zk;Umpf9`30sV7}0`ZLFEXT|!k^=@brpP8`d*eS=5S~`9g6v)@@aH4cwzNy~{&(UsA z*9PiXMl2h~sGNIXm^^l=I@a~puij&CRo$p^gY$I!QQ#!g?Mwz+RkTs%M|y)8ipkNp z^1%H38+Z)eQQ5%*FI=F|7G^6CToAVKKtqu7z*}<@4`gWgVS1y2gY~3D15?kj$^;Hq zYg7#u!04dt*aN_8!rBF$S(n3NT}U#W5L4eGBGUsHg<#*5-f*PDg1eJdO?WUA?NJh3 z>ao38EcG*r158}|j0nN%woD3G{o}I59{~1f0bQ?sTrJ&j_hUZ7Z^D?JV^d%;F9_H6 zxSSx_0c8?+nml4M0`f|-9RWrfWE7J~I-eb{_UiJc1y1i87>_lwlL@kwXn-Z0z_;?Q z0W&A`gh@Wj6A9kb*UyyFv!(RuQhHu#%AMDfdXCFZmFJS4XCSvmhJL;ErLXJerwX)o zrbo1@n=oO)AlLFMsiMa@d?Se|a5&GGVXZCNl>A5!rZCu@R+d#-AMVM|)4W}e7pwT^ zkO>Fhvx#?(vg{~W!P$JyzxXjEM#V|5n`2!GY!4cHwg;Jt!e@Hej~H(5a<8TN9;Qtr zo27#mI2QUR_Ln(coYE62pOqDnw|#n*wx9VVZ8yAa*8DQc)^6M4!iBau_sH8O-k7z0 zCbWH81_R#q{3>mq{RD0IdfVm;RSehKZ8IQSlhF2jscp{qt?d^=+w;=CdE4icOlMCy zzJE}C?(=q87|MOVMle(iiOTq<s7M1>B9^RqKYKKyX?@}C-sD1P5)uqKLq7J44#Dx7 zsRnWgezb&jbT(xOzV!7gAV8~t)q8;8yg|@aE#IKl)`_=LlWe0-K))J#rh>>9$TKhH zdJ#Ifv<#jf7d#=vF6!4ZJb$|qBftYWc45Tf3Dxoq6By7F;JF;&VM;<d29M)0ZXtju z&WjlL6jF%uBE~(1`q4X!GccI+keH)q(XXG@K8;?_*&Zy6p7!yLY|hl$B$yyfW;PvS zy;gD-v(UMyuk4=1@t4LSpE3#$DrO<L!kqE&q-Cf?2LY-V0#x&+KEnGqg2H@R2Fhtb znP;0wbNMXseT_F4rpe0Ygx1j9h0q-5R_saw5{$VhqG{D!6oKB40Z1@&mO(KO6blZ8 z&6gODRUHl!=5rSL)jG_ipmm!mfy4rCSkU4e(OS6};JU<92WT`(LKGP&U?sFZbUJKv z*6hdq)+w7t*zMtZmOYChlym6|HY2+G-D^L!E<7s^6v-3iweC%!pt=>P{@35-pXpfq z99e)`VP28{GAiRfMZWA)%uWO??|hR_*9?+*5v)VPs>s*Ny3pFc_JuF@ezES%{1WOR z2ZX<lnjCco9_uGxfB>D2sVy2<=zEPtMzJOD&2cmJ<i}QFnSFDl|48=e3G_iM%BeB` zz@YI#1KD*>B<f<4?5=G!LW4+Ug=ud&TtX`HC61K`<81kVBdYn~59=>_gJQ4)Y^ZNo z@T=rQyGXpbO7<*a#MG_Wp^6Mk@^Etu)VA7I3;$<Ht{fvWS0%ef9`@-ro9#p2?&M{C zkPTX}0`n-X^vA=MD&g^0>ASyD!e7nBS4zZ?tWZek;FrG6r3E;EmPjWKY5SxO<aR&) z*c{^-m-!W(5E8SMOC%gasRpLaCk9KGg=R_oqyzANf!Qw*$-$@<>>=jT`e%VwmGFE` z<%?V^=F=K&`IPW{HhUw}4Pjd)Mp!l_95WJ~6vCW6gGFzRdU1_2s6eWdjCXn>X}CMU z9ETcpq&&8FatElJr<9HwWXX^Dnqo$w9+J4t10m7u|F`g?ZkGRBc|PsJ-)Z@mh4g$W zeO_r>1~5M$Ed&20y`%Dz*g}~eK?eTE`H@YdYOiPM!Peh?y(|r%X}Wiqu>^ike?<oV z7!CpYasz*=JH5=Dy)f{v$-ut^&gZ^8f}^K_VSUw7&x>Pjx7uAL<xdB5b`Fj)bf(u5 zozLhAPEQ8|e@e|S1EetUugSpwRRO}7lmRJKNqN|vc^ViX=K>%v1VHA4fj{NXF9W17 z@HaQ<R|N=`ZDl}8RRYNQG9WmG7)BNXAm@XDKjkm3Y2aT|JjfCtpZ|8|8zrW5SsQxR z>Aej6Eg{Bc1xN%o1hTeK0vlR0@Ta&)%>^z31}<^2(|4E%%8HO1_?z)sspXffWh^*z z1OK8Z4K4wK4E!w>04NOn9Y>}Z5HPi40JFpt5QV&?Cls>SH6<2v8jKz0FeEqduV*v9 zE`ZBm&AttVc}<g>>Se7wLv?D%4E$;TqzwFd9ybI3dUhN<nSsB3lYu{p6DV<mfj@<3 zsHOrZ2nPPZDg%Frdzpd15#vcW@IPq={sz=?1App|bI=X^b5=2D=JfS!&N@Yxm`clr z?=;5mbHSXRiXy?gfq!0+ThTKEVntf{yXj!QWJOO!kznucB*-3lMecG?k1hvB%F8M` zPesw?fQljwyMe!Pyjh08IGzmrXF?x+;Ajb=?XD5>)Udfo1o}mnZs3n=cwyjQ&#v*S zFz|;)F}5c^!KJMS{>#P=Fz%>KHH&^-l1)Wm&<myX)lzy%X&Ck~o;vX`!i)y~?)hNj zOD?EB*r61&6vC2$KPZ_thOX2?Zs6~ffq}n~unhb?fq}naTXy|6ex86LNa#d|utA8O z_3W9#z#mN1^h(zg1q1)O%+|qHNB(P01(69v(|@gXJ_zxPkT(y$&cV!-7TqryV_WKL zGifxT%os&i*I5U2M0V0;ItJ2P)Kqi=j`e0|{7Wxi7K|d}7u7jOD;Sbmi!$~<Lt3*^ z2L7JtHt;vQ*}CL0oqy>Xy#fSGfO!RiqNQIwJ0(qyIUnSxk@+kVh>2$PY?fcxkNGbF zBm@3w0l~WLD2#HP!FZ0(GXY*1@Z$&KxB%OQeZOTr!)H;Aba&{6jLj|T3=lTAmj?{x zb_!!_-3<XeS{q~Le;HCAfZfTd2pgxG5*s+(+~$Xu8f<=Jj^@7wM3M?bHK+cxelhD* zwM)$H-2nv%L8r|9*^z4MfZO01fU2#;`wRKR$$B;W{{%4#MWHODRvX5uxJ$m)kR>b_ z0BAx*WFIE(`HE(9Lra_6|I^8WU4?96fu$0tui%Q|Ym@_^zk>CKZ&6su@d0;7+W`ri zW&a<wlD?-l=nRyL-RrUnTkD@0`f=Y)g(cKZM2Rd&x~g=mGpw{i#10?n45x$p*_m?X z@_uv_wXCHmmBYp$#gWo?pv!?oZmmvss;{q#e8~DlXUG?!YW5HdR><Gl-yzaKPxc6V z4PFtzl$(q;(wZt#?5Oblz5czm>^nA5A;S^R(6=H(Y~e}IP+yV3+o16zd>YyJ)OU8I zNIjIb4ri@@1$dYWfqR8$eZDjN{!S|$p6+mk7g1Exp|@~AM{h$%edz{G``-Az&d~e8 z)zGwhPTbCP@GV?VKl4-?E5;b~;cV_X=Kt@u{#Qux_qbmhW3{Y)m>={1*WZ}kD5F5Q znJ<sLucJ!S>CV`bT<FJhoVblV2=Mykk#vG@A=~hi6yd|VBPi}i!&?p9le|4bA<uWj zP~3Nfm%5sVV+u6I**Ud}5zWCvoVZ$FC-*&dgp=OEw53Xi)VNn*uR@zGuX`eGJ=tlk z(!h-XIP@fE!>WYSV0A!dQQ0R#d+jQuKfxhY@AK~`bR;cpe6q8NCU|Vt&zsc8kx+GK z<jKy>dYc~MNHYg##G$x(B><h9kL;@+>1<})IP}bp{jS}<j7`tcZ@G6!ms%mWe(ck? z%8m^GHT^pN#Y?q&p-rw<*B5^QY2xO{QE5*mo2{wmKg*R9mWPV$r{@^5&1CkHTFD4T zO5Ua3kP{=FB{r$5h||?(repQ~`#ODkF*uO@$iFAl!=~)m$B1yC<JRm2z1W=1<S(vz zj=B8B#a|}JZQ14Dh((U+#qR7<{$l1dFLq?}d65NDyqL;!OwaLRb9Ro0pYodEFbNwG zkLE$F(2Eap;;`0xQ7@RHxK92ud1v=zGau*)y$0j@W&P&xBi$h4+??L<KFkIXRS)^u z)Mh5h=#jK_B)#!Sr~O2yqd^-{E}2V0BHjOV_?<T1!|?$pC$ivU1C22eCVg0NW8Y=W zP6waT3Ovk-=<_L)mw9-kGx|1|91UY(2o-YFRo#cV5)}?XmMzQ{u&K}qziQ;Vn&y+5 zebdjW;)b29SsCcKDXJb(h8EO%1GDsi&fACR-1;Y;)bu}sZ6@EINGJDqbU_ENp6D>4 z-iGlWYs^SG`UHJ!7;MA)*}<zMv#5Fmdx;jauQQpB9)QD+q{I7p00{7><44kUN5CV~ zVl3VG1U%rTC(`tZ^yVjk{-%_far2RM(-B?D2fo$mBTuxsGd69DY3T<Czfis~4mgv# zsC>OpPj`;IgC8nl#$XMB*-Qs??k%hu1dQ8eaw~*lN@*1Uz9Y0fss~6+ho4}k!<gQI zQOST3>YUfA6EH_R>W${Tb^z3T51%pFg?eV7%j|~iSR_vy2A#PQJ{nZx>M#iW6Fk@J zXVF`JJ&}$+c?3%cFs%M!b7<Wh<nWB4zrnjX4Bwy*pw?n9Xrz~;e>S*)Dzcm0&v6w+ z-l5ekoqPhDmLa;W4?_*JyM*p=ZWNSu+$}qt^YIsWxl!W=U)2egp#>tkQ2_Aa39xwM z6Z;FpAUjA=zI}<ZjHaD^PaHYW^*zO|P0I|+vmIEP8hQ{bWr~fZLu#wX+8R=4iDajW z_@K7Ny4p&7Z!)@X;>mPKQvoX2ci>3|wA><U<Dx~=MOCzEG%lcv%LhI>o(zVN_G4yq z&QyDKcb3b<r(&>@kVw@dH?eE|%)6fK8b0OU_olW5`QdYd5!1^1%Ky_CV)HD@;P(%3 z(JZ0Ck#V{90+6Hn48gFji=>(1rMscQ)hhRupJr*7P&>y{?elkT=wRzbyD|J)f17h( zv?BvR^1X;9oQ-IaI5VVt<i`CF=fz<4wnQK=ebsw3uR$<3v%KTn{IN)UP9QKn)ZL=L zY<haWxZAu>Dl7`)22g*@+bF8mTPbtnO(Awtehe5TpI_5CI@WcI!^qyeD|O@YsKCG0 z5BNd<g>ff9NW^-tfT%790`*nTHziX|co!vKHU#LXVM&dQNlxo~{^;)HGCxc0d^}t; zzN2zY2EL5l|09R$a+dG43Jnyu<BhdvSB4`t*<oEVY#NY>0L0C<8%xk81`Us*{pW^e z_LJEB4aZ{qV8f<n!B_OI&^C#U1#g#lo2wFRT$b2z<C>^j<sBRi0ohs~d~--lAMkjC zlPigoEk`$nMfyT0<o59leKnO}KiNfNHV#~`t8k<?4CsxNW`14Kv!KD>GWjH;R7A&i zQLeN`fbx9B^3JGDuLJ$+wW<+PIACWDv>YT`Skv~4C4yWVAc&%T&$w_tT-O0R^W0|v zcPnEP+d!wOGAIFtBN>T(4rJ&5H3VGOQE#N)d;<N|ey6<B1PT<$jMDgEOH<4o8yMEM zq4M|)*<Ns|wW4h*02!@6cpGqP0-RxO@k(Qrd|;<$H)s)z6ywr-GD6A=;VMfyv^eZz z;OEx^*@8M`cdGYEky{>(h0vi`py6PZY9RaKa3CEerVpqFQi7nBLx3gZHMY--!+w6< zZ)Rp3@Hk5UKoAT%O4-eoA^04(x*IiMDdQ8&6`=Iv%5av~@LAPh=kI-5zsogz>@AVb zeQ=-vib-J8fV7IqS5(P2NU3$@8>vaSz6x=PA3&={Ta27f*?8JqB9ps21IFM3nIBU; z=^P%Bvrkc5l9pl94us=y{F>;?iyEO&hhw!v1YpyCME+M3FBCe|Geo>BAVW2HFMVdy z-7q{%Hwa1U1Ik?;wrtak7iNr+uP<^`Wmqg&%7SVB6pgmKc{JnBoUFpGx$I--hg>uz z&T4%M$%an62EsfG!%3?F_h1KJQqZd(J*}iS@>xgniK<Wm`D}p!KoEgvExT=;p(S*P z4K0hYch{IE$Z%8`<GEs&wS$oY7c;gPI!1DQU@9}Kl@$~1XZ2({E}$DdF=Xt=$PNhu z85}z@7_?SU@mUN{$(zkGySY(ZgCZQZF1}r$r$U*%Tgi-<ul`<?QHDvZ+U;<U_?q2j zX<5;2DFgFW#k=im%k{cFizcn;HcQ&FOU8@-%fn-NcUkQsIzm4J?(F!NPlmdbEsY-y zGczk9t12hyNB^gGHSH3LRN0j=32-OJ&<@$1L{nTYZcc;UTdeE-lC|3Lq3o<VR<lo} z`@{!K8*F+dah)8}-ip%<9m=qi%Ffj-3#>*Ky2LAx6BVRNHP`CIjrl`!?luN!!Dsri zKe9JO0OkA_nD<C;#AdH`Kc$!kdoa`zzmxl)i4}Khsok3FZEFIVAE3GDAf{^rgK7o0 zf)D-o%JOdKd84e=>;cF1>JcyeFw>7UJ491zabVxnXf<*Cnusil*cu40SORl~OOgai zS`vaKTnGRMAy=Q)W}U~&Cz3(gnX=*M^jzlM*nR7fWG8AY+e~}SH?;gLFe>q&m$;t? zgL)4S#k?mAQYw~;*>vNeY!pdNHPtp9as)~_ioo2Bx+N?aFrzmlw!XWBfpKlQOuBtU zQ%iBUdlWmxaw^}$U|hfswSL4fcOdXoeZy%Ar0}`<=Am_zz=4Bv1`uLUGDg`8e|;X- zxQEp7&nTr1;Qw%**Jg>W)|u*ClZV8UsOY{S%HmYXo$kEdO9L$pCNy%PY35!05c=7y zWr<N*b}jZlj7D!54H&<uhJfl-Hjq+yH(H-&m6KlrDjE4DR0r2FNsLx|oYZrQWvf%7 zSotxDV!^mW1I0F1P;7HK+KpnNgcidndbL>#6~1X`y<Xf2%6Y6xufn>fZx_9`oL)Dm zl*WsP=r!#%QUEV4wjPDaq+v?L8ws^}eL{sow?Jrc?Nkl1(YSX=4hqn#u4{^f$|Q?~ zN(m7vC9X@TnoT*O#+fccEzfb=_=r&Zml0~8X8CxE3~I~zBg`#k{7ORY160c9gi1N- zcR*4gR8|f$^y;pOuZUQI0J%rR$|40??i*rz87F*G_TZDuVw?96m?r!?c`$ty;K>l$ zCz3@&g_nwGliunCO4l@L(l9e{JG83-Z6}}^bS$4iXQ=35>Vr9?Jgl_MD3a;H+mc7@ zC39C^W>(ouKF!$NE}H`~jG`+Q=71a+e6G<Q2Ge;^7+M<D(9)=Q5P&j;WmzQH*sN%3 zBQ&aZW6;GUYvDbjdMDa7W^@%skxl*Oc|ta4vpih6IdhrRFZ@f}X#jW`7mk_|GU$3h zhI%Jt1mwz~+jv$)fkLc4WH06Xae$AiEJsGRcnL6eW-tFSjlXcGHGZ{=bEzrkTx!ZW z7udCG3f3j8J6c=+hir<!M%~-FynE`DcTc1Kwd!8>%%6d!@oa`iz>=7axHNZh;K`-! z%yOb4gujNI!`2{5cNHk3E0Lh9Rb8~Sok!Ds1xhT)s3(O>h<s>oyDf7N(_t(qsyLb> zPRi2^Qp6@yx4B^_qe}?V;pa?0#>k@9!*RnZkbAg&<lrEDM??Y&Rtc7E7o1pJD>OA_ z_hr8{nv6eH)7hD%BSob*|3TuC=rp}zOToI_f6$!G>>Z0$bQt(2^dH2D^DFTmgf9~@ zOY)f=Y=c!xp+D$D9lnNZp%hT8e`s(-0Suk7UV>+N;1Xe>_$Ow~Y6^$xVB;o#!a?&h zB)L@!``)svAreTHR`G*_w&iMA)YF}kBg?MbMNoC2-sRmlMOQ)8a5xkt8Tx8`1kHg0 zhrvfX{Tp>nk-P<QyumN0(~`>|sT9qF#lH_1D^l5Qotk_A$Du)U9_-(U)|p5HkGK2x zRooq{6~Ay2H=?VV^tmHvn}?A)$MG5*$7>MRy#`@j%xe&*u|uer$0hx#MRP)w8_{|Y zUX$10y7#B+k8(h=PF{oSs1eBn{~jr*0fqJ6P7@EMXw2|cBvOTY4bliAoFpUj8nkxC zwTAbHcGS!5?Qxn?a~n#{Z8(ZkQg?HzsMD{*j3nK#yY@)B!A=a#d2l@4@LZ>M2;AaM zSzFb4a9~yELEf(7Jc!3;$$3z}uH!s7&ZfNZ2UO<kI1l!NwIZ_x>^H}4h@8dieje^U zcn>Lg4<4bjc4>#?8YS^0zAbq#iE}I=Q@`-)90&s$y0@;maTY#=wzUzt8hV`q$K_lm z3QYTP(PIC*qr#0nqIXgBZJluuAwxlDAiZ(o{L9^tlO1S;Vq4f{s74Pcq8BLt^+Lx) zqDF||;2|&7X+igLIqVlP>JT4d<l;rS98x5G4fL23h^|uNz(;EDaU=D*(W<CW$5k`{ z@p3Dq8rZJeQppBATXS@{Opo;KV3+|$k|O<1KbZq<u1b%+G}1+nLLnd&j)?R#yN)9w zLSu<al=(W2h=5qi{8b|<=WdaMy)x+p=EWce(t(lCZ=o2<0%J}@q7i8V<XT+vPTW?z zUC|L)cg5|~vDW#oSJAqnC`u?)_(mw+*t47xIbdbGqCav<gf2<#WLS9wXT)0WjEH2* z>+OuB`~X=rEi(hD{V#iK3j?VTlEkdpQTgB6(r;5>k5?C*5o@_KqE{E4+H1Pr2%{4% zI&dEW-<!F2AG>^c_dzRNj(z4APZI|0E7m^lwX>lKwfoEuEo5wAt%Y>`kxq9rwkroI zU|zkK$7UE(enxR1g?RLNb^pOtKd$aSNPqgZyV2qXZ&4r{p>R##!3Q}kUg10FQqC`r zaQ9*3$+U8|qfi%wywKdtHrRz`e&GtOC0RxBZ>rf2hBT|TS6`Tsz-qdc2dRp^0*V{# z1(JIoW8eGK_wXAHFo#;~#5bbuNe*`)*@P`1$2f|*n;>$ewddQ?^kY`_<iYF<PbzEE zu1v~~J@ePv$$sBYz4hVFKsNC>JdW#cxZvdQA(TwHSxN`0dcHF*QxG#V5f9{We2~Bm z*b)w9zxbJ79(gz$f7}gR#;2d-oMepCtj>fNNhipy*F@OCoW-i)>F=<9pks=8GmmYD zLORLomj$=^9u6{^?_p=D!{lc6>r3^Av$4kwyln1IzhtI7vSx_ZGi!iJ#FRs*oQASb z{_H0(4jO;_AfY<U6z8=<3J_dpX8~jI<RMUUR=Kq@_bZRRz9IuTJd-LrD!=qAk7<G? z+0Bn<wS!!!S51cwF*NnVhHV9a<2KM>U*ovo>~Gr8p@DNCpZXqy6MG@#>gFSyr<-su zE>Xsf!m<o$(d$wDWt^<lgludIJZv&NgeHXJ4i_9sH^g-{j~K}%2sDZK3)-Hn@t%%8 zK#US#hJ*^sEwv!yrl2u>v0#mYH5J5nP6hQr1!bL4qwJyfNIag$Bf%RhmEqlcm^+~{ z3Lxw;MJx~&Lh^k>b^W4I41S2|BO_RmkYZR>NqzatA04@m6&XPRGJWdcVJ6F?9_a?1 z0r}DXj->qn!FHzqO^=!%j4l%m-57!JAZ^iKM^|y`b<v?Z_{OwCTO-TX$CXgZ$Z%-) zRVO^pAvt{4)8V_ow*-~?eaytXej7$gVBVpE0~*I+P|VGxArFla4h9T7{&2>(Lw5mU z#HVyc)CtsBnW{Bm*P2ZG1QfH+;Fo?W)DGH7KN9XVl0`_$ML0!|%2l%OP_fVp!4&#Q z1r!8z^pb{jS`0T5A9@TplDi(w8kykHb&XOVsNapdlx}V;kf3#Q2zts8LBIocusEn? zU;gz^-wGD8KBJc}pZaWFzk2Q0M~{Ase)QOnpZI{Tbm!($(bW(9Zbd(&cj?Ri9NiJ8 z+Lr#Dy-%2Y*q(6<6bl{<m<TU%1&L3(rkhZKdiWmcHtU*ANd~!LlFJQU1RI8oFym81 zC8${}80~hQ?tLD`vJ_8!STOmTj6e5d+yM#%iOd^$;1~_>!YGR78wZ)EtzX?tr(xIP z{KVZ!lh$t&m68l-dEh7qvkxy;B0s?bBNV0S4xUvwr~WEIT*=9w1S>KNYUpJTX5Szv zY7{cwaN)s#V2hZK2AeN*T>bWB`X0*C^$_H7%v70F?UU{W)HsHHlU)oghRv<E`# z*t}-_1b$L4yz3kTnca+J8ahz}TLO4kRX|xgJl=AT12`NIr)@9|30+}PH>ANjsZ7$< z8tu}>u69ijgXj)tOQ-)DL(7Vx&-gE^pN!+7F!h5{*UvP7twq9>#h|Jpb+}}KoKARC z?_lUpyr6v#9O=|ici;g~+rM!*smgpur$((a=Dumk7kAN#So$CPOl$j|v^MF@zFTSY z8{Aue%a-20E&a`b!7cvZ(C|oWbZmTL-TDoaH{7^!)8?CQPTQR=uM6;Xs&bR7;v(l= zoQNmx6~Lb$2zUI<Pdv{)^p3$T>KJy4XTEXpbxIP9yY>04Bp9};D#;c_nZlMGMeDRC zQ7s9L@D+Kt^_SmDlRx%0er-M2I{7wLRBe4={~($Rdv*L4o*?hX-Zt3QE0XqVj_KxY zgyXQhg(`I_uT_(ls?l9}C{S+pT4>|uP~j)<6tKjL!-)|PbxnHf=f2B76Z?vsH|06` z$}0fftXB#ydu}I*$r64BH?93?BcED7v4IlDxYy(Z->C$V9?Q7J4Wl*l03WU?1f=vn z)r@<HZxopz4ie}b^%{v9fzFdnRU5sRDf77p2B|%1{gB|9>Q$wme+yW6=D;8<#4z_0 zcj*(OWDVnQN@DN^|5(5<IH@;$Ene{(C)BRr1b^=O&A=?aoqWfr^+WHl(FZ#ngyhob zm-~51Un5PaMUHzYNdlh?Pn;p~58pkwVFiTiC5ABRbhRC38>Nc)Ssn|1ZYh10=DmXY zy!DxH*Flshtbid@8Hu1=t7oQ*l;ix(2|EW~1=+KiFC5=aEW;ed{^Ogy7%ekdIBM&L z(p!Eov$ItyFJs1Y6aP*nb=_=N|6)nI0tBNrEBV8BGwd(F-E)gXDLMM8O8!@F*K7Tk zw|nkTvh|uuTJBI1zS<3~hU~$t|1J)7eC_}kCm<R~y&d8$$l@gj87oU#p20j1#$(-i zA}(@HU~LrROZG0BllhsUOf4b<L4nI?x@&6M{IhWuw?(rF?bV+fCg!2lGrg?r@nyef z?Ducq2ZI0i1GII@et$y0Kd9f#n=Vk9ru+^A!gs|(&neEqb!y@iuNx2i)BqR{(PaPG zZL+EA&J%HECV`QUdA2}m9JqBCS*2ReCRR=%W3$djyQYw3W_V$zNWaG1fBGJ=UE|6P z-uOpEB1`_Hc;Gxiz^Ve)CdFDyNwqcgFC|JD%V$yV20Zq)YmR*MjpUv>pshhpipYVC z1HR$MZ}GtvT|P-@<hpZNocN0&AnPl!$TB0cJ}@jMI%pwW$tSv|y+Fb86rQTE3>EP# z5XZ)ZW*J;T*v$Y{F{7D~L0q7`&Z^?_@5^1kt7^k4_BIfiy78CKPXTT7Q#q!&F}L-f zzFTu#!cWz{X|>{KWmJbX{(&H>m9)x^P_vu@0|P%lmaIdN;*>{$v+K)Ur0fixn@^&> z0p5Aii)E+A>^MrNUHbOkN2P$7#VDCA0=pkxcMvgI3<QK73b#5O5hJ?jg`aJ821omV z4A}7N+Aql5%76fvlHYX~%A|}piG$BB1ZQ1DI(%`eGFXuN3?7a{I0@Lf^BCJc!hh|k zoE_8tg>#B#dmZmMR8R}o|EKm35VQg<EnGzB<r@%1QL%01LHMoh=u_ET=oAj3o0R2> z1bNhZn>+)aBFa9&1JzlJ2j{Z{@RhYnJ)Iarq^FlR`kKVNIaig$iWSRW#RFhm5Gx1W zdc;b}jr8R&$Yx|ewbe77b-t4)*w2pt1*Lxf0b~syjTZakI;T(R`qm!;7kz23j~zDD zGD5>ir3Nig72Q)vv6M6l!!0^Lk#d@oeLbvK5Bs-w^C0KDc+jhdc-X0PUD3q^9|s2e zLnK>FnbI4I?(vOawb^`rzKuU?SN9n5(7ioW>)pGPCnf+#^WLpX2Ob!jaHOw$)6kHX z&^kgwik^mqSmXa`-h^8_>$F;1r_*(ep?MMR><kcAmy9c$j&?bCI0m~MYq~hxp5y{{ zp$bK2I@w-F%cvsyB{r-dLR9hay$$a&*X=N(beSMdHqOih>|=V$_A%?UP3kGx$52U_ zO7z7|x@c}csy!1sI4Bynp+a=F0VO<Z3JxGo4Rj6P4~6mu5wegWN8L->)VUjT6<$f~ z=0Rvz0k4>Mc(G_HXcEy~W<>^UL+FYIGCd^&nS27+3AIs)$AcI7OGhDl7)>#0QP^LX zh=!@Kf@m}qxLnu_xB7u4w}**#MCx4Gf=Egk^|haCYkaW3+dFDjZzDQZWrnGn>|13I zqapO1)@^#*RAJe}kd0t}Hs_Syi;@n}2z0!8Xp|x=r=AlCQ!fxmoO%U?&?G7y88NZs zQ`3DzC>@{_STJu7&;o*pQB`i?V!g;sTx|Ym8o7y!+LBcVGs7*AG%a-ZEKQTr{AYrY z+DeK^W1OHc>Ik+aC&W-JPN^~$1|<Oyw<ocdH3Oq@jkmnrTfRMS#oLoP$xeGG7~qJS zq$?Uemm9S_3)eEEmg^aWEJqB=lxX^6(BV@Wpi`Gu#S4Sar<Hi2ssg$dwl4DME3sL% z<72JLoEcEDj`H)N&W^_(X=MAPE$opE2zKRAzcwx@rnrd0;-`H)nr=+7jzbiW$f6}v zMuZ||P77J}(hZzlQX4KxcJrD<Lb26SEpT4laiOCaiD<U!!Oo&dsTRwXCZ%Nt)L&*m zW_8|QVnB%4kpZD7lTB#?Nr(k;vLcZPO|f}&zmwAmqv$3X;7d6R((E#iC0LM`71NU@ zCg4f35-aB2T2?eqt)4#S3ll|KMl;yM;7TR>nJ~zt{Ccype??Q$pp2s<gjNxBYO+qM zU(Y&;LDYUj!zT2Da1CNWKSOHk>=g?%`N^?l;;B9fOLLgSG%$%lje1ZPU`4P=MX$n~ zrp1E=auYdh3#8G^lf=7=Z|@<Azdo0_DN+|Z1pcDY`|GcB{_H$@M`fxCl8A+6dQB@a z;ejJ5D`OQei+BZ=ts1>0#7p}IG=2j-5kA@*`F|7tZ|2<~{|~Ju94QXf(^V9Q15iN$ zL^+k#hnud|>h0@qf*%9f!%&W~J5Qo8z(DtA$N%VKdEh^G{H0DV+@j!HQ`L@%4i;AG znJRK$gP0pt4jo2S6DI^Hr$v%h+fS&rng>>7?v-l$AXqg-jd>TsDi_2qEBsR`9HK$8 zmX`|u5b?LHRmROgGGR?wQpvQ?aqcsP4Xyd)r0{y+1F4F-qn`eps&6@Ls1-`p=RLLD zm}L>WM>k`5n`7*|sfi!kbKRU(c<D1#Xs$(d2|uL@J$U8ODu)OZ1BK(UBptAhOptwh zh?_Yf6KrO)I5~zmNVII~y~TTCIq$+p)P<&Z0WC$T#UDw%C2#RqsYTp(vl;Zri2jJ( zB}B=5L~qw|{7^z))6h4A>O1YX<Ri;LVb-$OuA%&pTAcxzA=Xw!=4{()k0`}<2jd^M z5;~~v)sJ=IhxPJy@8vzL!Bh>&#}WDsbuWbFL;@&v?}x2>kR4KFAOSB&CfQ~($7Sjn zTd{Y6F02m~nsmB2AY(|#AzhDl+(=||0l<qT3Pe;W0g#i3<+j*qkjREGnv)*g)sDN1 z$?*H7+ECq;YRe}BZ#AFWgYLgJ)IFO%Q>p-=ZnX-SmR7+Kt|?*yQO+NJUVe}x&mV2y zB;nSI#<~8{cLfyM#Acw0H&t!lq`?T&8J=$x9;P#{NwOj3JM-=>d<!$x-ou@lHg93^ z^G3on%Ny|-7#g`*yJw#Pb*WHB4a_mXM8T{X24{1fl<x4P!SGXykXIijT?`4z+=?ZX zg=UhYP$Qlmnoo~}<}?%4ArA@YbWeTTMgNgzRFuHQkEokK5@((+YN}*m;#r4LgE%M{ z?;Ee5)LFD*YxrwuF)SKguOUZ!o!^peVH9uYj@qhvYP}6K4UN4;hh;Wz15G+UXR1V; zV7}O(%~snft9TZsjRA*d2jKalWi{Pk=$!<;sk#;DQ==Pb)5;(S1j5s<HxQkDNqnlb zs7)#<4Pv^RRnt<B5c;O-NrLUw-tEZ)yOTT7Z){O-jX4MWn%0hYj{N*3KY7W*%18us znbsz}B>0Y_7R9(Nz9@|IHxk_9^v^3ipTG19;Xt<j5u;K^{MASAsC-CJ4_fkvm86rr zJ+36-d>-P#eFW$kCGw$}NjE8wP$j)tmOI?+plFyC4-t;HyrQR6(wne6c!LQjH@(3G z6atV}<So`PW#xbv=72Fw!+=!zo*>qwhO8`F_&N#IF|!y;(XI`H{#YPqJ9RFRD1={d z<YX^m8Xv=26$3!B)>xZ7J+32C3@C|F9Th^cLO+-@1~f-TcwqhK(WK=bSPQFZpCZ{_ z|G7d(#pd$aAyYJU>!(m7K?JW=KPBO{BDpuXfP_sf*Iz*=GKiJm!w6C&8Y-!#O#d{> zE_;kad&<hHjNOG)VnOeMq`3*v8HJ0yPN6z>)Nqq@<c`WD4{}M9L@sHPkVm!EVQZ+( zidkrn21Ub!tt(OepsBT3(zv|PrE$@g@$#Qbq2wF9O$TkSDcSQXucJPR=&!_ipuJYm zCGBy8BqHFO7OCDq+#8c(rizIn+ORRxl!WaKAAEb$12Tj*Be9C?#wt46@=Z)5-^A#K z;$jmcYrKmHxNJ0_u~oDvW;|NfqQKwlX_f7FX#-QyCPW(;cIaT!c5FTjVo<Vw0TXl+ zdpYP>o*~VA19Ll;191bh$1a&do?!!XgDOC4pvNBfkkcu>ZD7y}YVGL3=--S3dfu$; z+Rj!asRSKh+-B;9Z!<NT`5w~&lqSJ;meLMclN}=!)6}I<jA`narA9G86DfvW%32g7 zHln>Pdl4u&Dyn4WE>yq9{UT_iyVx?^FX*^9N0??`i&?XQYkq@aj|hLZKI~bsP25u2 zCT<1G^wzeCrcc=}GfuXa=u_Ypbe~PIQ@xHB)f>2o1U}msa~RpeH!AN}bW|(%YoNRj z9+RvxP}&Der)ZtZm2i~~K>|cTxbUDI5&;=8*X>e6=shQ(k+j7>FcOq-w>#<KrX`{o zbCg)wJ#Cqn*{$Ktv?Y3JavkD06lt{H-~}GQ?oK(dTnV=c2<f*7fV=)^G!Vc@p?nkD zAj?`rU<lNl%7VA#b(L<B2jD4bqihPdF)7@vFMA7xTQSB`w!t`pvTcjcBU46egxL(y z?Kh*$ea#btR!tMS-SuoOoX&(u(*=vSHcjJ(G*DJ{!PL6cNn(Dk?1K53I%z8igMxPP zs8iT@A*o%Yw%a@L$1S{}szRL<v}{Ycvg^25r#!f>uk8A#fo`r~{$f*2S3a$>3@oj_ z4DdQG11k%;mQ3h#_O;h>lXI}FaAp%i|0zae73JP*hg&2Lt|I3}*hQl)NtBCPqz+<M zm2`S6%@v8g#-^348dXdPvX!<D?xY1&L9(i#odCgkDJYHGLb$LbI-V~O%-US5P}j0v zq6C65BVbmuofc3>M_~S{_2qv-;%W9ST)IsV;yk@rN?%qw=$o#Qmee&Z+e;ZhvI?KY zK+ybH6ukPhtOaKYUadx2&u$hQJ=JVC#FF$+zh|4BYW8Dl6pmQ)*VXLbh8Hns$Y0IA zh_x)nE`&3J2QCj@O?4N#LN&9m`sv>Y3XX=TwFJ(mZ;9aKU|8Q3se_8<n#N4KtEBve z5ULs5{@apEU_e&}6T%xYR9It^;r&`%21pUST7h0(9U$Pe3`nU;$`c*Jf>#?L#11z= zUJ8ILhTzqdzq|~PB6xK}(*3K#2t-o`q*Nv4FP8zi8UV4&y1~fh5WJf5*Fq#7DcYcy z><50Hq3M?<$RePX09m{x(ni=xvwGn*L^}kpwuIJaD?kFOHqiqYG^lBJ?V1G~qd}1x zyJyvfdZ5>JBx<<`Ufq!9yVUZZTFcvNvw869qA2;MvEowjYD)zGW-Wk;=B(qWApro_ zCIZ(2%ru@JqL8C{f{!Vl#gzENTU5xWgi=g~o+5a4lFggXAo~gC9O16={iRhuMR=Qe zW|$hXYkR5Stb$kbJZ-_NxxpShS@3H6CRa=nXE5#z!K*2(fWBfg06WP8SQWe);zsZg zntQ`$l{QsBqJd_)RPP2<2wq+1MV!)c4&L37!B);LJXCZNLq*$ES~h$aN}-}@EfTy( z!OkmMw2&^$0K*OqC{Ri_9V}AOVo)bhQ6yN8f}L07F`98gixol2%PP7|MOTW7A`Rc& zsaw~eymOJ`DR{NV)s6!PXb^38jgY5?Eg;M3@+}=H-xD%sXV2gQ_cM3$;{*ea{n3fD z->UI}XbAema9Qx`B%ASHHg<_lM`xPk35=N#GkN+-DSf<@hp5DqBO)8$*+|rkFlq0Y z+B@c6bRs%(LG>XZi^kmfIfSL))!=s47`jqdn#k*R*h1^XlOcGuVM4*HJwfnl!?t2p z+xU5cn9m`2b&_4>L^jDz6~U{)guS|21h3{^_nOd(MMb27$ON+Kx_!}d<g+J!5%Lzn z*AmQ3Y0>?(aoFkpHj@UWd_RIG_tj%jZ5@z^5rS7Uklv!EVpoW2R#X3?way8t+@b<j zUkfc>Ax$7_o0SS)?FkEB4ZA@pnO0#~=u&KjrgahkQ^25`K@3ANdUc|Ezjy_PVqoti zo2#)giZCe5cZ!n2S!8yWU*T>Mie2DWU;HL%^&FTH2bj_mZuJlk_yVIQ{7iFS%53P1 zVqnjQ^tBpGeMl4VIyrAf+^XLUph%$6q8V*@2sHOou>HlKgv|f^o4|V>SDEI7LSz#K znub$}=%pB+vfw+y3PQwR9&iM$B2_psMrndAkR5zhC2sM*WE5NOM7iC_x5<~U5VRB6 zJPU`>N1XH)5!%-wqi8Ki9&#EwESOBl7M4XSfo2L`7QV*S+on)tnBiL#F>=%}B0`OI zUwBxs(9?f67A~d33ZKwI$V0~L-^W&C?SE+x7I->#Q$jAU78vp*qfLrS?aF~6oA{Nj z3=H{6XzkR`d0@z1*&sk&gXZM#Dgc*ArKYY*9W#kmr^7AacKt6WDRNd3r4zc3775$O z#aie{?5;b5fVa%<)^Cn_Csh4Og{U;)j8WB#8RAqyBEqfnJl+%O@%RVli%5^=9^`rZ zXo1wT$jDP@zohDVIRp@4Zmw+g)wfxFHEkXXZ9bzX0T|#q<u*SNqB>eX%{nsgBl%`D ze>E~%9l$yvyy&)tUa4fbS9f=r{eeYS@PZ*fKf-wdfv=2Ng*i`TGdn*cgR{-}UI$Ig z>Y9Z-;YtuD{zH;*0_xQW1*DGkg!Hjix4)thsc1O>X2u07h=I^TL@>}WBllQ_0^*Au zBq2SzbyG@!>@w^vLLY(4uGvcmJ-!t8dRY|`0*wQ_mqPL(E?bf(9Xhuv5y9-<7(y0V zqg@nlV!O`=W>FKyW5Lpp)D5=Quf0XRN&BI@qECUcBUPj3@qm<yGzDcJ4U|148VgJF zbSX^)e>908LQh6mxxm~<<gm-^Jek<^ga8=&b^t`l!P;KU4dwZFni+K%Yn<@}m#lGe z&Q{PXBeo>E_PQOdY51mV4v7olI8wf!DPsq~z1o(P;rJAR5PhnJ`9P>{{$rnp<Dh1f zjnFg@|J`?i_$C)&&=C>%GkP+z(>0R{m76Q0LSYI2&Fu0AXxGk34WX~D-7t%-UEMns z+dUcDJrUYH9`39W__fSV_SNQ9wP`2&y=Dqh!uiz7zEVtkOz5107N2<hWHefzdAoP> z+0Y#0C(LOIc|K!J1^bFPzq`}45!GZ4c;`MmfHeLV(Bp*5<RJQM=+=_mhhuC}ES{FS zCb1^#G?R77CGeaQ%2?M$cyJZtBLVf-ZMtBOT8SguAOYHeA)j?LeVnGR$q+}##(R&c z7AJH-_~&9L`4}!s7Xw#EKyFX=EcghB3-yS-7wpE{FS8cyK4|aRT3!nmY1@nyu$NF@ zmxqHN3wAn3f~BPde>NZAck@MY5lJ`;@Cc>F3+Jnv`Rb*hlNFFEbEuT?W3VzIe`L_7 zF{o!Xj3o`9FSF7TdeOpB+I4G&JtI}>MS?5t>C-9)Ln)?Ej7q5)U>sNp*e&^*$`{Ga zqzNMy&j!`3$(3Im$E?TZ?&@3_lsbZK?m1U>oJLXzT-gyCUzWM@0t%tXmgh-dahqkM zi3+?~?6}N&k%J*xra%^ur7;%)mwB<hTglE59=n7Qly0^bg~m+1uhs&aPb=bDoCAny zRYdWMWVm`@NABR`Sn&_WlU_G!pNsl6sqyi4l*(9}kF9LH0~!(?C37q(fp)tNEpVJZ z%r2VWdY!@$Q8{TdCQnSeyGpz7T>o~ur%2D2(p)0PK863#*GU5<UEGr1Q4^QQCAl7s zOXLu0O%I3B|MzW?Jj%^pxdW_zPrn8|T(TF{K+wd|7xf44v>vnAs(?NA3c62A)wVd( zD)lL7H?Y{tmOjKjV0(7;N7xA{N*I-rKVE$0>r*59;ophtQ{DA<c{l!aU+hK>{?o#R z?scUi0AL%ktV%%9eJ)SiWq{bwarvAL0hiC&ekWc&NBQ|KwOJ$k{@(+TaJ#JO?_LEU z?1{>Nl&S=f`7$8q0w6C0K;q?dl#ds0MU4FMMF26inO61kz^;uEwr^!XN>x%`cjM$3 zk=|ECNr+v;NW6TG^7+j>roZF9&PxR#m{yc1?1SIxm@i*G$6k(hrnT=Up_y(43TCV= zX6f=d8Wf4Tln+6bFQ5CQ#$w2A$V`8ikHz;|%k1UK`nyn+26dOvA3Y#gNd*A9^mkAV zmI};A)8}ogO~UVhWI~}-mEdwX8&tm>4)L3Q)LQ>=kAIVEIhnW|ju~-S&d;V);|60X z)nH|s)<lX?q!3(?#d6>nL3ydlO}WO+aN62*6Ynw=m|v2H8YpV6AnRqQ)J1Udk~Dyd z#J5ZZHWzehbFm`Ga#=;X2yQMatO|PcOOA5}v_kU*SuLwb7s2J4uY#WZBDh3c>tf_u z(xt7?7dqWUrYbI@i{KU_Xig(hm$vW)1Oii}g<Ig3zOdI7X}SfDvM6I<z^>woDo!cV zrWo<aRk;N&PcM|x+ya-s=N34F{TNRv(iX*RQKT)Zy{KVCRmt1(EpTzVKtVx~#w~Dg zWD(FpehZu{$^Pg83QI|5Y6m4uk%oSYiOVMj&l8XX38P)R1uiMy0%tlba+hv_OX4kX z5VdM44OozrOvOfvr7uFB?qoX`R6bI1E!nKFTj2P*s9WIBN|_>!u6HTYg1SsA9^jVh z)ujUbG;KFsD}7Omx@%6#Go_`vJ0p;Vyx)`}O^NPX;4IieqSIB=qm^!fOXP7(nbIwA zC>#^Lk`x$jflK76EpaMn&Sv?AIY#)U8`-c>3cpVCE7z(?hL{CR&F{skb5Tas?{YKn zC0R~~uAC!16VlS1u_v@VXGot?7b9!)AWWhUyQb}5?=qdSD3~s~ip(4>qZw3Cr`>+A z^&d97$}HAY5&%SO#lnvgC0Ci%V1lML6SG{2=AbfL!C8UNPS5hS;xV=z&iajZwFbD# zjJ_4TBq+YZN<<~BJ_XAPU*m#l>a<)=@CM?lo~z72exFY!MYsfn^kD19_ZWL_l}}iZ zhkozBQy=|0w-?8g9yb@8L9VNzRjbL$CUrhNsRwyYdfNn(H-Urexp8oa>A6xG@gi({ zQLU2J*nk-wmV#gQ$t(l8kakq7hOVWkNzwPoTSaXz_bXV3|I=^o_4o=7OB;x2{4Wu$ z;xd|qEvkFAOU9{}gsnuvRtcOBe`f?I2O|huNPn1z`x!uYm6U%rh!z+d-<F&L13IRj z)f4i3HXN2xYHk@Ig|L-KEAgrT0jFg^N>x&Rt_%p$o&kbfZGg;$!&1thT?R-YY$X!5 zUKJo*T2uz4R3+ulmH|Q9Ge8jP4Un_pu$1!Wg2u?DK1@n-VJngDq6Em#eWwrRwSHf< zD8c7*w1co^2{@@2C|D{m`u!N^?68yuMQVOnTGP5(9F`WsRw4#dYWWwfWp>B?mRn%t zMaieRE@8`30f0i-avb4KPX?8nLR4b;H+)>s6AD@Ani4ZP4aN@RHk{w|Tg#5wn!$oq z3nw&TRk!N3NFAd(H57x-KcmA^;5cfBrM2uRc(TJ%-aXSNl{Sg#;;@v$$EXJ7wV1gM zOQB{RmO|X&uoPVZA^-!RqR+TI_lzBu8c^ajn*Q;yluU6Bx`3Cn3m5QeQNXjQv~2jE zEeUv36bar1yu2b8@R$LH9dN@`SXR+oNx-9`NU$!K<rTSrR|}_VR0Jt6tLSV=z@wr_ z!+uz598aRLaXbll$4vH&14oSzZFh~ebJTb&2zY_GT)<Og!Ys;owQPxB$Xr3jgGNR2 z;jpx(V>$h@u>*`dDpwQ_FYKJpm(ug4^h>4mMWtcb9Fl51K<3o%Amc5DZXhM`Rzj*% zc`;WYEXjDFgsZM#=t|A!GM-ZgGM-^VGM*=p@eJD%?QHx!QOJ0;>;?2^wd`e1ieE78 z7e7!%@%M$|u(THCD(%yq3WDGQur6_FIXY(a5x)pslJStTZ2E}qk-mWYA`?Sj7bN3x znum<%^Q|~6Wgxv?O~o!5ua+T3F><ny4un*0Q8M1S(4u6#S<;%7lJPvzE#p}*z*@G| zWITf<o|V?J3&?nepaM1Mj(7!vqKpR(fUS5|TFXw9q`F%648NlM$Nb}0l<{hk@lNQ@ z0~i20LSt4tdB7I7I>M0UYS)wlR3XdNP>ov}c`xByz|ym%QC%BH1t}yZg`D8+qb$iJ zwe*W%?8cH``qtI%<`n`Y<iVU_Ji<m02hpIFxOE{>I3Y$!qAc|_3aM{3#7pX<KVfyC z^1$K&&{p3#;Z0!kHOQ!0i;+uxCM`q;6S9RRkxHPKf{%r-apks{50P1hZ&AF+r9Otk zR_Pf#AU!jdGzukMbxWo7<8LFdo+4IsDooNm+E^5^0KvjqDMMYMml_$42!wsxINa-! zQx69#+~SJ;93fhW*YPLB70IsJPc{`AIkbA!>}7jH0FfOY?yO37RH*j-VHONxkhl{_ z@{s*H7k(YEU)W6pfo>U4&KJTjeB1ejSA&)qAmtZ!N+?oqr@`~cjaBUg&N&|-Ues;L z@uq0PKh_*n#A4n;81e0=ZlqF_wlvtrY(Be4MV0I{UHjXu{A6XrXv9{ym-@A@e3j+U zbd<`W7O9$O%js->V_!A9Vr`udc+s+Iy)`VctL}nJ9jrM_%Rof8Qfi6=(Em2Z2M)qW z*cmoNUxC!jB>YtX&nRPs3VKTP72YszMmdhluMWkX3ge?oac1FCRk`Q;a-(eohX0Z{ zBivKy=S!1<ZFN2=a=1_1-8pwuRLXnuau?j32bE^Z34V#<A2RwNUXT6qnL?DM(oA_K z{PLM{wG6j{BzD1VQ(ZxpgnSnTV1#4}Qo)Q_KoJ<m=<ZM6NLQ`M3u_m-U9zkuA%sc+ zz-9IzT~xCLDly~*yz$8<A}>#%mFE*yK4Ar~W-r+*8fGnsqnTZ?m!PnChm%V()4w~p z)TBPrx9?7tbe1GIw<ec@f~u=mS4DBOhb<NKbIHakFR`>*i7E5z2QA!4#?8vzC9bYk z;+at587pzsOQ@&zdx77l)+r9u48~6XFMDqvZ`W1U`_47jT6?d(_Dg2c(1s+y+{@_M zk>oULAthAF+_to(RdS@~P+s)*dV25eP5VdNQ?d7Rs@>3lTaBEcQF63uz(|9p7`0vl zx5}0V2$(`D5u;WK5HL!Fhy?>gxZmINj4{_-FFP*<&h?%Tgzh=km}8DHo|o~Am*-`~ z&fYnM0((L|d+a+57=+aL!F@wMm~hxQ?nxwo5f)|f4R&O0YE&bTMfLmC%jlI%p*<p$ ze&TW>9ggV1U$D)^qgTlgpsZ;=a7YhYtIR^EB%2q?FLn<5Vy~?keL!Ki;$KLhbLwKz z<xp%|2k^wSXiz8ASvquv{^ESb4GUdHC>~|4Q_~?^H!tU=-D9wYA_Zt3fj{<eJL+C# zk)FU}i$p<eDE^B53{28YMf~mKKBTsaRhNip$TrqDQyVLEW}v`~Xh}W2w}l;;T2S3g zwWJW?VP(vZ?IuZN)7R~DvCA@HwQA-b%Y>V%nRAv2OI0$}g{Rsquh_9EJqNsO`7FJC zoTXMs?;`(<&|6a3*XzomTBHGr(rtu+vRM^ZPW$N$CzjRdI$iPD4IFhEgBX*1L8Qf> z801sud^5ZyCLKR_@^k(<&TyJ`C1y-Otut;TEl(&zo-gJs$Cj(sOZY$qJ(muW5PHj8 z27wdN>eC^lnCEnZk2-jha<L@ZPP4T%zVT8uKLpE@@ncKVRo#2*QjWn=JXdrQCZ}qa zz4G^2$K&AdJ<dX9hSb8_l-dA#YW!kF`Zupao`Nb@hYGQBP;6#DU$9tg7R&EY0A2Am zG7fH6&{3suY2a(6v;wd@Y0$y2a4_M{ZK%oggboL}mpO0fa+-8=o&QWQ5MoMm(S*WL z6K`3;DwfDgRz?T4oEO<oT}B`uKMuWuptO~{Dg@1wB{YYobQctB#o~C1ruH@+%IbO| zAT$JYVQl98wVWwy`9Q2i(SfE2ki02Dty|V)$;_&+)+bc!esV1(Q>n4lwOzj-5&gkX zsU13;x3d0v4h+<jz!{*sgCEL;c5Z23=S~c%^iV(Epg`n{CXwTN!Q1{wKX{2uTYE9z zQ-fh?S*&JX-}edUz2c#zB?faMh2v5$zQZ1DjK8{4!)`2M)#;J?2(G<~HZK4T%WN!A zc^C%^W&2?qbo<KvEoRcIOURaYM-NJPeS9B=3GlPX48Ije{y=zu-SqArV-Wd{$rzx% zDY=>l>&DG_I-6_V?;8H&49g9?p$Y~f2?cQCN)=LKt~>K3L_87l;a^527XX=pNcSD) z<XXQdJ;j)kN1ErXw(r&U3QH*rQs~946rmTl(EM&zOI-hpeXt$ss3%)^OHZ!jae+Nn zaqflDjzuUqY^d}R7a&myM}`B`1xA7I&^SyGmR$p#%T5q36C!d)!8@iIbkmC5XOa4N zURK|nmjCi8sRmZye0eER|1MKhcfHJ8`IPD#MS{R5ohdePos|#Iey#QZ_ufy<B#NuT zqiI)TEu-YKW?OIYI1t<NXKka<%IQ_%EHz)M6WrSLYVua_-=+CdLT+T!tMX?mvLIK= zz#R5{W-V;X>k4?FN+_fi%@pi<Wbfli_Dff>`Fz$aw`(DR`Gn^)^JhK8jng%*`j|p_ z1AwdfZ;DS>Q2(XWe;HMj*(+%FQkuOC0B|#<@@K#d79pV`(@#WR7LQ*6MFv<J13(4R zryF9eOJHCu;1Ic8?v}`!GhT)z&ruK9hEBxHhZ1x%3lzZBQxq730(I%pHH%E?a6ls( zuUSGOS7)K^=WodtlT!$R(-D=uRqQOQKrjht4GY*YUwQ%Z0JmA8BQqk%4fjH@8Br%@ zw&_x4nne8S`T7DNV~hU`alYd3S!n%yrHrgK5vKX7O-asU<)%afJB+YBQOL}40L8c} zG^Jd{^G|sSc0HkB7j})qJIQc~g5V(~*?`y~<zd@a!-Rsxr3}}Z!(P?_wafq(OFUX) z8S_T9q?XkKwRkRUd*f>IwmdfEYmCN3!W{&<BB@y{l(gOXh7Sd|S<or<9%jW-=8Yd+ z8V$D;4}z7AMtuCIB}(E~1KH9=5~agVO#$1!z^zU-P)w1`ia@AFvHKVQIVqmWhVS5y zPU`$kX1@&|`c^P8ww5lsc&Ccia*UmR)FPY2Mth&CpH-3`1Uuu>JvEan00>>-r~{>D z|33y_QwL4hUj8w0I9H^#mj0LU-$>Jv`ZLnzWGq3y@lQ1_N3BhcDAr_3baOiW&q?+t znJx?3faxaxxV;Gdh65V{Q>a|_xT$3~C>CN0)meL64Lr49NA00+(+wNzd5I=ilm4qT zNP175rXvEmcWr&Lx@g=r>1FE0V}_yZUtdWnb4yjx?6=m3kBWow{WX)%AhdTRM#S-@ z{W!MBdA02Q?aAd9R$JC+j7;ve(=jUY<eJGP15~_3?%rzHi+-1ia*j$Y$bq8EJfIMU ztkB75q!kMkf+C|vk$UlNV%I9X*h)oytrx$Jn9$bYpd4`<{)R{w28+=~auAG_p8H*5 zt5X3~#~~fV6`(lqM)-;aK718FR@iw8n}i=EF{^HWX@oXQjb7@?G-JUX1N8MEc>&O1 zkfkq6@vABC9zNVnw8A^rAQijTu&&h&E`^`h2%>W<`i8`c0g4h=w0G1fG`zm1_FC~? zu>)AN+BG9IEZ)1`LoO|~#CQN=oJWoYj&p<pz#lPIme!Kq|H+41Elk(oWyIx%94xaK zv#P*SEqj>At*OPR4-Hw%#UXWuGivWlwIfE);=_8+Avy0A-__cv!zumfgGoZ)i;oz) zhff@Cy{o{)rO;lHF(}be;H{&Tua<|`z=CE11;sTAWuY-&&-VWaRT(msYoC7cP4tly z1B2lb3t=x*bcak^HE4$F6?~UieDboW4H;0uz1IUpmr08rTh%2#giTO~F^dysv>E~_ zVMK*dgm}_vi)0{&Z*JH@A)IJ5>|g*5wc=yAmoekW#fJa5=4Eu2Eo66dxab#z;g!i~ zsE2ddErk8Hkx9@Tyx}xv;}GUZuREf($7~k=nTX{Ge7eW-N5elK(>+vUTQFT7o4x-( z;B&$XuUWjEkx&1;m_Y$05TIOiIs1LHN%q^!swgaH6NMoo)#|kKnk@;bEN{QkY{(<# za4+e_9JhQcV1;m0S0_kjzjuSo<l`rkaWp!4C!?6tSi#n*O9ZjEN9nh5<m}z^zUHz0 zV$IIrkNmfic_y7l=)#`Hq?}n=#p81RBh~%p&(&fW5NfVSG&AWYfH1C{&wjsKEv%=& zce0+LH1n(;ve#zz2MF&*rK6LWuq3%n$V|;cOZb$iDI3+s&=Q)|y$)zRv;<#ziLz_z zlewKoPzEt%Yi<C@-hBn+?k!gV8IE>%O<-#bP*h8A)+Cy}E!ace7=QD!w9OrJ-=^b= z=nN<&RV{m9z#C9L3EXm&qHbHyC2L7;9)JgGxeV~7(|Y|i&e6PnNoSY`;K%USIPj00 zSHEGLJF37CTGAWc15or3IxuY&+f(TUcmQsb&kLW-$!~-n@K<Vt*DeXNn(7bKtfS}x z7&9IG`BaYcov`k(_|gm$&tBcl-jBq<DMHFOP^iw~&tczAc%fZvAcYDP^0m&WHL_xB zapE&Thw&&ytwrhjcYXG1Epag4!VE;|1MaF*&#?yxNz}E6u+RG})4RJL+V`t*D2uII zhAx#gErzO73mn(AVut)pcCkEuRCTiAJ77M2=S0iAb&|T!rNxH$h33%kGfzzhAE9mn zk<m2ktXYACj!}x_Qj*jILDe2sAT^HStatoffveV6uQ9J1@E_6RfVPXBf|tUGFI9u= znkMumM0DpGh0=_@QYbk|JqNoCjmOR7<YzIzj7DhAHw#$J?V#VFNUO{_l5`J$j!I88 zOfZWI{MPGhXymrKy>TJh2zkU<&08)rWg8m19(yfy|D)=G$f0K&Q)NAIIy|H2QY?M- z#5w<@p5R~y@dOt_TCq@`<iMOoi;g;jTgw^7+VK}SQgLDFAA$1b!YxKDqM;1N40Xko zI`}ovl|#N0hXj-?e|kf9g<Ql+>4zKr6&a_c7w&d(8)Hzs66%E;vX3CXtN$c34zMIb z@|s7r>61nZAD7c2y7!V*rIT3hij-}ue7#bYDtc#)EsL%s@fPxyU!Uc}aX#%#X4|;P z5)4dcdzzgVao}hmXQyaG0~*)}B#h33vJ&Joiz>KC3BH7SyVByXPag~+dRsDbtU~)Y z<^|}SFPS6P$rRr{8?3O*xL9<IKY?4u#mb628-BM4DQpWE1{!o5-qo@rpHN541#<C@ zaK0^Wrz=+FMA?;zzOGF4c16OMt25oX)&U1n1RyAzf-3}gU-y6&cE#)`Wh2jXZ^~gB z&)w-XH*bg0*7r?lLd3NerDO=QGe|*RwOEL8$->(DX0Q0lX%9=5yEi2EDqV4lCBkr7 zYhBwQfwi_CE@F<nR&rV#!zyzCp`oFQp;GE!9ZIK(H_S{?N+3)0e8iaDTXWw~A6q^K zO0Jh1-*6N}sz%YN(~rP$1aq>Tm<<Rz;N!K+uNpnwY~gZ1khyzaaoh&D15oyR8PkvC z%q7e{dM*!gr(b48S%r);S%u7svI;Ab`mvfup${Q<#v3AaEO?a(Fo}sXF2E}D(|JXa z`Cj)+I#6ZI7u@n_*M(f3Nbu_PgORHxRao$mVG9httL3fer&n2eh|K71@YDO-r7;fH z4z9^|MHca{YIZeLuqR;=#gfug!3g|f;tn%}@z@m}zfik~ys7cgEbiILYldVCLC!-r zVvaC>qswX`SO4y@_sTiz9WO@!&^vsAO6_lr^%{PFZ1`4VqiQE9IgM@2{%|ui9|Jr+ zC<Gwuaz9X)mE;;bNYib58sg~DIS2~D!aL}Ibm-z?p`j|3KSk_1ujIH+X{hWdPugo1 zYwlp(c-Vf0P#-#F!GcW%)wSXfBL97>NYGk#@W#~kr>AQjV3#~o6-7h0`V?GNq6H`{ zK$q+i9`6czSAqqcHfA!0k`tt&7G6sYsVh<0Rs)m09nnm(K6%Uge{5wjLDj#?)iLJu zsV&fH(-E0hsPzc=eMY8rol(F9>bl&j1eJatGJ|3R#Ie;_1X+r7g8xCPP;9m%7D<{$ zkKY4o!^9i^LrCnqS%p9)Cmp8f5M8i`;Tn#>E?jFMR=H3%IW0D6MK(#1<po!qWCsg% zDid({oU!))#}7X7vm?(>m>`vNHGIS4Dn})Ek&I*yTyHN7iWy3ch{&MZ4lPaoz@F0g zvL}wn7bQ8SJH#4O>pu(shFOLdS8&saj_UB(2(~m3&04U%?bXK8PZQ=df_c0PGwVoZ zqyV!<6QE77{Z3|*V~<?}(2xU<`sDKD$;YmF;nTnYY=Hx|fENxBA^+dw;DLkSV6uw? zF3k-HK<Wzt4IyA{^0$v&v(XR$k{BMJe(V~or7oHYkoXsc07gH9=EC@Z5#lF=HJz}9 zg)*m*c62P|pCb2|yz-O5QaZ44LR}~=0fGa*_nY52fpGbj%1SGabMfBV^eS8a<1OYT z>ebhn$g-H<&23kBE2U<g!Kj>L<>uV(T98_?&9*`vtV38kreX#bLaBx{>vwxfdg}L_ z^1%du5rTR9p}Z}XTXt%b<Nr_^P4#dZqX0*rpv{f9Bqi9+$=%))?v+oE?&<Fkc0A1B z-=GeKc*Nf0^K~d^NUyD5XUiid(zWSr8&g*QmfViS1p(NnfB+0MOUh!vVmVkU1zMYR zCSW=nl$nr`OsE?Oi$D?S(dOF==ZaWb9U<8I!5Z(eWOpI&sH8s(-0SoqoMNbs7IH}` zf}hfd&}@&oj18gEYU`M_<@{1@Yd7GrRx$*zKhvJft{<g-XTM5e)EF}HP6})cd2h$y z)z@pVw$tZg63w0!u0*6}Hh1vccQXgn{AegO#`V}eivmI+)xfh&>CCq|3koJn&wS8O zZ4%w)T&7GWiHYowf0UJlc_*^I`O;K6c7OdRSvfS*%_*})u}V54tjJUxK#Tuf#`ee- zPDESeD-0GBl}%M6#Y*~q16>#`Zs9ILz8^*UqkU>f`^uv@^O?^l*_)+!)?q9)apJy} zgBBK=9IUKG=`=Na<r_LnW;e}06pft;NW-oOvlxs6&MbKV-8j}Po$7l~HpZ25l=y1> zf!UciY@>oJxOx6XcXjIk>!Hlt+0h4PSG*z5wyE5|?<<Gx6Xj-S`m%BFRu@|Hp%<iA zC{114NY9X_ZBkdxQ|;74o$=z**YtE?R5h^U>&?Y5(7Ls4c6DEi+6tmy9@)AWRxt58 zFVxs&_Cei)#-SL%K5`faI8#C|-HZ6iSp9|KWf06MRWS@-OY~v@U)nH(6;9h0;gzMa zOXuK)Wo4Pj3+KnmCHBn#U+CzqA1jwC@9W}~%T&Vv?9Z?+<Wqx4WX&b4EL#*S&kUcQ zYlJX(FPc|Y**61N;e>JkE6<A6KYd<#wyJ<v+WlkeIeO9V9a~Lps1Thja$7f`HIZ7M z42h`XWE4ZiErfY9p|lI3Bsn(xpO(0MSHH6}aeHS{r`%1#RoBK@ppO*y-N32Nhy)pe zl%{N<Io;;*UvHR{3x3-LAdli$Y#9N_b@sgikTWbZ+<#41Y?(M>K2{E=TLTge&5gaH z$UW#qMqYDwPZ^Vptb6aFe~s4^OYW+^9%pBVqixPzCqN{d2Q&dwX}zH%cmt?7r0xne z_7e<Ph6(T{2sdaPa{^LRMarI&I2Bu&6>Irq=-XLci1nJSpa?L0>Di{^fUj@Vw|j~W zcQMJJU?Q(Lpk~cJNjTeE{q<6Cect+YtBGn)UkWv>B_<yk6xFSF2wiWKF1lj9ik-5T ze93XY^-+<#(tC=l=%Y_vs-O#xxQ}ZfIGI7&uP&ebhX??jD9)6>GzZR?;0V-R@z>*7 zExR9$OKC?U-3-<v<-&6~XLfT{z9m&QOBP%C>*t6?8bOt)m1~pX!1+Q0G8e?X{#tSu z=%55#%x!;atxckRJ<3jai5uQfK2o;BsWIGPhnF>GcLCAh+`{f+X>`~VZ0$@^&aC6O z&5gT7?65zc&{By9Y2?(8X__lNYx2S#&zIZ|Q|7H7;6{ceG^je!ps}~QozcVNdK*1- ztkubE71C0CNb4Epfl-Z)ar?&v=)Zk>DQgjI?G(GX&NvoK+S)GVFfnCpOC*W^@-}~j z4mOE81QLkU($<5Z|I`of=u56@;Oq=o*j7>T=%iGG<Z@muRbWxep1Q1$NMx(GOLf15 z6M?H&1sD599qzQLNf?ri9ruK(?2-XAWfWm2Ei~Ck%p#ha);m=P`bP65$QqG9A5%Sa zP)A1B+Yz@qjCcYzsF<lh!=M<oh1!^NJ)COXuULjUY|@Z1ut7`}>>9*hiZz63fj|E; zAP-J0iEdhlQpHoh{X~-eqQnHfDvs)x$q0VwMq6bbEHjP1wuRQM#1lD3`V1KzrsDgf ztWhXY*g6tS*Nj}n?uVa9M7-ktH7zj9QPDE|3YR)GGnD|}-v`ga&Z;gE_h}i=N)^dN z4}}u(_nlB#M21cQB3%sv9GM{1G2Dp~EWpo4VNURxf$*|<soxv-P+ik)1N`7|l)A|q zTc7BzSEB*^1^c98pGL9tdK6klIhg(iaUwm<v%Af3hw7!AESso>CXA(<YzquDMk?b* zLmD>?0Y)>nTd{b%7<CxGb!^K{z)IcUL+IVSb-ONTSwUJ7%S~`6P#dk4Ndb6if*$Z9 zR=2*Ey$FEnuEt(Gx51uwh1!SUc}(@001;0DTov6&D$rfYy4GUqsv_(MmEV$)ns^*_ zjcAA*Gy6MWMGsV*e)|*JlyG*H3K84(!FeCv0+P#)>y(#jbO_EyLZsp+r>v5B(#8Z@ zwM45imn}#=6L@LyS{R*RXcoea?qt8YT3aO=+C@Y0sKK_6M`YUyglwCrSuhg2+J=do z1so9j6a>lyRnkjCLsEAdv;d)~Ze4WIQ8F_W7m_<jCNm>0DUL7^!tMBhlf)c%;)cj8 z)PcbpdGO8cvc%^E1?tP%d9$I*C>};aq>xj*(u1c>X#o?ap>kwFY7>}ZGz1OtLrl~N zQ%EyMmCaQp+7iQxqt1yB`52%;$&Rp;n%W*x$yC}<s5o%I0T;XMC@;Q*ywIwmZ`30i zU8SC6pMP0wy&~D5Gc`E_FjrVtDrZ2}D-4H$N=VlfWt~T^+sxt<t*m&<iS|M!S-L5+ zP|SZ962zQlr%{uHFfsk4f9wj=?$H3mm)<5YC?&+6X2dZ*zpOM&<>uEBj8)Oc4l&;l zWZi$#OeF$W2{EJ@bKH`%KQE4B?q9LxP^8!)(VRIoIlO<tY&k|XJ#YlkFk6mlAR$fT zwLV)8ARUP1yjKb+r1zfCKE2q3Cc$GltLj_mgbh-dNxyG3qSF09E3%Oi^FO^X7{~cm zc!^c+OnRH?%Go76Up{Phvb+E5X^$(z&)41|wL^QHR9Slqz3u%%h~T`oeoJR^w*Es7 z+ilLUlM3yQ=~`baTA`!u^w6A2cnszJF-r-uX1PRH)0-*I`sm7Hqn9X=BxtjG0uk?2 zw;{_8bvvvDc2&|9a&ZopJtUhg`018O9P8s9zRLJtq26M_hV@~8u;HluVu)!nDUQrT z*Ad0-8}(qruqZv!rygt=c5p7~4K;k5mX|suD<l5y7DUW659$eFcGcL5sMj;_o`V=0 z{b;38L*)4zbvCm`#lA7j@V?NfaXF3d(SWB>D6H#W1>uuwEQC{*wSop=fbcIAEeCzH zSVZO3*E?8~i=(+b713cSDbnNkR!+pBU#8&^y8|9Qg0F^Dn7E|oLl=0fId_JEp;aXj zW&P~jkk}PRR(co8-~FzRtF~LBF@_EXk|N;p91V9zh&K#pO9q-8=xcb7S;(-N^{YZ1 zw17aa3hkl_w6Cq-Ha%sgGA=VPx^rw%bKfXZsd2kBbb?DmF)bweuj?Wr8ki_F5A$Wr z_g=<)HMgJ6Z83CW#Un@8DRaEhaR$sQKJt!e!7uFkI94LY0q#=%A$DAhCT1Vm4@9A- z)Ez8gN;vF@*=ws{s>lNZ2l|+*j~kri>SGS)hzZ4#9`3nkFi^9Y*&+rj;kpTAYL~|> ztcDLXE2a?_WKbz;qHPr>30iW?A2}j8;!oNZG99}yQ?^of&{+oUZ9Eu0^BPW|dP|Hm zU*EhDN3fB6a%24#v0@lld5am=^pwPdPgsgES;tygCD<C!)IcIBye50I_&eB)*#-Bk zNTmUs2Pi@>i-T;6eBH|><ZN?kd6;7L%30>}p1F`xLF`6c5YxVki>jtzB%s1*82h|9 zCh(lN({YjyVnVYDm~fFJtEjIRC5)2+3`hzE4B6CUqf^3)=4|CMK?)MGtP`2ENW^eJ zJqgey1!sx6$J*C9yywJKWa+MZ*f0j0jVfBz@DaPR^^cd;nmSlnU@2T@9fbY)reulq zCaq~^Hmy%kG}7L*_LU6fH56fXQ*=K3j1*{<hXSn<gRxj4qX%O3QFIBZoab(o19iHX z9eTD)Jb9Mw9>MCnT$+%vM;C5NE~20@`FgFbP4@03Y;k#giG-Y&wOBvghJ(86Nu}w+ zF+J%R1{jq_-y9l^!glcK-2v&;yq8|^^?Y4j-p3Kv8kzs8Q}hN`@ZR2Fc3Cg5d?9Xu zf8@oz8^?RPA=np(+in%Fz@7HD#JSl3+}r_UaPQX>xQSm`f&0VN244q8?**ZulA7O7 z-z7jnq^Mrd5aa_5E`$aj4Gk(<RhPQwZqTl$uQbT9Wp9J>`Y|pL6^#;@nS=%pg$57y zH2Bt4DrbzuDhaaL=h(R04Mx^81_E+XB;?>#3O54vXahnBt-8s1D;tW?E_NJ8!KLo~ zGt?eAM}zd!8dRLG-5i+?HaJpk@EFDwNJ}f*Z4jmFlMFIHHiegusr%)CdAv%)fx%*d z>?=$&+K*CB;k=6kdQwV*<s{vej`)P0FwJr6ejK46IA?=q^jT@J)!!h;ZUYTI6&gGp z8a&n0;D@RW4sfZ>treyj>u->S!9as^f))tRh6c~{H2BtzzUWFH&P#0W>w=ZnXB!*S zd5mRDAPIHP19f-_ds`20(_1kJ=-WnPU3v{x-WXc>&U042GgiK%r}Ev;kpx+v>_%Z- z4rE&2LA0;00F@=a{BoU%(&hEZZy;eeCBG(Y)GtroGSV4&VeLWHNEk16vD2XC^5j=J z-X`l9+Sj^bKER@3X5p)~h*GQ_Rba0bkf?J55`Z>lK48Nrep2kS%!56dsz)K&6pK*l zgLuL2Q9wUub03K1h)^y+)E$kOLov?YY3~5hO}afS&RXWF-pm8mhcmsI^Om`dx+|X( zXP0KcUnNsLJl@1s6R4Fw)!djq71C$O-yfjZMjV#8klrzZNrxahVg1=R0RBEeeo|<} z_}1DKkPoJkOJp*`>vZv+yIG51qjS&Q%#8A3Okdm?S=DL2FnJtNQ+znp)%DqHbe5@a zSfk->j3J&$t#v$@0%v%ox>=@a#?`t&20Qvf+157M<$}#X#6oqqM3t4vwqF?{9b0er zS|`odN$$*An85WCQn&-3*)YMWv=2Z{DP^*h17_SC3rMK?JWry47S6UxeEH?df@ayf zxhtSvK+^22dSnTEd7P}TZXrvFFIpB1l6}rnFi}Xsdv;Byg<%XS2%>d36FLd)`)$(B zKKH#OPGUdwx$jjL-0!87P$_ILst{u-Xai3xna^IWFBV#|d42OzoPla`20Fdw_D*w6 z5?2_uXo8mSwUc=nWoqg{BPlZ!o%8+CD$emm&t~zuZS&dllXtEnNf?Jm^n{$d!*iFO zth{#coQ0kzSE6L974PX*oR8d1y_=E)tGso&-A=GmO*QFL7q=rlLyIS!+M)4f6C!n~ z9Ozi(7Wd!C^vT(_O7TQ^o>|TlV=yG)Ssa&juFjv6Xos7{ndMuv4}3of#LFvq>_D5T z0zoubhW3D{Tr8X9<+bF6HFbot=3Zehuw~LR74{@xve`%-X#>^=3@lVa!P1pYn=MAw z#pdO;A9-Qz(`~BaRR2>vbpl8**G<U@WzwZj@|@LViTP3eQ2fDKf58fHn#B`!043O0 ztdb7kQRRRYC?qs?+MAM3sPMunbk^C&R+D@bTD`8}Kp3&o1B()AHX#m9NvJ?jPSE2? zcC&c0EfEZF*lGlGI&lW-E+Wwf;>Z_X#6jnLBggQ~;#gafd0Kw=M3h%@5`sdS^~uNE z78(N-?r3i@dP5@i2o&AlE>SGHNiaAON}r!*F^A!VXO^B8Mvq;D2tKoXw#HTGY806a zc11)8s%R!k%35sFlQ4kQPIZy0VhZbqH(h4Ws6p>znMd8Pf(oGil_G}D<eT{tUEN@v zIfI>jMiN55nvZd-kc<R_$+hrF`eJ0Ecu|*+_2=JA{uNk2csF62A0`7SwjuBdtZ`+9 zWj6EH8NG#wv-we@1zyoZ1_i2UM07D^pxKrw^GQa*C<lRmE-zKS*CdvG?FaMm?C0<* z38NAco%E|RD0CVV9{Y}HRW=nk!;OA}7!JmGQkTrYV)R`s#sD%FL+T5Zp7F0<4`VTe zc0>m;@!~X1JttQdYh~DBZ?i97%|_Xn@sn*f=d}F^;ywrFY%{r3m~#%~3^1oMhcV~8 zi5!WILFSxW8JRQk9;Hi$ioEAFm)XX9-i4T_&dsfK{&J3!aDi>a@Hg>**|+e3(Qo9z ztRUXxqeF}kKvQyoBwVEA0g~_*ya*aTB@%RbRIF$DCwlXprw4hLAwl`E0iI@zkl!B2 zw=sY$WP&IFlD{UnkF5+M8@P_@o#hG(e(@eTRhGvFqQdg^!1DDlPiW-k1a})?^-*JW zp#ZUAXRcOlF~{!6$9u`>$C(~#&gevF>yxY+u*`yBUX!54BM*?PDNuu!DFYV6VPT2n zY@C&r5QsO9BWNFnUyVLd#^BYcoNwDu8`03z9I0_(_W$Jwuc4LF2*(rqTEePu{1lr& zvV{SlPQ@XR_<M$cO73TMK-GG?Jj#ro8m%}p=;`Nj1Vd4Tc%rkPC1rPNK1&CI6F#;Q z)+Np2+3(O8SK9lLkO2qC0X8Jd8ZAsdIfXM$#aOl0XRKO_#;Uc&j8)MM%G{vWSheoP zs;r^*ejwN}pj$OVAi9LD%h+0`wn^EkP7T<pHaKKt;th7HOM1;EImRT6oJvGH)u~~2 zs-aA@O<W>_(qVS0lpC<TW237sbZzV=D|V`rrJX9hm!0b55L-Hy_zec$pq;99YtZ%( z;xrh*Zl^j7E7+-?7i#8~KB#-pI1~fesSd*ccB%~wczX<lu~YTxFBC6>U}C2VVu#?1 zNp1+f5cR@}+o=x23U;dJ#R_(+7mXF{REJ>&i8g>0>{P!_UcpXv2<$AktlNV~WL6Yb z+)i~ER<Kh&FIJHH7mXF{REJ@Ov*iJ-V5jQUKYd=oPStp2Y>1tz;O`k*i`%IZ=r>9r zvr{#BbY44Et%a~t<+_=P>$QNx6>z{#m0d__rz(@4V5f@ZrevSu@Gr!cIrKI=Rk=+f z`%pX$F;SHsWDyfpy*i(Xs@7)1O;p<~J;$b5HRl3`1=u)~SFefce)Y6#qDs)wvg_If z86d$#6~Np?Ro1*Fme_yTMx}|nhnc7X9(w?$Kdi<i^7VoBPWGuyw@>99K~0!_s&KWV z`b+kyeU)?LWVLd(JXUp0#;Mi}OD+X}5vE}rS;K<tLBmw<8=sg}Dxa{82v(`AC(LJ$ zuc*PocWEmF^2}Cnj2(`8dgP(lZ&vcf@$#2W5KouCbdWO_VS0F3ZA99W{b*0*?`k_$ zjs~SRG3^Pbh<U1&i;T|LbxiP3P#u2=DxIcawCL7moJLWcgN+B)ggpaW_8mRS5;At8 zrhsjsL-*XWz$fPk)Zx4SkP~m+^-ck;Bq*y^NbO=*CC^Q@FNaKZ=O9lVfqA39_HEwi z;(t}ojuD7%^%-nuIGIX|2RUErRhIPi24xAxH?Azf=9h#O_imU^Y}pOL?hUbcF3-Ik zmKu?Cdf`s{;f9)CwgNYo2OHeG^#pD%f~dg#rfP%bF?4Kj${UOwDYycp7ttJj4K#>W z#v0VEVrp>jMKn05Ea__yWywH;Xl1NH-PEQAQ4duh{M~1l2sLGif370B6xa%Cw_Yks zIJlOe)VV}jEZB*rmyKIM4j$niIGr0Dz2Sv(G-&(>C$iKob})<w8>}cx(&CUSORQ|S zL6jwjgR;cDkPkuMF7N(ym4=a40Zla`F!VCbXg>{6mN-t#mB9zgF}kaxh@*Of(j(UW zI9Pu6oDB{tOZsTYA?ZMaCqjeALxWHDH28DX1_!uwP+8K~Aj*<~2GPnGglJ_9LexVQ zlz!#k>5H!P8KNvnr7Sta)-1@IJbfN=M#>UvOUjZn1jn$-Q3ai|a(J$XNV!$MtyGr4 zL<5y?L)~GO&q22?Gko;hsfqpF4pWvm*fk2w`KhxfTv<Y`>yuwFWyu?j_LnDbGG)nj z)wnY%OVZ1epVMIw%*iA|DDJAVggQ`cpe$KXfn8QWqOSC|Wfzc!%XrvXYkP^rv`j8D zWZ=b2)x$kCb*{m(Iv+uEVAlz|Z1jOxjtJ9TNLk_|CMZkN;<$I9ssc%iQ<nK;Z>A!! z<L}d(dB#dU)tjl?x(sc7y*+|b<QPz^=TD+6IT6w)$=@BIc#8DtkUxjA<gBoC)LP+Y z$G!?51mwdiKwv0q6VRiwBt`LY9%acN(Uaoc6=jLOab=15A|thA>&+C1nYSU3y@+O9 z4wxbpEZf>PITUm#1|rcGc1Tp&r`eyru)G$M-Y%vr5h&TaO<58+QOc5-EaiYHOJXkP zZXrpcfEH4gctXk&qgnPkU94O{QYlM9!d@P6WeM|bP?i{jWKY^lm?)&+JubOY9ec|Z z1d$p9_9P)Sh)vp3mROVmQ<fO_dnty&5M>EnH%A*=$-IfnIZ|DP#hJuEWl>o&=VrHy zuQdFP9aWmcgI4RTm7ky9#JUar<_aD9%fzYfq3k=@ILXwBvrR0zZ?zW|DMKgxxA+U9 z{5?N?wJd8NoRkBu{>h0Riz8Xx7?xmyf<qyxAGk$eT7BoDs%eYNq~(?!zT?pISGJ-z zL&Pa9wI++dwj56T+zbw@d&S8e(b0MK!#O&atN4tnNAt;RCW+idhzX8;cx=WXijd4m zV)=mk7r5;#kv9-g^xym{6}nR&%NK?8Jskd9%r8_Z9EaI?G?>}Ur)NKX82NG)@RC*p z{i{jf<iG9j4ky{4y%gJjoWHJ}w07_H=BW)ED^`k=#iJI7!iPdpBY?Zit#Ky0VG`d0 zR(pJVPp4kg?)H1t@}}1RTEM3FY{iSk&c?x*^5x}(a|Y<syKvYX7H^BS#Yi>M;3jYm z(kN;RKIhYuUWRMl8u$}e=wVlrj92J^J++YmK`=?^%NvEmoA|~K#mBFioK(iEp*4@2 zr&}O$Lb^UD2iK2523es^X20|*A-N<5MVuI{fefu&i7=Di>lI;*FE=5Xorotn4aBvJ zs8-CBtWf#&0|do2lduX2Zzkv9=S4!;yx94dO1+vCJX9Pe-$^KnQUhzS?B^R2Cf0AL zIGO#y3s+LS`dY^1GwD$R^2>o|q{zdk(59LF1)HRqbPWv1Bd2SsOp&Z)8OMmahmBF| zdPai?m@iQZqe35eVZc#Xqb-aw8(<g}KA$l4Y`+|i4c?^Fpxf*f-s}dNC5GkPKOV+u zq&UVSJ9T3+UK}|^>UVwwmZfiu5$r%?p}l3H-Q7Y3r^-(Ym2w$T0CG`Wh@RMrshs_y z{{mx2Ns$8p4F?EX*-i@6Mj%pgw2@>K+ZeRkc1N-~Q}ekqdD8toR03(WBsOQ|s&9<V zd&G{hc~$IG*c|<IWOI`_FfTEcg~(Ss(tFq(b`h6P@(;c&x!mNHcsAfaa=9_f)n3nL zxg<@(@y6ra1;QdRpWrviA0YX38Jy|Y7`(!zx`TwCv|txOs-aq8d8YCH50?7}gctVv zb!|F8g{s-Z1KhU=w`<Ib2XH<vu9s_UKCV!-0H6mE$ei6_Y0WQ`61$@lx`hW^!|>Ed zsjxfec<M?&yA#To)(A*7O(XP4em&0f!`T_BeesM*zb=|Fi|tGr#U;gV9@)XG8G4CK z;0&zmcmOi9h;~3?eZ~YgI|Ij6*f9tY0A(Ix-eiU<rw0sJ8MEdM*gH#P5A{qFsnrmt ziA-kS{$3{fQJl>T(srHGb_P6J)Yh65B9KT2adZ@(E#}O=^|1_3AG6OmP6&GU^nq$K z4#^tIt=XDAypp9oAk9o8AtevTH0Xx^LnHEiFJVxO7T+eF>S%E}!8{ZdceHpBDIQPa zKdToCJbvvY>QC^7Mo3n~@-YTew8q^ima>?R<qwsF>O$tItt}MT)H3b64z0)|k_Szw zQ8}ruOA_KF-zc|R{6Vqzef<w(y~4~PyW!^A^a@4)Pc$hs`J?45__1qP$lx-T^?q%l zmGyTDR6`2iL#b+O-6c9@X3`DP!&z#zR@3&~%tlaZseB`2hn@+seCnq>q6a^<&8%l< zmogsVF@%P8RMYLc_zF8`5rqjv``kd5&V*r8h7gxuD^E41R4vMkRz|WlL>frsI7-J9 zgB_6M{$_^T)I)h8tOvnBpjeX$uLC{$@Jc&XyuyhQuY7_ewrJ5bC)voGY}ZRHS1#_n z<;;I;ak&l{YnE;N3}4AQMf_&sq2UO@4K{CO580}2^>kZstq^!aaL2sK6s<pN^k+tY z)&am3p!M>aj8vX2LmM_o^gcV$^dOz|XGMo44xPbPT&$;_aEdFj#W+B0X+&$au|^v% z5Dw!&u37YSx^2cs2(Pt_{rhhx!C=?UY(h+Gb|B1yYtuCw>({CKH$tkz?>oUFIy?Mw zgsqj&{__6_iPNvhC&a*nlE*D@`BM2DN8<PzTTq&Df_1w>qh>yCq|C>~`w(R!A1`^I z@h@-baq+$ZCSC$Ccqw#;4lvT+`7B%6X{bl`u^0WE3jLXSTG`*)+%b$El@jdXWSAqc z_J8O^lKt$ffvU|fNr`R_kl_^}4waK|7j9}2E=N6JtsomNCR~uX1nJ>e3&Ypt*q6w@ zY_R#r!vS8+tU|Rm=Jo7}<zQN(kMJQZi(!DZplC8DVFP}G)Z|7JuZ&Q{hsJBp<6`8? zIi*ThmaGxiS<UM<rt8cPX?-Gk!BnAb#UrnYt7_TlR|sPf+#T-^_;=wg5ECEihJ0!@ z<U5js1dizLjGNrxrzA+13KdGFn<K3du#}c?Ca)`&wL=@79``Oq(R@CFXrDw!kxJSB z?b8Jc2>OeBp>m^=HYC>2gv<X4jRBKW6Xh5%_c(Mx*;~I~mLY{%|Md(89|I4sw5f?2 z>{RsW$uoqM<VSay(K{Pq)Xt0u-$Z$5E3;DGiP>D<Eq8gBfi3tIHk<K`H6{Rqu(Wkx z`LQIMf2_~}eA1d;WTv@jX;}`LiOPtz)hp)~r<bNRUqmbr@x64D(M?P&HrOyO_K%qj z?T)$5qF*}wC&*U3XX^#0%KP-(^HpW-Rgz6oU2+v`Yka0YzC_E^4d}gid{>9yI*<z# zvz@j>d1?6|zrK(oXbO9<0-EKrMU72{iGqPx^|*lkKgBfu`8_W|TfIPfTQ3yjmZhed z$f4Za{+`&)U5j<^YcHcO>Y$`4OaCi|HbBp(>9qcR-H3qOo-QJ!PtiYQ{C`C~TI1Rg zqXn*`LomY*IGN?PO$*<V%yKb$Qb8r&v_nw|3Y~nl?99us9Ix-KbsDqdTu34G?B^VS z*Ep+Te_;d`zE1_~c9H8!Sc${M4Hu0qV(xpxRleDuPU;i`jQwuvyp!;Aao*9sAF#cP zeyydp<l;{EAl3{MaV8Y>@tS>@eR8w!vm!3CPy9y#4<^#$7g<f*>o<RZ9QjhpfsD8N z7(mg9?4p4mK4#G6maJl@d{xM6y`x5Z$sWigx$7K~_)v6fdACxQwR|0G`JDHRoJT}a zus<+zh;@lyk&T@FN-Csb7}*rhz6N{X#=(fiX8?ovw4b3UoNvvJeUCa8C?GZ+L^-x* zlyYnP!2#&bF@yO`Y>^{-MS?s>W&mqCwfi|ln*OeZ7gQQ%KBrj!Ujg`*bZRWAA*Grl zqb+2U<I3clAvaiG8d7r{D}*U$93ko9y1afb?whyP6-)f$zIl7y9A=D;7uvU9w>xGo zuAN`08|uUh&RD~6uv<77&RN?{CJ*N<;p=0KPC7X<J4zfPPHBwiF0LJvs~Y~lcp>dH zXK@YH;^X3Q@IJe;`{KTN&y}>&6{gISE=<+-1xr)0=S9pv;FH?>W@02N`pJuts3QXs zl>?uPm#E!QIVb=&Y?aIv!6R0BNA#jHgT+oyNy8>}39Snj%KiA#bi`LYJAB2{KgN51 zGqs+!2&%<TaA{P*tx(0t^{b|u3FDu03SQ$-uid8{SGYi1NmuzFvL6<h4g5B9i}=Jt z>s!vrsi|Dw+SxQ$SiS9inw8%1a;YsOGc2}@RzO-bZy;=y;N}?Q*!Sw75W@Mi#J&~N z*<*71VSRHNUW$9%lca<2ImuEe$##4veUS=lpi6A=t6h@tHMdb}kg32C)x-(=X!Z{I zcI~i*6<z~hvW*M=MxN311LnHr6E6e>%Jb7xdY%C|+%#1ke9u`5QFBS^N*%@Bu=Ek7 zcX*l>92Oy%ax{>=btwt(Qp`UDrYJX~P%8XAL`=3H)Jg=rT_qY=0A_aL7MPhQT<^6} z;0hJUF$z%&PpLIsnlpR<>u2X)iwn$--3xQ~KVY{SNNlOyUr`(|)s0Pew{q<C{B#fy z3I8lBk+Kz3_c~XgaHSaq?HSe#bz3vPytD(IIiloa9a1O+6_r}jR~YOw8=bL@>2Yfg zA6q@gzK>Hd-4d41f1j3HI)@p}_H%8kJP*JQ3la`zi_5bQS!%g}L2)B|Ng7z$k>aOq zmAp6scYyOiK>L0oPgm*u6u4C#Dsg@yNT_td)dWgPjS#4N1<3*8LUKx##DyE&Sxt$* zeuckskwr-o;HTp(2OGhaMyI;@UeO6SEzO<~m#9YbjZ;Du0p=0Fk0qHCIMB*Iv6KO2 znY;*oi}0I&ssx|bvQw|rK=Xx-RS-rSJnA23k6t0ru_+0Z(^ke=RV1+CQt?^bYoLVu zUZ=$!KxDfnmDw#ePqUvfcgj76|6`(fO(DbWAk&5=WH~{09Q0y}VvhNE`&&dYbp)@2 zc~LuePL-J0rr$hIt29p^nLZrPDz8hK-}rt^4xwu7HM9woumfogXgJaC3klN3#$_#Z zydR%dCi|6FQ6)e+s+9oMy|fV0!^w!DFnhfig4o}<SU}qvUucmCUE&Ff)>ix+37`40 zsUjY$1nVW2cvUEWy5s^#$Z`-ces5MY2tUZ;*wPqb28T$b@4-Ti&S>Cq#L0B>@Fx<k zB%o<n+9=D8`Y6cP#_5O|IzsHrYwxMOu(p{}km;L1Xhth_pQP*W_z~^uM0p=_C83Rr zBAJgc$%bMs+xY}oorQ$NP}>`xYZ8XqoW@GnknU%QRLqd7Q0fKf3w1!Z?6<zdP`Tgd zQkx2`t3CuI3>q9U5u1+-P(JbPEA7}POv83`;9a5g0k5H!BO$ExC%rU;I2mj)eas3E zJ6{|?IE4{OA5V_3)_Eht^4}LndAL?-4+E{($TwGPEuK{Rz*~8BawFUE#b2G5wVCYY zfTs|QXZBE^9lrW_&~j#nmNT}H=qs~pS^XLJr$1T05A)p}4RhV48hHYko1+f5GS(wH z-;v%zrn}T24O6o?4(4@Am_4}8*Fid@JI;>3YpzPh35+9cpG4PecH%q_Gu@+q`<|rO z_rdp=nXU@xW6BcpSgDh=n3JS^4)xtqX`samZ;uJ~{OzGf@WVW7Z%q}#w;O~P-X4}+ z=WkE0a=>?m!zXXK5~FXq$oBBuK7V^xdwaINlxDut-Y<W*Q?UA1-epj8<!oJMK}Hi6 z1NgA9Gq6v!=igq_M98>Xsfb#{A?xo5GPkMGsWTt@);}>iBfz%MC%g{vCF}zKQBYw` zuaZTQOh;C2VHH~7f7=Tr0=)U$`bph%e*vGPyjkS)XH`G{^F>-89rn3a5z`j8mtIJn zSyFJZYFdj{!vGWC%VYHX)r>7#O*>R0yq~u>?M16$oLg@uFQl6BMXSN@(5jJ-;(2>B zv1m0}sAlPfR5Q6~HOoRZmsG3ylkbv`>T#l0!)c^GUh6D3twAw0tfKRSL3HCmMl((! zuz+FX(rWt;B6mz~UgmPskGL=E3d?MGeF)1Hj2^4;`RR6sW=<Tjc|9*<$)=%NV!U@q zX%Fv1YH5GfQux@AdUo~mUS{rozHHd%2I*x1QhM0!MTu#`%>+z8(=mO?u!_1L_O)-F zXO`;!h*JW`Z$pbYk~a6~DrCdDoeITVCd`=Ya}NW#7P2_omPT)dUreK9yqHBd(nu}o zOIodT2qSBGoWqnB%v|WEHHphcN^n09Uu`oxT9zU9nQGmJ**Hgj))?wO-H2ni;Be<z zwKf&Kig+=4z0azu-dB|5&)k$?@SEhzHzip2vi~RUPmL$D^%*_k26nEAxPt|Jl0W+e z$V{HkuoYsGUrGcd{a$8!#3aAO)|W|+1u5%Gf}`7xKG7wFhxHp<w?lezNOw?A3{DpG zY}<{c=zlF(D!XRW_~0vM>K=4qrfA_z!gM`J{;U_&ck8>=FR1U*lj%UV8cYX?(N7rD zLeEggVh@VhI`0>-;FS$W_Q4zc`9|(aYjP5neLxvJf5tLUblcZF{bMYUErX{S^|CAY z?=1ggNI12xigq+)rTgJ5sm_Km&5H2<+B&r?Y1LZwR@!PcS|iOC{~P7g+WI6ZK8``e zsFJ$NC?vUMC?;7k$7G{hwpl!-T$vo{(-Cen;-_{fR_7=AHR5%udP}B7nae6S<~E8? zDXHG7e6x6meBqLs*ECXmj<?pkQBM{+-KJp6I}lnNDgHiII9hyJ$)Xv{S^c7q^-TAq zH@#<iVac@kd`#AhFUF+z%nCHS1xAXG#sZ_(bt};778tXu*e$nhy|U!E^&X#i@6|-{ zS=FLbZ0nWUM>Q@Qs8^Oui+_yCx_xcA4TIZ~&2CwlYlP26y9FFaR(8w?s=Fc#du=+2 z3q6OBj&_b6icgTE6B!ZKzNr~dmQ0QEmaJRXE!i+oE!i~UTGDA|$<g9OtgO}T?3i(s z6=-*xa12@QMDgkP*`%S+a;MO|(X+xL8?H~5P@#k1cvH9Q4vmy&e-@y5Jl0h2g20v| z<~EDRVzQ^-B9FD&>ViAg1)<#qcf5<RiEd{nyA+%98j4Xz{gM*(>UZ7hWFNdfX%zoN zqn2zIUx>+(Zh=ulw-s>8T9SoTEbIJcx#Pw>mYnF;;JvckDQ}_}i@kaZgh@Rx$Pf|* z_Kh=yB~ydXlAM0V0*&HJG1)9W5|dn|5R;=uZ~M#{!jfY~8cVjj{T}avJ3%<6(1%IG zrj?!QezpYe4Fxh|6DzRPAumQ8#$|A$!`S5*8x3h8F0o|YNNCB1wPZ;}&j|&b9+vCl z-;zH5E$QRmlI`Ms@iXUc%bhSBSaQ;kWXUN*k|mcIT$aoXE=w*oxY*uDV8s4)={-$? z2!8hek|4siB~z0MmUQm7q{C&&rj1Waju^HrIcn0`k}d0sCC7@-#CqF?SIcD~9dn)g zEqBtWXvwK=*(Js^mYW&(VWH^2ETzvf$7Eqs0>iQ(0%J+sS7^zSE)Ff(DE=kpHjQ4E zs~EVUtWO)3>%drY%mBA!+h}0PaTAi3^g(0ENrS+WQ~sF`ktH4B*JY-7JpiT&%aTh? zidk}5mnN4GeJK=JZoFm%p3z0vrJh@~9W|Hrpe8eVSYMVJ8(C6}9l-VKE!V5Jq*rfA zubxXrtJPyAFlnl4zjcFIU=#Na{C*iDZLS^f1)gI~$SI<3rOZC|qMY-4GUT_wpJ1Zu zc^IgY*)>yzhs~t*5e~HEyo2TG-jGCHvfGkovbH}YF)Vv96lf8<F(ff>og*o;eX7?X zn)PDd4k%^oXg|4uk+;X=&)xQuu*li`bNJR=XVvf0_0H0AD5Kh9gANFg88(^V7b3+N zRA%ZV$JQwgsmq8)#nP*ex~!g}G3RKucm(ITTCoEcEbGOB{gg+R{XA?x<+Js%7r{Z? z3*)@Q>W!~}z>7U<KOYH4;F^%tRY&Ke7IZ)dU1_o1$`M66EYQJfd2sGXE`VG5`haM~ zhPR)NY@KD=r;hL<-dgEM7bc9JY|C(HFt0!D2M(GZ!A~L={L~SDkt!fM2sL;ekh4Pp z*=9~xRY17<vI59c;i~`$$Cgz<*d<m0Io%5g=ekx?0EAQPE+D(n2&J~MsRF_#i7ym* zuL{U6Dd@%G4hTMTLl~TUP1m~}cBBZmf>r>*HOsyVfS{zV0<t&!3>0D8WuFF$><K>u zAlpM#MiKFUA0U!S#bGXN<J31PH{+BF+O`vRc~V-Okd7S4AfkP8Z1GP{hfhxTeR5*) zPtJx<&c;vZ)LFYC4HIVOrn>Nffiatnx}fFs2yb@cR@4ePHa`3ee(toN3;g^WjySB7 zr_)8@I<8nCe07|!s&JiM{FBq+lhg4NS|@rml$>r;({5}32=qVkGJYQ7r&Z5}*^sOK zFbAfVO%=*!Yi`?QJ~mHtL_v3ZohlNmN~xPjg~}U+&N~JQ<cNEG3@uYgpGFUQIHVuJ ztZf%&(JHe*dawL!4_GtElxk%ZI81^46gH_rglikTVc7EHun9kgK{sosdG<^4`IwM` zModzvxHxI8!3Nb#Jf`{C5yqf)_YKGHqG&h6I|Dv>0c|TU1kwp?^^Qldl@6euCA~{# z&Xk!4HK#+Foum&5!eiEPh=oelw42_J!hoZw)G@#CO+4^?yrj-SesyW}B)>FToS;wf zs~vx7)4u~qbO>-rlTV8{o9fL3p3v$chXiN5rx1k0j*u4N9t~*-njQ`5U6eURy7(!R zrC%-mH{cjU9<LDT5*FBk0`%p{eJ@O2AK>TU#r(2u-UEq9;%#+<xiMWgWkr~p7;I<| z6$q~QahSD`9yHY)#T11(S1N1KxrSDaCOw3xD6csU;f)O?ke4^IFB!j<z0)*Qs&kDh zbJi<%+87l%pP6{|FC^z2lC^Z*-OWW6N{ZLK`%*xe8@E|6;%td};a)mr;%zN1>hgK9 zo2e;=gS-h(<!on4cX9_j@T09$kauOZwnDqip&N3G-&*$Q@(xEO2ThhZo~nPDiPzfd z38ZNpXB-MNi~CKF<jxm<+b}+txHRkPE}h=HV~=i_JDqTwyl!SgcGRULC74Y^<}|ov zX(eIecN!aLPjR}Dx-}zgw<ARZW*-%2f9XR??m)FY_vQ~J+2elW7r#06dHWi3Q9)Rm zQA2R;p^YT_h^bw1uM;Ov;F!{&RSMeilnnBrc+P`EHk^J6&dw5kVWqMIZ%LegIDQJv z#`_1zyHa_a6FR<K(=1Ku7;py`bz_6EA}=%Yv9&3NmRIU#z6mrhJX%P49*t?O7)Dt{ zy%ucTYlyOxFrY&a;r1uNqWWk!z^_q97I$prkMTLc?MOTA;&rOvI#b!>;7wr;7|R~b z5tqPp+)SN4nVO6UM^I);+q;v<4|7uW5)PZckAV1f-c+&M;v0~8s{4s$TIEkwGEc^m zSK8nRCZ~n6tt{DP2u!tgB7D1>A0on)n0P4vxXtxwX0X9Lo0^LPxq^qTH@f4_^QgL^ zdR<s}9(FNY<WT124SNfK+}L*qsvgL&MfC@8PoM^`f=iX!6qVmc9E`~<C^jSt--IMG zBSI}nV;94?tiw3c#l~Ki*{sY%riZYF2f4%4?We)Q9ML1LqJS<+u@079V+}71z>J0p zRfteA)a@qX#x1;I9qYJuq{kwb&-A1a-%h3YMtDET$9q}8Gk)cBkzBhexfOxJ&AKSX z)}~t|cT#wpkuH-AkY|%bEjxLMEX33;;EdVmfbE+*Y_)=esF+kT#d(>l&jVvYB+JTn zY$y_}ZQuW6)F$6j8@(&0F|sNe*{{A@hILq|=|r4ytg(wTMfP#R4_JZE{jlV;%MIB> zi9SN9q>uWg3;6V<X8^@0NQ`+p2In~3aJbhmdpBb^j>_vg3g?KtzuPn2Zkut3cNbF+ zMs>p-<gF=W&sVQki9<C8KF`DG(&c5v!6Wwr20#K>bU+2nP)%)1^o1TrbkTE1*MI9l z*BWm>zi@P^sVn8^7h8eTN*+68?Vg0qwOJC@j#v)<;4w!>{irGoXSZxj7c{Nf_@>X< z+kQyZFZWJicm`7Vy%})Z&I3r(c0kN#;e)qVEsm1ShLO!kVJ1r(QNbCr=!mAKK;ue2 zOj0skW^{^qBm0e)V2y#8u#4}@1Yc`J^-dofv^sKAvsyWQY>;HYAB5>c`f-~+V7kim z!7`|K`nb0;dkCBTvj-bm#~$biQ(rkEvX8CRgkaG|CZ>}*z-I5mSdB`i;df254Udc` z^HBT)VIRiD=YCi-g{Ei+U%^%yx}8#qa7%FWT-8x5>ELcEEV7}Gbt0}zgVOaE+Fy^W z2TnpT2-FBns*8r+Gys^t&_3~n`wQ(=5~QI7i~d5pmDEt;!Q2|0g=RQsM(D5QG-(lM zp{l2lJX~@_(@;;L>Pzz!Vs0#giTJiRy$6wCy+Vy<z53MG{)DXlUVSC_2+ash@WeU} zirlj%wyUb?@N~_Q@bv+2Gv3nxK6(e4#I=h#6?1p0A>RdLqwB~Bw-Vi7g3C}9MN7{0 za_U?!ak3GWVaXxYb{)8a*HN`iBa0NUuvB)|T#k09xEzfJm!rK>5Q$4%BTGpctvnUh zK%)BwK4smFfYHB;KtA(iAM5R{MSr8W*PQ*}ai%>#28q6Ef&IG9Ms#k@tZ2^fY*Yc= zpvoTI<W}8=g5YTc0{T6T_Odq9<y3&V2bkrtCziixn1_rub2ADIhp6ra*cRp`z(akE zOqUKYwrQ&_DcIx41owi+94nfV9$#_qqI&c$lA5k(&`~i;;Gy0{y*S3Pu=Fk(9J**# zhYo3Z;NbG*PEC~x&CSMLih{#JaD1wk@fnTADjQL!RQxM>@s>J%1sa{^RaCC94V_gq zuF(22;1T(W3@VQ8IG5})Jeoi?cbZXxZa3UL==_Zs8`|1(;SC3weu|y*JSMYW{vIt7 zZDeB6WqcS$ri~&avJcAOxZ?|T5h+ZBag`duDO<|^^)h%4Y#ZAn@&%#S%C04x!ORke zl$vMp4DvAma&6Hqfne+5p$$oNl;|jaMj$OM_UVykZ~LCmY@N|&3)He{uaSFJ$|WM( zqdm4lo^8^RdbcAmrn}l*3~mp}Au%gX>VX?^4{p2A3$(`FVX54BXgZxG1}ZESkstza z(YQpVEq<?H_}C)<n<pK$w19OlNIH%p+67EkIuiKk+>S$)L1Z6FI%53OGw{Q(lT%;c zoAQ$(FI)=PJUFBg279r;uG5l7mc}qE`{RYmVuthGshp2sfMISnB*x%iyHWYNJOq`g z-l*K}47*YJci5+#{cVoz-XQ0Fj|((mH!3@8YTVnAMME)3YElKRu)~*4$qJL%L+(|c zr**B<wuN5MscoEX`Mt^z62J57h)`kY4qA!w`^FFp02i9LWh;_m&o3_w-mFYfs^^<6 zI;Ft;$3ma%)DyFz9mCr67Td#H>@JD9p>UBFWg@K>&HTs$`s`7A?3;J@w)cli4Jm@q zsRC%7agJNk{;J`X7z%_<qoVPMVIld5v_&L>2(aKFx{GH<4CtuRrxcP&k|$)7<Tn#r z)(+m0<)~DEsX({N4WM}c>pX$K)@s=pDAh%>oUIY%O#t4(gTNKH@?cAP3lFZ=L}y6E z6XE;1F2!nj8#OpqyM$=bi+~yD!BK59+Qy*F*KCy|@SQflV)KBl-CVnSq@v3>g_Smc z!r=$qvQ*34lIrnSUlC!=+i+4BVjUC0seZVi8&$(q(~7G?gan1Hf>8<9=HKhgvrJal zmknt4E+V^3kMUnyEWAE}!1__&>=a+0T+aYo?7nGL(0||bz1}9m-zt9OO)z`)x@iET zGy2l6n>NPxp<`o2kr2g{)516#Kfn1IBF%|6p`Zd;L85!zmV~0)IArF3_>p^)?^2Va ze#135Gm@OANgoH+q{g&eHcgY;Lz6c2X>(h+`L!+UYoYD*f2XNQZ;CZewW+^{l}rLe z(V&m=k>{mb6bE;dYmq0J>4fWW*|drW<Xziwp$D#tfIz?Q`8tRZVCBF@(O7OI6m00_ z4)b}j0VCcr?2(9EsM7Zms8r!S;y<-nqOTLe8>-cS!+};6`OI52Q2{x2hgN-f(<%t; zYjqprd^eLtdlI`p#~Aw>$lO2Nb?W3u6D~F0D+6C^t`Qvo4wojhptE5<-&GSKi6$uv zbe=nE(=GqF%X{x)sKD%y1o`hxYTaR%8|!9byT#d}H9Jx&XtL2RF0sBTQ4vZI+isJN zqu_2@FsO``?F;d=BwL^K;x1>t4ARS>EC~lER-_lQtRlUTWkGsf*_B>4cFXJAIikm6 z#6-?FNJ6oQ;Bsq)@srU5=wj_?yk8YrV~8xv9}t@?G@@WCr{Q`<u2*`_h*?|5K0|h} zFk6EM<B+d(b{aqmc(R~mmgOhnRtmA(y$D%^AP!Hs__)6d0%5-ehx@A~wK3^<cC%(_ zD13j2k=2xvWCcfAItWLHR?j}ef>Fn-M1|5DHjueuOY;b~ARv!*ptRf~TA|J1W`UgW zg4$N+V`kV++4{Of29kDnSe>IMd_htj8{3XY3&dLSqPwQsWIpFE({!Z8|6=ieijjNr zHc?kuZ>4-C_}a?jlax>HHldytcPbvMLLp7u<Av*eh3hKJ`(^ill+(#wciR&Fplqh7 zny^REF)b!(6L3-r9ZtBekd4+zfpbO#PbvfO+u|QL|J1X;TOP%X@go?@Jmwgw<wBWg z7(>C4r!afU%Z_aZSg-_Y?9!=R%PA|}QcyK3N{@K1$=MiflATAxvO!*lP2Egv7<7Qg zpq->TKDn~PE?Cu>t24N3h_U7rY>9DpUknS@kdBbJU=#%dIsh~pBCqXGS{{g2Plz+D z(16-W<>ol2w9o$?@Fi05kn1|a1}$^xx^4%?3{Q~z_<K+2yyx)CSJ^H^E@d-xQi@7J z9=0v&x3Y*V1wqs7jS3H~nJ6EHX|TDn6C3t)0U{1H?i1Js%)=|WI6+Ye#nHsgL*D5o z4L$}fbMiFfc^^!dj6+&p-GCa5taZ#rHEkRk>>hi%(~G*ajHwopXNc~pJM@1DNN^e; zS!gu`J(|Z&$!%)=M)j+QM9xhSq!gAFr*dd1pumtdXh7XJ&AGo3%wW6P`N$MYfst-B zY_t4;DjuEB80khk0KU<?aUT!n9EZNmQxvE}(lJGyqPYoik(7~U_CW=PCuo%YrE#e& zig^#21elYQPV~_f;Hg#r8W>0tZve0n5>T0_eUi9nUQ~%TjVOllj!q?&4xEO~i#Uyk zIE_^`;;Q7dFkBR{Iw#tkzGD@o@;p?Y0uy<wEDvw+xw2qM(-mD1M~-D@)wEFvSvf)Y z5mtW@FOe&e;BaLR85K2C6!bWlk~R)3_6dNhVa@Uh?xx?!IQ5$cc8=;dLm~A0CE{s| zbcit9{h<)^E#N##nmC3qxj=#wbrN=?vfGInR*Y&SQ5~OOo;|Qi{Hu{Kp-ao^N{5Lr z@$?EzQ^wR49zr2)L!}ahT4yPPxN9A|t53B#`TM&f!i&%#&v;)fGNcSFVM88fkf29! zRDzPR8S`E3SZ@?OBP_8U+0i`uzK9WSFC>R+e<F_PDja&HK}RQDHfo|{7%~hr{;uPJ zguL2eU_>BIObghU)smE;kQyi@cPlESGcsdGkr_JDaZm?}<NG$&ZEW8`7rId)8B1b( z#qaY3Q6X#KY^<;Vxju)+76wFOSAJ-au^Ki1Ui3}ES{Km2T$<KBf{Ao6T+ZW+IP7m7 ziYrPRT9>q|bxDKPg{`jzb3(t7vfIpSJUC*?{((DHh)am*<gvCx_yBkV^fE<@#p_dP zqt4*0Wq&hkGf3ssh4IlBpRLwCtO0v1JFJilK>B#>ETNS6Jm4RFaIHA`OOGYRy5gxf zKjzNW^r<{A#vmu^Xwt%UG-*-lXnJ7y$P2{bKoJJOI^<}1YGfTzL<i|;8jiTH4^@~g zErKeGW_J!$b;;(+KB@Nlbu>L{n0`2V)G+-od(<%fFHysEbu|4iyD_@Z(e%F*?!+oN z44=Jq7W*@u1UFqrgN)%IQVT#%Fz}kQk`)~dY%U!Q!St&-nhWJqodfqWYS7U@08Sx| zS(6@S?V*4ovcs?5xuB!zQAcSn7||lgE6gpnu@7|$slXEggd7=bquR)nLfwio<{QCM zR9v!@PaECwSC<whGL_b3JzbU<*F2;tUomO;e^4LDCQV({6(JWqs&rf)G5(Pks8_pL zH`=ter{2#R*0A&|1VZk{cpHL6KY!(L19ll4oSZ}q&1Y_L_Nw)bW+oI~a0Xo0d}`lT zt^T^BOew)oRkpyPEW!<2Ri%Mp%e51ZE>pH(#<wFVTZRfDq08kc%9i@1lr84Pb|H;u zNO`#dWlJ1lrfhK>XozVzc;~vxmWyi1l`T}r0QSLC*4m?NktZB_2Id4Q90Qsq1I~dr z%_}83hACUrY@KE``|9w^oAw&J$`;X~t8CG2d}T-QIB;%1KLNYA9Z<GZa2vXyj#rf} z&4;GzC|jBchuF4c981igY)KWa+Q<=A(cc6yXLcMHDCS(*Vlp_0xgKT9g^D@GRXJ_i z<j%wo)iluh-T?i~R!K&rPtPa37*w{n<n%A7F(_L;pVjJSnmQW2X^>v)wrag1!ti5F zh~{cPR&Om>)#(i><ZdW~IRO64`myr~ja25E;@BsZnj!UsrE*e_TS~HU!BPlt*@8^) z__$?A+RNmMv+3vbN)X8q8#1-x^<CcO%**CGz9GRX$9qBcYB7hhSKDE^b&l*cF?&r< z_PUt8uB=2u0CP;NqI@)vyirNne9B0WsmG4?y*t-&vc*+Otie+qH@d%0GR;EL4sJ9q z{iPPRSQ61yR-6sBmc9P@Eaj;;!Q_u)6P9VVPTs)IQ`>=h!RCw=8|NypyV;jR7Eb+6 zyodFB_Qb2n#*B0pvpG@VZy}3}!F9pWPJMEea<XYv=k<NG5iib+klv+Sym0snwiNKq z3hAKI69f>l0@K<zi3+yS6uF9K_RrsIJ4!O0Y9HlRn@A~_G5>`XKfA)BdA;w9bX?}e z9Z94eCi1hh>xGBCO}+^Nidjd5*vHC6$9cfSab5v0Ct43!OkMJ4(F+T9L2&e1i%G?Z zX=bnIQU{82`k91}*(<4k27`EzgZQTb!|_F6AV2%^1;U`w(*pwrG#3wpMifUtT^NMS zTJ}-GI~hrwhJWxp0d3aGHSH~Ehof%9Daf%&SOW#7+Tr&5Fq<Eng6<?>b7y)UY-*IF zLFxA7f;qx{Ce#HRHYG=ppMB{9u_<}ggUykrgH6e-V(jU_Fpr;xVZ09p^0Tj8APkbM z4g;(pt~NFK1#)%ZX~|zyXHEr<ATNAey7SH;70A#2^#UQ#F}wJs9G9$oD?IIM%;Dow z%SlOsDnC}&(0B&a_p%mJne6fJ95Sx`9e*!MIv)Add8Ol?INBGJjug<grI!8tmi~Ux z9cg=h^G8Ua#37E}JnG===*=wdiet2muYdNZ17eEOSDGl((mDvpivsHcg#M|>ve}0; zUkk6jLZ1RdAd<phQJ~K8PG8N9%E03bOVS46(omKx;KSQkll0H@)!*7bC7ssnOYiH9 zai32<He0`Gm4b079;+;Do5ig<_iPsbd22C#{VIO{_|_>-OHw;aYt8<oeaM;G?BzG< z?Oiy#G)EE^k~%*ek?9{Uv)4}QK;4!Q=)H9IUh|a&>WO;x?lBc>_@qS4O`GI&RvD)$ zor_Iu?WEb8UrsfA)4>1B+$`J*UQ8MCTzRjlTBll@HEB1BL#)^4UnSHw3Ow3Kli(Qb zY|CHz=kDtkbpLiJcA5cpNM&e^w)Hu4{TXuXd~E^S@zW@nkp9{y>kqd4SXlq_M&^K8 z_QbXRCh^dHRt7BG!HgoiX3iSc^1ZsKH3^mXc-u9KW0h{J2eI2a1m|5p(8vPo^=3S; z)M-Kb#I=YE(qO<p%3l9mgdqJA9$6H1Y>&^)aVixWAz7l%4jXM6bDT%~N|FkoPECZp zgR0;aMXC(HJ7{nl@~n^zPZM8fJf<jrZwIB7E^SPUAA_KUmPa_N>83-DHd&1AF_Scf zMBU79_8hwMQj51U=^d=6bks>NLGC-R;?F0an?1I=sG<4N*NSH2FvYJG8Nt3@5kE#t z=y3i)k!_<kow2Tl!FjA$#X+-oRZ@jUY4B7aKaCNPxKTXFNwoW!AH9{Id+n#Z(Cz0* zb0a+ze?DSwrI3Bwt;O!gzK~>}ekCHzNW<S#5a{UTB(_toQCMkznLUh}r#MS()&!KM zH%Nbe&Rbc!QOOj&_O>^sPoZK_`a#ljZLf;IAS^n*JCD&pvgxc%r`97O)mi2P&mqC7 z@&VZ}IIe!?2T0hk6HooiN=MsrQRx892zgnDMa?5>6Ha51E$K0_v?f-nqlNK`_$wCo zdkgpuw@zB&d*i&H-a-N>PdXIx%s4e>+)GchH($$JP?UZ6WwvH=X;L(eaf)12K}2W@ zBTm6DWE9>&9`t0ng@l2fV80+yT<HYJJwr<P=#wLrA$4+08lRdgL5dZ3pg>Yc1P!5D zaSt1dI%7(PKWTB>R$fZmsNIH?P^{1y4QQ!r$`oFk#i_S(F0A0#9Oz20h)6=6G1Bak zjZ_!;L>+zCi}@KvR@qY*82uuPuCl8|su)fJ0;I-BBn6v{e#b`3^`(-Y<|a0Ahj&;z zr|FvXmMZ7lC=G5+0}NyVLub$6y@wND_Uqp!6_2nFWOY!%AyLAnSx|`!=2+%lO_DWa z1WC*-pdS4mvCiqz6wd^7Ad5IB%I`&mkaqJb=TbC?sV-7jE`bPdt13K8{5jIA_(OP} zG@T%|@FjdDMnY<OHO?UZeONzf#PN*?Mqk9>UR076#FVXH5I`4;0juA<VE;U;joMKI z77`U5iV-XN0vi`fKr_m278f`t6mvDne|CkLu94O5u<=suhe^KZF5cd~DS4&+ns`ld zT)%F%Un8$6U%#T@<kU_obFAHNE^7SJscoeOHoE-cn+2<ZxL9VUR4u}`iXzKiQ=A^! zNZE(jsaFsg%GN|0>h9SD!)<_z6*`73gZ!H~D<LWGg$`3h_7BT)PJ3A$z^gUpVe6)q z7Ivt{WG%(CTnHoFhlLzm{hXnv<j=LqWtvfqnf*|EG<`?M&K>T|9{P?F*BsQ|9F>*0 z{F%*~@BEDv)>rQVlcr*jFyt}?k7*Q7{?SoPs<RLND8C#g+PJsFREmi}_W4|gz&B3< z6vL1#b10NJJZ>|fpV>0!sFo3G;eIo%8P!+9FlKwd!@u{7BJF!_-V-9P#FwzFMm3jh z{xZi;(olLqJlv*R#s)f4vx=*QKW8WHH+!?|lUEq^kqFjQxP&@()p!F-JU~%Z?B%Z( zXKYHY^AGL`$0GCv5{Zfwn@Mj|HZmyW*-~1zNjLE^yT2_wI1bY>6E$9^8mYLaMoH-2 z>X<!ZUL>MZY9_rJ!7npRH7%0}9@j<f8@1M^8VSx1I%MKko%IfCuvRN!1J@|N`2Ign ziYX&QOTN~P;t$_U&bY{{#nFnb1={57S9F`V>=L@FU54e_I$<Bdh`o96Gz2}xpX?Lg zNfz{!jFO1fdO@Yrt2fqf&PnTK_FI?R7Sg!&cgECqij*sMeeti7;<q#z*R$XI&In>2 z&!5C5HU0tP8aZ}mhoPL0u~4gCUF{2Y_!YSvm-7ipNN4db>4dsN$HK{o!zKZYtafF{ zO@1bi=dyYc|AD|sUFK;=`kH4jHPF&*{~sUK1P|I;fXKv}{ow}bWb4J<;5!{1m1c?P zZ(@5ZhTh%e1L%Ph%5}WZDIg6fkW?JOQl(DwxsKNk{@P#IDAK|~JhBje)0{>U(-7m% z4;M4mxth@j;1_~!7CzYuF+8aycq3{l-6+1I9xfFi8niQ8i_;(ZYomx@>QZE82u0RC zU5e<8@0=7dUVSSlHeO|M<0w9`!Q%s5st8`-7lhP-zIgCg{vr|906+q<R@`UnBW6fr z$o_6p22A%Le*U>&T%2V0j3{*-xGCK>C65tr_2N!jWrXhETwy5Z|G-c>^}wW*FRIj# zAh9^BEW8EUr9wI!Y25S94FafIT&u2z&l0R%_dWjcr1%r&@}6<h8bXzcesF#C8FY({ zli1X`sbWHr3$NavoI^xl{1HWjq(iai3l||GBoyY%@bbf1+V<0gBfhZU&4Or~{Vr?j z>OTRtS<;ZmdD72LPZ;^8ns&F8`pnQL(<0AWB`g`8P~e^zD>{0%V_T7}zzY{nAfLe7 z<ZEQAT@#Iu{?U7r>}yxX@;2Wb_GzwW-(dG*(*0h_kHm_=$GIz_@EKUrj%k$OItDu+ zLR2iMUZ#sfJVQSgIC$DI>KHKCbrf&Y0n*z`b)B1-DHKgm?H63=yYSwmILx2y)OY)V zPaeN8lyra^L>k6AlTvRR(!i0}RJVJIMGaThK{`uQw8^yLp5rC-jx+W3?Je~+_Ou-) zuB#D-PLZ|gb>%pc27s0TxFiZz1g135#z2)^jhgedrK*Uw*;E=e3Fl$cw!Su9lu=DR z_#)UU+m|SHF0dm7=a#FdyZ9AQGpyQHQjC4QLsxEu4LRttZ=;)D%@tbViIFfl592ql zA%nb=+~snGHUsMU1%hlXX2-ZP!TDn0`&|ma4zRYsTh1G(ATG03%uA<C@9)Ag!CvRm zF8XcuQojY`@~yV6giuOK_&Yh-k~v_FyRpm-$*t3^df%v9pNJGa{vdT*@Vh>VHIlDV zjQ76qZa9zQr|*mWqjNrE=vwxshLYwgz{*weBScSQL<=`j*C1ewV>(A`Dh#_Z-L<tw zjRzE#$!bN%ew7LcmO)i3oc^Ih5v$lN!|Bv6_M=)`-XM*&j=?2UO9SQrevFqtIE!eP zD;)Gs_p+w(x_3u{OQLJEeMu0vDiE_ch!B6O?LbhsZdB4<-Z;NR1D?aaifUQ^BLbkG z&ahZ`bO#8nQB4U4OLZI470(L}IlYhj`}_D>$%DyCAI%=g#q7sdeI0$⪈+WJwUQ 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�cYVc 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Ŭf`qFd~{G+Do@q z?Wud!m1H#Q%%Pyn(o)9Cv@%@|$jc%Y2v*`~4}1V*quLYz%kb%X@@GH6`bE*{3T2D3 zFH2gUB-?fN`Bgqw`Z5}<;PNWCT3X?&ZKGkvcH%IoM#N#LK#S4o0kMq7Mx)jv;t!gc zY0NsM7kB|_nBcOO0&e$Y>CsAl?Yk6myrpR2U?kidfNInwu={OkkI-<B0eOnxkO<G? zjy06Wjjn`SWJpMTiqJ4#uSKx+INNS<4|zc=K^4^HQ(8X7A|!H-o9zlY5qDiqpVE>5 zOiG?}Z^+3N4lbupY3WjjJf}5gz%5IJfmBCgt&##k`RiU<A*JP0tQMQ#fZigdv^~U@ z-SXqGL<#N_99hwM4J>G`23U@3olj|r35C}6u3_3O2o8^N=04A<VW$f(3Ci3{D@2}b z`IJ6=IBW>Y``|vQ!I+sF>-?2t=YZ*_0;YXRD|0EunhefiEW8S9N4slupQSY(3pE}O zHTo2GMV3;b#uME&y3f)YPlg&#g&KWID|0CoYCIjgOLua-D#7lw9@0k40+QnIn0)zv zy=lxw9%tbP#>}DaY^>!BJh_)!WYduC4{bUS+T>GOnM+CD`Q0~J&VwQ6p^($3$ivX6 z?MaT<<f_by1MziQXrHB6c_z>p3y`B?pTc5cDHX7SHl|pk`z)<-D)eM)=!s8hWiDl| z8f{<9q%nlvM33DYo(VT|)Cw`Pup)B8o8N|)vQoBMOeS8Y-3v8^7nhQJj`15Xb7bwn zY)G^Jvk)JagIq?AUvx7-*DtmjqLHw*ux=*#E{LqE3oC<9p{bpfp&>bgh4&VnK-)vR z4KyaYL|s?2ZeNC%q&#l6v0Ww%k$3}Zyo*wq5g05ZXd)0JyT|H7kF?~Zc^X%-CYr6L z6u|yE8dPTrEQ-oVu96&W%KHle9EWg`4u9dvJFn3y%A$^c<e`|Lt&cLbO{+t~Vcl+K zN+bgA_;i#=&ph>!TDJEuK4MBFWe_lViNLA1BUF41uROT9M26(6&aJU}eNmPA*17tw zb@i>ikopi_=I-B(u0GJF{@qZl?^nOqVYGl#q#K6DaD*eO_>co&r-VV2b{yP+%Fz}? zAZ3((M0?17%JTXwRK<?q_7njTgbTYHT`Bx!AP>GM4CI>HAsvJ?*VO(zM#oVY>_2{y zQuV7Er{CfB@IZyspVeuWuKs{S4zSf9@No#i2y56eQHKP|CgOUG@L8y1&-b{ju5m(E zo2aqbU|9v=hm9OUYoUyHes4}!rk(8Iop52<e%1%eEWEozO2c^|`E00XT}ND4RfG3n z;2(7b*FM<rAK}@VQO~^4wSiq7y?rLen#8w-9R$YIQaEBlK}Y~Zy%m@RQ7~Ie&Mbv; z$91*klXo*n;95{OuWFA%X&hycZmXC)jDLsE)%8;`@;a{2XJTaau`q+xsME)pq`z?^ z3#aH{msO)BfYR{~jdyVY#AiPO%W$)MVpydNBIL`jdSZ!B9n*T{2F_i$vpPN+BmI-< zc&yCCj)?`krZz<Y!Mvh8T)p{e@24lb{0gxT;^k&Xtrm3Qy4tVER*CZJtFEt~j@;`F z7Av<VL7x&=6{Lz<w#^3ehC*7vzneGtjM1p@p%OHTC*5A2s0k``l6tSJ)l?l<w($A| zs&=zZV0+x5HrL!)3mo!b0;cd$=XY@?_oQzv#%)+k*D^v~QkR*x<ylcuzaN(+-BbQP zJqKS}!*H5l7uV}5H}>`x#mmmycjy~^*mgZR3BXx}aB3Dw7+H+ap86)5D3k~B5Zg)5 zE6{4_xx{YnWitYq=-bN=;M!eb<JWV?Szwa7mP=?!e))$*d7v)&!jJ0h2Gi2p)7=|` zE)-Ru`h_Y`Iac`uo=QLg;VzU>UDQkq;7^cWLo&+;a@&Dza4GD<kY)&g1z*eU29ASb z7uw8Yy)G(+Tyon1y9jiuG0S#fT6(gS*k(E%17fSbd7k#)CwY>xL#K~tW8-stQ5olt zoQQ?kW;QQeKFvcNsH!7?u7)s(Z5CIJoO}sf6UsQ!m5UHLIqK=0qk#Y~3Yi>^c@^7C z2xsTYUxv0A+YB^63$e}A2<ZEWo(RZ?RXrmrg(-(ax#_@BYmtW9ZU9vdqXzyW7!^zh zPKsk9qqCGo>fPzwbl{Ac4m_iZ6x&Qsc2puPBcWNb%`5^`0Jjy{t~g;`l-?1lItyTK zI$))8swi@`*k-|WKrOylrUOTdrUM`Z3itFK2~)M)bihI;GlqV=`o%V*lyjVOa^x0F z2OL@*Vp-LMH0C0IbJGEt)j?>vbB>{c0br36j>$^7;ue~``bUaZ3o9u3w>X#%2xF{K zZcuX50XLlDPbIO<R0YF%Dwh6)ZMDT5qSi^qL?M%{IhKKpjMT|IW7@-Xpl8VBodV&g zGQR=TmNK<BHyt=3#GC*zx#<8plwdlrll0tlKsq+vQ>(w*JXBe1Gk$il&6LlLjz+g* zI$&6tWjatKaF5O1x2razY{(^e<{ao@BXFWe+76^sn_4@2{J6a<jryj;FzO|bZT8{s z;U}#tJ<J7=kqRNpU_b{@n*?(K`rFf7fMLwd1;ETKbAk7F7*=lVR?4uPM%U){E(piw zHpB}j_opLI7p}FQ)=;Diu{bB<OjlmB6{&0A!QW?(UojAYU-{RCSe$N|n<N&jXLlCL zb0HSzvmJ}`)8Ci#D>mScU-8o6S9OiYLM%@B6@t_}V{v|<H^1s(w)Skr;{42ww7ra9 z70uf&PKeC~0V~d=sT>-~-v0TI)?h9Tz6M9K$L%W>s~Nzr#QoOdi%1sl>g2?P=hxhq zayCY?CpvJ?=G8O{0+tx_f`HWwkudkLSIn;0y0;);Vf%)v^w^()kp>4tk|EaAzB2`^ zoxK@Wmuw`#m*CMo(iQ})1p({Z%C8m#EGY!Rf;O$Qe2EqWtR3K_6Rl@Kz`Cyf@BXrb z|JIvdEeKe$@(AaKP9uoEFV_f4_qT9@wIE>GLBdl|!@>!c?CdcZm?OO0!U@*G3DyOj zVEt}yhSfuu`VJAW7Bqqj8bQ<r7xR|t1%@@i>GuM|S}?i5P~+J)x%kim!&<NrTsXo) zV4lRDHhCQ5xykzE1ef5+zk&B_%q#j}ruP(^V;*uIZ(>WYTr$;KU|0(b3uD6t8$nqX zKHCiI9SaO=fnhB$tObU}HQ>^0E*P~h7`5xX<B~OM-?6~378uq7!&+ci3k(YySn$I7 z$?Gt#yObH$-ph?)EqGylCmFRb7zr*I3HAy&?)-cfj0Eq`A_XhK8<{9lc((t$Hxm4n z-u!C8NN~YOP##(fURVo9SQbEIA<TvJrDoo?5awb<^4_(&N9fxT=Hi!oGpz4iBf*c4 zHtLT=Z;bwH^adgb9^v*`Vl&m(pU*!RK*mA?zP=r2%LskA?A8_IS8`Kd+-SB228V`6 zM#sh%C5x|EvUHj5YFksYKq47&tk-F`^U~T&7;n4B`>%+3w`V&6%TBxyFZkMq5#2vk zQ+Sra(Pe<X2vEg$0!E;X>tlT4<_28~==VkQ0$l>=i-~+Pk6Nz)RI$|N0lFB_wZ5<Q z^Xn^DVMgEU`+A<BT=^AU>-&11pxil@_w_tMxfdmR0ktYRQtbNL{DYTN8(3YN@;#tf zRv{j?RS}f?926-^!4?#hX)@3}LCB`K91o()rjlEUoXm5oaR=91K&sp|$*&K*wDtn~ z8hwaBM0^omoZngx<v*`RZjTgF)X001$Uk;dOtFO30cOTZAo^ou5yuOa5b}nvD;^@~ zeXmOLHiSm4#_8RHmMh#Ha|T%=YdVa|ibg>yD@+#dN0l~^ntjl06G>LrnQUA$u$mhP zM9{w6#`Tp71%P{WE!YK5VqI`MUqq4fC`uQ4)MWzHqkYR+D+nybEdV#`LXW(LR+vJS z8mqf7Xs^M{y|!>&h>$COC3+(4x4Q#^g^STsp!-<S=gW$VJF6Uli$E}CacM2ROStRh zi$AU#HtHF109o(mZj30dLSqO+*t57f8$+}nO^n9oWbZmrD<8=(vRHAEgk5KGDe{x! zXL5cbs`dP&QH7tBfmYxrWuO)KNf~Gbeo_WnfuEFtR^TUPpcVK@8E6H5QU+RupOnE? z;3s9EmpwlzL(B#7lafMNaL${bloVBopS<msD*U9ZhMxSSEb~11NhppbJgjo?6LD(z z$!F%`Cjpv0cYtR9(6AlMJorf{ZqCMZ_{o{)1b*^+%%s3iewphgE;adN-`6_)WUC^g zyMVWbuL?3sKky2Cr5|_&-qH`e0)OcTUV+E-1Fyhm`hi#AHT}RV@SA?%Rd`N6_zHZd zANXa@d-@^gg7{CLg6G47`V?1*4^3C%L;Y&$$&2~{%#$C5BE<p<tK@m`q)>u*QlW$k z;Y*>&N{#C9ruXHt&NR!+rOcZSb#!Mga{u}9rhecRcvC;{3cRTwcm>|n54-|z>IYtd zH}wOrz?=GkSKv+kz^m}4e()7|Q$O&_o;USF&IR$NJ_XN*H}xs55^p+HN$1wDmY%$+ zAHY0$Qz%kwzz#0lD%s&pbL!th3F1wK5-x-{g(538s>7S!pYx`FK;s#B)1|0~o9^(Y z^F7xo1FgW5%0MgdqcYG6yr>Mc0v{>^t-yoIKr8T{GSCXVrwp_T-zkHwz;nt#FMEDd zhL{WDH6?}4htHH0Rf)%ZtrCwZtDz@<Da$-h-V%yq84s)6d7SG6X!uHihNle9R}UA8 zo3k+;e)55wpM0voPcB70+_nqT!}SBNz*qW#SKuxEz$@^Ve&7{&Oh51ne5N0G1zyt+ zyaK=J2VRBe^n<U!clv=}_PnPbaxRGf^eK2gJg84`mH5!sN_x0{we;jg{Q&04k3x|W zD+*e)j;u51*-$9qBI@Bnk(C<N;Z6H;-t<Xk+NCV(9PP+D*>lfN2UiAKfhU!LR^Ufv zpcQyg8E6GQR0djs2bF<V;6G)c6?jh>XcfLw23vvWl!0FM{H6>s7sP8y3Y`z1DJiNF zkNI*XS*NUqp8TaO^E`P=C{D|`U*$S{WlkMhfEHgVu95S!VGG60*_aML`C!gZ-epFG zm#z)l$;We>gD$zSg1tc*Xa#;!23moilz~>@CuN`&_(>UP1%6TnT7jRGfmYxrWuR5~ zNf~Sfeo_W{+4GY!#9R<RDJgV5{G_C)O8n$sEAf-E8hY}Rvdr`3C!si&@UY6Ahwdyu zUnJdGC~nTiboj|{=ltaF3i8RNs5?7du!$~6g;j0X`hi#AEB(ML@Roky75Ga(@CrPp zA9w{m(+|7?ujvO~f#384uflWs!B^lr{lG7K-qQ~`7sP-16g(du)Tg*geCW|iy0d<@ z^yEeT0OrY$LXi?F3aeyC#+g%h7D~8?y0cJZrABpl)9>WG>1%~^olDV9V5)GgbDsV> zWuO&!QW<CkepCipfftp5R^UTrpcQyf8E6ImQwCar_mqKF;X7rp6?je==w;7u$`Erw zyr!hk`S6*NqAKy2w^rgYWi|BVFJ+nM$y-8kTE_h<cOHBtK#Q*w*T{M5&O&i>Hm1W* zeqk{9>m0C3FJ0Z)k@@qJGSCYAqztqIKPdyPz)#9REAW#t&<gyd47372DFdy*Ps%{6 z@RKsw3jCxD^s?tCWr(>Teo|8CeE3O8QI+_~n=0{>vKo5wld{b7<R_uHIhXLB@dN_& zMdBx+xH%is;V1tz6!^)%SPL&*ezLEiJ1g?u3TH88pcVK@8E6H5QU+RqpOk@C;3s9E z75GURXa#;!23moilz~>^CuOh|_(>V)WzSE_5OYENq@>XK@RO3FD)E!IRN^OPHT2{s zWtr#6PeO5XF5x}-Nr1jc{3H}NXJb12<ZF36f&I*+OWIbfbGF}Q2T_5a94!H@z)#9R zEAW#t&<gyd47372DFdy*Ps%_m@RKso3jCxDv<g2dgRQ_%%0MrBeo}^*3*sjwh0cec zloVBopZs&Bv;DFfdh(O9%=6?Yp*St!^RN{wS?K1e@2cFG4nKJ^KR<c*C2lJ=-N99` zqA(w#3jCxDv;sdV1FgVM%0MgdlQPf>{G<%D0zWAOt-w#pKr8T*GSDjgqztwKKPdyf z?D<I<VlIfEloUE2eo|6YC4TZxmH0_n4L$iuS>}22lTaM|B&>4hVJjA(kxv5j1^HR} zC3nuoboj}Ka(?ouOI$uV)A42L!c_%+QU+RqpOk@C;3s9E75GURXa#;!23moilz~>@ zCuN`&_(>UP6@F3%TY;aHfnN6fqzo|^#7{~Joew`LDXJ1b`BEi*QdUDxeo~fsp8O;f zH|G-GQ{NS!FA_fq#m(864nO(boSz)O#O=Fw&HwzQ47372DFdy*Ps%_m@RKso3jCxD zv;sdV1FgVM%0MgdlQPgM{G<%F0zWAOz3ll(8DcJopOh3jAAV9&R3(1$=1S)$Wi|BV zCuN!E$xlLYEaAaI>pbkc0`x^XKMBRn*_aMLdEZDlkN<5$*QI+Nf94nG?HgGJT7jRG zfmYxrWuO)KNf~Gbeo_WnfuEFtR^TUPpcVK@8E6%LQU+UrpOk@K_WYy_F&D&7N(!A1 zKPf4y5<hvSntW2S()8pfWzCr<KMBRnDH8OSPfA)o&-0VYjp^`{-^=Bb?JQQ8@_GEB z&iP3=sjBK1Sq55xpOk@C;3s9E75GURXa#;!23moilz~>@CuN`&_(>UP6@F3%TY;aH zfnN6fqzo|^#7{~Joew`LDXJ1bIa7(Bl-1CapOj^uCqD_rNhCP`^Y{QQ`Q#$RZVAQB z*_aML*`M>1lT6@CnV;;R|M^K7Xa#;!23moilz~>@CuN`&_(>UP1%6TnT7jRGfmYxr zWuR5~Nf~Sfeo_W{+4GY!#9R<RDJgV5{G_C)O8n%DmH0_n4L$iuS>}22lTh6J<dXn> zk<L#-adS4N!%se(^OHZi#LrJo&Yz!@fmYxrWuO)KNf~Gbeo_WnfuEFtR^TUPpcVK@ z8E6H5QU+RupOnE?;3s9EmpwlzL(B#7lafN`!%s?zs>DyeT8W>O)zFillx3bLKMBRn zxrF!BcLnH+#7{zTb2g^KPyQh1Co`8gKiNNjeODQ11%6TnT7jRGfmYxrWuO)KNf~Gb zeo_WnfuEFtR^TUPpjG%u8Egf9QU-e2^OG{fTo6AgDRe&kq@<`y{N(GE_(@p}J^4vl z=6UjyP#jBm&{%cO<L8W39H1|fzAF?rXJb12<PURx@`X!W-?d}@@<|zJ1%6TnT7jRG zfmYxrWuO)KNf~Gbeo_WnfuEFtR^TUPpjG%u8Egf9QU-e2^OG{fTo6AgDRe&kq@<`y z{NyW@_(@p}J^4vl=6UjyP~4m%K~MQ4Kwl*JBosGiV><lgzvukq(*^nDQjAqRQ;6SH zh{9R*Ouip@1-{Y`yaI3O2VQ}{^aHQJWBP$t;4}TeEAX0r;1&2yKkzC%ryqO;zS9r< zvgbYhkaI!&r%%E2;X!?htHg(<D%lzLtEDF|>IX1SeiVw7NKsfNJ2K9kv5G?pl5q+p z*g88;JF!q?rABpl(;wx$>1k$KINQGzdDEVP?riow&=ve6`+-;BP5r<t@TPv?6?juW z@Cv-CA9w}c)DOG@Z|VnLfj9L7ufm)9!B^l-{lG7K-qa5{7sQ+T6g(f^)Tg*gyy<i$ z8L3|_J$X|<fO+z!P^8#EVU_IgraAR*p#<@!LJ1ebn?jM58r9)VGdXYi$Aa8+DaO&? z(cw+!>$hJ9T7f5(fmYy0WuO&!Q5k3jK2!!;fd`d=R^UHnpcQye8E6&0QwCds=ahk7 z_WY&{F&D&ZN(!A1pD8J-5|8<pN<5~lhMxSTEb}~hODK+IJgjo?l|c|SxjC7WuLS6e zrHAuN?wpP3@RL8z`N?Mr{Nz2O(ZC~FZK6?MpGIkX%UCUqvS{-}leAX6K5b@?Y;HGi znrNiWo5pB-+S=TXveVJ#$$G6lkp0)q?Ko?t{D13;Hn`Bwark*iKM(UW|KGaema(Y5 zzTdxeaC~627S-cMQ>#R_*DB#<pL>ZzO6*gT_y6eF*r?XP@JpY(JJ#JaHcmrlqRlUi zY7@f%x!3mKO=At3_|0#|_v<anK4MwO>t1diYmREQtXRodStZT9l4h?;TBBN5vxCuQ z3gB<HH2I647#l4sO;~kJZuKf{VAODUAmEU`GGY|wQw$NL2!}(XEUj_2$FfWeixT`t zdoZit3`q>TM--q9cV*?>G&Z6s59lpp!wz&{lr?HN9elu=JT|0`?hj4NTjWzh8<Tgh z8*8bg4j_bE5wJ1Jn$Q7c&Q}?~cS9tifJ$wvkD_s}ijo*7XAyro;7~afFuJvF0~2M_ z?j_EAO6*fKLXoNh@|LkU1(JsbY`;Nhz--9eCqriYRyS<<EA0#w&4h}43Z!5uc}2bi zRW|Gj^A#S<E2Q7<qqMq1p}NDNI-e3}F2z+xNAl|Go$6S&;_O&no%PRsmR5K?RCpp( z=u_g%rOaL7$?gi>XK96}LWQS8g+7G^&{F2E@R{xk-DhcqXF`Q%Lxnyi&Roh|6-L=p zp@^fQ2%i#XE+zTJ@76ls%BJGY6Ra$0oc!6ySd9guG4eMf^|42qZ~U%WcD%Nw-B?vi z8(FeBjaJ8l?Zs&{SziuWtTN7^6>ierTFIAMZq-lYvD${(#1(S)ucs70pf7k#BOBc8 zimI=v)sjDDqNI(<`k-ZBG75?CH99fak9pV}XsoGSJKm_rFcE{9Y!9WRy*PXM{WoQg zyuLjw-ZfRvX!z<l*%1AR3SQeD$<o{IZ;!4>2RD-o2Bzdy?Xf$U0KBCW<DvBH+KaM9 z_qSa~mZ&3R+0+{;4`9~qk#tekcnJ1+Z#tO9_p*?0-qMb49cx0&LwAg|(y=t!(oWL& z*0F(f9Egbs6fEWcC7>aCQLUCPeQUa8>%@|D>4w2KOe_V9$^<xEm|7VI=F2O99!rPP zkuB-)=1~7;tDCkD(uaHL=&fV40k~}Nj<F$EGYPk{B)gi`wQD8@eFK&i8nA5Z#Imvm zq>Xgh_3^rN*#<2w$*bX6gXyv-+R+xU5UrSqV3paK-}z`Q8_TAj{Aext<ST1rfhS}$ zN?o2E<&m7a-K7qN)RTE?3{H>#HhJE019>98PV4J&zOo&Zm|c_Y{7@(&PLph}zTT;y zcakxi$Yzw^Y7q31e$ay*XejV-ZS#icde~$mt6x{Yk;nG;f3$X;$T9m_QeH#v8`;s? z=IiPk?R6b*cabzxV;nv}t$%$-&6fFYQVm4dj^L%Bee(Zj?`@#ux~e<h`%z!rUDdjh z+jiSh;#(Dkbb}O&Ak?z)Tj(nOkg+{BjFZ^JnPIWWEMCixWhsisZ<b@X!GMy8jK~;} z8AC)6SV;^B;>^+ntwewzA_zwVPVkHEAi#hD1r*|d0tUU`f1i7+s=MpfEs6L&&vGH$ zb?&)mpR>>2`|Q2X$KA)+>7)$qq?Q3mUB}pW@&y}9w>E3BFTrh&NkpuCvtbo9>k>XE zrk2sF8w5TWGUuRLV<rU*H3=VNmGCW*2+#|}`po375!YiXM$SyMOOiK}v9fExk84*V z=_XtaWTLhi`L*U4@!ir!-)2*ZH-VF=w?Yc1qAzh@ByAG>dD4a}A(7uH@o5XpZaw7* z%#tpaOFriE3xi@;;eSi{$Rwgm9*jyWTcPB^$Om0bKbW484%pZ3r0HE$Zd{I~U*ogl zWw$q%F%^M?L0rX)m%^S7CzU@DmtN@2G+7rxz08C)e$JW+CFIAv*_GbdC&&EJJAcMY zj-u54l^%|Nz~UETZwi;>geh_@UqzNGT?^V?QfHPBd(zBI6y^(j=P71#FpE}au5iK2 z0IMedc{T~IL~T@)22%oDPli`DS>;~7YIZyv^Gg~LWd5V)a#vrDL{*bVJzQ~qzvcl* zFG9MzE|>t7KmO(+FDXTT5x2t28Z~+A)#Tfh_W6B^Uucs2kYDqnuA5Cx`CF1v>196| z)j;=?^|Ns~dh;eyhdfN$RIpxuE{VQ-RWp<;-QC(AwHBtWF;|)Y_Wtg-B{{ww*mCsY zrcey)$gL-SZE01a&;E+YSZjvChPZN>Xgd{@AX{9!*mJN=Y#=F3H|_0&>p83%k$G%4 zKr;IF1eT&QmiWz)V1qTGDr?QEG=|y{0*-t#Dpsd!4>mQcroL2;YV;GeN>_?+O?M3& zC7C;s57(_WgoSq<hAWkcLl^Vw-OQIe3vO+ZXuv7w;lAKy#<SQQPS-7=hzQ5w<xEtZ zsx;VD@^Guk<0+eegiuHsiM3+2dFLY#SRQ>>O=`!LdK3to9!ri~E5T)$O7R8CpzmwU zAOcBmvnFz)X%PKd-5WzQxvIUS+LZpGRU}*jnu(g9d{BZgl^pukq0HW;$k91RFIS-_ za&?i)4G@pKYNGMrm&&wf!==sZHc{MA_Y;UDF~%L6FUFC?c%m)FezMdR#N(P@5M2jT zUBP)0?PRtw3O@6sLQ0^_9MF~tvQZu|ydlK7S2aorgKt~%-{$5@3t1p$F2Flphz`~X zAIzaMI+idv<O{f7F2LMV(UL1_5z{a3s0X8y#sXF_MvzN&n+aAN5hfS5iUT_ptZ-G8 z$C5xpl74sdS2FiQDWD|m#wl5|u&y<#Yi+x(R2m-4q=B&;cE;`^ewH1EQ?sUM=V_)X zRlLe7*8J1rWyRsxLu39Dsqxsk=9HO2Kl4*+Rv<vNdx*vXjBDXw#}zaPdVwFLzGmuu zG%jyWj@(<;urDVE?k(e~lla8f{>xPwobl*Y2sst7BsAL`p&!i3OL6sLZ$(_%Nb#AV z&hv<d4|D11VAV`8Ax#A#!KQ|I%+1Bf1bh?nT1N1b!<N8vNglS;HBBuNzzo{LNuIH} z1)f(+U4Cq?q(z+B_SE+YGSs7bQgbU<kC1^&R40?MypF$~bD2gN&2c@cZn?FIRv(S) zQn9pC$FTyjcuQ*>^&B_k`a_T8q?gp9&;6V|P~g-BTUgQZuS&v1v(;1OtCkCF&fl^; zschrb1zR<VJ>hRnF1Tg0fr`npS`VK%>_xle(?UY`WKQe;H-FkoE=-=}$2qMw9STiX zlrB$vYkjr1qPav~!DKVi&qQ;nej-PKRGW-AnjUk+Xx8boO}6OXde;G|5xn*-$+BA^ zV_FcZt+{e*^pFo{q&->jk=<0%yP~;ljA{@bh!$T1&(vx>x*3%j*Cio+c_?ebM5Vel z@x_-?yu_p=j@H4?Qj9K=X2%56DN)-?0=f%~dfKY0KWTm~u5RWPlBUUG-PV!7H|pli zsqi;kM*T8LO)66eF9f&*t5t7~Fw3zDM%6)jh}%9_lZJO(uF@^ak4XQIG(1=byOu$Y zewcTW7j8Y|J0hYXq<3U>>5s9~I>bXYDam%FJqrivF_dX{ReiT7S9LzAkYtnXxJiqh zzE_jUTeI%gwsm!P%vddIt*5=Ya`fp}pAQ)|mfW<+w@Kd|QzS$Ob=)vFq)w_d9Zbvw zs~pjpb&qIN*ER4QGozM-lQeo`qBSbSSb;^uQv&*A|6-}6k>s=Ymhpm}j;SC&sb)g* zmR7w6OVVg7Ke-cFR{7Kb!$VY8cPU<`-6<*hHe{=TPQ#zUgtJbKf|GK<0rZ*7G^EZ( zU7KO1*D%MU(Wlh?xK3pPyhba7l2wcZ&!d}LsJIo@jI?F4N8?)~n$ccQ9&C?xT5wPH zZq&*i%E~gf%oC(4c_~%8gj~dO%m1<N*QC$2)>2`ug~gcY4a`OR{fjGzveB7@CYzN6 zL&7owiHX_hjh8V$$K~N=z~Je2S3)cEMdq=`KYY-O-ZX~f;-pt(KIAttPUhxr6ME1X zWNmpl_E&q88Y?LON%&w&!-Ot+_pj2Vf3deoc*~Xv0si1!N1t4(KB(>q=DT;PVrd7S zC$sU=UK2!dCnt9u^pb~P4_aS;v2$ZxQK}}fLVUP^G{n1}pW3?My1dp#d$cBf?NGpF zS<n^)kco<p|EDzZ=#68pH106IMkSeCNM4qm{dsiBsDkvgsj}8lWepWr+v`x!?PQx) zYi6U5)<vk*-bBN5PPHD+hIe?wo|A;QIv)6pA}Rpj@Qu<kVcj$@)LHKupfsXZOCEeH zq^v{-66k378&iP${4b^S&)8ykY2GCgqdY52k)j{m2;vL@a1yyMapYc)OgVmDI={6) zS8G+*8csqg0)1LzI-9j7LCKoC+BGLxg1eV?W&xcJUg5kMge>dhmtN_*B8!KF$up-j z)4}A7i3#XmXP%E3ESsVZ@{8h<lv~mDGvRfnomA7MtP@&ICaY>F?cSGO={i4=6_9eb zevIg6630Vh&ZL`G7RZyaVJf&9l}3?G@=Ex<0e6I->(S2qT!*xYer|xE*gBN_Xx+qv zL5I_x7LY$DGV)3g4Rn;4zlcXvBPyG4D}iv+lbWD1vDs=m1kPI_e!B)hThRSkhCdYZ zqtBexLONEFW=u};gYsO-&)7Pan^^utVe$j%RUB4Mm?G%ju|OqP95+^I@31yI9e7%- zK<r$~_H{I;t0b#tqx~0YK4;49zu)NC!=l+J(rwubM`tfZM!|HzcKY$qSPPWZ57YjJ zx%xrp)DJ0sescOD`50qDYlC9U2x#J!*CG7Fg&mOgmCU#<wpEU1uBk9f4_Br`9AhmB zfQifp6eVAiK+(|NdXjP6x#;d+Z~DA5@QxZ+8*UZo)AeBV&QOc{2P>FL3{IFl7}`>Z z$Ex|RU^e>VOUXN^ykt-Ic*Gv}*(1V(N%vZ;o@xl-q^M|=0$!qrON^gj$rh*9S@ai^ z<<>ds%BW`}5Q{V&tepwgGIL{#VQL0}vQ#_+6G*Xizb;tgQY*v}gDA~F3U)KVD@;nW zG$1=J!3JPct2_@kCKRq$hTPr$LhN?<3$SyO6VZ>xlBYcfU??UhcoIVl&E(1S$xvk) z;ksq$CQqbKhO$<jCEAAeeWhM#@AO-hd3f*kyYW7<2=9j%;(ecOwq|&<yKF5wyxHvR z!kf)@dvbUmOyL~fZbv>Pb#hNyi^zR!5#EmA4+kBc8D_$_r!1iilRafIoDC>=;M6QE zI@SwfUkb6$AlTRIhB)2};y?;<z#!O|6NFe6sOxA~T$j5;)GJM%4A2>2a@dL<py&tA z=J8>BWYaQw+&49abHF;0Jlh_9+Ffyd+FhBAM>^PPGdB-pUkb7>0|C9AZn<fc<depT zCYv=nPXSMu077WP>Jj+=trzonlE)>|kL(sxO_<O=L*JS-ZYTFxHf<<-EVXWw3sjl` zPIfzUuRY=#+c58X6OYe?C)mY`M=$nvvDOoZ)4}e_OgNXO_f=+s9clW(a3<WP<rc~u zB)ylEwyODyvgodq0!JvYPdgN)t^8rorsGwG(GOw5faqi)abzKDSr%@&q^PUXgiTvA z5tQ!CU9MxJyg?v3ZzP4Vy^|3pM-3k4cV((8d&)E6?yS3{kELBaKzbKlRGGu1_oZbX zCVf~vgID~8ZwU^prWCNslqP?p`-H&*G^v#e$FM^@b@=ocPZBxzjt$~?G<%9!#oEc5 zSd5FmiJy`i-r+PPp9%Ij{J>`>IFP1cS@3Y0-bI<?!tc$dDZgB5YdS6E+^rrpW`d_x z8nbfJpf2=|m0se#k#*rXh<@)J%n7!GDt3iw#|~CBbNTdG5ZoEal<XX_#VF^f=KqCu zq1UQxy!Q51_5K8FwK2SYIbN+dZa&M#J1n2Yi;WjvzZ@0*%dCoqBPC6>l8V-jnW=<Y zS}G?$b!`Ke8Rb*f;iGcGY%n?h%H_%I?0De$Yz&mNRLbH*vKyn!(4qsSWD*Cb$}eQr zt9^RqvcJzN%4+XDfAyQ^vvpaD-gT2!&)HQL$Ucq0`fT)_8GZp#X1CNZDaP5<gpP^O z5mv*rt9V$eVxVv+eLkpP79t%&)^_y97eL`O_h5~A+Y7X%QA$qGh_(3eYj~O)nT`JV z`B^zVz3VEM&Gx!0Y-s*zt=)y~H75R9AHt14Z`(k^hNU|pr_LWudlJ3l3Mt21+!-(J zKWXk9Y9)uYV5xTzucbW{tQ)Tby+$~lrIKhpftq^91-73hdTswzs>jx^<mVWxJspxc z*ABuM$--kbO)uLRQI<Ki_2qa~+by<oa^UfgdC~hWwXJ;gIJ;f7W(BlZVThfAmJ<>% znQn!0Uqkt>Mwt~5;j5SNDs_fpa;r0JmN7$^2_s%;DQY@A`gkG&1xg=w>5^zRnQ|xk z^UH;&BrmxG`3mjWf%wAkI5}+?^GBS4mT<H!4@LymoZ2#D=GfC_k-DiD@}8o{e}QL) zw_2PhtJ*&jg^wGB+0SW{Yhghx&Pu){q0!T9*e$5Y7Esg$&D%>*tE**`2mq{x==*hB zZ3#9|q7LK5YE4585ga2}?GV{`7ld8o=+q5s)kxEqqlZ|`OjsANj<u_2o&v7XU%Z;V z{93ZTW-0gfG-RjkN_e*F=wy|3j0{;{rX^1<8Db0Af&^r8d7>t-ywvHR8)cn78XFc! zdO?kCj<Y<K4GTG7X|s$45z?fHzwN<^icoo1d3X5}R$i=>9NM5keRLr<fE)^^og-4^ zC&z;G+^pbO)y)dD@Xu*be!ONGSwK8Y29O}2P6jvY*pODryv;nlu2r3-G**_?dO2CU zs<X*jccewhh#drSIWMIdMst+(k<x5aR`DRe@<j9whT*cgbZIL-kxT9XL{5>4%#r3~ zjivE#Ss!=lourqgX*^wyQJ|NodLqrk&Em9+LyYWmNbWV`-#nK|^CSz#I3ajhUOdU3 zpqjzELnox}*$R@Wd-hW#@et*y{j{rv40&qbo{Y~WdCVol_^0s<<V^k4On6YgD`vv| z{F=uZBy@@vOlpG!_p^1L2AZiV%`Dqq^s&^#l}C79+v5!6Pv?OgPeG1%K)}mwy|m7A zdRuFz>9oivnN4w|Hqc5z(wQXLZX@`1<{G@tCP4?QbPOt`v!MO%F`EV*c8}RS=t1|G zO@!`qkJ(&n50B>Po|C$LateY3#zL6Z`5m;=S&`7rW;kuMJ9DHI?XD>j<&g{xq98?k zU;3D$oy~$$w6keYigq>+O3}`yT88!kyze&J;$2lV)MWbmOcRqG_NdA9-?}wXqy+XY z@6GXDwuNt^8ZW1UvG{B%+XwW?Mm#}Ma~G0`_;hd|`*0leaHa$SCPA%o5rc&35b5Uf zSOY`SK4t#fQdfAM@5?Zn4)A4xV{}ai$6V5tlvCTTmVr1O9Jkj?+-t<F^E!;rTNj)N zIDBTz%sluoK7U=XUx$-$&6%XQ={gJOW&$Bsrv{Y4bTC&HD(HvlV24Y(l2Ec!5;Za% z?6TLR?zMDH8`CgezAm_@Y}*5FbwVPu*3F6A64PF)NCl>ArGnB^^W-IVPpP=9ag<J_ zWrcfk!eT7g<>WhE>5!aIVaYX*5HW}XJEML+YjIAA?G21U6?71Vow8!L;Zv_hBc0GY zMlV3|`7iOk_`Kx1B!emcM6k{tzo$pNrxCVIRb~?1JlmXPZCb1Mws?q#<t7=&s?z*- zH~f;eA5L&+EMPSVSCCD3{h0cfqd+<ps1;ZmCt52>fna&ttUW7x5<QB+kaIo7&)ZOC zY$WKziPZmM64OrK*OlJem3~lZv<ZLlWB&4IgALigI9Tnyw!J*g!~e;0RT-O<6+m0~ z<0XApz=XlTAK%#WFXL3dEs0{uc5*6ISOJvy%`kb(XIZx{Yu(y6N2}BDqZ?)UZe}Ts zpVzihWqdgYGI_p*{dUt!(Os{^DZ+2tMLBJM+@oLI?49Y!7Yg6Epv~V`o1tsdPBFAQ zo7ZNg(<VBn-R7RO&E096_xWsNN@Gq1dl$5M{79#t_=#Nv&TEqnX8q)Ifp(kw(l#GR z+uWP3ep2|s1#P}f{VchD+Gjh3{WNF8(e}ZvHV>q2?oZo%(8tRO5DTH0arBB-$tD3b zl5v%N0SdfUCxIQ$sXq>;gPUi9Lur)<RTbnw?@N6cPdn<vO7HYB-mX2hIscy;X!Dn^ zXWA&FOkRWnRi-FBoT6|vMd4_M0xVvD!hN7{RCsnV)}8G#MkXnD7d3{qNgI12ZS0us z3Q`Y(tpT9T2J=^3@8R@<ruWkHG1v5ienv@7Q#lbzQXVgAndT%t#?YJH@fX*q&PceF zYgh9%Lx4G(TyEYS@EzQK@Dp}g9wK1FJk;d4IJo)vLZ+GEQtLKo&#*rTrc=Q|M&^1) zj6>vJLXw=D_+hBNiXW8MYp5^0*jvj_CaBI@O3suOZC`80dOaT3;@e75+v&dSGCr!L z!@P_BZc3XyhP3M-*t<!oB+X?hL7&;<=`@JCGbQIXc^sW|wjk7>ayquV#u=a*C`Lmi z+`f+OZD$(b3Oj!jBpSq4P6=1ehIl5uSve^fE2o4jXI#w2+2z_Oa=Ooo?R3Rr)Tq|> zJrTC#hUTOj4$P9?eTi|l=1hXkBH&x}zh0!ypYUac{>PX<k!^yT6-u5io9|+lXm{8u zt@cV%yLK|+ARb&y+7{v2qzIXdV0?6Xg>rVZGLRX9)B0Hp`H*yd;>O&BH2`fV1ez?f zhL^Cb61^Ys&~(L4QnHukj<LXj6|6Y$fzy@E(J&qRvWEM?C$8$0jG^~nh<zQod3MV4 zTb%en<|I)!IWnv<GH^mH(+>xcU8B9)d<?<*UAR6KY+yH6^oTL6(a~S*0%jE|`sT&w zbBf81yG#WSgsjGtu3-xeT=r^uIKhVioDX4cuN5J>Y+I39>6-iCXVU}I9OFuMwx0rR z+Nk^5Gg9|;*2t_|lxU)-<GK!qRqlL_pB#tG<c1qWLTIUtGaFx1>{GL1PQ$8(v$=8& zu3Wy^`2i?avtTO$3bu)<97J+NcMWjnQWG9PIh>V|nOBa`oCFu4d4S9fk-1f6CkYn? zEJX3~9;CJtMd)=%ZGBoqYBmFn)Z+_DJ?=<Na}R{fIpO`a&~!;W-XZt6k-M6byXwdd z?{u(icbmZDe5bK5dlD^;o=f67y`ghU9Pju@q^|1dd&>k0k5_YA>n`(IqXE-peh-Gs zY56@AHYYMF;j32-o3nA(9G@oW@lpr`ncOkHiDcg&WioJfvkLnl8|SnoD;$ryhOPf) z)FQ&N2Bl+Bj3EyR;{yV%yvCg2WaR@=OE7#j9iMGAm={%*60~}%?Ru)J=j>Q~VxYKs z#4Ci2$IF+q>&bXLt0NG|&lQ|yhAMOfN?c{0Y84XhZsT6(>0m}sIyssg-JA7m-jh)m zerYCSywZTL!*7WLySedrw7p?N4!LDv%a0Mh>EKfB%;^xkD@h`CdvyXn&8w$#2kC7w z_-Gp+9XhDfzeYNkN~~ib(fFC2!6Zc@K~E8Zm#ov(yOGghGJ!GXSnUq&eC}zY#@4s` zD;c9A(>^27`(JF;#^SoKd^Z^J&%X0(a)Izj`+<P-JP-|@WA;tK+Z*oi(p=Dc_JEG1 zn<yl88`7q;2hAhUJ>9d1s55(rDVxq71ZM8rx?nemXKDGLSz3N!mX>2@tJFdC7hO{a z(PFiCTleJQ|L!|^h!)NqcDKDqH*?tjxq~`N*qJ$KX*`IWJAHc-G^T>v7EBxFFyf%M z8<TlgI&aX-M<#QReqq7x&b;A)1ugDWi>W_t-bMcwP35L7vX0Si@xio3^W<sqfzGU9 z|AH2uI!cRy>!Ue}{aZAfmbS<;OS{E`X^ZB^)8hWloZ--d7Vl9X)A^Xq8C;9M{fi>! zVyc>FlD5b~Q1qshsz=fm52sW;)IDR!IGN2DXd+3u>HOH+GC!BkNMzrpgWK6nORHSu zuEWjwJ}5jicRkp!@Si%-=4$2*sQHw&i<*}s;hOJq;H4n6#7L_oVC{nDALzL3ZH8vE z1vQp(bx~uor>?Q5(!QR^W(!ar4=QxdD*l>l8XhlbdOuB{a0={@PBPfQWwwx{eEn#m zfgz92`It)J13L&BNqgpA(#7nh+<ltDlo)VVt8&cs2INzkWXguVfXhsHgLO-@f$+6r zz{9>9oJV~&4bzFCxd@NoBdWj=Uq0egaM)+XI^ZCS_I*+Xc9=nqo8_L=!fSPGMRW^q zn30mv7V7o<aBxU-4>oSE=EwP)8s~DDST2~NVtBz{TaXi^o}=BJDaO=nvZgb|NL8R0 z;|RHF#uU4N*Y=!dI5t`JC_z(vxS*I4Iwc~DmE9AHu0aSI8b@D#MVffa4VrX7TwLCC zsAdxdjc}U*DA6^c$OJqqC*5P^l%QN}gEkw4>2yLW(F!S{LSClOvmT2?91AvIS{r8R zl)~$pQl#?<7Veo(@CozioxZlFcZbe0p=YB5eCw2+ti}51yC9FA?lVC~hGePmfsi&O z;8XS%!{wf|wRc^s&Q7}onez#}(Vn)}DuW~zM^#(omI;+7Upx-lvleL-!1-FoNii0| zkKV#|rvBk;AzjzuFyOc!Wh(?FuAKoEOXZfiG<z4wr!}K&$*7tndz2(DPO=g=JzS)H zToW|n$dLTKeRCHk&yxcbCaV?0!H<6T+%%OO-~EuZ|2I}$rbREc!C!j3Qc~$!q7%M* z75$?&MK~LjVqlW%rVz9kChxmb-#68DdNoXb%-2()ZSQIa_Z0uDUfa;5k<Qbas3uR% zk516=YVSt3@K5iigAF3|sAg`ip~=ig8`X5i<w1O%vQjxyks^sZUT92u!`vZwBJ=0) zrDM@IU#R_E*X+Dbs@Ez>9nqheL${C7Lk3Iv)bD5!CM|_fNbBQ`%U2Iw!JbuWGvI@8 zZwg#+6n+P^%-~qxN7-Ky4UKre%_}FViwMj>nV(0-6vs+fH8B?8C>T$lcLg7b`^keH zo=TVI@Kg*CReJGMAL~d+ehfxcYTWalwv@=X$*B<ynOmdzGVA$*nKDnZ9pjFHq8UxG zt5PgMmMa-}1XVsoKaII<YRAmQ?Qmowa%t%D0XZUJ2MYDDmNA@;R8Lx+qlS_aj+7*O zAWO98WwvT8$s2_SCgok!bvahKEodeGL$q9(JSJFugPwfbW!wWrT*muFo0Z9tEW@Gb zxkWdVtmqMXEdel@n%6XkhfE?^T8Kwdf#x$94hiumH9=L;V5Cd9MFP$uNk2&H(_W;4 zi6TMJ#lN?3=$R_wGE$`}hGfW(?me4SN<23wXp2^x9O>(HDXK2N0%_5X0rNuY`05Lh z3G`=EDuo?~Ff%+QEyP=AC5MlAH@BxAfmGx^KS_su^5i=nN(C@^OqBcVb;g(7q15`$ zdMQAy`@iMij%wEz6D$@5xw<azjSdBR<CC7nAgWYrBco&W#`uzG>9VsX&OYZ{8l-?v zCqV9E4{IHBuxFYl##WH%<B2`L%a`X*Tu2dbW1u~JGt9O6xq!Y9Pz^6&1X`L2wc1n& zdJdp3@`E!0Rbbc`r~5Uh*{TBY=|s&LAZ#C+3mA@?#f$!`Raa=eH7Nmt(<6XF>-|DX zfYSt3XuY*50ZtQCVWlzxoF*t|wP1TU0Y1^P;7-p66=^OOlqCV>k6tvG2w;T#7r+eJ z{S>w`ASmM)_l0kG0A)Z;Wugyn<_Hl2p2=LK52578@pUsQndD2i@OJCP-t+CLek;0` zClmOja%=nbbP}>drsYWugsFs~VXO6BH847O0_LFAkOUNwL*G^81@^S;Rwe+w8foK@ zAvMj%Y*Zm_z~J$tM>gu*R3Igo9v_!C$7^^HFv@g5o{qD9Oi{|Q#B5F_zsxf1^DB`E zVA~;9eP(=c+q#aUXSM0XlGcc$-&qu~+l^{D^Tngurm=kA4@_}k+YP|*sfSw7)7dbY zDfEk=rS5gSE6Z}OC&mz*`9SMpZv(|>YZE`3s`OP=R%7&y_0%}YN(SpdtciLosfYR; z(%$|=c#NDe9_#~2TxFE#RrEJ6G;7qAbN7_+J7x<|&mN2L<R>$WV2f$$0}jbR79j_8 z5Q~rlI*3Kc0Ug95<bW==2oDTq5pwDq#3JN?4q_2<KnJl1IiQOz!k-Li5ppUV#3JN? zJ_jtqKU_GlMfiscQ5i)Rf%*oq2)hQe2swP|Z4q(`KQk7gcVo^XY;VoC2s$qQOj(3M z@mOFHzOcw5Jo$o-MR?a}FqwXpP_p>}8w;A9*A;ePuB4CM<s32Dv4dH5a0EAA6C(bU zq947I37-58a`58#skJK17hGfwE2B`NOrPSKi;LlEXZ@wz^g^4A#NH~lzQ&R}ucn-* zU;~_G)0gYbF{_%{1<n=6UdNIPwlo`HGnV{EHoe&3tZa+xTbneWaB$1M>Z>b{j}rnw zwl?cl_!dQF(HH0SZLTo8hVu%CD$M(3+wk{Jcw4sGN2^+62&kIXB3p`?V|PlsfP4h0 z^%7e|VoP`yg7JO6n;vq?ch*kgvU{#WxWTrTRS;1`RGm$3*N&wT_!iFK^5sqQEc}nA zf`ObJSDJj*=r_;d;aqJVgMKyn1LlUF#ZNe2zG*c{V>OLj#X?Gzk2r)Li<GwE9BhDb zE8~gHEkzk!c@-b_Cw!n!bPlD?C&h;!#3HZ?TSP5U>5<LE#Q+J9c`18!1eBuTG1%B@ zSnDI5)*D@|^986{$62%jt;Pr9`UhI)-_csWG2VVZfuu&`<@fX1m4XUTBePawZ5d** zmxI`-A`f_JZ$OgeIWImR6h}9IfO_vo3Pz9}Yk)a2XYaGFOH@XM%enCg^oq~D5@zu= z4oqOXee!jRb9i2Sj&jdS=JpX4W9}AWUVY~io<bdvWh)45EG4IuV^S~1j>eNWZ*FNL zS{tr>leD=x0d+zWNw}reK)B)7XuQ;@XUhW`3~o^cW+SE|Ki}<2LVz3Htg|{3d^o}c zLuXBcZIpuYwsoqdnsf!j)zyALT-2G{wSZrTNK7iIua3MhLD7h2<F&5Jbf(k;MdKv2 zwBZPj<dHiPpY=Lwn0y_3=lINr39Ux87Vt)83=gAvn0(=B?<#s0CO`AK)(BEQY6}!> z+|D-7jS=}|<;}^{1PCVeJV;6Ebvi=6R6}DaF$npI;<Hu!Y^FG8#go)=Uh^C{<<Pa( z7-2@P9hy|{u*H=ROtKaN?QP^y4_%J3xFhOs^4MGd*`3p1a>Yt?a-8R61ZC7vzfIpL z3S3P&wi`p4e^D9Va%@#U=9}tR3XJai$@j9i;tfZ3N-Utn;n<(ogPL0zUz5h0NHhT| z2sxpT&tpS{M3ee0-~@9i5~X<oCt9su0Vgh;O&<FY%SgnVuy1}?e_H9{P29!aMt8gk zxh>}S+lkfOcoX_c8~-}C_W2XfMt`+TSe6uYONnyJBItT96a=AByky^-4t4@e)U;6| z>~o-rg?t4A!SDl`kkh9FO;D+BXx2abK!0ed7UVd<k-T2iV0oM_R9(~B4d7)RHNj5} z^6~XdxS+ZW%l6ms^Erba8HA?#)*YJi&AzLzi@eN(4`X?3xEYZ#Pfh6CZ17)tHp&s5 zvmc=BidymNc*)~TuFg<8rJCrg@#LvD!V5bGThrV;Wd!Yfg$Na5BM}i`BBR*YBm{0G z_Jcn7r=o_bZ>#A0s>p&*xZnwnqg@pdY(f<^nAQSGFeexL$V+}K$PsOD*A#7FF$x49 z5acL&2}sBvw|SDhS^Tv9_-;X>*@rB`28_yhY7(TiePiRInrIi{{Q<jP7C%AJ6xc<S ze6w#Dqgm$Bt<(1_AY$5gHdcj1r+0dn_AY$~>E(SuIDSlhZ&6Gs>lAWlI09uv$oh8h zHNCsgmP8Rv;m0gvr4!ARuhuMzr$f}kl!C7q7lybK<*`g|Q$*Tm$nv$xl8SC8Y6H<H z*kGN2LVTvoppP3DdyJrX>|!tChfoeQB_hHC5wS$|U89KzMTmsd)(>vX5WobR81fFe zV_Q!VCph$AfnVkgCV6HHbrzEb*P*Ps_IT?cO{fXNVhCx_6w=@>q**5^LRx$wP?-jI zLkENiZc=ZKYn5hUFB<d$!<lxVO<siqOQlc_%eV_B0f9L1WQT=BZy)2529H?KKUKI! z%kNwwP}V8UgGCGPm|S)p+yTs^Cq9Pjpc8m(hwFUpo*yeiYvNkx;%5yT6F;r3z6i$f zvlJt)b6KzrS3(Lf91lt%-S>4cN1G1jADcsB+dgdHS+z+evO@-FC->5pU}RF{%*(E} z&lQC($%(7v$+v&POI9UMy@NIVLzhyww*6fV>`A@#<0<;*I`n^VYBBnsy9iv>0nH0o zgPdskh)FjNTDhcWx_?3c&X_<f4d)OjEFlp62qZ?Jv3e3Hqn-{l^}t+F5B2q<RHt`E zw1?$Y1=O|xAk2P<Bct_h4!P>f+@Gj_wKMJ?qRb|}7J-p73AWCfu?gF^Ye`C!9{t8B z*_kXDYK#0@U?zo~HjVOc*2~l{Zwq?pckxkibH}=ov~_m|j@E*M?zLccI$67o29@2F z?V<O%i$wC3w#_ePzJUK!$a#xLUc^dEMoCFf*8sFJrUPQV<UTK7t00n>1+B^0_pC<; zc2$3Nzk(ApVg9okatNrSh*74!Kn_tNxBW(cP0{@L7gf)c_PcOFnI;8H$N;s;KC=aj z)iHQ=?;o94ojh}WXg%-%@36sXz?F6oLcMZ2&<nbC;JhL3W{Pd0msC30*A8>WsvdGp z$l!dThx~25r5a^(j9$oO`-L{zC5Q7eD2J5rS6k26if`0|id%*`k)92;C3{rxcHcJF z1MO4I!GMiA-4x9PCw+kVEHc^osDiPJt89WjDHg@+f=BdA_7myv(e#)7Zlz8tMD$~B zEZG@L^0edq_7M{gP8K-%pd5*o?143*69p$ZQShXny!q>&z(x@0H`UQj#5#W^Y)3dY zHa<4my>p!Wo`VaUB^=r0t?r4B=U7Wj-eym6nJ1XC%e|}c1Q*`jDTzz}hwe!wOJm9X z9k_5T`C#XrO^Z1jME5?+8I3>Vw3)((nK)nP7Ow2OUfv(&{fAzy_cyusH@KM~{7Fvy zJ+_XZ3hcX2hua_hMYqL7dQNF^LPsYy&4fFRywl-^nQ*)4d|#lZk8vL6Uw@gzdOeXB zeUvYsF#|f*2(aRC`ex%W9OdY3W*pYozNYrU?Q4hxW1A>F<qqDh!Wk+f87d`B{-9b$ zmG9FpUfcs}9+sL4)}LB*Qm3C3a>ns`ubd2(Fmd270av2GPCvNiL|@>H^AYwY)w`n# z2SlaQ;Uht7#3H6}c48(tq6SfFk}Q*<Bd?4{?oTzt6av@{E?^zPQa~fy^F^#41JHz8 z->DFX#kwPTjYlk2jBh72B%R-zG<AW0^;*vB<93>0a`wK;(npI=4D8?!QF)^iSE|b_ zNXi+zP3nrzIqIC*hqTkd{y+zw%1*=~h*M}1aNodKuy6y4seU)Vn1c)TxK&OUUy{9y zy=2A}N{;E_z+;HYlQZTPwTT-&-VD%k0(N9o>Ie?cQ&gzI$X{(Me&sTBDk!p%n#>_= z#&Qi~BL}1>a7sq!<gve^xl;5fUuLPYrr&9zbDC6YK?;L40|AOrM*^u``LJY6QFRM( zu?FlVxrotWD+E2NSv%afLuDG%=GW+;zUt$97>Yj)vKCKS21(**+DSb7GIAe%?bnIy zLTkDmhXt@w^mfVKQ;fK`5mS}q(~zLDJo=M0IxB~t3tq>K)+a<DprSWlrA&E>{6rcx z>dSpp8a;YNNBStO@%6o56FF4$aKOpcm0C6}N5&M6sLT^t^9+RPyRTOHx@)0kQ5<-_ zFMyZ^Ujg3Ld8kL;Nlxt06FySVS>6QzPtD5%M-;5vZCB#a8_AK5cyvXK2s+CI4Mi9} zPhRP<#b&IM#N3Cv{vnKC=X#nvhP)+@kdq3X8;Z%pkC1&1W$0OQL}i}L$_!1-(9|Fp zLsP?;lByb-nxUzY;{N~8)cnEF)C^}e!&wcU*>F}foYf3xHP7Iz=1+#EW@u`Lre<hr zw8Sx7KpQTgJ#!0a9~_#Rp{W^~nxUx~ni_4B4Nc86XKMavXljP0W@u`Lre<hrhNkA3 zJr;29(9{e~&Ct{gP0i5M3{A~5Yid3)G&Mt0Gc+|rQ!_L*LsRq2nwobFP0i5M3{B0@ z)C^6{(9}G$rsjP^Q!_L*LsK&}HA7P~G&RqxsrlofsTrD@p{W^~nxUx~nwn?U)VzOa zYKEp}XljP0W@u`LrskP7H6Iz8nxUx~nwp`h8Je1*sd;8i&7TfU&Ct{gP0i5M3{B0@ z)I77MX7A9{3{B0@)C^6{(9{e~%`<Ci-a9lkLsK&}HA7P~G&Mt0^URu>2ZyF+XljP0 zW@u`Lre<hro>^1#;pd2{`N3#VPj9H_YP8ZyFVIy=A=d<PtrLpou7C@yb)}JVxy!B< zZJZ0PCoAA?EYfo&J%s7QTuo1<>}f92W4Zk}7wfswd7eAyDW{s$tS;T9G&kp8znq(> zxIwD4joY|FZlBU+Q!3%TqB#N{ToA>DNV*9(u5zQht_QC*>){5_<VxA*I7PUu*4;bR zTC$ltkd`cOElK7AE-C`=@tE{nNe^LCvWL0amCKvs+;Fbjm$=$}{Ho>>YN@NkOWPf8 z#H6zhyN9g9=~LF>>@n+b`?;&bs>}UP9d78Z@o1LoYiS*P=~Km!;YL|5BWqj*O}Jcq zDKyy19baR~Ewin$%Njx5<C^m1EB|uHOQw?@-#g?*$FJrlrdnK`rK90$Z$drk{%5!E z+Qp^xaEaQ`-Abj6+}OB1fS3@H+cmdymlQXiN0)dWgs*Mqs&Q_!)kW)du7Dk*1Xnxh z8cr3gL?`}TTw3kbl9Dd2Douwq$aczq!^YCfdG_L^TnVNtZ0$z2@n(Z28tOp<0&|yn zPUB0}_);~l%W3;HZbI7|fmi63+FIPW99rpS^b{EhnEE}+)!ugHR`sfe4_f2yLNl%< z?m`N2YDkP4@QE^Q>TuUDnMv(d-C~@J;3(7yfa*z~S2Vz+Mzc_3+$d{uUyp0t%TBdE zbcT^W_pvoc)HdQ!pXJW^i@h51AU1IA`d7yhnl#OoWxg&6^)~vq>ngpvs;-M?<)o>r zx~$wOpYafV`qk&VaRv^Ivt}LsyB@;bI<3s=K4aBkqRHqIPEPn#V~PMZbui$egTh=O z9LA8d$~Icky>Pm>^`Lj<^47QnxdaDF+mLlG)?L0;ol;j@^{hA4D-yKehwEymZr8o> z<fU7<I<ri7xIY(6?_&@+k~FgP0vHrWvQMQ}B@cc-8!@H0tk%05&TA9t*Hy`b73OBj z5+u}(a8C3zc6RFGv9Z6cmx4R}JN)1BZ~qy0k#XqsZ})KRpLRFuNsZk08(e{VHg%tU z<?``!x-W&SH^!GlOP8HBaW;(bx%Qe15yAukTElH|{>9!4dE&mRAUXK;gI@H+g}nB% zyNPv$EqA7Q^|JweA)sXn10&G#Ot^j!&<Q|a<ew4fS%AJcI3v(yfTD-a1mUHCu1WhE zoL*leKz||a>uG{=51qd@?dxfRV!7IVJxx&Tj{kgGt-wicI2B(jAH8TW#@2y-0VI}@ zPGPG9g1T$4Q%U4%`Ao_g>~p@96u;4xjAwr5O4l;Lbz$~Px9}Dv(Xyxdt;sPx#r9OW zwf(w@KjQ03aue?um%x{=&|O0_gE?q5;1&29q1{D(#-5hlnw;p_NE?R?sV07ps?a^8 z8ZxBNC?aT>#9Vo~mfyl*#?{;*dXB!D*JIVd+n^*(9`bAQoYq^O8K}}Y)NP0%Hz9H- ztW|afm2j&cm`(P?EJ8`ZAZ$eRPcM_17sA#?B^x~hA<9Lx>b=1flZwkQbpduurp_9R z?OI(~3v!HJQc*}p&nmf~xLe8Tf^JI2v(f*05!8>kFZ4UVrW=R3gm*xMbXE3%2w^=C zjQM>W2qE2c40<Khb@Zp_IHTf|emD9#Om91We9RB-#Gu5RTRrUwn*R3L@yIV%tJP99 zsD}Jjy-L;Yiq=4sk?^o4AGmXNycCR%`q+(9@>x$Vlq6`i=O^FbHdt)+YA;Bh$dY05 z)ht;`zLO=($<ZuXNxqaNtI2n>WUZ4slKf+qJDU7+mK;kyktOTNlUcIS0UJ-go#ie` zzMdtc4mwLyB$+q7#P`~rc#5J`*9l=`N!JNWmaGL!mJKmWR+7(WWvfZM2G<EIFw)5# zH54q@b;6Ra6P9$Hu%zpRC0!>h={jLa*NG}}I~S-Ij7VdJXj<v?!jfU~tt_{c{9TqT z8{4cv#VBIQsv&8~nz7B2Bgw}yFvkkZ9ZSBD<<^ZlmfNr%TXH=4N>*Tr@yc>tFD&VL zQBg0()eET$#Lb9Wb{&!wSu!xpEa^H_7FbDOs0ssnn6f1YCXuvcV9c_l<EAA`CPkJk z8)lYtB5BF0Ns%RMCPkJUF&r#8YBbY0ovR23X&|94`Nnc+Scn&v43dAzlA%em<(8~6 zOO~xNOI8dsOI8gtOFD_N<cMKr$x*}1l4G69>S<+QRug9EEyL^~aNsImVJ4zlk}Hw3 zWN3V|Tqh-#bW&nTCnc72QesIbC4uNLs@A0VM2AmOFBV&^X*^oesRv6sURbhZ_{z_m ztE&don$_@Gz|e0QB`q14rm&<F0!x-mU@Td-zFE?7(~?!Ax+NXHmUNV~<fsX_CC55t z>n7lq>&B)f$Bj^yTw(%l$;g;x$)z0}mRa9C^(|80%qN)8WI2fb;MHhp%zMZjCwdDH z+#Iey_2l4=k9)~Tbfjh8Hy$<>xZ8@Y?Au={{T^%9@He{5-oFC{zmF9gG&~*#PTvw4 zpBk5|%LX-Nj^&52a^eizS}cZ3T|x?VzUF4ThFex!b|_4ixMvkx!!%HiKCqYaL+w-i z+@)E@I$a&zPID2pmD)jj8*MSep9$_(<NLUC+B|}L&sPT@^qWE3$K!dQ-|~}tRUr!o zT1yJCJI?kbyVC5eybMzEty8B?RcA3uTyUL)OmRw@;@F+hRCnBW*r_s5Pj>wYcQTJh z2a={)tS)rEha2Y5(XXLl{koiCOU8b`S)#r9Rnn2;+$4QKJcw}=xK|vKuhX5T3`9`` zb>yH<E<oh{LS%_U#5|}rUGfoueBFq2RS6<oXWl_%j-o>3=@gNZJ~|0RY~?5kGHU#p zkXYuBK;3px<7-f3wYQJkwXOH!l5>Mu>f7(ngnQEl_UM<M?&i0{+OM{0={gTJOU|dF zWePIOMc7-K9_+Sc+b^T~-N8(_lj_uvt?JR~9YKqpOd&y117UJEYfFCgqfN@&fr}3A zQ^9t0P*UE;_4ESXNi_@<-DW?jA+|1<;0Go}lwzb+J8h~CyL^5};2b-UiuSG50%DmA zlRoOtWa)~QZ%9b25&NBvGHItk4w0aNY=Fr*KMuuq2JMP6#$BNs?Ey$D+MQP9NJ2g= zT~N_UD%!0XOG<0#5dHmY+C&aiT_(gLEfPUl$W204DNJ@*ovo6qf-#<v!QMoUDaaxo zef!OJ2cv=SIM>xTlZIUqvy|rBjZwQ{N{R}4Y&zHzu%u&ri#~aEnz-u*IFXJq)qU7g zs~yHzMl`EcL+7<8Cs=kWcQ?KZdR*t)-cIthB;ogMPA0eUQ(G6%oVbsyApZWAi@iB8 zYs+e~KKj(F&ld%i6@7D!F;`p>IxKteR<4MbX}MLgsb7_NlFQ?bz)xifV4@%WnoU<$ zdmm<Tyu&KyKpl-I(sVQ(GCd|?GlL+Oc996oOh~4JOlsT^%7(j9Ig`xGx0*a<I%yux zkic_-vPR3Bnqx#C-UxoHy(!ZOWP#(i)*H&U4E3o||EzSr5MWILo8?UfQHvpuoq`d_ z5td}Kg(sG*unb(esUT)(`^iens73EMtD~?Nr*sGOWNXBsKzaoW+*wOgEzEzi%Ic}B z;x#Py`N>+#VEu0@Sl`0DC6`!6L`$x=rK*iFuiBPj)KE}$_Y=9F39WUTFF6&ww%LWB z>fF$p5QWat`Y?~Lk`5fDl_xwk6aDc;t&z(bqtwv&P1c`B67SzNY#Bji4p|uz$6evS zeyIwNSYiH@ZcR>wTOij+vSds2`JY2Aj{ato6*DrbTV|8$EzPp2n^JP;%fMkt+}PTP z;<3x(dK|)Czs@>R2qv#<R$(UV{GQ%i(TJqo8+sg%t9p!==pjPrs}#R^^A(LHDnfs5 z&<j6#%wbv*PA}b(y<Y9@mI1Cx$o#mhY`B4wG7^0lxf!psEVMM1tNyyym{qI|ijgF| zm3@>`)h(^j<ni*gB3Lr_FMsW6J-S(!*s0M{y!48O756qZWKC_My%LXEZuK&Jd)DKx zXw=PE86CiPli_QKK_t9K<H~iHxmg+Ll6yH1CN$!~!>(sACOQ$v!D??(vcS5D2}Elo z`lItNYc$9~w~RzzU+x~-eWZEy8BL_hj%1awm62Aakubk9gsW4T9@>>r7nQB{&TEcH zi;!9|&yTy<^R2mF`9O-A$)O+qwHLkp66V^~xV*KY>3D1s+7>sq7-o~otxQz)?kvY( zCxM6%@BCYn3*fOZ=pb6@MzjLWaktn=(!lUjLE+a3zf>gl<7FMWSsK0XEQz)U^E=}p zz~x7gu@=BeyK_}p(U9}8SZc&yuw5iO+Iq>69jbw=n;QN+*&!F%37qVdG-c>THkn@= z-HtlxKy6bld;Qv6;!$rGW069-zAh+9Z{r#ze#TdOqt2_mIp!a%`z7hogSh2o6lqyJ z(Aq!a9@R9#PbdvlmYtf^j)n6qR5DGj=p?5)$+aYbWFW~`h|AHJpXaEW(zd+XJ1JkK ztOX!k2^Mp$q>|Op(VsH^D)+3+knaG;rSTGObcs%sqkArDl^C3?E2t@ys>2EZIv>*W zT5|9+%u)h*lBGIJl^H(&6J)3GLYaN=d(v;E&W^?_8FK-<w`D9xbpI>qJ;r(^Klo^| zBgqQ$zEpB*ag#g#h9=9dNd&IANjl$da;nqh8rS41*W?ru?0UI&agzuBnkK8RNu2iL zCd*w-uI)5=iEDDbYjQ0j>zdq<gxy4aw|Y3{nq%l@&3zwK7Z4RND4gs^2&$>m(p@93 z5P;|#zd|J<@1?Hc4Q!qoPzr(=+mNL8l*L!HLK7dPD`WAOUg>IvnWZ*`sINQ?pJ##{ zSPeC?-ArPNryQbk;@n6QE4tiT16;ulvunE}fmy1X`z^+~q*>^s?EeyiW0KWIhAqDg znfp>?cG(&}vp;iWsbFd$22(TPE(R`DWo&QNE<@wFwo<+?ZcCOs?f3&}TYI}ZuCXD# zUrzRBO|M<p^jc<9uIUX>6kD!6OZ6~i|Hod_?jdZZ72~~7+pjUtnqS*bWxXY%cqi!^ z*Gj)(q1Ap=8RafTW4THysQ^fAGd1d#3386g>rT0sI^Qs18kWuARa+82Jh+~sI29Ci zWbQ7ym-nyYJsvaf9WB!LWsQALdXV)qNsg_;S|tu=Y6EA{5CL*oO3)3HDkx=&FE(X| zd|)<HBFGeBkKlp+m~G^Z8)Q_M4hh5=CDdm86?W>OjFaiw;+NJbWEv~gLs=ozh|!f_ zR|tV<4<7TzO}kkcw48NA{lz7X?yW!&w72KF&B`1oncw~Wu^_xN)I!djzqy6$os9(> zow!6b^yrUIg;!-7I}XPKRz1YNH!O1tZ&}gOYELWn&o}MP3dw~euuG4aJ;0o^Clc7~ z3Y08$18+6YvNF;C^Ye0=ZfUU)z_K1^%e>#5@fx&)hZ7`E;~aV3I*%8ty>0lhUUKSG z_!56A_Bb_y7Wa~!fBRh)i&nH#lhneNV4WXW&MvYF8q2$2kru)3Sq!Vv>?$RPKc#A^ zB~7&}f{cqRdfypT!~n8R`P2u(;u1#PE$9Rr<VlFM$%R^w2()Rw$q`Nis0UeZaRhZ` zqBkuOS#J<osb6IMwHfcHXlbR$%0y$@^JYA~2sg3dX7s)3Vh=KkYS6F`9oXA~pyujv z1f+vai#;zYO4(e?@L`RS1(WjqtuXpR6l_qZZ;%$UHgCk7<6eQr4XrZgZSI#LxAQyU z%jLnle?aT-#(0Pfn%4t0CKDVYDH@X_{tB0*iUe|w%3mIR=N#8j(cvcjd6iLw+2vB- zu)Nqij}nl4l2L5>JCjRksEzUV`<bVNv#uh<nZgoVKl*n6nsLd%g^8<`C+Xy0jU?V` z?>&F@o99EMU^=*kEkd^YO3}M+(xE6;Ohktm;>NaAYs(Tmuv8@h540LO+3qi7Rfm`> zM_+-gDPcub`fE#xIA-LQaH7~A)>3((B?tb}zmj!J?J>8W2{*Knwbw%0Er|%xur?De zlrA-w%9jK;U%prcP<z(2tF~2fVnW56TGg3wjU?hGjcpSweyTGXxAI{tB8H9UOfu#C zS$V{|d)Uwd(=s7-wf<bEKbtaUn<oD3%h`PsDVQcAe!yGzT?^JrYjptqBFr?+5serL zIBH;YqgGcIqBJ=hefH%-C8B@))M13gT^(NB0WI!;B?VBkTEW-i1QS820)&Gf&-F-? zpi&Y=fAMOHwA;kt2L+o#uxO*^YOc64=X|Z;ADDOUhi%#gx<4Cm`M-vRbIX1MBXKsO zI?%D7KpG64ARRXXJ|+_v%qE9F_R03ipS#?w1f?q_)H(U1p#+$qIgJnv2%R1NIWy?& z{Lh&|XGeg}3_3dnBxuI`Y4$ri2y|x9*;$}7gU*fvof&j?B8X|KhPL`$=0wn-49^Y) zY1ttKuM7^|ITwVe;wxrDfFU^7`&<yR+&=h2n;NU>xgfgFQ`fm5X3?n%mi%L)c#`Sr zs)0^B7&{kK%FYFK7hwsCBH6j1MUAv^$j$|Eo>NN6R%A4wNZCn4lse})Y{_z<afr$_ zhlA5DVr*JRX+{=kpbE0XKW7H5(+19TSo56haU){j=5bZ*T#%YSeP|{D^wJs~sI$`V zr&At>GSEpMIyF%JX2|Uj=wRi|MH(Hvewi_6ax@W$J_7Rsd>X9BlVjbdMxPDVW8Zr} z)wUk2m2Dc_a^yi4Ta7%(VvCUnS!^xxAd4+U9%QkV$b&4l5P6Wr)*%ma0LzdET5J{a zAfMwFA&)ErS%W;_VoQ(*Igk~|11`1zd62!de_q*Mnm?~>FRh<fwwK1wE89!k=apTc z>31{Ap0%3(;2CTBJjh~Ap9fj2>GL3qHGLjrv8K<1EY|dSkj0ul53*R(=Rppj>GME~ zHGLlBb6nHsk!2uFp9fs5>GL25()4-2#hN}3vX`dME89!c=aucH>GR6=()4*{dujT- zvI{i*yR5IzQlI|l8Eg7H$YM>O2U)D?^B{{geI8`7rq6>c*7SLh#hN}3vRKpSK@Onl z^FWI=eIDd<T+`=~WgtzT2VAV_^B@P(^m)L=nm!M*m!{7v+e_2umF=bJ^UC(p^m%1_ zY5Kgf3pD+Ep3Oe}u`|~6d631LJ`b{3)8|1JYx+FMVoje1S*+>vAd5A99%Qkm&x0I5 z)8~N}Yx+FM=eVZNBg;UVJ`cE9)8|1Br0Mg3i#2^7WG_vhSGJd?&nw$Y)901#rRnp^ z_R{ouWfy4r&!ZEbwW~LCd(L#7J`b{3)8|1JYx+FMVoje1S*+>vAd5A99%Qkm&x0)1 z^m&j2X!<<RVoje1`5f2ud1M(#)8_#fYx+FMfi!&{aIvP(gY2d0^UC(p^m%1_Y5Kgf zy)=DZ*<PAHuj~R%{~4(Ctkv{8&sfvvK^ANJJjh~Ap9fj2>GL3qHGLjrv8K<1EY|dS zkj0ul4{`uap9fm3>GL3;<C;E?ECXr!Jm6wYp9eXRrq2T|*7SLhy)=DZ*<PAHuWT<( zpI5e*rq3(eOVj6-U7+cYbTs|5@8sqqKhep}e$d4lzaMn5*6#;htoi#v7i<51(8U&@ zA9S%5=m%YF3Hm_~U=8|#7h8mW(9dzJ(2q0&S%!WU6kCUW&;wbBeiam3iGI+%EJeTa zy{tvQ^1UoZzw*7TM!)jCEJwfc3#`Wv7?tTf;n`<B_Aj;``qG1A%B6P1Po3B8eeS;> zbg}j52VHDE`au_4kABd_)}tSEvGwQ&U2Hx2K^I$(e$WG0kAC3A)}tTvbKH9LBh5h8 zqhAHZ)}tTvK-QyQ1;y5*A9OG4(XV_j>(Q@#FYD2-d@t+KuY51-(Xadh>+#mk+~e4& zUsZUCquzoK#_VIT7NLeV@ZDjU+^I+rp(2{-3mWC{Wp@_U>^l31gHPC63IxGB0%W-0 zYkX39V4_t`{_|{7Rsh~=601bjzPm}k!{MoRYpa%AprAGO;e0JQM{zSLwVGdj-dGcy z&(9h~rR2piV)|9|olVt3f1mmiVU$*T9v_Gj=LU8y$PV~08>aZtlV_bDm%vovX%u77 zJ~<^=oxYpoPx@UsAEViqoe?c0_w0Vii{AUPf|6;i^iHwP0zLtsSE2iIlzeNe-3;F* zMl)f|$3NC!u*$+H@Xe;^mRxuZeYVs^#F6iOwd82(K3xjLkM$ynA{)abQi^TN7eOSm z&xJ0wr|cW1_4d^D4bw$@!(?>shIxsV%05Y21k<iEYvUq5Nvc9H2@0QTwus$DoB(|c zT#0MZn_p(Rd`_?5O)&)L!x)6cvMqwz)$Y5g4%QcCc-nVU>-la9!PO^V1R=CP)!At8 zRbuNu{rfJqqV~_2{v9@k8|X+s@eLe9pmHzqEsGI|Z+W5kmh?j6Ytd#F$f=1h^1dKj z;)|>=>Sv09k(($h`U(uvSokr?I02%f5B~>!lDb~sitAfbK25bxi^>Ez`g~#^lIqJV zeR0f(+ypG6K>C6H`dNJk8|XV&vJ|w4${8bB7N6J#>t`(TLRrCA%)^WMAr6DS*{`_p z1c*4_Jx`IbMpf7s)b8tAvW$^rwLiF3FH<xLX^`P)AE)U{*?(&sL7dL%W8u@lQR90m zxWp*cauvw8MX)8y8%&lr&{Z@fUsnBI-LFZ*9z(-c2;f7Iv*-<I)4YFi1wCe;cau;6 zo=O6iF<q}fyy%UWx$g^k8K77nRs3Yc<%j(888KzPh>CvTBLts&(-^~%u~0F3>SN+| zXdq*i1>5lzq-m1tDq4)jN#W#VPr~F!@BUSVy;FDsuvX|7p}-&Xd-S2DSr60#QQMN& z>l<Gi?^D4_+E!E+YO_y&$xfibe?90W55FGdzW!n>AkdY>@u?^=wJx}U6p?(c=cl@k zFTK0k+s}0!YNwV}NN24b3PI`U2RDwn4iYs54pp3{buT-borb1^>-f?b)M~E043b(W zewC{baH%rB>L*~76jn+ke-;u!m50U%Ggpy@Pa8?qIajHyL(mQNmHdoKF{?pze6WfX zJ&Ute^_BW)Bh(k>m1J@ugDvvss4*W!DJsx~)@VBV2*p6{8i%2MqFy1)9sRd*(U)K0 ze&2FKMvizCTFYUY$LoyGNKKp18>kmPUqTJWHOKN)Y}(woWHvfNTsA0(5XKEpn$rDK zMiWU;BqA$NRcsLpiUesdb(Qiixo<myP*QZFs-u936%{}9OKq-pF<T*@j76hrw7VuS zl`z75kwgI-jr<Z=sC}u60R_Z$ZC)q4)waccGODB^M%#af*rgKX+P02gj>F;FrY#BD zk07*~lB^=6l2w|z4n6N^0(yj%Gy0{Xb#>E5;ihKYNhaJ(32^W=syptKFT1v^{K_WN zAK{M7r>L0B-@t7tWM7}r4%83dsPINU-AyI8A<0#cn@;zR)Qw+^Y^M|$qI#Wmsf(&o zBaW&L-}ST6{)<$%VX<gLNTYq`tX3-SW4e@pi**S2%MT+$lHZs&Ff<N~R_%Tfw~g^o zLB9Djl_Tl6b)$->Six)vA?)NJl5fQpj<8<pkjM+|4t8P2U^9C~+zRnqk%s7iY@(uA zXh^zP5hxu$u10tNx)}zmsoOYIumG|L?-&cpca{{O=S1gjEW{cc<ZTRevk}H+j`+wD z9+D?XTHwOcMxxT1Zj+~qeR-rb8-4MmSa||K@OX@XCiX~FBNec#ZQ3qvDcM2XTPw@U zRAZIob`k=Fh|89oBY4i;=GVxQ)nx<}*b^}7jDCMiaaaN62CsepMFHV>C=t+e<o+$h zh922?-u8{Byf<vT>-BeU-?{tXoPS4i6fq=N9FeX9g{5i1!8f)>Hs1M0N}u}C55NDN zFaG7JJ8pl&#<>jU&Nt{nBFHhqom4bG7LRT8-!!iP(Hn_?f%;MuV7wjLmg6|`Uz&BG z?z}x7p$>;K>><YG{Y03geM)X-Bpof^JRAMDtK2X!N)kNIa+AZqH5+|&L^AJatqTg& z@z0}O9F>ixCoQlm-<^jZeF<LPlJ_3Y`K`Jhz^5YNHUSSrLH@(1$uy8kPX$K_J;48N zyS!aKZkNr1Q2L6r<oq}|oaH(ex;N1We?`Rb6&nk$;WCG1`jmKAm`{*K>&)7tc?ryd zTw&dX0ivpgv$&-xNSf>5pRgiefZEXzlZR@39=VPV*Y!u&$A~oB{g=B!Fz9aa6?Q>` z-M$OoE$YN}cUT;l-$5j!=hM1t$I`#*;0c$rH3i<=1w1tmcvTm$r56Cx+WIbHC@OaL zSlQAH+kC622QEA;zX!WnVKHM<{M?H+C(xTvE~_vj_WWEmW5jk%5F5r3JB=6W`km&w z2lu8;Y(ff&gaoR#DAx=ZNFB9|=th3ug<wumv~bKR3r6C47Yp`vQE|;YDz5FKqNNv8 z@#d~xT7>H^iSCl66Iu6|qIaY@&2`;#Z;XZ(JfosOtv2@39%Mr<dT=93*4}X8fZ{8o zhH+5q{4ftjMQ;=m2Q7FHb&%WprK^|f)XoWuoc5uypyop0udz^@Z9$k<HLjdy`1Z2& z0o1N;dgFiomJi&~YACdn#D@HEn>3`NTQsY2<9?i6<)NAU<|rDG@TaIu?u8?#7LTGx zxq2_IU5gTvn}>%v28eE08%y5vg~ML*;$-(DhrQ^~r7T29W6}FWQzRDyl#qJ#nJ}Pf zP$6)j%INQJqH?0jO|(Wg(-5gB9;I@jU-XYKp5;;)_@1qP`Ik2$p`C=+5dXHSIR(>H z_$h=j1TK`@2$#ULxJdBI#yHowjj2s;V&m4gcnoI6W9pYv+;N2|L4B!PfT8jwR(Ws@ z!I2kLexc{R#8YTjDRKUw>a=t)lKfWMnC^^A8w>Lri`tEiTVwt;T4Y+-leDps<c_p* z-H4Y~PWyR1S<<e&;ke5@e__>ayqRtpkqF(KRgDSHt9ra$HIsDs3*jY7k{#Jrs(=lx z`jrUOnC|xr`9Xq2l)7=ijCNcX2Y?m_Zo_m!{zkjzF{_B{D|?Wih+?b@5VSfjZFYEf z=pE-U_i`d3d#b&RGT*4-NQ$Y2V$t4%IJ;Q2+btE7H#wW^lX!pb+9Ax42B{n%Gt)uc ztv}(=G7vZ8QA?)Q$dmr<F@IbuD`}w1ECOGq*OGcW{+`o@TCSF<R18eQDBG=-ta*L1 zOrSz+1<?tkZ~ko4*6z_SoA5C$+-)Eoi+|2-EpoH5_tD8I^pN@B<dJAG9ixy|Gg%bd zCX53~`z6#tfIrqw^|Y2BrhYsB?9*QKzDs$q$b-`%@ncn<im58`ro+8|c4a$`UaU(B zK!Lk0lq)>&yqIy}>T4BBMmtb87@<~ZjYjcsc&y*dvs6PhHPrH(Ee^kP+--rjMojbf zju>HBCtT5<c1$whU6*|ko*KB*@(&f>jroADCT_#?=jZlT$tut?<AkOv^kpj8rl`;0 zgmn$J!3VBA!(;Iiw76bJx@{c0`3Wz2%vRI35fR?G4-G1hS@GItG>0e-jp+9-P|cze ze0t~j`FgGXGqoW8sx_-6nR4`zEA2&7W=n*?Bti%aEQ~D_Kj3uCG?nVCq%GK8BK(Mn zukd;VGf#15C1~$H*!7|R;At_7`fgUofSd|mOaDu{-SkdWZLL`f&7#KPD&{%m<j$)p z6;d_o*sdq#IuL{`WKEA%d1mlsqN>}i!sX;Y5{xw-*JY-St#(CD0F+8Mlm|!v$W~yu z5pmY;5H2UTXo<f8RDGLZmUICu!OjSPm&>+6)f3*9tzaY$YO#>(iK*T^7`lY@0Lj*v zW}CJ#!tkhHMX@gCLsa8D5}$IO2>5UwzKiR135~c$Uad90F1Q6ov%1A~0z^1A1{>Qf zXr}l`S<4tdBR*y$tgI234ZMY%)U65o#W{<84`SO|c42_%o-$XSACyq|MZ0|%@zl&< z=R+RdhcXr~nk$bx<*A18hTROYY(#0Sr%@U=N^-Y<d4zG_8%{$uI`yCEwi3r~O#4r$ zHf{ub_Z2)UQt->1gsn~e@N5v<=rQEXL-!%BU19+vcSJY4v4yOl<EDc(ZDr}RNRlcg z*J^R|;$L3l!rm9=++wH^sjCd%csU6dd~(mTF8Jgl$I&h6wX=7@9xmI_0uE|;kl>U3 zpo<To^n)%wgwhYX_z+4z=;A{t{h*5vq4a|;K7`T_y7&-EKj;Atq4WbUK7`T_n#ER4 z#aI*!<Vctg5@0GANpsJE;FJAGGteQFeialSLg@!R&>@t56=+XIm(u13pX>+S>kvx6 z@-_`$5UjFa`Cf-m`jux9FGv;ypX^s2e+hkx5ys5$YgY?Lk6kXmg=a)we`?Y1*mk@H zq<Q#R7i98qmzB`<0m7UyI>0f-Jji0}kOx_88S)^DtwJ7Tu|>#(EVc%Dkj0iD53<+_ z<UtN#0rEhLwSOMub6oT1k!2vQp9fs5@$(=D()M}4#hN}3vX_?6E89!M=aucH-Sf)! z((HL<dusK^7ismcJ)5=qBj4)y{->wa^B{}0dLCr4R?mYh*6MkX#acZNvRJF<K^ANE zJji0Lo(DOAR?h=1*6MkX&vC7uN0x!KdLD4GR?mYRNUP@o7i;xA$X;4KuWT=^o>#V) zR?jQjORMLV?WxuOVX;<cSOlz5v$+23^VRpCv9F#7S*+FbAd9tn9%Qjr&x0)1>UogG zT0IZ4SgYqj7Hjo9$N{u^9%!*v&x3r9YxO*`45ZcbfQz+y9^^n;JrB58tLH)X(&~9- zdujE&vc0r=UfEt+J+Ev}t^UPDTK$`hsAsKKf3i!f>zeVwS77oWi?w<lWU*GygDlqS zd630gJrA;2tLH%$YxO+HVy&JBIe=Er11;9-d63U>t)54gfwX!aaIsd;gB(b!=K&XM z^*qR4T0O69FRh+ewwG4VE89z}=aucL)sHRG>hF9uufXi;((0$T0+R<>tkv@%i?w<l zWU*GygDlqSd630gJrA;2tLH%$YxO+H0knD^Xt7q$gM5x_^*pi+q}B6)i?w<l<Um?I z54c#X=Rx+;>Um{*Y4yCay|j8>*<M;buWV1P{-s4){p-(Wt$wm=UH$ZY^*qR8t)2&2 ztkv@%i?w<lWU*GygDlqSd630gJrA;2tLH%upw;t0i?w<l<a1oB=aFR~t)2&5tkv@% z2h!?!z{OfU53-k5&nw$YtLK&NrPcGw_R{KkWqWG%FE7&SKZ1+t3e2<bq~zW%U;Xq? zO7?>;*6#hFi#2>d=wdD354u>>_k%9h_WhuXHGV(nVy)i~dH~Je54>3W_k(_pTY!F~ z8ORFstDx8t^n)JA8uY86*dp|U?qwDFmG5O4`jzix9r~5;Wg+^N?`b8zvdBujm9hJ* zwGvNu`TnPGCHg@ZTZw+q#a5ypbg`A_2VHC>`au_4iGI+<R-zwtv6bitJ%E+y2VQI? z`awU(twcZ43}hwxRZwgt`aut5CHhrRY$f_Z_p%cG%J;Go{mS>U68*~evJ(Bu_p}mE zEV2^6+gTxc_RS@>|3q_%e$d5Mq91gzmFNduY$f_Z7h8#b(8X4wA9S&m=m%YFCHg@R zU?uv27h8#b(9dxz(T_9(S&4oX6kCaY&;wbCeiam3iGI+%tVF-^y{tsP^1ZA?zw*7T zM8EPqt;AOsS&2_F^3%D*=jwjgGsLgHLUjKutN{D8R|9kO#K-tdk?02s;HfADdw#48 zK7LmKPoEz?!H>TA)B5szjUo!H_FmZH!*o6Yr%)QVEF2HQQM%?wk8iZknfWG+576y1 zTpjVzNBH%TF{?YNL?2C>{`>;=6&9irBm|NZ7BtEyW(uRg$M?yuw|qQB@<57RhS)nV z;tTEaPueYl3gmUGRMf4}F{2?LX6JOP({JJ*=Js2G4v6xwQD0?mfWSsQeZSAY>0r~0 zqDtu9r50F16kT&#y^a?$Gj3GHWkql_c6#&K+1+m+-svkp5b1nzF8SbVKo=gi4izLg zFjt-Aqri+PdR!n4Vm3@&GaDV(H}d>GdZPkX>U;E_1kxbRd#3>lReHi{a4NzhEL<dx zixALATO_lf&R2~dK^^?$ZK*sPo$P@q6v>ls|Ad#UN}hTL-=G{)uqF!u0<A0@8WH@I z;_Jw+Pk~R1Z#@Pf#A{1y8okfO@z5|N{APO?`cQQqBP`-FU-ZMbmRR6|87dqJyd|Pk z7?F7fBT!N477>rCqS@$?7ZH{+lMRiK1!T6756;G5i-O?>KfxXdc&3o24msjxZ!n(m zM;htf7P(ClJQWZqAsa8Qv;q}R2@a`ItYYIy{FBlhHPc1;zT*YDyYWJtVGq(+@EC%@ zw8u-WO_PDgOPr1uei<)L?t70HC--af<bHldz2qKtz&QRYTqs`$d}S=C-Z^4HED38| zCaiIpSQ-iqQBq{Cvc967bir04e%LHl;3rdI8tdgOysSb$-Q|YS8j@7bU&2~`<9UuZ zae1{zB*BeD86%Qph2IAMjgt=fuS$9eQNe5B23K5v1@iJ%DN#g|PHrbfShG>j55iKp zQmvuJfFO1u(K!G1<6bf*ZB-&HSvN8t{y7CsyRNZB;fQW%(jf(39ZCFVg$P=}EAC$M z!!CH7_O8yn{{;@7a46H^4b7z+eFDMO1=tYaoBoc5M_t2M?H+&xEfL@{02@Sf25?+} zI|aDR0phCn03;rq0M7z&9E}Vh(Sp3>4+U6vfOzR$fWNcKp-QIuI7%NwbUlEIhLU_x zfa4Aj|GWp_r~@RXj76sfaEVYoAi$afWF&L}X2c;lolu<s)g@>t0Kp(`htW+Ab=80e z+g-zy;hYt%Ed-@30)GE11!N=60W<W{_$UOav6#>?ipc@5$tv@bBWkzmFvs!jYWE(5 zS7AL(eu+@L5R|f5vUmQHfUt~{5^V%rkr^#=v&&}4xNH||9qneN(GM=$DF|h!Sgv8D z(^SpwJy4L?<nvu9;xcui_<OKZ1E^wyf`Gs%0)$o3Z5T(ySIvYEJzR2BA9wkwY<2QO z3a4_@$s~qcCKG99yhQMR#&FBUTHBz$=OPOVB~3+O?YOeMN%$BI{w7f%^=m9|`IuHm z)8&etG>yF`+O*!SA(B-}ZIMagvy50Sdc2WN1U8ZqJ~OozB3!s$VYH}1`mw4QUsNz1 zUN@tlFdf!pVd%-TN@&62DylWK(*3Ulti~M^7kjTFMF^>z__0vXUW`4ujwe*z)%*~( z>{5R4$~N#bF%z!m=d77<4L{3f!YO{1&V(^P=KNUDd=JWGYQzYK73^Z>H=bwAWE^S) zX?T_viL22=G8Y)ZI^%~I?Lpvrf)^6qTcM{$QFroQPKnw)VM_ilM+t~oz5^wT;+Mzc z0;qMVQXB@Ns96DCst`80G)(}k`o>S~xc4JZ9DeJ2KjqyX*Eb&hgTMUo)BpO<U%&SD z7V$^B!u=A>H{ku~9sH?n=k3ObD8k@$;sPQGODw)TqIX%=6UsV#w0g(w#M&e{@Z870 zaN!-dgP}t6f<vg-hG9}Aq!wgC-Qjt9&9d-{%LHm8HWpHJ-7JxSiP@QqDAd)Mny-Ce z<0=0Qs!0L62#KW|La2g}v;jSo{UO>_lfav1cN!MWD=rgY(X5WUvEk=69*MjSKqDS$ z$CYE=LNL&ba7aIq+Q1jufmh}KA9^WrH33RXqE{)S7qQLo$0{wt_VQ9@HLgK1(aUvk z<Qn3H)i8X>rjf1MCL04|mXM_->zqgjAxxU?{0&H2+H5c5a5HS6<O5ACk9^^9Gou)G z(6Y!(izTCBdVhczmc(0=uM)e=GphoE)`kL}6X02#5>rDL)f55vrP=Y&^F1p^5Kqbl zlnY$BCdOlw{$$)&qv$*}3@=oZI$LVLcCuM=y=*NZNN1gJU!{NFDlI4S=@Md`k-)O6 z^Sbi`&Y~67_v+Y2qPqPSCBkI&<;z?3xN$q37F9&nWMWgtL2-eP6-<^&2%e^>akb?C z63Or~47Jd}On$@U73w0<#&k0dS|)ipk{uI|`>N%e0U^?vg5(lX6qz?A>MAaY-zL=X zYEvTwG}zoM(R=iTHBwUZDGkC74GbgSbyCP1=fjjHV;fJM`mZ1T^S}GRiN-H0h#V3m z+33pDfVz{ZEA5qNPm@73Dk-Tc<7FV08!{3sYYwl`#nfvvB}GUQh^|pZh?l@cp}sh! z+<_!lK-h}Zgked@YgNM~KR)3IPk!j1z36S1h<S>2Ix7U>cj*DKO@w}#G9-4IvIG}< zOL5o0g#^!pjEs01(+rQue9TkEzA=iI?8{5;x?YLiO~~^gdZ1#dDP`C7SY%hIPxw7I z@-lUCdcTqa1;}N*+J#DX_fl|WV>z<fAdY-}xrkm(R_V5-YVs-sX}MoZuj=?m&*iSx zg$wR-kr95s#%(oNW#r7CRk&e4dFOjSsrwuLB4)9L80*bYQe8h!7uS57fr^bKT4v{F z5*#P#Tob6#D;tU;iPc=gkNlkI&01|*Ls&WD1?f*c`tDVzm`Nm|tId1VX6V|4hB&6@ z$jv0oP*<UM%qs+93gv@^*Q_L6b^^=!8MHG$<J|6s4Ku_eIw8U_D_+wY*%%V1pQn-g z8HP(Ln&jhRkWct$qCJn?Pq0Vk07x`J{50Wl^@A|9W8sQX-NxDKhwst7)Z(VDcy&l7 zpwz|BT81raS_v^8<EpC}ZggGS0&%frml3;nLA4B|=sg4tcBS3@C9?Z(idx)cu*pf5 zrm&hYPoiMsDiR{2=UUYhyt5^lH?@*UL!iP;!m{w2qEpvsp{6%FbZUMth0gy}-wpW= zIuD+kqB9?r%Nj_7eCV#Gg-wdvWg?REtc8Xx>>@;J<OHSKjPf%^jru(qg`pa;S<Yg9 z!9xp}%3Uzgp+qfDHhul9Af70<e<%QXG7eQV6$CY7I13DIhBGar0w?NI3q*ZN6|It} zYptYPLNOAMS`G%i*dVt<*A1C0tVcofB#{U%^nU?mucaU9C1YU4mI1OBS>l^FxMG2> z?A0Pmk|nJU%xg$`x=yb8HKL^;#A97h=ZEmDQgSR1)6=;25<lPvJ?QfjGSsA)iG3dZ z;3bRtCiQMop-{CGDDp6MvvkXmGy;ydRAIMLU=fNC<~{Hhb@BLFkobc!f0-7!4|1o5 z&vJySfU0xBZ1nULSm~K31+r!UXbj%NFP7W|i{HW05U|q5;%2g9c4J8kHFyUzQh4ox z@=pk~tKhCy%Sw$QMkkMQ_9xJT3J-7XQ4p>13sUKE6VY=P9A?Xc8A9O5<L0hn5RT$2 zWQHYd5RqWHu%4fKQ&Za@IbvwGJSGClo{)Sbhh63<eGUjbFTxyf-KmRs4+Qw56uu{D zD)#xP`sq>IxH5NG&|cpz2pNwKUzrs&RCWf0k)_HQlBttc33i}mB&54qj9Efe!iQw! z9-V3lHqe+4PIyHr$yEV$8k(|wWbY!-vWUV!HENbSZ<ofA;@pnJORs6*UByd<3ShB} zj3g;q7u*-bQ9N?3y^lJmTKKtLK?}$#lV^ieaU@iYRpN+VG`R;V`-iFL<}*SCdo(aU zQZAQ$F9^#ermK!N<d<4YV;Or}J5XEE_RA&gys9;ML5b!vh+$M}8GpK|>vgD$JS>fu zY;7*-CP=)j7m?4nfi6<VOMBHUwyFJm9J{ONjT{5oy1jJJZg*GN6DzkU&8-ff!@s38 zLJPH!uZjyPkE%)T{_bbe*uG1dPTkXf^0mbCMGNknj<DqK)2H2mc91rPHm(x}>mF%> zBmeXnL~yr~Di|SC+*!1rXB(pHg1s)eE5P+xVY&O2L@7|<J|z{EUzI;WRW5)%GL}5` zWCz1i@|51WSj0qaUb3~tjYtm!b~!?8G#)b@*a={s9K$n;-gT23<etrgSzkcx<uDOA zT#8H)u$eWXl<`fon8xI3H4}kn#^Zum%WW|px1v;KF#a@9vcSSpe5g!s3D*YDvI}bL zx&*zr5(pX5#+%V=*NJ)bIv~RBw!D;PMja8&XmU?RlP_yAA&@UT7jABawC6&RO9yZX z5i2pu!D5xtTW^rpY-G{_LQ_X{3vVADnU*M_qy=nYowcNlj=_Yipv<JH2rXkUnu!q2 zWo`--T|=w#!}J{X>|%CQK^|JVm&s96^h{(CZky%WvH<<U#ARJ@8$Z}R0&ypI8&I}p zudC#=HUh70S&x=6MlI#4H(_#5TAVhW-Wi(-ZYO^`_eccEO0~)pet~60JJ%>K`zm>R zx{glTp2Y237*s_*C}aWXqaR<X?Az#!-ZmK{xCFXxL_UcuGPi@c=JeiN_N-BdY1S~r zb`9VE3KA{tBXWb`bjTLPdW}JcsF4biLMZNM5XuNs38RC<AyaLtu!S+yeUh}O!14U7 zKxz9Fry%0v?uTSx#XRBq>wd_yg(TgYX0&N{#x97oHVIvw($H>*<UUJok8(t<L~l!= zi!r_0^e`{r<TP><sW&0e43{$PvB6at3P8_X(Zt9oVlD-<UCLn|Yi^)%5dal(+r?5? zX{$-ja@mxbVo0i-PD07+`V9+ekJstQ)Zr%%j3cY~*+td}vVwy-kIaz5Y~gK}uL<bR zcVxHBcFVGp)A<sOShwXBLhnj%FG^)L*-b^sRB~AL9lu&`hsj%*9N^NYl!IaNB>F0v zMYP()MZ36cwgQnr0i}G<o0LuAlMHOJUqc90l(C;^{we!wO}d7&!rG2qCyJk#Oo$>H zBW{gbY?piH^4g=xM1i{#w1#(-#;INxueF#_3pHhdaYa6{?E;#tJ{h#?GvQJBpA6NN z{OEEyeh|4XA!9i<6)=XNn&;wCcdMJKrmIe@Kzwb|a)XUK=DxJlh5?KGk`J-$VRwa* z#~gzj4bTt*Upt!|G?vVlFw;`TAPc_l)QYeBE6BXh*WFi2?e?AU*=k3g@Y#wE*CMp# zPRdC-Ec)WKQgfl4;E#;?B{{+Se7npUtpMe{=*J8}slBkHPib04J6-sTwd{xFhpRny zqI79kDBnnzH)x@ffcJsBD2D4P7~CLv;9MIv2^aT(3Fk3z2t)bGQsR()r_b;1KYaqd zw?oOjA5roiAEOy0J3#w!u9I>}hhUH#XEoow`!K6JR_HU=#G$i4ol5t1D!mtP?gnk@ ziY->V($vGHjC8Q8DPaYQ3+vk7sq39-T{5t`)3LkO`4#C32$q#O_%g*s2M|h<;HFOY zg3?_tj5>6fYFnYE9iU>93ABMxM(=*?C4b{Zzdr$%cEhg3!WBi>DW=_n!D+m(>unOU zHDP?&^I)4VBH=C8StA<^QpeXrf}0o8j|~-GP0U8d9>;L=4RU$2xMJ#{=3v7!fg*JZ zJ^n96t$j|Oq2f&`!F4Ct_3&%*W=)~Fm55>#wk?Z5lTXl19x>9~3<%Rd48Mkrr1A5( zi+drCC3cgbqTA`qeOcZvm$!{P5z)$t*p$14Jh9qF)4JepB~8BNQz(g7fpaCOV@6|G z5&fauX$0w}7R|HQBb{V&&ft6f%j}IN{k*z?dUe4G<)(vIX#~o4xynd%B#Fux)h+gT zZW0+ZzRSsL@ft916u0r`s(TMqK(60}jCT(k3Cnh&xmb`Ke7kejqj{rU%179Cu1~oI zJT-RIHsd$?`c<yP_3aB*T+dS5tp(fp=wxbU!6=s0xls%oGrZ>EVhgz7vPn`xf4Hn1 zf}|SVAz`nec;}VTdc7d1l;xNV0zZjIdtv3X7ebc7@|kNAZJ`_P?h!q#cl&(#+~H7X zw|R6uq?dH1=0Wn_UuXaKq0Ua#4Wt_C?4i#7-%@956#s9gvk#8>zAZL$_Dw4p*vX4M zrY)Lucmdu`(Ledx35Hn4!kxF)eQiwMnSrP0tu=RKel1s=9gr_Ak#j!Tppn(yc`c^< z?zlC!Si3d>=R9>jH`GPox<i+Vi90IIJC+1E(AIV0Qua}p#_3CTIYREab$MZOaOcNy zn}pC=4x!JT`WP9uIN`PY=<emM03#^8nBgCu(39)%8F#CChTU4$KFrE_nT6fz^qDh# z3tw8F=|C9$>;EA)Z;eQ+eHH&F><a55XT%}CG4kB}z~-*qEbEDW*Kz8FePdVJm=i`{ z{w3=h@?yu6FK3P1X3d<2ij<<mTE0Yn+0Y3#oH74c4e0K)e5kfy`eQghnPB>CiwZlg z`@~1p5(5A4p3id``6T(p(nuSi-<C%PVV69*C)b2E)!oFTPGP0XZVavWGoxj>jm=Yj zRyqC;NQf!AVC|;kbE+{ev{rl5ZiJ!>x(G3Eg!=Vmwy(xGEU{w})OC~~8>0sj<@)5Z zf5_nhzR17}?&NYBVcrM^2ex84Sj`G<dgxx`LHo4yX~iPpUkJ}()ZPWfD-DW;5|&pn zTcAD5b1KmxqNCsK?tr0I8AbJl4Y23p@>ODCUu)J^?K?<rwKy@qh^@<XYdGj*FjUG) zjaEwTsr!L6I5#~9D+^S%R!VlHi)_Eq`hVGbA9%a2s@`|6we~(|pS{nYl|OAyN!qTx zjh}ZSi49niwDf+O6;smM@*1^1!pG{XzWVv}g?`>^Yc9t33O%K1iO*gQ7$7_Y#2Rem zwGgCW)FKB77^P}27L5=kXvG7ROR!a<x6t?fjWOrid!KVc(~5tthS0O-o@=f-#~gFa zF~=NZ%rRlp)G~JUvT>ZZ+=sZ8q-`t{4E5ADadp6w6(XddKTm0OSjDR^{*CzS3Q}LO z)bc7%3V@bu5NY{2do`*qqAJU0hdT+r#{8fOl+p8=@VwZ>rxs|!^G@Hy=L(vD5UdGP zAkXQA=fx&IKRdq{o_G2t-aSPV&=eZPTDk8FIMyclXW5_Y25&m8s<BqmU&9QSBYus3 zaDwDlzpI-tKkd!K${I##^uBeTxw?i~!%XC(s`eLSwX(;baYJ8Mtz+Jh%&CAd*igva zNv}((G#Qf*tOWq_4FLCB83aHl-OjY9_o?E=4uHHK<^d2g->Gu)+5~`m*8qSy0DuAW z4w!=hd1jm`00;U2psx7<gv<~10r0ReK)zuB#Vl&yK@6ZBKVtwMQN_cK0qU9$0GZYh z+M9U|$wqsoJ^h#(YI;M`1ofd>8%`%IY|!>9KXd_oq?k2rx|lhAbc_9&(eo$ObjzEj zuKuRISu(95R^)kogyEfWA3trQ<PA~R{Dwm2XRVx*)7Lbb<Qo8{<e1Y_`0N=2@WnnP zYljb#zosk<{rR7~l!nN(hLQz(iokHj4gH;Jo$#Jg*ZhXaw1ybZxhTcaPsfi^BnPDU zr2Px+bjbbnW{~W|!hntApTl48bbfm0;ml=zdgsZ8HQ=XrUNSP@Pfr)reim;C-ReHy zPwzcnI#T)R4ZCd<Z4{I==%<H)v;6O>WYAAfESL3Y3f3I_h>&=|qM@=bf1Ke_oy%uI zjE;c^)L?MZOUpOQn2Np&JWI+M);@%TAp>7L(Dy}HWjmQZFb}%wkR9_89c*3g)#hb# zynlYCPVGm?R3DuI{G{x8@=bM{=E+wyACNix@Yjx*d8cEu&s?n77~pURcd;(70f4@S zbWDiq=DPFINY9;b3W0$wnlX+w9pjO!I>Xvy6dC?9|HTnh4AF{FBF4iZAarN5ykoOt zDTZAP*fRQ+_k|C@qQ+|a^|yg2EvXAS1P=NcTJMwmBj?4^Jr6t_0@;187hFKb5DV_G zXQ&lJxB<%NPm&sd@XJo-PH|4F@KT^`h~ZTsG*S79OXZHYFiidanqfqe{8THJ?!kmt zpu;pD9$W4h&AIKf<VPT{6w?l{Fn(1_?iv_IK7Edn7ukq-hvnpGB(Q1@378O1n{!FS zFoEMAb4N}M1JkDvkd+%=JVi?VM&P*OSr+pYhD*sFA%@O5rG(0LtjK-kd~Qyv(DLXj zH@9*#SBG(xldjQ^x(22tY+?pMx)C7K4wzeMQNLaDj%AK{8$J5w)~mJ2=GsDDeZoOg zGcS7eIiyG~Fyzxfsu6Qh{dZeQ<4z4kx<PHo5P~-fe)8mTLIE3w96zpPew&e$u57~_ z;pxPDK$7y5CpZBh16;_?LU#V%SIGhZ+c94`5<5MS#T<M-ET<}YUo5#hmJB&r={cb! z+ZX7@rjyn(j+?*+gi?EiHH8M<S0(c`1{B(F>R^(ARKD8GQps05#BJW2%DJ0zo-n`c z@<GeIl3Y)fwauu9DE(0N!c*ZzR_-_8BYfef&R_tc{;;ZSMixlQ1F@H$@XUiT(-X91 zOG?qa-GST_-+RJ=#DPjH2UcrKcqaZ+p6Ll?n%hht^5jKh2%HZb(psp}5)RzHnCXdm zz|Gp3E}HQKht=pN2cA$7km(7}JQXuN;hFnm^`7u<9Eh2o@Jwz-_c}eH&v7-dk`?0p zC&U3;pWfjFQYG;^^m>zWcWfZ!Kx~%NM=1806H82Lzl+JWADRC1v<*J${tby7nH;qt z2R)_b7<G#<xX9iMc*1diB4&ERGdV=3l1X_yz7089$a$_#B;~<GR4)SeR7J;+4WiS3 zp0;<7M|2*G=nOeo={e5@2@nr9=s!=};ECAa6S2XNla-$HTn#4WY}Iv7Rdf3g&Sja* zi1{0Jb_%fp&pRZHq&yTSl_#JoR;haX{&q4Pwbnz(yF;!pyPG45r~6k7DaJ<)&P(DY z@P#26%H<<DgfC8h&z0=wVN1MxY1hS2@hVA@kO*b2*j7IHo|#&HZ=18H0D<=%8deEw zI@!0wR~f0mBsnk-`_42N=M3i>AfEi4KTLh-30BFmT<fYJ;15E;`>>T;ajNHFL-_{P zt#yLmOKCU=&DJE@C1<_gJX0$le*=*H&C9GnC`#RYGug#aZ9Qo;9+&Vyx3Z?MxlhQ! zmoCd6k;fwZ-FmQmW07jmt5!Mm3Z1L6s=K3Ocw_xUXB26oz~6IOr)`Kc0Qnp}<UhW; z?O2gy7jWUi5FO6{u-!!xUja1j%W4G=f-)@U0i=^WfOIJjAk7(o(9@)7jb#$mhIAlc zaMbLibIV4QrI`ZTx+5&oOjHdD^~&EatNGUq^*_Ek0#~%aSPw)N-{H$@leB6_P#E`x zhAIqqKN>$g>SJbzWGx>lhdQmy2Ga4nh@q@QykT&Mb*PWysgBXU6WaTBF_==10+)3* z(#0SCP&KSh7zTxoHffM`;!lZQP1QKif6zOJ0+4|Cpk-&6h5)PF-PbPo=+VG4*E@OO zj%nn<;>edHtY7635ng~5S*-WXi7Nz4&PIU;F8xqPB<X=u&%9mFxkDb81j1z+lmP`Z zH(4d%E%elCqo-ae$cf+^VU9RWB5+nTY5ibIVMc0>A%FA${4kX;RCL1UF%zqzS5;r3 zQS;u&Sz_uCem42xOTpa&H2ujXb7&f37EOcuIW%pksCoso#_zr*;Ue?5<fRoM2%VWr z$d)~Kb}Yo8*u)xAecu)ED<Rq42qiT$3E3WM5|Z!SDb6V2A}N~r&YxgQH;?-XPcH2K zVJjIDk3NC^Az5LhFZFZHjCxFx3_{{}6K@|L^=?C_Bk(NJ@>qVFV|uj`cN2iXd|<9V zO(P@29|CfJ=}-C*3c0dTv28!YXY2(q2GJ6(uKvZ4)&DWoZ*|M-og<{3p>p5PKNUVs zw7ah5e=x*{NW4?#nC<CRUGqs#@RX!4c+hA*0Dtb?;tXH8`z=p_GNOze`SCGq1lq2{ zsAW~<0YYsL&KL5URHdtHtK9P&YbV<QYS^zD&JQ)%7D*FsZr!$(Z%}V+LUpsZktfi6 zsJ@~)QE&<>C`B8L`GuZVAvQBAWHNg4@?=H9G>{{z=?6GAU@rV8aX!_#0p7rk)i0gR z6S{e@u(CBSKW7ZskeTF1TI#L;Go*rly8fMP3F!1?weO6`SRvsUtQYvU@mP*hKomy? zx&vi&;iT$;4&cJ0p&f{(Dn)r9NSL>_01&H15(TAJd3ipgu(~eeGJe!(NCHj-X~_;Z z;g7EwB*`-0@G8`WWx<zq;<djNQ&=v<F^dpMT6U(?NzMZm?h`9G1hm}5_zQb-ya>SS z9V4%VaT-Qm88LEgz{pkJ-Azv6e1U71KHSu8U=C&Abr6{qR()--s|<LfyfA{#oWhUs z-0I~hP9ZP>E^v$$74b#+cW;6QICCweIB6N8fFG2j^|5>ggl+*B%$-BV&p<c%`+ii0 zBhm1EZ>0*fq7)UGiE^oV-bDF16$|LsYyTIRgaMQaAmGwk>dXRVHUsWcxnWcJ<6$c6 zU^L`stBt&Xncmg3{HW+U0%SAECSiV{4*A)!Yhyz2Ce{QR?9FPZ$7kOA;SQjsVYFf} z>bQcs>wsAW0G3od?C<QTu`?p^7~xmPvlm9jn}iH>YpP#jC9ugWGJ$_eqg!v!wmE_A zr%pH+h(=dK*$gv)!Ku!mh-aI-bg<ej*V*~3Y{;S0I4n~ZV5C!Gf)+d~6-ep}!`k!_ zx)IYym8Rrzp62g6jj!zE%G{0Ip5|{{A??Q=`jy5Z<oE6b)y3N-zDmGId*{IE(%z6A z%j-$@m!Ez1*<q<RWQoo&OV*PVK?y9c%=RXJb`(WKKfuEd`(`M0Zm=?{1dK;w02ZUC zM)}r1pQ*zBNW~WV@cE6g4|*ExVO@l3bTA=0efHJI$B(dOxr=B#xR9((kARW_oX_Zq zT>nVoL3sH7=o}~x2#N`h#AEtL$K>gupvrzI`sxFUqy11k7NB@EKyfsI)WOA&Nqf@R zXza@m2!arB2}vp9;S1nlb!~SNoWeDznh&NoW)zxi5CDWT6OP^E2^@%w#}h55IKOHm zmw)3b<sAoSR6La)ld=HnqiD-qB3#6`lSp#i;5;r)7s8yFF^Ch9S_L+vk859+ibBYX z=--UlMGZno+IyW)R6c&PC6#*42Bx<KpthBKxh^~5Tt*c|3~rXsaId11p`w$qB5*sW zqN7xF(ps}YQ=jwC+~nXvIB-(cFU(Ob^*|sF83}Qnv_uC(ox+@`Ps>P%1!r$K7$Oqa z8`hlo1`UtCVQmhb4BH#^jmfbt+aaW_q>Jman+3qhq+>(_Ak6fY>C-lW4BC%hODzKX zuC2_vK<8oyzSa#_jq;m?j$>3Fs!s0_jGFyT?~n(IwS4osjB(d!>L3Hdcs&m!fmJ*h z+bJIGdM(~iptf?#5C3>?^L>}tplUQ|hz%`90#jB;MzpGc=Q(#n_v3h#yR{*hrSuy= zVkhTU*WQFU*Q4nke-d7Ld<l}Zz%DkHLPsB77*3;$9-%OC04z>5Lv19+SKMyzA~UFD zV!<mO?6hGg7E=(Kzw>gN7s1S973creBGRF|#iQf1Bb+ZB()q&Nobvd-_Tg@O<0ZQu z;FQa=6So=7);87be<!~8{_xUYl_jUc3GBAa*7hR#FmZ_VB@BQshXFO||I%LCt7iDJ zxr~j0VE%A-%)T7)*Xm^dm-ce*mr+PZm;KENkHGQl#8tMU70LZYx*ty&5Z){w{i$sp z<;JFVGn5_y^xNR{V;hruH-3}#fd5V0?W@l8biR|L-x*PB7Jj*rkR_*mmH&To12hjU zV%&(P*-N$%X@<9zd;d?=?yq65Nz4!qvKE9(LgB!?8SAt+68=ak;a2&{Vd;WEU+6|g zV;vC1mUH+u=*_O+EWDLQE*K*Q)2@!5!{rsXJ#=qpLT`$;#T0vJCn^(@hlU|@A}4{4 z`#?v7GO~otXgk9Ipoh@;dUD5UX;g1vg;t1@>NKjVyA$^oquxq4-?fwU#J$8Vqm5CH z#OJ$+mIuCp10Z---|Zq0j8IQIMAG?5IuGXIFC$C~ijUs`u%pDVD%#gSL?kIyLi%+& zAI~S_#n|ig`}&7o2VvHJP<>$7CWr=@@Vl6J9nBAy?bnvcPj*H&-l;60TBaJ<Kex9a zR#DBUo<%=OmHE>TxcZ)hcQS}H1vwqpxbM=RyTM<1r|S%;>!-V84|uumIJnrD0GlCV zJRpL-g7&1$2T{oD=-9}z-|*d+b%sNx1b!?(_EVx)J&E?Bk{h2LzFVl=*t(Y=(>w0o z*^OU^d2nNPKmJ~g^6;$^@f+pu4bzJ2NE+p{!(QKAJH8LP2`{TDWS@$#h#I+ruc{X( z?xaq2w^6=%qW^_|;Y(PYhaZcH@1;*&Cg_jR1puG8dy8UFX+9{j7$}Q#XnLmB>jsA= z)BQ#5m-H;sU#eg@Iefpe?!P}wSDW`IpMCbCOYZ;BZ-pi)<8Vf%VDOdq-3gw>`RV_* zhc;ev??)&m?R_pWHf?{imA2e5VfUhi#aQjY;u6EbXk($U-WBu3SPX;`Oj%l@2-_^u zjVXsHwVEN4J<e}EAC=FOEp&)!h%n{sn52Z}w)~^E?}X|QduGQ#9#J?5>NRSJS1~2! z!}EAk3$RI_O0tPm-6~+GYl&qsVo9~6Bn8yak(TAQGn;B6H~mv<UmQa~X5&_?GL!K- zYQfCJHJ0+n8XHq$^OPrkA5ksD9yX`83ixL>+DbpxNwoCOj=|~qLMz|XEonlZj%Vw8 zwegPr<-dJ_#)!rA7?>i$pD-qz@m=@|{iEPSwrk2myH<WdV2nv-^{_fU9Dd2bc+$X_ zN&y4uU0xgxM!h=Z+gBU!z+!$c5hWcAkSQ6O0h90}F#KpR0)T_@=!k>yl)$jqrf$f8 zE-*A6!p0yNp*G$zRy{BtqqM+)Ucz?~3{x_LjU%lnFxAR$_F=^K64k)`?Dwj#0~iTn zmWal|se~V^^bHbZiK519NG5;BbpbI)L8EOh(6sxfE;X4XDH`!HH!1vB11(nCN%*fG z$Iiz>)vDDdN0%j56<JV$OwrX|5y9W;6@lejk11f#vnrM*a0h$7<_|H^wOKI13t_2c z6J!>tvF&gQ=*zL|2dd)N!<nX@MmWHdmJimIrMXmP9c)+@3Sq;OQ^`R@YO#YubXU5` z10r6AYrmf8p4Rh#mJvuRs_2t3sXzaJdNSskZRLI)>wb}7uZe5eN+b<dDy{FmKM0QF z<iiKq48y&O;T+C0SixA)!f*#-jZ~u8I@N#<&@tJ8^5RGtd6OOHg|aIiKz5w91CaW+ zlUhWz{g0Am)7hbmtPGM1m%A59xcqu69lf(D;c|CSBZv>O571WSb5~Fg2d$IxnfS}} zVLDa*xhrT*j2Ut;!+%=tx7`b+5o+yIWiZ+ae^z>s122R#5}Ev6T|*HnU{#WH^Kzt! zyj~i!OI)*{_~KLR*rYL_B#GiMV@Y#Pu^ldeEO#}9KI4Sz0Sc6>L^K$#X-Xq2^$9x# zc4B7z2P8y4zTBU(-X^PS522ROlaN9<gsiT;mzbCooi=N?!r7=Uz(cZ01hJAWl5Rxr zNb%`LcH-q=-ZUF~XE8~v`4TXfklf>+nXJXnUFfpS7ttn?WUXowyVE3N&d{dYic#>{ z4wG#Zyc24n=0AN<0R{~nIFHtA>m#ZnfjFu<DPUU0{8O*s=Y!JJtW2kq?ovP4&Q2pP zth3+?3Lvm6z{p~8pHO*9U#J@1X)Ns}RUBZ0IZFYZ_QwWD8Bn0_4R8`b;CnRxmV9rZ z+C?fK2I2XAn_uOlYV~~c9SN#{mFZ4q=dA#zRgU(j6Z&@0tjVr);^$)^cC5nEX%Ran z#HLz;G2);8li8pL0QAB>p*U&CSHY*s86RJT4?OD0bAWrl;rtLY=gTkipX$#!hB}oa zkFo7X5xY(@skkpw191oh7h{*zP@SmL)_<D;q(MOXXi^a4(LOe@B;cI!TbVZ3vG*@5 z$yh(5lA<U(P+pBr<rl>V%&uKJw1CeKrSSIel|qUkYgL?2)H-w-vxX;zQeyrf^<T!U z;bVMiigAlap*{b8y@Hai;tkV6VS-_<q7;P+R+1^CFvChR?!|;9HI?@eK!tc_I3ZJ` zMJ0-zEAihD1xWp<@1#PnC=?ZiW#X7YCdw0$o8{ot5sFnbRkLt57E7t7xvFT!s!;=o zX<A7pz6{bz9wcd@;6V||NbnU{yOg;yyVdJp_$fk7Y&mSH1sdDcf4Sv%m+U8^MO_+Q zCV}Qbh@7dmEX$a2HRtNW39}DgBSSCN3#nj8FXi~!-E;gMiu&r>lx?g?tc17J<>PR3 zk&s{*<m519I!R4{{(t)LyU-B)wFS)_D!V#fHAJXa8FBH+H7_7>$VqLqpaG1U(kBu@ zhJY^fni$tII8;6rYWspYQ4A4I)9R5?9nX$8d`#Z8_ZHouF#^vzb7KkD(GVn8ZGm~p z|H6#RTdIhgYLY=3>=k+UNP?0K0LbhK%#+lc`aoY(c#p)503~&@X388kyyS;evhF~& z21{z6VdpSZ(gHit2_jwmxUO>8x-t8Kv0(`k<}$zwi4lf$N@<<T-;;wA*!a!9c#^sW z-Mz&(Abl&yH&<EGO}3Ogbe2tyvR3NufzGX=kBB{3v~+4{O0EJ{-;h!U0k)d8=}lhj z1}{bk0-DP)0^ArNi@iwld%hbQvEg+$4X93T8sKqn;$ZJ^{MvS<7&6j=4y}jf8k3>~ z#N0vf0{N#mOOH437I<$4bVc~mfHDd5Kbqrd+aoi~tS_irPhLE~TUhF!SGVQ@F52pK zixEFvw=`8lx7ZN(a9vT%_sjOAaoX<Vbc>JE&DA(5tb`#MCo__o!H=wwg%{)zTFX)k z%szAq6u6NB?7N?T1NQZl#UZ8|qCxneYDHy6%IrTRWf06|Wx7fsjx2S#%)u54Nig@M zx|;3am9;#Igf-jBD{DnB3(3tsTovU9TcL6)2jLcmQusv9v^ei!uE*DatXF$p#S_kp zl>4rcWK7Nnu0Tcm(A>7sWSGnz&imlgL=&!I-;kZN0iiPmYUO3t)z!5`DQ%{(EZTNy zfMc@d(6{~;62`F_tY8_TuzY!&WmErMgEG~By<$v86SPETwX{a+W4d{xPB|nIB9Ws* zBfg`4SnVkz3}9R*Ax&vP9xv<Lx(HoG`)Z<aV+M`yvkg{xOO<!W6!*Jb5}uf#U+Dab z+xhjYaPBcQd+qXFcW&eBb~!=7c->!6-(IwDry2C2YP&`MQMM6XTpdOos*Xw>N(cKI zX_uEt7HyZ`y_vl}z+K0qSq@#pgWs+IAfUBE3gY8DuFe51ND!=4q$t!>K<9+HW{L3> z*(%_NO1UaTAL3322-l6tzrebu&W&mH=}su-{U|6LQH7yeP)ht@beJmQipzHS?6Vn} zIncIl@i#({aw&DqSgwxIeRXJ@RyycOL5QIP_=+*nMQqjr?E^By;5PP&vIXeU+%{$Z z)d`dYa~Ej1IKiDl*nN3Y3w^$`is()$^hxSDPeP0to(&PKzFNMhuRMC}i4bhjfhpK} zp=&@*qP1C()oH32q5e7bP)3zotxO%U&>{SsP_Hy!qXPwk(R8#7QKI@@gK&|R;~<>A zqpt#2!yM4O2Hj;+w2=z0qe1mZh~Xc{pl)R#$WY^45uit_e7*Eu4L*k46bq6?5o%Ib z4pv>^7pipFQ+X%(hkN;I=T4gH%fp(|d^urw#d73DBZ+JRqtwO8c(*0w^5?a;Q-XZd z7vzu5%WqqLYhM0{<u~W$4_p4wynJ*L)L);MpILr7H(!No1DSNf6`}2~k8l(K26Zyt zIiv-hJ8r`9bt4vRbH-z)*``9DwN<t0wEW1OOd5z5Zb8PgNyzwS$oOW=_=ap?R?Se6 zTy1tA5^^DD0fDP-TLnpfgy_FgK`SCICL{6Mr6s2kis5Cbk{<dCToN9C*HiY>*jqy? z!=<4-WHMy0ozD0cXB(+yCe^I}gHt8fAmPEyN$@~lbB#yGmG6XpCvxT>VE}C~Q&A?3 zv7w?Ug5}+c0a#kTPL@*?K-VlY3n~l?mXm=W#3jvN^^HFn92IXE@>O?tBzBkAkeG98 zYT*lt*ew=me-X&odW<qC7UBMdfg-P)Uj*0&irg_!gqHtrGBgJ>LRN|A;HyRZBw!mt z4-X9yWz>TRkmO1(myo-$lx-Dqt(R&LO|r;B3aJF6P=|`ji*A#0qx@e%Hw_PMFKV|3 zy8^keMqF^q1g#dRM!mdU-==(fd#5IF%3FO{h%35X-`Vu@QkhCo<>KuK?I&xu-QG<} z96?e?&aqLmiW#cu#FxlK>0IfolvR9sx_<RC^#+b3aSF1cw-RXW4jdx2HnewZD3DkA z6$`A}DA~tVX?A(#S3~|$((s~(h`pjukf$!;arkpjLDOqUDc;$&G|`YMNc#gNCrRCG zDHn*9H$@(<QKVLo;))$o1*xleu0cHUc(`;>l(x*^CZD!F4sSz804fLrR1tV!5LBn0 z8!CrDP&ovGY7PYRP!U@RjjG2&g#%~7zmXdpf@93-=fKO26<!>c(FzvD6C8v^PN@%` z!1-%0cTIpI^8qt5W=QM#&)z_;h>=+re!iof4dKR=-2wBHYiNV5a6|jxaN8QNiw(kO z<Zq^69=rx*mEzn+(a86$3cQ7jgSKE0ze{@~$!va+5TptLhYcm!_{cy0XB@13@b`bm zeB|Yd=0!2eDY4ZV7Y$F60iIxR15K&WnKXpH?YSD7q6HdS;SCipupyMh&(#prriPdR z>X9avBkw>!UgRO5D)jCRLZkD#9!{CCbDBbgXuOQ8<N9z&1M6w0y|K8r$R66cj#xmk zx%berBQI26SrBZDZ0N+a83-y>1r)ztbzD_g6o2c*rmDU_r9<3xh0U33E5!8M8&lo= z)tCz=EVJ=qE@6`p={^7GOLY4RH-_o){Yc&M#iv7^W;|1!W|c077pf8`O7`QxxE1F5 z92GQAR{=7<DiC2iXs3Z-<a8CVBTxm%S)qbIS-1<Wg(?tMbjgo5eVQ-Zr~8tN0~Z9^ zkVf>zx!-9?u=~BF90@4|kdV?cub#v?c|!;JUm0luO{`2&U~2s)#ZGgpr#7u4#+K!w zxV+X=T#0!Ts~G$b@CcmQr@=%gP97@EzC0-(8!|`qXG)zYhTosZ`a_-tGL7m!IE$Q^ z?x10K)a5+jQMwUr;!+GxY#%Porg)$`T*0H|5quGfh~O)~w@Dt%OZLhVwzPpAyEK!> zy@dv*TNl@AFR#6h&OB>v+o?xgLm~7D<Z$~RCzJgez*Tm0rh3TDnJQC+44$4rtVZsl z6<#busuXRaqs5Eat2qrb*2eiQ@-nr1es&YvTwbQBl)#uY%ml<QQ(2<!b&C)7c{`=W zuN1KXETJ%v$V5rbY<cNu9#Y0!^N{lB7Pat~ZI+vdl)JEb=m`|!=tN~6Iu?@90a265 zHS^Gkki<Ons27lV=wXtq@cen$8Z`5eLwpr$NPu|8bk3+-ymL?5&z&ffQNgkTd6yho zPA^u_K4Rq{pg<&mQa*z<NMAX;!A=xm4z{8Qx3uB*sl%@I-F`a!(tBG~)(4T~0-eCE ztufdO6e0b+cyz&DV1Ss@i+yIV(t4|290^~AUK|d3b;rC;?3tR~v0u)FPeU)TIraAf zLs+jDt|cEB3LlKeB^`$KJS5lRyQnoAqcOU57FnY`-`g<cCl>l*I@r===E8+~@QWuG z`r^Lu1xKLyf{_P#h}-2e7O$N>Z?d|!Gm}U?m7bElkdU5Ml)=v*lKF=@LHVQn{PRT1 zD?d(2uLBYm=+mjt-YLFns;%(JPBts2`DAAZzPgkBrhP&SyNyAxmKbf4ag1Sq;s^P8 zjEXViLG2aiOUoxLlM4DWWy6`(Ou-g(O3pJOy_4%Dj>Cw{{q|A4?;D82jIMjdr%4h4 z`hZGuW}7y#YgA1dx2t)n<?GTzDs|XOE$=Voh9*>kZn&j9Y)RH5XrCG(`raEP{M`w! zAShlzNxfI7jCbOqr$NIJ6&hyix|U9nb=(?-g8E?t^rz*_9=b7&?Fr(=W@UvTo;ii@ zqrj6Y@U#_xR^}AgO9AeY;B=f7*gH@_ao>R$I+^p;0lqq_uNXXai2^<2k%dG5^;UY3 zv*qcb5U7zo4At;aWh<iRnqe9HZ;MgZML|S#2AvK86Mifo0=9?&ARHRz5I4?F_1mGJ ztbCL#U4^iRv$rjtCjkR4hNS0dUXSXmLyk~oN6u;4uHcawgM!@&t#as$>s_woko|`A z4ou@bwqq9OaVsWq9=CM3EomyfxpR&lH+9a{<HpW;dfd>N)MIPsd_Au3yhx8Non?9~ z?^ykloeR*?N#$$Zg~X(bCfwf5z-0<^R&g^*pq{<Z<`tG<4w{)-Q10s&@%66cmQJCA zfVEBsRYon{kZIChRM3;UBa2cV)8K+)xt$h=EJcybXc7oeN-Qg0RJ~*6@ONwlm6$Bf ztKK<N=et>dcTTaidUrB@_p~P#7mM;gzgXbb!`e`eX%IWwxTDHz7X<@~;jzoEJ0)Nn z+bkQTqMm;f!;yU6PFYaIlVE_~tYO7y^sa#bO!PrXSIyI`Xd5zjh-79nGzdJO$-orP z>3XMt1DoPvWp=YB7AiapzQM?v=`x~I?BNR*-QC(BUw{{ZJZUu^J``lKVQ2DWx)}(5 zlNH3|WL?RMr8w~G$t@c2o2)n&w=_M^!yimf42<xktT^9R^sIQ%TFsWMU=MyIwc)+6 zOtk@|pU5gs-=~73lPKI@<iAH}B#>CK{Oh`~gig@Eyo<o5#L_NQHo7RGDjjy{Qi56F zAAmHo=VnD04+yEC>}5W^MPGs;J!+1yT@Ay!zU{eO=`t8=uzaSUmr~El^qIQc<{56P zSd>AFO4Yl|MFO?LsJ^KH<7K;3gIJeqJ*;4Zr$x7}UK>8dRHvm}ZDhFWZ{;J_q<r?O zGV3hYKAF{wiJ=F^*;=7Z`zNllTudH%%4o<`QBd{^RaITA+M14y)}=k%QNV04gz8op zt~7$&2t;804Im^|DXMP7P1?nOMD6mhcCm!zAHT|S)h^j;*JHsKW=kzDl188|3S-H! zl3p23$8|0*4OiS+_{h%?2eq6Yl018sah_$IXUI6eah7qy8!9&U&(1i%dfmS>#`(xu z#(7ra{0}H`K6{pN{);lsXU{Uuf5Q^z&**@YozvIdWp#OaO7z7wk^9%B`!zS9skEpL zk|61tQq{Jsl#x@QLN(N-&?YT!AU*6h#!U60w_u-tmF<1lC`@%N(jAV7IjVizGEyU( zdQVPiUr#YzXUL<FcZYpC&gnLUqn2G9)h=hSXtS+gQ%5b@8+Cb8jBmX2o{iIYy<z9B z-TP;z@4UM^zD52)^#cFdf(I&YcI+y4M=^eP7f)WrZHgxL1z!|xtk`neVk@j>I7nEc zIsd;ND6`kTrkuKETe($X0PL`)ylQQ0L5H=!H-~ZSrEf3rY0A)fYbWX@*|OV@t$@U7 zsI&kL+O+Z(ENF{D3ePMy#Nne6{TPci#LY2wrcmYhI!;&v1Rr0egVr`K{FNfuFpM_t zo!o>9RKq$9!UhckzT=+WVK1txLK`(TP!p>0&woG0QDNOw%xYx^DcgMAXwIL$mFr3a zsxb*lk4ObO*iFfeAb?^4BiJB`i1PPgH4t&BgKb*q(iNdoZTLvF+-p0<13T5WGlt8X zPn>ZdzW{wE4jE>efU&dm3EKae=@T2sw~Ib|Rh@=DvBJ)$PqyJ2aJJ*pK^h5!-*sta z*?j*&I|iXX0V~X4g>t{dqK`9>t0hD^7MO%79{sZK=p}b0%q6{o-|s`ev{AMJ`Ty_X zhwKeRn|SnMZ6l5(eFu8^J(CQEA89ztGYX#{egv`)!AFKlxinbtk(#29NJm0-cU1F1 z0QE%?N#zqBL3yv;Q6f<Eje!s>+$dlaO2GV)2CCy*RHuY6pcYvKcS?(fMR8hBkaP!z zKL-I^gvx3LLobF%D!1?FhQWa9!O&M9AEQg`0fBnmfVeLJu`9$7;Y@FGn^~C*f?f=f zR31waf_H(1)wLOmAwpk;4pUc&h7>&GaH##^Q2QaCVJ!Do2=qRK!lB+-wyeaaB^D^f zwe<eg0%7{CL)5*Wy3~q1LWS~ukb$0iEI^6HW5xVQfD(Hr7bFre_rwB}*vI>+Mv5>3 zSxoX^Ec)VHLFX|%h7IXH`L>ES<yB`u>9C!!Lq@t`fOtG+35qHHhcvL?j9Rfzd<-4X zqdtvYdWSkxRTBqnv&9&x>NynZafDD0Lpi6OU3BS?X$)=3$a3N#OXxf(PFXxiX`n(M zh^S$JK@vJ>n#njU#LIX<6}|`yP5vhLA<>&EWQj#t)i;{HK5l(oGeWo#Dr2;SaMPh4 zN;)=J00N6xnLezLB{pUX&Ebi=211rd9H7bGnCLgMlm)Ug@Yb_L_qThaN1&nEEp~T~ zh8aq6TR!fz8f~L}MW(_37*jvQVx4B}O(yY0PM|9_lW34tApf=R4FOCHtZx;-B+~&? zL-OU}i5%eJOPD$zC1gu)I`#OQ28rPcVU<wV#_%Qca0Ez-LqqvUG_oG_X1Sp`@-#&+ z>2V?aZJj<>6)<?Xv<<(p^G~;81gibj(NQ)&OsMxW-3I?jL3=8p=CtJSD2oR}X~*A? zXm~Z9jyGVh^#)YQD)Nj*+D;GH!9z^{ab=Mi4+XQ`J0l+mggAu@s@a`5b_iO%WO+E1 zAoNh!4!ohF9(kY`*;wp)Ab;yMl%{|{k?tE`2v2<W)ta=a-W7Zcvz_u^*A{8D&}{O; z{KcPQx2(QF8k0=wlwgL_XCPuEF%WMZ#~5!`H?Dxhnnst^v<z)J8i0k*=8*BRJkEH} zWx_!F%$urmZw4lb4<E)JZ{b?l8Vzld&YlCt@}J26yXnub6;tCCx+qD~DrW*En-HBf z5oaR<UMaRF9}8qbTf`Hc)M!>eRxqo=#4&CAwZ`Z`je5dgM~9Aw^}*^p6haYc@Pz{- zQU)!;-~;JH9UC_I^T*a%hjf9onFVD0ow|j~O}LVnVNw+-u0Ns$QKeVGA!;+2k)co; zHi)`|h#}S0Jx9KdIr-fh!b0q;tgXzBeSMSo7DYH*t#rXxK!^2Er^iV#r*(jw!=e1e zXXZDT#9=+2lsX$hw#JXaG;-)0SDX<Dh~*5Pp|bkYCqVT{kgl!YlROQ7N&cpAL?1li z6zkPGn_LK``}N_Ik$RPYdSMbqj(o7fOjBuKw6<ZS5PgnA7`Ixuy;&FOg)sVL(q%rW zcFn7ssZX?IwN`aH!B=e5Is!Qwve;Jbu!s$O*83n3NPy1Jl^@rNY;<9faP^K}{KogH z4}G{+5#bqrr2`hBLtdtz(t!OqQ;tOxV`wUyHGkK;JBmh#X~*9+y$t*+$e4;5xFQ=% z(1;g3u3=DlN6ayL<4&02ZW^)!2prY5b&!gDs6eIg=g0(@E&<MNcG3*)2dy6a;;X`- zgs4wlX`Qo!p>Js=O&tZ8!5g-24p-t<>4v%gq(ykVWnlt9rMRBXO4#8XJWW~}YNp&l zkC@$%F9tcBV4@|0umy)$ndNbz;fTu+@EkKQ0C{Xsv?Dcx9mm%p9sft!P;*j###~Lb z(@e_GT3U6>M9%&dk&KOYBY!2L9?&HvZZU$;YUZd(7oSC98QCiwc=XCdvie4tPeCnH zv6i|fYns23qO9CgEO+Ld#eMPD5$>2Q1<;gg17zazwB0BlZfwp6;^LEH1?*BOX?fxo zlNwD^vy5=g^4|YM8YJr+C0q#a6*lF9Krg@gQfpT#lRluRtZUknHQn|+*l?e_x*xXI zX#i8;WCfiX(G@LqaW+Av9x?rNLTB!)Ik**ODLxr-LV7u|I5;6?DOIK=d#c>?XOGs( z7h4C)8KrkW`DiVlU1!@F$mnn@c#BaX0*3{V$b9U}Y0hadt|$VGq~y@VXesP1IAdw@ z8-y5d?B;~MVkm~MS%#DKof>riB-6=&Y1W%%S_57SHYRT)*gJ|W#B6>M)a#0CmK8() z2N^m~4E;2&S$2(BD<s~C3>4R8jX+W!CUglt&obmk66I;6mH&~AN+1)Q%#A*@A)>0; zis*R(_n@l%R@JO**z>CT8FN(`g}kVx$<c^mLNEw%=G6|Zl{3fr^)|V><L+EO7Jrq8 zz6y@dFZc1tpS-q4*pM&B&mtify+MJ#ZBS0CkOrmPUlq3{O#B3TW`)pvVaAn6glsA# zYSOKx-gUM{oad=2UkapGLO+>i8e5XvB|s(-N8KTdm+Iq7TqkDKb{kXE8glB#&k<7I z=+<6wI7h8XktY#Ck5mIx(+txhjO1V()c5`{EMPQdTqiWLCUp&zQ<g)@<&nRAl-Z^^ zCc?CN$H114l5K}7)CD^yAeLN*5lVTmvyUwft$=grAFxOI3+Lv$oJ#{J;9<r>+MHWN z#NrAmIW}^}@25~NmgjNOu}q55?d2~_PuJx^19o)&u8YEBsYuub6}uBa@%Z6ss#3Sn zC@#OEf^+1Z>1H=Y(S0Ho3mJSa-(?4G@Gk_S%dB)lQm5DxTC`gPPJIQT<cSd?r9q_R zhC}tE9IB^(qwe7&Z0f+HU=)OQUx1>xgHhu68%W?ef1)K1rYZG~@+4Oxlq~StUs0m( zOIovUYyMKl?$y)&Y6Uzy{>kmY#WUY7fNtZ|-R-xB=J?4$DFkzn!;MM;Lvo3Q=@%lI zbR+#(Y^tE$lrt<gJ=p))dnovfdjA$%r$R6A^=k89i~qQ4rZbXlFoF?Iy2As3w&?h< z#g?rzkpbtD?pXda7jZ<cNvw|#Wm2X$7#xamM3nAo{VDgK<TkK|!e0$*;Ci_F6GHQA z2;gEuf7>?xoJy>|e7C;L{7cj%^S@*U>dO`gq0MIR%Y*uI)V~yptMQ3#B7W=35cHTh zjS<?1_2oJKr42_M+4v>OCVe>~&5Vt)ousrez8w%qOmgmPl%>iBn4#*m{uTz29>bRq z(R|#ik?dXbz@1lE2)HIelVlYS;(<)jKcjF>3u<rc0s~d{;>&7Xr7o_md^z(JkcahJ z!2yP}SLPNjb;D>(i)KY%Z1xA}D_5bVHcR0s1JjfW0=e~o<g&0c01{*^03?_TKq|7S z18Hn*=;EY!c`c#&jQO;>*7Z}XtT{wY5x*W*7x-2@k6F%5RIm|f-j4mLj5_FC@Go2S z6vxlxb%_p473PvZ$Y-AGmzZMBmsDN(dJc=kImA{zw`TkAq2cC8t35h4K9Mh4ykzM) zGz~|pcakF2Y1<}i0<2DZcV=>0UPN5BU;YIA>tae&=+%-idJbQ{gf9_6gm!(2Q(Jxp zU+Uhy?@3<Bmt2;YybRyF=ijDo)RT+f^Z!ye<*f<*<gWDR(N8YwPF@=N`TV}*M&;y^ z(9h@hCAThD{d|63a-co=F51+tAoG4Ue(TaR8c+y3c`?Y<79)H*bY@?|P$1Vper76l z@@6%j)?rdTIY^r5IZeO-?Xh*@mAAKFR%_X>(btwI^vh_s9C~f_dIYCOkK!hphRM0W z(qDt(|0Vin#%f?4@uLTQjUZX_Yw>H#lM6Od!4QEWzJg0PHieRW*BS}z>WS^ndD@;! z`Ir*Om+xbEsZ2=;6lJSv#EOf%lUzD_22;y8%G?@RN`S@cdCpl4(>&v{rcHx=0pD}h z%Yu@YBWG3?W|@|)Gb;-NPD}0;Is+I~vXG?t=2o&u8*pyWuDhUV22~ifb|A>BIS;(; zYx&oIAoU#>lqhMtzTK~>dNPwYeL{6;uGwDm6JfMGz>}~IW?s)aVV8y%fMF;9hadBO z#+cQv^k_G;CVGw7zK)o6qKYRQ-3fLr{C72;&rdcy_hglO4Y?<QSY?lA^2X;NYcXMt z_!7uh(9X<<K1qKHQt)itip%MbC}WbHo$Ze0_)dz>?&3xMds|o!*!0N*m!--jf2rSG z$Y~TKtSy^C2D|(G=+)k`?LE*qNPo^oqZpS|Z#_7knK*kqqk{mspRK3vS16FXFyy@p zx+M3RhC;E-{bwVhV%s{pykHUkEk@37aG+q3L=<8*Bky;{!S<r~ZP5_Jm`WeaP>3y2 zgkF9e#P7UZdds%_FMq7FNb=SqK@gxJx;ByzyDEXg8H4fs?NjmH5a;rt#3l4<uW<8L zZ38KkAH9z18<aHgV`KEu|MfS@)b^`hXzxfS&j1uB<JzgPH-07ZC;2l0Zys9&|B7Ns zeq@WtL%f(r&FBflL4k5v$M^Y_T;8qyIIxYN^PQNgfy82hdb>-DarkDt;Hl_a6O4cc zs4>Mm>>H*ZG96B<Se!oqjYy|p?Mxyqa7QIN7j1_C1B5j4y{3Z+?+joKqg{&AD+f*n zi)tSPiLFdI1Ek$!q%zygi9SN;APBEd_pc4+C@a`v0lk>GEo|7viX4Jtod~Tph?RJ+ z9VeNjKfr6;4T}^)89&5RHDrf=I}RDP>~f~>*F?Fy`Xvxi2bzHa$x=<Q*A5C(4rkf~ zuzj!FB3@93!2a_`g;e*_gPYrp^P{2-vykvE14BEEnG5Bn)}kLeZK_V>fBX{?#cCE( zec1XJXES^t1XmHZg;w1l-TqiBUFu#;icpfp{dXW~1o@uwF@x<feh)4-#R2rAsNLm` z+X~JK9b9a7Lu3f~`%50M#SY5{89CY`so1Fu^&lS>-PWRJjX4P|7d9<*A_~UIF2n-~ zO%j@iw)T%Hpb#qj8i$5>>>uOQP|8laGXZ0uqpNF=EY@7+^bzTO9t&u3(d;bY{ZbeQ zEv)F)3uFni<4$oD$*g~yc<AU^oV}sL5WS=i*ygtGxkXcHIPqn*<z9T!KbGl`&5lfm znDXTnDap846at=1${)#i%~4b^iY>M4zeP1s#sOZ}n%GAx`1YAEN>@@)S;nbZ=}&~| za?h87*2I1?C*=Ue-ePI~88hpx=qwFD3yTcJcv_P}&->Y>bC;9md@{S>V&rP9Ev!g- zSceFbuXmU5pyV1JwtKS<0f5fx2sYM$qF6izqb|<t^@?+}+}c^rR5~;6hOG5>>jpmc zZgCQYw7PX8Pr1tMtopU27`YCHX2@Q`7SNpwWSC&rNNG$@?=jxDsk=m*^OpKsEYbLA zT(1?UU#MkQL+K2RtD$1cl^&`%SCNsZ;wot9+|Cjy0Ey2f7UVDzXT*bR*hmohgM)ie zg3uwX>^40YBUT>9kW6QVJYn0uwh<&5I!%f$DddP%w!cz_O@9St;#9d;v>|1p7i8j8 zZ3|rkjSH{dxN1}57_HU#_13txLvMM<A!UU_iOAnXmTH^V`cZ&zRptT6&@`aso|xhz zDc{)@55rsu2gR%{&f!p>C{E0oNmkc}-R2&np_v-Uq&!;Jgx9!9j@JBkJty4aRJ}VK z%nYXUH0=bJak}B5W1cqRHBxiu*V?G7MLv>>1{xUQ%HP|?IEXa184y?tY;G8}Fhb@k z3DDG#zx9XpyRO6En|;*T4Vt40tU-s6>iGv>P6%NpEUkUM!OIMNun*4R3O$D^Vn<Y@ zO|{5zKDm9ifBOa9_sro{5Cm?fGfS|L$s00cXCd3p4kFQ%ySx;)Zg~PLe@u8zRdP=( zxi=OFIb39HIiaLEbpS$jweJZtvU0_R&<t+v!Nt^mSkdAk3*s#1*a1Uws1KnDQGd?e z&vy51e**{YsQA1F9<glth<AlI5OU1l;#)Rw(!QvA;6LXzfKgEOf<#ZmE3)Z|=bXL= zgfZ{$f&Zid3?B>JetbBh{*j3Kkdu|3)7OyIF#q=BnZXAA=V==}5*s`k8w@#Iqii|P z-Qc5x4f@a1HuzX<@bTDS$bsjaVS~p88}y$G-Q;~dHsOhIVROtpVF|W9qP*eiChsRQ z$=QsoCnOAG4)Tv|tL79Iax!h+L}73HpLE4rQa%_<9`ZyMbMX4|k`L?RMe66^eLrRR z&(q?KbLnc>f)qFeA%|ILubz9Lo)~P<f1b9%+1TKdp5Q2VOnA<7HAv8NXUO!`Q!qX= zaM;Oy)*nJ3_(jeHQiy0f8POJU_}0<(1uUO3jhtd@hkb*M-~nzJmVn>>hmmx`PrWNr zRM?xla09c?SR;OE)S`0^vEW#6N%3#=m*#Dx2gX6kU~HeXUne4=7C+J~kY&=5onfeG zDMF_$CW%A{<X`^ad7nS_KPxWsOC(uyceHDQOdmjX_!@XA)VHUuR)I^s+<KHf07uoB znZzs;vv?-ANkf1cXFDw->Ta>>R1)dI?QhNUetM%GAijIBvJLc0rfxK`udv{59cd3x zUTrpb%~Zzz=j4w`*5%C%GEyu2L`J21W7IHCFwY6Psk?djDSZPKZsx5H3sBoDcsU{C z3356}A-JIJvC|C!FWO<NGhAVXr(Dt2JxDo{B~ntevse(b^OXG&<iEyKje_6+gu>Sy zlZjrJcm5>h!|1TrlteFG36BIU48k6M#-6DwC}RM4ksDUrh+vwHfj)=tCISi+jdO81 z4SvCSu~>bM)hq@LblR~!&YMsW)T`hts)FMbT-=Akn$Fsf8@_E<0T6(1rWa7;#Od$R z3gEIJih`IRKMVXy)b9I#L|>Qxm>{Q?zbpbqmm$@HcBXqjfwX0+1rKrBQXTA@Lg-U0 zao9aA=p{C|qH#MTbzro!xO_MDpwMFWe0qz5EXY*EFLYMlw0H`uL^+5*HY1Rs^e(Y? z+T8Q2u=gw2=TofcF1n`MT*i+@MUz0Y`5#+shRJTLoPPanB1vfp772TOO|oO|Z*r+` zNpr^EHC|Pd)}HAYWaFeRLU3Nw&6n|`Rph<)YOy^-lM2?+*|7g(U!;&rY>L<LV6U}` z2jcD&4+gWt1F|l75ST!bmk2qay)YUqHiruLE`1j92&9Y9qzR^Mf)h!*#k-~x+U@#P zFA;!N)KJ3P?1yuZ_yk|o%ip!XjBk1J2m|*?^kwCJzZ0A<lzmh`c7L3AX6T>)ZaTiB z>sh&9zcl>6)e5u}*<J6+p856L#z$+dbO;mqaHF1K!7;8^ei3CHJ}kJCzyx(Q1e+rZ zS`IHP|DKo3IKBAmm`uyRjmeC7?V&*3DzdVT@~g^a>RFv0#Jx$K#(=1dI4lZjn~c;D z&#m&$$7<5@EB0;b-)7!yfG4qvQJSu<rRCpH4jXMOrzXwHYW4pWzgQRqw_aE>wP5m= zl++n=>!sSZ+(ub_rfBjZcevDTu~wjIz*%yn_gTw&&H(@irA_1+%4-8^pgh4Z^sW(w zmP`$AmdvbCOV$msmTXv^mK<Vh5Na4Us4TbHD==bR#M9H;Z&^1R>|@dm20=Hatc38i z{L5HVV&Gd%X%B#`{BkT%H~a=zG~NLgVbhYsrS7V=WYb$Lha7+rXoxr3NLjD-3k9>r z?6H{4tgDt=w;{G<qx?cFFl7C+++o~jLk&$YTaLt*M1HnwG*oNMSZsvqe~3w4y%2Jp zn6h%%zpmRLWYUn?*Xm`M1fq3I`aoGSGc;SWZhg08!#ZNgAw#4khYe0F8s1XVT1q8b zT1z6c#Nib2S&~RqF`3!mSZ>{j$&x;+EIDL@gU6#+KWx=Y)7+b2#Op?fldwV<Iy45M znJVcW3eALj7ErF2y5~GJQ$gpHXSvNDbR#|JT814f&<@bG9lFs9ItN9#h1H52W@FNO zY`JygIhOQEV96n?-jc(HaZ3{FI@T~^^kTU_0W8@zq@pM8fx_C`F2@usm?Z(TIeZ%% zXVSi>?ZK6&>*3UqvSBsy>VgcljA)@k&?C)SqFuqN!1^=%Us#_I18+f7qBl4WQxa11 z-|k^29?R-#>Yb9>3x3(g%>&`Y^iGvxNl{Rok}V&9IhOb2`H`E;`|dD;Ecv@rsY+Qh zt)P-aLHwf3Z)CW2;r?AM3Pl3X)%hf^@qOHDg@Yc93Pyoi;}qJ1un{fMV3pIq{4rf@ zf%i%xgJK^npGVcly}DTk$s5PO41GxW5}z_zBM@6XXv`xV3eh4vO<&}Pgr~hJ2~TOG z<<0I)<HwRcIR<u+W}DtDJoJp31p!sF?9cPqEb)Y_*<E^~o8-DAO%j#fotjF*nmnu~ z&D%!TFZVb3-{$ueMMhn{!#7wC7are7BawggRo>d3&>91%k)dQLhwNiBl;$I{H~UE% zjdMi!=fRm_wHgoF)5(EHJh+<m=$N06(#DZtS1bLl+gAJ(F3886Cq&YjgK>{;<+Kyf zKEH8wCNyr5m>9*`&^VhwZycPHi1R|lb^FpRlguzJ-&64vZz*8=uX^1CrL<ubMQesy zv^8MF(JMLE-`e(^<Q|C!UQpL`Y78`NI9PjbZ(L?A%dr&UvzUOkg&hPMY!S;%6v|Pb zS<<-P0|yeBVOZ|l$6`Du=I16KZKx?U%%op0P=sY=<$txNI^3gLPT0qqOQ<qkWHepB zwUHnD0n=H>d8Hk;&Yc*X7KGEZ1fE5I<jil1!#)n-oPjL`JK=yZQ$`PxynsvbVpLVb zsu_5puqnpOXX0ktxS3wdo70r?a$vnjyLN}MQJxo*bH2id4)o4RPL5x+JGCu;|3+Y2 zT`OE6Xsqqa>os`Ob=i>K)=E>iA?f&Meb9!~N5(pI(H+`&-5uTG2av6YH)hu_(}IUU zX=bBFc@xHWwvhkZwo><AG;r!1&(h`)+mE4*ueZ<8^lZHN`eo(+&Qh7B@EWsi4gs-P zygACk(+|_DT|ZnP(yvSpb1p-&JqyQ?gnmL7R)B=g-e47DaO*lIa9Hxb77J~vypl(? ziRPdkd4paY|3KI}HRG@Iw{0fjE!Zw%ZYvoO1Yoio1(&uO{KcE>o)?RTg2AlBc*}-K z3ywj<R!cysKhqN=*a=yFF&|1OdDqY3aypAeg-GR@%E`>hiI*8mS}n8JdF{KxTM%$x zXn_~>^m%qABEh@E>9%`bY~6FzV8Nk#5-O#Ux3f};$4vNqTn0#_S1&^;WYQd?=MnFX z7N9(<nbS9hn*0}khzw?)^<Iqyph1i6?QM|cE1n-*LrKn9@|XE6o30H%N^ElIU@-Jr zCh;c8+}$fCgmH>8y@_n5yR}AF1cr~RAHeb9>wzEwibHeIsAZ6XRE5zUkO#Vp6mg@C zROl|%@VRg%0oMrH<hnuP10!~Q4$n2FyL|7fq*@c%O2?9J;05Q)8v0&Wx>Bo#qv5C# z3JexvzEYyv_<H7Jj*AH0BdkY}RCK2IMs3ayvq|hnI{wq2yFyzTp@CZY>y1>^Q!AOF z^YJ))K=mVm5<$dKB^~XxYJeZLYq@(9bY@`isWu{BfvyLqu6nNG7Q<0kH3-4Q^I#5A z)7i{9V}7C!PS`=ppMAj&N7)N<ID(71+E1z;*}TrW8J%@A8gw(#Ebn<5p-eQj+*wbf z=kzp!p`P_L`lomry>Mnocu<TfW@BQLdZyl&Vt{4?ac0;&%M8!@T+W<jhTj&q%h9vU zQ0}8I-0kwewEdD`odxIejov0XrZNff=EH{u{^Umy(+OKpVgb8^$ANDuL(vQ1Z3z#y zkzcyd93xT6;2(K@7nfeQSfZBH79eB0JR)6o{^uLJ3L~a1Kl`Z~yEV4HbvD6PZ8?<x zR@q5<FQx794eI6F`~w{ScK=QQh|t~w=u^)+KmnFtytJE*nYUNE;RSaD8};crQvX&R z8R5V#2ty0HKu3DLl!|nrUTXiJKX$R?=QY?9cwFL+YyX6<;05~vy8?u^Lt`g1I7kbE zA3MIlOZMP&W%;~5%b2`SKKoDW`dl1=`31|fvl^r)_D$Nr;<B80WG85iooVJjFej9= zZ$*Q<s(kuwALB;kO%NoCDjh(;8e>`uj+ChiIzAd_g`O{%px9bgqmZg5fT`w2(nnG{ z5MB|HsnY44=9+fZ)WU=ROS8Z>*}`L>W5F*OkI&~bL*!&JfHP|&KlVL%RQAusKFpfx zQSGZ#9ExyT$Qs|)_k%U*Ax_Xm7>oFoR>Y&mkPF21Smo4xhFGPl#4B@tGo@)RysqpT z$MGSqu-ZRS4XcF{GNx<4pECCIkrMJouW!oYT91xnt_DD`COwQ9V{$SjQiSvo=nNn- zZSn`uYOnfv9UU+XYEV%Rput2o9oEU9Y2qE3{t}`^M+^Pp+`+v^cocEm)a+J-Fvy>> z6EKG}I{{O=OCZ`T9m#0m++C9n6B;p7RU#Tbj1vY{rNee0rhLq6mMDvlp4|c?^BSkq z^S`y4AHx{K^s#eAYX4F9sTwX(3%K*R)%uv%`k2@1et&q}6P|%udna~=^RHR0M?$SA z>FJByJGTR)mH?~mh}U)mqYL2II3p6NW$sg3##$F>1a&Ojmnkid*U*>ATrQs>vV)vE z)aC+3#43p9-&Z8b-__}>1AQjUc@I%NDgfBOiX!occ?)l=Y>m=;Hd*m+Oi?Y)XlP}o z(-1@?$^V426;)|)mhW3>rGF3YO_h)T3vWIQMyjk4GM*x$QhsksFUtZ+DF0x>B*3!| zv@4d9t*^33DBZ$;O8w=0n9wzx|N16*E25Y-#iZS@A-5UIhM@ol<tc`pC_~vY&wm;p z?EIlk9D#m#6G2EH+(c`5Tjn3!1gUc-fLk-YYc(IxG{1kdZWdNtmY@T!@dIf=r@sP= z@S`|kILxg^{vOZ&8?%i(&vqd1=M5W6n1gIr5~)7~vI;l22zBAKQJ;W|5wmIT>3Go# z<J=E+#-G7iUPx;&<rngq@vP?$q?q3G@0&gnr!?|~QkW}myj)sKE<!rX4F6p)!*`rz zhA)E3jisJthT?ki=s3#^VRCcUhqKI3N0eRO{C6rD?mNp2&oaaLGykk)_<Wh++uF&H zw#kRWmBDOLno{t{(jvWxw2@&Sqx0U<S)pSvF&$lt#ebK=glwHV(HAVx1&_DLhtUh0 zQ{vk6pwtW@O#pEm|JJ56dg5ZmG0g+tnQriZQa;S4(q)u0=GlNr(@L?Ysyr(x^TqVE zo|UO|qCK}t6b%O}H$Eig4mztpnCW+`j8J@bqqGuFa+XHV*%Tc}<x@!pcQT^+Gmj2p zK&M)PEuJc}_k(;PZP&rzQ%UKE=d^j^PieE~Q~BI&((kIxhw*WUZQ@|T=G&ZEtj&kr z>sX~{aPmVtY<-+ndp(EB*xt$cedH63-NAluO2dAB{8io*j#kzbBc{=yWbp1o7n3q@ zYCGcC!<_q&1w7->NCEI!p@jA<j4cj+_=j3|c9{=KTJCa(M#FP&A8o}C%6ny=Hzie9 zxc05OHy#i^zi~CF7`imRFEqY4G`=@B4#MX&{xFU2b-mS061^$CrGRR@DPuQ5DT;fe zrHERb;CpEEdPHeK?RNyX+b{+_Z^|%cefXxxUW1GnBoS3{hAJfPE?hqMGFZW3NAVg; z?^Ay%ZoAF!0<xLA%CSF1!70-?dY5M0$<pH#OYz~eSr<e~C1StS;9i`oZZ&*Tqb`w* zFi!<9O#7Yx0)EcSY0YX{IdK{%Oufwiz<e+rcj^h?%eB!Ha&5GJdls}3d@w_^FcN1V z?tmF;kprf=I`cbB5o*DSY0v@FMl6z&J798SH#5(gS0XxUQcomzbHH?_V8!I`wU7fQ zpKuIM2*9W9oovs^sP*nhNOk`JFHudhW#3a>z@fW{8XQU&QNV!ZEZ@-N-z2wYd9gDe z6*V9PUzHW95hKB0+e>bRKchnvf4-$?Y!p}1bsRU5g|{4ku{gcsI|^LP_JFE1@?w5- zL3zD=JH>a1vA_Yd__AIua3M!MUdYibiOW$AUdTap*Y;nAF;w37r@vDx$K`0ANmtbe z%?GC<G<q5ocR3W;e0BFjrwQK~sFBYJE1o~Vog5rvR1gKj(H0&oQP=uu9KP5(2*dv? z7$zJBbYEu#1I~{9F!XBVbK)}eV7Sp?xWQrAii`r(!*-C+I5opk{;B|2>;RYtY&9f5 zx2kBYuI;ufIcQL0Bkea~i)`j)h1b5^YoF|g{WmN8Ihw#=vqx?X#X5k&DZH~ALV^;} zs>aT6t2faRxU_r=b`l;pN#%)hQlzNcIP^xL6L{W?K!!x1ax1f2Wl16Ajm#*xH7lZ3 zT_b{$mPU(_USm{Xs`OjrAt_Mu6Lt^B5Whu+syfh&FDw<IPg{gHei}dITgJY}vel3D z+I87<SfHpT4ASQAkaa>+02$?0Lufz;wJ54arM<OUxOnQ;9$C<Lzk`Ds!D*(td}R0- zq%!m*0E&bp(tut<<``l1)V214ct;um2Ar-(tk6FHC+be@Twu7>urtuYGBcR-khFd) zYlj2TQn$Bv)T{vgxLAM^cWouX90$01r2a;M78`>M4@OALnK~JI9kC>Z4Xhx=80xGh z6KIw4r=Z5QwM$8ILYhl9IL;}ZwB0|zn43;I4lmJAIG+)KuVGCChF`!*wN_hOtI3NP z+J2Ko&+MCXJuaj!^|%j|=kZAv=v%s>uraO17*<7FVIuO@&=XmY?#<}q6pj{nFGhg3 z577f-Gu~a{MeQ9j_s>tY(xxA4FJ9A4R@5S!oc}Bcic;&Q;`gL*RnmiyCD+MBi0I79 zgO{sJqZZtNh|ruB!ve$kVrJ?2ihBH!uRnD`(R{6);7;{9mtAx2m~-W$qneZ<rxtR` z-+0SY$bAK-*B_?{wt`_I!IqQ%8LJRg9(?;#9`vJG&g>1zP}G7NQX7$iv0a&Q7RLQ_ zM%3u}9qZ+A@a7|&Z(Eu+#_D6kW8r^EQmdueSOuUWRkQdu%Mbp%fj10zW0Rn?02k-b ze>+^w)ZNT4VJ5}6qT}VzR4sqw5}i@Y31x-_d9pjQMFD<^S89C+yE@+5EI;H`r>go~ zz|sN7;qotp4-R0HOTp1|E08oQ_T9%EWB#2)1PDJrP#-%7><*P5m31)U*}i!~<&hWF z&Uv9cXR&`X9Xq!N(o(DXNU!QE$Cd)}Kt%%j*ZP1~1Xd<Itsh)%U}zsUMl>kxz8DrU z-PmQX|Ipyq@#PY0{QbR`SB@<iT{^$<F9<xuP4#4H?D@&Y*b+5kbjv*G(XAh3H%hgU z;-%5>w;HLj#q+xSCAEr-)!!->u-O$?jx8Qt62bV()|F$6Mi+;l_I`|DV4{CUfiQR= z@6Y<tJ2AQ_etW1nmXC7WTctUi1nn%+hM-mOrIji7>&x>Uh6!d#`I$acjK_Ko)QR^$ zN+8wP>`=K|<?vt-@T1~gbK0O^3bZfi`rA-cX<-Xg=^fmqmVb@qe1uq{^AObkp=PB* zJXkEG2u5o4_kltzL7jFn@>J7(uf}AOD~RH1;g4V&YMWnrz}2)gE%=$kOF@O4u#Z$) zn=U5Br|b-K1jnaQKL*nt26e>KDuAMl4+>+WW;|7xSq!a6waxavR@!i$`k1>;nSg8z zAS@iIriMjQ#lp%G!??=UN{ZPriMk@{DVBDV{BFXdE%Z;Df=QdtB+h3(r8;J?rbtMz zEZ%b^8!?T@{D1oLMTo$EUHd*htCwAZO!8R$3Om>HS-3<(Es)wIed{8iBk_oj!?XZw zZW~L4M;&_h%Dw<Tu}0h3Z7Rv%`NQ<|&>KFcjr+X?TP8wY62FQusdI|f<7Ox*J!4xh zw`?;pvZX65h_gD_RDD!2JG{aV^i>E6i>%IPY%FM2DDoi{se79fdPgy+<@~l*5-TG- z0bDJA^N(xax2DT+uOEQ10!pX@vQk_?D~9Pa$=^d`cwK=!L|tl}O4m!7BM&Sc@X}3J zEC8l4QY;8v07PiMNo@pdOj#WZ8UDYpUPRu5Liq$B$$#~`Bj!CYxK{8#Y%5aURaDQo zttlsw1Y%Q?b6HjdVNVKELn1KC9drU(gY+6;(Wu&PSujE`vj!1s0ex}6CvD)bw4tDW z<k&yD)Nr!^X;?HC4UHiy_U4^0p5L2KF8TKMM!cdlQ0Mf9QCz4ute?V`_eL&fKDtRi z5q!TN^8(Am4~%CVcQ?<k^u^iwOS6J6bU}hS9Exn#OQ^&VQhBPcFOQ(Ylg5?Iea+aK zC`E2Yd@*k(>1z>`Uva2;Ywf21Fj%j(H7C#7Vk1TS18|bVM229Y8(4!uA~u>{Tsz+) z!wX&<Ma38KK%ww5JHGC8H5hc1O}a#DZP_c=E+#V0H2Kb-P-JN>g(h$^AT03O)$=~h z_n>q`h>;%Pms{zD&K*w%6>X$foqG&y5b4lTlZFHV-34OB$+W{_3ckRBH^TK%?O|>; zV+xk{5xxf(e65oRS1@K+J&&f}#Zf2P48LmZBe-kGHbk9Kd6dy@PU3aPEI5lK+Hp<o zM67)Wp^A8HC$<oeTNS`lo5RI=+)QK}9ybwbkjIV0?BsDn=UhFuDiY{adOd+ad2H#N zugCHZ1`cueWyL6M;^Go{KV4;GvK6@4Thv%ZO22*Cw6V8vXl*%b<OPNaJf@mb0~6&~ z3T+Tvj^5I_P#%Zr2EMgjo-Ix4Nw}bdLX+lBwXAp%0k!lRf2|lWk5K_F#ref#^$zqX zD=CkA;@sk#>K!{Te>dxiC4}mYbuuXaE=1$Yi;4WtFShnTW;sUi3yA<+k5VfxEZJCJ zsKvgfC`P79ENb~X;rlDo>8w*|xKE{>i}ZXt<qMu@t1l!T%5u2*1?+KIF+{vu{q!Up z&u&o$@>Co1S*TqBpQXxs(OPaF<VjfSoqBSCnSxJp5L@g3^<Bg`k*c3i0b=!>(37}4 z$Mqy=&oMo5CVpH`Vvjzi=Q(TBNA)~+Emx}YJZ~*`SMp?T&**vn+VqhmWpMmoae=Tw zXHif&5l<)P??vZk`LCus=WJ_a{e9B1xCDu1K*UqmE~>V=_DjF}pI?MJl-2DWH|Psm zk|x$G&VTQs!rDMJdrDf#l1O7acxMX*E$3f<5x=xRNCLf(jSC4R4W`VZgfDd$LD65M zSHnjId}5Y4?l1FG*XheTge^EB><ev*Ey`*P&~l~gUG8(r$mjY}NLSZP;eAx-GDN;A z9^e~8Lq2;IFG?NC%zyjG30$;5C&hUTbD>wv*c~DU$!8bw--VJx+BQM-&|as|68rJ1 zELZG_?7B@ET_kjo$@&FLJbA^1QWsbWq*`s*sH~;RP$-1TTF@tzDYpa3@|5Js$sfu< zU@%b8m%v=E%34;^E0bnHLD$BhV`Ajm#-Glx2z};1sZ-LB67{U=|8zU4%Zjxh7MUSb zW*hOuQ!HN?Dt9shFT&n-z*J!0p!M0C^wI~EMv00o$By^&7kAR9)<im_a~zgGCYw|y zO#pA<rB+nQMz%pERp!sq)7qr0&UgPWeP$_?>U%4DNDU$&$Xo~0*&obQrYQuWK8SwF zF4;XU>lEJ}OS`G}Mgl1rCsH^%fykg)EJYUhcRwYCg?)O`!@a>eMd<?zG~I8ZLQ*)R zrqQrgO&{oM8iSZMeK0hAAQ-7AeJB{IVvqX`Rjl=W&AxMfk4=)KmrUSjC*cc5MYbwy z@!`-S!>Lh{^<&2E4Xz4|!z#ez0Ju)jhcpZTW+MuK<qA;})QGBa9JA3gp?8E((L!FH zavh{$ADUneh^VbN29oSluVqzQ;odbw-fYiWb^2y|p;WxtU@9Z#rM2JR>;X5GskuXm zTdM%aLY4HaRk0;o!}$Si(MdyYRuaWBA`Y>{-}-gQRuBxxROeAAf*l5S70YQLWtXce z)X8meZ=vfLqt`z&s>*tR&NCvjuQTA!>{YxnS){9R^}hF)lI?2;NQcmuJ1I<3&c%E0 zxkErE>v5%+R2(wY*#k9U8oAMiFWa#WgNc95BA{8!|ARDQ<BK$MEY<W^ullbNrr{H( zv2zKkVCR|_x<evx#E`KeXFe>2Ea3sW+F1{YmD{$Q%rK?+5Sw|ou0g2>V-*A1qqrDV zL^G8#MmV9I@sKzlLR1m)5-X;}JfoK2+;8Tpe;y9}<$om({PbgR;M9X3{R?y8-~6*4 z^Z$>_fx`g&OLO3W{BPOpSq}Ukjst(0%M>L3{hQ{%M_cLWox`t33f^5^@y>ch$Y(hB z=dM5k#(j$eJMmYcUs|<4cLi&g_WIp$crGpXvlO%akqyQ_RR+epgg;vOkZior5!TH_ zmm#dKp(~8JQvI=Q4eP0CYcE;n8$ql%Q|o;1N3vMw+df)f6LyFs*$%jalO69sHdk;Q z{z$|j8j?v6oU^J)2IoW-chs|+;-;mkbid*tqlkS-f-uhq<*vo^y{VKNB_>%6tY|6t z%7e^v_D7usQt3M+T&O@!lFhl2i%23WC`m|UiPlPDlq&c5XY8VcK1na#QR;DlT$`yN zn_IX$M8vcteisp+KX(OJ5y<e|8RbI>9Z`l4=wsbxxD*1`;8Gt?cyd&AvK8i}5C+{( zy@H<)YG;fFAn7jkQQ^QxbkdtOfvQ;QDsuwp-X~NdsCqR$DMmUtL{c`Z6ab5f?l-iJ zCS^zr#FaA;Jl`7tA=ZLG^G&nzt20SnUJ)Bg<(q0nqOmoq_;gY@u!)|f{pp0h9ZW<` z;c5x)G6u0@6_!qm*fAkCj0KmHpYD@c6W0wCZVcrU8U!pgI0l5!0vXy%Jn@74JZiX_ z)BVRSQ+=t#e6G&8tY!)i5UD=RfJh;gPD$ZW3s^VNk-n(^U_gp2T`+G+#*aNk&8S3k zwO2dai0T7o3{ey{$AwUIUlj~&8I`pv&Jk+m!nubith*~8)RT+j-m8z9GR3&a1uOVk zCJj%h<0{@rDqgJ7tZ4!ii#*A+C~{AV{3a|Z8_XUyLWEhYmHVhM(cjoPDa<sgaxqeE z5G=rnLR`acndr;N++D@$s+n7f`L|W|FwF`SGOB~gr})oGYMd~4D9KFLwKqyaIqn|? zen>_NuIk#Q%;1`W%c~Wkrm!s$D0W)v3xsEOm8;J3bAd5tuQl}Vw5BDIosr%U1_!e? zka!6!z%C_*^N>K0zegq}RC>I8DVBa+F^taAt{7(9N|`IRmB-)D4&~l9_IqrPI8LDb zmJTrJEa;@^h_V0k0gTNoP7Lp)HE-SnrazQv0cFBvH7@ei7b^?`{;a?wWKo1x`kG;P zcF??{Ih4TcD^nEd6(1{W<>9x_FoJIYvcGwm6$nMCn{V<i=+_0uC=t2fSU#~_9ZQG3 zxp!d(rb2F3Z8~Z$PFga*&#hI6VbQoaffY;Z<<KY-YYSTtd$I!w%#+<^z(DUxSS&w~ z3b#EMt(Pa<yezulR#^eY{mFJ*rq?lo;g8t`>~<mT;2<G*hYM^OHfx*bXI~wgE;K&u z3kHXPsxkUu0)|o|`U{!`{mX$q3}H1A%eUnp&<X%GfEc!OBN=$|j1h)Kn)@(N!{e#h zREF@o&X2xY_iAL=L{t_Xzt>D@>R{M3R_0^elmR7-1K<5ImmRy7pNGcX0Fvg2-+8A+ zQHbLoUk${}EZzDG+C)B#=L)y}5-R`MOi?MVrCn-iSeqm>0rpzDhn6(jD4-bYj&`ZK z4#+z*0QBbWu+0+qVt^ab+rX=CV<AFQF|;xrU1zifNNc3{5HUmw;~8eSm0W?hlCB*S zsJf@ip(JnwS04|OlFUku5*eaMtrr$F=O~Iq5^l%#c5Jw8uv`iZ9~vxd<quy<9YTvu z9-mCTk#XD_A%Wv>O~e@dAX^b}+liRbm_x+iuo^y08&ZKAgIR!5M;IK`36x<pq;mjJ zO)go}25DYBSqUMG`f2;Q97h)@@xL89R@B!xE5|xh<uWo-<w7hq4N$_F=AGEM=JPH! zK4Ye>KWU|{I~$T%doHdz|0_Y#+&1Op#_Zt=3Tbq>5>tK)qdc@AHDDI`<9!MOn>=`} z?dVQy%($%$EKO`oe?Zh)P9Mj=^1<K#9phl;P=ROJPJAilVK%L+MEWZI=u5n+)wLZ~ z3qEQ;&3qwtuGrR`s+ePapZ@-L$!~5)Hx~p7hdCucF|`E>HE+V5NIC`3<qjRo;vjUY z(x8&VU|(0g>P1#HpD*&yQD`spIi16;(5h+mSF;a)QmjiDIPcPM;=5q2-GMKFg{tSs zu;(LB%&nPO!nb#HczD%f_zf-3xE#BGU?0GL^c~g`LOLJqO1f=tQGNgo2^!3+ZWzqo zW+8fCa#^HR1;^`0-5u+)o7MPAWLa#0U?GsD#s*)>K}?wM<@#;ZUPv^TkkH`v7oA>_ zL}|Z;)SK6t7d0ttWB5y|M^|}|*7xJ?QF^4&U92HUcq1{yhBv4KxnC4<f}K+%Y!6}+ z(3-sRfp@Ww8tcIztSDH0w1k~`gTBOC<ntx|IWusf&l&Vs&A>GI=u6~ixnoRPN~7j6 zr)Ie9{Azlw&-)BpuMj=5z-OR#Wx5LKlqoMPVdlTtQ;4j($Adhb6xakukZ{(Jq*`%q z7dLHiDh~{VW}D^=Shbm8Cfm1IVZ*kg#;QeSgOaeM%{Ufeplc?PdS*`q)s-V}6~xHz zZ_yK3YLA{!z)d_5i*MwC)VY-hZY3LdARy!O>US+-w-WVpBgwjKiU({EE4HL%jNp>n zM|t4cB5RlAX00?~oXy?YCaAgL*vt|Yh(d7+&hl?=AqK|Zze-uFOboH7l(2Ghk>3E9 z7)l%#V8(|KX>l2NvyKkb#aCylqXUW)QSntcsrV`+BEAZH6<-yzapWTF{PL<GdKj!d zX2CET-xS0tyVoAGKoEz$_VHNfD^Mgn);WO0P~+<b4?xCez1QMCYteDj%_4J}(;mDo zGAFk1r)iG~6x-{uB@M+?e|vjF52I8Pp8<k;`3AKlsmhvkccsX|0IO)c3|ik<+^Y|E zCJ*gghYVatC(kR3>DAY_J*(!{$}*zr&!kpDo>aAN=<mV(^J--!In!FX2dk>}+WuM( zzSv=vOOJQ0J7m0d4!Vur*icFLA_}cYXMqY3^2(vP<JDgQl-R3a|4SVLUpV$9_%4UB z7^c`^_V)6Zr#&{w72k#OyRDGz$HAExwor)k9)$DKon{|dIjYvC+a;~QoAz_z7T+IZ zT|!T0{_D0}D1-H*C3d3>mE{l`SA=qJwX98c&SX0eD0=GvCf?o~AlWQ6UqD22E+P=9 zV4b_HeVbeZGx43hN&*%*`W*W~fTFpzIe%f=)$KG*n5}9fB(*4pB!XZ}8WIEq7e(7! zF+srM(&y=r+^{Z%qf5~Ro|Z4bypihqIl3)_LZ6)j<4Y7;e0fQKAvJ+&@CI+}+I8u6 z$|=(KoU<GT%c^zRZo$G-zE4ji&+B<0a&F<lDTS+eF!xwu7#fyzW5;6E<9?(8o+lZV zfvQRN_u~OyG6svf!cXi-HVvsuVqz+AU!LN=>b-V__UvcJk){kfwW6{!#*=49(qRv% zzdr_~iX3O|Q!0vDx2>T1qYA1&8iVR%{X;v~B+&Xz3kB70WyX`+3aihDZ9XKdKBaFX zu>Nq<fccJB;IGNfl{oEoVU+xgpiNu>rDsEhvnN#`cQ&?Ke7i&WuUx>Z6TD&{3yl+# zN!lVWZ7&pqTUSaI3U_ZIwLBJlo5KS%gXcOE-H!akN)`C%B#KuS=GeBBmezKOeuFl( zMX_k@>uuh~qI!AchX6!(_yM4~0_naqf`4lo6Zai`Hc`DTa6bn-^-kM2dqE<w3ue$t zZXVH!t(vG)-?9eo<&%x#p)*W&?hP@R{7!q)_z?gz3D<KWAJ_8V)!oI7{LPXKm^fU9 zVEPyQ3bZHNmEezt7Y_&zO&U+>gD6NR+_!?xG4=wGVkhAKdgYy<(}R6L$T}o!sM~K| zt4=^|0La+&hAUin$WFvtx#z_;g6s90;u=6EgCQaYL|-pfXGoN|X5dzBGk4%Iv3Mwi zAb_vHU_ltLAsQg3QSR8K@5mjFRHr1>;$QjaL8jAZd?PW-`o`Z-HNYD1Qh(a*=pI*J zgW`R*5wprgLp7n4w&lJhOMu9m&3!e3jE@WkVPv%$ryDW`QZ8ah;jfpcBnpuHUEjfG zO2f$_!(NfyG_wh3I!SLjfms(560joVmOdoSDE`*>NWnjyI%7bXAREvJy6kR^hADL! zs?(=chj3rgoU5A;T*L-dg9xfV83YO2#>FwAm6hpp3?WFdVkd)s*6@4M2u+j3H}TJ- zLXGc!)1Lm1%IV%cm(#uD+rsI-_N_SGyZ;B`bRWo#)4l0mpVPf*K~BeT*~GE?GyiRI zx&Ye1wC}qz<DbUq-eDKo{cCf&N4`Cr&M*ZVVkn)(|6AsC&yJ)Qxt(Y_4}Pb?*Gy|> zkTtTNYrfpDmUr=7lVg5EtAXMhA_1_Z-~@&e92b3E*|uwf<n1g}c!7;?W9iAtJtNyt zPIL3}$TrEx9eG|UO))eKQsCn!Tb`(EZRw1&hUrWZ1-p1?FV{*@@8*)WkQR{nFl+PJ zj!B!xt-5qpj{2O?p2AW896fHrHJ`_gxaRY?0oQyUTXD_jaXr4sJhtGC%wsvO%RDAK z7ZkdaxN_770CUtoAy>UAjc5`4#t9*S3x2vmO1P$9enzT}?>eJizok=1&0gztP^Z_l z9#aw*ZJgR1Ta<GD{0oZZ!I!=s{qyZw7zt@T-~GDwbjqqn|NP0~yy`nQvhxmwqzau= zEUn%J|9qXhvUiJ%MZrJ6E@^|}<&Z|P<8~jG)PfP+UB|&0k=h;gZIrO+-zBd~HZIfS z8vc_boeTNBlT~+=+D(ond$!eKcT=9kklQZzWHEc!I4I%u&hgGgh`EY2%FSpeEcB%X z8yyduQ?7RA4nsLS<3h0;vMDZLt2BaZwMHN~?Pqe*e^M`T(&uKWOiubw=!uj52|aPr zKdvWE`p5LdN&j&@F&R9jCr<j0>WLHgQ9beEJ~CnhdZFnDX>IqoJS9caK}t8G_7`%v z&!i-^V)Cw+Po+A@`R0NO<y{X&nRh)MZFahpfY|+ms>Y&=!$OPp?PdNq*Xhf;qpAim z@oU$F;aQ<#InNyMEPC*7B95UA1`|JgD2-ITyIev%e(CxpFZ?!+^EJqExpo<ug`Tz1 zn^!0EFOHjfkDoqYF4y*mJq)yNyB<`i1@kcf$W@lB=n1?<0u=Qte1bXG*JaPQwqh&n zU3D_Sufl>gu(b}2AyiX+<%n;)L=#WVtDl8Yj`+$|TRhd49P#T#A;n)^&i&-MBR-A` zRb|BlT9}EV0m$+_l>rG4eAIBc6pf!6Nyg=NuPfdOc`qQY?Sgh4*UA6l$4J<mjT<O_ ztLGY|At6#Qn-Yo_CY|S!w?TO>)~ByWs0aWOScl5ANSQsL14iRN^4PMg^r%Ly?hUW5 zaS90gpP^n3N-8i$*~^u(yS-z<qD)ngcWYpsv4ZXd<=6+5I)O0y8Y~r~#n?5=sDl@E zt~F;&$0@>*&obp_{LUN3B!@)Y--5OjAw$HC2{)l)h3ldct`pauoZ&U&nYJrfFzuBU zRwFxZ(;+5i6z_&$wVbFBt~M-c*22)z15{TG-l!~yMq|?Ma+0}LV&Z~+(Lwn?imp(@ zRMu_fzxxw@%U+AK)}Odekd1KLJ!6;LuJJLdExIjXjWJu^m9U>~H<YS!z_E9-?1gOY zg4GfQIT9<|vQEZIB>>P@(*X5w86hYE61(|KhiFsj)YtGpce08Hs`V)z_^4dZgPqnE z9x%~s+0b30Ez*>nJnWD3H-E?eP2Il)$XV(b5?MX*vbp>Lv|$X0QTBSPR5Y{E_CBc& zeypdSU4Qs-20(Wo{5o2EHI-^v(f&@!DN^2WxtEgpr><iUm|8ui8B7&`SM@yhUt>Lo z{#YqKm(uGP+2JGgep8o@sFU<{N*R~iIxo>j_<;=?n)G@@0iIMiQ4>>83L~d=6P(x? zKc6fpTL4i?mpiX@4C@+qYa5c$p|<?*H}N|+^8yX1u>FJxz>~TXgcid&eG&55zAI*n zX^AMmGRw{2YYaTBJ09`_pj0C?vNGMW4qZR0IY8=W<();w8o}Zy^N4Ig^af@o=(p;0 zD=AtK^jo!SH?%|j<sSzS!QSXLY#jz~7_EI3mJf%~f_840J7{<qIq{_Z<M&`33P!M| z;TKngi;1UA%Z)NIH%g2r;%cep<%%LT#Soq6q*mZUc<o5=fzzr86jRn-o<Ji)E&NuQ zAbjIpD3ta?Yoa6Gh(>q=q3KtT+;x82D4~!}!g!+|by%ZDi9aa1-cxZtQF`u&8`0(= z2^NiI@J(`;%9TWzKt==m3;{UaV$-p~tWfm6a{mXPz+%In{NOd>#YTtBGC_7@udiFl zA%Flzy|gU+SR4g*>gSV(o*+4`B+py@akHA$%Cy$vfVtNfqE-Ijk8)TZYDA>$a$Fsh zNvgER){d|r4Z^An7$dT&&|VdM+<Hy^=A~Y}_!ewAket!!&3-0Si@TPx7S~2zV`g4C z_NlR!9$U@p66YR>5Fslu<($Pc<osDNrjODMg{>qlWV7CTLst1Kjxhm@5jo-CNce=h zS8z&>$8xRj{yu->_bF$EoVa)v1qzmy`N>+gkvtATMfOTF%}VySW!csTAf%g}7JR#h z<O(l9$r@6#mqcvLHjrV>-|WqUPqd}p{;i??ThxA0wSTKf1CDYl&BC5Dt?|^-5_i#k zGFo1USi{>%uIn15sg^Zk>rNAUJ|B%}Q6M1xPZsTM-!>?Ukq*HxB<6QUSbu}u507ed zmjmOLu?}aYjvpnY>d&X$zi>BYp?`ty8{I%CBT(i@G3rteMQ`pM0SiM5W4xt1{(ylq zuJf7wWB@bmCxfga12H#|LADSX*g0jbhmq*u+F{P?t5Mbm9-L=3SqwPLIs?O%L|~J; zGN+qUrH)7<9S@ZUMYM0doMWPgm3rTglG^!x=KnfA`*}#>5&hWvYrLCXS8G2qlIG3< z6^}#5DQT8ypeZC4|2ZUZlk$NHJGGcV9mD)5_dz)(;?4##8&1AD*2s8vQl4;n-gZYj z!@jkH;CO9U9kbvg1!x6es=lUZGbvyv&{ZlIG7Jz1C4A4KvR&uy*#)ab%|#B2`hJVr zV2047Kq>DZH9?cKHph(oS~V^kS0>-cb?OaCw5{X${Xe2zoc|gPzYyzac!KZqVw^qm zXlI=6@pHnfTgO{YnX0a}yd(&X{La<SXK|sXT(jyU!nySk&H{B5Ed~8hC=_<@W1Yo9 z8Xk)3uyx&1L$D)u=-3hHonAA`C{KTd-gdEA-Imj`dLKK|9_UEymOA2REt@bs^>bW* zr4F#}4}P^M)NviJ7njqZ6Ao1@24Phti$OuVvq*5W>Eul)$lO%HwN=5Kf{O$C{(tt~ z2Fk9Zy7N6B_x8R0sUul-WaNa?7p-}%SQ^B{*ur)eJ{^C?%pijyHkdr}^}>?;Shi3+ zWG&fhuxylIf+i6`33^0;5-S-yD8!jjK;U+egTMkru-`aff&e8r!GHozP{6_O_usqf z+;h8Iw!!me-n=D*`_`#br)t;UyLRo`wQJWX=u32Zy)Y0K1rPuoZ#_egvlpV?O7uX3 z*2CJV015P(i#eQ5)pt{L=IVVAn5IUg+{uOO;qQOaIh`u3`W{RKMPMSnCK?vlDmH<F z?xu|!%b|_<Chi$S!u~$>NY8B-53R!*;`RzD<i+<nK&V@4mgr{+YUNcaa8S1F9WqK! zrM+JPl_*yBCa&yt6}Mob>@M#uDL(rn%3jtRt7dMw(bqO-87noLWQJF@vB{+}3TY{X zmY@ONZ_?Vcmt!yoWe~+z_C`1wt~EiwJqDS#XJ}Hv*5rf~9%fi=in3EG#}y`kRs67l zF~twGoa84vKPmaa3r6Z1iiw<BuouXw1!tHpKZFWEhm+DM1wA3j0TEN?Q1jqzD7sPk zxd*b4EV7m>@!Yvu+McIBYyj>1SE%;DI?1Q+eKM)e_S|DiAJHobrTMRB<12dIu8!(S zGVZrVv(d28+KEQFZJqT@BWw{#71FH69YA4AW_j@~PWeJp>6_m}6%@etJR-e)7t=8x z-DSIeJ+QUYGxmB02-~3vo07A#LGbN8`n}^z`gos`s&56qUf%(YB95E*=P0fFJ;Qes zwPd?T85AEveVVf5jt<F^Jc5D(VQ)mu03tahZ}uwzbJ+Xhy^D<-n7eWuW=+cJGkY%- z)YC&=5f)yX;#L#B2b~_iNdj2}Jb>p%7>JARbTmn&ur?4owa<^mp{$=MfKy&atzviS zcxWMq>kF^)T4a2{9T?y0qRujP7W!$^6=y^>V@cdSO}JFtfmGAQkx)N6TDOZTQ0ET) zLX>SHN`rzR+6V`Jjb0*(5o&-cY}^@J)KuY|lrk6{O{&ZaM_6M;79pQBm<{BH>>L!6 zl}|+9WqeSQa^@nN-tkB;jJ#T`>!s0+-;zDY;v1)B7s<L;;>2pctA>rqQAb8iPO6k` z&2I?G<ymG72VCAj@h8z;*AWa&c68vLKAPE~?o4VZQfF~b;gXzUyE;9b-i{h4s*EDN zJff!&tbzOn)IO*z3LeofMGp60J*F%LYY_hU>QR3-OLq_CAL|!Ap;r`n+=`r=9q+%| z8pt{m$ofS8l~EkB8pR>&T#6%(e5eMBvxu*G21`(#=5Dt*;=v~;ZW>PwX%I#+T{p5{ z4#<J(P>SRe8m?<Cd0a_&fZSvKL3~(AF#-&7P~CuAHTJ7R#v<Y`jd@8R-Z+zJbW339 z!Z3gBZ1V7sxt?JCBk}obdFAxesN0*1pi|jhxh!r<?a3p}aRIR-1dP9$l~^Bq{7e<o zwP*UhCseR6*C>_Sj6{4C>WpvBD2<W9w7`5ImJO0$Yau~y_ci6dI<}rvyE|G`|MrMS znGXTpqI_xoY7--w7*5h|mbcnN9n=In(L|uBGYNT%6G<jdPfBqIIvAGL%NM#ot+?+Z zUgD&Mo;syJtExSZJ&<sKd*(IvRq>T8{r5v!&#q}2ekfn<qp+>;t4HV=Yf^bd$~2=& z)s57@{=%#AWmH~q;FtaPtJlhPf_-9uk#$JWS(z10iv@J$|DU67CRPb>HTqcH=offV zP>BhM*r+uxpLb=L6>6*rhFmZf#s>zt;@)S6kF8&S7Wlxu3@qpl0Yip*yZ|zSWk&{W z>?IPJ!pWYxVZHx>al-Tx2*6LlG{}#xL+7VEDL`f!{E-ak9WiO}#V3JuF<6JQFXxB( zPymv77C$@zRrQF$IYvrV0C`QjXe=~}onyp1Bx8t?Q)X!AGv^3XmPFqbWOD%>DR@g< z=2kEmwQpGzerCQA3G?vZDuqSRzV>g>fkXEf;PLJCrvmw8s2$`nlzXd5KveSM&CLGD z&!L)m=K;bLE+`c5HjGd>auU7PHc+t8<`-$$GlIhoD61Dl9z$7r3ws{D4lS8+Q{xK5 zH;UxlX7<=#-cq)3v_);fzO1ezbcC0OBRIm>8fDBy55-S{(<AZQ`5#3(gjSBmlCm4C zmA?s?bTMHhmQ!_26F_8Xt0-%9$yPqXqL7OFI?L*O^!vkE?#k+MjE$`oiBQx0CwnXR zGRhaQD__8F^aa%Tm*zjm7qI$|Cg>T29k~H^r~mCMv9)!lpX7gwZk=Aqp%l5D3t|b+ z(aTtdY7e5?`H_E0ies-TJ|J5!bLtKJu(Yvr&?MOkEpB7;*G`4%gW{c+@x+pPGe1YM zA)sa2TN1&DjHbOZBMkV_lqtiV2pcY2ST>Q+wjr(WOJS`LQ2d&zz^|zg#i!V;mePI{ zI<Wht<grwW#3mm20aOiCwoi%hr65lNX)1tIyyL|%TdE@msv8e5)&OA6j9aVp)tcfX zqcCl%Q#!qNaqo-K!e*E!sAP@4@d<#gaBf|WopLDyg^rWxFn2@kFt^$G-d_h?s4>}Y zsoH*LWaS1bz*tueOX+QCJHzazG}tpkY1pjhK*{y%i~q__B)fp>6Hcjb<*rE?i$x<u z+I%88J*Y>;eH02`v?G$7Ba(>8_;71Pi(K0{(q?Em1}z*Zk)l21VL*kd;Cmh0POF&# zlntpzHNJ=dFYB=F$k(2Y;-l!=C^9h+o`Q4MQG&iW;*^-V#?@J@IM*54=GJ%gDeHT! zR3GQz^y0++cl5>m#Qq<<?Q2)<|C<*Vf4x-5p)X=kv4*fLmm&^U{>>#km%1Vp58w<H z%<#BYoYKQ@P^Hh&!(^62;bQC08eg-DXIlpTGTR+hujwh8gc@O%fNd*x6BWMb6aNL@ zRyqX21U3EVuR{Xb%mL8K+Q_4vxUJz;^jeWftmPjHQ#eZ^ejEWNgo-cqC^9(6WlOOl zA{5_i3>ydAU^io<!{`G&dI|<gJd+Qse)EccyqhiB(%K9LvYWKsxXC68CJB(5RUMgs zT2+3%+4*d9uX+J_dOi1FDa?W3u0+7udAE03dD_oeW_Vs&F8w*Pz-gn&tVZs#a9X+a z7t{<^Uv|gKrIV+@B$W=&b!CJO)eOaILp5o$>eI{9f394rqSS@qr*}qqhT39#&Z$nM zx&fft@j29%V{C?sr<Z5^LXT*VI^Mv}>$ssIz}IGBJ&G>l@M(Wm<*=yLAdb(e6iYJo zgoXz}9IZiYQ>Y`nEs7;Whdc2(fQZv8Ml=VJJ^5i-Vb@PCZi3jsNVbU0szDGJO)jZH zTs)`Jj<voZh>MmR1;L`+6WCzJl2(o_he8~?(C+v0vRDp2hRa2oU{5bk`-So0axr$e zMawz2J2F}w``!DP;Hrb~y3g+-|Nlxx&<RYC8T!PzPt6}m6U}W5h^;;+1P!A#$qMNt zv=g(QgcDjdnsv?^_p^XXEGZcAT40#D?uWn}ogBSllA%V09C~3er#F$5q$^PtZosPp z@hA~1#}7@zHgA|8wFDB|d!4f_(2C|dp1M4}2*s~ko~ECcRY5^`QCb!pJcMY~aC<|E zk2eE|SPMw|p-Z&)MU@u!+}5k3UmMOc*Sd}_q;<K@H6)#@Bb}=gbuP53lj&S})=E(d zhNN_Lq;!G6sB}F~N|(u9`nZ?Qnlh^s2D{@lZ0;?n%qdF&P+=zv?$^lz?KCshyxp7t z<a%LK47zjUXaSnaN~-eRahnWwn?4qCs!6t<fR8YX#tHZlaUL&y2Ih@skcK<@5oUQ! z!BhtXKJ$uXCY9$^<TH?JT(BaWds8i>M7=PrIsdatv#y%jXDL(s7H)=l=BePdyIfMO z16WY0wJ}=rxvB2JIlQq6Ti1XDk05@TTIrnftPg`|nz2ruw0AScY?}IeSzNSr*Lw;R zsUcm{-bp#Yd|&`#jccdI0q_5DgKtV_LBDtz=K$X3YU$qkI5`A#(oa$Mc5B5|oO#sY z<x`=Jb5%}f+VRBOILl^u&|g!3M6=t@_Sf|*q1G~Kv3{lgk{J+5wm@^`Bd$EO(}!Re zf3xa)bXb2ebwL0Udo5A?0WPR=d`OWSIFx<uc|4X<cQJ%Bw-#?_ixGs8A!nfCn^KY? zBF||5d_=+q7QZ&Eig)1JYUi9#VpZe3-joY;hUg;$eW3;Q#k3@($`N$~u`t8xga|;S z!Lvm@HXn4_riac@Ge0H(wbpR})scl@6yEl^w&!>=trY~<8W|%qs$>k}pp#J`3}78R zGrbSf+ee18VHb8`H&<h>`A<?fc;SW>7>ml*CX?2-N|gV}>SSrJd-wE{>8;bh|Cig| zb7<F{|8nJR(|>v^_GA|2wn!bTpQX9z3=PY4DGH_uYoBs#{R@($E@fXeo`C&@S^u@| zY$Dz92}9QRhNI#<CdD}w&_xf2jXTTihU?*m5uFOf4-a8j4qqYht8G*5PExX^cLV_L z4Vk}#9AsHOjrFlm;=#beImt}*%K)F_J}@H}&bVh>S5}BBxlCKzOE0lS0lIcMMsx`% zXlUZs*RPyXE#9+M-N&01d!k2*8I#!}RR|^tCVa3=5^AOc)Y0PpODPQtwNPD3?mv<4 zIHH)vuBzg`>Hwesr9vnm!gR|VI+!kkB~mz8VWiRVCRpQ4L_vAX7#(14NL~)s8k6X- znk3VpB`mn0RRs>MSUW;%`%c5fH%m;j4SZ$K4qvQNTQaF?<l3fokks?(z?fg1Bu0vU zpMx(UpWD(MSR*M^Ml6MMny-=Yz7$2&rQVRgl!pONcGQ<waF>_hFn*&1PxDGF17~#u zm@Rs9S_zDxjtRA;0T?*|;RT+>M~JP!3;o&_09S{T=?e#oBJgGsYk=D*5r7{kF%R5$ zUDvSHVFZ9nU<J9ig$-!Y8Xh$YwekI_h^X+%PlWAuR?1B5Sf#7&<W(=K9zV>h$6f+w zX#gM7(@u700lMW+@033Zt7Oer&iNILt+Z;=W-+r4^6OJ09Go?Oydx-U@<zeRV@|=$ z74BKwAIGvTYF0r%lEurmecRP7H--b`%eiGMy%eQ3yGRzqL?4>+$k0z|lh7DkWJS}k zx$GT<>1STOOq5+;w3EVL03iaToA_bVMnQ-9!IO%wH79=JIucBKX4%vqu6%g4ez#*a z;eU!O;6+74p_sx->S|4GHuF|Hs@u)dl1m5E*PA#y`@mJ94Ga+8nD&7z$n#M3J?r*F zmM4g^+tiTzTB}#Y3Z!yXt@aMs*?sXvE(L|Z2OBv$<(*fD>n{u#g$P7bu(a+%rMng_ z5VBeA{PkXhW~>o1K?q$FC#zd(hrhI0=g<y0v>87XYIl1}w0K^&C!{e&aMvv?Q)6T| z7rv~hZug!_5}9*sR;`dvc2<b0^3RcN*+NEfAL?M=$z_Z%CkV$V3PA(5;tUl0Wapwm zT~~y&w>TZ)1oqruUeRk$iXp+V!j_t8*O*ap+%~*>1}aUwEYC9}Rl_(JZgZ}kS*Ljm z%Wt2LI}JXDzAeV!{@K4ss$TWreZ)2T+{<myh)-~{EWU{UfM~;9j;|3QI%vX=nH&RC zTO%hKEE*J0w(W!Ga!tC$U%yhwXA&f2nXTHW-!R=4rkS$XG4%42Z3gO_g&_$BomvT4 zYPLMo@7~Zr_pIfir*3)3TOP8OE2$!CDzbuh$U0A5LCY&>4ORfvnC~D-q)nuZvLRih zVKW;Nd$uiH;^58K;X19AU*fF7z6(#)?7dL!dDSC_pqfd@#%mLXjDGpqFa*Z<5lZ>- zomO#2p|wroinHGs$*4-;Two~Um`d=f=XolOD3hmVa(nkk*4mQGzj-(QG59x&9wk17 zR3XVL`m#IOmS&1mgoh%1)W#|@&!WlFbFJFtPNQU(@+YkP!>Fj=SjOYbkUl>e9!mnG z?_}{`b`T%>9U_*yi~+l?*c~ATt-z=b5q|(iN&21&)aInU%MOhY@|3Sw5Y^E>A3XUd z`@<*u`=4lBUEaf8M*>(|3^a<*u=<&4gN{dx;t~Rqlkh>vWOo34!+dAipP&@J&0$n) zp}|o*`$j(AF?g))67hs9u9(F(3hkV_eYe(19t*XsuqU<+t(Gyt0?g9kXkWHqiMF_n z5zjXS@EP+>@DZl-!6#_xAo#m#VJm=x=r<R2A~PCcBl!EmllD1TC5P`E{JX-FgU{Yd z4gMZDq6t0^c*;-#Q51^rXxC28Di*%Cc*yODa15lB{9b_i=2&V9Xq(T)qenR(MXXk; zJE7IZWA=C;KJMqy_!tt_bi!r!u{ORks0h_#=JA7=0x&BJ4~I}CAm4J}&&Jo)jCBe2 zYi8bInJ`!*Q`^BO*w|%>lkFZlFFSyOuJm0n{)v#@PySXlenP(c8%aR$Kx;~~H$01i zA@?W#g3S6=b;MvBaOh%7+A=|D1B_~?!DdH>Y7`(xcG0ZB*~WN06u{ZhAwY9TGhDX| zGPSDZH-DVJl!24qKon>PO_>ay$YMGILRgoF)sRPgJ{*$edD%frTEyoELz3f)v!MVH zaqkLAhRhyjk>{t!GuwQoBW$Jvm{7LYeV>dY9MnU;XA(y3alP-MHeA5x%uLx-dLlbF z{g!z6pR-s?OYuf8knV>xGFO#1g)?oO=xv#@$;6Fv;F_ki%W5^9Y8St?w0h*r$8>a8 z#!JOHL0MF~#lBlEuXsucA=PRYSiEX03uR1Oe<pKf#nZ0amAuFisA!OEhng#^mfS2r zSMl||I?N+2x}(Syl-VF$P)|#lJR{{F`wFhxZ@o^sj*b%eEx8~Oo3OWK?XjwtPBc{E zQMdU<t^78i47Kg-nJlQ<cko>+`6#nu)?wsKFKAq#Y~jX2z@wR=DIRCu^yaN^yit9t zu-gjYOP5n?yV{Hv3j#nELSBO}7KQ7y!B2Gnf=0l`xUK>YuUXb>s+6L{BovXPbu|5! zBl#h`o>3cd!fj8Evv%N^bA>a~2Kgda&sjfNR4XR)N{ZNoyvy}3cT{(w153zt^>v9X z$aHsYZ?P?_pJOMk>;m3?hL-Ka)p|BLK(tH_?2}+yetl_0dKekh=i%!`7+T|$BzWa4 zYgt^eypp;)%Grd)<uK%}R+Ni3^oH*)v%7E6SpoJmbXXIm6Wy#UR9|natQ8!gkg62= zKCUw3Ab`GNM=2*ZR9SVPT}~{2JvbbHJ;?3hivhEx(0VbXsb=AX>dfj9F@$sreF+_g z(GI90tNz;)$(1&ip7;9RVzp^>SX`~RzIuXqsr2pNfFn|`pVTqqaW#aS`Wvo9g(OA5 zMnv;LjyDgHJ+m)=1CIyr(U{qOV9OO`3MJ#$Z_vh&CR(mNHt5a%%`>j?uxq|4oY>HI zF)X;)RCVxc=hrk8IrgH0Z$uZs6ymNEp=(dXu37!87-@+yO-<TJ2NA_@|8#r>W;s28 zUP{Z<n!9PkUA#C1t>OYwXh!wv()&~=KqGCa(Aiyuv^G^ea!x@AEW*a8;fSOL+Tv?N z1mi<qNpHguotM(tY#B!@wsLfBPF3hj7Z3Q+N#Am&m(9+O)nc;CTt%BDR+N^!W)5K0 z8vmIUqc=3&Cd_Hs_8;GSs5dNn?3CGVM4f}L2e{HMsVrTnrD!@fJV|WxgoSzsl_1M= z>?}MsG(}@jzD3aS0wITa++Nis-JO||yJMXp2MOyXAN}7XU<mXc>vR`u8Vxz<cwTZx zkCN(iIkZka)gR^)G*12yf>WVwiO{okI(gYR@{o1Oj`R{4!*-+?>vYCKh9s0P>bBpP zk;S)#i*wag^cq#84tinxo!<bTPW3;X8u)Zg_|$&qe`@|EjzZSRjzV<GfJ;k66cUhB zK)z1EMqQE)u!;sa&qUqyx@KY(AqQ>Q>-s$`kk(f&Tr~{R*R=xx&n9e?3p1Yhxq0YB zwpf#~g77#{2}T;nm?!4<n~q!)D<C=W@zMCPC+2?)LEqs7eMe2u)dcJ`8vk~kbvBVj zb&coF^yh`Lv-92dxZ58UuTS{gn;Py`=KJh%UwqtekNe}}tUb=g$3ymbC_ZBDr>Z0I z5sN>M5BuZl<UnSS9mpd0$yG)rj(Umep2+h1J(0y6yO$G^Mjkjjf0PgP*SfSaKW_CL zk1c)JTl#RLr4v@-gi4qaG2MO{W@M8Nrd61&S+cd*e!9)Ix$h@n8bET%FvId@3}Iwz z-{{?eK>f~Y2`QMVnw3(8Ximv1Y0fjasFRws#GJJVP>&6#ZG{Ec7o`{d>K`AIIMn$I zyO|X44l|}#k2@dRqEeil#T>h^A|fVbJj_HC2H^$AM_hW2p-?4RSgNX8cyZ@xEa}3_ zOJ)}#UpO@;K*GWCxi^8%bxHf<pK*Ue3!|qgfM|M}A9T}*#Lpk|3<SD>#2Df(CzEB} z?OAunEGEI-S-kB+Y2V|ugY_mv%dA3h7T@|0-X?N=qctYM%RBz^P6`TXW-_gxVs(}w zx2|4CdX&}4^wg-U6YBCcDph#mWdc7)95SQmQRay_Xg%R2S%M1HKxzr=eYj(V%sq`v z#FGmQPv~<d8!J#l?T_%t4F5ArX*g!$yb{D_Tn+R6d_fxNV>Lh=XcUtu7?=QJW3mRE ztRa@;&Oit^?_S6;=P7dHXsvu14<w$DTV=epg-pa7g*_8ngV)K?bgwhyu!gf7>U>Jz z;{_=&R<+kw^(JhD#v_Ah^v9F-4wHaGg4xC)2{||-TF%o!0>pz2`r}C(JQ^E378?vX zpzRqo7_Vwk*D*=0X6c|=J_XkpDahn+@fL;FkN`x)NF_886Xe&vT7G@-Cro}>hRZLL zanDd9e()zG?JzyCLGiKrwh(!fNL%|KutCAHT;qK121QYCP}uQ7nGiQ4xY0vrv?Ae` zjS83Vj9%ZQKxW7^i!#f$M%bi4eX55ZhE3m@kVZ~nKBwiz7R3(C;Y^EmHKQuw!r!6d z_t@-^F!1c+Zk>pt9yv{V!uKp@Q?_J$t0wGOyh%ge_bjYNhZZ}NW+~Ja+a}=eJ&m00 z)(#sQ04B9wkRGm|>a7cH(lFT_4DiZ4F0DRpU4Ri9Lpb?lNCVzjokIiU&{$~38X?E= z6EmAz7hD|~cP_MLe{i9#3$u}P{8W>W5WC>k1&SE3+1^Dk&KW8!dS(yO&FL;Gj-uh# z-Q{)`H;{*mVjH^^7H<heXtx5{FLc*?5f);IjBedG%+HrAu)Atji1%xJHvgfwDLywP zj@dnDn*z^FMz1`hGv;O<g37Sqp570$O)-4(ZHlmaQE%!rAvkF_ZM))!+HH6?+Z0nq ztw=VpsWHW}kj=aTHJhX(L<aa4>8?31U*<a#w`#m`JnbYq6ZLB?Q{$F|(8p7MOJa(R z4l<B0B|p@^%;LYux~@HlFsy(sY)cr34w=Ru)4(Y~%57TDK#<=4Jn(f&ke(8xbM||` za7vK=@cX@|1ZnxKU1t7Q(@1~)lpsB&kuKmk^QBXQ^pqeyrIGsD@tJ6(zjjKHo)V-B z2+}W~5~QaD=_x__%mwLNP6^Uef^-2v`ju0H^pqeCg7j~?7M<FS(!n&1*O2@5;i=b= zshqRmW-(`Dj8iUh5hU_D?s;W*1Mzg(Ewi(88z$MX*6j+X;UuPDrQ^97+hg73SZ@N~ zwjKv)<;_S`O#HuIkR;ot(_7c6Y8{Z$f4I33j5Fs@KHgLK=ILh<uhR{aMM)cY&}lnP z2XP<$;<v(qp$Xg@y;XCF#7E8ANi!Vj*w?eh_|*m;QJ7WlBK<6KAFag%2*rD^pm*|@ z6Yy%HWiS9Xi7UCBq&gAX3#bBG3n^N1tIDEsWOB^f9eSyvFVpgbJlu#jqyDx@3y?+r zt6j!n4qbKW3?~aHRP8((JEK6Z;AtFJKfD^pODa@Hh*MCbkEjJ|GE_0Ak9G~c@Uy>P zB|A3T>L;qK_SR2}1wL_L2?@*5Qu%v|g7SqjN^7T&6H<%GoX`s((P1Yg%OPOM?d&~R zC4LS)6mBgh1{Xc3AB)^2P>!a=lN6Z>b~NpLGW~~lrY0AGHt5YMEb0b9w#^F0hKk)U z7zd12xfqlJ9~T_Z!u1=}79n(nP&GGUes<>8C(y)8b~gZ<=Ej=lipr5rI2111KwJr( z&lDVyUnfMbCci?vKCh~mbNCf^Ofr|yr3s;-93j>&y&%RnC^Y&zO^Es|DAl9DaDn|6 z3pa}|8Q0CXpx%3c&zX?-a7`L<AV*RA9QbJc$`CeQa>2TouG%8cPwsVpDRI$_?-mJ; z7APYE2sdu%hls=K_gJ|YkPJQ?AV%Rqf~hVN{wIv`d><GA*5o}kRolK)Gbg-rB0^z| zf}bd?p&%zPQ4Hj&V2;V?w}b1>cDAxJIUeGX7=6IQPLgG@DJXZMuqTT{kfk7y4h+gu zXo>>5$0aRpC3ZpcpZsH{%p;n_O7P6dTmt`>DG9c$irX$BcBr;P=l;`&KhDvIzfJH% zri;BxK^^Ycx=_4TeIA;nRFbYvmWfo{cFdhca_^Pvs;;}A)5L^!TwB$*Lv4SDQ!C@9 z`i9q2y!+MiDtPlpi7;5)UiMn!6Vzgx;skpf8<(@@<9x!2@9KN<hgC-3zgSIj#CWht z@^16pHXWY84RmS@R!Y68KW#K67g*Z|_saqle@w@ML&^W5k}U^nWUwT=-&1znSaljY z=|oce=FiIq?V9QQW#b)5uTYVBw#QOBieCIt0Z#CaxyHSrNL^<KBp^5G*MfXvsZ>gH zaf^N=?pyK+YtvlVD-4|@LYj66SMkHX;FLvhw3z=&83f*RCjOGU46Jf`Bw)H;<ddV> zr$%*q!8XZL+IyX2kYOO=8S}ttR*_$C<bfjRpxFx)4_#)_8k<C*%4+~lo>3whjz`6( zUt}m+fRXG}b|141z&~^Te83+#?FR!~fh3!ti9h;)L$!go4Zwx^0JtKQXb>4TYpN4} zgzShXl0ta#;Wc)IK*6nBmRewp;3P~#ucZL9>q1r7`zf0TD7Y5aA49#wCnKZS`b&K3 zJI8i8ympN_cyghiV1wmUryrk}--aD(v#hh?5hi@+Ln%L*X{9*YW~FRWvJb^++JOdX zc7jbJh*K-NBR%3YzE($gwc}^_#g~JP=id*}Nq2J~LjF5>RcbKoJHsWAJQPa(Sy9d2 zshC2=yRN2xx(vxm>D4m*IjeebFYhPxUj8sU+9A?tu0Vx%$iw1}KfI4ow@t}^!8wOh zaTK$>9VGRjSh1YG(eYFMY-@XX;OSpOaB!(SO97)EXe-{gPK_>|q$y@iPEyO4MKJ^@ zL^093_;YjbXn7ewZLLnxb;F%szJ~XRfpC=1L>?{{dssDi?qeaBV~5B3xhFy{_d_37 zE^t$+9XI62fZXl4Gosk>5?*mGsQRvs7Lsm++%>}2A$RF0d@yZynt9;tRTPJ+hPFL5 z+Po=+!%?fp6-s%nC66iTp?4ovG9n>h^DyVA`sft6?uw*@h0&em^af&%UR$E!Hjy39 z&&y{m+O;_|a3n7V3T|{~5LxtN0c3$fLzX^Q_xzh(qC98^m4OMYFWv#`p?AwzgU;%N z%uaC#%x>6uq{fc;MMnlXe+ITGqDza6o9G^o&Q6G5c$Xd`wS%WC(i|o_XvdJIvO_tS zCnRDTwI%qbHS+<!02F5_*nVL4Ps-bhitR=5;SrIB2;hqUp*nJV1WuL%T7#g(a~7L( z@NKJKe8bs{;`2H$uLt5z`9q^huh8^TFQjUidD0DD6eK}A9rjWcN+OJa+;D(j1;_4c zCN-wfaW+n%^FLf)Y%~fpzo|&@z87479}Ar$bb3`9gA70OWaHN&0Memzyr^7MbBhBM z0|d&$h3ds!s6;hbfW$Fa(Gh$)Y5w^VPgq{@j*ErLm6Vyzb<P8TIppVcZA*0~lm}y3 z@{1$Dr?><r4LGgBJ814uD)ISi&B3wEpPz1TUyw{y58R2YI)h^L`1qfYegZbKSo<YH zTF66&>l{n2bGnGh2Xu1SBQfCEjdnO!L2Ew4SjWv#PPc&*@tRtOu2??N!Ba|S*U?hr zQBv3;RWJhMM|#W|V0+NfADVzWa@JM)(djti-GQ?DWE^^!Fu45>{*t>G<*%yA5EK*O zHnJ>-MdTM+-SM8kG~9Cz==?-J|GLmfCj(Uep76Un{O;tJH;UwQ7hB_EQ6h12Q~1x1 zkC5b?iZHJN{2#~_CmyV67<YTH+un?cM+A2~a@Nys%?6{z+g_lRS`ry6@wr!Ji!W-e zhNjlF(C_og0Dw0+<J33E_t0qUDmR{I)hw_L^!1Q(>Fa*|($|CGcVGAgR;4(lL&$NZ zydC;jyf4*FP0}vt4CBj6d5`P<?&8wwZF(jA+<Ix~cVKjI0s~{#OXO{4&Hr~GP0cS- z8)uz$1_(xe00@Gq2R{_S>}(lBc5mv}S~h5A>JYg6U#Bx@VPe;(<T5MsKZVPJ4*RUR zOr1O;x9mmS?81PzD~>+Rh<HQ~```PQ;Wm-~!S5tNDoOAYdw@VEbq@@u9YW}s=8VWT zg;_QQ1<D>`&h%)pEQS3tdVDJxfALIA|CEff^O#NbHWutuLdwtx2V?4Ue#{_#0EWv; zEm4=8dsGHZHI{51mC+PK?1$_k<do*JUe_0j9sikoY$gwpoTVyLx;{_9S2~ixSAJ}! z`r}MS7x3c=KR$AoWok<FRPF13cm2Xs;RW*)2V&)`93iv}#a`(VQ7b9!49qb4MLbH= zDMuPdX;2>Oqco&BN;6QGGM-Ug;V6yy<>Hh(aFoVk;nbOUoRbz?SYqHP4ZSg94jiQ+ zMqVRx#*flKRZHk|v;!B1fkxpGI+?N~<)qV3&Oeg~-R*lSVr?`?GpoVr7L!tKa7}Nb z+#gTc;M^lMD8YUX2Cvq5{6#kFv<gRRxJkqE2aeR>GTg{y!3zX@5{}f^)ws&Z=N_pE zXqelH{*fAD4>r%0n5%8GcSj5<C+*#XjyxiYL@b6JKzfGg^fNRy2m9km8$22t3`c6r zm)g5N=Sa;-yZ)$kSi{UyVKfctcniw{KU%|K7iRaj5cLO(RcrJE-55khSO2zHGozky z_kje135UG8WqtKL+0iq&GSSIGJCkD<b^E=m*qn9K0!I3ef18;UMbGa0ypF2u%5L4i zpyY+9CD-sf%QAA;C%)}>sK$mQhmaiAE7nisX_nZuocg(6gel|U?#XTdDXR+Uk$J^& za}O^-dPG?s<6zp4%5&6TA!nxu+EfltzxXW#&rgc~yw;mp$MHG^cOWz_QJVB;sy9L* zP9K9PYcT{&Xy4r%o=#qYfqD35Vn~g={0>R_G|cbDP8XEmOi^b5y;INK*WilR6He zUUF1M094$cNiYV?y5&Zm{t#p5kS)l5Z_D~CmInY8Y0V+iSbAE>pelw=5y=jsEQA=t zb3}mn!YW0a-cq*jzS*J+07*tK+jTG7j?@A8vjO<C8vac27l5CY3m495eb8?pvj$=W zbu?zs7~oYH4B3038|Fg$2B~!SB<oO`#aiMNW{V8%CRbGAj)2N8Vv^+>nS9ZT0`f=t zv^He3K!yTc_S5(&^c8h>U>PGqdQu`xqTw5(@C$~FLo^}Jr^Cxj;y-MLL%PNx>K1pe zrCJn(lwB3z1PLrUK#7{X&|8$)+@yr~Z2=NIBNnm%0f7YbY8Jng!(0TXB|dCjr3|)2 zf!5@iuO}7Y5y>D~&GK=3u(HjtwJ?Ol7;;19y#0a3&>mWyTw`lM64!$DAsK`iiX_(B zMuEu`UcQPzX`jamFP%cxc<KL~D??)3v2QjhZXcagNN~cIV9yq0(YhYjxE`VtyxP`5 z2ivpgtjz=I4Q8w+a^U$1;rFzpyTJh959eZwx3P&M(`VOD4habBnsiyBh=%!5%OytX z%IqQzO?mTTQDRNJNmhu<WGty3yKOe99(*$pfAxhx%pjoV3)$2iLO>XsBHCk3c7}(& zpb^{nlks*CGoqiwM%|^@A#!EJwhmqG9a_he!68vA<no8<xOiwh2v2al)(F5{3m^;# zl~T&CgpD*SDfgm@Jjn<gN9TY(^cBUU`j@xUyH0VSqH7qt8_nGJvbv+f<gmk{vucK7 zVUnPz{M6kavHhkS=C(n304%<HEt_N@TUSsdpqK$ZT7SwFao5pnBD30M(}J-#5?d78 zxCKaG)!%fjxhX+;T_B9%=g_q}Sgp|-d-oyr4%9b#_Yk|cpbt)B)Hp#$y*&i{0E!ym z2h#aINLoB_nxP!!iZb=JB*a_Mg+pxY>y{$1SI#9R;9cQu*P5`Zdj=kuiHGQw&=GoB zchJ7fyP^xnXW7Y>T2}0Tk@FUV?Yr03Ab05@a?N`Zb7g#nOXo1*LPJe)I-D<K=RP&s z=v>*y`n=9@s%)XoF?iHDK;X3k6ZU)AIB4ehS%%Dt^qJc!>w@>YCXo2fMut>pYGyXD z>(7OG?Ph>z@@11B;*aA~hBm?lY4;=LT^LwV)(B51>`27f;TYO<P26pTH1l^%<LG+& zUu}_s0MI~U7>I3em2FuP?0K-Y>R9puBfUIqrsfr!sUu8}Y^EyU<=o9wGy`@xY%^8U zEo2_3lTI#^s7F+Sm9ZZc9rCcVnpfIcWilMxS>5rz`@_y^IzCh_CGOF4G(BreRd#C$ zaYjqt*iu!)V7u9HOCMpX#p)?eYr=3QB=C*ZcQ#ten67eWr}o$x_50t|d)rP;$Ms$- z@O<p_xfSxkU<>m~EDco()y(zUb_EaEzY0`AS#Wt8z7y%VXh>Qh3Lg1HgF?w3zLPOk z(1LmccHu1R&Dd!*n8<xuGOg;cSF6I@0AFR2l=_gG_*p88>Ug_a#76uO_2MiLwp;Dv zw0N)XsIr-1V4Ib>b;?;x+*80D%f$3;MwTue_KNkyOe#Q%+k2HZ``hgC+4X$53M^Y+ zJo)c!gSVb~`n)5-G6=~Baa5WM3HzoF$siP$z?gGe)s|@hOIo{L2MBC4HFVeaK?4!e zNQ4m!`ZkXUI1>#+eqw*kqXo8RP3>_9JYjItdW%EZTu>r&d^G_!Qm_%fUfQ4}-2Aiy zXJk~W6gZUxfk9CH)x=p&*JUUIp}X1h(<R7E$h26hrcugn>L5Io;iUhG)Uh#g)gctN za7=fMCnQ*xA9j%>$hsG#*sRMo8XP|m&Gu2lCN5dc(WS1ekpz3saMteMq~Uv~Cc-|a zK`i_i$CfN4w#pnq)nm~pMr&`ZH7(2`>!ioK(#_l9$sv7@78#T=)H-QpAc(h%K?%`o zl_AxSgd(G$O1V^K)oH{C_9wJ?>{l8dzE`3c24OSj0~b&et<t*vc6+G&#B00j=CX6w z^vwI(w``uC`Q`^cx|91ohOZjOx<b1%JHGZvF4sF$_~~@>RpX3;x^2ZAW+3!|XI%~V z03so%iJIqdE7RasruAxW1;BuqNSf;e=JDJXsKv+G#=;>>+ql~BIm_mDy_52iB<Chj zk`l@4bCXG>Rwt`;u``Pv-DhZ(q{XAlRY_T0c!TX4-D4(&5VDCE`_i7>Oy909WCKQ` zU5^M+?TbkCNNHdL(>75Mu3UzzxLlNDdFAD@>VnHCXPkN#a^q4pcoqYtrD8Q{0TzNQ zR<k2P71z|Ymx~)O(T;0e8KJ3uFaxb@@3)CYK2;sz$7Aibs_|b@V0qdF1}SCM6YWeh zd8<FRrqHu*f?1E&%415dKCPQ7g5&jCcTaEGJpJ|Tl@jV+)wUWdwGFLRSB6o|ToXV! z_}M1r1>?BWY(MMulNoil4G*)Q;RXZxU`;*w-u9JHI;*$?AOlFD)SKGbXlj=mfVfLB zz)gl9%(td?MoWi+Ec83;R>Vec$!K(UHvnRIdA&sf6kp)y=S}ZzR6<M+p{(CaG8(<y zt6o;vzxc~G>F09QusV4#h4<<G!zsONyg$Yb>ftT#SMuJ241h1&JL2U-eA1_}UFjo1 z$xs@QWQ=O&*F1R4ZXF51s91KkRyetm)x>#EN`Ba-w!XqZm~$jIR)za{*z8^*8+SqW ziuKij0|%30>rW!;$-}LU0d{V74qfs}tX`gYc}|GmgbHAn%t%AWif@`R_<{&t2}AH| z>P8im<3pyE3J$U?uh_r$>rn|Sb#As*Y`62?gMc=p<ag-a_0(Wx#Y>hZ7_nc3*rL&M zv)A!@x2U1&b#X9pNq2{sE*O+WUFu`#g`LBEtq`eiwK%YEB|&_#Nn3WwOup7RkRA`I z6BVpheOK5fy@RwsQ`);!od}QKCwJ{&1R40%aq#JIeve|-NuFirJNhBL0X1Gz?3V6G zWmi_Y*4gczR&N6i&LL?i@}ASI^<2}C^{Dvu*9Z>~6bcqU;yr#gec1Woh5E2ZRPs*j zb{N6O0=)oAd^1ko3$68x$bo+6Kn~fX482ArO3a}Wv01<XQOP!87(8(wo;UhP&Kk$! zgKEIq=$zpg!A}x#j5HsrKL3$}N%h?7yZV_ZmN`!pZ~bM;vk3h1wUXD+-vWt6LigGY zgD#Y0U@71w_60h~G+N!!=iVnEwh$zjz_mt9LqnjTh$)<D7z7BNcV9;zfbn|iT2t8# zy>6kqNEfDEJMtj|&{oP7N*P{my=1u$#iZH+K&2i5K?C89{5&OJ&ZlXE9iNVnbVg&E z1{fUPEn^35PVmTUqp%k7h6nUAuxKcPm}Z`Ag|cu`@v+sy0jqRsW9iewLrywKqA2zf zRZcB_p%xj~?NQW@4M*RN7*Z6ZsQ*6ENsR?GCL2sGib90(ANQ?qy|_e1PeF73TwHwM zG^tMV>rgScDhLSkULyF+@l?h2zW5N=*!TYl|6|q1Q^9HP(F<=soh18SR3%daRN$Qi z|8b(AypeZoWa(Yps;u8X!F%Be$sH?`za9`0>Pq)86<<4>7v=iuL%Z>6nealz`+r1l zS4>)mO4D=zl$T>%>iM?ILf9WUI#w|Fdp`CnNQh5y%e(tZF;7Pz`X#=>^$lZ{^2 zNwDnb__}~5bn!GlOM6+BOeK%)s-%VCbiy4vQ^_~|G1rF3j8ry=eFBg)`97{+xCAr? zzaC-o-IoZd!R&xlLGuLB>(9-Os5mq{tl~T$(yw>v5Z`?o=Y1K&9EaosCHk$02vR;` z(P`;-2-rTP@(~Vf{$>5bE@sHwV_U+J5cvrRagEbVJ|LH?*T+*~c8b0@qIVM6aGL$t z1<-27ciZJ;pmGxt;Ljo9ng+%hWJW@^T@2-P(RuR@`)+%nI-2ieyP&$LA}m04;4!lp z%cTbPcJY~z&Xi)<+o4~_9#h$~#GbHS{`W(m_l3XCswBWh{U}w3u~OXse}u&Me})7j z%X5_Y{?AOOlhV=^e4oEg=9(KIHkrtwI!7HaK2S-IiDvx4Mm!~*A>x>=2xUqpu8_6H zpm8kov^ZSJ%L#+#NnC$({Em#zck34hej<><#sMMe#s5?Y48_-9%4|Xfgk;mAK)N7r zW`lzV2cL?M{5+>$V&ap-*^qmv?aMdxx~}b+>WZl9>JBl94Vu*-_>YCA{tU&N8VQ{W zk0_Y1Dbu`6RSbCaM-m6&0JlCuj}d8)WWABf_tlqAVq_7>lAU<GrPUD6c)V5ljgzT? zz|y_&(q^yp<hj{V3uV-mwu+R%s=~z<n5@?jbxnC7wKo<}-7UFrykxbBIr?bYo6wCC z7*H-bKUq;u+^NG!l6s1rZ4E})=yl3};{jBXU03vax;CLE8so#P+-rF)rup7$NU#YY z!I!Me_y0yE*#S^w@w_iSs|ZGAvi6270%3DC5L-hl^WDl?=M{0w+2cTOJ@uNyEyvwz zmd@LY;^X*#n#b^w58SWTcvF?d2Y)Pl$6b!F#e=`d#5QA24}|MRY_weFVz|?!BzI>s z`VS+NKXReM*L9%}KQep`bGe;PER1NKRpBYg^fq*-)<#k8^R48*F^FVF4(Dm*(XDpk zMQcpht#*(^eh9`pNV1)v<TjEco;-rr5o2gP60dq3uBmAnZv<jno=?2X4N`DF5YhFH zas!(a`@HNirI{Tb)GvGON5Z>{xl%$&z}lYk3yW;k@5Fie!{m#C`ip1FZA-j)&(sC( zkm&s6F(Hc?jJbB$7=V6+MzI!Y;7kt7V(#?e?$Ehkjm`h6<~4>{bc59tAk1pSp1iV% zpm}xb8{=+%4cZ{A1S?nK<fY)kTa&)qqGpEm;~v(WP<L3mQmmMHrmLGKn~cwR+JiIh zQB-FM&319yHK@!Wgh6hKNn4F@>ABHZ8)Mu7Zw$c*RmjjjN_;fbt<CL*h60VN6;Is8 zHJbts4aR7tyC%EUzFbP%ts_|1%;9zxFN=5_3%L?E8f^ITJntYDBR(F)f(1!0bP!9p zG5lagToyMC&IDDNwppjjlmrWR+cX%lrC<D_|J`$*#d)m37M5sf@r;jSrQ=Jg-_*t_ zMkMUp&*UstvpM@H><{!0UZvxUTt?c(#b)&mW%@_1((#G94DzEsz$H{ciFnp(s>iLt zFB`WFwNM9)Bm=$`YZ&k`-pPQE?#+!Ttnc_)C7Y+8Zj#-gL~&ucbQT}KO<mTd0a%!^ zCL@8EDpACXyDKxg`{5*-u&K35ix0g3GR`;kBS+TK1Z_=K?@*l>`eT!l_prVo6=S)| z$T*e~MbJoV*}ee|+My~z2BUoWCu|$Qdf=ILF{VzL=TVzEU4<eNU>Z24XI@|PI`CIq z);qTYezNL^?SO4n)R4{T0I<<jNHD(x?5%_j*jX&2V;YXu8M&|Ws|vtlN4q?!tWZ>T zcE09CNT;m&^+-H##IAW${??eUdWC1Me^dUpn2%u-kj{eJ1iSbn6%uVbp~=;9-qHIt zymxD1fF%PM-Zbj2+nkeMw~2IH2zIM~87v#P1{tw3FVV;yK*=)ZOKmGKAEC0DJ<wdg z&EPA_+o>?BNB#EmS%DTw_=qO_aMrB3jl6p}9Z@iOiNLlrI?eaK$BCIiK2e8kS<<6P zjzTv@6!wgR?!}5@>h(c2^Gk4A?wJbUZHKg@ud%{Xzi#2Mni<cTuE502RZHz<y+jLG zExwr%>48%6+~Gr|TL^A1U*duWV%w#SdG=ji$_mm-;M21ys1P)*WjD>jgHmoWek@}! zTci3?8!+f7q00$PvurF5U112Al!;SqHfls`1|llbX@sts>0@UmM@ZTI+LH$NGIoyy z(Bzo)LTCS_jLVVAzO|i_Rv!VP<^XD;q)yUzIj_urS1v~n8}t58c5<+2m>lU>0GfJ< z`~kVQRQMW059=cfWCmnSl(t(8Iiy9AEgW%&4tiTTT0Q=c55x;cCr!3G;(C})mX#x3 zrJ+tHg+m#{0m?zZdBFh)V~C!n_le=r(a|)?Gk&DQn-a!S!OrAU0GZ9k3{sCYiX~c% zQgA@X2n-4PfqXkRo@0wym`bK3)>MK<;v&`C6Dw=Q3^_UD1IGwC#aCaXz!#k5ui2F1 z__GO6u(9=95gXjwTJ5Nx+EVYoh$5&>CT!OjpFS6!NMdZxrN|H-UAyV+>M%&v<uq+8 zH3cQcWhiUg$LDg_pi(Wk^BhabA9IzZWCCBoJ1RXU!u-`sVM;03#~zJ<iLJSX${4f9 zDg?;e^5m3*K1DkXiau+o!R`+YH9L3>1PZV|a#M&>_ozDZjR%sdR~`E%UDORr4|KDo zC~5t{A%beKrj^AzfOErz<)~RnFR#)!$W=mjmW$?$F`xI14Ons*x5^YJzeRp9*K6Yp z#ULDd`f1&CgTO&PV+y|mhgiG$OZSXZA!fNybx#{JUOQIPNo~LAo$Yhstj0(m#%t1p zUC{ViL`1kV8-F4N9Z+ePgyS0+-r>w(&q6{hV$|n~?_oQ&XYkT)Sm!>iEte9mVe#Z? z<&Z9Uq7u$F*aDdL&!C0OVu;*Xu~iEe6m{S%gdD*lSi3FZt|vysIR8%5f5h-uvb?vH zw)hVjb9%Yd*S6V3k}>7!LQhgDILQ)j^)1K4&DbDIlG<yhoS-s_z~?J8N71V0D6}dG z5XoBD(cMVPt|Bs^adEIh$l<DRV1{(Sp6i#I#JY>5A#m!pl$*s8TpP??kD?Y%0?CE< zw0|q5PQ!rX@T!K5EU$xr0u-^%^L;LtPg<<@{W>K5ZQYgJqT7I>=^?XlCbRV`t?YK! zPpMX-E6QvVcM)!Gvrj+(HL&qd1MLjyu0>Gp2;z}SZ89?kqg-2)w5YQx@jK@ds%uNy z33j>lng>DHX$y!m8O@@JM)~hb4C-frM`k2PXq^E54U^jIwOIjWFtLPqy4R*b^a*ac zgWa_~jz+KPV0DsKFTPQB|LVCnnyX~1`rkDsMyes)FgJR!Aw5twqwGdko2wf%&ENu8 zjcuA!Dpx69EZKw(e>~v};oRK@Xvc3h!%No&i!2PFsM6hoq!nYQ;>@j;YhAHijuzm^ zImi$JdetGan0xIF$ne_fkRyYEf@8phu%r@V!cc{naP-f*>6nzA5Prk3#MJQkRmcqq z1O^nXXl|&s{grL*fV$nhp*@LVsY%7hIT)JBe~(8tE%m66b}zqPIWuRH<NM9x2)r21 z6r;9u>L|O&xU<)(7BRV3oC22UQOzZ1b+|pPQ|fwZ7(#PPE~Z8rNR+T4i04ddm(`1< zF^3asDCv8LQh__uVl5{+ju=ay7Dy3l#gXv}yb$E(ncKa2d9_HiCSTVRQgIj9hM^Eb zO)Mbgqr%C>^july7{!yL+OM|oDx-7(;Oa#y?AhUxx-&I??OZ9q2gh*m<QPSAY9Au( zTS=+_+Hhb#TBo1o@J%=JekR<bxC}n5X1<@_SammTB-y>mo=7dbY2!u;;w|v@cON*B z+(?!uus!KTc2o7Ie|PwIxNvVMBtWlTq&HO${n0~z)Yc165IP6O){x+{P1WJIemrdI zkx`D^WIP|-_3<w0h!yf`cvIQg2oXqcq7UgNguAx)QhW&{mGiR0rI-8=V@C@}L<T+S z!r~AnF|=9vCp&nnK=+a7r`(??ei_5x7+8p#qYB12=0VkCljui7)o_GnOe1iFkVKe# zMoqU=&(yseA>x)d_!WZyb}wOn+(y&p1uZeouy@w2sSa8jD@WAY2ujxoE%pF{SweDY zT!U8!2K<sh#4fZkQEIpxY%ixhV<#PN9|5T>qL5p$UB`*l05fasLG>{DCh{yzfP@u3 zs*-&y{}Voj`O%{uze=NpNBn_u4Vq98#>M-}F6-2=Wqe?W_tB|_`Bvi!3TTjp`FnUh z5cNz~gu=S`k}X^dmV~LBRx~2FYgZ4HcQ=*YjicY|rY(t$BW@<@gD!pJKd!IZ67_ji zGIr=v?t;y_$41jlh>+)6L>)77S7+#S6lJ)!RM$50LCe16XH9r@6g}6jbTsK!J^7`_ z?dsP`nsRVMk)KnY&s-1g^5V@emkAy4*M`6tnN0cwimCSg@uxuSDpH?jVr43miSuH9 zGAv`#Je6WQ+pHngQkf@KY1>rXk%=a&ywm;esS7&vq2C!rcv79ne>%VM{N&%-)7VWI zqj{oT-VNPUzg`WVb6d8`6K)kmvn$n_HRu*t`)1Z^&@^GdG#Yun6<Kl<HtU5NsbPpf zt*+dCPv)1LrQT;NEvvheOrJ7ctIHtKgY5`E*j;2F3Rak<4VGm=QPVw%bVv4ULNmH2 zqI>Rix6O^*=}wtG-JN3q#puqfn(m2)U7x-+-RI;x-IHfb_si)Jw0sFaf!a=ZWVCUE ztfVI=eCQuDtrMQ#Ncg0ttdO2mO~Mm6V36>BRK3JBF2YM9+BY?o?1^t`!kee0s*OcN z_@rtQexQ*WhFD&NM_bcJk?PvYfa;K5RM*YMVgq4kiXV(_EBJv2ka$*tV|omsYH{%w zFSm^9K0QkFT*|G<q>F!EQa!9Z>IIK6ulT|RlM)KFRr<_GY6Ub;i*LS0gP+Hx^$R(H z+Y9Qz(v1j8M&A*m=Y-p@a@~VE#@xctW+%K%Dcjxz0VN*a<Tfn@`yeG-=Ii>on@F;^ z$Y0`F{L`8^qK#qEnlG3B6CbW%i%q&fEL5gC0GNYC`}+4^scrif5}q!wFu%@Q<^zN& zCl4pH>K&h)mESkVQBoN-8%_W5EA+`rCXpRe+2y?~e#=^BDqCkqwg;-@TU<GcH@!;Q z3#9o)@BC}|LAkrmg(zRV&imX1;?UprfzUF!-~ac_1;X%Up7aI;W!bT%QE&4GZ}WO@ z^K~$-cYIR>zTffpeug&N-f?EYMw{=S+oq9A#_49q`&IHSlD~L!>^Ke>qB`Ci>i8z) zVI+@}t)|0e#8cCZq@CnIhgq;DY^M=m*qg22>?K^24k1+UOt|%hoj(_mVBPICrjDxg zb#j2JTUCt_>DtbVO$Mxg3EX*;0k{1o<qn`Gw}&Q~Z@o!yKBq}8RobrEZOWXk3}ZU0 z?41j^j-6}A&KYa1b6<&<m?NwzfaPoz7?@A9ya#Ymf&eZoIYKGX4Q~mrfK3pQ5u=Z} z<uJ4iT9ny{7m#vZzE+>?NS&>>r>MxG+bnFSaD*`Z1+%ua;QGV0=VhgnQxR}rZp9*E z(pkk1RyUl8g(l>J+{u@QUfcZD5;$T1%P85xM?_31suv&lDVc*xQ3L_CLhkeCHt#U0 z`9u}NdAu(^e~nDv)-gC<`c;E#{|S(g4v?26s^dqCUc7%9=JSRDUk08976?8SIpi{w z7lETuWwCvf_`H0mR459NjaDWOcTF)S#Ui)@Y`1w_{dG5+@JpPJv_e=hU+URGcch}p zsV|Mq9U<#b$8=*n@6AI;8;T9j9d_F5?1tkG+2*ftyzj&zzX^OWBz37HG{{4Deet_1 zt@Ze3b#fJ&dGUv(`}x{f4G}+aBcy|=%t+jJyj=cw((TjL$t!F<hdCd|5*#qLhz6g| zP-%bpCjPvx*WE-%xUlWTvTrBV*|yjf?5(@mP?xHdR6ky4!aSf*3r$!IA)eq6ODU}q zwRg=F@-REt?^>yr*U9#(^{p0jcDth%=<K1vic{G|y^(T6>o~!pS~2Uq1P}--<O?V1 z=D{&?%to8G<P1kuYol`_kYJ+>nQP-7Si%Skd3MJ$08(%bc`Nfb`UCLi+BY+P4xNCJ z>65f}&7}#N*%pI~Wwgr)CcEQjGq%OPbnoSgvbs8XnM`g_W^$3!gN?X#Fz9qb09uI~ zHKV;<=JK#dXIUUvhPpZn@MOh{&t|V9jNEjpYwck&+ttGi;ao+X^_CweK0<Hm&ru~q zR^0;jzcm>A_*sk14}h;mCh_x%NfU7`OoWMO7Z5k23plYyRL3opm9cGrEvX)jd5s2- z#=JgU0=kQLgG_h$C#hy!En>}*Lo;k9NIE@1k+Q(UPDRB6$z}Y>E?s^;C-aq)DJS!s zt1ZVCluSbXk}tRX32D3o`7g8lMf38nvi#wB`Rjm%prkM12V?x@{9uK=n4b}OVq?RU zgigvO=jChoF%ioOPx@X`E{45qD754k@SvPI^INnjhG=oWfG0q43KHZ$MB-6*j*$uX zxF^|BsR$1PvXS$dIjUHgisBorAFAy*p>Sa>(~KTV(7Ts8Tzh%D^-Dyno%~k!Sg|{- zl^`bAed{3~gCvyT%A!#8n0Z+>%U8Mln!+a!p8S);zKBu~zW9j-_2sNp7~rbgcpkE= zpSDN<?ydC8@379`UyW`uIdg%4kgZ)hFd4Xw1E+}uo}NHb>YEGcUcBk}Jgr4}Lh_3# zP1UvwkL|m)_U>4yMf$f%A*)5JGr|t?7b_e_H<(;APrRZSG1Ua08KMdP;f28G;KU&K zcsn=1KN!Ao@b?>GBl!EmlU52bK9+oa_2h>(eEE=8xH{J0-(zC74?ca_#o$ZjGgy3w zx~jeQh!<$_(BeSKqmYs<x`n8JkJ)kI8NO;$ffg$8A{FkVh7<BVd%_+M#7FsblF4AM zJ)sz)E3+q<3uaS3e9U%p&7Qu~%HnQSO_@Z=?4*ftXya@7u~H=r*v#BznFDbiZ7s#P zP;>XNJ$5+t^sHj^k*j>dKxR8giN#tQ`Gw$t))YX-uOkm8<1e_Z-)K~k1umN~JZ70- zw3$hiGJQOdDM@fwfM6FY)WZR?y$UfI()W<RTac+;n*q#^Fl2C&N!vd42yx()$v}xb zh6K;fIWK!uEg{S~M*c`hmgmXmj9m7q&drX6<XPr{W@R}Lt*~+Wj4^W$iRY)sGvt3_ zs~N-B-XQk_NQX2+%Jc%tku!Trs-2Q*Vxa1jRFeQWCDo7$$l?D#NVVM~*|49GKF)TM zbT#Ct_PY6zWtSf|Um?1tBYT;kWgcN?z_+7Zm%4O$@vT=;2-iGrsOb1<LDSl#Z+J9f zr2ixLquv~q!iM_82@dHuL~=&KHDhsg$Cp$<`kp@7VH%x%LyTvA^LS7P2wg0>j8f>{ zhgoG2iKPOPZQ+&iHCCGQ{+!U#x<*>%O8TN{9xyQhc%S-Hxz<^uS|=HG59hrx{0VtL zQC}f-LjTIKJH5xQNG{V&5Ow4-(+%q<>RFi`$<^Q#b2EFDEQ<`HFTBd@&{j!DTT{cu z7hWYyA4x+9r&K2<dbXG8HV``ROXqbPd+aW%b?r8?wja=FZ8s_+`awh5%Ipr#ZXPB* zfd7@*<G2eyj2WNJolw=K%h_QcSuQL|Uo>LY#9P&;qlhD)N~fpMX3XMA3*+#KoBRVI zN~1%F7@cV=L>jw%dyKxjjO3!0$SH2&jgf%%IsT#-tXl0Yr0ko{6u+75$5Bbz#h)0G z9}k+n{7OigQsqS&N{p!TI11ZLA0zunDtjvm)ZTvf0c8_Ly5)>|Pyfv!e{)B8GuwY- zIB!>XwEdg8Xm3|Lc_TH%*uH_lcC{ybBj%RoQ)9jk;+^4>Q|C75F-WLD9V#)TUu5{V zF(C~*5J>9?(>vW>4=wv+X>XulO)D08Myo^fXvLd3w0hK3L`Z4lPDC*OdP`s-)Lw-s zyey0W+l|XA`)VpXkrf{&Fbd=4QR!!p<grYwsEq_0+$gbvL^`Lj3~GsU#xKZNz(D2H z0RXMc;79aB<kh)S83|eiSflbPBZw7AUMqRbfHk*6bwvCGE|0h_$ZEj6+;<FTd59s= z+`h~%$|VmNwc5nwe0$;&!vB`}L>F^^tDSU*Q!FR!kbLGMjf+HBP25Wv8N?<5&h{=^ z==PY0G9cAO1S9fn_fg$n1#IjnKC~LVSPxfm<fziVpE+UXRBwmR-P(!aM6DoS<S>XB z&+xvI*N8(b<F@U}w2JRvtY%gxOV3YW4>Ne1XoS7YI@)X35^<FRM_-OPg92?Kkezvc zFlCw%I#l@Nv#&5!PptFH3}O?S@A=sXv_1awE9nY&TIG!7Yi}%Q0#1<d3uOX(>TU-h z*YPFqV{z+iyk<LjV3I@!BLm8>qjB(e4P~{E@8kTMXMl4!T*zhO`KKRqf+H=(Y_=&p z6`?X)VkYC58wQM~#E-IgAQ@J>;?J~E1_P|J`k?(n^_jPv*KbntoPqkpBN}i3bNegh zO<)r^KE1_XIWxKmn>{yii@A-j5>Ji^%HprZHm3NqLN@Mu=L;O^r94xY$*f|>d~^Rm z^ogfBfLl{1&nqxhh26kQ^o%#%WgD44f+V*h6Iqf1oxZkvPAEmhpur)-k=&hjsKra6 zlBh0bLfO(-93oSNWrNqE`8rm@YO{WCW6tgVvg6{F$R67_Ut=y2?m(MpxEeD@XIpj$ zB2uceICgySqDYeW2l-`KGmgV4Z?N!3>%zZd!z3`r-!F0IkU3ekt;|IHr(+WVcGTR? zzg8b5tYdSjt4|TF&;`@nzhy>*8_6yu7TXX*xGpPGqy5~7TuTsje!Wrt14rZ<sFRM) zajPF&CWF+|MCID^51jkA`;HWq%MaM(ik0<DB6BqXXen|P9K`J;jEZ@%#86pjb!Vf+ zpk7So$lVrVuRXQ|4)Q2of24AClrGcEkj)C2HLr3Rw&!IoSQ0lpRj;Ou9B^SjYS*$} z*Y92E-ieP+wf`T{85p(_Vme2T%MM%S9tscsBJHk#5$(FEVDRLR4IQM2u36Ft%TV;= z$)D2eBPNc?O}57TtPiazgqLZy46PyHJ6P%C?j#(f35^|@5Pj+nsjGYd^4PShW^TC= z3=+A^pa_yCEoOfN-eW>q#`Z|#jwKnI)wCGZWRGJ|a(@V)9)<j}6CC!W%?t^>zc0O% zK^Y_~2Z4^xxk0HJ0gM%opYbtlq{Vke=7Yoe9tUSWD1MG;e$#>|z^5o<8EXxJVcv_O zB@Y7@sLHD2DXA)!uuVkG@kU+@UJ@TQd1L-uvP;e?Kwfh+q>T@$4dJaD&LZxNx=oe} zUD2qs=0t=@Po}?kgl2(CGxPQZcsKyU$*aGP^QAe6C-bo_+e{HQby*m%M~BlP`HvlC ziE2T-N@CEmVbEBjGGlA2OX`^F$>o(|6R++%VJ5;k?0VJ{dV_hCl6lqfXBC^WA;w}z zF8Y}AEeMrs79Rf~rnjmcKG?3`o!SJTy5hTMI%{SKu+_=V9DG=a0^Tuhte}$YV^_QJ zsqW^mv6uawoIy6%PbA55`3PuR_XK+;8aAL9p_5hn_7Ds(YdD3}Fl>LJ%J0e<cl_?m zd-Y<-w$FFxXn_`hzj!FPWX#Y9(Yk-W-M1U*(0_X2b84@Ut#w5X!UqIG@JrD)e;*Ae z2f>c(1Q52$J|951BY?0?zo2!iE{XD<Z`Zb0==Fb5lezaAEv3=qZ_e+vi7a9Wpxbxk zZp>E4K#j!LXZxH>eAqg-{$n$@#-XW*#fRZD7=Mrom-X6%bofw(?rXdK`U(MP7$y<f zki9@?sH4tK@hQ3(C~6KLRlufIgcOauLIOO^sc0+9)}1KvBJlRir8As{(?ljm3vKKp zfxXK-vd6|>_S72H$b_<B-2(C`tRsMFCwq)ERfSGbGpev{WEiS0cFX~ZHELsOZN#*) ziYM08{u8R@sC{h0%DnGOmonZ)@eeOUIjsVfg$nXvY<F`|!f0h%?B@9ZvgK}qfM~G7 zchB^}hc@qi78(mpAB(_Ie8V8@wN!gcHG@#F*QZQ$v=F0Ob4qwQ<Kucvx~~NY_F_s1 zPzI=rGRaY=)|8eQ+W#*8WE!AXC#5krSq!$@d+NtgTWmhr<=PD-T^VCgYiIB&l{&@l zU1|y(iPLGuf>6uDUr}bG0;f`E;88O_2=#N<SBL)uo*@QxH^iV`=1P%8#}2ar^J|!u z@h4s={xs4_F_-zq&IroaM(y(l_n40@QTtuOms%-BO;pV2d9PJ!*y`!O0)h4|9n(ui ztnR;zukg*jvBKS*!-Y3i1<vLA#p!*cD&sRA(NYi{_zsQ9@7zxgSU})GRN=xj*iq_Y zXI-wxriwjPH{Wm0G65zWZaE}3Il_OV{KuuLCIJKubQrW3l%0tdLceA5#&+h7J*t`Q zv%wRtBa1=5=U;h+w*nRoDUv~kX$5@d4o!<&I3mEkqT5uF3D6MQI-)REg!8>B8gZ%5 zL529`HhnoJ(d+oDksrTAyVIA73<{~n`d{wQm#6!e2HxB@Q62TA*({BKIE!Q36ahDK zdXU62juv#O)2Ih!`UrSG$G_kxAL~xknsBZ+;#xpdYPqQs|6EQNIxvQXNC!2#f|8*k zUK{4*H>T{>$>{lsCV-*mC&M`N3!@#q)`C=_lVh-HV<6eF<};6mesj=JMc}1ANL&~C z3_#MEhxs5eKLn5fG=QY#3oxh21xZTtXe4}x{(>rnX{ltWCg?V{Oyye@PMQ0*{t}{z zQD9#SWOb*M@5XNo=lPb_E$L=?Z(#3gtw^$qrngK>HA}Y=dIle>X<AxWrV9F*uH!-n z%*MQLFE4I;o|QzJ_DizsoU3F$r{w#PdZRxN5k^1ELPkms|2y$ya%;F+q-#NMaM0@9 zs(?4Bi3+^hX_O36aLCuV>HjOUSg0T<s{gMf5+?pm;b~4jQ(Am8GqYuLnO%MNX3$g@ zx6Fjht!ip|hMr4f0Ia(=->fN<{(*&F{;RymZe}*&q4TTLvk4BThO#dAPxyDL*1v-_ z!grazOKt|ke3$xns(pDcx!LcD@Xm40FwxDP93;NEmrTE@t7|+*FHY=#$G5zfL8v$w zx>-Z-@8Lb@4eyi0-&a?Z$(_CS1|5Ye`DshNS59?>l+|{1E=P2<KEstNEi*2tYH#4C zf*XtXRb)<?gAVHS%Di;5ABr_>1{Q|Agt?<l;_+sYuykfG7uo=e+8SuSO)Mg^mievI zTZm1dHf6#9edHB?zmkQcZnfxXO%Nlh^t$$v`%b!eo8{9f(`oXnz0S?I(_}I|Qg&|M zb|>-z-)bWgYZ1)tyr<R{vWthCX`*xW-8XMt$B8bZ9-&gxZClIaR&tWflXl}>^5<pt z=kEifxM?2$EJ0e&thPTCg0xoKA0*?sjg0;OH?Q9RvkW7^QNuUi`oZ`1`l$ao5#qzW zEb{b|@Oeys=gH(1ysmL$W57(c*+pQj{w9utT$kJD5tEd@Dx7H%KA~J}^`f78uUb3@ zd_1}6#_CG$?y{9!%!vV85&gQf<@<|t#)jbHKW)TnS3k{j<gFK%qkk~KM^LL>y>R{A z)92jYhwv>kTW;NYZz#9>Lh)M`p*h~D!dVqi+Y5a^iS}l<>97|$I{MXa*4;AHIKFI1 zkt;`Ue44IvU_YW_rhJt!L&U6V_ZB&M$bj)$ag-M+uGSz;s~bG4yqzPwWW?`hlkonH z{=S&=er6^O1vYzu?z{rAg<HHpYhD3w19-Cf)s|NfH(~>GURC@Gj<DBP`|fP7uRc}$ zpFsK<A`-Af;ZPnAv;Xzm=JwT_2;snbi*yosddqFoFWz=L-6*&9id%Y%`7I~(Fi{q_ zZ07Fu@mPNR7QQXFZ7vsw9ByJCzr}K5oh~rDo0ZAowTn1^hGVK)W{O#lQpy>UyL*cW z3eWPp`b2m!so_1&w6N&*-V!1Y_ljF-$%eNb{bM}KM0NZi^{_H3IR$73A3D|cPg%?g z7HV66@(RVbK;4@8i~sg~9cJxT!+NqH)=+MeomJj=284s1Su_k)ocXL~?*4M?3NJ%N z_UI+-wxCXROs!PxJW=-1PAGW{k4^#?s3MFVXdb*AzOvU<2F8_l{^_?l!ddMGXgf$> z?ITsKs2;2{p7<yklhv`90Y*NP0Ax5Hjn^^9I;-7p8ww55Sv^^kjTsBEo^HU}<vc)4 z2*jPZp_l5+F^49J=sbzcFI$045L$Q`ZzywaBO1k9cXCWqd=Bo)_UmPEP<#)%iW1Sj zegl+ZFGZU88VqVlNsKX_n4nQz1(VY7BuAvV^vI<D$m=H&2-2&n-Rj<%)vo&k0!oAw zghXvZGLKJ>%rJhTc)6r_ppd1~YZ?I{G0EiO=~PE6#Tn(|ZR_YtVtZdIsuPjSpaN@R zdIYvCVW|KgHQ$1ZG2DAAF2-JOPdnaHUI2hB0WeW6DaXBKq<D3gptMuz%|aamaANZu zNGX4yU*4b^ePFni6DJ|PxmJB}h5)a%B$nWL>VGANF`+;Id*d7Ms5~7)p3a@JXC$^0 zIMnG56F`4_V$srK>Eb1)sXs)jodjNmIn$0TKQG{k2^A;Aud*mR_I!-USgMm3P_WG_ zbTt)ZQ%<{ea|&XOPJSYN1_fn-ej&U3Pg|p`(h7C|v;}owd`*B6?epX?Vs%dbU4Zc^ z3v!!5a!!EpDGOpju3>!2g3K$)k5i)#vtsfUj6)xK(L#u1wVRwxw{;RWl<X{6kVP3Z z4>ZIVCGrQXK4Z~j`L#oyVvBIdvwsY)Cz97^{Yrakob{Wma&!@9T4Rh7b$#AhzsdNG zo%O@0KoRCuRU6OlJ<p!vS-*LW)G);Ila-(K(_sQLrE)sXk(Hqm+ELfJd?(|!)`i;B z42CZtz>UPVj^$1w{t30PbIhU1IaLr+2}=vNY+q};l+WZ7->$@VzCf$>9W1~39~eI@ z!vu^0F%)@o0U%^g5;c3Ulkd2cX8vL(GM^3e3}WPg!>Vib%<BahDn9cQfK(7jkX=QH z_e^W#UI94rX=`NRX$!lwc-Mut`HxUciw~}~do^URLu<-MKRld`3`XYD&Ztym`2lF3 zfS^5X!N$>TXIiEYGMFV?ej(;H^RWC{UuDcQ*i0^69?R+ryRFm{NPO+!>Ri57pFfJI z7q7_JvJBi6{~1qs_Mas2$tI`QU7ZkrLAfhzkdce(uQjbUYC*JYNxn;KSm$1{MDAE6 z{#TQ%;MF`G>W$C=R3igfyAZ+oO39ALo8h-KokMM@!KrYkY=^ZBU-N#IzX$btmXi&? z#RpmWrv`BGzH5D56&hkH>NkX_s2kNL6s@WJ@Mv}PUuTo*dDXGo?hE?E_S^5%s$tJt z$oSmL5&tqbq{YGK(Hj5@GlyU|G|@fDA5OA3N-UG;1NgD^@no4GRCmub@WpmAXe<p; zBC?_<*t9f<tRkDNViAK<z*>}-xw2K<|8fkI_O+e4GhM^BP|!x;8`)^kGi=zbPA1VQ z^l9)5tP8g&+>V8HC?7c{&5hoRB&v^;^95YN1sc^8TS3%vG7r3!#DhZMqvwIIk>YPJ z09f!FufH0Cli#F{sTzdL%Dj{tfW^ifW)%AatVMXt@PNeV_=ANkpu@22S!O^T0sM#w zR@rI?gOnkT`XyL9V(0H%XvQD*aroG*b?BC0`QcCeijNo_)GL1Lm%t&ThWl#t9UX&f zgddMl!ho`4R#ZVDV=3>QzW7lQ&i~mMeJb)Hv}*F@)OK?6g%*u;8qU6KL<gBf4{VYy z7UZ<Qk<I|57kMB5;Qh@_yk~v92U>~)jTB(tvV3e?7BsLd=WUR#-AuA(O?<US-#VOS z!6}tP+pQHz#76&Dw1(HFU%I*1xl^k9bbj^nz8^`K740v|VYOZT!g?;%Tu!(F4qy*u z;`V7S$>Af&GX4Ckv0qh-q%OCse}i7E*+L$NVuhj0bh5aZc_rb6FeFr*=}<6LhQ>;c zqpEj!0i2)gNx=rwpA`tB5O$#=769jFdwE^P&;PM-+bsK(MWy{M|B9*av%g4^jRT6y zP|^5eun3`#J)_w3g7AhbYH?E{UTy?O#+$hiAxC9T5#V{LK2U}~+9EhxL-+^n9#fk- z!7L&Sg^<o|Gi-ZIYTlarF!D+%{&ZdR{!nc#h)Od#J1RAT8Z8bAb!%5*bt*c+;q20_ z>{j!ZuB?t1MBMQg_o4Ib6bamol1m&cYYOC<*p(P5g-HanUj{)^dJ&gYh<wCtH*)Y- z?D8>gZSix^{LCQv$fpIW(+?HthcYV6Ur2&-Up#iczS^0JLsXwpiW0cz*&dt|T>Do> z`OjY)D#)FSRFYAr@A_ZVb%cF9=SgNOW68k^#ABLIiZA>-UT{8#i-5wJEoU4#v$f=- z9K>o%+wBGnU&TC`-rlHNYJ6bWCqU$9PwhgBxkCe<0<)`=UC6+)x(m!#&*f`Adh`pV zw|_Lw1V1RVBD{XUPxJw&!LW#*kf&9q(~SG#LFs9jpwKc~=Y#nHSr$Qps1kCeo6$0v z-$VKh(-ZEhb$XZ5c-it79B;*`PXDwmxYu0=W^C)%HtZ=zA=}<P<hhCnbQmv!p}hX= z4|9~DIa^BUL`%y~rcI{sVp3bGuo{{%H}9Qz5Buq>s;%$4A9tOLO>d*n42vBkQnmLn z-j4ciJF0yH)PJz}3wPzJZ3<UuCNaK{bq7~jkid$y-fa)H@s8dUy9pz0_>u#K9f4)a z@$bS{E*GixPypjk1%~ZBSv1+F1w(uH^T7zU@ecI$!8jbifJDM4-$gL|I%7821G$8e zdj(3j;eSvQ@9*bh#0VbZVC>6HNuXDa>S%8}d)j|vQ7PDw!n4^>gJ-j$X1ikfh#%z6 z;rt^YKGpz&xut=RlLG;Yxgf0uqEQ{+?`i_ECjhZK0I|y)i?d1Ms(E-m@dsQc4pF6B zGd9N@;WE~mSVFu7xCw0<iyEU7=r$IS%SiN7;o7F0WdP6HbFuhJyt`2s^J*4p*rW;% zoNMK;hC`^zZaiV4w9*j-B8Hup-6du>warvZCkVm+5I2V4*YY!bUbeqqEXCkb7rRHr zpo?Nhm@lL^Yfa%hRIAxwYGr08kwq+lRvh@L+Uo&F^1Z3hV(U-yuw~YjO8{kY5c{K_ z(X88`;?@_q1VDLo{{@Y+`Fy}9fpE?u3o@3!n#cQ|J%41fZzu)Y!4pvX?8M{ehSPjr z*si_`7E>kOdh&taxIT&;wWCF0YpC5$;MJts8kI%bu+#BfcY$Y`3hu^=Ql_N<uDsX{ z*y)nSfIuxip=g1~Nf`+Ai;X~LmoVFtgQ`}Xn6xE@X39`svo_rB`4*&af0c?!Pnd7l z<3so0Z4tt4f=F{|)*i}RWBjj!jS1<TRDVxkF-xZKqmm7WyIAHMynu%lAM#5vnN?qp zNjcC`Kz*<(ALof7pyI0Ck{oM^$-H_jCR_I9Fitdax=5=3BrK;RBMECyt3#ECI_eL- zNy}{+OqOhO0d6Qe<Ta}X*~*ohRPPKVlT(OQ{m;B$%(K00#Vwgv--@}dsxHvBu2=!D z+LE2>J61NScE+lkNMITf5+0?DC9~?EVlp@MS#GQPa?EYpjlGsTWZkl4$J(}J*KpUN zFTWET)O;pFs_RS`YEY=QWM+M_q+`sIjxkHN4Ga&K7b{`*h?Q8<E3u?kVo9&Wl3s}= zhYSphY-&IW5~PFb6ILymS<ft)ThA=nvYuJ8ZN#wTQ2(<|_1RcM*Lr9LhWiCZ`k#&V zn;5emTG?>}PNt%FMdaDiXexyDs3UAhtCqUi2;*T{TEj4+qz$t6(7;w|ih(#KUE$LS zTHU=LO^SEF9Cae8c7;|nvJsLlHBBZ5(F9s_WvNVR)$c}-%pCUH@d-5#{nUcC=m3X+ ze|vbxs4u>@R%<(g&7jr&Rkvv&!>QDznJu@G!20FVmMXW&4@tyYQ+v^DPOz!2>>PWU zc07pcJN=b}1(0otuyK(|epl&a#($j*^Mda14d0Q&cdV!74C>zzot&){U5=ygynNX& zpHZHgqya8eUWS<#Gci9hs7ay3Kyv3=Yy!51Wj5uNZkJ(_9h*d+@&+MFi55FSY#2d{ z_1vsdc5ke<T*holeH@i4N9?iJZiKAYc14M!QkuzMgexOAuqDUJUCuD}q?@Vjl%t+{ zKz$R~5%5Ye@&dj<Epdr+sl07w3Hek4IH%m+YJPLM_=$6X@rkYf7!usHY6Wq6@ZMvl z%;r`~v7V6W2`hQ6#E2tB#af<OEGT$W3od4BDrTJ~vcM(^UsQbI)ghj>#faFVMI<Sr z1+ne|WtakOWoVz|ei#R}#2Tl@>Mmlp0FJZ-EeBMk8dc>}R=Mdz)JQmMt2-DLsNUv& z>*xY4JTbooh<1`jLTF}&Sn-}$OL-8qqRIa}oTfHG{lA1$(~WDK!g4TiAFtN$K3+ir z(gX&nejuEJK<KZl3c^4an{seTZOJU$N4C&BYi6s?=$nSq;UC0#Q<lg1uA3N57^55u zw2N)%52a4-x_KA6x4CXIl`_(!>t<h_lcJGIMO&t^b`sZ3d1E478?KuO0dpw)h+U6u zVy1^b<E4y{;c>QlSr`yKxk{?Xx6WdteKTNu^@TWmxQ`_QN7`)=J?f3uc97b<F4h$q z5njSL*5aX!@ZQXg;gw=E%ki*okokJBK{ccE41;KcdQaPF90E_$>HE!*)0i0Kb6OH8 zB<jW`wA2GG=JmC25~hvLM21)tD7d@I2~(red>rJX2=v;bAE^!sb_;FTkuP)~G2g!0 z(8AG>8Y5j_1&%kr|G2(4-}~Ul84>%{@IBs`68E@MPL9LEz^eB7v1$^)NSP8w!708I z5voutj@JRz1Hf7~Q-2@W`_1`ML9JP+SbN3{k~#iVSFHqL!kqp3PLTLz5@JeznfOA= zFBA7n<}d}EY6XOj!5nxbm!mKnh%Y<LEY#1B>KrGe^Mraw<Yjqb+nl!lML0h(NXrQf z@E}qGe!rcuna?0nA`lF5%_9zjJ~nSJ0549PfYyK)=mjreM|e9xF$TP20bY4i11~=g zZ^z-~eEk5tVA|nT9}HdsM^jaz1*r5F=5s|_2D)&1FrDYV$!k%klv?v^!+x9eQ9r88 z>>D&Qrbl&GD=1gXv_ZtPADtw{1iB1+zm`c#pZr2D9Tc2@9oJf@Z1)c#wRF<T$vF5| zU+O}xuj6ATo@`a0Q;Odn*R=Da(7xzt?|!va1)TA^s<k@lHsZjk72wW`Kl^dNTI=t) zu0RIa&!h3Ck=c-S1T&LSR<6F<@<&Dt0*SjsizS4cSRdzCE`s0V7a7*7))5387vzyE z?BkKSABUrPz_{<tAC+(Q?Od1Mzn`l<*OpfO`@34>6QK*5mWqG<X)Ud+yJ^+G!K*c{ z&{NtXp;V$$lHh*I5E^Rx4+LnHORk^PTMJSV%_v(_*+tU1rm_p!a%<V8R$dd_+AiL4 zuB1*t@Q9!I7BZ_ZqKrTO>nP(moS^-qO8gF6lg(k9xqZaLbfIEjNHw1tr4f*3(I9l1 zODCp-%Fa~cXW?{$`l&9}LT=Xtmr;(nrTF+y&S{)7eyP?qunoOi8>}_XMzD|&W;g>k z{MK8h<T3z+F@Br53<JxptvPH$uFSa8aG6ll=tk@xRTR5kVO9piuZO^>dy6y_lZD>G zL4iu~1}@`ZhtppL4%V7VL~B{Ic0|zH5CwGzkHYg9*VbVJWVK3k?Ufs`7zR|zg<M(> z`KBla6~~X^DVXRjs-mIJBO2E7kk6p1JD(U#nojLvEa|Pz9!Vs%q!p!k6E4O&YAdYU zhw<FB+X0Vfer(TlblYeoC8r{OT9Z_)A6D2p0rsGbZ?IClJ@}BG<)5}p$M+7)WQUCh zYc88Bf3{rmMN1a$H?wJur_A^9E7pA;9K|fZWZQOs56t-9kX!6g)wSF_m_-3A38=fX zWxFS7z5w>oTH6vF6BGv#?Dp9#%%PrO-mn;^sDc=oKXXA8djf4;q)Ea`&fpduJf3IG zsGbj}dVbBSo)52je$A|AdR*5dT8;2Scp2dZl$4`)ddDxt(G{!;!(2eAlr9-%9}IL; z{t%{Ga774e5YYI%9lzFOAR!Lo4Uy9OtcBt*o8l>=a<IpZo}$*tgO}x|KuDMmw{RU9 zD66xiK@S`8!7K?bE3x~^j2#emxP9tByiOv3D|#?X0N@Yd6m2(=Q|&p3VLmNpUgPhW z8i~5-NMpN6#hCBH)Mq#&B7!(f^1!eP&PW8oVA)0lW%r37JMSS6P;6u#Djxnxc*E`< zk{1g)A8mkH2Aytt<wx9Y25K}Torng>%VgnZFmbn0GL>vUc*(g5vpgp@^!Qu;s1+pL zik}p$H~3_!kc25YF7R22ggU#jmdi}aidzMc-PN&7J*R_d@f(w*j`GX`RrGs=q{cN# z7*(5irUUsCElbmYvzhF;n$=9@+9%N+;5HmkNe(KXVG8Fv!#QJyeM!eWQ8+>aYiwH} za*B|8!nXm?cGQ%4GI<T*g#h={bo{cfnJW?w@hUL>rvA*1<!@X?KEHQeqg7g>ZC7=C z;EmR0$8`_$=wEjIf<BLvU=l;4qNfXo7?R=!lm*O1c*JU;U}WG%5wKcc+RISM5i~X$ zp1e1|vNvQ(%aiZVbyOk_cIskx7tdxyNvGPo>sT`1#_Scb!U<c?GdKxmmEA;@U8ESr zn{W@|aup8E-`MMF(8+^%%Nu%~8?ni@$_}qE9;<Uhx|?H}2Ahr1gXk@~B5h`0{sxBZ z0i1B3eEWed|DMbi&w4$s)ZEv&z*mAoCKI_T!blXyRZ*9!$tQ4&j$pOp9RxfLWBo!g zf!$el-&DPJqxnw*X3Fxi;!Dg>8V(YQEj*LtM8fS@^hHUo^&>#DrW38MnNz-TWl5Yd z&3VisI)X)?@tJ|Fa+x8*0_wgsN0VBEnJB428+Onx0thy$>T=?Xx{Lq~Zk3@kfE~J~ z@9~Y~8krkZ1=|AB{e%da?u0pkOCpq)mg=1z0SzLx$`9RSI&Z(2XEr~o8yTSy$V)9g z=K~#g;XuoXjhuYI2SEWlu&2(;4<R+tX2o>6ZbzEIS?jeEEv<rayp*5qaGe$^@~ARn z7r)rgc9Lzk-&H%_MM?)%sy#7f@K<0^M-{C{^h%0{OsHf0F#OR_KnD^5euJ!BaRUo; zO%lZ7*qk<NupY>&hJWP{Ke$J>`H5)5Zp#xMjyXT*oqZx3+lbC`2(u09O5H)XRR<jU zdj#pH*1<FpBz4^UZ|aUe@w=hp)n|cv6(wr~Saq@h8Y;G`GQSA0nwjO85)3G$g7idz zUtBcU6ozyHGQnj*2)-TU$ZlMca1D>c-YmxPI#nVTfAd>9_4u!^nlxwKwEDU-mUxCO z$Q22wm#<D(G-!Z>3x<hXEu}LSU$OWgZoS2!D?>!#pjNdwut*vV`oz<-OP;hqWUz^! zu9q#E4sEbuV697-%^d$$QoKXgwS}^<c{*v`vYFj!%vd8{Pjwhz@18DipU$?*!$BNI z1J!owkh}&~yNpJJ0-u^ahyzElF*;B>MoPQLO|zdMl1|K2gtw`*sTpPf-4^-(u=hUD zc2(8A|Ne8%z31L@Z?b^^0n)nfA?l4LlGZ>XM#+wm1i>0DR;sp*E$<CRV7vhoI~ear zCDZ_E<@byl+o)7;Yt*#G8e7z;X}L($h_Oxm(Hb>stZ1=~nm+LvE8y?*opbGd_PKwO zAV^c*C4;;7+GqWlYp%KGnrp5(=St}neUTEc6A1^Z@N%nZ9yP7w1EVMlcUb#|m?t77 ze{HX#N~{Rt<`0t*UPqI42oj7O+6{^i<=8KpTRuh(SBZOxmrIirrz@z1w*1-_wPm+> zXnkGZiC96vC38MVjt+$;qk#?r{Sv`J-dvh&XP?&rIZ6OQu_3m;0H9JEfqOLBL<kXt z1^wuoG=WZUBm~NYl?Dy7_KhXDpV6)MDawbKBCEsl8^(*;xvw)Zd_lTS(_ex{Rcolw zBnfY+lI>Gf=HIALmP`PnVBZROHE7#6i3iIh_f=G;jis__`=F-jmnI_lY+x4G$HnFX zIU7ckC2a-+?P{<Vci64h28*SJr59Pvy*$LZ2_lIC#}+qGH^k6XQmDpO_{?ZWSH0Nq z5W~oq)F6v>IAh>Qx&*}p(Ua1MerbvCNOh&DVzXWM$dGXey&7*&i7Y)6(dV(6);yA6 zi(2DxYo01aZew<TR@DALt30OK+-I98;M1&bFb9g??+bV7Nll%D6^}MD#0(=_OMMW* z=LixpKVwFu<&M<^gfml^83V8()VhlqVq0-^SsMAT90^hl=B;bF&df9+T#F0yR`DU! zY!nx+blfA5yuDOd!@0Vt)m}i-rf6;mJ}RMrlPXS@a#(;4q6C9(#?|a$!4#R{lPvS} zAqT75^u>1ZrdpCqAuA?a&TBGw*fJQ1&(iW_9#I48y#AT~Q!eCcQ*P>U+n}TeWLAZF zA1>%D`&N#-+ys>XaIBPwXcxMD4s^EYP_dy;7j_LT0DHqLKXu#N{_6fcZ+iEqaQ7Wv zx$j+fJ@U|xzW*;6rVejhx#6bY+qh}-*f^e%@`nSrl)V^=?*}#c@KWK$Fhi||3)*L# zgyHMCZLq*oPP?f#L=W7C7>!8NM+CH}hm#SG1l2`&=zI;~*4Iv3RSN^+C7|$1L}1M( zfmrMx!=Fmah9l8XWpW7&1E*p8%B$S!%#uHE8<A-^5`7VpferJj^}^-LWPRI+5MxkH zLx-B=I#UT3`Z1yefmD-!q?O80!oC&$j1&oX7{CfxLOudnpU9A9jSYk*0&>S~*gy9n zA<-OoiX2J#wS`O}B7;Iht1ChQOg+>$`)*^+?VM3(uy{ETMzM^w+mdg%jVER-m{JyJ zNvlVT0Z`_k8f02<@3Tg9@Twe!#r4uc-G&Bt1mUcRYMNDroh?13$LgR10RcxsJ1zpq zL|2k)uvmm|1yiHmZ;6m6yDPR$C0mH2;uJ_<vtHt|v4PwA!X|5TpLRR{Yrq4DjLmvN zLnX0Xk7-}ddc8-2|IW7dfE+acdkBprvxc2e9AC%!)E7hp%cfTi<Q`)caIVD9h8azY ze6)=r*~Iurakxi|>OZig_a3dWK9j17_r3?EY_Qmq#aS1idoi;bO?I`}zwq4IW;>1? zCSW!X$cA;yqJOIOQM%+Zn!%hMS*#I4=GjJW>F4QjC>Kh>M!eu2Zd!+*6>s@7zz8;s zh}1POzRPt*6TmPHZV3kGY1ocAUb64K!W-Uev%ye|Vn6_M_NaW&6b&cF6|CWRso`*k z7V5%U!=E)XGll|UTNHh)Ev16+Jff?OZB~SiTd*T9S)%iw?LsPWX2yMtn)N`VCs1H$ z<%kA+05#Kg3oQt3n@!2%9ds(#Zn&;m-P59CI~MeM0`|V~N=K@-Ytl%!-GjrXYiQRH z(Z#EvV$@_xLW#W!XN@|95@lQ{Lrki&szrTph|~`=&n0ufFrQqn!4HJ1^}#7IzB;Tw z(dui?k3I-u`61?YhhD+JDn|e`73zi7yWx_kG5cz7xFiDMR+fWIsVI+xK!Lvrz2_0^ z8l;Ho>P6g?ur}#@y1@;_+?~#PNs}7(v*c8Mcls5febi}QXH;FHHw{Y(gO9~g0~*QB zhSIadk3Q0hTRIcZETB=zc_%)#8ffiigLkE{cctFAP`h8P<;jaX7{@SbTC%+;^}|hJ zu)aIL;TrTNseGgQb)_caq%V!q3WGbw5>~5)DDQXXsr$vDcusMsquBe7&jjaTEs_V6 z+NyO(VyUHURdN_i=L4T$`xRT&h)kTm{Emr3>}-I%UyDKWnhy6Qy+l@A`ao6EsSN6U zfO5lvMys^T8&!5<)UaGAGdfVcO`lcE4GKN74v>|%30bQ;2gwKu$cWvm-f9`q*vJ;i zR!G=00|$hxUg`x1Le*qlm1ssE)xSO|W^`z4YBz206ffFz0Q`o`mlk)t6AXUyeBQ#w zj|UZM$oicmS%+Eg9IWEN?IrrbSaGNt459y_Dy83Ut8zM)ircFX`uUD3<(MgURUh>8 z-ZC|j{K_<)Os|>MXh(4({fZFSk9r!bM;^tYvUv3i8ju9}OIac#mfQch><MY%xxXCd zL}OXj$H}pvtumJ_Nuy$f!gg!=@(iO|r9w>rH7y!`sH#n*-rF>^Q8tYZk<7PgfXrLo zQdLo<_Est3|3H<}Z-=Us5G<lbf9XB1YBa#?7wb&1t6QdvsD~<CPUxskvNIE8TImp% zNF@qHw3!2>#(d*I#KJIPO77XGpir<Iy|vvzYi{~MZPi)RBEQ-jo;G+Ta`fi>qRx<* z0e8Xu4*qVMrmc&JJAmidMb~y_>!)Fqox0(>FQ0{{D@f%iKA(M-QnqppQ@Hs%odH7U zw7mjjN7%zKJ31{}KmmfiG4p3oTPS7=GfA`jl>C&}<ZXcN%*p4x#=?oU=_k977QfB; zts?$y+mC7CfGblm6VGeB|Lu3<j#2D>$K92)20(k$eQH{2l}^9g2Q=9>7%DVx`7RC$ z6io06iujp0&Q(w-9Lfmw85H6K=GF-s90aRFmIuWYV1UBxqnCp*%IgIL<->|eA#Add zgu`jLI>T(nM-;4tO{%`#_}lh*Rxk}6Msny31J%eJ^2{RTKY(L)Y1$V0){K7iRxs?1 zARy96y|!8<^(+AZ4x}anP%pv}v~Z%KU^FY%sC{Q0{&qg+IT)(9b8duYeXbYM_6B9> zmHYuW7oHWUmLMK{0d3(6H<N=Z2!*clRcl#uMEg9(j`JBfh*&p7*(y;fi`tI-S38-^ zHyUPD+u{1P4FdFPZ5heXB!e!!%i96P{kpb|%5y8#w)@&_22>ZS3r?{T=vI3`9)RH- zo3=&N0VF29wJ{i~ZiGev!1g$fTG^R&h6P3jg5;~I_6NOvY+b_#s$Br+`YlWc2LtYl z%bAXEC>>qNoNa%#<#&kJ!(B%cA|sk6#?++HUKPwb&%rsmJsH%c9I2PwzW1rJ6T(|d ziMdF&C26oNfdd6Qx^Bqe(zc|xl}sF>H<&fDpc$;kIX2I)$}yUI+b7&`1gHqK;UTQq zm6SFp>0}#}dL!|W{13dUFO*evQnMaG=MV9i`E{?Ik94{llIO;`VT3>AEF+D?GFk~0 zen}NtIO}wH$g@pfVKiNR45QVjX6SHf&6CNRr(qCG1E#>Eh>hAU=fT=g7zD^rm%>ve zXGpKeS2uxaaDu|#0C5C;A%Z>+JA<`$j*5=laD|i(mFS>!KDDDinHobS9EP~*F~S+g zl;xpBqo6XhHRl>_9X-;f1pHjebM<aMo}<r^gftb!$+)dT>of?|IK%Rf69{Z;CIHc2 z0bvI-HhiTiiwz&hVoFWZx|;17KDTngzRWFJ9>4LB(TSqCTNDBt^HjP#Gn%PS7P-{1 zHnR_vCJnU4#6a|z89Lk{WX3k}7w5$AWaYJ$lldqSuJ{_ZVDHhPD$j2r^~8)=s<m1t zxiqM{(oi+cQvu}u;pS}kfLF?X2KGuJ^kmXus^W!Id>6OB0+Es;TQ)$hUGsAFzqF^u z01d4l+&M<!3upufxGMm5=0#Yw<bBr)N`Tn*oqPQf+NpEMS}su+kl+=^A=3F*QY3z; zO=}WEj=#0{9d~QY)2cN#YV;mVn(dytlT7GNV%;hJ18p8?10bm>O{eqdu<>Wd4c|m; z96t{3cr<N<6GyO*GWq!1_`pxq2BZ2Y+W4zS(?+vKIm`kmx%d#}vrj#ny@66YLyFl) z>f=4BzYQrZvd}<Z0$oD|#cx~#LoexiK#~cy1~Q+e@Np$2z*>k@`o<eY6>tN*w7>s4 zy#oo+*1llxMmL*3Ztt4?#fEq3oi{OjolT4VD~6S*3!bZ}PYs!PYC<w6wg}2MygF*X zVUX~sL<!TbWMA)fK$?^F={nte&Jh$4=#cTZ>Eo$%Y|1EM*-59&IrTKAWK<g3apWcB z=u}#FUQ{7C_>LU_G88`(C=Bn(p;M>%nebrxnfooKEKN`_{j7*%Wqgl%<-v1PamH#t z=P{ALbWf0U08N4s0?LpbV*j2xDSHF}Bk0$}Jc=&XQxEaJCg!n0sn-Jx6Z6b!J37U( z^Oz7{AMf<NZB=Cd9lr6mv>QR{aacxqox47}f3-I(whd`HjC~U4!_D5qJ#}j1_L!?g zy3*<6h`26fW_KHjNRZPu*fyT01q<U@1`CVLh9tiB{0J{tGGcpjP$>@UN!5adol&HS zN%V&A{9MGOAbaJK>59snQI@e_VRKQm`@K!IECk&lRR#;2)JO$GRVBtOOehsHlQdRf zEwVgV%5*AiW@}8a;`KFBVCsQ%rkrLTxQ~X~paxkYly<4YEFe$_mlaEWOT{`lv|4q# zJGoY>E9bLWR}0~q!H6TFg<6%FS1A{+<E#?-&!lQLHrnlA?jj@+(+oQZKZTcH<AdKO zumYykF(BUD({aC(s}_yy(H1wx7ic+?H031aEI6<gsM&=eEN-a(_}~(cEK$VMu%G>F zrp+MVHK6=yWq<f|$q4R4`T7CZ?d~HkMst4T3{PVe;Lz5c)MB4|EbyA|rabgjoVli+ zjLQ%q96luMeKlX%{WY#K-43V2;;Rf1#$^49cS8Lf+VrXRR`I)RjwQ0NeU`3(UdTji zGkG~RN*pcy#U`^zz{W!6ApONgOJa|)11+$qgZ_y2WXrkNUkB3_Oc2yFgp;M}F*530 z3yTa2G%(>oL!_|89Mv}LE2q{}AqN=ka|b-+Oey`P9*nG`z?#%T=`^q`i+<iLIPaJ8 zT|XLZ*>_LL*~O2=D-%K^7i=2-<kPP`v)I6yTK31UmhB=-DM|*)@ll5b%y<}#*VHcq zRRzH!JgQ9}S=s<Uk0E*;jYhY=^+K7SqT9ug;GF0UZ@uujB%8%J`>K9j5-mg8rs4pA z5)M8*IcC2eBDv`)#<{FN&EkO0PqMEVJK?lbwmj^eWysT%PtU6bmv0s<ug`QXv=|vK zNM5}(%>~+648FZG?^xs7Vz(cIH8nzF3kG4WJf}0^JD}FTFAkppx%OE&9cPJKYb~cc zcwOPIW4tbA))XA!rrF>AW~89~ZTJ!wGfH!-K6ate#o#4OjGA>txT7hoP5{!Ns(#rb z1uRx%HAsqW_ARe}6Lf2raxtfaw1Qj3F~`)`#Y?%x(_izY$?d!roPQryM%d^fJvonj zKu^qh#&{N+s9zLSqFMbWga^McB3t#u{MYcDeXL-9X^MAzl4~%yhe(fk*`LgYWaI1y z%RCQL&*mp{VpDvT+sx#&w;-7#bD~HG@<W>D#^k&6+gOV=S|Pz$%XIv}veK%6nBxXJ z*hALZ1pOAIVtX*llQh<_h^^p6&Ew&0&1Zh?JliWKgP$nT176u^kED!0?sBE<mZxmV zFa}^xrm2Yj4^^0UQ+`VU2c=q0ne&6iQ?8MQmzUqrzK%e|*X2Xk@(bH0N~v!{`bLq2 zBK%^Rua=H)i0ngLZJ^A6)ss0@W_~~UIvB*^=$dOWGjQ`=?Ke3`fh5^4VKyKuAFk69 z=u#WN4~qSN{TcYvpl8I6TMT6=C~_AwlXa$$P%?Y_#o!2fRDt4){LvSD>+&|-4HmlE z!}@VKZTAaDiLk>F79b1xt^*=m&8;SUN~qatv_-sQXO@_2EJzmX4qdFh<{7_aSQd7N zWj?Pru>kC2{alr^x}OJ*Z0weMN>1v~`4T=Z@-SJjA{#f^V+_-AtShdh!!)o2OB3C) zq4!mE6tyY)2#t{;Ue-I*#;D|j*{;)-OM(FpXoAtAzLfvvc%VQ^O4_o+7^xmc1S-&e zI5<}e$>r|f$_*k)(vlxi(vsDUQ#+a1W6&YImb}3wBZFjwN&&PpB)DLf5D_1TiY5fY z%OKx|u;9RUiW7pN>_e{*_;L!ea^0FF<n?iy=tx+OXJn(8FTF9A31OV)uP?TJka5-@ z8!xKCypGydbj*SU%W{BwF~RSs3_G}DTohqvo}MXhnrhfET%w#q{TH*MLlf4ZV4zLh zUyLHmn8SYY>F&{8j3VZ1qd>hw0=bBv8(+c$!dL^+z$#~nq6N$m8A>f8q6Jc-1yZ5~ zGB3_S2Nay`{5hT&g8bya`}3e;p&{T~nx~~*T-h?<zLDbuC+I`x(^uRFevfv$jvRgO zOKm`S`$yg=#AtHMtbDZh(c7An_CF~e*5nIz?joG~L)*vAO}k$*DI&uDRAO__x%#pF zv}qCMx{oO#UEyAyf`Gq!aTdRcD|Wa*I&pIrB8!eD_hHV>uj(ZBT%0Eyw#Afn4Somz zcJ)qi=;raR19!OO<uD7nl?-K=_X9GcFh|;ny|+DoTyrpI5-?fBlFYTw!Pb=~0$Twn znCSQE8Ni27?;8%%BY57I7@mQffn~N^KD{E7c`lbd7DfM%V6&BQSWAD@VN(G|#gE=d zkNW-Q8Q4|5ojot>V#d(L!MU`?hD4aTqlhG}XCK9>TGsE})oh;1z$|D$cgQCx+uH3| zHPD0&t+0L&387VHLrkX_HM(bbjH03h(!8rxO%F0ec>6Fxllev%Ny#HzepL0665Q|H zsV*}keLHk;`%BmoNJ~)OpD52sAyFN<PZ4Kv@?ivxBKQlORi`CG>|sFxo7NxXYsOH> z>E@E=4GBQ*)qChr>0f=2)8Kx2>GaD>r_XNhy8R^vGE0V$juWIl8PAei;{-~YI3rN! zOy~+8r_*-@qMfEIt05@5Lc1b-Q5PU~v)eGrPwHr05T6ZQwxN(EqZuQ~%-O0lo1n;? z!gJ2xwXbE8>ueNNbKE=IRoQq`=iHwhNcy?p!cAm?00WfhVd1$Zz-W)O;l>dzo+<yk z(WD8J*dU0=oFDT(MRXrh5BUKxO@D}COwaX0yQg@0=Y>@~iy~$yBQN@MSr5&#-iwAW z!#$;E*CEL$4G@<)5SSOp03UaR_1RxN_l}ht-ram1UBxYyif>r?K)+Im(g3F`AO6St zxo~3ZUw`uNzIV+HBX(v6*q8b?$(H_!RkeDm!d7SMsw%a6me2lWU4dbLUV0X*Y5SM; z=cQ+X7}LCBamG2j6es4<q7-Yq1-0Q|SwdqX%g=h3dypZyPG&D57IifoaWxz^ME1vU zYU6Y~!y!dO?{Jg@bd2F({Es#qIH}Zz0~3#_acIL~BWqrmYz=<uk=1bI(+`CasSm;+ zVxn#3;cU!WW^BY1dQ{^updqj+K&X}|pK2VO+K*#ecn$S&=$R<TGY(b-+qlWd`_C8$ zk@iu?!VNBD%))^gne&0(5n(|>UUi2qm-119z{dXHfwalJVd?J%a~(XSOksq`D?Wvy zO+x}3OeDVHtLEfnjwEcvTpP$kdzb5w0d;`6gEdqqz1gSg0kP32?TAt0{T|Fq_o9+z zza()l05qkmOtFu(EkpbczjU2#Fi0T!<I;4WG_BNP4m@Q9NYyx++{rD)l-oiTs4>}u z0=1gb2Xu+43>fr5whjC6MI-L7bz*Cr+x^Ct*rM)My|@X1TiJo0Xw|y=igtF!L2bJr z<yB|DRsKJCx-wW_b!eC;&k$5%RFkt{xYo@wRL}B}Jk*kw7!y!v2ME+|HPtXy;$=e; z@FH4CD+l&~7vb{(M+33Vx@f?TLn;YW3#O7tv7Gk=dWjm$LWBMVR1EZ@f)x`Kfr`O; znLl{C@*6VPGTWdVG88GJLdKishb&F+sht=4P^wnJoZb8iXY~?reK5PORnjenk2NCN zU_^LFtR>4y0Pg9v!51o8J6L_}mK8d;KxS7MnV_DL;z<<4I4(^$2`ff^?Dd)f$wVpL z$oG7BS#k+Kql5te$%TAg!`Go@$twHGM#{f}mAt)-J(BXqa7xR&jIV>}v+`smf=E7q z67ehxy+@Mp^PZIEx%K=6^2l3U_w@V(^a+_FZ_PTMRhRWyx&wXgc3M3_ZMGxU;HYT! z+2@A%r&2lxXK#z-x6*8U08wfoh5{AhEwA8ZA1^oSWh13;dZkYA!iY&otPLLXjuJ4R z-kM-7V)6nkd(#CPWwRP;-#(BuT&j}oU=wDfh;VW+)@~ap=4sO{Mg%p>@IqeCc3356 z=kPk8SAJZ~V-Hjyg=+SLr-^p;Pre{~Vj2&cJ@};MBi9J`A&w02{~-TkNL6P4jC=s4 zxGw9k9~!focr-MctaR4Imgh*{)n`F;#ChgBJV7f_Z2l6aIToI|q1|K+wvUb~`(F5u zo_pd>T9!0j-ahe{Cfb4QeXpe32>T0ppg*LTa50~eqFV!8)g<*t@eVa)J`{F!daa@N zKGPdu<AidOdWTkGbIIUQe6TG3ZWTA*2a9boRdLg8Qk<*9s;fuK;vcAWlRd{&#p$NC zK8xbv{!#k9m^l!7@G;e4*PdD^m0BG~==uayQHl!DFn0X|NTOo+_A4AsXqbei#q1s| z8(Lno(vRtO{hw+MW40Q5ED;FgQ;yr$!MzO*26du1g&i_A_+C~KE~?UiT(6A-VY*F= z%*%Yux-c0nFFKU#eXOAVa-i5sTG&iRKnJ01yMV0-cr1Suf*?Zn{!$VPu7D)-vM3?5 zjSUHC$#ls^{rkuqx{SE&zcw^u%U2H6d0kQ!Des~-kwLNG({=2EnEO@VLZ564RmUkA zm}`(J0VkKHm+=@D??juqG+o1k30$4>5y&i%n)(><rmd(UP~n2@V{Hce%ms4@GXZwf z{|Td{oq#Bg7Qef{){m(6tD(J6J`y&YtSM%d?tU)eM!Zo7rAYiE0$?3>>R0DZ2gRK% zG|oPECZ8ZG`O#^`eHA(1m!5gNu^?EmdAOcFXPT?<Jr<{&$6K9?i6sUu)?H_C#fkZT zlV=&zyDeMU`=46UudE=~4M%}xk$4S~*3|x2N%obMHRmgM^`;<BY5Kv0ibH$HD<>pq zqipTVE5+C^hfH{^gBT6aV7qsPovShlSq<nQqQqwMX~1vOlMZjvF*k!j;Vlyy{C73j z_4+zigRuV5#2eJ|QZ{I!91SAM1u4!I2V@@W3W?UkAF08ve^=SypBi+v9vaHUUsy4( z&@D=8xmFpt88ZmLQr@>T*&h15Er2klqqPJsqjDvhow-<>C8}XAWLU?T1)S2N+Pr)z zA_uSZYKI^C+e&XsI=Jp~7t6f~>10QptEtio*M1n|%?5-|YL;q3v%5pH<DuDcYmNR& zkgk}T<(8;4E=f(Op$mpIgt#JLndwbs1vO}P`wO$%OMq-qn1m4fQ7`-`5!4*FT(s#n zsL(*8l4u;Da;^b2U0*6h>vf!0<S_MRJFk+ffNmRTR0IJYh*(m}F67}7;HZ`a6<0cY zJ?@FHiHIcaEwSYSWgxRcf=J+F`YrpXQHQmhkTwyWMbV;qCxQ!fKPBbRD5KpSD8I(u z5bY=tjr%qB@QW@P86#syP-0FmevN$%NGhjD=CT%X3g5{cNPGz4&zbN9WB7+>3)!p^ zYzN=biraGgdSZj_Y}xr4m|@bh8mF2yL@SXF5LP3HmE#P!LzI>fa0lj<P8D#6Q<}*U zb#$uXCw4j-nG|qGtAL=eU_IS{J05{2M46G8*4GoGrW>(F>v0uK#v<0p4!mFIOcs5| zB1Y+OQ>TTUV@2QDe+jC654Js3^c^g;sxUfoWbOim2Ph(<+UZ6CGOzB?1%XNKT3{Xz z-UBN6sTT1D2vQ(m_Qq(}8<`-Ia~{iOA2Lck;!XC2OQLph$45AvvJf`As<+r-0UjL; ziW5juLp7&KVOCX<ziqInDHeUFk6!|?8nSNJG;9@yISxaA&0fT!{M5?mi$?+)0u}N= z8dN8&B6^MMxPRmazIs5Nqes%gXuOr9uJuSdSZ^agC}>WThwj}~EGAdHz;UpCQdotA z2h%j>Arg>fAi{DYX#l~1m!3#EdxfySIC><VE#z_a%P}J9+^))cBI)eE<oF`#9BLu{ zq*8ew9(KpBMzNnj<S|w<8oBI?7IfH0j}w)qP2Izsby>cmaV<g4OxrF!Gavb>{1PvU z=Cki%x{G#HtMZh;Hj3S>dEuArTXS^T5Prcd^N8f~7vQ<Og*CYi_(o37sJtnEq)tof z9`2^Aps=ti9qtj~v)ot?Hapxs@*pFk9kgXPxz=(-x|c-i%sO+*(^+XV)&&`5|0yVN zv$w<vgsZNL<2H()1te74gVF;fO1I#<?>O~OrS(y=0yJXr;r2(UCRS>N#=L@8mU7Ba zk{ELunPSt&J{yg2h=C>@qnd^WKt?rWvXSOVH{V!wvlGNstt8$y*B{Ezirj8HB>~uf zF_oVGGN)9)_%B%BXolX;h`HN~9XKDrH1#k;T<kL-k5FT9^XA5?K}jKad736GRTKI| z6SlQAt6KjAJZ%4hoL~cf7@fwE!4f;1-&MFV4{&KZ>L?P89DxdC^?^hmE+HfV(U*F( zRA=|>F-+5xN<cBF1H8q?j~Y_L@x;%7EHplh%dN|`XJS}wn-wmHDLCL~c0JW37jlX3 zAj4?ngCf{V+Hmjl;fDFai`;k(@;TH+(NyG9&C_DTPCBaV>Y<!NfpU%oj`>;oP7+#C zPYw@D6geih`O*xxnc+4w+-8Q`JR#iX%QM_&hTF_=n;CBNcyOD)YhgTOisTI_lH>X8 za=ZU58sn^1lmF6)%j{%G!3KlSh>h$v;`d`%?Pk7mq(<h%T>`y+NZ|Hhdvb|);ZrC? z$O7cDN~lAuBRHux1+rJm{$Yi*(Rm~R9Em;BPE`9)4&M|(vcsk(d=V(X6EY^=kRL8e z)R*vyg3M3nVmTGe1Ad}Gqt-yEL>ZQ@;KQiN?;PokCb?}Gh?dY-%)3hAJcr6{fMr9b z@2ACT%YbE@9Is=+$|+_zm3H(Q>Zrj&Fr(;OkdCT11|(-re&#J?mQp;m$Zj=qbSG)t z0Nr*20+&gxABli9&9<Ln(mn_x1_l6P-_i;(XV;F<SK(@{Kdu&B=OtJ1K)Akw2OYdb zR<!GQR|RxYeipW8j!oJ4^|=~9@==+OgGK=jP2_`Mxoiyh!cfR0$#AUF+VY@i2m``K z$aCA?NJ4ekP+?W<!@|9n>)_+GHorq=47{aaGiZp)@FM$RM7BGOi$lxkfX8*!cCkdA zMJg?kYN1R^8i^^WfUfhk9jBr-Pr80d>t*BRqyCr%pQ<!HvbVp=kk4%-Za&2pYM$@C zHA)@gr`mY=sFV&Is3f&lI?_s-U4D}G@)MsLlmD7eDreXO5p-|#EC8bHW^P9_&FNyP zcAzBG)7h8ps7V{?#YC~Rb4K2m$U7jr|6IRa%Qn7!*>`?P*%sPy2`{6-jUn!N$)(Jq z<(S}@o6^5ro_%mFgh+-<sc^oT(`OJKA9NK8kL4&v?KnhNDmJBwON)GcG3>5UWXQ3T z=D{TcMYJF~{O}7DmXoW@*DLu0OPcwg9iaEA4Qvy$$o9x~z=r~`saRqL-f{ykd+^sn z>#_^bRVZf97!@~2%apzQ^5Q2yNw2YhTKsAU&kx^&bA!&76?8K1J10h`$D|UtGF`~- zK~pM63hUHd;zXcGH6-KrWf+myo~(MZho0sAZWe>O*`88sunFL?3RM@66@D=xgCt_; z1M$-H4%oe=GT;nd*!t_WE&!v=)N)+rm?0UJWi~Dx)IExEF(_)|g5#ayYz_-bD5W+w zSPu*0ArwU2u}ONy2GAK2)YA+JD(LjwWECN-EuN+wHq#*}hZ{4|%H_@X6WN+1@x#+~ z7T%1pP&ai-<Uz&L;&b%oGDfrc-1yh|g|!C)E4DE}h8y0$8o`(7Ft0evS%g1pOXHCJ z=}CMh>*W@~!zrWzg$OwDS}^{lQ#42LWESXz{0DT-u{S?-PgI;;9QiRf@f<?e9SExU zYkj|4oxq`F?*S4I@+Es<sbvA!<;5KUS3J9x;~*bG4vjk&=V(*}fX?4*C}}9(cb){a z=)m=I<)Y8)Y9KNnG^qeVES%-RZj-UzK%80;?Henie>3H%e?x%qZ!98~uRwnVvvMm! zOjKq#&y$Dq{QC^&Il(#4muEQ74Ci?g$~@ng;XEfe=Q%LLd1g4zlaTX#Z-(=n;GE|x zGn{9J^E?ST&(~)-&k4?XzB<EsW;oB2kn{X_hVz`@oabvZoM(pfJQmKQLoL+&I`2J^ z&bEFu!+DO$c`!_Vg3h)?9e7CeoNaA6(K!zm6*FgBeLB-TF;CS`P|kDz4Cgt)InP^X zIM0mC^H^ja<Q@64oM`qu-=5(-$K*W!x%NCWyR8{}9;B%!oh9MF%y6C)obwz!(Pf?| z+LG|lK+<v>=7W7#c0wG&A&*1Y!oU=}OE#?dD9A{;6KCH)7rXwg1RIv|EYZcV4o!*& zG5#gpU;Nm7Ta)6>1E0jAb05~Vn41y-uG2Edg*|+b$Z)$t@Z9!w<=LuN6+1#Bq1*v4 zcR%F@tlWM2V9gM&Uk(#VabF*Hqz?%&B9`d=L6zTt54wRTtJ1y+;Otf{4#+M6QUlVP z0X+G9$PHkS-|wK8Wry@MsJ)Ouh<9=TY?lB~Pbg);)PdZt9@5i|Y7-5Bb@X=YJTMb$ zLk71h30A#J#ckFNuu3;d3vvZmi8_N8|IZDyNBZP*VyIAb5hBIqg9=uceXzWZhh3}w z>DT-Ex^~?(hqHWNd7%x71AQI8p&dB%Q-^rGw+mgEzHaT}YKuORakHLexvl%t9r~oG zaUv5+ZTIvXOH*W9H|tLQM3y`C<fk3opKOS@9pSR2$;2VzD{*;@f@)(BFGz5y*Dw^j zYs0mx_I_vWU4%QQJE~5{lLpywdR{VK8_}KqZX?Y_<r=RY8g-2>@7weqM*X&u8mdvp z4Btk5PdV!4l+nEu69@kRqA=L+qG70_FU0843(=w(pF_=&SkJ>vvnuE9fo3_n>t`jg z{JHx}>Y$HA*ZK_C8I1y<rt&D1>=kTHEz(9sSVm6J<5mo^EzZ9(%ck4{gxGA;yHQz~ zaq>Nq2MW#!gk7{=szvX>ZyC|9OfJ<u2=sG7vLRinIM()l8}A474iX+vAP5Cmz@l2_ z(ua7373!5(>{Q3h#?+mL{Nw%hk$F=4C}i;gXL=7RWWi^X>`ub65MQWI9vd46N{@}h zT!8U-d2A4PU<!|oQOwm#j}6>1dOS9AS+%>z#{AM_BQHHR)?fjS6NuT^XEl$FHE#bN zjLVUqmdFxct|5~>Hi#$L_1Kup2$F9e<-1-1$Lq17s1@8w*1OAFY#>%%8;c(guMMo> zORo*QB?NFb(QCt8V}jSlL6f!Q7E^j{EO)PsW$v}H<QQHXp$nzghIPTbHn6}i$7ZPX z+E5g992^u^^ti{yyf$iM)8n<#9ULZ_`r3F@E*r}#mkq*Em;MRzm8iLF$ccxzDwp=S zZ7lEc+Q3CdUK=l?Q%trcJltyo-0=Q+xoXg1Uh($Oof4^{U-OqRkEPefW$v|6QAwrU z#?b>j9?WWP5y$Y{SX}em;I@^iJU141JvYi6J)RrOYMvVtFf-Y6<1%?}n5&bVQ;=_h zgGtSMBe_%pPVnBKN4~x}3o`EweXG1OEu4nAxWJW6aKR(5$9sc7x-(qp$;5?zFvEp3 zizdvq6O9XfeTECweaM^(eN=J9%o~0O-taxL5b_eY%SN{6)Ah;vmxhf5o4`VMJ|!#i zcvh>S|Dv?fu-lNeR}8lZnpdhkz_lNUbL3Tah>{cW#Lhm!VVXSI_&d5j`+zRvLWZ(W z+2>wD%`AwcerKWO`1~U6bojWijC>WYM`ZU9DH5b|InUK<DkpH_M&<oW6WzDbPrUB; zDT*)NuEo3&yyHib)Y_PX6L-Q*PTsVM966Bz`?9Yt5D<%^+Y};PYd?&i`aNG@?zr%= zG$PWXOP#CC^Hq`Vf+Og#dfmirT}uUb{0W(=Bm2NAIUdhjkNk~)ufh=OULjo*P^d3t zA}rJqEyz4ScbPlQS}$={XR*$S&mH56`}XHq7C@1ou$81qmwa%YRU20!21|~T9KA_i z@Q5!P^(6a-9+cYvFdVAQg1ecJZJi^6u;s;7ng+?^qosiGHZmomZYb0bzUlhEfGzni z(k0{|3q(+P#alhBn&G=IpTef<2T9?3bpe3@N$1+70S415gQ?8F&_df8Fk4?GmwvSe zd=p0LY85I6wWHt*WRoYqjp~&7*U6E-mdQxKoiYs~7u+_)B5$MeFy11(bR9!rw{!=r zt+Ks3v~Xa<=c4Qnm&+G5Aj_c$*m5KoP>SC0*pNo}0K)Sg3u(DyLzHXVe_bl>l$%VT z+*A=`5n#U7O0pYU3Q0HyJ;FLfRiHo-UhR#$5fvz%kaP;0&cim6)I0wwyWmZtCg|Mt zmQO_4dsYdX`3T`280L{V{ItwSv5(zKy6-J3JEzJumM!UmbPuW1mZrL0F%02hNM?u- z^87x|D_4xRc-2>4xpmFLg3l)gM##{(c4RPQ;8la5Vg#XwVOTL<hk1pLM`rQd%5%2! zKilVaG8Y+je}u`!B3NPuNZ#w5?tmgKi@bI3slLwbeq~%0GEQI5u&=uGuhBVEak?E; zrXZTDKxIjOrYqPecZR=FFH?b8rFKu(n@x{pggEDo7y`s$PV-ZirUZgc^Eq~Lg7q<< zty@X0kKPo2>3a5A(=dr~9ga0AMw18QkxXN8B-WVdZ9~%GzRHKZW`6gU4)YYsvc0d& z=e%#kF2AMtZArbj3TsS>pqq@GOac7WYs20eIb988BXhZVfsrMIr)H#&cz!Y(h0qN( zM$c33;!Npxx;f#B97PBb09)sA9TM;N!+d6SyO|a1#7y{_?XC4vbAKow4mcjtP!02^ zO4I(ZCZ4-#1Kl1WVwgayl>&mR&Fp7Eh4xGc>(6Hw^NkmE;d=YLGie_ea`ow?vO;y3 z=<ZkOxhWQM7BE^Pr-(xg=52^W!#XIq+WfJ3r8ISL;cD1eOi{1YP2)n-H1$(N1O7+9 z0x7(Y=<7r$39!{6yMpNjk<Qn`(uAkO1mRWsU=HzGMHU9vc8E@!Bj73t*4Xf8iR_{v z&42z3p1_pnkqB}w59l%D<2cKQG$x^I2pZODZ7|0YF_>=*Bm<MQ(wS?ehej%`wDxQx z=>7u#?NLs1Z->v5pqy@1YQCD@*Y4U1N@i0nmTKN(D5tqi4(0TqK^=6!G*f8+k3%^< zQCDu7Pgg@v)O>m~fLAJ~rO!H+a=QI^D5qPGPC4DKE2ni$C~$%b<NXX$yH`2gFRm&^ zZpvvc66U|_B}DLHqH-Et^O(lje(DSc<ur29MCCLYO*u`L$;xRDW;96^-4~)9O;SYn zO{s|Ht1F_Vdu9dssWi_u6?Pb@aHvvIX?fz{IQ%c6jFyocBZM+KjAp5f)}@9<4HJ~n z3~7%tTEUp%MI9p~D^Mz<TUK7vUB?`JHD$EkjjA4<GMX?uP}wxfXbvVSWwdGMA0K73 z-2>gLjQ;C^xKB~vrHXFaojVd56egAcU4GdP9VPO)B=)(8jy6MlM-g7Rm#6$X+I{8f z6^XV4A-U=4KFPvV;|`v6!%^z<j>K!&74=+K(U_HTxeolknfbjs4Fat&s_bXxm2wX} zoooISL;Rk5KY=-`ZVnAs-gu*avCieNX^O4uAkp$4H@6V1XH@q&0NuQBs}2aBPydh- za~|||9umB_H(D0!wzvQ9yX`TCWhbX=&$eOS9=lAt#fSE|pU9<BYj4zoObf6jliNF> z_WHbkcB#(M`)B?2_Lg+pTkh>~HMjb=1Ul{=k_xk{JAE)e>r{zZZi+AzDnx$$@*DWi zDzA2h=0$mfx*@i^tlHf-^SHCUYEiY7c<pctcG+A&>`|J#)SFxD&FyoErs=!xu!>uA zqg*@#K%ldGD8bItc3J_QWh>#(LV`5;4R5--p=B4)=&igh$0*6}zOuVxXk2$yu+yWM za%pIE*R#>rGDR}-_7J5Nh2Md#0m-fL={glr@I4-D*b(qpC4v>1R0P|fBX-%%?4p<k zDMk>9M;9rvwHo3Lf|7W{N;HoLyaOqR<s{d&isY4Y+(yT5*g@_Q=qM~o+P&%Nx?X1; zL*cjU&>w{!>eKxd<xJ>OCdHsE!vfFpb_!q*gX))9XjnWGPtRniDQB=>#lsY|ig@b& z3iTZBTVBLt^yZya*99<pWF)gEfN6c>X}vS#@nu@$pJh@fPaM<wgxU*CvLsEg{WD`) zpQ^R@#4@db*>ZmWteI9o>`|I~JeXEMXW7aO(}H%t@wES9OzS-ZN#Bi$^i|`J%MD^u z-P*?XxNZ=W)R1KRER>@-TevlBWulvs%MY(Xt=l7t#ib~AteeBou6}+z$SJWF9J@?O z!6R2nyyh|_J$mFY(#N<tjD>F6o5RxL-dcl_*-hG<zCi@ovcYL@4x_;><(1>?6YWm4 zwAiPHjCsaGM4~Jk`qD~akwv)Evb?JQDk%cgjNLzDZ@M|&@!P$>X|*DKdPODPnA>Du z#{dK=i{aJw04Zx5xRWeyH;Pee%yfmkOnnX5Sg&v=AiFnAUFZ^*^`XSzq^4;&G<|1i zdeRMKQ(pzf4P;zQn!F5Y%3BDiyX*2AqR`DQNU!iK<$(;+kQmixF%A3Qzj1_+i-{>` z%AN+PDJk}fhQlpr<wsRE#^HzV`69sWsDYm9KCo514m@AieQ}$rE=%S9FQ<{B_r|Xy z&#rF#;sD2fGkb#GYfB~1Y<h)V)uRDc4|kx*s@+^BxEUM&q!*+tgqD(C_C0mV3&Kpm zGBLP5Ohz7}Q>(vw4H#6>C8KGt0jopq<9|HYfT5Q|w%SoyC+!Prb-T;k)Ln$5OpIA{ z|8j=KPe^7z;lKX%g{1k{T@&stK8v`{@r7rZ0Sl3pBNf9U@<z7gQLGK#qNqVAO}mN) z0W!+sZpG4Rw!#?+!9<x@c4)Lqx<v%u@$lSfy2fHBsJi#n)O1KkKUAeZjcntq^gL8e zDn1wE+&qL-u4c*XJCzPK@*7G^GIOP!6!lc8!n?WMFMAjD6i4*ITH16rFVv&a@fU33 z$h#xqbiolZiyds-E^gA6iQ`Bn2EU`smcG+!R&}}-$!?g-1<kIc)I}N~cj6K{uEQU7 zR~qP0!Yc^ntQ24N^pvF>w+DKw4z}9P{%*dH%ZTnY(rzPSd@TGfp>Yksjog4GBs>)B z1fv32*C(e17f}1`V2HWSN(YuYWB`}!DyM>e4YdDy-!rP)n+<=|6>4FN<D5*8l=x5A z*uk2eWlcj=pq5bG#m;eL+D>ub-5lS1>6Zn+brn9J9T;`s=^l1jwCz1I;v;0P(IJVW zHxk7lKio^b296eIU;Gt~W4tJmC6??Bdu-uiT_Dv67)E*GZ`yyw?RJTH!6hU+oj=|X zIJVU!>(rwGy($P2bB#4)RgF@nG3J|(R(-5=>YRytM`Z=eNEPFEF*0Wt2lg;B78AGj zGYGUTs`jnI7Z00zb_16h56!YX%GirZ$-&H0!W&0AzXgi&L{{Uy&-C>7wBqze_N&+k zkZYsO1YRIlU}YS_mpFXM{_+)4I&iCPtm73j_=|3LM-Nth^cVlgRP~(x;ve@z&av*X z&)zZW6&|!N{H?xhE`ixn0u#Q(g?|aa#9;#aO^ATu^SOJ`su))g3<TxgvR*LYoeW=M z;e;>LJ1j|tGZQPOyVXJsX0;F(_gTKGK~GNGAoj0nC*rQK&|vryhcCx$a1<3sY6}3j z8LXk9VAEg^>WxAJ2&&$r@Wq1K_x8wcLQZwqujwdS<@d7kket*2XQ|$U?fw$$bk$q( zFSQ=@G!PZHm!0Qa$V-GTap7OGcP(=Y*k0zmqs$q;#D#y!zJIcE(kaVO0qx0Y(T}CE z1OGr-Z}<Z7+7}==>Uc-Ron;j}%PPW`xbQF8gC-=fJt=eUE^~%21gp0%o>Mapf;g0{ zUlc_zq)Yx*M5{4Y2|s?P`qAHde*A9rqrdh1_`T{!fAb${&y4wb8XurlPsg72>Ew+s ziVi1$rAJlx->X{vjURrS)i6)mpB{jTNDt25tbrc9q4WRUKiqAm0S&v4mdoHclw6Rm z$lmr6e#iC`<A7{;p`~CkMlL*-u;N6c(au|5cwPi!<KBxRIw#t7%L|`Nl6xlcH;~N@ z&mDSljCn^~zn4Sv0~wVIk-3~h5)*~?-69v2>v`J=f8l03^miZ1)Y_i7xY?IiD${q* zQ!KU<VAkjJkY=iK2s@L?A=}8x+o}%5un{+N1yzEy!i{xm;yfDT9iEKfWgS2evor!& z**4Mu?{^rKz?yyK0yr{oa{F<BQ~eSA2Um+TA#HatIO-T&=os8^YYzrD-g-0)QWc99 zqZ|e!7u;M9kjKaZW`EQu?lY)Z!tA(Ia2&8Nn`&Qla^DF2L-I(YT-DTftw+{(22Fj} zAgb>&p16K#viGM)12!mK*yl2-fPEfl`1YRI$%dAD$cFSCY7QK)jI;m!tG%?KD;Ouy zLZF@c2x%P35$aNsdabeZ5n}1*n$&>S%+Wdr85bJg<RgSP5i~v;y}^@>LOwM@3qTr; zgC+wOlMAe8LRBrV%B~1FCwilgZo(}JnhbBc^@TcrdK|_~C&xBs0P}c`nShh%>k};n zS$sfXm><o?ID!crF3!}z>}2PDeX;95c1OiC$pzMn2b37U<&z=Uzxl2x8~c<hpSC8` z<vVJ1Gtv-?!rpS_nvsS~$eEFbdZgbOX~_0E(@R6Q4kXEq4ZH5SvJ2qO+pb+ep4&+> z1_5I9^Vw|LHp46h%GU|T0OLppTs*!$`_a>U_v?S91X?j1t;7Y1|6Az_eb&bUqIDbZ zGJD>b)xa{KA<dC0a_fL5$~u*(4j^6pObe7PMg8DwP{k@J{OrrlTRDX78VKMYq^*h! z1deiGFP*M3c8^67I=#sQU+kW>+4btjY|;)!y~(4T*_)!Uf33;Z-qJy}6ifrkGhWBc zd!H%bR$vRxDe;<-ft9goq=C6rui#s?3hbD!0=2AwvuRZ@NCmQfDMz9Q->W+*<mBi7 zJ?CL7y89X2a;Yg<g)10uoaP?iA%1UrC9+*I_67sC{b+2;1~2yp*GYF%p2_pFB&hx* z=oxHFIFQF>buD-06~Zis`ceSdnY{G4t(DQshLb`#<9wW@yf6DWMkijUG=WyRl)l|! zriKBjQj&?HrZfXELRu#?0Mz~H-;A~~0T_56wO8Bz{v11irD=-?=wmCcky&A;j577k z`GB+|0|3`{qgj!4Zn!bdZ2)AoV1VkSv;nBb{6|l-xyY`=%>bAiG6O)N!%Pyr+lHiv z=z;a9wg9G~o@feCc93n?gp+<jug+<p{G|Wk!8p0mID(XQ(0<<t4z^#tCv5k-^l{?7 zY3tdT_0pH3M?_!Q*WVf#Y!403nw_0=@+ospJ?-?lXPkM~yr28|r{p7@v*$ncX-^+r z@Qi0JT=cAS7XQL8K6}Zz=Ph0Kob#W%{CUs6U`4U=1*=|o;p#OPz3AdgUi?chd1<?t z1rpwANElk%E@qRu!&5Ku)W<#bOS+ybDem>ui`zv`>I<H_q>UF!QvA?U7klb0UlU@7 zUeqqm;<pcY>Y{e>bE?HtYud$Wr2fTItJ}rTlX}=w7kbWj9JE?q*e+6j+v%xQ?V?HQ z<DPm!yXYr1?x~dy=cheYc<Me+t!NiR<ovp)E@&4gk@}9Op5HD8Nj>7J=e3JdNNxJM zwZ0syWm50()N?)c7oIxbG5B#$J;#6hjHi})>tFQL(spq=wS3D{=e3KoNj>bTa~-m= zf426Pw2M3Z?b+V%zw*>CwhP>miVu0}7d-V*Pc3d2f8%fGI6m(2)U(>f0A=p=)FLnQ z|9NVmr@r8+XR_TO=a)V849CtlJhi}k@}Q?iJ?Bl|Fle9dxcYrhJ<W68?y0AG3xDRR z`Cjh*o;ut6{2@<u+Qr@eHqtIW?QeOzI2njO=c%W7J74qE&pUPgZ%_T4Q`t@T8$|P* zK5qBaS&olC@zj}KZo8+>@ZUb-sk!Z<O?!XqsngrV98#b0)M@R4?R4=KPo3)6`GKeA zI33^eO>6y>c5x~>Z}-&6?c#&}c9K)rM?96ai!;b|x2M?ZC8WOOsaX!y0Z$Ewk?_=z z*YcpJI1CW&KjNuDuk+?_85{$S`*(V(<&^ZNp5n4Om3xn;FwPQv-{C2aLo_RQc?!0z z)aN|~{}zXMz*C8r`=O_#Kb1Wzj96}S(&U%sWr%f+_WzP<9j#b)Wv6d`G&PUSwff@- zLmemrVINdVk^>Wx$W{5Z#eYN`x@ajePR>4GS3brIqqw;1#!JX4S08I!1`S%_SjluU z5Zhg%k(|esN&nw@=-w!M!>gkpim*P;y{?%1+Tz9+smeuEc>z~6^7$#(m=n%V;%k86 zYw^W2(<=I|%loedL{{ju;3tQ+U*9R4Q1)8$*q2AgOQ^7)GDFv?1f43grOL(+Ctru8 zdpM$qpWzlSUq35N6N#s3@#fvph3?b0VK=>}I0&$HyFiLId%@~Mst;ya0Aj$Ap$4dh z98fFdBw(+<z>iy}EhR2?m$)DgC3XHGq)seJDN33}LRs>@vLr>Cw9yL+^h1n}L~=Ol zor?{Ilv^o<1R6+d4g9WO>}!_Qs+=?0;{LL7-s2aWlV)11T`znW1FDVV;`JSk6(-u@ z`yk-gP-GaXe=wZI5=RU!hb&N0Qc=<C%sr$}$5r@D%Jz6?CJBfYM2}V{hA!1FD=*lL zWI|t!UK=GueX6}tyvX4O3p(U3p?wLd3TIIm&+gAtbfzf*N>(3LG3%0jPHb`{>YOOE zHwU67P8TRLZ@*ZAY%zG%`r>K_YWY>(FU3ZZoHrsWlTz8{juRX7Lp+AGUTm|jT28Ly zhkl}^wA3W^7ub9h4^~500+A>54iNAG!Z_f;7B);x?F)BweeTYWp6*-(LjZHWr8xvl zCHz>|4L1aj#U-F&wCB1DSszdWqk&F~r+Zr4$u%S?spEWFU*W0!I>6$qorI5}sa4VJ zJ7<L9#PxN|T*q`G2LYJqOg6oiXXm^&Q^uZ=Ap4)hC^8}IDAbT(l#pnPqcht5Pzr}q z@4Y7~`emk>$nYaAs&+S?t6bY+27u>StSyPoxVNIhv|FpqO(r;R*;jS|T>lC<m7fz= zD{}|uR!!ToMQQ;2?DfCS{z508Td@HU6++PN>!kz+`gRdBzcAg-!}H5+1ooRDjiKcO zOFGH0h{@|dV!e6GpVOO`_r~0nkJ=k;J%0M$Sc}wfB=iPtLD`#Ty*JHCy?H3~=12^? z@v+iyXzJ461?k~f9+eBy2V(h9E=Ui?BaDpszXgMb4ClU`+@$)RRVyO|6OO5hO}kiL zsaU?9RyrFQtSUd^bQ8(|H0Ocx^W3`Y1?C>9_sx1Avl?0>cxf_pBg5i{Mic6hn`hL9 zmpn%}ANN9=6EB7T;jjvE?BESm)IfIGF>O%yad_UU=Wy_#9B{`<wtrXiwQX*D8u`mf zp*LRVQ1F+@v`mLT8g>zD_U*;Nwkbs`y&mm{ewFQaHNPpZq2^b}j+YHKV%qT5$o)HK zXvU0b4A>h6%C8d_nZr;|P0dwv5-U8*8XHjQ(X$V(q*ByC<(V)O``?xcfE{+g|8K3N z-?`3axK0QU*K$X^1{2-Q#Y%RQ=%#7gBI6XL6DjIxUT53|#v`MGM0`ZXDR1?oEsVzW zh0`2+!f6tn0`V6>?s%$*5Rj8a(PmK!TN-C8TI<Nh;6qwT$#+T)L-setC_ri)rcrSi zjJS5%ocxn7jRy{6B0;U)%`b4fJ@s!i*&H}bA~a9pF#dHShe04S>N*k&`p}|-ZyW~r zokW>e^*L#GMwcAMP{!E_3#c$8@x##am6g~q1`b2r&M&vCH^yNaqOoK2Mg#ZL_r_YJ zhW!<Xsd_U#hq2xq2)%({1`cD$aSlTz+!;=oB=fi()N@=MhAg{cR6<O7c|8~VzRg^! zI83A1Pg-QKAkDq>+>*l>c8qQ~0t>~cW2-Zn2fmFCM??jaIjHx|R!IiCpstoPnUc=P zMt2#jz%^v1neK;ccp+G$m4Y?GWD?Uhjf#wEt6pL=C9Y;fVKbYA3)l>72Qx`A79y+3 zGX<ZvrRilnm@${~fK9BWrgB=im5%62pR#XuO(<FUr)4t+lGscl^$ss?A6Zt)T=QAx zYzD+_0p(&dhC}g-YP|iUO(H(-3`9_|8K4%Mp`2M}h-8^H**llpNRIl<XYHpfbNnBk zEp%-*W^?O6+^;Rq*fd7koHTbijdbD?V-h@*Co!72EIp{l#ahH+0<&rH8g%8?^LmrB zAYx(|a`@Zgm_G0v^<YsXjcqd0NGmq<(&^2#Rhp>@ZxKIn3|#N+NiF{1J|?L7oy2Cz zYI2%2`Q?>D)}<oh(PS+WzQHKtIntM*4ri`1WH(`^EKXqb0!`dNlFi!n@C6!cn2axr zo?_pZOI8q!rX>+tOW&d;b&Bb~D0-=BSsl)ev13EUZ?6?MPEr;B`b0ntgW793pp)vN z)s2wHP3Bny=(mZ~0o_O+*f-YMK)}`NPSa>Z#2j$uR?=%H8E6xnYfGqcvudI_Ulbf; z3`h`zHCeF~V6K9yF0!;U4#+~CT!&?&c5<P2kQhM?WIoChe|_6<`3w)J8o%6ouCc2Z zva!?1dJ!9A1Jh=g4L6HRIKR1Y7=j&5wxaC^NsS`D=KSaqAMrIjINM*v1EfKi@;6(~ z160cRnr(*+tjlq#F$g|ok5mj|L9#?H@ur+kq=hdH`uK!oYoB_9nc1f@<bcRFa^kcN zj+)m(;%aDnDn6yoc^GovRf|KJ9kpIid)pdT0?K4FdaQU3b0AEd8bMNHNkoRBa!$#O z&1Z%+peZ6pwn-5B*vxenMhKq3h+1_<#ME_0gy6<r>vOHRAx1RL2^=zyXy$nTnd)WM zNzp{jGnxr3oH|HXosnp0j%bzjAu6^nU!UzC(a4Vu&mKD2a`EZ!pGPiB-S&KC+q4L| zSkE)qz8e=rU^^>R`M0X_Bo!TdzDOSNjA`tzG4x>#D<X@Cg~S{rG6+WeQzrThBTO<! z>Me$}HCza69A6lFJ~+pUY<oW6=kuyxjP?Y*#J%k10Q|7}uy90U0+QeH6eZ`18)kZ& z$Np<ybQQiF-}|*8Vs$X_&QZU>h(nZZZ_<g``bB+2&gH0wx>&e_84R_w#MIF#zzL$! zXwTg*kf~Q3%wRt2$wX!_p<DDslVg-hcNrRK4m8S4N7%C-K6Ene&YILNJDJRFW@s?; zcIT+w1<~K%{eq>|F0hgOf+v%L;472c-E=|d=EQa%R=daw7@R(DeRk&@QbS4|xS$%s z{r>v+4B^2GjyZ&gUQ-XDt=v6BXc4Op|HAt0i}L_{P=Ieft9L-}jQNFASO)aj;g{^& z{e0uRG%Ai<us-`nn-ol?oC@cz&%Wx^^g=O1g9eY<;_%(<o(W(JVHHO{%=>MhV2}C0 zQlC?E)@Oe)Kt<YFQE``|{z3q-nd(-wXPm;P)+*XS&0bNNX?d|(tv!`Y%R_5Bk0;Z? zZYIN_dIck#4@j_+GV1JDIw8_pGA&~fBWcWP#sg83#tOj_+qBPahRncVD%H&tQD+qp z)y;c3A(yFFcK^9~Q#xU7QLD(N1f)&asEX@oKCm`lN(OdsrY5RKoxQZj(w-74m<&9Y zcOASrh*ccnw8-mGXLIR-F$JVNv*hr@HffGC>g>t}lDRaYC(>PN-?dne%jr)Uadr(X ziY~5lRn&@OM4Vl27|zOwv*xgl>|}esGU6<eZ+%=c8yA?@qZk)ch}FiWC*my3svC5+ z<zr(;fYsO}MbjAC56Yp!KLrQ+%w}<VZnCNhI(rC#5-zLF>tS9!++(UF0{0bpx-w-S zGa>FQRwFBM4O6Di(XGp%IzrD%?ZNu9f`^Bm1xdVrRq<x&Ij=-mmFVM2lpzr)i%uDR z_6qkFGis?K&!SI(&L8^Ei}XJMJ>AH&LXj4vE0`>XBTeZ^QD<FUWKpb(-te(wsic#8 zTk)VtCnYm6#$dC)%TB~TcE__CNh6M=WiH0e8V!P_Nw(9{ABd?a0u+DuNIRv8Eh!Rv ziC6)SMk9t(0|p~wA;xbDmxE~if(YFy>#m|UtywBlQ|#D@WGEdgrAyT_KS!4meM05Y z=rpta&m+T~B^a*vAaiGcb@nHWyABHmo%&myw&b+|1d@?fJ_um#ks+!gii#N74kC;< z6z9v-4VLZ-`=;;QL2U7egQDvc4^CDcRH4Xg^nZv$oz9SJ({wk1!{-=KxGp}KC`~9K z^&M9Q1%c43egQ3|VMq94u}`(fSDw5rXHgNZEJS2}>%F(a8PSSF(x4-I#3rkDsWvp~ zy#>t^UZId(rr$KYv3_C8I&>1_xWcisPn(8Yw0qSyIxQdz4Uf(mD8XycIHZL~P46hS z9X8jpzqVPb})LBY{_KF?Lq40F$`#*wa!OPdPlbSt?}s#27nBBRcrgRfx($mpaL zAO&v22XHV)n+}O1^@-MYKqZark+lro|9J&zWOmYs?+rwE(zv$m7RDB<6P4Os3{vT# zs#_Ay5I^f_1lAC9!=MD(rKyFnCIB6;8DL3w;A>-?ZF?cjp%4|g&En=RE**g-3{?xV zSPyXMn~?*k<6CanwhtH%^I^0*1Hjy3JPAb)jOo5W7rL+@&_(vy)rc&jH0_KSOBJ9l z3#u0I;O*H_kzcoU=&rk?Vzk(J_uawA3klc|7ZoB@EyUwu6r7SD{5)CDF81;;cd%j$ zg^Kfvy(%luz3=sxfz~#obV<v-jzlj;RF6hSmVhEcTq=UIrp*t@=CFiD_Fls9NpaCC zp6REpGA(+RHoAPiOiF+4e3{wcx>Y<QI016BR#n`B#fy-&G3<wTmo+x38tE7(YsE8^ z&yZ8%%$k7m)r6MLhBXlCinAZB;u}A%MIEe`J);&~wH0UIxTyTSul76B)PF~@G?;y4 zZJDRPr*a||_D%mILQ(C<W^c(>Ps!>>5ITt5Sm`aKCT1K^7DoBd`!ruQ9s?H=7e7@H z*|xYV1sE9UOBiHYP(wgq#wpt~FJuj;ShxdV&Pa>SB*il{rV$JgqY-z5HP=8H0H9j{ z)jH#dhIHakVWL&*PgO%hBo8j-PrF<v98(n4kam%HTtzWh;>cAFqii7{X`%p3(U3ar z+lgs^HJ!y&ze;|Qj$-PX?N@dbMpxQ2!+*S=$WeCA<NXw-5T0$HaXfjYvb3o#)O&?P z>#Gp}^%?=XrFt!|9ZFA?mkFS}J~1?Ca&~n<1(27g8k;j3Ml>)84|^24)k0xxV8S=q zpXkz-(!3b;(j4%PL>9u1W&Df~pfywuELv}~v4u4;1DnLkqmcJY+?I0f$f@-b|F}4T z&0@{kInClVkU9-xsd^a~i$-a#O->|f4BAqmQ<<<b$D1Ctghwbt%G61r=OI#3Ty zT?as`4#j|~V4tRrbh<hQy$)GLR&~7f7xi&XXGn`lOkWTt3Y@j3g5nZ_$sVg{bGo98 zLATXuAn%*H@TCN=wcgLJ*YU1}4teH2(LnF&yb+?K=2=&FiBayk$y&sHWxwS88<!?| zo{gYkYUU@&(6t8E=gyu`CG%FBg3igF3yu`zi>3t|MeH~w{4%%tMdr5z<+{R}8<{f= zP^_#X)l<R(Y|+QycPE!=QO6Za(ZMwHInrWvAs($meD^Pi7#Br$2&(=e6Plgu+g~ni z0l!={66ef|1<AanWVJU|WoBC#jrrvYZ)(#3hk9v?6Cm0r@1D&>BpbB3>!@l-wiQu6 ztPN14Ft=-Yux-j4*n?cc`z&eKqI|Y{U^BaykV2?j%!5h3kOwn=ln1kXJ`Xrm&VwF{ zXD~bwkLGB!=Dg@NKrDH+S$x)o`N*^+Mi&inA@99J3xDJ3q4}gVVG-}60#j&r8H%!O zFix_w6*p^2QWg~kL$())4$7}}jI?WyS-_|<Py&M3T=;}(8F@#omc5=m;N*YO4$mEq z5>~85(HW9L3V7pa9`iDa>hXnejDhy#a$ev}*8J~87^jhJ6kpOC&yEgO8pWd3vYN}@ z`6{alIHT;%zbTP&bY=R|VXeZ9qgny(H2d%~q=;w~-!jXxM)76Yl>r8uthw4wU{Exd zpE0x2sZB9=B9Lfu8^w1iEZ@Ngc}kr6F;5nt%Ipb4EEQ(VdwWRB1}O6L@1dGXvs-cw zfM<tU(vaFP{QlRq-)9L9gT9EfM_y!xeClpod|0^}UJF{=GFPNr=<7mV#`O&WvDT_M z`*Ty|j)GL!p6Oxbd21R&5K1hOvL;D(*%zO$g*hO2@cal3vmvv%V12RW4QSo&KZkh- z5s1oSM`XNSXsizAq?Be2Tu3c{*Jeeq)I1(gzRo)WWzLmxyjtfR;_sg$ePXDtXIway zE1~f*1rc$!hb?JO+vNG|DN>a$5e><&#acmH5)l~%qJ)I7)f=8AtxHfN_TgN0x&~PZ zvZ(cguQXk!VN6W4maQQRrm_QOjR=f_uSSw0{s|<h(>eJ+H>_2Z?7T^xDg|V)YMexg zDicOLjFT0Z%dm!?GP!g$r#<GmT`KZ`WDTT)N-ohsj<qOs6Yb@{$uT1g=M+pM$+o<L zhEXISgS@TMhlT?detGipjyq38-hsiy@$ikG92egp*W<=FZe1}w-`IEzz7Y<xrsEl$ zeo5C@@rz}To?m==T7I!C@C#=Ye%NS@ISX*U0PBF28tbsjP;8kL>sYwd7y>+Z?nEYG zl>`Ri5FaOlfbJd-265{OXAmr1iIg3j%fW0l^|jsbGho{uaob9S*@fFFP0Jd@(K+0% z3d7dwtbv;)nr?5l0eiCs+Y=Uv^P_WEB{3+IO{&&#@U)yCK+R%30L*M!myl=_=d73P zWSOutu;+F?52Bq>=!onCVgHgh7DWeTR@MmN+}LwkHuyU1uVKcBHN#c1e_eI~HM6ob z+_uP1tB`0|8qbebA<q%TgxLCj$U3{Qc<_%{?RKw{*}QaNo6PvEYu=h_6Iz4r>%XL2 z_s6PkG&yL-XVP8nL9;i}yw$&&>aS+r3PvOnb8SJbMQXtC(TvaNr7WzZR4^H>G;cK~ zTpFK&cC**8U<-r-G<#M6+HT-??O9V1*)hP^sQmQcTZ`1NJ%A4~O7N$*HZ$<iz8d)3 zE7K0czgwG8$(XFocw%!gsOM%`n~?=$53^@&uux8C&r0^(OIOxrh8-g(bOfbIYomC8 zf$N&ILXW|u^&rsc=8GXcg0)#me%@Wl&KgKf0`hEU$h^?Ftj+kc)2z*ie}Ir*7VV%z z?3Ou5nJXyn_xLnqZ$>y1nVYTSfw|dbJTNyyB`b~3B|Ml_YeH=-$`)*;+QW&&O*tDR zdBK&S;yh@irYV+vun1<aj5#xQI<r^%RrY8g2+Iw(N2}4%2NwGDgp;C#0=1eEVG2#4 zh^eU@UgWzLNi8DL4Q69@ZzX$-!C)$dXR_jG|0E(F^(@xJHRd5m%)b0oRVB^QC~Erh zEcQ{|0D1{5WQp`cgk7wk#a=>%7Br4SInzxoLjtFvTCnZvEEdx3p7%YL8$fkX)q57Z z#K5a=|I{%vC(NjVO%+z$08owW-Io)NFU27U9VNeNkG<*Pd!qHqjDrYy`p${jzM|rj zc1om{-9yLO4|=C2-Tnziv=!lWD#`wjoy9HzALUu>3T-D82Hdoy%Z_mt8@f=Q#ab8a zEEdteJd2%t`{$z=7lWcUE<I<l-GR|!3e=D8_Rr<jL9BN7;UJb-l%w%NSp&a7qhPk_ zibi=^&p|9!U%dyhYjrsB-1t{0!^~gC!w+J?5byt_(^tC9E3~L(*N?$WBguxVJcwN< z0Vi@&sSaXwxYn2Los+Z452u_c^f*t(pKkL*ERJUvM}ExWXo2d?2w_R>3Q!=O>I%>$ z-77%L96eWnato~aDv78jpl9+y>^gE8j%pyHJ<;qE5_RCWCze(liG_8Jqd8o1_+iX= z$yh5rl~4`w4QFF{)xA9(XFgSj{Ss_|h-<_u)T7bqE0ym0k;7E5!s#SGwKxNPpuL_| zXrS0Wh+bb?vnw&d{~z#qt<h)^{c>YYFlQlT%}!VFSBF|nt{vKu;8k>z*7uH@D}w!~ zmiNtEzjBh|<7D?;p3ll7J-jB{!}9ZlP3-1A93WETV4SCI8$`7kVMc?jr;Q``cVusF zb7vF3Z5`~KT<rLtn$V<fAH**0^!Hse66L3_JY&<!pG2=;dDHK0+_ZUYd_(-Y5gFtH zZn`2rIkyw!&KddKn>(kkyzyr8|K#Bx|L}WXyXz;fyW#aKH<YDreErDjsW|EB^8Sx_ zIU_$~WqeCd77wXl>h}l@CM;MRNuZEY>-7IQawes3ydgiGx*UAmsiOSM_Z8{y00%j* zEcP|8>YTDZd&|YX)SR53vVKJ4ufCBtI?Ge=Q%j%)F*NML*3d9J66Yr^ivE&Yu1c)k zZ->`|=o0>Y$Z@s5-8mHxHm;EZRR`Lzu%n~uG!S*_Pl>20(e%P$Yy$JsgrL)ylv5)p z&QGZ$rw`;TzN&Nb`s_`wa@?GnpS-@fN=gsAt%@-{MM(Hd*m<-n3jd9q#ZZA6hB@U* zG)9ONDnq5tRO<AP<!65E-68+4uK3fDvsB5L8wN<tgM!m8pU2W^i_$1H?NXn98V*<f z_#NYrZ?+$yCJf0BmH8AhOSgF6yLU5Q`5d#0CK4{vET2`^CVLi}68PChe}5?EeS_ZN zfe&E|CNf!lezZlO&Uy|URVQv+)2p<5+nU-rSBi%$Gkvx$ah#nGX&pn%kl3t=H)i*Z zZ)y1zFFCh1&eu%RQ4)QSsRS%EnxyxXq``3lxtQsxkw0IC`NFN6I-Jo97H_8dRPdF_ z|5U{+)H&bmDm*2CFOt$OXf9#aj8UWbe#j!VrbN5%np!iGnlLK1{VSoeT-nItF8fkf zU210})g_vyy6O_aQL4*c2xZUdwY{%iTf+=4{f9r-53Y@bNX;TrKcv|g|67M`Z(>%F zd{IsBKMlnvZrd<p;7`!1Lzj6U$}Sy~iI1WRl%`67j&)XT+!e7zaT3X8J609zB-!U) zVI{mKRU;OScWmCLJtl6uh$vL5!#HXI07g$sKsjzcQXoT?bmDBiBcY!eHhB*Kja;Go z&>Bne+h^E|i@#LIM~gfEjX;OC0)}z>3b{034_od=u~6>6teB}ZY_vBK$Jnk~15~>j z*8?f@4Kb+dfLccy{<Cz}LX)st;%Z<zT%nUKJ1T5jXF(FR!5Y1OoTn!AO+6K5q-EcB zmwiiC)L;||2jX`mCj4AcIrFENhNN18qKnRI2-u)^+R)|jKTSR7uSVIbdTN77ADQ}0 zJ?C?*%o*f@YkzARq@(_f3wTK{sGv7iq{-f|<~yyiLwzEJh77n`Iyo6@Pwi5Nnpg6J zGZHS7VaUZ&<naO*syozSqRikVVktR~;OC;upm7Z5C5w?g%CS@HefA#Pn}BZ4Q+6tp zGK|WMhooLt9?2Riwg*!{Ui*8!Up|T(_i^7+Fy@+);>Y{P(GSV@H8{RFDDMOaOo&=6 zpFDTAFdsp&A}}PgNW>DC6{tA*dQ}c>cGqG=5i#m*;?5k3(a}&Yl;Uj53-0j^Sh4r- zfnmsDF!h<kaCqe;82oG_z%Xt;n~sj`019lix)*e+RnV$a2Z>OgFX%|RjySLXBCR&P zRai$k2=6M<5BQ6skF`)E@cbyG27?k8DZ5;{!f0Fq7XR7qDgay9`~=4vP^b}eQO+A- z=mI7H6-uyG6wo*Ki3K`_edM<rmaA6xG^rTnRTSz8c>BgH9VlzpcC<cpYWLuv*2HmI ztgz5Us-R-Lf+BKn(;!ue{*YVHNPFS%8#IW-iHw`A>X40Y1P7<ph{%d&5Uu7!^=%>m zca_<ySGu~82R+qslZ|oB8HRNB$4lxL4ji%G3pyCJYYQmb$Xmcn1<UZYkab!t&lM(c zIe_nZs?Q&17J-U;DUQ7RiL_7|x9L~tCXlkbt}yeAmV4TEL?6$c0b^~Qr99AzWAT!G z?y92RpC7Sl$R%a;E=eYSV=SZ%9o|BR?<UI{-e6d(cx-z_A0R$QzU>dj(La2BwtBnR zqGRy#3r>0wIUyD8XktZ$*Le_Rm+kpgsn=o-1lm@khw2J5pDm;|nWC=o&7TO(b3~=) z-?Tv=jP_fdDBE}z1EpCF2ziu!nnU7Y7Fy)u$It_HB*5Qq6Rq2W7$bYCp1KEJ-o@{4 zT5|$`V#9~nWRMw06P^tIe}1{>Yz4z)%Yn|E5oj@-(G{$`VXv+g%BBfhGW~l@Sf$De ztMNpvwkBe=fsmZA5Q1r*X4o0@l?G(CG|l;b9E37~RE(y&q@tuLD$B;|jpQ;7HOfMM zC@{%T?mMR?NS_ay3SVn5^aGC(Ul4VLufd7<nnZ<|;Fa^p#v18YGq)Uigd<@y+y882 z`ZA+AGit$+3y2K>{<q|)J{dEU-+~Tn>h-BM&uc=9mEC7vEb)_v)BM>{In5_e98UAb z8BQbiU#&n-G^YuKGA*YuQh6LWO+}D1oQC~T-2QObAC0?7I-3D@M0n7Lc*^X8@E^1U zI?t={rMQ3(8!hfMyCL+S{>o-aqM$sDka?u%wnGR?xL1{*#+wmt_F;K`AavqeXoWlM zz)297fQ?u|)TZo*G%}i8@4J0t+vV*Px>1bXxtzS&jv-i3knlYe>|j=RJsX>0vmfGz zR`FW=Gz#_)L=8Ku(?2UsBHeW(XPDx)_hJS6o>e3W8lf$nRM5CSm#^s1q>a$mhgj)M zkRtYr)_wo_Ag|K#2r2$W3T)0B$KJcrP6bq)FgA7^sZYWQ$Av7qSNI#(c&+1iCLMoa z{Mp6@Y>mx*ol+L3C0!}?GCmADV)Ah6Q0)59Jpouw>Q#MiXAjDM6)7GJfgaYJoIn&l zr)iLTE1y0Ky@)j{u^?3zUcwewAkr9~L~KT7-BoN)ZB&kM=bJ{<yx7gm*Dj<$i_Qfj zmSqHaBt_BHF$YKvpop0!J=I)7r}3C0=ODaLP+!J*i{`XqVp5$C_+=Jm{qC?-(A9ua z2w0GSf%IyvvM5;X#N3Y^M6<<wwy-qlF^BrtSV^^1T7C0^*Hl#>$2h_d(mNxdQPD+e zxWI|_9ZUC(=%{Ee@*EG$FE}u}e=S5s>T;>dR5jzFE;Ncc?rSa5Vt>U(<X@GQb5z_q zJS)`VSr>M*LRVz{{OSo=p}a}8;+Llb4x0%;uohRdIFk2Cwdc`ZvypATKmcAETE!s* z;Ffh;9G5L=9^<QWA7oT41zxDHxJ_=p5Aesmb3q7Q*0l!3?fCu{=a5YUW8T0I@x`+3 zE#3Cv8<>s+;G|0F9*K}z>?!SXQTeRXb}|GB)XpgqrK0gOG9Q;sulj-ceB&yqS~UM5 zDI+KXzg^Ec4))IfkDX_dhtm*n*I)eZ`dN)Ajw9}$QjODA?CA3WQ48Af9M<V*3TCN! z)9ZwJTy5>_NcHlbT#UAskc4R3q>NLmoTdtjPM>L^kJX~8uCO9JG{tiG0&O)BC#C4L zU}sG^+1b4uY=XC8Bp^P8YP`Bjf<s??(>R8WMx$Hbdf|DI>T1Ar&WYae)(ia(4e>2$ z>bx##u`EnSxGJSM2(#gIzCPs}#UcA>+XKK7GqWpPE)@&cL}}>Q6Ke&b_69xdnwDzJ zt|kNa5gV97GH}310fu$CV4dd-+!Sn`v`ZI#-B(BiCV@6t`E&i5Z~P#p7iQhe)33g1 zppy%q?A5+jdFR=rk=Bnc03&(*lfBy4Dz7<>QSZWTUjJly?Q8axbL9Of0uFuX@4{RM zAJYLf7^A<?v&j}*_in*kG`0LEjHxQ1!bfY#zgPL$hk1V1f+~ObX!-qnm7n#-^WzlB z3tkZsV51IzPy@8GyAIHrK3Y@IGlbC)JyzY3Mm2ln<+%<Wz~B9@kc;FgIOSB8g8L}b zZTcUrep(XY8&7KA+Dc~K7%SkSEJYggsh4SHqy|w`q&C+-VXjhrn$IVWA=B)Q1>0<N zmw2JV76L!A3n#fJ1OCbE(JqzwYqT~;n!u4koBDXIfQVw_TlPlT2Yy{_)%0Zj*^hqF z3WfBb(9NGl_Q{-C4XrNjv}NNS(N&b}t;#729|E|VW{(7$Fr`=;vhQ4^(V^rr85L>E zIP8`4i&vR<?Dx4E8QDbT?d*|@lr<mGkr$H+FETnwHa64P6Uo1Utd_;%$mUR?4pj0% z7zjRYeN?5Qw%iL%AVt#)^22e(E_4xAjJwPeJTRG&*<N3Io#4a^d<4f~xxg6@ot?MU zX%zT0s{`+RR`v$JD=MUIZRZc?h1qTVQY{2-l@BV&$Y|Itq`dAojs&oVc_0lc1pft7 zJP`w>oB@OmFG#OmN?0&3oU1zhJg2NODmp#}3<YB#21NidJgw};_(4?<){r)l;uu!d z7zV08dt@~4&pvmVw(E70a2QdEnwLfAWV01B$f3UhhpfY?oW_mwPCj%}_h$AqgVD;p zR6c-Bmudj|hQ4h=wJM^>^jI=-5!oGKOy0q{nriunMYz5Ye|vQW#%Fd+HB$@xZM zPX}|(bFn#d9~IELfF|TtGpNa8Mu@;UX!1_zzN9-ziwmJI$OrN&u3sNaBJhS36`^#u z$uWO@cI0LBlIQ0nVi1GoM@sYj^krJXVTb~5)F90MhF&S}^kqbyZsxIZAZ|;=x})L8 zHMaRclP#;)QUnqWA{L0~*(F59%OH<Ji)o6O-#6_wtVX(c9BoWw;J_l9?A!HP)2bFb zcKv`R`IG(Sh3qRvlRJ04mNP`+60`ooAcYq`>DH#5yIwoo@5OgnCL{x8;e-H&Qs5eN zJ6q>s*IVy~sJ7}=(M1nFG9G1{ej~EV$5l=TsQuOgh3Q+Xh)3eQPof5m;j_v>!J_(L zEQ_MZ>W-fq?^1<Sd?(M9H?cR^(ZKONeB7qz+1@JH@ST}XW_R*~%*D2c=a`<&f`fP) zdjr^1gn*hIc0C!BmlIyINFgTBhz>Kf;i4eF40Q%wF3~)PRBWdA;l7IqKBU~xkajNS zGvB7v5Pcg|+!BN1js{P*RNM7Lw%Eo~Xo9M@#^pV6>^l8^xPCn6TBPi<sp8<n<56*T zvGEV@4kx+P5RgokPyME;Tiwb0yhQdRnw*ehU-nW<WQRDlD7H01s4TsF`Bw#U!Th&@ z=Q!I&8#4s$Q!J^K{Rp-P)e!}teniqJYvV?aRQ=y%a?}OD&hVq+SvruWi4937)^lT` zEvwx4#ey2Tu{s7&EW|*)LN{q58M*RNM<b~m_c>Z;w$Qj1-^Fknv8m0sprw3DvF%on zVt2$^w>e49-m@TCq2bBYd_>QMX8l@h3TJ+g5_Hxz104c3&_ht>MyFrkw-^kOHsI$n zO`E0*@GRj^jKb%K14DMdgoCd;8rrM$&2DFZ@ZVuN=!}`3<>a#0tx2)v&Gh?}P{%`W zAaMut&h{rZ1B*GuK7H7YML49!L853~HZK%D$S=i7q3~_Dk$A8y{LTNO2R$49pgiaq z^n;##M^(Rm>cmmMZk|!UYQykEsb8lf6lWIInV_a8P;n+`q@pB3n=KW&o>Lt3AZi!P zGi5#U`_oaQw0~Cf|J|oNZ*IlI5_S%Ap3I&Hd4>%qOm3aOp-PiF&vxOj*26Z+#at;I z*<Z_Q9r>8yNwR;EAdk9$q0x7qR*|Y?KhBj;?0F>c^OeQf`~mc8GXIK^p0jIde-tOk z)^CJ9k;I~Co=E~>O9p)9{tJs|Kj|XoqxOwbf*KG8Obv(>b?0TQvj`5X3!zM>?V+Oe zjl$mbTGi|@?fO(|OubJXJ3&OvXHF3&U=DR`&ys<dPSdtD5{qZ&!_r9VAF^W5NnW9C zk?A6(w?x3oc%Yz+^9)e6x5FDeAF?gBBwbcAerw24d<73g7P&&P;acVocY+#aJXU$% z`HP|U*c=1fg6+r~6^jN*PsHN?^lQ&7=5n6MwYNIC4}}uf)*P~3(P(Y-$gm)}Ogj~g zV>&9miky$U952EGzp5|cTNP83t)W!!2E24QK)uEvz-ryLPRT|f_;;yOq^wi)+;u*p zFYDB;TyleTnubs!2hx7H{SyQN2^*9!L`?p&uT<y*H5ZAw+i$uf;tk#2Lkr~|%sOm= zQ?0{u6%!zI*r>X<zkDjY3uuGX3iuGGdclNI>N3I1zNLa!8AVl;Wpizu%BF+4Q}BHs z&`1imSth)j#RkxzO?6E1#^^Z>@DREHdo)?+Wme?gz3h?s06!>oqo!u|qcv^PVP0LB zH)WSniFJaA{VO&mJNvO$BO_84x60_z>NKvU7QUG>InJfBMEEnWMs3v)U75+TrZJ?B zX%o8!nPeJ)De#X8sCi>yq<L+Zt$-WpLCm~oWI$qCBitz?vv}PpW3c{)t}(IeWCpKg zGlI(<rIdS6SIJPsuaaTMK&h*BlguF5b(4%TrxP+yx=_Zrj4qIoJ**TnD6aCxl{wp? zek$CsL08I@yH1N>BqXRCEx!n-RjkwXC9UFWyT!!e383kQ9DyP*%a&!#R9$Cd^`nnq zSg029RVZdJK~*3WrDu-Cjhyi;73clyX}MUj#%^Pm6ix<0NpQMh1aKDT5>$`^4}*pu z2EQu$FXPCD>7;%_MCk{lVrvf>TriU>`(!g%qvh;O)tE4hRpB*3^@tG;sMQbrZ-bQ- zH{k43eqqoB!2tRNL3r1VFOn`QHgH2CsVCAZVZ9sx^&Lh3K}iJ72&MtX!fLH5B&Vu` zW}LQ^+xh|D*8MU(u5^g>6+FQ0a*ioDaf69tyb7>(w8j4RchoGE>5V;r(W3NZezs&A z4Bf#jERGBa3{kVplNAI?d$R1LBmz+Qk>hkqWHZq@GO@iMlD`juV^PzDUm!I)E!Y_2 z5{d~eSlhPa%KI;}=d>-h@2<Sv_W4<=W8&z4bt-aHZ#N_*F~AO6<eInJlOghGLC8@? z9XmpcMQlDvA#CS^zs66<Ar`jtv3k3~=1Xt4d0y>YnKQEkRd`nddRQ!09h#W8+t+3y zkKQ6qZ0DP$!<$4CcX&%!wdBRs8*-F2{ILZb<t)|4p>lG&+??EuI*Q84?VuLt>@Q9; zLD>B>kKyFDyyoOajNz%A+?IEp+{zq1PHy3TP(;>ADCs)62`$q1U#?u32&}7t2zM-< z+~@%7yo{}3Pt*t%x|7>J3-j~06$?3B#v464`!H5}EEY04B@20SILyjX=Y(^Z{pT5n zSxp1Y*5ELEe=q+ahH$T^EJ}tt|B!LUqw|whTk_+s_{XcAe;9dG{6m|WzU&jH)+XmM z_{ZbyBs&2mlljN1g*YszE~|l9;~&~yyGz^z{&Co%6?gf^!5N2pylSEakq6i|odOpg zNqohrpB)mO(TMQ4jGTb{<H!vEIFb3sJ^!`&ho7}f;2#Ig$^LID`9lFq)A`Y{r4Kez z|M$utQ*B{RfPfueo#7ux=O2?Ib^Ofa5AANd`xlo#cAx0{gZ;}<<PWpinZQ1<C`5PJ z6+br2h#&uT#gFgLu#cm&kN@25%O_8C_Hp#>%l4^a{A@7sqsBjG)E~#kKfv_~r~dfi z4F5Pf{~*ZQ6QTZ)+`$f4B%+wH7GjHy@25_5{(;PN6!Bxb*{w~KKPIR@X4I!W_lr%h z{=iP`gySFoI>SGX&OeAK`b6*#c!!b41oi2sPjvo)dFN61$5GU$U+ed)XtOIjebeba z?0`SfVKi!wXe70>dRba1*-4B1+TuTCwZM6IYNs;^-lsZLUl_$4&0j*!g!62R^)7=a zj=L2~MLr4yp~sTQZunFt{eS17d!y_PuU0%`{ey?ky{?%1TDN|nMHx9@E0LPX1`ox) zN{g?>7t@T{ZS-FYh#YU*PYx~qZPy7}x81;&ogWX!GT!K?jEpy|Q)RZ&cA~PI@X)Yn z@$&Vv(llvcCzTd&mKBGbFWqKCX20qjrVs_!HCUwl>I06eAz(g;0Y`=!pcZmuHVASO zSql`h+`)Ld#KrCs7v!NNMlDm8l#P<yXz6rW^1iYpMVhqH3ko4DIf*v(Vss&k7aocO zMlTq(v<4b3t%+5xpOlUN?=LIoJ;oG*Hd4Y5THu@k)y5eghU1JCRx9B<w@(0GFBtU? zhBLKc!CM8I{;5HcQqv82gfFw~v0q-t6?1{ouy=9OH*9D^gMBJDP`t>&qLVRom%zM) zR0Rt@e!AzQ_VX05%4!4C7!EMyyP#k@+3goo|KL?QW*t|1E6cCKGzMdE+5XEW-0ZNr z4Ot&8d}zXGV?o870w=QF(qxccUYTXK4MGR6s_NY=2bbhZe&{FAV5=Nx47-a5tFfs1 zqh<tVCIv+|AaTzPY$bxHejZc5`Q$axU;u8B8wZ{gnj<ID1+m{WAz|i%*tGO@AsB#8 zTQ6s_m>q2z3^vj$dSVhkW=jo@Fu8w@R%%zndPL$btyB_&&O7_EhyT;AhYc7JH(3XM zy63Iw6<W4#cH+Kz>cdv`)EuY(fA-!7Zm+7k^F8N0f8T$}3B(#nEa!QQ`bJ5UYD&T% zH9O_6;+0xvq?UFVFTJ;)z-K;y)Zxx`^hIJPYFcAOO{Z7`qC~+O9ooj4YQU&bQX6Wn zjfxUA)F6lvnHCl0et&E2bDs0O?;8lH9X_2HdCz{%*?-nvd+oK?T6^uaVfl4mjg4mP zJjzR!JkE=z2lVkI<0S`=@{;KCRZWPayhL*CWL9(j`UUcm-POM9QMu#@4Hs{4)?GZ= z<dUx)<t34qT;(G)#p%`m)q+VyEYk#&pFUXylL77&8^t|cYi?jiB@>R4H$qXrcBPOV zgb)dekMnOvGWn;Y+~lZaf~Mt;>xXko{{>1Wx5Y4D@+ZY6iXr710tg)L4q3BOwU;K> zScr{+)H_H~2>ojZCMQzF`_Y98I#;Fd@63pT;j#KV9?#x#-9^ldJ3mOwj6WRXz}YBS zxdSERgcTMEyi>3YnVrZCRkF|6#jqW2G|f2IBh#CmV^Z{ef_I#pY{U?y0vmV=0{#+u zFyB5`_3lVHhlat=j8!|`M^v3`+dXQ)Aa8x5;ZgNSP`vJtg!|sOBME!oz(;P<?&?-K z>Xoi5^pH}SVgxIsnaGH`JiYg3*Q^6xf(@2t2b*qRGYtM66K=2)9(SY@Nn`cEfTef0 zrgIueM#w`Tr=QngA0!4u*df?0K6_X9AJ!4_mGc}S%BU!3bSD4uD?H&Dxo1p$lU>%T zRD?9e^zreLdo8X&{Jpk9gCj@iCR}wFOF4eGB@7=AAWv1*2IY<k?~e|6StA;fF%3Yi z6O_0i<J6jt*p6_%R_0j4reABTi)9r&Mdv$r0-PoYBVZ%SUqCF!i2HQ7q{I(MT30ZW zsyjougr<?x4I>2h$+w;4!^)YBen${=6hcG*j?f*A_#~|o(S=t==DMSJ8UaivWNehv zdcZZjhwlNjc9<SOpXveaie5GO=*l3wV|#YUH6w#}(D1D=VxpLW6P9k2HE(`};;}l7 z5X=(Z)t$8I@Z3~o?p6A&Zrac>_x*#g=`-$P8Bp#ZrE}+r8PrKY-$f=qQh=z8rN87N z%CDRmc6z^tr4jmPaKfvhYgn{5GW`N+HXs)8TA>IPvWLMLs*`R+@vCAp#|W8?c!f(N z=n9uMzx@iAc!%?~yKZAARX07S?1W_OgqYzp(Pb_TyN6o)Bf7G~_To$9``HEq`)qX> z8oIMZL3NztO$UdMGhv*7g2Xw}@SX}1Ldvv<vudlUb{XyU%4!$FkhL>QR;FOQSGv$C zB3;}qbT4TXy1JVo@v->Wv+THqV4gHmsZdzE3)^<PG;~x%xHR2zt-1(p=43`)$Zu9h zzV3KUI_l@mv<kI3p^j#OtFDQuPeMn?vv3!a;=wl)pYp&m-6~B@B^1K#5PM*9*>wi0 z+O9GHjxuvnfD5)XG;8v|v$-Bia}0GrJGKSraEv`+IABwc4u>cy!U2nj$kScbhZzN( zX)p{<Lz;!HpUO^23$J7dTWt8jgpX(@7!b)}tAQIZVv#s?Z9BiXqD{=LQSylC)T~8a z_wvSwY#i6rrP<YQA{%7YF@Go&=9BTqzYFU9c5eP-l?g@BG=5&L>;I;=c4qi~JPA(U z9y+S<xWY55$t3$Z@8#%N-fSB=!)_l;Fg9^EKKX1V8Jjq>*+-US7kYF@ctu0}q2d=| zcqhk0ZX9JDkK11IWMm!p9c3L)Qr7XF$8js|&-cLoVJ#y^S%>1pPrKoIwTH(zwcl~= zg)0t=mZEkxLh*AmwLTeH$Ad>%$CH$GyzQveF))ar^P$E5ZyGKL)$hs3I=*|9bv#K~ z$DbT!9Y<M58Rp~3$U1&>lyy8wS;yOtvW}yy<H^iA?mWsmo}{efAOFqTIv(m|qkczI z3=V`}Uz%^9uf4V^f;a(FC$$CL;6g0EviXir)+!7Q>$DvzCku0`W%qP4TkRfOrxKM* zp`-c3KAwBrJNMy!jjL5m6%v_N-Vci|VON~!%v=V;sUfa!!lG-3;}qsM3IAp7oUEDR zx;tvOC2_qEv1Z2z4LuSr!d-x1!VO(vqcH3Jk)_E+{c)A19rF-WJG}5HxYpL_psiG4 zV`sM3P;0=T2(qy?t~ya`qc||AIy*-eUjOQlUZ!j#lUYu{W8z|8$(=pKW7ah#hOR8= z4#VSsXN0N*Vw2Q-4m*(+Y(yH)r(UcY7AY3(h)2w&;X}zKLf@*jRs+QdTD_d0!0gwb zz=Pd;BBkpP#9}fNd0XgqMDu$5<m3__6ACUqVwKxD#6|pIV>7<X?VSMKp=%3in^-mi zks#wf+5oDE<LsHUxf>7v*|}rg>&J;MUC5-5?B{X&(YbxvqoA5SjkgNYT3yOi#Lf`h z+wN(SPlbjIyc!yT3Y(NVx!Qe8*|<_CR{<VD?(5wH(V!*2{^cULCS%KkAj%X3sYKSc z?aC6jT(qUP!mai#!BvBcwk(i3KjbN*F;Eu621hpuoy-oT4O{G?c2eyG&MMBX8J_pO z^9vC}caqBg?py*F?^5c$FNQ#D)GU-YlnPOt3Q<g-4ZL{BWA|&TRMU-z;m__JtBq!& zAvo2bA9Qj|&QK%0W`j`5`Df<QE#0NW6+P@{kC~SZU5Zy#THNj{a0&R{?+7+LWjHqX z#%?y^GhesFHiwVK8V?9BlAnmUL3mD;dM+Elnikj&ncX($T9IsoNeB`;SlK9;enef@ z5lq8vzfDz5-Py(myU0Ly80i)CO(bL+_*gs<8J$K|6Du35)PzDF*iB~&nyg;QXW@&% zL-}*_0ml(_j{@_Ij6kd@VTTP19yGIvVdPXHgerPmwUUX$H9L@0MV#<83m6|sQ?vqK z0+md*uG3A&=%yoRxObr-0k`oP36-v3^6303yks<64J-$bb#FD0_ac#^-W(_HCgd&W z`hZh<9FH`wCFYoL(jTKr$BBHIcrlJoMeWiDFw3mlK(QiKvN5F^9DhpLkW_W>UX!=_ z&Ha>AW@K2t(^yd>sMhV3%AQ7yG{Y@;d|Bn?e5F;8SFFr#5C9N00Mssa>eenmNZqxF zkmKGR#Q`3#YG!|qn$^YOs&&`oh1O<-$7dj&wZQ)cjv-g_MNCDr|9vl4u<s=et`pD% zW|(K6x;Uoo{qJ8$pvG{+pD{u2JBO(XHI)|~{4691+nY&}3Udxg&i}cRBz=ZxzJc43 znAl)iap44%-b-Ku`0&kxu3-aEn`jsBDwZZ=1B$E;Joqw|Y@ocPajKJ!a5aHwR-e}r zgr1Ax<ZYqT#jN!3hR{?R#(9}t717qwUJ8)yjDE*X#q-l&z{}T$hDWy7r2=GC(0S_S z0)YNV70P}DW?TDF3uTYnX7z<B0$mXT-+Dq*RFhrI31rn~VdSB)vKlh0RzwMAA?vG^ zfk_kJ9@w}nghF)UwU-UxV5B%#F5ZUApr7S`F;_3}(p=>1WoEJWwPC_d39rGk2d7g` zjMJ$uIq@p8i<dzZ?v7kl=U7tSE96~D%T4ZNyG()uxUfL~+^NP_hDk4qb}toz{N@MU zf$-|kd5zBbzvl9A)f?7zFRMsw_HRw&h_ilUp3hq0$XfnK)4E}#&(Of1AQVngUTod# z=th8%(0xsK<f?}|myxvRT70RRmxTN^1s6te)f@;#s`9?{5nsfX9r$zryb(&oF?pJ^ z!UH~a)1Tp-OkG@ey`qspMM63Y57SLxEfQ8{feMNP;}Cw(%?zn1)}&aH@w$bq9EDWZ zEj0LLZx{km71u2g9Uxw}pwJDqA2k}K;_3^iXn>-@bqlz|icYz1K?6%jiLwrIs!ICG zXq7~rjSbF;O&txecVq#w;?W<LpZcNGCqa<TdrgI3foe3W3s6iSVzJbv2c{&gGLLgy ziH#w*^8>%8`=`05W7K8d*o95M>zlSK#EUEh2P=0w|L*^xs>Y4`lYlEy3I*UCn9m9= z?W|?_w=c>+5-&ABXZl|7Du-f4zuF6iS#k_IOh`@*6NptigG<wP?xsojiNU!WJauc) zmw}t0%iOYyNkz`Dzm}c4rf~hebh<nQSCqPP0d*tUaEX0+e0}($0kn^wEl{{3Xxs7i zTCDK%Jy!UDRH|cQ9<cN89*0i<^9>jtQKFF(N^0lVFO+y5T`55xqVLROV(ROogxec% zlS4<N{nqK#)Ye&}g+~(E@TB7=4;<wtwFz<H$-_+`m1*4M3r})x0`d;aO*YLIyz`J5 z3I3s*&5c*MqX=Y+5x=A6FGa(2KwcGzr3y7cge*OpgL|E&fpCCRj}s(na|M)CB!Po$ zydNtUCc{kD0+|XCJ#qa<N|G4A4JC0e??z)<-?^`xU&~FIHMN=gOl{Wf$Kz}5h=3`! z{dp@J%Zqt8y4#bil;(9WC0IrJWg%c!R@J)2bY%4I_>I?F(rk4g|ARZ@wbD25<XUO{ z$v<%h+Ev)fp(y*g?*;r?fcE37DBWFv*@wrXKH})IWWz_!I3=O`gn!aidVl<pGfw7b zh72CK^-Bvcd2?=W=fNGWG@9)D$QdV+N8+Y_e${_wVO>Mwz+EpYujDJQ;X@`@^eXIt zoR^I?cDXf?8pr#&s<_Lm$dOl7_**3q8>!LyuUiXSI+DZ9Kz`qNtC%Y_o&j9a*x1l@ z>n)iIvOpP{>g$$8W#Dd5dd3Ud6NDtoFFFaZjsTetX$%-t{t9h=?2PN>sQDpoGEYz@ z7@fIgv4HHrCF*vq^g2DcvT;gPU=h&$*jhn#{q-6dl=GF@X1xOzyAPPF5$&dK;mR7# z|7sz}%Hr9wVl4mG$wgj_mu(4#E$K>nNNzOTh`ppYF6=cmgp<hu$DS;N8qtG3qI_SE z9IAX98c6rZOnyDLo?8Vk&mDSJT{qjneJ88PHsXOP%$m&r&r>3%D{PeLWnLKm8^Sc5 zQcpa=1=8gN+N*<nNPTxQnasXswmB!~mZnl+S8cYKcA9nZmNuX$C#b7}na>%lTcU6b z5BI-Pf{Kqar?jqpA+I+pJm=iOC5+&n6I<IknYlF!-}%UAlJFFAX`FBP5I;75^fP{m z^BwUX<|Dj~0P5#Z*PQVr%|;u|R(q_|9XAszxM4!?z7<Xs_Ue)5AIIF7t(E}GIX&Yw zj1(dj6T)c?eIb?U9>JL@!Eu@}*G^-}#+2xMmhuw#Z0b2)2`5N9%B&h5@<Wmw$?{BL z+xtJIws-51<=<`$+J+qcnskaT$+~VTXU-7mZ*T^N(^6J%dF&;$9t}3T(#*R2$;~^} z>>fSR{H^UlvnDxOw`<J~nsHJOokweiySjBdYV6_0J=Vj`dZhX1nvc;`>|vZz12cBn z!^2}9t7vR;>P^<<20haJem9{smL^hmz~<6qgxGIk<k9+INAYYJA6YVh*y&+9V)DqN z!sw&bXg8-B@~_!o$ltC<Bfs6xm>Rte#=N4r14c1{Sb2x<IS1n4IQg!VL~tApbn@kd zB)x?wo2(abvcwL~1!KhiUMFxXDkhUYX-lO6Z#JJgQa9Mm;o9H9Q)ZmUSM26+I0<QP zFTKC13u_y(bZk&J=vXCj6KKy7Re}|12s+y^0TSaGjqu*9Z-WQUgoNG>!9uU6SCa&| zzU~X<lRz?58gmnzn337b_yw|*>z+TIgsS0vd@N=CagUp&{86p#0eRI(_!q-cuBkQq z3uY<reypZ`{w!r<Z1M@RlrJutP7k&5Fkbt!v6MfnVPr7o70o>kmhzeZ6)fehp9f3v zN`7XR;?+Dsmh$;{zI{h|zFiwnj}{_BWa0lL1}!L$xIYa}j^Rw3^(hH14v&E{lvg>A z>p$@$?n8CLA8oe6BTH8PGaPXrKhh)abr{Mc?u(v8N8Bg1M>ja)J{ga=>#({F$43XJ z+?P)~UyW1}Pv5h6NiVg!C^$IfKIw91X4RqKN}^w$f8^JzgYG9xt8?g}`y{KM)k@gr zwc(n#RL9&G@j4FX0_f&2$J}!*o<nEiS>*kg`{E-%<^F_#7@ToG3=mRi90+ZuJLU#Q z+-DmF@-bCF-!zON=%9~q${j#ePaRjaL+*7tOlO%31_p=RXRigFfTqVC>G6zveuQV- z$ECT-9s+21$&_lZz{awTc=DYXg1oRZ>?U2YTl*8@+6?{`jb-V4F%AExpTERr;?zTp z%fi&Q26`FWTIP8%C5Ng<9?|=U*lA@q-h(hBw4KPVGvb`=8{Pbm<#VF-6M5W(%lv_t z^dv}P>aY(<e!~kSQP0;F=F;RTXpLtow1gE$iB#Znd2vz4jI95Ytn4Ra3driYenJcm z^@9ope=AIZff}&bh9=M=glik?ZohqT@bKLDTQu|cyjY*uSheB6<w@5!H+AXzRC@Wz z3ETYqYQLs>p`b1xX+Ovqe@)o0Jk)D-U^6iz20I&oF^sc#&$&>|N5^H#9`_JrNd=jr zX_SzmdIBM0x$hHuS#Et7B&}i4Xf^_N;pIIUmvtw(H!<Bw>Dt(DBU0PJw?<H2xk?yC z$geZE`d6#2%-oqEwO&HIsN8JNgDkcc0iwhfpxRjS4OAp-b-IQi!<1c=3Fc&Vvp$So zQAg9|eFExCHSs8VTqx;_Aj;-Nh|O@!YluT{!vdsr{AjzisZlHQr{%y2+O9$CT7*%x zrq@iuhCG?IPS}Q9wtlHqJwmDa<}WiXp@;m&E*-W&<O6zrs;XsTK;HS@bNOCw9oNen z6lO2bl&WUL^s>@K3TAqdjNR4E+ON-E_Y4dk?7zrjDnn;w6on^9j)*F9rnwc(DvL-_ zP3sDc6{z4f7CWdnlliFN@eWxP>|?n$T*=$GOsoTavZ2!3+nyPD2-3y56UmxPE*So5 z@ZmSGFgCFjl<y1TN~Kvt<eh(Qjr79q_*kUYE4>kNhg)vnq1muKpwr5^BsTetHJTOY z^-?{~MWQjN&R|=U-{+U^Dua3`i1S;1)hnq&R=g<+O5J@e4_34*;Zhk67HcxX(S&Wa zHd&I(HorofOB(0)Etk#t3ot8NdmXf6%9CD~mY^hIyXxsW>@34&J%@w6I|O^JB1*0! z;8_Lyh6wz6J%N6mg6L;pTouGVpV@DkAgK8kak%3meLt6Rh{&QrdX$~FGP@?$xX}y; zSX#|4?MSQE7tehqCQDJS{}akyUNsaE_emP6BWg+G{OE}CA$Dww&WG0ZgbpFA1m;Y$ zBMaDwv>Ctxp+*++)VMcfHLw?o1m^Eji$9}Gsf-nT-2flcbA76nHPh<IUtG`1>0l;K zjIgWd8}xsU<MS*Y(8g&zx+@#3-^Iua@r32Erda<%T<_vY2D`*iXctxH|MGl!Koto; zC)fHnGn(k4d%dPgFfLcJt6s?yA5#)Cp%}iEHXzG6C0YGk`Mi|fn@M4mjD!IY*3**W zFSju%NuDV=0739#_m|U%_5$)hKh+vYe7eh;m*sanUr=o}TgT1aG*jTMsF;)^|M;Gg zD3du0u&K(V+Ubsrj*U;unVZi$=Ggg9`K707<p^9FVQ3;u*U3pb{#3oQl?K$scfX`} zS<JUAMMlfUpQ3j}RI;+Hlt^>q^YxBP8|>YZ2BX*=KUVLwx)s#t?|5Mzb?z6~NXCy* zo_5R=+r$Mf2}A|7a<R=^@4E3_Y!m;VBw#G8)h`1t2Tq6H@nX15?7JA6VxH$@%~c*- z3u|V4_uNMJB;bb*FwMnxu}$Mn$4cSA`8P?lcZ2y#d7$7WNpqzw$=Q;myD~}nWFq6- zwM&v@Wnx|wSifS8OR^?rWBD*-VS0`Ek=CeaTVdXCjj|htV|eGJj$vE<rvq^967jUj zd!Un<P>!40bimG`l(>}ik&}~xY?GS7m=eF>mUrgJWLThug3YDtKKlp9u`|`p-+h7B zlTHE8SkjoRNME+iV+EZ2(5$Wj0CKDJS0w;$LS?E%jS2w3CKh!X_}=e`>m*^mx@EKW zU$0w;Uo*S)l%H3(OlV=HW{ALf{^MgE4TCp-!8|ffYI`x=u)zFU*&p!4-*(fExP>-b zeEXIWgDT;;4Ea2xOyRW8x&<Q@E1J~VkL3e?qLvqh=4Hm94kqrZ6H;w>X(R4J9yf2< zg^Y3msZZnbD@JV~>Ea3{mm|`w7Mip#m4EHGZMUmnd{OrFX9W@|pm>vdQS?z`AvyM? zOaM}=I4VmJuC=<mYIXnn)&52GCbT1lq{Xh4SFXwygyhT~dwacBV>O>4x}neWwGXW= zSdln5z~x@cIg3%*&wXW!g68*mKTE^vFsxH+7lMs&!A2a-X}vjXP*sI8c|NHsVeUM# z+2U1VZWWk2msirFuKmC+P+}<j(=Hm86g1Ew*|Gzc+($Oacf72x(Umv4a0Omy)tq10 zAyu~@q^=v@CxodwI5k37C{D~S@!XOr4Vm^}O!-aoCuWxxW%KtmEAhZ)sh}&hUgc-k zWo1KPm*Yk<Qp$l6gC*(!sYV#IVB*Ap6wYVo74?eftdwNB=lSPfMZ8fF{mj}of+DBG znFFIBrOYNnZ-A1*CNi_d^p2;h&GUO@)5=1x&|dNzjs-e<Ki-!MG{3meNDE4nJE258 z(F^pP2{^6M%=sl?jH=KzV}g8Uwh4laF+4-;+9be2I*b$HJh)`4100$I#=7HIc8@?= z{3_<x1fkN3=4B8%FT!>PJFEm4js!fY^d6>5evri|+)XMh51Ve}g*nDkL_M%=m7+Cv z^$aU0?BmF+pdd@Dfnklr5@R3Ch}^~-L1&sB^f~<}ZU-HzlXU>BYm|62ku!kgafbPX zh?+-g|E#xN+CNWl`)3^t6G!SVkVOs`+B0T@_cX@`5kO~z^{i)OdpO3=G-+mF@5~1w zJ;C`$2F6Yzq-p_HC6Z-^4V_lWkfAe=hE7r2eEnIFe|dRj<;3z-RaRO}EtKb^@ehc` ztaj@L7EbC=+rpk!Hh7r=xTg7xAfAP1WV*R!vv{JG%_C@hVAVu=7w@k(&a2>!o0Y~; zG_YvSz_SDr!&414;u1lo%$z3`)R9s%W!6b5okq?!Juzd>UW1!4aW00Zvc5~rVj5VO zPQZY5#GPnZw8Ts5HZ!;#Rf7;%8qL@tq7bMscFdQb?WCin3{l14RQ)>3sAl>tQ&TXU zEW%!=xyNA$>2_E?`gob-zbA%t7V9dH(|RL%tj4KJ=lHaCU^HE!!&{Xa%Zwcj|DI!? zNeg%|tSK5b{1pz?HwPAiO;bO?qp6xBPG_O`^Eiz<d8}qN94jnKRkaGMLTnro6zTPt zwRs%);rJFuhjds8gcPHi5Ma4{5uT$CnXFDmvztY%31*e|qem*J@(2!51{H{D{=?HU zI3ZAB&9!56q)+Q<SZix%SQYC6^Fx&=uL#fU`qtTHU1PPnG>o&=CDjXnY|~sqvFeJW z3QchIG5>2hiW_VrULRVTs8WN{ygZy5fdVu2E)`w8r=DQZW-(eTI{Ij>+CZ2vZ=Ht> z)T)DP1%<=ez_o%dIOl)*D{j}rY0YSqk+%a$+%s5=Lp*do>5qoz8iC1Bhufhh4qi2o zppBP}cDJGykRfVe(1qOTKw^b`qW$A!?&B>wt_eri+-u8dPsH$?iefeP12+k-VsE-P z=ho4<6;YtQ&z1Ve0a?=mbwYq?rZlUdX7UOs!c(V`VjeBOWUc?kb8$J6Qkd(%m2J7C zYhF?IG#=DG$-_3XPs|Q+UP@oqak#)FQXTnwSTDD9R1XW(JIqVs=1wn@2q;FerGruG zT{3+#fDK-j{}6fZedLixI${%<8E?sbNOo(_D@ek_ANUj&1ljyD8GmXmJ;GTF)n4XT zzYn$7=AXdTO$ieM1sI7E7uxFI(plL!)Rv&7^WKfE{M<}`)cI@mWCm~IIq1^e){u88 zcBnZp?li)BYl3}_M%ZM@sBl~Lo2Y(0)u|ynI|9t>z=$e(xUF5GMtHa_KJ$~a^llyA zT|hROO`&efn5?Wzs6twITJX?*BCz7GY$j%M!8_W6HdTiiy4Q8AlL9K=x<c4Q$u38w z#PgZ`mchWN3JW%>Ivc*JBSp3B5edg=4Ur&`1Eg|)im0L+`DfSE2HiHj=!#J1Rpobc z<l6w+aK1GD!N>i0d0IvECQLPqaW%q0FjK-%Z(3O0FNCYjPwV)M5?65=LoUcZ^3;fj zt5+n1k;_%MM)1a<e&gDLSg-Q0E{_IBuf^{qwxuK>N|XYrw~_zJ(pm=$xp1r!6+;t2 zy&OyepXxIp2M8O8p&3AZqG&^!5*yG?u+2FvbV-{#RK8p)Mni6%A6WwoGU1rBoK47k zR|%}GqY?!6chjx}f&J~0dqC`q!3(2bkZX?(0y5HdML9|RsaEzh!lYO*4-E==!}@ZZ zydc}f@1>fh$({zwJ<mHD+J6eDvwOBj@9VAG@xIod{4dVnaOq@r%l1EjKj_xn0D&9f z@=E5XZQK7qHxVn-cFSZ3J=urTH5iTX>=U!S5<u2%x)t#EC@Gls|8z%^um2B;RlY;z zB*Y}vg3T4!TM8C^b5xcqWDnW<FsNF+7#*@aE&H#YFX-E8FH-nLIJVTXsA*q(TJs2m z21EXN9hkaB$iy0<KlAf-zwLag$0VcEk)=95cK|kX*ou&V(A~G4x|fi3Wn)J}k{=n; zQ_=_3A{{;iCze1aetaMA)?5YK+=@_mAZFOlQy=e)zYSE{-U<B};+_$)W=(^-{LrXi z16ihNt4TG%f428VH7KS15qGU7&27+n)$ETJ$Xc3cqBJ@q&t^|>0|%vxibs<KW?VIk zk)GByb!5BX1C`tKL_)iTXQV`&Z7!$`k?R|7iR5@DGanhIMuS`^qEhR$a^R}1G;kns zFw*&N_^<rF6G$*B4xSP?Ubl)CJz?L~S41b|$pL8>SiSdgR|gbJX<_Nj^RYfS;aV}M zm1&5x1O^5uN4J6tEsLRQdzDtNiux;R+uvqVqE`a$BtwFWQ8@6<Ta(b^8zAg{3+eUm zy46+vL9QKeMBWCbntJK^ww3wvH~(KIG28;gaiF(blKFehpHS>rifN)etm=1_#lk*S zxiCDa7dub0!9m$KI!9EZ@cws@VO}h}VFN#IX6CsWqAOPLiB~0Kf7$iR+IKWB?zh-G zZOMjb8wX5TEm}-Ixw2x}lJ3YU2T5bCu!YgmVUYaV6C%f9Shh3}xkc6%Ylas$!%tis zWam4+512##{x*R5{B3sck1}XX$;;VFrMA-WVv;-x9!S-TX11t|N7i0?B<(Ht_D=Bj zCV!UpFnB$7|4#MxR(X3X>g{cMUdhX*VHQ5h0F{^u>p9k81Hmw$KxjTg$((~{#R`zj zFc7T!EmJe#9xaviB0Y3HA^J22ghg#IwEwa!BDtfDYYvQC(;9v5CGw1FdUx400Xx)m zb9&Q=fi1fQ%9_@lMqY#_VIRAxSO+wB=|p-(R@XhR-Zr+^s_ldIw!Pc%D_U-F24`BQ zkyyN7Q&K^hM3O9%kRDMg43X3uu^8ddg+C^ZIFh9kc{l9L2YM)-_pIR>JJ7|O`>d)( zH4&B(Taqn;%fs1}oLrf4&@>4TSx&e{CG6Vg70BoMyv};LV(2r-+N@eY*0p*vY|@BK z|1EKxZ~9GP8~bLzVSLlBb!wqg=$Acp&r=J2<u7>pi$(DTPrbl=p8shZNSODDw<2tY z9Zd-)AMR$|*SE~+f+O_ibU}?;Vvx&aCuW7VOP~2QDFv5T`6JIG0sq*N`jZitaYmnk z;=8{b$sOC}R3_FO{B)S9<75L<tV4EIO-Z&CR6sV*t1`T2G&^Dq?MgvGwcH|uZn*RP zs3je#C2iTzYVCgWxl%yaWy}PgQ{1Gc^$LiYB1CKG(v#XQo!%<0hDj#XMx8}*X&g)i zPHfS^&#(Sn*@xMMJIF3OV?|*CH~9u%lZuOORS8`CX8Nb$-QrvMLd%9<A(Bt4@?+X% zy?Ofw>5Vy7w9PU-z~XGZkvZdu_r_YJhFy4Is5h(xWpA_qRK01<=nXU5db3M5Fdr)+ zCtBE-G<KxDQB}5$z+ZZ9O?%_Q-_0q5#LTqAecQL;qxrtm)+D`gL=$e-+Wx6TWU!=B zc<BX%11l@vl^Wf^lwvXJ;3_VT)HgP5|8?6`ReGb+Q`$Fa<T^3PW_WLox9D`{-KBTc z;E-n*Bj|<pr(SAb+QX=9-V5GPJ^K_c2kV6af+}s+bB@CI@Eo-`LRm4kvcc9*F}|{K zDGx^f5*{qJzwf;XTr0waqGI;&NWfZ|hBlKTV-mz@v)4ll`>z8_T%wmUVVPmdNliBJ zOuVaqSK!6*^T}q~Tx}M7_m?%1rZVP=`&(#2NHStPrcuD`L|(OPcAD6Tkh3`x!}ynI z($uv=P2>#X&YhgBU~0g`h_NQ16=RKGlbSCQ0PN)=9x{&PH=XG(R`I}dM65<Js@P#M z_kY=s>i-IvQ~Dh~_PhDl|D%2=Vu}<mMMWuaflQ0|MZ2wj*J1Ud2$@}eSSxE$Mn=#( zsHPxR56GttJ3y4J4!i#c8#-S+M~q=Id#KeX8ihKk1AxfR#b~}8ze%=@PKRilOOp$s zcz#~MfbodlK`2uvQWi2-6d$bm9dE7AnMnmO30GcL5CseBhW&NCx5cQsWNd|t^GM*; z#+`#YX1RJ^moKOQ5G#)^lgpy7or@(_x3-x@5~?d<m!1{Ywbj2qaRNJ>(CVnJOJT0< zD-<PAeOuS&WO4hYI2Xj;!83_TLwKl@APm|$Pw*^FE-)W7bq*ogkcMGe2ooLKZh9xb z>1@3j@4=8|6cJ*%EAI+;iby!MkEZvHQ#Ed*01cT<X8S(>2Y4J}iP9M5Z~r~3Q9d)O zM_x2$H!&#ih&9z(fXLikv<_PZ8+}#<$fpWnU*X6UbEg^ZV;0@>bZuuE)0St&Y^a{^ zsLo4NUqYN3npbwZ^iWGP7V*d`Bc-#U&~w3gvr~(4?IDQXG>J747V}^t6g-+sGJ>cv ztHp4Q=*ts+ykZfF^I!=f!jwyhOQc8VCuR%u6R$_!fJ$lZMM`M4Mcx;t9p;9_7kSl^ z-}*9vcu4yYXgYGS-SC%?_B&5SLEm!=o0lhrZ9HuAl8jVv9$UM+@4p==g(m(&^x;|+ z`W!*}?&+j0nJ|{y&8PJ#8VMLM_m0NZTY8mryTD$$z<y}dsIe2aWRW^<wuFVmgEQ@m zYK5fJH0&MqgYElpqs_{e2DPN&E18T2&<roXYH7{lwtPZyL_lG~b2)!0gOsf%$98MV z*-J>TKoV%N32mSD`lnR1+?H#?B5GM&)<VondXT@AtOTBsUTGxQQkX7wP;mG_O2Te! za}|0wArlo@gM|i+)+IY2H%{6$fV|W2%-4XmHU230`5(T3wDC-`$(IXiF$nbWd(X3W zQQYf5$<Kt~S8_cWodMfu(K@>h8&PIv1+0Jzj>Bg-?dx&P3@Y^q+Erw(>7S<IR+t3@ zowhfekY2z(9K6m_8Vw;}ak%EoyOZ!->p<9{^v3&88nlJ30pJk#D9l||@Dsz;0u5@z z`3!sMFn6(nJw`rZmyMQgO@&^`Ws?D1Ky3NN{n28y7<tJ;)KX?f*zQG$+J?G{`F0`A zv|a-*Sa2D>Ebs$Ny!?Xsyyzthi|&8og(6E~-RQhz;Y$Dls@#hox|ChN{S~rE!?saL zxqDj}jf}|te$<A@(cmKu8svL6nH{W%nh%uSY-JC!@#1CQG*4yOYSaT+2zfS42|FMD zU3eAa7IxgpuXizHVc(-+Px&is{T_&XTDX>nJ0I-7w=7mt+oA#HA!5V)A!Rb>h0RrV zW{^u65UnVAxz_kM$8+W&6^)>rfRFYp66WKadC7FINFYZPqVG)%JD*0rY2>&4I%{Go zAq5Tdj0tvQCAYbI9J3;S$IHM3Zi!X7x2W96^m2qsn57(?t}1tp%8gAgN05kF%1Qbw z;e3zEJ#Bh9q{~^#;bTyh+op1@>E#fFXDNr%K~?T=Rjxa|oHESBi$uB-&Rw@st~0$H zg7_@u<X%~p`?T7dH@zIYce9j}cXL_pOS8h+owb}MKw0j-_tRc`dVAv2Gy5lvt}OR; zwKqP!92(s$<<Od|a^IP?9NNw-<>V7kw)f8}H!;0EWY}5Cp+Q&WuKo<=^6BMJpJyq@ za!{3fyUNXIk5aRgW67w>ZC1G%?J=WfDF^qg%57D-8RGz>n^}%hESE_4>DZkec0L<2 z5NvfvNM^6aYZ$NtP5wJGEQYV;L<|8N<z5GWhJl^EkSn)agoO6YMRQIw?IvtFiZ5sf zR5D<efAJzD7eyk$guEdojr=ywgEdmQc)}l@P2qmA-2KD&nB?nh(^-yu*dZ~*z;(^b z!Q`$js%k556ATb;CHF@8DNSS#Q8w7a={F>_l;)01q2OY3S=f&pWDf3<$WZ$;1?=VT zse=eUK(qp%J(e%dNw_%iN4{tvz?qtiZAZXSX&-Y{GOv-4nUo#)McRS@`6XXmNpJw1 zzxBC>F_t)6Tum{RJ=b0E77XCi@dm_3e_yk1RL33=Q9)n7Raa;UGQ5#J4eK)4H9r;= z7`IL(>Lss{rM%tw)oTca0~RY$_e37G;aP$kwqb|21`g$cruNo==Pj@&Hk6{eWckX5 zPU@IAJ*d)Qo(3@yx81=GiPlj;TQyARwKZ)Zl!Yb#I-I;7wgTj+>j*tz<GnkQ&<~sM z+mYm7`As9tSV)5<s<R0K(k>0es&T?~2pklRt4w!}HiN-|0f;_3wef=yv)8N-wykV6 zU)sm3U%USzVzvjQw2(?pNuXal#l|B>LSd{ru0Jq5ZBOa=lT8kt6Sy;zYC=6qf-*52 zkrZ>eLByH;KcTbF2<x;}C$Gg%cG5W#>N#Iot@NVWuDcN<pK;#K<ZKBl(rA%Zd!5GW z!R(Jy+X^A5%DodaFmg7=H4Yvimhq|Cm&~ho<E;DriL)U-QfVI<R4?Wb0J@kc=IB4f zv2jE>{yQ5%ECv0XAD|lrM+Qcb?+HgLFXRd1HH2GL`BCJyQ57s-N<|v0zNjJ=04H^% zu#x=R$N@`}xxER2ujDvzTa~Bl2J)rJJXAj(n3aT3QgdXbTAEDs=1{<LQeu=`bE+(Z zGGsA?%+(`WeCFmqKHJ{*kWz$`Vy<CiuHrMN#oWS<I~dc5=jGJtdf(NdqN}c;jVjI; z!L-%U4(bcaUazB#@isF3-ggr1z%;!Bq{8RmD(~WrMjXg+!l{7jMxYc6UJ&<KxyPu% zhEI*l=n>Cq=sV4^ZzQ!wEz=^YSne=2Ta{$N&-yWHH4<S{STLeRy{tb0h8b^}XksfP ze9~LdQf~q(KoNQ=PVuTAv&4kc7Yfrj(1ER<3=Si;{*F}r?Ks>>IM`c;A&ci>Vt*B@ zyvvA#an1#+X<YS$ajqON`;jKAvT!a_8*MxU4YmNuex?jcooZaH?JrSzL#=5OP6V0X zB=Z0(C|1!k<<P0;WvqXixH=gLu_#LJhW8PH+f)H!D~Fxs06)-4M8V}h%DiUnoK~Zm zCRubjp-Pml*RN&iZM72k7cbJFQ^+hlOOq^ovrIN{aF1`B;hr+t8oX^|7l;`;;cg|t zE_HPKS|epBLp9<x_9vnZg$K&yX!u5%91Gu45+;INqR!r{pK>s=B37xAql2c#th8J( zW04=ylssybFSUGZW2+}>#gdKi!!p^l{@L5sAVb^0u(urp!IItZ#j@B4D@Uws)VgXJ zaQoKV&@Mqa04Pn(0oqT(5BO*>I({wb__d_t*OHE3OFDin>G-vz<JXc7l_f`PSS&dj zex%ko&ul*h8A6P-_zINN5u~BEq=RBf2gQ;OiX|NsOFAf)bWkkW4S!!&HWL1+OpXqc zV}=9EJ8rnr;cWwO0x}|!pxI=M=L*bz2AZ92s<Ct28M-q}=hcXcAnk24e6LKls6d35 z7EXBfy={bN$<AQJyFTJXpNyEimvZIMiHfKtVz2Fx3ws?Suh@5ih-X+?fymHSTk<*W zB`V^yXUV2jWXYBRWy!Y95leQAPA%Crf<vJztJioE1-{#3NMSH06v*c=9lN%Zw&S8* zITcq708Wz3X(y(Ln=o??><Xi4(t}Z;i0h{W8{52LwWK)=X>A>jAQi-e`19(C7P%9d zSk3*<=d0YvWm)^!YF@%g@C%Vmgsm1TB*9)MiTr?k&P;raUpU-Ze!(__wPsv@2zY?q zhLHI@7WEmzf++C$=U>%_jTGs{MY5351s?vKwGiM`r+bj_#DPSu`){6K{Vj6}b6Ia@ zvkuT~p#A~@;sD9(fu6&s!Z&>?lPR52XTc(aTjp@wdv4Mf_ry*$TxK0&JgV`t8#J_y zq48rtbgGB(Bc(d995Q|yIs1gfAOWsjbTn>oO=%p-Le)N*Z6=1bSFE%wYmZtd5VX8z z=CL(kb<=}Pguvf=8<NG;N93on>w>S=U-i*RverlM^v|h}NU&8Ot-nvSkJdZEK5HK} z7c7iHrVX+&&Cabj;$(>3S-94;&8s=5<o_f_UYlyQT$;Q)WyQ!8<!C<~i`0G`o$P#% zq)vcO?OcHb45S3x3#?cuqd^USo`xU8D)>g}4`XNB`W}S)KODmhDa4B<Es$vw<zN9e zea1xQ-FV~$Mf(KNqIT<;r7HQp(@4=AXZU0gm#+8FyFbN?<z&QSgR*j#r_lL;K)WF9 zW3EMg@!e@{>64@*_PR}aJ!x%q#Uy5Zq@}Qf4PBCm+pgs6{+DdE)yXH`vTOd%T<`Qx z*w`T}!|QNcZfT2%7dtcWCeGCaJe6-6vXMJ`7zAF)J?AO!e)&f7JkT&uH#NYC_(#*- zBxH`zDuOBQ8>fr5wXD-S1HG@LdQ_PrgbS)%*}wsjN;fom<DLb<7%b|1gBkhDYh*yf z67st3LKNZkVUbl<!y<qAQ2Nv$`r}^+#Om5X`PTU7Sh>dsh5w2T!e3lb#ch#MvB;@F zO9|@~J_96)Cz^k7gb1LvESNrAj8eGLl}&Tz)xeHWjM_&eRqP~k-{8clhxRe5Do-A9 z_(!8G{FwSnsLpuuIXq-g4C&+&iE)**enIrMV?GtlY$)Xi8;rH-oOZ`qIgD{&inb3p z-<UsvKr8vSlSJl?eBJN$QmtUMnWCjrc&A#Fp2}=cb<p<Q<ed=VHM0@i(Oq#wVu8b6 z(`M#y8_KiQTxo9W_<`Z+8)R@e->6{s5d3H@=yJ^qKR8ig+sxy(CyQ<?m8Cxx{xfP! zc<M`#?$ToXitzTSsisd_Q@V7s(tPbxxDL`5^RWFUX%qkLETC_zr{bu#zd(!^Z2L8? z0e;8ASB+<k8ShBJUpp*Y8xDS#$#Y-?wGPbjHnI-XK#RD9R%Pr110B@Priy8U^Q98$ zw1V&W#MaqG%MaLuF4|N>e|bC&7U017=lUmh?nACE8J^uMF7J(tebI?UwyW&0IKk0Q z{)f4)S}U}yNv&d^Tu3nZnB`-%Gln#bIhp1RJrFu-Kj<lugRKHVL;-M2ZRS=mA)#2C z?>}jnajN%a&)L~OqMpC2Yb?uqj*LFWf1{1n<;$nB+f;LN>deVfoi+iW#dtZq>G*yJ z&!ukuR}J|vHPDW1$iRJ&Juv*w`xQ!6K2QqRQp4z%{+(l#og5*1jA5kYs7B38{zN55 zyd(nLU@Xd#=(j34Dik17XecPpGq)juB@W8G3l#c}9jfqQN9vZR&N5O!<zvMmD~%PB zrL}01iVuROE;A<o(J7){=&>3}c+Aj9=4yPtjiePKzr-OsN0Fem(^UQ%<Y$;VN<Y7* zeoEA<<V<rCpb?4IZ8#-6UmLqFTJMRAw+vvc7CZ>cE^dIBQ!-nLxY6!+m<U8-*|4L6 zM=b&od%z0K?OTgD_$s|iY%>4AGesaqBrNQ^8ph(}_QcvL21_m_1;`$M8!d5?13uSa z6S78BX(XyLC{ZLMSor$PiDBcu9c;mg7(C2OgyPT|@%h~ixGB$F4eaAko%%8bl-zz* zE?Gd9-}wp{IO4+wdLhP6&jcwsV?HNAD%ul!ECRl!*0Nbtz5jo<dPd7}|5aV~)~iT0 zLp3@^@^`-sb}VrAMsPr`gbsmY1tBs=uVcZ_;5cF<Hoiqf8|$@gY}2lxLhWy~6LUTW z6%s@N>$Hf`=oC+D%1pgvFHv9%iNHq^V%%`3kjs8%z1@?6U+d+W1H^osAyJEU5k>k9 z!0bh0=M!oItkU|Vx9j3)P2s1_S6uw~t6t+{6vqpHVh@&1EFG_)EH2n31=1Bsf#%BU zm6T;IAj1_t!k6lk^`#mL{m!pn5zp{g4Kd_5+=&@DSdl5qLDW=YS1KJ&`u|#n&7B{e z3O?{mk@GIavCwv>lVXLfaz{R)ER(>79E3!w_Gm$yvLVrK2m;6YkpvCeW2^di;yM0} zarX=PLlpGb|HLS`?ZSrk)rhSMw>QCt*hEs_B!}y>$|iGK7DQ-#4AYXRXgNXXaRAvF z)U#6ZVtyx+$qjEg{X`g+ZK)GUf6H4=KLtOjd<-uymBf#3v?{qu)W8)=D!C;2;9E{7 zSPms23QB&|OR_6)jFm)&564tRbrhJQr+Lv^%A!be6y0e>V@*qv?e>)zL9r&C1RK<J zme+KS*Yug;n!Yq#(-*v^i81UT>Wy@ZP6gAsUekGwh<zm@Aan5YRr@&(3dON)qmEcE zB@Sb}EyC%n`N3^pzUfQfx$~nBSm+?awmahX)6@WS7kX0{InZ~NKs)BX?U>W1y8NMQ zL-qS!>=K9Yo)SV>0a*L47aJ)%r_G>2=Pvc4S9sCyl|{XC4|wOgV*$O6R++;A1w0bS zm0t9<4(vadz;+BTKk=gYmN;IfP%#F0nTmnM)}>(P+n>MV-Ut8a%Uka=%wQ9mYmMP> z8s=7wt&b%(P(oC7)rLq_YHmrg-hMKlF_Z~XFosp4x>3W3YTWzy;G1idyfk^}&8M>x z!{#EOklFyw+`EXs(V7Q7|L)uW>W{w`#}6Y5(MD;A`$O1Ej14XD?3k4V(+}TVBYYrs zB4h7w!b%ov%lo?^_`*xd*^82IDskDe&i%2MOvl0;D+#NdQ?)tiB~S2@?<`BUt>m@# zQ{oAWB)W)rZmDPhJln5GANO{$j_<WAMA<C1y}E}Tuns)zIELUJcFnNGt#Qpz^RR;z z)jjMI^RUDGALL<|4tN>NI@XiaeC(2%kDX377TU4KN+WNsq;#{ZHor~7VTYryYYwy3 zR9SbjYsjX6<qsLpt0BqAxsx4+zyh0}?RneLti^JdW8EA4Kme7(D@&Jr=Ngi)CiUHX z=L)Y_AMu@2bv+PXYfAz)$7JwxGtaqM8>BW?tXyVM);-{_dB{;<v0F@a#A)!!z?y*> zV8y~I11_C96Sq8m&eu<Cp(s7H1mH~HI5v^+jk8r-Yn^%CdN@dzxj{knkK-KHkbj)? z=AbgA+6k%T{qDth%5hnE^pIn`hCSq(x`7i9Iqr#d4>^8aA%l^7$hH3ypD`oJm96O> za!}R4Lyj(Cd(a-KL}poQ(Fs@4Q}i>AaqEE4avtca90nAEHEMX!YsiqQiB-wIEUusO ztP?&Wb>UwJ(iS*XG;N=#?pOyqiLG*3NDn+O0pD1c%f|7^SF3pF51OMbdE%wPJn?F6 z;g3gKGI+ziDo4DT&UQO0?>VE(MM(HFhjLHlY`1Zc9eIj*&d4NZj=fW%jWs`LQpRB( zNPvU6I7pG7?YmBt8`z+gXG|>RsWaKL)~2Is0VNpGCq^v7j5Z>zZoIX100!+rUItPk zXgWi|Xks~e(@AW4E5Cl+^lJ)WD#5L+5XzN&CSwV$Qj0wm@L0|DGC^v&W9%_0aS=po z(t4&VZ6!cnPQWJ=G3_<XHz!`QSOT0#%TUY+Z^fSZH@U^pTem(BDrA!}P6_}hiw!~G zwidCu3ScM?dmreDVF<Fz?MO~lT$!z1+varS8m!hhxMLd<+%>RJnN3x9fKVq;npDn> z_o93rP`Y&5M8>w*rGBk)RLUc%oXQScc{5gCjuJ31?-3_8T|`ZTf#Dc6zw5Xu3$dkE zjf<CM?v~>joj@`l&!J(NR*vckj=&%7H1cDSek_VV3jHYJkHz}2So>&312AH}n3V2g zFP0|DPnSfDKMdpm9Vs$AIZhylo~-pHc)5F~SiCzClT(d7<6a)ab-A`iV$Hv5HUDZ^ z^U~yb_TqWGc(pNUMB!xYZ+>AeF%7xIfcgHY&lZ_9^iDTvMVA<T#U(~B9>XQZ9S(3Z zzz3vqiSd#+E8ry}FPahT>-|yHhDSuv9dd&~n;prwSqL{yI~Y=7-Q#^&-_%aAB3vGn zIz#?23~kS6u!g`rV9IQBdPKE}J}{Qgxj~oP%tUsoDJkaWKRsJNxl=82mbun<yk69W zxfW}Oe9B^0Me`tK(O{!M$123G)RAKRrPRj}7;z|WT9yUX55&|wVeEyQ^&YP`j6*ry z8^%UXCPvQP2paWh0O^r=!<79O|JL;DTK`85TdSx8UNi898KL9D-Y|?>p|>I<yVHB3 z<_*K>;~50X7#`03YI;~0lnFH-M`a?8N|QBH{psP)JkGeQzY|)yIntt)yVhU%wb&ik z!u+r|44y5D=FUv^VdGJG!{9^1{)mL%1sc%G8-_a6TICJ%!No%DV|c?%40*#$47_2! zC1=%C&Z;=HO)Q>uH5H|Uw+6^9>~I$VSjxh3!(uo>C{EMl_CL;KIX9excNvK0p=FN` z2=!t2XAUGtuD8E}Woy*W9qLOzKOxaQ*yr#%SCNZrIbpJ+y<FG+PHRcH>j*BFn&%W2 z+n<Mc8QJF+esT8dvnIMShUmB$k2+v>MY<p;+lSOttU!jkIPCpA&^GejuaJWq#c-R7 zsBoZ{0`xLXR?NNhp_ro!66O}U7HNG*4RGM+u4Bd*0W%MG-hM!A0v&HZsr(L(2^DO` zP{qE_(i#VkpGx|5YkS0Ht0NW(7@q?hhe1baLNZ9%(NDhq#keK#lN`mIa1ikGw_HF2 z5xp;F4cT=Yt(*{ce2Q-|2xG1i1BA=90gy(+)NUKB^{11@lWQ74k}%ZLC}j_+E7p>J z?NhsQr4t+%>zJsabWV84@p(J=Y=j@{$KOK|Dl14L+@oP<33oNNvveD**1L_QRCaqE zU^_5}Z=Ma{*!(rhZOubu8YwiTRMW0tUgvkrx27i;i9Sfs@;b4EQ+x9Y5@;rxqDe8& zqTA^L%jNvy5a<a!5ZfntU?J4}WEK}ZMovk&CZOn^k}hJ>bCwf6W8`AKD)>nAo9#us zfD<v0j-^(RO0`QV4a@B5<bff<WF(0I36r0T>aY)f`Tyq6A&#&^lj1=W$m(dxcXzUu zPx6iN$a)qqYLNHpp)K~Qln!D^ysFw_UoK=|TdQxduS*|mgZ&Nl4feNUzumDJlj@Og zuqzNO+Wz@8%|sd6W51-xqz_-jC*Nbgki5QMsT0M%+b)Bvj5et1$o4V~l0q&F`!NEs z0Jb!$NTgWH%<PMYdj1JmiT~5uy(hIxDe$kaZJqDMIoM@Cl%~BY4$0a6ltvlxJ9+A$ zIe%5zA=^Gb$R#SO>^{oz;ZEGtvEq8d;tU8LelKTd>T9PXbJ+$uS?!QH!)JP)y9oG( ztG%-gW7>jpv<YkP%zmzSzB$c1A7ShK;<#asQ#0R@!^xygZ)MUuY2m7@{tg8bwYGYv zKHi|dc3zlmv8RQ@zgbC6Xle(YB$(!pcS?~Ztor<m>?dH7l}sFSsKZ}9z1&yFm|^CL z+P=ChQ?gi8+s>F3Y{QwQa55_`jfdY?XT%LlMY&Cl0p3t;6_;D>nw2Zm0r%9Pi|6tS z>@VO}fDDC2Ajd6r>zNPKv<-C(u1B(=PMsLBG=1IhRzemx)GJ7hSCn=xqc&~F4$VWV z(d1{6%OoaK$woV9{$^bVVv#B0b?ik$b4BVr8Kur^jO@}6EDEaQN`G)RpP(rWSVImZ z4=m4YCg^bC9&v<*8Be7Fdp3rvrxIMIpd_y4DxmClq?jFQJ8D@KjRG^lm7p_R_mv$n z7)7R~tJdsa{X5wbm}4+spMVNR(Xe}&Im+&?0CDL2EvGbGLoeULCgnx3EfqB0AQfQw zjj<>&d2JiSqA0^p__5}y4h$`?1yxYPl@e18CGY$9{mj%}uXvM1qS&IY*q(B9?W-_2 zTUUfTuH=O-pGa4%MQQ-$F%m`97mGwu_QfJmbn1N}T#9vOQx%CqnDIaq)Uh#@P)g9g z6hjoxsT7+KIbLhgi)fJ<v*(^2F%E?k!)DmWZxO(fM&X4QaAMy{U^3g}6a(Lm#i(N+ z{U-Lr!FyJV=|Fi)8vB*rW0jcsNpUFb+<;Mp7(z*3RcB~#6Qk#aEMNw2wxp848^(0X zqJ5??WI#)TaSvtACuzYZ8VX7A`}`VF&~P)Soy7xd7Zf8#a4HWb%PJUwMjk*STU1>{ zu%SB9fM!en(O<7(@U1F04c+iko1Wz5XgOghK!XvYdtFwv@&MCQ^Nh*C-W{0N43M}= za@wfRO4SuFfNo{?4TsDy{<cmwr;_WjiwE`~Y>42W^Eq$UH#US6Az#V7-ywjvo6-u# zk5SI}PZU$YWbi%Hn<D8EP_1-1v&u&LV@S@p-XOZ;mmuv6^-RtaKA0T8NV#(f^<X?4 ze_3xXJs1!FL3+Vl;wlt#F6Vpzjvka!Q*-o=B19^_>~hMCp=R_(tjwiy|CvLnahxiQ zPAs!dvM4hjj?uB@L&;^A_e&+5Vb!{iCeYxCEOgaWGyh?`<W)^X1POFtA4!taDi@p6 zhrJsuIE9bdq>v>?k3u(g=^@=hmc1e~odMlKhXzXBV$}2TsPYYTi+H-AWrdNOvx^IG zKR&Mm<^fTgH@eSUz>;zS4{C($nz}PSrx`Aomt)G5PT%vlH>csOcTRjA`*U0$gYME~ zA;*5GKnFWcPLAU_szdm;A7LQ`&C!$*6<&>EAvuigwrVsGhS?-8L>S-zp9Cay>O2kx z59ooTLp^V#uk*qD$BUd<loyD}lAkjvMI6wfVZ9Rn)0(^%C2<aow2HY5URghTiV!F( z0uLD{8AD;*eDz6NP<{}j_ft)|0n0K<%mXQh#n{Ct?yxWH8q$aw%p>|5)_?a0Q4fKJ zl|3B%5^toZ&_d>94&50+kU?b0LnFsTDo0paDa!yKE|%CEM-RuRYUnhXgeG|kH%#Cz znljl~qih(Jjb0by%_$B{3!8RJK@eiRIap3X-KOk=b}0?<B)vtTqt|xSQ^DC{QgPEH zX|=Gv=HGahI#K>BT1%4)t$U3~AH4XFY(@;-!PPA9;IbO7IZ3ubjR3g8+kMj8fuJA| z%qqQ3_|eyIi=I$Tsn@mUKL%Wr*+s|)JTAmj%V0c%<(uEXk0Xx7+`93V^pIs$@#f&P ziZ_S7WRmgnCRdcj22Eal7fo73UAvv;2%5Agdfp^)zse>Ra*ieya!#8o?qSogtJ@@$ zls$ZtnltwvA)?;HjX=9By%5_qk5|DDT@@H$yu#R-{Wf%Dkd_$x1|1h(;5ZsaO%K3a zl3lbiJIw)GE%sN7QD+NJ<N%hHg=e)9s#;WSC9>r1RyG&0^(f7q=gpn#&B;~3B=35x zHET}Cb4AR$+YVhl;sqZYM%ZGwSU@#NzMLWu=r;PX3sQ2dFZw7n+DCCs#|m7I;5z20 zP_a3++Tg(Gh048JdjXS~0<H5n%^HQs8O%nB!FFMaHWIbQRpK&JC*eUg7p~04NugvD z00t{}A(Nhz<>4Xy#<OgmfIj$z!zl5_&UM%<aLf)+ZFn9ICYP;dZ;!I&Y>_jK(Ym1k zS=!^v8Svs*F|J&k!h%=O3o&>$ps0Vola2VQy#wc&_OLn5++LVmm$Uf`Z=~%`c&a$Q zqV<`=Qw!JT?-*U}nnZDk-6u-{G@^|c%inOU{R&f`_*CMtv<@umr67*YNC7AnBWAsK zmF*_RJtP;sK`l$Z?`z41$x%BEggq!Hp6oHa$ALE<s~AB~>|>w6G|Upvli8LI6dWm( z7w<CDR>uN6BXIY&uE&~m5D)%s3F6($XtV;67Nff(qP`ZHAw1~a?0C2`EI^`3G1FT^ zTaZ%c%8EPAV~N{f+B*17aTd98A=1xh<2y^LKX)bKr-MeL?eOiS$`D<`+TpIjJEGMj zuh6z?J3MV|F-JoIhTB^BDLzrQSkPhoGmE(^lX=cxK%s}*3EV?vtU?DGVgA+7u(o-~ z!S>Q*wJ^t=G^FPDpHCv9z?vFRgS|Gu4T6$L!ba;c#eQ|ro%f&|ifDkef|KAoc!^&L zsB~<Josg&bNs$A=ota7zuZ*pOLB~XTBGyM6N^2;;cNI@!Q!6I4>T_bZqcQF9Wypo* zH*&IG7*vhc5g-4mCwkA&mk6lde?!G%KdWKDEs2+OwBA8(JOt!|tKGn(c~qaATw267 z^Y0w%P^Cpz7*8G8u)`$qLoxc(9+rDQ)v{u()N#nx%t1`76A+TF*?a)zBrn1TuT=`= zyGZ#3^WgF-q!7uj+JET7<+Rz=$UkdzAwylWkB9^d@MXSSjckq3sU*b=OWgxP7R;m) zs*qx8LKSHfs^HKtUf+<IcnN$THgJXPV7rsckR(Ygzf32GSp_r2YZLfeOYqe-j45R= z27N$_SCAtND@zlu;9E?dw_++i$LlEkfz%kbTUF!!0z(gp#gO<}JUN?x8V~kWRu|ct zVx{!6HR7Tqm-E4#BUE6L0y;8m_8x7fq$FX#pb|A#4(q-h%}VlmOoHNPNL}Gtn$F*W z$vUL$QtT{$fu%>x>EGOjx>5lWvEOkF{W7~ej5I?(bck8qG9k_${|eoa_qPUm`adA- zz1RT#&m3z`8=X!@CzH@uz>Xw5Taq|2LD|ld*D<%D+?nM6c)s8L$FB$N7b~TGd%%8C z-hSP0zn~KP)mJgrF8lFp{Xk4cR}ff5l7Ii$iNq4$SY%X89EK!+<8jJl2os8?SYyV; zd{u{kHoOAIaw^pOjRR6Sfu9fkd7Le}$xOC8l{6Y5g^91Ul=<udIs_K8TNSN~J+cF{ zNj@8&omb5tbSZhwhB!S*9d2qGHCfeW2-ZYaLF6FB`Nr70Iz)!Gy)+KAO!GwpRB4uQ z#U}sZZiR4zQ0)`9=tzqu&Y`quj}idSmlkb1$epM~Yb`~K9tEvk*P=(IF^^ns`;}-` z=D$CpcNB3gdc-oD`aHraA@y0Cn<&;pnH#1>j}ElxxCP2d5_(A`gMYL=E&}Uv=thEw z#cS<`KD$f2o6xFFk$C-dH@wjEK11Z!4a;=mnlbK%7fB56!g;h`uGF1+T5E_y7!rt( zT=6UQe4qrXl$1b}5Y`$w`eR|%nkW7RD=2s{ghaMvEn>cN5=iFC#kP>+J}LpFVeErj z>K5A<{-BJt^1II=WtzB2jeXn6H64608n|pS^Q~)xhG=h5Iie5)$8bTNb)b{2X7TV) ziVgwsg+Fwhb=hc+p=ldQ023AvS$*^huLFB4u}TUpbRujj4+Pk*_9_#7DB4aV!o8NI zt-Ipx7pgM=*ywA8D7rr2&80~a?!t!fNkR=iO)4*MQfTjFABBf)6pE&FT|Cin3;f5R zZfj4RM-vD-2x#Ek#INxJf|cAy+mc3T$K~+GvSjfo$ppFP%9Qsk?TNZTi9Lgu(0MW9 zIAMur*Gfod<4U9<XGNH>H!QQDRB5n0p9iC=JuqsbVGX1j9@7>GwK1rwWl)>yvNI}s zx?E%H6il(H-(4GybzVNT<-e}QpkbGiFS^v0<@f$$q7W+R?H8;K$0?~pkTktEeEEX4 z==EuM&+n`aPf>^s!!I8%H-co)M9uCE<gGoCzd(5FjZJ1v1{)1qudkAuu2YhC|L_(R zc`@^^yagw<emL+JX_h;IG5ojo84G252;ctt|GRchgR>2~9h%=)S(POI{%d^5xQ5r? z|8$@7jr2w_?<C<ZH&XK`iH$c>a}nNlV^#C#_(auK*}HFRmGJ%bO%bTuR8*t#u@6wR z2P~iY5>+>k>-82sO?B_utA=sf_d34$xBrFpX>L*E^Q`H2zmMOYV~#)m_+yWsKW{92 zZhEJ}f4{B*=5MYuV8XRCUeVC|t^<ID;iehi!e3lp)o|nWUc-lHyrPEBzMmQvgxlZW z47>R+;`SfkPZ9d{2|aOqx_Sn3!W###KJNGme>`|46lrvbi6~@YB@Bi&y#c*vPRtLx zZp3sH{^q8t(GTC`jeUH^E8zUgk5Xt}*!IyX`__+^O&ER~x@mbVy#F@hxbt7^$mZKx z){*z<Npm+2KE+qm{ej!K>1iU|FymXe=POlB-~Ni%aB$|U@63GlS?k=V^_L!R6`gd# z_7AAXAGg1su)o*c*5b{3?eF{am&^uD8m_mWY?)nAq?h+K7e4lbuYLdjxrD^~Kl;Wu zH!kU?ul~@Q&7Ie=J9#4>)!~Lii1o`-^njSL{=K1-0|$Rf4)|M%oCEQ9k(}XXMw?E% zo0kB^qD$6>0}p)tb!!#c)dEUv#z(kiwmcne6N77sNiC36DPCo^JYC@sResq|_)zeG zrR~BH6t>~N+d|0C*FC#r7cxw2Ycbbbq0piwLx}PzDbvX=w$w=yiL_U<@O`ZHC?-DY zpKjtSf_CayRytwNp4;M9R<yHKK>ZNI7kApUWQ4)Jy44?1DZ#^0E7ph2nbdW-0$;sC z13Le^<&vziZY<`3f?lwgS(#X(vij{pdN0A)Cosl!ye`_`Dli_J2?nLG8bvVJpwgjm zLrs3qE4=C5va``PXx5Spz`^s`Qp@5XTYA;_0X5$8#-$bv2Ij3aZUcgLv^4pf7N%yN zALFz}l)+=?&+K<>%rsIFqu+d`qXxt^4c!r&3NkBr&`!&djfioOuc0YnZ==Phi6daz zignoNVvC_3Zt6|!(n){BAW@AVh{*g_9RiaCyf%)<hyC1yhNX_o6<#8IqEp~w7_CuG zlx4lLL^tL(rjF9=J#lE5h}I=)j=A^@?P0sq@@xn{6FF1~3)=L3lmR}Z#BVyJB$G!{ z1YNg_5o@Ec?%6&HEc9-$6H!VkDoxgrl4x*WR=)xwLkKI$(+zZmI;J6Z$SS)WQxcw1 z+2l5NWs`ejH*5G2lRcI54B84zoGrk+UPNLuHiL#@vZt~ZDT!<^&k7}Vm{Mn8Wp2pt zN3CT_^Gh4K`lVaaP-clt*FcdiTCxu*LXYz7v<7T^@dcYgU*dmuzf4Txupo)aG!XJn zak%fU7db&tV8d($F7N`x)u+IQvOqz0yq#?_P~Cd?3-%P5(bPkKfpbzCqd0;ke;46Q zO6ktu8g|V2S@;CIiuagpM_H2rl3PF&Z9z%2_bryhJ%me@Vv^GVH+Tl!8>(ZncB@7v zaKVfwx<m*-K1&oY;Wi5#U<AB<n3@dWo%VAbLy%#Y7zTHP#W@qN#`<FUh}up6Be3CN zOm-^e0LwBf8&L#Wpx93bTsAZ->cEEs@uzn{fibNr>x4zytapO;*{lWZJq+}}XxtyR zpK=uX|J=qyCpXPDjO)!1X6U9oou|C!BQ8Mv=5PLxWbX&<Cx7iHt}WU4%4{1Ft87%X zhoW7X;A!dxO>%@k`^Lt<AC_f)+Pnz6?LA{YC<G3dWT&mnc2Z8sb5}yAQ~?E1J&N(P ztQXjTa-7+|Lxr{PGIZHc$3ga)cowyRM!tZ*!58=hI8NkRz$egHt4M$x!ajhffC2R| zX&khYaKJKy<Y}4LXIvtv+BO?lBL504^unBL-V-A{Z{(c&G~K>jw#z3Y0Dqe^o(zty z;_C#LgEeO1vs0`yBjM(s-iqxme;ZyG*yh61P42cl@v1t`W!lsS0F@XmOWbvgybi+C ztL=F>W|%aWJaJE5upG<1P30Dp<-YFae)+KFFw#X3fAk2jJ+&<OKfFEz(`Fk4!P%ke zN?&PRK7GRRW#wd+@AnW~wh?bA_y^U0Y+3);G@DgB6Pc>LB!f|?GZd=7o76k0E)>ba z2ZlPh-#geVVbD@C1OQg8*ug0QFs}q)Z`bOx4z|Tk*aVc)iXMtG4Z8{bvd-E1g|N`D zRXGcHtKO%S^}cn~>%~yrSkw6pDz-YUZY};(<<&`LYwPSqct)+YP0YRFUdT!to7*HB z8ZVpMSZ{7@W^;bPyw<sgy>p8nwK?0=wo&_vli_`OWci-hnuvGqFw(rC@XT7hGl&7h zSsaV)L!Ee}R;?{}R`pDRbG{y)^=NHiSe!vSW?-1l0c5eXMtJ+W+u-{ccJu;&hHxvr z!>l0kG63`YW6a?si1w&ZWTizETPiPXFznd-dvz2wlP5hv;M2v4#(wb6P55#rS(9K& z(b0iED!dH(iq5Lmw1|e!VwjbW0U{Am=Nu9wLAk#m9axsTFwuZM-s(TxF1Ut4XBmKb z_MAxG$ja6wtARbla}khC2pcVT65oS8NK)BxvW#@hJY+xRGSUhEr;O!vx)VMiySWf6 z8<#;?q{YaZWX%iLB>7FNw5)g6Brm5E+HCA&HTuw+N7Acb%TdbiD{&-g;Yb1~^gQSC z#sv9Iu`I*K-tmJZq}YIWzKR#nxHljR&&ZmT(&u6>lBrmz$*}X%h#3I&v8#_&twM5O z+aqjLo!FVFQ<g<ZXtXC!X&z!EgE9?=#E@7U8%Mj3%%|fC5RDAY8{qD`KzrUFYxz5B z6+0xYMnGKGN%DWNU~xbuBX~<25C9~>3ttoi&jIS58{z-BYLc-U_(6^G&bP+#N-vT% zX?}2V*+Mq924kmz55itv11K|8d{R{*Nf}U?12jTA4!6!7hg&^MYY1)?9%|V}Lz}N< z^NfiGR1n3k7-sAY88r8E#;CT0g-Gym7z7GpQHhXMbZ;bt?0gvzEH-;<Y=<VPndmom z{9ai}z9_f2#X%pn`N|6pf`TCvF;l82&&yc|ZJPJrx;2ur`Co9V0b5}>h}N|Jw*i1P z@}LDTYl!9^l)Vl%Y8gm4|I+@6)sHxgI4fb+h}@i3F-Pyyd2MRsFM_6irups1GvT}% z3yUH{0zQmVGCbG6aILk(ch)M7HR`dbPj9fZ2`H}p8uj9yJ;qkS*vrx4t@6?;q0IjX z4@pgwUAW<@BuhS5IcWm!;)3687XgRRMs#*PVPrb~t*e#zrP%D6u1A74)wmozlKvSX zsZv*#t)&tVU;qNXA07WwT*-U&Z>dw=@KAP%4<Dlyt~67Lj?|gPH@^oXHwtXp{3Zr8 zK5szP4D0`^wuRUkX4^y?VGA@Fb^aULW}At(L?8wZDUKMmi;fL2>>ghz<HE_A<ZQ#T z<%8zKu_BH@h`Mki?6;xY+qU5bO}3M;8(mKq+!8aV4GiS~-$~em6=uco(f2y<G$kL9 z*bKs$K|)+PJM%KTCoU+)5{{)blS!HVMqjWnI{aN;hRq>uRwP~fqO796nt$v*BJve{ zsmLtEHY-x2KBp26Mx&UsAuDP?c{_(zb<LOE>Ia(azBaF_tOU*W<m6+pLxpAM+Fb5C z{%tKJ*4~j%6kBFHQpZ1DIkxVP8|x|E!*rjr`O8>=kd&<+rC5RxCZ&u+C{P5CCTlMb zmJTP3Y_;ti_`G)qLUkir>k2_y25qBY>2*OC^CKfClTTRK@rhfRC}3s{ssx8W!WWU- zPUESoa)}G6-4UtziZ&CE8L;1I+u5=Q*xqG+J$sVS7izAyF`+-(VwYVlD*l4TRxauM zNT*ElOk-Qh-~QHwH5+j;8BI<pL`C01`sFuzWiT3MvK^OU;8-SAl~oCLOwbV@uvbnl zESIcW6>2yrr;qvdn3rtQLe5FwZe$ykxS=`CA*6-9vBv5GCruoC)*~;Bs_G_pJV4`2 zT)P<V2JtQ?)3|d|T!P1)x9Zd^r8$8iFB{ER`MtbWHc(AXhH^wRwLh1_^6_Gt5)Qwd zsGJeL5^LpzU>OO2z(HabK>j;>VPGegz5plIGHgi@MBdkSR7D1nYsr{a^*9nkbiCm- z9N;RpgZeF|pq`cEtgUF2YY~HL0Iz7;A_@JPPBKO#<CMj~EV}JOD_sp5<w{x+)o923 z@zV-^yfn)A3zRs{b&|1F$*8DWln4+byOoiesD5rZ^jf+q0h#EEs4WI1)S2*G<A$9D zxbaB3gcBJq9@A<$i(r~|D2U1Xr`7TsFGF;U5C0YAoMqcz=~Cn(zn+jJ@#KjyV8c~F z5nSgcv$7_8zm@-R5?C0>f{_rYMbXw`q;*BpUJ)P@dL_f0*}fDnUGePbLiidiEH>4* zK=x_)x?Y75<MgBY*j?y(PhfA-IEX@nuwE}ztotN$HbRk84HHfFCuEEQD;UYSejrZV zB4i;gx(mUs)Qjwjz8sfB5f<sCEmqpn*5rhg#MRocb)eSlVp%K9EKziD?9n1-F(jMN z7HQlPe#}{C>o5=KjsE7JhGSz~gFv4nhYwwIM@>HORxoXpG5@n?%l*TP=HEKIDj_>R zhr3qvG?>;1YYG+nDrFn5h|*$h(#gqV7ZZwjnf;IfZ=R`d_z+z4<J*(`y)R}sZzxlI zU81jysH;+xVwA+bVL*kr%@H<U^+GE<{+j&}yf_Og(x!1!Cn0klOgnCY9N;H^w~2e+ z+lKHXSx@xBR)tm5$p8A>8ZuJgL{nFu(7ZgHYHM}uzFK~4Oo;*5k^-F$DA*d6qy9*~ z5f)UnD1eMvu5esFhtdNg7m8R91Sn);v)CYm*Q|<=`54&v43(pl`<t@Oc1t-NpBuzt zZOWTPOJ=oziu}rJH-S(BT3=om=FKd1u}ms_Hzk=IEtowlcI51Zg>E>}6xTe;ZDQMQ z{YYqDA)$-u301i-3{}Buv_c0Q(dcf_P5^J^JRtQm_Z_fHne&<h0<3JD8D&7DTWQ6> zy07Ya_e86Ys*U>=2uv+JR%=7O(NSFkm6gSS)t#jVsFSeB3FvjHD|B7xAx;EU5>=Xt z=qS8{%U&6r5%|0AdtE><)g_P7PZQ}G9P6izlmPSY{%ZrK&=(Mag-H-qlw-k?lfNUE zN?so!faR^dQixg~t|Oo(1`}Mt8HoUI)I>cG{3Z<48jq7I5~2CNX8N2BeP&S+XTtl+ zxdM|zm%@rXv^X?LV{Q?na9lDV@MHNMse{fOkg&hI&}JP2C6S2%u1Q}SK4`+<`fA#M z2*eqhD;wJEu>rpRY1ZXoR84;cC0kF!T_3zdC&j}pH{B5rs)JkC9(~qJOaSwmCSm}r zvVYz!V>;{~aV590h7Al5FP4Z!27=4{9H>lQ5s6#dtdG(rsA?xG&KkX+!gRh}r!e=K zPJzI8`!eC|PVV!tDNTA`n{D)Wk(ZMVi3o7;kBM-vE~~}yBjFA+CkGl*&C0D7!!2Ll z5f6F9BcWAW*V~cMeN}#%RO7V@fNU$e=-n@mi48an+AEENK|R2ZDPQ|gzP7ft=$J~o zpPy(Y=qD#;x9ACiw(=bGceBCZ{Z-@iw&k&DUC5Pk1RoHNw$9M4wxU}}d*-}j+vW%r z>;zq^XuEF2q11LTo8~`3h1WOpyCQ761Qkx|Dl6A-1Ep9$dxZoIa%U*!gveFy{c?pa z&pWCP6GnG>Ck0e~$Mc0~tZL<ul^8s;k75iA4EdgN$ag?0yX+Ej(<B{{AbA*(AW>Zt zwtcwhM*i6~K0x3IpIz&olM1<HGO%G%V#E0|@zG)MD*s!6^ooQ^HZmKwg3)&so7S+9 zu}|n$i=URio)TB-h$k3X<YT#j*FG72SYnNhu!WYiylA=@1&AOvYevZM!T+Pqq;KqT zcuVxq4tr`@!7`z;42PJ8TFKwGoag2SkgJF3Q13FsJhF_?3`Co(YZ7is#0|}<NMUh4 zfkF8+PVXs5wqbkBnNYzBb&KM|{t@wqP2IG1FEJt}T17n+#9;moQZjWEwsw=~K{OUb zUD|<S_Ir2;gdjflF)u4rIx4b-N*8V|RQk;~;blM&hz>hjQk&R!kmz@nc)<XrY+q3T zNx`mQAkwtQQRm*-s0ieL{@c`t=(`v>jX@|30{*b8|6$)XrSdNF$s1HNI8<ZYwCydK zyCfLw`cF+_KIh27o(uMl<h<d};7NPm0KnWVUzMyN8$?zA!kBbg0=i3E*Rc)Ol5rlW zLEMa6wvp<9C@lz8Kl-f_kYW^Eu)$?vx`$E8+fht`%&%cwfK$T*GDC$2#c~G^3#cdJ zvO)>O`6VJ8p}t7DEqSwEjBw3l+BB9-zl##kBwV|mp4%C?jt)%OjSLE4o_~Qz>4rx= zgkEb*Is(7JA2=PViK2|ij|fI$xZ&7~aHBy3HzvDUwYz=`uNj!ZprHscHfg4bY|B>f zpg|ijJ7yvp@*CVVcO&FGE}8})<To_H%st(EP0$7{1ANmh?B$pY^#a<_YF~9Ej>TZ~ zZ$I|%qfbp0j<AF%?%izT4>Ww!6mgKOJt95~(*xTVhHhOpSJj#pST>Y1Doz+cm`Ad2 z&YV?LE6?3{<HNK$r!Jc0@DH72Fy+e>vH}-~j3u0B=`=f?2F{~YwlqoXYAs0(DB5yS z*VSGMudjlh;TobaHquVw1yZ|P3SwQFWZ}DPr!bAZY$NEFu(k-!YSML8C?CrAZ6!ma z%x7P0UI+kPcEwas<Ep@tnO&%5$%frvWyz-9CS}Ri;HI`VdQdFZ8C=@d9b_1>o3k*{ zd;6o|e&x57RL!z=LtgQa+NE&b%?OL`Zi}$oTPB;<sR)a%e6wWRn^Lu%!DVw@ZxKVU zA$i2Rtku(cUETJDmjD&PYnLXC!EIjki@&U^mcei9vSeqFw`&M!gpsl(yAX~k5(ks6 zem8dYpUb8k?N(DZsHtHiU~m1ZG)uPp5;B4uTTj~7v4*Cg^+e-mA2>o(CNUD1N$-he zXc-Q&5U-SL`z3PliUHmI5p<WO33JQpR!?Hx8gENF$z`GA;54gRyol&5Rnq%q$%a9e zhS7SF@(Q%XXbrJI#HiAi%&eD|^wO4W+C;EqYf!9h)!W-n_;guA*Jg^n9T^lGH4;VZ zcTmRsHa5k&w%IRj8LnV=pWV>Gf6ex#_p{~IoW3#bvs{+oq~BTdGB#6joGrR*8s{xU zXisJ56}xYRi)8s~u@fA|Frjj|sF7hZKv!M!Ix7TYTC?oDh2+E?0CRs>tg{|6#K_{g zx#^=L9g$rw`jg-F3RqGzY(|Ch`2ME9#QlM$&Npg*0EO-3<P!S?ljq5M5>ZSu<?2HD z&RIp&8L1%drqPaUvHdJRApa@=k(RW>s&++==Bs9IraFD}h6LDfLz_|KR>uxqSoUWJ zc06^+0N}6S+Ytp=5^8(1woJUI@k>*_QB_xGz~GKkvB*pquu2(vHlHP6D9v9CSKhHV zK9`X%->Q{2K3Ah4XD=Ziv0S}Wp$ruk)9LlUA}iA7GAym6W9)_2CopDX<@R`R>3g5v z72p5#bZrmR7S)hx0$6cP!r8`Jz2{pTAxNQ--}e+1##ATl;NS(Iq-6!)EJI@|bUN($ z_iYn>CY2nXL?Ti|BGiHMZj=$*<qax<HHZ>HYt0~`c&I^d8IV*Otk%$67?xRM4I82- zT3bRrGP)ZDLt4>BHy|r{kI)0#*1D;i<vvR{`?U#loFOt8&C7IYa<|Tn!d?!fsOcIz z??maN$?xedn!K9fp^00DyfIIMB1z$lsck7z><?(qiP6UubG4`N#5}>jvh^$b1^Hx1 zC`o@Es#+;yXPzW#o930@`px}@xE|t?DzFdAm4N5BQ(57cCjZ3ox3Z#*vsHAFSA<I? zXuv12tmvN9H}Q7sco!9YKlPY2g8karD!SAwI%E}H>lKwPZ<(#YYrO!DptOujuUak( z+%j8%^%g28(-s#cZW%7IW4034#1h<ANC~_#%icYp08Ho});526uTFj^CEN<n9}w?| z&oCK^@mHS{xW9h#*MDlKJT;F2eJwaWdv_{|JQ>>IiTMb^Jd1KnGov%+Sk#Hx9x<oc z-Z4VwJ|nqh$@fHZ4E~<9cWjX^OYbA}jG(zcC7KJ*dsBsnT$((XT4+QgPUGp=FWC1z zm@>`S2mZF6sC56NCs#OsUr%;i?$HxTb~n#}du|c$qNsop$mg%j)+ry!i&kbEl@%vy zvO*v=`1SqLl@J2oZ?Nx-d;L47&>v7e^Ki=0ldGD4peG>|zoTb<GTq@h_hh=qbIvJr zm*=tOP-=eN1)jRYmD1>Iab{LNlIyXW-9kESHvpiDIsjzgO89JtGVHPp5J5dd^Ar%y zM@FJJMjQm*cp_s_WC2%m6!?eR>GKA6kQd3)<Wy%3r!q|ZI>l$&DNHneos4yuu{oJp z6J61lm&<450g5f;|8yvJk<NICeJ5;DOUC7=cBHi3#e;pQ$v&oiEfeg{!JHHL1s8Yf z@M^+3#0O|K2`5-;!jw2#o};lkUKL6>VS95~^7K>EafufT$j^hI%6j0Sf(|1d0&Bba zWtt7+3c#Q^<04AJBm+r5U#N!W@pb;%KGe!XU-SO4`a0jfK83G~*7kpiuN?2>>w^AM z^>u-LeHvfcJUouCi|uRCU#PE(?CaBcebQR8oV2$8%R=C){_zWezE|)8)@++WRGIX9 zmcK7tuj)NRj~Db7tHcX5m6s+j>^)PzUf6q<e!ZyoZ2fvsZ&JTj_m=3_>fUqoEA*bL zU!iw`ey!;()vq-@LweHt72&?yTc$_eTdv1~-mmIW^qyzv!ZWV_d{XQ~WOYoZ<ENxK z5KjuBZ~)>ND5@x4nbe~2%(SO{vdQAO;^}USd0w%wShP^)m0v2J=C6LWcxthLR||?` zil_Li<;AhZd|oMP?>v9Cj7Y3GucVgtedj7Iex>N~3i>GM68LMJ!G7u*em=K2p*R7g z^E2>sN%5TGIsS7sKc8Jp7L)!{jO>}kvx;Z=&lmD@aiJU6tn3T;N&GgJQ*)0|b*J)* zparP5)vHr@)xk@^&Q^QDlZ#(23YV6jQ5=7{E?|H-m!<hB$*+O1m1~RVmlTUcz{XfI zwzrcu?7Gr&p)MZFcs7_@$%G~glPopy2wCGS@R3PIEp2GZtQ@-K>h44*J{zHb26quO z!cz2W9$$6cM6_W>GWfgfope)y#}zJexKjF2vssQGGe!f_(Y)?|LaA%>TbeCHBePN( zuHAJTh4Mcv@HLmPA;Ecko=k|klUjC9-Jpt<s(~x1As9zeH4YICHQwNkBTee28~f^T z@L?D*0{O+}-%~YD%mxUlgrDL~Sr22j>y@o3C>0!eS~l4c)fq!BT}tvld6h7`q;b}o zhP<QYVIjO<{hPLXEhx`*dKHw4SrMB-G8F41FV%<#<sXD$D!+N`SxuAKIaWdb^<}bR z@QydN+CWu=hIMZfLr#Uhe0><^|Img{af{@#KHG&<quvUMHok6bO7kz+HAZ$eiNfUA zD7q1(1)Z1gnna|(JIPD~vyg^tOc4TBz$XF$cb2kGaySS?B@qH-_!3*`qadAZhNe2w zO;LF)0>=1}F`Vyusf%eTDWfsSL?mp~CanXFBHFtQO{}9LAEZ;7Wi++NpqjSYn#%sS zo#@=yuy8FpT4^)UI6Nw>FNih|s6l>Q5CaEFByp7owhom)C0C_7&EsEn&czgtQdZZC z>B73+&5+jRtYRd`AC?-8wvB*ANH#%UWFXNDNgnaYl8ExJRmw#94fYZrP(^#S&&Ylk zW~=qNc7AGGCM{f0YY?qZNKXzmjx2*W1~y`S+=9#`WJS1<+$vtFx0)&vWb1(6VBl0| ztR&Qs2@%ceLjcszgYoB1|A{zjRqXYj$b0s4hyN_kSRs66fo||ujYpFL#ITK_^q2hI zPCxh5&yZc4_8DDixzGfq)4(|+@9u;4lM_Z&Uxg(fqy4qM`e8HlgsP)<q{~X($3&;j zow1Vr{u8;-zV7p%yJOLV{&QRWX;(7(@j|IxI*(>2y1W<hBpmN1B|Y}V0#?=JNXdG7 zFYi`h9tfBjNqx}CL<qI^L9**AJAtUwX})Joiok4QfR0>IWJGRxGE4Y&q{4#{QOV1h zGg^&~C|1-9p%B32B%O<g*;27YM*<J<Cfr9+`P+)j8BGOZ&JO9rLwvwcKlp$?`mjE% zV~ApSH%&@T)gT^kR2*b?@*efrOQmn9=)kGm!(|B-{wjY&5|nAPTwm;4;V_vKvj@T7 z8ok$6_<cg=dQQ!%V1E76#cMWn+;3dz^_|0Rg=@x5-wdY&O<AK5plyaf{DDu!&G431 zrCMuWeXh4q<`*^WXJhgcT)(M=cLm_44d{AyjrX^;EKq`@Nc=n~K91~RcS^$)_X{so zx4vQxdADMx+W$X$?*gt@Ro?r~%XeGX%p@xsOssQ##?uu|YT6<opk}TDLct1^-A&c@ zuzP3^Pm-sHV2ZQ{VPT@iN_DAGV?~Yi0$Ql))@{>D?NVZmg6^oOQLqM!7&S^1c1<gm z^ZWnDoZn?-Eeue*l@s!?=J@6umv_A59b>%Xy^XHM8{=rVW%AkItMPXAy5IXSSW-jd zGN7Q3_etZ;^Pn}}NpY~!c>9|e0}_W23X~de3Lh>t-e_Q@@dj3fa>CNA)Oc4Rj%ic% z`xtUx=%kFUvz^CV?^^02$W!4tXuLhLQ%nGltTf(-t?{lp*THCKMgx;<1rB?I3aFwR zLE}yJ9(W&`_#xC$19*}?I3&<`tEfMUhyaqmVYCpLP6dHsS*(8qjf}0Dt!nY(Vi1%- z<85<Oersbx#3<4ZRG@JwtK=w6Q`M~U7>Ocu2fLO9I!MA+i#pt;#n!)o0QbKGegw^D z+~ujXcZMdi*R7V0sqCon9JX?|9~9ht29oT%4hq#nTiq$6^4;me?&=fYtR6x?(sYxx z8o#hmi|&nDC1mr_;Siw|f$6pd#Ppz6gpcc%6U)G-DyCiLnc4$!!^-}8AXyv!si_OR z7X+VE?L-L18^Mluf>o$8s7^1`+tV}#C#HGcxK7bkA@gE}L8x8o+rlt#z>ZBIr`a}H zrbs9Vv5BR(pfZSdJp=-$7m_0(3a}82bwKjJiR41UdnIYDq4}fr8sAz;@GKB<GbaV* zO=EH@Ip2LkA7G+UoXtcM;~=KPrvR7_|A6&+$~sZA@v5tFYIMAWw62rRsA2k>Y~sN( zehD8C>x4QJc#_$59ys*zD0|=}KCr`w%MX+wE~p5ofEA|fJcR;t2d_GR7V403Ypvi` z8c@GFIzIURBrBt*ofy@j3Rn=;FYYOdPKa~>MII$#GT__xG%1#lhoY8B$gW^akg?JP z7&V;UBw#zhDua$GPQW)8K%|^f_1Of%;gYc}yQZZok?um(<wW1OK*ug|lPI=X>X=X3 z<aiP8MHAhc)=ij!61vnVDBPERf~03|yacI_CK*3^PP;v{$;Lkn=e)a6&A!|e?KfLi z#ErBs?YZ%DBHH~@-!uvaWzPVl;Xu!xEkU+{r;1FN7s<ice(uQ+7h!=T=N>}M45L#O z(z7sGL@86|(YH5HWi`snis~z(YL0-|RL*R*b8!Qllw$xZ8D1E9&412YChFiDN-5ZI z%L)GYx;**g>xi)m?QhK9Sxia;|E!HSz8smdT)LR`<2VS&UCK44YiWcS(l4Rvq4RHi zNqcxQdLB&<<gG1kZ|Eg#ax{ujq5sfmEgzOT4%fV``QYTUUcP0VfMxuki9tOEeFH{M zCxB73m7b3xm&bVmTZt)xlBQR_WE^WfZ&=y$LHh7y{_;E~(9IS}<CKX%SH2{?l_mCq z&07Eopr+a^Jrs{=mNG*EnAFyMWXt#n=o+@(J>*2ppqzdyB{Tn$sW#kS^>#8Q{<^>P zcNV^mE&^b@bqknF`2ps{+xWk$#uMtSC2Nhy;T}ZdJ1RtiRzb*^ZDEzcHxXxzagO?Z z*h_>qMxl$n0QI0sY1EB^5_~o#Syk7HXXWW1Unf48zs>bppmS_dFx_wT4g4?z56x8r zA9>&_h<k^=A7Tc)2jbb|JuFb^?omOUnAALt=sNg9A_8U<c@EnSEj+$JgqsXV=_Uh( zwebx<cXl?o{cLbG$*Crii(x}_*$eZ>a~>^U3z0AnR0$a962^^D6LWQko}6ttjv?pg zGI%}Vw)XPW(#_w!;Z(#Th1DKeuHYS$$)B@(o<f2%j^Ab94ku?a?v7bpH2%SW7LT`> z;R}@!A~_^N2x)Tr?hl?^zEcKF($>ifG(85J(zrOR1WX3oYUN7;oSgk^Wc{uZ{vCR9 zMnKHrer?l}esWlLu_^tAxxc|rq`xb*E$`G<`YDvTU*!@6w&}Li3aJs|ZgWa3Gv!K9 zjK3^X*?ZdIJ%3pheO&}ym=Y!wZ;2fvE)v}o#@j9K&_r^H`llD0+TF2=#%VWTUq;H3 zWopbs$l2$b$y)tWnM<^2+!(?D0_7%f6IDoORil<f+ad^gW-_A=*KgD^5Z$;%SEZCq zXr6HH%s#oWw^~7@0b7|~E{q#sj|knV7Z-52l;j+<u87qWJa}I)W{qJm4w+~mxE5FR z#c-Juxb^wk-Kp;y(?eOkZy&)Y1;#K|-&L_kj%qb>lNh<WUPkV6K68f$97rxw5LfZ$ z<%n}igay>ADj)^%$c30zMuLPR22r$=7!?gr!Ij0^cOXuDa;T!%dmTTf-tn<0J8+`) zv}>fvhiDVn7xJ)*@cT#led7iEhF|P{4+C>STMprT<H#KN?8YW8jJfA`1STxO*Z(U| z1PLo5VvHF-S#g_SkS72e;MDb`5Anhve6>js!zbdwWs`1=Qtv<JI9F8-)ar4RHX04Z zd_{a1S*lxCG8m;e$>|(fuajx<r7Bso36<a0i?3I28^!0UWV4&0WlI$24HijG4i+-B zsY88l(3BU0Re_=USXl(dx2j~Yjq%&GkeQd00SqVWj)vf5qiep^?Al4Sx^_|nkbr84 ziZ@nmYm*WRWP+7;QQ&0al1>K6x05v^#>sluoT=e%`EAqaa<XOHBqs;lCnpEHH4GVD zemjh6wuE7%n|HKpCbgg}76m){k~KB-9fPIV5OLO99VJGAlkycVEt+bE({J&SuHFV? zFTZVi)SPS;vK(`Az;HS_*ll7c*h7KO?G-*HQWZY$rX+kpHI`0tB(2^C!z#b6RZ4}` zQQd9(ZKIIwpOb;4Vp@4~)e0M^Tak?!dtcRxlRAc!Z$m478%)C@<{Y^dXYKPgQ>z&V zWs7%qTfDbQh7nZbf8O7CBN$hyI&QtFT5K6l+JfIwWoHfZK`sgVE62SSybF)vJoZ}6 z{>tjx$3b)M5S6~VtV1;@Ho?#<T3l|;^q#@1Iqqd`HOo`_CSRgcdF(y(QPw{KZ75{P z@jTu|02RkQ)(Q+p#PxsM8q3^KKj_AI8&v_DPqH>oN@3?HM@O08WM7@sG8H3j!Z}Z| zSQ^=f3*6*2brB4d2bE%G`eS9Yi09R;q6-E6p<8_G(|tvjczGQZ6Z%-K0<`HQgI*kX zBjSZs#eHu=z_9zYNZ!E@uV*IMvS08U>X%3(^oP5;hz2ao<+_3_mfvCM8nFcv85u>{ z;o||Ak`EgKPwf%{*u(&XI2M|WQz4>*+eR0+B>*1AU}vpx969u&T{O<Q8w*ZPyexPW zv8d+o?>_|6M0NF2LEJ|Lbs!am^@66o2zfF66+;wUO=5HoN=Y8aDHH`g?x^m;QBjJl zp&eds->*Vw)!>-!KwK=tZY=~EpM@MKTTB_QF!pnC<G8cu?30{NMe`q=k33b@FlJv< zJP*46u+cb+<oeJ!YruuZUW&t|x)-bJoBIfv%6?j1oN*NK<mYc8P!z77h2U*JZwtZI zPdl~{uw<n_{e@r-O8Mz81XZIycMHKDZf*$DuIchjAOC%2>6pj=4TTZsI-R2iCnfIT zzvkw4N95AlBB8^}C;vTsTCka)#}gF!fdw1ejb(_h;?3h+TVBOHDmauD_{vujo5K%8 zo7<!3wwufH(VlnbEh|#8@pkCkWkj$Vt)&q{XfE0V6qd0@@#z;6m^dFfcf3A{aUkGT zrE?@!@yq!G=cE5x=e6tHAvc*!B9~h>zM#0}#l@{JCYclXAk^UV+9~l?9a_0;XG&*4 zq#-){`8G$6vL{D>8dv*c^+YIgrHxWJqv8};q-QPjHCe?+K0y?$f6$-X-hMCp^fLMz zJ&(W(1-7Y$#ADCeid>Mm&#dhV+>ecW8qqEJ?eZr`LeQ`+%)ahcb--NeBi{aKRt878 zv3;_3uF^Fa&Pdypr3qXJdm%MXBp0=baKiZ;iGJG`8m{4@@x1m+@x_vMXjf&QlX;|$ zg$cJ>30g266IVi98i9qKrI?{-{kgQaxUWbDdUM{~ms8@rP9<u9U!M||KEa<n#c*pm zEK_m+&Ab{fw(~Mv9lrA)dGUne`sxM6u!?AaH+K^2L2L#?V3ZoxfPp_yq>5r2MM55$ zTSGY>D@2TeXKNNQ0YG>S*14UIs3P=M0_aBZx0Eb)@yBo>q*74??~0~o6<%K<cq$dT zNrnDyb|D75xn7YX)Px&DCoVI^MyL@Zx>%_?wsaPt*vuB0h6a$DFXDm2)rA^PAUz?u zI2X)NLiU~ki{3D$KoVCUx>;dQEVt(HUYBrA3>a7I5X`{rSj_E$60$1Z9JelDpr)@9 z_TV%~$INONCy=U8!))D@qZ1$)PAgqoO{uA=tC&!pUHWs?_y`3XWP<J#Eh`EEdXlGM zjx{26grY6zb*w)_R!ry{vd5lEI`dyO>IzRs`AHz_r@`niP(7h&`DV1Qbk<uH!X;@Q z&JS?ZWpXH~D=|p^`zbd}PQ9~!C5S;2M#Wc59%$-Ukew7WTb}WUH(oJ0wfzGh|I9rb zuNYsbW&!*BAY(ysdSq1&!P2S9fnVt75mgZ(hxlIk!aRGPE|K@2^Oog=A$p$voVTp) z!D0<==E&28bjjdk^eI|s=FxLF&9*!i$mj;nwl1?dZr{N)M>NJjdKl?W7`;5Pv8;!2 zokAq_BI$?`lz~GSK3|~L9X{z7!`OL9;-eV5P($z7g`y8(>|6!6vmA-=|1D#u5lA0& z^s14P#qPK!7{l-)CXkLa4M}2~ywT5QK19$F#DvO(P2_q8PC?~;K)<#b59xreuwxRi zvj&KowoY+@jpAUkYElh`!I)N{S_lg<>tR?O(CzM9?YYi6e-ad>31+FdObWfw+l)uk znMI^iF8gvDLRT5z-pMCRpHEtsz2;QC9z&VL1DokEAI6B$#<UpLS(t8RSO2<xa;vLP z98yUxWjRHOD=~zPKv;_;+&<|<mP+Z}+&bi7kvJ=j%X=ADFrBasY2s>^=z!_&;m=Hn zx*)3WbP>(07=!-2Uj`NKR1YG;?wxWv?exS85<p$$NGVu=&{4J&_dujSSa9aoK|5fR z*=U;?^_K}Mthm?1C}8-dcs4wSu`>7AaU2ZcSLjUcR_mj+2&ZVoy#$ZyfteFzntge7 zAH*E=)iC3&uJJ5Zm|8%m;P7tC`Y=IT+7a8MlA6@=A=z5<&??8FN$guKFTXJ+?1jM` z+xszvg<>wP&aQh}g|UIqSqU2EY@QKv=zLKD9rx&CeQHIJ!$gU2)Rp0qNR`IHj}fH_ z!g&SK8SapdOjo;z$H-Ttg9=lNAH-+VLxp04bXs!~&1^EEy;<b(V3_py&Vy!ki~Sby z*_NMi@!8a$>X0m{9e9)YOhLVSPR-Z;yq%giA3HTm(Dxs3YCg3`c6Kym@*j6(R=5C2 z@$f6>q0OJWBlE7xh#PjgBSg1AnvKRgHLGUA0(uiGGJ8Jh7KcNun9h=9ko7MqxP~f; zBd<EPxdz?Zz$A^;ey=-}*mRD3rRCUebX6{PK7@O#qj!Abj~=JGS@MypzV(HHV@=4u zPX@9Qm802YO%0W6Ok}vEcS?<wsW>dWmF1AuJ@GSXfo~o>gA}=Rie((xvGm1q!QQ8c zj53^s?Xl~E!U<xMt({6Bg?}{iN^vndS4b;<Av=z8hm02G2i)<s#9ajL=q|WJUvQT7 zZo*rVf+?b}q0QETECQ}1oBj>3%68|905Kw}Mw7rEw1LK1z+OZx#>L~@z;0lm=M_?p zKn24@p;jAk>6#Tn$l8B=mfw!6V){=_>V0UWs$Ct>ffN)~ZD0JK-nK}m)BJya*Tr&x zpbaJoFueg_c<hP8;P2LxEq+E%@?9)02{Qp+mMA?Txyj#bFYxAPs53hAzWPbVzamP} zLo_ZmVf`b&7sexM2fMe<$S@V82*=;R*J~VVCiP&mJvA0$mdVKuZJLI-5>izJYZ*SD zpm2-5))hLXU%4?v{E=Y~AzqiMl!C`bDrP1usDkqP>ZoQ%Dg-k!jLqV1#nRrj!VHxj z4?dFP0tPV(o(6xmuYB&+GcERF;qj>#lGqLNqtlrF)Uquv&~tYdI5n}Ti0XV}3lS{_ zf+|Br!g?V#Ob3p1B}FjKR+wfgRuu<1{%3EewqkmO7jEwr{|5<bku5?<-2U6Do<34y zdIT8;;aZYJY%DLfji?VQz+Y;iO@d&VRc-22;BKjV#XhxZ_`-J)ikrloHPn=SMnalI zM{nUx)*lMe*vLXt`!mil=xFw3$nR+Sw#-e3;9hsp-D^uLXIWYLuoOJcZgp%qvQ-&0 z=E&~m99!uv>qEt^nU6(9ySVM6SVw&2d1~J{gTv2mpHSm_Gr+?-k<PCaBrVgx0INk9 zY!lY}jYP3lvOrL0azu=?FaMTjj$$cs_zMua`*n3cmX%8_<ma3bhZF-#A&<iyAm^vk za<N%QNt)8w=-}~C!0r?VfjH2n1%puzgEVjKSn2};-kE;@;ZH2?*aN~3o<onzPueJD zs8gD#VS5zLmf;*kF4xM98)5J@P*Y>#*zaz{i#bo@n-e`XPMGOD6tg=ma?CPi>x1Y{ z4=O~wR;KjG5NigxSyEiF5xE&RlHC|z(k9s9pi)TD$RWiV#;yptqw!G<9XFlb7;iw( z%r|+HEXQY^$5MQVd5n!OstRz9#mjwsOa;@m{9VF6Hkyy+OOP0>jxh8Y&6_&2t24eF zVqJSECo*Z4W1$&5Z@I}nU$~B{vD{?KajB7f(K`I<m$0z4mk1b$k#fcNA4o5u?81;( zm@f*6MTqD8iH1UAh*-;hGn|iv#7I6G5`d=~*Ny9tzF=K=S<4p}GoQP1U7Lr|LcjA& zl8J`Ab%_|3FT%5e`OM@P&`cIqmh@pIGu7vV3PwDbx7O2vxpEmp^CM@;I;#B%$T0%Z zE~uqN!qFn3r_;araUcWXbR#`y5(>c$9jNI{i9bX;BF~1--h^foYVx7=MY@5J5H=<H z2{=KQ49%4T!E4YRZ(3h`odA{rTX;%yoG*t=8AjHt3ciY1&^4G;SaNLd<xZ<ZZEQR| z);c%WH<Y83QbhI-y5>F~a*0%ZXXk{TLJ7uYj2(<zOY%h~q9s&r1Tof&7<3q_u}Ws; z?wk^{QI}mqd_6SPOh&G%^&3s+u|zAZk`k2gU_R+lBgk5PlkO2=vanCAprSbYAER3B zk@}fK?rxRcl)ewk2bZ;#K}eB+>hWw`cbV2y@uL?OF-E~8)iWUX#Pk9~ciJPXBJ?r@ z5J2BSrj-0t)OqX5)?;?elI%3g>$Xo3Q2JFbgg_{P`OS}B$c!DKZZ|`np&8~0S5#{` z7|e&kpMny3DG<sLtGo{zZ)6*%kHAZ4De%uR#3uY&-X6t5YJ?kxEX;WqEf(%dG!DZ+ z&8arOp;b|0*pbq(@s3kFyFI+`tWut1lC=U$Ojcsh%jPB@?)H5|JTv8oDO_qonBPJs z51l#eW|OYVN6R~)e_dhh=?06_NU^Jf5#GR_j}&`4Z@^jsUW+ZAH<Vegws@=h#x-)o zB8sMPp&6dHB-SRil<355sDsZ8s)!YP=Ij+Cke^7Wy`b2%j&LBRpP_uwbsG_|Et))T z>m(|~$*W(wW$W~gnW^~7@x}B!gR~apBkNX1QF|<3{Id3<$*W#Q?gxJSqaWV$wSRcv z$}2WcPE}>D+C07}T?=4~bfHkh0z8HWu`dG`{~$19LSmnyA*F3m$)Z1DxuNPS@<r4k zcv(l76xS8$WwcJd_2_)s3*9e!90>Ys4|llO4+$6-t_!-6yq4X)NNXS#;7+sGGZnn8 z3(*?O>npTsY)z4-c_xvKvoY;zNpifi<9l?fwlg;Dn3<eNwRJp?YrcI8e7M{;_I*RC zljwQOFU+~V`U1Ki$$3?CRjd=NE1C@dCWO<U6|^;``xH2)a*JP6&m9SDm<65#z*QFk z3Y*j_rdTTxG*xWfc59Tq|96>4cyosOP})5Q%9mT%9AIvr4Q3CJnu|Em3P@jZ&uClJ zjP))PDnR}fmf;mtuIF;eo^6KBVf=&yGj6-IZ`bpH+rj=<kYH^s9jB5g)wCFsQE|Z% zon0=@lgS-0K{$|HNb;p5_k&+K4pHm5A@4an5O|zPhWtd3kW7-z`A!P?z&wdH)c&qG zyxGB%lyrO7#_lGOS~M6ap0!WuLKgWRwu#uE+L?p=^k*y)mNCxfNKJx((mGowy3uah zl7pmprjsHo?ix^9qD*d|(b(P&W{e7<Xoq0A1qMq<AvspUN76_Eunty?EF=J!wHrOx z=t=Ecc^W}<d`jsGLznX%3|$hk3!7kQ7B(v^9f?h9?!jhNXBV5&ORu6%Fv36=TfQTz zUTScK<q5Uwh@iy=bex_Hx>QVJdOm?_4LRU403aQjWy63@MVIZmDU)<Lc^-@^IUHg( z07u}?YO2k2X!xa|*q8;hlGfbtNd`xahv}zOIUPuqjo#L&rkt^c)&+cBn(7d|JFN#! zhyEA7dX);v;wep2RC}wVi!>vdtLHL-EJSL{T$7@Ek(>CaB(%h=C(;%*NXgf;ikhFS zh03DrrZM*K7q1J!=vzgu8i-#Wb5*@^h$M^FW$l6D35xuo3r~>RKSoy5<XX*B8}fk4 z>BAaXEc0PM5*ACqLe!K8?!3>}y>c%{kb=#6oou9D7L)A2;>T&(6j;R*ZEGx+f_0i@ zRF5ILE;bFpm9z#jc@(WK$EQgo$6Ou@wE(w{TY2d{p$b{p+yL;&^)K|!{ZntLQ#G9_ z=rea-sVQHg2aAZC7f2!03#u`G4PS;0KEKZNuf}Da&u4L-Y6&I1WzP1mMVA$a<}A~x zvTEZjEMr=1NdU*Gme5Lij9F%-lhHu-3X1SSciHjOUaN>$LW^EA9YBe;w73UwBwhRh z)ENW8=^sWS1V9p91nPhn&aOY3WyQD?`$??EfNNph1jI1l3RVt8lTpd5QGvu{i0YgW z9bZ&G&oZ;a^|oY>NfvXkp~lPxqAErO$=HePZ)-)^k*S#*TcYrLn1*@H74Xc?yp?VF z^{`dR=N)E~?ya!!j<$ndjU@pV#P}H2`aqTb5kX|d?l*iUTrbksTg#<5Y5uT*Y$>@? zLr^p~TDTKt40~kUPK%Ws82Ok2N+iPB5o^?0EH)MQ?Y`I62;z_7&McBhse-04c;(Q+ zwo1;F8Ybm;h`o<5)1EbF7Wywd$>RLNxa<SXbsP0%kswq}0Wj5;UsU_~doIFf{Xg z8J_1$i{gNgz@Z^(t;tNGlEnf1M6v6;81B63)JU{gXT6yhBubZc>5e^Lv_Tn4wXQ2A zW5q9?%^D$>DT}ThllNC0gxB8G}syPNQ#hqf~$aG0OwUo(KQ%DXDOO6u5@PnFH5; z+v(Wk)W^Q`)GPDm747CMbXQ-D@$zE_<8yuNApOXXP2pW81P>MORaHIUf%>w#F6#4U zFWPmun;-37XNpWnhL)%Q8oQ??`)ngzm|f)M`|WyP>%O0f$`9A;L$mu~D#Tpp0t$T? z?fIZ(UQOJu56k=^mm5>xnE#NF(c16UAke{LqQUkBW4xL8lJot`8>>0(Kp;wt)51d! zGk?<!Gi8{07CeqG^MsjKcqe&yJe)A|hceSIl|RBT^9Nrx^B*2&UIuS0{j<W%v#!n& zW}deSGcQl6K3pI<ahQ4ZKt~y7{&OP%B^HmSJ>#o^RIvF3fvSdeBFU@B@lo-wuc80V z44;Tu!RB}Wrg9RPU5`f|Y@Q`W4R>S6`(WD>Lq4EqU8ZRC@GmlVEMdbZp{XUQ8=wAj zA)-F?9|){Be0*R3XatI9B*X_*@!eAjmB@bd#*zPQ86t0QxT0~c*)DpE*nBU=hFD=N zye(<nAFVa&^$3!TiY@Sg5^S^NnHx!4@>JJC%T8kDY@5x7eN?;#v6<O_%_Sf~`sP!~ z$25?`rk*$%J1iSa6^f(4$7I+2nn*wKvJ~p;t!=4l)7j(Cp6?k#$q*9^GA?U?2LS$h z6xZtsHA((i$VCk&FgdP;nDiu*LQZpjo7xf1$y({YNQS!o=lnK=0e7-le6cE4#iS>1 z83SHT40f9sD%~P^J6wFSDmGGr({;vDSI86G_)t1ka5|Y7I4486awh|vPF8M_6sw}h zlWe*bXJ{E@Co8u|G7NSzRBn;H9X80$J7SQX94+(qcyc25B70OugC`k6>=PM5sFg#X zlPR8mWwK_kPrt2qi&egm6bm3bL+~PXa=^pjWI(NxLx#x7VRz5T;K}J^0NKd}r8gx_ zWTlrT$%P$nO5c+Nl?4tHlfR{+WyhOvU=dkIo4f-for(l`W&XS4d?k99CzMXm6LRnW zpBx6a&frq_w&#t<Oq|MRQxgY~wHk}Us$0$`P>2f7=Q9Z`G;x?o65qV0oO7&F*>_IT z?BECr6aC(1`k1TgSH@ScpYLdtVYNIZa^@7G9cG13vvoac5{ZaEaFB48aq_gpAJbKF z?%R=`4Dic0m!h>f%sq&}sI`8$*pB#ggpZ!##cotBqX^yW>rpfRA@PPapT%oQ4YUwm zua3Z8S5I1jvluWC^iJFJIzj2QE_>gTwJ2Phjz?h~$`{FO*b?waM^z4s&!)BL*)Kw4 zcvT+bfRIPakiqh8k>c0UqU!nEwX!YXmP0P!jn5cgECmyio_tgt(vej+S|N&E6ne$e zozJ%a()idA=YXZ&AvtZ`=j-nze*XUO_;EUa9T<>8$QPXQ>)=2;&W}Tm8s*2$AxC{2 z?LLNnFUg5W!y39Qf85L3$4QQQ+`Mws<I=T2dR&mBF3XqAAxA|Imp=y7wjTpU(zebq z$NkCpa!MgbJ#I6QvhfvBzT8q&9W#-l&LkV!kL3y^iD%f^j467KMfYtN0pVjY_bB#V zsWBgq-G2`Si0&Y)3=m;)2M00^jEFD+M)<&W|5^vbV~}<@!R@Y4co>jdpP$F<)ev{* zcUdojO-i^476jdmzVx)H{BQj6s{2ZvQ`^TWC=6k+!>{G~b==?O%m413W$xcz`xoPn zhYpa*i>4S5q`(LR8$7YI+^#1Yv}rv<7`kmFMJ@cDCN|Y8>UmZ|_wULyc5?JudYCUh zIhxj!!q@0YoS@g~`S_>fQJLiUhHwOinVwEL1)JcfgYG=_F$;?40J<<=!0{R2*etwp zF)=k&uWnWMzm>r(sexlHQoc!{1j)+9yg7vJ4N_KCjwqXca!7(S<Of8=asWu@z*0mb za!K~?bK4RnAcm?1%+jPrH2gy#+8I&X6BA`}n4Z`k$<2hVnD!h$A^W_-)&bSwIPZXU zh_oQ$FKt(Fk%@(_0zK#BR>CmO91dne7IaQaV3?nfOzBDfYs#l8*Kbv<90*gkuy~e} znl`e(`d!AH5N*`R8mlZk>83)lYP5-~l@s<&r486bazEXh6B%6;kXwQlP#|e1C>RS( z1QgI#4+_-L?oGk8!LQ;|4yj@B=zRk3hSz<(?1euuA_1O&KGKp3GrpvBTY`p{R`{zf z>RM@mEjc3bFz~V=Biq8|e5Y25>Cs0LP*goTc(U>ziVLD+LYv}}!njnSHPuF6mnxz< zUKk{^FPqKYb}mV@&LA!z8cPtooOe#29%QnluUC3XjqI9MPrLXo$y6<Uilu*bgiJ+` zOVo>%>BU$I5GP3+*Py@?{sz|-|6WC&B;-BYjNHVu#f8{i8e=ZLz>MJ!kRlSyL+A_r z;OXCej3e|y_E<S$edeBuKj4ouI^ZPNsJ`pf{}>g&RNThHZtcZB$g?=H?C|uz^5Y<X z9LVE{%o;bv&ObT2xY*4|7t6|?-0*Ld+s~U2g9M^-%zQ}d<cM)Oq`XVWD;m0AZESsg znfG5B$xtw-(nZTDhi^{dUWIWe3qmWM-$h$k(<6LW1`iuf5as+nqs^Vf+N38uAqGjU zQc6)8Nv}Xq$@Si7#SprLp_Z$bUJmE6{TR??OW>a>(D)b+mdp&v9=Cmu<Sj7-cshxN z7?fs;)ozUpP%x?b>?zVFuBpz6(mKL~h*eS^aZ3^yOAeyfuuFao$JG0p>Fn3RlR>#< z3ACm?dSZI6sy{yz&quE-SFUAk0b{__DeW|^1hA0Gch@#Incd2*W^#jJ4~MB?Ta<Q| z_%iIwrQ){4A?tGof#QBT2;@>Zbkb(PO1uldo-o29wF<+&B~{inm`=#yhAlz+59@vC zHFwv1_LO98fHJG_rKz`c!}v&v(||W79ru;nK;M`Hk47Btq3&h}b-Xv`cn>cySiKkS zGU0Ab)!gw$Zx?;-i0JssMOB^A>b6#nQ@0ttpq>8uH8LY&7KM1AZ^}<B&IgN&Wo=`M zi2}tSp`<%t$>Ol?VD=2wGHq9ObZC`V!b|?plc9ptqlp-V0clyq?hj~jG|Ih*R^bxK z-glWv$PH4tg)+gAVs9LJ2=h*({GU7ThL6oV=;)_A?}i^$^A5v~Bj+7t^fNc_HaCNb zg`(%wS43K)X8-dM6rD=KZRAQztD4H`k0b^=$Oh#q-;`pbiC)HcDTX@onpQP4zq%Wm zZAdFiyOr&lw4D$fiHwIh)Ucvii`J4|KY4YwUd00o-wD_Vp9k9@?>UOT#kw2VB;E5X z57b(A>*KZF$@Yp(ILh{7)}d|E))T|dLA^Stp>i4K(RXwY(bs$(Cpu*$Y2i$Om7#oW zC)Q;@I?s0}!2gKBMPm`bSni)drHu!P7B+MPtd#VzC0#9fwTlrOAiMdje1M<h$j*fU z7G@AA=24skC|yBWDfGFjn`|6W_@XVYgbBB9!-TW;IUvBnIAw3gc9#7UiqT%c&_8lz zi{PvP6Lw)oK*%b%4jvQZ!+>e|@Sq+Bv(XPGuS+l)d6*Gd?}dmlAUNJ+px2pu?uXjM zV&8Dqcj@{tMPT7b)!-2nWMbk^w7!ThBe&FG*s%uZLagABU1+3o1`w2sEXqC!!;It# zFn}YYw)`y|q8vC4bugAQ#olW_9c5CVG1%l3pL=zgg*WMqoD(e)Wjoy8$*P-or`}o? zl)(hQ4|Tp`m;*J!@YTi9*Tu()I*MtP_~f}|{vB0$KF*zgXD2^~wH6WW=WbB+tQHYX z<AK9Oq_n1s6xznf7!Qsf5Tv@3g~}DhQa5Lb?z3xGm6MJU-m2LA?yo427laFx(27y$ z@>d0Vu3JAA6*qhe%Vc6!TdEcEVvwm))3mrEw4d`}D3%}DqB73cp1=$hRqdY9R#=2J zeDK`F&_=(R>STnRNl!eqCi=UC@ZcwR>D17rlR}q{?``ibztUa(IvpcEb%jJI(h)0- zcd*U?$|C?n0#P`MZD-Z6@-gHsv(Ole*=aeV@RG>a_BQ-^P_i-wk4+uRz|B+AX<gIS zGr+f1Sz69Qd#%X?^S+`!yVDBbiUUK;isw<p?xm-m*Fh+qzP(hFqL)Z0+aVp?yJlA{ z;7f7}NuaC<hh#aZXk)?H%4E4DCQfm4-c-yagyjR4<w6hhUJD?HFO%@`eeXQOgvQQ| z3HQ6CMY>f<H8G(WnJlBWLh@XnrXA5Lw8cyp&2oU%aS9eVM1&o9I#MF+4p>*3lgW9@ zI1)*^@9CI*i)#++94&NM_49VPS#JY=!FCW{EH88L)C(j7*_#{Gn&^OK0N`;M8hh!y zvl$Oap<4#2%MsY(Xr`WrT_D_xW_;LyOJ<|8`b+&efwZ)f+J;Xb($ow&z8)G4xqNuj zA|LZgqlqQ(dE&5H`BTOdV+1T3BxcO^o<TJ<ba8lC_JOF%JIn?uKytCuBHl#T@sX*z zR6|Q?c0DI<^ntd%q>{XvEn4i=ZW0b^k}<F}1`j%E_*ZDO=})ZHYXuJwfD+4gYFbTe z+4YLu3<qIfUx|KBt(G%@zUCRY?CBJ7e~o=pjuFUX>f%QT6}K|TqFFAZ?1QIh16pcJ zDhAh$bZ}F`7;{<_dW!q6$1r)7x6fkddq`jZUTmWswG=atST!w&V{4+CWhN^4C!s|( zUkX+&!;)S1Otz%3q{bUB#rO*m_p(i85c^^uRw@I<j`ve_o_*@~G=v=l%<B7GU$WcJ zqIr&20c8jQa(-FKfp+vgPtDN;Vu4Lj6eXq!$c~YaoV~RP+n`&Pke_u(3__WIfT1Hh zt~jCw4d%sp9p>U<&4qxjz-ypUJV%D>%CZe(A3d)r$M_luBNbEQZ#LD_W<k^93t4o0 z($-i)5h0W53p+vjFTCQ<JwZ^$TJ|+@OjMHx`Vlum1)~18begK69JYo@8c~k0VS~h6 zDhSpHg@I)=V|HDGNv<}1Xf=isgQ=q(KcTteHikFgP@^3<%Y0pNherK#&y9vYQS!n& zYC%hb@J+qZ{oKr-iHIVia8CDPLW!@^Zmf(fPoYmMqw|9v>M&Fy!2q0IRYI>Q1<N)o z|K-%PM}~@`b<!N})pI;b0-=S-JV`N?TIgW;E8H^tZ&kIvFv8;TI(3IurX&^I@0Ov^ z&T?x3D?ne!*O_?T<izA2#zZZI?AfcHKw@jn)jEr+meNdpFQpGemnpB>;ibfhGeno# z3Nt3L?`@=!Tq+#37{Nq6G;Ia+F<^u{s4DbTJDmnQua6frp)n9r(h<>)PfW3rRfAj6 zT1!Uk1A^b2dm?N^=&|H8Rj~>M?5^cdQM&B^t@OXNZ$0!{iBD&QiqAl|TR<L3uwn;K zr9mZfav_x^Y_~FkB>sZLQc`>kd%OBQO-wI}vn5GYq3OG|e7ZOVcq@c6QxFz=>?t;5 zfw8a*y@ZOZ-Op_WNh^&832LZ@sYp-BJsq?>Z!cxW*XWd{QA8Xym&|xt--FCp<5rG; zs8dZyW~{DtKB3Ov@{};tfkRQFWZ-}ML>g*On2waUU;GP!L)T3CSD(k98@SaYDR$I6 zd4=oM(Qf3pQ)zM6YY@&Z3hfpa<WBVna=Bq}Pkf5<?LpvOw99-J;!aoje%we};nori zs1lfI?KX@}IjbNi<2((MOe|Z3(jiC{JziK{TWz8XZpJV~<xHvdRi*m>X&H+~2O=3_ z5IwqH8e_<HM(fsPA_Sjs`K7Jvk|0NErE94%W*2Yd9Fjz=+U#>Ac<dPb62%iDL=U<1 zqRtC`P@4O2b4^#o*@f&J0@!)Any<7U4(*L$3>eH}Yd(=eeWmTJB=#)b@AlHYTr0OW zi19c;2?&Cc6CZnx!mkL99!n2S8DD!A<M`n9p`o5tAKPN+kd;EzJb<o-kz?_#)+Nag z!KK0gYlQ`@V5R~L+0BK(lhB(7w+7^j3nfYCLkC3b#W0w)NO(Xylz<U*K^qDyB7{8L zZn83H+#aNxiDjvCkH=DVUOb0~#b~TXWIzW0KcQ;m1$O-o7bJ`Ppe)#5BNl24eil%A zgctzwRE6ajFf*!w;LD(5DkS+(ut6TW4(c=8qluyd**l*Z{NMmq`)X}d>64zIWI&C2 zLo<#`>qRDC|AguNl}D?iXmr?<r`~9`1_r~%z5DO(ii%&%e*AoN>E==*a}Ux5uIMb- zjG25Rwte_6h?Je6crThV!~>*iEY!JE((cuAsFA}oo)FZB1ctMT>r-dge!4nDR!dZf zsz;v~OEoalY2bZj1LEDSndEDyDUp@hKC(p%BpynO`yOeFoI8F(AJvtfK5o5fHWKIT zqdVtr&c>>Y%Sx=yIZ8W^XrKpmbKp#D!<_Y%gL2zLtdGOp-1U`IH1+qh5%A#fu~<E5 zeLEgveN1@OCu-`)U)kRSo%;UrsHj|S55-{$6~7Xuk=KUzeWWw5XwP#skA}X~4Dr)- z!B>sFk|pQlXaOwa3hqKi{=`Ow=to-tVKl|mWO}Il27`;Hs8~QsVa>cuaFcyEc@ar* ze7@7;uaG>1e|c?nv{sh%`l%lUi%bZ#?l&=^WD>Y|zF>w-X&}*3gS3xG3$sF@s|Ic# z>nu{m-p*Zsr3-2Yg6VUW^)yvEk*sZ}RT+B7t)902C*VqU)AQ*gxW6#;_=P-JE-ye+ z8QQw2D#w}QJvYlF97|lA1NZcHzP3PE)fNYfPFqCM6m~BTZCzw(U0=_hEr)`D&Z>uZ z0;l@XS)i#~1{9}-i$kdH5{Z!=fK|JyB8znQ+>rMIE(4)kWydO%=rHfTR2{tY`5{LS z(#TPEL@0F_TV5EslJkfU3>S=GL&^-~+Xi8HBH?}=|J)SD;gYUZlW}u7JH64bcx#*` zPvQak6$OqBTan)An1aEX`43RS^84zKjxIaAcAu@0E%mWR55Yp*Ur}cE*N`5ar85>L zk%GsfG9*o*GFD1^y82a6io-6jL`4<7t27`{x3mQx3cc+mdz1U==F$R&j-VroiWrPC zB`jkSt}3#=)B_^obRH#?=Li@y+Ec#t>vggvX7=h3?+ZuaD@lYiCUc34SM;Vjbp~Cp z@@rqdD?VLvg1chO``GuZ*WU=Qzfr!XI;&=Q+B}iU!f#n-QhBITjNKN5ktQ;BmMxM_ zcQ}g9929T}!~&G%xdu1e@Fp(88)~%0fO^S)h%O~|sFJcHF!*-|IPabX{x`$xZ_avs zAiO@%?G>jf`oiDrt-ryz2_xT+g^=%C1VSfn<){8KQL0A26{`7Gw;F8lsD{5)HO2LQ z!{5#uN!bX)-}8o36>s=k<yjs5z>WVPG_FY;uvFfU<9MxMEW?}rvHW&`>)Rc;R!8@` zzI)61Ah=K;RzRVe@{Mm4=1n<{7T<=P$ihNSCVEJOH=Ue_YeP<mF=Qy;uvUem>R-ue zT$sgD3(Vfvi^}f=kiXLbS<(a{d~X0*cV6k|ZM}sKhC&C+Le;Q*H@yDttk>TQufJC{ zL2X=*)gjV-5UJo(a0Uo-pT~s1*$;jr5Fm2ZOOZTQt=to;yQiv-ejN(0FgU_QRw09u zp--2at+YHcE=nb$Qb;70580^1c_J$zag!xg`);vL`hckYFtA9pn{EDOO(~{#x;i=> z3s`+C;!DR9z+%%Jua`S48U8h9n+T58p%mrf%7sAkl5AX+v(Ixi#Ynw4{0`37tBNh} z#4>94X+GH2f^!R|`rqMOD{OkU<miBO-+w8AAv}h~1FWTzqfG>XRd~m$tV3QYu;Mi7 z)C__;bO|-Bjf!EEZY(gMBbc@tv#(1mm0eH&575|CV|tE??5Xknh@15MH|(@H%?T|U z(#}d#9PELb<-4b%d#Gpvi^?i5`;A6C``YtELVIVxZReO|qo~7(y7tL{DKy3cQY~x6 zXVln&4qwpI*uTtbjGBrARbwO`tg!<++<C~Wv7qp7_$y3@Jgdalr#M{mhXq7PM%bly ziZ6wfj$Je@*hMeo4dJ?fg<pJ>wW9tWh}%iog?4Pc90CD-ILK_XZcf<|ZIND472WTm z%$L5RIiFqhj!<;DvxlNswo#1~+2trNQ!w)i!6Z<ug^e~1kS8c^FiCZe?51C1!;W*l z==gTM#ZPR<6;a}M6asz}2r<qi8&fOf&F=UGi5Yr^V)HKtYGsad(4?Qx5d2clc$8ES z^;V_~L9H`ghE0^aPHnEEuIh}CV;7bPIVQaX7)-~dVrWT)4O8I<bNyr*21XmRF}#Qg z&9geXcBG0RWA_C#R!nuosx>XFnj;92imi1ChLU1?iipV+0x=FM2L>8nNfb!QJJo;~ z!d7v+->@*re_Ct{k|?+?4#3&(i0zo56g4+xt!Jie6{-l#@8RD{#s&!vst;Wwi`9Zk zXK#9eey@d_gH1PweHsF6**u_53$l1)0M@Oz|L$8^X(s5hZ-6sfCzfl=Hxc1W7?1Rc zwcYIEX|fhWc_$8wgS3Xz3>i3c+~R;D%g~vJ^6)qkMKT;<EEN%6d6?|AcC(9@7z;M= z(k$_Ex>^)6a$M1nmz|@I4O0M=xMQ8@(e<#Ff{NzpmujoPOzPQHKz*<(O}g+yJ=q(L zp9$fotY!^*C2C$Jei-Ra@F%hMBocFL@rS=R<Wx`sgu6`kx}Y%-RNkNXHYO|1$^4ay zrUn($9rghF6efV=f#fEz9GK1i$0?6{WVOj9EJz2LcvIiK6<gP0ACGXq!QO*aXp|1{ zRi<5?OglT79yvV14SX%Krvr_6RI;bs`)fHkiE*?#`Y{RELy3cTC6)p03e53+4!u%1 z{u16&7&URmV8#$3<}<%WPyfxcg<4EKb;1_;nvCLclJnM!{6${O-rjjj2t|<-UoQ1g z2RZ*|eoZL*o3f(V6%pB{+c0FwebNMw5q0C%@HgSQtswBlR0H20#KSocbb^9ypxFEO zpLR%z@j-^VPO%S#S&ag490|bqaH^ej3bSYaoV_eWbmQHK;;JZ6`>^Ukyu2V^pp?u? zD9g_*UvTy^4*vk9D+&y4t-sqfbz9T7x7!YS#+OUSxg3CaUj!G*vru)nQtg(b3WK3# z8U8@)PI?*6*8sxg%@>4ii?_OB_%8~tiXlJ4T=p3t2Mz3~?jAU+y<izJs1WAnBxE+h zT(2t(nc~T{w2&aw&UUO8zxg4^Aglue{aqSRmzb@6UGhls#UqI!1(j&GiSeyEq7@0t zt$nOUFd@XkhcOQ-;{-9RKXy1v)8H_AdnsFojo!M^Vb;h7Y-|Mzyv_rwaCG2^yqWZ( zT}6(n_>6pkX<OD>3yRp0LD?I^LV}c1rWqlx=tD(&PG073d8t9HifT<&#+#CE6ONx` z82<SjZVF8i0W;I~De$Q8<~Y;}k|S=}8E{wPy!V!!fu37-2CY^Bcy8Glz?Z7$mYsp# zTXyg~+Dxo7TrN~$vbI3<13NKL756PWBfe#4q~~4tmYu-|y=7-O+_IzShE?fY7bbJZ zbM-sivNJT9Ok&frY<zUqEjy}#RVQzq5+7h2%rWrZ&r`ST?9*?A=X>?U;o#e?(1-9B zqB-J@9fg&e<BpvH-?4-7pYPZi=-jcx)~FkH&^fWjFm>>!qN(y0n{7&Rwac{c<{>?e zey7FyP~K<L6bsZX6fU&s7OD!sK<oHW)um&Q#Be*r2#Z7z2%ZvO>$b|~-@r977~$xZ zn>1HkY$`C?E3!>R_D4{AbmlU`_>q|Tail9-oRz<Osn!=X5FP3=?v;o6U~O0r30?`g zO-&`lORi`C1Uf@ifh@G4O*^P)G2;q4)u0p0{y-}*STQddT4G&c3K)Dzd#2$kXIff~ zxHD)E&hmL(w~I(wuBvC~3c+aYPga(%W!Eg!%VA+g^HX7NdhtYEDPzfqQ36iI1M`ow zF@w1Gp`x<*G?f%jD(>SEHrWSnLoM7&KRllyQ`FdWM=JvzvK)=>sjuLtx^?GJi+Rnh zJ8v(ePl&7aAyxd6R*n(IkTs=`oVA{8{l%c~L}FYr+ZcG2skc*N6@$o6JXwmv+ivy= zQ->ajy9qg~cx31BFuR^k=87?vdK&KK=yDQYfSTh02}Qrkothvei!N;-3M^Kxs^y8| zuILZ5FNH`e_2RDR|M3s)zpJx%yud@8UIrBsXog;WwXUm7zy;WN*Q;;#j>-)~gb7kH zR>P_kJQ=n!GF5%T#_AIx!CfO5LQM>4QXdLiaNh^Fz4Hojka6+A>%VhHdbX|)0~?wl zr~V<#<f)g8yWL`XxxrOaCx_}HtjWs8J8u}Z;?xc6xezCO!bVBli;hvc<cFT{*svam zQ_1d+7>Um_aTy6|l_gy$2V~0|x&t!YKOhjznT$lwfUG&%@lfn{o0|%{15E*Up!w5< zO@Zr<j#vV4500g|&?6h|9(p|zJ=2`8j}`<tgE;sKivo)S%!^>JoEC&}q;4IE*Q|ps zlkDapIZ)d>hzS}EZEGfJa8i4aI1!MB*~ABr6ahy<jXE@OlgT6t>}2iyWv51tuqn9> z#2XaxUiD??G%H@j9nXMmWeq_p?I*H+pVl-Xs>zVu@eIk!6Bvi8J}tskZJl@#e>bFT zo=TR(X`!j=fP!A4YvmfT)I!DZ89s_G(Y4tr45q^tI9c7-&D(HMw%?`>B;jPuw-h^B zFLZsjlMTm|aI)#!oSm%h>!z{+Up4KwgWVcJ^a#HlF7FH{??`$1H_6dL!7Q9%LGk@6 znRQ!R*sW|)x8cR17#xtL1!JsY)FSjyXH?wDFMp76TA2)2bNg)?qGGV?`)9bGyCx-! zOY3TEmQ!LG6u%;c8e%v7!XHu}EF-B<>evhcrA`KvIvG&vWI(Bt0i{j`lsXwu>SREv zlLLjWH+OO{1dw1aH7Ft2g)jI`3d8~!cmBr&d)WRD-Cz&c8=3aSCc_k&XZH&bgB}b( zirQJ6f+XOR5l~MS4D;bG`U5@ORo$UcMk|GmTNoXcJA-TuypNjlIjsllo&;NHcAhjy zeKjXoo)w^>&U9g?%z5-&2W_@L81G(98jpufWRQ9@$!>j8wK2<@YVAmrGJTjp{3zIt z=FqMtx@Q?<-xRu1Ml^Hm=2R=O>wSA?B4S`!vFXVhTDg5v`K09Iv6fj`764u;0}<xR zmpHo`FLiN>vM*+**$_H*aS)Y~b5n3nP(#<=PD7<I849hsbLZ@a+~G4I`_NDTxLXee zQ9;l!RjB1FLd%zjmN$7j>g#0Cr@FbSv*=UZtBxF(#$?TdK6MKnR!^pad5x49;uGE5 zu;qs(jocUO#!V1fLI{owda#cMi&c+jE($q>#j<lz2a6q*DgYVVYB8*`N(7ZE->wkK zCz8u`9N~$c%_B1v_bOHSur-$bln`?&57>~CctC5%^RQOcy<5evU{V=~s+f>*pTN}b z>@CNax>9<H;XRW@TZCt5zpm7;9$Z(dETKO<?Guj8{nd^bRFS}~PckKQI+7WX@lev~ zoWpJstSDIe(m;ydnM9Lw>Py2A*o<2HUG}z9-BcO(2l`}YefC#*Cv70d-gh_SL;@zc zhqu^`5&TImiEXdOU(U5G3!5J-Qd<k*??^<uB#xtgLWc*V_m&LPUv@gOJA{3Fd>kU4 z+qqqakQv2~c(Rs|`Gy;29Hy-y+bCRnms`jerlHmgHgh16*fkad;4p0iCr2TO%0Q{X z0miqzfXYq^a$htr*}E521wwc&q)gdohIGfq#cJjP7*<bpiFWyY5>l21D+ilBou1tR zuO|(6E?D@sq@^fz@GVB3Lg=46FJN?93NBF|&j`2b+0|lq>%7w?X{Vl;E(O=5Ug$_4 zf};^&Kq=a8ilCaJCgXDIceSqfqXAqZ;*uQjNEF<IAU)u$i-KDg8wHxp8nPZlh&CER zhSU%&1wYj;BEIb)-H}^b(gM%j;g(n6T~F5mxRWL@n}?58fSU$|mpO*5BP?o)1fwH} zio<SCC6bqyt3NA&jJlWlHYTOeU98|8b3+vAxe;lrYr)f&gX|kFL<^;gN^y$>l#tnZ zwMwr{455_zBw6~F-ye^U1W=tqA#LeY@N3<RqBUWf&fbj0iI#ALEjVn;`1H-*jAdKM zMm)iz+=!)1aKAa<v)G2UJJ^XAI~+X(e)z-XZmbn-N1|n<*zPUEJ3HCvm3PZM;Vnu5 zT}Kt@%(O<qcO-1waz6{N(buL?oLEE3a=5*-P2sw7Yj+csjbj&(x2)CDNo;dKB}`CK z&EqphFjSSk80Mq1%J)?oK+fL!T<X)J;)vOdD4k}hRnbte!#(VYJNsC%QveMH_5tGU z0q9k~b_76IgHD(ZA@&G>sPv`!tlN80da?I)0Kx{to7Wy`X?g)tEC~(?a)d$E!WG5> zW~igD?g8d*xC{>v6$sx}K$k>rgl)$qucC5z0pelB;|TPW+7q)tm!JcitU)}YqJc(0 z4RZ~GRRnC#!NxK_4vJmV099`QHQsn~gnNuP=!*loFXF*DQ2R7UXP@qjX;n@yvX^R4 zW-jm@7rMLbk7(Cc2(0Aq5^?^W*{r$BXu{ga%k7Q}_*jvTb*C~$>@)=(2LyFCVNp`K z3s>VUsaa=e0&aR}lTT2-N9_n0LT3E6Q~@@+<?h=GQ%x(Z50zm9-fLI7&z2e<xzZt> zN|-X74VDB6ln<=&W!d!e=<i`}m0&i@9-i};m0!?0{(66UJ`8pfMTj)bV55n=acjJx z&2<ffIScywd?<U{V^yTpW=Y}J4cg#<Bwd@^Yvsd|3?Z18kO>JOx8U)>-d~n$L#m8; z)I^P-op2M5?kgGOvJzYO6N_yCB@Dl^at%V?q6MhD!DOqfS_lwBJ?qeFjJPLUJRxlc zH|W3#1Y2&vDE8d=(J0$4M`xf3zZ9z29i?mZh7Uv8$BxG%iH^0hcVaZ6uB~VrZg(hI zo32&I!au-BHz~{V_5v_cTpplCm4j;nJ}=zBfsr^a2mlW}nN(KP^&A$I1tf?*hPnDC zf7J~e**aZ{K%L-9YDiK-*Q~7EKfz2HEG|?zkTbgO>=Cq#Be?>Rs}O@ZAi5*cx*KF8 z2OTu7sxo_?5rZ4-3#vgWp1`tSkMO#^;4JtjEL+az03j6<L$pq6uJt*erTW6nJ=?sH z>KO@YVYD*jJrbs|Z4G4CoKPW6W6qoriYv7?N9Z8sJn)u}daoe1iBl5daD3gTL9$l+ z=*t}Flu`E%cZQihgkK(JRDw`GurONslhb2c<I^Ac{BH0M@0z-t!gIfXWV3tEQ3qh^ z*({H0O1)N7>IN=aIqE5OThu?Le)J21@L^6VDtjbT>NW%oplMJ{rl*v8^2nyt&Bvxx z|CC~gj+|2eH1_D4Qgm{@DRtjNol>vYl-lu7rWD~idv>WLd-dZV!IYx1M>3^!zlEpN z{&GsGCy!)GCD|vAO{xAVrSPn?cBv%W_9&ZDbaL(~m1Ku|rqm~ohVgs5rWDba=G>%q z%)$3@n^iB{H+|eAm{7xyXg=xwc<oSxi4xC8C+3+<+x`}l+z!j<Uvsg1+n-jkd|y7s z@`>eBkj2>?-=1vV?dkI;iWI~qKN!b1^&vTqOD(w7sgmP+m&Ry5j&GhaAMBJ7$G5vP z%HsI^>nJ$B;d!RgQ1-g#bQ!+?l&SRH#gCe)^yXtzsefOZYbxD7{QsA!^!kT7mENme z>Ed~IrFYJ;D=qEcl|HrP5lp3}k7!p~TJA~&4b`qhC+69ew!V!}O`ToIzvkMNuI)^v zuO8c#v?~!t_=sI;|NK+wi$}F9?R@K=a#z~rRJki{*BH&WE6r2p`c4_`O1nCvtX;{! zj$&6@I`6J@{X?BfH)<*oMq^F}@4a(OrP`)G2Jb!GEB&yA5VcK@<iHd{cnqRt^i-k~ z^Gv0kAHAh#D*4x3Q|axUsdVSDsidhy?2;p<(l?R1&Lh&h<EW<6t`CJ+Q3%VNDyPzn z#%R8&G*6kmoidtA`#YnospMZrF_p?-8*@nXZhWXyY1f18O8<S1sWfX>dh;V;@cxr_ zrCqN>BhuNG{A;eM^uEqiI&f?%&9^Jvjml!4sr2=uno9d$t1ufnD;;pEoJxB%M)OUj zdCKhTl+jc=&>3Y-CI32#sWkttw5Mk(y{{1uUWMMl-V-r5&Ps@$z3Q>VoST~3ja@z8 zP$i$+j@g)k?XOI&ia0pl>vCC)q$H(B!z=eWU9B1wvM-bI6c%Q34VD{*v{d%-K-)?X zrc&8N^|<Ot-NYk=%g>1=+PTRb<p|{v_Y*oxw|V+*cYd#z!J0C*F>MZEr()Dm=q^!3 zDWD;GFWk`hf%%`cS{N;_iW~u13O#H>){RU5CT}8}SJU~JOJ4o*2^)hJwD>;-8F#7@ zgcG-8O8E+RfQs~vA_+w<Wy8Y)jr!<KQd}b2|3OL(6DrYF54wWYQKZa#ShNY$9Evtx zYNyiO!T1G(@$m@b&pckABXW#gS9NV~;%j^T%E&HNS*Q;$L%ZjTdvRq%9j1$WWu-Q? z8e1~V_j%)sd$CNAEg~Nz*ep#Cr9tk!xYxiMCEeEv_xVa?`ouG&l6nz{;m2U{ME%;h z%yz1b0yY=41<u7!4@r^rFb4R({s9h7&JdFbae?aeczYD_I@Kup)+Mf&ti}%aH>}r# zCs7!?noyryN*=<!_KcY58cs_?C8}kpda|S*r&@QMf_wYFH<AS*@S5x{YS>-anL;-4 zrKt~tSEiUV85HlR9Rx>|0>39024)25%S@MeTHvf{zl(NDy2qMsx<aoe?@1@kQH3Zc zBxN6rH=y_|oNX~UQEEh0LF_oE*;=QGWd+TmwP#79O2gG&Ow21N6%kxBUwj>SwOvAt z8q#2saYUtJY5PMt*_-f6O91mHR5fDYFUb|H8Q?)`cFR*}nXEEUs)C}hnhs~%R`7c# zRv1IY8VAyYu{|NVOU^dI7aR?1L*_84fUK=d30`sl(r0w28WRLNfbo83Jib`3cE#gF z=utSq@gyZ185f7^t8nlK0g3O+Vy03lC5#2R{x9YttjQ^C&$mwRn3=k2b9?c*l1E}D z;JApj9LMBcfTfIA<cl}AxubYz4A+I!e}UMMxxeH%+u7emcMpL&?$jxweDR;?F0A#% z#D;an1qyE$On%(Qa7EizttA*08pxWBO(>0x8spbNN5>}ku;9lpnp>uXqpc3Y3w5l- zZCsce)DSH!%MIwqqN)-T5HCin7db?*3zApq1C-t_@@Fjgdzb%0d<08>+ekhJ{uXFD zv#v5Z8a;KOM8+zmQwJlWLC)?x4{t|kI0*`TJL1%2Yh@Q57VOfV7PBd(bMDf3e$K#a z*dac<J(n{^;PR@LUHeRO2HS`ql_tnjrPUK-jjc%>C`+VZa)5TvEneQWsUc6X{nH<n z5$?Uu2=}{bauzS^X2JH6YIc5+Ok>%$wP9ie%hMfk$jDv-so6}j*!dOo-EVwuFzeV$ z+3-3LxUM%UaPZ1@7n(*Vag^h6D((m0IP}@Se9vcY-+3@PF=EwGNQ3N_XBV3VN4VdZ zj6LmzYRMw<OQ4nl@9VN!Je^hT7_=2lM4$OWaROCp57N)ihM$T2Z1=|$#lU7CPuax~ zSj0B4#2e9y#2<n2w$oMHF!O{*i^ZHvYxu<4g70nF<QiGnP9(=;c^j>a{`xD0dZEay zMfB9@Z@*HU;!X{opx7~P0t&Hh&u%q!&}hPhnF3lr7+Wlw{c=m(eRIFxgkU&YZEP{* zK42^4K44AiK49FdKFEG~(}`M9JP5g-yIqO;^;N}l1n4eS)$FtpuMT3ou%y$$i7?`; zLI*!wb#R0Zu8j6nKh@ur(aqs!QY@L(UsgBw_iBym35h{x7>sV(eTeX}m_NP)UmoCF z5#ZZf0kp&beWUsbnE>DZ>Sq9VUj^>t=K=SnU2rFNy_WSwxF)DU`Y-{<%<(f{U^*!} zHWM)Wp2-zsUX8|5-1Nh^oLfyU4U6*K@@#Ptw%;o4DwAT$hEdy^aZ{Gb^9G|x)`ou) zfIK>aQmh%rnNIN&29JnM0edN<?0LgdjA(tW?04*|`B1}BoEaKFO}BdBI*Pdx1H&Z5 zzDVXkTCIoKC_;*bgn1eH9uY_M5W^7yRSYt+-B=!Ve(i(vZfLB;RrCj{fPvRyR|Tq2 zu!&irDqIevl;JAiI8Vngix*=uPBYU*#kzzG1Wbeo6~z8#-YG%_pUC4F6)>s+x#nCQ zj)TpWfFGeA1+6H;AqRTO;EBZA=1t7kSsMBEoDs5P)YlXFL)+l)A1LyN7_)6(R%(nC zVK;B(bvOhXMm$a&7D9IHQHV4#$bsu8Mw$SoGSl^)NE16cktQAnIBe}Yo@w-kd9YE) zZ?>F&utvV_)1Z1@YCR@8hlmRn6x*t=m(H|1fBIfQTVrU4WlGDcY)Om#_6zz@k0tVj zK82Qc#xm^uZ+!;Fj6NpDIF`fsRn9>*j7fRVs<gGo-uU3HGh93oENU^+tJ(_QK^KKp z>_VKV42~kyQ2t_V$+Bq--a#0JPXncJd5xZI3|nQ|9va)$)7babSm_~TSESIf`5I#i zRgG=yY0T!!G`78LY+D()smD(EWuNXgWLKonP%sj{P{&3v=KC%Z&CVX2RL(>cC`#M} zXQB&1aES!?9BsxIotV6<?Dvk+nP`V?zyosF{>!t4b8m$M-O=?XA{2jFpC+5pUX<u@ zghoK>X^|Ylggt~V3K1H4;o&K0Gq~R<(Qzljy4kt6<6h3NYEVw&0rk^e4VAoy=)}7m zN{Xad2RW-I;-yycG1xM%4zTgJV_PnA%wE^=AR<10alB4E!8n;f39Oi5V(Au%?28j} zQm6>)Lr)U!FJ#pc-{n3WNhsvjfZO3m2^@X^+vL!p-QX7_B6Kz-f?rS%02HE$qwxva zX`i51HHkMKU&-F9AgXu;nL2zT90-H|BFt!)a0*#MAcH|nI~)&+W_Y6mt-K<{YxbOj zaKG_^WDOr@n8(VJeQPZIDt7%1gu0zS*<DX%va#XxpwC%9`>Q%u07HxOFb~3;vrFM) zFaH@fCGL~dg9>Gr9NZ6=3vR=%pf6=pfF+xh^3>kavc?NX8`8<jeki=~om1NDsISP0 zx>D9{e_=YR<MBu^>qdwrsmsvGkvd1ur#rp*#!~^a(;MJZ024BmhwMQ_K<&{mL)x~O zZgJ+4`7S|BLtTJtg!MouccF8*fRPWdi|ol|$q_lHv~o^XE2?gXTPRBNb7(%a4*oSd z!~7`^iJ=Ls&4<GoHDE&d@c$a-Pn8d3@HXILn3sZdZJu4%hY50IU%3GA_Pe1rBUJ!t zw>5dx<hru~AD}giXG^zF@b}besj%~u`pG>z8WTIR@zmgzt?D%m=@l^WOO;+Ic$DUf zuXBwHpo6c>Ii;H2{Hv9Sv9@VX;Wm)qHPnHY0bE;F`d}kS7D)HAzsfV$Q{V^q%9?+j zo2C(wK(QX{63E`UP<h@6#4s&pL#axqj!i~6g&muWUY0~gkFv>l!_UQJykX_B$#`sM zeAMrZfBADU8UOOwWVGt!7@OK*NzDa5%67(`KNpj6=dsCnY%)Ij&y4T?xtNUaKQ<YU zO~yz6WW4d`Vlv*?KN%CGsg*3U6wL+myW%30w}?squXV-HS<6O;A}(EQG*DR7>e84# z_&>@Kn;<TT#!lq!WuwQ%OOkZS5{mlnx#1;CMwaNm(FLeK6rH9`sMSBf*zfk=#=1k- zb7fzeC{wdOAr#F%zJ@$YXBT=nUufuuzpRF`*R7emJ;b21VSA`A5D8a`iKaXElPc)P z2f}OFEE1Lhj1t;Gqe9pU2O0tXPd*!AVKp3FubH+cue_q2URT6<I$1w|*=UV8T2eDb z2nE}*@En6@ey*C`HNu#D@i|7rSdo)~%S3$b!Lr#Ii8kJYl&Wz7+TZ*D&9@?&Z#J7X zN3us8`O5$5CTQ#}XE+5|J+%cm`(IG%lh2mfUGG0*1*=6<S`1Q#O{a0vN^7lFtKLv_ z%-Lj;6ojd1@E#oZ;(`!a+1sBR`cBvqOo0&J0@l}m6WaK*3o3~J^!Z1o-u_%NpG0OM zt5iT?{8v>M3{|6St8Bn`)X}cp^E<AjpR$HFH<L!N=-UzQhwJStsMTe<?ZL_CUeO-X z*bYsmAUBC(DUal4Q4ce=Ue4I!#fsrsi_z>1iXet2f9bbSs|`6s_=3%o3ozl5oumxA zWIsy_=q{G_MA?x+R43$;RM^P*vaK(W=$L5IXmhr5%Yt-KsQdg;0&jmIQ7SQHmWA#S zNqniN&0`c-Y4*S(a_&chDhoir*|{W?4OQ`1)A?mj$<?roRh*p{f;pj(kc}E#<4y<a z?tl!FY-bpT!D{u8lmfH^I11OVJxlOlpV9*|HA<^eg4`yqI8pj}iH*zE63d@~Wh7U0 zwyIwP80&V&C~q<`2l&5H(tuootE94aGQ>fH1K_!OAw@r$d2p{Aw{(X*-3@RVz8<h- zkr?`sV1M@$GXhEgTw0(y!zn9e4BQkv7d87_eV>1Pdk{5yY^Cog8`5YoS=CgH?lIa} zOo!1X@SF!*FS>*6Z2jZBM&oWvJt?E8LL=PnPz}0=P?6qHk(yLK)>vqglD+iFN7J9s zT#~9LHa`NA)fL}<C?zd61h+P@?CB1wsY)t6n&;6%%|5-`cO)@XsC=;mf0KTXXy{_* zH)e~BSFvIPrgl-W-@k|{AB|(E<~T^$Au7CJJ#XrEi6-HrvGHiJ;YmxRqG179*5(J6 zinQt3;Tya(d`%+J6)$un&Z(fX5lzWbk_BjcX_j!tGAsZvP{O>W#r7Zo_<6|iv~8Uo z$qbGL-TbK=07mz?>qVW^gj3pSOrvP3ORA+`<;`<8LH7<JV^@}sX4o%ymN(Ne&%(`P zTz9XK+Fl8nUupH4v8!jVZz%c@0k;DtP9r4!h)g}A3To`|083D-qeLzH8G#!6h*?mh zFmK?jKrCR!q>1vGK=-|a${;lH>(tm*18oH@qm0WuBT=DNLl98Q+yZ&ytyK8M1PMIK zwqBKM<S5BFI7<o{VNKn_LxJ4~#0Hv?<xtA#$Ob-dh=!>^(3K5_@l}J?D~~%<PlH^Q zJx_yi)gX;AOOxzVx@Ha>Fv1%_Lp=0`W(W<KuWvW8P;bh(A>*OA=-o-iG9@<-8P5OU z3yBGlO@$;-V_<*i3kgxKt{?}$2e{ZEWc@x_2UX@?65%q81_AuqLwt7NNifTfRiGqa zhMq1t%bpQAF|8b|E_(K*C#z@$20+xbU$pd9gTiz__=N;}E|D|XnZoq1J*>$Xekj9% zFUSg-$}d&%GnTbSvgd+{Cb2-<#4QH$9MT_av*bO8K}&7S+FPNk(_IU)o335jE!}Ww zhOS=xzZ!D|9}Sf;6&uC<1O{vJT)L@P`bV<C{Ed-D@e<5sG?SEfkfK<#1JpRN2)z1$ zI+IZ>V+6X!pbf~bU&O>+R3Arc4D|$jus*tKRUA?AAd4!13^D>KND6j5z~Jz7!g#=z zGx(#4O?Tfg>ZN_hU}>EWe)GXgPX|OIwoxy2c8Vx3Y>66!#R-*iJ(>nu#6Jo{C%eC4 z9_1BIGF;%-sLaDKVDn&Ul<L|s2+Xw}cLxt%HC}TL5eTbBszK;3Xc+g7V)r{g8D(!! zh_`4```d-uHX|9?wG<vaygaw(rC4(3+<8^cTR5;I%iH*>0diSy87muKaC-s9B~XpV zokH>lP*<@G@(mK9t2S<gKtXyna?U2xJ+j$?PanAzkwFePy!3R+3Ol|}<^#G<CXo@% zeyrD1W+qF<$r0XSG74J3rnX9<Dp#z_{=V6nA6Oo)YL~mqI_?aPWUCiUW;Lm)1A~du zNKaQq6x;6jew59errYo`txCi!h1v`sVdy8ddriR@s_1|s%rdgl<&j}!y5p-GPbA73 z8!3m-mFe~R8EIorS7MbxW!>7<-*b6^nMOA&C!ebRGwBs=Q#Z7$6rvd298k4#K5q%3 zdI=BEy@4->VJ6)BSN#^xJ;DDep|tJtY^pE1P8HHORfx&#JHt#)Uu7rW!tcUnCw@|m zCL82R!k6pWren=|yE(Y6>;q5cX9&j0X9~9Qq$z_ztIecqnCyJn-5lXvRBl?VEvi+? zMi?x0w5*;X{0KuR(7P87GI~A_0@lG;$ke5SY$g>D6nfQfmHjQ-*2+k>!wO%ImkA3J zJh(10lAVhD;Q+sMsxe@^5ll8Z6MmnW>{Rb>Fk>smcrxGmOydTe-=I&s;Ogp~DvVij zSD01xV3y^<EV@y81H^N<AEyC{RMo|4iAoRN9Ec3gA#_fj5=Odu6fmNB+e_f=TE@Z! z?MOQ!na(Ez@zsac6_;;pC+i_$Iz0fW!i=V9Z*lTtElL)xjjiiS1j-y|D>O<(cU9{K z&Y@sqlWWmH@3+nQ#~SglY|bAv80X*WjCuJyF8d#t!_S!Dkz6Vm=dJYwUi_<Z!O?1C z6a{l33g`>O*_7x39z}sTwV}!dNP#%D;WrijaeNTc8(1AhID-x3gCt}sH<%CWF#v_O zhsC;$<ipzSFfS{Ib2P_3OgkWuV_wckvrr7-?WE0|^BxPZSmnL@D+gmSO8zz5!I+54 z*^M0s<AcAfJ}9uzfWVEa=~1m|d{x*=Wm(=PMCgd(Zw>+!`#cYLa>w5sDdTSv-cw;6 zsY~%U#YiA|7*xkqWE2>O9e<NL%lMn59ImuKt9L!T+d}+J%7yrwqxrDoZw@H_=AgDk zaOehwW^m`&o+$f0X5y%c5sIasxDo}k(rYkUYY!>@rURyGXCwwFzWQWYp9|k)*7a<k zUPA3yqUjnp#sjlCC{N)x2eZ3M2V;CHA0+(d;jdK=##0PSxI+aGmi-!|`5cVrDRZb( z1~0v0>dtDE6=l`Gj>5sX48^HQhj6SLeRCkYwa3925lfHtXrtG9v>6UwFXDK=1SU|{ zqpcq6QQm0HZyaeo3VY!_Wep!^*g2F%)}#LQ;MSwg+G9P+L^Q82qd-}YHpJ^FTq+ML zgun)7TaR*2sGy=@t&chYl!x<%tw&q%uALV$SZj5yN2w2XpbZ1%x=ZU(9ZiVC<@npS z9&H5cQTM#h_E5Y=X$uQ{W?&kX^{5WCZ5eTzLPcEMfCwOME^oWUC=$2<?k<FQUk2;Z z27u9(uq+TQR@S4q{B^BIp-pW`jmlcl)}tLX3{ttrq(TkWqlyL6_YSrEAaaH39moKQ z0T+Y36r|jp*lRuN`ei-ZkmQOsINcf2Zfo)%&1F5xK}$D|Hf%lG=vt396cttdwDo8M zpa{fFHVt0cY6Uc}fPr7C^g_X-G;Hs=#s$!oIkS%}Wp(Ve9PNSBmZJeP4>o#$0NG+W zst(z5w1TayxzBR6gXtd2(au;1ydKL@p%n;W6H2SmW0UaMB&=xsQ8Wo>eP%&|#m zHGIRS+s7v1qi_=L`I(=DdyY-QW0UaF&5r)_$j>@E`p>weSM2Eb8p+62H3>uIH(Uxs zB}tW>U-yt&Q=yX?_wxFH*0xwX_5B77*l=mTx2EXjbk1>n5b`2d<62<fIWI+-^fUvi zQr_Ymxloy>;^py>P36Ll6S3uwxaUfJgW@>dK-+ljred4<OB{;qE58~<7o1$~8_?Ox z^5Y?$dIyWc1lN|YH=4k9l6`-e*fd=A=xm61vg;Hr38}_`0giVwFHuCqZ1T9RlMh6j zC#z62@s;BXC6!Os(k+B8>sCe)fnXNCtep|EhWrow_(wmy=WGA)z?D~Q?hRlwo~3IO zeC-_khQy+L5jTAIWg)^1H4jO;h9jX4Pov!R0ZdZ#W`9C>7n-;t&o%>gf^dYuHHupU z4CGp0%p@DQAtih53pnp0ohLZjy5i84LV@%GyrF0J`7n&|zwEsGI$HLX?*|7uc$lx} z5@1On^Kkk-XRpzD&|e)$xhUn~_jgqNy<!~_wbLEN3sizO69vLIh$_oIP~+Sc$mG?M z<s!G%snX;_0!&%PBi-BOqOp^sm+;_tcm)qc!IH%zhvY=c9~Y#C?1RTMoXE$rO7yQ| zcT*ZEDR-o)k(3ijnMMA!%Fh@Dj^yu`2Zw(7?vr7sHSBvD@j}Tl*Hn`YAt7Cn4a=$0 zV*m_Cf5|=QR(a90gp&2_b%m%uuLFUypiG1A6P+&+UQ3BKw!!L86+@IlPc#puI<h`` zT#8vHh~iV3ToF>zn_}C`3FY?w-!%|4PhTmvNmtR0(Hd9QNb#(8gZNKcC50OrR&#vJ zzVjHtK>(^^|Mj1)ZWfj<0Y!@RDLD`1o7@>=B!!!yQ($s@KHd$HT1o>{fs6?tEywRR zfh+<D^q&70<fCD>QGkgfN!K7@`35$~{wRva7h(kv)tN+%Jc3->i@0$cqL#7{#hWN- zoX${qfqqkOzE}wck-t*t0T8D$N+aL@A+?P!mIiqN)J<Fpf`@^!p?pz5J`vrETR&ZO zx|uIJ>iQSuQNFOM-!;=aHIu1&!HVp0h=qdLy&%BfSNG9^PF4RNpWTi|kP42g%Wf-= zmZ3C#KypIpcUa-~hFNnk2^$F^qeRxe?Yldot0S(4HhB;+h9wH>+zTy;RtP|ad%jkC zXzezy`PGMjYa<s_6X3{s_Vwq{&<0xObI{+##T`9)+@fj@*ZZZ&YOqy#OEZpV+o~jp zutx`K^*Bng)=YpjX2{Fyl1WxqHj~sPuDULnWLkWwO4f>Si862NzBAYv8s#m^ylr+f zR980hcA)UB$*OFy_*Yj}-s{QS$J&kek*j015)|Jei<9A&V<%Hz5$$Av!pVB^i7Icy zmp1!tv$&^v+wuj^emj8tQT0Z}8@2lMH2u%KXEs&{a5CKD>||;TIT>zncCzmFoNTyL zPBx7!Cw1jxS?_?m<hN|j)!T5nvfmD)DJ=7jbn}iD_f~Hgl*OXrO|yVkryw{1|AQ)- z7y*7Oja!+aW-$G>&JIw%ZFtE1wprX+z15AMWrl%nhQV$VLxv4ol4AQTfbOPX+#N_K zb=h9|Hg$D=TQg#vth;F^8^w34yn&oz8hP`qM*f8?QMVB%6T|FeXvE2yaluqm?s_{d zK2H=&Z4$yj*`T`ZWYfKJG7O*E{`0=J8y+85-7NmC0;A<#NkRRVZf@puZ<w0mHRY$F zS4zk3Ko!$tbKQ%{@)3>4d7|k)rsYI?A2xle%@2hzsnG`_Eo(DOit86BLK+6Y*Q^X& zVDDd9hhD#+-JDF%(>gPe>|Eg5Z(=8RQ8vutzNFMDHz$+d)Q(czaLY^?+~S*08!vC7 z-&MElJt-&~iYQKr0GuJdN8Ti4AI~m0Gry?zXuPKTGwISqa>D}D(qxfor!vA%Ff+@> zYelMUH=f<NW83URml{9@-cW=#F?sl))?Bc&Q(Jxq75!~HMoQWCH0<TPZ6~wa){0(i zC%T&3rfgr^*N%j?xAW|_{pyvSe!o<sF0;OF-={oUq3`T9RcMy(1=R)W@P6#ekhhqw z3vNnxZk|+U({k)W`}|NQ;p(ul%8zY}^-5jnyjoFV;I5ibAMkjM#t=Mi)zjRGhg4Uu z3Rt*5(OBS}#I`Ap5WiuGv6Msu;gB@76CpOHo6BUkoKjs?4d;M`vl`RwgVCg8Lo$y{ z)O^fd{yg0vT#~13Xad4w9Sf=?jBS}Dp&n%~|1V0>-7*D*W*>R{5e>liiJ$Qtc`f$6 zAahLn<Xg2*b~w)7S#$Jhtt`>#(kS>p1Sf`((FNJUMT^IlJm#_REKH{|FbwOoZnA%@ z-c`Y3%6E^^J6La4kvx8CoSYIT!%OroE#J`x>C(pZ4hu5pv++u6c(LA9p>x7JUNB%~ z@J>c&c#-m8JLYm_n+x@>+23ZScdh<5ZIjOR)xB-X;Hntxd&i6ZHaSak<7=7c$w}=b z;2+jItNrQcQ_|Mc)0RS&VJO?*rb3PZe=rP{bug=9cIUHAJ;j2m-K554$08iD{YPYf z<Jr7_qUH!oMmXru2cKz%PmGoc-cV7xGFp0Kq~+enn<wa$N8Cu+%tgh*{>C89s93~1 zg-kL>tkVcb%TK_Z%PwMRvDC~uH`#vTj~-Vn#aiR7FH}TNoepH{q{(8^7dx_8wQHPQ z7td1dsIG@sl@8G%nrx9E<vi{Sg29$3V@hHC{*a)NVdfFgEIE2;Xb)UsAJGGi48LZN z0+{*aQt_~Jec1}x2c8wHP_CWMKJt4Q_g0Dbl-Imxol9otnwHGwE7y&VM1yfsZ=|(B z{%b-#nwH+JIq-=;5=$c^v-1Av$d|J#&-eI%iL>&E6>u^!8{%Z(CR(BeS1Aq-D-&fG ztLkK6n4Oe~SNS%us!iX_oU9F{UwhTM(OTSUMbND45Kmp!(J2_3^xK+Ya<Xpr#L2+6 zIoWi_nslt<4K*EHwb&$RPW-%DaWXX%=VYzuWT?9<ejBQGvRVAl#kyQx9}>*|6X=~h zP6npg$<*j`verE+)Vqg`hP&kqO}Fi2%ebr4mx|-lMnDH5cioJ9Y+l&O#C>rxV9d#Y zF(>N=!=ZgUm6+oWl{gtHaWYimWT?c+P>GWbgOQ4uU7tw7ymKG--C?6s_skh;?wOPI zE=L_sEq>dCGc7A?xrcr`&}F#?yTyi#JZBho51kw_aN@};CR9s8mw}Zut$X@WA1usC z3P;XmBDav;@EB%Y5H~o^a#)#}dYeXq8K(NHD^8XgGHs*Rl-nrtw7lj$D(?ISaaHjq zdm+=4txg=QYGEEEtZc=WyZMX^LBgo)^G`OL;16%mhhaY8FOj``P4~k)^kI|_-<b8` z{rZ5^Ap5tIy1759mxJUcY;Sh;le!;n(T5Q}+&!zBefogOY4Ocj9}ZL>2tVBi(P4ei zl7hoXUmI6{lMl!7;ro2}vlF|G|G7Rqo)5S3;pSD{4}YT%YW!QX+W3S%2;6IDwQ-w1 zJcbX~&-(CfeGq0pIP1fY^x<)Qn3?tA4F}3Le!zzh_CWO))dwt7`UdI!)rW6WqIZyP z(uW1Kaqq0EZqWw@N%k>)Ree<-u=-_!^ndtY`hX9QjBfi%{OPy&AY9!ytBpU`2lf0r zv!MFRssv6ieQ5u%KB$e`W_{SJ59-IkSyg>aA2gA^JL|)@^+5ymy;&cAs1Hxz!#+Oz zxQEi;_-#H2CHKrKalJmMgE-}s*iD!=!QxUJuq?5P{nZ4M@RHdq4>#<!<Duzhf}@fH zA!5T_=Uv@ya%uMV=ODV$NeSPp0+YOJ-t)02d-rL1ePud<n2X06WdC)RbXnX&)#0Q; z{kq2*uREJYzh_bmOg$fwH4~!G6VnU$iqZ6TeL0gfHoB5A5GVQR+OP$3gm01z<uB)e zmmU25aYB!e4`>l8t?SM}E~_47@BRJphBF{$V<A*cid1g4h(iaWx0UHhCng(6alXES z2aM^(Jm76F;(@^#Pz4$D37Fw_k^&6-U;YZRH$5q@%Uu7QP|ukGIQLU=xkILRJl5cM zAs4{@gric0OtlRpm+%2!GuHtAWF#AUj#7s$nych=0;wxDrhI_xZvoKO@8G*-g-#s{ ztE%bexO|<<#9dCNs;N>fi6n<oRgSONL~?O9wb(i23vj>0&vkr2aG?DSMf|TzVq12G z!N-$O_Q^b#xAE41@5XRY!g{g}p#;KmRYF`zIA=o!gW6k<<8o5ZSb(bRS1CUKNr15v z*~PH8LPY7D=A{Fpn;|kkU9@?t`yFUF$=<sb3P33)dYwQECWNn!cEl(@lA&VT|GYU! z?5puqOS1j;$qIs!!c2$Px@I=C>m<v9xNXx138*z>VGH6V^w9HCt?xo1vKKTey&I3o zJCp`t*zq#~DWY}eyJI9mQ1CbC_8N|vI6Ku=L>k!YA3G?*bvQzt=cA$QbLYVQM&oI^ z7Hyr51nY`7-}}nj<kvw?3@6!eH9(qC!xE%u*LGOnniL%jD}yM1QD&2TN5|O#l|V>D zr#K*KA`)lx#ZC@)To+$tjY@lXW1hSS=jY-VUff16!7j|Mjr+?wAb~b89oCoRMH^qF zvlg{5sej?cLCS^Bk_%RNPmv*IOJC&LnBdCD-Y=8m7Tz~l!lQKH1~@XLRZa8|BAnIt zcYNua{{mWP^&Kx<I%*Uk|3Yo!9vc_@rvL7`e%JWTuO1AjG7V8J`_f9$OFypf_}A|p zwjutJxHghoU{}?Gd4Uj+yc8rG*Fx9P<9Y<_;0#xxn*|`C8?pwALiR|B>@r`8@p=!& zWsN@@<E|6R>p{8(Mo4FwG1B?l8A0J4m0Uj_zPR~SpTFX#hWFtA8?+ROro|y#vHIqP zJ;`Fx<YCEdIj1f=fn?4?zycf>TN;|9tYC35bJL!vczW?J9@#-=52H=7LmVfH`|8TY zELa#t3CAyf6nOYE{9d-i>rw~41oV{ew8PY*+}OJ8o2%3en%Oja&Hv3>|A7la1qW&r zU>B1}&t<go#>K&!TB3&X;$IcM4{_{Qf13niyKXi7eitGtf0*h0AftZZx=sB(vVnc> zN`C|UsplUrD9i1ubxP61KCKiL<j&C(+g<>R71_Cl#P(DP!Mn%Kvn7Hgkn?Mnp+lD1 z!HpoqGKq#m025l2BYYQA9uLv!C3vT-%iis6pB^zCA}~~29pQ@_ehY&Z=CtcZq3>~$ z#Camw_o+WB9^k*Gl#ki#f1i>J3Ia17RV+fAdvJ@W6tx^u2nA#<+Ci8=CG5zkJHWH{ zOLU_3-J+8qfUG_T1sl7U98Bn-x~oHy1~<l?M+qvRBM${?8dBH60bMr%f|i=`!5%zM z$CI+-i90?YSs&SRrUZeS>y;d(OwB@u&tr70iwsL=SUfd157l+1yRMN8prv4C(7-{O zK(9xwUDIt;q^LlOSL@iKf(@8;mGOe~RFQT#HCtttr>nD{i>6qc9(%{Y*{Z2qh!Ra< zWW1@vDuwm`*~?gUUBX`SSl{S2uWoIwtD(C308m{wP7Yq#9>SsQI@%#VgBC(u%mz?= zTjc0%p7u_TY8G+!{qBNawe>Yl=zZ|Ilhs!4{P^HwYJo!$-D2m`-50g9k^WZ{i5rjl zB$mr^#J(2Ysa0Tf?U^H{nc$cma0r7@-Zpm*AE`H84_*YCU27AXq$j4?;?UN6NwsqJ zTMx1Czp(dtQedO;|FQQj@OD+z{qK70z0Yf(la&{QB*5C6s3)3~*hUf|YSs}1BxroK zpw>$*{omXqx0fJt^Xa8<fPhiy-{?QqXtAV93$0jVOIz$etw&x)L`)T1R9X+3e;bu5 zzG`lL@c;hCm}~8QPR_{#e9({KkiF(yYd*&ubIvixYi?lUf@)fiUl6X1lIj3f;6_oR zheQ`GKeML4CFlIAYCX&Vt(5H=uVW3m!2;@Cx7vXq$!aTDJ&OPYYD$7ZZBYIVFcUAX zdP9y4wH3$S+0_vxHk=7LimSv;>LpW+On%RXa*#%l`6&0Pv7g%~G<&>d{Vg+@#W#S1 zz#d^t1p!TC@g8_UsEZ5{33%{`Qy#|>+B3fWJK+jH-Y{OwsOk-k;SDx4<(mf^aXk=s zm<{noHsRT|_$@#9FK;Z3<`{$s%%#1J0@@BXBLSS=Tz6K0_|oV&rpFhNRU(2Ze!vs3 zljh|0#ls&Mi?Zt>*0p}2V=zx=Kc=4;x7JOw^k(xEBbpI|y^jV-!fen)VPU0lfB2e0 zR-LF-@R9KaII>ED1Xk;_kI%9UG*KYs(PuNT^I7l8Ph788WS0RVp1s^8*rQE>b~SY+ zN@zyBKGc&vFwjP|O)4lhE@sUn13sF@%uqdjgQ=zl2JDjoLw`9#2@D()?|822nb^&; zi@ZHt7w>F#b&)F}vD}l1V)?QU3okhyP#n<p;!Gzob9DC*phdjc|F$v21-g90c*7m= zedSdSA7-pT*Qdjk!FA7t_^+rlr6{srUAEnzcuWQLc|nL24lW3EQ$ez{&oOTjoXKx+ z7rd?ba&Yd%h>yWxoLS+f9fnWNo?;kE9AV6DATZ{&8ig|f=C)1bz1f!EVjh7*x+#Qj zlZR?DLK^2$RDY3O4xX|m#5wCwG5X_lQxTnQJ3M&FCzWP~=m#1}>Oyi^wZc{Op_u$@ z`;e19Z(w)jhIZNKf%ii*8ufZq_y0^Zr$&`>IAmnpbjDG6r1r`MtB}ZntKvSe%R6nN z1%g#9Hq$p-IK&uDvxlEYI%cX}TfvhnJIG4g*%--eqymYA!HEv@p}g+W;C1m00_$%F zjJqvbfc4k^$}*6c|E`=gHDZypMN<nwt(dE|F<lA-rL<zfQfr5|t}kP6(?WU}7OVyK zItl8gMPqLpwrg9k$9T*ZEVXt>+h<H@d)wbBVZhWW>}@kJ^GQ1xRDcK$8JF4;%qYH9 zwjt}(HnUUMtWL$VJzK%etLonzlWEii9%As4Daby!6vu)tZLpw=T*OqdsH^GJOgyLD z(ve{YmcZth34yku0Q;b2)G853p&FG;3PcukkXq0|YC#971s$XobdXxmL25w<sRjE? z5@JELZ&d}0jy1(~fx>O4@a34y!lfVy6dKAk!7ykuEFt_0xU6H0UEsP`XdX>i`sqvu z%a=wXwyB}uep|_%Iq;%3*_8x2vQ|;E>Pw0-yDRD24fo7)$Q#VGz1%pc&4i}u&PQ4O zcka)MiE+jVzPFeh+@IAbzL1Cj3<REbiQ<d)h9#hdbd3oldL~=LLZpKOYp_wvEM~^d z(COPK=ROjcr<$7iS%C4NTgJ%D)mcih62gX@=%MOJXQ%Vko_AHNPb!P>=5+eYph<hr zrW3u~$}<p%IXf2Giiev55xI@xHVd%k14&yRV7ZXJR|kLXV>u7D@rBw1Ic1-Vq>cSe z50n(3opij0P}1r%&vW3^%N^dJnJfCFCJIez;W||@_FL=bvVqWOzZyY@9C%ub>yyAH zAYcg#Pvh6Sdf%7V&jJL1V>Rpwz@-HQy$|DttOC$%Px(OhE`!)2K}=duBp(JCh))5{ z`Gd5K9*a*3F{j3f_VT;K^uq5BQ@cAChf%9>M|3lp3ONrN5QwWt8$8YGL*EXzNJ>V< zXKe}A2&)B&w*c~O6}4@%+sjrGx&!bJ(<h*~TwSAw5MCBqPH2gR77|*-H;UR>UT{{7 zKYTx$#>Ef+nH$gUKGRm&yQA)|sv_^ID)O#UvP$XnmM*Qbj%I&##(didbPDF~G0inb zU9TW`nmlN!HWCm;6sRl$w6eog=dktP8%eX{;Lj`#im2EbXP<bzUke>}2M)<QW3W~( z3&4ZL9Av<I))71`pnae}4ZFTE`!oTP%UTHyF?M?@z%Z$TI|kiJ1nEoxjTbS)#Pb59 znIBS>*7*(=Yb>VYAj?cs6h+?rU~9%m)PkMJw*jp_=GXzJU@z4Ioo9LaoCLM;etz>A zxE9Rh$|K_hMjoqx>Qq4t0b|uQ(OqvhRd(HcQDwLI-KWGkNUB^r2CC5_Qvn>rJ~JME zB;OU_e2Ak0NRi0>g2|bY7^v1Qsk>7hwW>e;-k)AoFDR+gI_VRLtr)(z+Yf3k?)Z03 z0lzOFKlHCF7T_+Z1L8#GBbGE+V>&_Y40@}dXP*IlzyRJ$cmSa3WYeDyzDS$1Ab@8G z6<}5h60?~1i#jdU*^ec%1b7eMn(Bc3Fi}>&K%=u{3G&`UfLvU3^2+p{3L64>L!~Dr z$PF4zc!UmeJL4G0S(fmiRD!(O4RRU@c}T-20VjaUJTo9=a=-;|9Nl2l0s@BL`+5!I zY2dZRCBjMvzTD{c#?Uj7`pcOG+8m5c_J(#JR3HEF%Fx&4m4P=}uzMiFw4F+^Cv2yv zN?0i8<1*2txjAJ}WTH<7`S;=*UKn&#_w}BKEC_H@quC5A!BA2U**)Nu!@V$Yx^N7$ zQmMa>MJ%Yv^=O~vMdjR}M*=BcRF`*A5EZx02M1xJL6^Bpk7nt90g}2$s#WR*U7TRR z-=|YMPEp*<V~Vb?^-?(X#0;V(Msy`OnJX6Et}PJDa~8eQMcVBd^3G5~(|Xluf8Mh= zS+ycnQ*iEt9#+W6?PGH3He-d%C2Va15w+j;lu9_ubigQKgx*gzMj8yr@d19yVbd#w zSp)o(uV^l?bl4B@QmtH;&*=8dpu**tp#q1sv8$qS?|2W6t?0A&xW_K|UQ65Q*&>NK zaW9l>+;Pdk#11ekOJ*3Bc`qgo1MdufcyeOZom<M!Gz<<Ij2+Tbu<cM!dXcuc5*B51 z%bpfEq2;4Dw!58c)nmg$R(^JL>+h$Q)7DVUi&-W5#Ws(;1qC)^%(1>>bBw_`Hph<5 zv1&Crx;gggV{>fm*gh7NNssMgY&<{tee8i_bL`k0J4P$&+Si{Nt+@Bt96L70j?J;3 z>KyxrBbj5j^~4Ryk;Qkfb3(&u0o+=Nbx~%L&qp{$I#9#?6R)|_YlV~StPnAx>#p}G z&L@hC&}VgcKG}ah-Ou07A6y!p2@f8jQ;>I}K6w`MCKug@gL-W!MQA3jobqpfZX5eK z36|k&pmmv7%0?W98^!MX?!=5t0!%Z->Z<r7!%BV*QVt$xA_54iO=uqsCu@vB$qD(E zSJNpNq9m4f@**Dab8}>iRA&m3);Ozc?6cI>@VelxcGYzQT~^nqiw?C?_!{2YB@PqG zY}ML(yGnqu(^bM>O>XVgG#5=TYdx)<TpW3qsPz=0<}df=FZ1Rvfwj>M^$Kcdi}&W$ zmXLb{00=&n5|{K_&@DY@1?+Bv$x1Owf+jRiI6fUURi(`FTulNw;;yunrHBd&lpP+s z*xP?*Ck4$2qXSo4GELPGWSTZWD3~aLF_b*1cwvN=!$;(SBTI{}ggZ%eHB3ext2Exi z8wR!-a#{5tg{#IBfs`bn@X_Y*fPsd>yPzmmIb27v%H7;VxDZ*j-3V=CEf%TO4~B`| z-Z*H)X@?I{vKr<HZ7WgtQX2!1&w9=Cix*OoHyXw$GO>3zXtCj|m_ptfC2@}Z)xqRN zvvnHjwDBp2`g$W1KXbj6$`u1qlQ}7tuOG3?R^TIRx+cZg$M1vxBq^U{A7_%7cVcfX zv*0{J;%Z9>nEmr>T9FB@LxJd}8jI44Mub?(OsoiEL7q}owsp^8D?7)km7k-D)iUj@ z^(GZcBo$KY_f`dd_bwHUc41dj!5V9cF=F9g@ia+VwgXdXnIh2M0FCX8KH9w{RDM{N z>jhW`2?`n$s*qytYRL{*ADK%MGsx98La0QHP2K9`_0H4N>xG>t?&v}70qO#oS|VBf z1aRslV^c6h>h^(81UM2_o4SG4HGo~P0Gc##o{KpMEeuVip;EG=2N;t|+aUA+c`aib zta>fPRX;+Y3C#*kek-`7CWqFI-B*sXK1_*H-3{()r4&2NdrzGG+3UbH#90qf82tQ) zKY3qJwSB_P+Hvm_ZI(vUCSV>7+@}k9*f4Py#D1B;VV0Vm#0sNm?xJ{Se!W?N9)AJK zhJ0waULj1<4aFz`Llv-bE_yW5D%J~$>wrAcG9QY*;BF^{Yu!fHd)B4SzUDph=DrO@ zF6G9$7}Y>7yJjIRVDHJ;=X7C+VrUwxNg7!kxtJb|+ipu$&kPeO;M8d58Bq+lQ}*kn zky!-un!GM6l+`xtKMR~~*}3VW<8n-_bOd^OOlZW!W`xQ^TWF|ycvMw8Du@yRhV<K8 zE`aNgSJo1<=#Y>(&))k&)fR4kl33a63@tGr*IKNlB4|X(01J^fh`X3UqHqxC>UIvs zC+|V9gCs=86uIDRJ*{W&CfU*`7pT#VNkd!I8Yxx{)f!10`Bt?Eb*SPLX<SMmjUA1} zQ7Ex3b!pTpPC+X~t--R0eH0>qsg-?v&7o>cT}&7iSKl9<5u5QfgP{EERU$kLGSr5h zjVk5R7l~{wJg41|pM1v&T3q8pWzt{5SL>D_3nFVXL_jA^z^f$p<N_z;`uTu#R1hi1 zjeJiLU&cogyqJ%|GiiP7c<((dbP`}nVbNkPhs$dlppPUkrH|$?=&3fB{&7Bl`FYPJ zHDY2j!l3;u=h9!E@>8En-^hQ;bLqj!b7?}2|0U+qji155q?$_>n{F;WMO7F7{76(6 z|NO{Q7e9TF>LS#N3yo{V8>P62n=z@k;1kX?+)4xfRO)pyo42>60Y7g`1Ac<RfS>Ko z5|u{$tcZN{f>N89R@e>bdM1&sx+HqY0+k>Xrl316vnt%vlm&ZDYte#z!Fw2K-T2<# zy6Y<`zgo2Ey$Q;OiK+ORvLSwX=%xi-U(kXwX$@~1rUPhiy?zV!x{Codun$Tnr0q8q zNJ}u_C6ua?P4_caX)(%smZ=!Vrc!A^_fBEK)C#g-&9pWxSh^%Is7Pzm-u77kE$9xe zEZFC621?aM_h@!Bs*5}S?x&`@xHDWTH;TJfIU;~S6*~c4L^vS{x?$PPxiH87w3uH| zZ1FR`h-L_CP70QqKv35(uSOR@79^`>s<U_Z8w*qa-nILC_=V*s`|}q;nhhtn?|x%D zDzHz83+?AIqztcQp>xOXHx6PWp+vhak=-2wxhK{_Qat0dL{1X6?D!b1y&%*-{$rrD z_5X;h=rQHe;Q)0d%BOVh!KvlY6IKmpWoS^e{B)>didd<fZQ?BM?&~}^)uq=9TY?S5 z7xfB67x_bVL(3WfvisDgRm6hz=$vfJYy3D2^~=juB`-&iLxIIXw<<6uWCNr+64MMh zhuNZJ@fq<IUh!sTw{)kd{IWb55u;@nu6#E7*LD8oVvnhHRJg{$bc(~M9H{KEetiTq z#v)fmDw=;{0C~<P%0lMkf`l*$l)i>75Oy8%M@1sD2sf2(nTCJyLgj{Hvctc$h&VXp zee?k3Efq=M*7Bh3Yk0u3;0z@ca}XF71-%UcARU&0yyGB4gm&P|JeEDWWU8tIE}@ua z2m~dEk|BsiG)g#$7mGwm##tn02VGeN*4e9wR}^Ua9T>M5&|XX9irrvV5$Y=Le=Cvw zyvg>jz~cBV|IISp4k9~zcU$O!V*5KtH``lU{7{(=l$nZ$-bHjlvGv`QV!D%%{f<m% zH(pSTzmv~1L)IH^AhJU#Rp0eb9p41^J!O3py!&ZK;G1CQQ`|Sf(&)AXJhe04Q^hU8 z^lf6P_=WOFu(y#Oe^vd;_zL(ZJ2`7>x0DS_sVQ4yZDGej@!S}UZ8U_nskygg{7#9V zp>4;QX~hooO8aaRQWo<!&hg%Mtfrif<5VQ@``Sar?Q_=S%ok?thGIPWZRrxTZfgIM zfALu<$G&_PUvStwn-_Al+*}%Mv#arv;zsP1|LmDs_HImDEQk8bXLH@2v(s?qD{bBA zZ0d{7egoWrtMYgOl|>8SVexIYU9#lmd}MWtwa*;z7V(Q(bHreoOK~%_+*WJ<4Dy(} zXr9*nY{xIP<_?TRtrM*B{?fbnKt3q%;`4(i_2bODI10VyT|Ca`<7GX{=TG5ReF60z zPrr}LBl9l4Fkf(8d%nD?&!5(-`utQKpKo5(^M(1sgM6yXyLglz4`|!RLkUo~w!`_q z(>jq{cvGK$EiD~nlZ)~bZz=Gm4uup4Z|c}4mEP2c*vMqwffDd=G8)X63GPevVt;xN zaCEb9JQBA~I5P_WwN9dE+|rHTp(~|p)t<lBNSM7IJ5jOuf1989x9<;GE?oV-)=3N& z>gF1FpoS9){Nl55OHQyu&)N7((bKPe+)hxa!SA-l`s_{hT)U5O<;O~dQ@gk0fHTKU z-ZnkSe1o3YW4uGplb*{}qe*^(t{TPMv)G1%eaFgesVD>^vzQsPptkUNZyq>|!{WTw zoein*-_=NJsPLO|ak~M`<Xl7D#iQ!W+UX|O<IlAwrkYE`$=ZNqZ46(!V#y{q2Q$79 z$-xdtJ>e~QNdQ7a0o+NK0e@qcIwv7D9%vv0&mxtFm<=)^i*)H&2ffwANpI@ZZjG$l zgdZ<!-B(r?-pCS5B~hyrUUpg&C)H*}1E>CZk9+o~^>D8RjNX@Z(!$%@BJ|aSm2#~a z5eqDNAXCq>1}s|tOzW&YUqg0t5(3$rr<aDj!=1dt6Y?$zdF}aH>`IM?+R000D<_OW z6=S%(J>tzVTmh=9!Vrv=!0;D%p(tS?HeDn+RTq$D@-XoYK&Jf^?Lda;)QI90tSmRY ziNl)-KxQQr%ye~b!(a_`v$kNJ3+kb%rX)?p_Ur;X4Am~MFYADA*#yun51_N>)S%l~ zf(|4aPO6wNy@Ta)iR695m6HN-`9^F2y`gV1Ny7lYhz52Z$xWv3&`qXS=m5l_Y!1gB znQ}qa>ypasEmPcNnsjb5O|rcU%ytWYK4&PA&>VVY++v`_1Cm@40A6uuyKgd;jh0(- zU?yz3_-tzE`_luh0+@8zL+$D}EqXS@ri@FlZ2@Q5Xehhb^Fiof<05IBvRJT;;C@Yj zqeMs&?p}^)qIU!5llMPcEj+?|N-@vqt?nruRNKmXN_)dSrCg_aKK%>#lr{-;-&2ZH z{d{ohdrBuI<+cuRus7UON<P1*lr8X(_momOVtpLjOuVO*J<2bB)$0Kr&baOr|2G;1 zopPIIib9eNIbXTglnp(}Ml;}#iGl7Z?WNs<f4HaghSN%zX&m9rz#Nji)g+dwODwqu z`44p99_G_y7FtG#!`nj|qv`G`ohHxzDvx@1pc-Ym;4vFz=q8SCv_(QcesbVY)R0n& z8lsOD7GRP5X_z!yVtV?$HEKU=4BO04eTMX9ADyShg}Z*Ak~5?)yXV*pIou5C%l>-S zFUAb%%l_kMJ3~Ha)Ay-8L+(8`Lk>Sf4$S^VnIYf*S<a9o`y_{^r}iF_WP6Uyki*T8 zB)jPsWQHW!|KBx3-Y0u}yP{<b{k}A47sXf^Lzdx#6JALXU!HB(No4a;oJ5T76`8*w z@5{b>;**#olw_v&SO@FoFHRzoSJ_Dfds_}9YL`wToN}J<Nu)3P#1oz)1Jy~y?iMUh zA_L(h!fjfIIEio$;drLgLSK=Jgh$PkkW^hJpG1a4Fb{;2h|VwP4Wh=yO?`(viBP$U z!poD+h8#KEyc(YZ7~}&yy@tURP9iWb%998mIBjqe;VVYyQ0{%%m*#YK5l%%<nUhFw z*GYsf9PvpcoJtNliS%Xv*)>Ow=p?f9P-pd>hd!$_L+ptEbE31hf27o&(t*rk2cOmZ zviCfvJga~H*jat*vwB~49n)l*v-)ROXcb(9^M*s6)kpvOo^V#*YN2pezgc56-C2E_ zJhxYQbXLE+8fBf;E%qeN>V4Vv^E+qtKWHQaet+z^+jNM>1V6`Q8E{$MdkZ`ZZfH!! zsc&d8m!p&n-Bg8V5{7jyfA6f~cq2nX!uF98&>}DPURx}vmV6<aFACix)3!}P8~034 zMbS+!u9;_g1)E9ilAe6FVhv9RgIh6k8D8?WOxse$nag+Dn5&>R8psmusX+>5x3p6D zj<_6R$ut)zV#ve%GN;~1tl5hA-hgw~4~L8fv%af}Ha^u@Z_{%ZWcR(Ec|>qS-h)5{ z=j9|_s4YwmOW?cv?UJrVTSWZb@OO;8xn}{CU9ni%hRB5bNU0bs+?eCQdmTlY<CGqG zK!JVCmAEr#qQ<~n(Xi?VKo%GK&WUeKI7_6V7&u#b^PmRnZciFKfWx^L%M`&zw~?#d zwlNab3`UpgfE<j<?AlZkHVqrV;z5xb2phE~Z`|F5y<yPgz{g!x=#BJCor5Jeru`-U z0HzXudNs%af8@2J#2?dpm~k-vu<=E$7(AJwMi`3Brb~u30snd&Vc_v9$)F=l?*xPq z0u8(rf15C@kkbf*5E3ksgH1jZH)@=W=Sh=`+saWpqV41MLv0_s4!wOO*;|=DKet23 z&I6z7V)a_=;O!&HZmzbEeaE(sske_LyB4Bvn(br!h_;VC-~UwDKK5EDY#+NcM$>H{ z)8rYe@@V_mTaB`|4~spC?IX$V?Aktl>NBJ-`=|C(eTMX9e|&6)9PXIjmwg@|SicA} zq%XVcXlKY@YY(|{nnU_uOtFW=9dTh_cEj;cVunzXAJR{aA{Q4DI3qG~p*_?t9nw*e znd*>!$2<0Q?I9LBcn|5zZmnj>{$qQH_7LDMdaX-b*q6O^dSS?yk7y4WfBU|$hwQgd z*hBVcjHcT|rpfbAl}CHX{%Vx9hgj?g_7Dty%)oK7xUes~w`+zRAtUQ=4#mitYK|D& z1d`MkS?_u>bA*zf6eH^h=g6Nv;W_dP#K^j#YmQ7}Wc^&{2)A)pb3}}+Bb_7DGqOH@ z^mF7RhngdQImJFQVUB#^$xvEPc8=^F@7_l&Hq}1z=hYl}^eFd{U!XbiKo_MoX^!kW zqJ8ARm&$!)lwpw-yQ!UwYmBDbN2ba1Sd~Yt?9oTcQPv!>*b(d_)6bDlb<L57<c`0g zI|Z?}4)PG^W_AAt&Q@WDx=9gbpXY{-#c3|(EF4R>rMgCM`HcD-zA8xZx3+iWaO3U0 zSb+u)I1}t|Wq#cFhWyw-b>)w%{BVl(enS4F%8yoO$Y1yNTJ^3oEY2J4iHoJ#1M^0% zf)FEZZ@Y#X>u9aj&zk|M&PF3wiPZ(~Y(<*$;Ie!9uV}15cU1N`_F1=ETRV(#-OL_* zp$g08J;l1Pq(%SbVw>(NfZuHyDB<E5e<um1z`FiK43w+z$V^d!-N49bqlNcuEPqv( z6jtNnS+up&6KuhyE!nBLmVK^MvsHOCHLDY<xo>0?ALpvMPo1S^xtOsAAmh+D;WuO3 z)7sdajNZ*1B{6_7b`~1D9~{ZA&-+J4hpyc+l5XLWZc?LH{LSa-vTyj8i@=F0bwihU zQ_<AGRqb*ILig>`<}%v|%&?l@2Oes*a&WUTW%)>j%A5=yIWZ5PG9jjfRl;5+L_KlJ zgk~4-Rgb($bvs1pqwpnwV&qLKqx?ci@c00O0%m#r@6sDi%iB7cS_1It(Wz3Z)Q!A6 zxGPEzvFc#6%8vs)#M6?MJ|fHg!7>77)QWi<8Jkr^(&AJ?t9f#@m(`X%U<S>4H=OK= z4P&@H7UV?{*pi{)4%<+8p6ag5w%Sc@II7iaWx%$KI~VN2F!B3Tmr?~6$G679Ox3YB zwi|9W^2P2uxS8>fX?n5Msw_}j-Ld<HUKinQ3U8%{z&g!Wq&q{9+tPR75P$bwbYBuF z&yTt!8gZQ#SfTQlRI*6z1+Iv(zY084ioF#VBR8mAptse^qS+LLBi|`N!|khD8q(t7 zPCdl9D%ODU7zJ4unR^5c0;X*XyVzs7)ZJk>qhN^tZQW0)9QVgIjzA&1_H}Zzp#`V} zk9QPz^Xe~yA}wDEKy_NqDZE&Q3m+$B0wv@fK!b(CFnC2kz^!~H`+FNLy{{Z68;rMc ziRD^gfr(z!W{T|*U|5INX$Xdalg!%;ROe7G%DU!=hc|t))5CafMLMc1EQFgw%d7?F zxjCQ<EN_5IQ$t)8C(Be<iI~|B{d(lG6IeZ>aqr$o!mOqthKHEuUHdxKL|<8W0A2^6 zo%yD*B{{x{d`V<%zj3BOH=0O)^1VGwH#2*Yk!X$SW|v4LY(;k$vb0-?Lb1I1=P{a> zx&_;jnaN@oI9!AtFw5WtJgDfEJXpck@-SEa+1t<ZTMn3sny_|NcugP}jYAEZz~?AE zm+h|bX(Hui6)+}eKiq!de~1pQlWnSb`OvrG;g8>ip9rqhW*(HO$|tGKWJNYFxX&u; z=Pnp(^h9w|OF<kfyLd?XKg*AFo}+fUps0~HU7!->+Dm_eTr`xD5k*zIgVZ`^D42bP z>nqd}buQD-9A#y}W!d4SJhOPhznt4iNFMZE%R2J(S=_yYoyF^cXz$;R=)OPuFS>R_ z9pJwMk4G{%2{l=vx?+ODv-c-nj(_X|2y1yw7e(_cPucd1Gbi=NkfArb^My#DK=7r} zW^)<hL$FzMz{`H;OWkBt)R@K&pBfq$gZ#K4r_0O%P*2&m;xpx2N>&4O1@RR&lC<Hp zWHXtEX+n0xuX<&}E0VQ{z-nM`sPivgLV<t>n+KJ;G`iv}ZVlnZW?IlGUt5)Tj}AaJ zWS?7M+WM|o?p;o^x122VRNXYE)C`k+TX}$MiprNAppgnkNrK5Ro|C%FU5THA7ZEwd z;lIt^H_Tku(G6^0FIG=aOD^KUOn5C1W`ZUJGl2<FdY}_rSw0=O|Mmja(rnqhFf&?^ zP)ir2g61ned*qgUz;;7ZywUWmGd(2%)6&-Qgono%<;5e66C{=UJ6w`^iy=-lBt)5P z_+v91QbE}_pI%KEyo+Eikvi5Bc^U54y6*g{4J9@QESo#P)5T<rmwd>0J#s0xeea!+ zf9{ZuVd|>Oo!`BZJ)9hC+pIu>rfz;9egV5gT^8x3^SdQ<ht(JFGwR$T#>=bHGFIHE zN@`vS<Vja0f0bM5n0s}S^PN?1^mXptMN`u<bk=`;7fk(iwO!b2hRk1AKJv{mj{MAr zWv2@Or7t_?W(f%QWw*BD%Z~0NxlCTU0!we};w9R~?Xqm)hk(End>1-cQatWoQuZD? zyz2h{#KE9vbgymLmdIHh<e6PrZsJlpR^6jua!A|=S-&dErY;LARv>#@-O6AUFV||o z;9SC_pvjj>qAjdpjH=O-l#_81<|2<>E7}f&iWQK<hS52MA7n>wAUk9-nK!BkWQ$v@ zMdpmC8!zR8Wi4Y3c}xqyni2xMv$kqLlhue+`CQ_kd$9wH%!?gQ_hM&FmIe4kFLt!e znl5<xbh|eAoP5l^*g4I~o-dk{*)7x&;i>K>>WOt6kvbtDQooE<jxTyGGfvXwJc3Vb zWw}}yuN5P~u^{{DpFAz>GRe|tB?HU-SNy}QuvJfeBJ$z6TtHoCYLzpUPRB#FC`oJD z_E;*aoAY+<9m9))riE#Ug-ZT)B)8%b{!<vPu9z`N_Rk~GqCFrBMYvB%bK~%rD#CnM z#_WM*JIf+iVN^uQLQA%Kr{=#^HoLPg*5W*=W<aNG;i^BR?-zGmP~N4SHkD<VQs#Vw zHp_8htj9_gV}qRehhT9w*OL>9As_a4+12=-G!FzDHP~9AaT*1@ZKifXs?%qvi6Zow z>7*ufI;L--W7Rjls$z!3S|nmboh?E)#u!>PIDFRPMtn7EFOOBWi72$uU#v3^Yrrwy zbb53eZA~ro96~r$;oWj?|1uuzH@GZNr-lQNieZt4YLL8Ce&bi{Y(aAtCv2?DN3A9a zJ1$R=o9;9+DshkmDoj|7cdx5oP0x#fKh{}!b|{h5@W<z(b;IzEP-hrPTf+aK8XRPq z=B@l`aODR@Yd^P%Aw%jUT)4&p#-6uTH|-`@cF<iRW2Ka@1RuGYgIMQGCfcoDG%iPY zG?XN<8V>lj@5L>jsl(Vhl-ULt>CQ2&Owjs*5V2<vW6PZfb<@KeCUs&?MD+P-EXSuu zf)ox&ix+G<3s-LoN21mc_;2Zzl=Fyv)19trPM+w3Td$NdxW#em3cWJ?eNL>2g(R=Z zSQVtNT@K|sW7GPoT8I{_QtPms_?;Ch?X^l#0>bCn0widhMpT3hB1NASqk_m)R;p-= zST56a-`tE%Eon+2ZtKTcT7DikX%+xyB>vR}ayG{~Z4-^4lN;AdeW<CvQ)C@#YEyeq zBRZfTv~9^w{|C_R!Rij*Zgn(WxK~(uZnX{UE(7O^<3rC{H42%Lb789r6Z!Y-h`X__ z&xf|4r8Hxt_X@t!L<uORY{V6z+5;+h!VBoYlX~mL36~WozcC-!M2o3^0}YTDJs(vE zvT1^K59c80!q98ug<^R?-WSESO1sO}$UQ@Cgw+KLU>*qM2%>cz)Dam7zw7kq={%U7 zIgcSYGpPBf<u_OOhik;*_9}*EZE?3^@5B+E)m<zpc6_?@At@`uTNM+l@(cBtnP3~i z#9!G3!;;GrH;c3Ndp(|A?HD8Jsk<qVhFK@0)VyRl*w&VdWu&%^Yi!Qw(nFCYpl@{k zppd2kG)St1kvn;mA5J?}@+Cfdf%TH&$f1k<xJB)9VWbqq(oJo&+s<yIJS;0ww$cb4 zWB>-XP^iSaG@{vJrPUuO(9GeMLFX}o5KexOx0_|fL*sy5^j@yk%3@owEX3ddvYvp! zY#{3?UEk(i&XTO&U?Wc>pgg=~>s2xwob>!bl+YXyT$x5j`skgRA_Ltc1DB6=GFa=T z&5$0P!Th>Tn*oQ0lWQ>V3S?jsR~?51$pC<LUXXgiNHMp%M~a0<Q$=(A!Mi_Mt$xJr z>5lEwH({UPUVK+Emwu4%_9`WFwYYggZ2N@RmMR7jRqQKc;0~}CUeGP3M-DM#cw`;o z2Ej7nG2A|e+dip}7PohN6D_r{v)76pk9Egx)wc?_?@+A5?E_Ul;r9Lsv4<wa_Ea(9 z_N`?Nhr{iyWx}^N(gr;2MBZdN@*%_&c28xDsZ6V;m6^iX;MnXggMf)I<!Ba*tf{qn zeBEYqV<Mqfe6FSv4s&Bsr#k-BE?Y0YQ8RD;25~3_j}PX9zhQTpb2(x@_?ujUNtWUf z@nr^zu|05{?><w0vM2@PYt==S7>4Lk?E3J>0$ll4?5tv;{C2&o#vaw!?$Mi2XU%F9 z>sLp_whnw87rDnR5^dqSy3kxb`e<)))hbB_TrZPku>JHaCf{NxICmgI-&xc+_R8!4 z<>R_-8370oNo9F`=4yn>C_@KK$`T3eEn!>r%AgUf7OxEWVnd^y9dfS0vo`>~M}Vi* zlK^ks?gGOT0X*cQ1D?VK_<9%MMM@qFcms17YVNEA@V#At$1z6$eSofb{(#;_K<eUx zw!!&eXyC&^UwTT=n{N4KZJ;4!R0DPV7Lqy=5@8Uwm8fwLX0h5!h=cEn$vF2H;TC1t zkJT1M9jb)Z>oA}na|tYEaN^qGOgsuV%{dqn4Z>s<u`XZW?s`e!Lu8>*6e#tGjhr{W zt<H&*FQ%v241n*L4sc<m2tPu-a@WsSITEy8SEMuS3hHl#Swav}N%jZXzx)P~rO`r8 zW;%=miiQTV`j8jNCUZpsoLh1EzRjic5!0doWAg;hQaVeVw}2-f)MH8#PXQqN@=%qh zii~+#y-^LCVc|s^&Ic9+bQmaDtIwx?uviC45vj%}g^I9mZ6GXyy4bwQ`Yu8X>O9Wv z1i&G6W-m(*Em3v_YHd3oa>z2S2J~N;Bnee83kA73!l|C@<G;n3La>0ta_>v!bDl-c zr?6c@V9+8tepv)ELQVOBE=f$gq8Cpr_Kn#eC{J7%%C9Q5s)L4vc0Vl^aH)=~+wa*E z6(<!p-is^RN7q12-=@%qUMKnw{Gi*_t;w8%o87l2a}jcJ|Ht<LByLN#Ta#hSi&e0Q zhcb&#s*vtaUT7g5E4Zgx2kM8(>ADHEqI9DHaCAb4al5B1cJC(?q8#Pf%4^G`@zKeF z<V_whHzmvkxgnJu)W)OcAbfwLa|24OIU}+^Y9s10v?=Eh<ksf(Fod{Pfu56uTh3vL z38xz8<JOx4artsdcxk>M%a^_8gs4g*i~@<4Mt}72H=2C3V9m+i`&yT&<D~^|VO=L8 zx**O62+#;oJy!BoY%=jA-ti*31adF5&KXJqN_q@ry{lYut04ee#G{T|5vPHeb(_Hk zbW4<Zn5a~Tv`Vxn&Q^*xIJsOYfv?~)0VG7b07AY+<O@xn+*Ia3*;MKhLtZfE><O)H zM{}(gI?hvJjhaZbq)jU*RJ@-U1j(c9$LHFImiDMli*0Z<s>UXaEeWd?{nD7wt|imA z3vP5*yXO3?+9d{q)<ycO{!4L&$2o%fY3jWIex_o=GF~y-tUfkClCm2(tljtKT4R4w zWohdd3m=70gFnlnxobyY*PH$Q>mBSk{uDE!8UV2No4>A{aO0UxpVb}8rdSZTyM@Ug zT4{KO(cPOsiv`I9P$2t*iTG#j{uRtu79yac_0IvcFi%WOhZWfz-sJ1^{#)2N`?=x! z76`k~{~gXg`?F86=!-vQDYC!o2a-VMVmr`@)2rAz8~}>+;ht|eO1#);b-<5e2S?II zUY4|nRG<WJ6AQHB{P0IAD})(V-(U$BC-d0XC~*#GoiJa;9k(akaSiHl^6){O9`{ZU z99gFa)ae21boz7cG@DAN(}sU@n7xxb9Y$Px7@gmrK=4c$@khP$P47IsokNazQ=M;G z=lg!Horf#f={&gV-oPezKDW(gKeJXV@xywuKJC>krr$Z87U9hJLmOHU{D(eNP;*I2 z0P}&U^J;HuB&Wcu^>dD#X0mUr1>&(D!ZusS*fN5`1M_KdvKlT~vfBT|TAss<OSPJs z$G4@C*ttj^b&^0P5$CMP$YVt>;XTk6&?s3ghT|H`L+M(w*+mO?D+hg-%EMSv{F0{J z@nVaKjms=NHJW=yyhNap9tn>olrj&uqf{2A$B$m305qS@5-}}KqxRF*wg(nadnFuH zN~LMikV=unUSiBR$V=09(Jl$^9(@(l*@9YV4*|vHCP!M<o<RrO*#b3xCe2?ZcZ#vR zOoNsy+q3m`j(wfW>m}?o{Irj=C9ZwEeL&|9QElr4LHuQ6P%e#LjwefEFK;bS>=i98 z)Y0Qa#a@Z`Nn)>TovhfaTDfAcY8i}&TP=ZlS*xwb%GN1<pn5v6s6m^qZ!aRWM4>Kt z#!JqKwONiKefiN#fY;OWr(po9euHPHM{9V%<35K6T-Y;tKxD1XXXSHkcg;`9XXkSk zXd@ZQXZovlJ|oX~wM>38?Nt%yt^9aiK?@+?D1ixX^@p>KJg;J~SswdXhX>0@P9K3@ z@*-~7dKLLk%1_Qu_UJ2#F3eBNPxL4X&H4O%LB7DFFDH5eBrRt_<$W1Z=whfjm$&h1 zEgk<f%le`K5E^%CTstE=A3*6Glt%+d6k}b=lTE88iZE}u-W&dl)85{sjC4O6iu7os z!$IYXpnu`t!`H8!5rd@AU9slx!~5|l9!>pepM4U~`k-77+b2`=n_S=>_Q@E(lRu4@ z7ri7bo;5p{99;C>mdL~wqdL0)l7p&$z|x4dQT_ow9etR5*|%ofkt%y+p$<B{aZ+*= z=6qy|h($vfDM=2)Q&5yxjz1zggVBnSaBxr4cOpmGA$x^DW5U}(dkc$s!donv$=;mw zR$N((lPA5Ez=ad(q_>={I7k1V1)T9K*CP=ekZpBJd$GT6Cq;B>^yNq2AhV~$I<Pd_ z_vjnc3;MA*Zmdv<HO6xAJT*2;DaeV_!2$qrdekp6QU(6v0szd4i~eH&qu&W^zlkv& z>mmJiHISn)3HSDfS!hdssU*z0s&$)1Sc^?s{8G^BHKFMu4F_v^_Rgo-*jp+z5VZ!^ z#FF5%AKrNAWiKqLCI;wG4Na}1Q9IUaaS=rNN6Bgq<hFCESP3p{FJ!Fku7V=bMhMfK z>i|VTs|S3mt<SC>78477LHAhTsF4M6iMNBvVT+xrgG^L)<W*&wS(IfGqA9EBwer(q zj9rZr9ZKI++yxb{I31$}g2tO);R#UfkkNcqz4Wos&KyI>SDvaHn#5L8?b4QbE6dHt zC=@TO3xUM9dE0;Ws@AfWT5EfC<)$Q4s*rAMwc81-G<%hOf405l1i-y^AcFB1CIZ_* zUH9ILb<=_Fo?Ztp9nSl$^OUeSQOhN#5^totV^Sw(=UT#p-VW#K2+A?JH{`RgP*GFW z%$Y)P|EbmdxmSoihs2c&H^CdAz}lb}rX4G(r1Vmdxof<#|M3DE10z+~4~?a<AtV(d zS<VU2dwY$07Y%&95!W<hw!yKgvyqt-jH6UJBNHb?shdfw*c6AZd4>RDKta97RIY=P zRZE;a(gFAm_j_sdiTH_Wp`qGX-1*5nD<v^@%dTd)CK`&z^j(_Y?X;x-QG1dOGqhnx z84dDfT4gjy14-qmZO8r8HqfQ_R(1LSxlPTvQyaMic9f8zE?mWzC@0*n{u-+Y<hbrm zg*snm{9%%XMBteNuTptB+cYH|bfLqKyqaP5e!-36KXmLEL1}Q^kHYsAUc+Whnb0or z3F}f971~d&fVR1+co`#N)5t3g{r*aKr2<MQTSUCNi4I+-7oD2DT36SieyOjiExJ&( z%-INi7v*Bj>wtqdob9~~zJ>Wp)r-^3E1)?`WwnxQFh-2DjJj~)nrBGUY>%X?;&uB# ziHYhePSC?P#$*|jnw*;2E44DsYb8Gt)iaI&LGz3W!IG?Yn3mo))4}Glxzx6&@|vDv zY4I%IJHV}TpnEy0kSjvZp`E@VPm!n-S@nN|x2rZ1(TPECNZY1pu_=@`M;bkCLQ_#I zlfl_Eyt2gsJQS<pCfnRZ$g-YPu}`w5NGnO_BN6fniCenTLh|*6vQlvyV~sKe>q~K~ z=Cpd96g%VfBRj#zTuW?H>>w)i3{ggsew5iX$RQi5d6v!gJ#H9{CS(Jm+hR)Nc?l0{ z-N=JAdR?B3Q1nGSuJKxQ>kP@(^1uLtE;7T^5FYSxiidt6J&<|U5gMaa-V)M#Pe^nb zueHVMgI_u;E|+wyD+nDK^u$d*$ErFM9PjVIaZd*zV*wz`9F7>Kbi?sy3;SIG_D^^W zz*mg{0|J~wgog&?u_*?G*9VP(Mu64D&RZXEBs1Jop>85hCrX-<a`Vv!SP5L%(Tkf0 zwR*IXdXyp(NVlDXS`gV=Ne)>@EiOnwky4@zCM8IuZ0KP~XT2W@3R5EGl^tG+9jR-l zY=x%>G02G&cU3Sv=9y0@6pNNdHxBAJiON%ND}yW|Z%tl`6hOhpDN*LZLe8P4RfU)V zj-d3ba0sp|qdAgFE`hR$W;7}^n*T<th*X0jM7c^TJv3~V-&_GTy2qCAxEO!*{va@s z;ErP?sVx%(PVwl!-OqejL}4s5pewWw-0tGLye<thVSYDr2#0(q`$FtpUj$r-l6nn7 z1c&50^30^kZPfpy|Aowqp2$<VfR)$Kt`fMk_Oj$AX1yk$&_97IG`QGfYC2koC8&N# z%3;<c2I&Bzz2XbTlVB%CiBGgxZ}CNYbC%OVRD_P9S&~?F<j@vHgM0Gcvo6(O!Qnd_ z)mT~giKUMSOq7w0f-b?JgzWcUqxd4<{>&<Jm>eQdHE68owd}9X;QB0f8)|!`PIr1t zc%>~(AQXn{Dr><QK$Ze2h<&3di*4Ty05^dY$e_Vo(+z(znkmJZ_HrSEf@Pb^+DTTI zE{*>C{ZTPo?C0S^vF#c!3B`)=>5l5tu4?$P<vCkoDM&yu%kxC+@*bZ^+rqX4;1i*{ z*n47%D@eYQ6}~D@Y#CyiW`odf3DhTYgSUXY_5~g|8Kr2(Oxog_P38`b=vIW{;)ElP z3!Ly9WO$-0wi$@P3ST~v72aL27a5r0<WV_*tKqCsCbXysm8QAP(1GLhS8B6R^b&aN z3tb}!7gW8}OefhCJ(M9%H<Q1+ArpHS*!=VkK0gX`;`7@=LhmF@prvsCowI)wy;C`K zF))6$jMBTwy_)A_paGoO55s$sh$Aq(QQKbvDA@Ri4>_)Vx3Kv2O(Em>Id^|CTuWo; zE;ochuh}FWJY@&Kyma<8y%(pO-ij>dR0lI0D+peR55WHcDHs;<8pRv8;Jg)Lm)C_L zq%=^6lq#5w!suA)qN0Z<#JPvZ%z4Hda09h+{pA0QUUWtiEZ$-X_HNHYB3!FCdV2f% z2bzOJGqRbpX3u%%Gv^+6{Jaz9FIafuNhjy6_9=^=_Vi~AFJ`$Gd7b?sJW(W=+2aj+ z76-V;l*1v~d-nOpwNEev1LM=Lw!COOM%jOdo0{ErL3q*m)CnC?qE7Pc!!K2X(OEca zaK5#bp#ctiqKzg8ENkjYcEWVYxHjd}ujV6dzURW}+I(>PzBOD{QuVacK9Ylr5y&xZ zqB$@Ll?d_Ph1AYMKPl6bPLS>U<xY1dHfK^*Hb_6|6tsUb6b}EQ142Rr15f=KbW@l? zqX=V|Nt0*L`>Gjqlp(P3AE%!|)u*FO)Jgsmo<aW@X3!@}glDKH&iaF1WZ$V~(A3?T zh>%@P56PeO1c9DE^c>9g{}-G=-N5{>FoWI~X3*7B&!AhY8FZ8(X3#gLpF!29qfFFE z{u7=--v~44b4M|Q{-c^fQ+H?53_2*$;qd>k6XdW7vakOaoI%}i8W?!E5hup4b1TuK zqvcE(<n;I(+G#PDBhp-Gwd10xh_$&Q%Os+&W$!w_Ik$?u{k-NJiy&^!-f>=YwnZR+ zvIo{QXITWwHG9wb&6!o6e>kt1Re3&hUQ?8SNwKm|t!WNbdER|~bI>Bsq_q3j$b%2b z&^OL@oG)KBoF8hf*bhW2%dSIcjhd1=&rE8~JV!Cn<5)%T1)KPK>FLqw7DJ>uu9!H6 zvCQ_$&(AGV3^2`n58>v@A|}R>w7Z1omU+gk1ngwZ2TFI6Gc3uh%duUXs*<V=om%OR z`e@dUarQ5#iU}b0CarURPvHKcxl%JN4xKRJv5=H>(9BFKd&0a%pV)y)W;;iyJRCwK zl3|7N{JiO<$z_u95_g<!VtWH`m3Qa4VjV=;JueZ{I*}SFr#p=R;^fL6o!*<SgV>e5 z23ND&lx9M4;0AR5_npd-9UVPY4DUfgA(fSV<yWXFbNQKx_~Aq7a=s&~sqcx_#E=3a z5!bs{ihDvN`_{8nsj(gguIWh{6F7L57*P%VHofB#>HG=Pj8B}(<TaxQMF4_VV%P@D zck_!DAdHo<BN9N9MJfyW#o|y!F>?#fe@%QTjW)desB=L)={QAaZFJB9nKY@;E07YT z+zWAJl(Qiohy^ty;-2Y-c=2MC8rB;q(tSfb@gONUTk5sqd*evLxJP1@cp)%y3~8iU zNv)DcV*5`^C|)I=318_ZxKNxuy~?k*c#>Tx=z%X@=q;bu4mxdS6H8ago})#|V<G&E z9$7DnC*^9msW8Ua?ba*$SfH&V2M2__?uFR{izM_An1Jdcvy9LU>qrmf>zsm@aj@<e zi;nOr!3&lO=W&f&JL!y1(ltIqI-w2}cZ?xCYZniG?9M3r!YkBT)ykne8;29wU9uIa zW)yu0JRJqRhG{TBBQ1H8W5hXHo3hXUs(Qw<ifyT>ywh;&P+c90#Tlr1dRQ~Dhcq>0 z4dH$3u6Ww6S;fhrD@MaykgQq7#kE2U)x_vLv5d@KR789p7h@j<tfv$Y?*Xh*kS{;k ztOI-DNn2leNZ2E=`y9Ntk<@(-?!<bx4nwfc#@^*~WFCXVLXv5W#GS4jjYzD?n;d=X zWJS7;m^2A7SX!Sw{&a_$MsH~}p3v<&%OWTbu2?z+<pyLw69O4Fye;KcurFoidd5c* zIIvSXCZUeWj!AN3^uo+ai``!W80Oiarlq#4VJ@KEhw}wt_jtm#40{-XX|aEzfELAv zQb4=N0g#)3mSoIAbJUdB99f*MGuE|Le3vS2bV-IQh<xvvs&Kzmyf~%ee&rGfRdF9q zrh<h(0!=SapP24n!4;v&i7(-S+0;7m6O}1s0aG1ZOnQX1K}IZC1}K!`TIxg;5X7}W zzy>1KfGIJ|Fz*(%fG&@+%u3p@U(2m3W91`ZTBZsTWdYKpxYi3BVoV><8ZAMiZoV95 zeE<yZ2Gr#PNC_(OstIZ3c%%l-qGZw=Iz|j}V5r_pCBnetl7v|#Nh#i>(LQu3Zw2Yc zpYAwUNqN=Cj+FOc@Pcb5-W3A5SCM6Ki*21XW@1?>n{W2+1}b=9yLMMKLCCeUCdH%e zjktalNRUt*%z$&iEH0R>6%E+NjdK^ss!DGg6W&(qS~*=NKJ)rePaqa;Mw<u<xR}`# ztCh!t85Oq)i_U{$&=1^gh4|^6{=<%yXF&kQr^fRHd>+yiF}26XQ<U;FAoHb-MpgD? zrid<_sty&^Ke;GSh`m5XA>)}`RKwgJ%Aty^zKS_qgMyXwq{aw(UIKuhTtbg~Ks*Ad zXkU^XNlll^u}y<88{`Orw}$}hS%ba4jGzmFutK>TdI2h5YONa-=>}op#gwDs@i0o+ zO)D9lP7Wi&jw*+UsVN5cCIBBFQSG)&*m@Vq@JcH|c_})9@$!;tzb2hQ@i*lK+-w+h zAAyZM)L;1Aq~bTb<s~AWa8_h*_~ng6Ov%89<>147&gmYYN=7TP8kwhZ5vsBE*3hJ5 zNfN%YF9>&A(!}R#By*8n*QGTB%zlAbDqDI=MD&?o<K)qg*s&$k{XQ0uwy1>xUleP1 zoEh1FV=s8$AGDhx@>ubkc^QtP|JLp^1=QvTTKz1hRBDnzNUZ|Fu{;IjeG4r8IArHH zi;EYu`?5!##{vM+vs!`$4ZVa)CQ~)_<iuOZM$6Iyd9{W#Mmwt1(nkx+$@j$q{*r_U zYPX_Xsdk}JEF#{dn&&x4VQA$ga-e7$u^7H%T9rN6w(&*UYT{0C{m42$P<GzDo?#v< z(g1xx^}UC_4@~O&fclO*29W|rLqNHGUozy-P|NIHWR*0+mMfE1OAIVgA2e0dM^@WB zaxlgf5T64k^yj@;1p<F<9{ojnIdXWC>!qF&?k$Z-R`hJbPYLc!)KY4t=z;8OCu(+q zE@Aw04Nn?|$7pD^uex=}hRoYs-8(dKh|n+B=xIz+4N)SNCdi5kfF>LW3C5bdLBplm z%JH9o3^wZ3h)+Te*4`2Y)R%EHUfM3>C9|{0H?-qLk#7mUa@i3@t2-u@S`6CqjRUkG z_K`^eo#M_2>{oLH2`D|&IPKn5w66=INVf#e;!E;gYb1ugoVTEb*<7nnhS!ukMOvmc zlmkj_R;`u6`C}~`x+%-|yP0cGaTDgJ(w?6$nzyI;Xc?8Gn4aP{A^8Nip5jlj^JW_r zff!nxLzRz2BhMd+vJYT%26tm5dO4es8E1eb9~^l+zV-?<G5TMP9%M~=ke*v4LElKs zC%lOnLqTvz5S>$k?0=b0A0!WJN?qXNwghQse-|UuSaB2=s71(+xVXorEGFd)t8Mp? zy11Io`<@S4klfzmNhW(!52djb>0r($KH|BQ5WE0z*($QLC4#|seh0h*lkR?fWrt~> zFu~WS6YLXB$9D=Iw4|jky9#Z?l3ZJHI<wnAf1+!k)p62f-$EjW`Ga}iDiS8IzvNI1 ztdrH&M^gqZZhsr~fyFe1McA^GDcBz!MC73Z&@+Y#hILc})(L&+vZ2pCYK8+8%1wI6 zy)==!N>oL8Ce%=TOr7LDF!f)Dm+Vb50K9HX3pS6cS!xt&uG+->D01m2)Cca<F~v># zN*x7l6{&9(M(9K>6$YfFw1zf}<lE3_@JjSpqzCALO}#6wp-V;bMeDOKoEWAUv-^%% zQ$zY{!T~W)NXF6|upp6+8*|TJSFVARVwZ52*ByVk(w0-+;AU?}tV*<ijKyuQ1U%dO zRfz6C=BytyG7B_e_J0+lDK&!dxWb!hInrso0Za2rK^D}lsA!NmFvTo8l$1{F+9JF> zj&ZDkhL!#T>bmq2Y~}1Q9Z>_;W}QM01(I<C35iftD{CQkcW?<jPSdP!IN>B{T`ye% zd#rQ`oWK)AsmJ(z!^!U0MokK#?h+W@kORg0mlpffO-6!sK-w8}NPCo*$ry=ra83%x z7WI6k`FHdVcbRbUnr*;ecZ|4H-Y6cz7#TpL#eGG3hoH=f7ac<N=?c>Z5kkSnEM(g0 z73nzrT9RPyg*Kvm0j~?K(gq++9V745C}D;%d`dK;TCscX04Y3A_Q^90D?$hSD5km2 z3|0xOD$dKp)EZB~)=Q44?g*Gh3XBIOh7ZNmv%0glzd$g1%v2M;8#KOmR!XR_0$44Q z><ct!IKiqf0a^V|FD~L7V{9zZjENRVFv*yBqFXAYQ?KxKDeG90fPJ0>?aL)@NvL_4 zJ8-kAd}zI_!z72-;0}E24V`@CqfdXD=9O>WL~N*c#S{;%Isy)>Q7q4|<Z=Hy?gn7e z`@EOk??w_4WIBi8EZ(Ky4&|lK+5cFIgG1xl{zOYO{KTx|C)Y+}5}}k&iS;MnW8*M` zrE&J<=KuiCA_;SdDDHY~VL%f`?s^3~f$1+^A}omHcvr8;$r8v$kbUMtcgE|RaB-dU zwAd9je*%9QRJh|acgbbsqi4XK5a?C4tV*+co>9FiJ~mY%NTTfCu0;1Kk+ub~M!tPP zC->*{f!#pd+3%F^X}i@1m1qbkJW+o>@N!#yWJ&fD0jOr)q`q6d*(1Ly(C)NZ_pwIO zaz@*@TL>CXv$7dmIm&JwNrdRE*m--=NGd<jX|a8V9K4~RIV8>*BqC2SvA6IZ&U0~q zxK0TNi1+i{#Z#o@9-O5iw<vb=#OSTq#S{I@;<36mHgr(a;vs^VB*{)~czp|fQa%*e z?&#vxTXC00j#&hE!;+iLa~Dr^Pm2Qs>syj!J;d`ko;UNJi!6#AJW)|C4h*ixL^UmL zq-FDYZsWOt=N6tiF+9q5ZvQUEd7i}cVe*}<IM1Bt4&IB^y_a|!9MlP*b&5b^;8_&( zMDv+iOPTqi*U&qy)>=tRh*u;x2ByWXx($Dtv*tb~b=p%-OCAzf>8B9|z=9aS$?gK0 zc*`G9HQlQq&Db$0-pwgRBj=xdjMw4>o;KuXJNxdh<t_c3l->X8{6v1l6>E!!)P{#7 zQm!qLaXY*I0<G%p?8j^Q`Hx={9_C7xD_LTM6En@0?d;*_f<0=h2rP4%db0AJOum79 zp=w&7pZWSZA^YxG{M>LsK2Oo(vroxNgH}IeZX1u&t}&ONfqag>&(_bZ>_@+jIxn>k zNe^jIp+SY33N;lPP-sA*euerK5`2bi7`%o9L!HfmNv<<2sd}kF-JuENT?u-W0L{(| zQGg@?6sUfyDNvz5OheNXW>*6@WZIX<826<aM4<bymxCR>WgTjzg^>t~^upeWvhSe4 zsSgcWU`tnzKw4)f*eD{R*bNDS`e5;>F%F!V0O2{1w3;9tx}LH|hrD40LG4;Lomz3e z^a9>#Rf%;gfJfPbh{CEQN^PQ8wN?%~hec}@OA;CT2|ei6@t|$L&{PJ#!C@;eY*mE5 zSX!E}n*$aj;KpeSsmDkydhQ{Q(hzDgCau1%^4Np^agi6i+ha@o+ug*}5e~0+JD-+( zPNvBk-N+?oyXMfdptCSV7rEsIBXMy9M6UK>A8ws96Azx2+~&erS%a{Re94FnC@$!; zA%`MCYb$v~CY&knF^Nk#+cOB!mq|%*yAA11>r@J-Cc$b_lGo~P78^W%=~n0z5!3B# z&m=^PCgr*fdQTT2+o<N4kBh)EPd2kec-w+9+e3`e+~?|DKF423U)*S02Oo(a1DZpj zYlb8uDOY;xAM$NR^-cFk@NL*vt*t;RtG<Cg`UZ`!1^{Tq%s!F(*NM#xDRF`);+c#7 zaGTRK&1cZs&VM3HIVwt#+y=(%jqa^;54Sm$XV2+h6fsZm0VSHUnS>=(PwnUDagK{x zP5uq?PxjNW2-#6{e2j8|G8~4MJnNPTW)hy2uI4vp!hk(&6BLvYXwLzK;nqFRI8o-! zk~<00^|}~mWb{9yEv>mCy712?TyJOa37ntM)b#{WKAUqSdr!ZpO#aVgU8J+R)jgCC zutm+$(LKv&oNeau_=W*6|N3qBX-6w?ry#ZicQ)to0yaQer3?UahIrTr_gGf)S>Wn~ zMnMSaY`0Y<nP<U)503O+-<?uTXUS$$*#L-U!h`C7(T}`MRn4kpPEChW3|m?6*^0fQ zSOug5BPnxhh|b|b75_GIc%gj#OQXSJ&SiQwi}{ybs=!b&<bfG@?Y)#OyIC|g3fwk! zl5ECwdETbWD8PCzuTi{#g$67IPxv|v7JD6v_E>8aqsYzcm-58}1s`y!wxB(mS9Lxi zPR}d=fOD;3^KhaowlSjsmzHMGidjO!Spf;bKDYxm&W?ve*ck*OFjY^lG6>{=6!r~Z z-7=C07<8Fe+?bSokf<mrDEWwz<|3IDu9{i*HI2B(w5fBQoy97m8So+&;?8fWv66~s zu@>D;Mqa{@iZ`_xd88mxzSrFazy+6nxN`$z1#x==vr>@axR>2ix3e_KQcDwV+(|cy z8K$>|_#Q%c{)th{n=4>KmT!P=OhNrj%Oz0+zw5;yFYWA#B;Ap;iU3LVljW%2IM+E0 zMzyIQgtt<w0!iuf0PF(veFl11@>LJ%d_*H-5)z!#Zt5|w4b#l}_>V6cqy(@4Nh0j8 znLW7gqidw8!A@(Ocl25D@o4;GipW5$s8}XRakMnb&Cepu&{-{?zBN?4L8BRq%>-i6 zEitj^=Q6c1n`y)lOd%W%s#_CUPde5+D_;z0El)OVDpXs)4V)U&#*2Ou#gUkoHh`v% z0XAPwkwR*PpxCrZ@FqyuprEZ^eb)R||D-1N!%u8Z(ZqflS;1RuZNZy_g12K(O3RpV zv9?g0-JFYLDAYWuOan+rF!0wh(>c6XE6KMyhjn&v4epWocEZ>L8OjvK9^!f=5H>#- zhgN3hF}*{p=A{0Lih=$*dLLdB4VZq`T}A}m@#xeqqV@3ZtSZeP<I8|7#*u6XPhJoL z5}}Ft#D2dpPfD9DF=%ppK6N~K#S<)>e%4)QjqY@vBhR6nSxJiy-U2hTRA+&w6ftAr zeg-F2(9!0@3U-$XRNf^!QJXii6YZQCfP!dn9T~7~%ijMy)!Z}%G6GnEY8mDRtBstv zWwd1nhgF;#04l=9)&L6@?o>G__<U<kCaKs9L`=2^S(QD>8`?ufJ?Ec}k99G)P>GUu z5`OaiwuV+y>=>;E&xs<QJ?ozxMI+0uCs<$qD+KfFw`_p`GNnMWL3nv?(}E*6)J7tW zDpBEi@|@_|7VVUyj}wcUWq5JPwWLl~ZgI2KWwhs7adRk<MKhH6HURNtO574kWb-tf zT**ELr4FNe>z}+xWHF$HAM0U9SD3SAW=@X=vp2zq0-zc;{H1r8^1Ncu<-4_Fu)5ra zV}rb0;Y5~mOndf7@75A@sX#aTmKIB|K?F};I;l`nB_p)=8a{vD#Y+Z);Y?zU(U}ao z-8g5k=5d1|GQiFeO(CbTBxbD$<C)JKS+;eRMc_KjWVL;sMMUL4U!i=4NG%C`bqFxa zZ_VsHv$LPRa0)S>S623t&iSLCu>~~;w2KY|x{T=|x{Nb|4hMlp&S?vkm78_{qDdM{ zyU)brsWv6j?88R*gk2Oku4XzUh1>m6fFR1vk9vnjA(w#$2%zI4&l5Pk1r!C=vU%ec zzjn--@35F8JA^L~*<Cl#UfVAa;Vu5V$}?twnED~^jY_k(BLtuoOxAEX*NG2Qu<tHs zp=vdQw*r`da4C(olh<~D;~Y&O9H}fd#|-ZaAQumt)l#7|ecu!eePY=;O+cDZpCxVE zZGfi2WJN)l*bPYqpbxCjX&YP>u#T0iY|F#~Y!=#J3NHmRfT+{BRw>pCLo~fGN8>i! zbsI1m3y6I%4S@Dm9zdwbL1d_14rXZN)C0PX93-Inu2JPks2c<s92pGrkj`?nINE*9 zS&sCY<HOP2*PL})q@|ikWAnngY7KYMyD#J>=m0eoqbx206|oJcfeCW(P*;%KJRRhm z(ytX)pdOn_6IcVDedL9{uF<sGrP*hmsX7AY*j+nHhH4A5<ZV4}0w7nSD6r(|2w2L2 z&LuK-K=$jP#E&(?%PhIe%Xco|?bTZMbQhE<-*S?`#nZFH#7gZts1%A&lftin(ka+K zYmDU_N$!4`F-?fm)K2f5gSZy&kM4<zCB>Ha-&1;fSE4oE3d$(9e~kp;#wAniV5VC2 zUw@TS>e3}1E89R<O$-XXtC_QAeV+Xbw|_}!^GfgTS{|Iv)-V^;SgvyOuBoaWs;cf6 zQb9>~diw3jRT(tw5)fu{xfXOvBI`rqt%)tDx-as&(YRLK7dVrYx;r-#74KEu{a!cw z>EY|9e_eHVN+K)7Pp9sUUiUh$`(isbD(e~$JU|SDfN7bm(>7(H*Xlwv3$0y&ixI;U zG0rW$GGE+|nXnE89KI~+{&vB{Z@KkFi=0M{XV~AY_!>Mk4Fk(>w)=%ae3-Ir6pO^} zHhY2+^_X@6U->Q;tkM}X7fO)+5?`Vxoaz#3(A6{(jSe)gf3^@5eKWbwp(CJAz=NqE zI2l8zB8;nl>7XfJuz>YeDPR`dlUuG~b$X6%EA?$l^jzIFWbAzV`I)S3b$SAP7p{jc z(nc!9%LwO^!+g=Ez=+ggJhIQ$vj2x5l!G=K^AEs6_K$_S29H3lh3p1em%u8IlHr~} zE0Z=WILKW8qb&<<AaN_D#wFRQmf@z`6Nn0+I98M3cuU0^3(&SXIXbnK+mlJ3fq_x| z5XA)^8P}-&@*iUtI-ZI2Plz*KUxAAP`?Au%$cq%|M0-FU<AzGU?bKy(M@`TE&~9_8 z=vsufO+TV*>7mx(=^pPUz2G1Z(=S1>BHQs|MSCS+=E<A&#V-l4D2nnLN|oKw7TIda zg3%(jN~1{E!y}=%21{q&BbW8OG<A<2V;geRXI4|9b({~ZM`D;<_2SaQS!0;!=+)P3 z*=(Np3uZ1O*ML8TZ+zDDb_!PpLY&jIz*Z&|KV1CXJf$IEE3&iooswWMSYPN9W54Aa z`?N@2_v@rWHwkpet}{s|18{nTM|gpRTDfsRkkWojOjq6na5#%+ja@#fLFm=iB92-Q zg|cQ84}XmsmK6_uom=WnIbRCrHYOY;7-*o%8AEdPb|a8&^~KRbZJxF>3UL`oI=}|1 zoeD~bJ)IWoGx({5Y)cWlgxz4tw)LT&Y6~gH<>;S)8j9~<KNb};r3cCyLj0YIH%%|p z;(w(0km5j{?;lcpmf{+!r1+TP{fdJ-#6PL{pyHq`@rM-86lV~L@2}!L7C)ePpT3Ko zmlRk38}SnqM_risdlWxW@qUZ{jp9}w2PwXPTyd+9a{%!N6+cet2QB_J#jSt%>*f0o z6rZo}Vtdoy{bhdG$i&}Q#W{u%|4<d@Fh+d0;xm*V?lbXEDsJ$YWAT4he4f4|U*Y@r z6rZa&?tY2C<*UT4{l{DUJ&IfV=2`p$)puM0lm34yZuxNrOnk56R{sKve@XEHm5+O1 zzJE<|gU5*$|GwfU>pR{g`2PD}BW~?IIRW2!bF1E1i-eG^)1$cA60<K?2<BxZNqXEo zSs|uO+&oDk6d>XzYMIF86<VkeDhzRRfkG&@#Z9@;DY#cHZl0hJth~56Pa%xk;^y%R zVSE-hk5dS5sIeJF76S^&Dza!QB$LPj4@t4vLl#2{$r!TWAQhV>WPuDJHZ#a#rb4oT zEM_Sr1IS{wLb84=<|xE^0YDW(6BtxcNY;ME@d`;<v6!b26cvc55Cjh>qY&grRNyZ- z)-fKgghHmqbD~153tVHN5R(|76Vg-r)WDY;QL=ifKL&uS+XkclIH@<%T0j5w&@i3* zi?6auGYghR__DEJxN4C-MNCB{`3CQqI7;$J8BB_QFN10EzZ6twEcthdG4GUIg<B9E z$ufulzYNwaXAhlMt3CJIvA3(my}c1ovNBY7D5J{gRodH{waJ3@;yY#9hL@}odaPek z#(Wq1o(!hEUvcptq-Mcb8YPz6f@$&X@@=h?pl&^}1YWWQdy4N{T1eLkC38<2?^&7z zg8gNXX<7zT1D++Q6<;pj)(z11wqc#JV2@R8!Cr$L`k=+TC)KBZvoxwcRc*n<dSXEb zmjxYM7OYz<OpT75kpYkOwk*VgUWf&~5DR)C7W6_a*zgjBm{y)z!g{Xq1XBwp)-emF z)-em#tYa3e+fZ1r(aF|Re6}n>#yz31zD|PvPByL+DibuVhgR62H7)^mf6#$lRJ^A< z^7~y8(P-j>O$^!l!`;8cE{f&|T=hHA>PER)(vUNL{ks>tW8GkJUO<zI;>a0J<F| zkw3Y(*gE#TDErq}vu$&GI44u7y=U*|R7_k6!~5)m-1$@{^~s%^I<u%FS|yCm1oMWd z%yaUF@#0V)hN3Yo)cfE3F(VM6rB07_N?4Jb7eq^sdYe7BhUX|x-cbK($#!TT5r5Xa zY}e}smB!dro<j75)1G8mEJyvAj5in_vRLcs4~>7QY`hmlnYheRKaB|jH^sAbx*O8L zeC3pT^V*QGY)DtFRscLMYoHUoqJ+KRynJuU6!u=NbX84j@C`5q*QmRTQRiEcszp%p zo_m?8`{0}z+Sl_M<Aj<LoTeL$<cd)YF`$xNeNq@1sPRe_F-B9Fe=us3L|g+EpWXCQ zA1mNU?`|!0QNbJutkmw(Dyx1O)TEs3de0U?hGt)WIfV4@>F`?YV?>J;R$g)ATL>TE zC)>Zm>gYm(G1v^Yu8N;RTSRNuIH24+TXa~qO)fdb|7k<3a=u_>w#IIdzzp^w1)Rov zbf{DV9%Wl!<NW}02?GX)t%0A-=!Te?)-_~-5og6vv3iEWGeqWH;vkxOK}VMqt_jV% zmgWVhCQGAjv6{FvdV6dNgbWIYB_<Oz@O5Xo%#P`{Jw8Z@m1cIA^NzUq0rm<Swxqa; zgUJ4`qlj_+07{Hnx3pZ%6Y~=?gG-)de;|#;IQzrbkRHlJD!r@;QWV{%oThpW%$Mhh zxH@Qz7q@=n9$uh%0%u9L53KeO9NtP{#nof=MS9o#qSllBeNU&M!^vj2ls3KPAW@q< z-MhkDX^h1y#BF2RnriwM^+sUxl0N$?rQQ}e46?a$*l<!3_f_X)59pjM81gd@)BYcy z#c9IsfO2IR2GEM_%sH!i8?yyAo>(id<<WS4a*-bJp`Q<js%(grD%B?E_q`W^rkQ&E z!>jE!9%8<hXpIqH+SsnVVh(C4EMG~Vi;u>K$AzMLvIKX#<xs`zHBfQ($=N2R;)G3p z>HL)WwMckf-DOVD?FX68p#zMTc<)RKGb_W8k$2s|$?Fb(cZRLIt+H_x>{uqVEx*Mn zEb?<cxW&p~lv*g0jf56WY6bN0gqCt9^aTa5+7XRjOv3VsHE8H|+9djeik}f!j3pxJ zX;U1MiaX%JqKJ+n%IMAB_jIE#74_leX&x-H&n*(YX-peXzI@%TWskw+abBN9R)K#* zi7>BLujtw>jlZG(ca>o*37p>Day~5zr5Ji^E^15AQmgbl!(w49s#PnJoWn9zta1Jr z`!a_RZz?PnEoyDkG2?))wOSlT;C~JezUmrZ-6X<0dZ`5up9LdVT{j|zz}9U$$40NZ zR`XIAXVqu#qk-PU%$H>v%Z*yhRmzZ4j|5(x_)z@93`$KIF3JA1U%i6)R-l5RrIfj& z?oggS=&mpxG}T#O>L?gt9k0Yi)_rRS-~d|_n-uoeO0y$;`BorVsHO{i)bp0t*(pJ< z;UCK4#{f!09ah@K3^SFU9r&%U^XH$zUY6&vFc@mO4F+2d%Y@v^`ADiDYsKBBaOiRp zA0o*uE}%j_cjOj^!j!y9;!pr;b1I-3bA@Z}Hab*kd=3XAdzYE^tz_9V2*%7j(j~<O zSXh-TjqFj|cId+51k9*<X=oFO5tu6UwZrUtYq%IMuQ+{bPxqfA5o|d)GPD$wVwoxC zY=pe2ac#Obi^5ehG18)~;RbEy|I!G*d)%9+NwiSZ5c^tk8T=nXTc|0O5G&XiKV1dG zr}2V)VxUdP?R%7Bygp3F8b#km6>pa-unV>O&!Zh?n<=$pxdHA=R)du!Z6``R9Mx53 zoLgCHX;lU~A!1^oNMbovQus<sIZARCG&Ud0=&y*0)QkEPP7_$RjD_j95rLRWB*gU9 znvWp1uUS$VoUWM0Q5M5Nncbuq`_uBS-Ufo%y;V%##;cgVJyykn-<k=X;}oq#qkk5P z)5rtp67K3l8^)pr*%_@pf@T{io)*b0PY~i^9?EUCvGI(-ch+kg<$x`wH>pJxKf%SW zvO4ce8S~0T^5KJ_Q!`W}yvRdUJ4b9|*q_2Gsj`xm`l7lfr|R2Q)?oGRtYY3ujjzn$ z20kDoxa3M8z&;A$SIjn?w`N709Jc)UPyXeRnXd#IS_m$I4zfO?>B=B>5{z=hDHC7$ zyKQ~=>a`#Km*Yln;U>@G%b(>Aol_&bf`&yC`ySY=<lYyJw)^<K=Acyd;&+r_+XK<) zG~YMt``DJ}P51qBeILE^pH8I-`=U!GH=|xKD@m~DLpz@~U5ZOB#m?=2{Cg*oL_Pzi zDv3!*6R-T;TPl-Cs}`fsJcT@oP$gtYv`B0QdK6i<OCY0t<OCk{<hLic(LmJ@sPGya z{Wf!OijFh{sd@pVetX&`a=!;zH*S#mqY8!jLzamHGhjpBivo|zdMT~f&6N%76s?!A zvz@Y@Guc!ZP3FP%0gbX&wQpjP@RYqSPJdRvC!Ltc>y`VRbQ4ScKC8O!5?TR`%a5p5 zCV2vZem8EIrW}#y8YCGE8^AqpcssFLp);5)&JUG9-%|;SIS`MA>GrAkv(I5&y0F;8 z!<g)yv&ml0`cnIG+V=2glVwz6LiQ(qHu*HL9KUJoXwD`g#vy$;qG+AoqRi#-WMiJ_ zcp~cjz<clFcybYGo#5T<AvZ!4HPdxCx!sNwZ2glCC%5aSmC2`*JL0b6$sMuICwBt| zZH8kG4r*6fpLn@epJiS^IGrp9`;ua;Je(-thm&z5-<NSZ`C`}U#Lqg*f}qkX(IH5O z5jzz5X@p~_hJhb1##K+qoc&FIR~tlw+Hk%1!t!ilMgyQq*V%+uMx0d}AUI`P;XD;} zk)KU2p8jk?YssIm5LagtNC;k7!R0&QDThfxZ5a=vXl<y_?3b{%`)p!8bI{}y&n9Ts zWOp3?Y(kmU*`&J_;cQa1l(lV&v&jT3XFmk3SncfeqqE6gJDcq4@%u`qxXU|PeYijE zc9G-B8(4zovWy+Z|Dh)i4Z&fXPGY7Lel_SS=C2wU-W&h_ny&XaNK|^02AJ+zNDtkn z_wtokZ0SmG$NOHF6kON!K9nyHipBL^??d^lLQ(OiuJ@sQlPPTNdLPO+3B#Ma-s5d? zCG9bJ!&|!E<9PA8X|GEk-rDs(ln<FFIW>fi9rV;WmTaAAID6YVh~V<EHApIocPh6j zGBN@+Xpca-BM$}ZCFuzxEgDf~BgOA|4xKQ;S@|xYGLAS?R3__AO5r;Uv2U$GaB#T# z_8eTFab&f_h5Af@vMqF4LX;X4&3da2sQF=rsmmf@b5byYlq~zt=Lr)fja}wV(TV_c zq&z3ss2ruPN)fY&?_51Z-}zp$j@e%(I7xg**&t5TN7JAm{1h4_(GksqCW$%MZ9U2R zK$zG*q-W(#;-3>s&a_>{;x>h)97!A}A021_9{|;HR?yS@6dp<W!_^veZJU-av|c%H z>kE4kDN__kEv{s`F+e4dcNGsx&v^hVP0^dRMY9j_i<;GUPVhxSiX-a=kx^GSe(~b} zVqhn$IvJmX!Ib-m;`&=K>J555U}RUh|Aybf;bfh3EZ`h0<_6_n(e75~hn90rZ@7+9 z&svJv)>VwDCRNS*su#oAjnbGg+7d2l^^NFmkpyB#uW#<C`V{X`NzE=rqpGAwtfY-C zdarg>f&(l060_aCnT>0=6snkUw~<au?X7yUJl!mbVCXiF9(g>e8g806ZVB%V0&WIv z*$)^{%7#5+Jf3ys_n>4Y*J`v1|4Kp{LbvHUG@iF|+lCRDVg+)o%nDQVVuZzpF}@n! zi=Hnqm{q{@jTKWfYn{dix2#An>Kc+_rI_wYtI^N)FB7vQSNq1`J(y0Ni%A2XEaV#i zPy*PDUHl3(kixikG>|GVe+ScIFbU*v6(j(D@Gw!NU~O7X3b;Peq<Ym-I43&B%K$q2 z@CcAt8s&vK#xg|u`buHcF53t{+9+L>j@L_SavUt5Oif-yc`&+v!?=%t@K%PI-SpOU z0;l`p!!f#F-^J(t5{BA)kB*jvkuBiD#hyq=uF4Y;l29mtkQ9;PeD1(QWoc#diQtkg zxNHY#x`G^F;q`P;m)ju16G3hw=X+aPB7Ya_dwbeNTy9U>VA@V`_`v)dMLAN3mvyfZ zm$#;3VFcRpHuCcEMj&XMZv~vVT(&;D=5-~{8@GkUZQ;ghVKQ{Iiig#&ll?_iB}R3@ zu;&Gx%syq-CAX&LX3`U7V<ROU2}9esX4UqSu<1=hM;ecN850X~5_(u?6%$8H;&BU{ znQHH5a$EPU<ZeRpwg4h<$VkaOdOF#^OIl{##H0}Hn%7ODBlqy~2<S-o<`o^;-H0RO zaZkc<w$n+J<ak}Yi#Iirxh^Uio5FHiVAci&nHXhvfu>@*Hs~V(_*t5zx?IqWx4BA> zebDT;X)d9Dz==Jrc=|2TuD4^d+T?jFPigNf1Dbh3!5=$sSsasfIX0x!j7>m~nMVe* zZ(S#B#=#Ic7*WW0ba~0vmgU8&GLmT|W2}zF>+{2?7@x)gU&&aB@n{iEGueR;Yrmya zM2z9+f(+k=!5>}++HRpmYMy(JcY&{TP%YBE;*vQLM1{%lm|&COqrBaEGU;VrY<&!# zGX)lb!9=6QpxNri5?{6F(5Uv@Vi2OK7^sX&=N50|`tc&k`G*WNO)yrG1Fg8gs5$$K zrA4zf+qSH*zt1iH-}So19Q#pAPjXn6aJnSlCTD-hNjnoctu>*y8i+rFue8h7fd$rR z=9{z6h3~j#J|5pkNq+n-Er|Q17&U*TW;<d4jR01kWf-L<E7bAffV=(ho};@tx5`}Q zV>*rE&y&(+5bm{GHug}Ulh4)`Wu4Z{+m=Y%Gd3fLxuJ}jV9m6jU=7R4U((h&>{=DV z`PfXdKT^p|MW8uf!W<_~l9}EZWTx+}WTq2NY}(4196RH~Z6$x$Ei?TPvt)GVQSl`% z5-OUkkg0NH+X)Lw*iKx4>a=&)-r*;C_Wenl$Cjx$6I;7E6I+clfpUYb?sAA_UMI~v zK=u!;_QN>+fzj%q(Z(Tufo&WLlp6={7s8bIUtLTIl#8_rS$PDy5%5Mtrk8k)@L<HH zSf_`HOySLh7TC_>wsVw~{bg^tiySpK;_$o3vY!q&!eKIL7kMghBb*5Pdl6xi43?0S zK@BsswzAlf7553mv@mH;d2NSQX6fKR4k?Rl_Fw}<USS~)E6U{Srbuqy(Tx>Vx&f(@ zUp7VZRbKikm5x4*O7~Qn0lZrRYnjEv-#PaR0vCcnTE^@j<>DklniaB*`j|Enm)ity zztCeGgr%Qux&R#gt^dlwLWlCPFF9-&T4T{UH)&*|9Yp7PNMGBf{RL=me&Hm<mp?Nm zukPv--GymhEdPvQ*JIO#s2O6p<1q+*$b*eqa9-K!DPb78Ho-&4ItL03%-ul<b(z^j zIG~q03!!0L0&Y7PjsrS+E6UMafff*JDnTx3Gffpa$S^+K#FUHVpDlt1t*?tFmxEp1 zI=(Vf`O0+a<kb$xyH(xqR2?GA%gBL+0?^>MY^j(q7>b?AH~6D`<G1Tux^_jnmT$u< z)WKhVWmI`b@-RF>&p?SPic>vJ&yfm+-TiAf+1ZY=k{2vF43{9t0p0{!ur*GPhJX+H zwSzoRt`#N3+6N7GkIRoviHcn%4d&=(6gK2Ajd$It#GA&e?D1bFKPaPD*=KMNhDQPY zEX>~a8jicht=@gdUCynB=Ot^|5;LvH?2qR=T5aZmu$h&#cu-rW&?Q-I=ZzbZP{Eyx z{B5#Yb=;7YN7=5!#I_`83~5ldCCIOn8=(`lN$ucS++3FRxo4@2o5QRR$BA3XO`;u1 z*cBA;T|u2KeGrbbPugZcVU8Mdrpj0pd;Cj}S;>c4_L#p5u|S@9dbRQ9gac1HF1ZY4 z+WTNPVvXKId-5LSN~b0FD@fW=^@p5$*mxdObG=UjCyI53?$nZ*Rt}$FD}=p9^M0=i z35EF@a~cJC)3du!E|LQq2_!{0vN}|21B<Md8%{9xrE@^hfUaAS?xK+4gtMz27lm8p zg<3+7Y5}nqtT~OcT;<+HN91)+gJhdG?b{Y73_q2z0y85BK+_V?vOx@Li%bL^`MjEH zqELZhb*KHt=JR*u<k6CYTHO0!+Km4Z82WF|q3u!k`NRt`zgS5De*gOg$}>5MeGp~2 z%P6>G+mL8rQ+zqL4ISHtj(QvVNVrr>LM6^WS_LNmiJ*vv`Zz`UwWc~tf^#*P&^hyP zdFA$#^#o>Daog6QwORZK_9X{q-buw*2X9Sm4xCz3*zL0S%`}gnhbnFFQI#fdpNA^# zv7;&thAi7HT#&m9Ewd9Xst;@p7S%8>qQ%kHH+LCWFOEh%%7WRg{cd!DL@H$?p$BNL z^yvi3VX;QI(!v&CiiP0%As`g6ASeXe``=u`Rv)H<E%X5CbkBV^l;OwQS)8G)W$%Y7 z=o+^BI1(@7O&Go%Z>f}SZP;iSA2n>tI>TnA`B4tW44Q55*vdYsCkG+L?PaM)gcM>O z9BLRJJgU-kIzLotj~-2F0_2#vY}i}pmXUI@@K%~(RFq~v#*sLVNYIf8!kPOY|Nn4n zj=S-+z?tXfO?sZY!1h0sLv;Rt*S2|+yGeq%h9feq>Z9^r1}}uUc4-K0z!VoJ{BbS? zj7W+xXlUULrECU!IO(N?g1Z^CxF2{U-rPLAO<^b+3GujfV-sdIs+1E=Llg)mmD16w zXWyHpA`n-}9~X2|&Ocg+QR<~da;dNp`4yUkbRs2MBT50WR*6~>+ZzGl8VFz77>b&4 z9#tzYQ_O>kBR~3&o%{wlt|WipjaA#w`t!c2VUz}KP4nYTd85;+NyPyCR0AL?LcLJ( zPU6r7Z*b^>QSG58S8k$j44{N;fQ|rP)gtf3G{reYdJW140Yf8lL)EAA<aa&Ie%F0$ zF`~s4#b$#|o9Vu30T{J;lfhX?b?yR0IvfokoY3wBkbsjuNuuH3=G!OU8<3}H9<nYC zEAw1q<Q=0m-Z2m*j|O(tW3D?`?SCqNL!Jni;vD8Jb?d=NftF=@jXxvJdo-Ljwcr&K zKod!q$dkl%GRYtl<K7eox!D5by-S@t+iUNoo+N!rwCd;(mdSmxQKkshf|WApO_}02 z;~4B5P>ASd+-@*$Q%hme_M=`UFJgJ`2E9$?s4TJyr78z<qi=Yb?O^B$CYKxj#+FA2 zMBVg&4b6&=#Z$#fngVHX$gj;$NIx-CLMFq=3KX?Ktme@Mfg#0Lu==33V+oLRa2F7| z`p>Bg9yeOm5cz6I076;<Asosyz>~lrYwLr+Aosyjf&mC5mzNMoFAESbZ^ODx2@q)r z;0u>vV1hdUER*+ra&j8mM>jPJT7R^{O39z&3jMZ@!i+FBJl5=d@9wBWT-hD<b+buh zgAfcbxvHIzBUUkvG@Y`{EWJXSXy8Y6{IJ!o<P^QF$F!1*)I}8>PRw*naqZm)kd2G0 zj?kNb4TgqQsHxGB?gSY95TNMIzSTrnVGD9!G4{KXW)P9dPxBU*=e#*`!q$<;qiaX5 z4m$7gmFA%nT%fhMx?8^(MdP7-@Va&r-FVVJ{-Ym!|C?X>=;K#jac#Gzyu1n0hNj7u z2@K^!Bk}bUl1N%kOC?Hg;6?~e5)P6RS|JvG^LLP&P{kE_^IBTmi_gL+pK%LbCTRny zHX!&LOE#|0-u@c;sL`UIdSPnR>Kf@ATrfh*jR9rQQD`$OL_>@)+(#pkU@0SIB5%vA z952$Ul;FU!NBJ7GP~b%*r1fSTo_$aDPsit|<BsF*msh;8_iSK6AgEa)^DP^KAWO20 z*na)sX@||~wKTF%U3|!-T2KBrd+!3SS5@8puFHGd*Q|sD1Btr!+o(H|9AX<ugtYFp zjSz&ESUeRkpNG#w&*21~K7<C!@u9FW2?hm>6*;tG4T1$LwzSe3J+VfOiZue-v|@=G zEp5Y*KF#;3HEj{j??1*|>s{~OI}j*pts2>DuKCV2=a^&O#vE5}-*<8M);*Et4VY3W zsWq)&8eyZup3gad_E1;&Ci~_*CbXAypb>%!6BMEk4v5!&mx($-i2cY`k$q}XB1iAK z|H|&{hF+HGhF;C3;K^K8$m;kJX}^dkAw-feVHLciak}9EI$Ww79n!X#NMEny7jnOm zqE{)pT-%L$$OhE^k2&fG;g2Y2C+<`<406W8W1J~P|4hPfK|5vifk;t*6tq*%#U%^Z z<DCfcsVObkhi0}x&$`sc1eLN0h8s*^G4%L)EtALsb*>K0{M~Z@-1QG2+aOg{kT98| z41Dgd9!;YJv%(@)oGequ3H5XI%OebOvvG%nW?D}kkaHaRstm}vl63%>%izRmOjtw} z?vE}YCrxrTW?u(;s7O>bTb027Lk-9&r&%6HQ`}`wfq8HNo+MdkAJxAn=^8gj&IkYe zNRdE)>;XC5L6~s_H3<;3u)aQAt*;%Gd=TarD}3{h#-{SnQ`0p$2P%qd9HO^=;o!<V zk*<kukgl{mPC>YOus7MYltLu2nqRqrB7;XXVh7p}$ENaOz>`fShXzj!O(hvb3hCEL zC7cJ$%-8L^lYOHm8AN8GO{C;4vZS;Xs0-BiG>j?tR+2&P+f=MAs$`aOOo=x5PiaH> zjh9c83?iub;p><5SqgJp8S*)FbX8(Zc9>-21A(QaBdNoYgaMVVi82FXsN^iNZ~bVl z_5Tx*j3aIK6%qp+x*d6-Q`;Rejm#2&9fcnUxiCD45i&Xlrlgfxnf)KwZOZ;F>F;vi z#Z#Lu%R$}<J#GNY$SQWVAgma0ZL&~MP?1?GQ%07`Y7p{^&AW)R_oIE{AGjV-hcfpL z=`cD|&5Uzdu{I>#;9Yxu%Y33!4Q!zP4m1M=#c#|pwZk(Ax`m@E7uLV)Usx{O{f;D8 zVd6ucEltp@wHxO$XhXz<sw?~c+0yXq?_b$B_J|pMyPgexdf&cqjP=b2r>}=1ms;v& z1?4jVJLYN?+RRf+ttTCGOSbbRI)|$?mro*U>kc{-!LyAxla%tM02p3j7%+8*S*HDP zhN?&e>x=3ckjlE$q#$98v{x{zO+Cw;p4z*hlsAJdZp=Jw<_TOsUw-UMW!E47aF)s+ z{1;v-*Zpj%{1}$XO|5v~O78h9YJoU=$3_lo4dU9kEz(kiS*3eBn$;FZvsqjzI$R3x zP}6P2(tyh$-b+X9dAL7ZNTDLy(qxp>d|)~E_yIy`>NIe>ILod=X|_)1TJ0MuVLQ!G zomI_2(mrFvbuYyF;XDBVit2G1KG6tSjE%F79#UuEE(+G31s|ALH!`4I!?M}L0coRr zwoPj9$mQge{iL`8=9tdX*uLv>G2xstzC)M0ia1Ph_CJxra}Mo^48k@H<2}G<2qFHX z_|hoU+r1wYW!<(jMaU^Ws+f>4mxu{T5p=&%y{A*%?3UNbqPh->S`$PLjNq`tGqkQI z*;CVraCA64+GX3t3*_*?94fc7e_TZ>H@ZtXY_j24qr}pLFfX}Rp@S(erie^Jcb7*m zgz3%WgtOpSix;NT_=P+N&ysU3?bmH7fzk(U!$jWG<%{g>Z(qmOOaE>WQ-nd_&UfeA z=<^8<#sf<4z6P5`^8nK+UZ9@K8J8o~F)40}BgK%Uc8i<&GP`jNGs196luhUbI87nS zsG@9=rGu*c9Ypv4j>kfcjEJgUm{B^QazKE338Ylp7{8j;?PB*0wE4EzM?=?JTxapX zf)G!AM(f!}1dIx6tcGA3%JLuvyY6q2IyfgLj8jl}avk4R_VxcxndQ-9O+{1fm%5Zb z6PC?qv$()jxm-d8VVsjvCiUenU9n_Ac)<~y!=-C8$vbB(q85H&al{lIpa`o6ebsu6 zY8kw-8cJByh8B6q=;HH7Ax%YGBJ-jW<Se2@=ZlYG8CFD9BX)t8!Z{B8Np#|zPgl-u zaCbn5CU{mLIp5T48AvYOa2L9A%#X84A&`)?Jl)(qZ)wRV`H<-ya=mgshv|CgmPPwA zf+r<qASTe?4bw~2kKJ#gc?^S`3ao8w>2@b%JclmmCOXXbc_m(D%^}<?w%sfF+<a0W zVe@jK>N2ErQd4%pp94_bM8WLKXK7N3P&Wp(b!1r=QAXx4v#)4@nEnqp9qzW;*+3A! zJPnh}Obq!~CK^${z-lR>3;^Byr4pc>0U&h!Q5y%E9$agHP-yCd@J_yT2yH77fy|DA zXGX~)CBEcM4?_i$cxkfQTvZ6>31<RnSCnIt361)0m&>(~%dr{`1eRE;t1nz8QT^J8 zV@fs^d6rI=mx8suB=$Da<w~=+yeKRSOi@-aeUq_-71{_}5}7YTA&ThBkr&fn97H!H zCI{!NFS#^Lg?iS@Nb?9DqSrbIR8u<p-BqAdWhPbzhP#Jesk$(#W62sdc`Ba#cwen! zO-k?X9vXa|=^b6i1GKG$eGFJ|ojArc?~18!_xv-nv4p;U2glIrC01AT3z=CO7{lw! z=Az=Q`m$Z~DsA8$GMCc91X;pH<DIx0V~AX>Hnq{)+l_6<m1VtKb;)p|c!#R4+j3de zUq9Qr%-KaxSF&AVD#eaSe|TS8YNKf}S)J<??$kyZK`UL3H=Z1c1Ic%J1Lw|g(Aa|b z)cmxp?<S#Z1SgUJJS~8I9Nvjub1TbgA+1P>)&ZW*mQ6#8Filnn8h);MeMU*%uLRuH z#5-U+47^;sC0LeUmza*m^0lmz<J)JMMFG34T1DA?ie6Ywlb%IZn5{N~V6$Y-v3$$1 z2q>$@k{>i@%qmL>F<h7${11iPvQ2${z*f{B2gfg3Q9(&WafKd_nN~u-X^Ux<=~Oe+ zYaW8%cYcxCj|OY8{~D#%+u9SS;%l#i3P|(`dt9z15|&j0inGt2&^7lezEj#ZnIX{7 zI%jCzvjXdYxLFByQJN6ALC^$u4n3-C28`x_19I&X0D?7?COegw4NvvW-PZ=-RTnI) zS^J<}hiy=uy}4{dF=18y1EaQK16y_}e>#^6MiTKxCKb#!ip-}+>n*jKl)I!2=n+=I zi*|J$Z2Vfz+V#!EGZ9}x-)EnH7LX^)qj5u4N?NDNxVCsZ8{k7|r(9`0G^|QxK%jsu z%QPtrQxMS+e<05!U}CB}yseOcsiDpWgzl=46FU2cbk_HL^~C$Mg4F8zkoyr-B5Y@c zFf?9-Fx9a(Jg3*SlDe#KthH&iLRHn#5s*ReSO^uscU6rYaWq9~h}<&&b-gLwtK*@v zj#;LHjLZ^WE_ph%FGO{IDo2o9XN480(}?j+vwvZGDgSACkC#NXUY4>0N@C>&IC_%U zyftO-|1}9#Qz!D-(pFdNp7RU;vG?!hF!O!fP5^7_7Td>{joC3XUTuy#5frvX`#Qd{ zu9D3x$2*&z_9aY?r5~}{w{i;BPBS%i+c#+{tsNQG)ccRnl<mLXls2Vpp{?49Mq6v` z1P}mK$4--5D??e?w{O1I3yjY=B$l~dEwJnSQ6+R)Tdr-Dep;=bep(Sia(#8|1ao5M zSJ^%7#QweSs2qDziIUG4&J)LI@3?V{o+AV2@noIOZzayOBS-{K?il9O(TZQl17LNq z(Rp@1F$z06SY{kW&_wog_NOl^?R~4GC<{l?6P-KEg&Ai66{6pD%WE7%VNTjitPUFR zXL?R0f~v{Jw;D!b;d<g)BFk{yt%mK?i*3}HRdx>Xe3E16&Q=_Yu**%<S*{B`S$c2U zfQn*6|4WmY`%TOZu=ujwd`ZTIoF9YA<q?5q%Vb*obD8XO#4GpBT$qap52cd7TU~!m zCIo@%I#ebVgFfV@J!iR%o@3oUC%l#C-L^qvmGwE{t^Dy0_B{FynJ;52J6!x@*;>yD zuenhzPcQ@Y<M@4UMk(Pg*^><3n$uvR!74inc=wfM+lHqAZ&lfmoCeFub%579#H?xv zlO;HUA@-qA0ZXRlm)MeyK1((Ysg{&)+fddWIa_YWoDo}cpjW`rXSqYg-<6*Yhq8dv z5;!b>!`J;3h#XOx8J0|}VN0gPzm~a;;=VHJE~c$Oi)kJ{^MSS8j`_T{<baK)B?k>0 zOAgs2fY>UgIs(VYHQgJL_P+OxtQlM7obcE2!ev5#hKnul_>@As?Cr9xKyAs;mD>C+ zL)jZGfO9U{<+q#3++gJEWE<tt4bZ$c?`&-8B0jk@vlYRXkm(Raop?UHHBe6Cjkp?| z8LWgc6imjn&WHJLB$<HFn1d1TAi>I`vAOlNSWo8zrM2qtNK(XO!|>k+^K{Hs)o|XF zCS!;AlF6nGV^KcLZyr-qQw2R7cmry3UOw`2SY>l5l2K%IY>r^i`0?eXUG9hC1fkkU zhp34jX%|IXC)As8iRLBUc(FQEwqd*&`o``t!k|ayN@36<qAEJs)m!powqRGAiX<4x z=jL#<V)_dQW-f{_G&lq!kIlh9QEb||s$xq%YIX4KP=1UoQvh4h&Tgk=1vyi7UhBLZ zoVf1o&0i9+ndga!&1K}@bFVUVBNp_~%O(E^0`j|GDgF5Y8&=lBcs^>>rQ-K)G?F~W z_5R5q1#kPOPzU7TFpp~=P_<};O{Tgn;glSjYbDPw@Kn2cq70nREy+38*A}s=E4-1E z#VMprf?S+TDmNe@+XbX)TUM=dWKmgho3*OmLFuU#wW`+D8esKWlP0v+tkyDqN~|?* z(4<O47@39-p>X5R=M8<Q>D*xvTn!jyD55b9ifv*<%9tlpj?|GLqZf%Do}V`~D~OvS zHVuAwx`suxy>e)uuB~TS9V~_hCvMPStUk!TN^z-%<sK#3jEPiX_VzW(9#%LSF#rZB z2D4(mJB=PzwJ2X_SG~e=rEem}5}+-_QKB)CfK%sw#Dlmtxi}YzK(ruwWXJZU-G%5w z4(nBqLF?kQ9x+=9hQqQhdlhK={+>UGb!Jrp0EGvwZ^MVfE)H7^7_he)QLZU9m_aj) za&BJiUs2Hoa#QK2&os^;WVFu%ROm50CS6<-(2zuP5%?~49UN^$aYN3%n-;sJ?27Kt z*@G{w0Ay~f9Y#{U;90CO2jk#NO+(1FWW)#l;rV-%Y6S>JPi-(C0+i;Mq>O4;lLVie z%Xly!mhb?HIgi>nYHI{}Qf524;qaNI0c6INeFzh*)(2g&o~Rp!%Omtr3bzOBT22t! zGWgO^X}x|oN`lk1Q|=yO{F3F-pRr>xiU4=N80SfGKmPMgnofI+$<84Yl(R?)<<5u; zp<=iAKh^N(Lndzb*>E4a?1!#$`QbF5-?;dMaMfO9JX7=et@`fNn&r^COHW$o@0~*% zvQK4YBTPjAxxdN%-|j+~8paW;gv@>N%a(8+@KMz?R%GG2M#s4hd$lC&5KvL&W0!2r zkqDd^@UWB`SJ7uimd)|*euzFZuk7^F6lj{0SKuXlGX6C!52EdjCJ|SyBAx+?K-IzR z&B1KGt7+2{J3l<f*bh60(D)@8r275~Q$!n43AL6!%%z>CUrpa1pzo@g&SdX?&Cp~b zcU`e)mWAvD?zj8iAx?C-6o%E^P19o0Hc~ufIrlVswbNf_fN($)tH1;4=Bo4{&*G4k zu0gKr-VPD>O^?L@mqfEjbLZW!A#sqz{+HzqABez1*#V$C`@H7$%_`6YWZt^S5F5B2 zgywOX&AsYGq@^UpmiXk%_en}ujC5iLoiVNP7h0RjHo!xojE;Pd(DXz9dvqXfHq&Oa z5hda-k!ytF4G`981TQR*)ryY6LRuarMp;@iH7eAS4GU^wNvC5i>2$0m+eQppvV(nj zsBFOKLdzYr>jl)A-$d%|B9BwM3LRs~zQ80R(Jj}nAC_zxJ!(m(QZ3o(g*F+mPFSwT z0MWoW;jYOB>0~z%yF+>SnsA*G43;e8n(&!oJ5)C(zXec(hq1A{frB1yBGsj&VK7*3 z)39erkKtm;cJFG{G3;6HfML&)ec?;|at1g?@B8&5vU+26$a`T)kE&zIw0C1@SiP3( zn6zZeMkN+@jBwW>USfxxQT6ItX-TiwlBqRpNxy7b5^An2+v?p7+SafY=!9zm^$u9W zkgCPh;L+b04&3)?;yTTGW8jdk-`2T5*iD?LZsIA6j@9z^R?qEZ3(^X5LNowJskjrc z2c@9exS)u#uN1sOUM}HBERIp8SzHnl<^E0qYX8vj?0`QfGPObbx;@2E^vw|WD2LP) ziLp>t&9d^rZUxO?fSpUkHC@MbWUHPZ=#ZVlatZxnHM~-<vRY!rs^*5tCrQ3^BgHO0 zIXX$u7sHnp2lTem-ddMdKff3<!GboZRQV0zL3o>YX>n-QZ>lQG@-HqVX=PF%U|b0O zsIVmT4Y=#IzPN0Ax7CVpNd@pk#GjQM1|F@Be(?Dc*=T_Q%_%F=R2)G4pksh%p0jD= zYe0jeY@-gBxEVUA10LJNf<^*4oi5i&8By^liNc_W@QEwWgp~8~0?%o&>oXRTZ?7Cj z>V3D~xq+7NU!3;)U+O*Ocaz-G7_55{kS(z^890F}AoCzf)wnin54Qj^P`t}18#tlk z!kWI!u79Iarf$W!72Cc@D>v~cFJ)UW)z>gJgud*qmpJAsXZ+rL_SOH>D?7yW7A8G| z=b_i+Q0BTubFzpwwD>AZ+}2AL5LiR(C1RlD?H_s){YFUEIt5lv{oYfWiwljCAaR^V z;Yj+8$3t4r)Ng#`kNTCi7We5lav^up?J4UwepfN@*k?+bf=gG>Z(JwEyw%;HE+;mO z^c^9xrQc{OhcomWO~a&RopYZ%9R?=QH>NwszR?kbu*}m9XPFLl(`j52bQ;G?oyOIu z)?|;Z&)eC*yxKPbgEXja=0R<fGhl{l<JQ5M-E!5&bzz#<JEvW#r4Ayt)86*<!FF{< z$5K#doZbmj<%CcY^QTH<b!fAny@Sh}`Z`m)QCFH!NLvjj0{=sHR}DUFi&`Z!H68KS zqPgyhT=RYM>til3I$)rf0|LVE;LclFP++B!j$mfFP1A8K0T9rx<9LI(w!O*!Os2%B zisa}#E(n)cEW<h438j_#z~IpE$mpDG?!05>zwm_%j(yg`<Bngn_}R~SZa&uixh2ng z{tL#J+D#I^#Wk-|MdR5=+V(6CW06hJC^$W0kY)SNdYUQ1QoZf9_ARz$ktT1%<P90U zpL(gID%4l}PtKywtIz2*QqNFqlGoA)1^;?YuSh=}Gu!;i_!EN&jSxW~9I?>+ng>x@ z$2$*g)Ia(U7s$T<qF#6EH5;CP=o!G@-=U*vwl{2~hKBz0uZru!s@OUEs(7ec6;Cn6 zY`pQvtD^epDHiH0US9+@HuVfv#f@QAe4w1fGZw*&jO_2LRWUn={j;tIPMP`-PkIR6 zZWT#rwsn<V^YcG>tD=s~pM+KM_OL2GI{T{lhiX+k#T2XJ)+4Wq>ZhkzsIPc^5zMwK zZVjvAkDkJ+I9RQU*+HDPDrOXVvN`>vlm1ByWY_%!u8KOIeiBy2yTYpY*zBv~o$GC5 zf|h!UDOSavBd?0;r>9t`ulSR#ialXf?0gEV;!w3JW(RTFs+dveN3bgX_9t*v)bTWg zd^;Wr+8_<sQt-aTkKzF%1L2YwN+tJ6m)c?ObtdamERF2`U&$NGqq)d+cx2`yCV^)p zrW5*2@LIZwv8UiJ$fiTWsx~}6c~3wQ=QIR&^?MAZB<bMZ?W~pNFT;`Y03mQ+2t3zB zzSkWj1OpEIy&WQ@p+JO=l&(=U*fHTc7ARwBI+5$X7GH`p4X)hjrVZU;;-GX#U`ilS z>5iUCoCUOh@i#q+8oepF!X4M^>5IAv{#OJe+#NGicno`UY*M(;n#WV_^xT<@JDGQ~ z&z`Q=1{ZljE*ZlBoDRt%(@8uNpl&32G)$sNT_zO;mp)oqSWHqe<fok8f@!*?s`5ed z*_3G{^w6v@)D3Dj3C9LF?EEaV24JU?-1uABKb{PPO$qP>3bIhDHO8MhF8m1>EDW?D z%yOUh+A0Vd^CWPrNC>B+!YLx}O`ycS>~D8e!VICyYaKx<DSV8Wm?-=7=~A?yi6L?f zUaLydS>q2SIWlYbK~~BbZFY@(VUR;aZr?A=aJx2!Qt^C#lhjV^R5n6<(iFSjR*LY4 z)mRgV^#e+1)ejQJ+*Q6|<I!?u4(y*a-C>xj4Kte|rMV5Wf^pB@ZK5liQ>C&v-D6Vu zgw*=TK5@JxO!JY6GW8^(<uU9&V|(*@dKGzlw8`x{W!=#?zF#aAf(T0xtJ*C>1d8zr z)EYd4Qu8?<l&Y`s7lfG_t4;hP@dG{F8>wZaXrhIy+r%anp6E3x!mMp(TTOb-Y_Yi_ z4lxlXDPv8T;}85;c@rQ}5Ou;jD{*u-6>HJe5Tt&m{8u$;>zTTJ{oA_1*OfP=RoyDE z=+fd<M}>R-0HlqDTs|PbQ&07C_SVJfCFUn`63jzEOnKNAWlgq58%Yw$Pl9ZRthZwW z#`<w-xQ%TyJG&2Rb||qZOim08$ikNdS-4o3T1t&#j;~RJ;`1kjifxIx4;Oe$z8MTu zXk}g6O7_0W0_;jQRKhAUA*G*z5|6NIaWOT)+r}}~kR2Ho$zH5gTQTx`RL#~IU3!9g z)FT-}4L#b7+uHnh*EG^KMY`qQBTlug-Y&{PV&9_6fvTlVb06l~L`TU(24gsu8h!<Z zJNVC+C6Yq4FdaI@b3J#2@fKD)MK1lHPO;1!sue$wY7iY{lQz*P%U&uq^bjEl5W9;f z)R`7#*DC}9{C#A)=yd>1_CL=sMXalwf5+mHc%>mxNX68%p|sky?|6NPU;vG|Pw!aU zy&mBDKQ5kybFl)1Zz|r26ojLR?W*^ofMU>@kP<qWLV(~Me`0u1%VBLE30|#5vs|-- z5!`fjes&x;RE|E8+Ca|zL^wec264a>v|-3gvpY|u^Aug_OincwNus|}2b7sqs30TY z3sS1M{0<A-H{=r8T3|`Bz(Ip;|3sjnfe%@5B+!`OPk>+!N_8F?w&vjz%!yo$EIC3W zf_1kke*A3q|5VTZ5B+q{{`Xb1(Du@EI=d-~tva<#2SyUOa1@&<COaz2UlI%*3ugPr zyEa;>-f?8J?mSwZ6+|~O-4T;@5Oc^RyZd>5R7e5pV9ZvN6gWE3ffC9n*+`)rdjC}R z;dnH~B7-v>O_v>Uw=<dkDq64!_6BBMXStK<E1_8*`_^s(zQ|4@)y`kG{68kO9~{CY zMO7TMDqaayoD}kWPK*MbE|psf&&6rD<jj>n4$sAVoHQAGT1P>{=$=>`slYQpyldH8 zUajMrY<!-BIXS4!+a`L|i}vv91yqZWF}z8S>JGk>*Yq7G@k+9<O?DAGC)$CnSE|ZF z2#P)uD#5X8RJD~xl=3u&wZ6&tlP?a&dFOWF-2$fB_Kmd{)l4NN@r9FI%Q+nPRG<(u zQsz)E$MLz!OqQ4iSYx^V0P;gqa+Tr`2cFLWkC-Mz={@_GUkK(EIx=yRCz{Jnn8_jY zk*+GFv^h>}o|FBE;WL{^K82txWtudeJi^G@Wn{Jih|218%~In~kD^I+h-SaP#wv(< zF&2~TOTQo-6IclP=tsRqKKQdW^0PH!AqRbpT&K8?kYctBp2`~e;PZZDYvi4k`s@zQ zk(5g{+w95Fb9Hv~Md!pKQ+c+@nJJTBDpTKR*jB3mooFPl5Rvy>u1Qv%S;}c^c@?=- zzPdnp$%A$1zF3sOI*4`I(fvfhI$+-@ZUdSO1nYo9vMOa$MZ?JsrL;J}Pbsuyw#P{A zgi}ZNngcPOKF|RWEu30RkC=NwY9|Hzt9{qoV?CcK>-iiHP|vm_n<@1HMRsEMN7c2Y zuwfe@7`K})J5j*JHhgP_4ZY0M)%O6N*bWP3-?X>s+Z*8Xc)zS3(tNC_8TOL}<E(eB z-X+~tps&Z1hhnyVt3<&;xN=!H6h{MfVQyJ!2h6FPxMAXWF(0P9c6ILSmnx2ix=9p_ zRq17_7$<a8ET?oHNh6gGxsISRl7?r1M-IgbP3dJ8c2oPkLUwZLKF6EkFEgPRgp-!D zzpa9BE=|v=Vri5Og<6AwxEine5G=%%$MJ2gyUK@+0SB_~G*(YQN~HM~vG(+fPmT#4 z9I0*(Wo*sWg)uk<Xy&msci6%4ds-B+oQcSN+YurHP$}0@UA8aYP&zzNLof<P8?9zD z(tS&}L4$&+jRH0JnM_}`Xia3k4eTZuBJ7Ee$VQ>bLi}X$OqgK9aH;-&E!zj&6WHbU z#HJE13jGqFQA7lDjzYSUC-j4?5V5aUoAlUG4c?ILn;Te*=qcNh3Evl&N~gDh#h`K% zIzh*Z_ej$>Zbj70yQ0rYOO9UIo2%E7ObThPg8k)@o6}j+?bj?>>fchpwMH$sZ61Rx z*)cn_224wPbsM%uXbFmi>Y1sk{^2s&FqK`)_3ACzGR;{_di9p<_-BR1n3V#lZ1Yml zB-9yM+pHP&P*!r5OnOPz=e68YF_*H<prcE&Rk}V}9+ir@<aUC!AjyH^+hx5$F;|L? zYB88K%Fs)clGd8Yy|4}}tE38j!C6*GJccZ$j8Y=h#zo-W#~Qik69kv}{j<knW?;=c zPJQl8NqWrW1w{qU(@$nfCbAHz7eSj+EFD`LD7)LW`yH(`yRvyj>+-;OYD(<D9E24} zfw6XO2ZwPAGg#_kFgk~|F-BE@I<_G7Nw#1zg6z*1j2&w%CZ=7&3T3|@C??DWl?opV z`$X}>U>P2ZGwHhf=<cz2hX!cz|D4yT1y5;u<TO6-P3IQCapuesNgB)S1(jKgA*MPn z&yU^QU7*dVsWG52mYp6W;V{5_C_na1w=@4YUZ7wDu)bHrzHsj5IH^&%j$L?+Yv=;3 z+cUM#wDZyIU;i86lQBV1&-<@XR8L;kcIV~C;zzqd+cW)WKZ`|h3@89V^P;^lf7aHn zI!@^$dC@*r_~ds*XwDbr3upMy7U!!$98CIj%!Yg(ZENp5_Dy5QmHh|KQ7rnR{J7f- zyl2Bqokw5qiZAS<V7&bebcnNO4x_vi$Z&r{Z%|(50;sH8$Bwsd@63nTvUc8@eeKuB z7C{i)5pOtw5nP-P5=egR+4-Q2=i12rcj%>K&*>$fO9uu6X%CLh*US71cIK@U()CrT z?4CD{J$EQSK40{{vE$WahChF{%AC_z<~i{6=&KE9J_>~S;{5ok#E$&A@5`U_zV~I< ztC*`d4g*>DSepWhOgG*=PAZrq`LVkArTKAsNCsvM^r7OBn^7k376;zLBHObz8oEVM z%q+tBq2M4_`>G3R5XIp#K;Uq)+L2^?JPTIWEnBeIe1H6GUI>C^S=sf+`8I4@F~`78 zzi;0Z2oDuR2vl7Z!87tN`##7T>`r+X*%F`Zw^8!b#S6Is5C?zR!0y-xRh<zPF~)6@ zW+Lc=T`v=65~a5*eHq6T6hKap(%6#=SEbwHV%x4yM_lXKG0bJII1SaUn8jn3NzfZ6 zKl2i1lEf@3GgU3*NOHLj!jqEARMQNs=wJ*OIZ$F`Z(kqxP^0L$1AsT4&^c7-NgCd4 zcV(CIHw$9O){=<oGRrD`u`6cdGzhEkYdtE}yV)#mP;ZSTVKEOyx*F3$gA=wO2HgEK z*%T1nWN4^}8p~$S_w3%jFEmU+m9Zh(F4G;r3JQpvxB~g($>naD3X(L99)dPEomE`G zD#oBOA1>kn*?hi=!+3>lt;0<N$$Uh2S{HU5Jl<bB7<v>FrMS6of2lT#M)3f#%AO!# z854N(8@yf!sm*Wj(~Pf`IArc{uWz}iqDD{Yp!iQCs#pP}j9M#u%Q{jk7?bI;iQk<~ zHgQwPG_p#P4{aCEoNPk)gP<00>=b>#aopDg5z~Q#NQ<9D5TQz$l6{qCs<e_k%u;D8 zs#@Z1^-%^eiImq78Kl|oy3B(L)^ao$T}}E-EiQTZaC%b+GW4d%-9Py<-z&hjUbn6= zE)afJ3PY<Ta(uedPb<<(QygZ66JC`tVA?oRlMGoSM!QT0n@kgLsKYF_z78)`3za-$ z`j@lIGgKYKx~hZRmMo(_X>!$A2`{GAs85}W`uk==kQv=DdagWkDROs313?6&=>$g{ zIUTNTJj{v*ZmmRg#b=-=K|~mZ4vRFQbonp$cq<&IW^<BE6rYq&OFlLaj8KH26utbi zIg{^MOHFI3+mf)5-NxGbPG}34O`Q40g#$25SiFz}^bHsOk*i-68e<Zt3CV;y;s1{C z1^igKOA8%C_PCxyO9~!xH_A3vxf(rQVVF9_C-7mYUynbFuR6v5PM{TSQ57okfywyt z?!bB|o`K0LUkRDdQs@*P;Oy3QtXi8!2Tn$lzcd+TAH+Qq+qdYa*eKNQVBR$M1=N%e zzE;E!T?Rvr(9)r$&^f~8h~cU^tF+4*p`}<JB#luVWnXMj0sEctE@S46HXHq>IqWP4 zHI2_SPLx_xlwpoFvQMSB&b$4_Y7|GzFDVnFh_jC|W14m+q<+XsE~Qx7>%^0hYOzCO ze_R-QxwP|+=p#*p(%)%fozc&-Q|jv?2RhTC)<w)NG=;Q0m=qj>K9hteW-jY3Hu-ek z82V(3X>J$ksgg3%eV~$3=m;2#Sru$6Y$iJNhcy|r$=JiD2F*0&s*vqTUcdQ^O5Elp z)zs43N8W3kpRjA3X@rQ7?yMWKi>TQ3<=xmzeT2gglWC_^v_+{A>R2xy3Fmpc=kfp; zj?(EZs^q$EI(utrueJC{t;vdBt(}xyM2chkLLO`==Rf_nk|%FVBo%FmcB8FL^|r1z zOdh#kpr2!I>M}0*1(tAqIMj~zT^K6HolrtHlW;%FEG0ZkQLU|%63U9a);i6>Hs_QY z<NJ=6+UWqIU<rb+GmU6t_*pVtW`~+3sV&p|7?_h$YuR&+;Dyw2F9)JnlTF>hG7fxl z{wj>`jH1eUFyR*SV8l5Qq(Z~)E_AKsftJn$53shzv8H2FQ;;XEs~v&Ed$pFWHP|@o z^ra?H_Jva_RxmWSg)~<8X2AhxRQ8^;ghc3Xgc#qdcu@yfLQQVl&4Oj7XpE*jgSZ~F zp%xY`jdnctvQ-gx&!P?GJ|5lv*vn4hwW*s}v2$t<-g$o|+jpMUjZV`@_WYg61bhCx zGpUFyb2d-Lx{?R?nm7coMba$pwyO!;H$K<3X*U(_3KiaZ4)O9HJnf`pKf!+Zjr&G+ z+j%D?4=DBz+g!7FfSiM_^are+ayHf4*&EvNo02~BL6oNrig77R5T|kLE}-<)VTK}m zh~bkvHfEJQHL0w{*if#Hf`#PKU6&X+QarTldj#L+Pxir6s{>Od4(__7%k}O|?GfNz zlnq%$v^;ub*Cn#bMf}LSEdnXK&`0LpA=OkivgPBUku4vm5&g;j_*8*IkDyexDP!Mx zyfbS>K4rfn>_|rEqf;tr@VZSs6viC|hJZp5#U1Unk~=IDjMPgGX}X%?*BTzoVeu-! z-yPhm)_U@8l2bNVOSv6c%yKKTm-J17i-G2EIS92Oz^7ptQ}Dj$6ph5fVyiX>_a<&1 z+3aSwb<CRH6zCLG_;84ssY~Qsx1B{gRmt1mmq!EK#iS#cz4iZ)dQNc=L~HRi4dryG zxchtDM;4I*cCY;!={q0eDlUK3#V%6Cvy1)8(A``;X3puWNA%M||7!n!(pw%6Uwx)o zUf_3xV=7Va7jBpodC8REC9A)5$`=*T>L0I{=A~Dfm%h^DA~ACD$@qwSd#ue8qOJ=M ziFIe(IyR&au`*A&I&V)7Tn!O|)coo#<V-!5Zk`;!dJ7p-Q;)VcPcFRLl2eCSx_E2a z!Uyry{H6@jbGCUo<v*7+pF<a|-nM1S7T=w)@czxNg((z$$MkPypMT@=I>B=&Cfg|* z#p;d4YDrY$;(+#Cx@+5TannC@l79Hta)~42?A6-PLXsjB&HnAbc|zmV`|OVDGb^P} z)gVOF`4rz5ZJ69a2VBoK5oK^D+pnQmZkX1E7xS;FR`>~UXt|la`^C&C&WfoRqM7IA z-T0S*o7DL((ttX;0P3SjX)-VBwk}khFp`@9Ai@7u(=Of2m<WPmp>o05#-g+7Vv;xm z)f=gWmtIT=!E<vFyxxgMvHki_8aBvNrHcE8;~a?tx~cKcY#QaEC&l4^a^!_*;><8- z07MY>e!`IDtOCnoC$$Rv(xWWx;T`SwNx@FQQSnbrcT%vONo-CEeBJ_YbyCSw0smKL zO2QNUVk1F~Wox$jVws9sosX&2X10^wzr3|Pniz=^_?*k50@Sv2KRq9Gw(QI|KRWI$ z#LG-V(g!8Df7cy>a)UEIfN#<&a;|2AjD?YX=0u-Mkg^MfzmA-{blj5;Ln!0smJNFK z#hw#^!HT;l7?_CbwCi(<3oyI**{rR&ES|3$u;o`w8P5k0&v$gQ37FmeI`LDmyJzDS zYJ`Pt@rd7TNnayI9f9=R9hmx*{mHMClqkQyHAWTiG_54>LLLBf2>mk4_hcJf%C5mh zwt=PWez4Bx+MsKYAvd?t2u&-GGc*T$h?^z6@pbmav$getqr6B24yh%8X*VRaT5`W; z>#{6ZDwNs04B!P|joofpB}A%)`qok(7X(rw#RVH-Ut?(f5(15IOa5y5XODtEXjHS` zZLtpQ_y=9c@Kl=Y8(z&5Q6kg*zTo0qOji?Jvl(+oU`ur#1#8^ZoQD1AM%_42vL_|` zv{A9k$Xxt@(oi(~rGdw%d7ItMm`Yw#){#!smIE@JPsZ#NTw<d#8y~c2Jf$2xaC|d* zoN5mv6wF9_Ht*-qc>;q9im!dU@-5CsoPszISM;VDbdQ+V*gdg!7GrHzpCiW^Pwt5! zmQC=T{T+V8b^Jq>vEdmx#@$jqhgrqwH_*{%XA`5Q_*}1HF$QYw9i+VzV{m{x{=}Ge z?fEHP|IFnyZ5{|$ELC)`Dw^Z2Zn^!|DmrX{@2<)UOz)v5K)n|y!R{-XgB}@uk{*a% zfhZtK7^P$9QlNcG{PW(;+<Pg9v2;>?x2OQpj=};F`p&;LKj+K%83CMR>E_&g+=@g0 z<33}FrR4xE;Ahb(@e1;oAP%E#pyASPAVQh$j=`vvskuOB;XrvCpA|0@ks>Ir%WX0P z8b4<HpCfEHZG$KWUv6}TxG?%GrWz6-2ax5_Zu}Zc9s~RgNUb#Uy+n~d+s6dLuuBXj zPP~L|?!uyhN&hrhRMeTYKb!@1)r-oNAsh+(AK8N1-J92R^1s%C`rb3Upx7bK{jas4 z!r(vQg1YKOKhy=arx`!{%A9*phchDC!~sOQF=j^v=K)tFG0!+#uz}$}nOd+<SnOH~ zN~CT!WNf;eo>(Xmz)9upoF>L}r-<=P8=F_!gzv?DLw0S!m`6#^;lGUk5bTc4ORwaw ziI&IamuFaxA67HjgO@7e4A9v3)V@yaCU3;2q}JupEuXstk!!J%4dgwq?<$ZDfI_jq zhz*VXb{P*Yp5r|5Cb@)%(LmUfiLnyNT1-kPuu`y<(y1g5DVQ7#^O&#GI?9hVs{}bg zrD{|F6u9E&Nex<Rg(A)ujbdf?7jKljAM5~~ezP79CWy=pDB^b%(P?AaaFLJ5F)x_w z&dFOBzkEzV0_?6cM@8H8z|ec@*t1}_<OBiAtX;#~0A;Nhoqv&PbcXr(82u2nbetYJ zl5ZZ1#}?_a5K%WQ%G1XZ#$=9fdigv+6tV!={Cmw6?{ppmUBtN4o%?eA(vV8P=@)mO zy$BTnk~xWEHD*JI^M@`T8_JK%hc9Mm(S%cU_eJ^0M!fMZ&POjE8!fI>ql=hZts=^w zMKo(9{f3r!?3g^`q@bou5b@tJYEH3&G|xOT5aW=~2aJ5d85eh>MPm!RXwE<_8q08> zHT1ziXU)#SO+>kikE?-m^>R<iB92|Ru4ujxP`GZ19vbKIE)hP)>UC~voi7O`w&!^P zhp3USW3jYcDALP3y^rz|-4(?Uij16YbY7>ZlI>zyHk>M97<Cf*Wh(pTq>4hJ>amXd z_f-PvR3d2c4&!lpReUQZ=T$hEHvXWvs!*Has<MG@3N(>PC=@=t*ivg5dZ^a&?*XK` z#r<)4bULDEgWGuTTlV+BHIZ@!?uQG5Q+}R}Zw-YlZ0KzhxCp>A3|xJo5P4kYn~F7D z;$ioB`laHS%ZiKl_5Q(`3JuBfW#lAhX`Q;rEM^hhWsm&2SxV*jHC;=G;hEC1`VBMA z8BK-^WX%<VU1{7iva46Z1C4XQt8A2vlZuT}bw90}Es4f*3%*2zIZE^pK1K>g<$Tdr zq00d+;PC9K*E*e8;cL(H49S}BAm0Xh#_ZtJa!6-X>!@9*-NN+eg2H*Hrf@FET<3hs zE+sdLU0dmbG^89QguQ@$m06E(KEXS#hpM~~hK79aHi{RJTESE54sy1f-Sm77tqm_a zRHpFIC~h($6t0mK>?whmvJIM_p6v#w+*$nt?s1Kp7KmDtl0v^02yN_+jYloBiAoEk zVHyjNygfw_I#MZuP}kBF?GF?|EQ$Q8PZ7jFm&pmrL?vDCneuk3OC-C7XP^vHYKK@| zt_WiILJ?#Z%t*H^;04l7#Cb#P;jk5{n>9rc@1KjstowGW<z#hal!_pD6)qJ)_`(!H z47#8Q(kKz*S|CZO1p*d2V;FSOA!&hloyaM~|8W@wXP!C=BaAuk9j>nSmTjXXEt%@N zZCG$U5atl8A?SfH+ofd7&p{8waI~6QD?Jc=N=pxfV|`V65f9S?k)6!Au?|>RnjJEK z88_7u133HBf(ZbP;&8&A3MwK26FM_&m-jX2#7Zs0K9eSh^#=xoG(j5SZt;=eFYo|b z=2bl8VI(IY248nl7Mjj%D(8P#1-J=ZY^)~|&t^rMzred<7E(u(s~!>gIkS2UWESuJ zLwa>JF0eyT<h;*mAiQtunxZ07ZOMH)VpL>Wg|E_vnTD47v&t`~hedt>F*Y}I4@k-B z5*!EK1?`sCJqJ$jO3!!TctYWpBgy(&G%iLWpy45tiPI_eRhB>IIB+kPJDFs{_|udB z1j$I+NZoiBs_s5R8)bhFA${2JD^Jx{u<G4c>13U~2Cp!4?|}~_<?z(|$k|8V7@4OF zI>)qsD;x#Cfk*C1r+5H0`qG17NFTw2;B+)YiP@!@IF?c*@RyS$2MKc_tqRB!VZReW zXk}2kctbfFM&jD1w%!Sj!xYgFg-wZBi*duM<Ytq1!3>+`IIwC}BX_`b(ZAm;ogN%Q z7u^js;%wJ^>0+D{aNj5%HMXKDxQG_(va;7}YfVI*p}<vnm=xoIT(^;DVP}j|!!&nw zdRz%*Ue&o+P&?lo(Mxn8zgtH(6x-p+ibw9q;^rV80&TF@*_H?6!zgR*dH#d>wk|n4 z<%L32#?oZTsuYU>5d|Cu=M^2lVnC;hdNi&Otdi|3n2Q__xYJdYyR9whYT8cb8CW>T zYD92UTdP`-rNIP8IlWyBcs%Bd>Dd5AWCl~Oupe}(;undB=&D39oYMs7@cpSNk;)YA zBE?Ce#tAVRr9Db}P#fVKYYN$=iJ)!I#O~x=U#zV%)y8jZANm68W<F;R50nQ1tqRjA zVU^6%O?<%gc<glL5S2uNFvA~Yeu^^`_8rkZ><U7%3Aq$C1eocEdIHJM8*Iny;4$1A zfK{U-O34o-=r&<;88}c%*MYFRTVEx9k$y?ne-xqSCy>6<>B1#X{WseX`<}jAD~@}s z{E#%pQN2!8GsHg$jm~X1-m9e8W2CY#uIG-jQ>j~DK?(y+yW}0##80jOJK|vRaZ>!> z5|}YnP%z@mE7A?c<w#>Lu*-9*F%EMVrk{z_;4g0~7G8qLQ5Oge-30_dVa7v1oi&oA z6S+#tiG`+m&Lum#xR|=?&08*0*kR2+ky=PAA+)0*!^>1YHed;Yu$1jhe=<b79{i3; z_3+DSw-OGNlmTJbaH)_?MpQx&7TAAE`cK?B{HH-S?pd?jGeMvOEeoCei7Q`$s|IKf zHeF?CTInCK>;Q(*D5?F=Tx=BQZY*|OiT0KF^is5X1s1AiiP^?<%c%ch6VwuLx%ds~ zj&_QPb!b$vO<Kyl_DpNe8r)8U%{Yo8d3<RXbG$N~@u22cO#Dh&1+&9iS;0_fg>;Iy z1A}R!VI~%E6&apbob`?hfrDU8W0xmV1?&BK=7=xWsRLk^{#2s|+~G5?n^yZiD~s;t zJO7Fy=0uP;pbu@y2e<fwU|Z0XwrJUg3yrJ0{by#nBMQwb#z3<!=5AyopR%fL8Zr48 zXx&Jhj$$3L%R$m<5sI7|x>w49%`%p;?humTv2`Wc{}>)q3|;p4j%{Il3H8C=5NBUu zT*${KOFn%2Ms9P%*cWt1CLfPBPco&qZQrqbD!zhnMLHmeBgz!vKlmIh1H6}*xxt)# zbZd85<_5z@G&dNw&2-q!4d&DhG6;(VGYatF-iQKF8OCWC+X;*c@Xp=ZI5wmU*l<3_ zj1<gbK|VxSX!L}i@n2)3Mxk~-R3edMl`Xd3lvPP())_EEIEmKsNV6jBZ|ttxuwa_B z@{!w%$D@s1RM@oZo6?<j&+uZKcqzT&_Z8a5sslu{EbkRj-ZUKNLl}Z=v^$5@8Y`Dj z&M;ms5Isv!6$mgMcB4siCK?682F+-}ExSMllc+m7M5Z$l#$W4k_)RdQ7>LXB;m!1c znX2P9%CjCSFX#@2DzbMdl($bP?PFy=ECEfMa7fxTlX+3s4A;2;m^@FC{;o_jDxse# zCb&_N?U~^>No*=KY4ue&V!HPbl$e&6X?QhsP9v!MUNdgu{FwH38<{F&c(uOE-*nF7 zyU5iIeAnvj<^Jw}b*x1MxI?<uXto9h*j>nJut&>Jjn-9h+qb_EVvx(upW;$(;F3o% z7-u><$6CyH4qiNSX}Q8LWpLUO{*$Lkp<Y^9Onq9c*^Ug1YPFf4D6b8c?vvMM;l^6H z`?A{FR$B$N9cRV9*`T&l{0QxEn#_Q@znx~iowLA>_DHtX(9H(J0a7}`ofLW1KW;@* z=>&^g9;vVxAZ3pg5@-WT1X*&eD#H#w$xwN~C!71*S0y)8mFVreRTpJ@ad+R_p1!w- z%C|7+a4dHuC7f)9wWfC%L;be!Yn=E0dK*_0X4&2_%Y4ppiC~-=Uv$(r$zg@hg>Z}r zs|d_%bHT9M(CEPe8yXTZ1N?g*E)k@+{nZ=Q6pxf|Q>}C^te{wya`!hqHWABML#oxR zcm!g{LSpN|zO6k|M3sINciOmOuoVKU7D9pVWK9<s*Tqdh$1$RD94-#08(<2f4tPN^ zmHq~dVFUnluL+ZXDrI@alkop(5?618COEYVYnXk7nDe&{o|J5(A4=ae*kut+=}r5^ zNy%YUZ@?=*-8{I#NXkboNBeQVIo_)DP?F=wZK}y#mFJcw+-#oPn#8WtuFRi9T+^=l z<p2l_ISX6QbJ#=*>~AA^2G=>6urr3?%=Vc0GK4~K1l?vqe1Pu`Prx(J{^-?m5hgVu zZ$jKYq!eTbvr5^-oP-6wHVXg4=q-cT7xmtqzn+siE8yYjZGqnAe=J|{v0Fpw*G#<6 z%oLs9%GEULMvgz%97Xsc%~6O0*+c*Xe=(i=`~nd+U{*qrL?V)$2N+&l70z+sM+RT_ zKKpCv4)fXK-Fe&bC?JRzZFXw&CtI5*Tc~N0F@N&6FYhjJ70v~f3MYE(V*0oEIgvW& zu;EcFx7S9oKQaD+HuA#>7ak-qFG(ecImQnHQT&3aEC_jga>NKTC?_S4I8nn)Myi1A zV?GLX!vVxrt}PTRho(0Es{_+V4$3N~4@@ats>Hw%^)gMvsJ`FRL3lk7I-VGyE5`K6 z^Oyt-CQ~;OIl4R=oR#IX>yCbY&u|~Vht+1><D+EvaKS0LJ+~=Jweg3hb9>f^Z;^B3 zFs4G_^(<jIi`4^pZcz;SJ79_woHYCf($z5?t<IyfU;~!Bx;&qZ!2{clrvy<gXY+s! zcszy`WAiLS`_2N^1~|E~i;p#f%Tw#rSG2EB>y$HjFl^PozOHF48jI)Y0qqPPM@-=F z9I*=>qAph49Zzylwf(%BiBNXLl8aM~FsB#gD^5;77bgUO(Bx-ga_e>K(C)Wk0BntF zceb%8uee&=92nD>IAx<6Y$t#|8lndsNrDCmsuRJN4qORXJ6c5Io3lLY5;R18x+AcQ zl+rU5yo$+&AnkmTHtk%HM%&yN{-h>Fn;3~w8%Y~Y1WyGdVi`SKv9lwh<t7u_G|#W3 zNu}5bzf8evfmiIZGxWSvd;*&<gW^=EE#A%GtG^zAI~bL+Gq#C~d<(pg2mL+Y1z>!- z$@{?kDsGVYtm%R~lZ1K8*St(M*IKqt%OR|{OiL2!T>V<ArlFdUj)pct<aqb#<TRn# zMUqaACl~s4F45?fy?3G6MDGI=nyvE>)>>dXbwi>snq2LDlPHYwflaSJo4}DnYD!2e z_|clX%=C_ySy`wwbdV$*wXRn3Gv2amYVxyjv7&4?CgSP)eqmX5&Q@&xAV2FDo`pG5 z&QlsQ;TcclPT%@fe_nTv3)39se`1m}dC*{&r!OF1r-`F^`i$X+a-?UhL@#?ZKAc>h zhN0Zhm5pF1m+C6aLgD{Hd~v@Ma|}hG@;LMOy&=|`5=3~?QH!3K4%k#IJ;e}bk&Eny zR5Hp)TrzQcFy!0+3z{0hNJQ!ZZMb4QaUrF%o#OBS7bTjyN&Exd#7D_|#ENm37_~b$ zTk^pHj-uVaEy`?k77PD5RLB(`$_$UlcInRYIa|A<x^#~o@zOo2b<6L%F_XyhY=)J8 z0F|ANt3O9;cNk_QH)`=~M&AT2MiZCkqniP{#r-wP=iVN!<?W3ZbVrKaPyy9Vasa=- z$|w$9Av6R92zvM30nyQeY<i9W>+f*rFTX!BP~qZ8z3<R>IIB;q@3Zz?{tbFugs0u- z;j+({i+T8Rju$7R#JU5Qb_XBMJ}j;%uQp$<hfHUW=Ejt=SF>_g@(wEpbrr7uCcmaM zOH!9g@Th&=2&tFw;5=T<59Z4CE3KsA_MivS(#nUU#=@Dwa?remd+8i$>KB{3TE$gz zaWD67@r1bRz~J8e0-w`1uba!GdlCk)sa>OSG3&*ODcRN(OSmvBk3OHURh8!gSq%b^ zikH{SZg`1oN>f)Mg)_alw^?(kDt6rasi<gc!#3xwB?x!pC1X6<E3YR!5rw7YXU4d` zKN&M7c)dE{B1Q=$jXlk@N38B8pn+{RcWf+XZVTdZ43)|nwP4fYb^&549}U@Nmw^1s zG6%o`*_ZYJk;49Ngf(rHyNxi0ZSp`W_Sm%QDaS6k>kKV3AQ`u9gfFY_V2;aL--gTV zr@V@QsncW(P~r*QG;?!PTJ~6Hdou;($iH-I+NIV>wCQcwp|;B|st$+Uu>~kFU!;Z2 z7vuJu=7E&fy<ZaaL%37*9*H37=T5kGjP32OWj6W&g-QtX+GeXnTs}ua1x#ECuqeQM zG=UXXb=&pM_*`qgflG96et~AwJ-WhiYygj@fUYJ+W%LhQg;&r8biKK7u}#<MlL2Ts zfVe)Go_JUb293bhh#yFG1^M%4yx0P70beY%;nY0W3<+v?+S*0vfhc+G1~Hs23#V(| z;Q$+7=tUe<?%*@>y*e_SCr?A&j>8F|8Q7*>vDMVBwrPb}HZZmEOjo)y&9#;*-L({^ znFxWdbjNjDD+BV!HT_NLuH{O1CMODkDl>|h(j7NLaVcA_bk}mFJ48vaFQs(X5(AeM zGPk<Yox~#msNYQKPHV#sayYN1bO%jO87bZIkkVZ<DBa<IBXVszDfgRb(3I{5UFlBk zn$n$i0aLo8MpL>&f=yLYy5k|GJ04QH;~}Lx9<FpZcse68L+Os6kDzqNFHb?~F4@SO znW=O)xJb)}gA}E^<`XL2(VQ#YwKzEd3KqR7-SI%_u2omM<HeNju4}~&^X-jsLt{w< zVvK2unGu^5^C$b<8Dij-zS`{Ky@{g;!S4;2@gc00T<`q6F$rV$T)16a^ekjHSAu_I zN5`>(2BoKw;<rv`16!^Ozxa*~DX@T5eVWS<GtF)}k4{S>O!~f6s&KJ*6aY$cVRpl_ zx@~JfwAXqHJ_;@U1H1RjHQ0vY`yqXRG@{4ws%>d_6~>Bu!D-1c2GIZS9+JrIi6zWO z=c#L)n&7dpjbd51$;rEm-^st>6MG_}+n<DHkgy@iw)FFqMCnPl4kb~7FyxTLHr6b; z)Z7lW!TxcBo_A8yNg$XcI2VkzA?kBrwym!rYc>Bpd*59DfuZ@}BuSm#;b)3xpIa`x zuw1CmEURP%8B^GTe*Q>Na+G*rcQ-ujoq-2_Vdi*u10J?8D-BOG@Bs1CDE#Lh9*pk? z9)`J3nKdYQ5MNm<)(l2DT(VDM&x;7b)av#$ljO?QG>?2aifBZ)mfNdD_a#krl6vR@ z#;-WfFwbc0?RIDH5-^*47pvl%554O<fAh#!cRdnqm83>l-}}oiZvM)h4}Ro3%0e28 zufFg6<(Iy2`?X*F)9)%Px2%8q`a8aJ<KF!rc}Q8t^V5RnTsh4Q6-Dfs^IfQqYuV3O z4_qSnGR8g3EG2aQ7;{wj7Q3_X8Ch5|POiRMDsrp0bfGX=cUy5Fm|X*5!Ao{|x4D&I z><g{|YrHR%G=u)ipgX^YFzs8r11ik<j_K#fHF;-ix6L>FIQe+Im0~Ku*XY;ejjdK{ z?loJx4KHIAv{eC;K~OWIpK@wf1($c*TWN-m6=9+=Y2W3o@<*EPOlDW}qrS@l6aBOD z$M)9A6Smnm_Jazb#Be!fCQsb9l{6(Alev;xp^c0HH|z<?9NHkcGx`3{ZoB24n{WSD zf(CGv5cv(#qYW>LqOFr3-V7~}Utz~NoJoj44t)`ckX_X%NbngQ-KQMO%uKsW+6HXb zOaC^SrNJ>KZr$RO?Pm#V1py?=RYSLz7Hf^5$)in2mrn?MdDV&Oig~)=dRjcdl|t8s z>|M--`ael59!Oa^vO3et{*?16Ew(`B*=KyjauBsgzhUqg*;DLz1lz1b|KDeV^9!hA zoH@AOq<!n3fH;`{CqW}RSZu3(poGS;Zk2JRH!c$9T7wpt`x<Y0<MH&yp-%B33v=17 zMtmFKrA>DDd#G5a*B<q%Lc^O^*lP05H;Xqj&gjyW2#`V*y$u@N>Txo?QC3<7uTlrt z$M#78N0ayKNt1iU2zUxj_8LqJu0MS!Rv-7K8?vuMsakKd9mZ2}AWV_jpb!aYg9z8c z+LqkZXmxw#MdK=L-BV^CgebSlK_Dwb`!Rqo1$?}oF@n%oj#>>!&=j<Oaw-}(goD-k z%c*L^4R^$Enck!g3$v)dc9cmU2>8i9{xZ|XW@EL}0IF4-Q#G9Zp@k+cdnx+b0lLF& z;h=ME;(-m3-nGy5!=Z+#_5;nhCF<vZtGwC3$1IKqqipjc#+<Y$cFZ7?iL`%lup_Z7 z?29Hk7*O(Z?7%porGYk=G*0YhubW9sd~>npi|1~%8)&Qe-_D?Hr)X`;+kQEw9mOT$ zUPvCFBz(eMnW@$)E|TO_p<#wMd0`}QeT7pM=J$ExX&#C;LhF&(V}{UfAFesuD*hLR zR%sO@zl@kl^3~#%sInDv^$I(O#r2hk7~^F=R2VA?*-OYL6H?4HTu>@RtxN<*v1Ol1 z3+X7H<CC|@b?#W{bNsQ^A8V*d{09+eX|Y683hw%?FVn(iAnms>1)?y)R;-GK88j?^ z#K=gOMgyy&m<*dR9I;V^K{^tN0=7677<(gyUEwmydz<(BM|s!GFK!0NViipcY$*0A zeb-+TSzIn0=>Gfh@`T!zOj@Ma==Q_KxpK1`MRBAZIVv^}o)U|AO4#F=8ed~-91j}# zq2oW0DYsAjo)pr!$>U{=I4Vq<Kh2;urMaPQvrj_8B<O2p+Zr}|(&f<_)u&$mqW5yZ zQ3TB1QN(gK-jrD${UXj%i`0#?n&3yXMu5>)aWeyGVbf^~DoFQI*$Eh5^FUmQhHIXY zk^+LA!^TGP$;@hKg>vE=*Gy`{op_&MfXL-9XUY4Xr@jd#%cDEu5ouR7`426IGWP>< zI9a?PMP*l$q`tl4a<jPq%eyOc8Z&CCYJYfAykY7!ngpd~yitH5=CCy`3l1~{?DF4I zO^3ckO&#a&n{;w!O-A}qQ-_*b&hDX!eKmH^9)Z*HN;p?)oqf>2xicP%9juD~j=~s~ zP%C?%naN%iL<RdPsm1kxo{(!8OIQ5{6D{MvmSD@W&@6t0PQe7?4Cy+R42&Yc_D!l6 zUdjT&<OTo?5Fku7TPU+XWIaF@8G>Ow4>rj&9kO*i*oSFxvgx#J`<G1I(1vRICCMME z!FJ(+fKyiXPrZl@c%%st8^C%MV!?=zg#ADf8(6YooUNMzrmC1(<nzb*I)E)4YatpM z90{UL9Jw&@JYim+%76}P&A&KG`<erG5%@8!n_GUiZe$ntUt-;GCDa}8XxGiVBzDs| zpr!F2TQ|4-)UBIaf3|LZTG!3npSg8&>rdUf`RLEq&3~D7^Azc{Tb{Xf^U)vQx_N)g zZ}886$`j1GCWkLKoSa9v;pjLHH=OfGqNJZ>9|?;l2^XBzTrm*yrFORwt+_mU2_$$; zu#L)7ENP*IXv4Z(Qfntl&#S0dHDBCypm$TTJC8N!7mPK2zgP`_(jW?oNE7gN%r!f9 z>5v;RnJ#n^{(K$~^ym3S$o&jKNn1NR)s6|!V~>Gn?M$KYbYi^Pe52y~vhUgv06neS zG=dug;{dB)I#&1HIp7f|YgWnqt8O_L*`-4&u)4n+tl_#3_W;$|rOA1i4+|j<Brpc} zbSK~gzBFxrOCWUC9S%Jw$Hzsz>lTQRD*|p?^4Nq{l=?3k3?P>A;FhDytNL2IwBTa$ z#%e9dQW>a>(?B6X?D`c_e~ikhKmpYWnJOW@T|9UKnY71Fj8Dewg$tJMGGW4KPJq{- z)g;Us%URNMp>rIA#4x7371&pMrAo}|!`3Iy(W^Jz(~O73=*lkW#xRN{rr^#m5j7%1 z5EkLgnM)#X4Hf|pNnm*pr<%eGq^M#XEv{1B30rQ?qxo-ZKoU40LNuV;7`!S|;3jl2 zpJ6>>#&LxV$Lu$`tRBXA1ZEiguD~5b(p-E4FN#w9ZDVkyA}!;OEsvZRrV@wZ)6v0E ziAG-uXMhdW7+{0oa}PWnT|Bj<hc&&BQaFIfmeH+(d8N#0K&k@+W)~*r7QY7Wode7V z0#xj~p}@Wy)b!RjG85A`#>3;o9uH5DI}>lnn0VDEIOFX5WJX718a7y*Z6T5|S_-`~ zTj4#Z2Z-lkaI`Mwh1;`KuEZuBl$?Li+?tz9^Fd62<m)_U`NN4sA!9Jxnk&|Q)P-vX zT0l_!Up_S2X%Dm_8No=O_~md^jGd0>(2i29RoQWi8B116kXV+p(WL7@-BOLW--iT` zrKn6^A<-R!S@77;i}^H+fSUy+MLMLo!=&2^ZI5^$1Gg%lNxU&Q2aepoHRD(_IXBTp zAH+%Vn;S;kQG@>hHJ<@M@kJ&9j7$yVH_K!aqB@bATF@jb&?r7x7Vxl3mfI@6Qs%aM zHK4aw<_=g4Co4OMK4NHXs8F;j%N=GtE6F?*!w@`GfSI_?0kfn7W=RLkl8xeTsKAm< zi!o(Mk8x$mwl!wSG9DC73|N0GcQAyJB6rC8W4XiDA4`r{e=Io~Vp36dj`hcKvtAQ( ztv@W(Vk%LG>X?pun6{*M$dcY6OE!wXqC=MSs9Kh6890_~8@!hE4q4J8YFTp7`ew<Y zUfE&mo8^x5DjT)FS?(O`n<X>rn<eL3-z+)L`WCBi4fTyli>OSDHXE}q1GXi7%q%JG z)R5~jytKVewE}P07~C-j|9jua^f&f3qKoTzVYcfJv*Ycb5}$K#cTDZFmb3%e>0)Az z8%?Z}i<!Htnapu!uHu_Cmau*4UoJ;|JQyf#GCDyPV`-7l99DU3<;ReNg<eZ(*^OYE zCu<Oy{3vUIJ|W=;A3tJ+BNN8~H~Q9L(e0=pL9+7s<?-lQ^T|3!S*%#?edzk=t?A{G ze1YC%^+ngJSV9~$Qolfm9!rRc+Ky%ufqk`Eqogz_3xIGsHQ1``JYriwc3@gityH~6 zr%>I+7D?S5i#eFET*8EkZ-omU-42Nkq2T}WjS^hvoeT2zA_;0@3epffbH3JDzzA{{ zqq?6<*T(AeqmDO$c$R%aGq|KE&bRnu#d)e=zzl0t_YvE}JeSJRWwl{3Oddlmj85A} z#Ox<WeJIRwQX#NVZ=$U*Eb{HpovYk=xbw<{X<2b}Gar`B@$3e!UQZaQIr%&l9`#{q zd%4($%xsILeX8S&&6epP3nE5Gie4OWmDT-_22i6Y1s#5|FD=LecrI@H7{cBg*RZuj z{Hwj8%f?qOn@)xZq~63!okE+%JZzkpq?c{%63;CycXFnuc`{3|pcf%(!^rg5Fs3Qa zN`itZm=N3Vy+o^y6@&`uM#+E4mdVq$doPi^N%>c7RBzN+j2mT6D*Z02YO2Y;H!qxc zRu(`KIZ#Vg_YL=6Vp8YOj@anp-~*{X)7QX*%-?IJerC52)&r~uOR(gd4odZrru-CQ zBM_P6N?iWf_*gC9aqlIXdelrRN5d?cQ1+oOToSC<Y|2ZX#5ClGj!eZA8Ur{UC$K7i z&OkwlkI}9p6FnPhw5qRFg;upveC=Hkf<vFdt%@2tJpsZ6D-G?q_mXY{hu2C|rJ30Z zY=@5;@oKRYL0EC{3*U>zB3rB!CFV??if{sZj1DrcGh|FhIzaxk`^PGFc;r|F=wv?0 zJlj|t27oZP1nd-`F}?ULy>wGIV!Xi%&@egpDNn~tn5Lb1j0KwtWm*$FhCvc{2|d6` zr$i_?afE8pIYO19(Db=6gl$d|DDWA9K1F^<qfMi=XgJYoi;FD}b1vYgBKzuzx*>EJ zWo{9}UF5AM*pa_4ZXg1WUKIcIk2*$*x9h8B_JJ3|P1bex273n}VqN@InYra4h3Fbv zNH6nuRZ^MIWmhYJDxafFBodG2HGsvt|A8WL_TcMFS=*C=Dfngu^A>B&!K6?ROio7w zQ<)W*c`fq;`f}Ji^vP9#Nl62fB{~C4lPA@&naqk!-56&D^UrEvY76+d-nk%E*d)^$ z=NdbsaU&k;jW=g)oKI(O{8QGL<A_2t8&~G%R7k{SIh4w*1|4-~!=^I-QYG2kb!9Cx z4R+?$4A><m?3;$OBTif4tcbf;jg30&6q*UUO=kHaoY^?Lm7Dz-)gKT2bJKNH<(P=I zLv7ruwQK66$6{N(M=6OHl+Q6P`QA&d2m}Q`eAhg+g;Iy@#Y;W<(qzK_QR-&<oc$m* z5h(zqY=#8!@itH)yo^n4glm#MfhM>Fmn{W-FOt(2b<@!_Ve#s)Ljw^wxI;IJDNkx{ zu|%P}d<Wsd_p*hRP8P;RoE{0VW;<S5lmc39ys&R3#S=i|;#>+W!CBs)eVTmrACxcS zk(+_93X845L&P1AVcJTh03cSDIf3Jq7CyI#W5!z4&{_!+z-zUN20V9Fx*lx<TQ+>} z#elHCSh^lvUri8nIW!pj3eh3LAd#aV%c@Mp)H44k*DI`=qgAnJXm#}}GgP(>RvGEJ z@_XdW6T$tZF-?-yPy;;HjHwywWWxW$dIp2M#dZdfovSyD%EHnGb;4}#rrAR($i~ie zu_*_bUT}UWsA2WGhDRGo92vJx6jmxuOe)@vmW1@py#|zPX(!#p{w!D5#-tKwg`;5~ z<AlzMBl_Au=j9-OT<L`F(FHVti<|fG!}BR6v>aBc!{k`0cmEien!BFoC~!2ut<vH6 z%rG@?erPubnQKlw!%R&E6DWyUrX~ix3A5ldzT1IGVf$$LnE}jal%ENB0kr=BE7RA> zQL-`*Rq7Yd04r0gt)G>->v=lxew?h#AIIYO($5x$ui>BY#qs`UlFvVLaeV2=zBs<1 zJND1vikfROR?N1U+YP!={5D(+?mnnWL$R2oBtrSKp39xDb_Sr(x<Quu#@9_w?V{jc z@W6Q%_Aea8a>_tZDI;=7JmLvVvde_$;4(!wh&T{pB%BE2;B(T9gy&Qxov@>%6Lk~_ zIot@09;-^4i5CUUmks6oT?{Tx_fU!xV4eGX5-(vLs<DZL0EEueBUZ>Wkpi)t9xDO$ zTqZon>cQY!(b&8sC$^UiId+DVLrJ*b@Q`TZG_Fsy!2@;!UTtv9FB}4mC#T^NOChiO z?y~WagA*gm@!kYxYezNVvIMrW4RI6I$rOcEfHZHKJe?AfMyG>n?*S#^H^IrFtM>d= z_stihZ@N5Eu05$+?9Ybt^J6FBAjY;YfGs0lK5CxZUYA2{DQF&uOQo)hJ9iO{`n5(C zW{;jA@=3W=zs+63#N_5&t5q~)MbxNb+s!5EAGDIT8{;6hVm8w&M2cLq8}N|OClz&U z|GRQ*u>JyH2dY<&u;_Xh+MS6ms;}{4q+3J!6|+xxgZg7;<{kYo7+m<N#w*8$>lKdh ziPr$EFNVAyQ6>Iq$QkbYdbIvEF8XDQ^(qI#)Z%4#0V@CWlshM<Zf#xxwD_x};>#xw zw)N)os@T2d7k}eJmrqXJ^x@Ck`_CIMADg3Q0sD!n!bfebs?L$B8dX*J(>WXd>9GBI z<)R!W<=Oi4%0-22SmChB>n8<c^pzd_Fa!lL%;I#S-p!dqApDw1W)JbU7d<t^mo;>r zCf4nHGeVew^%p1S1dNX-uYUq;AGwNW3fsOF;bzO+C}47fgC1SV#LkBA(-tGJEiN*| zE_`Z9vU!njJj4QD3-@D0VjhkSo%$pBJ5ngI`P%1|SfDXhWHlJgBv{a;rz3tmmeb)u zObC#r7mBF{JB%`T?7a3*F&n|Tbw^Afme@jF)?o|v1Q!y6$C8*>RJAt#fNYm)yTp)Q z5tgh_j3@ZWau&qqs=KR2S(Dvv_St#%0Z?>A;0spydqA*y>LP;V;X|1wX?l2!`$T9d z1Z1P~dxsRNRaVI0P>vZ9Dt7o7zB2rJIQRqRS%CHk3)bItdc?9;N4Z_@e2JRr?+DeH z*pu8R>%`x(Z8)CQ2}G_bul~<Er0`u)0<!}df;q*u-ch^v(A+hZ`Bbod8&@22HDKb` z9<m;Nm8$D7Kthvy5iu;@^O`QXI*r(NE$43$mQa+<5T5@L@rN^}nfRk8hC!ee2BpIS za%>L_$YK(JtPWm^;I%Wn9++(gj;GHRv4E+%bE)haBAZLO=91txsn>&Y&0;ak6>w1J z0Eeg?vxsx-DhwG6msAE!?5Z+zf&fqo-35-hF>`7H{J1rdo3hcdIe>0sBf(iJcFq)% z9gb9$o|B95)m6=Nrn#Q$&cT|1L(!HV#=7Qo*!&TQP0Tt%WFwgeM(FZ^GG}vlR6?#4 zzc;i&uDKJvpxB)tp2KMq#MgkrwPFkf6R3kgsXLf$c@6LKYx9RMBmt8IqnXL6f7~)h zF@@8~SW5YJka~x=|2~|9XJ_v{jZ6^W-*P5nSqi@+%RYSqJtsBM9nu*Hw`^&$b`_q2 zQW^DMR(<t$OgC`RM!RnX0LoiwWoY(zTcBkK)N5n1dL~w-moa3+{HG(b!)CQS;$YRM zgQ2#MPH4fPVGy?Oz-nX0?{Jpgq4&^%rbs6+`SN^(05s?{@HIHmKu8$b#nk|9YFITi zqzL9wajp!ObGjgiIhxNAEy8@-prAkj(3ScT+cTRYSWH_@M*C=d&~A`iOC!bCRD$5M z?50LSb!iQidHL|k(I&%yVp3r1luNRzkd21GTq+S7P#?y-B{9T6NGd-=#RKoAw`0Zr zn_>0rSsM-QZ$jf(91l6KGwvok3vSoB?q}t8p%G*+J`D`n+=QGKQmmB#6kJ8QVz=1_ zzYdiiIpmhd8r4>uY?Pwq*(A_R7oMU5zp}?sJ6%-OUYl8)I2g_1>n`1<wxj#f*lcn- z2_n61`JfOqw(A%ZPSmtD)@|F5Qah5L2pMD1S+Rxn$lEff;z1!DHkkUFITf~5spuDX zRgt&PqMLkPnOfP8adGYY?xla(!^@5ia4J*-0^@@0ZHo~zYU0Y{AS3*w2m^hlE!LIb zqC_M~OumHO`Y?fc7@wRl<eP|90XH<X<S;p{BAc9wBTl|G-W`(txY+!P8?KS#V?3mg z%7^@+u{u@5$v(`n>M|Nu>v$0=KluOP5Z$WZ4r<IH`jdB!{fxttQNT#<7QTAh>$UyO ziV%_7Mwld8Xiz5q*2LXV6{SX7cPa*P%s<pBHf_k>@;Y*M+SapdL-xrf<&4)PvY0Dr z8H<JqZt+wqC4y9TLSWmot5`ItoGx%ZN^7BL*dXlN{!lbDu{$=K3)>Fve;Bgn{c9=e zdtSlWaqwZbH~~%ifYR)j+FNt;L}N*I07B6`z{j@2!{@lv(;dTiE!8J)dtuFa1LBC6 z8LHC5(6C(Dl(qZKKuQfIm?&xVvCOrrVc6#CVQ9Q>tRvm8sEVDF#yAlDtqenxS{Rzd zbhAPj8b1Rzzd<)myP5^Oco&KNqMmBENeL;SM@Nxpyju2V4pE=&uGf}II$#^FkWlTo zmc39tP<G|?+7RlIXf(mt;@rm(UUU_ShMz+u8bi}+KCdFtSgZhyP(2b2mn?0^ngz?I z9~8^XZIS_O*2U62p&W2B{vi?#?I<RXNEI7H78Ep%2%f$S`%IB&>~n;aibPXJx%__9 zqa;ge<zzW{(9Ju{3!}=k4cgfOjqA!DOgA=nkB_{956p?jH0Pxv;#N4bM#&ekLm3&r zo^{odK*{KMl2>t;#bINv%JJq^l0AI$^Ros_e$ooq44|5|M-r(e`@I!H39I>u;wQt2 z_tNiOQ5LOYCr^~l9A$zlF%u|i`IOPx02iKZhra#bDk%DaLpNQGxQZg2(Lm#IlF#pj zN&deKFC3%`4KIZE=!=q!pO|p8S)6BR3v1oMsG2vDqXMJMR^yzu3$=1u3N_u=gz~1L zo*XXq{Cz-w$CGo=<Ya74UDS;wU_z$;8avVOJLI40*zwDilr2eH04(kM2Bkq8ps}Ms z!=lM#XwxTryfV<>$UsO5)N!0nYK{mNPRu$S9l_BFf-bun_0I-$b@9e$Zm>e%MD#MP zI1XAKFZqyd`acB||K_JO@o)Os#Q&+7_&4{QD>^M-QZutXwX<Iv47q<3QeL;#k<%BA zjzs7#6Lz5885kVGnYh+i_GVFjwqcm-J1$7d{l-hl4QmmHc&5e|a-lB7vGpQv_EUf& z7H1?BkpmmfhHGQhg<jFg(XhfqR~464T$j?yma?#!L6mK8t#Tm&P?ms>Gd8+4OQ9WY zF~h4G-%=H~9c>z@Z|AmNY^#bu?k8+@+U;~`s!Dr@vJ#V9?}{BUh9pD9#+8j?i?TUD zIAdWDPyp(L0uW0vlsLIyI?Db6^L6nKAXeZZ*?q0CiL;+itTNH;BC70#^Gn<|$Z#(B zYpG|CasRntN%!#{dyz_F_E%P`+ND<LQhrUXR!Ry)irRMRZ`2YRQT6Mo43b5Do?1rd zd!hS9krdZdNHM((VWdJwIZ7pZIGZI73Fui-q6bBd7;O#vj24m!M#X!l2HsjVz!?!0 zZ!2FlboDdFs1-k8j1;=|$qQ-}57@ErJFTR7Wh~cPJKPh6PiRxLiHq$RPw4vKnPP|P zo{~4bqtqaFh{YYV`h<CW{NE?NmzBB&m{`fji~(Z+a-!mh!p39O<kau|etb6msq}p1 zBJn8^LNHlzVrN8#ZdeI);Z&?I$EE%f>Eg!cP@{}}q(SE+RC<_89_qxVL|i;H<OJPi znhrQj8dAWti+GW`tZDHuzmOeSF^_C;p?(Fg)3{6WpQou>?7H@ob`ybRv^3pzb>Wvo zwT%)mvrD1fpnx14>2)g$XAR2Yiz$7ft_WQI3VC;-La6&G)5ESIR+e|s5@CexcNR(+ z$HlIlBF2Sd(F<%==2g(K44FjEwY?k-!I0|#y-K(!wuI{z!=Sf-r<(vwh&ntdL~Ylb zV``fvDf#H2FzTpccRB*Dtb=sTyP4g(ltGf0Jn!$V>=snD&#E%tan|TPM{IQO(`j_C z8g&?i<ik0ydxaOFh)ads=4enr^lH`_03B*ECs^#P0o{)uZsMKASevE&qPesdeh8V8 z{mDQwQU24+Jl~du#sZnC2b5@PdM38FVE;){bKxTV&m|fJvfyss?oPB^9|;e<@Merj zQ<ybWn%#hdB(7Lm3{+;kAk+2scZVp=zPZRiK=?K&+YQ@2bcr<%S#27ylrCIlnrM*4 znXZvFjWawl>RMNUnq1grzgrL9H1nK|!S-ZEB}tKMwbfhb8fI;|UZ_fhaP5GOZ@z~q zY`e9H-DFbx+IIe%y3+N@b~8wHmhOXKY?IjD<g1&9G6+k^@{*o-!|<$IML7mN?CW}9 z-R>U%s`f6-J_d;xBD7r_3>G?!(`-+nx@CjMV^{~t(rDM4UygetfTK(_9_@Ma%TMB! zu1cIizN8j5z38rYfN!&6P`osaOZMd#K25xXHC;F(cY9`G#Uzh;oDmW)AxPE*itEkU zm6$1)prt4XZMZn=N`*iTKD!W8{hL8ZCCioek|?o>t=8ZdgZRQcC-EwKkG9w)L7K1O zX*<TNN!E5V1zcj;uc`%;h%D!*2bCu5k$8Ne$(Hz*M#Nqen(;%ZHU{;8cyKVpt5hn- zDrOih^`>j7H{}uv0Ta1+APn5aSB%JXH-H~AQTTO!w@FE8AkvD5=oT%=tMn7QKn`RO z4~tom>FI7U$81;1@@3>kN*`<fEmp4PqJ0@YLFDJ<$(&DVsa|3cNl}>9*(>xh=azS2 zNjE7H-5-69nD;2?Fp4be%Dgi%Zt75R`0GR$`r|i1W41Z%z*F&8)J~76oVUqDV~Wy; z)JxmNO$WXJFJuX+ouGJvmiggK!Oh3AuT_fOPehWEi%G5FNnLmFY4+u_euNDnkuVw) ztV>{HgDa&`O*eF4G`>7eb+=lYG`;cl4;hEv8q?sJX@G4my?k4H!XBFfQ~beJ+zzIR zGgSP`DRZQ!?MP1i=r*u`ZFm8<fn)n_10$nzvbpn)nZH2S0xzubqA%!iV+=67K>1fW zRaVbu#)Ksu%AXix-qsjCM)~0)VC7jGVsy<@exUg+-{_0Z@Lc5ws=r=;ru?gG?S}fz z4kM8L_4-FuKG6F0`bU%>$X&~SVbWL)Ji73dRI25lkamb7WLKV&T&>rydyZu25~PcQ zjEX?2Ms~$1uB(B%G-+^dxOsQ^$(K*%lj}nvE$pax`^-;tw<&bKaE*#!xnv*uHErV} zs&t%WhsAEK?TF6NqC_CzqT(IBN?CagaqOewcgh;mr%~fOr`5<g7(^|0xd9s83$+ZO zF0+U2%0k#z*0WZD>v-TYa1$MAjiGojrYH(%JjdQI>y#?AS8em&DSi%}N{fq3`UDpE zUjB(`SUWtjXi1&fQFO!-bftn6fNX`4NyV~<_G1Ok*kT<Zxfa(ue+)X&AA4SJxtiLm zlo6g8o#?}`(aVrCKO~*#AE=4Z={nJWH>r_6TAk<s<}<DK89+N)ooL&Mg1d|0-r*_f zM1SXKb)xHAo@QxcEQP|{I?Pn}{MhsU!@AJZ8uVp&^llxl4~~8%J8mLfQxJ<<FpoS( z0%B1-bXG6nXV#o{E5f3b$HX{EQ%`_f^zYC2`7Q^fE1ByUg76>8jP;-$FXjfIi$iT` zG)5bEZfuxqzSN|q(yc7^?!^Wu)dXy4+wHY;J>fCb0(8#u=*3vva8@fcwT1l{X|oN2 z2y>xYSVi}#qI$TG65z5TR4r9e@cC#eI{xL~=*s~If$e%G2<WovO9f@8O=NcCju^rJ z4SgJfdl-aevwsHC#8c;EnC#H6cI3)!9q(((U>?1iXcyL$B1tqwxvt>BF$)qzz>c%o z(R2@Qy}m=k6`}7e6@~ENx6nKN7J66x7J9${89*Wd)#I`wyU%lYs}NeCP4GeqsW%oJ znbZo;SSC#t8x;a}hz?Y!hEY-|ZIK!wm0GHHC1IAawfhYW&yHaN7<}9Vd)WW?=i3C} z2F8hCjoXluniXl98UVo+zEA!Tc~cyk1U4}W?79~2+wDFbcuc)XTBbxRMWdaPu7Z*> zo(t|x9!DkPzF+ejGzzVo_~BY(pm1r;esCVI(7$jgbl--1lzr-0+ZQ<D3OPr~-m8dK z_Qi>DmOZWyxT*Djz#KFtmgoZr(YR`mnD3OdNLTz-_12=A-uLU|pp(qsNA3D7vfS># zn^uW^I}2RQR&8CtHDE0)O%<U<Cn*M{y^cco&`TZNxio_6{r&e@`)f>DP+hBd!YW>^ ziibm6t98ea6T{J3TU^ea+2b8mqbpV^u8XlU_^UoY8d^ommmGB-BpV08n5Q`LFr*o# z`BlDl);XqC_OG85Q8UIvYywj>5~ft`^5`6<KabZKDW}^$7^@Ag{rF0J+NjX_BHMJa zh`db~Uz|;;`57&6wKLl=Lz!AQF}_GG7~4cR^Stw|xdSu@(!9AmJtewSll~O6jTog9 z<8x1mU^CWc<zur=GBxPzrAMS(WGq(+p&J|!u%%Cq6fl~V3gf#VCwuGbpalPAjox(m zg#96+4h~L3^96npyOq|LNI7(4G_VTeWHc_<YOzwr28yQif$bCiK+x%0`jydSqW&+3 z!<%!v`S#<FKi(!_ecV9*5vs59CJZ>lUl9Rl+p%ll7?(=bageb3>ZQT9iaLDOZuaR{ z<&EVL+H0aQ`zu}>C`*o=!0R$Ku_ja}ec(r-N87UpFi|(MZ~d<cy&6x>^}58E1_w*A zP=wKAB77^{ql6t*Fo_4L22@ofvf*_F3^}iGF?<H<ov%&0Vf>El2kVrxSo<zdWC04v zh~+BHO{h7$ObiB!Te`m$?^X&d)S^MElqncvSP_h<PS@$EIL~?ueA$<NLFj|W^XF&z z^Qv?FK&m0X?4n?yXboS*ePWUU66#5j@CO%h{;KFS)^E@UZY+%^DzDZha+aF^ZlIzM z`cU+~M%W0#K3Fxv)8P}qhqT{wy=1JJ6&7^&^TGBd5Be6mQ%L)lqqftVg*IO~c$5Q1 zAJbHX9l(q2$xLgoqWcm27CON$${a`i=>q0BOa&i4(+||hp)i(x=5&3!LjJyZE(5q> z)H`i8@$;leuHD92jjf#cLx3bAU_f3)IE3?o)1^5xfKLU^L%2e}j6$2_N6Q2WM=urX zb_UBR7S!&>ipK?ljbFzGS$hJaYaiR%TqYMv;^UfYawb%#JD_=GIuDI}Ap7*`I(k{V zG|6!!2UeTd*@bW;3?iF8^s&6WRo%2kkZP#623%-IOf^)pozpf5q(|E-U_%Kpd)$dk zU-L*ev@IbY6(w87nNpA(gra#+)jn{XOB!{HW?GHgta&*mIMk`Zlm@2q;P=WfM+-Om z_g89V9A)*^Cxs%Q+v+&;BUFj1^J(OkRpN7g&s+9J#dC{?c$ki-rcd!*y~#<6y=~c6 zf4iZ23o6gwYa%PNFf@`2XycAQF0xXyG>`u~q+jp|KVZR_HHSBMD+7$qmVAJ)jgy+& z{BO=?URQ3ry?A`iMuI?fhbH6A=<KF$6qQUA*mM*Ozs*!8>*2?v&E1jp-8P}9YIzui zq!c4}a6LYBaFU;jh{8dI8!fboFaDO+%J6zjbK<d4)^z!Gp3~;l{LxzAf1OtnN@;9p zGMQxhFB%&yzVKVc-rpjL4ri!A%K-oSil~GRHPMu$_<TNZs6n2~1JCzwDi<~6-xV8l z?SQ8t+j<$e$y}%Si_d*0Dn7v<Iv1Tyo1U}pz2wkXvdH4B$trGO@}=8uS4IMgWo>~) zf2zYtXCQwLu+24!IU9<(*|%7N6k=NCwsk`y^cQ%Yb~AH(!z?4gAzC|N*dTKx9_k-e ztk)k-tP^9Yw^>=@`4HlX1*vma>$5Ei2q!mU!?J<W9o^-KD}PFy7x=xm&oI+PEw515 zFw8K(!v~-4`ydnsL`|Vk3*9lJb~~`bj*G7{ZDp)Iwfe5Ak{q>qeeDfXSU-QZ?`J_P zA(gnMbQ6BhIXtL|j%uAFOrQjK%l=@%U@!?m-W+<YnWk3`UXd!2{q7L1ASy8aW8LyM zaPsW++VT|-4gAXAY*#nO`;fizH~TQLv;8!r4cWtSN<qJ9dsm7*(p4CFj3XA1pnGgk zkIony`SR!noH1~OB7%{qI5zs!v<o<TR2E+_OVjhmMkphVQ}zYP<g)KeTzUszn13t# zeg)wkT{=r;OeZ8>B5!%&)OJyrUZ}VB5p_8sW@QCJBC4);zBBz+r8{CMLr6N}Bog-B zBTS(*+~Ez?$rU`13rnkjvKIm2?r6gaz&?j06m{r^hC;~^^+?1!k8^~o6Qg%kNH_pI zvDN`4EBN_PHHY4aM(_2Srt(QhJT-y;C&__;hxDoGm$Vj=MaR9^+q33LXZSLELj zJ1E30Fj$Bi2{233-7*>Cc~8tH!Snvu$BiHc4BYZ)7yJsQz+E;4_^bIsvBR+j^n~<a zOmJG>53xC^_{S5jE&=qL6f=gq1*qHw#f^$}`asMRB;KzlSiDD1#&Nfv^kk==bmcBR zLBbt+W-rl@#OgR#8~C3m(+p4cutR#E`x3z537QV*$&elX|Ji#Nc)zOZ-giCzul-&L z0m7qo?SIpD$A&{r4<)JQXy!gVf<U1bE3NciKE1RbZs608P-?l}6gDP-cuEx%1zWVi zV!;Yt+Nwm$k)YV3qU9iMX$6TIHCE7osI+Ri-`^N>t^fbO_fFWLM%!*9`@hy)^D*X_ zW6n9|nBxIvpmxbP|E8HOaen<ax8IehuAu{#)`2F|G*LuHVAhRA1CqpS1=N(uc|89X z*vU0d5PE|k7VC}R$5m_@8gP_rdVma+s`-^U9McF~%bWt7h^4gnh~nfY)Rvscx$ez4 zKps<h`51>>d0*FihmXsoBf;5P>J^$eQ~q_zUP^x{?Zx;jaX`vu_Nm(7eX<#24)B~0 ztLtdZ|4ihn@zivCz#m6>gdUZuBhRBeZhIb`(9Frn&xjswW++0*YQ2TA$pR$WiPOBP zb(fk?moTDq{VSKsv&%stBhDh8T`IpW%qN|_i-!@O6F1SVhhqNU-AFAN1uZ{YB3pbO z5cAl{WGI#d$Xt4&#_HzflH%#EvI#VBDb8N~WwuBM8t!5lDjZq4?50VsR!pN<+2r31 zO3<>3qO%p)%U(kf)1$Un8;qD&+Fe4^dre^_ma&umUiMLHhH8XWFS68dW?to%s-HTX z&)DtXQVXdk$8&1b7QsnL_3=5z!p=U~ZMzJ|WIn*bw1be*`_G+_VaE4)7iN4^5JPZr z-<_8>-%h8J&mi$)R8sDfy26&cilsE2$#77sTz+e%E@dQ%dE(xWqR0J(qhSQK4}&SU zE7R4AiAK5U@j4}f`F_>ucfwj-;L@jOvNH@$k#vNUg+lDAR(<}=17>qwlCp)f)f>nO z{H%kyDiN4?&sAxxb*$I7?7KSfV^Ln}p7*Mh{4g8DW?!ARPOrXvdi530sb-1qRC6Cr z`)Yn}(8`KOb@t)3SLc54*+ak_oWd8`zRMu=blIRH+F<f&mJbZi)?b3yAvi5*iPSC{ z;;fP?EERhQ>pMi2+9^5<c2V^YqJ5J=?uxv-30)3l)?kak0E+o>7EV<zhbKyDc(wdN zne-(b%2OFgEMET#Of4GWjva_5F-?(RhDDyA4hww4^xm`L9fympGL<jpq-<0g0ZxIx z=mFk$h>)m%VkWnzm8e=kAXA*oOlSjpp`*B!;~_3Z+F)#X@^oYx=8lp@3f^@km33)t z8=K-yK8a;3Y~fFZMV*nfW;DV*UWss9rFn7NLz&Cg9NQ~#ObzTktUy+e7cSnazVfNK z<5zj;>so)8IF0M<JeA#;8qTN$a||s3){WxBFXI7z1t{3(4R`dkE7^sXUH?Xccw)-- z_$>7`f2EX^sQi4@J(Zo?HPbWWm&L=?l_2l|k4{dGCYcGW1!1ti$MD1LruIFJO+TX5 zB1p63dMhw2V_$Tx22Vg0e;&FS>i{)NdJ5Qbv&=V|t>r!@RI#Mm+{W%zEvb@5MLO01 zv8>q9Tf!hm7zEz?ApGqz?&ST7joMGx6=hYw+BOJ;H+>qBJ8y!1+tc|ON63YUq~0dK zz``}?PU8PUs(R89;s3>5bJlD&b0jyM#HTNz;Pij_Wlqy=JJ(KZo-Te7TW!|vcxNHy zk_L<j(|0Y*3C}Pc#kQq9JP6gK+7ZH@Aq^wekt1^7^)bmTK^{d`vGyX{$cy_A_LBUi zE-PDX{Tboa6g?f;TYttcqM+pE{nJMLh3VM7Q^SH8a1R(hIWQv9eFDRAVIRP#GNbT8 zXedB}qrv+73L^p8@d{*EE{;@AKYZpvGYVG2B<FV9A8-{Ss^>Fn4J_UN{5jrC-C;H! zm+c2~l#b@dA~l&1aR7<v8w0hSMRyuL;-JktLif!<in^w9Oik~<&E;p&|9|(S`|v!Z z`>7um=^8LlVm}4+0dtj&6m<WiN4f_2AnEo2{ymYdRXvMzsr&m#x^HP_qxk&J)|c|Y z+RdWqT5B#N@!|{M4bzJdMn1Lu>&eEWQ|a|c&X<Pkho$A#3?r|?KOT|~7T)wciHXWg zV&gRY>kX9937Q%9ud%eso;NuhcK?oD=M0w|0Y`Y#-8N@${ZMqHrO0M)riEh=!KRF( z;l^Q|0J~!zRKdalNJ@^h$crH3*5jLR`8p0o%=Pw#B{%#SZ*sK<TaT)N9ccBFl9!($ z0tLLIs@7^m%T>3=90l$5r1OwJveK!?;bv+s-XtljG$>8I4;c0T>-5FsuNJN|Wx;IY zTmZd4PSE+SlQ@T%oXEjy#4KQ5){=j55F}mn|C-=A;_`B0Q@1FK>EW5~#Pq8!*@Q%) zsqZr_MOj~Rx{OK1FK$x|NkF3En?bENtTPuil}pwo0BEky`6I>!3{oeD2EcC9^_=tf ztac(;7kgWY+EO39Ej#E8)C~Hl@mGy0N<=z{Okpb}@DLsG0*TB3kwC`?(T;b}76}mm z4Jm`ER!F><!usXJM-F4QM&8p*$1VkQv3gxhW+fB9#T}-~u?E9)v%i6&u);(YQK=Uu zR=W^IphU3-3^PCI<<_dWx|(pdQWO;L==k;R?5ev7GTk<JR_11e+@^fd34LD@M4S?H zroc#s(TYn|b>=BdHz!hsaY)Dp-bcG*(smn@ha;p@f(>brV3W`cry>Y<aHr0_i?uGM zb1Wn$%2*gV`Uz!v;pBw3x4dpo?;H+<q0|nBBjQV`O~#ng*%2Z}X`B<_iIaR01gZI0 zDn|tYKAHr<ICB9A2%Z8}j+bM_$MCHt2qu_fv^{bmjy5ikQ|%^dx9~u6YY!nxB0+gZ z&U#AK?kKJ91W4klmI2%4J~`}6j-biX_QWAI$R*aVAjcToKIvA>K?hTPpo8;{@GH>A z0140uVFKuMrv`mofRA5D-(Y;ab<iR%+<o%eWWWKF5XF!{N?xlC2@*>m5^C%ll5!k0 zhyq#b5D%Fas&xq(9=W}ljbGZlMB;L~$7H~xwkjP3S0tDqT!>;hB30|@dRvp!i?%Pq zlEXl;@)|PBhG(+yC4|XmzGjNaB|_Mc^`aAI@aANq%S56`YU%Q&Tr#VYE^}L>stE5$ zH2J)#T(TM2Xs28v4>A{po$U+G>kfwvoZrgfaGYd%3h)B5<)~p8h`VFO<D=arH(fBv zQZaqlwrMVPrZ0QVmTgyU-#L?BGP#ug;}?h33yCgE_Ce*+tz7{^?x(-|?QebUkvpHh zWYgy9nX1gCn<tm3Z+uT)YM45xJcwJJfh-EPt6N!?N_B1=!8ZVCDO~dE$z^p<mXvZM zqZ!W~Izq0HzX~wO+npe$4i5gowT*K%#WYxS>ugOFpH;sNF>6_AvUrKyajtV7WwkmD z<U+}kRgzp5Kt(uWcJ}@;ZxA;%6E3nEC@iTNg~U0&oZv5$@wY8h7sNGDeCEaOHEJwQ zo-vMG>Hwjh)#`vNLV2^vbi25q%x_<A3i-e(FZR~h&O>nB0tJW;0tZ?SP$OS#x(9hF z`*pYyWcF%7=eku(vuF}Q#Aa0U_w}#rm_IGXkcS~!>d5z3S*ARc?lV9`#mC|9Q1tyZ zRQvwwgh$_nWDUn(E$Ln3A!pP*BvdntQ8y6@%Ga!3(Ivo8<^0P$S=k1I-z;m8p@*fw zo%|N&f){Yd0L&2i@S<Dm)J)lJR~rG4q94LEY%vz7WfK--b_YyHu4SF$B(9Dzm!m*K zIO2^|vk*13Nsc-t*^kxSk{-BW<9Z7-HrNq35^fn4twhehEMMJ;Jy7H9PT)vOo$&D( z=!)r)u%;=9ht>1!faJ=)MuhEueIR#`%SYE`)gzSDHswf~nvJj#$Zqxsa^5EYh^NcF zM;rh_4b>oiT4UA`bWRKfWJtOs5fQ;m3s17nxfsGF-`t$wAB;6`PNPEmPE+FBS}C=1 z2ZHR_76O(*Tkw5NrhMkgN{ocNRyTD3<N;Fo;D@yn_cD^MW#&mmwjagj6>%h3cy^@B z*~{qo#bPf=kiQR>>TEqEY4{*LV5IQiP7IrGhw#7jbCx0IMWCanoiu+l(5T@X^~?Kq zK_~YueT^#b!kR?J{>)9jCpO95lQntEK$Ca;bhe&;R81-lVGruS?SR9l6*>p!x*4%< z%VsEKv)k9&6T72}1<y|s2R_x%<Z-(_#!=TT12`}bIa!$TTxeN@Tju1tMRyUgD=WMw zB^jBrCWe*Ynz}jNj>1V8VcBJjG&1~6a;K}X(><3ebaTO@ls8oz0@Nt*8#7BJ&wDLn zGibSu+mQ-mDpP#?h2|6poC%U$?i9v!s1TGv=(ft)$Kn$&l~5*9kMKkvJ#wEO6uHlk z<4Iu2lE86)J*=Zz7L8c0ez8jIv^$i0npw+(J<W_%+TB8nq=&^_$Jh{y!=kV~i-ocE zRh?FzE5^i1(r;Ye;%bgnQ&XthDM#Q6xGkQCE08BQ+!V5?WyTf2R&7OJ1g>CYpIpI6 zz8=(#7*_yiH#UbSkP|YlqeU!3ED^M=U1sFfuzXa#sT|o1oB+%!1K(iG03_Nm4rgbE zDwV*tRiI)A*zebx`5UM@e`C1s_cj)vK(|@$kYpyV=n6(c%Epb9T?96#3+`GG{{{G2 z&r*Eg1Rju{J*niWScK0#@<0=5Wws~72wH5MRV=5sR%(lMO{!AfV%%q})Ke-&ndw7f zyMXK!ShF>VRznmZt6<J<)CXr>3elRlVzU_4L|_pVXKh1`>jD9DWsbB=wABpTctin2 zk6U<TS<>TA6X=GF)BkNAko4VALqJS5rb*Zgs{=k^jvwefIag+M&#DA{Ai|`N72aL? zD0Iz?=r-_c4ZMK0E@9@tZLfv2u!|PSLN+9<>%!$gce<{VE|H~YfjeL{pCFuu+*OAL zM{zPWr=<_WP^3SX@TBD$^_>e#JE?<^jsGoCKk|!iy}WF1f#h+)i~_6W>t)hezAqD7 zpd3Z6h8@YpU9Y|1*2}l(Zeumo1A^ozmZPI=%ggrGZf6ss16~TWuEt)=p@!#VQ+Jrz zvZ*@?T`zg<R=-Faoi1N1_CkV$&UEow%1$5rTDZ1hK5XiC$hMr1FmpV`+hN2WO?8sa zvjqltXx;q-iG`q&P=e-k1tbXQBtOeJj|c|W1S}gieK~k+1x|paxv~v>2-e2{fk%!C z0+P~r^PCIU@K#A)0FhRP%aN^<!_Xcx7$8o9DFtHiQ>a%Fe($3k)@c+uS^+VJWIk+J zJ#0W$k6fmavlwovy1LN@kKiWt;AI-TOoPV+Rkve4jbC5B2+eB!!qBc;B)CO_TO_!} z6>f2bTij9?x72~Hl5KNwOI_sQ7J0bEL&M^sK}VRyLxY{-7Eh@N7Y^_#_4O?eYdRAx zT@Z804Va`|@$PYw^RDFF1?OKRIMVz@ykkNU$#Zx^U}17@gx=DS=en~Ja_i7Mm2H?M z<vwLzA@|*XJCBh26o4=p_vy!G=XlF!^8*}b&1%dW>T^0k!*xT%L5))Ofa}cp8<KpG zGBhN|iHNPv_x2Fz4)kiF4PlD#Obub}u7)o5h9oZTN8i31LJAW5gGJV?W+c0n9XfuL z{lNvmQrxs8J$Mq<QJ$m+C2>XBQ!-ZT?ryEP`o$&(0yj{Gp;hvB=`os;YOPTlW2MqM zLYgS*HqrLEYqAye5s^I30%Q+Fr;p<YISB+Ja>50WKA-I|SQ%d3nV>Ykj302~BJ^5* z?rA2TAC#e^MY};&s!YEK9dqGhB!E>vX7!Rg)8g+Dk!HFjKu-8~m5Vs!-8mOO^!Npd zNv%6RA&@JXK%04y`~45oMbm?vy7;jlGag}>mP?_U7_DS&+f5K^hrlgUi{ggoNj~NO zq#CiO!#ru|o`jc2iQz)FolRw?2nEngsBcM#G>;@Q-1E*4<NNUj6tnGOh-(0>YI0@v zvayK6biJAL;)hbu)KENK)@^e~L!aulZ?;-u+p}+IFx?t#TNlM)S39;%S-&*_XNHj7 zh&6?#T@r8BjlUffl=)G~9*frEO$)7i(Td89I3Y~wRgveP<tmroFL$IXWjNugjwf~a zW|yyf)iUrlaeE$baXj~)m<I{ALgRHCI1ss7IBD>noXFc%dSeh*IILjCn$cB;@Lyly zdU6~`zC?*Tr4@xP-_udARJ6EkZM?=YP@Xaf+!Vh5`h~pE>r?1t3t;rWYj^Cr*@<Y; zeMNi}s_8W)M9u>>`CW{`TYU96WxUVC-*-0MEnE!nBC0bg?&hvEfJ{}ESGuS%A!p77 zmGG<!_I6&=X{1&ZJWR)~6Gmkc(h0w7z7t!_FY4`t=XvUwd>5j3-3g^M?K)wVwDUW- zyqEf%E~*>6BW8C;O0D9G4ZNWYt+hvg8pRVQLqSPp{h*CUSMEueIr4?6%u~FQM5BmS zn{3*b0Rd`QNNTx5>H&&{R2mLFc`OfUnO+odQP$uR-G;v^sH+X;6?z4kbP|r?r{spG zAF5JNt(Xrg?&eUO!v7r@h*;``u4Z%WFSRZ4N+FzqO4(9D^L&-kRa;}UoTz_x%`5~l zGR0f0C6zq}a;71ka0g^-wXM!}&%xbBvF8x^30Wnb0rHrWfW$WOfWD*XDhmfYXps5< zXl(kphnNpE-9@U_qh?z+X}0zTqaUZN`obw!^rEhQw6facb7G!m1RArPb@@LW0S_+{ z@PY~Wq5r-}zyoV=-@^7oTY>S6u($#<Dq6dqX$5{9c6V_F?jzwJ1p;m@67Ygo;4Q!K z@1KC**Gz|^YvgoAQn6{(uhc*~X4+EX!hvbcd!ySx1=r&TyDdljhJ^(zs+caApyJyn zS!QvnCO*OD3l=9ezgZlq?V#u<Yke2H2`eNEaJU;u!O?ujpP^~6OM~Xpji<sbTk|NH zDoE$0;<i=JbU)$MhfW-W1uUDV;=U49SqmYJfhr14crlj~8oVr(Lnq@~M!)*+q$Awr zejng@4Y;Y4BlnSCpbGGg0q%}G>1H3`IzH)eAcZAh!b7<!iqjbkGteH6D(wx_@?cso z0`?T6jHk_Mgt*xK0Ak%XKx8{<7^L7nArY$y0s&tqaa49oesH<s$m1E~2_5K`^Fz+_ zWZcY0Af;-Z*`>K(ylVwKb4aQ|Pc*8iIQgg=Fd7SoC(QgCjzp9Js79$OB1Yp$Z8E-= zLohP$ymogqxzUJ{a9@=W?zoOm=JQ;=+*POFTc_*nf8{#}ba*XhM0YgP5z+1HD3J&< zBa`e6MWGiYtN1DD7#&cvbb5-u@}uJ`KS&?+Gg{HPs7_Aan>sPjeI5B+&?EW>JLtY> zbQ2>bTsJ9jstge*l}v&dKM(S~VP&hMdufz~A`fTA6`W_5w39JTuSgOFD9-rg2b-5A zS;DakPo5SUm(%kkDmDDjbk9;Gn&`;amA*DFLJ>%IKlpNd`o%qXI%ov-zydVa1FS%^ z(tr~|GvP)BnjKS`C4z=J9G={ND69|j$<WG+Y1a#*A{6x>Nr8o$<%q9;q?@P<H-bsV zk+uc$CNae^g{3hJARwIZ#U-+P<q=w;2I<m6Ecmu|sS&4N$kdTDS=UR}s?v@sm7jgq z0tF6;6-xC~6?Rl1&dKq{Axh6nA~Y-`cQgmka7ue|?kJ#ssZr2z+D1V!4@#VA_<Xhj zM|H}uRvMa_&UIyy5cdr=wlM-j+ROAFOyrnyOK*DQepzgr|3^h#sBH#hDgy#gd6#hS znQaCNX_#uQTLMLx%>aYK13qoH9#6ZRV)?kVJD<$}vYUr)MJ9yVKs%ZZEHkqKq6_3q zVa=wF;!>rqJkK(=Pm_Tu9lqUU;Nion0s|%kXrgbBe)?2*cshG2_(MxxF_7AQ<^qGT zn`&U&`o-Z`3iDB-gy2N)m>V;Gn(?4(Wp<2|-mKELTMA%3-6}rvn;hLYpJ_6Yfo{w( z80hQ5H!xoE%)KsPFrY3(0<Suvpw(@4##QW}1&D4Z;24N@0<!_`n84OUo!8II(3blh zGlPKvltHrtW5+^6UYxm2GK!#G(1I<wgJ*I9xhRcz(C)4P|J1^4#A$*A%(^B0*UCbm z9W4a<Tah3O=M4xWz7nlqiWn`K`2z`m=S96W_IrI2w<US-lBhR7s!N&iC1xTN!?IZ* z24)(|ILoahV?;*Ciz|-RsyRtARNWYr>z<hQyef?ys!IE@Dvf9eRoW3%8j%pHw8N@2 zEi|#dL#s5IiN!RT9b3DMLzQ+=l?EkLX-ld!t%R|xd3%ZyzAA03%7>`0N>i7u4P;PN z+EA4yfoZG{w!rggt&eFi7@j6+YD{Cd^fWD7F)fX0zNlHqiNYmasZg4PiR#S^`^Kv` z3o0>Iy;&#;g4(586Fq>$Nc9HNk}zDofiArNR&OARHMx2NMcA2EZzle1Rd1lhE;PIa zGZ2tF7;6tyu$fnHAOS|RdZYV^SQyXgi#922d`3}x5qD6C*gsYKl92;n8N-;jV(skn z#fLhRsh3#<D!U$HQYjFW(xgSM38<@{{A{J#C6HXiHE*iIL+#|Y=Q)IjlH-lM_?(4@ zIumYlR(L2r`v&e;mRvQRH9I_%8fF@2VK>Hz5`$NuW@jlp)OxVPXX^?EgSBT11ol>{ zZlNzc)L9D*52eezDm)YpP!=8?%6sh*y0i*7?$s0ct=Z@|KfwDOflRJf4tQ*+XN`0O z!U&}O`qLv#E!)^lir4*OnH0CkX)yDa(cMoZC~SBj>UTA>5e#sht8R!<(Y*`znpmuw z?X;*HO2+0R$m%yOb~0s1Y!K;g0^5~#If3m;x0r3yiW#9XWz4`K{u|ELLpmtdn=bs) za>-U~_AzCd*rzGWgnB6VkNh-bkey+N?}jZ)2P|PH0!KzZ4hK6~DGxVf6Ee<y744O+ z3ns^O#+)dZnmLRtX5m~a8yG%gnJ_ub^%|Kv<(S2mN;Z&*eKYBA%BrL?>l#Rcv27of z$dP3R@vFN)%bdYFy<Hagcug+ovg)A-Zy3V>_2P{e*gUb+=wPVZE=M#S<&p|^vA!}+ zRcI8>RD7|FYRAsgJ!&{t<1?Y91jbVg68CgwAJX=Xn-@6A%Bhj<<zj9?CTw|n0f#?W z0H++9)ve;ht0xZvx0wG-YzB5rCai}vc~B3D=XJ;H=AB8mR_S$Z38WFn*ti0c$!AWg zWUL<{m8l1WTA9rBcNe2!^~qKjb~VViy7-jq7%|Z!+oCbzj4Uxkt0EBi0TBpndVon3 z2v*pFZ}=0(M4brn-)--@@mUT@Lgao*%zCcLvkEV}IVOi4xmFLZFaPK#BNqravLiP^ zMMDG$!I1L)90o;(eKAuyo~3d;Xhk2M78{bA2RV`Q?!20`NqF+Uooq!O6ow6~ufb1G zEAJioWUAjCdABYF)L1&^MsvHl`@Bq{7&t&Y3c%XE_vja~%I=(_0PvYx4$S%i`r6OY z+^{#t4%ye-7irFVMq%~GZqK}XJ%~??M`f^5LGGbw056(p$|Z?*H6UM;JsBa|YaZ~j zu-7l-*;wqM8YpGoo#T?z=3fMtqgMs4xgodGuBAaWx(sJix0aryC}vE;%HDXfHX*lO zs8d)#3`VFP$1oKY2P~<$@tE4SkUe2rZkiFsI{cUj#hD?Bvmw0W5Noim35sxxaW2<A zsgITLZQ_I;(u{3Yj~#eDxQa<%6QUyATIq<dTfyRO>#W93&&$10lAOaspN${tOt@`v zCSaxfA8jUF_dU#n+kUt+!8|<HVwL^4H)W${6}=Ew={h``n;-e~7;m(i&BSIsOux-~ z%=z#eD$`6{=HUrc!UdfHV1Zmr$U4JR#j_yM>dcyu>5IZsq1!EO7p7pwFUyq9EVe;W z*mia@Ni^Y`RX;E8waNU@7J-?AO@g7V4I#X(#jyss`itcz17CfqPH%K9JcbOOJq`(T z_-yr<g|AkRdH8bmh}5ilY=$pXkFD@^J+doWEp1fic$J2ZRj)TxL{$9~)njHYS!!-A z*<-^hvd1P)v}3VW_*(VY?$yw-RxIyO_`52@uxEg&Gf+nGB}^?^ehGCY#~}uhI$@8g zeYZ!4$R6|XC1v13!76d6GVwZ@tb~y+MR(+OxKWY~Z|$Vfa!HuMpoy!p)0%sdoU$tT zL$r;sV<$RiZ=36x)Q+4LJ%KhTkABJ-J_k!S=D-%KlV{9Qc`p6RS^?;?m4|xAO^k2- zxVeia@B537R1^jKQ_TD%5*G+Ah1#4>BDFx1XZQAH(JLG6IXZ2kWg<>NI)$9t2xw27 zC25z48zSGdPGQ(*v#Zj3xRuQ9ob50h^H7)kPKe%tiNCO3&6}7p<+huOxBhsxUc2Mj zuEpnv-07#&&C`vS%8^R1jC+D6fql`Fi#Pt9HpAV091m=SH-hnZ-fiB*wU4!fcG&&6 zuA-Y`srTqie)x1bF2uITN2u4!(WUs~S5%eQUi{H1L1>3>myuD+x$s&Rz}Q-2W`-wS zQO@`PNzMEutl{w)u7^+m3KgR|X;YqGro3i1)fJDvR5kVs&d55eaLvY?W8T=+&*H0d z%Jp*L(6ik3BGb%my~s3k8P9X*HcQgk-o@gvx#d|Vz)Y`+ugu9p*%GH5+-@SCC?18W zL|7Z1{JV^pYhU{{Qjxv(spE0JG<w<t_f@q!w^9xD0B)23{{}1n*!<G)1L;BMmUp`- ze0~o)M>60#hAdDV4*gf+@I9ktI$M^E2OXS{BMz5|{h$Y(5>|eQ1&*C!u0t3<HVo-3 zsuc>&!JbImMC9%Up5@6T;w#vWv}kuUn6G)cpENk$4&iVHd07N2iuLEn!~6Ph4JX#w zeLx<rJ}`6odm#pQh^2Vp@UiewfpuF!VQM+I!7YVl<lo9OPaiCKw$mI5J2<JY=MK#4 z)g4HEz^%tI-@gl;2IGxbyyOQVxk_=Uf*lwXiu($ozWP~PZO?V1Q?;p1_+tK86qN7J z1AG7K-T!Q7S|7?j&+Pk)My!!*6xW_=A&C9u>XSzmci5b_7jHP(f(;vAQhf3hi!cl~ zlXr?gJk`Pqdzt@zvWa-T%>5^inlCXOwu?`kGAaSDmwC&nqmu8IDe-}edrvX(Zb^uT zPI29-x@EHCIV-fbj!xAvcGj8nBxr}<Lhc%Mg5;KsRfR{cHfPccUyuyj+vuypF1?{2 z%D2|5>dyp8LY%A}MFFl*DDeBQ{u*#)=w)_V4KM_{nzO{J5r13yD*W@$*GLURm467A z3RIEMBXJ1DXO7kyp`I9n$FFgTN|*fF`d@uiqO*jvGH*Z0^mzv}lPI}%@sVH9q^3E; zfm$`M^-o<1^RfGA+qaA*r7c|>7-u1EXy<p3rh~a>ETu_Pfm!$AizgVi0@C^g)FBvk z^FQ)%)Uw`=HBBx-xdb(c1~~Ied0ny@o*U@4TPTJp`8FZ?1;ts^_)>XmJi@<A6B?xI zr5UbqH-}QXxXK?}JZ|$x`54*akK7hV|0Rv7>|*Xi$5^UFeyn?hmB1GXc?lEIZB~IL zq^^tc13>as^0+PjGIT`Pg2;k(?ucWvYY=6D%W&nNe#qRwqqiW=X=T3sPp8EuqO=b~ zgeP-2D7~T4t~b=-c|#C5grGsj5NGI3;df~DSVfM^6_Mg%eyHm@)ukXr914){ZQ&~) za1oEo80FllN{yFzVtGLNsX?OPu^FLf^2onAq%<FH{<FJ`voke`SCX+5vtaqp_aB;4 zX#o?PIfw2)Rk!jtM=(RJS&@-t;UP+JD6^8rxEf$~>BJzwaC!7T?$4y7?SMYOqNvf; z;P=Xcla<+#YtTTkrzzRJB+~21-I-5p!ag3e2K@uHKlG6}s&)IswxvDS{x`#+xNyU< zL~m$P2v|=G;9Dy?cLG&k`sydFpKkKyKTEnRVJBD%Yhuo)^zy*F?n;V1Ym$+BqHT=s zfgo=qD)?O~%!p2@)QMe|8lrP{coVF#NKH^7dmPLHN<qa_s3|aGw8!KGv=Vq=6H75y zUg7DKE*)E;;-<*L!bRfg#03!zq4J^`FMA1YK)Q`-Vu(_M8UQ`rY+CoYksuWHZi9d0 zFYLkNQkW?$qe1B;qVd?Edv%&Q!{BE2;7c~vT6t=vaY#p7<hlGnz~}hS+2rF5;?|Ga zTdS@CQ1MYTVszd)&d{YzL5m%U++&zCvEqgaA+UBVCc4rr+Q1t7jkWxF<C(TT*)k$j zL6R%;4c=usw9R6Dd1JVRvc?1m_|=N3nPhX&dsy-X*XvYlzi&KK%U=YS%J7x$fn^NH zZo`CgTE&p{Yec2ewJklLaaK<>RVK4siwiE>&~j=PZ~uu{B;gRIr3ctqc5q9}1Iv!N zlq55XClXaYbqV9=`eTMIIsiBt3mZ}Jb_SGdlg~%j76x}w<OEe*J&MTu>!$+2oNOYS zSXTm`G)GybY@sH$ok>q*_^72i59tfjO^hZ4cQJ2}#YK?NWt<7Ox7XOH^Mz5@7mYe^ zXY&Ico<-sd6kklXH2i@ki)&ZbJ3a$VoK4QaHcfJBWufmjHX_aN3jt;cv@ofah91bD zme%3ouY=M%u(A9ohGY{#t&t}4d5Wf?Ld_7^w$fWg+@BGJj?z-oVZ0zKYAgQaFa`+m zfvyLs>nv5GOBW85Vf%geB%Fo6tQ8Qzfq+|<NIY?su!XL)g*kTKFz+4ReUPf$P%-y1 z@DVlnSP&#hvj|ktu!iE4E*rvH)_|DA+nLq)u2P}cB-vMHt3(6FmX7knv76P>HcDI0 z)P032;R@m+JFNNsk0*6{`YXlNS~GQ`C(<~zY36_HH~sgKUlFIAhl6V*CqlmPp0Nuh zAGvSCngrB^F>P?k{nabGAFrSAS1qTqngK%f)%pXi!-ovC%fRX$#KKzl@FG%nk=h*8 z_)*+@NS6m|W6-=8{62!kCNQJgSRp`tawEpi^w@5vZRj#7p7{BSCTIT&Wy?&#iid*{ zv^|z!!IkM2<+FO?7gHwj2}jG2OOf@s@({<{2yc_`+UCf}NDH2~5#FH4Nv+}G;r4K6 zNJ=1ph_k(6-4Q^HovzU&LMncN>H3#g>ZGoX7=RMQbR~|oiw&vD!aF0K%U~%NT){&o zU7AyaE8H#!grnyL!92Y!tPgOk^YlT{lop5tyC|L01ydAT7zAjR%maa}(-sH;N-XnK zV3$=3g8=?}o(i1ZX2rg@>A~LfVET%-_A!|lpW=0j2B)Qz7yU8YIGeKKvdawj*{;dG zJ$h%gr5~}F1x_b_HxGaJXIfABONbYWP!qq!qZk@%4Lec<W=Gj54MYJ_izj;~zSCKr z!c*qBQ`=sQ9mG29k7Ur9fG8BoJ5<f3e7z^KVgKPzd7^}Yw@C(i?nWZeG*a`pj;Fho z9(mZjCF?rAexD#@HT+O~XC-|>a!*RNyKv;179W>sBUSD~hHLW&d11;uuz^*4Wvv!K z;8jdR?f5N8PONM^wp*IkD%GcEqkvb@*3jtY(4M*OEBLbhlUKp1t9)hW=!A%zvRbz* z_gql}r?PufY2h04>&5K05zmW?7QRW!(wsNcsy73_D8dl7;g|htk{XA#nOToZ#%;M) zn@p=2e;E{uoTuJvFXao%s$syWr1-ZD_CfmVd=YO+AS*9kNm@zMT5_ZXX;!ZHfH_#7 zuw1~fL1^JNsoia-`R^M{n?$V_Uq!$genvIcai>)%92zOy!cG4KwPY)k(&J1UntwWu zq|S%i&7bOhwQyT}hYPp&z!r-mButQN@>Ik#m7QxW1NQk;0IS77NRF-HVF&3`<$0x& z&j5YMI=PCim8pc_=b%g_i1OkK!@|?KbCs$1?7NqCDb1to{MpJ>YS>VKGXOX?=|NRl zrA&3YZ<^MZ`IM>Z7W$N_&Q~QR1v$pB&1%pnFYy%|x4C!ErvE4V{Z-oZFBP+p>Ad(X zw5hz?J#8w-zPdt_vj>2x)x)}D`QR8-ZTAfZ>;tZCi@Sr+D*X+9Mq!NMDeid9@!~in zNeRhRa`$VFKbBXzDis*xDmwfajl!%M+EL*T!>$1ZJAeQ4UFPwu@oqC_nLDAb^r?zZ z{i+VuBIo@nQaP*f*~n_#)~x86<#i8KVFv^my6n;mj53{eU6kD<gl#ZtEJOrIeJ^{G z{s|x36d&SE;@Wg_5N+jG*<B-#Q`wb_G_%x)KUPufir0j_O73d}>|-ddMvC_xTD4Yu z)^P5h)488N-}gC!*kAf{eV=)pUHKz@pS6_CYWp+wXK_#wxNx&Vz8>x(Fe_4}NdD!O zR4GUpW~E5pHJC>$+F%O1W*;bcmS*RD{UJSE?SOl9Tp{DuJrZcX0}4}oQ7_3~Ik9#~ zd11(G^>J|TVH(`y-WL4Rb+%;F`M^`;=Kaf!^%tJ1FB;+Nn8$lTkLc}2p1&jP(oAf* zuHLsZny+9%;ZY-PkTMD0cWAi(oqwH#rNzgmCR3)5T|L<JvGqZy;ou)}u2LeYIXU&A zcnn=I_V}g_i=T`nF5d}_6^SD+Tdyqz)bRjm>yF(|J39WF=!Zn5^O4XB%Cky8M<qXt zt%Q~SkcFzHptO`!o4ooPRMbXMg}BifnF)m%mx;F|%}`c9JV?Qc7dtf(hYs77^Ksgn zt!EE_0=0HnVWK-$vav$ItKWiGYJ&y{@sq^jui8j_bE-#yNSiT2!G}Ih+a*t*L{o1a zl{Prq>F}wiQJx4YsO@<h8H@W*Gu^KmG|eyvjmdAIr3M&F0+u%FpT(?ih)qFkB9f>& zQ+!)z>Lam}D}`c?YgBC+0bP^J>Lr&_Y2U1e^xZ#bfdoRWUXarI5>XDjtA6a<fl#N| zdy=J!2Oyag;^3$`Vj7l?VitFeYphF)SG3!sc_3r21u`AEb{u*VItaALMyH~79+aPA zFD()FJh;97)BD5ikv-hrNJhhLNceZ}Kk;S}q>}n{J8<t~qLJP=gl(TYnLmGpoJW39 zqVOXI#_jV4Qc-p9*ShbG^xeNmb!5U+N6^DCRSX3!q0`3IG1;E87Rm18Y+(ILd0$#2 zyBDTK^5+NbON&H0B#nd_Er~6>Xy{WRsntT{IVmcZ<fiTcfpE11!x~eYz0{WH4U&D5 zsg2~jUxh^aB}`JOkkr~FSx*-v4{Fph=&T(dn+BDowyaTmZ1*xm6_OB@MTV?VQx>s4 znG%RM`VH!2`#mbjtR;KQO<BbrqlSnwG{dK=yxu3v;Cd_e*y+_UWT4b~Cc_4APtQbi zhY3(09A;^dycq3@4{-@SPiR}a!>LFKl(S6H_wY;#B(5Xq<o)%yTw|OQh15No*5Vg7 zZ5$s?vR12=x6)RFot8y8F;yOJe>G4V2Ybw{U-sw&#m-$R%~rk-lCYcX$e~oyDTv3+ z6^oRbhtF3T8aD8jw;5HF$j~x{Axn)4NGjIpWf(FwBFixB%1z?-$b%{^RkKK{ZK*oh zqf@Uv=B`Dg3=O9=77L-nOaB3rIZN?b<28tKV+|skSc4{rJvPGUs>f#3e4^e~q)Hy! zJs1eoV|h_$6*ngiy=uiNlI)q)$G#;TsU!B-uuAN)*-LFjbth{@ShftENXSG-samNJ zBT!TCma^NUEF$8gPisqUgl|@<J}8#zs$2HxQ@|c|X&-ACGB_>O2gM#o3}ky8HQ-Vx z<}DR)5`Kg?S8p&HCiTetR3K@G)({DMQ&<p$y%hF+oORXI*LBumuL-Y<b*Kh2(z&Ub zwR={UEu<vG+kiLY<f7vdZ|r0nBp#6KwU(+|uOH7=d~>LOj`(va15@O>&li8#^8E}U zh%8VMfFK3bd4Vd5&!6O3hm;kiY-Jdxda|5M(Kh#V-2L))p4;d0DOZ&ged;*znR@z{ z<M>rcym6`BrYhsvQ1Kf|)2))_81fvW%0Uu2aPw5$e!3?cz%5J0?0qm9=*dlRGLqGQ zHPrA9HtCw;aCJwH9~%NFjTA=|f<9ar)`>|k+2KXTbftv?B*EnDDB1$W?p%%xV}2k- zBA+-<&jp-@>-ic2;|uH)OOACU^)%r&tc`6jFk&WPT@!H*R%jrDQ-Iy+xx||x9sq*d z0i719K^1X?wEOV6y)jUXB4_v0zWBH>Z2ibe9a%`@XLoE^?NDZJJM;)XN&A?Xj}OK> zL>U9OD`wg`Qu#UHiU`sWmxsl7TjCuFU7VBR-45c$VNxl>Zk@yhg1=F$kWF=46_AG6 zjpSvBc$OQAs0PY4QZgEXOpOL6TcY@!|FZRETc>ikJCUw2dFH~5RA}BzWbVB5C1VoA z##xez#3kk@J|LGddM<SAJ(6cx{>vv>Nxg9L>Kd0TXnQD{)jG}2@F}uV0e8Q=p)_YN zOwuXRuG=LZaRpC1=nbH0_MW0PD6DHxJ#h)FDXm9wjqCWOuA3?99J$~T>k4=c<r1g@ ziDxK9f>7X+OrPUfQ%{y|=Rc+u>XL$Wg>G&M+@bg(#RgR}g#d$}RbAZ)^02}Jq9$5q zwA6>EJ_7*e<KRH`)J8AfL*q=q29Tc<Vi=Qw0n~lH&F7w6#b=Z#SiSD0o4iFhaQgjY zEwmPZ9R4D$2)L#OJMt+$?zBiv(rgYD{NPFCG;j+aB@t`*8+H*%0XT#)GBn5NG6o7S z0?k>LN4R2PGb2_1;mV^$l|v%ZedOeV5YYmkV-4Llkp|(P<iKGV(&I}z{IUB735Sao z+u_dY^)#Glv<ZnmX+|sU@J>a26fWGwhY*qyq9vJr(R5P0i(6^fd>N&|8%ZjOnEqC2 zx+)?~hk&mvU8ZSH&x>w?Q49JnaOC0rZ~A%?Qto~3{&f;;5Y&LGADT`neL9C@JI{a` z#pt1tNwkUVV@Dr#fnl`@$?(5u!>CTAebmXsQcEmCu#j4KjT+;Hc3rCM5VqEe{*{Vy zp0uKLmMqH*97)=f>9p9hBDMm<HJwKE1FKBws`?m1ptw_2G0~|?W>0p}GDIj!&&K3S z!d;%FX;}<*O%w_bv}}E4@vEDsY1YrAcnvenR#<zAWy;P?7`8D-WxvR--yFHSnKtDu z<USmjO2Et^w$E5hN7~7hMHS3w?z1>^10sqCgZdfO56G`0*U4F@X(4^;Co3ukIV`X} zf2F+OuT<x9`76!LX(n6RcGDv!v&)z`z25SVJNpCK!4YPazfvn3i#R0sD>eA=S87%A z7hR}3e!6bk{FV0F#^-3SZB7>h5#`d^ZA08yi2h2mKv~!&v0Q2tG~ln)8sEjQ`s0n? z4+^xSxW7_wTF8{Y(uNMM4Jksa>gcbOU-MV$IDsJ}bDzIbuR8ap59gc7GWey%u*cP~ znaylo*@@lU{gtwW@Lu^VHDFgbtYs`{ax%7-K7YBYFLpxbGFJ&Pfg54x%wMUs+3zzK zQ1<1ol)MPm?_BKw&-Pau(V|%#ALB4n0y-Y>S4xK2f#=*`={3!)<Mz2Mvk2XwNqlv% z2+=DP6eM0LZW*)axgv1p8ONjGmbwqpGKsR(&9KyE)s?00=xj?}TwiE1u*tEOO^&m0 z=%#td#Aob*X0SU^j&1E`GT6=bX|S8+>qQlAqC3%VH#?azyNCHm!0{6RQF(M%<|evK z6>M-vw4h~Jp{AE__9~<rj6jRw;xp{m<Pa1^CiqkFAJPrkKxM4gti1irS+(5}?H=0S zl)oHxYh1ex9zpg&o!AD87Az^X<w1+Q+sE2_WqTWS_!SXv<h(F-{>E^oa6hiQ95cK{ z4aszi%<xu6nfl!n-fF9oCUnh`vOIpb3G(Vm795%0W}8t28fWuKWIBxLvf;(r>kiW* zb+XzTKTfSm0Rtr#$gwfjei#=j@3!g`x+j>r!&QpG+a<1@!;5x_KMey`4YssmYMA8+ zs{&Y}GdpFysiw-+PL=&u<D-mGMT<gkMUJ=k$Z^!jaa80uHk%wRz>$4>}y*3I#)l zknuhuBaa##j?PDijA%a{Di3rxI)@GkF}z?pj8q6B=g=TTZF37^8DUsNk5D~0@%e_B zKbe$5)0h({PAMQLm1uATt4zf$HOh41$8{!Q7+^$g#9Y)mK(5kVg-(%yhjT=yqvEC6 z%1kVKq*JWl`HOrZ8mqk0XeSBsvZUzrDS_kBctUfv^|<j9tnZ^DU&dooIl7syuvO5t zSriQQIxNN2uVDKZ1zR@ii!e%K8lvnI8_Q>t*^Uc#jtcRcR2h8PCV8%X_;Vu5_brm; ze;Bf4u8e9`{m~-JKWJs?rRgU3u>mWZu}?npzcOLH7+;#CSgSVsT^+#$qcMi0({=KX zjJH(?q1~o$@9j@8J=s;lw@6t<<_u+O3njo)hbOs^(iLFw@GB-08GKNmsi;ezXHI=r z?x^bf{RP#BTc8Ej_ss>>C$kf*NyL%P1@4v_xCan<Xa&lDKA*BatEbEDNxj#(t=DI) zSAda)Rv+f6_MW=hkF(%DGY&C;QJ=8~o>iZpE5fe2zK2lPeCGPlC``j13gNHeyT8gH zX(tI!^d+EDn1=5tVbpVQIwV~6`$-u01O#+xc(W2Zo*)ab@HQpno*<EbxIqaGPk>uW z!#k7^E0wG|{J9b)JO`624Lg-E<_TIo!zYvwn?-Vv8fsy2{d!Uz06*r#qfAC_R4irF zIfi+N)1l-Fmt8>{qIg@A1<4qM8hEX)5Wz8uvdiHwIya#oQN_|OMH(nXRX*Htp|JOO z8Z6%X8`7JZ(p*EbI)-A=xLsA3dF|jLew*Of;@`;HDDVoYSMjRNutMfZ&BCO5&0+~I z=9W&j$=1>r#J7c=@GT$N?M;>V*G3`n0++W@p1@N!QXFJQPbT0^XBYs$SO@|9E{kFs z>v{17%u6{Mh<A7Ho>P#~PuTVDyOYo=peCpBRXS2l=?~q%>m=nzhFsO|q6hOzm`$bw z;EjYUB}B&_nPf^Whpn`ZsVhoY<q4RpfCH@Ps34f!os+I*1tz{g2)#Z-0|k;mM<V*} z6uH7%@gfzX*w3x4+>uCYQ{BEKyQJyQQ#OG!%w)y;e#6|9rd~Xycu37E%SkBF*%iS@ zr6S{$B!V;-km8}>CG_JY<!IY`e2+>WXc8ycsC1WGc>o5&6xnaEx}sZGs}hjHg?mz5 z_Y&P%EYlx2C}Z2Wvg1XvEmk@-lo@6p6O9Y#j;<-qodi}Ql4`hn-JEY4Y58!KM6$~` zW0O%f*b}-~i%-}PzCbq;v`|1FIy}P@np6|gzh4x}+j>#et+)?lYQsex$1#sc&>9L| zW=Up=iM&f`SURc7suWk4#SWphOi^_#gD(_|I;&SLqXPuIfKF*vD%rBY1adkLw>))s zQvBsF(^Igf-dIOWB}Gy{rU23c`$b@&hKK`(XqO3X<|7)$<9GuVbSE5M-w@d?GbG;4 zLb5V>^zq|dQ=M^6j!w2bah%jGwcP9LcdD-({&{`UUkzd2I+&9ocM=YFJu}*t+|x<O z&gmK%&}9||0tUs6vVBvu&C#^uSZ?M80`sV33aryT<_=UChARbMMAW8P!h8VPs+hio zo1eHF+^BmWW3NHsgC{Hyy#LbvaFdE-#PJK#w=Yr6$AER3SedQWmgB&Rv!+s#Ddk<` zSN>-5uq)m=WVuUif8>4Gx!UET4?DZNG)WUj%u4Nbwe5^OrOUJR;W!pEk|d5={qMww z9ml){YFX|z`n|O>EJfixM;gXD@q$DPBm4X)RL(?VYTD8~gANyqaWGLLlf|A;RM#2u z9@G1_Rr4tx3k&gMsbrAEBPz9X9pV32k1dhE$X@TUbWL=$+B4H?PYJb-q^YygRobO4 zZsM!@9hLS@Po>@9zDJ-)rQIt1$Cqgh=xMbx$9Jc;P5^Cjd6z{RQ2_#*KCN~u4){@u zqx(^>l82a<S6c0D?h)8MYyq#d+9kcJ@|EqV)y`^bX=t?r16u7v)XAj}e}$~5)y~JL z)z0>=Z?m-8tw_{r&vie!!UwC=Rx7RcJV>kEMy1kfr#URd)T(K<o9#m;t#*Bg+YsE2 zX|-GNsMQWO?Y1InwUZmIb~ck*tDQwr1OTz2)voHh+?rVTygE4Kul<^>@sLX~^DE>< z&0PgR5E6}JlZ47l%^kpNHTS$<%{>o2HTOJhH#PSk4RU>Y%$SYuFS$OnNUoyF|4`)m zhInNrj#pP^8M8s0TXFLdz6|O(P{N=Oi%XO&fv*Uh^Ww3ejhQXA_~(+f%<`HCTJmx+ z&Ke8@yg@9d*69`6t-|tGy&(Asdn$P9+Ea(8Nj<$FDQQ6dBCU32=@*a=)2wbZY+)}x zeO8&;)$4R;li5~ORpb9MR*ft(R?TfmtQtPHM6MVsq1Js?*eo773&=gEAd#q>_3=e^ zc5qR939#^nXIU=(V5q{08qiELM$Rt9l!1knIZCzgZ8G)em7b_GN%8b=mM96FDbbbX znliUyH015p3%r|ss^^tRUirbTA9jF2wIcBERcRObNSar8!}7eK@<&#>B<A46l9t(h zm;hyu^IW5Kk{y<G)HitH*%NWh8hu@l=f!(Z%h<i>sbVN_xbg<5YW4ZHxT@%ijm7QC z1{JKRvP}sNvNbQNv*CZ}@9{qrIo8{%Yg}j&r};fPB-Y2Eo(%3^pcM+5o=n$#suGw_ zDXxnx6`&F^wvff$wZDPALVj)VBri;Mx_s{F+4W_-y=;BHUQZ>CSWl*V{Gk0N6{umZ zX}F9+f#4-$vWtxHrDPf*2O<~lyl|thm~+<Vk^BH!NgX57m*(7xv74UkbD>>`98#F! zoKaSVs7HBd*t6Q%u&E1%jw_|WdlaY00S*c&0LsG(Sd&Z>6*fu7kc<m7BtCp`Wt9y0 z8YBH0D)P7wuA(lED(1~~aj=P#+^|#Y;&h@ePDh$mG|VU0#nDsL#nGed;#gfhU7Q2e zknS-xr8L$iO8_$!H4OPs@^b=+0qYw5-e`J3W|R(B!e3R5O{jtNs2NlF`dOq{(0ydN zAd3C9MT#Aq8b1_@{YW#-r79ztfUC^1^Jt%oJC~g+Op%={x*WldNow`PQofu6Q%hc1 zc*e%R*o-Wr_pfXnm8>31l%U7|%5v0FP|?#%soZj^u&5<GUM8887Cb6PR>p*^%KR*W zpRl@T=?>pU7fj_?qo1(?`2QB$6ZN$bMqayGQ#_R-^m47O7^W|$LUh8U4wx2idj+}I zR=MA@y2|R|Kv0!jU)ctt*ekfTIjaP}@dV|`@I;neAFNQpU74?yt!GQ>BDA&nSfS$F zG1h6v%KvRxVUa;ZNG=4pfBp-T64v_XjRcC-Iv$}!#$|0g5Ow1&;;ewElGXU>$jl{M zGrSEnp|n|uCq<)j|4XfL*gemn_QAq(z(SJ9^U8d=2*9)s1ac1#QB~LAaWGVb!pBe; zW`U=*JPDww?EJ}!4(@-cMu@6rkFCztt>P^$+KRAhNrp%`akq+VUQU_4CLH)rK*n!= zR%HCP|MX;h*~tf*j4wNRk&NfAD!%;GtMMN_D>8oTe|j?h%F7Ql8Gq&F-zym-`!c5D zHbk{B6&yd>6<Z)FCQ5Y#r&6lfqXyaj+8c++88-#4K3)t1V5Yg9@Oz2^nV-bYot}6B zTT=6=<cq2A;_OLWm2L50d~g`A<XsAqm|*Kz+Tc7XpJ^A7jMy~iaT#>V$@~F!Am2ld z&F<4~WLx-s9LridPqxAX$X~BmZP2h|;Z#K@T%ODl7K>zQt4mo?4R}mP8dM&-V&1#0 zhn66zqwH*5xjUE1Hv272HHz0A!fr3UEJq9q9yk2W?;IY$MW=Y{S@J-JkbzsK*NFi^ z5K9{t_M{cQ<8BHKEX;S1Rkw?4mvHSolPk8MyqtG)UCfD{n980^yKMo3xdJ(=<2j*0 zj?KO!RB*OI^lR@=3ce|@Vmw}j4CEV9D&~{4(ZDmdUXHBzMXX@rZp&#yBMT7rqk7q_ ziyP5)HD-X%VlC{mu_%sr@_<e=1xkzElg1YDrAkX;)JY8=%z(-J%_N+4CUodk@xfn* zJ4ke6JF1^q*&-CXCx!moOjP^2=t^gnaXTneXSmxm7BuCqZxRlbV=X8#?iYOp7+-|s z{1oW-@iR)j{B$NUU=s;&m8;VwOkCzu0KwO9%Y}Q|YGqQf(AS2{yij0){46V?f$FTP zFT=bTL#`LRn!1!jFH&GJRXtwBX;ro5{k7%&wdMV_A)N2kM(o61ZDvPX)t2?wM#Mz2 znN&rVZhf$2{k2KtQNw0dvG8qSr;V#P!Dcwrj0mm!aQ0#>G4NT=4@byl{J`kTH6#KP zhEbA+$olCt&K#F)qiwo@a=D8+8iwanj5pemx`6?YmPe-(O>6ruo>h##7*^#sy$;#) z*GaIo3OG|2v3I*!@ha>c7TmOC{Y0c_JG|E#lcu2A2Lc9sYAlz>0PYX$6onO%0U*$2 zlJ0Y=GERT2f&PKn*F+Ut3W5cvpKLviU9vI!gc-`PrWmCgPu+kt``i~Sqw1$V`gQP7 z@FXLvRe;cl3SoMZ`vSlM9pU<qecg?v>Q>UDk|exrBM~^Wgz1?{C&qlZS&Un|L_xiG zBbpa=5wIc=Sr!mj#X}qdV<qLcnr3;E1&WfKx>Wh;66RtG#$tVI*}0@UBp33i^~<8h zYNjS^aG<N32$V$RPnIou%|vH{57sETm+I`A!4Ib$)N{h6P(pcOw<Sv+D$rRK+aKJ% zdaDrOV6%X=pJt`JYQf`NWx_kgnO%Jv=uTaYHX$6on$#NzvIx4DdG-LCLY5HD;yb%y z0jF8fpmJMWBd8vc6u{9KG!>xK{TK7<l#V&#pErq4YUCz^#ODy5R8dF2$JnIz{soi3 zVw0lWhM01m*rZZ&6Qb=5zmV9Z*Zg=@pcmK^XYA}-8>R`8DaYYcUE*c_B9o}CAkv!1 z&nEI{IYQ_##JqE3b6RQ@@>HVM3KGabpd%SJ@dHZJ5<hgLMpF5ZzqY6{_rQ+vNCh@@ z(*v9(kje7g0B5@Z(H4_btV!*Qou#;b*0ziS5kK?v(Lcsmqbc+UT+boaDAhzO3w8)r zc`=_1$bN&5-XbFe)6mkMjWz&ekHVX6xgM&V%@-X{S&>Y(n4ruUwrIE!CcQ)%8WD1^ zx9gHXPwnDqoMF2C3k9TX&L)M4&AmTUt#A4jV@HS>m?)m5ur;39@`(8-i@G<u#DpWP zw`O%rfl+gED%)6T6Mkb2()m@jQ2>mnCgZRMAqz*Lr{s!O;s$ghAzyB{-Ton#aa0<3 zUdE!0D!&YNq};<boo<<U;(muGSj^ESDbP8rC0#T&%eWC1*6I#~OOB&hYd221LPOKm zZ3H*AZDzVBl9<H?!+W(aRO<SSiDO%`%CXAIno&$9&|{VduY59n^UDx3nK#$w+6;R) zQ|bskpef(BVK^;m@Mg-A`fjF1*5qXw*#Y>h;>s6_x7f#6WMYDa264bB!m4{BKGX8j z(vMO#{SDuF?}w6bNVpQ57muEzt%e;M!$O6OWymj%w=+${JG;xJ)?0e*+$>rIfAB&l zFZ4MR_Nsqrrm1ACm~qWf0e4kz*g;giX-Y&HuKywc5Y$DNiU0*;XcL1sE)5_15+57k z^<U<vS-kW4#4*!lCSR_xB>IELuTS-*Z`ngum?yURf%La1ztW{+vfAr8DuFxar~#1+ zl0T{-u_bJwu-#x4J8Zf>?T1ZDKY}f$*RX-L{`7aMic#;&U28nQ!G^xa9M~B01>^0# zeXvoNVEbQ6lEG|+H`1*wwCCrv1;H%1tq)nnjt6Pt&(~H={~Kk+O1d7Sm|l-5%6x{O znEo;4hZAPwsM8H*){r?cYe8M;*nLtJk2}m-kLH7!bZZMvZ+2U<J*GLGS5P8IM;?ie zXl96G#4^nULTQVbkd$+sfClWHfSW`mM{Catvas;5=t-SXD;_`6^5O)n=#s8~=^oQd zif|g{FO+=`k%#n83-nVdD&i(EwkbKq;TEpQWa?>%8nA2`;lZ0foP=FB5K7@oKW7<K zn7rsA>1l?h_W+kb*sWgx+a)+>HM;O7(}gtoWNdP8Z1T~8CZ8?`dTEOAHPm6J>0?P( zi-GfVg%&;A0s=9M2RjTg=W;{NUkb+jyyzf~pu}onY_uZh;UP<WbRbb{I67&W)Y<g> zD9^}La>x<@_@#0bTJ11zXk6u3#C5lQiYF<?FCL6M*@|)~sn1+iIiAe6r5a!rEq;G3 zs{-q|H@3?Umb#zt<s9PE#jPMI9(<{mFGmu@i9;aDo9?k5qK<5pM6WGrRy}YJ+BS^T zzIvQ0LBay_{FbPdC_W@E?ncjDZPehdD;VtX-fil{mcwu$MF5yliEEr@tG^sk8dB6l z&^0QT)1C0U<_$#J;dHzcp697!(m>FCekkQhk<dW$Io{!}$WGEQ$qn9_ygJ??Gb*mw zz#BX!^VKG8qj=(E=3f#H6R+VK#OAHVe8H+}s{?SEb?7i47g`1YDE-q1xT7ANzl&CV zIP~PPJfvlMQF!CbOoMAR#;aElMgReal*2P!{{fM43H?Bof^5ZnKuM?}jz}g7K+thn zOzbK(E%6GWn1Nm*d;r7ysL)W67dQMA6|#~|NhwiSKmv#M4NnXhRYSw|1)p7PSyFYm z=XYVWB0cYjNs(D5kLc<nbqs)nRTk%(`9Na-+6TJeQB;))7*Ia#8%C5DQ9+xhHbG$Q z%E%uzvms}ao$&yXD@2l$EM$y;o;a$)4R@RJ{-Q_r6rsY5afEpBNYn=-io{Dl;tDLS zg!O{)vVtSnEUOrA#%fm<rY24mPplH0uj13J+Px;Z?_pl3sz@uvjVY(28?|{UphO}F zokIi|wHHuN6;aS8=LO1lp?6%)&`ft&9U)a-iZpd#J|#1b_0c3_R&~$c%>A+&8Me+) zsk$*KDIvt=IEWnpOxdP7N}hG6*dcKcf(Q|ZA#~NH83v!a8as?`6;j2z-_UX#8Ff># zBLHjn4G(U9G(5u*8iaHV51olaGpje%NW_ky7ZuCRs@ZA*0rL$_yEinW_?Y_Y|0t2d zmCf_Q=x@2GPSOa{kTRWbX~O>P3NmMA<hvqId|wrNLhJRB)k0`<9Rg2$w-#~b;XMz1 z1WG!cxq?m`)^_LyhwW@is<HTj8Q<KNhOJU2@DL10l08eME37$b;V+6?U#cazkS?%o z^%i<U`@EcPLTzXAbI<41-Wjw9XlIkK+v>x`Y4Ne6czq9h+Xo;y!3G>)DSVq6^oou? z+EWBV*2{NEgqHE(cWibHKUZ13tEtzjJT|+{c29YfJvO`9pQSpr-5;r1PDXPrnyT51 zKm?0#VR}Fv&%5>c6LnzQ4_egbT(sDJE7`oGr6aVkZ)uMb48X7UL5sk5v<Q6AvW^5t z3xF9`K#wpnh!|HSb5sbm6-MqgRK$)_Ph|t6?hEneP}Y&+-3J-_?>`Ixj7W~IrPgul z7zfK*9&Ef#Jj&6(?R4Rl;lWRRBndx5W4d~{<^f)A1}+Qt6L#pyd^j1M?5n^-b%95# z0{2U-W-^MhW)1r3+i2X@T;oV*`4{a}w!b<QLgLTc81{Y?hVF(l7!sB~-?st3VL`=Q zXuuR>>zAa@^${(68~gK&Jc<SPldn^*4wSbl(vL6hebs;AXw?V}Q5E&DR<SvOQJRA* zs6dv7>hDjT?nI0YC+`r$XeK+u;8ceroOr(8KbQ@o^a5rDvK((Yn5*!dnFe$-)k#hr z*6UmLT^;z*8KKwn>RD18ukz@$?s;FGw@$CVe0ud2j~B(n9|dgrV8xj`Ex@BKLK zLAxJ(_7E@|r{XC}al2P6)cFT{7oskN7<c-CS&nEHJ%7m44trO^<>10Rf0!aw&+`X{ zzLHB;EQiRZa#RyNe{e#^CW(uZ0nZ;ROp<8~jn>8J`J-0cA}Li}-;0|MZ@6~zp>+*T zDuPox`Jm%{9z8fAnMv-X#FBj-<F>C}zFn-StuC`;nQrGG#G9fEMX4<!SFlM0E1%e8 zx64U*TNsD~9EL3;3>$2*1tJqa)|j^IzP!4n&c(B^&-1t3SlpmvupM(5FnQ)S=0V%n z1}!G+PacL%jF5~?RMJnC^3**LhK&vN9N($WCLcRByQhBC-dZ(B(FKHI`^Z7YB=45d zE_<g0%Yuo~G10zy2Hg9Pwq`!Sg#-x%=txN+7_{BLY#WI~LnZ$XqpZCVNo?`WXBTDd zKLnxv@sAv#{<Rb87k&VQ`h|c0gnEq#^;^%5P_ORY0(S;tJZNo&MUmbXA;?eL)NS9y z-rk<h&p1Mkvk}m=rZ2Hnj-=B^pFvbrU1c@HLDCm+!5b%v@MEV%t>;XtT<8eER2)uZ zDhmviQjMuUuvj4KCfchOddy0E>5_Dib*N$5MrK~hS}zt@(zTryUq`Xf_2yBrIl$?~ zLuPYk)XO^GIM241DStV|Ug9MaksQbtua{QS+77P&{_OcY+|6PrZw#x^*7DRL0!kb# zgKI&>+2;c%xc-gG7nhwd_bZ4{?R#~a+W{|12LjGYwejsTC9dkIE9cBC=XaxBX6<@| z*JDN$Az(4*6m*-qYfWEs2&*+K>Yx0o!T12jp5n8|JG>@&odYR6ee6^5arM)>MIVc6 zPgH+aW~&|Bpm?31qLhan!N)<jX4bMrs(j|`Fw)N=yE5O`(I$WGJR#1I+Rq7LMvTB- z2s4hWAVXovK%+1P*f1C#mdmWYJ=Ltev-zyOEfHbG(~}ijfvNY<b20Tsb7dfU*)>t( zxN9JKnI?ip^m~t9hDM#l$C?=4U+v)<Huv<02f1kHje(`5q3j29v9IW5ATZi_V?ic4 z%YdD?5PcsEi5Z1+q8xU+PI_D-ZZkXYEX<gEhViKEylL)89OUxTi(WQVM=wLigD+B# zm>a!J_s58c`lFZ0z^jU0hSrz{-0i&W_xl>XEG_PkVWQi1KS><Bc%j>H=F=&K8v>4^ zaI+=|Wet?3pq%?o;&K~-UUPDo@46#1WiF(0Ba>tKdMiA{z;(xa-iSG|m*eKR_$Z0L z#%s65hjE!Mk2j;`m_+j|x{?*5*MRu1<e;DRzK!{}F#$4cr&#JaVWZXh%@k2SS;xzv z$q_Bnsn@5>-C<Q}wVBwy#42%Pcbq{U#|g81V2_bO{gBJh5zesX7%(;w8jVX=b%efz z|AKm;9mY#}XOIWx{6sZz!i5)_Fjl>$pcD^S9nf#n;k)Gqm8bYxC)GcuF8hcU1*A%- zK5?eJ|K(Z>LA7|(WO{20X|CN_0H9|2&O3J}#qXab-%PO)phA<-ppyTAVSFDaV1#N- z?Sh`N5^Dh;s@ex3risY?xNA(n1zU5XbleS(`f`t7L{3|hT+=W^#xMw2=AU4<GP+?0 zQr!{kdH-&~tael2)CuW5ABeEl{Xw%$ZltF>mru91&@*-2M5Yxhi8v`m<ArNVLts)| z(e65e=|$pcc4APcr3BNZZ3GOue&QBYD+H1*-HZzJnpA)&1=fa@wW|1tngoaV$t=9* z_2#g;VLqEpnMoQH_9?n^)+Zcw*G;S8v`mUmpe_p}8ZDWW=}6IMN=Bmglf1~*Tl=P5 zt!gbZhQ%Msx!e+D{^d<?1`bXYYOJXlkkQ1Ajj;yvh+G_zB(>zJ@;82(v<yo3Hm(j! z9G!cI`<u+xS8l0QwRbHyshYuVgVom;2k$xbrL~W~;1j&=iz|#&&~coFPIE|Yz-zcE z=h}#&_DEg{{X9%Hdf+~0+vR8bFvpe2^Q0lJW-3?VhDDR@AukkdiZHD)-9~A;#<tO_ z){T)3gGSOS`Aa7W`7kGmMO$J*F(JC*ANg3*)&F%T`W(~=>CwCjg(WoA5u>y9_({`u zCD&3m=1+6$$xdq)f(WI_!`=6HZbDd!LSakp^SJMDg+k}CYE|Ndn7kAKfBRP|MDku~ z=l%0xRe_#%9!iC5erwgt6bh(O!2m!op<`tj#sM7W;-*12*ar)SJIrK>8hpo8q8+TK z75h0aw90h2i9|gO5l9;mh*!_PGECp()^7lO&@iZ2*a!OOxl!`WJ<w4s6zD>EAMo06 zhV4e#G$Q8#i&d%W-SKt<jphE1pLb~eQ91SvxP8UkZxA0)61A>i@A1mDP{u2uzA?iO zouPP=-bZW;V6Zq_|Il~>uBB|@hBYueGpV%((-yl))H0k+7lM7K85Z7H#p>Xm%I#yd zh|RKe)hw+3l`Y~HX&KhT5OA5z>p5!7E^R8}<?ArS;>6poiMJL07MAt;Tbz13B2XEg zn0z~UN3;<&2nJ1+73H?kDYd1b?Zck{qM5boZiXpaT=!#DZXbIV<^r<i_6pSv8aM|~ zT2jd8`CN#r1I>b7Gs&C<y9HpThn^M2MoXb$6K#wpAS&2KMSXH8pgam9hC(hKa2U7~ zag-48aMy{xW%qZ1V*S)>2s7~ilts6nbOk=7Yv4QL>rRLiI#oyJgHFL~s!m2bl!d|C zGA<n|7oSo+v+lJ~8kLqTkMrP56x=^<y#m6L**4idmC#t((9i>87|i3dQ);K8)V{jZ z9;!N=l(_02zO-=(I)?67Q%g38XVD&I^Ou;|wtH=oV*KG9VFXOKKzf@cZ#pJO?MfUJ z#TxKhyem9{TyFQfx0Yy9yE!YHHg^c;wpWY6<prOD?8TV~B9qMTvQq&9hQ4F*FSvhV zLX+YOn8&lL@NHClG0SUGykVrPD}t0358F1|HTW1^8m4kC-OVfgxV+Lo8*kv_<+%Cv zp1JHbTee-bedo-jn~9~N{bCq+;dsj?ZEMBBgYZP3V`~NjPHh6kgjdlvxy}psHP6S# zeDTJU*;LtHh|(keI0^T>dSmfnxDf3|S2nen^Kg|vBtjDxQaAc*8g90S;@vQ_%70yz z|N1HekvCOC8s0OQGuAK^YaqiNRnDD*Ij{7HlEB~(v|c^jY!7wo4^%lHtTH@WJ?tIK ziP{qseb4V9q-i<ix8SWl2^VcFp7;f`Z8L^JS4NW5!w$T@l}_liq;StLuG#tkf!%iJ z?*y@{Vb2G@;eUz`p1_iZeAtqT2md=S2pw|H`*#OX*J@W4JO*YLM~{F1-Q&9rxq9R_ z8Lj1`k_Sn^ZIBR#=1#BJloRSIv_>qy4$1N_q>LO)dl^e7;uRcEE#pvMM(#>lH6Y75 z0s+sF7#1c|$v=MAA{94K9~E2=fA@GnW&G|?U8I<#Z*U=KV<#(<N4{&Zjy2~5`Io+X zyo1AQuShf@8|^~+E0aB5WGoihTNP>7O>h{qIoO>LRF6AU6CtOGspLt2g~NMcx;tgK zbaFTC9^z^0KEk$0omw`O0-jN@n6nTy7qKWoCgHN|h3OadK*HntwN3cg>?%F)xSFE( z>gkSj<Md{I(*KA-&Bm<Yx$bkv7Pj{&8}V=FWZO<QtTVKgv&vnsY`ceFm_DJ0<b}zX z^(+5Mz68oqrWP?}hle>sxe<M!Jt<P#IDLhKPy>PRqMY#T<Hu$flMB;D#m5zd-29hg z{t-*F^GVs$`>0LS?xD;Y?QGQ#E*@1w;NmO%PG9v&TKg8EtL{@OV0_hnkIf#`FWHl? zrJxnKSgrr6i6_q5dLe2JR{TTnSECuRJWDy?2NQhs@#C1Y2my81reD0WvR6V4EbPE; z_m0Km3kyCvbFl61+7j%HlC7_5VA2qNw3%4kRE`=)B}wRuKl)iar;(a@lt*RAEzBU& zQ_eZzi&chZj5JAV%Og#)MOda7K~mf(AFBY7JmN;1(i|aGy;`!zJO*+k)kA?=YSYfh z_ULgC?a|{P+GC7As>+7K-&K_jdlMl>B^~h?kdm)70*<3NjtU}m!XDEY)3JugQuAQZ zOEEi+omK?ZXBArXgYb_(n9!m>qQv_T3nAWrSQzncc_!jbAzry4u_3h~N_xbY_Q=_Z z%rZn8u1K_D<8C&)Mi3HD7*%=XReSXKsrKm6YVENRzE$OIT1-?+Z4HuLo28Hn?e<0V z))x#{AB@N{Bk)LXniuxi2#-{cO$*v;sXhbjv2C-(9;?u!HUku4)KWbXXjT!gM+1E} z#JlqcN4%SB{S}004Y(6+(_Fr1#p9!r$!e|B(MIc?>#uxJ;vbf=Mg0{qqnr$%mHrA0 z4ZL+7xdsch-1iY}wW$!hApMnPc08G_ze44%pIy~8pueKs-(v1^;96izkXbq`Kq&ru zt`>_kH73lA8Z7EgpJGdYF9$-^m=e{)eeMR(U4hh=;XA@eQFjOMk@08+woN~T&mDi_ z(@@1A<WQ@`QsHU-NAR^a6pKnQ=FM$n^i{6X{5`bIP?1p2lI@`ci@>{h>?d3WwyIz} zYorMKcI^C661w4myRd%yr(a@`bB~p5re38Xr8`o!iU1r8(du}XP+Ujr$g?0(XF^GZ zB)mprp@Vs|c;m~+BNn42{(_Tq6z1q_TKv;5N~&QzV5=OeZha*Tv-@8YH4H&P)fXN) zomCo9b~V%w<!}XMjhp8R<*;+ReNYB5xgszdYz}Y^l_|a$<hjY1YIOhA(O?6Wo+1pZ zmfSB?rOM8L^cO~J21}RK{ry0w=VSamV|(bC`cZ`xV^>+3uSS_kV-!h1Po@V@PXNtk zT_kEV%%jBYM})lpWs$sX(k*Bbe(&V{zZS_`Y6b^v^?rPjybmOKzh{xW4=8!>T_o=V zN!}k=B<}-C-d|fJ?*mERcPx_k0VVHmE|T|wB<~L{lJ@~6?<W??`#_TSdl$+3fRguD z7s>lTlK1--$@_qk_mhj{eIUvE_C@kOpyd6HMe;t7<oy?m<b6QN`>93pK9J=7my6_m zK*{@Ci{yPE$$Q6t7V^GkQ0K%ooe0jxh2^EkW~)stEma6e*~a+S_4f4`Cx0@bZX#9T zz8uGp1AXS=!zW28WSu$HMsrw7GmVg66k`#Xn$J4fNusQ~E<E2{2AT;#8tzVFERD`& z$MjhmD5_XKsXt(LO1)U+tFo>fq;!W)rA<Xq>7p<rz0@JOLg}J)(m8D`r3#*87Ow(W z*fh}8#{NbokLCuDBByk%*5hOlft^e7F$4aTNmO0=x&d{Pl(HDS;{FN%hD|eDpH5L1 zu**2bK$D&e+W(HKbzbK&suOpdHA1{j48sf_8T8AjqK-gXV@7_|R3R2KsIW@o0@H{H zPH`QIH&PtI`$BlWR7d2f7;THjg<+k{`^_(x0oX+$pAn_Ua!GxP^b;{XM)efvJAerC z<XnKaLA+&dQ;pSCc;NM)NQyVFlj*Ei=>tVgu}TWB>ozcZ&_GHb#FVkEC+n?ulvByo z_JWr<*9w^!2@m}NRsYFLD0y%7gn@rsmH~=8@I!Z=`tU60sc0d|Fh-WW?gLd1Cmm6| zZmi5O9FXlwqCd4S)yrKWNbbs{mM$}>#N83%!PwNHAxH+O&(|kd{@#45mQ9VX`Bep2 zISSn$yn{|dXTyuSbXvJug%ln}p_2~EovEspk=K4ufkz9J`6_>;v#T~3!5KEa7%eO7 z>dH|g^i1t#^bjD8)g<&4Cu=EWqQ%#THvs~4SX+DdF+LEC=H3y9{`(%WK_{$z?P$b= zNbDle(0^+)%__otP8O_ma$XzODQ1VvA{S)CdgZ&_3a~wB!y4_-%?c3fqqMdHoIfZ= zz)h;PDP=)MI4!<$a8;;h2pR)pm>DRmM0-qSP)q}*W(pZyNJK-`sY>-S$D%`amuQL= zwUO&!Cs`%1=3IqNV;l1ztwsX?vx4{8{LKaS4Oq4GoBpwS%k)oCJcMMdR-sZ4-|;NL z?E_2}>UGcymf!kW8jYCt0kxU$4)%<UF**i@AkYt#Y=hE}1r+v~vi<}=vP#V{vG?#I z24uvhIT{v9{hd;k2SST~!Bzo2XvOM<JgYFno11Az<SFlGro}8XIuZSpY*X*Y`;6>W zjv>KxWYJxgo^$an#rkoTTx_9aC53XX=~gm~?3ybx3qGzjO=_l^ro_b7o-!P=i)dhI zQd_L*&=Q}Z1!|tH(cv^-*G%t6WVMBss+6ZUp;>MAaSd}^#@b}9_XSFlKQjo-BdG&| z<)iXS2~jZRoi+IegVw(ndkLCk?#!-y84tU#&9Sb4L{}2Ut$USLg?S<$^SV|er6qOM z2*@I*CE*%2%G6aZZF{#~%V~{uy&T#|Z`9+aDzCIprQCW(7t^U#fUru85}T{6Duo=8 zR65D3RfYX{|9TNR|H)b%7G?^!8?0*Bka=JxFG&fNRu-#L8H6UVB6Bf5iO?8d0bz)d zb&};NZvG{iFD^X)7E{1&U@Ne(9HF$PCYU)#>Ye8Q%|6wwvOE_5_HydSSc*0Bn~iM3 zt(dODun#gc#9`W(i0q-EE?xt?a93MviNOI_#=Nx5&tu$vYf=k8h!^)J&2ok5lkZrR zoh>94CZ<^8K_IX?@Nxc`M|BY|vly{9#IaIf%(LO>XFO)((V`3_lSRHBQWpOtLWXS; z4)th?(dJ;51o@5-TJw5**Yn1<0%K;)6!q|FS2S4MH54wY{EZBkx@(nxOHWcBI3=qT z9H0Vku=Wigh+ZdOfktFGz346}9yrJADiyE`r&9MW0d(p)TlI{W6LHxX*QA-?PyG&c zOwdexXVNU6JgA&tY3*xp$iAMf`c_RYHF(g+rpd9=S{@~{ro0gtxK(xtL4yI7SC}WM zrR6~mVeyAY9xgt0xEzVIVOT)L1wkY_tm=r!SI-vFx%$OIbS*B{a*eheONir#WFTEu zIMGc-HBci4CB-L(wFEZ8RkEEUq{PEbqN8<W>nwxPnr#F_9!3bTj1rkf>s{N~`53q} z>1(eQ*qPiADjc0$jn&ytnJ4>ko}GgV`8odd=Rb3v{HJ?<EjI*v7|egpJo(S^{FpV8 zpNXjYd9p1*W&ms+Obz*RWm@pV#!~g}mGe}0u2+ZgB9$;t`@!8bPyUNMKbDZ>$3oJY zXI`$%)~<o}?CJD1cvG__*YMV(sVr_G99DFa>wWNL+1*3c6i7gVmDzEMgC_%B^<-H4 z`Zih0(Xo<w&ChD4H9u>a(_&|-v#XUuW}kIU2GzN12tS#Gr+_>&W6k=rcvY3dtjA0| zdmjYBSwzH!u6Vl0cI9$xO}>_nj=D3qVF8Gp=bF6ar=`p+6|#9}DtLh*O<Tc0w1Dgs zU|=z_1;$wb(wEB_T_TqVwwTxHI4avj`WBgy$BD)Q@B(lkl62$H8=6_0Wi<o&+J3XR zlydOXxcfiN3wiU=V%uez()pIHsjFZRO>o68<(uJoCzB~1vvXR;fvn464NH=;b)NZU zNcoCo#0JaF+NWbL(F(y_@rK_B=Ch$a$xc3*vFpoWT{l-73ZkkuTENVLE`K;oVJhRq z!xU~asVPDaDZr=S4l=pF_yPb;!`tuPc6IjK;py*w`*$~9z$RB^*0+atJpQ?6-#0jj z3s|l}K}WnqgCG-vLwzQ$X<e;6=nYm&Wdd=aI<Vw*HIN{{&jF~Nj^#JE9R%HZlT;7d zav|36U_M8RH=jV@Cum7bjqDxdwm?7hdnG*_!aYJcG%X19Uw7*?o%`0;9=Y@BOE!_d z>&~bDP4EBbrY*b)rjPvoweNl?>Cd)hbH9Iu?$GHv+2A_h)#h^m>-PVL<9r7w81``Q z-#+dq^lD5}jfn<9V*+9Om{gHpVKJx-6e1pBEziy~7Opp#hN-wc4-TfS#|$I1AWtix z3DN+Lk&*3Mfh}O*c3**Ml%*69n00yazh78UsaD|2wCqZ3k%{i*V@iOF*u@W9L9KS; zW|T+iY$TrU{9B!_{YeecOqE~rc>S7uCRLMsWjD4uia-1XYm(}Ut6%1e9QzF=8TMXr z<2YzeyHZu9r5UqYbE@p#_VsL0-%QF>vtD8FsClcdtJnG%`^%2w`&kyQXR>Fp&N%0d z>xqfJiL+m3;mSHE0Q%;ubt*r5O|~Uv2w~}G_zfkP=0{z7n|abJtA(9qB+)k8VJp;j z=W%hX#RVYWei8*)9br0)kFK-292;yks@T!MhGQ?*fA`W6{V2<u2pBKL7<k-M<3=@N zZBGNixMNdymf0el`^g9lM(-jD>QoQ2jwLlxH1rhj^AM&fCc>Cee{tXAo!+Bfl2JTe zwX|l-XjFr--7M@EDfCB$Lf`tIkwU-x%oO_W+6P3R@H1OK`=2-@ZFd)L9LG8{ZzLuR zX1^V8w3;|kun8{_HS<0Y=1aU2;VGxnUp%60o_>TvK_G-S$(Wq5+uo@;V>1h1<*XE1 zw(!tcy#5sOJ(K%~*PkLmrd9{$snyqCn|LL0ZN-}o8+89*lbXiEs{uS|G*S=Jz>;m& z?^mfmNz3h1<)-0l+L5CFhBQ2mB+`uNv+#}TF*pAWmfA4eca}8wmJt0y#L@#s^iNVc zSCb7h*T-{ARmA*4NX%pKJW4*ZWp`_Qdvt#k_Nb62wYj{xW>B#Kb9p(Ju)J-zvJcT8 zM8_KLS;Mo>L}uT&KV&kjrCJuX1K7@IVj4qWm83!D;}p1_(xUjcY-~^6Nff)c{SrJ1 zbYKKg$)ZFWP9a7gpci^dPdEa`CpQAY=odWnC`lYCdq#>wS`9Tv8BY7}{1K0Hwi-ya z_jrt~)u09L*+{#RNx#|8e@qqaMGY6vzbPjEfW-5{AKSKoW26RvWAr$P?+dtoSv<3( zBOZ?fh(~y%Ho~5%QfOtM(n0a|>>g98oH8-jxBnEC(*EjT2(Vivu^KY?_03foL8z0Q z=8~-w$Cz8PP*to6V;2O11yUY>W$?10DpFy8etEvCL!PGUSYad;=^xKhAlFgiX4R;o zJB?Jo+aNe_gA<hgN!&q5Q?V=N>4Ec5amAP<Mp_G7xUGWQ;aL}oV|X9ylw<RFACsHg zA>&+IB}idOo+!t+cE`l~kM%M91B|@8_T_u>QoAUeC@1E4ATuYMLndD~X-#(sW)vtS z$Qyh0WI^dmH<e?X0T{?RsU&4#rvhlbalv`rVY~hup)VzW8s^VSF3IpZsV|a3BP-Ow zfnIm_(?MFlh`Zf#=!nTtI?MSHHvI?D*@kyk!b}|J?yIu^{OmgmH8#8#jUyP<Ay(jq zd?jB>|5@z7AOCTK_px7Ruz5VMY#bpUUMEs4*>D7RlpI$TKd$2p^$8@2f*>E#M|B*x z7|)$<n<8b~id-6SSl3r%<h{+bDdD_(;xihwbGjtW`FibAmX?F;{JaagNq9PcNw;Yf zl7ts4T#<>yS~|VsJGyLL6n_7**UVhZaoOe}R4!?1!T})uX4)*ZqmuZvYVfBCuWN=# zc=SKabolieW{8AsHI)4&pH5?ex&doJ<3;HiS`lb7s>dI=f^(<8KGo*`TUK3D?8<PL zHfi;5yi?>^Bg?X;q!Z!k<RwI4PeOU(SS#F5rcpzE?2j_gn<0K@XtWdFd272bOCR7T zjtz&`?(*`=EvSd>fpQ~Z=g0MFoFj4gS3Ql6gwN=AWF)NMXLtlwf?r%)e@?%!PSgRK zTj9gjVtXW@=Ag}jbdX3WQfmwcy?0sFT>ac`4>&1(pFOa<zK9}_;fJVFtJKH2yJGd% zF0{({0*>qwjb>rT!yo5FGg@ZT#8EXV6?XvcRy`wjqmE7~*;o}He#KZOQYs-LoP+g_ zo69#&o7lFl^X{t7aN{RbdtVg}j(O>8ERyXY`7V;}!pZiI|L>FEce1^wsx$1mNwx2b zY_E%aDgK<&6)b$cf2GS$S#?X?Q)@}IU0&Nh0ZQbH=C4lVHp;)5m=&I#g-y3yCs}4q zFIIN>wr0OD9UerRVu4t^UGkvs60E|sbhH3xA>-~RATH6&W($?l!lfHebw}oG#qlDs zxZ_0KeP~PJe(6-nRIN!e03eW&jGPv4`#6YUALhT4jxfzBD`S}>xOoKE;N)u$RMr{o zbM7wD8mmCHyF_&!=z!jIDWqVLNs<dVSwt6~(WElG;ezJFiG<D#!OkA$&@TuQE9<~W z&jK6|;7tvmBn-Liik->FTb=0|WwGi>e54IL!}<P^JTXp!O$(<^qQ#%B&>CC&z2!zp z_05kP6OQeD`cCBW%EftUv<H($k}6A1J&0U|&7IfcqhCr<HkKsZ*Gni{VORYI*AlLL z$0w8GS~7ni>X3Y&y`Zn4?;SRSg=vu7>KY{TdqLMgn8L!syr8du!H*gw_Z|)uh$fap zJ-D7mux#$6p|o{U$yk9iD#;%&mPcu+Xh6j+_b6>@6oY**hte&^D=L?G1Ro9}wHI`+ zqvZ-Fbp3UwItsR(Y3DYF1j>~H%%DDr<*UJ-8J-I^x+DVI*Np+-#pbls0Ud2RVc%fE zWY?WEkJ2_igFto=P0K?%2kYvQWu=V|cYfv~#aS-9u&hT3=7IeCcYZE;4&4!7!0Z=s zb3{}JbdcMZ*Ym0c0pdrf%UelrA$>Ma;1@ym)(<6Nl(Ps3)cbXMZ|NPP;r(rTAJaQx zDBj;y=NFHjh1>PMMBf|sevjTq^p1lazJIFD&jl&(kLZ0|-?=H}{jvHTy5#-ab$)rk z&%za#SM`e?fUkaM;`9Day)RdN+(q(!m)?I|?_>7<h~5v?yL6MX@J+oh)jK)|yl=aL zck3T(6Yp=*`-HwPvG*J6_oep!mwLDU9%S!#>)q<}UGMMf?^4{#!k6?ur22^b#QR>o z8@>;<_wUs2IEA;AZQICU5ZG8#<~pSuUfkP-SlFtv(IZ51go95<57RQL69Zx+z4;26 zjvlHf0;#5>hv<ozu<7W*da{VK%k+d><#hBQJ+<_-R8RP(Pe+&NsiUVtPfXMl4xcCV zYf~6<o}_R)I;N*lJ&o#VOivtV8D2fHPSFiLG36j_JsFR_L{Fw~xl~WapC6<r6Ob;` zlbvD?))Nyh35V#3LpB4cC%ZXW&Xe_><dTjiBcJ!nSWa_S<)&)@=2!;P;<6RldjDrK z2_$N^-fdJwG^=&13zl?kjL>3=xv178u?ctVKvegR<Mf5wef?QpyyY~3z}3nWIxktB z#l$sau&f<&v11Rd$!_6ZNG_Xi)^#6x5die{=L;OQwY`pkO(|VGd7c;pI|~nHN|A&t z+-#3zDIR{Y7v7Wg^fE1L@!*L9n_DcnA@1S128C_VHH)|r7#skgmb7@y07kCL`cTr8 zI1$LMf!DHbs-xFrU3#)T_T+l?MBu0=%DW>1q8)_Sn<+|;>$B*dSP!566%Ah>qQQu+ zb|vpnU9rakn?8qQOoPSnB}w7Xbh+&&sSyfGc+ppyzm-EbNzeNl8WxiAZw+uO^Q+P| zIo_Q?DF|=PhfZqo&!AI4&xgzyzDiA9r;1}kPCnk4Mzpx@<)RM>;Vg2NlWJdIss1YV zZsnn??z34BLP}<eD)0C|cwjm2CdIZ5Wl}tFrewNAu}T$T&!SoV|LnaFv|Uwo@4x?? zbMCqSk{t{XNk+TxY5IDjNr|JBM8Id(Eg)1Z(b8Y3VoUwu8~g&}jX<N1;V+d71WjwI zv7*Kr^|q#x+VC?~`iyOAgGJ>}bOekoiaw(cHMLPwK}{9q_xaAb_Bs2W+zS`QSNmRw z-o4J+Yp*reTyxDe*PL_BwKbP&_l~HrkT)SRH1GK;Z28iiN%5w0F`5^9pIhQgbFSYv zl!?sbTZ0U(l)TecB#2vt8P6WL=M^5R@EYD0Z+bZkKqm1@<8NAM4S)5CM~3Ew*#JYP z`>3?*wjwOKGT0Zpt+6E#9c?aR$4Z;s>uKiDplg6)XK)E=n*5L0BHZEIAjjcmm^7)q zuLG$%kb<)hJX?EkDdqWt`0;6OofJ3=1M7*dCu%O%^{euEJo4!~*;(-Oa*AS1*>M?9 zIj?+5#7P=ok?>uU$Q{jGYE`{L(a)vvTx_p$2R?NtlJBLYRQg<=fV!N=owQ&+hGyzn zm0c-V<N$Lf*BmNYlDfcBOl&*0K_(+AwW>UCig*5kpkCTThFtp-@XDS=J0R=h-U$Xu z_t%)}*ET%}%H9X_|0|pD@6<b}PF1}S?a-;JkKU=g-YLMe((06SAUt+kZ^s3-2`aTt zc~{h_HP)$GPr^YyEAGEI8Gc(c9g)s$GIK61EWj|-6WEq4EENIC&W-biEZn#wD2bII zV0w1Hs(cO2*f9#WMs9Bx57?+&;bTe1qIb$`q_uc#82*Q@716Fk)Oewg>c_K<qOno! z#Q4)LZt?oe?Pm}j`B&jc<JsmE?Q`}#Zn7#zu)dF!L*SmJj;g6j^Mx%BC5wB1qndI_ z$28dpCDaXL)LbBWMm+a{gsR1Z?i!9J#a?u#$H2Eb=z^cm>7din-4xb~p@;yri4TI^ z;W6~2dIb*pdc_*+y%I&yE1IHL*qK_k0F2|&fTI^a4R~mYFKfk(a;q>2UxyvbealX` z*xD_0XzfPb8jfWmSrU6P?U&JxkA&MjX~Tp<*4)dOoJ#2<5VerB&4O~+$gZR*(cF+t zZ<T->mt+8mHk;hh9nR53%e_kn4Q!4LMabxZLCq~G1~ni*8v6rLW#X>y(7mb_?Eh%j zS*E=%Odd$so!%Mv0+=>ytXN~%kWP}+^2%SRav~`nTFfv*Fgv+EKthE^PCV0#VV;ZY zntvl6RUAU@(?5MSmEwdY+Uiz|2-5wCCOp6RTeFr;#?mRdhnUGW3J?XD>%`@T*{^K> zrImbB+QE{1IX&QkPadDj^YAl+zG!hCgF-vdXlhuIo~(PUK{gu7BP_J%#d}zlXWkxk z30@)>5c?Ji;FVg|oTVF>5V#EVzp%JH_*>+_+y44u@AY`ce0;5xwM3OGujXRZZ@yGy z&bRRK55~f0RE7QQ8e;5*Zb??R;>e3dwC2Ab<pA|jK9)8{fGG4BgHK>QG1vE865Z-Z zvYy4FV8*z8>=M(14hp=Za$=Fcmq<Xn&n$33sN3R5BOma0UoB^IHH>km7hBDDBeP7h z-u~IglJLw}-6Q&O%hbn`;_xcdQnbW5rKRZJL{TOylE-8wmb1G0dIp5Z7zA0dS<p3m zvT)>)Pe8h8vctBAm121z%^*bObQA8#3_mLwU`$Nq*8OzTx8tX(_KX>8V5S=jR7<yX zi$g^!{vIy!(A`9`I-0qV)Bq{X+AaukS;S00#^mIq17{|9l*+U%wga?n5egJkOg$YN zP%421^^U?UUjt)qzmgAIp?Ia;<Z0iX!guUyPR%s2D4AYE0scCM7&<|Edlypf0;wQf z%8QvGJ{5>d>%}R3usfHm5PfI2(#Pq3e-*4NRrf5yH{HSnN`HXedWYvHcl^PdyQ8wR z+s>?`!g!YX`QXNGHRZqqXj2W5Kzel@o1Hii@oXz}+&4$7_Kznhx1d0NYK-L#F|{%L zsjd&r(N?uPy9=9QTKwQriixjk)4+3*Cn;VcVk>W|Vbe5U7xvt92Rqo}$XOa!(F81$ z>u!Bib=i>>M#_zBb~9hXVcBCKfpfcwo?9A5W;7%#j)=>e<7;zzi><*l(I(PTuMJVF zu~^`l)`Sc6wB?+Qn&4UZR>JIZ&!R8=S++cIqnq|WEHMef!<QD2rfBhI-CnE2gDXf- zv3TH(n>H8Xsj!sBx(R;iUaT83^E;{k+^k9DD5DDhzWCwqkmw?awDZ{v4hTCezWdVn zO<FvHw6!AngM5tc;_#gdY0L7-9GT2u@`7P!YA9|_<S#@q<lf_4%Vmv(p>^Sh)et=3 z+>SoPPmpuYN>~9(bP|kw*<6*cwGqH~rPyYz=~`aH3TRA)##CrTR(B_xqpiqs1>p|3 z#AF`!iZV`$?H~R;KW@4A4(FPx+{?9l#Xz~0+R-az82^)JQXBy91_D8NS2NsBkpM%{ z`|yCO-d}xmf~cp{`3a()iKxZIkOxi>^$AX${cppm-+Y3od!m6><?iY_O*S|oen>9* zk0O5j$$u=OzOO4&?`~EyHNqh@_gE!UOE!~C&65-_k*Ss1Y{D{HkC|lZ%{W^}nc9pF z6z&l<cc0S0AC4LIH(jRQPG|>jXu3=-%@3|ov9)P3wYSlgsr#F7nVPnuObwuYGBtha z&x+#5R>4x2sVV9*wGt*%Q}J|}daC(&GW9meqmDAFAT7Y0s4E1KIfG2CZ_?uS(q!r^ z%G72aL8i`3BJc{;|MA&GYC3<sNZtG5aV6?E&V{78z1DRYf^!Qp%p_*5u0&1qGfC7c z_XHBP@cpTCU7~&?qaulVYojMo^ZtZHePWx)+<9`_#J9|asDFC4i6{8<jN8N$e7dIj zc-ve^`lp9apCIWIB>l3}d}W_anfIpuSR{QynKvUzpU_ZG(@_8MT!{LoNAx&B)F+7A zjbV>xcDdyQQJ+xe{qJT=eCvNKqQ1SEHKXs5yLae(3_D{SyH71MI|WnNK||^DaD2jD z%1@_eZVT7V<Z^9kj$&?i*R3Wegv>+Cd?)3fZYPNFf<jGKHt+=PU_Hf2g8VPr2_@{~ zi%ctpF;+8TNk>-j`{fkEFJc{)`E7*Ql)u8V>=HclaL437&W><)iVt&a|L*pw@{8P) z37?p}*!HW+DRn+e^_D2cXdA`3WyiBlW!W-!1&)URyL+Q$;Z&K&TOkR%j^RT10USDo z0(HlFf`_`>#ffEsF2!P6a9z3F78K~_G9LKw$kdFJ;3Yh8ki_CF4dH3gtqW%|DKI&G zjvr03EIIP8=dJ>_9FLWdoStm@*12cfPt5SVeYAQj9pkd(5&vm6a0ft^Y#FS>X*wWE zJ#sQ&RP3yWIS!d)oigyq5j;zI4BYDBDb3$oXn+52YiOmCQ}Az4MW{8RfP|swnJr&c z9X`bu$tVT47P=P>e@jlM>ft>&E?-T}=Ktg<@S~|$lBFnl4)dSkcOaKx9YkSRFYrhs zf>xe>=KrM6yl*_+Z5g*QJmz*c(^M`=3XIZ_qld~9kWgp9@Y?D96Tv3)nu!NSf#C4j zC&HjR#uB)#5q3@81>8%?Q`9HXxWx*^%@+3@YL+XByjAy`=QoGl<i*nnlYgqu#!2mk z4$igDDJf4Q)g))s3oKQTTEn2Az*WTs-Ns1@(vcf_Lx&&?9@;jy)`jH#`+>wXY3RI# zf-wI3LBSkq=&Z-TFBJImHRQA;QYU2|ZH@4Nk&DLtJu{8FD2UPKHADT0aaF;zgks;= z<+GyMCNyj8q|JjUSdbEaCYqTeJZ$1Nu@u1P<oZ+GYZNWV^a2m94jc-<IV+HAB2%b% zFTs44WlP3}RB90}Ts#)K`+PMU>fcv+0Gr$N$Qn3l5oL8Ld=~tZT22Za5WYA%5i7KT zrjyt!JiWO2SM?JXW^Ul3`h~>VZ<Ir;Y%0Pf+sptu!z)cp&YN+FsHNJN_?-Gt2voov zQDjxR0bh`tIj4G5tupycYl$_hH1!7}R#29&#s)wFaF{C<(@U#R9*AV1im=*n-j0YI z)|AenSWg>in&_m#AU@S((8~x0kzR?`pvE{NlzAh5(SR)oEIpvd95aP>4cT&&ZwX?m z-m*|Qv$ftb{F>iH0@$&Glb-MUZDI*@Qyf_ww0^?%Y;<8ResO`JNZk|>i5%cKBkoq( zQGMpvEY#T1gtikvmqNOuiwVt+L&0ziR*W5X2>?I}EV++6N!}(V+9QP7QYB{|lJNWZ zMCmL;IPJp4^PVnts<;dT?ZKhp5zYe7BTPe<%`YOBdOo*`(NO)9&uF6xQUx~azPWbN zi;SA%6<Ds<!v~9|zh652C$r#tzg5-Kb^5I``YNvfET`AAyw>cneNKeQ>Gf%;{qRbM z=*NG9x$5Y%tf6h$bWnEm{oXzOck!9u1P1vZTSA9|EOC%iKHrlhaHvWgsS<mwhDXlB zKDfm~w%YG6yold_px?)+!#>?qeSwXn_`yqO#=~)l`H?cJVLR^QIspv-ZP)Bv*8Gqw z+Nz$$p<Fs7=tVdgY3k$)7c=4Jwc92IK(w04$=RudoAmUwadw(<L{Jsz;|5<%PBwHz zKe{qwZ-mR{w|RuuIB9=&U6{IOUs8Pebe%bn?{}F~kxnNmO{HQ0Ua7}hqtZ*PQi<32 z`l(WMJa+ug8Nm#7HlJg4GWD(g#MoyBpvw~hdcDH2-~$~&+%<c3bjA+WQH?y39n@a6 zVuz~s7t<fP+Wsm%e%o}EK51C{EA?P9CcY8E&QaQ{^l{MH>;G{mHBV!NYL;3HEE%J! z`8lJUVVXWVH^&HSk$^P()X<|ScpOl(h!yw!lGYMM2_O=>hvP4<>f}ok!!>Il5v6dB z1~dX2*h0lZ2?>rY7)bo+P8JUixNE#tMHY68+C<C;z+&0ctvIUB>TI2!CiC(nOBDo= z@nnH(bTUHfXsM0S__Q_SRT4h;>4)XiUp8qjf}umRSy)3rU0x6wn4ZDWS&2m{_5nm2 z>#?t(<gun5p|!TyFIgz%X=PF?!?XapjK#a{!RB&FJ=2AC2OsDqflw1wXLQ6qWNUU< z5(9xr6~TDxCljJw46-Ov`yd%Z7mhL!0?{|ZL;lJt0YSFZBQX$&H?$O<VsI4Mi*G3~ z7@A@GKR)c?7!0KZ@{i${2F?4u#9u=5+ob`zpK$^pza|X*S0Ea?`l_(<S{(zXCOZhx z2(Ly!K{AnCrh*7;6dejf>%Ao3<D1+p$*Df3?uUqVkKAGq$ag-oYTS3;=Dui9%dZ_I zsSOwd(~<;1*ah3T(lNHlIYJ5|W>Ycw?3R*Ayx)JMTT06Iili7#7z7dvKwev?3~`oE zN#T4prx+9acfu)OGmLrw$ppD<p~AJZf0US$Jel|s@^-5NOuUOjZZij%IM!4nlQ|(K zI6ViToF&Wq;!E`Rz~w>p&k7UPO!9YI?l<9RCRxuzOWZ}5S^3+X_FmT+(B^c2o#`B6 zOw>XDdh>YDJ;=ndW}M004#*?QLQKpGm&cZfJ&eI6W(Tt!j^RaAg_($HsHh%iq7OO! zW5raqC=;24WpFGI?KGZU2jkdcToH+@AQPHE=uL`EFCR;%54-|OOv<x<_%FMs;HEf8 z-zC-pfti{{D93@Xw77{4)@=VoqYEoyJ-H%QPGpN%4<N_fd>+@QFzqRK3f$m9!lZFp zK7602Q#2d>&qZRbuGCp%#ELc`kHp$mkby{gF`|eu+jvV21YNxICEj3{SYIc-(ecqx zbi_N?^)Cm~&d@~mA}7`dQuc2HwO}ayJuqS&aAKwKfa9heKF3k8y>>*xi52m$(-Mug zq!@A(-2Z|(5G%Oqg1$)+Gx|XH+jX|(6|q(wcp)$ibUQH<Tu!X9hmlxk2eTcvG2bd; zjcKtw_NF{6C`uo4Al7MPrF927oyf)*HE=8ti65c4%`VQd1+g*`QkD_hKXGCmh{Rg2 zOf62?f%sz$zm^P9G_L2<Y0_467F9Sg(*1j%VI0|hSgO+~9)5Z8ttHh*3RGQ$(N~m` zHMCMS%@LB-n;kQANBrEsjvx95`748;Mf-g7V&X&bFC2RR9d_7$U1+_MMZts&Ca49i z;5ZjyBOk9i7AsYl1y!i{R0O^Rre3A#E5pxTGp0bg%*ruaoVDFfi+i5i$vDsd$jdD= zWBnuZyDwyoJo;RnmRoQk$Y_Q2+LXRw%{ABhqS~a-$mU@r{H$tddJQaK&5*y62`XTk z4h$7G=x%-uiGgd@g@N^BEdXTtQn(*L761uStoY|$E8T(=4`M-N*#&x;mP!7vK*i<Y zwWCcb<9Lgv0#2YGEm{pbKEz=ji|Qnd)P4%4+E2b@J8pUrq_?uAl!mO>{1Rv?UzVXl zR}M;b-Au$%uD3k>+^Q3tF*#G21G~2B$bzmmAv(iLL<1&C-rU^=DHwwhpY_X{G!d3< z6oXdWewwI@)^nsrr~6!Yn&fzlTF7)kgvye?OM4k?CdpVXBGl?kDCA`XPS00Tldz{& zWCBq1FNH@Hi8qS7buW-9HLb~(g)^lZw#n?-Nvzbfs?xHJp2<d0W7o*QT)n&@hZl<d z8IQ9H2*sUU3+|B4QfmZi<BL;OI|^xaC{YG7vE^}33VEHD<*E~xtV$GmCtsGdm6xiR zy_L-GA6nQ}e`(-R7eSU2)eNmz1eiQL4GI=q*4ko}y44Q{5=pS$$Q-J6P$J~xNpdEw z<+kR?cG{kRN<|=v>9)ZDtjo|L*-1;H2Gvx@`pr3M8`N&bQe`lxj{FH$7FETiB^GSP z2Q3`=dybclhfQ}t?nf??4#&8jXzr-AmxMjNg?Hi1uwO+!`|HW@gR_ObIXW%K%hHZ^ z)0k@h{leaS>lscj|88M#zBvseKStP_Z#_f&{6yFr&4r&x*c*;2*y?_NBWn>Jx|HUV z#SpD9(qVY+HMfnicO6Tal7pft{j;4OJ3lc*qA#?xZVyfj@olN7iSU+ZCCSDPS0!#1 zS7e7*Qd-s7Z827~0axpmT5ExN3E|e#|MpC=H?<XrsS4{8C*blISRm`3s+2gBc|H%I z@p1-(wW^z9H09|F3(8e8d1`HO=-GMRu>OM4Wa9d={Td=wj}6g3q&il`luK~<!BP(# ze8^R8Ol5_e)aHdtVh}FK1~aC}C5`Sp2P5ol6)ciMXrAf9UEMAqOsJn@T6ED)s{`jG zM5QJ*bQ3t+$VOgg&jsQ-16y6CPlFvqH<h3OGT7!@;~F4<Bv+(TY3Vk-M2fY|kzcZN z(|Ra#Z%&=E0T0^BBy^ytHx5W2^#vSH(F?RU@OQeDFO}}WI!zln(E|*@8rT&?Ga^I) z4PR%vdcWQ%XbVmiFi_pCqt0)uIzRl?W}2JHvK!)KrSwe}x=DkfslCRpHDy4Yz_)z@ zrrRzaeoiOVLdybNcrYt3F}^OG96UmZ0w|(a#A*Z0VIAJ}V9*NH2%}~!{!sOkC5^YY z`%jC@zMa98w6RT3u%eh&;YP9SGqc^KC-$7WD&MID_X$k#RL~Cwx4NNbifvUD8f?8o zXR@n`757?XuyS2k(1jCQyx?5waNbb?hB$<E;JycghD*~%aNb?PNi6#r;k=;-r$+uq z0}pHa{4RKl96US_1i<|jcmoE{XDWDzE%Ai#KvzE+JfPx}pJw1W5)YRvzF|^4Difg% z=L@j_Z4<&k7wE1V0eY?R<ddHc$PmyL6M&!h`Oi#*t^o~fbu^yRyX?@D!55&s(OACo zJhjvC=A_NeB5B?%T>H=hl}45}e2Y&FqF8o~?Bm~{eY{=$bhO>Q^f6mg|0e+k*=*wC zjh%s812O9-@=F#gE}k^zWozQqmXB^>;`B=vvjG^9nj0OcbZQ9K@DcTY%X>azLGqBm z+S;h-9y~Y|Vsi0rLYPr#5tHW&m^xepiGh1`UmHzIRW8wwVa})CGojr**jtuw^K@eZ zsTYF?wdjhzzd2t!YPKs<7&OC4+9e=KAq%&|NknL3&;OqD%i}+y3?@)TYq4k~@QuLM zPOS8hMa*%?xClhsS=4}0Ui51o)$n_tK{isIx}&!a&VDSb#{tN$#mf-fVwo58jN+}& zQ%9C%m%1q%Lb$@Xwif~kaUUWWBxXKD^|3YLz-=EiDPMR1ZlcT-yRYE=cm>Q4*35`> zD^dm6I}TVFt#`$?NOOP<s((@+sQA&g2=dd-Y$y_B<h?Lb!g6SJvza8u%8fWor~A3^ zN~UG(#YzyxUtMp8femA_128jJDuC9&*bu7{NMd7Mr)$2#Aqf*6B@rEbaDT5ejK-S( zV>oTO35o?Gt7vkoMWD?5GNu?x5N!)%G-(kjDTr2wk+0h(Dh9n(^VY9=p)|v1r6I;I z5M40b<lK=Kz;^ZK4Pq;sx^Ik`&;s8a{6&?zU1^KXL>(42j=4I9u2l?ONdlY-3(VB| zKQi~(E~Dx+(dfvVrPBwdclv<3F>IaQ7dySrJ8idvMuSY%X)moEPEKj-G^M$ow%%!4 zuul7%dZ&3~o%T20X|{WgXIqX*v+V)rorn;Uaq|k7T$bHV$fWfMEm;th{t0r6>VQHH zCB?^I1_>zm6E{YRt$;b*A*m!4%cE+&|I*czx|u`#6Q3f46x=5e9Xdl%YD3p9wNy=& zD&UOI{!ue+NTBFlBBAk+joo(Th$s41=R@6v1?!01*RrtdBj4hcj?8|6&@O}|A~g<w z;>av1IUkG%tc9=~^+%zaOb}9>U_jM`pl&NytKPoIqytbBd%H~>nyrbx>IFHRn+9}M zf%O9UbLSnpY=MbtCKzpRDG<#w>{!=f?qc3zW?@~ThNc_S7<qnR3DVt`JeZ|o)(Wk@ z90vUN*Ixv~<_xjKG&buYHK8__lI#`$_Xt8=w8>FUNMey2r)yuNLnE{Fme)cgXdxv; zdax-+q5!O5#s>RXj<872+$tM;X4-#=>Ln^10OPV?nUG|P1AMg9M(@os>2^d!u2+OS zA0eez{lgx|<gV_Rs0%X=dv8q4VUlT%5h=&?k4RsNLbp*z@w&_4Ujk2@aZ{CZPgi}v zn+S_t^?k$D_p%#_hdqw^UP}444I_y`I&79EI9y6<>vZM)P-iCP{pWU7W+qg<7*Iys z%mlBKFuNtC3*aJ=k&{{#n*8z9_cY0F1m!o1%w3J@i)q2k@c<*fE-h`(I@80MZ<Pvv zu%^QA?}w@It(S_@N@2r~b(FiT!)6b3gk@j~#kJxVI}UDtzVlb)ok8?MQ1$elV9c<s z5UYY4A?m%jTev)4lW)C%IH&c)_OZx1WIi!?fKio0R$$13;>@D9M<nT{nQk-o!SWZ` z%2yw0#LH@l?2R1OUK>p}JXunJns=oTSmDhS`JmkN`t~^-G%EJHR;Yfu5PUe;ATfNr znP=BGU!8A+y-r~{MawFtZLxHoiLg1OUlKNXEMh2lloAl0nR8>i9=f8K%+<&WrqwJn zEWC)NxC5_9Hp1jhX-O{2fpU==&PuN2!NtKB@ECbE@<m<_KRaK|gG+^1@<3!A=Yj67 z<T3PY<XD)S<XCt$8#o*XWm4Z7pPTi>TEXAV#2tuxNe^Ns!F4KzTQD7;7p=lARNoQ) z6n?7;EK$5`E$OW-EscoE*^W;JEn~F0EZeU1R&JqCWBm1oRd&}W*~=8gmgjeKy#!qG zA5Pa!U@Dh(T8wxPQ_emOhn@bV74`h$b*2T@C8ORSmTZYxTJ$}GdtDXE)J55tCvRio z;hIIn^Z*D;*%_;{z0{&4w=?gK$#PY;(~?|yc4oFGCYP{BiUkO~Db(sSR0Vz5jj`Ws zJPrdX?Sp~h(TgELZFW{=Fi>~%G<*YjCo|V(S>`AlgNyMYLBohwu(?@<Lh#;MD1<Gb z(n2z-fz#8S`PnKLBZYZ6ixjrEDtBu$wa|@I(%*=PCHNxrY87p|xFB_uy^zeW`@mow zEGJ>)znZoqXHmBKB|^}u&ok_PKk*^k#U}}lX_Y`trAL^R@4ARf*E^VIg7hM$29G7; zrWn$V*V)`td|LX>Mj~MtC6z(s@}Ra0NtW{<*eX7>xvubbN*LD@5Og5}m<6|tVSXJ& zpa&Y+SfVo%bd71y6%}+MC;Sg;(CN~2vas6B4BZ(bK-#ZEc#cD8bMwsXj0mBI(~H`W z9;jeGBf{K;_zamc2p$KVXJ%J=FD_Y?T}~bu8_Ik_=)q=mH961%su_mCLcm%HR5W=w z{FnL~9%osT@d+l#;8t;4@7QHB0UV}x{|ekZmyiwyu?$)%M`jnWt5@Y~cmd?z7bWP6 zWEu07RY59Qmaox9Ql^M8GW0+Ok&2CFQfq2z(knuP)f}cgR%w{r#lWnJK<v?vTW*Un zM*pOl4f-B!A66}*j7l<c>Z<-qCcF%_%tnNwRAxb>BS|0``>H%?MwchnF}awwlPopY zCDEhQxW%Wguzm!h_ghR|c6UA#Mzr%=mfY}zHPV=|*Q46;Wb+T!NQokWO`0X8mhwU! zlANlj)JiSs=AlI*WU%tE$sjT+1x<Q67K4l%-^BwI>y`=tNo6ESvteu&H?f`23ZrFj zxs0S9mc?(59|qmpil{HV?MU75uZZi+Ef9iv7nK?oGA%mt+fMZu_vNY7g2d#r+uY>@ z<qN2<ngr$6Tw;fz&ApO?{8^AEV3Aa#GbCxhT@LA&2gYp{A3Yc84|Y9L%1UYz`Fz5g zj|~SXk-+9~Xza$w;9={(>`Ou?OdUZilg)@8oU;zSH_wyxWTzs`A}pVtoP2hA4pOy+ zBn6dL$O=<P$A!FDdQNBX>{NHi5;GPImxE^~DbQEPdO+q`$z|lT@lq)heQo<x@N3wQ zn80G(V^eeMGKunnjEUjGZaDM<!2Y>#fQMPbzSKZ-3q4B3Zx#UvkzGoO)*$I<tBxRF z5h+F7pI-Oy0+=x?p60g2<nZ6ojf?9!BrS<zsEViANGavN6_cF&s?>@kJx|gbTB_&$ zp1I?C@whAEv+8r(CD~_E&M%FXkJ~eizZK@as+@6S0*hSf3~hLVW+1HiYC-kN64PFt zRK2o<zY?C<&+^}O=R2mlzZ%!jRu08B`2Q0l$U6E&Se#QKw+}oqszpyWKfAa~<L`(& z!>me~m7M3wh*|$F?TBM`PGI3LQD(y@XpHM^DndFzV?ODhVj6pUya(?P`*R6{CaY;t zkw9y5ys5!(d8mG~>}&0>erpx;lEvS=L~^1_lj4I>nq+sgge8NMfu>|r=zh(Gu;^-5 zBV2*(ml$b|nqSIQ-B)`h_r!4SkScBAl0e3a)nM-=;AjU!p|zzyZJT{EX__j!Y!(kZ zhvYVP4h?C|^RPon7_R@q|DkCoB<$U8-f;s5V$FLf>b=OFPo0_Vl?>(nFDfT#X)kJr z+YtKQZ-$zkfotW??I@$QT+5U|syOzNVM%TyiLfZ8d8`>B!WD+doOh-4IENwgXFnzU zDuZ(1JUM9yx(-L4gg<RDVaiGYm1K$s_)t>D0X@;{-DOXZi3ERUwqL)n<sIayKJZs+ z`*%E-MNst`YIrhQRBes(7tkUE$lqrr`-K2w;b&(1)GUjsH3Q^(Nk5=G()-d5036gW zo(Jry{5w;&je_QLT3h6`VnA&Bd4S-;CpNFeM}LD%y#Ls8pCHcge>QQx^{1FPPpr-- zR%dZvL}Qbte-aYltzEy)xC8EODe5WPbvRq@JKr|H)odnB|4-*L*-9mT(gwKY1lpXy z0y5FKWbrwP-HE3qg&x_~#IGiiEivPU7MYw_f=6J{2cBahfT^lj=XBOV*XhOe*jGLZ zNfVtRCRg?O-qvf=M$Ez^{LLw*u-4k1SAF6GlkPcSI&UD!TdlN}Y4u|#!fGVTI>|JA zQ%UwBXiiroS$J4KRhgAL$}fA7ayNHOX5pW!WFEd#B^%+3Rk9iWr;=>{?9*2GH~rL6 zCad%7{9<`i+xo<knN@GeJp4<Q>p?6mSMp9Q+p_j8cOZO2xd=tpQagNAKcySDmcGI- z7EQGz=q;I9hdIsUpX5Q{n2$gvg#>b0-5RXnMJ|(dYFrZAbJvBfA7k@comBI!GE26i zWYma)lWLtj090sPxY#c{45$ZdMc7TFm8(v&*%o<tn+P?3HLCGR*D7i#4Fo(o+;by( zbac=(0$Ha$J-fSIMoi;eW|r7#If+v~#oSw!e#D$iq7$!d)<L4uPkBk#Ur;jUWV$=8 zUJ}n>FL}rl+)h{}JSWx(v0o9*ipZE(pb_%DE8350<4V$Ox?Ue5q!Je5!V{iDedfQ1 zlxa1H8e$D3nIq%b`d&lpXKl#kW?Dq^==H~(Eap5xLpCNYMNVn!Pm0w-c8T`yI&?Vi zZ;~q<5TQ}nh|3RuZR;);fJK3EE99-n5A;m@i9bsHDD4Nv4plk+G8Mz*p&u*l2Zj$7 zTa8j*MtG4bn1Xq1Jy}k5aFxn09=*6EY1BX?&?UvB@Yg0oxGnDe&#n{Bpfo9tX@|Tr zr83Jn4ZX2@#$!20hP<zl&XYx)LzYcx5LYCB`tetsR&g2*4mOH+ToyIK+IpB{Re~<q zulhryC?jgq&+^-^hA3NpAZ;naNHx%$axPI@6HXQm0WZ#>bP;AL{pScQN_zCk$vczt z$3{ashPFn>0ew7{qc@rtFh8S`Qt?(fPrA&p`RZp&9N@Y9Ad@o|1x?Qjzw>;`7NNDF zoPRBExDJl5RC>Ph_=MTcVG6y;*NrW(Z`SLK<9xmv*`PNIY9A~RTjc{@p0oidk0#e# z+nMj+GK?*C3a$!<UjRpiTop|Ltzo+}k8VSVK;0?O2ilL$0{uLxEXtEETuk;rIZC^Y z=UvOmI5G#w94JS~9^t6wfKaKr%sI44ON{1UU1+tB&C|oowOp4QvJLT`O>0|-)x}~c zH-$5uAJwT>`o)dW<sjU|{9B2B;WuT8j8r{O0M<gJFbL+vE(-YY%ZSDRafD;<ySqBv zL7SU*SHIxdVO#a<dyTB^%x)`3eHu^|$3bl{b6h<c2d=B5W4RyxG@{Uk3g=I*iNbX6 zd)Y(;W7k9($mIZlb%yXd0DdV~%ORa*W%owMbZ80{I+k#{r2rL1Tp|NGy-_z8mY<`u z7v}S(MVb`@ly!zQMFwS<m)}97#H>p&85vX*M`f$6^-@TKjN+Y83Sd*q)}kXTv=#6z zCJJ_11rFZcQgnu(4%B$p`U4LH%5Jm0D4r_W1~B@~mkJS$uoKMz+<t^xQ*jb%gdM(P zl}9hFd*zxPznpC^7;&oKR^VnbR1)di+Z?jKj%CalT#5a=Qu=s};sD)eu1*#jao$;9 zRPkh?<C&`G1yIN6ttg;JZk2x$!@631feM+REBTI`mC#nP`$FZcmKixE#*45#5VjOo zJ9@lEzT#Z{W|8&Knb{_u;t!K}4cfPnZLD?_Z&wf>^#9xR#5Q${o>;H87VwjK6Xk2l z{I*Trq2f)8D-`39d|tdg^Q;6#um;P<!cO|!()2UqIQXQfYjCDwL^W>y&vemPK2q5R zq%$tQKPqo1sa{bWz@^xbi=yo4Q_L+qR~8%iuyCUj=vtO!hmg|`Di<6O{E)a2N$${A zH%N*Gi=EFF4lG6sOj%Rc{3P7rg-(<raVc_A=>(P-Nr&q=x}{ke&!EwyI6B1Zv0Lo3 zSRSrv{zzlUnr+p!Xh9R2(2!!i3m}ToXq^v#!AqSw_?FA1<E5PH45MRLmTJ&6?#*H+ zW{VtQmp=MYZcVUk4Yr=_z}>It;O?D3a(TG@fqPKJ7w=ji^dKL3F%?{q9K8D#6!VYv zf9w^qyl^ek$G+`<ijSYKfdGF8$tv!$D{&VwVJxpL?WUG~bzuqcx!ld!deNTqQw><Y zfw2)J^uj=hz=-;JZ|sgr>~=Xh5Y2eOExk6$4I?bVAN<bnh6VBCub{eziS}W>Jt(M+ zn6Yw?D}?|LkY^>!!vp_xPZFL<4$|fhFcR*3@E$ikzcF3~tT0As5uFx~|LY_LAIvVK zgYZW&aNx)5=B#9?Qg$kih-^w>TVE*q-uBT^b_OMGxST-J(FQIiH0ltl@okcG0U~j# zW1*D+J4_DQByWY!nn}sLsyuX2c+heXY&6r&(##f!1lqxu3c2H)Or&P9@Rog-=z4MV zl3D~1cde)jF4v!xEdFpai0Q2_(eE`fzL~^sam;iqIPYF_XI<vA@aR|eL(KBrK+)zA z!URd!^ws@-Gi~fR-HYAUIsaa_<<d+HmdfjGJUiAvZ0z<G-yyNzX6&o$4(VVCBSD6` zNJArFW#$yUs;l@?b1YH|BbaG8+~de-Dp%;wLQIUngG%)+*3)tCDc&ryFPimCMYUIG z6n}m8X}DCuv&FiYZKTt&gl%G&{Q7<jsNn$~W=RVNj*wD3q^cr0^mw5?-9o#&h4B1) z9yP(LtQFgL(x)#r$5ex)e)wWC{AeQ`igI7~eoE^$lf(QK#r%vLf|hE-Ylc~4UhItB zXOD@Ad?%N7%g4AUb_`jTus7-`U}*eW657`=tJ_+!5dmB1x`B}QkT9GIv1ZF44vWr; zEnXmmYqmK?!9sh0pCR&?qh(l0HJFfCrNLkd1AtfnARK(x!&>&3x@cpsGRn)57!&}- z!a{)Sk*miVE?Qb|o4w#4jI2!?Xamp`BTC#>gu>U*fjLeN*8*x_thIm|DgtyZ{FMo) zkp%b=NeiffT!<$=(+>K993=;A;Gj;$AE}ttL+qHxRZgws4Y{#?UL#A=L<4E(ZjFK< zmRC}n90!zwmSoc>Ct`~xgjAE86jQQeCjcZeF;K+<8(KEBkU|glnd6=b0g#Z&7LWCT z$R<Q-?rJpv2*-;xH@!wdflRM6$YtX~U!74`mnB;%2FdYbX6hJX<Nu2xHV&~H?z%k^ zuE4hu7DnRn+#Z3dJyVE{^}ydY|FBxnf|EKk`8~GRh3$W_Z>9(vH%N3dB9`{vW;$&C zi98=M(||tre0(R?eE(va=OeQO69i6w>siUHl^AGa15>3{^Ly;;Mm@~N2FNT%*^qzF zA-lWL0~eqQR}?Dm|KD6P2S3L;%-?|m`(gI*8V{tJDMEP-a+o3@TW@9t$zv9H&tk}e z831gHOLt=x#57Ex9#~^KHXvNbU2TMz1r}SwaO!T3mK2b-L$(+jjw?vgxD^5fHE0#6 z#n|W@dO0^9vR(2YH1HdbXn@bDVhKN*L`Z{TeQclQA*6|pVn{myo%dtiB*Dwp^QEMc zcXg_d2x0`gS|r&S=Bg)##jEjwKaJpNpql-VM1UDfHe*RX)xr!Tu<y&}Rq=&P=-$MP z?<En%PrT`>!dlCKV8G4-LaPS?`Tz%jJrq3mI1r}ya^?>~nm)w24+L1ZaAl$WT5Yjz zUsD=mNew_S9zkGCt%f9aFp0RWS`}g_%>`V-cBi$DpVb#IxH4CROk<rzm<>t8f7PV% z`ac@mxNhE1lC@f`993*X$^b+{(_k__l{(atS&&xJl6g=dUvcg?M~)-WQXf7<K6IfE zRm766zqMrUT38imMCC2XW>nsiY{3HKX9K2Pwa?nU0)wV1wcH^C({F%R+pdhYwxtY) zE38O#VSG&H7=mLm>Tp>Uj5|;+34bKrWSTG`t%k!@*(`j!O1fUw>TQHCRk=;q_v*7& zR34KYhzenn?bvV<-Z~9isnyH`6qu^clDR=_$%fToNmn&nvSrm-a=?&m$+juUWqRE< zt&zlPPQ6na5=%;v8I!reY`G27oLka|#F8z;xFrW{%q-bPOB-t#G%zjKhs2V@)(=aL z7;JEl@U|XoNq9@`hxUy!LulEe+#BMn;jc>})0FmE;V&AtFUFU)$y)#Jk+Bix62bw> z6T}L3s`&0ps3<;(<l)jCs)1`@Wg`<$-`p9Ucr3YT;)WajQsea1C?zPwJ`+hy2fYU+ zHNd}`3IfqVFLyJ_jq7jb<HvsR{qKJB3xEIEt2f>>F<Dh`{Y_&dCS{D+DdTef^j86) z5AX(ERirWqfg`WFHRP|Pg|c<cnD(RP2;Zfzxyh>_j*0et^n};M46}e|6dEXp*P%=d zi4Fn}XxmVO!m6Y)P{6@KY0phRqOO6bVH}SkZ`NMvO2T8wH5~%}3SVfjVclJ=86$<f zibUp0QK1h}@Va%xUI8Ba#)=^55GalFC#ZJh^MLa93XqPw-BqaLiP*a9dZ|_LlsxEw z0JfGZmd24+jTK<?`i<oXxQkLZUlu*2T!jLvs-^hqZ?I6&F?9vWvdZVM6&3=*g)nv& zKR0TS%~H@&VQ?o!L$_~o5TpuQP|a5}L!H#=#sn4W5GYV7zqy$XYilvZx|d3)%r_4( zT1hy<8flt_+|Sva-)YG8k#L-BQCmFs@MPN%cJhRh!y)u567{$79OAi;Ev&N}3j(-F z6mDB9mkGKObRKv!d7Z3%>O(GfSA=O%w6=L!@%Gb6Awk*i;`Nf-FmCV{_kCdk*B(EO zmWD0097#-RxTTkavOn9XL$6@WApy#xKp#&MN<z1W*vyc?W0VB6*FDN6m7M3BCa{-p zGg0MH?#J@7EL@7`wyG@knM6Q;&A>?Sz#onssJvyMw@Y;lsLGJ&vzAds^tp%!viSu( zEGBa*h20u{p^#h6gRP#nVQ`d!2je}$gZ8geVEa_(<j$dP4J~#A?ZPM1iRKFzE3SDB zvHvutIzbInj>kq@xJfMR#PgI$Qj}15z{egNPzc3LTH8!pVu@x979A}1a5R}7`*XRT zdN(D}tR&EiAfs}^riTaq<R6mobG#JhCjXEhx4-=#TnTex;Xbi&{|8&RAC3{zcEd@d zmPVA0Benauv5U|l4qK#Tz%pGeeu1W3*0Ngv#{$@ps<PAe*Z}SD-%QgOH5~2mvx*qd z4x>yxZ64d9l>V?Cmh1d}JA7V8DVb|Xo&2_t2v_pZI$ON<0#b)zj&OI3rnFyt>-i`h zQIPvSjYmT#@^CxXI_4rWdJx2X=`s{v1vR}kH1s3aVqL-d-*hzm)aT<1z%1Vo-ZVMc zAZ!VW!QO}Lf@C0Lk;|m-7gVsv=}?t|YUxZ+p_hP>VM}0Pv2IG+VPQU05$t(-Mc8@a zUo%w%t9K;i#f?8Bt~Q=si4IWbY?Z#66)h8wwnE?yWvK}nAl(GEc<w<MRk`?D?g#dD zKQ@sCX2AhWTcGPy5e#(N;Mf6(B{M)T*x8`7eD9X8LMmxdR~6^5*c|oT-h~>Yy^U!U z)qp63ElCM1s_$Gz%9c^fDL!giC!zsy)QMdTL4joD$lM29MikZ;MiDI)RWIkoxLK93 zmEi+v@!b&){Dd1;$aSo{hOcJ$?qh$ejYgIV2a=5TXeq*NlR}ek`=pY4*cWdiS$txx z={?a6PejW(;_*IBoZGj3l27+4x&Mty-l?SO*vp&Z{)=b(@bIi39<6=2Uz^y#q0X?> zz~&4aISnLw7cGm!Pvcg;W!YLJAC5NW8g*7JCbOnY9uAVza$7$i7GM2&@>GMNn3AeR zqao^8E@gzl?uB9_l{ufEZpSAij%JQzBK6ZiIWs#fHT!EYzZ1nmNr(I)&f<OTS(?IX zlf2lEB>aIDHRXv~1*oc1aGnEZ>=h3>n7N^>X@}y{;>*wSb$Lu`Pz}0GSqkpYJXQ|^ zC;htG%%jkwI#!x2UD8UtP%}LGR>tPtznTo=n*jVWO`}b;n@!{d2EEovROpeLR4Z*{ zjYiIhW?`PKgW)?L|8x@O75BW%3>Qqtk0YuUZ<lBEN=Y3EBRyoIp^_hh{|a`a#l zc6=MT{7cUur&Liv+AW(Ab+0Ui7$lbWo-XgGG~CSxAy;FvJY(*HU}tNKLr<}-qkBG! z&7D7UZOf$1y=tpTTLgbG1s6N9i95dXiF?1Z|H1b^ga?aYqbG0pFbEhb-p7_r!?ltQ zo78ODEp-e@*$QHHvk-ewPQEPp<y8r!DCes)qE$+>+IstlWOmRI(Gs^5G`B1(p=51e z^cf~h#6}6|zBphqws_!qn7W+~|2*`W74LtB5jTLrK%Bf`>JWusg{y8@SL_FFI^u1= zmvgan!s|8ZvEGL41|D-<z^v4?ijdk^JETIE*3-uu98MU<!O^&c$q&tWa8&m`+aPUf zvL81Ni<ugNW!ns2)yj^QN?p|&&q4|+O_7hv3gtb+f__~`Lp91mi%bhfdIVK|jHp(= z0cZ6zer#8q?0;r`HV8vlZfJt$q_T&HCTxl@7UT5bjdGF=)aY2A4Hrv!hek08iET8C zZ?A$(I8N8net3v&tc;~4XWkgIumZOO{gm>I3B-;9kM*$cgCAjXEELTkw#c+iFv#|p z@WF_xa#HNNN#WlxvLLk?ELcmrIHUzes9`OzO^Tu;up3{2or_JP5lNFGTJL<qW};o0 zp^W&wSF@p#9lh4cxSy5OU<?N{pY}u8$GJE}I$Jal>j({};58CnfOuK9w0k(w=-q77 zPS6~h)7d$zRa%xUXA76JU|ISz>!3zHVxBQ!YN|4{F$A=vC*je*{zwu|30uIX2b>h` z+g<ReO3^XMB3A;p5Q>S`P5E@k7if6VAD!)VgCQru0`$kttl?BBzKM8gM1{%EoF?KJ zDDo0e$v;MO+nAgkOfWZ9;IpHf(LPwA+=Wv!9zqWD8C^`0Xd7h>#Hv*0HeB<i{6=y+ z{;n`GArmk-aRW?ZE0JTOq8@n%or(6PvB)&yZbFhs#@iw5!4z)a$Quo*BD-KqJ!WzD ztA40g(Y@0KPSR>yLnRVI=y@$JNTR|t49SUy^iq0d{l{02gYfFV_?-`X)Vmq!*{J4W ztsT5IyC9V=uZNXcO2&S>0IVc+uiP=j+_bTlc&$6I#w~S@BSQ@dF1roOFjERKkcvZ# zi^&a3z-|Sx#@&cpui+FT3xTFOAzs3~ibxqN=?m2nn2E_7i6&1q+Fn0A(OO?_wODtj z*MgYrNKiSirBXv0I^e8!wAavP90pRV+E5Sn8E4!PSMo!?l9#z;HmvKaizDZym`rm6 z_`olsT0x+vD!G=Vtq14~ZhV##hgO`G+EeJKemsle^w>9+lcKPeHxTTm7?WTGV5mIU zZyfv6k0xPx*!1p?a{Bq)MAMW)YrHY0McDN<3XB$e1J-PqLa*(wb4I7T7M+jiYn;FM z!izm&B%>9$t6S5;D!E~eY18%b+FmmsQZw_s8H9;mGvAorjQHz;ghTgghQ#d6to4;H zQA3wnYcO?Nkk9X==y2qM0np=8=I|3gj3Ba6da0#(b%EZmnf_f_eRr;v#ZjgEofZP? zF;8Tz+5tIwu3#O)E+vY+zoMh?C9v7?ZxN=5OWfU0*>xwKvMSG4pVl|HOfkaOM$`JL z*mRDjcn@ngKFde~Zp(&|KAfS5H#N*bi9%u5%vjZ?LWhh>iMk*4>H9bqD9#CP<fo!3 z#xyvVR;1_LHw)X*k)_2HxA!sMM52~OB8o^hneMcMZ=CD?JjbiG#1ZkGUDL8`ms}rs z?nqfQd2Uao_#IC^!`W}nfu{%Md_ex*6dyvKx2I_3Z8ISfFkKjs+0@66UO8XrM)%0H zzFa}+8?v+0U!x=QRx$kS*H&d`@MxW#Uc{q$X7WNFD1gPII9k7i2e){^!xV*OEf3;q z{00x!g|*U$3L~FS)}5XtXD2VGdIQ9L(xqLt)u3HG_<XS|)7R5u$r@?#Z!cG`g|gzV zH6)JdT%lo5$Sb}_m$gqS-uxmMLPNGZ)m_~3BDHyD_DCvV&diST#P26%2aXGm{n*SA zOJ#0ii=yWw{-t_8%GrA=HT^}{l3_atXZV&)^r0(IY%zsG5d)m99tFDZzmU;Tlbabn zE%uxAM8!I(C;a?Tfx?n<ES1Qj`eVJer?Q?EZ-=~WIdVqJC~Z#zX1G7S7pm&@9cFZI zQrxY*ECUR{Lr&u&PC5%G)o|GMMu_`7gBJGLA;AwcJ>;1pOxb2$`?=IOX#*MhwfHK9 zop#)jp!+v44fRj`-kHKEZAO^{F)lLH302;v&Me3W)Xfj<LqY#Rlo?<BWh<bMDa$A* zwHpK}7>88Jx9G|5t>UwNjn2JEblgwe<c`?nRBV#aqqQdA^2>ewG$l<J?!fSRacBzy zaz%}GT+W0c>xaPf5Z)m^jpeBU-MDIy7GtX=<2*EeFTrL~U}05IDX9S%Jd*WN+bOl) z(I*ia?6DqdlLFOSk9w`aolN@EOqZdSmAF<DZLJcwhp`e$FC!c!g-`-aZ;q2pJ0q%! zzk?M^u&2W&A*gYEgfsLfUSy|!x<mo}8Bp$IVLJ!)#Y3Vfp_@nz37!QuENfcTDzW>2 z4bdL@%>QztokNp9VWRDW-~`b=wM5H(WxbduVSA=&%-ossL|WyfF~^QksQ@ZMFS)BK z8FSL$Io*=CS0(pUC1Xw+JSUcvcEFDd$`c3=B`tyKtUaDMc8Z@tGDltU0(c%G5|v)i ztMr27DvhVaFxvX@tF$^dW~NoZ@Z(qPSB|fkaCy0{JAk`2F4;AB2_oPag2gJ4Dqw*p zJZHA52?d14G}YhYO~2+F>_e8r-)_zk%i(X#p{K{Vr?~>?Skz;>$5%LJrTJTY>(?An zh#}VsL&=I{6C7H9wPa$huEy)mYP@0&@zpG+c<V1XQ2VQr2da`W2YbAiygfFLlN=qA ztK9c~#^a#8BRW%Zgo_2<7dC@E3)imGMYVaJG1r01U5k)eD%T=QX2FkBlIwmfmfPq# z)+qWzbgXHibB)P?@Q+o}U5o6q!65G?OAhrMYli)7rWzgzcUJ{QW7(bulok$yQxGAf zRB&1{>p9uDe~;xloR)0%JZoCkw&f03E0$~<$d;VuZzGT`cewZ2NY7(u)IhcZ^I~N^ z#~aCQ2C|%iAWeb%#VYAuTb7%LPgS`MbKtUEF6gUr9c0UOkS*D^VX)+&4TB{ewU(5p zacp?Rx@Wng=1ycu2icPIt$UU%tb3MRV4g*y*UGiZw}%KAS*QZiDexEak-PwOv)dR_ zfh4*S9!Ld}KM{0gqI$jW!L*}BP{5w_!Dg1ao@p!6dV}2(HAxGIly9f5G^0>HaD56> z8z&M(Ak6+hFqwm^!tc8Sq4<~#MZ5S6@gBcN6|x)klwLv-5nIVcBoX{!Fi79}WD;Sw zp$4QiLA$uA!PbiBW-f{13qVI$Z%6=F4SL$=n&Z}p1g|2-f8?`cnX}MFKtE*lR-QuE zlw=!E5CP6!^Vg3`HT+mr@y@kmZAR?s#e$^S7z=VTcCGs@;MZb7RyET3;?3tOc>A$z zB3Bs5hHYLPpv`V2i-*0~bQJsPGG|lS^f-3ePgh|eJ!5(pNYCpJ0|~M$4CD^On?eX? z+hP*k{#Hw(^B^vMOmaYGODur(#0H2O(C19Ya2J6J%efCoCD>X|ip^_9R%Uz=WidFS z50qJTzaw(CHe3%1_Esd1Vof-jR)HYBFBS-LKZN9gASrixI?0BWaxoC3m$N{SpR3B< z9+gp(F`6mcfAL<eJ6Ul>jn5)bA4)Y4TC&)h@|Ti$;@BpV4Q8XmtdZ(H3y(g4Ps)I; zSDH%UrqA%Zq2KUKe!o_~Tl&rVV>y4MoI!H5QV_!s(zI5p`m6XmyeK{<9nhh>{{d7T z*2>NE5KqnA3oz~}YhMLlvH2q9pR0`;njE%nrd%>LQ2d-KIoGBtp}4Q<USNEM4pUz0 zCH|_(ccXMeQRKC(g)bOz#e+*+>+*<!3&lnsB-?%*W+!q))l}8lUZz*uh}YHzCKFP5 z<JI>1Y{qSU@o{x|>fV{UOn_YLvgwc1h1Xe+7kcez`^39v#OQd{ySr5Tff;KbkF~=I z96^6*wJ-JB%eWPuX}nffwcoAUCugjEb*vp-k=Onjt6jD;(7n>4G>d(~w#7zasa%~R zcKc9+@THYSsgxihI)Zk{L;0Ss;RD?8#GIjI-^l+S_5z%+6?tAKIQ70Y{k<-b<^LBh zW})m+J~ivi;JjudNwZw!gR{i{c<y<lEgyV4PXlDO#iV}!9q+p}inb#^+J<UY%~tTw z77_AKV}%#M3*dHYW#1`Sq+}Msb|!sZa$ecuFO~-Mts2#M_TK_|s&Yv#)=H}v4M3Y) zuxl~;Dc}iRC<#$inV#@W=1vV~U7Uckmgdz=?<82XQ1s#aAr++jV|)Mlut&_UI`(|w zP#i6X-+#B_LLz<;vG@1|`?051reSXoyq%{5HC^lxh`~<zcwkbQk!3Iny3-7mB;zoA zYcn6XzV+(-_kRv4*Ud-jmOKQ}m+4kc2-7Y^(-;{~i2^nJGwQY>&G^QSHf5}otV^cB zj<+ZPQarI}n+bCX@lPc2WS&I&ki23l#s(2*l{C$;W%bk>rej6Ztk?`3V@9JY-7mdK zvCBMz4HH-0g{784|L?&-dFUJ)y~19p?r{LxTh)FlLcCgWZoT&kztLfS#*WPbWgel# z$H!zW(}(ksW^)B4rXN8$;!sK~20emu0V#7K)uj^R1RNOF;y%wI7|*Vr0Yhgvh77^z zg{*zrB1XlkOrbyBnsqLV>_ag2h`$IC2X!sapsk?Pm451eL~jxSKVubgAN)muxlJQ^ z2@eEAE#xSV&*6a#x0=U-)##Va^JyiI`KwVnGe>1>NXlY0ie-GXWzS4>3525I%yXM+ zj7Lh$ZwL&ybu;1r1KjA)0BC-^dQddLgoGWwEk<+R%Kf;esSgLWh}UB3OVfT(CI_CM zPFaS{iR_9pB>^`4{#y|kr-oDGy8$@Wy3}DHR*28m=<|O}?Rs3^@a-FN6oG$+>X1vE z?ZSdon*)oVkII~A10HprTt%JFq=!GicdB*2zW0$J#$EA_lhlBkP@I*XN7<D~bX-2d z;%KEAi>_M`wVS3AC$4wyV;6j*t7q*9ALk@Z%jn<wCo(ulh5djaV89Mehv4G|fx38w zttTX2&Jtlwq%$^Qz9a6Wq_qIZfmXvp+r=HvGkWyA(6UMB$ngVn96kVN4$+kkkW3WP zXex4Y1X(K;)O43XCidQ)sc;0A8k}-xIN2|g!>?CMg`3N-*pAu?8XH)kkaXd$3wHsQ z-<fL`-2s#rCcT*zAL&y_F^>ql1A`T!x|ex6El@R5$8_R>I%|d0y5E?0lOpD4ug)xD zJ|3P8ZH=^Zxs;s=kImZCKn<JXhUQ9s!XvKJ14d=C^hUne>Z55l{XhfCXL2Cq>hhv| ztG;%T8uSTQ_62|CB8@8dgU|G|6)V1MSkxBjQujs4_KdX=8mMkOy9@!=HiV>;F;y&S zmmiG|c(RRQN00jld?2Vq^XfJ`MJsqN!{E|29^ke>9huH0)1%uI@FBfzlS5p#ZdHWD zZB-lE7tqh*?gcWX?0L7ZqXwqN70?ij*eYC31N^#Lz(HP}BwUL69fnyBJ{zPcstGr{ z7<#~L#OM{YkInir9*%u=tJwcy5h=B7s8zizzmoNU%=Om&I2_cyp39}EST$1d<vh50 zKxQ!DvFhHo<TPq?gfSi<TGfDLvqLtJ4SK=tMYiMFIqvr)^MgqM8R2V)ApgymsvZoR zU;0g+Q}Wrw1>Sm~j?lW%kKwZkKC{cXQST#3c!swg4&2I*t$&Ia$zizlw{^0SMSKzh zM0<p6#r}zvklhM`6%TEcEtV%~TcLDZUwD$d#>P?fv{E4}^&7K<39R$|w~DPKoA1u$ zLCrEH-v!O6XmRxEA`?1`{Klai!o;w>9%Bk{-q}LG^j=?xElRE^p2H{UyeM;$=J-H* zjcv@s+uzG(sp+<Ij-b{W`^p*K3`Z+hBo`9k!;aM&6ZTK1^l9#&5<+8!PchKwQ$+-$ zRqoKKT79=Z9q~^sXhOG(RjXKl^r-|kK5g|reV;x(**`TOg5y3l@%BQdkZo3~*I~8T z6LlG!#i5mMHFy6jW(3EJLVE+KNr_y<ajt7ZvEf=8Cb4M4wPzB|PHs$EbdoZzWVZcd zSl)LAb=khFYK)OG<gtrzoB2h)4%WUFBuFE^M_swD_^Sy}xFQ)h+yW%^{>y4%70Hri z`E_ww7TGl+JMe=XhcM43p?8*yG{j>^z*s<{P$k|DlQBOs`ZofpmGm&~TNjZ$41w94 zC!S7jQ-?r1mMD(t{ULj=yM|N~6Xr59q0vkEh4<8zl2<HswXFFUk>+uM9(uh#Jjw|z z9dv1GC(+3#EQV53t}5#Z7AQdWk-n1m4hd*1-uAQneAFf~Cz>Q8vcOT>1_V)63g6;! zHOz&_m6cx`-hSS(--Gi?GEw0EEK6aT>R|Dg7mG(VQGpdZgT7qiJcCq8>86Jo(y@G2 zpoKh;sT5rYhjTmhg+beb-=0I>kOVX9>KXo6NyV&sOZ`ztY;iYNcZ<|E*z^^bFph!S zeyezR6$3>0yXQd?;u#hu#yAP1KT>)3;=;8ovjb%o>P)VTaK*@CJo@nFmw4ysC$Z10 zJ;4GtwVtW}JmYG|aLHXHXOyUk#!HJnrod3$CK>G7fZY5{emXI3iYD?y$cXSj>k|@A zqP2_KG*+w(;)u|lI3kQdvJm7i=QaR>%d<Zgb>#v56h2isvZ(PyjWxO#7@txXX;oXQ z&&_ET?n&m_NKwnlhZ@B(S%5kjgvCl_4ban00}9h`qcDuQbhctr<+@@@tkulIEWxZE z&Z}kYy+D#P&0OMeYe>Y>g~x^JoRh%SG!Btm>9AelkIN|s30&e2wP(5u5i}&g+&n8e zw~qv92tuRU;`O-^!Us8HW&;*sLUv-mB3-X=#n5V$4IB-#)v5MCqokHNz94T|Mn_8C zz)C)NfwmbD8Y;Q@nN(5%((cA*YSUvIFexv#HVFM;bf{@NmgQP`vap$xmd)bNeomar zm<+A}Fh7Jeg@NL`qyKN$Rb4m}kTfl5tP7xkO^#r#21+2i^QjL{tGIhULeam-yT;3G z%U!mlE_MBoU7-BMMtX`?;-k^0$ktv60<@WXuvzk&GUyR-MNCj0dwR+KRJ7UFt2WLm z00~o(+Z1m*!<1qhDdWL9wv0Odu6t_aAjEz_m;ku24H;73ak?dJMe9claXBj~$>%4L zWScSeG??+iTv+2!Box0;q|-T>(Ad0S-ssAU4e{Pxj?#mDGS)+7V@Y|kU_3>S#@MOU zF`!7|Dc>Yvy#VF8!Jg{3^(d-56OW~(-X-O!<td&W(lPUWRNND4ZxIo_(_(oNAR0Y7 zR1PZ6IU7MXNW%)>jlU(y5l_;!a>$bpkQ`NXbBBp?50Rs8l~3b`UZ<X^z~(1utgR{% zz@%9Yf|h0b&42;gmSy`q=_P5uSF%E|2Q;7WCBSB{1jDf`+k%D^di2*CoMXNn(WKkV z=@@&(VO8j;gaX+j<aj8vq%4%9^1_lc4qB>_9RyycGa9VAMCQx=#uzzR`gWL6H*9zE z;;#lZh5Vo9f(}aS`Vs!XkEGdYI#lBfzF3iz75Q4_%2$jm7UEk2PSRSc@b)7nT7waW zB_NcEWb@*dOQCq5)&OR{TiTxZoZ%~hlNSdePugeShWod0539xVOfJ!dHf>hB4Z}eI zgUY+$z+rK0MW-Ot8MqLKrXybg@UrZpuGh9T=5t6$LTKV4Da+g80cO=I3<j|2h~}dB z1WwudB2`9peu)i|q02iURQ6B^D&(o(hehXbUC8?o8Jmp=6%LrL#LDbm#KRh54s%$K zlD#*cr;B*RXG1cc+<D`9ei6^eGz%THpsl09&bNiUnl(}|)cc>|9S71UhgNvEq170= zAzk%RiI1p|dB_wohq^%s4sonZdtKR}Y`gf!!?Ok<_$<RAB;y?Qe^d|xP>9t+s1zQV zYBJ~f&~#-UWD<Kx*hC#G<jh;smK9Mcc%3b1K`Mkkxflg8GQol7)$79USIImFFbBM~ zsO4pP%`q}TRZH=v=lgyFN&sSF6WE)(UZn${Rabhw>fQV%nG8QsY^|yJkTt@grnuW{ zTWO{Rv^3UMF|xTorGZN3ElMzDG@7k}_TbR)$mqQJ#e$Qbw(#UrPL*b}+GU7aP#Uh( z7&%q>Hz4%K(@a(VDayaGmVbJRi)~}%WaZyf%ZI$BNaV0d5;oQHW%$h7BTpmWG|)C- z;KIf2ospAN_~u&S2+RWIzowQS8!eRo+FE{WR3UM~=30JibRPNB8~s2>Vg7XZuh-LO zWR2B8KBD|TtmP9l`Po3u0+fW;)$(Jb#QaObmRkO@j4hN{6I`-(mV^yFA!Uv$XTj7% z<!4}U&iuWdH-5wM-`mc2Ys{C`Q}fK(jHF9hDz&(2x@m!`eoJokH>RtU4wq8J5#7$F zThoc@if%Cpe_YjU3)PQN^Ve%N!v`4<^W8;>TpT+^Qgc1$KIlzr1{2}+aX)jwbvo4y zuxTde>(Z7m9me%n)awU3EUu|kZVDWyV*rXNp}E;ao<h=-Sl>N-OO*34#bL}a9v;;} z+anh-L-<(V345;ml{_Z2a5zWGKU?q>Xb+`a?FcIp0#ZAKNC@bjlBWweJ{6ODbz+n~ zFwz2h;C3}jX_H+gksd`As-6Gwqte2VG_8u2Fa^iBUIS44iZP<`5iQN+gJqo=AZ2?J z1XnA`3MOKZpaKT8^hXgUzg#eCA=WH1;Gu|bJjW{#qv}<_rm*1~u5JbFf7y0P2nWLz zzB~dqKXD5n^tK(7MvhY{FN20G=__PW{#@j#Ft0{Tq|v-u$_~{uJqD${(p-a}FPB7T zr-0apST{xFmdBAi^G%K!A{@z>5~acsjrhC$6fS^UfM_W<Ed>>Tq>`@>n6l>wjZBJe zShGxpZI*uG(@HX#YrMaiqy3e%(}v>RLc`Eu!kjhO-=n+S5;LI4okX%*Xc{cDP-+^< zh&Z<^j!SL!*>Z)n_~8;DfZZ<wE#d}P;xJrv=-TQDZXhnXiMZ?x`$eq-qtZp7hvsZS zMMP~%WXrWX2cU8Gal_TM#n=$0_YQitGBl0PAw(G)W>O5Q>HaH>YfydyZEio5ME0wo zgnWB&Vsx{R4|9N%$y7lk3rZW!KsS(|CmE5}m@YL`$NM|vFNez^M-L=nN`Vmu1IXCR za-IPuY?LXy`MgtQE^t(X#ylmSO*F>Thf}TYGs$ynGi%0O4-8Se9!R;(UWrFTnjPt^ zN!!HMAwAm&kd2;O6VDEu!O@hBSyr0D)jVR<HU^&!%Ny(>F0r2j{|ur1`MKH|DcU#> zg+R3{2q2F?=g7bACdMkm5s_6nHXe(+U|_(S%;{7-g&lGxFIWDe|2niFGcL0uMK)r2 znY>O%cl|g!ma9JIq-|NYlO5zfwE}H(OBc|auqbPpnLr&PuAR3wWd3@Gz?6CJh8LT? zpI?VjLkU6RJ+*~VjKXDid((|*q=t3OAirEJapM?m5&K6`u+=J~p$Wj@-?+XigXIyk zO<Y#_`f{nY3}{d&g_Q6h25ClVyWq3RD*o-4;!!caTjSJ1{Z&J;Ry#iCdEFkweTv$z zmUr79YG|Q3p-jEzeR0!o+r~)8VbmRgLLO9DFDr<c!P*+;#XHYoA(rCS2t>PH8^Zg3 z$@W6V5VsxgJ>jGJ#6A)T`ahD7M9%}D@{zEm64<&%e7bIw!&SRb0-Om&wYv2rd?bb> zGbS^-N*LfUhPk*(^nk5gB`SxGnSeEij^*gM3|JQQpMa|bQ(ry|?4aem09lUnfKin^ zU{vB)cqTwQ1Xx4y<O?Vs@tP2LKk5Z@Dc-;;m5Qmp6EPcnAM~0f8ovjn@FCG>xMt{= zy8+l>MHW>#WEf7mc`z${D)>Umed#}#3b;-vBf3s7q+H{DHLvi5>L2*XD^WrYY7a$V zf@ai&r{QE`kp|8f^8W$&QYuxW46r$T%CsKL7<k(opKdla@?>U$?#V8;q72p~SCOoE zm+m+qQZNU<b=-DHVwU0*^j?#%yW%l};3|F%^=MLg{Ws1ZHJhE(%7do;%hr@o9MI_z zw(sSj?pw~O4(cNJu%}#t*g6cKmz3A;jFhC?9rmi_@P&&Bk<l4d@~U!laY%lRdgvST zoqAJilxmBw40IIMxvFhUzzh-DE}VR^Eyb*1G`>rXznR8Si%Pz+FI!ZErGzo+2uk~9 z2MC)Cx9mldtYJ1pL<oELd=%~@E6e8pt`w>?hA`|`y%vgwHMV5^qGG%H0_iE_uN*VU z8j~4~rq<a}j6u3zgT^Q*N#3Au0TF^fMvA)!<JN)Sh_U=GM_CMq#&A@V?i74njHDj> zm$8YPJG6Uy&<2ZZEvQ5rZ+?NQQM`iT|H)0$BC)M;G0tRDNQzroQ+2(BskP1l%f2jI zen`(wuOI`oTvlci+H4;}w|9wWUBu%TZJ|&N7%ydiw<Sd9Qu(C?g*W&nv!<x7EzqJw zR9k&{qCV}_y3yZV=ap~pU+Z}=`LFh-u8iw5Jk8d~;yof6u^$DsArFf7<>NiW0cT9T zY7^-&E+xxlmI!67OzM`U(y#ZV^iqrEkytye67o5pD@RfxQ`&Cy<BH@}k1jB5n(vHZ z&qZ^J)x{)YQ=@nV_7T?D>0e-krddWBg9laWniT}{lI@iy23)ReUsWcHJBdPOs+#0^ zbb%Q=h({nDfWhE(z}1{vI1Q}0BsO$QfG^XGm%OWYf+<{I8WI+E(&v#%FC_4zJRf9b zf)OaIY*@3j1C^I~Y&MO}LOpay!0{0ehs1gyq$;Edgo?pJ>ucG>3pN|L-aKpO#L151 zWskJjHwyAPFMG?=q2b8O(&E3P@tu{I+3UyQWv_eMsOm2(US@6qOzn!79oT(Gyl6*E zjDxzURN!7Czgy-?jh3Uo3ujEJVWb@Wzr`cPxvUmY1~$ciJ~Z0nTvWlp)HzoZgi$IS zQd8nw;h{gdgZLxi&bO0s=eg5Z*&hkmxw5jOyY668iIp9tsxB*={4466iIp*)Vr5iM zY`MtFfVVRUvL#E<be)w6Y+Z2MDDLfJW%mxUFgPn47AvFTCuU`{KzmeZacHNrvhQEi zWo4fdl{K`nMd#S?^%7t?=W5;tM&ags#qCJAs(<0ROqeY6JgCf2%VcI{<VcM?h1hdr z8J4=26(3SV($I8A8M6>gN|VYlgN@jlsMji1pgu<))gr@I;#C$vl?4xt`LKoU9VTpV zf6!jtxdrjSD&*|FEJ?Hu-ppQ=NWH_eM(Q2TH59`ZW|ss+Xi;}-VRX4SO<<bB2hzf5 z&F-Q_7+y`%;a6dGq=}8?@J&E$h#_onIqz0RA22A0cEGg2UEQz(4@xa;cMGU@lyAaG zH3Y1V{=?Dmso!#G;!tw6JS@T%8-uYS0Th@WJXsd$@{s)72S6Vv!vouF;5G)jhmQ8( zmKL8^A!!F`=MbA9U4bADEB;5Tt?)APSn6BPhmVzQg$RO!s;KlD#!SP{Q0!+eTpXsZ zm%9j&ezh#X@`_J$6i5A+vaW2Rf>o5o?LTCp-^MijAB}9-qctDE5)4&=$Y?0}*O9UL zAYR*7X1vv><yFy|9|XbL&ob=u8TJ7pA``8-=pT5zhv~HkilRG1h7hzdMgu363vTYr z7Y)pxl?Jd*(mKP(qY+~_&-cK~C)EQgkIe_?qSqmh-K;XKHuF7p^MFyssF=$9@}yqu z<^dEL5Y3>yMg~MeG@jNjM|-iG(G(>0raX2t%IUg|gkJj8LF#39DH{n3uFjX&Z6u=* z0?Q%;&E;zz*m+obvQ%j5vyqH;<2d(<)Z#eHMlyO8#%63J`+i?j6C24sZ!Jc>WNR}2 zRbx*ByUc<4H(_{3*0KTN+o#zqFvMKNg?Cjw=t=!>M7)s1t>3V2fE4}4k_UcY8r9f2 zoOr5a*J>i{955p=$CS<E&si4PC??@Re6#DDTv{}FluL_lfI0O3$(>}Ox$$_OelO}| z%ynG~f<PeA0(an2LPv`o5YLcHwqU108eps4GM?em$ogD_7iL=U^5sby{+=uT#2wik zps|fm<xECuxdoWQ<i9=+V0^&jLW}{j;!BLSh!lp(D1sL*Q^;u2ys#VS>r5yz`k-+^ zGz2BW8FFjHf}~~u<guGhyATafnO!TNJyw+babC+-Es#5TkQa$-QSf_&J;W~Iei71u zL{_}Tm_LD#`DR9#xC;o7`Tsz+hOZhX`7BRz!xVFau!g$p!Y(niIDd3@2|W`E?2<O_ zinH(y?2P=hG%z9d#-Wf&-L7t(v2ke_wKKs1*FHBt0udd1UTv(jNQtK-zrlbqr<&JY zW@|3^2D(ieF3WL7hsz&YV2gUEs5xCNFv?G@a@x*_5NnS4Jp!y!((o?yebkENWGJVt zc&}5yND5Ebx+eG(#D@o=J|u<keV(ZMD1?{Uky}yF;gdfg`xGk7MaOG`Q4v#Tbk>)C zRRB~vRwkYt_N_ta!BxR;L5%KKvbrjG4@=mxd@Ajr>C`DAT11s3J#H>5g{elT`g&m7 z+yV8^3QLj(H|?+sRo@mnRp?i~sLS`gKo*Ya;8vir`#B!eUF7zI>iXb4nIpOfu#PmM zaDE&(P@4C86fb(|fz?)Ag05OPreTB93-g$%^AK5GjVn=t(rD4g7!}hNC(tm)3*jVU z!|9S;k137Ckse1UY)tSEnr<sT#F6AKDbC#>0X0C1MMa7WDpK4n+_n|Oq)v*n8YOn^ zbW&_ZQgow)g-E6^OuxC_K173EQhe78;|nP=#~vVbA^~|agdffY+Nj>1Au6<Lq}bns z`sG6umZ*;0Y2zBEY;}vb57FfhubcxZ)<J!Z=-%d8&wvsy9l~$OCS4a`DN<Wqpl5=^ zNip^)lA=b!!Q!eR0v!1fk8T<otY0<M*Lkg5=06q30#dYlhH}4S2zDw`WZkj*g&Z4< z8<-Z0gj2?_g{^3ws8=T9KcsWZ!xbqWeQHS&z9Ul9oSVyKSX=($DI!H0?2_Ue#B}?{ z*GciPk>Z{@Demnj#r_`DNs+=`5|Dr0&KfDI%ljtgK#FxxZ=01A57$W10j`naEO0m} z#vVmd?19w|hijx5(|x4a*ZC($ijIvZLyAX@6elaLh-$9O6|qt}No)0-!vZ~0amCS! zE3P+6<b+<G66ejhJ~z;K_E93|wEKHMxAj>^0;~1;n}i~tnG!!|d{9@iRXp)YU&m&P zkxXO{nUkh7M0NMGYv(|Pbub^CVZt~={9M{&hz4wp2>k}Oekhy<r`^ETgQ*=phwM;s z!<g<P!Rf=+KL(G(3=y&%6HkT$55;pKKOI8i_V@k-gv7s;s^@ri$U^ax77{o8<{StS zv8_8_{&{A0XrNYvSV^@%x{&B#{nQGH6+6`R8&4rS<gy?Z<_G4;4v$1itYpN<4oyq= zq+~=I><;hL$um+SlFKe*hnK<*vnV27)+ZtMfnQ&h<>6(k1hNh6kb7%6qvq^T-MwKh zR9FY|`!npSoE`3}u|os4#tvtO!r7sBCa%amm~3m+Wru9Dl<s4P)B7!USRaFm9U{aa zC59Mi&16H^p=084*<r0R$%ec8*x^>3rn@xw<L{a8a_R7{>C)lsd*)qF5j&*8E)hO9 z1CQ}N^JWyH%ksOj+MbzfC8qD0`+HE|GgG*`XD0L;XIFZJs4jo@{5i10I;a>5kK^3F zXWopC(>E#=z%_O_3mi_0u}6^>dtkM7VRx4nV;Wkl@0t5L4>3N8J+ouOcPMk)GjBEj z>WUp6t+T@)f6siKvBP82+2O2P=I!sBai3C~J#z4igB88wY<!}JTvvNTgI!9z4LjHj z3p4ESu(8AIYV2@hA3N*=zs?Rf_Vy@~Xl@SI*rB?6(_GkL9n9~{AU`-eJX~Xk25gNT z&J2aqpm!#cU=JoXC^hLYru*38^nO1Hc8FTsG4W*B;Zb9U)mC|`zE%G5nc*$Y3~!k$ zGkpJa5_ARPwAEm4BuIl@5<JL3<e5ouyKR+k(N?)ylDGA5mHT^8r$P#ARW=18K}o}8 zjTx%TfBq|TV1{*24*_UDs7{94Yg=UpxJHMwz~O`#dlV_L2Nrg*+EzKH`zW!m^G|{l zQ6M@to(w5Y*;cuy&EERdYO`&rVGUpc*7P>BuFShW@D#1gG}tA^Kb(Ql#Fg2!*_+ea z%1rFm=__-859%v3g}W>BE$~FUfhvlK>hk?_(Pq~{{im6Uk&Vjcnl{@3uC2_oz~RIg zdlZSW2Nt8ke5p3gG2OQ^_jUfst;~*%C$%!0Hv3<7wr)Uv2za~T;5>n4cY@0TqG*Dl zu#HJ-DOc<9W(56swx%SLTgaEm^gpq2<HW}Q3vCUT`|=-_Nt{Y1<Yv77CMv?8(>~#& z(TV)UZsITV7}N!W*G7)s>WU}=H(>LPt;V)FRIa;e%x@>hp$M(dfMU4Oa$ARxv6bV3 z3l#I^MalKQ{8zjftBpQfZy$2@TOYRcAr`{!7lpnksxM?~&O;fN3dl?FFB0pSe`^Oz zxjG#dgp+YGqA|t9Lq^B)=U$xAI}%?>2}2N$l((3b5+11;k4sX8!qdzrI?W=p+R)V0 zJ3bcuX4=?W9-ZRXTjl?k;lx2G7{156X_vZ$ZSVRR)<zxueH}T==|jfB8o9_Qr9c$p zJXsibQqY}FbkKKqt%cT8-a_{T9XlCZxkkz%dPk>$V<Pudl&UcEDVhwgIb)N#7vEc& zX;WT&lQFKAXbj_{s0!~+9?4irS?{(?8MqY7f!+pC$kjL!T);1L$xz_p`BMDNFF4ug zuRIKPX82jk-S0Y$CK<bk%S^R9VOI7H$P1NIcsH;RCeHBC{(bdZ3D};w7dzu`pW9cM zsLicUE`NY1mp_N&^~+-G4L`vr!?w3B&%H^(s*?5A8{NASF!1)Z4v)xm7Dl!L``lrs zRYXjM+7f0I{3|y9cc4K5CU$1>^znw7GC`9AOb7$iR=ne4?NKTB7evj8A2+M24Zd-; zr-uEwx!peE7yx)baHPg@vn7@XDW-&I5?n0w`ef`8Wkz?3s@LRokD)@sHcNKGZ~dd< z-m@#meA(!tRuq>P$VEMfbIXW<0>$Spm6b1cGx|s}(5QXg-~JsJ&-f`Y8G4F0TFk#m zi=y!Pcx9?i8o>#TkVK80pOPz6HPIP?c&Dhwhl!&<-5XP%?jd<JSNz7*MP!(Wrkht` zTN*EpWiUn{9N(}X|Hf1Sg?G#}ph^MNy)d;76a$G11KtB#MszQ%hdDgC;$qY5f$P=o zORd*qa}o^X#W9Y(h>pj@BF%G1UbkySW&~{GwbLi@>;_rgqZ?GjC)|Q*ygR53O^h0% z@UZIM5DQaNe_?q#0_eA+`Zz%PxKLD=qt-wbA?~xYME7-_vqWIioU;y2cg~Xk1a1&% z@%a;;Sx_u|8nPGdM^*yEGPWVVI2#LN<F<0(QTNn4X066A>jL+f^w?Q&Bj%7%%ACEj zypkvO$x=BBJm;N~Lzbte`C~ar{bQG;4)l}M<M{i1@dQ;tIEYL$Q&rdB&lf&h0iIf_ zDn|*&cU4$ZdHQ*LmhPc^3sW)+UDbX4aP{+Qo`9(E5S(`vMc3i<Pf_od=qj%43Wt!z za0myCReiFN4Y?mF7eh4VX{zO2VZY#j93=sHIE&gXp<kNDy3j<xx;VpA{0l^;Da)Qs zf?Wpz9pBQy$M-Fj!>wG`MxwLr;M{#nbBTSkdXu(ziBG1<_3|dg)78C6aTjf0Gj_Z; z>0mhw@SS0MJ%|Ezgk=H9RMC)ol(HRB=s|uC&E!?u8I`x+7~4XXuUte2v_i`rlxE8z zBSFhbg(YnU(rdV;5)|uq<wXiw<R41FB;p)#m8i+qgF4V}E++DOwR5Lhx%%jakcGI> zRxYB}TdN4#p(@?+q>p2G?cy#4ipRBWp6$zc$$;SrDWR*WjbO`eh3e>N5P9s_I2z>F zni(zVRx{35*-|R;l&_!^{8XL<J#C+bo{pTLrxWy4(bLV{d**Ahy5#lg|4btAeZ%h| z#Oo4*lX0pi>iqmxvzavgKa1I-T>^3`0;D`_i4~!^-JRw{`ohI!bM4}@l2o=xZD-(c z7CTMx9T6S1&nMQN_WwwLBS@s5e}OSR<El(97^^--ApjfXW0PViB(Xe`=-i81(yh&+ zgCN=z2cK@zyLQHQyu127ypluQscxv1|Fm7gf~tc+F5%0F)RxSGu9C52ZkO9w((jM4 zq~9N7$yT_pDm!48##nB<SJ|M~00U&_y&@S3|EBWVdRhBl=NCIbwXa4ksr^?>=HdP- z*|0jTK-0jsWGh}6L=6M+!XT1uRD9F`o3Ta*y}a#PCDy~YgiUy_#C;nvQj*WdB`rRe z^Ynj*g7fBIA4?fkT$UMJcZ`(KUyZhnHM=9|BR!v!oE#t1U}wXGk*$@}Rh9A$E&MFD zi(e<m@B|sofefcU@{=XQZ^Tm>N7)192y5^m3;S3xLt}#oex^W?2-MXERZJ=B5!hFe zvST8s<KT5v#M4hXMO6+n%YJuDEs3Q{drE_;uf*ASR;4&WtGZW;A?b*{7qO>jd90uq zOvt9N7qQ?%RV{LSA-m$}=rZU^&c!3hrL(<L^*Saj&7vL%aM>Ex5nW)Pq|ET+?wX@` zypJxED@xT1&Z}~4@H@l0PXsxu1>dDzPC&q;oHsY;<w>5R#;q>&C4oHc9pNGbPk4@X zNg%;V;9#`ri5Ge8czQisT8(E@x3pSu@WfBMgJ)OJq#k4OoOQ+PPv%f3{1}4l#u>Hn z0lCK_G(j&$InwS~gH-(U`E~|JM6A=ue!hv^QioC4cURWd7;O|MK%}|1>okVN<k7Cv zwg=jV!y&a%Kmo{^bV;TP8jPq~R?thXjUDmOz$+EI2yhSor;1cHG<N6q1Qvmuk@AdZ z5xz+-(_XA>#Cx~x<6EAsI7d0_q{^aq>e4x@RnBEjAJL^rT(oT}F&!lLMn5#J(%j;q z$4c0LoE{dvc{P%4lY{oftuLk%h_cIhAP4h}dbX4?p|t@&vzUi}P$La*gk`<g$a|h? zwL^o1E?GU+p1_7x8AN)pKChEAEA>?c?iXL|omol8yVKSJ6%&TxT!%#$e#b6INN9?J zG?0RuC)8#VxS|^`U6rqKfRXPjX#W<J_*W8D>~qN~Iv+WntwC4Lhv%|=Gc1FL_N|n! zp$UV>s%)e*V~E5b+a_@CWTM>spV2=~!^7eKWaH|)3rD*hQ4&zr_xiY54;&^&K)1g} z5D=JHf#23*^){r4puAlb@vZBZ6sOdV3SrNJ8}=xxm*RWlVI9mh&gIa98m;MsY}v45 zTFvm~<X3H2I_DFBsTo$BKPsYlkom6JF?3c^@{j<>M0)6Sj<e|~7$qK#-+hInLyTGY zhJ7KntDEN*(&mn@-Klu-A1*oOt0~JC@c6p;Qb*u)AWDajj0>#wb7h2O0KLGV*`<j} zovx2GfE2I7LX$}!+4O*B96aoAf-34j-C6@m(bgsjIoSV+6!EowyjPzzydP31B*%Xt z8LIn*L5Jv790mGid8v!f5CAJAe(O0v3vZ=F9NLI6Dd4S(Wm3G&Xa>EoJIdw6?q;&) zf#ZQdtAMRbdo|jyNS~{-T2^-iA+3Xu^gb{U#6}go#ttYpY4dw$>(ng@6FYS~{O8fv zT?Q;IxU4Y8UwnYLpNxr6=nD{uFB0Ng3{iJ6^B}M`^o#~mM|`>Oo}!BTEtDU_MwLUE z#ixJ9saEiCANll4wYkcBrc1TA?f7UCrub98RGYFOTGdR_^kLu<2oLEAV21=}U!!wx zG7WQR@{!o&(b(jXX-&Rv%%)$}OFJIJ4~LoqtwIOzLFsTgty0+<)=qp{@TBZ-or$7A z$NEIaJG?wUux0TVU-2Gu%;m~X=8<WciqL%sE9_kYmGlwPSlZCT8h^FQD+`#RF$Q0U zYf^|&d)w-0!?I5fx$l;yPTkSR>MOqXBHKh+S8eqM6tO;o$#|cE>{-BWS$*{o1p~(F zO@HHD_1^7SL`!KBLB!%H1HMcxXy-T&PhKk*r^3mtc^+Jy7#Jzjw8feGeyLBH>Xd|+ zXa_UdC8e(EqF)|=YlcxemdX{?NK;|JMwt6_?Pteh><ey=kh=`%(jBdM!ZV{N#z@(B zSX0Fza0Izl98uSZ)GN1N1On);nFGC~$y(|LH|Sbje9e-noIK_Lv)3PMkh~RZAgSgE z(OhrOf6m%q6#BYiV6OYHyuq#*__z(G(42#8f-nI1@7$wq7P{G&p{;>LvW8nl{q*+i z=_obXfU4}-hfur84t`n*>5`ef0vFojm2xy}io(Y5gK_iW-XqSfG&zgEn}BXO_sj_6 zTcS#$3WGIP==F$~$?2)?n8pyPwV1H^#&hHP3}wdk*@7OFoW&N)%);sLNn}a-kZ(Zn zEc2_#M3DTjN%u5=d>a&1qy>$2y6)^0p!{oqWch>#>NiJ-qy%#5t`ZV*)i$EpV`oS6 z;w`_boP}eyQdKhpKsv@tfhOt}tdy@{lCtGv5W{?`$s|CD#g|vHyzKpTpvlM#OU2u? zV#dZx;YamEj4dWUS0z98as`^>G4@fChW8P<8Nf{Tw>}ETI=9}}M-W}_W24(gQ-OFN zy(;!B((lqsDiNSsiA}DVsgGJ-X6a*QtEsLZ3XQP;Ygqct1xA+F{r}7_g_Ze0PtS+j zrot~~VNcF*6+gU`Br9uttTnRW)tTAlywE{WoEMOX_uO-bBox1fH(R4k=x%&#v<tQZ zUYKcZTc1qF-KqV6?N)biv$#H(k^;(F!yxUViHMNu&E+As#*l&(TI#itQi^PYXIc|t z=hhbN+-riv5=CE(-?Qk7vVi=*u<Nu^-tldM0ZIY>@ocZbw+DvLf7hMASb6*M;!C=J zf#SuRUmOz;u7E0UxN#Hl-PCay>;%6yZ=Kqwkc(v1e}c@|CpBpuEq?erUQ_qg^lkok zU+UbQS?;iCx@4X_6O4;CywWsYV5rlz2L+ywl|g&1jQ6|kUSc8GJ#~1`YVO11nZ-SH zn@zJ^aM*ZuYTih?NI(tmi`V*6&5Go9q_efvt-ekccB}6#_udh2_3ajG_lkjIE48Cu z>hyF^c6I{7ZzngLLQ4Q1?C#(FRk;&HdxB_ZAlidJ)kORMv-dV|dR5iE|9N@dX6Bj6 z$qN`wC}*C=cA}x=RwM{0Ib$lQsIk{pRBp?)+UuS8?}tFN{Qc8rAQ5xDSW`u%{ZI`r zEwl|9Td!h^5)ds|tcX;p;x)EZv0@DZN>$|l{jIgndCoJLNhZ8hX=7y0dCu8q@3r?{ zd++tWZfV40^#J&GS|u+u!9?VQ9mg~&r(lP~OSPaOq3Ci8`_18lY(r1-rZk4*!|7Vy z4Ra<H4?k?gd|SUT0N%KP|A+yHR#c}w(Hc2C_-;rV#~}}tgoUM9oAD{zT%27u$#2_7 zG5EUVziE>TQG~h*Ckd#~vE375h1X<*Th3*Ko!My-NX5nrN1<(LDIt*As2(V^2fX|g zR-~iju>l+F03|P*gUhd^M~t0~dVtzGC4|Q~dQ^HhOkgl`Q&tzKu{TufCfZQ)^s?I# z=`LSz0zD=Q6eqDxe*%}s`4~-mY!|>NZrxEveq>OWk9Wk{wnY=$7()kWU>7i;H5l6i zFcKE&QNajsg0WqPag@!QwjClU5kwp~au>-Pxi|82YD2bj(x<*fFOp3~VyOiaii#Z` z`KS^}S0=@r&C$`(m?*7H97CNqo^?Vj^IaZx2Of6);qbu2VSgwq<o@TFz3KDTz{8e5 zlq#oRl9O8{lYxiq_j(wKFxo_~45X;otaE-`S6HL*l<9^|vV%?Jl_8P1^yrjj77vKY zN(({{3AvC2fc)TA^98*&LB=3_h~%{l6_RQ))=xq7u#7<KUUW3V1U3}0gQR9d59!|v zdaY%mAd1Z|=n=vYij4YrL{$oCn4H3UVESFkD5w~(Y!OC|=E+*aVg_F)Z(O|pi+4p> zVLXI6w7{J441fUQ#n9YM0}71hQBr&`GZW)t7hjvvv5b+4(5P@eSaoXDidbg1XxVt` zcE~YzFuh-SmB{O&^+ITLN?FLjJ{TtXD`E@1s<w-3Xu=|{GRk0^Q-gUla$z%Rx%_Sy z<KiUW{YI2+Ax@|N)1iKUOrN+uP^H~{T`ounmFvzAqBtZpku7L6=@E8CyDH;zy`t~c z6YqY2(|r2U-Loa$h2B+)HaHrEu<R$^MWDgYW04Yg>--fDUr)UII*`wHK>$)BF+yb< zfeNf5<=mK7)8rD3sJP^hcJ~wSngSpx7zE!0`L>ikAU-;lE&>2TX(TMx{Qy8e@9yht zyJD>VCmWo}Oo+=gOAAB+Kxs=ep1*c-$o6#0$8LZdiU3AG2k+}a?a2{}VF|((SNH6( zJiJ<bKz1e<0++vz>OFigZmre^8^3j7kGg;W@79=6Xfd%ID?%_$=K0UaQGSbnw6i9W z1P4b7HCHCm9hhB?7UR>TNH(gGHQ~}kK(MGP5RFP!7lzBQWe`Jzj=Rhx_&pT^qHL4G zMw#ir7D$=TOa>ueBCa4<KSQ5uR<xIK(MF|3ZN};{jD~CAFTCoO70Fut6PB*8OZNEv zvRMUt+dd0cT>KHR^Bd2!0{Zl2!YAFF=HpD8ujc^>so|c{+I-uJivzYLyLZ|;$J@dH zyx-Q_t!HIh=NoHcDA*TY7Rk&Om^O?$PZLcaI;GgYh60Qhe1&r^7T{V~RC}loU$;gY zM%`^vu5e`(vrP&RS2&0{m0<*+-As(38K<-OjJNf=_1MS^9uJzRgE{LpQ~I)Qp}u^o zI7T=or3q=uoFiuFwZzG*`GtvKoX&g-rvTeIKix>L;TUerpio_pW>f>Vi5@VF3AXCy z&bYS`$AMm}lpK^g+>~V8j5>$QK?5!v6)7@!xQ&Z%mbXc;z@R`H3^%xK6#rNjXa-{p zp0-ejgc{n#U3QBE1F}KlIBVfkJdAZ4o3V)9CRVN8riH9T?ADDy?6zs9A$Hs9mu)jt zp{yIBSb?G9v*pv_pj4qX5{i^hyJnUWGltS#Sdh62GFEO0ncX^McI%MYtwUzF4w>CL zWOnP2*{wrnw?oDCz+kryncWf<w|v^QZramP8%Vnyv+=jv1;uyDvYB<ro-Q=I7`t6$ zLt?j!Z3gXjN&mCMY)Bv-i|K|s55}cZo3PDg?|U`(ptc@lZ{r7Or9a(b>$l-!)9jYs zxQ4A}B;#e@{Yup$s&3>DnvQY1*$A6#gci;?=zQ5=WgKdlZ#rKodTqrvwTheBC9A?_ zhwkq<7>V<=DQLv_eWGQ&VR<zw(LoUv*L?nlsMv{KRhymV)Ul#y!%RI{DVYfstbItK z;%hCb%zWA*TiAixDOJASPX5T+K~8X>c8;L|#*xgq>JR#6@6V;bI5=|fE@9N97@USO zQb8scS+*T_i0N251u5MITV#W+2Ain{8|?G)v&i=ECJ4f-u-($o%4Er!<dod*a)nKg zB#7tJd}g^-Ymzf~%Ra{2RReG7mdIJU<@ua=t$k3%Y|m3|{(!6Nd%;sH!PPcO2rkq6 zQWYq!s*p^gv$oCfuCN&@{b^%R<!iEWBYHqDG+xuvm~m^$uI!;BxRt7?QQVW1y;f{) zl6dye{9sQu4Vl3M2D;esi3g(W>#xkNd9FX;uc)O5!?>ebGnJHW^%q*$Otw2~Rfz$( zW6ZrK|D<}zVQ9s(n~zj6+RASH74D4G@aboHh}P%@*(H>s@SwEKi4lYG)|y}jt6O_o zscU9xBh0fRJhXdGH$JV(2YpOsAY*01L%VmCOjVwA6KXjY4pbn7hgRO7SLOGX<v9+k z^5LPC_vhJHjz-C$!J_lpGpzH~ELzDh2QlNuhBq)T5w<JUoV#TV>1-Y}FUy7`^;^Z& z*wna&F&M|FUY~}L0rjU4%fJ){Zr)h-BOB*KST<Gs^kUfqmHmp0tAZP1xd-&GMsmSc zo;5YrkO8x2E|FDR!%Uk+NIpjP%v)c~!ecEMnaXumd*-b#mcdWLM$Y;-`)H%7gLQOe z&-~yKDrU@6s?Jc@P8%E|f;nD#R1_IegQP_S+t(qB>^AA&rbYnS(*b*C5w`Z!3APl` z0=!pgQ`|RK-b*<c(~=&v+r%2R+tf%cyB#oB{-^RY#ikB5v<oAP3#o{xu;Zk$XyOF% zh|J=&H<vcbdSn*lRXQmv#pbg=OXknQmt1w-C!*}V^D<?QL5q2rGJoqhLCK~Mb$5U8 zecjVXIzMnkGP1|?#Kan})RWUFKgdsr*b5r6G}NmhC$demp(3D{OsG1=Z%-*)cZ+?P zIqwul`cnjrvGAdz@ZSn#ze<8xxrL&YHm;&!VgMZL#l!_4Q?ebwBEl2Ff|m}LMo;!h z19yIf#x#dvL%GMz0T#$K%>%$83aEL5&IAr-G1lVT*9lg2feZt6Awgh}=jtd_P*N}= zY4%PD`Y5`hZZgR43CYM+tIBb8jx{$?d7Ub=qC9Zgyf&8LvM8Y7H!Sj$Ll^-!r?Jh8 zFk0x~?yx>P2tm*b&jGYP-D6mHXCrC2un#{oC^r^t)6q!gVHh&Vz|wO8bS9^hm&x1* z2?6)h4gFA{c>S2}=ob;?{nvD+pUvv$bgtj6{_pACk)E^>zS`%)l<D|omK>r%a-~#| zv{G0S%wO`(i4mhU+1bWODlol7xEcZ@w?uBh;Ou>|Oo2N}U=A53-;vJb!||5M264Mb z=t5hQV|-VywV^-|ybLk$v_ja^Bf=;b^hiID6xokyQt2ohTm?;H&>%LnWSmG)-^lVq zd?si_71f|=0}aj14vzwv&>PHujr>F_(%6(Y&pJMmTi+6T=0qe~`!U;;dWd<1HKd6+ zoxUnZ+hlw$Bb2NyrjcNiY7432w)+swXy*nR3}!Z;MZHK$i<8K4(JoGs5eTECM(Xv? zRW*IdF^QaCVK7!)s7O5Tmqx<8&fZx?jnC&iNo|v3@YyM5xCnL1T+R$_%s3x8Rc!wT z>Y7Ut=Fldopfr$TdCk4YWFdOMMuSepcOc0}^z7)^o`tkPI{py&g&8*^199FG6~<R9 z--OG1YHj}W(Q3weNV^Hh$)aQv7N74yQ#3K8!7Ud?42+<LSBiVm{_AW!+v+Uq7n7z{ zn8&N|i$S}l-I~=NK-@WZbp`DPFg5)SYQI|L<50D~5I^E-XI7bnD(gdf(6G*|)D;AS zL)x!&Kf~GY|I8uPo@Zi|e`v%b65J^;XeGJRuxMZ;%`%HAc28#0c7C0=2sS}#))suP zqPsx8>K%zQbZPY3*=x18oWlmiWfNLTE@z@$4N@Nn{~)MjGG^2rQ@2|JN{I6)>XttA zSCv~-j#3c}`@PT67UM=!GY%f9ZG)faFh`AWCM|$+d?dA@*k?f4J!T&UHo>y<K(Ee^ z_B&6q#F2i-t&Z8cJI^}Q!KaBr87`g<<)Th{ABv~haj8RA1~zWOj5bBqiPdr2btS~8 z%R;QzjE;|YoRg&{`-o)BnmFtUX@{M|jI}h|MdPgE#GuWvCioQPcbO$*mx)1cYj}3N znyP|n06#Vsn@@J*I~qW*i-uEtG<Ren6RE{w75yq(!UP&MFH`DGxB=9vajk!m_Ek!~ zm+=4r->G>rc^;dmQtGYqM+o1QQqQFEqDI&u*K23<EPGsz;}<xXADbLQQT8*b5~vGR zf~rK7P*o{S29Ko4;PM*(bp{v2K&N{<r*SSC0cKWBRW`k)mO#s>sRTnap4XD;nF9|X zEawPKM81?o%+L#STIJF+AeWd5ES7ealPm5;o=Z>X+&CdRazFI?R{79HY|fOoFE~;e zT~29AqcZZ3I5GFlr6=bih+Z(1(uCa8f1XRvGS_X$<7I5bxSOMLQZ79^49KO2wpc|^ zw(>m+5#=RWTh$U<Uc4DqfD>gEHt#}Lsn%Gm9CfL@9uvu+knuJ~zSh^|vs*z3Li4f7 zxTrT3PRMF9d#`Q7v<&*@0z#uu?ES<0;J|Egg9!{6Z&%ThhDZPMgo2QFDna(1QxRK6 zo}HYZu`-w|Ik`p@PD2<V%Xz|UndLmY6*a_p@*+@K^k+fGvg?0VjgTZumnG6lLb1s* z&n?LC4`4ESbV31eDALW74FySdyb794LlsNLwK|0h;E3#^u@~6=M`!oiCqx=Rbg+PW z0}ndV`Y<j<>h*Gu<gl?u*8V;|`0;9dR2ySM|3N11S6Pm$0D~T|R!Y_i6z})N*erub zpw#+8p{g%RW9V(nyGvMo0J{2;&+LRYCYxJ>JwR?$KYd-9gbcLocQ){)z!*%*KKBxx zVdxx`*F6V?Y`=2~tJ)>m1%zs50Xnj^(y>1F&fI>6Hzz@x$@FE*PCN)V?mM)f9Z2kP z$GUlmJ?>vRhuGu)LtYa#Frj8Nv@cZN+i@XnnF%uz(~H?{5PYy8Oxl3dT7`^Uv+rU3 z<aETSb7+Lm-6cEJbYJ;2HPw?nZ4}=xpEmoFmsarj4uTEW`IRD+0XOeTERwn`M39s^ zL~gxKlcuy>#v;#Z6>1mXqT!?xmVi$C6NBK;z5SCYIri_+Z3K7^dkfGD*U;e0ZMzzq zl51#Z^W}a(&JxgN5`bu@i{X|9COE1)lv}J`_a61lE43}mwy{?6V`3k+#rm+@n@6fy zakb6MG)|1VSxxU)79TxYt7$#lpMNu!G+OL5K{YP-pH`_IYZP1m1|`@L#f3Ma2D@<` z3+tNQJm?j-U(bUt{a0}&*`F8Gi-%%P9mpXJ;7Z~ocMgA4Nt`sq{;2YuXJcNOu9oF2 z2T)D?4P96*?Z^%Xs@t~_35ND<$DZ!f6w_i&WdZVHt5`3f_Z@=3kVX`FGd0m!*@ik4 zq-kXXHJmYWSL`Y@jy4<4DJ!f4!*kd(u{L5=yT-1RGLPJT2}A-!M(kcTuG;blGJp)q zq8(bh)d<T$f#I|f2!NTiB|uj_TBTAYVA}ikm;_`?#iI^7P&kg&{|d1o+@{8choh1; zCAbVoZQE)dKO;_vL!l7X{b$d#*c9D?a>^=BIgd%f5AepuH2YK!uGJ74#!phjLB=l~ zWc-evDt29lP||qQ0xmX;-PMwN&;Xm1GpT^b?&tOX0%nzuyxxb?eJU=wUvWW?wBnh- zmfWv%)SG{W{j}nK2bsS)#(+YD-M4`dhhB~K^*tfF4j8Sc8lu}HP^yOL_GtFa5t#v1 z@TY{N6cGoUkl28B`Uvq~BJBN{dIB_=^w-jAf3uM+^jx&1&7Di=wdZlvKvsxp=t1sk zm|M=8m@pX8mH0aqqi@nz4yjP5Hw;dVV`Z2(H;_l_x5gn#BrzTZE5_2b{1vg%%*S|1 zmh}ZvfcDgyZv$!}DR!8r$5&5MX>klY(%Rd6L9rJ-DS2^6eFP|7tuOM+VhOY(MapG( zHw>X?G^uf#jJp!wF3x!z^)gF*OCTflEhfI!Mp|1uOX6E)(OqbCJ<=2lOm$ek<juXs zN_x6@&ZMV{)3x+;ahdq`u>7#u6W^L<Jjxf+hu%V_A1E|)i{CVUIA4?WbMY1+MhIR+ z`QcY8>n$<>f<-CCZEw+3mGw5u7h!s-Dff)G(K7#K8E^H2&R>h25y{b_@t6wR+>pBi z3RXn@Rl4%~3SAeFAW>JFitJ`gr}72zpCPwniqUY&482~+w<9&yG!=uBGN;VtST2t# zq{JMd!o|{{?z4(mXR!m=?;549-Vn_RSYaNR#-;0+#%YOwLsgq_18+fj%(^>a3Jz%w zhf2iYBohnHG3IIuL?BJ@jx!B2YL2$Xcm{(7*B(&~o=};>AhaowFYr4IX2hE3L{Ehk zV{L-rA+4|F7nQ68mlK!@y2k`D(t6<LkDL||axATNEMINQqWbBHyJyl5?*cK-d^ZfL z6<CsBVXrY`D;?HWO21`wt-fm2z!r{==`;GQRffz0Fx2_se&@?x%QU3wHT_ioGZqD( zbi98^szdKB>5BE<0=;Xt47!9hIHs;C;j<tTU<y#Ci3lT89}=5!Gkmuq>Vl07LCo|W z#_f5WBLrDOHfI-;=%l9u`Xkejvf~PUxpYdCXm2I%5CovKn9l|mo1unt4-W?hRl!f( zS{R{gUld`YgdHgRC2L?xR&n9;98@+;qq}Rl=OTdxmkED^!VBewEWw3i>JfHLI_eYn zqU_JuLYP)b-9ZR!k*Eaei3ko{2sfJ~d{`nDp$n@)MU0KLk;MoXQNP1;MxIE2F%2S~ z#uF@g?%5^VYrV$ec&*wq*aW;pD_j6kmz>&7=;4ACrT-ReJAVz41JIpevFf-vO<Xkf zO&~H+P|@%FH-mn;d@8LXWH|=IZfKlSdBlN&^;Y)2XM6S9k;t`eFtM#dJs7AMg0O)n z@@UPb@jRn#ed*hYz(@EdWa91^nC0^G<g_)ZAZM+t<-#Z<52~79#p<-BFUnJtC{&pB zk)g-EQZ{GhQ>Ro@jT)S)OMm`wF_mh;d6x%1PzZ;9owI*!IHr!6A10L|dRq}K7%8@X z5Oex9JfOG5wfb@KUtqs}_nK(ruO-m6laako=OkQ%jzD*_*2?8Skpn}vb}g64Xq>DC zQciCq4<J~a6DV<5&-@<)L)3C25DHI*kt`JFZtQU<X%ZLw1rXIyWtVS<^RDBYRH%`n z9O4Y4y_X*&il07;MLs)KqT!a~L7pHuv^>f)K5wuvYoDtaD55%S2a1r*(i+YOT{aKj zcHer@RkucG7Y{%5!{44_Z`geH#=NUH-D2QPS8vWLl<obTjp~DNikOCoZbk$ckd}a@ zCIPl~MDN-vqN6$s>5)1I&!}|=bUf?O`<@<;cdVX75)>M!mY@cn4Re(LOfbusTdV9g zxV`W^8RrDZF{jcHQ3vs7EH*SoM7Q3D1XjCHcVQbV8*N~1_CvsJZ!m8lhrKOwMbl8O z{O65x@HKPG^*zeY-N=cMUe?3RAtW?|`PRtW2V@^j_)hJ8k0O-LJwI3CkauOZkv(Zj z&-}q74y8jX?a$qS7Il_TI)8?ZWG$4Al$kJf7W@P=Ow)bxent6Mog}c!@4d*c+fLJ9 zq2sT`*kN}FF?O`AGKa0=GdI(Eca|7C-x_S44><mxnH;C6`;Du&f+uEm(1+mUUW+<I zZxjW`V%~_+x1Ddc=sBwyyp)du5FvC9a%JlT*KMa+B}5WJR!LLzx*8LzRUDz(u$ZD! zIyp8-Lnqe_xU5WDqXq5mhY`Bx=VlF`V<C^|i(1<6=sE;CtOmp9M1Y`1byV**e)PUZ z(hlx7D5x4Bq}XXb``ihJL9$77Zdpj*kiRr1W23l&t0~M?kD)N1aqYFke%-Ja9H6F6 zW;gE)yr2zx!M-q5z7Wga>EXF!$XhnQj)Jt2k6an>sW-grsA##4IF_t8-fvV7Xtdv$ z9?;mnjhy4vxmV*vaxQUJtv(t;ALAIk44JYTDqmI4dmMWibWx+Y7;DnD*b>C@x-`V- ztHs*s<Iey~=Na3j&c+~lNzahk=fxNd=!!y5TTIzZ*~RR32>7<cBs2Nc47ar%4x_fP z;h~6rH-g1c*<#t49@~&Ra6w9e<?G7y48>4vmvhXf2W$$dF3Jmnl`1VFgkUz+p6D<W zj|iDq#kR{<NMlB<UYWLSZQ<u>bD*4{bH&w-c7%!v20r4{i1*c<bS7qf#E~j$&82W1 zRv5oT5+f2hf>GzPT>577(`@@e%AoONG%~b-ECXFRzLIfm;%P6@LBit87~O;o9|C9T zref(ET;vgR&?EELd%cY@U@)5Z$c>6j%;0=A=G^A2Y;7VAiAD6HR?`63Hyyp;LxNCl zJj)KIHq5F{CXTD3yQ%gGPN4&zr22$Hi#9R6d!vnK0hz)^=y)6%H(4q0qqN9JO!QxQ zxng1knm!4*3aE)q#rrTX;HWh`iJ$KThr!-?BjwxxOZvV}arnt>n6z>fSIJ^Kvc}R2 zi`K`BJ+y94Xl~Q-@Yk@*Wz3|hHnZFrj}si^XqN$DlG(aBaTy{g31-1@0Dmr>fRct_ zqHqLYp~~V2)t*Vh7~!$saxOpsP+8>2PK5-F;5D-;#Dr^SBY+^v?n*}9Qk|tW1?U{U zT1&JQYVS1)6bM~U!G*<SzFN$@S;QyMI+d>$kU~b!&s*z9x9xsp-da_A^KC0G4%n7d ztZekCSk-Niv){KL{Jbp@2>bQKyG?(Yi4fB;ZiXDq$>f(&GA1)x5aS>pCNl}u&0Nk* z_0)o@7VVc73SIpDlf)s4DH-R98f@@lwJ3Sa#Mzv}R%LvIwN`uP9$)NJ)}0mJxtt5( zAC_`)H?U)<3+qPh|7x<o*ZO1jKYLtb3iuA$-K?%&$WJT`zn~t-m`Eik$+o>*V`5rU zxv<vaBce>0RH%v+yE4;UG6AMRrF_#<*rX+P9|QL3Y?Guo+Y8ZQQ-i8xt#+^SM}am{ z?xf*$jO8pU25=Kf^%$>;x5eH)AfQD)j6DQgRr964qN3{<crI(%3<JGpipEozh!mDB zJMWcRvEn+}hsCC`?Z9eki!k{9_*aQ?)nv8Oa#MzS-&cbc1u?ee-tWpTYjCafSu4|1 z##@uF^z{w_G#v^cKoZF#2v%G)l<SUFPuZKV0hC~_KA_5p<P`s4opjd*<%EO2!a>h9 z_>x7gCsgQjEDT%Iq7)K!%_;{K)Fu8OXb%CJASP!_nO&Ysr|*Tczj$s>vJoI%nJzUo zfiTR<Rk{gN0l4l#7Fv0=f64Gg`yvz-iwC2+SI9+hVAiD?Tg!gPVM*7RrG2KB^2`t4 z+ts}WZTy^!WU|;D33z4{-MfX24JG)JdbRoJS&VN77Q;wV%aGLu!8-vzVV}fe=)86O zWZW7AMom)dhlR}CeJ7-R>ZCkkp+22khRbBC6fScJJZWouL_1{)^oa?vjL32`4E;o{ z8Y%j<dsxY`8qri#qkLv!7Wr;~P%b{D3PNm9CaGV+hi9-9C3aGw&=T;(z+5#)Y|yHs z0@MV*MF2H08;17+g@Lkp)9J3(ONhX7Ue|(uhM=T~#>8h?I34a*v4Xiw$W*~P4wnID z$rahKj8KzWz+yCpk@|BP^5C4hdk&OZbEF7!VUV%1`(yC!S$K|Q#t8a2{CK@zzsDX} zg2Bc-5U5iy019|navDEu#N7}hA}-~?CC1QBRQ#x^GXVQj77sb%xJ{k8hhWmem75#y zu1Gz$FI4oZTn~1pRv4L^2n-%WJaV%Nks^bGq!rLUa)O>&+MfyRhB@<%d%?Y5id-sJ zj0fdTVBgN0FI)z#V#1xBDQp3<Z=MWG%5xPPMX}`dwnMn!f`Xb&YX?_6xITiDq}fBy z439XSTE*{@SwfFm1;PkPZRpZ;iz{(Ue#GzM!KRWj{EmT4Gc?PBei89UYi+`bjSflO z2b>B`iiAOdN?`^hg&$$S5LJvoK#wEV(SA}wfSyb?=GH!BaLYR_(kzcHi(i{vt+@41 zJ`)vB=bIntX3qyc<KnJj&-?j#bg^9z?m5-I;b7}ha5n{g&_O{4y|`qT9zX*YS8(Ue z$Hi6LXE(2pMv5J(;{(4&9l%@c(yw<b4IW|^>|ketu)73-o(>haR;6w99%TJW5p0e0 z_i-k9WwKnGG-le_orm+<G+sL!@$hDzB@9)GbUC{^<Z4pHVmDlT$7#<a7>#kP>%$J0 ztctKq_rM<%7XNF!h6x%fenAi67ZCb!^Xp<4hQt*#;Ro^r?ji&i9pDriR`^U|d4u9& z6jT@l4<=HIj|bP}+=a6WLp4^xgTyhBz>JwX-Do?@fSh)NL{|wfNSat65`^>?n=pM# zByv5M5qgtT6nqyVr~=X9<bSnoQ>YcG|DYH6+=2Y>4LQq%{y}<TjUq3>?17gf#aiV^ z8M3i3L5vmqof*Zt#dQ`)WvE!dn2E-+)R3yGXm3=9yT(hQ$hKh|8Td7<U%=z>^=zXb zQXgSa@}aViFkdVSriE>TuF*GilR0C{(IK+bCfb>bHYr%7XOOs0d)9X=pRC8;LW#wJ z1y*UN^a#>Te0x6WCcZttbQ2dYtJ^8DSd0wklp<^qI9W7<O;J?bE1po4O5D#Ekrb8r zQph-A=tiN&jC>K_<!iGD@_ZF`TLvSbxQt>$fkxjg%L6G}*;WW#K-u7cB~Uv3r$faj z${L3IHH`GrOmxj#KCwl@r=#xCbr7aVdv83TDUwetz3-*-bI7Xambj_X$?ruK025*C z6RQ_q$-HEQpPChZn?xj!HWUw{Y1at=DcjKALD1Z$-AY-j+nX@49%fb~%9ncJLA39Z zY3N^Zll+^vyrQQXd$Blj?iz^5W0f06!B^~IyCW=CaR=9oD;~4Re#Vz@i#A@jhjDwi z-yY8GHgl^UU&!rNzg<N0VKbGQUZ$1)hGx8Uz9?U4PQnpDu}g>gdQZv^|K*%NFI(1I z%-Yr)Z<IHO>CIuaHx3zZmgvnAf5R6*o@d#4uk9^%`4ErjRK6fP|Fz?b(YNcV5=F83 z5u=KZBW7VoWXI4kRcuW~KHTwa&Y)PMnf+@s?;aiPO~irNv2A6_Xpb->C&YI%5kw-= z_UaW3757^rZ5;$A-q4KY-Rz6b?}$M__3MR0QJGR8j%2!c%=A9!704+7oIsiaMWHyl z;u<(2MC!1LI&$qJ`BI38E|1cdd0Dl6$_M`zU=&NCC$)1*E)+|VAmg=!-BCsJl!4$k z-bcs*vuh@m4oWfDxO5OyiH+j9g)oJ<%Gn|C9+9T9B^D`$Xl5yZR*)>6>>-X-(O@~i zTN&x?I>pmO)=}XSFxfxDz3R1kVsB-C-y$l33{9lBR}rq2nf;InDqX>h|CBayKG(Kp zb;f)JnD!OJcwDflH-d!|f^ieOX21hQkVvBK7d#>-`@OM_WN&-+ES*Ty3Bc4xBKOpH z>+(m|SN+iTS#}ST472^WKF0bu0&q_!T=Oju-{{OFx_j$E%_~4mAFNVw$&ddw$}WEa zNBGY2ZazJ?x|v!S_<ifvuxQquq5M)a6+Wfs!ct}%#u?F%;dpe?wkx%)2mj%|mT$Y# z>C25w{hxp8;;nLX1C{9Ee^)n==SAzj^Q<5Ic=8u6So<1AEn0WmwQu^$(|`7Y-M=Bi zBwiQU|8{&hk1qf4aiS}qmNcFco<@?aMC)F<`l!Fpp8pp6!fe<;{u}PR<Hv-<)jF7- z-hD6BbK3u?#U_;IP<BF$wD{mBZ+KV*1j~=lfBI`rKJ5D^UB>E6Hx)aseIS~8dK&HM zHN)q7uK!IZ8uR8Kl#dEvg@yYwW6hkWgDK-|cYY#BScv47tCrn7{c7<V#dd4HTCwD; zVejXj&6hDGF@Ti6cRWjWV^2>zPpKa6J!uDpk|I7E!Y-KEeZ&CV!#IBZy32O-fM(qr zPyBzM`JHF|%d;=*wJw!2Avop#F2jH&{9AYH6(2wAf3Eq>=Ule#-VL{XviR6ve|*Pf z>sI~Wr+#4SR~Med?K?mA@xxz#{cm2!?Q?!b|NA6QFYPri3jjv&gqL2Pw=Ufg9snGZ zBE4OS42<x@Z8?#p#rfyF7{o7!@{IH{6)mngQ+d79;$~=68;!C6qhSSpyg<R5)8agI z(Vh?`G*;HI_jSD8`??n_E8ej{ML^}5bv*PWiahkBQ<fFypGgtzlY(pN>d9j+xQ=Fc zF!Hu$Y+;pT1>BJGOPtvfF02pbg=Fi9vz-VC%YUZd(4TH`*X|o7P58@~2VyunD#GZD zk4~JD=udYn(qp*XLrEERpq2S+-6?RT)F|0|Ud`Y{5{fI+I?wj`bldg&`IIjVJU--T z(ysVD=@PAOej$vtAK&NUsXU}>g64{{O6hq3^fYRb2c`UWbcdnGvB@cRORY1Yb=z~e zQVUa6wfo>~?J|aH@0O}Px=s@YB=B$->Mz@;QFdVdFf^Af%%kjo{}2BB<12g**E=Qz za!7romn)N{bWrjl8@LeRBaHc-WvlydZpD6@t1E`BxfN;-RmNUsv3R<{SzK~0_xCfw zW*oBbtL?xs$E$10SJZ@Fj-wm@=nxDsHyVyfspN7?5K5fvs_hDgg}&X7;N8m^B$ zjsN0gEu~~;#7&Dxm&G@~Zq%aP-~1>2`)}HP`I(o!`RlRB672Nh64^MYgZg1hDb}d? zV0qFU1s~XvzKFB4_^P=cbP5znATOUn+vUI@cB@=3RE15ORBe2B-DXc`@)Y3YF&rQ> zuZB2!F{CoD6zz>XqZVC?JKv7kjR^_#>z3-5moM@uEc`Y9B8%!UKo`-pVy?!|gW+Y3 zF_JC7FXX;}aF~!1d`cM~HXhu^gD{TjUyG8*N1O>rrP<mkR_rXBhtfydQT`I3a!L|} z*Xp4MHaBVo^60ied};n{gScAed_mT|5;Za*WBmv*N=O@%iR&c4Yg{d>hUV2<wUSf1 zE9)c)q|Dt&rf6M}U{<Q7Qdx1;M{gH$rrHi}*ZqY8NtR2*d`KmM+tD(zkRIChwxx=* z*`KuXPD9plq&g}ZvQeSUZP0mqy^V<DZ~i3|N6^lc8-^nMGAN-G3QAz(h2GbiDlU0H zywe55jqF0LLiBVM9*@|vzK%tUNvsu%8eJ-J1HRy<=cFR2bDgvne$!eMo@MVkqAVSQ z087Chg`ey}w`{kRrQ1?qnFxgCg(;L}2aP5tA{5@f;LE0*0!;ZtLSe{TCmFY6hc#`c zt}>qY{_Z};IOYLROE4t^eebKhpn>_9bjeHh!Tj6B4yKQ=nsi`oNogU>2?Meaf2rPB zR*X7GtzvsiaWb7=5BIF4HlxmEwvNx70~QdaM~Vs24ve2b3e+>CvyTKg$tX)$Vyb_w zdr14OuN{vECsZx&XlYOTUd4`VCtO#HL$;-r5oZU&JJt&G0%DDpcsH%_#H<E8@EYEY z&5Cz#$7Ao>KXtro2fWJ+?<OVgqyylcc~8s(?`Y8`^qoHg0EVUg2?g&MifM5v>2%y1 znrssS!sb;P?{*FEW`b{c*LJ+y#=h$V(<+E1hIm4pisPO7`<1oxz`GL6EnwnIFu^+m zv&6d+SjC5ER{+ljgX0|lsy6}e`XDhKMD{Q7F5H7~9cb+m?`Cuyyc?JU@Q%_WlWiqW zX8bH<h3%f&!+azh;Y_8$><P)?umaxID-+&rPlR{(R(Lo4Xz}hG8f(ec=)h?AFmrd| zpUsMP^^nB#+wN%5(C!^`qTOBqTbZ5%){O+Lo1TevGk~un9c8Nt-wNO!K-ZB@y*>XK z^FX>1$cI3=*^zE<+($YCwT5$ZfZ#aC%Nox0A!?Z`NQrZD3*mkS&JA{3C|4i<66Ho5 z<wgckt_mc~ikSoDYLyA)z<W^czMs?q`=bxcdcYp>h!5Cz&*y+W;_*0O-#Ro8oP+YP zh4KH)igHE<lqeU@*CQVJ`RWio!t=F01?BmAgrBbl(m|cCwaWVE>$iyqC#r6HT6eIK z2jgTSw1(=OPCXDfyC&f;*{-*}iv1M+X<OhBA#^X2-W7V#3UDLC2)G^l<l;n9NXQ{K zaJ<oeUYmw8d~%CDxiJ-gAeUROgi}5(E;Q||ait<xx4FsHhr-9#`p>KQDOPls|J)IN zUgbXt&23EIHU9IG@be1)iG<c*y^x<G4QTVG5>kHZ93dxJ`Q&0Nu&4Zq87pt^;pes^ z`Mm0X$Pc6^Vp6^4VzpSVpg%OZd|^>J8x{mr{%+aZPLV7zDiSRX2S;@ff{|Z@0wH!g zF({8s1T1$Q*lR{a1189Qay~`?bj^}K#8b{>mT~sAlfZT#S$`(F+dnzT`J4rSP;>UN zXQ)o>cv1HLW*%X$La4F#y+jY0fA+Xbn@MMLTjnLxAY2MLhZtPv6b$JFPt&TCoy<AC z5#@T+%ex`Ou=0hE6=74_+t_2Qf+dr=$f8;bMa&FmD;|q?BRW@nRme(e!#ox?XJxu0 z_Fykp#U@(cX;`<DIrdN~d_58U0a6DrLwfp4P(Vb{vC)<MT$yf9&}d-gvo%4Z!EZ7J z;3lkWfAaDJ>=D_%31ShupTgn#kJrKfVk5=5h(pWD^qQL{oekrDm+oIPiDo58|4_r= zMJ)L6n8An2>^$%T@oR8cGhK{XbD)E|7-g$^d7*T%>Mbq~y528O1+I6;<HIzLWIzIC z>^@BH;SYqUS}_o^8Z*XgO?n1}5oe?Y<5C}yE0bfRBUNmIfstbp_$JzyOE|@-;0#ag z%KOzkAC*lo2Cr+<oLvDUV5ZUX7OVeC55ogoWdcYM)=AcO6|#nyWjkUj7+b^KapfGn zNLSp>F4UDBdYi6zT~F(ZgWkDZ7Oufm5!)3-wx?qRY&kZ%l=reW=Vx@}u^#t}H=qXV zrZhJMY&bLozlNg!P*Hxnq5OoRrq^oZ;3y#XlI*gdRV)shbz+ww7-Z3&Q;eQ0Ulnn2 zH*x$Ky?5V>xWP!{94coLlI;6W;f~P<gbbWcv^xli5&g@bwYx9|aAAP(26>e};*T~? z`;C*7EF67z^+z7!-s7oh^F-dWG9m5nseXqg_FBKo*SJw0mO>KHQBEU-jLp8lO)K|1 zHd4hRfec0!VhytrX!dqUI{SH*{RFZ6=ZEYkNUlvVHH&tGHEe?R#CAce({@3Pf(0L7 zKV_h7heE%xCf&}0wRhRSy@V?$3j!F50@Wp&YpX81<~3}9+A0@<!dx3YJTSE>GW-Y^ zaaz;vW{zz9KBt$I5$@lBey)%sT=M*7wpt}H%zj_?C~QN_EmM}*47s>4jI_1@6Bn|l zd3<1Xzz@Rm4d5Oht?*;e2B16zg<89f!g~x+>;6Ni<+yP0sI~Xs6SdyaM=hr834vM< z973%}idy&md!p8Zl34q$#gsjMsC7dl9@^~ZUHO+YPl{RT#AF*LI)^8mmPLFDwuQ*J zM3rz63(m#dS=pSMCgVp~&rbV}*A}L5P26dkLdgGdj^w+1$S)mFrH*u7gq|!Tu_)-s zv?75t>&dVWAJNY1dn0GVqHI1JNx1ozZY+IAQw%R~K(jL4Im-Y6<#1xMa-(PWuu(f3 zN7})<bX=di5rsDgcC7q!V=o*{Qq-9u3ep@9X8nxQE2rr>-_aahJDdIuHiz2N+ZsbT zfOtZB3Lahb85H&x%k0r;U;Q$D0Wgu3i=k_xV;58!&s5_n02ohQ7*ADe<7sK|VybS~ zc%nBbzp`0~eHL`#E2{Ocs#!?%l@LG^sR@NULt6qO7$2zOkmM>N-QLJe^UC`R6~kZ# zb-A>J(7*rb693vljtb}+Plfwe2b1o19W1vIrn8OSPdeSN_Y6Fot7nOs+oGaUlHW`2 zu5@AizT_MHQj*^{E90Am1PRuaEX&m}kTr#XtZMOO*5$uI72-G}MHjTWcx)5>BbR{s zJ;oJD#$$<pG{#0oRn;~}4ZmnwDPHk8F~#<rw|lm9Z^Q^&3Y4aA3W^*q9()1){3>gk zKNC~gCyih9CIm&dH0viAY8*kf@+>p61#qC>CV6elPJ#ZQ_3J^e<FF*tEh14!N-?8u zuQ_N26)hjjtfJlrtB=+?vbkZ|s#ZA1&XqKSFw}wIDs8$sZgItTBygk%qvE=_R(*C= z#tNW9zo_Uh47=Q`*Z|}}hy4Iva)KBOLdMF5U2-*#o~gO9cDPysW26ZEe8z3>yv0dN z;8SO$bo0t;b4bTDctohiq8r`;c2&%jOjH9&4=drCC|SQrP-S`E2GE3WX5fZO?KWNe z5Bppq#vg<dDRE}-Dt08)G9zI00!zHmwEtOvE+8%=&RKNk<|O<5WaHq%5Z<OJ97v38 zB)NY16_Uq;y{7f&4d7(AJzGN31br|AGI#ccOP^x0R2g*!sTK1UjC`@&9&0D9IBm5e z*+g;LSOh>0B@X>Umc4fCX1aEpnq{rsHq5ftZkzqjq%!9-Sq-QbH`Q$l2CH646zoN8 z=D~KWkQ+QLq@JgchZHmiefz{RJYbg)K2v_JGA5x1PXsFk?t{FrTX_zKTenFz1-=S3 zEUe<eL?68MdUlHWMIQvdqESU3BvW7w7iNn-ctPd6x_!h%6q=Zc<TWNx>?5ES=ow=K z&9`l(Ow7Y*P?pqru*e+HFw`av@3ZUZtuftWrukb+8n8G|PFa)efr=>hQr^DG-hr6H zA7r2BMrXHZBNF}SM?*nzKt1gP1a0sSAsEd52}y?lm9%4T+G|ZVT->)u!jWQ{7(_Mk z)Pw1o^bQ%g?jkm8T5Q8P^C~xJRY!37DZ6G7jt~h@FH{-rOZhLc0KX&@kfy#>Nfxas zstlD0LM38G+6ZPAcOb`Ov#5b_2OfTim|cKV+|BzE3YlP?5#~Vh1?_5SAwjogH$rq0 zgs|UxE>93Qy(XuCl9yX>bjd<+Ju`V+q*ZA`#87!uipK%%Mz4oH9h=-F!7m~ccDBhC zrjoXaG(mfRi$h3HShMYB1m`Um_gr^9#uLTX>#r|8auhn~45~SXYBUPlM-bH##%9lL zl>FIZ>*qts;v&8&j>RO42Z|^8zGgDim*#prC6nf6UwwwnE^fk=EEi8*A6?{4HCe7d zR`Plt_hq?u%mrC4XVEksHXKnd%jLR5vRs}c%Z>R?vRwWmO>$W-UstkR?(4E#J~mk{ z=bg!N`E9aXe$SNUY9}3#<&vv)K$e?Gt~-k?mpUcO<+6WSt~pIZW0)+L-k2;`y_GDN ztI2Y?nk+XdWx1FSnk?5J2#W*mXv|WV<?4*|ajB1p%W^e1eOWGx6BH_Cxm0k5%W@%J zW|ifd!?hX|!6aF(g*^%&nJiarKen=5;H}GYncGs9%bRJTKqbqSXj*5R%W~&N&_Dk9 zLkM~ZLA8ZG7RrXl0YN{r>=1$;LeQUL1pSl44k73v1pSF4=s)fg(en;5FAyZiRpEgD z{3J(HI0Z2S@=xF~{Hkoz%U7r4R*1Zz$yd(upKN7=#31{pXNhFW`XY-Y1j<SfD)4{N z+bAOKDfE~<bwPukf+Pv5YQoQ`aVsUwse=+EH<Et5Ylvq^7pPEKBn;A8-Fjn{dk@Ms zRXag4>556B`!F`Mj}Z6EsOGgI)+_@v=6*)GDeyvQ&6ykun0QWo$UgcE^|vdj5R8-T z3yir##%@wwsxsqyKCw_=5Q5UtFXw_xMbRV>`Q%WCroNuA5h@8rYnDe<t0puXO$r2- zcYOK{!TAeiZuZXC;?N~EZd7bR45Jue+`?(e^hLqC;+fyXd=q>Lu*H{l#LS7RxSX1b ziR5$-C0fIT<D+%O`#<-Is8C!|4fBug<j1z#2v;t{_h{tiknXUSW3$AtpNe#cLM;Y1 zBm$gZW|=md!ZN2GWU*!mhP)v|_Q)fw+C|YlB`J_81I_?UvG{f+Jb`b<ivzVlKS3j5 z!(xREL(!ARn~HZ%6E=*zGW8EZxhmx!%!Ocsr5%7R7i=qLgU#YHFl!2`j^^eoNMnSU zhj~5V(?C7Q6S16_tsW#O!ep$EZsM3yu?finOgCZ6)S@$magYxXtyp{yY}4g;Wnt-R zqfze^%(psa1`I6Qx18cl@jcQ`IF(u85j5@&IX6eL`|1Bt&eJ<DCGlM_f2vsKU6=oo zcA-Qp^HsVZG=E|zIm9w!vkxNvWI2+LH<HoKsVww7$tJrfk@(HVDTGpNSkTK5Ymr4| zhL0Q#Y!ieL$?la3qj)lL1FxP$qq=STj@{Go@8Z)R;xrNxC)p?qJRL2=CMX<d1JZe; z*x?rQ-%n<Co^GC4?0kIu4=Q$kzGzb6gRSw+gu+Kcj0`&;16&2y$D4QYn=C9of}^30 z<EWe#^GSTc76o8JKxJtHdZYFdP{+s2o(S?_;5)JbB%3y%3pQ#aZ@mNobwBz(kp>x( zlyD^SW4ADv{5sJ^@GoaOlJmVN4lLO=P|=iEG@ddFvhoAoZoXh@RYVCzMd@;O*L!6h z5a=2^Ms)#Nb<s5v!9vX7?IW*cqBzSeY)GXt(jc5OwbAGZJ!Mo-&j6Gk>#@o#k*aqi zAx)O>&4SQBo$IE|4LTFHK+U`IX41Y~(|3OKUiY-a2{DATBV>OE>p5)jrD(w~N*{G} zP}P-nKGo&lyi<CNaU+khj+A$K9&?lT9VmD?+#3r1Vnda`Sf{w<1FoKHOYK3@g5WC# z)u7{#jos33($U~6HdOkGS)lF8SF9t_MF~^oF7~BmG;bfc+YS~DLDw}wuR3g8J>q5M z`7oL^FnL%RP1eg9y^Spc1&)e-_V@@pguHWfG=4&C4pn$H&g>RP-w290X5F-09T8&J zJPS*04~IDjGnNl^T_e@?;r*eMSTo>t|D6Eu(tY6-+6!RK(>?&}bnF}*cTR|6PDiBw z8h#s5x&M!l?-q=Wb&Af}0Vx{y>9XjM`plTp4k&QUVWL1zXgDT~mh`nnVmhx%fP;(c zBhb2aI*}>cS~VglSHjhR8T3S0N~`D(^i1xoOo?ga8k157TDD-elROddkXiX)mKQR= z?)o%XSj)oNcn;lRF{(RSNl;u~t1_lyQZbM*bw=Wxf$A8OGI5UPU!zp7woGrMjH!>f z+K1D9>Mc{;NT>1$>zxUz;_~e~u8e8O8@rz|?GM5}<7!6_LVN8ofyGFnIW&E6Xv~$~ zSaM#QqEb5-rd;za9IS8vqL^oFu$jl&kpu0>69WZreQZ&%UtNFnu~>SvC^$#8j~WGM zt@lx*;B2)%3KX>J9uW#|Z^o8=ZU;fvrFCPoszoj~)`UkvNu(g$LhwY&8fls>jI34# zj}^C=aygfGl}vV0#@r?huxWym?6Xg;4roXWqPOx!S%QglDzzP~jc(JFC2h-^LN6tX zXWTR@2Bzp-uM@>+ap{+KhcKG4IM1?)9c#rrDO)xdVhfiaAiyZLqu4_&D@vt`-~d%- zB9QGd+sHr*4jTb!Wiba|u|0%#VCjn{vat{;Filg^O`mJlAK6zX2~cZ%qqN`ZvkZth z$VI0)Xik)=F}UFKG+xs5@_X9PgH<NGf&U!<(@b>KAXY$fn?e8+VhsbS@uBL01~J=7 zY+Gui&Xvh3*RVl|h)A?8ifSoHD=u7eE;TBr%Z@FO+=|eB_Of!YiPyRBOi+$Fv~k*} z4j)s?L?mfe_TCe13?j!8>vh-@cUUsvyMr5<2cB>&a7-vHX=R$mis~S;gj_kr^%na9 z&o5bI=wWQeA$FS--zcAk1ePk$un24lccLumqBZO*kNn21ggmm`;8q?t;kIFxC}_%w z398R58Z1Qw!>0lax0Qv<=yFz@U<kFzio|XkAz~Z_n!!+n+g50U+qN0ASaSsOG8qC- zJ^f`Y&=NCov0JxQv0G1nX}6yK(r!KdrQLe!%UInYGrVQ`N{TUwMyL}50RXgHA4R+M zQM6khMZ5J;wA*I!#qu*nvj{b`tzTB4gVRoUI)nv7xb^sWR$#;ua@uXz#=vezZKA-% zV!9((q2W^b0I}Gz_r2Oyusz7$#t(_9_|q+JdEkbqXlA$c#?{LjQRrpg&st7l062bc zZzQp&oRBoGu_7vwO}k)loD!@G1H+%sYAv&V^rw-%<5e;~S&fZ`0>#@p)tXXSxLk#@ zvxSC)Q9d*f3=KffZaUpcn2?K~@3CYHtD%IbgcS{3Uda+&sX_^Z0YH^3ficip5@%tp zu#HKqWHd_I8g?Cmq5Qo3Scw;j`s39kCu;RDUNU##Lz@nU^atiL*ilSh9&7EB0*o^F zcdd4L3mb^F?9rw*5`xxj2KWJfQK>P2m;or+l`Ss6<3pG(Y{~43Rh|I%-(0aRgQ8U! zo`QU%g+>-OKo@dK{OczpUdZE7%i$)5wVTtl8ykoZ<Ee&81Xn|nx-bVCK3<36JElj7 z_MD=K$?Yj(Y>(Jx-x_~lQ)Tr@mLA5`>1--xz6^e@`@*lLT`WghCOc94`xnC$D=dqx zuoVn<iD$lx#m02<nxPvPuhR5LHw<Xg;@q@CfSXpa-ow@mKcCuoO2EJ>k_}1f*;mDJ zqkNzZepqBFg%qTsoP<xvR@Hmies7*48jP(M8N%r)YbRr}bstbK&Mtqlj~6Ff#GMbD zrW{Wyi2yKW>-L(<>@A&SM7eL2EJ;$Nf|HQ(ggWK*@2Yn$Q%DG{G9IUEeMla%SS{H7 z<J<^raD}*3Y5HruDQRh)^Q18YFY&vgV+K1BWG%RjcZdl)V25brVEe=XXhnM*Ji8<4 z9cqAL```BM=uriHy0oKbxJ_HLw78pRg*@T#!@KEkxS!T1QV4`ft1Sujz>s{X=VD27 zbQ@@+v<Jv6y9e%zlY&mLV9~^UM#Vz5KZcexFrJu8OR|S!BhnLLm{c%I`jro188mzp z2iWicUfJW~eIY_piz!49A^IFFl-Z;L1S=Bn3r9P4EXy(uL<RuOHkXq};j#1Pi%75x zxx?KHN0H6t4HG{Rl-H6B+GBz%_zuELq)zQ@H$)_sPFJ!Q(l3M|<`FXFk@f5e(Q&{b zOC$EtcabG4Cg{tJujT;}#bdl&|McBFO!8qK0xNaet<*o9^QwW4OO2*HyGsFk*y<Y! zp92okkKt_BuMv`uc7`-S%M0?EKu>5)dIZ*sHxlRNDa4Ah2Cw`6eMjW&HzMegoQ7$( zY%a+r%3Spa_n8+0<G%aia4W#ja<Es?xb;XGNUWyq>Q9yr33TW!dMWIXk}6;xX4gCE zo(HZb6{AK^2U$L3k~1Mer`UZFCI0v6(a853$*`YpvTjc)mNHr*-9aI)rf%9$G~dXg zW3S7WWp8~IyYKhNx*$YX#(Uq{kpY2YZtJP#YiQg!tEb>Z#QbU+w&|g^A6y`>d|H2h z^E<7}r3l%+r5NW^V`<!!b)Ys_%|@SH81`Gv)8g)Tqc>Ys-2WalXE&~kG+Gwxx@d}G zR5RBWb{+&?gR#<);K~-A*Gcx>No`Q8l}|Gen|@>f%rPpd{ZeLiX8qR~R};Ki((Bqb zqEpfKk#6=7F0Q;7@3Ks_?RCZX;9*2GPzZ2&^IBfdSl-G@`GuSA5-uEoB%9V&)DA~U z%BPZ#F7ZvI20HcPK+B-0$?U`O{o;DwY0f6pdY+2D;N-9G)O<+!pQq2rCVHc5B7SP` z>8`=u8hM*bEYp?I(lt@cSPZe-Yb%2Ek0O;e^{T!TiKVfH$k$n015jf-6F5P;TPEy6 zKO7`jg%K)Ff>zfuc{M@2dTKd@R>*~Q1b4YmZN_WxjSWF(w}tV)WL3Z$*p&(BYvYeJ zA^cut@yeL1hU=$!Ttvm4UxMh{`DuLRaYnFUwpJ7uC4GaJ@(S)~I_Cnfy1drd->)vw zRhF|8y{<*8pn<L!Ho~jTsGEI+Dvx13sAhzBeYpRA^{iD8JZ=!YvI>qoRl)I9b$yO1 z(z&W&*i?lgx0R!J@h|Gx1lu~X(>eMzW;!(YLK><R^Uk!H8S!vIe24@OnHc~=j9IlN z#Ig!(OoKlb6_pi47IC7<rb4X&%b6yHzE92&?j1|+Pc|sbwz(j-e;F5q`0Kea52tcr zR!-r<qG6-cqOp~!Dn)MD)sp-mI{SkbNNJd8UuzgcBCoFnwR%67xi&4?ZTwVd)mN}J z26eNHX@N|C8l`&o{8C=x-Ey_MA-zW9an-2<nRf00;0ATiGl831udccv4hQN&Pzo<K zS4Ww_MCQe5_TeLvwJN%zFAQOfRwjyc$)r=Q3RXx~>Deco{x5+P8!@-8T>!$v*xqWo zcAtzv-G5mX$OwiSgr+ZeVxw4zO`%tgVxXNF!~CRCY$kAz2E}I9)km?*WQbxYX8jf& zaWE)WR{R*CSXtG7EEJouaQ-vyV*lsRE(TZLDydda_DDDz*e_18j^gzyJ<Te`W|c`6 z^odDd8~jcR=z;?rlrt92f5u(xy$cTQVvh>N@;)t=&q9m6dp26ERA@cE2PKfzXfX$F zkQSQ>+}sDH>gv;CUe_QkHnT1}C@Gj`52ub|d0$1NgEGzCH_&J?6I7cj+=aY$usSVP zR=od%QUDInVh-aVEml_bAM2nzw2NhL&3@W<v1=PRq&9=`VpBp4ajHRPf!!9!i~7aH z72oZSkI@}zKTI}-U=SXIXo*3Sg0^|=O4%unO+I;BZ^7il(U!V7BSIn=LW`c?k<3xj zf8>^Kt++7H-rO6T-27%fCaTN#zw_1W9{$~Px73aIh$aY&-bIwgrK1c>05c{tECSgL z7DUddwLK)I073EGd~vKYUu=<PT4Jy<z6%D7EPPIC1Wwva%+``DX(k(0MeV%XH!5t; zYE+2O%sBCcqP-U4X2D5{Q=o3;3rNutZS0LmLS@RR1`@K;tk9muHmnGs&5)3B*Ke1i zb=g6pyt|?3qNa+AO;beqgIQESopFl}J@%&YMRaoWx%t=@nv)TwK;ffBrNL%v<A&a- zD&X@TLO98|8fI4c{$N(AFEHU$5d!t-*Lb2~q+8+-jfZg21?T~mfETD1KlbRc=g$AQ z*mH20gVYpxr!WV3nPW~;VvgAkBAZ8;Qo|g38ZZYtVws@Mz?{@E=QuDYElv^UVBD3W z2a)p7L}O9$W~T%)on!MxC2FL;*-;7HbYxPY^=jFhlEA|5B+m-y6OV)xr3mgBE;I#F z_E>fY?v;?9#Gw*gx<VL9sx3q%GnC?t<UA1EsqA#jRu;Qjh--EiSrH>`&GU3p$IxDM zpc6bg+6DfqMp*%*t6DXMRI#O;_UT%Fvi?~g6Zy~-+8-tZ#ZDVlN#5R&y%Svl@D<A4 z0YKd6Jy$MH5m-xK^+u#J>PkU0%!)<CP7?Xi+#ZbPtrzxHqWMT6PZ6piV?7q3sBlKI zTgYr<)w=zvwi0QwSkBVMNV&sW89|J>^OI$uAGa(YHr<pBQzIXy8HPscdX*<oR~WJv zhznsrfsLdzpQZ}wPxO0(2S`Rps{MZ$ttCCL^sY}16+({Yyf9#j;{&t9*UujfR+Ium z)kz85Z<d)tC55)>l2=Lnbn7SXii*|6^o_J{=}n0^CWdHO<0FfBeLgZ$TqFQ3cd0;@ z(ZJRUWN8Q3eXeN`8rRM)seT$9UUpnDyV<?n@h*c4BI>L%dwU&MsExBP^f#O?#}(=2 zbX<+jJg&wJi}yLMnr2+TARl`(5_FEM?wrR}*AA$zA5aSh4k$KuAzXPtsSLB+^#e+o zX*Z6K=zzkQy?;Q7qpS`nhSv@#3bjG9RZN#zyw83(p`VoLxsY4rGOJU2IHPLzU>Pr2 zKxwhUV{Y&oO)HoiHX}^?{ru|hH|5D>P7X?sR~}~lBFgF!wj>lE`N)Q1wQUCuNxAv3 zHeEEw=F@$XQXc9Y>uw?buv=~LX=bOG4a)|k{a#J>`>z7q=vdfo{Q2oRAwxH+4kZ$> zCm1tm6iksb@}NxaV^KZZ+cT`9ZQ2XMzj0KHO^LG~B#bfwwWZWea#Ktz%#_)UW>p3q zmd4EN2BdUNmiI8mmF+B%v^D7A4G(v*iOc(o%F)T0VTLqk;t_mSB=OZ8@qg&9e(jnt zue)C}e1#QYX17_|6n?5jH*>H#W)P1}Xf!Dn9h=-P^MuR)ml9mvs$2HTTXg*+dvp`G z0jdw_14`Y+qe)FswkEk#B~i-V@pgT$!6639aa?kD?&6_r^tj}Hfu-Z-&K8QmRovW7 z*qAa!R#Hs2^{e<d({dzIcHE=-cU=4lD!AJqDQ?xL+n^Aw*j8@1y-5$J{hmsWP4?<L zDP`3{_LWz$hj?R#>@@EPUz?pfTbdpk2_`$NglZyurZkG#zaHn(_ZUhk`&v)b;9mM( ztO@mBwVfYZfB(i{;b23b{hq=~>g#Q%6+?aVb<OGaw)U(~1P#s(f_VpPe8V_S$)5@p z&IFJ$asy6-gABFNe~cN_pbMrnhmWtsKtRDa4*&(0)jT5WK+P>JP(3V~fqDix@p?VB z5+~Rg*(vQ`_MWg4OcWNdNQ(eHqo)e3R5hzyJfNEPFB%XuAZ}kxLtENr^rv!(tN|n> z+F=2=Zz#QM3Ag>kM54e_^pVJh>v2^99vF%0Ks_2Hs@JnG68*ZLCKFOy8(SqDy2_$+ z&BP&9^cdh!4Ibgptrl5(M<X8F4D!K6io8lOr{ffd_lS#@2wx0)EV`@0(H3T)2c3** zUt`?z8}qQOVxmml3sK~!Na%cYLvKt`ZP|$PQPLUfMLy=CYZp}Ja0;}_=_CR-<}Gyd z*e{JX%(8;w3y4;mch2U-CD1Dr=R-gI?Wr<Gt*Fd-)q^u$ga6WvJsdL^(oTS6$n5ou z-UMJ{R%i+s&IXWyrUapQuKm2$L5+=!Le5%rxP|$c!pb&sHk#25<6~-paoSIJbLdjc z8X=kE!SeCU;YrKkiSq>;7~9^MsBa`3knjL8BxWPl1F|A0$-Ty3ZFfbr#N#8z;xXbB zBO5EUKi6W<o!|91p+-wNkB^l?H1f`-Cpuy9!X~5fo8Lbh)xxN|S`^2z!=vC!))^We z>5h&q$QCYIyyP$-fqr%S9ibSp2)c*qS!vcBo-NTc+?}*+<brlWoOH=4jfY)$#$4%G zTBK*xV&z0<rJe3VJ;PDho`w1{JtO&Dy*`Y5(8CYbH>PJeKGy5Q`Y$R>b^|O=OB!U( z?IHw%It=AVC`)2l*#<_%=wN+hqe_Yq=t5{95S=Uwlo?YQ@NH$(SQ9ygD6^%QS4PUT zgBep7gSe<zP(qW4c#-eszBOj^t<hZj77o_PUK|yRcqSt*qY1PUL;{x~{sgO>#55{N z_V!<(J6U0w1laV*Vxey#>*w+9_S&~_XAG!luFDRWofbc`e_`Tvazj7us)yD#ECaQX zRq@G~aNR5zySjr&k4cmPS?xA`t6}xj1<4awl+HP~>YTF}bQW%_;+$J`&N*hS#AlN^ zmW4_oc!>{v^!kd2ZaEJPlWv;~8Lg2pz?QL%BCBBe+eX<|k2>O^Puj?K+AfaVXpCUH z_;s~CjOTMcbQbJC#fJ2QvIMl<c$UPa6hBj|8f(p>yJ<$LRHb;aXcMb$Z^Re!!vtjZ zXOlCud48iC!E0G{q1X!Kd;EueD^*Wx;~?^<%x9-F-6JB@{WNhl$x@idh$`q5OoNQ1 z^gE1)qzu&$Z;@yu>VlBPP84(DMkq5dA;;-xkyV#OtgvmGs$#PriVBk{&suV=X5Z*) zO)}!;qqutHq?YJaHY~alTBUzlvSukcvbPZ*R_1GR^H7B(wD5^8F7TurdU&Edrea;% zX7h+N#^M*^ZP3#(sOu1@rIiA9S=NvpbY0!Zd&8s|3O`o#*g-8d2XC;ovve$0Y*mk} zM5O2lVPuilQldkK94-y`UoMe6|BsHBBh}^C>hZ+^il3S4VQ*Rd%+%3w)H@7Mk?<U` z;o<oh0{|e4k5$r-G+%T=yiM1I$0o1mk}1PWnlCt(d@m`)285>dI!}&{yS*o!5PwL9 zmW-qK*W3_1@rtbd{Sz&GkJ@8amsb&qQ~8T6<H?fT;0a)K@^X+67?lH=d%ux#hQTOD zs2sMLpgXW7=%FM1F;~38vKMsVLV&W4&FBGr4PBso=z@(DhNII2`rNCIGxz+3>E7e^ zf~gLpTNuCM*0}8b9pRN1&%XH*@XHN{OT%T}Y&Y^8jI+G2yKy#bA(fH^vG@+5n{)a8 zi1D`V)JGM}v+=b>v6RJP`QU{DWV)%v>bCs_4Ff)f<*g#Yw&eEDoGWwUwve!s+w)w& zvX<ooZ=16!%a4A!*C~2hZ5?yW(05G5foov3w~QO3R|uct?ENR%S{IpP*<?99mr|*T zEU_B)6s?NmWNBXY#nsBJWyM2UPh|r#NJSGG{QOnaCYKYniffn$4MI-GuZc(5F%r6T zRP<3f|Fx89JGY+WeDlE<qZUy&_5QEo;vwJk91L-h8Xm7$JD2r(;A1_TF>L-(_TBYX z?L@NH3!JRRS^6}{At^x67aPd>%^RFEbp&#E8h2`KBDppmFX!mH>oszoDt2(@$Op@F zT!zdRG(eNngaj1&gjW~6oa=6LCd3FneMIuClrGfeSrWd_F44lRsKYzSmxQ<4ZXj9b zlxT&JtB;#F>q$YJb#Gss1^$~j>z@B~;w+}2F3xg?FNpyktvKtSe%Yryd&?Z+tVfJ^ z5Lr)5#N(hfIqKW{h=)O!A>Ot_hzGCCv_5*o`)Y}J|Ld_vy!I0n@t}YV@xI(gJp2s| z@oqbWc#jq0-TzBr$Gh;cMm&Z1dqN(yFb{@!H}nw?THX-v{~SWR#|rVjQto&Uy?l1f z(d81@qOo*wT!DN85*O}3X)(Frp$yXwLnf92E~6Ku8DzJD<d*0LA1c{87(+2kF(RIg z$jU*Qa;h3G8pt4!jC3VD8MSBaqN7Spgfl8P)9l(ONj-rjm@e?G5U_wU#(xXM48l+7 zXQ~Q^a+AnlRRk*_<c}#14ctb`iVRZG81(Ieygd%LzCd;rh;a~R;vmg?$T<K**kU41 z1S*n{&<Dvn$7C`woPGM$JVN|gi2>xnO*59VBy<;`Gy+_Zoj{C7%Gxzc7m<bb``7UP z0o-HTzj&Yi4fOCuGL@JGZZQ$^PHq%;U5MMOr7ttHED0PfJ{D7C;<39bMj+&R(lqY- zPe>3IGsUyu!q_~L>|hQ!nI2q{ozJW@95O|`SeIFo?0jaOw1|m#%OD+bCIhw@eXWAz ziZ#hDS!T*ciA!8?<mir#hnU$$ffWm~0C3o1bim3Z{^Ms{+=U%}gOOy&^%{rEdw8Nx zlzhj&iHmQSw@LAj<*f%Eu>#CM`Lx-;^?)WRm}gD3{f&4ZYxrw?f|x;~yniikQ;XSR zPd&Gf-8PG=Y|9Ijxp+Lc&%tEV*|i(*$1+$_knKu#XTsT<u)UWSlAWYgHl6f<*>vy` zYiKLlQ+ZsYwU;L~{045tAUV#Kn^4XZJ0VD4<mMYZP-Wt@9zn8kwQK_VEk@aR_Smsf z+XYUS|3XZRz5J28tEK+1q70S3IZaV_nM;ZJ@a9(I$JN`r^JqtWjl2Rdad{~+;2K0< z|3!x-@cSTxzJRN?m0_SwB3?fQ9Fnt#ntf(++GKu#fqeB=Ug;si$945;FM6iHQYTx& z#<GJHL4cV3-b=&H&eJ3tNU=ck2fl9$=V@nUvThAlQ8K-aHy$4y!yUcNxzO9?T<9(4 zYX(Rmc|!a=f>NxeCIoik&{Nr0RJJ}=Bk85rdx7j@&+TD{5<{$8SJh~wD#2f^vCqE3 zkhh!{-T}~3_fa&JHAXK>%T!0^R&Acv9(!ALIRx%}E$?wD$Ef-^b9S|>%yIT<U1j#j z)q3QwWZPv)>t>G;kz*d{5h57tU^Xa=!Jf8x4c3%)fUmN^8Dlno{rAFU2&0kvPhy;F zClnsZUfNZep)^8E{C6~knEq*_=*WuE!bcW5i+Izi0!KVW=VPZHpM(gO#cy!X3SkJ; z!1*eL4U%lmG&n_sDEaVYH2Iv#DEo8lXHZYcL=2-fd9@?<zgp2S&&8r}<dqy)O%5#Y zVb*Kg;o8RPq6k4D+6oHM)_&*>sQTf_n6Gi_Hi472H~Hez$T(^znf`5_x|*8VtfW(5 z%w)`kn&JUd8S*<LRy7uswo!<@=uj1<>A?6<u|v@to@~)52=8Er|Bx!NVyd)Vga8i; zSfOAoC@cu>pc<KP_K8RXqvHx3fhG~E^oD|DnO<lILBsJJuqeqRd!A8;TOCFxXZO+s z1qdQ)Vc99AAQuvfC7c{cTib_l=Me79jyr#)9J~9+oqL1qo?YjlL-DelI<p1iMXSS3 zKukExq{)(?)G!;$m)V_2{a6de`=dYQ%)VfR(}uO$55_xVkCp~FuEg#03CO#3Rr$d{ zKwjki%he29OL^o0sbYY%h!~T~yvt(H4t4<1HkQ6b*HM=+t+eZxU*R<{z{7wqOP&D; z>82?Jcq&Q!K)B%Vpzo@y1JHnEgx?i(8qykkBG=~AcG(9kN@$7@3)ehL+gW+bkuXcY zv|nR>1&idL>&V*YgyP69I|?V`w}OgYPMa?}0Aoh9kJ(1Y(M)jO@p#{w1cNrLk)JHe z-TD5<2j#XrZYcNT^^6>-_q~^wGjZ@JxAzgE+}v#+LOB+(&C7vzxeq=*DED_y-*+D& z#qMLU%gsIQ^WWwEUcr)TO3(T3a&x!+ghIKmRg#HXPMFyw6Qa1&;;gAL0;Hx5qkfe` zeXL>Wf3+o-%qygG4^hOyizEJKKH`YKnV&e~T}Rf%5yn3T30(0zQ)8_pB42ULkqP%1 z8T)S{0*`QNw~5IdL?GMGnHhPN;TP^r0u0Fp?ADX++U<aB!o$E))`Oy2ftE#BO`*)K z`nIJ4?&tJ<pcF{N9*MP-Hz*4UQVVgYi40Wb2_crx4ZiGAuxO}1DlHm9sbC-`%i9TA z=o4DBxaK-SoxS(J+KE`2_st@fh`|BiKcHCRTgM4NcwP?DKW`*sK?{!MMRP?2^$_PK z<B5x%Fk%XaycdI0d54iWwZ{UAFcXtETG7D9iaWSZ-Qv7yw<PkAx7zIyQc|ub%4>m0 zYW77og_O|luyR_!oxbJPEXpzBLC)Bc&1r6N3}Zrix?EQFtC*q@gw{D|$vB}JPL$-2 z7P6176{*C35*=8r*`GblUWH#22w@9<Y}TIm!=7lBij~57P+(S^Kas&!CMU{DuZjBx zl-2F8@oMsg_9VN7?CNr<JwsJ2$g?n?3mB9<<4^UQ$;G~}{7n$CrI;pV2y<&~jalh4 zRNpG>mjntzW17S;RhKS>WdtEUFlR(noI8y%K)dJ8A~K73xBqbYQ^YL74hActAptea zpHRb)sv8ziCS>3<DpqX4TL^y}7dvdu&1V*5w(KE_j17~RjC}bC9ZKswSOU-QRdd8B z*#z5=FmYu*5rl}lM|AX<rKeiKdSf>j2!A!`voI4lcE8vnJW7%=kfKU;2_ZZsl!vK8 zK!Qx745c-*E~t1#$Rd2h=T}l2MOPrmwVpc}j{DVwx$~IYvZ#K_OtASyE^u^FmzfDm z`qm#G$%q_D68R$uG>}bVv^sQy?jkdw6Kv+0cvBFN!bM^L7Q~Rq+?T>=eJPPpNsFyr zeA(_L^>5++!)7JXCX%Y`3q3l=I>Gd-2)-u#A_EHjketrsX?kM&s624|xlA+5LzVik zO|(*cy%g~##4SWAg-4m$Sgk2GO#P}i6_Q!Bi`%_A^Qvz#lklp~rZU#ta_q}IQ{ED< zT`#}$i&ih&ZLLAo4IEsS_lD?a)ihSO*6_?8DY*;2kMt(lR5Zv*ZnjmE>>J&IdL{2n z_8m9^?aChC#!70S7UkF{l1=XZ?5TFbn7Yx{zGDg!aW*_(wrLu2O_BEMst(N0%6SpA zu*NlL!7}@bfh~jjNzf|pk}8T@zH>{^=rrMx@2q~wmW(s)t3e*Ix3nc>AKil3d#-;n zdW%d($&DMwp%gn4)M_a*VkLs$Z2~g72%=qyAPAw3aoi<=KsW1kfNxk{nF5Q<3eAvD z#1(^&2|Yn(!C13$7HS8pKU!qz$Ju+1C`$)}KMFvZ<AQy+P5PODvLGP9Ch(=>!UwaA zn*qCgjd^cKx(N$n@UD1}gLkjlXUY)XJNmY#4+<d!V+kK>MmGm6;rk$csng~dOG*M^ z@cBq<4h>4}G95?NS(-;OLqYF?oBr9TJ20){ZVWRKMc8@|_n=3ch@!$0rTZD|t*G7l zsDp?U9w`>M!}bE(@@xkU{b%t4w2-kcfasJ0h+0iHN@hBE-4ps83>2ho=jO%W;r=Cl z`UxI@b*LWA;a9JxI{4Up+#B(o4ORj^+AF|FD4L1rsmDe!2qX5$g!gvx88(<BjcJ=6 z-Fa67s5<MuP&y+<m7h>9^)dwfPlZS8Dh}m7je)XFh70;r(HQ5?Mog7Q`{PSY2{_p# zJBi`I<pQqC^*Ix`x$#MLL9q<fHAt?^tjlmp>c{M+CkvM#+MP%Wq!g-2r^zdHBE+yL zsj{N|qm%#|aB%hh4HAoGRiLm|vCzu7IT8%CrDWdwQ;JvOYWsLKF$-SFr!{ozKZ&Pw z_Wm+=Y)Q46q~In$o0(kgQ_17%A<dBv*>vbsgK;>htiuOp>uQ_7NbpC@($(wP_f-48 zP3=V0sdjYqR8OM#?|iELTS#vrA0E74b)sbu{#?57l3Y5KJ0bgkcsCt+arVJJ`vs;i zan2OBQh2{~yy?2{T=E(FjB5~OSa1&|zv20Z?))S?)pQIy2s^uCO>$245DznX$SiS* z$5wuY()g4qElPNS?^*fc3V(q&jR{F`4=dm7@;7&dH&^xFT&p*&qI~lqy}2JE`-jG9 zdWPcio<h}gL|i~H@Dr}AEUD|M>QnI{nIxQPw^!-*b#{A+ZqKk=q%?}9uCiNoyWVc0 z^A$xs5yuIVD1eD#j@<M$4cBV!h)+U$JZ8N0LgkO+#zuQJE~N|k;R$-|N`f2arBlul z-PHVo+^PyT{N^Y7gi)_mfgji4gel<=rDcOB5Mk^LJW*(3yb~GaoT^<<uw=i%(RqiQ z?>x7y9}n0skay@-!RyXE-)tlcT#PCEDj^^C6^4P(RJw1F+5ql#T=bt1vey*L)hO1w zgj4A%%r%YpL<3=m)OpTUm?m`|ai{17i8_&SrsE#3Xrad|YL7P%Uy>Y(@Bm$<Mv_ya z!YK84L)g5*ntKbeufjqR|FV3cq8M!|cDD&RCy;uh@-%E<LL)0ti8nSBtv77&umH*0 z@*h^B`BX2{pqVh|Y~s~5dDwjZvawbqO+eF3Jc5iX*AA4F5}llu$KZR9k1|mz!?}wg z<xtDCNkAEdm`O>w<f2?CC)ko=ixYskcyc{_yMoSaEg!<IDe_W58t!d>@;r$v5pJwZ zr~N*WQI`gWG|Yx~lLB#?40`LRgm-zCz2(KQ_E17zc4@ifO`7S?D$6O8XpWZRPAz}z zz=X|>;xz9C<WuM$?(59Nx%t8^Ob$^7l{c9-P_8L0w#6bFv3WuEE3+EIA=pFB{~kLg zuW!VoqOqisk#B57rXz{U#PT-{?U0%CtJ9Bzg`UC!KqPBHkRgy`gq|a>HX9+^{1`&A zFh#tMi6u7f&oFx0fXRcI6Q>0RDhO$@CB{llwzgbm*xFJaB9zA5mYC3VlA0-hSX2Z% zV(g10+w9vB4`D~lO9=?DCKe6b6_SJD3F)YP!YR*3=5&n-v#h_cIPO;+u@r_avX*+G z7zxCsvP#DK8+*h0%V?P+b>6bB%UAkCe@bSrM)uGvmHGw*#d0d)@o;wOt1v{M++dkR z$cp;Gj3$fEvxlq#eAF~bLA8Pl`z2PD#kExHwv;@V?Vp5_in>I><D*l#@S5Z;lldCD zo*Dw)ihNAgkW_(DAUCV|BDcE<?hu9W3?(`NlPo`OySPQbw*g*8TS}(HK7r-9!qbfr z%+7kH;V=tBaK&c*mqsqHhk!I;r=5-rthsw4{ee<IzY=HvLcMHP4T9z+1YQFR_ZKI0 zXb{nI)^HT{EKcYm1zuY;XW+F(DZ2{qXNe5Di1C$CIcOsEP#G|Ikq2I5t7vZ=9~JtL zJiQ-y4U;;p?_qmQxIT-c0d%TphzJ|2fQudB6e=9bhuCTAo32$&T6B<CPV_2Y26eQ6 z52FNKp;^Tn)K(=sT?R}XDpN2^L`Q~&up*YSZm4)2DlD;lFivbrc`6r8hE>X*Aq93Z zvC^V9p{8NT&dnEXK_#OK7F$F$>#tWermB=JJx>T}2PC>p-@H|+VVH7zt(JO2TBtJ6 z^Cmg$U5SR=3yG*7Xc)q<g~-oaIACV!?`kA1x8}rqp;1c289$}@<ASh;m~+MRJn!50 zOsmCVtn(~E*X6s<Bs-6G9m=z?*xY@F*(BWZCN;~+$<76n&8-Z97<YmZVrt2Mm|E(j z(Me|JmK>LKu_qDi`l-6bC7b;$6}Cc!)PQi($T>C%;WK#2PU*SFKxyTr6FyXZc_3yh zRJkEK!{_WrvKYnei=glVv5D>IsYFoB87%JysnOY6RD^(@UF};W7P53(q`d|?qzWc{ zgc>7!L_(!aVl~nXW2KN0XF+D#66ObmJ$^*TitUZH<7xj_0EvNO9zcRPab*Ar`rr{G zW*?H+hNS+kd9_(am$R^SGEor^J!r|3m{Ik=*mWJD9Tj`>pDUYypDJ&KzthQ$mx96u z>N=~p!r#r$Jm7%=Zw14_(mdeYsj+6%O#0RV_oJjVC4FqJ3wC<|>wwA|AugoJH;sSd z8h_agq<x!#hUF=>0!{afPytVw$~mHAN9kDQpwPDtQ1#}RP-c3iOj3NWeCl~ptw6)_ zv?itbK+}9G`sM@dH5Te%4#R+x2)*zz=$6OFUEvU#9YV7SQO2Ozt-BAQnUrLZ8IWSO zC^^!zL%W$aOV3-)9`~qsv)wlwLbF3?=7*pT*2nA6{N&??W;^SA9V9!nG`u9TAPKqT zwgWdHsRZ;9i6KTIFC`~{x`g(J=SyJtlo&#y1fofg!tllUs2DyHJPam=SfE09*uhc} z?rR)M71042cw_joe8HOu&JDviIw!+7Dq)+rbS|CX+BNFTL00F*#z&!ZL@z_Gi~Um> zBFBw7`$vSKW{A5znrD6XPfR=PA5q|WO~;I@0!~%bs>j}z{Y$+$tCm3C*1aD2Qt@dP z8wi{V?~fHB`7$gqM2MQLv6>l6JF;PgYYWVv{g%g;<|2ldBe1p-LqtjpF)C3}B+kzw z?~T3*xe#M_Za%t&=17HXpzzT`V*stkM5$K=N(_PUQ#{0AVhGI*EMZ6tVKb#^b+2PZ z6$dqvkuL>td9dyE8O2voHw}QBzUQLL&z<5k0*1cxTX&`}>@}9j!yBfxIPtgelRWXv z@krD$gQ~b&+n4`V_C>KYadEt)C*0)GK2I>~DNcO-2Auuu72h^ZW|SJ!1Y5Lw>$88W zm+JER4HlY@F>e-kxApMu_UkuLudK;D<+pMMmv<(N0eoaKUE#6>F-dXN1%GRT7|Ci~ z0%K9IPvs|KwNvuMB`}FeVD^{<28!53(-d(DjJ|aV47kMbA%VeP9VTzTfXoI#$7DeJ zfnYmANJ+ov1wmrr0A1YuIE@Hm?)ieF;V?CDo{sGKci<ASxtnYpoKO3wpAC!$;u1go zZ1MOBvTZQg!o-`5SfSn;HJ|o(FE=v-){1=EeHBnQOHW4RX^a)Q#8Mn2a$EoB;I=M) z5r1aM1HMz<CdIePTQ?2IB-VMmhVgbyHDsU2(><`5GAy@SCxP&xFF%nHctfI0HC^1t zFXJEsx5;)IYA|1U6KASi<>l@+>&75DBMY|rCl1`fFo?T9HSe<ypbDZ^DvT^>O-^q% ztkP>h!DW%hWS@J6=4H2u!LMk<oz09B0vhch3SJ!9Eoi~cpEt61yw>9vTRcq}09rP1 z{P-eX6UZ4cFB6Oy+;5ZeHpo$%2(hH4DFgV@N@Id=iN>Ll9%;EZd^X}df)EosuO9E1 zO-fReez}o3%K;W;4aiVu_iUu@)QS7uK%KEbD9+u;Zr_u&B1wNn*>5>{Wfaee4KTBR z$QB9!bH1ZNdV4mbIHN(jWo?bRRGmg;mx(w{;W@&%s(FnmSdHU0Erl`FZ5UJe9lC5< zV~Vw<$BfpDjFg{;`jD{or$x7+3WRoEML8{r#Z?BIF>1BR=8RW}Q$%Gh%alfO<b!pW z^tdm?^aaa!>Tv7@i6-}*psnjQBy?jDOlfTdCv(}5@*ghg^mV*730aT|`EXG8(iVif zERBPJyQHI)RV}@?T+%&XdT>c^54xnc2VK(Ja!FUGm}<GC8wW_x0E_2}CsIDtcS$Fz zZ*WOhd|w>VJ3&B-9sW$0^p>5st(r@EOD^f=0E$4926V;`$t8WL?~<PSb9GuGak=*d zmvo6K89H-GZ_RW`Z<!gAxr4e(I`xltN|$u`!kaFGg$#Wfiba~$(k0!B81+JoN_pHU z2Lva2q=7Llg$O;Kap_10XM$KJzYAUr$t6ARyQF7V5K5TmO1WZm7n^$UM333;A&Xig z|L`~-UBt)0He8L$3o3r;vb?$8wmjz648g*I(=#(971WW#$e5BFo3E`errd!Ju&pni z*8%q65rYR9qv^-jIa6av6id$~<kvA34v?>xw@Fdm`tf50oCDuiTxmW~%$%J&ZF5rU zi!1k1ryVxInMsW%)~G#AO$2JU9`nU+n=ZLj*;c<mh_?dvSWBJ4M4?Wn;SP0RdFGCf zAMm*H`9s>!V?jJ`8FYDCo>?5g2RO4na>#BsenMF|WpBntzGm5URP<Cx5p6*KzV^DG zs`jMPyhP?GP(&XbGMWc2@Hpd(uoz;4z-~nw96KSL%gS_Zk6@$g=}7ZR1?=J}+zga0 zSLpRRiHqsN%hp)xpJ8;>(nzUjD0lgfNuJZpwn5ksC&yB%g*T0}u%bfq5=-sEwk*Dh zKNwPk4Ow8wp>4tx^7?)PTQ?a7P|OT;xLVxzTF#$U9=%rW%U}jWuI#q9AKX?$*%8~c z#$!EOH7;iw>N?JsyA$qgrYG`@L;_-E=&~2M{d^)7-FYv`fTo|Nj}_lY8Q6HsFhUo2 zoiEd}W-G=y=Eg$h<bKFS2HnU@FzEpw7)<!h$c`b`vl_RpSB#|hvaXxb$THS4*ic=k z>$r*t%}cEuShIa$-GU_vb0@MT91>KtN;6EfEx}<=2kO#*xb4XK&7`q8J~xDc!c57B zv;Wu5;L@5WEfjglta+M|ne%Ys(s1#Yw=i<==Z}m}qF%I&C};F!S@z}A;XAxG)fA1T zd}lU5Y`%sS7~yoXe_CqwsORW4nOuEnJQs@bezCtitSXkN*pjmTJR(s8UX!g?g9ELP zO+H-y4<VIV@=Q-Z_;6$qwynDC@?@N01)xy7SLB`fh&t2I6V0=xK98Aiz-KN1FuUQo zoLzi*RCHR=ARL)5s?)F{^UB}#5=1wA%f67k^+*@vL@XPc12@zv)b+J$h4pbdrxWaA zE=Rv+v9o##QmJ(&ILa>kRc`{*kco6HPt6QzVk-NK7xN_pv9uQ%4F`^i#ZbhIT3yx; zT(!*B%=rovoi&S(mCeo7QB@zhNr$y}?Ay&|aZ6bZJf~>lIQ#l=Pu_7HwbGl@<Dwc> zg$pzcFbvG2kq6Vbxfv`+Xtk+FbVFz081fB}ac13vhzOEbZ&_Y&IuvROGUM@hBUX>~ z*w~b_d!0Eoo}_CN+-n(wGnGruWMR;;{Gb+1LrK{n(34zHGa@UQ_Vbq!j!+C;-rkT8 zE#uqhWG(blxV8B?SA;uN*>!_Fs$^n$W}zAxcs_VIeqOJ=%w2fP=O^>KnYXDV*n}k& z?cpx3kg$Xeq(cH8HmL&_2kX)TcW5GIaMW|_ciC%7D<y^Z8#}<zWjT78K~~OP2jMPO zSsl8`e&wBGNb`7ufJxLj{?NIEnp&8RiGJ#C7&q!#sTz#eqM&!G0^cHonJU=9mmHY| z;pI<O)HpV0qH^IDX7i@eP`)1H#>57u8)V%!^2H!<+}^AVO7c{lD&E4Xm20eZA5%p3 z#U$kXfCE<!NYWg^P)XS0LDnJT+cMG^_%>O~g76cLl71KYZf2Xa){b^87ztXUv<528 zK6exgRLe-9oEJdJwLY^q9v^9oCYLgI10P-SbG47ouRbCX6Q!3@T9c*kPKfPHYADe_ zXz))~BoZbhH(~1~p>_i_<qriox;0e5v87+7y~N{?7l6%r!s`_j6zCT(_L@R3Rhg>W zZm9(|nvLxDU!l^)bdudn+%X1-;dOaEsK-?K67l1lvGox`sHz^wUIo6Y$w3Vl%E-|) z!NTYWt5AkN1}rX--f)vK0(8<oTA}iNm9N(3S1V7T-~B8=r_Q0mlWG+gR6PzEC{z~* zT3E6HJ^B+aE0yg{c@FGWYDfz_x7v+w!Fd_q*)9%CZ=Tf2TKxlS9YLxR*h6VUP$7RQ z@XF8GkOyBTRtdWU(_lt;G2>~6g_1B+mVKO7bohBgT(VC*-%b+q$kc+>H_AXooBSwG zY#la%`G$mh_h+K)FEDE1yyO(&!q|Jo_!p}>C5Z9?!tc=<SYi#ZIIZ!bsWxQwddIt8 zBwCQ@qaqSmO>0u3Ly7L<<sN@YRWf}S@4uvAja>RSZ+J?9^e6kH(-n1)Q8T97A;?`y zveY5qbV{>N8U(qePedj!2(Wmx9L9_#DgzBETa^pzt+m`*%X9m&0&v`cTh7=dk4e<t zQlU8=;t%HfItYs$moP9lueT#*_7b}eSYmfs0=lJ>ef-tY$k(gnqF_)JL@Z+gxFkW% z@6U->BCsVAK<ef&CZ?m*9?KbQi(gd>uX8wJxP60&VF7>3)w>7ch~d(#?X9*SX$0pP zM@-3;O^z04*BlNM*pw}0xGl>E9l?(mi@#Np8!qRNv^GTf@;hf|9YQ8k#t|Fr15)K7 zbCy<st{=R@zhqY#npga=8dN{fHZTJ!ymtka2C)X0wwC?1S;Fjb!&dd<hWRaImBkGk z><2@OuxJHl#{RijoqflexM4Ol?zwBXzR?Y@0i`)ZUDDWh+pXe;&6qX8U_l1H(f~*N zALvZLoMsfKX#$XpMdSht-Ilgn+`6oVEvYmOv)eKNEl-;s_C*CsVF<VF;tM8O;kFZu zB)I+m*?Su}yQ=cuf4`hL^FG;N&?vF)ISqB9p`^DIBBq)>1qnq<q*hbw?Z?|c{eSoe z+6x%H+};!h5-@1A(Sk)qJ9<&5g})KeMoa4e0U~dWiWL=VRI1TNi-Hva<$iz9v(`TQ z%uFDtSbGckFlX<z*ZX?bv!3@g*ll7cXu3%q4)PWrN2*W8Vxu8%Qe6}<Gux6Zi3xvf z^}L(*n3>s{J-W=s9=)6P*k>kg_UN&9?a|}z+T(!r*d7P1$M!g6y|Bk&>#;qKSdZ;- z)Ou`>V<B%+y=_*H_b@0hpe9z*D0|FIH)4-@^_iIJLM%%~>ljnL$Cm0nw#NZ8;Iqd; zTLgRbiM7XJ>ySN;*y!wW)JA8I-eY@QV576g!bWG02ZT;0)n9an1X478zT?!S`m^u} zwOg8Y<BdBde)qN4I_FVlZu@Sh8x#QV90Aii_^gw5DqB~4<~c_A+K0cpi4Q<|wPn_a z8}tFHsJfUBHyqI|afLoe6niNjKGpbevp acv{<b|sFg8XWBJJfvIA7xh8gaeCH= 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%0Dc41^hpu_h;&TX83pK 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\MiJqo9t8df#_db$4~|?!9}@Ow9M) z8_ewL?y6O*R;^mKYSpS$OZYtHCH&C@Xw3&n3xS$2z>OFh)aS^>_)}(2IxRgug8{?Y zAM^nS$#=de$Hzgbtc*@s1V_%%oS+qfvBr_b0{{>_xR1+u;n(1F*jI3(X{88NyL&yE z<$C!64&$JQGu_BPjNt}mX+k>0Eao~tBV=-yt6zsL%T7iuS2;qkTvdix@|j+)_OzAz zhm?n&!U=mq^%PFniLs|}!kQY_-okfEVsn7X;*%a%*kXZ7$4E=EH|DJ=m8%ifRbW#K zE>Z6vFQ(CGFc|^!SMi^!rnwGmpx34*9CV}o-tjS#2W+C}yScF6Wu3eE!-3btM6-Gl zX4*Xqmc5{LA(}s9LAE9U*@yh;?;9%X7|w#jH47qNiRdy@L@VPNv_;r$rYT<%yXkDa z&ELKC<)Eu7)ZGSB?cvPj55>U(CKk&}H4dAR4w24Zuuyk{)Pj8CpVUS6`eFwF>W%|g z5m;*Da7^m9)tBv^9`6iOQx&gOEpvvcsS09~W;PkXxQK}kR+yob{tH~aJ(f)NB+es5 z0oHfzA1CxE$vI9F9m+eVV8X+tIAC^q@16m)mb~(D$~goo2aJ3jOxM1KxB|g#Up);^ zKyd<a_K@u>C<tHMYWpQ+UxC18{3i3A^Vcev0iBH8z>9SlSA@UEu?9=j6vM1DNRfw| z6lGXT$V`rb=Iv62_OG1wu4b&?pc2U<vA58wKk7?p4Sfo&sZXJ`^(nNvkNcEveG09; zPodTA?9-O^DYW)Jh1RgEFI!suNnb*%>r-e=eG09)PocH-DYW)Jg;w`zU-oH3pF(Tv zQ)pd%3a#$5zNA}IpF(R6LSr0Z<)s2GA?<AWycwD&e4;Qt!w4_$w)5Q{@=l)LbMx%& zq-9@?9>7$ect4+P#TnDRZBF;LUbySMPu^{bX+3}PSIR)vfl0z&Qqn!M64g*Qa%~S* z4!VJOX6kcdP<w4-x69W)m2qxR6^zHMljm``%hA=c5)k;}b7*KIsaEpZP4201F)Wrm zi9tl)2vv8=8BfcIztM44@bUcMWB1>x><?fdcm4p+`3u~=K&6^N1=BY2Z%!cnusRVl ziL>NR>`_>D^=~DI{q;HO_fz<(D4mlBvkWTN!$QivGAf<rPJPDHI+=!J7~MlevFc9A zmZB(A)u7&l1L$lMf)>?hvAqPyZLO;csA#1^YwuHNU406zdQD%pw60H~HS{U8rapz% z+^5jm`V?AwpF->EQ)ty|`;_1M6k0={LTl<%Xw7{Jt*uX?wf8Bsu0DlU{cNA|Tc1K} z=u>D-eG09)PocH-DYW)Jh1S)l(5lz<DZlk8w1z%~*3_ran)?)5Tc1K}p3>5X+F)Bj zXnmmfim{a|9cLgG0_pM4um@r{#(8Z{OUl{DX}=Mt#afgHwR@Nahj4hhm|LVMHb^_j zix#b|rLqC=XV_c!gvTzHSC$GlkiHZvmjw^t;uS1nD!AU-u}D9N8?SZ=<t~pvGaN8v z?IAk6-La1fSpp^Ae(nNbobsISoQ}tU^%$q-abV5OLsTI)>Yo|MrK5L??K}U7WrDs8 zERB80M!@j)io5vGwiHllCN8?H>R3%4;Iito{sos+w4HmcOpmAC7^E@I^wAWqAh8`l zYvHR3tu(FIyZEr-HI0_`vs6ASqzjjd+%lfufovmHgb!Kase=-Zh0X2dIbexZW5*FL ztx5)yiUh-GMJ^J`Moxs_{lo@l$Z2w>G9%`5><Qqh+}p}T9_B8mCoL9e@RoBo)wz%* zQS4j=83>LscmIlI2Z4t{aBgtPp&u+KbBJ^!SHEf|;C6??D9_c16nGv^L9TlqcnV&e zZFCa~?-a80BcZ65`jowR&e`4A-3J5Wms>Kq(4M1z@HfTn7vP{)=UDoR#ot-*rDCI$ zUY)~Tq55gC19te4T`kbzAcc3bMt3PL8xgXjD*Mgk0xWft(jEp2o)YL&U_MJJp9sC` ze`Guw;;;JeY=Q5Tzv`dy3$^NBc)q*p?^B%o4SQu9p?$z!eKu_$v_p`kMx}=jO$k$# zf!QP>gAp94%qJpSPF7|b??4~SKw>vpc68*iK(MKMEKp89rPcPH-iz~~xPDX%OY)!! zL-CF&mIS3w>D;Hl9LNC?3~*y-mw>4&Qp&f2ei4)i|96%801tgoTK3g5P6p!<!K~6J z8>jbU2Hh5TX;I>)oR{~Y?1nRmya^7v9Zhh&dhzEe<Is5Yyn@juei>wy90hoND}1<I zAEb6ZG_L_H&MSRNs-n_m*Cw~2pXi3R?BJVVL)YP*8HF4S8bi4GcdgNcbKy<Chi`)L zYVj@^yv|2lcr&4zNJl)D4{!1k4Nslk66UBx&x7u+Q^_NSQwc-~k21g^3ao<%x|d*J zs~uKRJc>^4oo}v{b{3u7i$a<|^;r$+F6n_->+6Z0C7ALPTyBqtvLbGwnEiMJmOL+_ z)Sdm1NzZ=TWEwGrIw+McX$qa7CqG<ohgk*+9tRe*ChaLc3btQPH{f*nQHRtpgme_M z2N1=~_Z@~V;LK9T@u+`(^UXIWTr357jqBx=o>$?5`{AQE2Vwt#Y@Or>M06Z{5yg1l zKMgm*T!v?aq}4=?{}(?gajtW$3c8a(#Ft6;0~CUoQO%qH%A&ZS3-<tN4fPA+#!z20 zk}Ll{ymPWu&R=nsN~tW^z?YfQ^%k-3I90T*J%+$7fG|ZZEt8{54pd*9egJuLILdD2 zaJhifd@cOac%P-y=B6}lgod0KE5#iH2dKcJD0`-~u*_NB3YRJ&2;S?x2eLEz;ZmiI zmt{{&5rr|SgLr^WwGbgUw1W<&g@d4y<F#@o%Ykn8lTcQ~fu3JMAp7wN_$#hIP*E}N z)!glRuw;}6OJ)L<{bsmxU`z>13b5q^6nnydC8H)dc9v3g2`7aUSnJPo5kU8IOp2Qb z{X@vvApDi^p|ckb!{rZ3i}z3A$=N`xEeJq5PmT4oJ?{)YmebKxMmSuYexxYG*V<{U zxB}k{j}WDH--#O)3haw$1s>E<Zhx*02k#X!4^B8~NS31@S!#y`ET9!Q%UQP>?kAi} zd<7K*V)tj@wo>xZH=a~;_eO-3xvl{V@x&T-M~q-@<!YY<oiDgDgamtL@t15oT~0(G z7Qt%8ev0BeyDT!*^lU|sQrhA`o>sR!HUgov3y=^B&hNMKQVcniMv6m(bLt>3P|>A2 zpB5sWV2oIT#~8_+j&Xh9nU_?S(ftg81l(;U<z5T4IDR<Xb7k4M@<S4qKh{eBZ33#{ zsqFL>WIr&gKB9eYWoiVz0WBQbxc{$LAe9=C%S^cP*U&Ae49flz3=5XU&<4`z;2g&t zHyepHm(@HE&M&0DQ;UK1mx>J6&KWLDGB^^bVtC26qjXn^AZH{2Ni~FhnbPZOp2Ibs zG8c=-HawVe*l$yvPHq)m;~z%vs=yr~khOo#PC%2@P`1FyOy`)$j7LM$7>@v+w!4Ot z5*Wi-p5kqJU`5I~)Y*j}S;Qv-F$cH4_6kJCesxqYL8R^X_U|=_i3jx(M8=-AU#~$d z`%y1Jr0tFadktc<gq@G&3pM?x!BpV7;W8`RTaTc)lNU094~JL+qy1l)KC!^oVhwhd zG%qTJT|qR6Ac&WvK`i9)Cmx0i1JP<o5XfuMK+YiyI~j;qqCvzoB@&BQqe1*3ni?lY zQDb8?h^GHV7!=JiQFs)MM57N{vMm~on3hChu{jz9Rsbr*Rj?s+3h+#GBIaE$<xlU$ z8PUPcB!rlA`a%5HFj23b#7nsW>5!`}k9&eoDJT8YzZEHpLBr;RGbiR@IUdY|p5Pt3 z>k*LQAt2)swgf}M;u$l~gsUD9S&CiC2RNjT#XzF@3-9)qcNjEBrN`!5W-;69a}(cy z5Cfe>{Gq<Rn28qt8Gs>(vjFRm4iSc?A(t>gRc`rdLM~sGLl{TgM}e#6E$zfXYHF44 zloV%H1t{fQfgp7jr~8zB*I4#YhM_v%`X!zVhkzr6k!k(08dAX%KlVb0Dm1XbsSb58 zDaC_H@lE<BuSwl$X_7wbo{|>pCPnr(<&S2YnhLb+v>?ZHr$fEXA&qQun8|n984i{= zJa~>%#!oqoPb(<<`!k@*qg<bz7SZAENSO0A49kO^JNUzq(8$CR^&}nMjC82O^T(BY z#=DIL_i$e254RWEndssleSoeT=@7I;y1}i8*W&92b<1F8Jk)8%PjdC*iM@Ia;{5@= z25}uiRm3+WpR#U0t=@<x4|X>2hyApLiB9z-{j>||5M_0oA1Lg~J}O}@F|{(xWm>Jz ziU&I*539wa0^-_6OEQgyfw-p8XqzTf?kM|e7zo-SR@z<xiEd8KM<6Cb?h+HOpmI=@ zIZdY3LRgCj*iI0`eE?#(J6rqlbOC>z#oZ{Ym-d!3_%b!U(jV^wKo!e|)Bkd+F0^-< zq#ahJ7F1BGDUH)kJ7WKHK?SeII;Mno&~f(G3oF1yf{Z?&01Tl)4N|r`>iU&f5!!gm zjwTGGm;<L;RUi;NW63k&$|)17CtfwVrmms6`bxyEQ`>fZ2Q6|MzhzvchDWc&2+b-| zr}-#a6KK978b%}<??=OcK#oEq62!*^K#=Z1g(MQh2hkuz&CFMKBSCaUgNRWx<AqEk zPfrha9^ns#%yK5ysV5OK8;}kOnX`<2S#>}PhM$ZmlQ0l{d0ejSpiFrMpwScoL$Vl~ zXmF~&QW>23$zdvG9!fM9yfV}jp&M=mj)yvv8-N-2i{o3jg{Q6uJMZ#`t?Oc<dc8bJ z>uQh=weCC&QP&ca9`EdW84*4FQ2Kb(_7^ARyp4x7zX$7B$66o1jKStWKy@*}QN4qS z93=2ZOcWpb&4`GnhJKTzVupTE5z;9JYKjnLs*Zt^i12UkX%c?-%4bRVg{xrNjV8RS zRBl?0oO?KL@COQ=)5*kcc?rCrRMxZtM(|8vB%gm4&F3-dzaxEDVcM2qQid2TqYzf+ zMxNVtVol4OK+{kUb)b3aK?JKyUrHr!v2V{!JB#PR60C$iI2qy>-4FXVBy2uIDowlX zDIQIBHu7g6s<5k^cBZ@dC!^@H3+WJD^4Z&?@=6p0mH8u7W@5Lz)Kp$o9Gb#y%LWwf z?{xBqQy?N`?B?0&Sv*C}K&j}nuEfx~KPDLGOZfpbOhMH<@v4r01}bRtkq)(#f#ia# zH(9t#2&)jpg*^gSO@m?-xaA4J<@G}}D71B5pF-P`09rof>M}7+?MwhJc~f^MfR>M3 z!(ffvl25@9Sc~w7tA|!5G}{Qz?O<HRpq$V<bZ(RvlyZA@@#iQ#0529GfgcM|510~2 zwMf~Y?Tf{^@+`qFNj#+Hn)M1&6A}uNqy$nu-i09L5zJd&?_K~%-*evN&mMr(ayt^& z-HAVx&=^%)@FLX0d}wYYw<Rl3aFEl&A5LiNnApNUIyh7Z(utuxu@VIbhoIH-rCz%= z=0i&`ZNTn5!kjibKL^A^o%vq?HBK7|K&0(!#ufsRPa#((c249CEY2tVp-im43W+-Y z(J^A?BVCk2?iy_JvJIrrb^IZ{>zQa&Ptto$NQa;$Yu-L)^CshjJSeo72jvq}=(*m5 zxSFBjJrjNyixXrnl-cmNRnT%qVk^_Ja=7*7y_>45t&1fdt}_MUD$7&|fjg1Ri1Q#e z1k@qwpg4CssrDAMcMoSaf7nS4Of<<$H7J%N9U?1dW>|Uteg+ZZY9}flpZYdPfAi*L z@AiR2eKY+KlPdGKOW&-+Px8L`q#y`}&r*aD_Y*cpwyuqH?h?#W&biO`&$&~{z)BGt z*w8hUi)7x6>5{m4JI=`Wcb?%7CF?pSw(yT02Ro1skyxD<BRa5mI_XQGje?*OauZco zSO5bJ74lHBI9FUub=BwwG(#N!xcP{@I}ilSv{)fzSKv7u)-YFPzsf^r2ye*vm|Sw> zsX0_?UFdmJ=(z)d!6f)5VvzL`%tV^i2xj61*)vn=@gxR1VCLt|Agycx>Nm6b22q$~ zQ_z8_!y3fBY%T}Hixza_F+;rJsY4Ui@;q28`DQ?3SiPXqbhmla1I?RsH+J$6ZVHXj z&8y*?9yM=P3rc28SU2*Gf(~+&LaN7}_DX8Jmiuo?gthw_z~Yvt*T%`Ky*DMoy6b(E zR6D{NuSUL6(0dK*z8SE@4@}Gs2Ake>14?GiHa^HV$zk<^wdT02HRl3x_yJ**%yzQy z)=?wL`JbFru)<RJ_@pf{{Xc$~8xJyNKXn2Ge)ajvI1ftpL=?zH)*QpPU67?&Nnv8_ z=Q!<Y*EkPbdrC#{ZMve$-Z>go=Go>+6x|x-M^!x3W_wUV+3%d!s}@OISGEW-U5)Pk z>SJ_nV5l`PPHK;at%|T}vW^O|+7mWxcqhz;^FP3w9*Kap?|LoLL+w+-QcParP+LsA zl$_PDdQPuq#?B3hlUBaz5$#m~UX%9I-v_KgJ)!+$Z=+;@CzkR}k7$20O9p1WJNPE~ zOl9!u-B+)2vCy<%$TxfTq>asYp`@a;hSkD1J!<1K>rpbm6YKe=NBy{yB?HsKCw!xN zBMGneLj1P4;<v>-yzjfrJF7ncDt=JZm-t96u^UU~O?b!;f;z#Mdyv|LeJOrfloY@5 z9AApR&K=xokm5ZD@g_lB-763?eg+UVy#le7SbPQH-SdX%3(dkH`uXIP-Hh<0=m$y0 z8bnP}SyT4kG_@rpf9~L$9*xb<Zbiw!c>2<RlZ0=Lao%x@hlL)S@9~Y2B1vFzo$p}f zksj|re^`KU$<#@elW=fJg0+VO6YL1Y_u}u7=|%~oj08&IVA$$UR7`u++7mTGcGx-T zK7WC}phA=wQEK={-$RIApedN^PfM0{+!MfhjqZS;Dq_r^#{|Qz;k=G=jqMqr)n^%i zdcNSQKOg9D!L_k>?P@jA>4oIl=t?f&<Dm2RgY{X5A}2kEYwt$vywd##<MCarw8y02 zAuC?scxMw8y*xHp@!6-bdmfmgU*a1bBBr#JNLwpP4mPLgt$dSw`sz)`uQe%6NrVp6 zXF6rKS2=z{!L?@(=2!tcit}a;KYS{`$bNM^yz=>E-+>DhQ%W7j!uH{NpK*nT9<EFI zCizOH7ajkB+wmVH?D!AzI(~!S@njv<c)H_bE1$89t2pwp4@CcCUi6g9z}t0li+fH1 zw1I=K_Qr?Danwf8ahKx;EZ3($?X>uXJzLYDKS2VNYqxNPLm6hwGG2pYIsXr5OW4Sy zD^jCUi0KT&BI1YhG{I~fm%ucP8+WGR=|(;!ZpW7QVO>?*QKh$Iw_iBi4jz=?%*j19 z@{&_i-IC&1gKL&7)leIFt?q21&4~lXDOU=n_&VjjmMBXxpx!n>T^9`suYFJ_8(Yv+ zYvB1-R*?Y<_vg6*oU-9rXL`alz0)ji9mwMOP8s(9KJuBC17)5ZcNjPMFG3^K+Fqt( zPmW2IRivF%1-hPQAm9gc>XY@*q4#lG=EBFWg(tQ#eZ_knI&ENG!`V=+QDp%O@*6IP z0l|s+kUi%eP*%cG&b2N06xF-u+B*5L?lWM*b8SKAJnr8Ag}2CBV%Wm98NMb$RnJvR z&^DaPeVl_CK8cTCkR9)}hQ7X;@yNRA2-1K!4JXd<T7f6I3b0H^48Nb~S{?;pOFV!; zAS)0U08XW6JOY9vkh#;a3fEP<eL+PA{ZN)3&jX|A2aH$Wy<e?Cm|yJyJE>E}FJ5+w z97{s-lAQRjl7EaDiLcU5ZCZANaqLMYkO?9PbpWy(OFiIXprebz&gw@O1%Y&QQ8mvg zy@JM9%USX&6!b}zK&Y?SS8VHaA;K7fs6sWM4dQ&A3Y79=3P6uxE^My3KAk*+B5v87 zfl352i^0D320sXpzH8H2Yy-|x)zUznhW;q`a-4$}A%#0RCS3VT$X+bS^o<*E+2Cs@ z<zCf+jOq>!Y-RK*Fn?bKlaZ4Fkuh4J8*+&v(o~d3)#D&EyiG9$fB0J&X1Dw*tEVQ_ zx>C#Eit@qU9_aSAM3AVyABxOAPR$~Cw23?-W~#S?9Tfx;WSIg$7O3l?`n<P$L(|(q z6K;JNUO)Q86(uw-M+-#&lsypWPkMlIwsU69lXJP*pBfXkw=+_a%8X}sVQlccgLL*9 z+4u@aB0myeN2T{i7P;pY_y0l1b#fw5C_-@O`K5d_mT#0?A2p&XdmL(2nsR?khW)7z zLaHLAj_CF0u`K8|IB?mY-H8i{?Q8lYEqh2ktdnaFgJN9gAebL1#-zIJfEyr#fG$>H z;*KcZamu|C^y5}Y2#Th=ibJjGj%i(C4=5y_1}5H_@|5zFH4r7REjUbHpQwmGD0W-W zr=Mpd5v5vpgFRz#&hjG+*dL!+0VPAI2QLDiO~Z7OMkV5f2@#4>EXxtdP^g?lJ0l+P z?wRE@j^d*C)NvMByh%xmC84k?Uvj`Jli1hxYk#C^oP7ymQcfDgT&RvJh6$<Xlrmvp z9kCjkCH-f?2&5<GJ)x(*$bxb(1q*rJ&LmE40>~^JFO+kyAOsi@UZ-%QAzNVsP_>FP zf;}6Uo}8j4q^TkIy9@SE%5v5rnR0u<DPkLvQG`apR}d%Y_=<X)JloU8XO9CE)+8r{ zM45PZd{(`}_)!Yz0!zO^Yvm1f54?oV;Hv*A_mnd{i44^O0a!xM=6zUM8OG35W}mHV z3~*ID1hTB(!HlR-b{L@S$S<7mvC-h)@@Q-{7*fF5Lp9*>!?=i#IPBqVG4$XzudMI_ z#KBm-aHi=b_6{$2pvWCw4Fe(N(VDh%@jKSIu&9?%C=f;RRidwDd|q<0(xK$&m&ij` zL6U(ZW583Dj`1X086;boOh)#76XcpoxunwmfxNY^`7iam{Wtg(xkf!2<I+lxhvy+K zE=$>;pD*`t2y;T|6JbmZP$}qXySp6LqnwpXog%+7vITdZL`$iaQ6)ZW=RlBE2gN}O z8~D;7t~#jeF&xYB6jwAFy+D0<Hxe&0fdd-re~sT7m|f%x&eN-eP1)Xz3B~^GWWE1w zPtrVSm_EodJ~M-ba8sssRF&1&{-$=`>#=aWk_p~v>2eAY(Mm1z=5(&MsKRj^Q@&W3 zws7s$F({36d+JZ@i40_<8}p;#%0SSMcDZDXk%buZ16sEXLN%*-QduM<sjWl245~nP zh-6kZLqtNZss2COV;w0@VKvCHDpG0SKy!eS4D{l$Z`u>Lujz7-=o3OEaRt*2^enTN z{!(=>K_SJm&f@E^R=;7mz4=h!q9+9_0z@P7!Q7M_gaa&uRfW4mnGiDqS`5Y;m0~yo zTw36C)taUQxZs4W2WT$}XhGydDDxpS#X{i3sLFeS6c)CLxaAL$8ACyhXgRZq;q6|k z1Yy{9h_Z1T{fF;MCesfqk_IjKl!T0{rT|2APeg-IN5|Rels-^9I9922OL#N%7=7!& zL(s)J>d_3iYTyTx(W#sgIex&}=yIN|5ak0P5Uc?0!Am_Ab7B_A$dF<hfN^On*iod2 z^kWYZIL@$jsAvunX90DLfK0mschJ$@p1U_19l5I{qXxk#>GYL6I_O|Em$ROzEW@$( z%Jc{ay5I!F?%@9hOgg7BBO$jCbnK0fQqHaT1Kq^AgTMTe%5p4`xi25j)ty@tRTwOP z|9WvQgD4yT%h89Ac(ifDjFjY9V(Zi6C9l|y9IFD(bf7ROVh>HH=t!2~MTiysvN_&z z1_;nk@Re8cW=|ji{>n#OvUxEGpE@KXff4wsTuEIhiRcdrYiBp~2MAnah6-`@#{h_7 zjR42Zo@q<Y7-A;zO&Fq(m>Ph*fIf5EVZAB6<S;`MkxQgf5P-m<+oCX(aqRq9sRFP3 zf~r7uT9$e_s{-9C){9;s5AA}>B7mjY$hWJ&4=nV&1Gg96c7cnLgojDNw!|5%$D~`z z#*6G91{)7Y7dwQJPf$<Bq1U0aW6r9SGuqj8BMcg9wJ9ut=G1(m%7@aQ4E1n}_S zUIJKrLN5Vaby6<@Y}l`t03PgZ6PixzB?d3<m;Gsg4Kpb#O-Y?Ugk?-4@I3af&vS?H zrlVoy@wpiBbX-%W0)kVvDO+zaOPTVJV6b0H0zvO`$3p1ENNPJQd#p%N5g6D%=ns*> z7D3|4cCm#-=JXMJrqkj>#f6yKfVbz2>D3s1=`fM}fk|9cA1Y0=e^+7UAjM@h2)Pd= ztUt?Cs-~V^w0L7;v5Tf|Jy&<NFVC|_fj&7Er4q_I=W_ck9A$!~M$()AEeD$6s7@|( z|6h3mlFY=(z85%eQnbP(MoR#v8p<+t=m;tYAIeTaJ+eV8sNm}<n9iVhO8-ik3L?&# zt`f8D#j@L-c5+CNzV?z|v8hPBF-9l0j#0O7u|CDwl&c*xux)pcQ#bP&Pp%>ZbQH|D zKtXIvpa9p~W%iRNLFMg5!?!5*Oo0CVztdQ6bJ2f&Owy(=bjzAe=degnZ*R)}vvBTB zy^(Cfl{6W1OllCfAgOi0^HP)#@J^gAZ!`Ma|DTFdV>0C(ER4|Nd1h>W;B=9!{p3v1 zq8yYpj8=&i*&ABLSKSymjwDsfA*5i{G_@EOS#1JLx~-JAWTi;Kf2#4bR;-7EgL6B7 zsK;U9D~E$Nj4~VV2nG~@?u5&Q_MREc*cr^i6<8Z^-87i)@s5R(NK&BTzV&lU5`_P( z5#8iUq5E73cJCNyCphDbMHiNW>NG#vg~j!e2zQJWG~Z)V-&d&t$E5ZW`3rXHSM}pm z>R8M<<2;V*2NPF6kXE+BayWy<<t4lWWLbp;Q9sV?9cSTJ3|!xW^!sPg`JYwqBDa6r z-TvLuyBTU6=JWJ;&b4$n!GufK4>j-7zk?qz1=ll)&#I$oLV(U}{mmWBvKP!1qkB&$ z<AZzmbPCg9ZqMPCC@#O11p<njw=KbGUnvKFuFSyQ1phyMgbwcs_QYa~(?aUxKf7bl zD`{y{C+zazIY<KrHiUYDc#l;mA)6ZRO<Fw5A+xz5KB;g))1pBXdni;DD=an?FSMP6 zO;*Aaii{g8z+!+8WK*H_@Pse0dD6ha)JUWb$~0`fm~jMB2z<lGMtS@;)QJL9bHEKE zu;ex^wt_RX)$MdBz4m;K^S4*lbs<#(<lC#aH|=$CrnF3BK*8*j84vRLXEr1b*RyA0 zGO43eV|Z8P+iq+KVT?g-f<+4PuLXJ8GIF<&!ZGV<b3;pm1u+VBS-;`f%HmY&`~M^^ z*%mJO&mvNu>f<RMi+PA;h_i}6Iw09B1|$nA9^W?JE+>m!6g@O7q(75GU2FKTD*K($ zTw#h~Vdj5<X&>&{n0HyKH?7s<C&*QrrKVKMxUuDTY)_d=f}NS{*b{W!rn*ayh|z;R zr7HVfEMD!IaGY_vGa-ZvwN%`>G4SL!9I-F5Aa=7fmA?5;RQUi!OqfKG1$8O^RtXd& zER#Z!1;H<QHHHiJhP1lUI7x~gNUOteVM*F^rl(G#M4IOe*ctE3_Xq4o|At<YaN^@O zVyGnIK~a|gC+E2lA|{kQ{V-iLUbgI91T)DH=c)(rLoEc0ni{10K(@H-dlc}aLPoue zsu2D_vQZ%_yU4LFWrAj#mei@2R4ToV+I~tKJlVD~_mp87xIvB)h`|FQNBlXV2sYl0 zct*pW`Hcu=q>SilyQW8CNv+_#d*PG#<8;1H*C(`4dGK)+YHEPuKGyO2T13H+jX$hm zoThd>F2SGt9l!YAs^$jj5ND?BqpIGj=iX~@CWtS;a1Pe41DuEXqkDS^(xLK40DZ1f z6|<G+Ec$J;AJBOS?^7vB{7IqzE{APEsm$@UCR;fFIK}#$r?7j=o$0+*JcZn!$=}Yc z-rEsk>C9b{r)CS0+ulXXvM!NPa0_0PLgAU*o*m-cBD=JT!j0UPO-kWc?sx$nG0vO( z(MEzDNGC4e&4L31<tH!5D?bi2@tp5u50*rN>jal5hEJZ1HrI*Po_AsPNY%CdKx!<y zKw<}Q5E_bJM_7cd{rw2;KVk{4mL|w^5%^kdKmJXzw1pMA<#eutGt|nH#DdK2NO4*+ zmn;*oa$!bUreh_?0RjJs6iU<js;vYR3|O~0%RgY~c32Obnog!@qJ^hl3tmg`^r8S- zZ&Fd%;R`U2DGi_vuXXfw7X#%;fpBFbK>}3ITZ2(x7&^Q4IaM^RgSx}PfmZ%U&W3T= zYk_LN+XARK$~rXpRfT}1%Od0$#ht3XXz3-rD!q7ffx3_4B3SusTlTF7@~&Z6&nJ(- zG8k^%T!&+yc!U?3okEOWaoIq*+j>~;_8yjN=wZ1#l9!{;r;coa1U-|k(w<2TzabyO zA!#CC&@)LAxDV^A-)1@V=+S6P=m<pOPzi+KPzlD~FrrFm&<HOPGEI)dF1L0TEqBH# zXHoDYlDPNTVjUkhgDu$|;4tNWKs!o$yi9(f$N_3YpL_Kp9?gw?*SOX^SbX771&nb^ z;LXY33Uoed!Qlfit9{prqLVcbR(4#qhAL9!V`i0l-%%#tqR0kH&W8QP-hE#7Cm3hC ziLQyBb{>wV^eH1k+mf^eu0A?hZE!@0AdTCZ60CupDG7F_B-ojfpa+{I$R`Nskcc#J zJ}6M7EPPp|Bv_>+SfwObr6gD-94bR<Nj2P<Tm~w0s<pc@IS6UZLhX<7mUNGWLL4~C z<iJrr2aa-!cLj@w5Lg~SV7Y++(i(y4C4~?eYa%e#M_{a5ysme}8-m3{_&4FQ7MFnK zPLsZSodiT$<KI*eLL25NA3|HoZvoQoC=NmhbwN=Iv;~WYnvjSGdJUng*AS{753oU~ z6>a?kWbAK{vA;{khJp~1(4nayge?JP-eNE_(z+|V3PR`#FhiHY3`lDTbxRA<0fNqD zr!ps+of>)#p}8Q0B$VvxHH7MAy`@84K?tpw&0I>BJFP}<BCY$Pp&$ed?V^3rR1g9d zq$UmqKVXfjacB!d2nmOx8bW)pcxYH9>dIb2s9s*ED|ZBlu)`n%((a%r2%$9{Aft{v zOex*UV^pFkH3T7q$XHayHU*1^$e4r^nhQcm!i{achR|LZLZBnSflvOP-rgjm*AZO> zAta$g^%I4dAqhh^6oiljho*uM>I3XlZ?F^6nw^>pLP)~WZ3Q7DX+?VwLa8j>6)c`e zTZOY~zP8GP4`7m#-B;;#d~nuVVlC%FihAr*dWrRjyTp<&Tw+N=EwK(qrKYWc$MxiH z7wY?UX__0nJuhWofcu!YE|b7N)T<>yy;>5~tBsgI8Xp7)3LSitGZJX>mpfK5c;v)) z@uLknlaUS?azetQF);Bo8WRuFn!TE)xc98fx-JBvKA@G>8(JyS8bVhPLZaS<8)JU& z27F3Ar%=6?)b?8tO58(r*d7hU20U2=seTf#4Vn!GDPIkq2<S%xPQ&IF<<Fr~^tF3! zs9MYxDY^R%x1^-plI$(lCm=oEIb2QC%E9MwCDp766XD)!b7NeYV4TsQ9B$<Dc|`U+ z$Rm;<k4S<%A_=a&Btf1<xSK>IhR0?;iMe@$me!@+Yba?~*gOVSmkdn|&O%(3ZO<GA zdeIJ(wzqvBA8=}3jtvzq+8kfB2TWCS7jNkH)`}qrjRCpYXvj^ZHCxsPA$S9FBgZ_6 zEeR4^5+t@HNNh=v*ob*U8>M0nWvb(*f!%OUG1rN)Sj!`0!P}weC;_I}zsj!pVRn2< z8yXbnm*O;P-+Un)MtM~!4;Hqrx=g$XomPZakU#c{Q@GpNfEyjxG2Ftn8HlWnG;hM@ zvJejrVw0<CY1>g-Sn%nv@BAIU;S`2t*PMpNY&c(`I9BBqPep9G8D73VPfPR|l35ZY zvm{7nBd`p>lgx-P6C?K)KMu`xu(N_cdW)bH>5$xuDZB*xASgVEKU!$kARQ{q(Ntvg zH{lLt@dI-t<&J*6d4??`+dIZYcN}y)_mt9d`#>5|40s_dOq<Sv?bu*pNSFk5E=FEe zXA4t)okg+T;FXkA2_-wcl9KXDg0uKfMHYso?zF)cnI~smWIy;l9@OK3A!q)yXH!mv z(~KW?+l%%yWAM;+2>ZISV{bl+5Y>fW7B2k4Td~e_z~KuxInO-<l@5Xeel5MW!yB(h z#TVn29!0Yp#pJFXs`Wy%#PH6RN6;AC>Ew@&&)ki4h<9QN*F1_+1Du)s(Of$V=}=); zj0?AL@1r6uC*aU<=fG3wmWjCzxa&i3N*szYoIY$Um4nZXQ~MPl-*E;Ah*lk$&Vjy^ zDP%Z%8N-P)qxj6`;zn7rjl7t~ZsLU$1Dx0SqZ`|SbVOqzb(&5>*WtMBOmyL>bX}%W z(1WwHI<Y7mp)QK1Oro1c9L}?NF~Jb`q5|dridUg(V{mTlM&Ui3NBN_1UXFCK!s}Qn z>%77redKgY;=;@5v)tcVAwMz@oL1h05Zuv=L3`8H+)s4g<d3d-2hzz3ucpg#e`me? zsG2wM-h^Py2_#d~-1V+BWXh8g-dK;-ziQ{XB_-vSjA`wL1weR+dr^b*a3@}c5Z3-E zU~*ja>^XHh&5g+E-T<by50Qm^J&fVNs9d<7;o+j~g^R*ZvMi1%w>&B+zsDafHFhB# zLOG_rO@YfF6i36mJ5)G92hFN|PIr)`TrwvpxxgzasS-*q_DV{sgpv!caj}(@TQY`7 zTdv2BI4+Rlj~=;QNS98e7F_M1=U1lOY7-D?gI7{gC6w&&N=mAPlC6)p*h;E|lJ(o% zl9Dn@s#zAomnU{1j_Fas*qCk%k8pGr`6hc}YED;YpW&keH4+qbPdj7H2(=cghd1`c zOK(m$^Z?n4mKnZqAeVoE%k>21`k|bnCP42vER~v?OHbyyo8BJgWR8V*$nV3cexDoo zj17Pv+@KBtfQ8^>yj3DlQm{K+g`Ih>1!LH*zIG?s?oR$_wp)mFi0%BsLK>y+K)+Ts zlP=D}=Xa7+AeyAo&Zefknqv#k_X<lY?JV4=3zKa@k76-Z+JiAxaJxhHaOx81e5lBx z(A(FI1)#!Ly=IRzPQc5u$nN+zxy!HutrZgED4)KDosJh;wL4ttXb`y3r|BXO85AoN zc><(Zp~#xFwpxwVvA5Pkj1rvpu&4bCIhq~VP1DKVNaN}%EQ@<o5nY-{bHr)n56&`O z<YX?lZ$C|Sg|GLLxigoF>Y9ZMM1H9n>%Z+?XG9gNv2;wFENctraQ&Tqv&yjGQ2K|K z3i~f6!;p^F)N!jSVPJs=VzN@<bwaXIJ;QKx2tzvB80Mj<7-rD&JrAiiZ!1e_`6z7& zO&O%hyJzWDtKhW+9)uX#@-=*~AFcpt)F6W;fPSRW1!sM@5=$smaB?XH>vp1`_V(^% zK+0f^JsJhY3PlcV8YdJp*Tc5}|N9FpB@kHQGvZFY1wNr+))Jpt`>PYR-Hde16)c(y zmaP6=&qjF<g``qwWxXw8`Il7)*_D=~@ggyTu?RUQ)6Qov9guaW<_0Suz;4Hl$@Vj6 zx&o};6<`fk5&;%@bhTL5MT*yAg}(Y%HUzkuNBN2sie!>vg+4q>*L3F(bYj5|iuQ5C zg%O3~huYdzh^wv_Y3q;<jhI4W2$8dJ6p4Eh;b??~O3nBMN-d-pe7ICGazqk7a<(b| zZ~G=IJeN=?*OaS}m`W;#=eFVhZ9o3=sAAqVV8u`@z)%V<rcy^jNW(MhRCNy;T*$Ub zIJc3eiIO!L!V!W4WLtf<oPgsH!E_9J9%A5_5|vsd?I?bbA=H{4oN^}r9nm>$``J+y zn8}^llt+58iB+QTOWIzi0)!?gKSh;?x2Sm8>GEA=J=M3!E=F6GKB_cf%mGklmg913 zT#0cb!mGK{hgEbSMD_)%is<%dPW(r8JIPss7FlTIe8%%5uSboygHsM##hq!{5J5-} zI3?58o6B5;a7vXKp47yj(?%4Sbems+Z@s?1u@&i%B=`yT7wzspB8v3UFkn#r9aF(E zmR6?GG)$v-%BZId4W(B0h!kGIcFtf?IL68cFe4bw)i&@^JVsP_(;->=F~ouF#ULw@ z+VNuXNg7mX>xJsFjt14BA`xG39qu@GZ>rtI`;LPJb=y*~3u7(AF5>ZCa`h}DB>YHq z*uxDe?-i2x8)l(hPosv=UBc;0S=yyy${81~X~8pop~E9<Dvf80^;hJv*J6btM{kb` z9Z9}Ji^K}OFwP2X&v4KU%%*M7@m<_e2ixdC#T#8nhq^ev;4B6M+*1`?fOM!}k6QQb z6^d`yMBYRFUDd8xyoWl-^YH~co<KpZ=XW8UxM1~@D2Ou%9G>+^CoZ^vsOr9JDh1V6 z)~He4P)d!>tWjTtz2n{zP;F$5IQz~vE-9tPZWeSe>nx?l4i<FJ-{jZ$?Xg<1n!Y`W z@_%AY@#C%QHs9dC8|l!nDM5`W)<ZoK-#sGsx3}<%Y}2VJ=rEJg$6EU%1_kf$sLmag z9%-a`rb<UMr@6%V0=E&yrkIGr#&n&h7<9hxZ4trQ0aH8HG2uBrPcc~1<rk9p8xe)_ z6oc-M{X!)w20iM!NP_-DIP0HWlfPSob8ysx?VX2kPki$tY!B^=t{GD0wBL>NZoH67 zRPauAB)(m07>h7jaDv(FyT?&I#hOyqoc322m<!Hg=tY`6d~XZ2Gb0-xn09!S5&m4t zfdFA=tL*!7?#@gBnYId7Q|lRhH_{=QCIS6Y2swkxV)gb>B~1^q2;?957onM4OIsYu zwzgsyYgr^m9p)`$)!qo2gn&0}5`Ft*!-;z;_9y4M?MhnW+JALR6hkah9&*Qr%Iz@c zmKU%!WP!bgQ<T7pfIzuwkLsAz0JI;Gr6j~I?-_!mp`#VKSE<lgusG`CX|V9B(KK*F zKT#J?qbzz%y@Zbl!gE>KqrvR_$0$J~_bj7%khcJNeyHq-O7D?&1fXSi9HC5vswA*< z4i)2RA+zFRFe`Gk>DGr*ymKf6kSKQYVD7?s2jL|}Jf1$c^qQ7<H3{R0RhJQfi6_NB z?r*aECQ6$?7o2L7jR0eWxjwU<_pkKyyxmBL7`W#&B&VRG|AHvG9J}m130aN)NXz{Y zSffi9b0TV%V{2+2N?fQ(7xI0f{-7fR+Mk{Xpy7+#7sA->b$2%VFX%8Kq7+i;(`1vE zJB0SL=aM1J=*qD)EMoWn7dm98?0Ov$Kj-ck@2{4|s>)F^w_-&uA^3HXxg`|w$FjFA zXW@+YDi{*%mFI%yu=MRXsKP>uvK`~2^b%oHnaECrnV-$uF##BBg^ug<thh&_{hHLO z>EKX~CNk|%?0d>X{xt-?pq2)ib~$Iuq85&QG-=Lv%_jL}%Fsl)GGq{bM7X2LxMKnK zyy|5@v38();X<M^ZNV}zgy>xDo3p!+4h^PAg4b?DnUcDwX>)-R+!%4~Tj}vQhHIRO zLeSLTW7L7kL=|*)z3IBOQ#TY(pQJ@=Is!$<qSk<LLDzEjAxnUzw|-wz_TvtIJ<Y<G zQy6Fv#l}Vy1aaUI-oKxp7AL|Q>tSBj>{s_q9@X_&TBdF5B@Dmir4#`l)3-yLrM2Ji zaP^Yk7|&Oc9V8KY$1u_E58#PAL<r{8eh5$8pgkj!iR!n)dRl~u5XnIeBw*>sQQ);< zP_8(X*3wQOw_ng`#eYFxR&=D{$hxBjrp5}V)^KEvX;2YsW=yHYw1H~Ps^jiFQ)W!5 z9fkpPSH1z%=Tiv@fo>^RVN&(Ib#(5*eA#{$euYnCs%iWj$Z31bVx&WTB<>=v(QkgV z(a(Ntzno>7`~rp6eGQ=b{;KvTbg?k(gfaM4e*ye757i+Z!Y`&&>nz_`v;^s7r8eDz zQkoVWNGB`>(@+7!R1AiTn^8(LMKjV7b)iq2F@0CdWgp#i9s#)`eP_GT)4cE_rmn_k zP?x6R5~L&Q3Wz+)I|Nx_DQ$3zDWx$~*O4T`P;@CwlY<Jh28#XtM^mkQ=M4N=c79y5 zwtNf(UHcr;$(l9)GnCRYb^+4KN-buo??9?RF=$O(Y7<LoH;VSerMg&3W7wUzR1N); zwVAV?{>edM8^ao%ETu8rmAKSo!<|_|Fej?(xi3(cX8BD>hcN6*)_DJGzp8GeLsj|0 zvw(7C+4uHyHLD{y@3p0%0gOovr1v9KFi{N7!uuE0`@wu~;kgBacGA&s%!#3S_tmf- zYMNKmB|8!I>X6gr3W+_Ps8s!Ql+r`L5$R-gO@0iev>>cQI$5cXW*@^&q?47}ZIqh4 zB5A3`ulX1@Bb}_SU0<RUbp(v!-AE@Zwc~4)(lqQwI#g=3a0A1JL8hhUmpjJkGe@X< zjF9Bx>3ED~i7j^_@RlCDyBlG<O4PZHbsfHhMmkiAE**vze4MF3AEy*(EIlCUkAsV& zSc@1=im{gh<;I!ibgUp%j?sctIY#UXYu&r_o^*OJ5?I2THR8!FIv}DbRt1K#4?S44 zeN`!*+@cI&9IllI$K2=(WjtSQ6vdNUbdQLJ?r)ad-z>PlS8iYr%fY21l|3}PwvdTd z*iru29q`jcN>;V0s8wwdGvZGaD>8)5-qd+VrN>r!))ai>0^P#Zmk?c$Q`*0~2W9?6 z%E0EQY>cR<%n^y`MY%?Jb=1Tt*O^n~8Y%{2R104q1UtT7PhfR1fz}>5Fw3Qd8)Dkl zON+=w!e`B}Rer}a25ddHf+MexF<?t8N(?QfL^EQ{l~$tuIh5ElrjD4op#4RZ(Q{%a z(xD+7Q))L$X^B+(QeLS@nk_*-XK-oQb#F%*?f<?5=@53b34_g`&XrR!<*%6Wa4e0h z#!Km#<!ty2<wXCNRV94#qZr$Aw!%l>Soj6|w5K&4t{D~1v$P+Z##&yYC>%-qZ06)+ zQhNYpEGSdrR*7^m=lXy_jWQFY5CuKW_;wa4fm-<&|LhlVTOfdnWfPU)9b|2p$l7$F za`&im6KN4GrQE8F)K_x3%S<$DErq9|NkKffi2ECN=#sZ>qAC-{5ywCZ)ADS=QQ06A z8EN?{h~9I&l1?@dlcV>k+=S<Z(JNZlJn1qOf>OG<JX^F$Rf3+rzEe1(Xc4(7!M*WQ ziWJ3cT{@3)MHzRpDida0cawmlKShsa*^z+B!7xlqW#*M&o~2q}0w&uLG?>93kD>Ud zoi9a9=k5YU;_eLV(EwH_YS0#O#!HP!@#bc<ZPVJz9J!?NVoaX)4S$pwls8oJ{4Ebc zi6@|;W>v!iMFj)`z(F&0umTJub(942F@#Jvo)Kz*)^sg7v94#@vn7L@<uTuytQms^ z^(KMSjTOh5b5R9kl4*OS^}q4w{sw_2yBz$1y~yt>A-nWLJNses`RW2@h_gHw*oZ3w zv6;0V*7<?X2L7b&6-Sp?yzvf{+tb<2pRD~<sl{jAiE`g@n)rjLC#4qeAl5^iZiW04 zN4ujnOko`)CXd4Rfx;YmpnpkoM$cKU=Ow>gJgJB%M)uD*xkr&0INqrb$BgI7Jg$U} z;0_hpI2BZ=iW`Tbit2C`g-X1A1WGieL+5%5A*Dn12azgNpoNad;qyj?aC+fj6u<$! zU=@W*NGq0vTT!Tl1n|dc!C)PQnz5SA2p_fzPC(Osn5PBZkgp{aEwfEc!=`2toEszR z`5z+C%;~fzjQ?XW<9=x6MU`S>=gz{+N;G@^y-$+|@mPPNP>fp*5a@CFCwuwdKPgH6 z#a{k5j!u$)otHm|k6v#!ndgHnM}k4^o#R3iE!fGGQ<EGGqHl;O^h%3$WXhK*nwM)~ zg{J~mpy>yt`2q@++WsMDfll^Cm1W$k1X!xu_DUG8bJ(fGB;qhey}kHs*Phl30hS_) zN<^4<3EK}Is{$ZNfd5K#2j|Btu_vO|8!UmF_w<a(N!JRP)6t(Q5QSX0N6yDQIQ={5 z?FEBncbjt|;5mP}n4lX5SFxFRISSVRREhjY70hIYCFrV#EyoQ@fY}|i9`q-~NH4=F z+3ZiGDX92s?blCoVNpP@4|UOibw9SW9LtLclFAkul8xU5w&A-p3Ke*U@{yNZm;zNZ zF*;N4v4K`{WKr#{Ve9Pg{ZPWQQYf>nT(bsuIvmSsS%Uj;NMNm?)527%-{Hyy^au{P zpnu}c0Q!t1LdS5gkpm6j*pa;`MoyI-O<bHsvkTkI9Wz-3;`H)_E2m7To_N*dn!1MO z>MJL)e+rSV4X%lK*N<rT0AT{On%W$$8{;Z4<1Bsx%V4>2Oa_fO1?g5X;v9L(rV5A_ zlXm1@codLp2_|0))E5?HFU2sO)%+I*(+3ATjh#3lt`9QgP6xP&VA+b(F9GTFxB*(! z*Da8fL^vc<ZrA^e;u2IxdY+M<`!gID$1u1Fx94#lwIBZ#61e9D358h~f<JR*sx-<j zY(ve5GBn1M2g-dbWxqR24%DRWjvv!W%6{P|+6@aw_@#;`_t8~M{k5)Q>aXLfxEWQD z>+l_ZA)hzXEG}+Tur%UL$c>8TM@TL>3#giIb{jLzt!Y|pO}C;Zjt3DYA%P*aYmsp) zRs%4URM~Hj@d=HN%c-S9m3J|4uFAd!0m+cL4H4?>_LE6?22M{}Yy$?Y{f1x6T!s~> zZ6r#)6<umv7{_rQjtpM9HM&%Rx`w0F>wYP(rzYLKg6E=)o~q#+I!%Fct4CKFJw>~h zzotT`s^jfCWPQz|6}SNCcZS=Q?}iX4wIRhr@kL4z!9b}rPv93Rl!st@kE)Wx{za;y zvg6~2HKicO<t1iXWu=DPpd}UyQksa|^J3(`iQee6+ke4>WwMP05ny~_fF^v*{#f`@ zZlXsvTv4wgz{lQA@5@Il`ji9+uYUqIG7+eTo{-DXVFPm_Lq-5?C<jeJ=OorpxIlAU z0qqr`XD-Tmr~75>E1)J$<RFz@SE*DsQUw$d?=?8~s7DB6BUYKP=tCD~#dHZed%l41 z1eAFWg}}ZBM>@OTp<hudLKt54-Jmd>T4@NwKxd<-K?VnJc>L)|zAwnZafK+PT}7(! zX<B>jS<;Gxxu>2j8y!h<bH@eoXQ-$8*)!^3Zzlg>Z;9D+r9mI7va9X9gHoxZQs5O> zRL}|V{7<EhlxHe^U?%lFdnjjU&ZxBZ%IMQGDZ&6^BvQMQ?8rf0$m=LM5Ut05>n%`` zBcz(UZiAf+V7%x(xEV?9;Gh<9xpa2DoK{UZgjnH5&eS<#gMxIx%$~D;A-5OdmQp;V z=q&~G48>JWQ9{{JMmd?*fiv1;QER0lorCIv5SRJQC^IBx*9ti4L^MOqqZIYZT_mi4 zlaQ_oPG1%_8<R!*ejJ<)gX3pk2fDZ@?T4U*k``L+pq@uRakjv|#)8(W;uB%1Rygm5 zK;DB3!u>B3Y)Dq8(L=g-an?l1YAA->7lsx@Q#q6pK=;KvXkbo1?cLaJjv%Hl7}d%Y z+y$2%cPCAhOH%rt9|NA}r5LEiy41(5`+DphN7RysnmJu1E@bj};zDLkb#FwY=g&X1 zYvKww4nlD)5>d`k3!XJ1>i7kywt59z+msq$ZVx~%nJWOZz#!M}Ij;uAv?3Ao(n7R% zPR^qC%Mg-PqBHhST!$EQV#JKqunc=*(kOq%8trkTzdmE{bBtnfb~6HW`inDBQ!K-z zEi)Zg7sH%6>I4IgQJ|AP!9cUN_^miGrEZNag%G%qgb_P!6&cFLV^Ta1kulCg5IHI0 ze6&91FoiCKn~jC1DMS5Iu}3f>N*(6e+93_uC-_r%fz^W&sWfC5ECS9|)VhQn`HcSH z59}a=a5hFw5D-Z39UxK&{DviXhDEsyP5qKw3<ZH1BrlVz&xJg6cMFoXfRhvdNuTo+ z2hWTE4;4`c;^EnISpfyb8XVv#y@Ii*K!9U#s70W99;C(}{P+MDGF(TU%4XHX1d7OX zX)1>r5$s6Jz+Iwt&H18n_+>TV@W2yU$&p$*@-ztg64BAlA4;v(&L0+tL)Q;y)2oQR zKB+Q0${Tx1?BXWHf%Z*5&4Ket#lK&OUlF&Zqr;;g209Jp(CsmGs9mH6U(a`t21fN7 zqfoJ$v{|gi*nC17#TuiF6|1dP7xQJ0K9_YgRf!zJV^F_tUkcwGoJLTSY&I{m=pAn6 zu2M4BX)Qkv@-e9)8Vwu(YzSr!&-AbZd1uKWm?)a%jNI*iprNqTG3HMx&}Y110KWaQ zQn{RSz=11{bEC7BUIlk(DL?Xd;<|6cX@Sws<U6n`XgNvN9%-jz4PFki=l{4b8}rRM zfyT(1L`EG107s^=m=xiHd5CUTh)*(k70?;#)Z@qQJPWHK2sei=U+k}g(t}_|#tY6| z%J9W6-VP?3AXXmA>L7I={CNPOR#|)#qcK+cZ-6zt3bGWICWus<(+^<2$E}^=uuQAf zCf1&If!u$O$gNCn=m=Vr@UMO88rRk)GYU0px;2fi5;q7#$8@EI{pwNpzM%~PzC~b6 z{|$acV1z^|<_@Rse)z2_txQerH8j^A$4S0sX!bBgdQLAok|R@E4qMXVDMzyhnp`lW z!QAXDAtoiXC6iMn&ajDcpLVtH$4<)1;8mH&DPayzbgv+>zyoksE@X)zQ?E~)xd&*t z+|rjg6AiAFX_Y5M>>b|~irCk}>If=~N}q#n5fk;P>a=F8OxST|fNN#dM5awDqOL|z zpF`1$v}dZ$;bsFxgI0YZX((<oh+1^AGI<^hHc?#;`!HP?fa~8bmX4RRjP|ZGIrZ9) z{wjNrWTg(0{)Oa&zq9?#zoGyvf?xBu6ED8_jbaXeYQ~5BBTxRM&uIWSkWni$re{>f z{w1rPkk#fND9l3Wn9MgEB055UEjzf2piCH%pg-&<xkn|-{n22_ZEi6ZfL;4t!Fxb5 zygx1p_O6n0e^65H_e;vX_z0ni-oz3Aq5?GeFdue-j{lQ@-X~e-?92zPM_3e3{fB^_ zOno#N_%(`Ch9t|~m5)s1xS4vM8aGq;%W*UD0*DceFg0P0Ny)KlD&&y=AwL{wlH3sp z*%GStC4tlk>wN?G1bEJRYop{9;QCWf#*0*tQN%N>lpt!qNv~VV<s5Hv(75YVK%;5! zOA2_)M7Ss2@$(YM!qeYBf;>@H9+_29%U`&V#$<%`#=~RW2~{j}5Y7uN=UQWN0>V4x zVym|AIf2y2j?6sFO39mto2qp4+;t706cT{JWmpF5Fsf=;FXVUorlU*2qz#xvGT%*_ z`R2LIw+75d?L{#kB=MeQX)A@rwBUj3lw{DD7@2q=KQ8>m0y3?)xq!Igt|zxK`Sgp* zZFuTQZthw+FiJM9zDyRpP^MrQXjy%kBX&u=rh;{3x_R|w2yutox-(0VI#A8RWt<># z8AhR?Q!h9+m$?Xch}#dJR{@`dveNjvAUnNvgv(BT`-%-+T*OoYH*G@h0t3CnxA+GJ zy1x*O+F>>9oXPRtQW%p>zI8f)iI(yhY2~tk*F~jRwAM6CTvR=<NIr*3>)l67&p7Hf zaCDpf*!QW0IvcP9dZB0>xN8k}C=FDq3$>#B%(=+C+<E8fdGgxJDzLRfYZH?6->ku# zwBjZt!7Z53Jb6jvbrpfd+q6@1mJ$-1Pe)4OQ=prwS9&(@0CDIQgu7WdB#=S?%Mo~% z4Sqgh$(+8lN(+-w>FRW)*2p7nM?v&)xgEu4SJm;Dmj|IyV&zWT7rAS14i(cB9?W(X z7wod^C=Bi#H(R216rfL+Z^jPLhise{{S-D>%xiR<roC3P&0mFb)z;~ShDgl~o^?0? zy8t>3Z$uZ#A62&;=5N&*qe^X9(dT6dmQS{bB6yJ2J)iI60kuMz`Gf(`Oj&J}qt)JS z$8)fF;i4ni3X{DsJc5B?SpnlzSbPE$mXMj68a^j!OxD?KrGQOUrtU|!EC0N3g7sG> z&Zta*)i9WL4a*+n5!u_OjhKh&w=tTPuu^v&3E;s=&U;jg7UG2Lh-K=Zc(7kOMrIS! z`Hp)(k$IP$A$eulYA9f_`D>L@I#H>2@WG+Olp=5>{0~nM_{^m8mWe+{WZowfE*f_6 z{A)_g|8R6$Ddr;ax$h5oxX0$bYoyA{EhV8znJ`@>+-LSGA@9M=8#u}k+c!(2+ZUVv zp%Ur$!Dzud+&{52*{*29u~U>LkCwo*H3yZ3$5leZz(I{zoLeWTzDa^}`;U_6T~b2( zo{R3sSe(1Z3mzt&WBdHcV@=wPR{i36VdTq_RVCuGTJyF+zgS$F_BC<wcqBIemhVaa zu&j!u%gqDw=n|W^X_(|S<y36m2$>d}cd6=ka}gigzEb7c))MJ)t1{r2xWwZ9nyu(z z$g^0y*G0>bSlFeE^=;8@jK$@J=)+R6`B#+4-=*NbzC^l2%-gXvY|S5Mv3cK81{PC3 z#OD1pUzWt?ef`8d9*NDn`e5cwHjjODpui2!GqHVmS9BkmHmZPrG*NI-TP8=Q>!IHj zQDW8|F9;<f;Jgxq&SXUt?1X6HS01k%Jy_zT_jCyivL%18$9CkTe4JzRHs;eJwi6qb zvK1EYvH3qPkx9N%f<ZG?@rkcg<>;Xj`{(t1n#Z=a)Jb@22?PGt{6329&%2dEmuLdn zD*c&kz?VwvCn`%55HS;LY&+NJv4e2NuHu?(4M)fLB5OD?Hh+yBEBn*)ie{Drp`P<b zG91KZ9_vWg)EMU|ZeJzmm&MY}%}+PKUVGvaBr7cjN_PP&G>2)t1vb(mjqC~D4WJ#D z^@a~dH#~EE9}HXsC!s_vtgq!#IAdX5=K4Pm3);JRAvO%$*#pr)wXpX6r0q3h0m(G} zCu^72dCB^N)dx(!j>tHebFE17t_OJo`72>ov-4xlN_W8G&LFdN>rwqTCPj0+2fKY7 zEzCIt33hk_;q8-Quuf!+Xe`dj!A>s15ka<(?hbu^+Awhx0UE?$KN+kAZ-6h2Z%eA3 z+6HYgc}^lx$F=PT{~&&c$qPJRYJn$9E%0)w1@1ee#5OD{wZJ{47N|X;M3mM}D6v3I zuEYXUOGRmQsg0geY7H~?E3pmNms;S_Qrpm0D)YTiYJut>l-lU=B^Fq;e~ASaAM=kc za8IdJT6t=TC`~JMJe1t%<;RwYQpwD>?ZgsmXepIS)d!VW!;(@5&;z9wxb7c5rl;>) z+H{*tF=4EaBoni*rBU_6mZbgoUdqoRt+Yq(@N{#(3#)%Pc&|Mwp=PwOI08Xs$904V zZ0bB9F=fXpT~Hm}!y&*20NZoXHomzkIMg_JYQlj6y4>7TO<k^#0{r1G%$$YxpqTSV zq!;&~6t&>8iORk{*;OOe6I9f=U6UE35-iUAh!OTnXGs3=!auk;GxBdKW=S{lKC({& zT#TKwP0_f-w)HwW(4{)cuy_Y?H{dT5>snw@9L#IrzDQX<;}_dT-YLVSou>O-5Uzp4 zMrFWp&wSG9FW5c<?(NDdp15ziRm`*DNvy`#mdGcMM)zfGJJ+g6CnhejdFSLCL1JkV z!>_UVrz=BGVHz6!Gvxr)mj*w@!oFol<k$)3H(<Y}XcD?MHGZe^<sTN|D}z@e#$}M+ zM&4G%+onM^h_jLR8^u#$oDaZi&-LU`2dE(Am1l>JGH5S4FMigIa^1JTt}L;@q5_j> zWDU<9SYizu4lc34iUO;FNR(bKpgHtSfmchdVPmNUZr!&;D&1dd$E_-$BSuo`)lxgI zWGa<h0QVZlS}CI2P-;JHI3uAFwfPv@<X{9{hjT-)!P!gYehjA_{;J~tBDcxnlJ$hj zmcEO-sA?#hnU^_IGuwU)wV$wNwjBsdcFU>DD6c3;balkgoBt^+A%(i(DuzSaKZ4s3 zz0RO+QfD)ZodWM5r=G7zBqZ3Is9yl$NX-cQ-k()i09jr|&rDRIf4Gfhi<c%<UN!^A z6L>8zu);jA(1Wig)ZK|kOFrg-voSLIk(E*^u#()8HWVgGp1ww9xOB?WnjxJA?Wg|> ze^xVIq)tD3ekob$AV<7H_0t1E>IY8y4@Eo&-$P9)r0SrDcL<+HyVMyN1uz7TyyQ3M z95yFGzCp|voREx3bfwx!n!^6~E@?@LTQnP_CLuHSk{s`K`m4Z8p6RpFI}ai*T;anY z`ziXQoy^6R+LJ5oq%Vg<VCvK=C-WyBzZj)e_0h)hFZxq|!O(D{)vx^(&bP#6oQP03 z%*bEKs4n#b(X=<HecNwD0|;2jy-fPtlU;jsTqc^MGjcXYxm)YArOa+m`&Cv!3TM(0 zFx^aak@PnO$ceHiz~u>+Zwy}}`vPtohZ*Z8^aWg{^-@sa?cP^cYP50A1^MXf14n6c zJcsnOl^AZ&DAZtbs;A@Gve#8A&(u)vYbWDte?NEqwS{souEW<se(q*I`>>;FWD@e) zB!omJ4ke$E5KCwgPPnRZ1xl84VazR-P{syEN(yFd=ogi-&d$qNXG_N7jhLCF5s5Ng zkCw&^jJq|z^H=y?dGC)(*J|%$#j4@JtoBzYYPV3@_aRv64=Ns{aGA}s?_2iY{}_vb zgfPX3<F7H|!b8C9-q}eggG>kLMyvj`XCIg)^CGI5EaW-K;#D};Yscs1!mBLzQsgcI zazA9Mh^R{IBB$(fOlcMZ%9n}2GuVmuO`1$n=BTa@4qseL8RjLG?Eo;Ry9F5=4ac3^ z(5m4ey&UDYKRAM2!j=vf*WTd>pg<w7TJPukFe)F)<se=Mv7O?V4(TCbgV274j>)BY zG&5U4+QMmD_=C{|7~mgL1Fv#r_T1x=<j^yj<qY6GhStx~fX@5Zq@17NvQ)V2%K>7D z`^$+ue28^40{)awNZDI4O{>G+xC8M&5SGxL8j0B86vGw58ye>lse>R~gGC6KE3gz7 zW@I*Jw-M)%Vdd=yE`-~+m9-zk!A4Cs5;7I<2rt(hxpQb=<a=i{R6%rCv3jQ+mn>fw z4ihDT_W+KSCdtR+r%CeR#-v2~lGd9v-#-gK*2_W5e#3x`QXxmB$0IhUxX5EBX4oBy z6%H$v!oIXhsVv`fADunCRE3*LMB7qm5t2)X=ZUYwqoz3A_YxL!ILg3DQ|zYwauRP6 zKThXNL>|@gCLu<0xXQ@>e5jBNV^I$>(hf33Niqyj2E@d;<ru~f1x*gu*ysZ@>hW~B z%|nUHI4~l#048A@E7>is>#KLPTy813$mxGMg*``rLfaRp_l&EcltCMO!Mi{5sdF!R zH*F#)4#M5;Knwz&X3;YWrX`3QHX3h~>MTOsbDszFdh=)ymrdr8Mtkv@O218ySNMgF z*4^eFt+S^g#0pPitBgf`DoV(@AD~KCh}MjW_Wlz=&_LXM%&4(>5KAFtPdz`YHB<ip zxV`%nz-i{1*i~Z9OatVUxc$OO$h0JQA#Gl5Hy>Oaqn(bM$8$N#gLCf*`FTVLAnvVw z=kM?lO9jM7I1N+ehV$`=U5%Ct{7nTzId?ZTMEQna(Q8M$hRC9Q{tWt@ybZd|JW|s& zuq0H`DtWYDXR9lcZ4`$a>V>ZjHb^e5L?rpSxJC>w(1u2x#GT>N5|7oKD|}a*Ib+<0 zyo7^%T;}=N{swO<*WG8c9J&X0*jq4TR3e|$%kfZ-She=NUnyz8ogT}+?QErc5H)`# zg%9_Aht(mm{JWUnbCv*MCPBV?+gca-4xMz7&tYxn?7aC|bdCM!fA9n<<O;MH2q>Un z56z~uShv48HHx%e>=7mW?T5~Z%GK{u=y{~S&h>C)E-!kJ*8-3HO%vg}rO3ZPC)tAh zjMbaGjJsY@N!3)L2u99st`J`w!^hzc#r%iAMW2q8gp1zxGou<2Zt6Q{6wF20mzO~; zuh2c(Ou<Z$bg-syZ3&9YQX8t+<FZeH#EVWuE4v#yTyk{iWHdQip8nX)Sg(`JSV2C9 zoYji11PxMA3r|K!XsWn0I5?JP<G~29E~Y%=#Euh~5|=DTZbe%Vk6j(Q1LN6Gi?=Bf ze?K4s@rCs}J$!VM_~aNSh7l5ZrT2sruCB~X$z`rU^2%QW5)RFItC<Lifu_Lmje#(d z=h7YHa44p%lpLfs*Lhg;h(O7^K_X!Ks8o4G#z9D0_GX$|Mp8h#GE;-0CDV(egFFE+ z!UVWeAUKuDX?<VP7jGLw8YIj0Lv|d=?S>Y?BqhclNNqw%(5@&D)484oi0J^auW*>& z`BRtiIYYteLwWC>1w6?(-tcaJYK6-d8+4Lv5y~~|EiYGRhe|S66e@ExDsy5`sQ@Y! zk*IV%xY9+XRVNiHF3ZT)o!X-Z+wqzge>RRHKbcc<xhx@_<U)&Qz{Ffp98^?i3<d=T zD+*{H4Y4s}2m5>+*D|qOZ0994*Ft59%H<9P;d*-${1l?lfe3K2Zil!n@=0v~AvqIq zI&(!;Wwe}(t}7GKR++v?mf|_if|h;b>1r$#$Z|vREY}pzQdd07^x|2j70)uGc$Vv! zMFa$gr?PQyO$Va`U2@%n(NUB|@FOSVc4A<FPrm7CcT{ber;-r^eEB0@u30)6H}(vM zfbi-7S5-pd*bP)NdCig}>Z~ez8zsSfNrdIef_cxlNbR1hk`YMFdcw=qx!li{;{=(i z2t>bt@kl~FN!W{E2H#Y~SWuFo2=gr}-c=75&$1X<Mp7219YizGf;fH32(jDYP&>w* z*^US_e}vK#I1-x?Lm8R^J*A*S$su_B*j17$4o4Y%W3)}tHOsgb<X9_|>Fgw#`X|Yh zsJe5KKuTI&ksf~ueHEJWn%{cXWzj~Rj9}3=+zG6;;})Ha$hG`AFISUJM&zpA?B&{p zi+l-|xyVD*{RaIBeJ+j_43@!nBdbJTC?F$i&nPNJuSJ$n(`)X=Mb1j)@5FVyE+WX4 za&Rw*ePqf)3b#KGz>hW|^{aBODmxZ7&LCH-*fgb$&JZ@UR(KkBwN8>O6@k&?$H2+h zFY4$wy~m^o*W3uw6-T28kXrymsq?a>1sgbqxZL7^btM*rV$=E|NDmouD9jMJj}O-5 zOGFZ|kFYeoFhukSQNq6SbiVn|cuSKmca>t<Ex(s-W6e!&l*vmBwO{rh^ztdxNlUKw zRu{9Tsw6w9Xv0EaYL|cFa$ff`m9!W2bG2gZ-`g7*ey<@zogRBLFmPbnvAYg~x}gzw z4<H5fd~bO_(r8X_x!`3fH?ss+CPgawKjO1;=uk#6PcPm_s7D4FuA=?CInFhr;24zp z3TAWnncq3j_*&snej=tSbpeijr`pPeaRue6<)+7H##3g&LahR$l5;;f%C0?jPzsig zKIp$9)OQU$|6kyM$Uf|S`-?y*@>wkgVOoZZ_ooNQUMB?x`aES{2Q87}*b^?^XML{+ zEmS@edY%e)_i5xb`<7o7V~`@q#Z~S_BaX{3(hXM}mtlW5180J$_SI+pq)l*fAUx|^ z9Ekpx!uTv!yto|oR<TMvLtq?;CFx=yaDRcaCB}hhDhdLTUJHZp0~p6uQsdDxE=RYA zMqG|+4@O*{jB?u=m%+11#?_(jK_X+vfsp$km>~{C7os^Ua>aqb?GS}C3@DZXe4*lP z#Z@uZ#UTz$-^T9`LUkQjXqHJJf_)jFC!(q9h&d*bZ+@0P5nWs1PDBVF=+~~#76(-T zzkTjC7ot8vnbrg-QohJ%F4mw?aCJA~i`vySZ@sbQrt_!3kh=TL-LFl0_Lh5`DU;6` zLBp(<t?uFHUik3S&g*Z#lKEyWe}2x(D?WX_`pUeFo8Mk@>wWLt{QB!DX56-Gdi#QD zH8*ZZNk+5cN3Wmp<<`cxZaSLzW;{1}))z0lJ>_2|TM_ho_gVH_X+u}KlPI7n35zzn z2$MZLF<o~c9VQ*woQ@gKq@07Cx|z?oq1){be^ab0iy#Z98O!Nh1i<g$kIX<&ZRqMb zfY+{#pk`VGgwHH+tuQ7lFH&_}25(HqW$@%i(F}3pt=4v@oH!63OUGsK#PA^?k9N2L z$GrahBX@n-viO@W@L6WUCvC4TY*}^p#tQHcHzw5ZjkFMm5kaE4<|J}s4jmxT9)<X# z_hCb2;n}gGuqeiI4Gv}H2o9jOw5(4ptcRQpZu%1SZMpl5Z_RF6f7|3f;~TDZ69I6_ zC9zm}l?q2S-nl;I+=)LXM-6r|nxo=qU9@RMIbx4L=|xvu6&{{(8HOe1m~WH30m_gM zxjfM4tY8GD(Icarb=j`y4Eh??xP}L+NROAE3k+zFbaA7Nb8z7avZze(RKz$e<qE1o ziU8HS!blX=Q=!m=A;ipsMX`*_;L)<j89ZGh4gxgc!un28S|9Gxfi@MVy6jkMp!n@u zxQ7f<tNc=DOX?B?oPkk{{DO%Cb{WfAw-FaJ^@A}2vzg_*z^5{rCQvAat6mjrg%2w* zlxWUd9?QuowY<iyue9Id_E&8q#@34Xe(M!Ez7DUluc843;BSrr&nP#<lK+Tl)8IYJ z7%N7Csc-6!>x@y}{uEviJ`z}>yO-3Cs<K}^2^n631DU_X*D=9AqvuQw4p1;Axc{}k z!oQneyI}0+*Ery_ajmQXAL){S7B1eQFm*5dLZ$orD6_P0KJYf~?!-otDy{kfi^<{2 zix%YJRZWp~qlWt&)P0XZ{(o2Mh(cf7g5aP3z-jJ=%c%77v?C`8BnR&Sx9`C0A`Nsc z97Y6nd~t!01i==fW3}TE>>!$Ymc9L0M)pO+DdDtEboE|F3k?2f*Zk2A{_vaV6G+^a zNu}k0PadIr&(+5&F0_q?$gZD9LD#zT-Z+#11>YOz_HE9>{M>mg16KoF#(v`n<xsDB zKKyl}cDIlI`t*T?%0Bv&LSHxUSLo}PxHB0>QMMQtJb$nXSCZq83{q-$gLno(v^$?> z22meA9IZy*Jbbv@VTQr0OOvDvB$586HVZGHY5&PV<g~v)XJlGt>7JL}+vRA*jAd22 zKkpr@y9-)U?RH$UYPj}@jsyd_KbZ6~1s)3ayBvr!f2O1XYKGT`Iz!2R5;cYPS?bRW z<=wjCGBI;H)hj-M48tG$$y11?BsU%JWvpMRGqy1!|LBa8G%^;2n8!o7t5tYtYGn+I zZshhKSahSXsAA2OWAsO74jIrNojGcCZU#jZP-BI(sH{phKzKz`<VB+Hni6gIB%6KH zg(&YCH}g=Ru2G*3)VaG73p}oyZ{DkLIRTnBF;2rShHfP9DBg@vqlH0`K{gFNSIj|9 zc`iKyg%?9^l*N5)laD;f$9);_sq7nK=djv3Dup!<w+;v6=Zk{uyY?rVJADTg`)YU? zI5qtsUVdqIv_b6$!Ml_{b*CtD>itO!(Nb{#0dU8?fM5vFNk=~CrdJgR22j(keJ<tf zu6+)<^jdC+g9gcH{{iBBiw9RFq!<TJ`cz7+(?=+3xem3meSyyxIb;9ZBc=Zl7iS=c z`!PZWEXEy_h72%0xv*<PPcC)>Xi>e18B?+xaoG^B15vW5XZPgWaCR{|6F)FCz^`Y* z&|i%>4t_oR$Q!o5jDO1Q8&0E0|4;nc{F{)#vM2oxP%r^b`kh)(g)!NMFcWs|`Qc(8 z9*<)19scn6=wi>FiDGr<tA^{-UT(wPI3OdnnRHBwA>ifmij@7@QOd84A5kFRAI6?_ zK|yk=<va$}brV+_Qdfo)PG|_VV-WhG)Jd{||H|#p52~<?uCcPA?<*<_e_wED=)2VY z^nU{8*Sv*9xM1dg;c;<cLb(=-k;b7ydxz}2a8o6Ufn55#MZt=mP~?cf#6Ii7EPB;w zAgK+sc*FhXlOv(Jf;6f|w^xIbvM7HQ0_irQP@l;+A>zYyJMn4y@cE(<bCO*C#AT}a zG&3!K;uAKy<-onOlJ;`7BA4h@%+;!Ly*e7Xm@Y^TN(k1|2?*S<a5`1#N6S%~>Ffx_ z&A^T>O)vdWhAgCny?H?B+nW{Mx2MjATb)ziiW?-SU^sEC58_8HVR+ui(;)1f>V7wm zdAZNRb&W`WdW}#VrH-}m3Pi%`<UHNQeh70VzTr1|Ob5D3pV*cXmAIkw7oh1v&Big^ z5ydrbxqY=Ppv<;-bAqh3>;?T~<)Wxxs7j5Si;jz`k|G$)db!UZoSeIeXT>7B)WZi| zs%9Z!3AI?5bR3mCd%GTTJ!ocVyqS@MqNw9GL+M1|oZF99D+hAUeo9alE*BWyGC158 zO1T)4!pOye@{F3~)Y!o^hL_mWo4Z*whkeW*Gwh=3==VSCtF)?6$HaX5$Ke}42$j!P z;hL5FRu@9Gy|or=0jKrtwXT6&eC3_$wV$NuBu){ud(CB#KfBk6jC*ptW)Vss%f@0% zi4TZ^TpBl9dYZ|0&eqF3`MI2P($e#@g;D!I@v9n0+Jd0=q+VrXyWqI)uG|Mv_Bgv< z^6taIwAd?Bh?nM7oPKp|0)6T4gcE8+hX2C`lJXbB3KCKklRgbCNb$;T2>-&}H=Od% za`vD%6-wG)%TWmXiXz3l`AEqOB{p3t=Fe8<SAA=mYkmNN=2ut!j4tc>JV(}B_$w|W zPT5}|;B#bISDT6cTDV1p%eI__dUwaw`_H0AVLBJ4Rbgrr{_4?+f?JkdV(qsd+XDg% zMR}Y<CTio`r_`ZhzP&#>{#$E*<6C5}7sl25`hCuX5k{Hb!0bWUINCK0FxnZS>jwqs zdh7S%%e_?q=4KpI^ZJ7tj?q`YH$H_>*#uAZxMG(YpF+j%G<&}XRP%bV2W35q|8G^c z@aUBF<|Ld8iNrZVMo#2Rbr!9^?v0jaS>tPAnNgU|cl;FK?}@`IA)P~<(Ks-kYwj<P z|Mty(@!xL9#ebV<%99W-bFs?sm^+g4h3Vr_AOyE#uin8eTx;Rk=PjNvf+;APlRS(g zTU(e{3V)5@QQw$h7v}!L?JfM(Yf-2V7Mrp#vbBZb7XBJnYjrQ>o(DG)<7=n|Z-*8f z`L!^{?uzo;E?XF@-hAy%iwf84LEcN|$?(+(Jt1M?3JZVr(1FbzRzZ82!!@F7wwIj* zSd)z}GVsI{ASUi?u$&tejW+e*7l2}e1){7iunaj(JLrS+WX~$=e#rSBR&whn>O-@9 z_?EfVAZ8(=6vnC#wMVb}U}UhIc{jJFoSX2+o=tP%Kt*yGYs#Y8N|yQWxGP_^BklID z-o=Ecp4yF3i%6J%v<1z6r(ZPC9W*7Z2}}}`sZg9I3WZl?B#9!*8iL+is7IDf_*D$C zSkTf|(z5n4+*G@0C^pp))=+lauuCw^*|8Qb9rW#x{Z=lQ2lyX%^5dSNkBUaa$P)k^ zRjlo)U2qx+75iQai)=2=vB$eVSK28X=N~xRs3ou%dd;JLS>YYE#T0lS4JrC9VQ?UF zn~Kb#o>JNGvHrRPQTZVFt~wJfdku`FG(eG9HLWx()wGIX>E@9zY%{G8f|=0Y^HSU5 zvU7<8VK7)zn&7i%h<3L%V?F{62A9EX$G@kKfEz7Ba?0D)Z}Rvg{s!K@d@t#Wzk#>a z)r>=lzwX=b5^e{UIQZkf6R7vT%)0Q`eJcb~R(6Kq@d%`P8IQClbB9nZRT0w|aA;hS zZIwCh*vsyvyBC?IbH#F>g)l=tON}D|m0?^>9E2>?F%DWz@DdcHzrDO%)rmG4Z=Wb9 z@W}8QlAWQQ4gjXZy$DWz_U+#%Ms73?J?hbW7!W?H_EjgxwMx%tZ=WR?vWXe{qvNx~ zNEwEFBoG`Cl+bO$#Su(H7}#${iSjD^I%u;!WsuN?Xn<z!*s^KC0&Khz<33mx;OWiF z3eh!gg;z?2?!=<Ul`>0h`qwNPBY4q5=Ju;S>!*>gzd1hg_1x&(yV-P(ZXVK8hgjrV zDD_fEAyHuM1-SpoMQ@b3zt=J>t3fcg_O|-u#H{orUP&`S022Ds3!~dTjD}y$Bldy; z6=gX@8~+Z9vfKpxa=YjGAI20G{J9Z2Ld^U2W_Vfo_?Iav-Uw0ezZ|GuR__TkE$eTn z2pu{K7jRcvM`cDK{1plAEO_N<wX=Y6H&QxCUbjcTp1&zF_om3#(vQ-oN`#&=BC^-u zK?8XZ96i(aiKc_WBPb%no*p<XFM@!ytg>%9(@Diwl^(AzDo2Zz@1+6N<GlNSnjH$9 z5N!)YS|?7)ryFmU<h@Z2&!-D6jv*oJ&j#ebd!Sr*RKTSpdJH@g&DFCU1D#S3jA|`3 z2;;R!TGU~@_Goi+^y_8Oh@yWCARcT~>2^EV4zSf^Wn}g0Lsm5pz;O$kh3FNn8rddf zGrIxBt5D%#2}AlqhH{E{$Sy3png`{$7ej$2f=-D!Nb<Stv*?##K1gPr(_&8WjyOzs z-Xs(iGSxV{+E>DtZ&Z3T=Na$q<Ts+;&We1yAoA_v$hR$#Z#S54^KrF-J$zW$1_-5f zWsp-CHE5*{p2|!0lyJwaB(nrX)7AUv9<{$5Z&*eYFf}q~b7W$ovz)E-p&)O=A74Sv z=H)bB)U#;b3xx%gHo*=E4#iHqeu*k6BJ>_h_@zu+Y&tPhles;8Y;;+#mlhyenAdj@ z-We1n08}DsLu4gjFX?#_3jJ;m-76)8;=}<SgCiNKH!eGb^d7~tN<e$m2=y#ym+(AN zKOd*RA2&iK55T~GTnkusZU2%%nDlH66FB~bo}uBhWnCWVle{7ign`P7Fqvc%Eb^s0 zLE7uS%RaK-{DE7a^qD;kV~CxoF`{J=<DAXH*~}{YdU!k9wZ9H$fk4SGMDoLj3MG{< zRVYV(nHyz_Fsq)E_hxq9n;Y`pK${8Gg(l#Qu&-(xrBo<SK0f(x6dV&n<gv9PVt4-r z1_nfH_g;K*rg}jix(T;0dUN-?Q@5}D0x|TtWO!}O^{+fT<@1~VoBO08Tu={&L25$B zw$)SW+NNx~LKRu@+2=df-SE&04vTPzPI$d@>b6(z`{tStHPEZO+GgK1<D+lBWT1Wp zWBc+I_e@?p<q;HOwNqz3Fn{&jhIjX61`28?C$ojK<qZi$9Dzy*IW`&Pa=6$kMOBu7 zqF*48x#i}Nsz#}*nqH#TqpJ_SlXgG0^scXV-_-HwZxzlpFFgP1&IN0x?8T~tm^W>_ zVb0Cnjkj#l?SAX4``*9fnz~2EF^5p*u5aGI``(E!w#~j$!B}?t)7uw3U-!VZc-BDH z&UxjA`_{iR_cE1Z-nO+1KWM6bVv6JlH5xr4Ef}m?Fj>?&)o%NChAqk|-G_v*C&OU~ zu4bYP$&1^VV}JERz|4Bp)B8L^v_-tDeJwv<Yw#T_&_*p;jY?mLD5My+Cms-bv3^YG z#pmNfFJ3x0^x}(g#km3m5+=ZrMD#hlm_cRfOYdN)qOx~rlo|4gEJeH{ovMg;+|%n^ z{}8Fl;U6)LfLiSYx~_9>tE-R*-Q4B7O|LP95Gblt;k$mvH<ta{8Nds^*<}&nCyL%^ z$^=hJcyK&P;=Rew<Gu0pF1(=(b>~z2-AtHZlj7?(p@domxH5>InSIxN>*hW5LZu?& zt1o|i`-ZtoRzD^DZ;sauA1IPZ=hQX6_04VT=RWa!RqD;AyPm(hX4ZRH1Lctq744}S zAj^okX9gbUof#&#&Oau_#WX`ng)?03wm0Pr{h!XJm#>-izpBDC0T99S&a1C~cH_OZ zTPqZvA3nGAt?Sp$|KN8Kct&<lLLerchk>DTV6K|Am%+#cgT&;umqnl#;`)2?Ca`<+ z-rSY<W>MZ7G@R@bR$uI<lPHa<?3t$s`JMR#tAxTAOLp7vYp0g)OiUkZaZF6&njq&7 z3a_CL<kkFW-kYYpHxK5$dF-cJVknU+gEF5}Rg=m|ShQ>e$!Xb3(Ijs?nk?4n@|1@y z)>a{UKc0ul(!4j|h``XBnh~qfgo%@D>KdA>Ck_N%K%*}#L@d+r1wrnNq95{+4B?<T z9Yb42#(lw&vG7bahxtd~6%YFd<b5Xg8k*0<uJn2;j#>}oQR~T{s=-rakcTuW87hTz z71er=LiwnI9wL(Fcf7N+W%WZ#pU|`RHyzJzS^VY=FCWVWOOE<UpDlmto-bG2q;qW9 zvg_te4}Sfgh-N|L@ii}8|KcOBe4_=_g0&5=d^Y{Y_VWp%lD*dU(Y9@$%&WhCp$2i! zBM&xT{lttXr;6Yc7!O^&{ko?nHD0~HBK+$6-gx}=x0hY_?}TAW#;$eh3`EpBL3j3! z=XXtd|Mn;E)pdQeWA_s?7p}eC_IuDHi%W#7Z|S^cOT+Y~`>D$3%zApqOWn7xzfI5+ z)>>uusG4>;<8!`$|1dqO+!r%OCK+atJtX1$oUSd1qXmf}U;>&((S8>aG|!#;(aqb} zy<M+K@c8o+r#||^ymt;K2?WGbA1?mljn^OC^gmRC@A-7q{S&8eZ2Uz8jUrhmG`PGx z-q-+TrH2-O893V#+33ib+=B$zNl-Qi2#(Kk`-3Ch-u!P^bO)aX;hS1-Zv6MG|L~^y zFvEPf?mvudcl_RXc*M-M(0sVZ%yyso<!STbdh=nm`S7y&u+4n9(R{ese3)xKOfw(q z%!m0VZV#D_>oT)VF|*xce!0PXc*A^XG#{QZAFeYW?lm8_n-3ezhh64FjrlOkd{|~a zw3`n%nN65vJ_O2KW0vVKAMP~EJZzF`wwZ0K`S7~=u)qXxg9+ez^C5uFwI+aC^I^Jv z!0wP`zimFeW<Ff??;(~C4uIejM}QhCe;nc$yXLnTH!?URO#POT#>4Gr%L8m+u&uqg zw>&`j+4~}Zp!ZP82Wkowi!c(U?EO9Hkeb`R?>(t8irJsJoY}K$9#8-2e)$TWt{MBk z*f=E0cv|5<`J-FZ5$42Eqt8xOV6lOQCtRT{ZG{mKPhWW7M&ap8?};}a?><>+$_(v+ z$FBk(zxJN=z06SrBrUMP9r<Y(W5|X+DJ9Cj9kGk;yH3}Nq>_5}Gbj3)UkeDZz!St< z)3K7%IZ(*)(J$r6rT8hXdMYpM75nBrtNxL#W_$ASes=*f9@+iuxF3hQvfMt(uLoIw z>gD_nBFX!xe@WCe3ph9;z(`|8f7B}Vn4OLj*8J$^)sL=nT@B--UFUe8O;GrRxNslh zz6f%NY}}n3Z0176Jwl)<<Z7>r{3pdOi?mV*nA+s3u_cGptA+tv*gDxvRtUVV`Om%0 zf$~7kCC%QMD-nWFkUj!UgyPAt_iW-}slek;Ebnnh%K3ObTmlY(O`{VRsW3MTK5k(b zbBv!=<z73Sfp%+|+h&?*E&HSIu_(^6zk^ZHkG403EjsJ^k$!r{kBs!be)@)e{PcSV z_~~nnJbxeKzyHKYzi*^JFw!3y>5q-{E+hS(k$%@mcNytUBfZl|e`=&V4V<@@`*_|k z#7|G_@29sJd0sctGmQM(jrUJ}&oBFAnV;Tl<e6)fZ8q|}VdR-*<e6ur=NRb@BmYxI zz1JIg9yj3MXuMxxyno6_FE`-aJ;29*rct)mNWW#^Fx&F;UuWcb&B#-4ynn)|Ym1TR zS|d-Lk#0Bg%r@SyH1MzM=i~6Ek$=(vR}x_iJaw!*&~G+HzkeAJ^J`ax2gFPLBJ$Ne z6wK!=&e$g#z&pkp4{w<dZ<`NYj*)H7UdBW1Z;gi+vc|)w|0WL}-ju?@2iN&hzPKK% z^00e6^5QtiK$LO*Qe`hWQ<9*@^^hi>47h2apRO~;`a3`H-+y?JpI&72!=wBA?^o^T zr$0xy64WYUw$6|fJAUlH|DwWAe{8^?Y2fhp@B4W^HS)Y`yl+0(&-0m)=Q;z<dPIM4 z@%hM*4bK_xKQPK(wU?j&dIQcfqpn>>{zV4NCyYFg8gO<PIIlNk?Fu9R%LYC>4SIGN zb$w!_pEhW_(|G@s0khE<qaPW09x-tH!sxHJjecKlz<J)lZI1DNk^$%G{nW_1a~i^? z4CGWJ1FegXGV{pemsjKQ0PpK2KJMc^F6HCC-sA46cs%6)W$#Y_<E-lae|*?ML?VlV z>i`AIl4j{1*+Lgu=w_1wB9KlplVoTz6K5uE19C+HML<Ah7ZllK7Xbkk1X&ajkxi_K zh{{!DQA80`)ZgoUmghNhnnD-uz2E!)-)T?Ic|T|0Kj(8k=bQvyc%rv;1PRUgg1JGD zxqhDjJhyECeso{}es77>*Xc{<bi)aU7(coOI>R;4K>$y+*}R>g^lg=-?`gq?1fHRs zzdeDkUoMgDtMUu^=?XCoD$V(K!z}%zElA!K3j=V=o;I!bpG1hJ9?~HGc~Ic++9TvJ z(|+TZ?h@s|&c7K+>PF2IZ}x$h%Dm(Iz%>8oJPu52{u;p@k~};hxMKouc>%bgpvI_% zE8p?1_Vq@I@r>W&EK2tE&7(Q|9Jk>ZhYF7j{GA)3O%9%v5c;3pxc|ggBWJhlldN0t z^q4Kw1~0gtmK8*E3a;GG2JM}h(zyCoAGCq@-UVD=S9mq>Cinw@bNJKn9mZci-2G!d z+|M8LAq{y&*v<fU=xYDQCJmm@gmk-UUstERw_zJx8o<kTcB*gOz7msx@H9h!uGjwP zKkCwa`4<Q<ZL;4Kd`D7cKNd`@`&WW#{eJQc;F!emW%ckr!PN0{g1aS-FFq5vWdg4k z+&+On6x=$2PuAPMBA88V&pr#7ruiDdcP6%X3#M6kOfb#w@9G`@OE4Xc&Of^@s2c>+ zG~X$hcK(O!;jabLc+XMMrH;>0J#Ow2$z4!ixhLp>cFp#ukJu_d^^UrLp1K{lZIZof zz7I@C*K6+urd{sQ9{|%>pOfuQiQk*<2Bu~4eZjO2o)SzWx=b()>Se*SERMei7>w$I zX~<6qrZx2B_v-vUrYxkk=iUc=Pm;)Q2&PTpUcuDylY-kMj-Po5XvQOTkI{RC>8h7J zibFGYBpu|24Q+W}_d6ekaT&o|Wt$Gu=Rf1aF^(^I4w$C>$Ik=bm89<S7lG+$dA*=X zgYlc%rd|6!v+`Z9{hUv8^K6>UKM1C6>(~>4X-)m7U}}4!9H$j`wP0FtPoGrh_^*O# z=lSf(b&k&$Ol@xv+%C!94+Ya?JSAw-oaX0@!YJeT^QYr5Er;XJ2Br!8f?yiwU(N!i zxw%rdz8|gE{tdymB`LZ~FzwF25`2GRd+a&Dw7s7znEL&yU|N-T38txfSTHT)rv=}d zg#4mlnyP;Yra_&}^F)E|MS^L(*9oRw=evSwybsnpeo}CYB;Mx|ziE*_owv>U^7C<; zrugA2>frO20@DnfaitHpt{<6pdi=%MrPcM5%e_-$dxv0JKaVP)w2W`L3Yd0?hXqZV zR*vSzYp_eBdFpy#8t#jNX(?TLBQTv2zHkGuH7S;R1Sco(HNjmIc#r%xCGanT;}Uq$ zH-PE1b-!Th_}4c9$0m;dA=~i@yjHdo5_r<hz_cZQMR1SA_D6#0bb0=_fay^E2id0a zUT{ktyk9W&`+{Jasx!X{OtWyiV4A@f1k;djSG;LZ$9)@^CgZ94RDD7vnYO9R<T#xK z?h;HZ`xk;~mHk05EsYayt%K(arXgP|n2!2)3#P;23PBUHX+}SD7jdiv?7aHvoddG& zYC{6A*S<m$ou;+Pmvwl$<w~}napApgayBjenTv7iM{(|CytK~tsmpvoIOeUgE4*zQ z?kBbm5^&9S0U$Mjv+)7A&e}A*B96u{KWuCgU}Adekuavj&J=?8Wzv8CPlFV$*M7&d zKtq+wX|mCurUR1HM6lww_l3o9&apf*o3^Su1=Ak*Ye939o}<klhX~%xM9?tJGEM8E zYPeOE#u+k`#JexXx2X-y&an57Z1|_$c(66|gZYL^=GIF1weu~@BddcO?(>c5XLGxP z`}|<~d5UqJX7aaTqqwLkDEY62teYD*3~XMR9)QnpAApnFZJM|a_h0jDmY(??Su#^X z8tIS1#p@5k4Bi)l>()2vH^p$Q%Pmr#7=7s|=L)vrcgRk0|BlP=DI2t}@3`X>p&Y3) zbW85{{4(&2E!w%<+$DW9V4}EsizBrsZBy=C8H*dY3M|w*Tnmm8l4)O&IkGNMX(9Y3 zEbPZWXp$&4J6lMKLPw3*8cEDtJm~^@)9U_#u&^Hq>*U9-^1g5?H$|F-U7GH5X9g91 zQOMFeKji#961JE>yf^T}=0qCWJqO!n^5R#CDH(^7E@FDcGgmyc3Og=py5&*VInywo z3|p@4#p|`7@|CAo%E~X-w~@bcJ$6atuB#m!q|%K-)`pSGB<saH@RiapPk+}3Vr*A% z{gI`8l&}UrHXFM;eiAq(505_`<RNitTLEj}U+)?u<!nny+N7LiK~h|bDgh>{tFQah zN?E(0B?#{sPDvSGM08cill296-7g3sopbIMGz3#x;9r}l5@9v><e!3!gb9HGaPv#f z&ZO(QTVHacuYorTZkEslw+W_;je7)B8tAFpyyGP0uWn}R<oMgM+8_z%)AjHq!Sxf{ zQ|fI`tB0Sjhi3|InfSd#&@>s7{wwMoUtJGB^IaSpIyfz}+s#h#dhIXVi(R_Rdk9&d zU}<sL13;5=U$sW&)x>$vBXvIi@>5_m(E2It?iYf>&$M4%56?(onml+wCXy#kWNXfh z06?y^JLS(|Ek1KHwrMFG&tupL@sepj_KS6nUp%kQ@ymiHy$sIl(M5jW<wv`Q$G34i z@wS=&d_C8`9t;BH6dc=z485@LOxm9Mp@%dJbHYO$sWeL$1iLb~2d)0nU^nRaV8`XE zfO~!FECOo3_kouwgoaDC`5OQ?y<fVQpXe`3Oka{H#L7<ZUhJJdG>Ylx$+s1WX*738 zV7RD%mYD8JOsS8bCf}Y&Ovp|+zjr34(fp>N(3YH!CpI26Q;5De2e&7tG)P2%oGk&3 zRwmy}99))|E=^4LCZ?|~9@YDw69=c}d`!nDrq3j%za{SeotREaY)?x}|4M8>n|w<{ z{#5cUjrWY?Tk7uBBoqXlT>d|uxJ&(}DM<bPJ@IizVmc-9J6a0T@cxnb_-kT1A@O@` zVtOU9P2){NIWBQ`Vq$tZ@sYYqO=+2?-$o1h^d!8q6VvPaNNv*`r6H%L)LmNV>9^5L zso%7{d?HEJnTaW_%hX3|N<&WDOIp)u*`J(*_gYetpG>};m6-mS*rqKp?M-QHX$_`z zgzacOEbUFHDecwIZ{-{4RU3KJ3tNpE(2IMF`uS5yl21rX=Om^y&e2StOx*o2F`br} zF6j0tO2a!Yu}#0FrWX?1)RfvjnAjelm{NE5CEq@sn7);m(oh~wzNMvjV^V>aC22;6 z&UJkxB%SHP#FWkj$jv!h1QeYqt@6tg+pi=hBMui#FQe7^kCRlUrqOC39qCik#fjgG z64ND#iBO2}5-v|=Qanv-^B^fM{ohSor{$LBDb0KOEp?ZgjvXbGbWr@n=*|7?#8aB_ zvyyM=c>IIp+qsD;jXF(OS}dd4rbT*f5=#2*tI4-(64N7zX|xH?7VdT5H-&reSl=FK zX<Exd7jYJO^G#LqU+l;jTfQ~CKQZm(eY}$RJ<-}iGJSRfZ~Oagz3EOZ09UTSXSBDx z^5-unEfkSiSJ!DTKq%0C`||s|>9Kcs)6d$x>AOif9^Gx_Xc|7XBV?cp=<NMB-^9>~ zOX?lgwLrPGC&8VsA16cE{hOPR_A~Uegv$JJbQ^<tNv1wz7sMG!{?1HHk85$ea-kr4 z>pWeQn2?=z-w;7|CM0Z~>8pw9QycnkKS`?Tu4(?;wMlhev(u<irzM`6C{q{B=icp2 zKYWij@nXqnd03$}V3f7GB7Jy09|FR~3g6n+7wPNNN?l+pHa2Y-Cd&*Pmae%nCbj0~ z#MGLY#v2c`;fcwoNyfw{*8ul3$HZLL`KDgde)<MSTEo3?WXzXi;s2zLUf;Ai$8XyS zrr`#z@Q_&x7R>Th7u`kMuN>x&#`|wSZS<z!O!lVVw|LXnrh3!0iRqQi{I~lO(}lb0 zn^JJ*OmBN$SQlnk_>LPE((+DCl+_~#8?WiN)ivSw>Z~7x8gA-Tw<I-7_@rx&u6|(H zRweGfwUsI9hOagz-T1@?pJEnu^4W0O2d#dp)v0%jPukkqZ!3MhhBLPrP0utuW(Ec> z(69HOg!47~9U)N@Uh@5$?Kb>J4mG;?d`geE_t^W}b%RZvz16*a!`JKLT`zU-^6|(0 zRWeUs@I#nD2X4Nxvb-0Xc@0Sw)tFhaz9}Z|)AEKp*57<1@;t+QZ_Fg$;fTr$rECq2 znWy}h`@P}b^=-cXJ<sZ}JWV-2wUgB!+{fxCZDn*=j&*S*i6IR(E*E={3>W*@^<8>` zWDvXcMS5&;+T!xX((o6H8_se1)njaOcn8HK^ZXX8e|-mENapkJHnE>iev8#l+lo{- zoZg_n-#&2j4Y}Y4i}rh&F9BJVeftv$z&azBFBf2TP0yI$i~H1>jT85WYj!Z1KN(W7 z-!->wU}H$Xrp}4zykmd12@V=|)1L|aA%0BL`P06shvu6PbhLnckYVKho5I8I1~gKy z=qLa8|Nlzhe{~6Le%<$VPJp+yGMis_>%{eJ&&)_)A4OBoY>L{@snC9-$bMsRXunB> z6;5csS>*pM5#Bs<|JDd^5xIX`WWQyE8zQU=6T|du1+LaAh1{V1yRh)l;X<`GSg7Tk zu{zvcE7k@I)djg)KaPfbYT1s$K%u8r$Y+-oYyH^?S>RxyRI6q(yRX-fc|T!>Ww<rC zKUeLq7LO|Q76%HY+#peyfDS6=3*`m53enrJ#s^{52x~|DE-8!*R|^&ArG1zvO}wpv z+ppsG-MH-{z`<N`ptpN=J~uQpP(WLntK}*KxoT~0IbZB87V`OAt+24rSFF|wl|sH& z$t|f3RSJW};lZxL@}Xj-(3c;oboG==Rb|SibP*}A(Y7=P@xE{UhRl12cd%Tl^^X*C zK9wKFI9K1M6W7Yg&CJE$82O{1UBOZZGWAjZ)ec`JE0=a!Lgx~O%9;$6szc>UZBb>w zrMA9;T6}^tnfvkcKKUtEhbqOTxt@{1TxCh2RxI`PR?2DwigEwx3l>hZ*|%vAtC+dK z)=M$Jlv*j4OR7*xtCs7j%~0Xz3)P-Vaj1sXK)J8no$FcBS1Avd^0kqnLbXz;mWL}n zg=#UsphAOKj%#WNm(^T8UoK5^pu5nYTUsnvW)-Ofm$13HQn8oD<7y%;i%UpTmVD)C z9VQeTR&`FfXGtMnE!31lAIgGCS?w^++OveAvZ+#(K9NdsVL2u260p!EUNsf_-+9A^ z%ue{v7nT;up2=jbn6&i;1G$m;rRm19z0$XGgI|pQ58$8t7An2Dp2D15sc$&fSLmlv zcMO$Da;4fwSr6s%9m7MaaZ*LIA!{9l3Y9?v7$TNJrITcL^SN+vuGZ6!L7!)r_DgD_ zKUc{w%T)@~skl7$OVttSABA4}VqqbTcCPc;LFQ|PzL65eV7lwPa*bX@l~KLZhp|M@ z4d;vWV+y#Ritg(-*eAcL#*xoeM%v{n`Rd1&<b!wCv67Ad(7_0jj7KwRaS7P3JdjVo z{N7$_Jb|60d|G*+TuHv9<xu~9{%~!eSSmyxhjKl|+6b+5#`0oq=J3D(t-DZQa40P4 zq<VcB2zT^TDdESV97EUq(%fRHI7s3@I$W&HFHIXLSII}k^ob62jHn(D&Q(fO%JgD& zuvo3C{i=3nmu8k3n~X0;ru;NoW&gs0X$P)(cDROao96hmf84#X?H^QIp|4yS8BT_Z zImOZv=iCnyjN`B1UgK$Zu1a%D27cfC-P~aPh2!v;O&T)0;Ll7M73Kx}=gTC1X|b@Z z);~PhU1ET++2t?hLZ!nFc7v{O_YUNeo;ux)BxN`DrWqoRGl**k^d#@$q!c9T4%}&+ zEceoEi@AZJO1WmHuZo@Qa{1wb+ED8dt+cn;M~m(zAa7RdR&JRU@&m3vx(H2k?yS(K zRxXE@O>NqS%9>>C-;Vy=5EITI#gVTS28X(OG&*z*+A)HPapBG>c30>vvvFesZb=64 z>SqX7V~pmF*?H4zXXgb-M>q*EDnwt*Okztq4S7mX<(c0Qw&vTyU^jClt<FvMuJ;8w zO{-zM&Fnlj#4uH#{JJKRdLaB+_}LlVcSjSj2h$6TR33!=-F9j-uow@<WL#@((;U;m zP)!|GYi7`+j49o~Xai7N%nb~vj|O&CXI9(mE94!@yV1=QGnB<L4T*((sceS8`s}Jq zJ8D#-tFnMdnEaN8%vka}T+A17<!2#R&HD{AL%9hpZL~x95q-dboTGJ`fp>Pkw~(t1 z(-0kmsOnIHh6mgy=2p|=W|w-)mEn>Kpg5TCW;kaw=_{0&)fnHFkaE-Ud`jl3F_AK+ zV|CLxg+Ay4mygM53;8=~g8z{8H`|y-Pk%E<FqD31Fin*`InueXT&~%X>>x`ws4vtC zvud>=rKnV8Dk`|S*?3U((^;2~bl9k7l+-oz-L<*7<<lTL=*0BSYIki`jv=%^x1^wI zEf3eaYp(SrczSsmv<UO2+DJ#aw>F3I7<YBwXE7<d?+n-r3Z#+|ms%xOSKIXiY)f6c z-ubO|jP*{_&URqI6=zz(l+6O%s~;4ptyv7^qDf}wmnYt-wQ8-{Q?2VsK?tYeU+v0! z@FYNW^eV~RfqT&xra3QkW3%%dPU`9KkY?|n&aZQx%uF+uibNhg!acTV$n24(Z+58) zl}G)xi^{9dRWiUWc7D{27Y&I}&okLd8zrH2@uno|WrVR?8gB=rcu)T<%943+^ps{Y zE1aL&Fl&bF(p;sOE7h{?rh!eXEpKb<Ecf*d6oR2SEHOvR1$Fb*w>4z;Ck>;8Cql4L zX=|Gc<!yR$yB~g5o<|NNoV`~g95PugmsTCnC4{rjD#B6spN?W)UadquPgv7dH>@{E z*pw|B3}<W`!Ye@`K)3qR&zy*z*0bSSa$9h?etk!T-x=Z9esypd-*!=W+k-><cSZJb z_@bdg_gX84>3?s8wf+e0MYn`F8{r)ytob{RFT^{I;yw&N_OCHK^sn(M#BqK^`-S0Y zya}<!tJweR;awyDad`=c{?+e8tn|e=OwaDlenWIAjaQ+)=DQG&i*Qqfn<LBx6efNj zeyhXc3+dbV2u}cq@lAC0-v6Y?esYATM0je1d3L-m{11Y|^4T-8-z&lzi^BA2ObPM6 z5pIw0ei5D);pyNoJu@QvnGx0)TNy6o2C9WRf3x_`O06z!v-uW=eL#c{1c!N<6XCg$ z`*{(bAK?WN{t!3}e_@0>BKMsUUKF`MD8dIv?hlFZha>lgM)n_x><^3V50C7Rh;Ucr zesN@<i|o52`<@8rBV34ZZ-o0I+#lg0IIRC8Bl{&09*FQ@<i8Zzmm@qBx<{D-mYd zU6;NZIBYM&k^R!hepzI{Ji;T9`=cU!bmabHk^M1|{eMLEACK^{k^4_X_>+<Q<05=~ z<o<-n{!@|trz3n~<o+`eJ}JT{NB9(Q*j_#x*`FHW(;|F&gg+PI&x6D8zYy7<5#ci< zd{%_dj_^4VJ~zVWfy4N}7}=j6*<TRZe<`y6a)d98+<zsqzbLZ5IKr1i_|nM#WnlgO z?S6M`-(WwuzgIY2edtP5h~F9E?IV0ugs+b9yCZx}gvUns+6aFw!q-Lk>k;1Z4e&0J z{q+$R9Tw()hX}tt!Z$=X8{s%T?~Ux=7vc9u_(t$xZpbcpa@i{U3D#Zg^zeQ8yBjjw zqJIOmDQZL1)+knhILpEd#3%T2+--p#=4*C@Z;EhBg!hiH=%+9|jS(SMp9-=1e2CR2 zL##d$V$C5T))*3E(F7q@K0~ZN8R8=%tT84mH;q}LdyOF>))*RM&0!(d92jEFF(K9% z7UIuDSYuLXFPb96>hmF19}n?xghgY7_6J8;V|HkNP=qzchxRu|xFf=v6GQj82#Y2O z?KNkGxESGlgnJ{bF*@{rdW3I@@YD!@Gs54B@V6t}6yaMVd|QOS6XDw<d`E=88{s=6 z9Q(g3vTu*@UJ<@K!uLdYa)iGZ;qOQI-U$C7!uLh^hY`L%!as`e0}<Xm!at7i2P6Do zgdd9V!x4TY!f|;&8rlCO!i^DrEW$sH@QMikEW*tZemufIkMI)_{zZhJjPNfb{8WU0 z72#h;_%{)LI>K!c{?7>iHo`L_{JRLp^|5bc|4f9ZNBH*<em276BK%y0_mA-N5q<%z z`J@50A?gpPaD4h>gkOyCv<Uwx!Y@Vm&k=qjI%7@k{}P4&a)kdH;a4L3YJ~q5;lD@t z9}#{n!vBo$zasqa2x~zYmj8MYUO&PcM0mppuOEf~)(CGB;VmM(QH-PTMZZC}y=n4A zC+}?ca@R(l=x+R~y{xIM&foAiM*iTDYctE{N2b-6)tRx2O}7zF8bVNFS-FxA#f&8H z(OoVtsg;)?S}@Euc_KKH>_#Bl;`V~t+UAt|ilu`Qzv`3+w^`@+>N1&giBGhF+cjBr z5Y}h9(Sx5S@GCm`_599s$&Dl4?gI^mr}=t*z35dObtir&yg|I}lIgM@(+wZ|oQ_|m z+3X{(rYzJ7{Jal8k{M!$&Lvs$5Rx%V_Uw|qsZGY(J^gi&o!Xx;)CLpTDFhAvC*`J| zAU#>qv$ir%+wZz=GEbfO|A5Nl|74!5lw~3f^?x!?>nihf%kFC?^Yk3<-%VRwQ<<mj z_W19Uc{-7}b|8&r55FpbBsXkz`1TTys+r7p@RP-lcgfCwD!d!)SwDlj_v3C=a#Bc- z3`r<-wdJKs<=Vl8?uB?5F~W%ZBf5r^6@n?1k%Rk@g&AN|-UxWi!VS_ECRY-LFb0W# ztbxc?=8{HRHftikv;sex+t);XY147_@=H}Ou4LqrJXlvjrZtrOu_9(G%l`zTXK$h? zP-dehD+~1hPx3t*HQRo)w(>gr;D0P_4Z^O9xSXV&T$elm*^Pw@rp>50F~_u19*rOM zcLZmA_w^keSxh9uY<EvR;P$Kd*#+HsSS`7m75Lc$KlE_|Eg+g&DOS6jz}sj-ENdYY zvqOuOiSc4}MmE;UFxn#k$OqL5qeZs*5;La~$KK@QjY4??v6RfCgtL#z&<GEGXt+>8 zP=2{B^6F@Tub~i4OY55_L-R4h5?_FkRDyI8^t2*;9S9?@JRM~2$GzGV>zV#?-iYCs z5lpR(hzRsDfi{Fl-aa9Pt8W`$*T(8yQ%sJtpLp04_iFn+MglCm*p_5l+i+=FB{wv7 z*Tva#DVr;07t;q8BLOrpT&P>;ZoD36b=4{fBjiVH!uJqw3KlKd$7zkli?g|Ew%F1- zC6jrO_&3Av&z#=WUmh$pAtPBTRGP;1<SKpTCS<Fbk18Wg)k;rOv6L??AJ-$<_v*M} zxp7i&%jA4(Yj=09Wny!4OK%gBjQK)i%edxotu4*QOTN%FSk8~DREg&=#B(@$js@}} z^l;6-8EG_08#YNx(pH;b)9C$vc@)1}#$iQRe44iqzJ7jRYz5(lKhC-=)#{a#K9vzV zyqVOi(=;!u6-)eYzwqpZn~A#2q>LEsTM1u$0`Y^k!0e?`69+8LyQ*F=)qYi(ybZTX zn$(v3DcAZ7s?P?@3QOwknCBwSTbN!h6|zHR$qQz4y^Kh<QDkdKd6w3__IigUNLy_j zt`!Fwo5zhGH{RBv{oXXFBy=IBSfDzupV*Kok+vSx7}POGQ}@L}wJsH`=a)3mdN@W@ zZtOu$KLRu<8b@KE+9Yx1LWOX}Pw>=&x*bfCx**r8S>}rp#3oBE&EqDUW~sz<<%Wt) zJ+&^w2SA$DG}4nNHDs2MpO3kGt$XC%101($>>lpzEmUk0CYU4)6uXIW)5#5)#l&?9 zDvR>?TFmbX@CBH64)7G(gx2Zay$<Yc2R3WQQf?q?rmMCrlBhb*l^sUT8F^z#?PfK} z`udxVpLd|P!v8ktYHwR(4)HeNZBbcg{|?OWM0xkyVGixL2Z#RO72$V---Gh~<-M50 z@ZJ~MzaJcipN;Hy0Pl$M;q8Pu3~vm0=fHj!%wc#R0Eg)v8`<v)4*l;2-W}!R+XHhL zUn6)NiXqnQ)iz-c<7)<o`EQBrTO&L^az6nare`8JjDHe1%+KTqtL=pGPmS!`z+reF z1c&M0GxEPz<bLl6?-TjoH?nV!?DqqQ>6;ee>5=;xk^M|?SU&rM!}^*Pxt|R_0Oi~B zftbVm&jE-2=YqrZ%>#$!JwL(=BL5$X>=#D%9g%$}IE-&mWPea(e{h5k0k8WwRvI2` zbO+lsJ4_hY8VqBZ2S3=5>7u=h_INM4J<_K$7aTP$4rtubNdg_OYwzh{wQYl{9<Zn7 zH|n5et?a2_MzKnnGYge6%SUs>&mJ5^5}L42!_UU(XQFGovg`g1Gyf<?=u_4Xg`r}V zfe!myo%=h{#k;S5beLqYiq3P$a)`5HI*wG#i@Tg2%hVyw;LPUAi%9n+A1o%rb0i&> z!C!Y^a}AfTp75wUf)X!SVeXm&B42+Zf7-k7<??4&KF_)Qzk>c2?AP1NmfJ??n}Zvi z{%&-Y&yMKYqu9-TKNns8E=E_mPeg|d%UppjcWvlzL!X7Ny%2GWgEMs*pN@U^w(e)4 zZ-6_)+*{Q-IHpH`;H$3fu0BoCQ(MmTzT8afnNx_foj5;2``i_MajrU2>dE$&7H1)O zh6fXhs;4{%H(h6F5<eOrM5nK9I?99Wt~BYSjk<wN&o=usWHk3`j@Sw{vsf6&bC8C~ zxl$P((mC?6wf-WcdNrHNb`STF=qb=9`{H&9h5vSRw*t)0R&PQ6hl5zz?vbqTM0S<K z>23&*LaC>aE%#=#_S|VTa|!W}Cybw>s}4nPihfXk`Y>jHSlW_cZihw0nKLFdnuuon zoIu*tHa6YYwt;QY)wZ$@ACw+ykGH8ZAHj{{?Q(h#y3*7R9W$cCKAdZ+abA@sAv%2a zbZ5|kUT2&~-*rY4Q|gApPxg?T_r!<k?hKnfl&oN^NugLu)Vr|A1bJ{VU+WL>tU|G` zpM%v^hNvaAh4y5bIr=lNu*{r#Yi@5aG{T<f%8!05s@9lBcBj^~GSlfb8qhSzR})pn z$MGfN*o^S0y3Api_e1YRN!G{XoWliLL{E)&RVid)M`l@mmY31sYGw6>^1xEJnZ(g` zb%V?kgf}h-XE|oIKSR4`msMa|W_vXX<<q!o*pEd)`q#1r9f(StB<Y!pz51e0pX554 zQ8{1lS;PFuihy>$*R%^JL8;fBy<bCSPr?^%FPR08kH$O)rJr9PzKYxMH*+9YtFfn8 zxB5!Qin?^I)f(ju7GG`+##u}y!;T?M(;6~bD=IJAFFKUUKb8SlZB64`xQ09od^l>| z6S^!{9c+Yko#*UiqffP=2c`rB!3xsWPdXk)ZHrp>c-a)BZ5F!B!lrA8gV8-*{cH|v zP32Z~ba9o;g6Vb*cP8;_UOIw&ds@8<^I}v^D$9{Q_2_I-W4><dFbDVP1uTS1ni5KO z9mVpAOEAn1!N5qS8^8KV>){U_vs&wEYMof<omv>5pE5B&b^L_x*2(#)d4~Mf-l_Tg z#MbVXe9xru-QCR-nn<RmwkGwv9#dwFvPf|%?R(5<$Q($x<C$=kcK=hg4-VDTNApDy zJR0ebDpbli$dd-uxyH}}=H3AJVeUuCPO6Cc$iQCim!Omxg)x9W=*&L67#p6`JSeOV z_(k{$+gS;}Wt67}e*!_W18&x~j4amxMgc|CG^A3fnAX2wW<zE^;od@Al4o1@_QhG* zR=Ym8?bx#jY+t*M_{6)?xVkl}@3)&BdBU}Q->&?*v}fDP^Dq7Q!nb|sl>Uvrc-7C2 zd;j)7dg>$jLSaaBP*uk@86XF_TBNX4_eE6QR+H655g6GE5w8BUKQvu(ZXE_@AEPqc zS{(l5-T-YD>2eFlhOT;+Qn570HY;tOt0n6|sU~bqnbK!0=d*4msfzS2^%+Vz;LS8H zD|GwDD25Gpy}%>kqbY#j?r(XO6Un=1KSV8%wdl(ZFt!hXv$O2HAGU>$Qa5(!7Zu@o zK(7~1+r;tCX%c%|Tl~ds6~KD#vax@WxJ9>KgswSIY4H8Mg1L&Sq4=Ls`e~AxS-6#K z#0dJ1=vSlb`yofXH*+gy|J~<Xe%<`b@Q};<+05H(41Q<eCY%+$8}Z=9Yw_W5|3!_f z7m7#OQ3q0jsaS!JXyU6t12Q+xw&!+z7@8xMM~@}XqB)*sqNCDoXz8jHdT0X<sQ}G| zC|&lXd6zD_VB$}1Ea5s09S81$-qd;EyuV_j%hX=g$Mq%R5zpy>>OtZ~XSHU_&d}VR zrsvDptB-g;pToRMfX{NcgNWGgY0HihnD=`wZr>I76|Jm#@b-#Fb?33>b$v_9w`#~6 zQ=;C@$FbiHWoehNCev^}iG4fD`w@MxKdKM%+)^Z#+VS=`V5fHF@r{_nblnWr`pMgW z3-b;r%9#-jqTL3U?Jo4_W)#us_K<bp=ew9igT0O)vxM+*+=bi5!2jKtm8Q|kCfk_R zXr83+`?ynjSK)RJ3mJ8N&K%g?2OsAT@v}2((QMNwvMirjSEmh}`xlr|9Zl~t?fpK1 zzc9VO0EcDx6gVuy-+)zyb<L;4H1s4NFJiC#s$-5`tQ)6v??HC=tTgtaYdN-8xc8#h z(7x+Fee`h2PpNDeBjfD^qLE+pda?oX$2kp#Uw$70sQQGqma<&%!0<j={C&k*6Qg_2 z5*Q&>mXB-`HQJ8a*wftIJ#lJFOTMLha-k(RxoPr*-a>DoB_O~EzdW}gvk?8I^=zA; zt?ipEp{a#+n=5uQkK#u2nGLvDuEG_ml)2Ue0<XNRI+*Jz>w1jg<uwEkO3VgjW*qu` zp<Jz$mkcj0YDOs=w!J$pZx&182U{zK&|)FVEL5QlEHDgzdn=V2rpO-`_`oD8QYO?4 z@tf-@lHp6FnxrE%&}pg023^U9L%LkLJD0j?P}3g!GGglJ0KMhX1iYHpyK|<FX_Lv^ zGtcrX?nM_(bidOdMAw@4F?6kUe}%4j=ox4Kyt9AF>93+|?))b@WIBA3gvDXji~oJs zv@jpew`u;k(@#QI|2hL*{D{lYHHTi0E;{rMbkT?RI{iU(<@KjdcXg;zcSbh{EoSqz zuvmwgdJ0+PFgt9oun=csvBsUni+goc*}I{OX8U3HRkM3%p+^_k_>V&0fcTC<*Zfx( ztaHETUfIlr*sE;4`)k0;*BkR!>bl^XahYt6y6UD>sHT^QTm5f8l+wgSSi=K(QwWVB z;mgeTqSDN&TerV417zt1ETs3z;=c1kR-WWP=)WOvW?ndT<L-RiDSWx}>wu4AJ{INa zpif}_WPp#ud^}3-rB1-?)7uH&7NxCn7C|gD7MuH+7H5MNn=NX21k-@d)t1d{xUeC! zJAUfQU>%CoGwx;(Zad-bOZvv5o0|?R_KvD^uv7k&Z}m&5Phk%6r@=l9t%bJ7&Hl{e z%(ImbRI}#Vl`MCgN&JhEjH)nqJ!YOD?46>pPmIF;Oc3@07j_u;NrC<6G4DZm(9Ifv zeKeUvI&Aw6{hf^4d~PHW$%ZeU8{vPox5!nB2XmzwpzbooOy)Sk(b#e#y2`=tv^Fhm zadE*!)GdS+H}S4%-I$izm8?vf`njQKmC&x4ennaqla?b<8bjDYwl@`yI}-l9ZTbo( zn}nK$GR+RMnr7cJ?=Fx*_OR2gJvz}%IL1Hi9!ycKQojIum5F#d$DEUS4Y$itx2(#a zckk1^7{9HkQ}E>ZLJf=R`9fhI`z-EGMdhT{lDBXge)W@fI)B!7-8>p^;Y89N@)p)M z>{YGFpC){*$#166w?Pl_4gtOjd*MNbkiA(!mN4fJvg7)?r)hwDCYwZBnMSyraOV;J z2k8`QJ08yhzbC-6!P>X-_6LA>4)CeqeFJ<WSmAp2cY?JJ^Y}5ac%&Xbv_A430UiKr z{^ZmHQbrni>>@xr_LRzAb_JN-Wfy~)*(fF-RwL!d|0L|a0pg>2``=*}J+gAxNU?GW zWOj$Wvds$GK^uDN|BLul_-p200g_0iolfJ^qP0+%)<c=Z!*V_X{BGQM_eJpg1AHWS zOn|fW3FXbZ-x91fVu(ZcykSu1{vfdC5%2y8R}Y^f9E_&lX{`PNiYhcpJhPbR6^_?u zU>{=fz(RaxgwF!gn%3#J-`f5Tn6)nd<{Ys0{}#+!mwyWvto^@(I@jgjAqTC?ze5jM z`+r9qwl4n`AF=lT^4;t5ua34@tKE>5SJPaPy0m}<qFp{#HMs9}ScBQ)+LZpJF~rX| z8tXL%beMg94v*M<{sm^ApYP$EeKvm2LCxa3`un+<H5TySsPiKHMX>s|r>oD8@CD#6 zq5AQ^DeBA4-j5|0f{RXOpbM6>HWlCz82Z{TJK@7|e;~ZS!!1v8RqM_puva?bb?1?M z*O*&&x?gwJz?uU?y8kOt`Yr;8>x7HJm!PuvQywnG9FA?5fwihj#G=Veo!QPY?uOAW z<u$ZU#HrmSqu#DmwyUYk9!J<bPI3BlbdCS>(M4nQplj_jgs%B@RqND`W3T$yN!$cj z(QQplb*v-94{U3*>;&h=h%6@TYU4r@u7;yk=n^-=h%9FQN!a5ETl*;D2Xvucgs-CC zo?Vtkg~yg1yL{K=`vSf*wPiZcHSa8P?hbOg_wU_#(mB~zfM%B5hhwfJ+<!w=yDb2} z(||07xk+4U)7n}3-SnONP>-N|r+Ooq!FBJ}e!FlL5~gmGlbcKo?Y7NgD`P6&x_I?- zxf{hS4p?Mrsa&@g%QkbeZMS#<3%a(pg<_>Ih8A_<i2p8{?3kmq>ZsBLkN_QLDjR9$ zCir!^Mz;AN9h;i0ZWkI);(rJH{Tp5VEnZK|G<)CLnj7M-`+`|pW^Djk(9{*%>N6IU z99_L{DcJ*a4Vf9lEq<nW@Nt~VMQ+ft<i#IjNuIe7KRb@%b}-jh(h|5bV5E(^YZUNv zxK(@fC8IKbm2c`ZnQq&L{aw8?3156QnAiQ7`jD8nbS3UIMvQU#Sah|uaZcw}Z<rh! zEns(vwSY+3OtB%ozNl3EDCUKB4bElY1DQkdtNva<S6T+qRR<&P`|;>XH^-=!(H-FC zmh(fyu#@JStM=g}CRgI-`)k}2E?51U5`wF7x&OA(VYWc32&fHC%i-7DnM)_*B4Y08 zuGEHe12+?w#?@P$ey>ZzBQ6b(p^K*f1-g2_FNYVv;z7NFt~~tPx!btMy5GX-9WHWq zw#=2hZ1b7>c0Y!_{2lLfeYDBNC63(F0pcOT9YtQI7+juPEf3YIo|S5X<u+G;>97B; zZAE=VFZJ|ucsj2lK~AnPtWQM@X+d^M&O0r#g`5{)JHR%;IczbSmMH$LH7#%(n6_xs z>M(eLHazmisFQ8*9m%8W^9rY5jjl4yQf6vfx4AO72VHgH?e7E2{sDB&2R}zwyZJ4; z%Kk-kmEo&S&*ZKDjnLIbH+TBm(KU}`(KS}Ipli%*LsvM{(KUxIL{}Ymqbr_4bh(pE zxtJL1#%vK&t*X(fskguektEd_5$6>eGBb%o^PbY;vGx>&M`!e;?zG;OJ3lX&EroV* zAjJ%?6^wB$M=LY$bmiG+=Ehvo+TnJ&6V}e6%D}8%+jrG2n1Y?gFzgtk4CzKbJsC(B zEu8Z=^1MH3eiuq(Fw0l-YQ<V6(>6((tJ?}S^UQ^$>j1(QZKrj#$D-p@ULL>V?D=HY zu+sI@n=0<@hbD2hy!(GR|H-}G|09=l+q#{l8IMik_}*|+KXrGEGlG=*n%s$u%&UF2 z-(>o2KlFJ!5uzn5o6{XmU-+;hb&VQ}C?oIhe#&Hz0RPyP5fhT8M&sPOy%oF0!0qkM zZ4(=@jb@_S$6Zsf*Dl2&TCe0J_JSWsTD7P3HFWh&AKqnAny>U}P6keqe-Z(nZXP5- z;E#R?-CMLYnjeEU25YS8VJ4%jlJKu4ePe_8zUI>F<KKe#cEeu3)sa8-{tEb0ImG+& zYuN|t<YF%&FYSc=LDH)6OZj@^y%N?0&fhTpG)|`Uh#9dQW4$M3tQ%p0_64&cOq!3h zdj;3vH{93oVTwsRTA0D^Lp7_-WHIqA$zuXOo^YE<3*IwTc1{O#U2G$2gYxyHBP`#? z(7@sQGRa8M;jfT?-M3@38kk*@j7_?`8NVl!$jq`NHE-A?AHp{sxL*Ii^bMCJr(MB0 z@|EO6OlIwBj3%z!brnlpsd&8q;`ejia>!?ynSenBpGg+e*!)@Dt|~KrYTp}XyQ@2V zyQa(1m#JGx10x|6K3@~0Ew*99g)QuY`)tS)QfBKlepN=aNBoG5c~!&L8T78f!NWeH zL)KG)6wDh#j7jC0@ryyP`%)18MT4yJnV}@K`6a{;4LxL=XVuU&qdu~;($hTAt2@M} z{%-gEz2uJ_(=}$+y~G0+&28p*_j;6QEYU$poy@l{0wvuhlr_SgXe!Z5^jP}j>%H1z z`+o2!Q25f5*_+nbUjO8i*-f3R(;lLYu4Mr5`!#oz6l?m^n9Oi$#t89wh52vPbr{xm z{~_IPNyofu6TJvQ&#wMLZpcZ2yh?f&6W>w9rM<`*2z8Fkf)<*MsDfcK&n|J&muJ9O z_c`P2p`{bt?3R9+RR3i<!h^-qH2NP>+l9(PmRU6zW>8(a4~ZVIACC@2U#I0ttfcoV zw98J4^9M=_k1>TdgfZU<%GAv`YsJ`uHg0U?@K7kK@{XYfvv+a}1cln(OwqjPnjbVD zNr|UUj?1M^FB?h!<pnS+Mz*MwoHBA>I?VWgkRAS~BT3R%VR=&@=GO@`jN^LnXx<kM zS<j){8&bDoGnkrleh-#Fy!kL+hk0j|mKq=;%ZV-;#zZ~);=fUp97aKYM1=2AABFcr z*=A8Yp)9k3>h{bgG38iHBJ(Dhgp~E9)rn^+rDCk^i)TJrBEO!8Rwykc;`WNYQ)Xx4 zq!`UOq_IeKFWD0*t!bpPDD@Mq-TKQ7nUA85LY;s*8+8ThcGOQ$FQeW@TT+<n;~LA= zb~HX~eAPNq;rt$pV~+OR4DloCUsa(Sm^DT+Q~I$#9Es`&pk&xfsD*SscwM@|PniGr z=3F?L&;MWh=G=x=%Qx5-U32CR=$a>+(ABQn(Y0<m5M6WVA?TW+`klTUU47vb=xX=p zp=-bNW@rC>boqM}UH#)(bkWNHK-U_1+nTlC(dkW2-xFPP@PX(`$KmLry@$~y>vIyi z(s3TT!n?}hZ#(-3(dGY_=<27>qAMM*pliSO9m6)<vFHjXAz9)l6Q>ueTIA;w2cl^b z&|b<f)Da{Y#O2b5m)f;w4qb7T(3R(QJ(<Wn(6gkNJU@3CcIxw&J3k$U%&STs&Gt<# z<%~G|nmiDP1gCw9F7rde)fn;+y2g~BIQ(;TjVr%KSH53DSNU$Z%<`8uLzlk}NA;Ry z`^%X4?$doZ?ld;lr(el8qJf^wGTuE{*V~j%BTkj;`A)wAU2XOo=xVcfp{uR_$mu^t zmwVrajg+qu5no`4U;Wj3c+7H}_i^ZQub<AnSy#-GLmar{n|Igg+-cmlZstMX8#&U% z&2rqR{i%+vn;A&6<`et#u~)m)m`@=ssky}XIBvyWc~jk4d&7B5{6FFRYp#G}DHi&I z;VSRQb(Y<<o~HLT+^QX_Uc)tM?7_!9cErwiYA3E;#!i!T9D-Ygt+rr!yzY^%$cGR6 zc-)Jxr!k{WE^rm@Z*=ZeuXIKGl%}c3YUCr$@6-6vo`cGF5d{1K9+6Q8E)TNo=9^E; zc1PK<L*;DU*#eX+?`B`zs2)u_5<N$>VQAi69(SVi)ea5amn5$~&Qn~R3e(j^2M2pa z^x}|40Q)~|Yd7Lv<Er}VXmuB+^=aJdOozt9dbeSU)BHCaZNpaoSN<id$l(aF2J6zW zFYXkk@@L$ca+qUY<@NdR$Bojc^^DxO_~-KUsk&HFo~PhW@o5Y<?l_lI$TNR}eONc* zM&+$`W#a2G_subU6imXryA>`h<+%e^8bk0(ZZaRUV}s@n(~nH$7>d0vk7IDBJgTgX zI~^Eu3G?yIabaoRGQlLba;0e>a&EN0Z`?RyJgn0*aHIUGA6PeRNI0U^$8`&CRGykk zJ$>h>zNDO<z>V6G+Impm1X;-Ya5Bf(a5U!yZWh8o=LOR=-D7a4ddbG_Bv_9_AKo0? zsU7T4@2;*Z+h_JtKQ;U){vGT6=;=Hj67=uprD?ew_bOx2_;cNfu!T{ZT!9;v;TTk1 z<jEkBhW8q7)s{rR&oz6ATvf(4j?dHB|FC22F4%W+oSi;k9e}-?S-4SrA3(XG+P?#x zxEa8W>SHX*j++VFhDC~d=#V8ZPdX=YpN^j_?spyC&nm~byYZ*;+zn-xYv?|$uVJTo zVRw{0m}6%ke?EH5$L$=yfO%oV#El)j<<e(N4_sTWc*-R|#Q8nK>3Q@t4Aqu9R-x@+ zj(+CNktTcAKUW&@?*i&X2dBf$L#;>*4i9FhvCQMli!FY|Y*X&q?0zGi&_ni9RJ8Wv zG$%8lffTN0C0F-ZU)cqQ(NG`kO5dHY+Hz~qiAZN+x6w#cP+s|CZTb50TWl{t>(aZ~ z%N9Gq$R6H@=60%Vv9whClWg|)a7F+Y$H0hABAIIg%Og6oYmd;aEW9{&H*HSsI?i0A zHjbP8N*q2IyX(61G`v&;*DEpG)Lor5I8^OvGTW%Ed!HqrN0Q$Wl-mAiNfe(jNMe<f zHe=P6z2Bpp-)XhwDoj^RLAkF~adkEBK;S-TVo^h|ja;X_Y*SujPU8^&g`co{v=^hR zt$r0<W8F8=HRj)kuKfMfeg8eWXotU`t3Pk>N!wpGLzn+89NyaL-w+|lPuel4a2~bt z^LAR|A{pJ!=4Op>21#co>)v2DbJWie7MT+%ep=vDXW12$9oI$bBp)<@J0S8rFlqo! zhTqqJ8`X`f;Yh2%rtwm-+u9GvKF!&kWsx(GN&=4b(qLxNUrlT+boL^IT=G=mE`Tu3 zDn}tK@#hj`0D*M)O%Ger3Cx^A9f`g>$JN!B&{fx0x$ifls}0<Xt~!6jeg7r8Xt@`h z{tx$kljE%W?VP?Vx@e1bbj`zE=%PoKqN|Oah_3j~L|0q7#OXJnE8e@&<?b<ue}^vG z_(gQ3`!%O;dc5@?wzZS77i(@hW8bUTiv|zvPXe0)c0;n<%`gHw3E^VPKj>c5+@Ut8 zyWD{7N15$TuxW|=%^1FmE+2=k`P%m%-=AjjU1?f?uCn$0%J(PVAHy`Ci955BvbTx4 z+0yoOv$FJGI91Y#(2IjsF2jLjHD;DvE5FdIFJz6K@1*r-?kA0^hbNu>BD(teUtHS% zjjnop>!)n}Y>Tcr_Fd@mw+FiDqA)Lqf&Ew!eqYG<oS~t+5NTj?Ff2$;ELOYhHWt!K zVmW|^>=Lz0!>ql8aljtJ>(WXH@&bOc=oKbBdjj8_m3I6<Z8mrD9GB6Zutkx(LK7iI zD_B+Uml(NDlS?`!Ut{DS{ksDq1eYU-kNABtyJxm_(nmgR*AF)_@Ts0vUMhoCcxX8V z_v$OFvTw!iY8PhR*d*c)y9cpT9mHk+3%)Dvu#5-6tB7anHYeJ2XsS?KS-`>W34Bw3 z3&T*HY(e0vjyPcqQcJX=OCh~<2w`ZA?Z=EGz)J5Dr!OBRj)SpZMLH+kihGrp(z#Gn zBjzXgrtx94^d8OkF#Q7&J{7!*xF(MM%<I-o>#WzeAK&ln&C?hDMklk)WjnIHC%8J= zO}v?#X+O#S7vY3I-It-dmHH;;Zv|NA9K!s5JHnF32<>l+@OL6Cd5zHh9TEO+gzt>- zT@k)J!uLe@dlCMAgzt^;4<dXYc>a=1M*Yv1(GM}R9;o{!8J5t^k0Sg)geBt=x_>aj z4}txjSLp7|+Vcv-d^n2xjrP1kzpKCJ_5a2O*GEpN-`|3Ia?c_sTUiogbuuEsWq$)4 z(o97i#5v|5ygj;@4DPHzqpMgDGBG!`RQ;7Krn_<yt;kI&5-6Q-q-4!kPNws}YM9hc z+*Qo!MDn%UK766e)x5Nx><v5H%TH(yGgCVhArhIo&&5q<#+eD*O!35CDZ>(~aBjE; zg{i615PDe&!Xghl+ASPP+v;4|!Z@<tsrG#4XEFDp@VC;PU*3(zOwo16Fu4ANwy2-9 zD^Vf7I>J{)STtei{?8G9j6g&C8{WV^b}wE)=s&g>A1SoIKEfMC@!uHP-xT2~5xyBb zlq*({x)GJY)iA>nml<uby3Y4RoPC--r+y>M^}UG~@j4{gIctpB+uelSByf+B4B(c+ z65U4EQR$&21U8M#LUvK-%*H8Ms7u46^nNeFuV}g+!;;`0cCL)6_H!)~x0@p?12dys z@@~6ut963MMd#P!PdThK=F2@?+*qo4yUnl@-8`M$=}K`3Qf{<fYc{nr-#gvX(hs1E zPI(+%^k?dKrZ&G3JSz5Z;Df$hGuMA@@;U2oOLWl<y@f*FoDx8=VI75j4LihL^nvt@ zZsalIshMfSHIumVD3#5s<b1ume&^0EH$?iz_h6)#hz^yJmd_!vz@_I54b_5%5&S<u zoD^r~L3GW9k2-w?x@fW|(Y022#_2DiYfX~M0S=k75R8{gxM5I3PW>_Ox|Y29ry?Z0 z=&oBZL3f#;Z8_yW-;h~A8g@o$j7i0cZR@0pGTzNZ?Ds_3a`y61c0i`_)=4k@l)mig zsfI7q(^FzZO4LNO<O<w*y8UOEZC~l)()1kCY1P8xeB-}SKgTf4z-`Y_*r(4z|4(4w zk1US9X%9ek@C(d34)P?ru<GZR`sVMg@8wD*b%@|#^=+hA?ewW2oL^xM)ADPF6&}Wn z<f0U>;*k0c=5?2g;u@JA-CeovA%zlFOA9^78p2_7@>PeP(U3WUH2;c(k3s+6C0`}R z&7xZG6vKh;9^sjVrzv}lPpXIi#B7$5n8W({E#LiheBt-s@jb+%Cqw*9gnu95Gb8*g z7%B<b7*=caXNZTa<z#0~<yN65xI5I}I9t<ka1IAmw>!(eVOQ7X-!$nl_818NAj-tc zk9quc1}Ke54YY{^(05>Sc!vOw0joE6mdkVDr5jpFb6!|R&ynY_4xR_UfEtTC_4Pks z{v*oQ(TkY>gqnq&>g*-Ve-7;bg8AhD{}r>&6?p%zV*Xoz|Bg9KkIod3*kUjB;0RZ7 zJ94~ZV4hKYeJU0Kd2<Gf_f5LEkFdA6JQd_J18G-}<NL>FQT=>y$=O!k!Osg<fwd;T z1zlx*7rOHOeRRza520&beGFaW&@a*D?pbt|-%IG4(=z8+{WbD87A3oXq9^pW7%_bN z7vFr@{u^^xHX0B^th1?#Q%Z4)29eU<l~fj`{Yk}jFKy%@)Z?iCM7@IA>`eCAP!my$ zP$ks5w_(3qu!=K~N0y7a;Bvcj?ft29NE_M6SYO-<Q5+b^B2~y0z3eS#xvOhvi23T6 zqZbr=mdw=sFwkbYWvIj%Ng9Jcu1aT3HjCQclFb^YZCOkmI@*;-EI;#g;uMYdJ9L%T z{8C|lMLlEng2cHAP(Bn~X2bJrzn_AxI_Rv7{6FxF36I%y)jegB86kZY(kI@L_9Iu` zm(ksw|8+HQsg5SsFuI0IJcCLN=l#WTTYZuHC`p(21nO&CrG?xC{4%C`_QOmgSf94P z0cu0kMyQP=yb0LT5u0Kbt$ZwDsjt2T^X90rnAI2Fidkn>Zguu=!@MP`+1WQ>etUqo z!n`#~^3(Fa4d!i8qQ!*Yf%%;%?|(bYVf@=i_+1fxH~2j$pZ@n^ejjQ9<F~?pKjtvJ zEO-Z07CYr{N6exBogzF2yff+v=YE&S{sZ8#s3GhX->#T<Ln(g>e|OA#pnUooBl~gS zCY1cjeKY3JeG52De`|!tgD0STd=oM2UXyzXOJPpN9HwUqILz-<a2sltbN@lid!n@F zl>fajhw<+n;eEjSqWYctcFg;sX1V&FhIu;5*Y6C>VR~kQ_eb69{LjKXJHQ8EJ`m;8 zHwSZ=-?`v<C||zwF^B105V`*lcp+*#m%a|nohYCFMVQ0zbtlZhD4+gAFpEd5m6Mo1 zGMfeMm+hSOR&>d7>1Q}yGB~@j=$h|{I-`l1E-Ln6Vt*j^G+Rwo^>fK;EP>p8oK04W z8d{97v|hgsH5L{AR^xn`lWXG!N*$HTI%>k6u;(b|u$6kx+XGfw<Nt>E8i}OgLOaK+ zK71Nl$gpIP7~@$u|Bqgkt^wYTrA@||T$z3->DK=FUZ~wrA66ysQ(Ya3`6H;qQ1f+F zp^+exLD%wX{4bV=tH>I37tAg2ye(n`%U&Z)g#~I9j}L!!m-;f(n5mco<vBSHt?8wS zKz5<|D-EU}I=)I^lg;&T2!@G%aG2vxL%7Ql&ss0Us<phm-Fbx9wsHeay2ia}+_<J; z9@ZYxs*?FeyJyuV6Q5Sp=Mv|UM5%h#{Jpj-w>0WfPg9vPCGc%7YA|>1Yk#s8rE<`( zz0xCUL)W|{*Rw9it<tcz@uz2V^yY_h#yyvWIU9W(%nZ$`9zOxmDttKYKx_WBjWf;j z8x?nDnTlPh+Vo<3Z@un#P<j8q!9~wxzCyZ+q$i8o36=8EQ@+U9OKkmNZGNM&kKMqv zFK*wBtEF^2$+3+p@56WT0`*h>RGoxaV{9G95gc{12I}peozLk_bhM?cXDT}4!RavW zyXF)Nd!PQX^+Mk8km%im#o<9+wn2aE%MVpJD#)9@9K*CPM@r_xzNXUB?4OgT5p8^_ zmAzd|IyWUfn%lQVt^AfLq8DaKzw*PR`xA!BKxg=z$OnhD*e-@DujIKLuCPQ*0dpi# zC+78#Wd|QE|9%-_9of2f>dz#+Ea9yo$1e$4Tu04&Hl>r3-2RbpcTnEk+EaWln;Hr> zH_&bvd?q>Rv#UE@X8o+o+weVvu_N);uXSf|*p0g^Et?ls#3&m!!BTg@Xe-@m(L#3? zyCnXdPrtx+bsiS*UrCS3S26$x7DmLvbLG&^7tSu2ha*?6=iR?*?-Q*K_w*oI>&x4s zdT+`5pk4UcnYhfZO%dS&9p^L4basBsIpeez*hDuKQ6JQ#r2eiTEUj%g2)pE?6`e(M zNib4mz<Q5imNUP0esevD+~s;k`f@`_29^|u_6OGcPMbg`d%2C*x0_@=Ptpx1-X&vt z!n3z!7bc)c7;1Ya>ptdb$<gvv#(f_CcEz7P*EU<*ZR$R$*iOCAq}(6HpXe$3q-|18 z$z{!cD2Z!%!z=9hbLT^%4C!S8D`zXSC+=0h@SsIa*!Rj-+Hr89QNf|)R(;YZB=vj} zVU8nA`^E!oA$o@k0jUqD*beTOtoIxib>@EjtISsWJ@eJPQhVi6v<1?VlsfOWT<Q7< z(jddWo^7hhz1VZZQA0~SXFiEv(Wa}+s}09R>Wd4$75-FSnj#L?W&F$uka2<0?%KKw z%p@We*m+rNwPb{lolTv%29we<8*Zs=DsbhJFpNi+vT%Mm^eWp9*YMdmw@h&RIeMn2 zQqUdlONd!FRcXL7dWStD#Z;+%W^+r)!g84hN_0f~AbWI{sga#8b9;#Cx^-8DP+GdV zfX%V^T9N;en@(KGdO1#4qG|KK@oGDE$M;q_f4bJn`boP}=6U>xR#~H4t9(KXuhj-Q z(Kk8hhP|$_XZq61s+<RRiIw${4x%O8Yd;I3q-3wDuCDW4RxU<&OO`9Dpz%FLoT5wO zyQqBD+*MU^QZw6KoA^s_rgEOrd#kLsv}WLG<4<G!|Jtjoe8D7=Y_4dMA*z~b`I@C= zlC$cwMtc!6xydGPj`VA3=E7zWoYmR6pkr0T_h$)TbG-H%nO=>YyB|h<r>OUvwy_^L zze(C=YYC<cQG5vV><vBIA9l^fH|fo<vvtQBmKV!eBQqQt4uDNJx7@Q)#HD^!zez<J zMKg<DmeRgb4jg{#j&M(e^AXk^IidgF2=_&}A8ZOp&k#7-Pm-6_BU>=a>1O51x^sL7 zaz~j5<arjPweHG;%!XfY$b5vni@&cu2#+;~X+Ol{sS(y%Suzf+!T6i5zb+@d@F!`Z zs+ChN<PETcy+1o@AKIQ~r8(;M394Dzh#9$jTiGMaIW}ErXe1!A^Sh74029N}x*SR= zeL&j|Y(q(;gZ%<dqsWT{6<AT_vk1*r+p@nUjU^JfNA^vL*F{M1gDjVbkmlFoqqdjU zxrmALi0d0Nl51Gqn3LQRXq4e&jy9rL{v5H9=R&Mi!V`IasX)+KM(I(c<A58ieDhK& zv<W-_)=xU!A=8ge6U~&Xv-3qx28eo{m8<r9+9FslR-wU-beCI`AXf&*gJm2NuGMs} zT&qS-L-ewmtm!a;lQq+_#WFedFhSkHiXk>aU`yuB;x47P8HTI`M)aK_#!~1w(2BW( z&0y&%y=@k)Rf+%9svU0SfMc_8(YhRSNaNZS6?^;D8VTnHAFcW{Bz5!bpI^g=%k`Pg z&PXM-ivvJ&mxP7!E~)%Z$t$taGpi>?s_?{A7@f{3*%cmja3gggey??4TfG*3{(JTt zmLJ+tznXJPJ=z@h^6#_i`xW<#NgmI!3s$wjix+63z|vJ*p0L$UdeOxbS>ocVpo=GQ zl>7d1bnWS#hpsXAOHRKCUGh8>e{M~Vmnl`MSf3YPogRm4#eHwGX_<wtxQz@0!^iMI zEpr&(l<pk5(vdbZA5zG?Vc+9M>+U4nzZLgs<MQtPY7g0F+^7tqX5}4bR#kSstUTAo zm#Hs1!=NGD3uzZB)A!tL^N{dmMrGbW_u)?MU^=?eH3waJPB|!kmCWqT_xs4J%4;d^ z%zmuB(sWJ{`ARqdm7Mvbeyl;(fDX^gHA1W0BIH;fYg)aY143Duslem?3W#_V%N4^d zS?x6<c^GqxEu&r0wg0gPy6SHVy7mox1Z%?Qsd#CI9>>cu!_TOUousap6QAn9m+i-0 zI!;Dc8J~r&GCvO;R&eGH%3kgB60mr(_ki{N8nEi{8|dOq-s$uisuwO0U@`A2h6`A= z2zQ#Py{cKu<``kjfW)3aF*loO8m*HJC#K6|zG=(Jk1cLA(ye0}k~{2dE<s<oP{jXU z+M?RhPHwCkuJCm7>^$#`(w2BQM$FLV(&qBI%Is3lz;M2BRB=d_p5zuS!1b^01!Qw2 z2iDMTdJn8~DQ5Eq7`k}|Ot^n|knxopKfO${O&9rJJ~9hIW7d$O0mN%^)WYm<+45h2 zuJY@&OVLHzg)o~CS@%U!q})o^VVYlu51-`pC3Sf=VW_U|aAifQvW-#7-^h2>**DSE z)=r}z34aCM)S1)obl)F97tOV*vmAdR9Gx2}GSJGu;uN13dRI~w40RC6*<7}>pA_e_ z=BO9RHxC?2FqWqhnYQ7*=%8w@S6dsN{YJy!eH;zo{50<`!Mv_}4xF1M9rndI?JIoj z+xA_Sjfp_C;{b6e4^lewp?rBP88K>0d@^%H#-Ec3(>RFx5SJocj_^=~KN{gmgsTy* zML6~!yN~0G(>ol6_Y&pcmnLCZXkD@tx2kigWtc<z<=_#N#xa%OQIY-8VD)jG84LY= zEb@0u<nKQsEIFpo|HmWyV<Y^D2!Ard$3^&f;VSR7*@+}`0+=X``V{6*qkJAEzvf1= zt^rL%xC_&EqQXM?e)1X2Ck6gbcJ{u#odR~0sm4o2igLA!E!Tb#y*eUc&Nd(g->cmZ z281rrbH;^8;6!j2YO>4E%SV03jxnEb`ibZo+rNM=D*GJ9NTu&$u=4dabdBj@x<Bi% zPp9MnQyRx4bS7&sSYJccF#n%be)<{7d}$`Tt8*cbp+puS_k|lD?x~nX!;tR^Ja`i@ zcfmmj<m<}yG~9*$PFFn1xev=h4(&gOz2hj?`O|rybzj$-LkX<txyo<ixMs7j3~JKD zPz*Rv+-~nU)LK^ig??^#Gjrziq|LXdFGTq|1AJy+f0pc1Va2+<oQ<7?E5dxA!#ADb z3csDJFi^hC&x`OEBYZyi0+dhVmoSS8?HY7@h*8@(i!x33M1uq23AdW1YHzWR%@a`q zNk<#)0g7p?qIqu9GMSk&AmEl33(M5@S2~SDatZ^%ixgTA%WraRt7JUon>sn|yY`-6 z&10ey>f+`yfz^wkwp{bci-fg1VW<zyjKeaCYHKr-pgn-FT0yf1o*M{GJsfzal^xuJ z@ReRVgq3;Kbn1^prN_7+es$^;+Di=X4l`14tGwaoCvRh@d{}xWcf+i7b>SlWaIIOO z>cXmoAjr!byT=t}OLZuQxjP+gGugpKe%wZ>5o#KO?i@l!=It)K#@`KHd1yu#9WoJJ zG$R2bsL7_a3tY9OfGIG|zdm-CDqE&e<ct>;PHxyWX?2<eCsyS<sf<y>HtEMJ>0f04 zVeWGIBUx<o#B}`{+NHIgKIkE@cKgNE$Uu?u888>-9CWuGs}Dz4*>pR-!`&aRhulu& zoBD1pYj@<}F6k^(wl$ZnYQ%(Q&3uJEsvlj^jPbtkqC?i>?;tGofs1hO=P1!~IWZ`W zPWI_{7h~_o3(-ilPEL?#7cVr+*0wf#MakG*c|=$&uk2z5qQ#cjt4qrzgk!e;U7SA5 zOZl!eczhY=Fb`i{3oO1yAH?P2#X2umY-vTn@5X!Vy5%;fulv}~jGQktwv2<N*<y$O zygz(F9#;_0;VMTea}j!&r^}-}>5N=xuXS07ufV;@%CN~wl9v;|XY=Ia`tm4ok@dQ; zu8iUa*4eA=g>kEGgjjPyh}C~HnSIykx8K_S*5w7a17@xL3vP1`SeF;v7R+1w7u*&u zSeF;v4(eQ&7u*gxXzgEcJM@rsdBN?7!`A)<x5Y=S%L{J#?sXq1R_hJ7_3o>G!|heZ zXZ^;Zj>S&nxm{2j=}Jg^arn8Nqpx6|09ZUv@4`Vro9EpZ|5v0M-dX)S?l+Sz&1sT* zwtNFE@!3Z*+yG8J_2mY#N-hkE!J)S79zV4E&N>v~^Vi8YjX`sBLtJA7|DdhS-brHE z1#Y(KE+8;k$QldQkn5hgQO9n>p%7hn25IUdO%E_BY0q0Xvu3k!In2A%_QWr9Ad<k$ zTld@fdNXwK@9OADM*~iCci)Jtcw^$#IVK@<2(y_m^Qe_*RTs9_Of$^gJF68sbr?LR zMYvZI$9VMjyiOd!-AV4Uv(<{r9l}?Ma`xdzoEbtt`E}yyFoczn&5`8AYDFSPId<6n zNma#mG;wL(+sDOq%#P+^b*M>hgc}(6$kBVW9lqFi6&|FMFbf+#wH!nY@gk0}3?blt zt{j5{g{VQLX{`?Ft=#XU9`rZTss6JsmAeZ%bh|r9ZX|!rcCkO(on^15S{p4<>vrt@ z)CcUD_uJ`&lC3Z=p`rV8zOP~*{*tn4Ytu{ISvL@MLviO-&({*p*HH2$n(jKxUq@Z9 zZ$GwSu_a1xuG&}N5eTPanXQn~a)%r$2Yf0cW^HYV*l|599}87ps%xCo+cG)d+S=Wn zYnj;G+|sKxV7}0$w}%X22DxNqz3uyi1H`X>t@~Iepx;EA^wZdSH7dkcM);}--w@&J zBdqophIdnhZ;Y_+ISAd~Oxi;HRAhfkWUn(jq5J#6#~j^TSOy);5<;h;A%!8)E0vu1 z<llMF-Y51=!U^gBm3`Rtz>B!o_!h<?IyS_jTSF|mRs+tO?5E8t3~)YR4pT?ZNC#^k zb1od_lG(>0{9_-oYoOzuej>VPR_nuaSc+U#x(cCKx3R+3b$^-nP_<d#Q!{e3+9fIz zdCiC_(3o!`Y_gcdc?)=R@LewM@1u)f_7J-AzQXA~O}_+-UVhHGdl_A6UDGnLd7GUi zuRgD=#D+XqfP1tbwmiLE>_Rh?a&-HvV!rTpi;;-TWPXTyrTt-a%`q#SZoR{&lTcnN zZfG}baJS_n*8R%S_%8!SN<#H!cI5E0FMc#8Oh;Eah&2dpkU0#jG{C)+)U`yY{rOwC z3^|0F?Ts1vE;_!EO|QZTwc8C{W{;Z@LaTYUOqQ^z;{|g<xvI;EBWvPJPX78mK^I4L z)w^acc;C95*iRUIW}`=K_yktyD_2H_6S;8h5U(uf^+DW=wlF*2UPMu|kN8ySev+Bp zh(2WJfb5-Y>^!Zm=y2u|;@d%GZ1$1T@)DcKNoXbG#ACSCT;T5QiLd_fY?jsD_JkZf zxX`_jy_gYm4;|utx-tkJO=aX@F}Md9;^81Cdu7_6Q^z+6khF&}NW?PPU|U03P%E7q zT<zh6Lj$SZ^e&K5Bt?A-aCZ+mZlvvqt~sP<1U7lh%HTQ~8^##wwFXt3XRfoavt>m+ z=6L$V$Y2;YPTn%QICC&AJ6m!?5YjU{I^TkZ_mM2OlR)cBgp4CgS<+abCqssc?~<*K za0+(NrX**bR_a23ixCSlfm*jln5mTIh9XC>Qxw&rPCSq@Xe#JimjcBg^INRPahW~I zpXkLy(7%no?(=qUwT5WegmIJ2bY00U^GAL&V}9C@Ig~gKW5Ce9v&Y|NAQ=O$6`IPq zD!1J9l$MR_9~f-R4>z~8_U+Zy-8+6{;x1himQI~CdCHQV_gOw|dV9yr+562nazW=& z3+K(<ea`%k&f5RrMF;Ki;R6pi^pFpIaM!W_@sY#F?C^oz_RXxf{stRvwDBgJZuXYV z-@3)ywrqI&R$Fhg?K|GN-S+Q#_j}&^zV~N$+-c9f4?AM<(H}eJ<HvsDlgAx@!lyoc z;%81e`IOI|dfMrq`}`NqIP<Kt&pG$JFP?wFm%e=AS1!8vl1nf9>g88ldDYd|T>G`_ zzJC1;H-6)$n{WB%x4wPrZQr^5j_=-i*WLGg@B8=u;JzQ;|Dy+f{NO_mKl12L9{cHv zpFRHbCw}qdFQ59=uYdFOfByD&&;0(`=bnGz4}W~|PcQxXFE9V~l~@1v_kX<h&wu^< zzoP8bP(?>yxWdZjeUC{{W$p2|z@i0KJ|C|88;x(eHiJ~)M|%mXKOctpe%SzvP7LjT z3YLtYcmE)?MCe|3`-%7D?Y{>O-S<2D(bBlrUfE{v?=ys<`%*proWn6)>+LVVen-^G z;kM`k%aXaQB)iKl-o&>lZ+0D-IH;iMk2hovAuV~7=2MURFiVzF^(6X(u9EpS=37xY z$|aZOmRsEbnk^0@8z$P&F!Sm5wc!fKITMPUyR^LkAP=sEwB2olwYK~7!8t_3V^&*x z&(9k&2a?Y55LDtNe24IrZYlAd4exlkw4}rnR$04Yuz2wvsW9ee@xLW*&qr6Dv9rqz zwj*eg)(Z{NySoK<y8FTh>G|Y~`SuicY7?sp%ek$3cN;!odFf&K=sdF4RIzL=D-`!` zy0xk2aHO_x9-Cw3<&cS4Yb6T)XwqIFtyfaUl5^j$SevQsm?`$onvB*5z8>!I`Jo)c z@89M7Xl;D0SEkx{vKOPNX=KL!!p;HTA$?jWd;Ab)%|jkPidp<Jcl^ZUBd2$qEB1=p zus_^Mnw_1^X?L+^nic-TyxoO6{rq}((<kfK!(p9^o(r-1V2J-5;de$@cj<-hcZhH{ z!m;}uBl{T3J*zoSCFq)8rh8f%-ybAj8q*<k_$&b(x9;P+#@R4kvm^ZZ2;WVah3*fE z?9YjCKElNaFN?71ISl^?5mq}1?SCBMd!qC`8`=LR!i^FBUW8wZ@NE&k6<o&`ln|Si z1r+wG7=nhqN9#ZQDSH;|IKtQ}4kzI+nnhAog1tuW4tL()7o0!GjPqOLW&@InPTXBR zTKMf+in&X^gD}5|Sz~8io|sa4w0=Pdo!$7hwrO_drZlYy(~!%lO)%>C2mZ?PKmSNv zTAL=fi(}?@toh5Ix^%ec6SpQ0rfAkA8Oh$by;n~!d9y|)J>u)Ay(&GU#k-c-w#UnY z$oBg+_bm~}kc*4^{)`BfB%Z}T&>?NuBfdUY5_RY<bEd`@=1Q)Zb&wC_KzJZ+AYp$0 zaCu#F;<7O7WbaZ<IOM;ItSD5tpPuw@K-y16-wgc>bn#BUjIMF<7Ie`px1o#wbT92( zJb-(^ntLB}-v?N?tE`^{YhHiW>3>DnxU|7<tSr;k=)zfto6+UZ&+Dml!7+8r;G?y% z&eb36FI3;uIjq=i+RXE$V<G9#{b#$OKfu`Id80qZ9O4Hf{7{4+j_@N9el)^AiST0) z7L6Uozaqjvi}2$S{&|F-i105W{A7fG8R4fQ{HqB6I>Nt+@Y50g&j|lE!oQ2~GZFrM zgrAM@a}j<%!Y@Sl4-x(&xUS8u#@#oz^Cc{xCO!Y&mBInTICZP%1K@)%TrdsNIk<^| zHu$~Y+P?N9bkTN+RIwH6C~}X%z@M=rd6}2d)sNSdXX)Y=b8=0yXhv}Ee{~NM=rV;a zI6{aE+hI5}?RO2Cd8BC$eQJ)<PZyS4nv<##=ST`EBD|O_OD_WDU6j4s%;kioap?wh zmBq~t--)jA<^gn#OFuyuuh+}tc;4l9&scl6N9H6K4Y!(94IzugSq<DM>^7(G?euy- zlG{>kN+DZD;m^X4{QU{@OQ`VMpTU1YRn4VE{(bjcDTlawv8T!fc`%2vjPFa_yFqJO z3rSFB7|Z;CH1A1T%BbB@9xsmYsSX?2v3b;jF=*GwenC(kzSYps%cQ+7No%#m#_mvI zc_R~}E>F%G7LwiZ(WQb-L*?>-Qh(U*8!}oGA3>a2FN8lG(B!D2m|jeZJ=_6Iv9WSw zEv$#6k=*y>a=y5f%Z|8>r#E|4p`vo|;YwD$HNfl9VMI&+SLd%MH^h3KtuXSq=d<?C zod2M)Hoqxx`}-MnfNr$coam-Rd<*gR6W?|;RIM*OUO^dzShB3zbL$@N?WIhsyppb? zl>Ir5VHENoM1ZZNyTvTi(G6GC>@stOqu-P@^<o-!8c!SHYTozp>dv%DVAnt4W%w8+ zDOW3(Eps$+-^CarI;82N=Jx7+y7%HP=jZGiPrCYiVdQ{iA3o%O{_aEO7UvJt@^hvg zP&@RHh2`$n4;AMZjk$kzaal2UF!;zB)!BnXM|HPO9O>B~_r=*GbB=5;_I_xuy*7Nl z!SrdDHd3a`TPm)D!n0tkJ&gE1kJ<y}HYP-vSu!i(erGa&C7)T!T(r|Gm|sP0N?wHj zhWYO(jb9o+{((7k{~Gw8s4>p|Uzig*ss1sRNzahx?Qr*R+$d~?w>1iuvlBTqTeq}A zPO*{7P^dDP1KQdQ1LyS|*vZFCHj2;vmcL-@f=}kBzUA|^KIRQj>%!C85dZp7beWAX zznMI(7fE}_)7qHuRen->b7YeMi^sKTfH%YZ7L+gZKI}J-u<FEz_g3t-i0t16_GPst z<^~jAOkQ=jH3Qyi%W}Rw3R}BxLu{SuZzDs5CR&G(Lq$GZTa3n1N0o+|+Z;3^OI3kt zl}FL_B*Q?XID*R>+2u1bz`23Z?fco4U`8L+uiMWZ)y}>=5m{;dR4p`)9wxUvG`b`Q zsdW8z6@I*}O^JLfQ@Md!V|8hd)@~%@D8py%$uVjByjx)RReSQK#(K--rVEu6eA-5q zbflZB^|(LIee&h)u`loho7<-o<RrH}Hud2_RgVdB2Y%xaPiXXvtm1QHrJ%KEqwYBH zPDJtaa2%PN#Y#1Z#RAQNx!D|*w_CP|aB*1%Z+`0JwXSq8_BNXL8>PDg1edJ23f z=^jCEYm&&v;ZnUj(R_(lEsV9CRmrIOTy)IXdUj+;H^S%49;3*G<T={(OHw;S!`<Y) z5w=((HwsrH80Ouii-V<5niZp=yOIMkBy#?YEzU-B)QzHT<h)>24|CNT)fk7kVJ7^> zHaTohlFw~t;dfF}|A9o;${c8~|0-fvp3SW_^hO$(s)Hf7*i&mvmI#gbGIfkFpWRkA zR%D{lHzb|uR`V|*X5Lq!&pEA;;*jS8g<y8>bueILX)#B=a+tht*|KGIg}dCeakW~t zjz)J}YI$S6RBc4Yzqi1#1m6v)unN>->S#F~PZ>pufLzUA&^delypH{6bS{|R(Yatz z=kytKW^~S&HKToc=fd`BGp5a-H*dzY&IRqA(`Gdz3e?=%Jid8C^Tg&!&6As_G*4}5 zZfR+0Z5iJ(p=Dyrq?XAoQ(C6BHn+C4wziIMozOb5byDl()+w!1$2X5}8Q(g7{P+pu zCyt*qe)9M!<EKt&p3pL(b;9@w6DCZYFloZ%2~#Fao!C6FWn$~Z@e?OZoH%jP#K{w< zOq@EYc~Z-y)=A?hO_(%s(xgd~Crz0&b#n9MmdUM?$4{OxdE(?rlP6D}GI{Eh<|!>x zTBnSkGGWTZDU+s5o-$?1)TtzKD$!3R=&5*{$|rl>Lb?0MaGc+Yao9|y>poGXS0YrK z;^zZ0=l;dMA20%OG=@22-J>H4w=UiEWqar4&4ex5?aiW-TgJ5@j&HY+wJ>N>+b{K* z1x%heyNT<aFonc-59j@@Dbo;d^9J~h+{gAYUY+o#n@evj-R0+ay<;$YXz7HoJ#0%_ z`8Fy1_71*vBJ8;C<%$#wN82XUU)hqm^{@5s4Cnx$VgH(InF{$8@Vu1f1!dh1Yg%h( zWkjM##=L}Om7zt*j-f@~NqRl~ekdMi^4*;&=C#{WA-h<93!E!yY&0Z1;!fPHG7P<m zID}RWT0JoQ;m?P2Dq)I`=<(i!yEE9HgOPx8uS6Ety@*VJOf91y0nGgJ6?+D-jkvXz zP(68?Y&+7pJu3Y6F7UgfZ|?!WH~RKI@cW~0S?~_gw;jPdq2_P{5AuI1v7R@&%lF<_ z?Ond>UO2kswyUQwFn~B_Yjf0$GOrQO;grey83)7@KBCETkDJDR<cOxjciVOBK5gFk zM*6P%jL|iNET*^*g?FNQB`{?~w9O)mfnep07Jq$o=6ip$vRJ;3%*G+NxNwzEr7}Du zA)B#A7zRn19ILjzUE!fQKb@o-n3-E-rqoOY<3LNHwk-RSf46UVs(!VGQlI!RjovZT zjdPCnCShrxtO=EbMIbf85PvH4!%?~HGRQO}|4lZ1T2z+Wmx<jPX&&n|iEA<L#-k9f zqa(p<(-jJ{rziFgW2ZWCHl0l1&M2l15=fn}O?0;d49P-X`vpr2x}X)FRuaZ9@h={L ztyR?zeHHA}`*qCXlURHEm+JzChB!3n-Q0}5cq`U+2HiZhyWROOR`(;|!VLeqsf%eI z1l2+C{mT$IOKR?;5BGccZ9!Q(xDY|O+D{Y@g|aD@(7m6tFe|<O>K!Ya3_A;g((H4& zYj-?0H}9B0Wb3Znp$87wYhn#6w-X`~ioQ}qn9s*^v5Utzm_6MVZoBs4(zIOZ+-Tw8 z9;?-{NnOspXyF_yNofv6;?9SAEM|>~Rh`jfX!qZb<J&I!ZuWALW1ES;Pdk4k@x$fe z&f)ID!d&Ih;!vl1)82GEb591lkLE_9`uTJ$<Ik=rh*E|iTp)npnI1k3uMx-FP+qQ0 zM_ah~&2w*D>rL~r1^r0-V+a<`C@pPkGsI-{exJK}BODA0hUrpE!`X>&wjvy#j#jYJ z;qgSU_OJYJaZYz<XM0PFO-I))=JqBF4yz+eqY)rV5_}DN7cN=n#<)Uv7jkrMZOP|g zsB)?Eaksm)-JAJAW>F%DlhxgKhQB*pWrRYe@Wg*vdAwCctV?q03qk9WA`IEIFU=(` z-HEZtiP)H#dUlDLVz5ch@TBE(ohv6lvXZZ)%=9j($}}E_%(0-Q3|YEZ8GE142b}wM z&%K_el`UzeybkD?KhL{+1b3Q4U7T%A43=m7+w$oA)Un%cyERE^9K9SnagT06$LmUZ z;HQq~hf{NQ<W=WS+cL~7eFHp(IiS75q4boK&yG*yMvV1J<8HL~-BEF#V0~*WMLQ^5 zuX)hVT<Oh5q;rnvo(v6nV_2-Sr^A#k)@DyP+;v*TD(AVjDHEJ6mwHz?8(-*dYhwx| zt$sf!q(dqc*dC<65v8)zJg48~j38ss??=~I_%yogA3fr|nddS4@4h@_w;E}iBzKzs z^qaok=y5#tI&mCx^mKQvfaF<48#40yOYq=VFe^*UP4cZ~*{=EdO5)KtpPmKUJ)4|w z`ENc8w9)!+H)nzFgBH?QobW&S9{y5h@XUn75%o*1B-Wp4qP{N2gZPHcm|IZl1EM`z zF^`Y%1hA(~CSsn1I)}=T|H+t<-mkcm{Sp#{Ytv&cbb_zo?@N-jHkT@iZhgD)w-Y+s z5SeZ|3}lqjRi(lI|HkFI<ZG78-+Xk<4Tqp>9a}&btu}<NGC$VYe+FGV^Yh*JtI;(+ ze#hYl&{YS&b^5>1<$f+aG%1m09cFH>9#rT-#MXlB-i9V{--3(7_m-#R(o5^bhm+kq z+3j^<`75Qe)?2-EC+MEtd;jSR7BVcW6RqMJd-er3db?rYzXM(M|6X*J&o1a{f4T(m z&3~JKb*78A1D)=ZImE?x7`oEYgT66(5nXGqVRX&$$Dzypi4LFT?BD3LiQfYrq?p}3 z70AHI)W><2s;wQueb2_WKa4@woG=bu?W1m8wHkZ=ZbLkH@)O3GdL5jNPQsi+m=~fZ zqdeY{KFn5Df^WmTQ-CESr*Yhcq^W@$FSr23O#IyVCzc(Q)qF|O;*Q_3<}ZIFx@MeV z-ewb9$A2Xq3>W6-c*2R@Kb@V%_>_+E1W+2r0>V<iU<&1qXDEI4ba7=)teE)BBbJ6Z zC_%zyj>WzD-DlBNulo6KJ}kxQzxj0hf9#zHU=+po$1hSussWTD>JeIi^hP*p2rW`2 zp$V8=au;%t+{L>KA&82-_uhMN*s){py({*H^=I$O|MO;dE_;{4l7PRT{<-jF_w7#G zsc+uAc_ZQHl2|<tAIZH7v}PS?l=<-z-)QbzFE67==r~1qmD?dcY8^@CMG*{~n&2X3 zraXjKifsH~Vc1=U7@xG9jbAC})~APE8K@b^u`!Pmrqnq(&t2NL?2K;K-mx=rDFT<F z19ys7cA2Mfm3-2+#>S9e(mx2q?wXYz%R4JAHipLW%vyfqW9U5S2|$-`KKBxarq3sg ziO`9}C*$0tnD>)STBm6Ww9ivsO5epWR_Wy$Wd=!>J1}M>8&z2f@Hjejj8}D7_eUL} zrJw1>RpQhAQ7>qzzXQ2;<JwezWc_}z>tv;c*S6AANvrg;1s?f-W<V^)Vv)bV&%_)f zh;=fS@N}{Wztr%NS1ICwx&jdm$#S52h>Pe41)<sc<Y(o8Mp$piX%4FaVtG?yG=`+S zAf{%;_>Vl&F^6XO*kR=7WZqDS)ddk9)UiiNtwF}lp`yCT7O944^@S#mmsB53U9RmE zA9bdWC=MB$!i@j12UP84;)2zqG9|DH(POIP?M+>xi0viAijvnO3Wd^nhU6wBHVZ_v z$9OCJC&9>;Mkd3GF*1#m%OpQ6*2+cDQGZ$n{=+gt$fiaQ)B7^7++iav$UrP}e}f~V zZc%@PXAquTI7Z<=WIiX)dV;&CV^4q$;9IZ*-`yP~fpK7)XE+OC#d4-+F|~|*-`F|c zQBAsT207pWcI8_(<^T5>anf=^muOyG$t;+g8oSh8PO@IwIh$jsMXY_xq(a84ZJvkG z$8|cAy2dLz;svC6SFp|Fx0D|{gQINlH)5^dk=V`P4br&^|22ZE^r?DIpgDjjJN>-( z;7<6q<)%O3V-Dk9esZPDQ}d$(&T_~xxhugs%_j&K7BqPVX@$%J#S*RKR{Tlddk<Gh z!+Ng52Rz7C`eyB4`ZDG=lB8;aa{O$%|J}U8i@7VU{ecMk+#;JZ_78`Qeowb<%_^D; zrr2QK+4#2T?p05z>eEM>4Y{D4_iHj#QRQocZ?vlL9Y?&Pzjqao_Ex|+p~p8FbFK7V zytC5NV(95H^o$sKW(>WOjJAe1E9U*|7<zB$IY6gxOYM$bN4u!x8_xtYfn=Z91B`5X zXiRZmCP?O12VsUcYo|q+f2{;hfA&LsywYzIy&9?O@*2}3&cu~NBXxIlcY{YB$5rZH z9#@<@CYV=U$F(~o{8gdI_+qVe?0@$(I#TJuNr{EkuIU1faZ{58LndsVt)@gWa-s!X zKSOe%QW{|N2~pdsMBFC~&fIF@Y&_<4NJ*2?MW|s&_l0J9Yh`SA6jDx_uPWkxE|>>e zy2o%ne&r|mvVi;6^R4xK^qL-x@X;MR7NWSc+|`kvx#(zU3OU`*78){MX!(Y1VaIr4 z&v?fy@<-b-R`UVO#d?FBm&fych+nszMci9#VW@Y~56b(+ywhVFLP3u=#_tl|oBJcx zYh_nbr1CC9O%pTIVzS2EKOQmgN;3QbSH$Rtv8mMQhSd|jr4?TGxnn1)erGAW-@`SE zw<`3O%~4|i{6KZxggUIexSYOOg-)I;l@*R)mBlCcAtla66J<`ga*Ee)cyc-Cvlttw zMfus-4PTBGZ?z;RB6e{+aZcXMi7qV)uVR_b2Rm<ww_VQs*>m}p5GJg|E@Ne#b}sT( z(QA~&JsP1i@}bDvo%zAKYNlRHm?a--{E<^G^5Ju6Sx#{zZ_AX!6f(?6?L1|`(@YDU zy+?f{Cx_2lIiC;Y^pTlUWG__>2{dy!a-^!)Gn3LnVbu)PnUAI1fPb$-i-$&%qCHuX zBM}Fx*cnw>sFpR9Oi{a=q{Cy`Q|+SVBz5@wGBI`;$%G^p-&s%=rF8`Im@5)><kU!2 z86eximxYqOA<@+0W0Fmu)U|!7Uq-eV=Z%ZpQ+U-3kPJkI-yg^tqR{%6&W+G%K<aGg zUE&>?U?Hdi7lNn3@1WnV@s5!||H`>P6Fdxl0CuL)@AcaHbLh^!qvz0b)#9a^#iKUJ z96?MyC}T{bEA5XO`dc&~f}tp*K9c>VVi^Z5eAMMLQ_>B6d1Lk}W|mkRMDjuzV(*$X za&dH`GZuMSG36yY8jPcnIRJt6Dmew1nyyl;#1XU>j9v6^eS*!DB!^foBB|-7aR^C( zsYjICCtmHvlk=@bZlvix(6V;z#>Nz1<BZ5BN@+?ec`)y#7;Ht&->?zS#f?F|T0b_D z!m@Lm7RNue*uU*QMWv3MZqqm3;U>MOoB3=GJBAT3t^6*+9?}ahqbA;vXgNY+MI}WK zREBcP7-y1tXM9@7ImVg7IyZ6T5yx#@Wp4NgSE6&Q0XqI6JP>(~rZb^MK2busU&K|$ z3^(_spbU6`7nFmgpaS^7GO!#}f-2w#0Z<M01A1%<a=*>$iOyU}|87S9${MrCVKu!s z-<KfYgu-PoGEjIuF1obJ@)TB$Dp}D_WVjldf?asgNlhHu`UKl-iOgF}bx>)H@%`c* zD@f}CAY~LH@1z_hFT>n#CDz4JLs;^Yy0I;I7su|=yvu>aC;W)uAnvX78t8+~_wt>G z#JoQg`Y<4A6&!B9mwb`%j)<X;gtmrv6!g(Re&YWa?zcoI-s<;Q{3<>S!F2i_M%y}$ zXS$4z=U#NuP6Q``lffzARB#$N9XLtDd*qM&D$Our=|N?K%ACAEiT5&xIE5=-BmVSr zlsf}Kn6LonUIt6yw?;Wds<af-OMWW&0F+rxCzbA6KLRbUzeyLhVxuWk#gS1>I^m2D zG;o@HjkKi6cj!&kjY1m_HQ`XWt`ZK&hk(piW+u<)X92<&F5?@I+SAC_l#~>g&X+UI zXVQ+ZGVk?O=b^sp=lZIjo3^CP1^%tqz~yLpMy{9>@7T*nI>ip*B~&`;k4%ARq|EjE z^}HX>dvSA^)A)A%?q1#{@|@m%l+KHba3gi$(ipc7;dT<wwL2Y_rq@x2-U5FDCuti8 z2H;-uRIXwdq#rnwz_(UEbCx8OA4%IL{Y*vw=zb<~Xo2T!;?!f$Io#{H&*tQMF0^)h z@DY_*-e*$;47tOxf$&9Nu=Ta2IX)*;83-#@%;8LkSG=yA3n6R8cKFt_@H0@-7-W-O zS!zbMw|t~G)03O+8JU??nlZvN(&P5HGs;JLJlPqg>7KHj%+k`dEWPtKRq=J&BA2=L z^DtpfCrrKe)B5k%!=Y%UC_XPUL&YgOUDUw^Vy4F791ySea0*``^Mv!cN*^!fc>(tq z#?bc57U3ab4<noc4}1>cNSFetBU%r`F|d9P!7InbyxV%;Zl5XdM>>QjA4J0uo?O!@ z&>{n7(NH)=cC#wYX;@%p56;A)28Zi57JK9+3Xf|Es~3JA<0|V0^3&l>AUxqSV!}&8 ze@-mf8Nqs2vi!g<O|%=0@Czn(EE3)sLAA1#tn?~{)rM^i)rh3Yi5!5*q@QWDN?3_O z!E!;C3>7sN`g;itYs)Ni1Zu?-R_YQXE(aS<VQL2%>t@}!9%o7W2-5Df&@-V2Sigmn zysAkETTmpY>c6R`tit+X{qgfOVM`u;$W_);bpGs1n388|-;bQUV6fs51H$50yDh`5 z@X<4B&}tK_d~(V;bxps&iT5It)%0!9s&DDP7?YM}dFu5=H46|k#!PD}Ikb$4Vru`z z9hm}<@1{*%KjOWhQ%%rVzGD4~D#1iwrZkLoB1S;GK?b18oZ`%LmY7YjL>`bUqK;~A zy=BHk0L=M)A_*kRR}YR?`%`sVpCGN$GDt&xT1^3(%vYjPI)s{mTvXQe|IS1w4vBZ1 zYsudi%rsxphKKwh9hY){8Mqvn*->2IDqSu;L3X*!{@V2Srg-Le7JW!l*A2w~0~mw@ zoo{sGe`Eh45>8_rS)3T}*pIje09jYLg74M+=#|{JzE5jnJPZ3osGwxYMmOO1)>4;c z9oAVeQF<t2v$uC;nb(}_GQss#)l^Z3#Atw_%%|OBu8Zo<_Ch(1hMMh1)IOB&nKjgC zr#`NE(ARL4yuOaB6xAm14S68^*QG$(u$hV>L!72H0HX(`L-LjJ$T_5$R1ZmVZsRO- zrRQY2GSWLD4T3kW<!E*mACb98PShcBq=Qs@U_1yel@f^71E-_q15!FVKH}S@jKAcX z$u%}__8b=PxQyqcF?No8)g!j+uCmmNtGT}hSoZU5vv1bZ_FluI=j<{Lx0H_wg*}R+ zKrEbE?XFA}zC1N0CACHlTa?ZYYwt*~mWNV<wQ`k~avbq5Cm+TE83#?im!7bOZI&xk z|5>Kg9*~C7t#?R*cg9_dnJxQ?RPjj~(}{B#QHspelE&69UpTI%tmP-|Wn0Jq+9pTy z=36r7zRprFujl>-p!qd9AJ9@q)jPd5btCT9f-Ttx^*remzOeO`z4?7mZByc-_Cd8i zKBGq~7O|{sy-H6pq`c;1)f4kwVd53}`ISJ{hHoZ+S|7KZ^<J!0Q_6^1AB*Snvl`+p zmX~TE`i8j6iE|GiGLl)sLdi;tjs0mAsYbcT9&uT##2*Vw$PA3_^@{tHg&LR_%(=4> zTy|+#TJCxH&n3>ywdoDGbK>srY}4)1qT6)q`#gVHs#HI6eGOsD-0gHAYb@qST`UrI zm#eINsmnFdTkd9AEMG~PZ?UwkTe+861IuV+_X=b|QCTVmBh^{1fjVB8gVWZM6|5s} z`E9HI=(P0c{^(B2ci+YR-N5?n9_V|)WWTDlX7^PkN7Sf!i)44}+mVtUVJ{s4o<CV@ zvx$*x^H2-6<58x$8S%>g&gJBf=zwYZaPEg#=o`5o2)2E?&=aUp=A#|YlQtQjM0O;+ znWodZm$}q^<e~1n@8^C!*!Jl|HGX-jVf)nR4^@9uooUF|`;#u=2_GOW4}yol!{8C1 z-OS~^@baYrPn~H$glP@ONoc*>$Sja`%B*-}e$;9i47#_e!tfT0{fuI!aKU0fno8zc z-BjY)mo$w6vKEFB^vtYmOrMW*mzFW<YiU1HF9VYJS;8f^9w#p8M=nB{UFNm*XMWn1 zy0pHOS+QyCq!(qld|tMZ7w1s95=ft>Pl6WN(W8{5{G>mTGfEzVwm!Rt=T>^R82Y*x z`q~)!<``P)lr=o(X6RdD-U~l&^?!Q|E$zwr{?-`!ju`rs7}^s<`(o&`ptT&V!w6%Z z%OmwOR3n_0-6u*K6m>R+6F-s%kCV@OuGs@xpIX9vJF*8>9cU4VJ#xZ~rI`abjvx*v zVfs9XKEw`+%w$CIOP}syQG!AHmYsZhF+}O=YL!8Djj`pW+_#eBV@y3=rQDZq5~W_G zD!xE)Dm9(e3O4eg(-5xC;5Z9YAzCzi^}VbqYUSwqGd=W%8&fBcsMY>ZI2Lq8=E$tB zwWnl|4;>wjHB|RC<oB8wi>Hp4bB!{5E~Y%t$9K*xnw*@=2ydLAsV&0fyZuALBDf2A zoh9lhN<*uPGv545(UL?LX{4dc-h-?3KYHt^n1-SVn7)^k<nm6+eHvGqox?bu(}+s@ zU(7q<*`K$xQJKFN&7C)Y!NPqOEnc#3af#8TEv@h^TV7e^4^;2RSz)tlR?Hf*$KKQS znlp03&YgGQz=qwNyAK#RD4};jZLgJyg-L0{hNq{D9g{j~qAPdAsLZK3$ywv`#!bne zJfm*rsy+8_+h?cvxW2n~*)d~q*KQr#bQs;fouhmIPDA@;uRh?w>Hp?)9vUuxi_T7p zYLzJzFrpbwG04cyIm#99SVUQf%uD8*Qil53Z`{kXhJpS4=OQc~6|dIGi%3s9@B(#7 z_g|0m&iZTVxTvS=zCfxRqM&RrzDL;82>eGNYc#A=I$k7hsn4`U$4lJ53|h0#$l5Mm zA*`0BzkXadTCy-f7mbeAk9?KzrR_;Mi(cz%(0V=lb?)B)B72Z;dy{){FKz{Iala+= z`VF|3a0H_7YnPL7IZ*%~W6TF7-q@d{KlZ2A>8p&*DEcgkHwZ)cXWch3$5C6~jSh}A z0@Ie6$BC^))9sF9js1L{nrhaoMP*B!AmA(^oPoTPnx@0EmRmZ{t@PV`yV}||6{~0k zDE6uZnmy=j<WuIY*#2RE4Fg7~{z*>s6T@y$zV3DBpvWsam#FrN4GQ)}Pe8Lh<|(~9 zgU<wSp1c#Fpf5?8<&Szp7_%5$<#<G~^f5PFo~sh7jw7+w^N%SAuc?bFV~j4>Pk0{L zUyUWP5c%*9?}aB2yvw~Gtv7jY_4gjn^<FXSbJ1J3(y}+qN{_|gBxR8z`uY1jpIa~c z%V%{oP}O>tRQ3$yWXXcRUh!veMCf61&9bppmT0g;ib|Scs7;j(C#zsfetf(-5A3sX zhTJobZxJ0fJrZj*FlQ~c>tyLinW_~@y2ZXJ?zMjj(>e|_uIK7^2k~woXldUeE479| zH5^2siUr-EU;2*?e8VilT}RqSaE&yX5^qUOxE#L1=xe6t8DqRLeUXP~*9NQ0jCFXY zG--zqH}Eiy5Lao#hGA=GgjIAQ`Ho0$5$+hfL^tP3?d_nY$_6Z1i6Uy*_NqCuP_Qgj zv3nMa+RYi*W?j--CFhexLP%kC&7(BsN%L2vJ&o%|Ao{9`(^N4kXOZ_$@opF}QqNMT za>GZd<f`RW8m`kViqlx*@OdQZqDhP&9moCLOB@IbP`D0M>*q4>mwu=^P>pS4vF)fl zOEM#VZ!_Ig`l?t}S?;U07{k@P;*S%I^3aKjwOy;@`+=|qNPMt;RWxM%{1=|dSlq~O zO(V}DkBo`6&m(7gQbjUS(!$}n`Ss!UrLKt#u`bM(2(CK5c%F~9&^@3fkL8p%T(TL0 z04?u#<h>Kxi%}!dgxBGSP2K($ccKfM1YK`^!L&TXv)&VpKA#>LPMU2O%1Wb?`GR!9 z0l!r2EZm6fqtHADNWIVsC_G=ldyzk22MLpv$lA=)l(n6ai72Tmn~c;F!-Zi1T+WD- zX%8y$Sj~}zpomv7Ln_P7j*|#m=D)Xdl|K0{t}^D$HLN@~8KPlmqD(L5tM>U3eq|if z=~U}-s?&Elos;4fU!dO^wyMmR_!-T6`9`(3-16;<c`ot<8Yjm)+Bd2s^SPQZr;d2p zL5W~MHQ{{OSgMrvr^u2sB~t%{@r~9aPGu>2k~&Gl+!5pTE}t$tX2XTFgDLLn5Vtce z+dp|pmyT)hO3nje9MQbp2i#Y~{IWU0GrDln%))}Af_an1I<h7kJc5i%GR8^1zd;?+ zHl(aP(}%d3V{Ri}%C;RgT_}SKAMsrCT_1Bl*|amIj=s#39m(`RGT&8+i`ben_U-73 z=5?xWNhWbLOmp9Xba<*)N_AKJQq8ul<YDiSZsB1El2$2a$tbCD-Wlcsz9Pul$cx!E z;XKN0jyat*cM5$%dPRO9-~K80MM3k3P9t@4q^BCQbw0}8Y{m_?8ORx*27e&mF8(*- z-&ou-PW_ZLQ#@+1p(Zp=YK$_nHD)jZf1kU+W8M@oPnWgs^QOeBG4(dCGFQ2eD<Uih zd!86Yt+u%9^TjZ$5|uTMpYXRE{zR_X73iPrQ_w%zC~oc;PE~!E*_rEjqBJ#Re@cIB zberLFtHPD<6WcEO`6%<brl**6s*#uVi8clhn1f=fI30r}`PWW0^bn-|$r!C^{Vlq` zzYKS>2UEW<FyqqnOp{K<$fi3SQpVG@UuS_azwggg^0&}9>DgUbD<?*?Dr1aeWPATe z_{+@j@(f3Y3$sE>e&~1uraObvu0PeqU?QBR$#M8n^Fg5=+o_jGY9eONm7!?@(eCsM zqYA5m*X2^}$qcAb2fDR3=SH{I=G+*KINEx8!<0l?c0RprSZ$z}U0Y_r?CRmO1NwvN zdpq4CwL42AH6Klk^n%(gmVZ%mG+*lt{4hH+Ohe7)o5C9G7>C%sYKX8R?)}U2NmwI~ z<)fxy&)E1>LUS9o@XQDFC+b;@Paa$Q;F!0%r*7i0PAWb7B+ivXY!`i2u#URkz>OVS zH`aN^Q}kIfn27$Mbxin-{_1m}`?fE*{}LophowLJihBu1zyI2#WsDF^ftGNiEKjh( zjD2^_*`I(%Ue0m4Y+<dbl4GLiOVNeTH~8pX=+}i0J8ZgfJ({be<z%kyxt_^Y#^B4i z3U6==S8>0NtMqj%@h|B$b4`*LX=2Loc(5`OSJDiF&q(9Sr)WPB_tFOoq>qrfia>N2 z1x_IIA4yvUbLsuSDsVVB6I>1M2d{u1L09HYWojPF<_+_RMYy19B$Oy?7+Vfy40xKf z$j^GE_#A^<IvKJEf{fJ>=3vAj{pBqLEMsR&gO1Fz5Hgi2T}ZE|nCYGj&=Y6II|>Q= zSug>}5W>6?zR%#cYAXUXU}J806>g<}?*(+)ZlbUULbo(+md~!2e-Y0#!u$~k@6gh) zBi~)+tx7d)9@Jo8+$XBgqi3;akFb+yAW|Q7K77W#@YSuK#><3H%+;Efq>TkWl2NVr zqP4^?>ufhuF{Qq0`UDz@v<ppN2%Tl2&w-Yjr{BLr{`ZI0<&jGx7z$ml>!vtr<2YGE zCoY5nIukVb%-Qj3T}%5NiC<|)nw|!o0sS8uo$gC6XA*6tuYmrB_wr2lKi_iy9rzy1 za98K4zTM>#6DGwB$mo}u61`F{N)_mK$_x0s*5^4**5f79k)5O)2E4JRp`w&bAGo)n zulFn;BYao=dSks@_afX_e?RaI@{_hL>t$A2+N711xv7<Iizhv5X!gNSa;{(2`i1zM z_>=sTK1%Yr2N2UhoOeMlNIS5k;V15YHt`ErC-24IuiXD;qOp8z@foU0J3w)pPEOZG zC#Kq%8ZJc|=x1M0S&f|g8>*ZWug<5-<C~>EThshI>H5ROpIo(Fz`wZP1QPKh-yk2~ zSlYGDtdbQWaPY27DTANpz#?BDIj1~*geN1TwA7uRjlur%)P`q(tJG5g8m=iYp9?zs zk8#eNHFHvN-o%M>CKb{dCKkr4^K-h8E*Zl#EtNoYAsU9mv{82U$$3s_k81b7<5v8~ z@m*4`0+C7Yz>Sl8`Q|qA4)9o^9ru$%VMlv;&NIP|{8s?OYJJv$Xa6i&FMSJX?g%=8 z&Y%nE3c7)vK|JUVdH{Le6YK(Z1-*cr4JFU}fWBZi&<|+$TcPgAv0WLe1If%%)oqn8 zp!#di+<0|<{G*hI@Dq$JV$xgm;Kh%yxJUq*-<s~e!Hv`vy<YSS&#k}Kr&TqCCJn~# zJTKl+LWF~W@LzM3mhXStN*4QVNSBZFIKcp*H~h1woCCx;d(D)phEgO)t7zf*1v4kj zm{gQkj6G^|>DXXWWS%OL4OIP@IMTlt&NucX3-6F)3429mvJO5HDg&{fZCIhOnsG9> zH2u!TpXf>GbcqQEGcD8vj59MmYLF7#YyZMaxh(#fdq?8bZszhn+u}x!oG~03QA{tG zIjwjz@yy5nNHYxVC8TGJV9;ZCyDL3CYeZUM(VR(nGYV!-DK4BeXWpba4O6VsvXC%j z{;t1Q<eKuC1v4g2Xy~i{I~U<c#=lvUCl}-w<V}~}lY>>F3P{Hxe2(xW%8rbPxz$Y} z3m7u}P^Q&G1s)V7jKgFj4_I5o96U$Qz=)$qVVoZqUZJcR#5v;fCge|?G<nL@g1x3q zpD}aR?7im{nydSbt?SpUs9jmNs$QLGc&cuiHm+lFGtN+ha*Y~2#`NKc+o4U{cI|iU zuv5oQox61HwsU-U)CG3!)w_@3pzm(|cHd)9Xa5A$2L=yG96D@xQgTYFB*8|M+un)d z^@QJp&1-hvR8)jsF(?Q7fkVOR;9Bqicpv-*s@zL4Gv^vtAVaj+PL{0}rLs{t<oI$Q zLuaG){T|kU%a$h_GZNY7hbp7$sSQ2G4vUO_?*_g}_;^j9&%N}8n$Bgw6?wm=#Xh^t zHR>yfsqa=1sPZxa;YgBTYKshJRB*DSs9R=QQpr4+bj~BbeBu=unw6Hmp^62Xv7#0u zX<BT^8CyLM3L#2l#f_C<HKt7@+?j+wiZN8pflPX;jH^7??+c(sCaLMYpd~LgeFF4& z3w<lJgsa~_2rb{L=~tm;G}N@5Pb_1UrYoUEX4sI=5(Cv^$1vEs*;zJtFc$PYqEkXP zX}`(LkN6h}Yb=EHJ^KBp+)I6L7&gjcSX&crFinCsNh9=n|L5XY!rwCg5+I3`v@@a7 zX}Q%5OVj(n3tRJfUuc=9==VP8JuS4@#~5g#ozx}yHtk+)_evYE(pL95<g?ZNJm^G= zdpYM+%0cGH@*_A$GWV@-!)T1B8*Mko(kh<b*U-1wk9cGb)cSZDTS^yEr>g#rtYTxo zgpB!_phnizBRaQ@tdQqqNhvBtHSJf%VYR+&NCV|`kb0||V%c0|N!X9_>T7bP>~%F| zhlc%4%qD5!Yf=4^*qI_cQ;9KOPoWHC?jXe?`6NF*T$JF(`b)*pmgvu<S;9`|K0_km zCuN@*LubX%+0gl>$zZMFkta5NkSCKb3<&gPxZ$5d4mYhY<4_fR0!qbj?df`#h%pxQ zb{q4!A`+iMoQ<eeJG2|=hlOWs*sj@MSd33;yA-~5e=cd4xt+oHvu+mlg(=0zqPV(Y zQOS6(*6AaTWXauRbJc<(!7ELIq`^(BMod?yaTn5Wn-#}+pw(DKVBP2o^Px5#X_5uP zGDl4GYLk(gAC727pr)ggXiZ=Bnz>DB)z-V1T<Knl2JGLbL2IT_XNasNM(oC^(;wNk zT!-)$fi647;YzS}<Q99zj38_b)&9sxWhC4TPP>nN?Q+RUWu_K}98{|v<QwJK(&*7K z3c8Vn1>uUL4#3snD+fmG%Gn&#V6q|#^&Z6LJ+p`w46A@<vwK}mUNVd>o2M$8m+2xQ z{JqqWyPxSXbT%&LD&xUbTrINuNMN(7MLQv+{My!Mjw!kcR>f%Zoh}x!$r|%WQcvG$ zJ~bDZCe+B;n07V)wn7io_#OhLEyg%=j@OVoc0yJwvN27k(22{qqv`(8<Dm~oDCg)} zj@GH6c2-tm(Rgvf;>C+g7nd*gFAgpayOy**&B)Z6Iq_U}g^+fOZAIlCy+jx;QvstR zYXnTmJS-2?KMo~1YtZc;f|ceWvX^U!VJ&os?AK>wOUQ9sdA#CrUgRo#?o6&rxgJRW zD{>X#MYr|W>GRx^mKt$y?epAqxcWSIO~=8n39rAczt6~X%1<kwDiax)MiN^NteLW9 zLHa<0m2txNR2XY@hj5iSP-m_pqq&AMk@=wx#^^~UFzgHCM(VP5D>7bj>t@-ECJDoX zehy`+*969JFJ~vZ3DfQ5lt-~o?vy1T#6EP!%50ip;*(w(qaCW2(NAmTKeQXi;a`3P z;TX?-OXoujegXDCAwHttK)XR&X^}5lXW6pN1HE-+@IuU2AnL;cl~i%_6Sjo6$|KD> zKe~}$6QJdj1R@t!%kEpNax`;@>Ck2I>I_q{TQP*VH7)z|2UzGkpq&<4_D@>h%U(N~ zkC;ltVrbQoZ~3N)+*|2M(5BnzdcTMD{TJkce$NnCSXWgVs5BqUhEt-b8Y&DEzqOuO zb%w2Bi_Wmm)Wudhr1-Pue;jiiD=p<A&rVw&@0d)wrvRB3%UoFIztccZ!r<bV9z)N7 zmS@l7cP7_aU^dtrh+j#U=HKVU(1p<QtaGK|w}^X*cP<dW^MLj{KZafaEzhRncOh3f z19cHt48-peFwji%zA<z$v^+Zuza?DVpcKe`8Snt7#jlmte%G6Ry|}gdEr(9C__fm7 z?;ob$r7?ahpa)v~T50V!x5`MfFUD`{n-c49jhtH>CO(m8tYhLQ^Jj|=xKlCoR`p`u zZ@|6G>y?a^vq)9fBlft9Me-Xm^}3l)_zitVJs*`hoz*sdSw#SIODihNs#Z$x=?yMJ z<J`DoZe`ps<)nA=q4!u-y`m}*@Eeb-GHdDyQozx3{&9TWm_vwjSJH-S9y=TtLBpmv zBm^FCx|^g?Id!b%oy<3lIC#s!-1Ma~-%Tbgbqt>261@oA_Q!1`VK^U9z#c7scoc`q zEJr7G3}WV#QVa<$_xe+eWR4Q1dW;eek5c-m-Z3iEMj_~7&6_@2er*HsN=7dno<H0~ zz*Q*hmsO;wu#CV{+#Y-3FCqL%#6wOe*MDNe?`8C0&ByrSTk$g-Ke68!2rf0!z;bR1 z0XCNc{e2q=YqTY-`b<e>8q+Xiw7;xs<6Ip1T#+)QQ0kIKY|xYVR1eE5zDf#tCGKSG zK87pZTmxD^xA--3kos|Jj9=}xsjGHx2@8X4WwH$+bsTX!_A_*RWBvE!xunhFPc^L& zX~^ZBHT~MJe%`>3<-q~?l{Txd+OLjJw?PkmzsQF*U2f7MJk@?<{RCqC?5F+ImjUgC zs_YJ?{t@%tmLwYN+c>3WJH{C_c(P^mZSs>maRMuSa}2#4x7PQu^zAY3(_`q$82=)t zw1!s|^WGmr2R1`j$GmSX9UEV4c$<4KavbaT$@psJW4Tv+;(nxC%h?_eMa$WwBZP4+ zVXlgLsLO>trJ%byaVW<>V%Xa6EP=TzG1SMR;tCR`;`?IKa5Z&D@7XbS%KFkXa?u3} z8*2e$%xmk%xJGqmv<jMI0r4!6{6OeEm#f-qTceT^Nz3DATC`iySrWI_JPq-khVBo% zw7F+aRLzwXrGB%tl4Pj=v|K_Fv9gVb$iWbjW;xN>S86DZDK&;ZO_=yJpQOgD<^&xS zuZVGA=_O@ekD=dbh!Ggr>ex)jnOAc;*1|laQZ6&-TMPVUl{FskDqpp{6mhRCZ)#Dm z(P^p!jpelw$y9G8#$+0#dxsSUkHF`ulaKMh+&UQWd5TtWA4W3m=gN2-2-OEx=yeCn zD$KJujP#Q4*0rNb!j*ZMsP{6Yt7(>)@G}HmPPHNwGEDq=eC6es1Vcb(%nU<o@SBC- ztuW7$g(oEpxrZ?KBFz5G9r|<C^g!sHp>_L8tc`A8C9()Crg^-gDORF2$fD0)P`N7W zj?x-sPn*-?P1U|wT8Cq5qD4irm6}$usO>A25?YO7{ZvZO$QKdIEqo_aWi{89xm10> z;}%^j#|rAP{B*vIUm2Y*wdQ*n7i1i;(sUtFbnJVvS)unst|S}@N+A0oBl{~|F0}50 z>L}d$<y^~K_Fo2A;Eh@Cb&PM-Z$e9ddrfW4-}Jp&{x^GOYyRfUZu#H5qSpK^nAe)W zeHOI*Z{NkO`77DC<$s>i*8H`;Unr{x2K)g-E5PUy{BG1KQ?<xiX)`$-Pwj8mHj}-B zvJTw(h-(_1&rVz&J)gDqA;K#ngPu!or8fdrs*@m{K7RolIrPJFQS;y#y2a{z$UL=o zk+EJIm{c~|BCAf?Tf?Wa-I4uv<^hsw^Qvs(lAX@=Cq+(X0j)whcohx1&}6fsn2D7m zX-pM%8Rcp@QAUmzK}%1}k%?kEj*N+f=(r1|m$T@?*hnlZL%vG&B515Fa6}CX%$&y< ziPT(X*pgTSPH$CpxK8IzGqH$R67I`eiH%7$$!Cz5?DJM~t`Fmyp>@c2Bu1SrGSo5j zKw};?2;Pf-j@inu%Q>qi91Jj$kY8dy*`p6PSJrj(h+n2oI7f1;x^hP~VadA0rCf!F zlCeSL!ZJ22q%JB2ETx%+6mL$Tl>Mm#CY!$jY39$oiQP;V5}B*)m1YBitkMWm@C)$_ zAnYVC2&gTTPD@5uPAta2K>ZP#cy{IFNPtXn)p7JLmyvgvp$o5s3s)zPapH!>lW8Si zm`@VI*sS)z7%n|(tUKl)W1Z_{uJX;Na}}A$xm-nldnH%NW62jS&y{oT_lI5$?4{h8 z%S|90ygHHylc}v^k$Jt&jN|#z-5oD;ub+R({b1A27UffJmP3D+#8(95SF|QN-ov2f z{e~@#m;9FE$jnG<raW*&Tc#z-9?N2MBO__r>0l#|yK$8|7n6rZ=scISjhFxUJxyAL zXZnJx%+-727dFzd(M-F3p2l-ocM)%m=9x}=W{%nBk&Tegvev27btPd4En&<y<3EaL z*7(<&@&C}$__If<@Ryq5cQ~Z+@Ev7Fo!H{<8<DBPuOWP?*A+40>$30M;_!1+_$$ru zA8#W3-YpD2D=kBXFE(W4mw0I7`7^MY@SD)ESja?b23Ec**utoFakScm^bh7Cy+)@Y zdJU{E(~+2u_1l1Ur!@x}>?<{g4w>8%&E&{tE5jrf6T>o@e;J#1Tu#1mm&1(t>>Q?U zjCbaC-%>d-D_kpwW})?~Y_g*VDJ@Utu}Xn<wqZCyj|&09N&pS&e`JtxrDvv(XuRzj zZdBgO_#)YV6zP(>e<fGZ71VVn&CGlKT*ohdnvFYmgbH`LbgcZ^9^QEPqnioe{CqQy zg*$2Zq>!b?`T{nNPBvW?Mh>quX43j`<aA`S)FRK-I4055??f#$1~(&smd=|a`_>G7 zO>;4xy+!1S=vD4O2N^vJWZsDN6gUiFYCJv>ddp}p`%(0wm$}-jR)Ng}7p-f+bw?Qc zG>_sc>jACjHN{?TF$|}&{pR&B1J>qjU=d~5cdR9@QsR0Khzt(LE?0~<my2RCCjMB4 z4b;dP$*3FnLKXG?7g4#o+VO9A^m=fs<Cb+k(ce3e4pEQg2XVg!v}UdPVEoHZ>ir?y zx3n%awpQ&pDtfK@P{NmZ1c!02<ca^V%|VBg?uNQ|YLAPl;oJHe*|er0YrjVux`N-r z=!v{c%Ujm+-1?*O>-7|`?2;eH%g1peu1wBS<$OMa30=A43*Je+nj2AMKtinSG}65v zWAN;g{3}#n-w#^4KfM>Dwzf91cO+Hq#x|@9rN(StNy1-${LSDh?Lg9QT{on?A-=3L zJ4Bf8a5&61kL4KYsW~1$A}2bLD@EWqm8+z|vhl*P)_iswSK)&fQ~%^=u}?DgW!}km z3J<H_Z{(TONu?Ue^$#-~*<0eIu^YxR8ki7)LsVLLsiH$E25PJ5E&3m8j0d+7j_5RN z`VNyW3d&d-^i+ghj-|MjZ)swz*W<d`k6SGQm{}x)s8|><U7#o@0$-CdMq*3}$WT%f zYqP+3TgW1hE@$IOlxOQ}^M#pylbXSoOIolY%Kn#HL)|mxU6VY98vaek(`A9#;0kn@ zjcM3fG?1roR1O(wdYbKJU%nDDn-2<W-NCAS?AaKBnks+#rB!=UvWG=TUs*`nlR(zp zWZh06V~oHFMDI&@{{5&|tH7b)1aJ|!89WZ&0e^vBW_#4_bN2Dk?eho<UhIz=({0p( zu{G2Bo<q#d%gP@jo0vgtHSsSZ?bFTg(DWQ=nKNrTnR{uQnwGs=RyqS(>UG0X)w^mA z*gtJ$>%XMo?pR}~XYvWg{>Ew=tjwh}9flS@FW<0<fPet*S59t%!$6KgTMa2IQEoYp zh%PT^8m3d<!C;-@EZ}e?Ia6qIVNpject;E(Cq65-73<_qY>i=TNu)EfR;Eu~RuT%g z;WQW(dPij)T?J~K&@3md!U}V`6A>`k$8{*=6IKCs2rf;;K1K>82D$HOcuaAu=evb} z-N5y3%XcrP6O=l;EplA%M_zZLG3G2K9@jRAOKtk6?;LoNv9F>VaflwuF|-lQ>m1Ad zaiBH4&hhw{pY-*z7ieqpI$x6ZX@r{zlP2wDOV(LWBrQ(-NZ)c2_lhrKbM?vG^G{(% zZe(w@^;rj=S-<I&R??^1@Zb7+*0^lfc}lcw_cYSd((<XFmqgoZJdQYKk)PULqua@z zH*?Kg_tU@N#`-gQHDztjCHnF%tD&m^@?SZ{QzlrW#PT!K?J-JgZ<Mj4C&|(8R6|BN zVA6u38JTlC%C%tTWLFyXWC8DFj6vzeG4*64-Z0NZHiS8}z{<MR)T5z=mpPHE)Z4mn zL%vDcr1pQS>8>Ie4wh>MO}4bulzL^qEQbLhVjZ_)41S)$t@J6T>Y}qyeMq4i99=Hf zuGI>!$Pz4CrVZ_SN7)FE<z<ZRCdMFagirZzorP+fOVIO_5lQQ}nVTn!6>h%&+S3eO zo7=fcfAb($X^T&qR|;4-EyKML5Uke9x~cToa3H2Ejv+?z%k%-K8!|W-R|&`T-_R#R zz}7N>9u-GptkX>7FoEFm0@nVMNYm-GFWtAE!Tp(_HGS(@_?Ms5(X+X4Y1?gV9y#@l z=)P6XIgoe+vcKscIFD3wuZYSp{l?_VfIF-{WI2;bZ1?e9{8Koe8=-Z1UBLZ?G0!f7 zzBuODCD50~Ji83~a<C=mLTx<r?>QH$-&xV;LSfFzG+%1;zn4)D<aaLar0gxScXjd; z*8fD!M9FNf!;SE%2Z92CM!XooRpw%+h|O5G|M-`y*_|QNthd#mRDCcZ*vRaTzL#)? z&wK*NoSNw_%R@nzOz2|gv(m@vG*3U<NONresN1bdxf@onA!BVi(J%6pk<WZtHnK<% zXSjpQ^Fs600kR&$nq4CvipYUVuf>~nQW<JGqS@xss;ITIbm{gi!z8Ca%%Pgr?P-ye zHUHiy2{G=+bdE75WXE|(+$(jeW?h?~HleOaomJ6HGEJA3WHgp*G8vty^ie}Dm*laU zv^Ja34ZJWfW%VxNr`hydJe#E<3#7CB6PaI^dGmrxo6oF5HG(66H)O=kMrE0DN7oc{ zN!Dc%&tqSm<IX*eRuJvnh+E06Z8^t2VYA_h?v9;+W-B|rrpw04P$$q{@mXDONy!=h zn$PioyYVbEBo`t=mj0{RFl;z6b2X}IN39eXl}R`O(<w{#vT746BSLmGwWw%z;hbo5 zmqtN{EHWtLi9Co}wlFsvBQoNwNrQ*VtMT{(>H&SD%v%MUlegSSzyBb33cLz7g5SW- zj7x*TWKawib#(IEU;Qt4300=;oCKHUse0q{@GL<T`_aE!fx#TptWQEx#J6%MOK9vB z6~~!kwk9*yfpEw2Hou7g5JW_d<iVZnlZ=VN!dpu~MHW>LbC-r}h*NS-C5b@81uHWs z1gZfo6q_Ihxj^F))gJ-W_<J?(@yf_X`F#CLP_f6vBrg+;#3V#z+LD+L)FWxA@vzMg zX)N?AdfvvKE5#VS8@>6+>s59ek3Af2-hU*U8_Spas-|;FWr|U`;9eR@yK*2oO>&yd zR^>?7tl5So`=-KT78G<h`fWN*ji*w-P0;Zu)~JbCB980#VH2g={Tp4_+M&KCnESMw zO<=^a!9Z*#4dOZ>k4^jjFo!eRa_sk^SR~E3`NXP_C-?%`o3E~@v*S1)qdOjZE`tnb zc7mK}S}J5A#Flfcn>W@*be`&K!en=quhLeKld(PE4%u>QYINI4=u}j~0zo@2XR!4b z;j0~|a{_enWw!FQu*{b{*=HxvLOCMYj>Dpgpbt$!TOT#wZO<92H%MKg`y^e4`Wn;0 z>c{%3+nlm*K*LLq>YcSKxgOATd$8GQgcQfJnaoOPO|S94^syX~@Xz?vMoWB2gQty@ zf8*tzV0%b28G^<uR%EQ%KBiflp>e-`Of&N&VdC~N?cX@2HQpy!8$!YyFT(n8U2@U9 z&GfV4E1}3;xjY#=LA7=qPhp~FIBw7lT9fd<G~8?-TdgJI{2yT>8m&I9A6x4v?I!AR z!WPXJXL_4z4+;Opxgz2pZ}T01W?St|6*JN@vYW^*Yo$rRU6xIEv9cX&IQm|~%di<< zx=nX!_S~h9wCOI_rn?a~-R0PHXR|!gZI(v^S(`2c>y`3Iw^<(PHp?U3W_hI9ERQss z<&kEyJko5IN1Dy@NV8cUX*SzOn$7Y^vsoT#w#p-Y<VaiPfje8}fje8}fje8}fje8} zfje8}fje8}fje8}fje8}fjgV!k!!O&a&4AJuFdkuwOJmyHp?T|W_je=ERS59<&kT% zJaTQ8#|WF{F~VkfjIdcABW#w(2%F_G!e)7luvs1>Y?j9eo8>XWW_je;ERP(U<&k5v zJaTN7M~=<%$gx=-IX259$7Xrt*es76o8^&hvplkGmPfYD^2oMX9@#d_Bim+qWZNu{ zY@6kgZL>VGZI(xt&GN{ySsqz7%OlHXd1Tovk1U(zk!7<yvTT+|md*0WvRNLPHp?T^ zW_e`VERRf^<&kN#JTh&TN2bm4$h27=nKsKK(`I>O*es6>o8^&Vvph0vmWRFhdHP6u z^K;zUEDwA0bHcM(9vNx>oYlDh?+a9RglP6wsJ2VdEMk`JQZ!3uSZ+o7WUJT2ovmII zceX|`+}Rq%aA&L6#GS2C40pDAP2AZU#WK>iOVKR#N#9bhwoB1;W>~HXNS|!A58T;m zAGovCK5%ENec;Yk`@o&8_K`kvyA;h*{`!`Buw9C#GsAKvU$#rpEcu~t$(QX?G@Tii ztK^H#{t78tqYK|UwErc&iU04jAlWo$So3IN<#x*y3MPB89}@I>nhNZ{s8z6C1AV&& zdI-xYbxqVw-8;!OVY>#pom`s#Pt!o(-rL*l?d?gvws-f|Uc<cKuAHqiV!LwozjDJ- z^SYT*_}i7UB@^^+$<Y7zVMnYDCyN2sK&T0}A~MUcH||U)Kxgv-Znc?)Bwm>}2o-pm zO1|0Q#i*TcnI7|&&Wh90nw(@G(CC}i>z!k$Or7+#Rm(Ep4D|0RPyG@9)-sJM`<P0V zpmxLOYjXfwyiZ-9E3vs&jAf>#oajz*R(ZLv3?s-*xl`>|tW$GRh8SR26!R&OCZ`-m z4%1RDqq0C89?)>eYIgIY-S2G5)`7$s>Hhx}Uuv&k{#Se|R#p6dZ<7`CA5np^R#H{t zXM0>z%}Z|+ve8lz8#N!+f3>OF{!&|Q^<VO>_FC(|<YR5N*MG^^hF3Jzq;<#iFZs~f z0Z$pMcT+5PWO)6Te6Bix>VK?gqxh&8{wpEMlq+mkLxu`&lVg#1)x^?ELUl%UGjB16 zWt@(Nr9(T;#A=U)VN{VueL?-S$ifdMU=qoXHP&EwZm^PQ60{-Q6`9G}(pUY71=>nj ziX4DxDXoO^O7~JRS{0oO2@yup#rf&6yIK<>=fdGpUPn@Eq|{7heUMvVqzoHsa;AgX zH^w%i1dFY*^pwoBlvvHQNb6b{s42o6u;o(~Z@a~&%9OQ9C&q<?)P@yYd||KC4BV+x zi4C*l@}SqSqP~=~;V^p3$!Hi+uN7P97(}mg)>LEt)Z_GfYt0E`N^IJ;iB&T_$V7@r zvLUufw9<N6vte(}IGJJgG<xAZHhtUFK$*^=hEpw7W6aU1p;0?|E5EI`<NW`Xp`rf; zQ*2veGmSGy0#!8Y6|sGaQ46B~Pnh84RJ}UqVCQ7cptfn1Enkd$hVa9g8Oe09<(vr< z(?>+dVo(V%5_S!=1p-)JUP=_0^{xz8*a;o`wN-eSB<D$l-9En@?QP4S90O|4#tCLi zNR^#Hr~ArTx~*eeZM?Nw^Cy8r!F^?R9HIv=**-gfT^5c=vExPAPYXr&TGq(rKBgCo zeXVUl{4FNT{=ZA|o0qw3p~63UC}_y1HC5x_+M1F|YA;(*Iip5@?Y|M3eU!VHw$V_& z8|&cz1J`cI??QhE*B(8|Xerws2re}e>kFi)GdC(~N@IG@XpTKSJ0(^pJi@UnPJ3#@ z0JfNApUmL`!gvSOkwY?}a97oH@QQ&~GBwV_#v!M8()+us0@#KQJ2^q3ywbNa$>}Sq z;RNa==hT|Ynj~jlm3vjd4>e(ybIL5`j~P{+Q%!zDDNa+2AL4Llo|bX`c32D;H^t&d z=4w%=%3;8DsW)UCUP4AD%X}cEy1~Gh@IPwf*vRPUAu+ZUZ*DTMC6<a~!)~xd6zkyM z-i7EE_|NP=s%uI;Sh|J53~<a|EE5*pjc~kfY&WBYh_gAB)K})5sDg6NXf&)X?oo=c z>kHe<+4fi|C!rF9kyyiKIXysuzpSzbGv}O{Ru;fut~$Vi^XzdT{g8+OveVKU_Z<5z zrXV2FODqdi_>qjS$j(epS;`R+HKi%OK<d(pWV6Re&(6)s%*x8m%}QBT9m_|zzPo64 z;BL9-;P37)qCP|TlzRD;=33-xnt?S+xtSWN{X{fC?5xxLEmDMk46onx9Io-AiDbEM z?EfTzNrUPqU$dP}b{f2=WX1vY^`S}OcA2}Z0$D+X>-2lWsSTTIia)?<y%o_%^ICe@ z)=Ry&KK~r3_WDESX(FK&nU>T_-q;@hW)V!G4#wFqoGl*vVgq#Mc|084DI;N_A*+u~ zs&)9{*uTbjT*a$}Qlq~4AII<NT;9&|)&%8LFT@H>Etpa3j3u$Hyw(+6fmUSxGg)7C zuv=^^idyMPZ-(QY9zZkDsZNb{Cdxs*9E7P)&T)ons%43AXl&?P+zlA9&~B6E)ZT!z zTqfDooZBTO55<w(E@ukcl!Q@Ea;8*OXUYG|SE$KyihD)uu@nj0WVx#;CQKjVQ$NH= zuPVO;V*xvAc#fSpHqYcX&a6b_8ciJVqv969W8+5#skAkbJpC>vnffstEN7LM`&Mo) zXjSiAF;zo{BG-h{uq(QE({CGLTpDKWW-`W{05tTcqPCGWO%=9Iq%QQRvehqJn|ZOK zib%K(VyowH#7#`R(S_A;evn{Y`;7Jb|61e$YmuHYf&<Gqvdop9o;4yZRaNL@l`Gqj z_iIe!q2m(Hc)OA_NBO646*qIk<+<v((-m?&Z*fg^aX4Ugb2V<fa$-<1>gh55ui>4X zL>UP~9U#s*zC71wq+X}}$N0UT=d2-m3t1TC<TrITusX3BcNLxGG-ik62HeQGy<8mg z`Oiu(fR<-%yL5Lf<hl=71QvrE!CKJM^gBI<z6n~MjmPiaTxWrsf!vGV)jXG9%AzHX z!?~9;PLD9Ja@OeWxY6Ht2lwm1oxts!=nKhs<MdTkS9)a?QXO~2k@9TZ_M>Xy_B&N( zIuYEitVRIi^;Fh5?!vG9B%Zsu-<oIk{z1B}=b@{z_IgT0i;+xU<t<+Btt(+HMjnJj zIx;j@avtAOr_<t&GOF>G_*|6*eh<fW%LtC>s1!M}C&XE>UAsGakp7mYz5c9l1XteF z5DbAjKXx7A&LrGX<cpl=uIZ`Ja%Q%s3!vq!dQI;IJ;*}KIrHN!^sUemu6F+*^gIjw zDzuz(>kg4q!V$tZ!a#UjPIhTH$ByB+a(6K796VUjqsKUD9y+Y#b`A&sB4Lk(7}{u9 zs4#I<xwHQmXPN|Ml16Ct{?Em)gm*7#()I2>?(YXu@74p|PNWR#E0-iL$*HTFlXs(c z?(XQrRi8Cp#OUsFIuo@Um$Rfq(prK$$!|Z`E?oELx`V|Zr+L@l(Qy{fyEWr(y4Sxn zToE0EgufntJ9B-Wt9;W2u2TPJ_(CD6d6RwKN;12oglE5)Zac&qZYH9q<YUb7MqE)B zcqgq^yO~5OQ9X_Eo97RZNBmQm#7z-vA0A;6LmVE)0mR(7ot5t3Qg4vPQ0*>5zq^Dm z2jZutb-Mlx?V!81c!jr&8hspLPAAOg_*gk}Q@Tv2I~a7=HCER`-pcY6U#OTx-(az7 zY8*$G=pWkp6p=9^qX^P;9eZ>)`iSt3MjO)fYLk|>q3hj4+&>K5r2jF?^T)Y=!hGJ+ ze(*{B%TMaTQ`~ROuWZ|+k$$jY<8C6uy|ps@NxjwKglUk{E@Yt#Eypsi)EY6*VfGWL z6%1^A0J|N6sVQYttN=$@FZGe{b*XY-Hggm2%9OGo)i{KxJUOR4eS{|?qqNkWju1Y* zJe5^Cmi>~`;T>{EDlcm2pvczqEsKf!sy0TSSOP6SnxiADr_oM3c2uf59%pHtYdp`S z{5pan?j?UaLX?<p>B`EMJ0oA>;_%ogTKuiXt@MY5;AzT6+O8DWGyL}~cn%2bC}}tk zxAI$OhA+?g`9wX(&pc3lhjgUSG{PEA0Y_w}CTV2>550<J2xhUxS326T*YOfzjV8>N z)`?Kqqw+9R7fP*mSF(Z`s!B~sNv%PkrKX==PilbZq($`JrMshyxN?AeNlW9bZ~wIY z)T)3-+CO1S`yWDwJ+KvF$BdUoZ6fU(34a#huBEfi;;QL&&>7IWpLdqll+!)J0Fc|x zl9ZH`k|gKSKv;U*1-o{4^uld`D^<)9<SOIKDy~v@8VRGM#PIAm4>!Vht>sGh5%J?k zU#tSQL3%Pbd{59>;&>i6GG6I$Ti<4+yGJuOnK9ermH3ijyi?Lu$=8H^l_AyP{Xo3s z#4F?dFkq#nO;2~DOB<HFaX4P2Uh_}kC2ruEminQs&tK-b{mM<=^y;qSt?@5M2<&(I z$^s#GP#7u7f?nYx-uEVst&krT?sUn5w3Hl`2W5e(Y6Jx#_^Wb*ziQjNyQ7r2Mgke{ zTOVhodsSVrG+JL7ofpa!DrTP_hSFOsFI5?=Bwi_lJ%IEjt&f-9mGVZVk!97eo3GAF z$&D0zDk{-IBDSzb%Do{YGCQP>FahYdcq&C$L}94M=vScf=o~`7J;aGXd5E!~GsKC^ zq#_`!uVa3n?uz#ebIpeShHqQS^*|bn@LF$BKeqMvRR;o<lCjT|28nxL+Pm<_`sWUF zDtL8R_#AlsvYJX^pIGu`ZXyfX9vY-D|4z5l<6Gf_{TA+Nl{Xk503GIXvk%d99G$~1 zyx-Q}X5=_ur^kg*H4`Z%-mh?TNUe-kq?QpHR?|tEb~AX^1g_GKuIt;~;p2J@<sm$m z4u*PCR^gPum^b29`g-m5cfL*BZtHI|xdzoS9Yq?J6X$_+oM~LmNm<DpZ-~7fE?14e zmJ^W^hn6^*j*tT-lY+q#r<#{J-lUF6-z<1*E7mu9PdE_Oj#Pt5wJ?t3`x$*lul5c# zUd(m}L*4>^m}CWlDDiqo%LdZIKZUoqO1jWMVnr>vCRmxAA(9o9wn|^A>Q)@DlO~aK zJP781mEkc=y<M)hJeS|p-HmZ+7FWqD{ajxMudE!S?^ohRrQP&9I2??;JI#DIcno}) z8P?V2bz9dN-PZ3RK56S?V%oZVXN%jr;<<c&T9q(g74DFe5o3ifP!p=GbC!D15vdN) zKOoI;)a_x6V-U$<j@4%LLOEHa3WnID3P}jNOz`Eb_6AvvLkFDxrmTjRyuw>qcOCw7 zNoz~_t9qW!U#6M2F9}oltJ8t-J6qC*-l4GdJf|D&-{T*XxF|1qA9wPqwB(Wf#}61d zXkXW`(PNXwr6vw79zG^z{{t5DFL}wZp^1Z64_v)CG_>_a-%RzsV^5=QU&VLr4a~Zo z7-E!PT^jaPtoC{`malgE$|_bbUq#VXtgiB8uZAb`y23tYwnJU=J(JzZ<$TYQ;j7J$ z%SaxvWcW~rLx+DgVG9pQQ%GFwssA|r{u(oWn!}dnPb7|O31dE39&ULU*Wq90BP&B= z5)&8K4j;O?!ip-Y`tQA-FeE=~31@Rb#FTgBdv3sg0dTi6EjJRzB2Y!X*#4%~(#371 zY7nW)_4%`w^vqS?7Ap&@65)jK6?KVQq3YY>;7G^K2}ZwnIsKlD(VD&jdOURN8)5S) z*;0Pw@&N`vax+)qM@Dn?aczzt`4TrWVrjRUA1T9r0$r-RtPD0DZmp<-$+O34EPWQT zwuyeO!4fz<Yy?D-1}o<-mkAe|e=G|qr9X$`T^ZQ;$rvbnU2FT`uu6xqx*;QR^+01D z+MWpd5{Dr@751}MX*bta1Yome66y^;k6YnYWzN~!bf9!-OtcB>7s8b`c@zA}z^xOu z2=*1PRy4?vC;dpcQl{^bpL)IFeePTO9gWEh))SXiW)N9#QOhRAn#~8q$v=e;xlwZ$ zbIr#3?jzncwr2A&&-K{%iS|!;R==N6mNL&38EJsE|MJQ}t+9JlPbs9n8D*+O3$1U6 zrS6b7CrhTVndUU!>lYc3V)h;xY>bDgq*G*5TBbd>XmYN8Co&MJTdhwDyO6`)3?+}t z%u-AzUn-4HO)O^*>Fy{Yo>HLZM8TR+xGXgz+gm=;o9W5T_KeKTD$N+-8R>C*+!^H~ zJ)Z20(sWN*PG)IoT2?9yY!KOQYQ0=197IsXtS#u5k6lmrGA6I13`THu0cWDY)5=xa zvA!ZmU}+r=Z6-a1*B_`^T7klERW*DX3c@X|nUR#y#7fbj2-JE##bklOcke?QWGsFa z<bjsPqIo)NJ6=!N(vEN8Bh$I+xSr*Hf`xvUd+BRFqyF+w;d5@bMcJ=nI|;?&m_D?- zV;|yr6v$kkTng4O&!z;_6k8-x?y7os-{58l_=0rl_Vy+BUxBZIxEBeQQk3_4l1qJI zHfdKH!b?r$8hQQ;aStV|u|WDDO^cjVXgg~h6Nhd6HI8b+l>SPuaeQO>)^EB0&ivMv zt`mHZfB8wB|AG6K*0uV+wtiBZG(38ppvuQ;pNJNS>nPss#8u62EfcI|0Ys>DjEGk1 z)#{Zr1%LQvkLN0{%QYi!!B$DBD*RVT%T&^GE)e;=rf=qcS0HJX-<HTFrzRQmxlQ(e zV{tkzD?4XI?nu|D(PK=Hj<_A#v~AaZ#|}Gn?9{nS*KRw<ckj`2mtA}H?qfLUyIa5A z_t?|fKY<z5;30`ahYe3kPD$nLn@syL|F5_t2e$D0$8GvIeg7tFVVi{#UFO!WH5^2j zd42Yc9rwRds#}l_N1U$xk>od3`}^)@gxgf@&&u9{c>gDys!y&jKr>C&DiK{53<uU4 z5nUJlCq8PkiHQ2XO`Ga_IKwCXob?MgnV+~x`Z#exKS!2r+GKQ^n>LM!RGiJm{I@u0 zJ-^hDZTEO1Y`bH1hQYVL!2rG|W0a=fjiEQj(BH<;zs1mPn8#Yf>l{PxV$w!hJbJ+( zGI>F&uBSDTGzCeYTK_iF+>tni=hA8J1TFIqO{YWeW}&m8g)h|ai=l-#)3osO!c!E$ zo}>AKqO!|b#nb^2Kl0WJ_X;nnL2wqiFc{USTqzYh?$K4jQCS6Rh)KrEjX%I+H6t`X zEc8ugcSn&WuFHt4tA(Bl-NQmpGt)M!$+;cNqAC$;+HOWu|1IYemNl;~ftEFN{jJ&L zzi=g*eu(&F-nJUPV|6k}0jVGjq_YMOgNDS|*80cK7M}1I?nSpSXjnKEF^R{g<Q~kh zG-EE6z*r0w<t{Z{UYOlom0dGVM7_bW8h4^=*7|nRa86m}ty28mWyB%#ifQCo#x{ye z&tZ1XG2)W4lKJu!FL~##tO~KX@GE&KSu6NW^4070geFFEGwS{CyvNXsT47c^GJfR8 zCnz9NSK<7DJJBbQF#qH~EBzO=JljB;Hi-lDY~sKUpbcmX^t`EE4BZ}Dp7kDK_}!8F z4nV>YzX-s}g1&0e=1Uyv^o5wDk=8P%^`22`k=In;oEWJZ##c!CBq@TO2&eVsjx8DA zs^Y*(%yuK&$Tb(S%zCF}08$Cg<2z)1=N#Gz(MHkI$LRM?GC1EtkARkWuzsHloo%7# zLpz}xsy{Ko3^`FhOiWC#$;@z$9xZKrs599q<WL>nwfL7lOVgrjB6<^={up|gg$_~h z($4k!%b<r_=&PZnkJRtag_e1~m6kqN(?{?=(Lx^^<NrwLWXpS@t>K>tEix1x-f1!J zPilmg`K)&TDDOqaqv>y<MUO$#J5o_(j<4ws&{p?9<KCJdpF)f5P`lq46aF6f7a5j* z9}g{aJWY3pw&wpEG2zeQy|umwJ=@~HDCYfKXvu%3ZH^8*?$o|xyH0I8x9PG&*SKzx zI7Oc}#S+Gu&@!$ytWz@XJ4ZX2{T5H1J9%<(;lddcW=$_F&WMC{Hh!(?zX)2!arsg8 zl@8L5T)P2zJ`NlNHVJUBiSONngH1Ttgo8~u*o1>kIM8|25gD-b*>Q0@#I=cQ8`mzb zecX<59pZN4uOok*`0LDH7xS-coblH!&iLCo&iIRui~j2#7yZ{GF8Z%$T=d^Aan1kj z8rS?^uej#_ddD^Y*C(!Ze|_Ux_qSVI>;C%1wdQa4I9(sQQy-*F=wF=q+ac!HW;4IG zt^Bq7@BSj~V^{J++A|zlkDfhu*=1LLz4-Mue|^kf-<aQSF~5GB`R%@$pDv$0NRO-s zF@ks4iC;(a*D2=Lc{9H*t^BE}UfXu<+Vk6yUkCFiX_B8#m%hd%uhV9d*Licv>)Og+ zw^sgk{xARH|I0tAfzmbTZXvci*j)2(ZS$6T_uu?Uo&W#*)BRB*{ZS@$LDQ+`_@U`y zv;S<!|9DcWQF*QkrIc6Jger;+eM?y=9mB4lNO(c~TY2hVpshTAGW?B|$J{N3o)0bk zcf<HAF{tUTV4bp9X?wGE37(!^e#LA}^+w`97ys7yQ<$J7SiUzM+RB3qZRM$7!@qUT zA@o#>|F@v6>E8ft<<XBJJn8RsejW=gI*^*)1TEpoPk2JIN6le&Hm_^Asu#>XgkjvU z4d-b-znZs4=4lfr8S}JbNZ4Sa*K}9XB0Q)0Tf=ocSPz`wB2WU}1M(Rsf!W}BkOtO* zYVZx<>m5e{$%4m0BDe}vfQ>*{@3X)H@H)r^>%dCz3xK0`90n$WhrvK_8SsFQfJ{G5 z14ZCvkOgi9VekWxDfe+era@1GByb(51YZI*J>j|-YyhLdJzzEX14yYH0w#b5K?1l0 zl!6a{h=oo8bHIxr1KbRP;5#5<rDMQe;7KqHTmzPY&w*6EbHF~}P2d7|fmPr)Al2mv zFc~}w27@a=Irs#~bm|N+54;L;!0liK_z8&E>;y0qJPT654Zsh+22!;z0Q-V>z*uk} zI1u~=q{<!)^1uV2Ke!mU!TUg_gC~Q%!3!WA+ywRm-vVixM}q?J1Q-gg20ri^kfwMx zSP0$#Bf*`Z4*UwFD>)oY0*`<};Bw#v9|M`5o(|@MS3own4b*@iflSYi2Q$DkAQ@Z_ zs=!x3s`>d~33wZf0r!Ffz@LB?={OYRgNMKXa49GQ9|93Wo(c-VOCS^60z%+>&<Pw1 zrh%uxaBwYH4!!`w%AX4sfw#aYa5vZ={0``C97lpF;4v@+TnUzfPl0qjXM*|QH829) z0cyd|K&GB2f?41>kP2=D0q`HdtkZEJC<gC>ao~P%5ZL5!tl_eT|JIBL>wyzo1WLer zU}ta=m<^r>X<#j=2H$`V;3zN^JPs1URiFZF1iisoU;%g?<brizCHMuj1&4u&;9)Qj zTn0SgBhV9^28zJTAPd|I!r%wc85{?ugQr0fxDHf;FF`+W9#{-EfYIO{up0aUb^wQf z3E)AH04@Qg-~-SdoC4;67eNNN83e(1pd&a2>;;|#!@xCQ8TcIZ1?PZ$z?;AY?gFd8 zZ=gLm0!#*vg2CVlP!2u;yMi;oJn$;W0k?w{;3v=(oB(EmXF&?M0r<h!U=MHs*cZG5 z#)A96f#5F?2Mz{#-~rGdTnyaceGm^$277}SKsvYy><7LDJAtD?0eAuo1y=(f_zd&` zXM=^{4KNbi3F^SFpdC0IOahO9LEv)W1s{W5!0BKvcm-sG+dvKY5p)5^gBjo%kPNN| zRp2YIJ2)RK0dIpb;9hV5_!G1Nhk|_Y5EuY11!dqv&;y(b3c*Vt6Wjtq;Cs*s91Es_ zr@(M<Em#h|0K0*6!6NV$7zOSI`-9)Xj^Icz1w00ZfGfdL@G0m8&II$pYhVPp1Jr__ zK{s$Bm<65#so+Ks0RI7df(t=0co&QV_k)ALCe05lYhw(wny!NG?x^P%RzcG+BK(8U zT`cte&{W*Wd!eoGSI4{;+WP*0nD;_k-yaS=z!JXDT`jc8QLX6{+Uox(Xlwd}w!RlR zt<}HK*7wK7_!rvx{`i>pLR;U5p?i^D{nPU{nX}0}P3B_qu8pHD17dpyg$@j?9T{A@ z(80$u2=!th*^@jN&Hyxu!K#n}D#XBbDTCIBjveCQW8{yY%m^h^kqn4bKqLX3nC;7a zUYr?m>`3@s2)PdfemaA{8z$fZ{2r{uknIscc1E<=JI)!G7B@bw#Ic4>+T<rMCbcxg zNO@lgO~Z)LS3%QJMd<6>8w0!c-*!i1z}{Bt6`Bt=Rs}^D5M^E#E~d}!t{7J*Y1;{C znoe5{^pp!F(3o_&{#y>_+Zf~`-*z@MjV?l;3QZ>(p>Kg6V4-h=?qi|vh8_yNt@Far z_ft!Fjs<%gdfsE>3<g=#erN`GS&s_KGE|Hy4aZ0L+eOmaY8_H#OGE7`l@zs|W9pDn zgEO{aUg&i!YhHMWo54y=40e-mH)#e6RgPPtr}hngr7pF;EF0=6Sk#Lh0}Bm3g;R(t z87Muzh>AcXn$I~|ku`Dc_iX%i1ez9o0cjJOrn6AYrKUT_yzdr6_lTi;#?UZZDnE62 z48Drl)ig|vV*WMFAg7q=di{g?9ii1l#$Imib{KK(ihE6uGULvhkUw$K<SA1N_L??* z#>`o>_nuQ&G<V+o1q=6amzGf(mR9(dEw8Nd2deiAhQc)~YFE~+5@kO_Z)kXG>-;Ad z8>)jwXe|jVrIjgYNt~ANPm0omtbZ{+I$Seb$<;+ADqoFUB~P!ToW2A}bGth#!FAwE zpzSMlqVH=<xd}ucTI<Ox+apQZ>P(7b@jPRnijS+*(I8if*fB||++!_;!zi8R1{9^4 z;&$eUf^vP0NpT#9ADFX997;_kR996RsC2I9T~FS{hTpWliNB_*R5lxw8=5X5QG8K) zFx#T(M^u#doNu)Ihe)fmUHNIntIp(QW07O?I<>6ATee&*2be~_jD14MWof0Q*(1}_ zJ?W(*yy@-{sUxz=z2#oRDnX@p1vXVH!Wh9)gT{Hpy$|u74|WHdzKDCtS1X-mp+zq# z*FsA_VfDWNTE;)^e@Tq{GH51sk@p^GCp7z$l`Wh|x5u-i78tfbS~@<}>s^aoj1YFP zipw!0RxEq;i#gE%eGHWsml4mt#5W2EpS*SAGqwlyTxjU1U)0IqAzK=DWLE@(oprxP zHQ~=9&DQ-IlE1qBv~~km7wVz>D5h<)e=BXD=>1z=&G>XXIE(kz-_DjkCZ78(8PC@f z*47!%u^^Y5%$b9nQK2^KWLq|e+fR{JqceB`ttaSm&RNu52{3;ky;3hv1(FMzzLLTa zK0(u0K}(y}^tI5^uj=sGr<9zlH2Rz&RMm(MYd35a*g!l^i@)3PC-X2SlZKwdCgQc^ zcMt9x>yy~UxCQox%0ppgG-HIZ+2388T3X|)l$O|VO+lGSQic~6r7cO3K3+D0V&lb| zNGFrF*sxEu*!<q+{HL%Ofif0rA?Xo+i%fqy95=M^{+eD2E&19o+!{>y`hB4aI*^z| zX}=XQVOK%-u!J3imVQ;cUuDt_<Fe#|#MLkxB4O+w6XzMwDV8`cffk-ver*n2{@u^j zqu&4F``JDAJoB8#`t|%ad*i1U5B|dQ<jc=3c;lF--@18aZsG^aM_qgL+0Q?hKjWq8 ziT4k=f8})pNB7t_@YudPS5D0S;H*2m-=3S*wN3TxhhGc5bmO2SotttFyY#e&FS_u^ zb1v=oWySpe+_QgC<!eXZ-(mM9_Z++8#;Gd@-!tv^88hEG;a=z4U0!{0=wC-XFzkS@ zG9TzO<kJVwnZ8SouV4G@&uf2(f7NqM_qp8`d~!wcw2ud6-Ptwouc|H&o_^u4>5m-u z+s!u|cvHcLX*WN4)Ps{pzW&0byKWh9!#j09U%#Y#yM;GQ*ma-ep&uO>@4D-NQ}&*E zv^#FmF&`|u+I_@D2b8vZ>clgCI`_QOYrgT{v-|#e_g}E{Ez_#TUo`dW;d3rM=KUis z+Ub~Z(Qj`qonLp;>7hxNJXQVZ6C)4HK6}`aw}1C~<%_wU1A7<#b?zl?zB;Ra#hx#{ zIcV?a7tXwN;5B=!9Wu0L!qYSEKjXP)U-pa|b69Qeeg8SU-ywgzwP)O!L%;a$G1tcZ zu6w-AF6I3kXLR}c2k(+UfBqz=Tj{Bfy4^cpf9mNU{<-Fik~4w_v|W6~fk%!gIwrhy z%F#b}zU}&__Wa_8so_5R+&!@4!rWQE+`Rbkq?_LT`khHh_dPTD##hF5DLQMvuCIN6 z=x+lrJ?YmgA203x&<?l9kM~Xd_?D6LKS`T&`GcMFet+P^VLN57Uez~eQ~bua&wXq3 zJH6LFJM4@1-X2<UZ0gEUKOM6Fy7Q|~oc2uFagSed^3v-nCwWqLyyK(|^DjHKc=WtG z%2GSr`rgFf#`oy?S^h}}?RM1<w>@`l?K@+N4?7`c@s1yF==H}{r}RANp_2EGJ2muS zw_gtKusmaKr;Q7*+_c+HxBhWf>Ezch+pqUqL;8N6`tn}CCe82P>9Nc&-hFuOn&h<n z=f`HQzx(McZku+=<vGsTdp}a0KWFl8H{F@=g7>bA?>ckloX-!N@xs9?d|#cCxXl0S zn-`pa^%Ljs@!+Txt2+Fr=GU^_5AK-R^^l_%{P9F^mz$sb_Q3IDcStE5bMT~#U;X&R znpes{I<o)ix1N@;>$~OchdrI!?&>R_{C1z8-}vs0^M?1iciyJHW5;y)`kAUdzM9$o z%ZCRa|IlNXf0CX#@AibWSKfa9t($taeLZ9KPe~6XeVjUBO0P}_78P{(bKKp3bPZg! z>G-z$^!)7E6M8MXeD#NC{}_0$?*->y`~FKWT~)fS|KgK3W)ycnbp5R>3VPo0W5Or- z?Sns#KfKS5o;y1(T<UUPd+HPE>rUEhpS|`^Iq8Cx*Z*F5+`iWybmH6VkMDa`+J}9H zFN*)_^-eo{y{P1ycH^!Y*#4deUj1&?$&Y;d^lu|x`Q|g<tD!^AO<42dQT^N8x$4QK zp&Op~sQ2PAy{66@d)k0|YXbi7SA5wn?vOp_c0c&MvF|PW<%cZa{ue%a{!!1pazUrd zhTJvcj=DQ<-Ei!TDaV~P^WjgIU4BvWeOC;aJbljdyB6<Vc)<1B+yD0VzrFqc|8D=a zXI;|c>$FKj&c5o?tPSpCW?uVi;*yNLpYu(6qH5K;hkBm>+@jl0nD_nOclBTX{negJ zE_kVjYxMeKPI>ExKRecadhoZ8jQh#AG%4`Fn%=z^CUjbI(yaZ4b@;0EmWw*hdpP&1 zNh32}xMb!vp_^XY;k3gqIw$9hj|&%ldCF72Zt7IF$5X3+zvuNGK0NlIn*E1Xe)-a~ z3(lQZIqjW8;?l3~duc-2%@cQ>GVGIfcR4To;F)z}zAf7M%|`|twer>Syj`w~f8&n( zkJ@kcv70{o?yN(*&m8~5F<%x|C3ITa_pYnM#i570CVo-A`%U==4}J8l0j^Om?DO{Y zf?u9}<^4T>yQJ>k&puuI{HZ4;2G{Jg=JZ<+>^<VjwvYDO6x#Q;FF*fj&g<v<zj^BQ zE6=~_#&P2=$vN}&GxEBvI{cn?ZAzay|Kk1TWKW(n==zW5m3WR$>h;I)aVHc#-Rak- z{k;z#@#6aLZmfQ3`Hp9P+V8^b9~RDAa6-znzny<a`R-S*|Lgv{#{BT;lD#TDGhcf6 z&{dZ$?(cj5^yxhq{vF*e-zjV5m}`f$A9UWD{q7xm>c(B(xbni|_rLYciMu{~{f1lL z&I%WPmjC6qzuouAQM*5J;IOW<Uwy_kWM*J!>5)4W?y~1a<Bz*zO8EEGkCz_#^1}PS zng08AzK{Bywa4oFj$L%yOW!6X@AtuNhoAB4gS%%vGOpK*gsCU~C;f#X9ok)S|24aQ zxZ<(O)4ui|)MfG^(^kFXT=45}5B+{Zse5CuCy&@rGH2j(gU&6uZBCmnu6XL&&Zpdy zdBeeZBVQ}exwxk0#+^>dd;R3JIp;4}lKA=hO`}2;y}Pyj=B|D#JGFnf+o_kmcE+gu z58uD^{ckQ?cHA*9eV20fUi&<8{g?-r-?#qp?hEgjy>_pZU*;dUu;j<8epjE>Yk9h> z?RRItopyNKK?8p8Gxf0J4*vYiU50kKwDhJM*A7|v;FGi8D|zFIsYiZw-}8h1%71fl zpR5Ugb-e!bK4aeu-kp5m-LKByI3PT6zhh6WZr>xlY}Ll&@9t8adev#KKYrea<CmRy z#nC(d_(J^UpG>`T!i(ejzxTj{!_OXk+byHAlXlw>x9HFVyYI1Aj|$(5H|_t;s(G`H z{NRVhe~x~+?J<|F=+&e1$pbv6Wv2CCvhQB=9{FS8b5*-lt^4uL11D`-e|E;w(qpcD z?(q9I%pY?7*%$2f+SlzjK3sc4w{ILd*MGSBnfOti=H8Nc%AZC3KKB09?V{_>t$8hL zWckeV-kCG9?drUTySBUHmNTxrZP?iH2QRtegHw73PTUyyIr;aWil2P$;KwR9Y<jnN z|D&e-SrPxAzKhFi*UcJm-z(WggKGyrbHYj8@7gsZZc4vtpQIi3*^gHzb$#HSTd#ZZ z+yfrC>dTMI?yi|}*oiy5GWfg$Q_h*V)9tzQPuk<%vQLjVp!$+oJ9m8LwVV4)KWJ|9 zs84?$`{-9Eym3=a(vyjAKlNAfB;Qwkk868oRnIF9`{ACvwTBM;@KPE74?HFB@-A}% zvqI}rKJR<kI~RCzE*#bCr<-2zdA<ohGIsCWyRX~%{KqTD*53ZtK`*|0&WTrC+~L_a zFFyX>XV>j>@$_R3xTN}r|9tq$k*Uv&`}N-A&N=Cg)n9)-ZOpXukL_{shkfR>ot6Ln z)btl_{%S(}c{`3i^zBRLewzI1@S4idg4-sXJ$Oi)(LH~k`2I3qyNP|S9)82pQOi1Y zEk5U<>Sx}1vrU&D(+;@s*3(~jWS2K?oL{th!<nnjxTM{v%%|K>O}Xv+V?KB^^Rf=> zF8=uX3y%2Y<o9}BnRV*RN5Avc<j40vEFrhsZ)@wWIl6lO_@6)6_2WhB?zno;u%9~5 z`~3A!5?7v`pV!YfV%!Odr%a#Oer3jnDQ~~A#{1Zn-3OMw{9?zWt{Fcq`JsV#FTD5m z-~M=Z#ml>{{pj>t`rVhcsWho(pZG5qtqmO5cbE2kKX<P@>e`1pO+7rN=FNwXE&TJb zJCXxObl>;JtA25g`D{tS!ahSsJhkAsiJexIyUrf*&>0V%apK0kUmJGr$-l1uxXn86 zaZ9JhfA`}~w;r55WZz9!mjC|D{{08v@>$8D>xa(t-FJ7lr(b(_)4Ho?+_(Fi$Dj1` zWqZCbr^BS`JyyJyes{ZGd+xpe;rss3{rwx(REGXDXwO?7c+TB_&9W)&51lviv<JW6 ztLV!<S&v?S&yq`)JU$?;U)AhyGLB3s4J90s`=bAkYfgRY#AWyP|Mr(Z4m<0-&fk2} zb;jJ&pDnxpi^U0j^J|A3JLco^l$nF3KAd*PPVR*-{kqGLymf1f4nAX_VLe{kbVR|5 zTYh<K#IDEg*5{8Ok6y6wysxfG{@|d`jyn1N$4dW`e8gi<bUgg`JI;D|--j1`e(PON zUK{^^?7eqbRJ+pvy!75tkh*k`UZqO!AVsQ3S=gobrGwH@DT1J)s1yM~M0y9QA_^iM z5d;LJ2`UHzBI1{`z`efr_rA~fd#?9B-#_21F`096l1WaIGcyS@LnT(I$MOuVQ+pC8 zvpxNjNhO9md>`C!#Byv*4By=4JDx&p?ToFv!`P0ZMj3L}nkPEA^0Bb@otq-%;?&cR z(C2-!Dc-PWq!cpPczP*~CAC7#comM`&U$CfJmbq$clr40%dMElF0pFS(ceegxhL1# z7;+sVTKaQKOiM&RuXUNS#?*J&uyqr7_f*{w^`!4hVRy71xOD8^PY*YW=I7XMXPUyk zQJkQVVcYO|WM`JKt)llHg|nQVFNm{z%Kbsa*}H@LZIgjXSR3~?(ki5FU(oomSs4!) z-wBfwAX3Ow_vrl~_cPHzOA&}IkLO^N@$ck4>2q!~k0qlWbY6`T3!T32*Az}b5N7l- z_!FhpNL4xRBkr}Fv4tt!2Yy+f`Y63J%A<r7+f`sAP5sK=S4r_7uVrcyM%%c|{&>l& zdA)E<{DbW6o40ps!xo*l-sp;%-;m5cE}~&4JudwvINa#w6%t|G=OyQ#E~v4a70lrJ z<V}Xm%?A;2^rQxs$Dd*u2~oAvlv|*=bd1#Fn90L7gRk=~lT}JDnKOzik|!u8R`^5n zgI%Xa>(wL*`SGqn^S`c0eKL~6sYT`ryZweJd#LUmrw6{&>QB4tU?&zF)V6G1VDURC zacEC}aJ+uZ*fHtx4u|1&A1pC}3AN7(<;dk&MmCA2R2(y0X^n(e5gMrhCvgl6a@hp8 ziI8g(gK$=dAXNLgb<ONqE9?urbJ)lfZO!_Jt*8kqS2%tGE!S)DW;<fyQ!36C_Xw(k zxCn|{lU01a;oH$D7jwPx2t=@rOmgn6n&4-e?5nC~YN(#$Ud6w}isGCv=tD@?<SU;h zr@);%6~`T!EZ}fn{knttkJH?@p4Q^-hA}Ji7(T;$zT~cSY+&9#(8YkKD0iEulF{1U zlYLl;G~*)Pz@qJgN48(*0vyBIXs1SFUeJ2R^cO#EBfFtL=OwuKpaM&N*1G;?K|};= z?5uQktKt{3R&Jew*zaheg4;bYvufj?+Ewh;E@fHu=Kq*;dI#s5ekXIyKmUE<-laH7 zvvw=_q`0aWo(`8MB{L*=xOt;}O?iER$7iU|WOaCNNya^P*NqMvo_Ut@(fNIcX?qS! zR!9y3PyhRI7RzUK4>qDv@w{E}Vo_1%BqZ6Al{xcE!6)X|+bXjKc4VW@D5Z3z8SO6K zST?+`)&C~qq%*p6`+iU7Ck8}>ILFd`qdO{#iM6+L9Vo;Xnxz_^zP(BriKSK;Nxz5v zw6il|q2K~rZiwQGY~xD~^U2L0x<2A7MTxxJiQ@A!?%LF!n7{eeCtLST(fd3EEGO9F zN;Km;j%UwK-g!2iDjJRbs4fSX0Du1kJLqX+!(gOiv{f#y-1@?sb?t>#?YUfLZ`a81 z=dDlgzh{ilKVRONf|6eRGMRc`nC|3#snUqWm77GJSA=pSOsXbhV@U&BEhP76Ws^(_ z7ByE3_J3;3ay;v6RlbOdy=&auhW<bsQ!;e#!ArMOb5uFWbA%_j9*n??V`^{Vx4B+% zpK%v`mRC+_5I0md-$5Q?-9gvB9oPN+VqT%@@Ql9~MSjNX{CAq41lqaG;x6snJ$-40 z^Lo2HGxIx}{M!8Jv77kc?BrEBEvpe4Gpw9<_zO6r(#R0DMKP)h)I#|0PJdOQh_fXa zY#HS$BM7te=zVJE=kLk&P;Zf-XH#G0_&kq2rF9ZdFA^88^lgcf@A2bGZY524HR+N( z!@^niL^x{P3yq%~<f5FEEoFOgW7hm}?`cgdEBTl?u)o;j{&_ZvLuiH9abqw??V2kI zmR@!xmMQ%SwaaWNjvsEza-6E3aT+7jWyh0fhdCuWt2b!$tLN^Az%F)eurq~QI<<L< zYj%y^#%B0T2@f)FK;_@VMm2F2!Vyet*f@C!np2kzaYRLSHCBnx$gAaV*v^I`*mOF2 zkm<WB8edhGaG>K3uwpMNX^Uxg@69rCt+HnIcT58&V@n996gBdI!fPZ>oeIc+A1{X0 zt5J<6No>{ZTuI~N%)zcO(-Ax>k0AtmayYqoZ9+5bC(i&?m&3G^S6^9xxg1QLHQmdE zN5xfL=M$cZFGIDHY|VH8_LpH;kxe62Y7q(hI6hK**1Woq@%wl^2Zd|ATQ1(6vx_7j zzw09RI$DPN5@;HyDxWp?O}P$CEo34-mWYw>-3)-mpC0$RgD*5)cqXc>J|Jc|{yJ~t zo#MA7h3~zQ^=~Cy`}}U<P3gH;f5dGa-;+N!{n4ntY|lj>*2gyEHFY8%QCLnyUVr6B zb9|f8z@2X;u12S@@sudGs?nO~#_hvdhG}0{G~#{MAdxEgfaJ+iL`Z!}Bj@RMYNn0q z8Nh2uo<>u1l-Zwr4KuP2^-?-_fdpMQfV7X`8a8@<rBP|Ew_3^qG0tOm!<Cj-1`m&N z6-IkO$qP@tYFdhnzKlome6!KLwE?AkTm<@KA-Vm?x9M*Jre#aCIk1WIWM17!ZA8<{ zdGg1bRLz-9PX>}>oQE@)pEf2Bh>$ehzKeXEGv+!$<cHTS8d3c%SYUif`DF7%Zrnik z9bd$^p(*mEl?+&>s+3o9X!~@NxM$g8lE&&LN4oLHHgm3-#|`k3g-A%g#T6izn$HeT zZ2fHPeszB2zUNv)r5P@91WO_68uzN(;#DQwt(vN;&VBlc;b*;5osSUZ!)Z6L7AIsp zx8^R`Md%JtTtjoU+?Tu3Ux|}k6*0pxaqZ1(xBJ&ZaVsAx5_e*yp@wCgMizZ~8n(1q zS{6Ag`nQ-g>^e<8Pz<}5VBLR;?OD0EH5E~HuKZdei5;<j0R^M}*%n^BpZziljZ+3U z=*n##&tZAY8+e9IX1IBjN#TZFZm%+E^_;NTIXS{>7}p@<>`P1xpF%Oxk74od`gzK< zM@$jN3zRcfIJbB(Jnau-7qK&Ny-Q(ZtW9j7IFGU+pc?Toc+wCS_^pa~+H`_(F~^O! zlnhrU{Y%S+rA_}VqR4K551*oyN(HN?{*z}xB*WD87d7Rv>kd`d@Agf^=E=F$tfu1@ z3=a_xgoUG8)e=TFNO>A&CD^70Mw7~0KLulLJQ(qu&AeuJT}pu>mi$FajRvZ};9}WG z4GmL60sj*5bq6(6tQE{{W1|>%w#TAsAbNA6wK1RAN`(le6Y^suSj?!wnfO>0%l-NZ ziVS@>`N0`n!4DEx@|SLT3bwdUv23@NQ}o5O1UvEeJKMgsv!e5+&=C%B3+^4qb^a<; zW%VR#LMQgwh`gX{gW$1DVis#L6a{M0j)hQ{f<mOFMLvk8Ur@<>%4+F*xlTU?R`9J{ zPv>lC{-1CY`P`A6I5FPSBoTP(YlY|ePV1`lV3)^x+HtJ(_;&bcspPkH@r|8B4JOXQ z8-qS-9SV<<!-*>18!Vg_A#LTck{AAw62bWXd)cNo!8cz+_ZRo#3;Z9Zy;Rp=<0a0P zR+TlFy&M<%eXi!Z8S77K1HZl>H(Jmy5{Ff}la6o3Ucd0v^-N8WjrpWj`7RsQsW~0d zF`3AuRrrS|IH}}c<`You#6~3-Piu9a8JL$LFyAviRmXihAyM&5qeCV4j(U;)^CIs! zzf6~pYCcb?$hId#6zB=cBL!H-%R7os?{ig~zUubM^xY5mszNnEM3UZaFBe4r@RA-@ zdu{HD6)yP~5s4Yz@0UkJQ|e^zy016I611JQeR;u2qd@=irYg4QM_#eWQ*&3Vg)TRr zi}u@oo59*8t~4A<VA-O(G~!11>LpB??RZbjF^cS}-TUW%gf*V(O+)PY6a=L!YjvZ^ zONQuAD-#Vx`BT<aWIR#(&XgzIvvKi#V3$*}Ca<IZT0%H?D>DCMm|;_#UJF$So(v(C z<mlk|mD!&1da_{Ctrfe|&u|;QhKS^5>P(Z{<5<!WiP!YDCr1rGZ1J$Tu&1kh{AJ#q zN$-@X8l`Yy9ineiY%<4JKg6<sjjZm~MD6n1kas_g=?qxASE9ixVoY(HPew6d<4d&4 zhuf8pM{5b0`rb-!9HWcrA`PqJ&58I?Qn%8pY!CPG57kx9cu`6o*8lW$8Zkvw0S&T3 ztNGUVR|OkAY!{>hk0H-$?k-)zeY?IYA<oZpnLtdhZYis5-7{{YE%H3&g=+Os{d3z{ z*iD}{#m-77UUd>QX}%m$xJ`b$qiaT$Fm&XcgRZPq&faa6?w0|#u)I|wU6mdS+$7?c z{2}x7vsCQbmUT6&TK(=f>%s2hmrew*XZmXNieIJBJvpzKw<Z*wvaDVij=HvH8MfP6 z^FTB#s^y%X2lWHI6_Q>_+yVS6BF{bQr$er6$vDhD8?EOHnax(wAtP(XNuV7ON4{c7 zHhk^h(xR|RO3ism{>Q#v#EV6qGH#uTZ`o(dUKm^n^$$&<RKL!?N$e|^C3|niB<|sk zVvUAr$In*1!am`f4rs<?Le)*2x3EEmS`mfTutcIabWIC>D_`wAB07_6b%PsA;Myik zPw^}8N~Nr)k?}6iC>r9x^oRN0>iArEHhiL7+CZXgcPIVfwdX<TbAEcRqH4Kay<}Wd z4-~p_JtFs+@yn@7XZN>juDqgmSMe3_=Tqqz8zE6|YnCfw^uLse%~I=gwR_V%J?Cki zzH3mT36_?_w;x#Z?{10`%UUO$=8$?aaBc9*smt~4W5&K0S9MRE!C9Cmi2Zr>lq;8d zf{naTBRKC3{<uc~$2r9kzu&?iuWq38UH*yXxnAYF3;tKi=9$m_5Il2dK#02|k3W;- zGVfNDbnl7|?W<^NM33CK{`0dBcCGGuj#_L=<y!0QC);oaDmKcr(9{_%IzCwz)@hFX zN)Rxp!0+FHvhl`#?2C5gY`+<}`soI1)t!`ru-de~C(%|4{-qYCg5%a7=eKNP-8C9- z<+;|a?Xf=5k`Ql(f4Ufe<~H_cyvXC7TSJ2GQEa?9x}AQbxpX!K-|1DFCu1-yXUG)i zMFJe(N0k)sM0e9WT<nxN_jB_L!>KRko3vsCKSvY_T^gI@SEO9$HNUOgt7GKxik*nQ zC!<Z``Iiua+K>wVD(Vk5<wfki7447O&8HncnbgYNF{0S0HFo0L&5)QGy?wqu_wIY2 z<gCOU#gJ<vG{N7T9mABfb;9}H{#ae09r%1zFYkj?%;jYpGHFuPPFf27dkEq*Q+=ZE z$*{IUO@a1SR?DuS*Zxl_Z93V=ZZ5N<Uft!H#4qEl?uuE}q$vC>Y(DuRJ!^gW=W%7y z*(nc-_&9oEu`?1x=dK605uG<}N8rM{-n=AzTCU#2R-BZ={&ZxXCye<8CoSS)?ZiXl zs>*eqauOMm3Wu^r^NT_0Cdc8kMkPzHjGu``XWZB=z5V0<_+53^tt`PgjSvxj*I)}Y zYuLL+@$k!=<ep#U**)$d&7HZ5L*4YbdafFNTuhR#PQ4s)p*dlxU_-UhYg%dORFS&d z&o~X70I6J-W`^v51+V;9LaGlQ7;j3tWQ<8+wLccGCyo>uh!!1rsmnZ?N8>!iG@;h- zhebrs^MZ@f;F=-Jwq+P|RzDCh=-+++pmby3_;URZS?wgr=aD&5*>8r$>8W-^yl-iZ zco-r_@d&Agp0q0Tk1%-C#|@rm{1nf}Vy1$}e7dK4hXd#KcU`O1{f)HNA9p?ndYbT9 zdB}$gImgsuyRDwCxVpZTnRL5k<uaRNSAup^yefm=10`R9A@%O}KQ-=q805C(J7mB9 zaXjBkQuYDCRiZb^8eHRxEQZszqhW7P*}jxHnf^{zrSFE~E<wF~>g48T+p)3jhx(7d zP{l^B2a}4@BA+tTk=}Ktt};=hdds^JMe}YtGPJHJro%h#(xY!u_BEmmh$$B@q+^b% z6L~0ksdXiLvE+*R!z7N-qWPj8gB|-ty%gD0ZQd`<I!fa4Q5D}GM2_bU#n`+3yhJ=} zU{80_0TJ$d9NE<%>r`qNSh`neReXI-=%Ii#c9B|ng@I*ork*I<iuRS|E}fYh-fx7g z&yQ>1@lEgd;=R48RxOi|cw2UEcvaDgsa0P5S<<E*dCoSW+3=UL%$@ZyIxX7HX(Zj_ zOH|ay3>2s?K=YsHg1q*b-Jn#LOKKAyQOs;QKiQl)f>4#Xc$T~4xN<5#f(b~j@2mD# zMu*?7jpKGm`Oa|iTbRxI6qbEm6;VJ;nx9VZ?gshs$*W?vZxY<{_qWVf(|u@8m5~Zx z^d!@NrtR&M4BwVCA&4hp#z{6@<ox1ZqVLb^?@CB3e;WlOYo?c1dz}@OwKl6Zy1B?K zFqFZDYG6h+-?OvaRz=7eAejj8$?m95o?HmOE;PsONtDUJV|T)4PZMchE$AL_g_ugG z)!`;NquPp?vC=2ELZ>wI8FE@0Sw0tG^tQ8pPyaEWsQOe%%goP2lo=lkKRiiy&mE@Z z4chRa6&34&F&wLrKN}_*blFNzt<6@OSuRL|&6lbY^-$`S<-4UmIg7pu0;&g+s@;)V z;nA`B+`;!n7({w%ZB|yh?eE962V~~7=)8U|O-}k*T}*vN$*tw3g85c{1C3x*moW1D zGyS)rjXpQ1<t5KZDiaZisu}(`F5_Mm-puP|(Lu}os02orI3#Z~ZxR&S&ZqYBnE<oY zj1gP-<xx~#=_AXJK1Fh-X0HjD6b)6o=mo>CGVyZz$(b@J7!TSk_?Oz3vK9oSNssG{ z8(EWM1;E9$e7W2zOfAg6%TLq58Se|bbmr<0%ue~-O0bkvE#@R5E@U%YOFr*jzc9gT z-}Zo(A9)i?LUl#q!b$hw2V_+0pNVLhjtRNI&ue}{Ub0KGc-5RL8*uwGzT%p*%KO*H zE<PTj<T2m$U}U-X!M3v@-663*E3j;PR`**bih{kKUfk^ov+K1CJF~HkMQWVk3?Uuj zJ9=LP7rYzQ5E6C{OoV(+Cya)akRBO)b9~C=na2o!Y+%WZUsdp~Bnp0X-A{cs#fOQ$ zmK1I@m4J-@wq?=5vn?A6i^mspAyZjC<9#t($Dik%2O%R3ZnEujjxP?8+Pi^IJTK{P z62K^g;TOamIfGp9;^3K$xJFTv>;DweOxxG{SrzSFGl?tVu^UXtxgTaU^#;o$y)2GT zFa7&5JTq%7As@Jc6MaE&lj6AgSGj2>3a0yT4Sz1=J!1=t;Y3SW_eY%gT<y6k`}0#5 zYiA~S^q)Oo#4TmBoxXhD;pVJKU{NQZ?p$#Rg>=G@xKHw^YeL~8v-UOt>Jtk_LWa_Y zdP}T=-Z=q95+O#f3B^qZjb8YcdPFet@>$879;5D)#^P8~S8$DN4=#VuqP}y#feAad z3$DAWgiPsCuy}J!UKSyyjL&QJOl2di@nS<zGmnyO2P2V`n(ZK!jKiH!(ZGW9db*z^ zdnhESYsABjSGvZDzB22x(59vhmk_efk<^=y)ABC<+$RzEyn^ub%UYwSE8QMRQTlvl z`69<yq4}>hdU_Kve(fV4Y3T{^_P(i5+Vzvh^fuxQuk5<gzo6@;Ira6ncxO$U_uuB^ zi8MK`E<~kveh^GZlBWruP9yP8SC@=z*3P)Km6hkdYV`C`-lbjJqy$rqPHVRcEksZ+ ztX4yYuW=cU@OV8Onp;aF?tf*GA((sLxRjo_nTPJf);b@{^p7}#bpE=Hr1>$4PVt4- zRYmPLdCP%<d?QF>1kSk!S`=SfU~hVK8R#A*8n@jD3hk9eh%@5eKvXeh@!7Mx!90_E zwdyM4j01+08L~fCix;aDhlYe%Y-xD$G^ZF1rQhA}p4MqS-5HbpEy*~OEYC)icJ(sF zyCj+RfzHo+T&r_u<?|#xo;QCdqu3G@|31xjcQ$?d{&9w$au;Lf<a?o1@EGwf7H>YH zi?xVpB~`7V&*xxx10}{qFY*||whhI-Ewn=)I6gr*<A?AyOJ9Xmq^D~kA3AheG%zJy zjakZz;$L4iIfl2D;osh@rz@4N^j>)S=J<p-%ZOa)^OZj1r)r}N)FJG!w+!=I#GF(J z`~*V2{_4HF)d$h5vbO>|rA~P!y(7v<7jm(l-Z6i;wYgK)%>GPmHEHThp4GdCBy)q@ z&PX5gX#=X1^xMM7<{J?gwp5$1goZ!f5`UP6&5$q8XpF}Gto6j67v^^UEuYgyC!)Mp zbOq1(LGF;5as2c*-FBj`ma(papcJaxiS^7<H`aRy5n<bmED~&7AD9K>H%z}*5g14g zw-U^KkP!N;F6bx|`bOfW!%&!#HIJ#@m($D{FS`j$ipdP3QolJ~Rd^?4fkT^%q;y-U z5Xx$Aj*N?UZt+cdFkL<7J)^uHcE+N<$h+8-JzS4@Q@KuJ=TlCYP`|0;yRuXvsjH3z zvTWf7tE>s_{iK^<`onUG@10nAoBMH{y5nU1(;rhQ&yBmrSlq?q%l%~9opgFv+~$XK zpG?5((T$7i`LQ%(4^I-OgwyUbs}e+--jMMRyM5DL!l3Y$P~>x4NAs;m23D381W8UB zj`Br;LLaV26D-JO7>M9`n(m_>GV@wlOK@(gg?;HRTYvSYubzHUE`?T$eXKoTw4L-g zRs1;beD3I_y%ktJVSQ;1_IhyE)|kJ@=agJ>#&{3Ux9yFFyeqXoMRO5tokG@w4UP$` zXACZ>niCjZ$YsuAMw)7Kq=cy_UXe(vxG=`}<X%c|v`c-PfcH8bb<D~eU)5X+z1n!3 zxsvvg$#VwFueb;l*9L^dZJ#^NBjm&QvA#?EP^4g9PdRSNQ!-0%xn{}0<}#C`F%O<l z%!zdgonWc3yPEB$DN7T~8l%D~A)SU}#ozPRvrV4V2e@kI))8M_@stQ@x4+{MUzMK@ z&HwyRv!2FCr8Jh^;})0vJvi9O<(A|(1<P(HhlY}`jB7kfNldDC%^0DiddYGnvlb;V zKT{&cy1kW-%u!$(txl?cJf~4${*?t=Aa~?W?pVp`v8yOJ`z?i7%U4^}3SK>6`okVJ z30shM1*hH6!d?;)H{lR^p%R)<L0k4>{1S_M&cKMTRaeq$_%)3)r5_YlhMTs&3Kf+Y zn(m>xM6E6Cbx6{}%9wk=^oJ>_iG<E8I+lI!^j@-Q=H?h76-)CDL|TC959`_D>@g0u zE!)N>3SHh|<<N`PUYb~38o7A4nZ?erP@|K1Kk0mG?AEvCA%#VnPLzssT1jd(g~F*< zmRo!h1|^9GCs4;)?ODniB}Ph=*^@|Q{WR{{jD*T?MVIkR-&l&u>)>GIud`@2{FIhm zw9^BoKkTYQLm5B)YN+JwE=S7k;w7TvuhWV>A}zr5htaLJ^+a5@+v3`gQjjBpqcVL1 zN(g?Cjogp3VrdG~*Em7Im}KR3nPZ=JYU$ml=Vj_QGDE@ihXo@ldz|j%r?tP^urQ4= zMy>tCE%}5;y`_6mO<{0dQ6n(kCCSA*eB>nwAB$$aLdk5q8){Gbf`X+g|5ocu!z5HK zzDB4%CCikQ#)!7@;?gQ#Imefwf>86q^|Dty@jYPr!~7p~Tl7!fP2+T94T+@GF3<X4 zyDWQ+h&`9Z*AgGanM$7}*8Su?66<6{r+o7FwC!tHv856rL&(Qp3t0)T?hhaLTS}~? zXx5Z|QnY>V*`9o~{0AhrW>aa)^R8ir%4@8++LttQ#0C<j%)HCf1i3?!UW>5v7CSDN zb1<jUTIgC5-?zppeM8dyvHTWNtNT@{naJ4ohVE5)*QZ}K`&x1n2h^*F{Z7xZ&Ye?X z*I=VvwwS;!|B-DHf)p0UYBLG$o-Xl94H=QKTz3*&Hem{7*IDog`Fu~VJb+rMd&uQD zR&N^2(s{`&^=IOC>ACG3q#9YR{7k^icF?zs#L1|anjJyotd2N|!!=Wsnl$+uiDb5h z!-bsqtfG%DAg}lHm&Tt|*cLW&ldqHP#$rBmw;QJ_KJ`K0TT4Zy0`?5K_2rnh#d5ZW z@{l6J{B8>L1{T$odCRIVm8pUko-bd<&t$*3cR57-(o}igTzDeZEj~?FdqviU6E4FX zH>peGKB^&a(HYAtxZ`ez<EC4Vhqt9ZjeXsX*pI~8@!1WrCN3^lU29lgNLXd}`K-@6 ze4TN)+mkHO>zI}1Rt8-D>`cJ6KBHaflARRNVUT_J*+W0pv9tD?7kDKS-xnBcE5AJ< zZ_7=A+_knW^^n;~eXdesIa*hTh3@#&{Xy?WxxuN95To7^_RX5;WoZ7lZTqC7Z&UDB zcwTH;5Mwpt>GW*7@rd$*$$7+wm#EXlWT^&nEqkJuE|Mrwo-}9MUCB1|uzV#na7)Hk z!{teeb)n8oHv?x@z{Jp}ndIbTk~2a3clVA*z!hfJYxBoS){(-~j-$#s<8(Fs`l=tw z3!<1?MMTieiR&?ajDsO;jWkJy0y%R+DR#8B1QJ@OKYnd72+<r6eHO>9WW>VCN;kda z8Q~E}DPQb^c(fx3Q<fR`8BM67aMe-0_@l9_d?7@n)#tfQb1%`uzH`=JOUmwIPxA=5 z=iK>xr=K+NezH!D>HZ|HTm+)?<@(mOloTdIr<sIVqO4OK`=7E+qf5}&{ife@Gvrt- ze(dk7EHCHs)o86~<!vU%n(n)Odm&}of@((VLwMFE|K(2(;ls&SnmP7aNcAJ`_cp9c z%AY<h^y7s=y+MH}-c>`T)NxX_Aja>8pC8^3I_qq2`*h6;7A0Ejb1b@@;-QM<#nZ=K zSchL{da9z<D1YV=Ae=9KOMb3FzHhr}7cnQ9zV3(UNy*HXpCO_)&Z-{D|HQ6)w;UPo z*192$*KF|ZOW)Yzk`gg@%jx{7Q#mJCTl=qmQe(X#T<M8@Z<4b4{7D2KVF0Y-MWl~O z=x2(h2KtNP>}+f@bEAeOMs-5eDF(K&Pianj;k`H5sf`y^3%H;(RD^H6=(aB4{U*!! zCA~9;m7au3c~XZsx8h^{jQw-+WR4CFx&_y%-yYj_w;Lv7-i|N=yQ&Y!;y0e7rNk7m zb2=J(8?g171k2dlulbBr;&WXYTz!8rH`I)BvMYVD*pOms<M=DSsK_wQJ%uM_Nkz-6 zt4h3#_g-iC&$(GerS1iVg`KZYAnPHSM+bIOW53Hh<3Ma%Pkry>Yj-vQICD+a36(Yf zPvTBp5&9GOf%1CB{MHZB-U^7aRTw9|Q|DlyYFowXm%4Y;-eT@#ZfWY1?Trm{Dcq>m z7}vcp^?OMxlX-)Wna<|QmMBcdd36_4$=&SzzKdvb*P>|ezp_)Q`7?Io`f1-NoJ6L* z7X6hZ-V?Q}?PE&!OkIWMmLI)Iy(s>!SNaQGQ>jvLJ5A)(%9xSCK~Gw)+;0zbC)J&r ziU)5>JG?OOqqdpPai8ThWA^tZ4$CV4K}Lv^hOTNyVso6cwnp7468OUR)cDMjILDhN zFBS0%x5V@Mw)E-AvE-8le+~+-66V&~I8NebT`NxO>Fo_BmTme}XVPvQoLkvBld&2N z_qa!!iZfSub~9Cxpm1a4nQfGcpXlCx^|K@wH5C=#*lO|lQxp1@TLSX0?t5EvI$RQ{ z99TA{pk(2=b(tq@O1qy-`+GC`tE@J*z2`B9%cZl_tjvk-xo<<6p+7r-i46OQ+7-^( z8-}HxZ8hxbT#KpM%--QFND(l->GRtDsxl5u3srdJD%+#A$?{A2x{+sxLk5I3_-4MJ zqNf?-JHbI}!Hf3p4pq%-)ET<`>FwP4tdEs&vgYW`uw;7*-E`v#*$3DKg<r+cZ=T+_ zO*BqT_~FpL?IrSsg9VGb?5x;vBs-1<eVJjv%QnQqyX)Jd67$dEv;uF`+{Mo`cM@%K zs#Hok)i*drz?l0v{nS=)!Q3US?W|*rUAoAVlFlLgcugb>rmeTNQM5}zU!|XX>Rf#} zeIvytF<(viiCPPNzMq@RbxykPU9=tXTQQ%f?W*KTjNWU?V-Kh4i|g4HAj7IgO$DB- z;WIHwo=Oz4%V~N~m9ly(y5p_hmoEynogc^?swS*ixi5S4nAiVU#1`%qN3+~Bn9+ZH zCne0b?&<|E_n&%-lpd@UPnm?WmbB|i<)yFuR4N+pyFRfZ<h8oN(s-}^Oc%wqi!>Lr zKPmD{O|6_GxSIalq*=8d<=Ve#b`Cezi8zQ(LbliuuP8!1EyG0Rem8Ib`tDv%D<i?p zG5(>&<<L_92HjBHgb8ya=9Or;K;zGf@C5#jGr@$D2HJ0nFP_LgEy(9*z*KL+5Pv1n zt?|v;x20vy%Wnv$TiT>aUadI?p3k+&6-<4e9E7`LMI>3sbI0-4#s~9Tt!G{o(kkxk zI6r>$yy<O*MamUYXSE##X=zta!c|7wWjX=PHyzdiS6ceG>fM@Y`7~FePNZd2YJVnt z7c3V%kU;O$-}v(Q%t~2I#RT$ew60e6vCz8%oc!-p0~sa6G<N&&Y`Pi!yfT~?<cliP z$z-$I?-1)&7M(lA_RV$9@OiU0^Y^QH?%h*k`?o)lCKq0WkDorX`G|t$vdnp*^I9H# z1>ycb(d25S6nE*eCO&dgY}b`3a=eK2vb7qtO*lFCxKLvDUYPn&FYI;1kKqU99y=R6 z)&fz-$qXsg6=D#6Z^O;pS0C|MH@&VVPsDku$RvF2p}_Zdx56&@_UN6(*&WVae*E6= z*4-*X;=Y)-q5HIJLe89=ww8Vty~JvXO>+5x2^=?acd0w4ot3|mobX2R=q;FTD7?l? zE{&12nyT&!YOUHXE{`qf=NL`LHC`m(CGa`57og-6@t(%q<OX|9>3!L_&>@mh0%ePZ zArY5=pQxW2{Isu*o5$Vbj@~Z*LfMej{<Nngwa)U#eRtlMVoDdzVP7Y8GhWJ+wwM1* z6x}sORY~&@KIbKe9%|H4QB7wZMyq<xb13fB(5xg~nt7fUH^4Mo8)@hLzPt)+gzc7z zDwQ6Wud+xjo6q}alqsz1gxNh2GHbQeuB{FZR)z*ry>@pr_e2&)N@3!8nb7=4Ne_y2 zd*>lawE~Q;&uDe5zscCJxwd*=?&0awH`N!So03W^X*%D`2K*oy)Hjh-;&os2zQlQr zZI(%uN|l)ohnuTY{EA1V{i-R#`1PJ`YsJ%~HRi<cIYCu?*D?xSBYvjTl^Kq`nvn!2 z3&^$ERo#5n&`)LJ*mJN<sN-aX@aM4ir1W&+o%nn$%&8|FI|JvczK%U=&wG+adEGYo zY^-c;Wc7`o+wa%9xQ2T?88u4GUIbvVwD2IgJ?J`lWbm?CS0pLS?;%~i3`~rk`8<=@ z&)vFHGg7dBl^~rdRV^;K=w{96?7PLvak1Bz(WL4hb*KDQa0)qj<U(jk{m+xS=wFq8 zhPUI9t8mi#)^*yxAH~mp8ow_qIrY{)bEK6mxol^ng|#g9Q^;lWDP=YnJ<b!2VF^aP zf}dPinGKwEDNY*RR*a?p?D-C^U^8(A=Vf#Gz#i4Ng2#Ss{`YQ9N+oX0zi&GKIQ65< z4W&tJ`HKclxW(bm^~QxB`w_Cl8~74`4$PKSQXF;TBEYp`DUp2<dUNU9@Kk1D`GVf9 zv%3^mq}nIzZ^u7c+N%g2>tfW@xzBMUgv@P@-}$U4;|pUHQL$^S3=Vsnvm*nIg>|K1 zw{*hK-SmztkG_1jx<k20AMZci-7ucsw9-=QIT3?zs6BH!D)>ymCNKXPZhHC;b@Ueo zU3mvHn1XBXztT=5S({iEXJ63>HEG~bjf-!y?YxucME8h97_sX~SJ`daoMa&qXX~8x zice;D>pPLvb}8fOz6<=<E|G+6w!G2lJH9wpBqX_n=crn5XLIdJl*-_(#SmDbmRP_y zLE^j@$8$5R(08=l-VU9XtzTIs&g{R*@_k87$Rt}VT=dpE17gvsNiQPOkFClfP5Hrv ziJGXDd+gRSkCToW>@5l2dpQ)7Yg5zY<9T9}Kr!s)2*qS?By-)@vx0O_xWas6xAn9I zUQ7wlGJc9a@6ob=Y)Qrq+RH>J36;DewD|c*B)%`@c9r$l97m6H%arnp1MQ@=S?_6m z3ZyuvJ}db*zD`w-xLEvpUgP4T4mn|su+(^5@5$Tgh19wQ1m_gC?Cn24v+Nl#k>9{U zrZxIYZbcX1nMZBVi8ZkC-1}l4u+tr@(c#cI{J_fPJrNCSwL5=r?A23Oudh&?&r{Pp z`IRkvr;}mynR)mpTBrU8_EOcEW%#N2-PGIn=-DksJkbgtn^f`Dq6Qqo3};?SaF;zK z-Hgzsti2}0i^_?#qgi`z(bhV>{?oYOg`oYhNGoyg`YSjCb(2(85fp5U&x5@$u02vx zx4bb3M`+F_^NCh|pqh&&B+E|qko3LZegSu*Kz+31?&^}!w_#a?*<C%6!|4yxFeNZa zEFv%L{z<gA%&~4-8nA_hy7Kb}$J?EUgPOCCu2awdwE4J-LtnRIE{CMqzaUCmRQrnA zZ2b-cw&^!sW13=N{5NO0ceC)>N}9&s5bP#TofYwZT^hjE|NT;P_qVo{-p3@gPmT1I zJMcX3$rbZHm*1H^C5fA7FJ@Tu#VBvJz-*1%!j{yI%)&x-AbTAzrXasBw8Zj?&_lAI z>Pm{!@2adeS)UYC=rn9xyQy;Sb%#1Rv%KCHD;M1dKS_eO>TNFGN9P3ENN#!)ALqTC zYj`1fJ0mKN<n8N7TS2`$)@~>666Gx1__|n`n)B4ll`u-y<GfZUGMhZbVKYC?K!5I; z)(Jit<#{i6jdH!RW_sfJdc9VLva&dX+V_FOj~7HEiz>cf%sumjKaU}E`+ViteXB)k zYhy+eLQ{h^S0~mQMLXTFR+n1Y8=i9~v~TLzGF@Z2F?VZrs3xn1T`;x^85H%d<Wd6D z(qN)i54qn=k`=mIGcQCNYyAQ<1%hQ+TjIo%=pIVt&P=*v3o4(RvgwwVT$g5O1)eM@ zO>*z4+(CaoZj|`t1Kpdi%@TNIbiRhfs&%C}E&IE;E9Y)WH8S;zejXK*rb%&9)U0gm z`t<cvYl9-y3yom4SJaoMhbdph52@k$kJqWdCsz@BT<Saz*{MF7@qc`TBT%oyla)d0 zd+XJ+q-$akV>cahaXtIyja=>sm)JSEe0LJRWp_bzN-_jR+l{_$oaNW+qnd~Wr-4O& zEJwX;Y>K_bI#v7JGNJ5lnqR%$2wStn)(?$)WrfNwLd>-!<*^MAy|+yr5?&ggQWm%B zA#gmO#o3T2W&b(XzL2sg^OO4H?sp@vPCtlv;p!gVdh_JTu6Cj=MK^<7X~o#{q8%MX zQt4u;0yq4+_}iML*%fv?xLhX6CtL5mAHQzSIOI%qW>~&jV8MMOct%<#Zs}?G(C3u% z6m&8S=O{h;^G{s6xyI7z<c8bDb{Z#brH$C@@pUq}t6E=EpEG}XhCTaTR;_l=^K(`I z>xVP1qa9eL!nt(c@Z+bmMJcs&kH#wqpM2@edr@ISEG+baByYK;{O~rZT*PpH2VZLJ z(+d_My^$=!-6IY9JF$E8KL?~1w*<W_)`QP_67?UGBafMWN)UAW8ce{Mm_bO$mO12o zHf`MfuQY>^d@G?{VXMMq(ep#PqqCRPH6qbCG;usHR+A@^>n|r4qrAC4hy?n=`z~H} z%m^M&$8s1OFhM3VKJxIk-go7^$ex-c9eCr-m&<p#swVIFP_{f|Gy72DfA?6ym2su) z$!~Wp{90bv!u_Sp-ikXIU2fmejgNV(H+9BXot=<CC4hgTVcO&BlY|1Fs=yh}O2~W> z4C}{LC+uD3J{*Fy!mm-U?`(!!?rjHkn{36Zi8G>A#Tc&knx42~^Ml^6KjYK-^@pEH z8D6cDTygxkMSvx>5QjX)NQfiBbmx)e%(0gpNTZ+ax2JElW$KBvI<%V$-sm(FaMl$S z_8Pk_lxns=Mn~QI=EL2h@sAYP6O@rC_m^ZZJVc{QJf$e{y?Qbcx6h0l->Ni`yi?V6 zFGCyb?zEiw9-z{C*I)gtgkRm{*(inE;IKR$K}1(fX{0Ri^K&N?9$US}1InzM_LhS5 zc%_BsrAoji%VT5ZZ^fm3naY;Wvy}2Qc2sjm3{`BbPE}2?;#PBCbEsj%?x}s7Sj_in zJDry%c#WU-gT={Zq~cq5IO*iI61S<F3LVpKm3d<Ks`AC{WZOlY9=eKV@Q`(}I-Gts z`_Zy<{^I&m`n8*^ggzTAUw>X_{^BmrL@{giA^w5$N+2)Al6Pala*|{#Zm3urUR=`y z{77MPg0LKy^>6d%)^ObvHgI-seAy59qRzf+qc-g)qdB&CO@qs2t1Mfvv)nrOe#JQv z;>v<%4;!O;ciZAqB<COH<yxDaeEMj}bGu0BUCKi~v~=O{5Af$sVY0q5U#xvjBffff zd`^wic$9Ogk?UDZQ;lb=vNVx%ts<d|PPvz>K6{s2S#kC~$)&Wr&mA|j`o5me6bqHh zEy6i@-#ke_$B<<{`*BK?8Sikp`N+9Zlff4kO@%d2)V)!nujhOf-oRn~x^Zf#Oy4R! zTJOP$_XaufdS}k#^54*lJ#)RBgfG43R^(0H;|q4Lj7JdSZ!7F23>X|<v|YHW_$(~B zU5hcXbD}ay+H^Sd3DshVQdUH;CMj=FLzF?EBl+B`I}tIxcWDG(BJSzRzJC)Wcfy=i zn&oM&%$!dD@G<>?k)@8B(a(k~uc@bk+0rv~;I6cS93Gcq*;9ySzeQZWv~vOf-S?0i zTDzARg-Nk(naF+)gp%*53{l{{teV~Esh%TOAACnN8ZxtK!A$4FBy>D6Rr^>1)(mYx za$LOH=97f_knzjS%f44sosNY+<KVt1_gMLY{ORSewz8|&PSqx-bjvKI^%g0mig5BE ztL<n}TA$F41{WrrDmI#$?)$!ZV!PMeY~gjhC4a_88=kMCHObGVJ6@Nh!z1;fU_f-` zfj~=QKED8G-spW*<FgCiXG@&v3?F`PF*5NVTe$qqZ_z)H=DqLx#`$E|w=~2;pQ*RA zFH^0F!zsz0X#V)#ps|N9!S)lY;L83U-zUOgk4d7Kxd!5BZ)%c@`~Ll&;gkbu>w$yU z?Wc!aR_nM{3lli0xL0|OSF3Ta$Z_;A%d>aCt5AQj$oBC$Luvf!td)92d(@OXYAZnD zRuC05|M$sAzmR!s&TQE2(5w{WK0B5}D6!DC#zX&dZ-hs9{>mHn<<OHVRL;W&V23Aq z#z5@q$0u!{j+H3RojBjZ%Y9s#>*V_i^}%gDttmW{820|6D?;p+%cG(N@5eiC5p-lZ z68CxBa6NU=%}Fj1{iw?_3H){0#b@Gm5j~1J7mf4;BF-yKq2=p(lSHc&Z~V~u;I^hl ze=DVl#PMF)H_M9;^9#`V<|Z`OYDFwYH5G%89rUJiuC=sSMk!aAdbb6;$}0LfK7UD@ zIU#l;mG9(;=icy`JvmQZ2J@Tho1YiVk}K)0qLo+VLXD3}1!j}&Cirh`U%CWK55K;j zfp*-xf6D^9^m@^HpL;z;yPYl_`Q6NAoD_Ek2j}qjp2(z$qzeOF5k4HF@2-gOevEAw zVGE{vCE!1=pqI4Op&W^;8sB{8$)$>>GmAQ<Wgj%G3%MIEoAK9#<m;YsvC>evgUq+; z$|y9Kba`INo!*%{oJ?ek<%4^6BMSNGU6@M&b=1bNU)cUwTyiG-hEJM+lZ$PCMY{1@ zC8QYV*$hSAocy<<Kdc56C<@CvnarAAd^+PTDOYwu=7lPA+xQd8US5TXFZLay`zazd z_|dN#iG4-`xAJ&HcFiUju+_Qf$ZHuk=~mu<V?053dyaVd`sbZ>3mQQRQ`YG{$;Fr0 z(krKT)J4njwG>pp@^%`MaJ{%svn(0-@x4qeOHA9%cUO9m)2_qPY))g{g9Pw50>lFR z63_bgyL;Y}$~@v^?RvobQPYF2px%zrR0lSvQAPH-s<@2?Vf>OcEvI-f!Zv5c*G}b& zP^Q8DTMuFUzBG1Xg@jLAOa61a3~|xeL_t@{zsJ#DxEFN7$15TDN|?W2>{XAtV5_uh z|A%%XNe!7}ky<%&w`gspt}hguxqmgbvLnz*zdKl!kpkD;br!GRMz+bwTP1Xfng>f5 zmAZDH&%HI6VyiE3?`+HTk4MF9YXvqeG|kxWSSr?NF6zvEL~BreZE1K)Qc)wdGkAsz ze_G`=?&8Dc-4FSUMDf;y+n0=XKkGggrqalnoaMHB#l&wa&+%N(Zn9G;RVcqMvcIqj z{T!+FK*~kUq?4#gQx3PRy0I_$r+RxdS<U@W7Om32RYQjanG(-SJ=WymW4So!lXu^_ z2H1aejJcMSneG*liVD>8EW4s?uM)zRVH6{9GdHAWzB8tA`BdNp73Y;v=Fw{mGdNy! zAJ^{&9-FlfIYDWC8>W|gowV6-bMtY@w;kIWN!)lXX~LjJi#0cO)4kiBnH@uNX?<+Z zH%^I3?aQ?aiFF<8SL|8juod5&G*-l)E$2SR)O51&^V`8js(~qOB4+lx+mu3{xZa}| zb}x)4W4ukly}VJLka>8GvnH}|R1mO^1neQfl?}Dwz%3gZa#kh)cLI)`f4w3E*Y<-$ zhThR|cNaGl+|L;WJr57|^5^jdsBbV-B5)%I6%LskM7e-0zHp2yc~4AMM;G9a9r%g| z=DY$CXt)!`2N+Z{#*r-ocu<3^I|2vNe~<yJazXX*0K+jna0g%DMoS282`Y4V|D$-| zEDWmE!5K2igUNl=hW~u{h*)4{&(jH5CG!Pl#RQMYfSx4=EfU(yp~l#SWV%m{vArV% z;tycm{Exmnpc`ZI{=jLTEL_<W4&3E=dIcW(dxLv9IQaYe0%I|76KBvV{%C(-nkpFX zfkJqqkI4D6?;u~_a3sPH0f<3Bh8sP3{NM-&zk`PmpwL4*X%L+vxzre==z1Xb1N1>} z1GL@6(FOP$gI=N|0(3a?mp6>D9)|Y!fUKPXC+dEfmkjF%&qKCi_CXBU4*EaKfo>qZ zP-x6Mb@1}^LjYT82+;MwCK)J|K93q>AMBu?Ts+YzUq5I}ApO08kx20F;BKg3SvU_5 zsLTT7g@d|+Knxi>{p&Np#F?O%qo9{BaDD#AV{l$WUsQmLmp>Z1gc(DiFh000Dj0p> z(a;_RY_~!6f<XZ}Fhm8pICwevBD|el9Kh>_{HOyX^Po<M5iSKWWNWY!#G-%D@W0Ou zzhG}L40#Tw#Q_4N%%{fKniT^v8F>DvE&r_*sDHzr5(+p?hwP(90GiGNn&Lp<0RbA* z5d0f;9@&6`461E{dTl{Ha1c&`aD+p)lpy;`N4Nq=Lu2h%_{H5daLef6k8y4eP5%Rb z7SKreW1$FeL4(-~hH(hW*9#PKRIUR^Lrl(p+EQ`>4#F_@lpIj*?&t%XP=7w>2A+ZF z`OoJ>A!l`-2R<>mxsOudn)E;2mzX+0Cn^<CW1K7?0X@L%7VHQIhNLm}X8-AWeSsY= zPvAifdVh7GZYxla5U>{o_2Uu#;Lv{55v~d*Eo4vX2#*CgWS8u>ZQS{}ctC_4IZ1_P zv6??v_`!N6E9;301a;gkq{j4v35c}--VFj|%NFSp0Gu6yl^8Q94*YE%SWv~>IarDg zih?qs!5~BUg6EFPfqddY2jqUgf58fbMA<@vRZv_==Fs(`gR`%fr<bjWtpsQv{X=Su zV+<xxA14UPU=@XK|It`D+S$wB9SH|38dzz;vhD{tZiT*dh(Ge2b#d}UAz_K2EXaQ0 zQJGIb8hUsBqGHl6Ab=zWewknYv#b8k`<Ur=^eTS8TY#xeL1=MwLiqwSaH2vIQoq>F z1N~lfuy*K!_W*_)uwCrw1-w`y{J>0y9NA=p`;_4NKSRjDKtQ--4AP1HN=V%y9alhI z(7JwvXMr@djve6^z!vsDV^h%27Z||wbP|LtJz{!B{D2^&3)&mu2fnY+k`B{)bl?NV z4fGFW16>c;^#sllV8?&4(?<u=U|j##K5gkienL<NWViJMNHhEeXZ#D!3~<uJ{E!_x z7J##Y@cZxN|LOy%HE3YA6ZC+xpC8J@8~V0`X>jn>0pA1!+)fSUi12s!Q$5UTcfdU% z+#z-<7%;fNL?N2(fB_410lcFF!XJ%-19l3S7YD}t0A~UiTknIl;&7Hgs|BVOz>q<f zLouA?5iOtq@KO$0I>6OI3^8Ep5P+w0VuKjequGn`u<Uunq5|^%gH~DDqlVZ4f6Tx- zqc>>Me>6y_yqFr}WJC|dDA4~;K;J`S^9Y{;xY#c^7g&#>@9)ulK7gMF_@QZC;F8uK zF#2Hp0ID5){9OPC@8J)O?`}Rm;LHB@LXP%BV&)P$7!7Qdx(fqF-$PhPNZ8*K?eFdF z1#xDO=~_3mFs43eTr-zYW1Q^J0{WnDu%Q?DxO-waLX1t^zxz%3?@93ugh+yDDFn1Y zynx~%Eo@+H(}OfLKiEOq#8_EXT}@rZR8#wmhJm@V@fmevV*_IoFo98ODDe8VJsrKw z5x$4yW4_<uG0gK&8Bkiclp1CTf++}=AXtOI0o?!qt$Umx%>@EC2s|M0g1`sDNf7u! z5cnksg0v6_!XSu%APNEm??IV~Ae=?{X}WvaBis+C2&PvNa3{<);G7sUZ-DRy$Oq!r z(P{&nf&-7%httO%1>`w2$`AGpln40&5Ce4_tr<~ZE&BK7{+|?K*1xj<x&Hlo^*Xws zFjh%{BP~#;J!ms7XeTr_#X;Ml_Xq_Ekp2~y{0lDi7yJ~!m3<w+_uL<R1OfL7zUq$d zUV(n)2R5t!?l=d_iWjhP><dD$rvubez|j{dQyauW;2Q<46A}Q2;OP2W;)ClD{YUG$ zG)T)F(tLDH7T|Iq=pjOaA<@bY0j*Kc@BnVDF`^h)K`<l48#8MGI|37^_@`{`LJOiT z#IFNOyJCQ2`1LCdgV}+4tU;Tg@6QPkgVE~=*H-&e6g&+V`S->MRNFyczXx<6K>ZpJ zEg;APdXD-}0i;iZpa_Dam#+u(b@4r5O<~@Z)EK+`kWq&Jlsf?D14$kph@jtZ!vSxJ z;dI2MF`aloi!k7U4;oPjXo1E#G)e%eup=De=}CUUIY64_7aZa{AvxfGz|2>u2;lAL z7Ur^&3I!(4j)PV=;D`<qNC80nHUwbEU;qqB3>@V8lLkF-^?%gy50~!<%Kx>E!GFOo z103p?qdtiTX{bg12;X2|=syQ%pl1p8M?>rhuqE#W0ww|SC{<Hq)(SNcL!F`xV(=-3 z=^n=VAcg>np?04+j152xb&oNK!4!sBfEZeH&Vv{#=O{j+=`Oei(S$?<qd@=`&cXk_ z(0~5E;6K>#VR^3)%b5T%RPM}Sc}Mpb{(>KspAYhKfpCP6f;7V~_&i8MHja<(ulxny z{0oi+8vARXLp~;c9alU6hstyE@B?fK(hpc{cR>0%p#40MejaE)Z=|0$8q#?k)n^Ry zLu2({oGZY^CK@9n57$s*oXWX@`XG7a2$umg(EWm|{RQ^}IOJ>RD8CQDAw9?uo&#`b z{W!uQnOh6sP`hw3qXQ%WK;uWN_F&vVcp*rGtT0@B=>G%wKl2d$ndhh;S&$i$V`M?V zCI9pOU(2AZJFJKDzsN)NXCAzxi4DsCwM<hJ)j!&*0&YNS=Kt60U>RtmJ)q-g9X!I1 z*1;qEXdV2w#~WlD{lC>Gs?{Ip6pX;aK?d4jcLo7Cd^MnWH33Q$xF8&g)KKnz2q0=4 z@*aR2clPo?0oKFQ6Xh!`<bd#X@)ADM=wUt;2flqU%6GJoi<h93qv$E5n3%miLR3;j zMAQ-Zq<}ORzkXdjp^Alp9vcOzbA%7vA;9n(4*c^#er34<ePDI`El~NppriFWKRunl z|1&)EJ3nK?zyC8c`JJDI+3)<$S^WK<&H3N?+1dR4AJYDJe*fOII$93U5cg^Qgc{>u zmJlqr5RU|{;ltn>1i!}6YWypHbpPl&6#p9}dpSA+(ec1p&CxnQ*?b_!sen55LBJ)a zAi^dkBPSpxA;qI0BE}&jr@$g1CBr8oCi$oCf#Uwv@*$c5x&IpdM|}d-a+Llj`{&m( zffQw|p$Zol7ngw_$t;*%Nl0Y|bZ^kd1h}FB8Zrdf>~smjTmh1yhc~3H_W%ku7c>ee zt&!;e?f&5{jEkjTJkw!3ssLxctp|STfF|7A3ysF;yrJ*NpEUy!3h>)NJBKOZF31nb zPk$5#Z8rnGvA>fuL_0(u@OlDmss35SOYn@qAI}`_V?utP0ub&lNN6V+s6&952FcN| zHfk6fh=8;UD)t9zG8E_nu<wMa5XidVKD37jG$=0ae^3SFWpJGwT(<}6Lkt;zXul4- z^son!ARip$JDSu7q9NF_g){^}(dq9AbeMo5NcZmm_Gtc%IeI7y9)6{PQ*J;L0?^b9 z76oV}LAVD3sRFbZj(JJ{1_}S$G66f)ey~nJ`x(&wG~~0Y3|s?b!64qT38WzzN!i2R z#mOJq6$W|`gga(93Sel3UI<2c3#oEp&q02OZ(9K|Buky~f}{N%oPT)=T<kd5^JfAv z1W>)4APv=d*2~}50gR=??I<`HE?{T@_3xo`MNIEtMjf<i=?6F|lph@0D+bSsfHGu2 z>;a@iXiw+g>`ZqTdyHZt2Gj}lSqI>)q5YtL<Hh~S=^d@^z?nR#7izNws27rl{^Ud9 z{BV76Y`_@}7*KHf08FF9Y5&JF`G7a%`=8GU{=Yrbe)tSjF9!ZMr>yt@2mlZQAOb)P zfCK<30N_uRj2r+307?K<0H^`b0H6hM48U;!bO7i9oHzsq0E_^b05Ah!0l*3X4uA~+ zI{*#<oB+50a0B20zzcv6z)1l700aOC0uTZq3_t{c=pl#!04uS$1OQ0@QUFc?kOm+F zKo)=;0C@lk08Rr?1ORc?$^al9Srvd90CfNw05kz;0nk1K9RRuj^Z@7sI0L`{fFS@Q z0LB2$0x$t!3cw72IRFa)mH^HHumW%%fHeRc0JZ?^03ZN>mvS^FXn+zG8jDBxaeza7 z%Ms23a0Y<?dt>!zrG?n1e~P>K_3Qc9GXH<h<G<%vz~26|1Af*Ji~%qd0Q{DSsPuP5 zM3vu>5OuWvzJ#c!^E(ov;hDcLAsQS0j)Z7t@;efuh1uVi5YJisj)Z7){_jhOb~e8w zAtE6?)6sZ8lHV{x{<r@7z4-!z{p}fZNcC^&R&-#n-_Wi=8wIf6(y)MK=QngL#!&sg zrDrjN!G25AVgb0W-<U}d{lBGev4O#UL*rrx)&E;s7v#}=vIh)1v>#%M2Yd{pfZ*l{ z4sf`j9o)UpkPruCJuf#PUj2Fw0*Gmlw{%~xU~uDb^BZR3>jE$!J)oU|!0QI35O8p8 z3>;wshd>Ve)^heyW6p5>{{AgEiDwJ^)dJ4M5R?fG=RVL5=sRfV?->Y=vD*3pU2CA- z;mKaGd51Y&?cjhygZ+ANzy))DSPvrwodw6H5a2}gfs_J-7DyNZZA3UiJCK-``a3|! z>R<@aM-V_VjvL_F|86^u&RYN)!MU3Qoew04(D(mOKd(AyGe~lR+<3x*z&%0`M}Qcr z|M&Smpu0u|f&F4p(Zh3h7#E{Jn#agQP#xDnU0|TXG(mv+775x9?L9y;Aqu1&L2v>A z9JB)`BHR&R<J-gA9pwRJ@`H2L2LlQkB}b>c{XLIP(Ypu3oWZjYKy|r*^xy5zU-tDe z+7_q*&I8miT~Mw#*i(V@3z+j9XM+J{LA=m5%L{NH>Q5;B6r>?|3u1^CsK3_^)2dz` z-q7K26E80n7bh6Z70?N_9|~?D{ojmxron%H+-rd{e;xO~-*=Gz=L6M7-eK81po2I; zJCE=$puN!fQ7;ffaO8iOe&|r1Jh%+=KD-b0r4L90UBiEU&dwL)hu#Ym&>(%}H{B1U zkNVvoq<_T&{(=Yo1rPcQ9{d+P<S%$A!2hZFh4A<D0tzt%X4mK7NP%;(y{`*W80m-r z19cPhoik|bS<ql;PxA<e<UL47jX)wX>yam<O2jDVFv}9=TpirO9fj~cIM5&H<?D9z zY!i4EdLxI+9vTq<9tM-r#S`UzPzpGkIZTa_ACI1S2%drV!jA9-fGhoiF9IA|2afJ9 z{RLkJIQaL+{SSY^R}S%mMnEKiwe{#vBrp!_p=-#)Mrx}a)kAwYe~*-oJdm1-2krv? zS_2j{LXFw`KFZ4n@<KHHk=M`bFelK5fxM7BeU$g)VcsKL5a7_+nE%{Y#hislply9o zj=X%3Yh{e~lh*~wcl4~>VOfVKA`icV;MF)B=vEPM$geu|=O%D)N)>!nJTd3<A<YiT z6KE`<7YzEv*AHzARE)Ne9@F;!Veic2yc+xe{~1CEX+j8}_9;!fByH0kEu)1H(=_v` znVQWkEflSUBo#tbw4qem3DJsBL`6{vA%qaZ@A*3Cx@N99)qNND-1qm7-#mJDUhnI= z&ULPHKIdH5b*}B0fT5TV7@Ov#JC0+y=W!Lb+5v1@9>P{TfwiB<uItz@8XKqlKZ-JY zuXtqu<u-$uTDFeM@fzv8f`Z8`-XQ008B7#m@HqDyW3CyXm7GY)pL1n62XD@oazCz1 zi+1gT0lY~>DG^H7oLuI(Xljpl?ve0OV)R;rHTcw-?c}9|{rYexljd51d?){e0)i1p zj7ZSXy!@&N!mAQQ22v+T4l{mji$6z&JnfDmeD?ElQ`2ht=}90xUQrv`&#}`<^Kj7p zJDB{33aXa}4nf}zHt)Lw?dE-H*h4`Dm-5?T0ed*M^3<@2Zv>iOmd5<v42ti~$Fj+b zB6YmmFCjfKD~a!C=R|TC>6%OWylf`H*5BUS>W_ul#`Z+w+s>9I#n7j0mF|7U{?TlI zW2>@P=~LRoNc1Ssco3b_ooLtpE^MVY20xVnqtQBFX@$Q#VBceGdwuT3ZsDDr*Z+~w zk6wBDB#!cUX(ma6Ic0i4bY~~%&Q36Q_8{-UrMKhONP>Tf_@6O0IsH<zxGaoq&c8Sb z-s~<0qot<jrCUGc&k5czM(g3tT}fc<vf|5)gqCb8<<&t}veh+R#a3;>AF@?l>vOg$ zbL}<#-T2#UTk1o9j>n~D+mfyJZ=u9_l^%^q?4o0}Yl*vi?~LJEIllgoS37h(5OyG$ zM02iImq>0eZjD0m+($g^GLj<$ZDX}}^>RWLKl1bExRlHm)Uk6?llnDm$Q-@|#*#Db z%%2`->x0TUG!O5eKYWQPnVKNr9Z&V!8g;$l88};49=mkXMs+Tv@4xFF9m_c+qjewM zk9KWWkHhZ)7!MO*B0LBW!NV{K9)U;UF_;XG!xJzCrh?+%!|@LUn1*{>lZGeJuI=il z@S6@ZKxvo>vtTwn4bQ-{FbC$sb1)C)!vc676o1P0QlWtX7UJH+q+t=-wOzd!za_8~ zl!j%n9A1DIVFkPdFT*Ra5?+PZU=^$e#lMf^9|}-pw}4;eDzfOwPHU={)bC{T^Y(Xk z_+$2O;rUVjr?qpiRo~K|b;~nu*4A7E<*U~26!5>w*hP9m8H_CsoYT~g{qm|j_eq%a zS-TE)ImhmbeUW4L##Y{x|Hw1Xi6Nls-ZIsl9OVLD#%)~~ryPp^q?9)&(jKQC52>!5 zwYy=f&+sU9HygJ<l~H4bHGQaI!@Sz{8#e3^*FBu5>BeO7MRpx&{-6=1W@1*VcT?=; zd^DD}0oOyn@85lQ(`k5FTMpBPQA`@~;_tb$RH!5IUdeS)-e&E#*qTRY?RMDueXM;I zb|uFii`~qz7hx-28~!zH8shTp53p4?J^XjjSb!#t{Yq|_$)U3O9nvBhHm+Fm0{-R4 zrLo{uj~JKV1s*QPL^nlcOh2}Q{U2jr#kYq4NS4Q1bbL1RmYE|MVbH=l$8SBlgGNkv zrC?#d*YV5ZIZhy+T@Ve{K8fE@^>1rmgst-0wRMfHeXjAh&-5Dn^qW|F2U_nTu3g@- zze2}4_7?$rPrz1s-SC^SbzN=zZwKt3u)~i31*BK!XT#UR)-!DFs@Ruf+h_3+@+5_~ z_FU{svH$tA<+oQI;eFbxQ&Y!d)db$HYI-#+uWH@$Q-8jH1&*)#@(q4RTaSDb-7U9w z1Mlbd-slqYXf@1K7<<2LKu0uBJb@e4>~H<v!mp^$iF&t2(s&JWW%l^<txl(sSmnQP zJ-y!FtV~TU_wtm99ADQU1*(CyQ_=c;D>`lijGGN}8@7G}YiFW$4%R-Odng9m`x(OB zy0(sOpcgf76j4TEdc=m)y~yip{(kkaYhV}k?@(}WrAN{k#H$N3^|MkTvJmfH*Yj#^ zotK_BYj;Dd+_$#!OV>`uuJ8Dd5BN_A*b@Wxlh{qbwv%mg?q9WY$+q|WyT-Qn@O#*s zfy?Oee!%~OfUS17g8Z|ceWl^yVDgRk+Jn@}CwjHD+XV0G4a_%l@_P49EiirGgv5+N zfe>=a;{m0zK<Sp6s~0WrY0$%{cc;{(gd_T;F-<j_8SBanm=jIIeS&d1?~792T#E8$ z8_QPL<}$YG18HftUDzs*?`^h&*y@@MVXM4-JX_`2&#^s)?P9hH-_9Qx*DfO~FE=hD zDTU%W*>&rd!K5(HwOhd?&n~%i0;IEujQ?BN-)0Nf+6mQ(_Oi6ZtSp*}9M@J%@*Px! zcYmRlO5S1i`fZi#NTlYVSo=%TDx0y0YB$iBEq<VE7O!DqzgoHU)5i9SFd8x0?$e4% zHF^#XuPdY`tC7vC1k&?i!!IVh>Pj3VH6u1Fo5f1hmy_eSvQcZy%hK4z{P0WpVJiNs z@S4w@lae2P72#FR+T)ESqfxo-<^N1qPEGULVLP^t3xy7S>5qLY`YZ3Bp7NVAU-|j} z^`uGVw;i4H@5Vtk4Ckb3aRjw7+68xb^Y&(7PbAKk#AV}F-9_c3wUys0FSGV_*gCeg z=LW(*6A1r1b|oi#dFldg{JXJB<L_T%HPR`SwuzLw+}Hk?(PKZ?-fECkFO(e;>qo88 zwvpUK({f15aVRvDxUXSbgukH<S<_1ZKj3zbr?T@K&^0LP<EEvilMiZE41HAl{CCi? z99O@GwfCZR{fj;=UXJXgWv5At@{2Rz*nivnw?>nj`%4V<_@-2-8S&V78=w{U-;Y-f z&%E&_CFc4^pq+waT;&|25nBB#MSb0Jax-}tyvr6U^Q}K8NOds%hR5<Z{d2!xZujU> zp_S}U)iFd%V0Nw=@;W4Dsb01Lcl{1SU=Nx{HdH-K|0kNqGZb#zBy8h3gqzBzB0O)e zF0ZvK265UYzw@7&UpZ#O|H5(eb6eYi<V}?J`an_`*qzH;yxJ<LfAq;s35P=8lRjO$ zKiQUHJDP1OTjhhNvOV5E4afEW%%0Xfe5(Lap~Ky+%kdt%NWy#fTC0p?Z`-~#s(ouu zx9IFy+FVC#dt6RZYHGgd80kYnF4Oc3IkLddizk0aqR!WzkFzU&j^+8bO-$>ZA0Gcg zc76zFFB8VNP}f$P^c2}`*T}%!_Vh}%Z>|4ZbZ)`$^~`kXu90ji%37P}8tO)RIW1J@ z-b&rcZ^CFp|7W+Xw&q4-yg~cSj6U3JPJPc-D(R+=@Qb;1{cXf^I&QYEPj$(gx2*iV z<PW7n7eWQ70<lmRj;CLKC-Ez8u?xK$^r!sdQ}o|$!*a%M<gdw4@kf76hF;XkRNt`g zHhVaZ@*kmh5!e1KU~5c(>#s2YuB~??*VY(-_KB>~nA=Kk{6(0>sg;;&ae5YOx75V& z^Y<S)XXWjK$aK}dV(sFjt339xmS=XqZtPdli6<Gmj$^BTK-boWS6_kN<E^be1J!?R zN*gw$>dVNPLkIkKCB282{>d*dnA4NN%0pU7F~SP~ukozD$TS?kE3siXOt`QUUj6j( zxT$>U(lxGg*O;naova6Lx^H{2Ras@@m*-aQSN+-TP_w@cW79p22-MbK?HK|48SHY7 z|6J@Qjy*r%zX)6P2^*i@LtJ|)b{ziI>El-~vj%Hb{@H&ojAg6mgY~)ape+@f;34Z? z5nI>5o|DR2t5fjv?(+;TEBg)(?AwbxC3{e8p79P%#9w8Rjnf{(yfw#Ur6xC~K9il9 zm&G<GEi<=qRUK~y`>CICJzG878`<ieb_-i>fl%wXcI^+Lm6i^1U0bvzEyaH+d>;1N zj9^FQH?d&PqZVOx4ea^od=G!;%Td{?*FLZ4kEvROkDph=NRCh=Rr>{v{{EP!Y|@!c z+6IzXo%gYf892Z`dN%(TV+JZ7EIej_#k-PNJ}akSgab7df1$2|1x87${avQBzuGdE zvsGWbjqiE1>MquP39aAM+H25Z$6kxB=h&Oj<=}Y#Y{ex?H;euX9D>U8{Wtzz6#vWr zI%{;L*0^fNy97fmKIf)tNrLnoeSxM0Ba2tF&|b71Q>k_o&pp9=tP7P-U*Y#P=<<kt z0s9;5Z^4eM_%7hTA6w;}o^hq&`+)s}vE?V!zTF})jzZ0G{u8QJcv|lGH-H6WQ}Wy9 zD9#eplSYdhub-J2ku08d$Hi|@vZEu+uwdVjzFGb`VLeOZ779hyi;P06aP?D7$`0LN z1XU!#f1*{<`tvt`OhxhE{cS0>%G1tgt8%3*+cVi#GusAiRk~coR?kENTjkRcwhEuZ zR^j`zRXgD*wu)~ITRkfevej=m&G@%bF6;gFS}Q_%ZGty_Prvt%Tvz*hA3&>pn{I~$ zn#Ljn@&C#3{~7JMD}Vyx|BK^)5KW78CL=1Ser6|9bJZvhuL9%NZGI)(@znKxBfS1} zpZ$*RnmwpBqwd;e_;sVuA>8bJQp95=3sshq{IR%R`+N8gzx{nNKakoHt-T~*@4(h? zXZ>rDaEh>Fu20$hs<WSa9F6Iy?!>F{9d#UAW1MO^_Sk@}F(7L9xACW8H+AfE>?<8x z&v!M)?!*o1rl(85z9C@W9I$%@?DT-08?Xlk?7;zhRKOk=uqOuWNya|BE?{~Ds6(<4 zvH#qdMTqUS`jdV2+%YsE)~hhE&Nk!p^RH!j9!~w{hsW)W<)pGfr&b=r8vLQ%H&Rc{ zy{U%&R~3X<sm0l2RUj@M%i5P=t1aSK<E|Bq*omuAAnwN4mGIYdXODMfAWUm)om*U5 zS~~{Yt7k;7M_xW<^Y)4KMm!8t;7{%wxr@Kh%Gm6)8-*^ynpUA_*Gw+pWyhP@t?Y=^ z>b*92JJz*IxOZx{7OUzQ6&(tb)a|5Sb+Rd35d8+$u0thK?Jd^661%2jH^HtLu$8~t z@J;boK5y-|f&JTI>vypJvh}Q4TjOrj=V$G;q)&a`)_y%;Z!xxQRx)++u+8)BexI0d zj2BMV^)bscr~t{2dlzBcbKM;{)(-*uK*0Vvu>UUs{}VYk<y$sQvh}`W?UMp_iGZya z8aI4tY&SmHuK&3K`{ICocEDC2f_tsCeyeL|V!QXsc<c*FzjN2|{AcF|Z#sK^PY~Yy zZGWZwsOy~nU)b*P{=jz6X9y3M{FD6g#kAihF$i4i;%XGQHx8K>Y4wlgM(P!dE_9!c zV&5X}8}QzK)E%c*hb)fYhqS)QJ)pA8+FP-84XwQ`V1F2}KQeX^<|SUb2eA6C(j9Y> zpYH4Ut&|s9dmz7s>Q?!GMV%n`HPSCt)ZM~3$Y}376F;CUIQD(!I$8fo0efD+*4oAH z{_6wwr`US;vhnFz)Ep9Pmo)dXwJTtU9e>$ZICgDp<t;Y+&Dg5%TDwoc*0bjN55vC9 z34fQdamtV54cuxw_F8P+YxWpr`3?0v9qaq-3d#um<(?Al<>_~`)jLp8|MdQ|Trh@z z5ywsExX**m$J+M&+1hLH3p@U6(fSR$D93MSUILsldJJWDfuC2k&!1-EmgO3s9q&&r z@y2<(ekTy0$&Zp4Y`_XX-Vg~b7q6v%@^|x_3kn8hM*O*ae4)l`TL`Z%9__uu{x{k? zva<CC$?ACibi`2UQ~m4vJ?F`7UvRG8CBebDW_sW0;=c?1i_<nC{@qCv^@|+4Ia`~C zA50pGb4>jyJ*T2i16$WR9bE#*(mnK^<aQ_&aU(M?&o#~Kx8J_p{j_MWZ%WU23niLA z>(&D|-Luxt##VWd&QkHIOy~?pvT{<>Xx%Mn=ye9_dKq8-zRDx?eCK9rAa8~imG^6@ zYM5gDj(YgLR>+)i45NlL3!rxWs{W8)FDAxx<bTj1F|6hgMhNHR^<qeoI^R?;^1~IR z_ZyC>cO|v7P$TxfrBjg9qtw*7LN$npNmow0V?ms?$%j-&{P%nFqQdI}-(8@IwFcKb zffsUr&aS<lb%{%L0&DBL4Z23w?uzZ#QU3My&Y=mwKly@v_wqiVc6u9^Y~|tB{t{bp zySCc-t$iIgYz@brgRQ!<^<Roz+OaodE626|+XMDKZ1;G-U{`R${}Bj(4mVz$<6j<I zb$c6sb?nO6=4Ni#kjYD$z&rAcXs_&7Kg49To<Z-vFx|5a!_0>;VXQxuF&c^VwIg-l zHVm)FUuA{$SHHww+_;@gzeHU7_H<1gz)kfE8_w^uFtIfZdz}|0&y4oU!b{llbLNK) zhgs(uH^o^E-PY)q=&nYW;n~z*n9hR~<JOn0&PnGn*tk_kk2X41jraK5eJ7gm53*IB zW8JMCj_Gh+RoqwOPgazFeb3~a%VFF7b?@vmadoU27dnX6`E-F|XZdL=!m?HQmR69< z;;HvCu96(HFUNim!cc_AF7&>N;T?Yr$IsxnwqLFYk6);6UZSL5$DPi_kKy>%o{z2P z!P+lj>mIiDhJgJcb_2)%a&8XgJq)!<ifGk8&3TI*KzDYmo%2TbkT*}>TT0M|;P*%i zC$b`h|6;0j_L8gX19fEJ`6F|@Z?S2D7tJV&k~wi^i9jtN=k-t6bk?J6)VOhL$6>4A z$l5K8|FQJL3_d&hf7TB(hhwYWHyp^Sj=A1ypU>*0{CaB~Tm6nUK3k8pwyj56dyS6e zgkOtRJ@R<}3OZNJo&^p;r2zlu$D9=P^Qk@%Wejto{pYg<7e(c%wY#D9yji<DTIHE- z`|0A>Oa0YGiaN1@O7!)m{d?8cUrk!P8njziRsH!)o<IGm3_1&aJpBhH32*DYXQS0X z*@eZkOF8ZupAoDNyZ%MouW(p7Gw>Y0oKaq{`j53oqboZ0edw@b-;Y-Ps|bHeZyc!> zwIL7o-i9ik8|{62=WdRxwkm74;>S{2tgZ34u6+q*f$U=)OJd_u-^UqFyqX8*#@mwL zQvOAF4GNXbR1dteIp#dSY<`GiEAO>`<^@@E3At^L@B4^0&M8Eub_i=PL7(l|T8B)> zwEm^B-SCyL75=|<O>BLoQJKQ^6>HnE86+wHPj%A&R{FB|@>l<K?`I2bCylpoY_)f) z{;sZEhNLiu(NxU~zD$#*LH<-L_*$&@`B<iFhC)5hkM`bKY&=_uN56%&@8W)R?G4zf zVO#$m<U?vFv-UgKtsQ$Zw#riLUyFAZy(6h1p5<z_#IXMg;jLhzFVEVq1QhJkn0?N4 z;)r0Y9I$a_7`q6sf1&zhj|&RdC#`Mklh(HNNo(8sq_u5*(%QB@Y3=s>77aL0Yu^~K zp9t9NvHzF#QJYR%AGNlvk6Qb9>Z2vf{_pCejX3t-sgE9@ZlJ#v?5}o@O>9*kwei{d zsI_0hPwfKMUV{!h_FA-_A?v>hT@H@-ub>iY_AGD+Dh2re^;1(nZGUm$`l+>T{nXlI zr(V7kPyT#uhgROwI&M8In!K>NX4OQJo7<r`k?h06l_p%Lj7U7~Wxglzy78QYe_L<i ztHbv_7eAVH3WYz<ck=^x<^!ILtvuTPWe976D4Ig?oL|V#k1jZ_=>oz~Tzg!IW&}c^ zILhMYUmt%g*G1U6_sP0K7o#bA3x&S~H+L?%dmX~~{qsEkC`+7pIsWm@VptlE_Udk{ z*{XbsXRAKJj$9D0enWcor|VM{eLU|0)d){9=Ut~u(J@Y3)zL?qf31CVT}3Q9;>^Ex z{WLz!zE`;J8W--`de3m}0Rda%!d-uj3wLde3;*Z8mp^YfwoZ-9Yt-`>qhW2Znlz>G z=}#>Uk(HR5U9c{EsJx$tui_f$H?Z~!WHrZL9<Uo?EAK9X^l}3HtLficrfDuTpL9kz zUM>|$wfP3eiMiKN?{mCwYPqoF_L1JX>6tmXtu@@k8k+6EGEKpELZZ$8`)}4)^T!!d zWgSz&@6XkmIcmqZb~)PCHCF$hU+<%?ZBXdF$JX(~6${t#t!?Z0Rl-$5^9jT2Ug!|d zv;K-Ojb5%3;R}gb{!#&<)f_vOW5z&Zuy!SM5x*xEs`JKIDqQEawypD8+tzulZR@<& zwsl@>+d8kcZJpQJw$5v9Tj#a*|GLg=(_!np*0yzCYuh?+QQte>h(B-b4nLdm-V&=s zd+RHxZLJD~jD00i<<#;16;u|@o&^p;r2zlG9%<^46JrY3Bdu-gk=C~LNPS0FTIGIC zbS<Ym*V=`(u~nH+ePUR^9*$iH|1f^qzb={zonPr9^E;lk3h$^Itsw!SQEZhDj%G`C z9lD>b%G625o?^B$+3I~==~LQ-o{!5w??I}M)JMDimt!lv%IB2c256Oe(h7e?z;0-4 zTfe!N^9|NTc^2r#JknC2?tpjGEAwAotFTwKXs^8{jjgU}CR>$%cd}Lg=y<lOf7oj} z%lO-C`!crLE4P^Ke&g@Wm0%>w0O|%;a*ak)(CZpDLi6!tRs9Rq$yDF(pQ>-&)5ByY z5gh)GLfJz&<rTW#P0((AM0ND$v^&}L3|+tb_+4~-l~o$w)Ryu;9&UpFR9@(Jv9T&} zgBq84HNq5XfM#a9^1l+*{pao((y0>M+D~Eo;|q^{P35NSWAC|UXyx;|r*)3a(Y79~ z{N9FZiFR#WuP)wV8<A|&^PQtLJZ$*Z=<GyhrS(h9&LZA6*!J4DMf){JZ#m9TJ8b(* zU4?cQk|}gd)y2C;l9LA!pPQDe*{8FPbv4K8l}80SH>W*rx(Ah>4rso-ouZXu-2FOQ z_c~db1O8J#<PjF63J$(`Ki01gts?_c{oUGcV^_vD_qbim#2c#WkBCX_tr1#!F07~4 zOfJHt`*U&Vf@k)UR}7D<;rEMtPll-cQS%O_g6<tx$KzI_Ci#HFHMn&K%}wYE-QZfd z4!Xnjpm_>6!hBGiu2ws3PvUdA2{+AUNRS^Sg61+LK{7<3H}rvKWb}&D)hW0yB2Jf7 z-1<U4NCVA<$bd}9f?FUPa=@Out8;NLUMso~dARilo%;Y72!r5OxD5uw5Gcam((5;( z%w)h{A1$X4>OmU&aXr?9>QT3I{E7UodS+aG2ku)5>oOF#VK5v<z(~-Xk2~Qm7!7yB zJ)mo@IPXO#*NHB~7~Jjy#WNP}hjH)#jE4y@5!`ql#6FgI9wOYsFbN)kN8vFjX3o*o zlW|{BJGu~$<Msq7ZBsyL)9*bEo`k1hI?RB0&QIs*>Y2Eg<a}Lb;Witd20a7Mz_Tz1 z=E8F@58U&0wVsP(IrjyGdma|TB3KMdz~-~AUW)rN(pd=HmV-U_7tk-l3U~=#hF8E0 z&hu9AP4t)Q%)hU?Qz=m2>9O`NHVm6qJG-s{gG;<GD3W=H6SV+2^~bu=-r6hn-hG{8 zs9d)8d)#Qv{?0MGc<YcIcEsr%udNgR>6Ae_-m#yPzrdMY#WXE1hmWUtbr|EMZ)C9i zB)wXExYA#|zn7Ld_j3GDv3h>FZ_lq4$5)-n+Cu}jp2230zn-P0$CY058?@70#ltQ~ zXc6gY<HWD~tI+i~c2VbJh5ElQ^YgKuq)X*#MPv6xtDnx=d1&>?TKhY6Eyv!E*8OVz z^~rbjSy)?rysrPEfdArvzv``SdM0D5Z_CCvAKOiz#=g7$9|in1PDB33dhgleylkEk zYi|tLy94%tfPE^@lzwBo|0MzYPHgu)E;r9e5#9rZ+QHnmxtPoSwz(@g2d}M^bUXe3 z$*KKW-ag!GQ25qJb|!u{d<D|1-^$w6uq$K#x6Z-s58uZ*+`_SwxUNc*wfkZhahm={ zk3lH(Wdpy@;Agg~;}2!4_CCArksa$~Ms;T;X7Joy5$!!oHtg@__sX9q&;D**eI@xy zyf?#~b;Hp-Y96nlz47DBnC{IF>h7}&zty1pTV?YawD#4G+JCLFd8|Bpov}%ZXRpV8 z9mWxuOCNdz{U+G=iVf(uKz`zF^gCe7*p28-j=$PF-gWHv(3`=&7rl@E0JN5*;@g7W z3XRP1x1m3TlEkC)`3UWv?{?V?HrJKl0pTAdjele1KO$z_bp9OssSW+{!ME{y=)9+6 zYdecA(S_!k?LxMCo>s6`yU8l!{yJNQ50u<min>tRb`Y5f<CnDTlY^V;Q#zO20)MaM zq1_`@CD6yX+w1uWdMDWSfL&<!{C8vf{c?rfKgIn>?E&t-dkACtD+|T>8SZ{RW8pYI z$K9Nd^)9sE7x?GT`}aoF>B|#^<Je0W=UWJgNn8gvO<&?~+9V3Oe}#JoZ{^v-;lIvz zuT$t5*_ZELm)&SnRc$SjT`10P2xEJ5zD28C)IIne+OATXKnnL`yWa!gne^9LChYh4 z>9^E=KcE@)t46v)Y55U%=6NJ!usBH?OF2X`3VKG}a}N{lpXa^*xqi`i8vA+NcD8z6 zQ`q)lYx_lyl*g5B;^%QT?2SAqdWMSZyaMaWH{<xdIo|nXaLQAxeTk_@9N-%3w-P_0 zgY7v#JN~WFZhOuz*f!rfh<4j^e#N%W>~CndJ?D39drY@I$92D&F!}8{1-D1Y4Wl*K zO;b<k5aDf}+yQOddff1TSa-GcaK7%J^8Y{axA*Q}XfKl^qx<K-)lvKMy!UZ(Xtifj zdXd@jQogTgbSR6%Ukz&4E5hS@WxZzpaoEGBHKiAt1{F$c=HKr#xLCS}tvwUF8MgbR z=}pbf+RD)R{f9o}a?~s7oe3p|S@E5A;AAy$)Q|Jm3s7B3_4X)!PnG)~jy?gsjIb^z z;#Le!f|Eh}>OQgiT73%c2iVu8IButcyRXVfyRX%!5vEr2=t7*1TM1|1Gth0>SNEo? z&%`~AeO=DNtt6Zcr63w?-Nn_Vai7h;F6ZEOE}REtK<BFj+caB!KJI(i*X07-E(D!# zS-1%7^XTe}aSyj(EeD57<ObzH>vR<L{qE;eYW<=dBOPu%HCPtA`G;E;yY6mT?7F*U zv3uWD;2iz3yKq_T?(3Gt6$x+4;!0?@EUt`w#Il%2p$dLBKXc1sH!U%QDO?sG-*}!& z*<XLUN2;TP<2_<=vw3|HkKZr!K4`j468MyvHv*wStLTvO{9MpDEo%=$mvihf=!%X# z2VLE<=b<%D*zW%YTJOEqZpVeF;MkhauROeZnBTCqKj&|IOMm=@-De$P^p01A_kE#j z<1L_*e`Wa1NSE40euJuD?L%nwwI5zExJ&Tpqb>FF_tCdMR5sW+uEtio^5JomGm#Xm z@Mrg_%|2>tuy%}zGk^YY4ogaEIZ0XslNp4lLH%B2Oh!(P@Ef;@_TG{0{%WH++lg-{ z_T`SPx{-ck8(!;;sL#^cS`$I-ZPwP>FZxXnKPRfP;U-}{t2XSNgw^#pa#-)u<%iYU z2=29;g{^cPYg>;!W-AI8UB6gOrY@Meug>DwUWqweu>2)C`TC*1BB$o;)w!&Gb(Xcy z4fExJF#FGF8y#xIwg~S_uhdRV%SuV?<$w8bAIDUGM1Rn=Xw|7*D5ahMeyR7M7JhPL za&aqxe^nTb<|p;mrM{7^eZD5*P8Bh96U;GTtlxBwqkY^sZ_`@yX%W__%Ne40*Rzj) zcbldQ_&xNjTf08C+6Jw?-T2oa&r{r@Ci-~)3I?B;JqsLyN&)`Qk4rJ{uiiHT-SR+v z>b1=EvEL1jzuM0m?KMmK&wQpkRNEX!ze!Pir+X#o?nK-ta{%QHbvT|a_v)fuJBoJ; z*RB`v*Se0bzt$IXZH;Gj?fL=#%L8_UfPICrZQY<D_VJA2)%s)FS7^O5H!WJP%#Iy! z-J1l$H4WI!0(Q&5HHr)PYmBZNfAfI9#^}2KE$}bue2j4?-q&bUvs~1{&&M9%A}JrU z_V|E3Az&}Yj&Z`jh+W>XS7NLFVdHxvU~j~BkM}Ni11G#}*Z-4%|9<Q^!q*_9TiM=! z7I${^>n%ln{qpPOX7w4y;n-J5|7+0do=ZyQtJTcmqn#r)cTng6X-g%&Z}PC6$=3VW zj2}@r(fcfRCd-6m_tzRDDgeXbM6DUpTT6#b>J;tO{g$&moqhZ0qu6;_W>|&xC<wcm zFls+J!lM5wI#o4cHIzP~gM`ynJ3ZbnpYrm*?_;7>rG-Ae42syCysRv~&qsO8iaY+7 zkCS8APxS{|$3M2c827+_Dw_`9Ps{lv9{#my)+hN_>6k=(s*}FPR{dr9?U-oyxoXLC z#k%wzSk}e-YFzE?!eLq!gz=(b{=T>9h8vI8Ff?sMh2mHHP>0kUmCXLW-T?6qET!K( z(k(*^peDD>(`qt|XprT`*@ig1_JW3Vtg^^aG9QlAS_PQ|*23hZBZ-A<2BstuT_ia) z`<iI4zFXAyc~)j-n(~P49Ip@8^JdBn)lZMMrjvV4&YDg<9_?5}JlkJ^)jkm&Gp~>2 zn4cmpEzJ(4_bwa9=t>RQt1#!Ju<lMjRh<+0ws&?PT4-z(%R2jO(EaoE`?C`VB=nCY zak6`evpvUuhjUf_)1Kdktj41Q`gqD8ci)ce`_F$bx8=(DJh0xHG7kUN>6kA5Tntt4 zR6p0BbvqlkDgj&1v-Lk6|Ei9y?<?tj(fXIi4m);iz~6pP)rN12zus3}JI=AY;;(tx z*57__)!HNQ*LY29-x;v)##VV_{qMonyOXsa!PeLUYfr^io3OQ~1?({aTkGGs;a@N| z1769jy<u<4Dj5yot(YGk6v++s>=y0KEwRT~#y+~IoPE6VLfyOW`cxCyFYKgEYw2k} z8_ybZY-_)Ptvuh_>jSpd@N}<@)<nF}3BLnd_lMno7q;FftgW>@-E;pA+r1YwzRr#B z0JeK?{fVu*fsL;i?;q}OeFC<d{^HoWS4{Ss<CR!E_ugFUg3QN!0M`^!$}a~*lI<}X z6Nk!KYo9{??B0K6uvHFO|1frpW4FMr<JfJmYdUs&>@fD>@5`BK$>w|Od8vFUHe6sQ zrY7efPxU_cH`RBh-TPDDes!;@)?9Y4={Rg1-=_aj>?TT&`AVPG+TtsA{;lS$N~SN| z>1*e83A_KgXzv+6(TPWGUv9cS4jfl&bG!G_H`wlV)7tE=zt#+Qf7@Erm)(1*3U)*1 z__7uLSlbfp`Bz{+t#fPb=GbmJuEnnE`1ine@8LvjUEf04sQGY6t?Q$`wm5%Gfci!o zhEF4Gd))PI-<>VDxaMB^t@;hap)}l7SF?Wp4?(+&w|W<C0r>0wwEpH^&tKnbHvT0Y ze||!0U^%(@pO`C%Dzu)kdR}c@s^A?d=mEm%+S_pSuCo3*s}m&liIC(_*&7O{No$HV z!i`5Mq|cl*qdd`HTikTM?bzzxvGIlNpLd}mIf^rlFzU}xyW(gQmyO4+17_{XCf>){ zQcVt7cWbu}H#}{FiQ{dvEwVDzYw;<xoL6Wk$4n(%kAUv2f~?5vG&e(cBFUXjDR`$= zJ*bPnZjKko^@}GQe*bn}q3R!MCp!zK-bh~vEQTUG_dwt5c8=AXW81!2YumorYd8<p z9rT-Z);U2}Xp611cSBzbx@U?k&4v5byiSvGJ^b<CJvp$hpS2&r*1JMyUM$q+)5&|y z%HdUu@!h0T&$P~^JNkOi{jap&fWFbX;UKpj*f$xs6OG%=*a>i~d6-R?$}Ht!){ene zxoqv>*eZjpJsmsNu~%R#FSY)!U|;Fj?_sxg><^5;&Qa$gdZH7-J?~!FNybgjyTT=7 zN5CFSYfidpKNnl&t@SUDt#=1&cfwYlW$i?4_gu2E-E$d<t+ZcWuWp^%wQAOg?ejzP z7N1qWv|81eDwQi$tWdsOgYYF6UsU$5iPIk(J@v7<J3hYi*1d0R*|~B1h8LGETrm6j z^}AO+y6m~z2fp(7YtOv&<g|xg9eek)^Ow(hA#2{s6_dx@f7_^`6Yd$G{mH|>ZvA%O zAD@2s`7d`Z`u@wG4}5X&Pe1<t_3Nwme=upuTZ`|waPxcbzQ1S9(^E#wNsaH-Gx3^t z9>~oZH~f)7{YIu|49@JF*8jd+h7A}pBd<r_E^U);it9A<o2S;jylc~&Yqx#$_E!g= z_|CQ;{@rcSK0o;_8%G)<61u#npO<e;@ZSgR7?F5y9yoIsxF7V~h(2h408e3e^%oX? z?r8icyt}XZBW;)*20E!dq&8vP`!t34{pOLv`=;Wazi-z8nSPiYZ(rTGx_A2$Mse0D z2*_)<cbK~5$No1ab>ISnm>ff)iKobZ3$5?Udv}k-=uiU3nGdbNuYcqeym5GM57by< z{Vz$dh-=OU_R(`^_g#usea_ko(R%KzeJ&S7d5pF7o)@%LS0_pN>zB6e<<F%H)`xoF zuDmmat**0M9~z9C>O<DgKZ}A&%q09(AF}?z`p`1`RUfkc|EfN;m9RQT8}?}Rp<+p9 zd=%l8UfaKuUkSslI$@M=*|_|9oDIYAxT|cl?p~W+{#WC0$KO4lU|nl;z+ZK(*|?D< zhg8p5Wb_iVRb5KIk^a^jH+yV<_`P4>+Jm3!rq#ot&_NT<?q};;)-I9kpZ6JT^~_p# z*Vg^lo{Mv-@t3V{L@2LUc-dNm-?g;{e+$QdFShD{HvCrsTko4~9RChn1eMP={6_5R zj=c%Hnq$9<t@jxlUgez1No&7`eW7Eo!>$~#Rrc8M>+yH(Re|ubUH{eC?)901UCxPb zD)uFgJq=s$IQDoWu`4<DDC`Q3t-jf?V-E|2SG~Xue=D|o{M)eI<4?qP&wqTtULLSt z2-r)FU1a&+QQEV5^!D4cY}=EyZCjJIZCjGHZCesK_;J;>OZ4Hr56Z#uwEN{yz9?@H zxoG_{5j;1wPhMtTj{O=X??c3^yroF5W5I#FI`MRl*_UH#yo2r$z1OwHO@HAOKR+nP zmg<(5k2ErFVf*L2+qK0{&$aTaWHh%$sJGeL<D_w%X1H5B9oxPSPBLNb@!j%d4t^?2 z?D5^QWIcW=ORQh8EZKv<@?Ps7EK7=|n)Sg5M{+bT?5OY76$z`d#Kv{BvLv2xdbhUW zj#QQmB#eG<8zxw0Ovc|$cd*P@5%5=;u^l&EcYA&HO&sL~uB~)g`yl?xTU}dqD{KFX zzs}d%`X-MXpKLe29|QifUH@+a{<2;FZv*~nTXc_Km6KEb#ipkd_8E???-{xFE!ZlH zZ1|jje_p_zgsrg=HvD7Q${Ve%c~Es6dqN=mgV^r*+#m2Chpn>9#;18wx(BTNv9a?< zx+LX)eAe&x^2Vfk^}EpQe$j<~iyAzn?zO3ftvZs8yD7HnZnoUF&sniF|Gqzot;&7t zZf(2&PWG?h#J3B(oMZ3Cj&bZyvE6I8HDJGs?cRH9vCFf6k>-De8uYv@Ff^U>PUpC` z9I>`7M<^%qzeSiw{;g{y{!V*Me0p@KJ4B$!&eP1}&&=@8Z;XyddMlsg*Hf&$1zXQb zILz3>3_srpH^DZ#8t&Dt#=U{jEpcyYG`knwd6@T}t{hAC%3Yw6$=WB8H)za?we7o$ zwe7o$YwP|mvg@vTN}zl#mg$$TYdEgzc-G#5R=(!iy7#U96*|_jzX;fS0=BM=8-6o( zRj~2B9k74G4m<uAm}_anYdoa-%dA}sTm5a;w)wENZ9Z&mn-5#t=EK&u`LMNZK3t@~ z%@Lmcsab`eeQVoi-`chgX>D7FwDu$9+qxI6Jr`T=07Z5_Ui;?1ZlBq5i(enhV%vwb z*!G!!-anp{$%-v}oQ4sHHGAdK`cad0tZOpBC0lbBie<CT1;@+co~h6F@IJBB<bm{r zwTO$4YtgRj^+k~$eMOU`9De9Xa-T?zlt^lylw5u2#`}t<F=NBELla5+jih-Vzn{ud zYcDkR;SuI!C;8v>RCLLFcauhpn5uR^jiV%+&5vgu1xE$P{tmk$_Tlj!DWTq3IjJp( zcRyvP(px0gGO>SZABsSgCOdQdy!d*qhuZjy?EXH=J70XR|Ge7g)0y`W>d&>-I~JET zGypvi+&KoW?dm~<yA^JO!7v1FhdW>>41?h?0!G3pxD)PzRs6WCVG-;jZHEGkCXB{9 zC{0>((Y0NDH{tGqdqHU!1NXsLxF5#B127&Yz(jZu9)bnL`#dQAti0&Z&;Sn;CfTGx z{l>2C>Pduq1Re#Y;W3yDkHZr%1*XC@coLq1=`aJP5bsn_{0BIGvHpeO^o#CZG4+JO z9Mi2QSliYUtZnNF*0%Ko*ZyzU6RHm=Tu-pJttYs4d9J0kZ9T!-U*M;DfVKAo>|Fud z))Q=aTTigIttVL9))TC4>j~Dj^#p6%dV;lWJ;B<xo?vZTPq4PFCs_M`RZmzyuy8%W z+BP4uwyh^v+tw4TZR-iv&aWqAGnOx@W}V9-y|0MWO>S^m@)dRK^{R7u@)gO6$%%D( zUy+=AS)E?BlauP#?bWMRJ(gGNm7SP9i0Wo`#9MRCS+sQ0Ab*{i-u%`oYl<w74$gvT zPA7_;=)iGry47#9Q9U#lO%@cY9wtvkQ+(vldr*4yHwJgI4{zSXbQ50pvh|;D+^p>$ zt`Um^#Cq-Rv3y!2R!u2QbleT>Q;zKcj*-e%_j3&>+G|pHoIvs0{9|WxT(xysdkk7- zzqKDghaGzYTKP~rZ-h=J6I?QThrKUbF;1H}b=CfEd7ppZc;Bk1nL~@0_p-Q=csmmB zl@wTKvbA<wY`wo&yB)UDX6>u6D>?R9>}HOw@2n_Z8~!!yYaROoY_)?Np&pcx9Bx8I z%^SZ|xiSNe8Aa7teKIz#SZ*5KH`Z=~q2K=SxXb|Ra*e~a!bD|EKemGXA7fv|S7i5y z8Bbx_A-(HfeTbj`-^6kC9^u-mXB|&_^K8mv{popo8r>pufF6~cXV6?`k7v=Xy`>cV z)ePoft9@1ebJ6~rMI_tZ=Q-T}`8A;xGbtteSl174cDtYNt|DEhg0)wmt2y@afUU6t z>bER{^l}3H3#=c$pL9kz-qF?%cdw(y)E$0rdT%1V_}*Nyd7a?4%&T4BjB3pBKN|DT zPv<B@hL3PdhF-bDzbD&rUb^;&r@5T+*+L&3wfnR&`&j#aY~>%;UXQK>$8%rL=l-+x z`vqv(_I}oQd)Iy*zay>5?}nL27zX`kW@{-A(&GBPMSNO&y!tS|?_=Chzl<ufAHXY1 zlOw(I`gr+4GmfkBTW!gW!P>f~&j8JHv1wXQSe2(;%$laG$`)G4x!G&A2<`VBBzR-{ zoHZ?uHe{{PwQ$Dnd*5SruhU}U{?B|v`6xH08OP;(LD@9Nni+OS`U<oO@$Wu|{Kjzq zTgctn_T&2P;vy=~Jl1hqMRqS7;bCk)!haTrl0elV4u2L+X_8}d4~op%MV-L>MOD08 zHuMc?Oe1Z&Uyqz$q?na#RiM|-58u>;xBGX%Rv(GAJE7I~XziY8wXIn@6Ro;KGsjJB zI7)*JGZwA7u(cmH{zZ0)j-h>Sz$m|ct|Z$&q{p_;E#aB6`I^Q)xpo`;TwD2^YcCDh z%L4ZDfc+}>yu1Gk0e|JIuK$bpH_s%~WNf|bz5@4712UM6R5-lcJ5o2-HxmoZ>9Iz8 ze{gcVKeZ}Hqp4qFA3cZSWwci)qF+JVI?75kUu9(_DAq-D++RaG`CFm1ufi`kGdD3U z!8|JoUhx%E_3u`qy*XLl+t=X@q8SB^X6M}Hw@a)etyQ4N?m3fhBxa?059COWt1?9M z^Q*G8<%7*BR&zb<eHL6JX$^iVd*r_s?biqWHLurUt6x!m>(TD@ejVG!>8_FFx))j_ z$t;BQ2K(9HwgdOP%_-dd-Xx6YZq`BiyFXjOyH9R5AFc7`^yz|a812u6UdlaRnsamQ za*q8h{+>;G?0xzcIzExrklJPV^V<9+(?W0KZm-7<gpE`0R~3o#pWh4q%0h>&!Or4k zoEr)9^X74P`}NadBv^T=wTENteZ$(CSLNE8TXdP@zsKyK|D9xg7TK9^+V&oQ+=Gqp z3&Mw;{WTsS#<73KR$gzz|Ay_RPji8ko~DhPmTTImannZS3c|L+&yA}Kw!3d4b|ok7 z^nky{S+#NeHLj`-_F%{DQQTCH*z{@5sJf1=v1cla+;prA?6c48qi4{@^K~H1#kAim z-eawM*m&x*pUOUK$77#~t@6*hU5%T24r%6Cc^Ub?qCa4?;1kzgON!pPlc*S#7~`)? zV&fZNj_K_0wfcC~u7(XeWpV8G?4$loyU$RwkKS*sTS_2Z4`J(FHzPBgnZ=4E!Q}MT zx7+ZaPTUtc@jM=gXCAh$fj!QP*zRxk8n)`u*1s6fBGqZ;m+`o0I%!5YGb3$~Chz5G z)e&Y=M#|pj&!Z+-{(f7`aSyMHdGB&cKC_kS6{^y-N_g;Kzpu%0t#(A$ORLy)T|~O{ zyZ!t4Z_D4Oi`l1Xe50m~s95Pe*v9u8e(t@p!GyK`waC{h5T367{C#TR=H5FuVe1*O z`}8w*565kNV4rmI^V;}xJ29>*gFZ60u_=jZ6i&A}`*kDSzc^q2=ZUFWBQuFI+}Ur! zQTMA-tBTr++@FJHAJ@dU%H>rG&S#>D%buUsQLo6c`X{C_d(S(vS(>I`pJ{|q9$>!r z73T9%%uMz_i*4i4TI&k)?|;jIN4zWYj_BGg|997V>F)2O^;vbz?eVonpzI-zTWQKB zcb|IL?mn8&q35P@<)fs!S6+HnLTc}r@|7!>uUc@dT=vuR6&w5S_KS^m_f!9y_PhP| zf4AT5x4ZkPZ_a(5uf=xH>&t+B6EDWP&l{2%+3V91H+P>~v2`uVH7*GApxMvv^ANV~ z4Qo#c*s}uRX9xVpVC!A}C}->B6j?|7_2a7)9D5*fDgF65x_`sQN3zrWrIPX&NUBn0 z=L7z@u@lGpZSpq#n}|d2mey8;%8x0kygCftf4jZ8psLKgdh>a}W*omgaaJK>T}NyG zK>nfMv&ia3f$!7IAsu}<-g?r}fbB-^7h4zIgnk$LkS3P#PtD0nOB@u|y7!TE#yj{6 zGGs?sKZSRnFeQiApcF1B8q)@a-eZ6LQMCzeM*rP<Yr!?ttb+`%p=jiUXm7pEx{Uo) zndctseU9Z#GW_QUEcnql#!nnmzuRQ4m+oKte)j>#qe$@>!}W6QE%>?iR_w#?dzM8@ z(6sGr6_+wtX(W<er1ybW;o@PTn!IRYbSQ=NZ{&y4vt;vgP2@Mz$;0~4fq7-{DhmD> zWjj5pTi4dH4Xlxtnh^=JL@BRFiMg5C)$_lP5Z9$eyLLA6tZeE!*|~$fl~ueN&S5^J zF3(?i#r2O(<XbwCu=9i~onDA=OnPEJK0}^|Kc8mcZcI&LJdAqA(!#wXiCXPPtG}4F zTdJBPni!K<YAu|~3LP1ImWnm!Nt<_;T3CjiysObaF*VKmc=%C{<i&A>BNgdSnVy;K zz3kla5aaXt{eIwg)c8_stM6I1?nC>0Z$p0wC*rQ>^CNVvf#gRI`)#UT#nxP(&WYYU zYAP><^N8*2L$${HS-B~=dcB$Cugg`if^3eH4y^%I$*~(!Hfx-ecPy``#ygUiE~QEA z;21l3?)0~N^r+Bk(x)^Z>-&Pe2EUx{=keCwi>-QkBJ=`Xw`7PwZ|DPhCQ_j<^n+^U zn8(dF9Wp@eZ>sa(0&0)(&Xq)SnY{HG`?DPYT-MMaxE11{IkbS5&<a{Z8)ysd;3~Kp zbUfuZY8UJXY7dNuYoIf9fjc-}SGL_i{fgH?ceoyIfXQ5}6|fV%3wFb&um?VaOF72p zY`=iL@Fjc&U&B852EK*wU_X2hKfsT00Dgj>;UN49zrpWt2>yUS;R$ZOm26*y*I*T_ zhBct$uVuRq*2C-Y2D}Ly;4OF?-hqv<3EqYGU^BcAAHY`F1|PylupM^5$1pI8dkJ(y zX>Rffps_K<;1oC+PKDxdI-CY)KnXYt&IGL!Qxc+~6r2O4;XKf|n)9IyTnHK~qOmn) z;S#tQ%0U<^fW})_f{IWDDuc$8#K5Ic4Pv1>)Px#P7c}PLGN=caLw#rnS3o1U5}H6` zXa-H8ImAIrXaTLE6=-Z$8@L*-f)1ehZJj{tqhAB@&;>d}H_#Z5>)=|r9=gMga0A=~ z8grHaS|2G9dO{NPf(Rr-ALtFKkOKXnFQkL!$YeqW+yYsU1KE%VxiA3w!(aTIx3V1s zgW)!~9fp9OiyUZi0vbl(HXKI5Na%{&XtsC3wdm_$4EkQ!0UG0XBaBCDj(ksa68wx# zWt#$zpeKRms&Ah~y4hw!7&KOA8h%sZDR>fQz;qaj-)y$CU<7(D+c_{AJ)iA7xCebN zEJ81YC9oJYKW#bNW$+TLfL~w@tcBIiR&MLzby(+Y<@P3QfH$12+}?(_U?aQ(@4_b7 z4DZ1Q@IGvXE$|_1gYEDUjD=6&W7q{d;ZxWRpTQpZ0zQW?VK00QU%@x9559wM;RpB; zzIV2A`w0%fgYXLc3J2kL_znJmL+}^;2~k|L5S$2VQ#%QY!6|SuoC?L^bT|#pfD&*P zoC#+`Nr;A0a1NA)^Wa=KAIiXmp!G&Cg0i4BA+#>-6QrR6+wxEeDnb>g3>qUA1D8TI zh=uA<6KX(hs0DSQ4n(T+oU^?W9wpx1*tf$S&>Xio7>fJdY{x(wXbtV4EnE#6ch&*g zgX#qxA(Q>nAq$4F|DB2h?t%MZ96ZZCK7s8VwiDUD$@V^Y1|G(K2%batB96IiCu3)z zA7?uSlF>8SuEFnVwhP!k$F?QMU%>WxP`l<*Y5eBHBa~aq;pI!n57=fw4romTwZ-*^ zKj2UJ3x0$-Fc+Q!wTJ0D&~L%p@E-9jVEa65goUsO7Q;`l1eU@w*aZ5flGf(6X?Ovx z@y2RbTg+{xa#i1**0-8oftBz9yb9lg+S^vaYFGoB=kq?SgY}^Apj9r%bIA5hxD!Uh z-Ea?lN_rn)J06tY2`~{J1f^H)h7ZFeaMP>nrfc>nTc!6gP<mAtP@CZsFa@T9(mM^5 z-lst6)mCYr4l`gTDBZJQHarbV_cLstg)uM|?gzCED!sbKN|&ysuA}16`RkavPVc}r z*a{zkzR$e_w!<gzG3<h!@G0zu&tMOH0iVN{uou3DuizWl2j9WBp!3&nrt{Np@+;f{ zHeI@Ax|WOKAp8P9!0+%I+y;YT2*ekoOoYy$w#Kf|4X%ajpgUX-H-Nq!-UDuen;`*e zL2al5L(B3^v#kfi(3i2T5Ber~1GoYjg8E7tL1SnF!wK7zZ8M025!lVyj$}IuTA*7( zD`*XEK;zdmW=-SN?j+3BZ1t`44$u)gK}k3pN`cZA&9*csZRfB(7tVt+a6ViB7eZN3 zTkXZ5wCNjTVJHVmTY0uNZ57ZJp%PSvDi8xzp&BS{m$I!6u}}kQLI|SZ1UM1YW_=Qz z45vVG(6`P`gVUh|oB?OTS&#@lAqno{7`@Ck!ZsQDKyOHe6zB(iAsx~n6Effy$buZm zhCIlH0ni@?!9chTZiOK*818`EVHgaBd*L3q55~a#FcuzwaWDbK!-Fsp9)^eD5tsyz z!K3gvOol1&1Wbde@Dw}=GhjN*f|>9%%!X&-8JG)mU>-aN3t&Dhgy&%~EP|!51eU`x zcoANJmtY0F0x!cm@EW`dt6>$ag*C7q*1;R_I&6S9;ca*eR>CIO2=BqW@IGvYE${(s zgRSrpd<Z*WJA48k!!FnfpTchV4EDem@Hu=5d*N&N3ci7T@Ev>$-@|_R5q^N5-~jvr zKf|wZ5PpZ>;14(if5D#+brSa~oCqhtNl*;5-rmV@DijBOi}Ex$14_VIa3-7$`bJnZ zl!9}hG@J+L!ug=J`YwbE;36msm%znP4#H3Y%0nfn2vwjmRD~G06sm#7j#h`7puUbo z=mklT3=!xJYX3`tROk!p_eg_u$bd}9f?FUPav&G9=5>D<0DA9NpSafg(-^?PFa&M~ zeP3-T41?h?0!G3pxD#qa9jFWS;4-KWmqP=%0vf`V&<GlX#=$m)W)KI>p#`*rR?r&S zKwD@BSHacL9y&lr=mha_4RnSs&=tDDwV=rcQE&pB2*uzeI2lfX;&3XQ2B$*_I0Mdv zv!EoL4W%F&O2avDE}REt;C#3ME`+jh5nK$HKp4tFd8hytp%PSqSQtlM_W+EC2`~{J zgoof^m;{f&qwp9^hR5Lvm;zH_8axS4!E~4bGhr6YhNs~fcoycsTzC%V!F*T%&%;7k z1dCw_EQMvT9A1Ez;AMCPvYzE$f^5ivT*!m|FaQR^Ah;E7gTXKaZihQyC=7$)Fak!x zD7X{ug3)j{+ynQ*7`P9{!u>D~9)R&M0VcwO@DMx<li(3}6dr@g@HjjHQ(!7ggD2rB zm<}^wCd`7_@H9LF&%zv-3(vtkm=6o!c~}UGU@<I#rLYW^!wc{ttbmu`Wq1V+Mw3^; zZ}2-Df<ItCd=Edsk8l8ff>PvNb)YoVgNvaFl!G`Z56waK3#(P8SHtZp=mjcUubRm- z1oz-~H*73Po(}KAd$1YahYw&2Y=v#`A$$beVF!E+pTJJo1-s!>*aM%z=kNvWg)iYN z_!{=XH}EZd2m9fB_yK-|1Mn0448OoZ_!WMGKj2UJ3x@FCk;J>oTDDPYG=&r41ULzb z!6|SuoC?L^bT|#pfD&*PoC#+`Nr;A0a1NA)^Wa=KAIiXmZ~<HdW#JOI7|KByDnNOt z1QnqQREDY$1D8TIh=uA<6KX(hs0DSQ4qOKH;Bu%BS3m=}5*k8dXar563B*A&XaUWk z6|{sl&>Gr7Teupof)3CgIzdOc2I8R$bcSxw6|RG8;d<x}H^L2Y6ZC)txET`RG3aTw zNo;#T1d^c-^oCSOfqu{z(jg5pAp>rKEXaXu$b(!M0R3SQ420X@Ru}?<;SRVRhQUx6 z0mESwjD)-3PPiLJ!@Y11+y`Ueei#c6z&Mxy<KaP=2s$sF<0sr^)7Vahr{GDL0n=d? z%!H?5HarW@z+9LE^WZsH0P|rXJP(Uu5iErzupE}bi|_)x1S{Ybco|-Wm9Pq4gEg=k z*1=kM9oEB}@CLjE8{i#y8#cj4cn{u%_hB<^fe&CCY=w{DL)Zb^;S=~6cEL{g6n4XB zum`??&*4kh3tz)m@D1#P@8Dbb9`?hJ@B{n=2jCa@8GeO>@H_klf50L53;u-Syf2>$ zr@`q^0?vRl;VjU?QBiOLoCw9>BsdvPfiiGDTmTnBS-1#F!r4#?qM<aL12Iq)s==jD z9b%yd)PyjUgYr-TDnccw3{{{3TmcQ?N@xU)p$RmFT2LG6KwYQ@mqC5F9NI!VxC*X@ z_Rs;EK^!!P7SIw}!S!$>+yn`54RnESa2=#TD)fbZkOt|H0h!Pf5}_9)K{7<3H}ruQ z;6+#uufrSgCVU7V!9n;HzJjmeH~1Y!!`*NX+zVsiJ{Sx4!%!Fo!(jxBgi&xO+y#^1 z5qK0HgURqXJONW+96SKyVFFBq2jL-j7-qxM@C-Z)b6_q!2lHSmOoJ!kDVPp3U?$9h zWw0Dpz<gK$S#S$11hqe@J!d&=z|Mvo$b~#u1zTYoj3dlOwws_o41m4xCCtZfAKRU< z3vPwm;4?S`17Q#hh9U4HsGa9^xSHF)AFP4Tpd)QRbs!6Ffo#ZuT*!m|FaQR^Ah;E7 zgTXKaZihRdCnQ2INP=XDKyT;+DUb?%p&z6{I%Gg5jD!)eu_EUT@4|bq8QzBvU<+)8 zZSWy{1lwT;d<>t!PS^#z;ZxWHpTXzw1?+_{VF@gSWw0DxfEQr}yaX@9E3gt?h1Xye ztcEqP7S_Rfcpct=H(>+31#iPUP>cFUZKwlvp&ncY_2F`809QamxDpycV`u_Rp&7(M zb7%oAp%t`-HqaK@!BucIw1*DR5jsIUTmzk<3v`8Ua4lR1-Qjw;0d9mIa1-1N37~<k zQE&pB2*uzeI2lfX;&3XQ2B$*_I0Mdvv!EoL4W%F&O2avDE}REt;C#3ME`+jh5nK$H zKp4tFd8hytp%PSvDi8xzp&DEY)gcyYKut)5p3sl>=ph#Y+lJ5tQgH7BeIXUnpdVa= z-z^XiogoLeZ0HYp&=j|3Fbq8uM!;|w1tZ}uxD)P%(Qq%^1NXrgxF5#C127IIz<78N zCc?w;5Ih2t;4yd<9*4;=1)hLuFcqGHCt(ImhgmQao`%`*EIb2qVGhiL=U@TMhlTJw zEQUp}6qdkpSOzb`3-A)GfLGvUcokN{DtHanz-m|rYvFZR4{yR7@D^-<ci?T<1RLQ! zco*J>&9DVNfNii9K7tQn2W*E=;A7YYJK<B<4g270_!ho_AK?d>%DccccoLq1=`aIk z!Yr5#Ps20tEX;wq@Epv8`LF<<hlQ{R7Q+%)3d>+QyZ|r43U~=#hF4%Eyb7<uDp(C` zU>&>#alC6agBH*nT0u)_1FfMQw1v^Ui|M^gTfL)ofcDS{I>I#&4_%-$bc3#N9b607 zLwC3lZh)Jh2PDAFkO(~?33@>UlA#auhEzy_e$W@vAq|GXP#6KjVHAvnyWmc^8%D#u za1Y!EW8i)m3lG3Jm;mG9L6`^+!$a^0OoGSYQK-QCTzRMj6`=}LhN=()mqIm&h3Zff zYCv761D8QPxE$)k70>{#goe-<8bMQN0&&m`T0nDX1udZsw1#%j7OsY?paZmrPS6pq zfq3WwouM0ah3nv2xE{L0jc^0p1U(=DZiYnY2}#fkB9IJypf{vK3iN}%kPc~(2^nxJ z41&RMn>6|09c*uhVK5X%z;GA^BjGN%6UM;35Fx*NfbBS#0OMgbJPZ%PBQOabgGb?U zm<&_k377^`;VF0$X25iq1vBAkm<_!-P7lz$hcxI5PrzO9ICP<1WHI3u!BSWP%V8P3 z2rs}(umWCzm*G`d39H~Wm<Yp(Yb@7cJ$fCy0k1<c?r*W(0GnVVY=IA88*GJ-;6r#U ziuVz=KfywnN*l~HcoLq1=`aIk!Yr5#Ps20tEX;wq@Epv8`LF<<hlQ{R7Q+%)3d>+Q zyZ|r43U~=#hF4%Eyb7<uDp(C`U@feJ_3%2p0dK+vcnjW!cVHuIf_LFP*bMK(2e1XU z!Z!F2K7#GA13rdNU?=Q?-S8>wfzRM`_yYFAm+%#Q4g265_!ho{lNoGu62$$*a|SJ- zCA5Op&<5H<JGct2hW5|_IzlIihijlSbb+qW4X%ajpgUX-H$XWk4;7#yRD#M-1!ABo zRD(;QI>bT^s0p>8Hq?Q-P!BGH`fxckfGeOO#1xC7Z!C&-wkZ0=qUaZkqF*eEez7R} z#iHm>jG{j=inhBb`VymPyNjY9F^Yb~DEbkj=tqpAA2Eu4#3=d^qv%JBq8~Aew!J9& z5TocrjG}!ninhHd`VFJ#H;kg+Fp7S|DEbYf=r@d_-!O_cz9{+(qv$h?qR%jjKEo*b z47rIR3Qm9%p%|P5C&MXF98QJP;B+VfXTX_o7L<gup%g?zX*dVYh4Y{coDUbkg-{kQ zf{Wo22tzq24;7#yRD#M-1-8OA_z*sV?XUwrhEHH8?1J6!DeQsI;B)u__QIF&6?_f* z;2ZcBzJvYnJ^TPa!U6aReuiJ*Ap8oy!S6617Qpkc5Ej8=SOQC787zkv;6+#gFTu<3 z3ao@z;WbzVt6>eSg>|qVUWYf}P1pc$!Q1c-Y=lklF1!a1pA;3E1dqU@@EA;n$KeT> z0#jicJO$HX2F!$6FdLqRXW&_w19Raym<RJ=0W5??uo#xWQdkDd;YC;hS#S$vLk{FZ z9`uI+Fc1d8tuPpd!0m7c425AZ97e!M7zKC2T`(H%hI?QP+y`Ufei#Q2z<8Jl55me4 zTxWO<R>5jm18ZR&tcTa(4R{kaz+3P(yaO9y6TA!W!De_LK7cK-6}G{L@DXf>9q=)H z0y|+B?1oQa4}1on!xyj@zJ#yfYuE?hz_;)n?1%5+2N(*&U^t9`kuVDGgu7rg+zt1@ zy)XvugRyWwjDrVYJWPOz@E|+{55pvQ1RjOQU@|-oPrwwI3e(_8cnYS&444VCU^YAr z&%m=V2j;?aFc0R#0(c&>&fp$_Y{-FJ$b<ec00zP!xD{@L!7v1FhdW>>41?h?0!G3p zh=*&SGjxHj&<(DI>!3Sa4>!P#&;xFQn;`*uLL&5nBuIt`tSrNQ1h2s=SPg4nEv$p} z@H)H!Z^8z63*LrzU?XgTci}zQ4DZ7Sum!flHuw-eg6*&aK88<VDoleX;VGC7Ghimn zg4ysiJOj_d9GDBw!917`3*dQJ2#a7bEP<u443@(S@FJ{$m*8c11$t(1U7!~vK{7<3 zH}ruNNQJ)857HnVG9VMO;1<Y+9LR+{=nn&6APj<A;WiiyL*RC}1DZh`G=~<@5?VoP zXajAb9b5%hLwo1|9ibD%!!^(ux<FUx2G_!M&>gOa8{kIh0XM<TkO1Ww;8+1FLM5mS zRUihcLN&M)szWT)fSOPXYC|2U3-#bKs1KJz1GoYj!j;en8bcFk3e6x6nnMfFK+7mN z0ZxQsa1xvhr$BKy6;6ZGp#+=(XTn)f63&KF5Dlf_95@%wgEDYFTmTnBS-1!;hD#s} z<sgn`p)!;Fc~{NRWsPou4jbJPUD4=P=oq70qpKU;23^Z&jhC-yw8qUhFk0j18yT&( z%Vub*=%Mz|*0^_&ZM4SL#~ZCN_FavRM|U?`WA1wxt+Dq#jqZX@Mk{`e!%s8r-OyP^ zYg~S=(HfsW&}fa*A8fS7>kl<r<Mu}yoroT7bT9N6qm$6%j7~;RG&+KwWOQ%zWTX3_ zry8Ato^Et1dbZJh(Q}Med+&U-&MOU;8TWMb3Zpa7D~--XuQoahz24|s&>M`-MsGAa z2fZ1s_;X>qanD2VG`c@}kI|Y(vDfH<=zT^HLhm>FR`da*HQw<cTJf)h&?El6_bRfO z(XXM48@&o$!sylLl18h|yEIzytc9}1eH}V%wB{{TG+Of)VvN>2hU!MYiLPbz26R26 z-$FMqTJszl8Ljya&5YiNZfUgUKeRPk^B~$A{T@2rXw8f0YV`Z)?nY~#L=U4iU!tec znm3VbwB}Ew7_E5}X-02HXBn+|6}d)#j2>w8C+NXO??ewZdKY@6(Yw*3js6rp#^^oh zaYn0;VIo@B{BxLW+`m9iHF__4y3t>vXB+($dXCXwqvspF5536fZ_vw({uaH$=<m=g zjoy!5ZS?o(^+x}I-eB~P=#54nKyNnsC-hdMe@1UN`XG9z(Z8bi82uZ1uhG29hV~hK z2)*CvKhOt^{u6!BXkHaVhl~zIVLa;J=TYclMxTH#ZuE)h5=QeH5GrXjRo_r)qfbVc zG5QpAS)+@i!$zNqu4wdW=oq6<M^`tRYFnt5(Nu{-^^86f-N5Lx(2a~PiEd`}+31!= zmqNESIvU;H=+fwTqt8KiHTqn1ccafk_b{4jNvNmM=cAL2z5tzK^o8g&qsyYRjJ^n+ zYxKqFfkt0~9&B_NJ=ExO=#fU3M~^nT0(y+m71862u7sXwbY=7;qpP4N8y$n5YIIff zbfc@GXB&MfdXCZ6(esUtMK3bC26~y%HPI`Ku7h4_bY1jnqwAs98+{pigVFWT8;!mk zz1iq1&|8geh~94WmFS&DH$v|*x-ojM(M{0%jBbkFZ*(*C0i)y42aRryK4f$Ybm%ev z{%?scW^^lbaid$KOBme-UDD{b=+Z`Cg)U?C)#$QDw?~JK?trdnbVqcI(VfuMjgCjx zGWr^HJ)=9L8yMXM-N@*!=w?QDL$@^gT69~ZuS2&tx;r}F=<Cs4jlKch-RK+9J&f*w z?rHQ*=wzdBMyD8^fKD^ICpydMM0Bpvz0d=VPC^ehIvG9G=m>hG(Y?{5jqZaUV{{67 zoYAT1iAMKDPcph6da}`J=&44hqo*59bvrcM=uGq+qqETSjlKoF$mneJGNW_QD~!%X zuQWOjz1ryh==DYqKyNU5AbO+GgV39ez7@UI=-bfSjUJ5NY4i~E9;0tZ?=|`k^ggu8 zzM<#?#(fz2pwYw8hm0P94o&v&`H|>iMvp=lH~LO=38U{qmo$1by0p=Eqsth554x<; z_oBl_k3m;7dMrA|==;&tjUI=tW%L8+dPa{&H!ykvx{=Wn(ans05Z%(~htO?}ei+@} z=t<~!qaQ(cHTqF>ccULe_b_@gx~I{Pqmzw(0-a*?6m*)=Q_)#QPebP#{Umyz(NCcV z8$BI8)aV)Lkw(u%k2ZQ1dW_Mt(c_GM8a>hIIp|47&qYr*`Z@GeqvxTg8$BOA+vo-8 zIYvK^o^SL*^dh4dp_duG7`?*iCFqq#FGa65dKr4X(aX^rj9!7>X!J|y%|^e1-fHw} z^merF;Wg+zMz2NhGkP8RfYIyGhm3w5UF>mx-#5@DjD8bc+UO1FvPQp!u83yi&0mZ$ z`W+mq8@&--%jiw$dPcvCZea9#=tf3wMmID1eRNBsKR~xNdJDR}(Oc2+MsGuRHTpwz zccVW-_b_@px~I`Q(8)%Bj7~B76Lgx<JJDH2??UGqy&FBy=ugpujoyPEYV>F5kw$-x z9&Pj&=rKm`MUON3OY}sezd}zk`fK!LqxYew8vPA=y3yaFXB+(;dXCZGqvxY_Km34R zX7rEfl|~;xuQ%a;LT@noXY@v+e?f0H`XG9%(Z8a%8~q!4r_sNo_ZWQ$z1QeJ(EE)3 z6TRQ)zt9JaR$>nt9fdw*wC0e8p78HC%_%KrwC0o+H(GN{OBk&=rX`KmoYT@qYtCsI zqcsP$tkIf-8a7&UQY#u=;{VZh$8mMY{U7%aLI@#*a7Lz)EfX4{ZEZq`g%E1hR<tdx z(Fm~+LI@$mLI@!=LM${w2-!lT5kkmyg<S5}d*1wZ?fzZ&Kfmktc)T9xc}}fP?X1<D z@8^SKY@Jb!wRJ`{&eoaLcw1*y6KtJfO|*4}HObbQ)?`~}T2pMDaZR;##x>2>nb&k% zXI?XGoq^4?bp|%e)|uE`TW4bPZJm)Vv~@<d$kv(J5<7@XZJnJhvvroX+}2sz3R`Du zD{Y;vt+I92w%XQN+ZtPEZ)<Ixy{)r#7PsDx#SOO3<~G_oo7-gTtZuWdv$`#|&hEC_ zI=kCu>nv}(t>+YV*gDhOY3qz{mwg!Sw)Om@9$U{R>a~+_pFI`#+d30GU{A+`w$9uR z**bGOZ0oG>h^@23qqfctkJ&m)9Ju?>$G^@JhuAt>9BS)qahR>M#^JWk8b{bVdmL%& zIa5)#o<|k5^*pL*dlrtdb$&nA*7^N7Tj%)WZJpsyuusQ{ww@=DWM|=II~%9iIXKnU z|JzTq^?ZhOThBSju=8=IU4XM}Jr5z*)^o}7Z9PY!&|ZLxY(0Oh#4g6Aw&n?x*?KNo zxm}JcY&|!j(q4kAY&{2}+OEVk_Eosnz8crr*Wh})3OCp{;znD~sc5qGJd0*q&sA-~ zT&z8--R|4Z<%SNs7<bw_%iU$4hr8|bagVJtxV^T{;`Z4(liP3WOz(hw1s=3@mU_s( z3J=>lTRmdy?DD9sGt6VQ&NA!C8T^&7_Ib4-_6^(~YU`YH80J&3_H1^9Z`T>^NL%NN zqx?ELuO02%b#6Px)_LSu%*ER0`X<;qznqNq_V2){etn(ePV?<L&z<4hb*?+p*7@!% zyB_EI^>r4y(AGKc5?g1z%l!H}^IdN1+;)XuN9Vt*e7nwpSKE4?aE)I_XTs}zyUvE! z+fBH^*7^KK`%&CvKZcuaJzu%SejK;jI#=F?^*Pb`{SM#Wf;(-U=kD_BJdJyN`!l%L zZpD3=i?z?K9<+5{d<5(5KZnQs`fYkeo~WbSpU0tCj}4vu53^sy;dVQY@ayaBd6cbl z_0hJ@+Q-_O5fG2{HebOBw$98a`gJrnAlbKf;uKrY(N6X2ypGd-yJiYx*j+f&);xqP z`z@Sn>r8&W-Hi*eK3<)ZFTq@_odZzr+ci6&(*6)vW8ME=Tx08uf33X|*V(IZz1@c! z?2mDytr-AK_NTbn?#C_mYTRmTMnIdbnE~y#W(IWFYjCHn83J9lW(suMnkmp@e}#K( z%^2vjHFKcf*35wcTQdj-ZOtGUvNe-n*dE3sSfAS;@R+UH10g&SOrOJ_aHy^M31OIv zwR0aLv3~78xgqG+(fopFTXPO#Y|Sx<wSU8L_U|~}{ufTL|G<fMAS4h-vNyoV_J%mc z-Uz4KAvn$67^mBt;0$|HoN0&REPFGYYj2M8?JaPj9fphSEpdsx6)v^6#$|RmF1NSA z6}HYiR$_e)x5L%GU1uO`eEase&bRM?>+KzJgB^(*?VWIwy)$mMcfl=o6mGS5#cj6E zT()D~pWSh%Zx7-wdmQfe>+FGhF~3zj_ld`zUnd$5+I!(4dpsVt_r@c33?8*7;4xcg zJN0Bl-JgANDAr>#7KhpU;c$B*j<6@;NIMQk+56+5t@EbQSa1IT9P8V4{xr_FABYot z`$0I-J{Tw22{_rFf>Z26aH@SMPO}qnx_ubVuyx)w6YKsQfpdL(63(}$;zGa9G+cu9 z`Jax<{W{6G!k&RE?U}gBJ`z{kDY(Wy3fI~?S6hd5e~!TozC9H;+Q;H1`#9WeACFt? zG~8;RfZOa7al1VWci8E;(>@7z*(c*}`xM+`XW(A@RNQBuhWqW)@qnF)2kkTPkbNc| zw$H*Nb`~DBv+<Zc8|#U(`uybJP&*fgV?9>$aD+VvN7{37l%0=*b^(sI&&DzKIXKoX z#BugK9B<FZ3HAb<Xcyrm`&^uC7vmIrAx^bRaGJdcr`zY@4EubXX_w+Gdoj+nFTnZs zg}Bfz!$tN*xWv8~m)e)$GP@j?+n3@B`)XWiUxTacDqL+}i)-xbaIJkkuCuFgy?q02 zuy4eT_D#6SuEEXr&A7$B1-II_;x@Y$x7)Yj4*Pc8Y2Sgn>^j_S--&zdyKt|4H}13R zald^J9<cAlgZ5H9WH;bp`#wBk-;YP_2k@BPi1lP}J)R%LA@)N!)P5L;*-bdyegsF@ zkK#!CF&t$#<DmUGj<%n`G4_)<)^5RZ_ER|Cei|p(&)`J66(`xtaI*a@PO+cEsdgJq zv!BQ5_6s<}ei3Kd?KsPR3Fq1`<9vHLF0?yvk^KrTv0ufd_G`Gz?!@Kx3S42ojw|gq zaFyMKtL-;&jr|s`wco~db~moK-@y&`ySUMQ4>#F8xY>Rmx7Z)xR{KNTX7}QD`y<?8 zuf(19D%@rF;cok5++%-&d+kqgpWTo9?bUd|{tOS=pW`8W01w-1@QD2d9<{&3WA-4{ zK?ptmzrrE**ErPv28Y>0INbggN7&!tNc(#nWe?+^{R57+f5b8NPdL^d!EyG_INtsT zPO$%p6YWu)WdDMb?O$<<{ToiT$8ehcJ5IO%g){6waHbvDn8&}p0nW8I#QF9{xX=#4 zMfS$H#NGs#+MD7sTl0#_ZOt#Lur<G^($+kqDqHi6s%_0Ts<AcSsMglJqdHsjj_PgA zKWeZw|EST{JftRD^N^Zt%|~jnH6N+f*1V)PTl13IZOu>Wur)ua)7CttE?e`Ix^2x@ z>ajInsn^!Lr9L}|`|WXfz}^E7+I!+5I~ot$d*Km#JRY_8#$&eTHR%wL9{-x(6k=<B zQ>d+ZPGPp@IfdJr?-XHczEh;Fc~4QcW-A44%~*=IHESux*36|?TeFwqY|UVbx7W^M zvNe+_(bjCHBwI6@l5NduO0hMwDb?2OrZihKoYHO0a>}riaHc&KXW5$Zlxu6&Q@*X4 zPldK-KNZ=U0aapa7F4ONnNVf6W<!<Rnh{lDYgSaHt(j3(wq{3F+nOO&V{4XFt*x0- zb+%?p)!Uje)nIGZRHLn#Q%$yJPc_?`LDgbs<5qh%ZnJZ6yPb<W>^$6Q&%s^xT-<Hv z;~u*J_u6OUKKmTpZx`YLdmbLN=i?!J0UowBGi<~@7mwP-c+6gibpTF}{}LQxFT$br zc{t40tg&!gGshxq%^r)iHG?e5)-1B1t(j!ewq}#X*qTumYim|noL!FN?MrcjeHl)) zm*6D30w>#-;}rV}oNDXLahk2O$LY4tAZOS*i=1ieOmdd3v&p%(&M4>GI;&i0>&$YI zt+UG|w$3n@+B(ZzX6sCIxvjI!6}HYeSK2!3TxILbbG5Cr&o#ErK-bzj3teaHOmw}i zv(XK<&PX@fIxF2|>&$est+UfDw$4zu+H22J+d5O-ZtHAyhpjW#owm+eciB2~-EHga zb&stx*uA#SV)xlPlihFYZ1#YyGunf;&T0?Ynu#@RYc|%1tr=OPwq|9G*_xT9!=HNm zYj#$Mtr=ROwq|LC*_x>pZfmwygsmA{k+x=SMcJCU6|^;bE85l!t{7XhxMJ;o9A~e_ z@%Cpp!Tua4+5<SrUW1cu&G1UGzr?AwW_qRBn(dWtYsOcGtyy20wq|~1+27(^TQk7& zZOsBJv^5i~$kuGI5?eFEN^Q*wE3-8-tlZY@unJo<#42sg605Q`Q>@z7Y_S?!GsbFd z%^It-HFK=q*6gtcoB!nyXtepK;XsqkKhFi4ZT=}F&|>rBVxZOLTjxNV&9@POcAGD$ zfexF8SD@48BG6^)jB&TEv&KEP&K&pJI(yt_>kM+gt+U7jw$3CE+B%y&Wb2Ibu&uMo zBeu>gkJ>uBJZ9?*vkpG%@vpPYA$BVcwU^;A`&k@rKZhgiHXLa`kE84taL|4cN89Z< z#(oLM+ArfcdpVA`J8**i3Qn|N#Yy&SIN9#RDfSASYQK)tY@M}Ew{_+^!`9jBOj~EL zvuvHk&b4(WJKxsX>_S^-w2N$=)h@AhX1mnZ+3hl0XSmC4o#n2udvT@x5w5aV;%a*p zuCe=Yt^F~svp>Q0_NTbP?#GSxYTRUhhMVoraf>~GTkSQt&He(n+h5`idk}ZpU*RtM zYus(?ta*>EGv~dw&Yt(#I)mPC>n!?!J&XtKAMlX<BObPY!Xx$w9<_hQWA-T4p?^L8 zf59R4uQ=5H4TsrdINbgnN7$O_9EtVsrJCs+v^BFi#@4*%I9u}_6R`e$TXP?iZOv#- z^Xq7qa)zzhB3ZU(KjvfIXU&2vv^9^k$ktra5?k|0OKr_5EweSRwA|L*(h6JiODk>7 zF|D#S&$QasT+<p`^G$2*wR28w%{#5PHTSf^*8I~(TXRsGY|TS$wlx>E#nyb(R$FsY z+icBCZMQWywZqo@)J|J-RJ&}=Q|-1jSGC91eAQlCb5{Fo&0FoaHFtHu*8J5$TXR^4 zY|UdGwl$Y^#MXS)QCo9b$861O)vyWuK5A}jh^_gpp|<9@hS{3u8g6T@YlN-&u93Fp zyhhoY_ZqY{_chwqoRJt?vzKCR&E1Hz1I+7-w>Q8E_J%mo-UuhzAvoFI7^m2q;8c54 zoMwmObbB+LVQ-Ez?JaPY9fou5EpfiR6)v>5#zl5GF0r@4rS`VC%-#-{+Yz|J-X2%l zJK!pNM_g@3;u?D=Tx;))>+D@{y&Z)c>|JrAy&G<_cgM|k5VzRlaI3usZnO8q?RGTo zu=m29_ITW7?~S|d7~Eq|z`gc9xX<1f_uH{}z}^oJ+7t1RJqZunad^buACKCT@tA!8 z)}R$V{^N0oeIO3C55i&g!8qJbz!CNo9BChdqwGU*&`!kB_F*{2J{-r|N8mU+3CG)0 zae_S!C)(3-lAVl`?HM@5o{3ZKBXOFYg46AzaE5&}&a{ugS#~PUwU5R5_Hnq-J{}j@ zX}H8b0hih*;xc;{F1OQhg?$pPv`@xW_9?j9&cHSHskqiY4cFPH<9a(2H`r(3M*B?M zWS@nb?JV4a_4jEuZnJ0O4!=$g?zD4pmz{^Z?K!x|o{M|!eB5Uj;C}mTJYb)L2kk;U zWY5FH_Ix~IFTkUA5gxP8#Tq80$9XXhu@~Y{y99^Xi*UGo9*(fj$B}j^j<OfypnU<3 zwlBmnb{USfFT!#5#W>!+1Si<#IMKcoC)t<bWP1rtu`6(@eK}6EufXZ{l{mw$#F_S0 zILp2o=i1lce7g!4+SlSD`#M}=Uyn=eYFuXDfXnS0afN*ouC!}#m3=d=w(r0-SdYWI zaGh_j$MyC-xWT>`H`+^alih%u?fY<xeLrrsAHZ#PBW|}J#2xlSxYK?ZciBz2+kOQ1 z*pK2~`!U>SH{*W$aXer@fd}m;@sQnuhwZ2Ei2XDkwV%Obb}QEKEIsCz;Sl>-9BMy@ z!|XO3Za<GB>=$sP{UVOC+i}o-2}j#6;~0B6j<q{*oc#)pw_n8x_G>uN?!-y<3Y=`e zj#KP6aH`#f)9g2Ky8RZ;u;0d+b~nzl-@&=|yExx|4;R`!xX6AVm)IZRQu{+(X7}Q9 z`y*Uouf&!1DqLmv;cEM1Tw{NNYwb^Qo!yV??bW!!{tP$TpW`Nb05{ufaEtu~ZneL} zZT28;x4*(2_Sd-6{swp1L%7@i7WdfS;a>ZD+-DEte)|VJVE>2*?Vs?FJ%WerpYe$O z4?JrB6OY-WScBvA`2Pim*uUaX`!^hBkKu6pcN}5=3rE_2;3zw=JCA>R0~~E{h-2)H zaI77I<Lr%byuArdus6ktb|_A=H^a&H<~YUP0;k$xIL+P?r`ucM40~&wX@}!1dmEf< zZ;SKo?Qo$Tfs5?zafuy?OYNO-nY}YEw|Bu6b`-9(cg0n95LesdaE-kOuC@2Xb#^qa zxA(#g_ITWA?~R-67~E`6z%BMZxYgblx7o3{-QEv(*b{N5JqdT&ak$&wANSakaj$&< z?z7`@zkMJcun)q6_Q80_PQb(V6g*-df=BH`@tB>6H8fF=|HE*It=Z|J_7OPDPQu~# zR2*SX!;$uM9AzitpgjXe+bKB4J_^U$N8>pA7#we>;spCxoM@kblk8bI***!U*r(uB z`&67}pN`Y*GjN7|7S6P@aF(5obM4tU-_F5>b}lZm^Kgkh2bbD&ahaWu%k2VOVV{jF z?Q?LIU5KmgdAP=&k8AA(xXv!Z_4c{A!7j#)_Cnlbm*8f55pJ<HL%r2LAGg_>mELY^ zW_pLMnd+UkW~+DEnyKDxUxa(?a@=cQiu>%#aKF6-57-rW(7qfG*;n9U`${}wSK?9o zDm-RijWsY-kN<0Mh+Tz4?Q3zEeH{+Bug4K~HIB4zz)|*%IB4I5qwN|TW8aKp?OSl1 zeJhT)YjJ{o8&0%u$4T}bIN7elDfXQ>)z&QkH2ZFxZr9@s`yQNW-;1;Cr8w7a!1?xl zxX`{I7ugTs61x$X+7IF~`ypIzKa4BvCR}Mhf~)LDakc#zuCbeOt^GKzv!BHEb}MeM zm*GbHS=?klhnwv-++x3gTe1EfcscIy?VY&OUV*#p*KxP~2JW%DaIf8s`|Njczx^H_ zuzT^K{Sh9rSK?uN6&|ts@u<BTkJ+DN4aL>td<_n<2XUzV6%Mn%#^LriIKm#nk@inG z${xi*`xhK-|B7Sm-*BuwhU4t<<9M87{p_|6PPF&M$@XNN>eoLGr`cIJ-Ok1t_H3MK z=in?m7w6h}INzRw3+=hM$j-+lb^$K6&&Fl;Ik?;|#1-~DTxrk8RrUg0Z5QDh`&?XW z7vnm6A+EPeaD%-FH`?dnCi{HcY?tB|dogacFTic~g}B`=!yWcTxYNEEciETVZhHyt zu`6(|{d6>sZTlJAZ@1zBdl??IpT$G=b9mTp!z1?dc+`FYkJ&F`4SU{zi*_7hzl1~W zmvNZA9EaN-IKqAfN7}FADEl=Wv^#OMy#mMBuj5$z4IF28;duK^oM69&6YaNglHHAy z?RRjB{Vq<m-@|Ek4^Fq=#~JnqIMe<RXW6|t*Zv6S+beOQy$ToEeYnK_7?;|g;4=GD zTyFQ{3VSuKv_HdD_UE|T9>6vB8eD6Cf$QuqalJi=8|<%eqaBFl@o#T{o9zv8i@gzU zwL@^5y)kaLH^CkDrnu7%#a;GhxZB<w_t;zDUONo;*<0d%dn-I(Z;c0S?fDq8weMrt z-WHG8+u>1LdqBqQ?Xd=(>+!z>4zaZ#B-GZPkT6^OLc(qB4T-R|KP1xD9+4<p`$U4a z_KHN?+Ak7g2XU-D4#(Mh;COpaoM1=eM0+osWRJ(m_TD(fj=`z+1e|8?gVXJOafTg> zGwuCwmOT;Y+LLg;9fu3;{c({!8JE}x;8Hstm)Qs6a{C}$VIPbu?F3w9Pr=ppA-Kjq z6xZ5`xXwNd*V~8V2KxxyXeZ$&dn#_Wr{NZRI&QU-ahp8@x7#yuhkYdOv{P`GeH8At zkH$UrF}T-G#eMd%xZgew57@`!K|2i(*(cy(`$Rlq&%&d2Iv%r6!W#0g$N$MV#6AUw z+8H>^J{5=Cr{M_ubR21C;wbwJ9JJ5G(e_z5#?HdAb~cW)XXAJ~2PfFMIML3-N%kC^ zY|q6hc0NwE3vil!Hcq$C!5MZT&a~&@EPFoAwHM%gy9gKB#kj~`h)e86xYRxmm)RHN za{CfoVVC1d`%+wGUxusgCAh|}z_s?}xX!);*V|X(2D=hB+E?Kw`)b^5UxQohD%@&c zi`(q$aJzjy?y#$Ir+owNvTwxQ_D#6QuED+b&A89L1^3&x;sLuB58AikA^UbbY~O)L z>^eMZ--*ZUyRe=VrpN!?IK-~Uq4qsE%)S?g+e>kT-GC$Q`*4(fKMvXt;Ap!M$Jh_z zSo<LyXFrVN?IxUHKY|nOM{$z<7*4jEaf<yoPPL!FY4(#i-EP4d_ER|1ei~=l&){6U z73bT_aH0JyF0!A)C3YJwwV%gj_6xY&ei2vL?YPo@30K)K<7#_3uCY6Ct^EqFvtPya z_G`Go?!=Au3fyGBj+^Z_aEslATkSV-oBbAUx8KGcb~o;{-@#q>ySUqa5BJzTxYvFk z_t_ude)~f_VE5ud`y)JLuf)UlDm-HM;ZgfzJZ67_wcJII|4(s<-H$`<)i})l42RpF z;|Tj39BB{XDEnI+w7<jA_K!Hm{t3t0+J_xyYcF=Zt^L>uw)SKv+S-?$WNUABvaS8u zDYo`#r`p=5on~vVcDk+o+8MU?Y-ifqx1D8c?{==O{oDDr_HY;4+Q(gFYcF?+t^M4k zw)S+F+1l4#ZfkFMg{}SFmA3YHSJ~R<U2SWxca5$6-nF*&eAn69_g!ym?{|Z({ojqY z_JB9p+6UfjYcF_<t^MGww)TX#+1eN0ZfkFNhpqkLowoLfciGxC)@^I|SdXpUW4*R^ zk@eZhxZj?E2W;&o8??2nY{=HGvSC}h%SLSNEE~o8cM|O}(=sDjJIq3{9{<{D7G`Uw zS-7noXA!n`oJHE&c@|}B=ULF!4zy@nJJ4cm?L>>UwG%DQ){eAzTRYMcZ0$@-w6!xW z$<_|FWLrDbQf%#1OSQFAEzQ=BwRBrM)-r7ET+6hzb1lo(4z^r77w6k~xX{*4wjx_Q z+DdHgXe+g~v#re5&bD$}JKQR4?QpBKwbQN2)=sx-TRYxrZ0&ffwYBrD&aS}q_T{+2 z)(*HvTRY*JZ0&?=wzVU!#nz6vR$Dvc+HCENYqzySuEW+2xlUU<<+^O`l<T&&W3I>6 zj=5f2JLmdr?VRhkwS#WJ)(*NsTRZ87Z0)2QwzZ>f#MX|wQCmCf#_T;F-~rAP+x0l# z6NlK*IMm(?huPzCxV<-yuw!tfJpo7A+IbhWwF58Oj>R$d+MRf|cH+g^+L0G;Ye!y! zt(|#^wsz(v+1jC(Y#)SE?1OQtoq*HqDLCCe1ZUWX;!HacXW81pmunx6^X(&Wp`C<_ z?5ViKo`y^9>A1{J#^v@5Tw%||mG+Ui%1*)6_EEUT){ehgTRZ>i>{MKDYX@M1tsQ`k zwsrzG+1d%%Y->kgi>)1jt+sXsw%OVl*lufwV26D&?zB(AU3LcUwok=9_G!4+J{|Yj znYiE94#ENZOgw0xg@^1cJZxv<5qmZswR7;8or|@&PLKaQ9AeMGq4r!HX6NH@y8uVn z+Hn|ZYv*B<U5JCWb|6OE+JP8jYbRo?y%@*Y7vOmNLY!ci;Y9l)oMc~&lkH1zid~LV z?Mrc*eHl)-m*5P$0%zKn<1G6MoNHf+^KI>7EVQd|k$o*Lv9+VI)Yi_%GFv+v%Wds& ztgy8YvC_T;SJ}7XYP%NK*tg+Y`*vJs-+}AxI^1C2i5u;^aFcyEZno=ji+vAnweQ7k z_EOw#H{cHYKHO>FkGt##aJSuvd+Y~sul*42vmeI&b`u`3AHjq6qj<<}#>4jGc*K4J zkJ{P`IcB$DEp61}Upp*A?5A<4{R|GXTXDF(3`f|{;z;{B9A&rRp#40KwqL+8_KP^y zZpU%<OE}(s87J7waiZOUlk8V;vi&Mfv0uZfb|+4=SKxH}b(~?pfivwcoMpd>b8YS5 z%(u0Zv(Wwk7ug@;61x|d+8^OEdnGQnSK$h~4_DgS<ymF_16SMHJ6dBG;adA#TxS>K zdV3*muuE{Gy$Cni=iz4ieB5G};#PYxZnH1I?e>MZ!!E;}_C>hMz8H7gm*5_|9QWFn z;y(K_+;1<z19k--v@gd)_7!;8z7mhvm3Y*?3Xj=WV=XMz<Nq2QVpri%`&t}kUx&l( z>v4o#jU(+FaFl%`4%#>2XuAf-*f--?`xYE$--_eyTAX0th7;}Eagu!pPPXfCihU<e zweP}d_T4z$uE!bnJvh_87iZZ^ajxBf^X>a^p?yCtvLC=Db|WseAH-$$L%7_27+2U$ zxYB+ESJ{u^YWp!<V>jbk`*B=nKY{D*Cvk(_f*b9paFhKsZnmGnEp{tzwU^;G`&ry> zKZiT)Hr#1HkGt#_aJT&;?y<FFw%69q**<&RA3Xl;J@A0NCmyt;@sPb29=6Bh5qobu zYRBL)dji(7UOoQz!6Ej(IMj~CVfKDF+@6Rd>`6G%j>A#5_R$9I$vE0R0LR$zIMzN8 z$Jqzrc>7?SU~7+UqOE<lN%kQ)*`A71>}fdFo{rP(WSnl#z!~;ToM|74v+NX{YafO4 z?W1v_eGD$LQ*nuXEH1T=!)5mIxZF;|74`|Z(moMa*|Tu9osMhllW?tlGOn{v!S!|q zZm>_qjrM7{$qt0Do6+6?x7gal+iGhcZ=0>XyzRF3^LE(U)7xolUvHPKy}jMG_V@PK z+T+`6YoBkQt-Zeew)XoD*xK_uXlvi^kgdJH!?yPSj@a4*JZftn@R+T=z*<zT$G`Ri zhuGQ^9BOM{aG0&V!Qr;{2S?c2BOGb3-6w2ouW-=Te&J|adxm3d?Hi7@gE-C}hvRMS zAx^Nhk2ulRUg9KM`-zin?I}*NwXZnUj=^d61e|W~gEQ=Xai$%Mv+VtFu00Xw+mmpi z9fynT{c(vs8JF4z;4(WNm)i&83i}{jX&;QM>;znGPr)_zA-L8)6xZ2_xZXYtH`s^c zM*9fdWGCTfdn#_Rr{Pw6I&QO*al1VOci1y=r+p;uvQu!keH8AokH)?BF}Tl8#r^iN zc)&gm58B7$AzOQ(hi&bH9<j9-deqi_=rLP+qP3)5kALlp4zaa2I@H$w=rCJ*q{D6P zla8>pS31(xe(5M%d!~c7_Dx6I+B+R%YyWht-HzkzmvFqTz0?V|_ERU?+EblmYhQJ; zt-aMLw)R)2+S+5CW^12yx~;v|8MgLYXWH6xon>p^b*`<w*ZH>gUl-cigI#26A9jhY zz1XF;_G6dXy|~=|2v^uEaizTqSJ{2I+Wr{V*q`89`%_$J_v3ndHEys!!;SXmxXB*C z&Gs7HVt;{K?JsegJ&4=wuW*O`HSV;(!Cm$c?zX?hJ@$9F*Zv;&*~7Ts{s9lzKjK0A zCp=`2;9>h`JYxR?kJ|slWA-QxFoZ*o|6g#3{VNW&f5Tz6c8Q1E+9@7kYqxl$tsUc0 zwswsNZS5S7wzYda#?}t<SX;Zu<819DkGHj(Ji*qE@<dy^%9CvEEKjzzyFA6#4)au7 zyUf#U?KDrfwc9+y){gT`Tf5G)Z0$VHwYB>^-_{QFLR-7gi)`&gFR`^7z0}r@^fFt! z(#vh_Os}xDJH67@4)rQqyVR>~?NqO^wOhT`*6#T_TRZ6MZSA6Ou(gxE(bjJICR;n| zn{Dl?Z?UzrzSY+5`ZilT?Az^oaEGm(_MNtN+jrU8ao=s<k9%zGyzjLeai9Gl?zbPp z1NOss&~Cy*_9J-MeiV<`kKs|f8IReI;{bza^!R@ghuAGR)P4$w*-zte`xzWzx8g{9 z8IH1_!$G?ZN88#RA7g8We5|cq@^Q9y%E#N<EuUa($9$r#UGqt{cFrf;+C86QYX^O* ztzGnKwsz8|+uBW^VQWWyrmbD|S+;i8=i1s`pKoi2eW9&g_C>aK+LzecZC`3@$9<Wt zUH9d-cHURmwYbv04OiK><7)d3Tw~YaTKi61XWxbE?YnV<U5^{>dvKF|FK)J%;ugCB zx7zpNHv4|uZa;uK>_*&aKZv{Rhj6$3Fz&INaIgIc?z11o{q|#cz;4Ea_TzZSegY5M z?Rdm~36I(@<1u?V4lry<kN*xFV!whz?N@P_{TdFpJ8^`)0!P}f<0$(L9JIS|wEZTI zvERb6_S-nl?#A)<J2=697bn{9;Uv2UC)@Ai6#E05YJZ5+>|UI1e}psal{nL0g|qBF zoNIrK^X*S?q5UZ?vios~y&9L=pW!n5b6jo@;0k*UuC%|vRrZ&-+8)F;_E)&p{u<ZW z-{5+C2shZ@;zs*B++=@`o9$uTV*h|!?H_TQowg;9fBOX7VV{UQ?OC|XPRHH$Nw~*8 z8TZ<!;66J8_uHr90sAyOXrGRU>`XjtpMgj0Gx4Z>79O*+aDV}0di-bO5PLQbwR3Qo zor}ZmJRD&c;Yj;j9Ay{dpuG@B+a);0UW8-q^KhJfK909bae}=VC)yX_B>O^~Y?t8_ z`y!lbUyRf2OK`efjx+2_ai)D4&a#)_T)P72+n3`)yFQY~zkLrbvG2vD_EKDCH{f#n zK3rknk1Op5aFyMNtL+DIjr|a=wI9ZHb`!3*AHfawqqxz23^&=$xY>Rjx7bhMR{KfZ zX1CyW`zhREKaD%>XK<I@io5M)xW|4L_u9|lKD!O~+t1?x`vp8`zlewIc06pqgh%X` z@u<BVkJ%kKz)(Fs{$If%_NzG5ehr7&ojBZHfg|kKaiskQj<UOO(0&s~+i&3*`)wR+ zcjGww9UO1JixcekaH8FVlkE3#vi$*0u|LGAb}vq|Kf>wuN}OS@!kKm-&aywox%MYG z-~JRA+DY?y{M%D;i9HRM+S75Fos7%v8Mwlpi7V|Rah08dtL>w3jeRt(wU5Ddb}Fv7 zkHro4ak$Yw9yi%(xY<4dx7a7*R(lq1v(s_AeG=}lPsW}0DY(ndz}@z#xW_&X_u8l9 zK06cl+h^bb`%FA&pM{6)EIe#y;}Lr{9<_7un4OCQ43gC2KM#l4b8x6V7l+yTINUD4 z5%$?Q(mn@A*@ZZ0&%@F7d>mshz_E4_j<e6j@pdszuovP)y96iMi*T}i9!{~($EkKH zPO}%|bo&CFVPA+d?J}HYUxah*i*dev2`;n)EVwPQH^3$KhPc$;2$$I*xZK_tSJ<22 zN_$gWWryNwdox^PZ;os2EpVM3hU@Juaf7`TZnU??O?EhLwzt78_O`gy-VV3f5xCvn z9(UL~;7)r-++|1NZhI%(WABW6?Okx69fkYtUGadu8y>WG$3u1y58LDLh`k3MwfDqh zb~Fw!JXMeXy>N&<9*5d{<1jl0huafyguM@rwD-kPb}SCs`{8JNB95^q;aEEk$JzVi zczZHVun)kAc05k955&p#K{&-e7^m6^IL)4d)9piWhJ7f`v=ecbeHhNQ56AiT5xCG! z!bSE}Tw+hdrS^1OX3v;cRI)g=pd_z2yYPce`TvjnKB!Od^up|g3-P+Qf6DEt3l^NS z?rr_tc4A&pUP(bo!Gih!{`#x+cCw2~78U3H+uQj}w=bBVlU?%fum3r>Pc7u`%+J;v zTYDEynqQE!AUAJe-g>V)ptqs>IBjuB9(Q!z`?Q9a%__+*E}1buckN~BOq4ovt*4*3 z_L?qESx}ribzx3H!QVJ8Z*F!;p04`+uEYO%+1j`B_b=p4|LwIeS?8DXvURSleQ8Q| z;heu;pO^pJ^}k<ZonPhG@ht`ObMs2q`+fO>k9U6dyu2^D4E68fAYQm=_P>2zzT&od z1@q@+^9J<!`s;PS#&e7F@^Tjk0xPlpJgRT-^z4OsGZz%*&L}QkP|R(Sv^$Nbohe8s z(%BSy^LBw`%Au=hDJ`e%Z`m%8UR;ou8!TB6T$o>6F#jAWJ6M=qJU6d6n3G+Uol{V< zxM5aAfFrPhNyUp6mgG#Dd|=+3DR~FvCLEYM<$(CvlMl|FlAE2IJ$cTQ+}r~v&)z>b z=b!^-&yI_qR9G;(IJ<c9r0l}N1v!%z7UxVV&OZOF^YU^g7BB4PZKm=zwKIM*E{FJ- z!noAq{9F7TX*WW4Fu7o1QDOGtV8Ohi!n}ET^Gnt~2!q9WJbveM-?Qfj^YlpwE}EZL zT9lVll9yY!IPg8cUjOOyHH`o7_kCdrpP;$i^*~j6MBo_S?g5(z0$XwU*YAPemztEn zU|t^YaQ^(f;z<*8_+&1aRGc@rfVZ%C?WbYwgJoh)F^}nm6AKpXchH>u56+!DdG_q= z{SS<b+kcK;JFj%Vg^T%MOZSVLm@x6cwZAUEpqNkU+OG@T5B`wl73&XVa87nXVP5Vb z!G(F}?mw|GZ+^^#iSx3H&RS3$Q&PMrFE&_KS{5t~CLYEs6waAgSTL`k<gAhfCE0}& z0;7B^bGgq`c!IxvAO5<oUCZlUFWH2>jqAL89@q6a`|I@|TJPmc*L!&>zX#j!`udOG z)&QTnwZGT8)U1mn(isC?>T{^u|9abR@dsl2b*_KH^_X?8|G3`EKjS*1vHt$`Yq%c2 z&h>A&9_0GL@dr%aKW@^*{pS8SZTgznefOCVv-kMDqW9cmTtaa7-FA)oqo(2J%KAGV z`S_D7E*O0M!~X8RuIHY4^6|zeIzL-}d+VbYm%e!C%MU$&?>)D?blp`CH!pkO*`mkV z+v=*Wzwq+%o36gG_|sc|>HTi#_s>^;@y{z;e)#GiBVS(g^H0Bhv!Y}8gW9LxeCm>2 zdft2Y{ef2=yn9JgLE7xB>=WL;p=4q8Ww$Lpr()jxvIQp=o_FoJm!5yoeTy>Bo|Tew z#?<5Q|90tXFRXs&jaNTf_14#;cYXiI|M9=$7R=9^#Y6Q+esBKzJ4Smxc%c9JHDS^G z^NX{Kg8Z>64$diFFfW)=P&~7kuV}HsxeH1T(dV%Bl!(9tF8_ah%$F2r&tF)`pBDY; z<7)-)vw+JDc%W>{<@)#6Uy_44`g`a<-0}R3h`{7^-qz;-;cd<4ud)BHH`K!0nY7N^ z+3`QTo#Ma$F8<%|(Aau!XD{B4{=BUJvCS=Bu&C&Ne-nY^QzHWVtaD%D|HIqJE-VQa z6%^(Dhc^?b<n3?_>F>|;5q>*=ecq4b`rhlj{CKYK$aOCM{xy0Xef{|B*EDf`;yTxt zu6O+zuCMzxTe;4N>c4+|+j=j5p6eWi`}^f@aXq-s^?z}F-S_wFde=ASi_N+(-(<b( zJFRy;V!i7@uCM#Kj$QBNd#`u>aIUZWIGM5D^#j(se#m;)wHJQ;Iv?M)>s`NYz3U6t zyI!*1b?vub_wBWEecjLZa;~rY`F&@->#O|w1@qT_Us(9(-@%6j`TIGqn6Dm-<`?H> z=j3P4F6567-zf4D|K<GWmlOWJ&RP4d=GreM!GHTBJ8*hLAbp*W^()?&{w(~L-q-*9 zk>+itWkv)}Sm%8W{deEj|NOD%eYCCjzP|tOzOS`k8e-1)^ZTm5{@nfe-+dqY(lIZ) z_?$d_&soL$TK9AJ^MC(+@eSnsoP58_QQlw1I=@$=|M&OD$Me5D0C^wzXa4)g7Rom% z|HsGR-|uVP2Vf8H=eTt~rY-)9?`PcyU*cK+{(iRlFTS6(4?I4G2HwX}>wGNR{1@NH zpI<Eg=dl->_3ytw5&y;ar3d-HJ@ELLN_c-Kt@E+%==b-(eG|_2*mDZA=Pu;i@I`<A zm>e_VuRo8|`9@2BFK)bf*#G;Nj$8Zv`G5Sir~22%O__RH_5~_%$!41cgMr;Ixg>7N zxQnwd2wpsH(jiHwXI*&lW}9uk`4(G*g>AWIFgW!z{fe{B%D#Zhnb~u)dH=I1hjJ;8 z=FnWqCw*^qHl0J7lUB&(Jep4nsEE!beGSm}W0&xEEB_1-SVZU1`J|tP`LQ){0ZpZ8 zG@X)Z2F;`+DTVZyIhyn{mEK<}m&cO+TpUknq^~n4(k#;Z)87yJ{WzIUA$?sql}@8N zes9{SAFrm*=yMvNHKciOUvT*)4boTiHGM-v^eufy-_tPtKtIw?G(tbqKWLPGp<juo zrw7L9clsA;Hh4RiFVV}ioI2<g())jv%h#xrR?zG826fS!^cKBM-SiH<OYcz+y-y!d zFMUKSX%+R+$Mgx6Zt&;#$NHvhBifL7s!2dk?b?(!q0K0iwjh1~%m1<q@V{{bThmsw z4TaNov@LB<5v1>Ncc7h!|IHEDg?6T0DT;Qd-Dn&IX;0dN^gV4f?M>rp0>#k2v=8k^ zu{4P$(g8G?4kUdqdoUeDhtL#Cq(kX&I*gJ?->Xiesgz99X(r8}6grZQp`+<oN+o^& zs_$1%pfs9AC(=ojPN&exbSh=g>2w;ML78+Gok`i0ML9H^@+g<)(i|$Fd^(5Drg>CI z3ur!_OGUJhifIv*(D`&8@s#wy1zawsGP;m1ri(~_E*8@C4KXd@w#(>ps-SdktK{-Z zIvJlrRrnhEm`>&T>2xE$fwFK8{R0<pnNPRjS~?8tEY<=pi%H)L>-))jcv(FyrF-c< zYM^pn*2v`pv;;rGWfN86W-cG2tMN6|f}f<P=_$IA+m><JO3zap{gYmySE*y2OWoE< zE9kX#E_K@*)J3nabE(_jqBp6V-lliy9qOU?=mUD6dg()2Ngq)kt)lDbQ~HEfQ$Kx9 zpV1l`pfBkQ`ichW8~U2Qr6KyBzM~)MC;DNXOWpP}jnK{XBK<<6^c($3ztb4~LI0u+ z_?!i3BifKQrV!ec^mEQ;6iQo=eh%7_!f0#SingI}+K#rR?MXlX>_|J1em07vU1(?8 zm7-{O+KukwKJ3Zm9<&!llYSl=PZKDH_N9GjKhn=mlV~FCPjRH5hbEI|RwZ(IDBaH6 zox^p_fzte^Y1}rI%DMe2F7-3gku;Nzq7*uYj;3QNm5!(5NHeMCk>*id%CEmdZ-cI; z>#3S_&h#cOb;h)YOPzt#`CXkwy_M^?kj|OT=56TgX&u++<2$*$n>2gtelB0(We;+x zv!{=8naultoXaOjKL<V|^D>=Ny^X)OmXYSbp37wsEu>;PpU$J->0k5*{X|Xl2t7)V zQ5U^QZ;@uaKF;M6)J;!P3q3_Y)6?_}wbDB@LNn;E`|vCtrswD>9#;B$^?7=MUZi&V zfL@{>=w(_?9rOylO7GKa)JZF7{5bv`a`^^bL6vkBT}_%Fdjpp@lJ4(KR6{qD?(Z#h zE7j7v_g9}cea>#@Qup@`(*4!<0(a6~bT`$L?(aRM`@58Me|4$*-az-!{iOT-05#Hs zr2G94mk(1FT}Ri`hot+f&#~^8K9~AD>TT%b*Zb7x>23OmdTAA{q>rhOKBZ4+HTBcy z^ck(80s4}@ps#3<zM-$_TN<M8={wTLuirC$eEL24g)X7L?w3Ai`dmImqx4Vuk$$6J z=|U=_izqFGzZ2<1nnme!5}iz^PzLFH($na4%A_;sOgf9=Xn&ea+J|=lm+_>1cn5NM z5FJbjG=&bKLn)CCqr*x2@{Zs#iKdcv=1t>L`|`9WPv1``(+rwPM^XwMMMsnN=N-dk zDjiG5(eV^c+t9Y8`?ejI5v2RJJ(oMsjuc5d(ay9BMbWOb8|l97&Sj9sk?z|bT>f?6 z_QcV&7mcUADTXG{KBW7$FPE{jA5El56rc@gL)wT!Xk*%hHl<M7j5en&D2%qGt!Qh? zrYy=K?F^jl%RDY~X)ev70?Maz=xmxtg|vX?)45bc3#phEQ3;(-=h0#+r3>i-x`@i? z61tc!rE<E4uBL0Lims>Y=mx5$o9ITmnQG`(x`l3|TDpU7r#q>R?xwrw9;&CMbT8dU z4fFurPY+TfJxmYLBh*BX(WCS@HPe&y1U*G9^b9>s%czx}qi5-PYNHqF1$vuarkALL zmeZ^B3U$(J^g6AeE_#FBqBp6X-l1-KkKU#CsfRwK59lN6rB$?&KBhkUls=)=)K8z& zXS9X}=u7&7zM?_;hQ6k6X^6h3@8|~_rl06X`k6-PpY#v<g+}Q&`jvjCG5Ul4MH_6) zW0f|d4QXQvp-pKM+KfVJ3)-Bvq%hi=wxVq)oVKHFX?u#G9cc&Ji6Uti+L?BxDB7KN zqj40ZJ!ucxi=t_78c!1_hW4d>Xg`XjNi>nNX*T7McC~9q`yA5$choL+?O@mLb?sc& zu66BL*KT#~RM#$b?NHb5bnQ&nu5|ss6YWOVPIT=;*A8^;KG)83?K;<vbL}?QPV;iQ zlrEzsq+R9OQGNyOPm}2Yil+nVAUc>5XbK%dhf*RPMu*c8ltfc$8cnBUnn5$^NJ^oj z=x92IQt4Paj*h1^I)P54S(HvE(aEI$DWExXnlGoha+)WnIdYmGr@3*O7pFOKnh&SB zaGD3FIdGc)rnzsL_og{-n(wB$Zkp$&Ic}QYrnzmJ*QPmbn$M=WY?{ZWIc%E0rnzgH zx28F3ny;q0YMQ5}Icl1prnza_cd9+7+Hb18rrKw!J*L`Us=cM!SE@aw+E2Q6FDaMW zL#q9w+B;fL+B2&CqS`B}eWKbUs{Ntb8>)Sw+7qh%pxO(neW2O{s{NnZ`>B1O+ViRX zp4#iFeV*Fmsr{YW+o^q>+S951oZ8E&eVp3EsW}yzPocRKnn$5I6q-Mwxf7Z<p*a(p zFQK^-nkS(-5}F^Oxe=Ndp*azn523jbng^jd5Sss>xeuE6pg9kk@1VI3n&+T74w~Pf zxec1vpg9ei&!D*sn#Z6y44S{7xeJ=Npg9Ygub{aKnx~*S3Ywpwxe1z=pg9SekD$2- znunk{2%3MOxd)nepg9McZ=ksbnrEOn2AW@>xdob6pg9GaPoTL3nn$2H1e!mfxdWOv zpg9AYFQB;snkS$+0-7J7xdECNFuEOItLRtyjmGGA8m1rUNBW6I=x5rNuU(TVg5qg6 zI-JJQRN8~4k-oq9%lbQgA8tFEW|RJI)to%d$J5ST?cmj}dF`0jZh7sL*DiVOkk{^b z?Tpv1c<qSSZg}m4*DiSNfY<JK?R?j+ckOuBZg=f;*DiPMaM$j3?QGYscI{}_Zg%Zt z*DiMLVAt+-?OfNcb?sQ!ZguTc*DiJKP}lBs?M&CMbnQsjZglNL*DiGJK-ava9DY{O ze3%XNKh9|*+K@J;5ZaVBq0K0iwxG>vOA4c{X)D@>!f89&mbRw|+L3mkohXuap`B@0 zilW_VHyTGl+LQL6y(pUYrtvg^VrXC5hxVgbnnV+6e~P06Xfhp0@pLd9L{lh%4y8lr zFiNB&=x~}!Ni?0N(F{taBWWfbMJaR)9ZknlDjiS9(Fv4Bv*<)RiPGs5I+;$T3_6`o zqcbRz&Z09Zo9>`2U*>Q*oAM}^=F%K0pnN)q&Zc=(NDF8_ol8Zukcw#$mC*Tg9xbL) zx{xlQi>Qn)p^NEKDyJoM8C^~lbR}IuS5YNhLs!$aR7Ka*b#wz&(@k_E-Apy4k4qop zr##H=;j*5V(!F#aHP8ceKRrl|^e{a{k5CgmMvv0t)J#v(6Z90d&@=QjEu&U?j-I9G zsf}Kw7w9Ewr{(lAy+R%I8of#@sFU8H*Xd2_qPOWSdWX8{J$jekrylx{KA?}NmsZhA z`k4CYQ~HEfQ$Kx9pV1l`pfBkQ`ichW8~U2Qr6KyBzM~&#n0}%k>1P_Df6_nb7aFDC z=vVrk#^?|F7lrck@@BL-Z9!qQC2d7plb%qv0c}VdQ3!2Jo6x2dNjuTbv<pSit`tt& z(6+Q4MbP#XLlbBp+LvN!KblCBC`jXI589KWX)hX2ds6~Up+o3UN~FW+a5{qGXn&ea z2T(j6NC(lultM?*(R2)@(y^38Q)wDar(~Kzr_$+k2AxGG&@4KMPN94%ptI>5Dx`Td zpB7LSWz%fRp<K$NIW(7^rRS)VR?zG82Cbx3q+K`Kaq~5OL%-5*R7qFS)pQM2(Y16P zT~Fn7DP2ZOsDdu1E9gq9rQ7Isx`XQIPP&WkrfRx@Zls&2hHfV9jJlN?=|Osk9;POG zgdU~GsGjbjdub^((0z12JwUCrjM}J~9;YHYm!2g3`;-1XXBl;Iy_gnK2`!@K)Jq>x zHLugn<vVm9olk@G6*cp+AujuAHC;d#(i$40Qd&%9bP@eT`gficbPNywbLbUXL&x!N zKa;75&ZS~nNF}t0&ZG0GlorzkbRm_|MRYM;LRpkevnhviDUasRT*{{cI-Aa+LYhbO zX#rKx66%iTW2SfMJ?f$N=>z(Zdg&utNvo)jKBiCTQ|hPH^cj6l1GI*|pf72VzM`k; z8EU0v^ejC`ZS*|7Krd1|y+kk5a_XR0=v8`+I%x&HPH#{by-9D;+Z4z5AN$i}I)LKo zKstyHrUaTohtQ#vNQcqkbOa^QRGLQ9DVb)_OgfTM=qNgxj-gaKmX4$2DUD8`6KNKu z(@AtPokAIODxF5BQzo53XVO`uC(CR=8`4G;LL1X2v?+zsX0$nNL1DBdZADvCIBi4Q z(smR<+tUuTBSq3qv@`8OQM4=VM!Qpx#?c<MCq>g<G@kaR7@9!)(7qH)`_V+2MA?)@ z=kV{*7wt-1>N!Yy-cmld&!w}efC}jxI)Rs+OKEf>E#$UhI*%675!{wUm*R3-LYL9y zR6$qL6?7F<(lvB7T}xGTJzYmPP&M5|H`2{iL$}f`bQ{&u9dtY0Np*BL-9`6MJuRhs z={{<p2k3r!kQ(V>dWasOCVGq>rN^n6o}?$}DQcl-=xJI;t@Io{OV3jqy+|+6OVm!w z>1BF_I_Ncel~zzEy+N<jo76>b(_8cob<=zFF1=4Z^dWsfA5kx@qLuV9_0gyF39Y7n z`kX$aA^L{Cqi^Xa`jP7SS>PVJmzGik-ADJ+1Jp<l(nItxHPIvVC_P5a^f*01Pf`m# zMNiW+)Jn_fS$dAz=y`g9UZi$<iC(7V)IqP%YxE{*2D)aVPp4@#gOce;nn{{ru9@bQ z{4A!Q%XF!q(KM@Ev&%J`T(inGi(IqGHG5pM$Te$Rv&S`CT(ibCOI)+XH9K6h#5F5i zv%@tTT(iP83tY3ob7(f@Q7+A;Iiy+Mn(eLG-J0dCS>2l5t=Zg~)xCr+qsys+uB0nS zv$ZvATeGw^TU)cUHA`EwvNbzfv#~WRTeGk=8(XulH49s_t~L8wv#mAjTC=P*+j>ua zp4)@=qG;Ni#?u6fp?zr|+K*yMv!y4}0W_HoB+ZgOm=2;Tlt72lA#@le(h+nxO{FB7 zPSa=xCDV~Kla8VkI);v>V=0w1Yxy`jfzoIeok%B<W+|USC)25vL8sGcbOvS8S#&04 zQx@gWY|5itnoD!2fb!`aI-BNEA!*j|e7b-ZQyE<-^L6kNE-$7_shpP3Wpp`J(3Nxr zRnaw+$Je_XxU8m|=tk<GTj>_MjcVx*x}EN%I=Y+gqI;;GmeRd+A2rYebU!^vjWmb% zlS$cBNN3YsbS2$Mv-o$Br+7WhvVDf0re)Mh&(X8=Jhjn_^a8y^?X;X;rW(48w{;z# zhfe$&y-q7Am)qauvWqn9RkL3|qz~vL>ZMh*lJ3}mpGUa-nVzJ2{tf0Hx|fzx1KmgW z(*x8<57I;QFg4L5#47m!>$C%`6b`UfHNeWr0IT@|tS1XRMXad_u&N`#>Vg2H+yjiW z4lvR;z*y4&qa6c`w+k@hE5Mke0Ha<4jJpVM<Uhc%=Kx1P1FsTCumYX5f?lULsEgjD zx9Dx^rg!LFdXIYOefoetq+a@nR?;f!qmStm`jq-<HGM{((*UiZFX&4eq_5~}`i6$+ zTl$W^C(XjtY|N>D@aK%CQ!>q<nRFzj&{1?W9Yd*fEFDM3QyOWW;)yhi(&;2RnNA_i zMLd;Gqj9tc?MczJ7mcUADTXG{KC~~z(tb3NCQ%&iPm}2Yil+nVAUc>5XbK%dn!~60 zdz!nad3&0(r}=uCt2c=>M^E$fG&fK4@-!z;^YJtnPxJ6J2T$|wH1|&P?lk94^X)X( zPV?-NNb~D7w{ALVPMzk{%_PmE(;Pa@pVQnq&70GlIn9^TT)E>ZKpW78v=N2S#<U4- zN};qFZBAQI7;Q;g(bg1B+t9YO9YxUgv;*x(k+c)-OuJAN?Ml1R?i8ePv<K};(X<zh zr@cvY(=;zlbJ8>)O>@yS4^4B>H2<uhR?}znIStSn`hvbB%`MZsGR-N|d@{`?(>yZG zA^V;*cTDrfG-pin#WYt;^TaeqO!LDuH%#-wG$%~+!J6rDdV-#$7J7=Fre~;?meI5H z9JSH&^a8y|?er48Ov|Z*UZGd%HR_}l^g6vkUGyfsMQ>9#y+iNPd!!jynti32SDJOD z8CRNZrI}WmWu+Nb^`x0qOGz`TG@D8@sWgj9GpICsN;9W4Yf3YwG+RnDr8G-QGo&;- zN;9K0D@rq>G#g4Yp)?ChGoUp4Ni&}`GflJ7G$T#3(KHiHv(PjH?R+Yw#iSW$Wu%#A znq{ULX61A#X;#@1svylI(=0O0Ak*wI%^cILG0hm$Y%$Fg(=0K~5Yy~1%?#75FwF?l zOd!ny(hMNY{?W`I&HB-dAI<jBOdrki(F`BW?$OL1&FayN9?j;_OdieR(F`8V-qFk* z&Dzn79nIF!OdZYA(F`5U&e6;q&C1b?9L>hjOdQR^(F`2TzR}DZ&AQQy8_l-SOdHLz z(F_~SuF=dI&8pFi8qKEBOd8Fi(F~e$x|A-XB~(F|(-m|jRnk>-HC;nhbS+&+*Hbm! zKsS<RRcS_*W>aY<m1a?C29;({Y37t>O=-rIW=m<Nlx9iQ(>-)AEu{v!kM5@jsF5C| zhv;EyqDSaadW@Rsae9I@KSpz7G%rSTVl*E{b73?OMsr{^|3!0OH19=oUNqlDb6qsg zMRQy<zeRIfG_OT-S~Q<Ub6GT>M{{{Jk4JNOG=E2PcQkKDb9OXeM{{*FPe*ffG(Sgk zb2KkUb8<8vM{{vB4=0B-|3-6fG-pKfMKo7L^F%a9MDs&5H$?M7G$%y!K{OXc^FTBQ zMDss1_e1kOH0ML}Jv7%t^E@=iL-RW{w?p$fG^a!JIW(6;^EfnzL-RK@cSG|wG-pQh zW$vY=q&YI0AEUW3nir!vF`5sfxiFdsqd72||Dw4sn)jkPFPiV7xh|ULqB$;_-=euK zn%AN^Et=1wxh$H;qB$&@zoNM-nzxcQpU(?vu7u`EXpV&DM`&(@=0#{ugyutNE`;Vm zXbyztKWOfQ<~?Z6gXTMEu7l<|XpV#CH)w8y<~3+egXS}6E`#PVXbywsFKF(9<}D<V z=8I^qh~|lCj)>-mXl{t+g=kKQ=7VT1h~|N44v6M|97me>p*bI#@1eOKn&+W89-7~w zxgDC<p*bCz&!M>-n#Z9z9GbtOxf`0dp?LzDBcS;Knj4^b0h$w_`2d;=pm_kA1EBN& zI`^;h{yOKc^Zh#4uk-vm$FKAII=8R$`Z}kt^Z7cLuk-jihp+SZI(M)0_Bv;;^YuDc zuk-XeN3SPZZa^E-MifGtBcb^bnj4{c5t<XB`4E~5p?MIR1EKj3n){%651R9!`3{=v zpm`3O<DmHsn%kgx4Vu%S`3#!Npm_|M!=U*Kn!6CBaWs{G7OKsT2yl-A)2Pm#j_d7Y z++feZjrL63WFLu}Z9QMU#n$uYTWvjmzRlLZUAAMsMGvG>r*A(NciDPweYdUW*!S3J zxYyQm?)z*#_rBkrg$J<SzMh9a<l9fe!?vE6KVs|o`J=X;r$1)v`TBv`e|~=Sy!{Y6 z8;9DnahRQh!|hxgVdvpUdk&7W=i;E9kE87Z9Alr2V{QF=ZyeUgRY(cGeI8D<=i?-M z0Zz7yaEg5{PPL11n!OOGW4-+n%Jl7vaF%@@&b4)pBHu2>h4x}xWM6<wY(3wx6zlD` zQ@L+{30K%J<4SuuuChCDwXJ{iuEBacuTq_Fe+}2$I=9eZ>-<8at#b@b_8Yj_?!qnh zo4D21Ifph|=N;PZZrow({6nX$a}Ztjd$`-yxriS7ecWs7oJ60k^Ai2G&P@#1IzKUJ z>m0?9-G_&5ovRqJKf$B+r+Ccn$AO$bAJ3~{i2WH3wLiyU_5cpI_5T<m{vW>X2QJca z|Nr<bA%xH#A?FN2hz%|63hi!oTUv%~X^CoQW~<$)M$PWFgh2=)PUoBuLI@#*5ITeq zLI@#8#|a_C3E}tp%)BS<Ip_QH@ZRfr-*eCZd*+^IuIu_>d(1y230nUz?371wqWl?7 zl0V1E@)tNo9>b~fmpD!S3a86o;|zHmXUgB;EcsiUEq{ky@&wM2zsI@q4>(Vr#0Bz? z*dzahi)H?lb@=2d?3aJR0r^*4CG)4Eqgu8%*PuKL*T|dUT6uF^C-Y~3qh98tucJZU z5;w|Q;U+m6H_Kb&7I_=oDsPM1WInbz+GRcxIXdL+ai_ck?vi71x4a|nk$1wq^3J$V zj>G-(Y&;<U0T0T%;31ihC5~ZvS3Dx`hDYVy@tB-|$K^fng#1T5DgOyi$xiI>g!lP9 zag@9lj+XbvF>)e~mG{AM^1e7;-VZ0pN!Tgxj}zqsaFTo=PL`8#ihK}Gl@G>g@*JEl zABr>N!*HgYinHXoI9om(yW}Hqjyw<N%JXrad?YTA)3HZB3Kz>qW1oBs_RASKATPjG z@<LoKFTz1N6W7Sc;#zqzu9KJGdN~U>$j9ME`FPwUXX9ph8E%nJz^(F$xJ`E9cKIaS zA)kyp<>k0b&cWUC3fv=~f_vptai5%v`{k8*Kt2r*%BSNYIS&uZXW$X}Ogt**<1x7a zkIRL4LSBU@WjCIZJ=oz5@BdyLC9lTOauJS^i*c-6g5%^hI9^_h6J#HD%B46_=Hs>_ zNiN69vLC0&XW>-20;kE9I9(3l40#>Sl-J`dc>~UttFTMnh;!t#ajtw0&XcQgfqX9Z z$mii=`F!ldcI*q{fYx7ttK<uDwR{l{$~Cw~z8Kfam*6`2Qd}?B;s*IL+$dj;o8&8S zvs{N;<g0M2d^K*9>v6k$4epSy#hvn>ahKeHyXC*&9{I1hSN<FBlN)ird>tN;ug8P( z4R}ay!o%{7ctpMlkIFaWF}WF!%eUYO`BpqB--f5;7VKCZ-sf+}QSu!)TD}v<$gMb5 zz6;06Z8%=O7bnQ~VW)gQPL$hmlKcQpmLJ3^@<TXP?!amC!#G`j1ZT*P;!L>{XUUJ@ zY`F`&<R@{C{4~y$dvG4MefT--k)Ovt`2`%1dvUe=BCe5N!gcb?xIym2P4X+a1=EDa zFSg3Bv7$}x$L;d#xI=yecgk<#E_ncV%WvTx`EA@Qzk~baLEJCDiwETQ@SyxY9+HRf zu>1iYkw3(v@<(_~9>(MH$9O{i2cDEa!Bg@Gb`*sllYinU`BNM%{|m>+qc~Rn49Cfz z<9PWCoFI>3r~D;Ol)u7B^4B<7{syOD+aJEgY4UeCL!Q7{+Wvc-E&qUB^1pG8Jc)DV zA90@i6E2W{#vXYJ7t6n3pZqKK%fI1(Y&W(_o`tLB&2Uh*F{L%KjVY~_ZH#H1Y-3F8 zWgBzaAlsPJM%l)oHpw;ywOO_?sV#C0Zk26}YMX3hRNG}6v)UosnAJ|%#;|tDHiorZ zwlS?evW;o&m2He`pKN1X`(+#RIw0Ga*Fo9Fzz)ea26kAsF|i}EjfowVZH(-gY-41{ zWg9a)Av^J;yceF5Z7i*$IJ|G$SlTGr#@0s5HnuiKwz0OcvW>NklWpv6yli7{6J#5U z>y(pmqHJSxlVls4n=IQ{-4xlz>ZZyzb~jD7vAgNAjpfadtxr*=Y-4(}WE<m~Egywl zvh_d8k*z;buAG7M<OR4uUWh&NB3vxnm|LH0V{ZMjjTH{aHg>p5wz0$2vW+DU$~Km` zMz*oVwX%&Zu9I!7alLF~jT>Yed)z2npQ$F<`cXB@){m-1UXEL38^7Ns+xY!<*~amA z$To(*Q$8Jc$<|MxTQ0yoav|=O-MCM--}d`u>(4MCTc3kLxfl=0C3sl2eh4G7^(7mX zt&hT(T#m<O>pwOjSKvw6<`bBbtuLCRB)tCzag=-^j+QUNF|zf6h?Q$`oO~IMmoLW& z@)g)A*WpC@TAU<XpNeGJ`dOsN)>kzZ(}c!qXK4LdtjLrraF%RixwGZ<*d=ekIkJtx z&6RB|Zk}voatmY|)9aBh!NszTrS{2}VZUr+s{^u)U9OUC40E+?W0`}p^{cIsufesl zjdQNUJOtsf*;;R7v>Rm`U)-c^Y`k`h*4w!4R@ufQw_%!4U*AsI#xM6^yZjq)pSHJg z-2GZ_<GBa5-o|wg$u_=wSZ>B6+TO-OkI6R9dqTFc-c#D%#(X>0g!eHUw;hG;HrV*@ z7_GN);IXpx6OPk1HYPkl>uqefQ*OhFvW?GAlJCRG^8GkPw*Jbg@&h<cwsGa@*lv%F z-_O+g4xA<1c<yX%^9at-`bTlD+==rrO{i~mv25eT1K2MA30$r1yKqqJpTxCVZ)5-K z<fn1H+>INwy^TF@l0)O_WgBbXCfghV9hi?Gp}7J&Wg9c!rEP59fF7;y#l5oi(eBeW zFW~{Lw>bp{<vu(l+k6Pa@~e16wlVpmaz7r!_Bhx$`3X!Dng_tKHoV^E4v3cD!LitG z{~(T&ZH#}s{2oq_-^WgQ2q(%P;3V1R07#ZU!YT4FPL)5#X|l}`kS^Pt0U5H*8IUR4 z90FOg%^{F2+nfR}+2$0;kw3$^vduA&C)=C@1+vXK;E`<(f@0a`An?gHCxKrc#{q1Q z?Kikuwz&stw9R+8R<`*Q>M%`c-iJnQ|8G__Ya5%tphdQM4q9cK$DmFA8Mn*7;12m$ z+$sNtyJSZc$4Yq??vXdcz4GR`PmaR<@)meN-VzVWTj3!&8V}1`;}LlqJSuOC$K)71 zE^mh?<n8gKyaS$+W3j^*-Y0j&QL>GBjK=o(?~G%$-o`-2Y5i=Rp!I*iPI(ucD97U@ zc~_h)?}k(4-Epd%fYanXaJp<`E;F#*o<HF%t#{&Vc~9)pHhbY*%u_|*C-yyUlZcDu zeXvj77yIS?a6nGNRr3D0TDGyBL2S3@KwPW!$+%8F2-nL8;|6&SZj@7SlY9tnmTkOg z3%1KY47X{$jX!PI`nkAM>kr3W@)5XOPQyL&JlreK$9?jVxL;1k1M*RLP`2@|L)dQ5 zF?dAlGw`Uq0FP;#g?Iwn<G%<yO2hkDCXSMi#nJL&93wBmv2qrUlb7On*~Zl-V7ooX z<3z2`#!2!roGhP!Q{)qIs_epP@<}*dJ{f1o%W<ZhgR|rnI9omiyW~@Gj+~2g<&`*3 zJ`EShr(=(thl}Miuunb{`{jHbkPC2?T!^dXRXB+4@p0o?*@Nq~jTbk_t8t@Tgq!4I z+$@*i7I_VBmDl1n*@xTZQrsbz;ZC_6cgcR-EuV#Z<O<v?SK>Z7fcxcjctBo{2jvZT zNUp-e@<u!&pN&W5bMTm4jmPD4@q~OHo|MnWQ*sbH%EJ5h1vpB+97oGn;260M$I4gY zIQc3ZFJFxl<a+Fsufd7(wKz%sGftKpaEkmFoGSknr^$cA>2f2^kgvm;^7S}Nz5!>; zP1q&hh;!tdaISna&Xb#QfqV=0$hYER`8Mp6Td-fg9S7t)aFu)~u9jPIP`(S-$amvf z`5s&+x8ZvEUfdwxha2Vlag*GRo8<>^i~JyNl^?=watCggAI2T>Be+w36nDv;xLbY< z_sEaqUik^!CwJj~`AIw=KZOV7r}2>7jfdsG;}Q88JSsnn$K)P7E<cAS<md6E`~sem zd$FTDy#K$5qvV%xwEQxTk^6A0{0fefU&ZnAYdAsf$4>cmoG8D6ljJvXvOIuO<hO9D z{5DRL-@)nfAkL8A#hLPZI7@yXXUjv_C4Yc(<PUMK{1MKRhjD@YG4{y+z{T<>*e8!* zzx+=ekUzy$^1pDkJc@(zXShcG9M{TU;5vB>*UMkx2Kg)8D1VKc<Z;|Ae}h}(Z*i;q z9d45+aJ&3H?vQ`Lo$|kNmpqBP<sWg6{1fh#f5v_C6z-RQ!2|NIcu@Wg56O-#*#G5O zctqX|kII|lF*yp4%Uj?Hc}qMgZ-u91o3F^>5AXjre^Hcd^A|<SHlI<9Z1Wk#$~M1I zoNV(O#mhF|QG#sq9XVy2|0q$m`Hzxhn-3{jw)v1!WSbu;Rkrz&(qx-2DP6Ytk}_nQ zKPgkT`IE9_n@=fQw)vD?vdyoQBisB+xw6f-lqWlJfxIX7$a~>pd2j5K6R}_32M6SR zah1Fuu9j`Srl4%|H`T~Ce^ae&^EuVYHlI_yZ1X!c$Tq)Iqipj%HOV%&QnPGxEVals z*HWu&b1t>XHuqAyY;!Pm$Tk;Kr)+aFb;&k2Q@3n$H1)_fS5vQSb2jzKHg{9MY;!mb z$TpYLpqzn+<OO(GwmF_gWSi@0RJJ*v#$=oOX<W8BpeAIS3u;ofIiaRxn;Xh;R(Sun zIijLun=2|>wmG9>WScuGR<=2$;$)jkDqglZr4nSDTgoZh98-z1%{7%I+niI$vduk} zBHJ8Psd6DslULz%*^M(~56+amI7?oQv*jY}l8bSUT!M4uH8@XRiwk5Q_Q<8UST4gp zxg7gtn=>pRpM|UB3S2E$;-DPBHS#)KE3e0OvduMCFWa1B4YJKW)+pN?WKFWoMb<3a zoMbJs%}v%S+Z<(WvdvZ2E(dXkd;#v1FT`E)MYvn8!9DWDxL3Xe_sKTqxL>xh#{;sB zK^~NCEb@?SW0Hqu8=E{L+Zg3h*~Ti5$u?$rT(+^x6S9qAo|J7Y^OS63njID4{olqm zN69wEIa;={&M~r$d5)EB>~oxKW1!<@8w;Hv+n8vlY-6JnWg8=%B->c&WZA|{r^q&T zI#sqY)M>JfrB0V^Om&8AW2-Y|8)Ka%+gR&t*~VPEWE*>(Bik74T-nBA=gBrEyFj+F z*&f-(Xcx;iR@*1roLGL@=Ee%hHb+*KY;$E*%Qk0LP`0_VYGj*3t5&wTwCZG=Q>$LK zxwRT(n`5g{wz;;NWSeuVS+=>iT4bApt5vqSxZ31l+%A8NJLG@hPWcnuC6C~4`JcE) zwmH0d<$vKm+2-`>mu+sZ0omsG8kB9WuOZpy{2G?O#3QoJ0X8bzTwr6e%?UOx+uUFi zvds}TDcf9OQ?kt&=BNzs|2B76lx%Z|MawpqSd46Qip9z{w^*EPbBx8yHrH5!Y;%q| zWt)2}QMNI`NwSR%PL^$qaEfeWg;Ql4Gn^*d*x_{9#t>)7HkLS3wlT$7vW+dymTio& zOSZAbIkJs8&XsNKah_~rkPBoRi|mnYOmeYoW0QTdjZyZ?HdZ+x+nD7l*~Ttc%Ql8N zDBD=(8rjA)*UC1wxlXn*&h@g5b#9Pt%yXk`W1pL38w1@e+gRup*~Ub-$~HE-O|~)8 z?Xr!P?vQQFbf;`%r@LeuL)|UgSn3|x##HypHnzG?wlUWIvW>MKkZsKMploBWhh!Ur zJuKT;>=D_<WRJ==HhWCAG1}v@jn$rzZOrzhY-6{lWE;cn2!!{48_OLf+nDZX*~WIq z$Tr41R<^O;ak7p1j+brhcY<tVz@4&<1y7W1On8!PW5bhW8zY_~+gR~b*~W~g$u@R8 zUA8gg8M2Kf&y;OUd6sNr%d=%0WA2h|ta*-XW6pDB8+)E7+Zgl$*~X%K<Z)aqe}jGU zx7aU#hXe8iu9CmU)$$|`%0J>7`6pZ}|BUP8DO@lAf*WL;)437b_oX(cbF*x7Hn++) zUvs-`^E-B8`+nQzee98Kj^=)CV{<7F$~L#iuxxWbj$->A(B^_1lWjiIaoOf2oseyQ z(n;CoDV>sSzEa1!@a5RNrBSlYUm7jjJf<<S&1V`b+q|Z6vdwQAFWWq)333y5$~Nz5 zqHOb@CdoDrYO-wep{B?-FKVi6^P{H8Hcx80Z1bgN$Tn|krfl=4X2~{>YPM|isk&sF zS2ahr`Bigen`bpow)s{IWSe)@BisC|#j?%A>XU6gR=;fXvIb<EpS4Q1d0MMwo3Aw} z+q|tcvd!OGE89G-b+XOpS})tYt_`xy@7gHaJg-f%&G*_Y+q|zWvduHnD%;#kZL-a~ z(JnifudhR%g*)ZVaF@I}?v|r)kGuu$mAAxw@>aNCj>ZG>)_73f1`o;G;$b-kkI38M zQF(hjChvg9<ybr+?}#Vmo$!>rGj^;G@BeW)N}i3Q<v-vUc^4cj$KyD8R~#?zh7;u7 zu~SaKiSiyeN&X{Fmj8rPWG7CQ_rz)PUN~Le8)wLgI8)vSXUY5GY<WNIl9O<byg$yB z55Rfyfw(|U#vb_~Tr3}qeexXams4;+J_J|EhvI7aFdURqag96|*UE?EI{64(FQ?%K zc^+<*=i?^%NZc%^;}-cS+$tZ9+vH<#yPSbL<OR4>UWmKoMYvne#69w{xL00``{X6K zU(Uh<@=`n~ABTtJ<MFVZjYs5VcvL<CkI5(EaoL3@<dg8Ed@`Prmt)6<@cy5JqvRDh zT0RBG$fx31ITy#tD{;Jh8cvW;$4)s9C(38wB>7C7Ea&4Cxd5kPJDwKeba@rd)HZIM zC3|qT?8Pp5HO`TXaIRd8^W+j-Ag{q5c`YuMeb^_LV!vF519Ca8lKr?^J_`rs3S1*s z;#xU?>*RH~US5wI<PEq{uEI_7M%*l)ja%e%aI0L6+vIa`yL=w*kk7}Rau9dP7vOIB zLfj)?gnQ*0+$Ud*`{hgUfP5()lxy*jd>I~=FUKSD6?jyx!(;N5cwD{;Psmr}Nx2?R z$=6^<Rd_$Y7Dvf{#?f*Ej*<U@W91ug9Jc-NCY+%4&Dbg5f)nLiagux+PL^A6ihMgx zmG8i5@|`$cZp9h$T{u&|8)wP);B2`KyX1Ruj(i`^mG8%Sayu@NAHW{@L0l|9gne=c z_RA0Bfcyxqk{`v@awiVTkKr2maa=1uf$QWhTrWR~8|0^Oqx>{(lDl!U{CC_UKZ9H4 zXK|a{gWKijaEJUn?v!7^U2-q(mS4m@@=Lf^ei`@4eYjtK1rNxt;z9W}JS6wyVfl4D zBENx0<u~z|Jb=gLxA27gHlCE<!Bg@ec5Dpq^Y7v)`8^yhzmH?&Asj1zfaBy3alHHy zPLPMOQ~nqy%KyMg@+UZ19>FQ{KXI!3DNd9Bh12CxoFRXPGv&{5miz_ImdCJ5{u1ZN zU*TN&Yn&&K;{y2`?2*64#qxL9Cr@C%{5=lHKj13)-?&<y#6kH-TqFO4YvrGDojir> z<zH}v{3~vhf5T0(<4^4W@+{mUZ-!gt&2gI?h1=yVaEH7l?v%H}U2-(;mbb<|@;10v z-WK=CF}Ppe4iCuN<3V``JS4~BVR=V9BJYGp<(=`E9EZo{*?2;Z$CL7|cuL+4JI)U8 z|GVQTIRQt@d*B$^iDTtGah$vtj+ghw334KK%KP9%d0(6)?}wA+B%C7ek5lCXaGHD| zPM4E$hI|mtln=&P@*JEkr(l<S2+olY#kulfI8RQ+1@c_%kq^hk@)6i4r(wT54+rG= zxJo_}SIg-*C?ADuWScv^Rz3#T$r-p_UVt0qg}6~(gq!3{+$<l9TjVU<Dlf%t@^QFb zJ|1_-*|<|)hP&jGaJRf1_sA=7uY4-*lUL$?`E)!WpMeMEd^{u<;9<ECkI1X=sO-jL zvImdLUOXYM#*=apo|22P<DBsRUxK6LH8@&ci(_OTj+IMsoLq+E<#L=L`>|6#3n$7I zI7zO=$#MXv$m?*bY;&lm$s2IGY;&b&$TnwsrfhSnXUR6VdbVtHs=MTKagH3sx$*@# zPreWr$QNOcT!V|{i?L6>1pDPnaX_xcRq|!HTD}|y<tuQFT!(ArD{-BC6|R@B#tm{k zZj`UVP4cz4S^hI_ksENU{1@CN{}s2(f5RPeBkq*1!(H<AxLdvf_sC7SSH2PV$u^gN zzkD+ukel(Kd<!0uZ^gs%ZFod(!K3o+cuc+nkIQ%B3Aq(d%6H)@`EKl}4)6c>;3&Bb zN6Yu(82LUNE8maf<aQh{KY$bDhp<!b#EJ4_I7xmSC(BRZ6uAqh%1_}mY~KSvi!-&p z7iY;Y;%xaP?2=!`IdUJ)mHTm?{5md>-^3ny5EskuVxRmT_RH_%fIN(=<d1Q+{0R=q z|HL)&D6W-1!*%lKxL*DOH^^hSQT`4$$&<KQ{t>sxKjBvSXWS-F;dXi7J=xE({q1%D z?vfA0J@TQrPurh>`{e>WAQ$36c@-X#-FR5`;1Su2N9EOcOfJIXaxtEeOYo$;22aUr zvE$tEKJ3F$aw(3M%W#Zbj$>s%j+4*A@p1)DkSnoM4&X$29Zr(h<79aQPLZo{s=N`W z$!Ftq`5c@fSL00iT%0AJhqLALu}i)P=g2iUSAHaseOrDM7s#F1BR__V<;Ss4eggaD zE*y}b#8vWBxLST12jy;DBmW)O%Fp0B`B_{q_uvNkIov2ekDKHdaI@TtTjUpUtNapf zlV8T|av$!HU%{R7tGG*k4R_1^xJP~+_sVbJKKV`DFAv}W`7Jyszm13Fckr-0h)3ji z@u>VB9+Th4<MI%mkUzka@`rdz{s=qH3-ABKI7<E)N6Y`fG4dxkRvy7|@;`CB{3%Y5 z|An3MC{C0=!%4Cunf+g$g;V6saH_mHPLrc>y1WI>khjE{@>V!Yj>g&Y*4QO)gLC9< zajqPL^W^PtfxJET$UER-+3I}wWUKe#mv_Ped1qWDTOE*Uc{UEpf50`e)d#7Stxiat zZ1qCwWvd&~AY1*AM%n6!G|5&^q*=DQA}zAj7ipE9xJ}*@x66Cs4ta0fDJSACc^}*@ z?~8ln{cx|Gg!|<Eald>39*_^jgK{z+k`Kbe^1*mSo`Xl_6g(y$g2&}U@q~OBo|IGZ zlsp$Z&JXYZhvO*u2plb^;TU-yj+N)*IQd8%FQ?-K`6%p^kH(4eF*r%iz{&CgoFXs8 zsq!M6CTHSw`B<DGFUFbj5}YMx;cR&+cFD)#9Qk;hD`(?8c^NK{Prx4eL|iPpuunb- z`{k2yKwgfk<Q!ZrufRe16kH>pifiRuTqm!@_3~-BK|UQf%6Yg+J_9$)XW|w)AGgW{ zxJ@p^?eZ$zA-i#>?7>~K7kA66agSVtd*x!>Czs%Uc?}+r*Wy9hhlk`+JS>;t5xE?X z%6>d1SKx8E5>LqM@T9yRPs!(DM=-qqpO2&DAdZ$Vz%lZLI99$0$H_G~UcMM7$d_QJ zd?`+pYjKi%8BUfj$0_m^I90C0Y4VjgUA_uu$XDY`xgKZ9*WhgVTI`bljC14$oGbqY z=gEJ?1@hmpM{dN$@^#oJUyuFr4LBe-;VSt?TrJ;(gYwO|MsCKn@-4Vdz7^NYx8Vl4 z1vkpK<0knI+$`UTTjW;UD&K|M<hyaZd=KuB+i<6RFYc1>!`<@zxJPcsz48ONPks>h z%MalJxdRW%591;E5j-qEibv#5JSsni$K=QHxcmg3kh}1t{3M=|pTdp{!u$WzI7;ru z(emGMjQk9am7m3Nau1G|pTi0A^VliBfD`3joFu=9ljWCiiu^K8mHTj-{0dH&U&R^n zYdBNx$6500I9q-LyW}@<jy!;K<+pI2{5CF--@zVv5EskuVxRmT_RH_%fINh&<PUJQ z{2>m?AK@B#7}v@l<2v~txL*DQH^^V$MtKZ3$zS4T`77Kae~Vk??{J%J^|0GztBc(s zTYc<K+3I9>$yP7BTeiB{J+jr$?v<^McAsqZwEJbNt34oFeeFTn>TD0mR&RS)wz}IR zven-nm8}l<m~8d9$7QR_Jt13t?n&9|bWh1vuiJ59c>lM$-BGgD?~azOj(3b~^}J(c ztLq&nTYc|%IaKFcwtC-A+3J2L%2xk7NwzxR$+Fc0Pm!%Ic&cpm!P8``6P_+xz3>d# z>V{{^RzEyTwmRb3veg=M$yR$TN4DByxw6$F%ab#4fqX3X$X1)IShiYaKG|xO`DLqJ z7LcuGSrxYLNvw`pP_`Oowc5sNn$^ix)2v>$8fOi%)i`UEt>#&iY&FlCWvhYKB3li# zR@rKzwaHc!tzEVnX&tiFNb8iXW?GkQHPgCftD)8-TMe~d*=nlw$yQUXU$z=+1G3dv z8<ef)+K_BD*M?=Q!8Rg$@Tly?W3ts`8<(v{+k|X2+9qYI*)}Cx%{IqH;r-ldxJAiU z!!262nr<<&)pU!Mt;SoNY&G8EWvls?AlG20d@)Xxtp;3@Y&GGMWvdC7B3q5PRM~38 zrO8$^E?u^oaT&7Jkjs><hFq3xHRZBpt10J_t;SrAY&GU`Wve-tCtJ<A0@-TNd1R|W zS1emiI-hJc>HM<Qs0+weqpnJ}nswFkUU#z3%X{M*IT6>&``|ixUtBNmha2Q1+$isl zn`Enb*DPBNycRhbx5`!%uT8d^c<r*)$m@`;Mqa0EHS@Y;tC`m=TMfM)`EcATAA$Si zG~6%G!vpesJSZQDhvalTEL#n}5&395Dj$Q#<P1D6FTfM>LOdxi!c%f4cGQIT|6_5K zyckEzOK^;wg=6KVI8L@2fAO-_{7aCtu~W7hfQhoz08EmtCSbB`H33s(s}YzgTaCap z*=h!+%T_ZmL$(@%ner((OFk86%emMkuf#d>X*gFt9p}k;xInfVgdX`!TrB5fpIm_b zav=`Lt8kU<#?`V12W2m=kyqndxd_+E#kgKB!40z2IBb-y=3$fU!_BhQKx~n%24bsh zH4)q7jksMt8+XX(;7++3cgg4CZuvaiBcG3Z<sj~pFTnlsg?K=|2oK6Ncu2k&56hR} z5&2R)DqAhaF}V(p%U9wF*=jUS%2u;+O17Gfj*G+lztwPzlC2(MwER~bBmWJ@%8fWq zz7EIB*W(2F2JDoZaH4!8PLglJ$@0xOMQ+Ba@+~+`z7?m-x8V%A1!u~)<1G0OoGssp zU2-eVk?+E}^4&O3z6Te`ZP+8<i;Ly^uupEse)$0$kRQZVvekvGmOF4zwi=c-@*}ub zeiYZqow#0p3^&M+<3{-j+$4A5X8B3nB0q&&<)?9*+>P7izvB-18Qdv9i@W3=+$}$c zd*tVFulxe;lY4Q${30HZU&4d(%Xmoc!^83`cto}uoTIYU<Q$XV#^drkctRe;lk&TG zN`4PJE(!1d@8c+W2uI6S%QHs)0msT#cQj7+<9PWjoFG?Vr(B5><p55S*WqM&Jx-A~ z;8eK^r^y>}x_maykk7%Hay8D9&&ApDdDtbNk8|W8&Xq5~dGdw0K)wij<QiNoUyOb7 zCD<=tiUV>ju97dq)$-*yC|`kV<T_j{Uy1AFt8l%1HExjWaie?<Zj!IX&GMgdi`;-) z<-g!I`LDQL{u}O)8*!(69qy8^$KCP`xJPcnz4DE?PreEF%Qxczxfu`2x8Nc9Ry-`< zhDYQUJSyLg$K*TkxO^v`kX!Mjd>5XQ@5YWx!~6d|I7)8A(ek}GM!pZn%J<_qxgE#L z58wp(LF|+t!ijPRPLdzS$?_vOMSc{g%AGh(ehjC}kK+va37jc+;Vk({oGm|vUGmd7 zN46TXxw6%q&6D^1js0KV3wz|faj~3;eeyooFYk*3@_x8VPQuml{x~QffNSIfajl$; z>*RxQy?iikkmuk=IR!V#R*$w>J`}gehv8N^6}QQAal3pt?vRhbowC)j?UJpYZMQrh z_s9!yue=cV$%}BmoQVhIWAUK87!S!y@UWbPN93h=R6Y)m$;abyIU7&N%kZRp0-lmj z#E#nV{_nz3@<}*aJ{iZz%W<rngX82CI9@&lC&;H_r<{uu<&`)|J`E?!jwosb%Cm5) zyctfDH^=F66wZ*hz?t%vI7{9NXUkT%*Ckv1-W=KL_~y!1&o@uDy1oUn)%W$tR_C`^ zwtBxl+3NoKWvl-ikgX1Im2CBZt7WST9F(m-aE)wrf@@`~7hES>-QarJ>IXN-R!6u| zwtB)%vegxCmaV>Ui)?j<TV<;^+$KA5ySyjvkoUr!^4_>hPQ=~vKDbBT7x&8h;XXMD z_sjd^0r>ztC?AN2<YYW7AB0EbgYl?52am}qcw9aNPsoSjN%=55C8uJ?W#RpQE{>89 z$I<c;I7UvxvGP0|C(p<6@{u?}PRCC9D4ZxCjg#bKaI&0%Q{)9WRbGhG<V84L&cqq= zu{cv+jI-n=I9txbE_o@=k&nZ<^6@xN&c+4uGVGC0z{T>3*e6>ZXuoXrpaZhig|3pV zK6JHgb)ti^)r+o?t!{L!Z1tn-WUC`xFIzq72HEOLH_BFDx=FS=)6KHgn{JV<?sThc z^{3n9Zrm>a9e2pj;7<8j+$HzmZuvRfBR`LO<ri?DY;~;rWvgdBAX{DQLD}kC56M>N zdRVr4*CVpky&jdV{`Ht_b+E@}tA{-yTV3o)+3I6Y$%EK&d3gVS7e~qO;b{4N93v0m zSos4SCx3|J<&SWJJdB<4$2d{`2Tqbd!O8LnPLcnKQ{_)_n*1-EE|202`7@j;e~z={ zFL1UzhF$WPI7j{p=gME>Jb4@!$lqX({4Fk)zr#Lx0{i9faX|h7SIPgz)$$|`%0J>7 z`6pZ}|BUNot0i79TTSr>*=mb7%2s2%Nw!+!&9c=TZ;`F`c<R$lGMAMcyu3P4W)e zYLj=$R-?R2wp!)gvehi_k*#)luWU8U`(&$S-Y;8C^8wjvn-9uX<9tZATIa*E)jS`O zt@in-Y&FowWUGZfE?Z6X3E66+Ps&y!eM+`k>5ePH`@hvpkCLr+dbDgc)MI3;r5-C= zP4zh0YOBY~R(n1{wi@(K*=o@z%2ty;Nw(Vb$+Fd`Pm!%weX49V>(gYbU7s#n4f_oF z7Mv+tP5Ug_YTIYaR^#3!Tdn&X*=pYB%B?t0z6%$~cVmxy4=$G5uur}h`{ny^K)xSW z$?dpWegFsMhj5MDfotW5ah?1Ku9qLh4RR-Llpn)Q@)NjO?!qmy)sAnKt%iJ?Y_;Uu zWveOQAzN+vPT6YAcga?3zFW4M^F6ZFp6`{d27RAwwdnh0t4Ti~TW$J5*=p1e$yTd= zShkw=BeK=5AC;|!{g`aE?8jxRX+I%bZTm^tYTQrBR_oqT7vBG^=6#ghh@<7}aEyFC zj+Jk~adH!mmv6)g@=e$&-;5LGW}GD7f|KQ2af*B!PL*45ntVG>m+!zC@|`$SZpB&h zT{v658@uFtaE{!DbLD$+o_rrJknhJHxg8hF4`84CAok1MI3WKWSIN)dYWZ0llzVWE z{2Z>8pT~9b3%FkH#SQX{xKVxyH_0#KX1Ncy$gkj5`BmH|zlPi8e%v9yjyvTyaF_fh z?v@8|kNg(ymEXpF@;kU+9>fFkyLeE34-d)j<6(ISkH{b3QTanWCVzy-<zYM_e~c&P zf8Z(k6YRJ$y#J5jDEXf_TK*Kr$p6Bz@+gjzKg03z=Qu(B0z2g~oG5>ZljN^(vivnp zk;ieW{0&Z%zs2dYYdiLT`6QevpNzBQ<v3f;!7h0P&XG^Sx$>zvPtL^!@=ENHPs7FX z>DVXdVZVF^4#;QXDmfol%LO<n7vdUu6|R-txK8%qdfAH`WIt|{&%#Y|1#Xrraf=+l zt@1kDCa=fs@&?=?SK&^1Bkq#V#@+HcxJRzWz4E!ZPd*R#%je?(Ifw`43-FM9As&`5 z!Xt7G9+fY~V{&sm`@eh(o{(?Flk#nNN^Zf9tHS&L?Kn!l14qku;uyIV$I5r%IQecI zFW-X`<TmV-@5PDoeK<+JA1BN0I7NN{r^*lFH2EQ%E_dJz`C*(XKZ3L5M{%~?iCywz zI7faQ=gLpuJh=-O$WLOA{1h&hpT<798~f$I<AD4Ou9Ba{)p8FG%Fp2%`FUI`zkuuH zUR*D~h#TaWaHIS(Zj$?Ov-}Efkzd8F@@u$F?#J!&>$pRH19!@A;x2grcgt_#9{FwD zE5C#L<U!mozl#Ut_wb<nJ|2>X@UZ*=9+5x9qw+_1OwK4{|Cblw33(x&lo#PCITJgs z4)6cR;wX7Bj+U3;7&!~a%1d#ad>oFKkH-meHg?L(aH4zyPLfZ=$+8Ql$S2`c`DC0X zFURR}4$hEQ;7s`xoF$)%v*ldul2_s!`81p>pN{k7JX|23fj#n>xLD4|KDhw<<w6{g zSK%tzjjLr34$59!Bd^A_auKeRi*dbNf*a&DxKUn<n`9qumP>JqT!vfaa@;2Sal3pL z?vN{Rr(B7<<N)rL*Wn&{J?@n^;6Awu_sbjcfP6L{l+VFKay1^7&&4D1d3aPlACJin z3fzv%v+#tx8J?6k$5V0?cGQRW|1EHoyd{p7x56=UG>(<G#&PmCI9}csC&)3_DQ|}p z<?V5jyaP^_V{wYSBTkif!fEo(I9-mz8S-qLDgOay$-CfeIUc*@U2%@Q8_tz?$9ZxB zE|B-Y9{G>BSpF0C$xiH-_rw8tFI*+>jjQEE9F+ILHS)f=R^AWS$w|0g-XAx}2jE8e zK-?rJ<7W9F+#(;0Tje>pO-{k>@*%iGJ`{J#hv6<c6?e;XagTgB?v;<geR3M^m*?RD zc|IPLkHkZAIv$pf!Xxt0cvL<HkI5N$TwZ`D<b`-rUWBLQW2^iX-)_b4Ui=JZd6oIf zvr7Wrib9`b=KAm0W|6P3vT{XPiM!n6oq5_s<g|qw1Kvt%K+m|m@A1iAzc)}4C@C*n zQc=FnU+(kdul5xdRnFY*2fK{&GIwEMfsbo1E40mLaA8GZnY-BG_&3|}iVbBF&%BHu zSzc@x>@KYI=9iRJddn)g+V$Sjb-qAJzOSUr>nRW9mlg)x#oo&NGVg}ay2=fO{`{f} zuh+9KeBay^zSURmKHI^R&5j#sx1qh0HjefQEk8%g)j9fT?Qu&ejC1Tk{zz;*z4d3d z+i7jYk=t#poo7oDv7INE^PWjo5f3RQK2k>fq=E!UHK`?+lWWOO+>jVu=FfPF*j)dm zB_8L|PM^1o(;5<HJGQ2E7y5i&kF(%pZzT`P{Q2w3HdGY)llCugmX|pT%bW$rR#X%? z*BAQMc^$uSId-4zw*HC>0|9TTKi~|MJJ*z#lsQYvkh`1<blbD#+)xrIwyWbx*HxCB z?VUe=*@E0T73(Sk?m36f^{$@hJ<O9f*E8?1)K!Nb;hE<t^b{VtdY;EK_s~^`c-)5{ zwrW*M>KtFms*1vjjdQr2<?cC^6(mq`a0R=SW7j=qJF;kRAoiR@mLJ4_Ad4%?OIHL| zr*Rj`D^`W~#oxHyk;ldn?QnSQG`5|E?S5G{!$su*?uy6j=Z*!OD-LvSC@ygqJImef zbrqG)Ro>O*6<#O%|E62<+c&q#_LF|veQD<umzR3E&t+xaia7_n3oDAs=Tvx$O1Kjn zL-(en%;T*(*j-V`OXc8_@`DaveaI1>Ll0fGs_>AxDJh4nwynKY2UTt?3lvrzlyY#| z!E;0B)4pksMD!nLJKS8?d1O1ntI}H$dInY(mhkM(cb4!JRC;}@4=(do1*W&R$8E>| zxqW4zup;10Kg#JX^YFX3F8^V+wS8uZmpfDF%U{H8E-J6sxZGV);t#l2SGs-f1x4QQ zV*asJ0eiibmsKudk1F<-dh-|gc<#Lw`3oz&g=?34%h<r}4KJNqUf~Ig{vKS%JhFhC zM)H+H+Ox^sirpT|<4QN}+hmaZKqkrGd9giDUMIt3gp4U)(OT>U8X#7acmp|`oJ-DE ztj4g#>I+*fVXGl*vHHQc5UZ>EJ+b<n7qA0eM6B+L)myQ;9V?Xr+FEiAd6GP>{GIk0 z(nFpjFDU)ApOdf2w<MM~h~0>jl#nv=CV7htk&nnI`J7CV-;`MP`Qykk@&M^3_C9Ry z6Bc`2TkQ345Xm5?lLE4a_{pW@GIAC98~K=gLfq^St4TRIi(Eu5CUxX$QcwO&TFKp{ zojj;KLi-r$B0b~<(o0?@uab9^A=(efN8}UoDfxy>DZkQMX7MJlIoX12Lv|psWM`5@ z4j?JyP;wZVOAaS#WFARZj;38mmXIuRJXuCgQdZLDku#OmwCl(P<RWr0xsqH>t|5OW zt>kXfP97u=k%!4+q>DU9ULY@$m&q%nUm2$TgnUZACO?wj$gFL-zhny%Lv|psWM`5@ z4j?JyP;wZVOXiVul1Y}3EOI<qMplqhNgg?a<P$epP0Gnx%7wHSk&DUY<SJ56t|fmV z*OBW<lX4U7&Ez)HLR!h)<UaBkd5Szko+rKJCGraCSKgtud`iA1_68n9wkNS<Cz3=C zAoEB%$s~(O7CDYABP+-$B$u2<&QJ<y-DEW>CqZ%%xtP?Et4KY$mb8+)$wTB}@)+qN zJ>+@POI{+ckhjR&<OA{{877~QPs!Kh8}c2oH|-d*J&7edkxa6fWRc^@2_%P{O7e-D ztS05;Y;r!ifLuf_CVwT@lLyE{<O%Ym(oOq3c}aPVc7VLC4AOo?J|$n1Z^?IL*7gp^ ze3C&<ATF|!TtF@)HOeKlmy<ej8@XM%llDo{O?t@lN-yoJq@TP?hR8?6u|qiVw7U`~ z*`Lf+j-a*7Q;w!xLY5LAIg8YgOUU2Ib)<_tuh@ZlDRGe-Ni(s!E>_RQVzpc>R>#F^ zdQ6e5op?UTGU6hqkX+?7+A~N2sU??_D@i?RCl8W`Nhf)VbSux$K1X`V+hmZ$GN1oW zWHyN>r;#&AJ_(YmiPa6U`T<rqz~=v-#fLK=AAHKm`Q!p}J!vMNlds4maqPn7l0T7D zl0lY}0^%cO#7`<nB?*!@$vesr?FVF-d`7m7XBQ?rkX?zBRFNRLo3xYfiDOrX<B!Bi z4kRh$NV1re5<dx$Ai0OMlNU)pd6zhLb2xS<PI4wGAl2l2av7;7*O5DwcG_2oV|V_B zAuh6#tR<BsNWLQu=A%D?WRRs~89A2(iPbc)S_U?+z0GHDbJzEiH^>0_i8z?6e)gYu zp2!}=Nsc91WEpXhQ^`u@bXv<9ip|A$E(wwj@(8hcxokcz%QK{hJWp(HEt^xz=FfVY z*t}T7#OAE}mQ0Wzh|N6}<K%fE$B+z?qnt%+IbW%#Z6f_-oNTsdI9t(Lwjn!{*~+f8 zdyquM=C-mVDK@{=L1Ye@N7BhL<XEzl*xXi@0#ZwC9wnRS#*xhDGx7zovBoyW*v6{v zr`Y&ZOA09><;wZAe<jW24$?~QBkkl7(n+2o-Q;=FOI{`Y<ZUuYJ|x5BH!|noaJER{ z{*yh)9C8SmOVUU>SwQ|ut|Qlz8_CV&7V;CBBEOL>4&nUd5ONi1CQp-b@*8oavb>D; z1l}`SxLxEI;<%mX@DAP!$brPh<W`UXIhUMIz9GBZ$!nSHMQVwS|FN+VHYUQxLcFQG zMQh_2z9sv$@^C8|w3Q@Co+JI_T{2AmO@3B>p*`p>9)Gf&6p(5XB;DjS@-7)BzY_bP zemKb>%ZQ7tBn4zWIh#B~-X|ZBVe&Qkmi$0w-NWC+WNWfL*^&H#ILW>wi5yH)$Y~^x zln_7poQ#n#$vF9uINCTKy~BP%o+mGppNZo~-hY1LeB@o?_?hb^JCj|=9wdnzKn^Eq zB%K_sWY8`ki%2F}OdcR_lB0g%ev_-owd4gdPJSkiUwO|YPBMoaMpDT#aw74Q09j9_ zNbGOCg%az7KA#+;Sl{Z?$ZGNwd4{||ULvoNH^@8WJu*aiWF6a*?a00)iOeVI<S23s zSw>vs3=$+ik&Ib<e@A{%f}8QZ8fhl|WLR-*KFjeZau7L=xX9TgNNyy}<XO^7UL&uQ zw}^v&T{n_uau>0_lh!xS`s7)kF9-cq_9H38O|0*i^~19MSJt=5`ZQU8B<qJ{{g15Q zk@W$xzCYHl#`@D(Ul{8HV|`z`$#=xD<t)eHTXFx$3Q|CdNRV7iE+y^cLGn0pM9*?; zL86syXy=k6NE%63j-g#a3dnjABsY;^@-3Ml-xJ5yvmCRDlguMQ@+f(VJWU+i%;N7F zu9Iv@V#v;9Hra*jO6HO@GM^ly6wp?aAZa4q<OT8~`II=e<$NTAtRMxXf&|Gm#KG_C zStLlTABXkdu;1Dp{Jy#$Ng?w{2C?6sOGqgxC-xg`aC@Fdat~=E?c@RS4Cx_LBw+_G zOG%-15kI+@w38k(OnxAa*jbLnWHnhw&L@wPXOw>0Q8G?`B#s^VzMLFRjv<+332~81 zvR(<&_K+7zA9<C$M}`!~PO}_4lAXyB<Y=;h1j!|&R=J$^N^&*1k=#sLNjv$RjFTUU zV`rXEvIU7DJCIniGf5%`kQ8z#IgHFD^T?4TlPn=w<an}-xRg_AEoTrnSxtPzPXZ)J zE+bbcSJ7JP$;0GP(oLRGo};zAKwct!<W2H1`3G^t@%kn%vXY!h3Q3SWM_y3+Y2PKm z*<26lB;90?d_Ww3U>_oxii>t736f6IO<pAZ<P+l9WtL+%vIjYkq>y<egDfTve*c_L z?6?2V$ZurJU1vGAR$^#(CbP*ONIaQKjv#5|NV15y$V$>o?j(1UcgTC>WAX_ZA&%YH zC&&`TMSC5&QE8{0B;C8SFOzZdBXK0~9zwPuhm$mtL0n`dsUTOAYssDDF7gO*?7{sZ z(PV3~EjgUbSJG*ZBFB&=#6?z;0^%h_q?oKBSCM*h4f!)^B+cY5GW<tgcf|20_D`}C znNN-;3yF)IM%opJll#3l+b7O)l#w7=v=5g*hx<$%DYG1NQn`<01t}muEn<Bp&)Z_! zLY_zBDCV(P!*=9MQb0<GpFBmn$%~|)d`ZU11aYk8aUdCF5pj`~#7#DkbIH{tqm<VL z@so|jej~Tv3?1d{&*VgMDY=^5OoqwF<P$PN#>qFt;h*LB_ocM89KY(=&q(x@oPIyY z74kj#nfyY2C64x4j=dh>b*;E)PbMoA4{Z_glb;`C`!1d%;wRN4NNPzvxsKdOZX)A- z>`%n;8pm9cLKYM6>pX6xlvI#&$c5x$as|1Y+)Ea|!E28=2KfDtoI;w&P2^^Bt8zQ- z9po<3M(!hzktdWVX`dy}kuBbu<=BdBL$)Jv<PRi){E^HfN0OsS2FWCgmE&k#<YaRD z+q{R8Zt@Iyj|`EY$P|fths!0Y<ZyBVagj3OC$;2q(n{_o&yXJSGI^E!MjY>PUUDSy zk#$N9t>p%CGr5J_PaGd{AILuB0OA<t^+=*gJlUP>N%kg*WM6UsNg<`=YQ^y}zw?q5 zaumrROUVgJ{Xck&NjLeC^pDVz{(o}+$?(58j+0UH1^JSEMaIdm#4*Z!CH>@WV!wqS zPh4araeT#bh-^XrMD`?mkwj%bTFd_AP?AcHAoG+XX)OztCA5~M%JH<8W#mM15;>XV zD5ug|Rw}2{TFy}NX)T3h74axVv}=fuRFDAKKsJ(Ua-I^Ty^LHzZXmai+sN(YE^-ff zf~0)IZ6+>KLj2@1GX67<H?d#rKDvV+3hvy@G4IjM92sPf&dnT7a?7imIoiqa7n?c8 z$r<*8!X&5v6#il1xScoW_`JE}{=NBefG^O#CR=lf+YzU7F|DOp3Gy9{#WvW6B$55e z93`LD68fQpzc2Ye^m|Fcmf_z8#%X^f-CObf35k3^Z{M4LP3-&XauWGIIr9B(<ongg z_n?vQDOYo2%Sq(>z{vN0k?-pw-^*phhQCj%r@f9uz8{L^yC3^r$iC+}kwm`F3G&^{ z%<pX?-_Nw~&iAS$@_mep?^sq6Cx7eiPa=PxI_~15GwCPxcjq|ykwpH^jQrgf`MW9d zcg4)ltxLBHf1WJo^J3(4W90K<|BifaA(78*k<U4i&ohzFDgXKTB=UJ=Sf4*4pCcm2 z{mAh>a$JraZ|!)xlB5)dkAsopUgUTeIi5w1Taowu$op92{bOA37vp-r_(ty+k=K1> zzb-7>SXk*UDT(~P_Y1pv2K&;2<%^asT~JwBQp6AB3(7V|PT!JUny*G2g+<=NVsBMw zv-~V?ReokkQAwcC=Pxc?VE?S**L{9ho|at)+k0%QRqll)o)Ufu<VVU?NQ>oVfr@fp zXvOp?zppC|oo88z{Z{Ms*jA<g<&v_ZBHu=T@r+GbmA}N+**W}$C3fD5Libv4AheMy zw1yuYL#zI4o4`iD_kV1cpTqi9zO@VaIeP7?&_AU`tNg20@e62SSvfrh3VrVK(p4p8 zT)o@w%%aHZ{6&%V;rnmh5<H9SAJc03L2wpZ&R-n1t>#H6uP9vQ^M+1X8d-AlpO?$? zms^*H@-lvIb@S^gau*kt6?rQ+6!YV%E|zNvugpJ{wft@yzBaCR(``!&{r>;4ZFu#J zZGGh%ycKrgn_h1A^y(SgmaSgv{y%QV35$<k^uKQmy+i0k@LyMuGrfAo6|Cbn|BoB9 zVtTc^#Jy&1q1#=)t}MU<T(+*%TT$X(yI^|F3E?$t#S`bJr^%`kUrAu&`ofBm!m_|x zdz7bFo)TWkwk7m?sqn5{x^xkZEmss3RhF--aI@~@CHYI1ha5hkc*Y4?Gf!AE<Amd8 zp0L(G<CNoFo18TBl$j@#&NyM&%o8eSoUnZ634s|W<jg!_-P#$atT=v?lV+YW^Mv&? zPB>-ygz`W!-FNhupJ)reKivL`l2ZD1L{4>u7k@v!qEfva)}Fjv{fz7x@>VTg=cD_< z|J?h3U+JBGMQm`dc5iT(x;Lyf_}m);?hWfag_Xsb#N)Ng)XT_rb@q|Wnd|bGg;#E} zp}jk7x|O{zc)Y6%t#8rvt2EMsBr|+M{`BjYTkrAayR3H!olG*le)b`{Q+Qa2h&Qdm z%#uPnSMYX<g;GzzTX-xzPx2R3vVZ2ETH@hRWx3E6H-wf}@zOcAw0uoT{<3mU$?6j8 zbHS?6y$Y`nJ$Pl-1*5dwv+1U+SyK{P6;kNY(UxmU*gAB1p_3vDc6Ff@+;%!y1wx&* zLYI*5nz6?2TBY}_btN8e`LQ(gDq`b&o>^|8Cx0oci$YyRrcdMPx0CD);Zv&og=L<~ z^0KnkZhESj^G__xKVk7A@9(F0HaR78#wlwzJ=5_s&$V{bvmMX*0--J}9&ZJtBaGMM zFL4LLH>8A13a`s|%~+`o?F_c<YPY@nEndV8w0AmRdF8qaZ+N9!3+%`<cE9Oew#Z%N zUR4zCXJh+?b+ZXS0;OJiw3kG>)Y#J+Il&G9bgx-uy=x-t!nbI8^YE>XoJbG2wbLhM zvrtrF7f#=|sz6bNoodI2b-v1tKA#<eY^To(t;t`mRiVQn2lwfZ0g(fJab=*GL$9|i zEA(%P$GtR@o!;Jp*LhjuHCGs*>s_&1>p~~nN?vb);{UlR`*=m*Kek(L>+JF(m+UQ{ z-jPb&(|eAwlCx^_%2i7<m*+1mDdX)Y|3nTTg@N)4w&1YMn)2UQaCOV`b1MF8!|=7z zi|aqnu+Gk~;y*8U-6j`X=3ce5jL$xHC)cbia|gmbpXdr!!a*s#D)cOd)<oW$_*|hq zA$(?+-m_-(#0qU6ezv%zO|}j{VRoHbT~g+E(<jnhQt4j0{6ua_X(_M9HHD?+mBr;1 zfwIC<?{O^TFSn)q6IfhRbR6$jyglZJ`fXaDKew$3Jy(2u3#|x$YBRE7k@fGCZRfGA z?fmv$xu&vgP2hhVm&1F;e;k9o#oU{<$7b2BU+d*PyV7k-nbvxXi;HX_YY8k_U07}l zOBXLVk;OHY-pXQIK5n_eTU=Hi{^)4yPACt5qztXDDCcd<8(w{K*gC?`IIzRWp&UjI z-f;SGZPsxRMvllZatwx%qb{62&YFKeU*u4_$-(nKj+WC0N8c)5y6Q$Z{Shp3(Behx z4ed(4a&LBdk$pPNKe2-MH2c8l_1i~BUwAbg@a&y#dL<w6rY~*!1K%`sptKjTy<AJ( zrPD_m_N4HqUv5Li+Q>12r!~BmBmUa5LffCp3J=jyJ^zr<4rcqDrO;PWSZQ12FEH6h z+KLlGpKST8ZXF1JKX`H=ILpoZfBs49_)M3-sMzaXYwK)@UcI*9u?;de-M}+*gWo@( zZt{sV^vQL#{c9J%8~7$y!P*(uvDRJbULD$Kc}c0?M^{JQN9_~6oxL)&D)J$iHKAK{ z{D0ge*8YBhGw$qkFVwPtJ{g5xKKjsPuPQOrNjI{|Db{1RY<+p?&#=(PE*{IsUu5Mx z8TMl5SROv<|M&5P10IKi@OIM&i|}!zocG=E2{Yc?Sy?%~GW2#^9@=Zd>!x?9a@%#n z>ud)qw@-$@|IHX${69ZUg-(qe#JF)BoI|UAKMZIwbifFCddCed*>#67{l~+JcK!L& ze>Cv6#W8?`5&dpm*3Y@3j6<Gv!DXE-h5O@bfxf}?-t`x{y^(ECwKe(6Z57*WsPwx_ z`6R?s#is~+yR`S_aG&<ji-ZqG;nR5c|NSI;rJQB|oV3o~knFEKdqtfUS+bKV3OQyJ z`c4iv*0Z?0jF*ocN$ikzvR34W4jHzlqNH*a`|6C{H1gMGWvCl(_}|cj8tS}T>8`5u zEH7Uj$j>b2o_p-`opsv{y{SYNctlD$5c;P3^yX+q<?8>~`+4^dzZ|BY5WSP=22JlD zkvFjL*3*9wZo2jKAB3B3J^ie1y7lz4JH55fUCBLT=dn9xPu7g*jb7^ZX{xkxojc(E zuPd@sB6l+1WykP!p=Zd}+auwhu`2Rct8UFY_kZ1x&`09``W(!sUwiQ%VsDAEo^C#O zl&`gQn|wMB-R<ei4lUW6&NL#|Ur`zQ)7Ew<I)&3&zq}&!XKiQ?Tdp<htqVDO79Wdv z#zXh*6s_U_GQDnn`TEKYtA2k0Y~U~w+BMkcc|5ClN#@RYbFgK7QiGLtQs^zh7VINc zRXK0o_K(N@SsUV758pWr&7bYy8&t<6ebKG`h~+5SPiX1R=lGU(3)+9v^3|qe){)^h zvb-(J_MK~F`*@b^8`|BpT_UZWe}CE-+PSn_&p7>Pmbaa8`ciFw0<B%{>9lsf$Z`?O zbmMbuq_r^<SJLiCdlM~P^&Ah-&Zd2y*1E=hNNe}&V_Lf%pQ?>4f1%SOm-m&HBbWD$ zmLr!p!SXI#&bH~Zt=pX=kv4Sy)E-Q0_h%lh-R@&)?S7n0yFG0It=*o;`Q0qr<K?Bb z+x;!igDpqSf40_NO>5VChnAnv@*7(ImzIB}wcEAJQL`P^h3+s~yWA{VJAb~G16sa< z)~+vd`>tf!9@krF?Qwoc+r30<m-7*=J%6LLd<E|Kn%3^$6s_Ig=%d5SvuSO4Pc0v; z<@vPsIAm%43bm_rdYP8b(ekBQZqRbGmhaW_W3+a8FKGRM+K+Ymms<Ww%Ud23-mhoV z+U?$p*7l#nw0<FNXn&)%{XLhKulyZn((<*sql(rZpUCr7$FjX%BF|5~mLtzk1IxC5 zM4pf9ShnXs@_aREIr9A6tmVk_b1Tbs`FE(jo7S%XDO!6z-lVnLKSFEI*AKMz{O^zv ze*O=nwd*^W*6vT5+Q{-kmhJhEY@ey^m(bet>{1(9Ua9RP*MGW}BiDb1mh)-(slriC zYtK()`COLm@wkxIUax=A^7XX#esdSC-QRm@?R-z@^lr7!X?<k-H(9plF|z$I%l3Fg zF8>=XZ?+)(_{7oL^+%R>W!d&)C#}6+(rN8^jx3+Tvh5G6Xzlj+wOp;`%W3WU|3+)K z{|+rbq~&L5?eTw(Hk$SoT6_LJrnTqq2d$5s{wvFNdm^WAu`s;<ZA)vHzZ<PxUu1bd zmhF8mvVR`KvOS+ee+)nV3;rK_cLJwV{r~^}8f!wdP$))3B^i5U89Omd)+lB!W6X?M z&4RIHBw1Q$@hM42vLz#xC=8NRwl-}t(xQ;DBumWy@x0FKt@+Hq_517hzx{6i|G!&z z&-1#@HP>>s>n!hc4z=FDOtlJubGO=4>vdfJUex-25u{!>fz;=7&(EUP_kM)b-_0TQ z{3WEG{~D?J!~Ol6)Ed6-`5Udjd;V5xO{brcdY>btK3^WG>Fo@u;pFO|c3yw?{9@F4 zze_F4TmLIbEqAMudff)3mUmr9O%DU?@g!37fqVWaYE5rrN&Wp~OIJTet<N`;)aRN* z>iP3YO~0>@dVN=KvHsggeU81P#;5!HZ>aVCUH?<|{Im9WnfBgzbM>{<dcR;&uh)pw z-@CdawZ7*-QuF-?Qq$Fg_V{z8{@(R}!D`okDYd@ea#G*_byDMX3#sw_5vl3v6MOss zsquS|)O2u?)Ze)}-yV0*FWtfGUy;=FuP60>?)7h=*6X|ewW;;}-0x2_YJDH~`_r9T z<G(kl;d-~_U{d2}7^%;fOzL?V)_<(^zu)p9Qq$W^QlEbwsn7SK)vK-EOzM5y@7=rB z-~HZwY_<En%eC75-W{UW>$=~&U#!3Ty(`kudw=(PSJrCxdv}f1?)R<+wO-Ht-qo}I z?)R>_)$aGM1GUDd`@QQ)t?}x9@BGx7AG-6qp^T^2_(-(JPq7?PJ(60}`4m#a&Gmnj zTI2HxQq$owQsc|jIn){-TS)!g4og?>q1Nw&d;RaJHN76PJWA^IkCS@+Qk}flcXd^2 zeZF8)e^-;#^J|k@ZZ)>YUH@j(`W$UZecx`RKHr_BUO(3AL{h_PEUDq=>Z#WM5$iw4 z`n!55wZ_kD_V{K})1j-kS-q3g_ufb9bGrHnwWha|q~`ZaI(zejt1DCM^@2(LeF&+) zcXcaj4S)B2dQofm^da@R{G_ILS0~uxqey+vNu-|d>dDl4zlTY^-yBl&nOj~gq}K3W zOkPjEOX~T%NPUiPNsX5uNKHRyt-e6&bC>DjJ^u<)!@D}E@llJ^_zAJc-TSwuuFB)? z{RUENIqcpq#h&lpZ#=cWw|l<_srA0@{bo^XdT{Ueob}Hp^?5ds`aZ7SV)c9Wyw6At zH&=g0t?&5@sn2!k9p3kGbvbGcuPaEcZ`?|1eZ$qA?fGG(KIh$}Uf<QR)S5n$Ek}@g zzsaPQo3lubKUdGT`g(r<^?E05em+d<d(EN0KF>T-pLZ3h$6fz5)Ee*Sc)s3en?2vv z?^Emjc95E`J|p#c-TQq<t-n7->hDW-{qOg?lv<Cw_pd^&COY*=t=Dw1I>PFaRzGa@ zLQ<dKJ%2H^rW^NpUZ&Rcw3^iC+hosoueZheyU+Ko^>?qoom$^-C#lbwOKN)lhSdCd zn$&P}b?I*2_jS*&Lao2Qj?~}ZO6v18w7Na1>C-K*!m0JTZh1U}TEovhKb=~CpGj)E zz0cCs58CtH`^~1-@NuvAEVVwz3R2U{MpB>uBU0~skksdO^^aD&=O4B@gy~7c`6p_n z8@{Kh^|@UCpfGQGa{WtEYxtEW^}VkqHC|kOz4fm}>UHXoTHd(2DYd@8TOV&>wOb!= zL#^r8t&exI+O3b*zqNkf`VsZ(huj*{w|+=ONd5Zis82@&bu<Wc@RSBTr=cEc$Rmx^ z(TI-5>S!G3;5m(XP7^)SBqBtA%^x@5<@r<nC4bnEs-da|L<7AFFVcty8$|?OidSk( z#p^WYDUBl<=+$_!COp_Ag4b?9@L)rtVN?1wjR?7oxGf^28PO~vgacyMo`@r1)-|Gj zNXUr#_4%J@Aapk*8=<jKHwhU*FZ$4<A^$cQLElF8N6??%jT?;M2~FycXhKKB5lurz z+!ivTSqQ^5bdWbawIekiJ6U!mHD1E4?rn8{s|Q*=*y^EH$6K9jb-LA~tR83e1gjsg zdYaYKt$y6<r$|ljv+eP@RzGL;3sx_&db!ovR=;BPYOCL{dcD<~tlnbvHml#adY9E7 zTD`~W&#nH->it%KYxO~^4_kfI>JwI<vihvm=dBKk@V;*`Qsd(it4mw$){n|jYd)=H z>FOHxJU9MoQ)~FS@q4rNcjNO`tKIl)V6_{cO{{j~v$@r7e73UMjnB4LyYbo4YBxUb zpe{H*!>o4WGu&!7K6_d1#%Euv-T3TpwHu%JSnbAVgw<|*4z}8j&uFXN_>8sMjn8<i z-S|wh+KtcQR=e?;ZnYbqBdvDhbF|fNe0s-)0!_GRH^5$T9S|E5(Jjy&6~!SCHTdh8 zoXVjXwS|Z-u)|ypC1@M-+aC0&q$r+FLkU_4jo`>hM4vP@W%=!Rq7I9&UpXnTFT3C? zxySzN)x7tPO6!$DgTfeIk88T5a!eyLEi-X&azZ<+IN+mF?Su-vq?!yBd^K7H(TFL5 zV{n6`Q)v;TB7&oERDlMMye?md!yY<X)4>&i135zr9VqCiy5MVbkr@ULhs@LC{_BWB z7w?gRPfhTKtT(K^f4z_7J#L>!M}ryE{y=kwz)|B~u1ZMw?a+(8)^CS&?SW+PD4DCQ z5nw`KoF=6Ic8tWHka6)?gpKz^4Fer}^9FPnT{e&tqjaoHO#?J46QdK8INqxx2p1o+ zc1PZuxr55~I<AeAH^P#<p`SD)DIv)|u|0C}CG|PH!9!Dzqyl4?rXWcL2W#LUVc;L{ zjRT$bmpWot@J|Cr5W|0)Y6H*pK4FhQKkwtE6nKipMBq5)#gP*39*MX(W>TV3hNMKN z3{8nkNu~{eW`GQypB8xU0v{mFd;N<qb@2t#;?rn|5I7$5TTdOG`RzSyP;0o*M#-Bi zypMkI$eT9+E*?zs%F&|}MyHHUV?i8M!Kaq;L8N|POORS$x}4Pd({-fQ*Q$})E;wG* zt7}nfJ?Iuv>yIr+t@nkIdcIr!_n_A6y1(yj{ri%7A3v$}`6N=mFR7%~6CWV8eK(ub z`?|k>j#{t(JgN1!<)pSd-XOI-^{(Y-q(0XVq+b6Nspl0N;(Z=hm!ekxilqA2B=vWV zNPV9Uq`s&7zFn!cUOSM~dTk1+;Wyl#cglv38-640ao2wwwTA0dQt$g8%LSy~e<i8! zw~Ex~*lhI{Qs3_*t3M(2I$zu4?)k^8{|QomUo_f#z2c<m3Zy=-8{QSEHQZfYnOeW& zHA#)1dZa#2eNyk&(rP!nT3g+Q)aMH)^*!9@9b|Qa^&dm({l}6TuJ@68eK$Vtx7rP# z2dth#>iwS}_4@Apo}<?5xYt`ut<SNV)c4&=YWj22_xsfPUT*m9vD&@<*Y<bENsa%a zL%ru;M(X`5lluHs?D1Npria@|O%Gj3eIGadhFR^V#~xO@`Q=Wl-SpPWYBzoLvD$r} ze$*O27v~@A@4jyowZ5<We6iH}zOGKA*5^+rHQe0xx|@GS^SI`#iIxwM`aW*_Jz}++ zK4w_$hR<Wv8b9+$jfWMa-rr3>YpM16ZvNd&t<T{;&o=uzH~kh~pZwJNyXpCRYJDH~ zc@I+S^Sb%zN2}fVIc&B2d{L?GdPWcK;5D-iG@|s6_Ns_ZZ3aZsmNT)##m2a_m9<v1 zqr8SRUK^Ge|L9J%+KFg0l=Y>E0V9XSQ2AAi9yzRA!q9FV6Gn9Fn=m51Ti@O(Db}9E znvU4dr+z)tdynWlY7~Dmpx+%Am!odES9m#?7w>(~<CZ5aPmvm)?l_pMf8}v)=N3!w zrk~45t@pb6a%v5?E3N-^q{fr0YgzvrNxlB9mac9@t=DTxYW#N~HNUvpEhq2fagDE@ zq~5Q$Wnas?EC-N!y@8g6=i^9w-e6L{4{?^R{;T~~ZaPlk?=*e7>D1L@cwC=ztmQb% zdo9P4`uuLWGJ#s3_kK(NkOY5X8~sC9qCX~fa65kntJP}x-6mnMKZy=M*BERAy3&(r zFqafdgYV?P*)VBs++z`)e|wO1jKOU{`wsh;)?oZyn^Z6Tv|;H&JA2N5NQmHxiGDpZ zG08t7npPS~ZM^W0NJ}3~TcfsWZ^UY)y1h)yXzNd871;YHEsaLXY5s`5{#a&=H2(-? zx<9_H{-G;=aCA~kTk!YlRK)t@SP_YjYwJ1&$Hu1(PEJW~i^Sxi$?6Vdsy~)9cw!TE znMm*7IO;eqLdgSx$cTw+i@-;_n6X3JX2iw~8LWSz{PBtHV)@4(#UP}meUg7L&0hEu ze?mKZB%;m5hj<cK6itn57dRC}U0jOPjTFC)6PhgQ^<w>c<wRN{rqVP~jdr5d?Iq{+ zq$Tpl?Py`^bw$Odrm1aSa#Fj%zfs94>FuCq!GV8M5|i3xrlclEgvBK#^R_9e>8j(B z)1xwyqT{r|(9U&4Sr0v*Hc5JVW-3D@E~=d+bplOkY4({;OIpQ{=n?+*Nb<+<y;NCO zoIk!jS58ffXcM22nlVJ3{y-Pa1KX=j{E)yuX{qT$GEx%SBRP}i`IgZ!nJFE>c1%*i z2~m&hu>uopGy|{$()>y43`AyPhlET`gwYo1v2h)cOe6bfOFpl^6EfA2855nH+6ghd zxVi($rC>XOS%d)^^IKPPQcS0eq+$L9e?+HbTF%8JCnbjQ&P@33f%Mo;tj_aS-oIRY zmZp$N>9JaS_aZu)ru6(nYsvVSjA8t7dR!+<YBlwZ?ZlvC6Q?T|!}P~^@5p=ch8d}e z^yc|qQfEj~OuU{-BYaxjt0}(M_+DKZ3H%!;L*r7DW7$l~^wXCrqNkPgOy;4Cq~v5e zy+}{(>`&(-$9n%Vk91Z`K28=3{2Q0*?~EA6daTQYjFGX4NipGkjFGVsotZXcs8hOU zGD$GEvbDry&aal&ho7IWny+~Unu#&4?bY}$J-E(qXEHFu&?Gjnc+o&+#Kt8tSI}f~ zNEg?krs=w@XrMh~ia$2NKO(M6!N(%_M0&8$6H^&Y{-nas^d8koiux2?NKOi4NpuIa zU{JR*-p@5_<GKd^jps>S{h9vQh;DKEKJI(b%~FCg5b^eHT_&fxAs6o-$={FUZ+VS` zIL@U=?FyRL^A@UH7auDrjok(b-Z$<_+findUV0>=S70E-$8yeESN%g5l81FgJg?&Y z%gIb5S#WiYwGK{3(+H01s*LE#!Za>DEk0?8pZ210@w|Nk->0`fE}}OJrv!g;H-9q! zf}IWB^bcK03DGH0-4M%ZI)Q)V5@~6kI5;E0`zOh-JqZ3(HPTKBv_Yr4t$qU-sa_0D zh)c`phJ?(hxNh(#sZ0M3q1K{SUH&9Z<inVJ!z`(XB{CI-ff-Sqfk<Fj@>>|jKY<Q@ z^M-_hNl2Yu@G7*NjP*zBb${zhjbiPHr7sU!1ZMHT9GDn5bt`TNr*nk;*2$wo6QiTk zquHsG866)M=wuHC-TY7v2~%_4h^~y__>4F`5X~6zx_K{_@><SBusbPD*PN!l_*jA8 zVm+?s>AJ%9G?fLGi2OuwqJlp;k%gaD9K)cwFbsj8dlg;>Z^5!YH90v^pP4h!!oVO< zr-DT?Up~x>#LPsltF51622^*~!SX(_yPy3q84OOH-4c`Nx{`);XBg|DK#u~Qse?6J zb>~EpSgkJ%W{f8B!dy|?-yLK+zr`8R6cL*2y3sa0KDm2*GXJtuCN`sc2LB`l{;}ms zinmya4Scy6e`1dqCe`G?KM4$-__!XN0jNw)h>B+~9e?gES?Jb$PSaUh-|G`GHR=OV zvdBq{i|WBg4G(mA4{2S>9#ba|rX|N{qSS-Eyw1Rb85dv6>qG6nE&bCoQsccB?;Ysk zp^VI!*o;&?xlf>rhVZOX@WFc!bSATwk?E&3ZKgk2b9E}2#@W?9^iOh{B>H=R6SdW; z$cUj?x)#NOA(P@yNDN0N`!Cs(cd;WQD%_tD(T;O-I{PzHSUF(<O9$VYa{yw(k;d{< z-R${EVd;dF@HD@!weA+IDX~eT!ef(JGt?ZL@>^Fz>JZjD;!?b)+p>AM-ya1|vSvPx z=^6MpbyyN-0L8}eOBNT^Q~%JFn#K~JWxYSCm+RmW9!(vb=Fdp&1$MEr^ipMAF-aqP zaZ+VJoeD_<a*fg<{$5^Cjo|Z9DX2!K#ikBPiyJbe7no?&83<m*UV!%T?2?V`rJ=$p z+7^sz8{IYm5Xot*oAm-y0zX;2xz^QOXJ&G*<V<!%^DHlzReEW5(QgSSuU_oP;L(hc zex0)uh|Gj!PRL5;D)h{2G|3NiGh?YUHL4fuXZ|R<_&1%ojWcw5dqFjrPS*QJGT*x7 zBHw|zDw?^BX*7`-5f`1V$NG}|9H;gM!#wa0yY4tUB;B7Fm(W}P(51x#@4<Qn&*n?= z<Dh@ltw%<%2R|XBHz>V-hw^;ZHu%i3=`jg0ysf`C*xYdc#!)lAxEg>zskawY>FMsT z;!<OKgAbB!k;FSD4~b2U>mB%)?$q?;^yJ=1&)^fsF({aHdea@z+lusz^q36h{63od zS#YX5kV)}L$s?2ccrn5s*O!6fk7K~3$M!{h#_&M5k|k7BY;wQAzl<b*Kd@%gj@MDi zdHm|)DWg)NlSidxjLM829oHX2;?%{zas3e&H=6H1*gu-_JUqjn8a=?35xoL6y$6qG zVjG>AnK_#O*v{*m<n3n(v+PM~KbouiT0MZ&{-Fe`Q!LX-?dP0AYCq>3dwf2r?dwIB zu3k>9?e|wL*O7X^jimN-?Y7$W|Cn0a#a~(;u>P+8-s(f7UiXBhtIt{gd{X<9iY0sL z>QdBt|FWd^6I3MiI<Bs2&#z&5BdO=R`WCB0NPW(xmac9^t=H{j8BXf&UESO2yGXrn zq@}B4t$zZk;hAdb>QUBzEUEXOXzA){*8dSwum2xQS3hh0pCdJV7FoLbMeCnU>iu6M zH66S|YCqu@*5B3ptUf^M`9D~?`Y5&bN4n|Bm*PFoy?zO54WCObFSERY)aS2k>FVpL zwIA^o%O<4$-qp>i^*KT<J6iuctPZzybzkd0fYg4Up;iwgHGGGY8lR&rC)(q#|1@gt zhjD*DlUkp9j^#p9pU>4xsP($pmaDD*8>GJ17E4#}wEiEGdY`YXzpD>g|HGul=P^rH zpR)e${mxo_fz;<LG2Ba6Uq-FZdj+ZaycVhP?&@aNza^>f(caS4U9Eo)d%Ulus|Q+t zKdJYRvvl=v>z_gD`;4}9^?2()k<{NmXzA+5t^bpxhUa`sS1+^vD@Yy3c+=_}tG8Rd zo78l)$I{h%t^a;f-~XVctB+FabDy+4Luz=s`aHEhckxs&%aZEv>dURJKx%rdZs|U6 zU26S(W6PGL{@&GXs5PCqzwbt^{d+wud)o8+lKOu4Sh{+!^>@!7O0E5(>7@3HPqhA% zNqzrEEL}a*`p+Wu`g1K^z0mqEvBy_fy82b?zlPNJ+-T|QZPwrY{%p5;H>u&Z*XsSG z+ROc7^*K`0bGbBccwI?q{0EczUhem(9<}E8+br9V`nx`)e(#1^jwki{Gf55qS)``7 z1y(O2_4!v=x_ULWhRZt3&7}T*t37Y0)gM~@1*zfuwdD`?xa)t6TFYnm{fef0uUFEt zG^xLLuYZL-UXj%24YqXk&D2_6-%e`2?@nrZ?qzuwsn6@`d#sKm^}U8#x;lYc!!yJ3 zUQ)y50jsBzdOi1kk6Z1&?~_)$=g+p<4ZpcoFCg{0%ScV{FIld%{;qzNTHj}_<p%5T z>djVfCG~x_Te|u~>%WK8>wIbH>iyRLTT-9rh}FleK0|7Jxc<HjuXg=QQfqjWwk&6P zC8^I-$<o!;tbYxA{3c6R*Q3_wXlmJ-)a$#toz<O4eXj17uI@vv@i)jahScB3+w)Q_ zU7czD$B~-8CR@7tQR_dG)cZYS>FNd4nvdP`cm=hVXKO9Dka~YtZ?nfgBK3E<*8dw) z^Y<}(+|}o;f6xeT{qu5CuUCQ8e0~$D<$>#e8@1*G*T1VhzlUWnOE-M_S$(%<gk=<| z;h13Q>I`a4ucIu-kor8X9&fe#eiN;pOltT&V(IFcRzG98fYj@`dJ(lgN4Dh}>%WfF zaDIo>cysj!*8dahzu(f;hpm4espUq{NbmjJ>le4Wlx0~`?_ZJB`&B3P{cBp*CiQt; zUB~Krq~^Cqmac9_t?}lT_hI(@JMDRWEnR&#wT9bZQuD<yQt#*LBx+4Z?)PCdwLY&~ zzE7mq^x?kmW7dB*so}QJas?TfZmoXH>Yb$i{wq?$>nN$$KTYcIi;VK>(xmDNq~`l7 zq(1lcq&}~!Yf)>s)Ugb){_gb}S?&7YX3uMB+1C2Ix}(*1kb1v6EnR(=^>?4|9%_A0 z_xl@T{o_e}uXIaSkF)+0Nd4VI*5B1Lt-l+dv#g#&YJ4pu^|@UAqV;#b&)HVLLTWf~ zwt6e6;knz=)n8bDH$U&Q+Wo#Cpw{}2d%a`U-)%qqY_(foI76-Rm2X)*(;Hu|E@ib_ zpDIhO@ppyg)z;tDRj4%_Yg*Q|{;sZXwVR$ATiuM*_ibnC>M-knC#m6o52@i9WjV}p zxaBBP)0?ZuTJ4^nW%d2`{0A*v{TQ|0$GzVid%jyAm~Zt$`@0t{UA@ZsueQh6Te^CS z^>_2vHmkRjnvXvt_5QB@#`+&5^}UZ;y84v$KTB%37ai@TtIJSpc$6pg_g7oGx~lcR zp49u_O6vVx-OT#8BsHD1vvhSAYQ1i_Wj|8ycQ>i&Kg!b8@zk1rQb@ht2vUFV)`!Mf zeLtzce~8rU%^>x6Gc8^HwDotd_pH@!dHtL{f05;j*5B3HR=+~(^Q^VZv3%Ro^?#pQ zpT~W^T~>c&&->ic)w$OH8&coru+`zDzIUG0CrQ2kSxZ;@#(3{n%<>Xae^<`3qCM{F z%G7!v_kPz~|62C^x|XhPWc}Uuy^UI*qm^ZQ>+kB$R(G=uCpF#NLu&mc&K`GlqSeDm zeXdMPS5KhU_nBfjoz(B^W0o^X4R2S^vU(1w*IQ`m>gCk>{HrY2kox;|q^9e4NG)ev z{eks&&;P_~_j~xc)oy>vS5|*b>U|Dcy80(-wO7frJWlHUU44pL%lYDCt(_pL{;sZM zwOc-4XSLfuRNZPfytw~sZ;o2f<~21jDk0D^JkVU6Yb!<f=oV;s9B8+k#33XOrNu?j zI9EY$wL0&mhUU8B9L*}MBbs)xG=oh`>6Ma}-b*i@krHUA?Cbof_ucLwH81wCbaij* z-`5_$+tSsA+fw~iTc=2SJ=Z3*a2wIV)_(}8X{c~pC)b8E-adyrht<_7_V=mw_nDTi z&a&FQe&M!Ju1()$o~LE+3`<wfqSmx9o76P@tfi~xTmJ=?3oRFs8outFHdnuB{a>>F z?i?~#7j7%XacPa?Hr`|~Bsqgi6zbwg(d`4BT(67nA;Y~Uc1#{T&ueJMG{T>HZ63VW z@LEAwGxgYncz@#Hu(%=K-*DSp?@2tuOK3`r8^TL?Pw={VLSh1kId#~ZgPaPr`M1x* zaV9#w&yzNMBv)7rG{)}ND>_E)_M#aULmv0WalB>WX(^S*HGhvIwLF?iYS_E_|EYF+ z58C?|ZnyWOJ?{Gd)wKOr?fe$l>#ZOI`vpmTUstcU+U<8KydTERJ8pOuo_BKW?>CW} zw%@b-$Z{{K<=+9zAMA1W{NvR6Jns3f{jz)hN&0J^J!k3KBfI*q=FP(M;$O8xEb@dm zeUv3NeN-a#`CMIvI<VeqS$JM5-0tu+?awt&XK`N7ZKS&nM;`57!>QeMH>S`|QRfG{ z^Kfru`Q4KSkM6u%SG)6UUt!+n((V_}yA0v;+(fPae&+Aa;%Yv4I2I!tUm+JiKp(0D zBH@Sb+nWL1vsdml_mh8guihQ>+l5c?x%rZmuS_l}U*iOV_z^3E%g_UN;vNjb1DJug zuods%J-m-yIE0_@Gfv|S3f>zyf`y?UlQGp~lWXt>HpATuIFIg=D8s}lRZKNfs-rnV z(G!tKL<&}8E!HCkJFp8!;O-d^#6(gQ#nB8c5QcE{#$8Ck1pH6$_4_7&yB>w_`MaIR z{_LK=XX#&rl^ZFJ{~h=E{k?nprt@9}@9p~_weIixZ{OoLm)CUnWca7|_HDwCgS)qH zJGu+s+qW-|6~4ExpT~6XhZOvq_w;?0*ISK0ySJ~qr|<VX?>K^3Xca|q{L#IA8`7^a zbdTRw__KTbM$+F8cQ1?k=>8}7^j**M|LmT=x}UGRr|*8c-Muo3@MBdJ#Zma4zBlsN z&1i;JXorq)_xKH?Tle>sNciFIy}@lm0{7l+P2P<OD0t7^$<$Mz`|ira<_Ypi%)(sE zN8x+&>b|^7u?)+x25;bx?$x`Ue(v5Mx>xUB%%kyu?wzZ9<(|Shqn&E~5rOBh7-yi1 zV?2#{IHL<?RAb*7{>^)+x_hP;yjSX8-s30=-YfM2wJ(@`0|-G!3_}Xi@d)N&DRyB$ zeAPK7g<iN1Gw>sHagk&2)$kM{N2|Lg|05K4AQC^qcLUq}n1`eA)nZ>KDkB*|wP`bf z5-5c-sEwP@6=9|a*%N)uUF0D65rYwU0#9KDR$@JL^O&Y+ZQ77eK=(9#7V~idx`*j4 zaQ85sLHAtv8gLsk1fv}yF$Uw2jU2p(UAO>WLp}?}U@vlU0lN3;!ntHF_ZU4(a_`K7 z_u#Bb{ZH?`*_wN7{?WZRb<fQj2tj*vK~MC?P{bl0x(8<}bRW)w_u|Z_mY{rwGyM2F z_ukCqdEen6e!_X=<I&;_Yb?MDyk)d8?e1wEN4M^2{UBywCUjqGcW>+Ebg#r}tTD5z zvVDeS!5()H)C>9C`wAEGi;zXgqGVCB7+H)gP8KIikR`~HWJ&T8@)EKXS&F=ryp$|W zmL|)PWyrE*S@JTnyzfQcUw-Ag%BdjcdtAdhT{T>fhFF5-*k^tubxWm=tb=vOV6%sm zFU($2_L=>p1a>|YV?Ee}lQPguA*bRYOvhmy!8C@y^eVxzX1tCy*kE>&auyfhE6IDH z9Bx4f?m!l@aUaX_fAik#x+nWd3}ZaYf6Pl{HeNStN!{~&J>JJoqsCs<Q3JJc6K=*W zXn-bYhEVi}4r-UcCFls<2VMToz0e=vc~eZmd!oO@W4bT;-@P~b4xYOU?jGqs(Vd6O zu4MnODR|HHsyr5qj_3^CL*0+Dn1_?lJ<~_fa3BlMU>@>RbCE6G=R6m>$GI-@a~a&d ztb*wti7YHZy<ksgG7QVH0$<|*n(^Dv923nU@&tlvc*c-24o~BTn*0<X?*`gTpi(VQ z3OO9ywAYu9tXo-DV>V8}SI_7B7<o7c-K)AeS{dDYdbO6@jc5ZHM$Ti}f1c$D=Hq#+ z!mG%^CcK5WjqZgkXPAf2;bc*^Yp{!D?NQy+nEUuvMKEe01iA;XuNe2s!;J`oZx{DR zgl{+Z$HUFoi+|%DggM-QaMS;Wdl4?+euKIf;kJVJ4)hiAeWH8A**)KaI65W47_X$4 z^k5iC6q4~NKEo+9tr*L7Y{A>uhIg?YJK$qkR1QfjYm%{&Ws3a5ym=bBC|ns_hN}>a zCJ03@L?Qu6NI@#n&?(r{o$QHzCW4H@aFb20#5ed6EvvKsfs@F`@#{&9t>KwX?!cj% zEFbZo8(3e!Y2>3K)9}?u#W-YPDq?H1J&#>DggoR!I|=e{rd>)1?~R$zz1MZW^?A^J z*2UdZ{murgb7Cbn;JN4dZN)2QBPm-<2<sff@GH}>xO;PV;5WV_(o6)?d?czfPNfl= z;3cfUQSfuhJ+B#-7>Ee`f^+bdU=~4HR6t+cg`aQ~{L}{2Ey=8mF!Vq%wtZ!t31VAO zikgQ=*^dJ_W*W0?CBw}L@+{tDn`IsLG7U%`&OjIEycWTzgAm+~P}81FL<-W8i+uR5 zV|@v|f?0>c?MxH0vj*c5`87RP)#7_&8Xm<w%!jWI!vxncuBsy3j3vk6eeA@@hOAHH zE9^tQ$zfTRkMoQ>>BRWz42BZ>P5=45&V4~az9J}zhG>e`$YNQhdzjBPwOE$bMt2mv zclkfLN4V}2?)#AYu3{t0E%60;_lj)FwA2Q7G40%gU%_gc?^H3SDLhx)vxVG>(j`1q zN$HP42xl5f#5krO*<oH|S`gj)QFfJMk&H9tnNIMlDR~8}IOt?1ld{6>B;}|ncO}a! zR5P7Oi9jT>FiXj_vjo}L26u1Bujt+fU39Pts-hYan8r4vPcZWi?!q9<z!P{Gui}tt z!89n{%<dYjGvb<Bo_ophcnr_rIjlrZZI;8htPa~_@ZG}pAwn<+S@;oWa6?@lM>LX6 z7Wp5{!wXo9mynIu@H*Bb2XEsY?7%L3f=}@keEg<gjcaioa`^4uiF+G(UYN_aI(&;* zroy+FSqUj;`F%lo=7CBGW!jyFc}%yP@eV$Q@6x}%w|qmMQ}EvMov6cc7ku0|xC5T& zcTxB1ZOgRU17ny*$6+VasGJ3x6~6LJqgP_B$tg)cjA42li+eF1UzcGyhGRGm?KJKR z-6M1?-eMYf7Z;F^!@*2@2xB~V$NlC@#`X7jnQ<yxYx8%wig8*Q!Ki`ATbQ<xj*+-} z5&aR2>Ih|+j)bpNkgpP|8Qt?bsRqNLCikdC3ephCygVH5vaX<e4W}?H(l7!evC~Xu zn8;NOj~XaZf>DBssEpgu8c8J?E*Q?RNyVKk-zCGeFU@u=1|tf)Ov^I-Ug9qF$6!QZ z6vm@vSx<XX1|te7$Ur8>Bc5eK0(O`W$d7P6%Llp9)FGuI8lyQ{V*qC1S<J;!)|n-X zak&&PLHB&s!Gxx`9bFKH@pzAM{2iXD%HQKG@-c*QE_tR0<6S0U3g*=EtRmk;4mRWc z+MdJYQB<kJ@&z@~4dLjG#9NrBF&t?ag>lHO%lqRR=E*9kiV)Og-jrQ9fH#>pH*5Y} z$Z&aq=?D=Rj5LhJlc=(Y_s8{k2<MQGET*})umhiI`dh+pEFz3=DeE5yMHt+@Z||Wy z0yQtN9f29l`?IkN=aE%}dwgRab|IMQxfxoUn^+eYUtW-}4npuaYBG)905wjiix9Lz z;NTL|Wp~quluV4qIrA~o%%^yoX<!ZpT+Z?o3$O@hk&i$lLblCDvMn|q*-R@xYntIV zVHrL*!Tcr+LL|mwJPO`Zcpmj~>|z=^j`K`I@>(#<V1zS`^u$zium<~P@N6xnGpxe~ zyoK%9iTyZW4wCukSKHHvX{J9?m`3DYjK?7yLw%+ZY0vVz2i{`Zcn`at=XEge1%B5N zvY2f~<l-D6m+<|Nh3(jh&+rxYA(C-D23gpIFR%|e%h;cRJe)!H9)54|9?l{DEYmnb zSqJHZeuzM2rh_VoWEnqR%lXnltVc49pbzdsDn?;Ed}V@soe_B%_uocVdDdg#3kmYw z+K4>Hz2H$Ex1zpjNlI(emXwa>4zfG?nFvxc%@}el#+zy6!<b=w$9Zp*M}35%GjuQS zM%>4{7SnQV1efqckP><c``IzbG%v+62|Y|-vLDhg5~-z0+{Cg{nw##VJj66V9iQQI z3}oGB5OP@NoxrciS2AtNOs36eu*UqrG<gC$YI(jU<r{pD;!J;XDN5r;(~XqwrWe@< z5s1W0Jc(?xfs`HCiIlpY@ua+7pWkjozToru@$e${k7EWN#XKy*Srf!GR|2JQ87@af z1fv#i#I1Pw9NS~?G0lXbCv;D4Uo7h$!^rF)Ul8Wy1^HgWO0365?8I*DLkQzt8lVMQ znNYF~+MxqFLHB&`fxfs4gAfUK5BO1Zk2d4Tdyxg*8~zbY$D?=}-yt7COj||J0L>AO zJK;OQG8Q3djHVciEIf{RcnfdiUF0GUzLR_hgqpVGFF1o=p@Zfv5sny~Lq38|G0o!& zT!o6}8d55oYssnz#tpa;bx_xYkPXooq3D1f$if!*eqntFq0CFyy<WsOoq0)$mGI1C z{*mYKBEG=|<X!6d>N1v7*vfB#Y&Yjgb{qSaF;6VVT5LcL%kZr@fm3*|wr4vj$63an zKy9W~scVLkF=)WD_jbI`GFQ@>hR0y8d5r1yaV#~b$ur1hS$Yb$vaGC!ES8O{u^t<+ zt9+2}Ao6eqzRQDrjnD+`kcD^P?kS&Dk-vw#cf2n-$k!g>xEIqg7rviZKSyy?Lv>t_ znx-}>H=zL<p(&b~+ev9_I+4=FbR{JWJ#Z&_qPOWsN`G@VDFaOeDSiyb5EDZVLjqEf zj*-a3Slnx}$f<Y`voRkFun<eI3~wM0$1v<zkS`vgOylhkIFP_}c)6)S%GIV4DOF50 zQfi?#ZZWr#_0Y(yWw|TYG9AlMy5lgusOLte@p^a|kDxfuk@-y9vK%jiLnQ&D_>GV( z6KJGUhW$ro0x3adJ>QW>ag24J)3}cHovO&L%yuJAGwq+j_xx7;j5qjf>u{3ah_mq3 z_Jq~pHwy!hh7p*Fr?3X=@DAR^ZnR+DXp5&_VEqhFFzwI9GAu_nR^k_vyM*}}W0^O` zBV-xBEf|7m)MnkYE*@l^^C8SLxvX=ZLp8QRB^;ySE6#X92%?Z|d?lEdN;2Nj2a$+T zvaa$h7GVXlSXY^g9DIjEIE5_MQ69xCJcA`zf$_|%63)Ci0^7~!r0mB@_^x0Y!<A@> zZ2X8koI%i)%%>=hGAM`gxDq$wW`v*t8lo|pp#|Eb6FQ?S!qCqQB%?4C2}nUYvaSm9 zZN)BphO7!fzE|-&w!v4C*F`w`W8O7EzT?O@IhBKar;%JE$oCYY*k(;ax(OY|?;#=) zha@Cp7mgqgKf@Q#Zvw*6A9ur#D2&87Oo#7H=3S&<EV3{KGcXI!U;%sw`5nYoe1Z*m zo?P;0ls?ArMfDTRyJ%v@k@5uQVvBi?+<}j<56AEeTA%c^A?36=PhLQ)pXrbGxC61s z#275VLYzgLQ!HB%j`4UKJCTdS$ioR_@f-OOe5d&iD34AEM}I_OGG<^oR<Yc81qaNT zOPSv>fMtY4uxyZ@S%;L<IFI!#17uot<~ba$!*T@M`K|jH&oWQTbmm`q8LRQ@V*VbH z%(GEQ!3NyQyju^smoWX{B!0#@<l{|#`_>@`JMjVXk;S&a%gDiToJBsiF)zK3FR%|; z%sUTYikU_}jOmzzxmW_<m7Z`?-mSp#BKWRm`Ht&Q2O(&USxnQC#q`|n2A<cRZHkUT zzOQ!kI}P8b{N{YlZw}^SK31SE(?&hqi}Bcr4{;j#!n7e>8TUQVj&a)_yG(fwYF~pa z+>aa+%(~J19YuVvF+SJfBYcf4#-;RNTuN{B#a$SL5g3Immi1F`j%9rS%lHdu$FjOT zUSb@|mc^cjS<XI!>|%U=e2Q~u#jq6LRZMrd+YBTnvLeeF_^u7|U4l!|1h=6B!jXU! zOvhtbge7<lxvaB@FNNuUGC76uKaI={@|D0PxCT{F9W_uBwQw_hKQO-`9Q`o}5tw}} z$oC>{KkgaLu$Sk}ZifE{IEhoJ#Bi^QVAMv4X-Kw0D7qpXgD?q?B9d`348QU_eI93- z=V;!*!3odpWDESlxR6tfk2Bc7JSX{#6ZxQyrvu}r3vOkbNj_m7{1J7FGM&L!ndJb& zF%b{o89a;U;Jc3DhD%TirO^b<O$)LmTB8%f(I5L62T~-P;johNg>x_S{TP1H_>f`r z5q`mG`1tOnQO(>))<b<XKsOUX#^W(OiCy>(*-YEHhl=<jSr?Ki<|rxWOEO&WA;VTK zFl=Q6!&Zth56Jyy6#IH)2E%wQ)?tIX8Ln^QLmWaLF5nJ^ad*^X7|S7s@lmW`o{-nE z1{W6dInd}*euL53_{uV!AOy|eD@TnG^vCw{p7xis9Kr2ZdImAiNM)8e;=6{&F^6#{ zk&KII#2^;K@Cat$Q9O>PFb_+RTb1#F&?L4iafEs37;-=0cLb>)vd;y>4+r^PLA_(1 zGmJy|_!s7NgfUKfAOR^z!w8HvW6AM&3eO=MYp@ZU@ICSoc{YgsL;RLAUgUwxJX1+| z$UH(mj;G8#QWj$gUNmb-Im@_|ZHzm~H$84;If%84s}0zMw=r}X+i%EaT%1A#!(3jk z=$TiE<q(!)4?f2?xSw$_2|3jmj>tD5jaa6kLo&-7^f2Se$@m%vaGYWP3&NRydSVD- z;M>po2SU&iq3D9{=z*NC86U_uU0H@n&=H=GgkzqMHO_F><TCCKq3jvfA<^0lCuNLT zNG`=oSb??JfX#Rp+p!aBP~QtFNW&<MMi%bF49rA6`yypM^X69cDeWo7vQ8$L4QzYl z;7P`pgfp&s;tl4x4R|e#L>}|ruh`1Cdlx_B6mDVOlUT-OJe~<+d55ganEtU0%aM(h z%5oe(L8r?-JII|Fz_^!4_~EO>auTIX8S+Y0Kt)`G#%PM$a63989Q~2abRpj`&Lt1W zaDv~ik00XoA7&YhvW&NKNJKK0n@<>jdvFfFBAa!%l_+z@lS;}+jKTsuk7Zbn_e?tD zLMGw?{0EDXjn|NaP1uD`;5)~%7*F6`<lzkV&?aTC+NJo4`tG>0sPDQG{FEStar+2n z;88q<xp>vQLw<l3%<D4H>?Nh_)t(BZR5RsRR?9}FjUDL5z8V>advTWENXg+hQtI8} zi6EsH)6hViXPU`J4%5m;?80t*Xg(%C!*QI%rgNUq^DH;8(_A3)k;3-lXpF@)JcP&a z1ZLt%%*O((#44=88+a30C0Tx8GP3b9)*_`G`z?^d??MJPnKc#pdxT!i^o8uo%$Jx^ zk7Wr`hOy5GIoO806-;CJ8Ru{w7f@{_`+4Bo$vP=Q&=KL-j30Kh{R!Vbe%~>J<;+XS z{hr@r9K<0U!B5D;1?*+o+=o1tF_Ou2C-0jvOjBdA1TSJW)?zcZU=Kb+F1|+|PT?!2 zwS8#Je!$ysf@wu|T;@5?yqu5LSFp_lUlrz6_?YL);|erKEA&UbMxJJ5A2eWCNFS5K zZ{dfyVIS*_2w~kZ5!21CZ<r78CEr!j`K}`{2IKLW$>6h(#AHmta;(4`SceT}2e}iU z;|m-#zmTWVjPESr%xf!Z6!raDkLeFbStd#z>qY}<$oeGnmUL&H=z;NOD!+x(P`f6_ z5AY3t^DW+E8sCo3@g;JYCQl%=EbA4B!z4U{>Da_Deha^vEY?$|;z9EWDKqdYRwD<S z%ob9%;$6ItkFf`zVn4pdu8RCVB8PFfA9*-~0gO9|WSpIC$N2R#Y!I5rbcTGErQ&;^ z=fk(1d2R=<_btyyzImBt=NrhuMoeWG%XG7zl()^7r0g?4kn-NSAm35A`-Fu&S-}^~ z+q(O%h0OELUvu~ADnH*lZ_eGPE0{WyrKr14*TLs2_!vDtcb~3HUZ~)^o!Z@}D|b-^ zA3uLScb~4#ODp*LQoH+foqn-`kIe(0yH8j7mn!)BQ@i_geVSdtH-OsRr)%-53cg{~ z?mk_oU-O>t?$edC#=F0OyHD3U)LQDh`*eLu{V=t=Pgm%A@AJC*bX}8EK}|t@?!IcT zZ>*rEr9O8bwbPrt=ezr;?Ru+%uLb?xeblnw_TJy!N9}cL4G(u8wHfbJP}6>&yN{ah zJ%&HEyN{aheeXO&cOSKDsF`hiZJ^=c$7sB2a>!5cDNf-u)-pcd#0I>D#~A=Kq4s!% z+g-SJDQ-XR14UV%#T5L}`GRWSs`h&mit!w1zpp!g&u#0><5-2xe<^$%L+8V&9hEzt zp?1dw_t$8<Uh{q7?HskIs{^&E8;MLj4V^dhZ=WagW;Lc?vx#))&Ad<dE)+a}CYSm! z3Z6gnD|M0To|2?oiYrmUR3fiKO;d}M8_msRUDQJ(G&3#8*64sP=x!#G_ru4!!x-o| z`!~>W_MhO61NrKD?XwCW4+>=;SR%488)|ovjNzD!2jPxuYWe$n>mgbmyY*Ukyi@zX z2SEGLw2tfcqZK}%rFuTch|vZE;48*<0}Ai2`CndtDf8d^;llZi(C<bH^t++`!uz1@ z&GGm*+Fx(}h~E$t|CsiZxD;h^6)NIdR7Eq~j#daodvr8+km2YFwJTG*>l|#t=lBw5 z@hh&{!|S3EnxH$vk%SaX!89z!Qf$IoP`fOxKb1mhXg$iUPiQ|>JKV&mk%49$DYtVB zUs@WSJ0Kl{J@=CGh$&TrW8f%lZYCwJwkMvHM3YR)aFa$#hEdx@`QH3M${}-vl%wW; zzJxqrrjRntJVeSPW(FybnI}m3k9mre&&(I3oHsRCmzNt%ZBlMBeMz~?3?StmQ!0ev zh0>-hDdo)Nq*O3hlTyi4A*Cv+q1AcMHSEilCgwI$nwu7+v@)Tjv^6?cOw_hm2AF$D z8DvT^PfJTPkQB8YmnakAWBUiKnNC8Xw$sv(*J*?>^gwH#FZ!<<#$ztDE+WriA*S=& zB(5Fsg_5j?;&>_6$Kl#xx%S~_O0(+^tuOO@!S<ZY3--3tZd=Uofom5Z$7hjZd=|;Y zetZj^*S5DB+Xis^J+cq8OaqJI0C!&1dOoALc3vgec9inGZw08$t5i14NgcNjHQH8` zYZ<o^VstKm)aNrcz+EPal(KwANn+V2+SefNJTM(wmA!n1Tzrjhkiu_7D&FvUD)E?H zXPT2zl+Pr^&84K2HEP2v)y;Ar$5r7g;T=DA$D8+3OF71!xb1ZvGZ3ANB&B)Ja=00{ zA`(L|6v=SsDZ2A@*0G%`ZhxlsgSEyyR-knJEsbr;(I|W#3qNH(xrW!2D!3NaOfyo7 z@V%s%DMd;dqjt;^Y})vkhv3I(EH!R@Z!NXtpzwO%M%M4%#%|=|8yq%lY6Z?4)cT*U z5#ie1j;34flK-vszy3_a;?@J*bsDtK`#6Fbhj+l8w=<mX5Am`2mi!Lx{12T^_$%^F zdB(k5fqDqTLaa3Jl0V`ke#TkjV;ZS|%BChMH=0oLF1X_z+AlO2Q=$Ds^RNv%=cE~0 z8eIoMbR7sk)E-%F8YbZ(Ovem7j>TAtY`kn<BiCS^apxg?Nxc{QupfCi1|5fy;v6IR zpIq;uKYw=*2ANb+*K?SJe{%hXbv$2o8C|PE=i0dAvc*}3mO(j`$CbDdHzNcM&=8H$ z3@yz)<UmBg4|kr<M7m`Xrr{CHz+;$+S$G=Hm}kkkSb*oT7)$XI)?k<Uv+FD9x(aG5 zE^05X<IDq%yPkqOUO9=!AHpM;fyb~IOR);CVhz@ry=1}bCAfC|+P7TzItgk!>Dr~c z_LJ_osE&F2F&b)@J_-N9(^!dBcmwN94*51XoyHe}255*-bi@SQhx?6=Z|M37I<Bz* z3yrRkkd2qI3hPV``4-+bUy^Fi7Ptr+>xQ9l=Wnb1{1m7ysLsFD`L=2sFX8Be0T>9s zi6)042`R|H1UzE?YP(bC@BH2Kbajqy!Si#osb9vccpdAJV>Xdn@DAMhxH<>7;Q6;Y z-&W`OOh@7EUY&QF!1{7B)V_NHo`%l9{SmI+laF<g%WWTXeNyK$-igBJGiLGFD(o>j zcUN?tu8t$>Jl*>-8H?f0KXC2JeU-fSRpDg8^V@WOlG>ZQ^OJm)X<CC|^u{7nyb9A5 zIzaoqCt@CSUc(Bg{o=Rqv8`VNI<KJz24EciXg|OY^gE27pf-;`L+u{j@iXlw*nt02 z_X`XUW|@ZZW(N5T{>}Xb+E?&*_7nV*{R1I&z4oI2_W4}(Zsm6z#Y0%-Lwz*H?P!5E z(0Q$MFc<T27QaI0x9U0^I==0$!=dxJb==LJ_o|(FI{xPC&T{5?misslZ5)(&fyEB0 z;byq=QIhB$54HE3hi`H9BAy5B7nuU>5BanGAUYlsw3u~Y6h}#1iZZw!I)5q+_hA)| z;}_`M22tB19h<*&3EPYaK}SSlEbhn4(0LD%i*N89j^ZrT4pA$RHzE{m(H>n9i4hoW z?j=`XrFoTn4QsFtIY#GFxbrFY(w&PRaU3V{ciXqS{X+LFWBUo(FZ4BhFY-IHhvf_2 zhC46Acg8y}!=1-hc>j?*55L+uzAtXZKfOLm%k%v1U^*VdR^;IvblsDJ*E=b^ziKGk zP=DuoCk&zg(fPMoMK~^udC>VuzM@_`QMH>1MO$=%+Kpx)3py`%9^CnjJL%SbHJz7R zc)wcVcBcQU``O%anLlc$npN`mk0bhMLsuM^m`lmVXo}m=!sr}fou8xjt|O2IwR<hx zE>GttR)9O7t8hDYo$o2-aV09?YE**S!$e{%vhWOYuoc_z4cvJ^p{4meh=k4q%7WV0 zy7PbvxBpZ7ni{wR+W(jg?SFK~{oV0?cl=82Z?1*f;J9`;9q86^*9lO&fVbe<gA`?( zwkd`q6*?v>6R`rWeSXo)X=?_x;}O@cK<$51p*FxW5iesS-hyin{3YE|usv`cj%Vt) zW+?tnd&b2)Pwj`l!ar><+>&E&;@Ux~eXt*Y=Qy8^_3btvlA?BijnD~qKy7N&o+1k? z@D{c}ZH-0kj9<d1_yTHYTn}n%ELm6z*DgoxGu1B29S>Lgs5)@_oz))sui9<YtHkg% zZAdBD-e(u}esh2nwX2iTXn^J>oRoVo6>6g;*-(3E9nZ`~!S;{0Ud!h<sifLH{$9Jh z5ZZ5bG{4vGYbyQJ)=SjR>o|(AuS|-;9S3hnw`-50gOvr_v8o+G9&}!vj*+)PM_fGK z+Mc>2{W<1(9o+d-u06MFf3Rzq*N$85x9cGk?GS~6?Y4E?HUSrp4<vi-rF5Q(JPw_w zqBfsuZ>Tm?qV}I^H>LKUYCof6zG^@7N9`SSewW%ixa0h;y_GxO@7i6tc8ogU_h;?N z|G#(~qu}ui*B-*PQ){~4Yp166X`=Qb%b|8^hoJTnhoIx|N04X!sy&HoukVhRxOQ&; z|9MN^c}r~R1lq;ud{ea#ap%do_TaAFtZN_Qt|P<>PoUkFYfthM+r+vqRb+MVdV`b5 zDJaP{fmFv$aMyeKj&=B>2o0j`3)-+QB)S%p>_*`F4>i5>K5h(VJraIaNk_x&f89s- zDVzqYd_G<(fIs(1al`73PgwN`C`}4K@d4#X(NCx7r$_V?BK$-IXwfZN1PhDG02YaA zD&(tfYLIe+sZGjFrVc4}O+8ZTn}(z`HciRf(A=~jrIiUKrLAdCiWarf8C}rTgptz2 z+(}9=(}$FPravinn}MW67(XddCYqEO6GuwCNhBrN3@0VcWRNn_j3#BQxtGksL^FvL z7Uuyh&ebH+_n4VU$}G&rvt~Xi3(P`N7MrEyGAuXz4Ctr8_lkLqlr>n3b=ZKn%{Efr zH#<n#Wj-L~Bl8I<pPJ7}`4W4v&+I4Vfcch`@68XS95P2pIf^`-Fh7%W#+)PNyvZje zh~pJf)D$PBq$x#8X;YSza^`YUt~3=$x!P1BrHZ+Z6kU5!s+$_5++b>xa+9e;N?lWr zl=?>3aBPMarZpJ~T^B|=nJ%PsHDRRmK*9Dq!#P$Xx^{}_+9~4N@ywuGUWB`@_inmB z#vbSzYx0HJOUgd8pOgdUTT;F^Kag_B93kZ>PC#vg<g__Q>KaWU#h7>DH&LWSn;25! zOgt%xCYhAsCXJK~Gm?}{GlrCLW;`hqjIJ#w51Z+vJZc^%Wu|$Olv!prDRazRQs$cl zq%1UxNLgZ*k+R&ZAZ4XlMarvYH7RS%8>Fl=8%Wt?-XcZU&J$gOU33jS(Y4q`*V5aG z-R475J~n$u`OJJl%3iaNl>O!aDc_p!N%_GXBISrVO3E>Ff|Q@lFQl9?=SVqk@<|Ee z*rF6Q#Yrh?N|939lqIE{xttVTi%BY&t4XP3s*rM>sYXh5Q-hQnjIO02H<>!5)HU@; ziG<D(+Et!?cQ_B7@9)lI)c$at@20kK@<;9Af~qncP}CGBrKBlEN@-J;lyc^BQm!-= zNV(cnBBhGCj+APqIw>{G4W!gIH<41u)Fq{!sZUBn)0mW|rWq->o0g=sHf>00XF8D5 z$#fy5s|h2ehq;rKUZxKz{Y-yS?luESi7<XrqD(X?F(!_bc#}v<vKdZFn#mw#q{$>@ zj2TDDcr$^NiDnWhlg(689yAY=GTl5%%Hw7xIR|sid{P#eg`_MpOGsH}mXor=tR!WX zd6ksaW(_HCn02IVFdIqPY_^cH)odf>J+qyZon|*FADWLz*<(H<<qNZylznDDDF@8A zq<n9FAmxxbLdsEdjFc1RXHtGKXGl3`&XballGQj~0kwAxMs0+kDMHZ!;pm4*#2^LZ zkcG*ZfhRE!i;#_1@ETU*_u9Q~<?&r`?OylLor~{Lu-)q~)R$KGTt=3|m8KpkjZ8CA zTA(F5q6@m4`$-A8g?S5p6HN|9tQkg%u2m<xE}6SFnXX+o0%{LC!AvA&l9^1(RP!Jy z51Z+vJZc^%Wu|$Olv!prDRazRQs$clq%1UxNLgZ*k+R&ZAZ4XlMarvYH7RS%8>Fl= z8%Wt`Hj}c&Y$auzd5@IsW+y4T&4;9XZ1#}ynfZd0y=EUN`^^DT#~lwFwM~{2=8xJZ zw_)2|+L;cdbTVB?>1x7A>0$09rI+bLN<Y(|l)KG9QX-75?Ickqnv@t5M@qa=TWXnL zCXzDAOeSTjd61Nc&2&;8HII`r)94y`GRvsVw$$LbqugL>lX8=(LrPs!kF1Y|rZFi^ zO*2w%H!VqNZQ791&U7H9lj%ZAR})4`4|69ey-Xic`kDTu+-(Mu5@GzLM44z(VoV$< z@g|X!WHX!`h0$g#DdWuqQYM;7q)axtHle6(ygX`j&7_%l(##@dwwXi9Tr;1P1!f^B zi_8*IR+v{wS#8#k@`hPQ$_BHMl+ETHQgkk=Y&W|}DR_S2$JBewXQX^#bPlWh)As(Z zoxiSsu6F+JdJKPc{-L{mhHI~%bB)(tKQhT{uV0xR8x7GNz0nsjxDT`O8rI+qvyOD_ z^LNtyBZ_|Pwa0Hts=a+Y9>83z#fSI_CE0OuJ#I%|Bx4%XKEGhQ{QcAg+vQi;^WW|A z`%o8bmp`4lV7q)>UtMkU|Ezuf_3V66`+Rnj2Ck<*k!_->c$965b=Y7wlAECWX>7q( zQ@#X;htL(e-d~FOg!~fw@D0AlLHr2aC+qT(o)Gd5ynt*R!U^a)2U778wi{3dHE;uJ z<0k03nf;;b3+h}zoqzi-_Cwcu(fzk{y}=e}1zmISPUw1rgAs)Zn20ycdh*Zir}Z`c z55Qe_!CgDN#ihItTA?jEp)<N74DLF!DRd8qyWZ>sx+mgIv!2|7t=NY5upM7R*CTh= z(FiKd_d^TQiqv&$3*WD*50CYOyPoZRbjx~d!rOQU?_xXL{iJ+lIOGqVyDY8H9v#sc zcOVRX&=-TD>*4C!Te?5gn`S-v7T(4?co*C8F+Rc9(DjMkd9J!Xi0=F3t`E|R?)K=2 z-@Ct)yUy+e`s=<R@0y+DNBG2iO74U1_i+OCX<I0b&>Wr69V^W%<ePX0I`{S(+8S0u zW7CwBW~LR{8oIB{{dfSA@i5$dWpw|Lw~emt+X{WrAA=By!5D%VBw{$yaUUMWbn`Sh z2fF^Ht_6MtZS-^=c>^>;Pw0LH?*0U?(ETCYb?QsgcCRel`R0@8egL`$hXm7Bui$m- zucm#Tt{>h9g|8E<YsKn%YC2zC*OxAaMre<Cq(Rpwz7O-E>kxhiU9Yny`y_OoVqI7E z1AK&oIATtcqHDzHI&C@Eu}y<r!R#N#(OcLqg1fF}Ze9B0<`A|Up!+X9jpP@+^A2>K z!g0{Go8}@9$53RkrvxdbO%1X(ZZW!!@C3YqEzoskk3rW$ky=YwE};{2ec>!j#46<A zTXWM=?|Q@SNa+S$cX$lOA=|u6zJk?w9qX|H8_gl|D1L^nt9W1;%UB%75$JwT;=91O zMlf_8DqXu+a*KFI6y<yc1kpC7D2k&5%AgzyUbnn8^|#P<;cAxkuJ@wzrxT&;PP_=6 zH?8y3JC@`4HtxeD=(?mua2q;8=lx3>(xGd}-G^+fg}WYr4t5nmZRmQC9iZ#Sq#0co z@;<CW4&3#z+;uK)xq@~raMx|px%09Qy8fIFqUpMGx*m<LCD#gnc0IYl^#8r<$-U0w zIry{lz<1IA1LMvEZ+sQs2ktsJ*>rEliVDA7k1mJqFQMyog;b<10hU46zjW8_x`p+c z<_M|uf4@#gD;^6qZOL}n4R@WFT)K6w7YVA&`G#nSX1E=#(8=6M-i>LPg?iWic73bX zbQiv!RsHM!_<Bnn=-0_iBMV>G=SdzrK^u=#(80?f6g7=VcfEtQbi4EBLmTm3(FwZl zK~+DW5qZP7wiQA+z}E!sdNp?@d)KSc^+F$mu3aMT`XzJTq@5TFUq>Q(H`fk8B2qC1 z_hAwq#8NCr+YgwYpo3&ha61x^VeThoHs)eJbRD(7d%Z7ry#`%JrwMco3ptFV%5O;g z#KE_t*mcmmE?|4s{dAo$HS9l%IxH%r1zKUOxtEj|%}P@Cm|sY7_u(l~f=ipDeXyq| zDWfqK)9?_ksqP6S+oP+QK|X<}F&p#D0#aTuFOjkXJMn?}h?JAi{d9tBuzwk2jqa<n z3SVMBR^Q;+NQ%3^PI4`NJCIYG^%!i$x5z_2d^hpChFREyFL4eRkbg7#p%|F$(Fxsf z6U$;5%raPpU?@uGd#)v`;vO@Il&{SX<YBn$RBZf&wsrWzoFk<I>;2N$^dKeKOeJNB z*-VPNKCJE+yb*tOUYO1a6P*tx?mVtg#=W@nvQC!dHwtIXADvI7bEQP*Ly68U5qDmQ zyN`-HKcOA#D&o!`7{xk*&I7oGb%bFUWoDCV-#?sbPR5%V<TDt{I>b1*cIpM&m#d9= z!S>~9W3G1P&qD3VFQCFa&*|s+ZH3y1i`s+BGf=zms~52dLyA$GaB<h+IZgK&xc1rK zE%DlBr|{b@YCA0_pmx)02d(SGsx5S&Jv7rs3ZBJWWR?8=_OjjitroQ(71wS}?bO;L z9%`@lNA1%7sQsC1FXh@vsV$Va_Dq9(OwWiktTOpzg?WXP*UcuT!7caz`|vFe;fOg( z<|Bh?PjtWPNtnVkB<reqHjo>!9XqiX`)~wDaUK^in{oLJe2jyN2u5{G#WdW_aF$`v zb+>fA^-XA%?+GR4fH`-9^&t58OuAp0wy!7uzhwKm2=k}5uiZAbwzJ!yGjy+O`MvFJ zZF9Tr?TvJ6dwaY2z3pq=r`l~_x1sx=ZeQQW-?;7TjdZ*1>v!nZw)G!vUuzrNZC|&h zTiQU|*<nW8*L_iV`#OimMBCJ&?P<47U3j}Xlzx9_yIR}UZo7H|-J<Pkc^}%YcH7h1 zjt+v`j&4J@wxe}#WGT4atZiqv-TVRF1-G03?d@c3AK!~C{GILOy5;!|h3=)<6wS~a zEurn_yHIfZx#0G)wwWj40chJ<w9PC9x0`jJKW#TR#P4l4zslpQu?}yWZR9`Qp1z)K z>e{#w4NNmq_l48;^)=8ow)8c3k#2iClJ3DKnoK|%-2GbIcKA9T)Aa@2_IS}M-uAe* z$(x`#T9~$^6x>dqK>ZvRVlkG$-9JFv?Q#%5;D|X&9>XpC_BKQl6yC1S<*~2vd)xQ! zI_w3v@4pOY-OPMT{?+z=-H`v@-q$w&Ki%HHfght<aNGND(fwE3`FAeyw)5{JwVf}o zVGZ8IIuzXQzjZ0=6KH_OXo7<K0kkh*togh90S@#0BhWqo`F5G-ASv1x@PFd|fFQQ< z<<Is9OrZZNyoNRSqx}MPF6a6f(Efpf`voRYzlQa2`vr9EOR2}Ue|<DEO~^mmPoRAT z2jKP>1hEb8_7{ZGErqWy{|1j~f4~l-ZU5if{=e-i&doquw1@Tu6x<)Miu!e|H5<qr zY=ZU^yj;QCPw*zW4jWK#e?h~FY$v0oX-&HQ2ik|Q++>rlLi-fleg*AYsAjGwZ$NG6 zI^p%$*U%KrY`=r92igMK*C5)*ARoc)XZV6{?Q4*N`x$Pl{QLVE`to>x{9o+d37m~} z|NrsJKK7wZQZY)l#3cJ*Ms``I&CU!-ZdpdDv@nw>B&Ovq6`3|$#ZXDM8D%ZZh-`_W za!X}~Was=}?>V1u_uS`aguA-$|L@1+@$@<0bDcTMb*^(Q-|KUIzOKLFC2miG`W?cu z^*c1;w)!5j_dm>{orHP#03Sj1wa>Rd!qpf4JADwMz6jSJaX4FlL>=pgh$M>oB7Uzw zqDn88SDdR~BCtOqr+$cgH~9M@{(tX(U={Aw$2@$1Pt0QCQpDuvI0u<Hj+6o%FQRWj z_OG!Q890pN=v#>Uu@@QWTbMTPhsK%Oi$mzkzSCd~!wBp}23-C4zU&vNe*9i&Jdr4l zNxL8o+YrkB%*}{o-=Z}V@CyD$-@L}jcGn%Gv)`a`u-!PZZXE0u>;rUw#_iOYZ1HTr zvyZ=~@fy1z2^!xolI^I*^@~Cm#D@9}B|d_9j71dvA0sguV-Zt<V;t;<#*%%g68Ql* zUCl42>mZ)LiSyD3tx5j{T0!Hkx$%MHxjhzcoZ!%DJPz*q35~;68)<Ok?-iU$8{3eH z<A|EY=RxMXv=Pj4)RicZi@r!iVi+_Ar^Z6rotyp+gwl7dak6u|J|i(NeI4i=#I<>N z1aWZVow#urLJIoFYs+aohDiFnRqK2>MqmmwPKw4y$$-Xli-sG|&5e)Z#%*wQ(N%Y} zHDc%^*Enz26z6(M+=e@`0;<>S#_!5xyQlGx>afj<KpM7TH#Dw_8$TtAZGpxkNW(Tn zu^!jBB`H{gG^pOF#&-xuI_qtXXX5HNyZWPUd;(VoKausG>Z(VvUQ=D!6l{XV>(qEB zVZHqIN!>Unt}bujcqXy*DX4yF{2*#FBa;gbRKL{Kp>_4yV>U7mv3?83&v13YGxzX# zWPV4)LHaUP?{w8Zw&!r;9jLDRyLcaSFc+%xuDanjq6Sny+&kzW2gTKUuI#aYj&9~L zqBP*QEe*|UTtg&fLjB4TrMVeSlxI!Qb@Yd#kf}nHe*E^NzZpQ3K_-?c_nV<aSz-1P zWuMtkl%LE2qC8o}Z!}S!He-qMjCqzQ6U}o(dBOahC@-6>MA>dm5#`$IeievP(NreN zE#@wwbTVCt(#-^gG2c+g6d_766HJuLO$bp+n=(YX#zdUvI38D=@vBXgx~4u+!c8Nh zM3^Q-X=+*$rHkoClpZFCb(e&jZbXSTy@{fK<q(Idc;5`m!}=WYcoNT;XNmHr3CqWE zGCH9%p22t|nAOBo{D=ei75UhHUTs{Rv|<G~Pl#L57W0sdlQ@OyL7YECgy~M~foO9d zaWE$0CAd0kqY84ok7qFf&*6E@G;@ja0Y1V)EW!$`#2S2#RBXmpe2tyvJL327!DBn0 z*AyleLkW~b6>}3&YMHu3X@GDvGEIps&>C&f9#Oa*ozcTY6Ys&ph{q^1fhf<LnM9du zJ|xOQEW%3jIZ@Ul6&tV%-{E^4!ZA=3B1>MP6h$$VKuJ_FHxZ?lX+R7|bF@Hfv_X5^ ziO%STo~94+9t^`17-gOzK8xqfOT<Zd%}gOmBHqM1n2vYxJ{DpLKEn#EG3$w`*nrL0 zitlj}J``o&OiGw4L}`F<G&ik@(jIrBlj%n6j-H4{AKZgjJcMV>b3~bGJ|xOQEW!%2 zhA8W?30trOyUcgQ?~!Q^6MZPkzNC~e&56?5L=o>mAKZg@Gm0oL;}y&^i;1!n$ykLo z_yX(kmDxg+bbOCY9K^5iiZKt-7~K(%C(UT0JY(J_$~3c-n2Z%>6;V>ncH-AahYzjT zp2|SPVv<=xly&B7q7N&B{Z<p#Vm(sPx};xwVh40GU5L^X(HLtc5GP`;nNR!}$z~Z* zR$>*lm=f&EO9-w&H+08v#Nky;#St9E8Tc@TeTAtw4j)1|1}KZVh`^nQ#y~TKC_@p4 zo!Eu_$iNBs;ObYF;T%{wJc2m9i#a#~AIfn|A=OX=4H1DRXo^7?j0X{i_b>;aBNboc z8(htC$u)>J!-*p>4ioVzreZecAQe8eyUOn{@g(YT%+dgD&=${NA{JpWRwETB;X?=; z$16}4<<J5x(H<Sp*>ojJchi$7BM^s=%nG7x!dKW~GKmNAtML(~a46eFR7G{fU@-2- z1DI&05T{}pQgIMIjOW;EBC2xC6@gn3jiEO%&+(EuT#fZQD&FW<nOF_gQ3L%j2tzOe zFJmgEn>j@J*d!BWl}RPa7PE^eJ*zW+@TxgX^kH)imN!I(`Mpe>1dn6Eya+QBiLw_5 zP_Cxmvu|@hRv{JDI3|q1G5D~4I``vCvxz9*;2>_C!RJN;L|_==uoCOA9lLPnOg;mK zBM$4$cH%einYy!h9<)aXbVWCOhV3{C?_G{J5rpCh#uX@sN~Q);24FA_AOk1h!`oZ< z9<U0Z;}m?y`0h^dcx;Cc1x~V^MrmA)x~36PBFrsBX>L9veu)J3WuL=ptVbF$P=@`_ za=63XOOyc^j0eqWqUU27!7{AI8l+(ZwqhH;!7lv6WDrl{416f!aU6w8CY&gZO?zSo z^h6v^!iPK@!{<jW)WJkEg*X*&AQfj2$8r7?OvMK5!YTMrfn)z_xD_4n7~=4{Sx#Jq z&G6~IygUzPVGcH73r@j@%K11(L>~;oW9Av6ykK4;%9~~$Q5Kpd#AF<X4|O>oAAydD zMnA;iDKnQSi{L|k`X~yZps7QY`UpoOG)6}=l{gJa*o9xr5#kA4P5(w&G(clSA`T0% z2x-`Wy!2&A0TjmNrZiFNpf1AE7_HF(T@Z~#B;z00kE8IR4t*o_&=H;R03OEkn1m^q zfh73Qx(M$NA0QdO;5aH5<@-ScM4&JF;VC?e1Vq!X5@%)+Wj5wu9+qJRPNFh>Ej7>; zgE0<suok;;6h5@459T&Jgb{Fcpg-ewDt<r)PQZuS^vy^sbil)iL%R8u=tD`)E66Q~ z!_#IgQ6`wzi82dw@FOyC0zTyB{DKrkF_b__R53RZrIu+xl;&uG)@XzF=z!bM5uMQ; zeQ*y3VlW;=9LAaP#Ah+l%qPk+^BHkDR+=w}ve|4SrsG@q(49Uk>5Vw7Mk=<e%{h+w z_!v9kLv#AJI-o0}F%WTBh-7?@RD1^?uA&d@YE(lFw1f{0=@XlZUvLHmI9CybLMV*O z%@stcW9kzdpd~t>E2d%wW@0P0;d}VdigOqp@D}FaID9B{74H{&kbx8Mp&;ijq^@Z} z?0|t7j08M~8Rlc64+ZGElR~C0u|C30W1_S|2XsX=`kKEHWukeWD6e2DW?>iSLyp6T z67&s9I2xfF=3p+8aR_Jd>UBIGgDdzwNQ^_X>v^pj%zyac>Z^CG#rwj^rreK~6piu4 zFwc7t@8vV~XMKQZ)1NpH$>wunDh?n6N8m$?`}o}GYI+l87#>FgA_kHpjfg?yX~KtF z2lHFO7)(GScHw(u;1GN`_B0Wj$Md;S@L8tMVY^^X5yfY&o6GMMH=_gYz@6xbyU`DW zacUlavxt1H#k4UTaTtq<conZfb?JRyupF%=;=}bsR8M8OM@w|Ta`<p0jfhGcSU2JU zsGj|g@S(+*%u{T_E*yproi;M>@d$jlYm?s;q9o!CyoI+h9W(I0SxA({W;s#vf8|%0 zSOlfaHAHD(B8bx5v?R91ZD!hLUK4A#P`e-Fw=<8BXp)G&ot*F7#XbdYfDZ-I{jMaI z!L{akqTGNQ7=#H(fDbqB=6*Cr1lph-qA+m}zX>Gc1kON(a#Fvejnwa1&T$6bUgq;Z z*q)l7h>~G^L|L(qbt|^OhqgcPy`n36AO^8NaUK*Zw9^<q<UQaQN|fu&^~8#(Y;Gn> zJ=1_F4bcQm(E_bZ8=|x|QAD}J+(qn&&Za9-x|^Ovi7|H*<sS6KedYn83^T)t5@*H{ zWik@+wwXng#mK-R_%hfYWb(b?MNGvUBq7D55#<Pcn0=7nJn|gkdI>Z{1X`m5Zbvlw z!iTL#$l1lu$iQj%@bFQ7XV{Ki_z4*}2p@_Z<N47F9nclg7=wwJjX7A1WPA!A?mWTc zFbIP&9B~+j30Q@7_y#+%9~n3fA6_`=cY^5iv5jVoLLVAXi!B0W8JD{p-emmZIoM5- zW(ImPfQ0WT(@zjd)V!5({W>6tvHg5>G-Z-=?xSFd4!dNbVU^}d3O>V&<ao;2#)XK; zPd^6QU=Ri)aD0dZ+?Rn9IE4!x7s3l7zZa4Cz40Da^O(E^IgfxwCW<JX(F^zE(s&P? zgDA|gBZ}kFcn|bX(I@=hKHfv~Vw?lOA2Hs;Up>x)SAza#`f}T#9iq??olRF_55!;$ z{;Y8v{;Y8uvX9qr3;n*$@Mn(Oknbw;UeFvDI$p!W^y~iKxD2(+(^m{PjzBzpl`kO? z(=Y?Gk%akJfTc*mO033uq+v6*Vkb0afHX8sh#D_os(FK`@dAA2LdFZYJdyrtjHkad z4M*X<Lm%=q)^R8YH*SE&3=lV7z(o2y<)}GH{42%-NT2B+2jCyX^Bo6ZFdOV4cnFW0 ziy04K2Y;ImHy*$tZs(#8H9rcX7)l@np{R(;sE!m|Nd5o6y57I)`wzwtOhF=+;!~`` z=Sanu*n;iY0p<XwcIn4KMN~!uG(;mrpdF&n1MxVanEQ{Z_aBv)<288sI0i%*?nVkU zZZe&=UY!E;AL1^=;9ht^|2ymOXRo{8t|<H7=2G2#j!7=#m;}MN43$w8VW^3lQ5*H~ zzoqW}rF#4S9rgAD>+CljNIiR~U~?O|`uaK5(f_0C<rku_NL;=6bJdC8Pan@k*NLZ} zA`kMR9LnQbR4|o@QUx_p3w2T7gcIc!(~>By&8<XfhYq+6x8qLJi6~u6H=^_~(M0Km z-sofQCHBVv+>fDn7?0p_j4<)Uv3Lfr;SIcncQ6z0ViEqRy72ROrVsFmSxj6Cmq+gM z#WM^0^Tl1BxXTZZE$Yt?uS$-J^1xl*x6AWZPPfE{`kgILJGwmiDdzX`v@bLt+vQ)o zJn9E?(N~6?@~HpQdD1b(em^hzp5TAxKR397<r(`+`}3K*Ud=KFm#5r~{`+2tALP$F z&MDv6<q=<K{xDygcO9-rB~&$}a%gCEk5meeGz#|N$gM&IBGKKvK@@iPv&<)cjAS!{ zJWqMrbR~Z?8e>fgQ9d&(iSi2$qhNm0B2ffIah17-SPuO$5SxrwfXCq|jw6gdt;XnS z`p|!M4`R(}qC8Z{FOw(_)1M)u%wc{f(t-X1>56X1%WtM6E;plzl7>y#hV5t*%-`Xp zi6OVD9|n<AB|qY4)V_l2>aYo$u@&3laXg$41yBgh_)RuP*)q%rBw`w7;C-~`xV8hj zA_l_|hg0w&oMYGsj6fVxunHSZNGQ1@2t_4?p&r7~7){U=EpZ#}Fn1Aq;y4S>DV%{1 zu^hXK7N}gvk02B_#fTv&jVp1LDN8Jes;G`I)JH=^powWp?10;GCvt^x={g#jlSDbg zF|7|pr_pzZ2h0ef9Kulyox%5y^+?4roWLnleI~yPM4M&Ab=Zkr=st^S*oj@p#6kSX zai0W}zY>BgO&C#{qXk-{EuwHc?nEa<qZj&_{>1x`%g5(MJ`_M9Q-mnRP#k4&70MwL z4NWhi^uaywSjXnZ)I5G^L>bI6lyu^FNy-)Uiy%r=A<l^)&SVmgpnhSd;}uNCUB%f3 z<0*_qOV)|)un3E>6w44<f^#z%iU+X*tFg{}O_Xo23-wB}ua22!6Z`I8VGFk6*2~#1 zKv#4_53`ae%S!QBGzsB#5rYBv#581G-B{~v*4NUEbKxzp$3&E&jaM-luj5T<Fq4AV zZJMx-Z;n_D!BNgVA4Ah}yg&F%Yz00$4%T4%fI<D4|M=C^y^r^SW@aG!kc06u+lyDR zXRzPY#e9!=dOQ0j@O|&slk;lPV3E(lqU*_QlSGt}dHtScojd`>^0Pc)r}=>>r*Q^H zSog|_f_|~=f5<O5h7%^P2<sno(7F|mm|Uzg^WZX5ig*Repd4zMIz*{wmJ(NB71m-s zQt=hG;`Lzq%8<ai_Z19eohy;7OJyf~=*2p+KZfFQc;)#?AP@2*2nBJu2_asAvbYY{ zn@U8fVyY9R0m9M7v?aDf2Q!ZN4E~N+Fd0+v2HwQmcn8z*KIUK@(y##=%~!-<ppAS1 z6hS#$i^{kGk6}1o#fSJBdr+kU^8{@$89zWf3iGi5DfkpeL1&LQ2(h@g66d^-3|*Au zgLeb#OEgCdw8H~<2!F@R@Zo#575fpzI{Y@o;}yJyU!a|luaF5J@`m}9BwmJ4Q-@d= zjS+!_o5(lBOPGoje2)y{)#STFRkTEui6O>e9FmX%-_68!L?pb;{t7CyUAO^tP#5*h z!>sckK_t129gu2H6MguOb*=0(KNAn&6i%Zq>);4Hg0UEn2}r<XB$_nhDLl+Nc^Fm~ z@{3?yC10^V*@4|Sh=!~$BGBASX5AnfNGAi{I&#<6vp!GdI&Ek`onPT?pkEJF&<Fi7 z08e5R#$zUCV?VqvS(l=@@iuba92$Vfw~b>v)<q345JT}0p2TQ8g$}#@-usFAe5n4j zp9a~v0bzIniI|PKNX9axVgr6f(Szh_U@vkXqR$86h(s$y;WotJ9%ulc6YvhRJvhR= z!%xV>DR@VDuXqgGkd7abX}n|fgCZC$5rr;@!P7{<`$)nfq+l5|P|zJGcpL^I7LOwy zV=)mcu^v0H3qK$e$DqN5p2v&GK$TE_$MDiw-i{F&nEbRZNbrJ*!CrZ8@l)5&I&0sb zpWa#b_q%a_4@8^Ch%(%~L6qs{U82m#$5>>NiE^&vf^qpchBg1&jt_J#W+Pnaae{X_ zGY#%|LDz6j#`zpK{1wLw!J+>=PS9~dbKHhI&=bQk0?%RsbWLetZDUXsx|Z}o==#u= z(6yl%(Dk2_pldb1hOW^(jdLAexZ?zOJkW#fhC3e6HJK%#>n_V7%(&x(MB4J-cD&G- zZH2D?)NzB38FZ}Rjtg`=aJM<vae<BrbS!YT<A8APZ-fZbjVL`#H1V%EE*MmleO$a> z%<s~1!hhFs0zX|(5=}hoAkm$LP#N0Z)G*OR@%T-NZc3sF{QI2#E>A)By%BCy7d;ZK z(H8BYI_V?vBvcPQ1*@<cUtle^m^_7eJ~T!oo-|8|DOh7v$9yev7v}M3Y$A!0y>5A1 z+MUc&VltNDQ>=umSH70pTTHGZJTID{8Ad{N$W?z_Qm`DW;OdZn!EINE+|?h?&2f|J zk2gjnTENvEZ_DjYW+YMd##6BYf%U~*J@7cTQKEX^)o_!kN0e|hgzA8ILT_ZR|NSKG zQFt2Tk-h%+WZJ6vEw#*iqAbM<tiozs$FW#NRDrAOeG|8DMm=0fUsoBZzPEHTy@+x* z`d}dLhiZIFZ4*wEMreYjQ2p<b<_)4u!*t9t{~*eK{DcGM5Yg2Kzk$BATBwcPM)km@ zdKkYEs7`kUs8+XRuhab*?b~Ov4aJk@L*hqRh(%b66x5i-&kHxB7F3hl)#ZMS+r!O| zL^*&A{A#{^m*WuZ#Xs-^_Twj``q!=ow(4N3*0rm5J&)TTV*#p_@N;#pN75G6xBdvp zP@QYlw-(j6u8x|x8MRG1aSw7|#`z+su5|>Opcz`C6>dd4bTY2Kwdz?f#JTEOuVZ?u zQ61~Lh(r@KH>zhn51*Jt#HCnfROfmw7GM#Uny?T)6T;CDjm>*RnT<J^Z^~Z5^-Tyx zc~ms2i(MV{OkjQNM)W&Lq)~lrQGM)<*nwSe^|9-hp)U@d&>1fq)xnm=W+qYQnh%NM z>Ri9TbrUb*CG#tNSE_TJy}osAjx!r00!>WSUVP_pb*o*SYSp9e3s;X?T@7-BX-I60 zo+gGUkDC!hc@xvXPbaG%>ph~(#$2dIt1K{Eh;r0iY~5B@KRSCq*+h<ETs`T+`Ptva z`SzQgDZud>R0~!P6=b~v^{1W0!9sr7`_<H^mQ#OPL^1a5@K^V%ea$*tey@LRNja{Y zM>3XS9a8ZPcHw7a;55#lS*YLbM0pgCV;sgK5h>6CZZ4dw->x*%%i==%?IL-6GqgcF z1oqn{aG&dMbNy^N^{2W1vgI7_WUtdbvI>1)*n%B63DxKREBnn}V;eOYe|G<wIu6cO zw>W#hn)=jSe_A)TOVS_r!PO^sb&Ui2+fH%pr2e+R`sIH+!#Qu{_4x(XGY_nf99Z8x zoxj@)_22!G{dN;L2AYWM{dfNj{dRwJ-S!LZ2lVZs-w>`pFo`}vas7g>4*XxyKluN1 zzu<~o>}O-O`GP2i%$RcQvttsbVg}}5u~|!$Q|8aC_vB+cs`^gyN7Q#xji=|KI!~ht z`dzB;bg916rTR{s?x1hMhfDRHF4cF6V88uh>pNYl>*TNP)Rpa{bT_K$BqI=qi>>Q) z563ogKOVqDGle)6%aDqL@L_y;9)nADoH!1qgW&&U9j7gvKRiK-IsTjKIGy46i;JqW zBoi;Rp3^b@=2AVUOZA-oFV}NY9jCQek4yEO$U~xE|580C&Xdshf2p1m=V3Vi@JG~h zx>U#M;_5iPy_kMGI+!lDj?<<3O_%C7-F)Cu{iaLxoBsX!P4pytxls=B_-8$*VjM>l zr>;|RVsKV{rzRYhbVUj_V=H#Tqn})Io4iEHZ%DybNdb>E>?}oyLRwoEcGI#_DoAng zgmi)|qyu=u>HaL7p7(@P?^!s-?n$V*mM9fWMWR$TRf$r~R3}Q9sY#StrVdf+n{c8u zG7&^+Vww`AxoJt1Hl{66+M6h%+-~k9N=MU~C|yl=qVzN|MCon%5T&o_N0k0%08s{+ zSfbo-h7#o=GmQ8M9y7y<@&ra=lzEEyG{)i?Ou%z^0WabuOu}SL!BiyTP4hNUreQi} zn)iq@8*?xhAK)YNF>wJFo8?4VWj-g$I-}HmA+;jQMxuOWwh(2T`I;y@O*&EbnD2<P z*X$$8e)AJi4w!>PIc$y)kKu$lMU*p!AEqvi_HvuNM9FW0h*HQDAxbe5Oq7!5a-xKo z(nKj^t|m%Z6H1h8O$DM<G?j@`)l?%&brVLEnx+9U9F5QzO-xf_3$!wAh|<=yCrWG{ zzx#>ukclJ8Q)Uct9LAdo#EEzgZ{RJwi&XO^aTB(h?L^sOb`mAs>><i`W-n3pnf*lh z$s8ccVRMuy$8iFuQ6n$EWz(A|eN11X^fUd5GQbQXO02n`C_~LdL>XotCCcMw1X1G6 zIHHU<6Nr*vo+rwS<|U#`GOrS4vU!~-iRMkByltitWrmqWl=sYRq9mDlMETInC&~h| zkSL4IQlg|_89p;Bh_cG8A<7qK9Z}NEmqgiQHWOv5*-n%lW+ze7%^sqBXZ8|hpV?28 zpUeTGWST=nIc$y)<(N4^lvCymQ9RBWOKy{wDEUngQ3{zNL@8#1iBi&BPLvQ+nkZ$= z)kG<4LWy#%sX&y9rZQ2gnrcL;Zf+uWL}D=C7gm{dL`l4i+)a!nmsAq45KE8@udH8g zqU1ICi4tTA5v7PJMwDPvk|>v(5TcYeWr%XMDNB@4b1hLSn2JQHY^oBanyF5dFjJE# zwM-qN)H4l;($F*}N~F1kD9ua@qO>w?h|<=yCrXsLohWyjjzsBfx)P<k=}D9r)0-%L zOkbk(GyRD&zziZvtht{kL(M}(8D<_O%Hw7PQR2-=qKq<65oL@SN0jkq0#Opo^F(>k zyiSxv^CnT=Hq(eQ!^|SeduBFKlFU4!d}!tqWr0~pl*MK#QBusOL|JZD5@ogdoG5F} zdZMJ6FNw0rY$nQ9vz;hA%ub@Dn>|GN&g>=1KC_=FKbZqW$ux(Ea@ZUp$}w|-D5uOB zq6Bg7usBNN8dOFN)I$VXp&h!IZba!}qKVQEgRuaMuo_=rE561){DfmTiQMJ=3J|3* ziXs>#QOaCNyap9aMWR$TRf#tu3^$`OBGBACNfZ?!seu^No7e~Un!gd{J~NOQi~G%k zL>Ym2j5MQ&@{}1vlyPP}Q6`uKqC9V2B+5%>5>Z|?lZo=WNhHdf=53-(Gc$-X%e+UF z*(Ql7^UQ}tnQs;lWuaM2l%*zxD4&|;L|JK86XkQWmMH5@8d1J9n~1X6Y$eKevx6u* zO*&Ebm>-GqvpGbRNY2g5Ev6Y!T9{TuX=B<FrM-zF%I)S(qI5K!iPF_{CrVEfLzLd8 z4^jG>enjbS1`s9Qj3mk^^Au6Wm~liIZzd2W!8}it7tKpVnPgri%C+RnN(EDqD3wiB zqEs{0iBi+lB1#=ok0=dHL!vY`kwm%0G$Tq2(~2l<Ok1L~H&H~n-P}o(j;1qFx|;4p z>1kq!(%bYQN?+5DDE-X<q6{*R5als5oHzpUW+YKYnWu>IjCqzQ3FdjCyksU3<yAA8 zD6gADqP%I|CdxE3gDA5w8%g*O^UVUHEHsOWvecvy<x{hqxC(2`7sRzlGn<LB)odrq z4)ZHf%KKO*pw6vINWw<M=A+&_9>+M0$Mbj*e@A=~uA4y=In4JUu{78IAd-%lXn31) zc~_zq+Myqwz-03}aVp+4?+~Y9Cf>tre1tUofV^~Q<U;`zLQ!0f5L}IVsE=?oMkJb{ zg=s^K!T^j$B0j+;{EVQ@T$h7}xC^luiy2749-P3{bf(loM+`y&X5e$<{lN2}#NDMB zcZ%OsYANqIVnf;`h^sf2^4b!gqFstud2=Z*Kd~I`0>sX==@#%7(dP0zuODqaZX0b5 z3%uYhrLry+KSG<!J-h++N_j1bA$|PqB&Ks%;nkw8*V{^)OG&(nJYKI;d8_~VdN7^C z3ong!Vd4<lS<|<b^4{SMjHS)xgN%vb{~T}8*6StF=G*l?psn|_fc8r~eh|;E!?J#P zLbCb}E8OFM-q@nFxqk(Z*XJ2lJjA<|IDqMDr<DkypO$_TYp*UD;@!gwJWgBhC-a&R zFM;?mZM|OXwIPhxMb|8^r_Z^sLWq~n>u=`yHNW?Thh+5+jp6ZX_iG#CwIUv(t@$yd zeTcV=SgfyqdeWUCS+xu5(boJJ(={aP^L6C;HD3~F)0N>}#dNi2&|XP=k~XQu-qx59 zmEiXhY3uWp?iG^tJ>F!mA4Pj9_YY;dK2PMmA>L2KUu^y*a>2j8pW@N}?<te^*L<FQ z_IX#24)LC$t$!MiK>y<OAIsRSaN|n5IzQeOoJYbnxB(hZy9K;v#1=%}L|*8+C0(yn z6lI|CcFQ6Z5oiL9ThI}MF$6oHdO$uzv9QJ=mJdGx33v`KV>iBq4^bysXJI26aeaoa z+n9*wu?ntUN+!2;{YLB=<`o{oDY$xjpB7`h6`X<(>VV9HeE7dyXVP5{;rbK0@S{+D z4b^ed^=X$e->-mIm}@WL>U4QmvHgbX$f<5z;xzj2pw9Jr{aNqgXJkUPs8V>0u6uR$ z<upcwuEQRU@tBANynq>)g(S=~^NF8eF_t6yb=&J{yX&@haQhqV!nfFqGtkMAAQVC! z)Pw44x$)rl^BZAU56{&@PrQkK66hq1>W*o=`Ueqbyvi(Z@VI99D!4j(k>teQ0j*@? zxb8iPT717EiIX(RNX*T=fvY?1>ZN%l*e;+BT0(<{)IlV4oo*Dmz}1a&{X554>6}LF zyS!f{6=&Qr=wBqdAqJ0OCU{6zEzm{8WRUXrFV{DI!aUf8@9_hE0>hhlLs^N5tIIN) z+v4gr=HoXls>3L*4r4iPOQiXRC~o|0S8vf>f9UFPxjKk}^-FRyFY`dP4#m|Ybk|Rx zt?s_Ar#@l4P!?qrLm%`-EL6921mZCPiAaI254;|gPzBX+6Ld`44jmAUv3Ldv$bKDP zOa<m&C7!3s*{{n}y+hR>QN1eFs#5KKQ5}*{sQ!rRRH>f7>QuSw?NozAREOjgbp74g z>Q;qPk186fQI!gx>3lP{;p$X*)A^_vgK<z@Rb5Y~I);*J0<Wt(SKX1mtbbK+<UaUJ zE+3x@;fO>xsBTECd7U^F>BxTF+;Q5c;pOtz9dz|xUHvOp@5<G=+Rbn5Bs4zQTTtDq z<2awXRl3etb*nTkSWb1T0_&{0x>YfpJR7DHXzX*|iH^`d>-p@je!}AxnI*)}umb1W zZ!OEd=lSfn-p=FRVgFP6qhD+x4-h`69_)w6^)vZTxX|n3bn?#C&GK<O*P-*TpY{Li z^>N2f@;TX?l~BY%=e{x!Uybb?RDVcyO?4vvmFt+V71-a0tJfIM?WWgre-Pg<f=nS| zZPZ0QG&B)JNvPqk^QfKWQFt0P*iOf@ejA4yuJId2l=K^UABddB?+VrV9o9ftI@i); zqS5hN2WY1>3U}dd^hF%fSr_==>Qs8<4dzEdQ-pXKN+ATLQ5$tp58+T9%qVn$k{47T zQzxqXBNmS%9%GPzSD>16s!OSagu7}{_Y5bLP{1*y#&1YxTX#g;yOQ)T;6F9~O%Jxg zk0Tzc8~I0#=W@Q|g{1$3+I856AMrB|AQNX0$uYK$v;T(CaMus#bp9wUm~AFbL5B_h z<NOiJ)b*%jZX}AwG9Rtwp5-b(f>0V)p**fb1yn>;gyo^0J-o~Obv*JBFJ#<>hCKdk z^**AwUtHaf9^AegeK7#B7^=u`_5nPIhw&(e!<|1L#ces)d31OFd^eBFgbx+@?Nvn& z^g>_sN3zjDYblh5`sYK@9IjtJirbxVuKxMqOpnKhn2+UHiH+C{_0NBU3>?B?9Kjh> zEbn&@JA@L+c2#vF6OHOJswU$Th1gHWXgrIFcn&XM24*1%^Y8&a!Y5da6<7t;N>ZJq zbx1Sm#BZ?|s#S3uKEzzZa*BJ=5B)I#33v{wD>4a*n2B8cO&;V!Arwb2E<<HhMHp)0 zX4FO<)I)tVG^+D-3tFNTZbduXX1Wl&qo?UhR84TN7u#RtREIQQ81D@QOnG7z)I&JD zS}YUoi0%3OQ;El^Ma1<tvDgOH=lvG04hm;iyj_e>=uOY<)n|OdNL<7CgrRt2eQqxa z=^V&pqQ?OqcZ}(bQOI0k{Np_QCh~Z57^6^~89ul=LpQPiI03HCsp^`JK+H_mYw+G9 zM}&igB&@_2IEh3beT?`NtMEBe@ju4>VVzS6VW^MLEBNS0XPb5ihw&>;!iVSBrmaHu zaS>JTUE>_pK|M4?V-rbif~IJO7U+N`%wvszH3d_VD~aR%xzye<QN-KfE^LqFweNyz zS4V@{<_*SZwzE&+R*qfnLae!sZR4Ft;uvr}(%1%niA_ky9_+)<<}gu?;W$!QANWut zl)e<CArn=3uQ%cqyb6zPc5#H_Mx5q%D(URwN;vB>Q8L$!2ty0pyMc8+9>YkC#xt0O z_u=I#=4Bv;WBdCt3~`9WUFeKx#Ip>jet8<U!PPO3=Xm&2tTXXNIG)D@B;a|>z$|=# zkMIc=Lv_nm!qqKX$L+7M8Q)+h((x_!A_E8U3*KO!oWN=Lkjb*^LmJEM8F)9d{zPAv z#ldjnRAtU#oG1K>lQ@kt(0C~lI+yWAaF^*rycb?MYPF&y8bEc6x<UulH$t`EMai6b zkPrD$1ec){uE3S3je2N+2(*H$i~ikUYB51cgI|s3w_xJ=t$d^33x0qbe<Ph5XR1f7 zB+(MM3{8-P{m8^|L=L1zFrJ_j_I$@TT*6~hupBGRYT|mNVH?~yhfR13UC|4VVwPD* zloYu9*dyFN23A>FeXrkX^~7)BdQ?Mq^u|574-exJEQME=&x;|UesM%ez+_Y{&;BoJ zn)XDA!5GDAJRa9_jQccn{$?F?-eUtcny-jD*Kr6wgt3k6itgxxzW5tF)-n0v&Vw{z zS?h}U0{qtSG?Fk63*qgeju);+Rd}oe>O$i!v_?C0fX8=Q7NKx;?ZUb3>Lh7=hYnCe z@ma?!^Db_jHI3`%LsB{3H{w~hOh#xy*4y~4j(-X28za4}zb?Hx`-`9$f>9F9kiE{J z>bKvCyU`bM(73bR;Ktub;kU3CKSJXIsQ&##Jdf#6&9V9L*!Jf~5DKC&>Y#yXNNj`% zv_urTK<AfK_dcBk^awQ0-p|Oyaebfr=qJW1Y(^rV`C}|bD!zmd@t6uX9#aQ?vrl6p zrb0>D%@Bny(D)p=kk{lVUWrh+aV%$X+l?m>*`M*D5re<M)%B0(xBL{wm~q5sF%eTR z6&l;X3ub$Vbk<2{5W{DULmKbpTf_&^CxPjhgS78hPau(Fv+0<HE!Ym#hKpxedlyMq zgEVN|AJxO(1tq7u@e+D*JEZ{YXPkx)yO}2v%ewUBJl@}K>bxNgjSz{}(6~~n>8-k- zs$U$%Z$aaaXgsMCaN`oV^M@%#*nhwY_~3CYaUE_%4a65>o*;_bk0KGDVKu&jSDgJ4 z#PAr6N#XGvtq{w78h0XBVV)BCPz2{Yo^L}Q+YH(3f3~B27gPhZJ9;1*ccU*JhC6?{ zm1FUfh=;~2OvFrh_px7&D0G1v|0i&~uo%A6IHb_$d<>BsyKB4>k7f2Mlr!;#+1G*_ zcVi~E=OBz_Ms+2lO(NgLejLCt=%m$+aO3BwF69bnJd|ySXWgLjHZ<O19O6rHJ{GEj z_zhIoN#jhshN*Z1bMOS~1l1oMjhFB$=Hde^!V;50T#3((>XmN7X5;FX?xmf9L(up< zyLnHC5yp3`@kP?uZ`p@T97j|c|9BknSFvA?6qY@Wdy{e%%P%r<94a7K4IayOQ4~iT zv_l8P1aZ6vk8QQ;n3gj!!~qzDSlo{X5XEn3AYw5Tp=DSnA_k8m4r7skSD^8HG>%U^ zzv)l$H8hS)Jil#?MUsLw7|AmABt~N#CLjUN<L`I{uVS)!oj4V5;cd*oEX>9ySc<@U zwd=Sq&A7U?duglQpvI|EU9#WCE9p-SOr&59(g*uxAIHu&j`{m6>vrfQY!MVgFiN5_ zs-iv`LUnOlpcUGn9qvL$bVgV7Ffqit(HDcEF`VKM&v!N#><W7g5DAUnq?58O(Ha9V z1TW(iEQZDtapQ<&AI~Z5Msm<F7#i0o&cw5BT!l1j(|VFVER8#wu!o!l#Ip}S7SEUo zL`lF$_!ucTSKZR=<Js)yv3n5Dx^4>Gcs&}o_l9Y_H(vW(c^WS>{SCZ@x%dE|U=bE0 zh4*|MuI`%hI1WMMNJ@M$)?0WNs@a`{x$qJ>PGCR7jgO&=m|CLUApd#!cvk)#c6qV1 zIqdQ#S$hm^<ufGF=2^TqXmcp$EubAv{D`)Gb_uVCWc}R^+I+2E5^e2f{%F%vtnH)C zVWpR5?V^MI=jGF_eI0F0&$M<JZ9ShiHH2PYmJNG+EN#8d&a|^$pSIrr0NQ$gGpzl% z{e22;z5faJ_|>%a{@$dm*V}5-SJS3D(Mz|#|CY9%@0d;R%KI-#+hYZ-zfZF1!PYJm z>z{w2wDtZ<($@Qnq^<W?jdmeoXWDu{k+k*vF|=nB+gLm89slDWrCpHw_tDn#^{1`* z5i~6%>+ibK=I7+qqpjzgLObjAXzO*7?C}XUeGzTlKZ&+J_eR>RHoO$t`n#WK>wa&# z|M||)*8M@Wb$`hr{(P1&+WP#BXzTq%+T%M|yOp(j(bnHb(XK#zkhY#Dc834+J!#X& z(AN8UnYQ9q+L|vLXe$QI^uM3owDo$yv{@B+hiU8i#?aRD=eytkdNXGEmzOzAFUtL; z-}OIVZJXYTHoI$HDcYKUt7&Wgb)c>9DUG%^yB%rk_2b|3Ki^Q=dfiOg`utDR&RRa- z_y7GX_V^&$dY+lq4yCQ{@e|sbAN^?Sd6%&~>3vM1t>>%vfdBiRL0gAkchT1GFJZQS zdK_)NuS9E4r>*BpqOI3kLR-(f+NSTJt@pQ;w&ue|dwk>^|K}+%)W5tY(bnIuvgxa7 z>-~f<J?s0Rt=9>st=~uKB>&^@pso2IMqA5g3~jxB6m9+egS7RzW32s@wPR^(e$S?@ z*BwS%%i%)WdcHK;m58fo>-mD_`Co5~O%J85$9+#*@2izfKWOb3+WOpuAGGxuZM~n% zXzTfA(AMi;XYC}LUYE9>FU6*}q^;*!ZS9`4^?A~0>;C&}de8^{=O0d6^Q*MA|8CPO z)7IxqvE?z6w*G!0)AhNB(boIfL|e;aygmLq+WOum(boIV^^kvgnPJmQ(I)l5OR>N2 zKwIC#YMb88+UfT9chlDU&!nySFpRd|SLlcS_xChyy{~$-HGd~tJBGHNH_84!p0?i4 z654wI3AFY8H(PrWZ9Q+u!~W?>_V)#8>v_`b?<>&O<I=5NgSK8b)7rcFy=Zy&KJvf* zZ8klWwqCC{ZGB&rt$o!n|N9T4o%MaQJZt_%($?#|LR;TYXPchM`z=AcpZ)!7JfEh= zT6+%dtnbGjzuekmZ2C^x`uhZHAG5!oWbMMdA3a~9wQr!U&o_g%wr7p3U3$L%{kF09 zU)kCl`21PxciQ^9`<R~fd!nt+{{(Hlzkb%9LR<4A*4nFR>-C4x*8KR8w$@)`Xls7> zXlpr0wCN=u@xQ+$YgeGH*GsW>ecF1yG;7~YTgyv2ZM~l%*4}6BQP$41$KOU<@7Md- z|N8IP^wPBTJ$-ELc-nftb+q;Q$I#aM-)GY&+4K{%_5KoVdhnzE_mgDpYiaB6Q|$4L zXzTN?rmf{L${xSZ9^Z|&=HD^enm@7j_}~Tp*MG~_FQK&ceT=flx3cL8v~_=HYfra! zKib-FNU`TTX45~kcF-sO_p`~`m1%2!9JY1>ZOxCokJ<W+w&q81+M53}Xe)ll<Msa2 zY3u!0wCTs}@r`Ng^9L>TKVMsWzF=#2r>)m5O<Uj75ZYPG6K%cT^R)H6@%H#BHhm0j zJ?;bAS@YK(zl64)XREdM*z|q0^*ouh^}OC9|MTa2+`oPcrmfE#n9tN9lx;McRQJm< zuaY<6@+L1P4>Is|vgbu!NIs;_6(}#}QeNb_$KQ5&kwGjJ@_YG_AG2(T#-F_j9(^d; z^CcIvP>IeL-42)c7SHX!G7nPcr`$Ozou~Q=o3YinJi7g~#htf0#BKQ%%BMRx!*3Oz zN!H*CY%?yOGFKS=XK>?cX$(e<tL4sbx$(7><0i^ylfXR8=4Uv@M=$!;v&NaC?<0HO zrOQuq<0D7Xr=mPe_q}xGH!3}hz9UKGx1fB?ynM%Ulj%v6z&uUmlV%_?m_7mgkGxI( zCO6#k73Ovk=#*;(gh8*7Q~oB;=tZI%V(=Jd;$6(g0(^o+NX8a(lqkyIT!bZ9iPdH; zQ8+#9ZN^r!op`o<&)>`Q49w#U%-{4v|Cwi5o!en(k0^9OH*`l&^g&<5;y;;(>Bg6? z!E#X(;b??N++vy$m9MF>swDgPq8ei~)M$KBX~nrnmw%}o%(+O$S|}fL2<IptMLc#v zIhon>GJ~dbZV4_gGcf-$`*?57_<gj58~5#e^DkrgP34qt8JJi3SLIROzwuHY<=Ms| z%|8C<|EBy&x1P@031j`J^=Cd5Fv>kwj#f^2mRInb6t{ol<vM$wu*W%(3(2?C^W=id zyL8)ez0d6H`TVrS?JsD(FC~n2?$4E{d5q2#arv4WuU>vHZ}YeJ!!}9#70TOGzNWVE zN8s{IGFi8Z%j*uz=hXhlV7TcnKhu3L`X2Pz3K_ROYsh<)^U32>9=3ZveYfKBIE!&x zF6D8aJC8HR>nn<$J-^e<@39;NN@6hQ=@3{iMERa)%k$JelXy3tJ>S#qN4eL@!*?j| z`&Evz%TrdavU?xy`i|e8znVX9)Ghaer?EWZeDg@%>$~-a`yIOdIhSV|xc{y5R2p+W z`+l*mDbc=e_B<{3`?=UWRpn;=J9(;UoI~4yjmCXmt%q{K?QaIIhe-GH<QCJMD9U^N ztMXl!spGiZe>UH>2g|TjEPsA^uYt?SU!4c**2C_5cE^hsnjahZIsVi6vhH);!?s3T z{;d0)@oY<8!E5+M+m#v|qe9n5`QVNxl~b#6n%(had2TCTGW+qQu9tGhljpiVswMm3 z@kl}nzCiZtq+;18e++R*#~J*Oyj}Lu3m`CmH}JSMFrQb~3k`uAU;dBI?{)Jl@c3JK zzwX+y?8n^~n+F{DInOsQILGZ7{biBZWIVQSf%(IAuJG?4YF+<F<qPLDzcjCE!}U|> zdb~zx0_7JgPdEGZc!BdH@cOpj%R?^CXOfcUa$-4@$F-=4YN%mq5}TkYnxO?cp$mE- z8ohA`zq#!B%Ac}sK8oY!Brz}_IU|(in&Zl|<sV;czH$6ae?GDLZL;SR>v|*Yhr0a= zx4sC>GY(v@#nY+&SL7WB?k8+#KS5mon9J|h`>qYQAEf<dxzOcH%az7g)UtK1Jm>7o zo35X{=sah>59KlIx{M6C`5%~H?6ya4dSJeB6Be1S=!Hiy%eeLYLfVpo&De?~I0oef zyW^U`{>61nlP$*eH>T6h$|GhT>o_79I`(q=KcU<feFxX$MpTFEkL%2Bas7UGb31$9 zzgynie(U+>E4$-5m$zIal=+JxCXOfxm<+d{S(W{i8&K1<CrS*)D6+q-JZ5*?tLt~Q z{khP*W_Nw>pOxSI+jgFuw)4qncGva((Rs}|^#{1+%q>@i_?;C-U>>wPPKl?lSozRy zId<!*!2D=8J@B|XirhoxO}pjE{f=~!>tgb!1J^(LJ=TP_omqnZHNV>3ADCzT+xs9# z`eO2`-Tt-9i+1aUv*kgbE$`X=F0_8k4ehV!dvN*Cy54FqE;RqyE#K*^)6SL$?LN1= zzC`r{#I4U=-2i<at<Q7HkIrd7CZ)i?=0Usb<=yKB<~6(J%*{`?e7W<BIpsaO<;`Qg zC9W^Zt^c0n*jrp4w0j+$uM(H{?3Ry1g~;QB%YzPFUjOR6=)mP%$Gq8(dtHB<TaO3k zQ3uwIaLb#PHF5dT?(^rA7fo8+S@WOW_oVqGTUdr<o7qA92D&Cp-11b9WlCJWwEG@i z-n3gz{_MPHx4gUjXg42Rp0t)J&F?&>C{eVX6>U$&^|u7(OS{kE&Y!vbX+59%E&}@( zL%C1Rw!PLiJNxfVwTA-F%LiVk=kYr{SDv=pPM=`^R|504-FZb9bIRj(^T~Z4o%@r> zVE_5Tz&vj^U)=gKFn>GnclV#p=XSrtUsz@(7yVk2$Ecr6*JKCgeY@lLjGNf6#P8*O z2YzlP&HNR4;O_Ie-$PEzSq#hE-w@AorM&S&r~OV7#qC$P{Z#k6alem0D$m?)Cv`4D zTtA>YZ&Hx^B&U4z!1?Sx_ixK%K)!n5de^;<_O-L`Z@c|ym*4K@hs$$!+gtZ~fyYfQ zzu?cxhtK}Ks#cL(fBg2nlB0gMy!Gt+C+dH?99O~hGkJ;sn%C~~6<l8Xf))O}sPoNh z&*brSSsl5&_8F`Ed0sBBJ&iV-^*=1HJ(K6Vis#EIuYL7uf1dOC=Cwzz@#j^!y!Ott zIaKp<%4_e(bWT%vF0Vbo+Agns0d0NWobuYYGChdtIpwvN{yfB+%5<049-QjW^Uf)+ zJ%;IQ&OMjcK7+R2zsqZ1K)WREobuXRrTPCpr@ZzArt{PBTwePO+U(}$nAd*H9-mWQ zd+>%3?|S~;<+a!Q(w|rB^4j~+Rz97}Yfq!irs=o5_Na~i`S0@DhtcNH?YF%4$W0+C z@$p+;d*W9iS^1_euf6hS|NM7(?fqz9#^YUHySK$Z|6E>sFzu>LcX{nGTSKz)%Uxc3 z&^G_?#pSg}($2->bINOP#dOU-m)Aatb_v=!<+X=y578yK=bhK?eeM6gTwZ%=+FD*+ zUV9{M<;T0c_I<S3W%P2&YoD~k|9LJpuRW2!*YCmQwWnD7eDm7Vd3+Q8KBv6)eLMZj zkIQQ>z03c4F0Z{FZOw0&*FJ`}=7-B`Pok~gi_2?IvA=hD?djIeDX-m256Q}xb$RVE zwDo&&dF{ijol{<W0@JlV_@naL(|A68o*eVq?ftmC_G7f!J;*VyJ#4ps{{EKNPFwTu zeDm7J@OZ7C&Nr_;&0g=1%4_%b_`i?KEU&#ZZGGPJ&1;Y1@oav*i_L3~x7T-h?UStS z^4gPVYyIr<+9SX9zuq5~*Ut0l`^qV=eG=34`^+h?eF4+8KKm`Nowk<mobuYYGF{8F z%WE(Foqu^e-@Nw9Jia)8@ABFc?e8x-ubscw`*C^gnY8u(U0!?8_x|<2%WF@ht?4eW zeF1IFAD7p@mA00L^UZ4y+Ux&&m)BmIwzgL}<+W!rUC;0G+C%^0-#)m!_8GLb{JOmM zblQ5n%WDtb=l{GeuRV&k9`Ewn$I#Z}U0(YFo9^=3Gihu6;quzOAN<?jKP#_2p6A#5 zb9wCxtR0xw&MvH1AKDhQKri&Q_SyRJKVq7ks~>+EA5=N08;}n5&#RuOs5Ftde1yAM zD3s%+@vF|3m+%z#%NPWXWAz62y@g+K6i=`~jf3*7vgd89wrvc?APGy5Y?cu}#d55G zY7Yh0A3DT+!F;)@cN~gN=z?er!bW@r<@fK#KKzUfoWLpgOfX+c1a!T)jvqhAejLWH zQ0)ZKkLwDQK{Z68Gh(3Y%VY60#zJ+JRX<r0u?Cy43#zC512PfL2BQ($qCK+L`x`?0 zV)D_K@OR6Ry)N%s+N#ZauKK*0Oh1TI=HJavI9naBw(OwfRL3ipX%FIJ^E;OCw=0mn z&e>YpfpyMQ-|Q4Fw%@c7IZA=`B-(OcN1Uym#1QV6zoNfrEw2-J{r~Uv*EFI(C-A!c zw%qr7*X`>(?~@pf^EuzUgvSNenOe(zIn|kR^`*{sKBfT&PK^*)*QPD^wKuA7(+SZ~ zotsCYIyV>Ef16W13)Qjs1=;(LS`=eFVxAz5#3=I=aU90uExco<6F<QsoUP8&I_?)& z-zjUSfgOiP1lB`%lKaLWdtC$_RMtT~6Hbgk6ei+TOhF=Y%11oGG}WK{PuBH}=iqfB z0<YJ|#YL_IIItUxI6Q$@k%)h(lX3;eLQwsWo8hiY$*KQ1p2vKE`B;rDW(QFM>jk;` z;@as6Jil6x`vUu$1MB#>`sJ?PNUt(%hcVqG6H~Ajs&A*xp_@?~P0<{x1Fw21Gw~kg zU?IN8KX4E_$gTrd->NIOha(=UTbqD|aO2aRt&X?ynNJv<e^)KdjW`UQU;m@)X)Y#b zajE%~=;~{(<#rmf*V#;`t#Poj*V#Npdq}8X;CcSs<>{|Q0aJ*08A_QeiPxZlae0fC zX^Zj$ZbS{#M?<*rv08IGFkfJP1-AcC=goJ}*h&YWF_l!WIH&yH?ES{7WfG5<kcerR zf!RpHd@R6Hq+lghV?ENa8C$Uv=}=u_U27w*MrQdie|^lGh|0H8olNCgH9__|j&IOb z{l8OCUW~h5%;m4S`u(mhVD@}H)g96K{nJn#lp@pEuR}Rhh3cXx?|u-5;xWV_16NGv zaZsLxuE{x{`f>SY@I9jvbe{16#N#upFo%doanhV7s@`&;nY<^c9@FiJf$DK8e`+2+ zL^9m<Z#vJNffLaAZYAE-K_oPeKnxzjqgaX*qZ&f4j?g#UPDcg~;a8k*9pdbHB&v@W zi~Y!{erRC6q^qar#+^{T&&sHZ^R4?im&dyCLZVKy{)QVbMB{{<MBq3ff%W@TH}bsd znsW4B7)4PLmC*nV(FhS}hbZ(wJWe2zYf6T~<&z|mQ=;n-y*$+Bg6fy4F0wmcAJ1*o z?@5HKUzW=44allvMvX1i2@5>$?XItI*D?Ov^?s=Nqk2U-<>$mx<M6C?4=>=l8`WP` z{j!JP>eQukJA0j2)iEmtmv^JQ6V>Tkiez}?E}TytPSt&T9PyY8<;ASR8hi(L9d9Jp z^Qs<d3{)r8<p;RDiNL%Jm#^9;+jSYLy*(JJzn#4<(tDh1a&?iik5i+uYE+-@YN$q? z=zM&0C@<p)Bw;zykyQts8fMKg1RAeId6NsE8m;2$o$0#OnrH@%H=?|x`=Q(<Q9eR4 zmSH*8BNf}t4x(hw3#>)m!Mdg~QFTbqCtqg<k5m5OK3wee6^%IO9C&?2TkgxL4)`B& zUU41Izrk!Iis~RXK~pqGOSC~WR2Nb8zm{P+RzS7DBzt|lrPRmU>gwcC!>utQjcQ7Y z@&rD@0+W5*rmBqB6p5^Ho2bE6530+x3#!R=p>_KkQvWdmx8Q8~PrJB(xA~T+dXcK< zRTH(*7^<uHGNu@fhoicL$`eUfJw0lA29D3unEN8l{ltH_4rmi{+nSmdMAZd7pX(`J z;&G}uE~<BW1ZS%U9Lcpgu5PLq`mf_Y#8>c-_n_+tGokSeYSdy`K?}qnYg~h7v|BK} zS1zwQ+;~c^9%yWTfBif+zLM%e)<7hh;%+>Q;g|^3{T%?+J&i+7^-7hGq57QPn&0Y; z$L8{mKF!~a`DZ<1)#W=^ezEE&2iDgPtf%~29ni(+9{=HWrptfxcq$s-?^A5Y4rrXe zQ@EV*RYIWg{_3DTqM&jAVlf8epz;4^;ZrP!#%K8-b%N9R-Qsu0Q{XZGGOovNf1TC3 zMAcbUeN|B&#`{qHz8|6buRlWhh(9CK{NA_{u3oO{o-{>Eqp{`W(l~3>N<6@J`ylmg z5rw}Y7GuFt;2%=YUpa76ER<aaR7G|4#otib%Nl};{Zfvn(Aab%N)PiGQHC4sy2~Qd zfPS7vc#VFJ$*3Pny-YMm3k=5yJc|j4Ebo`=TF$8;2t`rClp=<p46Z>rT#E{(B2jL@ z&8Tm}iEVK^?m{$T(A)GO-iLu0kBN95lgyjMw=fM0uoTHygLO#525iR9$b=6;*Re~8 zP?Sd%R7Jl^^dlq1d`4V})mVcsunrrs89T5Odys)AtMK0N8WQm)=3s$IA+Eq0v!3`R zHsLF5#SZK?-x9yaKKy{gIF3^|jY3sfUQib0QNdIsN)>Yhu{vs@HX5QaI-xWA;2!kH zKnzAK9>7pMg10aY?_&-&V~5#Els(vspKt)bn4`p#IBm|{z;P{dtIq%hQ3yp)6j$RK zgrW-WLU*|9-(0>{mor@Jfj+ngK^*TD#MP!OQ8Z4OG&0?Y(!)d(RX?LQ?#9=w_oWo; zaOq&i66G_)SMCXKElUHU^fWO<p$j0(`$U;zJ|xP=Sb(J5%=<k4b7-oQpmA(u6h`A| zqa5(D(77;)HoAW9e9nhy3=Z*F*J!*ycRtLme<Hb0lz*%9Vs4y_&D>Vam|f6$vHj4w zG1X0$5+;nOI?B_KgddUpe3<HqOGpr1R_FrNj~`<ah;AIwsod5%u-pZix27RcnxGZh z8RbECLT_l?E1d_EC(L4^EQ8K-tuuRw-$G+diq2o<h8tI=3AfKRu8ht<4S~)<x${sX zxxLsdBd)+ItcJ$Wkv-7(IVa$Q&MS%Pj!T4TLezO9)gE{C$92xAH&l0A=Z7T4sFt&2 zCEXNZoo!TSSsEh}In`V4%{0|le!^&+4@ovFiK25b8t-EdG`@$<x8y=N8lnkwo~51X zP1O06CycB6{Uz<}b-!;a#yMZqg6cTy+(>)OH6IceBXB&6(rnYNL~T=-DD{o%K94{= zM&T(ujc1YlyvIt~a$_*N_^64xsE-C{gvRKMF6fCE48c&0G^2@6;aQ_|C8F~oqVdL} zQIc~4m!l?he&Kf90asW2LvDYBkFf+R%^KoHxbq7dTSN+%=J$xEW;F3B%rv2#Q@9qD zP#HB%eWJ#vxPo&8rJ>qf($RD#x_ag@-0p4eAr8O;aCOdA>)f4xaO3Leyh9$;GIfXz z(9qmMl>6`ibUxw<yoq-(13EwPF5bspvyb=#el{6Iov*0Id4`*za~2w(V;FS4Lf3zO ziA~UT9KScdkH$06xL?D}YeZdNyQG|7GI1H!Ar%_0YZrco#_c){jn`E;)W2U>ns_BD zm`X&cit30#AN0jw3^8#;Nx)>JArp^R<8vVc2cbTGarMg2)=#g#dRM>A_0xxQpXhqk z*P(v-GboklckFFG3)I&xs_k(<)W1F)>R*@1n2Jmsgd3MMb~@V<xH?!Gm*p^y;W%>7 z@XJq>!sdEnMN~7(iRyDthjPr-$1W9T@|#6V+y?cpkHiONKJgPQ#uB*x_V2m97gc64 z|8Wy)qBhj;-qf@uO00RDC`o1>@k4x!1yJ97GL{+j$;(gp8Nc8#G=_<&E?6|w=YAi) zH~Wa9F;1lHNxyl-PvNfXzKne!(fCptA5t~M<SygJZ!O^CTn37nGDK-?B8d`sz5BP^ zCmP4~Bm&2;dWe2(jn9!&|8Xw*Vgvhgi*sN0ag;Qc()ZB#F%{@zRlR`rMt!dXq5fA< zJ$m)Ky79nU6zA9sBQYAe=qr_aXn|Ps0C6ZZ4)hcF0Q2z)7GjBU{jF|XEcLhMMkU;U z8=>)@A28}~eFF2b6l<^+>T{JE^o`yG^|4AFsIOK1tgf$B{jIyqw?vKqr2bT0pX08} ziR88fj)S;}`%<vpq!Hyyvzw@K1nON*Um$KlGqf;0iShv!V4+DSrr=Y2hI#aBY8;To zSb}7vU<WiV$ju>~KS3iCK~&%8yXJkOBtiY39~+HVFXha&#OqNB8ppl{{hoDE9}S@K zNY$^|*fb@|Cb)5LzUFqi$wgmfA>5352#5MLHD-a_hK}fhZWxD`FbS_9jQ&eE?sy|^ zM;JG*(Jb0Yn1>JW5j4)xP4qeDG_Fx|rl}88-1vxp=eE3Texa}Ou=Q8wqJOduG=7=- zD&-cVvCJf_7WbniG~R02Ub(y~xDhp=@!St1jK0M>>R*KV9o5fx3+{vZ8#Nx1xbcv( z_b+OEvz+=5r!4mO_x(0*b1JWm!13%J*l_mo>~8sz<r3a@-XFp-01ui`L<t;s=6vf+ z1&*8R#xK&?9r6=0puV&W9H1X918MvG<4HBMezB9k&=-%uafH2G{_*&luxjp#UU(F& z;<KDj-sM6*KC{tF#&W#CvEkpLx(X>+hIA+&)8${ra(wsz{;d4V7>*g0cbOQ>_7`WX zKj!j%REI1u-zKL#5tj$@e>wl7R(XyuOhaM>nxi$^n;2pop2R3zY(9wcA_gKJQ;@yh z#02)k67YND=^f!Q+HX67v*imUv!4=}2M~CE-pkAS1%c<g|K0Q3+W(Lzb2yJ3c%C<^ zsK4%BEK%om-Fdd(&bMs(?;QvJ&pK~Wa2Gid$Ue@YTW`Aa1UdDGH{q+-de5!rQn<Yt zTd@nQFtg+)3X4D%hC%d%G=VJa0xAVSr{}Y<tLF*3XIZpsB$pd@BRpZ(AWIpdunEqh zO{j#LYl%|9R3u7eQ<W&yOm(7!nVLjl6Pu+DQR<s;qBJrQL}_B05~aCmNtD)TgSMtU zQKHQ4M7h&+BuZz~l_=d!Pol(_-bCqR`Vys|=}(jaW)M+g&HY3fY91oWFg$|C%y6Q_ znJ0)NG0Hqed>Ui%3?|??ynq++5+-3XreG=(@uqp3DAO<<GtGNMnT<J^ix2RT`Ixu> z+P=zitiUR)#^?9~>;4~mcLHx?z4!lrAw%W{%`#?8c7`(BWX{xp5VpBNhSG2v*hnOy zq!NWDL#2(((<VZREg6zBl_o`oGPeJ(xBdR!_d5ID!a1G$*YEfDc%0|sz1HT0z1O<d zb$zbS_xmwUU9?43gwvIi)|0ZqHj(m$eM!pKww;un_6;e!?R!#wv^}K!V!x96anODv z596pEC*==|a84lU?L1O4Sr$^VT6R)$T5eJ<w2Mi(#4aP{3cHGwt1Uk%1+6eCMXVSp zCG1*KuCo|Y%2*|`GOD5)YS>L=9n`Z1q%^d~q(q+|=^W{P(|MAFIq`qCK4mz+?>S6> z)~URMrM8w_hYi?>&9;S<t@br3+ifQ)-`H+azPBGq*<-(uvJb!FAi{bXt(iH3qd0-m z+#iUu4y1IlE~MOL_mI-fx|7n=?kA<UJw(bQ_9!WjTOU&5P3w4Ms0|}!ggsBn3-%%@ zFWW1mjJ4ND8E>zX@}|8_$|RdY%DXm|lmwej$_F-!lsPt!lm)hklte7Shqj!Q6}F0$ zPwZ1tlI$~5KDUjeY_=_=Y_+dR*={>Y`NnpW^1b~?${zcLlzq0Jl!NvgDTnPSDaY*( zQX*UfNP0VuluVX|l&qGWl$@5Elnd=*QZBK}NV&qUBIRn!Pf9^6OiB?eMoJ00mXzx( ztS1}9b2-)Z%wcNtC!p(=r;)n9UDqp;-p(T>lVu?#t7Ru8r{yN)Lc5rhOYAaIuCS{} zx!UrRQqT&MQpAdpQo^n!<vNQYrHqv$<p!%jN+qj8N;QimrKZ&)rH<7jrGYghrLi?7 z<yO0$l;(B^DXr{IQrcP^DIKg6DP8O?Qtq*Cq;$8Qq}*@4NqNW~A>~nfoRmHmPfCA# zl9Z=xFeyW9C@I5i1S!wk3#7b)F?h|!lk&Q~Ny^(ciIge!E-6zjft2a?0V%U=4k`0& z0V#_tk(8yjjFgXTB`F`<YEsr%5-FeA=cH`3&7^Fxt)zTy+ez7J-;lD~z9;2J+e6AP zwvUwkc94|c>@X=u?KmlaSeAU;x4~t|i()8^3aE~HXoQy5nv^!yj+DF51Mzqt)A0dj zV*$eYlodSI`jpN165k_wUCQq~KaL^=Qj{P|qKv6d&;tWZb%M3fx{=a|vkqh@bhW!l zx!3L^d*Xh3kd!`%M}K>gl&5SkDMM^1DZ^|8DbL#rq`YV^lk$p<CFM06Ps;1|CMj>* zBvPi>yQECD1X8Bk2c*ohIi$?91*9ypL{gU8GEzRWm85)Zt4Ud7Nu+#cpOdoDHj}c& zwvzI-Z6{@?X&sRKZ2L)3okwa~EmG=OJyIH2LsA-BQ&MiV+ev9|caYM`?j)tH#gWp% zI+4=F?jq$L>qbhv^(W;?dy167HiVR+HjI=J_B<&s*o&mRY_E`_`j-^8BBT_v5~N&f z*O5}j%8_z|RUoC3RUxIC#gbCfYLQaM>XFjG8j{l3nv!y>-A+n#yMvTgb|)!qEsm59 z)`^rZb{8r4ST|C-+doKo%$^|oAl~|u@}xaQiq=`lv!*(uJZ~?O^0K``%2<1il=1dD zDR0`_q)f6Y<WwZ!1I)5Hq|CDgq%5*TQkL2>as^h|C**1**+x<}+ZIx`+96W3j_S|q zqAG$FMW~0Kt_~XNn4x~Dy5(Z1ZrKj1(-lAs4*k*hA=0YL{l@P(j2rpCseUyS!=Rdq zYAJJ}TFF8zwq;~~uCH~SUlzJfza7od0xhjIc_-q~9v#sIccB}4STFK^JZMjl5^w#< z0T_g#c-~$mUqkeDe)N5i$G9GT0%vlaAFl7i^?bO#KIZG{eq8?yLG->9?N4(Zk;J_a z-4{85v$-$w4|+`G2^&UAg!7Wr=ZAmCb+e~BKRJ{889n*@x*rcf=Nu0~=N-Fnrt4ny z*%$6}jPY^4H19(lw|hXxut5mNBpr)hfQ~`oxDkCHMDKCEr}bX`4Y%=rmeakjYb5jj z!+-34M|SQxBN6)%jt8f_pTRLfef~B0E9tn9h)|#Zn#U2|*OJ~iB%Q0z^F63*4M=Hd zjY;{xwLX8YF3-6%KfiD6TwOk;Hm{nz{HN;js>T16^?23c<v(42SKVDyb3a#iKUa4@ zS9j-nnRDPXt-GJ9-X8jeRBJz1Z%?VUSK(a0n#Gb*(`u1Y$Lf*Nz#5X$*qV}ZtKCjY zbGw6-R(2;TZ7q(J4%Ug3E_N3w_gFVlx?4|D?zi5gJY<iM@~AydN*{|SrN2E%%2PI& zlp!{hlwmf4l;`aQQeLz1q`Yo#lJd4qB4vubOUhJBAZ5CJK*}teL&`i`K*}OZBxR{B zBjqDoNy^8znv^w`M9OFOIVl@$GbvkaD=A;wc2aiQH>B*g?@9U5_K@<6?IUHs9VF#9 zJ50(^J5I_UmW7)3Us-1#%ztk<UdA{~g6i&bpnCgCq*Z4>%-7G=*U#10&(+t@)z?*H zKUZH*sj>gv>+7Mv_&-%gZ%<iFef*(*zKzGBZl0`?8TA8U3Dij$Ny%*IlakG7HP#kW z+8*kp3rM-hSV|L-OYL$}uC%<Q<g)^#6tZhbDQd+@DQTrhDQ(x2Qr60oqI&{T$*Pc2 z&0<NZX|+hHWA(`TxY-(!(!_2d<u+?ZN(*aAN^5IFN;_*$N=NHVN>{s^lzZ(yQhHb~ zQXa4eNqN{FCFODJL&jr(4J2i-4JGAy8%4@!jKOO*fs{AwEm9`gd!!`T2c*ohxuh(# z==(Cu_}WKUfmQezt8EP_N%k2jpW8-KHrp0bw&E*nvmK=DvTsTG&VC@}C;OR{z4#Re z><}qO>=-F0ESZ#a)S@JVWh5oDoli<O%Rx#myMUC7EDtG{+U2BNX?aP>XN5?)#)^_s z+)9#C%1V=Rz3CpARI%!0ENWU^QtI2yq%^W7<lo``S}*EeqI+!eu!Z|<BX}<FVhxfI z?x$_y@fY?bDPP$(Qg+xbQognCNcq8jBIRe>OCEsk*~wwky*r8FzFj-Cw~nNAwyvby zZTFILpY<T6mpwqrgZ3~f|FFkMdBXaVqI-z)j6F-raC?rFkv58ymuxgCW9(H@#@Pf? z-mtewnP`(qdB@%(<$aq*$_$%H%50lU%6wZ$%3@ne$};<il$G`|DXVP_xfbheJt-S( z6DeQVm!y1U+eq1AyGZ%gz9Z!a`-zmFZ7(Um+5u7y+3%zrv16p1uw+uwQ3I0<mXVaq zc0MWDEC(sM>;h6QvOJ_*YL}C8rR60hpA{gbkX=JcQ7cYLNh?K)?qy4Rs2?`E?{zS> zIPL8$r@9}Vj_Y^HU>QltZ0D1b&2o^E%Pt`0BFjU{rFJ<fS6W_D@>u~=3fVQJ6t&`{ zl(bT$l(y?hDQo3PxzQ?;QrW7KQr&8ha+B32rLNT{<z{O{N)x+<l-sNsDJ`reDXpyy zDebI1DIKjdDP8SuQtq|;Na<m{NO`~>B;{fI2Pu!)6QuODexwYrfuszwr%8Fno+V|t zJx9t&8%2)61bc&&w`?LQlkFW+-m~{fnPxLcnQ600nQQY&S!jz%Sz;fOvfNgXvdTUo z<x^Wr$~s$5$_Cp+$`|$}DPP$(Qg+xbQognCNcq8jBIRe>OUkcyfRsb_J1Ix(7%3+# znaoTLEH~6wk{?A8gBuZx+GvUvh(lNO#1l||>mZE4OBj!dNPzlXXJIzd+LwI=Ur$2V zmwgkDx8plR@5}x>&l?v=(Ua_pCoQQk-y6ixE7A__tuxsLciBCpbTjpuh<Z(=pA8^o zpbaABX?up0XKgqs&)G;)M%hcGjJ7ePylUe}nP6{_@|H~`WwO0P%6s-cDbs8QDKl+0 zDRXT;DGO~eDNF1_QkL5aQdZd~q<m^?Nm*y>N!ehVNcqCPB;_mHM#>J`Mamx2p7(OV zBJ6c@4T@SRQfkoiBR5%XQtDcLQf{_Jq%^TxNV(0Lk<!9ilG57RkkZcDlhV;TlhW1h zCgomJuafk$0i+DHL8Lrw&ye!04JYL}8%fG2dx@0Mrk*G%M2$<Xv7)3Dx00lkGWAeN zSu0P<jaHGA%2t(>>Q;l4o2)h|b*(-rH(Mi8n%FI*+-A*4X<;o%X>DytX=m+8>1drv z>1ubAa<AP-ih9Q6QG1+}zSfVF0XC47K{k|>=WHaYezTWsG$~{3RZ_;;1XA9xw@8_2 zlS!Frvq_n2^GR7~i%D5xACj`tJ|^W;TSv+!`+}4&O+9gE(ia!{;fkG?vi^TFc?>UQ zOc$AeH!uw|Fc<T&0HMDv^tC0@>#F^*<GQEpi(HUmgZkRqpR3cItks>X)BU~cbj#DF z)aX`{tMCa_qx(D5=l1dU(3*4A=+4#WQfhSP>T~DnbHl0gJZB?G8D%e#GTO$F@~Vv^ z<y?L4TzyV8x_`AkmwG+Pxq98XdfkK6Y#uh%>f|v~txo!yYIQQeRI8IgrdpjmW2)83 za8s>LM%pNH3?|qcq`YMlNttZ#kn*0rPs%i#LCQ><P0C!GPs&1DOv)1bkd)=Nf|OPE z2`Qi2T2j{8dQvvnCQ`nzFG=~zwvn>Kc9HU}eMia<_7f>T+g?(BwF9IavfoKLV#i21 zVaa4>>S4L@uh#3L>vHOilT+2_)H5e%TBlPlot&%JrPS=s)$7jH>r}HlSFcN{*|nr@ zB&|)gI%#L^N$F^vNjX=q`+uWeN2y*V{Kyc_iDi*Rn9nSkm|GyZ^Yi(J+w3t?p0NuH zvX>Gry)MNSq*Ov>#9A9tu8K(!L&|u&{twm&;|}XcN{-|d-E%Pi3-9H$2<I|rLXU}r zIV$Zg;NBR*{Dv@>Asc_+TquFC-+vDtce*}Bgg+}6l5ISHuI$5MJzhYK6xu)eQLv*_ zBso{klRb9zdHO)66c01QLjGZIFdO1c+{2%xKQGKZ3i}tg<-a6x#+Ldg=hnPWie}Zw zY|KFd{YZ`Z_clcfv_S{-#)Hu88VU1j25{{=2w`rG=G9EV8#vY6nq~Z&=Fr@V7PteN zKeHX*VmE%o9>ip3?F-&U0)E0FT$Y9Y0lbVbPv$co@4_F@EE$QOBXc{?!~7V{jFB)e zCd`Ftl$HMv!km{d*X0CX(>#|j$E8s=ejl3Ir=(QLo}v*c3+z);!W@+_KPAjd(M%Mn zi-yo_6q#o$$<;XBJd|p@E~=wHqUWK6`6rrr5<T~%BhNeGZrq1K&}<XUf)DfH$M87J zHPK9yJSb;jUP+i!66TF)mWVuv==mX<8?p#X@Cm})kXp?4kT54?3Xe4tB+LWZ&*K9~ zYwpMQ^s)SG2TA!IM-b+GEMt#_wK#--WzNUmYdM#PW@3xxY?OxPYK(>EYDkZ_Q#?*S zf#~@eukt+g{EWd9IX>brjv&m*h@Oj~*%)CiM#;$>UvQg+IT(pN7tOtp$ENV-L$fND z;#Bh}_PoRQ4q^U8evVJ2ai()4wzHvt#AjxoWeh?BrehvXH3y;~$J(^!K%C(Cn~c<R zA2jPBdfr2r>rnQBf1cNn$aDD^n$uAJLiU@-5769&FmIvJMa+Lj>Uj&Avk>MhXl`tn zub{aK66Pv|xd~xTg61K}ENJ$DW*bPDYf$y_l$i!$o<W#jQ0@x;{s{95G?PHW9D<s8 z`EyYVnkx|I2h_;N*AeCegt-8k1(4P}fUy66*!Mro5k1v@|Jockt^NJ)TgN<NJcj-l zh-WYb?;-3bt^N0JK<fSX)7p2x4)^!!p#ci<86+i)w^XDecuAi$m6R&^Q`9G=V1X1B zNqGUIF&R^E1^>}2QOwqo@&gXwFpgqr;S^J@;rN4DmPpDm{DDXj_Rm00yMUC7kq4Jq zUQ+T~L9!5vSP4?DLuph%CB#}yQtIJ0v_l*^T4%Bg?y|>7>4Uy_9xq|EjUmTkJSJeG zO(EYw0;XXh7GW8dW2LPj*J7QmCqKsz_!0YX2*2YfPFVV)>^*{vmW9lLTy`NT7uzMI z<h25%6tl8qIn=Vcq%^d~q}+yPXki`6P8fxkFu@W?S#0HsQ-4IplGI^vC9XnKYeq^q z&#cM|RbDESVl*k|annuKn&yl4LLc<SFnf-C1-p@qbo-f0gDb2wDP>RzO>ql!Gp_&& zV<cY0OBjtYcn$k-0Eh59P8{UVKvix6)<<JBMOXAdPdtD}G029H&tim)B45Otcngzk z8aW*cY$>@6>#!bM@ilhXE>ga?y`&tlqhyoc_<X@~e1gxg0h_QD-{J@RiQI#Ic7QyN z?Y}eo1N$sH3ll1#3TmS+lF{=hbLSC{r!gEKVGXuo8-Bn(90rGsG>=y~I3~$1)49Kd zpKq8mlE9xi1Nk}M?~CyDaNIb;`$w|!y43q+AU{7@ie*?~ACs$5lb`ENsDq~Hf=BSU z^&<yhAO>N$Jx9tE>&^H5LFhFgsekUZ`JUFr&Ct*14f}wcg+yCTioV~H%Pu4Hp@_wh z6``L;H9TxH$yu0#xtMRCl54RJU*SW37R#f4F5!5u<NF@$Gac*YgpcFlcpZ+fI%dj9 z(=k%Q@iFyrQO85kF;H|2l>ImW9ScRr!sz2+I1cLPnhoK&cDmzNIBumrUY+Xrl=}Gd zXU7{IbJ9BA+`!i>AoX!4Kd-k^D32TQIQl@xq4CgbaxK<lJ9Hd6Xotyayw+k(uiN7Y z$EBNj%|#!V!s{^lxT9mwF+?99!s{)G*Ier3#5TSbjt>WU{GU87{MF|xgL%!$Uvb`& zk=J5oTnN4X2Vw;Dn$+j=|JLVlSN^Q<dj3y;4oCR>O-2qrTXUhbbtC`m^Y}e}{afh0 zk?R!i54|s{pgQW~D6ee|cF^Z*ov7DmGOxMbeE#&s1|%c<Vg9?QhbCx+b{LG|n2Kbi z`FX|hPD3J2u#ism8%d&mvktMDQXI|9aR-`ZE5|I<Ei{K!!raxY)Z`@084dG3b=@tG znPyE&m^1k*kJFkjnf-0{M@N{;sF{os<}HT#iD7PHPikS(k88*N2y+7O;d)WRoIuUk zlQtKn&^$a{uYHs!U1TLR-%V<=KvZ+kqUW6L>cP*8Ym=(b3^39BFI|W5aUJP{@pu=y z)=1|2*)s!mH>mcdJttNF8iJuVjGO??k?2o7EcJeps*kA-`YeVc)I$?_EFaoOq$J@- z?1kn!XX59X3s+iRvH{}I1HG^TUt6f7{lIhi1vz*f<hBdR(rARYFwGLlA8`<R-TZ+( z)YGo8!lV?l7_u5-aR=I39C;6VVi?9lGoLe@&-EE9TU9a^_0bTG(G+)}Jvt#C{V@Oo zF%-iw0wXaAQ;>k^HjA8#g|?VX#0sp$Cs>U&ww3$}+pq(>aRM25zeq-8MK0vVMJR?6 zh(Q^YMS0wS3aE%`h($}>iMG~-?1B5y8xPq4QU>B#499aAiAk7(1Wd;a%*0$QL?Tw% zC**1**>-XVcH>tZvGm#a_aP&)BNuYxA{0Xj#GnkyqC6_1s>PC07xi#68sbj0K|8cZ z7d(ssHjo^GVHknuF$$yc3dY)N<T$*6H!%rQFcovL*p`q>@ex+yW2{D!?Iw>RU3UJx z$cXI7iQKpl#ZUqjQPpaYwQvVop^e3n?a>82@G#=hA44$=Bk(*XVG3qoCgx%x7Ga5f zNG`)y_!`@>1G}*ozv2MW=iu*+oXCv}Q3+M8IvI;PsD}n<h{kAw+tD0%pgp>vFZyEu z2I57$f@zq6`B-R)<VQ%tI&8+**p0o|kAq-bVk8D-P!`pp&zUA@jeh8lC+#V62!`Sf zyk!%~1Wd;aEVM*&8N%mQ5|6*YR%}Cr`uC-{0_AXnRUoAj>Y_fnp|1@jWiW<f5td^G zR$~peAd;KfGOo7@q*O)~R7VT6LL0P4Pdtcz7=S0Cdizie!&tnAQ_W$lcOgGdG(uA} z#~s#+Y=bxq#t=M<5lFyv%)}flLZU4tmt!S1Vl#4UemU~sGPFV*9!ESzBkb!I`qXq! zZ|o&}9fuL&{=fyuhwD)uHy{?bAP(Ko9X%0`8JJ~@$mLjpmG~T6u^m5PAC4g6^OfA> z<;agm5RWG@2$L|y639b{FcbZ16haXcM@husdXz;4#9A%#KJ-Ly#N!<#U=@<E1z+P5 z?rU6*D{wWMp@p?4r6W4wKHQIZJdF_;jq!L7=W)-YEUKXfYNH_<;~w-zU-ZWWyp4&N zif{3q{YdV?FLs<P$+=uPlt*RMM<ZxmaP(Z96+B;WJ4pEfd+-Ym;1G1r<*5B9=YKBC z$NL^(J)!1le1*M;UQej`>^h;#3f*TeiqdF@p6G?%7={rTi}6TAqyYDzF#^S@3CE%V z;_yI8KCdwfFG1_pG@C(d*Nz~qb!#!D=xu;zxc5XnUc`93jY*h_1kA!5EJ7ka!b+?` z5;kHpzDDFa-uH;dXpF%DL`ri$h<zv?!|NK=Q3Eex43d$N`_rXyJ%(WfzQtZ#U50NT zhQ7(y@ez_x@@>8!=#B@h52^cG<FOa}@jD_Dx$lW2tiyWSKx*IZ{YW>7&tzmoW@JTn z6h={$L<}k-77rsHA7Tx@z<&Gz-6XgMx<^(Aw^}>$aSXt8e1Mslhxu59#aMz*q3e|| z@HM`Hu37$ohW!>pX~du`${`jtQ42Stku@b-;!cEna_{qan$09<VJ;RT(R9yFzQj-X z1&5IC9j*m%K62s$T!Q>4f?~K1G0?pEp7;j4@g07E?)mM*5$Gc4jZM7n@DV=2F+`4V zY&y#SA73E#+}FIvsLdlEZa@W8K{bmdYv3l-LLF$X{dx>P!Fdr@V6E*VlaZSm>E(#Q zt+*Xsa2M`HPxQt^IF5A5yzZc0ibYt875Ery@fkK@3$|iAcH?{eg5x*={!5W;$blj# zhDxY{s;G`eXo@z7$5BMmQKv^{l*Nr0h7lNx@s>m$M?CjR$6`E^umi^s$v`a`rO*IP z@gU;yD#qbMti%RHSX=ih#$z(Ve2K8`E|QV^tB65I^uVKd978Y^&*KG*!fDs(@p}#+ zl8O6zT$jh98RF0t@ks0buZF&6L>9|RmdA~#fGSp<Y=#zi4HNM`wqrjI;t-DE%JZom zqavzXJUJT+uoj;|gJyH%BILoPxE$pXi+X5^I}nF)NW?ez3BN%bdzD8;G{YUZACKTU zjK)|@#{1Av+j<CdJi_|MqkOFp^@|u(L@YW(Jx7{PJPgAT$Gz`9h{t4vexw8*Ps36y zgEki{iWt<!Eoh0J=!d89G!pO$w&OR1LA&X5^D{tQG{UXufnK;D4_be6I%Z=I=3@aC zVF{A(J@(-UGF-s>2iMvSWL-4H{pgK{&>u6g*p`qh@hR3I3EQv(2ce<B7vLgXhcYOO z3aE<eh($b}!eARhK8xXa72_}&3HTb@u@n1n1nH?EWk5z`M=s>XMJR?6h(Q^YMR`<2 zRjW=)4b(zi)Wgkah^D5xRY%0*X*^@YNEv~dm~C^(dHC2?lb>RpsrI!2o3I%gpnM}@ zQ3JKDF4-DwtR2}N@pvE8FdcJkKDhvkYzZmLumVZ=0`b(`rXm5;FbDIo$d-^_Lc^TP zpfakUn$;j{p($D-4&4xsDR|eWlJ8><<{}ZRkc3^(#(G!aYRgX+KoN@}>p;V#uR{f^ zOp501>_;*(U7jv-zGWvbLLOX#%TOBEqdaaz1yn~()IuFJMN5pwL`=bYY{fS0z&AKK z)S7x_Hk3g{R6=#sK~rl%-hn&uG+we-$k&m8!_bC;=OYn2un$L|q1joG6{S(lV#(TQ zif-tM;h1dGNcq6DNns{r!THFB7}T+*WJ|=MGrHm~+=F2li5Kvqy-dn@Ovd)B`8nVa z4kJCiF1c|b%A*>p<0iC3f+do_A{nC#@$W6nF%~`18}Yd58s1-}`R_x6ze|_nJ%T!j z!_k}gdM%!7v%~i3B6(2)*CGZLp~2b}?&1A~wur;s=#E85#404=XB;wZSXdf2qBfeM zC0e6BI^tnGf#Ha~FJ0sx(EO)YpbZWipeY7nB*sDYZPm3k(EIm6<Y0~mL-{@+%d`Ca z-{<oihj0uh@CURJVZmv<=Bz1sE1Fp+vMYMx*mQpX0)B?*iN_I-!5D$j7;EE5(c<SL z(BSPEYxsMw<va%3sPGUpe7gvWqZ95yHw?g&7>dc5iXRdAjGq;1TOzq0+i?II;@uo^ zcm&!2@pd%FSiFXDc-`J2-^OITi>a84`L>Y!5X+Hq1Lt|jiX6BYm*6T~jf$v@YKTQG z)UgI+Q{0NTHqtMFPd4#chvYAKJ#69qj{DFX4`BcX;u&az#;b7+N+9%EX|u*_aU*m; zBNp}17)>x@C+84I#823VBS^NSZ}>X);Ruqx<@JhvIErN3{vEw3_#QvuXZ(VF_yZbt zz6>j{7TP3I`!?KcP05yMi+1R>hhquS{mkDR8jPL+8IcbKP!NT!C@IBJ2IX)gDq3Yy zYFb@V>f6nvG(r>Hf?ILBwIHRXwI-#FwIiiHI-rwvCGSBu+>hRP82`ZI=wtEZ(|87B zFadAiElkEcn2&w<6}n$p5-}Kw@tBHfSd1l5PtiIYf;QjOy-M|$sBb7YDkB#45c-AU zc-$G01OMGW6Z&OzKRog~uRT15FOa%#MnmeeAvfxxDOw^9gD?W`Ap!G|h$YZQptl|6 z_u)RAZJ&)c4}Bgl;0UOMN4CAqjk$^GBNb<-kHjMHob-|Wn6M^&BmvuhN*~#WHox%u z4)g0r$w-DsgNrh79+n~Uej#qw@xLBWAN$i#|N5!=)|c~ZD=c>=KC*E$+M%ayB)3BS z?BC!!e2*XTGcL%SBCWpm1N_<vyCe(O!MGBIa1Dy0I7*=<TH__C|NUd^fcoFlpHF?; zs*q9x^$^_;--72I&=LJ?0V#`Y3AqfRPks}RWhZvw4@;MoKNnT323ZqzQ4cpmef76k zPqG&tw0>lNEU+cya;(5ggg*S8Jl=()P(OaUY$-xtel?y~M-9}1di13kTA%|uqQ5O7 zCDGKwFPkiqotF&Gv(VpPjpwnbgL-HH_4_wNb96vQ^s}%IU@^}VvD7{ySK?!6eZU56 z#7^u21&K&HgmnYecq}zg3t=5W3m!`cbVNT3>kHQMTt36+*l62Gxjtu#a%5PCp!EmS z>;rNEv<_hnPPY!BS1#_OBOcM~5T51vOBjs>2<s9`<>pijWe~kSp(@X-;SRJ!Tg0Ik zdZWJ$B%gxTF377E)-7CkY0A2VGNjfn+=|<9KOVpbn2Fg~h>tAw`Ub7{$$?xpkbDZ0 zEkE`Df+&h&C}Uw=#HG~qFT<7AoRmAz7Gd2)2Odjjbi)Hky^dlHUyEGHAq-kaQ57{2 zy^bQD=l$?H-ohljhp?{VdmjIQpKULxbr#oB$1jVp-Xe*|pW$<C$4;cR?&2_C*Sd?u zyu3e=J%5TMav#DvioT_|Z-MPdM)Z1$S7JCOzs=7Ez3~KI!#M22uSh>BMOZJ9jpuR= ziXeLZ#B!d8^%KcFmLiimj-oDZL0C@_&*T0G>ndjPcrF%TArkFdQi@NZ-iqr{2IX-B zZnB1?JZ=f3OveY9jX78Zt<_j!d&r;hn|=EZe;&TKpGgVpHp2R{uzuq;YMSFz+f2u~ zKDMV%@esAcN0BZo=Ud2#OvsL0IMsTM!Z}jbYuruVhj(&vzKr8YYrRIg-254+farA_ z5AeJ<`l26ZU>3r9j-@;nZJM7RMNtx^P!11RJlPMkun1c7A*-+&YpwK!T%)5L)Gt)c zYLK$cc9B{iqK*2~A*>Ur#$$;!tr?LPmU{ij9KJ5|k%*<XoRk$<h3IuA>RsA_ov3gz z*R{}ElUfMtP1^EU5^M%J2lH$pDT|Saus-GeJk(1t9W${23lY|>Y~}G+C`;|65~`Zk zvc%#YdykX^XnjlGOH<?{r68_BQE1&u>C5<jBdmXkp~fMVQ4L`o%;!Abge~|IVO>nR zE4a==SyVt}R6|%Na|@4~qa|8n2wsGGzO;TO<|^vcsDP>n>uH|n@kC5P0;XdIW?~ku zr}l6IDp?h>Dyl>4Z|d3z@;QvMurB8SwTgq#0EcwA0hJJo==D0W<@g%Hx}B@rb8UlC zNNfF0lO9~RK<js&$2S(%@w~c#Yg?pVx6^qYbqSnq-A>KVc)dYG0d7ELbi;%8Bq?Js z4ioS`BHKBBAPX+Tl_-EhD2yT~f#G(lbwPW$_S}oK)(2@_Q0R}3q|3>yft>$!9vjX} zb#5u)JW=O-qH{UXxtZu3OTzh7IDZP~NjmqDd8Tt0smS?6C0xvTLG=2^&v-83b6cOi z64oz<b&KKiE__}^e?Dn_U-<k9pD*FKACB|YIW~)qrP0Sz9Y;mSPYLVc!tqe+-$chY z3CFK+{Lyhnbi5E97bJQ;o7S{NuV>SHI;>|4@7L3<V>{LQwXj}|kNlJCylRkj&>mfo zo6oSzp*b)`pnWFmfK!H(-Xlf5l@h(K{DS-`YsR&9{1|_Lq+a*kng5pPKKZXWh!fEL zZ`se|1NZ~Un9iRy19Pn>e}<@!pbz3P4CxD|$V|%BwqzsM!}!vUk&<Uqit?m1u^yy6 zZIem)(EhjnoamoVs|eS;rk~TJ;56l=Fh^%L&t;w^k{huZzu_>Jq~|;v>Q~;5Z?MO7 z$u7D+*V^-k5c+RZ&wW2tA8wfQ-jD10uueU#zFhU@#$hnd^!h)#KX*U>zfcdzpNX~9 z=#KSJPj09OggU@+zLsq2$JP3F_2H@qHxXLj9{RRJJs^^W*E?dN>;5=|{@Ou2ej4ht zRXrfo0d!s81wEj3?*lLpXVX8cT7a(qqx)vnGaKpvTX`J%W>pVR-|VkAZqfCDf2WT& z)D_fE`)759mi+pii0-phjY0K=f2FTh^@vc1P;agJYV{eDWa_I`Jwko8d!fGCP?yNS z=g!&o)vAu6x<zz9tv<&>{o+m@hrU|XG1OPv1HDXjjRE+p`fF7iS&HbsT78~|zS>YH zQGe}Ts8;f4eYL8esGs&!b(6IEY*k0;0`=L(V*m!?O!{n9cTr#Msp>4z{kE#N>_&9I zt?DnS`)yTsse{m8tKM4m)vEr|4ywO&K@U8NzUYUu>8}mvBdXa%*K5>ot9ngzzwH5@ zb4qmbyd{=Y-KHs8q94w*&sM#)srza}y(g{yTJ_k5I#7Nd7e{%!k(7$2eJP^*ZB-u% zb)mHCLF%uqkET#9XFN{T7kiXnJC6U8{js6WbT_@Ry`VnX;Yi&ln~px&ZuH0YKwtF3 zD^TC;kN5?le^%$2>Yr7;Di*3&#UZ+HHq@`;`TBZnGWE)8Pmb+Szif2fDs`W%dSg@f z#j1`K`e7^cxDL*w|20BQO0}*02=%N`w~Fp>4eN@uAIL&1MyO}0zqKh^BJ2mEI+p5E z5o${}A{L=v^$8xwBX!^EV!jq#w^DDa`ck!@-et&({LtKsdT4~EXn~g2nv^!yj(h^~ z2>a`uYG1w7`{{kj|7Sb)Ai7Ug`{-rQPhAn!5sTZc7b$&h1UVK-*oqzYEx8Zr3#7<Q zN>*HiJa!qG7lo||DaEV=SrJuG9ko#(jV+EGjL5Z|ui+=C?^P$`r|WxF@2jqZUc`9( zJAJR)`TwhKs5NMrQ2^SHC9FrQz~d^Y0rk6TpO$f$fVBEv$6wED5c`mfNI9N2A{(dl zzpC%`1R`(ovwEBJJ%m13)ha`svM-NSpS*M;?_CtcU_67<^}(vwHCz{}&-DSQ&sFuy zB&g3-b<E#!%ubN1W5z(&ka19-Ydmx<8Twea^EmXcsy-PD^{6&QOT^(JJc`hFs<nCB zu^0QHYtpmnKW+66=VG`U>O=hzVZWKbqW`qmG3v%R)Be+G{9g5+Rz1PL8_|8J>OVb( z)OFOd^q7`IBQ!zk{?q8|(@M#_XH3_rt)OemGwDm^JNqy7pT?%6o{CWCji=5V-Cr8& zz7cA^`4HV-syc8y)L%Ltp}%x3kJsT}=`-z_@&ArK)3_|$=SDo#Z<@N#R6||!AV1V+ z8v08Y@pv)RTbjClo>re}>Uz5ROdm%)#zOt3E3gW?5&BJIv!(Q##*ykbjfeV8Pt{+l zp|jdgDRqBosMl-Vtolsjsn@HoG}P}CcpTkVs(Suax%h8c4A~StF%St@hUk7$)uXyV zJ)^2c%|oc;r|u7pP?uL7Uwxs~Q466zRJDEehDtn^A=LBL6S@UkEkZ3T^n-@FzUujB z(*HS$->3dh)x$#Hr|SOyO5dmM6Qu6*RE;h4d4~H0q2Dw0{epOY@9FwKPjw$by`bs? zRqtoGe-NRD*8ok?61r#59`RTX^=zi@+thsl^=l?#Gju;7a!E@4Up<-8eVOXVRPW`f z`Yv@}K(#{kSyn_WLce7t>W1pC`~hduUm4w3srv@HXOLDuWw?K!Udmkv{gl!73)DZU z`vR|8=#x}`<aVUh9~tf+s5er5ku7mQ)E61<Bd9-8_YKnOhdkAN1l>b8U4LY_zo0(J z)P0e^`Tj!aht&NA^+W3ZLQ`l@u+R?~$^XxNkkS2*`%3foj!Ef%)V+vih(qfB$3N?L z?0HYx{f_(i`a!7Q@dm`=CWL;+jyz7?=h*E&jxz}Tj(xlH|L>8~@2Gnp>UY%rkI?V9 zgU9N5)V+{!ALRdZ|6{lhvoG{LuH`cqF{p#Hz8~}X-?x7;aU;ihY{6C>#c^D`iM~jb z!wqPRrs$5I7>ps9geh2xW%#dtNFJZ{eW-2!+#h+S_oYG~Ww<{T`YCmvDs?}ldMedV zsXgt~PpLji^-qSrN%c#fX`f`$_vs=Vp*~6VNQVB%bA6ERgZ!)e{CwZA2B-L~&>oM1 zOPZ6yeT#WKmqcvD+1{_vJ|U;OU-1;bXE4s>zQyV8SERlVkv|jn6QKJKVPBANA42yc z!oDEC@OUqdBK7?U-IF-g{vaRoYhizo==&79Kk;Y#gy_D7_6IrDeT(t@+A5rPKJ^Dw zHSGl=VLuSv$B4&3oXvfVh5UXw)qWrQ__gT!78$d0ijTA1?<4j7hp@lLK>l0L;%xTw z(4HRA_ZfEZT=y5`Z0{?C{W_xWAGFW*-}eo4&)~1TZxHSeoasIrY1RGPXXj^aXIk&q zz8Vr;*VjH8+CO7I&dc#X>-o|9XQ-AR>iOCyL-qXj2zC53-5*2s_!xx!FI1P;{ugIc zk5AzDpKjla=>0BKkB?1NXAk>WL~>Irf%c^k)zzD!71}`iQ%GlYL3i{-*sntSQ^<Jy zo$K&_McqAm-wM^;|7^dC=z6<q?$P^C{Mo(}O;1x#R~=pZNT`l}J3_rY<CQ7<LDVKy zCm(?E(0&i^V;;VR>g0u>{T!O075=PFp4NU2zw!V1-`LOLuc)8*%Aa<fJbi)x{d#!x zeh_C`7mqLX*VM(M>*3n>;Z*hTG5lJnhactfar{+v@qBM{tU;)cYo7?!#iRF!_*d%V zr`ji?;3STFP`$iAW<dKvq^^@|e~7G;Q}%~Yy}S<MpnCa}n2xYdo$BS^U^n*SC_??b z*p!s|c}=nwwBJJ<Lj7Dd^gcM-eI7!+{YU=4s<$7+zf*7DNxePt?!Ujk!+)aAp1O{% z{w~$eL*2Z~|5DvNb-g@7-8*%iJbE97@%;Lq)yYq{55xbT>f@@BpKAYwKdXal|Ak04 z`rr@??Yj_%Gp&PbpM?g{{tBt<-l^-|kzD_?-mU!<RPWY43aRVe8K`Y*--OirBn;qd z?<3T^!#)VAZ-*LpsB>!{giz-mz~kvy0@b@!<33fLyCn7Mv)Sh$)Va0K!N0nnL8xP^ ze%&5tQm@vY1=0Hws6MT_bUD<8>eH$B9ngLP(e>%DpMdJoVc&q#m!#C9RgYF3TKfX1 z7A;}je{{XMr0dO^Cw?aNX07Mf`hBTk(d+h;_?l|Wq0X#YbLw^bTC*>zH%nNjf2z83 z^m_d3s3WV^ETPVvR$V!Uns8WWpVs>Nr(H8v-8ihH*ZO%m520>cmd9sXC$3SBKO1S) ziM38X^}6^_A5Nkctab2V{d=efpQ;Y5_3qL2U#)kSkw{(tRSo$6blvywyw3bTQKvoA z_2{aZhPr9=I`pvaJbJyk)|{Vd{WSIZ@^f|5l)5QbJAcW#=uBJ>guWVGN2s5s5~BNJ zlE?A<$UpBB7S^Sl>izg%`$+snf6w~eZ>kxgmiqtV8ty#j^F2out3jq-!`+Urg*Dud z@VGDf*(h=nrXT^S_eNH4x14UR_f~#S=<(jh<FNKS)J&s$ywhj>_t$`r;=eHoQ;>kv zdmXDMTTZt|Jh~TK>%{Y*7*4gP@tLk6kFKG%<G&Zylt=eqs}K8Z*Oup@J{i3S@tLkQ z54F?3dd+zr>Yi0l&1#V6)|{VPbN+W<bDo1*pd?`*&aF8=x90rZn)7pO&d;qmr?$Yg z`?)petTm^1=X7h%!z{McYtOU$^F{Y`Yay(en#n!A*_dZDr~LQc&U1M@9}Cbv^5?xL z+xYe0pf$3T!6WG?ZwRI5lW4Kl_P&wKrgmhZM0yfsPqhQ9w0ROGMYY|k#q}h$cgm%v zGM3N=c@kwKm7TPO!AS*3DP-4>Qq+o*QqoG1QrfO3rL2`F<wjIMC96V8HH#&srqv=v z+cHW$)W^-%h?FLF3n{l*Gg4YuOHx`}8&cX?dr~@DXHvS_-K5-W_mQG<l=QL(NO{m6 zCgo9koRmI@#{e5h%3vExK8xpV6e*)I2Cvx!Qr@t)NSS0)$anCbC6Mxg%_3zk=3yZg z<0D%|3N4N&tsy1JJ|pFG+epf0+d|4#e1&bcgOpwNEh*pG52XBLKa;W-`*6Sxk#fXn zCDZnCtdU5OOiDV|mrDlANJ?fqpOkEtgOpr$0Vx+*9#Sr~%SpM?@{*Fz3XoFBt|6tU z6(^;nl_I6IT~A6`R74f4PR639)g`6A-Aqa&YeJ61D6oBABoRxn9a@uLoBE3MvIj`f zdi>}$`6GBP?_v#-unrrr318Tkq<m%DNZDb#Ncq;jBjpGCiIkshFL?l3?=Oe#7<n8q ztp9I^_STV<&eoNbyX{_5?z0}G^s)y?dC(pv<sbGKDNk5mQu^65q&#cGNqNpjk}}F( zB4xCVA>~yYN6G|ygOs;yA}N#Y9a7%2_eq&%Gf0_fvq_n2^GR7~i%D5(%SidiR+93u zttMp+)?%HlCuM_eBIOJFl9aD(8!0<%7b)M`cclDaKaujY?Iq<`J3z`I`<;{{c8ru0 zmP|@I_J5EJmXVaqc0MWDEC(sM>;h6QvOJ_*YL}C8rR60hpA{gbkX=JcQ7cYLNh?K4 zX^SJZ_eD}}`W&FO)X505eYCcAFtol_!fcmxSM%>i2FplFW;>shY?gzRTy_B|7g-)s zF15=^xzh5IlFtf|Qpm0$rKlArrKFW2rL<j7N?9vU%8gc$l*(3>l<HQ4l$)$JDRr$r zDK}dqQkvK;q}*oBNNHg$Noj3uNNH#7N$F^vN$F~LlX9=!M@kRtMal#AASn;qKS+7Z zo*<>K^&@3~4J2idJx$6p_ADvG?Kx6L+9>i>jI#-(ykT#VGSMcJ@{YYn%KJ8rlo>XY zl-V|yl=-%hl*P7$ln-q=DJyIhDWBM<q^z}dq^!3Mq-?S;NcqyfB4wNHAZ3?*OUifl z11Ue*&!p_NUr9M&he-L|j*xQ9PLPs}%=uX346T*d8u_A#!HtN8*35^s@^L)wik=8- z;|KA01YW{;Ohf|0n)%s0USvzjFw<!TkCPB)J8k0ec6^8EHS@poyjT7deMuRCvB+8= zMNTpoF0#_3l(UMYR6$kLL47o~o@8G<X-S3oek0~u-h*gwoyjh^%kCkioAn~)0rbX0 zcmn-w04W1)5GhaFGo(Cg!%2D0Mv^khULs|*jUnY#8%N3ndxMm>Y$7R>?Hy9yv-e4v zW-~~cX|qY0Yx7B2Xp2c%Vjq&S+*XjX%040GQ(H^QI$KZ52HQl+7xpD7U)eTNcGxab zdl~F8^>4}nJ5>*74SE{oCaX<KU8_&Z&DMyNCUy%cw^=h%T3Aa`T3Z`Z+F5&2I$CE^ zy4u~O+-vud($5BvGSCK*^0Yle%Ck0{l;><DDWmKqQbyYtQazuA*!w`Pv7)3Dx00lk zveM-BC~M_OxzQ?;QrW7KQr&8ha+B32rLNT{<z{O{N)x+<l-sNsDJ`reDXpyyDebI1 zDIKjdDP8SuQtq|;Na=w`@TfgbN?+?o$^aWk${-s`$}oG5l#v*PmuxgCW9(H@#@Pf? z-mtewnP`(qdEaJ|GTY{oGT#=Gve=f8@}aFH<zxGllyw$8Gj0Q4+hkvm@}+5(+(G<i zhsmRed58XYMDInhnCGcynuXreV&}2{9>OfGmol>7CEma^%)ngC#{$G>PBDN?YX(-B z0o5}{${PH{%h-1oaotmToUWiyQWlL7W>s|Maes`#ESzd4#ae#tM`YNLGK1nqQZpv* z#ZwrEd03BMkeNbEK~zR_^uQ2kCPnmG&K*3DUdwsqrhi_`*^KAWYdMGWJbEqXDxPaS zr>MYlKC&UL85RX8>S$I(Nq!_!1=Y~j9w()by-Uh8+eFImrn<vtP~AcH;a42QZ^)F1 zIrq3Ee~L0>ImB8mQf{^OWG6g|J{W>w(EY`&*kRw2yYUnDB0c8~qJ4No=OsE9$zzw1 zc~RJkk;QQ>N<rr;*P|>dK<6nsKe^dPkP|T(Q;~pan1$I`fG_cteM5eWgGesO_n;8h zX2_2Mc-+R2GcnteNZE>=7=I1N2Ta9mEWi?cgcbN0pI|N4W2b#X%6Hg<!$?NPBK%Ac zYc)xULr2_)9!M<8??<FKS%UX9FP2)Ui-stEEJgc2I3L4ZmMxioC$7TPsAAPfxzpN` zveSMb_aMw>`#bme{nOg%UpOA%+$@!pSt_?@;`1AK*j7?@S(wqG85*D9Q>?{$J3vYj z`vdL8AG{`#@driZWc-nwo=i_>ATyBXk>`;a$&6$sG837Z%uHq>vykVL=aX5<tYkJa z8=0NVPUawUkU7bmWG*rnnVZc0Uv=4z8F+snAtRr&SZqtkrC5gLNNaXU3%&;}(GEQ= z%rM!(^KTHoKbl{XdWK2$%<SWZ1ZZZ-rATXL$+di4dy~rN*apoi`2qWofxa^Jx>ZIs zG(=-GK{K>K=yOwl+W@F<E%n}{tNB{kn>6&PrOV2HA8G9!+K{jR*-R4c8M+9|p;;th z575;-j-EwwoagE>%YbS~y@zK*zSbP4nn99!kImKm-mtf3BzwyIk!oZu)ImKoKtrT8 zb3}V&F2XW=gq8RhtC4!fh~~<R_PWgAUa!=9Txy1VS~Etpr{$^ksMIWY?M<0_wn!uH znM(9*k-0pd56u|))U-$B0HmH7Qj*%_4Tzq(UXAC?5j`WM1J665EAB(|%n;288E&tT z+GFy<OZj|88I;AX(4LE7k44QU*DUh1W`2ad5;ZeiGd{EjqUL^U4@AxT?hWm6n26N~ zdmWy~TFvsf3EJZ@%<-Pg<9DH19h%|&D+*J4)jW>%dHD>-EY~Bpm*RK??Lqe#!mNxi zBO}blC^U)dE@)4=e)s^Ip}gFpXJeF@%;zd@MLaY&`2%Q1a`fyA?IjmI>q2|VJ%%Ts zITw=FtP9P%&|G8fEqBOvy_2#>T$pKbx>*&`GbyysRoK%?dsvBPou-FoP}D}4JrU32 z{z!mknufiqbdx;HoG8QN+NcBVMb#fOpn0X*i%Rn)uD$TT=SqY<s5D<9dbY&(Jl9Qk z?JcD_5~=r!(oE2>M^pzMYbL1XM<gPx*%4vSr%(Cy@)z@G;U?6EW<xB2<~@Wxoiu+l z%y@{ogueq~O|u<lLVGrqz_nbHXdb5KG^E~psS00<HO;q_bqISeX_lq-U6L@nq5Ku> z0fjKTK{Fe|tOm`k)cnb?$CBnyrruNO&t@^y$jiUm!c2xCJlAZ==)IFPUs5v}!k$T* z$&kUykzwy7&1cXIhU=ichU6B6J%==NA?z`vISVIeEo?u#*#~vG#*vs`nM;SJxEnq3 zG@9@kF6}Ph+!tXcQD?3tq|@~&#&hl=`*0Xc0zWA|nGf+u#y&P7NY0h>zxunw=b}EJ zM4v?x`jo@xO(LHKveZ_P;q&7Y9*575&=(v&7xXzG+Migoe{J-v1Rdw3vT0tC=-3x# zCTMO#n3<5Bf3sW{!?h4n&q#QUf4gSfBwoP#1!2}fnAs9$9fbE+n9Y*b`${ue)>@dc z5@xD|87i8CAbNj@W*|rnUON(AAKK%o3&PBe&_6VrpOOsXXDnf_;4OS+i2kiPaEyPe zXzxe~pEs9r-6q%B7=F)KaQHlF9w`ajv;VXE_>b~ui|+HuwS1P`gGX!(xfs3pyGUOf zL5@XF{(RNNLp}WQYg6jkWBKe+y|3rQ6rmoYI?NHM{?ZQG4^&Q9Hwk+)wT-0I0{-l} zUibYk;qNA?ujkwIwN7{feef*)itG2w`5xrO*<8O@=l9o!uH#2xG{#~aCg63viMOC@ z`*3~#9*+|+4bj*4pYl8j>#*K7kYC~}3)lVOdjEq$X<y&#+CKI5{j6(JuJ04cv%S7Q zlk58KML7Q`%6}WXu@?i1M<Op{Grq)eoPe(DCCu;$*Y~Nf=l{;v>HmqfcqeDbZc2A< zhAK6W`H16n-vc^7UW-$G-tt=_rBMm7Xbl}};_NZ94<=wDCL4#Yll8}`q$FS(X4!mF z7TYFLez)BDIS)q+s-XsMLo>9+2>xR2_<Kiq&ppWd;RPg@<oR_RcabiJ>ojCRe#BU{ z6WjwqZQdhwa6bPRK87RtZ6GN*`9dxfLvchhQG>%*mMb&AjuBb7e}J8~kaK1E)F>fF zgumWN`o2i`_g|KuUJX=4CDi2aF4_6}=0aZNLk<3}wU9nJMP^bupd;e>|BS{M9Dsgk z8=zUY$<WVH^h;9Rp3ca<Eac_il@Fg=gnwIl9I+eu_en*oN>)QBzJZ<5AU8EvbYMS! z>59A1oxS>{{H0u%;d5+22KLjJ^Q{)2?X@w9>%Mo;_)5<6&<d^57VYo^`l2$|cva8` zeNi}niYjDP)J1(9;dA#GuHzpqRqQtMcBJQfE6H!B$oV$kcO0<aNqJ}zJs((uwJ1F~ z#Y%D&+Hiu=4*T#ce&UBL7xFWcJh%k6T63}m(($vCoR*K2_SQTr*FI>Li@jCx6rM(1 zUSIXF2uo1o0?zfZ93SCR`<mQ_3S47VL}gULWc!@+xed6PYodl&%C*pkScOff!MR*b zRN>mE8ftMaCv~hQ*C;n(4921c*C;jdJJ%DMNw3-SwV;{rJrHKRYqom@)UxjP@#}cG zdx|g{eef3c!o=MX&c9GPU5e1Bc~^Q~XL!}7lcHWnX?|XcJ4oq}H^qyjylIn2DRp&< z(67>q*O1iX&7<=XoySSR&zawb=4gQ-cm|8G82fPmMK-WcG+LoGhG96C;zRs~-%(;C z_jb@0?eIKC;)-o48gd=g2zQy@%fesfBworV-`6@$S4MT~!}mbK`E+={f5>}YvS&(h zB`Ikg2eNVu$Zm&yJc!A{dm1_>=s3{U!ttP0PTsf3k}E|H@<N2;MEg|7ho3k`{G94I zv617%7E8}@A|tY#;qjsk$B5L&i|YTz@uCLbU}<QL$tDQL5q;k1IP!;&BRM!`gyYDc z9Y0p2I(}^9*deDojx_ag<n~m@k?b5dBpgq!;PI76eO&3p*JNA<?tdc5T4dq%jC|*( z2*;m&9D@#_Qa1Mfz-Wv`TF0eEXL(#Y)$yp&#k_CO8agg5$G>`9n!vH?bswK@;`r3d zQXi*!7G_oe(mGyMy!U?|uU<-Zyc)!@Y6w#A0g&@3uLoRU7m*hupA{gb5DKFxii20x z+3i&j`RCc~HTW;ILLxR|GrmTIzoMkK^GL~LyaXb`kNl+Uq~tVy#3~(Xi}{oI5o!CH z$R$RJEFyf%PvYAh5k3-5%1=r`<69n)B36u)5_T;q*I5iHWvm=2H&{hdDqB@js#^_G zZnD~>)U^hrG_=N~G__kvx!szRa)-4d<xXo$N}P2drIU3b<u1F2ly26Yl%94!DZT9> zQXauS@R&V8N<Z|+llBxj2v6e~48wC6i5Ku9UdC9wig6f^*X>PG-o`{sws%RHiuW-M zGceO;lXI}ZmXWf;J|^W;TT9A1TTcofnJ4LzPQI`&N%`8gld{vkA!WCHPs)$Bhm>FJ zS5gkzZ{%Sdwd17xVZ2@SmW`yh^GL~LSxCuh*-6Q1xk<UuE+*v?yNr}8>?%^Ow)~_N zw8Eqmv0|i@uxm-V&SFR@W0lCtsETT+VK<R=P|q5W($E@{(vx!!x!*LSQu><qc|O%% z&%^n(=P&_p;2o?r^{#x5&9;S<t@br3+ifQ)-`H+azPBGq*<-(uqJ9|p-Hwn)aRQ|| zpNz8(I=4h8>q5$1b`L4ttUD<^?S4{v+e4&0VvmyYxb-0=-n0j{47FjTjIifPdBI*J z<z;(?l(F_2DdX*RQr@(;Ntt9*NO{+$l9FK4N%_ELkut~Tk+Q%Rk&=id_|TS<vcgu8 z@`-&)N|Jp>%ICI`l+Ct<l&$tPDcfx)Dc{&`QogqzN!eq+kh0JAlXB30BjvCiCFQvN zK}v*kb4hRKk&?->kdoE1lakYNlX9V5Ov)v887WuTRis>P`AI2gg-I!5#Yib(*OGFb zT~9X0srEt+Gyk6EoLoj=9u`6~=^|W*NqRevluVX|l&qGWl$@5Elnd=*QZBK}NV&qU zBIRn!Pf9^6OiB?eMoJ00mXzx(hLkc^j+7g$0x6ZO3MthrmXw-Si<CN6kCX=1kd(&O zl$2ZTc2b(#9i+6fJ4tD4ainyxPNa0PyGXgmx{=b|dXjR#^(N&ZdxVrn?Qv52SUf5H z?MYIevcaSbv7w|4vk{~`Z!eJYnvEyrb$gSPw`~$BQ|w(*rdk3i)9nLNX4xE4=Gg*L z7Fi-GOKlk`AK6M$KDO1Qtg$3gKC{nB*=U<d*<xEs`P#OVveUjHWw(7#%8#~(lwWKg zDf{gpDZklaQjXejQvR?k`M4g!Wyp(SD2)oJjxcMoC6A@GwIM|_Cgm>lz#PoSN_>LN z_!8ekvm_7W7}6I=k(rci$bsCr5P9r!GA{~S5mJg-39=MoP!`ot9knfv?12Fm>g+1k zlt!F&AUmO}-A&59b|2Xj_uGS{^g%rO+moa`WrIl>Vnaz8W+O;>-d-T(MSGc)S8OaP zui1D~Ubi<%dD|wDGR58{WvV5RGTlBPWtPn$Wu7e{WsxP4vecH5@{z41<zrh-${I@| z<um)7l#RBTlr6TEl&@_&DLd^aQhv7mq{LDOlA2bFlsZ<Alm^z2l*ZPSlw0j~QkvTx zq_na-Noi|wq;#-Oq;#>nNV&(lkrHqHNqN$qB4w}*A!VoyBV~j=Ps$7SA}KH1E2L-! zs1&v$q!hCfq+Dy)ky6IWk#d7oAf=L3A*Gtdl2X%Zky6L%k<!2#lG50kl5(rvPD*pT zgOpZwCn;?$j+748iIgsO7b*8xH&VLWKS+7Zo*?@m-ujdBq&-E-GxjVgBkXxnUbL4< zdBw((@|uk&<#l_Ll(%gXDN`^N3HSiBYz`^&Yyl~YERmF@wv1eXRrU$F8cDX1l+Ct< zl&$|Cd-nohQ@#Ive2q))QOGE=U1A6`Zn-n$8ZrtYj@f4Rn91DCB~&tQp@>eporq2e zr4T~MC`747DJm7|LMbZB^?2T&y}ygyJ}A{W&-48MoL=X%fBQCj@3r>YYyH;mVh)p1 z`4sB}RM}Mn?pWl%HRgCuamJuV3~lH%X13<&TZ`ya>g%EN>E+Q7-H?dUm|>nEXW^e_ z4*3k`V*y^kGUQ<&3Q)mO5QR__B~S)epaPnpDVn1dqR|c=%nf7=k})2$u@c+x9SVQI zIYG2QFQj7<=0WG*KZoWjt3c(7<|yk8%}q89nv?7eqrpZh<6P&DgXh#PN!`8kFMjvo zgk8#*B$ql=nLAC<2CAnVXuRYdpeo$YoqK9IWqH};l5V}`&s;u&b<{g-#8&LW7uavU zC&l6TJqxOf(D)p8VkCm=C4SG`Q)4++n}B<vu>#!Vp1xd`SWLtN_&x2;L+7e0bqU8P z@E{4PaObL0`~1(a7vJCnPMK1L*mj{C79$sjam<_~#o@e79Yo_+#NsxjV*)1OeyC0Q zZm2zaToJZYNQ35@QakhUxRAM~G^T23yL8Pv<+i^I9#3@-*MEiJxu=51Q&qe5g7_nI zQMKT4a<+Ew-MHRu_uiMw{qZ-GKxSh!)c$=uE@bYi)!csrg4@f#MLBpbt38yz!T|)2 z)2jCK7dp3<#%&F4Z{LmUdO__QgU4%)qnv;=1drGHSI&K<_LQOR`QPF?cTOy~o#j_t zcK~YNUmTaB6fQ>uYN07wAhg|oH?Hf2-sppV7+_+_I3yqqIT(xan2h@|4S&ZxJc}h* zhLu>2(0&7Naozj)0H5Gf?7|*=g#-8jKS7O7isMq0!sQ6<PvFk6rM9C35r+h%!JTVs zG?&%C;P=kC^#=EqbM;5~irWsr?U%qN+G&Pp+=v+T#b}JdICBqqFDBzD%rSGxHOR$! zY&4t5w~>br5jsa#IOmGX!-JY=WEzvw)U+ZyqBD}A{t)AE4<5l|SdERwDaC!ExxLh% z;av4o!Q;Gix}0q(x*-O=(Z}>72Ot&`aWAG|8W!P2EW--Cf?V?|xdEH-0d}Ai=fp2Z zS%jk>24EoEcCdfN++AvKTnP=Kxx3VVBNoX>MLOL6964Nm55aSIeL{H`_96K9y*$6~ z!E<{(OL-9v!=Y`@)$qXW2hyC&9gu=_WFZI7VG%YX4{G<TxxUn2M00(qzep_Z!YE9_ zG&}}(4zNXBUIX<far=>IF0dH%#Smmd{Yid;<^pSsXmp0=1UuhcV0qmBF1A7Qe`&lQ zjRO)6)n|Cn9&SBG43}@g`RX%9a(fQk@jw2GIlqc~0_~++lhNpDhLSSMxb2qnDDT8> z^Cfu@q4g$3E1$og?%C=~n(~+yaO+7rbNNQ2`jUxoYO}uv9ZPF$iF1uB5mkpe6Qr3@ z<inVaXD|;hU=d!z3cP|`Y{VwKjXZpS9rzTxpngKZbA+i~{ki4{dyL!ufthgU3j3?( z2)p(fmKoBZeoG^vIl_KGxw(9YQ3VsB<2sE8pyMHp2@pIUfR2HFg!(nrHtt+t>gS}s zO?mhbyAV1jSe^OQb3uIzVxhUfa*zwn1@<9!!JYd{{hgwreoisyi&(gGf4$1(kKxYc zrT$Ht%j;+SnYp~ad5-;je20TL3TFYoN84Esun}+KI6~)S2p#93;&JvbPz%?g30k0) zi6-0NdbC3aEXI2naDrobv^>fC$5i|suj3$&!aWZ1a4Zyw255+G=#HT#layg*1Sxl# zk)({m36wg;rWWpTZfh<}8}x(vO1y$s@jBkXJ9rn{@ey`HjYEo|1gawf&CmiZ(Hh+l zg8|6FF+_*aeg-E^PCkx-F&lZ<WgOZYh0Y;%2iN6bCT8P&bBN96*nNJ`@w+<?g;S8@ zdPE@(zja*yTjN&b@*F=w4P&k=#QQ@p#9}aVaJKO*)Oe;K3Y(&2BQ!=6v@os7UWmo* z$iWlXg&%PUhoQl1%ff@E$iZ^Fg0)a1o%|?>OHdr8Q5NM;9*xih&CuG!l6N5oGmwkd zu^C@MgXR9wImT*GPZEWuh=%G-)CVyIp>vM8{Srgx9#bF13ME;lCW?$fI>uuW)?*ib zh8iVxKmxKc3NOR$zv#|Ac983i!nut44P1xTaOWY5;c_P2ImmLjthvWFV++*3@mzC| zx&0i~$1w-@V4}H~oPw#CiCJ*xAp3^P2XPc`f5;1+ldO4Z-UB+K6S_csyxcj;+<sn~ zt4#eU6OfE_WFZHWaG$xKlxbK7&0F?c{Vp|^*=~FeH44*QW-;iCzrl+f1kYubNBKit zU-nGD%v>&OZnICIhGpuL+0Mj}eUSsrZI+A8$ip7EbDgQ*=Cz1IQv}a_){Oc))#L5M z@0t57w7;juN{>Nb1kZuy_V;w>KvREDHG*q}jz;sIJ%)45d3NwB)&r=~TwxT2+YdCF z%Q5H+cMi1BexYZZ6YaW+eD_TYvL#wWeM4i=7iXI*EwsO==1iN7`Ow^HZog4?&NR2b zXxmCWFZ$s^=TM7o$aWF2ICedsLp#3L9Y`<B5utOa#oorY1@2sGxm?~1cTTl~Ts{O1 zM139Hxz%F0+!t{ehLM<x=oG#eNXH1Mo_Cb$dDB>*p}wzfzt_;Y)-=D9+t2Y_b37ef z$nOdc<2X*@U(g`aRThUi^-T<U6MC6=axhNM5w$wZxee*K3ptpGX?P4Xp?<grx3E4z zjp^zj3LT(+m`QN^VcyB*F&K~g@GPE3+jsfy;eTzvv5#19&>YFgHseTn9JBBw79w=+ zH#I`M1cecft56wLQ4Q5m3vPeTsazHf_FWrMXo+ZaM(~_*FMQ7S4@aRn<Bmde#vQ}& zohvSHZ<zA|RG;4kG3bknbH)Yw%N;z<=L(L5FRVTGk$g_YV}TP6H<ZrL?{I!+VO35v z*!hn(JYzq2aR)dA@^jC3yi8eg@kh>csO{x%o#!}L`^zVJtlC|w->}+0j{Y6zIYQ50 zcrKyt3_5R-hM{oJU%b!dFYy(=#{nEe=y?pC%eWko(D{rx&^Zlx1K;2fg3oX0yhd4E zX{wPDVRXKu56*SIV>Y*KMu8&KHKL`7A*Bzz(D{!XjK_tX|5(HQMdv&u_<YB1%I>^z zC%7yHi~h0m8=>bdGI*XWjK_tXuUNzVCHVZrZpu0@As2c+qGd5YQv{!P@KScqH|Si$ zUwOX4J+Dx(`1#KxwB&X<+xY@7*Xuli{ND2fYq+m`0{48tZZ7LQz>g?U;@{5$G~>FK zM&|(B^8mfMtn&a~xb^?Px87g%_)(~DRG;4g7gCSEi2J{2RHuKodi~IP{AlXkgX`xf zQl1Re!`DJ<qx$$>=!XID8XuW}RHP#tqjA6af4%<xuc)uTtX!bJz8)Ek9*9M7eSHq) zB?zvk-$^;RK7Jnc@T!wPTfKY?b?oP>hgbdk6;S<qPq_8$1+Sv+3hkl#^|6?Z7qAd7 z<4dT1y((0%-W~mLzWVij+`b>*<0l-(&rn^vTi>qnH=L{g->i2Z>S0@kQO2!b&sX`^ z?GKAmE{(D#oUDjyraCDRrWSdj_2}Q%W?O>`sZY<T^Vig;2iK!(j@)zAqX*ZYALD)} z@K@ENS9*qR4cz+lR4%I?UE{FK#sU11`t-1QG$TPl6hcuHM-{mB>tndQ1V19QUj1KO zS9Cr@7(n&w9S{rEuaCovQ2n~7e*Fu4g#$PSx4u2%*+6}JTe2OxAQo<Y`yE`q8w;`6 z1kby*hU;>T>gGf1=fB}P)z2TopQ)e!{5ig_3;uY0yz1mD;Xhd~|3~ZH-THR7o;`s& z^qJ5YRR4|o_RxBEhx+r-`t@wC%faudUw7NZU949R^VhAHDth+%^z+r9f5Bt^O#OM) z64W(8_2!}V<)QWDn#3-&p1eKRsh)f^LhH%%Q}^8%Ly-a1mCINxgj-LZ|1#<(pn7q) zZoDIxRX?5qw|;yqmtVv>sGeMP<L9a$zn1##)`-T1)Q^A4{V%jWyd`ze;?{qw-rI}c zQ_ros?yW|3+M@dGhUf^@YY&85pS_UF>k(Y9t@`X2tRDMgtH+L{e%h_aR{iy}P#w0o z_13}l)Yn=)wZ=pLJ@wR))Hk;_ZAb~OpU$JKx@ot5dJmV~j@repr0x;TjOwYSKPKT^ z_0_@k)O9PcY>it#eYX1ODC&<pn6uS8PvSP!HH+$*e?&g&lBEFL`sN0IpnkbcL;g0- zR=-@)%jc2ExiadDqwzPm^~!F2vg(l|RZooTajyE~(0b#TG(Jx}h|qfDJzV#HyT15; zTm5cmJ*`{+>ejn9rmj`>uEF)K&s%-#w^rZ!t<|@FM}6x-^Ly)ERo|*{{Z;2G7wcOC z^{szZJ?oxkWgS&FOgnUiLlvg;3+1BZJj#cumaW;mtV1=76H~mLL-nR}BW0>roOH?= z<V`KgI#hK~Us29KPC-q|H07pmXgOyVIh8Vp*-m&>?$7hBvhq9zyBf>&Ut2l1Sve<x z+dH)k-2Y&=a!xkoEGs|iE$7@$`I**b{jZ}_b~#7Q=1NAF)uFRf`1W$nWn^8-di~QV z7bZJWE<)x}R{d};Wxc+fk>#9+$$wDR`;Qt^&i}aQDeL{@P-bm&#!#ktp)-+k1evc* zS%;>G&Ze>DXxqW*2g+s1PWO~^ZX`EQ*56$*v7A$r9N0GSc{%r%^N%xhKV|*BgLBIH z=Wm^Fx6fN#&Oe6SLCSi)!>O#ege-b}S%1!>toQXKWxbvwl(oDzQ!Yc6VxU*O-eZ*Y z`ogVTpRzuG4`p57&+fm7vX*0M%2Xvf;mgW7<$1z~DC_m_daIl>htK;iyS?z9a{l+Z zh}3$pl)RrmxVK$k{it>@@b{;82>iX;l&NxdHc;04iKqM&&-X25J^n5RE4q*T(eA&E zfzEWl9vuUZuTV7H|9Yo%Dyyn6X94A7<UGn%$h$5N_rLBu%KH4bQLabsqpbCyf0=Oq z-~Sh7Ezjwc^>;7t9Qgc~Qr3D?ow7dH>1D&6d&ot0`+6E{YCU<AvL3&mvhM#2Wqtlz zt_<9M`3-^f?+|6Z-)@w3|JqlD`#;|_%DR3!Wi77>l(ifdP}cJLnX+E*Qp$bEw<&9R zWL+KZf1h7;2`t}nmBO7Yu5ZvaaQ|vm!~KsNL0O;M0?O0)d>2yI^Ve<?c)!beyq>Q@ zlfe5d)-ABSx^laR7gU|H9^bV`xU+!AYn>4N)Af3+zW;hpl`snWUO#Utu#(E9d>N&f zC*V@DBqC53u}H%y+F*&s9X^gI_Ay#xHs@fULgv;m=MLyEo^2dreTZpLzmiG#z5Pbq zej;6XtpgD{Pl5W01kY2T{vzMuG8UdhLH$MCc?!Pe@=tL4iD=$}@;KYP1?oT27wSKv zej>A=c_Q5YBKi2BHE)5mFm1?A=w^D5w_p(BFxsppMe`WQI;h{sTgL4#@;PPo6AA7Y zl8+T%eLJKL+M**mp$odf?cb5k<)KiY4!2*&7%r=yhOEN|ypBy!Uk&*j>ZfrGOi$sT z-#~L5sK1414C&Tr1NFa9pNrsr7lSCPzr`5ijx(K0S=1*&-2M>$m6a8?fKk5((Yy!I z=zvbR0m1zr22oajhtWp;7i2AR;f`ayk;|L#27>!Dd`?;Y81&@{Lvyr%JHB-rF021S zH={laG6?FoFxmw7KTscpcd-p0n9oQFoe!ZSUr_Zw2%Zl?^B}nW2;BYx=jtb*egStQ z2X6m>30w}HH^J>EP=}3j6zZcfnxYw6q80iecpin|c@xHP+j!gq&7mObYaniW{>%B% zQak+mXo#C|Gu(Ff{Cqk5WI4;R1{=+0@;#^xz67_wSN}S99PIgA7PYspf*OcGebbaw z`+Lp95DvAim)@oi>9(_1Tl+!AM<yc^Zu@(+!B=~Gx1D`{>iZi)<CeFD#w`zSZ$Fyy zKQRaMp!plVGJDB=_|6<4)jq#AKTZvxxgFF_Ke+w<F3O){FTOK}NI8O|$mLwYDHLZL zEqOSI1GPC92eluUT~Pb)T2Y*DhTFbdZLl-ow!?Pkk2uJ6YLD&CBXP+*nu@}mPvROb zSBKl~dOepnK<%u5K=6DLYG>UMJ>ZVxp2OuaSYloxS7J5RAlH0JO3i2aJwiRyM<b{` zcJTZYT`AvX7Ljtc`6t$L{W`Os{0?fPEnhwtu$L6IxfXX`iqQ7WPw-nf3vRn$w;k|r z&0i7PUiC}r)YL9DcwP&&Cw1G8s=eqbbSTMjHpW2hM8l}l63ug=_Mz#<o$o^JL`P!@ zUcyQQw;NSEQFq>pYq?wpYB#DjqN4Vpqwx}6L9TJzi)t<miKGsz9vZ@JCmK2*#%J8N z2Wk(hcA#NUyUrGH$L){ivV@M`AKISN9nXIi_szw*#`S-j+w$<PaocY;DZ~B?+M*pg z7`5XRcOHNxTwZ~fjXN*ETFSY26|cdaC*Vcu!ZiQJYOKLpsJ*8<4@U#)!kVF_X-%sA zr{?33=glH=In>TmDw!(eHK+l#|BR&WtTCEG?LOW437S*))e36MDcj(--~5=%yG$5$ zUq#UXP2kSg;kM`0ydAyK7w-HW4|DlZsGVmN^<i%N&6ZqlZQOR7&r)857qJA(@Dk29 zzejuO#oT#4-1$5n;yQW6XkL#)aHt~-!*x*mOwHw?_L*v%DQa&i9ieuYn&+b?>L3zs z`^hNky3~Hso&RHM8e`Q$Z61T$J-Y1<|8#r9k1nv?-LBu)&dzOLr*?JML2c+{KMp9V z(>Z|esn0n8w|!hY>S%7j@t@evz{7t0C>=dmdoCTc_~#~JTdebVMV$bh_mT>x2`N2I zIw_OQJW|%1U8I~a;m`BCjfN(Mlw>oJl&4KDDLc&(Qp&s#5JgH?lSs-qGn<svW(O&U zOsRz&qocOzL`uBLA!UYHLCQ9Bkd)$!0wPFhXJSdY%REZTQj<r@ep7fcbtb50qDkp* zhLbYgEFxu#*-J`+7Xv(`v@m^0$uiSOSztDi@`Z7hu>4WMG$Ey@Nhf8pnMcZcvx}4y zCVZ*tKv@1JhLmJ8k(8%RE-5?B5mL&~&`_dGS5gwqI8tVt)uik&he#>)Qb27|I+=J< za?A`;R+w$195lt3v-}ZZ+L01#?jq$;vy_xPv!9g0D*~#K5^egEGTcljWs%uJ%3f1o zCCeWk(}I*fCX1A5W&tUi%on7%16EXcnRNh7OixnM&16#Mnf0XXGABq0Ulq`hlo*pt z%0%-tDY<4RDMw71)hvHRnXaTHnsKDeHmgb5VGfZ}YE3|GQaYJ<QgX};QdXF4q#QKG zUt#$p!n7kL*4#zPqh={7d1gN;h1UjDBPH7OCuO*qPRb&)g_OOfKrYK49@B!9J|>Hl zX=VW_o6HxaIO_r`kkZ8TBqiNUCS{&kPs%QHf|T%A0~(SNW0FakXr3k|*X$(ah$-_L z%O6puD=CR)94WKSYEpKXL!^{iA5fc=P9~m|95aKI6=oYL2Tkz}EPq6pcBI6byGVJ| zEF~q+>?fu0#(-+1M4SGk3^&tBS!A}5vey)No#hXYX+cUKlSRrjvw)OM<_l7sO#u~1 zX<~Ykl5QrGGS93hWtTZYO8Dl0hNQ%pWKt%Yr%A~*J4rcW%DlnyN0jMGN}?G@%51Zm zlpW>}DW%>Fs7*>I6HiKxnL)}5vyGI4ruY_?KO#&!Qew?rq&#Ytl9FfklT!GtfNG>f zoBpH>H`7U3WVVp9*A#f0<qwZ(K}sK!Mand@fRs(<3sRhS0xFQw#PlR3-ApEBo>@=I zE^~sE@VtPAq{NtHQYM<GNy#-kNjYN5Y-RZ)%5)_q(TpQywpmTe4s(c<Qtt-TCZ&^! zCnd+sAZ3NwM#@1`{5_UGB1}6{V$EHoJZhGbl4tglQg~ZHHBzEYe^Q2<>7*<&TS(b! z3cSzqhsU%arH{!XWtv$)$|my#DgKjlAF%9A6H<DbbW$dpd8Dj2yGS`<!nd>h(a^+@ zl58fD61ISPJyb+vG{w#6g)|JseVBr|n2*=60iR(vj^iZCJ<mA+G(aPCM-L1^3MOC@ zp28fg#X5Y9Pw)$lqVx;YeIgR|&;{Kv7)cn5@tB1tu?lOj9UtN+97f57oV&oasDqB^ zj5zo(3ZwBjW@0&3;yt{N1NZ^O7E!H@8mNiu(H;Zg#hn<5NAMVyU>V-QR(y-^P-rpd zlu#Adpf%dyRt&%}jKG6<2n(?oZ{jU{jeW@fB5g`h36;?tEpZF_A`{t|iU;r<p2zFh zj6L`grx3P;<&TPJjHb95y^w~XxDQh>7xVENHsCYt#&MiPxuq<BG(aPCM-L1^3MOC@ zp28fg#X5Y9Pw)$lqVzJBKO#{NUC<4Kk%X}rk6CyUtFQ*!@gaV~VU&D{<&SGo2OZHF zaqwXjM&ohJ#B!{}dw3rQ@B@l1XZfQBYT|md$3S>-Cr08CJccD$hIg<P-{LzI;+UZb zs^S{7MjPCU0T_l6cn}X^Ar|9JyoIl^5BWJ>D2Pg^jOJ*GThJGo$i`GWfamZ$UdLwa z!IwCNFpd?jLPa!2Q{0SRNW)Ovhbfqg`FIT*@ELaFI8LG*#|-7s0FBTcJun0*n1D%m z3Uja)>+mr?!7n(9(i|_8MI`E>3%X%2k}wwIF$+&(71m%oKEzKrjFKEPT!w2=2OZHF zaqwXjM&ohJ#B!{}dw3rQ@B@l*yifu)P!rdqJqE&yJ24WE;4v)0GQ5MW_!i%x5XTHf zP!-ppHQL}-48Smqz=L=Q3$Yk);w^lQeaN57@<%09Msu{pE$E9(WMe8Gz;k#WuVXXz z;7goB7{>}%p&}ZiDQ-qDq+uxT!xYTLe7uGY_zb&o94AqZV}|l*fJW$!9vFfYOu!^O zg*jM@b@&*c;1?W4X^t1lA`<n`1>G<hNf?Xqn1v^?3Tv<(AL1t*MoEqtF2l8`gO2Eo zIQTFMqwzRqVmVggJ-m+t_yNT@UMPVYsEO;*9s}XUofwHn@EDe08Q#HGe2ec;h+~E# zsETXQ8f|bZ24EOQ;6Xfug;<O?@fN<uKIG?kp&%-uGMb|$Zb4sUA{$fj0G`A1cpaOu z2Vde8!Z=pA3Kh{9O>r}NAq_)uAEsa~=HoSNz-QQv<2Z?O95a+h12jT+^uQ3LU;-xL zDa^rIti#9n1i#=YN^`tW7LlljF6f5ANWxf*$1FUFRak@V_z*wgFiLXFa2c*e9dtxz z#KDJA7>&m<6U(s@@8NwMzz-<4h2@VLsEO;*9s}XUofwHn@EDe08Q#HGe2ec;=q;8% zs^S{7MjPCU0T_l6cn}X^Ar|9JyoIl^5Bc9_`J)mlqd8jQ7W73XvN078;5j^x*RdIU z@Fh+m>>ZXrDxxu(;%4+h8iwLNOu<~t$7|St&#)WEaT4Y7SpH~$M(B<n7=jc`z$83{ zIarHz_!yty7aT?Dtt@{;q8_@S8wMi@V=*4H@FZ4Y4YuP${Di|O`7X;J*P;$OqBG*) z!zhf#<Cux%Sc&)WJ`Ugq6nl^5j~b|n>(L$q;l-U8iAV4lmS7p)!B%{W?@(wP%O6#7 z4O*iOZp8o$!w5Wxhp-Tf@h0BF*Vu>r@3Z_-36;?tEpZF_A`{t|iU;r<p2zFhj6L`g zrx5l5%O4fd7)^0AdLa!%aUZ5&F6QGkY`|yOjpI0pa@$${Xn;oOjvg3-6imP*XuK`w z65azoF(nJJybwBHs`|D{=)9?~a<23>xb5#l+q1jv)5l#IXqWD`BX`?}=P$zNh~}mh z8I8{9iW|`#V=xwLk&D-{32$Nx@)r%z_^{C!YhEF9vDv&yZb80c+#k`VBiRXE&=qUV zI`UO)#3sCfEeI>l<Ix7~Fa~4sidjd>YgiABB`W#&4D+KkqR|1Ja09wx3^Yz?9=2i! zKE;pt2@Ng{SVD@%)ohJXrd}z&t7wiE=#5)2&b(BParW>EHsEz^Le=uLe?U#R<385o zasxC$`77yqfL`VnQc{qC0#^mJBHLh$d6JZ8Fc)8&Z^-@l-c+l=-$g?-!fx{mDOKlD zKLCx5Cpj36rFacD%?}t$%2F)D%UFe1uojWeQip;DXb6pcC*PXy$pbiS_B=<u0KUT4 z*avs~I*noHpInbN2>HwyQWoJwEXNAe<~t(o(E(%35^@>V8jV*awP{mO7xmEqyYM;k zao#^aTAMax=r~ecxo!|NZq!P=j5o{{@+~wf!+CZ@qYc`d#pH`vX;zV|@rqeT$|BkT zEXE3~!Yd|<bNuzu94*kwEFk3tEX38E>zC@LHs|{5qKT=;`TXE<oT4d9TeFpX4?FQ0 zG<K6TWjiCcpbs7~k({HKR%Sjai_KC}?&W;E#!-3@)A6u5%(;1upOl|-@X`>C&<d?l z%gZuD56-V^yrFrQv0cZT+u1H7mdkUoh|3!hm%{SFVBCfh9)8>K<B+mWK31#Mw*}he zR*DO>+g(q&G}lKY2ijrx9}@1LL$C+sFs`pKEZqONo|N_Y+LU#DA1gPcJe4a3P|nZw z3&sY@gDA7PcdAVb_qT5jZ5N!*?ZvqLX>Na<yo<7)_pXNmfA4N9Po`Xe>&H>{KR;#N zuMPUai#x#A%5NDdFPmJFpDzErmp_w7u$?#ZDNZ4De3U!*BcbEK|Jm_T`WK`vorxti z9{j!LCsI88PTqi2q~SuxNzrfX#c@*D=O{{h3zS4Dltu(<Aqw@;0F7`RnxHBAqCfs- zGRTYLq|i#8eT%b=x89QL<$u~ZDgMqY?DIt9Y~z+(9B+heW;wQ3;haN34#r^u&Nse@ zJAOz(_RB7g7sBsxCC;1SXPm%LPrxWrreOy1RSqabN>P+XSyP^@h-&6+<Av1Wwn#KZ z3$#XibjFP)mYfL9Q??IIZT3&`E&gwg9}-!Y*A9&%BF)i4m+Nso>fwIO##%VDIfwQ% z$2m9&XAb8RpJ5w@-!l$K;kg`(<9y?2|2N0|&`wPRqR|%a_#V5s{71*-NaFY+9p@d7 z<2Z-#D2;N6fjhqSxyH3Vev;??7r&dh9U6~1bX<&!<6&@YP>?phScz3wja>ZyGS0L^ z`}>RIVO$&!<G(T<2FL9e$G@PShB|`(72{v5KL2>e7ssbytma)|RAf>wgp1=-(BI~J z=AbYGN%3M3;>}?4HY6hhSr~>9xC?ii9C8xw!{c}oPhk$`<2kItx#l~p!Y-$%vg&_Y zKW?2*ar<!Ve2UJWoUPxs&Zh+T+YX)QPkpz~*Kb?rT-0Y<bl#;cE~MYK&e5pPw&*;~ z2B_b*&eiBV&AIw*>%2{Hzisu`4nBX=jj}sm-XJc=VT?J~e0IV8whK^SqQ2VF3Oc{@ zd-`kZ{Ezx-i_Qb-yw7j-({|4bIh@<kd7<F`+M)Bzsn7P=`fKZa(Hlm6wS)U<>->@W zX}jl->T%9U8bb5M{n`H7?)j(S`P|OeU;ElpfqvOKFBRM`dl2P#3`PouA`4?M1yjvG z$eFm1{@EAW58FNe<@UQ)e`}rha{F1It3S2QfvG=rI|TQm*10g919SUNtDm&acZK$k zK3l(No%{N~*)Lk>-E_Xq?H3(<-tD*gN2_nN`bFz}occwp4|H(<=j)#39KPvF>O9<? z7>PyZxB5Hlyq$Z#?q@FRe4TrK?*HX}&N^?XbB5>Z=j@(GJXil_^=o#|CkFR#*11KU zS5)6-w_mf)DXL$y&MTg)KeOA9S?3pn`!R=}UsPXacYYf8JmcB=GoPy;v(828JmlH> zG3&gf`Ys3eTXy>+s~@t?HwO1V*7-)azp>lDSpA4~KGE$z9DE+p?MEDZK2iONbw1JU zPprPg?)k*v{=_=3c((q;Za-r6AJ#cWxBsyE4!iw^b*}M3`U$(|A>IDMIv=UN!s;jN z&f}tf!olYw)n8cWBY&&E@cH@)yXP-2_80zjf8l}bDoUg$pfwqdo+fl&ICnm`=N-2D z2pym3QXW?lwNMwah(`j_;Eqpp^c3fhajx-+!syd1q4POt4BkIF4sUlJ>yH2Ycog;9 zn2q4^o)1!odkT5=8OsMw1NKeej;DLRd2=*(j%RUT{+!VHa+>i}vfNBy|6B%g?o|$% z8XkU^P@1|+>1D3uvy$38UYeV`c@CMx<E8i|oNq_6Il_5aX~%O)49_P$O>v%6t}=Cb zUJ2*E<x$Pt#QmiZ_mfKvyPpobgU)yp!ToE3kJV`khu5KYSh3Lj;X{nuF6$uWqsZko zZboSPtb`)0H~0z%kWiE|zQO?{@B-5C6%HVQ7n6psZ~zJHBc|ai96-#a?4KbIAHu_V zHqGxFU5fJ&n1;u&i*ro-P>S<P3{B>rC$>B7h1~gIbJ%YRp7+(A*L4y5Kr0c={*C5w zjX_^{p5gDno#)b-Pg_0Y;X@q6QN%pU{o&3Z>CUG(yFg&R!QlDqI+qB{GndBiZD{*7 zcYZl{Ub#GeBR_;YzneQBnmg}V48J#;&n$EvGk4yyUHtB7o-%j7F?W72cOEcz{;t_< z%QY{T=H2RxC~siCEO&k^cU~-a-Ya*0D|ddVx3@E{0o-|p4t^e(SLh&PA!uHqAHEFC zE9A}(<j#vzgH=sDCg%$F(V#0XL17fdK;vIQqgWpw473v&_i(s#Gwm@#+o_D?c2*;& z0)rWak#0McYLwe^#eH^r*Cm1R>8jJNh1J;^N14^lS;+0m{ghc<o%b>W<Nvi-8ty;U z8``dA8}~25{g!gOat~!a-wDck9k1H${g;LNuRl(iuZ=UAGMfP><AFf=Y05WJ4sG{R zVtU~HlvxpYKh-Gf?^K}df88PNT<UV0gl-4i@4s8$pwGT0ZZ!i)xzmg!<vFv8lxBSQ zTH<k*)eLC6QwdGc4DHbYBXKvT;C>XYO1oLqL@nIP3y4J`vatah@f8kWEHCa+?7+u3 zfs@diD}f5A2oGwat?5PfM`6~L%TNYap&}}w)k)50q8!`Ca5O?YbVMig#othv?PU=( zH!VrI)eInIAYw5Hak%~GFlRWla4**9Q2$Vb`UeEJlf77<bFn_>x5nSQSf6ude7yfw zeNG9s(|I_E|MWO_7wdD*%)4BY^W%TjxOErnb1v5BXwKf?`FexLeY;qn6Eg4WuK&*X zZ=vJ9J<qPJxb-n^f2VVe8(oWSa$UqC9tlXph1Sn_o%6SU|BTyz#u2bP>x8i@EBOu0 zjvOguijY#waER+jNy8zmhQf5HX7!`m)Dfyi{ixz}<SN6e>j;OUew9h7YOW!rhN(%) zwWba!k)|Fg4NN0a8lwrCnHHq9GSQ^8HSI|0U^<bV(ZzHlrMu}t%FU)1DYuxuq}*x- zkTTGCNr^K)QU;qOQihlmQqs&&QZh|8DZ|Viq}*lhCUY>>j3;HHnM_W>-_1j$Jch^d zgn5#br_3Bu=9y>7=kUCt3QpB<&QkLdDJ$_Z)?h6*n$4tWYHE4g<dO2O*+$9-W(O%B znVsY(_{{7kWsmuil&{S`Qoc3ck#YbB@sl}B%29Kil#}KZDPh!INPbh0ltQKmDaA|) zQc9Z3NGWZ~l2Xo;C*>+rk(5fNGAUKfHKf!qHA%VF)FCC()FY(<nxchiO-7@w=}1av z(}k37raSo{9>NObVjXtj3k>BrS~ATrQrvzw)3_`P@HX<W74Ks^J~SVb@`?G3l-*_z zDPNkeN!e$<CFMJFfcy!X>sXGM<KziM72vxJuZbhYX9km!WQLHEV$w(%YBEX5Hp566 zVeTYlq!~rZXmcMaQ_NIS9xxA*@{oCil*i2Dq|7w4NO{scMampAmz4SDIZ~cC3rSgQ zmXNZ{EGK29Sw+ekvzC-s&3aNcnoXp<VYZO+Hr~Nj^ByVho9(20Xg((86Z07<yUiX_ zzBFHxvd?@=%6H}fDL<H>NI7hNA?2t!PRdDhij=T|0r^QOXbO>1#1tc?geghNWu`PK zWlcF!%A2c5sc0&ZQrT1`<r-6il$z#RQtFsUQrv!RCra^s!4WzYo<t6H?-OyaaVoN$ z5q5Pzeo_jWLZlQi#Yib(N|JJ!DNRaQQ;wAK<|<Muno6WpHdRTv#?&CCrn#1sIwq2o zdZqy>jZ9-wnwsXMv^1?rX=AP@rM>A$N@vrBly0UwDLu^1r1UbkkkZ%OO3DB;kQA?p zBgJP1lageHkdk83NEvD}Ny#?DNEu=7BxR%-MapP1mXz^k0x6TseWXk=Q%QNiJV?qz zn2A~DNm8CNb4ZzM=9BWAd7hMoW-%#C%ra7zo0X)jGHXa#Yu1tSn%O|g>t-`4Z<@DA zdB<!e<vsI0DcjA5q<m~XA>}i(o0L7~OH#fz`$+lLd`HRw^8+bAnZu;~Vvdq>+?*uk z6be=1ydBEIgBplJV??7pVsHy$F&OC>i5yJ8G(3XYn2SYNikGk)ub5ZK_1K8lk%#y2 z0k&fozD96=t6wM&^#qI}Wg2FnXyt%Q$&yfCD~U7>Noi_YkS);x!TqVyDUZT9lUI$; z8&S3S{=sW}WC9Y+ZKNcdp`>IY3%6q=Mw_vuj5iZVnPl!GWr~?f$^+&>QXVpokn)&$ zoRpbn7Aa4fr%0J&=8`hsJV(m&W+5qy%@R_UndPLcG^<EiW7d+g&b&s-2J<>8o6Vb~ zyk*`YWvh9Ql=sbcQa&^vlk$oAjFjDG52=1~`;Gd_$xp_q!*2^}m^!4i;as#_Z`za6 z(R3!Ii|Iy6chiHEn@ulLZZUmHxz!9HWuWnr5@&p*3^qxm3^6IBj5cFQ8E+<#GRfRW z$`mt|ln2a%q&#FEA>}diIH~!$tIiF$hLjqnCMnmNI;2FR9vYZNq%<~7Noj6clG56= zA?140o|KNJGbvq6H&VKr9;DoCdXaLA=}XG3W&kMzjhB=-<0ECTNg`#4Ng*W-!*PeX zi<D7jG$~`vcv2>q$)wzG9w6mGJcLKgW28K8W|A_?JW0w^W)3NH&3sZ8nq{OcH!De5 zW!8|g)~qAtHM5D7H_Th4Y&GwZ^1j(l%7^A-QhvlC{A`Yp#}LH{^M2?Lx8LMiE<4A6 z-9OTu_dB8hb7R1rH~W!-^dZ1gI9tEJoI+uajKz3Nz#_bemyuhXem_Vr!R^QmXIv7* zriMAAa3z%@4R9lRqBjO(3?9czScz3;4fz^2;2nH}{O>bn3L4`k48c8^g_rRjzDFS{ zU#g%vdLs?@Vh&!#N7#woIDs<T!<;K{6|TdLh(Rx;V<PUwR6L7Uu^yZ8rcs4X5fsDK zxCXW0&eK|jN*v9fN>hMyws%UtgzdMv*xreCfBwbxPJgz&)2cAGQOLz>m`>f6ti)Pu z#8&J#-;<I>U6S<Wm|23`SN;{_z?3S)zBevMB)VY^7MnN7Z*T~Qam;8^)UvqJR3jzA zM3a3Gi`$Tn37CZYF&mpvfVLq`(bB|_(g$7)MGnSeGNxi09>hF6i$!?RyhN_V8uK<O zJMjrV!)_eJ4>(~8(%9?bI55=j7vuLEkKrGfVV)po;VC?gd3Y8tU?uWQ!Q!+p#ib~P z%MpQEXo~--<G_Sn%5OjFLu2DbqXR}`491yz$a^svPhpOkOD@8T(0F=lOfI<|8_iDg zGyK-LGa5vz7FwGavKRVc0KCRWCLk5*$i`^gZ}P}vIEhY|Gv*Y!AqKtC$MhoyAQlsG zFQ#A`7U4xK!wS5DT=Ocq0h{mvcAymXfS02z!qE>on2NA69P85VFb$(H8vnp-e1q?C z1e)aeGE_o6M56~{k&IMmT$&s#!FIEglnWiNCWf}gDM&{aa_}4$VKdzEY&^6>?uohP z&yH_1je63Tu?B0g5Bu>we!^k=jAN!zWzKsd2V*cE6A{HR=3u0m9P(kz#xt0Q7qAE~ zVFg}6E;eEl-bNlizz%$h;PF@rMNyB6ny80HXo41KgNHE_v+yK>+xees{1&(UztfQS z-;K}tM!s85^Ez<8@mx|lR+Ld@HhBQ$=CaOUqM1s{FXlM;-yF|n*L>;=@D&c=82$x^ zHs@y>=OvcwZ^s?xZgL?On`PunScx^rHLsHLF+RaA{E_iua-aK+abk}0Jvqkr1Rvth z^bh$X<IA}HLS~<0{l%+z9dF<ryo>Gl2s^>jX52x>MMQN(pcz`AC0e5!VlV(XIELsj z`ivtdUzjrkvylfUKXXo^4sJjUvXO(Cn2p!43GZMl-bW0_h%@1ETv!89h(j*UHxA5b zjtR%WDIDe$L}62uY=p*Wf)=JV*$c6_9XWUcyYM3p;V{(bqbxjViX1G*D_9GS`SRZw z_eG6Os^SK8N1DmGlzt6ZgvEFj>!F4z6;Q)Ok?oO=(O87_*oB{wzZ9Plh9U#mW-Pf7 zdDx5mm$81Jo#{wQ3^H)L8B4y1by$y&%uZ6A%fp<@P#V{wHKLJ&doa=5OHRR5%)~6r z!y<f&f~CWp;wXtyD2)izLKNzw0UDtxTACPA2EdCPOu~KUep04k8I~J&++~gN@?RO} zr5tq`h(-rE)NyFsms7Z;Jaqu3I9VEHaRtH=iO}((XLH?LJc~T+HhV~Mt_&zf)`vTu zbPSiJKPF+OSwtQ|?p3Tya4PWKLs8U4w8<c+LXDm-L17d@F+{-~r#hC)J`6@8Zo?!z zYW{y6??nxkZa|EAker2G*o{5LNe^>=nZV~Xk?rARmNN=Zp?}muwtqN`<2Z?bL5+&4 zEM{4m81g2B_VY{Uy5lc$|JCOoN2VxsNb=trN2SZYFh`v4*|wk{Dxor}pqi;cN=?*9 zLo`NH)0~vHrXwkxO&3zSp*wouCiFD7kkZ%OO3HtG{1iqtbUu5A3X!?_oTkh3Ink&{ zgCP%|d^?}B2)n+`=N!ZURh%5*_G6@z-?^c5ezs}(orP8N`}<<DTk7xI*_?FyV-BEh zMT%cS+W{OY6p)X;gi_d)_RyyYVeFqusef^t0rmYXgL<fs81z6-s847g6Gw{raF&4j zh^jAVys6A<lGeuUCt8u$R0-RR!|Th3qoy%+Dbm!mBwHcA2<HQELn+QdU=YVpG8l<S z<yc7?am;faw&8u`=lx0%(~e`9_L#?U%X7H#D$Ze`A8y6pFc2d#3e7p*Xo0&iN|*V} zTB0L5<7jQF#8J0yKnqfCMo;A9vz1fq$IGS9@Y9W-%rB(eK9BYTcpL8^l6_;@gv}Vh ze(XRT#1HtE{ZqM|Wgum71$yHags~i?lJSz#oBf$v(5och1>A#4=*Vw>C%l4nXmc6$ z%h-U8c*}fBeugIeHaA6cw7`6`jo;1p(WOk7(-p6lWj_#`u^nx$;5&>K{MNNXJARX- zgK5ie&GmR3Gth?Ll(zWgYJP`seI@RX)Z5rc!eP^x2Bb~U&ZMSrJ0499n8kKcCVmt! z-r<-L5iG-+D8gl-`p2Pq$MKliqy+ctEb3v|n1Q6Y{W{xlu^)2r0e0Y1uq*ASU1!lQ zuv}uaD=I7+KTdr(a;agF_=m>lW7e*f!$<4KN9hQ=3x0fL{-1b0GW}FLd}MweQmUA0 zq*ON%q|`FCNvUh1NU3icl5(ACN=kFnl9bk_4Jp@~_M~()H;~fR+(=4{xrvmXrZ*{l zOg~cko4=6~YX*@LZxTpJG`EqGY*I-{HyNa4ncGPjjuE)ij3i|=#$cSeht$vhB;1Gl z@c<sgbUchlF#|I(3$yW0^E4^XU@qpH1*E)yg;<OwSZ0=!E3n$ECpX}AY{DCO6K|P! zNZD%MBjtUwos<vF$E18}c9HVA`GS<M%wAHyG5bmR-uyuRh(qRQ@(7NZ6Qumh@N>!+ zivLUjQZ6xtNhxZIlX9skMat!-3@KNba8j-`6-c?-cu1*Ys*zINM37R;)F!2_i6W)G zX+}0jOSD28b3NGsoy-lSbTv1UqH+Bt!`x2FD5Ej`&o!?9RBn3!PvR*&hj+}o<TmUu zACa=td`ikL^EoMBn6F6LYrY|6zxke&L*^G!j^Y?jBC-JAXETVDc#}X%qPdNfWRprt zy2&6V%iK=NaB~MKcbU6M$uakmGTGcu$~5zLQl^`SNqN-#gOnNO2~uX8f0FXFd4`mE z=2=n}m={P{WL_j?sd<T%73O79R-0Ey$;CRnW;T%Wy4g(1o8~Q2^31!WY%?E_vcr5t z%1-ksDZ9+)q<mq%B4w}nhLrv0dr}UXA4xf6ekSFJIY!C}^Dj~y_L(K0DL~34rZ6c* zO>t5#HKj<o+>{~Z3KLGsm8JqIR~rv0RZKNfs+$N>YMI)k)HU_U-k8n4@dmtZ-Xdi- z`^bkeiG5gct`5jYN&#~TDTPf@Qi_{PNhxJ6C#8(Jf|PJ`B`Fom)ueb#6;i61>ZC-N zTBOuAbxDab^+{=Ht|O(1X+}y5(~6X6)0UKWrUNOR%nhV;H8+wHV{Rg)r|C^fAJdPN z{^oC_#F{~*#G3?C63uO-B%4%H(oF^_S>|?9hMPM`xy#&5N{$&r$~bcmDHF}Tq)ayV zlQPZxos{Y32~uX8f0FXFd4`mE=2=n}m={P{WL_j?sd<T%73O79R-0Ey$u+N%vfgYY zWs`Y>lr83MQu55Zq---Ekg~&kM9NO{DJi?m=cIgLz9MC>`G%DJ=6g~Onjc9yWPT>) zh&e{e3G**f3RmJd6XB?c2t=X@TB8%Xp|81>lmTWSDTzqKL`=n_n1y**h!t3kP1u4R z_!xV!A4hNk`6>q#BBdBgpcF1gSyP^@h-#)fDG{a?SqD*QfL3UY_9m80!&viDHTGek z3X@30nn7ed2Ad>OhL{vG9T_H@l)I6GF=iYo_n3*K+-oM2a=)2I%HPd&QXV#slJXBT zgOn%CY*PMdo+jlPGmn&K%>q(hFpEfe(JUq9C9{H*m(6NYUNO0(ylU2yve9fJ<qfli zl($VDDeszXq<mm@kn)k)Ny?{Y7b%~cZ%O&i{76bPbt=-<v?Ha1=|sv6rYk8onix`U zGCfJ@ZTgVX&-5qdZzh(MK_;G*1d~Y0Z6=wN95aTLapoRUCYpOmnQZPSWt#arDbvlv zq&#Z=K}wam0o6#UZX!sjWonaB*VHGap}CHfCZ-uFElev?qD@;;+L;cdbTT)P($(BZ zN{qRQl%A$HDSb>oQu>>}krHbLkrHnbNJ%uek&<juNf}}8BxNM-MvfUn$~bcmDfgKv zq)an^C*@)DC@KFiGe~*D%qHcZ=4n!%G4n`y7B65Cmf|I|f|QrdYEoV?xum>m)|0Pe zvw4%;f;{s9DLc$Zr0g_@NvV8_^#Q8%s)0p#59tNNoI7wA?!{#M9n<j;a*A`F5iun= zZ-m+5oR>v(D&w6)oukX6A-W+EqcOugLC(TI%^dO>%*O(}fMv+TJ`|v$qaX^QC`zCV zu0RDeK~pqGD@3CmI+z>C7$jpnW@9C`;X4%mfO8*cfnG?*B+NrDKF2XsppvB_dLtFn zFb{7Sb>gm!bB)J-1LLuAIN&6&49p`KI=)<QyL~dZ>pX%xzTBag!~Np}xZ}x{*>Lvp z;)b}7=k_P5cW}ploBmN?{I_@;53ax`;r{;B6DX^Gb@KP&4o#n&x%T+l2g046lpm+e zA-=Qahrm3DPf_M+ot>2RxEJjH)qV_j9^i(;SC@6-xPAl=(&3C-R{v?;-z`5MQeH%v zVc$;Q{!hv!g37b39Oq3=_QiW*Z}MekCucQlmYq5*!<!yaGuD%q>hY#}V%ukA#CmS` zCTIJc{DpY}{;@VX1-RTZV?>9Hw3O=;y&2pqEu$dU=@3(P6k<OlF)hUxnUS5E>dT0% z8|Td!oEDkk8=RDxl`$eRGb1iCDK*|Vylz~EH_Mk<Hz}>obqVzv$JehvXppyFqo}BQ z3A(p$c%94<saf9Pb)xDvsoTi^xWuH4$dt7Bx*3^Hr^4m^pU+zUD5oJ#mvbrCqTE@3 z!jqPr<w;BM3`)yRjn8zp@E8se9bQ^yR$OHLM!tlmz6SA48pStl&~Q-w#_>(#z46}q z2~FeU8`U3FFFx+N27?AgHH=J78kFJXrN^aZ`24RUGdU@aOKBNddMVCcp7%zcw>f|N zQqnDVqO4`-mOE3Xi|pz04V145D&J2zI;gC=4Lz^>_*W_S4l1kO;WEnJ%uHWKRuT&? z!JEWVZRYW%#(P?|^kimvGqOC@tNY6>T6&UwsqS;BpRc|@Zn+hOnrD5kw1k9AUzVqG zOHY)Z%8G$!JM;L*d90rAlAv{=5SN3?g+t1B@PHfBQhhhGx&+@Zo9lziMR?qQbe&2{ z&GKciuCp{}6fN&0@;*kO8r(9w68`lnxZFPIc1~G290r`eKb!JjJwA`y8sXoURpm@y zazfn<Z|Y!Q=B?fVb(1m&`d?3`FHXyJpf4poYeYo#w5&v5hI_X`1GKE%*YXLM^&NN1 zZTZ`r8a!QY74lki&La4|C0qIYuT3v3@LGcZc7GnL?UDPpHO__Baks2`=HRmGidzQV zu5!nqvc|0lzFlSA-q{w>&AzO_N5yqTSucu{d<~ppTuw+!j`ziLUC{L<xcnbmce1k* zny}9J7gwq`+2hmJP~SdQCpNCxsTn?RT%vbSvd<Hj7Vm53NlIlcON!?nD#z;!IXEk^ znTP$#66Kw?ypJ8l%R8~;SkT1wba^SCvwp|i+m}(kHmJP9mcxa=mR>zO)M?@wG$PCA z$@C4)=B05V=?)*qJ-ntHg8s&9{0(j2M&T6O`BUugT*l|C&tER*a&Y-=zQ@63eUF37 zrL}DS?6%mK8Rt#+`M1Mamj+&M0<WbiF61{(uZ#cu@1qPCda-EzKW_d7HZVJVU{+f2 zYgeBN|Kc9VGURc=w_U+)?e(qg99Z1#k_IPb#iV6+zulLSkeoK`M&DrfVn1I-nxogP ze>FTcoSc&7{rd_3v2`}yHz<3s|KoBd^S8YGU78N~zjJQ6EM;v^s-RS<^8Vj__qO_6 zN3#K^e-y_{+{V|_=|7zH*DkyFtIPFT25vc#%UWMqCH&u6ore~!H(hxhJum=?$V3Di znX@f}a(uS#`W7Ct41#adGN@a(CGGwKpQk6nH$2hH@4hd-=1#8DcEdM3&gawDkWH&6 z#XCGHB|F8Fnw>Jpm!Z7|)~l@SjHJ}Tp1~Pu+3A@cy{3aawjPhId|BXgImN%z-)jG= zc;;J_pxq9>^B%SV8QwTH3ZA%RHnL54EFYiaJ}%^DkADMK+yANpzu+mnZqFc}haX+N zRDRu^be^Mm&~x}76WGyVSEaVceTdhSoWvjYCUf7VJVx8@?9{mAv`pT2$RFOz?OGS& zeQ`-CY|iYF9{*OK>kD6A-qE@ddb_<3CxYAcyOZb}?hU<<`y8FPkJk3H-6tv2lbV+0 z@p^itCTaWV;qy%PX4qaR`}#aqpS}CJ1wTi;zGK`r&z?VtEo@49vX8A=U<+}2vDEhX zx5~VI?Ip3C)4f@ILaCng3}1?uCGJb+$A1gY(~9TQHasqEa4H)_9`Nf0T&8q+|NdP( zzun1NPZE;7gFUIf!CwE)SXw%tdsbS8(}eqJ-yl9aogGJZdi{6gSe@&&Jw5xwc$w)w z?i}w7x5xX2r?XGM>+nBd5c{@+`MB&|_;;Bd&V!Wqe{X;Fx^;j4&K7Rd{^FU}5m?22 zffd}7>P_+O<v!YH^)D~`3IyL?yi8ynahJibpW*Zh<<#bWde3LpHUGCM_^F(p+(+Az z)A#XzqydVMb0seFW~ykEP1nq43G-k#%Io9fedoQ0af&v2qI)0Y{^-h12-Ulw0r z)(@Ve8PDy0f8F<?4?8Q#zue;Z+GhQpFX17cs|C*$^w^=<-qft5ge1P|fu)tn>KypZ zw{HaZZ&J3r|F`_~`}Y4uUi6tKa?-hvKASUFdEE8MlaiFlKF47Fg$y4T)A#|J&i$)% z|4deqB)+@D(lX*tZw@?X_U!nM`I59N={fz^)7UJfaio=$%8N}sy^nHcS+3`~Z|1pw zwNCxUAF6HdIxaDdV<nzAgWVth)~vSH*xG^1brQYF2_9YmSNShHo+|>!b%AZCy;N=V z25|tHnyR<WSJvw}`=95Tyn%Q9t54H^OzY`C$TN($uJ@?*N>8OV!&lp*uTp9n8|O6t z=jy+f_dA)_GMaSP5qGn6`jZK4&YkdbfpvWlt67FGfqg&rq5N;zzdg&$PEY4h(H9@h z{X9Hha$4GuI$nNL^f|DhO3segiwRtv=<~+&64^J@y$1ObIauaiflcG-r*aZ`uIqWO z|JZ(lH#5tQwY|ywCVG?86TRNdxTK^($==i<aj97u$^LEbV5$ug*{Shmr1M*umCkCF zm6^`R%DeVu40pH7OL@I<yk3o=Rh6v3@3Xt_UXjaJV=y}hUQfHE%=BdM2v3qW-zj{F z16$J!ADd=v3|M^r9WPd3cZ0|VyAqGrKXy?a510SwekIi+X>oyr{4D+UYfouQczLG_ z&)cAAVE^}zKKGgWgRG25`_<w3{kxeF<;y$W`5W4gZ%q0(=h}*8@&o2StSIVC=02*w z(0%nUaJ`4VYvmnw$NzKdg8vWkN_qe8->!URVE>0o2Y&i|9#2GET5@(us;4H~WmfIM ziGl02ztNEUYVouni;(R})ls?Sp7vb1ybmweuY%s8TV8Et5C58Z&RqWq*J~fuz26Zo zw?<|Dn7fZyMeD+!u8&IN3q3H-mz-RuUfudpb?XIcu~O0pW@h<oqc|?(J?OPRiR-{( zJbm5cT-N*ki`N?`_Nrg6GrfHri>9TfcyCL~P#<r7=5h`Hmy(p4mccp~m&k7h*HsU? zy#|*DWhW)ahg`2d;xQR)&XRrJOkYHmDlE)06$1Ot9#Z@MZS}ZrzAP%vvb+&hoQ7Pl zW$WJl=Rf;QUkb-feDG0q>o*8|@bPRF{6Dg+lV^U~+{!N<ylPjOJ^F$EuX9gcla|c{ zX#e#uSq@eYxtHhGw&5Rq7<%r&eiJpFY&-a+bNATz!ScTi4{t@w=*+gu-G56;P3Ko= zSRxg8{;$1$5qQ2K6$8KPK@T|d^AmFS8QfQ|VKM1n2Hpf6b2#qxd0emU#OYVXE^><3 z6S!AxPv9q)+xOb@oFrKVPXGR~8u)*x?%<%6-z`u0)q#CM_HVL%`dQ}v>WC`SlYL#o zX3e^_>BGJb_tCoFhSa`i;PXj3y#)DO25Td)=Zoh)+V?!`d*$|t_V<Rd%2BJV{iUHC zl$}1-(QZOoYVrtnXHwX5YTsK=tE=r}*CW^m<axAz`4Xw)u(STXz^8KhPw_lK&!P9p zj@RwJpu<J?<}-gh^FOij`+pMjt3<zrO68sY<Z{r||8)5nmsRIh7kS)A|CHJ$xv9FO z{dV28Ts~r#{Tq+dZ#8f*?B8~TT<71EgkG27t797r&zU9c-?Dg8Y!gwVe^d?kHU0W4 z!M26h;i9X9e;F0<u#TZNqR|@{Qm+%K6_|f|?@?U#|JeS~4ZxY5gWG*^?wJVsa`T$H z^87P+e$|_tWs{^TUg}Tv)g9<R8^J+(L{j|lnt%SK1hzF=BeE(7wndL#68OFOy{{wH zH%zryHQmQ&u^)CJ@57r_^Yq_7Wq<pRzOQraBRO5G{Q9@fEgxdRYJVv)D=S?xhw;D6 zgsk)gHl%<4`<I=OT&I5BhW3l^|L#!<&zEm2uct46w=92O-!r$Ydf9fABO}jT7t3!$ zbFR}%Y8Dw8X?glFYAf9#=s8r@c^>yU^C;^*y5%YP>Ayr-bx$R7{LRIO^JiDgV?ESA z_kN4HUn9yo-rZ3(@cnmh+sJLY-Yw@+R=vAh{+V)h%Ipn$lM~Z2Rkz~aR*{{nHbLdq zlyzVC_T`itQue<-HaT3>_ivucb#l&HE~VSu$G^?vs|7vZ7Ax1Sdrf_x`(OKO>hm8( zyTEPj{de$R2;36%9BQkoZN2+9G;VI^pt8oo4PFNIDeFDB_gDGGpmJl%svFmPBHVvD z?)}rby(-r>V_*gMI(@HHzvh<5P>%55C-UFFs)5r&oY>=NKIsnsG0?4<afuue4dh^X zpf_`1wsv&t)*VpSe^{M4PzSdWRan8apBDT#^j&6kJbj(}{dVt@$m^)0`>-Or*QMHP z3oh$<VlvV=;!EKtf%*p>m(&d$qzvTDLB@!I9Jmfl$ng4q()ne!Ewx^mPQ|v?p?=lV zf8$yHhR$)ge`6!%)9W>ViktK=N1ySOkTQ4m-_ClI<37IYCG-vB0e|(^p7X!{@BF6f z{QmI#i#ZNb-L+d@VdcQSjlL{yje(twQMD3vGVy6CRI>Q1+1xv*V!-wx+^agr+}_aR zjgR+N?b!JuuDdSuI(xR$dxQM)vX-z*((9(K{)!HL;?#z)>;7*yaebUOmC9Bs80vWI z=sx~Cp5<yiTYQ=?GxhVF$Fe+$UjBgBqxa~^N@M3Oi`z3jDV!N+KZ`^2hMtaXRoV0F znvXyFYjEZV_sp-{@Be*uf7kj&1b!FY^}cT1y4no?>7&A5|2PEJl7Igq`%mw>-w6&F zIVG=MfmBX>b3);JUYpjb1FX>ceqB?)!|CfDWPPs8b?$vyvYr(QDnD!MoqM~xUb<y> zz2xA-e>}q8uPO|6@Wi*5g~hUS@B0obw1?-e&pwP>FVld_4bcdHv|i>q9;<(RPyPK~ z|H?HXzSghnW&YH@-8ptVHt;vP^V;40jK6xV(KksOmugHRuWi>&VDtTNzbo$TW9;@@ z2Q+hXd2RaV-u3~PuL>$(!iTQofT-b7ecbz0<+^e~_wiWS%NI7aPGAd`OiLXd&IR`V z&%Cy7+*iL7?sGjwS?i-){+zOY-`w(M$~xvd$9Ll2_J>pd(!F7|VYcr*2fg|n-11!^ z<qnj!zwvutr~f<5LUNz4BaheT@OvN6?{`i2v7PL(P57R;-#hgUZw7tu{_6G3{Vkhb zC$Qc5KkVHJyp`j^`2F2#w;MD{B}D_xr9o*R3YCxsrAZSNMJdga3Q0(Xq*4kYi9|@H zLPDoRND&!Ago=>F`@Pn_7W?$!aGvx0J^%N8pFV!R_jRx7Uh~>(-D};c$B5LkPv#m4 zrM($&MQIOJ7hChkEg{Zz9)EJU@ZQ2<#}`j4%Kv=%oKnAT9!ldn5#b%S_;Ne7thJri zg-&a`lCNd{({%<i*Wb!q3(bA+LB}8N<BJlRulZ7AKUt6#KJPxs_24CFvhe-1|NJrR zw?7{%R?qy~F}w#CZiD~T<Nkw(ue9qNe>iWc_mzKdy||C<C%muxpP%+WuNRkA<Db`y zON~?O#ihon_2N?F)OvBLacaG|)Ht<XTxy(JFD^CyudElBI&5maxYYQ+x?WuB@Zr5* zPwoE=_me(7`}eReWbNZ?B;N$}LCc8nA$jtZsT1%oe2#6klkmc<XP=?ofw5Lk>F{Qq z-7ct^`Cd^O)A_TE!+V$EIU}`uf79VTxbQE_@p&PC(GagM!>hbrUPpu%vOT@GnE8QP z^5m=z86GMQIlb^4l=bwEGcM=2y$9*W(r2*09(>sU+vzum`~S}$SG>p>;eO`vq+Yzp zdR%cuk1#7-WH;9;p4QEBJgD%T_Me~Lkj#}9s(GK?r)BX^HdmO(v)ajP%m={Um$c$V zIQ^fTez;zy$J0-ZyBmk+|E%NioSGVk*9hS~vj2Q}|Mlhb@Clih&m5-}-djwK|EDgm zs<r?5@=A@nTefg{WgUmhD>eSRF0XejU${NZQMkNP<J9H#S6>^X{$}~FJ{JGpUraaG z`RBiX{;S9RN6#^zIsUBAG5`5(^N`27A%h3iJ~8uw?#vT2-*>CvG7j$@q{iWMzwp^d zY8>9n@#oR6<1-E!xAi!ab^r5>!|i5x|7z7z$1&c#@Saif-<ZtxFSD__83~5nvNODo zmd?fukM*5Z%D4whb0o{qe`#g?Zw`;;Tpq`88!4v+s%X5B;WoWURgD+3nzpO+7{439 z3-|-OF#K`V6}33oxHhL4*X8ZT;de`>8i)0MXBs!=UB)-_Q{!9snelXfV|*9CHGYVR zvF`iKuB9qyyqtx&f`{`37Uo(W!B<#>>seIqs+@874UO{pT6K;0upYzTR$&>#HtL2O zhu?@8VH~zmceQb2jy4Y4pqpqMUZ;g+4!_Ag&G<Rq$rm}DuX6_9=FDtPmvfD`^B&_J ze86}YA2j}&3yi~xmk+ZM7n<Lcj~ln-6KusL48K3|q}_+}S>v#cyOkWtRSdsXwc74u z_`LCT43|;(?#3?T=lCU`=T{8BK@l#KuuZxW*JS<{MEDJk8tG2kxI0@JU&}$pH*hd- z<Ph`2`=v{bH}V<d_HKlYug&}&^3&MK_;hyX863|h*?mu*&5Up2nViVxoXoR0g=h0w zo|D~qVoT%a*@`c)HN*RMZS4LM+Zu0VJAT3Q8Q$Ay&wcE`4DV}nWI=Xf33g`K#_9z; zhFw^iUD=4;*qGhfmp#~@7jg(M%I-G9i;cr?Z(YJS*@xTM*Y5B0GUJ`>$IscHX*qqT zmiak=;dj;t@@!tg797OI9L!Z5!tXeg2RMueIh;Rp1jC1?SMqp{Wcd8)DxS(wY{aX1 z0Y|ed$7FXNd5!U<yq0r#9hYz%pXBv?iQ~D6H}FGF;77cX;kVgu%I^4hn{oJ!vD?|3 zQ#pWlF#LA=G+xI$8GgfkIwx`l!*99I<P_e;@SE<lIG?i_e%t+SKE^rO-Dh}@arlk* zd-)9S<8sd98s5*fe1I?WL9XL`zRHKVnG5(fA7=P%_=VZskNKGK$6U-$_&E3S35MT_ zUy|K>D16#Dn<s*$Oy@Jq!DT#*%UOUcScuQEFjuk?SFtizvnIoRw;o?MZopS~GS``Z z3fCK-&JAqFSJ|8!c{X3;xqO|ixruG~20QZ2>~8CP$GA7&<xp<pFuupJe4p2GJIC<@ z-og(#i68M+e$3mrgY)?b!~2GxGQ3~-85eUWpWx?Q!Y}v?cX2tt<cs`@Yxy-_;cl+u z9&X@XZsa$7jo)%R_wi$X$4~e@ck>7C<$mtxj|^|FA7D2A#B?5H4*tx1{DlRWcAe{u z*;tqfR$_KmW;$y!2Wv5dwV9K3n2QaVn<q05oA59;V_r6AKAz3|JeLL7js@9)g?IrE zPj~&Xh;dIAWp5Va03K=gD|nRgaF*aTEXnJ5G{^B6-o#S8g{3)#Wf*?@zbx<Iu?*V) zIF2(}F5P{S6^-Yx62rCtDsvvIFl-Z`Di^RCAK~$QhSm8jYw&s2<cqAumw5tTVQp?; z9foZRoXFQ$mz!CSZ?ir>VFT{wNj$)l8Q$<}$b3A7VOs>JvJe|FY?GidEAcdjZ4;c% z20Vie*@R8llug-;&3PuzVsoC$v)GPjvpvsY2ex2mp3ClR$)0S*-fYbQY{OwZk7L-D z*RdVP@qA8Xd)~qhoWhR0m7O@Bo%s+i;1le^CG5&)*p18Coom>GFY-dZ%!~L6dvXJN z@lE#TW?szqcuBhZ9s3%8%uD$RFXL|Z;~w_sH@uwT&9wo{$AQexD_DqwcsK{M35T#L zhq5_`@hlE!OO9YGUdgr`$qu}V-8hOpc{O`;GzV}DujE*c;WZq~Yk3{7<2a7vG+xgc z9M8qPfsb<nm-EJSw`bmLyowXKmbdT~PU1RF=Bu2-H+gHi+b^dYZ|5ESgwwd2cXBVM z^IOi~KF(w|Z+P6ruziVHtj*axiFfl<&S4|YWlP?}R=k&;cpop|JdWl4yp|87JI{Q` z_$Dr3*ha;}ypId*p4>)-ao9e^V|;>(`79sjDn7wAT$1i}1fMqEz@^;CXSkKi7`A1x zJl*Yz&l+#%N`^OrS1}t`^DsV_?)JkMjF03R9>o_~nrm5^FR>0^PIrIi2IEusDo^J| zp2636CSPZBZek0*!E^a0+wd)($IWcdx7mSPcmcPv3*TWMzRSMc#(sQ{1NlA&aeKPk zAwM-9%g=ZXcXAv*=k@%8w{aJ5=a;;bUvWCW<}B{!Z0_Mb+{=6U4IkjQe31M2Fu&tM ze$S=+fzNP1SMWzZ%L9CoKXEM&ay@_M2L8f#m^MxYT~`dhF`Ho6)<|~FW;(-fYvo}0 zZLJKx#GDMjua%1%n44i+BYAj$hvjgZ%x4@v?8(n=EWjQt80Py!y%3x8aGu4&JeNl> zY@?(I+cW&0SlC8MapSH$irra)6IhZr@@U?|V;HtwQi_kUG{ZJb%J4~+W!RR<v0TaU zn`2>HCKZfdWJQK;npEOuR%Y0?Nfj3Irg&9`ZJbnNQ6A5*t&{5P%o^;%n(WS69K{nj zhP64FbvT13at`bAJJw^^rgHrpt}~u$9Nyq-#IOyO#_Z>VmeUxvrE)sMZ?&GmuuYXF zoXMt~#bylKSUHnlusQeeEbiyo3?BfV!+dPP{5+RM*pj8$is840TeB|Puo2H=Tef9) zwqrk@&#<kQ_8iC#yn-D$n4LI=o%sYW;FIja@LR@R8Mf`xjc>C%!}eWz@I7A0?YxMe zvnO}67k^}LhBt67W(F@|PWItp?92STlm&Sik77TTW`B<0<s8EST)=@`#4Gq62QkgZ zu7ep?tsKIz+SO3{xG`-Qee97ooF{Vx8}Uju=17L$XugU~Ig0&xH3x7shj0wXa4a9@ zHC)7N`3kS&MvmiFUe9+pp6~GnhBqQ7uq1EfF}#VTc{96lBD?bzj^ZSa=49T;DV)q( zIfJ)x4sU1JHqKOr-<rOIk8m0n@lHO=>0HSfT+NvbA2{5_b2y8wIGf=&s_*8doWsGK z%kW#(_izmF<+r?#KXD$z2Nw6U9v@)%P3s5Qi1T?CA7TqGVEC=;hdG7|bGR(|nDO;o zY#e?+aEWo)X3vwx%lLuu3Vvw3iaU&7;wRk5Pq~So@eS_e0e;T#;qw=)%3V2}KUTTk zZG=@hg4H;a$9qp=70)yNk!^W^?U?3w&(62|RDNMRgS(9H;#bDA`L%J_R&%TI9<xii z|9UT?AUhftWhWlV&gLJ(9>%44AuIAC^K0-@<9fWzxDf{%H{}qX$)V<-%d3oAaTGi7 zYV*7EdgDtt-uP<HG9JU(#*4VYcrjl!-pDVF!}guO;v4*$VO!6;`8N0DbpPjm<B#|w zKjr~`#-HrIo9Q=rZe{pQlC;vEXN(Wy5zNaX%+I1M$nc%v!&%(87?0wSEWzVgk`;I~ zEAkjtXDQZTX`aCFos)VjZ+tSt=eeh{vT-w3F+PjO8@Fe5c3=&5V@<pF;0eY(S)09B zhXWYaqq&0hj0ZEUBQT2>8qeWHe2_gkpS`$>y}6MWa}O_JSgEK_E|&`j8yDaZ7UWQd z->VzOBRD*l%Y`G2i}Nbu61>{@7>;IXjxoPFCmGk|WaEas%Q*ag-7MqAyxX`5=dc;) zntvAWGd`E|jK^@Z@wI&0cpSGHPvASek?-<mZsTOW$Esz$e#_<b`LS_#?qCmo!v6e} z1Na#$9qWFY%XPyqj4K@H{=`Q7l4tWPcIVf*Jf^bP1m}rIdT;3qUTmDVvdfkE*oTAJ z*Y3mE&-h*T=Qds*cCTU?IFti<2e05X4q{qW`^oLL!TXH6ah`E6E-=2B4;v5S)5hU< z`<8MjpW#(pX7{iS>#{ex40tTR;Bk4JCsr^Hzav-C_*+&s4!`wZh2g`7sw~fHcCX0l z#$o%`HF!L0GHi>i7BArm4BI5DoyU3NiN>Q@m(y5}b6B4bumK<BNqm$iGi<Z0A)n$Y z4BIX{l`GkZtJs)pc^Y5h>3o%EFl^JT2{*GT!?w+u@qM1j?QG7l!uDAV>${%K8a#(# zn+7d7hUanyTXH5_@ou)}9Jb*%JdfY9EyD*x?ecisVwIbWYq%T_^BSAgjdQRDbFn5X zvlfr%2|SVEy{U#g$+!_uW@9$wG@iogJe4!q=rH#!o@N}j$9B5$TsATOg-sb&s%^%w zZMHL6gW)}`$((O|E5kM-=kRIcRb0xC`3%Fh+m<n`472<&$HDZQT_((t*ZkU^FDE)& z3(uDfD@s4bgLgZ=FrMT1IPpHm$H`pAwOr1PT*06DEYs$>&YACi$H{_R&8mEk;dc+8 z&*#3y-NpmBhl9D7SMwXY&t~CU-1m6|ce4ohvM7IGF{VA>{>-pVx#BF%qga+D^1JR> z(YO{X84u(o#^JZ}`WTPrFyjdv&hT4!Bh0^rR~d)j!W(6L8^;)j-@+Sf9Davxf$?*E z*f{+5+!EvPdvZ_mJ3hr9__W=B<TJ(<A9VS#DwnewSFi@3Wdp8cBd+3LuI6w)$1!}K zFY*O$;2Lh^i`>e!+|HNy17GF=zLMYd%6}LiKi}VmticUz%U9Wr8##)vaSUJQYHs2N zzQI@dCb#k}zQ@hn&bRpsw=nG?`(a(a!$y3U=W-ic@jZ6p`@DeL*_|J77(Zm#*4{^a zo*y%8LvIJ)<0stCPq~|)aW8lBdw$Mr3p|E0CwDP7zhnV^#X|g=#kiZLxrY_FmlgR9 ztMgmd;68Tdclj+Z4;Y8-k^jWLJjl!VGY9aO{H{~BoMc(pio4jFU$G5$^F02@woH52 z;}Y-N?DZoTu|3za1J|)5e_|)5?YB$?oKIe8oSPRJ=l{{|ezN-``xJEF;$_A~*w6S_ zjx;XEtBfn~YU9crZQO;6jl1!2<NkckIBa9^dE>3DHpS^5aN8>6v4tlX=VWabW*zg7 zWCP={O~R9mTd}`!8(z-yIe?uwkX?BNFXSNh=3w^a5ccO#Ucq4;%Hh0{BX~8h<TV`0 z>v$Ef=P2I5t9c_w^Jb3WEgZ{Rc@6L2wVc80IGf`*hu8Byj_3WnfeAK{H$#GAO7 zH}g48<R;$2&78z7oXmGPh1+;5-{WoE&fEDRr}AUo!Ou92pYu-c;>+8Qjg8+{?T8 zEobpN&gOpJ&7U}jX+L=`D&#rrpk=t#a~I!ZBfig8+|JhgfameU!`&wNsc|QMX55Wm z8u#E=ypUhBCwH?q_wZuwWgmXSzWkP#aUc8hJ6_K3Igmea5cePMdgo8Z!+Fs7DrURQ zb<2eJX0ByU<8jQz@yyK$%wzY-EM$Bu!+S>4Sj>1j!+S<|v4rt#mNb5eO^tW6neoqT zXPox4+c3j6tJ<4ioZXE}vj=PNLi0~xFXKAwZQO)Ijhk_padVC^Zow-Vwskeq{5BkA z9JYCNwee-V!*~Fv8IR?I#@BK_$MGSK=K@aP!<@*4oWw_X8z1FVF5+}P##vm<xqO`S z_yp&32^a85F62{uluz?9F69zF!=+rt6<p5MT){PbmM?Q9*K-wL<7&Ri=eUK>a~oga z2VBD)e33i3mS6HEe$AJ;hp%uS*YSJ)gZsIj2e^R;`6_?m#=@567q^Mqoi?X<FYhHz zGY;D@z0-IjXB&rYnci*uHs={{<^9InINx|XA2R-$OO4$s)1F~oE@Rl{>2g-!3WjZ; zKFgE1l3^RDt9S}mGi(d>IiAbs*@`c)E7x!gU*rL<Wm-1dIc0Xf%$$6MwYiRU`43Lw zdQRpB&f=?_!;PHF*SL|d^B_0zXTHHP3ES4<EWX7#+|1YbHn(#NKj2pW#CK@H(%xlh zZsT!$k73)b@3S$t^E7_Iuszogc{V>{*tYA(9LXIV!%sMypB`a3xYPIre$KGX*Dtt{ zyZ9ErWLkQ*w6BhE`Ln1Mu4c0s=kQ2A#NrIU4SZA)uYq`q@!LF=Kd}+ha@Z~yEAljk zZOER^o;-t>vkAj*3pZt2hV7fNZcf`cV<R@_`8<o=c{VTMISd=(YQYSi%doB4mPI^< zv9<AuY{Rh4+4ESRZ5g&b+l~!+KEpO>+w**OV0(6CcXr}1cIFsfz`NOn53nm2u^YFu zJHKHMhHckg$nSU&53nc0wrqQ`D0{OcFJ>uT!my3oK5W3gJe8NS5ieud_H92t&Hh}@ z%Ne$XJAkV=kQ;dgU*{l(4VDdNI)^X^hcYLJF)xSn2##P8UdballErxyPvj`p<JCNg zqj@UFuo1_yIj><WUdxWWj@>zqqj){Xa6D)62F~FGuHub+i8t|O-po%qkzeo@e$Pov zJIwDd^F&TzecsAOyp8Acc6Q)YcIO=&#AzJPJ2{5ac`IjdI%jeg@8W#U;v&vw*Z|z! zY|c3hzlA-wi025tVZ4fO@*BRzAGw)fTf%R%BDb&xx3U4>VfXwV4>+3JIEL@>A->NA z+|GskfRFG)hHVgk#KruWVH?Cdcr-s@*cS1ptjNz;gFD%ppR*IcVAwYCF0SF1{0F~c z*jDk^{GPiRHh8y(VcUdzc`m<U8-B~)+{Xd@j-&ZKm+=R#;C_Z}8ve-Vcz|JB$3Jl= z4{|qu=8yb^X@#<R!Vj;dv!!L@iA=B&v-1q5^GxPo*fw$o2Qw$bHj;C37;|$B^KcCh z<IBv;uua8$+`#;NhXsmyUSlES?L3?xurT-W2!;&+7UAJ6%CL>)Vhr14Jd&rdIKwuV zk7C&7atV%S$)a8>vy|~IEX}a(<uaVjvJBf`K9*sdj>qvKmSfl^b9sKj3f#?#{E?NI zR@io#na(N<+itGPe5}T>4d>%oh}9Xk<y?c6Sd(F!&b3&RCopW=xi)LF4#PH{Ph<nu z<w>l^Calk9Y{2F`iD&a<p38;|+k-xZt$8Zjvk^P6F~hc^Ph(G>&fYwO{n&&9*px%q zj9~+eXEJQ-vN>DvEOz4AynyEv^}2!Q8ehnk9K%+8k*)3i63;W<$hO?db{yl!6VB(8 zY|p3Jfvee(Z?hBMV`qkyi7#N-#%33u!LDq=ZfwQw?8F}I&I{R(7jX=Gaw&Up6?^j) zUd*&&o<~@MeRwqcvMMiS4PM3u?8mT8>;4QIro5adaR5)|K!)G)zoMwq;jPA>^EQ6N z+ZncjJ(W3&dpu>>7WOpe;hhZI#GcM0ID=u^*fUv-cQI@udlpaRY}V!7tj{?-iE|mY zKY9<F@m{v#eeA?}4BOPcpAYf@hHYy<$hSG4Tlo+_<N}86Y(LB$T*$CN&PRAEA7wKx z;+cGmVY}OlIfIWgY<v3&&gK%{%O|;tPjNq=X4t^zQs(9}4BO;h#=2b2dR)P<4b^Aa zlq=batJsOF*^ke00H0^rmiG&s%r(4~FY-aI<$S)xr}#3%HosqCPOf9v_V+)ShwB-( z0ltBC`6?T5V^OyQzHWR9H}O=y!87?LTk$P+;%0_zhri9<+`_O8@vZE`cNn%M{w^nR z8z=KU-pcoR8@F>hKj0jG$cOk5!?wpiX4uy34({hCTvW>Q8Xx0lT*aN-%g^}>zhKzF z>MqVW*7I5zALn_Em-A~5;BF4#9**H&o>9*88p8%wzh(8>p4Y<o49{z9*3|P_7+>Of zjrIF_USlKv$ZkBq?)-^;d5~cnxj%CNf8j=^P4gZBvvD^Q4BODn&hMDcv`am&F>F&e zgN>MzVcWX7*p#{1ih0<Hhp{vB@<Qh0Ma<9PEWlAL$jL0kunmvHi&<{gG9JSdIFq#* zwy9o+XY)k1WL@6CdYr`ioWlkT+gd+~AM#{|ZLT-u4xYl@Je7Odh+*TdjrqfPkNaVK zgU5Zob+gC)FrMgfpSjsIj2C&_XQ{_L?lWwQy*bb0S?tNPc?r*9*d}`m{<PTRKf@P8 zTJlo13cIs4N3jjZ@H|dnTTW&>&fxjHi|sj!9T>J}+>vwGiTANH{Q;SF0l#CHFn-PR z04uN?E3rGfvPUuRk?<1ZLF~hk?8{}m)b6V}(0C`WVA|_m_p>Pnb32FdTMiAoZ}PgI z?Kzy?If5g2W!U`<ultKxZkD*yx(h7HdwDd&Hd>CcF3AHdZ5+1MQpWhOH@)6B4%=k8 z&bS$$H4fWcS!sO#TaIsr$0>$&IySMH@tZu;INxS}M;I62SmS0~YTTU97?0&%<7@ei z@iJDK>2)Nlmhe2t`o{lY18(3+=BK^w`OY|PtLHn`<>fqy1K5uPIfPemC<pO64(2!x z;msV%nH<JB9L~8M!9~21VFSA(nUhyB7e}!;uVx93W?7Emu^h{CyoTj@EvxW4rhVY= zCRXG1tika-g*UJfC-5xZ$a8s93AcYvG+y<gznAzUC-E0fX4*&oUJ8EZ`JHQc8`tu7 zZsb&M<{b>%w3$}Ia&xKiIedn#xQv~+oL#ws-T5pB?sENe30E=Om!8*n3ZG-xxbX8O zoPU01T!A}{Pv+0Yr|}n_&hW*rX3S>Yly)p&+@1xEd+`|Ki&@I}F19tE%XY@gIly=~ z2XZg3VA^iiH>+|mYj6l}=TOe!Fh0uRe2gQwidS+qM{*;t;%gkm?|3z{?QwmVbpPN4 z<AS`=xD{V9?#p$?{kXw+GGFBsZsa3;ji2y!h7B->b#=1yE#rdRY<x1a&vJWU`qAz; z%xBz+`HkDKpmBE=Vs9SKv~T?V!neQk_Y1eP2)|@e?q)F_<dIDK-rp}A%%eDlCAftp zxt&LI7ms1sKy)eQWoZ^<8J@|qY{g^QiN~=!%kc)5=VVskBdo|pti;8v%(VR;2RMRN zc_pjyA3UDxS)FZv^!E(AvnKnq76<SI4q<H$XC02@i5$ba9M5{3%=(<q23*9G_!Lj( zDmLWvJcS#1DmSwc(++rE<83^RxASza;~Ct|CP%x!vZb+i@6%fGz55est;6_%L|Plx zc`A{19viVOkMV;K?O2-U^PUZfwDw%Y4*cMYL|R9t{gCjQ&EIjn$+$LeHg3XM#?3g} zxGz^5U&iN*r|?tb+xQu8=T6?i&+T4ye<E$nY@dB`>@l8yINkV6&M@x6M~%BNY(Mm8 zw!GW&{OJ6Zvi$5H#%bBpF6Y^Wv!@LR<81lU268vAV2-dC|FW8}FK?%2vz_s5iR?;O z4rM5(aw)g+=rDQnIpK}xM1B=eK^4;BDy$<^L`79hN6JsoWj)Pw%aCzYTDF|Q5^33k zVL5^xsnU}3kBRfkIDFZ(Y#GO<Wlxk(vq+i$GAbHZv76;c9=>W?jzmqJn3f|sJ}E7c zXsA=wSf{IrnyI<YRtvRMYn`WdYOjv!tS;)N9=b@qbaCb~B>I@XRQ+_h25OLoq$RQs z3uh<ud;}9CGRKLL(NWRS(Xr8MqvN9EqZ6VxMJGllMW;k>i%yMBi%yTujLwSQ9i1D! zH##r+Ky<zvRyZFIJAaSFd5fZpqfbPij6Uu9Sr(^PL{~;vN1wN!7vuCx(O07Xh;E2( zjJ_UyBl=eK?daC%yV3We+oK;wKaPG9{Ve)<bXWAN=<ev==(jG5@8a|i(I2Dk3(3pt zC;Rz1&T~^u&P%wfrN`+E)47x<j`Nz%uYx)}&O5?%(Kvmi>7!IKj*l^2I!>20eO#O_ zAFUXzY`3a$`uJ##Xf3<dj?*WauBQfZd~);@^BTqJ)1qf&%bsXvesi52=e3BojJA%R z7i|}9AMF_J9PJYA7VQzeDB3G}akNkL(r7=+a(SE{XnK%_#PP7`i0H`ZsOaeE*yy#< zanbS73DKLP6Qh%&Q=+#;r$(nmr$=W-XGQOh&W+w1ofmx|IzPG~x-j}^^fA}V6LI=U z=l|(!nfKjgao!5^R%*4LkMq_<*G6BCu8W4}f%Wzuo(IBX{i~*5(<X(-d5`howw-!x z4raWWEqlh>dPnc+1AUw=^ReFTIr&@?o-@L8#HZn@CiCB+CU)BI7jZehH2rn9^u#xr z<K&4tSYlt?{rl+t=z&a=&o>7%FNcgYcR)vzoaZ?uBYPr8B3HtFP<fSK1v7U~93DNw zyrP~V!)YC9`Y4suF)FRHI!@(f*%B35IgH)^tMYi&P%YJt$9baZdTOAPb&4A4G@YTQ znWvZC{*tGArg`CX!)b)Wgk`dy<Y66eazAH9&xxKJZ53@3Z5us5+9BF0dO@^nw0kt1 zFUy}uEmK&Q(uw4Cm$)$QC!DXIak{tZOVn4FslNv33Jum!4cC>rN>^))uF-Y6UN`7Q z-K<+QS-0wT-Jv@*Lw9Mm=I9>Xr~CDw9@4{lM2oaoPv}WKt!K1c&uW#P(+hf0FX@$d ze*O{N5ZxGkJ^DuUt?1j)t<iU*??tyqKa74H{UrKX^z-PhOtaoc5?{sLc1QO{zm0wu z{UQ2e^rz_0QBTFm+fX8!9(4yv&d(Li6U`gVA1xR?JbFa5X!OYFQPGmoW1^*_Wit); z&%|+YUioOnXys_t=<(4S(OS{k(G#Qfq79-aM^A}1ik=odBib~2X7sG+Ini^Yt)gwB zZKLN$J48E0FNk)Hc8^{d?HTPIy(HQ<dRer8bU^fq=-}wk=<w*3(W|0YN5@33iC!1I zK6*p+#^}w_TcVRQO<s4mW_KUe9lBF9beCppj_%QYx?d0KAw8@|v`CBfgr3yXdPd9j ztXAncy`UHMl3vk2v_Tv7y57)RdRtrdZuaEkez-lS?n8<9vWLY@j>ANlpPUh=@#}t5 zhe?^*UshAQrH&`-IO}mGKFpq;_(Y%UtKXI(>?gGxS@)khzSQnn&AMCa^is!h=(1%U zXFZNX=O^}N&q(~BpOv1Tk;tQhDyov{8HX<0zdEi%kNe*lC(1g#is>2QFp1+cPd9b= z)Ok&rn*Uc#)XqHKu<VHjzfJ$u!-xGP8d<)kI_I}#OSJjzxUyb1|IYD-W%_sb|972M zqJ#6>^|$kwTF%t<@OLf8zq*Y6PcK8(^ZKurBX!yQU1mMssbx%^_Mzj{{QqvVE<>W{ zZ}*GT>1XxdJ?%u_-;VFkF89O$x6`5jy#Lf`C$36Q{w)%YBQ@{OOpN~L<4TOn94Bsy zPKi#7&dM}(9uxP*`SUH;qgs-lJMk=ENY5RXBe6bn_tbJEHXU;KE%EU0M|VWOi0;WW zoL=fUf~j$8IS$<|@qK#o2`KSnreRsaei8@MlYcvAJ&v$j>UjRAOf64XmaNlZc@k+k zvL~`DL%Ee#1#%?MU)XQ>mol~dS&!q;-BSBWnRUOZd4Fc=I8$cbf9m+M8vd@$x}UJj z|IRq;as8FU{@(t>ygxf^YCoyNhyADK9lE@!`C0cH_LG`_=ydA1l7H`ozxBf3ajC!G z!ry5A21^{CdA%lzxQ>rh2_2&{I!+Z-S=CfSC+I}ET_@`EWSy$h)I?|MY@MstYOD6@ zq%P{Ni_}|vbeS&K6&j-98mX%_R@Z5~Zq!6gj>~(S={qz%NAfW!by;P-EW-KshgY^l zv$RBbe?B=*y+0q`C;XH5=ac&n@6mf-DfvEqc;6=V{(N}PCLH%&IlLa%9Lo|u14tcz z>OIJN?dEin#}(fH5AXfIXnDf%hBr~>IoyK^p97?hdx3FyUow0K@QCT7Tu&u+j84`m z3ZE&2<w<>3klIh}-}aL{O@F^9eav!%&nF&dcwas&SNM!#37^tZh4)3n`=iTDuW-7n z_?%uay_PR)ol4u!dcLZ%reEVGd0#Z~Cc}GU;eF7}4j0}F4eyir{35Z{Ztp6*7g|1Z zxl-3#;=LT1@3DOl{W$t*^z-PK(cRH+qTfaLM}La`5=~@e9)FH#uIORW{Lw<uBcjEk zM@5g0mX019Eg!8Ets1Q!tre{ktrtBhdP=l$^o(e;=vmPg(N@v(qUT3DMlXnVi(VM* z6}=>SX|#WIV03VFSoF&1sOXsJwbARN6QVaqCq-|KPL19fof(}Sog2L``atxd=)< z=;P5Rqf4X9qboDACsOAvex{UoF7CD_`ciaVbVKyD=o`_^(XG*K(e2TXqMt-}Mt4QO zj_!@_i~bNj5dArtEobI!Ha(g%nkSksS}<BTS~OZbS~6NHS~glPS}|HBdVI8Iw05*^ zv_Z6Cv{Cf*Xwzu(=sD4r(Kb1=C)%llI;*RCsHZN@+)sF1Nc1)CrvVzIp&F4h^AG*7 z`&GuHb&ba92Hm7vG$o$a?WU(`hGuDw?$!O8pXIb3Hhxr#wM0*A*>9(nT%Kn$$BEU^ z7ouz9X}#hw>$Opv^p>{hUA-UolPf+R=Z)r%7K|PqJtA5(zSsR>&K!wPwM%>Soen51 zSB^vu{n_q$?5BW^P;nijV^vYr^k=)*vY)y-S&h|HXRDRk=}&e~J_mKOzizqG6Bp%5 z|MhYIV)HJ`<u!n=kjp3RCu4|dp92IlhHIq#jnO!VpOEG76V1ETeqEl4sdRaU{bbyk zD@VpG-IFW%v3cTwT))0=m6&gT59?96+{3bDEVkdLv^?&Ab*{|k&FAgsMZGN7N#Y-t z<yHIhnMcMOxw0j17jIgIt(NP(EX(zwd7nCr>of5=U5{Zu8R7GiFLNbt!{PJ$@WLSb z?p(kAeUaFmEBSgR<C{#w@uyzzr9SUZe3vUD@l&qcVSXY<?u^7?xs%fwN90a^j*w9_ zcjj>v&z;C9p`$bBCrahc8xE5?-EiEg*U5=0xs&TDB+pM()75mms;h=-=FXN;iznpH zo^hh-x~gX!)?)~V4eJra^$ZgK#^IBv7hXq&btb}VqVQQ(c<mHEFFSO7iSQaJt|O7U zToUy&&s%C7%s9z1o|4;}mG<8_UKVGV*UUVh3nwqPvrMO6|M?6*`FhH_8Ohzkd1?_a zvn=apBzJ3>+qw=8+cxg*bxm^qY4J0h)Hp1ASXUyvCbS&M{lxV`lIJ<R4h-k_e8<;8 zopgb`u1oH>tJA3EHWOa=1$$(kk6&M3#&t@<e#5`yVS47yk?5oTZWDt!LRafr-JprO zRnv5r=IVYe(4ySw$;;pg%kZSrUdr(La~W3{ud@3Kro;8~B408utjiKE<M5g{oS(2v z|H0wIc?g$H_?J9C>vAX8LrGn?iH*+JTbZ}@#QUaqWKM@Wc-Vi+#8;MWPv+&7I&AVX z{|mR##JA4dcltp;>L>lIv^=f^r7J_Z@*q$4jC?An!YZobDydQ`t8(7-t)yzIsXD5! zhH9)PYOWS}l8=cQtsSPV+N+bgsJkvwZ}rh-x?ERih=yyVuGUyxr}4T`6E#`4=?+cT zU3tQX41dcyOMlzxcnnJ3X70|D`53pr`FzB6v?x#Vu`uy?o`1S6rEV9Ar(G7y^sH9v z1+CR9TCa`Tq_?z1@9KShs2%!DU+63C(YN|uKkA^;4)b1$GL&0+RX~TUh>lbV9iuWj zP8C#H)l@?#=tR}m$vRc19ro+%pyX}4$zhqV70)~@kvPllEe^|k{%RTLw~4lkhQC=~ zR`~nX--h8nm*^08>l_X1Dul;?u8y<2E{yYgMK6h78toq)7#$oP7QHe$Dmo^5ZS?x+ zgy_xDNzq%QQ=@lAXGUj7=SJ^~J`jB<x-hyZ`gruo=+fx&=*sAG(KXSRqU)j?qOV2Y zh;EK<jc$u>kA4*WB)T)YEBbYGZ**U#$=mx6ao&OG&zYuf-{E=<)8XImnaGwmdH?vm z-Tvq>e`S7Hw(u{QT9%ZF^vu&t<jkAA4JY#C&7R1of-0<{Dz1_$rLrogimIaHRa3Q9 zR}IuqjdZ%2s=3ZlOSMrubx>z@RS)&l#p<hm8lXWMsu8+MqjinO=?2}TTQo(tYno<g zmgeYQ-LLt2SdVJ4mgs3M)3aKw7qnKdXuURSlit!6y{q^2p?2sqeW9<kN8jpu{iuUV z%jdC18Op7^DxkwvL`SNGj!_vMrwXd9YO0|VbfW6(WSy$h)I?|MY@MstYOD6@q%P{N zi_}|vbeS&K6&j-98mX%_R@Z5~Zq!6g)@`~&({-2b);*f12em+t=rKK^r}T_gXqBGV zi+WlA(5re~Z|ZHmqxbZIKGvuDTwiLpzR`Euub=db68XK_S1ui<{3@g)R7^+dXqDEn zDz8eas_LqxI;y9Wbc!153^mhPYN1v-Pv@(nE>JgJs9w56m#V)8YOsdsN{!MOU90Og zA%F6|_3PgZH|I}2Kc?=JDH9X(XFflM`^jX7yDf8^+WpYSg^WA$r)SK_pPZeToj)UW zKTq73Kl%A`I9%8<@sQ(Ms6~2QPim=_Yo(sk8oi`-+Mw6;hBj-fwrRUQ(kI%fUHV#k zwNF3jfPPlC0#;5?PUTTP6;xprRdJP6DV0?@Ra6xnubQf@x@w??YE&TeG3s>FP1RiI zsHNJdojRzqx~hkI>SFa(KMl|z4b=!;rO~=Z<8*^=(k+^z+cixyG)r@IukP1;J*-Ey zSWEP@mg(8dWlcUWgvZqI__^Br7qnKdXuUQnJjQO~TiT*`<#G1V>pkQB0y#21)=qt; zZ}fu>Dp4>;Mo#5bAr(~#l~y@bR&~`@eVwAyb*5UVjoRx1^-ynJssROaWehKvE8LDU z#u$&&jhdv}HC?lHuO8GwE!I<7uGM-`>$FjCYOCJY$J(i{^o@SdK_v<~FUqSzDykAH zt#YcY>V<M7Y8P_*P<X6vP$=`h)6lq4A?qFL3^mo6I!ov1T(wdgwbl9Rpia6#;l2{? zBjLUg?iZ=sez?u2ZtuT$Tkq<0d#I-_R$ukg01eVmjnGvZt!p$+Hx$Z9+@jm#@*jFz znPxvTG)v+6b`HbiLwF7f&nw~iB|H~}$H(ye8J?r=wV(SnUk~e1E!Gk}tz~*v;dym6 zU(i~;qV?LSO?pdNZ>w93-_`s2P&@RQzR*|Nqi^-S%W=OB=%9X4HgCRUR}SS=ZXKq4 zDxg9ttRjb}CyMK6l~FlWQZ?079o0WPN8%Knt}`9xtiwHKvnAW8ojRzqx~hkI>SFa( zKMl|z4b=!;rO~=Z<8*^=(k+^z+cixyG)r@IukP1;J*-EySWEP@mg!lo)(cvzSF~Om zwMlPji{91yhx<GF@VtpVI;h-*b0-cjoHua{E2u`{0*O<N&o<pwUDVt73SDh_ye1dU zNZi4@&0C<Sj8{0^KU}!)@k_gX#~eo#NE~rQ-bCpmawjUOmQFHmX8!rS(D+gf)~F*g z64z>iCTXg9v-N=eKFO8#zs~el(;wM=r@l7++59|33M7gb$(<<6nnf}abxk)?bG1=t z^(>M%F@PiNKAJaZie{L9KOfc8TJ1PCn)j~#eQ0_Qzc<caG;g9n(cFn6RYsMKPb`{| zIN5X))2&UnFIphc+xYUL>4`xarjZ)0Yc*asX_9W!w4&aZ(OliH1zMyfdPXbtf?n1J zZPMG?rVop{Z+MgOQ|&api(hHC_8RZg52k;#TxrEJ5*f;?!;87Di}_4XWs7-EWCc}H z6;)Gp^J^7LPn>AFo*Ec8R3p=;=?pbBZmx6GQf<`E{Pyao&g!CW=3mI3>a9zRFI9ij z12{-SHNto#uP)~OE6W*{af0#9nxtDbwOG!?UBz-G?z7wddeFQDT&PF&nDG;QQo*P7 zjFy|flB*Sb-uT60na}et8?V!Py;>}Dow+wnZ`KyQqiuR$VfjDMN7|uJ9na?sm)kDW zUu$o%<onBsZ%u!1{(c?MLH**qr5~9ik^9K>L_QT#5f#_bDx-3$q-yq8OLcX!8mp<! zRx7nrCv{U#^-+Hf(r}H^H5#v*HAQ!5=8?ZX=ZEM1tgrV{f4ik#6J#~{8gF*yVH0zs z_eCFwJ`}Z%K{#w;VH_`tJ|2BCx-_~xx-$A)bWQZ7=(^~J=xfn8qMM^zquVk~y=G0B z*dBNPDEdisXLMKe>*(I-zUU9p1JR$O*@|bL@APQS=qhg|S~ouH<(ayyQ_B=g<ca&w z7cCeq94#6x9xWLy6)hVr7p)kr5<NazGg>=ZH`*ZDFxn`3dbDY@dGwrU%V?WuyJ&}K z=V;exk7&>6#nHaee$fHZLD8Yn5r=qH9FLA(Q{3}woW3D?Q}mYTluVPC`|WX_bt00t z+i7t;BRVTOCwg!6{^<PZ!_h~hi=#`TPe;S|g2MV3VLgmx#gpq_Bu{sR>6HrWVXSr@ zUWof&8+|2p_~^#yrc9If(YNBfEe;>n(Ri2d$9W%S+24*hFMJjfzb}}&Er#O>)2YXX ztkbF8!t!R_J&aR_Pnp_p*8QcXQ@dq7o~*m2=BJJ;WokdEamv*EziK#K!u>1pnZkRh zU&PDftK!Mei^B0FcH8Y6eW(5UNxvv@l=laeONS}H3h4+H(@{EFrFE>ztCFg!x@xJ8 z>ggn%qQ*Ky&2*MpsFlvs`Rb?()J+$vmoCwz>aT$stYNxRqcld>>UvGk&6=cJHC1<N zre<rd?$ZN$NDH+{kLyV-)pD)Wb6TU9v`!oJn%>Z6ZPm7;{_uGw>vbD0=WtylFYoOR z_mRT;G@o#%cIj({_c-=4{0*{?Kj?sdR<;t}2T)GsQ9cz^VHH(zl~gH}RXJ5u6&<gd zs;#<epoVIs)74bXb&gu9joPV$I;*RCsHZMgU-eUX&uah&X{bi%Dvj1P8mAj{lWtLX z|7Qws*EG%0EX~oqx?l74upZT7Ez#3jrf0QUFKDe^(RyvvCcULCdROl&Ts|Lahd$F6 z`bvBBt-jZfI;gag-e**Xax1S2=x`O$kt(6^zS=P?qvKRTl~qkObb?M)eVwdRb()&! zOohJ{&*r&mt+r~fPU@oW3h((|#NO(o%XGP}&=3vRNL{V5x=!PDqb6#yZqpr_uDf)% z?ol`&^Yow==n*}pC-jt_QMjyDaFw3di+WlA(5re~Z|ZHmqxbZIKGvuDTwiLpzR`CI z*TsJRq+gUcI`e(K9L%M|lwXB(go^1X9j($jR^=7`hOfk`s;*k9qk1|?r>L>Q^?U}K z=`6KSE1jqF)lnCyn=Vu@U83+F>80$iff}q~x>BPwM%U_kP0-Dnr11Xmt(>YmHB+-S zSNG`wJ*0(Nq{sE7mTI|HD!lLe9K(CQYxt7Z9i91lYeV$4=o@z1tgYIn?fOWcXs33` z`_kcYDDibX%--leyZsQS519U0*^cq}qMXX3d@88IDyrftsZuJda;m5*I$q)PgPN?Z zx@w??YNXTERLymcTB?oOse?KzyvNd&J=9YdE4<Irm;E$AgEUm(_CA7FX|%4<INhL| zbc?3wc1_a^&C(o&^L{Vy*L*#!M~_KQJbp~(-%3v!FV%9b)N@*+m$Xjd{BO`}dLv9b zzRldKZQ8Dn^oe$Am%i3s?b8nmm(Kx(%jjoiE9J6RPUVs7IQcl7&vZeB&qcyxPq<$c zHZH1g85U=_980p4$|~F@%CVxV=y=ssxSiByT{TccHPYz{muXWrSGa7?VYp0NvW?oQ zgE}i*u3hQ2l<2{58HdN%o~FZPeKEsj-Ix6|K!Y??;c^eR%@L-<<$o2!bugOYx$l}% z>51!gqi!*8if-35<C(f!_Zr_{D)YLUUn-GUpoMzW{KZ;QD)VpCr|fr`R_b}JEtOms zA+fGh^5s+FRr5AE-1*jn2<xc4X?nA^=pAj-`=t`e^@BdJ-yPan%KI_eXL`R5DqHFF zL=NRvJ{3}t(wV1K-1N~ZqjIVg=U0o?G_Ovau5Y?woNjEoiJGg0TC1Hps*8H4m->|U zTO;bH%QaAgG(^KRLL)Uwqcv97YMjPvf^O18P0|$Irm32y>6)oox?6K~Z|UD&JI*tH zK=ZXg;X8{9`KTV#<65GpEbB6@)bm=ab$V5swAp^PaGO4e^LB8jzSJJ=(|#RPwlXer z<yJlwQV|u`(JG^Is-$YFsXD5!hH9)PYOWS)t#<0DF6yCP>Z5)ds397mQ5vgpnxKiA zqN$p$S(>YPny-a=OiQ#>E3{f`^s?6LHNB}V+NKY*Lp$}Q_Gq8>>!7lgb^euG`BX?n zR9r`^jLNB!s;Q>xsJ<Giv6`s4FHyEA>oW_r*9GdK-eq$nF17pR3fIRVhU+O@C&NsS zRJcAyGj*L@YkIu$S-zWCh($EX^lduY^fZ=XIi)VEte4TDmrK^mVy44}%iwO_t8l&_ zQ0lxpFNp<uRN=fnuGINW-L{@GFPxucJoL7;(!6YrKZkNFoR8<t3(H+e)l^e;R9}tN zM9tMgt<_Fz9i}6@sE2x~kNRndMrf4AYMdr$qNZr7=4zgnXsK3cwbtl0y{RqQrgh<b z@JsE{J{@}7c-4MVw~I}t54}xnHZOIVgzGe14*48U>b$>W9M0SO{79cFwLD=N!u1eN zBV6X;xV|Wxk=Uc}b<jB5u`W~PRz4L{5f#_bDx-3$q-v_EI;yXRYOE$|t`=&ob_&bV zkzLe7z4UjV-l5AAE~9Yy40O3PQR=plb$?;EA?kB%`mcWz_B%EsF-RjcTH|z+rf8aG z>0Zs(qgtY6TCKHOuT9#b_q9V`Xpg?vL1jNKBavGLR753IMio>|C#b$oRTG`9)@rXV zx=4L=xrS(@#%jDK9+&x^@@=N4>u$}{0zIauv_jA8Wxc95^^QK!r}|RgXup0@j&jxk zRv{JB(K=R@R9$s+k{YX-S|}`kSoZTwcT_j^(xn<04fBR+l&;kTO;XrBTsGlyoN9Vz zxy<u4*YpEgST0v$iB@Qh*6U4e(~fc(8DEqulaaT4fkcV&xl-3_SPwblSU<XST>0ed zm5d7Ivt{_5nT(38WPauH{%*|NExb-ozCTdIyc5b>AK8B5`p6k|P1m#k`gS{6r|L8{ z(V2?th9=H7eXd%oZTakBIWpQiYzJ9?I(eK~mnSSsSSHI7mMP)1|L8O`I@(Vsbyiqs z`T}-QS6O#DEPF;b)7{lW7naYQcadf3T|PadZ~5fkA{qVSWii0~LFNzRmAsl`IgU5* zW=<;axx<&LrfQm|Yo=!DZq3!bnx_XeUkkKQkLoc!t|fX(OSMcZv{I|}yw+%~Ue-FT z*Q<I>oAjo_>zK{lVwtw-1MMiEe4UqC-#mG}?sVS6WtF-d!e#ckQrBg?{F1i|mtn#> zEE!+$udZ*Nx($WPKCH7IF8^@-xxBrx`?swBn!HVg>pI-7b}8IeeQ)4zJN<Bf_)_i@ z8DBZyU%RdBmCN$i`+)mgVxPk2!9VbTepa>${?<}X<xxHrRAK$U?KAJ9mbth}R>=H& z=znPaq~zn)AFQL4-0ct6Q%dgk2kR;&cRO@_rBW3Vi84C2LL$TOKqktWuAoZs{8x2Z zR97w4Q9YfcQ!;l?J;wgKrXJ7#ivQ}kQ-=@xIduBadExwrf5EWd@Gmtlb=XAX3SMWZ zxmu{T+Nq<usE2x~kNRn#hG>LFX{^R+f+lK;rfRxoX|CpJz82~+Ezwe~&}yyG%UZA3 z^rp6GTZQD}rj|LF_`v)f+Nm$KNBgv22bHa&*NV!md@7_ODz2kdM&(pV)l^e;R9_9% zSWVPiE!0}=)KOj3L%q~T{VFCOyR%-dS(i0+8UNAl|L*+Mb(k`o)*qclYCoynQ{&$| zOlr5^+wZ@#j9Cw#x*QHY?r?mmdH-rzQoE&2|Mw1)I=$3>5(8Z)Lo`C8G*;s@K@&Aa zQ#D<)G*|O9Ukmk^mT0L~XtmbpWv$n1dQ)4pO&@57cIr#*(LU|hL1nAtwy507r$Q>C z;yPMoR8EytO*K_V^(+0;?JDbePo398&wH5vNApsLIdngNwEsgd`>coiy~Cug>y%+X z;oqN)Q~S$m>a<gbO_|zHYW!!0{r}m1{_fpV=OMLhsc~vK4jrfFr#y7`L&sr%VP0zg ze`ePGrlu1O-ToS@iJGg0TC1Hps*8H4m-?um25N{#Xq3ikoF-_Zrf90BYnJ9}p5|+z z9@7#nt(08k)Ur4$fBC$m&g)+}Y}ilum-R5eH~y=~mGyYS^r6R}+WqhL(B)5!vo2rO zdH<E=OCA2u%P)0Ysna@ie}|4!hfl0<J6NqXdRgoBn%>kFZPN$Zp`H3td$dpcbx_$V zd)!rS<x?RQQE?ruGAgG^s-~K%qxzMTi~UE-mRiPO>U^cn=l@Alrxi^7otRq2tR@;( z&Xs7Q7M1fRI;xijYE<RqcmKjNhW#fd*v}MAx7$2DrWOCZpVWST&%f($wEsVyPPm+t z-xL0C_&xmpFJ5lR%O`%PIyvn->Ph3}m7G3g+X2aWf3od>Loci3VRFRd4&Swp-zPux zJNL=`W%&+#>ihS<{_fBr+bB5nbbP@0e`H$-fA{GmFNf^TOP2GKocAZU<K%w+#dVY1 z{cn0NDs`Ft;d%L;+dy)^ey8C7#`E#(Zx3X-PLjVH@jK_^zp}lJ)aCWRr{i}2zmEaG z{no|*-roMw_G<q3{^Ndg$aD2y+0IYm<;p%=shqiP&XK+=kos-E@cVy0T1k}Eaq<z% zU)feda(^e<Z#^|o>Nf-%nLbVHD_hr*|LN)ctJB!%G{UlnWv-~O4B@v5Yw5q^w8QcK ztJDAA^Z3_qFaPRt{NL;GKfj;+-+o&?H<9_+^A|s7{i~nH{!i^MycZDu{VT)k+wkwd z+tm9OspI~=acZ~3ChyH`);oG%AL&zlp|ACgzSjZ$qU=@D6FGI53aGG(sf0@DSXEFJ zRo4lstCMu9PFFLXt(H1Z?W-g&f~=QAYMBr9*Yyg*x&+oC2#3l1{NFgNTM*V82<rhH zx}HE-zaXqj5Y{6I>llP}3BtMuVV#52`UzpZgs@IRSpOibdl1$;=v*apUCS=)RweWF z!g>u(KY7~LKS=7dlm5liPVV=R(@xHF+DV;u($wi>IsW8)>p&z8>p;ZwmK?|PmYjC{ zNu95xhaR_eNR#vb<a}klOq2Uht$Xo1muYhMKR91mFVp1yT&77=>x#td^tW|7oVP63 zX>z|=*ZugN)Bh{iY4UjDb@;DtL;szpcj)c-uZ}Z%R7qr9q+YsMeRQe%>2eL!peo6A ze*d=LaT`)4XY%jU@LSN~JIhyPp8ntV+WTtv#qizgG4%VoiEFC(enDJ@@#am?O>sOi z({Npe%RDiuiuK3jcM+1;Z}=^wnGQc&a}|ES<UT&2@Eau$aiJC|d{5?aKB=Wzu9bRD z;Wv!d@FlI&2EC>?6n^U>{3gm~)8V%z!f&F4-<Q~G9DW;U8@KBteWINTziSbG`(l^r zueDeEs$?$n4^?s}vQ^EU$fLq4sd74Ab=9b9?&NuEUe$L6swNNfS8s3sZ`t2peO?cj zL-_YsOtf@)wNX2DsG6R*fZ=;K-FTsT=@NzS-CWB48fbsvJ2*p357$UtZQeB;r*J#D z!T4s=lXR=5hWQS2r}^P`#O^Y_TlZ+5!u9<i7btwMCH4KD@couY%zI4X`*BY&eCOvW zKBE;{rRN>*TE3$7+GzX+H*2f5X}dnsC)%l9`dWLnPd_Mphvoo(R<>%^%ToAmQBLMj zK85d06=Y!*RdJP6DV0?@RjihtsLJZ9rEveM!+JW&Zl~&W(@oV}=cuLHRLi`*w=>;A zo$aq1FI4yrTrXZ?-etTz?)QegzK3T#MBzJ6!#Pq{+ut=D#|gYylXR=5>Q2qnY|Yhu zdO#1^|08@%Pv|Ly?_oY;e)z4mXZf6YYxI)V8NaGcrr**Qy{q^2p?2sqeW9;Z)8)Cx z{`Z;wK?fARhZOu-;k!uLj(6EBr}8L#FDZQQG@t2$Dy*U^u97Nsyw_nYuS%+_>Z)b_ ziL9@ab*fHN6P>BEb*{qq!dkPf{dZtzbyW|A?~3*0#p<hm8lXWMsu2p`Q4QaXy2|uu zU88Z1YXWc9B;Bg;owKRtPd9y+?pF9-(LJ1}2em+t*w11v(bHOHypqppjb2jt{?$5e zu-of;OIwY%@dJLWPxZOJRQRr2_`cR|)8FVj?YG~9Osnp@rpi$GE>~{mt)8AJ$iiWs z>7#Uv=`sr6^E!?dR9V$jLnr7&`)k04Y+OC__I!qM_&!)Oo@M^IY^}DYJLm$_-E^UP z=@MP4{tDk68_2;LrYkkdVaD=0hVRbaz?+RH@itA<Oyk)K-!GeMJWunrP>-4agu?gE z!uPqJGX0EJXqDYxVEDdp_&(ZN)32BpzW=v@uPc0~@h$VWD0~m_UB0gm!*10xziaim z@t4MX_^rOzkH$YUTMf5w<y0Q!tKoBH9`XNh^(BB&Rp<Waazhpfo8XEX7L`OrCSfsH zTU#tHRr}gkZELM<5fl&t6cm-(*U9XYZL%kmWU@^r+hm)WEVCwkvW6m%utVB%W^(VH z8Mm?8{nh?|=U(#k{Re($`ObH~?R@9ln-da%TY)=(yMSfDN{p=n9zgpc)H$fvquz-6 zQGoqi++*lJ4m^qecTj&9_4iS~fcnS4OTf>7Ex<NlJH~badw~N0+s|)-ehBzApa!&n z0WbqafCVTAs(@O|xd-{zfOZqm3OImHzzMLQdF(^&0tSH*z>hhjOc!tr{c+$Fa0ZwJ z?IP+csDF?8IuJoy0zN?dV}Sik_ot{o2mT8D1Nav}vX!3)<WVOBY1vB7rK7z7xCyu! z@Xy2jTXxc{JJHSnRsi<`nZN^}uL0Jgy#d$=u%91fKRd{Nx8b80`zC0Q15W@?1J8o? zJ>Yq?e+2vlcp3dIsM*gNZbN$qup9loz<%IO^xr}KF7O*b1Ly%0PzaP@yc~5EPz%(f z--NmqZ~&cv6SRK7gZ41s1A^%P7WHA&>}ME{qkR(X)2Jta^S~wGD)4*YIuOA)`#DDm z?KtoekN`dd{(`Z8p#B$XE(ibq0bsu)F)auC5_LN21;9<f%>et|h_~hZpMPgI^KT2b zys~xMtFLX}vGes^yYu$!-S^A=2i|z|;9GCMb7<MJQ>JC7bUAC6oytEQTz0A>J3E}O zTgQr=wXAix`EbkO*2DJ0ZHFC)+Yfgf?mXOexcjj4aL?i1!+nSQ4-Xu69d;k~93DJ8 zba?o%_ptA<|8U@N@Nnqx=z#-A@{eeb=#LnWn2!`5DL!I3Qg)=`NY#;=Bi1AJM{Gx$ zj<g)HA8{P%IMQ{*d8GG9|ISm!ov$AmIx=#^e<XNhboYBBM>R)vM-4|!Cxd&A79K4= zYB^eVwBl&h(VC;yqxDB^N1Kke9JL>H9PK#Tb<}yZ_h|o7*HO>Wp`#;*$Bz1s29J)8 zR~*wG(~nmkGmTe|*BmQ4ZX36b*B>h%ZyvXgca3)*vyS(VyT^x)wH&h_bDUHk>pZDF z)_c-)Y~W<U$--lU$A(XqAM+gxZ96);`}IAqA1^sxdc6F2<?-s{wa4p@Hym#|-g4Z2 z+;P0)c-L{~@!sS8+YTKcI#zXT?6~iE;CSfx*opiT+7tQ{#uMffg(r$nSWc9ks5nt| zqUMD4MEwcdiKb(XC+sI2Cpu1aop7G$J<)%{b;1*NIZgzR)rDQ{<C<gYljf5}<Hm9G zc;R^QxMjS3+&3OLnZN9mVc99;vQq`iPIWFjrCoNa@MP5~^{M<*6{k#COyB#i_dO?l z?~g1y?fcpp57rsPp7%yh_nz)M-G8R&O!1kL)2`F*)1K3Vr-x1tpB_2wJ?%doI2}4Y zdV1`P`b_>A?HSz}{Tag<;~CQ#^O=G(g=cEcSkKg-v7Ko;({jds#&M?OOxGFbncg$~ zXS`<u?+4xwz8{(>ohX|qpQxCqoT!?po~W6qov=>SP1H{`OxPwGCz{R<oOPXbpY@y_ zJUeuD`0U78?^)kj|JlIV;MvgG(X(R{>WTab&4hMBH=&;}Oc*Cj6XuD6iNcAZiQ<Wp z3Cl#wgnhy>(J|3A;hgB5=$~*+cqWD>Mkag{fr-$>*kt}>;bifoWwLCtVzO$oX3{!Y zKWUq6nrxZ0PdX+$Cc7q`lf9Guldeh6<j~~Eq;E1X8JZkBr#YuPXE<j%S8%TAT*<kz za~0>R&efc=o~u7+JJ)os<(&PT<6OtNu5-?Fz32MRxz2gc4V@b~=Q|fT7dkg~KL5P- zy#BoLy!m|L`Qr1I^JV8N&R3nUId45*f8KV!>3qw1`+3Ltj`LmTo#%Vc_g`qa(0ajs zq3wd>Li>e|3!N9bE_7dTUg){dd!g?_|Am1It_$u9o(qE)hAs?W7`foR;Je_z5V#P$ z5V|mWVeF#%V*W+VMeRl1Mg2v?1;<6r<&G<ZS4>w1uNhGnTp7IHR&~8Cc)hJ!E^Fkn zK`vY5vQ;jfa@o(y_Ll4IC|l*SpOu~N>zydQa#<~xHFDV?mrhppv|R5&*~&^^@pZ5J zdZ75a-+kThyzaNkWy|$o;q{Q_`sm2@P?21g$z`=%*2|^(`smR0kn4KLEtiAWN8Q&) zL6p0!;gP!@Hj1uNj+V2zqYZM|BA4xQ>6FV-$P5p5ga>=6wt-p(sKrGsZffyR%OJH3 z#jS-@TS~QMR9jB96;xYEwN+GGO|>;tTT8W8s;#5idaAWiZ6nn-QEfBTwoq*=)!M1H zjcOfK+fKC|RNG0lT~ymmwN9$-p<1ZxquPF|9iUnl)w-$HL$!lcJ4Cg^R69boUaIv` zt)FT`R69zwW8<acWpq$8-arSd>0k{Vw9!Gwc=>qMc++^xxMRGV4h2ry#(U|o{$$g* zYkXkbGd?)(J*he7q=OA7OHY<jZ$9;EsaH?EM(Q<FZz1&-Q?G@3F;qdlRn%KUy;kb2 zr(PTNHc@X2_1dY|LA@Q++eN)j>g}c8e(H5muZMbvsCR^VebgJE-VpVUQC~jwX{k?7 zeMagtQ(qzV6;q#u`pT%Ug8HhcuZH@p)K^b^HtK7lz831UQ=fzSI;gLU`kd6)OMU&+ z=b}Cj^$k(q2=)1>FF<`E>Kmi}eCpRyzn=Py)NiK#Lh3K3ehc-NQGW&XS8X{tO8qU= zZ>N3-^><Kz7xg=-znA*^sozEY9_k;W{t@c;QGbB?L)1S;1Nk(dr2#z+7-_&v1BEnD zOam4gD5HT28mOXy8XB<DKs^oEXrPG(T4=yd0}dMKpn)zLaMD084fNB1iv~P2Fhm0* zG~lCw01bp_V2lRUG?-6=8XDBnppFLhG-#kfBMp|)U>OaT(_jS+R?=V<4K~wY3k|l? zpq&QWXwX4}?KIdyg99|^qCqzedT4Nv28U>Hm<C5^NKHfeG^C*+Ee+{tNKZp$G*m%D zRWwvXL(MeQLPM=IWT&Av8gkH3I}Jga`m_%gu|mTNEh}`a(6hq83L`6;S<%9ZR#w<q z(Z&h~E81Dnfg;5CLX0oO_(F^?#P~vtFU0slGT*>yA08vV(><V!4zpr_j=E@QVA-jP zW$$b7+<70a41!|>=mWzTGbZE)5iF<FtiZ#p;(g8OQaXme@OF6FsY*6d$wn$MGC;?g z=@=aM(=i8omZ^V1L&4L&GiIQK31zB7UJx-MtS()4$`e+*|L@<Su=>lt%a<=ZrGM<P z$CfXD?5kX=b?Y}goV)RXu&Mm(nOXY}Y+18)%bEl44Q$=IX7AQDZ@xG1+Mc}!^4@rL z_ZxYaN-vdND!)|m+LpJ&rZV=*^e`(nvLai>%C$MHV6FA6wVu6EtzX9qM%%ES6|9xZ z269<9_hD8r+D`d%@ZipaJK5izJKuhL=i57XsxY)RY;ykJzkOlTmwzK_Q$%fs1=-m- z*=w`cWv|cPko|CWZuZ6;Rc3ZpW=>Y-+N{iVS()pzGB;#pKAe@Ao0YjSD>GXKU_2WP z+2F_qOE!42!ITZIY_Mg6F9&>EvNB)E%G{cjxh*U6)vV0dvNE@4W$wtz+?kd6dRFGH ztjyh6nR!{6d$Kb3W@YZn%KT+k=KieA16i4GWM#gYm3c5L^R2ARx3e<e$;v#G^;KUU zdF1QzC+xJH@`eWn!UL}GfIB?k2@ed02Zq7}!{LFE@BoH<;Q@bmAP^o1h6h67fzj~5 zSlFcwyYj;>P1vOkyL4ffKI}4tUB<A>6n2@zu7a?uFzhM{yNbiElCaAXc9n)*Wnou& z*i{jBRfb(vVOMq7RTFmAhF#XM3ol^xVOK-gWed9+!>*QbCmjlnhr+JTu&X=l>Iu8> zrZ#+HY+N07=ZD?euv;H?8^dmM*j*TQ7l+-Ju)8emt_ZuU!tR=|+ZuM)huyZYyD98$ z3A^oKw<GNC2)nz&ZfDrt8+P}H-LA0P6Lt@U-6LVQFYFG4-J!61EbPe-d$eJXKI}1u zJ?5~dFzhJ~dn{p3S=dt%_Ed#EHDQl6?5PiXY++AR*wYgB*u$Qlu%|EV@q~w3#Qx&g zXw$S;J?-tB_6|>b$EJPOX}^BjUo`D+p7#3%-I$<v2zsYr&<KWV!Qd2(&4O`AFsX%t zdZExK6jcdDbwZI>D9#s(8-(I6p+qB;3=0;MV6hAJH9|v^V0Q{_8lkN~XsZ(1Is}JD z=q(lc)Iz^k7_bNft-^p;aP<i;moQQ<j5vf5G)4uVTk!b>-<S{>6au3{uuuqA2%%CT z)FOmD!kAVxnMBjDXf6~h`^CyZvDzqB*ND|^Vzp1KX%=f7V*P;FU=kZT#hzxdw^i)* ziG3cizfkP26#MJN0gE_LDGm%u`A*5yEt!TTQ$R9}NoJ#Dwo2xDsh~$H(Mcs{siHxu zXqPH$rOGC$vQw%Ykg5x%>T=0CELlTRU7u7pCe`;zP4!Y!tJLI?+Wb<xS85-Xx&|d@ zq2%;QE|28#O2J_%R3?oUNTZ>sIzOr|imJ<_YELwOEUGa_jrORqJ8JYqjlrm?C~B&Y znwp~KzNpz9HG8Ah;;7XbZBa*CilQy{sADwRUKs5tk9Mk~10zwFA?m7%y1Y@hEjrW| z9U6!Zd!l}4G*A#7t&fflL`R2WnzESQ95WhX#-f<9ELJrVt5(Nq8)9|Cu{vL@zB6Vk zi`g1uw$_-fE7nvPYwC?Pd1B4^vDVI*y*_4dinUkA+O4tno>+Hh%vl?AHpO}zv7Y`| zk2}^AjP=&VJdT)eDCQfB`5iHTAQsTZ0>!aFSuEg-1wyf4Ni0|q3pU4sfmo;@7AlX8 zBK;a-qs<RR)a634PAJwdi)gGsT|{GwXbK`4Pef~?IyKehQ$sh^X{e!x8hWWtOLaP` z(^JC$HMpq3O${Du7^H?Fs;i?q1JxO+4ij6b&P;U$R98rKMO0TzbtP11p}JD4E2Fw{ zs&AqCR;ssCeH+y~sJ@-*JE*>s>bt1Eo9dlZ-$V7iRNqJS{Zv0d^)9M+Q@w}k2dN&q zDygoD8jaLwqQ)X>ETP5<YOJ9~E7dhnqm3GysLn=pja1i6b*)rqr@9WR>!La*)%8#v z9O<LFeyVd*-7wXwsoqHSkmI68XsMz4TB^5FgN_>DsfilOsG*!1DygB78d|2kW}&`* z+FLN~?Va`(N|o+uuXWm+FSK<D4Fj2oS{4coE3~Z8v%<g%BP-0TC}c$uD@s^lVMQq` z%2-jJl^Gv^ln*quC<@z9*n%iJOeh8_vob%_^q{EHp=iXk4+lC?_y)5wKhk2_M@5kQ zQ5EKXXvee<Yui3-W~{YsAJwDAv4g@79(a<K313(jQU!f4qrqq#JZSlBXcgyYWnwpH zWn#OcH2@{p*;$!LWsEj7p<ClX(cH}jAWv!=#XxB>T4rBXX4Kt+mV=2Zz})G89j!8$ zCG@sqpdQ`nAaq1Mh>lPUGb9HyBM9->m#pw)2~`%s7nJ%e``&mpCp#x6XKl{9ob@>y zavsjf&DpqCwKjWg&f2wW*R5TTxFKqY86t*wAzFwPB8501N{A66g!mvj9}alqo@PYo zLtE{Kbpwb1{D=2&8_vKLI084|1YCdvFkkAxQ8W_E?-F#~Lh*p;>5Mh&VX0uSioJGW zq+PIhgrb1ZR|DtZ8XSXLa7t)vSi52E!)tTbZd|8Ym%T1$-P(2Q)~#Q+Vco;)a@TEK zugXS<bAYwLI$%Ap0eBe51vUcNDpoMgY{t4{`>Xr6zj|=@8`~n9)`+GpqG^w4IwP9y zh{hSw^hPxO5siy&WX(`SGZNAGBAP%%6N+fYBHH|jRu|D4u*W0Xf{3;-qAiMOizC{S zh}II(mPfQz5p8WmTOZLjMzl>4ZF5B164ACsv~3Y>dqmqA(RM|&-4U%bqV0)jdn4NZ zh;|^Nbw#x9=|G!MUc^k&mPNEdrh>J>SryT=$Zec0IA>rp=wN`g5DOb%>VVt^L%!?| zw15bwU_4ZS+043Vz(-cX1~6b04U9I+zC)TE1ZJdGHUP{pQs&Vp24fZ)P}CUF^szQd zW&>n`(=o#gBIc@R=!hytQNmdWhdQ~-f+Ks%d{HQ{R#E-GoHGp;b7%(xn4u2V%8SJ; zgpgvkYRn8c1@oX?IgK%7la~?;t;`*g?a!BI!IBZ#W=KX112=|lG@wy&!57gQWlpm! zS+;~F0M;FUWrL9b%p~27<@-{CvYMcm${G<p*jC9F5vDSyl&)+Wqr><LnJBOOjkSPY zbnUVPOsQr{S#oyV;ACu=Sj&85i3+bF7TFSFC0igQCo&U6SOSW?`mBM7c_Uh@+`vS{ z3SK}Iv^2>4Xds_KvB@PYL06HlG%$o@P{NC~klRcVwg4hyksDYtI0y>#BH%C^vzlZg zrpRrUX4o<)l|VrP(jMVbN|*t*uOtlHQ!oSeC=KvqBV%iT4MLPf0TFEk2aU=ZvoQ++ z1O>vI<q}h{-Q4nA*vaOqB#kc{$N|;@>wxvZ2H;^J7uX17%Z!XOo3Umy-fYI4&A77} zdp6_GW)rg6j2t#2N0!ZI<gghzY{rg#TefZ4^5!dB_U}EoZ|k<aZFxD{^49KrQ}B62 zQ>j?nivt4hqc}3f+7i(nz;P=CEz`j|oVfe8?AdZUxFv7Pt}VM>$$Mq{D_ghh-UaM? zZO?0`gZR5WZ~Lz8I}YvIaVT%cAvE6Dap-h#ci!%8yLat=EpJcW>0n-7-qyTbD08;v z<>ck;LXo$2Yu?(twYyM+O;rcvB4^jWEqVL4Y~QzK|CVj|%LZ;#Ir|RmIdD37An(Aw zgL@914j#-qxa;7)xAwesI`~%JTf5%cb;g``#{9}Jw{G3KZ7b&O+P>|T?eFZ^vSZ)Q zJ-c@8dIRR{*}ZrB?zi)H?#|o0d*6<I`||efKd}G6!M9#H2>!e+tjNZLGY41;tOM2q z8-Ry_Two)BGam)x#F>wR@n$pTY{s3<*s~dbHk**mX5_FLIkIdvBZtk%VKZ{rj2t#2 zht0@gGjiCBwQR;(He>si-EnJv+^UUR^>M2)ZZ*fP#c``8ZY_&jE8^CwxV0v3wZ^UW zajPwEZHil4;#Pay>WEuA;?}OX)fu<;#_RIqb=r8HK3->x*O}vWh4H%Lc%3C)R~E0U zh}Tuc>uTb4)_7fgyuluCaKsxr;tgH#24}pXH{Q@6Z}7w$hT;t)@djVKArNl}#T&-r zw*0tF8@K7>He=joj@t_3w&J+W61SDbZ544_Roqq+w^`%1`nb&&w>8CWEpeMYZga$K z9dTP%+~$nidgHeKxXmB81?iA4ZX1g?=Eobg@kV{T(HL(miZ_<U8!O_CHStDkys<vs zXp1*C#T#4VjrMq>Bi`5%Z|oZHIoWv981Dt!P`q&@-sp=r2I7sOc;i^S38E_La7nz$ z6mKesHx0*oM&iBYCyQxGGc9SMC9Sl?PD|QoiG!B3(~=Ha(n(9YXh}CManh0=TGC5P z`e;c%Eg7ICE?VNIB_3KbNK1xj$uKP$p(S2g;-e*gS`wfoL0S@`C8M-tj9S#xl20uf zYSB`Qj#~88VxSfywV0^IOf3b}Qb;XD)KW|>CDdY}mQrddqn2`Nsi2lhYN?`@YHF#W zmRf4DQcE4R)Kd$tX>HWfNG(m&(o8Ka)Y3{Vc4}#(76-MoQ%eW6bW%$fwRBU9lUjPH zrI%XzsHH#ZGKuwrQIAOsludixg2f>?%7kj8;4q0seBst5jq0PdW6?%`)b5RGEMlid z9IThLR>{&BEe*x=-LVeWv|l3>4~acG315!Y_Qt%8!ceI==8V=9M;&cqA--y>jW#z4 zfda9iMjYyv3WG6i$@Hi}FpLO=jbepPbXG{FQmMWpT5E_}8=@oqu?Banw?8)Gms*P? z$CxzS9JQEZMY^c7TCg_>L7n7kj^>X_=2ppG5cOzc^&^74R&ce7ofYCpofx!8gZ+|s zBxWrX3d^IKLc!P|7>lIN25ERSYH`J^L(x99SZIklN2k3$p}#{^mrEr^scJwds*&u0 z>CrJ^v}@X1EP9H>Dz7xyDp<5aOQY0~A1yOSySv3czvwoJg`?3zhgi}qRXL{peS*GA zFq*~Ie96-hHTOrI<uRj0C>#>XG(w<9tkH{Oqf%RUthzVW)gANK!~!K^y+Q09iH2GQ z-=JtH6-{cf9QNBKy;&+ZOC1H$$Y3<TKN@V0R`kWx_E>R&V5$)c>_T}+(wd@nNHz;& zLt=42?CX;TMy28*_Fh--6Ndewx<M*&OJ!Kcx@f*3W*Usu565h#Saa?4Xra{J7c&gT z>b#=1W!i5Lv~@y%pD-{cR$C=wiDcD8D}u57pjc;$)%FPmX3-W9n>^xBzUXg|O3hN0 zRcdicgQc;SM$yz4vw8)!Qy8?0Bi+$pw=h~L>UCmsO{~r!n7V{gi{NsIwH2bRL~QL8 zJr1eVAl0-=Az##PiP~FY^{qnDn276?Qk!HfmC9?QHU3zgJ?5&3`J2SX8gZmBYV4GH znk9F+RH&9T)@X0-bU+;~8Wv1`!DJNt?P6ht<f#_=^x|NnST`8O7tz*YAy6Uc)k2M0 zXsHvegMzV9D(aT%3#7K7<Y<%}4yoM|vsFv((P(XX)ai|>y)kVlX77*LgR!>G*zjOX z+Zd}GnI7#Ev>k%JSSU0Lg>6DHc8X1?H3-&Dp+zmUb_%XGQBx`EJ4Hi@XmpEJ7O|#P ztSb{+_2STo=*6<OO8P#@<djNVrPeaZVU`>w$x$jfs-^Z~sl7z%QcK<WQomaAnk8Sp z6mmz^`lzutiZ5)+YNBnW(e~<SPkyw=7xh#`2Tjq@;aI&r)-)Dt4v6_fiMGPNsHt|^ z+b$S}1byf9s9MnL1%p~BGzx`&p{h!#whA?^LaRq`=mbZl(A6sRbP9oTAz&3kUBYOu zsI3+CC8EwG>YGK=plH#Fr43?PxmZ;#Hq?u@YB5kR1_~v0qtw_TnTDi-eyPkQRT`wq zfK+RfYMZ3`dZ~U;vK2@+wPY`nx?PehAPv<^!O>`Oc@&3^%@=j#N81h2?y;z|FzW1$ z_7y~f-dMgnX0XQ0!!c_x)>I#BE{ye*Ct6zy0A0dvsfzU3rq#96YG1-(HYXgO(nLp~ zA{NrdMoV6M?X{h+?PkSmyAQm9Z~qMg4#0_T`>}TKCF{k(OYVy!ms&4XUaG&;aLIP5 z^HTSvu1ooV=2F+iAZwx2Tq*@u=|wLPyi^910~J6ePz6*2wSX0<1L}bWpb=;WS^zuH z2DAemKqtVYcLP-yeULkbd1K%i!*zJW71x!(mC>u}EB-5ESA197uC`y*UDaMSTs2-T zzFKs(<f`dv?bWiYU03_Bdak;z`mYAAsjuZ<9lch5t>S9$HRCnIHPf}iYx-;EYo%Ar zm)kFQTyDQsb-DeD3AGV00IXdKn)zB0IC_9y^z=Z%<xccF(eJ$6cexX^PDtqly&Lpy z(7QqJ2E7~fZqS{eJJENd??k@`JU!^6yxfbr4|N}UeQ0~o_Mq(n#e@D3+C!*^K_5nY z81!NEN6;QY?FD=o^P%>m_FvIo$%piONY01EeAd5W1`4idK+~YFL0^Nu7T?g-f>#T= z7QEUkIzSJYfr2YKjOj3@!<Y_q9q2mH^@{bVVX^$jjI!X00dxcS4WJu9F@WCyx)F3E z`bPAP=pzC^FVM%N0cM#xaAn}K>&gIn1Iw-yT`603rI-~Ztgx`6loe&*YQO9P+*l0* zR>1|hu>yw6-Dr2C-Ho;rZ714JW(zzuK(^ts8$H;Bb^+SV=5|E19X56X-M|p6(!ovx zV1zZyekb4o1|ew>R5ddSC9FaTv#=IspaAP&1`4naW}pDG%s>HVnE~dtS@ygKHH$(Y zYD58RYz7Ljwq^kQSj$1I@gS@lgeM+g2p9%Bt`uHIuE7?TZF0`ZZI(YQ??6F`JVc4y zlH15LNM$ALk!P_?V|m6bVVQ<DN@O2+l)RHO4{g{Xm&{%k0azsSARn2vupjvd$Qh}$ z!HKLy8+m!7Wbt5aR<iiO5;;RzK4Pw%naDBOMpm-?gM5@dki>G3Wgz2Znq;qJd5n|U z&FG+_RD70m6ZAf;7aL(2h@516a*5oO`B};G6jsS4%S9#yyBl`0I4dRg@(l`GGsKqB zQL=SpZDxVeW)WsQ*t?*!=wV%1$$ViY;|GmV<h_8JQJ8($rE<yaWZA?hY){I&3pBRp z6gh04GCP@G$dV;9KMUkN&rT^uXO_rw(H^>@yH*bQD3L=tmgT6mYzILOlikmFm{yi? zS4?u7?ReuA6Z$Or7-ycba@mZKWtbszE&E?KEZ8#GqLW#Smt8nTq4B|pI{%U7k44ng z5p_*ijc=h={QOtHj;Jdm>Z*vkG@>qxs0$+M!ic&kqArf8OCoB^OE0gy@BY<~e&eV2 z-22UCR|>J+3UN5#XkZ5e_8~hOuo2nefSt&W2Q@n-%2AbHZn@lg*?zh0vID!k1Aca0 z?v_tuoVD;3rwz^r4_0Uh>oaoMi=6c%dKyHQtr0r`Omeha;fWn^FppNOTJy7a|0~?C z54Yo{5qFQc0I^3j4tCq4!BqxsfpE`;D->K);3@+*Dpq_0;=R`Q?C<rw*Z!U(tmz6@ zYQl!nu%Rq$C=VMd!qv^;n!-eBX(!MHbOTPH2j~U*fPP>AZ~<<>0}KK~z%VcZcmW^a z2LeD42mzzOSfaE{4deqFKnv&qJzxNgfC(@I1pw?RD*}pv62Ouut*8a8KpjvIGypcB z5oiLMffk?@umf#?184_20Qgq{|0>{L1^lake--er0{&INzY6$Q0skuCUxf#Ne--er z0{&INzY6$Q0skuCUj_X0z#k9%@xUJs{PDma5B%}K9}oQTz#k9%@xUJs{PDma5B%}K z9}oP&TT!W}3@8UGfJ&eWs0L~P`0Ihc9{B5lzaIGOfxjO3>w&)>`0Ihc9{B5lzaIGO zfxjO3>w&)>`0Ihc9{B5lzaIGOfxjO3>w&)>`0Ihc9(SV5t_Jb}4WI>dfF3XaM!*D^ zfdZfqC<2Os62JnK0%brsPyti|RX{aR1JnXmpbn@98UP#62s9<Cea%1%&<farHoyV2 z106so&;@h@PM`<q1^R$~U;uCdZomT!0z<$sFamf1AK(W9KoAH4qrh0grmq1UK<)om z_kD%d|CRQ@SK6+xwA~4t!G}I%8T>cu8+|=w&Culb3>|X+m)?KGbz&rJGKNi>L}Obk zU<cX&2ha|50G&V=&<!|&9-tTK1Nwmhzy-Jg4=@M}0mHxu;01hu9|!<JAOws8V~IwG z8psD=gF}0z?`q4He$|8759U0$_Q7=zu77aDgAYHL``|_#sFeqBc)oRL$H4>J_U$|P z)>hmRZp+)h?e$20Ad+7wf1d>39<LEBMYtmu+UlYm_Gy2cSlcY=S_E^kFj^!SipA;y z!DN$$G*Ne#U>^`lePXauET|HTt77>DVv$iaS4i#oQWw7BG>Lw-ROu1SZlQWOrpGZ| zDK_-TCwL{k@phx(#|e%zy;A7ALBaj0LV+lyA=TI1;3>4-7^-3vVHDQ(PkTetUhlLo zKhdmfoenimj|K#_M#%RI8moX?>+;4#bFE*{<GWjJf_@~?T-gvQ_X+xrL~~W4V5kuc zZPNkx)|2QmHVGzeqyl9?FdGE(NTd?~$UrX?8H8f9P+TVzdxYYUP&}4s?(C8B2Lwxj zU};J;<6B=Ar(kgjr3RtAQ7H8aWhSAlQz&m0Du#v1QlY9ssIm*yI-%MrRC|OPjnGgn zG}H*zG67#Z+xvv35}|2OXf75S3x#I4(CiXgdlD@bZGzn`*hhpmgV5G0I9d}eb)AWp z`fj14N9e2<Iy;1pTA`~wQr{=^n1r6uL`#QB=+_GUwL-rq(b9uzOc*dk8uJBLv*1w+ z?&3ttNSiREMb$10^$9~xVJIk!v<M@uk>-A3BqVq{1#d|3bwyfQ6Rieqq$Mc$2L!)I z@DC@tOYpU0kt=G-7lN%3oHq6XZ=&5;C*Y<f<c!$u!f2f^RxFIw2xC4`lOJjGN7@<^ zt@V|n)+p-n^>2}=_lpL%XlN4+{h|?f9JrmS7tJ=Yz$F$|ip8ag)}A7<C?pmJ#o|t} zL@Qd_60Q9%v9wjR=*5z*NN1l|)+LsWisd%3Y$VdvBUbe!?CJus#xB--MXNc|V~zBf zBF;9!P%ap%#0Irk*AUh8PFt*ELyKr@6m1pw(pMYlHH%Gtu~9F!lqc+Ey<%&L*xV$x zRf-Oc*lrg)y2b9!guTu#I_o0?wPH_8!rqEo`^t!`MC^5oeNAFtAYt!DOa}`ScBfx- zl_c!$py(bGJ;kD{LmaFY2S>%BE^){!4(k(kT%ZgNir#+F*B2S|hyesJP$rJ}#86+t z9%@Y3M@z&pgQWIJ>iWoVwUl2V<%gvF5lPdFymd%=eWJ~5mkbS(sZ%nSCfaIEQh{13 zs7kao;G&|rQY!XKC4~_`{sD<2;`d5rMyaepD%VRD1(9IARN0nj8yJ=<M-y#stfZky zs)dlz7QmZu<m)11!D+QA;m~>jcfz5w0v@RWH*`%>W8rkZVOmq2aNshjrDR%bPdIAZ z6OOvNgri<BbvUPW{Zdzf)MZIH9KnR6yJH$BqodC$^&6yq^R%fW;c%-ZPx*8~v*hWN zJa%bNop6jAq#^rsQNA={l)M_rr=KnwOthOi6YXZ>bg?zjUTBp<{zQAxs5Dw7jiH6N ziuOu-G`~5~UfmhZA4u4Xo2D&QQH?vQ(@vKbMs=e?_fVp}u>%-N*h{e5B@I!NE;`yc zUFM7yltl{)qXqbewkKNPin1~kEo@J;_XMLwwrH_ETGAUWLK%u$I-<oDQA<J8QWUi` zB-#gt6YWFJM7yVIy3!e~a78OT(aP#X2RN$Q679jB=_=cFRZF6M)RpMamQPnXqt?=> zwIgcniq_$;DcVpHt#6GsbVhB?Xrm$8)DmsZpRVymTbdIc;Ir36?Typ5Ls7dwQXWWj zwDu)B9PQI}qto@qXg7G=ol&<l>dB7|)<=g%5*@+*M02w)ihI1_V02_4(QI#w1}YPs zHRV8WOj8-tx?;MrL}x=^OjjQ>d1Hk&vBKJzIT*9}Vx?7y&VGNax^TL^Dpoy`=o}iE z?r4wIYlUHVtihh>LdJEO>ZZH;rn`n?P0fj}(t_!3ccQDjI@a8k=)%EnZ=LS(#M-)I z?H#cWO{`;dy1yjR)iV%tsbikdw5Md+(;FM=NOa?R+T%@h>-33kQ%Rz`plo`mIu;m> z1@*C@B^Insbl0la?AV+4>YDv;?%DI|{xuJ6-LilC-ZlGQ-M;g{8~fi`b7240H9Plg zd-d&yw(j5Z#;XS&+PQc2hS#zm-j<W|$}3y4*Q-?7udR7=&(5uTx4pW0&))rcTXyd} zwB?PRd-tqXJ(T@W&N^Ab?!9|=y}9qeL;DZlXJR=b%+ix3XssmW<W6!(rlBCa$pa*r zHSk#gaQNBjM@Sl(hyO$14)l{qD%r^f$t<!6<=w!4k)>od`l)EAfFqgAM{5o!KO!s8 zS_~<(Q4_LSE?L2mrwM++9XJTN=>~N+`Ig*b{~ZO7*|W%9H%9Q|=4jy;6{2La=c1J? z%Vd;W0Va`sm{w-xTyh&(PSQcmmFcr&ZHg6hV6VbW$nCOMj3tTO1D@Ma6M|o(1gn{4 ztd|Tri^(iGB524TX44}4VKV1}`)=sQuj+!%Ir8}I8?$C3ddwz*TCp+<^-VW4F{$%q z+ZM<%<RBwOmdPT@K5Q0~g<t(A_mwgYT<j;d*@xN3JZB#s)ET}zWUDz@KU*6{$1kfx zKbhPt_hx=JIvpcS2b0A<jQdMj_{EK6p)6O4UlMFglh<H2T64h7Bic+pi!$>_`H6eh zo{f2Fh#Qluc)?<&tRyGfz^vjhk7b);5A#g%oylTrN#vD8CHGTNvT-JpWde&iYbSxq z`iiGa9~)!QRqV#VjSsVoMNFx05aku0^}lgs*~y~Gq$)l!>lBGBpP9G#KV!hdGG56q zh0b!6<*%|nEGv|c5?j`0_TX1-qGYx)O>EWJ4r0Es9AG?3-Y_c`$}|>t#bP#7i4e1A zA=)#ZFj;H{`!EjHW3m(<7+tYKp(~MMnZs;VXsl#<6c5-8#Shlv<oM2#?Pr?UhtU;V zSj}k66DEUY2OFQUlv%<2RCpMlqGcwoGx8Mqvyl;BdN8Ab@i2{FeiUtr&#Y9WF#eg0 zW*o};uxK;?S&w<mY+++8%f9@uRb)GveZDG>dByl=JZ2m-y&2D$Ol2-xEky>KH6usS z$M!OdhBAxg5j$~M{pE+vWs#rBKShEP5oIlyE+xL~G*mu{Mn?T=l-L=<K8goS660f8 z$W}+`Gs!a}isTt@6>cReGm>X!DcOsuvi;0YCEvgFSdlf8gNiJch05wMo4(Y>Mimd{ z!f(Z1B}$CSBBXFI8jB30u+NOwa_9e0*m=iB*$n0@>&<9nXR9*GIFy*OU8(d~&Hk|X zE9=C3QZkyUP(}$6zk{>+k@@86Kkg#pZK*_D_5~5&Z71C1G9rGlnuw=T$<)IsMEn5b z_hHNio<nz#sdzFG-)tx1U%~T1CrSJI?Oeuxfc7o$zCMqeS`FTNu5%|>@I+jBofCg| z2U!xBO{QK%|8y$Ry|I9Zc}s~Xb`lZ)ovh~20+MoI5jXWijF*G&0nGpSE)xF*`cKBV zl&>x3#7`e2;{DgTDa`~Yig%Hzf6eE_4bb-?Y`X}%?w!Yp|AM{WP9cX*&L`sT#av1- zjZFFOAYw1(OoQhg*#6uCPP`ZGv2G%c0zXJ2Vyu%)MN-M#--QnslS#_SMVz=3^0x70 z>XA8|c;qg`X(5?<nkUg8!zN=A5nXqXW#0q;**nQp<`-nq$ZR5BK-_LmB`FWzNx08m z=cZ0#-e>Uh>RlxEbIkiaY}G8_;#&~+&3AF)e}a|(?OEu#ggFnR|52C|55V6&c+$rq z&j~+2fuDCFA9hS|Qx~Hgcm7TyZU?UkeqBd94u7tqUY|m4I*!x#xpXqM663Y7={xZE zkBC=v8A+>wPKx#|7<(6S*&O4<E9k$JN)C<B$Gmy4XEjN+sz}=8typWUarXo_e-Lsa z@a4CNOAmDZ2=-sUofGFm&Ns00BGCP}J4u=j>-sy$yA^b85}A5t0XK#JqD!2__*wXJ z1abzj26eFaPGI^jlJdk7F6Fm3b19G9#)(hE))x`ey-Nvx{RBDa#V^!t402QJSY9pW zrXGSW0doGCO45FV-1|1{zYY2I31av(+8=}V^Tk9=gU<KhpFW99{|#dX*tHmPuOL5u z4?CY&$cagaxd<EXP9@R5z>Y_e2OoAK-th0kWOC=T;Quqmzdgx`OOSWRAcG=Ly5Yl* zF}4hP&tt70#ahjRtRv8O47vvIAeZ++#?N3!BY6J}of~1lFo&C(jB;uFpgR@zC6Ldb zf&bU-<l<?>>=B+^ehu^1;;rLb8JxHaGXH?M-2~mm3yHW0c^RBTral7gKIncNvABX* zJca!+atk;01aw3p?-FRAtR_=0K*w8mknOqH3-^3M($+3QPQ%vEG4}8I+|)<OWGd?m zGIcjkV*dmE>lcuzkEb~?ZytB~mlIr?^$t$tnGBv2Z-&0buqOxo9gwk`?eQ+eBbmfr z0lj)QS-B7L{$l}`w*DqgJPbP)VBh==>oJX(J&1hy+B|akRmfd(E8#@=5J0@HviQv< zcYcZ(iHOgIC?{@CAydCaj(og~O#Kmje}{~t;H{ZWrXNtD#@cUM!im?CNm??_p3{rD z_{*?s%@>GIIuVaUx0FmyE(dKV&X#u<kmwy~e+oHK?4dus&WYcIj(>sgV}VQAbQd?} zhx~9SNr~OWaXYaF3*j%h&dnLXS#)$ZxxNN^-@b#StwRixF&0C-&LB5V-9<FNMqW(8 zmUXw1w2gSz6p_2xSc{twm-Fx^3%>mWyjhsH5_LN0!_c>$a^eZt@DXJF1oq`%&PSa@ z^x#a&#G3yFyb^Nr!)b2n(G)WMSMc`0o=>p8pCc|iFy~J26~Nx*I4`F#ejYKaN6zK! z;>4GrXEK#sUJAaq+KI?t=h9BjBUAV<y2WR)FK@?s{~L2&MxHJJO;}C1T-2vw+vBk1 zk=seyV{^E)_Yu=y;tYEp`=bHz6PJ;t3E1`{?17cgy9jf7=5yRR(4PVA8tnT6#$QG| z4L-jC-S1<bbSJs%PoOsf6Y%*S%*#cNOyK;y0Dp2Qcj&}?5`P~y-TMVub_eEj;Aw$B zf5RLD{G5%x3ch^~9u;g{4*I8f=RS;l_&WT35A>UnhY`%Z6@D~fd;syh0D1;&xgTqB zFJ!!d96pG=UW)O5uO^rGLbeX))oqY*Hp)%4;|%@A?cC*!Sle{OxC}NJarW+BN=}}I ztjpMo>kyOpYQ*RkPW(OO7{MDsj^RlwehQ!egnib5d4B@`GK{|p*}sB}5u6WuP(KI0 zkHcKrM^1u&Dug}TNyH_{qsQ*#rmoLI+~<(An{fsoyMrtohCS=<;Nm~SoQ2r;pCgCw zhF$lg@9xIAjJ^08z783JzAvy&e}w-lu(!`4|Go*H%dp`ooUQ+WP4B|jw_)FX*hddS z=XH!-#~#%#;Qp{0dH!eg55Ttt*Ew!G_UkVYM+(1oL(T`u<fR`XA0#{ro|}tjH)8rP zjQtgHeE~Xu)lR0?;w!5Eh8?dh=E8Xs+}*c<{ut&y5#y#-Azu<$w^_)=_poMnq5c7E zUyC(e3VmVZ!TZp+5Nr4#cn{)TBmrM9BCmggnB`A!i+zy23i{5${;``mv3WLG@t@G~ zN5uFCcn6xs`F@72FXV&~Pv1hEjX0N{#Cf(4^uI&L&%l2R@K4yj3(u7wLf=!c@jg8B zFT(%-fvlgwzURU7A=)Q_1oHY4#^&(kWF~l*U_E~V`ZH*o5z{${#WmRV-38oDUhLCl zp#K5<yKo*H#(DNN^iSPE=6PWMV~D|j-$9}es>swu<p0CSo&N^!7k82AuG<Lr0sQ?0 zvYy0OaT{=+8t}gHH0Jys`7mn{C*BIb9-W8$>%{W_Hhdp^kIsRu$fsfC<09BXVehVa z-0kl{->(phk1>A_Z2mj=<5<7<=aRWDjCnA&A91+^eg6eNKJLU>0-kKFiL{z5|2|?c z4K#pv6Xp*hSF6z8fbsdr#r5!OFK|mLx&9FR`2l$D#Cy`spzVk6t>FC&^6q2ETn!zU z?<9-;pdE)^H{$XrPyVp+cDys;8TTo4-vnJcoKIhay{YiyBb?PAEhD?WGoK`Xx|d7w z<N5gnWPbr!+01X`<NWK~q2J*-=fu~xpCVs^kez}2=tdsjgJ;!)$gxi7JcK=OL%k35 zXfnzFCE`Af99RcmKEhsp4$s#I!22L<{RHn}n<lxb=i$!-z}IdkQxnkn4cIjsd+&DG z@B!vNg8m8U(?Hf*%1x;!IBo-;cYeH2{ROf5Gk8+K`&*oOdib>l&)c7(e+}!dg4`j@ zy@s`qttOiNkdck&!dBecB=+Jx1n&ZItpD3QH}$U+a`k@f&zF)(#_h=0+ZK?t2X5u2 z{uBFMi+Q!M&5Cn&BhKvSu%4gZMN;d)|0L`SL-z#EwJ-24xfr&8mnZ3N#9{p|Zt6wE z={MLTxrnnJwC&grC$TQSfn65FpCI3Uf_(cno|9)F=cibobI8*^@ZN&)51=;#?`l58 zKM8wy9en!^Wc~dv!bNfBKL`E^<f4GJeS8wOrIB6FfcLW$@`qmRlQzit95!siJI{Y3 zUV7x<hlp7M`~u>V40#c>zYjk-*b+r9Jq4eloh14Z-dC<-&kNYo-fl8A56_bospRA; z#DC2e>=XF95%WdJla`UhX0#u|x$+Lr-LnWb{)^+p2cY}g$kQy0eGlk|J^us#%c<n~ z7m!=GA{Um!&vC?~0%MbSSM(r9#$nsHuzqJTo@mDziuz6P90k1zeuWUjG2jz{6D!eo z0Dr=II+v2PKOz4<f$d$8_ZjBRz0O_U55F%VR#$-6A@>UM<4K&^P3`37AowWw)*-)s zj&Z3Iv4BmhfIj5uKkp*Do|;dlywG>s9fZ5QjNEbeKd~=iR~Wv023YY7*?1e5c6Kqh zedB!chdRhyh4b#~h{N}w=Xa2Q9=3n-Aeq_(S|RMYfVG`MY_B8c^%#E#@?tofVrZ)< z$6dv`PAwxTkK=2B>#(a4;{wJuz|Ie`XP?G8=OL!QT+H1%2K`4mv1cIremt9gjc3dI zY2=pBY@$&kf4_})wO`@u!0*J^7qRl^WxQ9vjMglCwVOnY_{w`drwp=N9!lPp$Fgwq zWWf!n^2wH~Jd|tkb?&pMl^LnzUCe)$Y$o^1Uqv%E<=*i{v=%~M8t%T3OSq9+$OiHG zx?J8bmmFDk<KAUH<}Z|QhqquP3HOn#RPHQT$?iiq`9_v~#Z7R(_+z=AgL_jZS^2vE zCV5^u?n&63J5aM5Uv_)59QDlI0JD&R-CE9uWaZu?ncOGeEVA1>c1O)VGdDH_nmOD) zD_%2w%o?S~B+UaDRk?#^_Xs${(N{j~wm{L1|E@-Eu`w2vdu82oF#pRt2<7&ham;|( z$$HFlW>GTiWH-?4Hi&)Z;bx58f-{Sf&}Nn}pKeE=(Q$s=h$OqEWFK}@&+g+C9gL#f zt<2OcX3Cwfa(j)FO7@7^Oyt{gMJ~IuVJpS%@t93Bcc?6aEG|qhlcU(reEh0T<(^)l z-hwffFG;X%#@d<qvpLF*3*%MpdeD&D?B<+#JqP+(d>99_L-CGz%HqZBVI$0XC4X3~ zSo~)0{gm$$DA8dVF|)etelYchG<NT-+&(i&%qm7<vX#$_bcK?F97@6(D48&0g~FK* zYZNOLo0v4FQSnmYQSRtcKxOyyY~7XEDc@I7Mp>ko4T{}teCETXf0=hPk!1JMY-MM@ z!}4X8GJDvZ8GDo{Dl(Gf{8qeGG_mgwun&`^tO@gvdBDaQWhR2Gt$gO+$V+yArbtn= zv!1dhOh1#r=<GIh=5|f_Zi`|W`|gMmCnkq+DLR?N+4#fO`m6b(>|jP=zAHJ+V#>0J zoeOLyD0-QEW`}Y=t>oZb%u-gE$(hNZnYhmECN`7JQr4Z_9e<e<={SLu54-<mdvPWo zW+KdNQzS8enHI$!Wp}f3CgYX(vO9Mri)W(EYGv(bBBjKbt>_#%%b8qelM?rtn1LXF zl>UtOGhB?9fmzM!nfXdz@s>q|eNSX2hKhW4tFFXKiL<f>ij<k?GOw7GjH=lFrBzId zB0-53^H0eIg`br(pBc+oU&&u3T1pnNSbud6<DQ{0eTo%I=FI3+X0j2MF^q?Oc=CMm zcarZz5YqUaWE|h-Oy*xDH)D7%zcT4h2ueEtB;Ft35C0>g!8pesCI3J_m!DjIW;yQe z`Nzo|^i%jl<XzP1{L|!&+}}@L1iw}FjOtkxA)EOv87&!%?_1<P7{8L=Mb=_GiMR4s zK<D_UGoC}ei9g9-LY>6FKwgKOI@LAR@8$V>GWtNz<~I@i-`gaWzdK2UefL5h`}S-$ z|DWV%s5kR}$@nYya{2u$-dMrvr&c_Tn&ZbZPJ?b$9a9~Lyp{Yx@*D7{@cYP*P;>nE zGhV=WCjTZm0KHb#ORArOZw}-iMWj~pEnEbAi(uC+us?<W0r>^`>HHMA0)E2(2bn~b z!tW((FwP-vpM##pZy|PBeriTK<a4}_@5hpI{Mw`+!2ZqrvW!yDQ}|a155CPjpP@xR z74g=gpThry{7Saxzg6$So;29;N6=qLUX^?=)@=zt#(zteyPf<Qd>r4z7s>MDWDI=i z{8oHdo5>{^YMF0w68nXjEBR+g4#qkD9r7>O&GBy$E&7}J`57g${-?-&=v!6os?VVp z|Jyk?AoK4gkH~&)CVsiUG2`ptUxfUb3%`?)Hy_J+vxS@nAK@2f+=Ow$=O(=@>wSvc zgL&(hE?RoiQl|HDk_^6;{PSct=sfZ#6a86y%iX=`r}FEQzK?k+h~p~AN6Kc*g1i(y zk9<q!KS+L!dKG_w{2cR=5cg&1C!@X_{mpz{MlbkztjnJ<JsWwq9^={ke)4nFgdgBO zK)rtH+@<NTXEoOMAo_ElPr$HM^@OSt{;yy9$kMN2d=AF<K<=YynQ2*gTrK9u`CmZ3 z3j1a$=JEWC<Zq}|{ARpYGd<hL0@SHk_mfx`tIDQoguJ=@<4K>vuW!tKa_%!Y`WC>x zdGK!~zlS_2^Y0{|K>upUy&Zkz0k;h`$KRH5C-iZATE;xooB354HK=D{|CPz(FOuKO zem+YcL4Py9Eu&2y_uYM5?%$J9i9X>Mb2p>E0PB_pz1jR5WUoB`sf=eao(*|bGJjTv z6@89BPtKyB#2+Dlfd3p{!<*qxI^y`E++UP&Gx*Z@&&dVwt%CoVkh>IqwO~AnKSsi+ zQ?cK>F>f<}n*Usun@1i4e;Uto9@MkI|2fP{$9is&<-SS&fj-CY%*d1ZyLb!c=ki}C zzgWTK9LqQkIzj&CV}3H9iC-Dc?B7kkhT5v?RrMj>vv}{_$7K00kZWK+Gw;g0DZJn& z@eV$Q`AhgNXkd1~LAFBgec0c(!Tz~e?|taksrIUV2|25fKM$j?!a4CK<Z-a`CG<D( zs*DYopThDF{R`>G(vP!;B&6;For8b<;9rD!w?gitX{xkr<d0RgMfD2gu7v$&S>B(? zbEpabKV%AW7GOW5f`1m)>0^*L^D8qdAdeu<=fIcBKa=!#<k4pSp^QeE{wj%LIF+5l zs5w3}<3X8zTgDxze}Hpi1<nl)=gvLo=kolDB*ZZZ=fGO%A^gUSuYrCq@}GnJG|>Nw zn&<nuk5O}2pU=Ry5_vrjeXHs}RNsUBn|UrHAM?`qljJ?nQ~62$Jl2WhznAem=mg_D z>dlDr|DaCgS0#N8yJsQJKZTzh&hO_@CnIl`pk4|3E0B}SZzmb(=kf<vybU`E&V%n^ zo>euZ8iwAvu;=?2PvUP&3WJ`4^KLHs9Q2=)^W@zX*Jc0U59oyNBp*S4HverhAMzJr zf2F{0j{h6^H^$SkKIc)dg8rYOwyJ)l`myZa2!9y!(y<O_<?%h_3Dhb4+oTY3aNU)W zjBy_4$tUQqLLRKZcpCp6=|q1u^6~4at*Yl#--SFLa<VYK5^+s{J`2x}^DvLYIopSR zD*t5CpW#m~-?^e!_WLM*2=W*6Wqc~?)rkLM@NxVZ@(}6;Y`x$|GS1Br^jBit{){@8 zFI`@@oW=d#j4I4af}UrgHyQPJQCn3W)gbIyg?KCk|E0O*b1QKkr6TXAV9!d##|OGq z^()o8;7iB63Cv5vx-17hoqwGq&|eAuY4kZfpRS=^iF5FC)CAAZ-=eard@4WYr{ejL zfL|Qq`xDHoQ(abF1w9RMm%y)roHtOfLO%Qu<Ei|^Nq+=CL0<h9^jyAjdEatozl$G$ zKb!Dgu^n|T|LBTuAx>7+r0N{xZRU4nI6+UrK2XW_eTy_>ej4P9sOLi8FG07eexQ0D z{8rV=s-K}=$v;arU_6PxZ`O5;FW}!ydJFn9A?G3V3BNpJCFF9@`>L#edB!T#vk;HF zFwXJcC6A-#QBQ!K;Jmvk^N;bTkdK7FS$<_+g6GB-&~y3L6+N=u*Hlx`zXa#ei=Z!n z{|m96D<S6z*t40Rmr*S1dH?P!=%?d+xC%W<{6%s<`0(wIj3kU(RcBOZAtxF8<dU2} zb62E8KEZnY3G-6<Ta*3(dODsnPhoyK{QbIY_fGB|d3<5gB*r<unY)Vq0<0fi7}4KP zUH~7D{TT#({nB|$=gZIUo48xhpT&QNtiw3L`^ej}9WSbW0z2j+U%m%=Ch~JOYAe?J z3h0~p2Quox$MN6H_%`YV$g|ndvzhPXkI3{L+}n_QAI{^Ypl`zS^CIY*`Mnwa^0<R9 zK|D9(IcP?oU|p}EN{7AgL(eL_R~$z_g@1zF4LKY?#P@>#8}pu=_YBVcMX(3IOdRpJ zK)#D{g7tV8a+2{}{+aCm7a4z$^;r1=%uB(3vVbp%|H<7yMUA{5H)H;2+VQmC;T&JT zG-YWj;-SL6UXAfO?3Z7|Ppj&LY8-Vg?^*G|3TDRu7nAk9Lq0>Dg7-WF>P*aA1G`t^ zeXkt-P5e<_g#I+d@3h>{%2*@&+00F$znQ;3qfWN(IqnDO=kjNlzrUQxd4cSQoNRsv zsRlhAbq4I@u+AGn&*cp(Ot51K-V>k3{AA=?6!j1B9`Y3Sy;b$5>LBb*;$OP^Wm(Vb z8QmCPh4-^pFrUZyGzj`)%zp~>O^E*jS<b?wvxpnvpX0ud@g&6Y6ZCWW^5ylgE0^E0 z;uYvk;{Qxm!=A-hPZj2+;{5)LyiR!DW8PB4bpU#-su7hJcHq7E?j4{fV_j!~z69?b zS(rBq=X@IavvB^bN6qm9`6uf8@I1a9@;CEuWV{EyG~`tP^V1R6Ut>I%zjwubuwyZv zLpw0O3VHn_&<XsQE8DXn>G!aEGfr6(`q_9dPr>|L{=kYiF>fXRL-Jqfuf)2XLY>4v zG)o12&nI6<{w<!Xi*YUy%;PbB0b)5k_hzG?1UnW(&r0kcFXoNTJvR3w;+@OCy5g6R zy9DQY8u$o*6SoB8DcJYlMxBcFTZMWN<jsd39_zaUa+dHd{D<J@psxq{xd8Mf7|-Ru zLH0r(-j})Un75fv%FxMjH<J?(zkX@j(mBXetLk5>FA!f2QP_=f9`=R6pM-UpK>rf* z`V{gy75^XF-w=;guxB&$ZsxaU*fE}r_xX*WFM)mz{riv~cR+s%_UkUl;jo`h!>%Pb z|2AUWs&c8^&^HU~`%l<$5${JQ@P1@fg;b-U6P!nXhx|?8ehmCc{Hj?L{aikEMH>7` z#`FDl=u2nMZP4dH&R*2d<9%i&;+~9t9{PkI!OAl`U(0Bh>zx^0s8jftxL0A<CcF<l zB-8h0xaE35h6Qyt?B9d&T>e)p@}V!6H?A<F-URPbFrJEi;)Fk&`ByU>=o7pTPs;K7 z3wZ#3Uq~NI|1JF4#OG#w1LL{8dqo`c7a+eDVce=3Q~efxrt-0*58y{GuU(<XIN^WC zhr!R``8F!cdy(XTAMd;5BMe(rKUe(%^HSjV9E{K6Pu+bP^=3SW$}n#c+ZW(p1U-vU z6WAG-?RzofCDcj$H2I?(m+xi#C;GYkb1U+omqWb24f<-t?JdaT@IE<#dK1>|FW}=4 z$3FSo+e0>ko&-Gv{2YIK#$B>p7w<w{r+Qm;2==YSIc5T1D)#-S@NYHp{5H9Na}tMs zCh|9q`KkPsq-*G>^2tdlsCnqU1iobC-C4*>K_1=;zD>x>J+hwMqzL%%9+B}l`h@=? z<M*gJ$UBGbD!d0RlILg5x(hXjuUigb{z~lI+30V^ss1PMuf)0gsXYFRjBV&!Rj;YG z!|q&u+lqaN2jR0b*2;WaNDKG~PPgyKdR`z`(fwii6X{RM@AD`5Nzl{z5$<DI&wla} z_&4Ew`aaN8c~#Om*qh61R_Nq7znJkd=$mk!%tyTv>zEGyhZf$u@V<pCu4TLr^lW@R zzE0M=lY9t$5Ajct`_boc&ZWrl*qN~xe2eiMTZp<2&-n@1pN@U`B*uS)^ZQwxCmiG% zux^=%<L#j1d7SY+_%~rakD*S%y4(Ufhdg~$mh-0SEy&@ZUnT43ITvc44-+TqSy=b? zASM;^K0uwq|Ckhjo{s&p4RRLaIrTlrSpvHjp<ciA8%w__zZWdbSR%{cuX+RWH)G$` zqMysZwc;JbC6_<6LXCPB-jnZyoK)ELJIKF>J-;A-Gyh;l1Nc|Lt_>KUh4-)17@vjn z@Lu#&@P71T@Zmj-P|(xC7X>{Hd?#f4c9U<&e9w_@qMyWXxI0&_kMb09=iqs6MSn4# zCz<H4hClnzCwMA8gZ}!Zo0dKfKNcfy%h2cePskdKbG$^-P^a>*bB9p#*tbXIc`kk* z_?}OmOg@M6$f~-ax+wd-CZh>-g81x5eGm5A0q`f|J@6v(Bpq>G3Oi?E|Ga@ZnQy*( z7~`AylnkS+x0C3xp0i-@TNq!Beftc?)A8J#M1M2(>u2Dbh4-CQ^m*|89pfu;4(Fjx z!#Z}MCV1NB$ntiPZ1nM5UJ*h3m+)2C(af)`jMb<!*}j$K4rh#@pM>|L2WK(6R7n%C zHx<wC|G@lNu(L;&yCdUu@DarEq%3DM8Amq>=hp*}a|zG6Q^?CC*!vv%so1v{F+Mu? z_}t%to{sfCC+q9s2QhyW^7RbrI=si9NBmOw*GPt}=ez%pt@8k{qKek`Bqt;RLhl_C zq?b^oOYb1P_ufHzm7;(GA|QewD54?=(vhkZMLI~YN)-?h1yKRp|9-P(-{jusKY4b( zS!=Jp_w1Q-&deO|iLXD#`w#tM%!9)4WAyn7{3z@eBhKoaJ$FWbQT)32_2@^0ZhJTB z=X1-@G3pr2`|PRcrDwe<fm|Hp@dI>H&X51_?ad4S1^Gzg8sO{Q_Wl8*L;b_X(Vq%G zG5ATxd2Uto!$KFlf9VhLKJQcdJw8Wl4nHaD&Ck$9*+1)pNy-0&-=8@mg}*+mid{?n zYq8F)M7~V6O4%wi-#n~VhprV$o@*u;N!-`KqO2Qf(LWn=IOYiJP$+cI+YcSd`>B-J z3kx0aqM>70|6V4ZD7`-e(=eWq#OvYz5wIwJXZ$Ye63y}S7J7@~o5nYTj^q95^XR8% zzURSTGV1gWbR6S&1PrmC-SqVz#y>^A7RUWf$W=*EJ4JncQAj;ULYE7j$#Xo9`n%;? z4jqo25yTO}`;~KG7@s?3!rr3zKJk6AQ=L!GdLb95{ThBc=3{1PkNoyRSLgV6$G2M} zwkGvj#PMbfdg(Z?C<i~D{k;fsQTUk-hOs~Wh<bkP6@)Gq+7kOSdew>dbL1mgAGd*F zp+;U6`jfK0EeFeFOOh>;`tv^08-#o`^I<gchWOlO3;p?7j|+fteC}8STom6Uz9(@+ zhgwCnrjFsrk3_yj<le}A?Ehh*3K1RPd+dLoARk6vuQC7fv!3699Tl1w_AdMuk#!^U z`s>B&_%+yz<9*i+_|c&Y5tq;}!FlU^=orTH4)#6HyPpt$e)23BF8O-iVfsB*-*oV+ zGyhtHapYGWei-|GX<vSTR|)-Ep(MGcLVLVV|IYW5G2#k-qS%j;Ll@<JLM1SLXm98T z<RU`%!tVQiqjM#L4#)33)II9B13HY)&s!p2i(grq0-coi2OFV7>{oq#e=)gc`Eo}> z>;3(2xVMmgk9r)0UoJEu_B!>BW8S_6KMnIV6?qi^fAan2&J~NC$10T#3~~NF9=RAk zhts$J(V@E$_xw7q3O%F0I-l?C1tUXcBlf`$<Ma9R$VCuOf3RGrR%{*oMNqdwzJ9rg zACPO!JZ|XE;}PCd+?5M$j=hguG<ttSr)NKGiruJCm#|*=j|^pu*o$5^)`@k#-PN({ zkoQ6j!<x`voz>-e<ZFfU<yrui3(bwaK|h~|c`fMAPn|2G7smLG0i#0Iy>R&HsQWGC z!#Llm<@;;mwSphR`W}N^9Pe+sLobSN8Q+TevWU+mhxqfbQN+*0Q!CUv*C)RIy0E** zd93S&q03}@AzL-(cR1_8Vc3z>_eJ0T-`)jqQT(I$XV|F~Dw=Dluir4N8T!%e_qUL* z#eTXBeyvclTr<E(_#yN>_}!pAKF7M}%U6lGLmcHoaj|**d=H1_Fz$;v9-jB@$L5;n z+du0yM7~yNK&~~=Q5=8!K}Uq1&siQk%;&S07>^M1^g475`(Ms*&98gjS3b@0AO9iF z!_WCNpSSyY{1X2se!`K@3mwOKLOc3B*5?&qQI3l*fzhF&5%-DnDt^AlPc-Ym*NCMG z4UZTJKa9_-|3*KIaV+EK*ELsna3Akm4zvD-Vecc~&VE)X(Ko!0p{sK?)XL<&YuHP} zJWEF0`PqNtuouNTF&nvB950U|mz4O=K!@1xulf4_=DG?$ER;1OhB#t~w<mfY^Y}6t z&F778AQu6B7CM}9xIuR~^JotIN=Zv4EzSG3Y#gVS(VvF=)8aqGdBa2GQZfD!ejV3^ z-S_R(^3oy~#;X4uej`G~!%NT~$@+Q$x&+6sy2$bUO|A;iky>w&kL0*e6s#4B%r(uA zx1M(lF^}_@NysmX|26&z;}FB=d|i;^yvjQYEQ%i*KMcOdSyv(Sq8O)G<dc&B_kKJ- zh5d{?pX2823mwNiJqCstpRZ7>#k#W#y#mk?zFZ$Kj{XwlR}VbQr~2Rd<JrcW1<iis z?e+bB9lsyHaqMRi@Wa`UI->tl5(bYK-zGp!4FA*H0P0)ZQk-{k{W*Pa`Dgkp(q0R% zG<_|+y5Z4$k7}Bp*Ta{RmVM`&(<|d8^(J5=ZE!u0`Wng&T7CTg9AViG^FRAgZ*92p zC7V^*NakG)Xx)pd@AT7q@m_m+GkYufUl)$P+hxYlWRtn=|M$F-SoXYJURVB83NIaU z`SD?Y>AdItYZkKjQboMZ{F!fyURN8$dX;<`I><rQXsS)NWLt6Sj?f5i1hlS*$>{0& zg;aP^Okwb%(6?{Mqu{GDo#?CU+0`+MJscm|Jx&3Ui$f;{8%f}JUT!GWA&Sf;sm!8% zEJZF%PQN!2{oHIb*}dn8Qs{XVh+VeByqs{9u^T178-HQ^Wy5Y1{?upR^h+`yl)jtS zH~6}$LKf``5PiQN=EtC`mSTuPFV#!g>keZz)kUxD)I%@T&0dmHK8juWszQ3{O09za zRv5YHItTeliG5uaCX1?s#iRM6Do9gyQ~0$@=SQhg(%jO^e6U3Q&r2MuoAs%~>M8pX z{z!9$ukYJ@Du4AU11DJ!TGvOpdy{oXvMP`P35zV8%Gk?vv~3($2i^TD4^jNrH7Y64 zP3h+$f67bOUWM4!6;@#$*C)bJQ*N%lsr?yc_oK>ZCZugnI0?w$73(&9%+5GTMtLa~ zT{B~|#qY+8t_UmQkBd0Ti6RH+>}n3^IuIKH`Lw%hbzO(9*3!$a1yQA~T9Quc$EYgU z^(gYJE6ftV>{>KcJu<MAkh6`Ojfm-}O1ef&*HEdNim;eJYKqzBred<aLMw=>YBR*D zW!I0{?6-YdGss5Ds$y1RshQ@bduc?IVM|xXS?yd-S}9zm?7A!EZX+X~@~+X;?316Q zY$x-pl!X7X=H{igtXgJI-nEsQJxf)vmu8S&jy5U9s(bkD$~k#gcDg%TtB~fDy_A8w z*In1iY22dx7<D(a&0CwPfkIFlw}+_;%E(nlE3Im*Ss-mir7Jd76E(N(t{c)`qgNPv zfq0U!>L;ue>bJE<TOt3tKkXaR)bYn<ZmX!-Q_Zasw(msw^VO=R|6Eth{}_DPXxSK< zf6WuE1GZ;G1nU@NqL;00Hn%my^pb}5M;DK-Rn>L4icq!Jb*{D&>&q{9g_NS!x@CL3 zBxO}-^?>l{gc1JV)v$hBrEM;%@^<V{BsSMX>#AUJw5HfKST?(qyY^_eKdYt*`>!1Z zG|oDbYhGEO%TlX{YA&0~B?VHp63DkWnn|{nNz>wyRlQUZmzk|AKAV4bMW6LrouzG_ zbY-HVwvkMzxY^W*DjL<)-B)k>nT@Z@K%Pw3tqI~-Ub2utiK}Cq<2a8RH&w-sPS)>M zY13D|+*m6ovuoG+*-SOAMn+dj>%YxNok@u6;&59w&n#2h*K}^7>m%)D`;WZZywjG; zTQk5i)X2!Po}!Sj%7~+i$(HmjUiq@sShU5Yu`;XD(da5ZLyfT8E0v>-zId*>Z2Zql z{@u&=X+>o-P@dg>qBX_VY}qqw>b2~W_;cRY48>)$OnrLU|K!X~+y8uKqM8|P|21MZ z1_>3n9PO;hSyu$++h(fjZu_t*qo(L|6tZk&-9}bh?&a1xt(O+1Ra4_6=>)!2PcnKQ zh@!ClIAN4*v~1>^HTTpDX=ydq>g&8fV&nh!G6|DZRys!z&uLmtwhy?`Q68>tvT2z* z8`4$8`qNR<{zN5MwJpm^`?<U&)Jxim#YR-4tG~n&3AStx&^(Uu>n}O0vyGWaYV^#f z&PYwijRqaTJeRC|nm0qMgSM5Q{v>6&I(b=;bvvGG+q^ki{wyw4L0is}woOX=jz-s2 z!NqOa(;2+9dRa8Kcguq5T4egK^}+Nl4)bRDn;G?r{@>noeq`gMNGxAT*t%hHt3Pq& z%#va^i;BgpTFq@HD}UM4%X%#)t)I?X0^i2K_6o_n>yUkQ--6q+n9R3$iq+0=jnaS3 zLG|cqD%y)IYZs$sV_92|tCn<C4_j+(Hfr0gz3R7`%D&^O^2${!r^RI>p*f%}dk&0M z$<`-VXZ6~=Vgp&xZf$cMdHTPv1fI6s`Mr6S1<OLKlv#DN(JJ9qc-7ouSHBxg<tMAw z^j~%Gyoyi5y@h-@*Y`=dx1Wp8s_+3~E-p^c_sq$-CoLKMz34x}g^cfUvGjDX9oQcJ zR`@-UuZ{d)=(mQh04~5zdj|b5U+%8M&IrCNErR@O^uNaE7gP8UN7tR4p<kcNZsc<e zeIEQMEZm!k{Z82b2Rm(%{|vpPDZ)H`U)6(W8O+Du2>ks5zXAN?$Q43P*Cm(2p1!X> zg`I=QtwQc??DfIk9^|tlukVv~V@KE1wxgz{(0`M7>my$n`2k=funKzV(CY-20`<LK zGvdw({fz$3lrR!M`aX6#b&3L4lZQUXpM=~r<l3TF9DAve{|-Opi8Ir)aBmoK3}boD z%SAljBA*Yv!^o{h?jRRhq~T)Z7m$CKxE2xj@96yjHbZY8eim|{<u2^MiTz8^2e=4u zJN+5x{~bH$u%qwkS`f!l<c1)p?-SPGuQPOM=z7@y82dGdBQyNv>PLPF`V-JENPe5C zk3Mfd9~t58K|VWi=yUFOked|C=UH6bnFsy^>@>mdbJ*4Qv2VlI_fDTuA6;J(!ToIm zp>skn$NnqWUx}Svj6+v0$g7&1aYes3`dRUJfqHy^d`;wI$?IkOK7}8S-OA|aL|@-G zd<gv`^kL}NvG*!*>GRGUj7M?oMPM%({Xg;L;@{wR$jv3*pNUu3H!Vf~W8`0Ce(JjU zLinrqm*?H#L(jwLFGYVGdL7XFhdA0&-{fF#;`tE%tMCiqcP;hXiJdu&!!r8+rav$J zN$A)2ZoSF#2!8X!{{w6W>N<mE%vW7Euo*pF?>IXNpQRDU_td=@^yfU6q7!yrz)nW+ zPx7cqTv>=KBlrk@cJ#leUbnbF?RVmCg#T68-%kH5<f72Ki=M6zoJhVYuseu&>!a6% zIz6TT5_S%t7e{^#po>7iOq`dflfG9-f&6{=$KdPxg4)z62l8X^qtEI4;r}z{Lv!qx zMsE&!2jOQVpJw>!f}a=RuZEu={z~lCh2M}b_kIHJk^k4&{}}uFKC=gUJHbbc=N9-2 z;OqLq-<gN&;Gd+PqsgxU`Hdislf<zD%t-wDJoY{8>+}2}#8rs#+(2EL(*GH9r8qVF zp1NNlo^sH4SO=<7??0iNL;r+a9qj1)>>|n&Tt<H{;;2I$WwCbzdoz%~O+LDww+;4m zzr_Ud{{y-6$bAC722LT)mc)4;{1nvp7>$Wf*QeznkF?}<kT~`I_gMU_fqxMGuf)-i zIJ98*gTEa85$Nl>;Oh7rhW!@UXX<(lq4hn=O#JIQ$gb%3puZOV&Dg)Q<L?*fZ=rSF zK}PCY5BndJudXA_N1pmT`(NVF_k3Bgr|Zi8z;9*vr5L}N=np_&*E?;&Pe$?|O8#$S zZwdD1(m#~`E%4J|H#Inb{%yoPleq6=Z*~|*Q{;OxuXoa)3AyXUQJFj&gP%gL#otRL z^$(a#MM3{McJ)2{GvaChof~^!feS!=Uz>$^bRAkn@Cf6Xp1AdWS10DzBIE`jr|a?7 z(XZ>@1`+QF_;ukI=*k++`ZJpN+v4XoE~iirea|r)x!c55o%n7N?+e7I`#`!8$M?t$ zB_DmS@+$SIi~IxX{4H`tkc-9s-`G0=F2~P@^smL<P2%iK9B1Hv0$=wR4TOFJx(l?f zs~CxWJ_7gNVLvDfKRNuNU@h4pp8v3~?-MUGUb;SK6#iGkk0Q<t$UVgGm*n$4xSRF0 z75Ql@y-Hnlox&83AJyrPqhH^*?8Dz$^d@6}26k>^U)R^fWA`L<QIs!2?`J>N_tyES ztG<WdMBMs*u?KdO!2g(dZjom<;*P=o&y3$D=<k@1*QiS+?Di*)tkhT61B|9#?;|&f zIP`t|B<yz~-pa�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 mrGS2bpI9&i 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 HlhFSGJ!C@L literal 0 HcmV?d00001 diff --git a/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/fonts/PlusJakartaSans.ttf b/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/fonts/PlusJakartaSans.ttf similarity index 100% rename from chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/fonts/PlusJakartaSans.ttf rename to chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/fonts/PlusJakartaSans.ttf diff --git a/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/main.js b/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/main.js new file mode 100644 index 000000000..7441204bb --- /dev/null +++ b/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/main.js @@ -0,0 +1,2 @@ +(()=>{var e,t,a={1211:(e,t,a)=>{"use strict";var i=a(28161),o=i(a(49507)),n=i(a(68048));function r(){return Math.random().toString(32).slice(2)}e.exports=function(e,t){t.addEventListener("message",(function(){var a=(0,n.default)(o.default.mark(function a(i){var n,r,E,_,T,s,S;return o.default.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(n=i.data.request){a.next=3;break}return a.abrupt("return");case 3:if(r=n.id,E=n.path,_=n.args,a.prev=4,"function"!=typeof(T=E.reduce(function(e,t){return e[t]},e))){a.next=13;break}return S=E.slice(0,E.length-1).reduce(function(e,t){return e[t]},e),a.next=10,T.apply(S,_);case 10:s=a.sent,a.next=16;break;case 13:return a.next=15,T;case 15:s=a.sent;case 16:t.postMessage({response:{id:r,result:{data:s}}}),a.next=22;break;case 19:a.prev=19,a.t0=a.catch(4),t.postMessage({response:{id:r,result:{error:a.t0}}});case 22:case"end":return a.stop()}},a,null,[[4,19]])}));return function(e){return a.apply(this,arguments)}})()),this.call=(function(){var e=(0,n.default)(o.default.mark(function e(a,i){var n;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=r(),e.abrupt("return",new Promise(function(e,o){t.addEventListener("message",function a(i){var r=i.data.response;r&&r.id===n&&(t.removeEventListener("message",a),"error"in r.result?o(r.result.error):e(r.result.data))}),t.postMessage({request:{id:n,path:a,args:i}})}));case 2:case"end":return e.stop()}},e)}));return function(t,a){return e.apply(this,arguments)}})()}},17311:(e,t,a)=>{var i=a(55852),o=a(54842);function n(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=e.chromecastTransport;if(!a)throw new Error("Chromecast transport required");var n=a.getCastDevice();if(null===n)throw new Error("Chromecast session must be started");var r=document.createElement("div");r.style.display="flex",r.style.flexDirection="row",r.style.alignItems="center",r.style.justifyContent="center",r.style.width="100%",r.style.height="100%",r.style.backgroundColor="black";var E=document.createElement("div");E.style.flex="none",E.style.maxWidth="80%",E.style.fontSize="5vmin",E.style.lineHeight="1.2em",E.style.maxHeight="3.6em",E.style.textAlign="center",E.style.color="#FFFFFF90",E.innerText="Casting to "+n.friendlyName,r.appendChild(E),t.appendChild(r),a.on("message",I),a.on("message-error",l);var _=new i,T=!1,s={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,buffered:!1,audioTracks:!1,selectedAudioTrackId:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOutlineColor:!1,volume:!1,muted:!1,playbackSpeed:!1,videoParams:!1,extraSubtitlesTracks:!1,selectedExtraSubtitlesTrackId:!1,extraSubtitlesDelay:!1,extraSubtitlesSize:!1,extraSubtitlesOffset:!1,extraSubtitlesTextColor:!1,extraSubtitlesBackgroundColor:!1,extraSubtitlesOutlineColor:!1};function S(e,t){_.emit("error",Object.assign({},o.CHROMECAST_SENDER_VIDEO.MESSAGE_SEND_FAILED,{error:e,action:t}))}function l(e){_.emit("error",Object.assign({},o.CHROMECAST_SENDER_VIDEO.INVALID_MESSAGE_RECEIVED,{error:e}))}function I(e){if(e&&"string"==typeof e.event){var t=Array.isArray(e.args)?e.args:[];_.emit.apply(_,[e.event].concat(t))}else l(new Error("Invalid message: "+e))}function A(e,t){s[e]&&_.emit("propChanged",e,t)}this.on=function(e,t){if(T)throw new Error("Video is destroyed");_.on(e,t)},this.dispatch=function(e){if(T)throw new Error("Video is destroyed");if(e)switch(e.type){case"observeProp":return o=e.propName,s.hasOwnProperty(o)&&(s[o]=!0),void a.sendMessage(e).catch(function(t){S(t,e)});case"setProp":return void a.sendMessage(e).catch(function(t){S(t,e)});case"command":return i=e.commandName,e.commandArgs,"destroy"===i&&(T=!0,A("stream",null),A("loaded",null),A("paused",null),A("time",null),A("duration",null),A("buffering",null),A("buffered",null),A("audioTracks",[]),A("selectedAudioTrackId",[]),A("subtitlesTracks",[]),A("selectedSubtitlesTrackId",null),A("subtitlesOffset",null),A("subtitlesSize",null),A("subtitlesTextColor",null),A("subtitlesBackgroundColor",null),A("subtitlesOutlineColor",null),A("volume",null),A("muted",null),A("playbackSpeed",null),A("videoParams",null),A("extraSubtitlesTracks",[]),A("selectedExtraSubtitlesTrackId",null),A("extraSubtitlesDelay",null),A("extraSubtitlesSize",null),A("extraSubtitlesOffset",null),A("extraSubtitlesTextColor",null),A("extraSubtitlesBackgroundColor",null),A("extraSubtitlesOutlineColor",null),_.removeAllListeners(),a.off("message",I),t.removeChild(r)),void a.sendMessage(e).catch(function(t){S(t,e)})}var i,o;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}n.canPlayStream=function(){return Promise.resolve(!0)},n.manifest={name:"ChromecastSenderVideo",external:!0,props:["stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","volume","muted","playbackSpeed","videoParams","extraSubtitlesTracks","selectedExtraSubtitlesTrackId","extraSubtitlesDelay","extraSubtitlesSize","extraSubtitlesOffset","extraSubtitlesTextColor","extraSubtitlesBackgroundColor","extraSubtitlesOutlineColor"],commands:["load","unload","destroy","addExtraSubtitlesTracks"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded","extraSubtitlesTrackLoaded","implementationChanged"]},e.exports=n},63020:(e,t,a)=>{var i=a(17311);e.exports=i},28215:(e,t,a)=>{var i=a(55852),o=a(53683),n=a(55126),r=a(68816),E=a(38742),_=a(54842),T=a(82494),s=a(1424);function S(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=document.createElement("style");t.appendChild(a),a.sheet.insertRule("video::cue { font-size: 4vmin; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0); text-shadow: -0.15rem -0.15rem 0.15rem rgb(34, 34, 34), 0px -0.15rem 0.15rem rgb(34, 34, 34), 0.15rem -0.15rem 0.15rem rgb(34, 34, 34), -0.15rem 0px 0.15rem rgb(34, 34, 34), 0.15rem 0px 0.15rem rgb(34, 34, 34), -0.15rem 0.15rem 0.15rem rgb(34, 34, 34), 0px 0.15rem 0.15rem rgb(34, 34, 34), 0.15rem 0.15rem 0.15rem rgb(34, 34, 34); }");var S=document.createElement("video");S.style.width="100%",S.style.height="100%",S.style.backgroundColor="black",S.controls=!1,S.playsInline=!0,S.onerror=function(){!(function(){if(A)return;var e;switch(S.error.code){case 1:e=_.HTML_VIDEO.MEDIA_ERR_ABORTED;break;case 2:e=_.HTML_VIDEO.MEDIA_ERR_NETWORK;break;case 3:e=_.HTML_VIDEO.MEDIA_ERR_DECODE;break;case 4:e=_.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;break;default:e=_.UNKNOWN_ERROR}m(Object.assign({},e,{critical:!0,error:S.error}))})()},S.onended=function(){I.emit("ended")},S.onpause=function(){L("paused")},S.onplay=function(){L("paused")},S.ontimeupdate=function(){L("time"),L("buffered")},S.ondurationchange=function(){L("duration")},S.onwaiting=function(){L("buffering"),L("buffered")},S.onseeking=function(){L("time"),L("buffering"),L("buffered")},S.onseeked=function(){L("time"),L("buffering"),L("buffered")},S.onstalled=function(){L("buffering"),L("buffered")},S.onplaying=function(){L("time"),L("buffering"),L("buffered")},S.oncanplay=function(){L("buffering"),L("buffered")},S.canplaythrough=function(){L("buffering"),L("buffered")},S.onloadedmetadata=function(){L("loaded")},S.onloadeddata=function(){L("buffering"),L("buffered")},S.onvolumechange=function(){L("volume"),L("muted")},S.onratechange=function(){L("playbackSpeed")},S.textTracks.onchange=function(){L("subtitlesTracks"),L("selectedSubtitlesTrackId"),R(),Array.from(S.textTracks).forEach(function(e){e.oncuechange=R})},t.appendChild(S);var l=null,I=new i,A=!1,u=null,d=0,O=1,c={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,buffered:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOutlineColor:!1,audioTracks:!1,selectedAudioTrackId:!1,volume:!1,muted:!1,playbackSpeed:!1};function N(e){switch(e){case"stream":return u;case"loaded":return null===u?null:S.readyState>=S.HAVE_METADATA;case"paused":return null===u?null:!!S.paused;case"time":return null!==u&&null!==S.currentTime&&isFinite(S.currentTime)?Math.floor(1e3*S.currentTime):null;case"duration":return null!==u&&null!==S.duration&&isFinite(S.duration)?Math.floor(1e3*S.duration):null;case"buffering":return null===u?null:S.readyState<S.HAVE_FUTURE_DATA;case"buffered":if(null===u)return null;for(var t=null!==S.currentTime&&isFinite(S.currentTime)?S.currentTime:0,i=0;i<S.buffered.length;i++)if(S.buffered.start(i)<=t&&t<=S.buffered.end(i))return Math.floor(1e3*S.buffered.end(i));return Math.floor(1e3*t);case"subtitlesTracks":return null===u?[]:Array.from(S.textTracks).map(function(e,t){return Object.freeze({id:"EMBEDDED_"+String(t),lang:e.language,label:e.label||null,origin:"EMBEDDED",embedded:!0})});case"selectedSubtitlesTrackId":return null===u?null:Array.from(S.textTracks).reduce(function(e,t,a){return null===e&&"showing"===t.mode?"EMBEDDED_"+String(a):e},null);case"subtitlesOffset":return A?null:d;case"subtitlesSize":return A?null:25*parseInt(a.sheet.cssRules[0].style.fontSize,10);case"subtitlesTextColor":return A?null:a.sheet.cssRules[0].style.color;case"subtitlesBackgroundColor":return A?null:a.sheet.cssRules[0].style.backgroundColor;case"subtitlesOutlineColor":return A?null:a.sheet.cssRules[0].style.textShadow.slice(0,a.sheet.cssRules[0].style.textShadow.indexOf(")")+1);case"subtitlesOpacity":return A?null:Math.round(100*O);case"audioTracks":return null!==l&&Array.isArray(l.audioTracks)?l.audioTracks.map(function(e){return Object.freeze({id:"EMBEDDED_"+String(e.id),lang:"string"==typeof e.lang&&e.lang.length>0?e.lang:"string"==typeof e.name&&e.name.length>0?e.name:String(e.id),label:"string"==typeof e.name&&e.name.length>0?e.name:"string"==typeof e.lang&&e.lang.length>0?e.lang:String(e.id),origin:"EMBEDDED",embedded:!0})}):[];case"selectedAudioTrackId":return null!==l&&null!==l.audioTrack&&isFinite(l.audioTrack)&&-1!==l.audioTrack?"EMBEDDED_"+String(l.audioTrack):null;case"volume":return A||null===S.volume||!isFinite(S.volume)?null:Math.floor(100*S.volume);case"muted":return A?null:!!S.muted;case"playbackSpeed":return A||null===S.playbackRate||!isFinite(S.playbackRate)?null:S.playbackRate;default:return null}}function R(){Array.from(S.textTracks).forEach(function(e){Array.from(e.cues||[]).forEach(function(e){e.snapToLines=!1,e.line=100-d})})}function m(e){I.emit("error",e),e.critical&&D("unload")}function L(e){c[e]&&I.emit("propChanged",e,N(e))}function D(e,i){switch(e){case"load":D("unload"),i&&i.stream&&"string"==typeof i.stream.url?(u=i.stream,L("stream"),L("loaded"),S.autoplay="boolean"!=typeof i.autoplay||i.autoplay,S.currentTime=null!==i.time&&isFinite(i.time)?parseInt(i.time,10)/1e3:0,L("paused"),L("time"),L("duration"),L("buffering"),L("buffered"),L("subtitlesTracks"),L("selectedSubtitlesTrackId"),L("audioTracks"),L("selectedAudioTrackId"),T(u).then(function(e){u===i.stream&&("application/vnd.apple.mpegurl"===e&&o.isSupported()?((l=new o(s)).on(o.Events.AUDIO_TRACKS_UPDATED,function(){L("audioTracks"),L("selectedAudioTrackId")}),l.on(o.Events.AUDIO_TRACK_SWITCHED,function(){L("audioTracks"),L("selectedAudioTrackId")}),l.loadSource(u.url),l.attachMedia(S)):S.src=u.url)}).catch(function(){u===i.stream&&(S.src=u.url)})):m(Object.assign({},_.UNSUPPORTED_STREAM,{critical:!0,stream:i?i.stream:null}));break;case"unload":u=null,Array.from(S.textTracks).forEach(function(e){e.oncuechange=null}),null!==l&&(l.removeAllListeners(),l.detachMedia(S),l.destroy(),l=null),S.removeAttribute("src"),S.load(),S.currentTime=0,L("stream"),L("loaded"),L("paused"),L("time"),L("duration"),L("buffering"),L("buffered"),L("subtitlesTracks"),L("selectedSubtitlesTrackId"),L("audioTracks"),L("selectedAudioTrackId");break;case"destroy":D("unload"),A=!0,L("subtitlesOffset"),L("subtitlesSize"),L("subtitlesTextColor"),L("subtitlesBackgroundColor"),L("subtitlesOutlineColor"),L("subtitlesOpacity"),L("volume"),L("muted"),L("playbackSpeed"),I.removeAllListeners(),S.onerror=null,S.onended=null,S.onpause=null,S.onplay=null,S.ontimeupdate=null,S.ondurationchange=null,S.onwaiting=null,S.onseeking=null,S.onseeked=null,S.onstalled=null,S.onplaying=null,S.oncanplay=null,S.canplaythrough=null,S.onloadeddata=null,S.onvolumechange=null,S.onratechange=null,S.textTracks.onchange=null,t.removeChild(S),t.removeChild(a)}}this.on=function(e,t){if(A)throw new Error("Video is destroyed");I.on(e,t)},this.dispatch=function(e){if(A)throw new Error("Video is destroyed");if(e)switch((e=r(n(e))).type){case"observeProp":return t=e.propName,void(c.hasOwnProperty(t)&&(I.emit("propValue",t,N(t)),c[t]=!0));case"setProp":return void(function(e,t){switch(e){case"paused":null!==u&&(t?S.pause():S.play(),L("paused"));break;case"time":null!==u&&null!==t&&isFinite(t)&&(S.currentTime=parseInt(t,10)/1e3,L("time"));break;case"selectedSubtitlesTrackId":if(null!==u){Array.from(S.textTracks).forEach(function(e,a){e.mode="EMBEDDED_"+String(a)===t?"showing":"disabled"});var i=N("subtitlesTracks").find(function(e){return e.id===t});i&&(L("selectedSubtitlesTrackId"),I.emit("subtitlesTrackLoaded",i))}break;case"subtitlesOffset":null!==t&&isFinite(t)&&(d=Math.max(0,Math.min(100,parseInt(t,10))),R(),L("subtitlesOffset"));break;case"subtitlesSize":null!==t&&isFinite(t)&&(a.sheet.cssRules[0].style.fontSize=Math.floor(Math.max(0,parseInt(t,10))/25)+"vmin",L("subtitlesSize"));break;case"subtitlesTextColor":if("string"==typeof t){try{a.sheet.cssRules[0].style.color=E(t).rgb().string()}catch(e){console.error("HTMLVideo",e)}L("subtitlesTextColor")}break;case"subtitlesBackgroundColor":if("string"==typeof t){try{a.sheet.cssRules[0].style.backgroundColor=E(t).rgb().string()}catch(e){console.error("HTMLVideo",e)}L("subtitlesBackgroundColor")}break;case"subtitlesOutlineColor":if("string"==typeof t){try{var o=E(t).rgb().string();a.sheet.cssRules[0].style.textShadow="-0.15rem -0.15rem 0.15rem "+o+", 0px -0.15rem 0.15rem "+o+", 0.15rem -0.15rem 0.15rem "+o+", -0.15rem 0px 0.15rem "+o+", 0.15rem 0px 0.15rem "+o+", -0.15rem 0.15rem 0.15rem "+o+", 0px 0.15rem 0.15rem "+o+", 0.15rem 0.15rem 0.15rem "+o}catch(e){console.error("HTMLVideo",e)}L("subtitlesOutlineColor")}break;case"subtitlesOpacity":if("number"==typeof t){try{O=Math.min(Math.max(t/100,0),1),a.sheet.cssRules[0].style.opacity=O+""}catch(e){console.error("VVideo with HTML Subtitles",e)}L("subtitlesOpacity")}break;case"selectedAudioTrackId":if(null!==l){var n=N("audioTracks").find(function(e){return e.id===t});l.audioTrack=n?parseInt(n.id.split("_").pop(),10):-1,n&&(L("selectedAudioTrackId"),I.emit("audioTrackLoaded",n))}break;case"volume":null!==t&&isFinite(t)&&(S.muted=!1,S.volume=Math.max(0,Math.min(100,parseInt(t,10)))/100,L("muted"),L("volume"));break;case"muted":S.muted=!!t,L("muted");break;case"playbackSpeed":null!==t&&isFinite(t)&&(S.playbackRate=parseFloat(t),L("playbackSpeed"))}})(e.propName,e.propValue);case"command":return void D(e.commandName,e.commandArgs)}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}S.canPlayStream=function(e){return!e||e.behaviorHints&&e.behaviorHints.notWebReady?Promise.resolve(!1):T(e).then(function(e){return!!document.createElement("video").canPlayType(e)||"application/vnd.apple.mpegurl"===e&&o.isSupported()}).catch(function(){return!1})},S.manifest={name:"HTMLVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","subtitlesOpacity","volume","muted","playbackSpeed"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded"]},e.exports=S},82494:e=>{e.exports=function(e){return e&&"string"==typeof e.url?e.behaviorHints&&e.behaviorHints.proxyHeaders&&e.behaviorHints.proxyHeaders.response&&"string"==typeof e.behaviorHints.proxyHeaders.response["content-type"]?Promise.resolve(e.behaviorHints.proxyHeaders.response["content-type"]):fetch(e.url,{method:"HEAD"}).then(function(e){if(e.ok)return e.headers.get("content-type");throw new Error(e.status+" ("+e.statusText+")")}):Promise.reject(new Error("Invalid stream parameter!"))}},1424:e=>{e.exports={debug:!1,enableWorker:!0,lowLatencyMode:!1,backBufferLength:30,maxBufferLength:50,maxMaxBufferLength:80,maxFragLookUpTolerance:0,maxBufferHole:0,appendErrorMaxRetry:20,nudgeMaxRetry:20,manifestLoadingTimeOut:3e4,manifestLoadingMaxRetry:10,fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:20,retryDelayMs:0,maxRetryDelayMs:15},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:15}}}}},8679:(e,t,a)=>{var i=a(28215);e.exports=i},58703:(e,t,a)=>{var i=a(55852),o=a(55126),n=a(68816),r=a(54842);function E(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=document.createElement("iframe");a.style.width="100%",a.style.height="100%",a.style.border=0,a.style.backgroundColor="black",a.allowFullscreen=!1,a.allow="autoplay",t.appendChild(a);var E=new i,_=!1,T={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,buffered:!1,volume:!1,muted:!1,playbackSpeed:!1};function s(e){if(e.source===a.contentWindow){var t=e.data||e.message;if(t&&"string"==typeof t.event){var i=t.event,o=Array.isArray(t.args)?t.args:[];E.emit.apply(E,[i].concat(o))}}}function S(e){a.contentWindow.postMessage(e,"*")}function l(e,t){T[e]&&E.emit("propChanged",e,t)}function I(e,i){switch(e){case"load":return I("unload"),i&&i.stream&&"string"==typeof i.stream.playerFrameUrl?(window.addEventListener("message",s,!1),a.onload=function(){S({type:"command",commandName:e,commandArgs:i})},a.src=i.stream.playerFrameUrl):(o=Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:i?i.stream:null}),E.emit("error",o),o.critical&&I("unload")),!0;case"unload":return window.removeEventListener("message",s),a.onload=null,a.removeAttribute("src"),l("stream",null),l("loaded",null),l("paused",null),l("time",null),l("duration",null),l("buffering",null),l("buffered",null),l("volume",null),l("muted",null),l("playbackSpeed",null),!0;case"destroy":return I("unload"),_=!0,E.removeAllListeners(),t.removeChild(a),!0}var o}this.on=function(e,t){if(_)throw new Error("Video is destroyed");E.on(e,t)},this.dispatch=function(e){if(_)throw new Error("Video is destroyed");if(e)switch((e=n(o(e))).type){case"observeProp":return t=e.propName,T.hasOwnProperty(t)&&(T[t]=!0),void S(e);case"setProp":return void S(e);case"command":return void(I(e.commandName,e.commandArgs)||S(e))}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}E.canPlayStream=function(e){return Promise.resolve(e&&"string"==typeof e.playerFrameUrl)},E.manifest={name:"IFrameVideo",external:!0,props:["stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","volume","muted","playbackSpeed","extraSubtitlesTracks","selectedExtraSubtitlesTrackId","extraSubtitlesDelay","extraSubtitlesSize","extraSubtitlesOffset","extraSubtitlesTextColor","extraSubtitlesBackgroundColor","extraSubtitlesOutlineColor"],commands:["load","unload","destroy","addExtraSubtitlesTracks"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded","extraSubtitlesTrackLoaded","implementationChanged"]},e.exports=E},46704:(e,t,a)=>{var i=a(58703);e.exports=i},66383:(e,t,a)=>{var i=a(55852),o=a(55126),n=a(68816),r=a(54842),E=.0066,_={loaded:"loaded",stream:null,paused:"pause",time:"time-pos",duration:"duration",buffering:"buffering",volume:"volume",muted:"mute",playbackSpeed:"speed",audioTracks:"audioTracks",selectedAudioTrackId:"aid",subtitlesTracks:"subtitlesTracks",selectedSubtitlesTrackId:"sid",subtitlesSize:"sub-scale",subtitlesOffset:"sub-pos",subtitlesDelay:"sub-delay",subtitlesTextColor:"sub-color",subtitlesBackgroundColor:"sub-back-color",subtitlesOutlineColor:"sub-border-color"};function T(e){return e.split(".").slice(0,2).map(function(e){return parseInt(e)})}function s(e){var t,a=(e=e||{}).shellTransport,s={},S={},l={};Object.keys(_).forEach(function(e){_[e]&&(l[_[e]]=e)});var I=new Promise(function(e){t=e});p("unload"),a.send("mpv-command",["stop"]),a.send("mpv-observe-prop","path"),a.send("mpv-observe-prop","time-pos"),a.send("mpv-observe-prop","volume"),a.send("mpv-observe-prop","pause"),a.send("mpv-observe-prop","seeking"),a.send("mpv-observe-prop","eof-reached"),a.send("mpv-observe-prop","duration"),a.send("mpv-observe-prop","metadata"),a.send("mpv-observe-prop","video-params"),a.send("mpv-observe-prop","track-list"),a.send("mpv-observe-prop","paused-for-cache"),a.send("mpv-observe-prop","cache-buffering-state"),a.send("mpv-observe-prop","aid"),a.send("mpv-observe-prop","vid"),a.send("mpv-observe-prop","sid"),a.send("mpv-observe-prop","sub-scale"),a.send("mpv-observe-prop","sub-pos"),a.send("mpv-observe-prop","sub-delay"),a.send("mpv-observe-prop","speed"),a.send("mpv-observe-prop","mpv-version"),a.send("mpv-observe-prop","ffmpeg-version");var A=new i,u=!1,d=null,O=0;function c(t){for(var a=t?"":"transparent",i=e.containerElement;i;i=i.parentElement)i.style.background=a;if(((window||{}).document||{}).getElementsByTagName){var o=window.document.getElementsByTagName("body");(o||[])[0]&&(o[0].style.background=a)}}function N(e){console.log(e.name+": "+e.data)}var R=0;function m(e){return _[e]?S[_[e]]:(console.log("Unsupported prop requested",e),null)}function L(e){A.emit("error",e),e.critical&&p("unload")}function D(e){s[e]&&A.emit("propChanged",e,m(e))}function p(t,i){switch(t){case"load":p("unload"),i&&i.stream&&"string"==typeof i.stream.url?I.then(function(t){d=i.stream,D("stream"),a.send("mpv-set-prop",["sub-ass-override","strip"]);var o=i.hardwareDecoding?"auto-copy":"no";a.send("mpv-set-prop",["hwdec",o]);var n="Win32"===navigator.platform?"direct3d":"opengl",r=e.mpvSeparateWindow?n:"opengl-cb",E=e.mpvSeparateWindow?"yes":"no";a.send("mpv-set-prop",["vo",r]),a.send("mpv-set-prop",["osc",E]),a.send("mpv-set-prop",["input-default-bindings",E]),a.send("mpv-set-prop",["input-vo-keyboard",E]);var _,s,l,I=Math.floor(parseInt(i.time,10)/1e3)||0;0!==I?(_="0.39",s=T(t),l=T(_),s[0]>l[0]||!(s[0]<l[0])&&s[1]>=l[1]?a.send("mpv-command",["loadfile",d.url,"replace","-1","start=+"+I]):a.send("mpv-command",["loadfile",d.url,"replace","start=+"+I])):a.send("mpv-command",["loadfile",d.url]),a.send("mpv-set-prop",["pause",!1]),a.send("mpv-set-prop",["speed",S.speed]),S.aid&&("string"==typeof S.aid&&S.aid.startsWith("EMBEDDED_")?a.send("mpv-set-prop",["aid",S.aid.slice(9)]):a.send("mpv-set-prop",["aid",S.aid])),a.send("mpv-set-prop",["mute","no"]),D("paused"),D("time"),D("duration"),D("buffering"),D("muted"),D("subtitlesTracks"),D("selectedSubtitlesTrackId")}):L(Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:i?i.stream:null}));break;case"unload":S={loaded:!1,pause:!1,mute:!1,speed:1,subtitlesTracks:[],audioTracks:[],buffering:!1,aid:null,sid:null},O=0,a.send("mpv-command",["stop"]),D("loaded"),D("stream"),D("paused"),D("time"),D("duration"),D("buffering"),D("muted"),D("subtitlesTracks"),D("selectedSubtitlesTrackId"),c(!0);break;case"destroy":p("unload"),u=!0,A.removeAllListeners()}}a.on("mpv-prop-change",function(e){switch(e.name){case"mpv-version":t(e.data),S[e.name]=N(e);break;case"ffmpeg-version":S[e.name]=N(e);break;case"duration":var a=0|e.data;S[e.name]=e.data>=30&&(!O||a===O)?Math.round(1e3*e.data):null,O=O?O+a>>1:a,S.loaded=a>0,S.loaded&&(c(!1),D("loaded"));break;case"time-pos":case"sub-delay":S[e.name]=Math.round(1e3*e.data);break;case"sub-scale":S[e.name]=Math.round(e.data/E);break;case"sub-pos":S[e.name]=100-e.data;break;case"volume":"number"==typeof e.data&&isFinite(e.data)&&(S[e.name]=e.data,D("volume"));break;case"paused-for-cache":case"seeking":S.buffering!==e.data&&(S.buffering=e.data,D("buffering"));break;case"aid":case"sid":case"vid":S[e.name]=(function(e){return e.data&&"no"!==e.data?"EMBEDDED_"+e.data.toString():null})(e);break;case"track-list":S.audioTracks=e.data.filter(function(e){return"audio"===e.type}).map(function(e,t){return{id:"EMBEDDED_"+e.id,lang:void 0===e.lang?"Track"+(t+1):e.lang,label:void 0===e.title||void 0===e.lang?"":e.title||e.lang,origin:"EMBEDDED",embedded:!0,mode:e.id===S.aid?"showing":"disabled"}}),D("audioTracks"),S.subtitlesTracks=e.data.filter(function(e){return"sub"===e.type}).map(function(e,t){return{id:"EMBEDDED_"+e.id,lang:void 0===e.lang?"Track "+(t+1):e.lang,label:void 0===e.title||void 0===e.lang?"":e.title||e.lang,origin:"EMBEDDED",embedded:!0,mode:e.id===S.sid?"showing":"disabled"}}),D("subtitlesTracks");break;default:S[e.name]=e.data}var i="time-pos"===e.name?Math.floor(S["time-pos"]/1e3):null;i&&R===i||!l[e.name]||(i&&(R=i),D(l[e.name]))}),a.on("mpv-event-ended",function(e){e.error?L(e.error):A.emit("ended")}),this.on=function(e,t){if(u)throw new Error("Video is destroyed");A.on(e,t)},this.dispatch=function(e){if(u)throw new Error("Video is destroyed");if(e)switch((e=n(o(e))).type){case"observeProp":t=e.propName,A.emit("propValue",t,m(t)),s[t]=!0;break;case"setProp":return void(function(e,t){switch(e){case"paused":null!==d&&a.send("mpv-set-prop",["pause",t]);break;case"time":null!==d&&null!==t&&isFinite(t)&&a.send("mpv-set-prop",["time-pos",t/1e3]);break;case"playbackSpeed":null!==d&&null!==t&&isFinite(t)&&a.send("mpv-set-prop",["speed",t]);break;case"volume":null!==d&&null!==t&&isFinite(t)&&(S.mute=!1,a.send("mpv-set-prop",["mute","no"]),a.send("mpv-set-prop",["volume",t]),D("muted"),D("volume"));break;case"muted":null!==d&&(a.send("mpv-set-prop",["mute",t?"yes":"no"]),S.mute=t,D("muted"));break;case"selectedAudioTrackId":if(null!==d){var i=t.slice(9);a.send("mpv-set-prop",["aid",i])}break;case"selectedSubtitlesTrackId":null!==d&&(t?(i=t.slice(9),a.send("mpv-set-prop",["sid",i]),A.emit("subtitlesTrackLoaded",t)):(a.send("mpv-set-prop",["sid","no"]),S.sid=null)),D("selectedSubtitlesTrackId");break;case"subtitlesSize":a.send("mpv-set-prop",[_[e],t*E]);break;case"subtitlesDelay":a.send("mpv-set-prop",[_[e],t]);break;case"subtitlesOffset":a.send("mpv-set-prop",[_[e],100-t]);break;case"subtitlesTextColor":case"subtitlesBackgroundColor":case"subtitlesOutlineColor":var o=t.replace(/^#(\w{6})(\w{2})$/,"#$2$1");a.send("mpv-set-prop",[_[e],o]);break;default:console.log("Unhandled setProp for",e)}})(e.propName,e.propValue);case"command":return void p(e.commandName,e.commandArgs)}var t}}s.canPlayStream=function(){return Promise.resolve(!0)},s.manifest={name:"ShellVideo",external:!1,props:Object.keys(_),commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded"]},e.exports=s},37416:(e,t,a)=>{var i=a(66383);e.exports=i},90865:(e,t,a)=>{var i=a(55852),o=a(55126),n=a(68816),r=a(44804),E=a(78069),_=a(54842);function T(){var e=null,t=new i,a=!1;this.on=function(e,i){if(a)throw new Error("Video is destroyed");t.on(e,i)},this.dispatch=function(i,T){if(a)throw new Error("Video is destroyed");if(!i)throw new Error("Invalid action dispatched: "+JSON.stringify(i));if(T=T||{},"command"===(i=n(o(i))).type&&"load"===i.commandName&&i.commandArgs){i.commandArgs.platform&&E.set(i.commandArgs.platform);var s=r(i.commandArgs,T);if(null!==e&&e.constructor!==s&&(e.dispatch({type:"command",commandName:"destroy"}),e=null),null===e){if(null===s)return void t.emit("error",Object.assign({},_.UNSUPPORTED_STREAM,{error:new Error("No video implementation was selected"),critical:!0,stream:i.commandArgs.stream}));(e=new s(T)).on("ended",function(){t.emit("ended")}),e.on("error",function(e){t.emit("error",e)}),e.on("propValue",function(e,a){t.emit("propValue",e,a)}),e.on("propChanged",function(e,a){t.emit("propChanged",e,a)}),e.on("subtitlesTrackLoaded",function(e){t.emit("subtitlesTrackLoaded",e)}),e.on("audioTrackLoaded",function(e){t.emit("audioTrackLoaded",e)}),e.on("extraSubtitlesTrackLoaded",function(e){t.emit("extraSubtitlesTrackLoaded",e)}),e.on("extraSubtitlesTrackAdded",function(e){t.emit("extraSubtitlesTrackAdded",e)}),s.manifest.external?e.on("implementationChanged",function(e){t.emit("implementationChanged",e)}):t.emit("implementationChanged",s.manifest)}}if(null!==e)try{e.dispatch(i)}catch(t){console.error(e.constructor.manifest.name,t)}"command"===i.type&&"destroy"===i.commandName&&(e=null)},this.destroy=function(){a=!0,null!==e&&(e.dispatch({type:"command",commandName:"destroy"}),e=null),t.removeAllListeners()}}T.ERROR=_,e.exports=T},85469:(e,t,a)=>{var i=a(90865);e.exports=i},44804:(e,t,a)=>{var i=a(63020),o=a(37416),n=a(8679),r=a(8942),E=a(16416),_=a(24729),T=a(69194),s=a(46704),S=a(40845),l=a(81492),I=a(69065),A=a(62170);e.exports=function(e,t){return e.stream&&"string"!=typeof e.stream.externalUrl?t.chromecastTransport&&t.chromecastTransport.getCastState()===cast.framework.CastState.CONNECTED?i:"string"==typeof e.stream.ytId?A(I(S)):"string"==typeof e.stream.playerFrameUrl?A(s):t.shellTransport?l(I(o)):"string"==typeof e.streamingServerURL?"Tizen"===e.platform?l(I(r)):"webOS"===e.platform?l(I(T)):"Titan"===e.platform||"NetTV"===e.platform?l(I(E)):"Vidaa"===e.platform?l(I(_)):l(I(n)):"string"==typeof e.stream.url?"Tizen"===e.platform?A(I(r)):"webOS"===e.platform?A(I(T)):"Titan"===e.platform||"NetTV"===e.platform?A(I(E)):"Vidaa"===e.platform?A(I(_)):A(I(n)):null:null}},68543:(e,t,a)=>{var i=a(55852),o=a(55126),n=a(68816),r=a(38742),E=a(54842),_=/^\{(\\an[1-8])+\}/i;function T(e){var t=100,a=0,T="rgb(255, 255, 255)",s="rgba(0, 0, 0, 0)",S="rgb(34, 34, 34)",l=1,I=(e=e||{}).containerElement;if(!(I instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var A=document.createElement("video");A.style.width="100%",A.style.height="100%",A.style.backgroundColor="black",A.controls=!1,A.playsInline=!0,A.onerror=function(){!(function(){if(c)return;var e;switch(A.error.code){case 1:e=E.HTML_VIDEO.MEDIA_ERR_ABORTED;break;case 2:e=E.HTML_VIDEO.MEDIA_ERR_NETWORK;break;case 3:e=E.HTML_VIDEO.MEDIA_ERR_DECODE;break;case 4:e=E.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;break;default:e=E.UNKNOWN_ERROR}C(Object.assign({},e,{critical:!0,error:A.error}))})()},A.onended=function(){O.emit("ended")},A.onpause=function(){h("paused")},A.onplay=function(){h("paused")},A.ontimeupdate=function(){h("time")},A.ondurationchange=function(){h("duration")},A.onwaiting=function(){h("buffering")},A.onseeking=function(){h("time"),h("buffering")},A.onseeked=function(){h("time"),h("buffering")},A.onstalled=function(){h("buffering")},A.onplaying=function(){h("time"),h("buffering")},A.oncanplay=function(){h("buffering")},A.canplaythrough=function(){h("buffering")},A.onloadedmetadata=function(){h("loaded")},A.onloadeddata=function(){h("buffering")},A.onvolumechange=function(){h("volume"),h("muted")},A.onratechange=function(){h("playbackSpeed")},A.textTracks.onchange=function(){h("subtitlesTracks"),h("selectedSubtitlesTrackId")},I.appendChild(A);var u=document.createElement("div");u.style.position="absolute",u.style.right="0",u.style.bottom="0",u.style.left="0",u.style.zIndex="1",u.style.textAlign="center",I.style.position="relative",I.style.zIndex="0",I.appendChild(u);var d,O=new i,c=!1,N=null,R={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOutlineColor:!1,audioTracks:!1,selectedAudioTrackId:!1,volume:!1,muted:!1,playbackSpeed:!1};async function m(){d&&L(d.text,"show")}async function L(e,i){if("hide"!==i){for(d={text:e};u.hasChildNodes();)u.removeChild(u.lastChild);u.style.bottom=a+"%",u.style.opacity=l;var o=document.createElement("span");o.innerHTML=e,o.style.display="inline-block",o.style.padding="0.2em",o.style.fontSize=Math.floor(t/25)+"vmin",o.style.color=T,o.style.backgroundColor=s,o.style.textShadow="1px 1px 0.1em "+S,o.style.whiteSpace="pre-wrap",u.appendChild(o),u.appendChild(document.createElement("br"))}else{for(;u.hasChildNodes();)u.removeChild(u.lastChild);d=null}}function D(e){var t=(e.target||{}).activeCues;if(t.length){if(t.length>3)return e.target.removeEventListener("cuechange",D),void L("","hide");var a="";for(var i in t){var o=t[i];if(o.text)a+=(a?"\n":"")+o.text.replace(_,"")}L(a,"show")}else L("","hide")}function p(e){switch(e){case"stream":return N;case"loaded":return null===N?null:A.readyState>=A.HAVE_METADATA;case"paused":return null===N?null:!!A.paused;case"time":return null!==N&&null!==A.currentTime&&isFinite(A.currentTime)?Math.floor(1e3*A.currentTime):null;case"duration":return null!==N&&null!==A.duration&&isFinite(A.duration)?Math.floor(1e3*A.duration):null;case"buffering":return null===N?null:A.readyState<A.HAVE_FUTURE_DATA;case"subtitlesTracks":return null===N?[]:A.textTracks&&Array.from(A.textTracks).length?Array.from(A.textTracks).filter(function(e){return"subtitles"===e.kind}).map(function(e,t){return Object.freeze({id:"EMBEDDED_"+String(t),lang:e.language,label:e.label||null,origin:"EMBEDDED",embedded:!0})}):[];case"selectedSubtitlesTrackId":return null===N?null:A.textTracks&&Array.from(A.textTracks).length?Array.from(A.textTracks).reduce(function(e,t,a){return null===e&&"hidden"===t.mode?"EMBEDDED_"+String(a):e},null):null;case"subtitlesOffset":return c?null:a;case"subtitlesSize":return c?null:t;case"subtitlesTextColor":return c?null:T;case"subtitlesBackgroundColor":return c?null:s;case"subtitlesOutlineColor":return c?null:S;case"subtitlesOpacity":return c?null:l;case"audioTracks":return null===N?[]:A.audioTracks&&Array.from(A.audioTracks).length?Array.from(A.audioTracks).map(function(e,t){return Object.freeze({id:"EMBEDDED_"+String(t),lang:e.language,label:e.label||null,origin:"EMBEDDED",embedded:!0})}):[];case"selectedAudioTrackId":return null===N?null:A.audioTracks&&Array.from(A.audioTracks).length?Array.from(A.audioTracks).reduce(function(e,t,a){return null===e&&t.enabled?"EMBEDDED_"+String(a):e},null):null;case"volume":return c||null===A.volume||!isFinite(A.volume)?null:Math.floor(100*A.volume);case"muted":return c?null:!!A.muted;case"playbackSpeed":return c||null===A.playbackRate||!isFinite(A.playbackRate)?null:A.playbackRate;default:return null}}function C(e){O.emit("error",e),e.critical&&f("unload")}function h(e){R[e]&&O.emit("propChanged",e,p(e))}function f(e,t){switch(e){case"load":f("unload"),t&&t.stream&&"string"==typeof t.stream.url?(N=t.stream,h("stream"),h("loaded"),A.autoplay="boolean"!=typeof t.autoplay||t.autoplay,A.currentTime=null!==t.time&&isFinite(t.time)?parseInt(t.time,10)/1e3:0,h("paused"),h("time"),h("duration"),h("buffering"),A.textTracks&&(A.textTracks.onaddtrack=function(){A.textTracks.onaddtrack=null,setTimeout(function(){h("subtitlesTracks"),h("selectedSubtitlesTrackId")})}),A.audioTracks&&(A.audioTracks.onaddtrack=function(){A.audioTracks.onaddtrack=null,setTimeout(function(){h("audioTracks"),h("selectedAudioTrackId")})}),A.src=N.url):C(Object.assign({},E.UNSUPPORTED_STREAM,{critical:!0,stream:t?t.stream:null}));break;case"unload":N=null,Array.from(A.textTracks).forEach(function(e){e.oncuechange=null}),A.removeAttribute("src"),A.load(),A.currentTime=0,h("stream"),h("loaded"),h("paused"),h("time"),h("duration"),h("buffering"),h("subtitlesTracks"),h("selectedSubtitlesTrackId"),h("audioTracks"),h("selectedAudioTrackId");break;case"destroy":f("unload"),c=!0,h("subtitlesOffset"),h("subtitlesSize"),h("subtitlesTextColor"),h("subtitlesBackgroundColor"),h("subtitlesOutlineColor"),h("volume"),h("muted"),h("playbackSpeed"),O.removeAllListeners(),A.onerror=null,A.onended=null,A.onpause=null,A.onplay=null,A.ontimeupdate=null,A.ondurationchange=null,A.onwaiting=null,A.onseeking=null,A.onseeked=null,A.onstalled=null,A.onplaying=null,A.oncanplay=null,A.canplaythrough=null,A.onloadeddata=null,A.onvolumechange=null,A.onratechange=null,A.textTracks.onchange=null,I.removeChild(A)}}this.on=function(e,t){if(c)throw new Error("Video is destroyed");O.on(e,t)},this.dispatch=function(e){if(c)throw new Error("Video is destroyed");if(e)switch((e=n(o(e))).type){case"observeProp":return i=e.propName,void(R.hasOwnProperty(i)&&(O.emit("propValue",i,p(i)),R[i]=!0));case"setProp":return void(function(e,i){switch(e){case"paused":null!==N&&(i?A.pause():A.play(),h("paused"));break;case"time":null!==N&&null!==i&&isFinite(i)&&(L("","hide"),A.currentTime=parseInt(i,10)/1e3,h("time"));break;case"selectedSubtitlesTrackId":if(null!==N){Array.from(A.textTracks).forEach(function(e,t){"hidden"===e.mode&&e.removeEventListener("cuechange",D),e.mode="EMBEDDED_"+String(t)===i?"hidden":"disabled","hidden"===e.mode&&e.addEventListener("cuechange",D)});var o=p("subtitlesTracks").find(function(e){return e.id===i});L("","hide"),o&&(h("selectedSubtitlesTrackId"),O.emit("subtitlesTrackLoaded",o))}break;case"subtitlesOffset":null!==i&&isFinite(i)&&(a=Math.max(0,Math.min(100,parseInt(i,10))),m(),h("subtitlesOffset"));break;case"subtitlesSize":null!==i&&isFinite(i)&&(t=Math.max(0,parseInt(i,10)),m(),h("subtitlesSize"));break;case"subtitlesTextColor":if("string"==typeof i){try{T=r(i).rgb().string()}catch(e){console.error("Tizen player with HTML Subtitles",e)}m(),h("subtitlesTextColor")}break;case"subtitlesBackgroundColor":if("string"==typeof i){try{s=r(i).rgb().string()}catch(e){console.error("Tizen player with HTML Subtitles",e)}m(),h("subtitlesBackgroundColor")}break;case"subtitlesOutlineColor":if("string"==typeof i){try{S=r(i).rgb().string()}catch(e){console.error("Tizen player with HTML Subtitles",e)}m(),h("subtitlesOutlineColor")}break;case"subtitlesOpacity":if("number"==typeof i){try{l=Math.min(Math.max(i/100,0),1)}catch(e){console.error("Tizen player with HTML Subtitles",e)}m(),h("subtitlesOpacity")}break;case"selectedAudioTrackId":if(null!==N)for(var n=0;n<A.audioTracks.length;n++)A.audioTracks[n].enabled=!("EMBEDDED_"+String(n)!==i);var E=p("audioTracks").find(function(e){return e.id===i});E&&(h("selectedAudioTrackId"),O.emit("audioTrackLoaded",E));break;case"volume":null!==i&&isFinite(i)&&(A.muted=!1,A.volume=Math.max(0,Math.min(100,parseInt(i,10)))/100,h("muted"),h("volume"));break;case"muted":A.muted=!!i,h("muted");break;case"playbackSpeed":null!==i&&isFinite(i)&&(A.playbackRate=parseFloat(i),h("playbackSpeed"))}})(e.propName,e.propValue);case"command":return void f(e.commandName,e.commandArgs)}var i;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}T.canPlayStream=function(e){return e?Promise.resolve(!0):Promise.resolve(!1)},T.manifest={name:"TitanVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","subtitlesOpacity","volume","muted","playbackSpeed"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded"]},e.exports=T},16416:(e,t,a)=>{var i=a(68543);e.exports=i},41457:e=>{const t="AVPlay";e.exports=e=>({getState:()=>e.request(t,"getState"),getCurrentTime:()=>e.request(t,"getCurrentTime"),getDuration:()=>e.request(t,"getDuration"),getTotalTrackInfo:()=>e.request(t,"getTotalTrackInfo"),getCurrentStreamInfo:()=>e.request(t,"getCurrentStreamInfo"),open:a=>e.request(t,"open",a),prepareAsync:async(a,i)=>{const[o,n]=await e.request(t,"prepareAsync","handler:success","handler:error");"handler:success"===o&&a(),"handler:error"===o&&i(...n)},pause:()=>e.request(t,"pause"),play:()=>e.request(t,"play"),stop:()=>e.request(t,"stop"),seekTo:a=>e.request(t,"seekTo",a),setSpeed:a=>e.request(t,"setSpeed",a),setSelectTrack:(a,i)=>e.request(t,"setSelectTrack",a,i),setDisplayRect:(a,i,o,n)=>e.request(t,"setDisplayRect",a,i,o,n),setDisplayMethod:a=>e.request(t,"setDisplayMethod",a),setListener:a=>{const i=Object.keys(a).map(e=>`handler:${e}`);e.listen(t,"setListener",(e,t)=>{const i=e.replace("handler:","");a[i]&&(t?a[i](...t):a[i]())},...i)}})},44259:(e,t,a)=>{var i=a(55852),o=a(55126),n=a(68816),r=a(38742),E=a(54842),_=a(90494),T=a(41457),s=/^\{(\\an[1-8])+\}/i;function S(e){var t=!0,a=1,S=null,l=null,I=(e=e||{}).containerElement;if(!(I instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var A,u=T(e.transport),d=!1,O=100,c=0,N="rgb(255, 255, 255)",R="rgba(0, 0, 0, 0)",m="rgb(34, 34, 34)",L=1,D=document.createElement("object");D.type="application/avplayer",D.style.width="100%",D.style.height="100%",D.style.backgroundColor="black";var p=!1;async function C(){if(A){var e=await G("time"),t=A.duration-(e-A.now);t>0&&h(t,A.text)}}async function h(e,t){if(!p){var i=await G("time"),o=t.replace(s,"");for(A={duration:e,text:o,now:i},f&&(clearTimeout(f),f=!1);P.hasChildNodes();)P.removeChild(P.lastChild);P.style.bottom=c+"%",P.style.opacity=L;var n=document.createElement("span");n.innerHTML=o,n.style.display="inline-block",n.style.padding="0.2em",n.style.fontSize=Math.floor(O/25)+"vmin",n.style.color=N,n.style.backgroundColor=R,n.style.textShadow="1px 1px 0.1em "+m,P.appendChild(n),P.appendChild(document.createElement("br")),e&&(f=setTimeout(function(){for(;P.hasChildNodes();)P.removeChild(P.lastChild)},parseInt(e*a)))}}var f=!1;u.setListener({onbufferingstart:function(){t=!0,F("buffering")},onbufferingprogress:function(){t=!0,F("buffering")},onbufferingcomplete:function(){t=!1,F("buffering")},oncurrentplaytime:function(){F("time")},onsubtitlechange:function(e,t){h(e,t)},onstreamcompleted:function(){B.emit("ended")}}),I.appendChild(D);var P=document.createElement("div");P.style.position="absolute",P.style.right="0",P.style.bottom="0",P.style.left="0",P.style.zIndex="1",P.style.textAlign="center",I.style.position="relative",I.style.zIndex="0",I.appendChild(P);var B=new i,g=!1,v=null,M=0,W=null,y={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOutlineColor:!1,subtitlesOpacity:!1,audioTracks:!1,selectedAudioTrackId:!1,playbackSpeed:!1},U=!1,b={audio:[],subs:[]};async function G(e){switch(e){case"stream":return v;case"loaded":return W;case"paused":if(null===v)return null;var i=!("PAUSED"!==await u.getState());return!i&&d&&(u.setSelectTrack("AUDIO",parseInt(d.replace("EMBEDDED_",""))),d=!1),i;case"time":var o=await u.getCurrentTime();return null!==v&&null!==o&&isFinite(o)?Math.floor(o):null;case"duration":var n=await u.getDuration();return null!==v&&null!==n&&isFinite(n)?Math.floor(n):null;case"buffering":return null===v?null:t;case"subtitlesTracks":if(null===v)return[];for(var r=await u.getTotalTrackInfo(),E=[],_=0;_<r.length;_++)if("TEXT"===r[_].type){var T=r[_],s="EMBEDDED_"+String(T.index);S||E.length||(S=s);var I={};try{I=JSON.parse(T.extra_info)}catch(e){}var A="string"==typeof I.track_lang&&I.track_lang.length>0?I.track_lang.trim():null,D=null;if(((b||{}).subs||[]).length)(B=b.subs.find(function(e){return(e||{}).id-1===T.index}))&&(A=B.lang||"eng",D=B.label||null);E.push({id:s,lang:A,label:D,origin:"EMBEDDED",embedded:!0,mode:p||s!==S?"disabled":"showing"})}return E;case"selectedSubtitlesTrackId":if(null===v||p)return null;var C=await u.getCurrentStreamInfo();for(_=0;_<C.length;_++)if("TEXT"===C[_].type){U=C[_].index;break}return U?"EMBEDDED_"+String(U):null;case"subtitlesOffset":return g?null:c;case"subtitlesSize":return g?null:O;case"subtitlesTextColor":return g?null:N;case"subtitlesBackgroundColor":return g?null:R;case"subtitlesOutlineColor":return g?null:m;case"subtitlesOpacity":return g?null:L;case"audioTracks":if(null===v)return[];r=await u.getTotalTrackInfo();var h=[];for(_=0;_<r.length;_++)if("AUDIO"===r[_].type){var f=r[_],P="EMBEDDED_"+String(f.index);l||h.length||(l=P);I={};try{I=JSON.parse(f.extra_info)}catch(e){}var B,M="string"==typeof I.language&&I.language.length>0?I.language:null,y=null;if(((b||{}).audio||[]).length)(B=b.audio.find(function(e){return(e||{}).id-1===f.index}))&&(M=B.lang||"eng",y=B.label||null);h.push({id:P,lang:M,label:y,origin:"EMBEDDED",embedded:!0,mode:P===l?"showing":"disabled"})}return h;case"selectedAudioTrackId":if(null===v)return null;if(d)return d;C=await u.getCurrentStreamInfo();var U=!1;for(_=0;_<C.length;_++)if("AUDIO"===C[_].type){U=C[_].index;break}return!1!==U?"EMBEDDED_"+String(U):null;case"playbackSpeed":return g||null===a||!isFinite(a)?null:a;default:return null}}function k(e){B.emit("error",e),e.critical&&V("unload")}async function F(e){if(y[e]){var t=await G(e);B.emit("propChanged",e,t)}}function V(e,t){switch(e){case"load":if(t&&t.stream&&"string"==typeof t.stream.url){if((v=t.stream)!==t.stream)return;F("buffering");var a=!1,i=navigator.userAgent.match(/Tizen (\d+\.\d+)/i);i&&i[1]&&(a=parseFloat(i[1])),(!a||a>=6)&&(U||null===v||(U=!0,_(v.url,function(e){e&&(b=e),((b||{}).subs||[]).length&&F("subtitlesTracks"),((b||{}).audio||[]).length&&F("audioTracks")}))),u.open(v.url),u.setDisplayRect(0,0,window.innerWidth,window.innerHeight),u.setDisplayMethod("PLAYER_DISPLAY_MODE_LETTER_BOX"),u.seekTo(null!==t.time&&isFinite(t.time)?parseInt(t.time,10):0),u.prepareAsync(function(){F("duration"),u.play(),W=!0,F("loaded"),F("stream"),F("paused"),F("time"),F("duration"),F("subtitlesTracks"),F("selectedSubtitlesTrackId"),F("audioTracks"),F("selectedAudioTrackId")},function(e){if(M<5){M++;try{u.stop()}catch(e){}V("load",t)}else k(Object.assign({},E.STREAM_FAILED_TO_LOAD,{critical:!0,stream:t?t.stream:null,error:e}))})}else k(Object.assign({},E.UNSUPPORTED_STREAM,{critical:!0,stream:t?t.stream:null}));break;case"unload":v=null,u.stop(),W=!1,F("loaded"),F("stream"),F("paused"),F("time"),F("duration"),F("buffering"),F("subtitlesTracks"),F("selectedSubtitlesTrackId"),F("audioTracks"),F("selectedAudioTrackId");break;case"destroy":V("unload"),g=!0,u.stop(),F("subtitlesOffset"),F("subtitlesSize"),F("subtitlesTextColor"),F("subtitlesBackgroundColor"),F("subtitlesOutlineColor"),F("subtitlesOpacity"),F("playbackSpeed"),B.removeAllListeners(),I.removeChild(D)}}this.on=function(e,t){if(g)throw new Error("Video is destroyed");B.on(e,t)},this.dispatch=function(e){if(g)throw new Error("Video is destroyed");if(e)switch((e=n(o(e))).type){case"observeProp":return void(async function(e){if(y.hasOwnProperty(e)){var t=await G(e);B.emit("propValue",e,t),y[e]=!0}})(e.propName);case"setProp":return void(async function(e,t){switch(e){case"paused":if(null!==v){var i=!!t;i?u.pause():u.play(),i?f&&clearTimeout(f):C()}F("paused");var o=await G("paused");setTimeout(async function(){await G("paused")!==o&&F("paused")},1e3);break;case"time":null!==v&&null!==t&&isFinite(t)&&(u.seekTo(parseInt(t,10)),h(1,""),F("time"));break;case"selectedSubtitlesTrackId":if(null!==v)if(0===(S||"").indexOf("EMBEDDED_")){if(-1===(t||"").indexOf("EMBEDDED_"))return h(1,""),p=!0,void F("selectedSubtitlesTrackId");p=!1,S=t;var n=(await G("subtitlesTracks")).find(function(e){return e.id===t});u.setSelectTrack("TEXT",parseInt(S.replace("EMBEDDED_",""))),n&&(B.emit("subtitlesTrackLoaded",n),F("selectedSubtitlesTrackId"))}else t||(h(1,""),p=!0,F("selectedSubtitlesTrackId"));break;case"subtitlesOffset":null!==t&&isFinite(t)&&(c=Math.max(0,Math.min(100,parseInt(t,10))),C(),F("subtitlesOffset"));break;case"subtitlesSize":null!==t&&isFinite(t)&&(O=Math.max(0,parseInt(t,10)),C(),F("subtitlesSize"));break;case"subtitlesTextColor":if("string"==typeof t){try{N=r(t).rgb().string()}catch(e){console.error("Tizen player with HTML Subtitles",e)}C(),F("subtitlesTextColor")}break;case"subtitlesBackgroundColor":if("string"==typeof t){try{R=r(t).rgb().string()}catch(e){console.error("Tizen player with HTML Subtitles",e)}C(),F("subtitlesBackgroundColor")}break;case"subtitlesOutlineColor":if("string"==typeof t){try{m=r(t).rgb().string()}catch(e){console.error("Tizen player with HTML Subtitles",e)}C(),F("subtitlesOutlineColor")}break;case"subtitlesOpacity":if("number"==typeof t){try{L=Math.min(Math.max(t/100,0),1)}catch(e){console.error("Tizen player with HTML Subtitles",e)}C(),F("subtitlesOpacity")}break;case"selectedAudioTrackId":if(null!==v){l=t;var E=(await G("audioTracks")).find(function(e){return e.id===t});await G("paused")?(d=t,F("selectedAudioTrackId")):u.setSelectTrack("AUDIO",parseInt(l.replace("EMBEDDED_",""))),E&&(B.emit("audioTrackLoaded",E),F("selectedAudioTrackId"))}break;case"playbackSpeed":if(null!==t&&isFinite(t)){a=parseFloat(t);try{u.setSpeed(a)}catch(e){}F("playbackSpeed")}}})(e.propName,e.propValue);case"command":return void V(e.commandName,e.commandArgs)}throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}S.canPlayStream=function(){return Promise.resolve(!0)},S.manifest={name:"TizenVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","subtitlesOpacity","playbackSpeed"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded"]},e.exports=S},8942:(e,t,a)=>{var i=a(44259);e.exports=i},53809:(e,t,a)=>{var i=a(55852),o=a(55126),n=a(68816),r=a(54842);function E(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=document.createElement("video");a.style.width="100%",a.style.height="100%",a.style.backgroundColor="black",a.controls=!1,a.playsInline=!0,a.onerror=function(){!(function(){if(T)return;var e;switch(a.error.code){case 1:e=r.HTML_VIDEO.MEDIA_ERR_ABORTED;break;case 2:e=r.HTML_VIDEO.MEDIA_ERR_NETWORK;break;case 3:e=r.HTML_VIDEO.MEDIA_ERR_DECODE;break;case 4:e=r.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;break;default:e=r.UNKNOWN_ERROR}A(Object.assign({},e,{critical:!0,error:a.error}))})()},a.onended=function(){_.emit("ended")},a.onpause=function(){u("paused")},a.onplay=function(){u("paused")},a.ontimeupdate=function(){u("time")},a.ondurationchange=function(){u("duration")},a.onwaiting=function(){u("buffering")},a.onseeking=function(){u("time"),u("buffering")},a.onseeked=function(){u("time"),u("buffering")},a.onstalled=function(){u("buffering")},a.onplaying=function(){u("time"),u("buffering")},a.oncanplay=function(){u("buffering")},a.canplaythrough=function(){u("buffering")},a.onloadedmetadata=function(){u("loaded")},a.onloadeddata=function(){u("buffering")},a.onvolumechange=function(){u("volume"),u("muted")},a.onratechange=function(){u("playbackSpeed")},a.textTracks.onchange=function(){u("subtitlesTracks"),u("selectedSubtitlesTrackId"),I(),Array.from(a.textTracks).forEach(function(e){e.oncuechange=I})},t.appendChild(a);var E=document.createElement("div");E.style.position="absolute",E.style.right="0",E.style.bottom="0",E.style.left="0",E.style.zIndex="1",E.style.textAlign="center",t.style.position="relative",t.style.zIndex="0",t.appendChild(E);var _=new i,T=!1,s=null,S={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,audioTracks:!1,selectedAudioTrackId:!1,volume:!1,muted:!1,playbackSpeed:!1};function l(e){switch(e){case"stream":return s;case"loaded":return null===s?null:a.readyState>=a.HAVE_METADATA;case"paused":return null===s?null:!!a.paused;case"time":return null!==s&&null!==a.currentTime&&isFinite(a.currentTime)?Math.floor(1e3*a.currentTime):null;case"duration":return null!==s&&null!==a.duration&&isFinite(a.duration)?Math.floor(1e3*a.duration):null;case"buffering":return null===s?null:a.readyState<a.HAVE_FUTURE_DATA;case"subtitlesTracks":return null===s?[]:Array.from(a.textTracks).map(function(e,t){return Object.freeze({id:"EMBEDDED_"+String(t),lang:e.language,label:e.label||null,origin:"EMBEDDED",embedded:!0})});case"selectedSubtitlesTrackId":return null===s?null:Array.from(a.textTracks).reduce(function(e,t,a){return null===e&&"showing"===t.mode?"EMBEDDED_"+String(a):e},null);case"audioTracks":return null===s?[]:a.audioTracks&&Array.from(a.audioTracks).length?Array.from(a.audioTracks).map(function(e,t){return Object.freeze({id:"EMBEDDED_"+String(t),lang:e.language,label:e.label||null,origin:"EMBEDDED",embedded:!0})}):[];case"selectedAudioTrackId":return null===s?null:a.audioTracks&&Array.from(a.audioTracks).length?Array.from(a.audioTracks).reduce(function(e,t,a){return null===e&&t.enabled?"EMBEDDED_"+String(a):e},null):null;case"volume":return T||null===a.volume||!isFinite(a.volume)?null:Math.floor(100*a.volume);case"muted":return T?null:!!a.muted;case"playbackSpeed":return T||null===a.playbackRate||!isFinite(a.playbackRate)?null:a.playbackRate;default:return null}}function I(){Array.from(a.textTracks).forEach(function(e){Array.from(e.cues||[]).forEach(function(e){e.snapToLines=!1,e.line=100})})}function A(e){_.emit("error",e),e.critical&&d("unload")}function u(e){S[e]&&_.emit("propChanged",e,l(e))}function d(e,i){switch(e){case"load":d("unload"),i&&i.stream&&"string"==typeof i.stream.url?(s=i.stream,u("stream"),u("loaded"),a.autoplay="boolean"!=typeof i.autoplay||i.autoplay,a.currentTime=null!==i.time&&isFinite(i.time)?parseInt(i.time,10)/1e3:0,u("paused"),u("time"),u("duration"),u("buffering"),a.textTracks&&(a.textTracks.onaddtrack=function(){a.textTracks.onaddtrack=null,setTimeout(function(){u("subtitlesTracks"),u("selectedSubtitlesTrackId")})}),a.audioTracks&&(a.audioTracks.onaddtrack=function(){a.audioTracks.onaddtrack=null,setTimeout(function(){u("audioTracks"),u("selectedAudioTrackId")})}),a.src=s.url):A(Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:i?i.stream:null}));break;case"unload":s=null,Array.from(a.textTracks).forEach(function(e){e.oncuechange=null}),a.removeAttribute("src"),a.load(),a.currentTime=0,u("stream"),u("loaded"),u("paused"),u("time"),u("duration"),u("buffering"),u("subtitlesTracks"),u("selectedSubtitlesTrackId"),u("audioTracks"),u("selectedAudioTrackId");break;case"destroy":d("unload"),T=!0,u("volume"),u("muted"),u("playbackSpeed"),_.removeAllListeners(),a.onerror=null,a.onended=null,a.onpause=null,a.onplay=null,a.ontimeupdate=null,a.ondurationchange=null,a.onwaiting=null,a.onseeking=null,a.onseeked=null,a.onstalled=null,a.onplaying=null,a.oncanplay=null,a.canplaythrough=null,a.onloadeddata=null,a.onvolumechange=null,a.onratechange=null,a.textTracks.onchange=null,t.removeChild(a)}}this.on=function(e,t){if(T)throw new Error("Video is destroyed");_.on(e,t)},this.dispatch=function(e){if(T)throw new Error("Video is destroyed");if(e)switch((e=n(o(e))).type){case"observeProp":return t=e.propName,void(S.hasOwnProperty(t)&&(_.emit("propValue",t,l(t)),S[t]=!0));case"setProp":return void(function(e,t){switch(e){case"paused":null!==s&&(t?a.pause():a.play(),u("paused"));break;case"time":null!==s&&null!==t&&isFinite(t)&&(a.currentTime=parseInt(t,10)/1e3,u("time"));break;case"selectedSubtitlesTrackId":if(null!==s){Array.from(a.textTracks).forEach(function(e,a){e.mode="EMBEDDED_"+String(a)===t?"showing":"disabled"});var i=l("subtitlesTracks").find(function(e){return e.id===t});i&&(u("selectedSubtitlesTrackId"),_.emit("subtitlesTrackLoaded",i))}break;case"selectedAudioTrackId":if(null!==s)for(var o=0;o<a.audioTracks.length;o++)a.audioTracks[o].enabled=!("EMBEDDED_"+String(o)!==t);var n=l("audioTracks").find(function(e){return e.id===t});n&&(u("selectedAudioTrackId"),_.emit("audioTrackLoaded",n));break;case"volume":null!==t&&isFinite(t)&&(a.muted=!1,a.volume=Math.max(0,Math.min(100,parseInt(t,10)))/100,u("muted"),u("volume"));break;case"muted":a.muted=!!t,u("muted");break;case"playbackSpeed":null!==t&&isFinite(t)&&(a.playbackRate=parseFloat(t),u("playbackSpeed"))}})(e.propName,e.propValue);case"command":return void d(e.commandName,e.commandArgs)}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}E.canPlayStream=function(e){return e?Promise.resolve(!0):Promise.resolve(!1)},E.manifest={name:"VidaaVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","volume","muted","playbackSpeed"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded"]},e.exports=E},24729:(e,t,a)=>{var i=a(53809);e.exports=i},45931:(e,t,a)=>{var i=a(55852),o=a(55126),n=a(68816),r=a(54842),E=a(90494);function _(e,t,a,i){t&&(e.onSuccess=t||function(){}),e.onFailure=function(t){console.log("WebOS",(e.method||i)+" [fail]["+t.errorCode+"] "+t.errorText),console.log("fail result",JSON.stringify(t)),a&&a()},window.webOS.service.request(i||"luna://com.webos.media",e)}function T(e,t,a){window.webOS.service.request("luna://com.webos.applicationManager",{method:"launch",parameters:{id:e.id,params:{payload:[{fullPath:e.url,artist:"",subtitle:"",dlnaInfo:{flagVal:4096,cleartextSize:"-1",contentLength:"-1",opVal:1,protocolInfo:"http-get:*:video/x-matroska:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000",duration:0},mediaType:"VIDEO",thumbnail:"",deviceType:"DMR",album:"",fileName:e.name,lastPlayPosition:e.position}]}},onSuccess:function(){t&&t()},onFailure:function(){a&&a(new Error("Failed to launch"+e.id)),"com.webos.app.photovideo"===e.id?(e.id="com.webos.app.smartshare",T(e,t,a)):"com.webos.app.smartshare"===e.id&&(e.id="com.webos.app.mediadiscovery",T(e,t,a))}})}var s=["none","black","white","yellow","red","green","blue"],S={"rgba(0, 0, 0, 0)":"none","rgba(0, 0, 0, 255)":"black","rgba(255, 255, 255, 255)":"white","rgba(255, 255, 0, 255)":"yellow","rgba(255, 0, 0, 255)":"red","rgba(0, 255, 0, 255)":"green","rgba(0, 0, 255, 255)":"blue","rgba(0, 0, 0, 1)":"black","rgba(255, 255, 255, 1)":"white","rgba(255, 255, 0, 1)":"yellow","rgba(255, 0, 0, 1)":"red","rgba(0, 255, 0, 1)":"green","rgba(0, 0, 255, 1)":"blue","rgb(0, 0, 0)":"black","rgb(255, 255, 255)":"white","rgb(255, 255, 0)":"yellow","rgb(255, 0, 0)":"red","rgb(0, 255, 0)":"green","rgb(0, 0, 255)":"blue","#000000FF":"black","#FFFFFFFF":"white","#FFFF00FF":"yellow","#FF0000FF":"red","#00FF00FF":"green","#0000FFFF":"blue","#000000":"black","#FFFFFF":"white","#FFFF00":"yellow","#FF0000":"red","#00FF00":"green","#0000FF":"blue"};var l={unsupportedAudio:["DTS","TRUEHD"],unsupportedSubs:["HDMV/PGS","VOBSUB"]},I=!1;function A(){I||window.webOS.service.request("luna://com.webos.service.config",{method:"getConfigs",parameters:{configNames:["tv.model.edidType"]},onSuccess:function(e){if(((e||{}).configs||{})["tv.model.edidType"]){I=!0;var t=e.configs["tv.model.edidType"].toLowerCase();t.includes("dts")&&(l.unsupportedAudio=l.unsupportedAudio.filter(function(e){return"DTS"!==e})),t.includes("truehd")&&(l.unsupportedAudio=l.unsupportedAudio.filter(function(e){return"TRUEHD"!==e}))}},onFailure:function(e){console.log("could not get deviceInfo",e)}})}function u(e){var t=(e=e||{}).containerElement;if(!(t instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var a=null,I=75,u=!0,d=!1,O=!1,c=[],N=[],R={color:"white",font_size:1,bg_color:"none",position:-1,bg_opacity:0,char_opacity:255},m=function(e){D.mediaId&&(u=!e,_({method:"setSubtitleEnable",parameters:{mediaId:D.mediaId,enable:e}}))},L=document.createElement("style");t.appendChild(L),L.sheet.insertRule("video::cue { font-size: 4vmin; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0); text-shadow: rgb(34, 34, 34) 1px 1px 0.1em; }");var D=document.createElement("video");D.style.width="100%",D.style.height="100%",D.style.backgroundColor="black",D.controls=!1,D.onerror=function(){!(function(){if(P)return;var e;switch((D.error||{}).code){case 1:e=r.HTML_VIDEO.MEDIA_ERR_ABORTED;break;case 2:e=r.HTML_VIDEO.MEDIA_ERR_NETWORK;break;case 3:e=r.HTML_VIDEO.MEDIA_ERR_DECODE,T({id:"com.webos.app.photovideo",url:B.url,name:"Stremio",position:-1},null,function(e){console.error(e)});break;case 4:e=r.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED,T({id:"com.webos.app.photovideo",url:B.url,name:"Stremio",position:-1},null,function(e){console.error(e)});break;default:e=r.UNKNOWN_ERROR}F(Object.assign({},e,{critical:!0,error:D.error}))})()},D.onended=function(){f.emit("ended")},D.onpause=function(){V("paused")},D.onplay=function(){V("paused")},D.ontimeupdate=function(){V("time"),V("buffered")},D.ondurationchange=function(){V("duration")},D.onwaiting=function(){V("buffering"),V("buffered")},D.onseeking=function(){V("buffering"),V("buffered")},D.onseeked=function(){V("buffering"),V("buffered")},D.onstalled=function(){V("buffering"),V("buffered")},D.onplaying=function(){V("buffering"),V("buffered"),a||(a=!0,V("loaded"))},D.oncanplay=function(){V("buffering"),V("buffered")},D.canplaythrough=function(){V("buffering"),V("buffered")},D.onloadeddata=function(){V("buffering"),V("buffered")},D.onloadedmetadata=function(){V("buffering"),V("buffered"),H("time",g)},D.onvolumechange=function(){V("volume"),V("muted")},D.onratechange=function(){V("playbackSpeed")},D.textTracks.onchange=function(){V("subtitlesTracks"),V("selectedSubtitlesTrackId"),k(),Array.from(D.textTracks).forEach(function(e){e.oncuechange=k})},t.appendChild(D);var p=null,C=null,h=1,f=new i,P=!1,B=null,g=null,v=0,M=100,W={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,buffered:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1,subtitlesOffset:!1,subtitlesSize:!1,subtitlesTextColor:!1,subtitlesBackgroundColor:!1,subtitlesOpacity:!1,audioTracks:!1,selectedAudioTrackId:!1,volume:!1,muted:!1,playbackSpeed:!1},y=!1,U={audio:[],subs:[]};function b(){y||null===B||(y=!0,E(B.url,function(e){var t=0,a=0;c=[],N=[],e&&(U=e),((U||{}).subs||[]).length&&(U.subs.forEach(function(e){if(!l.unsupportedSubs.includes(e.codec||"")){var a=t;t++,d||c.length||(d=a),c.push({id:"EMBEDDED_"+a,lang:e.lang||"eng",label:e.label||null,origin:"EMBEDDED",embedded:!0,mode:a===d?"showing":"disabled"})}}),V("subtitlesTracks"),V("selectedSubtitlesTrackId")),((U||{}).audio||[]).length&&(U.audio.forEach(function(e){if(!l.unsupportedAudio.includes(e.codec||"")){var t=a;a++,O||N.length||(O=t),N.push({id:"EMBEDDED_"+t,lang:e.lang||"eng",label:e.label||null,origin:"EMBEDDED",embedded:!0,mode:t===O?"showing":"disabled"})}}),O="EMBEDDED_0",V("audioTracks"),V("selectedAudioTrackId"))}))}function G(e){switch(e){case"stream":return B;case"loaded":return a;case"paused":return null===B?null:!!D.paused;case"time":return null!==B&&null!==D.currentTime&&isFinite(D.currentTime)?Math.floor(1e3*D.currentTime):null;case"duration":return null!==B&&null!==D.duration&&isFinite(D.duration)?Math.floor(1e3*D.duration):null;case"buffering":return null===B?null:D.readyState<D.HAVE_FUTURE_DATA;case"buffered":if(null===B)return null;for(var t=null!==D.currentTime&&isFinite(D.currentTime)?D.currentTime:0,i=0;i<D.buffered.length;i++)if(D.buffered.start(i)<=t&&t<=D.buffered.end(i))return Math.floor(1e3*D.buffered.end(i));return Math.floor(1e3*t);case"subtitlesTracks":return null===B?[]:c;case"selectedSubtitlesTrackId":return null===B||u?null:d;case"subtitlesOffset":return P?null:v;case"subtitlesSize":return P?null:I;case"subtitlesTextColor":return P?null:p||"rgb(255, 255, 255)";case"subtitlesBackgroundColor":return P?null:C||"rgba(0, 0, 0, 0)";case"subtitlesOpacity":return P?null:M||100;case"audioTracks":return N;case"selectedAudioTrackId":return O;case"volume":return P||null===D.volume||!isFinite(D.volume)?null:Math.floor(100*D.volume);case"muted":return P?null:!!D.muted;case"playbackSpeed":return P||null===h||!isFinite(h)?null:h;default:return null}}function k(){Array.from(D.textTracks).forEach(function(e){Array.from(e.cues||[]).forEach(function(e){e.snapToLines=!1,e.line=100-v})})}function F(e){f.emit("error",e),e.critical&&w("unload")}function V(e){W[e]&&f.emit("propChanged",e,G(e))}function H(e,t){switch(e){case"paused":null!==B&&(t?D.pause():D.play());break;case"time":if(null!==B&&D.readyState>=D.HAVE_METADATA&&null!==t&&isFinite(t))try{D.currentTime=parseInt(t,10)/1e3,V("time")}catch(e){}break;case"selectedSubtitlesTrackId":if(D.mediaId&&null!==B&&0===(t||"").indexOf("EMBEDDED_")){m(!0),R.bg_opacity="none"===R.bg_color?0:255,["setSubtitleCharacterColor","setSubtitleBackgroundColor","setSubtitlePosition","setSubtitleFontSize","setSubtitleBackgroundOpacity","setSubtitleCharacterOpacity"].forEach(function(e){_({method:e,parameters:{mediaId:D.mediaId,charColor:R.color,bgColor:"none"===R.bg_color?"black":R.bg_color,position:R.position,fontSize:R.font_size,bgOpacity:R.bg_opacity,charOpacity:R.char_opacity}})}),console.log("WebOS","change subtitles for id: ",D.mediaId," index:",t),d=t;var a=parseInt(t.replace("EMBEDDED_",""));console.log("set subs to track idx: "+a),setTimeout(function(){var e=function(){var e=G("subtitlesTracks").find(function(e){return e.id===t});c=c.map(function(e){return e.mode=e.id===d?"showing":"disabled",e}),e&&(f.emit("subtitlesTrackLoaded",e),V("selectedSubtitlesTrackId"))};_({method:"selectTrack",parameters:{type:"text",mediaId:D.mediaId,index:a}},e,e)},500)}-1===(t||"").indexOf("EMBEDDED_")&&(d=null,V("selectedSubtitlesTrackId"),m(!1));break;case"subtitlesOffset":if(null!==t&&isFinite(t)){v=t;var i=(l=Math.max(0,Math.min(100,parseInt(v,10))))<=0?-3:l<=5?-2:l<=10?0:l<=15?2:l<=20&&4;!1===i&&(i=-2),R.position=i,D.mediaId&&_({method:"setSubtitlePosition",parameters:{mediaId:D.mediaId,position:i}}),V("subtitlesOffset")}break;case"subtitlesSize":if(null!==t&&isFinite(t)){I=t;var o=(T=Math.max(0,parseInt(I,10)))<=100?1:T<=125?2:T<=150?3:T<=200&&4;!1===o&&(o=1),R.font_size=o,D.mediaId&&_({method:"setSubtitleFontSize",parameters:{mediaId:D.mediaId,fontSize:o}}),V("subtitlesSize")}break;case"subtitlesTextColor":if("string"==typeof t){var n="white";S[t]&&s.indexOf(S[t])>-1&&(n=S[t]),R.color=n,D.mediaId&&_({method:"setSubtitleCharacterColor",parameters:{mediaId:D.mediaId,charColor:n}}),p=t,V("subtitlesTextColor")}break;case"subtitlesBackgroundColor":"string"==typeof t&&(S[t]&&s.indexOf(S[t])>-1&&(R.bg_color=S[t],D.mediaId&&(_({method:"setSubtitleBackgroundColor",parameters:{mediaId:D.mediaId,bgColor:"none"===S[t]?"black":S[t]}}),_("none"===S[t]?{method:"setSubtitleBackgroundOpacity",parameters:{mediaId:D.mediaId,bgOpacity:0}}:{method:"setSubtitleBackgroundOpacity",parameters:{mediaId:D.mediaId,bgOpacity:255}}))),C=t,V("subtitlesBackgroundColor"));break;case"subtitlesOpacity":if("number"==typeof t){var r=Math.floor(t/100*255);R.char_opacity=r,D.mediaId&&_({method:"setSubtitleCharacterOpacity",parameters:{mediaId:D.mediaId,charOpacity:r}}),M=t,V("subtitlesOpacity")}break;case"selectedAudioTrackId":if(0===(t||"").indexOf("EMBEDDED_")){O=t;a=parseInt(t.replace("EMBEDDED_",""));if(D.mediaId&&_({method:"selectTrack",parameters:{type:"audio",mediaId:D.mediaId,index:a}},function(){var e=G("audioTracks").find(function(e){return e.id===t});N=N.map(function(e){return e.mode=e.id===O?"showing":"disabled",e}),e&&(f.emit("audioTrackLoaded",e),V("selectedAudioTrackId"))}),D&&D.audioTracks){for(var E=0;E<D.audioTracks.length;E++)D.audioTracks[E].enabled=!1;D.audioTracks[a]&&(D.audioTracks[a].enabled=!0)}}break;case"volume":null!==t&&isFinite(t)&&(D.muted=!1,D.volume=Math.max(0,Math.min(100,parseInt(t,10)))/100);break;case"muted":D.muted=!!t;break;case"playbackSpeed":null!==t&&isFinite(t)&&(h=parseFloat(t),D.mediaId&&_({method:"setPlayRate",parameters:{mediaId:D.mediaId,playRate:h,audioOutput:!0}}),V("playbackSpeed"))}var T,l}function w(e,a){switch(e){case"load":if(a&&a.stream&&"string"==typeof a.stream.url){B=a.stream,g=a.time,V("stream"),D.autoplay="boolean"!=typeof a.autoplay||a.autoplay,V("loaded"),V("paused"),V("time"),V("duration"),V("buffering"),V("buffered"),V("subtitlesTracks"),V("selectedSubtitlesTrackId"),V("audioTracks"),V("selectedAudioTrackId");var i=0;D.src=B.url,o=function(){try{D.load()}catch(e){}try{D.play()}catch(e){}},n=setInterval(function(){if(D.mediaId)return clearInterval(n),b(),A(),void o();++i>4&&(clearInterval(n),b(),A(),o())},300)}else F(Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:a?a.stream:null}));break;case"unload":B=null,g=null,Array.from(D.textTracks).forEach(function(e){e.oncuechange=null}),D.removeAttribute("src"),D.load(),V("stream"),V("paused"),V("time"),V("duration"),V("buffering"),V("buffered"),V("subtitlesTracks"),V("selectedSubtitlesTrackId"),V("audioTracks"),V("selectedAudioTrackId");break;case"destroy":w("unload"),P=!0,V("subtitlesOffset"),V("subtitlesSize"),V("subtitlesTextColor"),V("subtitlesBackgroundColor"),V("subtitlesOpacity"),V("volume"),V("muted"),V("playbackSpeed"),f.removeAllListeners(),D.onerror=null,D.onended=null,D.onpause=null,D.onplay=null,D.ontimeupdate=null,D.ondurationchange=null,D.onwaiting=null,D.onseeking=null,D.onseeked=null,D.onstalled=null,D.onplaying=null,D.oncanplay=null,D.canplaythrough=null,D.onloadeddata=null,D.onloadedmetadata=null,D.onvolumechange=null,D.onratechange=null,D.textTracks.onchange=null,t.removeChild(D),t.removeChild(L)}var o,n}this.on=function(e,t){if(P)throw new Error("Video is destroyed");f.on(e,t)},this.dispatch=function(e){if(P)throw new Error("Video is destroyed");if(e)switch((e=n(o(e))).type){case"observeProp":return t=e.propName,void(W.hasOwnProperty(t)&&(f.emit("propValue",t,G(t)),W[t]=!0));case"setProp":return void H(e.propName,e.propValue);case"command":return void w(e.commandName,e.commandArgs)}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}u.canPlayStream=function(){return Promise.resolve(!0)},u.manifest={name:"WebOsVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOpacity","volume","muted","playbackSpeed"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded","audioTrackLoaded"]},e.exports=u},69194:(e,t,a)=>{var i=a(45931);e.exports=i},54057:(e,t,a)=>{var i=a(55852),o=a(55126),n=a(68816),r=a(54842);function E(e){var t=null!==(e=e||{}).timeChangedTimeout&&isFinite(e.timeChangedTimeout)?parseInt(e.timeChangedTimeout,10):100,a=e.containerElement;if(!(a instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var E=document.createElement("script");E.type="text/javascript",E.src="https://www.youtube.com/iframe_api",E.onload=function(){if(A)return;if(!YT||"function"!=typeof YT.ready)return void c();YT.ready(function(){A||(YT&&YT.PlayerState&&"function"==typeof YT.Player?s=new YT.Player(_,{width:"100%",height:"100%",playerVars:{autoplay:1,cc_load_policy:3,controls:0,disablekb:1,enablejsapi:1,fs:0,iv_load_policy:3,loop:0,modestbranding:1,playsinline:1,rel:0},events:{onError:N,onReady:R,onApiChange:m,onStateChange:L}}):c())})},E.onerror=c,a.appendChild(E);var _=document.createElement("div");_.style.width="100%",_.style.height="100%",_.style.backgroundColor="black",a.appendChild(_);var T=window.setInterval(function(){C("time"),C("volume"),C("muted"),C("playbackSpeed")},t),s=null,S=!1,l=null,I=new i,A=!1,u=null,d=null,O={stream:!1,loaded:!1,paused:!1,time:!1,duration:!1,buffering:!1,volume:!1,muted:!1,playbackSpeed:!1,subtitlesTracks:!1,selectedSubtitlesTrackId:!1};function c(){A||p(Object.assign({},r.YOUTUBE_VIDEO.API_LOAD_FAILED,{critical:!0}))}function N(e){if(!A){var t;switch(e.data){case 2:t=r.YOUTUBE_VIDEO.INVALID_PARAMETER;break;case 5:t=r.YOUTUBE_VIDEO.HTML5_VIDEO;break;case 100:t=r.YOUTUBE_VIDEO.VIDEO_NOT_FOUND;break;case 101:case 150:t=r.YOUTUBE_VIDEO.VIDEO_NOT_EMBEDDABLE;break;default:t=r.UNKNOWN_ERROR}p(Object.assign({},t,{critical:!0,error:e}))}}function R(){A||(S=!0,null!==l&&(h("load",l),l=null))}function m(){A||("function"==typeof s.loadModule&&s.loadModule("captions"),"function"==typeof s.setOption&&s.setOption("captions","track",{}),C("paused"),C("time"),C("duration"),C("buffering"),C("volume"),C("muted"),C("playbackSpeed"),C("subtitlesTracks"),C("selectedSubtitlesTrackId"))}function L(e){switch(C("buffering"),e.data){case YT.PlayerState.ENDED:I.emit("ended");break;case YT.PlayerState.CUED:case YT.PlayerState.UNSTARTED:case YT.PlayerState.PAUSED:case YT.PlayerState.PLAYING:C("paused"),C("time"),C("duration")}}function D(e){switch(e){case"stream":return u;case"loaded":return null!==u||null;case"paused":return null===u||"function"!=typeof s.getPlayerState?null:s.getPlayerState()!==YT.PlayerState.PLAYING;case"time":return null!==u&&"function"==typeof s.getCurrentTime&&null!==s.getCurrentTime()&&isFinite(s.getCurrentTime())?Math.floor(1e3*s.getCurrentTime()):null;case"duration":return null!==u&&"function"==typeof s.getDuration&&null!==s.getDuration()&&isFinite(s.getDuration())?Math.floor(1e3*s.getDuration()):null;case"buffering":return null===u||"function"!=typeof s.getPlayerState?null:s.getPlayerState()===YT.PlayerState.BUFFERING;case"volume":return null!==u&&"function"==typeof s.getVolume&&null!==s.getVolume()&&isFinite(s.getVolume())?s.getVolume():null;case"muted":return null===u||"function"!=typeof s.isMuted?null:s.isMuted();case"playbackSpeed":return null!==u&&"function"==typeof s.getPlaybackRate&&null!==s.getPlaybackRate()&&isFinite(s.getPlaybackRate())?s.getPlaybackRate():null;case"subtitlesTracks":return null===u||"function"!=typeof s.getOption?[]:(s.getOption("captions","tracklist")||[]).filter(function(e){return e&&"string"==typeof e.languageCode}).map(function(e,t){return Object.freeze({id:"EMBEDDED_"+String(t),lang:e.languageCode,label:"string"==typeof e.displayName?e.displayName:e.languageCode,origin:"EMBEDDED",embedded:!0})});case"selectedSubtitlesTrackId":return null===u?null:d;default:return null}}function p(e){I.emit("error",e),e.critical&&h("unload")}function C(e){O[e]&&I.emit("propChanged",e,D(e))}function h(e,t){switch(e){case"load":if(h("unload"),t&&t.stream&&"string"==typeof t.stream.ytId)if(S){u=t.stream,C("stream"),C("loaded");var i="boolean"!=typeof t.autoplay||t.autoplay,o=null!==t.time&&isFinite(t.time)?parseInt(t.time,10)/1e3:0;i&&"function"==typeof s.loadVideoById?s.loadVideoById({videoId:t.stream.ytId,startSeconds:o}):"function"==typeof s.cueVideoById&&s.cueVideoById({videoId:t.stream.ytId,startSeconds:o}),C("paused"),C("time"),C("duration"),C("buffering"),C("volume"),C("muted"),C("playbackSpeed"),C("subtitlesTracks"),C("selectedSubtitlesTrackId")}else l=t;else p(Object.assign({},r.UNSUPPORTED_STREAM,{critical:!0,stream:t?t.stream:null}));break;case"unload":l=null,u=null,C("stream"),C("loaded"),d=null,S&&"function"==typeof s.stopVideo&&s.stopVideo(),C("paused"),C("time"),C("duration"),C("buffering"),C("volume"),C("muted"),C("playbackSpeed"),C("subtitlesTracks"),C("selectedSubtitlesTrackId");break;case"destroy":h("unload"),A=!0,I.removeAllListeners(),clearInterval(T),S&&"function"==typeof s.destroy&&s.destroy(),a.removeChild(E),a.removeChild(_)}}this.on=function(e,t){if(A)throw new Error("Video is destroyed");I.on(e,t)},this.dispatch=function(e){if(A)throw new Error("Video is destroyed");if(e)switch((e=n(o(e))).type){case"observeProp":return t=e.propName,void(O.hasOwnProperty(t)&&(I.emit("propValue",t,D(t)),O[t]=!0));case"setProp":return void(function(e,t){switch(e){case"paused":null!==u&&(t?"function"==typeof s.pauseVideo&&s.pauseVideo():"function"==typeof s.playVideo&&s.playVideo());break;case"time":null!==u&&"function"==typeof s.seekTo&&null!==t&&isFinite(t)&&s.seekTo(parseInt(t,10)/1e3);break;case"volume":null!==u&&null!==t&&isFinite(t)&&("function"==typeof s.unMute&&s.unMute(),"function"==typeof s.setVolume&&s.setVolume(Math.max(0,Math.min(100,parseInt(t,10)))),C("muted"),C("volume"));break;case"muted":null!==u&&(t?"function"==typeof s.mute&&s.mute():"function"==typeof s.unMute&&s.unMute(),C("muted"));break;case"playbackSpeed":null!==u&&"function"==typeof s.setPlaybackRate&&isFinite(t)&&(s.setPlaybackRate(t),C("playbackSpeed"));break;case"selectedSubtitlesTrackId":if(null!==u){d=null;var a=D("subtitlesTracks").find(function(e){return e.id===t});"function"==typeof s.setOption&&(a?(d=a.id,s.setOption("captions","track",{languageCode:a.lang}),I.emit("subtitlesTrackLoaded",a)):s.setOption("captions","track",{})),C("selectedSubtitlesTrackId")}}})(e.propName,e.propValue);case"command":return void h(e.commandName,e.commandArgs)}var t;throw new Error("Invalid action dispatched: "+JSON.stringify(e))}}E.canPlayStream=function(e){return Promise.resolve(e&&"string"==typeof e.ytId)},E.manifest={name:"YouTubeVideo",external:!1,props:["stream","loaded","paused","time","duration","buffering","volume","muted","playbackSpeed","subtitlesTracks","selectedSubtitlesTrackId"],commands:["load","unload","destroy"],events:["propValue","propChanged","ended","error","subtitlesTrackLoaded"]},e.exports=E},40845:(e,t,a)=>{var i=a(54057);e.exports=i},54842:e=>{e.exports={CHROMECAST_SENDER_VIDEO:{INVALID_MESSAGE_RECEIVED:{code:100,message:"Invalid message received"},MESSAGE_SEND_FAILED:{code:101,message:"Failed to send message"}},YOUTUBE_VIDEO:{API_LOAD_FAILED:{code:90,message:"YouTube player iframe API failed to load"},INVALID_PARAMETER:{code:91,message:"The request contains an invalid parameter value"},HTML5_VIDEO:{code:92,message:"The requested content cannot be played in an HTML5 player"},VIDEO_NOT_FOUND:{code:93,message:"The video requested was not found"},VIDEO_NOT_EMBEDDABLE:{code:94,message:"The owner of the requested video does not allow it to be played in embedded players"}},HTML_VIDEO:{MEDIA_ERR_ABORTED:{code:80,message:"Fetching process aborted"},MEDIA_ERR_NETWORK:{code:81,message:"Error occurred when downloading"},MEDIA_ERR_DECODE:{code:82,message:"Error occurred when decoding"},MEDIA_ERR_SRC_NOT_SUPPORTED:{code:83,message:"Video is not supported"}},WITH_HTML_SUBTITLES:{LOAD_FAILED:{code:70,message:"Failed to load external subtitles"}},WITH_STREAMING_SERVER:{CONVERT_FAILED:{code:60,message:"Your device does not support the stream"}},UNKNOWN_ERROR:{code:1,message:"Unknown error"},UNSUPPORTED_STREAM:{code:2,message:"Stream is not supported"},STREAM_FAILED_TO_LOAD:{code:3,message:"Stream failed to load"}}},53640:(e,t,a)=>{var i=a(85469);e.exports=i},71962:e=>{var t,a,i=[{codec:"h264",force:window.chrome||window.cast,mime:'video/mp4; codecs="avc1.42E01E"'},{codec:"h265",mime:'video/mp4; codecs="hev1.1.6.L150.B0"',aliases:["hevc"]},{codec:"vp8",mime:'video/mp4; codecs="vp8"'},{codec:"vp9",mime:'video/mp4; codecs="vp9"'}],o=[{codec:"aac",mime:'audio/mp4; codecs="mp4a.40.2"'},{codec:"mp3",mime:'audio/mp4; codecs="mp3"'},{codec:"ac3",mime:'audio/mp4; codecs="ac-3"'},{codec:"eac3",mime:'audio/mp4; codecs="ec-3"'},{codec:"vorbis",mime:'audio/mp4; codecs="vorbis"'},{codec:"opus",mime:'audio/mp4; codecs="opus"'}];function n(e,t){return e.force||"function"==typeof t.mediaElement.canPlayType&&t.mediaElement.canPlayType(e.mime)?[e.codec].concat(e.aliases||[]):[]}e.exports=(t=document.createElement("video"),a=["mp4"],(window.chrome||window.cast)&&a.push("matroska,webm"),{formats:a,videoCodecs:i.map(function(e){return n(e,{mediaElement:t})}).reduce(function(e,t){return e.concat(t)},[]),audioCodecs:o.map(function(e){return n(e,{mediaElement:t})}).reduce(function(e,t){return e.concat(t)},[]),maxAudioChannels:(function(){if(/firefox/i.test(window.navigator.userAgent))return 6;if(!window.AudioContext||window.chrome||window.cast)return 2;var e=(new AudioContext).destination.maxChannelCount;return e>0?e:2})()})},78069:e=>{var t=null;e.exports={set:function(e){t=e},get:function(){return t}}},59324:(e,t,a)=>{var i=a(78069);e.exports=function(){return["Tizen","webOS","Titan","NetTV"].includes(i.get())||void 0!==window.qt?Promise.resolve(!1):Promise.resolve(!0)}},90494:e=>{e.exports=function(e,t){fetch("http://127.0.0.1:11470/tracks/"+encodeURIComponent(e)).then(function(e){return e.json()}).then(function(e){var a=e.filter(function(e){return"audio"===(e||{}).type}),i=e.filter(function(e){return"text"===(e||{}).type});t({audio:a,subs:i})}).catch(function(e){console.error(e),t(!1)})}},12624:e=>{e.exports=function(e,t){if(t<e[0]||e[e.length-1]<t)return-1;for(var a=0,i=e.length-1,o=-1;a<=i;){var n=Math.floor((a+i)/2);e[n]>t?i=n-1:(e[n]<t||(o=n),a=n+1)}return-1!==o?o:i}},69065:(e,t,a)=>{var i=a(29083);e.exports=i},6286:e=>{function t(e){for(var t="",a=(e=e.replace(/<[a-zA-Z/][^>]*>/g,"")).split(/\n/);a.length>3;){for(var i=3;i<a.length;i++)a[2]+="\n"+a[i];a.splice(3,a.length-3)}var o=0;if(!a[0].match(/\d+:\d+:\d+/)&&a[1].match(/\d+:\d+:\d+/)&&(t+=a[0].match(/\w+/)+"\n",o+=1),!a[o].match(/\d+:\d+:\d+/))return"";var n=a[1].match(/(\d+):(\d+):(\d+)(?:,(\d+))?\s*--?>\s*(\d+):(\d+):(\d+)(?:,(\d+))?/);return n?(t+=n[1]+":"+n[2]+":"+n[3]+"."+n[4]+" --\x3e "+n[5]+":"+n[6]+":"+n[7]+"."+n[8]+"\n",a[o+=1]&&(t+=a[o]+"\n\n"),t):""}e.exports={convert:function(e){if(e.includes("WEBVTT"))return e;try{return(function(e){var a=e.replace(/\r+/g,""),i=(a=a.replace(/^\s+|\s+$/g,"")).split("\n\n"),o="";if(i.length>0){o+="WEBVTT\n\n";for(var n=0;n<i.length;n+=1)o+=t(i[n])}return o})(e)}catch(e){throw new Error("Failed to convert srt to webvtt: "+e.message)}}}},4703:(e,t,a)=>{var i=a(21417),o=a(12624);e.exports={parse:function(e){return new Promise(function(t,a){var n=new i.WebVTT.Parser(window,i.WebVTT.StringDecoder()),r=[],E=[],_={};n.oncue=function(e){var t={startTime:1e3*e.startTime|0,endTime:1e3*e.endTime|0,text:e.text};E.push(t),_[t.startTime]=_[t.startTime]||[],_[t.endTime]=_[t.endTime]||[]},n.onparsingerror=function(e){0===e.code?(n.oncue=null,n.onparsingerror=null,n.onflush=null,a(e)):(console.warn("Subtitles parsing error",e),r.push(e))},n.onflush=function(){_.times=Object.keys(_).map(function(e){return parseInt(e,10)}).sort(function(e,t){return e-t});for(var e=0;e<E.length;e++){_[E[e].startTime].push(E[e]);for(var i=o(_.times,E[e].startTime)+1;i<_.times.length&&!(E[e].endTime<=_.times[i]);i++)_[_.times[i]].push(E[e])}for(var T=0;T<_.times.length;T++)_[_.times[T]].sort(function(e,t){return e.startTime-t.startTime||e.endTime-t.endTime});n.oncue=null,n.onparsingerror=null,n.onflush=null,0===E.length&&r.length?a(r[0]):0===_.times.length?a(new Error("Missing subtitle track cues")):t(_)},n.parse(e)})}}},1743:(e,t,a)=>{var i=a(21417),o=a(12624);e.exports={render:function(e,t){var a=[],n=o(e.times,t);if(-1!==n)for(var r=e[e.times[n]],E=0;E<r.length;E++){var _=i.WebVTT.convertCueToDOMTree(window,r[E].text);a.push(_)}return a}}},29083:(e,t,a)=>{var i=a(55852),o=a(55126),n=a(68816),r=a(38742),E=a(54842),_=a(4703),T=a(1743),s=a(6286);e.exports=function(e){function t(t){var a=new e(t=t||{});a.on("error",function(e){u.emit("error",e),e.critical&&M("unload")}),a.on("propValue",P.bind(null,"propValue")),a.on("propChanged",P.bind(null,"propChanged")),e.manifest.events.filter(function(e){return!["error","propValue","propChanged"].includes(e)}).forEach(function(e){a.on(e,(function(e){return function(){u.emit.apply(u,[e].concat(Array.from(arguments)))}})(e))});var S=t.containerElement;if(!(S instanceof HTMLElement))throw new Error("Container element required to be instance of HTMLElement");var l=document.createElement("div");l.style.position="absolute",l.style.right="0",l.style.bottom="0",l.style.left="0",l.style.zIndex="1",l.style.textAlign="center",S.style.position="relative",S.style.zIndex="0",S.appendChild(l);var I={time:null},A=null,u=new i,d=!1,O=[],c=null,N=null,R=100,m=0,L="rgb(255, 255, 255)",D="rgba(0, 0, 0, 0)",p="rgb(34, 34, 34)",C=1,h={extraSubtitlesTracks:!1,selectedExtraSubtitlesTrackId:!1,extraSubtitlesDelay:!1,extraSubtitlesSize:!1,extraSubtitlesOffset:!1,extraSubtitlesTextColor:!1,extraSubtitlesBackgroundColor:!1,extraSubtitlesOutlineColor:!1,extraSubtitlesOpacity:!1};function f(){for(;l.hasChildNodes();)l.removeChild(l.lastChild);null!==A&&null!==I.time&&isFinite(I.time)&&(l.style.bottom=m+"%",l.style.opacity=C,T.render(A,I.time-N).forEach(function(e){e.style.display="inline-block",e.style.padding="0.2em",e.style.whiteSpace="pre-wrap";var t=window.screen720p?1.538:1;e.style.fontSize=Math.floor(R/25*t)+"vmin",e.style.color=L,e.style.backgroundColor=D,e.style.textShadow="-0.15rem -0.15rem 0.15rem "+p+", 0px -0.15rem 0.15rem "+p+", 0.15rem -0.15rem 0.15rem "+p+", -0.15rem 0px 0.15rem "+p+", 0.15rem 0px 0.15rem "+p+", -0.15rem 0.15rem 0.15rem "+p+", 0px 0.15rem 0.15rem "+p+", 0.15rem 0.15rem 0.15rem "+p,l.appendChild(e),l.appendChild(document.createElement("br"))}))}function P(e,t,a){if("time"===t)I.time=a,f();u.emit(e,t,g(t,a))}function B(e){h[e]&&u.emit("propChanged",e,g(e,null))}function g(e,t){switch(e){case"extraSubtitlesTracks":return d?[]:O.slice();case"selectedExtraSubtitlesTrackId":return d?null:c;case"extraSubtitlesDelay":return d?null:N;case"extraSubtitlesSize":return d?null:R;case"extraSubtitlesOffset":return d?null:m;case"extraSubtitlesTextColor":return d?null:L;case"extraSubtitlesBackgroundColor":return d?null:D;case"extraSubtitlesOutlineColor":return d?null:p;case"extraSubtitlesOpacity":return d?null:C;default:return t}}function v(e,t){switch(e){case"selectedExtraSubtitlesTrackId":A=null,c=null,N=null;var i=O.find(function(e){return e.id===t});if(i){c=i.id,N=0,(function e(t,o){(function(e,t){var a=t?e.fallbackUrl:e.url;if("string"==typeof a)return fetch(a).then(function(e){if(e.ok)return e.text();throw new Error(e.status+" ("+e.statusText+")")});if(e.buffer instanceof ArrayBuffer)try{const t=new Uint8Array(e.buffer),a=(new TextDecoder).decode(t);return Promise.resolve(a)}catch(e){return Promise.reject(e)}return Promise.reject("No `url` or `buffer` field available for this track")})(t,o).then(function(e){return s.convert(e)}).then(function(e){return _.parse(e)}).then(function(e){c===i.id&&(A=e,f(),u.emit("extraSubtitlesTrackLoaded",i))}).catch(function(t){c===i.id&&(o||"string"!=typeof i.fallbackUrl?(function(e){u.emit("error",e),e.critical&&(M("unload"),a.dispatch({type:"command",commandName:"unload"}))})(Object.assign({},E.WITH_HTML_SUBTITLES.LOAD_FAILED,{error:t,track:i,critical:!1})):e(i,!0))})})(i)}return f(),B("selectedExtraSubtitlesTrackId"),B("extraSubtitlesDelay"),!0;case"extraSubtitlesDelay":return null!==c&&null!==t&&isFinite(t)&&(N=parseInt(t,10),f(),B("extraSubtitlesDelay")),!0;case"extraSubtitlesSize":return null!==t&&isFinite(t)&&(R=Math.max(0,parseInt(t,10)),f(),B("extraSubtitlesSize")),!0;case"extraSubtitlesOffset":return null!==t&&isFinite(t)&&(m=Math.max(0,Math.min(100,parseInt(t,10))),f(),B("extraSubtitlesOffset")),!0;case"extraSubtitlesTextColor":if("string"==typeof t){try{L=r(t).rgb().string()}catch(e){console.error("withHTMLSubtitles",e)}f(),B("extraSubtitlesTextColor")}return!0;case"extraSubtitlesBackgroundColor":if("string"==typeof t){try{D=r(t).rgb().string()}catch(e){console.error("withHTMLSubtitles",e)}f(),B("extraSubtitlesBackgroundColor")}return!0;case"extraSubtitlesOutlineColor":if("string"==typeof t){try{p=r(t).rgb().string()}catch(e){console.error("withHTMLSubtitles",e)}f(),B("extraSubtitlesOutlineColor")}return!0;case"extraSubtitlesOpacity":if("number"==typeof t){try{C=Math.min(Math.max(t/100,0),1)}catch(e){console.error("withHTMLSubtitles",e)}f(),B("extraSubtitlesOpacity")}return!0;default:return!1}}function M(e,t){switch(e){case"addExtraSubtitlesTracks":return t&&Array.isArray(t.tracks)&&(O=O.concat(t.tracks).filter(function(e,t,a){return e&&"string"==typeof e.id&&"string"==typeof e.lang&&"string"==typeof e.label&&"string"==typeof e.origin&&!e.embedded&&t===a.findIndex(function(t){return t.id===e.id})}),B("extraSubtitlesTracks")),!0;case"addLocalSubtitles":if(t&&"string"==typeof t.filename&&t.buffer instanceof ArrayBuffer){var i="LOCAL_"+O.filter(function(e){return e.local}).length,o={id:i,url:null,buffer:t.buffer,lang:"local",label:t.filename,origin:"LOCAL",local:!0,embedded:!1};O.push(o),B("extraSubtitlesTracks"),u.emit("extraSubtitlesTrackAdded",o)}return!0;case"load":return M("unload"),t.stream&&Array.isArray(t.stream.subtitles)&&M("addExtraSubtitlesTracks",{tracks:t.stream.subtitles.map(function(e){return Object.assign({},e,{origin:"EXCLUSIVE",exclusive:!0,embedded:!1})})}),!1;case"unload":return A=null,O=[],c=null,N=null,f(),B("extraSubtitlesTracks"),B("selectedExtraSubtitlesTrackId"),B("extraSubtitlesDelay"),!1;case"destroy":return M("unload"),d=!0,B("extraSubtitlesSize"),B("extraSubtitlesOffset"),B("extraSubtitlesTextColor"),B("extraSubtitlesBackgroundColor"),B("extraSubtitlesOutlineColor"),B("extraSubtitlesOpacity"),a.dispatch({type:"command",commandName:"destroy"}),u.removeAllListeners(),S.removeChild(l),!0;default:return!1}}this.on=function(e,t){if(d)throw new Error("Video is destroyed");u.on(e,t)},this.dispatch=function(e){if(d)throw new Error("Video is destroyed");if(e)switch((e=n(o(e))).type){case"observeProp":if((function(e){switch(e){case"extraSubtitlesTracks":case"selectedExtraSubtitlesTrackId":case"extraSubtitlesDelay":case"extraSubtitlesSize":case"extraSubtitlesOffset":case"extraSubtitlesTextColor":case"extraSubtitlesBackgroundColor":case"extraSubtitlesOutlineColor":case"extraSubtitlesOpacity":return u.emit("propValue",e,g(e,null)),h[e]=!0,!0;default:return!1}})(e.propName))return;break;case"setProp":if(v(e.propName,e.propValue))return;break;case"command":if(M(e.commandName,e.commandArgs))return}a.dispatch(e)}}return t.canPlayStream=function(t){return e.canPlayStream(t)},t.manifest={name:e.manifest.name+"WithHTMLSubtitles",external:e.manifest.external,props:e.manifest.props.concat(["extraSubtitlesTracks","selectedExtraSubtitlesTrackId","extraSubtitlesDelay","extraSubtitlesSize","extraSubtitlesOffset","extraSubtitlesTextColor","extraSubtitlesBackgroundColor","extraSubtitlesOutlineColor","extraSubtitlesOpacity"]).filter(function(e,t,a){return a.indexOf(e)===t}),commands:e.manifest.commands.concat(["load","unload","destroy","addExtraSubtitlesTracks","addLocalSubtitles"]).filter(function(e,t,a){return a.indexOf(e)===t}),events:e.manifest.events.concat(["propValue","propChanged","error","extraSubtitlesTrackLoaded","extraSubtitlesTrackAdded"]).filter(function(e,t,a){return a.indexOf(e)===t})},t}},75947:(e,t,a)=>{var i=a(48868),o=a(53909),n=a(6418);function r(e,t,a,o){var n=new URL(t),r=new URLSearchParams;return r.set("d",n.origin),Object.entries(a).forEach(function(e){r.append("h",e[0]+":"+e[1])}),Object.entries(o).forEach(function(e){r.append("r",e[0]+":"+e[1])}),i.resolve(e,"/proxy/"+r.toString()+n.pathname)+n.search}e.exports=function(e,t,a,i){return new Promise(function(E,_){if("string"!=typeof t.url)"string"!=typeof t.infoHash?_(new Error("Stream cannot be converted")):n(e,t.infoHash,t.fileIdx,t.announce,a).then(function(e){E({url:e.url,infoHash:e.infoHash,fileIdx:e.fileIdx})}).catch(function(e){_(e)});else if(0===t.url.indexOf("magnet:")){var T;try{if(!(T=o.decode(t.url))||"string"!=typeof T.infoHash)throw new Error("Failed to decode magnet url")}catch(e){return void _(e)}var s=Array.isArray(T.announce)?T.announce.map(function(e){return"tracker:"+e}):[];n(e,T.infoHash,null,s,a).then(function(e){E({url:e.url,infoHash:e.infoHash,fileIdx:e.fileIdx})}).catch(function(e){_(e)})}else{var S=i&&i.proxyStreamsEnabled,l=t.behaviorHints&&t.behaviorHints.proxyHeaders;if(S||l){var I=l&&l.request?l.request:{},A=l&&l.response?l.response:{};E({url:r(e,t.url,I,A)})}else E({url:t.url})}})}},6418:(e,t,a)=>{var i=a(48868);function o(e,t,a,o){var n=Array.isArray(o)&&o.length>0?"?"+new URLSearchParams(o.map(function(e){return["tr",e]})):"";return{url:i.resolve(e,"/"+encodeURIComponent(t)+"/"+encodeURIComponent(a))+n,infoHash:t,fileIdx:a,sources:o}}e.exports=function(e,t,a,n,r){if((!Array.isArray(n)||0===n.length)&&null!==a&&isFinite(a))return Promise.resolve(o(e,t,a,n));var E={torrent:{infoHash:t}};return Array.isArray(n)&&n.length>0&&(E.peerSearch={sources:["dht:"+t].concat(n).filter(function(e,t,a){return a.indexOf(e)===t}),min:40,max:200}),null!==a&&isFinite(a)?E.guessFileIdx=!1:(E.guessFileIdx={},r&&(null!==r.season&&isFinite(r.season)&&(E.guessFileIdx.season=r.season),null!==r.episode&&isFinite(r.episode)&&(E.guessFileIdx.episode=r.episode))),fetch(i.resolve(e,"/"+encodeURIComponent(t)+"/create"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(E)}).then(function(e){if(e.ok)return e.json();throw new Error(e.status+" ("+e.statusText+")")}).then(function(i){return o(e,t,E.guessFileIdx?i.guessedFileIdx:a,E.peerSearch?E.peerSearch.sources:[])})}},8831:(e,t,a)=>{var i=a(48868);function o(e,t,a){var o=a&&"string"==typeof a.videoHash?a.videoHash:null,n=a&&isFinite(a.videoSize)?a.videoSize:null;if("string"==typeof o&&null!==n&&isFinite(n))return Promise.resolve({hash:o,size:n});var r=new URLSearchParams([["videoUrl",t]]);return fetch(i.resolve(e,"/opensubHash?"+r.toString())).then(function(e){if(e.ok)return e.json();throw new Error(e.status+" ("+e.statusText+")")}).then(function(e){if(e.error)throw new Error(e.error);return{hash:"string"==typeof o?o:e.result&&"string"==typeof e.result.hash?e.result.hash:null,size:null!==n&&isFinite(n)?n:e.result&&(e.result.size,1)?e.result.size:null}})}function n(e,t,a,o,n){return n&&"string"==typeof n.filename?Promise.resolve(n.filename):a?fetch(i.resolve(e,"/"+encodeURIComponent(a)+"/"+encodeURIComponent(o)+"/stats.json")).then(function(e){if(e.ok)return e.json();throw new Error(e.status+" ("+e.statusText+")")}).then(function(e){if(!e||"string"!=typeof e.streamName)throw new Error("Could not retrieve filename from torrent");return e.streamName}):Promise.resolve(decodeURIComponent(t.split("/").pop()))}e.exports=function(e,t,a,i,r){return Promise.allSettled([o(e,t,r),n(e,t,a,i,r)]).then(function(e){var t={hash:null,size:null,filename:null};return"fulfilled"===e[0].status?(t.hash=e[0].value.hash,t.size=e[0].value.size):e[0].reason&&console.error(e[0].reason),"fulfilled"===e[1].status?t.filename=e[1].value:e[1].reason&&console.error(e[1].reason),t})}},81492:(e,t,a)=>{var i=a(44543);e.exports=i},22434:e=>{e.exports=function(e,t){return t.includes("loaded")?new Promise(function(t,a){var i=null;e.on("propChanged",function(e,o){"loaded"===e&&null!==o&&null===i&&(i=o,!0===o?t(!0):!1===o&&a(Error("Player failed to load, will not retrieve video params")))}),e.dispatch({type:"observeProp",propName:"loaded"})}):Promise.resolve(!0)}},44543:(e,t,a)=>{var i=a(55852),o=a(48868),n=a(77444),r=a(55126),E=a(68816),_=a(71962),T=a(75947),s=a(8831),S=a(22434),l=a(59324),I=a(54842);e.exports=function(e){function t(a){var l=new e(a=a||{});l.on("error",function(e){N.emit("error",e),e.critical&&h("unload")}),l.on("propValue",L.bind(null,"propValue")),l.on("propChanged",L.bind(null,"propChanged")),e.manifest.events.filter(function(e){return!["error","propValue","propChanged"].includes(e)}).forEach(function(e){l.on(e,(function(e){return function(){N.emit.apply(N,[e].concat(Array.from(arguments)))}})(e))});var A=this,u=null,d=!1,O=[],c=null,N=new i,R=!1,m={stream:!1,videoParams:!1};function L(e,t,a){N.emit(e,t,C(t,a))}function D(e){m[e]&&N.emit("propChanged",e,C(e,null))}function p(e){N.emit("error",e),e.critical&&(h("unload"),l.dispatch({type:"command",commandName:"unload"}))}function C(e,t){switch(e){case"stream":return null!==u?u.stream:null;case"videoParams":return c;default:return t}}function h(a,i){switch(a){case"load":return i&&i.stream&&"string"==typeof i.streamingServerURL?(h("unload"),l.dispatch({type:"command",commandName:"unload"}),u=i,D("stream"),T(i.streamingServerURL,i.stream,i.seriesInfo,i.streamingServerSettings).then(function(e){var a=e.url,r=e.infoHash,E=e.fileIdx,T=Array.isArray(i.formats)?i.formats:_.formats,s=Array.isArray(i.videoCodecs)?i.videoCodecs:_.videoCodecs,S=Array.isArray(i.audioCodecs)?i.audioCodecs:_.audioCodecs,l=null!==i.maxAudioChannels&&isFinite(i.maxAudioChannels)?i.maxAudioChannels:_.maxAudioChannels,I=Object.assign({},i,{formats:T,videoCodecs:s,audioCodecs:S,maxAudioChannels:l});return(i.forceTranscoding?Promise.resolve(!1):t.canPlayStream({url:a},I)).catch(function(e){return console.warn("Media probe error",e),!1}).then(function(e){if(e)return{mediaURL:a,infoHash:r,fileIdx:E,stream:{url:a}};var t=n(),_=new URLSearchParams([["mediaURL",a]]);return i.forceTranscoding&&_.set("forceTranscoding","1"),s.forEach(function(e){_.append("videoCodecs",e)}),S.forEach(function(e){_.append("audioCodecs",e)}),_.set("maxAudioChannels",l),{mediaURL:a,infoHash:r,fileIdx:E,stream:{url:o.resolve(i.streamingServerURL,"/hlsv2/"+t+"/master.m3u8?"+_.toString()),subtitles:Array.isArray(i.stream.subtitles)?i.stream.subtitles.map(function(e){return Object.assign({},e,{url:"string"==typeof e.url?o.resolve(i.streamingServerURL,"/subtitles.vtt?"+new URLSearchParams([["from",e.url]]).toString()):e.url})}):[],behaviorHints:{headers:{"content-type":"application/vnd.apple.mpegurl"}}}}})}).then(function(t){i===u&&(l.dispatch({type:"command",commandName:"load",commandArgs:Object.assign({},i,{stream:t.stream})}),d=!0,(function(){for(;O.length>0;){var e=O.shift();A.dispatch.call(A,e)}})(),S(l,e.manifest.props).then(function(){return s(i.streamingServerURL,t.mediaURL,t.infoHash,t.fileIdx,i.stream.behaviorHints)}).then(function(e){i===u&&(c=e,D("videoParams"))}).catch(function(e){i===u&&(console.error(e),c={hash:null,size:null,filename:null},D("videoParams"))}))}).catch(function(e){i===u&&p(Object.assign({},I.WITH_STREAMING_SERVER.CONVERT_FAILED,{error:e,critical:!0,stream:i.stream,streamingServerURL:i.streamingServerURL}))})):p(Object.assign({},I.UNSUPPORTED_STREAM,{critical:!0,stream:i?i.stream:null,streamingServerURL:i&&"string"==typeof i.streamingServerURL?i.streamingServerURL:null})),!0;case"addExtraSubtitlesTracks":return u&&i&&Array.isArray(i.tracks)&&(d?l.dispatch({type:"command",commandName:"addExtraSubtitlesTracks",commandArgs:Object.assign({},i,{tracks:i.tracks.map(function(e){return Object.assign({},e,{fallbackUrl:e.url,url:"string"==typeof e.url?o.resolve(u.streamingServerURL,"/subtitles.vtt?"+new URLSearchParams([["from",e.url]]).toString()):e.url})})})}):O.push({type:"command",commandName:"addExtraSubtitlesTracks",commandArgs:i})),!0;case"unload":return u=null,d=!1,O=[],c=null,D("stream"),D("videoParams"),!1;case"destroy":return h("unload"),R=!0,l.dispatch({type:"command",commandName:"destroy"}),N.removeAllListeners(),!0;default:return!d&&(O.push({type:"command",commandName:a,commandArgs:i}),!0)}}this.on=function(e,t){if(R)throw new Error("Video is destroyed");N.on(e,t)},this.dispatch=function(e){if(R)throw new Error("Video is destroyed");if(e)switch((e=E(r(e))).type){case"observeProp":if((function(e){switch(e){case"stream":case"videoParams":return N.emit("propValue",e,C(e,null)),m[e]=!0,!0;default:return!1}})(e.propName))return;break;case"command":if(h(e.commandName,e.commandArgs))return}l.dispatch(e)}}return t.canPlayStream=function(t,a){return l().then(function(i){if(!i)return e.canPlayStream(t);var n=new URLSearchParams([["mediaURL",t.url]]);return fetch(o.resolve(a.streamingServerURL,"/hlsv2/probe?"+n.toString())).then(function(e){return e.json()}).then(function(e){var t=a.formats.some(function(t){return-1!==e.format.name.indexOf(t)}),i=e.streams.every(function(e){return"audio"===e.track?e.channels<=a.maxAudioChannels&&-1!==a.audioCodecs.indexOf(e.codec):"video"!==e.track||-1!==a.videoCodecs.indexOf(e.codec)});return t&&i}).catch(function(){return e.canPlayStream(t)})})},t.manifest={name:e.manifest.name+"WithStreamingServer",external:e.manifest.external,props:e.manifest.props.concat(["stream","videoParams"]).filter(function(e,t,a){return a.indexOf(e)===t}),commands:e.manifest.commands.concat(["load","unload","destroy","addExtraSubtitlesTracks"]).filter(function(e,t,a){return a.indexOf(e)===t}),events:e.manifest.events.concat(["propValue","propChanged","error"]).filter(function(e,t,a){return a.indexOf(e)===t})},t}},62170:(e,t,a)=>{var i=a(63883);e.exports=i},63883:(e,t,a)=>{var i=a(55852),o=a(55126),n=a(68816);e.exports=function(e){function t(t){var a=new e(t=t||{});a.on("propValue",s.bind(null,"propValue")),a.on("propChanged",s.bind(null,"propChanged")),e.manifest.events.filter(function(e){return!["propValue","propChanged"].includes(e)}).forEach(function(e){a.on(e,(function(e){return function(){E.emit.apply(E,[e].concat(Array.from(arguments)))}})(e))});var r=null,E=new i,_=!1,T={videoParams:!1};function s(e,t,a){"videoParams"!==t&&E.emit(e,t,S(t,a)),"stream"===t&&(r=a,(function(e){T[e]&&E.emit("propChanged",e,S(e,null))})("videoParams"))}function S(e,t){return"videoParams"===e?null===r?null:{hash:r.behaviorHints&&"string"==typeof r.behaviorHints.videoHash?r.behaviorHints.videoHash:null,size:r.behaviorHints&&null!==r.behaviorHints.videoSize&&isFinite(r.behaviorHints.videoSize)?r.behaviorHints.videoSize:null,filename:r.behaviorHints&&"string"==typeof r.behaviorHints.filename?r.behaviorHints.filename:null}:t}this.on=function(e,t){if(_)throw new Error("Video is destroyed");E.on(e,t)},this.dispatch=function(e){if(_)throw new Error("Video is destroyed");if(e)switch((e=n(o(e))).type){case"observeProp":if("videoParams"===(i=e.propName)&&(E.emit("propValue",i,S(i,null)),T[i]=!0,1))return;break;case"command":if(t=e.commandName,e.commandArgs,"destroy"===t&&(_=!0,a.dispatch({type:"command",commandName:"destroy"}),E.removeAllListeners(),1))return}var t,i;a.dispatch(e)}}return t.canPlayStream=function(t,a){return e.canPlayStream(t,a)},t.manifest={name:e.manifest.name+"WithVideoParams",external:e.manifest.external,props:e.manifest.props.concat(["videoParams"]).filter(function(e,t,a){return a.indexOf(e)===t}),commands:e.manifest.commands.concat(["destroy"]).filter(function(e,t,a){return a.indexOf(e)===t}),events:e.manifest.events.concat(["propValue","propChanged"]).filter(function(e,t,a){return a.indexOf(e)===t})},t}},38250:function(e){"undefined"!=typeof self&&self,e.exports=(function(e){var t={};function a(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,a),o.l=!0,o.exports}return a.m=e,a.c=t,a.d=function(e,t,i){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(a.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)a.d(i,o,function(t){return e[t]}.bind(null,o));return i},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=1)})([function(e,t,a){"use strict";var i=a(3);function o(e){return!0===i(e)&&"[object Object]"===Object.prototype.toString.call(e)}e.exports=function(e){var t,a;return!1!==o(e)&&"function"==typeof(t=e.constructor)&&!1!==o(a=t.prototype)&&!1!==a.hasOwnProperty("isPrototypeOf")}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VERSION=t.PALETTE_MATERIAL_CHROME=t.PALETTE_MATERIAL_500=t.COLOR_NAMES=t.getLuminance=t.intToRgb=t.rgbToInt=t.rgbToHsv=t.rgbToHsl=t.hslToRgb=t.rgbToHex=t.parseColor=t.parseColorToHsla=t.parseColorToHsl=t.parseColorToRgba=t.parseColorToRgb=t.from=t.createPicker=void 0;var i=(function(){function e(e,t){for(var a=0;a<t.length;a++){var i=t[a];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,a,i){return a&&e(t.prototype,a),i&&e(t,i),t}})(),o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return(function(e,t){var a=[],i=!0,o=!1,n=void 0;try{for(var r,E=e[Symbol.iterator]();!(i=(r=E.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){o=!0,n=e}finally{try{!i&&E.return&&E.return()}finally{if(o)throw n}}return a})(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},n=a(2),r=_(a(0)),E=_(a(4));function _(e){return e&&e.__esModule?e:{default:e}}function T(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t<e.length;t++)a[t]=e[t];return a}return Array.from(e)}var S="undefined"!=typeof window&&window.navigator.userAgent.indexOf("Edge")>-1,l="undefined"!=typeof window&&window.navigator.userAgent.indexOf("rv:")>-1,I={id:null,attachTo:"body",showHSL:!0,showRGB:!0,showHEX:!0,showAlpha:!1,color:"#ff0000",palette:null,paletteEditable:!1,useAlphaInPalette:"auto",slBarSize:[232,150],hueBarSize:[150,11],alphaBarSize:[150,11]},A="COLOR",u="RGBA_USER",d="HSLA_USER";function O(e,t,a){return e?e instanceof HTMLElement?e:e instanceof NodeList?e[0]:"string"==typeof e?document.querySelector(e):e.jquery?e.get(0):a?t:null:t}function c(e){var t=e.getContext("2d"),a=+e.width,i=+e.height,r=t.createLinearGradient(1,1,1,i-1);return r.addColorStop(0,"white"),r.addColorStop(1,"black"),{setHue:function(e){var o=t.createLinearGradient(1,0,a-1,0);o.addColorStop(0,"hsla("+e+", 100%, 50%, 0)"),o.addColorStop(1,"hsla("+e+", 100%, 50%, 1)"),t.fillStyle=r,t.fillRect(0,0,a,i),t.fillStyle=o,t.globalCompositeOperation="multiply",t.fillRect(0,0,a,i),t.globalCompositeOperation="source-over"},grabColor:function(e,a){return t.getImageData(e,a,1,1).data},findColor:function(e,t,r){var E=(0,n.rgbToHsv)(e,t,r),_=o(E,3),T=_[1],s=_[2];return[T*a,i-s*i]}}}function N(e,t,a){return null===e?t:/^\s*$/.test(e)?a:!!/true|yes|1/i.test(e)||!/false|no|0/i.test(e)&&t}function R(e,t,a){if(null===e)return t;if(/^\s*$/.test(e))return a;var i=e.split(",").map(Number);return 2===i.length&&i[0]&&i[1]?i:t}var m=(function(){function e(t,a){if(T(this,e),a?(t=O(t),this.options=Object.assign({},I,a)):t&&(0,r.default)(t)?(this.options=Object.assign({},I,t),t=O(this.options.attachTo)):(this.options=Object.assign({},I),t=O((0,n.nvl)(t,this.options.attachTo))),!t)throw new Error("Container not found: "+this.options.attachTo);!(function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"acp-";if(t.hasAttribute(a+"show-hsl")&&(e.showHSL=N(t.getAttribute(a+"show-hsl"),I.showHSL,!0)),t.hasAttribute(a+"show-rgb")&&(e.showRGB=N(t.getAttribute(a+"show-rgb"),I.showRGB,!0)),t.hasAttribute(a+"show-hex")&&(e.showHEX=N(t.getAttribute(a+"show-hex"),I.showHEX,!0)),t.hasAttribute(a+"show-alpha")&&(e.showAlpha=N(t.getAttribute(a+"show-alpha"),I.showAlpha,!0)),t.hasAttribute(a+"palette-editable")&&(e.paletteEditable=N(t.getAttribute(a+"palette-editable"),I.paletteEditable,!0)),t.hasAttribute(a+"sl-bar-size")&&(e.slBarSize=R(t.getAttribute(a+"sl-bar-size"),I.slBarSize,[232,150])),t.hasAttribute(a+"hue-bar-size")&&(e.hueBarSize=R(t.getAttribute(a+"hue-bar-size"),I.hueBarSize,[150,11]),e.alphaBarSize=e.hueBarSize),t.hasAttribute(a+"palette")){var i=t.getAttribute(a+"palette");switch(i){case"PALETTE_MATERIAL_500":e.palette=n.PALETTE_MATERIAL_500;break;case"PALETTE_MATERIAL_CHROME":case"":e.palette=n.PALETTE_MATERIAL_CHROME;break;default:e.palette=i.split(/[;|]/)}}t.hasAttribute(a+"color")&&(e.color=t.getAttribute(a+"color"))})(this.options,t),this.H=0,this.S=0,this.L=0,this.R=0,this.G=0,this.B=0,this.A=1,this.palette={},this.element=document.createElement("div"),this.options.id&&(this.element.id=this.options.id),this.element.className="a-color-picker",this.element.innerHTML=E.default,t.appendChild(this.element);var i=this.element.querySelector(".a-color-picker-h");this.setupHueCanvas(i),this.hueBarHelper=c(i),this.huePointer=this.element.querySelector(".a-color-picker-h+.a-color-picker-dot");var o=this.element.querySelector(".a-color-picker-sl");this.setupSlCanvas(o),this.slBarHelper=c(o),this.slPointer=this.element.querySelector(".a-color-picker-sl+.a-color-picker-dot"),this.preview=this.element.querySelector(".a-color-picker-preview"),this.setupClipboard(this.preview.querySelector(".a-color-picker-clipbaord")),this.options.showHSL?(this.setupInput(this.inputH=this.element.querySelector(".a-color-picker-hsl>input[nameref=H]")),this.setupInput(this.inputS=this.element.querySelector(".a-color-picker-hsl>input[nameref=S]")),this.setupInput(this.inputL=this.element.querySelector(".a-color-picker-hsl>input[nameref=L]"))):this.element.querySelector(".a-color-picker-hsl").remove(),this.options.showRGB?(this.setupInput(this.inputR=this.element.querySelector(".a-color-picker-rgb>input[nameref=R]")),this.setupInput(this.inputG=this.element.querySelector(".a-color-picker-rgb>input[nameref=G]")),this.setupInput(this.inputB=this.element.querySelector(".a-color-picker-rgb>input[nameref=B]"))):this.element.querySelector(".a-color-picker-rgb").remove(),this.options.showHEX?this.setupInput(this.inputRGBHEX=this.element.querySelector("input[nameref=RGBHEX]")):this.element.querySelector(".a-color-picker-rgbhex").remove(),this.options.paletteEditable||this.options.palette&&this.options.palette.length>0?this.setPalette(this.paletteRow=this.element.querySelector(".a-color-picker-palette")):(this.paletteRow=this.element.querySelector(".a-color-picker-palette"),this.paletteRow.remove()),this.options.showAlpha?(this.setupAlphaCanvas(this.element.querySelector(".a-color-picker-a")),this.alphaPointer=this.element.querySelector(".a-color-picker-a+.a-color-picker-dot")):this.element.querySelector(".a-color-picker-alpha").remove(),this.element.style.width=this.options.slBarSize[0]+"px",this.onValueChanged(A,this.options.color)}return i(e,[{key:"setupHueCanvas",value:function(e){var t=this;e.width=this.options.hueBarSize[0],e.height=this.options.hueBarSize[1];for(var a=e.getContext("2d"),i=a.createLinearGradient(0,0,this.options.hueBarSize[0],0),o=0;o<=1;o+=1/360)i.addColorStop(o,"hsl("+360*o+", 100%, 50%)");a.fillStyle=i,a.fillRect(0,0,this.options.hueBarSize[0],this.options.hueBarSize[1]);var r=function(a){var i=(0,n.limit)(a.clientX-e.getBoundingClientRect().left,0,t.options.hueBarSize[0]),o=Math.round(360*i/t.options.hueBarSize[0]);t.huePointer.style.left=i-7+"px",t.onValueChanged("H",o)},E=function e(){document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",e)};e.addEventListener("mousedown",function(e){r(e),document.addEventListener("mousemove",r),document.addEventListener("mouseup",E)})}},{key:"setupSlCanvas",value:function(e){var t=this;e.width=this.options.slBarSize[0],e.height=this.options.slBarSize[1];var a=function(a){var i=(0,n.limit)(a.clientX-e.getBoundingClientRect().left,0,t.options.slBarSize[0]-1),o=(0,n.limit)(a.clientY-e.getBoundingClientRect().top,0,t.options.slBarSize[1]-1),r=t.slBarHelper.grabColor(i,o);t.slPointer.style.left=i-7+"px",t.slPointer.style.top=o-7+"px",t.onValueChanged("RGB",r)},i=function e(){document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",e)};e.addEventListener("mousedown",function(e){a(e),document.addEventListener("mousemove",a),document.addEventListener("mouseup",i)})}},{key:"setupAlphaCanvas",value:function(e){var t=this;e.width=this.options.alphaBarSize[0],e.height=this.options.alphaBarSize[1];var a=e.getContext("2d"),i=a.createLinearGradient(0,0,e.width-1,0);i.addColorStop(0,"hsla(0, 0%, 50%, 0)"),i.addColorStop(1,"hsla(0, 0%, 50%, 1)"),a.fillStyle=i,a.fillRect(0,0,this.options.alphaBarSize[0],this.options.alphaBarSize[1]);var o=function(a){var i=(0,n.limit)(a.clientX-e.getBoundingClientRect().left,0,t.options.alphaBarSize[0]),o=+(i/t.options.alphaBarSize[0]).toFixed(2);t.alphaPointer.style.left=i-7+"px",t.onValueChanged("ALPHA",o)},r=function e(){document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",e)};e.addEventListener("mousedown",function(e){o(e),document.addEventListener("mousemove",o),document.addEventListener("mouseup",r)})}},{key:"setupInput",value:function(e){var t=this,a=+e.min,i=+e.max,o=e.getAttribute("nameref");e.hasAttribute("select-on-focus")&&e.addEventListener("focus",function(){e.select()}),"text"===e.type?e.addEventListener("change",function(){t.onValueChanged(o,e.value)}):((S||l)&&e.addEventListener("keydown",function(r){"Up"===r.key?(e.value=(0,n.limit)(+e.value+1,a,i),t.onValueChanged(o,e.value),r.returnValue=!1):"Down"===r.key&&(e.value=(0,n.limit)(+e.value-1,a,i),t.onValueChanged(o,e.value),r.returnValue=!1)}),e.addEventListener("change",function(){var r=+e.value;t.onValueChanged(o,(0,n.limit)(r,a,i))}))}},{key:"setupClipboard",value:function(e){var t=this;e.title="click to copy",e.addEventListener("click",function(){e.value=(0,n.parseColor)([t.R,t.G,t.B,t.A],"hexcss4"),e.select(),document.execCommand("copy")})}},{key:"setPalette",value:function(e){var t=this,a="auto"===this.options.useAlphaInPalette?this.options.showAlpha:this.options.useAlphaInPalette,i=null;switch(this.options.palette){case"PALETTE_MATERIAL_500":i=n.PALETTE_MATERIAL_500;break;case"PALETTE_MATERIAL_CHROME":i=n.PALETTE_MATERIAL_CHROME;break;default:i=(0,n.ensureArray)(this.options.palette)}if(this.options.paletteEditable||i.length>0){var o=function(a,i,o){var n=e.querySelector('.a-color-picker-palette-color[data-color="'+a+'"]')||document.createElement("div");n.className="a-color-picker-palette-color",n.style.backgroundColor=a,n.setAttribute("data-color",a),n.title=a,e.insertBefore(n,i),t.palette[a]=!0,o&&t.onPaletteColorAdd(a)},r=function(a,i){a?(e.removeChild(a),t.palette[a.getAttribute("data-color")]=!1,i&&t.onPaletteColorRemove(a.getAttribute("data-color"))):(e.querySelectorAll(".a-color-picker-palette-color[data-color]").forEach(function(t){e.removeChild(t)}),Object.keys(t.palette).forEach(function(e){t.palette[e]=!1}),i&&t.onPaletteColorRemove())};if(i.map(function(e){return(0,n.parseColor)(e,a?"rgbcss4":"hex")}).filter(function(e){return!!e}).forEach(function(e){return o(e)}),this.options.paletteEditable){var E=document.createElement("div");E.className="a-color-picker-palette-color a-color-picker-palette-add",E.innerHTML="+",e.appendChild(E),e.addEventListener("click",function(e){/a-color-picker-palette-add/.test(e.target.className)?e.shiftKey?r(null,!0):o(a?(0,n.parseColor)([t.R,t.G,t.B,t.A],"rgbcss4"):(0,n.rgbToHex)(t.R,t.G,t.B),e.target,!0):/a-color-picker-palette-color/.test(e.target.className)&&(e.shiftKey?r(e.target,!0):t.onValueChanged(A,e.target.getAttribute("data-color")))})}else e.addEventListener("click",function(e){/a-color-picker-palette-color/.test(e.target.className)&&t.onValueChanged(A,e.target.getAttribute("data-color"))})}else e.style.display="none"}},{key:"updatePalette",value:function(e){this.paletteRow.innerHTML="",this.palette={},this.paletteRow.parentElement||this.element.appendChild(this.paletteRow),this.options.palette=e,this.setPalette(this.paletteRow)}},{key:"onValueChanged",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{silent:!1};switch(e){case"H":this.H=t;var i=(0,n.hslToRgb)(this.H,this.S,this.L),r=o(i,3);this.R=r[0],this.G=r[1],this.B=r[2],this.slBarHelper.setHue(t),this.updatePointerH(this.H),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"S":this.S=t;var E=(0,n.hslToRgb)(this.H,this.S,this.L),_=o(E,3);this.R=_[0],this.G=_[1],this.B=_[2],this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"L":this.L=t;var T=(0,n.hslToRgb)(this.H,this.S,this.L),s=o(T,3);this.R=s[0],this.G=s[1],this.B=s[2],this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"R":this.R=t;var S=(0,n.rgbToHsl)(this.R,this.G,this.B),l=o(S,3);this.H=l[0],this.S=l[1],this.L=l[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"G":this.G=t;var I=(0,n.rgbToHsl)(this.R,this.G,this.B),O=o(I,3);this.H=O[0],this.S=O[1],this.L=O[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"B":this.B=t;var c=(0,n.rgbToHsl)(this.R,this.G,this.B),N=o(c,3);this.H=N[0],this.S=N[1],this.L=N[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case"RGB":var R=o(t,3);this.R=R[0],this.G=R[1],this.B=R[2];var m=(0,n.rgbToHsl)(this.R,this.G,this.B),L=o(m,3);this.H=L[0],this.S=L[1],this.L=L[2],this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case u:var D=o(t,4);this.R=D[0],this.G=D[1],this.B=D[2],this.A=D[3];var p=(0,n.rgbToHsl)(this.R,this.G,this.B),C=o(p,3);this.H=C[0],this.S=C[1],this.L=C[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case d:var h=o(t,4);this.H=h[0],this.S=h[1],this.L=h[2],this.A=h[3];var f=(0,n.hslToRgb)(this.H,this.S,this.L),P=o(f,3);this.R=P[0],this.G=P[1],this.B=P[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case"RGBHEX":var B=(0,n.cssColorToRgb)(t)||[this.R,this.G,this.B],g=o(B,3);this.R=g[0],this.G=g[1],this.B=g[2];var v=(0,n.rgbToHsl)(this.R,this.G,this.B),M=o(v,3);this.H=M[0],this.S=M[1],this.L=M[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B);break;case A:var W=(0,n.parseColor)(t,"rgba")||[0,0,0,1],y=o(W,4);this.R=y[0],this.G=y[1],this.B=y[2],this.A=y[3];var U=(0,n.rgbToHsl)(this.R,this.G,this.B),b=o(U,3);this.H=b[0],this.S=b[1],this.L=b[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case"ALPHA":this.A=t}1===this.A?this.preview.style.backgroundColor="rgb("+this.R+","+this.G+","+this.B+")":this.preview.style.backgroundColor="rgba("+this.R+","+this.G+","+this.B+","+this.A+")",a&&a.silent||this.onchange&&this.onchange(this.preview.style.backgroundColor)}},{key:"onPaletteColorAdd",value:function(e){this.oncoloradd&&this.oncoloradd(e)}},{key:"onPaletteColorRemove",value:function(e){this.oncolorremove&&this.oncolorremove(e)}},{key:"updateInputHSL",value:function(e,t,a){this.options.showHSL&&(this.inputH.value=e,this.inputS.value=t,this.inputL.value=a)}},{key:"updateInputRGB",value:function(e,t,a){this.options.showRGB&&(this.inputR.value=e,this.inputG.value=t,this.inputB.value=a)}},{key:"updateInputRGBHEX",value:function(e,t,a){this.options.showHEX&&(this.inputRGBHEX.value=(0,n.rgbToHex)(e,t,a))}},{key:"updatePointerH",value:function(e){var t=this.options.hueBarSize[0]*e/360;this.huePointer.style.left=t-7+"px"}},{key:"updatePointerSL",value:function(e,t,a){var i=(0,n.hslToRgb)(e,t,a),r=o(i,3),E=r[0],_=r[1],T=r[2],s=this.slBarHelper.findColor(E,_,T),S=o(s,2),l=S[0],I=S[1];l>=0&&(this.slPointer.style.left=l-7+"px",this.slPointer.style.top=I-7+"px")}},{key:"updatePointerA",value:function(e){if(this.options.showAlpha){var t=this.options.alphaBarSize[0]*e;this.alphaPointer.style.left=t-7+"px"}}}]),e})(),L=(function(){function e(t){T(this,e),this.name=t,this.listeners=[]}return i(e,[{key:"on",value:function(e){e&&this.listeners.push(e)}},{key:"off",value:function(e){this.listeners=e?this.listeners.filter(function(t){return t!==e}):[]}},{key:"emit",value:function(e,t){for(var a=this.listeners.slice(0),i=0;i<a.length;i++)a[i].apply(t,e)}}]),e})();function D(e,t){var a=new m(e,t),i={change:new L("change"),coloradd:new L("coloradd"),colorremove:new L("colorremove")},r=!0,E={},_={get element(){return a.element},get rgb(){return[a.R,a.G,a.B]},set rgb(e){var t=o(e,3),i=t[0],r=t[1],E=t[2],_=[(0,n.limit)(i,0,255),(0,n.limit)(r,0,255),(0,n.limit)(E,0,255)];i=_[0],r=_[1],E=_[2],a.onValueChanged(u,[i,r,E,1])},get hsl(){return[a.H,a.S,a.L]},set hsl(e){var t=o(e,3),i=t[0],r=t[1],E=t[2],_=[(0,n.limit)(i,0,360),(0,n.limit)(r,0,100),(0,n.limit)(E,0,100)];i=_[0],r=_[1],E=_[2],a.onValueChanged(d,[i,r,E,1])},get rgbhex(){return this.all.hex},get rgba(){return[a.R,a.G,a.B,a.A]},set rgba(e){var t=o(e,4),i=t[0],r=t[1],E=t[2],_=t[3],T=[(0,n.limit)(i,0,255),(0,n.limit)(r,0,255),(0,n.limit)(E,0,255),(0,n.limit)(_,0,1)];i=T[0],r=T[1],E=T[2],_=T[3],a.onValueChanged(u,[i,r,E,_])},get hsla(){return[a.H,a.S,a.L,a.A]},set hsla(e){var t=o(e,4),i=t[0],r=t[1],E=t[2],_=t[3],T=[(0,n.limit)(i,0,360),(0,n.limit)(r,0,100),(0,n.limit)(E,0,100),(0,n.limit)(_,0,1)];i=T[0],r=T[1],E=T[2],_=T[3],a.onValueChanged(d,[i,r,E,_])},get color(){return this.all.toString()},set color(e){a.onValueChanged(A,e)},setColor:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];a.onValueChanged(A,e,{silent:t})},get all(){if(r){var e=[a.R,a.G,a.B,a.A],t=a.A<1?"rgba("+a.R+","+a.G+","+a.B+","+a.A+")":n.rgbToHex.apply(void 0,e);(E=(0,n.parseColor)(e,E)).toString=function(){return t},r=!1}return Object.assign({},E)},get onchange(){return i.change&&i.change.listeners[0]},set onchange(e){this.off("change").on("change",e)},get oncoloradd(){return i.coloradd&&i.coloradd.listeners[0]},set oncoloradd(e){this.off("coloradd").on("coloradd",e)},get oncolorremove(){return i.colorremove&&i.colorremove.listeners[0]},set oncolorremove(e){this.off("colorremove").on("colorremove",e)},get palette(){return Object.keys(a.palette).filter(function(e){return a.palette[e]})},set palette(e){a.updatePalette(e)},show:function(){a.element.classList.remove("hidden")},hide:function(){a.element.classList.add("hidden")},toggle:function(){a.element.classList.toggle("hidden")},on:function(e,t){return e&&i[e]&&i[e].on(t),this},off:function(e,t){return e&&i[e]&&i[e].off(t),this},destroy:function(){i.change.off(),i.coloradd.off(),i.colorremove.off(),a.element.remove(),i=null,a=null}};return a.onchange=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];r=!0,i.change.emit([_].concat(t),_)},a.oncoloradd=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];i.coloradd.emit([_].concat(t),_)},a.oncolorremove=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];i.colorremove.emit([_].concat(t),_)},a.element.ctrl=_,_}if("undefined"!=typeof window&&!document.querySelector('head>style[data-source="a-color-picker"]')){var p=a(5).toString(),C=document.createElement("style");C.setAttribute("type","text/css"),C.setAttribute("data-source","a-color-picker"),C.innerHTML=p,document.querySelector("head").appendChild(C)}t.createPicker=D,t.from=function(e,t){var a=(function(e){return e?Array.isArray(e)?e:e instanceof HTMLElement?[e]:e instanceof NodeList?[].concat(s(e)):"string"==typeof e?[].concat(s(document.querySelectorAll(e))):e.jquery?e.get():[]:[]})(e).map(function(e,a){var i=D(e,t);return i.index=a,i});return a.on=function(e,t){return a.forEach(function(a){return a.on(e,t)}),this},a.off=function(e){return a.forEach(function(t){return t.off(e)}),this},a},t.parseColorToRgb=n.parseColorToRgb,t.parseColorToRgba=n.parseColorToRgba,t.parseColorToHsl=n.parseColorToHsl,t.parseColorToHsla=n.parseColorToHsla,t.parseColor=n.parseColor,t.rgbToHex=n.rgbToHex,t.hslToRgb=n.hslToRgb,t.rgbToHsl=n.rgbToHsl,t.rgbToHsv=n.rgbToHsv,t.rgbToInt=n.rgbToInt,t.intToRgb=n.intToRgb,t.getLuminance=n.getLuminance,t.COLOR_NAMES=n.COLOR_NAMES,t.PALETTE_MATERIAL_500=n.PALETTE_MATERIAL_500,t.PALETTE_MATERIAL_CHROME=n.PALETTE_MATERIAL_CHROME,t.VERSION="1.2.1"},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nvl=t.ensureArray=t.limit=t.getLuminance=t.parseColor=t.parseColorToHsla=t.parseColorToHsl=t.cssHslaToHsla=t.cssHslToHsl=t.parseColorToRgba=t.parseColorToRgb=t.cssRgbaToRgba=t.cssRgbToRgb=t.cssColorToRgba=t.cssColorToRgb=t.intToRgb=t.rgbToInt=t.rgbToHsv=t.rgbToHsl=t.hslToRgb=t.rgbToHex=t.PALETTE_MATERIAL_CHROME=t.PALETTE_MATERIAL_500=t.COLOR_NAMES=void 0;var i=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return(function(e,t){var a=[],i=!0,o=!1,n=void 0;try{for(var r,E=e[Symbol.iterator]();!(i=(r=E.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){o=!0,n=e}finally{try{!i&&E.return&&E.return()}finally{if(o)throw n}}return a})(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},o=(function(e){return e&&e.__esModule?e:{default:e}})(a(0));function n(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t<e.length;t++)a[t]=e[t];return a}return Array.from(e)}var r={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#00FFFF",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blue:"#0000FF",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgrey:"#A9A9A9",darkgreen:"#006400",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#FF00FF",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#ADFF2F",honeydew:"#F0FFF0",hotpink:"#FF69B4","indianred ":"#CD5C5C","indigo ":"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgray:"#D3D3D3",lightgrey:"#D3D3D3",lightgreen:"#90EE90",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",lime:"#00FF00",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",maroon:"#800000",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",navy:"#000080",oldlace:"#FDF5E6",olive:"#808000",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",purple:"#800080",rebeccapurple:"#663399",red:"#FF0000",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",silver:"#C0C0C0",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",teal:"#008080",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",white:"#FFFFFF",whitesmoke:"#F5F5F5",yellow:"#FFFF00",yellowgreen:"#9ACD32"};function E(e,t,a){return e=+e,isNaN(e)||e<t?t:e>a?a:e}function _(e,t){return null==e?t:e}function T(e,t,a){var i=[E(e,0,255),E(t,0,255),E(a,0,255)];return"#"+("000000"+((e=i[0])<<16|(t=i[1])<<8|(a=i[2])).toString(16)).slice(-6)}function s(e,t,a){var i=void 0,o=void 0,n=void 0,r=[E(e,0,360)/360,E(t,0,100)/100,E(a,0,100)/100];if(e=r[0],a=r[2],0==(t=r[1]))i=o=n=a;else{var _=function(e,t,a){return a<0&&(a+=1),a>1&&(a-=1),a<1/6?e+6*(t-e)*a:a<.5?t:a<2/3?e+(t-e)*(2/3-a)*6:e},T=a<.5?a*(1+t):a+t-a*t,s=2*a-T;i=_(s,T,e+1/3),o=_(s,T,e),n=_(s,T,e-1/3)}return[255*i,255*o,255*n].map(Math.round)}function S(e,t,a){var i=[E(e,0,255)/255,E(t,0,255)/255,E(a,0,255)/255];e=i[0],t=i[1],a=i[2];var o=Math.max(e,t,a),n=Math.min(e,t,a),r=void 0,_=void 0,T=(o+n)/2;if(o==n)r=_=0;else{var s=o-n;switch(_=T>.5?s/(2-o-n):s/(o+n),o){case e:r=(t-a)/s+(t<a?6:0);break;case t:r=(a-e)/s+2;break;case a:r=(e-t)/s+4}r/=6}return[360*r,100*_,100*T].map(Math.round)}function l(e,t,a){return e<<16|t<<8|a}function I(e){if(e){var t=r[e.toString().toLowerCase()],a=/^\s*#?((([0-9A-F])([0-9A-F])([0-9A-F]))|(([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})))\s*$/i.exec(t||e)||[],o=i(a,10),n=o[3],E=o[4],_=o[5],T=o[7],s=o[8],S=o[9];if(void 0!==n)return[parseInt(n+n,16),parseInt(E+E,16),parseInt(_+_,16)];if(void 0!==T)return[parseInt(T,16),parseInt(s,16),parseInt(S,16)]}}function A(e){if(e){var t=r[e.toString().toLowerCase()],a=/^\s*#?((([0-9A-F])([0-9A-F])([0-9A-F])([0-9A-F])?)|(([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})?))\s*$/i.exec(t||e)||[],o=i(a,12),n=o[3],E=o[4],_=o[5],T=o[6],s=o[8],S=o[9],l=o[10],I=o[11];if(void 0!==n)return[parseInt(n+n,16),parseInt(E+E,16),parseInt(_+_,16),T?+(parseInt(T+T,16)/255).toFixed(2):1];if(void 0!==s)return[parseInt(s,16),parseInt(S,16),parseInt(l,16),I?+(parseInt(I,16)/255).toFixed(2):1]}}function u(e){if(e){var t=/^rgb\((\d+)[\s,](\d+)[\s,](\d+)\)/i.exec(e)||[],a=i(t,4),o=a[0],n=a[1],r=a[2],_=a[3];return o?[E(n,0,255),E(r,0,255),E(_,0,255)]:void 0}}function d(e){if(e){var t=/^rgba?\((\d+)\s*[\s,]\s*(\d+)\s*[\s,]\s*(\d+)(\s*[\s,]\s*(\d*(.\d+)?))?\)/i.exec(e)||[],a=i(t,6),o=a[0],n=a[1],r=a[2],T=a[3],s=a[5];return o?[E(n,0,255),E(r,0,255),E(T,0,255),E(_(s,1),0,1)]:void 0}}function O(e){if(Array.isArray(e))return[E(e[0],0,255),E(e[1],0,255),E(e[2],0,255),E(_(e[3],1),0,1)];var t=A(e)||d(e);return t&&3===t.length&&t.push(1),t}function c(e){if(e){var t=/^hsl\((\d+)[\s,](\d+)[\s,](\d+)\)/i.exec(e)||[],a=i(t,4),o=a[0],n=a[1],r=a[2],_=a[3];return o?[E(n,0,360),E(r,0,100),E(_,0,100)]:void 0}}function N(e){if(e){var t=/^hsla?\((\d+)\s*[\s,]\s*(\d+)\s*[\s,]\s*(\d+)(\s*[\s,]\s*(\d*(.\d+)?))?\)/i.exec(e)||[],a=i(t,6),o=a[0],n=a[1],r=a[2],T=a[3],s=a[5];return o?[E(n,0,255),E(r,0,255),E(T,0,255),E(_(s,1),0,1)]:void 0}}function R(e){if(Array.isArray(e))return[E(e[0],0,360),E(e[1],0,100),E(e[2],0,100),E(_(e[3],1),0,1)];var t=N(e);return t&&3===t.length&&t.push(1),t}function m(e,t){switch(t){case"rgb":default:return e.slice(0,3);case"rgbcss":return"rgb("+e[0]+", "+e[1]+", "+e[2]+")";case"rgbcss4":return"rgb("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")";case"rgba":return e;case"rgbacss":return"rgba("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")";case"hsl":return S.apply(void 0,n(e));case"hslcss":return"hsl("+(e=S.apply(void 0,n(e)))[0]+", "+e[1]+", "+e[2]+")";case"hslcss4":var a=S.apply(void 0,n(e));return"hsl("+a[0]+", "+a[1]+", "+a[2]+", "+e[3]+")";case"hsla":return[].concat(n(S.apply(void 0,n(e))),[e[3]]);case"hslacss":var i=S.apply(void 0,n(e));return"hsla("+i[0]+", "+i[1]+", "+i[2]+", "+e[3]+")";case"hex":return T.apply(void 0,n(e));case"hexcss4":return T.apply(void 0,n(e))+("00"+parseInt(255*e[3]).toString(16)).slice(-2);case"int":return l.apply(void 0,n(e))}}t.COLOR_NAMES=r,t.PALETTE_MATERIAL_500=["#F44336","#E91E63","#E91E63","#9C27B0","#9C27B0","#673AB7","#673AB7","#3F51B5","#3F51B5","#2196F3","#2196F3","#03A9F4","#03A9F4","#00BCD4","#00BCD4","#009688","#009688","#4CAF50","#4CAF50","#8BC34A","#8BC34A","#CDDC39","#CDDC39","#FFEB3B","#FFEB3B","#FFC107","#FFC107","#FF9800","#FF9800","#FF5722","#FF5722","#795548","#795548","#9E9E9E","#9E9E9E","#607D8B","#607D8B"],t.PALETTE_MATERIAL_CHROME=["#f44336","#e91e63","#9c27b0","#673ab7","#3f51b5","#2196f3","#03a9f4","#00bcd4","#009688","#4caf50","#8bc34a","#cddc39","#ffeb3b","#ffc107","#ff9800","#ff5722","#795548","#9e9e9e","#607d8b"],t.rgbToHex=T,t.hslToRgb=s,t.rgbToHsl=S,t.rgbToHsv=function(e,t,a){var i=[E(e,0,255)/255,E(t,0,255)/255,E(a,0,255)/255];e=i[0],t=i[1],a=i[2];var o,n=Math.max(e,t,a),r=Math.min(e,t,a),_=void 0,T=n,s=n-r;if(o=0===n?0:s/n,n==r)_=0;else{switch(n){case e:_=(t-a)/s+(t<a?6:0);break;case t:_=(a-e)/s+2;break;case a:_=(e-t)/s+4}_/=6}return[_,o,T]},t.rgbToInt=l,t.intToRgb=function(e){return[e>>16&255,e>>8&255,255&e]},t.cssColorToRgb=I,t.cssColorToRgba=A,t.cssRgbToRgb=u,t.cssRgbaToRgba=d,t.parseColorToRgb=function(e){return Array.isArray(e)?e=[E(e[0],0,255),E(e[1],0,255),E(e[2],0,255)]:I(e)||u(e)},t.parseColorToRgba=O,t.cssHslToHsl=c,t.cssHslaToHsla=N,t.parseColorToHsl=function(e){return Array.isArray(e)?e=[E(e[0],0,360),E(e[1],0,100),E(e[2],0,100)]:c(e)},t.parseColorToHsla=R,t.parseColor=function(e,t){if(t=t||"rgb",null!=e){var a=void 0;if((a=O(e))||(a=R(e))&&(a=[].concat(n(s.apply(void 0,n(a))),[a[3]])))return(0,o.default)(t)?["rgb","rgbcss","rgbcss4","rgba","rgbacss","hsl","hslcss","hslcss4","hsla","hslacss","hex","hexcss4","int"].reduce(function(e,t){return e[t]=m(a,t),e},t||{}):m(a,t.toString().toLowerCase())}},t.getLuminance=function(e,t,a){return.2126*(e=(e/=255)<.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.7152*(t=(t/=255)<.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.0722*((a/=255)<.03928?a/12.92:Math.pow((a+.055)/1.055,2.4))},t.limit=E,t.ensureArray=function(e){return e?Array.from(e):[]},t.nvl=_},function(e,t,a){"use strict";e.exports=function(e){return null!=e&&"object"==typeof e&&!1===Array.isArray(e)}},function(e,t){e.exports='<div class="a-color-picker-row a-color-picker-stack a-color-picker-row-top"> <canvas class="a-color-picker-sl a-color-picker-transparent"></canvas> <div class=a-color-picker-dot></div> </div> <div class=a-color-picker-row> <div class="a-color-picker-stack a-color-picker-transparent a-color-picker-circle"> <div class=a-color-picker-preview> <input class=a-color-picker-clipbaord type=text> </div> </div> <div class=a-color-picker-column> <div class="a-color-picker-cell a-color-picker-stack"> <canvas class=a-color-picker-h></canvas> <div class=a-color-picker-dot></div> </div> <div class="a-color-picker-cell a-color-picker-alpha a-color-picker-stack" show-on-alpha> <canvas class="a-color-picker-a a-color-picker-transparent"></canvas> <div class=a-color-picker-dot></div> </div> </div> </div> <div class="a-color-picker-row a-color-picker-hsl" show-on-hsl> <label>H</label> <input nameref=H type=number maxlength=3 min=0 max=360 value=0> <label>S</label> <input nameref=S type=number maxlength=3 min=0 max=100 value=0> <label>L</label> <input nameref=L type=number maxlength=3 min=0 max=100 value=0> </div> <div class="a-color-picker-row a-color-picker-rgb" show-on-rgb> <label>R</label> <input nameref=R type=number maxlength=3 min=0 max=255 value=0> <label>G</label> <input nameref=G type=number maxlength=3 min=0 max=255 value=0> <label>B</label> <input nameref=B type=number maxlength=3 min=0 max=255 value=0> </div> <div class="a-color-picker-row a-color-picker-rgbhex a-color-picker-single-input" show-on-single-input> <label>HEX</label> <input nameref=RGBHEX type=text select-on-focus> </div> <div class="a-color-picker-row a-color-picker-palette"></div>'},function(e,t,a){var i=a(6);e.exports="string"==typeof i?i:i.toString()},function(e,t,a){(e.exports=a(7)(!1)).push([e.i,"/*!\n * a-color-picker\n * https://github.com/narsenico/a-color-picker\n *\n * Copyright (c) 2017-2018, Gianfranco Caldi.\n * Released under the MIT License.\n */.a-color-picker{background-color:#fff;padding:0;display:inline-flex;flex-direction:column;user-select:none;width:232px;font:400 10px Helvetica,Arial,sans-serif;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 4px rgba(0,0,0,.25)}.a-color-picker,.a-color-picker-row,.a-color-picker input{box-sizing:border-box}.a-color-picker-row{padding:15px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;user-select:none}.a-color-picker-row-top{padding:0}.a-color-picker-row:not(:first-child){border-top:1px solid #f5f5f5}.a-color-picker-column{display:flex;flex-direction:column}.a-color-picker-cell{flex:1 1 auto;margin-bottom:4px}.a-color-picker-cell:last-child{margin-bottom:0}.a-color-picker-stack{position:relative}.a-color-picker-dot{position:absolute;width:14px;height:14px;top:0;left:0;background:#fff;pointer-events:none;border-radius:50px;z-index:1000;box-shadow:0 1px 2px rgba(0,0,0,.75)}.a-color-picker-a,.a-color-picker-h,.a-color-picker-sl{cursor:cell}.a-color-picker-a+.a-color-picker-dot,.a-color-picker-h+.a-color-picker-dot{top:-2px}.a-color-picker-a,.a-color-picker-h{border-radius:2px}.a-color-picker-preview{box-sizing:border-box;width:30px;height:30px;user-select:none;border-radius:15px}.a-color-picker-circle{border-radius:50px;border:1px solid #eee}.a-color-picker-hsl,.a-color-picker-rgb,.a-color-picker-single-input{justify-content:space-evenly}.a-color-picker-hsl>label,.a-color-picker-rgb>label,.a-color-picker-single-input>label{padding:0 8px;flex:0 0 auto;color:#969696}.a-color-picker-hsl>input,.a-color-picker-rgb>input,.a-color-picker-single-input>input{text-align:center;padding:2px 0;width:0;flex:1 1 auto;border:1px solid #e0e0e0;line-height:20px}.a-color-picker-hsl>input::-webkit-inner-spin-button,.a-color-picker-rgb>input::-webkit-inner-spin-button,.a-color-picker-single-input>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.a-color-picker-hsl>input:focus,.a-color-picker-rgb>input:focus,.a-color-picker-single-input>input:focus{border-color:#04a9f4;outline:none}.a-color-picker-transparent{background-image:linear-gradient(-45deg,#cdcdcd 25%,transparent 0),linear-gradient(45deg,#cdcdcd 25%,transparent 0),linear-gradient(-45deg,transparent 75%,#cdcdcd 0),linear-gradient(45deg,transparent 75%,#cdcdcd 0);background-size:11px 11px;background-position:0 0,0 -5.5px,-5.5px 5.5px,5.5px 0}.a-color-picker-sl{border-radius:3px 3px 0 0}.a-color-picker.hide-alpha [show-on-alpha],.a-color-picker.hide-hsl [show-on-hsl],.a-color-picker.hide-rgb [show-on-rgb],.a-color-picker.hide-single-input [show-on-single-input]{display:none}.a-color-picker-clipbaord{width:100%;height:100%;opacity:0;cursor:pointer}.a-color-picker-palette{flex-flow:wrap;flex-direction:row;justify-content:flex-start;padding:10px}.a-color-picker-palette-color{width:15px;height:15px;flex:0 1 15px;margin:3px;box-sizing:border-box;cursor:pointer;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.a-color-picker-palette-add{text-align:center;line-height:13px;color:#607d8b}.a-color-picker.hidden{display:none}",""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var a=(function(e,t){var a=e[1]||"",i=e[3];if(!i)return a;if(t&&"function"==typeof btoa){var o=(function(e){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */"})(i),n=i.sources.map(function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"});return[a].concat(n).concat([o]).join("\n")}return[a].join("\n")})(t,e);return t[2]?"@media "+t[2]+"{"+a+"}":a}).join("")},t.i=function(e,a){"string"==typeof e&&(e=[[null,e,""]]);for(var i={},o=0;o<this.length;o++){var n=this[o][0];"number"==typeof n&&(i[n]=!0)}for(o=0;o<e.length;o++){var r=e[o];"number"==typeof r[0]&&i[r[0]]||(a&&!r[2]?r[2]=a:a&&(r[2]="("+r[2]+") and ("+a+")"),t.push(r))}},t}}])},35350:(e,t)=>{"use strict";t.byteLength=function(e){var t=E(e),a=t[0],i=t[1];return 3*(a+i)/4-i},t.toByteArray=function(e){var t,a,n=E(e),r=n[0],_=n[1],T=new o((function(e,t,a){return 3*(t+a)/4-a})(0,r,_)),s=0,S=_>0?r-4:r;for(a=0;a<S;a+=4)t=i[e.charCodeAt(a)]<<18|i[e.charCodeAt(a+1)]<<12|i[e.charCodeAt(a+2)]<<6|i[e.charCodeAt(a+3)],T[s++]=t>>16&255,T[s++]=t>>8&255,T[s++]=255&t;2===_&&(t=i[e.charCodeAt(a)]<<2|i[e.charCodeAt(a+1)]>>4,T[s++]=255&t);1===_&&(t=i[e.charCodeAt(a)]<<10|i[e.charCodeAt(a+1)]<<4|i[e.charCodeAt(a+2)]>>2,T[s++]=t>>8&255,T[s++]=255&t);return T},t.fromByteArray=function(e){for(var t,i=e.length,o=i%3,n=[],r=16383,E=0,_=i-o;E<_;E+=r)n.push(T(e,E,E+r>_?_:E+r));1===o?(t=e[i-1],n.push(a[t>>2]+a[t<<4&63]+"==")):2===o&&(t=(e[i-2]<<8)+e[i-1],n.push(a[t>>10]+a[t>>4&63]+a[t<<2&63]+"="));return n.join("")};for(var a=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=0;r<64;++r)a[r]=n[r],i[n.charCodeAt(r)]=r;function E(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var a=e.indexOf("=");return-1===a&&(a=t),[a,a===t?0:4-a%4]}function _(e){return a[e>>18&63]+a[e>>12&63]+a[e>>6&63]+a[63&e]}function T(e,t,a){for(var i,o=[],n=t;n<a;n+=3)i=(e[n]<<16&16711680)+(e[n+1]<<8&65280)+(255&e[n+2]),o.push(_(i));return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},51042:e=>{function t(e){return e.reduce((e,t,a,i)=>{const o=t.split("-").map(e=>parseInt(e));return e.concat(((e,t=e)=>Array.from({length:t-e+1},(t,a)=>a+e))(...o))},[])}e.exports=t,e.exports.parse=t,e.exports.compose=function(e){return e.reduce((e,t,a,i)=>(0!==a&&t===i[a-1]+1||e.push([]),e[e.length-1].push(t),e),[]).map(e=>e.length>1?`${e[0]}-${e[e.length-1]}`:`${e[0]}`)}},9856:function(e){e.exports=(function(e){var t={};function a(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,a),o.l=!0,o.exports}return a.m=e,a.c=t,a.d=function(e,t,i){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(a.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)a.d(i,o,function(t){return e[t]}.bind(null,o));return i},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=90)})({17:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var i=a(18),o=(function(){function e(){}return e.getFirstMatch=function(e,t){var a=t.match(e);return a&&a.length>0&&a[1]||""},e.getSecondMatch=function(e,t){var a=t.match(e);return a&&a.length>1&&a[2]||""},e.matchAndReturnConst=function(e,t,a){if(e.test(t))return a},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});if(t.push(0),10===t[0])switch(t[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,a,i){void 0===i&&(i=!1);var o=e.getVersionPrecision(t),n=e.getVersionPrecision(a),r=Math.max(o,n),E=0,_=e.map([t,a],function(t){var a=r-e.getVersionPrecision(t),i=t+new Array(a+1).join(".0");return e.map(i.split("."),function(e){return new Array(20-e.length).join("0")+e}).reverse()});for(i&&(E=r-Math.min(o,n)),r-=1;r>=E;){if(_[0][r]>_[1][r])return 1;if(_[0][r]===_[1][r]){if(r===E)return 0;r-=1}else if(_[0][r]<_[1][r])return-1}},e.map=function(e,t){var a,i=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(a=0;a<e.length;a+=1)i.push(t(e[a]));return i},e.find=function(e,t){var a,i;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(a=0,i=e.length;a<i;a+=1){var o=e[a];if(t(o,a))return o}},e.assign=function(e){for(var t,a,i=e,o=arguments.length,n=new Array(o>1?o-1:0),r=1;r<o;r++)n[r-1]=arguments[r];if(Object.assign)return Object.assign.apply(Object,[e].concat(n));var E=function(){var e=n[t];"object"==typeof e&&null!==e&&Object.keys(e).forEach(function(t){i[t]=e[t]})};for(t=0,a=n.length;t<a;t+=1)E();return e},e.getBrowserAlias=function(e){return i.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return i.BROWSER_MAP[e]||""},e})();t.default=o,e.exports=t.default},18:function(e,t,a){"use strict";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},t.BROWSER_MAP={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},t.PLATFORMS_MAP={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},t.OS_MAP={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},t.ENGINE_MAP={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"}},90:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var i,o=(i=a(91))&&i.__esModule?i:{default:i},n=a(18);function r(e,t){for(var a=0;a<t.length;a++){var i=t[a];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}var E=(function(){function e(){}var t,a,i;return e.getParser=function(e,t){if(void 0===t&&(t=!1),"string"!=typeof e)throw new Error("UserAgent should be a string");return new o.default(e,t)},e.parse=function(e){return new o.default(e).getResult()},t=e,i=[{key:"BROWSER_MAP",get:function(){return n.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return n.ENGINE_MAP}},{key:"OS_MAP",get:function(){return n.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return n.PLATFORMS_MAP}}],(a=null)&&r(t.prototype,a),i&&r(t,i),e})();t.default=E,e.exports=t.default},91:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var i=_(a(92)),o=_(a(93)),n=_(a(94)),r=_(a(95)),E=_(a(17));function _(e){return e&&e.__esModule?e:{default:e}}var T=(function(){function e(e,t){if(void 0===t&&(t=!1),null==e||""===e)throw new Error("UserAgent parameter can't be empty");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=E.default.find(i.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=E.default.find(o.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||"":t||""},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||"":t||""},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=E.default.find(n.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=E.default.find(r.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return E.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,a={},i=0,o={},n=0;if(Object.keys(e).forEach(function(t){var r=e[t];"string"==typeof r?(o[t]=r,n+=1):"object"==typeof r&&(a[t]=r,i+=1)}),i>0){var r=Object.keys(a),_=E.default.find(r,function(e){return t.isOS(e)});if(_){var T=this.satisfies(a[_]);if(void 0!==T)return T}var s=E.default.find(r,function(e){return t.isPlatform(e)});if(s){var S=this.satisfies(a[s]);if(void 0!==S)return S}}if(n>0){var l=Object.keys(o),I=E.default.find(l,function(e){return t.isBrowser(e,!0)});if(void 0!==I)return this.compareVersion(o[I])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var a=this.getBrowserName().toLowerCase(),i=e.toLowerCase(),o=E.default.getBrowserTypeByAlias(i);return t&&o&&(i=o.toLowerCase()),i===a},t.compareVersion=function(e){var t=[0],a=e,i=!1,o=this.getBrowserVersion();if("string"==typeof o)return">"===e[0]||"<"===e[0]?(a=e.substr(1),"="===e[1]?(i=!0,a=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?a=e.substr(1):"~"===e[0]&&(i=!0,a=e.substr(1)),t.indexOf(E.default.compareVersions(o,a,i))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some(function(e){return t.is(e)})},e})();t.default=T,e.exports=t.default},92:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var i,o=(i=a(17))&&i.__esModule?i:{default:i},n=/version\/(\d+(\.?_?\d+)+)/i,r=[{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},a=o.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},a=o.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},a=o.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},a=o.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},a=o.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},a=o.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},a=o.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},a=o.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},a=o.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},a=o.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},a=o.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},a=o.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},a=o.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},a=o.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},a=o.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return a&&(t.version=a),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},a=o.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},a=o.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},a=o.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},a=o.default.getFirstMatch(n,e)||o.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},a=o.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},a=o.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},a=o.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},a=o.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},a=o.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},a=o.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},a=o.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},a=o.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},a=o.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:function(e){var t=!e.test(/like android/i),a=e.test(/android/i);return t&&a},describe:function(e){var t={name:"Android Browser"},a=o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},a=o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},a=o.default.getFirstMatch(n,e);return a&&(t.version=a),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:o.default.getFirstMatch(t,e),version:o.default.getSecondMatch(t,e)}}}];t.default=r,e.exports=t.default},93:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var i,o=(i=a(17))&&i.__esModule?i:{default:i},n=a(18),r=[{test:[/Roku\/DVP/],describe:function(e){var t=o.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:n.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=o.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:n.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=o.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),a=o.default.getWindowsVersionName(t);return{name:n.OS_MAP.Windows,version:t,versionName:a}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:n.OS_MAP.iOS},a=o.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return a&&(t.version=a),t}},{test:[/macintosh/i],describe:function(e){var t=o.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),a=o.default.getMacOSVersionName(t),i={name:n.OS_MAP.MacOS,version:t};return a&&(i.versionName=a),i}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=o.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:n.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),a=e.test(/android/i);return t&&a},describe:function(e){var t=o.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),a=o.default.getAndroidVersionName(t),i={name:n.OS_MAP.Android,version:t};return a&&(i.versionName=a),i}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=o.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),a={name:n.OS_MAP.WebOS};return t&&t.length&&(a.version=t),a}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=o.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||o.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||o.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:n.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=o.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:n.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=o.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:n.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:n.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:n.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=o.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:n.OS_MAP.PlayStation4,version:t}}}];t.default=r,e.exports=t.default},94:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var i,o=(i=a(17))&&i.__esModule?i:{default:i},n=a(18),r=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(e){var t=o.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",a={type:n.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(a.model=t),a}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:n.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),a=e.test(/like (ipod|iphone)/i);return t&&!a},describe:function(e){var t=o.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:n.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:n.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:n.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:n.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:n.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.mobile}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:n.PLATFORMS_MAP.tv}}}];t.default=r,e.exports=t.default},95:function(e,t,a){"use strict";t.__esModule=!0,t.default=void 0;var i,o=(i=a(17))&&i.__esModule?i:{default:i},n=a(18),r=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:n.ENGINE_MAP.Blink};var t=o.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:n.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:n.ENGINE_MAP.Trident},a=o.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:n.ENGINE_MAP.Presto},a=o.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:function(e){var t=e.test(/gecko/i),a=e.test(/like gecko/i);return t&&!a},describe:function(e){var t={name:n.ENGINE_MAP.Gecko},a=o.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:n.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:n.ENGINE_MAP.WebKit},a=o.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return a&&(t.version=a),t}}];t.default=r,e.exports=t.default}})},84686:(e,t,a)=>{"use strict";const i=a(35350),o=a(77947),n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.hp=_,t.IS=50;const r=2147483647;function E(e){if(e>r)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,_.prototype),t}function _(e,t,a){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return S(e)}return T(e,t,a)}function T(e,t,a){if("string"==typeof e)return(function(e,t){"string"==typeof t&&""!==t||(t="utf8");if(!_.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const a=0|u(e,t);let i=E(a);const o=i.write(e,t);o!==a&&(i=i.slice(0,o));return i})(e,t);if(ArrayBuffer.isView(e))return(function(e){if(X(e,Uint8Array)){const t=new Uint8Array(e);return I(t.buffer,t.byteOffset,t.byteLength)}return l(e)})(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(X(e,ArrayBuffer)||e&&X(e.buffer,ArrayBuffer))return I(e,t,a);if("undefined"!=typeof SharedArrayBuffer&&(X(e,SharedArrayBuffer)||e&&X(e.buffer,SharedArrayBuffer)))return I(e,t,a);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return _.from(i,t,a);const o=(function(e){if(_.isBuffer(e)){const t=0|A(e.length),a=E(t);return 0===a.length||e.copy(a,0,0,t),a}if(void 0!==e.length)return"number"!=typeof e.length||$(e.length)?E(0):l(e);if("Buffer"===e.type&&Array.isArray(e.data))return l(e.data)})(e);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return _.from(e[Symbol.toPrimitive]("string"),t,a);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function s(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function S(e){return s(e),E(e<0?0:0|A(e))}function l(e){const t=e.length<0?0:0|A(e.length),a=E(t);for(let i=0;i<t;i+=1)a[i]=255&e[i];return a}function I(e,t,a){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(a||0))throw new RangeError('"length" is outside of buffer bounds');let i;return i=void 0===t&&void 0===a?new Uint8Array(e):void 0===a?new Uint8Array(e,t):new Uint8Array(e,t,a),Object.setPrototypeOf(i,_.prototype),i}function A(e){if(e>=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return 0|e}function u(e,t){if(_.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||X(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const a=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===a)return 0;let o=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return a;case"utf8":case"utf-8":return j(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*a;case"hex":return a>>>1;case"base64":return x(e).length;default:if(o)return i?-1:j(e).length;t=(""+t).toLowerCase(),o=!0}}function d(e,t,a){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===a||a>this.length)&&(a=this.length),a<=0)return"";if((a>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return g(this,t,a);case"utf8":case"utf-8":return h(this,t,a);case"ascii":return P(this,t,a);case"latin1":case"binary":return B(this,t,a);case"base64":return C(this,t,a);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return v(this,t,a);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function O(e,t,a){const i=e[t];e[t]=e[a],e[a]=i}function c(e,t,a,i,o){if(0===e.length)return-1;if("string"==typeof a?(i=a,a=0):a>2147483647?a=2147483647:a<-2147483648&&(a=-2147483648),$(a=+a)&&(a=o?0:e.length-1),a<0&&(a=e.length+a),a>=e.length){if(o)return-1;a=e.length-1}else if(a<0){if(!o)return-1;a=0}if("string"==typeof t&&(t=_.from(t,i)),_.isBuffer(t))return 0===t.length?-1:N(e,t,a,i,o);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,a):Uint8Array.prototype.lastIndexOf.call(e,t,a):N(e,[t],a,i,o);throw new TypeError("val must be string, number or Buffer")}function N(e,t,a,i,o){let n,r=1,E=e.length,_=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;r=2,E/=2,_/=2,a/=2}function T(e,t){return 1===r?e[t]:e.readUInt16BE(t*r)}if(o){let i=-1;for(n=a;n<E;n++)if(T(e,n)===T(t,-1===i?0:n-i)){if(-1===i&&(i=n),n-i+1===_)return i*r}else-1!==i&&(n-=n-i),i=-1}else for(a+_>E&&(a=E-_),n=a;n>=0;n--){let a=!0;for(let i=0;i<_;i++)if(T(e,n+i)!==T(t,i)){a=!1;break}if(a)return n}return-1}function R(e,t,a,i){a=Number(a)||0;const o=e.length-a;i?(i=Number(i))>o&&(i=o):i=o;const n=t.length;let r;for(i>n/2&&(i=n/2),r=0;r<i;++r){const i=parseInt(t.substr(2*r,2),16);if($(i))return r;e[a+r]=i}return r}function m(e,t,a,i){return Q(j(t,e.length-a),e,a,i)}function L(e,t,a,i){return Q((function(e){const t=[];for(let a=0;a<e.length;++a)t.push(255&e.charCodeAt(a));return t})(t),e,a,i)}function D(e,t,a,i){return Q(x(t),e,a,i)}function p(e,t,a,i){return Q((function(e,t){let a,i,o;const n=[];for(let r=0;r<e.length&&!((t-=2)<0);++r)a=e.charCodeAt(r),i=a>>8,o=a%256,n.push(o),n.push(i);return n})(t,e.length-a),e,a,i)}function C(e,t,a){return 0===t&&a===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,a))}function h(e,t,a){a=Math.min(e.length,a);const i=[];let o=t;for(;o<a;){const t=e[o];let n=null,r=t>239?4:t>223?3:t>191?2:1;if(o+r<=a){let a,i,E,_;switch(r){case 1:t<128&&(n=t);break;case 2:a=e[o+1],128==(192&a)&&(_=(31&t)<<6|63&a,_>127&&(n=_));break;case 3:a=e[o+1],i=e[o+2],128==(192&a)&&128==(192&i)&&(_=(15&t)<<12|(63&a)<<6|63&i,_>2047&&(_<55296||_>57343)&&(n=_));break;case 4:a=e[o+1],i=e[o+2],E=e[o+3],128==(192&a)&&128==(192&i)&&128==(192&E)&&(_=(15&t)<<18|(63&a)<<12|(63&i)<<6|63&E,_>65535&&_<1114112&&(n=_))}}null===n?(n=65533,r=1):n>65535&&(n-=65536,i.push(n>>>10&1023|55296),n=56320|1023&n),i.push(n),o+=r}return(function(e){const t=e.length;if(t<=f)return String.fromCharCode.apply(String,e);let a="",i=0;for(;i<t;)a+=String.fromCharCode.apply(String,e.slice(i,i+=f));return a})(i)}_.TYPED_ARRAY_SUPPORT=(function(){try{const e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}})(),_.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(_.prototype,"parent",{enumerable:!0,get:function(){if(_.isBuffer(this))return this.buffer}}),Object.defineProperty(_.prototype,"offset",{enumerable:!0,get:function(){if(_.isBuffer(this))return this.byteOffset}}),_.poolSize=8192,_.from=function(e,t,a){return T(e,t,a)},Object.setPrototypeOf(_.prototype,Uint8Array.prototype),Object.setPrototypeOf(_,Uint8Array),_.alloc=function(e,t,a){return(function(e,t,a){return s(e),e<=0?E(e):void 0!==t?"string"==typeof a?E(e).fill(t,a):E(e).fill(t):E(e)})(e,t,a)},_.allocUnsafe=function(e){return S(e)},_.allocUnsafeSlow=function(e){return S(e)},_.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==_.prototype},_.compare=function(e,t){if(X(e,Uint8Array)&&(e=_.from(e,e.offset,e.byteLength)),X(t,Uint8Array)&&(t=_.from(t,t.offset,t.byteLength)),!_.isBuffer(e)||!_.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let a=e.length,i=t.length;for(let o=0,n=Math.min(a,i);o<n;++o)if(e[o]!==t[o]){a=e[o],i=t[o];break}return a<i?-1:i<a?1:0},_.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},_.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return _.alloc(0);let a;if(void 0===t)for(t=0,a=0;a<e.length;++a)t+=e[a].length;const i=_.allocUnsafe(t);let o=0;for(a=0;a<e.length;++a){let t=e[a];if(X(t,Uint8Array))o+t.length>i.length?(_.isBuffer(t)||(t=_.from(t)),t.copy(i,o)):Uint8Array.prototype.set.call(i,t,o);else{if(!_.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,o)}o+=t.length}return i},_.byteLength=u,_.prototype._isBuffer=!0,_.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;t<e;t+=2)O(this,t,t+1);return this},_.prototype.swap32=function(){const e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let t=0;t<e;t+=4)O(this,t,t+3),O(this,t+1,t+2);return this},_.prototype.swap64=function(){const e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let t=0;t<e;t+=8)O(this,t,t+7),O(this,t+1,t+6),O(this,t+2,t+5),O(this,t+3,t+4);return this},_.prototype.toString=function(){const e=this.length;return 0===e?"":0===arguments.length?h(this,0,e):d.apply(this,arguments)},_.prototype.toLocaleString=_.prototype.toString,_.prototype.equals=function(e){if(!_.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===_.compare(this,e)},_.prototype.inspect=function(){let e="";const a=t.IS;return e=this.toString("hex",0,a).replace(/(.{2})/g,"$1 ").trim(),this.length>a&&(e+=" ... "),"<Buffer "+e+">"},n&&(_.prototype[n]=_.prototype.inspect),_.prototype.compare=function(e,t,a,i,o){if(X(e,Uint8Array)&&(e=_.from(e,e.offset,e.byteLength)),!_.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===a&&(a=e?e.length:0),void 0===i&&(i=0),void 0===o&&(o=this.length),t<0||a>e.length||i<0||o>this.length)throw new RangeError("out of range index");if(i>=o&&t>=a)return 0;if(i>=o)return-1;if(t>=a)return 1;if(this===e)return 0;let n=(o>>>=0)-(i>>>=0),r=(a>>>=0)-(t>>>=0);const E=Math.min(n,r),T=this.slice(i,o),s=e.slice(t,a);for(let e=0;e<E;++e)if(T[e]!==s[e]){n=T[e],r=s[e];break}return n<r?-1:r<n?1:0},_.prototype.includes=function(e,t,a){return-1!==this.indexOf(e,t,a)},_.prototype.indexOf=function(e,t,a){return c(this,e,t,a,!0)},_.prototype.lastIndexOf=function(e,t,a){return c(this,e,t,a,!1)},_.prototype.write=function(e,t,a,i){if(void 0===t)i="utf8",a=this.length,t=0;else if(void 0===a&&"string"==typeof t)i=t,a=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t>>>=0,isFinite(a)?(a>>>=0,void 0===i&&(i="utf8")):(i=a,a=void 0)}const o=this.length-t;if((void 0===a||a>o)&&(a=o),e.length>0&&(a<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let n=!1;for(;;)switch(i){case"hex":return R(this,e,t,a);case"utf8":case"utf-8":return m(this,e,t,a);case"ascii":case"latin1":case"binary":return L(this,e,t,a);case"base64":return D(this,e,t,a);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return p(this,e,t,a);default:if(n)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),n=!0}},_.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const f=4096;function P(e,t,a){let i="";a=Math.min(e.length,a);for(let o=t;o<a;++o)i+=String.fromCharCode(127&e[o]);return i}function B(e,t,a){let i="";a=Math.min(e.length,a);for(let o=t;o<a;++o)i+=String.fromCharCode(e[o]);return i}function g(e,t,a){const i=e.length;(!t||t<0)&&(t=0),(!a||a<0||a>i)&&(a=i);let o="";for(let i=t;i<a;++i)o+=q[e[i]];return o}function v(e,t,a){const i=e.slice(t,a);let o="";for(let e=0;e<i.length-1;e+=2)o+=String.fromCharCode(i[e]+256*i[e+1]);return o}function M(e,t,a){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>a)throw new RangeError("Trying to access beyond buffer length")}function W(e,t,a,i,o,n){if(!_.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<n)throw new RangeError('"value" argument is out of bounds');if(a+i>e.length)throw new RangeError("Index out of range")}function y(e,t,a,i,o){w(t,i,o,e,a,7);let n=Number(t&BigInt(4294967295));e[a++]=n,n>>=8,e[a++]=n,n>>=8,e[a++]=n,n>>=8,e[a++]=n;let r=Number(t>>BigInt(32)&BigInt(4294967295));return e[a++]=r,r>>=8,e[a++]=r,r>>=8,e[a++]=r,r>>=8,e[a++]=r,a}function U(e,t,a,i,o){w(t,i,o,e,a,7);let n=Number(t&BigInt(4294967295));e[a+7]=n,n>>=8,e[a+6]=n,n>>=8,e[a+5]=n,n>>=8,e[a+4]=n;let r=Number(t>>BigInt(32)&BigInt(4294967295));return e[a+3]=r,r>>=8,e[a+2]=r,r>>=8,e[a+1]=r,r>>=8,e[a]=r,a+8}function b(e,t,a,i,o,n){if(a+i>e.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("Index out of range")}function G(e,t,a,i,n){return t=+t,a>>>=0,n||b(e,0,a,4),o.write(e,t,a,i,23,4),a+4}function k(e,t,a,i,n){return t=+t,a>>>=0,n||b(e,0,a,8),o.write(e,t,a,i,52,8),a+8}_.prototype.slice=function(e,t){const a=this.length;(e=~~e)<0?(e+=a)<0&&(e=0):e>a&&(e=a),(t=void 0===t?a:~~t)<0?(t+=a)<0&&(t=0):t>a&&(t=a),t<e&&(t=e);const i=this.subarray(e,t);return Object.setPrototypeOf(i,_.prototype),i},_.prototype.readUintLE=_.prototype.readUIntLE=function(e,t,a){e>>>=0,t>>>=0,a||M(e,t,this.length);let i=this[e],o=1,n=0;for(;++n<t&&(o*=256);)i+=this[e+n]*o;return i},_.prototype.readUintBE=_.prototype.readUIntBE=function(e,t,a){e>>>=0,t>>>=0,a||M(e,t,this.length);let i=this[e+--t],o=1;for(;t>0&&(o*=256);)i+=this[e+--t]*o;return i},_.prototype.readUint8=_.prototype.readUInt8=function(e,t){return e>>>=0,t||M(e,1,this.length),this[e]},_.prototype.readUint16LE=_.prototype.readUInt16LE=function(e,t){return e>>>=0,t||M(e,2,this.length),this[e]|this[e+1]<<8},_.prototype.readUint16BE=_.prototype.readUInt16BE=function(e,t){return e>>>=0,t||M(e,2,this.length),this[e]<<8|this[e+1]},_.prototype.readUint32LE=_.prototype.readUInt32LE=function(e,t){return e>>>=0,t||M(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},_.prototype.readUint32BE=_.prototype.readUInt32BE=function(e,t){return e>>>=0,t||M(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},_.prototype.readBigUInt64LE=J(function(e){Y(e>>>=0,"offset");const t=this[e],a=this[e+7];void 0!==t&&void 0!==a||z(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,o=this[++e]+256*this[++e]+65536*this[++e]+a*2**24;return BigInt(i)+(BigInt(o)<<BigInt(32))}),_.prototype.readBigUInt64BE=J(function(e){Y(e>>>=0,"offset");const t=this[e],a=this[e+7];void 0!==t&&void 0!==a||z(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],o=this[++e]*2**24+65536*this[++e]+256*this[++e]+a;return(BigInt(i)<<BigInt(32))+BigInt(o)}),_.prototype.readIntLE=function(e,t,a){e>>>=0,t>>>=0,a||M(e,t,this.length);let i=this[e],o=1,n=0;for(;++n<t&&(o*=256);)i+=this[e+n]*o;return o*=128,i>=o&&(i-=Math.pow(2,8*t)),i},_.prototype.readIntBE=function(e,t,a){e>>>=0,t>>>=0,a||M(e,t,this.length);let i=t,o=1,n=this[e+--i];for(;i>0&&(o*=256);)n+=this[e+--i]*o;return o*=128,n>=o&&(n-=Math.pow(2,8*t)),n},_.prototype.readInt8=function(e,t){return e>>>=0,t||M(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},_.prototype.readInt16LE=function(e,t){e>>>=0,t||M(e,2,this.length);const a=this[e]|this[e+1]<<8;return 32768&a?4294901760|a:a},_.prototype.readInt16BE=function(e,t){e>>>=0,t||M(e,2,this.length);const a=this[e+1]|this[e]<<8;return 32768&a?4294901760|a:a},_.prototype.readInt32LE=function(e,t){return e>>>=0,t||M(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},_.prototype.readInt32BE=function(e,t){return e>>>=0,t||M(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},_.prototype.readBigInt64LE=J(function(e){Y(e>>>=0,"offset");const t=this[e],a=this[e+7];void 0!==t&&void 0!==a||z(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(a<<24);return(BigInt(i)<<BigInt(32))+BigInt(t+256*this[++e]+65536*this[++e]+this[++e]*2**24)}),_.prototype.readBigInt64BE=J(function(e){Y(e>>>=0,"offset");const t=this[e],a=this[e+7];void 0!==t&&void 0!==a||z(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<<BigInt(32))+BigInt(this[++e]*2**24+65536*this[++e]+256*this[++e]+a)}),_.prototype.readFloatLE=function(e,t){return e>>>=0,t||M(e,4,this.length),o.read(this,e,!0,23,4)},_.prototype.readFloatBE=function(e,t){return e>>>=0,t||M(e,4,this.length),o.read(this,e,!1,23,4)},_.prototype.readDoubleLE=function(e,t){return e>>>=0,t||M(e,8,this.length),o.read(this,e,!0,52,8)},_.prototype.readDoubleBE=function(e,t){return e>>>=0,t||M(e,8,this.length),o.read(this,e,!1,52,8)},_.prototype.writeUintLE=_.prototype.writeUIntLE=function(e,t,a,i){if(e=+e,t>>>=0,a>>>=0,!i){W(this,e,t,a,Math.pow(2,8*a)-1,0)}let o=1,n=0;for(this[t]=255&e;++n<a&&(o*=256);)this[t+n]=e/o&255;return t+a},_.prototype.writeUintBE=_.prototype.writeUIntBE=function(e,t,a,i){if(e=+e,t>>>=0,a>>>=0,!i){W(this,e,t,a,Math.pow(2,8*a)-1,0)}let o=a-1,n=1;for(this[t+o]=255&e;--o>=0&&(n*=256);)this[t+o]=e/n&255;return t+a},_.prototype.writeUint8=_.prototype.writeUInt8=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,1,255,0),this[t]=255&e,t+1},_.prototype.writeUint16LE=_.prototype.writeUInt16LE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},_.prototype.writeUint16BE=_.prototype.writeUInt16BE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},_.prototype.writeUint32LE=_.prototype.writeUInt32LE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},_.prototype.writeUint32BE=_.prototype.writeUInt32BE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},_.prototype.writeBigUInt64LE=J(function(e,t=0){return y(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),_.prototype.writeBigUInt64BE=J(function(e,t=0){return U(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),_.prototype.writeIntLE=function(e,t,a,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*a-1);W(this,e,t,a,i-1,-i)}let o=0,n=1,r=0;for(this[t]=255&e;++o<a&&(n*=256);)e<0&&0===r&&0!==this[t+o-1]&&(r=1),this[t+o]=(e/n|0)-r&255;return t+a},_.prototype.writeIntBE=function(e,t,a,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*a-1);W(this,e,t,a,i-1,-i)}let o=a-1,n=1,r=0;for(this[t+o]=255&e;--o>=0&&(n*=256);)e<0&&0===r&&0!==this[t+o+1]&&(r=1),this[t+o]=(e/n|0)-r&255;return t+a},_.prototype.writeInt8=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},_.prototype.writeInt16LE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},_.prototype.writeInt16BE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},_.prototype.writeInt32LE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},_.prototype.writeInt32BE=function(e,t,a){return e=+e,t>>>=0,a||W(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},_.prototype.writeBigInt64LE=J(function(e,t=0){return y(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),_.prototype.writeBigInt64BE=J(function(e,t=0){return U(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),_.prototype.writeFloatLE=function(e,t,a){return G(this,e,t,!0,a)},_.prototype.writeFloatBE=function(e,t,a){return G(this,e,t,!1,a)},_.prototype.writeDoubleLE=function(e,t,a){return k(this,e,t,!0,a)},_.prototype.writeDoubleBE=function(e,t,a){return k(this,e,t,!1,a)},_.prototype.copy=function(e,t,a,i){if(!_.isBuffer(e))throw new TypeError("argument should be a Buffer");if(a||(a=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i<a&&(i=a),i===a)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(a<0||a>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-a&&(i=e.length-t+a);const o=i-a;return this===e&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(t,a,i):Uint8Array.prototype.set.call(e,this.subarray(a,i),t),o},_.prototype.fill=function(e,t,a,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,a=this.length):"string"==typeof a&&(i=a,a=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!_.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===e.length){const t=e.charCodeAt(0);("utf8"===i&&t<128||"latin1"===i)&&(e=t)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(t<0||this.length<t||this.length<a)throw new RangeError("Out of range index");if(a<=t)return this;let o;if(t>>>=0,a=void 0===a?this.length:a>>>0,e||(e=0),"number"==typeof e)for(o=t;o<a;++o)this[o]=e;else{const n=_.isBuffer(e)?e:_.from(e,i),r=n.length;if(0===r)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(o=0;o<a-t;++o)this[o+t]=n[o%r]}return this};const F={};function V(e,t,a){F[e]=class extends a{constructor(){super(),Object.defineProperty(this,"message",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(e){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:e,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}function H(e){let t="",a=e.length;const i="-"===e[0]?1:0;for(;a>=i+4;a-=3)t=`_${e.slice(a-3,a)}${t}`;return`${e.slice(0,a)}${t}`}function w(e,t,a,i,o,n){if(e>a||e<t){const i="bigint"==typeof t?"n":"";let o;throw o=n>3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(n+1)}${i}`:`>= -(2${i} ** ${8*(n+1)-1}${i}) and < 2 ** ${8*(n+1)-1}${i}`:`>= ${t}${i} and <= ${a}${i}`,new F.ERR_OUT_OF_RANGE("value",o,e)}!(function(e,t,a){Y(t,"offset"),void 0!==e[t]&&void 0!==e[t+a]||z(t,e.length-(a+1))})(i,o,n)}function Y(e,t){if("number"!=typeof e)throw new F.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,a){if(Math.floor(e)!==e)throw Y(e,a),new F.ERR_OUT_OF_RANGE(a||"offset","an integer",e);if(t<0)throw new F.ERR_BUFFER_OUT_OF_BOUNDS;throw new F.ERR_OUT_OF_RANGE(a||"offset",`>= ${a?1:0} and <= ${t}`,e)}V("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),V("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError),V("ERR_OUT_OF_RANGE",function(e,t,a){let i=`The value of "${e}" is out of range.`,o=a;return Number.isInteger(a)&&Math.abs(a)>2**32?o=H(String(a)):"bigint"==typeof a&&(o=String(a),(a>BigInt(2)**BigInt(32)||a<-(BigInt(2)**BigInt(32)))&&(o=H(o)),o+="n"),i+=` It must be ${t}. Received ${o}`,i},RangeError);const K=/[^+/0-9A-Za-z-_]/g;function j(e,t){let a;t=t||1/0;const i=e.length;let o=null;const n=[];for(let r=0;r<i;++r){if(a=e.charCodeAt(r),a>55295&&a<57344){if(!o){if(a>56319){(t-=3)>-1&&n.push(239,191,189);continue}if(r+1===i){(t-=3)>-1&&n.push(239,191,189);continue}o=a;continue}if(a<56320){(t-=3)>-1&&n.push(239,191,189),o=a;continue}a=65536+(o-55296<<10|a-56320)}else o&&(t-=3)>-1&&n.push(239,191,189);if(o=null,a<128){if((t-=1)<0)break;n.push(a)}else if(a<2048){if((t-=2)<0)break;n.push(a>>6|192,63&a|128)}else if(a<65536){if((t-=3)<0)break;n.push(a>>12|224,a>>6&63|128,63&a|128)}else{if(!(a<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;n.push(a>>18|240,a>>12&63|128,a>>6&63|128,63&a|128)}}return n}function x(e){return i.toByteArray((function(e){if((e=(e=e.split("=")[0]).trim().replace(K,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e})(e))}function Q(e,t,a,i){let o;for(o=0;o<i&&!(o+a>=t.length||o>=e.length);++o)t[o+a]=e[o];return o}function X(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function $(e){return e!=e}const q=(function(){const e="0123456789abcdef",t=new Array(256);for(let a=0;a<16;++a){const i=16*a;for(let o=0;o<16;++o)t[i+o]=e[a]+e[o]}return t})();function J(e){return"undefined"==typeof BigInt?Z:e}function Z(){throw new Error("BigInt not supported")}},75674:(e,t,a)=>{"use strict";var i=a(13583),o=a(81948),n=a(32878),r=a(20741);e.exports=r||i.call(n,o)},81948:e=>{"use strict";e.exports=Function.prototype.apply},32878:e=>{"use strict";e.exports=Function.prototype.call},45312:(e,t,a)=>{"use strict";var i=a(13583),o=a(57379),n=a(32878),r=a(75674);e.exports=function(e){if(e.length<1||"function"!=typeof e[0])throw new o("a function is required");return r(i,n,e)}},20741:e=>{"use strict";e.exports="undefined"!=typeof Reflect&&Reflect&&Reflect.apply},15298:(e,t,a)=>{"use strict";var i=a(40703),o=a(45312),n=o([i("%String.prototype.indexOf%")]);e.exports=function(e,t){var a=i(e,!!t);return"function"==typeof a&&n(e,".prototype.")>-1?o([a]):a}},52165:(e,t,a)=>{const i=a(14877),o={};for(const e of Object.keys(i))o[i[e]]=e;const n={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};e.exports=n;for(const e of Object.keys(n)){if(!("channels"in n[e]))throw new Error("missing channels property: "+e);if(!("labels"in n[e]))throw new Error("missing channel labels property: "+e);if(n[e].labels.length!==n[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:t,labels:a}=n[e];delete n[e].channels,delete n[e].labels,Object.defineProperty(n[e],"channels",{value:t}),Object.defineProperty(n[e],"labels",{value:a})}function r(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}n.rgb.hsl=function(e){const t=e[0]/255,a=e[1]/255,i=e[2]/255,o=Math.min(t,a,i),n=Math.max(t,a,i),r=n-o;let E,_;n===o?E=0:t===n?E=(a-i)/r:a===n?E=2+(i-t)/r:i===n&&(E=4+(t-a)/r),E=Math.min(60*E,360),E<0&&(E+=360);const T=(o+n)/2;return _=n===o?0:T<=.5?r/(n+o):r/(2-n-o),[E,100*_,100*T]},n.rgb.hsv=function(e){let t,a,i,o,n;const r=e[0]/255,E=e[1]/255,_=e[2]/255,T=Math.max(r,E,_),s=T-Math.min(r,E,_),S=function(e){return(T-e)/6/s+.5};return 0===s?(o=0,n=0):(n=s/T,t=S(r),a=S(E),i=S(_),r===T?o=i-a:E===T?o=1/3+t-i:_===T&&(o=2/3+a-t),o<0?o+=1:o>1&&(o-=1)),[360*o,100*n,100*T]},n.rgb.hwb=function(e){const t=e[0],a=e[1];let i=e[2];const o=n.rgb.hsl(e)[0],r=1/255*Math.min(t,Math.min(a,i));return i=1-1/255*Math.max(t,Math.max(a,i)),[o,100*r,100*i]},n.rgb.cmyk=function(e){const t=e[0]/255,a=e[1]/255,i=e[2]/255,o=Math.min(1-t,1-a,1-i);return[100*((1-t-o)/(1-o)||0),100*((1-a-o)/(1-o)||0),100*((1-i-o)/(1-o)||0),100*o]},n.rgb.keyword=function(e){const t=o[e];if(t)return t;let a,n=1/0;for(const t of Object.keys(i)){const o=r(e,i[t]);o<n&&(n=o,a=t)}return a},n.keyword.rgb=function(e){return i[e]},n.rgb.xyz=function(e){let t=e[0]/255,a=e[1]/255,i=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;return[100*(.4124*t+.3576*a+.1805*i),100*(.2126*t+.7152*a+.0722*i),100*(.0193*t+.1192*a+.9505*i)]},n.rgb.lab=function(e){const t=n.rgb.xyz(e);let a=t[0],i=t[1],o=t[2];a/=95.047,i/=100,o/=108.883,a=a>.008856?a**(1/3):7.787*a+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;return[116*i-16,500*(a-i),200*(i-o)]},n.hsl.rgb=function(e){const t=e[0]/360,a=e[1]/100,i=e[2]/100;let o,n,r;if(0===a)return r=255*i,[r,r,r];o=i<.5?i*(1+a):i+a-i*a;const E=2*i-o,_=[0,0,0];for(let e=0;e<3;e++)n=t+1/3*-(e-1),n<0&&n++,n>1&&n--,r=6*n<1?E+6*(o-E)*n:2*n<1?o:3*n<2?E+(o-E)*(2/3-n)*6:E,_[e]=255*r;return _},n.hsl.hsv=function(e){const t=e[0];let a=e[1]/100,i=e[2]/100,o=a;const n=Math.max(i,.01);i*=2,a*=i<=1?i:2-i,o*=n<=1?n:2-n;return[t,100*(0===i?2*o/(n+o):2*a/(i+a)),100*((i+a)/2)]},n.hsv.rgb=function(e){const t=e[0]/60,a=e[1]/100;let i=e[2]/100;const o=Math.floor(t)%6,n=t-Math.floor(t),r=255*i*(1-a),E=255*i*(1-a*n),_=255*i*(1-a*(1-n));switch(i*=255,o){case 0:return[i,_,r];case 1:return[E,i,r];case 2:return[r,i,_];case 3:return[r,E,i];case 4:return[_,r,i];case 5:return[i,r,E]}},n.hsv.hsl=function(e){const t=e[0],a=e[1]/100,i=e[2]/100,o=Math.max(i,.01);let n,r;r=(2-a)*i;const E=(2-a)*o;return n=a*o,n/=E<=1?E:2-E,n=n||0,r/=2,[t,100*n,100*r]},n.hwb.rgb=function(e){const t=e[0]/360;let a=e[1]/100,i=e[2]/100;const o=a+i;let n;o>1&&(a/=o,i/=o);const r=Math.floor(6*t),E=1-i;n=6*t-r,1&r&&(n=1-n);const _=a+n*(E-a);let T,s,S;switch(r){default:case 6:case 0:T=E,s=_,S=a;break;case 1:T=_,s=E,S=a;break;case 2:T=a,s=E,S=_;break;case 3:T=a,s=_,S=E;break;case 4:T=_,s=a,S=E;break;case 5:T=E,s=a,S=_}return[255*T,255*s,255*S]},n.cmyk.rgb=function(e){const t=e[0]/100,a=e[1]/100,i=e[2]/100,o=e[3]/100;return[255*(1-Math.min(1,t*(1-o)+o)),255*(1-Math.min(1,a*(1-o)+o)),255*(1-Math.min(1,i*(1-o)+o))]},n.xyz.rgb=function(e){const t=e[0]/100,a=e[1]/100,i=e[2]/100;let o,n,r;return o=3.2406*t+-1.5372*a+-.4986*i,n=-.9689*t+1.8758*a+.0415*i,r=.0557*t+-.204*a+1.057*i,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,n=n>.0031308?1.055*n**(1/2.4)-.055:12.92*n,r=r>.0031308?1.055*r**(1/2.4)-.055:12.92*r,o=Math.min(Math.max(0,o),1),n=Math.min(Math.max(0,n),1),r=Math.min(Math.max(0,r),1),[255*o,255*n,255*r]},n.xyz.lab=function(e){let t=e[0],a=e[1],i=e[2];t/=95.047,a/=100,i/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;return[116*a-16,500*(t-a),200*(a-i)]},n.lab.xyz=function(e){let t,a,i;a=(e[0]+16)/116,t=e[1]/500+a,i=a-e[2]/200;const o=a**3,n=t**3,r=i**3;return a=o>.008856?o:(a-16/116)/7.787,t=n>.008856?n:(t-16/116)/7.787,i=r>.008856?r:(i-16/116)/7.787,t*=95.047,a*=100,i*=108.883,[t,a,i]},n.lab.lch=function(e){const t=e[0],a=e[1],i=e[2];let o;o=360*Math.atan2(i,a)/2/Math.PI,o<0&&(o+=360);return[t,Math.sqrt(a*a+i*i),o]},n.lch.lab=function(e){const t=e[0],a=e[1],i=e[2]/360*2*Math.PI;return[t,a*Math.cos(i),a*Math.sin(i)]},n.rgb.ansi16=function(e,t=null){const[a,i,o]=e;let r=null===t?n.rgb.hsv(e)[2]:t;if(r=Math.round(r/50),0===r)return 30;let E=30+(Math.round(o/255)<<2|Math.round(i/255)<<1|Math.round(a/255));return 2===r&&(E+=60),E},n.hsv.ansi16=function(e){return n.rgb.ansi16(n.hsv.rgb(e),e[2])},n.rgb.ansi256=function(e){const t=e[0],a=e[1],i=e[2];if(t===a&&a===i)return t<8?16:t>248?231:Math.round((t-8)/247*24)+232;return 16+36*Math.round(t/255*5)+6*Math.round(a/255*5)+Math.round(i/255*5)},n.ansi16.rgb=function(e){let t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const a=.5*(1+~~(e>50));return[(1&t)*a*255,(t>>1&1)*a*255,(t>>2&1)*a*255]},n.ansi256.rgb=function(e){if(e>=232){const t=10*(e-232)+8;return[t,t,t]}let t;e-=16;return[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},n.rgb.hex=function(e){const t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},n.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let a=t[0];3===t[0].length&&(a=a.split("").map(e=>e+e).join(""));const i=parseInt(a,16);return[i>>16&255,i>>8&255,255&i]},n.rgb.hcg=function(e){const t=e[0]/255,a=e[1]/255,i=e[2]/255,o=Math.max(Math.max(t,a),i),n=Math.min(Math.min(t,a),i),r=o-n;let E,_;return E=r<1?n/(1-r):0,_=r<=0?0:o===t?(a-i)/r%6:o===a?2+(i-t)/r:4+(t-a)/r,_/=6,_%=1,[360*_,100*r,100*E]},n.hsl.hcg=function(e){const t=e[1]/100,a=e[2]/100,i=a<.5?2*t*a:2*t*(1-a);let o=0;return i<1&&(o=(a-.5*i)/(1-i)),[e[0],100*i,100*o]},n.hsv.hcg=function(e){const t=e[1]/100,a=e[2]/100,i=t*a;let o=0;return i<1&&(o=(a-i)/(1-i)),[e[0],100*i,100*o]},n.hcg.rgb=function(e){const t=e[0]/360,a=e[1]/100,i=e[2]/100;if(0===a)return[255*i,255*i,255*i];const o=[0,0,0],n=t%1*6,r=n%1,E=1-r;let _=0;switch(Math.floor(n)){case 0:o[0]=1,o[1]=r,o[2]=0;break;case 1:o[0]=E,o[1]=1,o[2]=0;break;case 2:o[0]=0,o[1]=1,o[2]=r;break;case 3:o[0]=0,o[1]=E,o[2]=1;break;case 4:o[0]=r,o[1]=0,o[2]=1;break;default:o[0]=1,o[1]=0,o[2]=E}return _=(1-a)*i,[255*(a*o[0]+_),255*(a*o[1]+_),255*(a*o[2]+_)]},n.hcg.hsv=function(e){const t=e[1]/100,a=t+e[2]/100*(1-t);let i=0;return a>0&&(i=t/a),[e[0],100*i,100*a]},n.hcg.hsl=function(e){const t=e[1]/100,a=e[2]/100*(1-t)+.5*t;let i=0;return a>0&&a<.5?i=t/(2*a):a>=.5&&a<1&&(i=t/(2*(1-a))),[e[0],100*i,100*a]},n.hcg.hwb=function(e){const t=e[1]/100,a=t+e[2]/100*(1-t);return[e[0],100*(a-t),100*(1-a)]},n.hwb.hcg=function(e){const t=e[1]/100,a=1-e[2]/100,i=a-t;let o=0;return i<1&&(o=(a-i)/(1-i)),[e[0],100*i,100*o]},n.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},n.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},n.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},n.gray.hsl=function(e){return[0,0,e[0]]},n.gray.hsv=n.gray.hsl,n.gray.hwb=function(e){return[0,100,e[0]]},n.gray.cmyk=function(e){return[0,0,0,e[0]]},n.gray.lab=function(e){return[e[0],0,0]},n.gray.hex=function(e){const t=255&Math.round(e[0]/100*255),a=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(a.length)+a},n.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},61880:(e,t,a)=>{const i=a(52165),o=a(985),n={};Object.keys(i).forEach(e=>{n[e]={},Object.defineProperty(n[e],"channels",{value:i[e].channels}),Object.defineProperty(n[e],"labels",{value:i[e].labels});const t=o(e);Object.keys(t).forEach(a=>{const i=t[a];n[e][a]=(function(e){const t=function(...t){const a=t[0];if(null==a)return a;a.length>1&&(t=a);const i=e(t);if("object"==typeof i)for(let e=i.length,t=0;t<e;t++)i[t]=Math.round(i[t]);return i};return"conversion"in e&&(t.conversion=e.conversion),t})(i),n[e][a].raw=(function(e){const t=function(...t){const a=t[0];return null==a?a:(a.length>1&&(t=a),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t})(i)})}),e.exports=n},985:(e,t,a)=>{const i=a(52165);function o(e){const t=(function(){const e={},t=Object.keys(i);for(let a=t.length,i=0;i<a;i++)e[t[i]]={distance:-1,parent:null};return e})(),a=[e];for(t[e].distance=0;a.length;){const e=a.pop(),o=Object.keys(i[e]);for(let i=o.length,n=0;n<i;n++){const i=o[n],r=t[i];-1===r.distance&&(r.distance=t[e].distance+1,r.parent=e,a.unshift(i))}}return t}function n(e,t){return function(a){return t(e(a))}}function r(e,t){const a=[t[e].parent,e];let o=i[t[e].parent][e],r=t[e].parent;for(;t[r].parent;)a.unshift(t[r].parent),o=n(i[t[r].parent][r],o),r=t[r].parent;return o.conversion=a,o}e.exports=function(e){const t=o(e),a={},i=Object.keys(t);for(let e=i.length,o=0;o<e;o++){const e=i[o];null!==t[e].parent&&(a[e]=r(e,t))}return a}},14877:e=>{"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},66138:(e,t,a)=>{var i=a(14877),o=a(83403),n=Object.hasOwnProperty,r=Object.create(null);for(var E in i)n.call(i,E)&&(r[i[E]]=E);var _=e.exports={to:{},get:{}};function T(e,t,a){return Math.min(Math.max(t,e),a)}function s(e){var t=Math.round(e).toString(16).toUpperCase();return t.length<2?"0"+t:t}_.get=function(e){var t,a;switch(e.substring(0,3).toLowerCase()){case"hsl":t=_.get.hsl(e),a="hsl";break;case"hwb":t=_.get.hwb(e),a="hwb";break;default:t=_.get.rgb(e),a="rgb"}return t?{model:a,value:t}:null},_.get.rgb=function(e){if(!e)return null;var t,a,o,r=[0,0,0,1];if(t=e.match(/^#([a-f0-9]{6})([a-f0-9]{2})?$/i)){for(o=t[2],t=t[1],a=0;a<3;a++){var E=2*a;r[a]=parseInt(t.slice(E,E+2),16)}o&&(r[3]=parseInt(o,16)/255)}else if(t=e.match(/^#([a-f0-9]{3,4})$/i)){for(o=(t=t[1])[3],a=0;a<3;a++)r[a]=parseInt(t[a]+t[a],16);o&&(r[3]=parseInt(o+o,16)/255)}else if(t=e.match(/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)){for(a=0;a<3;a++)r[a]=parseInt(t[a+1],0);t[4]&&(t[5]?r[3]=.01*parseFloat(t[4]):r[3]=parseFloat(t[4]))}else{if(!(t=e.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/)))return(t=e.match(/^(\w+)$/))?"transparent"===t[1]?[0,0,0,0]:n.call(i,t[1])?((r=i[t[1]])[3]=1,r):null:null;for(a=0;a<3;a++)r[a]=Math.round(2.55*parseFloat(t[a+1]));t[4]&&(t[5]?r[3]=.01*parseFloat(t[4]):r[3]=parseFloat(t[4]))}for(a=0;a<3;a++)r[a]=T(r[a],0,255);return r[3]=T(r[3],0,1),r},_.get.hsl=function(e){if(!e)return null;var t=e.match(/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(t){var a=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,T(parseFloat(t[2]),0,100),T(parseFloat(t[3]),0,100),T(isNaN(a)?1:a,0,1)]}return null},_.get.hwb=function(e){if(!e)return null;var t=e.match(/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/);if(t){var a=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,T(parseFloat(t[2]),0,100),T(parseFloat(t[3]),0,100),T(isNaN(a)?1:a,0,1)]}return null},_.to.hex=function(){var e=o(arguments);return"#"+s(e[0])+s(e[1])+s(e[2])+(e[3]<1?s(Math.round(255*e[3])):"")},_.to.rgb=function(){var e=o(arguments);return e.length<4||1===e[3]?"rgb("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+")":"rgba("+Math.round(e[0])+", "+Math.round(e[1])+", "+Math.round(e[2])+", "+e[3]+")"},_.to.rgb.percent=function(){var e=o(arguments),t=Math.round(e[0]/255*100),a=Math.round(e[1]/255*100),i=Math.round(e[2]/255*100);return e.length<4||1===e[3]?"rgb("+t+"%, "+a+"%, "+i+"%)":"rgba("+t+"%, "+a+"%, "+i+"%, "+e[3]+")"},_.to.hsl=function(){var e=o(arguments);return e.length<4||1===e[3]?"hsl("+e[0]+", "+e[1]+"%, "+e[2]+"%)":"hsla("+e[0]+", "+e[1]+"%, "+e[2]+"%, "+e[3]+")"},_.to.hwb=function(){var e=o(arguments),t="";return e.length>=4&&1!==e[3]&&(t=", "+e[3]),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+t+")"},_.to.keyword=function(e){return r[e.slice(0,3)]}},38742:(e,t,a)=>{const i=a(66138),o=a(61880),n=["keyword","gray","hex"],r={};for(const e of Object.keys(o))r[[...o[e].labels].sort().join("")]=e;const E={};function _(e,t){if(!(this instanceof _))return new _(e,t);if(t&&t in n&&(t=null),t&&!(t in o))throw new Error("Unknown model: "+t);let a,T;if(null==e)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(e instanceof _)this.model=e.model,this.color=[...e.color],this.valpha=e.valpha;else if("string"==typeof e){const t=i.get(e);if(null===t)throw new Error("Unable to parse color from string: "+e);this.model=t.model,T=o[this.model].channels,this.color=t.value.slice(0,T),this.valpha="number"==typeof t.value[T]?t.value[T]:1}else if(e.length>0){this.model=t||"rgb",T=o[this.model].channels;const a=Array.prototype.slice.call(e,0,T);this.color=l(a,T),this.valpha="number"==typeof e[T]?e[T]:1}else if("number"==typeof e)this.model="rgb",this.color=[e>>16&255,e>>8&255,255&e],this.valpha=1;else{this.valpha=1;const t=Object.keys(e);"alpha"in e&&(t.splice(t.indexOf("alpha"),1),this.valpha="number"==typeof e.alpha?e.alpha:0);const i=t.sort().join("");if(!(i in r))throw new Error("Unable to parse color from object: "+JSON.stringify(e));this.model=r[i];const{labels:n}=o[this.model],E=[];for(a=0;a<n.length;a++)E.push(e[n[a]]);this.color=l(E)}if(E[this.model])for(T=o[this.model].channels,a=0;a<T;a++){const e=E[this.model][a];e&&(this.color[a]=e(this.color[a]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}_.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(e){let t=this.model in i.to?this:this.rgb();t=t.round("number"==typeof e?e:1);const a=1===t.valpha?t.color:[...t.color,this.valpha];return i.to[t.model](a)},percentString(e){const t=this.rgb().round("number"==typeof e?e:1),a=1===t.valpha?t.color:[...t.color,this.valpha];return i.to.rgb.percent(a)},array(){return 1===this.valpha?[...this.color]:[...this.color,this.valpha]},object(){const e={},{channels:t}=o[this.model],{labels:a}=o[this.model];for(let i=0;i<t;i++)e[a[i]]=this.color[i];return 1!==this.valpha&&(e.alpha=this.valpha),e},unitArray(){const e=this.rgb().color;return e[0]/=255,e[1]/=255,e[2]/=255,1!==this.valpha&&e.push(this.valpha),e},unitObject(){const e=this.rgb().object();return e.r/=255,e.g/=255,e.b/=255,1!==this.valpha&&(e.alpha=this.valpha),e},round(e){return e=Math.max(e||0,0),new _([...this.color.map(T(e)),this.valpha],this.model)},alpha(e){return void 0!==e?new _([...this.color,Math.max(0,Math.min(1,e))],this.model):this.valpha},red:s("rgb",0,S(255)),green:s("rgb",1,S(255)),blue:s("rgb",2,S(255)),hue:s(["hsl","hsv","hsl","hwb","hcg"],0,e=>(e%360+360)%360),saturationl:s("hsl",1,S(100)),lightness:s("hsl",2,S(100)),saturationv:s("hsv",1,S(100)),value:s("hsv",2,S(100)),chroma:s("hcg",1,S(100)),gray:s("hcg",2,S(100)),white:s("hwb",1,S(100)),wblack:s("hwb",2,S(100)),cyan:s("cmyk",0,S(100)),magenta:s("cmyk",1,S(100)),yellow:s("cmyk",2,S(100)),black:s("cmyk",3,S(100)),x:s("xyz",0,S(95.047)),y:s("xyz",1,S(100)),z:s("xyz",2,S(108.833)),l:s("lab",0,S(100)),a:s("lab",1),b:s("lab",2),keyword(e){return void 0!==e?new _(e):o[this.model].keyword(this.color)},hex(e){return void 0!==e?new _(e):i.to.hex(this.rgb().round().color)},hexa(e){if(void 0!==e)return new _(e);const t=this.rgb().round().color;let a=Math.round(255*this.valpha).toString(16).toUpperCase();return 1===a.length&&(a="0"+a),i.to.hex(t)+a},rgbNumber(){const e=this.rgb().color;return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},luminosity(){const e=this.rgb().color,t=[];for(const[a,i]of e.entries()){const e=i/255;t[a]=e<=.04045?e/12.92:((e+.055)/1.055)**2.4}return.2126*t[0]+.7152*t[1]+.0722*t[2]},contrast(e){const t=this.luminosity(),a=e.luminosity();return t>a?(t+.05)/(a+.05):(a+.05)/(t+.05)},level(e){const t=this.contrast(e);return t>=7?"AAA":t>=4.5?"AA":""},isDark(){const e=this.rgb().color;return(2126*e[0]+7152*e[1]+722*e[2])/1e4<128},isLight(){return!this.isDark()},negate(){const e=this.rgb();for(let t=0;t<3;t++)e.color[t]=255-e.color[t];return e},lighten(e){const t=this.hsl();return t.color[2]+=t.color[2]*e,t},darken(e){const t=this.hsl();return t.color[2]-=t.color[2]*e,t},saturate(e){const t=this.hsl();return t.color[1]+=t.color[1]*e,t},desaturate(e){const t=this.hsl();return t.color[1]-=t.color[1]*e,t},whiten(e){const t=this.hwb();return t.color[1]+=t.color[1]*e,t},blacken(e){const t=this.hwb();return t.color[2]+=t.color[2]*e,t},grayscale(){const e=this.rgb().color,t=.3*e[0]+.59*e[1]+.11*e[2];return _.rgb(t,t,t)},fade(e){return this.alpha(this.valpha-this.valpha*e)},opaquer(e){return this.alpha(this.valpha+this.valpha*e)},rotate(e){const t=this.hsl();let a=t.color[0];return a=(a+e)%360,a=a<0?360+a:a,t.color[0]=a,t},mix(e,t){if(!e||!e.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof e);const a=e.rgb(),i=this.rgb(),o=void 0===t?.5:t,n=2*o-1,r=a.alpha()-i.alpha(),E=((n*r===-1?n:(n+r)/(1+n*r))+1)/2,T=1-E;return _.rgb(E*a.red()+T*i.red(),E*a.green()+T*i.green(),E*a.blue()+T*i.blue(),a.alpha()*o+i.alpha()*(1-o))}};for(const e of Object.keys(o)){if(n.includes(e))continue;const{channels:t}=o[e];_.prototype[e]=function(...t){return this.model===e?new _(this):t.length>0?new _(t,e):new _([...(a=o[this.model][e].raw(this.color),Array.isArray(a)?a:[a]),this.valpha],e);var a},_[e]=function(...a){let i=a[0];return"number"==typeof i&&(i=l(a,t)),new _(i,e)}}function T(e){return function(t){return(function(e,t){return Number(e.toFixed(t))})(t,e)}}function s(e,t,a){e=Array.isArray(e)?e:[e];for(const i of e)(E[i]||(E[i]=[]))[t]=a;return e=e[0],function(i){let o;return void 0!==i?(a&&(i=a(i)),o=this[e](),o.color[t]=i,o):(o=this[e]().color[t],a&&(o=a(o)),o)}}function S(e){return function(t){return Math.max(0,Math.min(e,t))}}function l(e,t){for(let a=0;a<t;a++)"number"!=typeof e[a]&&(e[a]=0);return e}e.exports=_},68816:e=>{e.exports=function e(t){return Object.freeze(t),Object.getOwnPropertyNames(t).forEach(function(a){!t.hasOwnProperty(a)||null===t[a]||"object"!=typeof t[a]&&"function"!=typeof t[a]||Object.isFrozen(t[a])||e(t[a])}),t}},61449:(e,t,a)=>{"use strict";var i,o=a(45312),n=a(3492);try{i=[].__proto__===Array.prototype}catch(e){if(!e||"object"!=typeof e||!("code"in e)||"ERR_PROTO_ACCESS"!==e.code)throw e}var r=!!i&&n&&n(Object.prototype,"__proto__"),E=Object,_=E.getPrototypeOf;e.exports=r&&"function"==typeof r.get?o([r.get]):"function"==typeof _&&function(e){return _(null==e?e:E(e))}},29173:e=>{"use strict";var t=Object.defineProperty||!1;if(t)try{t({},"a",{value:1})}catch(e){t=!1}e.exports=t},81101:e=>{"use strict";e.exports=EvalError},99183:e=>{"use strict";e.exports=Error},17570:e=>{"use strict";e.exports=RangeError},9898:e=>{"use strict";e.exports=ReferenceError},17388:e=>{"use strict";e.exports=SyntaxError},57379:e=>{"use strict";e.exports=TypeError},74585:e=>{"use strict";e.exports=URIError},32410:e=>{"use strict";e.exports=Object},55852:e=>{"use strict";var t=Object.prototype.hasOwnProperty,a="~";function i(){}function o(e,t,a){this.fn=e,this.context=t,this.once=a||!1}function n(e,t,i,n,r){if("function"!=typeof i)throw new TypeError("The listener must be a function");var E=new o(i,n||e,r),_=a?a+t:t;return e._events[_]?e._events[_].fn?e._events[_]=[e._events[_],E]:e._events[_].push(E):(e._events[_]=E,e._eventsCount++),e}function r(e,t){0===--e._eventsCount?e._events=new i:delete e._events[t]}function E(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(a=!1)),E.prototype.eventNames=function(){var e,i,o=[];if(0===this._eventsCount)return o;for(i in e=this._events)t.call(e,i)&&o.push(a?i.slice(1):i);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},E.prototype.listeners=function(e){var t=a?a+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var o=0,n=i.length,r=new Array(n);o<n;o++)r[o]=i[o].fn;return r},E.prototype.listenerCount=function(e){var t=a?a+e:e,i=this._events[t];return i?i.fn?1:i.length:0},E.prototype.emit=function(e,t,i,o,n,r){var E=a?a+e:e;if(!this._events[E])return!1;var _,T,s=this._events[E],S=arguments.length;if(s.fn){switch(s.once&&this.removeListener(e,s.fn,void 0,!0),S){case 1:return s.fn.call(s.context),!0;case 2:return s.fn.call(s.context,t),!0;case 3:return s.fn.call(s.context,t,i),!0;case 4:return s.fn.call(s.context,t,i,o),!0;case 5:return s.fn.call(s.context,t,i,o,n),!0;case 6:return s.fn.call(s.context,t,i,o,n,r),!0}for(T=1,_=new Array(S-1);T<S;T++)_[T-1]=arguments[T];s.fn.apply(s.context,_)}else{var l,I=s.length;for(T=0;T<I;T++)switch(s[T].once&&this.removeListener(e,s[T].fn,void 0,!0),S){case 1:s[T].fn.call(s[T].context);break;case 2:s[T].fn.call(s[T].context,t);break;case 3:s[T].fn.call(s[T].context,t,i);break;case 4:s[T].fn.call(s[T].context,t,i,o);break;default:if(!_)for(l=1,_=new Array(S-1);l<S;l++)_[l-1]=arguments[l];s[T].fn.apply(s[T].context,_)}}return!0},E.prototype.on=function(e,t,a){return n(this,e,t,a,!1)},E.prototype.once=function(e,t,a){return n(this,e,t,a,!0)},E.prototype.removeListener=function(e,t,i,o){var n=a?a+e:e;if(!this._events[n])return this;if(!t)return r(this,n),this;var E=this._events[n];if(E.fn)E.fn!==t||o&&!E.once||i&&E.context!==i||r(this,n);else{for(var _=0,T=[],s=E.length;_<s;_++)(E[_].fn!==t||o&&!E[_].once||i&&E[_].context!==i)&&T.push(E[_]);T.length?this._events[n]=1===T.length?T[0]:T:r(this,n)}return this},E.prototype.removeAllListeners=function(e){var t;return e?(t=a?a+e:e,this._events[t]&&r(this,t)):(this._events=new i,this._eventsCount=0),this},E.prototype.off=E.prototype.removeListener,E.prototype.addListener=E.prototype.on,E.prefixed=a,E.EventEmitter=E,e.exports=E},41343:e=>{"use strict";var t=Object.prototype.hasOwnProperty,a="~";function i(){}function o(e,t,a){this.fn=e,this.context=t,this.once=a||!1}function n(e,t,i,n,r){if("function"!=typeof i)throw new TypeError("The listener must be a function");var E=new o(i,n||e,r),_=a?a+t:t;return e._events[_]?e._events[_].fn?e._events[_]=[e._events[_],E]:e._events[_].push(E):(e._events[_]=E,e._eventsCount++),e}function r(e,t){0===--e._eventsCount?e._events=new i:delete e._events[t]}function E(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(a=!1)),E.prototype.eventNames=function(){var e,i,o=[];if(0===this._eventsCount)return o;for(i in e=this._events)t.call(e,i)&&o.push(a?i.slice(1):i);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},E.prototype.listeners=function(e){var t=a?a+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var o=0,n=i.length,r=new Array(n);o<n;o++)r[o]=i[o].fn;return r},E.prototype.listenerCount=function(e){var t=a?a+e:e,i=this._events[t];return i?i.fn?1:i.length:0},E.prototype.emit=function(e,t,i,o,n,r){var E=a?a+e:e;if(!this._events[E])return!1;var _,T,s=this._events[E],S=arguments.length;if(s.fn){switch(s.once&&this.removeListener(e,s.fn,void 0,!0),S){case 1:return s.fn.call(s.context),!0;case 2:return s.fn.call(s.context,t),!0;case 3:return s.fn.call(s.context,t,i),!0;case 4:return s.fn.call(s.context,t,i,o),!0;case 5:return s.fn.call(s.context,t,i,o,n),!0;case 6:return s.fn.call(s.context,t,i,o,n,r),!0}for(T=1,_=new Array(S-1);T<S;T++)_[T-1]=arguments[T];s.fn.apply(s.context,_)}else{var l,I=s.length;for(T=0;T<I;T++)switch(s[T].once&&this.removeListener(e,s[T].fn,void 0,!0),S){case 1:s[T].fn.call(s[T].context);break;case 2:s[T].fn.call(s[T].context,t);break;case 3:s[T].fn.call(s[T].context,t,i);break;case 4:s[T].fn.call(s[T].context,t,i,o);break;default:if(!_)for(l=1,_=new Array(S-1);l<S;l++)_[l-1]=arguments[l];s[T].fn.apply(s[T].context,_)}}return!0},E.prototype.on=function(e,t,a){return n(this,e,t,a,!1)},E.prototype.once=function(e,t,a){return n(this,e,t,a,!0)},E.prototype.removeListener=function(e,t,i,o){var n=a?a+e:e;if(!this._events[n])return this;if(!t)return r(this,n),this;var E=this._events[n];if(E.fn)E.fn!==t||o&&!E.once||i&&E.context!==i||r(this,n);else{for(var _=0,T=[],s=E.length;_<s;_++)(E[_].fn!==t||o&&!E[_].once||i&&E[_].context!==i)&&T.push(E[_]);T.length?this._events[n]=1===T.length?T[0]:T:r(this,n)}return this},E.prototype.removeAllListeners=function(e){var t;return e?(t=a?a+e:e,this._events[t]&&r(this,t)):(this._events=new i,this._eventsCount=0),this},E.prototype.off=E.prototype.removeListener,E.prototype.addListener=E.prototype.on,E.prefixed=a,E.EventEmitter=E,e.exports=E},62320:(e,t)=>{"use strict";t.A=function(e){var t={};for(var a in e)e.hasOwnProperty(a)&&o(a)&&(t[a]=e[a]);return t};var a={onCopy:!0,onCut:!0,onPaste:!0,onLoad:!0,onError:!0,onWheel:!0,onScroll:!0,onCompositionEnd:!0,onCompositionStart:!0,onCompositionUpdate:!0,onKeyDown:!0,onKeyPress:!0,onKeyUp:!0,onFocus:!0,onBlur:!0,onChange:!0,onInput:!0,onSubmit:!0,onClick:!0,onContextMenu:!0,onDoubleClick:!0,onDrag:!0,onDragEnd:!0,onDragEnter:!0,onDragExit:!0,onDragLeave:!0,onDragOver:!0,onDragStart:!0,onDrop:!0,onMouseDown:!0,onMouseEnter:!0,onMouseLeave:!0,onMouseMove:!0,onMouseOut:!0,onMouseOver:!0,onMouseUp:!0,onSelect:!0,onTouchCancel:!0,onTouchEnd:!0,onTouchMove:!0,onTouchStart:!0,onAnimationStart:!0,onAnimationEnd:!0,onAnimationIteration:!0,onTransitionEnd:!0},i={abbr:"abbr",accept:"accept",acceptCharset:"accept-charset",accessKey:"accesskey",action:"action",allowFullScreen:"allowfullscreen",allowTransparency:"allowtransparency",alt:"alt",async:"async",autoComplete:"autocomplete",autoFocus:"autofocus",autoPlay:"autoplay",cellPadding:"cellpadding",cellSpacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",cite:"cite",class:"class",className:"class",cols:"cols",colSpan:"colspan",command:"command",content:"content",contentEditable:"contenteditable",contextMenu:"contextmenu",controls:"controls",coords:"coords",crossOrigin:"crossorigin",data:"data",dateTime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",dropzone:"dropzone",encType:"enctype",for:"for",form:"form",formAction:"formaction",formEncType:"formenctype",formMethod:"formmethod",formNoValidate:"formnovalidate",formTarget:"formtarget",frameBorder:"frameBorder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hrefLang:"hreflang",htmlFor:"for",httpEquiv:"http-equiv",icon:"icon",id:"id",inputMode:"inputmode",isMap:"ismap",itemId:"itemid",itemProp:"itemprop",itemRef:"itemref",itemScope:"itemscope",itemType:"itemtype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",manifest:"manifest",max:"max",maxLength:"maxlength",media:"media",mediaGroup:"mediagroup",method:"method",min:"min",minLength:"minlength",multiple:"multiple",muted:"muted",name:"name",noValidate:"novalidate",open:"open",optimum:"optimum",pattern:"pattern",ping:"ping",placeholder:"placeholder",poster:"poster",preload:"preload",radioGroup:"radiogroup",readOnly:"readonly",rel:"rel",required:"required",role:"role",rows:"rows",rowSpan:"rowspan",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",sortable:"sortable",span:"span",spellCheck:"spellcheck",src:"src",srcDoc:"srcdoc",srcSet:"srcset",start:"start",step:"step",style:"style",tabIndex:"tabindex",target:"target",title:"title",translate:"translate",type:"type",typeMustMatch:"typemustmatch",useMap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"};function o(e){return a[e]||i[e]||/^(data|aria)-/.test(e)}},51777:e=>{"use strict";var t=Object.prototype.toString,a=Math.max,i=function(e,t){for(var a=[],i=0;i<e.length;i+=1)a[i]=e[i];for(var o=0;o<t.length;o+=1)a[o+e.length]=t[o];return a};e.exports=function(e){var o=this;if("function"!=typeof o||"[object Function]"!==t.apply(o))throw new TypeError("Function.prototype.bind called on incompatible "+o);for(var n,r=(function(e,t){for(var a=[],i=t||0,o=0;i<e.length;i+=1,o+=1)a[o]=e[i];return a})(arguments,1),E=a(0,o.length-r.length),_=[],T=0;T<E;T++)_[T]="$"+T;if(n=Function("binder","return function ("+(function(e,t){for(var a="",i=0;i<e.length;i+=1)a+=e[i],i+1<e.length&&(a+=t);return a})(_,",")+"){ return binder.apply(this,arguments); }")(function(){if(this instanceof n){var t=o.apply(this,i(r,arguments));return Object(t)===t?t:this}return o.apply(e,i(r,arguments))}),o.prototype){var s=function(){};s.prototype=o.prototype,n.prototype=new s,s.prototype=null}return n}},13583:(e,t,a)=>{"use strict";var i=a(51777);e.exports=Function.prototype.bind||i},40703:(e,t,a)=>{"use strict";var i,o=a(32410),n=a(99183),r=a(81101),E=a(17570),_=a(9898),T=a(17388),s=a(57379),S=a(74585),l=a(29895),I=a(72153),A=a(90457),u=a(21179),d=a(55985),O=a(88639),c=a(55738),N=Function,R=function(e){try{return N('"use strict"; return ('+e+").constructor;")()}catch(e){}},m=a(3492),L=a(29173),D=function(){throw new s},p=m?(function(){try{return D}catch(e){try{return m(arguments,"callee").get}catch(e){return D}}})():D,C=a(87657)(),h=a(31611),f=a(48819),P=a(22517),B=a(81948),g=a(32878),v={},M="undefined"!=typeof Uint8Array&&h?h(Uint8Array):i,W={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?i:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?i:ArrayBuffer,"%ArrayIteratorPrototype%":C&&h?h([][Symbol.iterator]()):i,"%AsyncFromSyncIteratorPrototype%":i,"%AsyncFunction%":v,"%AsyncGenerator%":v,"%AsyncGeneratorFunction%":v,"%AsyncIteratorPrototype%":v,"%Atomics%":"undefined"==typeof Atomics?i:Atomics,"%BigInt%":"undefined"==typeof BigInt?i:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?i:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?i:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?i:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":n,"%eval%":eval,"%EvalError%":r,"%Float16Array%":"undefined"==typeof Float16Array?i:Float16Array,"%Float32Array%":"undefined"==typeof Float32Array?i:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?i:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?i:FinalizationRegistry,"%Function%":N,"%GeneratorFunction%":v,"%Int8Array%":"undefined"==typeof Int8Array?i:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?i:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?i:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":C&&h?h(h([][Symbol.iterator]())):i,"%JSON%":"object"==typeof JSON?JSON:i,"%Map%":"undefined"==typeof Map?i:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&C&&h?h((new Map)[Symbol.iterator]()):i,"%Math%":Math,"%Number%":Number,"%Object%":o,"%Object.getOwnPropertyDescriptor%":m,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?i:Promise,"%Proxy%":"undefined"==typeof Proxy?i:Proxy,"%RangeError%":E,"%ReferenceError%":_,"%Reflect%":"undefined"==typeof Reflect?i:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?i:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&C&&h?h((new Set)[Symbol.iterator]()):i,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?i:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":C&&h?h(""[Symbol.iterator]()):i,"%Symbol%":C?Symbol:i,"%SyntaxError%":T,"%ThrowTypeError%":p,"%TypedArray%":M,"%TypeError%":s,"%Uint8Array%":"undefined"==typeof Uint8Array?i:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?i:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?i:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?i:Uint32Array,"%URIError%":S,"%WeakMap%":"undefined"==typeof WeakMap?i:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?i:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?i:WeakSet,"%Function.prototype.call%":g,"%Function.prototype.apply%":B,"%Object.defineProperty%":L,"%Object.getPrototypeOf%":f,"%Math.abs%":l,"%Math.floor%":I,"%Math.max%":A,"%Math.min%":u,"%Math.pow%":d,"%Math.round%":O,"%Math.sign%":c,"%Reflect.getPrototypeOf%":P};if(h)try{null.error}catch(e){var y=h(h(e));W["%Error.prototype%"]=y}var U=function e(t){var a;if("%AsyncFunction%"===t)a=R("async function () {}");else if("%GeneratorFunction%"===t)a=R("function* () {}");else if("%AsyncGeneratorFunction%"===t)a=R("async function* () {}");else if("%AsyncGenerator%"===t){var i=e("%AsyncGeneratorFunction%");i&&(a=i.prototype)}else if("%AsyncIteratorPrototype%"===t){var o=e("%AsyncGenerator%");o&&h&&(a=h(o.prototype))}return W[t]=a,a},b={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},G=a(13583),k=a(37533),F=G.call(g,Array.prototype.concat),V=G.call(B,Array.prototype.splice),H=G.call(g,String.prototype.replace),w=G.call(g,String.prototype.slice),Y=G.call(g,RegExp.prototype.exec),z=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,K=/\\(\\)?/g,j=function(e,t){var a,i=e;if(k(b,i)&&(i="%"+(a=b[i])[0]+"%"),k(W,i)){var o=W[i];if(o===v&&(o=U(i)),void 0===o&&!t)throw new s("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:a,name:i,value:o}}throw new T("intrinsic "+e+" does not exist!")};e.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new s("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new s('"allowMissing" argument must be a boolean');if(null===Y(/^%?[^%]*%?$/,e))throw new T("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var a=(function(e){var t=w(e,0,1),a=w(e,-1);if("%"===t&&"%"!==a)throw new T("invalid intrinsic syntax, expected closing `%`");if("%"===a&&"%"!==t)throw new T("invalid intrinsic syntax, expected opening `%`");var i=[];return H(e,z,function(e,t,a,o){i[i.length]=a?H(o,K,"$1"):t||e}),i})(e),i=a.length>0?a[0]:"",o=j("%"+i+"%",t),n=o.name,r=o.value,E=!1,_=o.alias;_&&(i=_[0],V(a,F([0,1],_)));for(var S=1,l=!0;S<a.length;S+=1){var I=a[S],A=w(I,0,1),u=w(I,-1);if(('"'===A||"'"===A||"`"===A||'"'===u||"'"===u||"`"===u)&&A!==u)throw new T("property names with quotes must have matching quotes");if("constructor"!==I&&l||(E=!0),k(W,n="%"+(i+="."+I)+"%"))r=W[n];else if(null!=r){if(!(I in r)){if(!t)throw new s("base intrinsic for "+e+" exists, but the property is not available.");return}if(m&&S+1>=a.length){var d=m(r,I);r=(l=!!d)&&"get"in d&&!("originalValue"in d.get)?d.get:r[I]}else l=k(r,I),r=r[I];l&&!E&&(W[n]=r)}}return r}},48819:(e,t,a)=>{"use strict";var i=a(32410);e.exports=i.getPrototypeOf||null},22517:e=>{"use strict";e.exports="undefined"!=typeof Reflect&&Reflect.getPrototypeOf||null},31611:(e,t,a)=>{"use strict";var i=a(22517),o=a(48819),n=a(61449);e.exports=i?function(e){return i(e)}:o?function(e){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new TypeError("getProto: not an object");return o(e)}:n?function(e){return n(e)}:null},64656:e=>{"use strict";e.exports=Object.getOwnPropertyDescriptor},3492:(e,t,a)=>{"use strict";var i=a(64656);if(i)try{i([],"length")}catch(e){i=null}e.exports=i},87657:(e,t,a)=>{"use strict";var i="undefined"!=typeof Symbol&&Symbol,o=a(38123);e.exports=function(){return"function"==typeof i&&("function"==typeof Symbol&&("symbol"==typeof i("foo")&&("symbol"==typeof Symbol("bar")&&o())))}},38123:e=>{"use strict";e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),a=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(a))return!1;for(var i in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var o=Object.getOwnPropertySymbols(e);if(1!==o.length||o[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var n=Object.getOwnPropertyDescriptor(e,t);if(42!==n.value||!0!==n.enumerable)return!1}return!0}},37533:(e,t,a)=>{"use strict";var i=Function.prototype.call,o=Object.prototype.hasOwnProperty,n=a(13583);e.exports=n.call(i,o)},77444:e=>{var t=e.exports=function(e,a){if(a||(a=16),void 0===e&&(e=128),e<=0)return"0";for(var i=Math.log(Math.pow(2,e))/Math.log(a),o=2;i===1/0;o*=2)i=Math.log(Math.pow(2,e/o))/Math.log(a)*o;var n=i-Math.floor(i),r="";for(o=0;o<Math.floor(i);o++){r=Math.floor(Math.random()*a).toString(a)+r}if(n){var E=Math.pow(a,n);r=Math.floor(Math.random()*E).toString(a)+r}var _=parseInt(r,a);return _!==1/0&&_>=Math.pow(2,e)?t(e,a):r};t.rack=function(e,a,i){var o=function(o){var r=0;do{if(r++>10){if(!i)throw new Error("too many ID collisions, use more bits");e+=i}var E=t(e,a)}while(Object.hasOwnProperty.call(n,E));return n[E]=o,E},n=o.hats={};return o.get=function(e){return o.hats[e]},o.set=function(e,t){return o.hats[e]=t,o},o.bits=e||128,o.base=a||16,o}},53683:e=>{!(function t(a){e.exports=(function(){"use strict";function e(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function i(t){for(var a=1;a<arguments.length;a++){var i=null!=arguments[a]?arguments[a]:{};a%2?e(Object(i),!0).forEach(function(e){_(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):e(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}function o(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var i=a.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function n(e){var t=o(e,"string");return"symbol"==typeof t?t:String(t)}function r(e,t){for(var a=0;a<t.length;a++){var i=t[a];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,n(i.key),i)}}function E(e,t,a){return t&&r(e.prototype,t),a&&r(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function _(e,t,a){return(t=n(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function T(){return T=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},T.apply(this,arguments)}function s(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,l(e,t)}function S(e){return S=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},S(e)}function l(e,t){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},l(e,t)}function I(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function A(e,t,a){return A=I()?Reflect.construct.bind():function(e,t,a){var i=[null];i.push.apply(i,t);var o=new(Function.bind.apply(e,i));return a&&l(o,a.prototype),o},A.apply(null,arguments)}function u(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}function d(e){var t="function"==typeof Map?new Map:void 0;return d=function(e){if(null===e||!u(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,a)}function a(){return A(e,arguments,S(this).constructor)}return a.prototype=Object.create(e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),l(a,e)},d(e)}function O(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function c(e,t){if(e){if("string"==typeof e)return N(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?N(e,t):void 0}}function N(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=new Array(t);a<t;a++)i[a]=e[a];return i}function R(e,t){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(a)return(a=a.call(e)).next.bind(a);if(Array.isArray(e)||(a=c(e))||t&&e&&"number"==typeof e.length){a&&(e=a);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function m(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var L={exports:{}};!(function(e){var t,a,i,o,n;t=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,a=/^(?=([^\/?#]*))\1([^]*)$/,i=/(?:\/|^)\.(?=\/)/g,o=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,n={buildAbsoluteURL:function(e,t,i){if(i=i||{},e=e.trim(),!(t=t.trim())){if(!i.alwaysNormalize)return e;var o=n.parseURL(e);if(!o)throw new Error("Error trying to parse base URL.");return o.path=n.normalizePath(o.path),n.buildURLFromParts(o)}var r=n.parseURL(t);if(!r)throw new Error("Error trying to parse relative URL.");if(r.scheme)return i.alwaysNormalize?(r.path=n.normalizePath(r.path),n.buildURLFromParts(r)):t;var E=n.parseURL(e);if(!E)throw new Error("Error trying to parse base URL.");if(!E.netLoc&&E.path&&"/"!==E.path[0]){var _=a.exec(E.path);E.netLoc=_[1],E.path=_[2]}E.netLoc&&!E.path&&(E.path="/");var T={scheme:E.scheme,netLoc:r.netLoc,path:null,params:r.params,query:r.query,fragment:r.fragment};if(!r.netLoc&&(T.netLoc=E.netLoc,"/"!==r.path[0]))if(r.path){var s=E.path,S=s.substring(0,s.lastIndexOf("/")+1)+r.path;T.path=n.normalizePath(S)}else T.path=E.path,r.params||(T.params=E.params,r.query||(T.query=E.query));return null===T.path&&(T.path=i.alwaysNormalize?n.normalizePath(r.path):r.path),n.buildURLFromParts(T)},parseURL:function(e){var a=t.exec(e);return a?{scheme:a[1]||"",netLoc:a[2]||"",path:a[3]||"",params:a[4]||"",query:a[5]||"",fragment:a[6]||""}:null},normalizePath:function(e){for(e=e.split("").reverse().join("").replace(i,"");e.length!==(e=e.replace(o,"")).length;);return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}},e.exports=n})(L);var D=L.exports,p=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},C=Number.isSafeInteger||function(e){return"number"==typeof e&&Math.abs(e)<=h},h=Number.MAX_SAFE_INTEGER||9007199254740991,f=(function(e){return e.MEDIA_ATTACHING="hlsMediaAttaching",e.MEDIA_ATTACHED="hlsMediaAttached",e.MEDIA_DETACHING="hlsMediaDetaching",e.MEDIA_DETACHED="hlsMediaDetached",e.BUFFER_RESET="hlsBufferReset",e.BUFFER_CODECS="hlsBufferCodecs",e.BUFFER_CREATED="hlsBufferCreated",e.BUFFER_APPENDING="hlsBufferAppending",e.BUFFER_APPENDED="hlsBufferAppended",e.BUFFER_EOS="hlsBufferEos",e.BUFFER_FLUSHING="hlsBufferFlushing",e.BUFFER_FLUSHED="hlsBufferFlushed",e.MANIFEST_LOADING="hlsManifestLoading",e.MANIFEST_LOADED="hlsManifestLoaded",e.MANIFEST_PARSED="hlsManifestParsed",e.LEVEL_SWITCHING="hlsLevelSwitching",e.LEVEL_SWITCHED="hlsLevelSwitched",e.LEVEL_LOADING="hlsLevelLoading",e.LEVEL_LOADED="hlsLevelLoaded",e.LEVEL_UPDATED="hlsLevelUpdated",e.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",e.LEVELS_UPDATED="hlsLevelsUpdated",e.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",e.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",e.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",e.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",e.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",e.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",e.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",e.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",e.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",e.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",e.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",e.CUES_PARSED="hlsCuesParsed",e.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",e.INIT_PTS_FOUND="hlsInitPtsFound",e.FRAG_LOADING="hlsFragLoading",e.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",e.FRAG_LOADED="hlsFragLoaded",e.FRAG_DECRYPTED="hlsFragDecrypted",e.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",e.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",e.FRAG_PARSING_METADATA="hlsFragParsingMetadata",e.FRAG_PARSED="hlsFragParsed",e.FRAG_BUFFERED="hlsFragBuffered",e.FRAG_CHANGED="hlsFragChanged",e.FPS_DROP="hlsFpsDrop",e.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",e.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",e.ERROR="hlsError",e.DESTROYING="hlsDestroying",e.KEY_LOADING="hlsKeyLoading",e.KEY_LOADED="hlsKeyLoaded",e.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",e.BACK_BUFFER_REACHED="hlsBackBufferReached",e.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",e})({}),P=(function(e){return e.NETWORK_ERROR="networkError",e.MEDIA_ERROR="mediaError",e.KEY_SYSTEM_ERROR="keySystemError",e.MUX_ERROR="muxError",e.OTHER_ERROR="otherError",e})({}),B=(function(e){return e.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",e.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",e.KEY_SYSTEM_NO_SESSION="keySystemNoSession",e.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",e.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",e.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",e.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",e.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",e.MANIFEST_LOAD_ERROR="manifestLoadError",e.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",e.MANIFEST_PARSING_ERROR="manifestParsingError",e.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",e.LEVEL_EMPTY_ERROR="levelEmptyError",e.LEVEL_LOAD_ERROR="levelLoadError",e.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",e.LEVEL_PARSING_ERROR="levelParsingError",e.LEVEL_SWITCH_ERROR="levelSwitchError",e.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",e.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",e.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",e.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",e.FRAG_LOAD_ERROR="fragLoadError",e.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",e.FRAG_DECRYPT_ERROR="fragDecryptError",e.FRAG_PARSING_ERROR="fragParsingError",e.FRAG_GAP="fragGap",e.REMUX_ALLOC_ERROR="remuxAllocError",e.KEY_LOAD_ERROR="keyLoadError",e.KEY_LOAD_TIMEOUT="keyLoadTimeOut",e.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",e.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",e.BUFFER_APPEND_ERROR="bufferAppendError",e.BUFFER_APPENDING_ERROR="bufferAppendingError",e.BUFFER_STALLED_ERROR="bufferStalledError",e.BUFFER_FULL_ERROR="bufferFullError",e.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",e.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",e.INTERNAL_EXCEPTION="internalException",e.INTERNAL_ABORTED="aborted",e.UNKNOWN="unknown",e})({}),g=function(){},v={trace:g,debug:g,log:g,warn:g,info:g,error:g},M=v;function W(e){var t=self.console[e];return t?t.bind(self.console,"["+e+"] >"):g}function y(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),i=1;i<t;i++)a[i-1]=arguments[i];a.forEach(function(t){M[t]=e[t]?e[t].bind(e):W(t)})}function U(e,t){if("object"==typeof console&&!0===e||"object"==typeof e){y(e,"debug","log","info","warn","error");try{M.log('Debug logs enabled for "'+t+'" in hls.js version 1.5.5-0.canary.9893')}catch(e){M=v}}else M=v}var b=M,G=/^(\d+)x(\d+)$/,k=/(.+?)=(".*?"|.*?)(?:,|$)/g,F=(function(){function e(t){"string"==typeof t&&(t=e.parseAttrList(t)),T(this,t)}var t=e.prototype;return t.decimalInteger=function(e){var t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t},t.hexadecimalInteger=function(e){if(this[e]){var t=(this[e]||"0x").slice(2);t=(1&t.length?"0":"")+t;for(var a=new Uint8Array(t.length/2),i=0;i<t.length/2;i++)a[i]=parseInt(t.slice(2*i,2*i+2),16);return a}return null},t.hexadecimalIntegerAsNumber=function(e){var t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t},t.decimalFloatingPoint=function(e){return parseFloat(this[e])},t.optionalFloat=function(e,t){var a=this[e];return a?parseFloat(a):t},t.enumeratedString=function(e){return this[e]},t.bool=function(e){return"YES"===this[e]},t.decimalResolution=function(e){var t=G.exec(this[e]);if(null!==t)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}},e.parseAttrList=function(e){var t,a={},i='"';for(k.lastIndex=0;null!==(t=k.exec(e));){var o=t[2];0===o.indexOf(i)&&o.lastIndexOf(i)===o.length-1&&(o=o.slice(1,-1)),a[t[1].trim()]=o}return a},E(e,[{key:"clientAttrs",get:function(){return Object.keys(this).filter(function(e){return"X-"===e.substring(0,2)})}}]),e})();function V(e){return"ID"!==e&&"CLASS"!==e&&"START-DATE"!==e&&"DURATION"!==e&&"END-DATE"!==e&&"END-ON-NEXT"!==e}function H(e){return"SCTE35-OUT"===e||"SCTE35-IN"===e}var w=(function(){function e(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){var a=t.attr;for(var i in a)if(Object.prototype.hasOwnProperty.call(e,i)&&e[i]!==a[i]){b.warn('DATERANGE tag attribute: "'+i+'" does not match for tags with ID: "'+e.ID+'"'),this._badValueForSameId=i;break}e=T(new F({}),a,e)}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){var o=new Date(this.attr["END-DATE"]);p(o.getTime())&&(this._endDate=o)}}return E(e,[{key:"id",get:function(){return this.attr.ID}},{key:"class",get:function(){return this.attr.CLASS}},{key:"startDate",get:function(){return this._startDate}},{key:"endDate",get:function(){if(this._endDate)return this._endDate;var e=this.duration;return null!==e?new Date(this._startDate.getTime()+1e3*e):null}},{key:"duration",get:function(){if("DURATION"in this.attr){var e=this.attr.decimalFloatingPoint("DURATION");if(p(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}},{key:"plannedDuration",get:function(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}},{key:"endOnNext",get:function(){return this.attr.bool("END-ON-NEXT")}},{key:"isValid",get:function(){return!!this.id&&!this._badValueForSameId&&p(this.startDate.getTime())&&(null===this.duration||this.duration>=0)&&(!this.endOnNext||!!this.class)}}]),e})(),Y=function(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}},z={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},K=(function(){function e(e){var t;this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams=((t={})[z.AUDIO]=null,t[z.VIDEO]=null,t[z.AUDIOVIDEO]=null,t),this.baseurl=e}return e.prototype.setByteRange=function(e,t){var a,i=e.split("@",2);a=1===i.length?(null==t?void 0:t.byteRangeEndOffset)||0:parseInt(i[1]),this._byteRange=[a,parseInt(i[0])+a]},E(e,[{key:"byteRange",get:function(){return this._byteRange?this._byteRange:[]}},{key:"byteRangeStartOffset",get:function(){return this.byteRange[0]}},{key:"byteRangeEndOffset",get:function(){return this.byteRange[1]}},{key:"url",get:function(){return!this._url&&this.baseurl&&this.relurl&&(this._url=D.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""},set:function(e){this._url=e}}]),e})(),j=(function(e){function t(t,a){var i;return(i=e.call(this,a)||this)._decryptdata=null,i.rawProgramDateTime=null,i.programDateTime=null,i.tagList=[],i.duration=0,i.sn=0,i.levelkeys=void 0,i.type=void 0,i.loader=null,i.keyLoader=null,i.level=-1,i.cc=0,i.startPTS=void 0,i.endPTS=void 0,i.startDTS=void 0,i.endDTS=void 0,i.start=0,i.deltaPTS=void 0,i.maxStartPTS=void 0,i.minEndPTS=void 0,i.stats=new Y,i.data=void 0,i.bitrateTest=!1,i.title=null,i.initSegment=null,i.endList=void 0,i.gap=void 0,i.urlId=0,i.type=t,i}s(t,e);var a=t.prototype;return a.setKeyFormat=function(e){if(this.levelkeys){var t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}},a.abortRequests=function(){var e,t;null==(e=this.loader)||e.abort(),null==(t=this.keyLoader)||t.abort()},a.setElementaryStreamInfo=function(e,t,a,i,o,n){void 0===n&&(n=!1);var r=this.elementaryStreams,E=r[e];E?(E.startPTS=Math.min(E.startPTS,t),E.endPTS=Math.max(E.endPTS,a),E.startDTS=Math.min(E.startDTS,i),E.endDTS=Math.max(E.endDTS,o)):r[e]={startPTS:t,endPTS:a,startDTS:i,endDTS:o,partial:n}},a.clearElementaryStreamInfo=function(){var e=this.elementaryStreams;e[z.AUDIO]=null,e[z.VIDEO]=null,e[z.AUDIOVIDEO]=null},E(t,[{key:"decryptdata",get:function(){if(!this.levelkeys&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){var e=this.levelkeys.identity;if(e)this._decryptdata=e.getDecryptData(this.sn);else{var t=Object.keys(this.levelkeys);if(1===t.length)return this._decryptdata=this.levelkeys[t[0]].getDecryptData(this.sn)}}return this._decryptdata}},{key:"end",get:function(){return this.start+this.duration}},{key:"endProgramDateTime",get:function(){if(null===this.programDateTime)return null;if(!p(this.programDateTime))return null;var e=p(this.duration)?this.duration:0;return this.programDateTime+1e3*e}},{key:"encrypted",get:function(){var e;if(null!=(e=this._decryptdata)&&e.encrypted)return!0;if(this.levelkeys){var t=Object.keys(this.levelkeys),a=t.length;if(a>1||1===a&&this.levelkeys[t[0]].encrypted)return!0}return!1}}]),t})(K),x=(function(e){function t(t,a,i,o,n){var r;(r=e.call(this,i)||this).fragOffset=0,r.duration=0,r.gap=!1,r.independent=!1,r.relurl=void 0,r.fragment=void 0,r.index=void 0,r.stats=new Y,r.duration=t.decimalFloatingPoint("DURATION"),r.gap=t.bool("GAP"),r.independent=t.bool("INDEPENDENT"),r.relurl=t.enumeratedString("URI"),r.fragment=a,r.index=o;var E=t.enumeratedString("BYTERANGE");return E&&r.setByteRange(E,n),n&&(r.fragOffset=n.fragOffset+n.duration),r}return s(t,e),E(t,[{key:"start",get:function(){return this.fragment.start+this.fragOffset}},{key:"end",get:function(){return this.start+this.duration}},{key:"loaded",get:function(){var e=this.elementaryStreams;return!!(e.audio||e.video||e.audiovideo)}}]),t})(K),Q=10,X=(function(){function e(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}return e.prototype.reloaded=function(e){if(!e)return this.advanced=!0,void(this.updated=!0);var t=this.lastPartSn-e.lastPartSn,a=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!a||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||0===t&&a>0,this.updated||this.advanced?this.misses=Math.floor(.6*e.misses):this.misses=e.misses+1,this.availabilityDelay=e.availabilityDelay},E(e,[{key:"hasProgramDateTime",get:function(){return!!this.fragments.length&&p(this.fragments[this.fragments.length-1].programDateTime)}},{key:"levelTargetDuration",get:function(){return this.averagetargetduration||this.targetduration||Q}},{key:"drift",get:function(){var e=this.driftEndTime-this.driftStartTime;return e>0?1e3*(this.driftEnd-this.driftStart)/e:1}},{key:"edge",get:function(){return this.partEnd||this.fragmentEnd}},{key:"partEnd",get:function(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}},{key:"fragmentEnd",get:function(){var e;return null!=(e=this.fragments)&&e.length?this.fragments[this.fragments.length-1].end:0}},{key:"age",get:function(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}},{key:"lastPartIndex",get:function(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].index:-1}},{key:"lastPartSn",get:function(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}}]),e})();function $(e){return Uint8Array.from(atob(e),function(e){return e.charCodeAt(0)})}function q(e){var t=ee(e).subarray(0,16),a=new Uint8Array(16);return a.set(t,16-t.length),a}function J(e){var t=function(e,t,a){var i=e[t];e[t]=e[a],e[a]=i};t(e,0,3),t(e,1,2),t(e,4,5),t(e,6,7)}function Z(e){var t=e.split(":"),a=null;if("data"===t[0]&&2===t.length){var i=t[1].split(";"),o=i[i.length-1].split(",");if(2===o.length){var n="base64"===o[0],r=o[1];n?(i.splice(-1,1),a=$(r)):a=q(r)}}return a}function ee(e){return Uint8Array.from(unescape(encodeURIComponent(e)),function(e){return e.charCodeAt(0)})}var te="undefined"!=typeof self?self:void 0,ae={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},ie={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function oe(e){switch(e){case ie.FAIRPLAY:return ae.FAIRPLAY;case ie.PLAYREADY:return ae.PLAYREADY;case ie.WIDEVINE:return ae.WIDEVINE;case ie.CLEARKEY:return ae.CLEARKEY}}var ne={WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function re(e){if(e===ne.WIDEVINE)return ae.WIDEVINE}function Ee(e){switch(e){case ae.FAIRPLAY:return ie.FAIRPLAY;case ae.PLAYREADY:return ie.PLAYREADY;case ae.WIDEVINE:return ie.WIDEVINE;case ae.CLEARKEY:return ie.CLEARKEY}}function _e(e){var t=e.drmSystems,a=e.widevineLicenseUrl,i=t?[ae.FAIRPLAY,ae.WIDEVINE,ae.PLAYREADY,ae.CLEARKEY].filter(function(e){return!!t[e]}):[];return!i[ae.WIDEVINE]&&a&&i.push(ae.WIDEVINE),i}var Te,se=null!=te&&null!=(Te=te.navigator)&&Te.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;function Se(e,t,a,i){var o;switch(e){case ae.FAIRPLAY:o=["cenc","sinf"];break;case ae.WIDEVINE:case ae.PLAYREADY:o=["cenc"];break;case ae.CLEARKEY:o=["cenc","keyids"];break;default:throw new Error("Unknown key-system: "+e)}return le(o,t,a,i)}function le(e,t,a,i){return[{initDataTypes:e,persistentState:i.persistentState||"optional",distinctiveIdentifier:i.distinctiveIdentifier||"optional",sessionTypes:i.sessionTypes||[i.sessionType||"temporary"],audioCapabilities:t.map(function(e){return{contentType:'audio/mp4; codecs="'+e+'"',robustness:i.audioRobustness||"",encryptionScheme:i.audioEncryptionScheme||null}}),videoCapabilities:a.map(function(e){return{contentType:'video/mp4; codecs="'+e+'"',robustness:i.videoRobustness||"",encryptionScheme:i.videoEncryptionScheme||null}})}]}function Ie(e,t,a){return Uint8Array.prototype.slice?e.slice(t,a):new Uint8Array(Array.prototype.slice.call(e,t,a))}var Ae,ue=function(e,t){return t+10<=e.length&&73===e[t]&&68===e[t+1]&&51===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128},de=function(e,t){return t+10<=e.length&&51===e[t]&&68===e[t+1]&&73===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128},Oe=function(e,t){for(var a=t,i=0;ue(e,t);)i+=10,i+=ce(e,t+6),de(e,t+10)&&(i+=10),t+=i;if(i>0)return e.subarray(a,a+i)},ce=function(e,t){var a=0;return a=(127&e[t])<<21,a|=(127&e[t+1])<<14,a|=(127&e[t+2])<<7,a|=127&e[t+3]},Ne=function(e,t){return ue(e,t)&&ce(e,t+6)+10<=e.length-t},Re=function(e){for(var t=De(e),a=0;a<t.length;a++){var i=t[a];if(me(i))return Pe(i)}},me=function(e){return e&&"PRIV"===e.key&&"com.apple.streaming.transportStreamTimestamp"===e.info},Le=function(e){var t=String.fromCharCode(e[0],e[1],e[2],e[3]),a=ce(e,4),i=10;return{type:t,size:a,data:e.subarray(i,i+a)}},De=function(e){for(var t=0,a=[];ue(e,t);){for(var i=ce(e,t+6),o=(t+=10)+i;t+8<o;){var n=Le(e.subarray(t)),r=pe(n);r&&a.push(r),t+=n.size+10}de(e,t)&&(t+=10)}return a},pe=function(e){return"PRIV"===e.type?Ce(e):"W"===e.type[0]?fe(e):he(e)},Ce=function(e){if(!(e.size<2)){var t=Be(e.data,!0),a=new Uint8Array(e.data.subarray(t.length+1));return{key:e.type,info:t,data:a.buffer}}},he=function(e){if(!(e.size<2)){if("TXXX"===e.type){var t=1,a=Be(e.data.subarray(t),!0);t+=a.length+1;var i=Be(e.data.subarray(t));return{key:e.type,info:a,data:i}}var o=Be(e.data.subarray(1));return{key:e.type,data:o}}},fe=function(e){if("WXXX"===e.type){if(e.size<2)return;var t=1,a=Be(e.data.subarray(t),!0);t+=a.length+1;var i=Be(e.data.subarray(t));return{key:e.type,info:a,data:i}}var o=Be(e.data);return{key:e.type,data:o}},Pe=function(e){if(8===e.data.byteLength){var t=new Uint8Array(e.data),a=1&t[3],i=(t[4]<<23)+(t[5]<<15)+(t[6]<<7)+t[7];return i/=45,a&&(i+=47721858.84),Math.round(i)}},Be=function(e,t){void 0===t&&(t=!1);var a=ge();if(a){var i=a.decode(e);if(t){var o=i.indexOf("\0");return-1!==o?i.substring(0,o):i}return i.replace(/\0/g,"")}for(var n,r,E,_=e.length,T="",s=0;s<_;){if(0===(n=e[s++])&&t)return T;if(0!==n&&3!==n)switch(n>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:T+=String.fromCharCode(n);break;case 12:case 13:r=e[s++],T+=String.fromCharCode((31&n)<<6|63&r);break;case 14:r=e[s++],E=e[s++],T+=String.fromCharCode((15&n)<<12|(63&r)<<6|63&E)}}return T};function ge(){if(!navigator.userAgent.includes("PlayStation 4"))return Ae||void 0===self.TextDecoder||(Ae=new self.TextDecoder("utf-8")),Ae}var ve={hexDump:function(e){for(var t="",a=0;a<e.length;a++){var i=e[a].toString(16);i.length<2&&(i="0"+i),t+=i}return t}},Me=Math.pow(2,32)-1,We=[].push,ye={video:1,audio:2,id3:3,text:4};function Ue(e){return String.fromCharCode.apply(null,e)}function be(e,t){var a=e[t]<<8|e[t+1];return a<0?65536+a:a}function Ge(e,t){var a=Fe(e,t);return a<0?4294967296+a:a}function ke(e,t){var a=Ge(e,t);return a*=Math.pow(2,32),a+=Ge(e,t+4)}function Fe(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function Ve(e,t,a){e[t]=a>>24,e[t+1]=a>>16&255,e[t+2]=a>>8&255,e[t+3]=255&a}function He(e){for(var t=e.byteLength,a=0;a<t;){var i=Ge(e,a);if(i>8&&109===e[a+4]&&111===e[a+5]&&111===e[a+6]&&102===e[a+7])return!0;a=i>1?a+i:t}return!1}function we(e,t){var a=[];if(!t.length)return a;for(var i=e.byteLength,o=0;o<i;){var n=Ge(e,o),r=n>1?o+n:i;if(Ue(e.subarray(o+4,o+8))===t[0])if(1===t.length)a.push(e.subarray(o+8,r));else{var E=we(e.subarray(o+8,r),t.slice(1));E.length&&We.apply(a,E)}o=r}return a}function Ye(e){var t=[],a=e[0],i=8,o=Ge(e,i);i+=4;var n=0,r=0;0===a?(n=Ge(e,i),r=Ge(e,i+4),i+=8):(n=ke(e,i),r=ke(e,i+8),i+=16),i+=2;var E=e.length+r,_=be(e,i);i+=2;for(var T=0;T<_;T++){var s=i,S=Ge(e,s);s+=4;var l=2147483647&S;if(1==(2147483648&S)>>>31)return b.warn("SIDX has hierarchical references (not supported)"),null;var I=Ge(e,s);s+=4,t.push({referenceSize:l,subsegmentDuration:I,info:{duration:I/o,start:E,end:E+l-1}}),E+=l,i=s+=4}return{earliestPresentationTime:n,timescale:o,version:a,referencesCount:_,references:t}}function ze(e){for(var t=[],a=we(e,["moov","trak"]),o=0;o<a.length;o++){var n=a[o],r=we(n,["tkhd"])[0];if(r){var E=r[0],_=Ge(r,0===E?12:20),T=we(n,["mdia","mdhd"])[0];if(T){var s=Ge(T,0===(E=T[0])?12:20),S=we(n,["mdia","hdlr"])[0];if(S){var l=Ue(S.subarray(8,12)),I={soun:z.AUDIO,vide:z.VIDEO}[l];if(I){var A=Ke(we(n,["mdia","minf","stbl","stsd"])[0]);t[_]={timescale:s,type:I},t[I]=i({timescale:s,id:_},A)}}}}}return we(e,["moov","mvex","trex"]).forEach(function(e){var a=Ge(e,4),i=t[a];i&&(i.default={duration:Ge(e,12),flags:Ge(e,20)})}),t}function Ke(e){var t=e.subarray(8),a=t.subarray(86),i=Ue(t.subarray(4,8)),o=i,n="enca"===i||"encv"===i;if(n){var r=we(t,[i])[0];we(r.subarray("enca"===i?28:78),["sinf"]).forEach(function(e){var t=we(e,["schm"])[0];if(t){var a=Ue(t.subarray(4,8));if("cbcs"===a||"cenc"===a){var i=we(e,["frma"])[0];i&&(o=Ue(i))}}})}switch(o){case"avc1":case"avc2":case"avc3":case"avc4":var E=we(a,["avcC"])[0];o+="."+xe(E[1])+xe(E[2])+xe(E[3]);break;case"mp4a":var _=we(t,[i])[0],T=we(_.subarray(28),["esds"])[0];if(T&&T.length>12){var s=4;if(3!==T[s++])break;s=je(T,s),s+=2;var S=T[s++];if(128&S&&(s+=2),64&S&&(s+=T[s++]),4!==T[s++])break;s=je(T,s);var l=T[s++];if(64!==l)break;if(o+="."+xe(l),s+=12,5!==T[s++])break;s=je(T,s);var I=T[s++],A=(248&I)>>3;31===A&&(A+=1+((7&I)<<3)+((224&T[s])>>5)),o+="."+A}break;case"hvc1":case"hev1":var u=we(a,["hvcC"])[0],d=u[1],O=["","A","B","C"][d>>6],c=31&d,N=Ge(u,2),R=(32&d)>>5?"H":"L",m=u[12],L=u.subarray(6,12);o+="."+O+c,o+="."+N.toString(16).toUpperCase(),o+="."+R+m;for(var D="",p=L.length;p--;){var C=L[p];(C||D)&&(D="."+C.toString(16).toUpperCase()+D)}o+=D;break;case"dvh1":case"dvhe":var h=we(a,["dvcC"])[0],f=h[2]>>1&127,P=h[2]<<5&32|h[3]>>3&31;o+="."+Qe(f)+"."+Qe(P);break;case"vp09":var B=we(a,["vpcC"])[0],g=B[4],v=B[5],M=B[6]>>4&15;o+="."+Qe(g)+"."+Qe(v)+"."+Qe(M);break;case"av01":var W=we(a,["av1C"])[0],y=W[1]>>>5,U=31&W[1],b=W[2]>>>7?"H":"M",G=(64&W[2])>>6,k=(32&W[2])>>5,F=2===y&&G?k?12:10:G?10:8,V=(16&W[2])>>4,H=(8&W[2])>>3,w=(4&W[2])>>2,Y=3&W[2],z=1,K=1,j=1,x=0;o+="."+y+"."+Qe(U)+b+"."+Qe(F)+"."+V+"."+H+w+Y+"."+Qe(z)+"."+Qe(K)+"."+Qe(j)+"."+x}return{codec:o,encrypted:n}}function je(e,t){for(var a=t+5;128&e[t++]&&t<a;);return t}function xe(e){return("0"+e.toString(16).toUpperCase()).slice(-2)}function Qe(e){return(e<10?"0":"")+e}function Xe(e,t){if(!e||!t)return e;var a=t.keyId;return a&&t.isCommonEncryption&&we(e,["moov","trak"]).forEach(function(e){var t=we(e,["mdia","minf","stbl","stsd"])[0].subarray(8),i=we(t,["enca"]),o=i.length>0;o||(i=we(t,["encv"])),i.forEach(function(e){we(o?e.subarray(28):e.subarray(78),["sinf"]).forEach(function(e){var t=$e(e);if(t){var i=t.subarray(8,24);i.some(function(e){return 0!==e})||(b.log("[eme] Patching keyId in 'enc"+(o?"a":"v")+">sinf>>tenc' box: "+ve.hexDump(i)+" -> "+ve.hexDump(a)),t.set(a,8))}})})}),e}function $e(e){var t=we(e,["schm"])[0];if(t){var a=Ue(t.subarray(4,8));if("cbcs"===a||"cenc"===a)return we(e,["schi","tenc"])[0]}return b.error("[eme] missing 'schm' box"),null}function qe(e,t){return we(t,["moof","traf"]).reduce(function(t,a){var i=we(a,["tfdt"])[0],o=i[0],n=we(a,["tfhd"]).reduce(function(t,a){var n=Ge(a,4),r=e[n];if(r){var E=Ge(i,4);if(1===o){if(E===Me)return b.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),t;E*=Me+1,E+=Ge(i,8)}var _=E/(r.timescale||9e4);if(p(_)&&(null===t||_<t))return _}return t},null);return null!==n&&p(n)&&(null===t||n<t)?n:t},null)}function Je(e,t){for(var a=1/0,i=0,o=0,n=we(e,["sidx"]),r=0;r<n.length;r++){var E=Ye(n[r]);if(null!=E&&E.references){a=Math.min(a,E.earliestPresentationTime/E.timescale);var _=E.references.reduce(function(e,t){return e+t.info.duration||0},0);o=(i=Math.max(i,_+E.earliestPresentationTime/E.timescale))-a}}if(o&&p(o))return o;for(var T=0,s=0,S=0,l=we(e,["moof","traf"]),I=0;I<l.length;I++){var A=l[I],u=we(A,["tfhd"])[0],d=t[Ge(u,4)];if(d){var O=d.default,c=Ge(u,0)|(null==O?void 0:O.flags),N=null==O?void 0:O.duration;8&c&&(N=Ge(u,2&c?12:8));for(var R=d.timescale||9e4,m=we(A,["trun"]),L=0;L<m.length;L++)!(T=Ze(m[L]))&&N&&(T=N*Ge(m[L],4)),d.type===z.VIDEO?s+=T/R:d.type===z.AUDIO&&(S+=T/R)}}return s||S}function Ze(e){var t=Ge(e,0),a=8;1&t&&(a+=4),4&t&&(a+=4);for(var i=0,o=Ge(e,4),n=0;n<o;n++)256&t&&(i+=Ge(e,a),a+=4),512&t&&(a+=4),1024&t&&(a+=4),2048&t&&(a+=4);return i}function et(e,t,a){we(t,["moof","traf"]).forEach(function(t){we(t,["tfhd"]).forEach(function(i){var o=Ge(i,4),n=e[o];if(n){var r=n.timescale||9e4;we(t,["tfdt"]).forEach(function(e){var t=e[0],i=a*r;if(i){var o=Ge(e,4);if(0===t)o-=i,Ve(e,4,o=Math.max(o,0));else{o*=Math.pow(2,32),o+=Ge(e,8),o-=i,o=Math.max(o,0);var n=Math.floor(o/(Me+1)),E=Math.floor(o%(Me+1));Ve(e,4,n),Ve(e,8,E)}}})}})})}function tt(e){var t={valid:null,remainder:null},a=we(e,["moof"]);if(a.length<2)return t.remainder=e,t;var i=a[a.length-1];return t.valid=Ie(e,0,i.byteOffset-8),t.remainder=Ie(e,i.byteOffset-8),t}function at(e,t){var a=new Uint8Array(e.length+t.length);return a.set(e),a.set(t,e.length),a}function it(e,t){var a=[],i=t.samples,o=t.timescale,n=t.id,r=!1;return we(i,["moof"]).map(function(E){var _=E.byteOffset-8;we(E,["traf"]).map(function(E){var T=we(E,["tfdt"]).map(function(e){var t=e[0],a=Ge(e,4);return 1===t&&(a*=Math.pow(2,32),a+=Ge(e,8)),a/o})[0];return void 0!==T&&(e=T),we(E,["tfhd"]).map(function(T){var s=Ge(T,4),S=16777215&Ge(T,0),l=0,I=!!(16&S),A=0,u=!!(32&S),d=8;s===n&&(!!(1&S)&&(d+=8),!!(2&S)&&(d+=4),!!(8&S)&&(l=Ge(T,d),d+=4),I&&(A=Ge(T,d),d+=4),u&&(d+=4),"video"===t.type&&(r=ot(t.codec)),we(E,["trun"]).map(function(n){var E=n[0],T=16777215&Ge(n,0),s=!!(1&T),S=0,I=!!(4&T),u=!!(256&T),d=0,O=!!(512&T),c=0,N=!!(1024&T),R=!!(2048&T),m=0,L=Ge(n,4),D=8;s&&(S=Ge(n,D),D+=4),I&&(D+=4);for(var p=S+_,C=0;C<L;C++){if(u?(d=Ge(n,D),D+=4):d=l,O?(c=Ge(n,D),D+=4):c=A,N&&(D+=4),R&&(m=0===E?Ge(n,D):Fe(n,D),D+=4),t.type===z.VIDEO)for(var h=0;h<c;){var f=Ge(i,p);nt(r,i[p+=4])&&rt(i.subarray(p,p+f),r?2:1,e+m/o,a),p+=f,h+=f+4}e+=d/o}}))})})}),a}function ot(e){if(!e)return!1;var t=e.indexOf("."),a=t<0?e:e.substring(0,t);return"hvc1"===a||"hev1"===a||"dvh1"===a||"dvhe"===a}function nt(e,t){if(e){var a=t>>1&63;return 39===a||40===a}return 6==(31&t)}function rt(e,t,a,i){var o=Et(e),n=0;n+=t;for(var r=0,E=0,_=0;n<o.length;){r=0;do{if(n>=o.length)break;r+=_=o[n++]}while(255===_);E=0;do{if(n>=o.length)break;E+=_=o[n++]}while(255===_);var T=o.length-n,s=n;if(E<T)n+=E;else if(E>T){b.error("Malformed SEI payload. "+E+" is too small, only "+T+" bytes left to parse.");break}if(4===r){if(181===o[s++]){var S=be(o,s);if(s+=2,49===S){var l=Ge(o,s);if(s+=4,1195456820===l){var I=o[s++];if(3===I){var A=o[s++],u=64&A,d=u?2+3*(31&A):0,O=new Uint8Array(d);if(u){O[0]=A;for(var c=1;c<d;c++)O[c]=o[s++]}i.push({type:I,payloadType:r,pts:a,bytes:O})}}}}}else if(5===r&&E>16){for(var N=[],R=0;R<16;R++){var m=o[s++].toString(16);N.push(1==m.length?"0"+m:m),3!==R&&5!==R&&7!==R&&9!==R||N.push("-")}for(var L=E-16,D=new Uint8Array(L),p=0;p<L;p++)D[p]=o[s++];i.push({payloadType:r,pts:a,uuid:N.join(""),userData:Be(D),userDataBytes:D})}}}function Et(e){for(var t=e.byteLength,a=[],i=1;i<t-2;)0===e[i]&&0===e[i+1]&&3===e[i+2]?(a.push(i+2),i+=2):i++;if(0===a.length)return e;var o=t-a.length,n=new Uint8Array(o),r=0;for(i=0;i<o;r++,i++)r===a[0]&&(r++,a.shift()),n[i]=e[r];return n}function _t(e){var t=e[0],a="",i="",o=0,n=0,r=0,E=0,_=0,T=0;if(0===t){for(;"\0"!==Ue(e.subarray(T,T+1));)a+=Ue(e.subarray(T,T+1)),T+=1;for(a+=Ue(e.subarray(T,T+1)),T+=1;"\0"!==Ue(e.subarray(T,T+1));)i+=Ue(e.subarray(T,T+1)),T+=1;i+=Ue(e.subarray(T,T+1)),T+=1,o=Ge(e,12),n=Ge(e,16),E=Ge(e,20),_=Ge(e,24),T=28}else if(1===t){o=Ge(e,T+=4);var s=Ge(e,T+=4),S=Ge(e,T+=4);for(T+=4,r=Math.pow(2,32)*s+S,C(r)||(r=Number.MAX_SAFE_INTEGER,b.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),E=Ge(e,T),_=Ge(e,T+=4),T+=4;"\0"!==Ue(e.subarray(T,T+1));)a+=Ue(e.subarray(T,T+1)),T+=1;for(a+=Ue(e.subarray(T,T+1)),T+=1;"\0"!==Ue(e.subarray(T,T+1));)i+=Ue(e.subarray(T,T+1)),T+=1;i+=Ue(e.subarray(T,T+1)),T+=1}return{schemeIdUri:a,value:i,timeScale:o,presentationTime:r,presentationTimeDelta:n,eventDuration:E,id:_,payload:e.subarray(T,e.byteLength)}}function Tt(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),i=1;i<t;i++)a[i-1]=arguments[i];for(var o=a.length,n=8,r=o;r--;)n+=a[r].byteLength;var E=new Uint8Array(n);for(E[0]=n>>24&255,E[1]=n>>16&255,E[2]=n>>8&255,E[3]=255&n,E.set(e,4),r=0,n=8;r<o;r++)E.set(a[r],n),n+=a[r].byteLength;return E}function st(e,t,a){if(16!==e.byteLength)throw new RangeError("Invalid system id");var i,o,n;if(t){i=1,o=new Uint8Array(16*t.length);for(var r=0;r<t.length;r++){var E=t[r];if(16!==E.byteLength)throw new RangeError("Invalid key");o.set(E,16*r)}}else i=0,o=new Uint8Array;i>0?(n=new Uint8Array(4),t.length>0&&new DataView(n.buffer).setUint32(0,t.length,!1)):n=new Uint8Array;var _=new Uint8Array(4);return a&&a.byteLength>0&&new DataView(_.buffer).setUint32(0,a.byteLength,!1),Tt([112,115,115,104],new Uint8Array([i,0,0,0]),e,n,o,_,a||new Uint8Array)}function St(e){if(!(e instanceof ArrayBuffer)||e.byteLength<32)return null;var t={version:0,systemId:"",kids:null,data:null},a=new DataView(e),i=a.getUint32(0);if(e.byteLength!==i&&i>44)return null;if(1886614376!==a.getUint32(4))return null;if(t.version=a.getUint32(8)>>>24,t.version>1)return null;t.systemId=ve.hexDump(new Uint8Array(e,12,16));var o=a.getUint32(28);if(0===t.version){if(i-32<o)return null;t.data=new Uint8Array(e,32,o)}else if(1===t.version){t.kids=[];for(var n=0;n<o;n++)t.kids.push(new Uint8Array(e,32+16*n,16))}return t}var lt={},It=(function(){function e(e,t,a,i,o){void 0===i&&(i=[1]),void 0===o&&(o=null),this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.method=e,this.uri=t,this.keyFormat=a,this.keyFormatVersions=i,this.iv=o,this.encrypted=!!e&&"NONE"!==e,this.isCommonEncryption=this.encrypted&&"AES-128"!==e}e.clearKeyUriToKeyIdMap=function(){lt={}};var t=e.prototype;return t.isSupported=function(){if(this.method){if("AES-128"===this.method||"NONE"===this.method)return!0;if("identity"===this.keyFormat)return"SAMPLE-AES"===this.method;switch(this.keyFormat){case ie.FAIRPLAY:case ie.WIDEVINE:case ie.PLAYREADY:case ie.CLEARKEY:return-1!==["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)}}return!1},t.getDecryptData=function(t){if(!this.encrypted||!this.uri)return null;if("AES-128"===this.method&&this.uri&&!this.iv){"number"!=typeof t&&("AES-128"!==this.method||this.iv||b.warn('missing IV for initialization segment with method="'+this.method+'" - compliance issue'),t=0);var a=At(t);return new e(this.method,this.uri,"identity",this.keyFormatVersions,a)}var i=Z(this.uri);if(i)switch(this.keyFormat){case ie.WIDEVINE:this.pssh=i,i.length>=22&&(this.keyId=i.subarray(i.length-22,i.length-6));break;case ie.PLAYREADY:var o=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=st(o,null,i);var n=new Uint16Array(i.buffer,i.byteOffset,i.byteLength/2),r=String.fromCharCode.apply(null,Array.from(n)),E=r.substring(r.indexOf("<"),r.length),_=(new DOMParser).parseFromString(E,"text/xml").getElementsByTagName("KID")[0];if(_){var T=_.childNodes[0]?_.childNodes[0].nodeValue:_.getAttribute("VALUE");if(T){var s=$(T).subarray(0,16);J(s),this.keyId=s}}break;default:var S=i.subarray(0,16);if(16!==S.length){var l=new Uint8Array(16);l.set(S,16-S.length),S=l}this.keyId=S}if(!this.keyId||16!==this.keyId.byteLength){var I=lt[this.uri];if(!I){var A=Object.keys(lt).length%Number.MAX_SAFE_INTEGER;I=new Uint8Array(16),new DataView(I.buffer,12,4).setUint32(0,A),lt[this.uri]=I}this.keyId=I}return this},e})();function At(e){for(var t=new Uint8Array(16),a=12;a<16;a++)t[a]=e>>8*(15-a)&255;return t}var ut=/\{\$([a-zA-Z0-9-_]+)\}/g;function dt(e){return ut.test(e)}function Ot(e,t,a){if(null!==e.variableList||e.hasVariableRefs)for(var i=a.length;i--;){var o=a[i],n=t[o];n&&(t[o]=ct(e,n))}}function ct(e,t){if(null!==e.variableList||e.hasVariableRefs){var a=e.variableList;return t.replace(ut,function(t){var i=t.substring(2,t.length-1),o=null==a?void 0:a[i];return void 0===o?(e.playlistParsingError||(e.playlistParsingError=new Error('Missing preceding EXT-X-DEFINE tag for Variable Reference: "'+i+'"')),t):o})}return t}function Nt(e,t,a){var i,o,n=e.variableList;if(n||(e.variableList=n={}),"QUERYPARAM"in t){i=t.QUERYPARAM;try{var r=new self.URL(a).searchParams;if(!r.has(i))throw new Error('"'+i+'" does not match any query parameter in URI: "'+a+'"');o=r.get(i)}catch(t){e.playlistParsingError||(e.playlistParsingError=new Error("EXT-X-DEFINE QUERYPARAM: "+t.message))}}else i=t.NAME,o=t.VALUE;i in n?e.playlistParsingError||(e.playlistParsingError=new Error('EXT-X-DEFINE duplicate Variable Name declarations: "'+i+'"')):n[i]=o||""}function Rt(e,t,a){var i=t.IMPORT;if(a&&i in a){var o=e.variableList;o||(e.variableList=o={}),o[i]=a[i]}else e.playlistParsingError||(e.playlistParsingError=new Error('EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "'+i+'"'))}function mt(e){if(void 0===e&&(e=!0),"undefined"!=typeof self)return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}var Lt={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function Dt(e,t){var a=Lt[t];return!!a&&!!a[e.slice(0,4)]}function pt(e,t,a){return void 0===a&&(a=!0),!e.split(",").some(function(e){return!Ct(e,t,a)})}function Ct(e,t,a){var i;void 0===a&&(a=!0);var o=mt(a);return null!=(i=null==o?void 0:o.isTypeSupported(ht(e,t)))&&i}function ht(e,t){return t+'/mp4;codecs="'+e+'"'}function ft(e){if(e){var t=e.substring(0,4);return Lt.video[t]}return 2}function Pt(e){return e.split(",").reduce(function(e,t){var a=Lt.video[t];return a?(2*a+e)/(e?3:2):(Lt.audio[t]+e)/(e?2:1)},0)}var Bt={};function gt(e,t){if(void 0===t&&(t=!0),Bt[e])return Bt[e];for(var a={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[e],i=0;i<a.length;i++)if(Ct(a[i],"audio",t))return Bt[e]=a[i],a[i];return e}var vt=/flac|opus/i;function Mt(e,t){return void 0===t&&(t=!0),e.replace(vt,function(e){return gt(e.toLowerCase(),t)})}function Wt(e,t){return e&&"mp4a"!==e?e:t}function yt(e){var t=e.split(".");if(t.length>2){var a=t.shift()+".";return a+=parseInt(t.shift()).toString(16),a+=("000"+parseInt(t.shift()).toString(16)).slice(-4)}return e}var Ut=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,bt=/#EXT-X-MEDIA:(.*)/g,Gt=/^#EXT(?:INF|-X-TARGETDURATION):/m,kt=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[\S ]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),Ft=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),Vt=(function(){function e(){}return e.findGroup=function(e,t){for(var a=0;a<e.length;a++){var i=e[a];if(i.id===t)return i}},e.resolve=function(e,t){return D.buildAbsoluteURL(t,e,{alwaysNormalize:!0})},e.isMediaPlaylist=function(e){return Gt.test(e)},e.parseMasterPlaylist=function(t,a){var i,o={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:dt(t)},n=[];for(Ut.lastIndex=0;null!=(i=Ut.exec(t));)if(i[1]){var r,E=new F(i[1]);Ot(o,E,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);var _=ct(o,i[2]),T={attrs:E,bitrate:E.decimalInteger("BANDWIDTH")||E.decimalInteger("AVERAGE-BANDWIDTH"),name:E.NAME,url:e.resolve(_,a)},s=E.decimalResolution("RESOLUTION");s&&(T.width=s.width,T.height=s.height),Yt(E.CODECS,T),null!=(r=T.unknownCodecs)&&r.length||n.push(T),o.levels.push(T)}else if(i[3]){var S=i[3],l=i[4];switch(S){case"SESSION-DATA":var I=new F(l);Ot(o,I,["DATA-ID","LANGUAGE","VALUE","URI"]);var A=I["DATA-ID"];A&&(null===o.sessionData&&(o.sessionData={}),o.sessionData[A]=I);break;case"SESSION-KEY":var u=Ht(l,a,o);u.encrypted&&u.isSupported()?(null===o.sessionKeys&&(o.sessionKeys=[]),o.sessionKeys.push(u)):b.warn('[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "'+l+'"');break;case"DEFINE":var d=new F(l);Ot(o,d,["NAME","VALUE","QUERYPARAM"]),Nt(o,d,a);break;case"CONTENT-STEERING":var O=new F(l);Ot(o,O,["SERVER-URI","PATHWAY-ID"]),o.contentSteering={uri:e.resolve(O["SERVER-URI"],a),pathwayId:O["PATHWAY-ID"]||"."};break;case"START":o.startTimeOffset=wt(l)}}var c=n.length>0&&n.length<o.levels.length;return o.levels=c?n:o.levels,0===o.levels.length&&(o.playlistParsingError=new Error("no levels found in manifest")),o},e.parseMasterPlaylistMedia=function(t,a,i){var o,n={},r=i.levels,E={AUDIO:r.map(function(e){return{id:e.attrs.AUDIO,audioCodec:e.audioCodec}}),SUBTITLES:r.map(function(e){return{id:e.attrs.SUBTITLES,textCodec:e.textCodec}}),"CLOSED-CAPTIONS":[]},_=0;for(bt.lastIndex=0;null!==(o=bt.exec(t));){var T=new F(o[1]),s=T.TYPE;if(s){var S=E[s],l=n[s]||[];n[s]=l,Ot(i,T,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);var I=T.LANGUAGE,A=T["ASSOC-LANGUAGE"],u=T.CHANNELS,d=T.CHARACTERISTICS,O=T["INSTREAM-ID"],c={attrs:T,bitrate:0,id:_++,groupId:T["GROUP-ID"]||"",name:T.NAME||I||"",type:s,default:T.bool("DEFAULT"),autoselect:T.bool("AUTOSELECT"),forced:T.bool("FORCED"),lang:I,url:T.URI?e.resolve(T.URI,a):""};if(A&&(c.assocLang=A),u&&(c.channels=u),d&&(c.characteristics=d),O&&(c.instreamId=O),null!=S&&S.length){var N=e.findGroup(S,c.groupId)||S[0];zt(c,N,"audioCodec"),zt(c,N,"textCodec")}l.push(c)}}return n},e.parseLevelPlaylist=function(e,t,a,i,o,n){var r,E,_,s=new X(t),S=s.fragments,l=null,I=0,A=0,u=0,d=0,O=null,c=new j(i,t),N=-1,R=!1,m=null;for(kt.lastIndex=0,s.m3u8=e,s.hasVariableRefs=dt(e);null!==(r=kt.exec(e));){R&&(R=!1,(c=new j(i,t)).start=u,c.sn=I,c.cc=d,c.level=a,l&&(c.initSegment=l,c.rawProgramDateTime=l.rawProgramDateTime,l.rawProgramDateTime=null,m&&(c.setByteRange(m),m=null)));var L=r[1];if(L){c.duration=parseFloat(L);var D=(" "+r[2]).slice(1);c.title=D||null,c.tagList.push(D?["INF",L,D]:["INF",L])}else if(r[3]){if(p(c.duration)){c.start=u,_&&Qt(c,_,s),c.sn=I,c.level=a,c.cc=d,S.push(c);var C=(" "+r[3]).slice(1);c.relurl=ct(s,C),jt(c,O),O=c,u+=c.duration,I++,A=0,R=!0}}else if(r[4]){var h=(" "+r[4]).slice(1);O?c.setByteRange(h,O):c.setByteRange(h)}else if(r[5])c.rawProgramDateTime=(" "+r[5]).slice(1),c.tagList.push(["PROGRAM-DATE-TIME",c.rawProgramDateTime]),-1===N&&(N=S.length);else{if(!(r=r[0].match(Ft))){b.warn("No matches on slow regex match for level playlist!");continue}for(E=1;E<r.length&&void 0===r[E];E++);var f=(" "+r[E]).slice(1),P=(" "+r[E+1]).slice(1),B=r[E+2]?(" "+r[E+2]).slice(1):"";switch(f){case"PLAYLIST-TYPE":s.type=P.toUpperCase();break;case"MEDIA-SEQUENCE":I=s.startSN=parseInt(P);break;case"SKIP":var g=new F(P);Ot(s,g,["RECENTLY-REMOVED-DATERANGES"]);var v=g.decimalInteger("SKIPPED-SEGMENTS");if(p(v)){s.skippedSegments=v;for(var M=v;M--;)S.unshift(null);I+=v}var W=g.enumeratedString("RECENTLY-REMOVED-DATERANGES");W&&(s.recentlyRemovedDateranges=W.split("\t"));break;case"TARGETDURATION":s.targetduration=Math.max(parseInt(P),1);break;case"VERSION":s.version=parseInt(P);break;case"INDEPENDENT-SEGMENTS":case"EXTM3U":break;case"ENDLIST":s.live=!1;break;case"#":(P||B)&&c.tagList.push(B?[P,B]:[P]);break;case"DISCONTINUITY":d++,c.tagList.push(["DIS"]);break;case"GAP":c.gap=!0,c.tagList.push([f]);break;case"BITRATE":c.tagList.push([f,P]);break;case"DATERANGE":var y=new F(P);Ot(s,y,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),Ot(s,y,y.clientAttrs);var U=new w(y,s.dateRanges[y.ID]);U.isValid||s.skippedSegments?s.dateRanges[U.id]=U:b.warn('Ignoring invalid DATERANGE tag: "'+P+'"'),c.tagList.push(["EXT-X-DATERANGE",P]);break;case"DEFINE":var G=new F(P);Ot(s,G,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in G?Rt(s,G,n):Nt(s,G,t);break;case"DISCONTINUITY-SEQUENCE":d=parseInt(P);break;case"KEY":var k=Ht(P,t,s);if(k.isSupported()){if("NONE"===k.method){_=void 0;break}_||(_={}),_[k.keyFormat]&&(_=T({},_)),_[k.keyFormat]=k}else b.warn('[Keys] Ignoring invalid EXT-X-KEY tag: "'+P+'"');break;case"START":s.startTimeOffset=wt(P);break;case"MAP":var V=new F(P);if(Ot(s,V,["BYTERANGE","URI"]),c.duration){var H=new j(i,t);xt(H,V,a,_),l=H,c.initSegment=l,l.rawProgramDateTime&&!c.rawProgramDateTime&&(c.rawProgramDateTime=l.rawProgramDateTime)}else{var Y=c.byteRangeEndOffset;if(Y){var z=c.byteRangeStartOffset;m=Y-z+"@"+z}else m=null;xt(c,V,a,_),l=c,R=!0}break;case"SERVER-CONTROL":var K=new F(P);s.canBlockReload=K.bool("CAN-BLOCK-RELOAD"),s.canSkipUntil=K.optionalFloat("CAN-SKIP-UNTIL",0),s.canSkipDateRanges=s.canSkipUntil>0&&K.bool("CAN-SKIP-DATERANGES"),s.partHoldBack=K.optionalFloat("PART-HOLD-BACK",0),s.holdBack=K.optionalFloat("HOLD-BACK",0);break;case"PART-INF":var Q=new F(P);s.partTarget=Q.decimalFloatingPoint("PART-TARGET");break;case"PART":var $=s.partList;$||($=s.partList=[]);var q=A>0?$[$.length-1]:void 0,J=A++,Z=new F(P);Ot(s,Z,["BYTERANGE","URI"]);var ee=new x(Z,c,t,J,q);$.push(ee),c.duration+=ee.duration;break;case"PRELOAD-HINT":var te=new F(P);Ot(s,te,["URI"]),s.preloadHint=te;break;case"RENDITION-REPORT":var ae=new F(P);Ot(s,ae,["URI"]),s.renditionReports=s.renditionReports||[],s.renditionReports.push(ae);break;default:b.warn("line parsed but not handled: "+r)}}}O&&!O.relurl?(S.pop(),u-=O.duration,s.partList&&(s.fragmentHint=O)):s.partList&&(jt(c,O),c.cc=d,s.fragmentHint=c,_&&Qt(c,_,s));var ie=S.length,oe=S[0],ne=S[ie-1];if((u+=s.skippedSegments*s.targetduration)>0&&ie&&ne){s.averagetargetduration=u/ie;var re=ne.sn;s.endSN="initSegment"!==re?re:0,s.live||(ne.endList=!0),oe&&(s.startCC=oe.cc)}else s.endSN=0,s.startCC=0;return s.fragmentHint&&(u+=s.fragmentHint.duration),s.totalduration=u,s.endCC=d,N>0&&Kt(S,N),s},e})();function Ht(e,t,a){var i,o,n=new F(e);Ot(a,n,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);var r=null!=(i=n.METHOD)?i:"",E=n.URI,_=n.hexadecimalInteger("IV"),T=n.KEYFORMATVERSIONS,s=null!=(o=n.KEYFORMAT)?o:"identity";E&&n.IV&&!_&&b.error("Invalid IV: "+n.IV);var S=E?Vt.resolve(E,t):"",l=(T||"1").split("/").map(Number).filter(Number.isFinite);return new It(r,S,s,l,_)}function wt(e){var t=new F(e).decimalFloatingPoint("TIME-OFFSET");return p(t)?t:null}function Yt(e,t){var a=(e||"").split(/[ ,]+/).filter(function(e){return e});["video","audio","text"].forEach(function(e){var i=a.filter(function(t){return Dt(t,e)});i.length&&(t[e+"Codec"]=i.join(","),a=a.filter(function(e){return-1===i.indexOf(e)}))}),t.unknownCodecs=a}function zt(e,t,a){var i=t[a];i&&(e[a]=i)}function Kt(e,t){for(var a=e[t],i=t;i--;){var o=e[i];if(!o)return;o.programDateTime=a.programDateTime-1e3*o.duration,a=o}}function jt(e,t){e.rawProgramDateTime?e.programDateTime=Date.parse(e.rawProgramDateTime):null!=t&&t.programDateTime&&(e.programDateTime=t.endProgramDateTime),p(e.programDateTime)||(e.programDateTime=null,e.rawProgramDateTime=null)}function xt(e,t,a,i){e.relurl=t.URI,t.BYTERANGE&&e.setByteRange(t.BYTERANGE),e.level=a,e.sn="initSegment",i&&(e.levelkeys=i),e.initSegment=null}function Qt(e,t,a){e.levelkeys=t;var i=a.encryptedFragments;i.length&&i[i.length-1].levelkeys===t||!Object.keys(t).some(function(e){return t[e].isCommonEncryption})||i.push(e)}var Xt={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},$t={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function qt(e){switch(e.type){case Xt.AUDIO_TRACK:return $t.AUDIO;case Xt.SUBTITLE_TRACK:return $t.SUBTITLE;default:return $t.MAIN}}function Jt(e,t){var a=e.url;return void 0!==a&&0!==a.indexOf("data:")||(a=t.url),a}var Zt=(function(){function e(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners()}var t=e.prototype;return t.startLoad=function(e){},t.stopLoad=function(){this.destroyInternalLoaders()},t.registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.LEVEL_LOADING,this.onLevelLoading,this),e.on(f.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(f.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)},t.unregisterListeners=function(){var e=this.hls;e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.LEVEL_LOADING,this.onLevelLoading,this),e.off(f.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(f.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this)},t.createInternalLoader=function(e){var t=this.hls.config,a=t.pLoader,i=t.loader,o=new(a||i)(t);return this.loaders[e.type]=o,o},t.getInternalLoader=function(e){return this.loaders[e.type]},t.resetInternalLoader=function(e){this.loaders[e]&&delete this.loaders[e]},t.destroyInternalLoaders=function(){for(var e in this.loaders){var t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}},t.destroy=function(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()},t.onManifestLoading=function(e,t){var a=t.url;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:Xt.MANIFEST,url:a,deliveryDirectives:null})},t.onLevelLoading=function(e,t){var a=t.id,i=t.level,o=t.pathwayId,n=t.url,r=t.deliveryDirectives;this.load({id:a,level:i,pathwayId:o,responseType:"text",type:Xt.LEVEL,url:n,deliveryDirectives:r})},t.onAudioTrackLoading=function(e,t){var a=t.id,i=t.groupId,o=t.url,n=t.deliveryDirectives;this.load({id:a,groupId:i,level:null,responseType:"text",type:Xt.AUDIO_TRACK,url:o,deliveryDirectives:n})},t.onSubtitleTrackLoading=function(e,t){var a=t.id,i=t.groupId,o=t.url,n=t.deliveryDirectives;this.load({id:a,groupId:i,level:null,responseType:"text",type:Xt.SUBTITLE_TRACK,url:o,deliveryDirectives:n})},t.load=function(e){var t,a,i,o=this,n=this.hls.config,r=this.getInternalLoader(e);if(r){var E=r.context;if(E&&E.url===e.url&&E.level===e.level)return void b.trace("[playlist-loader]: playlist request ongoing");b.log("[playlist-loader]: aborting previous loader for type: "+e.type),r.abort()}if(a=e.type===Xt.MANIFEST?n.manifestLoadPolicy.default:T({},n.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),r=this.createInternalLoader(e),p(null==(t=e.deliveryDirectives)?void 0:t.part)&&(e.type===Xt.LEVEL&&null!==e.level?i=this.hls.levels[e.level].details:e.type===Xt.AUDIO_TRACK&&null!==e.id?i=this.hls.audioTracks[e.id].details:e.type===Xt.SUBTITLE_TRACK&&null!==e.id&&(i=this.hls.subtitleTracks[e.id].details),i)){var _=i.partTarget,s=i.targetduration;if(_&&s){var S=1e3*Math.max(3*_,.8*s);a=T({},a,{maxTimeToFirstByteMs:Math.min(S,a.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(S,a.maxTimeToFirstByteMs)})}}var l=a.errorRetry||a.timeoutRetry||{},I={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:l.maxNumRetry||0,retryDelay:l.retryDelayMs||0,maxRetryDelay:l.maxRetryDelayMs||0},A={onSuccess:function(e,t,a,i){var n=o.getInternalLoader(a);o.resetInternalLoader(a.type);var r=e.data;0===r.indexOf("#EXTM3U")?(t.parsing.start=performance.now(),Vt.isMediaPlaylist(r)?o.handleTrackOrLevelPlaylist(e,t,a,i||null,n):o.handleMasterPlaylist(e,t,a,i)):o.handleManifestParsingError(e,a,new Error("no EXTM3U delimiter"),i||null,t)},onError:function(e,t,a,i){o.handleNetworkError(t,a,!1,e,i)},onTimeout:function(e,t,a){o.handleNetworkError(t,a,!0,void 0,e)}};r.load(e,I,A)},t.handleMasterPlaylist=function(e,t,a,i){var o=this.hls,n=e.data,r=Jt(e,a),E=Vt.parseMasterPlaylist(n,r);if(E.playlistParsingError)this.handleManifestParsingError(e,a,E.playlistParsingError,i,t);else{var _=E.contentSteering,T=E.levels,s=E.sessionData,S=E.sessionKeys,l=E.startTimeOffset,I=E.variableList;this.variableList=I;var A=Vt.parseMasterPlaylistMedia(n,r,E),u=A.AUDIO,d=void 0===u?[]:u,O=A.SUBTITLES,c=A["CLOSED-CAPTIONS"];d.length&&(d.some(function(e){return!e.url})||!T[0].audioCodec||T[0].attrs.AUDIO||(b.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),d.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new F({}),bitrate:0,url:""}))),o.trigger(f.MANIFEST_LOADED,{levels:T,audioTracks:d,subtitles:O,captions:c,contentSteering:_,url:r,stats:t,networkDetails:i,sessionData:s,sessionKeys:S,startTimeOffset:l,variableList:I})}},t.handleTrackOrLevelPlaylist=function(e,t,a,i,o){var n=this.hls,r=a.id,E=a.level,_=a.type,T=Jt(e,a),s=0,S=p(E)?E:p(r)?r:0,l=qt(a),I=Vt.parseLevelPlaylist(e.data,T,S,l,s,this.variableList);if(_===Xt.MANIFEST){var A={attrs:new F({}),bitrate:0,details:I,name:"",url:T};n.trigger(f.MANIFEST_LOADED,{levels:[A],audioTracks:[],url:T,stats:t,networkDetails:i,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),a.levelDetails=I,this.handlePlaylistLoaded(I,e,t,a,i,o)},t.handleManifestParsingError=function(e,t,a,i,o){this.hls.trigger(f.ERROR,{type:P.NETWORK_ERROR,details:B.MANIFEST_PARSING_ERROR,fatal:t.type===Xt.MANIFEST,url:e.url,err:a,error:a,reason:a.message,response:e,context:t,networkDetails:i,stats:o})},t.handleNetworkError=function(e,t,a,o,n){void 0===a&&(a=!1);var r="A network "+(a?"timeout":"error"+(o?" (status "+o.code+")":""))+" occurred while loading "+e.type;e.type===Xt.LEVEL?r+=": "+e.level+" id: "+e.id:e.type!==Xt.AUDIO_TRACK&&e.type!==Xt.SUBTITLE_TRACK||(r+=" id: "+e.id+' group-id: "'+e.groupId+'"');var E=new Error(r);b.warn("[playlist-loader]: "+r);var _=B.UNKNOWN,T=!1,s=this.getInternalLoader(e);switch(e.type){case Xt.MANIFEST:_=a?B.MANIFEST_LOAD_TIMEOUT:B.MANIFEST_LOAD_ERROR,T=!0;break;case Xt.LEVEL:_=a?B.LEVEL_LOAD_TIMEOUT:B.LEVEL_LOAD_ERROR,T=!1;break;case Xt.AUDIO_TRACK:_=a?B.AUDIO_TRACK_LOAD_TIMEOUT:B.AUDIO_TRACK_LOAD_ERROR,T=!1;break;case Xt.SUBTITLE_TRACK:_=a?B.SUBTITLE_TRACK_LOAD_TIMEOUT:B.SUBTITLE_LOAD_ERROR,T=!1}s&&this.resetInternalLoader(e.type);var S={type:P.NETWORK_ERROR,details:_,fatal:T,url:e.url,loader:s,context:e,error:E,networkDetails:t,stats:n};if(o){var l=(null==t?void 0:t.url)||e.url;S.response=i({url:l,data:void 0},o)}this.hls.trigger(f.ERROR,S)},t.handlePlaylistLoaded=function(e,t,a,i,o,n){var r=this.hls,E=i.type,_=i.level,T=i.id,s=i.groupId,S=i.deliveryDirectives,l=Jt(t,i),I=qt(i),A="number"==typeof i.level&&I===$t.MAIN?_:void 0;if(e.fragments.length){e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));var u=e.playlistParsingError;if(u)r.trigger(f.ERROR,{type:P.NETWORK_ERROR,details:B.LEVEL_PARSING_ERROR,fatal:!1,url:l,error:u,reason:u.message,response:t,context:i,level:A,parent:I,networkDetails:o,stats:a});else switch(e.live&&n&&(n.getCacheAge&&(e.ageHeader=n.getCacheAge()||0),n.getCacheAge&&!isNaN(e.ageHeader)||(e.ageHeader=0)),E){case Xt.MANIFEST:case Xt.LEVEL:r.trigger(f.LEVEL_LOADED,{details:e,level:A||0,id:T||0,stats:a,networkDetails:o,deliveryDirectives:S});break;case Xt.AUDIO_TRACK:r.trigger(f.AUDIO_TRACK_LOADED,{details:e,id:T||0,groupId:s||"",stats:a,networkDetails:o,deliveryDirectives:S});break;case Xt.SUBTITLE_TRACK:r.trigger(f.SUBTITLE_TRACK_LOADED,{details:e,id:T||0,groupId:s||"",stats:a,networkDetails:o,deliveryDirectives:S})}}else{var d=new Error("No Segments found in Playlist");r.trigger(f.ERROR,{type:P.NETWORK_ERROR,details:B.LEVEL_EMPTY_ERROR,fatal:!1,url:l,error:d,reason:d.message,response:t,context:i,level:A,parent:I,networkDetails:o,stats:a})}},e})();function ea(e,t){var a;try{a=new Event("addtrack")}catch(e){(a=document.createEvent("Event")).initEvent("addtrack",!1,!1)}a.track=e,t.dispatchEvent(a)}function ta(e,t){var a=e.mode;if("disabled"===a&&(e.mode="hidden"),e.cues&&!e.cues.getCueById(t.id))try{if(e.addCue(t),!e.cues.getCueById(t.id))throw new Error("addCue is failed for: "+t)}catch(a){b.debug("[texttrack-utils]: "+a);try{var i=new self.TextTrackCue(t.startTime,t.endTime,t.text);i.id=t.id,e.addCue(i)}catch(e){b.debug("[texttrack-utils]: Legacy TextTrackCue fallback failed: "+e)}}"disabled"===a&&(e.mode=a)}function aa(e){var t=e.mode;if("disabled"===t&&(e.mode="hidden"),e.cues)for(var a=e.cues.length;a--;)e.removeCue(e.cues[a]);"disabled"===t&&(e.mode=t)}function ia(e,t,a,i){var o=e.mode;if("disabled"===o&&(e.mode="hidden"),e.cues&&e.cues.length>0)for(var n=na(e.cues,t,a),r=0;r<n.length;r++)i&&!i(n[r])||e.removeCue(n[r]);"disabled"===o&&(e.mode=o)}function oa(e,t){if(t<e[0].startTime)return 0;var a=e.length-1;if(t>e[a].endTime)return-1;for(var i=0,o=a;i<=o;){var n=Math.floor((o+i)/2);if(t<e[n].startTime)o=n-1;else{if(!(t>e[n].startTime&&i<a))return n;i=n+1}}return e[i].startTime-t<t-e[o].startTime?i:o}function na(e,t,a){var i=[],o=oa(e,t);if(o>-1)for(var n=o,r=e.length;n<r;n++){var E=e[n];if(E.startTime>=t&&E.endTime<=a)i.push(E);else if(E.startTime>a)return i}return i}function ra(e){for(var t=[],a=0;a<e.length;a++){var i=e[a];"subtitles"!==i.kind&&"captions"!==i.kind||!i.label||t.push(e[a])}return t}var Ea={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"},_a=.25;function Ta(){if("undefined"!=typeof self)return self.VTTCue||self.TextTrackCue}function sa(e,t,a,o,n){var r=new e(t,a,"");try{r.value=o,n&&(r.type=n)}catch(E){r=new e(t,a,JSON.stringify(n?i({type:n},o):o))}return r}var Sa=(function(){var e=Ta();try{e&&new e(0,Number.POSITIVE_INFINITY,"")}catch(e){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();function la(e,t){return e.getTime()/1e3-t}function Ia(e){return Uint8Array.from(e.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var Aa=(function(){function e(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners()}var t=e.prototype;return t.destroy=function(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null},t._registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(f.LEVEL_UPDATED,this.onLevelUpdated,this)},t._unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(f.LEVEL_UPDATED,this.onLevelUpdated,this)},t.onMediaAttached=function(e,t){this.media=t.media},t.onMediaDetaching=function(){this.id3Track&&(aa(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={})},t.onManifestLoading=function(){this.dateRangeCuesAppended={}},t.createTrack=function(e){var t=this.getID3Track(e.textTracks);return t.mode="hidden",t},t.getID3Track=function(e){if(this.media){for(var t=0;t<e.length;t++){var a=e[t];if("metadata"===a.kind&&"id3"===a.label)return ea(a,this.media),a}return this.media.addTextTrack("metadata","id3")}},t.onFragParsingMetadata=function(e,t){if(this.media){var a=this.hls.config,i=a.enableEmsgMetadataCues,o=a.enableID3MetadataCues;if(i||o){var n=t.samples;this.id3Track||(this.id3Track=this.createTrack(this.media));var r=Ta();if(r)for(var E=0;E<n.length;E++){var _=n[E].type;if((_!==Ea.emsg||i)&&o){var T=De(n[E].data);if(T){var s=n[E].pts,S=s+n[E].duration;S>Sa&&(S=Sa),S-s<=0&&(S=s+_a);for(var l=0;l<T.length;l++){var I=T[l];if(!me(I)){this.updateId3CueEnds(s,_);var A=sa(r,s,S,I,_);A&&this.id3Track.addCue(A)}}}}}}}},t.updateId3CueEnds=function(e,t){var a,i=null==(a=this.id3Track)?void 0:a.cues;if(i)for(var o=i.length;o--;){var n=i[o];n.type===t&&n.startTime<e&&n.endTime===Sa&&(n.endTime=e)}},t.onBufferFlushing=function(e,t){var a=t.startOffset,i=t.endOffset,o=t.type,n=this.id3Track,r=this.hls;if(r){var E=r.config,_=E.enableEmsgMetadataCues,T=E.enableID3MetadataCues;n&&(_||T)&&ia(n,a,i,"audio"===o?function(e){return e.type===Ea.audioId3&&T}:"video"===o?function(e){return e.type===Ea.emsg&&_}:function(e){return e.type===Ea.audioId3&&T||e.type===Ea.emsg&&_})}},t.onLevelUpdated=function(e,t){var a=this,i=t.details;if(this.media&&i.hasProgramDateTime&&this.hls.config.enableDateRangeMetadataCues){var o=this.dateRangeCuesAppended,n=this.id3Track,r=i.dateRanges,E=Object.keys(r);if(n)for(var _=Object.keys(o).filter(function(e){return!E.includes(e)}),T=function(){var e=_[s];Object.keys(o[e].cues).forEach(function(t){n.removeCue(o[e].cues[t])}),delete o[e]},s=_.length;s--;)T();var S=i.fragments[i.fragments.length-1];if(0!==E.length&&p(null==S?void 0:S.programDateTime)){this.id3Track||(this.id3Track=this.createTrack(this.media));for(var l=S.programDateTime/1e3-S.start,I=Ta(),A=function(){var e=E[u],t=r[e],i=la(t.startDate,l),n=o[e],_=(null==n?void 0:n.cues)||{},T=(null==n?void 0:n.durationKnown)||!1,s=Sa,S=t.endDate;if(S)s=la(S,l),T=!0;else if(t.endOnNext&&!T){var A=E.reduce(function(e,a){if(a!==t.id){var i=r[a];if(i.class===t.class&&i.startDate>t.startDate&&(!e||t.startDate<e.startDate))return i}return e},null);A&&(s=la(A.startDate,l),T=!0)}for(var d=Object.keys(t.attr),O=0;O<d.length;O++){var c=d[O];if(V(c)){var N=_[c];if(N)T&&!n.durationKnown&&(N.endTime=s);else if(I){var R=t.attr[c];H(c)&&(R=Ia(R));var m=sa(I,i,s,{key:c,data:R},Ea.dateRange);m&&(m.id=e,a.id3Track.addCue(m),_[c]=m)}}}o[e]={cues:_,dateRange:t,durationKnown:T}},u=0;u<E.length;u++)A()}}},e})(),ua=(function(){function e(e){var t=this;this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=function(){return t.timeupdate()},this.hls=e,this.config=e.config,this.registerListeners()}var t=e.prototype;return t.destroy=function(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null},t.registerListeners=function(){this.hls.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(f.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(f.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(f.ERROR,this.onError,this)},t.unregisterListeners=function(){this.hls.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(f.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(f.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(f.ERROR,this.onError,this)},t.onMediaAttached=function(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler)},t.onMediaDetaching=function(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null)},t.onManifestLoading=function(){this.levelDetails=null,this._latency=null,this.stallCount=0},t.onLevelUpdated=function(e,t){var a=t.details;this.levelDetails=a,a.advanced&&this.timeupdate(),!a.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler)},t.onError=function(e,t){var a;t.details===B.BUFFER_STALLED_ERROR&&(this.stallCount++,null!=(a=this.levelDetails)&&a.live&&b.warn("[playback-rate-controller]: Stall detected, adjusting target latency"))},t.timeupdate=function(){var e=this.media,t=this.levelDetails;if(e&&t){this.currentTime=e.currentTime;var a=this.computeLatency();if(null!==a){this._latency=a;var i=this.config,o=i.lowLatencyMode,n=i.maxLiveSyncPlaybackRate;if(o&&1!==n&&t.live){var r=this.targetLatency;if(null!==r){var E=a-r;if(E<Math.min(this.maxLatency,r+t.targetduration)&&E>.05&&this.forwardBufferLength>1){var _=Math.min(2,Math.max(1,n)),T=Math.round(2/(1+Math.exp(-.75*E-this.edgeStalled))*20)/20;e.playbackRate=Math.min(_,Math.max(1,T))}else 1!==e.playbackRate&&0!==e.playbackRate&&(e.playbackRate=1)}}}}},t.estimateLiveEdge=function(){var e=this.levelDetails;return null===e?null:e.edge+e.age},t.computeLatency=function(){var e=this.estimateLiveEdge();return null===e?null:e-this.currentTime},E(e,[{key:"latency",get:function(){return this._latency||0}},{key:"maxLatency",get:function(){var e=this.config,t=this.levelDetails;return void 0!==e.liveMaxLatencyDuration?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0}},{key:"targetLatency",get:function(){var e=this.levelDetails;if(null===e)return null;var t=e.holdBack,a=e.partHoldBack,i=e.targetduration,o=this.config,n=o.liveSyncDuration,r=o.liveSyncDurationCount,E=o.lowLatencyMode,_=this.hls.userConfig,T=E&&a||t;(_.liveSyncDuration||_.liveSyncDurationCount||0===T)&&(T=void 0!==n?n:r*i);var s=i,S=1;return T+Math.min(this.stallCount*S,s)}},{key:"liveSyncPosition",get:function(){var e=this.estimateLiveEdge(),t=this.targetLatency,a=this.levelDetails;if(null===e||null===t||null===a)return null;var i=a.edge,o=e-t-this.edgeStalled,n=i-a.totalduration,r=i-(this.config.lowLatencyMode&&a.partTarget||a.targetduration);return Math.min(Math.max(n,o),r)}},{key:"drift",get:function(){var e=this.levelDetails;return null===e?1:e.drift}},{key:"edgeStalled",get:function(){var e=this.levelDetails;if(null===e)return 0;var t=3*(this.config.lowLatencyMode&&e.partTarget||e.targetduration);return Math.max(e.age-t,0)}},{key:"forwardBufferLength",get:function(){var e=this.media,t=this.levelDetails;if(!e||!t)return 0;var a=e.buffered.length;return(a?e.buffered.end(a-1):t.edge)-this.currentTime}}]),e})(),da=["NONE","TYPE-0","TYPE-1",null];function Oa(e){return da.indexOf(e)>-1}var ca=["SDR","PQ","HLG"];function Na(e){return!!e&&ca.indexOf(e)>-1}var Ra={No:"",Yes:"YES",v2:"v2"};function ma(e,t){var a=e.canSkipUntil,i=e.canSkipDateRanges,o=e.endSN;return a&&(void 0!==t?t-o:0)<a?i?Ra.v2:Ra.Yes:Ra.No}var La=(function(){function e(e,t,a){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=a}return e.prototype.addDirectives=function(e){var t=new self.URL(e);return void 0!==this.msn&&t.searchParams.set("_HLS_msn",this.msn.toString()),void 0!==this.part&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href},e})(),Da=(function(){function e(e){this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter(function(e){return!!e}).map(function(e){return e.substring(0,4)}).join(","),this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}var t=e.prototype;return t.hasAudioGroup=function(e){return pa(this._audioGroups,e)},t.hasSubtitleGroup=function(e){return pa(this._subtitleGroups,e)},t.addGroupId=function(e,t){if(t)if("audio"===e){var a=this._audioGroups;a||(a=this._audioGroups=[]),-1===a.indexOf(t)&&a.push(t)}else if("text"===e){var i=this._subtitleGroups;i||(i=this._subtitleGroups=[]),-1===i.indexOf(t)&&i.push(t)}},t.addFallback=function(){},E(e,[{key:"maxBitrate",get:function(){return Math.max(this.realBitrate,this.bitrate)}},{key:"averageBitrate",get:function(){return this._avgBitrate||this.realBitrate||this.bitrate}},{key:"attrs",get:function(){return this._attrs[0]}},{key:"codecs",get:function(){return this.attrs.CODECS||""}},{key:"pathwayId",get:function(){return this.attrs["PATHWAY-ID"]||"."}},{key:"videoRange",get:function(){return this.attrs["VIDEO-RANGE"]||"SDR"}},{key:"score",get:function(){return this.attrs.optionalFloat("SCORE",0)}},{key:"uri",get:function(){return this.url[0]||""}},{key:"audioGroups",get:function(){return this._audioGroups}},{key:"subtitleGroups",get:function(){return this._subtitleGroups}},{key:"urlId",get:function(){return 0},set:function(e){}},{key:"audioGroupIds",get:function(){return this.audioGroups?[this.audioGroupId]:void 0}},{key:"textGroupIds",get:function(){return this.subtitleGroups?[this.textGroupId]:void 0}},{key:"audioGroupId",get:function(){var e;return null==(e=this.audioGroups)?void 0:e[0]}},{key:"textGroupId",get:function(){var e;return null==(e=this.subtitleGroups)?void 0:e[0]}}]),e})();function pa(e,t){return!(!t||!e)&&-1!==e.indexOf(t)}function Ca(e,t){var a=t.startPTS;if(p(a)){var i,o=0;t.sn>e.sn?(o=a-e.start,i=e):(o=e.start-a,i=t),i.duration!==o&&(i.duration=o)}else t.sn>e.sn?e.cc===t.cc&&e.minEndPTS?t.start=e.start+(e.minEndPTS-e.start):t.start=e.start+e.duration:t.start=Math.max(e.start-t.duration,0)}function ha(e,t,a,i,o,n){i-a<=0&&(b.warn("Fragment should have a positive duration",t),i=a+t.duration,n=o+t.duration);var r=a,E=i,_=t.startPTS,T=t.endPTS;if(p(_)){var s=Math.abs(_-a);p(t.deltaPTS)?t.deltaPTS=Math.max(s,t.deltaPTS):t.deltaPTS=s,r=Math.max(a,_),a=Math.min(a,_),o=Math.min(o,t.startDTS),E=Math.min(i,T),i=Math.max(i,T),n=Math.max(n,t.endDTS)}var S=a-t.start;0!==t.start&&(t.start=a),t.duration=i-t.start,t.startPTS=a,t.maxStartPTS=r,t.startDTS=o,t.endPTS=i,t.minEndPTS=E,t.endDTS=n;var l,I=t.sn;if(!e||I<e.startSN||I>e.endSN)return 0;var A=I-e.startSN,u=e.fragments;for(u[A]=t,l=A;l>0;l--)Ca(u[l],u[l-1]);for(l=A;l<u.length-1;l++)Ca(u[l],u[l+1]);return e.fragmentHint&&Ca(u[u.length-1],e.fragmentHint),e.PTSKnown=e.alignedSliding=!0,S}function fa(e,t){for(var a=null,i=e.fragments,o=i.length-1;o>=0;o--){var n=i[o].initSegment;if(n){a=n;break}}e.fragmentHint&&delete e.fragmentHint.endPTS;var r,E=0;if(ga(e,t,function(e,i){e.relurl&&(E=e.cc-i.cc),p(e.startPTS)&&p(e.endPTS)&&(i.start=i.startPTS=e.startPTS,i.startDTS=e.startDTS,i.maxStartPTS=e.maxStartPTS,i.endPTS=e.endPTS,i.endDTS=e.endDTS,i.minEndPTS=e.minEndPTS,i.duration=e.endPTS-e.startPTS,i.duration&&(r=i),t.PTSKnown=t.alignedSliding=!0),i.elementaryStreams=e.elementaryStreams,i.loader=e.loader,i.stats=e.stats,e.initSegment&&(i.initSegment=e.initSegment,a=e.initSegment)}),a&&(t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments).forEach(function(e){var t;!e||e.initSegment&&e.initSegment.relurl!==(null==(t=a)?void 0:t.relurl)||(e.initSegment=a)}),t.skippedSegments)if(t.deltaUpdateFailed=t.fragments.some(function(e){return!e}),t.deltaUpdateFailed){b.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(var _=t.skippedSegments;_--;)t.fragments.shift();t.startSN=t.fragments[0].sn,t.startCC=t.fragments[0].cc}else t.canSkipDateRanges&&(t.dateRanges=Pa(e.dateRanges,t.dateRanges,t.recentlyRemovedDateranges));var T=t.fragments;if(E){b.warn("discontinuity sliding from playlist, take drift into account");for(var s=0;s<T.length;s++)T[s].cc+=E}t.skippedSegments&&(t.startCC=t.fragments[0].cc),Ba(e.partList,t.partList,function(e,t){t.elementaryStreams=e.elementaryStreams,t.stats=e.stats}),r?ha(t,r,r.startPTS,r.endPTS,r.startDTS,r.endDTS):va(e,t),T.length&&(t.totalduration=t.edge-T[0].start),t.driftStartTime=e.driftStartTime,t.driftStart=e.driftStart;var S=t.advancedDateTime;if(t.advanced&&S){var l=t.edge;t.driftStart||(t.driftStartTime=S,t.driftStart=l),t.driftEndTime=S,t.driftEnd=l}else t.driftEndTime=e.driftEndTime,t.driftEnd=e.driftEnd,t.advancedDateTime=e.advancedDateTime}function Pa(e,t,a){var i=T({},e);return a&&a.forEach(function(e){delete i[e]}),Object.keys(t).forEach(function(e){var a=new w(t[e].attr,i[e]);a.isValid?i[e]=a:b.warn('Ignoring invalid Playlist Delta Update DATERANGE tag: "'+JSON.stringify(t[e].attr)+'"')}),i}function Ba(e,t,a){if(e&&t)for(var i=0,o=0,n=e.length;o<=n;o++){var r=e[o],E=t[o+i];r&&E&&r.index===E.index&&r.fragment.sn===E.fragment.sn?a(r,E):i--}}function ga(e,t,a){for(var i=t.skippedSegments,o=Math.max(e.startSN,t.startSN)-t.startSN,n=(e.fragmentHint?1:0)+(i?t.endSN:Math.min(e.endSN,t.endSN))-t.startSN,r=t.startSN-e.startSN,E=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments,_=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,T=o;T<=n;T++){var s=_[r+T],S=E[T];i&&!S&&T<i&&(S=t.fragments[T]=s),s&&S&&a(s,S)}}function va(e,t){var a=t.startSN+t.skippedSegments-e.startSN,i=e.fragments;a<0||a>=i.length||Ma(t,i[a].start)}function Ma(e,t){if(t){for(var a=e.fragments,i=e.skippedSegments;i<a.length;i++)a[i].start+=t;e.fragmentHint&&(e.fragmentHint.start+=t)}}function Wa(e,t){void 0===t&&(t=1/0);var a=1e3*e.targetduration;if(e.updated){var i=e.fragments,o=4;if(i.length&&a*o>t){var n=1e3*i[i.length-1].duration;n<a&&(a=n)}}else a/=2;return Math.round(a)}function ya(e,t,a){if(null==e||!e.details)return null;var i=e.details,o=i.fragments[t-i.startSN];return o||((o=i.fragmentHint)&&o.sn===t?o:t<i.startSN&&a&&a.sn===t?a:null)}function Ua(e,t,a){var i;return null!=e&&e.details?ba(null==(i=e.details)?void 0:i.partList,t,a):null}function ba(e,t,a){if(e)for(var i=e.length;i--;){var o=e[i];if(o.index===a&&o.fragment.sn===t)return o}return null}function Ga(e){e.forEach(function(e,t){var a=e.details;null!=a&&a.fragments&&a.fragments.forEach(function(e){e.level=t})})}function ka(e){switch(e.details){case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_TIMEOUT:case B.LEVEL_LOAD_TIMEOUT:case B.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function Fa(e,t){var a=ka(t);return e.default[(a?"timeout":"error")+"Retry"]}function Va(e,t){var a="linear"===e.backoff?1:Math.pow(2,t);return Math.min(a*e.retryDelayMs,e.maxRetryDelayMs)}function Ha(e){return i(i({},e),{errorRetry:null,timeoutRetry:null})}function wa(e,t,a,i){if(!e)return!1;var o=null==i?void 0:i.code,n=t<e.maxNumRetry&&(Ya(o)||!!a);return e.shouldRetry?e.shouldRetry(e,t,a,i,n):n}function Ya(e){return 0===e&&!1===navigator.onLine||!!e&&(e<400||e>499)}var za={search:function(e,t){for(var a=0,i=e.length-1,o=null,n=null;a<=i;){var r=t(n=e[o=(a+i)/2|0]);if(r>0)a=o+1;else{if(!(r<0))return n;i=o-1}}return null}};function Ka(e,t,a){if(null===t||!Array.isArray(e)||!e.length||!p(t))return null;if(t<(e[0].programDateTime||0))return null;if(t>=(e[e.length-1].endProgramDateTime||0))return null;a=a||0;for(var i=0;i<e.length;++i){var o=e[i];if(Qa(t,a,o))return o}return null}function ja(e,t,a,i){void 0===a&&(a=0),void 0===i&&(i=0);var o=null;if(e){o=t[e.sn-t[0].sn+1]||null;var n=e.endDTS-a;n>0&&n<15e-7&&(a+=15e-7)}else 0===a&&0===t[0].start&&(o=t[0]);if(o&&(!e||e.level===o.level)&&0===xa(a,i,o))return o;var r=za.search(t,xa.bind(null,a,i));return!r||r===e&&o?o:r}function xa(e,t,a){if(void 0===e&&(e=0),void 0===t&&(t=0),a.start<=e&&a.start+a.duration>e)return 0;var i=Math.min(t,a.duration+(a.deltaPTS?a.deltaPTS:0));return a.start+a.duration-i<=e?1:a.start-i>e&&a.start?-1:0}function Qa(e,t,a){var i=1e3*Math.min(t,a.duration+(a.deltaPTS?a.deltaPTS:0));return(a.endProgramDateTime||0)-i>e}function Xa(e,t){return za.search(e,function(e){return e.cc<t?1:e.cc>t?-1:0})}var $a={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},qa={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},Ja=(function(){function e(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=b.log.bind(b,"[info]:"),this.warn=b.warn.bind(b,"[warning]:"),this.error=b.error.bind(b,"[error]:"),this.registerListeners()}var t=e.prototype;return t.registerListeners=function(){var e=this.hls;e.on(f.ERROR,this.onError,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.LEVEL_UPDATED,this.onLevelUpdated,this)},t.unregisterListeners=function(){var e=this.hls;e&&(e.off(f.ERROR,this.onError,this),e.off(f.ERROR,this.onErrorOut,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.LEVEL_UPDATED,this.onLevelUpdated,this))},t.destroy=function(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}},t.startLoad=function(e){},t.stopLoad=function(){this.playlistError=0},t.getVariantLevelIndex=function(e){return(null==e?void 0:e.type)===$t.MAIN?e.level:this.hls.loadLevel},t.onManifestLoading=function(){this.playlistError=0,this.penalizedRenditions={}},t.onLevelUpdated=function(){this.playlistError=0},t.onError=function(e,t){var a,i;if(!t.fatal){var o=this.hls,n=t.context;switch(t.details){case B.FRAG_LOAD_ERROR:case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_ERROR:case B.KEY_LOAD_TIMEOUT:return void(t.errorAction=this.getFragRetryOrSwitchAction(t));case B.FRAG_PARSING_ERROR:if(null!=(a=t.frag)&&a.gap)return void(t.errorAction={action:$a.DoNothing,flags:qa.None});case B.FRAG_GAP:case B.FRAG_DECRYPT_ERROR:return t.errorAction=this.getFragRetryOrSwitchAction(t),void(t.errorAction.action=$a.SendAlternateToPenaltyBox);case B.LEVEL_EMPTY_ERROR:case B.LEVEL_PARSING_ERROR:var r,E,_=t.parent===$t.MAIN?t.level:o.loadLevel;return void(t.details===B.LEVEL_EMPTY_ERROR&&null!=(r=t.context)&&null!=(E=r.levelDetails)&&E.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,_):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,_)));case B.LEVEL_LOAD_ERROR:case B.LEVEL_LOAD_TIMEOUT:return void("number"==typeof(null==n?void 0:n.level)&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.level)));case B.AUDIO_TRACK_LOAD_ERROR:case B.AUDIO_TRACK_LOAD_TIMEOUT:case B.SUBTITLE_LOAD_ERROR:case B.SUBTITLE_TRACK_LOAD_TIMEOUT:if(n){var T=o.levels[o.loadLevel];if(T&&(n.type===Xt.AUDIO_TRACK&&T.hasAudioGroup(n.groupId)||n.type===Xt.SUBTITLE_TRACK&&T.hasSubtitleGroup(n.groupId)))return t.errorAction=this.getPlaylistRetryOrSwitchAction(t,o.loadLevel),t.errorAction.action=$a.SendAlternateToPenaltyBox,void(t.errorAction.flags=qa.MoveAllAlternatesMatchingHost)}return;case B.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:var s=o.levels[o.loadLevel],S=null==s?void 0:s.attrs["HDCP-LEVEL"];return void(S?t.errorAction={action:$a.SendAlternateToPenaltyBox,flags:qa.MoveAllAlternatesMatchingHDCP,hdcpLevel:S}:this.keySystemError(t));case B.BUFFER_ADD_CODEC_ERROR:case B.REMUX_ALLOC_ERROR:case B.BUFFER_APPEND_ERROR:return void(t.errorAction=this.getLevelSwitchAction(t,null!=(i=t.level)?i:o.loadLevel));case B.INTERNAL_EXCEPTION:case B.BUFFER_APPENDING_ERROR:case B.BUFFER_FULL_ERROR:case B.LEVEL_SWITCH_ERROR:case B.BUFFER_STALLED_ERROR:case B.BUFFER_SEEK_OVER_HOLE:case B.BUFFER_NUDGE_ON_STALL:return void(t.errorAction={action:$a.DoNothing,flags:qa.None})}t.type===P.KEY_SYSTEM_ERROR&&this.keySystemError(t)}},t.keySystemError=function(e){var t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t)},t.getPlaylistRetryOrSwitchAction=function(e,t){var a=Fa(this.hls.config.playlistLoadPolicy,e),i=this.playlistError++;if(wa(a,i,ka(e),e.response))return{action:$a.RetryRequest,flags:qa.None,retryConfig:a,retryCount:i};var o=this.getLevelSwitchAction(e,t);return a&&(o.retryConfig=a,o.retryCount=i),o},t.getFragRetryOrSwitchAction=function(e){var t=this.hls,a=this.getVariantLevelIndex(e.frag),i=t.levels[a],o=t.config,n=o.fragLoadPolicy,r=o.keyLoadPolicy,E=Fa(e.details.startsWith("key")?r:n,e),_=t.levels.reduce(function(e,t){return e+t.fragmentError},0);if(i&&(e.details!==B.FRAG_GAP&&i.fragmentError++,wa(E,_,ka(e),e.response)))return{action:$a.RetryRequest,flags:qa.None,retryConfig:E,retryCount:_};var T=this.getLevelSwitchAction(e,a);return E&&(T.retryConfig=E,T.retryCount=_),T},t.getLevelSwitchAction=function(e,t){var a=this.hls;null==t&&(t=a.loadLevel);var i=this.hls.levels[t];if(i){var o,n,r=e.details;i.loadError++,r===B.BUFFER_APPEND_ERROR&&i.fragmentError++;var E=-1,_=a.levels,T=a.loadLevel,s=a.minAutoLevel,S=a.maxAutoLevel;a.autoLevelEnabled||(a.loadLevel=-1);for(var l,I=null==(o=e.frag)?void 0:o.type,A=(I===$t.AUDIO&&r===B.FRAG_PARSING_ERROR||"audio"===e.sourceBufferName&&(r===B.BUFFER_ADD_CODEC_ERROR||r===B.BUFFER_APPEND_ERROR))&&_.some(function(e){var t=e.audioCodec;return i.audioCodec!==t}),u="video"===e.sourceBufferName&&(r===B.BUFFER_ADD_CODEC_ERROR||r===B.BUFFER_APPEND_ERROR)&&_.some(function(e){var t=e.codecSet,a=e.audioCodec;return i.codecSet!==t&&i.audioCodec===a}),d=null!=(n=e.context)?n:{},O=d.type,c=d.groupId,N=function(){var t=(R+T)%_.length;if(t!==T&&t>=s&&t<=S&&0===_[t].loadError){var a,o,n=_[t];if(r===B.FRAG_GAP&&e.frag){var l=_[t].details;if(l){var d=ja(e.frag,l.fragments,e.frag.start);if(null!=d&&d.gap)return 0}}else{if(O===Xt.AUDIO_TRACK&&n.hasAudioGroup(c)||O===Xt.SUBTITLE_TRACK&&n.hasSubtitleGroup(c))return 0;if(I===$t.AUDIO&&null!=(a=i.audioGroups)&&a.some(function(e){return n.hasAudioGroup(e)})||I===$t.SUBTITLE&&null!=(o=i.subtitleGroups)&&o.some(function(e){return n.hasSubtitleGroup(e)})||A&&i.audioCodec===n.audioCodec||!A&&i.audioCodec!==n.audioCodec||u&&i.codecSet===n.codecSet)return 0}return E=t,1}},R=_.length;R--&&(0===(l=N())||1!==l););if(E>-1&&a.loadLevel!==E)return e.levelRetry=!0,this.playlistError=0,{action:$a.SendAlternateToPenaltyBox,flags:qa.None,nextAutoLevel:E}}return{action:$a.SendAlternateToPenaltyBox,flags:qa.MoveAllAlternatesMatchingHost}},t.onErrorOut=function(e,t){var a;switch(null==(a=t.errorAction)?void 0:a.action){case $a.DoNothing:break;case $a.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),t.errorAction.resolved||t.details===B.FRAG_GAP?/MediaSource readyState: ended/.test(t.error.message)&&(this.warn('MediaSource ended after "'+t.sourceBufferName+'" sourceBuffer append error. Attempting to recover from media error.'),this.hls.recoverMediaError()):t.fatal=!0}t.fatal&&this.hls.stopLoad()},t.sendAlternateToPenaltyBox=function(e){var t=this.hls,a=e.errorAction;if(a){var i=a.flags,o=a.hdcpLevel,n=a.nextAutoLevel;switch(i){case qa.None:this.switchLevel(e,n);break;case qa.MoveAllAlternatesMatchingHDCP:o&&(t.maxHdcpLevel=da[da.indexOf(o)-1],a.resolved=!0),this.warn('Restricting playback to HDCP-LEVEL of "'+t.maxHdcpLevel+'" or lower')}a.resolved||this.switchLevel(e,n)}},t.switchLevel=function(e,t){void 0!==t&&e.errorAction&&(this.warn("switching to level "+t+" after "+e.details),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel)},e})(),Za=(function(){function e(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=b.log.bind(b,t+":"),this.warn=b.warn.bind(b,t+":"),this.hls=e}var t=e.prototype;return t.destroy=function(){this.clearTimer(),this.hls=this.log=this.warn=null},t.clearTimer=function(){-1!==this.timer&&(self.clearTimeout(this.timer),this.timer=-1)},t.startLoad=function(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist()},t.stopLoad=function(){this.canLoad=!1,this.clearTimer()},t.switchParams=function(e,t){var a=null==t?void 0:t.renditionReports;if(a){for(var i=-1,o=0;o<a.length;o++){var n=a[o],r=void 0;try{r=new self.URL(n.URI,t.url).href}catch(e){b.warn("Could not construct new URL for Rendition Report: "+e),r=n.URI||""}if(r===e){i=o;break}r===e.substring(0,r.length)&&(i=o)}if(-1!==i){var E=a[i],_=parseInt(E["LAST-MSN"])||(null==t?void 0:t.lastPartSn),T=parseInt(E["LAST-PART"])||(null==t?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){var s=Math.min(t.age-t.partTarget,t.targetduration);T>=0&&s>t.partTarget&&(T+=1)}return new La(_,T>=0?T:void 0,Ra.No)}}},t.loadPlaylist=function(e){-1===this.requestScheduled&&(this.requestScheduled=self.performance.now())},t.shouldLoadPlaylist=function(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)},t.shouldReloadPlaylist=function(e){return-1===this.timer&&-1===this.requestScheduled&&this.shouldLoadPlaylist(e)},t.playlistLoaded=function(e,t,a){var i=this,o=t.details,n=t.stats,r=self.performance.now(),E=n.loading.first?Math.max(0,r-n.loading.first):0;if(o.advancedDateTime=Date.now()-E,o.live||null!=a&&a.live){if(o.reloaded(a),a&&this.log("live playlist "+e+" "+(o.advanced?"REFRESHED "+o.lastPartSn+"-"+o.lastPartIndex:o.updated?"UPDATED":"MISSED")),a&&o.fragments.length>0&&fa(a,o),!this.canLoad||!o.live)return;var _,T=void 0,s=void 0;if(o.canBlockReload&&o.endSN&&o.advanced){var S=this.hls.config.lowLatencyMode,l=o.lastPartSn,I=o.endSN,A=o.lastPartIndex,u=l===I;-1!==A?(T=u?I+1:l,s=u?S?0:A:A+1):T=I+1;var d=o.age,O=d+o.ageHeader,c=Math.min(O-o.partTarget,1.5*o.targetduration);if(c>0){if(a&&c>a.tuneInGoal)this.warn("CDN Tune-in goal increased from: "+a.tuneInGoal+" to: "+c+" with playlist age: "+o.age),c=0;else{var N=Math.floor(c/o.targetduration);T+=N,void 0!==s&&(s+=Math.round(c%o.targetduration/o.partTarget)),this.log("CDN Tune-in age: "+o.ageHeader+"s last advanced "+d.toFixed(2)+"s goal: "+c+" skip sn "+N+" to part "+s)}o.tuneInGoal=c}if(_=this.getDeliveryDirectives(o,t.deliveryDirectives,T,s),S||!u)return void this.loadPlaylist(_)}else(o.canBlockReload||o.canSkipUntil)&&(_=this.getDeliveryDirectives(o,t.deliveryDirectives,T,s));var R=this.hls.mainForwardBufferInfo,m=R?R.end-R.len:0,L=Wa(o,1e3*(o.edge-m));o.updated&&r>this.requestScheduled+L&&(this.requestScheduled=n.loading.start),void 0!==T&&o.canBlockReload?this.requestScheduled=n.loading.first+L-(1e3*o.partTarget||1e3):-1===this.requestScheduled||this.requestScheduled+L<r?this.requestScheduled=r:this.requestScheduled-r<=0&&(this.requestScheduled+=L);var D=this.requestScheduled-r;D=Math.max(0,D),this.log("reload live playlist "+e+" in "+Math.round(D)+" ms"),this.timer=self.setTimeout(function(){return i.loadPlaylist(_)},D)}else this.clearTimer()},t.getDeliveryDirectives=function(e,t,a,i){var o=ma(e,a);return null!=t&&t.skip&&e.deltaUpdateFailed&&(a=t.msn,i=t.part,o=Ra.No),new La(a,i,o)},t.checkRetry=function(e){var t=this,a=e.details,i=ka(e),o=e.errorAction,n=o||{},r=n.action,E=n.retryCount,_=void 0===E?0:E,T=n.retryConfig,s=!!o&&!!T&&(r===$a.RetryRequest||!o.resolved&&r===$a.SendAlternateToPenaltyBox);if(s){var S;if(this.requestScheduled=-1,_>=T.maxNumRetry)return!1;if(i&&null!=(S=e.context)&&S.deliveryDirectives)this.warn("Retrying playlist loading "+(_+1)+"/"+T.maxNumRetry+' after "'+a+'" without delivery-directives'),this.loadPlaylist();else{var l=Va(T,_);this.timer=self.setTimeout(function(){return t.loadPlaylist()},l),this.warn("Retrying playlist loading "+(_+1)+"/"+T.maxNumRetry+' after "'+a+'" in '+l+"ms")}e.levelRetry=!0,o.resolved=!0}return s},e})(),ei=(function(){function e(e,t,a){void 0===t&&(t=0),void 0===a&&(a=0),this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=a}var t=e.prototype;return t.sample=function(e,t){var a=Math.pow(this.alpha_,e);this.estimate_=t*(1-a)+a*this.estimate_,this.totalWeight_+=e},t.getTotalWeight=function(){return this.totalWeight_},t.getEstimate=function(){if(this.alpha_){var e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_},e})(),ti=(function(){function e(e,t,a,i){void 0===i&&(i=100),this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=a,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new ei(e),this.fast_=new ei(t),this.defaultTTFB_=i,this.ttfb_=new ei(e)}var t=e.prototype;return t.update=function(e,t){var a=this.slow_,i=this.fast_,o=this.ttfb_;a.halfLife!==e&&(this.slow_=new ei(e,a.getEstimate(),a.getTotalWeight())),i.halfLife!==t&&(this.fast_=new ei(t,i.getEstimate(),i.getTotalWeight())),o.halfLife!==e&&(this.ttfb_=new ei(e,o.getEstimate(),o.getTotalWeight()))},t.sample=function(e,t){var a=(e=Math.max(e,this.minDelayMs_))/1e3,i=8*t/a;this.fast_.sample(a,i),this.slow_.sample(a,i)},t.sampleTTFB=function(e){var t=e/1e3,a=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(a,Math.max(e,5))},t.canEstimate=function(){return this.fast_.getTotalWeight()>=this.minWeight_},t.getEstimate=function(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_},t.getEstimateTTFB=function(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_},t.destroy=function(){},e})(),ai={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},ii={};function oi(e,t,a,i,o,n){var r=e.audioCodec?e.audioGroups:null,E=null==n?void 0:n.audioCodec,_=null==n?void 0:n.channels,T=_?parseInt(_):E?1/0:2,s=null;if(null!=r&&r.length)try{s=1===r.length&&r[0]?t.groups[r[0]].channels:r.reduce(function(e,a){if(a){var i=t.groups[a];if(!i)throw new Error("Audio track group "+a+" not found");Object.keys(i.channels).forEach(function(t){e[t]=(e[t]||0)+i.channels[t]})}return e},{2:0})}catch(e){return!0}return void 0!==e.videoCodec&&(e.width>1920&&e.height>1088||e.height>1920&&e.width>1088||e.frameRate>Math.max(i,30)||"SDR"!==e.videoRange&&e.videoRange!==a||e.bitrate>Math.max(o,8e6))||!!s&&p(T)&&Object.keys(s).some(function(e){return parseInt(e)>T})}function ni(e,t,a){var o=e.videoCodec,n=e.audioCodec;if(!o||!n||!a)return Promise.resolve(ai);var r={width:e.width,height:e.height,bitrate:Math.ceil(Math.max(.9*e.bitrate,e.averageBitrate)),framerate:e.frameRate||30},E=e.videoRange;"SDR"!==E&&(r.transferFunction=E.toLowerCase());var _=o.split(",").map(function(e){return{type:"media-source",video:i(i({},r),{},{contentType:ht(e,"video")})}});return n&&e.audioGroups&&e.audioGroups.forEach(function(e){var a;e&&(null==(a=t.groups[e])||a.tracks.forEach(function(t){if(t.groupId===e){var a=t.channels||"",i=parseFloat(a);p(i)&&i>2&&_.push.apply(_,n.split(",").map(function(e){return{type:"media-source",audio:{contentType:ht(e,"audio"),channels:""+i}}}))}}))}),Promise.all(_.map(function(e){var t=ri(e);return ii[t]||(ii[t]=a.decodingInfo(e))})).then(function(e){return{supported:!e.some(function(e){return!e.supported}),configurations:_,decodingInfoResults:e}}).catch(function(e){return{supported:!1,configurations:_,decodingInfoResults:[],error:e}})}function ri(e){var t=e.audio,a=e.video,i=a||t;if(i){var o=i.contentType.split('"')[1];if(a)return"r"+a.height+"x"+a.width+"f"+Math.ceil(a.framerate)+(a.transferFunction||"sd")+"_"+o+"_"+Math.ceil(a.bitrate/1e5);if(t)return"c"+t.channels+(t.spatialRendering?"s":"n")+"_"+o}return""}function Ei(){if("function"==typeof matchMedia){var e=matchMedia("(dynamic-range: high)"),t=matchMedia("bad query");if(e.media!==t.media)return!0===e.matches}return!1}function _i(e,t){var a=!1,i=[];return e&&(a="SDR"!==e,i=[e]),t&&(i=t.allowedVideoRanges||ca.slice(0),i=(a=void 0!==t.preferHDR?t.preferHDR:Ei())?i.filter(function(e){return"SDR"!==e}):["SDR"]),{preferHDR:a,allowedVideoRanges:i}}function Ti(e,t,a,i,o){for(var n=Object.keys(e),r=null==i?void 0:i.channels,E=null==i?void 0:i.audioCodec,_=r&&2===parseInt(r),T=!0,s=!1,S=1/0,l=1/0,I=1/0,A=0,u=[],d=_i(t,o),O=d.preferHDR,c=d.allowedVideoRanges,N=function(){var t=e[n[R]];T=t.channels[2]>0,S=Math.min(S,t.minHeight),l=Math.min(l,t.minFramerate),I=Math.min(I,t.minBitrate);var a=c.filter(function(e){return t.videoRanges[e]>0});a.length>0&&(s=!0,u=a)},R=n.length;R--;)N();S=p(S)?S:0,l=p(l)?l:0;var m=Math.max(1080,S),L=Math.max(30,l);return I=p(I)?I:a,a=Math.max(I,a),s||(t=void 0,u=[]),{codecSet:n.reduce(function(t,i){var o=e[i];if(i===t)return t;if(o.minBitrate>a)return si(i,"min bitrate of "+o.minBitrate+" > current estimate of "+a),t;if(!o.hasDefaultAudio)return si(i,"no renditions with default or auto-select sound found"),t;if(E&&i.indexOf(E.substring(0,4))%5!=0)return si(i,'audio codec preference "'+E+'" not found'),t;if(r&&!_){if(!o.channels[r])return si(i,"no renditions with "+r+" channel sound found (channels options: "+Object.keys(o.channels)+")"),t}else if((!E||_)&&T&&0===o.channels[2])return si(i,"no renditions with stereo sound found"),t;return o.minHeight>m?(si(i,"min resolution of "+o.minHeight+" > maximum of "+m),t):o.minFramerate>L?(si(i,"min framerate of "+o.minFramerate+" > maximum of "+L),t):u.some(function(e){return o.videoRanges[e]>0})?o.maxScore<A?(si(i,"max score of "+o.maxScore+" < selected max of "+A),t):t&&(Pt(i)>=Pt(t)||o.fragmentError>e[t].fragmentError)?t:(A=o.maxScore,i):(si(i,"no variants with VIDEO-RANGE of "+JSON.stringify(u)+" found"),t)},void 0),videoRanges:u,preferHDR:O,minFramerate:l,minBitrate:I}}function si(e,t){b.log('[abr] start candidates with "'+e+'" ignored because '+t)}function Si(e){return e.reduce(function(e,t){var a=e.groups[t.groupId];a||(a=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),a.tracks.push(t);var i=t.channels||"2";return a.channels[i]=(a.channels[i]||0)+1,a.hasDefault=a.hasDefault||t.default,a.hasAutoSelect=a.hasAutoSelect||t.autoselect,a.hasDefault&&(e.hasDefaultAudio=!0),a.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function li(e,t,a,i){return e.slice(a,i+1).reduce(function(e,a){if(!a.codecSet)return e;var i=a.audioGroups,o=e[a.codecSet];o||(e[a.codecSet]=o={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!i,fragmentError:0}),o.minBitrate=Math.min(o.minBitrate,a.bitrate);var n=Math.min(a.height,a.width);return o.minHeight=Math.min(o.minHeight,n),o.minFramerate=Math.min(o.minFramerate,a.frameRate),o.maxScore=Math.max(o.maxScore,a.score),o.fragmentError+=a.fragmentError,o.videoRanges[a.videoRange]=(o.videoRanges[a.videoRange]||0)+1,i&&i.forEach(function(e){if(e){var a=t.groups[e];o.hasDefaultAudio=o.hasDefaultAudio||t.hasDefaultAudio?a.hasDefault:a.hasAutoSelect||!t.hasDefaultAudio&&!t.hasAutoSelectAudio,Object.keys(a.channels).forEach(function(e){o.channels[e]=(o.channels[e]||0)+a.channels[e]})}}),e},{})}function Ii(e,t,a){if("attrs"in e){var i=t.indexOf(e);if(-1!==i)return i}for(var o=0;o<t.length;o++)if(Ai(e,t[o],a))return o;return-1}function Ai(e,t,a){var i=e.groupId,o=e.name,n=e.lang,r=e.assocLang,E=e.characteristics,_=e.default,T=e.forced;return(void 0===i||t.groupId===i)&&(void 0===o||t.name===o)&&(void 0===n||t.lang===n)&&(void 0===n||t.assocLang===r)&&(void 0===_||t.default===_)&&(void 0===T||t.forced===T)&&(void 0===E||ui(E,t.characteristics))&&(void 0===a||a(e,t))}function ui(e,t){void 0===t&&(t="");var a=e.split(","),i=t.split(",");return a.length===i.length&&!a.some(function(e){return-1===i.indexOf(e)})}function di(e,t){var a=e.audioCodec,i=e.channels;return!(void 0!==a&&(t.audioCodec||"").substring(0,4)!==a.substring(0,4)||void 0!==i&&i!==(t.channels||"2"))}function Oi(e,t,a,i,o){var n=t[i],r=t.reduce(function(e,t,a){var i=t.uri;return(e[i]||(e[i]=[])).push(a),e},{})[n.uri];r.length>1&&(i=Math.max.apply(Math,r));var E=n.videoRange,_=n.frameRate,T=n.codecSet.substring(0,4),s=ci(t,i,function(t){if(t.videoRange!==E||t.frameRate!==_||t.codecSet.substring(0,4)!==T)return!1;var i=t.audioGroups,n=a.filter(function(e){return!i||-1!==i.indexOf(e.groupId)});return Ii(e,n,o)>-1});return s>-1?s:ci(t,i,function(t){var i=t.audioGroups,n=a.filter(function(e){return!i||-1!==i.indexOf(e.groupId)});return Ii(e,n,o)>-1})}function ci(e,t,a){for(var i=t;i;i--)if(a(e[i]))return i;for(var o=t+1;o<e.length;o++)if(a(e[o]))return o;return-1}var Ni=(function(){function e(e){var t=this;this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=function(){var e=t.fragCurrent,a=t.partCurrent,i=t.hls,o=i.autoLevelEnabled,n=i.media;if(e&&n){var r=performance.now(),E=a?a.stats:e.stats,_=a?a.duration:e.duration,T=r-E.loading.start,s=i.minAutoLevel;if(E.aborted||E.loaded&&E.loaded===E.total||e.level<=s)return t.clearTimer(),void(t._nextAutoLevel=-1);if(o&&!n.paused&&n.playbackRate&&n.readyState){var S=i.mainForwardBufferInfo;if(null!==S){var l=t.bwEstimator.getEstimateTTFB(),I=Math.abs(n.playbackRate);if(!(T<=Math.max(l,_/(2*I)*1e3))){var A=S.len/I,u=E.loading.first?E.loading.first-E.loading.start:-1,d=E.loaded&&u>-1,O=t.getBwEstimate(),c=i.levels,N=c[e.level],R=E.total||Math.max(E.loaded,Math.round(_*N.averageBitrate/8)),m=d?T-u:T;m<1&&d&&(m=Math.min(T,8*E.loaded/O));var L=d?1e3*E.loaded/m:0,D=L?(R-E.loaded)/L:8*R/O+l/1e3;if(!(D<=A)){var C,h=L?8*L:O,P=Number.POSITIVE_INFINITY;for(C=e.level-1;C>s;C--){var B=c[C].maxBitrate;if((P=t.getTimeToLoadFrag(l/1e3,h,_*B,!c[C].details))<A)break}if(!(P>=D||P>10*_)){i.nextLoadLevel=i.nextAutoLevel=C,d?t.bwEstimator.sample(T-Math.min(l,u),E.loaded):t.bwEstimator.sampleTTFB(T);var g=c[C].maxBitrate;t.getBwEstimate()*t.hls.config.abrBandWidthUpFactor>g&&t.resetEstimator(g),t.clearTimer(),b.warn("[abr] Fragment "+e.sn+(a?" part "+a.index:"")+" of level "+e.level+" is loading too slowly;\n Time to underbuffer: "+A.toFixed(3)+" s\n Estimated load time for current fragment: "+D.toFixed(3)+" s\n Estimated load time for down switch fragment: "+P.toFixed(3)+" s\n TTFB estimate: "+(0|u)+" ms\n Current BW estimate: "+(p(O)?0|O:"Unknown")+" bps\n New BW estimate: "+(0|t.getBwEstimate())+" bps\n Switching to level "+C+" @ "+(0|g)+" bps"),i.trigger(f.FRAG_LOAD_EMERGENCY_ABORTED,{frag:e,part:a,stats:E})}}}}}}},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}var t=e.prototype;return t.resetEstimator=function(e){e&&(b.log("setting initial bwe to "+e),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()},t.initEstimator=function(){var e=this.hls.config;return new ti(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)},t.registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.FRAG_LOADING,this.onFragLoading,this),e.on(f.FRAG_LOADED,this.onFragLoaded,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this),e.on(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(f.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(f.ERROR,this.onError,this)},t.unregisterListeners=function(){var e=this.hls;e&&(e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.FRAG_LOADING,this.onFragLoading,this),e.off(f.FRAG_LOADED,this.onFragLoaded,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this),e.off(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(f.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(f.ERROR,this.onError,this))},t.destroy=function(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null},t.onManifestLoading=function(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()},t.onLevelsUpdated=function(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null},t.onMaxAutoLevelUpdated=function(){this.firstSelection=-1,this.nextAutoLevelKey=""},t.onFragLoading=function(e,t){var a,i=t.frag;this.ignoreFragment(i)||(i.bitrateTest||(this.fragCurrent=i,this.partCurrent=null!=(a=t.part)?a:null),this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100))},t.onLevelSwitching=function(e,t){this.clearTimer()},t.onError=function(e,t){if(!t.fatal)switch(t.details){case B.BUFFER_ADD_CODEC_ERROR:case B.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case B.FRAG_LOAD_TIMEOUT:var a=t.frag,i=this.fragCurrent,o=this.partCurrent;if(a&&i&&a.sn===i.sn&&a.level===i.level){var n=performance.now(),r=o?o.stats:a.stats,E=n-r.loading.start,_=r.loading.first?r.loading.first-r.loading.start:-1;if(r.loaded&&_>-1){var T=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(E-Math.min(T,_),r.loaded)}else this.bwEstimator.sampleTTFB(E)}}},t.getTimeToLoadFrag=function(e,t,a,i){return e+a/t+(i?this.lastLevelLoadSec:0)},t.onLevelLoaded=function(e,t){var a=this.hls.config,i=t.stats.loading,o=i.end-i.start;p(o)&&(this.lastLevelLoadSec=o/1e3),t.details.live?this.bwEstimator.update(a.abrEwmaSlowLive,a.abrEwmaFastLive):this.bwEstimator.update(a.abrEwmaSlowVoD,a.abrEwmaFastVoD)},t.onFragLoaded=function(e,t){var a=t.frag,i=t.part,o=i?i.stats:a.stats;if(a.type===$t.MAIN&&this.bwEstimator.sampleTTFB(o.loading.first-o.loading.start),!this.ignoreFragment(a)){if(this.clearTimer(),a.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){var n=i?i.duration:a.duration,r=this.hls.levels[a.level],E=(r.loaded?r.loaded.bytes:0)+o.loaded,_=(r.loaded?r.loaded.duration:0)+n;r.loaded={bytes:E,duration:_},r.realBitrate=Math.round(8*E/_)}if(a.bitrateTest){var T={stats:o,frag:a,part:i,id:a.type};this.onFragBuffered(f.FRAG_BUFFERED,T),a.bitrateTest=!1}else this.lastLoadedFragLevel=a.level}},t.onFragBuffered=function(e,t){var a=t.frag,i=t.part,o=null!=i&&i.stats.loaded?i.stats:a.stats;if(!o.aborted&&!this.ignoreFragment(a)){var n=o.parsing.end-o.loading.start-Math.min(o.loading.first-o.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(n,o.loaded),o.bwEstimate=this.getBwEstimate(),a.bitrateTest?this.bitrateTestDelay=n/1e3:this.bitrateTestDelay=0}},t.ignoreFragment=function(e){return e.type!==$t.MAIN||"initSegment"===e.sn},t.clearTimer=function(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)},t.getAutoLevelKey=function(){var e;return this.getBwEstimate()+"_"+(null==(e=this.hls.mainForwardBufferInfo)?void 0:e.len)},t.getNextABRAutoLevel=function(){var e=this.fragCurrent,t=this.partCurrent,a=this.hls,i=a.maxAutoLevel,o=a.config,n=a.minAutoLevel,r=a.media,E=t?t.duration:e?e.duration:0,_=r&&0!==r.playbackRate?Math.abs(r.playbackRate):1,T=this.getBwEstimate(),s=a.mainForwardBufferInfo,S=(s?s.len:0)/_,l=o.abrBandWidthFactor,I=o.abrBandWidthUpFactor;if(S){var A=this.findBestLevel(T,n,i,S,0,l,I);if(A>=0)return A}var u=E?Math.min(E,o.maxStarvationDelay):o.maxStarvationDelay;if(!S){var d=this.bitrateTestDelay;d&&(u=(E?Math.min(E,o.maxLoadingDelay):o.maxLoadingDelay)-d,b.info("[abr] bitrate test took "+Math.round(1e3*d)+"ms, set first fragment max fetchDuration to "+Math.round(1e3*u)+" ms"),l=I=1)}var O=this.findBestLevel(T,n,i,S,u,l,I);if(b.info("[abr] "+(S?"rebuffering expected":"buffer is empty")+", optimal quality level "+O),O>-1)return O;var c=a.levels[n],N=a.levels[a.loadLevel];return(null==c?void 0:c.bitrate)<(null==N?void 0:N.bitrate)?n:a.loadLevel},t.getBwEstimate=function(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate},t.findBestLevel=function(e,t,a,i,o,n,r){var E,_=this,T=i+o,s=this.lastLoadedFragLevel,S=-1===s?this.hls.firstLevel:s,l=this.fragCurrent,I=this.partCurrent,A=this.hls,u=A.levels,d=A.allAudioTracks,O=A.loadLevel,c=A.config;if(1===u.length)return 0;var N,R=u[S],m=!(null==R||null==(E=R.details)||!E.live),L=-1===O||-1===s,D="SDR",C=(null==R?void 0:R.frameRate)||0,h=c.audioPreference,f=c.videoPreference,P=this.audioTracksByGroup||(this.audioTracksByGroup=Si(d));if(L){if(-1!==this.firstSelection)return this.firstSelection;var B=Ti(this.codecTiers||(this.codecTiers=li(u,P,t,a)),D,e,h,f),g=B.codecSet,v=B.videoRanges,M=B.minFramerate,W=B.minBitrate,y=B.preferHDR;N=g,D=y?v[v.length-1]:v[0],C=M,e=Math.max(e,W),b.log("[abr] picked start tier "+JSON.stringify(B))}else N=null==R?void 0:R.codecSet,D=null==R?void 0:R.videoRange;for(var U,G=I?I.duration:l?l.duration:0,k=this.bwEstimator.getEstimateTTFB()/1e3,F=[],V=function(){var t,E=u[H],l=H>S;if(!E)return 0;if(c.useMediaCapabilities&&!E.supportedResult&&!E.supportedPromise){var A=navigator.mediaCapabilities;"function"==typeof(null==A?void 0:A.decodingInfo)&&oi(E,P,D,C,e,h)?(E.supportedPromise=ni(E,P,A),E.supportedPromise.then(function(e){E.supportedResult=e;var t=_.hls.levels,a=t.indexOf(E);e.error?b.warn('[abr] MediaCapabilities decodingInfo error: "'+e.error+'" for level '+a+" "+JSON.stringify(e)):e.supported||(b.warn("[abr] Unsupported MediaCapabilities decodingInfo result for level "+a+" "+JSON.stringify(e)),a>-1&&t.length>1&&(b.log("[abr] Removing unsupported level "+a),_.hls.removeLevel(a)))})):E.supportedResult=ai}if(N&&E.codecSet!==N||D&&E.videoRange!==D||l&&C>E.frameRate||!l&&C>0&&C<E.frameRate||E.supportedResult&&(null==(t=E.supportedResult.decodingInfoResults)||!t[0].smooth))return F.push(H),0;var d,f=E.details,B=(I?null==f?void 0:f.partTarget:null==f?void 0:f.averagetargetduration)||G;d=l?r*e:n*e;var g=G&&i>=2*G&&0===o?u[H].averageBitrate:u[H].maxBitrate,v=_.getTimeToLoadFrag(k,d,g*B,void 0===f);if(d>=g&&(H===s||0===E.loadError&&0===E.fragmentError)&&(v<=k||!p(v)||m&&!_.bitrateTestDelay||v<T)){var M=_.forcedAutoLevel;return H===O||-1!==M&&M===O||(F.length&&b.trace("[abr] Skipped level(s) "+F.join(",")+" of "+a+' max with CODECS and VIDEO-RANGE:"'+u[F[0]].codecs+'" '+u[F[0]].videoRange+'; not compatible with "'+R.codecs+'" '+D),b.info("[abr] switch candidate:"+S+"->"+H+" adjustedbw("+Math.round(d)+")-bitrate="+Math.round(d-g)+" ttfb:"+k.toFixed(1)+" avgDuration:"+B.toFixed(1)+" maxFetchDuration:"+T.toFixed(1)+" fetchDuration:"+v.toFixed(1)+" firstSelection:"+L+" codecSet:"+N+" videoRange:"+D+" hls.loadLevel:"+O)),L&&(_.firstSelection=H),{v:H}}},H=a;H>=t;H--)if(0!==(U=V())&&U)return U.v;return-1},E(e,[{key:"firstAutoLevel",get:function(){var e=this.hls,t=e.maxAutoLevel,a=e.minAutoLevel,i=this.getBwEstimate(),o=this.hls.config.maxStarvationDelay,n=this.findBestLevel(i,a,t,0,o,1,1);if(n>-1)return n;var r=this.hls.firstLevel,E=Math.min(Math.max(r,a),t);return b.warn("[abr] Could not find best starting auto level. Defaulting to first in playlist "+r+" clamped to "+E),E}},{key:"forcedAutoLevel",get:function(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}},{key:"nextAutoLevel",get:function(){var e=this.forcedAutoLevel,t=this.bwEstimator.canEstimate(),a=this.lastLoadedFragLevel>-1;if(!(-1===e||t&&a&&this.nextAutoLevelKey!==this.getAutoLevelKey()))return e;var i=t&&a?this.getNextABRAutoLevel():this.firstAutoLevel;if(-1!==e){var o=this.hls.levels;if(o.length>Math.max(e,i)&&o[e].loadError<=o[i].loadError)return e}return this._nextAutoLevel=i,this.nextAutoLevelKey=this.getAutoLevelKey(),i},set:function(e){var t=this.hls,a=t.maxAutoLevel,i=t.minAutoLevel,o=Math.min(Math.max(e,i),a);this._nextAutoLevel!==o&&(this.nextAutoLevelKey="",this._nextAutoLevel=o)}}]),e})(),Ri=(function(){function e(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}var t=e.prototype;return t.destroy=function(){this.onHandlerDestroying(),this.onHandlerDestroyed()},t.onHandlerDestroying=function(){this.clearNextTick(),this.clearInterval()},t.onHandlerDestroyed=function(){},t.hasInterval=function(){return!!this._tickInterval},t.hasNextTick=function(){return!!this._tickTimer},t.setInterval=function(e){return!this._tickInterval&&(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)},t.clearInterval=function(){return!!this._tickInterval&&(self.clearInterval(this._tickInterval),this._tickInterval=null,!0)},t.clearNextTick=function(){return!!this._tickTimer&&(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0)},t.tick=function(){this._tickCallCount++,1===this._tickCallCount&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)},t.tickImmediate=function(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)},t.doTick=function(){},e})(),mi={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},Li=(function(){function e(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}var t=e.prototype;return t._registerListeners=function(){var e=this.hls;e.on(f.BUFFER_APPENDED,this.onBufferAppended,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this),e.on(f.FRAG_LOADED,this.onFragLoaded,this)},t._unregisterListeners=function(){var e=this.hls;e.off(f.BUFFER_APPENDED,this.onBufferAppended,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this),e.off(f.FRAG_LOADED,this.onFragLoaded,this)},t.destroy=function(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null},t.getAppendedFrag=function(e,t){var a=this.activePartLists[t];if(a)for(var i=a.length;i--;){var o=a[i];if(!o)break;var n=o.end;if(o.start<=e&&null!==n&&e<=n)return o}return this.getBufferedFrag(e,t)},t.getBufferedFrag=function(e,t){for(var a=this.fragments,i=Object.keys(a),o=i.length;o--;){var n=a[i[o]];if((null==n?void 0:n.body.type)===t&&n.buffered){var r=n.body;if(r.start<=e&&e<=r.end)return r}}return null},t.detectEvictedFragments=function(e,t,a,i){var o=this;this.timeRanges&&(this.timeRanges[e]=t);var n=(null==i?void 0:i.fragment.sn)||-1;Object.keys(this.fragments).forEach(function(i){var r=o.fragments[i];if(r&&!(n>=r.body.sn))if(r.buffered||r.loaded){var E=r.range[e];E&&E.time.some(function(e){var a=!o.isTimeBuffered(e.startPTS,e.endPTS,t);return a&&o.removeFragment(r.body),a})}else r.body.type===a&&o.removeFragment(r.body)})},t.detectPartialFragments=function(e){var t=this,a=this.timeRanges,i=e.frag,o=e.part;if(a&&"initSegment"!==i.sn){var n=pi(i),r=this.fragments[n];if(!(!r||r.buffered&&i.gap)){var E=!i.relurl;Object.keys(a).forEach(function(e){var n=i.elementaryStreams[e];if(n){var _=a[e],T=E||!0===n.partial;r.range[e]=t.getBufferedTimes(i,o,T,_)}}),r.loaded=null,Object.keys(r.range).length?(r.buffered=!0,(r.body.endList=i.endList||r.body.endList)&&(this.endListFragments[r.body.type]=r),Di(r)||this.removeParts(i.sn-1,i.type)):this.removeFragment(r.body)}}},t.removeParts=function(e,t){var a=this.activePartLists[t];a&&(this.activePartLists[t]=a.filter(function(t){return t.fragment.sn>=e}))},t.fragBuffered=function(e,t){var a=pi(e),i=this.fragments[a];!i&&t&&(i=this.fragments[a]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),i&&(i.loaded=null,i.buffered=!0)},t.getBufferedTimes=function(e,t,a,i){for(var o={time:[],partial:a},n=e.start,r=e.end,E=e.minEndPTS||r,_=e.maxStartPTS||n,T=0;T<i.length;T++){var s=i.start(T)-this.bufferPadding,S=i.end(T)+this.bufferPadding;if(_>=s&&E<=S){o.time.push({startPTS:Math.max(n,i.start(T)),endPTS:Math.min(r,i.end(T))});break}if(n<S&&r>s){var l=Math.max(n,i.start(T)),I=Math.min(r,i.end(T));I>l&&(o.partial=!0,o.time.push({startPTS:l,endPTS:I}))}else if(r<=s)break}return o},t.getPartialFragment=function(e){var t,a,i,o=null,n=0,r=this.bufferPadding,E=this.fragments;return Object.keys(E).forEach(function(_){var T=E[_];T&&Di(T)&&(a=T.body.start-r,i=T.body.end+r,e>=a&&e<=i&&(t=Math.min(e-a,i-e),n<=t&&(o=T.body,n=t)))}),o},t.isEndListAppended=function(e){var t=this.endListFragments[e];return void 0!==t&&(t.buffered||Di(t))},t.getState=function(e){var t=pi(e),a=this.fragments[t];return a?a.buffered?Di(a)?mi.PARTIAL:mi.OK:mi.APPENDING:mi.NOT_LOADED},t.isTimeBuffered=function(e,t,a){for(var i,o,n=0;n<a.length;n++){if(i=a.start(n)-this.bufferPadding,o=a.end(n)+this.bufferPadding,e>=i&&t<=o)return!0;if(t<=i)return!1}return!1},t.onFragLoaded=function(e,t){var a=t.frag,i=t.part;if("initSegment"!==a.sn&&!a.bitrateTest){var o=i?null:t,n=pi(a);this.fragments[n]={body:a,appendedPTS:null,loaded:o,buffered:!1,range:Object.create(null)}}},t.onBufferAppended=function(e,t){var a=this,i=t.frag,o=t.part,n=t.timeRanges;if("initSegment"!==i.sn){var r=i.type;if(o){var E=this.activePartLists[r];E||(this.activePartLists[r]=E=[]),E.push(o)}this.timeRanges=n,Object.keys(n).forEach(function(e){var t=n[e];a.detectEvictedFragments(e,t,r,o)})}},t.onFragBuffered=function(e,t){this.detectPartialFragments(t)},t.hasFragment=function(e){var t=pi(e);return!!this.fragments[t]},t.hasParts=function(e){var t;return!(null==(t=this.activePartLists[e])||!t.length)},t.removeFragmentsInRange=function(e,t,a,i,o){var n=this;i&&!this.hasGaps||Object.keys(this.fragments).forEach(function(r){var E=n.fragments[r];if(E){var _=E.body;_.type!==a||i&&!_.gap||_.start<t&&_.end>e&&(E.buffered||o)&&n.removeFragment(_)}})},t.removeFragment=function(e){var t=pi(e);e.stats.loaded=0,e.clearElementaryStreamInfo();var a=this.activePartLists[e.type];if(a){var i=e.sn;this.activePartLists[e.type]=a.filter(function(e){return e.fragment.sn!==i})}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]},t.removeAllFragments=function(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1},e})();function Di(e){var t,a,i;return e.buffered&&(e.body.gap||(null==(t=e.range.video)?void 0:t.partial)||(null==(a=e.range.audio)?void 0:a.partial)||(null==(i=e.range.audiovideo)?void 0:i.partial))}function pi(e){return e.type+"_"+e.level+"_"+e.sn}var Ci={length:0,start:function(){return 0},end:function(){return 0}},hi=(function(){function e(){}return e.isBuffered=function(t,a){try{if(t)for(var i=e.getBuffered(t),o=0;o<i.length;o++)if(a>=i.start(o)&&a<=i.end(o))return!0}catch(e){}return!1},e.bufferInfo=function(t,a,i){try{if(t){var o,n=e.getBuffered(t),r=[];for(o=0;o<n.length;o++)r.push({start:n.start(o),end:n.end(o)});return this.bufferedInfo(r,a,i)}}catch(e){}return{len:0,start:a,end:a,nextStart:void 0}},e.bufferedInfo=function(e,t,a){t=Math.max(0,t),e.sort(function(e,t){var a=e.start-t.start;return a||t.end-e.end});var i=[];if(a)for(var o=0;o<e.length;o++){var n=i.length;if(n){var r=i[n-1].end;e[o].start-r<a?e[o].end>r&&(i[n-1].end=e[o].end):i.push(e[o])}else i.push(e[o])}else i=e;for(var E,_=0,T=t,s=t,S=0;S<i.length;S++){var l=i[S].start,I=i[S].end;if(t+a>=l&&t<I)T=l,_=(s=I)-t;else if(t+a<l){E=l;break}}return{len:_,start:T||0,end:s||0,nextStart:E}},e.getBuffered=function(e){try{return e.buffered}catch(e){return b.log("failed to get media.buffered",e),Ci}},e})(),fi=function(e,t,a,i,o,n){void 0===i&&(i=0),void 0===o&&(o=-1),void 0===n&&(n=!1),this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=Pi(),this.buffering={audio:Pi(),video:Pi(),audiovideo:Pi()},this.level=e,this.sn=t,this.id=a,this.size=i,this.part=o,this.partial=n};function Pi(){return{start:0,executeStart:0,executeEnd:0,end:0}}function Bi(e,t){for(var a=0,i=e.length;a<i;a++){var o;if((null==(o=e[a])?void 0:o.cc)===t)return e[a]}return null}function gi(e,t,a){return!(!t||!(a.endCC>a.startCC||e&&e.cc<a.startCC))}function vi(e,t){var a=e.fragments,i=t.fragments;if(i.length&&a.length){var o=Bi(a,i[0].cc);if(o&&(!o||o.startPTS))return o;b.log("No frag in previous level to align on")}else b.log("No fragments to align")}function Mi(e,t){if(e){var a=e.start+t;e.start=e.startPTS=a,e.endPTS=a+e.duration}}function Wi(e,t){for(var a=t.fragments,i=0,o=a.length;i<o;i++)Mi(a[i],e);t.fragmentHint&&Mi(t.fragmentHint,e),t.alignedSliding=!0}function yi(e,t,a){t&&(Ui(e,a,t),!a.alignedSliding&&t&&bi(a,t),a.alignedSliding||!t||a.skippedSegments||va(t,a))}function Ui(e,t,a){if(gi(e,a,t)){var i=vi(a,t);i&&p(i.start)&&(b.log("Adjusting PTS using last level due to CC increase within current level "+t.url),Wi(i.start,t))}}function bi(e,t){if(e.hasProgramDateTime&&t.hasProgramDateTime){var a=e.fragments,i=t.fragments;if(a.length&&i.length){var o,n,r=Math.min(t.endCC,e.endCC);t.startCC<r&&e.startCC<r&&(o=Bi(i,r),n=Bi(a,r)),o&&n||(n=Bi(a,(o=i[Math.floor(i.length/2)]).cc)||a[Math.floor(a.length/2)]);var E=o.programDateTime,_=n.programDateTime;E&&_&&Wi((_-E)/1e3-(n.start-o.start),e)}}}var Gi=Math.pow(2,17),ki=(function(){function e(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}var t=e.prototype;return t.destroy=function(){this.loader&&(this.loader.destroy(),this.loader=null)},t.abort=function(){this.loader&&this.loader.abort()},t.load=function(e,t){var a=this,o=e.url;if(!o)return Promise.reject(new Hi({type:P.NETWORK_ERROR,details:B.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error("Fragment does not have a "+(o?"part list":"url")),networkDetails:null}));this.abort();var n=this.config,r=n.fLoader,E=n.loader;return new Promise(function(_,T){if(a.loader&&a.loader.destroy(),e.gap){if(e.tagList.some(function(e){return"GAP"===e[0]}))return void T(Vi(e));e.gap=!1}var s=a.loader=e.loader=r?new r(n):new E(n),S=Fi(e),l=Ha(n.fragLoadPolicy.default),I={loadPolicy:l,timeout:l.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:"initSegment"===e.sn?1/0:Gi};e.stats=s.stats,s.load(S,I,{onSuccess:function(t,i,o,n){a.resetLoader(e,s);var r=t.data;o.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(r.slice(0,16)),r=r.slice(16)),_({frag:e,part:null,payload:r,networkDetails:n})},onError:function(t,n,r,E){a.resetLoader(e,s),T(new Hi({type:P.NETWORK_ERROR,details:B.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:i({url:o,data:void 0},t),error:new Error("HTTP Error "+t.code+" "+t.text),networkDetails:r,stats:E}))},onAbort:function(t,i,o){a.resetLoader(e,s),T(new Hi({type:P.NETWORK_ERROR,details:B.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:o,stats:t}))},onTimeout:function(t,i,o){a.resetLoader(e,s),T(new Hi({type:P.NETWORK_ERROR,details:B.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error("Timeout after "+I.timeout+"ms"),networkDetails:o,stats:t}))},onProgress:function(a,i,o,n){t&&t({frag:e,part:null,payload:o,networkDetails:n})}})})},t.loadPart=function(e,t,a){var o=this;this.abort();var n=this.config,r=n.fLoader,E=n.loader;return new Promise(function(_,T){if(o.loader&&o.loader.destroy(),e.gap||t.gap)T(Vi(e,t));else{var s=o.loader=e.loader=r?new r(n):new E(n),S=Fi(e,t),l=Ha(n.fragLoadPolicy.default),I={loadPolicy:l,timeout:l.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:Gi};t.stats=s.stats,s.load(S,I,{onSuccess:function(i,n,r,E){o.resetLoader(e,s),o.updateStatsFromPart(e,t);var T={frag:e,part:t,payload:i.data,networkDetails:E};a(T),_(T)},onError:function(a,n,r,E){o.resetLoader(e,s),T(new Hi({type:P.NETWORK_ERROR,details:B.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:i({url:S.url,data:void 0},a),error:new Error("HTTP Error "+a.code+" "+a.text),networkDetails:r,stats:E}))},onAbort:function(a,i,n){e.stats.aborted=t.stats.aborted,o.resetLoader(e,s),T(new Hi({type:P.NETWORK_ERROR,details:B.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:n,stats:a}))},onTimeout:function(a,i,n){o.resetLoader(e,s),T(new Hi({type:P.NETWORK_ERROR,details:B.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error("Timeout after "+I.timeout+"ms"),networkDetails:n,stats:a}))}})}})},t.updateStatsFromPart=function(e,t){var a=e.stats,i=t.stats,o=i.total;if(a.loaded+=i.loaded,o){var n=Math.round(e.duration/t.duration),r=Math.min(Math.round(a.loaded/o),n),E=(n-r)*Math.round(a.loaded/r);a.total=a.loaded+E}else a.total=Math.max(a.loaded,a.total);var _=a.loading,T=i.loading;_.start?_.first+=T.first-T.start:(_.start=T.start,_.first=T.first),_.end=T.end},t.resetLoader=function(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()},e})();function Fi(e,t){void 0===t&&(t=null);var a=t||e,i={frag:e,part:t,responseType:"arraybuffer",url:a.url,headers:{},rangeStart:0,rangeEnd:0},o=a.byteRangeStartOffset,n=a.byteRangeEndOffset;if(p(o)&&p(n)){var r,E=o,_=n;if("initSegment"===e.sn&&"AES-128"===(null==(r=e.decryptdata)?void 0:r.method)){var T=n-o;T%16&&(_=n+(16-T%16)),0!==o&&(i.resetIV=!0,E=o-16)}i.rangeStart=E,i.rangeEnd=_}return i}function Vi(e,t){var a=new Error("GAP "+(e.gap?"tag":"attribute")+" found"),i={type:P.MEDIA_ERROR,details:B.FRAG_GAP,fatal:!1,frag:e,error:a,networkDetails:null};return t&&(i.part=t),(t||e).stats.aborted=!0,new Hi(i)}var Hi=(function(e){function t(t){var a;return(a=e.call(this,t.error.message)||this).data=void 0,a.data=t,a}return s(t,e),t})(d(Error)),wi=(function(){function e(e,t){this.subtle=void 0,this.aesIV=void 0,this.subtle=e,this.aesIV=t}return e.prototype.decrypt=function(e,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e)},e})(),Yi=(function(){function e(e,t){this.subtle=void 0,this.key=void 0,this.subtle=e,this.key=t}return e.prototype.expandKey=function(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])},e})();function zi(e){var t=e.byteLength,a=t&&new DataView(e.buffer).getUint8(t-1);return a?Ie(e,0,t-a):e}var Ki=(function(){function e(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}var t=e.prototype;return t.uint8ArrayToUint32Array_=function(e){for(var t=new DataView(e),a=new Uint32Array(4),i=0;i<4;i++)a[i]=t.getUint32(4*i);return a},t.initTable=function(){var e=this.sBox,t=this.invSBox,a=this.subMix,i=a[0],o=a[1],n=a[2],r=a[3],E=this.invSubMix,_=E[0],T=E[1],s=E[2],S=E[3],l=new Uint32Array(256),I=0,A=0,u=0;for(u=0;u<256;u++)l[u]=u<128?u<<1:u<<1^283;for(u=0;u<256;u++){var d=A^A<<1^A<<2^A<<3^A<<4;d=d>>>8^255&d^99,e[I]=d,t[d]=I;var O=l[I],c=l[O],N=l[c],R=257*l[d]^16843008*d;i[I]=R<<24|R>>>8,o[I]=R<<16|R>>>16,n[I]=R<<8|R>>>24,r[I]=R,R=16843009*N^65537*c^257*O^16843008*I,_[d]=R<<24|R>>>8,T[d]=R<<16|R>>>16,s[d]=R<<8|R>>>24,S[d]=R,I?(I=O^l[l[l[N^O]]],A^=l[l[A]]):I=A=1}},t.expandKey=function(e){for(var t=this.uint8ArrayToUint32Array_(e),a=!0,i=0;i<t.length&&a;)a=t[i]===this.key[i],i++;if(!a){this.key=t;var o=this.keySize=t.length;if(4!==o&&6!==o&&8!==o)throw new Error("Invalid aes key size="+o);var n,r,E,_,T=this.ksRows=4*(o+6+1),s=this.keySchedule=new Uint32Array(T),S=this.invKeySchedule=new Uint32Array(T),l=this.sBox,I=this.rcon,A=this.invSubMix,u=A[0],d=A[1],O=A[2],c=A[3];for(n=0;n<T;n++)n<o?E=s[n]=t[n]:(_=E,n%o===0?(_=l[(_=_<<8|_>>>24)>>>24]<<24|l[_>>>16&255]<<16|l[_>>>8&255]<<8|l[255&_],_^=I[n/o|0]<<24):o>6&&n%o===4&&(_=l[_>>>24]<<24|l[_>>>16&255]<<16|l[_>>>8&255]<<8|l[255&_]),s[n]=E=(s[n-o]^_)>>>0);for(r=0;r<T;r++)n=T-r,_=3&r?s[n]:s[n-4],S[r]=r<4||n<=4?_:u[l[_>>>24]]^d[l[_>>>16&255]]^O[l[_>>>8&255]]^c[l[255&_]],S[r]=S[r]>>>0}},t.networkToHostOrderSwap=function(e){return e<<24|(65280&e)<<8|(16711680&e)>>8|e>>>24},t.decrypt=function(e,t,a){for(var i,o,n,r,E,_,T,s,S,l,I,A,u,d,O=this.keySize+6,c=this.invKeySchedule,N=this.invSBox,R=this.invSubMix,m=R[0],L=R[1],D=R[2],p=R[3],C=this.uint8ArrayToUint32Array_(a),h=C[0],f=C[1],P=C[2],B=C[3],g=new Int32Array(e),v=new Int32Array(g.length),M=this.networkToHostOrderSwap;t<g.length;){for(S=M(g[t]),l=M(g[t+1]),I=M(g[t+2]),A=M(g[t+3]),E=S^c[0],_=A^c[1],T=I^c[2],s=l^c[3],u=4,d=1;d<O;d++)i=m[E>>>24]^L[_>>16&255]^D[T>>8&255]^p[255&s]^c[u],o=m[_>>>24]^L[T>>16&255]^D[s>>8&255]^p[255&E]^c[u+1],n=m[T>>>24]^L[s>>16&255]^D[E>>8&255]^p[255&_]^c[u+2],r=m[s>>>24]^L[E>>16&255]^D[_>>8&255]^p[255&T]^c[u+3],E=i,_=o,T=n,s=r,u+=4;i=N[E>>>24]<<24^N[_>>16&255]<<16^N[T>>8&255]<<8^N[255&s]^c[u],o=N[_>>>24]<<24^N[T>>16&255]<<16^N[s>>8&255]<<8^N[255&E]^c[u+1],n=N[T>>>24]<<24^N[s>>16&255]<<16^N[E>>8&255]<<8^N[255&_]^c[u+2],r=N[s>>>24]<<24^N[E>>16&255]<<16^N[_>>8&255]<<8^N[255&T]^c[u+3],v[t]=M(i^h),v[t+1]=M(r^f),v[t+2]=M(n^P),v[t+3]=M(o^B),h=S,f=l,P=I,B=A,t+=4}return v.buffer},e})(),ji=16,xi=(function(){function e(e,t){var a=(void 0===t?{}:t).removePKCS7Padding,i=void 0===a||a;if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=e.enableSoftwareAES,this.removePKCS7Padding=i,i)try{var o=self.crypto;o&&(this.subtle=o.subtle||o.webkitSubtle)}catch(e){}null===this.subtle&&(this.useSoftware=!0)}var t=e.prototype;return t.destroy=function(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null},t.isSync=function(){return this.useSoftware},t.flush=function(){var e=this.currentResult,t=this.remainderData;if(!e||t)return this.reset(),null;var a=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?zi(a):a},t.reset=function(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)},t.decrypt=function(e,t,a){var i=this;return this.useSoftware?new Promise(function(o,n){i.softwareDecrypt(new Uint8Array(e),t,a);var r=i.flush();r?o(r.buffer):n(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,a)},t.softwareDecrypt=function(e,t,a){var i=this.currentIV,o=this.currentResult,n=this.remainderData;this.logOnce("JS AES decrypt"),n&&(e=at(n,e),this.remainderData=null);var r=this.getValidChunk(e);if(!r.length)return null;i&&(a=i);var E=this.softwareDecrypter;E||(E=this.softwareDecrypter=new Ki),E.expandKey(t);var _=o;return this.currentResult=E.decrypt(r.buffer,0,a),this.currentIV=Ie(r,-16).buffer,_||null},t.webCryptoDecrypt=function(e,t,a){var i=this,o=this.subtle;return this.key===t&&this.fastAesKey||(this.key=t,this.fastAesKey=new Yi(o,t)),this.fastAesKey.expandKey().then(function(t){return o?(i.logOnce("WebCrypto AES decrypt"),new wi(o,new Uint8Array(a)).decrypt(e.buffer,t)):Promise.reject(new Error("web crypto not initialized"))}).catch(function(o){return b.warn("[decrypter]: WebCrypto Error, disable WebCrypto API, "+o.name+": "+o.message),i.onWebCryptoError(e,t,a)})},t.onWebCryptoError=function(e,t,a){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,a);var i=this.flush();if(i)return i.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data")},t.getValidChunk=function(e){var t=e,a=e.length-e.length%ji;return a!==e.length&&(t=Ie(e,0,a),this.remainderData=Ie(e,a)),t},t.logOnce=function(e){this.logEnabled&&(b.log("[decrypter]: "+e),this.logEnabled=!1)},e})(),Qi={toString:function(e){for(var t="",a=e.length,i=0;i<a;i++)t+="["+e.start(i).toFixed(3)+"-"+e.end(i).toFixed(3)+"]";return t}},Xi={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"},$i=(function(e){function t(t,a,i,o,n){var r;return(r=e.call(this)||this).hls=void 0,r.fragPrevious=null,r.fragCurrent=null,r.fragmentTracker=void 0,r.transmuxer=null,r._state=Xi.STOPPED,r.playlistType=void 0,r.media=null,r.mediaBuffer=null,r.config=void 0,r.bitrateTest=!1,r.lastCurrentTime=0,r.nextLoadPosition=0,r.startPosition=0,r.startTimeOffset=null,r.loadedmetadata=!1,r.retryDate=0,r.levels=null,r.fragmentLoader=void 0,r.keyLoader=void 0,r.levelLastLoaded=null,r.startFragRequested=!1,r.decrypter=void 0,r.initPTS=[],r.onvseeking=null,r.onvended=null,r.logPrefix="",r.log=void 0,r.warn=void 0,r.playlistType=n,r.logPrefix=o,r.log=b.log.bind(b,o+":"),r.warn=b.warn.bind(b,o+":"),r.hls=t,r.fragmentLoader=new ki(t.config),r.keyLoader=i,r.fragmentTracker=a,r.config=t.config,r.decrypter=new xi(t.config),t.on(f.MANIFEST_LOADED,r.onManifestLoaded,O(r)),r}s(t,e);var a=t.prototype;return a.doTick=function(){this.onTickEnd()},a.onTickEnd=function(){},a.startLoad=function(e){},a.stopLoad=function(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);var e=this.fragCurrent;null!=e&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=Xi.STOPPED},a._streamEnded=function(e,t){if(t.live||e.nextStart||!e.end||!this.media)return!1;var a=t.partList;if(null!=a&&a.length){var i=a[a.length-1];return hi.isBuffered(this.media,i.start+i.duration/2)}var o=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(o)},a.getLevelDetails=function(){var e;if(this.levels&&null!==this.levelLastLoaded)return null==(e=this.levelLastLoaded)?void 0:e.details},a.onMediaAttached=function(e,t){var a=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),a.addEventListener("seeking",this.onvseeking),a.addEventListener("ended",this.onvended);var i=this.config;this.levels&&i.autoStartLoad&&this.state===Xi.STOPPED&&this.startLoad(i.startPosition)},a.onMediaDetaching=function(){var e=this.media;null!=e&&e.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),e&&this.onvseeking&&this.onvended&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()},a.onMediaSeeking=function(){var e=this.config,t=this.fragCurrent,a=this.media,i=this.mediaBuffer,o=this.state,n=a?a.currentTime:0,r=hi.bufferInfo(i||a,n,e.maxBufferHole);if(this.log("media seeking to "+(p(n)?n.toFixed(3):n)+", state: "+o),this.state===Xi.ENDED)this.resetLoadingState();else if(t){var E=e.maxFragLookUpTolerance,_=t.start-E,T=t.start+t.duration+E;if(!r.len||T<r.start||_>r.end){var s=n>T;(n<_||s)&&(s&&t.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}a&&(this.fragmentTracker.removeFragmentsInRange(n,1/0,this.playlistType,!0),this.lastCurrentTime=n),this.loadedmetadata||r.len||(this.nextLoadPosition=this.startPosition=n),this.tickImmediate()},a.onMediaEnded=function(){this.startPosition=this.lastCurrentTime=0},a.onManifestLoaded=function(e,t){this.startTimeOffset=t.startTimeOffset,this.initPTS=[]},a.onHandlerDestroying=function(){this.hls.off(f.MANIFEST_LOADED,this.onManifestLoaded,this),this.stopLoad(),e.prototype.onHandlerDestroying.call(this),this.hls=null},a.onHandlerDestroyed=function(){this.state=Xi.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,e.prototype.onHandlerDestroyed.call(this)},a.loadFragment=function(e,t,a){this._loadFragForPlayback(e,t,a)},a._loadFragForPlayback=function(e,t,a){var i=this,o=function(t){if(i.fragContextChanged(e))return i.warn("Fragment "+e.sn+(t.part?" p: "+t.part.index:"")+" of level "+e.level+" was dropped during download."),void i.fragmentTracker.removeFragment(e);e.stats.chunkCount++,i._handleFragmentLoadProgress(t)};this._doFragLoad(e,t,a,o).then(function(t){if(t){var a=i.state;i.fragContextChanged(e)?(a===Xi.FRAG_LOADING||!i.fragCurrent&&a===Xi.PARSING)&&(i.fragmentTracker.removeFragment(e),i.state=Xi.IDLE):("payload"in t&&(i.log("Loaded fragment "+e.sn+" of level "+e.level),i.hls.trigger(f.FRAG_LOADED,t)),i._handleFragmentLoadComplete(t))}}).catch(function(t){i.state!==Xi.STOPPED&&i.state!==Xi.ERROR&&(i.warn(t),i.resetFragmentLoading(e))})},a.clearTrackerIfNeeded=function(e){var t,a=this.fragmentTracker;if(a.getState(e)===mi.APPENDING){var i=e.type,o=this.getFwdBufferInfo(this.mediaBuffer,i),n=Math.max(e.duration,o?o.len:this.config.maxBufferLength);this.reduceMaxBufferLength(n)&&a.removeFragment(e)}else 0===(null==(t=this.mediaBuffer)?void 0:t.buffered.length)?a.removeAllFragments():a.hasParts(e.type)&&(a.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),a.getState(e)===mi.PARTIAL&&a.removeFragment(e))},a.checkLiveUpdate=function(e){if(e.updated&&!e.live){var t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)},a.flushMainBuffer=function(e,t,a){if(void 0===a&&(a=null),e-t){var i={startOffset:e,endOffset:t,type:a};this.hls.trigger(f.BUFFER_FLUSHING,i)}},a._loadInitSegment=function(e,t){var a=this;this._doFragLoad(e,t).then(function(t){if(!t||a.fragContextChanged(e)||!a.levels)throw new Error("init load aborted");return t}).then(function(t){var i=a.hls,o=t.payload,n=e.decryptdata;if(o&&o.byteLength>0&&null!=n&&n.key&&n.iv&&"AES-128"===n.method){var r=self.performance.now();return a.decrypter.decrypt(new Uint8Array(o),n.key.buffer,n.iv.buffer).catch(function(t){throw i.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_DECRYPT_ERROR,fatal:!1,error:t,reason:t.message,frag:e}),t}).then(function(o){var n=self.performance.now();return i.trigger(f.FRAG_DECRYPTED,{frag:e,payload:o,stats:{tstart:r,tdecrypt:n}}),t.payload=o,a.completeInitSegmentLoad(t)})}return a.completeInitSegmentLoad(t)}).catch(function(t){a.state!==Xi.STOPPED&&a.state!==Xi.ERROR&&(a.warn(t),a.resetFragmentLoading(e))})},a.completeInitSegmentLoad=function(e){if(!this.levels)throw new Error("init load aborted, missing levels");var t=e.frag.stats;this.state=Xi.IDLE,e.frag.data=new Uint8Array(e.payload),t.parsing.start=t.buffering.start=self.performance.now(),t.parsing.end=t.buffering.end=self.performance.now(),this.tick()},a.fragContextChanged=function(e){var t=this.fragCurrent;return!e||!t||e.sn!==t.sn||e.level!==t.level},a.fragBufferedComplete=function(e,t){var a,i,o,n,r=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log("Buffered "+e.type+" sn: "+e.sn+(t?" part: "+t.index:"")+" of "+(this.playlistType===$t.MAIN?"level":"track")+" "+e.level+" (frag:["+(null!=(a=e.startPTS)?a:NaN).toFixed(3)+"-"+(null!=(i=e.endPTS)?i:NaN).toFixed(3)+"] > buffer:"+(r?Qi.toString(hi.getBuffered(r)):"(detached)")+")"),"initSegment"!==e.sn){var E;if(e.type!==$t.SUBTITLE){var _=e.elementaryStreams;if(!Object.keys(_).some(function(e){return!!_[e]}))return void(this.state=Xi.IDLE)}var T=null==(E=this.levels)?void 0:E[e.level];null!=T&&T.fragmentError&&(this.log("Resetting level fragment error count of "+T.fragmentError+" on frag buffered"),T.fragmentError=0)}this.state=Xi.IDLE,r&&(!this.loadedmetadata&&e.type==$t.MAIN&&r.buffered.length&&(null==(o=this.fragCurrent)?void 0:o.sn)===(null==(n=this.fragPrevious)?void 0:n.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick())},a.seekToStartPos=function(){},a._handleFragmentLoadComplete=function(e){var t=this.transmuxer;if(t){var a=e.frag,i=e.part,o=e.partsLoaded,n=!o||0===o.length||o.some(function(e){return!e}),r=new fi(a.level,a.sn,a.stats.chunkCount+1,0,i?i.index:-1,!n);t.flush(r)}},a._handleFragmentLoadProgress=function(e){},a._doFragLoad=function(e,t,a,i){var o,n=this;void 0===a&&(a=null);var r=null==t?void 0:t.details;if(!this.levels||!r)throw new Error("frag load aborted, missing level"+(r?"":" detail")+"s");var E=null;if(!e.encrypted||null!=(o=e.decryptdata)&&o.key?!e.encrypted&&r.encryptedFragments.length&&this.keyLoader.loadClear(e,r.encryptedFragments):(this.log("Loading key for "+e.sn+" of ["+r.startSN+"-"+r.endSN+"], "+("[stream-controller]"===this.logPrefix?"level":"track")+" "+e.level),this.state=Xi.KEY_LOADING,this.fragCurrent=e,E=this.keyLoader.load(e).then(function(e){if(!n.fragContextChanged(e.frag))return n.hls.trigger(f.KEY_LOADED,e),n.state===Xi.KEY_LOADING&&(n.state=Xi.IDLE),e}),this.hls.trigger(f.KEY_LOADING,{frag:e}),null===this.fragCurrent&&(E=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))),a=Math.max(e.start,a||0),this.config.lowLatencyMode&&"initSegment"!==e.sn){var _=r.partList;if(_&&i){a>e.end&&r.fragmentHint&&(e=r.fragmentHint);var T=this.getNextPart(_,e,a);if(T>-1){var s,S=_[T];return this.log("Loading part sn: "+e.sn+" p: "+S.index+" cc: "+e.cc+" of playlist ["+r.startSN+"-"+r.endSN+"] parts [0-"+T+"-"+(_.length-1)+"] "+("[stream-controller]"===this.logPrefix?"level":"track")+": "+e.level+", target: "+parseFloat(a.toFixed(3))),this.nextLoadPosition=S.start+S.duration,this.state=Xi.FRAG_LOADING,s=E?E.then(function(a){return!a||n.fragContextChanged(a.frag)?null:n.doFragPartsLoad(e,S,t,i)}).catch(function(e){return n.handleFragLoadError(e)}):this.doFragPartsLoad(e,S,t,i).catch(function(e){return n.handleFragLoadError(e)}),this.hls.trigger(f.FRAG_LOADING,{frag:e,part:S,targetBufferTime:a}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):s}if(!e.url||this.loadedEndOfParts(_,a))return Promise.resolve(null)}}this.log("Loading fragment "+e.sn+" cc: "+e.cc+" "+(r?"of ["+r.startSN+"-"+r.endSN+"] ":"")+("[stream-controller]"===this.logPrefix?"level":"track")+": "+e.level+", target: "+parseFloat(a.toFixed(3))),p(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=Xi.FRAG_LOADING;var l,I=this.config.progressive;return l=I&&E?E.then(function(t){return!t||n.fragContextChanged(null==t?void 0:t.frag)?null:n.fragmentLoader.load(e,i)}).catch(function(e){return n.handleFragLoadError(e)}):Promise.all([this.fragmentLoader.load(e,I?i:void 0),E]).then(function(e){var t=e[0];return!I&&t&&i&&i(t),t}).catch(function(e){return n.handleFragLoadError(e)}),this.hls.trigger(f.FRAG_LOADING,{frag:e,targetBufferTime:a}),null===this.fragCurrent?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):l},a.doFragPartsLoad=function(e,t,a,i){var o=this;return new Promise(function(n,r){var E,_=[],T=null==(E=a.details)?void 0:E.partList;!(function t(E){o.fragmentLoader.loadPart(e,E,i).then(function(i){_[E.index]=i;var r=i.part;o.hls.trigger(f.FRAG_LOADED,i);var s=Ua(a,e.sn,E.index+1)||ba(T,e.sn,E.index+1);if(!s)return n({frag:e,part:r,partsLoaded:_});t(s)}).catch(r)})(t)})},a.handleFragLoadError=function(e){if("data"in e){var t=e.data;e.data&&t.details===B.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(f.ERROR,t)}else this.hls.trigger(f.ERROR,{type:P.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null},a._handleTransmuxerFlush=function(e){var t=this.getCurrentContext(e);if(t&&this.state===Xi.PARSING){var a=t.frag,i=t.part,o=t.level,n=self.performance.now();a.stats.parsing.end=n,i&&(i.stats.parsing.end=n),this.updateLevelTiming(a,i,o,e.partial)}else this.fragCurrent||this.state===Xi.STOPPED||this.state===Xi.ERROR||(this.state=Xi.IDLE)},a.getCurrentContext=function(e){var t=this.levels,a=this.fragCurrent,i=e.level,o=e.sn,n=e.part;if(null==t||!t[i])return this.warn("Levels object was unset while buffering fragment "+o+" of level "+i+". The current chunk will not be buffered."),null;var r=t[i],E=n>-1?Ua(r,o,n):null,_=E?E.fragment:ya(r,o,a);return _?(a&&a!==_&&(_.stats=a.stats),{frag:_,part:E,level:r}):null},a.bufferFragmentData=function(e,t,a,i,o){var n;if(e&&this.state===Xi.PARSING){var r=e.data1,E=e.data2,_=r;if(r&&E&&(_=at(r,E)),null!=(n=_)&&n.length){var T={type:e.type,frag:t,part:a,chunkMeta:i,parent:t.type,data:_};if(this.hls.trigger(f.BUFFER_APPENDING,T),e.dropped&&e.independent&&!a){if(o)return;this.flushBufferGap(t)}}}},a.flushBufferGap=function(e){var t=this.media;if(t)if(hi.isBuffered(t,t.currentTime)){var a=t.currentTime,i=hi.bufferInfo(t,a,0),o=e.duration,n=Math.min(2*this.config.maxFragLookUpTolerance,.25*o),r=Math.max(Math.min(e.start-n,i.end-n),a+n);e.start-r>n&&this.flushMainBuffer(r,e.start)}else this.flushMainBuffer(0,e.start)},a.getFwdBufferInfo=function(e,t){var a=this.getLoadPosition();return p(a)?this.getFwdBufferInfoAtPos(e,a,t):null},a.getFwdBufferInfoAtPos=function(e,t,a){var i=this.config.maxBufferHole,o=hi.bufferInfo(e,t,i);if(0===o.len&&void 0!==o.nextStart){var n=this.fragmentTracker.getBufferedFrag(t,a);if(n&&o.nextStart<n.end)return hi.bufferInfo(e,t,Math.max(o.nextStart,i))}return o},a.getMaxBufferLength=function(e){var t,a=this.config;return t=e?Math.max(8*a.maxBufferSize/e,a.maxBufferLength):a.maxBufferLength,Math.min(t,a.maxMaxBufferLength)},a.reduceMaxBufferLength=function(e){var t=this.config,a=e||t.maxBufferLength;return t.maxMaxBufferLength>=a&&(t.maxMaxBufferLength/=2,this.warn("Reduce max buffer length to "+t.maxMaxBufferLength+"s"),!0)},a.getAppendedFrag=function(e,t){var a=this.fragmentTracker.getAppendedFrag(e,$t.MAIN);return a&&"fragment"in a?a.fragment:a},a.getNextFragment=function(e,t){var a=t.fragments,i=a.length;if(!i)return null;var o,n=this.config,r=a[0].start;if(t.live){var E=n.initialLiveManifestSize;if(i<E)return this.warn("Not enough fragments to start playback (have: "+i+", need: "+E+")"),null;(!t.PTSKnown&&!this.startFragRequested&&-1===this.startPosition||e<r)&&(o=this.getInitialLiveFragment(t,a),this.startPosition=this.nextLoadPosition=o?this.hls.liveSyncPosition||o.start:e)}else e<=r&&(o=a[0]);if(!o){var _=n.lowLatencyMode?t.partEnd:t.fragmentEnd;o=this.getFragmentAtPosition(e,_,t)}return this.mapToInitFragWhenRequired(o)},a.isLoopLoading=function(e,t){var a=this.fragmentTracker.getState(e);return(a===mi.OK||a===mi.PARTIAL&&!!e.gap)&&this.nextLoadPosition>t},a.getNextFragmentLoopLoading=function(e,t,a,i,o){var n=e.gap,r=this.getNextFragment(this.nextLoadPosition,t);if(null===r)return r;if(e=r,n&&e&&!e.gap&&a.nextStart){var E=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,a.nextStart,i);if(null!==E&&a.len+E.len>=o)return this.log('buffer full after gaps in "'+i+'" playlist starting at sn: '+e.sn),null}return e},a.mapToInitFragWhenRequired=function(e){return null==e||!e.initSegment||null!=e&&e.initSegment.data||this.bitrateTest?e:e.initSegment},a.getNextPart=function(e,t,a){for(var i=-1,o=!1,n=!0,r=0,E=e.length;r<E;r++){var _=e[r];if(n=n&&!_.independent,i>-1&&a<_.start)break;var T=_.loaded;T?i=-1:(o||_.independent||n)&&_.fragment===t&&(i=r),o=T}return i},a.loadedEndOfParts=function(e,t){var a=e[e.length-1];return a&&t>a.start&&a.loaded},a.getInitialLiveFragment=function(e,t){var a=this.fragPrevious,i=null;if(a){if(e.hasProgramDateTime&&(this.log("Live playlist, switching playlist, load frag with same PDT: "+a.programDateTime),i=Ka(t,a.endProgramDateTime,this.config.maxFragLookUpTolerance)),!i){var o=a.sn+1;if(o>=e.startSN&&o<=e.endSN){var n=t[o-e.startSN];a.cc===n.cc&&(i=n,this.log("Live playlist, switching playlist, load frag with next SN: "+i.sn))}i||(i=Xa(t,a.cc))&&this.log("Live playlist, switching playlist, load frag with same CC: "+i.sn)}}else{var r=this.hls.liveSyncPosition;null!==r&&(i=this.getFragmentAtPosition(r,this.bitrateTest?e.fragmentEnd:e.edge,e))}return i},a.getFragmentAtPosition=function(e,t,a){var i,o=this.config,n=this.fragPrevious,r=a.fragments,E=a.endSN,_=a.fragmentHint,T=o.maxFragLookUpTolerance,s=a.partList,S=!!(o.lowLatencyMode&&null!=s&&s.length&&_);if(S&&_&&!this.bitrateTest&&(r=r.concat(_),E=_.sn),i=e<t?ja(n,r,e,e>t-T?0:T):r[r.length-1]){var l=i.sn-a.startSN,I=this.fragmentTracker.getState(i);if((I===mi.OK||I===mi.PARTIAL&&i.gap)&&(n=i),n&&i.sn===n.sn&&(!S||s[0].fragment.sn>i.sn)&&n&&i.level===n.level){var A=r[l+1];i=i.sn<E&&this.fragmentTracker.getState(A)!==mi.OK?A:null}}return i},a.synchronizeToLiveEdge=function(e){var t=this.config,a=this.media;if(a){var i=this.hls.liveSyncPosition,o=a.currentTime,n=e.fragments[0].start,r=e.edge,E=o>=n-t.maxFragLookUpTolerance&&o<=r;if(null!==i&&a.duration>i&&(o<i||!E)){var _=void 0!==t.liveMaxLatencyDuration?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;(!E&&a.readyState<4||o<r-_)&&(this.loadedmetadata||(this.nextLoadPosition=i),a.readyState&&(this.warn("Playback: "+o.toFixed(3)+" is located too far from the end of live sliding playlist: "+r+", reset currentTime to : "+i.toFixed(3)),a.currentTime=i))}}},a.alignPlaylists=function(e,t,a){var i=e.fragments.length;if(!i)return this.warn("No fragments in live playlist"),0;var o=e.fragments[0].start,n=!t,r=e.alignedSliding&&p(o);if(n||!r&&!o){var E=this.fragPrevious;yi(E,a,e);var _=e.fragments[0].start;return this.log("Live playlist sliding: "+_.toFixed(2)+" start-sn: "+(t?t.startSN:"na")+"->"+e.startSN+" prev-sn: "+(E?E.sn:"na")+" fragments: "+i),_}return o},a.waitForCdnTuneIn=function(e){var t=3;return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*t)},a.setStartPosition=function(e,t){var a=this.startPosition;if(a<t&&(a=-1),-1===a||-1===this.lastCurrentTime){var i=null!==this.startTimeOffset,o=i?this.startTimeOffset:e.startTimeOffset;null!==o&&p(o)?(a=t+o,o<0&&(a+=e.totalduration),a=Math.min(Math.max(t,a),t+e.totalduration),this.log("Start time offset "+o+" found in "+(i?"multivariant":"media")+" playlist, adjust startPosition to "+a),this.startPosition=a):e.live?a=this.hls.liveSyncPosition||t:this.startPosition=a=0,this.lastCurrentTime=a}this.nextLoadPosition=a},a.getLoadPosition=function(){var e=this.media,t=0;return this.loadedmetadata&&e?t=e.currentTime:this.nextLoadPosition&&(t=this.nextLoadPosition),t},a.handleFragLoadAborted=function(e,t){this.transmuxer&&"initSegment"!==e.sn&&e.stats.aborted&&(this.warn("Fragment "+e.sn+(t?" part "+t.index:"")+" of level "+e.level+" was aborted"),this.resetFragmentLoading(e))},a.resetFragmentLoading=function(e){this.fragCurrent&&(this.fragContextChanged(e)||this.state===Xi.FRAG_LOADING_WAITING_RETRY)||(this.state=Xi.IDLE)},a.onFragmentOrKeyLoadError=function(e,t){if(t.chunkMeta&&!t.frag){var a=this.getCurrentContext(t.chunkMeta);a&&(t.frag=a.frag)}var i=t.frag;if(i&&i.type===e&&this.levels)if(this.fragContextChanged(i)){var o;this.warn("Frag load error must match current frag to retry "+i.url+" > "+(null==(o=this.fragCurrent)?void 0:o.url))}else{var n=t.details===B.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(i,!0);var r=t.errorAction,E=r||{},_=E.action,T=E.retryCount,s=void 0===T?0:T,S=E.retryConfig;if(r&&_===$a.RetryRequest&&S){this.resetStartWhenNotLoaded(this.levelLastLoaded);var l=Va(S,s);this.warn("Fragment "+i.sn+" of "+e+" "+i.level+" errored with "+t.details+", retrying loading "+(s+1)+"/"+S.maxNumRetry+" in "+l+"ms"),r.resolved=!0,this.retryDate=self.performance.now()+l,this.state=Xi.FRAG_LOADING_WAITING_RETRY}else if(S&&r){if(this.resetFragmentErrors(e),!(s<S.maxNumRetry))return void b.warn(t.details+" reached or exceeded max retry ("+s+")");n||_===$a.RemoveAlternatePermanently||(r.resolved=!0)}else(null==r?void 0:r.action)===$a.SendAlternateToPenaltyBox?this.state=Xi.WAITING_LEVEL:this.state=Xi.ERROR;this.tickImmediate()}},a.reduceLengthAndFlushBuffer=function(e){if(this.state===Xi.PARSING||this.state===Xi.PARSED){var t=e.parent,a=this.getFwdBufferInfo(this.mediaBuffer,t),i=a&&a.len>.5;i&&this.reduceMaxBufferLength(a.len);var o=!i;return o&&this.warn("Buffer full error while media.currentTime is not buffered, flush "+t+" buffer"),e.frag&&(this.fragmentTracker.removeFragment(e.frag),this.nextLoadPosition=e.frag.start),this.resetLoadingState(),o}return!1},a.resetFragmentErrors=function(e){e===$t.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==Xi.STOPPED&&(this.state=Xi.IDLE)},a.afterBufferFlushed=function(e,t,a){if(e){var i=hi.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,i,a),this.state===Xi.ENDED&&this.resetLoadingState()}},a.resetLoadingState=function(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=Xi.IDLE},a.resetStartWhenNotLoaded=function(e){if(!this.loadedmetadata){this.startFragRequested=!1;var t=e?e.details:null;null!=t&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}},a.resetWhenMissingContext=function(e){this.warn("The loading context changed while buffering fragment "+e.sn+" of level "+e.level+". This chunk will not be buffered."),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()},a.removeUnbufferedFrags=function(e){void 0===e&&(e=0),this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)},a.updateLevelTiming=function(e,t,a,i){var o,n=this,r=a.details;if(r){if(!Object.keys(e.elementaryStreams).reduce(function(t,o){var E=e.elementaryStreams[o];if(E){var _=E.endPTS-E.startPTS;if(_<=0)return n.warn("Could not parse fragment "+e.sn+" "+o+" duration reliably ("+_+")"),t||!1;var T=i?0:ha(r,e,E.startPTS,E.endPTS,E.startDTS,E.endDTS);return n.hls.trigger(f.LEVEL_PTS_UPDATED,{details:r,level:a,drift:T,type:o,frag:e,start:E.startPTS,end:E.endPTS}),!0}return t},!1)&&null===(null==(o=this.transmuxer)?void 0:o.error)){var E=new Error("Found no media in fragment "+e.sn+" of level "+e.level+" resetting transmuxer to fallback to playlist timing");if(0===a.fragmentError&&(a.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(E.message),this.hls.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:E,frag:e,reason:"Found no media in msn "+e.sn+' of level "'+a.url+'"'}),!this.hls)return;this.resetTransmuxer()}this.state=Xi.PARSED,this.hls.trigger(f.FRAG_PARSED,{frag:e,part:t})}else this.warn("level.details undefined")},a.resetTransmuxer=function(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null)},a.recoverWorkerError=function(e){"demuxerWorker"===e.event&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())},E(t,[{key:"state",get:function(){return this._state},set:function(e){var t=this._state;t!==e&&(this._state=e,this.log(t+"->"+e))}}]),t})(Ri),qi=(function(){function e(){this.chunks=[],this.dataLength=0}var t=e.prototype;return t.push=function(e){this.chunks.push(e),this.dataLength+=e.length},t.flush=function(){var e,t=this.chunks,a=this.dataLength;return t.length?(e=1===t.length?t[0]:Ji(t,a),this.reset(),e):new Uint8Array(0)},t.reset=function(){this.chunks.length=0,this.dataLength=0},e})();function Ji(e,t){for(var a=new Uint8Array(t),i=0,o=0;o<e.length;o++){var n=e[o];a.set(n,i),i+=n.length}return a}function Zi(e,t){return void 0===e&&(e=""),void 0===t&&(t=9e4),{type:e,id:-1,pid:-1,inputTimeScale:t,sequenceNumber:-1,samples:[],dropped:0}}var eo=(function(){function e(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}var t=e.prototype;return t.resetInitSegment=function(e,t,a,i){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}},t.resetTimeStamp=function(e){this.initPTS=e,this.resetContiguity()},t.resetContiguity=function(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0},t.canParse=function(e,t){return!1},t.appendFrame=function(e,t,a){},t.demux=function(e,t){this.cachedData&&(e=at(this.cachedData,e),this.cachedData=null);var a,i=Oe(e,0),o=i?i.length:0,n=this._audioTrack,r=this._id3Track,E=i?Re(i):void 0,_=e.length;for((null===this.basePTS||0===this.frameIndex&&p(E))&&(this.basePTS=to(E,t,this.initPTS),this.lastPTS=this.basePTS),null===this.lastPTS&&(this.lastPTS=this.basePTS),i&&i.length>0&&r.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Ea.audioId3,duration:Number.POSITIVE_INFINITY});o<_;){if(this.canParse(e,o)){var T=this.appendFrame(n,e,o);T?(this.frameIndex++,this.lastPTS=T.sample.pts,a=o+=T.length):o=_}else Ne(e,o)?(i=Oe(e,o),r.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Ea.audioId3,duration:Number.POSITIVE_INFINITY}),a=o+=i.length):o++;if(o===_&&a!==_){var s=Ie(e,a);this.cachedData?this.cachedData=at(this.cachedData,s):this.cachedData=s}}return{audioTrack:n,videoTrack:Zi(),id3Track:r,textTrack:Zi()}},t.demuxSampleAes=function(e,t,a){return Promise.reject(new Error("["+this+"] This demuxer does not support Sample-AES decryption"))},t.flush=function(e){var t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:Zi(),id3Track:this._id3Track,textTrack:Zi()}},t.destroy=function(){},e})(),to=function(e,t,a){return p(e)?90*e:9e4*t+(a?9e4*a.baseTime/a.timescale:0)};function ao(e,t,a,i){var o,n,r,E,_=navigator.userAgent.toLowerCase(),T=i,s=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];o=((192&t[a+2])>>>6)+1;var S=(60&t[a+2])>>>2;if(!(S>s.length-1))return r=(1&t[a+2])<<2,r|=(192&t[a+3])>>>6,b.log("manifest codec:"+i+", ADTS type:"+o+", samplingIndex:"+S),/firefox/i.test(_)?S>=6?(o=5,E=new Array(4),n=S-3):(o=2,E=new Array(2),n=S):-1!==_.indexOf("android")?(o=2,E=new Array(2),n=S):(o=5,E=new Array(4),i&&(-1!==i.indexOf("mp4a.40.29")||-1!==i.indexOf("mp4a.40.5"))||!i&&S>=6?n=S-3:((i&&-1!==i.indexOf("mp4a.40.2")&&(S>=6&&1===r||/vivaldi/i.test(_))||!i&&1===r)&&(o=2,E=new Array(2)),n=S)),E[0]=o<<3,E[0]|=(14&S)>>1,E[1]|=(1&S)<<7,E[1]|=r<<3,5===o&&(E[1]|=(14&n)>>1,E[2]=(1&n)<<7,E[2]|=8,E[3]=0),{config:E,samplerate:s[S],channelCount:r,codec:"mp4a.40."+o,manifestCodec:T};var l=new Error("invalid ADTS sampling index:"+S);e.emit(f.ERROR,f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!0,error:l,reason:l.message})}function io(e,t){return 255===e[t]&&240==(246&e[t+1])}function oo(e,t){return 1&e[t+1]?7:9}function no(e,t){return(3&e[t+3])<<11|e[t+4]<<3|(224&e[t+5])>>>5}function ro(e,t){return t+5<e.length}function Eo(e,t){return t+1<e.length&&io(e,t)}function _o(e,t){return ro(e,t)&&io(e,t)&&no(e,t)<=e.length-t}function To(e,t){if(Eo(e,t)){var a=oo(e,t);if(t+a>=e.length)return!1;var i=no(e,t);if(i<=a)return!1;var o=t+i;return o===e.length||Eo(e,o)}return!1}function so(e,t,a,i,o){if(!e.samplerate){var n=ao(t,a,i,o);if(!n)return;e.config=n.config,e.samplerate=n.samplerate,e.channelCount=n.channelCount,e.codec=n.codec,e.manifestCodec=n.manifestCodec,b.log("parsed codec:"+e.codec+", rate:"+n.samplerate+", channels:"+n.channelCount)}}function So(e){return 9216e4/e}function lo(e,t){var a=oo(e,t);if(t+a<=e.length){var i=no(e,t)-a;if(i>0)return{headerLength:a,frameLength:i}}}function Io(e,t,a,i,o){var n,r=i+o*So(e.samplerate),E=lo(t,a);if(E){var _=E.frameLength,T=E.headerLength,s=T+_,S=Math.max(0,a+s-t.length);S?(n=new Uint8Array(s-T)).set(t.subarray(a+T,t.length),0):n=t.subarray(a+T,a+s);var l={unit:n,pts:r};return S||e.samples.push(l),{sample:l,length:s,missing:S}}var I=t.length-a;return(n=new Uint8Array(I)).set(t.subarray(a,t.length),0),{sample:{unit:n,pts:r},length:I,missing:-1}}var Ao=null,uo=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],Oo=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],co=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],No=[0,1,1,4];function Ro(e,t,a,i,o){if(!(a+24>t.length)){var n=mo(t,a);if(n&&a+n.frameLength<=t.length){var r=i+o*(9e4*n.samplesPerFrame/n.sampleRate),E={unit:t.subarray(a,a+n.frameLength),pts:r,dts:r};return e.config=[],e.channelCount=n.channelCount,e.samplerate=n.sampleRate,e.samples.push(E),{sample:E,length:n.frameLength,missing:0}}}}function mo(e,t){var a=e[t+1]>>3&3,i=e[t+1]>>1&3,o=e[t+2]>>4&15,n=e[t+2]>>2&3;if(1!==a&&0!==o&&15!==o&&3!==n){var r=e[t+2]>>1&1,E=e[t+3]>>6,_=1e3*uo[14*(3===a?3-i:3===i?3:4)+o-1],T=Oo[3*(3===a?0:2===a?1:2)+n],s=3===E?1:2,S=co[a][i],l=No[i],I=8*S*l,A=Math.floor(S*_/T+r)*l;if(null===Ao){var u=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Ao=u?parseInt(u[1]):0}return!!Ao&&Ao<=87&&2===i&&_>=224e3&&0===E&&(e[t+3]=128|e[t+3]),{sampleRate:T,channelCount:s,frameLength:A,samplesPerFrame:I}}}function Lo(e,t){return!(255!==e[t]||224&~e[t+1]||!(6&e[t+1]))}function Do(e,t){return t+1<e.length&&Lo(e,t)}function po(e,t){var a=4;return Lo(e,t)&&a<=e.length-t}function Co(e,t){if(t+1<e.length&&Lo(e,t)){var a=4,i=mo(e,t),o=a;null!=i&&i.frameLength&&(o=i.frameLength);var n=t+o;return n===e.length||Do(e,n)}return!1}var ho=(function(e){function t(t,a){var i;return(i=e.call(this)||this).observer=void 0,i.config=void 0,i.observer=t,i.config=a,i}s(t,e);var a=t.prototype;return a.resetInitSegment=function(t,a,i,o){e.prototype.resetInitSegment.call(this,t,a,i,o),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:a,duration:o,inputTimeScale:9e4,dropped:0}},t.probe=function(e){if(!e)return!1;var t=Oe(e,0),a=(null==t?void 0:t.length)||0;if(Co(e,a))return!1;for(var i=e.length;a<i;a++)if(To(e,a))return b.log("ADTS sync word found !"),!0;return!1},a.canParse=function(e,t){return _o(e,t)},a.appendFrame=function(e,t,a){so(e,this.observer,t,a,e.manifestCodec);var i=Io(e,t,a,this.basePTS,this.frameIndex);if(i&&0===i.missing)return i},t})(eo),fo=/\/emsg[-/]ID3/i,Po=(function(){function e(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}var t=e.prototype;return t.resetTimeStamp=function(){},t.resetInitSegment=function(e,t,a,i){var o=this.videoTrack=Zi("video",1),n=this.audioTrack=Zi("audio",1),r=this.txtTrack=Zi("text",1);if(this.id3Track=Zi("id3",1),this.timeOffset=0,null!=e&&e.byteLength){var E=ze(e);if(E.video){var _=E.video,T=_.id,s=_.timescale,S=_.codec;o.id=T,o.timescale=r.timescale=s,o.codec=S}if(E.audio){var l=E.audio,I=l.id,A=l.timescale,u=l.codec;n.id=I,n.timescale=A,n.codec=u}r.id=ye.text,o.sampleDuration=0,o.duration=n.duration=i}},t.resetContiguity=function(){this.remainderData=null},e.probe=function(e){return He(e)},t.demux=function(e,t){this.timeOffset=t;var a=e,i=this.videoTrack,o=this.txtTrack;if(this.config.progressive){this.remainderData&&(a=at(this.remainderData,e));var n=tt(a);this.remainderData=n.remainder,i.samples=n.valid||new Uint8Array}else i.samples=a;var r=this.extractID3Track(i,t);return o.samples=it(t,i),{videoTrack:i,audioTrack:this.audioTrack,id3Track:r,textTrack:this.txtTrack}},t.flush=function(){var e=this.timeOffset,t=this.videoTrack,a=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;var i=this.extractID3Track(t,this.timeOffset);return a.samples=it(e,t),{videoTrack:t,audioTrack:Zi(),id3Track:i,textTrack:Zi()}},t.extractID3Track=function(e,t){var a=this.id3Track;if(e.samples.length){var i=we(e.samples,["emsg"]);i&&i.forEach(function(e){var i=_t(e);if(fo.test(i.schemeIdUri)){var o=p(i.presentationTime)?i.presentationTime/i.timeScale:t+i.presentationTimeDelta/i.timeScale,n=4294967295===i.eventDuration?Number.POSITIVE_INFINITY:i.eventDuration/i.timeScale;n<=.001&&(n=Number.POSITIVE_INFINITY);var r=i.payload;a.samples.push({data:r,len:r.byteLength,dts:o,pts:o,type:Ea.emsg,duration:n})}})}return a},t.demuxSampleAes=function(e,t,a){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"))},t.destroy=function(){},e})(),Bo=function(e,t){var a=0,i=5;t+=i;for(var o=new Uint32Array(1),n=new Uint32Array(1),r=new Uint8Array(1);i>0;){r[0]=e[t];var E=Math.min(i,8),_=8-E;n[0]=4278190080>>>24+_<<_,o[0]=(r[0]&n[0])>>_,a=a?a<<E|o[0]:o[0],t+=1,i-=E}return a},go=(function(e){function t(t){var a;return(a=e.call(this)||this).observer=void 0,a.observer=t,a}s(t,e);var a=t.prototype;return a.resetInitSegment=function(t,a,i,o){e.prototype.resetInitSegment.call(this,t,a,i,o),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:a,duration:o,inputTimeScale:9e4,dropped:0}},a.canParse=function(e,t){return t+64<e.length},a.appendFrame=function(e,t,a){var i=vo(e,t,a,this.basePTS,this.frameIndex);if(-1!==i)return{sample:e.samples[e.samples.length-1],length:i,missing:0}},t.probe=function(e){if(!e)return!1;var t=Oe(e,0);if(!t)return!1;var a=t.length;return 11===e[a]&&119===e[a+1]&&void 0!==Re(t)&&Bo(e,a)<16},t})(eo);function vo(e,t,a,i,o){if(a+8>t.length)return-1;if(11!==t[a]||119!==t[a+1])return-1;var n=t[a+4]>>6;if(n>=3)return-1;var r=[48e3,44100,32e3][n],E=63&t[a+4],_=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*E+n];if(a+_>t.length)return-1;var T=t[a+6]>>5,s=0;2===T?s+=2:(1&T&&1!==T&&(s+=2),4&T&&(s+=2));var S=(t[a+6]<<8|t[a+7])>>12-s&1,l=[2,1,2,3,3,4,4,5][T]+S,I=t[a+5]>>3,A=7&t[a+5],u=new Uint8Array([n<<6|I<<1|A>>2,(3&A)<<6|T<<3|S<<2|E>>4,E<<4&224]),d=i+o*(1536/r*9e4),O=t.subarray(a,a+_);return e.config=u,e.channelCount=l,e.samplerate=r,e.samples.push({unit:O,pts:d}),_}var Mo=(function(){function e(){this.VideoSample=null}var t=e.prototype;return t.createVideoSample=function(e,t,a,i){return{key:e,frame:!1,pts:t,dts:a,units:[],debug:i,length:0}},t.getLastNalUnit=function(e){var t,a,i=this.VideoSample;if(i&&0!==i.units.length||(i=e[e.length-1]),null!=(t=i)&&t.units){var o=i.units;a=o[o.length-1]}return a},t.pushAccessUnit=function(e,t){if(e.units.length&&e.frame){if(void 0===e.pts){var a=t.samples,i=a.length;if(!i)return void t.dropped++;var o=a[i-1];e.pts=o.pts,e.dts=o.dts}t.samples.push(e)}e.debug.length&&b.log(e.pts+"/"+e.dts+":"+e.debug)},e})(),Wo=(function(){function e(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}var t=e.prototype;return t.loadWord=function(){var e=this.data,t=this.bytesAvailable,a=e.byteLength-t,i=new Uint8Array(4),o=Math.min(4,t);if(0===o)throw new Error("no bytes available");i.set(e.subarray(a,a+o)),this.word=new DataView(i.buffer).getUint32(0),this.bitsAvailable=8*o,this.bytesAvailable-=o},t.skipBits=function(e){var t;e=Math.min(e,8*this.bytesAvailable+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,e-=(t=e>>3)<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)},t.readBits=function(e){var t=Math.min(this.bitsAvailable,e),a=this.word>>>32-t;if(e>32&&b.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else{if(!(this.bytesAvailable>0))throw new Error("no bits available");this.loadWord()}return(t=e-t)>0&&this.bitsAvailable?a<<t|this.readBits(t):a},t.skipLZ=function(){var e;for(e=0;e<this.bitsAvailable;++e)if(this.word&2147483648>>>e)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()},t.skipUEG=function(){this.skipBits(1+this.skipLZ())},t.skipEG=function(){this.skipBits(1+this.skipLZ())},t.readUEG=function(){var e=this.skipLZ();return this.readBits(e+1)-1},t.readEG=function(){var e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)},t.readBoolean=function(){return 1===this.readBits(1)},t.readUByte=function(){return this.readBits(8)},t.readUShort=function(){return this.readBits(16)},t.readUInt=function(){return this.readBits(32)},t.skipScalingList=function(e){for(var t=8,a=8,i=0;i<e;i++)0!==a&&(a=(t+this.readEG()+256)%256),t=0===a?t:a},t.readSPS=function(){var e,t,a,i=0,o=0,n=0,r=0,E=this.readUByte.bind(this),_=this.readBits.bind(this),T=this.readUEG.bind(this),s=this.readBoolean.bind(this),S=this.skipBits.bind(this),l=this.skipEG.bind(this),I=this.skipUEG.bind(this),A=this.skipScalingList.bind(this);E();var u=E();if(_(5),S(3),E(),I(),100===u||110===u||122===u||244===u||44===u||83===u||86===u||118===u||128===u){var d=T();if(3===d&&S(1),I(),I(),S(1),s())for(t=3!==d?8:12,a=0;a<t;a++)s()&&A(a<6?16:64)}I();var O=T();if(0===O)T();else if(1===O)for(S(1),l(),l(),e=T(),a=0;a<e;a++)l();I(),S(1);var c=T(),N=T(),R=_(1);0===R&&S(1),S(1),s()&&(i=T(),o=T(),n=T(),r=T());var m=[1,1];if(s()&&s())switch(E()){case 1:m=[1,1];break;case 2:m=[12,11];break;case 3:m=[10,11];break;case 4:m=[16,11];break;case 5:m=[40,33];break;case 6:m=[24,11];break;case 7:m=[20,11];break;case 8:m=[32,11];break;case 9:m=[80,33];break;case 10:m=[18,11];break;case 11:m=[15,11];break;case 12:m=[64,33];break;case 13:m=[160,99];break;case 14:m=[4,3];break;case 15:m=[3,2];break;case 16:m=[2,1];break;case 255:m=[E()<<8|E(),E()<<8|E()]}return{width:Math.ceil(16*(c+1)-2*i-2*o),height:(2-R)*(N+1)*16-(R?2:4)*(n+r),pixelRatio:m}},t.readSliceType=function(){return this.readUByte(),this.readUEG(),this.readUEG()},e})(),yo=(function(e){function t(){return e.apply(this,arguments)||this}s(t,e);var a=t.prototype;return a.parseAVCPES=function(e,t,a,i,o){var n,r=this,E=this.parseAVCNALu(e,a.data),_=this.VideoSample,T=!1;a.data=null,_&&E.length&&!e.audFound&&(this.pushAccessUnit(_,e),_=this.VideoSample=this.createVideoSample(!1,a.pts,a.dts,"")),E.forEach(function(i){var E;switch(i.type){case 1:var s=!1;n=!0;var S,l=i.data;if(T&&l.length>4){var I=new Wo(l).readSliceType();2!==I&&4!==I&&7!==I&&9!==I||(s=!0)}s&&null!=(S=_)&&S.frame&&!_.key&&(r.pushAccessUnit(_,e),_=r.VideoSample=null),_||(_=r.VideoSample=r.createVideoSample(!0,a.pts,a.dts,"")),_.frame=!0,_.key=s;break;case 5:n=!0,null!=(E=_)&&E.frame&&!_.key&&(r.pushAccessUnit(_,e),_=r.VideoSample=null),_||(_=r.VideoSample=r.createVideoSample(!0,a.pts,a.dts,"")),_.key=!0,_.frame=!0;break;case 6:n=!0,rt(i.data,1,a.pts,t.samples);break;case 7:var A,u;n=!0,T=!0;var d=i.data,O=new Wo(d).readSPS();if(!e.sps||e.width!==O.width||e.height!==O.height||(null==(A=e.pixelRatio)?void 0:A[0])!==O.pixelRatio[0]||(null==(u=e.pixelRatio)?void 0:u[1])!==O.pixelRatio[1]){e.width=O.width,e.height=O.height,e.pixelRatio=O.pixelRatio,e.sps=[d],e.duration=o;for(var c=d.subarray(1,4),N="avc1.",R=0;R<3;R++){var m=c[R].toString(16);m.length<2&&(m="0"+m),N+=m}e.codec=N}break;case 8:n=!0,e.pps=[i.data];break;case 9:n=!0,e.audFound=!0,_&&r.pushAccessUnit(_,e),_=r.VideoSample=r.createVideoSample(!1,a.pts,a.dts,"");break;case 12:n=!0;break;default:n=!1,_&&(_.debug+="unknown NAL "+i.type+" ")}_&&n&&_.units.push(i)}),i&&_&&(this.pushAccessUnit(_,e),this.VideoSample=null)},a.parseAVCNALu=function(e,t){var a,i,o=t.byteLength,n=e.naluState||0,r=n,E=[],_=0,T=-1,s=0;for(-1===n&&(T=0,s=31&t[0],n=0,_=1);_<o;)if(a=t[_++],n)if(1!==n)if(a)if(1===a){if(i=_-n-1,T>=0){var S={data:t.subarray(T,i),type:s};E.push(S)}else{var l=this.getLastNalUnit(e.samples);l&&(r&&_<=4-r&&l.state&&(l.data=l.data.subarray(0,l.data.byteLength-r)),i>0&&(l.data=at(l.data,t.subarray(0,i)),l.state=0))}_<o?(T=_,s=31&t[_],n=0):n=-1}else n=0;else n=3;else n=a?0:2;else n=a?0:1;if(T>=0&&n>=0){var I={data:t.subarray(T,o),type:s,state:n};E.push(I)}if(0===E.length){var A=this.getLastNalUnit(e.samples);A&&(A.data=at(A.data,t))}return e.naluState=n,E},t})(Mo),Uo=(function(){function e(e,t,a){this.keyData=void 0,this.decrypter=void 0,this.keyData=a,this.decrypter=new xi(t,{removePKCS7Padding:!1})}var t=e.prototype;return t.decryptBuffer=function(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer)},t.decryptAacSample=function(e,t,a){var i=this,o=e[t].unit;if(!(o.length<=16)){var n=o.subarray(16,o.length-o.length%16),r=n.buffer.slice(n.byteOffset,n.byteOffset+n.length);this.decryptBuffer(r).then(function(n){var r=new Uint8Array(n);o.set(r,16),i.decrypter.isSync()||i.decryptAacSamples(e,t+1,a)})}},t.decryptAacSamples=function(e,t,a){for(;;t++){if(t>=e.length)return void a();if(!(e[t].unit.length<32||(this.decryptAacSample(e,t,a),this.decrypter.isSync())))return}},t.getAvcEncryptedData=function(e){for(var t=16*Math.floor((e.length-48)/160)+16,a=new Int8Array(t),i=0,o=32;o<e.length-16;o+=160,i+=16)a.set(e.subarray(o,o+16),i);return a},t.getAvcDecryptedUnit=function(e,t){for(var a=new Uint8Array(t),i=0,o=32;o<e.length-16;o+=160,i+=16)e.set(a.subarray(i,i+16),o);return e},t.decryptAvcSample=function(e,t,a,i,o){var n=this,r=Et(o.data),E=this.getAvcEncryptedData(r);this.decryptBuffer(E.buffer).then(function(E){o.data=n.getAvcDecryptedUnit(r,E),n.decrypter.isSync()||n.decryptAvcSamples(e,t,a+1,i)})},t.decryptAvcSamples=function(e,t,a,i){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,a=0){if(t>=e.length)return void i();for(var o=e[t].units;!(a>=o.length);a++){var n=o[a];if(!(n.data.length<=48||1!==n.type&&5!==n.type||(this.decryptAvcSample(e,t,a,i,n),this.decrypter.isSync())))return}}},e})(),bo=188,Go=(function(){function e(e,t,a){this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=a,this.videoParser=new yo}e.probe=function(t){var a=e.syncOffset(t);return a>0&&b.warn("MPEG2-TS detected but first sync word found @ offset "+a),-1!==a},e.syncOffset=function(e){for(var t=e.length,a=Math.min(5*bo,t-bo)+1,i=0;i<a;){for(var o=!1,n=-1,r=0,E=i;E<t;E+=bo){if(71!==e[E]||t-E!==bo&&71!==e[E+bo]){if(r)return-1;break}if(r++,-1===n&&0!==(n=E)&&(a=Math.min(n+99*bo,e.length-bo)+1),o||(o=0===ko(e,E)),o&&r>1&&(0===n&&r>2||E+bo>a))return n}i++}return-1},e.createTrack=function(e,t){return{container:"video"===e||"audio"===e?"video/mp2t":void 0,type:e,id:ye[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:"audio"===e?t:void 0}};var t=e.prototype;return t.resetInitSegment=function(t,a,i,o){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=e.createTrack("video"),this._audioTrack=e.createTrack("audio",o),this._id3Track=e.createTrack("id3"),this._txtTrack=e.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=a,this.videoCodec=i,this._duration=o},t.resetTimeStamp=function(){},t.resetContiguity=function(){var e=this._audioTrack,t=this._videoTrack,a=this._id3Track;e&&(e.pesData=null),t&&(t.pesData=null),a&&(a.pesData=null),this.aacOverFlow=null,this.remainderData=null},t.demux=function(t,a,i,o){var n;void 0===i&&(i=!1),void 0===o&&(o=!1),i||(this.sampleAes=null);var r=this._videoTrack,E=this._audioTrack,_=this._id3Track,T=this._txtTrack,s=r.pid,S=r.pesData,l=E.pid,I=_.pid,A=E.pesData,u=_.pesData,d=null,O=this.pmtParsed,c=this._pmtId,N=t.length;if(this.remainderData&&(N=(t=at(this.remainderData,t)).length,this.remainderData=null),N<bo&&!o)return this.remainderData=t,{audioTrack:E,videoTrack:r,id3Track:_,textTrack:T};var R=Math.max(0,e.syncOffset(t));(N-=(N-R)%bo)<t.byteLength&&!o&&(this.remainderData=new Uint8Array(t.buffer,N,t.buffer.byteLength-N));for(var m=0,L=R;L<N;L+=bo)if(71===t[L]){var D=!!(64&t[L+1]),p=ko(t,L),C=void 0;if((48&t[L+3])>>4>1){if((C=L+5+t[L+4])===L+bo)continue}else C=L+4;switch(p){case s:D&&(S&&(n=wo(S))&&this.videoParser.parseAVCPES(r,T,n,!1,this._duration),S={data:[],size:0}),S&&(S.data.push(t.subarray(C,L+bo)),S.size+=L+bo-C);break;case l:if(D){if(A&&(n=wo(A)))switch(E.segmentCodec){case"aac":this.parseAACPES(E,n);break;case"mp3":this.parseMPEGPES(E,n);break;case"ac3":this.parseAC3PES(E,n)}A={data:[],size:0}}A&&(A.data.push(t.subarray(C,L+bo)),A.size+=L+bo-C);break;case I:D&&(u&&(n=wo(u))&&this.parseID3PES(_,n),u={data:[],size:0}),u&&(u.data.push(t.subarray(C,L+bo)),u.size+=L+bo-C);break;case 0:D&&(C+=t[C]+1),c=this._pmtId=Fo(t,C);break;case c:D&&(C+=t[C]+1);var h=Vo(t,C,this.typeSupported,i);(s=h.videoPid)>0&&(r.pid=s,r.segmentCodec=h.segmentVideoCodec),(l=h.audioPid)>0&&(E.pid=l,E.segmentCodec=h.segmentAudioCodec),(I=h.id3Pid)>0&&(_.pid=I),null===d||O||(b.warn("MPEG-TS PMT found at "+L+" after unknown PID '"+d+"'. Backtracking to sync byte @"+R+" to parse all TS packets."),d=null,L=R-188),O=this.pmtParsed=!0;break;case 17:case 8191:break;default:d=p}}else m++;if(m>0){var g=new Error("Found "+m+" TS packet/s that do not start with 0x47");this.observer.emit(f.ERROR,f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:g,reason:g.message})}r.pesData=S,E.pesData=A,_.pesData=u;var v={audioTrack:E,videoTrack:r,id3Track:_,textTrack:T};return o&&this.extractRemainingSamples(v),v},t.flush=function(){var e,t=this.remainderData;return this.remainderData=null,e=t?this.demux(t,-1,!1,!0):{videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(e),this.sampleAes?this.decrypt(e,this.sampleAes):e},t.extractRemainingSamples=function(e){var t,a=e.audioTrack,i=e.videoTrack,o=e.id3Track,n=e.textTrack,r=i.pesData,E=a.pesData,_=o.pesData;if(r&&(t=wo(r))?(this.videoParser.parseAVCPES(i,n,t,!0,this._duration),i.pesData=null):i.pesData=r,E&&(t=wo(E))){switch(a.segmentCodec){case"aac":this.parseAACPES(a,t);break;case"mp3":this.parseMPEGPES(a,t);break;case"ac3":this.parseAC3PES(a,t)}a.pesData=null}else null!=E&&E.size&&b.log("last AAC PES packet truncated,might overlap between fragments"),a.pesData=E;_&&(t=wo(_))?(this.parseID3PES(o,t),o.pesData=null):o.pesData=_},t.demuxSampleAes=function(e,t,a){var i=this.demux(e,a,!0,!this.config.progressive),o=this.sampleAes=new Uo(this.observer,this.config,t);return this.decrypt(i,o)},t.decrypt=function(e,t){return new Promise(function(a){var i=e.audioTrack,o=e.videoTrack;i.samples&&"aac"===i.segmentCodec?t.decryptAacSamples(i.samples,0,function(){o.samples?t.decryptAvcSamples(o.samples,0,0,function(){a(e)}):a(e)}):o.samples&&t.decryptAvcSamples(o.samples,0,0,function(){a(e)})})},t.destroy=function(){this._duration=0},t.parseAACPES=function(e,t){var a,i,o,n=0,r=this.aacOverFlow,E=t.data;if(r){this.aacOverFlow=null;var _=r.missing,T=r.sample.unit.byteLength;if(-1===_)E=at(r.sample.unit,E);else{var s=T-_;r.sample.unit.set(E.subarray(0,_),s),e.samples.push(r.sample),n=r.missing}}for(a=n,i=E.length;a<i-1&&!Eo(E,a);a++);if(a!==n){var S,l=a<i-1;S=l?"AAC PES did not start with ADTS header,offset:"+a:"No ADTS header found in AAC PES";var I=new Error(S);if(b.warn("parsing error: "+S),this.observer.emit(f.ERROR,f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,levelRetry:l,error:I,reason:S}),!l)return}if(so(e,this.observer,E,a,this.audioCodec),void 0!==t.pts)o=t.pts;else{if(!r)return void b.warn("[tsdemuxer]: AAC PES unknown PTS");var A=So(e.samplerate);o=r.sample.pts+A}for(var u,d=0;a<i;){if(a+=(u=Io(e,E,a,o,d)).length,u.missing){this.aacOverFlow=u;break}for(d++;a<i-1&&!Eo(E,a);a++);}},t.parseMPEGPES=function(e,t){var a=t.data,i=a.length,o=0,n=0,r=t.pts;if(void 0!==r)for(;n<i;)if(Do(a,n)){var E=Ro(e,a,n,r,o);if(!E)break;n+=E.length,o++}else n++;else b.warn("[tsdemuxer]: MPEG PES unknown PTS")},t.parseAC3PES=function(e,t){var a=t.data,i=t.pts;if(void 0!==i)for(var o,n=a.length,r=0,E=0;E<n&&(o=vo(e,a,E,i,r++))>0;)E+=o;else b.warn("[tsdemuxer]: AC3 PES unknown PTS")},t.parseID3PES=function(e,t){if(void 0!==t.pts){var a=T({},t,{type:this._videoTrack?Ea.emsg:Ea.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(a)}else b.warn("[tsdemuxer]: ID3 PES unknown PTS")},e})();function ko(e,t){return((31&e[t+1])<<8)+e[t+2]}function Fo(e,t){return(31&e[t+10])<<8|e[t+11]}function Vo(e,t,a,i){var o={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},n=t+3+((15&e[t+1])<<8|e[t+2])-4;for(t+=12+((15&e[t+10])<<8|e[t+11]);t<n;){var r=ko(e,t),E=(15&e[t+3])<<8|e[t+4];switch(e[t]){case 207:if(!i){Ho("ADTS AAC");break}case 15:-1===o.audioPid&&(o.audioPid=r);break;case 21:-1===o.id3Pid&&(o.id3Pid=r);break;case 219:if(!i){Ho("H.264");break}case 27:-1===o.videoPid&&(o.videoPid=r,o.segmentVideoCodec="avc");break;case 3:case 4:a.mpeg||a.mp3?-1===o.audioPid&&(o.audioPid=r,o.segmentAudioCodec="mp3"):b.log("MPEG audio found, not supported in this browser");break;case 193:if(!i){Ho("AC-3");break}case 129:a.ac3?-1===o.audioPid&&(o.audioPid=r,o.segmentAudioCodec="ac3"):b.log("AC-3 audio found, not supported in this browser");break;case 6:if(-1===o.audioPid&&E>0)for(var _=t+5,T=E;T>2;){106===e[_]&&(!0!==a.ac3?b.log("AC-3 audio found, not supported in this browser for now"):(o.audioPid=r,o.segmentAudioCodec="ac3"));var s=e[_+1]+2;_+=s,T-=s}break;case 194:case 135:b.warn("Unsupported EC-3 in M2TS found");break;case 36:b.warn("Unsupported HEVC in M2TS found")}t+=E+5}return o}function Ho(e){b.log(e+" with AES-128-CBC encryption found in unencrypted stream")}function wo(e){var t,a,i,o,n,r=0,E=e.data;if(!e||0===e.size)return null;for(;E[0].length<19&&E.length>1;)E[0]=at(E[0],E[1]),E.splice(1,1);if(1===((t=E[0])[0]<<16)+(t[1]<<8)+t[2]){if((a=(t[4]<<8)+t[5])&&a>e.size-6)return null;var _=t[7];192&_&&(o=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,64&_?o-(n=536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2)>54e5&&(b.warn(Math.round((o-n)/9e4)+"s delta between PTS and DTS, align them"),o=n):n=o);var T=(i=t[8])+9;if(e.size<=T)return null;e.size-=T;for(var s=new Uint8Array(e.size),S=0,l=E.length;S<l;S++){var I=(t=E[S]).byteLength;if(T){if(T>I){T-=I;continue}t=t.subarray(T),I-=T,T=0}s.set(t,r),r+=I}return a&&(a-=i+3),{data:s,pts:o,dts:n,len:a}}return null}var Yo=(function(e){function t(){return e.apply(this,arguments)||this}s(t,e);var a=t.prototype;return a.resetInitSegment=function(t,a,i,o){e.prototype.resetInitSegment.call(this,t,a,i,o),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:a,duration:o,inputTimeScale:9e4,dropped:0}},t.probe=function(e){if(!e)return!1;var t=Oe(e,0),a=(null==t?void 0:t.length)||0;if(t&&11===e[a]&&119===e[a+1]&&void 0!==Re(t)&&Bo(e,a)<=16)return!1;for(var i=e.length;a<i;a++)if(Co(e,a))return b.log("MPEG Audio sync word found !"),!0;return!1},a.canParse=function(e,t){return po(e,t)},a.appendFrame=function(e,t,a){if(null!==this.basePTS)return Ro(e,t,a,this.basePTS,this.frameIndex)},t})(eo),zo=(function(){function e(){}return e.getSilentFrame=function(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}},e})(),Ko=Math.pow(2,32)-1,jo=(function(){function e(){}return e.init=function(){var t;for(t in e.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]},e.types)e.types.hasOwnProperty(t)&&(e.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]);var a=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),i=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);e.HDLR_TYPES={video:a,audio:i};var o=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n=new Uint8Array([0,0,0,0,0,0,0,0]);e.STTS=e.STSC=e.STCO=n,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);var r=new Uint8Array([105,115,111,109]),E=new Uint8Array([97,118,99,49]),_=new Uint8Array([0,0,0,1]);e.FTYP=e.box(e.types.ftyp,r,_,r,E),e.DINF=e.box(e.types.dinf,e.box(e.types.dref,o))},e.box=function(e){for(var t=8,a=arguments.length,i=new Array(a>1?a-1:0),o=1;o<a;o++)i[o-1]=arguments[o];for(var n=i.length,r=n;n--;)t+=i[n].byteLength;var E=new Uint8Array(t);for(E[0]=t>>24&255,E[1]=t>>16&255,E[2]=t>>8&255,E[3]=255&t,E.set(e,4),n=0,t=8;n<r;n++)E.set(i[n],t),t+=i[n].byteLength;return E},e.hdlr=function(t){return e.box(e.types.hdlr,e.HDLR_TYPES[t])},e.mdat=function(t){return e.box(e.types.mdat,t)},e.mdhd=function(t,a){a*=t;var i=Math.floor(a/(Ko+1)),o=Math.floor(a%(Ko+1));return e.box(e.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,i>>24,i>>16&255,i>>8&255,255&i,o>>24,o>>16&255,o>>8&255,255&o,85,196,0,0]))},e.mdia=function(t){return e.box(e.types.mdia,e.mdhd(t.timescale,t.duration),e.hdlr(t.type),e.minf(t))},e.mfhd=function(t){return e.box(e.types.mfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]))},e.minf=function(t){return"audio"===t.type?e.box(e.types.minf,e.box(e.types.smhd,e.SMHD),e.DINF,e.stbl(t)):e.box(e.types.minf,e.box(e.types.vmhd,e.VMHD),e.DINF,e.stbl(t))},e.moof=function(t,a,i){return e.box(e.types.moof,e.mfhd(t),e.traf(i,a))},e.moov=function(t){for(var a=t.length,i=[];a--;)i[a]=e.trak(t[a]);return e.box.apply(null,[e.types.moov,e.mvhd(t[0].timescale,t[0].duration)].concat(i).concat(e.mvex(t)))},e.mvex=function(t){for(var a=t.length,i=[];a--;)i[a]=e.trex(t[a]);return e.box.apply(null,[e.types.mvex].concat(i))},e.mvhd=function(t,a){a*=t;var i=Math.floor(a/(Ko+1)),o=Math.floor(a%(Ko+1)),n=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,i>>24,i>>16&255,i>>8&255,255&i,o>>24,o>>16&255,o>>8&255,255&o,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return e.box(e.types.mvhd,n)},e.sdtp=function(t){var a,i,o=t.samples||[],n=new Uint8Array(4+o.length);for(a=0;a<o.length;a++)i=o[a].flags,n[a+4]=i.dependsOn<<4|i.isDependedOn<<2|i.hasRedundancy;return e.box(e.types.sdtp,n)},e.stbl=function(t){return e.box(e.types.stbl,e.stsd(t),e.box(e.types.stts,e.STTS),e.box(e.types.stsc,e.STSC),e.box(e.types.stsz,e.STSZ),e.box(e.types.stco,e.STCO))},e.avc1=function(t){var a,i,o,n=[],r=[];for(a=0;a<t.sps.length;a++)o=(i=t.sps[a]).byteLength,n.push(o>>>8&255),n.push(255&o),n=n.concat(Array.prototype.slice.call(i));for(a=0;a<t.pps.length;a++)o=(i=t.pps[a]).byteLength,r.push(o>>>8&255),r.push(255&o),r=r.concat(Array.prototype.slice.call(i));var E=e.box(e.types.avcC,new Uint8Array([1,n[3],n[4],n[5],255,224|t.sps.length].concat(n).concat([t.pps.length]).concat(r))),_=t.width,T=t.height,s=t.pixelRatio[0],S=t.pixelRatio[1];return e.box(e.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,_>>8&255,255&_,T>>8&255,255&T,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),E,e.box(e.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),e.box(e.types.pasp,new Uint8Array([s>>24,s>>16&255,s>>8&255,255&s,S>>24,S>>16&255,S>>8&255,255&S])))},e.esds=function(e){var t=e.config.length;return new Uint8Array([0,0,0,0,3,23+t,0,1,0,4,15+t,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([t]).concat(e.config).concat([6,1,2]))},e.audioStsd=function(e){var t=e.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,t>>8&255,255&t,0,0])},e.mp4a=function(t){return e.box(e.types.mp4a,e.audioStsd(t),e.box(e.types.esds,e.esds(t)))},e.mp3=function(t){return e.box(e.types[".mp3"],e.audioStsd(t))},e.ac3=function(t){return e.box(e.types["ac-3"],e.audioStsd(t),e.box(e.types.dac3,t.config))},e.stsd=function(t){return"audio"===t.type?"mp3"===t.segmentCodec&&"mp3"===t.codec?e.box(e.types.stsd,e.STSD,e.mp3(t)):"ac3"===t.segmentCodec?e.box(e.types.stsd,e.STSD,e.ac3(t)):e.box(e.types.stsd,e.STSD,e.mp4a(t)):e.box(e.types.stsd,e.STSD,e.avc1(t))},e.tkhd=function(t){var a=t.id,i=t.duration*t.timescale,o=t.width,n=t.height,r=Math.floor(i/(Ko+1)),E=Math.floor(i%(Ko+1));return e.box(e.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,a>>24&255,a>>16&255,a>>8&255,255&a,0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r,E>>24,E>>16&255,E>>8&255,255&E,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,o>>8&255,255&o,0,0,n>>8&255,255&n,0,0]))},e.traf=function(t,a){var i=e.sdtp(t),o=t.id,n=Math.floor(a/(Ko+1)),r=Math.floor(a%(Ko+1));return e.box(e.types.traf,e.box(e.types.tfhd,new Uint8Array([0,0,0,0,o>>24,o>>16&255,o>>8&255,255&o])),e.box(e.types.tfdt,new Uint8Array([1,0,0,0,n>>24,n>>16&255,n>>8&255,255&n,r>>24,r>>16&255,r>>8&255,255&r])),e.trun(t,i.length+16+20+8+16+8+8),i)},e.trak=function(t){return t.duration=t.duration||4294967295,e.box(e.types.trak,e.tkhd(t),e.mdia(t))},e.trex=function(t){var a=t.id;return e.box(e.types.trex,new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))},e.trun=function(t,a){var i,o,n,r,E,_,T=t.samples||[],s=T.length,S=12+16*s,l=new Uint8Array(S);for(a+=8+S,l.set(["video"===t.type?1:0,0,15,1,s>>>24&255,s>>>16&255,s>>>8&255,255&s,a>>>24&255,a>>>16&255,a>>>8&255,255&a],0),i=0;i<s;i++)n=(o=T[i]).duration,r=o.size,E=o.flags,_=o.cts,l.set([n>>>24&255,n>>>16&255,n>>>8&255,255&n,r>>>24&255,r>>>16&255,r>>>8&255,255&r,E.isLeading<<2|E.dependsOn,E.isDependedOn<<6|E.hasRedundancy<<4|E.paddingValue<<1|E.isNonSync,61440&E.degradPrio,15&E.degradPrio,_>>>24&255,_>>>16&255,_>>>8&255,255&_],12+16*i);return e.box(e.types.trun,l)},e.initSegment=function(t){e.types||e.init();var a=e.moov(t);return at(e.FTYP,a)},e})();jo.types=void 0,jo.HDLR_TYPES=void 0,jo.STTS=void 0,jo.STSC=void 0,jo.STCO=void 0,jo.STSZ=void 0,jo.VMHD=void 0,jo.SMHD=void 0,jo.STSD=void 0,jo.FTYP=void 0,jo.DINF=void 0;var xo=9e4;function Qo(e,t,a,i){void 0===a&&(a=1),void 0===i&&(i=!1);var o=e*t*a;return i?Math.round(o):o}function Xo(e,t,a,i){return void 0===a&&(a=1),void 0===i&&(i=!1),Qo(e,t,1/a,i)}function $o(e,t){return void 0===t&&(t=!1),Qo(e,1e3,1/xo,t)}function qo(e,t){return void 0===t&&(t=1),Qo(e,xo,1/t)}var Jo=1e4,Zo=1024,en=1152,tn=1536,an=null,on=null,nn=(function(){function e(e,t,a,i){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=a,this.ISGenerated=!1,null===an){var o=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);an=o?parseInt(o[1]):0}if(null===on){var n=navigator.userAgent.match(/Safari\/(\d+)/i);on=n?parseInt(n[1]):0}}var t=e.prototype;return t.destroy=function(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null},t.resetTimeStamp=function(e){b.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e},t.resetNextTimestamp=function(){b.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1},t.resetInitSegment=function(){b.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0},t.getVideoStartPts=function(e){var t=!1,a=e.reduce(function(e,a){var i=a.pts-e;return i<-4294967296?(t=!0,rn(e,a.pts)):i>0?e:a.pts},e[0].pts);return t&&b.debug("PTS rollover detected"),a},t.remux=function(e,t,a,i,o,n,r,E){var _,T,s,S,l,I,A=o,u=o,d=e.pid>-1,O=t.pid>-1,c=t.samples.length,N=e.samples.length>0,R=r&&c>0||c>1;if((!d||N)&&(!O||R)||this.ISGenerated||r){if(this.ISGenerated){var m,L,D,p,C=this.videoTrackConfig;!C||t.width===C.width&&t.height===C.height&&(null==(m=t.pixelRatio)?void 0:m[0])===(null==(L=C.pixelRatio)?void 0:L[0])&&(null==(D=t.pixelRatio)?void 0:D[1])===(null==(p=C.pixelRatio)?void 0:p[1])||this.resetInitSegment()}else s=this.generateIS(e,t,o,n);var h,f=this.isVideoContiguous,P=-1;if(R&&(P=En(t.samples),!f&&this.config.forceKeyFrameOnDiscontinuity))if(I=!0,P>0){b.warn("[mp4-remuxer]: Dropped "+P+" out of "+c+" video samples due to a missing keyframe");var B=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(P),t.dropped+=P,h=u+=(t.samples[0].pts-B)/t.inputTimeScale}else-1===P&&(b.warn("[mp4-remuxer]: No keyframe found out of "+c+" video samples"),I=!1);if(this.ISGenerated){if(N&&R){var g=this.getVideoStartPts(t.samples),v=(rn(e.samples[0].pts,g)-g)/t.inputTimeScale;A+=Math.max(0,v),u+=Math.max(0,-v)}if(N){if(e.samplerate||(b.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),s=this.generateIS(e,t,o,n)),T=this.remuxAudio(e,A,this.isAudioContiguous,n,O||R||E===$t.AUDIO?u:void 0),R){var M=T?T.endPTS-T.startPTS:0;t.inputTimeScale||(b.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),s=this.generateIS(e,t,o,n)),_=this.remuxVideo(t,u,f,M)}}else R&&(_=this.remuxVideo(t,u,f,0));_&&(_.firstKeyFrame=P,_.independent=-1!==P,_.firstKeyFramePTS=h)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(a.samples.length&&(l=_n(a,o,this._initPTS,this._initDTS)),i.samples.length&&(S=Tn(i,o,this._initPTS))),{audio:T,video:_,initSegment:s,independent:I,text:S,id3:l}},t.generateIS=function(e,t,a,i){var o,n,r,E=e.samples,_=t.samples,T=this.typeSupported,s={},S=this._initPTS,l=!S||i,I="audio/mp4";if(l&&(o=n=1/0),e.config&&E.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":T.mpeg?(I="audio/mpeg",e.codec=""):T.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3"}s.audio={id:"audio",container:I,codec:e.codec,initSegment:"mp3"===e.segmentCodec&&T.mpeg?new Uint8Array(0):jo.initSegment([e]),metadata:{channelCount:e.channelCount}},l&&(r=e.inputTimeScale,S&&r===S.timescale?l=!1:o=n=E[0].pts-Math.round(r*a))}if(t.sps&&t.pps&&_.length){if(t.timescale=t.inputTimeScale,s.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:jo.initSegment([t]),metadata:{width:t.width,height:t.height}},l)if(r=t.inputTimeScale,S&&r===S.timescale)l=!1;else{var A=this.getVideoStartPts(_),u=Math.round(r*a);n=Math.min(n,rn(_[0].dts,A)-u),o=Math.min(o,A-u)}this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(s).length)return this.ISGenerated=!0,l?(this._initPTS={baseTime:o,timescale:r},this._initDTS={baseTime:n,timescale:r}):o=r=void 0,{tracks:s,initPTS:o,timescale:r}},t.remuxVideo=function(e,t,a,i){var o,n,r=e.inputTimeScale,E=e.samples,_=[],s=E.length,S=this._initPTS,l=this.nextAvcDts,I=8,A=this.videoSampleDuration,u=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY,O=!1;if(!a||null===l){var c=t*r,N=E[0].pts-rn(E[0].dts,E[0].pts);an&&null!==l&&Math.abs(c-N-l)<15e3?a=!0:l=c-N}for(var R=S.baseTime*r/S.timescale,m=0;m<s;m++){var L=E[m];L.pts=rn(L.pts-R,l),L.dts=rn(L.dts-R,l),L.dts<E[m>0?m-1:m].dts&&(O=!0)}O&&E.sort(function(e,t){var a=e.dts-t.dts,i=e.pts-t.pts;return a||i}),o=E[0].dts;var D=(n=E[E.length-1].dts)-o,p=D?Math.round(D/(s-1)):A||e.inputTimeScale/30;if(a){var C=o-l,h=C>p,g=C<-1;if((h||g)&&(h?b.warn("AVC: "+$o(C,!0)+" ms ("+C+"dts) hole between fragments detected at "+t.toFixed(3)):b.warn("AVC: "+$o(-C,!0)+" ms ("+C+"dts) overlapping between fragments detected at "+t.toFixed(3)),!g||l>=E[0].pts||an)){o=l;var v=E[0].pts-C;if(h)E[0].dts=o,E[0].pts=v;else for(var M=0;M<E.length&&!(E[M].dts>v);M++)E[M].dts-=C,E[M].pts-=C;b.log("Video: Initial PTS/DTS adjusted: "+$o(v,!0)+"/"+$o(o,!0)+", delta: "+$o(C,!0)+" ms")}}for(var W=0,y=0,U=o=Math.max(0,o),G=0;G<s;G++){for(var k=E[G],F=k.units,V=F.length,H=0,w=0;w<V;w++)H+=F[w].data.length;y+=H,W+=V,k.length=H,k.dts<U?(k.dts=U,U+=p/4|0||1):U=k.dts,u=Math.min(k.pts,u),d=Math.max(k.pts,d)}n=E[s-1].dts;var Y,z=y+4*W+8;try{Y=new Uint8Array(z)}catch(e){return void this.observer.emit(f.ERROR,f.ERROR,{type:P.MUX_ERROR,details:B.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:z,reason:"fail allocating video mdat "+z})}var K=new DataView(Y.buffer);K.setUint32(0,z),Y.set(jo.types.mdat,4);for(var j=!1,x=Number.POSITIVE_INFINITY,Q=Number.POSITIVE_INFINITY,X=Number.NEGATIVE_INFINITY,$=Number.NEGATIVE_INFINITY,q=0;q<s;q++){for(var J=E[q],Z=J.units,ee=0,te=0,ae=Z.length;te<ae;te++){var ie=Z[te],oe=ie.data,ne=ie.data.byteLength;K.setUint32(I,ne),I+=4,Y.set(oe,I),I+=ne,ee+=4+ne}var re=void 0;if(q<s-1)A=E[q+1].dts-J.dts,re=E[q+1].pts-J.pts;else{var Ee=this.config,_e=q>0?J.dts-E[q-1].dts:p;if(re=q>0?J.pts-E[q-1].pts:p,Ee.stretchShortVideoTrack&&null!==this.nextAudioPts){var Te=Math.floor(Ee.maxBufferHole*r),se=(i?u+i*r:this.nextAudioPts)-J.pts;se>Te?((A=se-_e)<0?A=_e:j=!0,b.log("[mp4-remuxer]: It is approximately "+se/90+" ms to the next segment; using duration "+A/90+" ms for the last video frame.")):A=_e}else A=_e}var Se=Math.round(J.pts-J.dts);x=Math.min(x,A),X=Math.max(X,A),Q=Math.min(Q,re),$=Math.max($,re),_.push(new Sn(J.key,A,ee,Se))}if(_.length)if(an){if(an<70){var le=_[0].flags;le.dependsOn=2,le.isNonSync=0}}else if(on&&$-Q<X-x&&p/X<.025&&0===_[0].cts){b.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");for(var Ie=o,Ae=0,ue=_.length;Ae<ue;Ae++){var de=Ie+_[Ae].duration,Oe=Ie+_[Ae].cts;if(Ae<ue-1){var ce=de+_[Ae+1].cts;_[Ae].duration=ce-Oe}else _[Ae].duration=Ae?_[Ae-1].duration:p;_[Ae].cts=0,Ie=de}}A=j||!A?p:A,this.nextAvcDts=l=n+A,this.videoSampleDuration=A,this.isVideoContiguous=!0;var Ne={data1:jo.moof(e.sequenceNumber++,o,T({},e,{samples:_})),data2:Y,startPTS:u/r,endPTS:(d+A)/r,startDTS:o/r,endDTS:l/r,type:"video",hasAudio:!1,hasVideo:!0,nb:_.length,dropped:e.dropped};return e.samples=[],e.dropped=0,Ne},t.getSamplesPerFrame=function(e){switch(e.segmentCodec){case"mp3":return en;case"ac3":return tn;default:return Zo}},t.remuxAudio=function(e,t,a,i,o){var n=e.inputTimeScale,r=n/(e.samplerate?e.samplerate:n),E=this.getSamplesPerFrame(e),_=E*r,s=this._initPTS,S="mp3"===e.segmentCodec&&this.typeSupported.mpeg,l=[],I=void 0!==o,A=e.samples,u=S?0:8,d=this.nextAudioPts||-1,O=t*n,c=s.baseTime*n/s.timescale;if(this.isAudioContiguous=a=a||A.length&&d>0&&(i&&Math.abs(O-d)<9e3||Math.abs(rn(A[0].pts-c,O)-d)<20*_),A.forEach(function(e){e.pts=rn(e.pts-c,O)}),!a||d<0){if(A=A.filter(function(e){return e.pts>=0}),!A.length)return;d=0===o?0:i&&!I?Math.max(0,O):A[0].pts}if("aac"===e.segmentCodec)for(var N=this.config.maxAudioFramesDrift,R=0,m=d;R<A.length;R++){var L=A[R],D=L.pts,p=D-m,C=Math.abs(1e3*p/n);if(p<=-N*_&&I)0===R&&(b.warn("Audio frame @ "+(D/n).toFixed(3)+"s overlaps nextAudioPts by "+Math.round(1e3*p/n)+" ms."),this.nextAudioPts=d=m=D);else if(p>=N*_&&C<Jo&&I){var h=Math.round(p/_);(m=D-h*_)<0&&(h--,m+=_),0===R&&(this.nextAudioPts=d=m),b.warn("[mp4-remuxer]: Injecting "+h+" audio frame @ "+(m/n).toFixed(3)+"s due to "+Math.round(1e3*p/n)+" ms gap.");for(var g=0;g<h;g++){var v=Math.max(m,0),M=zo.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);M||(b.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),M=L.unit.subarray()),A.splice(R,0,{unit:M,pts:v}),m+=_,R++}}L.pts=m,m+=_}for(var W,y=null,U=null,G=0,k=A.length;k--;)G+=A[k].unit.byteLength;for(var F=0,V=A.length;F<V;F++){var H=A[F],w=H.unit,Y=H.pts;if(null!==U)l[F-1].duration=Math.round((Y-U)/r);else{if(a&&"aac"===e.segmentCodec&&(Y=d),y=Y,!(G>0))return;G+=u;try{W=new Uint8Array(G)}catch(e){return void this.observer.emit(f.ERROR,f.ERROR,{type:P.MUX_ERROR,details:B.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:G,reason:"fail allocating audio mdat "+G})}S||(new DataView(W.buffer).setUint32(0,G),W.set(jo.types.mdat,4))}W.set(w,u);var z=w.byteLength;u+=z,l.push(new Sn(!0,E,z,0)),U=Y}var K=l.length;if(K){var j=l[l.length-1];this.nextAudioPts=d=U+r*j.duration;var x=S?new Uint8Array(0):jo.moof(e.sequenceNumber++,y/r,T({},e,{samples:l}));e.samples=[];var Q=y/n,X=d/n,$={data1:x,data2:W,startPTS:Q,endPTS:X,startDTS:Q,endDTS:X,type:"audio",hasAudio:!0,hasVideo:!1,nb:K};return this.isAudioContiguous=!0,$}},t.remuxEmptyAudio=function(e,t,a,i){var o=e.inputTimeScale,n=o/(e.samplerate?e.samplerate:o),r=this.nextAudioPts,E=this._initDTS,_=9e4*E.baseTime/E.timescale,T=(null!==r?r:i.startDTS*o)+_,s=i.endDTS*o+_,S=n*Zo,l=Math.ceil((s-T)/S),I=zo.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(b.warn("[mp4-remuxer]: remux empty Audio"),I){for(var A=[],u=0;u<l;u++){var d=T+u*S;A.push({unit:I,pts:d,dts:d})}return e.samples=A,this.remuxAudio(e,t,a,!1)}b.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec")},e})();function rn(e,t){var a;if(null===t)return e;for(a=t<e?-8589934592:8589934592;Math.abs(e-t)>4294967296;)e+=a;return e}function En(e){for(var t=0;t<e.length;t++)if(e[t].key)return t;return-1}function _n(e,t,a,i){var o=e.samples.length;if(o){for(var n=e.inputTimeScale,r=0;r<o;r++){var E=e.samples[r];E.pts=rn(E.pts-a.baseTime*n/a.timescale,t*n)/n,E.dts=rn(E.dts-i.baseTime*n/i.timescale,t*n)/n}var _=e.samples;return e.samples=[],{samples:_}}}function Tn(e,t,a){var i=e.samples.length;if(i){for(var o=e.inputTimeScale,n=0;n<i;n++){var r=e.samples[n];r.pts=rn(r.pts-a.baseTime*o/a.timescale,t*o)/o}e.samples.sort(function(e,t){return e.pts-t.pts});var E=e.samples;return e.samples=[],{samples:E}}}var sn,Sn=function(e,t,a,i){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=a,this.cts=i,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1}},ln=(function(){function e(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null}var t=e.prototype;return t.destroy=function(){},t.resetTimeStamp=function(e){this.initPTS=e,this.lastEndTime=null},t.resetNextTimestamp=function(){this.lastEndTime=null},t.resetInitSegment=function(e,t,a,i){this.audioCodec=t,this.videoCodec=a,this.generateInitSegment(Xe(e,i)),this.emitInitSegment=!0},t.generateInitSegment=function(e){var t=this.audioCodec,a=this.videoCodec;if(null==e||!e.byteLength)return this.initTracks=void 0,void(this.initData=void 0);var i=this.initData=ze(e);i.audio&&(t=An(i.audio,z.AUDIO)),i.video&&(a=An(i.video,z.VIDEO));var o={};i.audio&&i.video?o.audiovideo={container:"video/mp4",codec:t+","+a,initSegment:e,id:"main"}:i.audio?o.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:i.video?o.video={container:"video/mp4",codec:a,initSegment:e,id:"main"}:b.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=o},t.remux=function(e,t,a,i,o,n){var r,E,_=this.initPTS,T=this.lastEndTime,s={audio:void 0,video:void 0,text:i,id3:a,initSegment:void 0};p(T)||(T=this.lastEndTime=o||0);var S=t.samples;if(null==S||!S.length)return s;var l={initPTS:void 0,timescale:1},I=this.initData;if(null!=(r=I)&&r.length||(this.generateInitSegment(S),I=this.initData),null==(E=I)||!E.length)return b.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),s;this.emitInitSegment&&(l.tracks=this.initTracks,this.emitInitSegment=!1);var A=Je(S,I),u=qe(I,S),d=null===u?o:u;(In(_,d,o,A)||l.timescale!==_.timescale&&n)&&(l.initPTS=d-o,_&&1===_.timescale&&b.warn("Adjusting initPTS by "+(l.initPTS-_.baseTime)),this.initPTS=_={baseTime:l.initPTS,timescale:1});var O=e?d-_.baseTime/_.timescale:T,c=O+A;et(I,S,_.baseTime/_.timescale),A>0?this.lastEndTime=c:(b.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());var N=!!I.audio,R=!!I.video,m="";N&&(m+="audio"),R&&(m+="video");var L={data1:S,startPTS:O,startDTS:O,endPTS:c,endDTS:c,type:m,hasAudio:N,hasVideo:R,nb:1,dropped:0};return s.audio="audio"===L.type?L:void 0,s.video="audio"!==L.type?L:void 0,s.initSegment=l,s.id3=_n(a,o,_,_),i.samples.length&&(s.text=Tn(i,o,_)),s},e})();function In(e,t,a,i){if(null===e)return!0;var o=Math.max(i,1),n=t-e.baseTime/e.timescale;return Math.abs(n-a)>o}function An(e,t){var a=null==e?void 0:e.codec;if(a&&a.length>4)return a;if(t===z.AUDIO){if("ec-3"===a||"ac-3"===a||"alac"===a)return a;if("fLaC"===a||"Opus"===a)return Mt(a,!1);var i="mp4a.40.5";return b.info('Parsed audio codec "'+a+'" or audio object type not handled. Using "'+i+'"'),i}return b.warn('Unhandled video codec "'+a+'"'),"hvc1"===a||"hev1"===a?"hvc1.1.6.L120.90":"av01"===a?"av01.0.04M.08":"avc1.42e01e"}try{sn=self.performance.now.bind(self.performance)}catch(e){b.debug("Unable to use Performance API on this environment"),sn=null==te?void 0:te.Date.now}var un=[{demux:Po,remux:ln},{demux:Go,remux:nn},{demux:ho,remux:nn},{demux:Yo,remux:nn}];un.splice(2,0,{demux:go,remux:nn});var dn=(function(){function e(e,t,a,i,o){this.async=!1,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=a,this.vendor=i,this.id=o}var t=e.prototype;return t.configure=function(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()},t.push=function(e,t,a,i){var o=this,n=a.transmuxing;n.executeStart=sn();var r=new Uint8Array(e),E=this.currentTransmuxState,_=this.transmuxConfig;i&&(this.currentTransmuxState=i);var T=i||E,s=T.contiguous,S=T.discontinuity,l=T.trackSwitch,I=T.accurateTimeOffset,A=T.timeOffset,u=T.initSegmentChange,d=_.audioCodec,O=_.videoCodec,c=_.defaultInitPts,N=_.duration,R=_.initSegmentData,m=On(r,t);if(m&&"AES-128"===m.method){var L=this.getDecrypter();if(!L.isSync())return this.decryptionPromise=L.webCryptoDecrypt(r,m.key.buffer,m.iv.buffer).then(function(e){var t=o.push(e,null,a);return o.decryptionPromise=null,t}),this.decryptionPromise;var D=L.softwareDecrypt(r,m.key.buffer,m.iv.buffer);if(a.part>-1&&(D=L.flush()),!D)return n.executeEnd=sn(),cn(a);r=new Uint8Array(D)}var p=this.needsProbing(S,l);if(p){var C=this.configureTransmuxer(r);if(C)return b.warn("[transmuxer] "+C.message),this.observer.emit(f.ERROR,f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,fatal:!1,error:C,reason:C.message}),n.executeEnd=sn(),cn(a)}(S||l||u||p)&&this.resetInitSegment(R,d,O,N,t),(S||u||p)&&this.resetInitialTimestamp(c),s||this.resetContiguity();var h=this.transmux(r,m,A,I,a),g=this.currentTransmuxState;return g.contiguous=!0,g.discontinuity=!1,g.trackSwitch=!1,n.executeEnd=sn(),h},t.flush=function(e){var t=this,a=e.transmuxing;a.executeStart=sn();var i=this.decrypter,o=this.currentTransmuxState,n=this.decryptionPromise;if(n)return n.then(function(){return t.flush(e)});var r=[],E=o.timeOffset;if(i){var _=i.flush();_&&r.push(this.push(_,null,e))}var T=this.demuxer,s=this.remuxer;if(!T||!s)return a.executeEnd=sn(),[cn(e)];var S=T.flush(E);return Nn(S)?S.then(function(a){return t.flushRemux(r,a,e),r}):(this.flushRemux(r,S,e),r)},t.flushRemux=function(e,t,a){var i=t.audioTrack,o=t.videoTrack,n=t.id3Track,r=t.textTrack,E=this.currentTransmuxState,_=E.accurateTimeOffset,T=E.timeOffset;b.log("[transmuxer.ts]: Flushed fragment "+a.sn+(a.part>-1?" p: "+a.part:"")+" of level "+a.level);var s=this.remuxer.remux(i,o,n,r,T,_,!0,this.id);e.push({remuxResult:s,chunkMeta:a}),a.transmuxing.executeEnd=sn()},t.resetInitialTimestamp=function(e){var t=this.demuxer,a=this.remuxer;t&&a&&(t.resetTimeStamp(e),a.resetTimeStamp(e))},t.resetContiguity=function(){var e=this.demuxer,t=this.remuxer;e&&t&&(e.resetContiguity(),t.resetNextTimestamp())},t.resetInitSegment=function(e,t,a,i,o){var n=this.demuxer,r=this.remuxer;n&&r&&(n.resetInitSegment(e,t,a,i),r.resetInitSegment(e,t,a,o))},t.destroy=function(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)},t.transmux=function(e,t,a,i,o){return t&&"SAMPLE-AES"===t.method?this.transmuxSampleAes(e,t,a,i,o):this.transmuxUnencrypted(e,a,i,o)},t.transmuxUnencrypted=function(e,t,a,i){var o=this.demuxer.demux(e,t,!1,!this.config.progressive),n=o.audioTrack,r=o.videoTrack,E=o.id3Track,_=o.textTrack;return{remuxResult:this.remuxer.remux(n,r,E,_,t,a,!1,this.id),chunkMeta:i}},t.transmuxSampleAes=function(e,t,a,i,o){var n=this;return this.demuxer.demuxSampleAes(e,t,a).then(function(e){return{remuxResult:n.remuxer.remux(e.audioTrack,e.videoTrack,e.id3Track,e.textTrack,a,i,!1,n.id),chunkMeta:o}})},t.configureTransmuxer=function(e){for(var t,a=this.config,i=this.observer,o=this.typeSupported,n=this.vendor,r=0,E=un.length;r<E;r++){var _;if(null!=(_=un[r].demux)&&_.probe(e)){t=un[r];break}}if(!t)return new Error("Failed to find demuxer by probing fragment data");var T=this.demuxer,s=this.remuxer,S=t.remux,l=t.demux;s&&s instanceof S||(this.remuxer=new S(i,a,o,n)),T&&T instanceof l||(this.demuxer=new l(i,a,o),this.probe=l.probe)},t.needsProbing=function(e,t){return!this.demuxer||!this.remuxer||e||t},t.getDecrypter=function(){var e=this.decrypter;return e||(e=this.decrypter=new xi(this.config)),e},e})();function On(e,t){var a=null;return e.byteLength>0&&null!=(null==t?void 0:t.key)&&null!==t.iv&&null!=t.method&&(a=t),a}var cn=function(e){return{remuxResult:{},chunkMeta:e}};function Nn(e){return"then"in e&&e.then instanceof Function}var Rn=function(e,t,a,i,o){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=a,this.duration=i,this.defaultInitPts=o||null},mn=function(e,t,a,i,o,n){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=a,this.trackSwitch=i,this.timeOffset=o,this.initSegmentChange=n},Ln={exports:{}};!(function(e){var t=Object.prototype.hasOwnProperty,a="~";function i(){}function o(e,t,a){this.fn=e,this.context=t,this.once=a||!1}function n(e,t,i,n,r){if("function"!=typeof i)throw new TypeError("The listener must be a function");var E=new o(i,n||e,r),_=a?a+t:t;return e._events[_]?e._events[_].fn?e._events[_]=[e._events[_],E]:e._events[_].push(E):(e._events[_]=E,e._eventsCount++),e}function r(e,t){0===--e._eventsCount?e._events=new i:delete e._events[t]}function E(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(a=!1)),E.prototype.eventNames=function(){var e,i,o=[];if(0===this._eventsCount)return o;for(i in e=this._events)t.call(e,i)&&o.push(a?i.slice(1):i);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},E.prototype.listeners=function(e){var t=a?a+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var o=0,n=i.length,r=new Array(n);o<n;o++)r[o]=i[o].fn;return r},E.prototype.listenerCount=function(e){var t=a?a+e:e,i=this._events[t];return i?i.fn?1:i.length:0},E.prototype.emit=function(e,t,i,o,n,r){var E=a?a+e:e;if(!this._events[E])return!1;var _,T,s=this._events[E],S=arguments.length;if(s.fn){switch(s.once&&this.removeListener(e,s.fn,void 0,!0),S){case 1:return s.fn.call(s.context),!0;case 2:return s.fn.call(s.context,t),!0;case 3:return s.fn.call(s.context,t,i),!0;case 4:return s.fn.call(s.context,t,i,o),!0;case 5:return s.fn.call(s.context,t,i,o,n),!0;case 6:return s.fn.call(s.context,t,i,o,n,r),!0}for(T=1,_=new Array(S-1);T<S;T++)_[T-1]=arguments[T];s.fn.apply(s.context,_)}else{var l,I=s.length;for(T=0;T<I;T++)switch(s[T].once&&this.removeListener(e,s[T].fn,void 0,!0),S){case 1:s[T].fn.call(s[T].context);break;case 2:s[T].fn.call(s[T].context,t);break;case 3:s[T].fn.call(s[T].context,t,i);break;case 4:s[T].fn.call(s[T].context,t,i,o);break;default:if(!_)for(l=1,_=new Array(S-1);l<S;l++)_[l-1]=arguments[l];s[T].fn.apply(s[T].context,_)}}return!0},E.prototype.on=function(e,t,a){return n(this,e,t,a,!1)},E.prototype.once=function(e,t,a){return n(this,e,t,a,!0)},E.prototype.removeListener=function(e,t,i,o){var n=a?a+e:e;if(!this._events[n])return this;if(!t)return r(this,n),this;var E=this._events[n];if(E.fn)E.fn!==t||o&&!E.once||i&&E.context!==i||r(this,n);else{for(var _=0,T=[],s=E.length;_<s;_++)(E[_].fn!==t||o&&!E[_].once||i&&E[_].context!==i)&&T.push(E[_]);T.length?this._events[n]=1===T.length?T[0]:T:r(this,n)}return this},E.prototype.removeAllListeners=function(e){var t;return e?(t=a?a+e:e,this._events[t]&&r(this,t)):(this._events=new i,this._eventsCount=0),this},E.prototype.off=E.prototype.removeListener,E.prototype.addListener=E.prototype.on,E.prefixed=a,E.EventEmitter=E,e.exports=E})(Ln);var Dn=m(Ln.exports);function pn(e){var t=new Dn,a=function(t,a){e.postMessage({event:t,data:a})};t.on(f.FRAG_DECRYPTED,a),t.on(f.ERROR,a);var i=function(){var e=function(e){var t=function(t){a("workerLog",{logType:e,message:t})};b[e]=t};for(var t in b)e(t)};e.addEventListener("message",function(o){var n=o.data;switch(n.cmd){case"init":var r=JSON.parse(n.config);e.transmuxer=new dn(t,n.typeSupported,r,n.vendor,n.id),U(r.debug,n.id),i(),a("init",null);break;case"configure":e.transmuxer.configure(n.config);break;case"demux":var E=e.transmuxer.push(n.data,n.decryptdata,n.chunkMeta,n.state);Nn(E)?(e.transmuxer.async=!0,E.then(function(t){Cn(e,t)}).catch(function(e){a(f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,chunkMeta:n.chunkMeta,fatal:!1,error:e,err:e,reason:"transmuxer-worker push error"})})):(e.transmuxer.async=!1,Cn(e,E));break;case"flush":var _=n.chunkMeta,T=e.transmuxer.flush(_);Nn(T)||e.transmuxer.async?(Nn(T)||(T=Promise.resolve(T)),T.then(function(t){fn(e,t,_)}).catch(function(e){a(f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,chunkMeta:n.chunkMeta,fatal:!1,error:e,err:e,reason:"transmuxer-worker flush error"})})):fn(e,T,_)}})}function Cn(e,t){if(Pn(t.remuxResult))return!1;var a=[],i=t.remuxResult,o=i.audio,n=i.video;return o&&hn(a,o),n&&hn(a,n),e.postMessage({event:"transmuxComplete",data:t},a),!0}function hn(e,t){t.data1&&e.push(t.data1.buffer),t.data2&&e.push(t.data2.buffer)}function fn(e,t,a){t.reduce(function(t,a){return Cn(e,a)||t},!1)||e.postMessage({event:"transmuxComplete",data:t[0]}),e.postMessage({event:"flush",data:a})}function Pn(e){return!(e.audio||e.video||e.text||e.id3||e.initSegment)}function Bn(){return!0}function gn(){var e=new self.Blob(["var exports={};var module={exports:exports};function define(f){f()};define.amd=true;("+t.toString()+")(true);"],{type:"text/javascript"}),a=self.URL.createObjectURL(e);return{worker:new self.Worker(a),objectURL:a}}function vn(e){var t=new self.URL(e,self.location.href).href;return{worker:new self.Worker(t),scriptURL:t}}void 0!==a&&a&&pn(self);var Mn=(function(){function e(e,t,a,i){var o=this;this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;var n=e.config;this.hls=e,this.id=t,this.useWorker=!!n.enableWorker,this.onTransmuxComplete=a,this.onFlush=i;var r=function(e,t){(t=t||{}).frag=o.frag,t.id=o.id,e===f.ERROR&&(o.error=t.error),o.hls.trigger(e,t)};this.observer=new Dn,this.observer.on(f.FRAG_DECRYPTED,r),this.observer.on(f.ERROR,r);var E=mt(n.preferManagedMediaSource)||{isTypeSupported:function(){return!1}},_={mpeg:E.isTypeSupported("audio/mpeg"),mp3:E.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:E.isTypeSupported('audio/mp4; codecs="ac-3"')},T=navigator.vendor;if(this.useWorker&&"undefined"!=typeof Worker&&(n.workerPath||Bn()))try{n.workerPath?(b.log("loading Web Worker "+n.workerPath+' for "'+t+'"'),this.workerContext=vn(n.workerPath)):(b.log('injecting Web Worker for "'+t+'"'),this.workerContext=gn()),this.onwmsg=function(e){return o.onWorkerMessage(e)};var s=this.workerContext.worker;s.addEventListener("message",this.onwmsg),s.onerror=function(e){var a=new Error(e.message+" ("+e.filename+":"+e.lineno+")");n.enableWorker=!1,b.warn('Error in "'+t+'" Web Worker, fallback to inline'),o.hls.trigger(f.ERROR,{type:P.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:a})},s.postMessage({cmd:"init",typeSupported:_,vendor:T,id:t,config:JSON.stringify(n)})}catch(e){b.warn('Error setting up "'+t+'" Web Worker, fallback to inline',e),this.resetWorker(),this.error=null,this.transmuxer=new dn(this.observer,_,n,T,t)}else this.transmuxer=new dn(this.observer,_,n,T,t)}var t=e.prototype;return t.resetWorker=function(){if(this.workerContext){var e=this.workerContext,t=e.worker,a=e.objectURL;a&&self.URL.revokeObjectURL(a),t.removeEventListener("message",this.onwmsg),t.onerror=null,t.terminate(),this.workerContext=null}},t.destroy=function(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{var e=this.transmuxer;e&&(e.destroy(),this.transmuxer=null)}var t=this.observer;t&&t.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null},t.push=function(e,t,a,i,o,n,r,E,_,T){var s,S,l=this;_.transmuxing.start=self.performance.now();var I=this.transmuxer,A=n?n.start:o.start,u=o.decryptdata,d=this.frag,O=!(d&&o.cc===d.cc),c=!(d&&_.level===d.level),N=d?_.sn-d.sn:-1,R=this.part?_.part-this.part.index:-1,m=0===N&&_.id>1&&_.id===(null==d?void 0:d.stats.chunkCount),L=!c&&(1===N||0===N&&(1===R||m&&R<=0)),D=self.performance.now();(c||N||0===o.stats.parsing.start)&&(o.stats.parsing.start=D),!n||!R&&L||(n.stats.parsing.start=D);var p=!(d&&(null==(s=o.initSegment)?void 0:s.url)===(null==(S=d.initSegment)?void 0:S.url)),C=new mn(O,L,E,c,A,p);if(!L||O||p){b.log("[transmuxer-interface, "+o.type+"]: Starting new transmux session for sn: "+_.sn+" p: "+_.part+" level: "+_.level+" id: "+_.id+"\n discontinuity: "+O+"\n trackSwitch: "+c+"\n contiguous: "+L+"\n accurateTimeOffset: "+E+"\n timeOffset: "+A+"\n initSegmentChange: "+p);var h=new Rn(a,i,t,r,T);this.configureTransmuxer(h)}if(this.frag=o,this.part=n,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:u,chunkMeta:_,state:C},e instanceof ArrayBuffer?[e]:[]);else if(I){var f=I.push(e,u,_,C);Nn(f)?(I.async=!0,f.then(function(e){l.handleTransmuxComplete(e)}).catch(function(e){l.transmuxerError(e,_,"transmuxer-interface push error")})):(I.async=!1,this.handleTransmuxComplete(f))}},t.flush=function(e){var t=this;e.transmuxing.start=self.performance.now();var a=this.transmuxer;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(a){var i=a.flush(e);Nn(i)||a.async?(Nn(i)||(i=Promise.resolve(i)),i.then(function(a){t.handleFlushResult(a,e)}).catch(function(a){t.transmuxerError(a,e,"transmuxer-interface flush error")})):this.handleFlushResult(i,e)}},t.transmuxerError=function(e,t,a){this.hls&&(this.error=e,this.hls.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_PARSING_ERROR,chunkMeta:t,fatal:!1,error:e,err:e,reason:a}))},t.handleFlushResult=function(e,t){var a=this;e.forEach(function(e){a.handleTransmuxComplete(e)}),this.onFlush(t)},t.onWorkerMessage=function(e){var t=e.data,a=this.hls;switch(t.event){case"init":var i,o=null==(i=this.workerContext)?void 0:i.objectURL;o&&self.URL.revokeObjectURL(o);break;case"transmuxComplete":this.handleTransmuxComplete(t.data);break;case"flush":this.onFlush(t.data);break;case"workerLog":b[t.data.logType]&&b[t.data.logType](t.data.message);break;default:t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,a.trigger(t.event,t.data)}},t.configureTransmuxer=function(e){var t=this.transmuxer;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)},t.handleTransmuxComplete=function(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)},e})();function Wn(e,t){if(e.length!==t.length)return!1;for(var a=0;a<e.length;a++)if(!yn(e[a].attrs,t[a].attrs))return!1;return!0}function yn(e,t,a){var i=e["STABLE-RENDITION-ID"];return i&&!a?i===t["STABLE-RENDITION-ID"]:!(a||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(function(a){return e[a]!==t[a]})}function Un(e,t){return t.label.toLowerCase()===e.name.toLowerCase()&&(!t.language||t.language.toLowerCase()===(e.lang||"").toLowerCase())}var bn=100,Gn=(function(e){function t(t,a,i){var o;return(o=e.call(this,t,a,i,"[audio-stream-controller]",$t.AUDIO)||this).videoBuffer=null,o.videoTrackCC=-1,o.waitingVideoCC=-1,o.bufferedTrack=null,o.switchingTrack=null,o.trackId=-1,o.waitingData=null,o.mainDetails=null,o.flushing=!1,o.bufferFlushed=!1,o.cachedTrackLoadedData=null,o._registerListeners(),o}s(t,e);var a=t.prototype;return a.onHandlerDestroying=function(){this._unregisterListeners(),e.prototype.onHandlerDestroying.call(this),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null},a._registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(f.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(f.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(f.ERROR,this.onError,this),e.on(f.BUFFER_RESET,this.onBufferReset,this),e.on(f.BUFFER_CREATED,this.onBufferCreated,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(f.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(f.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this)},a._unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(f.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(f.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(f.ERROR,this.onError,this),e.off(f.BUFFER_RESET,this.onBufferReset,this),e.off(f.BUFFER_CREATED,this.onBufferCreated,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(f.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(f.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this)},a.onInitPtsFound=function(e,t){var a=t.frag,i=t.id,o=t.initPTS,n=t.timescale;if("main"===i){var r=a.cc;this.initPTS[a.cc]={baseTime:o,timescale:n},this.log("InitPTS for cc: "+r+" found from main: "+o),this.videoTrackCC=r,this.state===Xi.WAITING_INIT_PTS&&this.tick()}},a.startLoad=function(e){if(!this.levels)return this.startPosition=e,void(this.state=Xi.STOPPED);var t=this.lastCurrentTime;this.stopLoad(),this.setInterval(bn),t>0&&-1===e?(this.log("Override startPosition with lastCurrentTime @"+t.toFixed(3)),e=t,this.state=Xi.IDLE):(this.loadedmetadata=!1,this.state=Xi.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()},a.doTick=function(){switch(this.state){case Xi.IDLE:this.doTickIdle();break;case Xi.WAITING_TRACK:var t,a=this.levels,i=this.trackId,o=null==a||null==(t=a[i])?void 0:t.details;if(o){if(this.waitForCdnTuneIn(o))break;this.state=Xi.WAITING_INIT_PTS}break;case Xi.FRAG_LOADING_WAITING_RETRY:var n,r=performance.now(),E=this.retryDate;if(!E||r>=E||null!=(n=this.media)&&n.seeking){var _=this.levels,T=this.trackId;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((null==_?void 0:_[T])||null),this.state=Xi.IDLE}break;case Xi.WAITING_INIT_PTS:var s=this.waitingData;if(s){var S=s.frag,l=s.part,I=s.cache,A=s.complete;if(void 0!==this.initPTS[S.cc]){this.waitingData=null,this.waitingVideoCC=-1,this.state=Xi.FRAG_LOADING;var u={frag:S,part:l,payload:I.flush(),networkDetails:null};this._handleFragmentLoadProgress(u),A&&e.prototype._handleFragmentLoadComplete.call(this,u)}else if(this.videoTrackCC!==this.waitingVideoCC)this.log("Waiting fragment cc ("+S.cc+") cancelled because video is at cc "+this.videoTrackCC),this.clearWaitingFragment();else{var d=this.getLoadPosition(),O=hi.bufferInfo(this.mediaBuffer,d,this.config.maxBufferHole);xa(O.end,this.config.maxFragLookUpTolerance,S)<0&&(this.log("Waiting fragment cc ("+S.cc+") @ "+S.start+" cancelled because another fragment at "+O.end+" is needed"),this.clearWaitingFragment())}}else this.state=Xi.IDLE}this.onTickEnd()},a.clearWaitingFragment=function(){var e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=Xi.IDLE)},a.resetLoadingState=function(){this.clearWaitingFragment(),e.prototype.resetLoadingState.call(this)},a.onTickEnd=function(){var e=this.media;null!=e&&e.readyState&&(this.lastCurrentTime=e.currentTime)},a.doTickIdle=function(){var e=this.hls,t=this.levels,a=this.media,i=this.trackId,o=e.config;if((a||!this.startFragRequested&&o.startFragPrefetch)&&null!=t&&t[i]){var n=t[i],r=n.details;if(!r||r.live&&this.levelLastLoaded!==n||this.waitForCdnTuneIn(r))this.state=Xi.WAITING_TRACK;else{var E=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&E&&(this.bufferFlushed=!1,this.afterBufferFlushed(E,z.AUDIO,$t.AUDIO));var _=this.getFwdBufferInfo(E,$t.AUDIO);if(null!==_){var T=this.bufferedTrack,s=this.switchingTrack;if(!s&&this._streamEnded(_,r))return e.trigger(f.BUFFER_EOS,{type:"audio"}),void(this.state=Xi.ENDED);var S=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,$t.MAIN),l=_.len,I=this.getMaxBufferLength(null==S?void 0:S.len),A=r.fragments,u=A[0].start,d=this.flushing?this.getLoadPosition():_.end;if(s&&a){var O=this.getLoadPosition();T&&!yn(s.attrs,T.attrs)&&(d=O),r.PTSKnown&&O<u&&(_.end>u||_.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),a.currentTime=u+.05)}if(!(l>=I&&!s&&d<A[A.length-1].start)){var c=this.getNextFragment(d,r),N=!1;if(c&&this.isLoopLoading(c,d)&&(N=!!c.gap,c=this.getNextFragmentLoopLoading(c,r,_,$t.MAIN,I)),c){var R=S&&c.start>S.end+r.targetduration;if(R||(null==S||!S.len)&&_.len){var m=this.getAppendedFrag(c.start,$t.MAIN);if(null===m)return;if(N||(N=!!m.gap||!!R&&0===S.len),R&&!N||N&&_.nextStart&&_.nextStart<m.end)return}this.loadFragment(c,n,d)}else this.bufferFlushed=!0}}}}},a.getMaxBufferLength=function(t){var a=e.prototype.getMaxBufferLength.call(this);return t?Math.min(Math.max(a,t),this.config.maxMaxBufferLength):a},a.onMediaDetaching=function(){this.videoBuffer=null,this.bufferFlushed=this.flushing=!1,e.prototype.onMediaDetaching.call(this)},a.onAudioTracksUpdated=function(e,t){var a=t.audioTracks;this.resetTransmuxer(),this.levels=a.map(function(e){return new Da(e)})},a.onAudioTrackSwitching=function(e,t){var a=!!t.url;this.trackId=t.id;var i=this.fragCurrent;i&&(i.abortRequests(),this.removeUnbufferedFrags(i.start)),this.resetLoadingState(),a?this.setInterval(bn):this.resetTransmuxer(),a?(this.switchingTrack=t,this.state=Xi.IDLE,this.flushAudioIfNeeded(t)):(this.switchingTrack=null,this.bufferedTrack=t,this.state=Xi.STOPPED),this.tick()},a.onManifestLoading=function(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1},a.onLevelLoaded=function(e,t){this.mainDetails=t.details,null!==this.cachedTrackLoadedData&&(this.hls.trigger(f.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null)},a.onAudioTrackLoaded=function(e,t){var a;if(null!=this.mainDetails){var i=this.levels,o=t.details,n=t.id;if(i){this.log("Audio track "+n+" loaded ["+o.startSN+","+o.endSN+"]"+(o.lastPartSn?"[part-"+o.lastPartSn+"-"+o.lastPartIndex+"]":"")+",duration:"+o.totalduration);var r=i[n],E=0;if(o.live||null!=(a=r.details)&&a.live){this.checkLiveUpdate(o);var _,T=this.mainDetails;if(o.deltaUpdateFailed||!T)return;!r.details&&o.hasProgramDateTime&&T.hasProgramDateTime?(bi(o,T),E=o.fragments[0].start):E=this.alignPlaylists(o,r.details,null==(_=this.levelLastLoaded)?void 0:_.details)}r.details=o,this.levelLastLoaded=r,this.startFragRequested||!this.mainDetails&&o.live||this.setStartPosition(this.mainDetails||o,E),this.state!==Xi.WAITING_TRACK||this.waitForCdnTuneIn(o)||(this.state=Xi.IDLE),this.tick()}else this.warn("Audio tracks were reset while loading level "+n)}else this.cachedTrackLoadedData=t},a._handleFragmentLoadProgress=function(e){var t,a=e.frag,i=e.part,o=e.payload,n=this.config,r=this.trackId,E=this.levels;if(E){var _=E[r];if(_){var T=_.details;if(!T)return this.warn("Audio track details undefined on fragment load progress"),void this.removeUnbufferedFrags(a.start);var s=n.defaultAudioCodec||_.audioCodec||"mp4a.40.2",S=this.transmuxer;S||(S=this.transmuxer=new Mn(this.hls,$t.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));var l=this.initPTS[a.cc],I=null==(t=a.initSegment)?void 0:t.data;if(void 0!==l){var A=!1,u=i?i.index:-1,d=-1!==u,O=new fi(a.level,a.sn,a.stats.chunkCount,o.byteLength,u,d);S.push(o,I,s,"",a,i,T.totalduration,A,O,l)}else this.log("Unknown video PTS for cc "+a.cc+", waiting for video PTS before demuxing audio frag "+a.sn+" of ["+T.startSN+" ,"+T.endSN+"],track "+r),(this.waitingData=this.waitingData||{frag:a,part:i,cache:new qi,complete:!1}).cache.push(new Uint8Array(o)),this.waitingVideoCC=this.videoTrackCC,this.state=Xi.WAITING_INIT_PTS}else this.warn("Audio track is undefined on fragment load progress")}else this.warn("Audio tracks were reset while fragment load was in progress. Fragment "+a.sn+" of level "+a.level+" will not be buffered")},a._handleFragmentLoadComplete=function(t){this.waitingData?this.waitingData.complete=!0:e.prototype._handleFragmentLoadComplete.call(this,t)},a.onBufferReset=function(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1},a.onBufferCreated=function(e,t){var a=t.tracks.audio;a&&(this.mediaBuffer=a.buffer||null),t.tracks.video&&(this.videoBuffer=t.tracks.video.buffer||null)},a.onFragBuffered=function(e,t){var a=t.frag,o=t.part;if(a.type===$t.AUDIO)if(this.fragContextChanged(a))this.warn("Fragment "+a.sn+(o?" p: "+o.index:"")+" of level "+a.level+" finished buffering, but was aborted. state: "+this.state+", audioSwitch: "+(this.switchingTrack?this.switchingTrack.name:"false"));else{if("initSegment"!==a.sn){this.fragPrevious=a;var n=this.switchingTrack;n&&(this.bufferedTrack=n,this.switchingTrack=null,this.hls.trigger(f.AUDIO_TRACK_SWITCHED,i({},n)))}this.fragBufferedComplete(a,o)}else if(!this.loadedmetadata&&a.type===$t.MAIN){var r=this.videoBuffer||this.media;r&&hi.getBuffered(r).length&&(this.loadedmetadata=!0)}},a.onError=function(t,a){var i;if(a.fatal)this.state=Xi.ERROR;else switch(a.details){case B.FRAG_GAP:case B.FRAG_PARSING_ERROR:case B.FRAG_DECRYPT_ERROR:case B.FRAG_LOAD_ERROR:case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_ERROR:case B.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError($t.AUDIO,a);break;case B.AUDIO_TRACK_LOAD_ERROR:case B.AUDIO_TRACK_LOAD_TIMEOUT:case B.LEVEL_PARSING_ERROR:a.levelRetry||this.state!==Xi.WAITING_TRACK||(null==(i=a.context)?void 0:i.type)!==Xt.AUDIO_TRACK||(this.state=Xi.IDLE);break;case B.BUFFER_APPEND_ERROR:case B.BUFFER_FULL_ERROR:if(!a.parent||"audio"!==a.parent)return;if(a.details===B.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(a)&&(this.bufferedTrack=null,e.prototype.flushMainBuffer.call(this,0,Number.POSITIVE_INFINITY,"audio"));break;case B.INTERNAL_EXCEPTION:this.recoverWorkerError(a)}},a.onBufferFlushing=function(e,t){t.type!==z.VIDEO&&(this.flushing=!0)},a.onBufferFlushed=function(e,t){var a=t.type;if(a!==z.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===Xi.ENDED&&(this.state=Xi.IDLE);var i=this.mediaBuffer||this.media;i&&(this.afterBufferFlushed(i,a,$t.AUDIO),this.tick())}},a._handleTransmuxComplete=function(e){var t,a="audio",i=this.hls,o=e.remuxResult,n=e.chunkMeta,r=this.getCurrentContext(n);if(r){var E=r.frag,_=r.part,s=r.level,S=s.details,l=o.audio,I=o.text,A=o.id3,u=o.initSegment;if(!this.fragContextChanged(E)&&S){if(this.state=Xi.PARSING,this.switchingTrack&&l&&this.completeAudioSwitch(this.switchingTrack),null!=u&&u.tracks){var d=E.initSegment||E;this._bufferInitSegment(s,u.tracks,d,n),i.trigger(f.FRAG_PARSING_INIT_SEGMENT,{frag:d,id:a,tracks:u.tracks})}if(l){var O=l.startPTS,c=l.endPTS,N=l.startDTS,R=l.endDTS;_&&(_.elementaryStreams[z.AUDIO]={startPTS:O,endPTS:c,startDTS:N,endDTS:R}),E.setElementaryStreamInfo(z.AUDIO,O,c,N,R),this.bufferFragmentData(l,E,_,n)}if(null!=A&&null!=(t=A.samples)&&t.length){var m=T({id:a,frag:E,details:S},A);i.trigger(f.FRAG_PARSING_METADATA,m)}if(I){var L=T({id:a,frag:E,details:S},I);i.trigger(f.FRAG_PARSING_USERDATA,L)}}else this.fragmentTracker.removeFragment(E)}else this.resetWhenMissingContext(n)},a._bufferInitSegment=function(e,t,a,i){if(this.state===Xi.PARSING){t.video&&delete t.video;var o=t.audio;if(o){o.id="audio";var n=e.audioCodec;this.log("Init audio buffer, container:"+o.container+", codecs[level/parsed]=["+n+"/"+o.codec+"]"),n&&1===n.split(",").length&&(o.levelCodec=n),this.hls.trigger(f.BUFFER_CODECS,t);var r=o.initSegment;if(null!=r&&r.byteLength){var E={type:"audio",frag:a,part:null,chunkMeta:i,parent:a.type,data:r};this.hls.trigger(f.BUFFER_APPENDING,E)}this.tickImmediate()}}},a.loadFragment=function(t,a,i){var o,n=this.fragmentTracker.getState(t);if(this.fragCurrent=t,this.switchingTrack||n===mi.NOT_LOADED||n===mi.PARTIAL)if("initSegment"===t.sn)this._loadInitSegment(t,a);else if(null!=(o=a.details)&&o.live&&!this.initPTS[t.cc]){this.log("Waiting for video PTS in continuity counter "+t.cc+" of live stream before loading audio fragment "+t.sn+" of level "+this.trackId),this.state=Xi.WAITING_INIT_PTS;var r=this.mainDetails;r&&r.fragments[0].start!==a.details.fragments[0].start&&bi(a.details,r)}else this.startFragRequested=!0,e.prototype.loadFragment.call(this,t,a,i);else this.clearTrackerIfNeeded(t)},a.flushAudioIfNeeded=function(t){var a=this.media,i=this.bufferedTrack,o=null==i?void 0:i.attrs,n=t.attrs;a&&o&&(o.CHANNELS!==n.CHANNELS||i.name!==t.name||i.lang!==t.lang)&&(this.log("Switching audio track : flushing all audio"),e.prototype.flushMainBuffer.call(this,0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null)},a.completeAudioSwitch=function(e){var t=this.hls;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(f.AUDIO_TRACK_SWITCHED,i({},e))},t})($i),kn=(function(e){function t(t){var a;return(a=e.call(this,t,"[audio-track-controller]")||this).tracks=[],a.groupIds=null,a.tracksInGroup=[],a.trackId=-1,a.currentTrack=null,a.selectDefaultTrack=!0,a.registerListeners(),a}s(t,e);var a=t.prototype;return a.registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.LEVEL_LOADING,this.onLevelLoading,this),e.on(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(f.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(f.ERROR,this.onError,this)},a.unregisterListeners=function(){var e=this.hls;e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.LEVEL_LOADING,this.onLevelLoading,this),e.off(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(f.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(f.ERROR,this.onError,this)},a.destroy=function(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,e.prototype.destroy.call(this)},a.onManifestLoading=function(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0},a.onManifestParsed=function(e,t){this.tracks=t.audioTracks||[]},a.onAudioTrackLoaded=function(e,t){var a=t.id,i=t.groupId,o=t.details,n=this.tracksInGroup[a];if(n&&n.groupId===i){var r=n.details;n.details=t.details,this.log("Audio track "+a+' "'+n.name+'" lang:'+n.lang+" group:"+i+" loaded ["+o.startSN+"-"+o.endSN+"]"),a===this.trackId&&this.playlistLoaded(a,t,r)}else this.warn("Audio track with id:"+a+" and group:"+i+" not found in active group "+(null==n?void 0:n.groupId))},a.onLevelLoading=function(e,t){this.switchLevel(t.level)},a.onLevelSwitching=function(e,t){this.switchLevel(t.level)},a.switchLevel=function(e){var t=this.hls.levels[e];if(t){var a=t.audioGroups||null,i=this.groupIds,o=this.currentTrack;if(!a||(null==i?void 0:i.length)!==(null==a?void 0:a.length)||null!=a&&a.some(function(e){return-1===(null==i?void 0:i.indexOf(e))})){this.groupIds=a,this.trackId=-1,this.currentTrack=null;var n=this.tracks.filter(function(e){return!a||-1!==a.indexOf(e.groupId)});if(n.length)this.selectDefaultTrack&&!n.some(function(e){return e.default})&&(this.selectDefaultTrack=!1),n.forEach(function(e,t){e.id=t});else if(!o&&!this.tracksInGroup.length)return;this.tracksInGroup=n;var r=this.hls.config.audioPreference;if(!o&&r){var E=Ii(r,n,di);if(E>-1)o=n[E];else{var _=Ii(r,this.tracks);o=this.tracks[_]}}var T=this.findTrackId(o);-1===T&&o&&(T=this.findTrackId(null));var s={audioTracks:n};this.log("Updating audio tracks, "+n.length+" track(s) found in group(s): "+(null==a?void 0:a.join(","))),this.hls.trigger(f.AUDIO_TRACKS_UPDATED,s);var S=this.trackId;if(-1!==T&&-1===S)this.setAudioTrack(T);else if(n.length&&-1===S){var l,I=new Error("No audio track selected for current audio group-ID(s): "+(null==(l=this.groupIds)?void 0:l.join(","))+" track count: "+n.length);this.warn(I.message),this.hls.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:I})}}else this.shouldReloadPlaylist(o)&&this.setAudioTrack(this.trackId)}},a.onError=function(e,t){!t.fatal&&t.context&&(t.context.type!==Xt.AUDIO_TRACK||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||(this.requestScheduled=-1,this.checkRetry(t)))},a.setAudioOption=function(e){var t=this.hls;if(t.config.audioPreference=e,e){var a=this.allAudioTracks;if(this.selectDefaultTrack=!1,a.length){var i=this.currentTrack;if(i&&Ai(e,i,di))return i;var o=Ii(e,this.tracksInGroup,di);if(o>-1){var n=this.tracksInGroup[o];return this.setAudioTrack(o),n}if(i){var r=t.loadLevel;-1===r&&(r=t.firstAutoLevel);var E=Oi(e,t.levels,a,r,di);if(-1===E)return null;t.nextLoadLevel=E}if(e.channels||e.audioCodec){var _=Ii(e,a);if(_>-1)return a[_]}}}return null},a.setAudioTrack=function(e){var t=this.tracksInGroup;if(e<0||e>=t.length)this.warn("Invalid audio track id: "+e);else{this.clearTimer(),this.selectDefaultTrack=!1;var a=this.currentTrack,o=t[e],n=o.details&&!o.details.live;if(!(e===this.trackId&&o===a&&n||(this.log("Switching to audio-track "+e+' "'+o.name+'" lang:'+o.lang+" group:"+o.groupId+" channels:"+o.channels),this.trackId=e,this.currentTrack=o,this.hls.trigger(f.AUDIO_TRACK_SWITCHING,i({},o)),n))){var r=this.switchParams(o.url,null==a?void 0:a.details);this.loadPlaylist(r)}}},a.findTrackId=function(e){for(var t=this.tracksInGroup,a=0;a<t.length;a++){var i=t[a];if((!this.selectDefaultTrack||i.default)&&(!e||Ai(e,i,di)))return a}if(e){for(var o=e.name,n=e.lang,r=e.assocLang,E=e.characteristics,_=e.audioCodec,T=e.channels,s=0;s<t.length;s++)if(Ai({name:o,lang:n,assocLang:r,characteristics:E,audioCodec:_,channels:T},t[s],di))return s;for(var S=0;S<t.length;S++){var l=t[S];if(yn(e.attrs,l.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return S}for(var I=0;I<t.length;I++){var A=t[I];if(yn(e.attrs,A.attrs,["LANGUAGE"]))return I}}return-1},a.loadPlaylist=function(t){var a=this.currentTrack;if(this.shouldLoadPlaylist(a)&&a){e.prototype.loadPlaylist.call(this);var i=a.id,o=a.groupId,n=a.url;if(t)try{n=t.addDirectives(n)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}this.log("loading audio-track playlist "+i+' "'+a.name+'" lang:'+a.lang+" group:"+o),this.clearTimer(),this.hls.trigger(f.AUDIO_TRACK_LOADING,{url:n,id:i,groupId:o,deliveryDirectives:t||null})}},E(t,[{key:"allAudioTracks",get:function(){return this.tracks}},{key:"audioTracks",get:function(){return this.tracksInGroup}},{key:"audioTrack",get:function(){return this.trackId},set:function(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}}]),t})(Za),Fn=500,Vn=(function(e){function t(t,a,i){var o;return(o=e.call(this,t,a,i,"[subtitle-stream-controller]",$t.SUBTITLE)||this).currentTrackId=-1,o.tracksBuffered=[],o.mainDetails=null,o._registerListeners(),o}s(t,e);var a=t.prototype;return a.onHandlerDestroying=function(){this._unregisterListeners(),e.prototype.onHandlerDestroying.call(this),this.mainDetails=null},a._registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.ERROR,this.onError,this),e.on(f.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(f.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(f.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(f.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this)},a._unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.ERROR,this.onError,this),e.off(f.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(f.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(f.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(f.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this)},a.startLoad=function(e){this.stopLoad(),this.state=Xi.IDLE,this.setInterval(Fn),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()},a.onManifestLoading=function(){this.mainDetails=null,this.fragmentTracker.removeAllFragments()},a.onMediaDetaching=function(){this.tracksBuffered=[],e.prototype.onMediaDetaching.call(this)},a.onLevelLoaded=function(e,t){this.mainDetails=t.details},a.onSubtitleFragProcessed=function(e,t){var a=t.frag,i=t.success;if(this.fragPrevious=a,this.state=Xi.IDLE,i){var o=this.tracksBuffered[this.currentTrackId];if(o){for(var n,r=a.start,E=0;E<o.length;E++)if(r>=o[E].start&&r<=o[E].end){n=o[E];break}var _=a.start+a.duration;n?n.end=_:(n={start:r,end:_},o.push(n)),this.fragmentTracker.fragBuffered(a),this.fragBufferedComplete(a,null)}}},a.onBufferFlushing=function(e,t){var a=t.startOffset,i=t.endOffset;if(0===a&&i!==Number.POSITIVE_INFINITY){var o=i-1;if(o<=0)return;t.endOffsetSubtitles=Math.max(0,o),this.tracksBuffered.forEach(function(e){for(var t=0;t<e.length;)if(e[t].end<=o)e.shift();else{if(!(e[t].start<o))break;e[t].start=o,t++}}),this.fragmentTracker.removeFragmentsInRange(a,o,$t.SUBTITLE)}},a.onFragBuffered=function(e,t){var a;this.loadedmetadata||t.frag.type!==$t.MAIN||null!=(a=this.media)&&a.buffered.length&&(this.loadedmetadata=!0)},a.onError=function(e,t){var a=t.frag;(null==a?void 0:a.type)===$t.SUBTITLE&&(this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==Xi.STOPPED&&(this.state=Xi.IDLE))},a.onSubtitleTracksUpdated=function(e,t){var a=this,i=t.subtitleTracks;this.levels&&!Wn(this.levels,i)?(this.tracksBuffered=[],this.levels=i.map(function(e){var t=new Da(e);return a.tracksBuffered[t.id]=[],t}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,$t.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null):this.levels=i.map(function(e){return new Da(e)})},a.onSubtitleTrackSwitch=function(e,t){var a;if(this.currentTrackId=t.id,null!=(a=this.levels)&&a.length&&-1!==this.currentTrackId){var i=this.levels[this.currentTrackId];null!=i&&i.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,i&&this.setInterval(Fn)}else this.clearInterval()},a.onSubtitleTrackLoaded=function(e,t){var a,i=this.currentTrackId,o=this.levels,n=t.details,r=t.id;if(o){var E=o[i];if(!(r>=o.length||r!==i)&&E){this.log("Subtitle track "+r+" loaded ["+n.startSN+","+n.endSN+"]"+(n.lastPartSn?"[part-"+n.lastPartSn+"-"+n.lastPartIndex+"]":"")+",duration:"+n.totalduration),this.mediaBuffer=this.mediaBufferTimeRanges;var _=0;if(n.live||null!=(a=E.details)&&a.live){var T=this.mainDetails;if(n.deltaUpdateFailed||!T)return;var s,S=T.fragments[0];E.details?0===(_=this.alignPlaylists(n,E.details,null==(s=this.levelLastLoaded)?void 0:s.details))&&S&&Ma(n,_=S.start):n.hasProgramDateTime&&T.hasProgramDateTime?(bi(n,T),_=n.fragments[0].start):S&&Ma(n,_=S.start)}E.details=n,this.levelLastLoaded=E,this.startFragRequested||!this.mainDetails&&n.live||this.setStartPosition(this.mainDetails||n,_),this.tick(),n.live&&!this.fragCurrent&&this.media&&this.state===Xi.IDLE&&(ja(null,n.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),E.details=void 0))}}else this.warn("Subtitle tracks were reset while loading level "+r)},a._handleFragmentLoadComplete=function(e){var t=this,a=e.frag,i=e.payload,o=a.decryptdata,n=this.hls;if(!this.fragContextChanged(a)&&i&&i.byteLength>0&&null!=o&&o.key&&o.iv&&"AES-128"===o.method){var r=performance.now();this.decrypter.decrypt(new Uint8Array(i),o.key.buffer,o.iv.buffer).catch(function(e){throw n.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:a}),e}).then(function(e){var t=performance.now();n.trigger(f.FRAG_DECRYPTED,{frag:a,payload:e,stats:{tstart:r,tdecrypt:t}})}).catch(function(e){t.warn(e.name+": "+e.message),t.state=Xi.IDLE})}},a.doTick=function(){if(this.media){if(this.state===Xi.IDLE){var e=this.currentTrackId,t=this.levels,a=null==t?void 0:t[e];if(!a||!t.length||!a.details)return;var i=this.config,o=this.getLoadPosition(),n=hi.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],o,i.maxBufferHole),r=n.end,E=n.len,_=this.getFwdBufferInfo(this.media,$t.MAIN),T=a.details;if(E>this.getMaxBufferLength(null==_?void 0:_.len)+T.levelTargetDuration)return;var s=T.fragments,S=s.length,l=T.edge,I=null,A=this.fragPrevious;if(r<l){var u=i.maxFragLookUpTolerance,d=r>l-u?0:u;!(I=ja(A,s,Math.max(s[0].start,r),d))&&A&&A.start<s[0].start&&(I=s[0])}else I=s[S-1];if(!I)return;if("initSegment"!==(I=this.mapToInitFragWhenRequired(I)).sn){var O=s[I.sn-T.startSN-1];O&&O.cc===I.cc&&this.fragmentTracker.getState(O)===mi.NOT_LOADED&&(I=O)}this.fragmentTracker.getState(I)===mi.NOT_LOADED&&this.loadFragment(I,a,r)}}else this.state=Xi.IDLE},a.getMaxBufferLength=function(t){var a=e.prototype.getMaxBufferLength.call(this);return t?Math.max(a,t):a},a.loadFragment=function(t,a,i){this.fragCurrent=t,"initSegment"===t.sn?this._loadInitSegment(t,a):(this.startFragRequested=!0,e.prototype.loadFragment.call(this,t,a,i))},E(t,[{key:"mediaBufferTimeRanges",get:function(){return new Hn(this.tracksBuffered[this.currentTrackId]||[])}}]),t})($i),Hn=function(e){this.buffered=void 0;var t=function(t,a,i){if((a>>>=0)>i-1)throw new DOMException("Failed to execute '"+t+"' on 'TimeRanges': The index provided ("+a+") is greater than the maximum bound ("+i+")");return e[a][t]};this.buffered={get length(){return e.length},end:function(a){return t("end",a,e.length)},start:function(a){return t("start",a,e.length)}}},wn=(function(e){function t(t){var a;return(a=e.call(this,t,"[subtitle-track-controller]")||this).media=null,a.tracks=[],a.groupIds=null,a.tracksInGroup=[],a.trackId=-1,a.currentTrack=null,a.selectDefaultTrack=!0,a.queuedDefaultTrack=-1,a.asyncPollTrackChange=function(){return a.pollTrackChange(0)},a.useTextTrackPolling=!1,a.subtitlePollingInterval=-1,a._subtitleDisplay=!0,a.onTextTracksChanged=function(){if(a.useTextTrackPolling||self.clearInterval(a.subtitlePollingInterval),a.media&&a.hls.config.renderTextTracksNatively){for(var e=null,t=ra(a.media.textTracks),i=0;i<t.length;i++)if("hidden"===t[i].mode)e=t[i];else if("showing"===t[i].mode){e=t[i];break}var o=a.findTrackForTextTrack(e);a.subtitleTrack!==o&&a.setSubtitleTrack(o)}},a.registerListeners(),a}s(t,e);var a=t.prototype;return a.destroy=function(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,e.prototype.destroy.call(this)},a.registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.LEVEL_LOADING,this.onLevelLoading,this),e.on(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(f.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(f.ERROR,this.onError,this)},a.unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.LEVEL_LOADING,this.onLevelLoading,this),e.off(f.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(f.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(f.ERROR,this.onError,this)},a.onMediaAttached=function(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))},a.pollTrackChange=function(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)},a.onMediaDetaching=function(){this.media&&(self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),ra(this.media.textTracks).forEach(function(e){aa(e)}),this.subtitleTrack=-1,this.media=null)},a.onManifestLoading=function(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0},a.onManifestParsed=function(e,t){this.tracks=t.subtitleTracks},a.onSubtitleTrackLoaded=function(e,t){var a=t.id,i=t.groupId,o=t.details,n=this.tracksInGroup[a];if(n&&n.groupId===i){var r=n.details;n.details=t.details,this.log("Subtitle track "+a+' "'+n.name+'" lang:'+n.lang+" group:"+i+" loaded ["+o.startSN+"-"+o.endSN+"]"),a===this.trackId&&this.playlistLoaded(a,t,r)}else this.warn("Subtitle track with id:"+a+" and group:"+i+" not found in active group "+(null==n?void 0:n.groupId))},a.onLevelLoading=function(e,t){this.switchLevel(t.level)},a.onLevelSwitching=function(e,t){this.switchLevel(t.level)},a.switchLevel=function(e){var t=this.hls.levels[e];if(t){var a=t.subtitleGroups||null,i=this.groupIds,o=this.currentTrack;if(!a||(null==i?void 0:i.length)!==(null==a?void 0:a.length)||null!=a&&a.some(function(e){return-1===(null==i?void 0:i.indexOf(e))})){this.groupIds=a,this.trackId=-1,this.currentTrack=null;var n=this.tracks.filter(function(e){return!a||-1!==a.indexOf(e.groupId)});if(n.length)this.selectDefaultTrack&&!n.some(function(e){return e.default})&&(this.selectDefaultTrack=!1),n.forEach(function(e,t){e.id=t});else if(!o&&!this.tracksInGroup.length)return;this.tracksInGroup=n;var r=this.hls.config.subtitlePreference;if(!o&&r){this.selectDefaultTrack=!1;var E=Ii(r,n);if(E>-1)o=n[E];else{var _=Ii(r,this.tracks);o=this.tracks[_]}}var T=this.findTrackId(o);-1===T&&o&&(T=this.findTrackId(null));var s={subtitleTracks:n};this.log("Updating subtitle tracks, "+n.length+' track(s) found in "'+(null==a?void 0:a.join(","))+'" group-id'),this.hls.trigger(f.SUBTITLE_TRACKS_UPDATED,s),-1!==T&&-1===this.trackId&&this.setSubtitleTrack(T)}else this.shouldReloadPlaylist(o)&&this.setSubtitleTrack(this.trackId)}},a.findTrackId=function(e){for(var t=this.tracksInGroup,a=this.selectDefaultTrack,i=0;i<t.length;i++){var o=t[i];if((!a||o.default)&&(a||e)&&(!e||Ai(o,e)))return i}if(e){for(var n=0;n<t.length;n++){var r=t[n];if(yn(e.attrs,r.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return n}for(var E=0;E<t.length;E++){var _=t[E];if(yn(e.attrs,_.attrs,["LANGUAGE"]))return E}}return-1},a.findTrackForTextTrack=function(e){if(e)for(var t=this.tracksInGroup,a=0;a<t.length;a++)if(Un(t[a],e))return a;return-1},a.onError=function(e,t){!t.fatal&&t.context&&(t.context.type!==Xt.SUBTITLE_TRACK||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||this.checkRetry(t))},a.setSubtitleOption=function(e){if(this.hls.config.subtitlePreference=e,e){var t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){var a=this.currentTrack;if(a&&Ai(e,a))return a;var i=Ii(e,this.tracksInGroup);if(i>-1){var o=this.tracksInGroup[i];return this.setSubtitleTrack(i),o}if(a)return null;var n=Ii(e,t);if(n>-1)return t[n]}}return null},a.loadPlaylist=function(t){e.prototype.loadPlaylist.call(this);var a=this.currentTrack;if(this.shouldLoadPlaylist(a)&&a){var i=a.id,o=a.groupId,n=a.url;if(t)try{n=t.addDirectives(n)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}this.log("Loading subtitle playlist for id "+i),this.hls.trigger(f.SUBTITLE_TRACK_LOADING,{url:n,id:i,groupId:o,deliveryDirectives:t||null})}},a.toggleTrackModes=function(){var e=this.media;if(e){var t,a=ra(e.textTracks),i=this.currentTrack;if(i&&((t=a.filter(function(e){return Un(i,e)})[0])||this.warn('Unable to find subtitle TextTrack with name "'+i.name+'" and language "'+i.lang+'"')),[].slice.call(a).forEach(function(e){"disabled"!==e.mode&&e!==t&&(e.mode="disabled")}),t){var o=this.subtitleDisplay?"showing":"hidden";t.mode!==o&&(t.mode=o)}}},a.setSubtitleTrack=function(e){var t=this.tracksInGroup;if(this.media)if(e<-1||e>=t.length||!p(e))this.warn("Invalid subtitle track id: "+e);else{this.clearTimer(),this.selectDefaultTrack=!1;var a=this.currentTrack,i=t[e]||null;if(this.trackId=e,this.currentTrack=i,this.toggleTrackModes(),i){var o=!!i.details&&!i.details.live;if(e!==this.trackId||i!==a||!o){this.log("Switching to subtitle-track "+e+(i?' "'+i.name+'" lang:'+i.lang+" group:"+i.groupId:""));var n=i.id,r=i.groupId,E=void 0===r?"":r,_=i.name,T=i.type,s=i.url;this.hls.trigger(f.SUBTITLE_TRACK_SWITCH,{id:n,groupId:E,name:_,type:T,url:s});var S=this.switchParams(i.url,null==a?void 0:a.details);this.loadPlaylist(S)}}else this.hls.trigger(f.SUBTITLE_TRACK_SWITCH,{id:e})}else this.queuedDefaultTrack=e},E(t,[{key:"subtitleDisplay",get:function(){return this._subtitleDisplay},set:function(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}},{key:"allSubtitleTracks",get:function(){return this.tracks}},{key:"subtitleTracks",get:function(){return this.tracksInGroup}},{key:"subtitleTrack",get:function(){return this.trackId},set:function(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}}]),t})(Za),Yn=(function(){function e(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e}var t=e.prototype;return t.append=function(e,t,a){var i=this.queues[t];i.push(e),1!==i.length||a||this.executeNext(t)},t.insertAbort=function(e,t){this.queues[t].unshift(e),this.executeNext(t)},t.appendBlocker=function(e){var t,a=new Promise(function(e){t=e}),i={execute:t,onStart:function(){},onComplete:function(){},onError:function(){}};return this.append(i,e),a},t.executeNext=function(e){var t=this.queues[e];if(t.length){var a=t[0];try{a.execute()}catch(t){b.warn('[buffer-operation-queue]: Exception executing "'+e+'" SourceBuffer operation: '+t),a.onError(t);var i=this.buffers[e];null!=i&&i.updating||this.shiftAndExecuteNext(e)}}},t.shiftAndExecuteNext=function(e){this.queues[e].shift(),this.executeNext(e)},t.current=function(e){return this.queues[e][0]},e})(),zn=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,Kn=(function(){function e(e){var t=this;this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=function(e){t.hls&&t.hls.pauseBuffering()},this._onStartStreaming=function(e){t.hls&&t.hls.resumeBuffering()},this._onMediaSourceOpen=function(){var e=t.media,a=t.mediaSource;t.log("Media source opened"),e&&(e.removeEventListener("emptied",t._onMediaEmptied),t.updateMediaElementDuration(),t.hls.trigger(f.MEDIA_ATTACHED,{media:e,mediaSource:a})),a&&a.removeEventListener("sourceopen",t._onMediaSourceOpen),t.checkPendingTracks()},this._onMediaSourceClose=function(){t.log("Media source closed")},this._onMediaSourceEnded=function(){t.log("Media source ended")},this._onMediaEmptied=function(){var e=t.mediaSrc,a=t._objectUrl;e!==a&&b.error("Media element src was set while attaching MediaSource ("+a+" > "+e+")")},this.hls=e;var a="[buffer-controller]";this.appendSource=e.config.preferManagedMediaSource,this.log=b.log.bind(b,a),this.warn=b.warn.bind(b,a),this.error=b.error.bind(b,a),this._initSourceBuffer(),this.registerListeners()}var t=e.prototype;return t.hasSourceTypes=function(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0},t.destroy=function(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null},t.registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.BUFFER_RESET,this.onBufferReset,this),e.on(f.BUFFER_APPENDING,this.onBufferAppending,this),e.on(f.BUFFER_CODECS,this.onBufferCodecs,this),e.on(f.BUFFER_EOS,this.onBufferEos,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(f.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(f.FRAG_PARSED,this.onFragParsed,this),e.on(f.FRAG_CHANGED,this.onFragChanged,this)},t.unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.BUFFER_RESET,this.onBufferReset,this),e.off(f.BUFFER_APPENDING,this.onBufferAppending,this),e.off(f.BUFFER_CODECS,this.onBufferCodecs,this),e.off(f.BUFFER_EOS,this.onBufferEos,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(f.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(f.FRAG_PARSED,this.onFragParsed,this),e.off(f.FRAG_CHANGED,this.onFragChanged,this)},t._initSourceBuffer=function(){this.sourceBuffer={},this.operationQueue=new Yn(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null},t.onManifestLoading=function(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null},t.onManifestParsed=function(e,t){var a=2;(t.audio&&!t.video||!t.altAudio)&&(a=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=a,this.log(this.bufferCodecEventsExpected+" bufferCodec event(s) expected")},t.onMediaAttaching=function(e,t){var a=this.media=t.media,i=mt(this.appendSource);if(a&&i){var o,n=this.mediaSource=new i;this.log("created media source: "+(null==(o=n.constructor)?void 0:o.name)),n.addEventListener("sourceopen",this._onMediaSourceOpen),n.addEventListener("sourceended",this._onMediaSourceEnded),n.addEventListener("sourceclose",this._onMediaSourceClose),n.addEventListener("startstreaming",this._onStartStreaming),n.addEventListener("endstreaming",this._onEndStreaming);var r=this._objectUrl=self.URL.createObjectURL(n);if(this.appendSource)try{a.removeAttribute("src");var E=self.ManagedMediaSource;a.disableRemotePlayback=a.disableRemotePlayback||E&&n instanceof E,jn(a),xn(a,r),a.load()}catch(e){a.src=r}else a.src=r;a.addEventListener("emptied",this._onMediaEmptied)}},t.onMediaDetaching=function(){var e=this.media,t=this.mediaSource,a=this._objectUrl;if(t){if(this.log("media source detaching"),"open"===t.readyState)try{t.endOfStream()}catch(e){this.warn("onMediaDetaching: "+e.message+" while calling endOfStream")}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming),e&&(e.removeEventListener("emptied",this._onMediaEmptied),a&&self.URL.revokeObjectURL(a),this.mediaSrc===a?(e.removeAttribute("src"),this.appendSource&&jn(e),e.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={}}this.hls.trigger(f.MEDIA_DETACHED,void 0)},t.onBufferReset=function(){var e=this;this.getSourceBufferTypes().forEach(function(t){e.resetBuffer(t)}),this._initSourceBuffer()},t.resetBuffer=function(e){var t=this.sourceBuffer[e];try{var a;t&&(this.removeBufferListeners(e),this.sourceBuffer[e]=void 0,null!=(a=this.mediaSource)&&a.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t))}catch(t){this.warn("onBufferReset "+e,t)}},t.onBufferCodecs=function(e,t){var a=this,i=this.getSourceBufferTypes().length,o=Object.keys(t);if(o.forEach(function(e){if(i){var o=a.tracks[e];if(o&&"function"==typeof o.buffer.changeType){var n,r=t[e],E=r.id,_=r.codec,T=r.levelCodec,s=r.container,S=r.metadata,l=Wt(o.codec,o.levelCodec),I=null==l?void 0:l.replace(zn,"$1"),A=Wt(_,T),u=null==(n=A)?void 0:n.replace(zn,"$1");if(A&&I!==u){"audio"===e.slice(0,5)&&(A=Mt(A,a.hls.config.preferManagedMediaSource));var d=s+";codecs="+A;a.appendChangeType(e,d),a.log("switching codec "+l+" to "+A),a.tracks[e]={buffer:o.buffer,codec:_,container:s,levelCodec:T,metadata:S,id:E}}}}else a.pendingTracks[e]=t[e]}),!i){var n=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==n&&(this.log(n+" bufferCodec event(s) expected "+o.join(",")),this.bufferCodecEventsExpected=n),this.mediaSource&&"open"===this.mediaSource.readyState&&this.checkPendingTracks()}},t.appendChangeType=function(e,t){var a=this,i=this.operationQueue,o={execute:function(){var o=a.sourceBuffer[e];o&&(a.log("changing "+e+" sourceBuffer type to "+t),o.changeType(t)),i.shiftAndExecuteNext(e)},onStart:function(){},onComplete:function(){},onError:function(t){a.warn("Failed to change "+e+" SourceBuffer type",t)}};i.append(o,e,!!this.pendingTracks[e])},t.onBufferAppending=function(e,t){var a=this,i=this.hls,o=this.operationQueue,n=this.tracks,r=t.data,E=t.type,_=t.frag,T=t.part,s=t.chunkMeta,S=s.buffering[E],l=self.performance.now();S.start=l;var I=_.stats.buffering,A=T?T.stats.buffering:null;0===I.start&&(I.start=l),A&&0===A.start&&(A.start=l);var u=n.audio,d=!1;"audio"===E&&"audio/mpeg"===(null==u?void 0:u.container)&&(d=!this.lastMpegAudioChunk||1===s.id||this.lastMpegAudioChunk.sn!==s.sn,this.lastMpegAudioChunk=s);var O=_.start,c={execute:function(){if(S.executeStart=self.performance.now(),d){var e=a.sourceBuffer[E];if(e){var t=O-e.timestampOffset;Math.abs(t)>=.1&&(a.log("Updating audio SourceBuffer timestampOffset to "+O+" (delta: "+t+") sn: "+_.sn+")"),e.timestampOffset=O)}}a.appendExecutor(r,E)},onStart:function(){},onComplete:function(){var e=self.performance.now();S.executeEnd=S.end=e,0===I.first&&(I.first=e),A&&0===A.first&&(A.first=e);var t=a.sourceBuffer,i={};for(var o in t)i[o]=hi.getBuffered(t[o]);a.appendErrors[E]=0,"audio"===E||"video"===E?a.appendErrors.audiovideo=0:(a.appendErrors.audio=0,a.appendErrors.video=0),a.hls.trigger(f.BUFFER_APPENDED,{type:E,frag:_,part:T,chunkMeta:s,parent:_.type,timeRanges:i})},onError:function(e){var t={type:P.MEDIA_ERROR,parent:_.type,details:B.BUFFER_APPEND_ERROR,sourceBufferName:E,frag:_,part:T,chunkMeta:s,error:e,err:e,fatal:!1};if(e.code===DOMException.QUOTA_EXCEEDED_ERR)t.details=B.BUFFER_FULL_ERROR;else{var o=++a.appendErrors[E];t.details=B.BUFFER_APPEND_ERROR,a.warn("Failed "+o+"/"+i.config.appendErrorMaxRetry+' times to append segment in "'+E+'" sourceBuffer'),o>=i.config.appendErrorMaxRetry&&(t.fatal=!0)}i.trigger(f.ERROR,t)}};o.append(c,E,!!this.pendingTracks[E])},t.onBufferFlushing=function(e,t){var a=this,i=this.operationQueue,o=function(e){return{execute:a.removeExecutor.bind(a,e,t.startOffset,t.endOffset),onStart:function(){},onComplete:function(){a.hls.trigger(f.BUFFER_FLUSHED,{type:e})},onError:function(t){a.warn("Failed to remove from "+e+" SourceBuffer",t)}}};t.type?i.append(o(t.type),t.type):this.getSourceBufferTypes().forEach(function(e){i.append(o(e),e)})},t.onFragParsed=function(e,t){var a=this,i=t.frag,o=t.part,n=[],r=o?o.elementaryStreams:i.elementaryStreams;r[z.AUDIOVIDEO]?n.push("audiovideo"):(r[z.AUDIO]&&n.push("audio"),r[z.VIDEO]&&n.push("video"));var E=function(){var e=self.performance.now();i.stats.buffering.end=e,o&&(o.stats.buffering.end=e);var t=o?o.stats:i.stats;a.hls.trigger(f.FRAG_BUFFERED,{frag:i,part:o,stats:t,id:i.type})};0===n.length&&this.warn("Fragments must have at least one ElementaryStreamType set. type: "+i.type+" level: "+i.level+" sn: "+i.sn),this.blockBuffers(E,n)},t.onFragChanged=function(e,t){this.trimBuffers()},t.onBufferEos=function(e,t){var a=this;this.getSourceBufferTypes().reduce(function(e,i){var o=a.sourceBuffer[i];return!o||t.type&&t.type!==i||(o.ending=!0,o.ended||(o.ended=!0,a.log(i+" sourceBuffer now EOS"))),e&&!(o&&!o.ended)},!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers(function(){a.getSourceBufferTypes().forEach(function(e){var t=a.sourceBuffer[e];t&&(t.ending=!1)});var e=a.mediaSource;e&&"open"===e.readyState?(a.log("Calling mediaSource.endOfStream()"),e.endOfStream()):e&&a.log("Could not call mediaSource.endOfStream(). mediaSource.readyState: "+e.readyState)}))},t.onLevelUpdated=function(e,t){var a=t.details;a.fragments.length&&(this.details=a,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration())},t.trimBuffers=function(){var e=this.hls,t=this.details,a=this.media;if(a&&null!==t&&this.getSourceBufferTypes().length){var i=e.config,o=a.currentTime,n=t.levelTargetDuration,r=t.live&&null!==i.liveBackBufferLength?i.liveBackBufferLength:i.backBufferLength;if(p(r)&&r>0){var E=Math.max(r,n),_=Math.floor(o/n)*n-E;this.flushBackBuffer(o,n,_)}if(p(i.frontBufferFlushThreshold)&&i.frontBufferFlushThreshold>0){var T=Math.max(i.maxBufferLength,i.frontBufferFlushThreshold),s=Math.max(T,n),S=Math.floor(o/n)*n+s;this.flushFrontBuffer(o,n,S)}}},t.flushBackBuffer=function(e,t,a){var i=this,o=this.details,n=this.sourceBuffer;this.getSourceBufferTypes().forEach(function(r){var E=n[r];if(E){var _=hi.getBuffered(E);if(_.length>0&&a>_.start(0)){if(i.hls.trigger(f.BACK_BUFFER_REACHED,{bufferEnd:a}),null!=o&&o.live)i.hls.trigger(f.LIVE_BACK_BUFFER_REACHED,{bufferEnd:a});else if(E.ended&&_.end(_.length-1)-e<2*t)return void i.log("Cannot flush "+r+" back buffer while SourceBuffer is in ended state");i.hls.trigger(f.BUFFER_FLUSHING,{startOffset:0,endOffset:a,type:r})}}})},t.flushFrontBuffer=function(e,t,a){var i=this,o=this.sourceBuffer;this.getSourceBufferTypes().forEach(function(n){var r=o[n];if(r){var E=hi.getBuffered(r),_=E.length;if(_<2)return;var T=E.start(_-1),s=E.end(_-1);if(a>T||e>=T&&e<=s)return;if(r.ended&&e-s<2*t)return void i.log("Cannot flush "+n+" front buffer while SourceBuffer is in ended state");i.hls.trigger(f.BUFFER_FLUSHING,{startOffset:T,endOffset:1/0,type:n})}})},t.updateMediaElementDuration=function(){if(this.details&&this.media&&this.mediaSource&&"open"===this.mediaSource.readyState){var e=this.details,t=this.hls,a=this.media,i=this.mediaSource,o=e.fragments[0].start+e.totalduration,n=a.duration,r=p(i.duration)?i.duration:0;e.live&&t.config.liveDurationInfinity?(i.duration=1/0,this.updateSeekableRange(e)):(o>r&&o>n||!p(n))&&(this.log("Updating Media Source duration to "+o.toFixed(3)),i.duration=o)}},t.updateSeekableRange=function(e){var t=this.mediaSource,a=e.fragments;if(a.length&&e.live&&null!=t&&t.setLiveSeekableRange){var i=Math.max(0,a[0].start),o=Math.max(i,i+e.totalduration);this.log("Media Source duration is set to "+t.duration+". Setting seekable range to "+i+"-"+o+"."),t.setLiveSeekableRange(i,o)}},t.checkPendingTracks=function(){var e=this.bufferCodecEventsExpected,t=this.operationQueue,a=this.pendingTracks,i=Object.keys(a).length;if(i&&(!e||2===i||"audiovideo"in a)){this.createSourceBuffers(a),this.pendingTracks={};var o=this.getSourceBufferTypes();if(o.length)this.hls.trigger(f.BUFFER_CREATED,{tracks:this.tracks}),o.forEach(function(e){t.executeNext(e)});else{var n=new Error("could not create source buffer for media codec(s)");this.hls.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:n,reason:n.message})}}},t.createSourceBuffers=function(e){var t=this,a=this.sourceBuffer,i=this.mediaSource;if(!i)throw Error("createSourceBuffers called when mediaSource was null");var o=function(o){if(!a[o]){var n=e[o];if(!n)throw Error("source buffer exists for track "+o+", however track does not");var r=n.levelCodec||n.codec;r&&"audio"===o.slice(0,5)&&(r=Mt(r,t.hls.config.preferManagedMediaSource));var E=n.container+";codecs="+r;t.log("creating sourceBuffer("+E+")");try{var _=a[o]=i.addSourceBuffer(E),T=o;t.addBufferListener(T,"updatestart",t._onSBUpdateStart),t.addBufferListener(T,"updateend",t._onSBUpdateEnd),t.addBufferListener(T,"error",t._onSBUpdateError),t.addBufferListener(T,"bufferedchange",function(e,a){var i=a.removedRanges;null!=i&&i.length&&t.hls.trigger(f.BUFFER_FLUSHED,{type:o})}),t.tracks[o]={buffer:_,codec:r,container:n.container,levelCodec:n.levelCodec,metadata:n.metadata,id:n.id}}catch(e){t.error("error while trying to add sourceBuffer: "+e.message),t.hls.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:e,sourceBufferName:o,mimeType:E})}}};for(var n in e)o(n)},t._onSBUpdateStart=function(e){this.operationQueue.current(e).onStart()},t._onSBUpdateEnd=function(e){var t;if("closed"!==(null==(t=this.mediaSource)?void 0:t.readyState)){var a=this.operationQueue;a.current(e).onComplete(),a.shiftAndExecuteNext(e)}else this.resetBuffer(e)},t._onSBUpdateError=function(e,t){var a,i=new Error(e+" SourceBuffer error. MediaSource readyState: "+(null==(a=this.mediaSource)?void 0:a.readyState));this.error(""+i,t),this.hls.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:i,fatal:!1});var o=this.operationQueue.current(e);o&&o.onError(i)},t.removeExecutor=function(e,t,a){var i=this.media,o=this.mediaSource,n=this.operationQueue,r=this.sourceBuffer[e];if(!i||!o||!r)return this.warn("Attempting to remove from the "+e+" SourceBuffer, but it does not exist"),void n.shiftAndExecuteNext(e);var E=p(i.duration)?i.duration:1/0,_=p(o.duration)?o.duration:1/0,T=Math.max(0,t),s=Math.min(a,E,_);s>T&&(!r.ending||r.ended)?(r.ended=!1,this.log("Removing ["+T+","+s+"] from the "+e+" SourceBuffer"),r.remove(T,s)):n.shiftAndExecuteNext(e)},t.appendExecutor=function(e,t){var a=this.sourceBuffer[t];if(a)a.ended=!1,a.appendBuffer(e);else if(!this.pendingTracks[t])throw new Error("Attempting to append to the "+t+" SourceBuffer, but it does not exist")},t.blockBuffers=function(e,t){var a=this;if(void 0===t&&(t=this.getSourceBufferTypes()),!t.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),void Promise.resolve().then(e);var i=this.operationQueue,o=t.map(function(e){return i.appendBlocker(e)});Promise.all(o).then(function(){e(),t.forEach(function(e){var t=a.sourceBuffer[e];null!=t&&t.updating||i.shiftAndExecuteNext(e)})})},t.getSourceBufferTypes=function(){return Object.keys(this.sourceBuffer)},t.addBufferListener=function(e,t,a){var i=this.sourceBuffer[e];if(i){var o=a.bind(this,e);this.listeners[e].push({event:t,listener:o}),i.addEventListener(t,o)}},t.removeBufferListeners=function(e){var t=this.sourceBuffer[e];t&&this.listeners[e].forEach(function(e){t.removeEventListener(e.event,e.listener)})},E(e,[{key:"mediaSrc",get:function(){var e,t=(null==(e=this.media)?void 0:e.firstChild)||this.media;return null==t?void 0:t.src}}]),e})();function jn(e){var t=e.querySelectorAll("source");[].slice.call(t).forEach(function(t){e.removeChild(t)})}function xn(e,t){var a=self.document.createElement("source");a.type="video/mp4",a.src=t,e.appendChild(a)}var Qn={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},Xn=function(e){var t=e;return Qn.hasOwnProperty(e)&&(t=Qn[e]),String.fromCharCode(t)},$n=15,qn=100,Jn={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},Zn={17:2,18:4,21:6,22:8,23:10,19:13,20:15},er={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},tr={25:2,26:4,29:6,30:8,31:10,27:13,28:15},ar=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],ir=(function(){function e(){this.time=null,this.verboseLevel=0}return e.prototype.log=function(e,t){if(this.verboseLevel>=e){var a="function"==typeof t?t():t;b.log(this.time+" ["+e+"] "+a)}},e})(),or=function(e){for(var t=[],a=0;a<e.length;a++)t.push(e[a].toString(16));return t},nr=(function(){function e(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}var t=e.prototype;return t.reset=function(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1},t.setStyles=function(e){for(var t=["foreground","underline","italics","background","flash"],a=0;a<t.length;a++){var i=t[a];e.hasOwnProperty(i)&&(this[i]=e[i])}},t.isDefault=function(){return"white"===this.foreground&&!this.underline&&!this.italics&&"black"===this.background&&!this.flash},t.equals=function(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash},t.copy=function(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash},t.toString=function(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash},e})(),rr=(function(){function e(){this.uchar=" ",this.penState=new nr}var t=e.prototype;return t.reset=function(){this.uchar=" ",this.penState.reset()},t.setChar=function(e,t){this.uchar=e,this.penState.copy(t)},t.setPenState=function(e){this.penState.copy(e)},t.equals=function(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)},t.copy=function(e){this.uchar=e.uchar,this.penState.copy(e.penState)},t.isEmpty=function(){return" "===this.uchar&&this.penState.isDefault()},e})(),Er=(function(){function e(e){this.chars=[],this.pos=0,this.currPenState=new nr,this.cueStartTime=null,this.logger=void 0;for(var t=0;t<qn;t++)this.chars.push(new rr);this.logger=e}var t=e.prototype;return t.equals=function(e){for(var t=0;t<qn;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0},t.copy=function(e){for(var t=0;t<qn;t++)this.chars[t].copy(e.chars[t])},t.isEmpty=function(){for(var e=!0,t=0;t<qn;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e},t.setCursor=function(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>qn&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=qn)},t.moveCursor=function(e){var t=this.pos+e;if(e>1)for(var a=this.pos+1;a<t+1;a++)this.chars[a].setPenState(this.currPenState);this.setCursor(t)},t.backSpace=function(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)},t.insertChar=function(e){var t=this;e>=144&&this.backSpace();var a=Xn(e);this.pos>=qn?this.logger.log(0,function(){return"Cannot insert "+e.toString(16)+" ("+a+") at position "+t.pos+". Skipping it!"}):(this.chars[this.pos].setChar(a,this.currPenState),this.moveCursor(1))},t.clearFromPos=function(e){var t;for(t=e;t<qn;t++)this.chars[t].reset()},t.clear=function(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()},t.clearToEndOfRow=function(){this.clearFromPos(this.pos)},t.getTextString=function(){for(var e=[],t=!0,a=0;a<qn;a++){var i=this.chars[a].uchar;" "!==i&&(t=!1),e.push(i)}return t?"":e.join("")},t.setPenStyles=function(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)},e})(),_r=(function(){function e(e){this.rows=[],this.currRow=$n-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(var t=0;t<$n;t++)this.rows.push(new Er(e));this.logger=e}var t=e.prototype;return t.reset=function(){for(var e=0;e<$n;e++)this.rows[e].clear();this.currRow=$n-1},t.equals=function(e){for(var t=!0,a=0;a<$n;a++)if(!this.rows[a].equals(e.rows[a])){t=!1;break}return t},t.copy=function(e){for(var t=0;t<$n;t++)this.rows[t].copy(e.rows[t])},t.isEmpty=function(){for(var e=!0,t=0;t<$n;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e},t.backSpace=function(){this.rows[this.currRow].backSpace()},t.clearToEndOfRow=function(){this.rows[this.currRow].clearToEndOfRow()},t.insertChar=function(e){this.rows[this.currRow].insertChar(e)},t.setPen=function(e){this.rows[this.currRow].setPenStyles(e)},t.moveCursor=function(e){this.rows[this.currRow].moveCursor(e)},t.setCursor=function(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)},t.setPAC=function(e){this.logger.log(2,function(){return"pacData = "+JSON.stringify(e)});var t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(var a=0;a<$n;a++)this.rows[a].clear();var i=this.currRow+1-this.nrRollUpRows,o=this.lastOutputScreen;if(o){var n=o.rows[i].cueStartTime,r=this.logger.time;if(null!==n&&null!==r&&n<r)for(var E=0;E<this.nrRollUpRows;E++)this.rows[t-this.nrRollUpRows+E+1].copy(o.rows[i+E])}}this.currRow=t;var _=this.rows[this.currRow];if(null!==e.indent){var T=e.indent,s=Math.max(T-1,0);_.setCursor(e.indent),e.color=_.chars[s].penState.foreground}var S={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(S)},t.setBkgData=function(e){this.logger.log(2,function(){return"bkgData = "+JSON.stringify(e)}),this.backSpace(),this.setPen(e),this.insertChar(32)},t.setRollUpRows=function(e){this.nrRollUpRows=e},t.rollUp=function(){var e=this;if(null!==this.nrRollUpRows){this.logger.log(1,function(){return e.getDisplayText()});var t=this.currRow+1-this.nrRollUpRows,a=this.rows.splice(t,1)[0];a.clear(),this.rows.splice(this.currRow,0,a),this.logger.log(2,"Rolling up")}else this.logger.log(3,"roll_up but nrRollUpRows not set yet")},t.getDisplayText=function(e){e=e||!1;for(var t=[],a="",i=-1,o=0;o<$n;o++){var n=this.rows[o].getTextString();n&&(i=o+1,e?t.push("Row "+i+": '"+n+"'"):t.push(n.trim()))}return t.length>0&&(a=e?"["+t.join(" | ")+"]":t.join("\n")),a},t.getTextAndFormat=function(){return this.rows},e})(),Tr=(function(){function e(e,t,a){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new _r(a),this.nonDisplayedMemory=new _r(a),this.lastOutputScreen=new _r(a),this.currRollUpRow=this.displayedMemory.rows[$n-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=a}var t=e.prototype;return t.reset=function(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[$n-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null},t.getHandler=function(){return this.outputFilter},t.setHandler=function(e){this.outputFilter=e},t.setPAC=function(e){this.writeScreen.setPAC(e)},t.setBkgData=function(e){this.writeScreen.setBkgData(e)},t.setMode=function(e){e!==this.mode&&(this.mode=e,this.logger.log(2,function(){return"MODE="+e}),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)},t.insertChars=function(e){for(var t=this,a=0;a<e.length;a++)this.writeScreen.insertChar(e[a]);var i=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,function(){return i+": "+t.writeScreen.getDisplayText(!0)}),"MODE_PAINT-ON"!==this.mode&&"MODE_ROLL-UP"!==this.mode||(this.logger.log(1,function(){return"DISPLAYED: "+t.displayedMemory.getDisplayText(!0)}),this.outputDataUpdate())},t.ccRCL=function(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")},t.ccBS=function(){this.logger.log(2,"BS - BackSpace"),"MODE_TEXT"!==this.mode&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())},t.ccAOF=function(){},t.ccAON=function(){},t.ccDER=function(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()},t.ccRU=function(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)},t.ccFON=function(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})},t.ccRDC=function(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")},t.ccTR=function(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")},t.ccRTD=function(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")},t.ccEDM=function(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)},t.ccCR=function(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)},t.ccENM=function(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()},t.ccEOC=function(){var e=this;if(this.logger.log(2,"EOC - End Of Caption"),"MODE_POP-ON"===this.mode){var t=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=t,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,function(){return"DISP: "+e.displayedMemory.getDisplayText()})}this.outputDataUpdate(!0)},t.ccTO=function(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)},t.ccMIDROW=function(e){var t={flash:!1};if(t.underline=e%2==1,t.italics=e>=46,t.italics)t.foreground="white";else{var a=Math.floor(e/2)-16,i=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=i[a]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)},t.outputDataUpdate=function(e){void 0===e&&(e=!1);var t=this.logger.time;null!==t&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t):this.cueStartTime=t,this.lastOutputScreen.copy(this.displayedMemory))},t.cueSplitAtTime=function(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))},e})(),sr=(function(){function e(e,t,a){this.channels=void 0,this.currentChannel=0,this.cmdHistory=Ir(),this.logger=void 0;var i=this.logger=new ir;this.channels=[null,new Tr(e,t,i),new Tr(e+1,a,i)]}var t=e.prototype;return t.getHandler=function(e){return this.channels[e].getHandler()},t.setHandler=function(e,t){this.channels[e].setHandler(t)},t.addData=function(e,t){var a,i,o,n=!1;this.logger.time=e;for(var r=0;r<t.length;r+=2)if(i=127&t[r],o=127&t[r+1],0!==i||0!==o){if(this.logger.log(3,"["+or([t[r],t[r+1]])+"] -> ("+or([i,o])+")"),(a=this.parseCmd(i,o))||(a=this.parseMidrow(i,o)),a||(a=this.parsePAC(i,o)),a||(a=this.parseBackgroundAttributes(i,o)),!a&&(n=this.parseChars(i,o))){var E=this.currentChannel;E&&E>0?this.channels[E].insertChars(n):this.logger.log(2,"No channel found yet. TEXT-MODE?")}a||n||this.logger.log(2,"Couldn't parse cleaned data "+or([i,o])+" orig: "+or([t[r],t[r+1]]))}},t.parseCmd=function(e,t){var a=this.cmdHistory;if(!((20===e||28===e||21===e||29===e)&&t>=32&&t<=47||(23===e||31===e)&&t>=33&&t<=35))return!1;if(lr(e,t,a))return Sr(null,null,a),this.logger.log(3,"Repeated command ("+or([e,t])+") is dropped"),!0;var i=20===e||21===e||23===e?1:2,o=this.channels[i];return 20===e||21===e||28===e||29===e?32===t?o.ccRCL():33===t?o.ccBS():34===t?o.ccAOF():35===t?o.ccAON():36===t?o.ccDER():37===t?o.ccRU(2):38===t?o.ccRU(3):39===t?o.ccRU(4):40===t?o.ccFON():41===t?o.ccRDC():42===t?o.ccTR():43===t?o.ccRTD():44===t?o.ccEDM():45===t?o.ccCR():46===t?o.ccENM():47===t&&o.ccEOC():o.ccTO(t-32),Sr(e,t,a),this.currentChannel=i,!0},t.parseMidrow=function(e,t){var a=0;if((17===e||25===e)&&t>=32&&t<=47){if((a=17===e?1:2)!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;var i=this.channels[a];return!!i&&(i.ccMIDROW(t),this.logger.log(3,"MIDROW ("+or([e,t])+")"),!0)}return!1},t.parsePAC=function(e,t){var a,i=this.cmdHistory;if(!((e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127||(16===e||24===e)&&t>=64&&t<=95))return!1;if(lr(e,t,i))return Sr(null,null,i),!0;var o=e<=23?1:2;a=t>=64&&t<=95?1===o?Jn[e]:er[e]:1===o?Zn[e]:tr[e];var n=this.channels[o];return!!n&&(n.setPAC(this.interpretPAC(a,t)),Sr(e,t,i),this.currentChannel=o,!0)},t.interpretPAC=function(e,t){var a,i={color:null,italics:!1,indent:null,underline:!1,row:e};return a=t>95?t-96:t-64,i.underline=!(1&~a),a<=13?i.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(a/2)]:a<=15?(i.italics=!0,i.color="white"):i.indent=4*Math.floor((a-16)/2),i},t.parseChars=function(e,t){var a,i,o=null,n=null;if(e>=25?(a=2,n=e-8):(a=1,n=e),n>=17&&n<=19?(i=17===n?t+80:18===n?t+112:t+144,this.logger.log(2,"Special char '"+Xn(i)+"' in channel "+a),o=[i]):e>=32&&e<=127&&(o=0===t?[e]:[e,t]),o){var r=or(o);this.logger.log(3,"Char codes = "+r.join(",")),Sr(e,t,this.cmdHistory)}return o},t.parseBackgroundAttributes=function(e,t){var a;if(!((16===e||24===e)&&t>=32&&t<=47||(23===e||31===e)&&t>=45&&t<=47))return!1;var i={};16===e||24===e?(a=Math.floor((t-32)/2),i.background=ar[a],t%2==1&&(i.background=i.background+"_semi")):45===t?i.background="transparent":(i.foreground="black",47===t&&(i.underline=!0));var o=e<=23?1:2;return this.channels[o].setBkgData(i),Sr(e,t,this.cmdHistory),!0},t.reset=function(){for(var e=0;e<Object.keys(this.channels).length;e++){var t=this.channels[e];t&&t.reset()}this.cmdHistory=Ir()},t.cueSplitAtTime=function(e){for(var t=0;t<this.channels.length;t++){var a=this.channels[t];a&&a.cueSplitAtTime(e)}},e})();function Sr(e,t,a){a.a=e,a.b=t}function lr(e,t,a){return a.a===e&&a.b===t}function Ir(){return{a:null,b:null}}var Ar=(function(){function e(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}var t=e.prototype;return t.dispatchCue=function(){null!==this.startTime&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)},t.newCue=function(e,t,a){(null===this.startTime||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=a,this.timelineController.createCaptionsTrack(this.trackName)},t.reset=function(){this.cueRanges=[],this.startTime=null},e})(),ur=(function(){if(null!=te&&te.VTTCue)return self.VTTCue;var e=["","lr","rl"],t=["start","middle","end","left","right"];function a(e,t){if("string"!=typeof t)return!1;if(!Array.isArray(e))return!1;var a=t.toLowerCase();return!!~e.indexOf(a)&&a}function i(t){return a(e,t)}function o(e){return a(t,e)}function n(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),i=1;i<t;i++)a[i-1]=arguments[i];for(var o=1;o<arguments.length;o++){var n=arguments[o];for(var r in n)e[r]=n[r]}return e}function r(e,t,a){var r=this,E={enumerable:!0};r.hasBeenReset=!1;var _="",T=!1,s=e,S=t,l=a,I=null,A="",u=!0,d="auto",O="start",c=50,N="middle",R=50,m="middle";Object.defineProperty(r,"id",n({},E,{get:function(){return _},set:function(e){_=""+e}})),Object.defineProperty(r,"pauseOnExit",n({},E,{get:function(){return T},set:function(e){T=!!e}})),Object.defineProperty(r,"startTime",n({},E,{get:function(){return s},set:function(e){if("number"!=typeof e)throw new TypeError("Start time must be set to a number.");s=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"endTime",n({},E,{get:function(){return S},set:function(e){if("number"!=typeof e)throw new TypeError("End time must be set to a number.");S=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"text",n({},E,{get:function(){return l},set:function(e){l=""+e,this.hasBeenReset=!0}})),Object.defineProperty(r,"region",n({},E,{get:function(){return I},set:function(e){I=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"vertical",n({},E,{get:function(){return A},set:function(e){var t=i(e);if(!1===t)throw new SyntaxError("An invalid or illegal string was specified.");A=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"snapToLines",n({},E,{get:function(){return u},set:function(e){u=!!e,this.hasBeenReset=!0}})),Object.defineProperty(r,"line",n({},E,{get:function(){return d},set:function(e){if("number"!=typeof e&&"auto"!==e)throw new SyntaxError("An invalid number or illegal string was specified.");d=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"lineAlign",n({},E,{get:function(){return O},set:function(e){var t=o(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");O=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"position",n({},E,{get:function(){return c},set:function(e){if(e<0||e>100)throw new Error("Position must be between 0 and 100.");c=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"positionAlign",n({},E,{get:function(){return N},set:function(e){var t=o(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");N=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"size",n({},E,{get:function(){return R},set:function(e){if(e<0||e>100)throw new Error("Size must be between 0 and 100.");R=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"align",n({},E,{get:function(){return m},set:function(e){var t=o(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");m=t,this.hasBeenReset=!0}})),r.displayState=void 0}return r.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},r})(),dr=(function(){function e(){}return e.prototype.decode=function(e,t){if(!e)return"";if("string"!=typeof e)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))},e})();function Or(e){function t(e,t,a,i){return 3600*(0|e)+60*(0|t)+(0|a)+parseFloat(i||0)}var a=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return a?parseFloat(a[2])>59?t(a[2],a[3],0,a[4]):t(a[1],a[2],a[3],a[4]):null}var cr=(function(){function e(){this.values=Object.create(null)}var t=e.prototype;return t.set=function(e,t){this.get(e)||""===t||(this.values[e]=t)},t.get=function(e,t,a){return a?this.has(e)?this.values[e]:t[a]:this.has(e)?this.values[e]:t},t.has=function(e){return e in this.values},t.alt=function(e,t,a){for(var i=0;i<a.length;++i)if(t===a[i]){this.set(e,t);break}},t.integer=function(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))},t.percent=function(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){var a=parseFloat(t);if(a>=0&&a<=100)return this.set(e,a),!0}return!1},e})();function Nr(e,t,a,i){var o=i?e.split(i):[e];for(var n in o)if("string"==typeof o[n]){var r=o[n].split(a);2===r.length&&t(r[0],r[1])}}var Rr=new ur(0,0,""),mr="middle"===Rr.align?"middle":"center";function Lr(e,t,a){var i=e;function o(){var t=Or(e);if(null===t)throw new Error("Malformed timestamp: "+i);return e=e.replace(/^[^\sa-zA-Z-]+/,""),t}function n(e,t){var i=new cr;Nr(e,function(e,t){var o;switch(e){case"region":for(var n=a.length-1;n>=0;n--)if(a[n].id===t){i.set(e,a[n].region);break}break;case"vertical":i.alt(e,t,["rl","lr"]);break;case"line":o=t.split(","),i.integer(e,o[0]),i.percent(e,o[0])&&i.set("snapToLines",!1),i.alt(e,o[0],["auto"]),2===o.length&&i.alt("lineAlign",o[1],["start",mr,"end"]);break;case"position":o=t.split(","),i.percent(e,o[0]),2===o.length&&i.alt("positionAlign",o[1],["start",mr,"end","line-left","line-right","auto"]);break;case"size":i.percent(e,t);break;case"align":i.alt(e,t,["start",mr,"end","left","right"])}},/:/,/\s/),t.region=i.get("region",null),t.vertical=i.get("vertical","");var o=i.get("line","auto");"auto"===o&&-1===Rr.line&&(o=-1),t.line=o,t.lineAlign=i.get("lineAlign","start"),t.snapToLines=i.get("snapToLines",!0),t.size=i.get("size",100),t.align=i.get("align",mr);var n=i.get("position","auto");"auto"===n&&50===Rr.position&&(n="start"===t.align||"left"===t.align?0:"end"===t.align||"right"===t.align?100:50),t.position=n}function r(){e=e.replace(/^\s+/,"")}if(r(),t.startTime=o(),r(),"--\x3e"!==e.slice(0,3))throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+i);e=e.slice(3),r(),t.endTime=o(),r(),n(e,t)}function Dr(e){return e.replace(/<br(?: \/)?>/gi,"\n")}var pr=(function(){function e(){this.state="INITIAL",this.buffer="",this.decoder=new dr,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}var t=e.prototype;return t.parse=function(e){var t=this;function a(){var e=t.buffer,a=0;for(e=Dr(e);a<e.length&&"\r"!==e[a]&&"\n"!==e[a];)++a;var i=e.slice(0,a);return"\r"===e[a]&&++a,"\n"===e[a]&&++a,t.buffer=e.slice(a),i}function i(e){Nr(e,function(e,t){},/:/)}e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));try{var o="";if("INITIAL"===t.state){if(!/\r\n|\n/.test(t.buffer))return this;var n=(o=a()).match(/^()?WEBVTT([ \t].*)?$/);if(null==n||!n[0])throw new Error("Malformed WebVTT signature.");t.state="HEADER"}for(var r=!1;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(r?r=!1:o=a(),t.state){case"HEADER":/:/.test(o)?i(o):o||(t.state="ID");continue;case"NOTE":o||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(o)){t.state="NOTE";break}if(!o)continue;if(t.cue=new ur(0,0,""),t.state="CUE",-1===o.indexOf("--\x3e")){t.cue.id=o;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{Lr(o,t.cue,t.regionList)}catch(e){t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":var E=-1!==o.indexOf("--\x3e");if(!o||E&&(r=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(null===t.cue)continue;t.cue.text&&(t.cue.text+="\n"),t.cue.text+=o;continue;case"BADCUE":o||(t.state="ID")}}}catch(e){"CUETEXT"===t.state&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state="INITIAL"===t.state?"BADWEBVTT":"BADCUE"}return this},t.flush=function(){var e=this;try{if((e.cue||"HEADER"===e.state)&&(e.buffer+="\n\n",e.parse()),"INITIAL"===e.state||"BADWEBVTT"===e.state)throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this},e})(),Cr=/\r\n|\n\r|\n|\r/g,hr=function(e,t,a){return void 0===a&&(a=0),e.slice(a,a+t.length)===t},fr=function(e){var t=parseInt(e.slice(-3)),a=parseInt(e.slice(-6,-4)),i=parseInt(e.slice(-9,-7)),o=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!(p(t)&&p(a)&&p(i)&&p(o)))throw Error("Malformed X-TIMESTAMP-MAP: Local:"+e);return t+=1e3*a,t+=6e4*i,t+=36e5*o},Pr=function(e){for(var t=5381,a=e.length;a;)t=33*t^e.charCodeAt(--a);return(t>>>0).toString()};function Br(e,t,a){return Pr(e.toString())+Pr(t.toString())+Pr(a)}var gr=function(e,t,a){var i=e[t],o=e[i.prevCC];if(!o||!o.new&&i.new)return e.ccOffset=e.presentationOffset=i.start,void(i.new=!1);for(;null!=(n=o)&&n.new;){var n;e.ccOffset+=i.start-o.start,i.new=!1,o=e[(i=o).prevCC]}e.presentationOffset=a};function vr(e,t,a,i,o,n,r){var E,_=new pr,T=Be(new Uint8Array(e)).trim().replace(Cr,"\n").split("\n"),s=[],S=t?qo(t.baseTime,t.timescale):0,l="00:00.000",I=0,A=0,u=!0;_.oncue=function(e){var n=a[i],r=a.ccOffset,_=(I-S)/9e4;if(null!=n&&n.new&&(void 0!==A?r=a.ccOffset=n.start:gr(a,i,_)),_){if(!t)return void(E=new Error("Missing initPTS for VTT MPEGTS"));r=_-a.presentationOffset}var T=e.endTime-e.startTime,l=rn(9e4*(e.startTime+r-A),9e4*o)/9e4;e.startTime=Math.max(l,0),e.endTime=Math.max(l+T,0);var u=e.text.trim();e.text=decodeURIComponent(encodeURIComponent(u)),e.id||(e.id=Br(e.startTime,e.endTime,u)),e.endTime>0&&s.push(e)},_.onparsingerror=function(e){E=e},_.onflush=function(){E?r(E):n(s)},T.forEach(function(e){if(u){if(hr(e,"X-TIMESTAMP-MAP=")){u=!1,e.slice(16).split(",").forEach(function(e){hr(e,"LOCAL:")?l=e.slice(6):hr(e,"MPEGTS:")&&(I=parseInt(e.slice(7)))});try{A=fr(l)/1e3}catch(e){E=e}return}""===e&&(u=!1)}_.parse(e+"\n")}),_.flush()}var Mr="stpp.ttml.im1t",Wr=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,yr=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,Ur={left:"start",center:"center",right:"end",start:"start",end:"end"};function br(e,t,a,i){var o=we(new Uint8Array(e),["mdat"]);if(0!==o.length){var n=o.map(function(e){return Be(e)}),r=Xo(t.baseTime,1,t.timescale);try{n.forEach(function(e){return a(Gr(e,r))})}catch(e){i(e)}}else i(new Error("Could not parse IMSC1 mdat"))}function Gr(e,t){var a=(new DOMParser).parseFromString(e,"text/xml").getElementsByTagName("tt")[0];if(!a)throw new Error("Invalid ttml");var i={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},o=Object.keys(i).reduce(function(e,t){return e[t]=a.getAttribute("ttp:"+t)||i[t],e},{}),n="preserve"!==a.getAttribute("xml:space"),r=Fr(kr(a,"styling","style")),E=Fr(kr(a,"layout","region")),_=kr(a,"body","[begin]");return[].map.call(_,function(e){var a=Vr(e,n);if(!a||!e.hasAttribute("begin"))return null;var i=zr(e.getAttribute("begin"),o),_=zr(e.getAttribute("dur"),o),s=zr(e.getAttribute("end"),o);if(null===i)throw Yr(e);if(null===s){if(null===_)throw Yr(e);s=i+_}var S=new ur(i-t,s-t,a);S.id=Br(S.startTime,S.endTime,S.text);var l=Hr(E[e.getAttribute("region")],r[e.getAttribute("style")],r),I=l.textAlign;if(I){var A=Ur[I];A&&(S.lineAlign=A),S.align=I}return T(S,l),S}).filter(function(e){return null!==e})}function kr(e,t,a){var i=e.getElementsByTagName(t)[0];return i?[].slice.call(i.querySelectorAll(a)):[]}function Fr(e){return e.reduce(function(e,t){var a=t.getAttribute("xml:id");return a&&(e[a]=t),e},{})}function Vr(e,t){return[].slice.call(e.childNodes).reduce(function(e,a,i){var o;return"br"===a.nodeName&&i?e+"\n":null!=(o=a.childNodes)&&o.length?Vr(a,t):t?e+a.textContent.trim().replace(/\s+/g," "):e+a.textContent},"")}function Hr(e,t,a){var i="http://www.w3.org/ns/ttml#styling",o=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],r=null!=e&&e.hasAttribute("style")?e.getAttribute("style"):null;return r&&a.hasOwnProperty(r)&&(o=a[r]),n.reduce(function(a,n){var r=wr(t,i,n)||wr(e,i,n)||wr(o,i,n);return r&&(a[n]=r),a},{})}function wr(e,t,a){return e&&e.hasAttributeNS(t,a)?e.getAttributeNS(t,a):null}function Yr(e){return new Error("Could not parse ttml timestamp "+e)}function zr(e,t){if(!e)return null;var a=Or(e);return null===a&&(Wr.test(e)?a=Kr(e,t):yr.test(e)&&(a=jr(e,t))),a}function Kr(e,t){var a=Wr.exec(e),i=(0|a[4])+(0|a[5])/t.subFrameRate;return 3600*(0|a[1])+60*(0|a[2])+(0|a[3])+i/t.frameRate}function jr(e,t){var a=yr.exec(e),i=Number(a[1]);switch(a[2]){case"h":return 3600*i;case"m":return 60*i;case"ms":return 1e3*i;case"f":return i/t.frameRate;case"t":return i/t.tickRate}return i}var xr=(function(){function e(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=qr(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(f.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(f.FRAG_LOADING,this.onFragLoading,this),e.on(f.FRAG_LOADED,this.onFragLoaded,this),e.on(f.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(f.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(f.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(f.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(f.BUFFER_FLUSHING,this.onBufferFlushing,this)}var t=e.prototype;return t.destroy=function(){var e=this.hls;e.off(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(f.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(f.FRAG_LOADING,this.onFragLoading,this),e.off(f.FRAG_LOADED,this.onFragLoaded,this),e.off(f.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(f.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(f.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(f.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(f.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0},t.initCea608Parsers=function(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){var e=new Ar(this,"textTrack1"),t=new Ar(this,"textTrack2"),a=new Ar(this,"textTrack3"),i=new Ar(this,"textTrack4");this.cea608Parser1=new sr(1,e,t),this.cea608Parser2=new sr(3,a,i)}},t.addCues=function(e,t,a,i,o){for(var n=!1,r=o.length;r--;){var E=o[r],_=$r(E[0],E[1],t,a);if(_>=0&&(E[0]=Math.min(E[0],t),E[1]=Math.max(E[1],a),n=!0,_/(a-t)>.5))return}if(n||o.push([t,a]),this.config.renderTextTracksNatively){var T=this.captionsTracks[e];this.Cues.newCue(T,t,a,i)}else{var s=this.Cues.newCue(null,t,a,i);this.hls.trigger(f.CUES_PARSED,{type:"captions",cues:s,track:e})}},t.onInitPtsFound=function(e,t){var a=this,i=t.frag,o=t.id,n=t.initPTS,r=t.timescale,E=this.unparsedVttFrags;"main"===o&&(this.initPTS[i.cc]={baseTime:n,timescale:r}),E.length&&(this.unparsedVttFrags=[],E.forEach(function(e){a.onFragLoaded(f.FRAG_LOADED,e)}))},t.getExistingTrack=function(e,t){var a=this.media;if(a)for(var i=0;i<a.textTracks.length;i++){var o=a.textTracks[i];if(Xr(o,{name:e,lang:t,attrs:{}}))return o}return null},t.createCaptionsTrack=function(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)},t.createNativeTrack=function(e){if(!this.captionsTracks[e]){var t=this.captionsProperties,a=this.captionsTracks,i=this.media,o=t[e],n=o.label,r=o.languageCode,E=this.getExistingTrack(n,r);if(E)a[e]=E,aa(a[e]),ea(a[e],i);else{var _=this.createTextTrack("captions",n,r);_&&(_[e]=!0,a[e]=_)}}},t.createNonNativeTrack=function(e){if(!this.nonNativeCaptionsTracks[e]){var t=this.captionsProperties[e];if(t){var a={_id:e,label:t.label,kind:"captions",default:!!t.media&&!!t.media.default,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=a,this.hls.trigger(f.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[a]})}}},t.createTextTrack=function(e,t,a){var i=this.media;if(i)return i.addTextTrack(e,t,a)},t.onMediaAttaching=function(e,t){this.media=t.media,this._cleanTracks()},t.onMediaDetaching=function(){var e=this.captionsTracks;Object.keys(e).forEach(function(t){aa(e[t]),delete e[t]}),this.nonNativeCaptionsTracks={}},t.onManifestLoading=function(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=qr(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())},t._cleanTracks=function(){var e=this.media;if(e){var t=e.textTracks;if(t)for(var a=0;a<t.length;a++)aa(t[a])}},t.onSubtitleTracksUpdated=function(e,t){var a=this,i=t.subtitleTracks||[],o=i.some(function(e){return e.textCodec===Mr});if(this.config.enableWebVTT||o&&this.config.enableIMSC1){if(Wn(this.tracks,i))return void(this.tracks=i);if(this.textTracks=[],this.tracks=i,this.config.renderTextTracksNatively){var n=this.media,r=n?ra(n.textTracks):null;if(this.tracks.forEach(function(e,t){var i;if(r){for(var o=null,n=0;n<r.length;n++)if(r[n]&&Xr(r[n],e)){o=r[n],r[n]=null;break}o&&(i=o)}if(i)aa(i);else{var E=Qr(e);(i=a.createTextTrack(E,e.name,e.lang))&&(i.mode="disabled")}i&&a.textTracks.push(i)}),null!=r&&r.length){var E=r.filter(function(e){return null!==e}).map(function(e){return e.label});E.length&&b.warn("Media element contains unused subtitle tracks: "+E.join(", ")+". Replace media element for each source to clear TextTracks and captions menu.")}}else if(this.tracks.length){var _=this.tracks.map(function(e){return{label:e.name,kind:e.type.toLowerCase(),default:e.default,subtitleTrack:e}});this.hls.trigger(f.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:_})}}},t.onManifestLoaded=function(e,t){var a=this;this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(function(e){var t=/(?:CC|SERVICE)([1-4])/.exec(e.instreamId);if(t){var i="textTrack"+t[1],o=a.captionsProperties[i];o&&(o.label=e.name,e.lang&&(o.languageCode=e.lang),o.media=e)}})},t.closedCaptionsForLevel=function(e){var t=this.hls.levels[e.level];return null==t?void 0:t.attrs["CLOSED-CAPTIONS"]},t.onFragLoading=function(e,t){this.initCea608Parsers();var a=this.cea608Parser1,i=this.cea608Parser2,o=this.lastCc,n=this.lastSn,r=this.lastPartIndex;if(this.enabled&&a&&i&&t.frag.type===$t.MAIN){var E,_,T=t.frag,s=T.cc,S=T.sn,l=null!=(E=null==t||null==(_=t.part)?void 0:_.index)?E:-1;S===n+1||S===n&&l===r+1||s===o||(a.reset(),i.reset()),this.lastCc=s,this.lastSn=S,this.lastPartIndex=l}},t.onFragLoaded=function(e,t){var a=t.frag,i=t.payload;if(a.type===$t.SUBTITLE)if(i.byteLength){var o=a.decryptdata,n="stats"in t;if(null==o||!o.encrypted||n){var r=this.tracks[a.level],E=this.vttCCs;E[a.cc]||(E[a.cc]={start:a.start,prevCC:this.prevCC,new:!0},this.prevCC=a.cc),r&&r.textCodec===Mr?this._parseIMSC1(a,i):this._parseVTTs(t)}}else this.hls.trigger(f.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:a,error:new Error("Empty subtitle payload")})},t._parseIMSC1=function(e,t){var a=this,i=this.hls;br(t,this.initPTS[e.cc],function(t){a._appendCues(t,e.level),i.trigger(f.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},function(t){b.log("Failed to parse IMSC1: "+t),i.trigger(f.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:t})})},t._parseVTTs=function(e){var t,a=this,i=e.frag,o=e.payload,n=this.initPTS,r=this.unparsedVttFrags,E=n.length-1;if(n[i.cc]||-1!==E){var _=this.hls;vr(null!=(t=i.initSegment)&&t.data?at(i.initSegment.data,new Uint8Array(o)):o,this.initPTS[i.cc],this.vttCCs,i.cc,i.start,function(e){a._appendCues(e,i.level),_.trigger(f.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:i})},function(t){var n="Missing initPTS for VTT MPEGTS"===t.message;n?r.push(e):a._fallbackToIMSC1(i,o),b.log("Failed to parse VTT cue: "+t),n&&E>i.cc||_.trigger(f.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:t})})}else r.push(e)},t._fallbackToIMSC1=function(e,t){var a=this,i=this.tracks[e.level];i.textCodec||br(t,this.initPTS[e.cc],function(){i.textCodec=Mr,a._parseIMSC1(e,t)},function(){i.textCodec="wvtt"})},t._appendCues=function(e,t){var a=this.hls;if(this.config.renderTextTracksNatively){var i=this.textTracks[t];if(!i||"disabled"===i.mode)return;e.forEach(function(e){return ta(i,e)})}else{var o=this.tracks[t];if(!o)return;var n=o.default?"default":"subtitles"+t;a.trigger(f.CUES_PARSED,{type:"subtitles",cues:e,track:n})}},t.onFragDecrypted=function(e,t){t.frag.type===$t.SUBTITLE&&this.onFragLoaded(f.FRAG_LOADED,t)},t.onSubtitleTracksCleared=function(){this.tracks=[],this.captionsTracks={}},t.onFragParsingUserdata=function(e,t){this.initCea608Parsers();var a=this.cea608Parser1,i=this.cea608Parser2;if(this.enabled&&a&&i){var o=t.frag,n=t.samples;if(o.type!==$t.MAIN||"NONE"!==this.closedCaptionsForLevel(o))for(var r=0;r<n.length;r++){var E=n[r].bytes;if(E){var _=this.extractCea608Data(E);a.addData(n[r].pts,_[0]),i.addData(n[r].pts,_[1])}}}},t.onBufferFlushing=function(e,t){var a=t.startOffset,i=t.endOffset,o=t.endOffsetSubtitles,n=t.type,r=this.media;if(r&&!(r.currentTime<i)){if(!n||"video"===n){var E=this.captionsTracks;Object.keys(E).forEach(function(e){return ia(E[e],a,i)})}if(this.config.renderTextTracksNatively&&0===a&&void 0!==o){var _=this.textTracks;Object.keys(_).forEach(function(e){return ia(_[e],a,o)})}}},t.extractCea608Data=function(e){for(var t=[[],[]],a=31&e[0],i=2,o=0;o<a;o++){var n=e[i++],r=127&e[i++],E=127&e[i++];if((0!==r||0!==E)&&4&n){var _=3&n;0!==_&&1!==_||(t[_].push(r),t[_].push(E))}}return t},e})();function Qr(e){return e.characteristics&&/transcribes-spoken-dialog/gi.test(e.characteristics)&&/describes-music-and-sound/gi.test(e.characteristics)?"captions":"subtitles"}function Xr(e,t){return!!e&&e.kind===Qr(t)&&Un(t,e)}function $r(e,t,a,i){return Math.min(t,i)-Math.max(e,a)}function qr(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var Jr=(function(){function e(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}var t=e.prototype;return t.setStreamController=function(e){this.streamController=e},t.destroy=function(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null},t.registerListeners=function(){var e=this.hls;e.on(f.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(f.BUFFER_CODECS,this.onBufferCodecs,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this)},t.unregisterListener=function(){var e=this.hls;e.off(f.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(f.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(f.BUFFER_CODECS,this.onBufferCodecs,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this)},t.onFpsDropLevelCapping=function(e,t){var a=this.hls.levels[t.droppedLevel];this.isLevelAllowed(a)&&this.restrictedLevels.push({bitrate:a.bitrate,height:a.height,width:a.width})},t.onMediaAttaching=function(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()},t.onManifestParsed=function(e,t){var a=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,a.config.capLevelToPlayerSize&&t.video&&this.startCapping()},t.onLevelsUpdated=function(e,t){this.timer&&p(this.autoLevelCapping)&&this.detectPlayerSize()},t.onBufferCodecs=function(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()},t.onMediaDetaching=function(){this.stopCapping()},t.detectPlayerSize=function(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0)return void(this.clientRect=null);var e=this.hls.levels;if(e.length){var t=this.hls,a=this.getMaxLevel(e.length-1);a!==this.autoLevelCapping&&b.log("Setting autoLevelCapping to "+a+": "+e[a].height+"p@"+e[a].bitrate+" for media "+this.mediaWidth+"x"+this.mediaHeight),t.autoLevelCapping=a,t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}},t.getMaxLevel=function(t){var a=this,i=this.hls.levels;if(!i.length)return-1;var o=i.filter(function(e,i){return a.isLevelAllowed(e)&&i<=t});return this.clientRect=null,e.getMaxLevelByMediaSize(o,this.mediaWidth,this.mediaHeight)},t.startCapping=function(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())},t.stopCapping=function(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)},t.getDimensions=function(){if(this.clientRect)return this.clientRect;var e=this.media,t={width:0,height:0};if(e){var a=e.getBoundingClientRect();t.width=a.width,t.height=a.height,t.width||t.height||(t.width=a.right-a.left||e.width||0,t.height=a.bottom-a.top||e.height||0)}return this.clientRect=t,t},t.isLevelAllowed=function(e){return!this.restrictedLevels.some(function(t){return e.bitrate===t.bitrate&&e.width===t.width&&e.height===t.height})},e.getMaxLevelByMediaSize=function(e,t,a){if(null==e||!e.length)return-1;for(var i=function(e,t){return!t||e.width!==t.width||e.height!==t.height},o=e.length-1,n=Math.max(t,a),r=0;r<e.length;r+=1){var E=e[r];if((E.width>=n||E.height>=n)&&i(E,e[r+1])){o=r;break}}return o},E(e,[{key:"mediaWidth",get:function(){return this.getDimensions().width*this.contentScaleFactor}},{key:"mediaHeight",get:function(){return this.getDimensions().height*this.contentScaleFactor}},{key:"contentScaleFactor",get:function(){var e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch(e){}return e}}]),e})(),Zr=(function(){function e(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}var t=e.prototype;return t.setStreamController=function(e){this.streamController=e},t.registerListeners=function(){this.hls.on(f.MEDIA_ATTACHING,this.onMediaAttaching,this)},t.unregisterListeners=function(){this.hls.off(f.MEDIA_ATTACHING,this.onMediaAttaching,this)},t.destroy=function(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null},t.onMediaAttaching=function(e,t){var a=this.hls.config;if(a.capLevelOnFPSDrop){var i=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=i,i&&"function"==typeof i.getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),a.fpsDroppedMonitoringPeriod)}},t.checkFPS=function(e,t,a){var i=performance.now();if(t){if(this.lastTime){var o=i-this.lastTime,n=a-this.lastDroppedFrames,r=t-this.lastDecodedFrames,E=1e3*n/o,_=this.hls;if(_.trigger(f.FPS_DROP,{currentDropped:n,currentDecoded:r,totalDroppedFrames:a}),E>0&&n>_.config.fpsDroppedMonitoringThreshold*r){var T=_.currentLevel;b.warn("drop FPS ratio greater than max allowed value for currentLevel: "+T),T>0&&(-1===_.autoLevelCapping||_.autoLevelCapping>=T)&&(T-=1,_.trigger(f.FPS_DROP_LEVEL_CAPPING,{level:T,droppedLevel:_.currentLevel}),_.autoLevelCapping=T,this.streamController.nextLevelSwitch())}}this.lastTime=i,this.lastDroppedFrames=a,this.lastDecodedFrames=t}},t.checkFPSInterval=function(){var e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){var t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)},e})(),eE="[eme]",tE=(function(){function e(t){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=e.CDMCleanupPromise?[e.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=b.debug.bind(b,eE),this.log=b.log.bind(b,eE),this.warn=b.warn.bind(b,eE),this.error=b.error.bind(b,eE),this.hls=t,this.config=t.config,this.registerListeners()}var t=e.prototype;return t.destroy=function(){this.unregisterListeners(),this.onMediaDetached();var e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null},t.registerListeners=function(){this.hls.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(f.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(f.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(f.MANIFEST_LOADED,this.onManifestLoaded,this)},t.unregisterListeners=function(){this.hls.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(f.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(f.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(f.MANIFEST_LOADED,this.onManifestLoaded,this)},t.getLicenseServerUrl=function(e){var t=this.config,a=t.drmSystems,i=t.widevineLicenseUrl,o=a[e];if(o)return o.licenseUrl;if(e===ae.WIDEVINE&&i)return i;throw new Error('no license server URL configured for key-system "'+e+'"')},t.getServerCertificateUrl=function(e){var t=this.config.drmSystems[e];if(t)return t.serverCertificateUrl;this.log('No Server Certificate in config.drmSystems["'+e+'"]')},t.attemptKeySystemAccess=function(e){var t=this,a=this.hls.levels,i=function(e,t,a){return!!e&&a.indexOf(e)===t},o=a.map(function(e){return e.audioCodec}).filter(i),n=a.map(function(e){return e.videoCodec}).filter(i);return o.length+n.length===0&&n.push("avc1.42e01e"),new Promise(function(a,i){!(function e(r){var E=r.shift();t.getMediaKeysPromise(E,o,n).then(function(e){return a({keySystem:E,mediaKeys:e})}).catch(function(t){r.length?e(r):i(t instanceof rE?t:new rE({type:P.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_ACCESS,error:t,fatal:!0},t.message))})})(e)})},t.requestMediaKeySystemAccess=function(e,t){var a=this.config.requestMediaKeySystemAccessFunc;if("function"!=typeof a){var i="Configured requestMediaKeySystemAccess is not a function "+a;return null===se&&"http:"===self.location.protocol&&(i="navigator.requestMediaKeySystemAccess is not available over insecure protocol "+location.protocol),Promise.reject(new Error(i))}return a(e,t)},t.getMediaKeysPromise=function(e,t,a){var i=this,o=Se(e,t,a,this.config.drmSystemOptions),n=this.keySystemAccessPromises[e],r=null==n?void 0:n.keySystemAccess;if(!r){this.log('Requesting encrypted media "'+e+'" key-system access with config: '+JSON.stringify(o)),r=this.requestMediaKeySystemAccess(e,o);var E=this.keySystemAccessPromises[e]={keySystemAccess:r};return r.catch(function(t){i.log('Failed to obtain access to key-system "'+e+'": '+t)}),r.then(function(t){i.log('Access for key-system "'+t.keySystem+'" obtained');var a=i.fetchServerCertificate(e);return i.log('Create media-keys for "'+e+'"'),E.mediaKeys=t.createMediaKeys().then(function(t){return i.log('Media-keys created for "'+e+'"'),a.then(function(a){return a?i.setMediaKeysServerCertificate(t,e,a):t})}),E.mediaKeys.catch(function(t){i.error('Failed to create media-keys for "'+e+'"}: '+t)}),E.mediaKeys})}return r.then(function(){return n.mediaKeys})},t.createMediaKeySessionContext=function(e){var t=e.decryptdata,a=e.keySystem,i=e.mediaKeys;this.log('Creating key-system session "'+a+'" keyId: '+ve.hexDump(t.keyId||[]));var o=i.createSession(),n={decryptdata:t,keySystem:a,mediaKeys:i,mediaKeysSession:o,keyStatus:"status-pending"};return this.mediaKeySessions.push(n),n},t.renewKeySession=function(e){var t=e.decryptdata;if(t.pssh){var a=this.createMediaKeySessionContext(e),i=this.getKeyIdString(t),o="cenc";this.keyIdToKeySessionPromise[i]=this.generateRequestWithPreferredKeySession(a,o,t.pssh,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)},t.getKeyIdString=function(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(null===e.keyId)throw new Error("keyId is null");return ve.hexDump(e.keyId)},t.updateKeySession=function(e,t){var a,i=e.mediaKeysSession;return this.log('Updating key-session "'+i.sessionId+'" for keyID '+ve.hexDump((null==(a=e.decryptdata)?void 0:a.keyId)||[])+"\n } (data length: "+(t?t.byteLength:t)+")"),i.update(t)},t.selectKeySystemFormat=function(e){var t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log("Selecting key-system from fragment (sn: "+e.sn+" "+e.type+": "+e.level+") key formats "+t.join(", ")),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise},t.getKeyFormatPromise=function(e){var t=this;return new Promise(function(a,i){var o=_e(t.config),n=e.map(oe).filter(function(e){return!!e&&-1!==o.indexOf(e)});return t.getKeySystemSelectionPromise(n).then(function(e){var t=e.keySystem,o=Ee(t);o?a(o):i(new Error('Unable to find format for key-system "'+t+'"'))}).catch(i)})},t.loadKey=function(e){var t=this,a=e.keyInfo.decryptdata,i=this.getKeyIdString(a),o="(keyId: "+i+' format: "'+a.keyFormat+'" method: '+a.method+" uri: "+a.uri+")";this.log("Starting session for key "+o);var n=this.keyIdToKeySessionPromise[i];return n||(n=this.keyIdToKeySessionPromise[i]=this.getKeySystemForKeyPromise(a).then(function(i){var n=i.keySystem,r=i.mediaKeys;return t.throwIfDestroyed(),t.log("Handle encrypted media sn: "+e.frag.sn+" "+e.frag.type+": "+e.frag.level+" using key "+o),t.attemptSetMediaKeys(n,r).then(function(){t.throwIfDestroyed();var e=t.createMediaKeySessionContext({keySystem:n,mediaKeys:r,decryptdata:a}),i="cenc";return t.generateRequestWithPreferredKeySession(e,i,a.pssh,"playlist-key")})})).catch(function(e){return t.handleError(e)}),n},t.throwIfDestroyed=function(e){if(!this.hls)throw new Error("invalid state")},t.handleError=function(e){this.hls&&(this.error(e.message),e instanceof rE?this.hls.trigger(f.ERROR,e.data):this.hls.trigger(f.ERROR,{type:P.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))},t.getKeySystemForKeyPromise=function(e){var t=this.getKeyIdString(e),a=this.keyIdToKeySessionPromise[t];if(!a){var i=oe(e.keyFormat),o=i?[i]:_e(this.config);return this.attemptKeySystemAccess(o)}return a},t.getKeySystemSelectionPromise=function(e){if(e.length||(e=_e(this.config)),0===e.length)throw new rE({type:P.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},"Missing key-system license configuration options "+JSON.stringify({drmSystems:this.config.drmSystems}));return this.attemptKeySystemAccess(e)},t._onMediaEncrypted=function(e){var t=this,a=e.initDataType,i=e.initData;if(this.debug('"'+e.type+'" event: init data type: "'+a+'"'),null!==i){var o,n;if("sinf"===a&&this.config.drmSystems[ae.FAIRPLAY]){var r=Ue(new Uint8Array(i));try{var E=$(JSON.parse(r).sinf),_=$e(new Uint8Array(E));if(!_)return;o=_.subarray(8,24),n=ae.FAIRPLAY}catch(e){return void this.warn('Failed to parse sinf "encrypted" event message initData')}}else{var T=St(i);if(null===T)return;0===T.version&&T.systemId===ne.WIDEVINE&&T.data&&(o=T.data.subarray(8,24)),n=re(T.systemId)}if(n&&o){for(var s,S=ve.hexDump(o),l=this.keyIdToKeySessionPromise,I=this.mediaKeySessions,A=l[S],u=function(){var e=I[d],n=e.decryptdata;if(n.pssh||!n.keyId)return 0;var r=ve.hexDump(n.keyId);return S===r||-1!==n.uri.replace(/-/g,"").indexOf(S)?(A=l[r],delete l[r],n.pssh=new Uint8Array(i),n.keyId=o,A=l[S]=A.then(function(){return t.generateRequestWithPreferredKeySession(e,a,i,"encrypted-event-key-match")}),1):void 0},d=0;d<I.length&&(0===(s=u())||1!==s);d++);A||(A=l[S]=this.getKeySystemSelectionPromise([n]).then(function(e){var n,r=e.keySystem,E=e.mediaKeys;t.throwIfDestroyed();var _=new It("ISO-23001-7",S,null!=(n=Ee(r))?n:"");return _.pssh=new Uint8Array(i),_.keyId=o,t.attemptSetMediaKeys(r,E).then(function(){t.throwIfDestroyed();var e=t.createMediaKeySessionContext({decryptdata:_,keySystem:r,mediaKeys:E});return t.generateRequestWithPreferredKeySession(e,a,i,"encrypted-event-no-match")})})),A.catch(function(e){return t.handleError(e)})}}},t._onWaitingForKey=function(e){this.log('"'+e.type+'" event')},t.attemptSetMediaKeys=function(e,t){var a=this,i=this.setMediaKeysQueue.slice();this.log('Setting media-keys for "'+e+'"');var o=Promise.all(i).then(function(){if(!a.media)throw new Error("Attempted to set mediaKeys without media element attached");return a.media.setMediaKeys(t)});return this.setMediaKeysQueue.push(o),o.then(function(){a.log('Media-keys set for "'+e+'"'),i.push(o),a.setMediaKeysQueue=a.setMediaKeysQueue.filter(function(e){return-1===i.indexOf(e)})})},t.generateRequestWithPreferredKeySession=function(e,t,a,i){var o,n,r=this,E=null==(o=this.config.drmSystems)||null==(n=o[e.keySystem])?void 0:n.generateRequest;if(E)try{var _=E.call(this.hls,t,a,e);if(!_)throw new Error("Invalid response from configured generateRequest filter");t=_.initDataType,a=e.decryptdata.pssh=_.initData?new Uint8Array(_.initData):null}catch(e){var T;if(this.warn(e.message),null!=(T=this.hls)&&T.config.debug)throw e}if(null===a)return this.log('Skipping key-session request for "'+i+'" (no initData)'),Promise.resolve(e);var s=this.getKeyIdString(e.decryptdata);this.log('Generating key-session request for "'+i+'": '+s+" (init data type: "+t+" length: "+(a?a.byteLength:null)+")");var S=new Dn,l=e._onmessage=function(t){var a=e.mediaKeysSession;if(a){var i=t.messageType,o=t.message;r.log('"'+i+'" message event for session "'+a.sessionId+'" message size: '+o.byteLength),"license-request"===i||"license-renewal"===i?r.renewLicense(e,o).catch(function(e){r.handleError(e),S.emit("error",e)}):"license-release"===i?e.keySystem===ae.FAIRPLAY&&(r.updateKeySession(e,ee("acknowledged")),r.removeSession(e)):r.warn('unhandled media key message type "'+i+'"')}else S.emit("error",new Error("invalid state"))},I=e._onkeystatuseschange=function(t){if(e.mediaKeysSession){r.onKeyStatusChange(e);var a=e.keyStatus;S.emit("keyStatus",a),"expired"===a&&(r.warn(e.keySystem+" expired for key "+s),r.renewKeySession(e))}else S.emit("error",new Error("invalid state"))};e.mediaKeysSession.addEventListener("message",l),e.mediaKeysSession.addEventListener("keystatuseschange",I);var A=new Promise(function(e,t){S.on("error",t),S.on("keyStatus",function(a){a.startsWith("usable")?e():"output-restricted"===a?t(new rE({type:P.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):"internal-error"===a?t(new rE({type:P.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},'key status changed to "'+a+'"')):"expired"===a?t(new Error("key expired while generating request")):r.warn('unhandled key status change "'+a+'"')})});return e.mediaKeysSession.generateRequest(t,a).then(function(){var t;r.log('Request generated for key-session "'+(null==(t=e.mediaKeysSession)?void 0:t.sessionId)+'" keyId: '+s)}).catch(function(e){throw new rE({type:P.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_NO_SESSION,error:e,fatal:!1},"Error generating key-session request: "+e)}).then(function(){return A}).catch(function(t){throw S.removeAllListeners(),r.removeSession(e),t}).then(function(){return S.removeAllListeners(),e})},t.onKeyStatusChange=function(e){var t=this;e.mediaKeysSession.keyStatuses.forEach(function(a,i){t.log('key status change "'+a+'" for keyStatuses keyId: '+ve.hexDump("buffer"in i?new Uint8Array(i.buffer,i.byteOffset,i.byteLength):new Uint8Array(i))+" session keyId: "+ve.hexDump(new Uint8Array(e.decryptdata.keyId||[]))+" uri: "+e.decryptdata.uri),e.keyStatus=a})},t.fetchServerCertificate=function(e){var t=this.config,a=new(0,t.loader)(t),o=this.getServerCertificateUrl(e);return o?(this.log('Fetching server certificate for "'+e+'"'),new Promise(function(n,r){var E={responseType:"arraybuffer",url:o},_=t.certLoadPolicy.default,T={loadPolicy:_,timeout:_.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},s={onSuccess:function(e,t,a,i){n(e.data)},onError:function(t,a,n,_){r(new rE({type:P.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:n,response:i({url:E.url,data:void 0},t)},'"'+e+'" certificate request failed ('+o+"). Status: "+t.code+" ("+t.text+")"))},onTimeout:function(t,a,i){r(new rE({type:P.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:i,response:{url:E.url,data:void 0}},'"'+e+'" certificate request timed out ('+o+")"))},onAbort:function(e,t,a){r(new Error("aborted"))}};a.load(E,T,s)})):Promise.resolve()},t.setMediaKeysServerCertificate=function(e,t,a){var i=this;return new Promise(function(o,n){e.setServerCertificate(a).then(function(n){i.log("setServerCertificate "+(n?"success":"not supported by CDM")+" ("+(null==a?void 0:a.byteLength)+') on "'+t+'"'),o(e)}).catch(function(e){n(new rE({type:P.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:e,fatal:!0},e.message))})})},t.renewLicense=function(e,t){var a=this;return this.requestLicense(e,new Uint8Array(t)).then(function(t){return a.updateKeySession(e,new Uint8Array(t)).catch(function(e){throw new rE({type:P.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:e,fatal:!0},e.message)})})},t.unpackPlayReadyKeyMessage=function(e,t){var a=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!a.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;var i=(new DOMParser).parseFromString(a,"application/xml"),o=i.querySelectorAll("HttpHeader");if(o.length>0)for(var n,r=0,E=o.length;r<E;r++){var _,T,s=null==(_=(n=o[r]).querySelector("name"))?void 0:_.textContent,S=null==(T=n.querySelector("value"))?void 0:T.textContent;s&&S&&e.setRequestHeader(s,S)}var l=i.querySelector("Challenge"),I=null==l?void 0:l.textContent;if(!I)throw new Error("Cannot find <Challenge> in key message");return ee(atob(I))},t.setupLicenseXHR=function(e,t,a,i){var o=this,n=this.config.licenseXhrSetup;return n?Promise.resolve().then(function(){if(!a.decryptdata)throw new Error("Key removed");return n.call(o.hls,e,t,a,i)}).catch(function(r){if(!a.decryptdata)throw r;return e.open("POST",t,!0),n.call(o.hls,e,t,a,i)}).then(function(a){return e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:a||i}}):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:i}))},t.requestLicense=function(e,t){var a=this,i=this.config.keyLoadPolicy.default;return new Promise(function(o,n){var r=a.getLicenseServerUrl(e.keySystem);a.log("Sending license request to URL: "+r);var E=new XMLHttpRequest;E.responseType="arraybuffer",E.onreadystatechange=function(){if(!a.hls||!e.mediaKeysSession)return n(new Error("invalid state"));if(4===E.readyState)if(200===E.status){a._requestLicenseFailureCount=0;var _=E.response;a.log("License received "+(_ instanceof ArrayBuffer?_.byteLength:_));var T=a.config.licenseResponseCallback;if(T)try{_=T.call(a.hls,E,r,e)}catch(e){a.error(e)}o(_)}else{var s=i.errorRetry,S=s?s.maxNumRetry:0;if(a._requestLicenseFailureCount++,a._requestLicenseFailureCount>S||E.status>=400&&E.status<500)n(new rE({type:P.KEY_SYSTEM_ERROR,details:B.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:E,response:{url:r,data:void 0,code:E.status,text:E.statusText}},"License Request XHR failed ("+r+"). Status: "+E.status+" ("+E.statusText+")"));else{var l=S-a._requestLicenseFailureCount+1;a.warn("Retrying license request, "+l+" attempts left"),a.requestLicense(e,t).then(o,n)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=E,a.setupLicenseXHR(E,r,e,t).then(function(t){var i=t.xhr,o=t.licenseChallenge;e.keySystem==ae.PLAYREADY&&(o=a.unpackPlayReadyKeyMessage(i,o)),i.send(o)})})},t.onMediaAttached=function(e,t){if(this.config.emeEnabled){var a=t.media;this.media=a,a.addEventListener("encrypted",this.onMediaEncrypted),a.addEventListener("waitingforkey",this.onWaitingForKey)}},t.onMediaDetached=function(){var t=this,a=this.media,i=this.mediaKeySessions;a&&(a.removeEventListener("encrypted",this.onMediaEncrypted),a.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},It.clearKeyUriToKeyIdMap();var o=i.length;e.CDMCleanupPromise=Promise.all(i.map(function(e){return t.removeSession(e)}).concat(null==a?void 0:a.setMediaKeys(null).catch(function(e){t.log("Could not clear media keys: "+e)}))).then(function(){o&&(t.log("finished closing key sessions and clearing media keys"),i.length=0)}).catch(function(e){t.log("Could not close sessions and clear media keys: "+e)})},t.onManifestLoading=function(){this.keyFormatPromise=null},t.onManifestLoaded=function(e,t){var a=t.sessionKeys;if(a&&this.config.emeEnabled&&!this.keyFormatPromise){var i=a.reduce(function(e,t){return-1===e.indexOf(t.keyFormat)&&e.push(t.keyFormat),e},[]);this.log("Selecting key-system from session-keys "+i.join(", ")),this.keyFormatPromise=this.getKeyFormatPromise(i)}},t.removeSession=function(e){var t=this,a=e.mediaKeysSession,i=e.licenseXhr;if(a){this.log("Remove licenses and keys and close session "+a.sessionId),e._onmessage&&(a.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(a.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),i&&i.readyState!==XMLHttpRequest.DONE&&i.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;var o=this.mediaKeySessions.indexOf(e);return o>-1&&this.mediaKeySessions.splice(o,1),a.remove().catch(function(e){t.log("Could not remove session: "+e)}).then(function(){return a.close()}).catch(function(e){t.log("Could not close session: "+e)})}},e})();tE.CDMCleanupPromise=void 0;var aE,iE,oE,nE,rE=(function(e){function t(t,a){var i;return(i=e.call(this,a)||this).data=void 0,t.error||(t.error=new Error(a)),i.data=t,t.err=t.error,i}return s(t,e),t})(d(Error));(function(e){e.MANIFEST="m",e.AUDIO="a",e.VIDEO="v",e.MUXED="av",e.INIT="i",e.CAPTION="c",e.TIMED_TEXT="tt",e.KEY="k",e.OTHER="o"})(aE||(aE={})),(function(e){e.DASH="d",e.HLS="h",e.SMOOTH="s",e.OTHER="o"})(iE||(iE={})),(function(e){e.OBJECT="CMCD-Object",e.REQUEST="CMCD-Request",e.SESSION="CMCD-Session",e.STATUS="CMCD-Status"})(oE||(oE={}));var EE=((nE={})[oE.OBJECT]=["br","d","ot","tb"],nE[oE.REQUEST]=["bl","dl","mtp","nor","nrr","su"],nE[oE.SESSION]=["cid","pr","sf","sid","st","v"],nE[oE.STATUS]=["bs","rtp"],nE),_E=function e(t,a){this.value=void 0,this.params=void 0,Array.isArray(t)&&(t=t.map(function(t){return t instanceof e?t:new e(t)})),this.value=t,this.params=a},TE=function(e){this.description=void 0,this.description=e},sE="Dict";function SE(e){return Array.isArray(e)?JSON.stringify(e):e instanceof Map?"Map{}":e instanceof Set?"Set{}":"object"==typeof e?JSON.stringify(e):String(e)}function lE(e,t,a,i){return new Error("failed to "+e+' "'+SE(t)+'" as '+a,{cause:i})}var IE="Bare Item",AE="Boolean",uE="Byte Sequence",dE="Decimal",OE="Integer";function cE(e){return e<-999999999999999||999999999999999<e}var NE=/[\x00-\x1f\x7f]+/,RE="Token",mE="Key";function LE(e,t,a){return lE("serialize",e,t,a)}function DE(e){if("boolean"!=typeof e)throw LE(e,AE);return e?"?1":"?0"}function pE(e){return btoa(String.fromCharCode.apply(String,e))}function CE(e){if(!1===ArrayBuffer.isView(e))throw LE(e,uE);return":"+pE(e)+":"}function hE(e){if(cE(e))throw LE(e,OE);return e.toString()}function fE(e){return"@"+hE(e.getTime()/1e3)}function PE(e,t){if(e<0)return-PE(-e,t);var a=Math.pow(10,t);if(Math.abs(e*a%1-.5)<Number.EPSILON){var i=Math.floor(e*a);return(i%2==0?i:i+1)/a}return Math.round(e*a)/a}function BE(e){var t=PE(e,3);if(Math.floor(Math.abs(t)).toString().length>12)throw LE(e,dE);var a=t.toString();return a.includes(".")?a:a+".0"}var gE="String";function vE(e){if(NE.test(e))throw LE(e,gE);return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'}function ME(e){return e.description||e.toString().slice(7,-1)}function WE(e){var t=ME(e);if(!1===/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(t))throw LE(t,RE);return t}function yE(e){switch(typeof e){case"number":if(!p(e))throw LE(e,IE);return Number.isInteger(e)?hE(e):BE(e);case"string":return vE(e);case"symbol":return WE(e);case"boolean":return DE(e);case"object":if(e instanceof Date)return fE(e);if(e instanceof Uint8Array)return CE(e);if(e instanceof TE)return WE(e);default:throw LE(e,IE)}}function UE(e){if(!1===/^[a-z*][a-z0-9\-_.*]*$/.test(e))throw LE(e,mE);return e}function bE(e){return null==e?"":Object.entries(e).map(function(e){var t=e[0],a=e[1];return!0===a?";"+UE(t):";"+UE(t)+"="+yE(a)}).join("")}function GE(e){return e instanceof _E?""+yE(e.value)+bE(e.params):yE(e)}function kE(e){return"("+e.value.map(GE).join(" ")+")"+bE(e.params)}function FE(e,t){var a;if(void 0===t&&(t={whitespace:!0}),"object"!=typeof e)throw LE(e,sE);var i=e instanceof Map?e.entries():Object.entries(e),o=null!=(a=t)&&a.whitespace?" ":"";return Array.from(i).map(function(e){var t=e[0],a=e[1];a instanceof _E==0&&(a=new _E(a));var i=UE(t);return!0===a.value?i+=bE(a.params):(i+="=",Array.isArray(a.value)?i+=kE(a):i+=GE(a)),i}).join(","+o)}function VE(e,t){return FE(e,t)}var HE=function(e){return"ot"===e||"sf"===e||"st"===e},wE=function(e){return"number"==typeof e?p(e):null!=e&&""!==e&&!1!==e};function YE(e,t){var a=new URL(e),i=new URL(t);if(a.origin!==i.origin)return e;for(var o=a.pathname.split("/").slice(1),n=i.pathname.split("/").slice(1,-1);o[0]===n[0];)o.shift(),n.shift();for(;n.length;)n.shift(),o.unshift("..");return o.join("/")}function zE(){try{return crypto.randomUUID()}catch(i){try{var e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch(e){var a=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=(a+16*Math.random())%16|0;return a=Math.floor(a/16),("x"==e?t:3&t|8).toString(16)})}}}var KE=function(e){return Math.round(e)},jE=function(e){return 100*KE(e/100)},xE={br:KE,d:KE,bl:jE,dl:jE,mtp:jE,nor:function(e,t){return null!=t&&t.baseUrl&&(e=YE(e,t.baseUrl)),encodeURIComponent(e)},rtp:jE,tb:KE};function QE(e,t){var a={};if(null==e||"object"!=typeof e)return a;var i=Object.keys(e).sort(),o=T({},xE,null==t?void 0:t.formatters),n=null==t?void 0:t.filter;return i.forEach(function(i){if(null==n||!n(i)){var r=e[i],E=o[i];E&&(r=E(r,t)),"v"===i&&1===r||"pr"==i&&1===r||wE(r)&&(HE(i)&&"string"==typeof r&&(r=new TE(r)),a[i]=r)}}),a}function XE(e,t){return void 0===t&&(t={}),e?VE(QE(e,t),T({whitespace:!1},t)):""}function $E(e,t){var a;if(void 0===t&&(t={}),!e)return{};var i=Object.entries(e),o=Object.entries(EE).concat(Object.entries((null==(a=t)?void 0:a.customHeaderMap)||{})),n=i.reduce(function(e,t){var a,i=t[0],n=t[1],r=(null==(a=o.find(function(e){return e[1].includes(i)}))?void 0:a[0])||oE.REQUEST;return null!=e[r]||(e[r]={}),e[r][i]=n,e},{});return Object.entries(n).reduce(function(e,a){var i=a[0],o=a[1];return e[i]=XE(o,t),e},{})}function qE(e,t,a){return T(e,$E(t,a))}var JE="CMCD";function ZE(e,t){if(void 0===t&&(t={}),!e)return"";var a=XE(e,t);return JE+"="+encodeURIComponent(a)}var e_=/CMCD=[^&#]+/;function t_(e,t,a){var i=ZE(t,a);if(!i)return e;if(e_.test(e))return e.replace(e_,i);var o=e.includes("?")?"&":"?";return""+e+o+i}var a_=(function(){function e(e){var t=this;this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=function(){t.initialized&&(t.starved=!0),t.buffering=!0},this.onPlaying=function(){t.initialized||(t.initialized=!0),t.buffering=!1},this.applyPlaylistData=function(e){try{t.apply(e,{ot:aE.MANIFEST,su:!t.initialized})}catch(e){b.warn("Could not generate manifest CMCD data.",e)}},this.applyFragmentData=function(e){try{var a=e.frag,i=t.hls.levels[a.level],o=t.getObjectType(a),n={d:1e3*a.duration,ot:o};o!==aE.VIDEO&&o!==aE.AUDIO&&o!=aE.MUXED||(n.br=i.bitrate/1e3,n.tb=t.getTopBandwidth(o)/1e3,n.bl=t.getBufferLength(o)),t.apply(e,n)}catch(e){b.warn("Could not generate segment CMCD data.",e)}},this.hls=e;var a=this.config=e.config,i=a.cmcd;null!=i&&(a.pLoader=this.createPlaylistLoader(),a.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||zE(),this.cid=i.contentId,this.useHeaders=!0===i.useHeaders,this.includeKeys=i.includeKeys,this.registerListeners())}var t=e.prototype;return t.registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHED,this.onMediaDetached,this),e.on(f.BUFFER_CREATED,this.onBufferCreated,this)},t.unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHED,this.onMediaDetached,this),e.off(f.BUFFER_CREATED,this.onBufferCreated,this)},t.destroy=function(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=null},t.onMediaAttached=function(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)},t.onMediaDetached=function(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)},t.onBufferCreated=function(e,t){var a,i;this.audioBuffer=null==(a=t.tracks.audio)?void 0:a.buffer,this.videoBuffer=null==(i=t.tracks.video)?void 0:i.buffer},t.createData=function(){var e;return{v:1,sf:iE.HLS,sid:this.sid,cid:this.cid,pr:null==(e=this.media)?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}},t.apply=function(e,t){void 0===t&&(t={}),T(t,this.createData());var a=t.ot===aE.INIT||t.ot===aE.VIDEO||t.ot===aE.MUXED;this.starved&&a&&(t.bs=!0,t.su=!0,this.starved=!1),null==t.su&&(t.su=this.buffering);var i=this.includeKeys;i&&(t=Object.keys(t).reduce(function(e,a){return i.includes(a)&&(e[a]=t[a]),e},{})),this.useHeaders?(e.headers||(e.headers={}),qE(e.headers,t)):e.url=t_(e.url,t)},t.getObjectType=function(e){var t=e.type;return"subtitle"===t?aE.TIMED_TEXT:"initSegment"===e.sn?aE.INIT:"audio"===t?aE.AUDIO:"main"===t?this.hls.audioTracks.length?aE.VIDEO:aE.MUXED:void 0},t.getTopBandwidth=function(e){var t,a=0,i=this.hls;if(e===aE.AUDIO)t=i.audioTracks;else{var o=i.maxAutoLevel,n=o>-1?o+1:i.levels.length;t=i.levels.slice(0,n)}for(var r,E=R(t);!(r=E()).done;){var _=r.value;_.bitrate>a&&(a=_.bitrate)}return a>0?a:NaN},t.getBufferLength=function(e){var t=this.hls.media,a=e===aE.AUDIO?this.audioBuffer:this.videoBuffer;return a&&t?1e3*hi.bufferInfo(a,t.currentTime,this.config.maxBufferHole).len:NaN},t.createPlaylistLoader=function(){var e=this.config.pLoader,t=this.applyPlaylistData,a=e||this.config.loader;return(function(){function e(e){this.loader=void 0,this.loader=new a(e)}var i=e.prototype;return i.destroy=function(){this.loader.destroy()},i.abort=function(){this.loader.abort()},i.load=function(e,a,i){t(e),this.loader.load(e,a,i)},E(e,[{key:"stats",get:function(){return this.loader.stats}},{key:"context",get:function(){return this.loader.context}}]),e})()},t.createFragmentLoader=function(){var e=this.config.fLoader,t=this.applyFragmentData,a=e||this.config.loader;return(function(){function e(e){this.loader=void 0,this.loader=new a(e)}var i=e.prototype;return i.destroy=function(){this.loader.destroy()},i.abort=function(){this.loader.abort()},i.load=function(e,a,i){t(e),this.loader.load(e,a,i)},E(e,[{key:"stats",get:function(){return this.loader.stats}},{key:"context",get:function(){return this.loader.context}}]),e})()},e})(),i_=3e5,o_=(function(){function e(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=b.log.bind(b,"[content-steering]:"),this.registerListeners()}var t=e.prototype;return t.registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.ERROR,this.onError,this)},t.unregisterListeners=function(){var e=this.hls;e&&(e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.ERROR,this.onError,this))},t.startLoad=function(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){var e=1e3*this.timeToLoad-(performance.now()-this.updated);if(e>0)return void this.scheduleRefresh(this.uri,e)}this.loadSteeringManifest(this.uri)}},t.stopLoad=function(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()},t.clearTimeout=function(){-1!==this.reloadTimer&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)},t.destroy=function(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null},t.removeLevel=function(e){var t=this.levels;t&&(this.levels=t.filter(function(t){return t!==e}))},t.onManifestLoading=function(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null},t.onManifestLoaded=function(e,t){var a=t.contentSteering;null!==a&&(this.pathwayId=a.pathwayId,this.uri=a.uri,this.started&&this.startLoad())},t.onManifestParsed=function(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks},t.onError=function(e,t){var a=t.errorAction;if((null==a?void 0:a.action)===$a.SendAlternateToPenaltyBox&&a.flags===qa.MoveAllAlternatesMatchingHost){var i=this.levels,o=this.pathwayPriority,n=this.pathwayId;if(t.context){var r=t.context,E=r.groupId,_=r.pathwayId,T=r.type;E&&i?n=this.getPathwayForGroupId(E,T,n):_&&(n=_)}n in this.penalizedPathways||(this.penalizedPathways[n]=performance.now()),!o&&i&&(o=i.reduce(function(e,t){return-1===e.indexOf(t.pathwayId)&&e.push(t.pathwayId),e},[])),o&&o.length>1&&(this.updatePathwayPriority(o),a.resolved=this.pathwayId!==n),a.resolved||b.warn("Could not resolve "+t.details+' ("'+t.error.message+'") with content-steering for Pathway: '+n+" levels: "+(i?i.length:i)+" priorities: "+JSON.stringify(o)+" penalized: "+JSON.stringify(this.penalizedPathways))}},t.filterParsedLevels=function(e){this.levels=e;var t=this.getLevelsForPathway(this.pathwayId);if(0===t.length){var a=e[0].pathwayId;this.log("No levels found in Pathway "+this.pathwayId+'. Setting initial Pathway to "'+a+'"'),t=this.getLevelsForPathway(a),this.pathwayId=a}return t.length!==e.length?(this.log("Found "+t.length+"/"+e.length+' levels in Pathway "'+this.pathwayId+'"'),t):e},t.getLevelsForPathway=function(e){return null===this.levels?[]:this.levels.filter(function(t){return e===t.pathwayId})},t.updatePathwayPriority=function(e){var t;this.pathwayPriority=e;var a=this.penalizedPathways,i=performance.now();Object.keys(a).forEach(function(e){i-a[e]>i_&&delete a[e]});for(var o=0;o<e.length;o++){var n=e[o];if(!(n in a)){if(n===this.pathwayId)return;var r=this.hls.nextLoadLevel,E=this.hls.levels[r];if((t=this.getLevelsForPathway(n)).length>0){this.log('Setting Pathway to "'+n+'"'),this.pathwayId=n,Ga(t),this.hls.trigger(f.LEVELS_UPDATED,{levels:t});var _=this.hls.levels[r];E&&_&&this.levels&&(_.attrs["STABLE-VARIANT-ID"]!==E.attrs["STABLE-VARIANT-ID"]&&_.bitrate!==E.bitrate&&this.log("Unstable Pathways change from bitrate "+E.bitrate+" to "+_.bitrate),this.hls.nextLoadLevel=r);break}}}},t.getPathwayForGroupId=function(e,t,a){for(var i=this.getLevelsForPathway(a).concat(this.levels||[]),o=0;o<i.length;o++)if(t===Xt.AUDIO_TRACK&&i[o].hasAudioGroup(e)||t===Xt.SUBTITLE_TRACK&&i[o].hasSubtitleGroup(e))return i[o].pathwayId;return a},t.clonePathways=function(e){var t=this,a=this.levels;if(a){var i={},o={};e.forEach(function(e){var n=e.ID,r=e["BASE-ID"],E=e["URI-REPLACEMENT"];if(!a.some(function(e){return e.pathwayId===n})){var _=t.getLevelsForPathway(r).map(function(e){var t=new F(e.attrs);t["PATHWAY-ID"]=n;var a=t.AUDIO&&t.AUDIO+"_clone_"+n,r=t.SUBTITLES&&t.SUBTITLES+"_clone_"+n;a&&(i[t.AUDIO]=a,t.AUDIO=a),r&&(o[t.SUBTITLES]=r,t.SUBTITLES=r);var _=r_(e.uri,t["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",E),T=new Da({attrs:t,audioCodec:e.audioCodec,bitrate:e.bitrate,height:e.height,name:e.name,url:_,videoCodec:e.videoCodec,width:e.width});if(e.audioGroups)for(var s=1;s<e.audioGroups.length;s++)T.addGroupId("audio",e.audioGroups[s]+"_clone_"+n);if(e.subtitleGroups)for(var S=1;S<e.subtitleGroups.length;S++)T.addGroupId("text",e.subtitleGroups[S]+"_clone_"+n);return T});a.push.apply(a,_),n_(t.audioTracks,i,E,n),n_(t.subtitleTracks,o,E,n)}})}},t.loadSteeringManifest=function(e){var t,a=this,i=this.hls.config,o=i.loader;this.loader&&this.loader.destroy(),this.loader=new o(i);try{t=new self.URL(e)}catch(t){return this.enabled=!1,void this.log("Failed to parse Steering Manifest URI: "+e)}if("data:"!==t.protocol){var n=0|(this.hls.bandwidthEstimate||i.abrEwmaDefaultEstimate);t.searchParams.set("_HLS_pathway",this.pathwayId),t.searchParams.set("_HLS_throughput",""+n)}var r={responseType:"json",url:t.href},E=i.steeringManifestLoadPolicy.default,_=E.errorRetry||E.timeoutRetry||{},T={loadPolicy:E,timeout:E.maxLoadTimeMs,maxRetry:_.maxNumRetry||0,retryDelay:_.retryDelayMs||0,maxRetryDelay:_.maxRetryDelayMs||0},s={onSuccess:function(e,i,o,n){a.log('Loaded steering manifest: "'+t+'"');var r=e.data;if(1===r.VERSION){a.updated=performance.now(),a.timeToLoad=r.TTL;var E=r["RELOAD-URI"],_=r["PATHWAY-CLONES"],T=r["PATHWAY-PRIORITY"];if(E)try{a.uri=new self.URL(E,t).href}catch(e){return a.enabled=!1,void a.log("Failed to parse Steering Manifest RELOAD-URI: "+E)}a.scheduleRefresh(a.uri||o.url),_&&a.clonePathways(_);var s={steeringManifest:r,url:t.toString()};a.hls.trigger(f.STEERING_MANIFEST_LOADED,s),T&&a.updatePathwayPriority(T)}else a.log("Steering VERSION "+r.VERSION+" not supported!")},onError:function(e,t,i,o){if(a.log("Error loading steering manifest: "+e.code+" "+e.text+" ("+t.url+")"),a.stopLoad(),410===e.code)return a.enabled=!1,void a.log("Steering manifest "+t.url+" no longer available");var n=1e3*a.timeToLoad;if(429!==e.code)a.scheduleRefresh(a.uri||t.url,n);else{var r=a.loader;if("function"==typeof(null==r?void 0:r.getResponseHeader)){var E=r.getResponseHeader("Retry-After");E&&(n=1e3*parseFloat(E))}a.log("Steering manifest "+t.url+" rate limited")}},onTimeout:function(e,t,i){a.log("Timeout loading steering manifest ("+t.url+")"),a.scheduleRefresh(a.uri||t.url)}};this.log("Requesting steering manifest: "+t),this.loader.load(r,T,s)},t.scheduleRefresh=function(e,t){var a=this;void 0===t&&(t=1e3*this.timeToLoad),this.clearTimeout(),this.reloadTimer=self.setTimeout(function(){var t,i=null==(t=a.hls)?void 0:t.media;!i||i.ended?a.scheduleRefresh(e,1e3*a.timeToLoad):a.loadSteeringManifest(e)},t)},e})();function n_(e,t,a,i){e&&Object.keys(t).forEach(function(o){var n=e.filter(function(e){return e.groupId===o}).map(function(e){var n=T({},e);return n.details=void 0,n.attrs=new F(n.attrs),n.url=n.attrs.URI=r_(e.url,e.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",a),n.groupId=n.attrs["GROUP-ID"]=t[o],n.attrs["PATHWAY-ID"]=i,n});e.push.apply(e,n)})}function r_(e,t,a,i){var o,n=i.HOST,r=i.PARAMS,E=i[a];t&&(o=null==E?void 0:E[t])&&(e=o);var _=new self.URL(e);return n&&!o&&(_.host=n),r&&Object.keys(r).sort().forEach(function(e){e&&_.searchParams.set(e,r[e])}),_.href}var E_=/^age:\s*[\d.]+\s*$/im,__=(function(){function e(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new Y,this.retryDelay=0}var t=e.prototype;return t.destroy=function(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null,this.stats=null},t.abortInternal=function(){var e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,4!==e.readyState&&(this.stats.aborted=!0,e.abort()))},t.abort=function(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)},t.load=function(e,t,a){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=a,this.loadInternal()},t.loadInternal=function(){var e=this,t=this.config,a=this.context;if(t&&a){var i=this.loader=new self.XMLHttpRequest,o=this.stats;o.loading.first=0,o.loaded=0,o.aborted=!1;var n=this.xhrSetup;n?Promise.resolve().then(function(){if(!e.stats.aborted)return n(i,a.url)}).catch(function(e){return i.open("GET",a.url,!0),n(i,a.url)}).then(function(){e.stats.aborted||e.openAndSendXhr(i,a,t)}).catch(function(t){e.callbacks.onError({code:i.status,text:t.message},a,i,o)}):this.openAndSendXhr(i,a,t)}},t.openAndSendXhr=function(e,t,a){e.readyState||e.open("GET",t.url,!0);var i=t.headers,o=a.loadPolicy,n=o.maxTimeToFirstByteMs,r=o.maxLoadTimeMs;if(i)for(var E in i)e.setRequestHeader(E,i[E]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),a.timeout=n&&p(n)?n:r,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),a.timeout),e.send()},t.readystatechange=function(){var e=this.context,t=this.loader,a=this.stats;if(e&&t){var i=t.readyState,o=this.config;if(!a.aborted&&i>=2&&(0===a.loading.first&&(a.loading.first=Math.max(self.performance.now(),a.loading.start),o.timeout!==o.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),o.timeout=o.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),o.loadPolicy.maxLoadTimeMs-(a.loading.first-a.loading.start)))),4===i)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;var n=t.status,r="text"!==t.responseType;if(n>=200&&n<300&&(r&&t.response||null!==t.responseText)){a.loading.end=Math.max(self.performance.now(),a.loading.first);var E=r?t.response:t.responseText,_="arraybuffer"===t.responseType?E.byteLength:E.length;if(a.loaded=a.total=_,a.bwEstimate=8e3*a.total/(a.loading.end-a.loading.first),!this.callbacks)return;var T=this.callbacks.onProgress;if(T&&T(a,e,E,t),!this.callbacks)return;var s={url:t.responseURL,data:E,code:n};this.callbacks.onSuccess(s,a,e,t)}else{var S=o.loadPolicy.errorRetry;wa(S,a.retry,!1,{url:e.url,data:void 0,code:n})?this.retry(S):(b.error(n+" while loading "+e.url),this.callbacks.onError({code:n,text:t.statusText},e,t,a))}}}},t.loadtimeout=function(){var e,t=null==(e=this.config)?void 0:e.loadPolicy.timeoutRetry;if(wa(t,this.stats.retry,!0))this.retry(t);else{var a;b.warn("timeout while loading "+(null==(a=this.context)?void 0:a.url));var i=this.callbacks;i&&(this.abortInternal(),i.onTimeout(this.stats,this.context,this.loader))}},t.retry=function(e){var t=this.context,a=this.stats;this.retryDelay=Va(e,a.retry),a.retry++,b.warn((status?"HTTP Status "+status:"Timeout")+" while loading "+(null==t?void 0:t.url)+", retrying "+a.retry+"/"+e.maxNumRetry+" in "+this.retryDelay+"ms"),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)},t.loadprogress=function(e){var t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)},t.getCacheAge=function(){var e=null;if(this.loader&&E_.test(this.loader.getAllResponseHeaders())){var t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e},t.getResponseHeader=function(e){return this.loader&&new RegExp("^"+e+":\\s*[\\d.]+\\s*$","im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null},e})();function T_(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(e){}return!1}var s_=/(\d+)-(\d+)\/(\d+)/,S_=(function(){function e(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||u_,this.controller=new self.AbortController,this.stats=new Y}var t=e.prototype;return t.destroy=function(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null},t.abortInternal=function(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())},t.abort=function(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)},t.load=function(e,t,a){var i=this,o=this.stats;if(o.loading.start)throw new Error("Loader can only be used once.");o.loading.start=self.performance.now();var n=l_(e,this.controller.signal),r=a.onProgress,E="arraybuffer"===e.responseType,_=E?"byteLength":"length",T=t.loadPolicy,s=T.maxTimeToFirstByteMs,S=T.maxLoadTimeMs;this.context=e,this.config=t,this.callbacks=a,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=s&&p(s)?s:S,this.requestTimeout=self.setTimeout(function(){i.abortInternal(),a.onTimeout(o,e,i.response)},t.timeout),self.fetch(this.request).then(function(n){i.response=i.loader=n;var _=Math.max(self.performance.now(),o.loading.start);if(self.clearTimeout(i.requestTimeout),t.timeout=S,i.requestTimeout=self.setTimeout(function(){i.abortInternal(),a.onTimeout(o,e,i.response)},S-(_-o.loading.start)),!n.ok){var T=n.status,s=n.statusText;throw new O_(s||"fetch, bad network response",T,n)}return o.loading.first=_,o.total=A_(n.headers)||o.total,r&&p(t.highWaterMark)?i.loadProgressively(n,o,e,t.highWaterMark,r):E?n.arrayBuffer():"json"===e.responseType?n.json():n.text()}).then(function(n){var E=i.response;if(!E)throw new Error("loader destroyed");self.clearTimeout(i.requestTimeout),o.loading.end=Math.max(self.performance.now(),o.loading.first);var T=n[_];T&&(o.loaded=o.total=T);var s={url:E.url,data:n,code:E.status};r&&!p(t.highWaterMark)&&r(o,e,n,E),a.onSuccess(s,o,e,E)}).catch(function(t){if(self.clearTimeout(i.requestTimeout),!o.aborted){var n=t&&t.code||0,r=t?t.message:null;a.onError({code:n,text:r},e,t?t.details:null,o)}})},t.getCacheAge=function(){var e=null;if(this.response){var t=this.response.headers.get("age");e=t?parseFloat(t):null}return e},t.getResponseHeader=function(e){return this.response?this.response.headers.get(e):null},t.loadProgressively=function(e,t,a,i,o){void 0===i&&(i=0);var n=new qi,r=e.body.getReader();return(function E(){return r.read().then(function(r){if(r.done)return n.dataLength&&o(t,a,n.flush(),e),Promise.resolve(new ArrayBuffer(0));var _=r.value,T=_.length;return t.loaded+=T,T<i||n.dataLength?(n.push(_),n.dataLength>=i&&o(t,a,n.flush(),e)):o(t,a,_,e),E()}).catch(function(){return Promise.reject()})})()},e})();function l_(e,t){var a={method:"GET",mode:"cors",credentials:"same-origin",signal:t,headers:new self.Headers(T({},e.headers))};return e.rangeEnd&&a.headers.set("Range","bytes="+e.rangeStart+"-"+String(e.rangeEnd-1)),a}function I_(e){var t=s_.exec(e);if(t)return parseInt(t[2])-parseInt(t[1])+1}function A_(e){var t=e.get("Content-Range");if(t){var a=I_(t);if(p(a))return a}var i=e.get("Content-Length");if(i)return parseInt(i)}function u_(e,t){return new self.Request(e.url,t)}var d_,O_=(function(e){function t(t,a,i){var o;return(o=e.call(this,t)||this).code=void 0,o.details=void 0,o.code=a,o.details=i,o}return s(t,e),t})(d(Error)),c_=/\s/,N_={newCue:function(e,t,a,i){for(var o,n,r,E,_,T=[],s=self.VTTCue||self.TextTrackCue,S=0;S<i.rows.length;S++)if(r=!0,E=0,_="",!(o=i.rows[S]).isEmpty()){for(var l,I=0;I<o.chars.length;I++)c_.test(o.chars[I].uchar)&&r?E++:(_+=o.chars[I].uchar,r=!1);o.cueStartTime=t,t===a&&(a+=1e-4),E>=16?E--:E++;var A=Dr(_.trim()),u=Br(t,a,A);null!=e&&null!=(l=e.cues)&&l.getCueById(u)||((n=new s(t,a,A)).id=u,n.line=S+1,n.align="left",n.position=10+Math.min(80,10*Math.floor(8*E/32)),T.push(n))}return e&&T.length&&(T.sort(function(e,t){return"auto"===e.line||"auto"===t.line?0:e.line>8&&t.line>8?t.line-e.line:e.line-t.line}),T.forEach(function(t){return ta(e,t)})),T}},R_=i(i({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:6e7,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:__,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:Ni,bufferController:Kn,capLevelController:Jr,errorController:Ja,fpsController:Zr,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:se,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},m_()),{},{subtitleStreamController:Vn,subtitleTrackController:wn,timelineController:xr,audioStreamController:Gn,audioTrackController:kn,emeController:tE,cmcdController:a_,contentSteeringController:o_});function m_(){return{cueHandler:N_,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function L_(e,t){if((t.liveSyncDurationCount||t.liveMaxLatencyDurationCount)&&(t.liveSyncDuration||t.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(void 0!==t.liveMaxLatencyDurationCount&&(void 0===t.liveSyncDurationCount||t.liveMaxLatencyDurationCount<=t.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(void 0!==t.liveMaxLatencyDuration&&(void 0===t.liveSyncDuration||t.liveMaxLatencyDuration<=t.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');var a=D_(e),o=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach(function(e){var i=("level"===e?"playlist":e)+"LoadPolicy",n=void 0===t[i],r=[];o.forEach(function(o){var E=e+"Loading"+o,_=t[E];if(void 0!==_&&n){r.push(E);var T=a[i].default;switch(t[i]={default:T},o){case"TimeOut":T.maxLoadTimeMs=_,T.maxTimeToFirstByteMs=_;break;case"MaxRetry":T.errorRetry.maxNumRetry=_,T.timeoutRetry.maxNumRetry=_;break;case"RetryDelay":T.errorRetry.retryDelayMs=_,T.timeoutRetry.retryDelayMs=_;break;case"MaxRetryTimeout":T.errorRetry.maxRetryDelayMs=_,T.timeoutRetry.maxRetryDelayMs=_}}}),r.length&&b.warn('hls.js config: "'+r.join('", "')+'" setting(s) are deprecated, use "'+i+'": '+JSON.stringify(t[i]))}),i(i({},a),t)}function D_(e){return e&&"object"==typeof e?Array.isArray(e)?e.map(D_):Object.keys(e).reduce(function(t,a){return t[a]=D_(e[a]),t},{}):e}function p_(e){var t=e.loader;t!==S_&&t!==__?(b.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1):T_()&&(e.loader=S_,e.progressive=!0,e.enableSoftwareAES=!0,b.log("[config]: Progressive streaming enabled, using FetchLoader"))}var C_=(function(e){function t(t,a){var i;return(i=e.call(this,t,"[level-controller]")||this)._levels=[],i._firstLevel=-1,i._maxAutoLevel=-1,i._startLevel=void 0,i.currentLevel=null,i.currentLevelIndex=-1,i.manualLevelIndex=-1,i.steering=void 0,i.onParsedComplete=void 0,i.steering=a,i._registerListeners(),i}s(t,e);var a=t.prototype;return a._registerListeners=function(){var e=this.hls;e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this),e.on(f.ERROR,this.onError,this)},a._unregisterListeners=function(){var e=this.hls;e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this),e.off(f.ERROR,this.onError,this)},a.destroy=function(){this._unregisterListeners(),this.steering=null,this.resetLevels(),e.prototype.destroy.call(this)},a.stopLoad=function(){this._levels.forEach(function(e){e.loadError=0,e.fragmentError=0}),e.prototype.stopLoad.call(this)},a.resetLevels=function(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1},a.onManifestLoading=function(e,t){this.resetLevels()},a.onManifestLoaded=function(e,t){var a=this.hls.config.preferManagedMediaSource,i=[],o={},n={},r=!1,E=!1,_=!1;t.levels.forEach(function(e){var t,T,s=e.attrs,S=e.audioCodec,l=e.videoCodec;-1!==(null==(t=S)?void 0:t.indexOf("mp4a.40.34"))&&(d_||(d_=/chrome|firefox/i.test(navigator.userAgent)),d_&&(e.audioCodec=S=void 0)),S&&(e.audioCodec=S=Mt(S,a)),0===(null==(T=l)?void 0:T.indexOf("avc1"))&&(l=e.videoCodec=yt(l));var I=e.width,A=e.height,u=e.unknownCodecs;if(r||(r=!(!I||!A)),E||(E=!!l),_||(_=!!S),!(null!=u&&u.length||S&&!pt(S,"audio",a)||l&&!pt(l,"video",a))){var d=s.CODECS,O=s["FRAME-RATE"],c=s["HDCP-LEVEL"],N=s["PATHWAY-ID"],R=s.RESOLUTION,m=s["VIDEO-RANGE"],L=(N||".")+"-"+e.bitrate+"-"+R+"-"+O+"-"+d+"-"+m+"-"+c;if(o[L])if(o[L].uri===e.url||e.attrs["PATHWAY-ID"])o[L].addGroupId("audio",s.AUDIO),o[L].addGroupId("text",s.SUBTITLES);else{var D=n[L]+=1;e.attrs["PATHWAY-ID"]=new Array(D+1).join(".");var p=new Da(e);o[L]=p,i.push(p)}else{var C=new Da(e);o[L]=C,n[L]=1,i.push(C)}}}),this.filterAndSortMediaOptions(i,t,r,E,_)},a.filterAndSortMediaOptions=function(e,t,a,i,o){var n=this,r=[],E=[],_=e;if((a||i)&&o&&(_=_.filter(function(e){var t=e.videoCodec,a=e.videoRange,i=e.width,o=e.height;return(!!t||!(!i||!o))&&Na(a)})),0!==_.length){if(t.audioTracks){var T=this.hls.config.preferManagedMediaSource;h_(r=t.audioTracks.filter(function(e){return!e.audioCodec||pt(e.audioCodec,"audio",T)}))}t.subtitles&&h_(E=t.subtitles);var s=_.slice(0);_.sort(function(e,t){if(e.attrs["HDCP-LEVEL"]!==t.attrs["HDCP-LEVEL"])return(e.attrs["HDCP-LEVEL"]||"")>(t.attrs["HDCP-LEVEL"]||"")?1:-1;if(a&&e.height!==t.height)return e.height-t.height;if(e.frameRate!==t.frameRate)return e.frameRate-t.frameRate;if(e.videoRange!==t.videoRange)return ca.indexOf(e.videoRange)-ca.indexOf(t.videoRange);if(e.videoCodec!==t.videoCodec){var i=ft(e.videoCodec),o=ft(t.videoCodec);if(i!==o)return o-i}if(e.uri===t.uri&&e.codecSet!==t.codecSet){var n=Pt(e.codecSet),r=Pt(t.codecSet);if(n!==r)return r-n}return e.averageBitrate!==t.averageBitrate?e.averageBitrate-t.averageBitrate:0});var S=s[0];if(this.steering&&(_=this.steering.filterParsedLevels(_)).length!==s.length)for(var l=0;l<s.length;l++)if(s[l].pathwayId===_[0].pathwayId){S=s[l];break}this._levels=_;for(var I=0;I<_.length;I++)if(_[I]===S){var A;this._firstLevel=I;var u=S.bitrate,d=this.hls.bandwidthEstimate;if(this.log("manifest loaded, "+_.length+" level(s) found, first bitrate: "+u),void 0===(null==(A=this.hls.userConfig)?void 0:A.abrEwmaDefaultEstimate)){var O=Math.min(u,this.hls.config.abrEwmaDefaultEstimateMax);O>d&&d===R_.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=O)}break}var c=o&&!i,N={levels:_,audioTracks:r,subtitleTracks:E,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:o,video:i,altAudio:!c&&r.some(function(e){return!!e.url})};this.hls.trigger(f.MANIFEST_PARSED,N),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition)}else Promise.resolve().then(function(){if(n.hls){t.levels.length&&n.warn("One or more CODECS in variant not supported: "+JSON.stringify(t.levels[0].attrs));var e=new Error("no level with compatible codecs found in manifest");n.hls.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:e,reason:e.message})}})},a.onError=function(e,t){!t.fatal&&t.context&&t.context.type===Xt.LEVEL&&t.context.level===this.level&&this.checkRetry(t)},a.onFragBuffered=function(e,t){var a=t.frag;if(void 0!==a&&a.type===$t.MAIN){var i=a.elementaryStreams;if(!Object.keys(i).some(function(e){return!!i[e]}))return;var o=this._levels[a.level];null!=o&&o.loadError&&(this.log("Resetting level error count of "+o.loadError+" on frag buffered"),o.loadError=0)}},a.onLevelLoaded=function(e,t){var a,i,o=t.level,n=t.details,r=this._levels[o];if(!r)return this.warn("Invalid level index "+o),void(null!=(i=t.deliveryDirectives)&&i.skip&&(n.deltaUpdateFailed=!0));o===this.currentLevelIndex?(0===r.fragmentError&&(r.loadError=0),this.playlistLoaded(o,t,r.details)):null!=(a=t.deliveryDirectives)&&a.skip&&(n.deltaUpdateFailed=!0)},a.loadPlaylist=function(t){e.prototype.loadPlaylist.call(this);var a=this.currentLevelIndex,i=this.currentLevel;if(i&&this.shouldLoadPlaylist(i)){var o=i.uri;if(t)try{o=t.addDirectives(o)}catch(e){this.warn("Could not construct new URL with HLS Delivery Directives: "+e)}var n=i.attrs["PATHWAY-ID"];this.log("Loading level index "+a+(void 0!==(null==t?void 0:t.msn)?" at sn "+t.msn+" part "+t.part:"")+" with"+(n?" Pathway "+n:"")+" "+o),this.clearTimer(),this.hls.trigger(f.LEVEL_LOADING,{url:o,level:a,pathwayId:i.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}},a.removeLevel=function(e){var t,a=this,i=this._levels.filter(function(t,i){return i!==e||(a.steering&&a.steering.removeLevel(t),t===a.currentLevel&&(a.currentLevel=null,a.currentLevelIndex=-1,t.details&&t.details.fragments.forEach(function(e){return e.level=-1})),!1)});Ga(i),this._levels=i,this.currentLevelIndex>-1&&null!=(t=this.currentLevel)&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(f.LEVELS_UPDATED,{levels:i})},a.onLevelsUpdated=function(e,t){var a=t.levels;this._levels=a},a.checkMaxAutoUpdated=function(){var e=this.hls,t=e.autoLevelCapping,a=e.maxAutoLevel,i=e.maxHdcpLevel;this._maxAutoLevel!==a&&(this._maxAutoLevel=a,this.hls.trigger(f.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:t,levels:this.levels,maxAutoLevel:a,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:i}))},E(t,[{key:"levels",get:function(){return 0===this._levels.length?null:this._levels}},{key:"level",get:function(){return this.currentLevelIndex},set:function(e){var t=this._levels;if(0!==t.length){if(e<0||e>=t.length){var a=new Error("invalid level idx"),i=e<0;if(this.hls.trigger(f.ERROR,{type:P.OTHER_ERROR,details:B.LEVEL_SWITCH_ERROR,level:e,fatal:i,error:a,reason:a.message}),i)return;e=Math.min(e,t.length-1)}var o=this.currentLevelIndex,n=this.currentLevel,r=n?n.attrs["PATHWAY-ID"]:void 0,E=t[e],_=E.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=E,o!==e||!E.details||!n||r!==_){this.log("Switching to level "+e+" ("+(E.height?E.height+"p ":"")+(E.videoRange?E.videoRange+" ":"")+(E.codecSet?E.codecSet+" ":"")+"@"+E.bitrate+")"+(_?" with Pathway "+_:"")+" from level "+o+(r?" with Pathway "+r:""));var T={level:e,attrs:E.attrs,details:E.details,bitrate:E.bitrate,averageBitrate:E.averageBitrate,maxBitrate:E.maxBitrate,realBitrate:E.realBitrate,width:E.width,height:E.height,codecSet:E.codecSet,audioCodec:E.audioCodec,videoCodec:E.videoCodec,audioGroups:E.audioGroups,subtitleGroups:E.subtitleGroups,loaded:E.loaded,loadError:E.loadError,fragmentError:E.fragmentError,name:E.name,id:E.id,uri:E.uri,url:E.url,urlId:0,audioGroupIds:E.audioGroupIds,textGroupIds:E.textGroupIds};this.hls.trigger(f.LEVEL_SWITCHING,T);var s=E.details;if(!s||s.live){var S=this.switchParams(E.uri,null==n?void 0:n.details);this.loadPlaylist(S)}}}}},{key:"manualLevel",get:function(){return this.manualLevelIndex},set:function(e){this.manualLevelIndex=e,void 0===this._startLevel&&(this._startLevel=e),-1!==e&&(this.level=e)}},{key:"firstLevel",get:function(){return this._firstLevel},set:function(e){this._firstLevel=e}},{key:"startLevel",get:function(){if(void 0===this._startLevel){var e=this.hls.config.startLevel;return void 0!==e?e:this.hls.firstAutoLevel}return this._startLevel},set:function(e){this._startLevel=e}},{key:"nextLoadLevel",get:function(){return-1!==this.manualLevelIndex?this.manualLevelIndex:this.hls.nextAutoLevel},set:function(e){this.level=e,-1===this.manualLevelIndex&&(this.hls.nextAutoLevel=e)}}]),t})(Za);function h_(e){var t={};e.forEach(function(e){var a=e.groupId||"";e.id=t[a]=t[a]||0,t[a]++})}var f_=(function(){function e(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}var t=e.prototype;return t.abort=function(e){for(var t in this.keyUriToKeyInfo){var a=this.keyUriToKeyInfo[t].loader;if(a){var i;if(e&&e!==(null==(i=a.context)?void 0:i.frag.type))return;a.abort()}}},t.detach=function(){for(var e in this.keyUriToKeyInfo){var t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}},t.destroy=function(){for(var e in this.detach(),this.keyUriToKeyInfo){var t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}},t.createKeyLoadError=function(e,t,a,i,o){return void 0===t&&(t=B.KEY_LOAD_ERROR),new Hi({type:P.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:o,error:a,networkDetails:i})},t.loadClear=function(e,t){var a=this;if(this.emeController&&this.config.emeEnabled)for(var i=e.sn,o=e.cc,n=function(){var e=t[r];if(o<=e.cc&&("initSegment"===i||"initSegment"===e.sn||i<e.sn))return a.emeController.selectKeySystemFormat(e).then(function(t){e.setKeyFormat(t)}),1},r=0;r<t.length&&!n();r++);},t.load=function(e){var t=this;return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then(function(a){return t.loadInternal(e,a)}):this.loadInternal(e)},t.loadInternal=function(e,t){var a,i;t&&e.setKeyFormat(t);var o=e.decryptdata;if(!o){var n=new Error(t?"Expected frag.decryptdata to be defined after setting format "+t:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,B.KEY_LOAD_ERROR,n))}var r=o.uri;if(!r)return Promise.reject(this.createKeyLoadError(e,B.KEY_LOAD_ERROR,new Error('Invalid key URI: "'+r+'"')));var E,_=this.keyUriToKeyInfo[r];if(null!=(a=_)&&a.decryptdata.key)return o.key=_.decryptdata.key,Promise.resolve({frag:e,keyInfo:_});if(null!=(i=_)&&i.keyLoadPromise)switch(null==(E=_.mediaKeySessionContext)?void 0:E.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return _.keyLoadPromise.then(function(t){return o.key=t.keyInfo.decryptdata.key,{frag:e,keyInfo:_}})}switch(_=this.keyUriToKeyInfo[r]={decryptdata:o,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},o.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return"identity"===o.keyFormat?this.loadKeyHTTP(_,e):this.loadKeyEME(_,e);case"AES-128":return this.loadKeyHTTP(_,e);default:return Promise.reject(this.createKeyLoadError(e,B.KEY_LOAD_ERROR,new Error('Key supplied with unsupported METHOD: "'+o.method+'"')))}},t.loadKeyEME=function(e,t){var a={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){var i=this.emeController.loadKey(a);if(i)return(e.keyLoadPromise=i.then(function(t){return e.mediaKeySessionContext=t,a})).catch(function(t){throw e.keyLoadPromise=null,t})}return Promise.resolve(a)},t.loadKeyHTTP=function(e,t){var a=this,o=this.config,n=new(0,o.loader)(o);return t.keyLoader=e.loader=n,e.keyLoadPromise=new Promise(function(r,E){var _={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},T=o.keyLoadPolicy.default,s={loadPolicy:T,timeout:T.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},S={onSuccess:function(e,t,i,o){var n=i.frag,_=i.keyInfo,T=i.url;if(!n.decryptdata||_!==a.keyUriToKeyInfo[T])return E(a.createKeyLoadError(n,B.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),o));_.decryptdata.key=n.decryptdata.key=new Uint8Array(e.data),n.keyLoader=null,_.loader=null,r({frag:n,keyInfo:_})},onError:function(e,o,n,r){a.resetLoader(o),E(a.createKeyLoadError(t,B.KEY_LOAD_ERROR,new Error("HTTP Error "+e.code+" loading key "+e.text),n,i({url:_.url,data:void 0},e)))},onTimeout:function(e,i,o){a.resetLoader(i),E(a.createKeyLoadError(t,B.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),o))},onAbort:function(e,i,o){a.resetLoader(i),E(a.createKeyLoadError(t,B.INTERNAL_ABORTED,new Error("key loading aborted"),o))}};n.load(_,s,S)})},t.resetLoader=function(e){var t=e.frag,a=e.keyInfo,i=e.url,o=a.loader;t.keyLoader===o&&(t.keyLoader=null,a.loader=null),delete this.keyUriToKeyInfo[i],o&&o.destroy()},e})();function P_(){return self.SourceBuffer||self.WebKitSourceBuffer}function B_(){if(!mt())return!1;var e=P_();return!e||e.prototype&&"function"==typeof e.prototype.appendBuffer&&"function"==typeof e.prototype.remove}function g_(){if(!B_())return!1;var e=mt();return"function"==typeof(null==e?void 0:e.isTypeSupported)&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(function(t){return e.isTypeSupported(ht(t,"video"))})||["mp4a.40.2","fLaC"].some(function(t){return e.isTypeSupported(ht(t,"audio"))}))}function v_(){var e,t=P_();return"function"==typeof(null==t||null==(e=t.prototype)?void 0:e.changeType)}var M_=250,W_=2,y_=.1,U_=.05,b_=(function(){function e(e,t,a,i){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=a,this.hls=i}var t=e.prototype;return t.destroy=function(){this.media=null,this.hls=this.fragmentTracker=null},t.poll=function(e,t){var a=this.config,i=this.media,o=this.stalled;if(null!==i){var n=i.currentTime,r=i.seeking,E=this.seeking&&!r,_=!this.seeking&&r;if(this.seeking=r,n===e)if(_||E)this.stalled=null;else if(i.paused&&!r||i.ended||0===i.playbackRate||!hi.getBuffered(i).length)this.nudgeRetry=0;else{var T=hi.bufferInfo(i,n,0),s=T.nextStart||0;if(r){var S=T.len>W_,l=!s||t&&t.start<=n||s-n>W_&&!this.fragmentTracker.getPartialFragment(n);if(S||l)return;this.moved=!1}if(!this.moved&&null!==this.stalled){var I;if(!(T.len>0||s))return;var A=Math.max(s,T.start||0)-n,u=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,d=(null==u||null==(I=u.details)?void 0:I.live)?2*u.details.targetduration:W_,O=this.fragmentTracker.getPartialFragment(n);if(A>0&&(A<=d||O))return void(i.paused||this._trySkipBufferHole(O))}var c=self.performance.now();if(null!==o){var N=c-o;if(r||!(N>=M_)||(this._reportStall(T),this.media)){var R=hi.bufferInfo(i,n,a.maxBufferHole);this._tryFixBufferStall(R,N)}}else this.stalled=c}else if(this.moved=!0,r||(this.nudgeRetry=0),null!==o){if(this.stallReported){var m=self.performance.now()-o;b.warn("playback not stuck anymore @"+n+", after "+Math.round(m)+"ms"),this.stallReported=!1}this.stalled=null}}},t._tryFixBufferStall=function(e,t){var a=this.config,i=this.fragmentTracker,o=this.media;if(null!==o){var n=o.currentTime,r=i.getPartialFragment(n);if(r&&(this._trySkipBufferHole(r)||!this.media))return;(e.len>a.maxBufferHole||e.nextStart&&e.nextStart-n<a.maxBufferHole)&&t>1e3*a.highBufferWatchdogPeriod&&(b.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer())}},t._reportStall=function(e){var t=this.hls,a=this.media;if(!this.stallReported&&a){this.stallReported=!0;var i=new Error("Playback stalling at @"+a.currentTime+" due to low buffer ("+JSON.stringify(e)+")");b.warn(i.message),t.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.BUFFER_STALLED_ERROR,fatal:!1,error:i,buffer:e.len})}},t._trySkipBufferHole=function(e){var t=this.config,a=this.hls,i=this.media;if(null===i)return 0;var o=i.currentTime,n=hi.bufferInfo(i,o,0),r=o<n.start?n.start:n.nextStart;if(r){var E=n.len<=t.maxBufferHole,_=n.len>0&&n.len<1&&i.readyState<3,T=r-o;if(T>0&&(E||_)){if(T>t.maxBufferHole){var s=this.fragmentTracker,S=!1;if(0===o){var l=s.getAppendedFrag(0,$t.MAIN);l&&r<l.end&&(S=!0)}if(!S){var I=e||s.getAppendedFrag(o,$t.MAIN);if(I){for(var A=!1,u=I.end;u<r;){var d=s.getPartialFragment(u);if(!d){A=!0;break}u+=d.duration}if(A)return 0}}}var O=Math.max(r+U_,o+y_);if(b.warn("skipping hole, adjusting currentTime from "+o+" to "+O),this.moved=!0,this.stalled=null,i.currentTime=O,e&&!e.gap){var c=new Error("fragment loaded with buffer holes, seeking from "+o+" to "+O);a.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:c,reason:c.message,frag:e})}return O}}return 0},t._tryNudgeBuffer=function(){var e=this.config,t=this.hls,a=this.media,i=this.nudgeRetry;if(null!==a){var o=a.currentTime;if(this.nudgeRetry++,i<e.nudgeMaxRetry){var n=o+(i+1)*e.nudgeOffset,r=new Error("Nudging 'currentTime' from "+o+" to "+n);b.warn(r.message),a.currentTime=n,t.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.BUFFER_NUDGE_ON_STALL,error:r,fatal:!1})}else{var E=new Error("Playhead still not moving while enough data buffered @"+o+" after "+e.nudgeMaxRetry+" nudges");b.error(E.message),t.trigger(f.ERROR,{type:P.MEDIA_ERROR,details:B.BUFFER_STALLED_ERROR,error:E,fatal:!0})}}},e})(),G_=100,k_=(function(e){function t(t,a,i){var o;return(o=e.call(this,t,a,i,"[stream-controller]",$t.MAIN)||this).audioCodecSwap=!1,o.gapController=null,o.level=-1,o._forceStartLoad=!1,o.altAudio=!1,o.audioOnly=!1,o.fragPlaying=null,o.onvplaying=null,o.onvseeked=null,o.fragLastKbps=0,o.couldBacktrack=!1,o.backtrackFragment=null,o.audioCodecSwitch=!1,o.videoBuffer=null,o._registerListeners(),o}s(t,e);var a=t.prototype;return a._registerListeners=function(){var e=this.hls;e.on(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(f.MANIFEST_LOADING,this.onManifestLoading,this),e.on(f.MANIFEST_PARSED,this.onManifestParsed,this),e.on(f.LEVEL_LOADING,this.onLevelLoading,this),e.on(f.LEVEL_LOADED,this.onLevelLoaded,this),e.on(f.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(f.ERROR,this.onError,this),e.on(f.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(f.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(f.BUFFER_CREATED,this.onBufferCreated,this),e.on(f.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(f.FRAG_BUFFERED,this.onFragBuffered,this)},a._unregisterListeners=function(){var e=this.hls;e.off(f.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(f.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(f.MANIFEST_LOADING,this.onManifestLoading,this),e.off(f.MANIFEST_PARSED,this.onManifestParsed,this),e.off(f.LEVEL_LOADED,this.onLevelLoaded,this),e.off(f.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(f.ERROR,this.onError,this),e.off(f.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(f.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(f.BUFFER_CREATED,this.onBufferCreated,this),e.off(f.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(f.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(f.FRAG_BUFFERED,this.onFragBuffered,this)},a.onHandlerDestroying=function(){this._unregisterListeners(),e.prototype.onHandlerDestroying.call(this)},a.startLoad=function(e){if(this.levels){var t=this.lastCurrentTime,a=this.hls;if(this.stopLoad(),this.setInterval(G_),this.level=-1,!this.startFragRequested){var i=a.startLevel;-1===i&&(a.config.testBandwidth&&this.levels.length>1?(i=0,this.bitrateTest=!0):i=a.firstAutoLevel),a.nextLoadLevel=i,this.level=a.loadLevel,this.loadedmetadata=!1}t>0&&-1===e&&(this.log("Override startPosition with lastCurrentTime @"+t.toFixed(3)),e=t),this.state=Xi.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick()}else this._forceStartLoad=!0,this.state=Xi.STOPPED},a.stopLoad=function(){this._forceStartLoad=!1,e.prototype.stopLoad.call(this)},a.doTick=function(){switch(this.state){case Xi.WAITING_LEVEL:var e=this.levels,t=this.level,a=null==e?void 0:e[t],i=null==a?void 0:a.details;if(i&&(!i.live||this.levelLastLoaded===a)){if(this.waitForCdnTuneIn(i))break;this.state=Xi.IDLE;break}if(this.hls.nextLoadLevel!==this.level){this.state=Xi.IDLE;break}break;case Xi.FRAG_LOADING_WAITING_RETRY:var o,n=self.performance.now(),r=this.retryDate;if(!r||n>=r||null!=(o=this.media)&&o.seeking){var E=this.levels,_=this.level,T=null==E?void 0:E[_];this.resetStartWhenNotLoaded(T||null),this.state=Xi.IDLE}}this.state===Xi.IDLE&&this.doTickIdle(),this.onTickEnd()},a.onTickEnd=function(){e.prototype.onTickEnd.call(this),this.checkBuffer(),this.checkFragmentChanged()},a.doTickIdle=function(){var e=this.hls,t=this.levelLastLoaded,a=this.levels,i=this.media,o=e.config,n=e.nextLoadLevel;if(null!==t&&(i||!this.startFragRequested&&o.startFragPrefetch)&&(!this.altAudio||!this.audioOnly)&&null!=a&&a[n]){var r=a[n],E=this.getMainFwdBufferInfo();if(null!==E){var _=this.getLevelDetails();if(_&&this._streamEnded(E,_)){var T={};return this.altAudio&&(T.type="video"),this.hls.trigger(f.BUFFER_EOS,T),void(this.state=Xi.ENDED)}e.loadLevel!==n&&-1===e.manualLevel&&this.log("Adapting to level "+n+" from level "+this.level),this.level=e.nextLoadLevel=n;var s=r.details;if(!s||this.state===Xi.WAITING_LEVEL||s.live&&this.levelLastLoaded!==r)return this.level=n,void(this.state=Xi.WAITING_LEVEL);var S=E.len,l=this.getMaxBufferLength(r.maxBitrate);if(!(S>=l)){this.backtrackFragment&&this.backtrackFragment.start>E.end&&(this.backtrackFragment=null);var I=this.backtrackFragment?this.backtrackFragment.start:E.end,A=this.getNextFragment(I,s);if(this.couldBacktrack&&!this.fragPrevious&&A&&"initSegment"!==A.sn&&this.fragmentTracker.getState(A)!==mi.OK){var u,d=(null!=(u=this.backtrackFragment)?u:A).sn-s.startSN,O=s.fragments[d-1];O&&A.cc===O.cc&&(A=O,this.fragmentTracker.removeFragment(O))}else this.backtrackFragment&&E.len&&(this.backtrackFragment=null);if(A&&this.isLoopLoading(A,I)){if(!A.gap){var c=this.audioOnly&&!this.altAudio?z.AUDIO:z.VIDEO,N=(c===z.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;N&&this.afterBufferFlushed(N,c,$t.MAIN)}A=this.getNextFragmentLoopLoading(A,s,E,$t.MAIN,l)}A&&(!A.initSegment||A.initSegment.data||this.bitrateTest||(A=A.initSegment),this.loadFragment(A,r,I))}}}},a.loadFragment=function(t,a,i){var o=this.fragmentTracker.getState(t);this.fragCurrent=t,o===mi.NOT_LOADED||o===mi.PARTIAL?"initSegment"===t.sn?this._loadInitSegment(t,a):this.bitrateTest?(this.log("Fragment "+t.sn+" of level "+t.level+" is being downloaded to test bitrate and will not be buffered"),this._loadBitrateTestFrag(t,a)):(this.startFragRequested=!0,e.prototype.loadFragment.call(this,t,a,i)):this.clearTrackerIfNeeded(t)},a.getBufferedFrag=function(e){return this.fragmentTracker.getBufferedFrag(e,$t.MAIN)},a.followingBufferedFrag=function(e){return e?this.getBufferedFrag(e.end+.5):null},a.immediateLevelSwitch=function(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)},a.nextLevelSwitch=function(){var e=this.levels,t=this.media;if(null!=t&&t.readyState){var a,i=this.getAppendedFrag(t.currentTime);i&&i.start>1&&this.flushMainBuffer(0,i.start-1);var o=this.getLevelDetails();if(null!=o&&o.live){var n=this.getMainFwdBufferInfo();if(!n||n.len<2*o.targetduration)return}if(!t.paused&&e){var r=e[this.hls.nextLoadLevel],E=this.fragLastKbps;a=E&&this.fragCurrent?this.fragCurrent.duration*r.maxBitrate/(1e3*E)+1:0}else a=0;var _=this.getBufferedFrag(t.currentTime+a);if(_){var T=this.followingBufferedFrag(_);if(T){this.abortCurrentFrag();var s=T.maxStartPTS?T.maxStartPTS:T.start,S=T.duration,l=Math.max(_.end,s+Math.min(Math.max(S-this.config.maxFragLookUpTolerance,S*(this.couldBacktrack?.5:.125)),S*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(l,Number.POSITIVE_INFINITY)}}}},a.abortCurrentFrag=function(){var e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case Xi.KEY_LOADING:case Xi.FRAG_LOADING:case Xi.FRAG_LOADING_WAITING_RETRY:case Xi.PARSING:case Xi.PARSED:this.state=Xi.IDLE}this.nextLoadPosition=this.getLoadPosition()},a.flushMainBuffer=function(t,a){e.prototype.flushMainBuffer.call(this,t,a,this.altAudio?"video":null)},a.onMediaAttached=function(t,a){e.prototype.onMediaAttached.call(this,t,a);var i=a.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),i.addEventListener("playing",this.onvplaying),i.addEventListener("seeked",this.onvseeked),this.gapController=new b_(this.config,i,this.fragmentTracker,this.hls)},a.onMediaDetaching=function(){var t=this.media;t&&this.onvplaying&&this.onvseeked&&(t.removeEventListener("playing",this.onvplaying),t.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),e.prototype.onMediaDetaching.call(this)},a.onMediaPlaying=function(){this.tick()},a.onMediaSeeked=function(){var e=this.media,t=e?e.currentTime:null;p(t)&&this.log("Media seeked to "+t.toFixed(3));var a=this.getMainFwdBufferInfo();null!==a&&0!==a.len?this.tick():this.warn('Main forward buffer length on "seeked" event '+(a?a.len:"empty")+")")},a.onManifestLoading=function(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(f.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1},a.onManifestParsed=function(e,t){var a=!1,i=!1;t.levels.forEach(function(e){var t=e.audioCodec;t&&(a=a||-1!==t.indexOf("mp4a.40.2"),i=i||-1!==t.indexOf("mp4a.40.5"))}),this.audioCodecSwitch=a&&i&&!v_(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1},a.onLevelLoading=function(e,t){var a=this.levels;if(a&&this.state===Xi.IDLE){var i=a[t.level];(!i.details||i.details.live&&this.levelLastLoaded!==i||this.waitForCdnTuneIn(i.details))&&(this.state=Xi.WAITING_LEVEL)}},a.onLevelLoaded=function(e,t){var a,i=this.levels,o=t.level,n=t.details,r=n.totalduration;if(i){this.log("Level "+o+" loaded ["+n.startSN+","+n.endSN+"]"+(n.lastPartSn?"[part-"+n.lastPartSn+"-"+n.lastPartIndex+"]":"")+", cc ["+n.startCC+", "+n.endCC+"] duration:"+r);var E=i[o],_=this.fragCurrent;!_||this.state!==Xi.FRAG_LOADING&&this.state!==Xi.FRAG_LOADING_WAITING_RETRY||_.level!==t.level&&_.loader&&this.abortCurrentFrag();var T=0;if(n.live||null!=(a=E.details)&&a.live){var s;if(this.checkLiveUpdate(n),n.deltaUpdateFailed)return;T=this.alignPlaylists(n,E.details,null==(s=this.levelLastLoaded)?void 0:s.details)}if(E.details=n,this.levelLastLoaded=E,this.hls.trigger(f.LEVEL_UPDATED,{details:n,level:o}),this.state===Xi.WAITING_LEVEL){if(this.waitForCdnTuneIn(n))return;this.state=Xi.IDLE}this.startFragRequested?n.live&&this.synchronizeToLiveEdge(n):this.setStartPosition(n,T),this.tick()}else this.warn("Levels were reset while loading level "+o)},a._handleFragmentLoadProgress=function(e){var t,a=e.frag,i=e.part,o=e.payload,n=this.levels;if(n){var r=n[a.level],E=r.details;if(!E)return this.warn("Dropping fragment "+a.sn+" of level "+a.level+" after level details were reset"),void this.fragmentTracker.removeFragment(a);var _=r.videoCodec,T=E.PTSKnown||!E.live,s=null==(t=a.initSegment)?void 0:t.data,S=this._getAudioCodec(r),l=this.transmuxer=this.transmuxer||new Mn(this.hls,$t.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),I=i?i.index:-1,A=-1!==I,u=new fi(a.level,a.sn,a.stats.chunkCount,o.byteLength,I,A),d=this.initPTS[a.cc];l.push(o,s,S,_,a,i,E.totalduration,T,u,d)}else this.warn("Levels were reset while fragment load was in progress. Fragment "+a.sn+" of level "+a.level+" will not be buffered")},a.onAudioTrackSwitching=function(e,t){var a=this.altAudio;if(!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;var i=this.fragCurrent;i&&(this.log("Switching to main audio track, cancel main fragment load"),i.abortRequests(),this.fragmentTracker.removeFragment(i)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();var o=this.hls;a&&(o.trigger(f.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),o.trigger(f.AUDIO_TRACK_SWITCHED,t)}},a.onAudioTrackSwitched=function(e,t){var a=t.id,i=!!this.hls.audioTracks[a].url;if(i){var o=this.videoBuffer;o&&this.mediaBuffer!==o&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=o)}this.altAudio=i,this.tick()},a.onBufferCreated=function(e,t){var a,i,o=t.tracks,n=!1;for(var r in o){var E=o[r];if("main"===E.id){if(i=r,a=E,"video"===r){var _=o[r];_&&(this.videoBuffer=_.buffer)}}else n=!0}n&&a?(this.log("Alternate track found, use "+i+".buffered to schedule main fragment loading"),this.mediaBuffer=a.buffer):this.mediaBuffer=this.media},a.onFragBuffered=function(e,t){var a=t.frag,i=t.part;if(!a||a.type===$t.MAIN){if(this.fragContextChanged(a))return this.warn("Fragment "+a.sn+(i?" p: "+i.index:"")+" of level "+a.level+" finished buffering, but was aborted. state: "+this.state),void(this.state===Xi.PARSED&&(this.state=Xi.IDLE));var o=i?i.stats:a.stats;this.fragLastKbps=Math.round(8*o.total/(o.buffering.end-o.loading.first)),"initSegment"!==a.sn&&(this.fragPrevious=a),this.fragBufferedComplete(a,i)}},a.onError=function(e,t){var a;if(t.fatal)this.state=Xi.ERROR;else switch(t.details){case B.FRAG_GAP:case B.FRAG_PARSING_ERROR:case B.FRAG_DECRYPT_ERROR:case B.FRAG_LOAD_ERROR:case B.FRAG_LOAD_TIMEOUT:case B.KEY_LOAD_ERROR:case B.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError($t.MAIN,t);break;case B.LEVEL_LOAD_ERROR:case B.LEVEL_LOAD_TIMEOUT:case B.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==Xi.WAITING_LEVEL||(null==(a=t.context)?void 0:a.type)!==Xt.LEVEL||(this.state=Xi.IDLE);break;case B.BUFFER_APPEND_ERROR:case B.BUFFER_FULL_ERROR:if(!t.parent||"main"!==t.parent)return;if(t.details===B.BUFFER_APPEND_ERROR)return void this.resetLoadingState();this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case B.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}},a.checkBuffer=function(){var e=this.media,t=this.gapController;if(e&&t&&e.readyState){if(this.loadedmetadata||!hi.getBuffered(e).length){var a=this.state!==Xi.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,a)}this.lastCurrentTime=e.currentTime}},a.onFragLoadEmergencyAborted=function(){this.state=Xi.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate()},a.onBufferFlushed=function(e,t){var a=t.type;if(a!==z.AUDIO||this.audioOnly&&!this.altAudio){var i=(a===z.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(i,a,$t.MAIN),this.tick()}},a.onLevelsUpdated=function(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=t.levels},a.swapAudioCodec=function(){this.audioCodecSwap=!this.audioCodecSwap},a.seekToStartPos=function(){var e=this.media;if(e){var t=e.currentTime,a=this.startPosition;if(a>=0&&t<a){if(e.seeking)return void this.log("could not seek to "+a+", already seeking at "+t);var i=hi.getBuffered(e),o=(i.length?i.start(0):0)-a;o>0&&(o<this.config.maxBufferHole||o<this.config.maxFragLookUpTolerance)&&(this.log("adjusting start position by "+o+" to match buffer start"),a+=o,this.startPosition=a),this.log("seek to target start position "+a+" from current time "+t),e.currentTime=a}}},a._getAudioCodec=function(e){var t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t=-1!==t.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5"),t},a._loadBitrateTestFrag=function(e,t){var a=this;e.bitrateTest=!0,this._doFragLoad(e,t).then(function(i){var o=a.hls;if(i&&!a.fragContextChanged(e)){t.fragmentError=0,a.state=Xi.IDLE,a.startFragRequested=!1,a.bitrateTest=!1;var n=e.stats;n.parsing.start=n.parsing.end=n.buffering.start=n.buffering.end=self.performance.now(),o.trigger(f.FRAG_LOADED,i),e.bitrateTest=!1}})},a._handleTransmuxComplete=function(e){var t,a="main",i=this.hls,o=e.remuxResult,n=e.chunkMeta,r=this.getCurrentContext(n);if(r){var E=r.frag,_=r.part,T=r.level,s=o.video,S=o.text,l=o.id3,I=o.initSegment,A=T.details,u=this.altAudio?void 0:o.audio;if(this.fragContextChanged(E))this.fragmentTracker.removeFragment(E);else{if(this.state=Xi.PARSING,I){if(null!=I&&I.tracks){var d=E.initSegment||E;this._bufferInitSegment(T,I.tracks,d,n),i.trigger(f.FRAG_PARSING_INIT_SEGMENT,{frag:d,id:a,tracks:I.tracks})}var O=I.initPTS,c=I.timescale;p(O)&&(this.initPTS[E.cc]={baseTime:O,timescale:c},i.trigger(f.INIT_PTS_FOUND,{frag:E,id:a,initPTS:O,timescale:c}))}if(s&&A&&"initSegment"!==E.sn){var N=A.fragments[E.sn-1-A.startSN],R=E.sn===A.startSN,m=!N||E.cc>N.cc;if(!1!==o.independent){var L=s.startPTS,D=s.endPTS,C=s.startDTS,h=s.endDTS;if(_)_.elementaryStreams[s.type]={startPTS:L,endPTS:D,startDTS:C,endDTS:h};else if(s.firstKeyFrame&&s.independent&&1===n.id&&!m&&(this.couldBacktrack=!0),s.dropped&&s.independent){var P=this.getMainFwdBufferInfo(),B=(P?P.end:this.getLoadPosition())+this.config.maxBufferHole,g=s.firstKeyFramePTS?s.firstKeyFramePTS:L;if(!R&&B<g-this.config.maxBufferHole&&!m)return void this.backtrack(E);m&&(E.gap=!0),E.setElementaryStreamInfo(s.type,E.start,D,E.start,h,!0)}else R&&L>W_&&(E.gap=!0);E.setElementaryStreamInfo(s.type,L,D,C,h),this.backtrackFragment&&(this.backtrackFragment=E),this.bufferFragmentData(s,E,_,n,R||m)}else{if(!R&&!m)return void this.backtrack(E);E.gap=!0}}if(u){var v=u.startPTS,M=u.endPTS,W=u.startDTS,y=u.endDTS;_&&(_.elementaryStreams[z.AUDIO]={startPTS:v,endPTS:M,startDTS:W,endDTS:y}),E.setElementaryStreamInfo(z.AUDIO,v,M,W,y),this.bufferFragmentData(u,E,_,n)}if(A&&null!=l&&null!=(t=l.samples)&&t.length){var U={id:a,frag:E,details:A,samples:l.samples};i.trigger(f.FRAG_PARSING_METADATA,U)}if(A&&S){var b={id:a,frag:E,details:A,samples:S.samples};i.trigger(f.FRAG_PARSING_USERDATA,b)}}}else this.resetWhenMissingContext(n)},a._bufferInitSegment=function(e,t,a,i){var o=this;if(this.state===Xi.PARSING){this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;var n=t.audio,r=t.video,E=t.audiovideo;if(n){var _=e.audioCodec,T=navigator.userAgent.toLowerCase();this.audioCodecSwitch&&(_&&(_=-1!==_.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5"),1!==n.metadata.channelCount&&-1===T.indexOf("firefox")&&(_="mp4a.40.5")),_&&-1!==_.indexOf("mp4a.40.5")&&-1!==T.indexOf("android")&&"audio/mpeg"!==n.container&&(_="mp4a.40.2",this.log("Android: force audio codec to "+_)),e.audioCodec&&e.audioCodec!==_&&this.log('Swapping manifest audio codec "'+e.audioCodec+'" for "'+_+'"'),n.levelCodec=_,n.id="main",this.log("Init audio buffer, container:"+n.container+", codecs[selected/level/parsed]=["+(_||"")+"/"+(e.audioCodec||"")+"/"+n.codec+"]")}r&&(r.levelCodec=e.videoCodec,r.id="main",this.log("Init video buffer, container:"+r.container+", codecs[level/parsed]=["+(e.videoCodec||"")+"/"+r.codec+"]")),E&&this.log("Init audiovideo buffer, container:"+E.container+", codecs[level/parsed]=["+e.codecs+"/"+E.codec+"]"),this.hls.trigger(f.BUFFER_CODECS,t),Object.keys(t).forEach(function(e){var n=t[e].initSegment;null!=n&&n.byteLength&&o.hls.trigger(f.BUFFER_APPENDING,{type:e,data:n,frag:a,part:null,chunkMeta:i,parent:a.type})}),this.tickImmediate()}},a.getMainFwdBufferInfo=function(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,$t.MAIN)},a.backtrack=function(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=Xi.IDLE},a.checkFragmentChanged=function(){var e=this.media,t=null;if(e&&e.readyState>1&&!1===e.seeking){var a=e.currentTime;if(hi.isBuffered(e,a)?t=this.getAppendedFrag(a):hi.isBuffered(e,a+.1)&&(t=this.getAppendedFrag(a+.1)),t){this.backtrackFragment=null;var i=this.fragPlaying,o=t.level;i&&t.sn===i.sn&&i.level===o||(this.fragPlaying=t,this.hls.trigger(f.FRAG_CHANGED,{frag:t}),i&&i.level===o||this.hls.trigger(f.LEVEL_SWITCHED,{level:o}))}}},E(t,[{key:"nextLevel",get:function(){var e=this.nextBufferedFrag;return e?e.level:-1}},{key:"currentFrag",get:function(){var e=this.media;return e?this.fragPlaying||this.getAppendedFrag(e.currentTime):null}},{key:"currentProgramDateTime",get:function(){var e=this.media;if(e){var t=e.currentTime,a=this.currentFrag;if(a&&p(t)&&p(a.programDateTime)){var i=a.programDateTime+1e3*(t-a.start);return new Date(i)}}return null}},{key:"currentLevel",get:function(){var e=this.currentFrag;return e?e.level:-1}},{key:"nextBufferedFrag",get:function(){var e=this.currentFrag;return e?this.followingBufferedFrag(e):null}},{key:"forceStartLoad",get:function(){return this._forceStartLoad}}]),t})($i),F_=(function(){function e(t){void 0===t&&(t={}),this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new Dn,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,U(t.debug||!1,"Hls instance");var a=this.config=L_(e.DefaultConfig,t);this.userConfig=t,a.progressive&&p_(a);var i=a.abrController,o=a.bufferController,n=a.capLevelController,r=a.errorController,E=a.fpsController,_=new r(this),T=this.abrController=new i(this),s=this.bufferController=new o(this),S=this.capLevelController=new n(this),l=new E(this),I=new Zt(this),A=new Aa(this),u=a.contentSteeringController,d=u?new u(this):null,O=this.levelController=new C_(this,d),c=new Li(this),N=new f_(this.config),R=this.streamController=new k_(this,c,N);S.setStreamController(R),l.setStreamController(R);var m=[I,O,R];d&&m.splice(1,0,d),this.networkControllers=m;var L=[T,s,S,l,A,c];this.audioTrackController=this.createController(a.audioTrackController,m);var D=a.audioStreamController;D&&m.push(new D(this,c,N)),this.subtitleTrackController=this.createController(a.subtitleTrackController,m);var p=a.subtitleStreamController;p&&m.push(new p(this,c,N)),this.createController(a.timelineController,L),N.emeController=this.emeController=this.createController(a.emeController,L),this.cmcdController=this.createController(a.cmcdController,L),this.latencyController=this.createController(ua,L),this.coreComponents=L,m.push(_);var C=_.onErrorOut;"function"==typeof C&&this.on(f.ERROR,C,_)}e.isMSESupported=function(){return B_()},e.isSupported=function(){return g_()},e.getMediaSource=function(){return mt()};var t=e.prototype;return t.createController=function(e,t){if(e){var a=new e(this);return t&&t.push(a),a}return null},t.on=function(e,t,a){void 0===a&&(a=this),this._emitter.on(e,t,a)},t.once=function(e,t,a){void 0===a&&(a=this),this._emitter.once(e,t,a)},t.removeAllListeners=function(e){this._emitter.removeAllListeners(e)},t.off=function(e,t,a,i){void 0===a&&(a=this),this._emitter.off(e,t,a,i)},t.listeners=function(e){return this._emitter.listeners(e)},t.emit=function(e,t,a){return this._emitter.emit(e,t,a)},t.trigger=function(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(t){if(b.error("An internal error happened while handling event "+e+'. Error message: "'+t.message+'". Here is a stacktrace:',t),!this.triggeringException){this.triggeringException=!0;var a=e===f.ERROR;this.trigger(f.ERROR,{type:P.OTHER_ERROR,details:B.INTERNAL_EXCEPTION,fatal:a,event:e,error:t}),this.triggeringException=!1}}return!1},t.listenerCount=function(e){return this._emitter.listenerCount(e)},t.destroy=function(){b.log("destroy"),this.trigger(f.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach(function(e){return e.destroy()}),this.networkControllers.length=0,this.coreComponents.forEach(function(e){return e.destroy()}),this.coreComponents.length=0;var e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null},t.attachMedia=function(e){b.log("attachMedia"),this._media=e,this.trigger(f.MEDIA_ATTACHING,{media:e})},t.detachMedia=function(){b.log("detachMedia"),this.trigger(f.MEDIA_DETACHING,void 0),this._media=null},t.loadSource=function(e){this.stopLoad();var t=this.media,a=this.url,i=this.url=D.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,b.log("loadSource:"+i),t&&a&&(a!==i||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(f.MANIFEST_LOADING,{url:e})},t.startLoad=function(e){void 0===e&&(e=-1),b.log("startLoad("+e+")"),this.started=!0,this.networkControllers.forEach(function(t){t.startLoad(e)})},t.stopLoad=function(){b.log("stopLoad"),this.started=!1,this.networkControllers.forEach(function(e){e.stopLoad()})},t.resumeBuffering=function(){this.started&&this.networkControllers.forEach(function(e){"fragmentLoader"in e&&e.startLoad(-1)})},t.pauseBuffering=function(){this.networkControllers.forEach(function(e){"fragmentLoader"in e&&e.stopLoad()})},t.swapAudioCodec=function(){b.log("swapAudioCodec"),this.streamController.swapAudioCodec()},t.recoverMediaError=function(){b.log("recoverMediaError");var e=this._media;this.detachMedia(),e&&this.attachMedia(e)},t.removeLevel=function(e){this.levelController.removeLevel(e)},t.setAudioOption=function(e){var t;return null==(t=this.audioTrackController)?void 0:t.setAudioOption(e)},t.setSubtitleOption=function(e){var t;return null==(t=this.subtitleTrackController)||t.setSubtitleOption(e),null},E(e,[{key:"levels",get:function(){var e=this.levelController.levels;return e||[]}},{key:"currentLevel",get:function(){return this.streamController.currentLevel},set:function(e){b.log("set currentLevel:"+e),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}},{key:"nextLevel",get:function(){return this.streamController.nextLevel},set:function(e){b.log("set nextLevel:"+e),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}},{key:"loadLevel",get:function(){return this.levelController.level},set:function(e){b.log("set loadLevel:"+e),this.levelController.manualLevel=e}},{key:"nextLoadLevel",get:function(){return this.levelController.nextLoadLevel},set:function(e){this.levelController.nextLoadLevel=e}},{key:"firstLevel",get:function(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)},set:function(e){b.log("set firstLevel:"+e),this.levelController.firstLevel=e}},{key:"startLevel",get:function(){var e=this.levelController.startLevel;return-1===e&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e},set:function(e){b.log("set startLevel:"+e),-1!==e&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}},{key:"capLevelToPlayerSize",get:function(){return this.config.capLevelToPlayerSize},set:function(e){var t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}},{key:"autoLevelCapping",get:function(){return this._autoLevelCapping},set:function(e){this._autoLevelCapping!==e&&(b.log("set autoLevelCapping:"+e),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}},{key:"bandwidthEstimate",get:function(){var e=this.abrController.bwEstimator;return e?e.getEstimate():NaN},set:function(e){this.abrController.resetEstimator(e)}},{key:"ttfbEstimate",get:function(){var e=this.abrController.bwEstimator;return e?e.getEstimateTTFB():NaN}},{key:"maxHdcpLevel",get:function(){return this._maxHdcpLevel},set:function(e){Oa(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}},{key:"autoLevelEnabled",get:function(){return-1===this.levelController.manualLevel}},{key:"manualLevel",get:function(){return this.levelController.manualLevel}},{key:"minAutoLevel",get:function(){var e=this.levels,t=this.config.minAutoBitrate;if(!e)return 0;for(var a=e.length,i=0;i<a;i++)if(e[i].maxBitrate>=t)return i;return 0}},{key:"maxAutoLevel",get:function(){var e,t=this.levels,a=this.autoLevelCapping,i=this.maxHdcpLevel;if(e=-1===a&&null!=t&&t.length?t.length-1:a,i)for(var o=e;o--;){var n=t[o].attrs["HDCP-LEVEL"];if(n&&n<=i)return o}return e}},{key:"firstAutoLevel",get:function(){return this.abrController.firstAutoLevel}},{key:"nextAutoLevel",get:function(){return this.abrController.nextAutoLevel},set:function(e){this.abrController.nextAutoLevel=e}},{key:"playingDate",get:function(){return this.streamController.currentProgramDateTime}},{key:"mainForwardBufferInfo",get:function(){return this.streamController.getMainFwdBufferInfo()}},{key:"allAudioTracks",get:function(){var e=this.audioTrackController;return e?e.allAudioTracks:[]}},{key:"audioTracks",get:function(){var e=this.audioTrackController;return e?e.audioTracks:[]}},{key:"audioTrack",get:function(){var e=this.audioTrackController;return e?e.audioTrack:-1},set:function(e){var t=this.audioTrackController;t&&(t.audioTrack=e)}},{key:"allSubtitleTracks",get:function(){var e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}},{key:"subtitleTracks",get:function(){var e=this.subtitleTrackController;return e?e.subtitleTracks:[]}},{key:"subtitleTrack",get:function(){var e=this.subtitleTrackController;return e?e.subtitleTrack:-1},set:function(e){var t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}},{key:"media",get:function(){return this._media}},{key:"subtitleDisplay",get:function(){var e=this.subtitleTrackController;return!!e&&e.subtitleDisplay},set:function(e){var t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}},{key:"lowLatencyMode",get:function(){return this.config.lowLatencyMode},set:function(e){this.config.lowLatencyMode=e}},{key:"liveSyncPosition",get:function(){return this.latencyController.liveSyncPosition}},{key:"latency",get:function(){return this.latencyController.latency}},{key:"maxLatency",get:function(){return this.latencyController.maxLatency}},{key:"targetLatency",get:function(){return this.latencyController.targetLatency}},{key:"drift",get:function(){return this.latencyController.drift}},{key:"forceStartLoad",get:function(){return this.streamController.forceStartLoad}}],[{key:"version",get:function(){return"1.5.5-0.canary.9893"}},{key:"Events",get:function(){return f}},{key:"ErrorTypes",get:function(){return P}},{key:"ErrorDetails",get:function(){return B}},{key:"DefaultConfig",get:function(){return e.defaultConfig?e.defaultConfig:R_},set:function(t){e.defaultConfig=t}}]),e})();return F_.defaultConfig=void 0,F_})()})(!1)},68305:e=>{"use strict";const t=e=>"string"==typeof e,a=()=>{let e,t;const a=new Promise((a,i)=>{e=a,t=i});return a.resolve=e,a.reject=t,a},i=e=>null==e?"":""+e,o=/###/g,n=e=>e&&e.indexOf("###")>-1?e.replace(o,"."):e,r=e=>!e||t(e),E=(e,a,i)=>{const o=t(a)?a.split("."):a;let E=0;for(;E<o.length-1;){if(r(e))return{};const t=n(o[E]);!e[t]&&i&&(e[t]=new i),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++E}return r(e)?{}:{obj:e,k:n(o[E])}},_=(e,t,a)=>{const{obj:i,k:o}=E(e,t,Object);if(void 0!==i||1===t.length)return void(i[o]=a);let n=t[t.length-1],r=t.slice(0,t.length-1),_=E(e,r,Object);for(;void 0===_.obj&&r.length;)n=`${r[r.length-1]}.${n}`,r=r.slice(0,r.length-1),_=E(e,r,Object),_?.obj&&void 0!==_.obj[`${_.k}.${n}`]&&(_.obj=void 0);_.obj[`${_.k}.${n}`]=a},T=(e,t)=>{const{obj:a,k:i}=E(e,t);if(a&&Object.prototype.hasOwnProperty.call(a,i))return a[i]},s=(e,a,i)=>{for(const o in a)"__proto__"!==o&&"constructor"!==o&&(o in e?t(e[o])||e[o]instanceof String||t(a[o])||a[o]instanceof String?i&&(e[o]=a[o]):s(e[o],a[o],i):e[o]=a[o]);return e},S=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var l={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const I=e=>t(e)?e.replace(/[&<>"'\/]/g,e=>l[e]):e;const A=[" ",",","?","!",";"],u=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const a=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,a),this.regExpQueue.push(e),a}}(20),d=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t]){if(!Object.prototype.hasOwnProperty.call(e,t))return;return e[t]}const i=t.split(a);let o=e;for(let e=0;e<i.length;){if(!o||"object"!=typeof o)return;let t,n="";for(let r=e;r<i.length;++r)if(r!==e&&(n+=a),n+=i[r],t=o[n],void 0!==t){if(["string","number","boolean"].indexOf(typeof t)>-1&&r<i.length-1)continue;e+=r-e+1;break}o=t}return o},O=e=>e?.replace("_","-"),c={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class N{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||c,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,a,i,o){return o&&!this.debug?null:(t(e[0])&&(e[0]=`${i}${this.prefix} ${e[0]}`),this.logger[a](e))}create(e){return new N(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new N(this.logger,e)}}var R=new N;class m{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(e=>{this.observers[e]||(this.observers[e]=new Map);const a=this.observers[e].get(t)||0;this.observers[e].set(t,a+1)}),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),i=1;i<t;i++)a[i-1]=arguments[i];if(this.observers[e]){Array.from(this.observers[e].entries()).forEach(e=>{let[t,i]=e;for(let e=0;e<i;e++)t(...a)})}if(this.observers["*"]){Array.from(this.observers["*"].entries()).forEach(t=>{let[i,o]=t;for(let t=0;t<o;t++)i.apply(i,[e,...a])})}}}class L extends m{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,a,i){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const n=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,r=void 0!==o.ignoreJSONStructure?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let E;e.indexOf(".")>-1?E=e.split("."):(E=[e,a],i&&(Array.isArray(i)?E.push(...i):t(i)&&n?E.push(...i.split(n)):E.push(i)));const _=T(this.data,E);return!_&&!a&&!i&&e.indexOf(".")>-1&&(e=E[0],a=E[1],i=E.slice(2).join(".")),!_&&r&&t(i)?d(this.data?.[e]?.[a],i,n):_}addResource(e,t,a,i){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const n=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator;let r=[e,t];a&&(r=r.concat(n?a.split(n):a)),e.indexOf(".")>-1&&(r=e.split("."),i=t,t=r[1]),this.addNamespaces(t),_(this.data,r,i),o.silent||this.emit("added",e,t,a,i)}addResources(e,a,i){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const o in i)(t(i[o])||Array.isArray(i[o]))&&this.addResource(e,a,o,i[o],{silent:!0});o.silent||this.emit("added",e,a,i)}addResourceBundle(e,t,a,i,o){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1,skipCopy:!1},r=[e,t];e.indexOf(".")>-1&&(r=e.split("."),i=a,a=t,t=r[1]),this.addNamespaces(t);let E=T(this.data,r)||{};n.skipCopy||(a=JSON.parse(JSON.stringify(a))),i?s(E,a,o):E={...E,...a},_(this.data,r,E),n.silent||this.emit("added",e,t,a)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}}var D={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,a,i,o){return e.forEach(e=>{t=this.processors[e]?.process(t,a,i,o)??t}),t}};const p={},C=e=>!t(e)&&"boolean"!=typeof e&&"number"!=typeof e;class h extends m{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var a,i;super(),a=e,i=this,["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"].forEach(e=>{a[e]&&(i[e]=a[e])}),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=R.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;const a=this.resolve(e,t);return void 0!==a?.res}extractFromKey(e,a){let i=void 0!==a.nsSeparator?a.nsSeparator:this.options.nsSeparator;void 0===i&&(i=":");const o=void 0!==a.keySeparator?a.keySeparator:this.options.keySeparator;let n=a.ns||this.options.defaultNS||[];const r=i&&e.indexOf(i)>-1,E=!(this.options.userDefinedKeySeparator||a.keySeparator||this.options.userDefinedNsSeparator||a.nsSeparator||((e,t,a)=>{t=t||"",a=a||"";const i=A.filter(e=>t.indexOf(e)<0&&a.indexOf(e)<0);if(0===i.length)return!0;const o=u.getRegExp(`(${i.map(e=>"?"===e?"\\?":e).join("|")})`);let n=!o.test(e);if(!n){const t=e.indexOf(a);t>0&&!o.test(e.substring(0,t))&&(n=!0)}return n})(e,i,o));if(r&&!E){const a=e.match(this.interpolator.nestingRegexp);if(a&&a.length>0)return{key:e,namespaces:t(n)?[n]:n};const r=e.split(i);(i!==o||i===o&&this.options.ns.indexOf(r[0])>-1)&&(n=r.shift()),e=r.join(o)}return{key:e,namespaces:t(n)?[n]:n}}translate(e,a,i){if("object"!=typeof a&&this.options.overloadTranslationOptionHandler&&(a=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof a&&(a={...a}),a||(a={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);const o=void 0!==a.returnDetails?a.returnDetails:this.options.returnDetails,n=void 0!==a.keySeparator?a.keySeparator:this.options.keySeparator,{key:r,namespaces:E}=this.extractFromKey(e[e.length-1],a),_=E[E.length-1],T=a.lng||this.language,s=a.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if("cimode"===T?.toLowerCase()){if(s){const e=a.nsSeparator||this.options.nsSeparator;return o?{res:`${_}${e}${r}`,usedKey:r,exactUsedKey:r,usedLng:T,usedNS:_,usedParams:this.getUsedParamsDetails(a)}:`${_}${e}${r}`}return o?{res:r,usedKey:r,exactUsedKey:r,usedLng:T,usedNS:_,usedParams:this.getUsedParamsDetails(a)}:r}const S=this.resolve(e,a);let l=S?.res;const I=S?.usedKey||r,A=S?.exactUsedKey||r,u=void 0!==a.joinArrays?a.joinArrays:this.options.joinArrays,d=!this.i18nFormat||this.i18nFormat.handleAsObject,O=void 0!==a.count&&!t(a.count),c=h.hasDefaultValue(a),N=O?this.pluralResolver.getSuffix(T,a.count,a):"",R=a.ordinal&&O?this.pluralResolver.getSuffix(T,a.count,{ordinal:!1}):"",m=O&&!a.ordinal&&0===a.count,L=m&&a[`defaultValue${this.options.pluralSeparator}zero`]||a[`defaultValue${N}`]||a[`defaultValue${R}`]||a.defaultValue;let D=l;d&&!l&&c&&(D=L);const p=C(D),f=Object.prototype.toString.apply(D);if(!(d&&D&&p&&["[object Number]","[object Function]","[object RegExp]"].indexOf(f)<0)||t(u)&&Array.isArray(D))if(d&&t(u)&&Array.isArray(l))l=l.join(u),l&&(l=this.extendTranslation(l,e,a,i));else{let t=!1,o=!1;!this.isValidLookup(l)&&c&&(t=!0,l=L),this.isValidLookup(l)||(o=!0,l=r);const E=(a.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&o?void 0:l,s=c&&L!==l&&this.options.updateMissing;if(o||t||s){if(this.logger.log(s?"updateKey":"missingKey",T,_,r,s?L:l),n){const e=this.resolve(r,{...a,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,a.lng||this.language);if("fallback"===this.options.saveMissingTo&&t&&t[0])for(let a=0;a<t.length;a++)e.push(t[a]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(a.lng||this.language):e.push(a.lng||this.language);const i=(e,t,i)=>{const o=c&&i!==l?i:E;this.options.missingKeyHandler?this.options.missingKeyHandler(e,_,t,o,s,a):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,_,t,o,s,a),this.emit("missingKey",e,_,t,l)};this.options.saveMissing&&(this.options.saveMissingPlurals&&O?e.forEach(e=>{const t=this.pluralResolver.getSuffixes(e,a);m&&a[`defaultValue${this.options.pluralSeparator}zero`]&&t.indexOf(`${this.options.pluralSeparator}zero`)<0&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{i([e],r+t,a[`defaultValue${t}`]||L)})}):i(e,r,L))}l=this.extendTranslation(l,e,a,S,i),o&&l===r&&this.options.appendNamespaceToMissingKey&&(l=`${_}:${r}`),(o||t)&&this.options.parseMissingKeyHandler&&(l=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${_}:${r}`:r,t?l:void 0))}else{if(!a.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(I,D,{...a,ns:E}):`key '${r} (${this.language})' returned an object instead of string.`;return o?(S.res=e,S.usedParams=this.getUsedParamsDetails(a),S):e}if(n){const e=Array.isArray(D),t=e?[]:{},i=e?A:I;for(const e in D)if(Object.prototype.hasOwnProperty.call(D,e)){const o=`${i}${n}${e}`;t[e]=c&&!l?this.translate(o,{...a,defaultValue:C(L)?L[e]:void 0,joinArrays:!1,ns:E}):this.translate(o,{...a,joinArrays:!1,ns:E}),t[e]===o&&(t[e]=D[e])}l=t}}return o?(S.res=l,S.usedParams=this.getUsedParamsDetails(a),S):l}extendTranslation(e,a,i,o,n){var r=this;if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!i.skipInterpolation){i.interpolation&&this.interpolator.init({...i,interpolation:{...this.options.interpolation,...i.interpolation}});const E=t(e)&&(void 0!==i?.interpolation?.skipOnVariables?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let _;if(E){const t=e.match(this.interpolator.nestingRegexp);_=t&&t.length}let T=i.replace&&!t(i.replace)?i.replace:i;if(this.options.interpolation.defaultVariables&&(T={...this.options.interpolation.defaultVariables,...T}),e=this.interpolator.interpolate(e,T,i.lng||this.language||o.usedLng,i),E){const t=e.match(this.interpolator.nestingRegexp);_<(t&&t.length)&&(i.nest=!1)}!i.lng&&o&&o.res&&(i.lng=this.language||o.usedLng),!1!==i.nest&&(e=this.interpolator.nest(e,function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return n?.[0]!==t[0]||i.context?r.translate(...t,a):(r.logger.warn(`It seems you are nesting recursively key: ${t[0]} in key: ${a[0]}`),null)},i)),i.interpolation&&this.interpolator.reset()}const E=i.postProcess||this.options.postProcess,_=t(E)?[E]:E;return null!=e&&_?.length&&!1!==i.applyPostProcessor&&(e=D.handle(_,e,a,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...o,usedParams:this.getUsedParamsDetails(i)},...i}:i,this)),e}resolve(e){let a,i,o,n,r,E=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t(e)&&(e=[e]),e.forEach(e=>{if(this.isValidLookup(a))return;const _=this.extractFromKey(e,E),T=_.key;i=T;let s=_.namespaces;this.options.fallbackNS&&(s=s.concat(this.options.fallbackNS));const S=void 0!==E.count&&!t(E.count),l=S&&!E.ordinal&&0===E.count,I=void 0!==E.context&&(t(E.context)||"number"==typeof E.context)&&""!==E.context,A=E.lngs?E.lngs:this.languageUtils.toResolveHierarchy(E.lng||this.language,E.fallbackLng);s.forEach(e=>{this.isValidLookup(a)||(r=e,p[`${A[0]}-${e}`]||!this.utils?.hasLoadedNamespace||this.utils?.hasLoadedNamespace(r)||(p[`${A[0]}-${e}`]=!0,this.logger.warn(`key "${i}" for languages "${A.join(", ")}" won't get resolved as namespace "${r}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),A.forEach(t=>{if(this.isValidLookup(a))return;n=t;const i=[T];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(i,T,t,e,E);else{let e;S&&(e=this.pluralResolver.getSuffix(t,E.count,E));const a=`${this.options.pluralSeparator}zero`,o=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(S&&(i.push(T+e),E.ordinal&&0===e.indexOf(o)&&i.push(T+e.replace(o,this.options.pluralSeparator)),l&&i.push(T+a)),I){const t=`${T}${this.options.contextSeparator}${E.context}`;i.push(t),S&&(i.push(t+e),E.ordinal&&0===e.indexOf(o)&&i.push(t+e.replace(o,this.options.pluralSeparator)),l&&i.push(t+a))}}let r;for(;r=i.pop();)this.isValidLookup(a)||(o=r,a=this.getResource(t,e,r,E))}))})}),{res:a,usedKey:i,exactUsedKey:o,usedLng:n,usedNS:r}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,a){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,a,i):this.resourceStore.getResource(e,t,a,i)}getUsedParamsDetails(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const a=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],i=e.replace&&!t(e.replace);let o=i?e.replace:e;if(i&&void 0!==e.count&&(o.count=e.count),this.options.interpolation.defaultVariables&&(o={...this.options.interpolation.defaultVariables,...o}),!i){o={...o};for(const e of a)delete o[e]}return o}static hasDefaultValue(e){const t="defaultValue";for(const a in e)if(Object.prototype.hasOwnProperty.call(e,a)&&t===a.substring(0,12)&&void 0!==e[a])return!0;return!1}}class f{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=R.create("languageUtils")}getScriptPartFromCode(e){if(!(e=O(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=O(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(t(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch(e){}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(e=>{if(t)return;const a=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(a)||(t=a)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;const a=this.getLanguagePartFromCode(e);if(this.isSupportedCode(a))return t=a;t=this.options.supportedLngs.find(e=>e===a?e:e.indexOf("-")<0&&a.indexOf("-")<0?void 0:e.indexOf("-")>0&&a.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===a||0===e.indexOf(a)&&a.length>1?e:void 0)}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,a){if(!e)return[];if("function"==typeof e&&(e=e(a)),t(e)&&(e=[e]),Array.isArray(e))return e;if(!a)return e.default||[];let i=e[a];return i||(i=e[this.getScriptPartFromCode(a)]),i||(i=e[this.formatLanguageCode(a)]),i||(i=e[this.getLanguagePartFromCode(a)]),i||(i=e.default),i||[]}toResolveHierarchy(e,a){const i=this.getFallbackCodes(a||this.options.fallbackLng||[],e),o=[],n=e=>{e&&(this.isSupportedCode(e)?o.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return t(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&n(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&n(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&n(this.getLanguagePartFromCode(e))):t(e)&&n(this.formatLanguageCode(e)),i.forEach(e=>{o.indexOf(e)<0&&n(this.formatLanguageCode(e))}),o}}const P={zero:0,one:1,two:2,few:3,many:4,other:5},B={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class g{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=R.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const a=O("dev"===e?"en":e),i=t.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:a,type:i});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];let n;try{n=new Intl.PluralRules(a,{type:i})}catch(a){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),B;if(!e.match(/-|_/))return B;const i=this.languageUtils.getLanguagePartFromCode(e);n=this.getRule(i,t)}return this.pluralRulesCache[o]=n,n}needsPlural(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=this.getRule(e,t);return a||(a=this.getRule("dev",t)),a?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,a).map(e=>`${t}${e}`)}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=this.getRule(e,t);return a||(a=this.getRule("dev",t)),a?a.resolvedOptions().pluralCategories.sort((e,t)=>P[e]-P[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`):[]}getSuffix(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=this.getRule(e,a);return i?`${this.options.prepend}${a.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,a))}}const v=function(e,a,i){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=((e,t,a)=>{const i=T(e,a);return void 0!==i?i:T(t,a)})(e,a,i);return!r&&n&&t(i)&&(r=d(e,i,o),void 0===r&&(r=d(a,i,o))),r},M=e=>e.replace(/\$/g,"$$$$");class W{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=R.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:a,useRawValueToEscape:i,prefix:o,prefixEscaped:n,suffix:r,suffixEscaped:E,formatSeparator:_,unescapeSuffix:T,unescapePrefix:s,nestingPrefix:l,nestingPrefixEscaped:A,nestingSuffix:u,nestingSuffixEscaped:d,nestingOptionsSeparator:O,maxReplaces:c,alwaysFormat:N}=e.interpolation;this.escape=void 0!==t?t:I,this.escapeValue=void 0===a||a,this.useRawValueToEscape=void 0!==i&&i,this.prefix=o?S(o):n||"{{",this.suffix=r?S(r):E||"}}",this.formatSeparator=_||",",this.unescapePrefix=T?"":s||"-",this.unescapeSuffix=this.unescapePrefix?"":T||"",this.nestingPrefix=l?S(l):A||S("$t("),this.nestingSuffix=u?S(u):d||S(")"),this.nestingOptionsSeparator=O||",",this.maxReplaces=c||1e3,this.alwaysFormat=void 0!==N&&N,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,a,o,n){let r,E,_;const T=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},s=e=>{if(e.indexOf(this.formatSeparator)<0){const t=v(a,T,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(t,void 0,o,{...n,...a,interpolationkey:e}):t}const t=e.split(this.formatSeparator),i=t.shift().trim(),r=t.join(this.formatSeparator).trim();return this.format(v(a,T,i,this.options.keySeparator,this.options.ignoreJSONStructure),r,o,{...n,...a,interpolationkey:i})};this.resetRegExp();const S=n?.missingInterpolationHandler||this.options.missingInterpolationHandler,l=void 0!==n?.interpolation?.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>M(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?M(this.escape(e)):M(e)}].forEach(a=>{for(_=0;r=a.regex.exec(e);){const o=r[1].trim();if(E=s(o),void 0===E)if("function"==typeof S){const a=S(e,r,n);E=t(a)?a:""}else if(n&&Object.prototype.hasOwnProperty.call(n,o))E="";else{if(l){E=r[0];continue}this.logger.warn(`missed to pass in variable ${o} for interpolating ${e}`),E=""}else t(E)||this.useRawValueToEscape||(E=i(E));const T=a.safeValue(E);if(e=e.replace(r[0],T),l?(a.regex.lastIndex+=E.length,a.regex.lastIndex-=r[0].length):a.regex.lastIndex=0,_++,_>=this.maxReplaces)break}}),e}nest(e,a){let o,n,r,E=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const _=(e,t)=>{const a=this.nestingOptionsSeparator;if(e.indexOf(a)<0)return e;const i=e.split(new RegExp(`${a}[ ]*{`));let o=`{${i[1]}`;e=i[0],o=this.interpolate(o,r);const n=o.match(/'/g),E=o.match(/"/g);((n?.length??0)%2==0&&!E||E.length%2!=0)&&(o=o.replace(/'/g,'"'));try{r=JSON.parse(o),t&&(r={...t,...r})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${a}${o}`}return r.defaultValue&&r.defaultValue.indexOf(this.prefix)>-1&&delete r.defaultValue,e};for(;o=this.nestingRegexp.exec(e);){let T=[];r={...E},r=r.replace&&!t(r.replace)?r.replace:r,r.applyPostProcessor=!1,delete r.defaultValue;let s=!1;if(-1!==o[0].indexOf(this.formatSeparator)&&!/{.*}/.test(o[1])){const e=o[1].split(this.formatSeparator).map(e=>e.trim());o[1]=e.shift(),T=e,s=!0}if(n=a(_.call(this,o[1].trim(),r),r),n&&o[0]===e&&!t(n))return n;t(n)||(n=i(n)),n||(this.logger.warn(`missed to resolve ${o[1]} for nesting ${e}`),n=""),s&&(n=T.reduce((e,t)=>this.format(e,t,E.lng,{...E,interpolationkey:o[1].trim()}),n.trim())),e=e.replace(o[0],n),this.regexp.lastIndex=0}return e}}const y=e=>{const t={};return(a,i,o)=>{let n=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(n={...n,[o.interpolationkey]:void 0});const r=i+JSON.stringify(n);let E=t[r];return E||(E=e(O(i),o),t[r]=E),E(a)}};class U{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=R.create("formatter"),this.options=e,this.formats={number:y((e,t)=>{const a=new Intl.NumberFormat(e,{...t});return e=>a.format(e)}),currency:y((e,t)=>{const a=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>a.format(e)}),datetime:y((e,t)=>{const a=new Intl.DateTimeFormat(e,{...t});return e=>a.format(e)}),relativetime:y((e,t)=>{const a=new Intl.RelativeTimeFormat(e,{...t});return e=>a.format(e,t.range||"day")}),list:y((e,t)=>{const a=new Intl.ListFormat(e,{...t});return e=>a.format(e)})},this.init(e)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};this.formatSeparator=t.interpolation.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=y(t)}format(e,t,a){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&o[0].indexOf(")")<0&&o.find(e=>e.indexOf(")")>-1)){const e=o.findIndex(e=>e.indexOf(")")>-1);o[0]=[o[0],...o.splice(1,e)].join(this.formatSeparator)}return o.reduce((e,t)=>{const{formatName:o,formatOptions:n}=(e=>{let t=e.toLowerCase().trim();const a={};if(e.indexOf("(")>-1){const i=e.split("(");t=i[0].toLowerCase().trim();const o=i[1].substring(0,i[1].length-1);"currency"===t&&o.indexOf(":")<0?a.currency||(a.currency=o.trim()):"relativetime"===t&&o.indexOf(":")<0?a.range||(a.range=o.trim()):o.split(";").forEach(e=>{if(e){const[t,...i]=e.split(":"),o=i.join(":").trim().replace(/^'+|'+$/g,""),n=t.trim();a[n]||(a[n]=o),"false"===o&&(a[n]=!1),"true"===o&&(a[n]=!0),isNaN(o)||(a[n]=parseInt(o,10))}})}return{formatName:t,formatOptions:a}})(t);if(this.formats[o]){let t=e;try{const r=i?.formatParams?.[i.interpolationkey]||{},E=r.locale||r.lng||i.locale||i.lng||a;t=this.formats[o](e,E,{...n,...i,...r})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e},e)}}class b extends m{constructor(e,t,a){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=a,this.languageUtils=a.languageUtils,this.options=i,this.logger=R.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(a,i.backend,i)}queueLoad(e,t,a,i){const o={},n={},r={},E={};return e.forEach(e=>{let i=!0;t.forEach(t=>{const r=`${e}|${t}`;!a.reload&&this.store.hasResourceBundle(e,t)?this.state[r]=2:this.state[r]<0||(1===this.state[r]?void 0===n[r]&&(n[r]=!0):(this.state[r]=1,i=!1,void 0===n[r]&&(n[r]=!0),void 0===o[r]&&(o[r]=!0),void 0===E[t]&&(E[t]=!0)))}),i||(r[e]=!0)}),(Object.keys(o).length||Object.keys(n).length)&&this.queue.push({pending:n,pendingCount:Object.keys(n).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(n),toLoadLanguages:Object.keys(r),toLoadNamespaces:Object.keys(E)}}loaded(e,t,a){const i=e.split("|"),o=i[0],n=i[1];t&&this.emit("failedLoading",o,n,t),!t&&a&&this.store.addResourceBundle(o,n,a,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&a&&(this.state[e]=0);const r={};this.queue.forEach(a=>{((e,t,a)=>{const{obj:i,k:o}=E(e,t,Object);i[o]=i[o]||[],i[o].push(a)})(a.loaded,[o],n),((e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)})(a,e),t&&a.errors.push(t),0!==a.pendingCount||a.done||(Object.keys(a.loaded).forEach(e=>{r[e]||(r[e]={});const t=a.loaded[e];t.length&&t.forEach(t=>{void 0===r[e][t]&&(r[e][t]=!0)})}),a.done=!0,a.errors.length?a.callback(a.errors):a.callback())}),this.emit("loaded",r),this.queue=this.queue.filter(e=>!e.done)}read(e,t,a){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,n=arguments.length>5?arguments[5]:void 0;if(!e.length)return n(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:a,tried:i,wait:o,callback:n});this.readingCalls++;const r=(r,E)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}r&&E&&i<this.maxRetries?setTimeout(()=>{this.read.call(this,e,t,a,i+1,2*o,n)},o):n(r,E)},E=this.backend[a].bind(this.backend);if(2!==E.length)return E(e,t,r);try{const a=E(e,t);a&&"function"==typeof a.then?a.then(e=>r(null,e)).catch(r):r(null,a)}catch(e){r(e)}}prepareLoading(e,a){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();t(e)&&(e=this.languageUtils.toResolveHierarchy(e)),t(a)&&(a=[a]);const n=this.queueLoad(e,a,i,o);if(!n.toLoad.length)return n.pending.length||o(),null;n.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,a){this.prepareLoading(e,t,{},a)}reload(e,t,a){this.prepareLoading(e,t,{reload:!0},a)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const a=e.split("|"),i=a[0],o=a[1];this.read(i,o,"read",void 0,void 0,(a,n)=>{a&&this.logger.warn(`${t}loading namespace ${o} for language ${i} failed`,a),!a&&n&&this.logger.log(`${t}loaded namespace ${o} for language ${i}`,n),this.loaded(e,a,n)})}saveMissing(e,t,a,i,o){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(!this.services?.utils?.hasLoadedNamespace||this.services?.utils?.hasLoadedNamespace(t)){if(null!=a&&""!==a){if(this.backend?.create){const E={...n,isUpdate:o},_=this.backend.create.bind(this.backend);if(_.length<6)try{let o;o=5===_.length?_(e,t,a,i,E):_(e,t,a,i),o&&"function"==typeof o.then?o.then(e=>r(null,e)).catch(r):r(null,o)}catch(e){r(e)}else _(e,t,a,i,r,E)}e&&e[0]&&this.store.addResource(e[0],t,a,i)}}else this.logger.warn(`did not save key "${a}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")}}const G=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let a={};if("object"==typeof e[1]&&(a=e[1]),t(e[1])&&(a.defaultValue=e[1]),t(e[2])&&(a.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const t=e[3]||e[2];Object.keys(t).forEach(e=>{a[e]=t[e]})}return a},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),k=e=>(t(e.ns)&&(e.ns=[e.ns]),t(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),t(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),"boolean"==typeof e.initImmediate&&(e.initAsync=e.initImmediate),e),F=()=>{};class V extends m{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;var a;if(super(),this.options=k(e),this.services={},this.logger=R,this.modules={external:[]},a=this,Object.getOwnPropertyNames(Object.getPrototypeOf(a)).forEach(e=>{"function"==typeof a[e]&&(a[e]=a[e].bind(a))}),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(){var e=this;let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,"function"==typeof i&&(o=i,i={}),null==i.defaultNS&&i.ns&&(t(i.ns)?i.defaultNS=i.ns:i.ns.indexOf("translation")<0&&(i.defaultNS=i.ns[0]));const n=G();this.options={...n,...this.options,...k(i)},this.options.interpolation={...n.interpolation,...this.options.interpolation},void 0!==i.keySeparator&&(this.options.userDefinedKeySeparator=i.keySeparator),void 0!==i.nsSeparator&&(this.options.userDefinedNsSeparator=i.nsSeparator);const r=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let t;this.modules.logger?R.init(r(this.modules.logger),this.options):R.init(null,this.options),t=this.modules.formatter?this.modules.formatter:U;const a=new f(this.options);this.store=new L(this.options.resources,this.options);const i=this.services;i.logger=R,i.resourceStore=this.store,i.languageUtils=a,i.pluralResolver=new g(a,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!t||this.options.interpolation.format&&this.options.interpolation.format!==n.interpolation.format||(i.formatter=r(t),i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new W(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new b(r(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on("*",function(t){for(var a=arguments.length,i=new Array(a>1?a-1:0),o=1;o<a;o++)i[o-1]=arguments[o];e.emit(t,...i)}),this.modules.languageDetector&&(i.languageDetector=r(this.modules.languageDetector),i.languageDetector.init&&i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=r(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new h(this.services,this.options),this.translator.on("*",function(t){for(var a=arguments.length,i=new Array(a>1?a-1:0),o=1;o<a;o++)i[o-1]=arguments[o];e.emit(t,...i)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,o||(o=F),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(t=>{this[t]=function(){return e.store[t](...arguments)}});["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(t=>{this[t]=function(){return e.store[t](...arguments),e}});const E=a(),_=()=>{const e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),E.resolve(t),o(e,t)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?_():setTimeout(_,0),E}loadResources(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:F;const i=t(e)?e:this.language;if("function"==typeof e&&(a=e),!this.options.resources||this.options.partialBundledLanguages){if("cimode"===i?.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return a();const e=[],t=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)})};if(i)t(i);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e))}this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),a(e)})}else a(null)}reloadResources(e,t,i){const o=a();return"function"==typeof e&&(i=e,e=void 0),"function"==typeof t&&(i=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),i||(i=F),this.services.backendConnector.reload(e,t,e=>{o.resolve(),i(e)}),o}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&D.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(let e=0;e<this.languages.length;e++){const t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}}changeLanguage(e,i){var o=this;this.isLanguageChangingTo=e;const n=a();this.emit("languageChanging",e);const r=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},E=(e,t)=>{t?(r(t),this.translator.changeLanguage(t),this.isLanguageChangingTo=void 0,this.emit("languageChanged",t),this.logger.log("languageChanged",t)):this.isLanguageChangingTo=void 0,n.resolve(function(){return o.t(...arguments)}),i&&i(e,function(){return o.t(...arguments)})},_=a=>{e||a||!this.services.languageDetector||(a=[]);const i=t(a)?a:this.services.languageUtils.getBestMatchFromCodes(a);i&&(this.language||r(i),this.translator.language||this.translator.changeLanguage(i),this.services.languageDetector?.cacheUserLanguage?.(i)),this.loadResources(i,e=>{E(e,i)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(_):this.services.languageDetector.detect(_):_(e):_(this.services.languageDetector.detect()),n}getFixedT(e,a,i){var o=this;const n=function(e,t){let a;if("object"!=typeof t){for(var r=arguments.length,E=new Array(r>2?r-2:0),_=2;_<r;_++)E[_-2]=arguments[_];a=o.options.overloadTranslationOptionHandler([e,t].concat(E))}else a={...t};a.lng=a.lng||n.lng,a.lngs=a.lngs||n.lngs,a.ns=a.ns||n.ns,""!==a.keyPrefix&&(a.keyPrefix=a.keyPrefix||i||n.keyPrefix);const T=o.options.keySeparator||".";let s;return s=a.keyPrefix&&Array.isArray(e)?e.map(e=>`${a.keyPrefix}${T}${e}`):a.keyPrefix?`${a.keyPrefix}${T}${e}`:e,o.t(s,a)};return t(e)?n.lng=e:n.lngs=e,n.ns=a,n.keyPrefix=i,n}t(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return this.translator?.translate(...t)}exists(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return this.translator?.exists(...t)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const a=t.lng||this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===a.toLowerCase())return!0;const n=(e,t)=>{const a=this.services.backendConnector.state[`${e}|${t}`];return-1===a||0===a||2===a};if(t.precheck){const e=t.precheck(this,n);if(void 0!==e)return e}return!!this.hasResourceBundle(a,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!n(a,e)||i&&!n(o,e)))}loadNamespaces(e,i){const o=a();return this.options.ns?(t(e)&&(e=[e]),e.forEach(e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}),this.loadResources(e=>{o.resolve(),i&&i(e)}),o):(i&&i(),Promise.resolve())}loadLanguages(e,i){const o=a();t(e)&&(e=[e]);const n=this.options.preload||[],r=e.filter(e=>n.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e));return r.length?(this.options.preload=n.concat(r),this.loadResources(e=>{o.resolve(),i&&i(e)}),o):(i&&i(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services?.languageUtils||new f(G());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new V(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:F;const a=e.forkResourceStore;a&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},o=new V(i);void 0===e.debug&&void 0===e.prefix||(o.logger=o.logger.clone(e));if(["store","services","language"].forEach(e=>{o[e]=this[e]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},a){const e=Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},Object.keys(e[t]).reduce((a,i)=>(a[i]={...e[t][i]},a),{})),{});o.store=new L(e,i),o.services.resourceStore=o.store}return o.translator=new h(o.services,i),o.translator.on("*",function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),i=1;i<t;i++)a[i-1]=arguments[i];o.emit(e,...a)}),o.init(i,t),o.translator.options=i,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const H=V.createInstance();H.createInstance=V.createInstance,e.exports=H},77947:(e,t)=>{t.read=function(e,t,a,i,o){var n,r,E=8*o-i-1,_=(1<<E)-1,T=_>>1,s=-7,S=a?o-1:0,l=a?-1:1,I=e[t+S];for(S+=l,n=I&(1<<-s)-1,I>>=-s,s+=E;s>0;n=256*n+e[t+S],S+=l,s-=8);for(r=n&(1<<-s)-1,n>>=-s,s+=i;s>0;r=256*r+e[t+S],S+=l,s-=8);if(0===n)n=1-T;else{if(n===_)return r?NaN:1/0*(I?-1:1);r+=Math.pow(2,i),n-=T}return(I?-1:1)*r*Math.pow(2,n-i)},t.write=function(e,t,a,i,o,n){var r,E,_,T=8*n-o-1,s=(1<<T)-1,S=s>>1,l=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,I=i?0:n-1,A=i?1:-1,u=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(E=isNaN(t)?1:0,r=s):(r=Math.floor(Math.log(t)/Math.LN2),t*(_=Math.pow(2,-r))<1&&(r--,_*=2),(t+=r+S>=1?l/_:l*Math.pow(2,1-S))*_>=2&&(r++,_/=2),r+S>=s?(E=0,r=s):r+S>=1?(E=(t*_-1)*Math.pow(2,o),r+=S):(E=t*Math.pow(2,S-1)*Math.pow(2,o),r=0));o>=8;e[a+I]=255&E,I+=A,E/=256,o-=8);for(r=r<<o|E,T+=o;T>0;e[a+I]=255&r,I+=A,r/=256,T-=8);e[a+I-A]|=128*u}},12094:e=>{e.exports=function(e){return!(!e||"string"==typeof e)&&(e instanceof Array||Array.isArray(e)||e.length>=0&&(e.splice instanceof Function||Object.getOwnPropertyDescriptor(e,e.length-1)&&"String"!==e.constructor.name))}},67677:e=>{e.exports=[{name:"Abkhaz",local:"Аҧсуа",1:"ab",2:"abk","2T":"abk","2B":"abk",3:"abk"},{name:"Afar",local:"Afaraf",1:"aa",2:"aar","2T":"aar","2B":"aar",3:"aar"},{name:"Afrikaans",local:"Afrikaans",1:"af",2:"afr","2T":"afr","2B":"afr",3:"afr"},{name:"Akan",local:"Akan",1:"ak",2:"aka","2T":"aka","2B":"aka",3:"aka"},{name:"Albanian",local:"Shqip",1:"sq",2:"sqi","2T":"sqi","2B":"alb",3:"sqi"},{name:"Amharic",local:"አማርኛ",1:"am",2:"amh","2T":"amh","2B":"amh",3:"amh"},{name:"Arabic",local:"العربية",1:"ar",2:"ara","2T":"ara","2B":"ara",3:"ara"},{name:"Aragonese",local:"Aragonés",1:"an",2:"arg","2T":"arg","2B":"arg",3:"arg"},{name:"Armenian",local:"Հայերեն",1:"hy",2:"hye","2T":"hye","2B":"arm",3:"hye"},{name:"Assamese",local:"অসমীয়া",1:"as",2:"asm","2T":"asm","2B":"asm",3:"asm"},{name:"Avaric",local:"Авар",1:"av",2:"ava","2T":"ava","2B":"ava",3:"ava"},{name:"Avestan",local:"avesta",1:"ae",2:"ave","2T":"ave","2B":"ave",3:"ave"},{name:"Aymara",local:"Aymar",1:"ay",2:"aym","2T":"aym","2B":"aym",3:"aym"},{name:"Azerbaijani",local:"Azərbaycanca",1:"az",2:"aze","2T":"aze","2B":"aze",3:"aze"},{name:"Bambara",local:"Bamanankan",1:"bm",2:"bam","2T":"bam","2B":"bam",3:"bam"},{name:"Bashkir",local:"Башҡортса",1:"ba",2:"bak","2T":"bak","2B":"bak",3:"bak"},{name:"Basque",local:"Euskara",1:"eu",2:"eus","2T":"eus","2B":"baq",3:"eus"},{name:"Belarusian",local:"Беларуская",1:"be",2:"bel","2T":"bel","2B":"bel",3:"bel"},{name:"Bengali",local:"বাংলা",1:"bn",2:"ben","2T":"ben","2B":"ben",3:"ben",locale:"bn-BD"},{name:"Bihari",local:"भोजपुरी",1:"bh",2:"bih","2T":"bih","2B":"bih",3:"bih"},{name:"Bislama",local:"Bislama",1:"bi",2:"bis","2T":"bis","2B":"bis",3:"bis"},{name:"Bosnian",local:"Bosanski",1:"bs",2:"bos","2T":"bos","2B":"bos",3:"bos"},{name:"Breton",local:"Brezhoneg",1:"br",2:"bre","2T":"bre","2B":"bre",3:"bre"},{name:"Bulgarian",local:"Български",1:"bg",2:"bul","2T":"bul","2B":"bul",3:"bul"},{name:"Burmese",local:"မြန်မာဘာသာ",1:"my",2:"mya","2T":"mya","2B":"bur",3:"mya"},{name:"Catalan",local:"Català",1:"ca",2:"cat","2T":"cat","2B":"cat",3:"cat"},{name:"Chamorro",local:"Chamoru",1:"ch",2:"cha","2T":"cha","2B":"cha",3:"cha"},{name:"Chechen",local:"Нохчийн",1:"ce",2:"che","2T":"che","2B":"che",3:"che"},{name:"Chichewa",local:"Chichewa",1:"ny",2:"nya","2T":"nya","2B":"nya",3:"nya"},{name:"Chinese",local:"中文",1:"zh",2:"zho","2T":"zho","2B":"chi",3:"zho",locale:"zh-CN"},{name:"Chinese (Simplified)",local:"中文(簡體)",1:"zh",2:"zhe","2T":"zhe","2B":"chi",3:"zhe",locale:"zh-Hans"},{name:"Chinese (Traditional)",local:"中文(繁體)",1:"zh",2:"zht","2T":"zht","2B":"chi",3:"zht",locale:"zh-Hant"},{name:"Chuvash",local:"Чӑвашла",1:"cv",2:"chv","2T":"chv","2B":"chv",3:"chv"},{name:"Cornish",local:"Kernewek",1:"kw",2:"cor","2T":"cor","2B":"cor",3:"cor"},{name:"Corsican",local:"Corsu",1:"co",2:"cos","2T":"cos","2B":"cos",3:"cos"},{name:"Cree",local:"ᓀᐦᐃᔭᐍᐏᐣ",1:"cr",2:"cre","2T":"cre","2B":"cre",3:"cre"},{name:"Croatian",local:"Hrvatski",1:"hr",2:"hrv","2T":"hrv","2B":"hrv",3:"hrv"},{name:"Czech",local:"Čeština",1:"cs",2:"ces","2T":"ces","2B":"cze",3:"ces"},{name:"Danish",local:"Dansk",1:"da",2:"dan","2T":"dan","2B":"dan",3:"dan"},{name:"Divehi",local:"Divehi",1:"dv",2:"div","2T":"div","2B":"div",3:"div"},{name:"Dutch",local:"Nederlands",1:"nl",2:"nld","2T":"nld","2B":"dut",3:"nld"},{name:"Dzongkha",local:"རྫོང་ཁ",1:"dz",2:"dzo","2T":"dzo","2B":"dzo",3:"dzo"},{name:"English",local:"English",1:"en",2:"eng","2T":"eng","2B":"eng",3:"eng",locale:"en-US"},{name:"Esperanto",local:"Esperanto",1:"eo",2:"epo","2T":"epo","2B":"epo",3:"epo"},{name:"Estonian",local:"Eesti",1:"et",2:"est","2T":"est","2B":"est",3:"est",locale:"et-EE"},{name:"Ewe",local:"Eʋegbe",1:"ee",2:"ewe","2T":"ewe","2B":"ewe",3:"ewe"},{name:"Faroese",local:"Føroyskt",1:"fo",2:"fao","2T":"fao","2B":"fao",3:"fao"},{name:"Fijian",local:"Na Vosa Vaka-Viti",1:"fj",2:"fij","2T":"fij","2B":"fij",3:"fij"},{name:"Finnish",local:"Suomi",1:"fi",2:"fin","2T":"fin","2B":"fin",3:"fin"},{name:"French",local:"Français",1:"fr",2:"fra","2T":"fra","2B":"fre",3:"fra",locale:"fr-FR"},{name:"Fula",local:"Fulfulde",1:"ff",2:"ful","2T":"ful","2B":"ful",3:"ful"},{name:"Galician",local:"Galego",1:"gl",2:"glg","2T":"glg","2B":"glg",3:"glg"},{name:"Georgian",local:"ქართული",1:"ka",2:"kat","2T":"kat","2B":"geo",3:"kat"},{name:"German",local:"Deutsch",1:"de",2:"deu","2T":"deu","2B":"ger",3:"deu"},{name:"Greek",local:"Ελληνικά",1:"el",2:"ell","2T":"ell","2B":"gre",3:"ell"},{name:"Guaraní",local:"Avañe'ẽ",1:"gn",2:"grn","2T":"grn","2B":"grn",3:"grn"},{name:"Gujarati",local:"ગુજરાતી",1:"gu",2:"guj","2T":"guj","2B":"guj",3:"guj"},{name:"Haitian",local:"Kreyòl Ayisyen",1:"ht",2:"hat","2T":"hat","2B":"hat",3:"hat"},{name:"Hausa",local:"هَوُسَ",1:"ha",2:"hau","2T":"hau","2B":"hau",3:"hau"},{name:"Hebrew",local:"עברית",1:"he",2:"heb","2T":"heb","2B":"heb",3:"heb"},{name:"Herero",local:"Otjiherero",1:"hz",2:"her","2T":"her","2B":"her",3:"her"},{name:"Hindi",local:"हिन्दी",1:"hi",2:"hin","2T":"hin","2B":"hin",3:"hin"},{name:"Hiri Motu",local:"Hiri Motu",1:"ho",2:"hmo","2T":"hmo","2B":"hmo",3:"hmo"},{name:"Hungarian",local:"Magyar",1:"hu",2:"hun","2T":"hun","2B":"hun",3:"hun"},{name:"Interlingua",local:"Interlingua",1:"ia",2:"ina","2T":"ina","2B":"ina",3:"ina"},{name:"Indonesian",local:"Bahasa Indonesia",1:"id",2:"ind","2T":"ind","2B":"ind",3:"ind"},{name:"Interlingue",local:"Interlingue",1:"ie",2:"ile","2T":"ile","2B":"ile",3:"ile"},{name:"Irish",local:"Gaeilge",1:"ga",2:"gle","2T":"gle","2B":"gle",3:"gle"},{name:"Igbo",local:"Igbo",1:"ig",2:"ibo","2T":"ibo","2B":"ibo",3:"ibo"},{name:"Inupiaq",local:"Iñupiak",1:"ik",2:"ipk","2T":"ipk","2B":"ipk",3:"ipk"},{name:"Ido",local:"Ido",1:"io",2:"ido","2T":"ido","2B":"ido",3:"ido"},{name:"Icelandic",local:"Íslenska",1:"is",2:"isl","2T":"isl","2B":"ice",3:"isl"},{name:"Italian",local:"Italiano",1:"it",2:"ita","2T":"ita","2B":"ita",3:"ita",locale:"it-IT"},{name:"Inuktitut",local:"ᐃᓄᒃᑎᑐᑦ",1:"iu",2:"iku","2T":"iku","2B":"iku",3:"iku"},{name:"Japanese",local:"日本語",1:"ja",2:"jpn","2T":"jpn","2B":"jpn",3:"jpn",locale:"ja-JP"},{name:"Javanese",local:"Basa Jawa",1:"jv",2:"jav","2T":"jav","2B":"jav",3:"jav"},{name:"Kalaallisut",local:"Kalaallisut",1:"kl",2:"kal","2T":"kal","2B":"kal",3:"kal"},{name:"Kannada",local:"ಕನ್ನಡ",1:"kn",2:"kan","2T":"kan","2B":"kan",3:"kan"},{name:"Kanuri",local:"Kanuri",1:"kr",2:"kau","2T":"kau","2B":"kau",3:"kau"},{name:"Kashmiri",local:"كشميري",1:"ks",2:"kas","2T":"kas","2B":"kas",3:"kas"},{name:"Kazakh",local:"Қазақша",1:"kk",2:"kaz","2T":"kaz","2B":"kaz",3:"kaz"},{name:"Khmer",local:"ភាសាខ្មែរ",1:"km",2:"khm","2T":"khm","2B":"khm",3:"khm"},{name:"Kikuyu",local:"Gĩkũyũ",1:"ki",2:"kik","2T":"kik","2B":"kik",3:"kik"},{name:"Kinyarwanda",local:"Kinyarwanda",1:"rw",2:"kin","2T":"kin","2B":"kin",3:"kin"},{name:"Kyrgyz",local:"Кыргызча",1:"ky",2:"kir","2T":"kir","2B":"kir",3:"kir"},{name:"Komi",local:"Коми",1:"kv",2:"kom","2T":"kom","2B":"kom",3:"kom"},{name:"Kongo",local:"Kongo",1:"kg",2:"kon","2T":"kon","2B":"kon",3:"kon"},{name:"Korean",local:"한국어",1:"ko",2:"kor","2T":"kor","2B":"kor",3:"kor"},{name:"Kurdish",local:"Kurdî",1:"ku",2:"kur","2T":"kur","2B":"kur",3:"kur"},{name:"Kwanyama",local:"Kuanyama",1:"kj",2:"kua","2T":"kua","2B":"kua",3:"kua"},{name:"Latin",local:"Latina",1:"la",2:"lat","2T":"lat","2B":"lat",3:"lat"},{name:"Luxembourgish",local:"Lëtzebuergesch",1:"lb",2:"ltz","2T":"ltz","2B":"ltz",3:"ltz"},{name:"Ganda",local:"Luganda",1:"lg",2:"lug","2T":"lug","2B":"lug",3:"lug"},{name:"Limburgish",local:"Limburgs",1:"li",2:"lim","2T":"lim","2B":"lim",3:"lim"},{name:"Lingala",local:"Lingála",1:"ln",2:"lin","2T":"lin","2B":"lin",3:"lin"},{name:"Lao",local:"ພາສາລາວ",1:"lo",2:"lao","2T":"lao","2B":"lao",3:"lao"},{name:"Lithuanian",local:"Lietuvių",1:"lt",2:"lit","2T":"lit","2B":"lit",3:"lit"},{name:"Luba-Katanga",local:"Tshiluba",1:"lu",2:"lub","2T":"lub","2B":"lub",3:"lub"},{name:"Latvian",local:"Latviešu",1:"lv",2:"lav","2T":"lav","2B":"lav",3:"lav"},{name:"Manx",local:"Gaelg",1:"gv",2:"glv","2T":"glv","2B":"glv",3:"glv"},{name:"Macedonian",local:"Македонски",1:"mk",2:"mkd","2T":"mkd","2B":"mac",3:"mkd"},{name:"Malagasy",local:"Malagasy",1:"mg",2:"mlg","2T":"mlg","2B":"mlg",3:"mlg"},{name:"Malay",local:"Bahasa Melayu",1:"ms",2:"msa","2T":"msa","2B":"may",3:"msa"},{name:"Malayalam",local:"മലയാളം",1:"ml",2:"mal","2T":"mal","2B":"mal",3:"mal"},{name:"Maltese",local:"Malti",1:"mt",2:"mlt","2T":"mlt","2B":"mlt",3:"mlt"},{name:"Māori",local:"Māori",1:"mi",2:"mri","2T":"mri","2B":"mao",3:"mri"},{name:"Marathi",local:"मराठी",1:"mr",2:"mar","2T":"mar","2B":"mar",3:"mar"},{name:"Marshallese",local:"Kajin M̧ajeļ",1:"mh",2:"mah","2T":"mah","2B":"mah",3:"mah"},{name:"Mongolian",local:"Монгол",1:"mn",2:"mon","2T":"mon","2B":"mon",3:"mon"},{name:"Nauru",local:"Dorerin Naoero",1:"na",2:"nau","2T":"nau","2B":"nau",3:"nau"},{name:"Navajo",local:"Diné Bizaad",1:"nv",2:"nav","2T":"nav","2B":"nav",3:"nav"},{name:"Northern Ndebele",local:"isiNdebele",1:"nd",2:"nde","2T":"nde","2B":"nde",3:"nde"},{name:"Nepali",local:"नेपाली",1:"ne",2:"nep","2T":"nep","2B":"nep",3:"nep"},{name:"Ndonga",local:"Owambo",1:"ng",2:"ndo","2T":"ndo","2B":"ndo",3:"ndo"},{name:"Norwegian Bokmål",local:"Norsk (Bokmål)",1:"nb",2:"nob","2T":"nob","2B":"nob",3:"nob",locale:"nb-NO"},{name:"Norwegian Nynorsk",local:"Norsk (Nynorsk)",1:"nn",2:"nno","2T":"nno","2B":"nno",3:"nno",locale:"nn-NO"},{name:"Norwegian",local:"Norsk",1:"no",2:"nor","2T":"nor","2B":"nor",3:"nor",locale:"no-NO"},{name:"Nuosu",local:"ꆈꌠ꒿ Nuosuhxop",1:"ii",2:"iii","2T":"iii","2B":"iii",3:"iii"},{name:"Southern Ndebele",local:"isiNdebele",1:"nr",2:"nbl","2T":"nbl","2B":"nbl",3:"nbl"},{name:"Occitan",local:"Occitan",1:"oc",2:"oci","2T":"oci","2B":"oci",3:"oci"},{name:"Ojibwe",local:"ᐊᓂᔑᓈᐯᒧᐎᓐ",1:"oj",2:"oji","2T":"oji","2B":"oji",3:"oji"},{name:"Old Church Slavonic",local:"Словѣ́ньскъ",1:"cu",2:"chu","2T":"chu","2B":"chu",3:"chu"},{name:"Oromo",local:"Afaan Oromoo",1:"om",2:"orm","2T":"orm","2B":"orm",3:"orm"},{name:"Oriya",local:"ଓଡି଼ଆ",1:"or",2:"ori","2T":"ori","2B":"ori",3:"ori"},{name:"Ossetian",local:"Ирон æвзаг",1:"os",2:"oss","2T":"oss","2B":"oss",3:"oss"},{name:"Panjabi",local:"ਪੰਜਾਬੀ",1:"pa",2:"pan","2T":"pan","2B":"pan",3:"pan",locale:"pa-IN"},{name:"Pāli",local:"पाऴि",1:"pi",2:"pli","2T":"pli","2B":"pli",3:"pli"},{name:"Persian",local:"فارسی",1:"fa",2:"fas","2T":"fas","2B":"per",3:"fas"},{name:"Polish",local:"Polski",1:"pl",2:"pol","2T":"pol","2B":"pol",3:"pol"},{name:"Pashto",local:"پښتو",1:"ps",2:"pus","2T":"pus","2B":"pus",3:"pus"},{name:"Portuguese",local:"Português",1:"pt",2:"por","2T":"por","2B":"por",3:"por",locale:"pt-PT"},{name:"Portuguese (Brazil)",local:"Português (Brasil)",1:"pb",2:"pob","2T":"pob","2B":"pob",3:"pob",locale:"pt-BR"},{name:"Quechua",local:"Runa Simi",1:"qu",2:"que","2T":"que","2B":"que",3:"que"},{name:"Romansh",local:"Rumantsch",1:"rm",2:"roh","2T":"roh","2B":"roh",3:"roh"},{name:"Kirundi",local:"Kirundi",1:"rn",2:"run","2T":"run","2B":"run",3:"run"},{name:"Romanian",local:"Română",1:"ro",2:"ron","2T":"ron","2B":"rum",3:"ron"},{name:"Russian",local:"Русский",1:"ru",2:"rus","2T":"rus","2B":"rus",3:"rus"},{name:"Sanskrit",local:"संस्कृतम्",1:"sa",2:"san","2T":"san","2B":"san",3:"san"},{name:"Sardinian",local:"Sardu",1:"sc",2:"srd","2T":"srd","2B":"srd",3:"srd"},{name:"Sindhi",local:"سنڌي‎",1:"sd",2:"snd","2T":"snd","2B":"snd",3:"snd"},{name:"Northern Sami",local:"Sámegiella",1:"se",2:"sme","2T":"sme","2B":"sme",3:"sme"},{name:"Samoan",local:"Gagana Sāmoa",1:"sm",2:"smo","2T":"smo","2B":"smo",3:"smo"},{name:"Sango",local:"Sängö",1:"sg",2:"sag","2T":"sag","2B":"sag",3:"sag"},{name:"Serbian",local:"Српски",1:"sr",2:"srp","2T":"srp","2B":"srp",3:"srp"},{name:"Gaelic",local:"Gàidhlig",1:"gd",2:"gla","2T":"gla","2B":"gla",3:"gla"},{name:"Shona",local:"ChiShona",1:"sn",2:"sna","2T":"sna","2B":"sna",3:"sna"},{name:"Sinhala",local:"සිංහල",1:"si",2:"sin","2T":"sin","2B":"sin",3:"sin"},{name:"Slovak",local:"Slovenčina",1:"sk",2:"slk","2T":"slk","2B":"slo",3:"slk"},{name:"Slovene",local:"Slovenščina",1:"sl",2:"slv","2T":"slv","2B":"slv",3:"slv"},{name:"Somali",local:"Soomaaliga",1:"so",2:"som","2T":"som","2B":"som",3:"som"},{name:"Southern Sotho",local:"Sesotho",1:"st",2:"sot","2T":"sot","2B":"sot",3:"sot"},{name:"Spanish",local:"Español",1:"es",2:"spa","2T":"spa","2B":"spa",3:"spa",locale:"es-ES"},{name:"Spanish (Latin America)",local:"Español (América Latina)",1:"es",2:"spl","2T":"spl","2B":"spl",3:"spl",locale:"es-419"},{name:"Sundanese",local:"Basa Sunda",1:"su",2:"sun","2T":"sun","2B":"sun",3:"sun"},{name:"Swahili",local:"Kiswahili",1:"sw",2:"swa","2T":"swa","2B":"swa",3:"swa"},{name:"Swati",local:"SiSwati",1:"ss",2:"ssw","2T":"ssw","2B":"ssw",3:"ssw"},{name:"Swedish",local:"Svenska",1:"sv",2:"swe","2T":"swe","2B":"swe",3:"swe"},{name:"Tamil",local:"தமிழ்",1:"ta",2:"tam","2T":"tam","2B":"tam",3:"tam"},{name:"Telugu",local:"తెలుగు",1:"te",2:"tel","2T":"tel","2B":"tel",3:"tel"},{name:"Tajik",local:"Тоҷикӣ",1:"tg",2:"tgk","2T":"tgk","2B":"tgk",3:"tgk"},{name:"Thai",local:"ภาษาไทย",1:"th",2:"tha","2T":"tha","2B":"tha",3:"tha"},{name:"Tigrinya",local:"ትግርኛ",1:"ti",2:"tir","2T":"tir","2B":"tir",3:"tir"},{name:"Tibetan Standard",local:"བོད་ཡིག",1:"bo",2:"bod","2T":"bod","2B":"tib",3:"bod"},{name:"Turkmen",local:"Türkmençe",1:"tk",2:"tuk","2T":"tuk","2B":"tuk",3:"tuk"},{name:"Tagalog",local:"Tagalog",1:"tl",2:"tgl","2T":"tgl","2B":"tgl",3:"tgl"},{name:"Tswana",local:"Setswana",1:"tn",2:"tsn","2T":"tsn","2B":"tsn",3:"tsn"},{name:"Tonga",local:"faka Tonga",1:"to",2:"ton","2T":"ton","2B":"ton",3:"ton"},{name:"Turkish",local:"Türkçe",1:"tr",2:"tur","2T":"tur","2B":"tur",3:"tur"},{name:"Tsonga",local:"Xitsonga",1:"ts",2:"tso","2T":"tso","2B":"tso",3:"tso"},{name:"Tatar",local:"Татарча",1:"tt",2:"tat","2T":"tat","2B":"tat",3:"tat"},{name:"Twi",local:"Twi",1:"tw",2:"twi","2T":"twi","2B":"twi",3:"twi"},{name:"Tahitian",local:"Reo Mā’ohi",1:"ty",2:"tah","2T":"tah","2B":"tah",3:"tah"},{name:"Uyghur",local:"ئۇيغۇرچه",1:"ug",2:"uig","2T":"uig","2B":"uig",3:"uig"},{name:"Ukrainian",local:"Українська",1:"uk",2:"ukr","2T":"ukr","2B":"ukr",3:"ukr"},{name:"Urdu",local:"اردو",1:"ur",2:"urd","2T":"urd","2B":"urd",3:"urd"},{name:"Uzbek",local:"O‘zbek",1:"uz",2:"uzb","2T":"uzb","2B":"uzb",3:"uzb"},{name:"Venda",local:"Tshivenḓa",1:"ve",2:"ven","2T":"ven","2B":"ven",3:"ven"},{name:"Vietnamese",local:"Tiếng Việt",1:"vi",2:"vie","2T":"vie","2B":"vie",3:"vie"},{name:"Volapük",local:"Volapük",1:"vo",2:"vol","2T":"vol","2B":"vol",3:"vol"},{name:"Walloon",local:"Walon",1:"wa",2:"wln","2T":"wln","2B":"wln",3:"wln"},{name:"Welsh",local:"Cymraeg",1:"cy",2:"cym","2T":"cym","2B":"wel",3:"cym"},{name:"Wolof",local:"Wolof",1:"wo",2:"wol","2T":"wol","2B":"wol",3:"wol"},{name:"Western Frisian",local:"Frysk",1:"fy",2:"fry","2T":"fry","2B":"fry",3:"fry"},{name:"Xhosa",local:"isiXhosa",1:"xh",2:"xho","2T":"xho","2B":"xho",3:"xho"},{name:"Yiddish",local:"ייִדיש",1:"yi",2:"yid","2T":"yid","2B":"yid",3:"yid"},{name:"Yoruba",local:"Yorùbá",1:"yo",2:"yor","2T":"yor","2B":"yor",3:"yor"},{name:"Zhuang",local:"Cuengh",1:"za",2:"zha","2T":"zha","2B":"zha",3:"zha"},{name:"Zulu",local:"isiZulu",1:"zu",2:"zul","2T":"zul","2B":"zul",3:"zul"}]},68601:(e,t,a)=>{var i=a(67677),o={all:function(){return i},has:function(e,t){return void 0!==n(e,t)},codes:function(e){if((function(e){return-1!==[1,2,3,"1","2","2B","2T","3"].indexOf(e)})(e))return r(i,function(t){return t[e]})},names:function(e){return r(i,function(t){return e?t.local:t.name})},where:n};function n(e,t){for(var a=0;a<i.length;a++)if(t===i[a][e])return i[a]}function r(e,t){var a,i=[];for(a=0;a<e.length;a++)i.push(t(e[a],a));return i}e.exports=o},55126:(e,t,a)=>{e=a.nmd(e);var i="__lodash_hash_undefined__",o=9007199254740991,n="[object Arguments]",r="[object Boolean]",E="[object Date]",_="[object Function]",T="[object GeneratorFunction]",s="[object Map]",S="[object Number]",l="[object Object]",I="[object Promise]",A="[object RegExp]",u="[object Set]",d="[object String]",O="[object Symbol]",c="[object WeakMap]",N="[object ArrayBuffer]",R="[object DataView]",m="[object Float32Array]",L="[object Float64Array]",D="[object Int8Array]",p="[object Int16Array]",C="[object Int32Array]",h="[object Uint8Array]",f="[object Uint8ClampedArray]",P="[object Uint16Array]",B="[object Uint32Array]",g=/\w*$/,v=/^\[object .+?Constructor\]$/,M=/^(?:0|[1-9]\d*)$/,W={};W[n]=W["[object Array]"]=W[N]=W[R]=W[r]=W[E]=W[m]=W[L]=W[D]=W[p]=W[C]=W[s]=W[S]=W[l]=W[A]=W[u]=W[d]=W[O]=W[h]=W[f]=W[P]=W[B]=!0,W["[object Error]"]=W[_]=W[c]=!1;var y="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,U="object"==typeof self&&self&&self.Object===Object&&self,b=y||U||Function("return this")(),G=t&&!t.nodeType&&t,k=G&&e&&!e.nodeType&&e,F=k&&k.exports===G;function V(e,t){return e.set(t[0],t[1]),e}function H(e,t){return e.add(t),e}function w(e,t,a,i){var o=-1,n=e?e.length:0;for(i&&n&&(a=e[++o]);++o<n;)a=t(a,e[o],o,e);return a}function Y(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function z(e){var t=-1,a=Array(e.size);return e.forEach(function(e,i){a[++t]=[i,e]}),a}function K(e,t){return function(a){return e(t(a))}}function j(e){var t=-1,a=Array(e.size);return e.forEach(function(e){a[++t]=e}),a}var x,Q=Array.prototype,X=Function.prototype,$=Object.prototype,q=b["__core-js_shared__"],J=(x=/[^.]+$/.exec(q&&q.keys&&q.keys.IE_PROTO||""))?"Symbol(src)_1."+x:"",Z=X.toString,ee=$.hasOwnProperty,te=$.toString,ae=RegExp("^"+Z.call(ee).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ie=F?b.Buffer:void 0,oe=b.Symbol,ne=b.Uint8Array,re=K(Object.getPrototypeOf,Object),Ee=Object.create,_e=$.propertyIsEnumerable,Te=Q.splice,se=Object.getOwnPropertySymbols,Se=ie?ie.isBuffer:void 0,le=K(Object.keys,Object),Ie=ke(b,"DataView"),Ae=ke(b,"Map"),ue=ke(b,"Promise"),de=ke(b,"Set"),Oe=ke(b,"WeakMap"),ce=ke(Object,"create"),Ne=Ye(Ie),Re=Ye(Ae),me=Ye(ue),Le=Ye(de),De=Ye(Oe),pe=oe?oe.prototype:void 0,Ce=pe?pe.valueOf:void 0;function he(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var i=e[t];this.set(i[0],i[1])}}function fe(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var i=e[t];this.set(i[0],i[1])}}function Pe(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var i=e[t];this.set(i[0],i[1])}}function Be(e){this.__data__=new fe(e)}function ge(e,t){var a=Ke(e)||(function(e){return(function(e){return(function(e){return!!e&&"object"==typeof e})(e)&&je(e)})(e)&&ee.call(e,"callee")&&(!_e.call(e,"callee")||te.call(e)==n)})(e)?(function(e,t){for(var a=-1,i=Array(e);++a<e;)i[a]=t(a);return i})(e.length,String):[],i=a.length,o=!!i;for(var r in e)!t&&!ee.call(e,r)||o&&("length"==r||He(r,i))||a.push(r);return a}function ve(e,t,a){var i=e[t];ee.call(e,t)&&ze(i,a)&&(void 0!==a||t in e)||(e[t]=a)}function Me(e,t){for(var a=e.length;a--;)if(ze(e[a][0],t))return a;return-1}function We(e,t,a,i,o,I,c){var v;if(i&&(v=I?i(e,o,I,c):i(e)),void 0!==v)return v;if(!Xe(e))return e;var M=Ke(e);if(M){if(v=(function(e){var t=e.length,a=e.constructor(t);t&&"string"==typeof e[0]&&ee.call(e,"index")&&(a.index=e.index,a.input=e.input);return a})(e),!t)return(function(e,t){var a=-1,i=e.length;t||(t=Array(i));for(;++a<i;)t[a]=e[a];return t})(e,v)}else{var y=Ve(e),U=y==_||y==T;if(xe(e))return(function(e,t){if(t)return e.slice();var a=new e.constructor(e.length);return e.copy(a),a})(e,t);if(y==l||y==n||U&&!I){if(Y(e))return I?e:{};if(v=(function(e){return"function"!=typeof e.constructor||we(e)?{}:(t=re(e),Xe(t)?Ee(t):{});var t})(U?{}:e),!t)return(function(e,t){return be(e,Fe(e),t)})(e,(function(e,t){return e&&be(t,$e(t),e)})(v,e))}else{if(!W[y])return I?e:{};v=(function(e,t,a,i){var o=e.constructor;switch(t){case N:return Ue(e);case r:case E:return new o(+e);case R:return(function(e,t){var a=t?Ue(e.buffer):e.buffer;return new e.constructor(a,e.byteOffset,e.byteLength)})(e,i);case m:case L:case D:case p:case C:case h:case f:case P:case B:return(function(e,t){var a=t?Ue(e.buffer):e.buffer;return new e.constructor(a,e.byteOffset,e.length)})(e,i);case s:return(function(e,t,a){var i=t?a(z(e),!0):z(e);return w(i,V,new e.constructor)})(e,i,a);case S:case d:return new o(e);case A:return(function(e){var t=new e.constructor(e.source,g.exec(e));return t.lastIndex=e.lastIndex,t})(e);case u:return(function(e,t,a){var i=t?a(j(e),!0):j(e);return w(i,H,new e.constructor)})(e,i,a);case O:return n=e,Ce?Object(Ce.call(n)):{}}var n})(e,y,We,t)}}c||(c=new Be);var b=c.get(e);if(b)return b;if(c.set(e,v),!M)var G=a?(function(e){return(function(e,t,a){var i=t(e);return Ke(e)?i:(function(e,t){for(var a=-1,i=t.length,o=e.length;++a<i;)e[o+a]=t[a];return e})(i,a(e))})(e,$e,Fe)})(e):$e(e);return(function(e,t){for(var a=-1,i=e?e.length:0;++a<i&&!1!==t(e[a],a,e););})(G||e,function(o,n){G&&(o=e[n=o]),ve(v,n,We(o,t,a,i,n,e,c))}),v}function ye(e){return!(!Xe(e)||(t=e,J&&J in t))&&(Qe(e)||Y(e)?ae:v).test(Ye(e));var t}function Ue(e){var t=new e.constructor(e.byteLength);return new ne(t).set(new ne(e)),t}function be(e,t,a,i){a||(a={});for(var o=-1,n=t.length;++o<n;){var r=t[o],E=i?i(a[r],e[r],r,a,e):void 0;ve(a,r,void 0===E?e[r]:E)}return a}function Ge(e,t){var a,i,o=e.__data__;return("string"==(i=typeof(a=t))||"number"==i||"symbol"==i||"boolean"==i?"__proto__"!==a:null===a)?o["string"==typeof t?"string":"hash"]:o.map}function ke(e,t){var a=(function(e,t){return null==e?void 0:e[t]})(e,t);return ye(a)?a:void 0}he.prototype.clear=function(){this.__data__=ce?ce(null):{}},he.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},he.prototype.get=function(e){var t=this.__data__;if(ce){var a=t[e];return a===i?void 0:a}return ee.call(t,e)?t[e]:void 0},he.prototype.has=function(e){var t=this.__data__;return ce?void 0!==t[e]:ee.call(t,e)},he.prototype.set=function(e,t){return this.__data__[e]=ce&&void 0===t?i:t,this},fe.prototype.clear=function(){this.__data__=[]},fe.prototype.delete=function(e){var t=this.__data__,a=Me(t,e);return!(a<0)&&(a==t.length-1?t.pop():Te.call(t,a,1),!0)},fe.prototype.get=function(e){var t=this.__data__,a=Me(t,e);return a<0?void 0:t[a][1]},fe.prototype.has=function(e){return Me(this.__data__,e)>-1},fe.prototype.set=function(e,t){var a=this.__data__,i=Me(a,e);return i<0?a.push([e,t]):a[i][1]=t,this},Pe.prototype.clear=function(){this.__data__={hash:new he,map:new(Ae||fe),string:new he}},Pe.prototype.delete=function(e){return Ge(this,e).delete(e)},Pe.prototype.get=function(e){return Ge(this,e).get(e)},Pe.prototype.has=function(e){return Ge(this,e).has(e)},Pe.prototype.set=function(e,t){return Ge(this,e).set(e,t),this},Be.prototype.clear=function(){this.__data__=new fe},Be.prototype.delete=function(e){return this.__data__.delete(e)},Be.prototype.get=function(e){return this.__data__.get(e)},Be.prototype.has=function(e){return this.__data__.has(e)},Be.prototype.set=function(e,t){var a=this.__data__;if(a instanceof fe){var i=a.__data__;if(!Ae||i.length<199)return i.push([e,t]),this;a=this.__data__=new Pe(i)}return a.set(e,t),this};var Fe=se?K(se,Object):function(){return[]},Ve=function(e){return te.call(e)};function He(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||M.test(e))&&e>-1&&e%1==0&&e<t}function we(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||$)}function Ye(e){if(null!=e){try{return Z.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function ze(e,t){return e===t||e!=e&&t!=t}(Ie&&Ve(new Ie(new ArrayBuffer(1)))!=R||Ae&&Ve(new Ae)!=s||ue&&Ve(ue.resolve())!=I||de&&Ve(new de)!=u||Oe&&Ve(new Oe)!=c)&&(Ve=function(e){var t=te.call(e),a=t==l?e.constructor:void 0,i=a?Ye(a):void 0;if(i)switch(i){case Ne:return R;case Re:return s;case me:return I;case Le:return u;case De:return c}return t});var Ke=Array.isArray;function je(e){return null!=e&&(function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o})(e.length)&&!Qe(e)}var xe=Se||function(){return!1};function Qe(e){var t=Xe(e)?te.call(e):"";return t==_||t==T}function Xe(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function $e(e){return je(e)?ge(e):(function(e){if(!we(e))return le(e);var t=[];for(var a in Object(e))ee.call(e,a)&&"constructor"!=a&&t.push(a);return t})(e)}e.exports=function(e){return We(e,!0,!0)}},32889:(e,t,a)=>{var i=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,n=/^0b[01]+$/i,r=/^0o[0-7]+$/i,E=parseInt,_="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,T="object"==typeof self&&self&&self.Object===Object&&self,s=_||T||Function("return this")(),S=Object.prototype.toString,l=Math.max,I=Math.min,A=function(){return s.Date.now()};function u(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function d(e){if("number"==typeof e)return e;if((function(e){return"symbol"==typeof e||(function(e){return!!e&&"object"==typeof e})(e)&&"[object Symbol]"==S.call(e)})(e))return NaN;if(u(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=u(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var a=n.test(e);return a||r.test(e)?E(e.slice(2),a?2:8):o.test(e)?NaN:+e}e.exports=function(e,t,a){var i,o,n,r,E,_,T=0,s=!1,S=!1,O=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function c(t){var a=i,n=o;return i=o=void 0,T=t,r=e.apply(n,a)}function N(e){var a=e-_;return void 0===_||a>=t||a<0||S&&e-T>=n}function R(){var e=A();if(N(e))return m(e);E=setTimeout(R,(function(e){var a=t-(e-_);return S?I(a,n-(e-T)):a})(e))}function m(e){return E=void 0,O&&i?c(e):(i=o=void 0,r)}function L(){var e=A(),a=N(e);if(i=arguments,o=this,_=e,a){if(void 0===E)return(function(e){return T=e,E=setTimeout(R,t),s?c(e):r})(_);if(S)return E=setTimeout(R,t),c(_)}return void 0===E&&(E=setTimeout(R,t)),r}return t=d(t)||0,u(a)&&(s=!!a.leading,n=(S="maxWait"in a)?l(d(a.maxWait)||0,t):n,O="trailing"in a?!!a.trailing:O),L.cancel=function(){void 0!==E&&clearTimeout(E),T=0,i=_=o=E=void 0},L.flush=function(){return void 0===E?r:m(A())},L}},87597:(e,t,a)=>{var i="__lodash_hash_undefined__",o=9007199254740991,n=/^\[object .+?Constructor\]$/,r="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,E="object"==typeof self&&self&&self.Object===Object&&self,_=r||E||Function("return this")();function T(e,t){return!!(e?e.length:0)&&(function(e,t,a){if(t!=t)return(function(e,t,a,i){var o=e.length,n=a+(i?1:-1);for(;i?n--:++n<o;)if(t(e[n],n,e))return n;return-1})(e,l,a);var i=a-1,o=e.length;for(;++i<o;)if(e[i]===t)return i;return-1})(e,t,0)>-1}function s(e,t,a){for(var i=-1,o=e?e.length:0;++i<o;)if(a(t,e[i]))return!0;return!1}function S(e,t){for(var a=-1,i=e?e.length:0,o=Array(i);++a<i;)o[a]=t(e[a],a,e);return o}function l(e){return e!=e}function I(e){return function(t){return e(t)}}function A(e,t){return e.has(t)}var u,d=Array.prototype,O=Function.prototype,c=Object.prototype,N=_["__core-js_shared__"],R=(u=/[^.]+$/.exec(N&&N.keys&&N.keys.IE_PROTO||""))?"Symbol(src)_1."+u:"",m=O.toString,L=c.hasOwnProperty,D=c.toString,p=RegExp("^"+m.call(L).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),C=d.splice,h=Math.max,f=Math.min,P=k(_,"Map"),B=k(Object,"create");function g(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var i=e[t];this.set(i[0],i[1])}}function v(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var i=e[t];this.set(i[0],i[1])}}function M(e){var t=-1,a=e?e.length:0;for(this.clear();++t<a;){var i=e[t];this.set(i[0],i[1])}}function W(e){var t=-1,a=e?e.length:0;for(this.__data__=new M;++t<a;)this.add(e[t])}function y(e,t){for(var a=e.length;a--;)if(w(e[a][0],t))return a;return-1}function U(e){if(!z(e)||(t=e,R&&R in t))return!1;var t,a=Y(e)||(function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t})(e)?p:n;return a.test((function(e){if(null!=e){try{return m.call(e)}catch(e){}try{return e+""}catch(e){}}return""})(e))}function b(e){return(function(e){return(function(e){return!!e&&"object"==typeof e})(e)&&(function(e){return null!=e&&(function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o})(e.length)&&!Y(e)})(e)})(e)?e:[]}function G(e,t){var a,i,o=e.__data__;return("string"==(i=typeof(a=t))||"number"==i||"symbol"==i||"boolean"==i?"__proto__"!==a:null===a)?o["string"==typeof t?"string":"hash"]:o.map}function k(e,t){var a=(function(e,t){return null==e?void 0:e[t]})(e,t);return U(a)?a:void 0}g.prototype.clear=function(){this.__data__=B?B(null):{}},g.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},g.prototype.get=function(e){var t=this.__data__;if(B){var a=t[e];return a===i?void 0:a}return L.call(t,e)?t[e]:void 0},g.prototype.has=function(e){var t=this.__data__;return B?void 0!==t[e]:L.call(t,e)},g.prototype.set=function(e,t){return this.__data__[e]=B&&void 0===t?i:t,this},v.prototype.clear=function(){this.__data__=[]},v.prototype.delete=function(e){var t=this.__data__,a=y(t,e);return!(a<0)&&(a==t.length-1?t.pop():C.call(t,a,1),!0)},v.prototype.get=function(e){var t=this.__data__,a=y(t,e);return a<0?void 0:t[a][1]},v.prototype.has=function(e){return y(this.__data__,e)>-1},v.prototype.set=function(e,t){var a=this.__data__,i=y(a,e);return i<0?a.push([e,t]):a[i][1]=t,this},M.prototype.clear=function(){this.__data__={hash:new g,map:new(P||v),string:new g}},M.prototype.delete=function(e){return G(this,e).delete(e)},M.prototype.get=function(e){return G(this,e).get(e)},M.prototype.has=function(e){return G(this,e).has(e)},M.prototype.set=function(e,t){return G(this,e).set(e,t),this},W.prototype.add=W.prototype.push=function(e){return this.__data__.set(e,i),this},W.prototype.has=function(e){return this.__data__.has(e)};var F,V,H=(F=function(e){var t=S(e,b);return t.length&&t[0]===e[0]?(function(e,t,a){for(var i=a?s:T,o=e[0].length,n=e.length,r=n,E=Array(n),_=1/0,l=[];r--;){var u=e[r];r&&t&&(u=S(u,I(t))),_=f(u.length,_),E[r]=!a&&(t||o>=120&&u.length>=120)?new W(r&&u):void 0}u=e[0];var d=-1,O=E[0];e:for(;++d<o&&l.length<_;){var c=u[d],N=t?t(c):c;if(c=a||0!==c?c:0,!(O?A(O,N):i(l,N,a))){for(r=n;--r;){var R=E[r];if(!(R?A(R,N):i(e[r],N,a)))continue e}O&&O.push(N),l.push(c)}}return l})(t):[]},V=h(void 0===V?F.length-1:V,0),function(){for(var e=arguments,t=-1,a=h(e.length-V,0),i=Array(a);++t<a;)i[t]=e[V+t];t=-1;for(var o=Array(V+1);++t<V;)o[t]=e[t];return o[V]=i,(function(e,t,a){switch(a.length){case 0:return e.call(t);case 1:return e.call(t,a[0]);case 2:return e.call(t,a[0],a[1]);case 3:return e.call(t,a[0],a[1],a[2])}return e.apply(t,a)})(F,this,o)});function w(e,t){return e===t||e!=e&&t!=t}function Y(e){var t=z(e)?D.call(e):"";return"[object Function]"==t||"[object GeneratorFunction]"==t}function z(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}e.exports=H},82178:(e,t,a)=>{e=a.nmd(e);var i="__lodash_hash_undefined__",o=9007199254740991,n="[object Arguments]",r="[object Array]",E="[object Boolean]",_="[object Date]",T="[object Error]",s="[object Function]",S="[object Map]",l="[object Number]",I="[object Object]",A="[object Promise]",u="[object RegExp]",d="[object Set]",O="[object String]",c="[object Symbol]",N="[object WeakMap]",R="[object ArrayBuffer]",m="[object DataView]",L=/^\[object .+?Constructor\]$/,D=/^(?:0|[1-9]\d*)$/,p={};p["[object Float32Array]"]=p["[object Float64Array]"]=p["[object Int8Array]"]=p["[object Int16Array]"]=p["[object Int32Array]"]=p["[object Uint8Array]"]=p["[object Uint8ClampedArray]"]=p["[object Uint16Array]"]=p["[object Uint32Array]"]=!0,p[n]=p[r]=p[R]=p[E]=p[m]=p[_]=p[T]=p[s]=p[S]=p[l]=p[I]=p[u]=p[d]=p[O]=p[N]=!1;var C="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,h="object"==typeof self&&self&&self.Object===Object&&self,f=C||h||Function("return this")(),P=t&&!t.nodeType&&t,B=P&&e&&!e.nodeType&&e,g=B&&B.exports===P,v=g&&C.process,M=(function(){try{return v&&v.binding&&v.binding("util")}catch(e){}})(),W=M&&M.isTypedArray;function y(e,t){for(var a=-1,i=null==e?0:e.length;++a<i;)if(t(e[a],a,e))return!0;return!1}function U(e){var t=-1,a=Array(e.size);return e.forEach(function(e,i){a[++t]=[i,e]}),a}function b(e){var t=-1,a=Array(e.size);return e.forEach(function(e){a[++t]=e}),a}var G,k,F,V=Array.prototype,H=Function.prototype,w=Object.prototype,Y=f["__core-js_shared__"],z=H.toString,K=w.hasOwnProperty,j=(G=/[^.]+$/.exec(Y&&Y.keys&&Y.keys.IE_PROTO||""))?"Symbol(src)_1."+G:"",x=w.toString,Q=RegExp("^"+z.call(K).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),X=g?f.Buffer:void 0,$=f.Symbol,q=f.Uint8Array,J=w.propertyIsEnumerable,Z=V.splice,ee=$?$.toStringTag:void 0,te=Object.getOwnPropertySymbols,ae=X?X.isBuffer:void 0,ie=(k=Object.keys,F=Object,function(e){return k(F(e))}),oe=Me(f,"DataView"),ne=Me(f,"Map"),re=Me(f,"Promise"),Ee=Me(f,"Set"),_e=Me(f,"WeakMap"),Te=Me(Object,"create"),se=be(oe),Se=be(ne),le=be(re),Ie=be(Ee),Ae=be(_e),ue=$?$.prototype:void 0,de=ue?ue.valueOf:void 0;function Oe(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var i=e[t];this.set(i[0],i[1])}}function ce(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var i=e[t];this.set(i[0],i[1])}}function Ne(e){var t=-1,a=null==e?0:e.length;for(this.clear();++t<a;){var i=e[t];this.set(i[0],i[1])}}function Re(e){var t=-1,a=null==e?0:e.length;for(this.__data__=new Ne;++t<a;)this.add(e[t])}function me(e){var t=this.__data__=new ce(e);this.size=t.size}function Le(e,t){var a=Fe(e),i=!a&&ke(e),o=!a&&!i&&Ve(e),n=!a&&!i&&!o&&Ke(e),r=a||i||o||n,E=r?(function(e,t){for(var a=-1,i=Array(e);++a<e;)i[a]=t(a);return i})(e.length,String):[],_=E.length;for(var T in e)!t&&!K.call(e,T)||r&&("length"==T||o&&("offset"==T||"parent"==T)||n&&("buffer"==T||"byteLength"==T||"byteOffset"==T)||Ue(T,_))||E.push(T);return E}function De(e,t){for(var a=e.length;a--;)if(Ge(e[a][0],t))return a;return-1}function pe(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":ee&&ee in Object(e)?(function(e){var t=K.call(e,ee),a=e[ee];try{e[ee]=void 0;var i=!0}catch(e){}var o=x.call(e);i&&(t?e[ee]=a:delete e[ee]);return o})(e):(function(e){return x.call(e)})(e)}function Ce(e){return ze(e)&&pe(e)==n}function he(e,t,a,i,o){return e===t||(null==e||null==t||!ze(e)&&!ze(t)?e!=e&&t!=t:(function(e,t,a,i,o,s){var A=Fe(e),N=Fe(t),L=A?r:ye(e),D=N?r:ye(t),p=(L=L==n?I:L)==I,C=(D=D==n?I:D)==I,h=L==D;if(h&&Ve(e)){if(!Ve(t))return!1;A=!0,p=!1}if(h&&!p)return s||(s=new me),A||Ke(e)?Be(e,t,a,i,o,s):(function(e,t,a,i,o,n,r){switch(a){case m:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case R:return!(e.byteLength!=t.byteLength||!n(new q(e),new q(t)));case E:case _:case l:return Ge(+e,+t);case T:return e.name==t.name&&e.message==t.message;case u:case O:return e==t+"";case S:var s=U;case d:var I=1&i;if(s||(s=b),e.size!=t.size&&!I)return!1;var A=r.get(e);if(A)return A==t;i|=2,r.set(e,t);var N=Be(s(e),s(t),i,o,n,r);return r.delete(e),N;case c:if(de)return de.call(e)==de.call(t)}return!1})(e,t,L,a,i,o,s);if(!(1&a)){var f=p&&K.call(e,"__wrapped__"),P=C&&K.call(t,"__wrapped__");if(f||P){var B=f?e.value():e,g=P?t.value():t;return s||(s=new me),o(B,g,a,i,s)}}if(!h)return!1;return s||(s=new me),(function(e,t,a,i,o,n){var r=1&a,E=ge(e),_=E.length,T=ge(t),s=T.length;if(_!=s&&!r)return!1;var S=_;for(;S--;){var l=E[S];if(!(r?l in t:K.call(t,l)))return!1}var I=n.get(e);if(I&&n.get(t))return I==t;var A=!0;n.set(e,t),n.set(t,e);var u=r;for(;++S<_;){var d=e[l=E[S]],O=t[l];if(i)var c=r?i(O,d,l,t,e,n):i(d,O,l,e,t,n);if(!(void 0===c?d===O||o(d,O,a,i,n):c)){A=!1;break}u||(u="constructor"==l)}if(A&&!u){var N=e.constructor,R=t.constructor;N==R||!("constructor"in e)||!("constructor"in t)||"function"==typeof N&&N instanceof N&&"function"==typeof R&&R instanceof R||(A=!1)}return n.delete(e),n.delete(t),A})(e,t,a,i,o,s)})(e,t,a,i,he,o))}function fe(e){return!(!Ye(e)||(function(e){return!!j&&j in e})(e))&&(He(e)?Q:L).test(be(e))}function Pe(e){if(a=(t=e)&&t.constructor,i="function"==typeof a&&a.prototype||w,t!==i)return ie(e);var t,a,i,o=[];for(var n in Object(e))K.call(e,n)&&"constructor"!=n&&o.push(n);return o}function Be(e,t,a,i,o,n){var r=1&a,E=e.length,_=t.length;if(E!=_&&!(r&&_>E))return!1;var T=n.get(e);if(T&&n.get(t))return T==t;var s=-1,S=!0,l=2&a?new Re:void 0;for(n.set(e,t),n.set(t,e);++s<E;){var I=e[s],A=t[s];if(i)var u=r?i(A,I,s,t,e,n):i(I,A,s,e,t,n);if(void 0!==u){if(u)continue;S=!1;break}if(l){if(!y(t,function(e,t){if(r=t,!l.has(r)&&(I===e||o(I,e,a,i,n)))return l.push(t);var r})){S=!1;break}}else if(I!==A&&!o(I,A,a,i,n)){S=!1;break}}return n.delete(e),n.delete(t),S}function ge(e){return(function(e,t,a){var i=t(e);return Fe(e)?i:(function(e,t){for(var a=-1,i=t.length,o=e.length;++a<i;)e[o+a]=t[a];return e})(i,a(e))})(e,je,We)}function ve(e,t){var a,i,o=e.__data__;return("string"==(i=typeof(a=t))||"number"==i||"symbol"==i||"boolean"==i?"__proto__"!==a:null===a)?o["string"==typeof t?"string":"hash"]:o.map}function Me(e,t){var a=(function(e,t){return null==e?void 0:e[t]})(e,t);return fe(a)?a:void 0}Oe.prototype.clear=function(){this.__data__=Te?Te(null):{},this.size=0},Oe.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Oe.prototype.get=function(e){var t=this.__data__;if(Te){var a=t[e];return a===i?void 0:a}return K.call(t,e)?t[e]:void 0},Oe.prototype.has=function(e){var t=this.__data__;return Te?void 0!==t[e]:K.call(t,e)},Oe.prototype.set=function(e,t){var a=this.__data__;return this.size+=this.has(e)?0:1,a[e]=Te&&void 0===t?i:t,this},ce.prototype.clear=function(){this.__data__=[],this.size=0},ce.prototype.delete=function(e){var t=this.__data__,a=De(t,e);return!(a<0)&&(a==t.length-1?t.pop():Z.call(t,a,1),--this.size,!0)},ce.prototype.get=function(e){var t=this.__data__,a=De(t,e);return a<0?void 0:t[a][1]},ce.prototype.has=function(e){return De(this.__data__,e)>-1},ce.prototype.set=function(e,t){var a=this.__data__,i=De(a,e);return i<0?(++this.size,a.push([e,t])):a[i][1]=t,this},Ne.prototype.clear=function(){this.size=0,this.__data__={hash:new Oe,map:new(ne||ce),string:new Oe}},Ne.prototype.delete=function(e){var t=ve(this,e).delete(e);return this.size-=t?1:0,t},Ne.prototype.get=function(e){return ve(this,e).get(e)},Ne.prototype.has=function(e){return ve(this,e).has(e)},Ne.prototype.set=function(e,t){var a=ve(this,e),i=a.size;return a.set(e,t),this.size+=a.size==i?0:1,this},Re.prototype.add=Re.prototype.push=function(e){return this.__data__.set(e,i),this},Re.prototype.has=function(e){return this.__data__.has(e)},me.prototype.clear=function(){this.__data__=new ce,this.size=0},me.prototype.delete=function(e){var t=this.__data__,a=t.delete(e);return this.size=t.size,a},me.prototype.get=function(e){return this.__data__.get(e)},me.prototype.has=function(e){return this.__data__.has(e)},me.prototype.set=function(e,t){var a=this.__data__;if(a instanceof ce){var i=a.__data__;if(!ne||i.length<199)return i.push([e,t]),this.size=++a.size,this;a=this.__data__=new Ne(i)}return a.set(e,t),this.size=a.size,this};var We=te?function(e){return null==e?[]:(e=Object(e),(function(e,t){for(var a=-1,i=null==e?0:e.length,o=0,n=[];++a<i;){var r=e[a];t(r,a,e)&&(n[o++]=r)}return n})(te(e),function(t){return J.call(e,t)}))}:function(){return[]},ye=pe;function Ue(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||D.test(e))&&e>-1&&e%1==0&&e<t}function be(e){if(null!=e){try{return z.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Ge(e,t){return e===t||e!=e&&t!=t}(oe&&ye(new oe(new ArrayBuffer(1)))!=m||ne&&ye(new ne)!=S||re&&ye(re.resolve())!=A||Ee&&ye(new Ee)!=d||_e&&ye(new _e)!=N)&&(ye=function(e){var t=pe(e),a=t==I?e.constructor:void 0,i=a?be(a):"";if(i)switch(i){case se:return m;case Se:return S;case le:return A;case Ie:return d;case Ae:return N}return t});var ke=Ce((function(){return arguments})())?Ce:function(e){return ze(e)&&K.call(e,"callee")&&!J.call(e,"callee")},Fe=Array.isArray;var Ve=ae||function(){return!1};function He(e){if(!Ye(e))return!1;var t=pe(e);return t==s||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function we(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o}function Ye(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ze(e){return null!=e&&"object"==typeof e}var Ke=W?(function(e){return function(t){return e(t)}})(W):function(e){return ze(e)&&we(e.length)&&!!p[pe(e)]};function je(e){return null!=(t=e)&&we(t.length)&&!He(t)?Le(e):Pe(e);var t}e.exports=function(e,t){return he(e,t)}},19551:(e,t,a)=>{var i="Expected a function",o=/^\s+|\s+$/g,n=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,E=/^0o[0-7]+$/i,_=parseInt,T="object"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,s="object"==typeof self&&self&&self.Object===Object&&self,S=T||s||Function("return this")(),l=Object.prototype.toString,I=Math.max,A=Math.min,u=function(){return S.Date.now()};function d(e,t,a){var o,n,r,E,_,T,s=0,S=!1,l=!1,d=!0;if("function"!=typeof e)throw new TypeError(i);function N(t){var a=o,i=n;return o=n=void 0,s=t,E=e.apply(i,a)}function R(e){var a=e-T;return void 0===T||a>=t||a<0||l&&e-s>=r}function m(){var e=u();if(R(e))return L(e);_=setTimeout(m,(function(e){var a=t-(e-T);return l?A(a,r-(e-s)):a})(e))}function L(e){return _=void 0,d&&o?N(e):(o=n=void 0,E)}function D(){var e=u(),a=R(e);if(o=arguments,n=this,T=e,a){if(void 0===_)return(function(e){return s=e,_=setTimeout(m,t),S?N(e):E})(T);if(l)return _=setTimeout(m,t),N(T)}return void 0===_&&(_=setTimeout(m,t)),E}return t=c(t)||0,O(a)&&(S=!!a.leading,r=(l="maxWait"in a)?I(c(a.maxWait)||0,t):r,d="trailing"in a?!!a.trailing:d),D.cancel=function(){void 0!==_&&clearTimeout(_),s=0,o=T=n=_=void 0},D.flush=function(){return void 0===_?E:L(u())},D}function O(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function c(e){if("number"==typeof e)return e;if((function(e){return"symbol"==typeof e||(function(e){return!!e&&"object"==typeof e})(e)&&"[object Symbol]"==l.call(e)})(e))return NaN;if(O(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=O(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(o,"");var a=r.test(e);return a||E.test(e)?_(e.slice(2),a?2:8):n.test(e)?NaN:+e}e.exports=function(e,t,a){var o=!0,n=!0;if("function"!=typeof e)throw new TypeError(i);return O(a)&&(o="leading"in a?!!a.leading:o,n="trailing"in a?!!a.trailing:n),d(e,t,{leading:o,maxWait:t,trailing:n})}},53909:(e,t,a)=>{var i=a(84686).hp;e.exports=r,e.exports.decode=r,e.exports.encode=function(e){e=Object.assign({},e);let t=new Set;e.xt&&"string"==typeof e.xt&&t.add(e.xt);e.xt&&Array.isArray(e.xt)&&(t=new Set(e.xt));e.infoHashBuffer&&t.add(`urn:btih:${e.infoHashBuffer.toString("hex")}`);e.infoHash&&t.add(`urn:btih:${e.infoHash}`);e.infoHashV2Buffer&&t.add(e.xt=`urn:btmh:1220${e.infoHashV2Buffer.toString("hex")}`);e.infoHashV2&&t.add(`urn:btmh:1220${e.infoHashV2}`);const a=Array.from(t);1===a.length&&(e.xt=a[0]);a.length>1&&(e.xt=a);e.publicKeyBuffer&&(e.xs=`urn:btpk:${e.publicKeyBuffer.toString("hex")}`);e.publicKey&&(e.xs=`urn:btpk:${e.publicKey}`);e.name&&(e.dn=e.name);e.keywords&&(e.kt=e.keywords);e.announce&&(e.tr=e.announce);e.urlList&&(e.ws=e.urlList,delete e.as);e.peerAddresses&&(e["x.pe"]=e.peerAddresses);let i="magnet:?";return Object.keys(e).filter(e=>2===e.length||"x.pe"===e).forEach((t,a)=>{const o=Array.isArray(e[t])?e[t]:[e[t]];o.forEach((e,o)=>{(a>0||o>0)&&("kt"!==t&&"so"!==t||0===o)&&(i+="&"),"dn"===t&&(e=encodeURIComponent(e).replace(/%20/g,"+")),"tr"!==t&&"as"!==t&&"ws"!==t||(e=encodeURIComponent(e)),"xs"!==t||e.startsWith("urn:btpk:")||(e=encodeURIComponent(e)),"kt"===t&&(e=encodeURIComponent(e)),"so"!==t&&(i+="kt"===t&&o>0?`+${e}`:`${t}=${e}`)}),"so"===t&&(i+=`${t}=${n.compose(o)}`)}),i};const o=a(942),n=a(51042);function r(e){const t={},a=e.split("magnet:?")[1];let r;if((a&&a.length>=0?a.split("&"):[]).forEach(e=>{const a=e.split("=");if(2!==a.length)return;const i=a[0];let o=a[1];"dn"===i&&(o=decodeURIComponent(o).replace(/\+/g," ")),"tr"!==i&&"xs"!==i&&"as"!==i&&"ws"!==i||(o=decodeURIComponent(o)),"kt"===i&&(o=decodeURIComponent(o).split("+")),"ix"===i&&(o=Number(o)),"so"===i&&(o=n.parse(decodeURIComponent(o).split(","))),t[i]?(Array.isArray(t[i])||(t[i]=[t[i]]),t[i].push(o)):t[i]=o}),t.xt){(Array.isArray(t.xt)?t.xt:[t.xt]).forEach(e=>{if(r=e.match(/^urn:btih:(.{40})/))t.infoHash=r[1].toLowerCase();else if(r=e.match(/^urn:btih:(.{32})/)){const e=o.decode(r[1]);t.infoHash=i.from(e,"binary").toString("hex")}else(r=e.match(/^urn:btmh:1220(.{64})/))&&(t.infoHashV2=r[1].toLowerCase())})}if(t.xs){(Array.isArray(t.xs)?t.xs:[t.xs]).forEach(e=>{(r=e.match(/^urn:btpk:(.{64})/))&&(t.publicKey=r[1].toLowerCase())})}return t.infoHash&&(t.infoHashBuffer=i.from(t.infoHash,"hex")),t.infoHashV2&&(t.infoHashV2Buffer=i.from(t.infoHashV2,"hex")),t.publicKey&&(t.publicKeyBuffer=i.from(t.publicKey,"hex")),t.dn&&(t.name=t.dn),t.kt&&(t.keywords=t.kt),t.announce=[],("string"==typeof t.tr||Array.isArray(t.tr))&&(t.announce=t.announce.concat(t.tr)),t.urlList=[],("string"==typeof t.as||Array.isArray(t.as))&&(t.urlList=t.urlList.concat(t.as)),("string"==typeof t.ws||Array.isArray(t.ws))&&(t.urlList=t.urlList.concat(t.ws)),t.peerAddresses=[],("string"==typeof t["x.pe"]||Array.isArray(t["x.pe"]))&&(t.peerAddresses=t.peerAddresses.concat(t["x.pe"])),t.announce=Array.from(new Set(t.announce)),t.urlList=Array.from(new Set(t.urlList)),t.peerAddresses=Array.from(new Set(t.peerAddresses)),t}},29895:e=>{"use strict";e.exports=Math.abs},72153:e=>{"use strict";e.exports=Math.floor},15518:e=>{"use strict";e.exports=Number.isNaN||function(e){return e!=e}},90457:e=>{"use strict";e.exports=Math.max},21179:e=>{"use strict";e.exports=Math.min},55985:e=>{"use strict";e.exports=Math.pow},88639:e=>{"use strict";e.exports=Math.round},55738:(e,t,a)=>{"use strict";var i=a(15518);e.exports=function(e){return i(e)||0===e?e:e<0?-1:1}},63810:e=>{e.exports={"error-container":"error-container-OJnoc","error-image":"error-image-qU9Qo","error-message":"error-message-kW59Z","buttons-container":"buttons-container-tQonN","button-container":"button-container-vLSQK",label:"label-Up_te"}},70036:e=>{e.exports={"updater-banner":"updater-banner-MjMLN",button:"button-ixcOU",close:"close-Quid9",icon:"icon-N2Lyd"}},36329:e=>{e.exports={"fade-in":"fade-in-pFkt_","fade-in-no-motion":"fade-in-no-motion-lYmxL","slide-up":"slide-up-lSxrC","toasts-container":"toasts-container-oKECy","tooltip-container":"tooltip-container-Qpse8","file-drop-container":"file-drop-container-gHJoy","updater-banner-container":"updater-banner-container-Bk1mq",router:"router-_65XU","loader-container":"loader-container-vwvnb","error-container":"error-container-VZXwH"}},68738:e=>{e.exports={"toast-item-container":"toast-item-container-nG0uk",success:"success-eIDTa","icon-container":"icon-container-rjAiH",icon:"icon-Y4I_O",error:"error-quyOd",info:"info-KEWq8","info-container":"info-container-xD9V6","title-container":"title-container-VFReJ","message-container":"message-container-znkCj","close-button-container":"close-button-container-YtyYE"}},96906:e=>{e.exports={"tooltip-placeholder":"tooltip-placeholder-niioe"}},25495:e=>{e.exports={"tooltip-item":"tooltip-item-gfYXu"}},33325:e=>{e.exports={"addon-details-container":"addon-details-container-tUlp2","title-container":"title-container-Ca076",logo:"logo-Nynh9",icon:"icon-ZYXtC","name-container":"name-container-XxPAj",name:"name-i0o3Y",version:"version-FdUq6","section-container":"section-container-N6QHW","section-header":"section-header-tbXCb","section-label":"section-label-_R7gz","transport-url-label":"transport-url-label-upr4V","disclaimer-label":"disclaimer-label-I7kvM"}},82910:e=>{e.exports={"addon-details-modal-container":"addon-details-modal-container-aBFaQ","addon-details-container":"addon-details-container-VdGrt","addon-details-message-container":"addon-details-message-container-X2sRf","cancel-button":"cancel-button-zuUX6","cancel-button-label":"cancel-button-label-ZOQUJ","uninstall-button":"uninstall-button-iLxLs"}},43351:e=>{e.exports={"bottom-sheet":"bottom-sheet-VtqY2",backdrop:"backdrop-Doe6y",container:"container-yiLtz",dragging:"dragging-ML0cp",heading:"heading-xf2ct",handle:"handle-TCLds",title:"title-QtERv",content:"content-ElxXl"}},5077:e=>{e.exports={"button-container":"button-container-zVLH6"}},62871:e=>{e.exports={checkbox:"checkbox-_AF32",label:"label-UHMAy",link:"link-ih0xx","checkbox-container":"checkbox-container-O5cy3","checkbox-icon":"checkbox-icon-viDqg",disabled:"disabled-oxpfi",error:"error-LWgU0",checked:"checked-cf9YT"}},24189:e=>{e.exports={chip:"chip-L3r9A",active:"active-jnhyP"}},37359:e=>{e.exports={chips:"chips-Uw41c"}},3599:e=>{e.exports={"color-input-container":"color-input-container-FAQiP","transparent-label-container":"transparent-label-container-uuGMx","transparent-label":"transparent-label-NxKvi","color-picker-container":"color-picker-container-szQfD"}},79846:e=>{e.exports={"color-picker-container":"color-picker-container-Cny5U"}},72775:e=>{e.exports={"context-menu-container":"context-menu-container-TdwXy","context-menu":"context-menu-kWx7C"}},60788:e=>{e.exports={"event-modal":"event-modal-lIGmX","body-container":"body-container-x9t4v",image:"image-iUBVI","info-container":"info-container-ewqxH","title-container":"title-container-tBMsA",title:"title-lE2cq",label:"label-KwjpM","addon-container":"addon-container-YNNkt",icon:"icon-n54me",name:"name-DVEMC","action-button":"action-button-QSvOg","button-label":"button-label-hRZRW"}},5639:e=>{e.exports={"horizontal-scroll":"horizontal-scroll-pGtUW",left:"left-MCk5v",right:"right-bxsRb",center:"center-J9E02"}},99715:e=>{e.exports={"main-nav-bars-container":"main-nav-bars-container-wNjS5","horizontal-nav-bar":"horizontal-nav-bar-ji5GB","vertical-nav-bar":"vertical-nav-bar-qGRze","nav-content-container":"nav-content-container-zl9hQ"}},81965:e=>{e.exports={"meta-item-container":"meta-item-container-Tj0Ib","poster-container":"poster-container-qkw48","dismiss-icon-layer":"dismiss-icon-layer-BWztF","poster-image-layer":"poster-image-layer-KimPZ","play-icon-layer":"play-icon-layer-vpQIo","play-icon-outer":"play-icon-outer-r3iKR","play-icon-background":"play-icon-background-Uazjh","title-bar-container":"title-bar-container-1Ba0x","menu-label-container":"menu-label-container-ChuX8","poster-shape-poster":"poster-shape-poster-MEhNx","poster-shape-square":"poster-shape-square-meMeN","poster-shape-landscape":"poster-shape-landscape-kF6i8","dismiss-icon":"dismiss-icon-db3fv","dismiss-icon-backdrop":"dismiss-icon-backdrop-MkuLQ","watched-icon-layer":"watched-icon-layer-bi3DO","watched-icon":"watched-icon-zuUdK","poster-image":"poster-image-NiV7O","placeholder-icon":"placeholder-icon-xttvb","play-icon":"play-icon-QmEEA","progress-bar-layer":"progress-bar-layer-LVYYi","progress-bar":"progress-bar-w1rNN","progress-bar-background":"progress-bar-background-kyRgp","new-videos":"new-videos-cwuD9",layer:"layer-dQmEe",icon:"icon-gh1t9",label:"label-ZZ2m7","title-label":"title-label-VnEAc"}},10681:e=>{e.exports={"action-button-container":"action-button-container-sVyRr","icon-container":"icon-container-rQBA0",icon:"icon-RouVG","label-container":"label-container-xslEF",label:"label-WCWIO"}},47047:e=>{e.exports={"meta-links-container":"meta-links-container-dh69_","label-container":"label-container-dYN2B","links-container":"links-container-C8Mw9","link-container":"link-container-gHxPW"}},75327:e=>{e.exports={"meta-preview-placeholder-container":"meta-preview-placeholder-container-IVU4R","meta-info-container":"meta-info-container-zVaVX","logo-container":"logo-container-CES89","duration-release-info-container":"duration-release-info-container-JQE0f","duration-container":"duration-container-tVH7K","release-info-container":"release-info-container-dbZja","genres-container":"genres-container-MkCtO","genres-header-container":"genres-header-container-XNnjL","genre-label-container":"genre-label-container-r3gbk","action-buttons-container":"action-buttons-container-FHoD2"}},3419:e=>{e.exports={"ratings-container":"ratings-container-eQRLs","icon-container":"icon-container-kow_q",icon:"icon-QwGlD",disabled:"disabled-W7ks1"}},18700:e=>{e.exports={"meta-preview-container":"meta-preview-container-o22hc",compact:"compact-ii1zu","meta-info-container":"meta-info-container-ub8AH",logo:"logo-X3hTV","logo-placeholder":"logo-placeholder-rE1ld","runtime-release-info-container":"runtime-release-info-container-BGd_r","runtime-label":"runtime-label-TzAGI","release-info-label":"release-info-label-LPJMB","description-container":"description-container-yi8iU","action-buttons-container":"action-buttons-container-XbKVa","action-button":"action-button-XIZa3","background-image-layer":"background-image-layer-kk_WI","background-image":"background-image-9zToE","imdb-button-container":"imdb-button-container-gGjxp",label:"label-MXv72",icon:"icon-N_uIU","label-container":"label-container-_VXZt","meta-links":"meta-links-Xiao3","show-button":"show-button-_yuOF",ratings:"ratings-zUtHH","share-prompt":"share-prompt-QbhIA"}},85039:e=>{e.exports={"meta-row-placeholder-container":"meta-row-placeholder-container-x8ykQ","header-container":"header-container-LRLpi","title-container":"title-container-RuV2b","see-all-container":"see-all-container-GtLII",label:"label-FP9bt",icon:"icon-U2Gj8","meta-items-container":"meta-items-container-M4vN4","meta-item":"meta-item-iOgzp","poster-container":"poster-container-WX2KD","title-bar-container":"title-bar-container-U0ZAT","title-label":"title-label-mb1GR"}},444:e=>{e.exports={"meta-row-container":"meta-row-container-xtlB1","header-container":"header-container-tR3Ev","title-container":"title-container-Mkwnq","see-all-container":"see-all-container-MoOtW",label:"label-bytni",icon:"icon-Sj7HO","message-container":"message-container-KWmlO","meta-items-container":"meta-items-container-qcuUA","meta-item":"meta-item-QFHCh","poster-shape-poster":"poster-shape-poster-LKBza","poster-shape-square":"poster-shape-square-g5a1z","poster-shape-landscape":"poster-shape-landscape-KmmRZ"}},15314:e=>{e.exports={"modal-container":"modal-container-OuxEF","modal-dialog-container":"modal-dialog-container-DZMKq","modal-dialog-background":"modal-dialog-background-vZpB_","close-button-container":"close-button-container-cmxAp",icon:"icon-OYzlV","modal-dialog-content":"modal-dialog-content-Xgv7Z","title-container":"title-container-v2mmF","body-container":"body-container-H80dD","buttons-container":"buttons-container-e_JoR","action-button":"action-button-eprQG",label:"label-wbfsE"}},18634:e=>{e.exports={"label-container":"label-container-dhjQS",icon:"icon-jg2il",label:"label-AR_l8","modal-container":"modal-container-WaYOG","menu-container":"menu-container-qiz0X","option-container":"option-container-mO9yW","no-options-container":"no-options-container-z47Tg"}},97778:e=>{e.exports={dropdown:"dropdown-MWaxp",open:"open-yuN4f","back-button":"back-button-dGLHu","back-button-icon":"back-button-icon-VdHBJ"}},82484:e=>{e.exports={option:"option-HcOSE",label:"label-IR8xX",icon:"icon-I_g2q"}},78351:e=>{e.exports={"multiselect-menu":"multiselect-menu-qMdaj",disabled:"disabled-RaqL9","multiselect-button":"multiselect-button-XXdgA",label:"label-SoEGc",icon:"icon-gQU96",open:"open-TvFQd",active:"active-gKhO5"}},43661:e=>{e.exports={"nav-menu-popup-label":"nav-menu-popup-label-XmUBo","nav-menu-container":"nav-menu-container-Pl25j","with-warning":"with-warning-SNmXK","user-info-container":"user-info-container-uigVE","avatar-container":"avatar-container-f6ino","user-info-details":"user-info-details-XJ5OH","email-container":"email-container-LNcms","email-label":"email-label-IFT0d","logout-button-container":"logout-button-container-prHdW","logout-label":"logout-label-HhwtK","nav-menu-section":"nav-menu-section-j87xd","nav-menu-option-container":"nav-menu-option-container-Qj9Xh",icon:"icon-MRjOP","nav-menu-option-label":"nav-menu-option-label-d7fgK"}},78608:e=>{e.exports={"search-bar-container":"search-bar-container-asfq1","search-input":"search-input-IQ0ZW","placeholder-label":"placeholder-label-XyrN_","submit-button-container":"submit-button-container-MImNa",icon:"icon-TkvAO","menu-container":"menu-container-GcXNG",label:"label-J908i",title:"title-s74ty","search-history-clear":"search-history-clear-ap0h8",items:"items-P1xS5",item:"item-TgYCX"}},47518:e=>{e.exports={"horizontal-nav-bar-container":"horizontal-nav-bar-container-Y_zvK","logo-container":"logo-container-jteMT",logo:"logo-oPx1q","back-button-container":"back-button-container-lDB1N",title:"title-DGh6h","search-bar":"search-bar-h60ja","buttons-container":"buttons-container-Oc5z1","button-container":"button-container-xT9_L",icon:"icon-T8MU6","menu-button-container":"menu-button-container-DtW4v"}},9371:e=>{e.exports={"nav-tab-button-container":"nav-tab-button-container-dYhs0",label:"label-BCz2f",icon:"icon-TzPrK",logo:"logo-xJBE9"}},67564:e=>{e.exports={"vertical-nav-bar-container":"vertical-nav-bar-container-UPAkA","nav-tab-button":"nav-tab-button-tW6qT"}},93583:e=>{e.exports={"number-input":"number-input-igJ35",button:"button-GWY2o",icon:"icon-EndAk","number-display":"number-display-hLJ72",label:"label-y4qDZ",value:"value-Y2xdx"}},17319:e=>{e.exports={"label-container":"label-container-XOyzm","menu-container":"menu-container-B6cqK","menu-direction-top-left":"menu-direction-top-left-ongjn","menu-direction-bottom-left":"menu-direction-bottom-left-Dvtqk","menu-direction-top-right":"menu-direction-top-right-tmrFG","menu-direction-bottom-right":"menu-direction-bottom-right-aJ89V"}},76559:e=>{e.exports={"radio-button":"radio-button-SGEc1","radio-container":"radio-container-wPddo","inner-circle":"inner-circle-vdtUP",disabled:"disabled-ZzMU9",error:"error-_vY0h",selected:"selected-M_zHA"}},58515:e=>{e.exports={"search-bar-container":"search-bar-container-sTkGP","search-input":"search-input-Q18HV",icon:"icon-M3jX0"}},59242:e=>{e.exports={"search-bar-container":"search-bar-container-p4tSt","search-input":"search-input-bAgAh",icon:"icon-QOYfJ"}},4662:e=>{e.exports={"share-prompt-container":"share-prompt-container-EXOaj","buttons-container":"buttons-container-fiSbJ","button-container":"button-container-KJoeC",icon:"icon-OX8pK","facebook-button":"facebook-button-La6ud","x-button":"x-button-pA7ym","reddit-button":"reddit-button-sd07c","url-container":"url-container-OKpfh","url-text-input":"url-text-input-nqDsC","copy-button":"copy-button-XmXGg",label:"label-gMoQ8"}},44020:e=>{e.exports={"active-slider-within":"active-slider-within-NcgYf","slider-container":"slider-container-nJz5F",layer:"layer-aC5Vt",track:"track-gItfW","audio-boost":"audio-boost-AyRq0","track-before":"track-before-kJzIb","track-after":"track-after-pUXC0",thumb:"thumb-PiTF5"}},87318:e=>{e.exports={"text-input":"text-input-hnLiz"}},6825:e=>{e.exports={"toggle-container":"toggle-container-lZfHP",toggle:"toggle-toOWM"}},8759:e=>{e.exports={"video-placeholder-container":"video-placeholder-container-DgoIs","info-container":"info-container-BATmf","name-container":"name-container-N4C39","released-container":"released-container-egHHb"}},12416:e=>{e.exports={"video-container":"video-container-ezBpK","thumbnail-container":"thumbnail-container-Zm8Cl",thumbnail:"thumbnail-J81W3",blurred:"blurred-ZmA2z","placeholder-icon":"placeholder-icon-GNOI3","progress-bar-container":"progress-bar-container-w8eFT","progress-bar":"progress-bar-E23CT","progress-bar-background":"progress-bar-background-Q7aEH","info-container":"info-container-xyynk","title-container":"title-container-NcfV9","flex-row-container":"flex-row-container-CAyQu","released-container":"released-container-XLPqf","upcoming-watched-container":"upcoming-watched-container-msCaq","upcoming-container":"upcoming-container-LXfQ7","watched-container":"watched-container-gvzs3","flag-icon":"flag-icon-RDrvf","flag-label":"flag-label-zJloD","context-menu-content":"context-menu-content-ItIFy","context-menu-option-container":"context-menu-option-container-KNVWj","context-menu-option-label":"context-menu-option-label-dy2nc"}},3063:e=>{e.exports={"addon-container":"addon-container-lC5KN","logo-container":"logo-container-ZcSSC",logo:"logo-WrsGF",icon:"icon-GxVbY","info-container":"info-container-AdMB6","name-container":"name-container-qIAg8","version-container":"version-container-zdPyN","types-container":"types-container-DaOrg","description-container":"description-container-v7Jhe","buttons-container":"buttons-container-g0xXr","action-buttons-container":"action-buttons-container-xMVmz","install-button-container":"install-button-container-yfcq5","configure-button-container":"configure-button-container-VwVAQ","uninstall-button-container":"uninstall-button-container-oV4Yo","share-button-container":"share-button-container-s3gwP",label:"label-OnWh2"}},14267:e=>{e.exports={"addon-container":"addon-container-A53Om",content:"content-gjK8A","logo-container":"logo-container-uixVa","info-container":"info-container-EuwPe","placeholder-pill":"placeholder-pill-OmvfW","buttons-container":"buttons-container-_S1YF","action-buttons-container":"action-buttons-container-bYZoV"}},67644:e=>{e.exports={"addons-container":"addons-container-ogGYu","addons-content":"addons-content-zhFBl","addons-list-container":"addons-list-container-Ovr2Z","selectable-inputs-container":"selectable-inputs-container-tUul1","add-button-container":"add-button-container-SkafT",icon:"icon-HsyZS","add-button-label":"add-button-label-NN6bu","select-input-container":"select-input-container-KqG8N",spacing:"spacing-wH1w5","search-bar":"search-bar-k7MXd","filter-button":"filter-button-lLJ1X","filter-icon":"filter-icon-LUDTS","message-container":"message-container-GBw0P",addon:"addon-whmdO","filters-modal":"filters-modal-w6oWY","add-addon-modal-container":"add-addon-modal-container-KR5ny",notice:"notice-UQkO1","addon-url-input":"addon-url-input-ucetZ","cancel-button":"cancel-button-R2AxR","share-modal-container":"share-modal-container-DkzPM","title-container":"title-container-La49g",logo:"logo-PmYDP","name-container":"name-container-m_Sz0",name:"name-YD0xd",version:"version-wuAFB","share-prompt-container":"share-prompt-container-vaK4P"}},69098:e=>{e.exports={"warning-container":"warning-container-_GJlx","warning-statement":"warning-statement-MQjVq",actions:"actions-IOe34",action:"action-t06kj",label:"label-PkwRv"}},78447:e=>{e.exports={"board-container":"board-container-DTN_b","board-content-container":"board-content-container-ToQTz","board-content":"board-content-nPWv1","board-row":"board-row-CoJrZ","board-warning-container":"board-warning-container-a4m04","board-row-poster":"board-row-poster-QPQqC","board-row-square":"board-row-square-pgaZ3","continue-watching-row":"continue-watching-row-ZiNSa","board-row-landscape":"board-row-landscape-FRGXx"}},67279:e=>{e.exports={calendar:"calendar-cH2jw",content:"content-wBwrQ",main:"main-vWt7d"}},12770:e=>{e.exports={details:"details-EuHwi",video:"video-BIs3a",name:"name-vpn8u",info:"info-n1Tz1",icon:"icon-Di3yP",placeholder:"placeholder-Kigxt"}},93721:e=>{e.exports={item:"item-PwXPg",heading:"heading-aqSxF",body:"body-pUnX4",video:"video-XnjiE",name:"name-tepO3",info:"info-dnUvu",icon:"icon-bz23A",placeholder:"placeholder-NxxV1",text:"text-x3anZ",today:"today-JJfHO",active:"active-ymNy0"}},72716:e=>{e.exports={list:"list-fa_2a"}},10434:e=>{e.exports={placeholder:"placeholder-pCQTz",title:"title-bE4zd","image-container":"image-container-DOkaE",image:"image-qgtvg",overview:"overview-RGglv",point:"point-iTc1_",icon:"icon-Y5Zkw",text:"text-Pa9GN","button-container":"button-container-fBjqZ",button:"button-DsyS9"}},92642:e=>{e.exports={selector:"selector-uRGQ6",prev:"prev-__2gh",next:"next-t6hvT",label:"label-xSEWG",icon:"icon-ixEYr",selected:"selected-lBBwk",year:"year-jHuog",month:"month-VlFJ6"}},32931:e=>{e.exports={cell:"cell-l3eWl",heading:"heading-TYXvp",day:"day-nttmc",items:"items-ZZ9Jt",item:"item-qsUNQ",icon:"icon-F3Uu8",poster:"poster-goLqZ",more:"more-gGKzA",today:"today-G8kuO",active:"active-KC8sV"}},67490:e=>{e.exports={table:"table-QbfK0",week:"week-mTZNI",day:"day-LPW9e",long:"long-UpX3r",short:"short-MoF9_",grid:"grid-cUaUg"}},71888:e=>{e.exports={"discover-container":"discover-container-L6OGL","discover-content":"discover-content-CRsRg","catalog-container":"catalog-container-VNK_T","meta-items-container":"meta-items-container-n8vNz","selectable-inputs-container":"selectable-inputs-container-IRz50","select-input":"select-input-CHDbe","filter-container":"filter-container-BVkqT","filter-button":"filter-button-GU_n0","filter-icon":"filter-icon-zlFnX","missing-addon-warning-container":"missing-addon-warning-container-IXGuv","warning-label":"warning-label-f19Jg","install-button":"install-button-SmJe1",label:"label-ToW4S","message-container":"message-container-Zv9eF",image:"image-txC9E","message-label":"message-label-mRyRX","meta-item-placeholder":"meta-item-placeholder-wxG4I","poster-container":"poster-container-Dch4R","title-bar-container":"title-bar-container-dtDnk","title-label":"title-label-vHdQd","meta-preview-container":"meta-preview-container-CoWs5","selectable-inputs-modal":"selectable-inputs-modal-ChpOa"}},58195:e=>{e.exports={"password-reset-modal-container":"password-reset-modal-container-KzJPQ","credentials-text-input":"credentials-text-input-ncrIR","error-message":"error-message-DkekN","cancel-button":"cancel-button-AneJE"}},10873:e=>{e.exports={"intro-container":"intro-container-tkNS6","background-container":"background-container-aYKCH","heading-container":"heading-container-oI70m","logo-container":"logo-container-W49kt",logo:"logo-WJ36F","title-container":"title-container-CbIkM","slogan-container":"slogan-container-UlcYd","content-container":"content-container-A1Drn","form-button":"form-button-vyqqj",icon:"icon-L_6b6",label:"label-uHD7L",uppercase:"uppercase-UbR3f","submit-button":"submit-button-x3L8z","guest-login-button":"guest-login-button-D8DWZ","signup-form-button":"signup-form-button-UGmSk","login-form-button":"login-form-button-DqJUV","form-container":"form-container-HMlEh","credentials-text-input":"credentials-text-input-QMCZz","forgot-password-link-container":"forgot-password-link-container-ygZqb","forgot-password-link":"forgot-password-link-NxNUD","error-message":"error-message-cKdzB","options-container":"options-container-qxboQ","facebook-button":"facebook-button-LZ_kG","apple-button":"apple-button-V5nEI","loading-modal-container":"loading-modal-container-eLyTm","loader-container":"loader-container-oe8rU",flash:"flash-wUFXY",button:"button-ryGtP"}},32441:e=>{e.exports={placeholder:"placeholder-XbuMS",title:"title-eBwtZ","image-container":"image-container-YnqQ_",image:"image-yTheT",overview:"overview-nYi3n",point:"point-vQhRj",icon:"icon-RD7Oa",text:"text-NNOtt","button-container":"button-container-HU08c",button:"button-GHZkA"}},41486:e=>{e.exports={"library-container":"library-container-zM_bj","library-content":"library-content-PgX4O","meta-items-container":"meta-items-container-IKrND","selectable-inputs-container":"selectable-inputs-container-hR3or","select-input-container":"select-input-container-H1VZ1","message-container":"message-container-MhY5t",image:"image-csRHm","message-label":"message-label-UExl3","selectable-inputs-modal":"selectable-inputs-modal-rHlo7"}},7671:e=>{e.exports={"button-container":"button-container-PmUa2",label:"label-sAyL4"}},34803:e=>{e.exports={background:"background-Xro_t",icon:"icon-UFaeB"}},11495:e=>{e.exports={"stream-placeholder-container":"stream-placeholder-container-T1nxv","addon-container":"addon-container-pm1P0","addon-name":"addon-name-zAOKP","info-container":"info-container-Z1Dl6","description-container":"description-container-ZOMcn","play-icon":"play-icon-MXqj3"}},90237:e=>{e.exports={"stream-container":"stream-container-JPdah",icon:"icon-rAZvO","info-container":"info-container-TihQo",thumbnail:"thumbnail-whoms","placeholder-icon":"placeholder-icon-znYz0","addon-name":"addon-name-tC8PX","progress-bar-container":"progress-bar-container-ADRp_","progress-bar":"progress-bar-XrEBL","progress-bar-background":"progress-bar-background-HueVQ","description-container":"description-container-vW_De","menu-icon":"menu-icon-JD2rP","context-menu-content":"context-menu-content-Xe_lN","context-menu-title":"context-menu-title-aoWE4","context-menu-option-container":"context-menu-option-container-BZGla","context-menu-option-label":"context-menu-option-label-EbNNz"}},52654:e=>{e.exports={"streams-list-container":"streams-list-container-xYMJo","message-container":"message-container-f9_L4",search:"search-Bo8nu",image:"image-rIyu6",label:"label-luvnO","addons-loading-container":"addons-loading-container-Vkwp3","addons-loading":"addons-loading-zhdQr","addons-loading-bar":"addons-loading-bar-MqT59","select-choices-wrapper":"select-choices-wrapper-xGzfs","back-button-container":"back-button-container-cJ4bk",icon:"icon-SoFgF","episode-title":"episode-title-dln_c","select-input-container":"select-input-container-irGn_","streams-container":"streams-container-bbSc4","install-button-container":"install-button-container-Q60yJ"}},25690:e=>{e.exports={"seasons-bar-placeholder-container":"seasons-bar-placeholder-container-M81RN","prev-season-button":"prev-season-button-TCbOq","next-season-button":"next-season-button-oGnlT",icon:"icon-UzQjF",label:"label-lmBnj","seasons-popup-label-container":"seasons-popup-label-container-r2UDB","seasons-popup-label":"seasons-popup-label-xBinL","seasons-popup-icon":"seasons-popup-icon-p1T5d"}},98287:e=>{e.exports={"seasons-bar-container":"seasons-bar-container-nOZjG","prev-season-button":"prev-season-button-bs1GQ","next-season-button":"next-season-button-RrYAq",disabled:"disabled-WJy2x",label:"label-uJbfD",icon:"icon-_ZBEE","seasons-popup-label-container":"seasons-popup-label-container-fZcu4"}},5019:e=>{e.exports={"videos-list-container":"videos-list-container-NepX5","message-container":"message-container-_hhmQ","episode-picker":"episode-picker-JPpsC",image:"image-_xAbP",label:"label-Ff1_X","notifications-toggle":"notifications-toggle-PaWY3","seasons-bar":"seasons-bar-Ma8vp","search-bar":"search-bar-mZHWa","videos-container":"videos-container-msX8s"}},77712:e=>{e.exports={"metadetails-container":"metadetails-container-K_Dqa","background-image-layer":"background-image-layer-wJa90","background-image":"background-image-tSjYu","nav-bar":"nav-bar-MH6Vk","metadetails-content":"metadetails-content-Uz5EV","vertical-nav-bar":"vertical-nav-bar-B39nq","meta-message-container":"meta-message-container-MJZN5",image:"image-R1LcJ","message-label":"message-label-Uz4_P","meta-preview":"meta-preview-ES0h3",spacing:"spacing-rgIYg","videos-list":"videos-list-nE0LJ","streams-list":"streams-list-Y1lCM","meta-extension-modal-container":"meta-extension-modal-container-gHjqy","meta-extension-modal-iframe":"meta-extension-modal-iframe-GGHlm"}},76152:e=>{e.exports={"not-found-container":"not-found-container-Q1qsP","nav-bar":"nav-bar-Eu3_y","not-found-content":"not-found-content-z_Eza","not-found-image":"not-found-image-Qab4G","not-found-label":"not-found-label-mmwyZ"}},93917:e=>{e.exports={"audio-menu":"audio-menu-qB4SQ",container:"container-lNRgG",header:"header-yT4vp",list:"list-lt_h8",option:"option-COcvW",info:"info-BPG2q",lang:"lang-EXxoG",label:"label-_DvDN",icon:"icon-DebLV"}},56044:e=>{e.exports={"buffering-loader-container":"buffering-loader-container-P7S0m","buffering-loader":"buffering-loader-fMSpb",fadeInOut:"fadeInOut-WS5RD"}},78565:e=>{e.exports={"seek-bar-container":"seek-bar-container-JGGTa",label:"label-QFbsS",slider:"slider-hBDOf"}},99995:e=>{e.exports={"volume-slider":"volume-slider-G_xAt"}},54675:e=>{e.exports={"control-bar-container":"control-bar-container-xsWA7","seek-bar":"seek-bar-I7WeY","control-bar-buttons-container":"control-bar-buttons-container-SWhkU","control-bar-button":"control-bar-button-FQUsj",icon:"icon-qy6I6","volume-slider":"volume-slider-U9jfo",spacing:"spacing-p8NJQ","control-bar-buttons-menu-button":"control-bar-buttons-menu-button-h0MWd","control-bar-buttons-menu-container":"control-bar-buttons-menu-container-M6L0_"}},33929:e=>{e.exports={error:"error-ty_iB","error-label":"error-label-lyLDv","error-sub":"error-sub-rdwAf","playlist-button":"playlist-button-tZTCo",icon:"icon-fIGRf",label:"label-Z7jSJ"}},38901:e=>{e.exports={"indicator-container":"indicator-container-wgAZn",indicator:"indicator-jM65y"}},1631:e=>{e.exports={"next-video-popup-container":"next-video-popup-container-H4wnL","slide-fade-in":"slide-fade-in-rk2M8","poster-container":"poster-container-tXZjA","poster-image":"poster-image-2D6wg",blurred:"blurred-rcoS5","placeholder-icon":"placeholder-icon-fu1rK","info-container":"info-container-KLOMx","details-container":"details-container-bUOTZ",name:"name-sIiDL",label:"label-zOq_w",title:"title-Z5Kgo","buttons-container":"buttons-container-iYrpZ",spacing:"spacing-iFwsN","button-container":"button-container-i4F7t","play-button":"play-button-Dluk6",icon:"icon-N3Ewm",dismiss:"dismiss-IvEL_"}},9484:e=>{e.exports={"option-container":"option-container-m_jZq",icon:"icon-krR0X",label:"label-cmqqu"}},44236:e=>{e.exports={"options-menu-container":"options-menu-container-qlzLt"}},86587:e=>{e.exports={"side-drawer":"side-drawer-r9EuA","close-button":"close-button-ruzkn",icon:"icon-k44IU",info:"info-hhNTg","side-drawer-meta-preview":"side-drawer-meta-preview-pB8v6","series-content":"series-content-VkYHB",videos:"videos-nRM2D"}},61395:e=>{e.exports={"side-drawer-button":"side-drawer-button-lVLKS",icon:"icon-g5Oo_"}},53665:e=>{e.exports={option:"option-_O96j",icon:"icon-kqaPF",label:"label-FEOiu"}},6491:e=>{e.exports={"speed-menu-container":"speed-menu-container-ABjzc",title:"title-Hu2Dm","options-container":"options-container-DNn3D",option:"option-GcPlB"}},3493:e=>{e.exports={"statistics-menu-container":"statistics-menu-container-DhiHn",title:"title-NCwWH",label:"label-h6nN_",value:"value-E8Ftb",stats:"stats-Tr37t",stat:"stat-zoq5A","info-hash":"info-hash-GT1Cv"}},51732:e=>{e.exports={stepper:"stepper-OL8zv",header:"header-fEtxa",content:"content-A6qIn",button:"button-fisbt",icon:"icon-zdvuT",value:"value-Z6LnU"}},8769:e=>{e.exports={"subtitles-menu-container":"subtitles-menu-container-PxBRZ","languages-container":"languages-container-NS7H9","variants-container":"variants-container-XglzH","subtitles-settings-container":"subtitles-settings-container-LhRGS","languages-header":"languages-header-jGNcK","variants-header":"variants-header-TsVSR","settings-header":"settings-header-eaWnm","languages-list":"languages-list-sxIwI","variants-list":"variants-list-yZo6B","language-option":"language-option-O1Yr9","variant-option":"variant-option-t7_LA","language-label":"language-label-FjjqA","variant-label":"variant-label-opjnP","variant-origin":"variant-origin-SVnd1",icon:"icon-I1Ruh",info:"info-mxjJh","no-variants-container":"no-variants-container-q6u1Q","no-variants-label":"no-variants-label-RmDKZ","settings-list":"settings-list-mhZV6",spacing:"spacing-AWJpt",stepper:"stepper-FTDeY"}},9562:e=>{e.exports={"video-container":"video-container-v9_vA",video:"video-tkpQm"}},57526:e=>{e.exports={"volume-change-indicator":"volume-change-indicator-EWypD","volume-icon":"volume-icon-zn9zT","volume-slider":"volume-slider-FKN0X"}},35406:e=>{e.exports={"player-container":"player-container-wIELK",overlayHidden:"overlayHidden-gyjIy","nav-bar-layer":"nav-bar-layer-r9HT5","control-bar-layer":"control-bar-layer-m2jto","menu-layer":"menu-layer-HZFG9","side-drawer-button-layer":"side-drawer-button-layer-RrB8k",layer:"layer-qalDW","buffering-layer":"buffering-layer-ZZCYp","error-layer":"error-layer-RCEZC","background-layer":"background-layer-ldsp8",image:"image-XxZuJ","indicator-layer":"indicator-layer-EpiA6","side-drawer-layer":"side-drawer-layer-CZtJ1"}},47641:e=>{e.exports={"search-container":"search-container-uXEFf","search-content":"search-content-LX6un","search-row":"search-row-EQLaD","search-hints-wrapper":"search-hints-wrapper-IjhmE","search-hints-title-container":"search-hints-title-container-MXt8W","search-hints-title":"search-hints-title-cigX3","search-hints-container":"search-hints-container-FHpPM","search-hint-container":"search-hint-container-kd8iX",icon:"icon-fOZZl",label:"label-l6wxz","message-container":"message-container-YAunr",image:"image-Xuwya","message-label":"message-label-K8LPz","search-row-poster":"search-row-poster-m7CUE","search-row-square":"search-row-square-VesJA","search-row-landscape":"search-row-landscape-o3Lfv"}},47049:e=>{e.exports={"trakt-container":"trakt-container-wWlM8"}},22002:e=>{e.exports={user:"user-qhCA4","user-info-content":"user-info-content-uzAvu","avatar-container":"avatar-container-DeGD6","email-logout-container":"email-logout-container-YPJlN","email-label-container":"email-label-container-NEqIq","email-label":"email-label-LXltS","user-panel-container":"user-panel-container-WxLTU","user-panel-label":"user-panel-label-KmZCD"}},19935:e=>{e.exports={info:"info-nBG5H",label:"label-ldqPK"}},25837:e=>{e.exports={menu:"menu-xeE06",button:"button-DNmYL",selected:"selected-S7SeK",spacing:"spacing-PVpEn","version-info-label":"version-info-label-rSTCy"}},40685:e=>{e.exports={"settings-container":"settings-container-_g1tS","settings-content":"settings-content-co5eU","sections-container":"sections-container-ZaZpD"}},70805:e=>{e.exports={"shortcut-container":"shortcut-container-iOrn9",label:"label-UWwT7"}},82217:e=>{e.exports={"configure-input-container":"configure-input-container-IqUdN",label:"label-bkapj","configure-button-container":"configure-button-container-tJJ5b",icon:"icon-DoVQm"}},7956:e=>{e.exports={"add-item":"add-item-EBrwa",input:"input-iITch",actions:"actions-a9mxc",add:"add-IsY_6",cancel:"cancel-gSD5_",icon:"icon-lYjLQ"}},44612:e=>{e.exports={item:"item-A9qrP",content:"content-SRbPn",selectable:"selectable-qF2vl",label:"label-WLvfI",actions:"actions-QcMQ_",status:"status-crByJ",icon:"icon-aswqE",ready:"ready-VKkmT",error:"error-sL3We",delete:"delete-mV6G_"}},31310:e=>{e.exports={wrapper:"wrapper-mdG7D",header:"header-epxi0",label:"label-Yi3xl",content:"content-XG6N_",item:"item-hsmmX",footer:"footer-Bo7gV","add-url":"add-url-fEacA",icon:"icon-L0f3e",reload:"reload-OVkwB"}},98170:e=>{e.exports={category:"category-GP0hI",heading:"heading-XePFl",label:"label-N_O2v",icon:"icon-oZoyV"}},58106:e=>{e.exports={link:"link-FrL1t",label:"label-PJvSJ"}},89628:e=>{e.exports={option:"option-vFOAS",heading:"heading-dYMDt",content:"content-P2T0i",icon:"icon-fE4hv",label:"label-qI6Vh"}},29972:e=>{e.exports={section:"section-hcYuV",label:"label-wXG3e"}},24922:(e,t,a)=>{var i="function"==typeof Map&&Map.prototype,o=Object.getOwnPropertyDescriptor&&i?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,n=i&&o&&"function"==typeof o.get?o.get:null,r=i&&Map.prototype.forEach,E="function"==typeof Set&&Set.prototype,_=Object.getOwnPropertyDescriptor&&E?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,T=E&&_&&"function"==typeof _.get?_.get:null,s=E&&Set.prototype.forEach,S="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,l="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,I="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,A=Boolean.prototype.valueOf,u=Object.prototype.toString,d=Function.prototype.toString,O=String.prototype.match,c=String.prototype.slice,N=String.prototype.replace,R=String.prototype.toUpperCase,m=String.prototype.toLowerCase,L=RegExp.prototype.test,D=Array.prototype.concat,p=Array.prototype.join,C=Array.prototype.slice,h=Math.floor,f="function"==typeof BigInt?BigInt.prototype.valueOf:null,P=Object.getOwnPropertySymbols,B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,g="function"==typeof Symbol&&"object"==typeof Symbol.iterator,v="function"==typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===g||"symbol")?Symbol.toStringTag:null,M=Object.prototype.propertyIsEnumerable,W=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function y(e,t){if(e===1/0||e===-1/0||e!=e||e&&e>-1e3&&e<1e3||L.call(/e/,t))return t;var a=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof e){var i=e<0?-h(-e):h(e);if(i!==e){var o=String(i),n=c.call(t,o.length+1);return N.call(o,a,"$&_")+"."+N.call(N.call(n,/([0-9]{3})/g,"$&_"),/_$/,"")}}return N.call(t,a,"$&_")}var U=a(22179),b=U.custom,G=K(b)?b:null,k={__proto__:null,double:'"',single:"'"},F={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};function V(e,t,a){var i=a.quoteStyle||t,o=k[i];return o+e+o}function H(e){return N.call(String(e),/"/g,""")}function w(e){return!v||!("object"==typeof e&&(v in e||void 0!==e[v]))}function Y(e){return"[object Array]"===Q(e)&&w(e)}function z(e){return"[object RegExp]"===Q(e)&&w(e)}function K(e){if(g)return e&&"object"==typeof e&&e instanceof Symbol;if("symbol"==typeof e)return!0;if(!e||"object"!=typeof e||!B)return!1;try{return B.call(e),!0}catch(e){}return!1}e.exports=function e(t,i,o,E){var _=i||{};if(x(_,"quoteStyle")&&!x(k,_.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(x(_,"maxStringLength")&&("number"==typeof _.maxStringLength?_.maxStringLength<0&&_.maxStringLength!==1/0:null!==_.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var u=!x(_,"customInspect")||_.customInspect;if("boolean"!=typeof u&&"symbol"!==u)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(x(_,"indent")&&null!==_.indent&&"\t"!==_.indent&&!(parseInt(_.indent,10)===_.indent&&_.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(x(_,"numericSeparator")&&"boolean"!=typeof _.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var R=_.numericSeparator;if(void 0===t)return"undefined";if(null===t)return"null";if("boolean"==typeof t)return t?"true":"false";if("string"==typeof t)return $(t,_);if("number"==typeof t){if(0===t)return 1/0/t>0?"0":"-0";var L=String(t);return R?y(t,L):L}if("bigint"==typeof t){var h=String(t)+"n";return R?y(t,h):h}var P=void 0===_.depth?5:_.depth;if(void 0===o&&(o=0),o>=P&&P>0&&"object"==typeof t)return Y(t)?"[Array]":"[Object]";var b=(function(e,t){var a;if("\t"===e.indent)a="\t";else{if(!("number"==typeof e.indent&&e.indent>0))return null;a=p.call(Array(e.indent+1)," ")}return{base:a,prev:p.call(Array(t+1),a)}})(_,o);if(void 0===E)E=[];else if(X(E,t)>=0)return"[Circular]";function F(t,a,i){if(a&&(E=C.call(E)).push(a),i){var n={depth:_.depth};return x(_,"quoteStyle")&&(n.quoteStyle=_.quoteStyle),e(t,n,o+1,E)}return e(t,_,o+1,E)}if("function"==typeof t&&!z(t)){var j=(function(e){if(e.name)return e.name;var t=O.call(d.call(e),/^function\s*([\w$]+)/);if(t)return t[1];return null})(t),q=ae(t,F);return"[Function"+(j?": "+j:" (anonymous)")+"]"+(q.length>0?" { "+p.call(q,", ")+" }":"")}if(K(t)){var ie=g?N.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):B.call(t);return"object"!=typeof t||g?ie:J(ie)}if((function(e){if(!e||"object"!=typeof e)return!1;if("undefined"!=typeof HTMLElement&&e instanceof HTMLElement)return!0;return"string"==typeof e.nodeName&&"function"==typeof e.getAttribute})(t)){for(var oe="<"+m.call(String(t.nodeName)),ne=t.attributes||[],re=0;re<ne.length;re++)oe+=" "+ne[re].name+"="+V(H(ne[re].value),"double",_);return oe+=">",t.childNodes&&t.childNodes.length&&(oe+="..."),oe+="</"+m.call(String(t.nodeName))+">"}if(Y(t)){if(0===t.length)return"[]";var Ee=ae(t,F);return b&&!(function(e){for(var t=0;t<e.length;t++)if(X(e[t],"\n")>=0)return!1;return!0})(Ee)?"["+te(Ee,b)+"]":"[ "+p.call(Ee,", ")+" ]"}if((function(e){return"[object Error]"===Q(e)&&w(e)})(t)){var _e=ae(t,F);return"cause"in Error.prototype||!("cause"in t)||M.call(t,"cause")?0===_e.length?"["+String(t)+"]":"{ ["+String(t)+"] "+p.call(_e,", ")+" }":"{ ["+String(t)+"] "+p.call(D.call("[cause]: "+F(t.cause),_e),", ")+" }"}if("object"==typeof t&&u){if(G&&"function"==typeof t[G]&&U)return U(t,{depth:P-o});if("symbol"!==u&&"function"==typeof t.inspect)return t.inspect()}if((function(e){if(!n||!e||"object"!=typeof e)return!1;try{n.call(e);try{T.call(e)}catch(e){return!0}return e instanceof Map}catch(e){}return!1})(t)){var Te=[];return r&&r.call(t,function(e,a){Te.push(F(a,t,!0)+" => "+F(e,t))}),ee("Map",n.call(t),Te,b)}if((function(e){if(!T||!e||"object"!=typeof e)return!1;try{T.call(e);try{n.call(e)}catch(e){return!0}return e instanceof Set}catch(e){}return!1})(t)){var se=[];return s&&s.call(t,function(e){se.push(F(e,t))}),ee("Set",T.call(t),se,b)}if((function(e){if(!S||!e||"object"!=typeof e)return!1;try{S.call(e,S);try{l.call(e,l)}catch(e){return!0}return e instanceof WeakMap}catch(e){}return!1})(t))return Z("WeakMap");if((function(e){if(!l||!e||"object"!=typeof e)return!1;try{l.call(e,l);try{S.call(e,S)}catch(e){return!0}return e instanceof WeakSet}catch(e){}return!1})(t))return Z("WeakSet");if((function(e){if(!I||!e||"object"!=typeof e)return!1;try{return I.call(e),!0}catch(e){}return!1})(t))return Z("WeakRef");if((function(e){return"[object Number]"===Q(e)&&w(e)})(t))return J(F(Number(t)));if((function(e){if(!e||"object"!=typeof e||!f)return!1;try{return f.call(e),!0}catch(e){}return!1})(t))return J(F(f.call(t)));if((function(e){return"[object Boolean]"===Q(e)&&w(e)})(t))return J(A.call(t));if((function(e){return"[object String]"===Q(e)&&w(e)})(t))return J(F(String(t)));if("undefined"!=typeof window&&t===window)return"{ [object Window] }";if("undefined"!=typeof globalThis&&t===globalThis||void 0!==a.g&&t===a.g)return"{ [object globalThis] }";if(!(function(e){return"[object Date]"===Q(e)&&w(e)})(t)&&!z(t)){var Se=ae(t,F),le=W?W(t)===Object.prototype:t instanceof Object||t.constructor===Object,Ie=t instanceof Object?"":"null prototype",Ae=!le&&v&&Object(t)===t&&v in t?c.call(Q(t),8,-1):Ie?"Object":"",ue=(le||"function"!=typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(Ae||Ie?"["+p.call(D.call([],Ae||[],Ie||[]),": ")+"] ":"");return 0===Se.length?ue+"{}":b?ue+"{"+te(Se,b)+"}":ue+"{ "+p.call(Se,", ")+" }"}return String(t)};var j=Object.prototype.hasOwnProperty||function(e){return e in this};function x(e,t){return j.call(e,t)}function Q(e){return u.call(e)}function X(e,t){if(e.indexOf)return e.indexOf(t);for(var a=0,i=e.length;a<i;a++)if(e[a]===t)return a;return-1}function $(e,t){if(e.length>t.maxStringLength){var a=e.length-t.maxStringLength,i="... "+a+" more character"+(a>1?"s":"");return $(c.call(e,0,t.maxStringLength),t)+i}var o=F[t.quoteStyle||"single"];return o.lastIndex=0,V(N.call(N.call(e,o,"\\$1"),/[\x00-\x1f]/g,q),"single",t)}function q(e){var t=e.charCodeAt(0),a={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return a?"\\"+a:"\\x"+(t<16?"0":"")+R.call(t.toString(16))}function J(e){return"Object("+e+")"}function Z(e){return e+" { ? }"}function ee(e,t,a,i){return e+" ("+t+") {"+(i?te(a,i):p.call(a,", "))+"}"}function te(e,t){if(0===e.length)return"";var a="\n"+t.prev+t.base;return a+p.call(e,","+a)+"\n"+t.prev}function ae(e,t){var a=Y(e),i=[];if(a){i.length=e.length;for(var o=0;o<e.length;o++)i[o]=x(e,o)?t(e[o],e):""}var n,r="function"==typeof P?P(e):[];if(g){n={};for(var E=0;E<r.length;E++)n["$"+r[E]]=r[E]}for(var _ in e)x(e,_)&&(a&&String(Number(_))===_&&_<e.length||g&&n["$"+_]instanceof Symbol||(L.call(/[^\w$]/,_)?i.push(t(_,e)+": "+t(e[_],e)):i.push(_+": "+t(e[_],e))));if("function"==typeof P)for(var T=0;T<r.length;T++)M.call(e,r[T])&&i.push("["+t(r[T])+"]: "+t(e[r[T]],e));return i}},16186:(e,t,a)=>{"use strict";var i=a(62985);function o(){}function n(){}n.resetWarningCache=o,e.exports=function(){function e(e,t,a,o,n,r){if(r!==i){var E=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw E.name="Invariant Violation",E}}function t(){return e}e.isRequired=e;var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:n,resetWarningCache:o};return a.PropTypes=a,a}},2736:(e,t,a)=>{e.exports=a(16186)()},62985:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},26694:function(e,t,a){var i;e=a.nmd(e),(function(){t&&t.nodeType,e&&e.nodeType;var o="object"==typeof a.g&&a.g;o.global!==o&&o.window!==o&&o.self;var n,r=2147483647,E=36,_=/^xn--/,T=/[^\x20-\x7E]/,s=/[\x2E\u3002\uFF0E\uFF61]/g,S={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},l=Math.floor,I=String.fromCharCode;function A(e){throw RangeError(S[e])}function u(e,t){for(var a=e.length,i=[];a--;)i[a]=t(e[a]);return i}function d(e,t){var a=e.split("@"),i="";return a.length>1&&(i=a[0]+"@",e=a[1]),i+u((e=e.replace(s,".")).split("."),t).join(".")}function O(e){for(var t,a,i=[],o=0,n=e.length;o<n;)(t=e.charCodeAt(o++))>=55296&&t<=56319&&o<n?56320==(64512&(a=e.charCodeAt(o++)))?i.push(((1023&t)<<10)+(1023&a)+65536):(i.push(t),o--):i.push(t);return i}function c(e){return u(e,function(e){var t="";return e>65535&&(t+=I((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=I(e)}).join("")}function N(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:E}function R(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function m(e,t,a){var i=0;for(e=a?l(e/700):e>>1,e+=l(e/t);e>455;i+=E)e=l(e/35);return l(i+36*e/(e+38))}function L(e){var t,a,i,o,n,_,T,s,S,I,u=[],d=e.length,O=0,R=128,L=72;for((a=e.lastIndexOf("-"))<0&&(a=0),i=0;i<a;++i)e.charCodeAt(i)>=128&&A("not-basic"),u.push(e.charCodeAt(i));for(o=a>0?a+1:0;o<d;){for(n=O,_=1,T=E;o>=d&&A("invalid-input"),((s=N(e.charCodeAt(o++)))>=E||s>l((r-O)/_))&&A("overflow"),O+=s*_,!(s<(S=T<=L?1:T>=L+26?26:T-L));T+=E)_>l(r/(I=E-S))&&A("overflow"),_*=I;L=m(O-n,t=u.length+1,0==n),l(O/t)>r-R&&A("overflow"),R+=l(O/t),O%=t,u.splice(O++,0,R)}return c(u)}function D(e){var t,a,i,o,n,_,T,s,S,u,d,c,N,L,D,p=[];for(c=(e=O(e)).length,t=128,a=0,n=72,_=0;_<c;++_)(d=e[_])<128&&p.push(I(d));for(i=o=p.length,o&&p.push("-");i<c;){for(T=r,_=0;_<c;++_)(d=e[_])>=t&&d<T&&(T=d);for(T-t>l((r-a)/(N=i+1))&&A("overflow"),a+=(T-t)*N,t=T,_=0;_<c;++_)if((d=e[_])<t&&++a>r&&A("overflow"),d==t){for(s=a,S=E;!(s<(u=S<=n?1:S>=n+26?26:S-n));S+=E)D=s-u,L=E-u,p.push(I(R(u+D%L,0))),s=l(D/L);p.push(I(R(s,0))),n=m(a,N,i==o),a=0,++i}++a,++t}return p.join("")}n={version:"1.3.2",ucs2:{decode:O,encode:c},decode:L,encode:D,toASCII:function(e){return d(e,function(e){return T.test(e)?"xn--"+D(e):e})},toUnicode:function(e){return d(e,function(e){return _.test(e)?L(e.slice(4).toLowerCase()):e})}},void 0===(i=function(){return n}.call(t,a,t,e))||(e.exports=i)})()},65846:function(e,t,a){var i;e=a.nmd(e),(function(){t&&t.nodeType,e&&e.nodeType;var o="object"==typeof a.g&&a.g;o.global!==o&&o.window!==o&&o.self;var n,r=2147483647,E=36,_=/^xn--/,T=/[^\x20-\x7E]/,s=/[\x2E\u3002\uFF0E\uFF61]/g,S={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},l=Math.floor,I=String.fromCharCode;function A(e){throw new RangeError(S[e])}function u(e,t){for(var a=e.length,i=[];a--;)i[a]=t(e[a]);return i}function d(e,t){var a=e.split("@"),i="";return a.length>1&&(i=a[0]+"@",e=a[1]),i+u((e=e.replace(s,".")).split("."),t).join(".")}function O(e){for(var t,a,i=[],o=0,n=e.length;o<n;)(t=e.charCodeAt(o++))>=55296&&t<=56319&&o<n?56320==(64512&(a=e.charCodeAt(o++)))?i.push(((1023&t)<<10)+(1023&a)+65536):(i.push(t),o--):i.push(t);return i}function c(e){return u(e,function(e){var t="";return e>65535&&(t+=I((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=I(e)}).join("")}function N(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:E}function R(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function m(e,t,a){var i=0;for(e=a?l(e/700):e>>1,e+=l(e/t);e>455;i+=E)e=l(e/35);return l(i+36*e/(e+38))}function L(e){var t,a,i,o,n,_,T,s,S,I,u=[],d=e.length,O=0,R=128,L=72;for((a=e.lastIndexOf("-"))<0&&(a=0),i=0;i<a;++i)e.charCodeAt(i)>=128&&A("not-basic"),u.push(e.charCodeAt(i));for(o=a>0?a+1:0;o<d;){for(n=O,_=1,T=E;o>=d&&A("invalid-input"),((s=N(e.charCodeAt(o++)))>=E||s>l((r-O)/_))&&A("overflow"),O+=s*_,!(s<(S=T<=L?1:T>=L+26?26:T-L));T+=E)_>l(r/(I=E-S))&&A("overflow"),_*=I;L=m(O-n,t=u.length+1,0==n),l(O/t)>r-R&&A("overflow"),R+=l(O/t),O%=t,u.splice(O++,0,R)}return c(u)}function D(e){var t,a,i,o,n,_,T,s,S,u,d,c,N,L,D,p=[];for(c=(e=O(e)).length,t=128,a=0,n=72,_=0;_<c;++_)(d=e[_])<128&&p.push(I(d));for(i=o=p.length,o&&p.push("-");i<c;){for(T=r,_=0;_<c;++_)(d=e[_])>=t&&d<T&&(T=d);for(T-t>l((r-a)/(N=i+1))&&A("overflow"),a+=(T-t)*N,t=T,_=0;_<c;++_)if((d=e[_])<t&&++a>r&&A("overflow"),d==t){for(s=a,S=E;!(s<(u=S<=n?1:S>=n+26?26:S-n));S+=E)D=s-u,L=E-u,p.push(I(R(u+D%L,0))),s=l(D/L);p.push(I(R(s,0))),n=m(a,N,i==o),a=0,++i}++a,++t}return p.join("")}n={version:"1.4.1",ucs2:{decode:O,encode:c},decode:L,encode:D,toASCII:function(e){return d(e,function(e){return T.test(e)?"xn--"+D(e):e})},toUnicode:function(e){return d(e,function(e){return _.test(e)?L(e.slice(4).toLowerCase()):e})}},void 0===(i=function(){return n}.call(t,a,t,e))||(e.exports=i)})()},76260:e=>{"use strict";var t=String.prototype.replace,a=/%20/g,i="RFC1738",o="RFC3986";e.exports={default:o,formatters:{RFC1738:function(e){return t.call(e,a,"+")},RFC3986:function(e){return String(e)}},RFC1738:i,RFC3986:o}},75004:(e,t,a)=>{"use strict";var i=a(66833),o=a(25167),n=a(76260);e.exports={formats:n,parse:o,stringify:i}},25167:(e,t,a)=>{"use strict";var i=a(36693),o=Object.prototype.hasOwnProperty,n=Array.isArray,r={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:i.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1,throwOnLimitExceeded:!1},E=function(e){return e.replace(/&#(\d+);/g,function(e,t){return String.fromCharCode(parseInt(t,10))})},_=function(e,t,a){if(e&&"string"==typeof e&&t.comma&&e.indexOf(",")>-1)return e.split(",");if(t.throwOnLimitExceeded&&a>=t.arrayLimit)throw new RangeError("Array limit exceeded. Only "+t.arrayLimit+" element"+(1===t.arrayLimit?"":"s")+" allowed in an array.");return e},T=function(e,t,a,n){if(e){var r=a.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,E=/(\[[^[\]]*])/g,T=a.depth>0&&/(\[[^[\]]*])/.exec(r),s=T?r.slice(0,T.index):r,S=[];if(s){if(!a.plainObjects&&o.call(Object.prototype,s)&&!a.allowPrototypes)return;S.push(s)}for(var l=0;a.depth>0&&null!==(T=E.exec(r))&&l<a.depth;){if(l+=1,!a.plainObjects&&o.call(Object.prototype,T[1].slice(1,-1))&&!a.allowPrototypes)return;S.push(T[1])}if(T){if(!0===a.strictDepth)throw new RangeError("Input depth exceeded depth option of "+a.depth+" and strictDepth is true");S.push("["+r.slice(T.index)+"]")}return(function(e,t,a,o){var n=0;if(e.length>0&&"[]"===e[e.length-1]){var r=e.slice(0,-1).join("");n=Array.isArray(t)&&t[r]?t[r].length:0}for(var E=o?t:_(t,a,n),T=e.length-1;T>=0;--T){var s,S=e[T];if("[]"===S&&a.parseArrays)s=a.allowEmptyArrays&&(""===E||a.strictNullHandling&&null===E)?[]:i.combine([],E);else{s=a.plainObjects?{__proto__:null}:{};var l="["===S.charAt(0)&&"]"===S.charAt(S.length-1)?S.slice(1,-1):S,I=a.decodeDotInKeys?l.replace(/%2E/g,"."):l,A=parseInt(I,10);a.parseArrays||""!==I?!isNaN(A)&&S!==I&&String(A)===I&&A>=0&&a.parseArrays&&A<=a.arrayLimit?(s=[])[A]=E:"__proto__"!==I&&(s[I]=E):s={0:E}}E=s}return E})(S,t,a,n)}};e.exports=function(e,t){var a=(function(e){if(!e)return r;if(void 0!==e.allowEmptyArrays&&"boolean"!=typeof e.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==e.decodeDotInKeys&&"boolean"!=typeof e.decodeDotInKeys)throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");if(void 0!==e.throwOnLimitExceeded&&"boolean"!=typeof e.throwOnLimitExceeded)throw new TypeError("`throwOnLimitExceeded` option must be a boolean");var t=void 0===e.charset?r.charset:e.charset,a=void 0===e.duplicates?r.duplicates:e.duplicates;if("combine"!==a&&"first"!==a&&"last"!==a)throw new TypeError("The duplicates option must be either combine, first, or last");return{allowDots:void 0===e.allowDots?!0===e.decodeDotInKeys||r.allowDots:!!e.allowDots,allowEmptyArrays:"boolean"==typeof e.allowEmptyArrays?!!e.allowEmptyArrays:r.allowEmptyArrays,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:r.allowPrototypes,allowSparse:"boolean"==typeof e.allowSparse?e.allowSparse:r.allowSparse,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:r.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:r.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:r.comma,decodeDotInKeys:"boolean"==typeof e.decodeDotInKeys?e.decodeDotInKeys:r.decodeDotInKeys,decoder:"function"==typeof e.decoder?e.decoder:r.decoder,delimiter:"string"==typeof e.delimiter||i.isRegExp(e.delimiter)?e.delimiter:r.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:r.depth,duplicates:a,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:r.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:r.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:r.plainObjects,strictDepth:"boolean"==typeof e.strictDepth?!!e.strictDepth:r.strictDepth,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:r.strictNullHandling,throwOnLimitExceeded:"boolean"==typeof e.throwOnLimitExceeded&&e.throwOnLimitExceeded}})(t);if(""===e||null==e)return a.plainObjects?{__proto__:null}:{};for(var s="string"==typeof e?(function(e,t){var a={__proto__:null},T=t.ignoreQueryPrefix?e.replace(/^\?/,""):e;T=T.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var s=t.parameterLimit===1/0?void 0:t.parameterLimit,S=T.split(t.delimiter,t.throwOnLimitExceeded?s+1:s);if(t.throwOnLimitExceeded&&S.length>s)throw new RangeError("Parameter limit exceeded. Only "+s+" parameter"+(1===s?"":"s")+" allowed.");var l,I=-1,A=t.charset;if(t.charsetSentinel)for(l=0;l<S.length;++l)0===S[l].indexOf("utf8=")&&("utf8=%E2%9C%93"===S[l]?A="utf-8":"utf8=%26%2310003%3B"===S[l]&&(A="iso-8859-1"),I=l,l=S.length);for(l=0;l<S.length;++l)if(l!==I){var u,d,O=S[l],c=O.indexOf("]="),N=-1===c?O.indexOf("="):c+1;-1===N?(u=t.decoder(O,r.decoder,A,"key"),d=t.strictNullHandling?null:""):(u=t.decoder(O.slice(0,N),r.decoder,A,"key"),d=i.maybeMap(_(O.slice(N+1),t,n(a[u])?a[u].length:0),function(e){return t.decoder(e,r.decoder,A,"value")})),d&&t.interpretNumericEntities&&"iso-8859-1"===A&&(d=E(String(d))),O.indexOf("[]=")>-1&&(d=n(d)?[d]:d);var R=o.call(a,u);R&&"combine"===t.duplicates?a[u]=i.combine(a[u],d):R&&"last"!==t.duplicates||(a[u]=d)}return a})(e,a):e,S=a.plainObjects?{__proto__:null}:{},l=Object.keys(s),I=0;I<l.length;++I){var A=l[I],u=T(A,s[A],a,"string"==typeof e);S=i.merge(S,u,a)}return!0===a.allowSparse?S:i.compact(S)}},66833:(e,t,a)=>{"use strict";var i=a(15717),o=a(36693),n=a(76260),r=Object.prototype.hasOwnProperty,E={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},_=Array.isArray,T=Array.prototype.push,s=function(e,t){T.apply(e,_(t)?t:[t])},S=Date.prototype.toISOString,l=n.default,I={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,commaRoundTrip:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:o.encode,encodeValuesOnly:!1,filter:void 0,format:l,formatter:n.formatters[l],indices:!1,serializeDate:function(e){return S.call(e)},skipNulls:!1,strictNullHandling:!1},A={},u=function e(t,a,n,r,E,T,S,l,u,d,O,c,N,R,m,L,D,p){for(var C,h=t,f=p,P=0,B=!1;void 0!==(f=f.get(A))&&!B;){var g=f.get(t);if(P+=1,void 0!==g){if(g===P)throw new RangeError("Cyclic object value");B=!0}void 0===f.get(A)&&(P=0)}if("function"==typeof d?h=d(a,h):h instanceof Date?h=N(h):"comma"===n&&_(h)&&(h=o.maybeMap(h,function(e){return e instanceof Date?N(e):e})),null===h){if(T)return u&&!L?u(a,I.encoder,D,"key",R):a;h=""}if("string"==typeof(C=h)||"number"==typeof C||"boolean"==typeof C||"symbol"==typeof C||"bigint"==typeof C||o.isBuffer(h))return u?[m(L?a:u(a,I.encoder,D,"key",R))+"="+m(u(h,I.encoder,D,"value",R))]:[m(a)+"="+m(String(h))];var v,M=[];if(void 0===h)return M;if("comma"===n&&_(h))L&&u&&(h=o.maybeMap(h,u)),v=[{value:h.length>0?h.join(",")||null:void 0}];else if(_(d))v=d;else{var W=Object.keys(h);v=O?W.sort(O):W}var y=l?String(a).replace(/\./g,"%2E"):String(a),U=r&&_(h)&&1===h.length?y+"[]":y;if(E&&_(h)&&0===h.length)return U+"[]";for(var b=0;b<v.length;++b){var G=v[b],k="object"==typeof G&&G&&void 0!==G.value?G.value:h[G];if(!S||null!==k){var F=c&&l?String(G).replace(/\./g,"%2E"):String(G),V=_(h)?"function"==typeof n?n(U,F):U:U+(c?"."+F:"["+F+"]");p.set(t,P);var H=i();H.set(A,p),s(M,e(k,V,n,r,E,T,S,l,"comma"===n&&L&&_(h)?null:u,d,O,c,N,R,m,L,D,H))}}return M};e.exports=function(e,t){var a,o=e,T=(function(e){if(!e)return I;if(void 0!==e.allowEmptyArrays&&"boolean"!=typeof e.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==e.encodeDotInKeys&&"boolean"!=typeof e.encodeDotInKeys)throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==e.encoder&&void 0!==e.encoder&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var t=e.charset||I.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var a=n.default;if(void 0!==e.format){if(!r.call(n.formatters,e.format))throw new TypeError("Unknown format option provided.");a=e.format}var i,o=n.formatters[a],T=I.filter;if(("function"==typeof e.filter||_(e.filter))&&(T=e.filter),i=e.arrayFormat in E?e.arrayFormat:"indices"in e?e.indices?"indices":"repeat":I.arrayFormat,"commaRoundTrip"in e&&"boolean"!=typeof e.commaRoundTrip)throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var s=void 0===e.allowDots?!0===e.encodeDotInKeys||I.allowDots:!!e.allowDots;return{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:I.addQueryPrefix,allowDots:s,allowEmptyArrays:"boolean"==typeof e.allowEmptyArrays?!!e.allowEmptyArrays:I.allowEmptyArrays,arrayFormat:i,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:I.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:void 0===e.delimiter?I.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:I.encode,encodeDotInKeys:"boolean"==typeof e.encodeDotInKeys?e.encodeDotInKeys:I.encodeDotInKeys,encoder:"function"==typeof e.encoder?e.encoder:I.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:I.encodeValuesOnly,filter:T,format:a,formatter:o,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:I.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:I.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:I.strictNullHandling}})(t);"function"==typeof T.filter?o=(0,T.filter)("",o):_(T.filter)&&(a=T.filter);var S=[];if("object"!=typeof o||null===o)return"";var l=E[T.arrayFormat],A="comma"===l&&T.commaRoundTrip;a||(a=Object.keys(o)),T.sort&&a.sort(T.sort);for(var d=i(),O=0;O<a.length;++O){var c=a[O],N=o[c];T.skipNulls&&null===N||s(S,u(N,c,l,A,T.allowEmptyArrays,T.strictNullHandling,T.skipNulls,T.encodeDotInKeys,T.encode?T.encoder:null,T.filter,T.sort,T.allowDots,T.serializeDate,T.format,T.formatter,T.encodeValuesOnly,T.charset,d))}var R=S.join(T.delimiter),m=!0===T.addQueryPrefix?"?":"";return T.charsetSentinel&&("iso-8859-1"===T.charset?m+="utf8=%26%2310003%3B&":m+="utf8=%E2%9C%93&"),R.length>0?m+R:""}},36693:(e,t,a)=>{"use strict";var i=a(76260),o=Object.prototype.hasOwnProperty,n=Array.isArray,r=(function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e})(),E=function(e,t){for(var a=t&&t.plainObjects?{__proto__:null}:{},i=0;i<e.length;++i)void 0!==e[i]&&(a[i]=e[i]);return a},_=1024;e.exports={arrayToObject:E,assign:function(e,t){return Object.keys(t).reduce(function(e,a){return e[a]=t[a],e},e)},combine:function(e,t){return[].concat(e,t)},compact:function(e){for(var t=[{obj:{o:e},prop:"o"}],a=[],i=0;i<t.length;++i)for(var o=t[i],r=o.obj[o.prop],E=Object.keys(r),_=0;_<E.length;++_){var T=E[_],s=r[T];"object"==typeof s&&null!==s&&-1===a.indexOf(s)&&(t.push({obj:r,prop:T}),a.push(s))}return(function(e){for(;e.length>1;){var t=e.pop(),a=t.obj[t.prop];if(n(a)){for(var i=[],o=0;o<a.length;++o)void 0!==a[o]&&i.push(a[o]);t.obj[t.prop]=i}}})(t),e},decode:function(e,t,a){var i=e.replace(/\+/g," ");if("iso-8859-1"===a)return i.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(i)}catch(e){return i}},encode:function(e,t,a,o,n){if(0===e.length)return e;var E=e;if("symbol"==typeof e?E=Symbol.prototype.toString.call(e):"string"!=typeof e&&(E=String(e)),"iso-8859-1"===a)return escape(E).replace(/%u[0-9a-f]{4}/gi,function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"});for(var T="",s=0;s<E.length;s+=_){for(var S=E.length>=_?E.slice(s,s+_):E,l=[],I=0;I<S.length;++I){var A=S.charCodeAt(I);45===A||46===A||95===A||126===A||A>=48&&A<=57||A>=65&&A<=90||A>=97&&A<=122||n===i.RFC1738&&(40===A||41===A)?l[l.length]=S.charAt(I):A<128?l[l.length]=r[A]:A<2048?l[l.length]=r[192|A>>6]+r[128|63&A]:A<55296||A>=57344?l[l.length]=r[224|A>>12]+r[128|A>>6&63]+r[128|63&A]:(I+=1,A=65536+((1023&A)<<10|1023&S.charCodeAt(I)),l[l.length]=r[240|A>>18]+r[128|A>>12&63]+r[128|A>>6&63]+r[128|63&A])}T+=l.join("")}return T},isBuffer:function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(n(e)){for(var a=[],i=0;i<e.length;i+=1)a.push(t(e[i]));return a}return t(e)},merge:function e(t,a,i){if(!a)return t;if("object"!=typeof a&&"function"!=typeof a){if(n(t))t.push(a);else{if(!t||"object"!=typeof t)return[t,a];(i&&(i.plainObjects||i.allowPrototypes)||!o.call(Object.prototype,a))&&(t[a]=!0)}return t}if(!t||"object"!=typeof t)return[t].concat(a);var r=t;return n(t)&&!n(a)&&(r=E(t,i)),n(t)&&n(a)?(a.forEach(function(a,n){if(o.call(t,n)){var r=t[n];r&&"object"==typeof r&&a&&"object"==typeof a?t[n]=e(r,a,i):t.push(a)}else t[n]=a}),t):Object.keys(a).reduce(function(t,n){var r=a[n];return o.call(t,n)?t[n]=e(t[n],r,i):t[n]=r,t},r)}}},30875:e=>{"use strict";function t(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,a,i,o){a=a||"&",i=i||"=";var n={};if("string"!=typeof e||0===e.length)return n;var r=/\+/g;e=e.split(a);var E=1e3;o&&"number"==typeof o.maxKeys&&(E=o.maxKeys);var _=e.length;E>0&&_>E&&(_=E);for(var T=0;T<_;++T){var s,S,l,I,A=e[T].replace(r,"%20"),u=A.indexOf(i);u>=0?(s=A.substr(0,u),S=A.substr(u+1)):(s=A,S=""),l=decodeURIComponent(s),I=decodeURIComponent(S),t(n,l)?Array.isArray(n[l])?n[l].push(I):n[l]=[n[l],I]:n[l]=I}return n}},65223:e=>{"use strict";var t=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,a,i,o){return a=a||"&",i=i||"=",null===e&&(e=void 0),"object"==typeof e?Object.keys(e).map(function(o){var n=encodeURIComponent(t(o))+i;return Array.isArray(e[o])?e[o].map(function(e){return n+encodeURIComponent(t(e))}).join(a):n+encodeURIComponent(t(e[o]))}).join(a):o?encodeURIComponent(t(o))+i+encodeURIComponent(t(e)):""}},24329:(e,t,a)=>{"use strict";t.decode=t.parse=a(30875),t.encode=t.stringify=a(65223)},19481:(e,t,a)=>{"use strict";var i=a(30758),o=a(31896);function n(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=1;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var r=new Set,E={};function _(e,t){T(e,t),T(e+"Capture",t)}function T(e,t){for(E[e]=t,e=0;e<t.length;e++)r.add(t[e])}var s=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),S=Object.prototype.hasOwnProperty,l=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,I={},A={};function u(e,t,a,i,o,n,r){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=i,this.attributeNamespace=o,this.mustUseProperty=a,this.propertyName=e,this.type=t,this.sanitizeURL=n,this.removeEmptyString=r}var d={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){d[e]=new u(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];d[t]=new u(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){d[e]=new u(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){d[e]=new u(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){d[e]=new u(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){d[e]=new u(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){d[e]=new u(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){d[e]=new u(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){d[e]=new u(e,5,!1,e.toLowerCase(),null,!1,!1)});var O=/[\-:]([a-z])/g;function c(e){return e[1].toUpperCase()}function N(e,t,a,i){var o=d.hasOwnProperty(t)?d[t]:null;(null!==o?0!==o.type:i||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&((function(e,t,a,i){if(null==t||(function(e,t,a,i){if(null!==a&&0===a.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!i&&(null!==a?!a.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}})(e,t,a,i))return!0;if(i)return!1;if(null!==a)switch(a.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1})(t,a,o,i)&&(a=null),i||null===o?(function(e){return!!S.call(A,e)||!S.call(I,e)&&(l.test(e)?A[e]=!0:(I[e]=!0,!1))})(t)&&(null===a?e.removeAttribute(t):e.setAttribute(t,""+a)):o.mustUseProperty?e[o.propertyName]=null===a?3!==o.type&&"":a:(t=o.attributeName,i=o.attributeNamespace,null===a?e.removeAttribute(t):(a=3===(o=o.type)||4===o&&!0===a?"":""+a,i?e.setAttributeNS(i,t,a):e.setAttribute(t,a))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(O,c);d[t]=new u(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(O,c);d[t]=new u(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(O,c);d[t]=new u(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){d[e]=new u(e,1,!1,e.toLowerCase(),null,!1,!1)}),d.xlinkHref=new u("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){d[e]=new u(e,1,!1,e.toLowerCase(),null,!0,!0)});var R=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,m=Symbol.for("react.element"),L=Symbol.for("react.portal"),D=Symbol.for("react.fragment"),p=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),h=Symbol.for("react.provider"),f=Symbol.for("react.context"),P=Symbol.for("react.forward_ref"),B=Symbol.for("react.suspense"),g=Symbol.for("react.suspense_list"),v=Symbol.for("react.memo"),M=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var W=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var y=Symbol.iterator;function U(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=y&&e[y]||e["@@iterator"])?e:null}var b,G=Object.assign;function k(e){if(void 0===b)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);b=t&&t[1]||""}return"\n"+b+e}var F=!1;function V(e,t){if(!e||F)return"";F=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var i=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){i=e}e.call(t.prototype)}else{try{throw Error()}catch(e){i=e}e()}}catch(t){if(t&&i&&"string"==typeof t.stack){for(var o=t.stack.split("\n"),n=i.stack.split("\n"),r=o.length-1,E=n.length-1;1<=r&&0<=E&&o[r]!==n[E];)E--;for(;1<=r&&0<=E;r--,E--)if(o[r]!==n[E]){if(1!==r||1!==E)do{if(r--,0>--E||o[r]!==n[E]){var _="\n"+o[r].replace(" at new "," at ");return e.displayName&&_.includes("<anonymous>")&&(_=_.replace("<anonymous>",e.displayName)),_}}while(1<=r&&0<=E);break}}}finally{F=!1,Error.prepareStackTrace=a}return(e=e?e.displayName||e.name:"")?k(e):""}function H(e){switch(e.tag){case 5:return k(e.type);case 16:return k("Lazy");case 13:return k("Suspense");case 19:return k("SuspenseList");case 0:case 2:case 15:return e=V(e.type,!1);case 11:return e=V(e.type.render,!1);case 1:return e=V(e.type,!0);default:return""}}function w(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case D:return"Fragment";case L:return"Portal";case C:return"Profiler";case p:return"StrictMode";case B:return"Suspense";case g:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case f:return(e.displayName||"Context")+".Consumer";case h:return(e._context.displayName||"Context")+".Provider";case P:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case v:return null!==(t=e.displayName||null)?t:w(e.type)||"Memo";case M:t=e._payload,e=e._init;try{return w(e(t))}catch(e){}}return null}function Y(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return w(t);case 8:return t===p?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function z(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function K(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function j(e){e._valueTracker||(e._valueTracker=(function(e){var t=K(e)?"checked":"value",a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==a&&"function"==typeof a.get&&"function"==typeof a.set){var o=a.get,n=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){i=""+e,n.call(this,e)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return i},setValue:function(e){i=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}})(e))}function x(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),i="";return e&&(i=K(e)?e.checked?"true":"false":e.value),(e=i)!==a&&(t.setValue(e),!0)}function Q(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function X(e,t){var a=t.checked;return G({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=a?a:e._wrapperState.initialChecked})}function $(e,t){var a=null==t.defaultValue?"":t.defaultValue,i=null!=t.checked?t.checked:t.defaultChecked;a=z(null!=t.value?t.value:a),e._wrapperState={initialChecked:i,initialValue:a,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function q(e,t){null!=(t=t.checked)&&N(e,"checked",t,!1)}function J(e,t){q(e,t);var a=z(t.value),i=t.type;if(null!=a)"number"===i?(0===a&&""===e.value||e.value!=a)&&(e.value=""+a):e.value!==""+a&&(e.value=""+a);else if("submit"===i||"reset"===i)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,a):t.hasOwnProperty("defaultValue")&&ee(e,t.type,z(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Z(e,t,a){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!("submit"!==i&&"reset"!==i||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,a||t===e.value||(e.value=t),e.defaultValue=t}""!==(a=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==a&&(e.name=a)}function ee(e,t,a){"number"===t&&Q(e.ownerDocument)===e||(null==a?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+a&&(e.defaultValue=""+a))}var te=Array.isArray;function ae(e,t,a,i){if(e=e.options,t){t={};for(var o=0;o<a.length;o++)t["$"+a[o]]=!0;for(a=0;a<e.length;a++)o=t.hasOwnProperty("$"+e[a].value),e[a].selected!==o&&(e[a].selected=o),o&&i&&(e[a].defaultSelected=!0)}else{for(a=""+z(a),t=null,o=0;o<e.length;o++){if(e[o].value===a)return e[o].selected=!0,void(i&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function ie(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(n(91));return G({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function oe(e,t){var a=t.value;if(null==a){if(a=t.children,t=t.defaultValue,null!=a){if(null!=t)throw Error(n(92));if(te(a)){if(1<a.length)throw Error(n(93));a=a[0]}t=a}null==t&&(t=""),a=t}e._wrapperState={initialValue:z(a)}}function ne(e,t){var a=z(t.value),i=z(t.defaultValue);null!=a&&((a=""+a)!==e.value&&(e.value=a),null==t.defaultValue&&e.defaultValue!==a&&(e.defaultValue=a)),null!=i&&(e.defaultValue=""+i)}function re(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function Ee(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function _e(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Ee(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var Te,se,Se=(se=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((Te=Te||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Te.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,a,i){MSApp.execUnsafeLocalFunction(function(){return se(e,t)})}:se);function le(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&3===a.nodeType)return void(a.nodeValue=t)}e.textContent=t}var Ie={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ae=["Webkit","ms","Moz","O"];function ue(e,t,a){return null==t||"boolean"==typeof t||""===t?"":a||"number"!=typeof t||0===t||Ie.hasOwnProperty(e)&&Ie[e]?(""+t).trim():t+"px"}function de(e,t){for(var a in e=e.style,t)if(t.hasOwnProperty(a)){var i=0===a.indexOf("--"),o=ue(a,t[a],i);"float"===a&&(a="cssFloat"),i?e.setProperty(a,o):e[a]=o}}Object.keys(Ie).forEach(function(e){Ae.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ie[t]=Ie[e]})});var Oe=G({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ce(e,t){if(t){if(Oe[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(n(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(n(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(n(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(n(62))}}function Ne(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Re=null;function me(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Le=null,De=null,pe=null;function Ce(e){if(e=No(e)){if("function"!=typeof Le)throw Error(n(280));var t=e.stateNode;t&&(t=mo(t),Le(e.stateNode,e.type,t))}}function he(e){De?pe?pe.push(e):pe=[e]:De=e}function fe(){if(De){var e=De,t=pe;if(pe=De=null,Ce(e),t)for(e=0;e<t.length;e++)Ce(t[e])}}function Pe(e,t){return e(t)}function Be(){}var ge=!1;function ve(e,t,a){if(ge)return e(t,a);ge=!0;try{return Pe(e,t,a)}finally{ge=!1,(null!==De||null!==pe)&&(Be(),fe())}}function Me(e,t){var a=e.stateNode;if(null===a)return null;var i=mo(a);if(null===i)return null;a=i[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(i=!i.disabled)||(i=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!i;break e;default:e=!1}if(e)return null;if(a&&"function"!=typeof a)throw Error(n(231,t,typeof a));return a}var We=!1;if(s)try{var ye={};Object.defineProperty(ye,"passive",{get:function(){We=!0}}),window.addEventListener("test",ye,ye),window.removeEventListener("test",ye,ye)}catch(se){We=!1}function Ue(e,t,a,i,o,n,r,E,_){var T=Array.prototype.slice.call(arguments,3);try{t.apply(a,T)}catch(e){this.onError(e)}}var be=!1,Ge=null,ke=!1,Fe=null,Ve={onError:function(e){be=!0,Ge=e}};function He(e,t,a,i,o,n,r,E,_){be=!1,Ge=null,Ue.apply(Ve,arguments)}function we(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(a=t.return),e=t.return}while(e)}return 3===t.tag?a:null}function Ye(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function ze(e){if(we(e)!==e)throw Error(n(188))}function Ke(e){return null!==(e=(function(e){var t=e.alternate;if(!t){if(null===(t=we(e)))throw Error(n(188));return t!==e?null:e}for(var a=e,i=t;;){var o=a.return;if(null===o)break;var r=o.alternate;if(null===r){if(null!==(i=o.return)){a=i;continue}break}if(o.child===r.child){for(r=o.child;r;){if(r===a)return ze(o),e;if(r===i)return ze(o),t;r=r.sibling}throw Error(n(188))}if(a.return!==i.return)a=o,i=r;else{for(var E=!1,_=o.child;_;){if(_===a){E=!0,a=o,i=r;break}if(_===i){E=!0,i=o,a=r;break}_=_.sibling}if(!E){for(_=r.child;_;){if(_===a){E=!0,a=r,i=o;break}if(_===i){E=!0,i=r,a=o;break}_=_.sibling}if(!E)throw Error(n(189))}}if(a.alternate!==i)throw Error(n(190))}if(3!==a.tag)throw Error(n(188));return a.stateNode.current===a?e:t})(e))?je(e):null}function je(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=je(e);if(null!==t)return t;e=e.sibling}return null}var xe=o.unstable_scheduleCallback,Qe=o.unstable_cancelCallback,Xe=o.unstable_shouldYield,$e=o.unstable_requestPaint,qe=o.unstable_now,Je=o.unstable_getCurrentPriorityLevel,Ze=o.unstable_ImmediatePriority,et=o.unstable_UserBlockingPriority,tt=o.unstable_NormalPriority,at=o.unstable_LowPriority,it=o.unstable_IdlePriority,ot=null,nt=null;var rt=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(Et(e)/_t|0)|0},Et=Math.log,_t=Math.LN2;var Tt=64,st=4194304;function St(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function lt(e,t){var a=e.pendingLanes;if(0===a)return 0;var i=0,o=e.suspendedLanes,n=e.pingedLanes,r=268435455&a;if(0!==r){var E=r&~o;0!==E?i=St(E):0!==(n&=r)&&(i=St(n))}else 0!==(r=a&~o)?i=St(r):0!==n&&(i=St(n));if(0===i)return 0;if(0!==t&&t!==i&&0===(t&o)&&((o=i&-i)>=(n=t&-t)||16===o&&4194240&n))return t;if(4&i&&(i|=16&a),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=i;0<t;)o=1<<(a=31-rt(t)),i|=e[a],t&=~o;return i}function It(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function At(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function ut(){var e=Tt;return!(4194240&(Tt<<=1))&&(Tt=64),e}function dt(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function Ot(e,t,a){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-rt(t)]=a}function ct(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var i=31-rt(a),o=1<<i;o&t|e[i]&t&&(e[i]|=t),a&=~o}}var Nt=0;function Rt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var mt,Lt,Dt,pt,Ct,ht=!1,ft=[],Pt=null,Bt=null,gt=null,vt=new Map,Mt=new Map,Wt=[],yt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Ut(e,t){switch(e){case"focusin":case"focusout":Pt=null;break;case"dragenter":case"dragleave":Bt=null;break;case"mouseover":case"mouseout":gt=null;break;case"pointerover":case"pointerout":vt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Mt.delete(t.pointerId)}}function bt(e,t,a,i,o,n){return null===e||e.nativeEvent!==n?(e={blockedOn:t,domEventName:a,eventSystemFlags:i,nativeEvent:n,targetContainers:[o]},null!==t&&(null!==(t=No(t))&&Lt(t)),e):(e.eventSystemFlags|=i,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function Gt(e){var t=co(e.target);if(null!==t){var a=we(t);if(null!==a)if(13===(t=a.tag)){if(null!==(t=Ye(a)))return e.blockedOn=t,void Ct(e.priority,function(){Dt(a)})}else if(3===t&&a.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===a.tag?a.stateNode.containerInfo:null)}e.blockedOn=null}function kt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var a=Xt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==a)return null!==(t=No(a))&&Lt(t),e.blockedOn=a,!1;var i=new(a=e.nativeEvent).constructor(a.type,a);Re=i,a.target.dispatchEvent(i),Re=null,t.shift()}return!0}function Ft(e,t,a){kt(e)&&a.delete(t)}function Vt(){ht=!1,null!==Pt&&kt(Pt)&&(Pt=null),null!==Bt&&kt(Bt)&&(Bt=null),null!==gt&&kt(gt)&&(gt=null),vt.forEach(Ft),Mt.forEach(Ft)}function Ht(e,t){e.blockedOn===t&&(e.blockedOn=null,ht||(ht=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Vt)))}function wt(e){function t(t){return Ht(t,e)}if(0<ft.length){Ht(ft[0],e);for(var a=1;a<ft.length;a++){var i=ft[a];i.blockedOn===e&&(i.blockedOn=null)}}for(null!==Pt&&Ht(Pt,e),null!==Bt&&Ht(Bt,e),null!==gt&&Ht(gt,e),vt.forEach(t),Mt.forEach(t),a=0;a<Wt.length;a++)(i=Wt[a]).blockedOn===e&&(i.blockedOn=null);for(;0<Wt.length&&null===(a=Wt[0]).blockedOn;)Gt(a),null===a.blockedOn&&Wt.shift()}var Yt=R.ReactCurrentBatchConfig,zt=!0;function Kt(e,t,a,i){var o=Nt,n=Yt.transition;Yt.transition=null;try{Nt=1,xt(e,t,a,i)}finally{Nt=o,Yt.transition=n}}function jt(e,t,a,i){var o=Nt,n=Yt.transition;Yt.transition=null;try{Nt=4,xt(e,t,a,i)}finally{Nt=o,Yt.transition=n}}function xt(e,t,a,i){if(zt){var o=Xt(e,t,a,i);if(null===o)Yi(e,t,i,Qt,a),Ut(e,i);else if((function(e,t,a,i,o){switch(t){case"focusin":return Pt=bt(Pt,e,t,a,i,o),!0;case"dragenter":return Bt=bt(Bt,e,t,a,i,o),!0;case"mouseover":return gt=bt(gt,e,t,a,i,o),!0;case"pointerover":var n=o.pointerId;return vt.set(n,bt(vt.get(n)||null,e,t,a,i,o)),!0;case"gotpointercapture":return n=o.pointerId,Mt.set(n,bt(Mt.get(n)||null,e,t,a,i,o)),!0}return!1})(o,e,t,a,i))i.stopPropagation();else if(Ut(e,i),4&t&&-1<yt.indexOf(e)){for(;null!==o;){var n=No(o);if(null!==n&&mt(n),null===(n=Xt(e,t,a,i))&&Yi(e,t,i,Qt,a),n===o)break;o=n}null!==o&&i.stopPropagation()}else Yi(e,t,i,null,a)}}var Qt=null;function Xt(e,t,a,i){if(Qt=null,null!==(e=co(e=me(i))))if(null===(t=we(e)))e=null;else if(13===(a=t.tag)){if(null!==(e=Ye(t)))return e;e=null}else if(3===a){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Qt=e,null}function $t(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Je()){case Ze:return 1;case et:return 4;case tt:case at:return 16;case it:return 536870912;default:return 16}default:return 16}}var qt=null,Jt=null,Zt=null;function ea(){if(Zt)return Zt;var e,t,a=Jt,i=a.length,o="value"in qt?qt.value:qt.textContent,n=o.length;for(e=0;e<i&&a[e]===o[e];e++);var r=i-e;for(t=1;t<=r&&a[i-t]===o[n-t];t++);return Zt=o.slice(e,1<t?1-t:void 0)}function ta(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function aa(){return!0}function ia(){return!1}function oa(e){function t(t,a,i,o,n){for(var r in this._reactName=t,this._targetInst=i,this.type=a,this.nativeEvent=o,this.target=n,this.currentTarget=null,e)e.hasOwnProperty(r)&&(t=e[r],this[r]=t?t(o):o[r]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?aa:ia,this.isPropagationStopped=ia,this}return G(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=aa)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=aa)},persist:function(){},isPersistent:aa}),t}var na,ra,Ea,_a={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ta=oa(_a),sa=G({},_a,{view:0,detail:0}),Sa=oa(sa),la=G({},sa,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:pa,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Ea&&(Ea&&"mousemove"===e.type?(na=e.screenX-Ea.screenX,ra=e.screenY-Ea.screenY):ra=na=0,Ea=e),na)},movementY:function(e){return"movementY"in e?e.movementY:ra}}),Ia=oa(la),Aa=oa(G({},la,{dataTransfer:0})),ua=oa(G({},sa,{relatedTarget:0})),da=oa(G({},_a,{animationName:0,elapsedTime:0,pseudoElement:0})),Oa=G({},_a,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),ca=oa(Oa),Na=oa(G({},_a,{data:0})),Ra={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},ma={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},La={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Da(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=La[e])&&!!t[e]}function pa(){return Da}var Ca=G({},sa,{key:function(e){if(e.key){var t=Ra[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=ta(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?ma[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:pa,charCode:function(e){return"keypress"===e.type?ta(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?ta(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),ha=oa(Ca),fa=oa(G({},la,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Pa=oa(G({},sa,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:pa})),Ba=oa(G({},_a,{propertyName:0,elapsedTime:0,pseudoElement:0})),ga=G({},la,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),va=oa(ga),Ma=[9,13,27,32],Wa=s&&"CompositionEvent"in window,ya=null;s&&"documentMode"in document&&(ya=document.documentMode);var Ua=s&&"TextEvent"in window&&!ya,ba=s&&(!Wa||ya&&8<ya&&11>=ya),Ga=String.fromCharCode(32),ka=!1;function Fa(e,t){switch(e){case"keyup":return-1!==Ma.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Va(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Ha=!1;var wa={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Ya(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!wa[e.type]:"textarea"===t}function za(e,t,a,i){he(i),0<(t=Ki(t,"onChange")).length&&(a=new Ta("onChange","change",null,a,i),e.push({event:a,listeners:t}))}var Ka=null,ja=null;function xa(e){Gi(e,0)}function Qa(e){if(x(Ro(e)))return e}function Xa(e,t){if("change"===e)return t}var $a=!1;if(s){var qa;if(s){var Ja="oninput"in document;if(!Ja){var Za=document.createElement("div");Za.setAttribute("oninput","return;"),Ja="function"==typeof Za.oninput}qa=Ja}else qa=!1;$a=qa&&(!document.documentMode||9<document.documentMode)}function ei(){Ka&&(Ka.detachEvent("onpropertychange",ti),ja=Ka=null)}function ti(e){if("value"===e.propertyName&&Qa(ja)){var t=[];za(t,ja,e,me(e)),ve(xa,t)}}function ai(e,t,a){"focusin"===e?(ei(),ja=a,(Ka=t).attachEvent("onpropertychange",ti)):"focusout"===e&&ei()}function ii(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qa(ja)}function oi(e,t){if("click"===e)return Qa(t)}function ni(e,t){if("input"===e||"change"===e)return Qa(t)}var ri="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function Ei(e,t){if(ri(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var a=Object.keys(e),i=Object.keys(t);if(a.length!==i.length)return!1;for(i=0;i<a.length;i++){var o=a[i];if(!S.call(t,o)||!ri(e[o],t[o]))return!1}return!0}function _i(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Ti(e,t){var a,i=_i(e);for(e=0;i;){if(3===i.nodeType){if(a=e+i.textContent.length,e<=t&&a>=t)return{node:i,offset:t-e};e=a}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=_i(i)}}function si(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?si(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function Si(){for(var e=window,t=Q();t instanceof e.HTMLIFrameElement;){try{var a="string"==typeof t.contentWindow.location.href}catch(e){a=!1}if(!a)break;t=Q((e=t.contentWindow).document)}return t}function li(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function Ii(e){var t=Si(),a=e.focusedElem,i=e.selectionRange;if(t!==a&&a&&a.ownerDocument&&si(a.ownerDocument.documentElement,a)){if(null!==i&&li(a))if(t=i.start,void 0===(e=i.end)&&(e=t),"selectionStart"in a)a.selectionStart=t,a.selectionEnd=Math.min(e,a.value.length);else if((e=(t=a.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=a.textContent.length,n=Math.min(i.start,o);i=void 0===i.end?n:Math.min(i.end,o),!e.extend&&n>i&&(o=i,i=n,n=o),o=Ti(a,n);var r=Ti(a,i);o&&r&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==r.node||e.focusOffset!==r.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),n>i?(e.addRange(t),e.extend(r.node,r.offset)):(t.setEnd(r.node,r.offset),e.addRange(t)))}for(t=[],e=a;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof a.focus&&a.focus(),a=0;a<t.length;a++)(e=t[a]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Ai=s&&"documentMode"in document&&11>=document.documentMode,ui=null,di=null,Oi=null,ci=!1;function Ni(e,t,a){var i=a.window===a?a.document:9===a.nodeType?a:a.ownerDocument;ci||null==ui||ui!==Q(i)||("selectionStart"in(i=ui)&&li(i)?i={start:i.selectionStart,end:i.selectionEnd}:i={anchorNode:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset},Oi&&Ei(Oi,i)||(Oi=i,0<(i=Ki(di,"onSelect")).length&&(t=new Ta("onSelect","select",null,t,a),e.push({event:t,listeners:i}),t.target=ui)))}function Ri(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var mi={animationend:Ri("Animation","AnimationEnd"),animationiteration:Ri("Animation","AnimationIteration"),animationstart:Ri("Animation","AnimationStart"),transitionend:Ri("Transition","TransitionEnd")},Li={},Di={};function pi(e){if(Li[e])return Li[e];if(!mi[e])return e;var t,a=mi[e];for(t in a)if(a.hasOwnProperty(t)&&t in Di)return Li[e]=a[t];return e}s&&(Di=document.createElement("div").style,"AnimationEvent"in window||(delete mi.animationend.animation,delete mi.animationiteration.animation,delete mi.animationstart.animation),"TransitionEvent"in window||delete mi.transitionend.transition);var Ci=pi("animationend"),hi=pi("animationiteration"),fi=pi("animationstart"),Pi=pi("transitionend"),Bi=new Map,gi="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function vi(e,t){Bi.set(e,t),_(t,[e])}for(var Mi=0;Mi<gi.length;Mi++){var Wi=gi[Mi];vi(Wi.toLowerCase(),"on"+(Wi[0].toUpperCase()+Wi.slice(1)))}vi(Ci,"onAnimationEnd"),vi(hi,"onAnimationIteration"),vi(fi,"onAnimationStart"),vi("dblclick","onDoubleClick"),vi("focusin","onFocus"),vi("focusout","onBlur"),vi(Pi,"onTransitionEnd"),T("onMouseEnter",["mouseout","mouseover"]),T("onMouseLeave",["mouseout","mouseover"]),T("onPointerEnter",["pointerout","pointerover"]),T("onPointerLeave",["pointerout","pointerover"]),_("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),_("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),_("onBeforeInput",["compositionend","keypress","textInput","paste"]),_("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),_("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),_("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var yi="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Ui=new Set("cancel close invalid load scroll toggle".split(" ").concat(yi));function bi(e,t,a){var i=e.type||"unknown-event";e.currentTarget=a,(function(e,t,a,i,o,r,E,_,T){if(He.apply(this,arguments),be){if(!be)throw Error(n(198));var s=Ge;be=!1,Ge=null,ke||(ke=!0,Fe=s)}})(i,t,void 0,e),e.currentTarget=null}function Gi(e,t){t=!!(4&t);for(var a=0;a<e.length;a++){var i=e[a],o=i.event;i=i.listeners;e:{var n=void 0;if(t)for(var r=i.length-1;0<=r;r--){var E=i[r],_=E.instance,T=E.currentTarget;if(E=E.listener,_!==n&&o.isPropagationStopped())break e;bi(o,E,T),n=_}else for(r=0;r<i.length;r++){if(_=(E=i[r]).instance,T=E.currentTarget,E=E.listener,_!==n&&o.isPropagationStopped())break e;bi(o,E,T),n=_}}}if(ke)throw e=Fe,ke=!1,Fe=null,e}function ki(e,t){var a=t[Ao];void 0===a&&(a=t[Ao]=new Set);var i=e+"__bubble";a.has(i)||(wi(t,e,2,!1),a.add(i))}function Fi(e,t,a){var i=0;t&&(i|=4),wi(a,e,i,t)}var Vi="_reactListening"+Math.random().toString(36).slice(2);function Hi(e){if(!e[Vi]){e[Vi]=!0,r.forEach(function(t){"selectionchange"!==t&&(Ui.has(t)||Fi(t,!1,e),Fi(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Vi]||(t[Vi]=!0,Fi("selectionchange",!1,t))}}function wi(e,t,a,i){switch($t(t)){case 1:var o=Kt;break;case 4:o=jt;break;default:o=xt}a=o.bind(null,t,a,e),o=void 0,!We||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(o=!0),i?void 0!==o?e.addEventListener(t,a,{capture:!0,passive:o}):e.addEventListener(t,a,!0):void 0!==o?e.addEventListener(t,a,{passive:o}):e.addEventListener(t,a,!1)}function Yi(e,t,a,i,o){var n=i;if(!(1&t||2&t||null===i))e:for(;;){if(null===i)return;var r=i.tag;if(3===r||4===r){var E=i.stateNode.containerInfo;if(E===o||8===E.nodeType&&E.parentNode===o)break;if(4===r)for(r=i.return;null!==r;){var _=r.tag;if((3===_||4===_)&&((_=r.stateNode.containerInfo)===o||8===_.nodeType&&_.parentNode===o))return;r=r.return}for(;null!==E;){if(null===(r=co(E)))return;if(5===(_=r.tag)||6===_){i=n=r;continue e}E=E.parentNode}}i=i.return}ve(function(){var i=n,o=me(a),r=[];e:{var E=Bi.get(e);if(void 0!==E){var _=Ta,T=e;switch(e){case"keypress":if(0===ta(a))break e;case"keydown":case"keyup":_=ha;break;case"focusin":T="focus",_=ua;break;case"focusout":T="blur",_=ua;break;case"beforeblur":case"afterblur":_=ua;break;case"click":if(2===a.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":_=Ia;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":_=Aa;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":_=Pa;break;case Ci:case hi:case fi:_=da;break;case Pi:_=Ba;break;case"scroll":_=Sa;break;case"wheel":_=va;break;case"copy":case"cut":case"paste":_=ca;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":_=fa}var s=!!(4&t),S=!s&&"scroll"===e,l=s?null!==E?E+"Capture":null:E;s=[];for(var I,A=i;null!==A;){var u=(I=A).stateNode;if(5===I.tag&&null!==u&&(I=u,null!==l&&(null!=(u=Me(A,l))&&s.push(zi(A,u,I)))),S)break;A=A.return}0<s.length&&(E=new _(E,T,null,a,o),r.push({event:E,listeners:s}))}}if(!(7&t)){if(_="mouseout"===e||"pointerout"===e,(!(E="mouseover"===e||"pointerover"===e)||a===Re||!(T=a.relatedTarget||a.fromElement)||!co(T)&&!T[Io])&&(_||E)&&(E=o.window===o?o:(E=o.ownerDocument)?E.defaultView||E.parentWindow:window,_?(_=i,null!==(T=(T=a.relatedTarget||a.toElement)?co(T):null)&&(T!==(S=we(T))||5!==T.tag&&6!==T.tag)&&(T=null)):(_=null,T=i),_!==T)){if(s=Ia,u="onMouseLeave",l="onMouseEnter",A="mouse","pointerout"!==e&&"pointerover"!==e||(s=fa,u="onPointerLeave",l="onPointerEnter",A="pointer"),S=null==_?E:Ro(_),I=null==T?E:Ro(T),(E=new s(u,A+"leave",_,a,o)).target=S,E.relatedTarget=I,u=null,co(o)===i&&((s=new s(l,A+"enter",T,a,o)).target=I,s.relatedTarget=S,u=s),S=u,_&&T)e:{for(l=T,A=0,I=s=_;I;I=ji(I))A++;for(I=0,u=l;u;u=ji(u))I++;for(;0<A-I;)s=ji(s),A--;for(;0<I-A;)l=ji(l),I--;for(;A--;){if(s===l||null!==l&&s===l.alternate)break e;s=ji(s),l=ji(l)}s=null}else s=null;null!==_&&xi(r,E,_,s,!1),null!==T&&null!==S&&xi(r,S,T,s,!0)}if("select"===(_=(E=i?Ro(i):window).nodeName&&E.nodeName.toLowerCase())||"input"===_&&"file"===E.type)var d=Xa;else if(Ya(E))if($a)d=ni;else{d=ii;var O=ai}else(_=E.nodeName)&&"input"===_.toLowerCase()&&("checkbox"===E.type||"radio"===E.type)&&(d=oi);switch(d&&(d=d(e,i))?za(r,d,a,o):(O&&O(e,E,i),"focusout"===e&&(O=E._wrapperState)&&O.controlled&&"number"===E.type&&ee(E,"number",E.value)),O=i?Ro(i):window,e){case"focusin":(Ya(O)||"true"===O.contentEditable)&&(ui=O,di=i,Oi=null);break;case"focusout":Oi=di=ui=null;break;case"mousedown":ci=!0;break;case"contextmenu":case"mouseup":case"dragend":ci=!1,Ni(r,a,o);break;case"selectionchange":if(Ai)break;case"keydown":case"keyup":Ni(r,a,o)}var c;if(Wa)e:{switch(e){case"compositionstart":var N="onCompositionStart";break e;case"compositionend":N="onCompositionEnd";break e;case"compositionupdate":N="onCompositionUpdate";break e}N=void 0}else Ha?Fa(e,a)&&(N="onCompositionEnd"):"keydown"===e&&229===a.keyCode&&(N="onCompositionStart");N&&(ba&&"ko"!==a.locale&&(Ha||"onCompositionStart"!==N?"onCompositionEnd"===N&&Ha&&(c=ea()):(Jt="value"in(qt=o)?qt.value:qt.textContent,Ha=!0)),0<(O=Ki(i,N)).length&&(N=new Na(N,e,null,a,o),r.push({event:N,listeners:O}),c?N.data=c:null!==(c=Va(a))&&(N.data=c))),(c=Ua?(function(e,t){switch(e){case"compositionend":return Va(t);case"keypress":return 32!==t.which?null:(ka=!0,Ga);case"textInput":return(e=t.data)===Ga&&ka?null:e;default:return null}})(e,a):(function(e,t){if(Ha)return"compositionend"===e||!Wa&&Fa(e,t)?(e=ea(),Zt=Jt=qt=null,Ha=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return ba&&"ko"!==t.locale?null:t.data}})(e,a))&&(0<(i=Ki(i,"onBeforeInput")).length&&(o=new Na("onBeforeInput","beforeinput",null,a,o),r.push({event:o,listeners:i}),o.data=c))}Gi(r,t)})}function zi(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Ki(e,t){for(var a=t+"Capture",i=[];null!==e;){var o=e,n=o.stateNode;5===o.tag&&null!==n&&(o=n,null!=(n=Me(e,a))&&i.unshift(zi(e,n,o)),null!=(n=Me(e,t))&&i.push(zi(e,n,o))),e=e.return}return i}function ji(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function xi(e,t,a,i,o){for(var n=t._reactName,r=[];null!==a&&a!==i;){var E=a,_=E.alternate,T=E.stateNode;if(null!==_&&_===i)break;5===E.tag&&null!==T&&(E=T,o?null!=(_=Me(a,n))&&r.unshift(zi(a,_,E)):o||null!=(_=Me(a,n))&&r.push(zi(a,_,E))),a=a.return}0!==r.length&&e.push({event:t,listeners:r})}var Qi=/\r\n?/g,Xi=/\u0000|\uFFFD/g;function $i(e){return("string"==typeof e?e:""+e).replace(Qi,"\n").replace(Xi,"")}function qi(e,t,a){if(t=$i(t),$i(e)!==t&&a)throw Error(n(425))}function Ji(){}var Zi=null,eo=null;function to(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ao="function"==typeof setTimeout?setTimeout:void 0,io="function"==typeof clearTimeout?clearTimeout:void 0,oo="function"==typeof Promise?Promise:void 0,no="function"==typeof queueMicrotask?queueMicrotask:void 0!==oo?function(e){return oo.resolve(null).then(e).catch(ro)}:ao;function ro(e){setTimeout(function(){throw e})}function Eo(e,t){var a=t,i=0;do{var o=a.nextSibling;if(e.removeChild(a),o&&8===o.nodeType)if("/$"===(a=o.data)){if(0===i)return e.removeChild(o),void wt(t);i--}else"$"!==a&&"$?"!==a&&"$!"!==a||i++;a=o}while(a);wt(t)}function _o(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function To(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var a=e.data;if("$"===a||"$!"===a||"$?"===a){if(0===t)return e;t--}else"/$"===a&&t++}e=e.previousSibling}return null}var so=Math.random().toString(36).slice(2),So="__reactFiber$"+so,lo="__reactProps$"+so,Io="__reactContainer$"+so,Ao="__reactEvents$"+so,uo="__reactListeners$"+so,Oo="__reactHandles$"+so;function co(e){var t=e[So];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Io]||a[So]){if(a=t.alternate,null!==t.child||null!==a&&null!==a.child)for(e=To(e);null!==e;){if(a=e[So])return a;e=To(e)}return t}a=(e=a).parentNode}return null}function No(e){return!(e=e[So]||e[Io])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Ro(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(n(33))}function mo(e){return e[lo]||null}var Lo=[],Do=-1;function po(e){return{current:e}}function Co(e){0>Do||(e.current=Lo[Do],Lo[Do]=null,Do--)}function ho(e,t){Do++,Lo[Do]=e.current,e.current=t}var fo={},Po=po(fo),Bo=po(!1),go=fo;function vo(e,t){var a=e.type.contextTypes;if(!a)return fo;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var o,n={};for(o in a)n[o]=t[o];return i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=n),n}function Mo(e){return null!=(e=e.childContextTypes)}function Wo(){Co(Bo),Co(Po)}function yo(e,t,a){if(Po.current!==fo)throw Error(n(168));ho(Po,t),ho(Bo,a)}function Uo(e,t,a){var i=e.stateNode;if(t=t.childContextTypes,"function"!=typeof i.getChildContext)return a;for(var o in i=i.getChildContext())if(!(o in t))throw Error(n(108,Y(e)||"Unknown",o));return G({},a,i)}function bo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||fo,go=Po.current,ho(Po,e),ho(Bo,Bo.current),!0}function Go(e,t,a){var i=e.stateNode;if(!i)throw Error(n(169));a?(e=Uo(e,t,go),i.__reactInternalMemoizedMergedChildContext=e,Co(Bo),Co(Po),ho(Po,e)):Co(Bo),ho(Bo,a)}var ko=null,Fo=!1,Vo=!1;function Ho(e){null===ko?ko=[e]:ko.push(e)}function wo(){if(!Vo&&null!==ko){Vo=!0;var e=0,t=Nt;try{var a=ko;for(Nt=1;e<a.length;e++){var i=a[e];do{i=i(!0)}while(null!==i)}ko=null,Fo=!1}catch(t){throw null!==ko&&(ko=ko.slice(e+1)),xe(Ze,wo),t}finally{Nt=t,Vo=!1}}return null}var Yo=[],zo=0,Ko=null,jo=0,xo=[],Qo=0,Xo=null,$o=1,qo="";function Jo(e,t){Yo[zo++]=jo,Yo[zo++]=Ko,Ko=e,jo=t}function Zo(e,t,a){xo[Qo++]=$o,xo[Qo++]=qo,xo[Qo++]=Xo,Xo=e;var i=$o;e=qo;var o=32-rt(i)-1;i&=~(1<<o),a+=1;var n=32-rt(t)+o;if(30<n){var r=o-o%5;n=(i&(1<<r)-1).toString(32),i>>=r,o-=r,$o=1<<32-rt(t)+o|a<<o|i,qo=n+e}else $o=1<<n|a<<o|i,qo=e}function en(e){null!==e.return&&(Jo(e,1),Zo(e,1,0))}function tn(e){for(;e===Ko;)Ko=Yo[--zo],Yo[zo]=null,jo=Yo[--zo],Yo[zo]=null;for(;e===Xo;)Xo=xo[--Qo],xo[Qo]=null,qo=xo[--Qo],xo[Qo]=null,$o=xo[--Qo],xo[Qo]=null}var an=null,on=null,nn=!1,rn=null;function En(e,t){var a=vT(5,null,null,0);a.elementType="DELETED",a.stateNode=t,a.return=e,null===(t=e.deletions)?(e.deletions=[a],e.flags|=16):t.push(a)}function _n(e,t){switch(e.tag){case 5:var a=e.type;return null!==(t=1!==t.nodeType||a.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,an=e,on=_o(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,an=e,on=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(a=null!==Xo?{id:$o,overflow:qo}:null,e.memoizedState={dehydrated:t,treeContext:a,retryLane:1073741824},(a=vT(18,null,null,0)).stateNode=t,a.return=e,e.child=a,an=e,on=null,!0);default:return!1}}function Tn(e){return!(!(1&e.mode)||128&e.flags)}function sn(e){if(nn){var t=on;if(t){var a=t;if(!_n(e,t)){if(Tn(e))throw Error(n(418));t=_o(a.nextSibling);var i=an;t&&_n(e,t)?En(i,a):(e.flags=-4097&e.flags|2,nn=!1,an=e)}}else{if(Tn(e))throw Error(n(418));e.flags=-4097&e.flags|2,nn=!1,an=e}}}function Sn(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;an=e}function ln(e){if(e!==an)return!1;if(!nn)return Sn(e),nn=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!to(e.type,e.memoizedProps)),t&&(t=on)){if(Tn(e))throw In(),Error(n(418));for(;t;)En(e,t),t=_o(t.nextSibling)}if(Sn(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(n(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var a=e.data;if("/$"===a){if(0===t){on=_o(e.nextSibling);break e}t--}else"$"!==a&&"$!"!==a&&"$?"!==a||t++}e=e.nextSibling}on=null}}else on=an?_o(e.stateNode.nextSibling):null;return!0}function In(){for(var e=on;e;)e=_o(e.nextSibling)}function An(){on=an=null,nn=!1}function un(e){null===rn?rn=[e]:rn.push(e)}var dn=R.ReactCurrentBatchConfig;function On(e,t,a){if(null!==(e=a.ref)&&"function"!=typeof e&&"object"!=typeof e){if(a._owner){if(a=a._owner){if(1!==a.tag)throw Error(n(309));var i=a.stateNode}if(!i)throw Error(n(147,e));var o=i,r=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===r?t.ref:(t=function(e){var t=o.refs;null===e?delete t[r]:t[r]=e},t._stringRef=r,t)}if("string"!=typeof e)throw Error(n(284));if(!a._owner)throw Error(n(290,e))}return e}function cn(e,t){throw e=Object.prototype.toString.call(t),Error(n(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Nn(e){return(0,e._init)(e._payload)}function Rn(e){function t(t,a){if(e){var i=t.deletions;null===i?(t.deletions=[a],t.flags|=16):i.push(a)}}function a(a,i){if(!e)return null;for(;null!==i;)t(a,i),i=i.sibling;return null}function i(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=WT(e,t)).index=0,e.sibling=null,e}function r(t,a,i){return t.index=i,e?null!==(i=t.alternate)?(i=i.index)<a?(t.flags|=2,a):i:(t.flags|=2,a):(t.flags|=1048576,a)}function E(t){return e&&null===t.alternate&&(t.flags|=2),t}function _(e,t,a,i){return null===t||6!==t.tag?((t=GT(a,e.mode,i)).return=e,t):((t=o(t,a)).return=e,t)}function T(e,t,a,i){var n=a.type;return n===D?S(e,t,a.props.children,i,a.key):null!==t&&(t.elementType===n||"object"==typeof n&&null!==n&&n.$$typeof===M&&Nn(n)===t.type)?((i=o(t,a.props)).ref=On(e,t,a),i.return=e,i):((i=yT(a.type,a.key,a.props,null,e.mode,i)).ref=On(e,t,a),i.return=e,i)}function s(e,t,a,i){return null===t||4!==t.tag||t.stateNode.containerInfo!==a.containerInfo||t.stateNode.implementation!==a.implementation?((t=kT(a,e.mode,i)).return=e,t):((t=o(t,a.children||[])).return=e,t)}function S(e,t,a,i,n){return null===t||7!==t.tag?((t=UT(a,e.mode,i,n)).return=e,t):((t=o(t,a)).return=e,t)}function l(e,t,a){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=GT(""+t,e.mode,a)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case m:return(a=yT(t.type,t.key,t.props,null,e.mode,a)).ref=On(e,null,t),a.return=e,a;case L:return(t=kT(t,e.mode,a)).return=e,t;case M:return l(e,(0,t._init)(t._payload),a)}if(te(t)||U(t))return(t=UT(t,e.mode,a,null)).return=e,t;cn(e,t)}return null}function I(e,t,a,i){var o=null!==t?t.key:null;if("string"==typeof a&&""!==a||"number"==typeof a)return null!==o?null:_(e,t,""+a,i);if("object"==typeof a&&null!==a){switch(a.$$typeof){case m:return a.key===o?T(e,t,a,i):null;case L:return a.key===o?s(e,t,a,i):null;case M:return I(e,t,(o=a._init)(a._payload),i)}if(te(a)||U(a))return null!==o?null:S(e,t,a,i,null);cn(e,a)}return null}function A(e,t,a,i,o){if("string"==typeof i&&""!==i||"number"==typeof i)return _(t,e=e.get(a)||null,""+i,o);if("object"==typeof i&&null!==i){switch(i.$$typeof){case m:return T(t,e=e.get(null===i.key?a:i.key)||null,i,o);case L:return s(t,e=e.get(null===i.key?a:i.key)||null,i,o);case M:return A(e,t,a,(0,i._init)(i._payload),o)}if(te(i)||U(i))return S(t,e=e.get(a)||null,i,o,null);cn(t,i)}return null}function u(o,n,E,_){for(var T=null,s=null,S=n,u=n=0,d=null;null!==S&&u<E.length;u++){S.index>u?(d=S,S=null):d=S.sibling;var O=I(o,S,E[u],_);if(null===O){null===S&&(S=d);break}e&&S&&null===O.alternate&&t(o,S),n=r(O,n,u),null===s?T=O:s.sibling=O,s=O,S=d}if(u===E.length)return a(o,S),nn&&Jo(o,u),T;if(null===S){for(;u<E.length;u++)null!==(S=l(o,E[u],_))&&(n=r(S,n,u),null===s?T=S:s.sibling=S,s=S);return nn&&Jo(o,u),T}for(S=i(o,S);u<E.length;u++)null!==(d=A(S,o,u,E[u],_))&&(e&&null!==d.alternate&&S.delete(null===d.key?u:d.key),n=r(d,n,u),null===s?T=d:s.sibling=d,s=d);return e&&S.forEach(function(e){return t(o,e)}),nn&&Jo(o,u),T}function d(o,E,_,T){var s=U(_);if("function"!=typeof s)throw Error(n(150));if(null==(_=s.call(_)))throw Error(n(151));for(var S=s=null,u=E,d=E=0,O=null,c=_.next();null!==u&&!c.done;d++,c=_.next()){u.index>d?(O=u,u=null):O=u.sibling;var N=I(o,u,c.value,T);if(null===N){null===u&&(u=O);break}e&&u&&null===N.alternate&&t(o,u),E=r(N,E,d),null===S?s=N:S.sibling=N,S=N,u=O}if(c.done)return a(o,u),nn&&Jo(o,d),s;if(null===u){for(;!c.done;d++,c=_.next())null!==(c=l(o,c.value,T))&&(E=r(c,E,d),null===S?s=c:S.sibling=c,S=c);return nn&&Jo(o,d),s}for(u=i(o,u);!c.done;d++,c=_.next())null!==(c=A(u,o,d,c.value,T))&&(e&&null!==c.alternate&&u.delete(null===c.key?d:c.key),E=r(c,E,d),null===S?s=c:S.sibling=c,S=c);return e&&u.forEach(function(e){return t(o,e)}),nn&&Jo(o,d),s}return function e(i,n,r,_){if("object"==typeof r&&null!==r&&r.type===D&&null===r.key&&(r=r.props.children),"object"==typeof r&&null!==r){switch(r.$$typeof){case m:e:{for(var T=r.key,s=n;null!==s;){if(s.key===T){if((T=r.type)===D){if(7===s.tag){a(i,s.sibling),(n=o(s,r.props.children)).return=i,i=n;break e}}else if(s.elementType===T||"object"==typeof T&&null!==T&&T.$$typeof===M&&Nn(T)===s.type){a(i,s.sibling),(n=o(s,r.props)).ref=On(i,s,r),n.return=i,i=n;break e}a(i,s);break}t(i,s),s=s.sibling}r.type===D?((n=UT(r.props.children,i.mode,_,r.key)).return=i,i=n):((_=yT(r.type,r.key,r.props,null,i.mode,_)).ref=On(i,n,r),_.return=i,i=_)}return E(i);case L:e:{for(s=r.key;null!==n;){if(n.key===s){if(4===n.tag&&n.stateNode.containerInfo===r.containerInfo&&n.stateNode.implementation===r.implementation){a(i,n.sibling),(n=o(n,r.children||[])).return=i,i=n;break e}a(i,n);break}t(i,n),n=n.sibling}(n=kT(r,i.mode,_)).return=i,i=n}return E(i);case M:return e(i,n,(s=r._init)(r._payload),_)}if(te(r))return u(i,n,r,_);if(U(r))return d(i,n,r,_);cn(i,r)}return"string"==typeof r&&""!==r||"number"==typeof r?(r=""+r,null!==n&&6===n.tag?(a(i,n.sibling),(n=o(n,r)).return=i,i=n):(a(i,n),(n=GT(r,i.mode,_)).return=i,i=n),E(i)):a(i,n)}}var mn=Rn(!0),Ln=Rn(!1),Dn=po(null),pn=null,Cn=null,hn=null;function fn(){hn=Cn=pn=null}function Pn(e){var t=Dn.current;Co(Dn),e._currentValue=t}function Bn(e,t,a){for(;null!==e;){var i=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==i&&(i.childLanes|=t)):null!==i&&(i.childLanes&t)!==t&&(i.childLanes|=t),e===a)break;e=e.return}}function gn(e,t){pn=e,hn=Cn=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(NE=!0),e.firstContext=null)}function vn(e){var t=e._currentValue;if(hn!==e)if(e={context:e,memoizedValue:t,next:null},null===Cn){if(null===pn)throw Error(n(308));Cn=e,pn.dependencies={lanes:0,firstContext:e}}else Cn=Cn.next=e;return t}var Mn=null;function Wn(e){null===Mn?Mn=[e]:Mn.push(e)}function yn(e,t,a,i){var o=t.interleaved;return null===o?(a.next=a,Wn(t)):(a.next=o.next,o.next=a),t.interleaved=a,Un(e,i)}function Un(e,t){e.lanes|=t;var a=e.alternate;for(null!==a&&(a.lanes|=t),a=e,e=e.return;null!==e;)e.childLanes|=t,null!==(a=e.alternate)&&(a.childLanes|=t),a=e,e=e.return;return 3===a.tag?a.stateNode:null}var bn=!1;function Gn(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function kn(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Fn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Vn(e,t,a){var i=e.updateQueue;if(null===i)return null;if(i=i.shared,2&P_){var o=i.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),i.pending=t,Un(e,a)}return null===(o=i.interleaved)?(t.next=t,Wn(i)):(t.next=o.next,o.next=t),i.interleaved=t,Un(e,a)}function Hn(e,t,a){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&a)){var i=t.lanes;a|=i&=e.pendingLanes,t.lanes=a,ct(e,a)}}function wn(e,t){var a=e.updateQueue,i=e.alternate;if(null!==i&&a===(i=i.updateQueue)){var o=null,n=null;if(null!==(a=a.firstBaseUpdate)){do{var r={eventTime:a.eventTime,lane:a.lane,tag:a.tag,payload:a.payload,callback:a.callback,next:null};null===n?o=n=r:n=n.next=r,a=a.next}while(null!==a);null===n?o=n=t:n=n.next=t}else o=n=t;return a={baseState:i.baseState,firstBaseUpdate:o,lastBaseUpdate:n,shared:i.shared,effects:i.effects},void(e.updateQueue=a)}null===(e=a.lastBaseUpdate)?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}function Yn(e,t,a,i){var o=e.updateQueue;bn=!1;var n=o.firstBaseUpdate,r=o.lastBaseUpdate,E=o.shared.pending;if(null!==E){o.shared.pending=null;var _=E,T=_.next;_.next=null,null===r?n=T:r.next=T,r=_;var s=e.alternate;null!==s&&((E=(s=s.updateQueue).lastBaseUpdate)!==r&&(null===E?s.firstBaseUpdate=T:E.next=T,s.lastBaseUpdate=_))}if(null!==n){var S=o.baseState;for(r=0,s=T=_=null,E=n;;){var l=E.lane,I=E.eventTime;if((i&l)===l){null!==s&&(s=s.next={eventTime:I,lane:0,tag:E.tag,payload:E.payload,callback:E.callback,next:null});e:{var A=e,u=E;switch(l=t,I=a,u.tag){case 1:if("function"==typeof(A=u.payload)){S=A.call(I,S,l);break e}S=A;break e;case 3:A.flags=-65537&A.flags|128;case 0:if(null==(l="function"==typeof(A=u.payload)?A.call(I,S,l):A))break e;S=G({},S,l);break e;case 2:bn=!0}}null!==E.callback&&0!==E.lane&&(e.flags|=64,null===(l=o.effects)?o.effects=[E]:l.push(E))}else I={eventTime:I,lane:l,tag:E.tag,payload:E.payload,callback:E.callback,next:null},null===s?(T=s=I,_=S):s=s.next=I,r|=l;if(null===(E=E.next)){if(null===(E=o.shared.pending))break;E=(l=E).next,l.next=null,o.lastBaseUpdate=l,o.shared.pending=null}}if(null===s&&(_=S),o.baseState=_,o.firstBaseUpdate=T,o.lastBaseUpdate=s,null!==(t=o.shared.interleaved)){o=t;do{r|=o.lane,o=o.next}while(o!==t)}else null===n&&(o.shared.lanes=0);b_|=r,e.lanes=r,e.memoizedState=S}}function zn(e,t,a){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var i=e[t],o=i.callback;if(null!==o){if(i.callback=null,i=a,"function"!=typeof o)throw Error(n(191,o));o.call(i)}}}var Kn={},jn=po(Kn),xn=po(Kn),Qn=po(Kn);function Xn(e){if(e===Kn)throw Error(n(174));return e}function $n(e,t){switch(ho(Qn,t),ho(xn,e),ho(jn,Kn),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:_e(null,"");break;default:t=_e(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Co(jn),ho(jn,t)}function qn(){Co(jn),Co(xn),Co(Qn)}function Jn(e){Xn(Qn.current);var t=Xn(jn.current),a=_e(t,e.type);t!==a&&(ho(xn,e),ho(jn,a))}function Zn(e){xn.current===e&&(Co(jn),Co(xn))}var er=po(0);function tr(e){for(var t=e;null!==t;){if(13===t.tag){var a=t.memoizedState;if(null!==a&&(null===(a=a.dehydrated)||"$?"===a.data||"$!"===a.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ar=[];function ir(){for(var e=0;e<ar.length;e++)ar[e]._workInProgressVersionPrimary=null;ar.length=0}var or=R.ReactCurrentDispatcher,nr=R.ReactCurrentBatchConfig,rr=0,Er=null,_r=null,Tr=null,sr=!1,Sr=!1,lr=0,Ir=0;function Ar(){throw Error(n(321))}function ur(e,t){if(null===t)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!ri(e[a],t[a]))return!1;return!0}function dr(e,t,a,i,o,r){if(rr=r,Er=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,or.current=null===e||null===e.memoizedState?Zr:eE,e=a(i,o),Sr){r=0;do{if(Sr=!1,lr=0,25<=r)throw Error(n(301));r+=1,Tr=_r=null,t.updateQueue=null,or.current=tE,e=a(i,o)}while(Sr)}if(or.current=Jr,t=null!==_r&&null!==_r.next,rr=0,Tr=_r=Er=null,sr=!1,t)throw Error(n(300));return e}function Or(){var e=0!==lr;return lr=0,e}function cr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Tr?Er.memoizedState=Tr=e:Tr=Tr.next=e,Tr}function Nr(){if(null===_r){var e=Er.alternate;e=null!==e?e.memoizedState:null}else e=_r.next;var t=null===Tr?Er.memoizedState:Tr.next;if(null!==t)Tr=t,_r=e;else{if(null===e)throw Error(n(310));e={memoizedState:(_r=e).memoizedState,baseState:_r.baseState,baseQueue:_r.baseQueue,queue:_r.queue,next:null},null===Tr?Er.memoizedState=Tr=e:Tr=Tr.next=e}return Tr}function Rr(e,t){return"function"==typeof t?t(e):t}function mr(e){var t=Nr(),a=t.queue;if(null===a)throw Error(n(311));a.lastRenderedReducer=e;var i=_r,o=i.baseQueue,r=a.pending;if(null!==r){if(null!==o){var E=o.next;o.next=r.next,r.next=E}i.baseQueue=o=r,a.pending=null}if(null!==o){r=o.next,i=i.baseState;var _=E=null,T=null,s=r;do{var S=s.lane;if((rr&S)===S)null!==T&&(T=T.next={lane:0,action:s.action,hasEagerState:s.hasEagerState,eagerState:s.eagerState,next:null}),i=s.hasEagerState?s.eagerState:e(i,s.action);else{var l={lane:S,action:s.action,hasEagerState:s.hasEagerState,eagerState:s.eagerState,next:null};null===T?(_=T=l,E=i):T=T.next=l,Er.lanes|=S,b_|=S}s=s.next}while(null!==s&&s!==r);null===T?E=i:T.next=_,ri(i,t.memoizedState)||(NE=!0),t.memoizedState=i,t.baseState=E,t.baseQueue=T,a.lastRenderedState=i}if(null!==(e=a.interleaved)){o=e;do{r=o.lane,Er.lanes|=r,b_|=r,o=o.next}while(o!==e)}else null===o&&(a.lanes=0);return[t.memoizedState,a.dispatch]}function Lr(e){var t=Nr(),a=t.queue;if(null===a)throw Error(n(311));a.lastRenderedReducer=e;var i=a.dispatch,o=a.pending,r=t.memoizedState;if(null!==o){a.pending=null;var E=o=o.next;do{r=e(r,E.action),E=E.next}while(E!==o);ri(r,t.memoizedState)||(NE=!0),t.memoizedState=r,null===t.baseQueue&&(t.baseState=r),a.lastRenderedState=r}return[r,i]}function Dr(){}function pr(e,t){var a=Er,i=Nr(),o=t(),r=!ri(i.memoizedState,o);if(r&&(i.memoizedState=o,NE=!0),i=i.queue,br(fr.bind(null,a,i,e),[e]),i.getSnapshot!==t||r||null!==Tr&&1&Tr.memoizedState.tag){if(a.flags|=2048,vr(9,hr.bind(null,a,i,o,t),void 0,null),null===B_)throw Error(n(349));30&rr||Cr(a,t,o)}return o}function Cr(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},null===(t=Er.updateQueue)?(t={lastEffect:null,stores:null},Er.updateQueue=t,t.stores=[e]):null===(a=t.stores)?t.stores=[e]:a.push(e)}function hr(e,t,a,i){t.value=a,t.getSnapshot=i,Pr(t)&&Br(e)}function fr(e,t,a){return a(function(){Pr(t)&&Br(e)})}function Pr(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!ri(e,a)}catch(e){return!0}}function Br(e){var t=Un(e,1);null!==t&&aT(t,e,1,-1)}function gr(e){var t=cr();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Rr,lastRenderedState:e},t.queue=e,e=e.dispatch=Qr.bind(null,Er,e),[t.memoizedState,e]}function vr(e,t,a,i){return e={tag:e,create:t,destroy:a,deps:i,next:null},null===(t=Er.updateQueue)?(t={lastEffect:null,stores:null},Er.updateQueue=t,t.lastEffect=e.next=e):null===(a=t.lastEffect)?t.lastEffect=e.next=e:(i=a.next,a.next=e,e.next=i,t.lastEffect=e),e}function Mr(){return Nr().memoizedState}function Wr(e,t,a,i){var o=cr();Er.flags|=e,o.memoizedState=vr(1|t,a,void 0,void 0===i?null:i)}function yr(e,t,a,i){var o=Nr();i=void 0===i?null:i;var n=void 0;if(null!==_r){var r=_r.memoizedState;if(n=r.destroy,null!==i&&ur(i,r.deps))return void(o.memoizedState=vr(t,a,n,i))}Er.flags|=e,o.memoizedState=vr(1|t,a,n,i)}function Ur(e,t){return Wr(8390656,8,e,t)}function br(e,t){return yr(2048,8,e,t)}function Gr(e,t){return yr(4,2,e,t)}function kr(e,t){return yr(4,4,e,t)}function Fr(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Vr(e,t,a){return a=null!=a?a.concat([e]):null,yr(4,4,Fr.bind(null,t,e),a)}function Hr(){}function wr(e,t){var a=Nr();t=void 0===t?null:t;var i=a.memoizedState;return null!==i&&null!==t&&ur(t,i[1])?i[0]:(a.memoizedState=[e,t],e)}function Yr(e,t){var a=Nr();t=void 0===t?null:t;var i=a.memoizedState;return null!==i&&null!==t&&ur(t,i[1])?i[0]:(e=e(),a.memoizedState=[e,t],e)}function zr(e,t,a){return 21&rr?(ri(a,t)||(a=ut(),Er.lanes|=a,b_|=a,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,NE=!0),e.memoizedState=a)}function Kr(e,t){var a=Nt;Nt=0!==a&&4>a?a:4,e(!0);var i=nr.transition;nr.transition={};try{e(!1),t()}finally{Nt=a,nr.transition=i}}function jr(){return Nr().memoizedState}function xr(e,t,a){var i=tT(e);if(a={lane:i,action:a,hasEagerState:!1,eagerState:null,next:null},Xr(e))$r(t,a);else if(null!==(a=yn(e,t,a,i))){aT(a,e,i,eT()),qr(a,t,i)}}function Qr(e,t,a){var i=tT(e),o={lane:i,action:a,hasEagerState:!1,eagerState:null,next:null};if(Xr(e))$r(t,o);else{var n=e.alternate;if(0===e.lanes&&(null===n||0===n.lanes)&&null!==(n=t.lastRenderedReducer))try{var r=t.lastRenderedState,E=n(r,a);if(o.hasEagerState=!0,o.eagerState=E,ri(E,r)){var _=t.interleaved;return null===_?(o.next=o,Wn(t)):(o.next=_.next,_.next=o),void(t.interleaved=o)}}catch(e){}null!==(a=yn(e,t,o,i))&&(aT(a,e,i,o=eT()),qr(a,t,i))}}function Xr(e){var t=e.alternate;return e===Er||null!==t&&t===Er}function $r(e,t){Sr=sr=!0;var a=e.pending;null===a?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function qr(e,t,a){if(4194240&a){var i=t.lanes;a|=i&=e.pendingLanes,t.lanes=a,ct(e,a)}}var Jr={readContext:vn,useCallback:Ar,useContext:Ar,useEffect:Ar,useImperativeHandle:Ar,useInsertionEffect:Ar,useLayoutEffect:Ar,useMemo:Ar,useReducer:Ar,useRef:Ar,useState:Ar,useDebugValue:Ar,useDeferredValue:Ar,useTransition:Ar,useMutableSource:Ar,useSyncExternalStore:Ar,useId:Ar,unstable_isNewReconciler:!1},Zr={readContext:vn,useCallback:function(e,t){return cr().memoizedState=[e,void 0===t?null:t],e},useContext:vn,useEffect:Ur,useImperativeHandle:function(e,t,a){return a=null!=a?a.concat([e]):null,Wr(4194308,4,Fr.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Wr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Wr(4,2,e,t)},useMemo:function(e,t){var a=cr();return t=void 0===t?null:t,e=e(),a.memoizedState=[e,t],e},useReducer:function(e,t,a){var i=cr();return t=void 0!==a?a(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=xr.bind(null,Er,e),[i.memoizedState,e]},useRef:function(e){return e={current:e},cr().memoizedState=e},useState:gr,useDebugValue:Hr,useDeferredValue:function(e){return cr().memoizedState=e},useTransition:function(){var e=gr(!1),t=e[0];return e=Kr.bind(null,e[1]),cr().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,a){var i=Er,o=cr();if(nn){if(void 0===a)throw Error(n(407));a=a()}else{if(a=t(),null===B_)throw Error(n(349));30&rr||Cr(i,t,a)}o.memoizedState=a;var r={value:a,getSnapshot:t};return o.queue=r,Ur(fr.bind(null,i,r,e),[e]),i.flags|=2048,vr(9,hr.bind(null,i,r,a,t),void 0,null),a},useId:function(){var e=cr(),t=B_.identifierPrefix;if(nn){var a=qo;t=":"+t+"R"+(a=($o&~(1<<32-rt($o)-1)).toString(32)+a),0<(a=lr++)&&(t+="H"+a.toString(32)),t+=":"}else t=":"+t+"r"+(a=Ir++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},eE={readContext:vn,useCallback:wr,useContext:vn,useEffect:br,useImperativeHandle:Vr,useInsertionEffect:Gr,useLayoutEffect:kr,useMemo:Yr,useReducer:mr,useRef:Mr,useState:function(){return mr(Rr)},useDebugValue:Hr,useDeferredValue:function(e){return zr(Nr(),_r.memoizedState,e)},useTransition:function(){return[mr(Rr)[0],Nr().memoizedState]},useMutableSource:Dr,useSyncExternalStore:pr,useId:jr,unstable_isNewReconciler:!1},tE={readContext:vn,useCallback:wr,useContext:vn,useEffect:br,useImperativeHandle:Vr,useInsertionEffect:Gr,useLayoutEffect:kr,useMemo:Yr,useReducer:Lr,useRef:Mr,useState:function(){return Lr(Rr)},useDebugValue:Hr,useDeferredValue:function(e){var t=Nr();return null===_r?t.memoizedState=e:zr(t,_r.memoizedState,e)},useTransition:function(){return[Lr(Rr)[0],Nr().memoizedState]},useMutableSource:Dr,useSyncExternalStore:pr,useId:jr,unstable_isNewReconciler:!1};function aE(e,t){if(e&&e.defaultProps){for(var a in t=G({},t),e=e.defaultProps)void 0===t[a]&&(t[a]=e[a]);return t}return t}function iE(e,t,a,i){a=null==(a=a(i,t=e.memoizedState))?t:G({},t,a),e.memoizedState=a,0===e.lanes&&(e.updateQueue.baseState=a)}var oE={isMounted:function(e){return!!(e=e._reactInternals)&&we(e)===e},enqueueSetState:function(e,t,a){e=e._reactInternals;var i=eT(),o=tT(e),n=Fn(i,o);n.payload=t,null!=a&&(n.callback=a),null!==(t=Vn(e,n,o))&&(aT(t,e,o,i),Hn(t,e,o))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var i=eT(),o=tT(e),n=Fn(i,o);n.tag=1,n.payload=t,null!=a&&(n.callback=a),null!==(t=Vn(e,n,o))&&(aT(t,e,o,i),Hn(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=eT(),i=tT(e),o=Fn(a,i);o.tag=2,null!=t&&(o.callback=t),null!==(t=Vn(e,o,i))&&(aT(t,e,i,a),Hn(t,e,i))}};function nE(e,t,a,i,o,n,r){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(i,n,r):!t.prototype||!t.prototype.isPureReactComponent||(!Ei(a,i)||!Ei(o,n))}function rE(e,t,a){var i=!1,o=fo,n=t.contextType;return"object"==typeof n&&null!==n?n=vn(n):(o=Mo(t)?go:Po.current,n=(i=null!=(i=t.contextTypes))?vo(e,o):fo),t=new t(a,n),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=oE,e.stateNode=t,t._reactInternals=e,i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=n),t}function EE(e,t,a,i){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(a,i),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(a,i),t.state!==e&&oE.enqueueReplaceState(t,t.state,null)}function _E(e,t,a,i){var o=e.stateNode;o.props=a,o.state=e.memoizedState,o.refs={},Gn(e);var n=t.contextType;"object"==typeof n&&null!==n?o.context=vn(n):(n=Mo(t)?go:Po.current,o.context=vo(e,n)),o.state=e.memoizedState,"function"==typeof(n=t.getDerivedStateFromProps)&&(iE(e,t,n,a),o.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(t=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&oE.enqueueReplaceState(o,o.state,null),Yn(e,a,o,i),o.state=e.memoizedState),"function"==typeof o.componentDidMount&&(e.flags|=4194308)}function TE(e,t){try{var a="",i=t;do{a+=H(i),i=i.return}while(i);var o=a}catch(e){o="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:o,digest:null}}function sE(e,t,a){return{value:e,source:null,stack:null!=a?a:null,digest:null!=t?t:null}}function SE(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var lE="function"==typeof WeakMap?WeakMap:Map;function IE(e,t,a){(a=Fn(-1,a)).tag=3,a.payload={element:null};var i=t.value;return a.callback=function(){z_||(z_=!0,K_=i),SE(0,t)},a}function AE(e,t,a){(a=Fn(-1,a)).tag=3;var i=e.type.getDerivedStateFromError;if("function"==typeof i){var o=t.value;a.payload=function(){return i(o)},a.callback=function(){SE(0,t)}}var n=e.stateNode;return null!==n&&"function"==typeof n.componentDidCatch&&(a.callback=function(){SE(0,t),"function"!=typeof i&&(null===j_?j_=new Set([this]):j_.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),a}function uE(e,t,a){var i=e.pingCache;if(null===i){i=e.pingCache=new lE;var o=new Set;i.set(t,o)}else void 0===(o=i.get(t))&&(o=new Set,i.set(t,o));o.has(a)||(o.add(a),e=CT.bind(null,e,t,a),t.then(e,e))}function dE(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function OE(e,t,a,i,o){return 1&e.mode?(e.flags|=65536,e.lanes=o,e):(e===t?e.flags|=65536:(e.flags|=128,a.flags|=131072,a.flags&=-52805,1===a.tag&&(null===a.alternate?a.tag=17:((t=Fn(-1,1)).tag=2,Vn(a,t,1))),a.lanes|=1),e)}var cE=R.ReactCurrentOwner,NE=!1;function RE(e,t,a,i){t.child=null===e?Ln(t,null,a,i):mn(t,e.child,a,i)}function mE(e,t,a,i,o){a=a.render;var n=t.ref;return gn(t,o),i=dr(e,t,a,i,n,o),a=Or(),null===e||NE?(nn&&a&&en(t),t.flags|=1,RE(e,t,i,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,zE(e,t,o))}function LE(e,t,a,i,o){if(null===e){var n=a.type;return"function"!=typeof n||MT(n)||void 0!==n.defaultProps||null!==a.compare||void 0!==a.defaultProps?((e=yT(a.type,null,i,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=n,DE(e,t,n,i,o))}if(n=e.child,0===(e.lanes&o)){var r=n.memoizedProps;if((a=null!==(a=a.compare)?a:Ei)(r,i)&&e.ref===t.ref)return zE(e,t,o)}return t.flags|=1,(e=WT(n,i)).ref=t.ref,e.return=t,t.child=e}function DE(e,t,a,i,o){if(null!==e){var n=e.memoizedProps;if(Ei(n,i)&&e.ref===t.ref){if(NE=!1,t.pendingProps=i=n,0===(e.lanes&o))return t.lanes=e.lanes,zE(e,t,o);131072&e.flags&&(NE=!0)}}return hE(e,t,a,i,o)}function pE(e,t,a){var i=t.pendingProps,o=i.children,n=null!==e?e.memoizedState:null;if("hidden"===i.mode)if(1&t.mode){if(!(1073741824&a))return e=null!==n?n.baseLanes|a:a,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ho(W_,M_),M_|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=null!==n?n.baseLanes:a,ho(W_,M_),M_|=i}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ho(W_,M_),M_|=a;else null!==n?(i=n.baseLanes|a,t.memoizedState=null):i=a,ho(W_,M_),M_|=i;return RE(e,t,o,a),t.child}function CE(e,t){var a=t.ref;(null===e&&null!==a||null!==e&&e.ref!==a)&&(t.flags|=512,t.flags|=2097152)}function hE(e,t,a,i,o){var n=Mo(a)?go:Po.current;return n=vo(t,n),gn(t,o),a=dr(e,t,a,i,n,o),i=Or(),null===e||NE?(nn&&i&&en(t),t.flags|=1,RE(e,t,a,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,zE(e,t,o))}function fE(e,t,a,i,o){if(Mo(a)){var n=!0;bo(t)}else n=!1;if(gn(t,o),null===t.stateNode)YE(e,t),rE(t,a,i),_E(t,a,i,o),i=!0;else if(null===e){var r=t.stateNode,E=t.memoizedProps;r.props=E;var _=r.context,T=a.contextType;"object"==typeof T&&null!==T?T=vn(T):T=vo(t,T=Mo(a)?go:Po.current);var s=a.getDerivedStateFromProps,S="function"==typeof s||"function"==typeof r.getSnapshotBeforeUpdate;S||"function"!=typeof r.UNSAFE_componentWillReceiveProps&&"function"!=typeof r.componentWillReceiveProps||(E!==i||_!==T)&&EE(t,r,i,T),bn=!1;var l=t.memoizedState;r.state=l,Yn(t,i,r,o),_=t.memoizedState,E!==i||l!==_||Bo.current||bn?("function"==typeof s&&(iE(t,a,s,i),_=t.memoizedState),(E=bn||nE(t,a,E,i,l,_,T))?(S||"function"!=typeof r.UNSAFE_componentWillMount&&"function"!=typeof r.componentWillMount||("function"==typeof r.componentWillMount&&r.componentWillMount(),"function"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount()),"function"==typeof r.componentDidMount&&(t.flags|=4194308)):("function"==typeof r.componentDidMount&&(t.flags|=4194308),t.memoizedProps=i,t.memoizedState=_),r.props=i,r.state=_,r.context=T,i=E):("function"==typeof r.componentDidMount&&(t.flags|=4194308),i=!1)}else{r=t.stateNode,kn(e,t),E=t.memoizedProps,T=t.type===t.elementType?E:aE(t.type,E),r.props=T,S=t.pendingProps,l=r.context,"object"==typeof(_=a.contextType)&&null!==_?_=vn(_):_=vo(t,_=Mo(a)?go:Po.current);var I=a.getDerivedStateFromProps;(s="function"==typeof I||"function"==typeof r.getSnapshotBeforeUpdate)||"function"!=typeof r.UNSAFE_componentWillReceiveProps&&"function"!=typeof r.componentWillReceiveProps||(E!==S||l!==_)&&EE(t,r,i,_),bn=!1,l=t.memoizedState,r.state=l,Yn(t,i,r,o);var A=t.memoizedState;E!==S||l!==A||Bo.current||bn?("function"==typeof I&&(iE(t,a,I,i),A=t.memoizedState),(T=bn||nE(t,a,T,i,l,A,_)||!1)?(s||"function"!=typeof r.UNSAFE_componentWillUpdate&&"function"!=typeof r.componentWillUpdate||("function"==typeof r.componentWillUpdate&&r.componentWillUpdate(i,A,_),"function"==typeof r.UNSAFE_componentWillUpdate&&r.UNSAFE_componentWillUpdate(i,A,_)),"function"==typeof r.componentDidUpdate&&(t.flags|=4),"function"==typeof r.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof r.componentDidUpdate||E===e.memoizedProps&&l===e.memoizedState||(t.flags|=4),"function"!=typeof r.getSnapshotBeforeUpdate||E===e.memoizedProps&&l===e.memoizedState||(t.flags|=1024),t.memoizedProps=i,t.memoizedState=A),r.props=i,r.state=A,r.context=_,i=T):("function"!=typeof r.componentDidUpdate||E===e.memoizedProps&&l===e.memoizedState||(t.flags|=4),"function"!=typeof r.getSnapshotBeforeUpdate||E===e.memoizedProps&&l===e.memoizedState||(t.flags|=1024),i=!1)}return PE(e,t,a,i,n,o)}function PE(e,t,a,i,o,n){CE(e,t);var r=!!(128&t.flags);if(!i&&!r)return o&&Go(t,a,!1),zE(e,t,n);i=t.stateNode,cE.current=t;var E=r&&"function"!=typeof a.getDerivedStateFromError?null:i.render();return t.flags|=1,null!==e&&r?(t.child=mn(t,e.child,null,n),t.child=mn(t,null,E,n)):RE(e,t,E,n),t.memoizedState=i.state,o&&Go(t,a,!0),t.child}function BE(e){var t=e.stateNode;t.pendingContext?yo(0,t.pendingContext,t.pendingContext!==t.context):t.context&&yo(0,t.context,!1),$n(e,t.containerInfo)}function gE(e,t,a,i,o){return An(),un(o),t.flags|=256,RE(e,t,a,i),t.child}var vE,ME,WE,yE,UE={dehydrated:null,treeContext:null,retryLane:0};function bE(e){return{baseLanes:e,cachePool:null,transitions:null}}function GE(e,t,a){var i,o=t.pendingProps,r=er.current,E=!1,_=!!(128&t.flags);if((i=_)||(i=(null===e||null!==e.memoizedState)&&!!(2&r)),i?(E=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(r|=1),ho(er,1&r),null===e)return sn(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(_=o.children,e=o.fallback,E?(o=t.mode,E=t.child,_={mode:"hidden",children:_},1&o||null===E?E=bT(_,o,0,null):(E.childLanes=0,E.pendingProps=_),e=UT(e,o,a,null),E.return=t,e.return=t,E.sibling=e,t.child=E,t.child.memoizedState=bE(a),t.memoizedState=UE,e):kE(t,_));if(null!==(r=e.memoizedState)&&null!==(i=r.dehydrated))return(function(e,t,a,i,o,r,E){if(a)return 256&t.flags?(t.flags&=-257,FE(e,t,E,i=sE(Error(n(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(r=i.fallback,o=t.mode,i=bT({mode:"visible",children:i.children},o,0,null),(r=UT(r,o,E,null)).flags|=2,i.return=t,r.return=t,i.sibling=r,t.child=i,1&t.mode&&mn(t,e.child,null,E),t.child.memoizedState=bE(E),t.memoizedState=UE,r);if(!(1&t.mode))return FE(e,t,E,null);if("$!"===o.data){if(i=o.nextSibling&&o.nextSibling.dataset)var _=i.dgst;return i=_,FE(e,t,E,i=sE(r=Error(n(419)),i,void 0))}if(_=0!==(E&e.childLanes),NE||_){if(null!==(i=B_)){switch(E&-E){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=0!==(o&(i.suspendedLanes|E))?0:o)&&o!==r.retryLane&&(r.retryLane=o,Un(e,o),aT(i,e,o,-1))}return uT(),FE(e,t,E,i=sE(Error(n(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=fT.bind(null,e),o._reactRetry=t,null):(e=r.treeContext,on=_o(o.nextSibling),an=t,nn=!0,rn=null,null!==e&&(xo[Qo++]=$o,xo[Qo++]=qo,xo[Qo++]=Xo,$o=e.id,qo=e.overflow,Xo=t),t=kE(t,i.children),t.flags|=4096,t)})(e,t,_,o,i,r,a);if(E){E=o.fallback,_=t.mode,i=(r=e.child).sibling;var T={mode:"hidden",children:o.children};return 1&_||t.child===r?(o=WT(r,T)).subtreeFlags=14680064&r.subtreeFlags:((o=t.child).childLanes=0,o.pendingProps=T,t.deletions=null),null!==i?E=WT(i,E):(E=UT(E,_,a,null)).flags|=2,E.return=t,o.return=t,o.sibling=E,t.child=o,o=E,E=t.child,_=null===(_=e.child.memoizedState)?bE(a):{baseLanes:_.baseLanes|a,cachePool:null,transitions:_.transitions},E.memoizedState=_,E.childLanes=e.childLanes&~a,t.memoizedState=UE,o}return e=(E=e.child).sibling,o=WT(E,{mode:"visible",children:o.children}),!(1&t.mode)&&(o.lanes=a),o.return=t,o.sibling=null,null!==e&&(null===(a=t.deletions)?(t.deletions=[e],t.flags|=16):a.push(e)),t.child=o,t.memoizedState=null,o}function kE(e,t){return(t=bT({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function FE(e,t,a,i){return null!==i&&un(i),mn(t,e.child,null,a),(e=kE(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function VE(e,t,a){e.lanes|=t;var i=e.alternate;null!==i&&(i.lanes|=t),Bn(e.return,t,a)}function HE(e,t,a,i,o){var n=e.memoizedState;null===n?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:a,tailMode:o}:(n.isBackwards=t,n.rendering=null,n.renderingStartTime=0,n.last=i,n.tail=a,n.tailMode=o)}function wE(e,t,a){var i=t.pendingProps,o=i.revealOrder,n=i.tail;if(RE(e,t,i.children,a),2&(i=er.current))i=1&i|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&VE(e,a,t);else if(19===e.tag)VE(e,a,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}if(ho(er,i),1&t.mode)switch(o){case"forwards":for(a=t.child,o=null;null!==a;)null!==(e=a.alternate)&&null===tr(e)&&(o=a),a=a.sibling;null===(a=o)?(o=t.child,t.child=null):(o=a.sibling,a.sibling=null),HE(t,!1,o,a,n);break;case"backwards":for(a=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===tr(e)){t.child=o;break}e=o.sibling,o.sibling=a,a=o,o=e}HE(t,!0,a,null,n);break;case"together":HE(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function YE(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function zE(e,t,a){if(null!==e&&(t.dependencies=e.dependencies),b_|=t.lanes,0===(a&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(n(153));if(null!==t.child){for(a=WT(e=t.child,e.pendingProps),t.child=a,a.return=t;null!==e.sibling;)e=e.sibling,(a=a.sibling=WT(e,e.pendingProps)).return=t;a.sibling=null}return t.child}function KE(e,t){if(!nn)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;null!==t;)null!==t.alternate&&(a=t),t=t.sibling;null===a?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var i=null;null!==a;)null!==a.alternate&&(i=a),a=a.sibling;null===i?t||null===e.tail?e.tail=null:e.tail.sibling=null:i.sibling=null}}function jE(e){var t=null!==e.alternate&&e.alternate.child===e.child,a=0,i=0;if(t)for(var o=e.child;null!==o;)a|=o.lanes|o.childLanes,i|=14680064&o.subtreeFlags,i|=14680064&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)a|=o.lanes|o.childLanes,i|=o.subtreeFlags,i|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=i,e.childLanes=a,t}function xE(e,t,a){var i=t.pendingProps;switch(tn(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return jE(t),null;case 1:case 17:return Mo(t.type)&&Wo(),jE(t),null;case 3:return i=t.stateNode,qn(),Co(Bo),Co(Po),ir(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),null!==e&&null!==e.child||(ln(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==rn&&(rT(rn),rn=null))),ME(e,t),jE(t),null;case 5:Zn(t);var o=Xn(Qn.current);if(a=t.type,null!==e&&null!=t.stateNode)WE(e,t,a,i,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!i){if(null===t.stateNode)throw Error(n(166));return jE(t),null}if(e=Xn(jn.current),ln(t)){i=t.stateNode,a=t.type;var r=t.memoizedProps;switch(i[So]=t,i[lo]=r,e=!!(1&t.mode),a){case"dialog":ki("cancel",i),ki("close",i);break;case"iframe":case"object":case"embed":ki("load",i);break;case"video":case"audio":for(o=0;o<yi.length;o++)ki(yi[o],i);break;case"source":ki("error",i);break;case"img":case"image":case"link":ki("error",i),ki("load",i);break;case"details":ki("toggle",i);break;case"input":$(i,r),ki("invalid",i);break;case"select":i._wrapperState={wasMultiple:!!r.multiple},ki("invalid",i);break;case"textarea":oe(i,r),ki("invalid",i)}for(var _ in ce(a,r),o=null,r)if(r.hasOwnProperty(_)){var T=r[_];"children"===_?"string"==typeof T?i.textContent!==T&&(!0!==r.suppressHydrationWarning&&qi(i.textContent,T,e),o=["children",T]):"number"==typeof T&&i.textContent!==""+T&&(!0!==r.suppressHydrationWarning&&qi(i.textContent,T,e),o=["children",""+T]):E.hasOwnProperty(_)&&null!=T&&"onScroll"===_&&ki("scroll",i)}switch(a){case"input":j(i),Z(i,r,!0);break;case"textarea":j(i),re(i);break;case"select":case"option":break;default:"function"==typeof r.onClick&&(i.onclick=Ji)}i=o,t.updateQueue=i,null!==i&&(t.flags|=4)}else{_=9===o.nodeType?o:o.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=Ee(a)),"http://www.w3.org/1999/xhtml"===e?"script"===a?((e=_.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof i.is?e=_.createElement(a,{is:i.is}):(e=_.createElement(a),"select"===a&&(_=e,i.multiple?_.multiple=!0:i.size&&(_.size=i.size))):e=_.createElementNS(e,a),e[So]=t,e[lo]=i,vE(e,t,!1,!1),t.stateNode=e;e:{switch(_=Ne(a,i),a){case"dialog":ki("cancel",e),ki("close",e),o=i;break;case"iframe":case"object":case"embed":ki("load",e),o=i;break;case"video":case"audio":for(o=0;o<yi.length;o++)ki(yi[o],e);o=i;break;case"source":ki("error",e),o=i;break;case"img":case"image":case"link":ki("error",e),ki("load",e),o=i;break;case"details":ki("toggle",e),o=i;break;case"input":$(e,i),o=X(e,i),ki("invalid",e);break;case"option":default:o=i;break;case"select":e._wrapperState={wasMultiple:!!i.multiple},o=G({},i,{value:void 0}),ki("invalid",e);break;case"textarea":oe(e,i),o=ie(e,i),ki("invalid",e)}for(r in ce(a,o),T=o)if(T.hasOwnProperty(r)){var s=T[r];"style"===r?de(e,s):"dangerouslySetInnerHTML"===r?null!=(s=s?s.__html:void 0)&&Se(e,s):"children"===r?"string"==typeof s?("textarea"!==a||""!==s)&&le(e,s):"number"==typeof s&&le(e,""+s):"suppressContentEditableWarning"!==r&&"suppressHydrationWarning"!==r&&"autoFocus"!==r&&(E.hasOwnProperty(r)?null!=s&&"onScroll"===r&&ki("scroll",e):null!=s&&N(e,r,s,_))}switch(a){case"input":j(e),Z(e,i,!1);break;case"textarea":j(e),re(e);break;case"option":null!=i.value&&e.setAttribute("value",""+z(i.value));break;case"select":e.multiple=!!i.multiple,null!=(r=i.value)?ae(e,!!i.multiple,r,!1):null!=i.defaultValue&&ae(e,!!i.multiple,i.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=Ji)}switch(a){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}}i&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return jE(t),null;case 6:if(e&&null!=t.stateNode)yE(e,t,e.memoizedProps,i);else{if("string"!=typeof i&&null===t.stateNode)throw Error(n(166));if(a=Xn(Qn.current),Xn(jn.current),ln(t)){if(i=t.stateNode,a=t.memoizedProps,i[So]=t,(r=i.nodeValue!==a)&&null!==(e=an))switch(e.tag){case 3:qi(i.nodeValue,a,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&qi(i.nodeValue,a,!!(1&e.mode))}r&&(t.flags|=4)}else(i=(9===a.nodeType?a:a.ownerDocument).createTextNode(i))[So]=t,t.stateNode=i}return jE(t),null;case 13:if(Co(er),i=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(nn&&null!==on&&1&t.mode&&!(128&t.flags))In(),An(),t.flags|=98560,r=!1;else if(r=ln(t),null!==i&&null!==i.dehydrated){if(null===e){if(!r)throw Error(n(318));if(!(r=null!==(r=t.memoizedState)?r.dehydrated:null))throw Error(n(317));r[So]=t}else An(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;jE(t),r=!1}else null!==rn&&(rT(rn),rn=null),r=!0;if(!r)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=a,t):((i=null!==i)!==(null!==e&&null!==e.memoizedState)&&i&&(t.child.flags|=8192,1&t.mode&&(null===e||1&er.current?0===y_&&(y_=3):uT())),null!==t.updateQueue&&(t.flags|=4),jE(t),null);case 4:return qn(),ME(e,t),null===e&&Hi(t.stateNode.containerInfo),jE(t),null;case 10:return Pn(t.type._context),jE(t),null;case 19:if(Co(er),null===(r=t.memoizedState))return jE(t),null;if(i=!!(128&t.flags),null===(_=r.rendering))if(i)KE(r,!1);else{if(0!==y_||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(_=tr(e))){for(t.flags|=128,KE(r,!1),null!==(i=_.updateQueue)&&(t.updateQueue=i,t.flags|=4),t.subtreeFlags=0,i=a,a=t.child;null!==a;)e=i,(r=a).flags&=14680066,null===(_=r.alternate)?(r.childLanes=0,r.lanes=e,r.child=null,r.subtreeFlags=0,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null,r.stateNode=null):(r.childLanes=_.childLanes,r.lanes=_.lanes,r.child=_.child,r.subtreeFlags=0,r.deletions=null,r.memoizedProps=_.memoizedProps,r.memoizedState=_.memoizedState,r.updateQueue=_.updateQueue,r.type=_.type,e=_.dependencies,r.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),a=a.sibling;return ho(er,1&er.current|2),t.child}e=e.sibling}null!==r.tail&&qe()>w_&&(t.flags|=128,i=!0,KE(r,!1),t.lanes=4194304)}else{if(!i)if(null!==(e=tr(_))){if(t.flags|=128,i=!0,null!==(a=e.updateQueue)&&(t.updateQueue=a,t.flags|=4),KE(r,!0),null===r.tail&&"hidden"===r.tailMode&&!_.alternate&&!nn)return jE(t),null}else 2*qe()-r.renderingStartTime>w_&&1073741824!==a&&(t.flags|=128,i=!0,KE(r,!1),t.lanes=4194304);r.isBackwards?(_.sibling=t.child,t.child=_):(null!==(a=r.last)?a.sibling=_:t.child=_,r.last=_)}return null!==r.tail?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=qe(),t.sibling=null,a=er.current,ho(er,i?1&a|2:1&a),t):(jE(t),null);case 22:case 23:return ST(),i=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==i&&(t.flags|=8192),i&&1&t.mode?!!(1073741824&M_)&&(jE(t),6&t.subtreeFlags&&(t.flags|=8192)):jE(t),null;case 24:case 25:return null}throw Error(n(156,t.tag))}function QE(e,t){switch(tn(t),t.tag){case 1:return Mo(t.type)&&Wo(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return qn(),Co(Bo),Co(Po),ir(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Zn(t),null;case 13:if(Co(er),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(n(340));An()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Co(er),null;case 4:return qn(),null;case 10:return Pn(t.type._context),null;case 22:case 23:return ST(),null;default:return null}}vE=function(e,t){for(var a=t.child;null!==a;){if(5===a.tag||6===a.tag)e.appendChild(a.stateNode);else if(4!==a.tag&&null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break;for(;null===a.sibling;){if(null===a.return||a.return===t)return;a=a.return}a.sibling.return=a.return,a=a.sibling}},ME=function(){},WE=function(e,t,a,i){var o=e.memoizedProps;if(o!==i){e=t.stateNode,Xn(jn.current);var n,r=null;switch(a){case"input":o=X(e,o),i=X(e,i),r=[];break;case"select":o=G({},o,{value:void 0}),i=G({},i,{value:void 0}),r=[];break;case"textarea":o=ie(e,o),i=ie(e,i),r=[];break;default:"function"!=typeof o.onClick&&"function"==typeof i.onClick&&(e.onclick=Ji)}for(s in ce(a,i),a=null,o)if(!i.hasOwnProperty(s)&&o.hasOwnProperty(s)&&null!=o[s])if("style"===s){var _=o[s];for(n in _)_.hasOwnProperty(n)&&(a||(a={}),a[n]="")}else"dangerouslySetInnerHTML"!==s&&"children"!==s&&"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(E.hasOwnProperty(s)?r||(r=[]):(r=r||[]).push(s,null));for(s in i){var T=i[s];if(_=null!=o?o[s]:void 0,i.hasOwnProperty(s)&&T!==_&&(null!=T||null!=_))if("style"===s)if(_){for(n in _)!_.hasOwnProperty(n)||T&&T.hasOwnProperty(n)||(a||(a={}),a[n]="");for(n in T)T.hasOwnProperty(n)&&_[n]!==T[n]&&(a||(a={}),a[n]=T[n])}else a||(r||(r=[]),r.push(s,a)),a=T;else"dangerouslySetInnerHTML"===s?(T=T?T.__html:void 0,_=_?_.__html:void 0,null!=T&&_!==T&&(r=r||[]).push(s,T)):"children"===s?"string"!=typeof T&&"number"!=typeof T||(r=r||[]).push(s,""+T):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&(E.hasOwnProperty(s)?(null!=T&&"onScroll"===s&&ki("scroll",e),r||_===T||(r=[])):(r=r||[]).push(s,T))}a&&(r=r||[]).push("style",a);var s=r;(t.updateQueue=s)&&(t.flags|=4)}},yE=function(e,t,a,i){a!==i&&(t.flags|=4)};var XE=!1,$E=!1,qE="function"==typeof WeakSet?WeakSet:Set,JE=null;function ZE(e,t){var a=e.ref;if(null!==a)if("function"==typeof a)try{a(null)}catch(a){pT(e,t,a)}else a.current=null}function e_(e,t,a){try{a()}catch(a){pT(e,t,a)}}var t_=!1;function a_(e,t,a){var i=t.updateQueue;if(null!==(i=null!==i?i.lastEffect:null)){var o=i=i.next;do{if((o.tag&e)===e){var n=o.destroy;o.destroy=void 0,void 0!==n&&e_(t,a,n)}o=o.next}while(o!==i)}}function i_(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var a=t=t.next;do{if((a.tag&e)===e){var i=a.create;a.destroy=i()}a=a.next}while(a!==t)}}function o_(e){var t=e.ref;if(null!==t){var a=e.stateNode;e.tag,e=a,"function"==typeof t?t(e):t.current=e}}function n_(e){var t=e.alternate;null!==t&&(e.alternate=null,n_(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[So],delete t[lo],delete t[Ao],delete t[uo],delete t[Oo])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function r_(e){return 5===e.tag||3===e.tag||4===e.tag}function E_(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||r_(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function __(e,t,a){var i=e.tag;if(5===i||6===i)e=e.stateNode,t?8===a.nodeType?a.parentNode.insertBefore(e,t):a.insertBefore(e,t):(8===a.nodeType?(t=a.parentNode).insertBefore(e,a):(t=a).appendChild(e),null!=(a=a._reactRootContainer)||null!==t.onclick||(t.onclick=Ji));else if(4!==i&&null!==(e=e.child))for(__(e,t,a),e=e.sibling;null!==e;)__(e,t,a),e=e.sibling}function T_(e,t,a){var i=e.tag;if(5===i||6===i)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(4!==i&&null!==(e=e.child))for(T_(e,t,a),e=e.sibling;null!==e;)T_(e,t,a),e=e.sibling}var s_=null,S_=!1;function l_(e,t,a){for(a=a.child;null!==a;)I_(e,t,a),a=a.sibling}function I_(e,t,a){if(nt&&"function"==typeof nt.onCommitFiberUnmount)try{nt.onCommitFiberUnmount(ot,a)}catch(e){}switch(a.tag){case 5:$E||ZE(a,t);case 6:var i=s_,o=S_;s_=null,l_(e,t,a),S_=o,null!==(s_=i)&&(S_?(e=s_,a=a.stateNode,8===e.nodeType?e.parentNode.removeChild(a):e.removeChild(a)):s_.removeChild(a.stateNode));break;case 18:null!==s_&&(S_?(e=s_,a=a.stateNode,8===e.nodeType?Eo(e.parentNode,a):1===e.nodeType&&Eo(e,a),wt(e)):Eo(s_,a.stateNode));break;case 4:i=s_,o=S_,s_=a.stateNode.containerInfo,S_=!0,l_(e,t,a),s_=i,S_=o;break;case 0:case 11:case 14:case 15:if(!$E&&(null!==(i=a.updateQueue)&&null!==(i=i.lastEffect))){o=i=i.next;do{var n=o,r=n.destroy;n=n.tag,void 0!==r&&(2&n||4&n)&&e_(a,t,r),o=o.next}while(o!==i)}l_(e,t,a);break;case 1:if(!$E&&(ZE(a,t),"function"==typeof(i=a.stateNode).componentWillUnmount))try{i.props=a.memoizedProps,i.state=a.memoizedState,i.componentWillUnmount()}catch(e){pT(a,t,e)}l_(e,t,a);break;case 21:l_(e,t,a);break;case 22:1&a.mode?($E=(i=$E)||null!==a.memoizedState,l_(e,t,a),$E=i):l_(e,t,a);break;default:l_(e,t,a)}}function A_(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var a=e.stateNode;null===a&&(a=e.stateNode=new qE),t.forEach(function(t){var i=PT.bind(null,e,t);a.has(t)||(a.add(t),t.then(i,i))})}}function u_(e,t){var a=t.deletions;if(null!==a)for(var i=0;i<a.length;i++){var o=a[i];try{var r=e,E=t,_=E;e:for(;null!==_;){switch(_.tag){case 5:s_=_.stateNode,S_=!1;break e;case 3:case 4:s_=_.stateNode.containerInfo,S_=!0;break e}_=_.return}if(null===s_)throw Error(n(160));I_(r,E,o),s_=null,S_=!1;var T=o.alternate;null!==T&&(T.return=null),o.return=null}catch(e){pT(o,t,e)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)d_(t,e),t=t.sibling}function d_(e,t){var a=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(u_(t,e),O_(e),4&i){try{a_(3,e,e.return),i_(3,e)}catch(t){pT(e,e.return,t)}try{a_(5,e,e.return)}catch(t){pT(e,e.return,t)}}break;case 1:u_(t,e),O_(e),512&i&&null!==a&&ZE(a,a.return);break;case 5:if(u_(t,e),O_(e),512&i&&null!==a&&ZE(a,a.return),32&e.flags){var o=e.stateNode;try{le(o,"")}catch(t){pT(e,e.return,t)}}if(4&i&&null!=(o=e.stateNode)){var r=e.memoizedProps,E=null!==a?a.memoizedProps:r,_=e.type,T=e.updateQueue;if(e.updateQueue=null,null!==T)try{"input"===_&&"radio"===r.type&&null!=r.name&&q(o,r),Ne(_,E);var s=Ne(_,r);for(E=0;E<T.length;E+=2){var S=T[E],l=T[E+1];"style"===S?de(o,l):"dangerouslySetInnerHTML"===S?Se(o,l):"children"===S?le(o,l):N(o,S,l,s)}switch(_){case"input":J(o,r);break;case"textarea":ne(o,r);break;case"select":var I=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!r.multiple;var A=r.value;null!=A?ae(o,!!r.multiple,A,!1):I!==!!r.multiple&&(null!=r.defaultValue?ae(o,!!r.multiple,r.defaultValue,!0):ae(o,!!r.multiple,r.multiple?[]:"",!1))}o[lo]=r}catch(t){pT(e,e.return,t)}}break;case 6:if(u_(t,e),O_(e),4&i){if(null===e.stateNode)throw Error(n(162));o=e.stateNode,r=e.memoizedProps;try{o.nodeValue=r}catch(t){pT(e,e.return,t)}}break;case 3:if(u_(t,e),O_(e),4&i&&null!==a&&a.memoizedState.isDehydrated)try{wt(t.containerInfo)}catch(t){pT(e,e.return,t)}break;case 4:default:u_(t,e),O_(e);break;case 13:u_(t,e),O_(e),8192&(o=e.child).flags&&(r=null!==o.memoizedState,o.stateNode.isHidden=r,!r||null!==o.alternate&&null!==o.alternate.memoizedState||(H_=qe())),4&i&&A_(e);break;case 22:if(S=null!==a&&null!==a.memoizedState,1&e.mode?($E=(s=$E)||S,u_(t,e),$E=s):u_(t,e),O_(e),8192&i){if(s=null!==e.memoizedState,(e.stateNode.isHidden=s)&&!S&&1&e.mode)for(JE=e,S=e.child;null!==S;){for(l=JE=S;null!==JE;){switch(A=(I=JE).child,I.tag){case 0:case 11:case 14:case 15:a_(4,I,I.return);break;case 1:ZE(I,I.return);var u=I.stateNode;if("function"==typeof u.componentWillUnmount){i=I,a=I.return;try{t=i,u.props=t.memoizedProps,u.state=t.memoizedState,u.componentWillUnmount()}catch(e){pT(i,a,e)}}break;case 5:ZE(I,I.return);break;case 22:if(null!==I.memoizedState){m_(l);continue}}null!==A?(A.return=I,JE=A):m_(l)}S=S.sibling}e:for(S=null,l=e;;){if(5===l.tag){if(null===S){S=l;try{o=l.stateNode,s?"function"==typeof(r=o.style).setProperty?r.setProperty("display","none","important"):r.display="none":(_=l.stateNode,E=null!=(T=l.memoizedProps.style)&&T.hasOwnProperty("display")?T.display:null,_.style.display=ue("display",E))}catch(t){pT(e,e.return,t)}}}else if(6===l.tag){if(null===S)try{l.stateNode.nodeValue=s?"":l.memoizedProps}catch(t){pT(e,e.return,t)}}else if((22!==l.tag&&23!==l.tag||null===l.memoizedState||l===e)&&null!==l.child){l.child.return=l,l=l.child;continue}if(l===e)break e;for(;null===l.sibling;){if(null===l.return||l.return===e)break e;S===l&&(S=null),l=l.return}S===l&&(S=null),l.sibling.return=l.return,l=l.sibling}}break;case 19:u_(t,e),O_(e),4&i&&A_(e);case 21:}}function O_(e){var t=e.flags;if(2&t){try{e:{for(var a=e.return;null!==a;){if(r_(a)){var i=a;break e}a=a.return}throw Error(n(160))}switch(i.tag){case 5:var o=i.stateNode;32&i.flags&&(le(o,""),i.flags&=-33),T_(e,E_(e),o);break;case 3:case 4:var r=i.stateNode.containerInfo;__(e,E_(e),r);break;default:throw Error(n(161))}}catch(t){pT(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function c_(e,t,a){JE=e,N_(e,t,a)}function N_(e,t,a){for(var i=!!(1&e.mode);null!==JE;){var o=JE,n=o.child;if(22===o.tag&&i){var r=null!==o.memoizedState||XE;if(!r){var E=o.alternate,_=null!==E&&null!==E.memoizedState||$E;E=XE;var T=$E;if(XE=r,($E=_)&&!T)for(JE=o;null!==JE;)_=(r=JE).child,22===r.tag&&null!==r.memoizedState?L_(o):null!==_?(_.return=r,JE=_):L_(o);for(;null!==n;)JE=n,N_(n,t,a),n=n.sibling;JE=o,XE=E,$E=T}R_(e)}else 8772&o.subtreeFlags&&null!==n?(n.return=o,JE=n):R_(e)}}function R_(e){for(;null!==JE;){var t=JE;if(8772&t.flags){var a=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:$E||i_(5,t);break;case 1:var i=t.stateNode;if(4&t.flags&&!$E)if(null===a)i.componentDidMount();else{var o=t.elementType===t.type?a.memoizedProps:aE(t.type,a.memoizedProps);i.componentDidUpdate(o,a.memoizedState,i.__reactInternalSnapshotBeforeUpdate)}var r=t.updateQueue;null!==r&&zn(t,r,i);break;case 3:var E=t.updateQueue;if(null!==E){if(a=null,null!==t.child)switch(t.child.tag){case 5:case 1:a=t.child.stateNode}zn(t,E,a)}break;case 5:var _=t.stateNode;if(null===a&&4&t.flags){a=_;var T=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":T.autoFocus&&a.focus();break;case"img":T.src&&(a.src=T.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var s=t.alternate;if(null!==s){var S=s.memoizedState;if(null!==S){var l=S.dehydrated;null!==l&&wt(l)}}}break;default:throw Error(n(163))}$E||512&t.flags&&o_(t)}catch(e){pT(t,t.return,e)}}if(t===e){JE=null;break}if(null!==(a=t.sibling)){a.return=t.return,JE=a;break}JE=t.return}}function m_(e){for(;null!==JE;){var t=JE;if(t===e){JE=null;break}var a=t.sibling;if(null!==a){a.return=t.return,JE=a;break}JE=t.return}}function L_(e){for(;null!==JE;){var t=JE;try{switch(t.tag){case 0:case 11:case 15:var a=t.return;try{i_(4,t)}catch(e){pT(t,a,e)}break;case 1:var i=t.stateNode;if("function"==typeof i.componentDidMount){var o=t.return;try{i.componentDidMount()}catch(e){pT(t,o,e)}}var n=t.return;try{o_(t)}catch(e){pT(t,n,e)}break;case 5:var r=t.return;try{o_(t)}catch(e){pT(t,r,e)}}}catch(e){pT(t,t.return,e)}if(t===e){JE=null;break}var E=t.sibling;if(null!==E){E.return=t.return,JE=E;break}JE=t.return}}var D_,p_=Math.ceil,C_=R.ReactCurrentDispatcher,h_=R.ReactCurrentOwner,f_=R.ReactCurrentBatchConfig,P_=0,B_=null,g_=null,v_=0,M_=0,W_=po(0),y_=0,U_=null,b_=0,G_=0,k_=0,F_=null,V_=null,H_=0,w_=1/0,Y_=null,z_=!1,K_=null,j_=null,x_=!1,Q_=null,X_=0,$_=0,q_=null,J_=-1,Z_=0;function eT(){return 6&P_?qe():-1!==J_?J_:J_=qe()}function tT(e){return 1&e.mode?2&P_&&0!==v_?v_&-v_:null!==dn.transition?(0===Z_&&(Z_=ut()),Z_):0!==(e=Nt)?e:e=void 0===(e=window.event)?16:$t(e.type):1}function aT(e,t,a,i){if(50<$_)throw $_=0,q_=null,Error(n(185));Ot(e,a,i),2&P_&&e===B_||(e===B_&&(!(2&P_)&&(G_|=a),4===y_&&ET(e,v_)),iT(e,i),1===a&&0===P_&&!(1&t.mode)&&(w_=qe()+500,Fo&&wo()))}function iT(e,t){var a=e.callbackNode;!(function(e,t){for(var a=e.suspendedLanes,i=e.pingedLanes,o=e.expirationTimes,n=e.pendingLanes;0<n;){var r=31-rt(n),E=1<<r,_=o[r];-1===_?0!==(E&a)&&0===(E&i)||(o[r]=It(E,t)):_<=t&&(e.expiredLanes|=E),n&=~E}})(e,t);var i=lt(e,e===B_?v_:0);if(0===i)null!==a&&Qe(a),e.callbackNode=null,e.callbackPriority=0;else if(t=i&-i,e.callbackPriority!==t){if(null!=a&&Qe(a),1===t)0===e.tag?(function(e){Fo=!0,Ho(e)})(_T.bind(null,e)):Ho(_T.bind(null,e)),no(function(){!(6&P_)&&wo()}),a=null;else{switch(Rt(i)){case 1:a=Ze;break;case 4:a=et;break;case 16:default:a=tt;break;case 536870912:a=it}a=BT(a,oT.bind(null,e))}e.callbackPriority=t,e.callbackNode=a}}function oT(e,t){if(J_=-1,Z_=0,6&P_)throw Error(n(327));var a=e.callbackNode;if(LT()&&e.callbackNode!==a)return null;var i=lt(e,e===B_?v_:0);if(0===i)return null;if(30&i||0!==(i&e.expiredLanes)||t)t=dT(e,i);else{t=i;var o=P_;P_|=2;var r=AT();for(B_===e&&v_===t||(Y_=null,w_=qe()+500,lT(e,t));;)try{cT();break}catch(t){IT(e,t)}fn(),C_.current=r,P_=o,null!==g_?t=0:(B_=null,v_=0,t=y_)}if(0!==t){if(2===t&&(0!==(o=At(e))&&(i=o,t=nT(e,o))),1===t)throw a=U_,lT(e,0),ET(e,i),iT(e,qe()),a;if(6===t)ET(e,i);else{if(o=e.current.alternate,!(30&i||(function(e){for(var t=e;;){if(16384&t.flags){var a=t.updateQueue;if(null!==a&&null!==(a=a.stores))for(var i=0;i<a.length;i++){var o=a[i],n=o.getSnapshot;o=o.value;try{if(!ri(n(),o))return!1}catch(e){return!1}}}if(a=t.child,16384&t.subtreeFlags&&null!==a)a.return=t,t=a;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0})(o)||(t=dT(e,i),2===t&&(r=At(e),0!==r&&(i=r,t=nT(e,r))),1!==t)))throw a=U_,lT(e,0),ET(e,i),iT(e,qe()),a;switch(e.finishedWork=o,e.finishedLanes=i,t){case 0:case 1:throw Error(n(345));case 2:case 5:mT(e,V_,Y_);break;case 3:if(ET(e,i),(130023424&i)===i&&10<(t=H_+500-qe())){if(0!==lt(e,0))break;if(((o=e.suspendedLanes)&i)!==i){eT(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=ao(mT.bind(null,e,V_,Y_),t);break}mT(e,V_,Y_);break;case 4:if(ET(e,i),(4194240&i)===i)break;for(t=e.eventTimes,o=-1;0<i;){var E=31-rt(i);r=1<<E,(E=t[E])>o&&(o=E),i&=~r}if(i=o,10<(i=(120>(i=qe()-i)?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*p_(i/1960))-i)){e.timeoutHandle=ao(mT.bind(null,e,V_,Y_),i);break}mT(e,V_,Y_);break;default:throw Error(n(329))}}}return iT(e,qe()),e.callbackNode===a?oT.bind(null,e):null}function nT(e,t){var a=F_;return e.current.memoizedState.isDehydrated&&(lT(e,t).flags|=256),2!==(e=dT(e,t))&&(t=V_,V_=a,null!==t&&rT(t)),e}function rT(e){null===V_?V_=e:V_.push.apply(V_,e)}function ET(e,t){for(t&=~k_,t&=~G_,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var a=31-rt(t),i=1<<a;e[a]=-1,t&=~i}}function _T(e){if(6&P_)throw Error(n(327));LT();var t=lt(e,0);if(!(1&t))return iT(e,qe()),null;var a=dT(e,t);if(0!==e.tag&&2===a){var i=At(e);0!==i&&(t=i,a=nT(e,i))}if(1===a)throw a=U_,lT(e,0),ET(e,t),iT(e,qe()),a;if(6===a)throw Error(n(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,mT(e,V_,Y_),iT(e,qe()),null}function TT(e,t){var a=P_;P_|=1;try{return e(t)}finally{0===(P_=a)&&(w_=qe()+500,Fo&&wo())}}function sT(e){null!==Q_&&0===Q_.tag&&!(6&P_)&<();var t=P_;P_|=1;var a=f_.transition,i=Nt;try{if(f_.transition=null,Nt=1,e)return e()}finally{Nt=i,f_.transition=a,!(6&(P_=t))&&wo()}}function ST(){M_=W_.current,Co(W_)}function lT(e,t){e.finishedWork=null,e.finishedLanes=0;var a=e.timeoutHandle;if(-1!==a&&(e.timeoutHandle=-1,io(a)),null!==g_)for(a=g_.return;null!==a;){var i=a;switch(tn(i),i.tag){case 1:null!=(i=i.type.childContextTypes)&&Wo();break;case 3:qn(),Co(Bo),Co(Po),ir();break;case 5:Zn(i);break;case 4:qn();break;case 13:case 19:Co(er);break;case 10:Pn(i.type._context);break;case 22:case 23:ST()}a=a.return}if(B_=e,g_=e=WT(e.current,null),v_=M_=t,y_=0,U_=null,k_=G_=b_=0,V_=F_=null,null!==Mn){for(t=0;t<Mn.length;t++)if(null!==(i=(a=Mn[t]).interleaved)){a.interleaved=null;var o=i.next,n=a.pending;if(null!==n){var r=n.next;n.next=o,i.next=r}a.pending=i}Mn=null}return e}function IT(e,t){for(;;){var a=g_;try{if(fn(),or.current=Jr,sr){for(var i=Er.memoizedState;null!==i;){var o=i.queue;null!==o&&(o.pending=null),i=i.next}sr=!1}if(rr=0,Tr=_r=Er=null,Sr=!1,lr=0,h_.current=null,null===a||null===a.return){y_=1,U_=t,g_=null;break}e:{var r=e,E=a.return,_=a,T=t;if(t=v_,_.flags|=32768,null!==T&&"object"==typeof T&&"function"==typeof T.then){var s=T,S=_,l=S.tag;if(!(1&S.mode||0!==l&&11!==l&&15!==l)){var I=S.alternate;I?(S.updateQueue=I.updateQueue,S.memoizedState=I.memoizedState,S.lanes=I.lanes):(S.updateQueue=null,S.memoizedState=null)}var A=dE(E);if(null!==A){A.flags&=-257,OE(A,E,_,0,t),1&A.mode&&uE(r,s,t),T=s;var u=(t=A).updateQueue;if(null===u){var d=new Set;d.add(T),t.updateQueue=d}else u.add(T);break e}if(!(1&t)){uE(r,s,t),uT();break e}T=Error(n(426))}else if(nn&&1&_.mode){var O=dE(E);if(null!==O){!(65536&O.flags)&&(O.flags|=256),OE(O,E,_,0,t),un(TE(T,_));break e}}r=T=TE(T,_),4!==y_&&(y_=2),null===F_?F_=[r]:F_.push(r),r=E;do{switch(r.tag){case 3:r.flags|=65536,t&=-t,r.lanes|=t,wn(r,IE(0,T,t));break e;case 1:_=T;var c=r.type,N=r.stateNode;if(!(128&r.flags||"function"!=typeof c.getDerivedStateFromError&&(null===N||"function"!=typeof N.componentDidCatch||null!==j_&&j_.has(N)))){r.flags|=65536,t&=-t,r.lanes|=t,wn(r,AE(r,_,t));break e}}r=r.return}while(null!==r)}RT(a)}catch(e){t=e,g_===a&&null!==a&&(g_=a=a.return);continue}break}}function AT(){var e=C_.current;return C_.current=Jr,null===e?Jr:e}function uT(){0!==y_&&3!==y_&&2!==y_||(y_=4),null===B_||!(268435455&b_)&&!(268435455&G_)||ET(B_,v_)}function dT(e,t){var a=P_;P_|=2;var i=AT();for(B_===e&&v_===t||(Y_=null,lT(e,t));;)try{OT();break}catch(t){IT(e,t)}if(fn(),P_=a,C_.current=i,null!==g_)throw Error(n(261));return B_=null,v_=0,y_}function OT(){for(;null!==g_;)NT(g_)}function cT(){for(;null!==g_&&!Xe();)NT(g_)}function NT(e){var t=D_(e.alternate,e,M_);e.memoizedProps=e.pendingProps,null===t?RT(e):g_=t,h_.current=null}function RT(e){var t=e;do{var a=t.alternate;if(e=t.return,32768&t.flags){if(null!==(a=QE(a,t)))return a.flags&=32767,void(g_=a);if(null===e)return y_=6,void(g_=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(a=xE(a,t,M_)))return void(g_=a);if(null!==(t=t.sibling))return void(g_=t);g_=t=e}while(null!==t);0===y_&&(y_=5)}function mT(e,t,a){var i=Nt,o=f_.transition;try{f_.transition=null,Nt=1,(function(e,t,a,i){do{LT()}while(null!==Q_);if(6&P_)throw Error(n(327));a=e.finishedWork;var o=e.finishedLanes;if(null===a)return null;if(e.finishedWork=null,e.finishedLanes=0,a===e.current)throw Error(n(177));e.callbackNode=null,e.callbackPriority=0;var r=a.lanes|a.childLanes;if((function(e,t){var a=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0<a;){var o=31-rt(a),n=1<<o;t[o]=0,i[o]=-1,e[o]=-1,a&=~n}})(e,r),e===B_&&(g_=B_=null,v_=0),!(2064&a.subtreeFlags)&&!(2064&a.flags)||x_||(x_=!0,BT(tt,function(){return LT(),null})),r=!!(15990&a.flags),!!(15990&a.subtreeFlags)||r){r=f_.transition,f_.transition=null;var E=Nt;Nt=1;var _=P_;P_|=4,h_.current=null,(function(e,t){if(Zi=zt,li(e=Si())){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{var i=(a=(a=e.ownerDocument)&&a.defaultView||window).getSelection&&a.getSelection();if(i&&0!==i.rangeCount){a=i.anchorNode;var o=i.anchorOffset,r=i.focusNode;i=i.focusOffset;try{a.nodeType,r.nodeType}catch(e){a=null;break e}var E=0,_=-1,T=-1,s=0,S=0,l=e,I=null;t:for(;;){for(var A;l!==a||0!==o&&3!==l.nodeType||(_=E+o),l!==r||0!==i&&3!==l.nodeType||(T=E+i),3===l.nodeType&&(E+=l.nodeValue.length),null!==(A=l.firstChild);)I=l,l=A;for(;;){if(l===e)break t;if(I===a&&++s===o&&(_=E),I===r&&++S===i&&(T=E),null!==(A=l.nextSibling))break;I=(l=I).parentNode}l=A}a=-1===_||-1===T?null:{start:_,end:T}}else a=null}a=a||{start:0,end:0}}else a=null;for(eo={focusedElem:e,selectionRange:a},zt=!1,JE=t;null!==JE;)if(e=(t=JE).child,1028&t.subtreeFlags&&null!==e)e.return=t,JE=e;else for(;null!==JE;){t=JE;try{var u=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==u){var d=u.memoizedProps,O=u.memoizedState,c=t.stateNode,N=c.getSnapshotBeforeUpdate(t.elementType===t.type?d:aE(t.type,d),O);c.__reactInternalSnapshotBeforeUpdate=N}break;case 3:var R=t.stateNode.containerInfo;1===R.nodeType?R.textContent="":9===R.nodeType&&R.documentElement&&R.removeChild(R.documentElement);break;default:throw Error(n(163))}}catch(e){pT(t,t.return,e)}if(null!==(e=t.sibling)){e.return=t.return,JE=e;break}JE=t.return}u=t_,t_=!1})(e,a),d_(a,e),Ii(eo),zt=!!Zi,eo=Zi=null,e.current=a,c_(a,e,o),$e(),P_=_,Nt=E,f_.transition=r}else e.current=a;if(x_&&(x_=!1,Q_=e,X_=o),r=e.pendingLanes,0===r&&(j_=null),(function(e){if(nt&&"function"==typeof nt.onCommitFiberRoot)try{nt.onCommitFiberRoot(ot,e,void 0,!(128&~e.current.flags))}catch(e){}})(a.stateNode),iT(e,qe()),null!==t)for(i=e.onRecoverableError,a=0;a<t.length;a++)o=t[a],i(o.value,{componentStack:o.stack,digest:o.digest});if(z_)throw z_=!1,e=K_,K_=null,e;!!(1&X_)&&0!==e.tag&<(),r=e.pendingLanes,1&r?e===q_?$_++:($_=0,q_=e):$_=0,wo()})(e,t,a,i)}finally{f_.transition=o,Nt=i}return null}function LT(){if(null!==Q_){var e=Rt(X_),t=f_.transition,a=Nt;try{if(f_.transition=null,Nt=16>e?16:e,null===Q_)var i=!1;else{if(e=Q_,Q_=null,X_=0,6&P_)throw Error(n(331));var o=P_;for(P_|=4,JE=e.current;null!==JE;){var r=JE,E=r.child;if(16&JE.flags){var _=r.deletions;if(null!==_){for(var T=0;T<_.length;T++){var s=_[T];for(JE=s;null!==JE;){var S=JE;switch(S.tag){case 0:case 11:case 15:a_(8,S,r)}var l=S.child;if(null!==l)l.return=S,JE=l;else for(;null!==JE;){var I=(S=JE).sibling,A=S.return;if(n_(S),S===s){JE=null;break}if(null!==I){I.return=A,JE=I;break}JE=A}}}var u=r.alternate;if(null!==u){var d=u.child;if(null!==d){u.child=null;do{var O=d.sibling;d.sibling=null,d=O}while(null!==d)}}JE=r}}if(2064&r.subtreeFlags&&null!==E)E.return=r,JE=E;else e:for(;null!==JE;){if(2048&(r=JE).flags)switch(r.tag){case 0:case 11:case 15:a_(9,r,r.return)}var c=r.sibling;if(null!==c){c.return=r.return,JE=c;break e}JE=r.return}}var N=e.current;for(JE=N;null!==JE;){var R=(E=JE).child;if(2064&E.subtreeFlags&&null!==R)R.return=E,JE=R;else e:for(E=N;null!==JE;){if(2048&(_=JE).flags)try{switch(_.tag){case 0:case 11:case 15:i_(9,_)}}catch(e){pT(_,_.return,e)}if(_===E){JE=null;break e}var m=_.sibling;if(null!==m){m.return=_.return,JE=m;break e}JE=_.return}}if(P_=o,wo(),nt&&"function"==typeof nt.onPostCommitFiberRoot)try{nt.onPostCommitFiberRoot(ot,e)}catch(e){}i=!0}return i}finally{Nt=a,f_.transition=t}}return!1}function DT(e,t,a){e=Vn(e,t=IE(0,t=TE(a,t),1),1),t=eT(),null!==e&&(Ot(e,1,t),iT(e,t))}function pT(e,t,a){if(3===e.tag)DT(e,e,a);else for(;null!==t;){if(3===t.tag){DT(t,e,a);break}if(1===t.tag){var i=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof i.componentDidCatch&&(null===j_||!j_.has(i))){t=Vn(t,e=AE(t,e=TE(a,e),1),1),e=eT(),null!==t&&(Ot(t,1,e),iT(t,e));break}}t=t.return}}function CT(e,t,a){var i=e.pingCache;null!==i&&i.delete(t),t=eT(),e.pingedLanes|=e.suspendedLanes&a,B_===e&&(v_&a)===a&&(4===y_||3===y_&&(130023424&v_)===v_&&500>qe()-H_?lT(e,0):k_|=a),iT(e,t)}function hT(e,t){0===t&&(1&e.mode?(t=st,!(130023424&(st<<=1))&&(st=4194304)):t=1);var a=eT();null!==(e=Un(e,t))&&(Ot(e,t,a),iT(e,a))}function fT(e){var t=e.memoizedState,a=0;null!==t&&(a=t.retryLane),hT(e,a)}function PT(e,t){var a=0;switch(e.tag){case 13:var i=e.stateNode,o=e.memoizedState;null!==o&&(a=o.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(n(314))}null!==i&&i.delete(t),hT(e,a)}function BT(e,t){return xe(e,t)}function gT(e,t,a,i){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function vT(e,t,a,i){return new gT(e,t,a,i)}function MT(e){return!(!(e=e.prototype)||!e.isReactComponent)}function WT(e,t){var a=e.alternate;return null===a?((a=vT(e.tag,t,e.key,e.mode)).elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=14680064&e.flags,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a}function yT(e,t,a,i,o,r){var E=2;if(i=e,"function"==typeof e)MT(e)&&(E=1);else if("string"==typeof e)E=5;else e:switch(e){case D:return UT(a.children,o,r,t);case p:E=8,o|=8;break;case C:return(e=vT(12,a,t,2|o)).elementType=C,e.lanes=r,e;case B:return(e=vT(13,a,t,o)).elementType=B,e.lanes=r,e;case g:return(e=vT(19,a,t,o)).elementType=g,e.lanes=r,e;case W:return bT(a,o,r,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case h:E=10;break e;case f:E=9;break e;case P:E=11;break e;case v:E=14;break e;case M:E=16,i=null;break e}throw Error(n(130,null==e?e:typeof e,""))}return(t=vT(E,a,t,o)).elementType=e,t.type=i,t.lanes=r,t}function UT(e,t,a,i){return(e=vT(7,e,i,t)).lanes=a,e}function bT(e,t,a,i){return(e=vT(22,e,i,t)).elementType=W,e.lanes=a,e.stateNode={isHidden:!1},e}function GT(e,t,a){return(e=vT(6,e,null,t)).lanes=a,e}function kT(e,t,a){return(t=vT(4,null!==e.children?e.children:[],e.key,t)).lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function FT(e,t,a,i,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=dt(0),this.expirationTimes=dt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=dt(0),this.identifierPrefix=i,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function VT(e,t,a,i,o,n,r,E,_){return e=new FT(e,t,a,E,_),1===t?(t=1,!0===n&&(t|=8)):t=0,n=vT(3,null,null,t),e.current=n,n.stateNode=e,n.memoizedState={element:i,isDehydrated:a,cache:null,transitions:null,pendingSuspenseBoundaries:null},Gn(n),e}function HT(e){if(!e)return fo;e:{if(we(e=e._reactInternals)!==e||1!==e.tag)throw Error(n(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Mo(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(n(171))}if(1===e.tag){var a=e.type;if(Mo(a))return Uo(e,a,t)}return t}function wT(e,t,a,i,o,n,r,E,_){return(e=VT(a,i,!0,e,0,n,0,E,_)).context=HT(null),a=e.current,(n=Fn(i=eT(),o=tT(a))).callback=null!=t?t:null,Vn(a,n,o),e.current.lanes=o,Ot(e,o,i),iT(e,i),e}function YT(e,t,a,i){var o=t.current,n=eT(),r=tT(o);return a=HT(a),null===t.context?t.context=a:t.pendingContext=a,(t=Fn(n,r)).payload={element:e},null!==(i=void 0===i?null:i)&&(t.callback=i),null!==(e=Vn(o,t,r))&&(aT(e,o,r,n),Hn(e,o,r)),r}function zT(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function KT(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var a=e.retryLane;e.retryLane=0!==a&&a<t?a:t}}function jT(e,t){KT(e,t),(e=e.alternate)&&KT(e,t)}D_=function(e,t,a){if(null!==e)if(e.memoizedProps!==t.pendingProps||Bo.current)NE=!0;else{if(0===(e.lanes&a)&&!(128&t.flags))return NE=!1,(function(e,t,a){switch(t.tag){case 3:BE(t),An();break;case 5:Jn(t);break;case 1:Mo(t.type)&&bo(t);break;case 4:$n(t,t.stateNode.containerInfo);break;case 10:var i=t.type._context,o=t.memoizedProps.value;ho(Dn,i._currentValue),i._currentValue=o;break;case 13:if(null!==(i=t.memoizedState))return null!==i.dehydrated?(ho(er,1&er.current),t.flags|=128,null):0!==(a&t.child.childLanes)?GE(e,t,a):(ho(er,1&er.current),null!==(e=zE(e,t,a))?e.sibling:null);ho(er,1&er.current);break;case 19:if(i=0!==(a&t.childLanes),128&e.flags){if(i)return wE(e,t,a);t.flags|=128}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),ho(er,er.current),i)break;return null;case 22:case 23:return t.lanes=0,pE(e,t,a)}return zE(e,t,a)})(e,t,a);NE=!!(131072&e.flags)}else NE=!1,nn&&1048576&t.flags&&Zo(t,jo,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;YE(e,t),e=t.pendingProps;var o=vo(t,Po.current);gn(t,a),o=dr(null,t,i,e,o,a);var r=Or();return t.flags|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Mo(i)?(r=!0,bo(t)):r=!1,t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,Gn(t),o.updater=oE,t.stateNode=o,o._reactInternals=t,_E(t,i,e,a),t=PE(null,t,i,!0,r,a)):(t.tag=0,nn&&r&&en(t),RE(null,t,o,a),t=t.child),t;case 16:i=t.elementType;e:{switch(YE(e,t),e=t.pendingProps,i=(o=i._init)(i._payload),t.type=i,o=t.tag=(function(e){if("function"==typeof e)return MT(e)?1:0;if(null!=e){if((e=e.$$typeof)===P)return 11;if(e===v)return 14}return 2})(i),e=aE(i,e),o){case 0:t=hE(null,t,i,e,a);break e;case 1:t=fE(null,t,i,e,a);break e;case 11:t=mE(null,t,i,e,a);break e;case 14:t=LE(null,t,i,aE(i.type,e),a);break e}throw Error(n(306,i,""))}return t;case 0:return i=t.type,o=t.pendingProps,hE(e,t,i,o=t.elementType===i?o:aE(i,o),a);case 1:return i=t.type,o=t.pendingProps,fE(e,t,i,o=t.elementType===i?o:aE(i,o),a);case 3:e:{if(BE(t),null===e)throw Error(n(387));i=t.pendingProps,o=(r=t.memoizedState).element,kn(e,t),Yn(t,i,null,a);var E=t.memoizedState;if(i=E.element,r.isDehydrated){if(r={element:i,isDehydrated:!1,cache:E.cache,pendingSuspenseBoundaries:E.pendingSuspenseBoundaries,transitions:E.transitions},t.updateQueue.baseState=r,t.memoizedState=r,256&t.flags){t=gE(e,t,i,a,o=TE(Error(n(423)),t));break e}if(i!==o){t=gE(e,t,i,a,o=TE(Error(n(424)),t));break e}for(on=_o(t.stateNode.containerInfo.firstChild),an=t,nn=!0,rn=null,a=Ln(t,null,i,a),t.child=a;a;)a.flags=-3&a.flags|4096,a=a.sibling}else{if(An(),i===o){t=zE(e,t,a);break e}RE(e,t,i,a)}t=t.child}return t;case 5:return Jn(t),null===e&&sn(t),i=t.type,o=t.pendingProps,r=null!==e?e.memoizedProps:null,E=o.children,to(i,o)?E=null:null!==r&&to(i,r)&&(t.flags|=32),CE(e,t),RE(e,t,E,a),t.child;case 6:return null===e&&sn(t),null;case 13:return GE(e,t,a);case 4:return $n(t,t.stateNode.containerInfo),i=t.pendingProps,null===e?t.child=mn(t,null,i,a):RE(e,t,i,a),t.child;case 11:return i=t.type,o=t.pendingProps,mE(e,t,i,o=t.elementType===i?o:aE(i,o),a);case 7:return RE(e,t,t.pendingProps,a),t.child;case 8:case 12:return RE(e,t,t.pendingProps.children,a),t.child;case 10:e:{if(i=t.type._context,o=t.pendingProps,r=t.memoizedProps,E=o.value,ho(Dn,i._currentValue),i._currentValue=E,null!==r)if(ri(r.value,E)){if(r.children===o.children&&!Bo.current){t=zE(e,t,a);break e}}else for(null!==(r=t.child)&&(r.return=t);null!==r;){var _=r.dependencies;if(null!==_){E=r.child;for(var T=_.firstContext;null!==T;){if(T.context===i){if(1===r.tag){(T=Fn(-1,a&-a)).tag=2;var s=r.updateQueue;if(null!==s){var S=(s=s.shared).pending;null===S?T.next=T:(T.next=S.next,S.next=T),s.pending=T}}r.lanes|=a,null!==(T=r.alternate)&&(T.lanes|=a),Bn(r.return,a,t),_.lanes|=a;break}T=T.next}}else if(10===r.tag)E=r.type===t.type?null:r.child;else if(18===r.tag){if(null===(E=r.return))throw Error(n(341));E.lanes|=a,null!==(_=E.alternate)&&(_.lanes|=a),Bn(E,a,t),E=r.sibling}else E=r.child;if(null!==E)E.return=r;else for(E=r;null!==E;){if(E===t){E=null;break}if(null!==(r=E.sibling)){r.return=E.return,E=r;break}E=E.return}r=E}RE(e,t,o.children,a),t=t.child}return t;case 9:return o=t.type,i=t.pendingProps.children,gn(t,a),i=i(o=vn(o)),t.flags|=1,RE(e,t,i,a),t.child;case 14:return o=aE(i=t.type,t.pendingProps),LE(e,t,i,o=aE(i.type,o),a);case 15:return DE(e,t,t.type,t.pendingProps,a);case 17:return i=t.type,o=t.pendingProps,o=t.elementType===i?o:aE(i,o),YE(e,t),t.tag=1,Mo(i)?(e=!0,bo(t)):e=!1,gn(t,a),rE(t,i,o),_E(t,i,o,a),PE(null,t,i,!0,e,a);case 19:return wE(e,t,a);case 22:return pE(e,t,a)}throw Error(n(156,t.tag))};var xT="function"==typeof reportError?reportError:function(e){console.error(e)};function QT(e){this._internalRoot=e}function XT(e){this._internalRoot=e}function $T(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function qT(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function JT(){}function ZT(e,t,a,i,o){var n=a._reactRootContainer;if(n){var r=n;if("function"==typeof o){var E=o;o=function(){var e=zT(r);E.call(e)}}YT(t,r,e,o)}else r=(function(e,t,a,i,o){if(o){if("function"==typeof i){var n=i;i=function(){var e=zT(r);n.call(e)}}var r=wT(t,i,e,0,null,!1,0,"",JT);return e._reactRootContainer=r,e[Io]=r.current,Hi(8===e.nodeType?e.parentNode:e),sT(),r}for(;o=e.lastChild;)e.removeChild(o);if("function"==typeof i){var E=i;i=function(){var e=zT(_);E.call(e)}}var _=VT(e,0,!1,null,0,!1,0,"",JT);return e._reactRootContainer=_,e[Io]=_.current,Hi(8===e.nodeType?e.parentNode:e),sT(function(){YT(t,_,a,i)}),_})(a,t,e,o,i);return zT(r)}XT.prototype.render=QT.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(n(409));YT(e,t,null,null)},XT.prototype.unmount=QT.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;sT(function(){YT(null,e,null,null)}),t[Io]=null}},XT.prototype.unstable_scheduleHydration=function(e){if(e){var t=pt();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Wt.length&&0!==t&&t<Wt[a].priority;a++);Wt.splice(a,0,e),0===a&&Gt(e)}},mt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var a=St(t.pendingLanes);0!==a&&(ct(t,1|a),iT(t,qe()),!(6&P_)&&(w_=qe()+500,wo()))}break;case 13:sT(function(){var t=Un(e,1);if(null!==t){var a=eT();aT(t,e,1,a)}}),jT(e,1)}},Lt=function(e){if(13===e.tag){var t=Un(e,134217728);if(null!==t)aT(t,e,134217728,eT());jT(e,134217728)}},Dt=function(e){if(13===e.tag){var t=tT(e),a=Un(e,t);if(null!==a)aT(a,e,t,eT());jT(e,t)}},pt=function(){return Nt},Ct=function(e,t){var a=Nt;try{return Nt=e,t()}finally{Nt=a}},Le=function(e,t,a){switch(t){case"input":if(J(e,a),t=a.name,"radio"===a.type&&null!=t){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<a.length;t++){var i=a[t];if(i!==e&&i.form===e.form){var o=mo(i);if(!o)throw Error(n(90));x(i),J(i,o)}}}break;case"textarea":ne(e,a);break;case"select":null!=(t=a.value)&&ae(e,!!a.multiple,t,!1)}},Pe=TT,Be=sT;var es={usingClientEntryPoint:!1,Events:[No,Ro,mo,he,fe,TT]},ts={findFiberByHostInstance:co,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},as={bundleType:ts.bundleType,version:ts.version,rendererPackageName:ts.rendererPackageName,rendererConfig:ts.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:R.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ke(e))?null:e.stateNode},findFiberByHostInstance:ts.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var is=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!is.isDisabled&&is.supportsFiber)try{ot=is.inject(as),nt=is}catch(se){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=es,t.createPortal=function(e,t){var a=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!$T(t))throw Error(n(200));return(function(e,t,a){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:L,key:null==i?null:""+i,children:e,containerInfo:t,implementation:a}})(e,t,null,a)},t.createRoot=function(e,t){if(!$T(e))throw Error(n(299));var a=!1,i="",o=xT;return null!=t&&(!0===t.unstable_strictMode&&(a=!0),void 0!==t.identifierPrefix&&(i=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=VT(e,1,!1,null,0,a,0,i,o),e[Io]=t.current,Hi(8===e.nodeType?e.parentNode:e),new QT(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(n(188));throw e=Object.keys(e).join(","),Error(n(268,e))}return e=null===(e=Ke(t))?null:e.stateNode},t.flushSync=function(e){return sT(e)},t.hydrate=function(e,t,a){if(!qT(t))throw Error(n(200));return ZT(null,e,t,!0,a)},t.hydrateRoot=function(e,t,a){if(!$T(e))throw Error(n(405));var i=null!=a&&a.hydratedSources||null,o=!1,r="",E=xT;if(null!=a&&(!0===a.unstable_strictMode&&(o=!0),void 0!==a.identifierPrefix&&(r=a.identifierPrefix),void 0!==a.onRecoverableError&&(E=a.onRecoverableError)),t=wT(t,null,e,1,null!=a?a:null,o,0,r,E),e[Io]=t.current,Hi(e),i)for(e=0;e<i.length;e++)o=(o=(a=i[e])._getVersion)(a._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[a,o]:t.mutableSourceEagerHydrationData.push(a,o);return new XT(t)},t.render=function(e,t,a){if(!qT(t))throw Error(n(200));return ZT(null,e,t,!1,a)},t.unmountComponentAtNode=function(e){if(!qT(e))throw Error(n(40));return!!e._reactRootContainer&&(sT(function(){ZT(null,null,e,!1,function(){e._reactRootContainer=null,e[Io]=null})}),!0)},t.unstable_batchedUpdates=TT,t.unstable_renderSubtreeIntoContainer=function(e,t,a,i){if(!qT(a))throw Error(n(200));if(null==e||void 0===e._reactInternals)throw Error(n(38));return ZT(e,t,a,!1,i)},t.version="18.3.1-next-f1338f8080-20240426"},99576:(e,t,a)=>{"use strict";var i=a(8143);t.createRoot=i.createRoot,t.hydrateRoot=i.hydrateRoot},8143:(e,t,a)=>{"use strict";!(function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}})(),e.exports=a(19481)},471:(e,t,a)=>{"use strict";function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},i.apply(null,arguments)}a.d(t,{Ay:()=>Xe});var o=a(30758),n="data-focus-lock",r="data-focus-lock-disabled";function E(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var _="undefined"!=typeof window?o.useLayoutEffect:o.useEffect,T=new WeakMap;function s(e,t){var a,i,n,r=(a=t||null,i=function(t){return e.forEach(function(e){return E(e,t)})},(n=(0,o.useState)(function(){return{value:a,callback:i,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0]).callback=i,n.facade);return _(function(){var t=T.get(r);if(t){var a=new Set(t),i=new Set(e),o=r.current;a.forEach(function(e){i.has(e)||E(e,null)}),i.forEach(function(e){a.has(e)||E(e,o)})}T.set(r,e)},[e]),r}var S={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"},l=function(e){var t=e.children,a=void 0===t?null:t;return o.createElement(o.Fragment,null,o.createElement("div",{key:"guard-first","data-focus-guard":!0,"data-focus-auto-guard":!0,style:S}),a,a&&o.createElement("div",{key:"guard-last","data-focus-guard":!0,"data-focus-auto-guard":!0,style:S}))};l.propTypes={};var I=function(){return I=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},I.apply(this,arguments)};Object.create;Object.create;"function"==typeof SuppressedError&&SuppressedError;function A(e){return e}function u(e,t){void 0===t&&(t=A);var a=[],i=!1;return{read:function(){if(i)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return a.length?a[a.length-1]:e},useMedium:function(e){var o=t(e,i);return a.push(o),function(){a=a.filter(function(e){return e!==o})}},assignSyncMedium:function(e){for(i=!0;a.length;){var t=a;a=[],t.forEach(e)}a={push:function(t){return e(t)},filter:function(){return a}}},assignMedium:function(e){i=!0;var t=[];if(a.length){var o=a;a=[],o.forEach(e),t=a}var n=function(){var a=t;t=[],a.forEach(e)},r=function(){return Promise.resolve().then(n)};r(),a={push:function(e){t.push(e),r()},filter:function(e){return t=t.filter(e),a}}}}}function d(e,t){return void 0===t&&(t=A),u(e,t)}var O=d({},function(e){return{target:e.target,currentTarget:e.currentTarget}}),c=d(),N=d(),R=(function(e){void 0===e&&(e={});var t=u(null);return t.options=I({async:!0,ssr:!1},e),t})({async:!0,ssr:"undefined"!=typeof document}),m=(0,o.createContext)(void 0),L=[],D=o.forwardRef(function(e,t){var a,E=o.useState(),_=E[0],T=E[1],l=o.useRef(),I=o.useRef(!1),A=o.useRef(null),u=o.useState({})[1],d=e.children,N=e.disabled,D=void 0!==N&&N,p=e.noFocusGuards,C=void 0!==p&&p,h=e.persistentFocus,f=void 0!==h&&h,P=e.crossFrame,B=void 0===P||P,g=e.autoFocus,v=void 0===g||g,M=(e.allowTextSelection,e.group),W=e.className,y=e.whiteList,U=e.hasPositiveIndices,b=e.shards,G=void 0===b?L:b,k=e.as,F=void 0===k?"div":k,V=e.lockProps,H=void 0===V?{}:V,w=e.sideCar,Y=e.returnFocus,z=void 0!==Y&&Y,K=e.focusOptions,j=e.onActivation,x=e.onDeactivation,Q=o.useState({})[0],X=o.useCallback(function(e){var t=e.captureFocusRestore;if(!A.current){var a,i=null==(a=document)?void 0:a.activeElement;A.current=i,i!==document.body&&(A.current=t(i))}l.current&&j&&j(l.current),I.current=!0,u()},[j]),$=o.useCallback(function(){I.current=!1,x&&x(l.current),u()},[x]),q=o.useCallback(function(e){var t=A.current;if(t){var a=("function"==typeof t?t():t)||document.body,i="function"==typeof z?z(a):z;if(i){var o="object"==typeof i?i:void 0;A.current=null,e?Promise.resolve().then(function(){return a.focus(o)}):a.focus(o)}}},[z]),J=o.useCallback(function(e){I.current&&O.useMedium(e)},[]),Z=c.useMedium,ee=o.useCallback(function(e){l.current!==e&&(l.current=e,T(e))},[]);var te=i(((a={})[r]=D&&"disabled",a[n]=M,a),H),ae=!0!==C,ie=ae&&"tail"!==C,oe=s([t,ee]),ne=o.useMemo(function(){return{observed:l,shards:G,enabled:!D,active:I.current}},[D,I.current,G,_]);return o.createElement(o.Fragment,null,ae&&[o.createElement("div",{key:"guard-first","data-focus-guard":!0,tabIndex:D?-1:0,style:S}),U?o.createElement("div",{key:"guard-nearest","data-focus-guard":!0,tabIndex:D?-1:1,style:S}):null],!D&&o.createElement(w,{id:Q,sideCar:R,observed:_,disabled:D,persistentFocus:f,crossFrame:B,autoFocus:v,whiteList:y,shards:G,onActivation:X,onDeactivation:$,returnFocus:q,focusOptions:K,noFocusGuards:C}),o.createElement(F,i({ref:oe},te,{className:W,onBlur:Z,onFocus:J}),o.createElement(m.Provider,{value:ne},d)),ie&&o.createElement("div",{"data-focus-guard":!0,tabIndex:D?-1:0,style:S}))});D.propTypes={};const p=D;function C(e,t){return C=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},C(e,t)}function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function f(e){var t=(function(e,t){if("object"!=h(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var i=a.call(e,t||"default");if("object"!=h(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==h(t)?t:t+""}const P=function(e,t){return function(a){var i,n=[];function r(){i=e(n.map(function(e){return e.props})),t(i)}var E,_,T,s=(function(e){var t,E;function _(){return e.apply(this,arguments)||this}E=e,(t=_).prototype=Object.create(E.prototype),t.prototype.constructor=t,C(t,E),_.peek=function(){return i};var T=_.prototype;return T.componentDidMount=function(){n.push(this),r()},T.componentDidUpdate=function(){r()},T.componentWillUnmount=function(){var e=n.indexOf(this);n.splice(e,1),r()},T.render=function(){return o.createElement(a,this.props)},_})(o.PureComponent);return E=s,_="displayName",T="SideEffect("+(function(e){return e.displayName||e.name||"Component"})(a)+")",(_=f(_))in E?Object.defineProperty(E,_,{value:T,enumerable:!0,configurable:!0,writable:!0}):E[_]=T,s}};var B=function(e){for(var t=Array(e.length),a=0;a<e.length;++a)t[a]=e[a];return t},g=function(e){return Array.isArray(e)?e:[e]},v=function(e){return Array.isArray(e)?e[0]:e},M=function(e){return e.parentNode&&e.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE?e.parentNode.host:e.parentNode},W=function(e){return e===document||e&&e.nodeType===Node.DOCUMENT_NODE},y=function(e,t){return!e||W(e)||!(function(e){if(e.nodeType!==Node.ELEMENT_NODE)return!1;var t=window.getComputedStyle(e,null);return!(!t||!t.getPropertyValue||"none"!==t.getPropertyValue("display")&&"hidden"!==t.getPropertyValue("visibility"))})(e)&&!(function(e){return e.hasAttribute("inert")})(e)&&t(M(e))},U=function(e,t){var a=e.get(t);if(void 0!==a)return a;var i=y(t,U.bind(void 0,e));return e.set(t,i),i},b=function(e,t){var a=e.get(t);if(void 0!==a)return a;var i=(function(e,t){return!(e&&!W(e))||!!V(e)&&t(M(e))})(t,b.bind(void 0,e));return e.set(t,i),i},G=function(e){return e.dataset},k=function(e){return"INPUT"===e.tagName},F=function(e){return k(e)&&"radio"===e.type},V=function(e){var t=e.getAttribute("data-no-autofocus");return![!0,"true",""].includes(t)},H=function(e){var t;return Boolean(e&&(null===(t=G(e))||void 0===t?void 0:t.focusGuard))},w=function(e){return!H(e)},Y=function(e){return Boolean(e)},z=function(e,t){var a=Math.max(0,e.tabIndex),i=Math.max(0,t.tabIndex),o=a-i,n=e.index-t.index;if(o){if(!a)return 1;if(!i)return-1}return o||n},K=function(e,t,a){return B(e).map(function(e,t){var i=(function(e){return e.tabIndex<0&&!e.hasAttribute("tabindex")?0:e.tabIndex})(e);return{node:e,index:t,tabIndex:a&&-1===i?(e.dataset||{}).focusGuard?0:-1:i}}).filter(function(e){return!t||e.tabIndex>=0}).sort(z)},j=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"].join(","),x="".concat(j,", [data-focus-guard]"),Q=function(e,t){return B((e.shadowRoot||e).children).reduce(function(e,a){return e.concat(a.matches(t?x:j)?[a]:[],Q(a))},[])},X=function(e,t){return e.reduce(function(e,a){var i,o=Q(a,t),n=(i=[]).concat.apply(i,o.map(function(e){return(function(e,t){var a;return e instanceof HTMLIFrameElement&&(null===(a=e.contentDocument)||void 0===a?void 0:a.body)?X([e.contentDocument.body],t):[e]})(e,t)}));return e.concat(n,a.parentNode?B(a.parentNode.querySelectorAll(j)).filter(function(e){return e===a}):[])},[])},$=function(e,t){return B(e).filter(function(e){return U(t,e)}).filter(function(e){return(function(e){return!((k(e)||(function(e){return"BUTTON"===e.tagName})(e))&&("hidden"===e.type||e.disabled))})(e)})},q=function(e,t){return void 0===t&&(t=new Map),B(e).filter(function(e){return b(t,e)})},J=function(e,t,a){return K($(X(e,a),t),!0,a)},Z=function(e,t){return K($(X(e),t),!1)},ee=function(e,t){return $((function(e){var t=e.querySelectorAll("[".concat("data-autofocus-inside","]"));return B(t).map(function(e){return X([e])}).reduce(function(e,t){return e.concat(t)},[])})(e),t)},te=function(e,t){return e.shadowRoot?te(e.shadowRoot,t):!(void 0===Object.getPrototypeOf(e).contains||!Object.getPrototypeOf(e).contains.call(e,t))||B(e.children).some(function(e){var a;if(e instanceof HTMLIFrameElement){var i=null===(a=e.contentDocument)||void 0===a?void 0:a.body;return!!i&&te(i,t)}return te(e,t)})},ae=function(e){if(void 0===e&&(e=document),e&&e.activeElement){var t=e.activeElement;return t.shadowRoot?ae(t.shadowRoot):t instanceof HTMLIFrameElement&&(function(e){try{return e()}catch(e){return}})(function(){return t.contentWindow.document})?ae(t.contentWindow.document):t}},ie=function(e){return e.parentNode?ie(e.parentNode):e},oe=function(e){return g(e).filter(Boolean).reduce(function(e,t){var a=t.getAttribute(n);return e.push.apply(e,a?(function(e){for(var t=new Set,a=e.length,i=0;i<a;i+=1)for(var o=i+1;o<a;o+=1){var n=e[i].compareDocumentPosition(e[o]);(n&Node.DOCUMENT_POSITION_CONTAINED_BY)>0&&t.add(o),(n&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(i)}return e.filter(function(e,a){return!t.has(a)})})(B(ie(t).querySelectorAll("[".concat(n,'="').concat(a,'"]:not([').concat(r,'="disabled"])')))):[t]),e},[])},ne=function(e,t){return void 0===t&&(t=ae(v(e).ownerDocument)),!(!t||t.dataset&&t.dataset.focusGuard)&&oe(e).some(function(e){return te(e,t)||(function(e,t){return Boolean(B(e.querySelectorAll("iframe")).some(function(e){return(function(e,t){return e===t})(e,t)}))})(e,t)})},re=function(e,t){e&&("focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus())},Ee=function(e,t){return F(e)&&e.name?(function(e,t){return t.filter(F).filter(function(t){return t.name===e.name}).filter(function(e){return e.checked})[0]||e})(e,t):e},_e=function(e){return e[0]&&e.length>1?Ee(e[0],e):e[0]},Te=function(e,t){return e.indexOf(Ee(t,e))},se="NEW_FOCUS",Se=function(e,t,a,i,o){var n=e.length,r=e[0],E=e[n-1],_=H(i);if(!(i&&e.indexOf(i)>=0)){var T=void 0!==i?a.indexOf(i):-1,s=o?a.indexOf(o):T,S=o?e.indexOf(o):-1;if(-1===T)return-1!==S?S:se;if(-1===S)return se;var l,I,A=T-s,u=a.indexOf(r),d=a.indexOf(E),O=(l=a,I=new Set,l.forEach(function(e){return I.add(Ee(e,l))}),l.filter(function(e){return I.has(e)})),c=void 0!==i?O.indexOf(i):-1,N=o?O.indexOf(o):c,R=O.filter(function(e){return e.tabIndex>=0}),m=void 0!==i?R.indexOf(i):-1,L=o?R.indexOf(o):m,D=m>=0&&L>=0?L-m:N-c;if(!A&&S>=0)return S;if(0===t.length)return S;var p=Te(e,t[0]),C=Te(e,t[t.length-1]);return T<=u&&_&&Math.abs(A)>1?C:T>=d&&_&&Math.abs(A)>1?p:A&&Math.abs(D)>1?S:T<=u?C:T>d?p:A?Math.abs(A)>1?S:(n+S+A)%n:void 0}},le=function(e,t,a){var i,o=e.map(function(e){return e.node}),n=q(o.filter((i=a,function(e){var t,a=null===(t=G(e))||void 0===t?void 0:t.autofocus;return e.autofocus||void 0!==a&&"false"!==a||i.indexOf(e)>=0})));return n&&n.length?_e(n):_e(q(t))},Ie=function(e,t){return void 0===t&&(t=[]),t.push(e),e.parentNode&&Ie(e.parentNode.host||e.parentNode,t),t},Ae=function(e,t){for(var a=Ie(e),i=Ie(t),o=0;o<a.length;o+=1){var n=a[o];if(i.indexOf(n)>=0)return n}return!1},ue=function(e,t,a){var i=g(e),o=g(t),n=i[0],r=!1;return o.filter(Boolean).forEach(function(e){r=Ae(r||e,e)||r,a.filter(Boolean).forEach(function(e){var t=Ae(n,e);t&&(r=!r||te(t,r)?t:Ae(t,r))})}),r},de=function(e,t){return e.reduce(function(e,a){return e.concat(ee(a,t))},[])},Oe=function(e,t){var a=ae(g(e).length>0?document:v(e).ownerDocument),i=oe(e).filter(w),o=ue(a||e,e,i),n=new Map,r=Z(i,n),E=r.filter(function(e){var t=e.node;return w(t)});if(E[0]){var _,T,s,S=Z([o],n).map(function(e){return e.node}),l=(_=S,T=E,s=new Map,T.forEach(function(e){return s.set(e.node,e)}),_.map(function(e){return s.get(e)}).filter(Y)),I=l.map(function(e){return e.node}),A=l.filter(function(e){return e.tabIndex>=0}).map(function(e){return e.node}),u=Se(I,A,S,a,t);if(u===se){var d=le(r,A,de(i,n))||le(r,I,de(i,n));return d?{node:d}:void console.warn("focus-lock: cannot find any node to move focus into")}return void 0===u?u:l[u]}},ce=0,Ne=!1,Re=function(e,t,a){void 0===a&&(a={});var i=Oe(e,t);if(!Ne&&i){if(ce>2)return console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),Ne=!0,void setTimeout(function(){Ne=!1},1);ce++,re(i.node,a.focusOptions),ce--}};function me(e){if(!e)return null;if("undefined"==typeof WeakRef)return function(){return e||null};var t=e?new WeakRef(e):null;return function(){return(null==t?void 0:t.deref())||null}}var Le=function(e){var t=(function(e){if(!e)return null;for(var t=[],a=e;a&&a!==document.body;)t.push({current:me(a),parent:me(a.parentElement),left:me(a.previousElementSibling),right:me(a.nextElementSibling)}),a=a.parentElement;return{element:me(e),stack:t,ownerDocument:e.ownerDocument}})(e);return function(){return(function(e){var t,a,i,o,n;if(e)for(var r=e.stack,E=e.ownerDocument,_=new Map,T=0,s=r;T<s.length;T++){var S=s[T],l=null===(t=S.parent)||void 0===t?void 0:t.call(S);if(l&&E.contains(l)){for(var I=null===(a=S.left)||void 0===a?void 0:a.call(S),A=S.current(),u=l.contains(A)?A:void 0,d=null===(i=S.right)||void 0===i?void 0:i.call(S),O=J([l],_),c=null!==(n=null!==(o=null!=u?u:null==I?void 0:I.nextElementSibling)&&void 0!==o?o:d)&&void 0!==n?n:I;c;){for(var N=0,R=O;N<R.length;N++){var m=R[N];if(null==c?void 0:c.contains(m.node))return m.node}c=c.nextElementSibling}if(O.length)return O[0].node}}})(t)}},De=function(e,t,a){void 0===t&&(t={});var i=(function(e){return Object.assign({scope:document.body,cycle:!0,onlyTabbable:!0},e)})(t),o=(function(e,t,a){if(!e||!t)return console.error("no element or scope given"),{};var i=g(t);if(i.every(function(t){return!te(t,e)}))return console.error("Active element is not contained in the scope"),{};var o=a?J(i,new Map):Z(i,new Map),n=o.findIndex(function(t){return t.node===e});return-1!==n?{prev:o[n-1],next:o[n+1],first:o[0],last:o[o.length-1]}:void 0})(e,i.scope,i.onlyTabbable);if(o){var n=a(o,i.cycle);n&&re(n.node,i.focusOptions)}},pe=function(e,t,a){var i,o,n,r,E=(o=e,n=null===(i=t.onlyTabbable)||void 0===i||i,{first:(r=n?J(g(o),new Map):Z(g(o),new Map))[0],last:r[r.length-1]})[a];E&&re(E.node,t.focusOptions)};function Ce(e){setTimeout(e,1)}var he=function(e){return e&&"current"in e?e.current:e},fe=function(){return document&&document.activeElement===document.body},Pe=function(){return fe()||(function(e){void 0===e&&(e=document);var t=ae(e);return!!t&&B(e.querySelectorAll("[".concat("data-no-focus-lock","]"))).some(function(e){return te(e,t)})})()},Be=null,ge=null,ve=function(){return null},Me=null,We=!1,ye=!1,Ue=function(){return!0};function be(e,t,a,i){var o=null,n=e;do{var r=i[n];if(r.guard)r.node.dataset.focusAutoGuard&&(o=r);else{if(!r.lockItem)break;if(n!==e)return;o=null}}while((n+=a)!==t);o&&(o.node.tabIndex=0)}var Ge=function e(t,a,i){return a&&(a.host===t&&(!a.activeElement||i.contains(a.activeElement))||a.parentNode&&e(t,a.parentNode,i))},ke=function(e){return Z(e,new Map)},Fe=function(){var e,t,a,i,o,n,r,E=!1;if(Be){var _=Be,T=_.observed,s=_.persistentFocus,S=_.autoFocus,l=_.shards,I=_.crossFrame,A=_.focusOptions,u=_.noFocusGuards,d=T||Me&&Me.portaledElement;if(fe()&&ge&&(!document.body.contains(ge)||!ke([(r=ge).parentNode]).some(function(e){return e.node===r}))){ge=null;var O=ve();O&&O.focus()}var c=document&&document.activeElement;if(d){var N=[d].concat(l.map(he).filter(Boolean));if(c&&!(function(e){return(Be.whiteList||Ue)(e)})(c)||(s||(function(){if(!(I?Boolean(We):"meanwhile"===We)||!u||!ge||ye)return!1;var e=ke(N),t=e.findIndex(function(e){return e.node===ge});return 0===t||t===e.length-1})()||!Pe()||!ge&&S)&&(d&&!(ne(N)||c&&(function(e,t){return t.some(function(t){return Ge(e,t,t)})})(c,N)||(n=c,Me&&Me.portaledElement===n))&&(document&&!ge&&c&&!S?(c.blur&&c.blur(),document.body.focus()):(E=Re(N,ge,{focusOptions:A}),Me={})),We=!1,ge=document&&document.activeElement,ve=Le(ge)),document&&c!==document.activeElement&&document.querySelector("[data-focus-auto-guard]")){var R=document&&document.activeElement,m=(t=oe(e=N).filter(w),a=ue(e,e,t),i=K(X([a],!0),!0,!0),o=X(t,!1),i.map(function(e){var t=e.node;return{node:t,index:e.index,lockItem:o.indexOf(t)>=0,guard:H(t)}})),L=m.map(function(e){return e.node}).indexOf(R);L>-1&&(m.filter(function(e){var t=e.guard,a=e.node;return t&&a.dataset.focusAutoGuard}).forEach(function(e){return e.node.removeAttribute("tabIndex")}),be(L,m.length,1,m),be(L,-1,-1,m))}}}return E},Ve=function(e){Fe()&&e&&(e.stopPropagation(),e.preventDefault())},He=function(){return Ce(Fe)},we=function(e){var t=e.target,a=e.currentTarget;a.contains(t)||(Me={observerNode:a,portaledElement:t})},Ye=function(){ye=!0},ze=function(){ye=!1,We="just",Ce(function(){We="meanwhile"})};var Ke={moveFocusInside:Re,focusInside:ne,focusNextElement:function(e,t){void 0===t&&(t={}),De(e,t,function(e,t){var a=e.next,i=e.first;return a||t&&i})},focusPrevElement:function(e,t){void 0===t&&(t={}),De(e,t,function(e,t){var a=e.prev,i=e.last;return a||t&&i})},focusFirstElement:function(e,t){void 0===t&&(t={}),pe(e,t,"first")},focusLastElement:function(e,t){void 0===t&&(t={}),pe(e,t,"last")},captureFocusRestore:Le};O.assignSyncMedium(we),c.assignMedium(He),N.assignMedium(function(e){return e(Ke)});const je=P(function(e){return e.filter(function(e){return!e.disabled})},function(e){var t=e.slice(-1)[0];t&&!Be&&(document.addEventListener("focusin",Ve),document.addEventListener("focusout",He),window.addEventListener("focus",Ye),window.addEventListener("blur",ze));var a=Be,i=a&&t&&t.id===a.id;Be=t,a&&!i&&(a.onDeactivation(),e.filter(function(e){return e.id===a.id}).length||a.returnFocus(!t)),t?(ge=null,i&&a.observed===t.observed||t.onActivation(Ke),Fe(),Ce(Fe)):(document.removeEventListener("focusin",Ve),document.removeEventListener("focusout",He),window.removeEventListener("focus",Ye),window.removeEventListener("blur",ze),ge=null)})(function(){return null});var xe=o.forwardRef(function(e,t){return o.createElement(p,i({sideCar:je,ref:t},e))}),Qe=p.propTypes||{};Qe.sideCar,(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.includes(i))continue;a[i]=e[i]}})(Qe,["sideCar"]);xe.propTypes={};const Xe=xe},26936:(e,t)=>{"use strict";var a,i=Symbol.for("react.element"),o=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),_=Symbol.for("react.provider"),T=Symbol.for("react.context"),s=Symbol.for("react.server_context"),S=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),I=Symbol.for("react.suspense_list"),A=Symbol.for("react.memo"),u=Symbol.for("react.lazy"),d=Symbol.for("react.offscreen");function O(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case i:switch(e=e.type){case n:case E:case r:case l:case I:return e;default:switch(e=e&&e.$$typeof){case s:case T:case S:case u:case A:case _:return e;default:return t}}case o:return t}}}a=Symbol.for("react.module.reference"),t.ContextConsumer=T,t.ContextProvider=_,t.Element=i,t.ForwardRef=S,t.Fragment=n,t.Lazy=u,t.Memo=A,t.Portal=o,t.Profiler=E,t.StrictMode=r,t.Suspense=l,t.SuspenseList=I,t.isAsyncMode=function(){return!1},t.isConcurrentMode=function(){return!1},t.isContextConsumer=function(e){return O(e)===T},t.isContextProvider=function(e){return O(e)===_},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===i},t.isForwardRef=function(e){return O(e)===S},t.isFragment=function(e){return O(e)===n},t.isLazy=function(e){return O(e)===u},t.isMemo=function(e){return O(e)===A},t.isPortal=function(e){return O(e)===o},t.isProfiler=function(e){return O(e)===E},t.isStrictMode=function(e){return O(e)===r},t.isSuspense=function(e){return O(e)===l},t.isSuspenseList=function(e){return O(e)===I},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===n||e===E||e===r||e===l||e===I||e===d||"object"==typeof e&&null!==e&&(e.$$typeof===u||e.$$typeof===A||e.$$typeof===_||e.$$typeof===T||e.$$typeof===S||e.$$typeof===a||void 0!==e.getModuleId)},t.typeOf=O},84276:(e,t,a)=>{"use strict";e.exports=a(26936)},32713:(e,t)=>{"use strict";var a=Symbol.for("react.element"),i=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),E=Symbol.for("react.provider"),_=Symbol.for("react.context"),T=Symbol.for("react.forward_ref"),s=Symbol.for("react.suspense"),S=Symbol.for("react.memo"),l=Symbol.for("react.lazy"),I=Symbol.iterator;var A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},u=Object.assign,d={};function O(e,t,a){this.props=e,this.context=t,this.refs=d,this.updater=a||A}function c(){}function N(e,t,a){this.props=e,this.context=t,this.refs=d,this.updater=a||A}O.prototype.isReactComponent={},O.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},O.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},c.prototype=O.prototype;var R=N.prototype=new c;R.constructor=N,u(R,O.prototype),R.isPureReactComponent=!0;var m=Array.isArray,L=Object.prototype.hasOwnProperty,D={current:null},p={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,i){var o,n={},r=null,E=null;if(null!=t)for(o in void 0!==t.ref&&(E=t.ref),void 0!==t.key&&(r=""+t.key),t)L.call(t,o)&&!p.hasOwnProperty(o)&&(n[o]=t[o]);var _=arguments.length-2;if(1===_)n.children=i;else if(1<_){for(var T=Array(_),s=0;s<_;s++)T[s]=arguments[s+2];n.children=T}if(e&&e.defaultProps)for(o in _=e.defaultProps)void 0===n[o]&&(n[o]=_[o]);return{$$typeof:a,type:e,key:r,ref:E,props:n,_owner:D.current}}function h(e){return"object"==typeof e&&null!==e&&e.$$typeof===a}var f=/\/+/g;function P(e,t){return"object"==typeof e&&null!==e&&null!=e.key?(function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(e){return t[e]})})(""+e.key):t.toString(36)}function B(e,t,o,n,r){var E=typeof e;"undefined"!==E&&"boolean"!==E||(e=null);var _=!1;if(null===e)_=!0;else switch(E){case"string":case"number":_=!0;break;case"object":switch(e.$$typeof){case a:case i:_=!0}}if(_)return r=r(_=e),e=""===n?"."+P(_,0):n,m(r)?(o="",null!=e&&(o=e.replace(f,"$&/")+"/"),B(r,t,o,"",function(e){return e})):null!=r&&(h(r)&&(r=(function(e,t){return{$$typeof:a,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}})(r,o+(!r.key||_&&_.key===r.key?"":(""+r.key).replace(f,"$&/")+"/")+e)),t.push(r)),1;if(_=0,n=""===n?".":n+":",m(e))for(var T=0;T<e.length;T++){var s=n+P(E=e[T],T);_+=B(E,t,o,s,r)}else if(s=(function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=I&&e[I]||e["@@iterator"])?e:null})(e),"function"==typeof s)for(e=s.call(e),T=0;!(E=e.next()).done;)_+=B(E=E.value,t,o,s=n+P(E,T++),r);else if("object"===E)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return _}function g(e,t,a){if(null==e)return e;var i=[],o=0;return B(e,i,"","",function(e){return t.call(a,e,o++)}),i}function v(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var M={current:null},W={transition:null},y={ReactCurrentDispatcher:M,ReactCurrentBatchConfig:W,ReactCurrentOwner:D};function U(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:g,forEach:function(e,t,a){g(e,function(){t.apply(this,arguments)},a)},count:function(e){var t=0;return g(e,function(){t++}),t},toArray:function(e){return g(e,function(e){return e})||[]},only:function(e){if(!h(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=O,t.Fragment=o,t.Profiler=r,t.PureComponent=N,t.StrictMode=n,t.Suspense=s,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=y,t.act=U,t.cloneElement=function(e,t,i){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=u({},e.props),n=e.key,r=e.ref,E=e._owner;if(null!=t){if(void 0!==t.ref&&(r=t.ref,E=D.current),void 0!==t.key&&(n=""+t.key),e.type&&e.type.defaultProps)var _=e.type.defaultProps;for(T in t)L.call(t,T)&&!p.hasOwnProperty(T)&&(o[T]=void 0===t[T]&&void 0!==_?_[T]:t[T])}var T=arguments.length-2;if(1===T)o.children=i;else if(1<T){_=Array(T);for(var s=0;s<T;s++)_[s]=arguments[s+2];o.children=_}return{$$typeof:a,type:e.type,key:n,ref:r,props:o,_owner:E}},t.createContext=function(e){return(e={$$typeof:_,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:E,_context:e},e.Consumer=e},t.createElement=C,t.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:T,render:e}},t.isValidElement=h,t.lazy=function(e){return{$$typeof:l,_payload:{_status:-1,_result:e},_init:v}},t.memo=function(e,t){return{$$typeof:S,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=W.transition;W.transition={};try{e()}finally{W.transition=t}},t.unstable_act=U,t.useCallback=function(e,t){return M.current.useCallback(e,t)},t.useContext=function(e){return M.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return M.current.useDeferredValue(e)},t.useEffect=function(e,t){return M.current.useEffect(e,t)},t.useId=function(){return M.current.useId()},t.useImperativeHandle=function(e,t,a){return M.current.useImperativeHandle(e,t,a)},t.useInsertionEffect=function(e,t){return M.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return M.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return M.current.useMemo(e,t)},t.useReducer=function(e,t,a){return M.current.useReducer(e,t,a)},t.useRef=function(e){return M.current.useRef(e)},t.useState=function(e){return M.current.useState(e)},t.useSyncExternalStore=function(e,t,a){return M.current.useSyncExternalStore(e,t,a)},t.useTransition=function(){return M.current.useTransition()},t.version="18.3.1"},30758:(e,t,a)=>{"use strict";e.exports=a(32713)},54733:(e,t)=>{"use strict";function a(e,t){var a=e.length;e.push(t);e:for(;0<a;){var i=a-1>>>1,o=e[i];if(!(0<n(o,t)))break e;e[i]=t,e[a]=o,a=i}}function i(e){return 0===e.length?null:e[0]}function o(e){if(0===e.length)return null;var t=e[0],a=e.pop();if(a!==t){e[0]=a;e:for(var i=0,o=e.length,r=o>>>1;i<r;){var E=2*(i+1)-1,_=e[E],T=E+1,s=e[T];if(0>n(_,a))T<o&&0>n(s,_)?(e[i]=s,e[T]=a,i=T):(e[i]=_,e[E]=a,i=E);else{if(!(T<o&&0>n(s,a)))break e;e[i]=s,e[T]=a,i=T}}}return t}function n(e,t){var a=e.sortIndex-t.sortIndex;return 0!==a?a:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var r=performance;t.unstable_now=function(){return r.now()}}else{var E=Date,_=E.now();t.unstable_now=function(){return E.now()-_}}var T=[],s=[],S=1,l=null,I=3,A=!1,u=!1,d=!1,O="function"==typeof setTimeout?setTimeout:null,c="function"==typeof clearTimeout?clearTimeout:null,N="undefined"!=typeof setImmediate?setImmediate:null;function R(e){for(var t=i(s);null!==t;){if(null===t.callback)o(s);else{if(!(t.startTime<=e))break;o(s),t.sortIndex=t.expirationTime,a(T,t)}t=i(s)}}function m(e){if(d=!1,R(e),!u)if(null!==i(T))u=!0,W(L);else{var t=i(s);null!==t&&y(m,t.startTime-e)}}function L(e,a){u=!1,d&&(d=!1,c(h),h=-1),A=!0;var n=I;try{for(R(a),l=i(T);null!==l&&(!(l.expirationTime>a)||e&&!B());){var r=l.callback;if("function"==typeof r){l.callback=null,I=l.priorityLevel;var E=r(l.expirationTime<=a);a=t.unstable_now(),"function"==typeof E?l.callback=E:l===i(T)&&o(T),R(a)}else o(T);l=i(T)}if(null!==l)var _=!0;else{var S=i(s);null!==S&&y(m,S.startTime-a),_=!1}return _}finally{l=null,I=n,A=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var D,p=!1,C=null,h=-1,f=5,P=-1;function B(){return!(t.unstable_now()-P<f)}function g(){if(null!==C){var e=t.unstable_now();P=e;var a=!0;try{a=C(!0,e)}finally{a?D():(p=!1,C=null)}}else p=!1}if("function"==typeof N)D=function(){N(g)};else if("undefined"!=typeof MessageChannel){var v=new MessageChannel,M=v.port2;v.port1.onmessage=g,D=function(){M.postMessage(null)}}else D=function(){O(g,0)};function W(e){C=e,p||(p=!0,D())}function y(e,a){h=O(function(){e(t.unstable_now())},a)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){u||A||(u=!0,W(L))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):f=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return I},t.unstable_getFirstCallbackNode=function(){return i(T)},t.unstable_next=function(e){switch(I){case 1:case 2:case 3:var t=3;break;default:t=I}var a=I;I=t;try{return e()}finally{I=a}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var a=I;I=e;try{return t()}finally{I=a}},t.unstable_scheduleCallback=function(e,o,n){var r=t.unstable_now();switch("object"==typeof n&&null!==n?n="number"==typeof(n=n.delay)&&0<n?r+n:r:n=r,e){case 1:var E=-1;break;case 2:E=250;break;case 5:E=1073741823;break;case 4:E=1e4;break;default:E=5e3}return e={id:S++,callback:o,priorityLevel:e,startTime:n,expirationTime:E=n+E,sortIndex:-1},n>r?(e.sortIndex=n,a(s,e),null===i(T)&&e===i(s)&&(d?(c(h),h=-1):d=!0,y(m,n-r))):(e.sortIndex=E,a(T,e),u||A||(u=!0,W(L))),e},t.unstable_shouldYield=B,t.unstable_wrapCallback=function(e){var t=I;return function(){var a=I;I=t;try{return e.apply(this,arguments)}finally{I=a}}}},31896:(e,t,a)=>{"use strict";e.exports=a(54733)},9552:(e,t,a)=>{"use strict";var i=a(24922),o=a(57379),n=function(e,t,a){for(var i,o=e;null!=(i=o.next);o=i)if(i.key===t)return o.next=i.next,a||(i.next=e.next,e.next=i),i};e.exports=function(){var e,t={assert:function(e){if(!t.has(e))throw new o("Side channel does not contain "+i(e))},delete:function(t){var a=e&&e.next,i=(function(e,t){if(e)return n(e,t,!0)})(e,t);return i&&a&&a===i&&(e=void 0),!!i},get:function(t){return(function(e,t){if(e){var a=n(e,t);return a&&a.value}})(e,t)},has:function(t){return(function(e,t){return!!e&&!!n(e,t)})(e,t)},set:function(t,a){e||(e={next:void 0}),(function(e,t,a){var i=n(e,t);i?i.value=a:e.next={key:t,next:e.next,value:a}})(e,t,a)}};return t}},41085:(e,t,a)=>{"use strict";var i=a(40703),o=a(15298),n=a(24922),r=a(57379),E=i("%Map%",!0),_=o("Map.prototype.get",!0),T=o("Map.prototype.set",!0),s=o("Map.prototype.has",!0),S=o("Map.prototype.delete",!0),l=o("Map.prototype.size",!0);e.exports=!!E&&function(){var e,t={assert:function(e){if(!t.has(e))throw new r("Side channel does not contain "+n(e))},delete:function(t){if(e){var a=S(e,t);return 0===l(e)&&(e=void 0),a}return!1},get:function(t){if(e)return _(e,t)},has:function(t){return!!e&&s(e,t)},set:function(t,a){e||(e=new E),T(e,t,a)}};return t}},52468:(e,t,a)=>{"use strict";var i=a(40703),o=a(15298),n=a(24922),r=a(41085),E=a(57379),_=i("%WeakMap%",!0),T=o("WeakMap.prototype.get",!0),s=o("WeakMap.prototype.set",!0),S=o("WeakMap.prototype.has",!0),l=o("WeakMap.prototype.delete",!0);e.exports=_?function(){var e,t,a={assert:function(e){if(!a.has(e))throw new E("Side channel does not contain "+n(e))},delete:function(a){if(_&&a&&("object"==typeof a||"function"==typeof a)){if(e)return l(e,a)}else if(r&&t)return t.delete(a);return!1},get:function(a){return _&&a&&("object"==typeof a||"function"==typeof a)&&e?T(e,a):t&&t.get(a)},has:function(a){return _&&a&&("object"==typeof a||"function"==typeof a)&&e?S(e,a):!!t&&t.has(a)},set:function(a,i){_&&a&&("object"==typeof a||"function"==typeof a)?(e||(e=new _),s(e,a,i)):r&&(t||(t=r()),t.set(a,i))}};return a}:r},15717:(e,t,a)=>{"use strict";var i=a(57379),o=a(24922),n=a(9552),r=a(41085),E=a(52468)||r||n;e.exports=function(){var e,t={assert:function(e){if(!t.has(e))throw new i("Side channel does not contain "+o(e))},delete:function(t){return!!e&&e.delete(t)},get:function(t){return e&&e.get(t)},has:function(t){return!!e&&e.has(t)},set:function(t,a){e||(e=E()),e.set(t,a)}};return t}},83403:(e,t,a)=>{"use strict";var i=a(12094),o=Array.prototype.concat,n=Array.prototype.slice,r=e.exports=function(e){for(var t=[],a=0,r=e.length;a<r;a++){var E=e[a];i(E)?t=o.call(t,n.call(E)):t.push(E)}return t};r.wrap=function(e){return function(){return e(r(arguments))}}},30627:()=>{!(function(){if(void 0!==window.navigate)return;const e={37:"left",38:"up",39:"right",40:"down"};let t=null,a=null;function i(){window.navigate=o,window.Element.prototype.spatialNavigationSearch=T,window.Element.prototype.focusableAreas=I,window.Element.prototype.getSpatialNavigationContainer=l,window.CSS&&CSS.registerProperty&&(""===window.getComputedStyle(document.documentElement).getPropertyValue("--spatial-navigation-contain")&&CSS.registerProperty({name:"--spatial-navigation-contain",syntax:"auto | contain",inherits:!1,initialValue:"auto"}),""===window.getComputedStyle(document.documentElement).getPropertyValue("--spatial-navigation-action")&&CSS.registerProperty({name:"--spatial-navigation-action",syntax:"auto | focus | scroll",inherits:!1,initialValue:"auto"}),""===window.getComputedStyle(document.documentElement).getPropertyValue("--spatial-navigation-function")&&CSS.registerProperty({name:"--spatial-navigation-function",syntax:"normal | euclidean | grid",inherits:!0,initialValue:"normal"})),window.addEventListener("keydown",i=>{const n=parent&&parent.__spatialNavigation__.keyMode||window.__spatialNavigation__.keyMode,r=document.activeElement,E=e[i.keyCode];if(9===i.keyCode&&(a=null),!(!n||"NONE"===n||"SHIFTARROW"===n&&!i.shiftKey||"ARROW"===n&&i.shiftKey||i.defaultPrevented||i.spatialNavigationPrevented)){let n={left:!0,up:!0,right:!0,down:!0};"INPUT"!==r.nodeName&&"TEXTAREA"!==r.nodeName||(n=(function(t){const a=["email","date","month","number","time","week"],i=["password","text","search","tel","url",null],o=document.activeElement,n=o.selectionStart,r=o.selectionEnd,E={left:!1,up:!1,right:!1,down:!1},_=e[t.keyCode];if(void 0===_)return E;(!a.includes(o.getAttribute("type"))||"up"!==_&&"down"!==_)&&(i.includes(o.getAttribute("type"))||"TEXTAREA"===o.nodeName)?n===r&&(0===n&&(E.left=!0,E.up=!0),r===o.value.length&&(E.right=!0,E.down=!0)):E[_]=!0;return E})(i)),n[E]&&(i.preventDefault(),t=new Map,o(E),t=null,a=null)}})}function o(e){let t=(function(){let e=document.activeElement;e&&(e!==document.body||document.querySelector(":focus"))||(e=document);return e})(),i=null;a&&(i=document.elementFromPoint(a.x,a.y),null===i&&(i=document.body),h(i)&&!N(i)?a=null:t=N(i)?i:i.getSpatialNavigationContainer()),t!==document&&t!==document.documentElement||(t=document.body||document.documentElement);let o=null;if((N(t)||"BODY"===t.nodeName)&&"INPUT"!==t.nodeName){o=t,"IFRAME"===t.nodeName&&(t=t.contentDocument.documentElement);let a=null;if("scroll"===d(t)){if(r(t,e))return}else if("focus"===d(t)){if(a=t.spatialNavigationSearch(e,{container:t,candidates:E(t,{mode:"all"}),inside:!0}),n(a,e))return}else if("auto"===d(t)&&(a=t.spatialNavigationSearch(e,{container:t,inside:!0}),n(a,e)||r(t,e)))return}o=o||t.getSpatialNavigationContainer();let _=o.parentElement?o.getSpatialNavigationContainer():null;if(_||window.location===window.parent.location||(_=window.parent.document.documentElement),"scroll"===d(t)){if(r(o,e))return}else"focus"===d(t)?O(t,o,_,e,"all"):"auto"===d(t)&&O(t,o,_,e,"visible")}function n(e,t){if(e){const a=e.getSpatialNavigationContainer(),i=window.getComputedStyle(a,null);i.getPropertyValue("overflow-x"),i.getPropertyValue("overflow-y");return L(a,t)&&(function(e){const t=F(e),a=F(e.getSpatialNavigationContainer());t.left<a.left||t.right>a.right||t.top<a.top||(t.bottom,a.bottom)})(e),e.scrollIntoView(),A("beforefocus",e,null,t)?(e.focus(),!0):!0}return!1}function r(e,t){return L(e,t)&&!C(e,t)?(c(e,t),!0):!e.parentElement&&!p(e,t)&&(c(document.documentElement,t),!0)}function E(e,t={mode:"visible"}){let a=[];if(e.childElementCount>0){e.parentElement||(e=e.getElementsByTagName("body")[0]||document.body);const t=e.children;for(const e of t)R(e)?a.push(e):h(e)?(a.push(e),!N(e)&&e.childElementCount&&(a=a.concat(E(e,{mode:"all"})))):e.childElementCount&&(a=a.concat(E(e,{mode:"all"})))}return"all"===t.mode?a:a.filter(f)}function _(e,t,a,i){const o=e;return i=i||o.getSpatialNavigationContainer(),s(o,a=!a||a.length<=0?E(i):a,t,i)}function T(e,t){const i=this;let o,n=[],r=[];t||(t={});const T=t.container||i.getSpatialNavigationContainer(),s=t.candidates&&t.candidates.length>0?t.candidates.filter(e=>T.contains(e)):E(T),l=t.inside||!1;if(s&&s.length>0){if(s.forEach(e=>{(i.contains(e)&&i!==e?n:r).push(e)}),t.candidates&&t.candidates.length>0||0!==n.length||(n=E(i)),r.length>0&&(r=_(i,e,r,T)),l&&(N(i)||"BODY"===i.nodeName)&&"INPUT"!==i.nodeName&&(o=(function(e,t,i){return S(e,t,i,a?W:y)})(i,n,e)),o=o||(function(e,t,a){const i=getComputedStyle(e).getPropertyValue("--spatial-navigation-function"),o=F(e);let n,r;switch(i){case"grid":r=t.filter(e=>M(o,F(e),a)),r.length>0&&(t=r),n=G;break;case"euclidean":n=b;break;default:n=U}return S(e,t,a,n)})(i,r,e),o&&R(o)){const t=E(o,{mode:"all"}),a=t.length>0?i.spatialNavigationSearch(e,{candidates:t,container:o}):null;a?o=a:h(o)||(s.splice(s.indexOf(o),1),o=s.length?i.spatialNavigationSearch(e,{candidates:s,container:T}):null)}return o}return null}function s(e,t,a,i){const o=e.getSpatialNavigationContainer();let n;return void 0===a?t:(n=o.parentElement&&i!==o&&!f(e)?F(o):F(e),!N(e)&&"BODY"!==e.nodeName||"INPUT"===e.nodeName?t.filter(t=>{const o=F(t),r="IFRAME"===t.nodeName?t.contentDocument.body:null;return i.contains(t)&&t!==e&&r!==e&&B(o,n,a)}):t.filter(t=>{const o=F(t);return i.contains(t)&&(e.contains(t)&&(function(e,t){const a=e.left<=t.right&&e.right>=t.right,i=e.left<=t.left&&e.right>=t.left,o=e.top<=t.top&&e.bottom>=t.top,n=e.top<=t.bottom&&e.bottom>=t.bottom;return(a||i)&&(o||n)})(n,o)&&t!==e||B(o,n,a))}))}function S(e,t,a,i){let o=null;window.location===window.parent.location||"BODY"!==e.nodeName&&"HTML"!==e.nodeName?o=e.getBoundingClientRect():(o=window.frameElement.getBoundingClientRect(),o.x=0,o.y=0);let n=Number.POSITIVE_INFINITY,r=[];if(t)for(let e=0;e<t.length;e++){const E=i(o,F(t[e]),a);E<n?(n=E,r=[t[e]]):E===n&&r.push(t[e])}return 0===r.length?null:r.length>1&&i===G?S(e,r,a,b):r[0]}function l(){let e=this;do{if(!e.parentElement){e=window.location!==window.parent.location?window.parent.document.documentElement:window.document.documentElement;break}e=e.parentElement}while(!N(e));return e}function I(e={mode:"visible"}){const t=this.parentElement?this:document.body,a=Array.prototype.filter.call(t.getElementsByTagName("*"),h);return"all"===e.mode?a:a.filter(f)}function A(e,t,a,i){if(["beforefocus","notarget"].includes(e)){const o=new CustomEvent("nav"+e,{bubbles:!0,cancelable:!0,detail:{causedTarget:a,dir:i}});return t.dispatchEvent(o)}}function u(e,t){return window.getComputedStyle(e).getPropertyValue(`--${t}`).trim()}function d(e){return u(e,"spatial-navigation-action")||"auto"}function O(e,t,a,i,o){let _={candidates:E(t,{mode:o}),container:t};for(;a;){if(n(e.spatialNavigationSearch(i,_),i))return;if("visible"===o&&r(t,i))return;if(!A("notarget",t,e,i))return;if(t===document||t===document.documentElement){if(window.location!==window.parent.location){if(e=window.frameElement,!(t=window.parent.document.documentElement).parentElement){a=null;break}a=t.getSpatialNavigationContainer()}}else{if(_={candidates:E(t=a,{mode:o}),container:t},!t.parentElement){a=null;break}a=t.getSpatialNavigationContainer()}}_={candidates:E(t,{mode:o}),container:t},!a&&t&&n(e.spatialNavigationSearch(i,_),i)||A("notarget",_.container,e,i)&&("auto"!==d(t)||"visible"!==o||r(t,i))}function c(e,t,a=0){if(e)switch(t){case"left":e.scrollLeft-=40+a;break;case"right":e.scrollLeft+=40+a;break;case"up":e.scrollTop-=40+a;break;case"down":e.scrollTop+=40+a}}function N(e){return!e.parentElement||"IFRAME"===e.nodeName||m(e)||(function(e){return"contain"===u(e,"spatial-navigation-contain")})(e)}function R(e){return"delegable"===u(e,"spatial-navigation-contain")}function m(e){const t=window.getComputedStyle(e,null),a=t.getPropertyValue("overflow-x"),i=t.getPropertyValue("overflow-y");return!!("visible"!==a&&"clip"!==a&&D(e,"left")||"visible"!==i&&"clip"!==i&&D(e,"down"))}function L(e,t){if(e&&"object"==typeof e){if(t&&"string"==typeof t){if(D(e,t)){const a=window.getComputedStyle(e,null),i=a.getPropertyValue("overflow-x"),o=a.getPropertyValue("overflow-y");switch(t){case"left":case"right":return"visible"!==i&&"clip"!==i&&"hidden"!==i;case"up":case"down":return"visible"!==o&&"clip"!==o&&"hidden"!==o}}return!1}return"HTML"===e.nodeName||"BODY"===e.nodeName||m(e)&&D(e)}}function D(e,t){if(e&&"object"==typeof e){if(!t||"string"!=typeof t)return e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight;switch(t){case"left":case"right":return e.scrollWidth>e.clientWidth;case"up":case"down":return e.scrollHeight>e.clientHeight}return!1}}function p(e,t){let a=!1;switch(t){case"left":a=0===window.scrollX;break;case"right":a=e.scrollWidth-e.scrollLeft-e.clientWidth===0;break;case"up":a=0===window.scrollY;break;case"down":a=e.scrollHeight-e.scrollTop-e.clientHeight===0}return a}function C(e,t){if(L(e,t)){const a=e.scrollTop,i=e.scrollLeft,o=e.scrollHeight-e.clientHeight,n=e.scrollWidth-e.clientWidth;switch(t){case"left":return 0===i;case"right":return Math.abs(i-n)<=1;case"up":return 0===a;case"down":return Math.abs(a-o)<=1}}return!1}function h(e){return!(e.tabIndex<0||(function(e){return"A"===e.tagName&&null===e.getAttribute("href")&&null===e.getAttribute("tabIndex")})(e)||(function(e){return!!["BUTTON","INPUT","SELECT","TEXTAREA","OPTGROUP","OPTION","FIELDSET"].includes(e.tagName)&&e.disabled})(e)||(function(e){return e.inert&&!e.ownerDocument.documentElement.inert})(e)||!(function(e){return!!P(e.parentElement)&&!(!P(e)||0===e.style.opacity||!("0px"!==e.style.width&&0!==e.style.width||"0px"!==e.style.height&&0!==e.style.height))})(e))&&(!!(!e.parentElement||L(e)&&D(e)||e.tabIndex>=0)||void 0)}function f(e){return!e.parentElement||P(e)&&(function(e){const t=F(e);if("IFRAME"!==e.nodeName&&(t.top<0||t.left<0||t.top>window.innerHeight||t.left>window.innerWidth))return!1;let a=parseInt(e.offsetWidth)/10,i=parseInt(e.offsetHeight)/10;a=isNaN(a)?1:a,i=isNaN(i)?1:i;const o={middle:[(t.left+t.right)/2,(t.top+t.bottom)/2],leftTop:[t.left+a,t.top+i],rightBottom:[t.right-a,t.bottom-i]};for(const t in o){const a=document.elementFromPoint(...o[t]);if(e===a||e.contains(a))return!0}return!1})(e)}function P(e){const t=window.getComputedStyle(e,null),a=t.getPropertyValue("visibility");return"none"!==t.getPropertyValue("display")&&!["hidden","collapse"].includes(a)}function B(e,t,a){switch(a){case"left":return g(t,e);case"right":return g(e,t);case"up":return v(t,e);case"down":return v(e,t);default:return!1}}function g(e,t){return e.left>=t.right||e.left>=t.left&&e.right>t.right&&e.bottom>t.top&&e.top<t.bottom}function v(e,t){return e.top>=t.bottom||e.top>=t.top&&e.bottom>t.bottom&&e.left<t.right&&e.right>t.left}function M(e,t,a){switch(a){case"left":case"right":return e.bottom>t.top&&e.top<t.bottom;case"up":case"down":return e.right>t.left&&e.left<t.right;default:return!1}}function W(e,t,i){const o=k(i,a,t),n=Math.abs(o.entryPoint.x-o.exitPoint.x),r=Math.abs(o.entryPoint.y-o.exitPoint.y);return Math.sqrt(Math.pow(n,2)+Math.pow(r,2))}function y(e,t,a){const i={left:"right",right:"left",up:"bottom",down:"top"}[a];return Math.abs(e[i]-t[i])}function U(e,t,a){let i=0,o=0;const n=k(a,e,t),r=Math.abs(n.entryPoint.x-n.exitPoint.x),E=Math.abs(n.entryPoint.y-n.exitPoint.y),_=Math.sqrt(Math.pow(r,2)+Math.pow(E,2));let T,s;const S=(function(e,t){const a={width:0,height:0,area:0},i=[Math.max(e.left,t.left),Math.max(e.top,t.top)],o=[Math.min(e.right,t.right),Math.min(e.bottom,t.bottom)];a.width=Math.abs(i[0]-o[0]),a.height=Math.abs(i[1]-o[1]),i[0]>=o[0]||i[1]>=o[1]||(a.area=Math.sqrt(a.width*a.height));return a})(e,t),l=S.area;switch(a){case"left":case"right":M(e,t,a)?o=Math.min(S.height/e.height,1):i=e.height/2,T=30*(E+i),s=5*o;break;case"up":case"down":M(e,t,a)?o=Math.min(S.width/e.width,1):i=e.width/2,T=2*(r+i),s=5*o;break;default:T=0,s=0}return _+T-s-l}function b(e,t,a){const i=k(a,e,t),o=Math.abs(i.entryPoint.x-i.exitPoint.x),n=Math.abs(i.entryPoint.y-i.exitPoint.y);return Math.sqrt(Math.pow(o,2)+Math.pow(n,2))}function G(e,t,a){const i=k(a,e,t);return"left"===a||"right"===a?Math.abs(i.entryPoint.x-i.exitPoint.x):Math.abs(i.entryPoint.y-i.exitPoint.y)}function k(e="down",t,i){const o={entryPoint:{x:0,y:0},exitPoint:{x:0,y:0}};if(a){switch(o.exitPoint=t,e){case"left":o.entryPoint.x=i.right;break;case"up":o.entryPoint.y=i.bottom;break;case"right":o.entryPoint.x=i.left;break;case"down":o.entryPoint.y=i.top}switch(e){case"left":case"right":a.y<=i.top?o.entryPoint.y=i.top:a.y<i.bottom?o.entryPoint.y=a.y:o.entryPoint.y=i.bottom;break;case"up":case"down":a.x<=i.left?o.entryPoint.x=i.left:a.x<i.right?o.entryPoint.x=a.x:o.entryPoint.x=i.right}}else{switch(e){case"left":o.exitPoint.x=t.left,o.entryPoint.x=i.right<t.left?i.right:t.left;break;case"up":o.exitPoint.y=t.top,o.entryPoint.y=i.bottom<t.top?i.bottom:t.top;break;case"right":o.exitPoint.x=t.right,o.entryPoint.x=i.left>t.right?i.left:t.right;break;case"down":o.exitPoint.y=t.bottom,o.entryPoint.y=i.top>t.bottom?i.top:t.bottom}switch(e){case"left":case"right":v(t,i)?(o.exitPoint.y=t.top,o.entryPoint.y=i.bottom<t.top?i.bottom:t.top):v(i,t)?(o.exitPoint.y=t.bottom,o.entryPoint.y=i.top>t.bottom?i.top:t.bottom):(o.exitPoint.y=Math.max(t.top,i.top),o.entryPoint.y=o.exitPoint.y);break;case"up":case"down":g(t,i)?(o.exitPoint.x=t.left,o.entryPoint.x=i.right<t.left?i.right:t.left):g(i,t)?(o.exitPoint.x=t.right,o.entryPoint.x=i.left>t.right?i.left:t.right):(o.exitPoint.x=Math.max(t.left,i.left),o.entryPoint.x=o.exitPoint.x)}}return o}function F(e){let a=t&&t.get(e);if(!a){const i=e.getBoundingClientRect();a={top:Number(i.top.toFixed(2)),right:Number(i.right.toFixed(2)),bottom:Number(i.bottom.toFixed(2)),left:Number(i.left.toFixed(2)),width:Number(i.width.toFixed(2)),height:Number(i.height.toFixed(2))},t&&t.set(e,a)}return a}function V(e){const t=window.__spatialNavigation__&&window.__spatialNavigation__.keyMode;window.__spatialNavigation__=!1===e?H():Object.assign(H(),(function(){function e(e,t){return L(e,t)&&!C(e,t)||!e.parentElement&&!p(e,t)}function t(t,a,i,o){let n=a,r=null;if(n!==document&&n!==document.documentElement||(n=document.body||document.documentElement),(N(n)||"BODY"===n.nodeName)&&"INPUT"!==n.nodeName){"IFRAME"===n.nodeName&&(n=n.contentDocument.body);const a=E(n,o);if(Array.isArray(a)&&a.length>0)return t?_(n,i,a):n.spatialNavigationSearch(i,{candidates:a});if(e(n,i))return t?[]:n}let T=n.getSpatialNavigationContainer(),S=T.parentElement?T.getSpatialNavigationContainer():null;for(S||window.location===window.parent.location||(S=window.parent.document.documentElement);S;){const a=s(n,E(T,o),i,T);if(Array.isArray(a)&&a.length>0){if(r=n.spatialNavigationSearch(i,{candidates:a,container:T}),r)return t?a:r}else{if(e(T,i))return t?[]:n;if(T===document||T===document.documentElement){if(T=window.document.documentElement,window.location!==window.parent.location){if(n=window.frameElement,T=window.parent.document.documentElement,!T.parentElement){S=null;break}S=T.getSpatialNavigationContainer()}}else{if(h(T)&&(n=T),T=S,!T.parentElement){S=null;break}S=T.getSpatialNavigationContainer()}}}if(!S&&T){const e=s(n,E(T,o),i,T);if(Array.isArray(e)&&e.length>0&&(r=n.spatialNavigationSearch(i,{candidates:e,container:T}),r))return t?e:r}if(e(T,i))return r=n,r}return{isContainer:N,isScrollContainer:m,findCandidates:t.bind(null,!0),findNextTarget:t.bind(null,!1),getDistanceFromTarget:(e,t,a)=>(N(e)||"BODY"===e.nodeName)&&"INPUT"!==e.nodeName&&E(e).includes(t)?y(F(e),F(t),a):U(F(e),F(t),a)}})()),window.__spatialNavigation__.keyMode=t,Object.seal(window.__spatialNavigation__)}function H(){return{enableExperimentalAPIs:V,get keyMode(){return this._keymode?this._keymode:"ARROW"},set keyMode(e){this._keymode=["SHIFTARROW","ARROW","NONE"].includes(e)?e:"ARROW"},setStartingPoint:function(e,t){a=e&&t?{x:e,y:t}:null}}}window.addEventListener("load",()=>{i(),V(!1)})})()},60257:(e,t,a)=>{e.exports=function(){return{"ar-AR":a(81671),"bg-BG":a(84563),"ca-CA":a(64633),"cs-CZ":a(65406),"da-DK":a(46741),"de-DE":a(52107),"el-GR":a(45695),"en-US":a(608),"eo-EO":a(59661),"es-ES":a(96413),"eu-ES":a(92967),"fa-IR":a(85921),"fi-FI":a(51171),"fr-FR":a(29469),"he-IL":a(34333),"hi-IN":a(44095),"hr-HR":a(25133),"hu-HU":a(88299),"id-ID":a(24131),"it-IT":a(27907),"ja-JP":a(4336),"ko-KR":a(14426),"mk-MK":a(94301),"my-BM":a(51078),"nb-NO":a(51590),"ne-NP":a(27116),"nl-NL":a(55329),"nn-NO":a(8354),"pa-IN":a(27327),"pl-PL":a(76985),"pt-BR":a(20053),"pt-PT":a(42393),"ro-RO":a(56227),"ru-RU":a(99075),"sl-SL":a(72687),"sr-RS":a(56381),"sv-SE":a(21730),"te-IN":a(61935),"tr-TR":a(14205),"uk-UA":a(36043),"vi-VN":a(88078),"zh-CN":a(87970),"zh-HK":a(33630),"zh-TW":a(92182),"bn-BD":a(26475),"et-EE":a(53504)}},e.exports.all=["ar-AR","bg-BG","ca-CA","cs-CZ","da-DK","de-DE","el-GR","en-US","eo-EO","es-ES","eu-ES","fa-IR","fi-FI","fr-FR","he-IL","hi-IN","hr-HR","hu-HU","id-ID","it-IT","ja-JP","ko-KR","mk-MK","my-BM","nb-NO","ne-NP","nl-NL","nn-NO","pa-IN","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sl-SL","sr-RS","sv-SE","te-IN","tr-TR","uk-UA","vi-VN","zh-CN","zh-HK","zh-TW","bn-BD","et-EE"]},942:(e,t,a)=>{var i=a(71103);t.encode=i.encode,t.decode=i.decode},71103:(e,t,a)=>{"use strict";var i=a(84686).hp,o=[255,255,26,27,28,29,30,31,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,255,255,255,255,255];t.encode=function(e){i.isBuffer(e)||(e=new i(e));for(var t,a,o=0,n=0,r=0,E=0,_=new i(8*(t=e,a=Math.floor(t.length/5),t.length%5==0?a:a+1));o<e.length;){var T=e[o];r>3?(E=(E=T&255>>r)<<(r=(r+5)%8)|(o+1<e.length?e[o+1]:0)>>8-r,o++):(E=T>>8-(r+5)&31,0===(r=(r+5)%8)&&o++),_[n]="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".charCodeAt(E),n++}for(o=n;o<_.length;o++)_[o]=61;return _},t.decode=function(e){var t,a=0,n=0,r=0;i.isBuffer(e)||(e=new i(e));for(var E=new i(Math.ceil(5*e.length/8)),_=0;_<e.length&&61!==e[_];_++){var T=e[_]-48;if(!(T<o.length))throw new Error("Invalid input - it is not base32 encoded string");n=o[T],a<=3?0===(a=(a+5)%8)?(t|=n,E[r]=t,r++,t=0):t|=255&n<<8-a:(t|=255&n>>>(a=(a+5)%8),E[r]=t,r++,t=255&n<<8-a)}return E.slice(0,r)}},79361:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}a(30627);var n=a(30758),r=a(50266).useTranslation,E=a(75394).Router,_=a(31187),T=_.Core,s=_.Shell,S=_.Chromecast,l=_.DragAndDrop,I=_.KeyboardShortcuts,A=_.ServicesProvider,u=a(36441).NotFound,d=a(60350),O=d.FileDropProvider,c=d.PlatformProvider,N=d.ToastProvider,R=d.TooltipProvider,m=d.CONSTANTS,L=d.withCoreSuspender,D=d.useShell,p=a(22626),C=a(10908),h=a(29636),f=a(76420).default,P=a(84731),B=a(71602),g=a(34997),v=a(36329),M=L(B(E));e.exports=function(){var e=r().i18n,t=D(),a=n.useCallback(function(){return u},[]),o=n.useMemo(function(){var e=new T({appVersion:"5.0.0-beta.27",shellVersion:null});return{core:e,shell:new s,chromecast:new S,keyboardShortcuts:new I,dragAndDrop:new l({core:e})}},[]),E=i(n.useState(!1),2),_=E[0],d=E[1];return n.useEffect(function(){var e=window.location.hash.slice(1),t=function(){o.core.active&&o.core.transport.analytics({event:"LocationPathChanged",args:{prevPath:e}}),e=window.location.hash.slice(1)};return window.addEventListener("hashchange",t),function(){window.removeEventListener("hashchange",t)}},[]),n.useEffect(function(){var e=function(){d((o.core.active||o.core.error instanceof Error)&&(o.shell.active||o.shell.error instanceof Error))},t=function(){d((o.core.active||o.core.error instanceof Error)&&(o.shell.active||o.shell.error instanceof Error))},a=function(){o.chromecast.active&&o.chromecast.transport.setOptions({receiverApplicationId:m.CHROMECAST_RECEIVER_APP_ID,autoJoinPolicy:chrome.cast.AutoJoinPolicy.PAGE_SCOPED,resumeSavedSession:!1,language:null,androidReceiverCompatible:!0})};return o.core.on("stateChanged",e),o.shell.on("stateChanged",t),o.chromecast.on("stateChanged",a),o.core.start(),o.shell.start(),o.chromecast.start(),o.keyboardShortcuts.start(),o.dragAndDrop.start(),window.services=o,function(){o.core.stop(),o.shell.stop(),o.chromecast.stop(),o.keyboardShortcuts.stop(),o.dragAndDrop.stop(),o.core.off("stateChanged",e),o.shell.off("stateChanged",t),o.chromecast.off("stateChanged",a)}},[]),n.useEffect(function(){var e=function(e){try{var t=new URL(e),a=t.protocol,i=t.hostname,o=t.pathname,n=t.searchParams;if(a===m.PROTOCOL)if(i.length){var r="https://".concat(i).concat(o);window.location.href="#/addons?addon=".concat(encodeURIComponent(r))}else window.location.href="#".concat(o,"?").concat(n.toString())}catch(e){console.error("Failed to open media:",e)}};return t.on("open-media",e),function(){t.off("open-media",e)}},[]),n.useEffect(function(){var a=function(a){var i,o=a.event,n=a.args;"SettingsUpdated"===o&&(n&&n.settings&&"string"==typeof n.settings.interfaceLanguage&&e.changeLanguage(n.settings.interfaceLanguage),null!=n&&null!==(i=n.settings)&&void 0!==i&&i.quitOnClose&&t.windowClosed&&t.send("quit"))},i=function(){o.core.transport.dispatch({action:"Ctx",args:{action:"PullAddonsFromAPI"}}),o.core.transport.dispatch({action:"Ctx",args:{action:"PullUserFromAPI",args:{}}}),o.core.transport.dispatch({action:"Ctx",args:{action:"SyncLibraryWithAPI"}}),o.core.transport.dispatch({action:"Ctx",args:{action:"PullNotifications"}})};return o.core.active&&(i(),window.addEventListener("focus",i),o.core.transport.on("CoreEvent",a),o.core.transport.getState("ctx").then(function(a){var i;a&&a.profile&&a.profile.settings&&"string"==typeof a.profile.settings.interfaceLanguage&&e.changeLanguage(a.profile.settings.interfaceLanguage),null!=a&&null!==(i=a.profile)&&void 0!==i&&null!==(i=i.settings)&&void 0!==i&&i.quitOnClose&&t.windowClosed&&t.send("quit")}).catch(console.error)),function(){o.core.active&&(window.removeEventListener("focus",i),o.core.transport.off("CoreEvent",a))}},[_,t.windowClosed]),n.createElement(n.StrictMode,null,n.createElement(A,{services:o},_?o.core.error instanceof Error?n.createElement(P,{className:v["error-container"]}):n.createElement(c,null,n.createElement(N,{className:v["toasts-container"]},n.createElement(R,{className:v["tooltip-container"]},n.createElement(O,{className:v["file-drop-container"]},n.createElement(p,null),n.createElement(C,null),n.createElement(h,null),n.createElement(f,{className:v["updater-banner-container"]}),n.createElement(M,{className:v.router,viewsConfig:g,onPathNotMatch:a}))))):n.createElement("div",{className:v["loader-container"]})))}},10908:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(60350),E=r.withCoreSuspender,_=r.useStreamingServer;e.exports=E(function(){var e=_();return n.useEffect(function(){if(null!==e.torrent){var t=i(e.torrent,2)[1],a=t.type,o=t.content;if("Ready"===a){var n=i(o,2)[1];"string"==typeof n.metaDetailsVideos&&(window.location=n.metaDetailsVideos)}}},[e.torrent]),null})},55905:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(50266).useTranslation,E=a(2736),_=a(97500),T=a(38177),s=T.Image,S=T.Button,l=a(63810),I=function(e){var t=e.className,o=r().t,E=i(n.useState(!1),2),T=E[0],I=E[1],A=n.useCallback(function(){window.location.reload()},[]),u=n.useCallback(function(){window.localStorage.clear(),I(!0)},[]);return n.createElement("div",{className:_(t,l["error-container"])},n.createElement(s,{className:l["error-image"],src:a(32706),alt:" "}),n.createElement("div",{className:l["error-message"]},o("GENERIC_ERROR_MESSAGE")),n.createElement("div",{className:l["buttons-container"]},n.createElement(S,{className:l["button-container"],title:o("TRY_AGAIN"),onClick:A},n.createElement("div",{className:l.label},o("TRY_AGAIN"))),n.createElement(S,{className:l["button-container"],disabled:T,title:o("CLEAR_DATA"),onClick:u},n.createElement("div",{className:l.label},o("CLEAR_DATA")))))};I.displayName="ErrorDialog",I.propTypes={className:E.string},e.exports=I},84731:(e,t,a)=>{var i=a(55905);e.exports=i},29636:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){r(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function r(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function E(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return _(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var T=a(30758),s=a(82178),S=a(60350),l=S.withCoreSuspender,I=S.useProfile,A=S.useToast,u=a(31187).useServices;e.exports=l(function(){var e=u().core,t=I(),a=A(),i=E(T.useState({}),2),o=i[0],r=i[1],_=function(){var e=window.location,t=e.origin,a=e.hash,i=e.search,o=new URL("".concat(t).concat(a.replace("#","")).concat(i)).searchParams;r(function(e){var t=Object.fromEntries(o.entries());return s(e,t)?e:t})};return T.useEffect(function(){var i=o.streamingServerUrl;i&&(e.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:n(n({},t.settings),{},{streamingServerUrl:i})}}),e.transport.dispatch({action:"Ctx",args:{action:"AddServerUrl",args:i}}),a.show({type:"success",title:"Using streaming server at ".concat(i),timeout:4e3}))},[o]),T.useEffect(function(){return _(),window.addEventListener("hashchange",_),function(){return window.removeEventListener("hashchange",_)}},[]),null})},22626:(e,t,a)=>{var i=a(30758),o=a(31187).useServices,n=a(60350).useToast;e.exports=function(){var e=o(),t=e.core,a=e.dragAndDrop,r=n();return i.useEffect(function(){var e=function(e){var t=e.event,a=e.args;switch(t){case"Error":if("UserPulledFromAPI"===a.source.event&&null===a.source.args.uid)break;if("LibrarySyncWithAPIPlanned"===a.source.event&&null===a.source.args.uid)break;if("Other"===a.error.type&&3===a.error.code&&"AddonInstalled"===a.source.event&&a.source.args.transport_url.startsWith("https://www.strem.io/trakt/addon"))break;r.show({type:"error",title:a.source.event,message:a.error.message,timeout:4e3,dataset:{type:"CoreEvent"}});break;case"TorrentParsed":r.show({type:"success",title:"Torrent file parsed",timeout:4e3});break;case"MagnetParsed":r.show({type:"success",title:"Magnet link parsed",timeout:4e3});break;case"PlayingOnDevice":r.show({type:"success",title:"Stream opened in ".concat(a.device),timeout:4e3})}},i=function(e){var t;r.show({type:"error",title:e.message,message:null===(t=e.file)||void 0===t?void 0:t.name,timeout:4e3})};return t.transport.on("CoreEvent",e),a.on("error",i),function(){t.transport.off("CoreEvent",e),a.off("error",i)}},[]),null}},20074:(e,t,a)=>{var i=a(79361);e.exports=i},34997:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){r(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function r(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var E=a(36441),_=a(60350).routesRegexp,T=[[n(n({},_.board),{},{component:E.Board})],[n(n({},_.intro),{},{component:E.Intro}),n(n({},_.discover),{},{component:E.Discover}),n(n({},_.library),{},{component:E.Library}),n(n({},_.calendar),{},{component:E.Calendar}),n(n({},_.continuewatching),{},{component:E.Library}),n(n({},_.search),{},{component:E.Search})],[n(n({},_.metadetails),{},{component:E.MetaDetails})],[n(n({},_.addons),{},{component:E.Addons}),n(n({},_.settings),{},{component:E.Settings})],[n(n({},_.player),{},{component:E.Player})]];e.exports=T},71602:(e,t,a)=>{function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},i.apply(null,arguments)}var o=a(30758),n=a(36441).Intro,r=a(60350).useProfile;e.exports=function(e){return function(t){var a=r(),E=o.useRef(a.auth);o.useEffect(function(){null!==E.current&&null===a.auth&&(window.location="#/intro"),E.current=a.auth},[a]);var _=o.useCallback(function(e){if(null!==a.auth&&e.component===n)return window.location.replace("#/"),!0},[a]);return o.createElement(e,i({},t,{onRouteChange:_}))}}},69839:e=>{var t={movie:10,series:9,channel:8,tv:7,music:6,radio:5,podcast:4,game:3,book:2,adult:1,other:-1/0},a=new Map([["movie","movies"],["series","series"],["channel","channels"],["tv","tv"],["book","ic_book"],["game","ic_games"],["music","ic_music"],["adult","ic_adult"],["radio","ic_radio"],["podcast","ic_podcast"],["other","movies"]]);e.exports={CHROMECAST_RECEIVER_APP_ID:"1634F54B",DEFAULT_STREAMING_SERVER_URL:"http://127.0.0.1:11470/",SUBTITLES_SIZES:[75,100,125,150,175,200,250],SUBTITLES_FONTS:["PlusJakartaSans","Arial","Halvetica","Times New Roman","Verdana","Courier","Lucida Console","sans-serif","serif","monospace"],SEEK_TIME_DURATIONS:[3e3,5e3,1e4,15e3,2e4,3e4],NEXT_VIDEO_POPUP_DURATIONS:[0,5e3,1e4,15e3,2e4,25e3,3e4,35e3,4e4,45e3,5e4,55e3,6e4,65e3,7e4,75e3,8e4,85e3,9e4],CATALOG_PREVIEW_SIZE:10,CATALOG_PAGE_SIZE:100,NONE_EXTRA_VALUE:"None",SKIP_EXTRA_NAME:"skip",META_LINK_CATEGORY:"meta",IMDB_LINK_CATEGORY:"imdb",SHARE_LINK_CATEGORY:"share",WRITERS_LINK_CATEGORY:"Writers",TYPE_PRIORITIES:t,ICON_FOR_TYPE:a,MIME_SIGNATURES:{"application/x-subrip":["310D0A","310A"],"text/vtt":["574542565454"]},SUPPORTED_LOCAL_SUBTITLES:["application/x-subrip","text/vtt"],EXTERNAL_PLAYERS:[{label:"EXTERNAL_PLAYER_DISABLED",value:null,platforms:["ios","visionos","android","windows","linux","macos"]},{label:"EXTERNAL_PLAYER_ALLOW_CHOOSING",value:"choose",platforms:["android"]},{label:"VLC",value:"vlc",platforms:["ios","visionos","android"]},{label:"MPV",value:"mpv",platforms:["macos"]},{label:"IINA",value:"iina",platforms:["macos"]},{label:"MX Player",value:"mxplayer",platforms:["android"]},{label:"Just Player",value:"justplayer",platforms:["android"]},{label:"Outplayer",value:"outplayer",platforms:["ios","visionos"]},{label:"Moonplayer (VisionOS)",value:"moonplayer",platforms:["visionos"]},{label:"M3U Playlist",value:"m3u",platforms:["ios","visionos","android","windows","linux","macos"]}],WHITELISTED_HOSTS:["stremio.com","strem.io","stremio.zendesk.com","google.com","youtube.com","twitch.tv","twitter.com","x.com","netflix.com","adex.network","amazon.com","forms.gle"],PROTOCOL:"stremio:"}},18932:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(31187).useServices,E=n.createContext(null);function _(e){var t,a="pending",i=e.then(function(e){a="success",t=e},function(e){a="error",t=e});return{read:function(){if("pending"===a)throw i;if("error"===a)throw t;if("success"===a)return t}}}E.displayName="CoreSuspenderContext";var T=function(){return n.useContext(E)};e.exports={withCoreSuspender:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){};return function(a){var o=r().core,s=T(),S=i(n.useState(null===s),2),l=S[0],I=S[1],A=n.useRef({}),u=n.useRef({}),d=n.useCallback(function(e){return A.current[e]||(A.current[e]=_(o.transport.getState(e))),A.current[e].read()},[]),O=n.useCallback(function(e){return u.current[e]||(u.current[e]=_(o.transport.decodeStream(e))),u.current[e].read()},[]),c=n.useMemo(function(){return{getState:d,decodeStream:O}},[]);return n.useLayoutEffect(function(){l||I(!0)},[]),l?n.createElement(n.Suspense,{fallback:n.createElement(t,a)},n.createElement(E.Provider,{value:c},n.createElement(e,a))):null}},useCoreSuspender:T}},64806:(e,t,a)=>{var i=a(30758).createContext({show:function(){},clear:function(){}});i.displayName="ToastContext",e.exports=i},94137:(e,t,a)=>{var i=["title","message","dataset","onSelect","onClose"];var o=a(30758),n=a(50266).useTranslation,r=a(2736),E=a(97500),_=a(10954).default,T=a(38177).Button,s=a(68738),S=function(e){var t=e.title,a=e.message,r=e.dataset,S=e.onSelect,l=e.onClose,I=(function(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o})(e,i),A=n().t,u=o.useMemo(function(){return["success","alert","info","error"].includes(I.type)?I.type:"success"},[I.type]),d=o.useMemo(function(){return"string"==typeof I.icon?I.icon:"success"===u?"checkmark":"error"===u?"close":"info"===u?"about":null},[u,I.icon]),O=o.useCallback(function(e){e.nativeEvent.selectToastPrevented||"function"!=typeof S||S({type:"select",dataset:r,reactEvent:e,nativeEvent:e.nativeEvent}),e.nativeEvent.closeToastPrevented||"function"!=typeof l||l({type:"close",dataset:r,reactEvent:e,nativeEvent:e.nativeEvent})},[r,S,l]),c=o.useCallback(function(e){e.nativeEvent.selectToastPrevented=!0,"function"==typeof l&&l({type:"close",dataset:r,reactEvent:e,nativeEvent:e.nativeEvent})},[r,l]);return o.createElement(T,{className:E(s["toast-item-container"],s[u]),tabIndex:-1,onClick:O},"string"==typeof d&&d.length>0?o.createElement("div",{className:s["icon-container"]},o.createElement(_,{className:s.icon,name:d})):null,o.createElement("div",{className:s["info-container"]},"string"==typeof t&&t.length>0?o.createElement("div",{className:s["title-container"]},t):null,"string"==typeof a&&a.length>0?o.createElement("div",{className:s["message-container"]},a):null),o.createElement(T,{className:s["close-button-container"],title:A("BUTTON_CLOSE"),tabIndex:-1,onClick:c},o.createElement(_,{className:s.icon,name:"close"})))};S.propTypes={type:r.oneOf(["success","alert","info","error"]),title:r.string,message:r.string,icon:r.string,dataset:r.object,onSelect:r.func,onClose:r.func},e.exports=S},40897:(e,t,a)=>{var i=a(94137);e.exports=i},71732:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},o.apply(null,arguments)}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){E(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function E(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function _(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return T(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?T(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var s=a(30758),S=a(2736),l=a(40897),I=a(64806),A=function(e){var t=e.className,a=e.children,i=_(s.useState(null),2),n=i[0],E=i[1],T=s.useReducer(function(e,t){switch(t.type){case"add":return e.concat(t.item);case"remove":return e.filter(function(e){return e.id!==t.id});case"clear":return[];default:return e}},[]),S=_(T,2),A=S[0],u=S[1],d=s.useCallback(function(e){clearTimeout(e.dataset.id),u({type:"remove",id:e.dataset.id})},[]),O=s.useMemo(function(){var e=[];return{addFilter:function(t){e.push(t)},removeFilter:function(t){var a=e.indexOf(t);a>-1&&e.splice(a,1)},show:function(t){if(!e.some(function(e){return e(t)})){var a="number"!=typeof t.timeout||isNaN(t.timeout)?3e3:t.timeout,i=setTimeout(function(){u({type:"remove",id:i})},a);u({type:"add",item:r(r({},t),{},{id:i,dataset:r(r({},t.dataset),{},{id:i}),onClose:d})})}},clear:function(){u({type:"clear"})}}},[]);return s.createElement(I.Provider,{value:O},n instanceof HTMLElement?a:null,s.createElement("div",{ref:E,className:t},A.map(function(e,t){return s.createElement(l,o({key:t},e))})))};A.propTypes={className:S.string,children:S.node},e.exports=A},43394:(e,t,a)=>{var i=a(71732),o=a(13070);e.exports={ToastProvider:i,useToast:o}},13070:(e,t,a)=>{var i=a(30758),o=a(64806);e.exports=function(){return i.useContext(o)}},37484:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(94357),r=a(96906),E=function(e){var t=e.label,a=e.position,o=e.margin,E=void 0===o?15:o,_=n(),T=i.useRef((Math.random()+1).toString(36).substring(7)),s=i.useRef(null),S=function(){_.update(T.current,{active:!0})},l=function(){_.update(T.current,{active:!1})};return i.useEffect(function(){_.update(T.current,{label:t})},[t]),i.useLayoutEffect(function(){if(s.current&&s.current.parentElement){var e=s.current.parentElement;_.add({id:T.current,label:t,position:a,margin:E,parent:e}),e.addEventListener("mouseenter",S),e.addEventListener("mouseleave",l)}return function(){if(s.current&&s.current.parentElement){var e=s.current.parentElement;e.removeEventListener("mouseenter",S),e.removeEventListener("mouseleave",l),_.remove(T.current)}}},[]),i.createElement("div",{ref:s,className:r["tooltip-placeholder"]})};E.propTypes={label:o.string.isRequired,position:o.string.isRequired,margin:o.number},e.exports=E},44751:(e,t,a)=>{var i=a(37484);e.exports=i},97997:(e,t,a)=>{var i=(0,a(30758).createContext)(null);e.exports=i},84904:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(2736),E=a(97500),_=a(25495),T=n.memo(function(e){var t=e.className,a=e.active,o=e.label,r=e.position,T=e.margin,s=e.parent,S=n.useRef(null),l=i(n.useState(null),2),I=l[0],A=l[1];return n.useEffect(function(){if(!S.current||!a)return A(null);var e=S.current.getBoundingClientRect(),t=s.getBoundingClientRect();switch(r){case"top":return A({top:"".concat(t.top-e.height-T,"px"),left:"".concat(t.left+t.width/2-e.width/2,"px")});case"bottom":return A({top:"".concat(t.top+t.height+T,"px"),left:"".concat(t.left+t.width/2-e.width/2,"px")});case"left":return A({top:"".concat(t.top+t.height/2-e.height/2,"px"),left:"".concat(t.left-e.width-T,"px")});case"right":return A({top:"".concat(t.top+t.height/2-e.height/2,"px"),left:"".concat(t.left+t.width+T,"px")})}},[a,r,T,s,o]),n.createElement("div",{ref:S,className:E(t,_["tooltip-item"],{active:a}),style:I},o)});T.displayName="TooltipItem",T.propTypes={className:r.string,active:r.bool,label:r.string,position:r.string,margin:r.number,parent:r.instanceOf(HTMLElement)},e.exports=T},72076:(e,t,a)=>{var i=a(84904);e.exports=i},26677:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var o=["id"];function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},n.apply(null,arguments)}function r(e){return(function(e){if(Array.isArray(e))return l(e)})(e)||(function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||S(e)||(function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function _(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?E(Object(a),!0).forEach(function(t){T(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):E(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function T(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||S(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function S(e,t){if(e){if("string"==typeof e)return l(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var I=a(30758),A=a(2736),u=a(97997),d=a(72076),O=function(e){var t=e.children,a=e.className,i=s(I.useState([]),2),E=i[0],T=i[1];return I.createElement(u.Provider,{value:{add:function(e){var t=_(_({},e),{},{active:!1});T(function(e){return[].concat(r(e),[t])})},remove:function(e){T(function(t){return t.filter(function(t){return t.id!==e})})},update:function(e,t){T(function(a){return a.map(function(a){return a.id===e&&(a=_(_({},a),t)),a})})}}},t,I.createElement("div",{className:"tooltips-items-container"},E.map(function(e){var t=e.id,i=(function(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o})(e,o);return I.createElement(d,n({key:t,className:a},i))})))};O.propTypes={children:A.node,className:A.string},e.exports=O},9291:(e,t,a)=>{var i=a(26677),o=a(44751);e.exports={TooltipProvider:i,Tooltip:o}},94357:(e,t,a)=>{var i=a(30758),o=a(97997);e.exports=function(){return i.useContext(o)}},96492:e=>{e.exports=function(e){return function(t,a){return isNaN(e[t])&&isNaN(e[a])?t.localeCompare(a):isNaN(e[t])?e[a]===Number.NEGATIVE_INFINITY?-1:1:isNaN(e[a])?e[t]===Number.NEGATIVE_INFINITY?1:-1:e[a]-e[t]}}},40292:e=>{e.exports=function(e){return Array.from(e.children).reduce(function(t,a,i){return(function(e,t){var a=t.offsetTop,i=t.offsetTop+t.clientHeight,o=e.scrollTop,n=e.scrollTop+e.clientHeight;return a>=o&&i<=n||a<o&&o<i||a<n&&n<i})(e,a)&&(null===t?t={start:i,end:i}:t.end=i),t},null)}},60350:(e,t,a)=>{var i=a(32750),o=i.FileDropProvider,n=i.onFileDrop,r=a(6502),E=r.PlatformProvider,_=r.usePlatform,T=a(43394),s=T.ToastProvider,S=T.useToast,l=a(9291),I=l.TooltipProvider,A=l.Tooltip,u=a(96492),d=a(69839),O=a(18932),c=O.withCoreSuspender,N=O.useCoreSuspender,R=a(40292),m=a(96859),L=a(293),D=a(35483),p=a(57271),C=a(19002),h=a(8167),f=a(47726).default,P=a(85678).default,B=a(82578),g=a(83067),v=a(18237),M=a(34483),W=a(52600),y=a(35214).default,U=a(51333).default,b=a(75670),G=a(32572).default,k=a(87703),F=a(20107),V=a(76821).default,H=a(96973).default;e.exports={FileDropProvider:o,onFileDrop:n,PlatformProvider:E,usePlatform:_,ToastProvider:s,useToast:S,TooltipProvider:I,Tooltip:A,comparatorWithPriorities:u,CONSTANTS:d,withCoreSuspender:c,useCoreSuspender:N,getVisibleChildrenRange:R,interfaceLanguages:m,languageNames:L,languages:D,routesRegexp:p,useAnimationFrame:C,useBinaryState:h,useFullscreen:f,useInterval:P,useLiveRef:B,useModelState:g,useNotifications:v,useOnScrollToBottom:M,useProfile:W,useSettings:y,useShell:U,useStreamingServer:b,useTimeout:G,useTorrent:k,useTranslate:F,useOrientation:V,useLanguageSorting:H}},57271:e=>{e.exports={intro:{regexp:/^\/intro$/,urlParamsNames:[]},board:{regexp:/^\/?(?:board)?$/,urlParamsNames:[]},discover:{regexp:/^\/discover(?:\/([^/]*)\/([^/]*)\/([^/]*))?$/,urlParamsNames:["transportUrl","type","catalogId"]},library:{regexp:/^\/library(?:\/([^/]*))?$/,urlParamsNames:["type"]},calendar:{regexp:/^\/calendar(?:\/([^/]*)\/([^/]*))?$/,urlParamsNames:["year","month"]},continuewatching:{regexp:/^\/continuewatching(?:\/([^/]*))?$/,urlParamsNames:["type"]},search:{regexp:/^\/search$/,urlParamsNames:[]},metadetails:{regexp:/^\/(?:metadetails|detail)\/([^/]*)\/([^/]*)(?:\/([^/]*))?$/,urlParamsNames:["type","id","videoId"]},addons:{regexp:/^\/addons(?:\/([^/]*)(?:\/([^/]*)\/([^/]*))?)?$/,urlParamsNames:["type","transportUrl","catalogId"]},settings:{regexp:/^\/settings$/,urlParamsNames:[]},player:{regexp:/^\/player\/([^/]*)(?:\/([^/]*)\/([^/]*)\/([^/]*)\/([^/]*)\/([^/]*))?$/,urlParamsNames:["stream","streamTransportUrl","metaTransportUrl","type","id","videoId"]}}},19002:(e,t,a)=>{var i=a(30758);e.exports=function(){var e=i.useRef(null),t=i.useCallback(function(){cancelAnimationFrame(e.current),e.current=null},[]);return[i.useCallback(function(a){t(),e.current=requestAnimationFrame(function(){a(),e.current=null})},[]),t]}},8167:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758);e.exports=function(e){var t=i(n.useState(!!e),2),a=t[0],o=t[1],r=n.useCallback(function(){o(!0)},[]),E=n.useCallback(function(){o(!1)},[]),_=n.useCallback(function(){o(!a)},[a]);return[a,r,E,_]}},82578:(e,t,a)=>{var i=a(30758);e.exports=function(e){var t=i.useRef();return t.current=e,t}},83067:(e,t,a)=>{var i=["action"];function o(){var e,t,a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",r=a.toStringTag||"@@toStringTag";function E(a,i,o,r){var E=i&&i.prototype instanceof T?i:T,s=Object.create(E.prototype);return n(s,"_invoke",(function(a,i,o){var n,r,E,T=0,s=o||[],S=!1,l={p:0,n:0,v:e,a:I,f:I.bind(e,4),d:function(t,a){return n=t,r=0,E=e,l.n=a,_}};function I(a,i){for(r=a,E=i,t=0;!S&&T&&!o&&t<s.length;t++){var o,n=s[t],I=l.p,A=n[2];a>3?(o=A===i)&&(E=n[(r=n[4])?5:(r=3,3)],n[4]=n[5]=e):n[0]<=I&&((o=a<2&&I<n[1])?(r=0,l.v=i,l.n=n[1]):I<A&&(o=a<3||n[0]>i||i>A)&&(n[4]=a,n[5]=i,l.n=A,r=0))}if(o||a>1)return _;throw S=!0,i}return function(o,s,A){if(T>1)throw TypeError("Generator is already running");for(S&&1===s&&I(s,A),r=s,E=A;(t=r<2?e:E)||!S;){n||(r?r<3?(r>1&&(l.n=-1),I(r,E)):l.n=E:l.v=E);try{if(T=2,n){if(r||(o="next"),t=n[o]){if(!(t=t.call(n,E)))throw TypeError("iterator result is not an object");if(!t.done)return t;E=t.value,r<2&&(r=0)}else 1===r&&(t=n.return)&&t.call(n),r<2&&(E=TypeError("The iterator does not provide a '"+o+"' method"),r=1);n=e}else if((t=(S=l.n<0)?E:a.call(i,l))!==_)break}catch(t){n=e,r=1,E=t}finally{T=1}}return{value:t,done:S}}})(a,o,r),!0),s}var _={};function T(){}function s(){}function S(){}t=Object.getPrototypeOf;var l=[][i]?t(t([][i]())):(n(t={},i,function(){return this}),t),I=S.prototype=T.prototype=Object.create(l);function A(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,S):(e.__proto__=S,n(e,r,"GeneratorFunction")),e.prototype=Object.create(I),e}return s.prototype=S,n(I,"constructor",S),n(S,"constructor",s),s.displayName="GeneratorFunction",n(S,r,"GeneratorFunction"),n(I),n(I,r,"Generator"),n(I,i,function(){return this}),n(I,"toString",function(){return"[object Generator]"}),(o=function(){return{w:E,m:A}})()}function n(e,t,a,i){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}n=function(e,t,a,i){function r(t,a){n(e,t,function(e){return this._invoke(t,a,e)})}t?o?o(e,t,{value:a,enumerable:!i,configurable:!i,writable:!i}):e[t]=a:(r("next",0),r("throw",1),r("return",2))},n(e,t,a,i)}function r(e,t,a,i,o,n,r){try{var E=e[n](r),_=E.value}catch(e){return void a(e)}E.done?t(_):Promise.resolve(_).then(i,o)}function E(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return _(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var T=a(30758),s=a(19551),S=a(82178),l=a(87597),I=a(18932).useCoreSuspender,A=a(75394).useRouteFocused,u=a(31187).useServices;e.exports=function(e){var t=e.action,a=(function(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o})(e,i),n=u().core,_=A(),d=T.useRef(!1),O=E(T.useMemo(function(){return[a.model,a.timeout,a.map,a.deps]},[]),4),c=O[0],N=O[1],R=O[2],m=O[3],L=I().getState,D=E(T.useReducer(function(e,t){return Object.keys(e).reduce(function(a,i){return a[i]=S(e[i],t[i])?e[i]:t[i],a},{})},void 0,function(){return"function"==typeof R?R(L(c)):L(c)}),2),p=D[0],C=D[1];return T.useInsertionEffect(function(){t&&n.transport.dispatch(t,c)},[t]),T.useInsertionEffect(function(){return function(){n.transport.dispatch({action:"Unload"},c)}},[]),T.useInsertionEffect(function(){var e=(function(){var e,t=(e=o().m(function e(t){var a;return o().w(function(e){for(;;)switch(e.n){case 0:if(-1!==t.indexOf(c)||Array.isArray(m)&&0!==l(m,t).length){e.n=1;break}return e.a(2);case 1:return e.n=2,n.transport.getState(c);case 2:a=e.v,C("function"==typeof R?R(a):a);case 3:return e.a(2)}},e)}),function(){var t=this,a=arguments;return new Promise(function(i,o){var n=e.apply(t,a);function E(e){r(n,i,o,E,_,"next",e)}function _(e){r(n,i,o,E,_,"throw",e)}E(void 0)})});return function(e){return t.apply(this,arguments)}})(),t=s(e,N);return _&&(n.transport.on("NewState",t),d.current&&e([c])),function(){t.cancel(),n.transport.off("NewState",t)}},[_]),T.useInsertionEffect(function(){d.current=!0},[]),p}},18237:(e,t,a)=>{var i=a(83067),o=function(e){return e.notifications};e.exports=function(){return i({model:"ctx",map:o})}},34483:(e,t,a)=>{var i=a(30758);e.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=i.useRef(!1);return i.useCallback(function(i){i.target.scrollTop+i.target.clientHeight>=i.target.scrollHeight-t?a.current||(a.current=!0,"function"==typeof e&&e(i)):a.current=!1},[e])}},88413:(e,t,a)=>{var i=a(30758);e.exports=function(){return i.useMemo(function(){return[window.navigator.standalone,window.matchMedia("(display-mode: standalone)").matches]},[])}},52600:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){r(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function r(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var E=a(83067),_=function(e){return n(n({},e.profile),{},{settings:n(n({},e.profile.settings),{},{streamingServerWarningDismissed:new Date("string"==typeof e.profile.settings.streamingServerWarningDismissed?e.profile.settings.streamingServerWarningDismissed:NaN)})})};e.exports=function(){return E({model:"ctx",map:_})}},75670:(e,t,a)=>{var i=a(83067);e.exports=function(){return i({model:"streaming_server"})}},87703:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(53909),E=a(31187).useServices,_=a(13070),T=a(75670);e.exports=function(){var e=E().core,t=T(),a=_(),o=n.useRef(null),s=n.useCallback(function(t){var i=r.decode(t);i&&"string"==typeof i.infoHash&&(e.transport.dispatch({action:"StreamingServer",args:{action:"CreateTorrent",args:t}}),clearTimeout(o.current),o.current=setTimeout(function(){a.show({type:"error",title:"It's taking a long time to get metadata from the torrent.",timeout:1e4})},1e4))},[]);return n.useEffect(function(){null!==t.torrent&&("Ready"===i(t.torrent,2)[1].type&&clearTimeout(o.current))},[t.torrent]),n.useEffect(function(){return function(){return clearTimeout(o.current)}},[]),{createTorrentFromMagnet:s}}},20107:(e,t,a)=>{var i=a(30758).useCallback,o=a(50266).useTranslation;e.exports=function(){var e=o().t,t=i(function(t){return e(t)},[e]),a=i(function(t,a){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o="".concat(a).concat(t),n=null!=i?i:t.charAt(0).toUpperCase()+t.slice(1);return e(o,{defaultValue:n})},[e]),n=i(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.addon,i=e.id,o=e.name,n=e.type,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(t&&i&&o){var E="".concat(t.manifest.id.split(".").join("_"),"_").concat(i),_=a(E,"CATALOG_",o);if(n&&r){var T=a(n,"TYPE_");return"".concat(_," - ").concat(T)}return _}return null},[a]);return{string:t,stringWithPrefix:a,catalogTitle:n}}},54980:(e,t,a)=>{var i=a(30758),o=a(50266).useTranslation,n=a(2736),r=a(97500),E=a(10954).default,_=a(49143).default,T=a(33325),s=function(e){var t=e.className,a=e.id,n=e.name,s=e.version,S=e.logo,l=e.description,I=e.types,A=e.transportUrl,u=e.official,d=o().t,O=i.useCallback(function(){return i.createElement(E,{className:T.icon,name:"addons"})},[]);return i.createElement("div",{className:r(t,T["addon-details-container"])},i.createElement("div",{className:T["title-container"]},i.createElement(_,{className:T.logo,src:S,alt:" ",renderFallback:O}),i.createElement("div",{className:T["name-container"]},i.createElement("span",{className:T.name},"string"==typeof n&&n.length>0?n:a),"string"==typeof s&&s.length>0?i.createElement("span",{className:T.version},d("ADDON_VERSION_SHORT",{version:s})):null)),"string"==typeof l&&l.length>0?i.createElement("div",{className:T["section-container"]},i.createElement("span",{className:T["section-label"]},l)):null,"string"==typeof A&&A.length>0?i.createElement("div",{className:T["section-container"]},i.createElement("span",{className:T["section-header"]},"".concat(d("URL"),":")),i.createElement("span",{className:r(T["section-label"],T["transport-url-label"])},A)):null,Array.isArray(I)&&I.length>0?i.createElement("div",{className:T["section-container"]},i.createElement("span",{className:T["section-header"]},"".concat(d("ADDON_SUPPORTED_TYPES"),":")," "),i.createElement("span",{className:T["section-label"]},1===I.length?I[0]:I.slice(0,-1).join(", ")+" & "+I[I.length-1])):null,u?null:i.createElement("div",{className:T["section-container"]},i.createElement("div",{className:r(T["section-label"],T["disclaimer-label"])},d("ADDON_DISCLAIMER"))))};s.propTypes={className:n.string,id:n.string,name:n.string,version:n.string,logo:n.string,description:n.string,types:n.arrayOf(n.string),transportUrl:n.string,official:n.bool},e.exports=s},39762:(e,t,a)=>{var i=a(54980);e.exports=i},29220:(e,t,a)=>{var i=["remoteAddon","localAddon"];function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},o.apply(null,arguments)}var n=a(30758),r=a(50266).useTranslation,E=a(2736),_=a(73725),T=a(18932).withCoreSuspender,s=a(6502).usePlatform,S=a(31187).useServices,l=(function(e){var t=function(t){var a=t.remoteAddon,r=t.localAddon,E=(function(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o})(t,i),_=null!==a&&"Ready"===a.content.type?a.content.content:null!==r?r:null;return null===_?null:n.createElement(e,o({},E,{id:_.manifest.id,name:_.manifest.name,version:_.manifest.version,background:_.manifest.background,logo:_.manifest.logo,description:_.manifest.description,types:_.manifest.types,transportUrl:_.transportUrl,official:_.flags.official}))};return t.displayName="withRemoteAndLocalAddon",t})(a(39762)),I=a(36722),A=a(82910);var u=function(e){var t=e.transportUrl,a=e.onCloseRequest,i=r().t,o=S().core,E=s(),T=I(t),u=n.useMemo(function(){var e={className:A["cancel-button"],label:i("BUTTON_CANCEL"),props:{onClick:function(e){"function"==typeof a&&a({type:"cancel",reactEvent:e,nativeEvent:e.nativeEvent})}}},n=null!==T.remoteAddon&&"Ready"===T.remoteAddon.content.type&&T.remoteAddon.content.content.manifest.behaviorHints.configurable?{className:A["configure-button"],label:i("ADDON_CONFIGURE"),props:{onClick:function(e){E.openExternal(t.replace("manifest.json","configure")),"function"==typeof a&&a({type:"configure",reactEvent:e,nativeEvent:e.nativeEvent})}}}:null,r=null!==T.localAddon?{className:A["uninstall-button"],label:i("ADDON_UNINSTALL"),props:{onClick:function(e){o.transport.dispatch({action:"Ctx",args:{action:"UninstallAddon",args:T.localAddon}}),"function"==typeof a&&a({type:"uninstall",reactEvent:e,nativeEvent:e.nativeEvent})}}}:null===T.remoteAddon||"Ready"!==T.remoteAddon.content.type||T.remoteAddon.content.content.manifest.behaviorHints.configurationRequired?null:{className:A["install-button"],label:i("ADDON_INSTALL"),props:{onClick:function(e){o.transport.dispatch({action:"Ctx",args:{action:"InstallAddon",args:T.remoteAddon.content.content}}),"function"==typeof a&&a({type:"install",reactEvent:e,nativeEvent:e.nativeEvent})}}};return n&&r?[e,n,r]:n?[e,n]:r?[e,r]:[e]},[T,a]),d=n.useMemo(function(){var e;return"Ready"===(null===(e=T.remoteAddon)||void 0===e?void 0:e.content.type)?T.remoteAddon.content.content.manifest.background:null},[T.remoteAddon]);return n.createElement(_,{className:A["addon-details-modal-container"],title:i("STREMIO_COMMUNITY_ADDON"),buttons:u,background:d,onCloseRequest:a},null===T.selected?n.createElement("div",{className:A["addon-details-message-container"]},i("ADDON_LOADING_MANIFEST")):null===T.remoteAddon||"Loading"===T.remoteAddon.content.type?n.createElement("div",{className:A["addon-details-message-container"]},i("ADDON_LOADING_MANIFEST_FROM",{origin:T.selected.transportUrl})):"Err"===T.remoteAddon.content.type&&null===T.localAddon?n.createElement("div",{className:A["addon-details-message-container"]},i("ADDON_LOADING_MANIFEST_FAILED",{origin:T.selected.transportUrl}),n.createElement("div",null,T.remoteAddon.content.content.message)):n.createElement(l,{className:A["addon-details-container"],remoteAddon:T.remoteAddon,localAddon:T.localAddon}))};u.propTypes={transportUrl:E.string,onCloseRequest:E.func};var d=function(e){var t=e.onCloseRequest,a=r().t;return n.createElement(_,{className:A["addon-details-modal-container"],title:a("STREMIO_COMMUNITY_ADDON"),onCloseRequest:t},n.createElement("div",{className:A["addon-details-message-container"]},a("ADDON_LOADING_MANIFEST")))};d.propTypes=u.propTypes,e.exports=T(u,d)},54117:(e,t,a)=>{var i=a(29220);e.exports=i},36722:(e,t,a)=>{var i=a(30758),o=a(83067);e.exports=function(e){var t=i.useMemo(function(){return"string"==typeof e?{action:"Load",args:{model:"AddonDetails",args:{transportUrl:e}}}:{action:"Unload"}},[e]);return o({model:"addon_details",action:t})}},56442:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(38250),E=a(79846),_=function(e){return r.parseColor(e,"hexcss4")},T=function(e){var t=e.className,a=e.value,o=e.onInput,T=i.useRef(null),s=i.useRef(null);return i.useLayoutEffect(function(){T.current=r.createPicker(s.current,{color:_(a),showHSL:!1,showHEX:!1,showRGB:!1,showAlpha:!0});var e=s.current.querySelector(".a-color-picker-clipbaord");e instanceof HTMLElement&&(e.tabIndex=-1)},[]),i.useLayoutEffect(function(){return"function"==typeof o&&T.current.on("change",function(e,t){o(_(t))}),function(){T.current.off("change")}},[o]),i.useLayoutEffect(function(){var e=_(a);e!==_(T.current.color)&&(T.current.color=e)},[a]),i.createElement("div",{ref:s,className:n(t,E["color-picker-container"])})};T.propTypes={className:o.string,value:o.string,onInput:o.func},e.exports=T},7167:(e,t,a)=>{var i=a(56442);e.exports=i},4132:(e,t,a)=>{var i=["_id","notifications","deepLinks"];function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},o.apply(null,arguments)}var n=a(30758),r=a(2736),E=a(31187).useServices,_=a(84672),T=function(e){var t=e._id,a=e.notifications,r=e.deepLinks,T=(function(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o})(e,i),s=E().core,S=n.useCallback(function(){var e,t;(null!==(e=null==r?void 0:r.metaDetailsVideos)&&void 0!==e?e:null==r?void 0:r.metaDetailsStreams)&&(window.location=null!==(t=null==r?void 0:r.metaDetailsVideos)&&void 0!==t?t:null==r?void 0:r.metaDetailsStreams)},[r]),l=n.useCallback(function(e){var t,a,i,o;(e.stopPropagation(),null!==(t=null!==(a=null==r?void 0:r.player)&&void 0!==a?a:null==r?void 0:r.metaDetailsStreams)&&void 0!==t?t:null==r?void 0:r.metaDetailsVideos)&&(window.location=null!==(i=null!==(o=null==r?void 0:r.player)&&void 0!==o?o:null==r?void 0:r.metaDetailsStreams)&&void 0!==i?i:null==r?void 0:r.metaDetailsVideos)},[r]),I=n.useCallback(function(e){e.stopPropagation(),"string"==typeof t&&(s.transport.dispatch({action:"Ctx",args:{action:"RewindLibraryItem",args:t}}),s.transport.dispatch({action:"Ctx",args:{action:"DismissNotificationItem",args:t}}))},[t]);return n.createElement(_,o({},T,{_id:t,posterChangeCursor:!0,notifications:a,onClick:S,onPlayClick:l,onDismissClick:I}))};T.propTypes={_id:r.string,notifications:r.object,deepLinks:r.shape({metaDetailsVideos:r.string,metaDetailsStreams:r.string,player:r.string})},e.exports=T},7727:(e,t,a)=>{var i=a(4132);e.exports=i},59204:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(2736),E=function(e){var t=e.children,a=e.delay,o=i(n.useState(!1),2),r=o[0],E=o[1];return n.useEffect(function(){var e=setTimeout(function(){E(!0)},a);return function(){clearTimeout(e)}},[]),r?t:null};E.propTypes={children:r.node,delay:r.number},e.exports=E},52565:(e,t,a)=>{var i=a(59204);e.exports=i},56492:(e,t,a)=>{var i=a(30758),o=a(50266).useTranslation,n=a(45130).default,r=a(73725),E=a(65155),_=a(60788),T=a(10954).default;e.exports=function(){var e,t,a=o().t,s=E(),S=s.events,l=s.pullEvents,I=s.dismissEvent,A=i.useMemo(function(){var e;return"Ready"===(null==S||null===(e=S.modal)||void 0===e?void 0:e.type)?S.modal.content:null},[S]),u=i.useCallback(function(){(null==A?void 0:A.id)&&I(A.id)},[A]);return i.useEffect(function(){l()},[]),null!==A?i.createElement(r,{className:_["event-modal"],onCloseRequest:u},A.imageUrl?i.createElement("img",{className:_.image,src:A.imageUrl}):null,i.createElement("div",{className:_["info-container"]},i.createElement("div",{className:_["title-container"]},A.title?i.createElement("div",{className:_.title},A.title):null,A.message?i.createElement("div",{className:_.label},A.message):null),null!=A&&null!==(e=A.addon)&&void 0!==e&&e.name?i.createElement("div",{className:_["addon-container"]},i.createElement(T,{className:_.icon,name:"addons"}),i.createElement("div",{className:_.name},A.addon.name)):null,null!=A&&null!==(t=A.addon)&&void 0!==t&&t.manifestUrl?i.createElement(n,{className:_["action-button"],href:"#/addons?addon=".concat(encodeURIComponent(A.addon.manifestUrl)),onClick:u},i.createElement("div",{className:_["button-label"]},a("INSTALL_ADDON"))):A.externalUrl?i.createElement(n,{className:_["action-button"],href:A.externalUrl,target:"_blank"},i.createElement("div",{className:_["button-label"]},a("LEARN_MORE"))):null)):null}},46841:(e,t,a)=>{var i=a(56492);e.exports=i},65155:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function n(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var r=a(83067),E=a(31187).useServices,_=function(e){return(function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){n(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e})({},e.events)};e.exports=function(){var e=E().core;return{events:r({model:"ctx",map:_}),pullEvents:function(){e.transport.dispatch({action:"Ctx",args:{action:"GetEvents"}})},dismissEvent:function(t){e.transport.dispatch({action:"Ctx",args:{action:"DismissEvent",args:t}})}}}},75776:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var o=["_id","removable","notifications","watched"];function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},n.apply(null,arguments)}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function E(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach(function(t){_(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function _(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var T=a(30758),s=a(31187).useServices,S=a(2736),l=a(63298),I=a(68305).t,A=function(e){var t=e._id,a=e.removable,i=e.notifications,r=e.watched,_=(function(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o})(e,o),S=s().core,A=T.useMemo(function(){var e,a,o=null!==(e=null===(a=i.items)||void 0===a||null===(a=a[t])||void 0===a?void 0:a.length)&&void 0!==e?e:0;return Math.min(Math.max(o,0),99)},[t,i]),u=T.useMemo(function(){return[{label:"LIBRARY_PLAY",value:"play"},{label:"LIBRARY_DETAILS",value:"details"},{label:"LIBRARY_RESUME_DISMISS",value:"dismiss"},{label:r?"CTX_MARK_UNWATCHED":"CTX_MARK_WATCHED",value:"watched"},{label:"LIBRARY_REMOVE",value:"remove"}].filter(function(e){switch(e.value){case"play":return _.deepLinks&&"string"==typeof _.deepLinks.player;case"details":case"watched":return _.deepLinks&&("string"==typeof _.deepLinks.metaDetailsVideos||"string"==typeof _.deepLinks.metaDetailsStreams);case"dismiss":return"string"==typeof t&&null!==_.progress&&!isNaN(_.progress)&&_.progress>0;case"remove":return"string"==typeof t&&a}}).map(function(e){return E(E({},e),{},{label:I(e.label)})})},[t,a,_.progress,_.deepLinks,r]),d=T.useCallback(function(e){if("function"==typeof _.optionOnSelect&&_.optionOnSelect(e),!e.nativeEvent.optionSelectPrevented)switch(e.value){case"play":_.deepLinks&&"string"==typeof _.deepLinks.player&&(window.location=_.deepLinks.player);break;case"details":_.deepLinks&&("string"==typeof _.deepLinks.metaDetailsVideos?window.location=_.deepLinks.metaDetailsVideos:"string"==typeof _.deepLinks.metaDetailsStreams&&(window.location=_.deepLinks.metaDetailsStreams));break;case"watched":"string"==typeof t&&S.transport.dispatch({action:"Ctx",args:{action:"LibraryItemMarkAsWatched",args:{id:t,is_watched:!r}}});break;case"dismiss":"string"==typeof t&&(S.transport.dispatch({action:"Ctx",args:{action:"RewindLibraryItem",args:t}}),S.transport.dispatch({action:"Ctx",args:{action:"DismissNotificationItem",args:t}}));break;case"remove":"string"==typeof t&&S.transport.dispatch({action:"Ctx",args:{action:"RemoveFromLibrary",args:t}})}},[t,_.deepLinks,_.optionOnSelect]);return T.createElement(l,n({},_,{watched:r,newVideos:A,options:u,optionOnSelect:d}))};A.propTypes={_id:S.string,removable:S.bool,progress:S.number,notifications:S.object,watched:S.bool,deepLinks:S.shape({metaDetailsVideos:S.string,metaDetailsStreams:S.string,player:S.string}),optionOnSelect:S.func},e.exports=A},84672:(e,t,a)=>{var i=a(75776);e.exports=i},45406:(e,t,a)=>{var i=["className","type","name","poster","posterShape","posterChangeCursor","progress","newVideos","options","deepLinks","dataset","optionOnSelect","onDismissClick","onPlayClick","watched"];function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},o.apply(null,arguments)}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return r(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?r(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var E=a(30758),_=a(2736),T=a(97500),s=a(50266).useTranslation,S=a(62320).A,l=a(10954).default,I=a(45130).default,A=a(49143).default,u=a(93661),d=a(8167),O=a(69839).ICON_FOR_TYPE,c=a(81965),N=E.memo(function(e){var t=e.className,a=e.type,r=e.name,_=e.poster,N=e.posterShape,R=e.posterChangeCursor,m=e.progress,L=e.newVideos,D=e.options,p=e.deepLinks,C=e.dataset,h=e.optionOnSelect,f=e.onDismissClick,P=e.onPlayClick,B=e.watched,g=(function(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o})(e,i),v=s().t,M=n(d(!1),3),W=M[0],y=M[1],U=M[2],b=E.useMemo(function(){return p?"string"==typeof p.player?p.player:"string"==typeof p.metaDetailsStreams?p.metaDetailsStreams:"string"==typeof p.metaDetailsVideos?p.metaDetailsVideos:null:null},[p]),G=E.useCallback(function(e){e.nativeEvent.selectPrevented?e.preventDefault():"function"==typeof g.onClick&&g.onClick(e)},[g.onClick]),k=E.useCallback(function(e){e.nativeEvent.selectPrevented=!0},[]),F=E.useCallback(function(e){"function"==typeof h&&h({type:"select-option",value:e.value,dataset:C,reactEvent:e.reactEvent,nativeEvent:e.nativeEvent})},[C,h]),V=E.useCallback(function(){return E.createElement(l,{className:c["placeholder-icon"],name:O.has(a)?O.get(a):O.get("other")})},[a]),H=E.useCallback(function(){return E.createElement(l,{className:c.icon,name:"more-vertical"})},[]);return E.createElement(I,o({title:r,href:b},S(g),{className:T(t,c["meta-item-container"],c["poster-shape-poster"],c["poster-shape-".concat(N)],{active:W}),onClick:G}),E.createElement("div",{className:T(c["poster-container"],{"poster-change-cursor":R})},f?E.createElement("div",{title:v("LIBRARY_RESUME_DISMISS"),className:c["dismiss-icon-layer"],onClick:f},E.createElement(l,{className:c["dismiss-icon"],name:"close"}),E.createElement("div",{className:c["dismiss-icon-backdrop"]})):null,B?E.createElement("div",{className:c["watched-icon-layer"]},E.createElement(l,{className:c["watched-icon"],name:"checkmark"})):null,E.createElement("div",{className:c["poster-image-layer"]},E.createElement(A,{className:c["poster-image"],src:_,alt:" ",renderFallback:V})),P?E.createElement("div",{title:v("CONTINUE_WATCHING"),className:c["play-icon-layer"],onClick:P},E.createElement(l,{className:c["play-icon"],name:"play"}),E.createElement("div",{className:c["play-icon-outer"]}),E.createElement("div",{className:c["play-icon-background"]})):null,m>0?E.createElement("div",{className:c["progress-bar-layer"]},E.createElement("div",{className:c["progress-bar"],style:{width:"".concat(m,"%")}}),E.createElement("div",{className:c["progress-bar-background"]})):null,L>0?E.createElement("div",{className:c["new-videos"]},E.createElement("div",{className:c.layer}),E.createElement("div",{className:c.layer}),E.createElement("div",{className:c.layer},E.createElement(l,{className:c.icon,name:"add"}),E.createElement("div",{className:c.label},L))):null),"string"==typeof r&&r.length>0||Array.isArray(D)&&D.length>0?E.createElement("div",{className:c["title-bar-container"]},E.createElement("div",{className:c["title-label"]},"string"==typeof r&&r.length>0?r:""),Array.isArray(D)&&D.length>0?E.createElement(u,{className:c["menu-label-container"],renderLabelContent:H,options:D,onOpen:y,onClose:U,onSelect:F,tabIndex:-1,onClick:k}):null):null)});N.displayName="MetaItem",N.propTypes={className:_.string,type:_.string,name:_.string,poster:_.string,posterShape:_.oneOf(["poster","landscape","square"]),posterChangeCursor:_.bool,progress:_.number,newVideos:_.number,options:_.array,deepLinks:_.shape({metaDetailsVideos:_.string,metaDetailsStreams:_.string,player:_.string}),dataset:_.object,optionOnSelect:_.func,onDismissClick:_.func,onPlayClick:_.func,onClick:_.func,watched:_.bool},e.exports=N},63298:(e,t,a)=>{var i=a(45406);e.exports=i},33570:(e,t,a)=>{var i=["className","icon","label","tooltip"];function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},o.apply(null,arguments)}var n=a(30758),r=a(2736),E=a(97500),_=a(10954).default,T=a(38177).Button,s=a(10681),S=a(9291).Tooltip,l=function(e){var t=e.className,a=e.icon,r=e.label,l=e.tooltip,I=(function(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o})(e,i);return n.createElement(T,o({title:l?"":r},I,{className:E(t,s["action-button-container"],{wide:"string"==typeof r&&!l})}),!0===l?n.createElement(S,{label:r,position:"top"}):null,"string"==typeof a&&a.length>0?n.createElement("div",{className:s["icon-container"]},n.createElement(_,{className:s.icon,name:a})):null,!l&&"string"==typeof r&&r.length>0?n.createElement("div",{className:s["label-container"]},n.createElement("div",{className:s.label},r)):null)};l.propTypes={className:r.string,icon:r.string,label:r.string,tooltip:r.bool},e.exports=l},70478:(e,t,a)=>{var i=a(33570);e.exports=i},92092:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(50266).useTranslation,E=a(38177).Button,_=a(47047),T=function(e){var t=e.className,a=e.label,o=e.links,T=r().t;return i.createElement("div",{className:n(t,_["meta-links-container"])},"string"==typeof a&&a.length>0?i.createElement("div",{className:_["label-container"]},T("LINKS_".concat(a.toUpperCase()))):null,Array.isArray(o)&&o.length>0?i.createElement("div",{className:_["links-container"]},o.map(function(e,t){var a=e.label,o=e.href;return i.createElement(E,{key:t,className:_["link-container"],title:a,href:o},T(a))})):null)};T.propTypes={className:o.string,label:o.string,links:o.arrayOf(o.shape({label:o.string,href:o.string}))},e.exports=T},90130:(e,t,a)=>{var i=a(92092);e.exports=i},62596:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},o.apply(null,arguments)}function n(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return E(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?E(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var _=a(30758),T=a(2736),s=a(97500),S=a(32168),l=a(50266).useTranslation,I=a(10954).default,A=a(45130).default,u=a(49143).default,d=a(73725),O=a(52353),c=a(69839),N=a(57271),R=a(8167),m=a(70478),L=a(90130),D=a(1636),p=a(18700),C=a(79792).Ratings,h=[N.search.regexp,N.discover.regexp,N.metadetails.regexp],f=_.forwardRef(function(e,t){var a=e.className,i=e.compact,E=e.name,T=e.logo,N=e.background,D=e.runtime,f=e.releaseInfo,P=e.released,B=e.description,g=e.deepLinks,v=e.links,M=e.trailerStreams,W=e.inLibrary,y=e.toggleInLibrary,U=e.ratingInfo,b=l().t,G=r(R(!1),3),k=G[0],F=G[1],V=G[2],H=_.useMemo(function(){return Array.isArray(v)?v.filter(function(e){return e&&"string"==typeof e.category&&"string"==typeof e.url}).reduce(function(e,t){var a=t.category,i=t.name,o=t.url,n=S.parse(o),r=n.protocol,E=n.path,_=n.pathname,T=n.hostname;return a===c.IMDB_LINK_CATEGORY?"imdb.com"===T&&e.set(a,{label:i,href:"https://www.stremio.com/warning#".concat(encodeURIComponent(o))}):a===c.SHARE_LINK_CATEGORY?e.set(a,{label:i,href:o}):"stremio:"===r?null!==_&&h.some(function(e){return _.match(e)})&&(e.has(a)||e.set(a,[]),e.get(a).push({label:i,href:"#".concat(E)})):"string"==typeof T&&T.length>0&&(e.has(a)||e.set(a,[]),e.get(a).push({label:i,href:"https://www.stremio.com/warning#".concat(encodeURIComponent(o))})),e},new Map):new Map},[v]),w=_.useMemo(function(){return g?"string"==typeof g.player?g.player:"string"==typeof g.metaDetailsStreams?g.metaDetailsStreams:"string"==typeof g.metaDetailsVideos?g.metaDetailsVideos:null:null},[g]),Y=_.useMemo(function(){return Array.isArray(M)&&0!==M.length?M[0].deepLinks.player:null},[M]),z=_.useCallback(function(){return _.createElement("div",{className:p["logo-placeholder"]},E)},[E]);return _.createElement("div",{className:s(a,p["meta-preview-container"],n({},p.compact,i)),ref:t},"string"==typeof N&&N.length>0?_.createElement("div",{className:p["background-image-layer"]},_.createElement(u,{className:p["background-image"],src:N,alt:" "})):null,_.createElement("div",{className:p["meta-info-container"]},"string"==typeof T&&T.length>0?_.createElement(u,{className:p.logo,src:T,alt:" ",title:E,renderFallback:z}):z(),"string"==typeof f&&f.length>0||P instanceof Date&&!isNaN(P.getTime())||"string"==typeof D&&D.length>0||H.has(c.IMDB_LINK_CATEGORY)?_.createElement("div",{className:p["runtime-release-info-container"]},"string"==typeof D&&D.length>0?_.createElement("div",{className:p["runtime-label"]},D):null,"string"==typeof f&&f.length>0?_.createElement("div",{className:p["release-info-label"]},f):P instanceof Date&&!isNaN(P.getTime())?_.createElement("div",{className:p["release-info-label"]},P.getFullYear()):null,H.has(c.IMDB_LINK_CATEGORY)?_.createElement(A,o({className:p["imdb-button-container"],title:H.get(c.IMDB_LINK_CATEGORY).label,href:H.get(c.IMDB_LINK_CATEGORY).href,target:"_blank"},i?{tabIndex:-1}:null),_.createElement("div",{className:p.label},H.get(c.IMDB_LINK_CATEGORY).label),_.createElement(I,{className:p.icon,name:"imdb"})):null):null,i&&"string"==typeof B&&B.length>0?_.createElement("div",{className:p["description-container"]},B):null,Array.from(H.keys()).filter(function(e){return e!==c.IMDB_LINK_CATEGORY&&e!==c.SHARE_LINK_CATEGORY&&e!==c.WRITERS_LINK_CATEGORY}).map(function(e,t){return _.createElement(L,{key:t,className:p["meta-links"],label:e,links:H.get(e)})}),!i&&"string"==typeof B&&B.length>0?_.createElement("div",{className:p["description-container"]},_.createElement("div",{className:p["label-container"]},b("SUMMARY")),B):null),_.createElement("div",{className:p["action-buttons-container"]},"function"==typeof y?_.createElement(m,{className:p["action-button"],icon:W?"remove-from-library":"add-to-library",label:b(W?"REMOVE_FROM_LIB":"ADD_TO_LIB"),tooltip:i,tabIndex:i?-1:0,onClick:y}):null,"string"==typeof Y?_.createElement(m,{className:p["action-button"],icon:"trailer",label:b("TRAILER"),tabIndex:i?-1:0,href:Y,tooltip:i}):null,"string"==typeof w&&i?_.createElement(m,{className:s(p["action-button"],p["show-button"]),icon:"play",label:b("SHOW"),tabIndex:i?-1:0,href:w}):null,i||null===U?null:_.createElement(C,{ratingInfo:U,className:p.ratings}),H.has(c.SHARE_LINK_CATEGORY)&&!i?_.createElement(_.Fragment,null,_.createElement(m,{className:p["action-button"],icon:"share",label:b("CTX_SHARE"),tooltip:!0,tabIndex:i?-1:0,onClick:F}),k?_.createElement(d,{title:b("CTX_SHARE"),onCloseRequest:V},_.createElement(O,{className:p["share-prompt"],url:H.get(c.SHARE_LINK_CATEGORY).href})):null):null))});f.Placeholder=D,f.propTypes={className:T.string,compact:T.bool,name:T.string,logo:T.string,background:T.string,runtime:T.string,releaseInfo:T.string,released:T.instanceOf(Date),description:T.string,deepLinks:T.shape({metaDetailsVideos:T.string,metaDetailsStreams:T.string,player:T.string}),links:T.arrayOf(T.shape({category:T.string,name:T.string,url:T.string})),trailerStreams:T.array,inLibrary:T.bool,toggleInLibrary:T.func,ratingInfo:T.object},e.exports=f},38614:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(75327),E=function(e){var t=e.className;return i.createElement("div",{className:n(t,r["meta-preview-placeholder-container"])},i.createElement("div",{className:r["meta-info-container"]},i.createElement("div",{className:r["logo-container"]}),i.createElement("div",{className:r["duration-release-info-container"]},i.createElement("div",{className:r["duration-container"]}),i.createElement("div",{className:r["release-info-container"]})),i.createElement("div",{className:r["genres-container"]},i.createElement("div",{className:r["genres-header-container"]}),i.createElement("div",{className:r["genre-label-container"]})),i.createElement("div",{className:r["genres-container"]},i.createElement("div",{className:r["genres-header-container"]}),i.createElement("div",{className:r["genre-label-container"]})),i.createElement("div",{className:r["genres-container"]},i.createElement("div",{className:r["genres-header-container"]}),i.createElement("div",{className:r["genre-label-container"]}))),i.createElement("div",{className:r["action-buttons-container"]}))};E.propTypes={className:o.string},e.exports=E},1636:(e,t,a)=>{var i=a(38614);e.exports=i},19571:(e,t,a)=>{var i=a(62596);e.exports=i},41516:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){r(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function r(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var E=a(30758),_=a(84276),T=a(2736),s=a(97500),S=a(10954).default,l=a(38177).Button,I=a(69839),A=a(20107),u=a(35900),d=a(444),O=function(e){var t=e.className,a=e.title,i=e.catalog,o=e.message,r=e.itemComponent,T=e.notifications,u=A(),O=E.useMemo(function(){return null!=a?a:u.catalogTitle(i)},[a,i,u.catalogTitle]),c=E.useMemo(function(){var e,t;return null!==(e=null==i?void 0:i.items)&&void 0!==e?e:null==i||null===(t=i.content)||void 0===t?void 0:t.content},[i]),N=E.useMemo(function(){var e,t,a;return null!==(e=null==i||null===(t=i.deepLinks)||void 0===t?void 0:t.discover)&&void 0!==e?e:null==i||null===(a=i.deepLinks)||void 0===a?void 0:a.library},[i]);return E.createElement("div",{className:s(t,d["meta-row-container"])},E.createElement("div",{className:d["header-container"]},"string"==typeof O&&O.length>0?E.createElement("div",{className:d["title-container"],title:O},O):null,N?E.createElement(l,{className:d["see-all-container"],title:u.string("BUTTON_SEE_ALL"),href:N,tabIndex:-1},E.createElement("div",{className:d.label},u.string("BUTTON_SEE_ALL")),E.createElement(S,{className:d.icon,name:"chevron-forward"})):null),"string"==typeof o&&o.length>0?E.createElement("div",{className:d["message-container"],title:o},o):E.createElement("div",{className:d["meta-items-container"]},_.isValidElementType(r)?c.slice(0,I.CATALOG_PREVIEW_SIZE).map(function(e,t){return E.createElement(r,n(n({},e),{},{key:t,className:s(d["meta-item"],d["poster-shape-poster"],d["poster-shape-".concat(e.posterShape)]),notifications:T}))}):null,Array(Math.max(0,I.CATALOG_PREVIEW_SIZE-c.length)).fill(null).map(function(e,t){return E.createElement("div",{key:t,className:s(d["meta-item"],d["poster-shape-poster"])})})))};O.Placeholder=u,O.propTypes={className:T.string,title:T.string,message:T.string,catalog:T.shape({id:T.string,name:T.string,type:T.string,addon:T.shape({manifest:T.shape({id:T.string,name:T.string})}),content:T.shape({content:T.oneOfType([T.string,T.arrayOf(T.shape({posterShape:T.string}))])}),items:T.arrayOf(T.shape({posterShape:T.string})),deepLinks:T.shape({discover:T.string,library:T.string})}),itemComponent:T.elementType,notifications:T.object},e.exports=O},82318:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(50266).useTranslation,E=a(10954).default,_=a(38177).Button,T=a(69839),s=a(85039),S=function(e){var t=e.className,a=e.title,o=e.deepLinks,S=r().t;return i.createElement("div",{className:n(t,s["meta-row-placeholder-container"])},i.createElement("div",{className:s["header-container"]},i.createElement("div",{className:s["title-container"],title:"string"==typeof a&&a.length>0?a:null},"string"==typeof a&&a.length>0?a:null),o&&"string"==typeof o.discover?i.createElement(_,{className:s["see-all-container"],title:S("BUTTON_SEE_ALL"),href:o.discover,tabIndex:-1},i.createElement("div",{className:s.label},S("BUTTON_SEE_ALL")),i.createElement(E,{className:s.icon,name:"chevron-forward"})):null),i.createElement("div",{className:s["meta-items-container"]},Array(T.CATALOG_PREVIEW_SIZE).fill(null).map(function(e,t){return i.createElement("div",{key:t,className:s["meta-item"]},i.createElement("div",{className:s["poster-container"]}),i.createElement("div",{className:s["title-bar-container"]},i.createElement("div",{className:s["title-label"]})))})))};S.propTypes={className:o.string,title:o.string,deepLinks:o.shape({discover:o.string})},e.exports=S},35900:(e,t,a)=>{var i=a(82318);e.exports=i},6655:(e,t,a)=>{var i=a(41516);e.exports=i},42512:(e,t,a)=>{var i=["className","title","buttons","children","dataset","onCloseRequest","background"];function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},o.apply(null,arguments)}var n=a(30758),r=a(50266).useTranslation,E=a(2736),_=a(97500),T=a(75394),s=T.useRouteFocused,S=T.useModalsContainer,l=a(45130).default,I=a(10954).default,A=a(75394).Modal,u=a(15314),d=function(e){var t=e.className,a=e.title,E=e.buttons,T=e.children,d=e.dataset,O=e.onCloseRequest,c=e.background,N=(function(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o})(e,i),R=r().t,m=s(),L=S(),D=n.useRef(null),p=n.useCallback(function(e){"function"==typeof O&&O({type:"close",dataset:d,reactEvent:e,nativeEvent:e.nativeEvent})},[d,O]),C=n.useCallback(function(e){e.nativeEvent.closeModalDialogPrevented||"function"!=typeof O||O({type:"close",dataset:d,reactEvent:e,nativeEvent:e.nativeEvent})},[d,O]),h=n.useCallback(function(e){e.nativeEvent.closeModalDialogPrevented=!0},[]);return n.useEffect(function(){var e=function(e){"Escape"===e.code&&L.childNodes[L.childElementCount-2]===D.current&&"function"==typeof O&&O({type:"close",dataset:d,nativeEvent:e})};return m&&window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}},[m,d,O]),n.createElement(A,o({ref:D},N,{className:_(t,u["modal-container"]),onMouseDown:C}),n.createElement("div",{className:u["modal-dialog-container"],onMouseDown:h},n.createElement("div",{className:u["modal-dialog-background"],style:{backgroundImage:"url('".concat(c,"')")}}),n.createElement(l,{className:u["close-button-container"],title:R("BUTTON_CLOSE"),onClick:p},n.createElement(I,{className:u.icon,name:"close"})),n.createElement("div",{className:u["modal-dialog-content"]},"string"==typeof a&&a.length>0?n.createElement("div",{className:u["title-container"],title:a},a):null,n.createElement("div",{className:u["body-container"]},T),Array.isArray(E)&&E.length>0?n.createElement("div",{className:u["buttons-container"]},E.map(function(e,t){var a=e.className,i=e.label,r=e.icon,E=e.props;return n.createElement(l,o({title:i},E,{key:t,className:_(a,u["action-button"])}),"string"==typeof r&&r.length>0?n.createElement(I,{className:u.icon,name:r}):null,"string"==typeof i&&i.length>0?n.createElement("div",{className:u.label},i):null)})):null)))};d.propTypes={className:E.string,title:E.string,background:E.string,buttons:E.arrayOf(E.shape({className:E.string,label:E.string,icon:E.string,props:E.object})),children:E.oneOfType([E.arrayOf(E.node),E.node]),dataset:E.object,onCloseRequest:E.func},e.exports=d},73725:(e,t,a)=>{var i=a(42512);e.exports=i},804:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var o=["className","mode","direction","title","disabled","dataset","options","renderLabelContent","renderLabelText","onOpen","onClose","onSelect"],n=["children","className"];function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function E(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach(function(t){_(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function _(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function T(){return T=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},T.apply(null,arguments)}function s(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return S(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?S(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}function l(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var I=a(30758),A=a(50266).useTranslation,u=a(2736),d=a(97500),O=a(10954).default,c=a(38177).Button,N=a(37582),R=a(73725),m=a(8167),L=a(18634),D=function(e){var t=e.className,a=e.mode,i=e.direction,r=e.title,_=e.disabled,S=e.dataset,u=e.options,D=e.renderLabelContent,p=e.renderLabelText,C=e.onOpen,h=e.onClose,f=e.onSelect,P=l(e,o),B=A().t,g=s(m(!1),4),v=g[0],M=g[2],W=g[3],y=I.useMemo(function(){return Array.isArray(u)?u.filter(function(e){return e&&("string"==typeof e.value||null===e.value)}):[]},[u]),U=I.useMemo(function(){return Array.isArray(P.selected)?P.selected.filter(function(e){return"string"==typeof e||null===e}):[]},[P.selected]),b=I.useCallback(function(e){"function"==typeof P.onClick&&P.onClick(e),e.nativeEvent.toggleMenuPrevented||W()},[P.onClick,W]),G=I.useCallback(function(e){e.nativeEvent.toggleMenuPrevented=!0},[]),k=I.useCallback(function(e){e.nativeEvent.buttonClickPrevented=!0},[]),F=I.useCallback(function(e){"function"==typeof f&&f({type:"select",value:e.currentTarget.dataset.value,reactEvent:e,nativeEvent:e.nativeEvent,dataset:S}),e.nativeEvent.closeMenuPrevented||M()},[S,f]),V=I.useRef(!1);I.useLayoutEffect(function(){V.current&&(v?"function"==typeof C&&C({type:"open",dataset:S}):"function"==typeof h&&h({type:"close",dataset:S})),V.current=!0},[v]);var H=I.useCallback(function(e){var t=e.children,a=e.className,i=l(e,n);return I.createElement(c,T({},i,{className:d(a,L["label-container"],{active:v}),title:r,disabled:_,onClick:b}),"function"==typeof D?D():I.createElement(I.Fragment,null,I.createElement("div",{className:L.label},"function"==typeof p?p():U.length>0?U.map(function(e){var t=y.find(function(t){return t.value===e});return t&&"string"==typeof t.label?t.label:e}).join(", "):r),I.createElement(O,{className:L.icon,name:"caret-down"})),t)},[v,r,_,y,U,b,D,p]),w=I.useCallback(function(){return I.createElement("div",{className:L["menu-container"],onKeyDown:k,onClick:G},y.length>0?y.map(function(e){var t=e.label,a=e.title,i=e.value;return I.createElement(c,{key:i,className:d(L["option-container"],{selected:U.includes(i)}),title:"string"==typeof a?a:"string"==typeof t?t:i,"data-value":i,onClick:F},I.createElement("div",{className:L.label},"string"==typeof t?t:i),I.createElement("div",{className:L.icon}))}):I.createElement("div",{className:L["no-options-container"]},I.createElement("div",{className:L.label},B("NO_OPTIONS"))))},[y,U,k,G,F]),Y=I.useMemo(function(){return function(e){return H(E(E(E({},e),P),{},{className:d(t,e.className)}))}},[P,t,H]);return"modal"===a?H(E(E({},P),{},{className:t,children:v?I.createElement(R,{className:L["modal-container"],title:r,onCloseRequest:M,onKeyDown:k,onClick:G},w()):null})):I.createElement(N,{open:v,direction:i,onCloseRequest:M,renderLabel:Y,renderMenu:w})};D.propTypes={className:u.string,mode:u.oneOf(["popup","modal"]),direction:u.any,title:u.string,options:u.arrayOf(u.shape({value:u.string,title:u.string,label:u.string})),selected:u.arrayOf(u.string),disabled:u.bool,dataset:u.object,renderLabelContent:u.func,renderLabelText:u.func,onOpen:u.func,onClose:u.func,onSelect:u.func,onClick:u.func},e.exports=D},93661:(e,t,a)=>{var i=a(804);e.exports=i},86419:(e,t,a)=>{var i=["className","route","query","title","backButton","searchBar","fullscreenButton","navMenu"];function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},o.apply(null,arguments)}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return r(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?r(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var E=a(30758),_=a(2736),T=a(97500),s=a(10954).default,S=a(38177),l=S.Button,I=S.Image,A=a(47726).default,u=a(88413),d=a(27),O=a(9440),c=a(47518),N=a(68305).t,R=E.memo(function(e){var t=e.className,r=e.route,_=e.query,S=e.title,R=e.backButton,m=e.searchBar,L=e.fullscreenButton,D=e.navMenu,p=(function(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o})(e,i),C=E.useCallback(function(){window.history.back()},[]),h=n(A(),3),f=h[0],P=h[1],B=h[2],g=n(u(),1)[0],v=E.useCallback(function(e){var t=e.ref,a=e.className,i=e.onClick,o=e.children;return E.createElement(l,{ref:t,className:T(a,c["button-container"],c["menu-button-container"]),tabIndex:-1,onClick:i},E.createElement(s,{className:c.icon,name:"person-outline"}),o)},[]);return E.createElement("nav",o({},p,{className:T(t,c["horizontal-nav-bar-container"])}),R?E.createElement(l,{className:T(c["button-container"],c["back-button-container"]),tabIndex:-1,onClick:C},E.createElement(s,{className:c.icon,name:"chevron-back"})):E.createElement("div",{className:c["logo-container"]},E.createElement(I,{className:c.logo,src:a(9387),alt:" "})),"string"==typeof S&&S.length>0?E.createElement("h2",{className:c.title},S):null,m&&"addons"!==r?E.createElement(d,{className:c["search-bar"],query:_,active:"search"===r}):null,E.createElement("div",{className:c["buttons-container"]},!g&&L?E.createElement(l,{className:c["button-container"],title:N(f?"EXIT_FULLSCREEN":"ENTER_FULLSCREEN"),tabIndex:-1,onClick:f?B:P},E.createElement(s,{className:c.icon,name:f?"minimize":"maximize"})):null,D?E.createElement(O,{renderLabel:v}):null))});R.displayName="HorizontalNavBar",R.propTypes={className:_.string,route:_.string,query:_.string,title:_.string,backButton:_.bool,searchBar:_.bool,fullscreenButton:_.bool,navMenu:_.bool},e.exports=R},39102:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(2736),E=a(97500),_=a(75394).useRouteFocused,T=a(37582),s=a(8167),S=a(15221),l=a(43661),I=function(e){var t=_(),a=i(s(!1),4),o=a[0],r=a[2],I=a[3],A=n.useCallback(function(e){e.nativeEvent.togglePopupPrevented||I()},[I]),u=n.useCallback(function(e){e.nativeEvent.togglePopupPrevented=!0},[]),d=n.useMemo(function(){return function(t){var a=t.ref,i=t.className,n=t.children;return e.renderLabel({ref:a,className:E(i,{active:o}),onClick:A,children:n})}},[o,A,e.renderLabel]),O=n.useCallback(function(){return n.createElement(S,{onClick:u})},[]);return n.useEffect(function(){t||r()},[t]),n.createElement(T,{open:o,direction:"bottom-left",onCloseRequest:r,renderLabel:d,renderMenu:O,className:l["nav-menu-popup-label"]})};I.propTypes={renderLabel:r.func},e.exports=I},15221:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(){var e,t,a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",o=a.toStringTag||"@@toStringTag";function E(a,i,o,n){var E=i&&i.prototype instanceof T?i:T,s=Object.create(E.prototype);return r(s,"_invoke",(function(a,i,o){var n,r,E,T=0,s=o||[],S=!1,l={p:0,n:0,v:e,a:I,f:I.bind(e,4),d:function(t,a){return n=t,r=0,E=e,l.n=a,_}};function I(a,i){for(r=a,E=i,t=0;!S&&T&&!o&&t<s.length;t++){var o,n=s[t],I=l.p,A=n[2];a>3?(o=A===i)&&(E=n[(r=n[4])?5:(r=3,3)],n[4]=n[5]=e):n[0]<=I&&((o=a<2&&I<n[1])?(r=0,l.v=i,l.n=n[1]):I<A&&(o=a<3||n[0]>i||i>A)&&(n[4]=a,n[5]=i,l.n=A,r=0))}if(o||a>1)return _;throw S=!0,i}return function(o,s,A){if(T>1)throw TypeError("Generator is already running");for(S&&1===s&&I(s,A),r=s,E=A;(t=r<2?e:E)||!S;){n||(r?r<3?(r>1&&(l.n=-1),I(r,E)):l.n=E:l.v=E);try{if(T=2,n){if(r||(o="next"),t=n[o]){if(!(t=t.call(n,E)))throw TypeError("iterator result is not an object");if(!t.done)return t;E=t.value,r<2&&(r=0)}else 1===r&&(t=n.return)&&t.call(n),r<2&&(E=TypeError("The iterator does not provide a '"+o+"' method"),r=1);n=e}else if((t=(S=l.n<0)?E:a.call(i,l))!==_)break}catch(t){n=e,r=1,E=t}finally{T=1}}return{value:t,done:S}}})(a,o,n),!0),s}var _={};function T(){}function s(){}function S(){}t=Object.getPrototypeOf;var l=[][i]?t(t([][i]())):(r(t={},i,function(){return this}),t),I=S.prototype=T.prototype=Object.create(l);function A(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,S):(e.__proto__=S,r(e,o,"GeneratorFunction")),e.prototype=Object.create(I),e}return s.prototype=S,r(I,"constructor",S),r(S,"constructor",s),s.displayName="GeneratorFunction",r(S,o,"GeneratorFunction"),r(I),r(I,o,"Generator"),r(I,i,function(){return this}),r(I,"toString",function(){return"[object Generator]"}),(n=function(){return{w:E,m:A}})()}function r(e,t,a,i){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}r=function(e,t,a,i){function n(t,a){r(e,t,function(e){return this._invoke(t,a,e)})}t?o?o(e,t,{value:a,enumerable:!i,configurable:!i,writable:!i}):e[t]=a:(n("next",0),n("throw",1),n("return",2))},r(e,t,a,i)}function E(e,t,a,i,o,n,r){try{var E=e[n](r),_=E.value}catch(e){return void a(e)}E.done?t(_):Promise.resolve(_).then(i,o)}function _(e){return function(){var t=this,a=arguments;return new Promise(function(i,o){var n=e.apply(t,a);function r(e){E(n,i,o,r,_,"next",e)}function _(e){E(n,i,o,r,_,"throw",e)}r(void 0)})}}function T(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return s(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?s(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var S=a(30758),l=a(2736),I=a(97500),A=a(50266).useTranslation,u=a(10954).default,d=a(31187).useServices,O=a(38177).Button,c=a(47726).default,N=a(52600),R=a(88413),m=a(87703),L=a(18932).withCoreSuspender,D=a(75670),p=a(43661),C=function(e){var t=e.onClick,i=A().t,r=d().core,E=N(),s=D(),l=m().createTorrentFromMagnet,L=T(c(),3),C=L[0],h=L[1],f=L[2],P=T(R(),2),B=P[0],g=P[1],v=S.useMemo(function(){return null!==s.settings&&"Ready"===s.settings.type||!isNaN(E.settings.streamingServerWarningDismissed.getTime())&&E.settings.streamingServerWarningDismissed.getTime()>Date.now()},[E.settings,s.settings]),M=S.useCallback(function(){r.transport.dispatch({action:"Ctx",args:{action:"Logout"}})},[]),W=S.useCallback(_(n().m(function e(){var t,a;return n().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,navigator.clipboard.readText();case 1:t=e.v,l(t),e.n=3;break;case 2:e.p=2,a=e.v,console.error(a);case 3:return e.a(2)}},e,null,[[0,2]])})),[]);return S.createElement("div",{className:I(p["nav-menu-container"],"animation-fade-in",o({},p["with-warning"],!v)),onClick:t},S.createElement("div",{className:p["user-info-container"]},S.createElement("div",{className:p["avatar-container"],style:{backgroundImage:null===E.auth?"url('".concat(a(92890),"')"):E.auth.user.avatar?"url('".concat(E.auth.user.avatar,"')"):"url('".concat(a(44636),"')")}}),S.createElement("div",{className:p["user-info-details"]},S.createElement("div",{className:p["email-container"]},S.createElement("div",{className:p["email-label"]},null===E.auth?i("ANONYMOUS_USER"):E.auth.user.email)),S.createElement(O,{className:p["logout-button-container"],title:null===E.auth?"".concat(i("LOG_IN")," / ").concat(i("SIGN_UP")):i("LOG_OUT"),href:null===E.auth?"#/intro":null,onClick:null!==E.auth?M:null},S.createElement("div",{className:p["logout-label"]},null===E.auth?"".concat(i("LOG_IN")," / ").concat(i("SIGN_UP")):i("LOG_OUT"))))),B||g?null:S.createElement("div",{className:p["nav-menu-section"]},S.createElement(O,{className:p["nav-menu-option-container"],title:i(C?"EXIT_FULLSCREEN":"ENTER_FULLSCREEN"),onClick:C?f:h},S.createElement(u,{className:p.icon,name:C?"minimize":"maximize"}),S.createElement("div",{className:p["nav-menu-option-label"]},i(C?"EXIT_FULLSCREEN":"ENTER_FULLSCREEN")))),S.createElement("div",{className:p["nav-menu-section"]},S.createElement(O,{className:p["nav-menu-option-container"],title:i("SETTINGS"),href:"#/settings"},S.createElement(u,{className:p.icon,name:"settings"}),S.createElement("div",{className:p["nav-menu-option-label"]},i("SETTINGS"))),S.createElement(O,{className:p["nav-menu-option-container"],title:i("ADDONS"),href:"#/addons"},S.createElement(u,{className:p.icon,name:"addons-outline"}),S.createElement("div",{className:p["nav-menu-option-label"]},i("ADDONS"))),S.createElement(O,{className:p["nav-menu-option-container"],title:i("PLAY_URL_MAGNET_LINK"),onClick:W},S.createElement(u,{className:p.icon,name:"magnet-link"}),S.createElement("div",{className:p["nav-menu-option-label"]},i("PLAY_URL_MAGNET_LINK"))),S.createElement(O,{className:p["nav-menu-option-container"],title:i("HELP_FEEDBACK"),href:"https://stremio.zendesk.com/",target:"_blank"},S.createElement(u,{className:p.icon,name:"help"}),S.createElement("div",{className:p["nav-menu-option-label"]},i("HELP_FEEDBACK")))),S.createElement("div",{className:p["nav-menu-section"]},S.createElement(O,{className:p["nav-menu-option-container"],title:i("TERMS_OF_SERVICE"),href:"https://www.stremio.com/tos",target:"_blank"},S.createElement("div",{className:p["nav-menu-option-label"]},i("TERMS_OF_SERVICE"))),S.createElement(O,{className:p["nav-menu-option-container"],title:i("PRIVACY_POLICY"),href:"https://www.stremio.com/privacy",target:"_blank"},S.createElement("div",{className:p["nav-menu-option-label"]},i("PRIVACY_POLICY"))),null!==E.auth?S.createElement(O,{className:p["nav-menu-option-container"],title:i("USER_PANEL"),href:"https://www.stremio.com/acc-settings",target:"_blank"},S.createElement("div",{className:p["nav-menu-option-label"]},i("USER_PANEL"))):null))};C.propTypes={onClick:l.func};e.exports=L(C,function(){return S.createElement("div",{className:p["nav-menu-container"]})})},9440:(e,t,a)=>{var i=a(39102);e.exports=i},33706:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(2736),E=a(97500),_=a(32889),T=a(50266).useTranslation,s=a(10954).default,S=a(75394).useRouteFocused,l=a(45130).default,I=a(56151).default,A=a(87703),u=a(18932).withCoreSuspender,d=a(95270),O=a(32789),c=a(78608),N=a(8167),R=n.memo(function(e){var t,a,o,r,u=e.className,R=e.query,m=e.active,L=T().t,D=S(),p=d(),C=O(),h=A().createTorrentFromMagnet,f=i(N(null===R),3),P=f[0],B=f[1],g=f[2],v=i(n.useState(R||""),2),M=v[0],W=v[1],y=n.useRef(null),U=n.useRef(null),b=n.useCallback(function(){m||(window.location="#/search")},[m]),G=n.useCallback(function(e){P&&U.current&&!U.current.contains(e.target)&&g()},[P]);n.useEffect(function(){return document.addEventListener("mousedown",G),function(){document.removeEventListener("mousedown",G)}},[G]);var k=n.useCallback(function(){var e=y.current.value;W(e),B();try{h(e)}catch(e){console.error("Failed to create torrent from magnet:",e)}},[h]),F=n.useCallback(function(e){e.preventDefault();var t="/search?search=".concat(encodeURIComponent(e.target.value));W(t),y.current&&t&&(window.location.hash=t,g())},[]),V=n.useCallback(function(){y.current.value="",W(""),window.location.hash="/search"},[]),H=n.useCallback(_(function(e){C.search(e)},250),[]);return n.useEffect(function(){H(M)},[M]),n.useEffect(function(){D&&m&&y.current.focus()},[D,m]),n.useEffect(function(){return function(){H.cancel()}},[]),n.createElement("div",{className:E(u,c["search-bar-container"],{active:m}),onClick:b,ref:U},m?n.createElement(I,{key:R,ref:y,className:c["search-input"],type:"text",placeholder:L("SEARCH_OR_PASTE_LINK"),defaultValue:R,tabIndex:-1,onChange:k,onSubmit:F,onClick:B}):n.createElement("div",{className:c["search-input"]},n.createElement("div",{className:c["placeholder-label"]},L("SEARCH_OR_PASTE_LINK"))),M.length>0?n.createElement(l,{className:c["submit-button-container"],onClick:V},n.createElement(s,{className:c.icon,name:"close"})):n.createElement(l,{className:c["submit-button-container"]},n.createElement(s,{className:c.icon,name:"search"})),P&&(null!=p&&null!==(t=p.items)&&void 0!==t&&t.length||null!=C&&null!==(a=C.items)&&void 0!==a&&a.length)?n.createElement("div",{className:c["menu-container"]},(null==p||null===(o=p.items)||void 0===o?void 0:o.length)>0?n.createElement("div",{className:c.items},n.createElement("div",{className:c.title},n.createElement("div",{className:c.label},L("STREMIO_TV_SEARCH_HISTORY_TITLE")),n.createElement("button",{className:c["search-history-clear"],onClick:p.clear},L("CLEAR_HISTORY"))),p.items.slice(0,8).map(function(e,t){var a=e.query,i=e.deepLinks;return n.createElement(l,{key:t,className:c.item,href:i.search,onClick:g},a)})):null,null!=C&&null!==(r=C.items)&&void 0!==r&&r.length?n.createElement("div",{className:c.items},n.createElement("div",{className:c.title},n.createElement("div",{className:c.label},L("SEARCH_SUGGESTIONS"))),C.items.map(function(e,t){var a=e.query,i=e.deepLinks;return n.createElement(l,{key:t,className:c.item,href:i.search,onClick:g},a)})):null):null)});R.displayName="SearchBar",R.propTypes={className:r.string,query:r.string,active:r.bool};var m=function(e){var t=e.className,a=T().t;return n.createElement("label",{className:E(t,c["search-bar-container"])},n.createElement("div",{className:c["search-input"]},n.createElement("div",{className:c["placeholder-label"]},a("SEARCH_OR_PASTE_LINK"))),n.createElement(l,{className:c["submit-button-container"],tabIndex:-1},n.createElement(s,{className:c.icon,name:"search"})))};m.propTypes=R.propTypes,e.exports=u(R,m)},27:(e,t,a)=>{var i=a(33706);e.exports=i},32789:(e,t,a)=>{var i=a(30758),o=a(31187).useServices,n=a(83067);e.exports=function(){var e=o().core,t=i.useMemo(function(){return{action:"Load",args:{model:"LocalSearch"}}},[]);return{items:n({model:"local_search",action:t}).items,search:i.useCallback(function(t){e.transport.dispatch({action:"Search",args:{action:"Search",args:{searchQuery:t,maxResults:5}}})},[])}}},95270:(e,t,a)=>{var i=a(30758),o=a(83067),n=a(31187).useServices;e.exports=function(){var e=n().core;return{items:o({model:"ctx"}).searchHistory,clear:i.useCallback(function(){e.transport.dispatch({action:"Ctx",args:{action:"ClearSearchHistory"}})},[])}}},59621:(e,t,a)=>{var i=a(86419);e.exports=i},98910:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(10954).default,E=a(38177),_=E.Button,T=E.Image,s=a(9371),S=function(e){var t=e.className,a=e.logo,o=e.icon,E=e.label,S=e.href,l=e.selected,I=e.onClick,A=i.useCallback(function(){return"string"==typeof o&&o.length>0?i.createElement(r,{className:s.icon,name:o}):null},[o]);return i.createElement(_,{className:n(t,s["nav-tab-button-container"],{selected:l}),title:E,tabIndex:-1,href:S,onClick:I,onDoubleClick:function(){document.querySelectorAll("div").forEach(function(e){e.scrollTop>0&&e.scrollTo({top:0,behavior:"smooth"})})}},"string"==typeof a&&a.length>0?i.createElement(T,{className:s.logo,src:a,alt:" ",renderFallback:A}):"string"==typeof o&&o.length>0?i.createElement(r,{className:s.icon,name:l?o:"".concat(o,"-outline")}):null,"string"==typeof E&&E.length>0?i.createElement("div",{className:s.label},E):null)};S.propTypes={className:o.string,logo:o.string,icon:o.string,label:o.string,href:o.string,selected:o.bool,onClick:o.func},e.exports=S},98696:(e,t,a)=>{var i=a(98910);e.exports=i},27323:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(50266).useTranslation,E=a(98696),_=a(67564),T=i.memo(function(e){var t=e.className,a=e.selected,o=e.tabs,T=r().t;return i.createElement("nav",{className:n(t,_["vertical-nav-bar-container"])},Array.isArray(o)?o.map(function(e,t){return i.createElement(E,{key:t,className:_["nav-tab-button"],selected:e.id===a,href:e.href,logo:e.logo,icon:e.icon,label:T(e.label),onClick:e.onClick})}):null)});T.displayName="VerticalNavBar",T.propTypes={className:o.string,selected:o.string,tabs:o.arrayOf(o.shape({id:o.string,label:o.string,logo:o.string,icon:o.string,href:o.string,onClick:o.func}))},e.exports=T},81867:(e,t,a)=>{var i=a(27323);e.exports=i},63214:(e,t,a)=>{var i=a(59621),o=a(81867);e.exports={HorizontalNavBar:i,VerticalNavBar:o}},13164:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var o=["open","direction","renderLabel","renderMenu","dataset","onCloseRequest"];function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){E(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function E(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function _(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return T(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?T(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var s=a(30758),S=a(2736),l=a(97500),I=a(471).Ay,A=a(75394).useRouteFocused,u=a(17319),d=function(e){if(e===document.documentElement)return e;var t=window.getComputedStyle(e);return-1!==t.overflowY.indexOf("auto")||-1!==t.overflowY.indexOf("scroll")?e:d(e.parentElement)},O=function(e){var t=e.open,a=e.direction,i=e.renderLabel,n=e.renderMenu,T=e.dataset,S=e.onCloseRequest,O=(function(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o})(e,o),c=A(),N=s.useRef(null),R=s.useRef(null),m=_(s.useState(null),2),L=m[0],D=m[1],p=s.useCallback(function(e){e.nativeEvent.closePopupPrevented=!0},[]);return s.useEffect(function(){var e=function(e){if(!e.closePopupPrevented&&"function"==typeof S){var t={type:"close",nativeEvent:e,dataset:T};switch(e.type){case"keydown":"Escape"===e.code&&S(t);break;case"mousedown":case"pointerdown":e.target===document.documentElement||N.current.contains(e.target)||S(t)}}};return c&&t&&(window.addEventListener("keydown",e),window.addEventListener("mousedown",e),window.addEventListener("pointerdown",e)),function(){window.removeEventListener("keydown",e),window.removeEventListener("mousedown",e),window.removeEventListener("pointerdown",e)}},[c,t,S,T]),s.useLayoutEffect(function(){if(t){var e=[],a=d(N.current).getBoundingClientRect(),i=N.current.getBoundingClientRect(),o=R.current.getBoundingClientRect(),n={left:i.left-a.left,top:i.top-a.top,right:a.width+a.left-(i.left+i.width),bottom:a.height+a.top-(i.top+i.height)};o.height<=n.bottom?e.push("bottom"):o.height<=n.top?e.push("top"):n.bottom>=n.top?e.push("bottom"):e.push("top"),o.width<=n.right+i.width?e.push("right"):o.width<=n.left+i.width?e.push("left"):n.right>n.left?e.push("right"):e.push("left"),D(e.join("-"))}else D(null)},[t]),i(r(r({},O),{},{ref:N,className:l(u["label-container"],O.className,{active:t}),children:t?s.createElement(I,{ref:R,className:l(u["menu-container"],E({},u["menu-direction-".concat(L)],!a),E({},u["menu-direction-".concat(a)],a)),autoFocus:!1,lockProps:{onMouseDown:p}},n()):null}))};O.propTypes={open:S.bool,direction:S.oneOf(["top-left","bottom-left","top-right","bottom-right"]),renderLabel:S.func.isRequired,renderMenu:S.func.isRequired,dataset:S.object,onCloseRequest:S.func},e.exports=O},37582:(e,t,a)=>{var i=a(13164);e.exports=i},58456:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(10954).default,E=a(56151).default,_=a(62848),T=a(59242),s=function(e){var t=e.className,a=e.title,o=e.value,_=e.onChange;return i.createElement("label",{title:a,className:n(t,T["search-bar-container"])},i.createElement(E,{className:T["search-input"],type:"text",placeholder:a,value:o,onChange:_}),i.createElement(r,{className:T.icon,name:"search"}))};s.Placeholder=_,s.propTypes={className:o.string,title:o.string,value:o.string,onChange:o.func},e.exports=s},41904:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(10954).default,E=a(58515),_=function(e){var t=e.className,a=e.title;return i.createElement("div",{className:n(t,E["search-bar-container"])},i.createElement("div",{className:E["search-input"]},a),i.createElement(r,{className:E.icon,name:"search"}))};_.propTypes={className:o.string,title:o.string},e.exports=_},62848:(e,t,a)=>{var i=a(41904);e.exports=i},82761:(e,t,a)=>{var i=a(58456);e.exports=i},6700:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(50266).useTranslation,E=a(10954).default,_=a(75394).useRouteFocused,T=a(31187).useServices,s=a(38177).Button,S=a(56151).default,l=a(13070),I=a(4662),A=function(e){var t=e.className,a=e.url,o=r().t,A=T().core,u=l(),d=i.useRef(null),O=_(),c=i.useCallback(function(){null!==d.current&&d.current.select()},[]),N=i.useCallback(function(){null!==d.current&&(d.current.select(),document.execCommand("copy"),u.show({type:"success",title:"Copied to clipboard",timeout:3e3}))},[]);return i.useEffect(function(){O&&null!==d.current&&d.current.select()},[O]),i.useEffect(function(){A.transport.analytics({event:"Share",args:{url:a}})},[a]),i.createElement("div",{className:n(t,I["share-prompt-container"])},i.createElement("div",{className:I["buttons-container"]},i.createElement(s,{className:n(I["button-container"],I["facebook-button"]),title:"Facebook",href:"https://www.facebook.com/sharer/sharer.php?u=".concat(a),target:"_blank"},i.createElement(E,{className:I.icon,name:"facebook"})),i.createElement(s,{className:n(I["button-container"],I["x-button"]),title:"X (Twitter)",href:"https://twitter.com/intent/tweet?text=".concat(a),target:"_blank"},i.createElement(E,{className:I.icon,name:"x"})),i.createElement(s,{className:n(I["button-container"],I["reddit-button"]),title:"Reddit",href:"https://www.reddit.com/submit?url=".concat(a),target:"_blank"},i.createElement(E,{className:I.icon,name:"reddit"}))),i.createElement("div",{className:I["url-container"]},i.createElement(S,{ref:d,className:I["url-text-input"],type:"text",readOnly:!0,defaultValue:a,onClick:c,tabIndex:-1}),i.createElement(s,{className:I["copy-button"],title:o("CTX_COPY_TO_CLIPBOARD"),onClick:N},i.createElement(E,{className:I.icon,name:"link"}),i.createElement("div",{className:I.label},o("COPY")))))};A.propTypes={className:o.string,url:o.string},e.exports=A},52353:(e,t,a)=>{var i=a(6700);e.exports=i},63312:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return r(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?r(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var E=a(30758),_=a(2736),T=a(97500),s=a(75394).useRouteFocused,S=a(19002),l=a(82578),I=a(44020),A=function(e){var t=e.className,a=e.value,i=e.buffered,r=e.minimumValue,_=e.maximumValue,A=e.disabled,u=e.onSlide,d=e.onComplete,O=e.audioBoost,c=l(null===r||isNaN(r)?0:r),N=l(null===_||isNaN(_)?100:_),R=l(null===a||isNaN(a)?0:Math.min(N.current,Math.max(c.current,a))),m=l(null===i||isNaN(i)?0:Math.min(N.current,Math.max(c.current,i))),L=l(u),D=l(d),p=E.useRef(null),C=s(),h=n(S(),2),f=h[0],P=h[1],B=E.useCallback(function(e){if(null===p.current)return 0;var t=p.current.getBoundingClientRect(),a=t.x,i=t.width;return Math.min(Math.max(e-a,0),i)/i*(N.current-c.current)+c.current},[]),g=E.useCallback(function(){window.addEventListener("blur",M),window.addEventListener("mouseup",W),window.addEventListener("touchend",k),window.addEventListener("mousemove",y),window.addEventListener("touchmove",G),document.documentElement.className=T(document.documentElement.className,I["active-slider-within"])},[]),v=E.useCallback(function(){P(),window.removeEventListener("blur",M),window.removeEventListener("mouseup",W),window.removeEventListener("touchend",k),window.removeEventListener("mousemove",y),window.removeEventListener("touchmove",G);var e=document.documentElement.className.split(" "),t=e.indexOf(I["active-slider-within"]);-1!==t&&(e.splice(t,1),document.documentElement.className=T(e))},[]),M=E.useCallback(function(){"function"==typeof L.current&&L.current(R.current),"function"==typeof D.current&&D.current(R.current),v()},[]),W=E.useCallback(function(e){var t=B(e.clientX);"function"==typeof D.current&&D.current(t),v()},[]),y=E.useCallback(function(e){f(function(){var t=B(e.clientX);"function"==typeof L.current&&L.current(t)})},[]),U=E.useCallback(function(e){if(0===e.button){var t=B(e.clientX);"function"==typeof L.current&&L.current(t),g()}},[]),b=E.useCallback(function(e){var t=e.touches[0],a=B(t.clientX);"function"==typeof L.current&&L.current(a),g(),e.preventDefault()},[]),G=E.useCallback(function(e){f(function(){var t=e.touches[0],a=B(t.clientX);"function"==typeof L.current&&L.current(a)}),e.preventDefault()},[]),k=E.useCallback(function(e){var t=e.changedTouches[0],a=B(t.clientX);"function"==typeof D.current&&D.current(a),v()},[]);E.useLayoutEffect(function(){C&&!A||v()},[C,A]),E.useLayoutEffect(function(){return function(){v()}},[]);var F=Math.max(0,Math.min(1,(R.current-c.current)/(N.current-c.current))),V=Math.max(0,Math.min(1,(m.current-c.current)/(N.current-c.current)));return E.createElement("div",{ref:p,className:T(t,I["slider-container"],{disabled:A}),onMouseDown:U,onTouchStart:b},E.createElement("div",{className:I.layer},E.createElement("div",{className:T(I.track,o({},I["audio-boost"],O))})),E.createElement("div",{className:I.layer},E.createElement("div",{className:I["track-before"],style:{width:"calc(100% * ".concat(V,")")}})),E.createElement("div",{className:I.layer},E.createElement("div",{className:T(I["track-after"],o({},I["audio-boost"],O)),style:{"--mask-width":"calc(".concat(F," * 100%)")}})),E.createElement("div",{className:I.layer},E.createElement("div",{className:I.thumb,style:{marginLeft:"calc(100% * ".concat(F,")")}})))};A.propTypes={className:_.string,value:_.number,buffered:_.number,minimumValue:_.number,maximumValue:_.number,disabled:_.bool,onSlide:_.func,onComplete:_.func,audioBoost:_.bool},e.exports=A},9781:(e,t,a)=>{var i=a(63312);e.exports=i},97748:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var o=["className","id","title","thumbnail","season","episode","released","upcoming","watched","progress","scheduled","seasonWatched","deepLinks","onMarkVideoAsWatched","onMarkSeasonAsWatched"],n=["className","id","title","thumbnail","episode","released","upcoming","watched","progress","scheduled","children","ref"];function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},r.apply(null,arguments)}function E(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function _(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return T(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?T(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}function s(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var S=a(30758),l=a(50266).useTranslation,I=a(2736),A=a(97500),u=a(75394).useRouteFocused,d=a(10954).default,O=a(38177),c=O.Button,N=O.Image,R=O.Popup,m=a(8167),L=a(52600),D=a(54900),p=a(12416),C=S.forwardRef(function(e,t){var a=e.className,i=e.id,T=e.title,I=e.thumbnail,O=e.season,D=e.episode,C=e.released,h=e.upcoming,f=e.watched,P=e.progress,B=e.scheduled,g=e.seasonWatched,v=e.deepLinks,M=e.onMarkVideoAsWatched,W=e.onMarkSeasonAsWatched,y=s(e,o),U=u(),b=L(),G=l().t,k=_(m(!1),4),F=k[0],V=k[2],H=k[3],w=S.useCallback(function(e){e.nativeEvent.togglePopupPrevented||(e.nativeEvent.ctrlKey||2===e.nativeEvent.button)&&(e.preventDefault(),H())},[]),Y=S.useCallback(function(e){e.nativeEvent.togglePopupPrevented||e.nativeEvent.ctrlKey||e.preventDefault()},[H]),z=S.useCallback(function(e){"mouse"===e.nativeEvent.pointerType||e.nativeEvent.togglePopupPrevented||H()},[H]),K=S.useCallback(function(e){e.nativeEvent.togglePopupPrevented=!0},[]),j=S.useCallback(function(e){e.nativeEvent.togglePopupPrevented=!0},[]),x=S.useCallback(function(e){e.nativeEvent.togglePopupPrevented=!0},[]),Q=S.useCallback(function(e){e.nativeEvent.buttonClickPrevented=!0},[]),X=S.useCallback(function(e){e.preventDefault(),e.stopPropagation(),V(),M({id:i,released:C},f)},[i,C,f]),$=S.useCallback(function(e){e.preventDefault(),e.stopPropagation(),V(),W(O,g)},[O,g,W]),q=S.useCallback(function(){v&&("string"==typeof v.player?window.location=v.player:"string"==typeof v.metaDetailsStreams&&window.location.replace(v.metaDetailsStreams))},[v]),J=S.useMemo(function(){return function(e){var a=e.className,i=e.id,o=e.title,_=e.thumbnail,T=e.episode,l=e.released,I=e.upcoming,u=e.watched,R=e.progress,m=e.scheduled,L=e.children,D=e.ref,C=s(e,n),h=b.settings.hideSpoilers&&O&&T&&!u,f=S.useCallback(function(e){D&&("function"==typeof D?D(e):D.current=e),t&&("function"==typeof t?t(e):t.current=e)},[D]);return S.createElement(c,r({},C,{className:A(a,p["video-container"]),title:o,ref:f}),"string"==typeof _&&_.length>0?S.createElement("div",{className:p["thumbnail-container"]},S.createElement(N,{className:A(p.thumbnail,E({},p.blurred,h)),src:_,alt:" ",renderFallback:function(){return S.createElement(d,{className:p["placeholder-icon"],name:"symbol"})}}),null!==R&&!isNaN(R)&&R>0?S.createElement("div",{className:p["progress-bar-container"]},S.createElement("div",{className:p["progress-bar"],style:{width:"".concat(R,"%")}}),S.createElement("div",{className:p["progress-bar-background"]})):null):null,S.createElement("div",{className:p["info-container"]},S.createElement("div",{className:p["title-container"]},null===T||isNaN(T)?null:"".concat(T,". "),"string"==typeof o&&o.length>0?o:i),S.createElement("div",{className:p["flex-row-container"]},l instanceof Date&&!isNaN(l.getTime())?S.createElement("div",{className:p["released-container"]},l.toLocaleString(b.settings.interfaceLanguage,{year:"numeric",month:"short",day:"numeric"})):m?S.createElement("div",{className:p["released-container"],title:G("TBA")},G("TBA")):null,S.createElement("div",{className:p["upcoming-watched-container"]},I&&!u?S.createElement("div",{className:p["upcoming-container"]},S.createElement("div",{className:p["flag-label"]},G("UPCOMING"))):null,u?S.createElement("div",{className:p["watched-container"]},S.createElement(d,{className:p["flag-icon"],name:"eye"}),S.createElement("div",{className:p["flag-label"]},G("CTX_WATCHED"))):null))),L)}},[]),Z=S.useMemo(function(){return function(){return S.createElement("div",{className:p["context-menu-content"],onPointerDown:K,onContextMenu:j,onClick:x,onKeyDown:Q},S.createElement(c,{className:p["context-menu-option-container"],title:G("CTX_WATCH")},S.createElement("div",{className:p["context-menu-option-label"]},G("CTX_WATCH"))),S.createElement(c,{className:p["context-menu-option-container"],title:G(f?"CTX_MARK_NON_WATCHED":"CTX_MARK_WATCHED"),onClick:X},S.createElement("div",{className:p["context-menu-option-label"]},G(f?"CTX_MARK_NON_WATCHED":"CTX_MARK_WATCHED"))),S.createElement(c,{className:p["context-menu-option-container"],title:G(g?"CTX_UNMARK_REST":"CTX_MARK_REST"),onClick:$},S.createElement("div",{className:p["context-menu-option-label"]},G(g?"CTX_UNMARK_REST":"CTX_MARK_REST"))))}},[f,g,X]);return S.useEffect(function(){U||V()},[U]),S.createElement(R,r({className:a,id:i,title:T,thumbnail:I,episode:D,released:C,upcoming:h,watched:f,progress:P,scheduled:B,onClick:q},y,{onMouseUp:w,onLongPress:z,onContextMenu:Y,open:F,onCloseRequest:V,renderLabel:J,renderMenu:Z}))});C.Placeholder=D,C.propTypes={className:I.string,id:I.string,title:I.string,thumbnail:I.string,season:I.number,episode:I.number,released:I.instanceOf(Date),upcoming:I.bool,watched:I.bool,progress:I.number,scheduled:I.bool,seasonWatched:I.bool,deepLinks:I.shape({metaDetailsStreams:I.string,player:I.string}),onMarkVideoAsWatched:I.func,onMarkSeasonAsWatched:I.func},e.exports=C},59190:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(8759),E=function(e){var t=e.className;return i.createElement("div",{className:n(t,r["video-placeholder-container"])},i.createElement("div",{className:r["info-container"]},i.createElement("div",{className:r["name-container"]}),i.createElement("div",{className:r["released-container"]})))};E.propTypes={className:o.string},e.exports=E},54900:(e,t,a)=>{var i=a(59190);e.exports=i},23455:(e,t,a)=>{var i=a(97748);e.exports=i},98165:(e,t,a)=>{var i=["className","autoFocus","disabled","children"];var o=a(30758),n=a(8143),r=a(2736),E=a(97500),_=a(471).Ay,T=a(45223).useModalsContainer,s=o.forwardRef(function(e,t){var a=e.className,r=e.autoFocus,s=e.disabled,S=e.children,l=(function(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o})(e,i),I=T();return n.createPortal(o.createElement(_,{ref:t,className:E(a,"modal-container"),autoFocus:!!r,disabled:!!s,lockProps:l},S),I)});s.displayName="Modal",s.propTypes={className:r.string,autoFocus:r.bool,disabled:r.bool,children:r.node},e.exports=s},85996:(e,t,a)=>{var i=a(98165);e.exports=i},62655:(e,t,a)=>{var i=a(30758).createContext(null);i.displayName="ModalsContainerContext",e.exports=i},84895:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(2736),E=a(62655),_=function(e){var t=e.children,a=i(n.useState(null),2),o=a[0],r=a[1];return n.createElement(E.Provider,{value:o},o instanceof HTMLElement?t:null,n.createElement("div",{ref:r,className:"modals-container"}))};_.propTypes={children:r.node},e.exports=_},45223:(e,t,a)=>{var i=a(84895),o=a(13803);e.exports={ModalsContainerProvider:i,useModalsContainer:o}},13803:(e,t,a)=>{var i=a(30758),o=a(62655);e.exports=function(){return i.useContext(o)}},63297:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(45223).ModalsContainerProvider,r=function(e){var t=e.children;return i.createElement("div",{className:"route-container"},i.createElement(n,null,i.createElement("div",{className:"route-content"},t)))};r.propTypes={children:o.node},e.exports=r},64320:(e,t,a)=>{var i=a(63297);e.exports=i},74741:(e,t,a)=>{var i=a(30758).createContext(!0);i.displayName="RouteFocusedContext",e.exports=i},58992:(e,t,a)=>{var i=a(74741),o=a(39617);e.exports={RouteFocusedProvider:i.Provider,useRouteFocused:o}},39617:(e,t,a)=>{var i=a(30758),o=a(74741);e.exports=function(){return i.useContext(o)}},74505:(e,t,a)=>{var i=["className","onPathNotMatch","onRouteChange"];function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return n(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var r=a(30758),E=a(84276),_=a(2736),T=a(97500),s=a(32168),S=a(82178),l=a(58992).RouteFocusedProvider,I=a(64320),A=a(53889),u=a(7029),d=function(e){var t=e.className,a=e.onPathNotMatch,n=e.onRouteChange,_=(function(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o})(e,i),d=r.useMemo(function(){return _.viewsConfig},[]),O=o(r.useState(function(){return Array(d.length).fill(null)}),2),c=O[0],N=O[1];return r.useLayoutEffect(function(){var e=function(){var e=s.parse(window.location.hash.slice(1)),t=e.pathname,i=e.query,o=new URLSearchParams("string"==typeof i?i:""),r=A(d,"string"==typeof t?t:"");if(null!==r){var _=u(r,"string"==typeof t?t:""),T=d.findIndex(function(e){return e.includes(r)}),l=d[T].findIndex(function(e){return e===r});"function"==typeof n&&n(r,_,o)||N(function(e){return e.slice(0,d.length).map(function(e,t){return t<T?e:t===T?{key:"".concat(T).concat(l),component:r.component,urlParams:null!==e&&S(e.urlParams,_)?e.urlParams:_,queryParams:null!==e&&S(Array.from(e.queryParams.entries()),Array.from(o.entries()))?e.queryParams:o}:null})})}else if("function"==typeof a){var I=a();E.isValidElementType(I)&&N(function(e){return e.slice(0,d.length).concat({key:"-1",component:I})})}};return window.addEventListener("hashchange",e),e(),function(){window.removeEventListener("hashchange",e)}},[a,n]),r.createElement("div",{className:T(t,"routes-container")},c.filter(function(e){return null!==e}).map(function(e,t,a){var i=e.key,o=e.component,n=e.urlParams,E=e.queryParams;return r.createElement(l,{key:i,value:t===a.length-1},r.createElement(I,null,r.createElement(o,{urlParams:n,queryParams:E})))}))};d.propTypes={className:_.string,onPathNotMatch:_.func,onRouteChange:_.func,viewsConfig:_.arrayOf(_.arrayOf(_.exact({regexp:_.instanceOf(RegExp).isRequired,urlParamsNames:_.arrayOf(_.string).isRequired,component:_.elementType.isRequired}))).isRequired},e.exports=d},97306:(e,t,a)=>{var i=a(74505);e.exports=i},53889:e=>{function t(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=(function(e,t){if(e){if("string"==typeof e)return a(e,t);var i={}.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?a(e,t):void 0}})(e))||t&&e&&"number"==typeof e.length){i&&(e=i);var o=0,n=function(){};return{s:n,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,E=!0,_=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return E=e.done,e},e:function(e){_=!0,r=e},f:function(){try{E||null==i.return||i.return()}finally{if(_)throw r}}}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}e.exports=function(e,a){var i,o=t(e);try{for(o.s();!(i=o.n()).done;){var n,r=t(i.value);try{for(r.s();!(n=r.n()).done;){var E=n.value;if(a.match(E.regexp))return E}}catch(e){r.e(e)}finally{r.f()}}}catch(e){o.e(e)}finally{o.f()}return null}},7029:e=>{e.exports=function(e,t){var a=t.match(e.regexp);return e.urlParamsNames.reduce(function(e,t,i){return Array.isArray(a)&&"string"==typeof a[i+1]?e[t]=decodeURIComponent(a[i+1]):e[t]=null,e},{path:t})}},75394:(e,t,a)=>{var i=a(58992).useRouteFocused,o=a(45223).useModalsContainer,n=a(85996),r=a(97306);e.exports={useRouteFocused:i,useModalsContainer:o,Modal:n,Router:r}},14662:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(50266).useTranslation,E=a(10954).default,_=a(38177),T=_.Button,s=_.Image,S=a(3063),l=function(e){var t=e.className,a=e.id,o=e.name,_=e.version,l=e.logo,I=e.description,A=e.types,u=e.behaviorHints,d=e.installed,O=e.onInstall,c=e.onUninstall,N=e.onConfigure,R=e.onOpen,m=e.onShare,L=e.dataset,D=r().t,p=i.useCallback(function(e){e.stopPropagation(),"function"==typeof O&&O({type:"install",nativeEvent:e.nativeEvent,reactEvent:e,dataset:L})},[O,L]),C=i.useCallback(function(e){e.stopPropagation(),"function"==typeof c&&c({type:"uninstall",nativeEvent:e.nativeEvent,reactEvent:e,dataset:L})},[c,L]),h=i.useCallback(function(e){e.stopPropagation(),"function"==typeof R&&R({type:"open",nativeEvent:e.nativeEvent,reactEvent:e,dataset:L})},[R,L]),f=i.useCallback(function(e){e.stopPropagation(),"function"==typeof N&&N({type:"configure",nativeEvent:e.nativeEvent,reactEvent:e,dataset:L})},[N,L]),P=i.useCallback(function(e){e.stopPropagation(),"function"==typeof m&&m({type:"share",nativeEvent:e.nativeEvent,reactEvent:e,dataset:L})},[m,L]),B=i.useCallback(function(e){"Enter"===e.key&&h(e)},[h]),g=i.useCallback(function(){return i.createElement(E,{className:S.icon,name:"addons"})},[]);return i.createElement(T,{className:n(t,S["addon-container"]),onKeyDown:B,onClick:h},i.createElement("div",{className:S["logo-container"]},i.createElement(s,{className:S.logo,src:l,alt:" ",renderFallback:g})),i.createElement("div",{className:S["info-container"]},i.createElement("div",{className:S["name-container"],title:"string"==typeof o&&o.length>0?o:a},"string"==typeof o&&o.length>0?o:a),"string"==typeof _&&_.length>0?i.createElement("div",{className:S["version-container"],title:D("ADDON_VERSION_SHORT",{version:_})},D("ADDON_VERSION_SHORT",{version:_})):null,Array.isArray(A)&&A.length>0?i.createElement("div",{className:S["types-container"]},1===A.length?A.join(""):A.slice(0,-1).join(", ")+" & "+A[A.length-1]):null,"string"==typeof I&&I.length>0?i.createElement("div",{className:S["description-container"],title:I},I):null),i.createElement("div",{className:S["buttons-container"]},i.createElement("div",{className:S["action-buttons-container"]},!u.configurationRequired&&u.configurable?i.createElement(T,{className:S["configure-button-container"],title:D("ADDON_CONFIGURE"),tabIndex:-1,onClick:f},i.createElement(E,{className:S.icon,name:"settings"})):null,i.createElement(T,{className:d?S["uninstall-button-container"]:S["install-button-container"],title:d?D("ADDON_UNINSTALL"):u.configurationRequired?D("ADDON_CONFIGURE"):D("ADDON_INSTALL"),tabIndex:-1,onClick:d?C:u.configurationRequired?f:p},i.createElement("div",{className:S.label},d?D("ADDON_UNINSTALL"):u.configurationRequired?D("ADDON_CONFIGURE"):D("ADDON_INSTALL")))),i.createElement(T,{className:S["share-button-container"],title:D("SHARE_ADDON"),tabIndex:-1,onClick:P},i.createElement(E,{className:S.icon,name:"share"}),i.createElement("div",{className:S.label},D("SHARE_ADDON")))))};l.propTypes={className:o.string,id:o.string,name:o.string,version:o.string,logo:o.string,description:o.string,types:o.arrayOf(o.string),behaviorHints:o.shape({adult:o.bool,configurable:o.bool,configurationRequired:o.bool,p2p:o.bool}),installed:o.bool,onToggle:o.func,onInstall:o.func,onUninstall:o.func,onConfigure:o.func,onOpen:o.func,onShare:o.func,dataset:o.object},e.exports=l},19008:(e,t,a)=>{var i=a(14662);e.exports=i},49042:(e,t,a)=>{function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},i.apply(null,arguments)}function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return n(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var r=a(30758),E=a(2736),_=a(97500),T=a(50266).useTranslation,s=a(10954).default,S=a(60350),l=S.usePlatform,I=S.useBinaryState,A=S.withCoreSuspender,u=a(38177),d=u.AddonDetailsModal,O=u.Button,c=u.Image,N=u.MainNavBars,R=u.ModalDialog,m=u.SearchBar,L=u.SharePrompt,D=u.TextInput,p=u.MultiselectMenu,C=a(31187).useServices,h=a(19008),f=a(69453),P=a(90567),B=a(86772),g=a(60283),v=a(67644),M=a(23271).AddonPlaceholder,W=function(e){var t=e.urlParams,a=e.queryParams,n=T().t,E=l(),S=C().core,A=f(t),u=P(t),W=o(B(t,a),2),y=W[0],U=W[1],b=g(A,u),G=o(I(!1),3),k=G[0],F=G[1],V=G[2],H=o(I(!1),3),w=H[0],Y=H[1],z=H[2],K=r.useRef(null),j=r.useCallback(function(){null!==K.current&&U(K.current.value)},[U]),x=r.useMemo(function(){return[{className:v["cancel-button"],label:n("BUTTON_CANCEL"),props:{onClick:z}},{label:n("ADDON_ADD"),props:{onClick:j}}]},[j]),Q=o(r.useState(""),2),X=Q[0],$=Q[1],q=r.useCallback(function(e){$(e.currentTarget.value)},[]),J=o(r.useState(null),2),Z=J[0],ee=J[1],te=r.useCallback(function(){ee(null)},[]),ae=r.useCallback(function(e){ee(e.dataset.addon)},[]),ie=r.useCallback(function(e){S.transport.dispatch({action:"Ctx",args:{action:"InstallAddon",args:e.dataset.addon}})},[]),oe=r.useCallback(function(e){S.transport.dispatch({action:"Ctx",args:{action:"UninstallAddon",args:e.dataset.addon}})},[]),ne=r.useCallback(function(e){E.openExternal(e.dataset.addon.transportUrl.replace("manifest.json","configure"))},[]),re=r.useCallback(function(e){U(e.dataset.addon.transportUrl)},[U]),Ee=r.useCallback(function(){U(null)},[U]),_e=r.useCallback(function(e){return 0===X.length||"string"==typeof e.manifest.name&&e.manifest.name.toLowerCase().includes(X.toLowerCase())||"string"==typeof e.manifest.description&&e.manifest.description.toLowerCase().includes(X.toLowerCase())},[X]),Te=r.useCallback(function(){return r.createElement(s,{className:v.icon,name:"addons"})},[]);return r.useLayoutEffect(function(){z(),$(""),te()},[t,a]),r.createElement(N,{className:v["addons-container"],route:"addons"},r.createElement("div",{className:v["addons-content"]},r.createElement("div",{className:v["selectable-inputs-container"]},b.map(function(e,t){return r.createElement(p,i({},e,{key:t,className:v["select-input-container"]}))}),r.createElement("div",{className:v.spacing}),r.createElement(O,{className:v["add-button-container"],title:n("ADD_ADDON"),onClick:Y},r.createElement(s,{className:v.icon,name:"add"}),r.createElement("div",{className:v["add-button-label"]},n("ADD_ADDON"))),r.createElement(m,{className:v["search-bar"],title:n("ADDON_SEARCH"),value:X,onChange:q}),r.createElement(O,{className:v["filter-button"],title:n("ALL_FILTERS"),onClick:F},r.createElement(s,{className:v["filter-icon"],name:"filters"}))),null!==A.selected?0===A.selectable.types.length?r.createElement("div",{className:v["message-container"]},n("NO_ADDONS")):0===A.catalog.length?r.createElement("div",{className:v["message-container"]},n("NO_ADDONS_FOR_TYPE")):r.createElement("div",{className:v["addons-list-container"]},A.catalog.filter(_e).map(function(e,t){return r.createElement(h,{key:t,className:_(v.addon,"animation-fade-in"),id:e.manifest.id,name:e.manifest.name,version:e.manifest.version,logo:e.manifest.logo,description:e.manifest.description,types:e.manifest.types,behaviorHints:e.manifest.behaviorHints,installed:e.installed,onInstall:ie,onUninstall:oe,onConfigure:ne,onOpen:re,onShare:ae,dataset:{addon:e}})})):null!==u.selected?"Err"===u.catalog.content.type?r.createElement("div",{className:v["message-container"]},u.catalog.content.content):"Loading"===u.catalog.content.type?r.createElement("div",{className:v["addons-list-container"]},Array.from({length:6}).map(function(e,t){return r.createElement(M,{key:t,className:v.addon})})):r.createElement("div",{className:v["addons-list-container"]},u.catalog.content.content.filter(_e).map(function(e,t){return r.createElement(h,{key:t,className:_(v.addon,"animation-fade-in"),id:e.manifest.id,name:e.manifest.name,version:e.manifest.version,logo:e.manifest.logo,description:e.manifest.description,types:e.manifest.types,behaviorHints:e.manifest.behaviorHints,installed:e.installed,onInstall:ie,onUninstall:oe,onConfigure:ne,onOpen:re,onShare:ae,dataset:{addon:e}})})):r.createElement("div",{className:v["addons-list-container"]},Array.from({length:6}).map(function(e,t){return r.createElement(M,{key:t,className:v.addon})}))),k?r.createElement(R,{title:n("ADDONS_FILTERS"),className:v["filters-modal"],onCloseRequest:V},b.map(function(e,t){return r.createElement(p,i({},e,{key:t,className:v["select-input-container"]}))})):null,w?r.createElement(R,{className:v["add-addon-modal-container"],title:n("ADD_ADDON"),buttons:x,onCloseRequest:z},r.createElement("div",{className:v.notice},n("ADD_ADDON_DESCRIPTION")),r.createElement(D,{ref:K,className:v["addon-url-input"],type:"text",placeholder:n("PASTE_ADDON_URL"),autoFocus:!0,onSubmit:j})):null,null!==Z?r.createElement(R,{className:v["share-modal-container"],title:n("SHARE_ADDON"),onCloseRequest:te},r.createElement("div",{className:v["title-container"]},r.createElement(c,{className:v.logo,src:Z.manifest.logo,alt:" ",renderFallback:Te}),r.createElement("div",{className:v["name-container"]},r.createElement("span",{className:v.name},"string"==typeof Z.manifest.name&&Z.manifest.name.length>0?Z.manifest.name:Z.manifest.id),"string"==typeof Z.manifest.version&&Z.manifest.version.length>0?r.createElement("span",{className:v.version},n("ADDON_VERSION_SHORT",{version:Z.manifest.version})):null)),r.createElement(L,{className:v["share-prompt-container"],url:Z.transportUrl})):null,"string"==typeof y?r.createElement(d,{transportUrl:y,onCloseRequest:Ee}):null)};W.propTypes={urlParams:E.shape({path:E.string,transportUrl:E.string,catalogId:E.string,type:E.string}),queryParams:E.instanceOf(URLSearchParams)};e.exports=A(W,function(){return r.createElement(N,{className:v["addons-container"],route:"addons"})})},76541:(e,t,a)=>{var i=a(49042);e.exports=i},86772:(e,t,a)=>{var i=a(30758);e.exports=function(e,t){var a=i.useMemo(function(){return t.get("addon")},[t]),o=i.useCallback(function(a){var i=new URLSearchParams(t);"string"==typeof a?i.set("addon",a):i.delete("addon"),window.location.replace("#".concat(e.path,"?").concat(i))},[e,t]);return[a,o]}},69453:(e,t,a)=>{var i=a(30758),o=a(60350).useModelState;e.exports=function(e){var t=i.useMemo(function(){return"string"!=typeof e.transportUrl&&"string"!=typeof e.catalogId?{action:"Load",args:{model:"InstalledAddonsWithFilters",args:{request:{type:"string"==typeof e.type?e.type:null}}}}:{action:"Unload"}},[e]);return o({model:"installed_addons",action:t})}},90567:(e,t,a)=>{var i=a(30758),o=a(60350).useModelState;e.exports=function(e){var t=i.useMemo(function(){return"string"==typeof e.type&&"string"==typeof e.transportUrl&&"string"==typeof e.catalogId?{action:"Load",args:{model:"CatalogWithFilters",args:{request:{base:e.transportUrl,path:{resource:"addon_catalog",type:e.type,id:e.catalogId,extra:[]}}}}}:{action:"Unload"}},[e]);return o({model:"remote_addons",action:t,deps:["ctx"]})}},60283:(e,t,a)=>{var i=a(30758),o=a(60350).useTranslate;e.exports=function(e,t){var a=o(),n=i.useMemo(function(){return(function(e,t,a){var i=t.selectable.catalogs.concat(e.selectable.catalogs).find(function(e){return e.selected}),o={options:t.selectable.catalogs.concat(e.selectable.catalogs).map(function(e){var t=e.name;return{value:e.deepLinks.addons,label:a.stringWithPrefix(t.toUpperCase(),"ADDON_"),title:a.stringWithPrefix(t.toUpperCase(),"ADDON_")}}),value:i?i.deepLinks.addons:void 0,title:null!==t.selected?function(){var e=t.selectable.catalogs.find(function(e){return e.id===t.selected.request.path.id});return e?a.stringWithPrefix(e.name,"ADDON_"):t.selected.request.path.id}:null,onSelect:function(e){window.location=e}},n=null!==e.selected?e.selectable.types.find(function(e){return e.selected}):t.selectable.types.find(function(e){return e.selected}),r={options:null!==e.selected?e.selectable.types.map(function(e){var t=e.type;return{value:e.deepLinks.addons,label:null!==t?a.stringWithPrefix(t,"TYPE_"):a.string("TYPE_ALL")}}):t.selectable.types.map(function(e){var t=e.type;return{value:e.deepLinks.addons,label:a.stringWithPrefix(t,"TYPE_")}}),value:n?n.deepLinks.addons:void 0,title:function(){return null!==e.selected?null===e.selected.request.type?a.string("TYPE_ALL"):a.stringWithPrefix(e.selected.request.type,"TYPE_"):null!==t.selected?a.stringWithPrefix(t.selected.request.path.type,"TYPE_"):r.title},onSelect:function(e){window.location=e}};return[o,r]})(e,t,a)},[e,t]);return n}},20574:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(97500),E=a(32889),_=a(20107),T=a(60350),s=T.useStreamingServer,S=T.useNotifications,l=T.withCoreSuspender,I=T.getVisibleChildrenRange,A=T.useProfile,u=a(38177),d=u.ContinueWatchingItem,O=u.EventModal,c=u.MainNavBars,N=u.MetaItem,R=u.MetaRow,m=a(47649),L=a(53993),D=a(78447),p=a(55944).default;e.exports=l(function(){var e=_(),t=s(),a=L(),o=i(m(),2),T=o[0],l=o[1],u=S(),C=A(),h=a.items.length>0?1:0,f=n.useRef(),P=n.useMemo(function(){return null!==t.settings&&"Ready"===t.settings.type||!isNaN(C.settings.streamingServerWarningDismissed.getTime())&&C.settings.streamingServerWarningDismissed.getTime()>Date.now()},[C.settings,t.settings]),B=n.useCallback(function(){var e=I(f.current);if(null!==e){var t=Math.max(0,e.start-h-5),a=e.end-h+5;a<t||l({start:t,end:a})}},[h]),g=n.useCallback(E(B,250),[B]);return n.useLayoutEffect(function(){B()},[T.catalogs,B]),n.createElement("div",{className:D["board-container"]},n.createElement(O,null),n.createElement(c,{className:D["board-content-container"],route:"board"},n.createElement("div",{ref:f,className:D["board-content"],onScroll:g},a.items.length>0?n.createElement(R,{className:r(D["board-row"],D["continue-watching-row"],"animation-fade-in"),title:e.string("BOARD_CONTINUE_WATCHING"),catalog:a,itemComponent:d,notifications:u}):null,T.catalogs.map(function(t,a){var i;switch(null===(i=t.content)||void 0===i?void 0:i.type){case"Ready":return n.createElement(R,{key:a,className:r(D["board-row"],D["board-row-".concat(t.content.content[0].posterShape)],"animation-fade-in"),catalog:t,itemComponent:N});case"Err":return"EmptyContent"!==t.content.content?n.createElement(R,{key:a,className:r(D["board-row"],"animation-fade-in"),catalog:t,message:t.content.content}):null;default:return n.createElement(R.Placeholder,{key:a,className:r(D["board-row"],D["board-row-poster"],"animation-fade-in"),catalog:t,title:e.catalogTitle(t)})}}))),P?null:n.createElement(p,{className:D["board-warning-container"]}))},function(){return n.createElement("div",{className:D["board-container"]},n.createElement(c,{className:D["board-content-container"],route:"board"}))})},53118:(e,t,a)=>{var i=a(20574);e.exports=i},47649:(e,t,a)=>{var i=a(30758),o=a(31187).useServices,n=a(60350).useModelState;e.exports=function(){var e=o().core,t=i.useMemo(function(){return{action:"Load",args:{model:"CatalogsWithExtra",args:{extra:[]}}}},[]),a=i.useCallback(function(t){e.transport.dispatch({action:"CatalogsWithExtra",args:{action:"LoadRange",args:t}},"board")},[]);return[n({model:"board",action:t}),a]}},53993:(e,t,a)=>{var i=a(60350).useModelState;e.exports=function(){return i({model:"continue_watching_preview"})}},31234:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(50266).useTranslation,E=a(2736),_=a(97500),T=a(10954).default,s=a(31187).useServices,S=a(60350),l=S.CONSTANTS,I=S.useBinaryState,A=S.useOnScrollToBottom,u=S.withCoreSuspender,d=a(38177),O=d.AddonDetailsModal,c=d.Button,N=d.DelayedRenderer,R=d.Image,m=d.MainNavBars,L=d.MetaItem,D=d.MetaPreview,p=d.ModalDialog,C=d.MultiselectMenu,h=a(83221),f=a(26379),P=a(71888),B=function(e){var t=e.urlParams,o=e.queryParams,E=r().t,S=s().core,u=i(h(t,o),2),d=u[0],B=u[1],g=i(f(d),2),v=g[0],M=g[1],W=i(I(!1),3),y=W[0],U=W[1],b=W[2],G=i(I(!1),3),k=G[0],F=G[1],V=G[2],H=i(n.useState(0),2),w=H[0],Y=H[1],z=n.useRef(),K=n.useRef();n.useEffect(function(){var e;"Loading"===(null===(e=d.catalog)||void 0===e?void 0:e.content.type)&&(z.current.scrollTop=0)},[d.catalog]),n.useEffect(function(){M&&z.current&&(z.current.scrollHeight<=z.current.clientHeight+400&&B())},[M,B]);var j=n.useMemo(function(){return null!==d.catalog&&"Ready"===d.catalog.content.type&&d.catalog.content.content[w]?d.catalog.content.content[w]:null},[d.catalog,w]),x=n.useCallback(function(){null!==j&&S.transport.dispatch({action:"Ctx",args:{action:"AddToLibrary",args:j}})},[j]),Q=n.useCallback(function(){null!==j&&S.transport.dispatch({action:"Ctx",args:{action:"RemoveFromLibrary",args:j.id}})},[j]),X=n.useCallback(function(e){null===e.target.dataset.index||isNaN(e.target.dataset.index)||Y(parseInt(e.target.dataset.index,10))},[]),$=n.useCallback(function(e){var t="none"!==window.getComputedStyle(K.current).display;e.currentTarget.dataset.index!==w.toString()&&t&&(e.preventDefault(),e.currentTarget.focus())},[w]),q=n.useCallback(function(){M&&B()},[M,B]),J=A(q,400);return n.useEffect(function(){b(),V(),Y(0)},[d.selected]),n.createElement(m,{className:P["discover-container"],route:"discover"},n.createElement("div",{className:P["discover-content"]},n.createElement("div",{className:P["catalog-container"]},n.createElement("div",{className:P["selectable-inputs-container"]},v.map(function(e,t){var a=e.title,i=e.options,o=e.value,r=e.onSelect;return n.createElement(C,{key:t,className:P["select-input"],title:a,options:i,value:o,onSelect:r})}),n.createElement("div",{className:P["filter-container"]},n.createElement(c,{className:P["filter-button"],title:E("ALL_FILTERS"),onClick:U},n.createElement(T,{className:P["filter-icon"],name:"filters"})))),null===d.catalog||d.catalog.installed?null:n.createElement("div",{className:P["missing-addon-warning-container"]},n.createElement("div",{className:P["warning-label"]},E("ERR_ADDON_NOT_INSTALLED")),n.createElement(c,{className:P["install-button"],title:E("INSTALL_ADDON"),onClick:F},n.createElement("div",{className:P.label},E("ADDON_INSTALL")))),null===d.catalog?n.createElement(N,{delay:500},n.createElement("div",{className:P["message-container"]},n.createElement(R,{className:P.image,src:a(32706),alt:" "}),n.createElement("div",{className:P["message-label"]},E("NO_CATALOG_SELECTED")))):"Err"===d.catalog.content.type?n.createElement("div",{className:P["message-container"]},n.createElement(R,{className:P.image,src:a(32706),alt:" "}),n.createElement("div",{className:P["message-label"]},d.catalog.content.content)):"Loading"===d.catalog.content.type?n.createElement("div",{ref:z,className:_(P["meta-items-container"],"animation-fade-in")},Array(l.CATALOG_PAGE_SIZE).fill(null).map(function(e,t){return n.createElement("div",{key:t,className:P["meta-item-placeholder"]},n.createElement("div",{className:P["poster-container"]}),n.createElement("div",{className:P["title-bar-container"]},n.createElement("div",{className:P["title-label"]})))})):n.createElement("div",{ref:z,className:_(P["meta-items-container"],"animation-fade-in"),onScroll:J,onFocusCapture:X},d.catalog.content.content.map(function(e,t){return n.createElement(L,{key:t,className:_({selected:w===t}),type:e.type,name:e.name,poster:e.poster,posterShape:e.posterShape,playname:w===t,deepLinks:e.deepLinks,watched:e.watched,"data-index":t,onClick:$})}))),null!==j?n.createElement(D,{className:P["meta-preview-container"],compact:!0,ref:K,name:j.name,logo:j.logo,background:j.poster,runtime:j.runtime,releaseInfo:j.releaseInfo,released:j.released,description:j.description,links:j.links,deepLinks:j.deepLinks,trailerStreams:j.trailerStreams,inLibrary:j.inLibrary,toggleInLibrary:j.inLibrary?Q:x,metaId:j.id,like:j.like}):null!==d.catalog&&"Loading"===d.catalog.content.type?n.createElement("div",{className:P["meta-preview-container"]}):null),y?n.createElement(p,{title:E("CATALOG_FILTERS"),className:P["selectable-inputs-modal"],onCloseRequest:b},v.map(function(e,t){var a=e.title,i=e.options,o=e.value,r=e.onSelect;return n.createElement(C,{key:t,className:P["select-input"],title:a,options:i,value:o,onSelect:r})})):null,k&&null!==d.selected?n.createElement(O,{transportUrl:d.selected.request.base,onCloseRequest:V}):null)};B.propTypes={urlParams:E.shape({transportUrl:E.string,type:E.string,catalogId:E.string}),queryParams:E.instanceOf(URLSearchParams)};e.exports=u(B,function(){return n.createElement(m,{className:P["discover-container"],route:"discover"})})},69229:(e,t,a)=>{var i=a(31234);e.exports=i},83221:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){r(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function r(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var E=a(30758),_=a(32168),T=a(31187).useServices,s=a(60350).useModelState,S=function(e){return n(n({},e),{},{catalog:null!==e.catalog&&"Ready"===e.catalog.content.type?n(n({},e.catalog),{},{content:n(n({},e.catalog.content),{},{content:e.catalog.content.content.map(function(e){return n(n({},e),{},{released:new Date("string"==typeof e.released?e.released:NaN)})})})}):e.catalog})};e.exports=function(e,t){var a=T().core,i=E.useCallback(function(){a.transport.dispatch({action:"CatalogWithFilters",args:{action:"LoadNextPage"}},"discover")},[]),o=E.useMemo(function(){if("string"!=typeof e.transportUrl||"string"!=typeof e.type||"string"!=typeof e.catalogId)return{action:"Load",args:{model:"CatalogWithFilters",args:null}};var a=_.parse(e.transportUrl).hostname;return"string"==typeof a&&a.length>0?{action:"Load",args:{model:"CatalogWithFilters",args:{request:{base:e.transportUrl,path:{resource:"catalog",type:e.type,id:e.catalogId,extra:Array.from(t.entries())}}}}}:{action:"Unload"}},[e,t]);return[s({model:"discover",action:o,map:S,deps:["ctx"]}),i]}},26379:(e,t,a)=>{function i(e){return(function(e){if(Array.isArray(e))return o(e)})(e)||(function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e)||(function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(60350).useTranslate;e.exports=function(e){var t=r(),a=n.useMemo(function(){return(function(e,t){var a=e.selectable.types.find(function(e){return e.selected}),o={options:e.selectable.types.map(function(e){var a=e.type;return{value:e.deepLinks.discover,label:t.stringWithPrefix(a,"TYPE_")}}),value:a?a.deepLinks.discover:void 0,title:null!==e.selected?function(){return t.stringWithPrefix(e.selected.request.path.type,"TYPE_")}:t.string("SELECT_TYPE"),onSelect:function(e){window.location=e}},n={options:e.selectable.catalogs.map(function(e){var a=e.id,i=e.name,o=e.addon;return{value:e.deepLinks.discover,label:t.catalogTitle({addon:o,id:a,name:i}),title:"".concat(i," (").concat(o.manifest.name,")")}}),value:e.selectable.catalogs.filter(function(e){return e.selected}).map(function(e){return e.deepLinks.discover}),title:null!==e.selected?function(){var a=e.selectable.catalogs.find(function(t){return t.id===e.selected.request.path.id});return a?t.catalogTitle(a,!1):e.selected.request.path.id}:t.string("SELECT_CATALOG"),onSelect:function(e){window.location=e}},r=e.selectable.extra.map(function(e){var a=e.name,i=e.isRequired,o=e.options,n=o.find(function(e){return e.selected});return{isRequired:i,options:o.map(function(e){var a=e.value,i=e.deepLinks;return{label:"string"==typeof a?t.string(a):t.string("NONE"),value:JSON.stringify({href:i.discover,value:a})}}),value:JSON.stringify({href:n.deepLinks.discover,value:n.value}),title:o.some(function(e){var t=e.selected,a=e.value;return t&&null===a})?function(){return t.string(a.toUpperCase())}:t.string(n.value),onSelect:function(e){var t=JSON.parse(e).href;window.location=t}}});return[[o,n].concat(i(r)),e.selectable.nextPage]})(e,t)},[e.selected,e.selectable]);return a}},10411:(e,t,a)=>{function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},i.apply(null,arguments)}var o=a(30758),n=a(2736),r=a(38177).TextInput,E=o.forwardRef(function(e,t){var a=o.useCallback(function(t){"function"==typeof e.onKeyDown&&e.onKeyDown(t),t.nativeEvent.navigationPrevented||(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key)&&(t.nativeEvent.spatialNavigationPrevented=!0),t.shiftKey||("ArrowDown"===t.key?window.navigate("down"):"ArrowUp"===t.key&&window.navigate("up")))},[e.onKeyDown]);return o.createElement(r,i({},e,{ref:t,onKeyDown:a}))});E.displayName="CredentialsTextInput",E.propTypes={onKeyDown:n.func},e.exports=E},10206:(e,t,a)=>{var i=a(10411);e.exports=i},29486:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){r(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function r(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function E(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return _(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var T=a(30758),s=a(50266).useTranslation,S=a(2736),l=a(97500),I=a(10954).default,A=a(75394),u=A.Modal,d=A.useRouteFocused,O=a(31187).useServices,c=a(60350).useBinaryState,N=a(38177),R=N.Button,m=N.Image,L=N.Checkbox,D=a(10206),p=a(38236),C=a(33028),h=a(42896).default,f=a(10873),P="signup",B="login",g=function(e){var t=e.queryParams,i=O().core,o=s().t,_=d(),S=E(C(),2),A=S[0],N=S[1],g=E(h(),2),v=g[0],M=g[1],W=T.useRef(null),y=T.useRef(null),U=T.useRef(null),b=T.useRef(null),G=T.useRef(null),k=T.useRef(null),F=T.useRef(null),V=E(c(!1),3),H=V[0],w=V[1],Y=V[2],z=E(c(!1),3),K=z[0],j=z[1],x=z[2],Q=T.useReducer(function(e,t){switch(t.type){case"set-form":return e.form!==t.form?{form:t.form,email:"",password:"",confirmPassword:"",termsAccepted:!1,privacyPolicyAccepted:!1,marketingAccepted:!1,error:""}:e;case"change-credentials":return n(n({},e),{},r({error:""},t.name,t.value));case"toggle-checkbox":return n(n({},e),{},r({error:""},t.name,!e[t.name]));case"error":return n(n({},e),{},{error:t.error});default:return e}},{form:[B,P].includes(t.get("form"))?t.get("form"):P,email:"",password:"",confirmPassword:"",termsAccepted:!1,privacyPolicyAccepted:!1,marketingAccepted:!1,error:""}),X=E(Q,2),$=X[0],q=X[1],J=T.useCallback(function(){j(),A().then(function(e){var t=e.email,a=e.password;i.transport.dispatch({action:"Ctx",args:{action:"Authenticate",args:{type:"Login",email:t,password:a,facebook:!0}}})}).catch(function(e){x(),q({type:"error",error:e.message})})},[]),Z=T.useCallback(function(){N(),x()},[]),ee=T.useCallback(function(){j(),v().then(function(e){var t=e.token,a=e.sub,o=e.email,n=e.name;i.transport.dispatch({action:"Ctx",args:{action:"Authenticate",args:{type:"Apple",token:t,sub:a,email:o,name:n}}})}).catch(function(e){x(),q({type:"error",error:e.message})})},[]),te=T.useCallback(function(){M(),x()},[]),ae=T.useCallback(function(){"string"==typeof $.email&&0!==$.email.length&&W.current.validity.valid?"string"==typeof $.password&&0!==$.password.length?(j(),i.transport.dispatch({action:"Ctx",args:{action:"Authenticate",args:{type:"Login",email:$.email,password:$.password}}})):q({type:"error",error:o("INVALID_PASSWORD")}):q({type:"error",error:o("INVALID_EMAIL")})},[$.email,$.password]),ie=T.useCallback(function(){$.termsAccepted?window.location="#/":q({type:"error",error:o("MUST_ACCEPT_TERMS")})},[$.termsAccepted]),oe=T.useCallback(function(){"string"==typeof $.email&&0!==$.email.length&&W.current.validity.valid?"string"==typeof $.password&&0!==$.password.length?$.password===$.confirmPassword?$.termsAccepted?$.privacyPolicyAccepted?(j(),i.transport.dispatch({action:"Ctx",args:{action:"Authenticate",args:{type:"Register",email:$.email,password:$.password,gdpr_consent:{tos:$.termsAccepted,privacy:$.privacyPolicyAccepted,marketing:$.marketingAccepted,from:"web"}}}})):q({type:"error",error:"You must accept the Privacy Policy"}):q({type:"error",error:o("MUST_ACCEPT_TERMS")}):q({type:"error",error:o("PASSWORDS_NOMATCH")}):q({type:"error",error:o("INVALID_PASSWORD")}):q({type:"error",error:o("INVALID_EMAIL")})},[$.email,$.password,$.confirmPassword,$.termsAccepted,$.privacyPolicyAccepted,$.marketingAccepted]),ne=T.useCallback(function(e){q({type:"change-credentials",name:"email",value:e.currentTarget.value})},[]),re=T.useCallback(function(){y.current.focus()},[]),Ee=T.useCallback(function(e){q({type:"change-credentials",name:"password",value:e.currentTarget.value})},[]),_e=T.useCallback(function(){$.form===P?U.current.focus():ae()},[$.form,ae]),Te=T.useCallback(function(e){q({type:"change-credentials",name:"confirmPassword",value:e.currentTarget.value})},[]),se=T.useCallback(function(){b.current.focus()},[]),Se=T.useCallback(function(){q({type:"toggle-checkbox",name:"termsAccepted"})},[]),le=T.useCallback(function(){q({type:"toggle-checkbox",name:"privacyPolicyAccepted"})},[]),Ie=T.useCallback(function(){q({type:"toggle-checkbox",name:"marketingAccepted"})},[]),Ae=T.useCallback(function(){var e=new URLSearchParams([["form",$.form===P?B:P]]);window.location="#/intro?".concat(e.toString())},[$.form]);return T.useEffect(function(){[B,P].includes(t.get("form"))&&q({type:"set-form",form:t.get("form")})},[t]),T.useEffect(function(){_&&"string"==typeof $.error&&$.error.length>0&&F.current.scrollIntoView()},[$.error]),T.useEffect(function(){_&&W.current.focus()},[$.form,_]),T.useEffect(function(){var e=function(e){var t=e.event,a=e.args;switch(t){case"UserAuthenticated":x(),_&&(window.location="#/");break;case"Error":"UserAuthenticated"===a.source.event&&x()}};return i.transport.on("CoreEvent",e),function(){i.transport.off("CoreEvent",e)}},[_]),T.createElement("div",{className:f["intro-container"]},T.createElement("div",{className:f["background-container"]}),T.createElement("div",{className:f["heading-container"]},T.createElement("div",{className:f["logo-container"]},T.createElement(m,{className:f.logo,src:a(25144),alt:" "})),T.createElement("div",{className:f["title-container"]},o("WEBSITE_SLOGAN_NEW_NEW")),T.createElement("div",{className:f["slogan-container"]},o("WEBSITE_SLOGAN_ALL"))),T.createElement("div",{className:f["content-container"]},T.createElement("div",{className:f["form-container"]},T.createElement(D,{ref:W,className:f["credentials-text-input"],type:"email",placeholder:o("EMAIL"),value:$.email,onChange:ne,onSubmit:re}),T.createElement(D,{ref:y,className:f["credentials-text-input"],type:"password",placeholder:o("PASSWORD"),value:$.password,onChange:Ee,onSubmit:_e}),$.form===P?T.createElement(T.Fragment,null,T.createElement(D,{ref:U,className:f["credentials-text-input"],type:"password",placeholder:o("PASSWORD_CONFIRM"),value:$.confirmPassword,onChange:Te,onSubmit:se}),T.createElement(L,{ref:b,label:o("READ_AND_AGREE"),link:o("TOS"),href:"https://www.stremio.com/tos",checked:$.termsAccepted,onChange:Se}),T.createElement(L,{ref:G,label:o("READ_AND_AGREE"),link:o("PRIVACY_POLICY"),href:"https://www.stremio.com/privacy",checked:$.privacyPolicyAccepted,onChange:le}),T.createElement(L,{ref:k,label:o("MARKETING_AGREE"),checked:$.marketingAccepted,onChange:Ie})):T.createElement("div",{className:f["forgot-password-link-container"]},T.createElement(R,{className:f["forgot-password-link"],onClick:w},o("FORGOT_PASSWORD"))),$.error&&$.error.length>0?T.createElement("div",{ref:F,className:f["error-message"]},$.error):null,T.createElement(R,{className:l(f["form-button"],f["submit-button"]),onClick:$.form===P?oe:ae},T.createElement("div",{className:f.label},$.form===P?o("SIGN_UP"):o("LOG_IN")))),T.createElement("div",{className:f["options-container"]},T.createElement(R,{className:l(f["form-button"],f["facebook-button"]),onClick:J},T.createElement(I,{className:f.icon,name:"facebook"}),T.createElement("div",{className:f.label},o("FB_LOGIN"))),T.createElement(R,{className:l(f["form-button"],f["apple-button"]),onClick:ee},T.createElement(I,{className:f.icon,name:"macos"}),T.createElement("div",{className:f.label},o("APPLE_LOGIN"))),$.form===P?T.createElement(R,{className:l(f["form-button"],f["login-form-button"]),onClick:Ae},T.createElement("div",{className:l(f.label,f.uppercase)},o("LOG_IN"))):null,$.form===B?T.createElement(R,{className:l(f["form-button"],f["signup-form-button"]),onClick:Ae},T.createElement("div",{className:l(f.label,f.uppercase)},o("SIGN_UP_EMAIL"))):null,$.form===P?T.createElement(R,{className:l(f["form-button"],f["guest-login-button"]),onClick:ie},T.createElement("div",{className:l(f.label,f.uppercase)},o("GUEST_LOGIN"))):null)),H?T.createElement(p,{email:$.email,onCloseRequest:Y}):null,K?T.createElement(u,{className:f["loading-modal-container"]},T.createElement("div",{className:f["loader-container"]},T.createElement(I,{className:f.icon,name:"person"}),T.createElement("div",{className:f.label},o("AUTHENTICATING")),T.createElement(R,{className:f.button,onClick:Z&&te},o("BUTTON_CANCEL")))):null)};g.propTypes={queryParams:S.instanceOf(URLSearchParams)},e.exports=g},99467:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(50266).useTranslation,E=a(2736),_=a(75394).useRouteFocused,T=a(60350).usePlatform,s=a(38177).ModalDialog,S=a(10206),l=a(58195),I=function(e){var t=e.email,a=e.onCloseRequest,o=r().t,E=_(),I=T(),A=i(n.useState(""),2),u=A[0],d=A[1],O=n.useRef(null),c=n.useCallback(function(){O.current.value.length>0&&O.current.validity.valid?I.openExternal("https://www.strem.io/reset-password/"+O.current.value,"_blank"):d("Invalid email")},[]),N=n.useMemo(function(){return[{className:l["cancel-button"],label:o("BUTTON_CANCEL"),props:{onClick:a}},{label:o("SEND"),props:{onClick:c}}]},[a]),R=n.useCallback(function(){d("")},[]);return n.useEffect(function(){E&&O.current.focus()},[E]),n.createElement(s,{className:l["password-reset-modal-container"],title:o("PASSWORD_RESET"),buttons:N,onCloseRequest:a},n.createElement(S,{ref:O,className:l["credentials-text-input"],type:"email",placeholder:"Email",defaultValue:"string"==typeof t?t:"",onChange:R,onSubmit:c}),u.length>0?n.createElement("div",{className:l["error-message"]},u):null)};I.propTypes={email:E.string,onCloseRequest:E.func},e.exports=I},38236:(e,t,a)=>{var i=a(99467);e.exports=i},37860:(e,t,a)=>{var i=a(29486);e.exports=i},67749:(e,t,a)=>{function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},i.apply(null,arguments)}function o(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return n(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var r=a(30758),E=a(50266).useTranslation,_=a(2736),T=a(97500),s=a(60001),S=a(60350),l=S.useProfile,I=S.useNotifications,A=S.routesRegexp,u=S.useOnScrollToBottom,d=S.withCoreSuspender,O=a(38177),c=O.DelayedRenderer,N=O.Chips,R=O.Image,m=O.MainNavBars,L=O.LibItem,D=O.MultiselectMenu,p=a(39445).default,C=a(78811),h=a(72715),f=a(41486);var P=function(e){var t=e.model,n=e.urlParams,_=e.queryParams,s=E().t,S=l(),A=I(),d=o(C(t,n,_),2),O=d[0],P=d[1],B=o(h(O),3),g=B[0],v=B[1],M=B[2],W=r.useRef(null),y=r.useCallback(function(){M&&P()},[M,P]),U=u(y,400);return r.useLayoutEffect(function(){null!==W.current&&O.selected&&1===O.selected.request.page&&0!==O.catalog.length&&(W.current.scrollTop=0)},[S.auth,O.selected]),r.useEffect(function(){var e;null!==(e=O.selected)&&void 0!==e&&e.type||!g.value||(window.location=g.value)},[g.value,O.selected]),r.createElement(m,{className:f["library-container"],route:t},null!==S.auth?r.createElement("div",{className:f["library-content"]},r.createElement("div",{className:f["selectable-inputs-container"]},r.createElement(D,i({},g,{className:f["select-input-container"]})),r.createElement(N,i({},v,{className:f["select-input-container"]}))),null===O.selected?r.createElement(c,{delay:500},r.createElement("div",{className:f["message-container"]},r.createElement(R,{className:f.image,src:a(32706),alt:" "}),r.createElement("div",{className:f["message-label"]},s("library"===t?"LIBRARY_NOT_LOADED":"BOARD_CONTINUE_WATCHING_NOT_LOADED")))):0===O.catalog.length?r.createElement("div",{className:f["message-container"]},r.createElement(R,{className:f.image,src:a(32706),alt:" "}),r.createElement("div",{className:f["message-label"]},s("library"===t?"LIBRARY_EMPTY":"BOARD_CONTINUE_WATCHING_EMPTY"))):r.createElement("div",{ref:W,className:T(f["meta-items-container"],"animation-fade-in"),onScroll:U},O.catalog.map(function(e,a){return r.createElement(L,i({},e,{notifications:A,removable:"library"===t,key:a}))}))):r.createElement(p,null))};P.propTypes={model:_.oneOf(["library","continue_watching"]),urlParams:_.shape({type:_.string}),queryParams:_.instanceOf(URLSearchParams)};var B=function(e){var t=e.model;return r.createElement(m,{className:f["library-container"],route:t})};B.propTypes=P.propTypes,e.exports=(function(e){var t=function(t){var a=t.urlParams,i=t.queryParams,o=r.useMemo(function(){return"string"==typeof a.path?a.path.match(A.library.regexp)?"library":a.path.match(A.continuewatching.regexp)?"continue_watching":null:null},[a.path]);return null===o?r.createElement(s,null):r.createElement(e,{key:o,model:o,urlParams:a,queryParams:i})};return t.displayName="withModel",t})(d(P,B))},9389:(e,t,a)=>{var i=a(67749);e.exports=i},78811:(e,t,a)=>{var i=a(30758),o=a(31187).useServices,n=a(60350).useModelState;e.exports=function(e,t,a){var r=o().core,E=i.useCallback(function(){r.transport.dispatch({action:"LibraryWithFilters",args:{action:"LoadNextPage"}},"library")},[]),_=i.useMemo(function(){return{action:"Load",args:{model:"LibraryWithFilters",args:{request:{type:"string"==typeof t.type?t.type:null,sort:a.has("sort")?a.get("sort"):void 0}}}}},[t,a]);return[n({model:e,action:_}),E]}},72715:(e,t,a)=>{var i=a(30758),o=a(60350).useTranslate;e.exports=function(e){var t=o(),a=i.useMemo(function(){return(function(e,t){var a=e.selectable.types.find(function(e){return e.selected})||e.selectable.types.find(function(e){return null===e.type});return[{options:e.selectable.types.map(function(e){var a=e.type;return{value:e.deepLinks.library,label:null===a?t.string("TYPE_ALL"):t.stringWithPrefix(a,"TYPE_")}}),value:null==a?void 0:a.deepLinks.library,onSelect:function(e){window.location=e}},{options:e.selectable.sorts.map(function(e){var a=e.sort;return{value:e.deepLinks.library,label:t.stringWithPrefix(a.toUpperCase(),"SORT_")}}),selected:e.selectable.sorts.filter(function(e){return e.selected}).map(function(e){return e.deepLinks.library}),onSelect:function(e){window.location=e}},e.selectable.nextPage]})(e,t)},[e]);return a}},52310:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(50266).useTranslation,E=a(2736),_=a(97500),T=a(31187).useServices,s=a(60350).withCoreSuspender,S=a(38177),l=S.VerticalNavBar,I=S.HorizontalNavBar,A=S.DelayedRenderer,u=S.Image,d=S.MetaPreview,O=S.ModalDialog,c=a(37349),N=a(59568),R=a(76739),m=a(91553),L=a(84372),D=a(77712),p=function(e){var t=e.urlParams,o=e.queryParams,E=r().t,s=T().core,S=R(t),p=i(m(t,o),2),C=p[0],h=p[1],f=i(L(S.metaExtensions),3),P=f[0],B=f[1],g=f[2],v=i(n.useMemo(function(){return null!==S.selected?[S.selected.metaPath,S.selected.streamPath]:[null,null]},[S.selected]),2),M=v[0],W=v[1],y=n.useMemo(function(){return null!==W&&null!==S.metaItem&&"Ready"===S.metaItem.content.type?S.metaItem.content.content.videos.reduce(function(e,t){return t.id===W.id?t:e},null):null},[S.metaItem,W]),U=n.useCallback(function(){null!==S.metaItem&&"Ready"===S.metaItem.content.type&&s.transport.dispatch({action:"Ctx",args:{action:"AddToLibrary",args:S.metaItem.content.content}})},[S]),b=n.useCallback(function(){null!==S.metaItem&&"Ready"===S.metaItem.content.type&&s.transport.dispatch({action:"Ctx",args:{action:"RemoveFromLibrary",args:S.metaItem.content.content.id}})},[S]),G=n.useCallback(function(){S.libraryItem&&s.transport.dispatch({action:"Ctx",args:{action:"ToggleLibraryItemNotifications",args:[S.libraryItem._id,!S.libraryItem.state.noNotif]}})},[S.libraryItem]),k=n.useCallback(function(e){h(e.value)},[h]),F=n.useCallback(function(e,a){var i=encodeURIComponent("".concat(t.id,":").concat(e,":").concat(a)),o=window.location.hash.replace(encodeURIComponent(t.videoId),i);window.location=o},[t,window.location]),V=n.useCallback(function(){return null},[]),H=n.useMemo(function(){var e;return!!(M&&null!=S&&S.metaItem&&"Loading"!==S.metaItem.content.type&&"string"==typeof(null===(e=S.metaItem.content.content)||void 0===e?void 0:e.background)&&S.metaItem.content.content.background.length>0)},[M,S]);return n.createElement("div",{className:D["metadetails-container"]},H?n.createElement("div",{className:D["background-image-layer"]},n.createElement(u,{className:D["background-image"],src:S.metaItem.content.content.background,renderFallback:V,alt:" "})):null,n.createElement(I,{className:D["nav-bar"],backButton:!0,fullscreenButton:!0,navMenu:!0}),n.createElement("div",{className:D["metadetails-content"]},P.length>0?n.createElement(l,{className:D["vertical-nav-bar"],tabs:P,selected:null!==B?B.url:null}):null,null===M?n.createElement(A,{delay:500},n.createElement("div",{className:D["meta-message-container"]},n.createElement(u,{className:D.image,src:a(32706),alt:" "}),n.createElement("div",{className:D["message-label"]},E("ERR_NO_META_SELECTED")))):null===S.metaItem?n.createElement("div",{className:D["meta-message-container"]},n.createElement(u,{className:D.image,src:a(32706),alt:" "}),n.createElement("div",{className:D["message-label"]},E("ERR_NO_ADDONS_FOR_META"))):"Err"===S.metaItem.content.type?n.createElement("div",{className:D["meta-message-container"]},n.createElement(u,{className:D.image,src:a(32706),alt:" "}),n.createElement("div",{className:D["message-label"]},E("ERR_NO_META_FOUND"))):"Loading"===S.metaItem.content.type?n.createElement(d.Placeholder,{className:D["meta-preview"]}):n.createElement(n.Fragment,null,n.createElement(d,{className:_(D["meta-preview"],"animation-fade-in"),name:S.metaItem.content.content.name,logo:S.metaItem.content.content.logo,runtime:S.metaItem.content.content.runtime,releaseInfo:S.metaItem.content.content.releaseInfo,released:S.metaItem.content.content.released,description:null!==y&&"string"==typeof y.overview&&y.overview.length>0?y.overview:S.metaItem.content.content.description,links:S.metaItem.content.content.links,trailerStreams:S.metaItem.content.content.trailerStreams,inLibrary:S.metaItem.content.content.inLibrary,toggleInLibrary:S.metaItem.content.content.inLibrary?b:U,metaId:S.metaItem.content.content.id,ratingInfo:S.ratingInfo})),n.createElement("div",{className:D.spacing}),null!==W?n.createElement(c,{className:D["streams-list"],streams:S.streams,video:y,type:W.type,onEpisodeSearch:F}):null!==M?n.createElement(N,{className:D["videos-list"],metaItem:S.metaItem,libraryItem:S.libraryItem,season:C,seasonOnSelect:k,toggleNotifications:G}):null),null!==B?n.createElement(O,{className:D["meta-extension-modal-container"],title:B.name,onCloseRequest:g},n.createElement("iframe",{className:D["meta-extension-modal-iframe"],sandbox:"allow-forms allow-scripts allow-same-origin",src:B.url})):null)};p.propTypes={urlParams:E.shape({type:E.string,id:E.string,videoId:E.string}),queryParams:E.instanceOf(URLSearchParams)};e.exports=s(p,function(){return n.createElement("div",{className:D["metadetails-container"]},n.createElement(I,{className:D["nav-bar"],backButton:!0,fullscreenButton:!0,navMenu:!0}))})},19632:(e,t,a)=>{var i=["className","videoId","videoReleased","addonName","name","description","thumbnail","progress","deepLinks"],o=["className","children"];function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},n.apply(null,arguments)}function r(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return E(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?E(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}function _(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var T=a(30758),s=a(2736),S=a(97500),l=a(10954).default,I=a(68305).t,A=a(60350),u=A.useProfile,d=A.usePlatform,O=A.useToast,c=A.useBinaryState,N=a(38177),R=N.Button,m=N.Image,L=N.Popup,D=a(31187).useServices,p=a(75394).useRouteFocused,C=a(41512),h=a(90237),f=function(e){var t=e.className,a=e.videoId,E=e.videoReleased,s=e.addonName,A=e.name,N=e.description,C=e.thumbnail,f=e.progress,P=e.deepLinks,B=_(e,i),g=u(),v=O(),M=d(),W=D().core,y=p(),U=r(c(!1),4),b=U[0],G=U[2],k=U[3],F=T.useCallback(function(e){e.nativeEvent.togglePopupPrevented||(e.nativeEvent.ctrlKey||2===e.nativeEvent.button)&&(e.preventDefault(),k())},[]),V=T.useCallback(function(e){e.nativeEvent.togglePopupPrevented||e.nativeEvent.ctrlKey||e.preventDefault()},[k]),H=T.useCallback(function(e){"mouse"===e.nativeEvent.pointerType||e.nativeEvent.togglePopupPrevented||k()},[k]),w=T.useCallback(function(e){e.nativeEvent.togglePopupPrevented=!0},[]),Y=T.useCallback(function(e){e.nativeEvent.togglePopupPrevented=!0},[]),z=T.useCallback(function(e){e.nativeEvent.togglePopupPrevented=!0},[]),K=T.useCallback(function(e){e.nativeEvent.buttonClickPrevented=!0},[]),j=T.useMemo(function(){return P?P.externalPlayer?P.externalPlayer.web?P.externalPlayer.web:P.externalPlayer.openPlayer?P.externalPlayer.openPlayer[M.name]?P.externalPlayer.openPlayer[M.name]:P.externalPlayer.playlist:P.player:P.player:null},[P]),x=T.useMemo(function(){var e;return j===(null==P||null===(e=P.externalPlayer)||void 0===e?void 0:e.playlist)?P.externalPlayer.fileName:null},[j,P]),Q=T.useMemo(function(){var e;return j===(null==P||null===(e=P.externalPlayer)||void 0===e?void 0:e.web)?"_blank":null},[j,P]),X=T.useMemo(function(){var e;return null==P||null===(e=P.externalPlayer)||void 0===e?void 0:e.download},[P]),$=T.useCallback(function(){"string"==typeof a&&W.transport.dispatch({action:"MetaDetails",args:{action:"MarkVideoAsWatched",args:[{id:a,released:E},!0]}})},[a,E]),q=T.useCallback(function(e){null!==g.settings.playerType&&($(),v.show({type:"success",title:"Stream opened in external player",timeout:4e3})),"function"==typeof B.onClick&&B.onClick(e)},[B.onClick,g.settings,$]),J=T.useCallback(function(e){e.preventDefault(),G(),X&&navigator.clipboard.writeText(X).then(function(){v.show({type:"success",title:I("PLAYER_COPY_STREAM_SUCCESS"),timeout:4e3})}).catch(function(){v.show({type:"error",title:I("PLAYER_COPY_STREAM_ERROR"),timeout:4e3})})},[X]),Z=T.useCallback(function(){return T.createElement(l,{className:h["placeholder-icon"],name:"ic_broken_link"})},[]),ee=T.useMemo(function(){return function(e){var t=e.className,a=e.children,i=_(e,o);return T.createElement(R,n({className:S(t,h["stream-container"]),title:s,href:j,target:Q,download:x,onClick:q},i),T.createElement("div",{className:h["info-container"]},"string"==typeof C&&C.length>0?T.createElement("div",{className:h["thumbnail-container"],title:A||s},T.createElement(m,{className:h.thumbnail,src:C,alt:" ",renderFallback:Z})):T.createElement("div",{className:h["addon-name-container"],title:A||s},T.createElement("div",{className:h["addon-name"]},A||s)),null!==f&&!isNaN(f)&&f>0?T.createElement("div",{className:h["progress-bar-container"]},T.createElement("div",{className:h["progress-bar"],style:{width:"".concat(f,"%")}}),T.createElement("div",{className:h["progress-bar-background"]})):null),T.createElement("div",{className:h["description-container"],title:N},N),T.createElement(l,{className:h.icon,name:"play"}),a)}},[C,f,s,A,N,j,Q,x,q]),te=T.useMemo(function(){return function(){return T.createElement("div",{className:h["context-menu-content"],onPointerDown:w,onContextMenu:Y,onClick:z,onKeyDown:K},T.createElement("div",{className:h["context-menu-title"]},N),T.createElement(R,{className:h["context-menu-option-container"],title:I("CTX_PLAY")},T.createElement(l,{className:h["menu-icon"],name:"play"}),T.createElement("div",{className:h["context-menu-option-label"]},I("CTX_PLAY"))),X&&T.createElement(R,{className:h["context-menu-option-container"],title:I("CTX_COPY_STREAM_LINK"),onClick:J},T.createElement(l,{className:h["menu-icon"],name:"link"}),T.createElement("div",{className:h["context-menu-option-label"]},I("CTX_COPY_STREAM_LINK"))))}},[J,q]);return T.useEffect(function(){y||G()},[y]),T.createElement(L,{className:t,onMouseUp:F,onLongPress:H,onContextMenu:V,open:b,onCloseRequest:G,renderLabel:ee,renderMenu:te})};f.Placeholder=C,f.propTypes={className:s.string,videoId:s.string,videoReleased:s.instanceOf(Date),addonName:s.string,name:s.string,description:s.string,thumbnail:s.string,progress:s.number,deepLinks:s.shape({player:s.string,externalPlayer:s.shape({download:s.string,streaming:s.string,playlist:s.string,fileName:s.string,web:s.string,openPlayer:s.shape({ios:s.string,android:s.string,windows:s.string,macos:s.string,linux:s.string})})}),onClick:s.func},e.exports=f},79567:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(34803),r=function(e){var t=e.className;return i.createElement("svg",{className:t,viewBox:"0 0 100 100"},i.createElement("circle",{className:n.background,cx:"50",cy:"50",r:"50"}),i.createElement("svg",{className:n.icon,x:"0",y:"25",width:"100",height:"50",viewBox:"0 0 37.14 32"},i.createElement("path",{d:"M 9.14,0 37.14,16 9.14,32 Z"})))};r.propTypes={className:o.string},e.exports=r},13474:(e,t,a)=>{var i=a(79567);e.exports=i},13813:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(13474),E=a(11495),_=function(e){var t=e.className;return i.createElement("div",{className:n(t,E["stream-placeholder-container"])},i.createElement("div",{className:E["addon-container"]},i.createElement("div",{className:E["addon-name"]})),i.createElement("div",{className:E["info-container"]},i.createElement("div",{className:E["description-container"]}),i.createElement("div",{className:E["description-container"]})),i.createElement(r,{className:E["play-icon"]}))};_.propTypes={className:o.string},e.exports=_},41512:(e,t,a)=>{var i=a(13813);e.exports=i},99434:(e,t,a)=>{var i=a(19632);e.exports=i},85324:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var o=["className","video","type","onEpisodeSearch"];function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},n.apply(null,arguments)}function r(e){return(function(e){if(Array.isArray(e))return l(e)})(e)||(function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||S(e)||(function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function E(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function _(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?E(Object(a),!0).forEach(function(t){T(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):E(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function T(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function s(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||S(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function S(e,t){if(e){if("string"==typeof e)return l(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var I=a(30758),A=a(2736),u=a(97500),d=a(50266).useTranslation,O=a(10954).default,c=a(38177),N=c.Button,R=c.Image,m=c.MultiselectMenu,L=a(31187).useServices,D=a(99434),p=a(52654),C=a(60350),h=C.usePlatform,f=C.useProfile,P=a(16533).default,B="ALL",g=function(e){var t=e.className,i=e.video,E=e.type,T=e.onEpisodeSearch,S=(function(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o})(e,o),l=d().t,A=L().core,c=h(),C=f(),g=I.useRef(null),v=s(I.useState(B),2),M=v[0],W=v[1],y=I.useCallback(function(e){g.current.scrollTo({top:0,left:0,behavior:"ios"===c.name?"smooth":"instant"}),W(e)},[c]),U=I.useMemo(function(){var e;return!C||null===C.auth||!0===(null===(e=C.auth)||void 0===e||null===(e=e.user)||void 0===e?void 0:e.isNewUser)&&!(null!=i&&i.upcoming)},[C,i]),b=I.useCallback(function(){i.deepLinks&&"string"==typeof i.deepLinks.metaDetailsVideos?window.location.replace(i.deepLinks.metaDetailsVideos+("number"==typeof i.season?"?".concat(new URLSearchParams({season:i.season})):null)):window.history.back()},[i]),G=I.useMemo(function(){return S.streams.filter(function(e){return"Loading"===e.content.type}).length},[S.streams]),k=I.useMemo(function(){return S.streams.filter(function(e){return"Ready"===e.content.type}).reduce(function(e,t){return e[t.addon.transportUrl]={addon:t.addon,streams:t.content.content.map(function(e){return _(_({},e),{},{onClick:function(){A.transport.analytics({event:"StreamClicked",args:{stream:e}})},addonName:t.addon.manifest.name})})},e},{})},[S.streams]),F=I.useMemo(function(){return M===B?Object.values(k).map(function(e){return e.streams}).flat(1):k[M]?k[M].streams:[]},[k,M]),V=I.useMemo(function(){return{options:[{value:B,label:l("ALL_ADDONS"),title:l("ALL_ADDONS")}].concat(r(Object.keys(k).map(function(e){return{value:e,label:k[e].addon.manifest.name,title:k[e].addon.manifest.name}}))),value:M,onSelect:y}},[k,M]),H=I.useCallback(function(e,t){T(e,t)},[T]);return I.createElement("div",{className:u(t,p["streams-list-container"])},I.createElement("div",{className:p["select-choices-wrapper"]},i?I.createElement(I.Fragment,null,I.createElement(N,{className:u(p["button-container"],p["back-button-container"]),tabIndex:-1,onClick:b},I.createElement(O,{className:p.icon,name:"chevron-back"})),I.createElement("div",{className:p["episode-title"]},"S".concat(null==i?void 0:i.season,"E").concat(null==i?void 0:i.episode," ").concat(null==i?void 0:i.title))):null,Object.keys(k).length>1?I.createElement(m,n({},V,{className:p["select-input-container"]})):null),0===S.streams.length?I.createElement("div",{className:p["message-container"]},"series"===E?I.createElement(P,{className:p.search,onSubmit:H}):null,I.createElement(R,{className:p.image,src:a(32706),alt:" "}),I.createElement("div",{className:p.label},l("ERR_NO_ADDONS_FOR_STREAMS"))):S.streams.every(function(e){return"Err"===e.content.type})?I.createElement("div",{className:p["message-container"]},"series"===E?I.createElement(P,{className:p.search,onSubmit:H}):null,null!=i&&i.upcoming?I.createElement("div",{className:p.label},l("UPCOMING"),"..."):null,I.createElement(R,{className:p.image,src:a(32706),alt:" "}),I.createElement("div",{className:p.label},l("NO_STREAM")),U?I.createElement(N,{className:p["install-button-container"],title:l("ADDON_CATALOGUE_MORE"),href:"#/addons"},I.createElement(O,{className:p.icon,name:"addons"}),I.createElement("div",{className:p.label},l("ADDON_CATALOGUE_MORE"))):null):0===F.length?I.createElement("div",{className:p["streams-container"]},I.createElement(D.Placeholder,null),I.createElement(D.Placeholder,null)):I.createElement(I.Fragment,null,G>0?I.createElement("div",{className:p["addons-loading-container"]},I.createElement("div",{className:p["addons-loading"]},G," ",l("MOBILE_ADDONS_LOADING")),I.createElement("span",{className:p["addons-loading-bar"]})):null,I.createElement("div",{className:p["streams-container"],ref:g},F.map(function(e,t){return I.createElement(D,{key:t,videoId:null==i?void 0:i.id,videoReleased:null==i?void 0:i.released,addonName:e.addonName,name:e.name,description:e.description,thumbnail:e.thumbnail,progress:e.progress,deepLinks:e.deepLinks,onClick:e.onClick})}),U?I.createElement(N,{className:p["install-button-container"],title:l("ADDON_CATALOGUE_MORE"),href:"#/addons"},I.createElement(O,{className:p.icon,name:"addons"}),I.createElement("div",{className:p.label},l("ADDON_CATALOGUE_MORE"))):null)))};g.propTypes={className:A.string,streams:A.arrayOf(A.object).isRequired,video:A.object,type:A.string,onEpisodeSearch:A.func},e.exports=g},37349:(e,t,a)=>{var i=a(85324);e.exports=i},83551:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(2736),E=a(97500),_=a(68305).t,T=a(10954).default,s=a(38177),S=s.Button,l=s.MultiselectMenu,I=a(38589),A=a(98287),u=function(e){var t=e.className,a=e.seasons,o=e.season,r=e.onSelect,s=n.useMemo(function(){return a.map(function(e){return{value:String(e),label:e>0?_("SEASON_NUMBER",{season:e}):_("SPECIAL")}})},[a]),I=n.useMemo(function(){return String(o)},[o]),u=n.useCallback(function(e){if("function"==typeof r){var t=a.indexOf(o),i="next"===e.currentTarget.dataset.action?t+1<a.length?t+1:a.length-1:t-1>=0?t-1:0,n=a[i];r({type:"select",value:n,reactEvent:e,nativeEvent:e.nativeEvent})}},[o,a,r]),d=n.useCallback(function(e){"function"==typeof r&&r({type:"select",value:e,reactEvent:event.reactEvent,nativeEvent:event.nativeEvent})},[r]),O=i(n.useMemo(function(){var e=a.indexOf(o);return[0===e,e===a.length-1]},[o,a]),2),c=O[0],N=O[1];return n.createElement("div",{className:E(t,A["seasons-bar-container"])},n.createElement(S,{className:E(A["prev-season-button"],{disabled:c}),title:_("PREV_SEASON"),"data-action":"prev",onClick:u},n.createElement(T,{className:A.icon,name:"chevron-back"}),n.createElement("div",{className:A.label},_("BUTTON_PREV"))),n.createElement(l,{className:A["seasons-popup-label-container"],options:s,title:o>0?_("SEASON_NUMBER",{season:o}):_("SPECIAL"),value:I,onSelect:d}),n.createElement(S,{className:E(A["next-season-button"],{disabled:N}),title:_("NEXT_SEASON"),"data-action":"next",onClick:u},n.createElement("div",{className:A.label},_("BUTTON_NEXT")),n.createElement(T,{className:A.icon,name:"chevron-forward"})))};u.Placeholder=I,u.propTypes={className:r.string,seasons:r.arrayOf(r.number).isRequired,season:r.number.isRequired,onSelect:r.func},e.exports=u},67149:(e,t,a)=>{var i=a(30758),o=a(50266).useTranslation,n=a(2736),r=a(97500),E=a(10954).default,_=a(25690),T=function(e){var t=e.className,a=o().t;return i.createElement("div",{className:r(t,_["seasons-bar-placeholder-container"])},i.createElement("div",{className:_["prev-season-button"]},i.createElement(E,{className:_.icon,name:"chevron-back"}),i.createElement("div",{className:_.label},a("SEASON_PREV"))),i.createElement("div",{className:_["seasons-popup-label-container"]},i.createElement("div",{className:_["seasons-popup-label"]},a("SEASON_NUMBER",{season:1})),i.createElement(E,{className:_["seasons-popup-icon"],name:"caret-down"})),i.createElement("div",{className:_["next-season-button"]},i.createElement("div",{className:_.label},a("SEASON_NEXT")),i.createElement(E,{className:_.icon,name:"chevron-forward"})))};T.propTypes={className:n.string},e.exports=T},38589:(e,t,a)=>{var i=a(67149);e.exports=i},99962:(e,t,a)=>{var i=a(83551);e.exports=i},44722:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(2736),E=a(97500),_=a(68305).t,T=a(31187).useServices,s=a(60350).useProfile,S=a(38177),l=S.Image,I=S.SearchBar,A=S.Toggle,u=S.Video,d=a(99962),O=a(16533).default,c=a(5019),N=function(e){var t=e.className,o=e.metaItem,r=e.libraryItem,S=e.season,N=e.seasonOnSelect,R=e.toggleNotifications,m=T().core,L=s(),D=n.useMemo(function(){var e,t;return(null==o||null===(e=o.content)||void 0===e||null===(e=e.content)||void 0===e?void 0:e.inLibrary)&&(null==o||null===(t=o.content)||void 0===t||null===(t=t.content)||void 0===t||null===(t=t.videos)||void 0===t?void 0:t.length)},[o]),p=n.useMemo(function(){return o&&"Ready"===o.content.type?o.content.content.videos:[]},[o]),C=n.useMemo(function(){return p.map(function(e){return e.season}).filter(function(e,t,a){return null!==e&&!isNaN(e)&&"number"==typeof e&&a.indexOf(e)===t}).sort(function(e,t){return(e||Number.MAX_SAFE_INTEGER)-(t||Number.MAX_SAFE_INTEGER)})},[p]),h=n.useMemo(function(){if(C.includes(S))return S;var e=null==p?void 0:p.find(function(e){return e.id===(null==r?void 0:r.state.video_id)});if(e&&e.season&&C.includes(e.season))return e.season;var t=C.filter(function(e){return 0!==e});return t.length>0?t[0]:C.length>0?C[0]:null},[C,S,p,r]),f=n.useMemo(function(){return p.filter(function(e){return null===h||e.season===h}).sort(function(e,t){return e.episode-t.episode})},[p,h]),P=n.useMemo(function(){return f.every(function(e){return e.watched})},[f]),B=i(n.useState(""),2),g=B[0],v=B[1],M=n.useCallback(function(e){v(e.currentTarget.value)},[]),W=function(e,t){m.transport.dispatch({action:"MetaDetails",args:{action:"MarkVideoAsWatched",args:[e,!t]}})},y=function(e,t){m.transport.dispatch({action:"MetaDetails",args:{action:"MarkSeasonAsWatched",args:[e,!t]}})};return n.createElement("div",{className:E(t,c["videos-list-container"])},o&&"Loading"!==o.content.type?"Err"===o.content.type||0===f.length?n.createElement("div",{className:c["message-container"]},n.createElement(O,{className:c["episode-picker"],onSubmit:function(e){e&&N({type:"select",value:e})}}),n.createElement(l,{className:c.image,src:a(32706),alt:" "}),n.createElement("div",{className:c.label},_("ERR_NO_VIDEOS_FOR_META"))):n.createElement(n.Fragment,null,D&&r?n.createElement(A,{className:c["notifications-toggle"],checked:!r.state.noNotif,onClick:R},_("DETAIL_RECEIVE_NOTIF_SERIES")):null,C.length>0?n.createElement(d,{className:c["seasons-bar"],season:h,seasons:C,onSelect:N}):null,n.createElement(I,{className:c["search-bar"],title:_("SEARCH_VIDEOS"),value:g,onChange:M}),n.createElement("div",{className:c["videos-container"]},f.filter(function(e){return 0===g.length||"string"==typeof e.title&&e.title.toLowerCase().includes(g.toLowerCase())||!isNaN(e.released.getTime())&&e.released.toLocaleString(L.settings.interfaceLanguage,{year:"2-digit",month:"short",day:"numeric"}).toLowerCase().includes(g.toLowerCase())}).map(function(e,t){return n.createElement(u,{key:t,id:e.id,title:e.title,thumbnail:e.thumbnail,season:e.season,episode:e.episode,released:e.released,upcoming:e.upcoming,watched:e.watched,progress:e.progress,deepLinks:e.deepLinks,scheduled:e.scheduled,seasonWatched:P,onMarkVideoAsWatched:W,onMarkSeasonAsWatched:y})}))):n.createElement(n.Fragment,null,n.createElement(d.Placeholder,{className:c["seasons-bar"]}),n.createElement(I.Placeholder,{className:c["search-bar"],title:_("SEARCH_VIDEOS")}),n.createElement("div",{className:c["videos-scroll-container"]},n.createElement(u.Placeholder,null),n.createElement(u.Placeholder,null),n.createElement(u.Placeholder,null),n.createElement(u.Placeholder,null),n.createElement(u.Placeholder,null))))};N.propTypes={className:r.string,metaItem:r.object,libraryItem:r.object,season:r.number,seasonOnSelect:r.func,toggleNotifications:r.func},e.exports=N},59568:(e,t,a)=>{var i=a(44722);e.exports=i},91859:(e,t,a)=>{var i=a(52310);e.exports=i},76739:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){r(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function r(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var E=a(30758),_=a(60350).useModelState,T=function(e){return n(n({},e),{},{metaItem:null!==e.metaItem&&"Ready"===e.metaItem.content.type?n(n({},e.metaItem),{},{content:n(n({},e.metaItem.content),{},{content:n(n({},e.metaItem.content.content),{},{released:new Date("string"==typeof e.metaItem.content.content.released?e.metaItem.content.content.released:NaN),videos:e.metaItem.content.content.videos.map(function(e){return n(n({},e),{},{released:new Date("string"==typeof e.released?e.released:NaN)})})})})}):e.metaItem})};e.exports=function(e){var t=E.useMemo(function(){return"string"==typeof e.type&&"string"==typeof e.id?{action:"Load",args:{model:"MetaDetails",args:{metaPath:{resource:"meta",type:e.type,id:e.id,extra:[]},streamPath:"string"==typeof e.videoId?{resource:"stream",type:e.type,id:e.videoId,extra:[]}:null,guessStream:!0}}}:{action:"Unload"}},[e]);return _({model:"meta_details",action:t,map:T})}},84372:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758);e.exports=function(e){var t=n.useMemo(function(){return e.map(function(e){return{id:e.url,label:e.addon.manifest.name,logo:e.addon.manifest.logo,icon:"addons",onClick:function(){return r(e)}}})},[e]),a=i(n.useState(null),2),o=a[0],r=a[1];return[t,o,n.useCallback(function(){r(null)},[])]}},91553:(e,t,a)=>{var i=a(30758);e.exports=function(e,t){var a=i.useMemo(function(){return t.has("season")&&!isNaN(t.get("season"))?parseInt(t.get("season"),10):null},[t]),o=i.useCallback(function(a){var i=new URLSearchParams(t);i.set("season",a),window.location.replace("#".concat(e.path,"?").concat(i))},[e,t]);return[a,o]}},5514:(e,t,a)=>{var i=a(30758),o=a(50266).useTranslation,n=a(38177),r=n.HorizontalNavBar,E=n.Image,_=a(76152);e.exports=function(){var e=o().t;return i.createElement("div",{className:_["not-found-container"]},i.createElement(r,{className:_["nav-bar"],title:e("PAGE_NOT_FOUND"),backButton:!0,fullscreenButton:!0,navMenu:!0}),i.createElement("div",{className:_["not-found-content"]},i.createElement(E,{className:_["not-found-image"],src:a(32706),alt:" "}),i.createElement("div",{className:_["not-found-label"]},e("PAGE_NOT_FOUND"))))}},60001:(e,t,a)=>{var i=a(5514);e.exports=i},58872:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(38177).Image,E=a(56044),_=i.forwardRef(function(e,t){var o=e.className,_=e.logo;return i.createElement("div",{ref:t,className:n(o,E["buffering-loader-container"])},i.createElement(r,{className:E["buffering-loader"],src:_,alt:" ",fallbackSrc:a(9387)}))});_.propTypes={className:o.string,logo:o.string},e.exports=_},64773:(e,t,a)=>{var i=a(58872);e.exports=i},29442:(e,t,a)=>{var i=["className","paused","time","duration","buffered","volume","muted","playbackSpeed","subtitlesTracks","audioTracks","metaItem","nextVideo","stream","statistics","onPlayRequested","onPauseRequested","onNextVideoRequested","onMuteRequested","onUnmuteRequested","onVolumeChangeRequested","onSeekRequested","onToggleSubtitlesMenu","onToggleAudioMenu","onToggleSpeedMenu","onToggleSideDrawer","onToggleOptionsMenu","onToggleStatisticsMenu","onTouchEnd"];function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},o.apply(null,arguments)}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return r(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?r(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var E=a(30758),_=a(2736),T=a(97500),s=a(10954).default,S=a(38177).Button,l=a(31187).useServices,I=a(23232),A=a(27708),u=a(54675),d=a(60350),O=d.useBinaryState,c=d.usePlatform,N=a(68305).t,R=function(e){var t,a=e.className,r=e.paused,_=e.time,d=e.duration,R=e.buffered,m=e.volume,L=e.muted,D=e.playbackSpeed,p=e.subtitlesTracks,C=e.audioTracks,h=e.metaItem,f=e.nextVideo,P=e.stream,B=e.statistics,g=e.onPlayRequested,v=e.onPauseRequested,M=e.onNextVideoRequested,W=e.onMuteRequested,y=e.onUnmuteRequested,U=e.onVolumeChangeRequested,b=e.onSeekRequested,G=e.onToggleSubtitlesMenu,k=e.onToggleAudioMenu,F=e.onToggleSpeedMenu,V=e.onToggleSideDrawer,H=e.onToggleOptionsMenu,w=e.onToggleStatisticsMenu,Y=e.onTouchEnd,z=(function(e,t){if(null==e)return{};var a,i,o=(function(e,t){if(null==e)return{};var a={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;a[i]=e[i]}return a})(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)a=n[i],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o})(e,i),K=l().chromecast,j=c(),x=n(E.useState(function(){return K.active}),2),Q=x[0],X=x[1],$=n(O(!1),4),q=$[0],J=$[3],Z=E.useCallback(function(e){e.nativeEvent.subtitlesMenuClosePrevented=!0},[]),ee=E.useCallback(function(e){e.nativeEvent.audioMenuClosePrevented=!0},[]),te=E.useCallback(function(e){e.nativeEvent.speedMenuClosePrevented=!0},[]),ae=E.useCallback(function(e){e.nativeEvent.videosMenuClosePrevented=!0},[]),ie=E.useCallback(function(e){e.nativeEvent.optionsMenuClosePrevented=!0},[]),oe=E.useCallback(function(e){e.nativeEvent.statisticsMenuClosePrevented=!0},[]),ne=E.useCallback(function(){r?"function"==typeof g&&g():"function"==typeof v&&v()},[r,g,v]),re=E.useCallback(function(){null!==f&&"function"==typeof M&&M()},[f,M]),Ee=E.useCallback(function(){L?"function"==typeof y&&y():"function"==typeof W&&W()},[L,W,y]),_e=E.useCallback(function(){K.transport.requestSession()},[]);return E.useEffect(function(){var e=function(){X(K.active)};return K.on("stateChanged",e),function(){K.off("stateChanged",e)}},[]),E.createElement("div",o({},z,{onTouchStart:z.onMouseOver,onTouchMove:z.onMouseMove,onTouchEnd:Y,className:T(a,u["control-bar-container"])}),E.createElement(I,{className:u["seek-bar"],time:_,duration:d,buffered:R,onSeekRequested:b}),E.createElement("div",{className:u["control-bar-buttons-container"]},E.createElement(S,{className:T(u["control-bar-button"],{disabled:"boolean"!=typeof r}),title:N(r?"PLAYER_PLAY":"PLAYER_PAUSE"),tabIndex:-1,onClick:ne},E.createElement(s,{className:u.icon,name:"boolean"!=typeof r||r?"play":"pause"})),null!==f?E.createElement(S,{className:T(u["control-bar-button"]),title:N("PLAYER_NEXT_VIDEO"),tabIndex:-1,onClick:re},E.createElement(s,{className:u.icon,name:"next"})):null,E.createElement(S,{className:T(u["control-bar-button"],{disabled:"boolean"!=typeof L}),title:N(L?"PLAYER_UNMUTE":"PLAYER_MUTE"),tabIndex:-1,onClick:Ee},E.createElement(s,{className:u.icon,name:"boolean"==typeof L&&L?"volume-mute":null===m||isNaN(m)?"volume-off":0===m?"volume-mute":m<30?"volume-low":m<70?"volume-medium":"volume-high"})),j.isMobile?null:E.createElement(A,{className:u["volume-slider"],volume:m,muted:L,onVolumeChangeRequested:U}),E.createElement("div",{className:u.spacing}),E.createElement(S,{className:u["control-bar-buttons-menu-button"],onClick:J},E.createElement(s,{className:u.icon,name:"more-vertical"})),E.createElement("div",{className:T(u["control-bar-buttons-menu-container"],{open:q})},E.createElement(S,{className:T(u["control-bar-button"],{disabled:null===B||"Err"===B.type||null===P||"string"!=typeof P.infoHash||"number"!=typeof P.fileIdx}),tabIndex:-1,onMouseDown:oe,onClick:w},E.createElement(s,{className:u.icon,name:"network"})),E.createElement(S,{className:T(u["control-bar-button"],{disabled:null===D}),tabIndex:-1,onMouseDown:te,onClick:F},E.createElement(s,{className:u.icon,name:"speed"})),E.createElement(S,{className:T(u["control-bar-button"],{disabled:!Q}),tabIndex:-1,onClick:_e},E.createElement(s,{className:u.icon,name:"cast"})),E.createElement(S,{className:T(u["control-bar-button"],{disabled:!Array.isArray(p)||0===p.length}),tabIndex:-1,onMouseDown:Z,onClick:G},E.createElement(s,{className:u.icon,name:"subtitles"})),E.createElement(S,{className:T(u["control-bar-button"],{disabled:!Array.isArray(C)||0===C.length}),tabIndex:-1,onMouseDown:ee,onClick:k},E.createElement(s,{className:u.icon,name:"audio-tracks"})),(null==h||null===(t=h.content)||void 0===t||null===(t=t.videos)||void 0===t?void 0:t.length)>0?E.createElement(S,{className:u["control-bar-button"],tabIndex:-1,onMouseDown:ae,onClick:V},E.createElement(s,{className:u.icon,name:"episodes"})):null,E.createElement(S,{className:T(u["control-bar-button"],{disabled:!P}),tabIndex:-1,onMouseDown:ie,onClick:H},E.createElement(s,{className:u.icon,name:"more-horizontal"})))))};R.propTypes={className:_.string,paused:_.bool,time:_.number,duration:_.number,buffered:_.number,volume:_.number,muted:_.bool,playbackSpeed:_.number,subtitlesTracks:_.array,audioTracks:_.array,metaItem:_.object,nextVideo:_.object,stream:_.object,statistics:_.object,onPlayRequested:_.func,onPauseRequested:_.func,onNextVideoRequested:_.func,onMuteRequested:_.func,onUnmuteRequested:_.func,onVolumeChangeRequested:_.func,onSeekRequested:_.func,onToggleSubtitlesMenu:_.func,onToggleAudioMenu:_.func,onToggleSpeedMenu:_.func,onToggleSideDrawer:_.func,onToggleOptionsMenu:_.func,onToggleStatisticsMenu:_.func,onMouseOver:_.func,onMouseMove:_.func,onTouchEnd:_.func},e.exports=R},57297:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(2736),E=a(97500),_=a(32889),T=a(75394).useRouteFocused,s=a(60350).useBinaryState,S=a(38177),l=S.Button,I=S.Slider,A=a(78976),u=a(78565),d=function(e){var t=e.className,a=e.time,o=e.duration,r=e.buffered,S=e.onSeekRequested,d=null===a||isNaN(a)||null===o||isNaN(o),O=T(),c=i(n.useState(null),2),N=c[0],R=c[1],m=i(s(!1),4),L=m[0],D=m[3],p=n.useCallback(_(function(){R(null)},1500),[]),C=n.useCallback(function(e){p.cancel(),R(e)},[]),h=n.useCallback(function(e){p(),R(e),"function"==typeof S&&S(e)},[S]);return n.useLayoutEffect(function(){O&&!d||(p.cancel(),R(null))},[O,d]),n.useEffect(function(){return function(){p.cancel()}},[]),n.createElement("div",{className:E(t,u["seek-bar-container"],{active:null!==N})},n.createElement("div",{className:u.label},A(null!==N?N:a)),n.createElement(I,{className:E(u.slider,{active:null!==N}),value:d?0:null!==N?N:a,buffered:r,minimumValue:0,maximumValue:o,disabled:d,onSlide:C,onComplete:h}),n.createElement(l,{onClick:D,tabIndex:-1},n.createElement("div",{className:u.label},L&&null!==o&&!isNaN(o)?A(o-a,"-"):A(o))))};d.propTypes={className:r.string,time:r.number,duration:r.number,buffered:r.number,onSeekRequested:r.func},e.exports=d},78976:e=>{var t=function(e){return("0"+e).slice(-1*Math.max(e.toString().length,2))};e.exports=function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(null===e||isNaN(e))return"--:--:--";var i=Math.floor(e/36e5),o=Math.floor(e/6e4%60),n=Math.floor(e/1e3%60);return"".concat(t(i),":").concat(t(o),":").concat(t(n)).concat(a)}},23232:(e,t,a)=>{var i=a(57297);e.exports=i},60941:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(2736),E=a(97500),_=a(32889),T=a(75394).useRouteFocused,s=a(31187).useServices,S=a(38177).Slider,l=a(99995),I=function(e){var t=e.className,a=e.volume,o=e.onVolumeChangeRequested,r=e.muted,I=s().shell,A=null===a||isNaN(a),u=T(),d=i(n.useState(null),2),O=d[0],c=d[1],N=I.active?200:100,R=n.useCallback(_(function(){c(null)},100),[]),m=n.useCallback(function(e){R.cancel(),c(e),"function"==typeof o&&o(e)},[o]),L=n.useCallback(function(e){R(),c(e),"function"==typeof o&&o(e)},[o]);return n.useLayoutEffect(function(){u&&!A||(R.cancel(),c(null))},[u,A]),n.useEffect(function(){return function(){R.cancel()}},[]),n.createElement(S,{className:E(t,l["volume-slider"],{active:null!==O}),value:A?100:r?0:null!==O?O:a,minimumValue:0,maximumValue:N,disabled:A,onSlide:m,onComplete:L,audioBoost:!!I.active})};I.propTypes={className:r.string,volume:r.number,onVolumeChangeRequested:r.func,muted:r.bool},e.exports=I},27708:(e,t,a)=>{var i=a(60941);e.exports=i},91682:(e,t,a)=>{var i=a(29442);e.exports=i},48980:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(50266).useTranslation,E=a(2736),_=a(97500),T=a(10954).default,s=a(38177).Button,S=a(33929),l=n.forwardRef(function(e,t){var a=e.className,o=e.code,E=e.message,l=e.stream,I=r().t,A=i(n.useMemo(function(){var e,t;return[null==l||null===(e=l.deepLinks)||void 0===e||null===(e=e.externalPlayer)||void 0===e?void 0:e.playlist,null==l||null===(t=l.deepLinks)||void 0===t||null===(t=t.externalPlayer)||void 0===t?void 0:t.fileName]},[l]),2),u=A[0],d=A[1];return n.createElement("div",{ref:t,className:_(a,S.error)},n.createElement("div",{className:S["error-label"],title:E},E),2===o?n.createElement("div",{className:S["error-sub"],title:I("EXTERNAL_PLAYER_HINT")},I("EXTERNAL_PLAYER_HINT")):null,u&&d?n.createElement(s,{className:S["playlist-button"],title:I("PLAYER_OPEN_IN_EXTERNAL"),href:u,download:d,target:"_blank"},n.createElement(T,{className:S.icon,name:"ic_downloads"}),n.createElement("div",{className:S.label},I("PLAYER_OPEN_IN_EXTERNAL"))):null)});l.propTypes={className:E.string,code:E.number,message:E.string,stream:E.object},e.exports=l},66630:(e,t,a)=>{var i=a(48980);e.exports=i},49194:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return r(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?r(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var E=a(30758),_=a(2736),T=a(97500),s=a(10954).default,S=a(60350),l=S.CONSTANTS,I=S.useProfile,A=a(38177),u=A.Button,d=A.Image,O=a(1631),c=a(50266).useTranslation,N=function(e){var t=e.className,a=e.metaItem,i=e.nextVideo,r=e.onDismiss,_=e.onNextVideoRequested,S=c().t,A=I().settings.hideSpoilers&&"series"===a.type,N=E.useRef(null),R=n(E.useState(!1),2),m=R[0],L=R[1],D=E.useMemo(function(){var e=i&&i.title||a&&a.title;return null!==i&&"number"==typeof i.season&&"number"==typeof i.episode?"".concat(e," (S").concat(i.season,"E").concat(i.episode,")"):e},[a,i]),p=E.useCallback(function(){L(!0)},[]),C=E.useCallback(function(){return null!==a&&"string"==typeof a.type?E.createElement(s,{className:O["placeholder-icon"],name:l.ICON_FOR_TYPE.has(a.type)?l.ICON_FOR_TYPE.get(a.type):l.ICON_FOR_TYPE.get("other")}):null},[a]),h=E.useCallback(function(){"function"==typeof r&&r()},[r]),f=E.useCallback(function(){"function"==typeof _&&_()},[_]);return E.useLayoutEffect(function(){!0===m&&null!==N.current&&N.current.focus()},[m]),E.createElement("div",{className:T(t,O["next-video-popup-container"]),onAnimationEnd:p},E.createElement("div",{className:O["poster-container"]},E.createElement(d,{className:T(O["poster-image"],o({},O.blurred,A)),src:null==i?void 0:i.thumbnail,alt:" ",fallbackSrc:null==a?void 0:a.poster,renderFallback:C})),E.createElement("div",{className:O["info-container"]},E.createElement("div",{className:O["details-container"]},"string"==typeof(null==a?void 0:a.name)?E.createElement("div",{className:O.name},E.createElement("span",{className:O.label},S("PLAYER_NEXT_VIDEO_TITLE_SHORT"))," ",a.name):null,"string"==typeof D?E.createElement("div",{className:O.title},D):null),E.createElement("div",{className:O["buttons-container"]},E.createElement(u,{className:T(O["button-container"],O.dismiss),onClick:h},E.createElement(s,{className:O.icon,name:"close"}),E.createElement("div",{className:O.label},S("PLAYER_NEXT_VIDEO_BUTTON_DISMISS"))),E.createElement(u,{ref:N,className:T(O["button-container"],O["play-button"]),onClick:f},E.createElement(s,{className:O.icon,name:"play"}),E.createElement("div",{className:O.label},S("PLAYER_NEXT_VIDEO_BUTTON_WATCH"))))))};N.propTypes={className:_.string,metaItem:_.object,nextVideo:_.object,onDismiss:_.func,onNextVideoRequested:_.func},e.exports=N},79690:(e,t,a)=>{var i=a(49194);e.exports=i},45982:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(10954).default,E=a(38177).Button,_=a(9484),T=function(e){var t=e.icon,a=e.label,o=e.deviceId,T=e.disabled,s=e.onClick,S=i.useCallback(function(){"function"==typeof s&&s(o)},[s,o]);return i.createElement(E,{className:n(_["option-container"],{disabled:T}),disabled:T,onClick:S},i.createElement(r,{className:_.icon,name:t}),i.createElement("div",{className:_.label},a))};T.propTypes={icon:o.string,label:o.string,deviceId:o.string,disabled:o.bool,onClick:o.func},e.exports=T},46191:(e,t,a)=>{var i=a(45982);e.exports=i},89772:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(2736),E=a(97500),_=a(50266).useTranslation,T=a(60350),s=T.usePlatform,S=T.useToast,l=a(31187).useServices,I=a(46191),A=a(44236),u=function(e){var t=e.className,a=e.stream,o=e.playbackDevices,r=e.extraSubtitlesTracks,T=e.selectedExtraSubtitlesTrackId,u=_().t,d=l().core,O=s(),c=S(),N=i(n.useMemo(function(){return null!==a?a.deepLinks&&a.deepLinks.externalPlayer&&[a.deepLinks.externalPlayer.streaming,a.deepLinks.externalPlayer.download]:[null,null]},[a]),2),R=N[0],m=N[1],L=n.useMemo(function(){return o.filter(function(e){return"external"===e.type})},[o]),D=n.useMemo(function(){var e,t,a=null==r?void 0:r.find(function(e){return e.id===T});return null!==(e=null!==(t=null==a?void 0:a.fallbackUrl)&&void 0!==t?t:null==a?void 0:a.url)&&void 0!==e?e:null},[r,T]),p=n.useCallback(function(){(R||m)&&navigator.clipboard.writeText(R||m).then(function(){c.show({type:"success",title:"Copied",message:u("PLAYER_COPY_STREAM_SUCCESS"),timeout:3e3})}).catch(function(e){console.error(e),c.show({type:"error",title:u("Error"),message:"".concat(u("PLAYER_COPY_STREAM_ERROR"),": ").concat(R||m),timeout:3e3})})},[R,m]),C=n.useCallback(function(){(R||m)&&O.openExternal(R||m)},[R,m]),h=n.useCallback(function(){D&&O.openExternal(D)},[D]),f=n.useCallback(function(e){R&&d.transport.dispatch({action:"StreamingServer",args:{action:"PlayOnDevice",args:{device:e,source:R}}})},[R]),P=n.useCallback(function(e){e.nativeEvent.optionsMenuClosePrevented=!0},[]);return n.createElement("div",{className:E(t,A["options-menu-container"]),onMouseDown:P},R||m?n.createElement(I,{icon:"link",label:u("CTX_COPY_STREAM_LINK"),disabled:null===a,onClick:p}):null,R||m?n.createElement(I,{icon:"download",label:u("CTX_DOWNLOAD_VIDEO"),disabled:null===a,onClick:C}):null,D?n.createElement(I,{icon:"download",label:u("CTX_DOWNLOAD_SUBS"),disabled:null===a,onClick:h}):null,R&&L.map(function(e){var t=e.id,i=e.name;return n.createElement(I,{key:t,icon:"vlc",label:u("PLAYER_PLAY_IN",{device:i}),deviceId:t,disabled:null===a,onClick:f})}))};u.propTypes={className:r.string,stream:r.object,playbackDevices:r.array,extraSubtitlesTracks:r.array,selectedExtraSubtitlesTrackId:r.string},e.exports=u},3365:(e,t,a)=>{var i=a(89772);e.exports=i},44066:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)({}).hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},o.apply(null,arguments)}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){E(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function E(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function _(){var e,t,a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",o=a.toStringTag||"@@toStringTag";function n(a,i,o,n){var _=i&&i.prototype instanceof E?i:E,s=Object.create(_.prototype);return T(s,"_invoke",(function(a,i,o){var n,E,_,T=0,s=o||[],S=!1,l={p:0,n:0,v:e,a:I,f:I.bind(e,4),d:function(t,a){return n=t,E=0,_=e,l.n=a,r}};function I(a,i){for(E=a,_=i,t=0;!S&&T&&!o&&t<s.length;t++){var o,n=s[t],I=l.p,A=n[2];a>3?(o=A===i)&&(_=n[(E=n[4])?5:(E=3,3)],n[4]=n[5]=e):n[0]<=I&&((o=a<2&&I<n[1])?(E=0,l.v=i,l.n=n[1]):I<A&&(o=a<3||n[0]>i||i>A)&&(n[4]=a,n[5]=i,l.n=A,E=0))}if(o||a>1)return r;throw S=!0,i}return function(o,s,A){if(T>1)throw TypeError("Generator is already running");for(S&&1===s&&I(s,A),E=s,_=A;(t=E<2?e:_)||!S;){n||(E?E<3?(E>1&&(l.n=-1),I(E,_)):l.n=_:l.v=_);try{if(T=2,n){if(E||(o="next"),t=n[o]){if(!(t=t.call(n,_)))throw TypeError("iterator result is not an object");if(!t.done)return t;_=t.value,E<2&&(E=0)}else 1===E&&(t=n.return)&&t.call(n),E<2&&(_=TypeError("The iterator does not provide a '"+o+"' method"),E=1);n=e}else if((t=(S=l.n<0)?_:a.call(i,l))!==r)break}catch(t){n=e,E=1,_=t}finally{T=1}}return{value:t,done:S}}})(a,o,n),!0),s}var r={};function E(){}function s(){}function S(){}t=Object.getPrototypeOf;var l=[][i]?t(t([][i]())):(T(t={},i,function(){return this}),t),I=S.prototype=E.prototype=Object.create(l);function A(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,S):(e.__proto__=S,T(e,o,"GeneratorFunction")),e.prototype=Object.create(I),e}return s.prototype=S,T(I,"constructor",S),T(S,"constructor",s),s.displayName="GeneratorFunction",T(S,o,"GeneratorFunction"),T(I),T(I,o,"Generator"),T(I,i,function(){return this}),T(I,"toString",function(){return"[object Generator]"}),(_=function(){return{w:n,m:A}})()}function T(e,t,a,i){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}T=function(e,t,a,i){function n(t,a){T(e,t,function(e){return this._invoke(t,a,e)})}t?o?o(e,t,{value:a,enumerable:!i,configurable:!i,writable:!i}):e[t]=a:(n("next",0),n("throw",1),n("return",2))},T(e,t,a,i)}function s(e,t,a,i,o,n,r){try{var E=e[n](r),_=E.value}catch(e){return void a(e)}E.done?t(_):Promise.resolve(_).then(i,o)}function S(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return l(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?l(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var I=a(30758),A=a(2736),u=a(97500),d=a(32889),O=a(68601),c=a(50266).useTranslation,N=a(75394).useRouteFocused,R=a(31187).useServices,m=a(60350),L=m.onFileDrop,D=m.useSettings,p=m.useFullscreen,C=m.useBinaryState,h=m.useToast,f=m.useStreamingServer,P=m.withCoreSuspender,B=m.CONSTANTS,g=m.useShell,v=a(38177),M=v.HorizontalNavBar,W=v.Transition,y=v.ContextMenu,U=a(64773),b=a(54699),G=a(66630),k=a(91682),F=a(79690),V=a(49352),H=a(3365),w=a(19186),Y=a(18451).default,z=a(88936),K=a(70860).default,j=a(9652).default,x=a(7105),Q=a(11059),X=a(43285),$=a(35406),q=a(94523),J=a(45914).default,Z=function(e){var t,a,i,n,T,l,A=e.urlParams,m=e.queryParams,P=c().t,v=R(),Z=g(),ee=I.useMemo(function(){return m.has("forceTranscoding")},[m]),te=S(x(A),7),ae=te[0],ie=te[1],oe=te[2],ne=te[3],re=te[4],Ee=te[5],_e=te[6],Te=S(D(),2),se=Te[0],Se=Te[1],le=f(),Ie=Q(ae,le),Ae=X(),ue=N(),de=h(),Oe=S(I.useState(!1),2),ce=Oe[0],Ne=Oe[1],Re=S(I.useState(function(){return v.chromecast.active&&v.chromecast.transport.getCastState()===cast.framework.CastState.CONNECTED}),2),me=Re[0],Le=Re[1],De=I.useMemo(function(){return null!==le.playbackDevices&&"Ready"===le.playbackDevices.type?le.playbackDevices.content:[]},[le]),pe=I.useRef(),Ce=I.useRef(),he=S(I.useState(!0),2),fe=he[0],Pe=he[1],Be=I.useCallback(d(Pe,3e3),[]),ge=S(p(),4)[3],ve=S(C(!1),4),Me=ve[0],We=ve[2],ye=ve[3],Ue=S(C(!1),4),be=Ue[0],Ge=Ue[2],ke=Ue[3],Fe=S(C(!1),4),Ve=Fe[0],He=Fe[2],we=Fe[3],Ye=S(C(!1),4),ze=Ye[0],Ke=Ye[2],je=Ye[3],xe=S(C(!1),4),Qe=xe[0],Xe=xe[2],$e=xe[3],qe=S(C(!1),3),Je=qe[0],Ze=qe[1],et=qe[2],tt=S(C(!1),4),at=tt[0],it=tt[2],ot=tt[3],nt=I.useMemo(function(){return Me||be||Ve||ze||Qe||at},[Me,be,Ve,ze,Qe,at]),rt=I.useCallback(function(){We(),Ge(),He(),Ke(),Xe(),it()},[]),Et=I.useMemo(function(){return fe&&!me&&null!==Ae.state.paused&&!Ae.state.paused&&!nt&&!Je},[fe,me,Ae.state.paused,nt,Je]),_t=I.useRef(!1),Tt=I.useRef(!1),st=I.useRef(!1),St=S(I.useState(null),2),lt=St[0],It=St[1],At=I.useRef(!1),ut=I.useCallback(function(){Ae.setProp("subtitlesSize",se.subtitlesSize),Ae.setProp("subtitlesOffset",se.subtitlesOffset),Ae.setProp("subtitlesTextColor",se.subtitlesTextColor),Ae.setProp("subtitlesBackgroundColor",se.subtitlesBackgroundColor),Ae.setProp("subtitlesOutlineColor",se.subtitlesOutlineColor),Ae.setProp("extraSubtitlesSize",se.subtitlesSize),Ae.setProp("extraSubtitlesOffset",se.subtitlesOffset),Ae.setProp("extraSubtitlesTextColor",se.subtitlesTextColor),Ae.setProp("extraSubtitlesBackgroundColor",se.subtitlesBackgroundColor),Ae.setProp("extraSubtitlesOutlineColor",se.subtitlesOutlineColor)},[se.subtitlesSize,se.subtitlesOffset,se.subtitlesTextColor,se.subtitlesBackgroundColor,se.subtitlesOutlineColor]),dt=I.useCallback(function(e){e.player?(At.current=!0,window.location.replace(e.player)):e.metaDetailsStreams&&(At.current=!0,window.location.replace(e.metaDetailsStreams))},[]),Ot=I.useCallback(function(){if(!At.current)if(Ee(),null!==window.playerNextVideo){_e();var e=window.playerNextVideo.deepLinks;dt(e)}else window.history.back()},[]),ct=I.useCallback(function(e){console.error("Player",e),e.critical?It(e):de.show({type:"error",title:P("ERROR"),message:e.message,timeout:3e3})},[]),Nt=I.useCallback(function(){de.show({type:"success",title:P("PLAYER_SUBTITLES_LOADED"),message:P("PLAYER_SUBTITLES_LOADED_EMBEDDED"),timeout:3e3})},[]),Rt=I.useCallback(function(e){de.show({type:"success",title:P("PLAYER_SUBTITLES_LOADED"),message:e.exclusive?P("PLAYER_SUBTITLES_LOADED_EXCLUSIVE"):e.local?P("PLAYER_SUBTITLES_LOADED_LOCAL"):P("PLAYER_SUBTITLES_LOADED_ORIGIN",{origin:e.origin}),timeout:3e3})},[]),mt=I.useCallback(function(e){e.local&&Ae.setExtraSubtitlesTrack(e.id)},[]),Lt=I.useCallback(function(){Ae.setProp("paused",!1),Ne(!1)},[]),Dt=I.useCallback(d(Lt,200),[]),pt=I.useCallback(function(){Ae.setProp("paused",!0)},[]),Ct=I.useCallback(d(pt,200),[]),ht=I.useCallback(function(){Ae.setProp("muted",!0)},[]),ft=I.useCallback(function(){Ae.setProp("muted",!1)},[]),Pt=I.useCallback(function(e){Ae.setProp("volume",e)},[]),Bt=I.useCallback(function(e){var t;Ae.setProp("time",e),ne(e,Ae.state.duration,null===(t=Ae.state.manifest)||void 0===t?void 0:t.name)},[Ae.state.duration,Ae.state.manifest]),gt=I.useCallback(function(e){Ae.setProp("playbackSpeed",e)},[]),vt=I.useCallback(function(e){Ae.setSubtitlesTrack(e)},[]),Mt=I.useCallback(function(e){Ae.setExtraSubtitlesTrack(e)},[]),Wt=I.useCallback(function(e){Ae.setProp("selectedAudioTrackId",e)},[]),yt=I.useCallback(function(e){Ae.setProp("extraSubtitlesDelay",e)},[]),Ut=I.useCallback(function(){var e=Ae.state.extraSubtitlesDelay+250;yt(e)},[Ae.state.extraSubtitlesDelay,yt]),bt=I.useCallback(function(){var e=Ae.state.extraSubtitlesDelay-250;yt(e)},[Ae.state.extraSubtitlesDelay,yt]),Gt=I.useCallback(function(e){Se({subtitlesSize:e})},[Se]),kt=I.useCallback(function(e){var t=B.SUBTITLES_SIZES.indexOf(Ae.state.subtitlesSize),a=B.SUBTITLES_SIZES[Math.max(0,Math.min(B.SUBTITLES_SIZES.length-1,t+e))];Gt(a)},[Ae.state.subtitlesSize,Gt]),Ft=I.useCallback(function(e){Se({subtitlesOffset:e})},[Se]),Vt=I.useCallback(function(){et(),_t.current=!0},[]),Ht=I.useCallback(function(){if(null!==ae.nextVideo){_e();var e=ae.nextVideo.deepLinks;dt(e)}},[ae.nextVideo,dt]),wt=I.useCallback(function(){null!==Ae.state.paused&&(Ae.state.paused?Dt():Ct())},[Ae.state.paused]),Yt=I.useCallback(function(){Dt.cancel(),Ct.cancel(),ge()},[ge]),zt=I.useCallback(function(e){e.nativeEvent.optionsMenuClosePrevented||We(),e.nativeEvent.subtitlesMenuClosePrevented||Ge(),e.nativeEvent.audioMenuClosePrevented||He(),e.nativeEvent.speedMenuClosePrevented||Ke(),e.nativeEvent.statisticsMenuClosePrevented||Xe(),it()},[]),Kt=I.useCallback(function(e){Pe(!1),e.nativeEvent.immersePrevented?Be.cancel():Be(!0)},[]),jt=I.useCallback(function(){Be.cancel(),Pe(!0)},[]),xt=I.useCallback(function(e){e.nativeEvent.immersePrevented=!0},[]);return L(B.SUPPORTED_LOCAL_SUBTITLES,(function(){var e,t=(e=_().m(function e(t,a){return _().w(function(e){for(;;)switch(e.n){case 0:Ae.addLocalSubtitles(t,a);case 1:return e.a(2)}},e)}),function(){var t=this,a=arguments;return new Promise(function(i,o){var n=e.apply(t,a);function r(e){s(n,i,o,r,E,"next",e)}function E(e){s(n,i,o,r,E,"throw",e)}r(void 0)})});return function(e,a){return t.apply(this,arguments)}})()),I.useEffect(function(){var e;It(null),Ae.unload(),ae.selected&&"Loading"!==(null===(e=le.settings)||void 0===e?void 0:e.type)&&Ae.load({stream:r(r({},ae.selected.stream),{},{subtitles:Array.isArray(ae.selected.stream.subtitles)?ae.selected.stream.subtitles.map(function(e){return r(r({},e),{},{label:e.url})}):[]}),autoplay:!0,time:null!==ae.libraryItem&&null!==ae.selected.streamRequest&&null!==ae.selected.streamRequest.path&&ae.libraryItem.state.video_id===ae.selected.streamRequest.path.id?ae.libraryItem.state.timeOffset:0,forceTranscoding:ee||me,maxAudioChannels:se.surroundSound?32:2,hardwareDecoding:se.hardwareDecoding,streamingServerURL:le.baseUrl?me?le.baseUrl:le.selected.transportUrl:null,seriesInfo:ae.seriesInfo},{chromecastTransport:v.chromecast.active?v.chromecast.transport:null,shellTransport:v.shell.active?v.shell.transport:null})},[le.baseUrl,ae.selected,ee,me]),I.useEffect(function(){if(null!==Ae.state.stream){var e=ae.subtitles.map(function(e){return r(r({},e),{},{label:e.url})});Ae.addExtraSubtitlesTracks(e)}},[ae.subtitles,Ae.state.stream]),I.useEffect(function(){Ae.setProp("subtitlesSize",se.subtitlesSize),Ae.setProp("extraSubtitlesSize",se.subtitlesSize)},[se.subtitlesSize]),I.useEffect(function(){Ae.setProp("subtitlesOffset",se.subtitlesOffset),Ae.setProp("extraSubtitlesOffset",se.subtitlesOffset)},[se.subtitlesOffset]),I.useEffect(function(){Ae.setProp("subtitlesTextColor",se.subtitlesTextColor),Ae.setProp("extraSubtitlesTextColor",se.subtitlesTextColor)},[se.subtitlesTextColor]),I.useEffect(function(){Ae.setProp("subtitlesBackgroundColor",se.subtitlesBackgroundColor),Ae.setProp("extraSubtitlesBackgroundColor",se.subtitlesBackgroundColor)},[se.subtitlesBackgroundColor]),I.useEffect(function(){Ae.setProp("subtitlesOutlineColor",se.subtitlesOutlineColor),Ae.setProp("extraSubtitlesOutlineColor",se.subtitlesOutlineColor)},[se.subtitlesOutlineColor]),I.useEffect(function(){var e;!ce&&oe(Ae.state.time,Ae.state.duration,null===(e=Ae.state.manifest)||void 0===e?void 0:e.name)},[Ae.state.time,Ae.state.duration,Ae.state.manifest,ce]),I.useEffect(function(){null!==Ae.state.paused&&re(Ae.state.paused)},[Ae.state.paused]),I.useEffect(function(){ie(Ae.state.videoParams)},[Ae.state.videoParams]),I.useEffect(function(){se.bingeWatching&&null!==ae.nextVideo&&!_t.current&&(null!==Ae.state.time&&null!==Ae.state.duration&&Ae.state.time<Ae.state.duration&&Ae.state.duration-Ae.state.time<=se.nextVideoNotificationDuration?Ze():et()),ae.nextVideo?window.playerNextVideo=ae.nextVideo:window.playerNextVideo=null},[ae.nextVideo,Ae.state.time,Ae.state.duration]),I.useEffect(function(){if(!Tt.current){var e=function(e,t){return e.find(function(e){var a;return e.lang===t||(null===(a=O.where("1",e.lang))||void 0===a?void 0:a[2])===t})};if(null===se.subtitlesLanguage)return vt(null),Mt(null),void(Tt.current=!0);var t=e(Ae.state.subtitlesTracks,se.subtitlesLanguage),a=e(Ae.state.extraSubtitlesTracks,se.subtitlesLanguage);t&&t.id?(vt(t.id),Tt.current=!0):a&&a.id&&(Mt(a.id),Tt.current=!0)}},[Ae.state.subtitlesTracks,Ae.state.extraSubtitlesTracks]),I.useEffect(function(){if(!st.current){var e=(t=Ae.state.audioTracks,a=se.audioLanguage,t.find(function(e){var t;return e.lang===a||(null===(t=O.where("1",e.lang))||void 0===t?void 0:t[2])===a}));e&&e.id&&(Wt(e.id),st.current=!0)}var t,a},[Ae.state.audioTracks]),I.useEffect(function(){Tt.current=!1,st.current=!1,_t.current=!1,setTimeout(function(){return At.current=!1},1e3)},[Ae.state.stream]),I.useEffect(function(){Array.isArray(Ae.state.subtitlesTracks)&&0!==Ae.state.subtitlesTracks.length||Array.isArray(Ae.state.extraSubtitlesTracks)&&0!==Ae.state.extraSubtitlesTracks.length||Ge()},[Ae.state.subtitlesTracks,Ae.state.extraSubtitlesTracks]),I.useEffect(function(){Array.isArray(Ae.state.audioTracks)&&0!==Ae.state.audioTracks.length||He()},[Ae.state.audioTracks]),I.useEffect(function(){null===Ae.state.playbackSpeed&&Ke()},[Ae.state.playbackSpeed]),I.useEffect(function(){var e=function(e){var t;return"CoreEvent"===(null==e||null===(t=e.dataset)||void 0===t?void 0:t.type)};de.addFilter(e);var t=function(){Le(v.chromecast.active&&v.chromecast.transport.getCastState()===cast.framework.CastState.CONNECTED)},a=function(){t(),v.chromecast.active&&v.chromecast.transport.on(cast.framework.CastContextEventType.CAST_STATE_CHANGED,t)},i=function(e){"PlayingOnDevice"===e.event&&pt()};return v.chromecast.on("stateChanged",a),v.core.transport.on("CoreEvent",i),a(),function(){de.removeFilter(e),v.chromecast.off("stateChanged",a),v.core.transport.off("CoreEvent",i),v.chromecast.active&&v.chromecast.transport.off(cast.framework.CastContextEventType.CAST_STATE_CHANGED,t)}},[]),I.useEffect(function(){se.pauseOnMinimize&&(Z.windowClosed||Z.windowHidden)&&pt()},[se.pauseOnMinimize,Z.windowClosed,Z.windowHidden]),I.useEffect(function(){if(navigator.mediaSession){var e=Ae.state.paused?"paused":"playing";return navigator.mediaSession.playbackState=e,function(){return navigator.mediaSession.playbackState="none"}}},[Ae.state.paused]),I.useEffect(function(){if(navigator.mediaSession){var e=ae.metaItem&&"Ready"===ae.metaItem.type?ae.metaItem.content:null,t=ae.selected?ae.selected.streamRequest.path.id:null,a=e?e.videos.find(function(e){return e.id===t}):null,i=a&&a.season&&a.episode?" (".concat(a.season,"x").concat(a.episode,")"):null,o=a?"".concat(a.title).concat(i):null,n=e?e.name:null,r=e?e.logo:null,E=null!=o?o:n,_=o?n:void 0,T=r?[{src:r}]:void 0;E&&(navigator.mediaSession.metadata=new MediaMetadata({title:E,artist:_,artwork:T}))}},[ae.metaItem,ae.selected]),I.useEffect(function(){if(navigator.mediaSession){navigator.mediaSession.setActionHandler("play",Lt),navigator.mediaSession.setActionHandler("pause",pt);var e=ae.nextVideo?Ht:null;navigator.mediaSession.setActionHandler("nexttrack",e)}},[ae.nextVideo,Lt,pt,Ht]),I.useLayoutEffect(function(){var e=function(e){switch(e.code){case"Space":nt||Je||null===Ae.state.paused||(Ae.state.paused?(Lt(),Ne(!1)):pt());break;case"ArrowRight":if(!nt&&!Je&&null!==Ae.state.time){var t=e.shiftKey?se.seekShortTimeDuration:se.seekTimeDuration;Ne(!0),Bt(Ae.state.time+t)}break;case"ArrowLeft":if(!nt&&!Je&&null!==Ae.state.time){var a=e.shiftKey?se.seekShortTimeDuration:se.seekTimeDuration;Ne(!0),Bt(Ae.state.time-a)}break;case"ArrowUp":nt||Je||null===Ae.state.volume||Pt(Math.min(Ae.state.volume+5,200));break;case"ArrowDown":nt||Je||null===Ae.state.volume||Pt(Math.max(Ae.state.volume-5,0));break;case"KeyS":rt(),(Array.isArray(Ae.state.subtitlesTracks)&&Ae.state.subtitlesTracks.length>0||Array.isArray(Ae.state.extraSubtitlesTracks)&&Ae.state.extraSubtitlesTracks.length>0)&&ke();break;case"KeyA":rt(),Array.isArray(Ae.state.audioTracks)&&Ae.state.audioTracks.length>0&&we();break;case"KeyI":rt(),null!==ae.metaItem&&"Ready"===ae.metaItem.type&&ot();break;case"KeyR":rt(),null!==Ae.state.playbackSpeed&&je();break;case"KeyD":rt(),null!==le.statistics&&"Err"!==le.statistics.type&&ae.selected&&"string"==typeof ae.selected.stream.infoHash&&"number"==typeof ae.selected.stream.fileIdx&&$e();break;case"KeyG":bt();break;case"KeyH":Ut();break;case"Minus":kt(-1);break;case"Equal":kt(1);break;case"Escape":rt(),!se.escExitFullscreen&&window.history.back()}},t=function(e){"ArrowRight"!==e.code&&"ArrowLeft"!==e.code||Ne(!1)},a=function(e){var t=e.deltaY;nt||null===Ae.state.volume||(t>0?Pt(Math.max(Ae.state.volume-5,0)):Ae.state.volume<100&&Pt(Math.min(Ae.state.volume+5,100)))};return ue&&(window.addEventListener("keydown",e),window.addEventListener("keyup",t),window.addEventListener("wheel",a)),function(){window.removeEventListener("keydown",e),window.removeEventListener("keyup",t),window.removeEventListener("wheel",a)}},[ae.metaItem,ae.selected,le.statistics,se.seekTimeDuration,se.seekShortTimeDuration,se.escExitFullscreen,ue,nt,Je,Ae.state.paused,Ae.state.time,Ae.state.volume,Ae.state.audioTracks,Ae.state.subtitlesTracks,Ae.state.extraSubtitlesTracks,Ae.state.playbackSpeed,ke,$e,ot,bt,Ut,kt]),I.useEffect(function(){return Ae.events.on("error",ct),Ae.events.on("ended",Ot),Ae.events.on("subtitlesTrackLoaded",Nt),Ae.events.on("extraSubtitlesTrackLoaded",Rt),Ae.events.on("extraSubtitlesTrackAdded",mt),Ae.events.on("implementationChanged",ut),function(){Ae.events.off("error",ct),Ae.events.off("ended",Ot),Ae.events.off("subtitlesTrackLoaded",Nt),Ae.events.off("extraSubtitlesTrackLoaded",Rt),Ae.events.off("extraSubtitlesTrackAdded",mt),Ae.events.off("implementationChanged",ut)}},[]),I.useLayoutEffect(function(){return function(){Be.cancel(),Dt.cancel(),Ct.cancel()}},[]),I.createElement("div",{className:u($["player-container"],E({},$.overlayHidden,Et)),onMouseDown:zt,onMouseMove:Kt,onMouseOver:Kt,onMouseLeave:jt},I.createElement(q,{ref:Ae.containerRef,className:$.layer,onClick:wt,onDoubleClick:Yt}),Ae.state.loaded?null:I.createElement("div",{className:u($.layer,$["background-layer"])},I.createElement("img",{className:$.image,src:null==ae||null===(t=ae.metaItem)||void 0===t||null===(t=t.content)||void 0===t?void 0:t.background})),!Ae.state.buffering&&Ae.state.loaded||lt?null:I.createElement(U,{ref:pe,className:u($.layer,$["buffering-layer"]),logo:null==ae||null===(a=ae.metaItem)||void 0===a||null===(a=a.content)||void 0===a?void 0:a.logo}),null!==lt?I.createElement(G,o({ref:Ce,className:u($.layer,$["error-layer"]),stream:Ae.state.stream},lt)):null,nt?I.createElement("div",{className:$.layer}):null,null!==Ae.state.volume&&Et?I.createElement(b,{muted:Ae.state.muted,volume:Ae.state.volume}):null,I.createElement(y,{on:[Ae.containerRef,pe,Ce],autoClose:!0},I.createElement(H,{className:u($.layer,$["menu-layer"]),stream:null==ae||null===(i=ae.selected)||void 0===i?void 0:i.stream,playbackDevices:De,extraSubtitlesTracks:Ae.state.extraSubtitlesTracks,selectedExtraSubtitlesTrackId:Ae.state.selectedExtraSubtitlesTrackId})),I.createElement(M,{className:u($.layer,$["nav-bar-layer"]),title:null!==ae.title?ae.title:"",backButton:!0,fullscreenButton:!0,onMouseMove:xt,onMouseOver:xt}),"Ready"===(null===(n=ae.metaItem)||void 0===n?void 0:n.type)?I.createElement(K,{className:u($.layer,$["side-drawer-button-layer"]),onClick:ot}):null,I.createElement(k,{className:u($.layer,$["control-bar-layer"]),paused:Ae.state.paused,time:Ae.state.time,duration:Ae.state.duration,buffered:Ae.state.buffered,volume:Ae.state.volume,muted:Ae.state.muted,playbackSpeed:Ae.state.playbackSpeed,subtitlesTracks:Ae.state.subtitlesTracks.concat(Ae.state.extraSubtitlesTracks),audioTracks:Ae.state.audioTracks,metaItem:ae.metaItem,nextVideo:ae.nextVideo,stream:null!==ae.selected?ae.selected.stream:null,statistics:Ie,onPlayRequested:Lt,onPauseRequested:pt,onNextVideoRequested:Ht,onMuteRequested:ht,onUnmuteRequested:ft,onVolumeChangeRequested:Pt,onSeekRequested:Bt,onToggleOptionsMenu:ye,onToggleSubtitlesMenu:ke,onToggleAudioMenu:we,onToggleSpeedMenu:je,onToggleStatisticsMenu:$e,onToggleSideDrawer:ot,onMouseMove:xt,onMouseOver:xt,onTouchEnd:jt}),I.createElement(J,{className:u($.layer,$["indicator-layer"]),videoState:Ae.state,disabled:be}),Je?I.createElement(F,{className:u($.layer,$["menu-layer"]),metaItem:null!==ae.metaItem&&"Ready"===ae.metaItem.type?ae.metaItem.content:null,nextVideo:ae.nextVideo,onDismiss:Vt,onNextVideoRequested:Ht}):null,Qe?I.createElement(V,o({className:u($.layer,$["menu-layer"])},Ie)):null,I.createElement(W,{when:at,name:"slide-left"},I.createElement(j,{className:u($.layer,$["side-drawer-layer"]),metaItem:null===(T=ae.metaItem)||void 0===T?void 0:T.content,seriesInfo:ae.seriesInfo,closeSideDrawer:it,selected:null===(l=ae.selected)||void 0===l||null===(l=l.streamRequest)||void 0===l?void 0:l.path.id})),be?I.createElement(w,{className:u($.layer,$["menu-layer"]),subtitlesTracks:Ae.state.subtitlesTracks,selectedSubtitlesTrackId:Ae.state.selectedSubtitlesTrackId,subtitlesOffset:Ae.state.subtitlesOffset,subtitlesSize:Ae.state.subtitlesSize,extraSubtitlesTracks:Ae.state.extraSubtitlesTracks,selectedExtraSubtitlesTrackId:Ae.state.selectedExtraSubtitlesTrackId,extraSubtitlesOffset:Ae.state.extraSubtitlesOffset,extraSubtitlesDelay:Ae.state.extraSubtitlesDelay,extraSubtitlesSize:Ae.state.extraSubtitlesSize,onSubtitlesTrackSelected:vt,onExtraSubtitlesTrackSelected:Mt,onSubtitlesOffsetChanged:Ft,onSubtitlesSizeChanged:Gt,onExtraSubtitlesOffsetChanged:Ft,onExtraSubtitlesDelayChanged:yt,onExtraSubtitlesSizeChanged:Gt}):null,Ve?I.createElement(Y,{className:u($.layer,$["menu-layer"]),audioTracks:Ae.state.audioTracks,selectedAudioTrackId:Ae.state.selectedAudioTrackId,onAudioTrackSelected:Wt}):null,ze?I.createElement(z,{className:u($.layer,$["menu-layer"]),playbackSpeed:Ae.state.playbackSpeed,onPlaybackSpeedChanged:gt}):null,Me?I.createElement(H,{className:u($.layer,$["menu-layer"]),stream:ae.selected.stream,playbackDevices:De,extraSubtitlesTracks:Ae.state.extraSubtitlesTracks,selectedExtraSubtitlesTrackId:Ae.state.selectedExtraSubtitlesTrackId}):null)};Z.propTypes={urlParams:A.shape({stream:A.string,streamTransportUrl:A.string,metaTransportUrl:A.string,type:A.string,id:A.string,videoId:A.string}),queryParams:A.instanceOf(URLSearchParams)};e.exports=P(Z,function(){return I.createElement("div",{className:u($["player-container"])})})},23191:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(38177).Button,E=a(53665),_=function(e){var t=e.className,a=e.value,o=e.selected,_=e.onSelect,T=i.useCallback(function(){"function"==typeof _&&_(a)},[_,a]);return i.createElement(r,{className:n(t,E.option,{selected:o}),onClick:T},i.createElement("div",{className:E.label},a,"x"),i.createElement("div",{className:E.icon}))};_.propTypes={className:o.string,value:o.number,selected:o.bool,onSelect:o.func},e.exports=_},21500:(e,t,a)=>{var i=a(23191);e.exports=i},18028:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(50266).useTranslation,E=a(21500),_=a(6491),T=Array.from(Array(8).keys(),function(e){return.25*e+.25}).reverse(),s=function(e){var t=e.className,a=e.playbackSpeed,o=e.onPlaybackSpeedChanged,s=r().t,S=i.useCallback(function(e){e.nativeEvent.speedMenuClosePrevented=!0},[]),l=i.useCallback(function(e){"function"==typeof o&&o(e)},[o]);return i.createElement("div",{className:n(t,_["speed-menu-container"]),onMouseDown:S},i.createElement("div",{className:_.title},s("PLAYBACK_SPEED")),i.createElement("div",{className:_["options-container"]},T.map(function(e){return i.createElement(E,{className:_.option,key:e,value:e,selected:e===a,onSelect:l})})))};s.propTypes={className:o.string,playbackSpeed:o.number,onPlaybackSpeedChanged:o.func},e.exports=s},88936:(e,t,a)=>{var i=a(18028);e.exports=i},87950:(e,t,a)=>{var i=a(30758),o=a(50266).useTranslation,n=a(97500),r=a(2736),E=a(3493),_=function(e){var t=e.className,a=e.peers,r=e.speed,_=e.completed,T=e.infoHash,s=o().t;return i.createElement("div",{className:n(t,E["statistics-menu-container"])},i.createElement("div",{className:E.title},s("PLAYER_STATISTICS")),i.createElement("div",{className:E.stats},i.createElement("div",{className:E.stat},i.createElement("div",{className:E.label},s("PLAYER_PEERS")),i.createElement("div",{className:E.value},a)),i.createElement("div",{className:E.stat},i.createElement("div",{className:E.label},s("PLAYER_SPEED")),i.createElement("div",{className:E.value},"".concat(r," ").concat(s("MB_S")))),i.createElement("div",{className:E.stat},i.createElement("div",{className:E.label},s("PLAYER_COMPLETED")),i.createElement("div",{className:E.value},Math.min(_,100)," %"))),i.createElement("div",{className:E["info-hash"]},i.createElement("div",{className:E.label},s("PLAYER_INFO_HASH")),i.createElement("div",{className:E.value},T)))};_.propTypes={className:r.string,peers:r.number,speed:r.number,completed:r.number,infoHash:r.string},e.exports=_},49352:(e,t,a)=>{var i=a(87950);e.exports=i},7648:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(60350),E=r.comparatorWithPriorities,_=r.languages,T=a(69839).SUBTITLES_SIZES,s=a(38177).Button,S=a(8769),l=a(68305).t,I=a(41414).default,A={LOCAL:3,EMBEDDED:2,EXCLUSIVE:1},u={local:2,eng:1},d=i.memo(function(e){var t=i.useMemo(function(){return(Array.isArray(e.subtitlesTracks)?e.subtitlesTracks:[]).concat(Array.isArray(e.extraSubtitlesTracks)?e.extraSubtitlesTracks:[]).reduce(function(e,t){var a=t.lang;return e.includes(a)||e.push(a),e},[]).sort(E(u))},[e.subtitlesTracks,e.extraSubtitlesTracks]),a=i.useMemo(function(){return"string"==typeof e.selectedSubtitlesTrackId?(Array.isArray(e.subtitlesTracks)?e.subtitlesTracks:[]).reduce(function(t,a){var i=a.id,o=a.lang;return i===e.selectedSubtitlesTrackId?o:t},null):"string"==typeof e.selectedExtraSubtitlesTrackId?(Array.isArray(e.extraSubtitlesTracks)?e.extraSubtitlesTracks:[]).reduce(function(t,a){var i=a.id,o=a.lang;return i===e.selectedExtraSubtitlesTrackId?o:t},null):null},[e.subtitlesTracks,e.extraSubtitlesTracks,e.selectedSubtitlesTrackId,e.selectedExtraSubtitlesTrackId]),o=i.useMemo(function(){return(Array.isArray(e.subtitlesTracks)?e.subtitlesTracks:[]).concat(Array.isArray(e.extraSubtitlesTracks)?e.extraSubtitlesTracks:[]).filter(function(e){return e.lang===a}).sort(function(e,t){return E(A)(e.origin,t.origin)})},[e.subtitlesTracks,e.extraSubtitlesTracks,a]),r=i.useCallback(function(e){e.nativeEvent.subtitlesMenuClosePrevented=!0},[]),d=i.useCallback(function(t){var a=(Array.isArray(e.subtitlesTracks)?e.subtitlesTracks:[]).concat(Array.isArray(e.extraSubtitlesTracks)?e.extraSubtitlesTracks:[]).filter(function(e){return e.lang===t.currentTarget.dataset.lang}).sort(function(e,t){return E(A)(e.origin,t.origin)}).shift();a?a.embedded?"function"==typeof e.onSubtitlesTrackSelected&&e.onSubtitlesTrackSelected(a.id):"function"==typeof e.onExtraSubtitlesTrackSelected&&e.onExtraSubtitlesTrackSelected(a.id):("function"==typeof e.onSubtitlesTrackSelected&&e.onSubtitlesTrackSelected(null),"function"==typeof e.onExtraSubtitlesTrackSelected&&e.onExtraSubtitlesTrackSelected(null))},[e.subtitlesTracks,e.extraSubtitlesTracks,e.onSubtitlesTrackSelected,e.onExtraSubtitlesTrackSelected]),O=i.useCallback(function(t){"true"===t.currentTarget.dataset.embedded?"function"==typeof e.onSubtitlesTrackSelected&&e.onSubtitlesTrackSelected(t.currentTarget.dataset.id):"function"==typeof e.onExtraSubtitlesTrackSelected&&e.onExtraSubtitlesTrackSelected(t.currentTarget.dataset.id)},[e.onSubtitlesTrackSelected,e.onExtraSubtitlesTrackSelected]),c=i.useCallback(function(t){"string"==typeof e.selectedExtraSubtitlesTrackId&&(null===e.extraSubtitlesDelay||isNaN(e.extraSubtitlesDelay)||"function"==typeof e.onExtraSubtitlesDelayChanged&&e.onExtraSubtitlesDelayChanged(1e3*t))},[e.selectedExtraSubtitlesTrackId,e.extraSubtitlesDelay,e.onExtraSubtitlesDelayChanged]),N=i.useCallback(function(t){"string"==typeof e.selectedSubtitlesTrackId?null===e.subtitlesSize||isNaN(e.subtitlesSize)||"function"==typeof e.onSubtitlesSizeChanged&&e.onSubtitlesSizeChanged(t):"string"==typeof e.selectedExtraSubtitlesTrackId&&(null===e.extraSubtitlesSize||isNaN(e.extraSubtitlesSize)||"function"==typeof e.onExtraSubtitlesSizeChanged&&e.onExtraSubtitlesSizeChanged(t))},[e.selectedSubtitlesTrackId,e.selectedExtraSubtitlesTrackId,e.subtitlesSize,e.extraSubtitlesSize,e.onSubtitlesSizeChanged,e.onExtraSubtitlesSizeChanged]),R=i.useCallback(function(t){"string"==typeof e.selectedSubtitlesTrackId?null===e.subtitlesOffset||isNaN(e.subtitlesOffset)||"function"==typeof e.onSubtitlesOffsetChanged&&e.onSubtitlesOffsetChanged(t):"string"==typeof e.selectedExtraSubtitlesTrackId&&(null===e.extraSubtitlesOffset||isNaN(e.extraSubtitlesOffset)||"function"==typeof e.onExtraSubtitlesOffsetChanged&&e.onExtraSubtitlesOffsetChanged(t))},[e.selectedSubtitlesTrackId,e.selectedExtraSubtitlesTrackId,e.subtitlesOffset,e.extraSubtitlesOffset,e.onSubtitlesOffsetChanged,e.onExtraSubtitlesOffsetChanged]);return i.createElement("div",{className:n(e.className,S["subtitles-menu-container"]),onMouseDown:r},i.createElement("div",{className:S["languages-container"]},i.createElement("div",{className:S["languages-header"]},l("PLAYER_SUBTITLES_LANGUAGES")),i.createElement("div",{className:S["languages-list"]},i.createElement(s,{title:l("OFF"),className:n(S["language-option"],{selected:null===a}),onClick:d},i.createElement("div",{className:S["language-label"]},l("OFF")),null===a?i.createElement("div",{className:S.icon}):null),t.map(function(e,t){return i.createElement(s,{key:t,title:_.label(e),className:n(S["language-option"],{selected:a===e}),"data-lang":e,onClick:d},i.createElement("div",{className:S["language-label"]},"local"===e?l("LOCAL"):_.label(e)),a===e?i.createElement("div",{className:S.icon}):null)}))),i.createElement("div",{className:S["variants-container"]},i.createElement("div",{className:S["variants-header"]},l("PLAYER_SUBTITLES_VARIANTS")),o.length>0?i.createElement("div",{className:S["variants-list"]},o.map(function(t,a){return i.createElement(s,{key:a,title:t.label,className:n(S["variant-option"],{selected:e.selectedSubtitlesTrackId===t.id||e.selectedExtraSubtitlesTrackId===t.id}),"data-id":t.id,"data-origin":t.origin,"data-embedded":t.embedded,onClick:O},i.createElement("div",{className:S.info},i.createElement("div",{className:S["variant-label"]},_.label(t.label.startsWith("http")?t.lang:t.label)),i.createElement("div",{className:S["variant-origin"]},l(t.origin))),e.selectedSubtitlesTrackId===t.id||e.selectedExtraSubtitlesTrackId===t.id?i.createElement("div",{className:S.icon}):null)})):i.createElement("div",{className:S["no-variants-container"]},i.createElement("div",{className:S["no-variants-label"]},l("PLAYER_SUBTITLES_DISABLED")))),i.createElement("div",{className:S["subtitles-settings-container"]},i.createElement("div",{className:S["settings-header"]},l("PLAYER_SUBTITLES_SETTINGS")),i.createElement("div",{className:S["settings-list"]},i.createElement(I,{className:S.stepper,label:"DELAY",value:e.extraSubtitlesDelay/1e3,unit:"s",step:.25,disabled:null===e.extraSubtitlesDelay,onChange:c}),i.createElement(I,{className:S.stepper,label:"SIZE",value:e.selectedSubtitlesTrackId?e.subtitlesSize:e.selectedExtraSubtitlesTrackId?e.extraSubtitlesSize:null,unit:"%",step:25,min:T[0],max:T[T.length-1],disabled:e.selectedSubtitlesTrackId&&null===e.subtitlesSize||e.selectedExtraSubtitlesTrackId&&null===e.extraSubtitlesSize,onChange:N}),i.createElement(I,{className:S.stepper,label:"PLAYER_SUBTITLES_VERTICAL_POSIITON",value:e.selectedSubtitlesTrackId?e.subtitlesOffset:e.selectedExtraSubtitlesTrackId?e.extraSubtitlesOffset:null,unit:"%",step:1,min:0,max:100,disabled:e.selectedSubtitlesTrackId&&null===e.subtitlesOffset||e.selectedExtraSubtitlesTrackId&&null===e.extraSubtitlesOffset,onChange:R}))))});d.displayName="MainNavBars",d.propTypes={className:o.string,subtitlesTracks:o.arrayOf(o.shape({id:o.string.isRequired,lang:o.string.isRequired,origin:o.string.isRequired})),selectedSubtitlesTrackId:o.string,subtitlesOffset:o.number,subtitlesSize:o.number,extraSubtitlesTracks:o.arrayOf(o.shape({id:o.string.isRequired,lang:o.string.isRequired,origin:o.string.isRequired,label:o.string.isRequired})),selectedExtraSubtitlesTrackId:o.string,extraSubtitlesOffset:o.number,extraSubtitlesDelay:o.number,extraSubtitlesSize:o.number,onSubtitlesTrackSelected:o.func,onExtraSubtitlesTrackSelected:o.func,onSubtitlesOffsetChanged:o.func,onSubtitlesSizeChanged:o.func,onExtraSubtitlesOffsetChanged:o.func,onExtraSubtitlesDelayChanged:o.func,onExtraSubtitlesSizeChanged:o.func},e.exports=d},19186:(e,t,a)=>{var i=a(7648);e.exports=i},16072:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(97500),r=a(9562),E=i.forwardRef(function(e,t){var a=e.className,o=e.onClick,E=e.onDoubleClick;return i.createElement("div",{className:n(a,r["video-container"]),onClick:o,onDoubleClick:E},i.createElement("div",{ref:t,className:r.video}))});E.displayName="Video",E.propTypes={className:o.string,onClick:o.func,onDoubleClick:o.func},e.exports=E},94523:(e,t,a)=>{var i=a(16072);e.exports=i},44592:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(27708),E=a(10954).default,_=a(97500).default,T=a(2736),s=a(57526),S=a(60350).useBinaryState,l=n.memo(function(e){var t=e.muted,a=e.volume,o=i(S(!1),3),T=o[0],l=o[1],I=o[2],A=n.useRef(null),u=n.useRef(a),d=n.useMemo(function(){return"boolean"==typeof t&&t?"volume-mute":null===a||isNaN(a)?"volume-off":0===a?"volume-mute":a<30?"volume-low":a<70?"volume-medium":"volume-high"},[t,a]);return n.useEffect(function(){u.current!==a&&(l(),A.current&&clearTimeout(A.current),A.current=setTimeout(I,1500)),u.current=a},[a]),n.useEffect(function(){return function(){A.current&&clearTimeout(A.current)}},[]),n.createElement(n.Fragment,null,T?n.createElement("div",{className:_(s.layer,s["volume-change-indicator"])},n.createElement(E,{name:d,className:s["volume-icon"]}),n.createElement(r,{volume:a,className:s["volume-slider"]})):null)});l.displayName="VolumeChangeIndicator",e.exports=l,l.propTypes={muted:T.bool,volume:T.number}},54699:(e,t,a)=>{var i=a(44592);e.exports=i},7375:(e,t,a)=>{var i=a(44066);e.exports=i},7105:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){r(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function r(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var E=a(30758),_=a(31187).useServices,T=a(60350),s=T.useModelState,S=T.useCoreSuspender,l=function(e){return n(n({},e),{},{metaItem:null!==e.metaItem&&"Ready"===e.metaItem.type?n(n({},e.metaItem),{},{content:n(n({},e.metaItem.content),{},{released:new Date("string"==typeof e.metaItem.content.released?e.metaItem.content.released:NaN),videos:e.metaItem.content.videos.map(function(e){return n(n({},e),{},{released:new Date("string"==typeof e.released?e.released:NaN)})})})}):e.metaItem})};e.exports=function(e){var t=_().core,a=(0,S().decodeStream)(e.stream),i=E.useMemo(function(){return null!==a?{action:"Load",args:{model:"Player",args:{stream:a,streamRequest:"string"==typeof e.streamTransportUrl&&"string"==typeof e.type&&"string"==typeof e.videoId?{base:e.streamTransportUrl,path:{resource:"stream",type:e.type,id:e.videoId,extra:[]}}:null,metaRequest:"string"==typeof e.metaTransportUrl&&"string"==typeof e.type&&"string"==typeof e.id?{base:e.metaTransportUrl,path:{resource:"meta",type:e.type,id:e.id,extra:[]}}:null,subtitlesPath:"string"==typeof e.type&&"string"==typeof e.videoId?{resource:"subtitles",type:e.type,id:e.videoId,extra:[]}:null}}}:{action:"Unload"}},[e]),o=E.useCallback(function(e){t.transport.dispatch({action:"Player",args:{action:"VideoParamsChanged",args:{videoParams:e}}},"player")},[]),n=E.useCallback(function(e,a,i){"number"==typeof e&&"number"==typeof a&&"string"==typeof i&&t.transport.dispatch({action:"Player",args:{action:"TimeChanged",args:{time:Math.max(0,Math.round(e)),duration:Math.max(0,Math.round(a)),device:i}}},"player")},[]),r=E.useCallback(function(e,a,i){"number"==typeof e&&"number"==typeof a&&"string"==typeof i&&t.transport.dispatch({action:"Player",args:{action:"Seek",args:{time:Math.max(0,Math.round(e)),duration:Math.max(0,Math.round(a)),device:i}}},"player")},[]),T=E.useCallback(function(){t.transport.dispatch({action:"Player",args:{action:"Ended"}},"player")},[]),I=E.useCallback(function(e){t.transport.dispatch({action:"Player",args:{action:"PausedChanged",args:{paused:e}}},"player")},[]),A=E.useCallback(function(){t.transport.dispatch({action:"Player",args:{action:"NextVideo"}},"player")},[]);return[s({model:"player",action:i,map:l}),o,n,r,I,T,A]}},11059:(e,t,a)=>{var i=a(30758),o=a(31187).useServices;e.exports=function(e,t){var a=o().core,n=i.useMemo(function(){var t;return null!==(t=e.selected)&&void 0!==t&&t.stream?e.selected.stream:null},[e.selected]),r=i.useMemo(function(){return null!=n&&n.infoHash?null==n?void 0:n.infoHash:null},[n]),E=i.useMemo(function(){var e;return"Ready"===(null===(e=t.statistics)||void 0===e?void 0:e.type)?t.statistics.content:null},[t.statistics]),_=i.useMemo(function(){return null!=E&&E.peers?E.peers:0},[E]),T=i.useMemo(function(){return null!=E&&E.downloadSpeed?parseFloat((E.downloadSpeed/1e3/1e3).toFixed(2)):0},[E]),s=i.useMemo(function(){return null!=E&&E.streamProgress?parseFloat((100*E.streamProgress).toFixed(2)):0},[E]),S=i.useCallback(function(){if(n){var e=n.infoHash,t=n.fileIdx;"string"==typeof e&&"number"==typeof t&&a.transport.dispatch({action:"StreamingServer",args:{action:"GetStatistics",args:{infoHash:e,fileIdx:t}}})}},[n]);return i.useEffect(function(){S();var e=setInterval(S,5e3);return function(){return clearInterval(e)}},[S]),{infoHash:r,peers:_,speed:T,completed:s}}},43285:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){r(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function r(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function E(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return _(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var T=a(30758),s=a(53640),S=new(a(41343));e.exports=function(){var e=T.useRef(null),t=T.useRef(null),a=E(T.useState({manifest:null,stream:null,paused:null,time:null,duration:null,buffering:null,buffered:null,volume:null,muted:null,playbackSpeed:null,videoParams:null,audioTracks:[],selectedAudioTrackId:null,subtitlesTracks:[],selectedSubtitlesTrackId:null,subtitlesOffset:null,subtitlesSize:null,subtitlesTextColor:null,subtitlesBackgroundColor:null,subtitlesOutlineColor:null,extraSubtitlesTracks:[],selectedExtraSubtitlesTrackId:null,extraSubtitlesSize:null,extraSubtitlesDelay:null,extraSubtitlesOffset:null,extraSubtitlesTextColor:null,extraSubtitlesBackgroundColor:null,extraSubtitlesOutlineColor:null}),2),i=a[0],o=a[1],_=function(a,i){if(e.current&&t.current)try{e.current.dispatch(a,n(n({},i),{},{containerElement:t.current}))}catch(e){console.error("Video:",e)}},l=function(e,t){_({type:"setProp",propName:e,propValue:t})},I=function(e){S.emit("error",e)},A=function(){S.emit("ended")},u=function(e){S.emit("subtitlesTrackLoaded",e)},d=function(e){S.emit("extraSubtitlesTrackLoaded",e)},O=function(e){S.emit("extraSubtitlesTrackAdded",e)},c=function(e,t){o(function(a){return n(n({},a),{},r({},e,t))})},N=function(e){e.props.forEach(function(e){return _({type:"observeProp",propName:e})}),o(function(t){return n(n({},t),{},{manifest:e})}),S.emit("implementationChanged",e)};return T.useEffect(function(){return e.current=new s,e.current.on("error",I),e.current.on("ended",A),e.current.on("propChanged",c),e.current.on("propValue",c),e.current.on("implementationChanged",N),e.current.on("subtitlesTrackLoaded",u),e.current.on("extraSubtitlesTrackLoaded",d),e.current.on("extraSubtitlesTrackAdded",O),function(){return e.current.destroy()}},[]),{events:S,containerRef:t,state:i,load:function(e,t){_({type:"command",commandName:"load",commandArgs:e},t)},unload:function(){_({type:"command",commandName:"unload"})},addExtraSubtitlesTracks:function(e){_({type:"command",commandName:"addExtraSubtitlesTracks",commandArgs:{tracks:e}})},addLocalSubtitles:function(e,t){_({type:"command",commandName:"addLocalSubtitles",commandArgs:{filename:e,buffer:t}})},setProp:l,setSubtitlesTrack:function(e){l("selectedSubtitlesTrackId",e),l("selectedExtraSubtitlesTrackId",null)},setExtraSubtitlesTrack:function(e){l("selectedSubtitlesTrackId",null),l("selectedExtraSubtitlesTrackId",e)}}}},5812:(e,t,a)=>{function i(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}var n=a(30758),r=a(2736),E=a(97500),_=a(32889),T=a(20107),s=a(10954).default,S=a(60350),l=S.withCoreSuspender,I=S.getVisibleChildrenRange,A=a(38177),u=A.Image,d=A.MainNavBars,O=A.MetaItem,c=A.MetaRow,N=a(29905),R=a(47641),m=function(e){var t=e.queryParams,o=T(),r=i(N(t),2),S=r[0],l=r[1],A=n.useMemo(function(){return null!==S.selected?S.selected.extra.reduceRight(function(e,t){var a=i(t,2),o=a[0],n=a[1];return"search"===o?n:e},null):null},[S.selected]),m=n.useRef(),L=n.useCallback(function(){if(0!==S.catalogs.length){var e=I(m.current,100);null!==e&&l(e)}},[S.catalogs]),D=n.useCallback(_(L,250),[L]);return n.useLayoutEffect(function(){L()},[S.catalogs,L]),n.createElement(d,{className:R["search-container"],route:"search",query:A},n.createElement("div",{ref:m,className:R["search-content"],onScroll:D},null===A?n.createElement("div",{className:E(R["search-hints-wrapper"])},n.createElement("div",{className:E(R["search-hints-title-container"],"animation-fade-in")},n.createElement("div",{className:R["search-hints-title"]},o.string("SEARCH_ANYTHING"))),n.createElement("div",{className:E(R["search-hints-container"],"animation-fade-in")},n.createElement("div",{className:R["search-hint-container"]},n.createElement(s,{className:R.icon,name:"trailer"}),n.createElement("div",{className:R.label},o.string("SEARCH_CATEGORIES"))),n.createElement("div",{className:R["search-hint-container"]},n.createElement(s,{className:R.icon,name:"actors"}),n.createElement("div",{className:R.label},o.string("SEARCH_PERSONS"))),n.createElement("div",{className:R["search-hint-container"]},n.createElement(s,{className:R.icon,name:"link"}),n.createElement("div",{className:R.label},o.string("SEARCH_PROTOCOLS"))),n.createElement("div",{className:R["search-hint-container"]},n.createElement(s,{className:R.icon,name:"imdb-outline"}),n.createElement("div",{className:R.label},o.string("SEARCH_TYPES"))))):0===S.catalogs.length?n.createElement("div",{className:R["message-container"]},n.createElement(u,{className:R.image,src:a(32706),alt:" "}),n.createElement("div",{className:R["message-label"]},o.string("STREMIO_TV_SEARCH_NO_ADDONS"))):S.catalogs.map(function(e,t){var a;switch(null===(a=e.content)||void 0===a?void 0:a.type){case"Ready":return n.createElement(c,{key:t,className:E(R["search-row"],R["search-row-".concat(e.content.content[0].posterShape)],"animation-fade-in"),catalog:e,itemComponent:O});case"Err":return"EmptyContent"!==e.content.content?n.createElement(c,{key:t,className:E(R["search-row"],"animation-fade-in"),catalog:e,message:e.content.content}):null;default:return n.createElement(c.Placeholder,{key:t,className:E(R["search-row"],R["search-row-poster"],"animation-fade-in"),catalog:e,title:o.catalogTitle(e)})}})))};m.propTypes={queryParams:r.instanceOf(URLSearchParams)};var L=function(e){var t,a=e.queryParams;return n.createElement(d,{className:R["search-container"],route:"search",query:null!==(t=a.get("search"))&&void 0!==t?t:a.get("query")})};L.propTypes=m.propTypes,e.exports=l(m,L)},42726:(e,t,a)=>{var i=a(5812);e.exports=i},29905:(e,t,a)=>{var i=a(30758),o=a(60350).useModelState,n=a(31187).useServices;e.exports=function(e){var t=n().core,a=i.useMemo(function(){var t,a=null!==(t=e.get("search"))&&void 0!==t?t:e.get("query");return(null==a?void 0:a.length)>0?{action:"Load",args:{model:"CatalogsWithExtra",args:{extra:[["search",a]]}}}:{action:"Unload"}},[e]),r=i.useCallback(function(e){t.transport.dispatch({action:"CatalogsWithExtra",args:{action:"LoadRange",args:e}},"search")},[]);return[o({model:"search",action:a}),r]}},49221:(e,t,a)=>{function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){r(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function r(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=i(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var o=a.call(e,t||"default");if("object"!=i(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==i(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var E=a(30758),_=a(31187).useServices,T=a(60350).useModelState,s=function(e){return n(n({},e),{},{exportUrl:null!==e&&null!==e.exportUrl&&"Ready"===e.exportUrl.type?e.exportUrl.content:null})};e.exports=function(){var e=_().core,t=E.useCallback(function(){e.transport.dispatch({action:"Load",args:{model:"DataExport"}},"data_export")},[]);return[T({model:"data_export",map:s}),t]}},30648:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>l});var i=a(30758),o=a(60350),n=a(52600),r=a.n(n),E=a(31187);function _(e){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_(e)}function T(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,i)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?T(Object(a),!0).forEach(function(t){S(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):T(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function S(e,t,a){return(t=(function(e){var t=(function(e,t){if("object"!=_(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var i=a.call(e,t||"default");if("object"!=_(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)})(e,"string");return"symbol"==_(t)?t:t+""})(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const l=function(){var e=(0,E.useServices)().core,t=r()(),a=(0,o.useToast)();return{streamingServerUrls:(0,o.useModelState)({model:"ctx"}).streamingServerUrls,addServerUrl:(0,i.useCallback)(function(t){!(function(e){try{return new URL(e),!0}catch(e){return!1}})(t)?a.show({type:"error",title:"Invalid URL",message:"Please provide a valid URL",timeout:4e3}):(a.show({type:"success",title:"New URL added",message:"The new URL has been added successfully",timeout:4e3}),e.transport.dispatch({action:"Ctx",args:{action:"AddServerUrl",args:t}}))},[]),deleteServerUrl:(0,i.useCallback)(function(t){e.transport.dispatch({action:"Ctx",args:{action:"DeleteServerUrl",args:t}})},[]),selectServerUrl:(0,i.useCallback)(function(a){e.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:s(s({},t.settings),{},{streamingServerUrl:a})}})},[t.settings]),reloadServer:(0,i.useCallback)(function(){e.transport.dispatch({action:"StreamingServer",args:{action:"Reload"}})},[])}}},36441:(e,t,a)=>{var i=a(76541),o=a(53118),n=a(69229),r=a(9389),E=a(59938).default,_=a(91859),T=a(60001),s=a(42726),S=a(47569).default,l=a(7375),I=a(37860);e.exports={Addons:i,Board:o,Discover:n,Library:r,Calendar:E,MetaDetails:_,NotFound:T,Search:s,Settings:S,Player:l,Intro:I}},27380:(e,t,a)=>{var i=a(41343),o=a(39395);e.exports=function(){var e=!1,t=null,a=!1,n=null,r=new i;function E(){e=!0,t=null,a=!1,T()}function _(i){console.error(i),e=!1,t=new Error("Google Cast API not available",{cause:i}),a=!1,T(),n=null}function T(){r.emit("stateChanged")}Object.defineProperties(this,{active:{configurable:!1,enumerable:!0,get:function(){return e}},error:{configurable:!1,enumerable:!0,get:function(){return t}},starting:{configurable:!1,enumerable:!0,get:function(){return a}},transport:{configurable:!1,enumerable:!0,get:function(){return n}}}),this.start=function(){e||t instanceof Error||a||(a=!0,(n=new o).on("init",E),n.on("init-error",_),T())},this.stop=function(){e=!1,t=null,a=!1,T(),null!==n&&(n.removeAllListeners(),n=null)},this.on=function(e,t){r.on(e,t)},this.off=function(e,t){r.off(e,t)}}},39395:(e,t,a)=>{var i=a(41343),o=a(77444),n="urn:x-cast:com.stremio",r=2e4,E=null,_=new i;window.__onGCastApiAvailable=function(e){delete window.__onGCastApiAvailable,E=!!e,_.emit("availabilityChanged")};e.exports=function(){var e=new i,t={};function a(a,i){try{var o=JSON.parse(i),n=o.id,r=o.chunk,E=o.index,_=o.length;if(t[n]=t[n]||[],t[n][E]=r,Object.keys(t[n]).length===_){var T=JSON.parse(t[n].join(""));delete t[n],e.emit("message",T)}}catch(t){e.emit("message-error",t)}}function T(t){e.emit(cast.framework.CastSession.APPLICATION_STATUS_CHANGED,t)}function s(t){e.emit(cast.framework.CastSession.APPLICATION_METADATA_CHANGED,t)}function S(t){e.emit(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED,t)}function l(t){e.emit(cast.framework.CastSession.VOLUME_CHANGED,t)}function I(t){e.emit(cast.framework.CastSession.MEDIA_SESSION,t)}function A(t){e.emit(cast.framework.CastContextEventType.CAST_STATE_CHANGED,t)}function u(t){switch(e.emit(cast.framework.CastContextEventType.SESSION_STATE_CHANGED,t),t.sessionState){case cast.framework.SessionState.SESSION_STARTED:t.session.addMessageListener(n,a),t.session.addEventListener(cast.framework.CastSession.APPLICATION_STATUS_CHANGED,T),t.session.addEventListener(cast.framework.CastSession.APPLICATION_METADATA_CHANGED,s),t.session.addEventListener(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED,S),t.session.addEventListener(cast.framework.CastSession.VOLUME_CHANGED,l),t.session.addEventListener(cast.framework.CastSession.MEDIA_SESSION,I);break;case cast.framework.SessionState.SESSION_ENDED:t.session.removeMessageListener(n,a),t.session.removeEventListener(cast.framework.CastSession.APPLICATION_STATUS_CHANGED,T),t.session.removeEventListener(cast.framework.CastSession.APPLICATION_METADATA_CHANGED,s),t.session.removeEventListener(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED,S),t.session.removeEventListener(cast.framework.CastSession.VOLUME_CHANGED,l),t.session.removeEventListener(cast.framework.CastSession.MEDIA_SESSION,I)}}new Promise(function(e,t){function a(){_.off("availabilityChanged",a),E?e():t(new Error("window.cast api not available",{cause:"castAPIAvailable is null."}))}null!==E?a():_.on("availabilityChanged",a)}).then(function(){cast.framework.CastContext.getInstance().addEventListener(cast.framework.CastContextEventType.CAST_STATE_CHANGED,A),cast.framework.CastContext.getInstance().addEventListener(cast.framework.CastContextEventType.SESSION_STATE_CHANGED,u)}).then(function(){try{e.emit("init")}catch(e){console.error("ChromecastTransport",e)}}).catch(function(t){e.emit("init-error",t)}),this.on=function(t,a){e.on(t,a)},this.off=function(t,a){e.off(t,a)},this.removeAllListeners=function(){e.removeAllListeners()},this.getCastState=function(){return cast.framework.CastContext.getInstance().getCastState()},this.getSessionState=function(){return cast.framework.CastContext.getInstance().getSessionState()},this.getCastDevice=function(){var e=cast.framework.CastContext.getInstance().getCurrentSession();return null!==e?e.getCastDevice():null},this.setOptions=function(e){cast.framework.CastContext.getInstance().setOptions(e)},this.requestSession=function(){return cast.framework.CastContext.getInstance().requestSession()},this.endCurrentSession=function(e){cast.framework.CastContext.getInstance().endCurrentSession(e)},this.sendMessage=function(e){var t=cast.framework.CastContext.getInstance().getCurrentSession();if(null!==t){for(var a=JSON.stringify(e),i=Math.ceil(a.length/r),E=[],_=0;_<i;_++){var T=_*r,s=a.slice(T,T+r);E.push(s)}var S=o();return Promise.all(E.map(function(e,a){return t.sendMessage(n,{id:S,chunk:e,index:a,length:E.length})}))}return Promise.reject(new Error("Session not started",{cause:"castSession is null."}))}}},19201:(e,t,a)=>{var i=a(27380);e.exports=i},62972:(e,t,a)=>{var i=a(41343),o=a(68315);e.exports=function(e){var t=!1,a=null,n=!1,r=null,E=new i;function _(){t=!0,a=null,n=!1,s()}function T(e){console.error(e),t=!1,a=new Error("Stremio Core Transport initialization failed",{cause:e}),n=!1,s(),r=null}function s(){E.emit("stateChanged")}Object.defineProperties(this,{active:{configurable:!1,enumerable:!0,get:function(){return t}},error:{configurable:!1,enumerable:!0,get:function(){return a}},starting:{configurable:!1,enumerable:!0,get:function(){return n}},transport:{configurable:!1,enumerable:!0,get:function(){return r}}}),this.start=function(){t||a instanceof Error||n||(n=!0,(r=new o(e)).on("init",_),r.on("error",T),s())},this.stop=function(){t=!1,a=null,n=!1,s(),null!==r&&(r.removeAllListeners(),r=null)},this.on=function(e,t){E.on(e,t)},this.off=function(e,t){E.off(e,t)}}},68315:(e,t,a)=>{function i(){var e,t,a="function"==typeof Symbol?Symbol:{},n=a.iterator||"@@iterator",r=a.toStringTag||"@@toStringTag";function E(a,i,n,r){var E=i&&i.prototype instanceof T?i:T,s=Object.create(E.prototype);return o(s,"_invoke",(function(a,i,o){var n,r,E,T=0,s=o||[],S=!1,l={p:0,n:0,v:e,a:I,f:I.bind(e,4),d:function(t,a){return n=t,r=0,E=e,l.n=a,_}};function I(a,i){for(r=a,E=i,t=0;!S&&T&&!o&&t<s.length;t++){var o,n=s[t],I=l.p,A=n[2];a>3?(o=A===i)&&(E=n[(r=n[4])?5:(r=3,3)],n[4]=n[5]=e):n[0]<=I&&((o=a<2&&I<n[1])?(r=0,l.v=i,l.n=n[1]):I<A&&(o=a<3||n[0]>i||i>A)&&(n[4]=a,n[5]=i,l.n=A,r=0))}if(o||a>1)return _;throw S=!0,i}return function(o,s,A){if(T>1)throw TypeError("Generator is already running");for(S&&1===s&&I(s,A),r=s,E=A;(t=r<2?e:E)||!S;){n||(r?r<3?(r>1&&(l.n=-1),I(r,E)):l.n=E:l.v=E);try{if(T=2,n){if(r||(o="next"),t=n[o]){if(!(t=t.call(n,E)))throw TypeError("iterator result is not an object");if(!t.done)return t;E=t.value,r<2&&(r=0)}else 1===r&&(t=n.return)&&t.call(n),r<2&&(E=TypeError("The iterator does not provide a '"+o+"' method"),r=1);n=e}else if((t=(S=l.n<0)?E:a.call(i,l))!==_)break}catch(t){n=e,r=1,E=t}finally{T=1}}return{value:t,done:S}}})(a,n,r),!0),s}var _={};function T(){}function s(){}function S(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(o(t={},n,function(){return this}),t),I=S.prototype=T.prototype=Object.create(l);function A(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,S):(e.__proto__=S,o(e,r,"GeneratorFunction")),e.prototype=Object.create(I),e}return s.prototype=S,o(I,"constructor",S),o(S,"constructor",s),s.displayName="GeneratorFunction",o(S,r,"GeneratorFunction"),o(I),o(I,r,"Generator"),o(I,n,function(){return this}),o(I,"toString",function(){return"[object Generator]"}),(i=function(){return{w:E,m:A}})()}function o(e,t,a,i){var n=Object.defineProperty;try{n({},"",{})}catch(e){n=0}o=function(e,t,a,i){function r(t,a){o(e,t,function(e){return this._invoke(t,a,e)})}t?n?n(e,t,{value:a,enumerable:!i,configurable:!i,writable:!i}):e[t]=a:(r("next",0),r("throw",1),r("return",2))},o(e,t,a,i)}function n(e,t,a,i,o,n,r){try{var E=e[n](r),_=E.value}catch(e){return void a(e)}E.done?t(_):Promise.resolve(_).then(i,o)}function r(e){return function(){var t=this,a=arguments;return new Promise(function(i,o){var r=e.apply(t,a);function E(e){n(r,i,o,E,_,"next",e)}function _(e){n(r,i,o,E,_,"throw",e)}E(void 0)})}}var E=a(41343),_=a(1211);e.exports=function(e){var t=new E,a=new Worker("".concat("4a0ac61763256a759055a68cca63c8afc0e0da51","/scripts/worker.js")),o=new _(window,a);window.onCoreEvent=function(e){var a=e.name,i=e.args;try{t.emit(a,i)}catch(e){console.error("CoreTransport",e)}},o.call(["init"],[e]).then(function(){try{t.emit("init")}catch(e){console.error("CoreTransport",e)}}).catch(function(e){t.emit("error",e)}),this.on=function(e,a){t.on(e,a)},this.off=function(e,a){t.off(e,a)},this.removeAllListeners=function(){t.removeAllListeners()},this.getState=(function(){var e=r(i().m(function e(t){return i().w(function(e){for(;;)if(0===e.n)return e.a(2,o.call(["getState"],[t]))},e)}));return function(t){return e.apply(this,arguments)}})(),this.getDebugState=r(i().m(function e(){return i().w(function(e){for(;;)if(0===e.n)return e.a(2,o.call(["getDebugState"],[]))},e)})),this.dispatch=(function(){var e=r(i().m(function e(t,a){return i().w(function(e){for(;;)if(0===e.n)return e.a(2,o.call(["dispatch"],[t,a,location.hash]))},e)}));return function(t,a){return e.apply(this,arguments)}})(),this.analytics=(function(){var e=r(i().m(function e(t){return i().w(function(e){for(;;)if(0===e.n)return e.a(2,o.call(["analytics"],[t,location.hash]))},e)}));return function(t){return e.apply(this,arguments)}})(),this.decodeStream=(function(){var e=r(i().m(function e(t){return i().w(function(e){for(;;)if(0===e.n)return e.a(2,o.call(["decodeStream"],[t]))},e)}));return function(t){return e.apply(this,arguments)}})()}},21523:(e,t,a)=>{var i=a(62972);e.exports=i},87752:(e,t,a)=>{function i(){var e,t,a="function"==typeof Symbol?Symbol:{},n=a.iterator||"@@iterator",r=a.toStringTag||"@@toStringTag";function E(a,i,n,r){var E=i&&i.prototype instanceof T?i:T,s=Object.create(E.prototype);return o(s,"_invoke",(function(a,i,o){var n,r,E,T=0,s=o||[],S=!1,l={p:0,n:0,v:e,a:I,f:I.bind(e,4),d:function(t,a){return n=t,r=0,E=e,l.n=a,_}};function I(a,i){for(r=a,E=i,t=0;!S&&T&&!o&&t<s.length;t++){var o,n=s[t],I=l.p,A=n[2];a>3?(o=A===i)&&(E=n[(r=n[4])?5:(r=3,3)],n[4]=n[5]=e):n[0]<=I&&((o=a<2&&I<n[1])?(r=0,l.v=i,l.n=n[1]):I<A&&(o=a<3||n[0]>i||i>A)&&(n[4]=a,n[5]=i,l.n=A,r=0))}if(o||a>1)return _;throw S=!0,i}return function(o,s,A){if(T>1)throw TypeError("Generator is already running");for(S&&1===s&&I(s,A),r=s,E=A;(t=r<2?e:E)||!S;){n||(r?r<3?(r>1&&(l.n=-1),I(r,E)):l.n=E:l.v=E);try{if(T=2,n){if(r||(o="next"),t=n[o]){if(!(t=t.call(n,E)))throw TypeError("iterator result is not an object");if(!t.done)return t;E=t.value,r<2&&(r=0)}else 1===r&&(t=n.return)&&t.call(n),r<2&&(E=TypeError("The iterator does not provide a '"+o+"' method"),r=1);n=e}else if((t=(S=l.n<0)?E:a.call(i,l))!==_)break}catch(t){n=e,r=1,E=t}finally{T=1}}return{value:t,done:S}}})(a,n,r),!0),s}var _={};function T(){}function s(){}function S(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(o(t={},n,function(){return this}),t),I=S.prototype=T.prototype=Object.create(l);function A(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,S):(e.__proto__=S,o(e,r,"GeneratorFunction")),e.prototype=Object.create(I),e}return s.prototype=S,o(I,"constructor",S),o(S,"constructor",s),s.displayName="GeneratorFunction",o(S,r,"GeneratorFunction"),o(I),o(I,r,"Generator"),o(I,n,function(){return this}),o(I,"toString",function(){return"[object Generator]"}),(i=function(){return{w:E,m:A}})()}function o(e,t,a,i){var n=Object.defineProperty;try{n({},"",{})}catch(e){n=0}o=function(e,t,a,i){function r(t,a){o(e,t,function(e){return this._invoke(t,a,e)})}t?n?n(e,t,{value:a,enumerable:!i,configurable:!i,writable:!i}):e[t]=a:(r("next",0),r("throw",1),r("return",2))},o(e,t,a,i)}function n(e,t,a,i,o,n,r){try{var E=e[n](r),_=E.value}catch(e){return void a(e)}E.done?t(_):Promise.resolve(_).then(i,o)}var r=a(41343);e.exports=function(e){var t=e.core,a=!1,o=new r;function E(e){e.preventDefault()}function _(e){return T.apply(this,arguments)}function T(){var e;return e=i().m(function e(a){var n,r,E;return i().w(function(e){for(;;)switch(e.p=e.n){case 0:if(a.preventDefault(),!(a.dataTransfer.files instanceof FileList&&a.dataTransfer.files.length>0)){e.n=9;break}n=a.dataTransfer.files[0],E=n.type,e.n="application/x-bittorrent"===E?1:"application/x-subrip"===E?5:"text/vtt"===E?6:""===E?7:8;break;case 1:return e.p=1,e.n=2,n.arrayBuffer();case 2:r=e.v,t.transport.dispatch({action:"StreamingServer",args:{action:"CreateTorrent",args:Array.from(new Uint8Array(r))}}),e.n=4;break;case 3:e.p=3,e.v,o.emit("error",{message:"Failed to process file",file:{name:n.name,type:n.type}});case 4:case 5:case 6:case 7:return e.a(3,9);case 8:o.emit("error",{message:"Unsupported file",file:{name:n.name,type:n.type}});case 9:return e.a(2)}},e,null,[[1,3]])}),T=function(){var t=this,a=arguments;return new Promise(function(i,o){var r=e.apply(t,a);function E(e){n(r,i,o,E,_,"next",e)}function _(e){n(r,i,o,E,_,"throw",e)}E(void 0)})},T.apply(this,arguments)}function s(){o.emit("stateChanged")}Object.defineProperties(this,{active:{configurable:!1,enumerable:!0,get:function(){return a}}}),this.start=function(){a||(window.addEventListener("dragover",E),window.addEventListener("drop",_),a=!0,s())},this.stop=function(){window.removeEventListener("dragover",E),window.removeEventListener("drop",_),a=!1,s()},this.on=function(e,t){o.on(e,t)},this.off=function(e,t){o.off(e,t)}}},26766:(e,t,a)=>{var i=a(87752);e.exports=i},28076:(e,t,a)=>{var i=a(41343);e.exports=function(){var e=!1,t=new i;function a(e){if(!(e.keyboardShortcutPrevented||"INPUT"===e.target.tagName||e.ctrlKey||e.altKey||e.shiftKey||e.metaKey))switch(e.code){case"Digit0":e.preventDefault(),window.location="#/search";break;case"Digit1":e.preventDefault(),window.location="#/";break;case"Digit2":e.preventDefault(),window.location="#/discover";break;case"Digit3":e.preventDefault(),window.location="#/library";break;case"Digit4":e.preventDefault(),window.location="#/calendar";break;case"Digit5":e.preventDefault(),window.location="#/addons";break;case"Digit6":e.preventDefault(),window.location="#/settings";break;case"Backspace":e.preventDefault(),e.ctrlKey?window.history.forward():window.history.back()}}function o(){t.emit("stateChanged")}Object.defineProperties(this,{active:{configurable:!1,enumerable:!0,get:function(){return e}}}),this.start=function(){e||(window.addEventListener("keydown",a),e=!0,o())},this.stop=function(){window.removeEventListener("keydown",a),e=!1,o()}}},47568:(e,t,a)=>{var i=a(28076);e.exports=i},45804:(e,t,a)=>{var i=a(30758).createContext({});i.displayName="ServicesContext",e.exports=i},18722:(e,t,a)=>{var i=a(30758),o=a(2736),n=a(45804),r=function(e){var t=e.services,a=void 0===t?{}:t,o=e.children;return i.createElement(n.Provider,{value:a},o)};r.propTypes={services:o.object,children:o.oneOfType([o.arrayOf(o.node),o.node])},e.exports=r},27415:(e,t,a)=>{var i=a(18722),o=a(10976);e.exports={ServicesProvider:i,useServices:o}},10976:(e,t,a)=>{var i=a(30758),o=a(45804);e.exports=function(){return i.useContext(o)}},75472:(e,t,a)=>{var i=a(41343),o=a(43415);e.exports=function(){var e=!1,t=null,a=!1,n=null,r=new i;function E(){r.emit("stateChanged")}Object.defineProperties(this,{active:{configurable:!1,enumerable:!0,get:function(){return e}},error:{configurable:!1,enumerable:!0,get:function(){return t}},starting:{configurable:!1,enumerable:!0,get:function(){return a}},transport:{configurable:!1,enumerable:!0,get:function(){return n}}}),this.start=function(){if(!(e||t instanceof Error||a)){e=!1,a=!0;try{n=new o,e=!0,t=null,a=!1,E()}catch(i){console.error(i),e=!1,t=new Error("Failed to initialize shell transport",{cause:i}),a=!1,E(),n=null}E()}},this.stop=function(){e=!1,t=null,a=!1,E()},this.on=function(e,t){r.on(e,t)},this.off=function(e,t){r.off(e,t)}}},43415:(e,t,a)=>{var i=a(41343),o=1,n=3,r=6,E=7,_="transport";e.exports=function(){var e=new i;this.props={};var t=this,a=window.qt&&window.qt.webChannelTransport;if(!a)throw"no viable transport found (qt.webChannelTransport)";var T=0;function s(e){e.id=T++,a.send(JSON.stringify(e))}a.onmessage=function(a){var i=JSON.parse(a.data);if(0===i.id){var n=i.data[_];n.properties.slice(1).forEach(function(e){t.props[e[1]]=e[3]}),"string"==typeof t.props.shellVersion&&(t.shellVersionArr=(t.props.shellVersion.match(/(\d+)\.(\d+)\.(\d+)/)||[]).slice(1,4).map(Number)),e.emit("received-props",t.props),n.signals.forEach(function(e){s({type:E,object:_,signal:e[1]})});var T=n.methods.filter(function(e){return"onEvent"===e[0]})[0];t.send=function(e,t){s({type:r,object:_,method:T[1],args:[e,t||{}]})},t.send("app-ready",{})}i.object===_&&i.type===o&&e.emit(i.args[0],i.args[1])},s({type:n}),this.on=function(t,a){e.on(t,a)},this.off=function(t,a){e.off(t,a)},this.removeAllListeners=function(){e.removeAllListeners()}}},60974:(e,t,a)=>{var i=a(75472);e.exports=i},31187:(e,t,a)=>{var i=a(19201),o=a(21523),n=a(26766),r=a(47568),E=a(27415),_=E.ServicesProvider,T=E.useServices,s=a(60974);e.exports={Chromecast:i,Core:o,DragAndDrop:n,KeyboardShortcuts:r,ServicesProvider:_,useServices:T,Shell:s}},7257:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=E(a(10954)),s=a(50266),S=a(31187),l=a(60350),I=a(38177),A=E(a(70036));t.default=function(e){var t=e.className,a=(0,s.useTranslation)().t,i=(0,S.useServices)().shell,o=(0,l.useShell)(),n=(0,l.useBinaryState)(!1),r=n[0],E=n[1],u=n[2];return(0,_.useEffect)(function(){return i.transport&&i.transport.on("autoupdater-show-notif",E),function(){i.transport&&i.transport.off("autoupdater-show-notif",E)}},[]),_.default.createElement("div",{className:t},_.default.createElement(I.Transition,{when:r,name:"slide-up"},_.default.createElement("div",{className:A.default["updater-banner"]},_.default.createElement("div",{className:A.default.label},a("UPDATER_TITLE")),_.default.createElement(I.Button,{className:A.default.button,onClick:function(){o.send("autoupdater-notif-clicked")}},a("UPDATER_INSTALL_BUTTON")),_.default.createElement(I.Button,{className:A.default.close,onClick:u},_.default.createElement(T.default,{className:A.default.icon,name:"close"})))))}},76420:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(7257));t.default=o.default},91053:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__spreadArray||function(e,t,a){if(a||2===arguments.length)for(var i,o=0,n=t.length;o<n;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))},_=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.useFileDrop=t.FileDropProvider=void 0;var T=r(a(30758)),s=_(a(97500)),S=a(51267),l=(0,T.createContext)({});t.FileDropProvider=function(e){var t=e.className,a=e.children,i=(0,T.useState)([]),o=i[0],n=i[1],r=(0,T.useState)(!1),_=r[0],I=r[1],A=function(e){e.preventDefault(),I(!0)},u=function(){I(!1)},d=(0,T.useCallback)(function(e){e.preventDefault();var t=e.dataTransfer;if(t&&(null==t?void 0:t.files.length)>0){var a=t.files[0];a.arrayBuffer().then(function(e){o.filter(function(t){var i=t[0];return a.type?i===a.type:(0,S.isFileType)(e,i)}).forEach(function(t){return(0,t[1])(a.name,e)})})}I(!1)},[o]);return(0,T.useEffect)(function(){return window.addEventListener("dragover",A),window.addEventListener("dragleave",u),window.addEventListener("drop",d),function(){window.removeEventListener("dragover",A),window.removeEventListener("dragleave",u),window.removeEventListener("drop",d)}},[d]),T.default.createElement(l.Provider,{value:{on:function(e,t){n(function(a){return E(E([],a,!0),[[e,t]],!1)})},off:function(e,t){n(function(a){return a.filter(function(a){var i=a[0],o=a[1];return i!==e&&o!==t})})}}},a,T.default.createElement("div",{className:(0,s.default)(t,{active:_})}))};t.useFileDrop=function(){return(0,T.useContext)(l)}},32750:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.onFileDrop=t.useFileDrop=t.FileDropProvider=void 0;var o=a(91053);Object.defineProperty(t,"FileDropProvider",{enumerable:!0,get:function(){return o.FileDropProvider}}),Object.defineProperty(t,"useFileDrop",{enumerable:!0,get:function(){return o.useFileDrop}});var n=i(a(46534));t.onFileDrop=n.default},46534:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=a(30758),o=a(91053);t.default=function(e,t){var a=(0,o.useFileDrop)(),n=a.on,r=a.off;(0,i.useEffect)(function(){return e.forEach(function(e){return n(e,t)}),function(){return e.forEach(function(e){return r(e,t)})}},[])}},51267:(e,t,a)=>{"use strict";var i=a(84686).hp;Object.defineProperty(t,"__esModule",{value:!0}),t.isFileType=void 0;var o=a(69839).MIME_SIGNATURES;t.isFileType=function(e,t){return o[t].some(function(t){var a=new Uint8Array(e),o=i.from(t,"hex"),n=a.subarray(0,o.length);return 0===i.compare(o,n)})}},85197:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.usePlatform=t.PlatformProvider=void 0;var E=r(a(30758)),_=a(69839),T=a(96126),s=(0,E.createContext)({});t.PlatformProvider=function(e){var t=e.children;return E.default.createElement(s.Provider,{value:{openExternal:function(e){try{var t=new URL(e).hostname,a=_.WHITELISTED_HOSTS.some(function(e){return t.endsWith(e)})?e:"https://www.stremio.com/warning#".concat(encodeURIComponent(e));window.open(a,"_blank")}catch(e){console.error("Failed to parse external url:",e)}},name:T.name,isMobile:T.isMobile}},t)};t.usePlatform=function(){return(0,E.useContext)(s)}},96126:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.isMobile=t.name=void 0;var o=i(a(9856)),n=globalThis.navigator,r=n.userAgent,E=n.platform,_=n.maxTouchPoints,T=["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(E)||r.includes("Mac")&&"ontouchend"in document,s=r.includes("Macintosh")&&5===_,S=o.default.getParser(r).getOSName().toLowerCase(),l=s?"visionos":T?"ios":S||"unknown";t.name=l;var I=["ios","android"].includes(l);t.isMobile=I},6502:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.usePlatform=t.PlatformProvider=void 0;var i=a(85197);Object.defineProperty(t,"PlatformProvider",{enumerable:!0,get:function(){return i.PlatformProvider}}),Object.defineProperty(t,"usePlatform",{enumerable:!0,get:function(){return i.usePlatform}})},35483:function(e,t,a){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)},o=this&&this.__spreadArray||function(e,t,a){if(a||2===arguments.length)for(var i,o=0,n=t.length;o<n;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.label=t.find=t.all=void 0;var r=n(a(68601)).default.all().map(function(e){return i(i({},e),{code:e[2],label:e.local,alpha2:e[1],alpha3:[e[2],e["2B"],e["2T"],e[3]],locale:e.locale})});t.all=r;var E=function(e){return r.find(function(t){var a=t.alpha2,i=t.alpha3,n=t.locale;return o(o([a],i,!0),[n],!1).includes(e)})};t.find=E;t.label=function(e){var t,a=E(e);return null!==(t=null==a?void 0:a.label)&&void 0!==t?t:e}},47726:function(e,t,a){"use strict";var i=this&&this.__awaiter||function(e,t,a,i){return new(a||(a=Promise))(function(o,n){function r(e){try{_(i.next(e))}catch(e){n(e)}}function E(e){try{_(i.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?o(e.value):(t=e.value,t instanceof a?t:new a(function(e){e(t)})).then(r,E)}_((i=i.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var a,i,o,n={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},r=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return r.next=E(0),r.throw=E(1),r.return=E(2),"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function E(E){return function(_){return(function(E){if(a)throw new TypeError("Generator is already executing.");for(;r&&(r=0,E[0]&&(n=0)),n;)try{if(a=1,i&&(o=2&E[0]?i.return:E[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,E[1])).done)return o;switch(i=0,o&&(E=[2&E[0],o.value]),E[0]){case 0:case 1:o=E;break;case 4:return n.label++,{value:E[1],done:!1};case 5:n.label++,i=E[1],E=[0];continue;case 7:E=n.ops.pop(),n.trys.pop();continue;default:if(!(o=n.trys,(o=o.length>0&&o[o.length-1])||6!==E[0]&&2!==E[0])){n=0;continue}if(3===E[0]&&(!o||E[1]>o[0]&&E[1]<o[3])){n.label=E[1];break}if(6===E[0]&&n.label<o[1]){n.label=o[1],o=E;break}if(o&&n.label<o[2]){n.label=o[2],n.ops.push(E);break}o[2]&&n.ops.pop(),n.trys.pop();continue}E=t.call(e,n)}catch(e){E=[6,e],i=0}finally{a=o=0}if(5&E[0])throw E[1];return{value:E[0]?E[1]:void 0,done:!0}})([E,_])}}},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var r=a(30758),E=n(a(51333)),_=n(a(35214));t.default=function(){var e=(0,E.default)(),t=(0,_.default)()[0],a=(0,r.useState)(!1),n=a[0],T=a[1],s=(0,r.useCallback)(function(){return i(void 0,void 0,void 0,function(){var t;return o(this,function(a){switch(a.label){case 0:return e.active?(e.send("win-set-visibility",{fullscreen:!0}),[3,4]):[3,1];case 1:return a.trys.push([1,3,,4]),[4,document.documentElement.requestFullscreen()];case 2:return a.sent(),[3,4];case 3:return t=a.sent(),console.error("Error enabling fullscreen",t),[3,4];case 4:return[2]}})})},[]),S=(0,r.useCallback)(function(){e.active?e.send("win-set-visibility",{fullscreen:!1}):document.fullscreenElement===document.documentElement&&document.exitFullscreen()},[]),l=(0,r.useCallback)(function(){n?S():s()},[n]);return(0,r.useEffect)(function(){var a=function(e){T(!0===e.isFullscreen)},i=function(){T(document.fullscreenElement===document.documentElement)},o=function(a){var i=document.activeElement,o=i&&("INPUT"===i.tagName||"TEXTAREA"===i.tagName||"SELECT"===i.tagName||i.isContentEditable);"Escape"===a.code&&t.escExitFullscreen&&S(),"KeyF"!==a.code||o||l(),"F11"===a.code&&e.active&&l()};return e.on("win-visibility-changed",a),document.addEventListener("keydown",o),document.addEventListener("fullscreenchange",i),function(){e.off("win-visibility-changed",a),document.removeEventListener("keydown",o),document.removeEventListener("fullscreenchange",i)}},[t.escExitFullscreen,l]),[n,s,S,l]}},85678:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=a(30758);t.default=function(e){var t=(0,i.useRef)(null),a=function(){t.current&&clearInterval(t.current),t.current=null};return(0,i.useEffect)(function(){return function(){return a()}},[]),{start:function(i){a(),t.current=setInterval(i,e)},cancel:a}}},96973:function(e,t,a){"use strict";var i=this&&this.__spreadArray||function(e,t,a){if(a||2===arguments.length)for(var i,o=0,n=t.length;o<n;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var n=a(30758),r=o(a(96859));t.default=function(e){var t=(0,n.useMemo)(function(){var e=r.default.find(function(e){return e.codes.includes(navigator.language||"en-US")});return e?[e.codes[1]||"eng",navigator.language||"en-US"]:["eng"]},[]),a=(0,n.useMemo)(function(){return null==e?void 0:e.some(function(e){return r.default.some(function(t){return t.name===e.label})})},[e]),o=(0,n.useMemo)(function(){var a=e.findIndex(function(e){var a=r.default.find(function(t){return t.name===e.label});return t.some(function(e){return null==a?void 0:a.codes.includes(e)})});if(-1===a)return i([],e,!0).sort(function(e,t){return e.label.localeCompare(t.label)});var o=e[a],n=e.filter(function(e,t){return t!==a}).sort(function(e,t){return e.label.localeCompare(t.label)});return i([o],n,!0)},[e,t,a]);return{userLangCode:t,isLanguageDropdown:a,sortedOptions:o}}},76821:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=a(30758);t.default=function(){var e=(0,i.useState)(window.innerHeight),t=e[0],a=e[1],o=(0,i.useState)(window.innerWidth),n=o[0],r=o[1],E=(0,i.useMemo)(function(){return t>n?"portrait":"landscape"},[n,t]);return(0,i.useEffect)(function(){var e=function(){a(window.innerHeight),r(window.innerWidth)};return window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}},[window.innerWidth,window.innerHeight]),E}},42646:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=a(30758);t.default=function(e){var t=(0,i.useRef)(null);return(0,i.useEffect)(function(){var a=function(a){t.current&&!t.current.contains(a.target)&&e()};return document.addEventListener("mouseup",a),document.addEventListener("touchend",a),function(){document.removeEventListener("mouseup",a),document.removeEventListener("touchend",a)}},[e]),t}},35214:function(e,t,a){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var n=a(30758),r=a(31187),E=o(a(52600));t.default=function(){var e=(0,r.useServices)().core,t=(0,E.default)(),a=(0,n.useCallback)(function(a){e.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},t.settings),a)}})},[t]);return[t.settings,a]}},51333:function(e,t,a){"use strict";var i,o=this&&this.__spreadArray||function(e,t,a){if(a||2===arguments.length)for(var i,o=0,n=t.length;o<n;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var r,E=a(30758),_=n(a(41343)),T=null===(i=null===globalThis||void 0===globalThis?void 0:globalThis.chrome)||void 0===i?void 0:i.webview,s=new _.default;!(function(e){e[e.SIGNAL=1]="SIGNAL",e[e.INVOKE_METHOD=6]="INVOKE_METHOD"})(r||(r={}));t.default=function(){var e=(0,E.useState)(!1),t=e[0],a=e[1],i=(0,E.useState)(!1),n=i[0],_=i[1],S=function(e,t){s.on(e,t)},l=function(e,t){s.off(e,t)};return(0,E.useEffect)(function(){var e=function(e){a(!1===e.visible&&0===e.visibility)},t=function(e){_(9===e.state)};return S("win-visibility-changed",e),S("win-state-changed",t),function(){l("win-visibility-changed",e),l("win-state-changed",t)}},[]),(0,E.useEffect)(function(){if(T){var e=function(e){var t=e.data;try{var a=JSON.parse(t),i=a.type,o=a.args;if(i===r.SIGNAL){var n=o[0],E=o[1];s.emit(n,E)}}catch(e){console.error("Shell","Failed to handle event",e)}};return T.addEventListener("message",e),function(){return T.removeEventListener("message",e)}}},[]),{active:!!T,send:function(e){for(var t=[],a=1;a<arguments.length;a++)t[a-1]=arguments[a];try{null==T||T.postMessage(JSON.stringify({id:Math.floor(9999*Math.random())+1,type:r.INVOKE_METHOD,object:"transport",method:"onEvent",args:o([e],t,!0)}))}catch(e){console.error("Shell","Failed to send event",e)}},on:S,off:l,windowClosed:t,windowHidden:n}}},32572:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=a(30758);t.default=function(e){var t=(0,i.useRef)(null),a=function(){t.current&&clearTimeout(t.current),t.current=null};return(0,i.useEffect)(function(){return function(){return a()}},[]),{start:function(i){a(),t.current=setTimeout(i,e)},cancel:a}}},92174:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=a(8143),s=E(a(97500)),S=E(a(8167)),l=E(a(76821)),I=E(a(43351));t.default=function(e){var t,a=e.children,i=e.title,o=e.show,n=e.onClose,r=(0,_.useRef)(null),E=(0,l.default)(),A=(0,_.useState)(0),u=A[0],d=A[1],O=(0,_.useState)(0),c=O[0],N=O[1],R=(0,S.default)(),m=R[0],L=R[1],D=R[2],p=(0,_.useMemo)(function(){return{transform:"translateY(".concat(c,"px)")}},[c]),C=function(){var e,t;return null!==(t=null===(e=r.current)||void 0===e?void 0:e.offsetHeight)&&void 0!==t?t:0},h=function(){return N(C())},f=(0,_.useCallback)(function(e){var t=e.touches[0].clientY;N(Math.max(0,t-u))},[u]),P=(0,_.useCallback)(function(){c===C()&&D()},[c]);return(0,_.useEffect)(function(){N(0),o?L():D()},[o]),(0,_.useEffect)(function(){!m&&n()},[m]),(0,_.useEffect)(function(){m&&D()},[E]),m&&(0,T.createPortal)(_.default.createElement("div",{className:I.default["bottom-sheet"]},_.default.createElement("div",{className:I.default.backdrop,onClick:h}),_.default.createElement("div",{ref:r,className:(0,s.default)(I.default.container,(t={},t[I.default.dragging]=u,t),"animation-slide-up"),style:p,onTouchStart:function(e){var t=e.touches[0].clientY;d(t)},onTouchMove:f,onTouchEnd:function(){N(function(e){return e>100?C():0}),d(0)},onTransitionEnd:P},_.default.createElement("div",{className:I.default.heading},_.default.createElement("div",{className:I.default.handle}),_.default.createElement("div",{className:I.default.title},i)),_.default.createElement("div",{className:I.default.content,onClick:h},a))),document.body)}},61396:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(92174));t.default=o.default},66360:function(e,t,a){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)},o=this&&this.__rest||function(e,t){var a={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(a[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(a[i[o]]=e[i[o]])}return a},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var r=a(30758),E=n(a(97500)),_=a(33472),T=n(a(5077)),s=(0,r.forwardRef)(function(e,t){var a=e.className,n=e.href,s=e.disabled,S=e.children,l=e.onLongPress,I=e.onDoubleClick,A=o(e,["className","href","disabled","children","onLongPress","onDoubleClick"]),u=(0,_.useLongPress)(l,{detect:_.LongPressEventType.Pointer}),d=(0,r.useCallback)(function(e){"function"==typeof A.onKeyDown&&A.onKeyDown(e),"Enter"===e.key&&(e.preventDefault(),e.nativeEvent.buttonClickPrevented||e.currentTarget.click())},[A.onKeyDown]),O=(0,r.useCallback)(function(e){"function"==typeof A.onMouseDown&&A.onMouseDown(e),e.nativeEvent.buttonBlurPrevented||(e.preventDefault(),document.activeElement instanceof HTMLElement&&document.activeElement.blur())},[A.onMouseDown]);return(0,r.createElement)("string"==typeof n&&n.length>0?"a":"div",i(i(i({tabIndex:0},A),{ref:t,className:(0,E.default)(a,T.default["button-container"],{disabled:s}),href:n,onKeyDown:d,onMouseDown:O,onDoubleClick:I}),u()),S)});t.default=s},45130:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(66360));t.default=o.default},80574:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=E(a(97500)),s=E(a(62871)),S=E(a(45130)),l=E(a(10954)),I=_.default.forwardRef(function(e,t){var a,i,o,n=e.name,r=e.disabled,E=e.className,I=e.label,A=e.href,u=e.link,d=e.onChange,O=e.error,c=e.checked,N=(0,_.useCallback)(function(e){!r&&d&&d({type:"select",checked:e.target.checked,reactEvent:e,nativeEvent:e.nativeEvent})},[r,d]),R=(0,_.useCallback)(function(e){"Enter"!==e.key&&" "!==e.key||r||d&&d({type:"select",checked:!c,reactEvent:e,nativeEvent:e.nativeEvent})},[r,c,d]);return _.default.createElement("div",{className:(0,T.default)(s.default.checkbox,E)},_.default.createElement("label",{className:s.default.label,htmlFor:n},_.default.createElement("div",{className:(0,T.default)(s.default["checkbox-container"],(a={},a[s.default.checked]=c,a),(i={},i[s.default.disabled]=r,i),(o={},o[s.default.error]=O,o)),role:"checkbox",tabIndex:r?-1:0,"aria-checked":c,onKeyDown:R},_.default.createElement("input",{ref:t,id:n,type:"checkbox",checked:c,disabled:r,onChange:N,className:s.default.input}),c?_.default.createElement(l.default,{name:"checkmark",className:s.default["checkbox-icon"]}):null),_.default.createElement("div",null,_.default.createElement("span",null,I),A&&u?_.default.createElement(S.default,{className:s.default.link,href:A,target:"_blank",tabIndex:-1},u):null)))});t.default=I},27563:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(80574));t.default=o.default},34932:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=E(a(97500)),s=a(38177),S=E(a(24189)),l=(0,_.memo)(function(e){var t,a=e.label,i=e.value,o=e.active,n=e.onSelect,r=(0,_.useRef)(null),E=(0,_.useCallback)(function(e){var t=e.currentTarget.dataset.value;t&&n(t)},[onselect]);return(0,_.useEffect)(function(){var e;o&&(null===(e=r.current)||void 0===e||e.scrollIntoView({block:"nearest",inline:"center",behavior:"smooth"}))},[o]),_.default.createElement(s.Button,{ref:r,key:i,className:(0,T.default)(S.default.chip,(t={},t[S.default.active]=o,t)),tabIndex:-1,"data-value":i,onClick:E},a)});t.default=l},25396:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(34932));t.default=o.default},21910:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=a(38177),s=E(a(25396)),S=E(a(37359)),l=(0,_.memo)(function(e){var t=e.options,a=e.selected,i=e.onSelect;return _.default.createElement(T.HorizontalScroll,{className:S.default.chips},t.map(function(e){var t=e.label,o=e.value;return _.default.createElement(s.default,{key:o,label:t,value:o,active:a.includes(o),onSelect:i})}))});t.default=l},55589:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(21910));t.default=o.default},97566:function(e,t,a){"use strict";var i,o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)},n=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),E=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),o=0;o<a.length;o++)"default"!==a[o]&&n(t,e,a[o]);return r(t,e),t}),_=this&&this.__rest||function(e,t){var a={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(a[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(a[i[o]]=e[i[o]])}return a},T=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var s=E(a(30758)),S=T(a(97500)),l=E(a(38250)),I=a(50266),A=a(38177),u=T(a(73725)),d=T(a(8167)),O=T(a(7167)),c=T(a(3599)),N=function(e){var t=l.parseColor(e,"hexcss4");return"string"==typeof t?t:"#ffffffff"};t.default=function(e){var t=e.className,a=e.value,i=e.onChange,n=_(e,["className","value","onChange"]),r=(0,I.useTranslation)().t,E=(0,d.default)(!1),T=E[0],l=E[1],R=E[2],m=(0,s.useState)(function(){return N(a)}),L=m[0],D=m[1],p=(0,s.useMemo)(function(){return{backgroundColor:a}},[a]),C=(0,s.useMemo)(function(){return N(a).endsWith("00")},[a]),h=(0,s.useCallback)(function(e){"function"==typeof n.onClick&&n.onClick(e),e.nativeEvent.openModalPrevented||l()},[n.onClick]),f=(0,s.useCallback)(function(e){e.nativeEvent.openModalPrevented=!0},[]),P=(0,s.useMemo)(function(){return[{label:r("SELECT"),props:{"data-autofocus":!0,onClick:function(){"function"==typeof i&&i(L),R()}}}]},[L,i]),B=(0,s.useCallback)(function(e){D(N(e))},[]);return(0,s.useLayoutEffect)(function(){D(N(a))},[a,T]),s.default.createElement(A.Button,o({title:C?r("BUTTON_COLOR_TRANSPARENT"):a},n,{style:p,className:(0,S.default)(t,c.default["color-input-container"]),onClick:h}),C?s.default.createElement("div",{className:c.default["transparent-label-container"]},s.default.createElement("div",{className:c.default["transparent-label"]},r("BUTTON_COLOR_TRANSPARENT"))):null,T?s.default.createElement(u.default,{title:r("CHOOSE_COLOR"),buttons:P,onCloseRequest:R,onClick:f},s.default.createElement(O.default,{className:c.default["color-picker-container"],value:L,onInput:B})):null)}},81455:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(97566));t.default=o.default},58150:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=a(8143),s=E(a(72775));t.default=(0,_.memo)(function(e){var t=e.children,a=e.on,i=e.autoClose,o=(0,_.useState)(!1),n=o[0],r=o[1],E=(0,_.useState)([0,0]),S=E[0],l=E[1],I=(0,_.useState)([0,0]),A=I[0],u=I[1],d=(0,_.useCallback)(function(e){e&&u([e.offsetWidth,e.offsetHeight])},[]),O=(0,_.useMemo)(function(){var e=[window.innerWidth,window.innerHeight],t=e[0],a=e[1],i=A[0],o=A[1],n=S[0],r=S[1],E=Math.max(8,Math.min(n+i>t-8?n-i:n,t-i-8));return{top:Math.max(8,Math.min(r+o>a-8?r-o:r,a-o-8)),left:E}},[S,A]),c=function(){l([0,0]),r(!1)},N=function(e){e.stopPropagation()},R=function(e){e.preventDefault(),l([e.clientX,e.clientY]),r(!0)},m=(0,_.useCallback)(function(e){return"Escape"===e.key&&c()},[]),L=(0,_.useCallback)(function(){i&&c()},[i]);return(0,_.useEffect)(function(){return a.forEach(function(e){return e.current&&e.current.addEventListener("contextmenu",R)}),document.addEventListener("keydown",m),function(){a.forEach(function(e){return e.current&&e.current.removeEventListener("contextmenu",R)}),document.removeEventListener("keydown",m)}},[a]),n&&(0,T.createPortal)(_.default.createElement("div",{className:s.default["context-menu-container"],onMouseDown:c,onTouchStart:c},_.default.createElement("div",{ref:d,className:s.default["context-menu"],style:O,onMouseDown:N,onTouchStart:N,onClick:L},t)),document.body)})},8146:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(58150));t.default=o.default},29998:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=E(a(97500)),s=E(a(5639));t.default=function(e){var t=e.className,a=e.children,i=(0,_.useRef)(null),o=(0,_.useState)("left"),n=o[0],r=o[1];return(0,_.useEffect)(function(){var e,t=function(e){var t=e.target,a=t.scrollLeft,i=t.scrollWidth,o=t.offsetWidth;r(function(){return a-1<=0?"left":a+o+1>=i?"right":"center"})};return null===(e=i.current)||void 0===e||e.addEventListener("scroll",t),function(){var e;return null===(e=i.current)||void 0===e?void 0:e.removeEventListener("scroll",t)}},[]),_.default.createElement("div",{ref:i,className:(0,T.default)(s.default["horizontal-scroll"],t,[s.default[n]])},a)}},24939:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(29998));t.default=o.default},31706:function(e,t,a){"use strict";var i,o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)},n=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),E=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),o=0;o<a.length;o++)"default"!==a[o]&&n(t,e,a[o]);return r(t,e),t}),_=this&&this.__rest||function(e,t){var a={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(a[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(a[i[o]]=e[i[o]])}return a};Object.defineProperty(t,"__esModule",{value:!0});var T=E(a(30758));t.default=function(e){var t=e.className,a=e.src,i=e.alt,n=e.fallbackSrc,r=e.renderFallback,E=_(e,["className","src","alt","fallbackSrc","renderFallback"]),s=(0,T.useState)(!1),S=s[0],l=s[1],I=(0,T.useCallback)(function(e){"function"==typeof E.onError&&E.onError(e),l(!0)},[E.onError]);return(0,T.useLayoutEffect)(function(){l(!1)},[a]),!S&&"string"==typeof a&&0!==a.length||"function"!=typeof r&&"string"!=typeof n?T.default.createElement("img",o({},E,{className:t,src:a,alt:i,loading:"lazy",onError:I})):"function"==typeof r?r():T.default.createElement("img",o({},E,{className:t,src:n,alt:i,loading:"lazy"}))}},49143:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(31706));t.default=o.default},25490:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=E(a(97500)),s=a(63214),S=E(a(99715)),l=[{id:"board",label:"Board",icon:"home",href:"#/"},{id:"discover",label:"Discover",icon:"discover",href:"#/discover"},{id:"library",label:"Library",icon:"library",href:"#/library"},{id:"calendar",label:"Calendar",icon:"calendar",href:"#/calendar"},{id:"addons",label:"ADDONS",icon:"addons",href:"#/addons"},{id:"settings",label:"SETTINGS",icon:"settings",href:"#/settings"}],I=(0,_.memo)(function(e){var t=e.className,a=e.route,i=e.query,o=e.children;return _.default.createElement("div",{className:(0,T.default)(t,S.default["main-nav-bars-container"])},_.default.createElement(s.HorizontalNavBar,{className:S.default["horizontal-nav-bar"],route:a,query:i,backButton:!1,searchBar:!0,fullscreenButton:!0,navMenu:!0}),_.default.createElement(s.VerticalNavBar,{className:S.default["vertical-nav-bar"],selected:a,tabs:l}),_.default.createElement("div",{className:S.default["nav-content-container"]},o))});t.default=I},27966:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(25490));t.default=o.default},5374:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=E(a(97170)),s=E(a(3419)),S=E(a(10954)),l=E(a(97500));t.default=function(e){var t,a,i=e.ratingInfo,o=e.className,n=(0,T.default)(i),r=n.onLiked,E=n.onLoved,I=n.liked,A=n.loved,u=(0,_.useMemo)(function(){return"Ready"!==(null==i?void 0:i.type)},[i]);return _.default.createElement("div",{className:(0,l.default)(s.default["ratings-container"],o)},_.default.createElement("div",{className:(0,l.default)(s.default["icon-container"],(t={},t[s.default.disabled]=u,t)),onClick:r},_.default.createElement(S.default,{name:I?"thumbs-up":"thumbs-up-outline",className:s.default.icon})),_.default.createElement("div",{className:(0,l.default)(s.default["icon-container"],(a={},a[s.default.disabled]=u,a)),onClick:E},_.default.createElement(S.default,{name:A?"heart":"heart-outline",className:s.default.icon})))}},79792:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Ratings=void 0;var o=i(a(5374));t.Ratings=o.default},97170:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=a(30758),o=a(31187);t.default=function(e){var t=(0,o.useServices)().core,a=(0,i.useCallback)(function(e){t.transport.dispatch({action:"MetaDetails",args:{action:"Rate",args:e}})},[]),n=(0,i.useMemo)(function(){var t="Ready"===(null==e?void 0:e.type)?e.content:null;return null==t?void 0:t.status},[e]),r=(0,i.useMemo)(function(){return"liked"===n},[n]),E=(0,i.useMemo)(function(){return"loved"===n},[n]);return{onLiked:(0,i.useCallback)(function(){a("liked"===n?null:"liked")},[n]),onLoved:(0,i.useCallback)(function(){a("loved"===n?null:"loved")},[n]),liked:r,loved:E}}},18341:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=a(38177),s=a(50266),S=E(a(97500)),l=E(a(54196)),I=E(a(10954)),A=E(a(97778));t.default=function(e){var t,a=e.level,i=e.setLevel,o=e.options,n=e.onSelect,r=e.value,E=e.menuOpen,u=(0,s.useTranslation)().t,d=(0,_.useRef)(new Map),O=(0,_.useRef)(null),c=o.find(function(e){return e.value===r}),N=(0,_.useCallback)(function(e){return function(t){t?d.current.set(e,t):d.current.delete(e)}},[]),R=(0,_.useCallback)(function(){i(a-1)},[i,a]);return(0,_.useEffect)(function(){if(E&&c&&O.current){var e=d.current.get(c.value);e&&e.scrollIntoView({behavior:"smooth",block:"nearest"})}},[E,c]),_.default.createElement("div",{className:(0,S.default)(A.default.dropdown,(t={},t[A.default.open]=E,t)),role:"listbox",ref:O},a>0?_.default.createElement(T.Button,{className:A.default["back-button"],onClick:R},_.default.createElement(I.default,{name:"caret-left",className:A.default["back-button-icon"]}),u("BACK")):null,o.filter(function(e){return!e.hidden}).map(function(e){return _.default.createElement(l.default,{key:e.value,ref:N(e.value),option:e,onSelect:n,selectedValue:r})}))}},8265:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=E(a(97500)),s=a(38177),S=E(a(82484)),l=E(a(10954)),I=(0,_.forwardRef)(function(e,t){var a,i=e.option,o=e.selectedValue,n=e.onSelect,r=(0,_.useMemo)(function(){return(null==i?void 0:i.value)===o},[i,o]),E=(0,_.useCallback)(function(){n(i.value)},[n,i.value]);return _.default.createElement(s.Button,{ref:t,className:(0,T.default)(S.default.option,(a={},a[S.default.selected]=r,a)),key:i.id,onClick:E,"aria-selected":r},_.default.createElement("div",{className:S.default.label},i.label),r&&!i.level?_.default.createElement("div",{className:S.default.icon}):null,i.level?_.default.createElement(l.default,{name:"caret-right",className:S.default["option-caret"]}):null)});I.displayName="Option",t.default=I},54196:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(8265));t.default=o.default},39348:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(18341));t.default=o.default},22134:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(30758)),n=a(38177),r=i(a(8167)),E=i(a(39348)),_=i(a(97500)),T=i(a(10954)),s=i(a(78351)),S=i(a(42646));t.default=function(e){var t,a,i,l=e.className,I=e.title,A=e.options,u=e.value,d=e.disabled,O=e.onSelect,c=(0,r.default)(!1),N=c[0],R=c[2],m=c[3],L=(0,S.default)(function(){return R()}),D=o.default.useState(0),p=D[0],C=D[1],h=A.find(function(e){return e.value===u});return o.default.createElement("div",{className:(0,_.default)(s.default["multiselect-menu"],(t={},t[s.default.active]=N,t),l),ref:L},o.default.createElement(n.Button,{className:(0,_.default)(s.default["multiselect-button"],(a={},a[s.default.open]=N,a)),disabled:d,onClick:m,tabIndex:0,"aria-haspopup":"listbox","aria-expanded":N},o.default.createElement("div",{className:s.default.label},"function"==typeof I?I():null!=I?I:null==h?void 0:h.label),o.default.createElement(T.default,{name:"caret-down",className:(0,_.default)(s.default.icon,(i={},i[s.default.open]=N,i))})),N?o.default.createElement(E.default,{level:p,setLevel:C,options:A,onSelect:function(e){p?C(p+1):O(e),R()},menuOpen:N,value:u}):null)}},32112:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(22134));t.default=o.default},23526:function(e,t,a){"use strict";var i,o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)},n=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),E=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),o=0;o<a.length;o++)"default"!==a[o]&&n(t,e,a[o]);return r(t,e),t}),_=this&&this.__rest||function(e,t){var a={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(a[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(a[i[o]]=e[i[o]])}return a},T=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var s=T(a(10954)),S=E(a(30758)),l=T(a(97500)),I=T(a(93583)),A=T(a(45130)),u=(0,S.forwardRef)(function(e,t){var a,i,n,r=e.defaultValue,E=void 0===r?0:r,T=e.showButtons,u=e.onKeyDown,d=e.onSubmit,O=e.min,c=e.max,N=e.onChange,R=_(e,["defaultValue","showButtons","onKeyDown","onSubmit","min","max","onChange"]),m=(0,S.useState)(E),L=m[0],D=m[1],p=null!==(n=R.value)&&void 0!==n?n:L,C=(0,S.useCallback)(function(e){null==u||u(e),"Enter"===e.key&&(null==d||d(e))},[u,d]),h=function(e){void 0===R.value&&D(e),null==N||N({target:{value:e.toString()}})},f=function(e){var t=null!=O?O:0;return e<t?t:void 0!==c&&e>c?c:e},P=(0,S.useCallback)(function(e){var t=e.target.valueAsNumber;h(f(t||0))},[]);return S.default.createElement("div",{className:(0,l.default)(R.containerClassName,I.default["number-input"])},T?S.default.createElement(A.default,{className:I.default.button,onClick:function(){h(f((p||0)-1))},disabled:R.disabled||void 0!==O&&p<=O},S.default.createElement(s.default,{className:I.default.icon,name:"remove"})):null,S.default.createElement("div",{className:(0,l.default)(I.default["number-display"],(a={},a[I.default["buttons-container"]]=T,a))},R.label?S.default.createElement("div",{className:I.default.label},R.label):null,S.default.createElement("input",o({ref:t,type:"number",tabIndex:0,value:p},R,{className:(0,l.default)(R.className,I.default.value,(i={},i[I.default.disabled]=R.disabled,i)),onChange:P,onKeyDown:C}))),T?S.default.createElement(A.default,{className:I.default.button,onClick:function(){h(f((p||0)+1))},disabled:R.disabled||void 0!==c&&p>=c},S.default.createElement(s.default,{className:I.default.icon,name:"add"})):null)});u.displayName="NumberInput",t.default=(0,S.memo)(u)},50841:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(23526));t.default=o.default},60062:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=E(a(97500)),s=E(a(76559));t.default=function(e){var t,a,i,o=e.disabled,n=e.selected,r=e.className,E=e.onChange,S=e.error,l=(0,_.useCallback)(function(e){var t=e.target;!o&&E&&E(t.checked)},[o,E]),I=(0,_.useCallback)(function(e){var t=e.key;"Enter"!==t&&" "!==t||o||E&&E(!n)},[o,n,E]);return _.default.createElement("div",{className:(0,T.default)(s.default["radio-button"],r)},_.default.createElement("label",null,_.default.createElement("div",{className:(0,T.default)(s.default["radio-container"],(t={},t[s.default.selected]=n,t),(a={},a[s.default.disabled]=o,a),(i={},i[s.default.error]=S,i)),role:"radio",tabIndex:o?-1:0,"aria-checked":n,onKeyDown:I},_.default.createElement("input",{type:"radio",checked:n,disabled:o,onChange:l,className:s.default.input}),_.default.createElement("span",{className:s.default["inner-circle"]}))))}},73325:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(60062));t.default=o.default},55874:function(e,t,a){"use strict";var i,o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)},n=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),E=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),o=0;o<a.length;o++)"default"!==a[o]&&n(t,e,a[o]);return r(t,e),t}),_=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var T=E(a(30758)),s=_(a(97500)),S=_(a(87318)),l=(0,T.forwardRef)(function(e,t){var a=(0,T.useCallback)(function(t){e.onKeyDown&&e.onKeyDown(t),"Enter"===t.key&&e.onSubmit&&e.onSubmit(t)},[e.onKeyDown,e.onSubmit]);return T.default.createElement("input",o({size:1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off",spellCheck:!1,tabIndex:0},e,{ref:t,className:(0,s.default)(e.className,S.default["text-input"],{disabled:e.disabled}),onKeyDown:a}))});l.displayName="TextInput",t.default=l},56151:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(55874));t.default=o.default},15620:function(e,t,a){"use strict";var i,o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)},n=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),E=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),o=0;o<a.length;o++)"default"!==a[o]&&n(t,e,a[o]);return r(t,e),t}),_=this&&this.__rest||function(e,t){var a={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(a[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(a[i[o]]=e[i[o]])}return a},T=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var s=E(a(30758)),S=T(a(97500)),l=a(38177),I=T(a(6825)),A=(0,s.forwardRef)(function(e,t){var a=e.className,i=e.checked,n=e.children,r=_(e,["className","checked","children"]);return s.default.createElement(l.Button,o({},r,{ref:t,className:(0,S.default)(a,I.default["toggle-container"],{checked:i})}),s.default.createElement("div",{className:I.default.toggle}),n)});A.displayName="Toggle",t.default=A},74330:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(15620));t.default=o.default},27894:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=a(30758),n=i(a(97500));t.default=function(e){var t=e.children,a=e.when,i=e.name,r=(0,o.useState)(null),E=r[0],_=r[1],T=(0,o.useState)(!1),s=T[0],S=T[1],l=(0,o.useState)("enter"),I=l[0],A=l[1],u=(0,o.useState)(!1),d=u[0],O=u[1],c=(0,o.useCallback)(function(e){_(e)},[]),N=(0,o.useMemo)(function(){var e="".concat(i,"-").concat(I),a=d?"".concat(i,"-active"):null;return t&&(0,n.default)(t.props.className,e,a)},[i,I,d,t]),R=(0,o.useCallback)(function(){"exit"===I&&S(!1)},[I]);return(0,o.useEffect)(function(){A(a?"enter":"exit"),a&&S(!0)},[a]),(0,o.useEffect)(function(){requestAnimationFrame(function(){O(!!E)})},[E]),(0,o.useEffect)(function(){return null==E||E.addEventListener("transitionend",R),function(){return null==E?void 0:E.removeEventListener("transitionend",R)}},[E,R]),s&&(0,o.cloneElement)(t,{ref:c,className:N})}},83869:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(27894));t.default=o.default},38177:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Video=t.Transition=t.Toggle=t.TextInput=t.Slider=t.SharePrompt=t.SearchBar=t.RadioButton=t.Popup=t.NumberInput=t.VerticalNavBar=t.HorizontalNavBar=t.MultiselectMenu=t.Multiselect=t.ModalDialog=t.MetaRow=t.MetaPreview=t.MetaItem=t.MainNavBars=t.LibItem=t.Image=t.HorizontalScroll=t.EventModal=t.DelayedRenderer=t.ContinueWatchingItem=t.ContextMenu=t.ColorInput=t.Chips=t.Checkbox=t.Button=t.BottomSheet=t.AddonDetailsModal=void 0;var o=i(a(54117));t.AddonDetailsModal=o.default;var n=i(a(61396));t.BottomSheet=n.default;var r=i(a(45130));t.Button=r.default;var E=i(a(27563));t.Checkbox=E.default;var _=i(a(55589));t.Chips=_.default;var T=i(a(81455));t.ColorInput=T.default;var s=i(a(8146));t.ContextMenu=s.default;var S=i(a(7727));t.ContinueWatchingItem=S.default;var l=i(a(52565));t.DelayedRenderer=l.default;var I=i(a(46841));t.EventModal=I.default;var A=i(a(24939));t.HorizontalScroll=A.default;var u=i(a(49143));t.Image=u.default;var d=i(a(84672));t.LibItem=d.default;var O=i(a(27966));t.MainNavBars=O.default;var c=i(a(63298));t.MetaItem=c.default;var N=i(a(19571));t.MetaPreview=N.default;var R=i(a(6655));t.MetaRow=R.default;var m=i(a(73725));t.ModalDialog=m.default;var L=i(a(93661));t.Multiselect=L.default;var D=i(a(32112));t.MultiselectMenu=D.default;var p=a(63214);Object.defineProperty(t,"HorizontalNavBar",{enumerable:!0,get:function(){return p.HorizontalNavBar}}),Object.defineProperty(t,"VerticalNavBar",{enumerable:!0,get:function(){return p.VerticalNavBar}});var C=i(a(50841));t.NumberInput=C.default;var h=i(a(37582));t.Popup=h.default;var f=i(a(73325));t.RadioButton=f.default;var P=i(a(82761));t.SearchBar=P.default;var B=i(a(52353));t.SharePrompt=B.default;var g=i(a(9781));t.Slider=g.default;var v=i(a(56151));t.TextInput=v.default;var M=i(a(74330));t.Toggle=M.default;var W=i(a(83869));t.Transition=W.default;var y=i(a(23455));t.Video=y.default},53992:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AddonPlaceholder=void 0;var o=i(a(30758)),n=i(a(97500)),r=i(a(14267));t.AddonPlaceholder=function(e){var t=e.className;return o.default.createElement("div",{className:(0,n.default)(t,r.default["addon-container"])},o.default.createElement("div",{className:r.default.content},o.default.createElement("div",{className:r.default["logo-container"]},o.default.createElement("div",{className:r.default["placeholder-logo"]})),o.default.createElement("div",{className:r.default["info-container"]},o.default.createElement("div",{className:r.default["placeholder-pill"]}),o.default.createElement("div",{className:r.default["placeholder-pill"]}),o.default.createElement("div",{className:r.default["placeholder-pill"]}),o.default.createElement("div",{className:r.default["placeholder-pill"]}))),o.default.createElement("div",{className:r.default["buttons-container"]},o.default.createElement("div",{className:r.default["action-buttons-container"]},o.default.createElement("div",{className:r.default["placeholder-pill"]}),o.default.createElement("div",{className:r.default["placeholder-pill"]})),o.default.createElement("div",{className:r.default["placeholder-pill"]})))}},23271:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AddonPlaceholder=void 0;var i=a(53992);Object.defineProperty(t,"AddonPlaceholder",{enumerable:!0,get:function(){return i.AddonPlaceholder}})},42973:function(e,t,a){"use strict";var i,o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)},n=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),E=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),o=0;o<a.length;o++)"default"!==a[o]&&n(t,e,a[o]);return r(t,e),t}),_=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var T=E(a(30758)),s=a(50266),S=_(a(97500)),l=a(31187),I=a(38177),A=_(a(52600)),u=a(18932),d=_(a(69098));t.default=(0,u.withCoreSuspender)(function(e){var t=e.className,a=(0,s.useTranslation)().t,i=(0,l.useServices)().core,n=(0,A.default)(),r=function(e,t){void 0===t&&(t=0);var a=new Date;return e&&a.setMonth(a.getMonth()+e),t&&a.setFullYear(a.getFullYear()+t),a},E=(0,T.useCallback)(function(e){i.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:o(o({},n.settings),{streamingServerWarningDismissed:e})}})},[n.settings]),_=(0,T.useCallback)(function(){E(r(1))},[E]),u=(0,T.useCallback)(function(){E(r(0,50))},[E]);return T.default.createElement("div",{className:(0,S.default)(t,d.default["warning-container"])},T.default.createElement("div",{className:d.default["warning-statement"]},a("SETTINGS_SERVER_UNAVAILABLE")),T.default.createElement("div",{className:d.default.actions},T.default.createElement("a",{href:"https://www.stremio.com/download-service",target:"_blank",rel:"noreferrer"},T.default.createElement(I.Button,{className:d.default.action,title:a("SERVICE_INSTALL"),tabIndex:-1},T.default.createElement("div",{className:d.default.label},a("SERVICE_INSTALL")))),T.default.createElement(I.Button,{className:d.default.action,title:a("WARNING_STREAMING_SERVER_LATER"),onClick:_,tabIndex:-1},T.default.createElement("div",{className:d.default.label},a("WARNING_STREAMING_SERVER_LATER"))),T.default.createElement(I.Button,{className:d.default.action,title:a("DONT_SHOW_AGAIN"),onClick:u,tabIndex:-1},T.default.createElement("div",{className:d.default.label},a("DONT_SHOW_AGAIN")))))})},55944:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(42973));t.default=o.default},22890:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=a(60350),s=a(38177),S=E(a(18534)),l=E(a(77405)),I=E(a(28295)),A=E(a(59819)),u=E(a(84364)),d=E(a(96675)),O=E(a(46615)),c=E(a(67279)),N=E(a(97500));t.default=(0,T.withCoreSuspender)(function(e){var t=e.urlParams,a=(0,d.default)(t),i=(0,T.useProfile)(),o=(0,O.default)(i).toDayMonth,n=(0,_.useState)(null),r=n[0],E=n[1],R=(0,_.useMemo)(function(){return o(r)},[r,o]);return _.default.createElement(s.MainNavBars,{className:c.default.calendar,route:"calendar"},null!==i.auth?_.default.createElement("div",{className:(0,N.default)(c.default.content,"animation-fade-in")},_.default.createElement("div",{className:c.default.main},_.default.createElement(S.default,{selected:a.selected,selectable:a.selectable,profile:i}),_.default.createElement(l.default,{items:a.items,selected:r,monthInfo:a.monthInfo,onChange:E})),_.default.createElement(I.default,{items:a.items,selected:r,monthInfo:a.monthInfo,profile:i,onChange:E}),_.default.createElement(s.BottomSheet,{title:R,show:!!r,onClose:function(){E(null)}},_.default.createElement(A.default,{selected:r,items:a.items}))):_.default.createElement(u.default,null))},function(){return _.default.createElement(s.MainNavBars,{className:c.default.calendar})})},64151:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=a(50266),s=E(a(10954)),S=a(38177),l=E(a(12770));t.default=function(e){var t=e.selected,a=e.items,i=(0,T.useTranslation)().t,o=(0,_.useMemo)(function(){var e,i;return null!==(i=null===(e=a.find(function(e){return e.date.day===(null==t?void 0:t.day)}))||void 0===e?void 0:e.items)&&void 0!==i?i:[]},[t,a]);return _.default.createElement("div",{className:l.default.details},o.map(function(e){var t=e.id,a=e.name,i=e.season,o=e.episode,n=e.deepLinks;return _.default.createElement(S.Button,{className:l.default.video,key:t,href:n.metaDetailsStreams},_.default.createElement("div",{className:l.default.name},a),_.default.createElement("div",{className:l.default.info},"S",i,"E",o),_.default.createElement(s.default,{className:l.default.icon,name:"play"}))}),o.length?null:_.default.createElement("div",{className:l.default.placeholder},i("CALENDAR_NO_NEW_EPISODES")))}},59819:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(64151));t.default=o.default},66464:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=E(a(10954)),s=E(a(97500)),S=a(38177),l=E(a(46615)),I=E(a(93721));t.default=function(e){var t,a=e.selected,i=e.monthInfo,o=e.date,n=e.items,r=e.profile,E=e.onClick,A=(0,_.useRef)(null),u=(0,l.default)(r).toDayMonth,d=(0,_.useMemo)(function(){return[o.day===(null==a?void 0:a.day),o.day===i.today]},[a,i,o]),O=d[0],c=d[1];return(0,_.useEffect)(function(){var e;O&&(null===(e=A.current)||void 0===e||e.scrollIntoView({block:"start",behavior:"smooth"}))},[O]),_.default.createElement("div",{ref:A,className:(0,s.default)(I.default.item,(t={},t[I.default.active]=O,t[I.default.today]=c,t)),key:o.day,onClick:function(){E&&E(o)}},_.default.createElement("div",{className:I.default.heading},u(o)),_.default.createElement("div",{className:I.default.body},n.map(function(e){var t=e.id,a=e.name,i=e.season,o=e.episode,n=e.deepLinks;return _.default.createElement(S.Button,{className:I.default.video,key:t,href:n.metaDetailsStreams},_.default.createElement("div",{className:I.default.name},a),_.default.createElement("div",{className:I.default.info},"S",i,"E",o),_.default.createElement(T.default,{className:I.default.icon,name:"play"}))})))}},63453:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(30758)),n=i(a(97500)),r=i(a(93721));t.default=function(){return o.default.createElement("div",{className:(0,n.default)(r.default.item,r.default.placeholder)},o.default.createElement("div",{className:r.default.heading},o.default.createElement("div",{className:r.default.text})),o.default.createElement("div",{className:r.default.body},o.default.createElement("div",{className:r.default.video},o.default.createElement("div",{className:r.default.name}),o.default.createElement("div",{className:r.default.info}))))}},65287:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ItemPlaceholder=t.Item=void 0;var o=i(a(66464));t.Item=o.default;var n=i(a(63453));t.ItemPlaceholder=n.default},15589:function(e,t,a){"use strict";var i,o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)},n=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),E=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),o=0;o<a.length;o++)"default"!==a[o]&&n(t,e,a[o]);return r(t,e),t}),_=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var T=E(a(30758)),s=a(65287),S=_(a(72716));t.default=function(e){var t=e.items,a=e.selected,i=e.monthInfo,n=e.profile,r=e.onChange,E=(0,T.useMemo)(function(){return t.filter(function(e){return e.items.length})},[t]);return T.default.createElement("div",{className:S.default.list},0===t.length?[1,2,3].map(function(e){return T.default.createElement(s.ItemPlaceholder,{key:e})}):E.map(function(e){return T.default.createElement(s.Item,o({key:e.date.day},e,{selected:a,monthInfo:i,profile:n,onClick:r}))}))}},28295:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(15589));t.default=o.default},98887:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(30758)),n=a(50266),r=i(a(10954)),E=a(38177),_=i(a(10434));t.default=function(){var e=(0,n.useTranslation)().t;return o.default.createElement("div",{className:_.default.placeholder},o.default.createElement("div",{className:_.default.title},e("CALENDAR_NOT_LOGGED_IN")),o.default.createElement("div",{className:_.default["image-container"]},o.default.createElement(E.Image,{className:_.default.image,src:a(5885),alt:" "})),o.default.createElement("div",{className:_.default.overview},o.default.createElement("div",{className:_.default.point},o.default.createElement(r.default,{className:_.default.icon,name:"megaphone"}),o.default.createElement("div",{className:_.default.text},e("NOT_LOGGED_IN_NOTIFICATIONS"))),o.default.createElement("div",{className:_.default.point},o.default.createElement(r.default,{className:_.default.icon,name:"calendar-thin"}),o.default.createElement("div",{className:_.default.text},e("NOT_LOGGED_IN_CALENDAR")))),o.default.createElement("div",{className:_.default["button-container"]},o.default.createElement(E.Button,{className:_.default.button,href:"#/intro?form=login"},e("LOG_IN"))))}},84364:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(98887));t.default=o.default},22595:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=E(a(10954)),s=a(38177),S=E(a(46615)),l=E(a(92642));t.default=function(e){var t=e.selected,a=e.selectable,i=e.profile,o=(0,S.default)(i).toMonth,n=(0,_.useMemo)(function(){return[a.prev,a.next]},[a]),r=n[0],E=n[1],I=(0,_.useCallback)(function(){window.location.href=r.deepLinks.calendar},[r]),A=(0,_.useCallback)(function(){window.location.href=E.deepLinks.calendar},[E]);return _.default.createElement("div",{className:l.default.selector},_.default.createElement(s.Button,{className:l.default.prev,onClick:I},_.default.createElement(T.default,{className:l.default.icon,name:"chevron-back"}),_.default.createElement("div",{className:l.default.label},o(r,"short"))),_.default.createElement("div",{className:l.default.selected},_.default.createElement("div",{className:l.default.year},null==t?void 0:t.year),_.default.createElement("div",{className:l.default.month},o(t,"long"))),_.default.createElement(s.Button,{className:l.default.next,onClick:A},_.default.createElement("div",{className:l.default.label},o(E,"short")),_.default.createElement(T.default,{className:l.default.icon,name:"chevron-forward"})))}},18534:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(22595));t.default=o.default},97472:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=E(a(10954)),s=E(a(97500)),S=a(38177),l=E(a(32931));t.default=function(e){var t,a=e.selected,i=e.monthInfo,o=e.date,n=e.items,r=e.onClick,E=(0,_.useMemo)(function(){return[o.day===(null==a?void 0:a.day),o.day===i.today]},[a,i,o]),I=E[0],A=E[1],u=(0,_.useCallback)(function(e){e.stopPropagation()},[]);return _.default.createElement(S.Button,{className:(0,s.default)(l.default.cell,(t={},t[l.default.active]=I,t[l.default.today]=A,t)),onClick:function(){r&&r(o)}},_.default.createElement("div",{className:l.default.heading},_.default.createElement("div",{className:l.default.day},o.day)),_.default.createElement(S.HorizontalScroll,{className:l.default.items},n.map(function(e){var t=e.id,a=e.name,i=e.poster,o=e.deepLinks;return _.default.createElement(S.Button,{key:t,className:l.default.item,href:o.metaDetailsStreams,tabIndex:-1,onClick:u},_.default.createElement(T.default,{className:l.default.icon,name:"play"}),_.default.createElement(S.Image,{className:l.default.poster,src:i,alt:a}))})),n.length>0?_.default.createElement(T.default,{className:l.default.more,name:"more-horizontal"}):null)}},97447:function(e,t,a){"use strict";var i,o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)},n=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),E=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),o=0;o<a.length;o++)"default"!==a[o]&&n(t,e,a[o]);return r(t,e),t}),_=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var T=E(a(30758)),s=a(50266),S=_(a(67490)),l=_(a(97472)),I=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];t.default=function(e){var t=e.items,a=e.selected,i=e.monthInfo,n=e.onChange,r=(0,s.useTranslation)().t,E=(0,T.useMemo)(function(){return Array.from(Array(i.firstWeekday).keys())},[i]);return T.default.createElement("div",{className:S.default.table},T.default.createElement("div",{className:S.default.week},I.map(function(e){return T.default.createElement("div",{className:S.default.day,key:e},T.default.createElement("span",{className:S.default.long},r(e)),T.default.createElement("span",{className:S.default.short},r(e).slice(0,3)))})),T.default.createElement("div",{className:S.default.grid},E.map(function(e){return T.default.createElement("span",{key:e})}),t.map(function(e){return T.default.createElement(l.default,o({key:e.date.day},e,{selected:a,monthInfo:i,onClick:n}))})))}},77405:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(97447));t.default=o.default},59938:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(22890));t.default=o.default},96675:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(30758)),n=a(60350);t.default=function(e){var t=o.default.useMemo(function(){return{action:"Load",args:{model:"Calendar",args:e.year&&e.month?{year:parseInt(e.year),month:parseInt(e.month),day:e.day?parseInt(e.day):null}:null}}},[e]);return(0,n.useModelState)({model:"calendar",action:t})}},46615:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=a(30758);t.default=function(e){return{toMonth:(0,i.useCallback)(function(t,a){if(!t)return"";var i=new Date;return i.setDate(1),i.setMonth(t.month-1),i.toLocaleString(e.settings.interfaceLanguage,{month:a})},[e.settings]),toMonthYear:(0,i.useCallback)(function(t){if(!t)return"";var a=new Date;return a.setDate(1),a.setMonth(t.month-1),a.setFullYear(t.year),a.toLocaleString(e.settings.interfaceLanguage,{month:"long",year:"numeric"})},[e.settings]),toDayMonth:(0,i.useCallback)(function(t){if(!t)return"";var a=new Date;return a.setDate(t.day),a.setMonth(t.month-1),a.toLocaleString(e.settings.interfaceLanguage,{day:"numeric",month:"short"})},[e.settings])}}},42896:function(e,t,a){"use strict";var i=this&&this.__awaiter||function(e,t,a,i){return new(a||(a=Promise))(function(o,n){function r(e){try{_(i.next(e))}catch(e){n(e)}}function E(e){try{_(i.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?o(e.value):(t=e.value,t instanceof a?t:new a(function(e){e(t)})).then(r,E)}_((i=i.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var a,i,o,n={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},r=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return r.next=E(0),r.throw=E(1),r.return=E(2),"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function E(E){return function(_){return(function(E){if(a)throw new TypeError("Generator is already executing.");for(;r&&(r=0,E[0]&&(n=0)),n;)try{if(a=1,i&&(o=2&E[0]?i.return:E[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,E[1])).done)return o;switch(i=0,o&&(E=[2&E[0],o.value]),E[0]){case 0:case 1:o=E;break;case 4:return n.label++,{value:E[1],done:!1};case 5:n.label++,i=E[1],E=[0];continue;case 7:E=n.ops.pop(),n.trys.pop();continue;default:if(!(o=n.trys,(o=o.length>0&&o[o.length-1])||6!==E[0]&&2!==E[0])){n=0;continue}if(3===E[0]&&(!o||E[1]>o[0]&&E[1]<o[3])){n.label=E[1];break}if(6===E[0]&&n.label<o[1]){n.label=o[1],o=E;break}if(o&&n.label<o[2]){n.label=o[2],n.ops.push(E);break}o[2]&&n.ops.pop(),n.trys.pop();continue}E=t.call(e,n)}catch(e){E=[6,e],i=0}finally{a=o=0}if(5&E[0])throw E[1];return{value:E[0]?E[1]:void 0,done:!0}})([E,_])}}},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var r=a(30758),E=a(60350),_=n(a(77444)),T="https://www.strem.io";t.default=function(){var e=(0,E.usePlatform)(),t=(0,r.useRef)(!1),a=(0,r.useRef)(null),n=(0,r.useCallback)(function(){return new Promise(function(n,r){t.current=!0;var E=(0,_.default)(128),s=0;e.openExternal("".concat(T,"/login-apple/").concat(E));var S=function(){t.current&&(a.current&&clearTimeout(a.current),a.current=setTimeout(function(){if(s>=25)return r(new Error("Failed to authenticate with Apple",{cause:"Number of allowed tries exceeded!"}));s++,(function(e){return i(void 0,void 0,Promise,function(){var t,a,i;return o(this,function(o){switch(o.label){case 0:return o.trys.push([0,3,,4]),[4,fetch("".concat(T,"/login-apple-get-acc/").concat(e))];case 1:return[4,o.sent().json()];case 2:return t=o.sent().user,[2,Promise.resolve({token:t.token,sub:t.sub,email:t.email,name:null!==(i=t.name)&&void 0!==i?i:""})];case 3:return a=o.sent(),console.error("Failed to get credentials from Apple auth",a),[2,Promise.reject(a)];case 4:return[2]}})})})(E).then(n).catch(S)},2e3))};S()})},[]),s=(0,r.useCallback)(function(){t.current=!1,a.current&&clearTimeout(a.current)},[]);return(0,r.useEffect)(function(){return function(){return s()}},[]),[n,s]}},33028:function(e,t,a){"use strict";var i=this&&this.__awaiter||function(e,t,a,i){return new(a||(a=Promise))(function(o,n){function r(e){try{_(i.next(e))}catch(e){n(e)}}function E(e){try{_(i.throw(e))}catch(e){n(e)}}function _(e){var t;e.done?o(e.value):(t=e.value,t instanceof a?t:new a(function(e){e(t)})).then(r,E)}_((i=i.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var a,i,o,n={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},r=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return r.next=E(0),r.throw=E(1),r.return=E(2),"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function E(E){return function(_){return(function(E){if(a)throw new TypeError("Generator is already executing.");for(;r&&(r=0,E[0]&&(n=0)),n;)try{if(a=1,i&&(o=2&E[0]?i.return:E[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,E[1])).done)return o;switch(i=0,o&&(E=[2&E[0],o.value]),E[0]){case 0:case 1:o=E;break;case 4:return n.label++,{value:E[1],done:!1};case 5:n.label++,i=E[1],E=[0];continue;case 7:E=n.ops.pop(),n.trys.pop();continue;default:if(!(o=n.trys,(o=o.length>0&&o[o.length-1])||6!==E[0]&&2!==E[0])){n=0;continue}if(3===E[0]&&(!o||E[1]>o[0]&&E[1]<o[3])){n.label=E[1];break}if(6===E[0]&&n.label<o[1]){n.label=o[1],o=E;break}if(o&&n.label<o[2]){n.label=o[2],n.ops.push(E);break}o[2]&&n.ops.pop(),n.trys.pop();continue}E=t.call(e,n)}catch(e){E=[6,e],i=0}finally{a=o=0}if(5&E[0])throw E[1];return{value:E[0]?E[1]:void 0,done:!0}})([E,_])}}},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var r=a(30758),E=n(a(77444)),_=a(60350),T="https://www.strem.io";e.exports=function(){var e=(0,_.usePlatform)(),t=(0,r.useRef)(!1),a=(0,r.useRef)(null),n=(0,r.useCallback)(function(){return new Promise(function(n,r){t.current=!0;var _=(0,E.default)(128),s=0;e.openExternal("".concat(T,"/login-fb/").concat(_));var S=function(){t.current&&(a.current&&clearTimeout(a.current),a.current=setTimeout(function(){if(s>=25)return r(new Error("Failed to authenticate with facebook",{cause:"Number of allowed tries exceeded!"}));s++,(function(e){return i(void 0,void 0,void 0,function(){var t,a;return o(this,function(i){switch(i.label){case 0:return i.trys.push([0,3,,4]),[4,fetch("".concat(T,"/login-fb-get-acc/").concat(e))];case 1:return[4,i.sent().json()];case 2:return t=i.sent().user,[2,Promise.resolve({email:t.email,password:t.fbLoginToken})];case 3:return a=i.sent(),console.error("Failed to get credentials from facebook auth",a),[2,Promise.reject(a)];case 4:return[2]}})})})(_).then(n).catch(S)},1e3))};S()})},[]),s=(0,r.useCallback)(function(){t.current=!1,a.current&&clearTimeout(a.current)},[]);return(0,r.useEffect)(function(){return function(){return s()}},[]),[n,s]}},38516:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(30758)),n=a(50266),r=i(a(10954)),E=a(38177),_=i(a(32441));t.default=function(){var e=(0,n.useTranslation)().t;return o.default.createElement("div",{className:_.default.placeholder},o.default.createElement("div",{className:_.default.title},e("LIBRARY_NOT_LOGGED_IN")),o.default.createElement("div",{className:_.default["image-container"]},o.default.createElement(E.Image,{className:_.default.image,src:a(92086),alt:" "})),o.default.createElement("div",{className:_.default.overview},o.default.createElement("div",{className:_.default.point},o.default.createElement(r.default,{className:_.default.icon,name:"cloud-library"}),o.default.createElement("div",{className:_.default.text},e("NOT_LOGGED_IN_CLOUD"))),o.default.createElement("div",{className:_.default.point},o.default.createElement(r.default,{className:_.default.icon,name:"actors"}),o.default.createElement("div",{className:_.default.text},e("NOT_LOGGED_IN_RECOMMENDATIONS")))),o.default.createElement("div",{className:_.default["button-container"]},o.default.createElement(E.Button,{className:_.default.button,href:"#/intro?form=login"},e("LOG_IN"))))}},39445:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(38516));t.default=o.default},25990:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=a(50266),s=a(38177),S=E(a(7671));t.default=function(e){var t=e.className,a=e.onSubmit,i=(0,T.useTranslation)().t,o=(0,_.useMemo)(function(){var e=window.location.hash.split("/"),t=decodeURIComponent(e[e.length-1]),a=t?t.split(":"):[],i=a[1],o=a[2];return{initialSeason:parseInt(i)||0,initialEpisode:parseInt(o)||1}},[]),n=o.initialSeason,r=o.initialEpisode,E=(0,_.useState)(n),l=E[0],I=E[1],A=(0,_.useState)(r),u=A[0],d=A[1],O=(0,_.useCallback)(function(e){I(parseInt(e.target.value))},[]),c=(0,_.useCallback)(function(e){d(parseInt(e.target.value))},[]),N=l===n&&u===r;return _.default.createElement("div",{className:t},_.default.createElement(s.NumberInput,{min:0,label:i("SEASON"),defaultValue:l,onChange:O,showButtons:!0}),_.default.createElement(s.NumberInput,{min:1,label:i("EPISODE"),defaultValue:u,onChange:c,showButtons:!0}),_.default.createElement(s.Button,{className:S.default["button-container"],onClick:function(){a(l,u)},disabled:N},_.default.createElement("div",{className:S.default.label},i("SIDEBAR_SHOW_STREAMS"))))}},16533:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(25990));t.default=o.default},16978:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=a(50266),s=E(a(97500)),S=a(60350),l=a(38177),I=E(a(93917));t.default=function(e){var t=e.className,a=e.selectedAudioTrackId,i=e.audioTracks,o=e.onAudioTrackSelected,n=(0,T.useTranslation)().t,r=(0,_.useCallback)(function(e){var t=e.currentTarget.getAttribute("data-id");o&&o(t)},[o]);return _.default.createElement("div",{className:(0,s.default)(t,I.default["audio-menu"]),onMouseDown:function(e){e.nativeEvent.audioMenuClosePrevented=!0}},_.default.createElement("div",{className:I.default.container},_.default.createElement("div",{className:I.default.header},n("AUDIO_TRACKS")),_.default.createElement("div",{className:I.default.list},i.map(function(e,t){var i=e.id,o=e.label,n=e.lang;return _.default.createElement(l.Button,{key:t,title:o,className:(0,s.default)(I.default.option,{selected:a===i}),"data-id":i,onClick:r},_.default.createElement("div",{className:I.default.info},_.default.createElement("div",{className:I.default.lang},S.languages.label(n)),_.default.createElement("div",{className:I.default.label},o)),a===i?_.default.createElement("div",{className:I.default.icon}):null)}))))}},18451:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(16978));t.default=o.default},45914:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=E(a(97500)),s=a(68305),S=a(38177),l=a(60350),I=E(a(38901)),A={extraSubtitlesDelay:{label:"SUBTITLES_DELAY",format:function(e){return"".concat((e/1e3).toFixed(2),"s")}}};t.default=function(e){var t=e.className,a=e.videoState,i=e.disabled,o=(0,_.useRef)(null),n=(0,_.useRef)(a),r=(0,l.useBinaryState)(!1),E=r[0],u=r[1],d=r[2],O=(0,_.useState)(null),c=O[0],N=O[1],R=(0,_.useMemo)(function(){var e=c&&A[c];return e&&(0,s.t)(e.label)},[c]),m=(0,_.useMemo)(function(){var e=c&&A[c],t=c&&a[c];return e&&t&&e.format(t)},[c,a]);return(0,_.useEffect)(function(){for(var e=0,t=Object.keys(A);e<t.length;e++){var i=t[e],r=n.current[i],E=a[i];E&&E!==r&&(N(i),u(),o.current&&clearTimeout(o.current),o.current=setTimeout(d,1e3))}n.current=a},[a]),_.default.createElement(S.Transition,{when:E&&!i,name:"fade"},_.default.createElement("div",{className:(0,T.default)(t,I.default["indicator-container"])},_.default.createElement("div",{className:I.default.indicator},_.default.createElement("div",null,R," ",m))))}},20120:function(e,t,a){"use strict";var i,o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)},n=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),E=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),o=0;o<a.length;o++)"default"!==a[o]&&n(t,e,a[o]);return r(t,e),t}),_=this&&this.__rest||function(e,t){var a={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(a[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(a[i[o]]=e[i[o]])}return a},T=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var s=E(a(30758)),S=T(a(97500)),l=T(a(10954)),I=a(31187),A=a(60350),u=a(38177),d=T(a(99962)),O=T(a(86587)),c=(0,s.memo)((0,s.forwardRef)(function(e,t){var a=e.seriesInfo,i=e.className,n=e.closeSideDrawer,r=e.selected,E=_(e,["seriesInfo","className","closeSideDrawer","selected"]),T=(0,I.useServices)().core,c=(0,s.useState)(null==a?void 0:a.season),N=c[0],R=c[1],m=(0,s.useRef)(null),L=(0,s.useMemo)(function(){return a?o(o({},E.metaItem),{links:E.metaItem.links.filter(function(e){return e.category===A.CONSTANTS.SHARE_LINK_CATEGORY})}):E.metaItem},[E.metaItem]),D=(0,s.useMemo)(function(){return Array.isArray(L.videos)?L.videos.filter(function(e){return e.season===N}):L.videos},[L,N]),p=(0,s.useMemo)(function(){return E.metaItem.videos.map(function(e){return e.season}).filter(function(e,t,a){return a.indexOf(e)===t}).sort(function(e,t){return(e||Number.MAX_SAFE_INTEGER)-(t||Number.MAX_SAFE_INTEGER)})},[E.metaItem.videos]),C=(0,s.useCallback)(function(e){R(parseInt(e.value))},[]),h=s.default.useMemo(function(){return D.every(function(e){return e.watched})},[D]),f=(0,s.useCallback)(function(e,t){T.transport.dispatch({action:"Player",args:{action:"MarkVideoAsWatched",args:[e,!t]}})},[]),P=function(e,t){T.transport.dispatch({action:"Player",args:{action:"MarkSeasonAsWatched",args:[e,!t]}})};return s.default.createElement("div",{ref:t,className:(0,S.default)(O.default["side-drawer"],i),onMouseDown:function(e){e.stopPropagation()},onTransitionEnd:function(){var e;null===(e=m.current)||void 0===e||e.scrollIntoView({behavior:"smooth"})}},s.default.createElement("div",{className:O.default["close-button"],onClick:n},s.default.createElement(l.default,{className:O.default.icon,name:"chevron-forward"})),s.default.createElement("div",{className:O.default.info},s.default.createElement(u.MetaPreview,{className:O.default["side-drawer-meta-preview"],compact:!0,name:L.name,logo:L.logo,runtime:L.runtime,releaseInfo:L.releaseInfo,released:L.released,description:L.description,links:L.links})),a?s.default.createElement("div",{className:O.default["series-content"]},s.default.createElement(d.default,{season:N,seasons:p,onSelect:C}),s.default.createElement("div",{className:O.default.videos},D.map(function(e,t){return s.default.createElement(u.Video,{key:t,ref:e.id===r?m:null,className:O.default.video,id:e.id,title:e.title,thumbnail:e.thumbnail,season:e.season,episode:e.episode,released:e.released,upcoming:e.upcoming,watched:e.watched,seasonWatched:h,progress:e.progress,deepLinks:e.deepLinks,scheduled:e.scheduled,onMarkVideoAsWatched:f,onMarkSeasonAsWatched:P})}))):null)}));t.default=c},9652:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(20120));t.default=o.default},82492:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(30758)),n=i(a(97500)),r=i(a(10954)),E=i(a(61395));t.default=function(e){var t=e.className,a=e.onClick;return o.default.createElement("div",{className:(0,n.default)(t,E.default["side-drawer-button"]),onClick:a},o.default.createElement(r.default,{name:"chevron-back",className:E.default.icon}))}},70860:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(82492));t.default=o.default},69449:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=a(50266),s=E(a(97500)),S=E(a(10954)),l=a(38177),I=a(60350),A=E(a(51732));t.default=function(e){var t=e.className,a=e.label,i=e.value,o=e.unit,n=e.step,r=e.min,E=e.max,u=e.disabled,d=e.onChange,O=(0,T.useTranslation)().t,c=(0,_.useRef)(i),N=(0,I.useInterval)(100),R=(0,I.useTimeout)(250),m=function(){N.cancel(),R.cancel()},L=(0,_.useCallback)(function(e){d((function(e,t,a){var i="number"==typeof t?Math.max(e,t):e;return"number"==typeof a?Math.min(i,a):i})(c.current+e,r,E))},[d]),D=(0,_.useCallback)(function(){m(),R.start(function(){return N.start(function(){return L(-n)})})},[L]),p=(0,_.useCallback)(function(){m(),L(-n)},[L]),C=(0,_.useCallback)(function(){m(),R.start(function(){return N.start(function(){return L(n)})})},[L]),h=(0,_.useCallback)(function(){m(),L(n)},[L]);return(0,_.useEffect)(function(){c.current=i},[i]),_.default.createElement("div",{className:(0,s.default)(A.default.stepper,t)},_.default.createElement("div",{className:A.default.header},O(a)),_.default.createElement("div",{className:A.default.content},_.default.createElement(l.Button,{className:(0,s.default)(A.default.button,{disabled:u}),onMouseDown:D,onMouseUp:p,onMouseLeave:m},_.default.createElement(S.default,{className:A.default.icon,name:"remove"})),_.default.createElement("div",{className:A.default.value},u?"--":"".concat(i).concat(o)),_.default.createElement(l.Button,{className:(0,s.default)(A.default.button,{disabled:u}),onMouseDown:C,onMouseUp:h,onMouseLeave:m},_.default.createElement(S.default,{className:A.default.icon,name:"add"}))))}},41414:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(69449));t.default=o.default},81402:function(e,t,a){"use strict";var i,o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)},n=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),E=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),o=0;o<a.length;o++)"default"!==a[o]&&n(t,e,a[o]);return r(t,e),t}),_=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var T=E(a(30758)),s=a(50266),S=a(38177),l=a(31187),I=a(60350),A=a(50474),u=_(a(17336)),d=_(a(49221)),O=_(a(47049)),c=_(a(21231)),N=(0,T.forwardRef)(function(e,t){var a,i,n,r,E,_=e.profile,N=(0,s.useTranslation)().t,R=(0,l.useServices)(),m=R.core,L=R.shell,D=(0,I.usePlatform)(),p=(0,I.useToast)(),C=(0,d.default)(),h=C[0],f=C[1],P=(0,c.default)(_),B=P.interfaceLanguageSelect,g=P.quitOnCloseToggle,v=P.escExitFullscreenToggle,M=P.hideSpoilersToggle,W=(0,T.useState)(!1),y=W[0],U=W[1],b=(0,T.useMemo)(function(){var e,t,a=null===(t=null===(e=null==_?void 0:_.auth)||void 0===e?void 0:e.user)||void 0===t?void 0:t.trakt;return a&&Date.now()/1e3<a.created_at+a.expires_in},[_.auth]),G=(0,T.useCallback)(function(){f()},[]),k=(0,T.useCallback)(function(){if(_.auth){var e="ios"===D.name?"webcal":"https",t="".concat(e,"://www.strem.io/calendar/").concat(_.auth.user._id,".ics");D.openExternal(t),p.show({type:"success",title:"ios"===D.name?N("SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST"):N("SETTINGS_SUBSCRIBE_CALENDAR_TOAST"),timeout:25e3})}},[_.auth]),F=(0,T.useCallback)(function(){b||null===_.auth||null===_.auth.user||"string"!=typeof _.auth.user._id?m.transport.dispatch({action:"Ctx",args:{action:"LogoutTrakt"}}):(D.openExternal("https://www.strem.io/trakt/auth/".concat(_.auth.user._id)),U(!0))},[b,_.auth]);return(0,T.useEffect)(function(){h.exportUrl&&D.openExternal(h.exportUrl)},[h.exportUrl]),(0,T.useEffect)(function(){b&&y&&(m.transport.dispatch({action:"Ctx",args:{action:"InstallTraktAddon"}}),U(!1))},[b,y]),T.default.createElement(T.default.Fragment,null,T.default.createElement(A.Section,{ref:t},T.default.createElement(u.default,{profile:_})),T.default.createElement(A.Section,null,(null===(a=null==_?void 0:_.auth)||void 0===a?void 0:a.user)&&T.default.createElement(A.Link,{label:N("SETTINGS_DATA_EXPORT"),onClick:G}),(null===(i=null==_?void 0:_.auth)||void 0===i?void 0:i.user)&&T.default.createElement(A.Link,{label:N("SETTINGS_SUBSCRIBE_CALENDAR"),onClick:k}),T.default.createElement(A.Link,{label:N("SETTINGS_SUPPORT"),href:"https://stremio.zendesk.com/hc/en-us"}),T.default.createElement(A.Link,{label:N("SETTINGS_SOURCE_CODE"),href:"https://github.com/stremio/stremio-web/tree/".concat("4a0ac61763256a759055a68cca63c8afc0e0da51")}),T.default.createElement(A.Link,{label:N("TERMS_OF_SERVICE"),href:"https://www.stremio.com/tos"}),T.default.createElement(A.Link,{label:N("PRIVACY_POLICY"),href:"https://www.stremio.com/privacy"}),(null===(n=null==_?void 0:_.auth)||void 0===n?void 0:n.user)&&T.default.createElement(A.Link,{label:N("SETTINGS_ACC_DELETE"),href:"https://stremio.zendesk.com/hc/en-us/articles/360021428911-How-to-delete-my-account"}),(null===(E=null===(r=null==_?void 0:_.auth)||void 0===r?void 0:r.user)||void 0===E?void 0:E.email)&&T.default.createElement(A.Link,{label:N("SETTINGS_CHANGE_PASSWORD"),href:"https://www.strem.io/reset-password/".concat(_.auth.user.email)}),T.default.createElement(A.Option,{className:O.default["trakt-container"],icon:"trakt",label:N("SETTINGS_TRAKT")},T.default.createElement(S.Button,{className:"button",title:N(b?"LOG_OUT":"SETTINGS_TRAKT_AUTHENTICATE"),disabled:null===_.auth,tabIndex:-1,onClick:F},N(b?"LOG_OUT":"SETTINGS_TRAKT_AUTHENTICATE")))),T.default.createElement(A.Section,null,T.default.createElement(A.Option,{label:"SETTINGS_UI_LANGUAGE"},T.default.createElement(S.MultiselectMenu,o({className:"multiselect"},B))),L.active&&T.default.createElement(A.Option,{label:"SETTINGS_QUIT_ON_CLOSE"},T.default.createElement(S.Toggle,o({tabIndex:-1},g))),L.active&&T.default.createElement(A.Option,{label:"SETTINGS_FULLSCREEN_EXIT"},T.default.createElement(S.Toggle,o({tabIndex:-1},v))),T.default.createElement(A.Option,{label:"SETTINGS_BLUR_UNWATCHED_IMAGE"},T.default.createElement(S.Toggle,o({tabIndex:-1},M)))))});t.default=N},47267:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=a(50266),s=a(31187),S=a(50474),l=E(a(22002));t.default=function(e){var t=e.profile,i=(0,T.useTranslation)().t,o=(0,s.useServices)().core,n=(0,_.useMemo)(function(){return t.auth?t.auth.user.avatar?"url('".concat(t.auth.user.avatar,"')"):"url('".concat(a(44636),"')"):"url('".concat(a(92890),"')")},[t.auth]),r=(0,_.useCallback)(function(){o.transport.dispatch({action:"Ctx",args:{action:"Logout"}})},[]);return _.default.createElement("div",{className:l.default.user},_.default.createElement("div",{className:l.default["user-info-content"]},_.default.createElement("div",{className:l.default["avatar-container"],style:{backgroundImage:n}}),_.default.createElement("div",{className:l.default["email-logout-container"]},_.default.createElement("div",{className:l.default["email-label-container"],title:null===t.auth?i("ANONYMOUS_USER"):t.auth.user.email},_.default.createElement("div",{className:l.default["email-label"]},null===t.auth?i("ANONYMOUS_USER"):t.auth.user.email)),null!==t.auth?_.default.createElement(S.Link,{label:i("LOG_OUT"),onClick:r}):_.default.createElement(S.Link,{label:"".concat(i("LOG_IN")," / ").concat(i("SIGN_UP")),href:"#/intro",target:"_self"}))))}},17336:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(47267));t.default=o.default},89670:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(81402));t.default=o.default},21231:function(e,t,a){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0});var o=a(30758),n=a(60350),r=a(31187);t.default=function(e){var t=(0,r.useServices)().core,a=(0,o.useMemo)(function(){return n.interfaceLanguages.map(function(e){var t=e.name;return{value:e.codes[0],label:t}})},[]),E=(0,n.useLanguageSorting)(a).sortedOptions;return{interfaceLanguageSelect:(0,o.useMemo)(function(){var a,o;return{options:E,value:(null===(o=null===(a=n.interfaceLanguages.find(function(t){return t.codes[1]===e.settings.interfaceLanguage}))||void 0===a?void 0:a.codes)||void 0===o?void 0:o[0])||e.settings.interfaceLanguage,onSelect:function(a){t.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{interfaceLanguage:a})}})}}},[e.settings,E]),escExitFullscreenToggle:(0,o.useMemo)(function(){return{checked:e.settings.escExitFullscreen,onClick:function(){t.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{escExitFullscreen:!e.settings.escExitFullscreen})}})}}},[e.settings]),quitOnCloseToggle:(0,o.useMemo)(function(){return{checked:e.settings.quitOnClose,onClick:function(){t.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{quitOnClose:!e.settings.quitOnClose})}})}}},[e.settings]),hideSpoilersToggle:(0,o.useMemo)(function(){return{checked:e.settings.hideSpoilers,onClick:function(){t.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{hideSpoilers:!e.settings.hideSpoilers})}})}}},[e.settings])}}},54124:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=a(50266),s=a(31187),S=a(50474),l=E(a(19935));t.default=function(e){var t,a,i=e.streamingServer,o=(0,s.useServices)().shell,n=(0,T.useTranslation)().t,r=(0,_.useMemo)(function(){var e;return"Ready"===(null===(e=null==i?void 0:i.settings)||void 0===e?void 0:e.type)?i.settings.content:null},[null==i?void 0:i.settings]);return _.default.createElement(S.Section,{className:l.default.info},_.default.createElement(S.Option,{label:n("SETTINGS_APP_VERSION")},_.default.createElement("div",{className:l.default.label},"5.0.0-beta.27")),_.default.createElement(S.Option,{label:n("SETTINGS_BUILD_VERSION")},_.default.createElement("div",{className:l.default.label},"4a0ac61763256a759055a68cca63c8afc0e0da51")),(null==r?void 0:r.serverVersion)&&_.default.createElement(S.Option,{label:n("SETTINGS_SERVER_VERSION")},_.default.createElement("div",{className:l.default.label},r.serverVersion)),"string"==typeof(null===(a=null===(t=null==o?void 0:o.transport)||void 0===t?void 0:t.props)||void 0===a?void 0:a.shellVersion)&&_.default.createElement(S.Option,{label:n("SETTINGS_SHELL_VERSION")},_.default.createElement("div",{className:l.default.label},o.transport.props.shellVersion)))}},10914:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(54124));t.default=o.default},64614:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=E(a(97500)),s=a(50266),S=a(31187),l=a(38177),I=a(68544),A=E(a(25837));t.default=function(e){var t,a,i,o,n,r,E=e.selected,u=e.streamingServer,d=e.onSelect,O=(0,s.useTranslation)().t,c=(0,S.useServices)().shell,N=(0,_.useMemo)(function(){var e;return"Ready"===(null===(e=null==u?void 0:u.settings)||void 0===e?void 0:e.type)?u.settings.content:null},[null==u?void 0:u.settings]);return _.default.createElement("div",{className:A.default.menu},_.default.createElement(l.Button,{className:(0,T.default)(A.default.button,(t={},t[A.default.selected]=E===I.SECTIONS.GENERAL,t)),title:O("SETTINGS_NAV_GENERAL"),"data-section":I.SECTIONS.GENERAL,onClick:d},O("SETTINGS_NAV_GENERAL")),_.default.createElement(l.Button,{className:(0,T.default)(A.default.button,(a={},a[A.default.selected]=E===I.SECTIONS.PLAYER,a)),title:O("SETTINGS_NAV_PLAYER"),"data-section":I.SECTIONS.PLAYER,onClick:d},O("SETTINGS_NAV_PLAYER")),_.default.createElement(l.Button,{className:(0,T.default)(A.default.button,(i={},i[A.default.selected]=E===I.SECTIONS.STREAMING,i)),title:O("SETTINGS_NAV_STREAMING"),"data-section":I.SECTIONS.STREAMING,onClick:d},O("SETTINGS_NAV_STREAMING")),_.default.createElement(l.Button,{className:(0,T.default)(A.default.button,(o={},o[A.default.selected]=E===I.SECTIONS.SHORTCUTS,o)),title:O("SETTINGS_NAV_SHORTCUTS"),"data-section":I.SECTIONS.SHORTCUTS,onClick:d},O("SETTINGS_NAV_SHORTCUTS")),_.default.createElement("div",{className:A.default.spacing}),_.default.createElement("div",{className:A.default["version-info-label"],title:"5.0.0-beta.27"},O("SETTINGS_APP_VERSION"),": ","5.0.0-beta.27"),_.default.createElement("div",{className:A.default["version-info-label"],title:"4a0ac61763256a759055a68cca63c8afc0e0da51"},O("SETTINGS_BUILD_VERSION"),": ","4a0ac61763256a759055a68cca63c8afc0e0da51"),(null==N?void 0:N.serverVersion)&&_.default.createElement("div",{className:A.default["version-info-label"],title:N.serverVersion},O("SETTINGS_SERVER_VERSION"),": ",N.serverVersion),"string"==typeof(null===(r=null===(n=null==c?void 0:c.transport)||void 0===n?void 0:n.props)||void 0===r?void 0:r.shellVersion)&&_.default.createElement("div",{className:A.default["version-info-label"],title:c.transport.props.shellVersion},O("SETTINGS_SHELL_VERSION"),": ",c.transport.props.shellVersion))}},27865:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(64614));t.default=o.default},59038:function(e,t,a){"use strict";var i,o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)},n=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),E=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),o=0;o<a.length;o++)"default"!==a[o]&&n(t,e,a[o]);return r(t,e),t}),_=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var T=E(a(30758)),s=a(38177),S=a(31187),l=a(50474),I=_(a(77703)),A=(0,T.forwardRef)(function(e,t){var a=e.profile,i=(0,S.useServices)().shell,n=(0,I.default)(a),r=n.subtitlesLanguageSelect,E=n.subtitlesSizeSelect,_=n.subtitlesTextColorInput,A=n.subtitlesBackgroundColorInput,u=n.subtitlesOutlineColorInput,d=n.audioLanguageSelect,O=n.surroundSoundToggle,c=n.seekTimeDurationSelect,N=n.seekShortTimeDurationSelect,R=n.playInExternalPlayerSelect,m=n.nextVideoPopupDurationSelect,L=n.bingeWatchingToggle,D=n.playInBackgroundToggle,p=n.hardwareDecodingToggle,C=n.pauseOnMinimizeToggle;return T.default.createElement(l.Section,{ref:t,label:"SETTINGS_NAV_PLAYER"},T.default.createElement(l.Category,{icon:"subtitles",label:"SETTINGS_SECTION_SUBTITLES"},T.default.createElement(l.Option,{label:"SETTINGS_SUBTITLES_LANGUAGE"},T.default.createElement(s.MultiselectMenu,o({className:"multiselect"},r))),T.default.createElement(l.Option,{label:"SETTINGS_SUBTITLES_SIZE"},T.default.createElement(s.MultiselectMenu,o({className:"multiselect"},E))),T.default.createElement(l.Option,{label:"SETTINGS_SUBTITLES_COLOR"},T.default.createElement(s.ColorInput,o({className:"color-input"},_))),T.default.createElement(l.Option,{label:"SETTINGS_SUBTITLES_COLOR_BACKGROUND"},T.default.createElement(s.ColorInput,o({className:"color-input"},A))),T.default.createElement(l.Option,{label:"SETTINGS_SUBTITLES_COLOR_OUTLINE"},T.default.createElement(s.ColorInput,o({className:"color-input"},u)))),T.default.createElement(l.Category,{icon:"volume-medium",label:"SETTINGS_SECTION_AUDIO"},T.default.createElement(l.Option,{label:"SETTINGS_DEFAULT_AUDIO_TRACK"},T.default.createElement(s.MultiselectMenu,o({className:"multiselect"},d))),T.default.createElement(l.Option,{label:"SETTINGS_SURROUND_SOUND"},T.default.createElement(s.Toggle,o({tabIndex:-1},O)))),T.default.createElement(l.Category,{icon:"remote",label:"SETTINGS_SECTION_CONTROLS"},T.default.createElement(l.Option,{label:"SETTINGS_SEEK_KEY"},T.default.createElement(s.MultiselectMenu,o({className:"multiselect"},c))),T.default.createElement(l.Option,{label:"SETTINGS_SEEK_KEY_SHIFT"},T.default.createElement(s.MultiselectMenu,o({className:"multiselect"},N))),T.default.createElement(l.Option,{label:"SETTINGS_PLAY_IN_BACKGROUND"},T.default.createElement(s.Toggle,o({disabled:!0,tabIndex:-1},D)))),T.default.createElement(l.Category,{icon:"play",label:"SETTINGS_SECTION_AUTO_PLAY"},T.default.createElement(l.Option,{label:"AUTO_PLAY"},T.default.createElement(s.Toggle,o({tabIndex:-1},L))),T.default.createElement(l.Option,{label:"SETTINGS_NEXT_VIDEO_POPUP_DURATION"},T.default.createElement(s.MultiselectMenu,o({className:"multiselect",disabled:!a.settings.bingeWatching},m)))),T.default.createElement(l.Category,{icon:"glasses",label:"SETTINGS_SECTION_ADVANCED"},T.default.createElement(l.Option,{label:"SETTINGS_PLAY_IN_EXTERNAL_PLAYER"},T.default.createElement(s.MultiselectMenu,o({className:"multiselect"},R))),i.active&&T.default.createElement(l.Option,{label:"SETTINGS_HWDEC"},T.default.createElement(s.Toggle,o({tabIndex:-1},p))),i.active&&T.default.createElement(l.Option,{label:"SETTINGS_PAUSE_MINIMIZED"},T.default.createElement(s.Toggle,o({tabIndex:-1},C)))))});t.default=A},8991:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(59038));t.default=o.default},77703:function(e,t,a){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)},o=this&&this.__spreadArray||function(e,t,a){if(a||2===arguments.length)for(var i,o=0,n=t.length;o<n;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))};Object.defineProperty(t,"__esModule",{value:!0});var n=a(30758),r=a(50266),E=a(31187),_=a(60350),T=_.languageNames;t.default=function(e){var t=(0,r.useTranslation)().t,a=(0,E.useServices)().core,s=(0,_.usePlatform)(),S=(0,n.useMemo)(function(){return Object.keys(T).map(function(e){return{value:e,label:T[e]}})},[]),l=(0,_.useLanguageSorting)(S).sortedOptions;return{subtitlesLanguageSelect:(0,n.useMemo)(function(){return{options:o([{value:null,label:t("NONE")}],l,!0),value:e.settings.subtitlesLanguage,onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{subtitlesLanguage:t})}})}}},[e.settings,l]),subtitlesSizeSelect:(0,n.useMemo)(function(){return{options:_.CONSTANTS.SUBTITLES_SIZES.map(function(e){return{value:"".concat(e),label:"".concat(e,"%")}}),value:"".concat(e.settings.subtitlesSize),title:function(){return"".concat(e.settings.subtitlesSize,"%")},onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{subtitlesSize:parseInt(t,10)})}})}}},[e.settings]),subtitlesTextColorInput:(0,n.useMemo)(function(){return{value:e.settings.subtitlesTextColor,onChange:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{subtitlesTextColor:t})}})}}},[e.settings]),subtitlesBackgroundColorInput:(0,n.useMemo)(function(){return{value:e.settings.subtitlesBackgroundColor,onChange:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{subtitlesBackgroundColor:t})}})}}},[e.settings]),subtitlesOutlineColorInput:(0,n.useMemo)(function(){return{value:e.settings.subtitlesOutlineColor,onChange:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{subtitlesOutlineColor:t})}})}}},[e.settings]),audioLanguageSelect:(0,n.useMemo)(function(){return{options:l,value:e.settings.audioLanguage,onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{audioLanguage:t})}})}}},[e.settings,l]),surroundSoundToggle:(0,n.useMemo)(function(){return{checked:e.settings.surroundSound,onClick:function(){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{surroundSound:!e.settings.surroundSound})}})}}},[e.settings]),seekTimeDurationSelect:(0,n.useMemo)(function(){return{options:_.CONSTANTS.SEEK_TIME_DURATIONS.map(function(e){return{value:"".concat(e),label:"".concat(e/1e3," ").concat(t("SECONDS"))}}),value:"".concat(e.settings.seekTimeDuration),title:function(){return"".concat(e.settings.seekTimeDuration/1e3," ").concat(t("SECONDS"))},onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{seekTimeDuration:parseInt(t,10)})}})}}},[e.settings]),seekShortTimeDurationSelect:(0,n.useMemo)(function(){return{options:_.CONSTANTS.SEEK_TIME_DURATIONS.map(function(e){return{value:"".concat(e),label:"".concat(e/1e3," ").concat(t("SECONDS"))}}),value:"".concat(e.settings.seekShortTimeDuration),title:function(){return"".concat(e.settings.seekShortTimeDuration/1e3," ").concat(t("SECONDS"))},onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{seekShortTimeDuration:parseInt(t,10)})}})}}},[e.settings]),playInExternalPlayerSelect:(0,n.useMemo)(function(){return{options:_.CONSTANTS.EXTERNAL_PLAYERS.filter(function(e){return e.platforms.includes(s.name)}).map(function(e){var a=e.label;return{value:e.value,label:t(a)}}),value:e.settings.playerType,title:function(){var a=_.CONSTANTS.EXTERNAL_PLAYERS.find(function(t){return t.value===e.settings.playerType});return a?t(a.label,{defaultValue:a.label}):e.settings.playerType},onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{playerType:t})}})}}},[e.settings]),nextVideoPopupDurationSelect:(0,n.useMemo)(function(){return{options:_.CONSTANTS.NEXT_VIDEO_POPUP_DURATIONS.map(function(e){return{value:"".concat(e),label:0===e?"Disabled":"".concat(e/1e3," ").concat(t("SECONDS"))}}),value:"".concat(e.settings.nextVideoNotificationDuration),title:function(){return 0===e.settings.nextVideoNotificationDuration?"Disabled":"".concat(e.settings.nextVideoNotificationDuration/1e3," ").concat(t("SECONDS"))},onSelect:function(t){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{nextVideoNotificationDuration:parseInt(t,10)})}})}}},[e.settings]),bingeWatchingToggle:(0,n.useMemo)(function(){return{checked:e.settings.bingeWatching,onClick:function(){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{bingeWatching:!e.settings.bingeWatching})}})}}},[e.settings]),playInBackgroundToggle:(0,n.useMemo)(function(){return{checked:e.settings.playInBackground,onClick:function(){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{playInBackground:!e.settings.playInBackground})}})}}},[e.settings]),hardwareDecodingToggle:(0,n.useMemo)(function(){return{checked:e.settings.hardwareDecoding,onClick:function(){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{hardwareDecoding:!e.settings.hardwareDecoding})}})}}},[e.settings]),pauseOnMinimizeToggle:(0,n.useMemo)(function(){return{checked:e.settings.pauseOnMinimize,onClick:function(){a.transport.dispatch({action:"Ctx",args:{action:"UpdateSettings",args:i(i({},e.settings),{pauseOnMinimize:!e.settings.pauseOnMinimize})}})}}},[e.settings])}}},18216:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=E(a(97500)),s=E(a(19551)),S=a(75394),l=a(60350),I=a(38177),A=a(68544),u=E(a(27865)),d=E(a(89670)),O=E(a(8991)),c=E(a(50454)),N=E(a(20829)),R=E(a(10914)),m=E(a(40685));t.default=(0,l.withCoreSuspender)(function(){var e=(0,S.useRouteFocused)().routeFocused,t=(0,l.useProfile)(),a=(0,l.useStreamingServer)(),i=(0,_.useRef)(null),o=(0,_.useRef)(null),n=(0,_.useRef)(null),r=(0,_.useRef)(null),E=(0,_.useRef)(null),L=(0,_.useMemo)(function(){return[{ref:o,id:A.SECTIONS.GENERAL},{ref:n,id:A.SECTIONS.PLAYER},{ref:r,id:A.SECTIONS.STREAMING},{ref:E,id:A.SECTIONS.SHORTCUTS}]},[]),D=(0,_.useState)(A.SECTIONS.GENERAL),p=D[0],C=D[1],h=(0,_.useCallback)(function(){var e=i.current;if(e.scrollTop+e.clientHeight>=e.scrollHeight-50)C(L[L.length-1].id);else for(var t=L.length-1;t>=0;t--)if(L[t].ref.current.offsetTop-e.offsetTop<=e.scrollTop){C(L[t].id);break}},[]),f=(0,_.useCallback)(function(e){var t=L.find(function(t){return t.id===e.currentTarget.dataset.section}),a=i.current;t&&a.scrollTo({top:t.ref.current.offsetTop-a.offsetTop,behavior:"smooth"})},[]),P=(0,_.useCallback)((0,s.default)(function(){h()},50),[]);return(0,_.useLayoutEffect)(function(){e&&h()},[e]),_.default.createElement(I.MainNavBars,{className:m.default["settings-container"],route:"settings"},_.default.createElement("div",{className:(0,T.default)(m.default["settings-content"],"animation-fade-in")},_.default.createElement(u.default,{selected:p,streamingServer:a,onSelect:f}),_.default.createElement("div",{ref:i,className:m.default["sections-container"],onScroll:P},_.default.createElement(d.default,{ref:o,profile:t}),_.default.createElement(O.default,{ref:n,profile:t}),_.default.createElement(c.default,{ref:r,profile:t,streamingServer:a}),_.default.createElement(N.default,{ref:E}),_.default.createElement(R.default,{streamingServer:a}))))},function(){return _.default.createElement(I.MainNavBars,{className:m.default["settings-container"],route:"settings"})})},74262:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=a(50474),s=E(a(70805)),S=a(50266),l=(0,_.forwardRef)(function(e,t){var a=(0,S.useTranslation)().t;return _.default.createElement(T.Section,{ref:t,label:"SETTINGS_NAV_SHORTCUTS"},_.default.createElement(T.Option,{label:"SETTINGS_SHORTCUT_PLAY_PAUSE"},_.default.createElement("div",{className:s.default["shortcut-container"]},_.default.createElement("kbd",null,a("SETTINGS_SHORTCUT_SPACE")))),_.default.createElement(T.Option,{label:"SETTINGS_SHORTCUT_SEEK_FORWARD"},_.default.createElement("div",{className:s.default["shortcut-container"]},_.default.createElement("kbd",null,"→"),_.default.createElement("div",{className:s.default.label},a("SETTINGS_SHORTCUT_OR")),_.default.createElement("kbd",null,"⇧ ",a("SETTINGS_SHORTCUT_SHIFT")),_.default.createElement("div",{className:s.default.label},"+"),_.default.createElement("kbd",null,"→"))),_.default.createElement(T.Option,{label:"SETTINGS_SHORTCUT_SEEK_BACKWARD"},_.default.createElement("div",{className:s.default["shortcut-container"]},_.default.createElement("kbd",null,"←"),_.default.createElement("div",{className:s.default.label},a("SETTINGS_SHORTCUT_OR")),_.default.createElement("kbd",null,"⇧ ",a("SETTINGS_SHORTCUT_SHIFT")),_.default.createElement("div",{className:s.default.label},"+"),_.default.createElement("kbd",null,"←"))),_.default.createElement(T.Option,{label:"SETTINGS_SHORTCUT_VOLUME_UP"},_.default.createElement("div",{className:s.default["shortcut-container"]},_.default.createElement("kbd",null,"↑"))),_.default.createElement(T.Option,{label:"SETTINGS_SHORTCUT_VOLUME_DOWN"},_.default.createElement("div",{className:s.default["shortcut-container"]},_.default.createElement("kbd",null,"↓"))),_.default.createElement(T.Option,{label:"SETTINGS_SHORTCUT_MENU_SUBTITLES"},_.default.createElement("div",{className:s.default["shortcut-container"]},_.default.createElement("kbd",null,"S"))),_.default.createElement(T.Option,{label:"SETTINGS_SHORTCUT_MENU_AUDIO"},_.default.createElement("div",{className:s.default["shortcut-container"]},_.default.createElement("kbd",null,"A"))),_.default.createElement(T.Option,{label:"SETTINGS_SHORTCUT_MENU_INFO"},_.default.createElement("div",{className:s.default["shortcut-container"]},_.default.createElement("kbd",null,"I"))),_.default.createElement(T.Option,{label:"SETTINGS_SHORTCUT_FULLSCREEN"},_.default.createElement("div",{className:s.default["shortcut-container"]},_.default.createElement("kbd",null,"F"))),_.default.createElement(T.Option,{label:"SETTINGS_SHORTCUT_SUBTITLES_SIZE"},_.default.createElement("div",{className:s.default["shortcut-container"]},_.default.createElement("kbd",null,"-"),_.default.createElement("div",{className:s.default.label},a("SETTINGS_SHORTCUT_AND")),_.default.createElement("kbd",null,"="))),_.default.createElement(T.Option,{label:"SETTINGS_SHORTCUT_SUBTITLES_DELAY"},_.default.createElement("div",{className:s.default["shortcut-container"]},_.default.createElement("kbd",null,"G"),_.default.createElement("div",{className:s.default.label},a("SETTINGS_SHORTCUT_AND")),_.default.createElement("kbd",null,"H"))),_.default.createElement(T.Option,{label:"SETTINGS_SHORTCUT_NAVIGATE_MENUS"},_.default.createElement("div",{className:s.default["shortcut-container"]},_.default.createElement("kbd",null,"1"),_.default.createElement("div",{className:s.default.label},a("SETTINGS_SHORTCUT_TO")),_.default.createElement("kbd",null,"6"))),_.default.createElement(T.Option,{label:"SETTINGS_SHORTCUT_GO_TO_SEARCH"},_.default.createElement("div",{className:s.default["shortcut-container"]},_.default.createElement("kbd",null,"0"))),_.default.createElement(T.Option,{label:"SETTINGS_SHORTCUT_EXIT_BACK"},_.default.createElement("div",{className:s.default["shortcut-container"]},_.default.createElement("kbd",null,a("SETTINGS_SHORTCUT_ESC")))))});t.default=l},20829:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(74262));t.default=o.default},96938:function(e,t,a){"use strict";var i,o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)},n=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),E=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),o=0;o<a.length;o++)"default"!==a[o]&&n(t,e,a[o]);return r(t,e),t}),_=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var T=E(a(30758)),s=a(50266),S=_(a(10954)),l=a(38177),I=a(60350),A=a(50474),u=_(a(15340)),d=_(a(27135)),O=_(a(82217)),c=(0,T.forwardRef)(function(e,t){var a=e.profile,i=e.streamingServer,n=(0,s.useTranslation)().t,r=(0,I.useToast)(),E=(0,d.default)(i),_=E.streamingServerRemoteUrlInput,c=E.remoteEndpointSelect,N=E.cacheSizeSelect,R=E.torrentProfileSelect,m=E.transcodingProfileSelect,L=(0,T.useCallback)(function(){i.remoteUrl&&(navigator.clipboard.writeText(i.remoteUrl),r.show({type:"success",title:n("SETTINGS_REMOTE_URL_COPIED"),timeout:2500}))},[i.remoteUrl]);return T.default.createElement(A.Section,{ref:t,label:"SETTINGS_NAV_STREAMING"},T.default.createElement(u.default,null),null!==_.value&&T.default.createElement(A.Option,{className:O.default["configure-input-container"],label:"SETTINGS_REMOTE_URL"},T.default.createElement("div",{className:O.default.label,title:_.value},_.value),T.default.createElement(l.Button,{className:O.default["configure-button-container"],title:n("SETTINGS_COPY_REMOTE_URL"),onClick:L},T.default.createElement(S.default,{className:O.default.icon,name:"link"}))),null!==a.auth&&null!==a.auth.user&&null!==c&&T.default.createElement(A.Option,{label:"SETTINGS_HTTPS_ENDPOINT"},T.default.createElement(l.MultiselectMenu,o({className:"multiselect"},c))),null!==N&&T.default.createElement(A.Option,{label:"SETTINGS_SERVER_CACHE_SIZE"},T.default.createElement(l.MultiselectMenu,o({className:"multiselect"},N))),null!==R&&T.default.createElement(A.Option,{label:"SETTINGS_SERVER_TORRENT_PROFILE"},T.default.createElement(l.MultiselectMenu,o({className:"multiselect"},R))),null!==m&&T.default.createElement(A.Option,{label:"SETTINGS_TRANSCODE_PROFILE"},T.default.createElement(l.MultiselectMenu,o({className:"multiselect"},m))))});t.default=c},24657:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=E(a(10954)),s=a(38177),S=E(a(7956));t.default=function(e){var t=e.onCancel,a=e.handleAddUrl,i=(0,_.useState)(""),o=i[0],n=i[1],r=(0,_.useCallback)(function(e){var t=e.target;n(t.value)},[]),E=(0,_.useCallback)(function(){a(o)},[o]);return _.default.createElement("div",{className:S.default["add-item"]},_.default.createElement(s.TextInput,{className:S.default.input,value:o,onChange:r,onSubmit:E,placeholder:"Enter URL"}),_.default.createElement("div",{className:S.default.actions},_.default.createElement(s.Button,{className:S.default.add,onClick:E},_.default.createElement(T.default,{name:"checkmark",className:S.default.icon})),_.default.createElement(s.Button,{className:S.default.cancel,onClick:t},_.default.createElement(T.default,{name:"close",className:S.default.icon}))))}},77415:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(24657));t.default=o.default},86949:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=a(60350),s=a(69839),S=a(50266),l=a(38177),I=E(a(75670)),A=E(a(10954)),u=E(a(44612)),d=E(a(97500)),O=E(a(30648));t.default=function(e){var t,a,i,o,n=e.url,r=(0,S.useTranslation)().t,E=(0,T.useProfile)(),c=(0,I.default)(),N=(0,O.default)(),R=N.deleteServerUrl,m=N.selectServerUrl,L=(0,_.useMemo)(function(){return E.settings.streamingServerUrl===n},[n,E.settings]),D=(0,_.useMemo)(function(){return n===s.DEFAULT_STREAMING_SERVER_URL},[n]),p=(0,_.useCallback)(function(){R(n),L&&m(s.DEFAULT_STREAMING_SERVER_URL)},[n,L]),C=(0,_.useCallback)(function(){m(n)},[n]);return _.default.createElement("div",{className:u.default.item},_.default.createElement("div",{className:u.default.content},_.default.createElement(l.RadioButton,{className:u.default.selectable,selected:L,onChange:C,disabled:L}),_.default.createElement("div",{className:u.default.label},n)),_.default.createElement("div",{className:u.default.actions},L?_.default.createElement("div",{className:u.default.status},_.default.createElement("div",{className:(0,d.default)(u.default.icon,(t={},t[u.default.ready]="Ready"===(null===(i=c.settings)||void 0===i?void 0:i.type),t),(a={},a[u.default.error]="Err"===(null===(o=c.settings)||void 0===o?void 0:o.type),a))}),_.default.createElement("div",{className:u.default.label},null===c.settings?"NotLoaded":"Ready"===c.settings.type?r("SETTINGS_SERVER_STATUS_ONLINE"):"Err"===c.settings.type?r("SETTINGS_SERVER_STATUS_ERROR"):c.settings.type)):null,D?null:_.default.createElement(l.Button,{className:u.default.delete,onClick:p},_.default.createElement(A.default,{name:"bin",className:u.default.icon}))))}},16002:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(86949));t.default=o.default},57099:function(e,t,a){"use strict";var i,o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)},n=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),E=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),o=0;o<a.length;o++)"default"!==a[o]&&n(t,e,a[o]);return r(t,e),t}),_=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var T=E(a(30758)),s=a(50266),S=_(a(31310)),l=a(38177),I=_(a(16002)),A=_(a(77415)),u=_(a(10954)),d=_(a(30648));t.default=function(){var e=(0,s.useTranslation)().t,t=(0,T.useState)(!1),a=t[0],i=t[1],n=(0,d.default)(),r=n.streamingServerUrls,E=n.addServerUrl,_=n.reloadServer,O=(0,T.useCallback)(function(e){E(e),i(!1)},[]);return T.default.createElement("div",{className:S.default.wrapper},T.default.createElement("div",{className:S.default.header},T.default.createElement("div",{className:S.default.label},e("URL")),T.default.createElement("div",{className:S.default.label},e("STATUS"))),T.default.createElement("div",{className:S.default.content},r.map(function(e){return T.default.createElement(I.default,o({key:e.url},e))}),a?T.default.createElement(A.default,{onCancel:function(){i(!1)},handleAddUrl:O}):null),T.default.createElement("div",{className:S.default.footer},T.default.createElement(l.Button,{title:e("SETTINGS_SERVER_ADD_URL"),className:S.default["add-url"],onClick:function(){i(!0)}},T.default.createElement(u.default,{name:"add",className:S.default.icon}),e("SETTINGS_SERVER_ADD_URL")),T.default.createElement(l.Button,{className:S.default.reload,title:e("RELOAD"),onClick:_},T.default.createElement(u.default,{name:"reset",className:S.default.icon}),T.default.createElement("div",{className:S.default.label},e("RELOAD")))))}},15340:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(57099));t.default=o.default},50454:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(96938));t.default=o.default},27135:function(e,t,a){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var o in t=arguments[a])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)},o=this&&this.__spreadArray||function(e,t,a){if(a||2===arguments.length)for(var i,o=0,n=t.length;o<n;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var r=a(30758),E=a(50266),_=n(a(82178)),T=a(31187),s=[0,2147483648,5368709120,10737418240,null],S=function(e){return null===e?"Infinite":0===e?"No caching":"".concat(Math.ceil(100*(e/1024/1024/1024+Number.EPSILON))/100,"GiB")},l={default:{btDownloadSpeedHardLimit:3670016,btDownloadSpeedSoftLimit:2621440,btHandshakeTimeout:2e4,btMaxConnections:55,btMinPeersForStable:5,btRequestTimeout:4e3},soft:{btDownloadSpeedHardLimit:1677721.6,btDownloadSpeedSoftLimit:1677721.6,btHandshakeTimeout:2e4,btMaxConnections:35,btMinPeersForStable:5,btRequestTimeout:4e3},fast:{btDownloadSpeedHardLimit:39321600,btDownloadSpeedSoftLimit:4194304,btHandshakeTimeout:2e4,btMaxConnections:200,btMinPeersForStable:10,btRequestTimeout:4e3},"ultra fast":{btDownloadSpeedHardLimit:78643200,btDownloadSpeedSoftLimit:8388608,btHandshakeTimeout:25e3,btMaxConnections:400,btMinPeersForStable:10,btRequestTimeout:6e3}};t.default=function(e){var t=(0,T.useServices)().core,a=(0,E.useTranslation)().t,n=(0,r.useMemo)(function(){var t;return"Ready"===(null===(t=null==e?void 0:e.settings)||void 0===t?void 0:t.type)?e.settings.content:null},[e.settings]),I=(0,r.useMemo)(function(){var t;return"Ready"===(null===(t=null==e?void 0:e.networkInfo)||void 0===t?void 0:t.type)?e.networkInfo.content:null},[e.networkInfo]),A=(0,r.useMemo)(function(){var t;return"Ready"===(null===(t=null==e?void 0:e.deviceInfo)||void 0===t?void 0:t.type)?e.deviceInfo.content:null},[e.deviceInfo]);return{streamingServerRemoteUrlInput:(0,r.useMemo)(function(){return{value:e.remoteUrl}},[e.remoteUrl]),remoteEndpointSelect:(0,r.useMemo)(function(){return n&&I?{options:o([{label:a("SETTINGS_DISABLED"),value:""}],I.availableInterfaces.map(function(e){return{label:e,value:e}}),!0),value:n.remoteHttps,onSelect:function(e){t.transport.dispatch({action:"StreamingServer",args:{action:"UpdateSettings",args:i(i({},n),{remoteHttps:e})}})}}:null},[n,I]),cacheSizeSelect:(0,r.useMemo)(function(){return n?{options:s.map(function(e){return{label:S(e),value:JSON.stringify(e)}}),value:JSON.stringify(n.cacheSize),title:function(){return S(n.cacheSize)},onSelect:function(e){t.transport.dispatch({action:"StreamingServer",args:{action:"UpdateSettings",args:i(i({},n),{cacheSize:JSON.parse(e)})}})}}:null},[n]),torrentProfileSelect:(0,r.useMemo)(function(){if(!n)return null;var e={btDownloadSpeedHardLimit:n.btDownloadSpeedHardLimit,btDownloadSpeedSoftLimit:n.btDownloadSpeedSoftLimit,btHandshakeTimeout:n.btHandshakeTimeout,btMaxConnections:n.btMaxConnections,btMinPeersForStable:n.btMinPeersForStable,btRequestTimeout:n.btRequestTimeout},o=Object.values(l).every(function(t){return!(0,_.default)(t,e)});return{options:Object.keys(l).map(function(e){return{label:a("TORRENT_PROFILE_"+e.replace(" ","_").toUpperCase()),value:JSON.stringify(l[e])}}).concat(o?[{label:"custom",value:JSON.stringify(e)}]:[]),value:JSON.stringify(e),onSelect:function(e){t.transport.dispatch({action:"StreamingServer",args:{action:"UpdateSettings",args:i(i({},n),JSON.parse(e))}})}}},[n]),transcodingProfileSelect:(0,r.useMemo)(function(){return n&&A?{options:o([{label:a("SETTINGS_DISABLED"),value:null}],A.availableHardwareAccelerations.map(function(e){return{label:e,value:e}}),!0),value:n.transcodeProfile,onSelect:function(e){t.transport.dispatch({action:"StreamingServer",args:{action:"UpdateSettings",args:i(i({},n),{transcodeProfile:e})}})}}:null},[n,A])}}},37969:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(30758)),n=a(68305),r=i(a(10954)),E=i(a(98170));t.default=function(e){var t=e.icon,a=e.label,i=e.children;return o.default.createElement("div",{className:E.default.category},o.default.createElement("div",{className:E.default.heading},o.default.createElement(r.default,{className:E.default.icon,name:t}),o.default.createElement("div",{className:E.default.label},(0,n.t)(a))),i)}},49407:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(37969));t.default=o.default},87897:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(30758)),n=a(38177),r=i(a(58106));t.default=function(e){var t=e.label,a=e.href,i=e.target,E=e.onClick;return o.default.createElement(n.Button,{className:r.default.link,title:t,target:null!=i?i:"_blank",href:a,onClick:E},o.default.createElement("div",{className:r.default.label},t))}},53255:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(87897));t.default=o.default},12275:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(30758)),n=i(a(97500)),r=a(68305),E=i(a(89628)),_=i(a(10954));t.default=function(e){var t=e.className,a=e.icon,i=e.label,T=e.children;return o.default.createElement("div",{className:(0,n.default)(t,E.default.option)},o.default.createElement("div",{className:E.default.heading},a&&o.default.createElement(_.default,{className:E.default.icon,name:a}),o.default.createElement("div",{className:E.default.label},(0,r.t)(i))),o.default.createElement("div",{className:E.default.content},T))}},5430:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(12275));t.default=o.default},56107:function(e,t,a){"use strict";var i,o=this&&this.__createBinding||(Object.create?function(e,t,a,i){void 0===i&&(i=a);var o=Object.getOwnPropertyDescriptor(t,a);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,o)}:function(e,t,a,i){void 0===i&&(i=a),e[i]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a=i(e),r=0;r<a.length;r++)"default"!==a[r]&&o(t,e,a[r]);return n(t,e),t}),E=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var _=r(a(30758)),T=E(a(97500)),s=a(68305),S=E(a(29972)),l=(0,_.forwardRef)(function(e,t){var a=e.className,i=e.label,o=e.children;return _.default.createElement("div",{ref:t,className:(0,T.default)(a,S.default.section)},i&&_.default.createElement("div",{className:S.default.label},(0,s.t)(i)),o)});t.default=l},89726:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(56107));t.default=o.default},50474:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Section=t.Option=t.Link=t.Category=void 0;var o=i(a(49407));t.Category=o.default;var n=i(a(53255));t.Link=n.default;var r=i(a(5430));t.Option=r.default;var E=i(a(89726));t.Section=E.default},68544:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SECTIONS=void 0;t.SECTIONS={GENERAL:"general",PLAYER:"player",STREAMING:"streaming",SHORTCUTS:"shortcuts"}},47569:function(e,t,a){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(a(18216));t.default=o.default},48868:(e,t,a)=>{"use strict";var i=a(26694),o=a(33845);function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=N,t.resolve=function(e,t){return N(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?N(e,!1,!0).resolveObject(t):t},t.format=function(e){o.isString(e)&&(e=N(e));return e instanceof n?e.format():n.prototype.format.call(e)},t.Url=n;var r=/^([a-z0-9.+-]+:)/i,E=/:[0-9]*$/,_=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,T=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),s=["'"].concat(T),S=["%","/","?",";","#"].concat(s),l=["/","?","#"],I=/^[+a-z0-9A-Z_-]{0,63}$/,A=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,u={javascript:!0,"javascript:":!0},d={javascript:!0,"javascript:":!0},O={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},c=a(24329);function N(e,t,a){if(e&&o.isObject(e)&&e instanceof n)return e;var i=new n;return i.parse(e,t,a),i}n.prototype.parse=function(e,t,a){if(!o.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var n=e.indexOf("?"),E=-1!==n&&n<e.indexOf("#")?"?":"#",T=e.split(E);T[0]=T[0].replace(/\\/g,"/");var N=e=T.join(E);if(N=N.trim(),!a&&1===e.split("#").length){var R=_.exec(N);if(R)return this.path=N,this.href=N,this.pathname=R[1],R[2]?(this.search=R[2],this.query=t?c.parse(this.search.substr(1)):this.search.substr(1)):t&&(this.search="",this.query={}),this}var m=r.exec(N);if(m){var L=(m=m[0]).toLowerCase();this.protocol=L,N=N.substr(m.length)}if(a||m||N.match(/^\/\/[^@\/]+@[^@\/]+/)){var D="//"===N.substr(0,2);!D||m&&d[m]||(N=N.substr(2),this.slashes=!0)}if(!d[m]&&(D||m&&!O[m])){for(var p,C,h=-1,f=0;f<l.length;f++){-1!==(P=N.indexOf(l[f]))&&(-1===h||P<h)&&(h=P)}-1!==(C=-1===h?N.lastIndexOf("@"):N.lastIndexOf("@",h))&&(p=N.slice(0,C),N=N.slice(C+1),this.auth=decodeURIComponent(p)),h=-1;for(f=0;f<S.length;f++){var P;-1!==(P=N.indexOf(S[f]))&&(-1===h||P<h)&&(h=P)}-1===h&&(h=N.length),this.host=N.slice(0,h),N=N.slice(h),this.parseHost(),this.hostname=this.hostname||"";var B="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!B)for(var g=this.hostname.split(/\./),v=(f=0,g.length);f<v;f++){var M=g[f];if(M&&!M.match(I)){for(var W="",y=0,U=M.length;y<U;y++)M.charCodeAt(y)>127?W+="x":W+=M[y];if(!W.match(I)){var b=g.slice(0,f),G=g.slice(f+1),k=M.match(A);k&&(b.push(k[1]),G.unshift(k[2])),G.length&&(N="/"+G.join(".")+N),this.hostname=b.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),B||(this.hostname=i.toASCII(this.hostname));var F=this.port?":"+this.port:"",V=this.hostname||"";this.host=V+F,this.href+=this.host,B&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==N[0]&&(N="/"+N))}if(!u[L])for(f=0,v=s.length;f<v;f++){var H=s[f];if(-1!==N.indexOf(H)){var w=encodeURIComponent(H);w===H&&(w=escape(H)),N=N.split(H).join(w)}}var Y=N.indexOf("#");-1!==Y&&(this.hash=N.substr(Y),N=N.slice(0,Y));var z=N.indexOf("?");if(-1!==z?(this.search=N.substr(z),this.query=N.substr(z+1),t&&(this.query=c.parse(this.query)),N=N.slice(0,z)):t&&(this.search="",this.query={}),N&&(this.pathname=N),O[L]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){F=this.pathname||"";var K=this.search||"";this.path=F+K}return this.href=this.format(),this},n.prototype.format=function(){var e=this.auth||"";e&&(e=(e=encodeURIComponent(e)).replace(/%3A/i,":"),e+="@");var t=this.protocol||"",a=this.pathname||"",i=this.hash||"",n=!1,r="";this.host?n=e+this.host:this.hostname&&(n=e+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(n+=":"+this.port)),this.query&&o.isObject(this.query)&&Object.keys(this.query).length&&(r=c.stringify(this.query));var E=this.search||r&&"?"+r||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||O[t])&&!1!==n?(n="//"+(n||""),a&&"/"!==a.charAt(0)&&(a="/"+a)):n||(n=""),i&&"#"!==i.charAt(0)&&(i="#"+i),E&&"?"!==E.charAt(0)&&(E="?"+E),t+n+(a=a.replace(/[?#]/g,function(e){return encodeURIComponent(e)}))+(E=E.replace("#","%23"))+i},n.prototype.resolve=function(e){return this.resolveObject(N(e,!1,!0)).format()},n.prototype.resolveObject=function(e){if(o.isString(e)){var t=new n;t.parse(e,!1,!0),e=t}for(var a=new n,i=Object.keys(this),r=0;r<i.length;r++){var E=i[r];a[E]=this[E]}if(a.hash=e.hash,""===e.href)return a.href=a.format(),a;if(e.slashes&&!e.protocol){for(var _=Object.keys(e),T=0;T<_.length;T++){var s=_[T];"protocol"!==s&&(a[s]=e[s])}return O[a.protocol]&&a.hostname&&!a.pathname&&(a.path=a.pathname="/"),a.href=a.format(),a}if(e.protocol&&e.protocol!==a.protocol){if(!O[e.protocol]){for(var S=Object.keys(e),l=0;l<S.length;l++){var I=S[l];a[I]=e[I]}return a.href=a.format(),a}if(a.protocol=e.protocol,e.host||d[e.protocol])a.pathname=e.pathname;else{for(var A=(e.pathname||"").split("/");A.length&&!(e.host=A.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==A[0]&&A.unshift(""),A.length<2&&A.unshift(""),a.pathname=A.join("/")}if(a.search=e.search,a.query=e.query,a.host=e.host||"",a.auth=e.auth,a.hostname=e.hostname||e.host,a.port=e.port,a.pathname||a.search){var u=a.pathname||"",c=a.search||"";a.path=u+c}return a.slashes=a.slashes||e.slashes,a.href=a.format(),a}var N=a.pathname&&"/"===a.pathname.charAt(0),R=e.host||e.pathname&&"/"===e.pathname.charAt(0),m=R||N||a.host&&e.pathname,L=m,D=a.pathname&&a.pathname.split("/")||[],p=(A=e.pathname&&e.pathname.split("/")||[],a.protocol&&!O[a.protocol]);if(p&&(a.hostname="",a.port=null,a.host&&(""===D[0]?D[0]=a.host:D.unshift(a.host)),a.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===A[0]?A[0]=e.host:A.unshift(e.host)),e.host=null),m=m&&(""===A[0]||""===D[0])),R)a.host=e.host||""===e.host?e.host:a.host,a.hostname=e.hostname||""===e.hostname?e.hostname:a.hostname,a.search=e.search,a.query=e.query,D=A;else if(A.length)D||(D=[]),D.pop(),D=D.concat(A),a.search=e.search,a.query=e.query;else if(!o.isNullOrUndefined(e.search)){if(p)a.hostname=a.host=D.shift(),(B=!!(a.host&&a.host.indexOf("@")>0)&&a.host.split("@"))&&(a.auth=B.shift(),a.host=a.hostname=B.shift());return a.search=e.search,a.query=e.query,o.isNull(a.pathname)&&o.isNull(a.search)||(a.path=(a.pathname?a.pathname:"")+(a.search?a.search:"")),a.href=a.format(),a}if(!D.length)return a.pathname=null,a.search?a.path="/"+a.search:a.path=null,a.href=a.format(),a;for(var C=D.slice(-1)[0],h=(a.host||e.host||D.length>1)&&("."===C||".."===C)||""===C,f=0,P=D.length;P>=0;P--)"."===(C=D[P])?D.splice(P,1):".."===C?(D.splice(P,1),f++):f&&(D.splice(P,1),f--);if(!m&&!L)for(;f--;f)D.unshift("..");!m||""===D[0]||D[0]&&"/"===D[0].charAt(0)||D.unshift(""),h&&"/"!==D.join("/").substr(-1)&&D.push("");var B,g=""===D[0]||D[0]&&"/"===D[0].charAt(0);p&&(a.hostname=a.host=g?"":D.length?D.shift():"",(B=!!(a.host&&a.host.indexOf("@")>0)&&a.host.split("@"))&&(a.auth=B.shift(),a.host=a.hostname=B.shift()));return(m=m||a.host&&D.length)&&!g&&D.unshift(""),D.length?a.pathname=D.join("/"):(a.pathname=null,a.path=null),o.isNull(a.pathname)&&o.isNull(a.search)||(a.path=(a.pathname?a.pathname:"")+(a.search?a.search:"")),a.auth=e.auth||a.auth,a.slashes=a.slashes||e.slashes,a.href=a.format(),a},n.prototype.parseHost=function(){var e=this.host,t=E.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},33845:e=>{"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},32168:(e,t,a)=>{"use strict";var i=a(65846);function o(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var n=/^([a-z0-9.+-]+:)/i,r=/:[0-9]*$/,E=/^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,_=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),T=["'"].concat(_),s=["%","/","?",";","#"].concat(T),S=["/","?","#"],l=/^[+a-z0-9A-Z_-]{0,63}$/,I=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,A={javascript:!0,"javascript:":!0},u={javascript:!0,"javascript:":!0},d={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},O=a(75004);function c(e,t,a){if(e&&"object"==typeof e&&e instanceof o)return e;var i=new o;return i.parse(e,t,a),i}o.prototype.parse=function(e,t,a){if("string"!=typeof e)throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var o=e.indexOf("?"),r=-1!==o&&o<e.indexOf("#")?"?":"#",_=e.split(r);_[0]=_[0].replace(/\\/g,"/");var c=e=_.join(r);if(c=c.trim(),!a&&1===e.split("#").length){var N=E.exec(c);if(N)return this.path=c,this.href=c,this.pathname=N[1],N[2]?(this.search=N[2],this.query=t?O.parse(this.search.substr(1)):this.search.substr(1)):t&&(this.search="",this.query={}),this}var R=n.exec(c);if(R){var m=(R=R[0]).toLowerCase();this.protocol=m,c=c.substr(R.length)}if(a||R||c.match(/^\/\/[^@/]+@[^@/]+/)){var L="//"===c.substr(0,2);!L||R&&u[R]||(c=c.substr(2),this.slashes=!0)}if(!u[R]&&(L||R&&!d[R])){for(var D,p,C=-1,h=0;h<S.length;h++){-1!==(f=c.indexOf(S[h]))&&(-1===C||f<C)&&(C=f)}-1!==(p=-1===C?c.lastIndexOf("@"):c.lastIndexOf("@",C))&&(D=c.slice(0,p),c=c.slice(p+1),this.auth=decodeURIComponent(D)),C=-1;for(h=0;h<s.length;h++){var f;-1!==(f=c.indexOf(s[h]))&&(-1===C||f<C)&&(C=f)}-1===C&&(C=c.length),this.host=c.slice(0,C),c=c.slice(C),this.parseHost(),this.hostname=this.hostname||"";var P="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!P)for(var B=this.hostname.split(/\./),g=(h=0,B.length);h<g;h++){var v=B[h];if(v&&!v.match(l)){for(var M="",W=0,y=v.length;W<y;W++)v.charCodeAt(W)>127?M+="x":M+=v[W];if(!M.match(l)){var U=B.slice(0,h),b=B.slice(h+1),G=v.match(I);G&&(U.push(G[1]),b.unshift(G[2])),b.length&&(c="/"+b.join(".")+c),this.hostname=U.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),P||(this.hostname=i.toASCII(this.hostname));var k=this.port?":"+this.port:"",F=this.hostname||"";this.host=F+k,this.href+=this.host,P&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==c[0]&&(c="/"+c))}if(!A[m])for(h=0,g=T.length;h<g;h++){var V=T[h];if(-1!==c.indexOf(V)){var H=encodeURIComponent(V);H===V&&(H=escape(V)),c=c.split(V).join(H)}}var w=c.indexOf("#");-1!==w&&(this.hash=c.substr(w),c=c.slice(0,w));var Y=c.indexOf("?");if(-1!==Y?(this.search=c.substr(Y),this.query=c.substr(Y+1),t&&(this.query=O.parse(this.query)),c=c.slice(0,Y)):t&&(this.search="",this.query={}),c&&(this.pathname=c),d[m]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){k=this.pathname||"";var z=this.search||"";this.path=k+z}return this.href=this.format(),this},o.prototype.format=function(){var e=this.auth||"";e&&(e=(e=encodeURIComponent(e)).replace(/%3A/i,":"),e+="@");var t=this.protocol||"",a=this.pathname||"",i=this.hash||"",o=!1,n="";this.host?o=e+this.host:this.hostname&&(o=e+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(o+=":"+this.port)),this.query&&"object"==typeof this.query&&Object.keys(this.query).length&&(n=O.stringify(this.query,{arrayFormat:"repeat",addQueryPrefix:!1}));var r=this.search||n&&"?"+n||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||d[t])&&!1!==o?(o="//"+(o||""),a&&"/"!==a.charAt(0)&&(a="/"+a)):o||(o=""),i&&"#"!==i.charAt(0)&&(i="#"+i),r&&"?"!==r.charAt(0)&&(r="?"+r),t+o+(a=a.replace(/[?#]/g,function(e){return encodeURIComponent(e)}))+(r=r.replace("#","%23"))+i},o.prototype.resolve=function(e){return this.resolveObject(c(e,!1,!0)).format()},o.prototype.resolveObject=function(e){if("string"==typeof e){var t=new o;t.parse(e,!1,!0),e=t}for(var a=new o,i=Object.keys(this),n=0;n<i.length;n++){var r=i[n];a[r]=this[r]}if(a.hash=e.hash,""===e.href)return a.href=a.format(),a;if(e.slashes&&!e.protocol){for(var E=Object.keys(e),_=0;_<E.length;_++){var T=E[_];"protocol"!==T&&(a[T]=e[T])}return d[a.protocol]&&a.hostname&&!a.pathname&&(a.pathname="/",a.path=a.pathname),a.href=a.format(),a}if(e.protocol&&e.protocol!==a.protocol){if(!d[e.protocol]){for(var s=Object.keys(e),S=0;S<s.length;S++){var l=s[S];a[l]=e[l]}return a.href=a.format(),a}if(a.protocol=e.protocol,e.host||u[e.protocol])a.pathname=e.pathname;else{for(var I=(e.pathname||"").split("/");I.length&&!(e.host=I.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==I[0]&&I.unshift(""),I.length<2&&I.unshift(""),a.pathname=I.join("/")}if(a.search=e.search,a.query=e.query,a.host=e.host||"",a.auth=e.auth,a.hostname=e.hostname||e.host,a.port=e.port,a.pathname||a.search){var A=a.pathname||"",O=a.search||"";a.path=A+O}return a.slashes=a.slashes||e.slashes,a.href=a.format(),a}var c=a.pathname&&"/"===a.pathname.charAt(0),N=e.host||e.pathname&&"/"===e.pathname.charAt(0),R=N||c||a.host&&e.pathname,m=R,L=a.pathname&&a.pathname.split("/")||[],D=(I=e.pathname&&e.pathname.split("/")||[],a.protocol&&!d[a.protocol]);if(D&&(a.hostname="",a.port=null,a.host&&(""===L[0]?L[0]=a.host:L.unshift(a.host)),a.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===I[0]?I[0]=e.host:I.unshift(e.host)),e.host=null),R=R&&(""===I[0]||""===L[0])),N)a.host=e.host||""===e.host?e.host:a.host,a.hostname=e.hostname||""===e.hostname?e.hostname:a.hostname,a.search=e.search,a.query=e.query,L=I;else if(I.length)L||(L=[]),L.pop(),L=L.concat(I),a.search=e.search,a.query=e.query;else if(null!=e.search){if(D)a.host=L.shift(),a.hostname=a.host,(P=!!(a.host&&a.host.indexOf("@")>0)&&a.host.split("@"))&&(a.auth=P.shift(),a.hostname=P.shift(),a.host=a.hostname);return a.search=e.search,a.query=e.query,null===a.pathname&&null===a.search||(a.path=(a.pathname?a.pathname:"")+(a.search?a.search:"")),a.href=a.format(),a}if(!L.length)return a.pathname=null,a.search?a.path="/"+a.search:a.path=null,a.href=a.format(),a;for(var p=L.slice(-1)[0],C=(a.host||e.host||L.length>1)&&("."===p||".."===p)||""===p,h=0,f=L.length;f>=0;f--)"."===(p=L[f])?L.splice(f,1):".."===p?(L.splice(f,1),h++):h&&(L.splice(f,1),h--);if(!R&&!m)for(;h--;h)L.unshift("..");!R||""===L[0]||L[0]&&"/"===L[0].charAt(0)||L.unshift(""),C&&"/"!==L.join("/").substr(-1)&&L.push("");var P,B=""===L[0]||L[0]&&"/"===L[0].charAt(0);D&&(a.hostname=B?"":L.length?L.shift():"",a.host=a.hostname,(P=!!(a.host&&a.host.indexOf("@")>0)&&a.host.split("@"))&&(a.auth=P.shift(),a.hostname=P.shift(),a.host=a.hostname));return(R=R||a.host&&L.length)&&!B&&L.unshift(""),L.length>0?a.pathname=L.join("/"):(a.pathname=null,a.path=null),null===a.pathname&&null===a.search||(a.path=(a.pathname?a.pathname:"")+(a.search?a.search:"")),a.auth=e.auth||a.auth,a.slashes=a.slashes||e.slashes,a.href=a.format(),a},o.prototype.parseHost=function(){var e=this.host,t=r.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)},t.parse=c,t.resolve=function(e,t){return c(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?c(e,!1,!0).resolveObject(t):t},t.format=function(e){return"string"==typeof e&&(e=c(e)),e instanceof o?e.format():o.prototype.format.call(e)},t.Url=o},33472:(e,t,a)=>{"use strict";Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const i=a(30758);var o,n=((o=n||{}).Mouse="mouse",o.Touch="touch",o.Pointer="pointer",o),r=(e=>(e.CancelledByMovement="cancelled-by-movement",e.CancelledByRelease="cancelled-by-release",e.CancelledOutsideElement="cancelled-outside-element",e))(r||{});const E=["mousedown","mousemove","mouseup","mouseleave","mouseout"],_=["touchstart","touchmove","touchend","touchcancel"],T=["pointerdown","pointermove","pointerup","pointerleave","pointerout"];function s(e){var t;return _.includes(null==(t=null==e?void 0:e.nativeEvent)?void 0:t.type)||"touches"in e}function S(e){return(function(e){var t;return E.includes(null==(t=null==e?void 0:e.nativeEvent)?void 0:t.type)})(e)||s(e)||(function(e){const{nativeEvent:t}=e;return!!t&&(T.includes(null==t?void 0:t.type)||"pointerId"in t)})(e)}function l(e){var t;const a=s(e)?null==(t=null==e?void 0:e.touches)?void 0:t[0]:e;return(function(e){return"object"==typeof e&&null!==e&&"pageX"in e&&"number"==typeof e.pageX&&"pageY"in e&&"number"==typeof e.pageY})(a)?{x:a.pageX,y:a.pageY}:null}t.LongPressCallbackReason=r,t.LongPressEventType=n,t.useLongPress=function(e,{threshold:t=400,captureEvent:a=!1,detect:o=n.Pointer,cancelOnMovement:E=!1,cancelOutsideElement:_=!0,filterEvents:T,onStart:s,onMove:I,onFinish:A,onCancel:u}={}){const d=i.useRef(!1),O=i.useRef(!1),c=i.useRef(),N=i.useRef(),R=i.useRef(e),m=i.useRef(null),L=i.useCallback(e=>i=>{O.current||S(i)&&(void 0!==T&&!T(i)||(a&&i.persist(),null==s||s(i,{context:e}),m.current=l(i),O.current=!0,c.current=i.currentTarget,N.current=setTimeout(()=>{R.current&&(R.current(i,{context:e}),d.current=!0)},t)))},[a,T,s,t]),D=i.useCallback(e=>(t,i)=>{S(t)&&O.current&&(m.current=null,a&&t.persist(),d.current?null==A||A(t,{context:e}):O.current&&(null==u||u(t,{context:e,reason:i??r.CancelledByRelease})),d.current=!1,O.current=!1,void 0!==N.current&&clearTimeout(N.current))},[a,A,u]),p=i.useCallback(e=>t=>{if(S(t)&&(null==I||I(t,{context:e}),!1!==E&&m.current)){const a=l(t);if(a){const i=!0===E?25:E,o={x:Math.abs(a.x-m.current.x),y:Math.abs(a.y-m.current.y)};(o.x>i||o.y>i)&&D(e)(t,r.CancelledByMovement)}}},[D,E,I]),C=i.useCallback(t=>{if(null===e)return{};switch(o){case n.Mouse:{const e={onMouseDown:L(t),onMouseMove:p(t),onMouseUp:D(t)};return _&&(e.onMouseLeave=e=>{D(t)(e,r.CancelledOutsideElement)}),e}case n.Touch:return{onTouchStart:L(t),onTouchMove:p(t),onTouchEnd:D(t)};case n.Pointer:{const e={onPointerDown:L(t),onPointerMove:p(t),onPointerUp:D(t)};return _&&(e.onPointerLeave=e=>D(t)(e,r.CancelledOutsideElement)),e}}},[e,D,_,o,p,L]);return i.useEffect(()=>{function e(e){const t=(function(e){return{target:e.target,currentTarget:e.currentTarget,nativeEvent:e,persist:()=>{}}})(e);D()(t)}return window.addEventListener("mouseup",e),window.addEventListener("touchend",e),window.addEventListener("pointerup",e),()=>{window.removeEventListener("mouseup",e),window.removeEventListener("touchend",e),window.removeEventListener("pointerup",e)}},[D]),i.useEffect(()=>()=>{void 0!==N.current&&clearTimeout(N.current)},[]),i.useEffect(()=>{R.current=e},[e]),C}},80351:e=>{e.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}},21417:(e,t,a)=>{e.exports={WebVTT:a(78099).WebVTT,VTTCue:a(20344).VTTCue,VTTRegion:a(67385).VTTRegion}},78099:function(){!(function(e){function t(e,t){return void 0===t&&(t=1),"rgba("+[parseInt(e.substring(0,2),16),parseInt(e.substring(2,4),16),parseInt(e.substring(4,6),16),t].join(",")+")"}var a=1;function i(e,i,n){switch(n){case"webvtt.font.color":case"webvtt.font.opacity":var r=Services.prefs.getCharPref("webvtt.font.color"),E=Services.prefs.getIntPref("webvtt.font.opacity")/100;o.fontSet=t(r,E);break;case"webvtt.font.scale":a=Services.prefs.getIntPref("webvtt.font.scale")/100;break;case"webvtt.bg.color":case"webvtt.bg.opacity":var _=Services.prefs.getCharPref("webvtt.bg.color"),T=Services.prefs.getIntPref("webvtt.bg.opacity")/100;o.backgroundSet=t(_,T);break;case"webvtt.edge.color":case"webvtt.edge.type":var s=Services.prefs.getIntPref("webvtt.edge.type"),S=Services.prefs.getCharPref("webvtt.edge.color");o.edgeSet=["","0px 0px ","4px 4px 4px ","-2px -2px ","2px 2px "][s]+t(S)}}if("undefined"!=typeof Services){var o={};["webvtt.font.color","webvtt.font.opacity","webvtt.font.scale","webvtt.bg.color","webvtt.bg.opacity","webvtt.edge.color","webvtt.edge.type"].forEach(function(e){i(0,0,e),Services.prefs.addObserver(e,i,!1)})}var n=Object.create||(function(){function e(){}return function(t){if(1!==arguments.length)throw new Error("Object.create shim only accepts one parameter.");return e.prototype=t,new e}})();function r(e,t){this.name="ParsingError",this.code=e.code,this.message=t||e.message}function E(e){function t(e,t,a,i){return 3600*(0|e)+60*(0|t)+(0|a)+(0|i)/1e3}var a=e.match(/^(\d+):(\d{2})(:\d{2})?\.(\d{3})/);return a?a[3]?t(a[1],a[2],a[3].replace(":",""),a[4]):a[1]>59?t(a[1],a[2],0,a[4]):t(0,a[1],a[2],a[4]):null}function _(){this.values=n(null)}function T(e,t,a,i){var o=i?e.split(i):[e];for(var n in o)if("string"==typeof o[n]){var r=o[n].split(a);if(2===r.length)t(r[0],r[1])}}r.prototype=n(Error.prototype),r.prototype.constructor=r,r.Errors={BadSignature:{code:0,message:"Malformed WebVTT signature."},BadTimeStamp:{code:1,message:"Malformed time stamp."}},_.prototype={set:function(e,t){this.get(e)||""===t||(this.values[e]=t)},get:function(e,t,a){return a?this.has(e)?this.values[e]:t[a]:this.has(e)?this.values[e]:t},has:function(e){return e in this.values},alt:function(e,t,a){for(var i=0;i<a.length;++i)if(t===a[i]){this.set(e,t);break}},integer:function(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))},percent:function(e,t){return!!(t.match(/^([\d]{1,3})(\.[\d]*)?%$/)&&(t=parseFloat(t))>=0&&t<=100)&&(this.set(e,t),!0)}};var s={"&":"&","<":"<",">":">","‎":"‎","‏":"‏"," ":" "},S={c:"span",i:"i",b:"b",u:"u",ruby:"ruby",rt:"rt",v:"span",lang:"span"},l={v:"title",lang:"lang"},I={rt:"ruby"};function A(e,t){function a(){if(!t)return null;var e,a=t.match(/^([^<]*)(<[^>]+>?)?/);return e=a[1]?a[1]:a[2],t=t.substr(e.length),e}function i(e){return s[e]}function o(e){for(;c=e.match(/&(amp|lt|gt|lrm|rlm|nbsp);/);)e=e.replace(c[0],i);return e}function n(e,t){return!I[t.localName]||I[t.localName]===e.localName}function r(t,a){var i=S[t];if(!i)return null;var o=e.document.createElement(i);o.localName=i;var n=l[t];return n&&a&&(o[n]=a.trim()),o}for(var _,T=e.document.createElement("div"),A=T,u=[];null!==(_=a());)if("<"!==_[0])A.appendChild(e.document.createTextNode(o(_)));else{if("/"===_[1]){u.length&&u[u.length-1]===_.substr(2).replace(">","")&&(u.pop(),A=A.parentNode);continue}var d,O=E(_.substr(1,_.length-2));if(O){d=e.document.createProcessingInstruction("timestamp",O),A.appendChild(d);continue}var c=_.match(/^<([^.\s/0-9>]+)(\.[^\s\\>]+)?([^>\\]+)?(\\?)>?$/);if(!c)continue;if(!(d=r(c[1],c[3])))continue;if(!n(A,d))continue;c[2]&&(d.className=c[2].substr(1).replace("."," ")),u.push(c[1]),A.appendChild(d),A=d}return T}var u=[[1470,1470],[1472,1472],[1475,1475],[1478,1478],[1488,1514],[1520,1524],[1544,1544],[1547,1547],[1549,1549],[1563,1563],[1566,1610],[1645,1647],[1649,1749],[1765,1766],[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],[1969,1969],[1984,2026],[2036,2037],[2042,2042],[2048,2069],[2074,2074],[2084,2084],[2088,2088],[2096,2110],[2112,2136],[2142,2142],[2208,2208],[2210,2220],[8207,8207],[64285,64285],[64287,64296],[64298,64310],[64312,64316],[64318,64318],[64320,64321],[64323,64324],[64326,64449],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65136,65140],[65142,65276],[67584,67589],[67592,67592],[67594,67637],[67639,67640],[67644,67644],[67647,67669],[67671,67679],[67840,67867],[67872,67897],[67903,67903],[67968,68023],[68030,68031],[68096,68096],[68112,68115],[68117,68119],[68121,68147],[68160,68167],[68176,68184],[68192,68223],[68352,68405],[68416,68437],[68440,68466],[68472,68479],[68608,68680],[126464,126467],[126469,126495],[126497,126498],[126500,126500],[126503,126503],[126505,126514],[126516,126519],[126521,126521],[126523,126523],[126530,126530],[126535,126535],[126537,126537],[126539,126539],[126541,126543],[126545,126546],[126548,126548],[126551,126551],[126553,126553],[126555,126555],[126557,126557],[126559,126559],[126561,126562],[126564,126564],[126567,126570],[126572,126578],[126580,126583],[126585,126588],[126590,126590],[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[1114109,1114109]];function d(e){for(var t=0;t<u.length;t++){var a=u[t];if(e>=a[0]&&e<=a[1])return!0}return!1}function O(){}function c(e,t,a){var i="undefined"!=typeof navigator&&/MSIE\s8\.0/.test(navigator.userAgent),n="rgba(255, 255, 255, 1)",r="rgba(0, 0, 0, 0.8)",E="";void 0!==o&&(n=o.fontSet,r=o.backgroundSet,E=o.edgeSet),i&&(n="rgb(255, 255, 255)",r="rgb(0, 0, 0)"),O.call(this),this.cue=t,this.cueDiv=A(e,t.text);var _={color:n,backgroundColor:r,textShadow:E,position:"relative",left:0,right:0,top:0,bottom:0,display:"inline"};i||(_.writingMode=""===t.vertical?"horizontal-tb":"lr"===t.vertical?"vertical-lr":"vertical-rl",_.unicodeBidi="plaintext"),this.applyStyles(_,this.cueDiv),this.div=e.document.createElement("div"),_={textAlign:"middle"===t.align?"center":t.align,font:a.font,whiteSpace:"pre-line",position:"absolute"},i||(_.direction=(function(e){var t=[],a="";if(!e||!e.childNodes)return"ltr";function i(e,t){for(var a=t.childNodes.length-1;a>=0;a--)e.push(t.childNodes[a])}function o(e){if(!e||!e.length)return null;var t=e.pop(),a=t.textContent||t.innerText;if(a){var n=a.match(/^.*(\n|\r)/);return n?(e.length=0,n[0]):a}return"ruby"===t.tagName?o(e):t.childNodes?(i(e,t),o(e)):void 0}for(i(t,e);a=o(t);)for(var n=0;n<a.length;n++)if(d(a.charCodeAt(n)))return"rtl";return"ltr"})(this.cueDiv),_.writingMode=""===t.vertical?"horizontal-tb":"lr"===t.vertical?"vertical-lr":"vertical-rl".stylesunicodeBidi="plaintext"),this.applyStyles(_),this.div.appendChild(this.cueDiv);var T=0;switch(t.positionAlign){case"start":T=t.position;break;case"middle":T=t.position-t.size/2;break;case"end":T=t.position-t.size}""===t.vertical?this.applyStyles({left:this.formatStyle(T,"%"),width:this.formatStyle(t.size,"%")}):this.applyStyles({top:this.formatStyle(T,"%"),height:this.formatStyle(t.size,"%")}),this.move=function(e){this.applyStyles({top:this.formatStyle(e.top,"px"),bottom:this.formatStyle(e.bottom,"px"),left:this.formatStyle(e.left,"px"),right:this.formatStyle(e.right,"px"),height:this.formatStyle(e.height,"px"),width:this.formatStyle(e.width,"px")})}}function N(e){var t,a,i,o,n="undefined"!=typeof navigator&&/MSIE\s8\.0/.test(navigator.userAgent);if(e.div){a=e.div.offsetHeight,i=e.div.offsetWidth,o=e.div.offsetTop;var r=(r=e.div.childNodes)&&(r=r[0])&&r.getClientRects&&r.getClientRects();e=e.div.getBoundingClientRect(),t=r?Math.max(r[0]&&r[0].height||0,e.height/r.length):0}this.left=e.left,this.right=e.right,this.top=e.top||o,this.height=e.height||a,this.bottom=e.bottom||o+(e.height||a),this.width=e.width||i,this.lineHeight=void 0!==t?t:e.lineHeight,n&&!this.lineHeight&&(this.lineHeight=13)}function R(e,t,a,i){var o=new N(t),n=t.cue,r=(function(e){if("number"==typeof e.line&&(e.snapToLines||e.line>=0&&e.line<=100))return e.line;if(!e.track||!e.track.textTrackList||!e.track.textTrackList.mediaElement)return-1;for(var t=e.track,a=t.textTrackList,i=0,o=0;o<a.length&&a[o]!==t;o++)"showing"===a[o].mode&&i++;return-1*++i})(n),E=[];if(n.snapToLines){var _;switch(n.vertical){case"":E=["+y","-y"],_="height";break;case"rl":E=["+x","-x"],_="width";break;case"lr":E=["-x","+x"],_="width"}var T=o.lineHeight,s=T*Math.round(r),S=a[_]+T,l=E[0];Math.abs(s)>S&&(s=s<0?-1:1,s*=Math.ceil(S/T)*T),r<0&&(s+=""===n.vertical?a.height:a.width,E=E.reverse()),o.move(l,s)}else{var I=o.lineHeight/a.height*100;switch(n.lineAlign){case"middle":r-=I/2;break;case"end":r-=I}switch(n.vertical){case"":t.applyStyles({top:t.formatStyle(r,"%")});break;case"rl":t.applyStyles({left:t.formatStyle(r,"%")});break;case"lr":t.applyStyles({right:t.formatStyle(r,"%")})}E=["+y","-x","+x","-y"],o=new N(t)}var A=(function(e,t){for(var o,n=new N(e),r=1,E=0;E<t.length;E++){for(;e.overlapsOppositeAxis(a,t[E])||e.within(a)&&e.overlapsAny(i);)e.move(t[E]);if(e.within(a))return e;var _=e.intersectPercentage(a);r>_&&(o=new N(e),r=_),e=new N(n)}return o||n})(o,E);t.move(A.toCSSCompatValues(a))}function m(){}O.prototype.applyStyles=function(e,t){for(var a in t=t||this.div,e)e.hasOwnProperty(a)&&(t.style[a]=e[a])},O.prototype.formatStyle=function(e,t){return 0===e?0:e+t},c.prototype=n(O.prototype),c.prototype.constructor=c,N.prototype.move=function(e,t){switch(t=void 0!==t?t:this.lineHeight,e){case"+x":this.left+=t,this.right+=t;break;case"-x":this.left-=t,this.right-=t;break;case"+y":this.top+=t,this.bottom+=t;break;case"-y":this.top-=t,this.bottom-=t}},N.prototype.overlaps=function(e){return this.left<e.right&&this.right>e.left&&this.top<e.bottom&&this.bottom>e.top},N.prototype.overlapsAny=function(e){for(var t=0;t<e.length;t++)if(this.overlaps(e[t]))return!0;return!1},N.prototype.within=function(e){return this.top>=e.top&&this.bottom<=e.bottom&&this.left>=e.left&&this.right<=e.right},N.prototype.overlapsOppositeAxis=function(e,t){switch(t){case"+x":return this.left<e.left;case"-x":return this.right>e.right;case"+y":return this.top<e.top;case"-y":return this.bottom>e.bottom}},N.prototype.intersectPercentage=function(e){return Math.max(0,Math.min(this.right,e.right)-Math.max(this.left,e.left))*Math.max(0,Math.min(this.bottom,e.bottom)-Math.max(this.top,e.top))/(this.height*this.width)},N.prototype.toCSSCompatValues=function(e){return{top:this.top-e.top,bottom:e.bottom-this.bottom,left:this.left-e.left,right:e.right-this.right,height:this.height,width:this.width}},N.getSimpleBoxPosition=function(e){var t=e.div?e.div.offsetHeight:e.tagName?e.offsetHeight:0,a=e.div?e.div.offsetWidth:e.tagName?e.offsetWidth:0,i=e.div?e.div.offsetTop:e.tagName?e.offsetTop:0;return{left:(e=e.div?e.div.getBoundingClientRect():e.tagName?e.getBoundingClientRect():e).left,right:e.right,top:e.top||i,height:e.height||t,bottom:e.bottom||i+(e.height||t),width:e.width||a}},m.StringDecoder=function(){return{decode:function(e){if(!e)return"";if("string"!=typeof e)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}},m.convertCueToDOMTree=function(e,t){return e&&t?A(e,t):null};m.processCues=function(e,t,i){if(!e||!t||!i)return null;for(;i.firstChild;)i.removeChild(i.firstChild);var o=e.document.createElement("div");if(o.style.position="absolute",o.style.left="0",o.style.right="0",o.style.top="0",o.style.bottom="0",o.style.margin="1.5%",i.appendChild(o),(function(e){for(var t=0;t<e.length;t++)if(e[t].hasBeenReset||!e[t].displayState)return!0;return!1})(t)){var n=[],r=N.getSimpleBoxPosition(o),E={font:Math.round(.05*r.height*100)/100*a+"px sans-serif"};!(function(){for(var a,i,_=0;_<t.length;_++)i=t[_],a=new c(e,i,E),o.appendChild(a.div),R(0,a,r,n),i.displayState=a.div,n.push(N.getSimpleBoxPosition(a))})()}else for(var _=0;_<t.length;_++)o.appendChild(t[_].displayState)},m.Parser=function(e,t,a){this.window=e,this.state="INITIAL",this.buffer="",this.decoder=t||new TextDecoder("utf8"),this.regionList=[],this.VTTCue=a},m.Parser.prototype={reportOrThrowError:function(e){if(!(e instanceof r))throw e;this.onparsingerror&&this.onparsingerror(e)},parse:function(e){var t,a,i=this;function o(){for(var e=i.buffer,t=0;t<e.length&&"\r"!==e[t]&&"\n"!==e[t];)++t;var a=e.substr(0,t);return"\r"===e[t]&&++t,"\n"===e[t]&&++t,i.buffer=e.substr(t),a}function n(e){e.match(/X-TIMESTAMP-MAP/)?T(e,function(e,t){if("X-TIMESTAMP-MAP"===e)!(function(e){var t=new _;T(e,function(e,a){switch(e){case"MPEGT":t.integer(e+"S",a);break;case"LOCA":t.set(e+"L",E(a))}},/[^\d]:/,/,/),i.ontimestampmap&&i.ontimestampmap({MPEGTS:t.get("MPEGTS"),LOCAL:t.get("LOCAL")})})(t)},/=/):T(e,function(e,t){if("Region"===e)!(function(e){var t=new _;if(T(e,function(e,a){switch(e){case"id":t.set(e,a);break;case"width":t.percent(e,a);break;case"lines":t.integer(e,a);break;case"regionanchor":case"viewportanchor":var i=a.split(",");if(2!==i.length)break;var o=new _;if(o.percent("x",i[0]),o.percent("y",i[1]),!o.has("x")||!o.has("y"))break;t.set(e+"X",o.get("x")),t.set(e+"Y",o.get("y"));break;case"scroll":t.alt(e,a,["up"])}},/=/,/\s/),t.has("id")){var a=new i.window.VTTRegion;a.width=t.get("width",100),a.lines=t.get("lines",3),a.regionAnchorX=t.get("regionanchorX",0),a.regionAnchorY=t.get("regionanchorY",100),a.viewportAnchorX=t.get("viewportanchorX",0),a.viewportAnchorY=t.get("viewportanchorY",100),a.scroll=t.get("scroll",""),i.onregion&&i.onregion(a),i.regionList.push({id:t.get("id"),region:a})}})(t)},/:/)}if(e&&(i.buffer+=i.decoder.decode(e,{stream:!0})),"INITIAL"===i.state){if(!/\r\n|\n/.test(i.buffer))return this;var s=(t=o()).match(/^WEBVTT([ \t].*)?$/);if(!s||!s[0])return a=new r(r.Errors.BadSignature),i.reportOrThrowError(a),"CUETEXT"===i.state&&i.cue&&i.oncue&&i.oncue(i.cue),i.cue=null,void(i.state="INITIAL"===i.state?"BADWEBVTT":"BADCUE");i.state="HEADER"}var S=!1,l=0;var I,A=(I=function(){if(i.buffer&&/\r\n|\n/.test(i.buffer))switch(S?S=!1:t=o(),i.state){case"HEADER":/:/.test(t)?n(t):t||(i.state="ID"),A();break;case"NOTE":t||(i.state="ID"),A();break;case"ID":if(/^NOTE($|[ \t])/.test(t)){i.state="NOTE",A();break}if(!t){A();break}if(i.cue=new(i.VTTCue||i.window.VTTCue)(0,0,""),i.state="CUE",-1===t.indexOf("--\x3e")){i.cue.id=t,A();break}case"CUE":!(function(e,t,a,i,o){var n,s=e;function S(){var t=E(e);if(null!==t||!o)return e=e.replace(/^[^\sa-zA-Z-]+/,""),t;o(new r(r.Errors.BadTimeStamp,"Malformed timestamp: "+s))}function l(){e=e.replace(/^\s+/,"")}l(),void 0!==(n=S())&&(t.startTime=n,l(),"--\x3e"===e.substr(0,3)?(e=e.substr(3),l(),void 0!==(n=S())&&(t.endTime=n,l(),(function(e,t){var o=new _;T(e,function(e,t){switch(e){case"region":for(var i=a.length-1;i>=0;i--)if(a[i].id===t){o.set(e,a[i].region);break}break;case"vertical":o.alt(e,t,["rl","lr"]);break;case"line":var n=t.split(","),r=n[0];o.integer(e,r),o.percent(e,r)&&o.set("snapToLines",!1),o.alt(e,r,["auto"]),2===n.length&&o.alt("lineAlign",n[1],["start","middle","end"]);break;case"position":n=t.split(","),o.percent(e,n[0]),2===n.length&&o.alt("positionAlign",n[1],["start","middle","end"]);break;case"size":o.percent(e,t);break;case"align":o.alt(e,t,["start","middle","end","left","right"])}},/:/,/\s/),t.region=o.get("region",null),t.vertical=o.get("vertical",""),t.line=o.get("line","auto"),t.lineAlign=o.get("lineAlign","start"),t.snapToLines=o.get("snapToLines",!0),t.size=o.get("size",100),t.align=o.get("align","center"),t.position=o.get("position","auto"),t.positionAlign=o.get("positionAlign",{start:"start",left:"start",middle:"middle",end:"end",right:"end",center:"center"},t.align),i()})(e,t))):o(new r(r.Errors.BadTimeStamp,"Malformed time stamp (time stamps must be separated by '--\x3e'): "+s)))})(t,i.cue,i.regionList,function(){i.state="CUETEXT",A()},function(e){i.reportOrThrowError(e),i.cue=null,i.state="BADCUE",A()});break;case"CUETEXT":var e=-1!==t.indexOf("--\x3e");if(!t||e&&(S=!0)){i.oncue&&i.oncue(i.cue),i.cue=null,i.state="ID",A();break}i.cue.text&&(i.cue.text+="\n"),i.cue.text+=t,A();break;case"BADCUE":t||(i.state="ID"),A()}else i.flush()},function(){if(++l<1e3)return I();setTimeout(function(){l=0,I()})});return A(),this},flush:function(){var e=this;try{if(e.buffer+=e.decoder.decode(),(e.cue||"HEADER"===e.state)&&(e.buffer+="\n\n",e.parse()),"INITIAL"===e.state)throw new r(r.Errors.BadSignature)}catch(t){e.reportOrThrowError(t)}return e.onflush&&e.onflush(),this}},e.WebVTT=m})(this)},20344:function(e,t,a){e.exports&&(this.VTTCue=this.VTTCue||a(78684).VTTCue),(function(e){e.VTTCue.prototype.toJSON=function(){var e={},t=this;return Object.keys(this).forEach(function(a){"getCueAsHTML"!==a&&"hasBeenReset"!==a&&"displayState"!==a&&(e[a]=t[a])}),e},e.VTTCue.create=function(t){if(!t.hasOwnProperty("startTime")||!t.hasOwnProperty("endTime")||!t.hasOwnProperty("text"))throw new Error("You must at least have start time, end time, and text.");var a=new e.VTTCue(t.startTime,t.endTime,t.text);for(var i in t)a.hasOwnProperty(i)&&(a[i]=t[i]);return a},e.VTTCue.fromJSON=function(e){return this.create(JSON.parse(e))}})(this)},78684:function(){!(function(e){var t={"":!0,lr:!0,rl:!0},a={start:!0,middle:!0,end:!0,left:!0,right:!0};function i(e){return"string"==typeof e&&(!!a[e.toLowerCase()]&&e.toLowerCase())}function o(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var i in a)e[i]=a[i]}return e}function n(e,a,n){var r=this,E=/MSIE\s8\.0/.test(navigator.userAgent),_={};E?r=document.createElement("custom"):_.enumerable=!0,r.hasBeenReset=!1;var T="",s=!1,S=e,l=a,I=n,A=null,u="",d=!0,O="auto",c="start",N=50,R="middle",m=50,L="middle";if(Object.defineProperty(r,"id",o({},_,{get:function(){return T},set:function(e){T=""+e}})),Object.defineProperty(r,"pauseOnExit",o({},_,{get:function(){return s},set:function(e){s=!!e}})),Object.defineProperty(r,"startTime",o({},_,{get:function(){return S},set:function(e){if("number"!=typeof e)throw new TypeError("Start time must be set to a number.");S=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"endTime",o({},_,{get:function(){return l},set:function(e){if("number"!=typeof e)throw new TypeError("End time must be set to a number.");l=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"text",o({},_,{get:function(){return I},set:function(e){I=""+e,this.hasBeenReset=!0}})),Object.defineProperty(r,"region",o({},_,{get:function(){return A},set:function(e){A=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"vertical",o({},_,{get:function(){return u},set:function(e){var a=(function(e){return"string"==typeof e&&!!t[e.toLowerCase()]&&e.toLowerCase()})(e);if(!1===a)throw new SyntaxError("An invalid or illegal string was specified.");u=a,this.hasBeenReset=!0}})),Object.defineProperty(r,"snapToLines",o({},_,{get:function(){return d},set:function(e){d=!!e,this.hasBeenReset=!0}})),Object.defineProperty(r,"line",o({},_,{get:function(){return O},set:function(e){if("number"!=typeof e&&"auto"!==e)throw new SyntaxError("An invalid number or illegal string was specified.");O=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"lineAlign",o({},_,{get:function(){return c},set:function(e){var t=i(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");c=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"position",o({},_,{get:function(){return N},set:function(e){if(e<0||e>100)throw new Error("Position must be between 0 and 100.");N=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"positionAlign",o({},_,{get:function(){return R},set:function(e){var t=i(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");R=t,this.hasBeenReset=!0}})),Object.defineProperty(r,"size",o({},_,{get:function(){return m},set:function(e){if(e<0||e>100)throw new Error("Size must be between 0 and 100.");m=e,this.hasBeenReset=!0}})),Object.defineProperty(r,"align",o({},_,{get:function(){return L},set:function(e){var t=i(e);if(!t)throw new SyntaxError("An invalid or illegal string was specified.");L=t,this.hasBeenReset=!0}})),r.displayState=void 0,E)return r}n.prototype.getCueAsHTML=function(){return WebVTT.convertCueToDOMTree(window,this.text)},e.VTTCue=e.VTTCue||n})(this)},67385:function(e,t,a){e.exports&&(this.VTTRegion=a(91615).VTTRegion),(function(e){e.VTTRegion.create=function(t){var a=new e.VTTRegion;for(var i in t)a.hasOwnProperty(i)&&(a[i]=t[i]);return a},e.VTTRegion.fromJSON=function(e){return this.create(JSON.parse(e))}})(this)},91615:function(){!(function(e){var t={"":!0,up:!0};function a(e){return"number"==typeof e&&e>=0&&e<=100}e.VTTRegion=e.VTTRegion||function(){var e=100,i=3,o=0,n=100,r=0,E=100,_="";Object.defineProperties(this,{width:{enumerable:!0,get:function(){return e},set:function(t){if(!a(t))throw new Error("Width must be between 0 and 100.");e=t}},lines:{enumerable:!0,get:function(){return i},set:function(e){if("number"!=typeof e)throw new TypeError("Lines must be set to a number.");i=e}},regionAnchorY:{enumerable:!0,get:function(){return n},set:function(e){if(!a(e))throw new Error("RegionAnchorX must be between 0 and 100.");n=e}},regionAnchorX:{enumerable:!0,get:function(){return o},set:function(e){if(!a(e))throw new Error("RegionAnchorY must be between 0 and 100.");o=e}},viewportAnchorY:{enumerable:!0,get:function(){return E},set:function(e){if(!a(e))throw new Error("ViewportAnchorY must be between 0 and 100.");E=e}},viewportAnchorX:{enumerable:!0,get:function(){return r},set:function(e){if(!a(e))throw new Error("ViewportAnchorX must be between 0 and 100.");r=e}},scroll:{enumerable:!0,get:function(){return _},set:function(e){var a=(function(e){return"string"==typeof e&&!!t[e.toLowerCase()]&&e.toLowerCase()})(e);if(!1===a)throw new SyntaxError("An invalid or illegal string was specified.");_=a}}})}})(this)},92890:(e,t,a)=>{"use strict";e.exports=a.p+"images/anonymous.png"},5885:(e,t,a)=>{"use strict";e.exports=a.p+"images/calendar_placeholder.png"},44636:(e,t,a)=>{"use strict";e.exports=a.p+"images/default_avatar.png"},32706:(e,t,a)=>{"use strict";e.exports=a.p+"images/empty.png"},92086:(e,t,a)=>{"use strict";e.exports=a.p+"images/library_placeholder.png"},25144:(e,t,a)=>{"use strict";e.exports=a.p+"images/logo.png"},9387:(e,t,a)=>{"use strict";e.exports=a.p+"images/stremio_symbol.png"},22179:()=>{},68048:e=>{function t(e,t,a,i,o,n,r){try{var E=e[n](r),_=E.value}catch(e){return void a(e)}E.done?t(_):Promise.resolve(_).then(i,o)}e.exports=function(e){return function(){var a=this,i=arguments;return new Promise(function(o,n){var r=e.apply(a,i);function E(e){t(r,o,n,E,_,"next",e)}function _(e){t(r,o,n,E,_,"throw",e)}E(void 0)})}},e.exports.__esModule=!0,e.exports.default=e.exports},28161:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},79556:(e,t,a)=>{var i=a(56811).default;function o(){"use strict";e.exports=o=function(){return a},e.exports.__esModule=!0,e.exports.default=e.exports;var t,a={},n=Object.prototype,r=n.hasOwnProperty,E=Object.defineProperty||function(e,t,a){e[t]=a.value},_="function"==typeof Symbol?Symbol:{},T=_.iterator||"@@iterator",s=_.asyncIterator||"@@asyncIterator",S=_.toStringTag||"@@toStringTag";function l(e,t,a){return Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(t){l=function(e,t,a){return e[t]=a}}function I(e,t,a,i){var o=t&&t.prototype instanceof R?t:R,n=Object.create(o.prototype),r=new W(i||[]);return E(n,"_invoke",{value:B(e,a,r)}),n}function A(e,t,a){try{return{type:"normal",arg:e.call(t,a)}}catch(e){return{type:"throw",arg:e}}}a.wrap=I;var u="suspendedStart",d="suspendedYield",O="executing",c="completed",N={};function R(){}function m(){}function L(){}var D={};l(D,T,function(){return this});var p=Object.getPrototypeOf,C=p&&p(p(y([])));C&&C!==n&&r.call(C,T)&&(D=C);var h=L.prototype=R.prototype=Object.create(D);function f(e){["next","throw","return"].forEach(function(t){l(e,t,function(e){return this._invoke(t,e)})})}function P(e,t){function a(o,n,E,_){var T=A(e[o],e,n);if("throw"!==T.type){var s=T.arg,S=s.value;return S&&"object"==i(S)&&r.call(S,"__await")?t.resolve(S.__await).then(function(e){a("next",e,E,_)},function(e){a("throw",e,E,_)}):t.resolve(S).then(function(e){s.value=e,E(s)},function(e){return a("throw",e,E,_)})}_(T.arg)}var o;E(this,"_invoke",{value:function(e,i){function n(){return new t(function(t,o){a(e,i,t,o)})}return o=o?o.then(n,n):n()}})}function B(e,a,i){var o=u;return function(n,r){if(o===O)throw Error("Generator is already running");if(o===c){if("throw"===n)throw r;return{value:t,done:!0}}for(i.method=n,i.arg=r;;){var E=i.delegate;if(E){var _=g(E,i);if(_){if(_===N)continue;return _}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(o===u)throw o=c,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);o=O;var T=A(e,a,i);if("normal"===T.type){if(o=i.done?c:d,T.arg===N)continue;return{value:T.arg,done:i.done}}"throw"===T.type&&(o=c,i.method="throw",i.arg=T.arg)}}}function g(e,a){var i=a.method,o=e.iterator[i];if(o===t)return a.delegate=null,"throw"===i&&e.iterator.return&&(a.method="return",a.arg=t,g(e,a),"throw"===a.method)||"return"!==i&&(a.method="throw",a.arg=new TypeError("The iterator does not provide a '"+i+"' method")),N;var n=A(o,e.iterator,a.arg);if("throw"===n.type)return a.method="throw",a.arg=n.arg,a.delegate=null,N;var r=n.arg;return r?r.done?(a[e.resultName]=r.value,a.next=e.nextLoc,"return"!==a.method&&(a.method="next",a.arg=t),a.delegate=null,N):r:(a.method="throw",a.arg=new TypeError("iterator result is not an object"),a.delegate=null,N)}function v(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function M(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function W(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(v,this),this.reset(!0)}function y(e){if(e||""===e){var a=e[T];if(a)return a.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,n=function a(){for(;++o<e.length;)if(r.call(e,o))return a.value=e[o],a.done=!1,a;return a.value=t,a.done=!0,a};return n.next=n}}throw new TypeError(i(e)+" is not iterable")}return m.prototype=L,E(h,"constructor",{value:L,configurable:!0}),E(L,"constructor",{value:m,configurable:!0}),m.displayName=l(L,S,"GeneratorFunction"),a.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},a.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,L):(e.__proto__=L,l(e,S,"GeneratorFunction")),e.prototype=Object.create(h),e},a.awrap=function(e){return{__await:e}},f(P.prototype),l(P.prototype,s,function(){return this}),a.AsyncIterator=P,a.async=function(e,t,i,o,n){void 0===n&&(n=Promise);var r=new P(I(e,t,i,o),n);return a.isGeneratorFunction(t)?r:r.next().then(function(e){return e.done?e.value:r.next()})},f(h),l(h,S,"Generator"),l(h,T,function(){return this}),l(h,"toString",function(){return"[object Generator]"}),a.keys=function(e){var t=Object(e),a=[];for(var i in t)a.push(i);return a.reverse(),function e(){for(;a.length;){var i=a.pop();if(i in t)return e.value=i,e.done=!1,e}return e.done=!0,e}},a.values=y,W.prototype={constructor:W,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(M),!e)for(var a in this)"t"===a.charAt(0)&&r.call(this,a)&&!isNaN(+a.slice(1))&&(this[a]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var a=this;function i(i,o){return E.type="throw",E.arg=e,a.next=i,o&&(a.method="next",a.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var n=this.tryEntries[o],E=n.completion;if("root"===n.tryLoc)return i("end");if(n.tryLoc<=this.prev){var _=r.call(n,"catchLoc"),T=r.call(n,"finallyLoc");if(_&&T){if(this.prev<n.catchLoc)return i(n.catchLoc,!0);if(this.prev<n.finallyLoc)return i(n.finallyLoc)}else if(_){if(this.prev<n.catchLoc)return i(n.catchLoc,!0)}else{if(!T)throw Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return i(n.finallyLoc)}}}},abrupt:function(e,t){for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var n=o?o.completion:{};return n.type=e,n.arg=t,o?(this.method="next",this.next=o.finallyLoc,N):this.complete(n)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),N},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var a=this.tryEntries[t];if(a.finallyLoc===e)return this.complete(a.completion,a.afterLoc),M(a),N}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var a=this.tryEntries[t];if(a.tryLoc===e){var i=a.completion;if("throw"===i.type){var o=i.arg;M(a)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,a,i){return this.delegate={iterator:y(e),resultName:a,nextLoc:i},"next"===this.method&&(this.arg=t),N}},a}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},56811:e=>{function t(a){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(a)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},49507:(e,t,a)=>{var i=a(79556)();e.exports=i;try{regeneratorRuntime=i}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=i:Function("r","regeneratorRuntime = r")(i)}},97500:(e,t)=>{var a;!(function(){"use strict";var i={}.hasOwnProperty;function o(){for(var e="",t=0;t<arguments.length;t++){var a=arguments[t];a&&(e=r(e,n(a)))}return e}function n(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return o.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var a in e)i.call(e,a)&&e[a]&&(t=r(t,a));return t}function r(e,t){return t?e?e+" "+t:e+t:e}e.exports?(o.default=o,e.exports=o):void 0===(a=function(){return o}.apply(t,[]))||(e.exports=a)})()},10954:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>n});var i=a(30758),o={symbol:{viewBox:"0 0 512 512",paths:[{d:"M267.90500000000003 50.096c-2.997-2.831-7.045-4.42-11.263-4.42s-8.267 1.589-11.263 4.42L54.21 232.425c-2.969 2.858-4.634 6.719-4.634 10.742s1.665 7.884 4.634 10.742l191.169 182.329c2.996 2.832 7.045 4.421 11.263 4.421s8.266-1.589 11.263-4.421L459.074 253.90900000000002c2.969-2.858 4.634-6.719 4.634-10.742s-1.665-7.884-4.634-10.742z m60.101 202.007a10.56 10.56 0 0 0 3.461-3.724c0.82-1.49 1.25-3.148 1.25-4.831s-0.43-3.342-1.25-4.832a10.55 10.55 0 0 0-3.461-3.724L243.785 178.81a11.3 11.3 0 0 0-5.568-1.871c-2-0.127-3.999 0.273-5.778 1.156a10.77 10.77 0 0 0-4.309 3.849 10.1 10.1 0 0 0-1.589 5.422V299.729a10.1 10.1 0 0 0 1.589 5.423 10.77 10.77 0 0 0 4.309 3.848 11.4 11.4 0 0 0 5.778 1.157c2-0.127 3.926-0.774 5.568-1.872z",style:{fill:"currentcolor",fillRule:"evenodd",clipRule:"evenodd"}}]},"imdb-outline":{viewBox:"0 0 512 512",paths:[{d:"M450.8800000000001 116.22299999999996H62.41999999999996a40.5 40.5 0 0 0-14.966 2.793 39.1 39.1 0 0 0-12.689 8.068c-3.629 3.462-6.505 7.575-8.459 12.102a35.6 35.6 0 0 0-2.929 14.275v180.17c0.025 9.867 4.148 19.326 11.463 26.303 7.317 6.98 17.234 10.9 27.58 10.93h388.46c10.34-0.03 20.26-3.95 27.58-10.93 7.31-6.977 11.44-16.436 11.46-26.303v-180.17c-0.02-9.869-4.15-19.326-11.46-26.305-7.32-6.978-17.24-10.909-27.58-10.933m18.92 217.408c0 2.367-0.48 4.715-1.43 6.911a17.8 17.8 0 0 1-4.11 5.855 18.6 18.6 0 0 1-6.14 3.917 19.8 19.8 0 0 1-7.24 1.369H62.41999999999996c-4.998-0.067-9.771-1.987-13.307-5.362s-5.551-7.928-5.622-12.69v-180.17c0.068-4.769 2.084-9.323 5.619-12.695 3.536-3.372 8.311-5.295 13.31-5.36h388.46c2.48 0 4.94 0.467 7.24 1.374a18.9 18.9 0 0 1 6.14 3.914 18.1 18.1 0 0 1 4.11 5.857 17.35 17.35 0 0 1 1.43 6.91z",style:{fill:"currentcolor"}},{d:"M84.89599999999996 180.54700000000003h24.453v118.105h-24.453z",style:{fill:"currentcolor"}},{d:"M182.30700000000002 260.28599999999994l-23.662-79.739h-30.764v118.105h21.3v-82.372l22.873 69.205h20.507l22.874-70.713v83.877h21.295V180.54700000000003h-30.76z",style:{fill:"currentcolor"}},{d:"M298.255 180.54499999999996H257.24v118.105h41.015c13.055 0.905 25.956-3.151 35.887-11.284 4.47-3.952 7.958-8.806 10.21-14.206a37.4 37.4 0 0 0 2.807-17.013v-33.475a39.15 39.15 0 0 0-2.985-16.946c-2.243-5.383-5.662-10.248-10.029-14.274-10.068-7.866-22.906-11.767-35.89-10.907m24.845 76.355a18.04 18.04 0 0 1-1.37 8.203 18.85 18.85 0 0 1-4.939 6.843c-5.202 3.75-11.631 5.617-18.142 5.267h-18.14v-75.23h18.14c6.51-0.35 12.939 1.516 18.141 5.267a18.8 18.8 0 0 1 4.938 6.841 18 18 0 0 1 1.371 8.204z",style:{fill:"currentcolor"}},{d:"M407.0999999999999 212.89199999999994c-4.68 0.048-9.24 1.494-13.02 4.137-3.22 2.242-5.79 5.216-7.49 8.651v-45.512h-23.664v118.482h23.664v-11.284c1.61 3.865 4.46 7.143 8.15 9.373 3.68 2.228 8 3.292 12.36 3.04 4.15 0.21 8.27-0.536 12.05-2.173a25.64 25.64 0 0 0 9.64-7.231c5.87-7.87 8.66-17.452 7.89-27.082v-13.541c0.82-9.634-1.97-19.233-7.89-27.081-2.53-3.163-5.82-5.701-9.6-7.401a27.2 27.2 0 0 0-12.09-2.378m6.31 50.401c0.29 4.164-0.97 8.291-3.55 11.66a11.36 11.36 0 0 1-4.55 3.354c-1.81 0.724-3.76 0.994-5.71 0.784-2.36 0.381-4.73-0.38-7.09-1.505a7.8 7.8 0 0 1-2.61-1.644 7.3 7.3 0 0 1-1.73-2.493 15.7 15.7 0 0 1-1.58-7.146v-19.183c-0.05-2.466 0.5-4.91 1.58-7.147 0.78-1.984 2.33-3.603 4.34-4.513a16.7 16.7 0 0 1 7.09-1.882c1.97-0.051 3.91 0.33 5.69 1.113s3.34 1.948 4.57 3.402c2.58 3.511 3.84 7.756 3.55 12.036z",style:{fill:"currentcolor"}}]},imdb:{viewBox:"0 0 512 512",paths:[{d:"M295.217 206.75900000000001c-1.295-0.665-3.787-0.95-7.375-0.95v74.053c4.784 0 7.774-0.856 8.871-2.567 1.096-1.711 1.694-6.274 1.694-13.784v-43.728c0-5.133-0.199-8.366-0.598-9.792a5 5 0 0 0-0.944-1.872 5.3 5.3 0 0 0-1.648-1.36",style:{fill:"currentcolor"}},{d:"M384.41999999999996 242.977v26.713c0 5.038-0.3 8.27-0.79 9.506-0.5 1.331-3.19 1.996-4.99 1.996-1.79 0-4.282-0.76-4.88-1.996v-45.25c0.498-1.14 3.19-1.901 4.88-1.901 1.7 0 4.19 0.856 4.79 2.187 0.69 1.425 0.99 4.372 0.99 8.745",style:{fill:"currentcolor"}},{d:"M46.53899999999999 167.68800000000002a24.1 24.1 0 0 1 1.996-9.608 25 25 0 0 1 5.704-8.144 26.4 26.4 0 0 1 8.54-5.44 27.4 27.4 0 0 1 10.073-1.904h367.988c3.45-0.005 6.87 0.642 10.07 1.901 3.19 1.26 6.1 3.109 8.54 5.44 2.45 2.332 4.38 5.1 5.71 8.146a24.3 24.3 0 0 1 1.99 9.609v150.388c0 3.297-0.68 6.562-1.99 9.609a25.1 25.1 0 0 1-5.71 8.146 26.5 26.5 0 0 1-8.54 5.44 27.4 27.4 0 0 1-10.07 1.902H72.85199999999998a27.4 27.4 0 0 1-10.073-1.904 26.4 26.4 0 0 1-8.54-5.44 25 25 0 0 1-5.704-8.145 24.1 24.1 0 0 1-1.996-9.608z m52.626 131.566h32.892V186.511h-32.892zM194.75 239.175l7.375-52.664h41.563V299.349H215.88l-0.1-76.144-11.163 76.144h-19.834l-11.662-74.528-0.1 74.528h-27.907V186.511h41.263a725 725 0 0 1 3.788 24.05z m62.095 60.079V186.511h51.33c5.547-0.01 10.871 2.074 14.812 5.796s6.176 8.781 6.219 14.072v73.007a19.1 19.1 0 0 1-1.614 7.642 19.9 19.9 0 0 1-4.568 6.465 21 21 0 0 1-6.821 4.295 21.8 21.8 0 0 1-8.028 1.466z m136.345-84.51h-2.09c-3.34-0.012-6.63 0.701-9.64 2.085a21.8 21.8 0 0 0-7.701 5.9v-36.218h-31.496v111.412h29.502l1.894-6.939a21.4 21.4 0 0 0 7.671 6.165 22.5 22.5 0 0 0 9.77 2.2h2.09c11.76 0 21.33-8.841 21.33-19.678v-45.249c0-10.932-9.47-19.678-21.33-19.678",style:{fill:"currentcolor",fillRule:"evenodd",clipRule:"evenodd"}}]},reddit:{viewBox:"0 0 512 512",paths:[{d:"M310.32000000000016 118.852c4.55 18.419 21.9 32.139 42.62 32.139 24.18 0 43.78-18.692 43.78-41.749 0-23.056-19.6-41.748-43.78-41.748-21.15 0-38.79 14.288-42.89 33.293-35.41 3.621-63.06 32.255-63.06 66.958v0.214c-38.51 1.547-73.67 11.999-101.59 28.498-10.36-7.652-23.38-12.213-37.5-12.213-33.89 0-61.36 26.188-61.36 58.503 0 23.448 14.45 43.646 35.32 52.982 2.03 67.916 79.65 122.544 175.12 122.544 95.48 0 173.2-54.686 175.12-122.662 20.72-9.394 35.05-29.534 35.05-52.845 0-32.314-27.47-58.503-61.36-58.503-14.06 0-27.01 4.522-37.36 12.116-28.16-16.617-63.71-27.069-102.62-28.459v-0.155c0-24.858 19.38-45.488 44.51-48.874zM142.94000000000005 279.876c1.03-21.217 15.8-37.501 32.98-37.501s30.32 17.204 29.29 38.42c-1.02 21.217-13.85 28.928-31.05 28.928-17.21 0-32.25-8.631-31.22-29.847m195.13-37.501c17.2 0 31.98 16.284 32.99 37.501 1.02 21.216-14.04 29.847-31.22 29.847s-30.03-7.691-31.06-28.928c-1.02-21.216 12.09-38.42 29.29-38.42m-20.45 86.588c3.23 0.314 5.29 3.504 4.03 6.362-10.58 24.093-35.53 41.024-64.67 41.024-29.12 0-54.06-16.931-64.65-41.024-1.26-2.858 0.79-6.048 4.02-6.362 18.88-1.82 39.31-2.818 60.63-2.818 21.33 0 41.73 0.998 60.64 2.818",style:{fill:"currentcolor"}}]},x:{viewBox:"0 0 512 512",paths:[{d:"M285.28999999999996 220.538l111.31-123.575h-26.37l-96.66 107.298-77.19-107.298h-89.04l116.73 162.254-116.73 129.586h26.38l102.07-113.31 81.53 113.31h89.03L285.2800000000002 220.538z m-36.13 40.108l-11.83-16.156-94.11-128.562h40.52l75.95 103.753 11.83 16.157 98.72 134.863h-40.51l-80.57-110.049z",style:{fill:"currentcolor"}}]},facebook:{viewBox:"0 0 512 512",paths:[{d:"M338.66999999999985 187.177h-54.52V151.90900000000002c0-13.404 8.77-16.826 15.85-16.826h38.67V78.046h-54.52c-18.29-1.228-36.34 4.52-50.19 15.982s-22.36 27.699-23.67 45.143c-0.2 3.102-0.2 6.214 0 9.316v38.595h-35.18v60.364h35.18v169.496h73.86V247.541h49.24z",style:{fill:"currentcolor"}}]},youtube:{viewBox:"0 0 512 512",paths:[{d:"M476.2199999999998 153.619c0-37.264-28.71-67.21-64.29-67.21-48.14-2.186-97.18-2.946-147.32-2.946h-15.64c-50.04 0-99.18 0.856-147.22 2.947-35.38 0-64.19 30.135-64.19 67.399-2.19 29.469-3.09 58.938-3.09 88.408-0.1 29.469 0.9 59.033 2.99 88.502 0 37.264 28.71 67.494 64.19 67.494 50.54 2.282 102.36 3.232 155.09 3.137 52.83 0.19 104.52-0.855 155.09-3.137 35.48 0 64.29-30.23 64.29-67.494 2.09-29.564 3.09-59.033 2.99-88.598 0.1-29.469-0.8-58.938-2.89-88.502m-261.94 169.875V160.748l125.88 81.278z",style:{fill:"currentcolor"}}]},vlc:{viewBox:"0 0 512 512",paths:[{d:"M385.9200000000001 309.1399999999999c-7.87-23.86-7.97-23.77-33.89-22.44h-0.79c-4.79 0-7.18 1.52-5.88 6.75 1.79 7.23-1.7 12.64-7.18 17.3-7.78 6.47-17.14 10.27-26.91 13.12-29.21 8.46-59.01 8.94-88.81 4.56-16.54-2.47-32.89-6.27-46.35-16.92-4.88-3.8-8.57-8.27-8.67-14.45-0.2-10.36-0.1-10.36-11.56-10.26-2.79 0-5.48 0.28-8.27 0.09-9.07-0.66-14.06 3.23-16.65 11.6-9.67 30.61-19.93 60.93-29.8 91.45a74 74 0 0 0-3.39 15.3c-0.6 6.37 2.29 10.56 9.87 10.65 7.38 0.19 14.75 1.14 22.13 1.14 42.56 0.1 85.12 0.13 127.68 0.1 45.05 0 90 0.09 135.05-0.1 23.82-0.09 27.11-4.47 20.13-26.14-8.77-27.28-17.64-54.47-26.71-81.75",style:{fill:"currentcolor"}},{d:"M201.4300000000003 186.50999999999976c-4.78 15.59-9.67 31.11-14.65 46.58-3.69 11.6-2.19 15.78 9.27 21.39 4.89 2.33 9.99 4.24 15.25 5.7a128.9 128.9 0 0 0 44.75 4.75c5.98 0 12.06 0.48 18.04-0.09 16.74-1.52 33.29-3.8 47.74-12.93 4.19-2.66 8.28-6.08 6.68-11.5-5.68-18.63-11.66-37.08-17.44-55.61-0.8-2.48-1.6-4.19-5.18-2.57-22.93 10.55-47.35 9.7-71.77 7.41-8.47-0.76-17.14-1.8-24.42-6.36-5.18-3.24-6.77-1.72-8.27 3.23",style:{fill:"currentcolor"}},{d:"M284.0600000000004 121.48999999999978c5.18-1.24 6.28-4.19 4.68-8.85-2.79-8.17-4.98-16.54-7.87-24.81-5.08-14.73-7.48-16.35-23.52-16.35-17.35 0-20.74 2.38-25.72 18.16-2.39 7.79-4.68 15.59-7.28 23.29-1.49 4.37-0.19 7.22 4.39 8.37 18.13 4.47 37.15 4.54 55.32 0.19",style:{fill:"currentcolor"}}]},trakt:{viewBox:"0 0 512 512",paths:[{d:"M116.10999999999967 367.319c27.46 28.386 63.63 47.763 103.34 55.361s80.91 3.027 117.73-13.058l-132.86-126.433z",style:{fill:"currentcolor"}},{d:"M203.6199999999999 206.665l-100.67 95.728-13.45-12.834 105.95-101.051 123.69-117.971c-38.8-12.603-80.81-13.015-119.88-1.176s-73.12 35.306-97.18 66.958-36.85 69.825-36.49 108.919c0.35 39.092 13.83 77.047 38.46 108.298l100.37-95.727 6.88 6.274 143.72 137.079a57.6 57.6 0 0 0 8.17-5.038l-158.87-151.529-96.38 91.925-13.46-12.833 109.84-104.759 6.88 6.274 167.74 159.704c2.59-1.901 4.89-4.087 7.28-5.988l-180.9-172.538z",style:{fill:"currentcolor"}},{d:"M399.6700000000001 366.085c20.08-21.212 34.65-46.619 42.55-74.18a174.36 174.36 0 0 0 2.98-84.509c-5.96-28.003-18.71-54.285-37.24-76.733-18.54-22.449-42.33-40.437-69.48-52.52L217.76999999999953 192.977z m-135.55-139.931l-13.45-12.834 95.08-90.689 13.46 12.834z m90.2-124.531l-109.54 104.473-13.45-12.834L340.8699999999999 88.79z",style:{fill:"currentcolor"}}]},"in-cinema":{viewBox:"0 0 512 512",paths:[{d:"M457.5799999999999 186.607l-37.87-36.124c-3.04-2.847-7.09-4.511-11.34-4.67-4.26-0.158-8.43 1.203-11.68 3.815-5.04 4.119-11.52 6.276-18.14 6.039s-12.91-2.849-17.61-7.314c-4.69-4.466-7.45-10.458-7.71-16.776-0.27-6.319 1.97-12.502 6.28-17.312 2.74-3.113 4.16-7.085 3.99-11.145-0.16-4.06-1.91-7.914-4.89-10.814l-37.67-36.124a17.1 17.1 0 0 0-5.54-3.534 17.7 17.7 0 0 0-6.53-1.242c-2.24 0-4.45 0.422-6.52 1.242-2.08 0.82-3.95 2.02-5.54 3.534l-60.3 57.512c-3.69 3.528-6.49 7.822-8.17 12.549a6.4 6.4 0 0 1-1.6 2.46 6.9 6.9 0 0 1-2.59 1.532 33.35 33.35 0 0 0-13.15 7.89l-154.69 147.537a16.2 16.2 0 0 0-3.71 5.275 15.57 15.57 0 0 0 0 12.455 16.2 16.2 0 0 0 3.71 5.275l37.48 36.123c3.04 2.847 7.08 4.513 11.34 4.67 4.25 0.159 8.42-1.201 11.68-3.814a26.5 26.5 0 0 1 8.54-5.503 27.5 27.5 0 0 1 10.1-1.96c3.46-0.013 6.89 0.626 10.1 1.881a26.5 26.5 0 0 1 8.59 5.435 25.2 25.2 0 0 1 5.75 8.158 24.1 24.1 0 0 1 2.02 9.635c0 3.308-0.68 6.584-2 9.64a25.2 25.2 0 0 1-5.72 8.172c-2.74 3.112-4.17 7.086-4 11.145s1.91 7.915 4.89 10.814l37.78 36.028a17.1 17.1 0 0 0 5.53 3.535 17.805 17.805 0 0 0 13.06 0c2.07-0.82 3.94-2.02 5.53-3.535l154.69-147.536c3.73-3.524 6.56-7.817 8.27-12.548 0.33-0.927 0.88-1.769 1.61-2.459a6.8 6.8 0 0 1 2.58-1.533c4.95-1.601 9.46-4.268 13.15-7.795l60.3-57.513c3.16-3.088 4.94-7.233 4.94-11.55s-1.78-8.462-4.94-11.55m-195.95-24.241a13.8 13.8 0 0 1-4.45 2.85 14.3 14.3 0 0 1-5.27 1.001c-1.8 0-3.59-0.34-5.26-1.001a13.8 13.8 0 0 1-4.45-2.85l-9.87-9.411c-2.68-2.338-4.29-5.594-4.46-9.057-0.18-3.462 1.09-6.849 3.53-9.422 2.43-2.573 5.83-4.124 9.47-4.312 3.63-0.189 7.19 0.998 9.9 3.303 0.36 0.293 0.68 0.611 0.99 0.951l9.87 9.411a13.2 13.2 0 0 1 2.99 4.249 12.52 12.52 0 0 1 0 10.038 13.2 13.2 0 0 1-2.99 4.25m37.78 35.934a13.8 13.8 0 0 1-4.46 2.849c-1.66 0.66-3.46 1.001-5.26 1.001-1.81 0-3.6-0.341-5.26-1.001a13.8 13.8 0 0 1-4.46-2.849l-9.37-8.936c-2.36-2.498-3.63-5.766-3.54-9.128s1.54-6.564 4.03-8.943 5.85-3.753 9.38-3.839c3.52-0.087 6.95 1.121 9.57 3.373l9.37 8.936c2.54 2.475 3.96 5.803 3.96 9.268s-1.42 6.793-3.96 9.269m37.97 36.028a13.8 13.8 0 0 1-4.45 2.85 14.3 14.3 0 0 1-5.27 1.001c-1.8 0-3.59-0.34-5.26-1.001a13.8 13.8 0 0 1-4.45-2.85l-9.37-8.936c-2.69-2.338-4.29-5.594-4.46-9.056-0.18-3.462 1.09-6.85 3.53-9.423 2.43-2.573 5.83-4.124 9.47-4.312 3.63-0.189 7.18 0.998 9.9 3.304q0.525 0.439 0.99 0.95l9.37 9.031c2.53 2.46 3.96 5.771 3.96 9.221s-1.43 6.762-3.96 9.221m38.08 36.409a14 14 0 0 1-4.46 2.85 14.346 14.346 0 0 1-10.53 0 13.9 13.9 0 0 1-4.45-2.85l-9.87-9.411a13.2 13.2 0 0 1-3.09-4.18 12.6 12.6 0 0 1-1.18-4.99c-0.04-1.722 0.27-3.435 0.91-5.042a13.1 13.1 0 0 1 2.86-4.325 13.7 13.7 0 0 1 4.39-2.95c1.64-0.7 3.43-1.083 5.23-1.127 1.81-0.044 3.6 0.251 5.28 0.869 1.69 0.618 3.23 1.547 4.54 2.732l0.5 0.476 9.87 9.411a13.3 13.3 0 0 1 2.99 4.249 12.6 12.6 0 0 1 0 10.038 13.4 13.4 0 0 1-2.99 4.25",style:{fill:"currentcolor"}}]},remote:{viewBox:"0 0 512 512",paths:[{d:"M293.6199999999999 113.22a28.3 28.3 0 0 0-9.4-6.258 29.6 29.6 0 0 0-11.23-2.202c-4.03-0.091-8.03 0.614-11.75 2.069a29.3 29.3 0 0 0-9.88 6.391l-20.64 19.678-176.91 168.64a28.35 28.35 0 0 0-7.82 7.852 26.9 26.9 0 0 0-4.08 10.113c-0.65 3.593-0.55 7.274 0.3 10.83a27 27 0 0 0 4.62 9.895 25.4 25.4 0 0 0 2.99 3.423q45.75 44.916 91.5 87.076c5.05 4.961 11.96 7.806 19.22 7.913 7.24 0.107 14.24-2.534 19.45-7.342l1.5-1.426c5.88-4.658 10.76-10.267 16.74-15.02l181.7-173.393c15.75-15.02 16.75-29.944 2-43.158-28.41-28.899-57.91-57.037-88.31-85.081m-178.71 231.286c-2.59 0.227-5.21-0.035-7.7-0.772a20 20 0 0 1-6.78-3.524 19 19 0 0 1-4.87-5.739 18.3 18.3 0 0 1-2.18-7.076c-0.08-0.822-0.11-1.647-0.1-2.472-0.17-2.549 0.19-5.105 1.07-7.521a19 19 0 0 1 4.01-6.552 20.3 20.3 0 0 1 6.35-4.571 21 21 0 0 1 7.71-1.889h1.49c2.53-0.292 5.09-0.105 7.55 0.55 2.44 0.655 4.73 1.765 6.73 3.266a18.7 18.7 0 0 1 4.92 5.483 18 18 0 0 1 2.33 6.862c0.13 1.167 0.17 2.344 0.1 3.517 0.31 2.41 0.11 4.855-0.57 7.193a18.1 18.1 0 0 1-3.43 6.433 19.1 19.1 0 0 1-5.75 4.686 19.9 19.9 0 0 1-7.19 2.221c-1.3 0-2.5 0-3.69-0.095m47.14 45.915c-3.92 0.166-7.79-0.78-11.14-2.721-3.35-1.939-6.02-4.784-7.68-8.174a18.5 18.5 0 0 1-1.81-7.167c-0.02-0.825 0.01-1.651 0.1-2.471-0.41-4.813 1.2-9.584 4.46-13.271 3.27-3.687 7.94-5.991 12.98-6.407 1.06-0.095 2.13-0.095 3.19 0a21.3 21.3 0 0 1 7.83 1.386c2.48 0.948 4.74 2.353 6.66 4.136a19.5 19.5 0 0 1 4.5 6.257 18.5 18.5 0 0 1 1.64 7.423v1.426c0.29 4.94-1.49 9.786-4.95 13.474-3.46 3.69-8.3 5.92-13.49 6.204-0.75-0.076-1.52-0.107-2.29-0.095m0-90.879c-3.92 0.166-7.79-0.781-11.14-2.721s-6.02-4.784-7.68-8.174a18.5 18.5 0 0 1-1.81-7.167c-0.02-0.825 0.01-1.651 0.1-2.471-0.16-5.572 2.01-10.975 6.03-15.022 4.02-4.046 9.56-6.405 15.4-6.558h0.1c5.58 0.353 10.78 2.806 14.46 6.816 3.68 4.011 5.54 9.254 5.17 14.573v0.191c0.17 2.546-0.18 5.101-1.04 7.518a19.15 19.15 0 0 1-3.99 6.563 20.2 20.2 0 0 1-6.32 4.604 21.1 21.1 0 0 1-7.68 1.943 8.6 8.6 0 0 1-1.6-0.095m47.15 44.964c-5.19 0.267-10.26-1.433-14.13-4.73-3.86-3.296-6.21-7.919-6.51-12.856v-1.997c0.1-5.305 2.41-10.356 6.4-14.045 4-3.688 9.37-5.714 14.93-5.632h0.3c5.56 0.003 10.92 2.049 14.94 5.713 4.03 3.663 6.42 8.663 6.69 13.964a19.8 19.8 0 0 1-1.84 7.732 20.4 20.4 0 0 1-4.83 6.459 21.4 21.4 0 0 1-7.05 4.197 22.2 22.2 0 0 1-8.21 1.29 2 2 0 0 0-0.69-0.095m55.81-59.889c-12.14-0.095-23.97-3.618-34.02-10.127-10.03-6.508-17.83-15.709-22.38-26.438-4.56-10.731-5.68-22.509-3.22-33.846 2.45-11.338 8.38-21.727 17.02-29.854 8.65-8.126 19.63-13.626 31.55-15.804s24.26-0.937 35.44 3.567 20.71 12.069 27.39 21.738 10.2 21.009 10.12 32.586c0.02 7.616-1.55 15.16-4.59 22.2-3.04 7.041-7.51 13.442-13.14 18.836a61.1 61.1 0 0 1-19.71 12.6 63.3 63.3 0 0 1-23.26 4.447h-1.2z m167.95-189.173c-8.91-12.871-20.46-23.898-33.93-32.424-13.48-8.525-28.62-14.374-44.51-17.199-15.75-0.95-22.63 3.708-23.53 12.168 0 10.267 6.88 14.07 15.75 15.02 9.78 1.126 19.18 4.308 27.51 9.316 13.14 6.781 24.53 16.26 33.35 27.751 8.82 11.492 14.86 24.708 17.68 38.698-0.05 3.916 1.53 7.694 4.38 10.509 2.86 2.814 6.77 4.435 10.87 4.51h0.4c8.87 0 13.76-6.559 13.76-16.826-1.53-18.895-9.11-36.885-21.73-51.523m-93.19-3.803c-7.98 0-14.76 2.852-15.75 11.218-0.91 3.251-0.43 6.712 1.32 9.63 1.76 2.919 4.65 5.061 8.05 5.96 0.8 0.226 1.64 0.354 2.49 0.38 10.64 1.5 20.5 6.23 28.11 13.488 7.62 7.259 12.57 16.663 14.15 26.818 0.43 3.655 2.35 6.999 5.36 9.297 3.01 2.3 6.85 3.367 10.69 2.966 0.19 0 0.49-0.095 0.69-0.095 3.38-0.258 6.52-1.784 8.72-4.242 2.21-2.46 3.3-5.651 3.04-8.876-1.42-16.735-8.86-32.489-21.04-44.609s-28.36-19.867-45.83-21.935m-73.66 103.048c-4.19-0.192-8.38 0.405-12.33 1.76a32.4 32.4 0 0 0-10.68 6.131 30.5 30.5 0 0 0-7.39 9.564 29.1 29.1 0 0 0-2.99 11.538v2.852c-0.57 7.863 2.15 15.62 7.57 21.571 5.43 5.952 13.09 9.612 21.33 10.18 1.2 0.095 2.3 0.095 3.49 0.095 4.19 0.203 8.38-0.383 12.33-1.725a32.3 32.3 0 0 0 10.71-6.1 30.5 30.5 0 0 0 7.42-9.544 29.5 29.5 0 0 0 3.03-11.53c0.1-0.98 0.1-1.967 0-2.947 0.43-8.011-2.49-15.859-8.11-21.826s-13.49-9.569-21.89-10.019z",style:{fill:"currentcolor"}}]},link:{viewBox:"0 0 512 512",paths:[{d:"M472.9499999999998 95.53699999999992c-15.77-37.236-54.03-60.934-96.23-60.181-23.95-1.123-47.46 6.397-65.86 21.063-13.01 10.156-24.45 21.816-36.67 32.724-13.02 12.036-25.63 24.073-38.65 36.109-2.91 2.651-4.92 6.079-5.77 9.836s-0.48 7.668 1.03 11.228c1.14 3.277 3.29 6.149 6.18 8.232s6.37 3.278 9.99 3.428c7.5 0.38 14.59-3.009 19.73-8.651l62.7-58.677c25.24-24.448 66.25-24.824 92.28-1.504 11.79 11.186 18.46 26.375 18.53 42.238s-6.45 31.107-18.14 42.392a8.3 8.3 0 0 1-1.97 1.505c-29.17 27.833-58.36 54.915-87.54 82.373-4.79 4.17-9.94 7.944-15.39 11.284-13.58 6.967-29.29 9.129-44.38 6.099-15.08-3.029-28.56-11.052-38.04-22.648-2.58-4.226-6.68-7.424-11.52-9.011a22.35 22.35 0 0 0-14.9 0.36c-13.41 5.266-15.78 18.807-5.13 31.971 36.29 43.634 102.94 50.779 148.67 16.174 2.38-1.88 4.74-4.137 7.11-6.394 30.36-27.834 60.73-56.045 90.7-84.631 14.43-13.429 24.35-30.649 28.5-49.469 4.14-18.82 2.32-38.392-5.23-56.223m-224.39 241.1c-21.3 19.559-42.6 39.49-63.5 59.425-12.08 11.732-28.5 18.502-45.74 18.852s-33.94-5.74-46.54-16.97c-5.91-5.485-10.62-12.044-13.86-19.279a57 57 0 0 1-5.03-22.879 57.2 57.2 0 0 1 4.6-22.962c3.11-7.29 7.69-13.92 13.5-19.508l2.37-2.257c28.78-27.081 57.96-54.163 86.76-81.245a69 69 0 0 1 16.17-11.66c13.48-6.783 29.01-8.917 43.96-6.038s28.4 10.592 38.06 21.836a19 19 0 0 0 5.42 5.181c2.15 1.363 4.56 2.3 7.1 2.756 2.54 0.457 5.15 0.421 7.68-0.101 2.52-0.524 4.9-1.526 7.01-2.946 2.17-1.4 4.01-3.194 5.45-5.278 1.42-2.086 2.4-4.42 2.88-6.869s0.44-4.964-0.11-7.399a18.4 18.4 0 0 0-3.09-6.787c-0.39-0.752-1.18-1.504-1.58-2.256-17.87-20.644-43.58-33.697-71.52-36.305-27.94-2.609-55.82 5.441-77.55 22.388a41 41 0 0 0-4.33 3.385c-31.95 28.962-63.1 58.3-94.26 88.015-14.08 13.498-23.59 30.71-27.32 49.414s-1.48 38.046 6.42 55.528c7.86 17.946 21.21 33.216 38.3 43.816 17.1 10.6 37.15 16.04 57.53 15.62 25 1.04 49.45-7.18 68.23-22.95 24.85-21.82 48.51-45.137 72.56-67.705 3.03-2.586 5.08-6.038 5.87-9.839 0.79-3.8 0.25-7.742-1.53-11.226-2.34-4.551-6.46-8.045-11.48-9.733a21.25 21.25 0 0 0-15.34 0.702 17.6 17.6 0 0 0-7.49 5.267z",style:{fill:"currentcolor"}}]},"magnet-link":{viewBox:"0 0 512 512",paths:[{d:"M410.6300000000001 271.212c24.65-23.981 38.39-56.273 38.22-89.858-0.18-33.583-14.25-65.745-39.15-89.492-24.89-23.748-58.62-37.163-93.83-37.33-35.21-0.165-69.07 12.93-94.21 36.443",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"31.764",fill:"none"}},{d:"M347.6399999999994 211.131c8.35-7.967 13.05-18.773 13.05-30.039 0-11.268-4.7-22.073-13.05-30.04s-19.69-12.443-31.5-12.443-23.14 4.476-31.49 12.443",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"31.764",fill:"none"}},{d:"M190.2599999999993 421.885v-43.729",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"31.764",fill:"none"}},{d:"M102.94999999999982 384.524l31.49-30.04",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"31.764",fill:"none"}},{d:"M68.15999999999985 290.793h45.85",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"31.764",fill:"none"}},{d:"M284.75 151.055l-104.96 100.1c-5.57 5.296-13.11 8.27-20.98 8.27-7.86 0-15.41-2.974-20.98-8.27l-21.13-19.963c-5.55-5.313-8.67-12.509-8.67-20.011s3.12-14.697 8.67-20.01l105.06-100.1",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"31.764",fill:"none"}},{d:"M410.6300000000001 271.212l-104.95 100.195c-5.57 5.296-13.12 8.271-20.98 8.271-7.87 0-15.41-2.975-20.98-8.271l-20.93-20.058c-5.56-5.313-8.68-12.509-8.68-20.01 0-7.503 3.12-14.699 8.68-20.011l104.95-100.195",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"31.764",fill:"none"}},{d:"M148.79999999999927 161.605l62.99 60.08",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"31.764",fill:"none"}},{d:"M274.77999999999975 281.762l62.99 60.079",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"31.764",fill:"none"}}]},help:{viewBox:"0 0 512 512",paths:[{d:"M156.8699999999999 417.131c98.28 54.09 223.86 21.959 280.57-71.677 56.72-93.731 23.03-213.509-75.15-267.599-98.27-54.09-223.86-21.96-280.57 71.677-56.71 93.731-23.13 213.509 75.15 267.599",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M225.34000000000015 304.102c14.72 8.107 32.07 10.702 48.68 7.283s31.3-12.609 41.2-25.783c9.9-13.173 14.31-29.387 12.37-45.489-1.95-16.101-10.09-30.94-22.87-41.627s-29.26-16.461-46.26-16.198c-16.99 0.264-33.26 6.546-45.67 17.624-12.4 11.079-20.05 26.162-21.43 42.315-1.39 16.154 3.57 32.223 13.91 45.082 5.47 6.8 12.29 12.507 20.07 16.793",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M321.02999999999975 60.459l-46.95 119.588",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M313.64999999999964 201.816l85.12-98.58",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M120.48999999999978 391.749l85.12-98.579",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M245.1800000000003 314.941l-46.95 119.588",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M455.6800000000003 306.098l-125.38-44.774",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M307.47000000000025 298.971l103.46 81.088",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M108.32999999999993 114.836l103.36 81.183",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}},{d:"M188.85999999999967 233.662l-125.38-44.869",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34.354",fill:"none"}}]},"search-outline":{viewBox:"0 0 512 512",paths:[{d:"M222.058 60.83999999999992c-38.838 0.02-76.281 13.81-105.046 38.7s-46.797 59.09-50.587 95.96c-3.791 36.86 6.93 73.76 30.077 103.5 23.147 29.75 57.066 50.21 95.16 57.43 38.094 7.21 77.64 0.66 110.947-18.4 33.307-19.05 57.993-49.23 69.259-84.68s8.304-73.63-8.309-107.11c-16.612-33.48-45.688-59.87-81.57-74.05-19.001-7.5-39.366-11.36-59.931-11.35Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M338.871 321.5999999999999l109.338 104.28",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}}]},search:{viewBox:"0 0 512 512",paths:[{d:"M456.882 415.7999999999997l-93.791-89.45c22.605-28.67 34.784-63.57 34.686-99.44 0-91.54-78.142-166.07-174.125-166.07s-174.125 74.53-174.125 166.17c0 91.54 78.142 166.07 174.125 166.07 37.586 0 74.161-11.61 104.256-33.08l93.79 89.45c3.535 3.04 7.91 5.05 12.604 5.79 4.696 0.74 9.515 0.18 13.887-1.61 4.374-1.79 8.117-4.74 10.788-8.49 2.671-3.76 4.157-8.17 4.284-12.7 0.108-6.11-2.165-12.04-6.379-16.64m-357.62-188.79c-0.01-29.43 11.453-57.8 32.162-79.61 20.709-21.82 49.183-35.49 79.884-38.39 30.7-2.9 61.433 5.2 86.221 22.72 24.787 17.52 41.858 43.2 47.891 72.05 6.034 28.86 0.598 58.83-15.249 84.07s-40.972 43.96-70.489 52.53c-29.518 8.55-61.317 6.33-89.213-6.24s-49.895-34.57-61.718-61.75c-6.258-14.38-9.483-29.81-9.488-45.38",style:{fill:"currentcolor"}}]},"home-outline":{viewBox:"0 0 512 512",paths:[{d:"M88.29899999999998 217.5v198.3c0.012 1.9 0.417 3.77 1.192 5.51 0.773 1.75 1.903 3.32 3.32 4.66a15.3 15.3 0 0 0 4.939 3.07 15.7 15.7 0 0 0 5.798 1.02h91.498v-121.2c0.066-5.72 2.504-11.18 6.782-15.19s10.047-6.24 16.043-6.2h76.248c2.972-0.03 5.92 0.5 8.676 1.57a22.8 22.8 0 0 1 7.384 4.61 21.5 21.5 0 0 1 4.969 6.97 20.7 20.7 0 0 1 1.796 8.24v121.2h91.496c1.99 0.02 3.96-0.32 5.8-1.03a15.4 15.4 0 0 0 4.94-3.07 14.6 14.6 0 0 0 3.32-4.65c0.77-1.74 1.18-3.61 1.19-5.51v-198.3",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M476.4200000000001 257.04999999999995l-209.709-196.68c-2.963-2.49-6.772-3.85-10.715-3.85s-7.751 1.36-10.714 3.85l-209.509 196.68",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},home:{viewBox:"0 0 512 512",paths:[{d:"M261.22900000000004 94.11000000000013c-1.482-1.37-3.466-2.14-5.531-2.14s-4.05 0.77-5.532 2.14l-184.192 167.78a7.6 7.6 0 0 0-1.845 2.51 7.3 7.3 0 0 0-0.647 3.01v157.52c0.008 8.08 3.381 15.84 9.379 21.56 6 5.73 14.133 8.94 22.616 8.95h96.182c4.256 0 8.338-1.62 11.347-4.49 3.01-2.86 4.7-6.76 4.7-10.82v-129.75c0.006-2.02 0.848-3.95 2.342-5.38 1.495-1.42 3.519-2.22 5.632-2.23h80.036c2.113 0.01 4.137 0.81 5.631 2.23 1.494 1.43 2.336 3.36 2.342 5.38v129.75c-0.002 2.02 0.411 4.01 1.216 5.86a15.2 15.2 0 0 0 3.479 4.97 16 16 0 0 0 5.209 3.32c1.947 0.77 4.035 1.16 6.143 1.16h96.084c8.48-0.01 16.61-3.22 22.61-8.95 6-5.72 9.37-13.48 9.38-21.56v-157.52c0-1.04-0.22-2.06-0.64-3.01a7.6 7.6 0 0 0-1.85-2.51z",style:{fill:"currentcolor"}},{d:"M490.77 230.42999999999984l-74.85-68.26a923 923 0 0 0-80.036-73.1l-57.908-52.85c-5.967-5.4-13.905-8.37-22.127-8.27-4.082-0.12-8.145 0.57-11.947 1.98a30.5 30.5 0 0 0-10.18 6.29L20.923999999999978 230.42999999999984c-3.034 2.74-4.858 6.47-5.098 10.44-0.241 3.98 1.12 7.9 3.803 10.95a16 16 0 0 0 4.921 3.64 16.4 16.4 0 0 0 6.011 1.57c2.092 0.14 4.193-0.11 6.182-0.75 1.99-0.63 3.828-1.63 5.411-2.94l0.598-0.57 207.615-189.18a8.2 8.2 0 0 1 5.532-2.13c2.065 0 4.049 0.77 5.531 2.13l207.61 189.18c3.07 2.78 7.16 4.3 11.4 4.23 4.23-0.07 8.27-1.73 11.23-4.61 2.88-3.05 4.39-7.06 4.22-11.15-0.17-4.11-2-7.98-5.12-10.81",style:{fill:"currentcolor"}}]},"discover-outline":{viewBox:"0 0 512 512",paths:[{d:"M448.21000000000004 243.3599999999999c0-100.76-85.72-182.52-191.37-182.52s-191.37 81.76-191.37 182.52c0 100.77 85.72 182.52 191.37 182.52s191.37-81.75 191.37-182.52Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M351.23 143.45000000000005l-116.82 44.59c-8.04 3.04-15.33 7.64-21.42 13.49-6.08 5.86-10.89 12.81-14.16 20.44l-46.74 111.42c-0.59 1.38-0.72 2.9-0.4 4.37 0.35 1.46 1.1 2.81 2.19 3.9a8 8 0 0 0 4.09 2.09c1.53 0.3 3.13 0.17 4.58-0.38l116.82-44.59c8.04-3.04 15.34-7.64 21.43-13.5 6.08-5.86 10.88-12.8 14.15-20.43l46.74-111.42c0.59-1.38 0.73-2.91 0.4-4.37a8.2 8.2 0 0 0-2.19-3.9 8.3 8.3 0 0 0-4.07-2.09c-1.54-0.3-3.14-0.17-4.6 0.38m-94.39 122.73c-4.71 0.01-9.33-1.31-13.26-3.81-3.95-2.49-7.01-6.07-8.77-10.26-1.8-4.18-2.28-8.78-1.39-13.22 0.9-4.44 3.2-8.51 6.58-11.69 2.22-2.12 4.85-3.8 7.75-4.96 2.9-1.15 6.01-1.74 9.15-1.75 3.15 0 6.26 0.59 9.16 1.73 2.91 1.14 5.55 2.81 7.77 4.93 2.23 2.12 3.99 4.63 5.21 7.4 1.2 2.77 1.82 5.73 1.83 8.73 0 3-0.62 5.97-1.81 8.73a22.6 22.6 0 0 1-5.18 7.42c-4.52 4.3-10.65 6.73-17.04 6.75",style:{fill:"currentcolor"}}]},discover:{viewBox:"0 0 512 512",paths:[{d:"M256.8399999999999 266.1700000000001c5.55 0.02 10.93-1.81 15.23-5.15 4.31-3.36 7.26-8.02 8.34-13.22 1.1-5.19 0.27-10.58-2.33-15.24-2.61-4.68-6.84-8.35-11.96-10.37a25.05 25.05 0 0 0-16.15-0.78c-5.31 1.53-9.9 4.77-12.99 9.17-3.09 4.39-4.48 9.68-3.94 14.95s2.98 10.19 6.91 13.94c4.48 4.28 10.55 6.68 16.89 6.7",style:{fill:"currentcolor"}},{d:"M256.8399999999999 45.63000000000011c-114.32 0-207.32 88.69-207.32 197.73 0 109.03 93 197.72 207.32 197.72s207.32-88.69 207.32-197.72c0-109.04-93-197.73-207.32-197.73m104.75 107.8l-46.74 111.41c-3.19 7.67-8.01 14.63-14.15 20.44-6.14 5.8-13.43 10.38-21.43 13.5l-116.82 44.58c-1.45 0.56-3.05 0.69-4.58 0.38a8.8 8.8 0 0 1-4.09-2.09 7.3 7.3 0 0 1-2.19-3.9 7.3 7.3 0 0 1 0.4-4.37l46.74-111.41c3.19-7.67 8.02-14.63 14.16-20.44 6.14-5.8 13.42-10.38 21.42-13.5l116.82-44.58c1.45-0.56 3.05-0.69 4.58-0.38 1.54 0.33 2.95 1.05 4.09 2.09a7.3 7.3 0 0 1 2.19 3.89c0.32 1.47 0.18 2.99-0.4 4.38",style:{fill:"currentcolor"}}]},"library-outline":{viewBox:"0 0 512 512",paths:[{d:"M419.4100000000003 167.30999999999995H94.18000000000006c-7.63 0-14.96 2.9-20.36 8.05-5.4 5.16-8.44 12.14-8.44 19.42v188.51c0 7.28 3.04 14.27 8.44 19.42 5.4 5.16 12.73 8.06 20.36 8.06h325.23c7.63 0 14.96-2.9 20.36-8.06 5.4-5.15 8.44-12.14 8.44-19.42v-188.51c0.01-3.61-0.73-7.18-2.18-10.52-1.44-3.34-3.57-6.36-6.24-8.92a29.1 29.1 0 0 0-9.35-5.95c-3.5-1.37-7.24-2.09-11.03-2.08Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M145.21000000000004 76.04999999999995h223.27",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M113.32000000000016 121.67999999999984h287.05",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}}]},library:{viewBox:"0 0 512 512",paths:[{d:"M368.48 91.26000000000022h-223.26c-4.23 0-8.29-1.61-11.28-4.46s-4.67-6.72-4.67-10.75 1.68-7.9 4.67-10.75 7.05-4.46 11.28-4.46h223.26c4.22 0 8.28 1.61 11.27 4.46s4.68 6.72 4.68 10.75-1.69 7.9-4.68 10.75-7.05 4.46-11.27 4.46",style:{fill:"currentcolor"}},{d:"M400.3699999999999 136.89000000000033h-287.05c-4.23 0-8.28-1.6-11.27-4.46-2.99-2.85-4.68-6.72-4.68-10.75s1.69-7.9 4.68-10.75 7.04-4.46 11.27-4.46h287.05c4.23 0 8.29 1.61 11.28 4.46s4.67 6.72 4.67 10.75-1.68 7.9-4.67 10.75c-2.99 2.86-7.05 4.46-11.28 4.46",style:{fill:"currentcolor"}},{d:"M419.4100000000003 425.8800000000001H94.18000000000006c-11.85-0.04-23.21-4.55-31.59-12.55-8.38-7.99-13.12-18.82-13.16-30.13v-188.51c0.04-11.3 4.78-22.14 13.16-30.13 8.38-8 19.74-12.51 31.59-12.55h325.23c5.87-0.01 11.69 1.09 17.12 3.25a44.4 44.4 0 0 1 14.48 9.3c8.36 8.01 13.08 18.83 13.15 30.13v188.51c-0.04 11.31-4.77 22.14-13.15 30.13-8.39 8-19.75 12.51-31.6 12.55",style:{fill:"currentcolor"}}]},"addons-outline":{viewBox:"0 0 512 512",paths:[{d:"M414.02 233.95000000000005h-27.6a2.1 2.1 0 0 1-1.4-0.57c-0.37-0.35-0.59-0.83-0.6-1.33v-73.39c-0.01-9.81-4.09-19.21-11.36-26.14s-17.12-10.83-27.41-10.84h-76.95c-0.52-0.01-1.02-0.22-1.39-0.57s-0.59-0.82-0.6-1.33v-26.33c0-25.76-21.43-47.44-48.44-47.82a52.4 52.4 0 0 0-19.14 3.33c-6.1 2.32-11.66 5.78-16.34 10.17a47.4 47.4 0 0 0-10.97 15.4 44.66 44.66 0 0 0-3.88 18.25v27.1c-0.01 0.5-0.23 0.98-0.6 1.33a2.1 2.1 0 0 1-1.4 0.57h-76.94c-10.47 0-20.5 3.96-27.91 11.03-7.41 7.06-11.56 16.63-11.56 26.61v66.93c0.01 0.5 0.23 0.98 0.6 1.33 0.36 0.35 0.86 0.56 1.39 0.57h26.81c29.31 0 53.53 24.24 53.92 52.09 0.4 28.43-23.42 54.38-53.12 54.38h-27.61c-0.53 0.01-1.03 0.22-1.39 0.57-0.37 0.35-0.59 0.82-0.6 1.33v66.92c0 9.98 4.15 19.56 11.56 26.62s17.44 11.03 27.91 11.03h70.17c0.52-0.01 1.02-0.22 1.39-0.57 0.37-0.36 0.59-0.83 0.6-1.33v-19.87c0-28.81 24.72-53.62 54.82-54.28 30-0.67 56.81 19.29 56.81 47.81v26.34c0.01 0.5 0.23 0.97 0.6 1.33 0.37 0.35 0.87 0.56 1.39 0.57h70.87c10.29-0.01 20.14-3.91 27.41-10.84s11.35-16.34 11.36-26.14v-74.15c0.01-0.5 0.23-0.98 0.6-1.33a2.1 2.1 0 0 1 1.4-0.57h28.4c27.51 0 49.34-21.58 49.34-47.91 0-26.34-23.12-46.3-50.14-46.3",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},addons:{viewBox:"0 0 512 512",paths:[{d:"M345.6500000000001 456.3000000000002h-70.87c-2.35 0.01-4.69-0.43-6.86-1.29-2.18-0.87-4.15-2.14-5.79-3.75-3.37-3.19-5.27-7.54-5.29-12.07v-26.33c0.03-4.05-0.81-8.07-2.49-11.79s-4.12-7.07-7.17-9.89c-7.78-7.22-19.04-11.22-30.8-10.93-21.33 0.47-39.27 18.35-39.27 39.07v19.87c0.01 2.24-0.45 4.48-1.36 6.55s-2.24 3.95-3.93 5.52c-3.35 3.21-7.9 5.02-12.65 5.04h-70.17c-14.71 0.01-28.83-5.55-39.23-15.46-10.42-9.91-16.28-23.36-16.29-37.4v-66.92c0.03-4.53 1.92-8.87 5.28-12.07 3.36-3.21 7.91-5.01 12.66-5.04h27.61c9.17 0 18.04-3.71 25.02-10.46 3.89-3.72 6.98-8.15 9.07-13.02a37.2 37.2 0 0 0 3.09-15.4c-0.3-20.15-17.64-37.17-37.98-37.17h-26.71c-2.35 0.01-4.69-0.43-6.87-1.29a17.7 17.7 0 0 1-5.79-3.75c-3.37-3.19-5.26-7.54-5.28-12.07v-66.92a50.9 50.9 0 0 1 4.19-20.25c2.76-6.43 6.86-12.25 12.06-17.11 10.39-9.91 24.48-15.48 39.17-15.5h55.02c2.12 0.01 4.16-0.77 5.68-2.19 0.73-0.71 1.32-1.55 1.71-2.49 0.4-0.93 0.6-1.92 0.58-2.92v-6.18a59 59 0 0 1 5.08-24.05c3.38-7.62 8.29-14.53 14.46-20.35 6.19-5.8 13.55-10.36 21.62-13.4a69.8 69.8 0 0 1 25.32-4.47c35.38 0.57 64.19 28.9 64.19 63.03v5.42c-0.03 1.51 0.42 3 1.29 4.25a7.73 7.73 0 0 0 3.61 2.81c0.98 0.37 2.03 0.56 3.07 0.54h55.02a56.4 56.4 0 0 1 20.93 3.99c13.4 5.31 24.04 15.46 29.6 28.24 2.77 6.32 4.2 13.11 4.19 19.96v52.47c-0.03 1.52 0.42 3.01 1.3 4.26a7.66 7.66 0 0 0 3.6 2.81c0.98 0.37 2.03 0.56 3.07 0.54h5.68c36.48 0 66.09 27.57 66.09 61.41 0 34.79-29.31 63.12-65.29 63.12h-6.48c-2.12-0.01-4.15 0.78-5.68 2.19a7.4 7.4 0 0 0-1.71 2.49c-0.4 0.93-0.6 1.93-0.58 2.93v53.23c0.01 6.85-1.42 13.64-4.19 19.96-5.56 12.78-16.2 22.93-29.6 28.24a56 56 0 0 1-20.93 3.99",style:{fill:"currentcolor"}}]},"settings-outline":{viewBox:"0 0 512 512",paths:[{d:"M456.8800000000001 230.33999999999992l-26.02-3.99a8.3 8.3 0 0 1-4.38-2.19 7.7 7.7 0 0 1-2.19-4.28c-0.5-3.04-1-6.08-1.7-9.03-0.31-1.58-0.1-3.2 0.6-4.66a8.24 8.24 0 0 1 3.29-3.51l23.02-12.17c1.75-0.83 3.1-2.26 3.79-4 0.68-1.73 0.72-3.65 0.1-5.41l-3.99-10.46c-0.67-1.74-1.99-3.19-3.68-4.09a8.35 8.35 0 0 0-5.69-0.66l-25.81 4.75c-1.69 0.28-3.42 0.09-4.98-0.57-1.58-0.67-2.85-1.85-3.59-3.33-1.5-2.66-3.09-5.32-4.79-7.98-0.9-1.4-1.32-3.04-1.19-4.67 0.13-1.65 0.78-3.2 1.89-4.46l17.24-18.92c1.31-1.36 2.09-3.11 2.2-4.94 0.09-1.88-0.59-3.72-1.9-5.13l-7.47-8.56a7.99 7.99 0 0 0-4.99-2.66 7.95 7.95 0 0 0-5.48 1.24l-22.62 12.92a8.47 8.47 0 0 1-4.79 1.05c-1.71-0.1-3.34-0.78-4.58-1.9-2.39-2-4.89-3.99-7.38-5.9a7.9 7.9 0 0 1-2.69-4c-0.45-1.56-0.38-3.22 0.2-4.74l9.37-23.58c0.8-1.72 0.9-3.66 0.29-5.44-0.61-1.79-1.89-3.3-3.58-4.25l-10.17-5.61a8.13 8.13 0 0 0-5.58-0.86c-1.91 0.4-3.62 1.45-4.78 2.95l-16.55 19.77a6.87 6.87 0 0 1-3.78 2.57c-1.55 0.41-3.18 0.34-4.69-0.19 0 0-5.58-2.19-9.77-3.52a8.1 8.1 0 0 1-3.96-2.82 7.45 7.45 0 0 1-1.52-4.5l0.4-25.09c0.1-1.89-0.5-3.74-1.69-5.23a8.67 8.67 0 0 0-4.89-2.85l-11.56-1.91c-1.93-0.27-3.91 0.1-5.58 1.05-1.67 0.98-2.9 2.5-3.49 4.28l-8.57 23.86a8.2 8.2 0 0 1-2.99 3.8 7.78 7.78 0 0 1-4.79 1.33h-9.76c-1.7 0-3.36-0.46-4.79-1.33a7.56 7.56 0 0 1-2.99-3.8l-8.57-23.86a7.56 7.56 0 0 0-3.49-4.28 8.85 8.85 0 0 0-5.58-1.05l-11.56 1.91a8.18 8.18 0 0 0-4.89 2.85 7.7 7.7 0 0 0-1.69 5.23l0.4 25.09c0.01 1.64-0.51 3.22-1.5 4.57-0.99 1.31-2.39 2.3-3.98 2.85-2.3 0.85-7.28 2.66-9.67 3.51-2.79 0.95-6.08 0.19-8.77-2.75l-16.45-19.3c-1.16-1.5-2.87-2.55-4.78-2.95-1.91-0.39-3.9-0.08-5.58 0.86l-10.17 5.61c-1.7 0.91-2.99 2.4-3.59 4.18s-0.5 3.71 0.3 5.42l9.37 23.57c0.62 1.52 0.69 3.2 0.2 4.76a7.94 7.94 0 0 1-2.69 3.99c-2.49 1.9-4.99 3.9-7.38 5.89a8.83 8.83 0 0 1-4.58 1.9 7.6 7.6 0 0 1-4.79-1.04l-22.32-13.12a7.93 7.93 0 0 0-5.48-1.14c-1.94 0.3-3.7 1.24-4.99 2.66l-7.47 8.56a7.48 7.48 0 0 0-1.9 5.13c0.07 1.84 0.85 3.61 2.2 4.94l17.24 18.92c1.1 1.23 1.77 2.76 1.89 4.37a7.76 7.76 0 0 1-1.19 4.66c-1.7 2.57-3.29 5.23-4.79 7.99-0.8 1.41-2.06 2.54-3.59 3.23-1.55 0.69-3.29 0.93-4.98 0.66l-25.81-4.75a8.07 8.07 0 0 0-5.59 0.67c-1.72 0.89-3.07 2.34-3.78 4.08l-3.99 10.46a6.8 6.8 0 0 0 0.1 5.42 7.83 7.83 0 0 0 3.79 3.99l23.02 12.17a7.37 7.37 0 0 1 3.39 3.52c0.71 1.45 0.89 3.1 0.5 4.66-0.6 3.04-1.2 5.98-1.7 9.03a7.2 7.2 0 0 1-2.19 4.27 8.2 8.2 0 0 1-4.38 2.19l-26.02 3.99c-1.91 0.23-3.69 1.12-4.98 2.47-1.28 1.41-2.02 3.19-2.1 5.04v11.13c-0.01 1.86 0.71 3.66 2.02 5.05a8.04 8.04 0 0 0 5.06 2.46l26.02 3.99c1.66 0.27 3.19 1.04 4.38 2.18a7.75 7.75 0 0 1 2.19 4.28c0.5 3.04 1 6.09 1.7 9.03 0.31 1.58 0.1 3.21-0.6 4.66-0.73 1.45-1.87 2.66-3.29 3.52l-23.02 12.17c-1.75 0.82-3.1 2.25-3.79 3.99a7.78 7.78 0 0 0-0.1 5.42l3.99 10.45c0.67 1.74 1.99 3.19 3.68 4.09 1.75 0.89 3.77 1.12 5.69 0.67l25.81-4.76c1.68-0.28 3.42-0.08 4.98 0.57 1.56 0.7 2.82 1.87 3.59 3.33 1.5 2.66 3.09 5.33 4.79 7.99a7.5 7.5 0 0 1 1.19 4.66 7.65 7.65 0 0 1-1.89 4.46l-17.24 19.02c-1.31 1.35-2.09 3.09-2.2 4.94-0.09 1.88 0.59 3.72 1.9 5.13l7.47 8.56a7.99 7.99 0 0 0 4.99 2.66 7.95 7.95 0 0 0 5.48-1.24l22.62-12.92c1.45-0.8 3.12-1.17 4.79-1.05 1.7 0.15 3.31 0.82 4.58 1.9 2.39 2 4.89 3.99 7.38 5.89 1.32 1.02 2.27 2.42 2.69 4a7.8 7.8 0 0 1-0.2 4.75l-9.37 23.58c-0.8 1.71-0.9 3.64-0.3 5.41 0.6 1.78 1.88 3.27 3.59 4.19l10.17 5.61c1.68 0.94 3.67 1.24 5.58 0.85 1.91-0.4 3.61-1.44 4.78-2.95l16.75-19.58c2.09-2.47 5.48-3.52 8.17-2.47 3.39 1.33 5.68 2.09 9.87 3.42 1.61 0.52 3.02 1.51 3.98 2.85a7.56 7.56 0 0 1 1.5 4.57l-0.4 25.09c-0.1 1.89 0.5 3.74 1.69 5.23a8.23 8.23 0 0 0 4.89 2.85l11.56 1.9a8.78 8.78 0 0 0 5.58-1.04c1.67-0.98 2.9-2.5 3.49-4.28l8.57-23.76a8.16 8.16 0 0 1 2.99-3.81c1.39-0.95 3.08-1.41 4.79-1.33h9.76c1.7 0 3.36 0.47 4.79 1.33 1.4 0.93 2.45 2.27 2.99 3.81l8.57 23.76c0.57 1.79 1.8 3.32 3.49 4.28a8.78 8.78 0 0 0 5.58 1.04l11.56-1.9a8.32 8.32 0 0 0 4.89-2.86c1.2-1.48 1.81-3.33 1.69-5.22l-0.4-25.09c-0.01-1.64 0.51-3.24 1.5-4.57 0.99-1.31 2.39-2.3 3.98-2.85 4.19-1.33 6.98-2.37 9.57-3.33 1.42-0.61 3-0.75 4.51-0.38 1.5 0.36 2.83 1.2 3.76 2.38l16.95 19.87c1.16 1.5 2.87 2.55 4.78 2.95 1.91 0.39 3.9 0.08 5.58-0.86l10.17-5.61c1.68-0.94 2.95-2.42 3.59-4.18 0.6-1.78 0.5-3.71-0.3-5.42l-9.37-23.57c-0.62-1.53-0.69-3.2-0.2-4.76a8.56 8.56 0 0 1 2.69-3.99c2.49-1.9 4.99-3.9 7.38-5.89a8.84 8.84 0 0 1 4.58-1.91 7.55 7.55 0 0 1 4.79 1.05l22.52 13.02a7.86 7.86 0 0 0 5.48 1.14c1.94-0.3 3.7-1.24 4.99-2.66l7.47-8.55a7.5 7.5 0 0 0 1.9-5.14 7.12 7.12 0 0 0-2.2-4.94l-17.24-18.92a7.28 7.28 0 0 1-1.89-4.37c-0.11-1.63 0.31-3.26 1.19-4.66 1.7-2.56 3.29-5.23 4.79-7.98 0.82-1.43 2.07-2.58 3.59-3.33 1.55-0.69 3.28-0.93 4.98-0.67l25.81 4.76c1.89 0.45 3.88 0.22 5.59-0.67 1.74-0.87 3.09-2.33 3.78-4.09l3.99-10.45c0.72-1.75 0.68-3.7-0.1-5.42a7.83 7.83 0 0 0-3.79-3.99l-23.02-12.17c-1.52-0.78-2.71-2.02-3.39-3.52a7.1 7.1 0 0 1-0.5-4.75c0.6-3.04 1.2-5.99 1.7-9.03a7.13 7.13 0 0 1 2.19-4.28 8.3 8.3 0 0 1 4.38-2.19l26.02-3.99c1.91-0.23 3.69-1.11 4.98-2.47a8 8 0 0 0 2.09-5.04v-11.12c-0.1-1.85-0.88-3.59-2.19-4.95-1.3-1.34-3.08-2.17-4.98-2.37m-200.04-123.87c31.82 0 62.75 10.11 87.91 28.71 25.15 18.61 43.1 44.65 51.03 74.05 0.58 2.25 0.62 4.59 0.1 6.85-0.52 2.24-1.55 4.34-2.99 6.18a15.2 15.2 0 0 1-5.58 4.28 16.25 16.25 0 0 1-6.98 1.52h-104.85c-2.83-0.01-5.6-0.73-8.06-2.08a16 16 0 0 1-5.9-5.62l-51.92-87.17a15.4 15.4 0 0 1-2.1-6.66c-0.1-2.34 0.31-4.67 1.2-6.84 0.91-2.18 2.39-4.11 4.28-5.61a16.1 16.1 0 0 1 6.38-3.23c12.26-2.88 24.85-4.35 37.48-4.38m-143.53 136.89c-0.02-18.33 3.81-36.46 11.28-53.35 7.46-16.89 18.41-32.17 32.18-44.94 1.76-1.61 3.88-2.84 6.18-3.61 2.31-0.75 4.76-0.97 7.18-0.67a15.7 15.7 0 0 1 6.77 2.47c2.01 1.31 3.67 3.03 4.89 5.04l52.02 87.36c1.38 2.28 2.1 4.88 2.1 7.51 0.02 2.64-0.71 5.23-2.1 7.51l-52.52 87.17c-1.2 2.05-2.91 3.78-4.99 5.04a19.4 19.4 0 0 1-6.77 2.47c-2.41 0.31-4.88 0.08-7.18-0.66-2.3-0.77-4.41-2.01-6.18-3.61-13.66-12.74-24.51-27.97-31.89-44.78-7.23-16.81-10.96-34.79-10.97-52.95m143.53 136.89c-12.85 0.02-25.65-1.54-38.08-4.66-2.37-0.57-4.55-1.68-6.37-3.23a14.9 14.9 0 0 1-4.19-5.61c-0.95-2.17-1.36-4.5-1.2-6.85 0.16-2.34 0.87-4.61 2.1-6.65l52.42-86.98c1.4-2.33 3.42-4.25 5.85-5.59 2.44-1.34 5.2-2.03 8.01-2.01h105.05c2.42-0.02 4.81 0.5 6.98 1.52 3.27 1.53 5.89 4.08 7.42 7.22a14.54 14.54 0 0 1 1.05 10.08c-7.93 29.41-25.9 55.48-51.07 74.08-25.18 18.6-56.13 28.7-87.97 28.68",style:{fill:"currentcolor"}}]},"filters-outline":{viewBox:"0 0 512 512",paths:[{d:"M48.0300000000002 102l159.77 177.48c2.36 2.63 3.7 5.95 3.79 9.42v107.8c-0.03 1.51 0.45 2.98 1.36 4.22a7.53 7.53 0 0 0 3.72 2.62l75.95 24.05c1.89 0.58 3.95 0.45 5.73-0.39 1.79-0.84 3.16-2.29 3.84-4.08 0.29-0.76 0.42-1.57 0.4-2.37v-131.95c0.01-3.47 1.35-6.83 3.78-9.41l159.68-177.48c2.28-2.55 3.42-5.87 3.16-9.21-0.26-3.35-1.9-6.46-4.56-8.66-2.38-1.97-5.42-3.05-8.57-3.05H58.29000000000042c-1.74 0-3.47 0.32-5.08 0.95s-3.08 1.55-4.32 2.73c-1.23 1.18-2.2 2.58-2.87 4.12-0.65 1.54-0.99 3.18-0.98 4.85a11 11 0 0 0 0.62 4.47 11.3 11.3 0 0 0 2.37 3.89",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},filters:{viewBox:"0 0 512 512",paths:[{d:"M48.0300000000002 102.10000000000014l159.77 177.48c2.36 2.62 3.7 5.95 3.79 9.41v107.8c-0.03 1.51 0.45 2.98 1.36 4.22a7.4 7.4 0 0 0 3.72 2.62l75.95 24.05c1.89 0.58 3.95 0.45 5.73-0.39 1.78-0.83 3.16-2.3 3.84-4.07 0.29-0.76 0.42-1.57 0.4-2.38V288.99c0.01-3.47 1.35-6.83 3.78-9.41l159.68-177.48c2.28-2.56 3.42-5.87 3.16-9.21-0.26-3.35-1.9-6.46-4.56-8.66a13.4 13.4 0 0 0-8.57-3.05H58.29000000000042c-1.74-0.01-3.47 0.32-5.08 0.94-1.61 0.64-3.08 1.56-4.32 2.74-1.23 1.18-2.2 2.58-2.87 4.12-0.65 1.54-0.99 3.18-0.98 4.85-0.17 3.02 0.89 5.99 2.99 8.27",style:{fill:"currentcolor"}}]},"calendar-outline":{viewBox:"0 0 512 512",paths:[{d:"M102.64999999999964 77h318.95c12.68 0 24.85 4.81 33.83 13.37 8.97 8.55 14.01 20.16 14.01 32.26v273.78c0 12.1-5.04 23.71-14.01 32.26-8.98 8.56-21.15 13.37-33.83 13.37H102.64999999999964c-12.69 0-24.86-4.81-33.83-13.37-8.97-8.55-14.01-20.16-14.01-32.26v-273.78c0-12.1 5.04-23.71 14.01-32.26 8.97-8.56 21.14-13.37 33.83-13.37Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M301.9899999999998 244.30999999999995c5.93 0.01 11.65-2.09 16.06-5.88 4.39-3.8 7.16-9.02 7.75-14.64 0.59-5.64-1.03-11.28-4.56-15.82-3.53-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.95 2.78-5.09 2.9-8.87 7.51-10.6 12.92-1.74 5.41-1.29 11.25 1.23 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75",style:{fill:"currentcolor"}},{d:"M381.72999999999956 244.30999999999995c5.93 0.01 11.65-2.09 16.05-5.88 4.4-3.8 7.17-9.02 7.76-14.64 0.59-5.64-1.04-11.28-4.57-15.82-3.52-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78s-8.87 7.51-10.61 12.92c-1.73 5.41-1.28 11.25 1.24 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75",style:{fill:"currentcolor"}},{d:"M301.9899999999998 320.3600000000001c5.93 0.01 11.65-2.09 16.06-5.89 4.39-3.79 7.16-9.01 7.75-14.64s-1.03-11.27-4.56-15.81c-3.53-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.95 2.78-5.09 2.9-8.87 7.51-10.6 12.92-1.74 5.41-1.29 11.24 1.23 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75",style:{fill:"currentcolor"}},{d:"M381.72999999999956 320.3600000000001c5.93 0.01 11.65-2.09 16.05-5.89 4.4-3.79 7.17-9.01 7.76-14.64s-1.04-11.27-4.57-15.81c-3.52-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78s-8.87 7.51-10.61 12.92c-1.73 5.41-1.28 11.24 1.24 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75",style:{fill:"currentcolor"}},{d:"M142.52000000000044 320.3600000000001c5.93 0.01 11.65-2.09 16.06-5.89 4.39-3.79 7.16-9.01 7.75-14.64s-1.04-11.27-4.57-15.81c-3.52-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78s-8.87 7.51-10.61 12.92c-1.73 5.41-1.28 11.24 1.24 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75",style:{fill:"currentcolor"}},{d:"M222.25 320.3600000000001c5.93 0.01 11.66-2.09 16.06-5.89 4.4-3.79 7.17-9.01 7.76-14.64 0.58-5.63-1.04-11.27-4.57-15.81-3.53-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78-5.1 2.9-8.88 7.51-10.61 12.92a21.82 21.82 0 0 0 1.24 16.36c2.53 5.11 6.96 9.15 12.44 11.33 2.9 1.15 6 1.74 9.14 1.75",style:{fill:"currentcolor"}},{d:"M142.52000000000044 396.4100000000001c5.93 0.01 11.65-2.09 16.06-5.88 4.39-3.8 7.16-9.02 7.75-14.64 0.59-5.64-1.04-11.28-4.57-15.82-3.52-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78s-8.87 7.51-10.61 12.92c-1.73 5.41-1.28 11.24 1.24 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75",style:{fill:"currentcolor"}},{d:"M222.25 396.4100000000001c5.93 0.01 11.66-2.09 16.06-5.88 4.4-3.8 7.17-9.02 7.76-14.64 0.58-5.64-1.04-11.28-4.57-15.82-3.53-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78-5.1 2.9-8.88 7.51-10.61 12.92a21.82 21.82 0 0 0 1.24 16.36c2.53 5.11 6.96 9.15 12.44 11.33 2.9 1.15 6 1.74 9.14 1.75",style:{fill:"currentcolor"}},{d:"M301.9899999999998 396.4100000000001c5.93 0.01 11.65-2.09 16.06-5.88 4.39-3.8 7.16-9.02 7.75-14.64 0.59-5.64-1.03-11.28-4.56-15.82-3.53-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.95 2.78-5.09 2.9-8.87 7.51-10.6 12.92-1.74 5.41-1.29 11.24 1.23 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75",style:{fill:"currentcolor"}},{d:"M134.53999999999996 46.580000000000155v30.42",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M389.6999999999998 46.580000000000155v30.42",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M469.4399999999996 153.04999999999995h-414.63",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},calendar:{viewBox:"0 0 512 512",paths:[{d:"M480.10000000000036 121.68000000000029c-0.01-16.13-6.73-31.6-18.69-43.01-11.97-11.4-28.18-17.82-45.1-17.83h-15.94v-14.83c0-8.17-6.58-15.21-15.15-15.59-4.23-0.17-8.35 1.25-11.49 3.96-3.13 2.7-5.02 6.47-5.26 10.49v15.97h-223.26v-14.83c0-8.17-6.58-15.21-15.15-15.59-4.23-0.17-8.34 1.25-11.48 3.96-3.13 2.7-5.03 6.47-5.27 10.49v15.97h-15.94c-16.92 0.01-33.13 6.43-45.09 17.83-11.96 11.41-18.69 26.88-18.7 43.01v11.41c0 1.01 0.43 1.98 1.17 2.69 0.74 0.7 1.76 1.11 2.81 1.11h438.56c1.05 0 2.07-0.41 2.81-1.11 0.74-0.71 1.17-1.68 1.17-2.69z",style:{fill:"currentcolor"}},{d:"M33.57999999999993 395.46000000000004c0.01 16.13 6.74 31.6 18.7 43.01 11.96 11.4 28.17 17.82 45.09 17.83h318.94c16.92-0.01 33.13-6.43 45.1-17.83 11.96-11.41 18.68-26.88 18.69-43.01v-225.3c0.01-0.38-0.06-0.75-0.21-1.1s-0.36-0.67-0.64-0.93c-0.28-0.27-0.61-0.48-0.98-0.62s-0.76-0.21-1.16-0.2h-440.54c-0.4-0.01-0.79 0.06-1.16 0.2a2.87 2.87 0 0 0-1.62 1.55c-0.15 0.35-0.22 0.72-0.21 1.1z m342.87-197.73c5.93 0.01 11.64 2.13 16.02 5.93 4.39 3.81 7.13 9.04 7.7 14.67s-1.08 11.26-4.62 15.79c-3.54 4.54-8.72 7.65-14.54 8.75-5.82 1.09-11.85 0.08-16.93-2.84-5.09-2.91-8.84-7.53-10.56-12.93-1.71-5.42-1.25-11.25 1.3-16.37 2.54-5.1 6.98-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m0 76.05c5.93 0.01 11.64 2.13 16.02 5.93 4.39 3.81 7.13 9.04 7.7 14.67s-1.08 11.26-4.62 15.79c-3.54 4.54-8.72 7.65-14.54 8.75-5.82 1.09-11.85 0.08-16.93-2.84-5.09-2.91-8.84-7.53-10.56-12.94-1.71-5.41-1.25-11.24 1.3-16.36 2.54-5.1 6.98-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m-79.74-76.05c5.93 0.01 11.64 2.13 16.03 5.93 4.38 3.81 7.12 9.04 7.69 14.67 0.58 5.63-1.08 11.26-4.61 15.79-3.54 4.54-8.73 7.65-14.55 8.75-5.82 1.09-11.85 0.08-16.93-2.84-5.08-2.91-8.84-7.53-10.56-12.93-1.71-5.42-1.25-11.25 1.3-16.37 2.54-5.1 6.99-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m0 76.05c5.93 0.01 11.64 2.13 16.03 5.93 4.38 3.81 7.12 9.04 7.69 14.67 0.58 5.63-1.08 11.26-4.61 15.79-3.54 4.54-8.73 7.65-14.55 8.75-5.82 1.09-11.85 0.08-16.93-2.84-5.08-2.91-8.84-7.53-10.56-12.94-1.71-5.41-1.25-11.24 1.3-16.36 2.54-5.1 6.99-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m0 76.05c5.93 0.01 11.64 2.13 16.03 5.93 4.38 3.81 7.12 9.04 7.69 14.67 0.58 5.63-1.08 11.25-4.61 15.79-3.54 4.54-8.73 7.65-14.55 8.74-5.82 1.1-11.85 0.09-16.93-2.83-5.08-2.91-8.84-7.53-10.56-12.94-1.71-5.41-1.25-11.24 1.3-16.36 2.54-5.1 6.99-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m-79.74-76.05c5.93 0.01 11.64 2.13 16.03 5.93 4.38 3.81 7.13 9.04 7.69 14.67 0.58 5.63-1.07 11.26-4.61 15.79-3.54 4.54-8.72 7.65-14.54 8.75-5.82 1.09-11.85 0.08-16.94-2.84-5.08-2.91-8.84-7.53-10.55-12.94-1.72-5.41-1.26-11.24 1.29-16.36 2.54-5.1 6.99-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m0 76.05c5.93 0.01 11.64 2.13 16.03 5.93 4.38 3.81 7.13 9.04 7.69 14.67 0.58 5.63-1.07 11.25-4.61 15.79s-8.72 7.65-14.54 8.74c-5.82 1.1-11.85 0.09-16.94-2.83-5.08-2.91-8.84-7.53-10.55-12.94-1.72-5.41-1.26-11.24 1.29-16.36 2.54-5.1 6.99-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m-79.73-76.05c5.93 0.01 11.64 2.13 16.02 5.93 4.39 3.81 7.13 9.04 7.7 14.67s-1.08 11.26-4.62 15.79c-3.54 4.54-8.72 7.65-14.54 8.75-5.82 1.09-11.85 0.08-16.93-2.84-5.09-2.91-8.84-7.53-10.56-12.94a21.78 21.78 0 0 1 1.3-16.36c2.54-5.1 6.98-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m0 76.05c5.93 0.01 11.64 2.13 16.02 5.93 4.39 3.81 7.13 9.04 7.7 14.67s-1.08 11.25-4.62 15.79-8.72 7.65-14.54 8.74c-5.82 1.1-11.85 0.09-16.93-2.83-5.09-2.91-8.84-7.53-10.56-12.94a21.78 21.78 0 0 1 1.3-16.36c2.54-5.1 6.98-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72",style:{fill:"currentcolor"}}]},settings:{viewBox:"0 0 512 512",paths:[{d:"M464.1500000000001 237.6500000000001c-0.09-2.4-1.11-4.67-2.89-6.37-1.71-1.73-4-2.84-6.47-3.14l-25.52-3.99a5.94 5.94 0 0 1-2.99-1.52 5.3 5.3 0 0 1-1.5-2.95c-0.49-3.04-0.99-6.08-1.69-9.03-0.22-1.05-0.08-2.16 0.4-3.13a6.4 6.4 0 0 1 2.19-2.38l22.73-12.07c2.25-1.11 3.99-2.97 4.88-5.23 0.93-2.25 0.97-4.75 0.1-7.04l-3.89-10.36c-0.87-2.26-2.57-4.15-4.78-5.32a10.7 10.7 0 0 0-7.28-0.86l-25.41 4.76c-1.16 0.17-2.34 0.01-3.39-0.48-1.02-0.47-1.87-1.24-2.39-2.19-1.5-2.66-3.09-5.32-4.79-7.98-0.6-0.94-0.88-2.04-0.8-3.14 0.07-1.12 0.53-2.18 1.3-3.04l16.94-18.63c1.69-1.78 2.68-4.07 2.79-6.47 0.08-2.39-0.77-4.72-2.39-6.56l-7.37-8.46c-1.62-1.85-3.9-3.07-6.4-3.42s-5.05 0.19-7.16 1.52l-22.32 12.74c-1 0.55-2.15 0.79-3.29 0.67-1.16-0.11-2.25-0.57-3.09-1.33-2.5-2.1-4.99-4.09-7.38-5.9a5.14 5.14 0 0 1-1.89-2.66 5.18 5.18 0 0 1 0.2-3.23l9.27-23.2c0.98-2.21 1.09-4.7 0.3-6.99-0.78-2.29-2.42-4.23-4.59-5.46l-10.07-5.61c-2.19-1.23-4.78-1.62-7.27-1.14-2.49 0.47-4.71 1.83-6.18 3.8l-16.35 19.49a5.23 5.23 0 0 1-2.49 1.81c-1.02 0.31-2.12 0.24-3.09-0.19-0.6-0.19-5.78-2.29-9.77-3.52a5.53 5.53 0 0 1-2.69-1.9 4.9 4.9 0 0 1-1-3.04l0.4-24.82c0.15-2.42-0.62-4.82-2.19-6.74-1.54-1.92-3.79-3.2-6.28-3.62l-11.36-1.9c-2.48-0.38-5.02 0.09-7.18 1.33-2.14 1.27-3.74 3.23-4.48 5.52l-8.47 23.57a4.9 4.9 0 0 1-2.1 2.57c-0.97 0.61-2.12 0.91-3.29 0.85h-9.76c-1.15 0.04-2.28-0.29-3.19-0.95a5.3 5.3 0 0 1-2.1-2.56l-8.47-23.48c-0.71-2.31-2.31-4.29-4.48-5.52a11.2 11.2 0 0 0-7.18-1.33l-11.46 1.9c-2.47 0.46-4.71 1.74-6.28 3.62a9.14 9.14 0 0 0-2.19 6.65l0.39 24.91c-0.01 1.13-0.4 2.22-1.09 3.13-0.73 0.87-1.7 1.53-2.79 1.9-2.3 0.86-7.28 2.67-9.47 3.43-2 0.66-4.19-0.1-5.88-2l-16.25-19.01c-1.47-1.98-3.69-3.34-6.18-3.8-2.48-0.48-5.05-0.11-7.27 1.04l-10.07 5.51c-2.22 1.23-3.89 3.19-4.69 5.52-0.81 2.31-0.67 4.83 0.4 7.03l9.17 23.1c0.43 1.04 0.47 2.18 0.1 3.23-0.28 1.05-0.9 1.99-1.79 2.67-2.39 1.9-4.89 3.8-7.38 5.89a5.644 5.644 0 0 1-6.38 0.67l-22.02-13.03c-2.13-1.3-4.68-1.84-7.18-1.52-2.5 0.34-4.77 1.56-6.38 3.42l-7.37 8.46c-1.62 1.84-2.48 4.17-2.4 6.56 0.1 2.41 1.09 4.7 2.79 6.47l17.05 18.63c0.77 0.86 1.22 1.92 1.29 3.04 0.09 1.1-0.19 2.2-0.79 3.14-1.7 2.57-3.29 5.32-4.79 7.98-0.57 0.99-1.43 1.78-2.49 2.29-1.05 0.48-2.23 0.65-3.39 0.47l-25.41-4.66c-2.46-0.59-5.06-0.27-7.29 0.87s-3.93 3.03-4.77 5.31l-3.99 10.36c-0.92 2.28-0.88 4.79 0.1 7.04 0.91 2.24 2.65 4.1 4.88 5.23l22.73 12.07c1 0.54 1.8 1.38 2.29 2.38s0.6 2.15 0.3 3.23l-0.2 1.23c-0.5 2.67-1 5.14-1.5 7.8-0.19 1.07-0.7 2.06-1.49 2.85-0.81 0.8-1.86 1.33-2.99 1.52l-25.62 3.99c-2.5 0.29-4.8 1.44-6.48 3.24-1.69 1.8-2.61 4.14-2.59 6.56v11.02c-0.01 2.42 0.91 4.75 2.58 6.55 1.67 1.81 3.98 2.96 6.49 3.24l25.62 3.9c1.14 0.17 2.2 0.71 2.99 1.52 0.81 0.81 1.32 1.85 1.49 2.95 0.5 3.04 1 6.08 1.7 9.03 0.21 1.09 0.08 2.22-0.4 3.23-0.51 0.96-1.27 1.78-2.19 2.38l-22.73 12.07c-2.25 1.1-4 2.97-4.88 5.23a10 10 0 0 0-0.1 7.03l3.99 10.37c0.87 2.26 2.57 4.15 4.78 5.32 2.23 1.13 4.82 1.45 7.28 0.86l25.51-4.66a5.35 5.35 0 0 1 3.39 0.47c1.02 0.48 1.85 1.24 2.39 2.19 1.5 2.66 3.09 5.32 4.79 7.98 0.59 0.95 0.87 2.04 0.79 3.14-0.07 1.12-0.52 2.2-1.29 3.04l-16.95 18.64c-1.76 1.74-2.8 4.05-2.89 6.46-0.09 2.42 0.76 4.8 2.4 6.65l7.37 8.46c1.62 1.86 3.9 3.08 6.4 3.43s5.04-0.19 7.16-1.52l22.32-12.74c1-0.55 2.15-0.79 3.29-0.67 1.16 0.11 2.24 0.57 3.09 1.33 2.49 2.09 4.98 4.09 7.38 5.9 0.91 0.67 1.57 1.6 1.89 2.66s0.28 2.19-0.1 3.23l-9.27 23.2a9.54 9.54 0 0 0-0.31 6.99c0.79 2.29 2.42 4.23 4.6 5.46l10.06 5.51c2.2 1.23 4.79 1.63 7.28 1.14 2.49-0.46 4.7-1.82 6.18-3.8l16.55-19.3c1.39-1.61 3.58-2.37 5.18-1.71 3.49 1.33 5.78 2.09 9.87 3.42 1.08 0.36 2.02 1.02 2.69 1.91 0.66 0.88 1.01 1.94 0.99 3.04l-0.4 24.81c-0.09 2.42 0.69 4.8 2.2 6.75 1.54 1.91 3.78 3.19 6.28 3.61l11.36 1.9c2.48 0.39 5.02-0.08 7.18-1.33 2.17-1.23 3.77-3.2 4.48-5.51l8.47-23.58a4.88 4.88 0 0 1 2.1-2.56c0.94-0.66 2.12-0.96 3.28-0.86h9.77c1.15-0.04 2.28 0.3 3.19 0.95 0.97 0.63 1.7 1.52 2.1 2.57l8.47 23.48c0.68 2.02 2.01 3.78 3.79 5.05a11 11 0 0 0 6.17 1.98c0.6-0.02 1.21-0.07 1.8-0.19l11.46-1.9c2.48-0.45 4.7-1.73 6.28-3.61a9.2 9.2 0 0 0 2.19-6.66l-0.4-24.9c-0.04-1.1 0.31-2.17 1-3.04s1.63-1.53 2.69-1.91c3.79-1.23 6.48-2.18 8.87-3.04l0.6-0.19c3.09-1.04 4.59 0.19 5.48 1.24l16.75 19.58c1.49 1.96 3.7 3.31 6.19 3.8 2.49 0.5 5.07 0.09 7.26-1.14l10.07-5.51c2.19-1.19 3.84-3.12 4.58-5.42 0.8-2.3 0.7-4.8-0.29-7.03l-9.17-23.1a5.2 5.2 0 0 1-0.2-3.24c0.28-1.07 0.94-2.01 1.89-2.66 2.39-1.9 4.88-3.8 7.38-5.89 0.86-0.72 1.94-1.19 3.09-1.33 1.14-0.12 2.29 0.12 3.28 0.66l22.33 12.74c2.12 1.3 4.68 1.85 7.18 1.52 2.5-0.34 4.77-1.56 6.38-3.42l7.37-8.46a9.44 9.44 0 0 0 2.39-6.65 9.88 9.88 0 0 0-2.79-6.47l-17.04-18.73c-0.76-0.84-1.21-1.9-1.3-3.01s0.19-2.21 0.8-3.17c1.7-2.56 3.29-5.32 4.79-7.98 0.59-0.96 1.45-1.75 2.49-2.28 1.04-0.49 2.23-0.66 3.39-0.48l25.41 4.76c2.45 0.59 5.06 0.28 7.29-0.86s3.93-3.04 4.77-5.32l3.89-10.37c0.92-2.27 0.88-4.79-0.1-7.03-0.92-2.24-2.65-4.1-4.88-5.23l-22.73-12.07a5.37 5.37 0 0 1-2.29-2.38c-0.5-1-0.6-2.16-0.3-3.23l0.2-1.24c0.5-2.66 1-5.13 1.49-7.79 0.19-1.07 0.71-2.06 1.5-2.85 0.81-0.8 1.85-1.33 2.99-1.52l25.61-3.9c2.51-0.29 4.81-1.44 6.48-3.23 1.69-1.81 2.61-4.15 2.59-6.56v-11.22z m-281.47 89.36c-1.23 2.08-2.98 3.84-5.08 5.13-2.09 1.3-4.48 2.12-6.98 2.38-2.47 0.26-4.97-0.07-7.27-0.95-2.33-0.86-4.42-2.23-6.08-3.99-22.46-23.67-34.86-54.48-34.79-86.4 0.08-31.92 12.62-62.66 35.19-86.24 1.66-1.77 3.74-3.13 6.08-3.99 2.31-0.85 4.81-1.14 7.27-0.86 2.49 0.26 4.89 1.08 6.98 2.38 2.08 1.32 3.82 3.08 5.08 5.13l45.45 76.43c1.38 2.3 2.1 4.88 2.1 7.51 0 2.64-0.72 5.22-2.1 7.51z m74.16 44.87c-9.48 0-18.94-0.95-28.21-2.85a15.8 15.8 0 0 1-6.59-3.06c-1.9-1.5-3.4-3.42-4.37-5.59-0.97-2.16-1.41-4.5-1.3-6.85 0.13-2.35 0.85-4.63 2.1-6.65l45.84-76.05c1.4-2.28 3.39-4.19 5.79-5.52 2.39-1.32 5.11-2.01 7.87-1.99h91.8c2.46 0.01 4.88 0.56 7.07 1.61a15.66 15.66 0 0 1 5.58 4.47c1.47 1.92 2.46 4.13 2.89 6.47 0.39 2.32 0.22 4.69-0.49 6.93-17.45 51.53-68.18 89.08-127.98 89.08m7.47-155.81l-45.35-76.24c-1.18-2.05-1.9-4.31-2.09-6.65-0.22-3.54 0.91-7.04 3.15-9.86s5.48-4.79 9.11-5.54c9.08-1.82 18.33-2.75 27.61-2.76 59.8 0 110.53 37.45 127.98 89.17 0.7 2.25 0.87 4.62 0.5 6.94-0.41 2.33-1.4 4.53-2.88 6.43-1.46 1.9-3.38 3.45-5.6 4.5a16.7 16.7 0 0 1-7.07 1.62h-91.7c-2.79 0-5.54-0.69-7.97-2a17.5 17.5 0 0 1-5.69-5.61",style:{fill:"currentcolor"}}]},trailer:{viewBox:"0 0 512 512",paths:[{d:"M434.65500000000003 204.75999999999976l-269.311 2c36.679-13.69 74.355-27.48 112.429-41.35 48.54-17.78 97.08-35.46 142.73-52.67 3.69-1.55 6.589-4.43 8.064-8a13.97 13.97 0 0 0-0.191-11.11l-1.893-4.27a503 503 0 0 0-30.102-64.08c-1.914-2.5-4.647-4.32-7.769-5.19-3.122-0.86-6.453-0.7-9.473 0.44a47263 47263 0 0 1-129.473 47.72c-74.953 27.66-160.67 59.13-193.86 71.49-3.556 1.33-6.43 3.93-8.01 7.25a13.44 13.44 0 0 0-0.462 10.53c5.283 13.97 8.672 22.91 11.163 29.08-6.925 6.11-11.842 14.01-14.153 22.72l-0.797 3.52-0.3 1.33a17 17 0 0 0-0.298 3.04v7.23c0.087 1.38 0.32 2.75 0.697 4.09 1.613 8.67 5.719 16.75 11.86 23.32 6.142 6.58 14.079 11.41 22.926 13.94 0.199 36.03 0.697 147.54 0.697 169.12 0.005 3.7 1.55 7.25 4.297 9.87s6.47 4.09 10.355 4.1c52.127 0 343.266 1.24 343.266 1.24 3.852 0 7.552-1.45 10.295-4.03s4.308-6.09 4.357-9.76c0-1.61 2.292-159.89 2.292-213.6-0.199-15.88-15.449-17.97-19.336-17.97m-155.287 65.4l23.821-36.6 53.424-0.38-24.021 36.98z m-10.765-36.31l-23.622 36.31H192.255l23.323-36.02z m-36.38-81.75c-16.545 6.08-32.791 12.07-49.038 18.06l5.98-49.72 49.039-18.06z m35.084-12.93l-4.385 1.61 5.98-49.81 50.334-18.44-6.08 49.91z m128.676-47.34c-16.945 6.37-34.387 12.74-51.829 19.2l6.081-49.91 27.508-10.07c5.282 11.21 13.156 28.99 18.24 40.78m-311.073 82.32l-5.183-13.4c19.336-7.23 47.244-17.49 78.54-29l-5.98 49.82c-6.379 2.37-12.857 4.75-19.137 7.13-4.406-4.97-9.93-8.92-16.159-11.57-6.229-2.66-13.004-3.93-19.821-3.74-0.798 0-1.894 0.19-2.791 0.19-2.634-0.03-5.266 0.12-7.874 0.48a10.6 10.6 0 0 0-1.595 0.09m-12.857 48.67l0.598-6.65c1.488-4.84 4.785-8.99 9.266-11.68 4.481-2.68 9.836-3.69 15.053-2.87 5.2 0.66 9.945 3.17 13.275 7.04 3.331 3.86 4.999 8.79 4.666 13.78-0.5 4.38-2.579 8.43-5.881 11.5-0.474 0.47-0.974 0.92-1.495 1.34-3.664 2.97-8.253 4.7-13.056 4.94-5.18 0.41-10.335-1.05-14.435-4.1s-6.847-7.45-7.692-12.35c-0.06-0.32-0.16-0.64-0.3-0.95m35.482 43.73c0.997-0.28 1.794-0.85 2.791-1.23a49 49 0 0 0 10.166-4.57l0.2-0.09a51.9 51.9 0 0 0 10.764-8.65c0.299-0.29 0.598-0.48 0.797-0.67s0.698-0.95 1.097-1.33c0.797-0.95 1.495-1.9 2.193-2.85a43.2 43.2 0 0 0 7.176-12.36l38.273-0.28-23.223 35.74H107.535z m314.961 155.62c-54.62-0.19-247.883-1.05-314.164-1.14-0.099-28.05-0.299-83.66-0.498-122.92h316.355c-0.598 47.15-1.294 99.72-1.693 124.06m1.793-152.01h-57.41l24.12-37.26 33.39-0.29c0.099 10.56-0.1 23.48-0.1 37.55",style:{fill:"currentcolor"}}]},"add-to-library":{viewBox:"0 0 512 512",paths:[{d:"M141.81899999999996 68.92000000000007h212.299c9.07-0.28 16.146-6.94 15.947-15.02-0.299-7.7-7.276-13.88-15.947-14.16H141.81899999999996c-9.07 0.28-16.147 6.94-15.948 15.02 0.299 7.7 7.276 13.88 15.948 14.16",style:{fill:"currentcolor"}},{d:"M118.09599999999989 112.74000000000024h254.26c8.874 0 16.044-6.55 16.044-14.54 0-8.08-7.17-14.54-16.044-14.54h-254.26c-8.871 0-16.047 6.56-16.047 14.54 0.1 7.99 7.276 14.54 16.047 14.54",style:{fill:"currentcolor"}},{d:"M391.68999999999994 296.21000000000004h-40.661v-38.69c0-3.48-1.449-6.81-4.029-9.27-2.579-2.47-6.077-3.84-9.725-3.84s-7.147 1.37-9.726 3.84c-2.58 2.46-4.029 5.79-4.029 9.27v38.69h-40.566c-3.648 0-7.146 1.38-9.726 3.84-2.579 2.47-4.029 5.8-4.029 9.28s1.45 6.82 4.029 9.28c2.58 2.46 6.078 3.84 9.726 3.84h40.566v38.69c0 3.48 1.449 6.82 4.029 9.28s6.078 3.84 9.726 3.84 7.146-1.38 9.725-3.84c2.58-2.46 4.029-5.8 4.029-9.28v-38.69h40.661c3.65 0 7.15-1.38 9.73-3.84s4.03-5.8 4.03-9.28-1.45-6.81-4.03-9.28c-2.58-2.46-6.08-3.84-9.73-3.84",style:{fill:"currentcolor"}},{d:"M424.3799999999999 200.20000000000027v-28.52c-0.02-11.96-5.01-23.45-13.88-31.91s-20.91-13.22-33.458-13.24H99.85799999999995c-12.555 0.01-24.592 4.76-33.469 13.23s-13.867 19.95-13.875 31.92v170.16c0.015 11.97 5.007 23.46 13.883 31.92 8.876 8.47 20.909 13.22 33.461 13.24h118.608c11.763 16.43 27.129 30.23 45.035 40.43 17.907 10.21 37.925 16.59 58.669 18.68 20.744 2.1 41.719-0.13 61.47-6.52 19.75-6.4 37.81-16.81 52.92-30.53 15.12-13.71 26.94-30.39 34.62-48.89 7.69-18.49 11.07-38.36 9.92-58.22-1.17-19.87-6.84-39.25-16.63-56.82-9.8-17.57-23.47-32.9-40.09-44.93m-324.522 157.61c-4.465-0.01-8.744-1.7-11.901-4.71s-4.935-7.09-4.944-11.35v-170.16c0.009-4.26 1.787-8.34 4.944-11.35 3.157-3.02 7.436-4.71 11.901-4.72h277.184c4.468 0.01 8.738 1.7 11.898 4.72 3.16 3.01 4.94 7.09 4.95 11.35v11.41c-25.963-10.66-54.638-13.79-82.448-8.99-27.81 4.79-53.523 17.29-73.928 35.95-20.405 18.65-34.596 42.61-40.802 68.92-6.206 26.29-4.152 53.74 5.906 78.93z m237.515 62.75c-15.997-0.01-31.821-3.16-46.483-9.26-14.663-6.11-27.849-15.02-38.735-26.2l-4.486-5.23a116 116 0 0 1-13.455-19.68l-1.296-2.38h-0.498c-11.035-21.73-14.358-46.28-9.469-69.97 4.888-23.68 17.724-45.21 36.567-61.32 18.845-16.13 42.675-25.96 67.894-28.02 25.218-2.06 50.458 3.76 71.908 16.58 21.44 12.81 37.93 31.95 46.97 54.49 9.05 22.55 10.16 47.29 3.17 70.49s-21.72 43.6-41.93 58.12c-20.22 14.52-44.846 22.38-70.157 22.38",style:{fill:"currentcolor"}}]},"remove-from-library":{viewBox:"0 0 512 512",paths:[{d:"M391.5999999999999 296.21000000000004h-108.74c-3.65 0-7.15 1.38-9.73 3.84-2.58 2.47-4.02 5.8-4.02 9.28s1.44 6.82 4.02 9.28 6.08 3.84 9.73 3.84h108.74c3.65 0 7.15-1.38 9.73-3.84s4.03-5.8 4.03-9.28-1.45-6.81-4.03-9.28c-2.58-2.46-6.08-3.84-9.73-3.84",style:{fill:"currentcolor"}},{d:"M424.3899999999999 200.20000000000027v-28.52c-0.01-11.97-4.99-23.45-13.87-31.92s-20.91-13.22-33.47-13.23h-277.19c-12.54 0.02-24.58 4.78-33.45 13.24-8.88 8.46-13.87 19.95-13.89 31.91v170.16c0.02 11.97 5.01 23.45 13.89 31.92 8.87 8.46 20.91 13.22 33.45 13.24h118.61c11.76 16.43 27.13 30.23 45.03 40.43 17.92 10.21 37.93 16.59 58.68 18.68 20.74 2.1 41.71-0.13 61.47-6.52 19.75-6.4 37.81-16.81 52.92-30.53 15.12-13.71 26.93-30.39 34.62-48.89 7.69-18.49 11.07-38.36 9.92-58.22-1.17-19.87-6.84-39.25-16.63-56.82-9.8-17.57-23.47-32.9-40.09-44.93m-324.53 157.61c-4.46-0.01-8.74-1.7-11.9-4.71s-4.93-7.09-4.94-11.35v-170.16c0.01-4.26 1.78-8.34 4.94-11.35 3.16-3.02 7.44-4.71 11.9-4.72h277.19c4.46 0.01 8.74 1.7 11.9 4.72 3.16 3.01 4.93 7.09 4.94 11.35v11.41c-25.95-10.66-54.63-13.79-82.44-8.99-27.81 4.79-53.53 17.29-73.93 35.95-20.4 18.65-34.6 42.61-40.81 68.92-6.19 26.29-4.14 53.74 5.92 78.93z m237.42 62.75c-16-0.01-31.82-3.16-46.49-9.26-14.66-6.11-27.84-15.02-38.73-26.2l-4.48-5.23a115.4 115.4 0 0 1-13.46-19.68l-1.29-2.38h-0.5c-10.03-19.79-13.67-41.97-10.48-63.72 3.19-21.76 13.08-42.14 28.42-58.54 15.33-16.41 35.41-28.1 57.72-33.62 22.3-5.52 45.82-4.6 67.57 2.63 21.76 7.23 40.78 20.45 54.66 37.99 13.88 17.55 21.99 38.62 23.32 60.56 1.31 21.94-4.21 43.76-15.89 62.7-11.68 18.95-28.99 34.16-49.74 43.72-15.77 7.31-33.09 11.08-50.63 11.03",style:{fill:"currentcolor"}},{d:"M141.82999999999993 68.92000000000007h212.29c9.07-0.28 16.15-6.94 15.95-15.02-0.3-7.7-7.27-13.88-15.95-14.16h-212.29c-9.07 0.28-16.15 6.94-15.95 15.02 0.3 7.7 7.27 13.88 15.95 14.16",style:{fill:"currentcolor"}},{d:"M118.09999999999991 112.74000000000024h254.36c8.87 0 16.05-6.55 16.05-14.54 0-8.08-7.18-14.54-16.05-14.54h-254.26c-8.87 0-16.04 6.56-16.04 14.54 0 7.99 7.17 14.54 15.94 14.54",style:{fill:"currentcolor"}}]},details:{viewBox:"0 0 512 512",paths:[{d:"M414.23 76.04999999999973h-314.56c-14.09 0.03-27.58 5.37-37.54 14.87-9.96 9.49-15.56 22.37-15.59 35.8v234.04c0.03 13.43 5.63 26.3 15.59 35.8s23.45 14.84 37.54 14.87h314.56c14.08-0.03 27.58-5.37 37.53-14.87 9.96-9.5 15.56-22.37 15.59-35.8v-234.04c-0.04-13.42-5.65-26.29-15.61-35.78-9.95-9.5-23.44-14.85-37.51-14.89m19.73 284.71c-0.01 4.99-2.09 9.77-5.79 13.3s-8.71 5.51-13.94 5.52h-314.56c-5.24-0.01-10.25-1.99-13.95-5.52s-5.78-8.31-5.79-13.3v-234.04c0.01-4.99 2.09-9.77 5.79-13.3s8.71-5.52 13.95-5.52h314.56c5.23 0 10.24 1.99 13.94 5.52s5.78 8.31 5.79 13.3z",style:{fill:"currentcolor"}},{d:"M129.97000000000003 175.48000000000002h203.92c4.17-0.27 8.07-2.04 10.92-4.95 2.85-2.92 4.43-6.75 4.43-10.73s-1.58-7.81-4.43-10.73c-2.85-2.91-6.75-4.68-10.92-4.96h-203.92c-4.17 0.28-8.08 2.05-10.92 4.96-2.85 2.92-4.43 6.75-4.43 10.73s1.58 7.81 4.43 10.73c2.84 2.91 6.75 4.68 10.92 4.95",style:{fill:"currentcolor"}},{d:"M219.3699999999999 284.4200000000001h-89.4c-4.18 0.28-8.09 2.06-10.95 4.98s-4.44 6.76-4.44 10.76c0 3.99 1.58 7.84 4.44 10.76s6.77 4.69 10.95 4.97h87.51c4.17-0.28 8.08-2.05 10.94-4.97 2.85-2.92 4.45-6.77 4.45-10.76 0-4-1.6-7.84-4.45-10.76-2.86-2.92-6.77-4.7-10.94-4.98",style:{fill:"currentcolor"}},{d:"M335.99000000000024 212.3699999999999h-206.02c-4.18 0.28-8.09 2.05-10.95 4.97-2.86 2.93-4.44 6.77-4.44 10.76 0 4 1.58 7.85 4.44 10.76 2.86 2.92 6.77 4.7 10.95 4.98h204.42c4.18-0.28 8.08-2.06 10.94-4.98 2.86-2.91 4.45-6.76 4.45-10.76 0-3.99-1.59-7.83-4.45-10.76-2.86-2.92-6.76-4.69-10.94-4.97",style:{fill:"currentcolor"}}]},memory:{viewBox:"0 0 512 512",paths:[{d:"M437.1500000000001 136.0300000000002l-59.7-56.94c-3.6-3.46-7.89-6.2-12.61-8.06a40.3 40.3 0 0 0-14.9-2.78h-212.5c-13.75 0.01-26.92 5.22-36.64 14.49s-15.18 21.84-15.19 34.95v247.25c0.01 13.11 5.47 25.68 15.19 34.95s22.89 14.48 36.64 14.48h259.24c13.75 0 26.92-5.21 36.64-14.48s15.18-21.84 15.19-34.95v-202.67c0.02-4.88-0.97-9.71-2.92-14.2-1.95-4.51-4.82-8.6-8.44-12.04m-280.28-5.99h142.53c0.85 0 1.7 0.16 2.49 0.47 0.78 0.31 1.5 0.77 2.1 1.34a6.08 6.08 0 0 1 1.89 4.37v37.08c0 0.81-0.17 1.61-0.49 2.36-0.65 1.52-1.92 2.72-3.5 3.35-0.79 0.31-1.64 0.47-2.49 0.47h-142.53c-0.84 0-1.69-0.16-2.48-0.47-1.58-0.63-2.85-1.83-3.51-3.35-0.31-0.75-0.48-1.55-0.48-2.36v-37.08c0-0.8 0.17-1.61 0.48-2.36 0.49-1.13 1.32-2.1 2.39-2.78a6.77 6.77 0 0 1 3.6-1.04m113.23 247.26c-12.81 0.57-25.5-2.49-36.48-8.79-10.97-6.31-19.75-15.58-25.21-26.65-5.45-11.05-7.34-23.41-5.44-35.5 1.92-12.1 7.54-23.37 16.17-32.41 8.62-9.04 19.87-15.44 32.31-18.39 12.44-2.94 25.52-2.3 37.58 1.85 12.06 4.13 22.55 11.6 30.17 21.43 7.61 9.83 12 21.6 12.6 33.82 0.1 1.9 0.1 3.9 0 5.8-0.77 15.37-7.52 29.9-18.93 40.79-11.4 10.87-26.65 17.31-42.77 18.05",style:{fill:"currentcolor"}}]},"play-outline":{viewBox:"0 0 512 512",paths:[{d:"M134.74599999999998 101.34000000000015v280.14c0 16.83 15.051 27.57 27.509 19.49l219.775-143.26c8.771-6.56 10.664-19.2 4.186-28.23a21.6 21.6 0 0 0-4.186-4.28l-219.775-143.35c-12.458-8.08-27.509 2.76-27.509 19.49Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"36.752",fill:"none"}}]},play:{viewBox:"0 0 512 512",paths:[{d:"M396.47999999999996 233.94999999999982l-231.137-152.67a13.6 13.6 0 0 0-4.771-1.98c-1.711-0.35-3.48-0.38-5.202-0.07-1.722 0.29-3.366 0.92-4.836 1.82-1.47 0.91-2.737 2.08-3.73 3.46a12.6 12.6 0 0 0-2.392 7.23v305.53a12.15 12.15 0 0 0 1.025 4.85 12.6 12.6 0 0 0 2.9 4.11 13.2 13.2 0 0 0 4.332 2.74c1.619 0.62 3.352 0.95 5.099 0.94 2.714 0.02 5.365-0.78 7.575-2.28l231.137-152.67a13.1 13.1 0 0 0 3.627-3.56 12.4 12.4 0 0 0 1.919-4.61 12.1 12.1 0 0 0-0.084-4.96 12.25 12.25 0 0 0-2.073-4.55 13.4 13.4 0 0 0-3.389-3.24z",style:{fill:"currentcolor"}}]},"external-player":{viewBox:"0 0 512 512",paths:[{d:"M434.0600000000004 243.17000000000007c0.1 24.52 0 49.05 0.1 73.67z",style:{fill:"currentcolor"}},{d:"M469.4400000000005 130.51999999999998c0-11.03-4.48-19.11-14.15-25.29-4.69-3.04-10.27-4.47-16.95-4.47h-362.8c-5.99-0.16-11.89 1.4-16.94 4.47-9.67 6.18-14.16 14.26-14.16 25.29v0.09c0.1 36.32 0.13 72.63 0.1 108.95V310.57000000000016c0 15.49 0 30.89-0.1 46.39-0.04 1.92 0.16 3.83 0.6 5.7 0.84 4.52 2.83 8.76 5.8 12.36s6.84 6.44 11.25 8.27c1.65 0.65 3.35 1.19 5.08 1.62 2.56 0.68 5.21 1.03 7.87 1.04h46.55l14.75-33.08-33.29-0.19c-3.89 0-7.87-0.1-11.86 0.09-4.19 0.19-10.47 0.38-11.26-6.37-0.09-0.76-0.12-1.52-0.1-2.28v-201.62c0-2.28 0-4.76 2.09-6.75 2.09-2 4.78-2 7.08-1.9l34.58 0.19h267.22l34.59-0.19c2.29 0 4.98 0 7.07 1.9 2.1 1.99 2.1 4.56 2.1 6.75v201.72c0.02 0.76-0.01 1.52-0.1 2.28-0.9 6.84-7.08 6.56-11.27 6.37-3.88-0.19-7.87-0.1-11.86-0.1l-26.61 0.19 15.95 33.09h38.57c2.66-0.07 5.3-0.42 7.87-1.05 1.76-0.36 3.46-0.9 5.09-1.62 4.41-1.81 8.28-4.65 11.26-8.26 2.97-3.59 4.96-7.85 5.78-12.36 0.48-1.87 0.68-3.79 0.6-5.71-0.1-15.21-0.1-30.42-0.1-45.63v-71.77c0-36.31-0.1-72.63 0.1-108.94-0.4-0.1-0.4-0.19-0.4-0.19",style:{fill:"currentcolor"}},{d:"M339.5700000000006 320.1700000000001c-4.78-14.55-4.88-14.55-20.73-13.69h-0.5c-2.89 0-4.39 0.95-3.59 4.08 1.1 4.38-0.99 7.7-4.38 10.56-4.79 3.99-10.47 6.27-16.45 7.98-17.84 5.13-35.98 5.42-54.12 2.76-10.07-1.52-20.03-3.8-28.31-10.27-2.99-2.37-5.18-5.04-5.28-8.84-0.1-6.27-0.1-6.27-7.08-6.27q-2.49 0.135-4.98 0c-5.58-0.38-8.57 1.99-10.17 7.03-5.88 18.63-12.16 37.17-18.14 55.8a38.2 38.2 0 0 0-1.99 9.32c-0.3 3.9 1.4 6.37 5.98 6.56 4.49 0.09 8.97 0.66 13.56 0.66 25.91 0.1 51.92 0 77.84 0 27.41 0 54.92 0.1 82.33 0 14.55-0.09 16.54-2.75 12.26-15.97-5.29-16.54-10.77-33.08-16.25-49.71",style:{fill:"currentcolor"}},{d:"M227.04000000000042 245.35000000000036c-2.89 9.51-5.88 19.02-8.87 28.43-2.29 7.03-1.29 9.6 5.68 13.02 2.99 1.39 6.09 2.57 9.27 3.52a79.9 79.9 0 0 0 27.31 2.94c3.69 0.17 7.38 0.13 11.06-0.09 10.17-0.95 20.34-2.28 29.11-7.89 2.59-1.62 5.08-3.71 4.09-7.03-3.39-11.32-7.08-22.63-10.67-33.94-0.5-1.52-1-2.57-3.19-1.52-14.05 6.46-28.9 5.89-43.75 4.47-5.19-0.48-10.47-1.15-14.86-3.9-3.28-1.9-4.18-1.05-5.18 1.99",style:{fill:"currentcolor"}},{d:"M277.47000000000025 205.71000000000004c3.09-0.76 3.89-2.56 2.9-5.41-1.7-5.04-3.09-10.08-4.79-15.12-3.09-9.03-4.58-9.98-14.35-9.98-10.57 0-12.66 1.42-15.65 11.03-1.5 4.75-2.89 9.5-4.49 14.16-0.89 2.66-0.09 4.37 2.7 5.13a70.5 70.5 0 0 0 33.68 0.19",style:{fill:"currentcolor"}}]},"series-outline":{viewBox:"0 0 512 512",paths:[{d:"M462.8600000000001 126.0600000000004c-7.77-5.23-16.64-5.99-25.61-5.99h-150.31c-3.39 0-6.97 0.85-11.26-1.71 12.66-12.74 24.82-24.91 36.88-37.17 8.37-8.46 16.74-16.83 24.92-25.39 4.48-4.75 6.58-10.17 1.09-15.39-5.48-5.23-10.96-2.95-15.94 1.33-1.5 1.33-2.89 2.75-4.29 4.08-18.14 18.16-36.38 36.32-54.22 54.76-4.69 4.75-8.07 6.18-12.96 0.47-4.68-5.32-9.97-9.98-14.95-15.02-14.85-14.73-29.5-29.56-44.45-44.29-4.39-4.47-9.47-6.94-15.25-2.19s-4.69 10.27-0.4 15.4c1.89 2.09 3.79 4.18 5.88 6.08 16.94 17.02 33.99 33.94 50.83 51.15 1.8 1.8 5.78 3.42 4.19 6.46-1.4 2.66-5.28 1.43-8.07 1.43h-152c-27.41 0.09-39.77 12.07-39.77 38.12v222.06c0 26.24 12.26 38.03 39.57 38.03h359.61c5.21-0.02 10.42-0.47 15.55-1.33 6.73-1.3 12.79-4.74 17.18-9.78 4.39-5.03 6.84-11.34 6.94-17.89q0.15-119.775 0-239.46c0.4-10.46-4.59-17.97-13.16-23.76m-100.76 231.09c-0.01 7.05-2.95 13.82-8.19 18.81-5.23 4.99-12.33 7.8-19.72 7.81h-229.84c-7.4-0.01-14.5-2.82-19.73-7.81s-8.17-11.76-8.18-18.81v-178.05c0.01-7.05 2.95-13.82 8.18-18.81s12.33-7.8 19.73-7.81h229.84c7.39 0.01 14.49 2.82 19.72 7.81 5.24 4.99 8.18 11.76 8.19 18.81z m58.1-98.58c-5.68-0.11-11.09-2.28-15.17-6.05-4.06-3.78-6.47-8.88-6.75-14.29-0.05-5.37 2.14-10.53 6.08-14.36 3.94-3.85 9.32-6.02 14.95-6.08h0.4c12.85-0.09 21.32 7.7 21.42 19.77 0.11 5.43-2.02 10.67-5.94 14.6-3.91 3.94-9.31 6.24-14.99 6.41m-0.49-64.16c-4.25 0-8.39-1.2-11.92-3.45-3.52-2.24-6.27-5.43-7.9-9.17a19.67 19.67 0 0 1-1.22-11.82c0.83-3.97 2.87-7.61 5.87-10.47s6.81-4.8 10.98-5.59c4.16-0.79 8.47-0.39 12.39 1.16s7.26 4.17 9.62 7.54c2.35 3.36 3.6 7.32 3.6 11.36 0.09 5.29-2.01 10.42-5.86 14.25-3.84 3.82-9.12 6.04-14.67 6.19z",style:{fill:"currentcolor"}}]},series:{viewBox:"0 0 512 512",paths:[{d:"M462.8600000000001 126.05999999999949c-7.77-5.23-16.64-5.99-25.61-5.99h-150.31c-3.39 0-6.97 0.85-11.26-1.71 12.66-12.74 24.82-24.91 36.88-37.17 8.37-8.46 16.74-16.83 24.92-25.39 4.48-4.75 6.58-10.17 1.09-15.4-5.48-5.22-10.96-2.94-15.94 1.34-1.5 1.33-2.89 2.75-4.29 4.08-18.14 18.16-36.38 36.32-54.22 54.76-4.69 4.75-8.07 6.18-12.96 0.47-4.68-5.32-9.97-9.98-14.95-15.02-14.85-14.73-29.5-29.56-44.45-44.29-4.39-4.47-9.47-6.94-15.25-2.19s-4.69 10.27-0.4 15.4c1.89 2.09 3.79 4.18 5.88 6.08 16.94 17.02 33.99 33.94 50.83 51.15 1.8 1.8 5.78 3.42 4.19 6.46-1.4 2.66-5.28 1.43-8.07 1.43h-152c-27.41 0.09-39.77 12.07-39.77 38.12v222.06c0 26.24 12.26 38.03 39.57 38.03h359.61c5.21-0.02 10.42-0.47 15.55-1.33 6.73-1.29 12.79-4.74 17.18-9.78 4.39-5.03 6.84-11.34 6.94-17.89q0.15-119.775 0-239.46c0.4-10.46-4.59-17.97-13.16-23.76m-100.76 231.09c-0.01 7.05-2.95 13.82-8.19 18.81-5.23 4.99-12.33 7.8-19.72 7.81h-229.84c-7.4-0.01-14.5-2.82-19.73-7.81s-8.17-11.76-8.18-18.81v-178.05c0.01-7.05 2.95-13.82 8.18-18.81s12.33-7.8 19.73-7.81h229.84c7.39 0.01 14.49 2.82 19.72 7.81 5.24 4.99 8.18 11.76 8.19 18.81z m58.1-98.58c-5.68-0.11-11.09-2.27-15.17-6.05-4.06-3.78-6.47-8.88-6.75-14.29-0.05-5.37 2.14-10.53 6.08-14.37 3.94-3.83 9.32-6.01 14.95-6.07h0.4c12.85-0.09 21.32 7.7 21.42 19.77 0.11 5.43-2.02 10.68-5.94 14.6-3.91 3.94-9.31 6.24-14.99 6.41m-0.49-64.17c-4.24 0-8.39-1.19-11.92-3.44-3.51-2.24-6.26-5.43-7.88-9.17a19.64 19.64 0 0 1-1.23-11.81c0.83-3.96 2.88-7.61 5.88-10.46 2.99-2.86 6.8-4.81 10.97-5.6 4.16-0.79 8.46-0.38 12.38 1.17 3.92 1.54 7.25 4.16 9.62 7.53a19.76 19.76 0 0 1 3.6 11.35c0.09 5.3-2.01 10.42-5.86 14.25-3.84 3.82-9.12 6.04-14.67 6.18z",style:{fill:"currentcolor"}},{d:"M117.09999999999991 176.0599999999995h207.32s11.96 0 11.96 11.4v160.66s0 11.41-11.96 11.41h-207.32s-11.96 0-11.96-11.41v-160.66s0-11.4 11.96-11.4",style:{fill:"currentcolor"}}]},megaphone:{viewBox:"0 0 512 512",paths:[{d:"M374.6199999999999 63.029999999999745s-74.27 88.15-144.21 88.15h-137.41c-3.67 0-7.17 1.39-9.78 3.86-2.59 2.48-4.04 5.83-4.04 9.33v78.71c0.04 3.46 1.52 6.78 4.1 9.2 2.6 2.44 6.08 3.8 9.72 3.79h137.41c69.94 0 144.21 88.75 144.21 88.75 5.36 6.49 20.62 1.96 20.62-8.07v-265.65c0-10.23-14.43-15.55-20.62-8.07",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M79.1899999999996 229.89999999999964s-13.63-4.92-13.63-26.17c0-21.26 13.63-26.17 13.63-26.17",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M409.0799999999999 221.82999999999993c4.99-1.63 9.12-5.04 11.51-9.53a18.56 18.56 0 0 0 1.28-14.48 19.8 19.8 0 0 0-4.93-7.5 20.74 20.74 0 0 0-7.86-4.69",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M244.42999999999938 152.5599999999995v99.57",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M117.75999999999931 152.5599999999995v99.57",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M148.08999999999924 256.0699999999997v137.74a6.23 6.23 0 0 0 1.13 3.62c0.74 1.08 1.81 1.91 3.07 2.4 0.82 0.32 1.71 0.48 2.61 0.47h45.39c1.81 0 3.62-0.34 5.29-0.99 1.68-0.67 3.21-1.64 4.49-2.87 1.28-1.22 2.3-2.68 3-4.27 0.69-1.6 1.04-3.32 1.04-5.05 0-1.27-0.21-2.53-0.62-3.74-7.22-22.04-24.14-46.83-24.14-87.96h13.62c3.64 0.01 7.13-1.35 9.72-3.78 2.58-2.43 4.06-5.74 4.1-9.2v-13.19c0.01-3.47-1.41-6.79-3.96-9.26-2.56-2.47-6.02-3.88-9.65-3.92h-13.83",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}}]},"channels-outline":{viewBox:"0 0 512 512",paths:[{d:"M197.23999999999978 286.3299999999999v-120.63c-0.01-2.59 0.78-5.12 2.28-7.28 1.49-2.15 3.63-3.84 6.13-4.83 1.66-0.66 3.44-1 5.24-1.01 2.33 0.02 4.63 0.57 6.68 1.61l113.82 60.27c2.97 1.54 5.23 4.08 6.35 7.12s1.01 6.36-0.3 9.34c-1.19 2.74-3.33 5.02-6.05 6.45l-113.82 60.37c-2.08 1.12-4.44 1.7-6.83 1.68-2.38-0.02-4.72-0.64-6.79-1.8-2.06-1.16-3.76-2.8-4.94-4.79a12.44 12.44 0 0 1-1.77-6.5",style:{fill:"currentcolor"}},{d:"M411.6300000000001 417.1399999999994h-300.91c-3.78-0.15-7.36-1.69-9.98-4.29-2.63-2.61-4.09-6.08-4.09-9.69s1.46-7.08 4.09-9.68c2.62-2.61 6.2-4.15 9.98-4.29h300.91c3.79 0.14 7.36 1.68 9.99 4.29 2.62 2.6 4.08 6.07 4.08 9.68s-1.46 7.08-4.08 9.69c-2.63 2.6-6.2 4.14-9.99 4.29",style:{fill:"currentcolor"}},{d:"M456.5799999999999 367.8899999999994h-388.62c-5.09 0-10.13-0.96-14.84-2.81-4.7-1.85-8.98-4.58-12.58-8.01-3.59-3.44-6.45-7.51-8.4-12s-2.95-9.3-2.95-14.16v-209.8c0-4.86 1-9.67 2.95-14.15 1.95-4.49 4.81-8.57 8.4-12 3.6-3.43 7.88-6.16 12.58-8.01a40.2 40.2 0 0 1 14.84-2.82h388.62c5.09 0 10.14 0.95 14.84 2.82 4.71 1.85 8.98 4.58 12.58 8.01s6.46 7.51 8.4 12a35.4 35.4 0 0 1 2.95 14.15v209.8c-0.02 9.81-4.1 19.21-11.37 26.14s-17.12 10.82-27.4 10.84m-388.72-259.8c-3.64 0.01-7.13 1.39-9.71 3.85-2.59 2.46-4.03 5.79-4.04 9.27v209.7c0.01 3.48 1.45 6.81 4.04 9.27 2.58 2.46 6.07 3.84 9.71 3.85h388.62c3.65-0.01 7.14-1.39 9.72-3.85s4.03-5.79 4.03-9.27v-209.8c0-3.48-1.45-6.8-4.03-9.27-2.58-2.46-6.07-3.84-9.72-3.85h-388.62z",style:{fill:"currentcolor"}}]},channels:{viewBox:"0 0 512 512",paths:[{d:"M456.5799999999999 367.8900000000003h-388.62c-5.09 0-10.13-0.95-14.84-2.81-4.7-1.85-8.98-4.58-12.58-8.01-3.59-3.44-6.45-7.51-8.4-12s-2.95-9.3-2.95-14.16v-209.8c0-4.86 1-9.67 2.95-14.15 1.95-4.49 4.81-8.57 8.4-12 3.6-3.43 7.88-6.16 12.58-8.01 4.71-1.86 9.75-2.82 14.84-2.82h388.62c5.09 0 10.14 0.96 14.84 2.82 4.71 1.85 8.98 4.58 12.58 8.01s6.46 7.51 8.4 12a35.4 35.4 0 0 1 2.95 14.15v209.8c-0.02 9.8-4.1 19.21-11.37 26.14s-17.12 10.83-27.4 10.84m-245.69-215.31c-1.8 0.01-3.58 0.35-5.24 1.01-1.67 0.66-3.17 1.63-4.44 2.85a13 13 0 0 0-2.95 4.25c-0.68 1.58-1.03 3.29-1.02 5.01v120.63c-0.03 3.44 1.38 6.76 3.91 9.21 2.54 2.45 5.98 3.85 9.59 3.88h0.12c2.35 0 4.67-0.58 6.71-1.68l113.82-60.37a13.4 13.4 0 0 0 4.47-3.72c1.18-1.54 2-3.3 2.39-5.17 0.39-1.88 0.35-3.81-0.13-5.66s-1.36-3.58-2.62-5.08a13.6 13.6 0 0 0-4.11-3.28l-113.82-60.27a15.1 15.1 0 0 0-6.68-1.61",style:{fill:"currentcolor"}},{d:"M411.6300000000001 417.1400000000003h-300.91c-3.78-0.15-7.36-1.69-9.98-4.29-2.63-2.61-4.09-6.08-4.09-9.69s1.46-7.08 4.09-9.69c2.62-2.6 6.2-4.14 9.98-4.28h300.91c3.79 0.14 7.36 1.68 9.99 4.28 2.62 2.61 4.08 6.08 4.08 9.69s-1.46 7.08-4.08 9.69c-2.63 2.6-6.2 4.14-9.99 4.29",style:{fill:"currentcolor"}}]},actors:{viewBox:"0 0 512 512",paths:[{d:"M125.45000000000073 311.5100000000002c6.84 4.9 11.7 11.08 15.77 20.05 18.77 41.28 50.5 67.06 94.31 76.61 7.62 1.68 15.42 2.55 23.24 2.56 24.01 0 47.77-8.47 70.65-25.2 21.36-15.64 36.7-35.21 45.59-58.2 2.69-6.97 7.52-11.02 12.66-14.89 18.32-13.83 27.19-30.99 27.09-52.48-0.04-8.88-3.01-15.74-9.07-20.98-7.71-6.67-7.55-14.43-6.76-19.7l1.24-8.1c1.73-10.97 3.35-21.35 3.88-32 1.64-32.77-11.62-61.48-40.52-87.76-20.7-18.81-44.74-31.29-73.48-38.18a302 302 0 0 0-38.13-2.76c-11.05 0-19.99 0.89-26.6 2.62-43.05 11.34-74.71 32.16-96.83 63.69-12.88 18.36-18.31 40.6-16.57 67.96 0.49 7.79 1.42 15.8 2.33 23.53 0.42 3.64 0.84 7.28 1.22 10.94 0.42 3.85 1.26 11.9-5.8 18.6-11.82 11.22-13.73 24.53-6.43 44.55 4.15 11.63 11.89 21.79 22.21 29.14m-6.29-53.69c1.71-8.77 6.85-14.86 14.49-17.14 2.29-0.68 3.06-0.91 2.74-5.6-0.99-14.14 2.67-27.57 6.78-39.97 3.3-10.35 9.76-19.51 18.56-26.33 1.97-1.54 5.06-3.57 9.02-3.57 2.42 0 8.37 0.89 11.01 9.11 5.59 17.33 18.41 27.78 44.28 36.05a85.5 85.5 0 0 0 26.2 4.24c1.61 0 3.21-0.04 4.83-0.14 2.56-0.11 5.1-0.45 7.59-1.03-4.58-6.29-9.49-18.97-9.16-24.25l1.34-20.61 13.2 16.37c12.16 15.06 29.48 18.99 46.39 20.98 3.66 0.43 7.34 0.64 11.01 0.64 10.45 0 20.84-1.52 33.22-3.79 2.11-0.45 4.24-0.7 6.39-0.76 11.62 0 11.76 11.07 11.8 14.72 0.08 8.03-0.14 15.2-0.71 21.92-0.04 0.35-0.05 0.7-0.02 1.04 0.33 0.2 0.66 0.38 1.02 0.52 13.76 6 18.73 14.95 16.15 29-2.52 13.72-8.5 33-31.16 41.84-0.61 1.02-1.09 2.1-1.41 3.25l-0.65 1.84c-7.38 19.69-17.71 35.33-31.63 47.84-20.78 18.67-44.13 28.81-69.41 30.13-1.7 0.08-3.39 0.13-5.06 0.13-20.1 0-39.82-6.42-58.63-19.13-21.74-14.4-37.82-35.32-45.68-59.43-1.25-3.79-2.44-5.19-5.57-6.56-17.47-7.62-30.57-32.55-26.93-51.31",style:{fill:"currentcolor"}}]},"anime-outline":{viewBox:"0 0 512 512",paths:[{d:"M358.9200000000001 128.55000000000018c15.56-17.46 35.51-25.42 59.24-22.09 16.55 2.33 30.06 10.56 40.54 23.47 19.76 24.39 19.12 72.77-30.15 93.25 0.16 2.08 0.2 4.32 0.5 6.55 1.48 10.46 3.47 20.87 4.44 31.37 1.23 13.44-3.38 18.16-17.48 19.38-1.02 0.17-2.03 0.42-3 0.74 6.02 25.39 12.02 50.7 18.01 75.94 0.73 3.06 1.49 6.12 2 9.22 1.33 8.01-2.83 14.37-10.1 15.7-7.84 1.41-14.32-2.95-16.35-11.17-3.09-12.51-6.07-25.04-9.14-37.56-0.33-1.32-0.93-2.57-1.8-4.98-30.32 53.03-75.26 83.33-138.47 83.37-63.32 0.05-108.39-30.1-139.11-83.87-1.98 7.67-3.66 13.88-5.18 20.13-1.96 8.07-3.6 16.2-5.75 24.23-0.87 3.38-3.1 6.31-6.2 8.13-3.11 1.84-6.86 2.43-10.42 1.65-6.8-1.52-11.29-7.92-9.64-15.26 5.09-22.61 10.57-45.14 15.88-67.71 1.38-5.84 2.69-11.69 4.03-17.52-0.59-0.33-1.07-0.82-1.59-0.86-15.77-1.38-20.16-5.93-18.69-20.91 0.99-10.22 3-20.33 4.49-30.51 0.29-1.95 0.31-3.94 0.51-6.56-22.04-8.49-37.11-23.44-41.47-45.97-3.41-17.55 0.61-34.19 12.56-48.55 20.21-24.26 65.25-35.02 98.77 0.15 67.25-39.69 134.76-39.99 203.57 0.24m-12.01 25.12c-51.66-39.42-131.52-37.81-179.31-0.22 3.96 39-14.89 62.58-54.35 72.58-1.75 9-3.46 17.85-5.33 27.53h57.29c3.01-8.96 5.82-17.68 8.86-26.31 2.9-8.22 10.13-12.55 17.03-10.48 8.12 2.45 11.57 9.08 9.01 17.84-1.83 6.25-3.99 12.43-6.07 18.84h49.67c0-8.11-0.16-15.52 0.04-22.92 0.23-8.51 5.9-14.39 13.38-14.28 7.53 0.11 12.78 5.9 13.07 14.6 0.15 4.3-0.02 8.6 0.07 12.91 0.08 3.31 0.34 6.61 0.52 9.87h49.23c-2.37-7.15-4.75-13.59-6.6-20.15-2.15-7.59 1.45-13.94 8.88-16.51 6.45-2.24 13.25 1.09 16.6 8.22 0.73 1.54 1.09 3.26 1.66 4.87 2.76 7.83 5.54 15.64 8.28 23.37h57.27c-1.98-9.8-3.78-18.66-5.66-27.98-17.66-3.59-32.57-10.88-42.98-24.97-10.36-14.04-14.02-29.5-10.56-46.81m33.92 127.52h-247.79c3.55 28.96 18.13 55.67 40.98 75.06 22.83 19.38 52.34 30.09 82.92 30.09 30.57 0 60.08-10.71 82.92-30.09 22.84-19.39 37.43-46.1 40.97-75.06m-275.86-82.07c18.38 1.83 36.28-14.91 36.24-32.92-0.04-18.79-15.39-34.06-35.02-34.32-20.2-0.26-36.65 15.1-36.4 34.01 0.11 8.84 3.87 17.27 10.45 23.49s15.47 9.72 24.73 9.74m303.29 0c15.75 1.47 35.15-11.23 35.79-33.44 0.51-18.61-15.88-33.55-35.65-33.86-21.63-0.33-35.86 18.49-35.79 33.72 0.08 19.64 19.21 35.36 35.65 33.58",style:{fill:"currentcolor"}},{d:"M182.25 327.25c-4.05-4.57-3.27-11.46-1.68-14.58 3.99-7.87 13.96-9.31 21.25-2.74 6.72 6.06 13.09 7.93 21.82 3.84 7.5-3.5 15.62-0.4 18.43 5.76 3.18 6.93 0.1 13.79-7.61 17.89-18.93 10.07-40.06 3.66-52.21-10.18",style:{fill:"currentcolor"}},{d:"M331.9499999999998 327.25c4.03-4.57 3.26-11.46 1.68-14.58-4-7.87-13.97-9.31-21.26-2.74-6.72 6.06-13.09 7.93-21.82 3.84-7.49-3.5-15.62-0.4-18.44 5.76-3.17 6.93-0.09 13.79 7.62 17.89 18.93 10.07 40.06 3.66 52.22-10.18",style:{fill:"currentcolor"}}]},anime:{viewBox:"0 0 512 512",paths:[{d:"M96.73999999999978 299.0500000000002c-5.31 22.57-10.79 45.1-15.88 67.71-1.65 7.34 2.83 13.75 9.64 15.27 3.56 0.78 7.31 0.19 10.42-1.65 3.11-1.83 5.33-4.76 6.2-8.14 2.15-8.02 3.78-16.16 5.75-24.24 1.52-6.24 3.2-12.45 5.18-20.12 30.72 53.77 75.79 83.92 139.11 83.87 63.21-0.04 108.15-30.34 138.47-83.37 0.87 2.41 1.47 3.66 1.8 4.99 3.06 12.51 6.05 25.04 9.14 37.55 2.02 8.22 8.51 12.58 16.34 11.16 7.28-1.31 11.44-7.68 10.11-15.69-0.51-3.1-1.27-6.16-2-9.22q-8.82-37.275-17.7-74.64h-312.78c-1.26 5.49-2.5 11.01-3.8 16.52m192.95 14.54c9.14 3.87 15.81 2.79 22.6-3.87 4.29-4.2 9.91-5.26 15.71-2.24 4.57 2.39 6.55 5.7 6.92 9.7 0.14 1.98-0.11 3.97-0.77 5.86a15 15 0 0 1-3.08 5.14c-11.7 13.09-32.89 19.32-51.87 9.13-4.09-2.2-7.36-4.78-8.11-9.57-1.74-10.97 7.7-18.76 18.6-14.15m-109.86 1c0.18-0.66 0.43-1.3 0.74-1.91 3.99-7.87 13.97-9.31 21.25-2.74 6.72 6.06 13.1 7.92 21.82 3.84 7.51-3.51 15.62-0.41 18.44 5.75 3.17 6.94 0.09 13.79-7.62 17.89-18.34 9.77-38.76 4.03-50.89-8.72a14.94 14.94 0 0 1-3.76-6.6c-0.66-2.46-0.65-5.05 0.02-7.51",style:{fill:"currentcolor"}},{d:"M458.6999999999998 129.9300000000003c-10.47-12.91-23.99-21.14-40.54-23.47-23.73-3.33-43.68 4.64-59.24 22.09-68.81-40.22-136.33-39.92-203.57-0.23-33.52-35.17-78.56-24.42-98.77-0.15-11.96 14.36-15.97 31-12.56 48.55 4.36 22.53 19.42 37.48 41.47 45.96-0.2 2.63-0.23 4.62-0.51 6.57-0.53 3.57-1.11 7.13-1.68 10.69-0.3 1.85-0.17 3.73 0.37 5.54 0.53 1.8 1.47 3.46 2.75 4.89 1.27 1.41 2.86 2.55 4.64 3.34 1.79 0.78 3.73 1.19 5.69 1.19h65.54c3.01-8.96 5.82-17.68 8.86-26.32 2.9-8.21 10.13-12.55 17.03-10.48 8.12 2.46 11.57 9.08 9.01 17.84-1.83 6.25-3.99 12.43-6.07 18.84h49.67c0-8.1-0.16-15.52 0.04-22.92 0.23-8.51 5.9-14.39 13.38-14.27 7.53 0.11 12.78 5.9 13.07 14.6 0.15 4.3-0.02 8.6 0.07 12.9 0.08 3.31 0.34 6.61 0.52 9.87h49.23c-2.37-7.15-4.75-13.58-6.6-20.15-2.15-7.59 1.45-13.93 8.88-16.51 6.45-2.24 13.25 1.1 16.6 8.23 0.73 1.54 1.09 3.25 1.66 4.86 2.76 7.83 5.54 15.64 8.28 23.38h71.19c1.96 0 3.9-0.4 5.68-1.18a13.55 13.55 0 0 0 4.64-3.33c1.28-1.41 2.22-3.07 2.76-4.86 0.55-1.8 0.68-3.68 0.4-5.53-0.53-3.38-1.06-6.76-1.54-10.14-0.3-2.22-0.35-4.47-0.5-6.55 49.26-20.48 49.9-68.86 30.14-93.25m-353.72 69.2c-9.25-0.03-18.15-3.53-24.72-9.75-6.58-6.21-10.34-14.65-10.46-23.49-0.25-18.9 16.2-34.27 36.4-34.01 19.63 0.26 34.98 15.53 35.02 34.32 0.04 18.02-17.86 34.76-36.24 32.93m303.29 0c-16.44 1.78-35.57-13.93-35.65-33.58-0.06-15.23 14.16-34.05 35.79-33.72 19.77 0.31 36.16 15.26 35.65 33.86-0.63 22.22-20.04 34.91-35.79 33.44",style:{fill:"currentcolor"}}]},"tv-outline":{viewBox:"0 0 512 512",paths:[{d:"M375.2600000000002 293.5500000000002l82.42 55.33c2.45 1.03 5.12 1.45 7.78 1.24 2.65-0.21 5.22-1.03 7.47-2.38 2.22-1.39 4.02-3.28 5.28-5.51 1.25-2.22 1.9-4.71 1.9-7.23v-183.28c0.04-3.83-1.46-7.53-4.18-10.33-2.72-2.82-6.47-4.53-10.47-4.78-2.66-0.21-5.33 0.21-7.78 1.23l-82.42 55.33c-2.1 1.4-3.8 3.26-4.99 5.42-1.18 2.16-1.8 4.58-1.79 7.03v75.48c-0.01 2.45 0.61 4.87 1.79 7.04 1.19 2.15 2.89 4.01 4.99 5.41",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M268.80999999999995 365.03999999999996h-183.4c-6.81 0-13.53-1.28-19.81-3.77-6.28-2.5-11.98-6.16-16.77-10.77-9.65-9.29-15.13-21.81-15.25-34.89v-144.49c0-6.5 1.35-12.91 3.96-18.9 2.62-5.99 6.46-11.43 11.29-15.99 9.73-9.22 22.87-14.45 36.58-14.55h183.9c13.6 0.05 26.63 5.21 36.28 14.36 4.77 4.53 8.56 9.93 11.14 15.86a47 47 0 0 1 3.91 18.74v144.97c-0.06 13.09-5.55 25.63-15.25 34.89-9.71 9.26-22.86 14.48-36.58 14.54Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M92.78999999999996 197.53999999999996h83.62",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M134.6500000000001 298.02000000000044v-100.48",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M181.20000000000027 198.4900000000007l37.97 99.53 37.68-99.53",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}}]},tv:{viewBox:"0 0 512 512",paths:[{d:"M466.47000000000025 121.63000000000011c-5.27-0.4-10.56 0.45-15.4 2.48-0.97 0.4-1.9 0.9-2.77 1.49l-82.42 55.32c-4.19 2.81-7.61 6.53-9.97 10.87a29.4 29.4 0 0 0-3.58 14.02v75.42c-0.02 4.9 1.21 9.72 3.57 14.06 2.35 4.35 5.78 8.07 9.98 10.89l82.42 55.32c0.86 0.58 1.78 1.08 2.75 1.49a33.2 33.2 0 0 0 15.52 2.47c5.21-0.42 10.22-2.01 14.65-4.65 0.1-0.07 0.2-0.12 0.29-0.19 4.42-2.77 8.05-6.55 10.55-10.99s3.81-9.4 3.8-14.44v-183.21c0.05-7.67-2.95-15.07-8.41-20.71-5.46-5.63-12.95-9.07-20.98-9.64",style:{fill:"currentcolor"}},{d:"M269.1100000000001 106.65999999999985h-184.02c-17.93 0.09-35.1 6.93-47.78 19.04-12.67 12.1-19.81 28.5-19.87 45.6v144.63c0.1 17.09 7.26 33.46 19.95 45.54 12.68 12.08 29.85 18.89 47.77 18.97h183.52c17.93-0.13 35.07-6.99 47.74-19.08 12.68-12.1 19.84-28.46 19.96-45.56v-144.96c-0.01-17.02-7.1-33.33-19.71-45.37-12.62-12.03-29.72-18.8-47.56-18.81m2.54 97.18l-37.68 99.53c-1.11 2.94-3.15 5.49-5.83 7.28-2.68 1.8-5.87 2.77-9.15 2.77h-0.02c-3.27 0-6.47-0.96-9.15-2.75a15.24 15.24 0 0 1-5.83-7.26l-34.53-90.47h-19.06v85.27c0 4.03-1.69 7.9-4.68 10.75s-7.04 4.46-11.27 4.46-8.28-1.61-11.27-4.46-4.68-6.72-4.68-10.75v-85.27h-25.91c-4.23 0-8.28-1.61-11.27-4.46s-4.68-6.72-4.68-10.75 1.69-7.9 4.68-10.75 7.04-4.46 11.27-4.46h83.62c4.94 0.57 9.75 1.89 14.25 3.92 2.53 1.77 4.45 4.23 5.53 7.04l22.92 60.1 22.74-60.06c1.45-3.77 4.41-6.84 8.23-8.53s8.18-1.88 12.14-0.52c3.97 1.37 7.2 4.17 9 7.79 1.8 3.64 2.03 7.8 0.63 11.58",style:{fill:"currentcolor"}}]},"calendar-thin":{viewBox:"0 0 512 512",paths:[{d:"M115.76000000000022 95.34999999999945h282.17c11.22 0.01 21.99 4.26 29.93 11.83 7.93 7.57 12.39 17.84 12.4 28.54v242.2c-0.01 10.7-4.48 20.97-12.41 28.54-7.93 7.56-18.7 11.82-29.92 11.82h-282.17c-11.22 0-21.99-4.26-29.92-11.82-7.94-7.57-12.4-17.84-12.4-28.54v-242.2c0-10.7 4.45-20.97 12.4-28.55 7.93-7.56 18.7-11.82 29.92-11.82Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M292.119999999999 243.35999999999967c4.91 0.02 9.69-1.6 13.49-4.56 3.81-2.97 6.42-7.11 7.39-11.7 0.98-4.6 0.24-9.37-2.07-13.51s-6.05-7.39-10.59-9.19a22.25 22.25 0 0 0-14.3-0.69c-4.71 1.36-8.77 4.23-11.5 8.13a19.43 19.43 0 0 0-3.49 13.24c0.48 4.67 2.64 9.03 6.12 12.35 3.96 3.78 9.34 5.92 14.95 5.93",style:{fill:"currentcolor"}},{d:"M362.64999999999964 243.35999999999967c4.92 0.01 9.68-1.6 13.48-4.56 3.81-2.97 6.42-7.1 7.39-11.69 0.96-4.59 0.23-9.36-2.08-13.5-2.3-4.13-6.04-7.37-10.57-9.18-4.54-1.8-9.59-2.03-14.3-0.68-4.69 1.36-8.76 4.22-11.49 8.11s-3.96 8.57-3.49 13.23c0.48 4.67 2.65 9.02 6.11 12.34 3.97 3.78 9.34 5.92 14.95 5.93",style:{fill:"currentcolor"}},{d:"M292.119999999999 310.6299999999992c5.24 0 10.29-1.85 14.18-5.21 3.88-3.35 6.32-7.97 6.84-12.94 0.51-4.98-0.93-9.96-4.05-13.98-3.12-4.01-7.69-6.78-12.84-7.75-5.14-0.98-10.47-0.1-14.97 2.47-4.5 2.56-7.83 6.63-9.36 11.41a19.3 19.3 0 0 0 1.11 14.46c2.23 4.52 6.15 8.08 10.99 10 2.57 1.02 5.32 1.54 8.1 1.54",style:{fill:"currentcolor"}},{d:"M362.64999999999964 310.6299999999992c5.25 0 10.3-1.85 14.19-5.21 3.87-3.35 6.32-7.97 6.83-12.94 0.51-4.98-0.92-9.96-4.04-13.98-3.12-4.01-7.7-6.78-12.84-7.75-5.14-0.98-10.47-0.1-14.97 2.47-4.51 2.56-7.83 6.63-9.36 11.41a19.26 19.26 0 0 0 1.11 14.46c2.23 4.52 6.15 8.08 10.99 10 2.56 1.02 5.31 1.54 8.09 1.54",style:{fill:"currentcolor"}},{d:"M151.03000000000065 310.6299999999992c4.92 0.02 9.69-1.59 13.5-4.55 3.82-2.97 6.43-7.1 7.39-11.7 0.98-4.59 0.25-9.38-2.06-13.51-2.31-4.15-6.05-7.39-10.58-9.19-4.55-1.81-9.6-2.05-14.31-0.7-4.71 1.36-8.78 4.23-11.51 8.13s-3.97 8.57-3.49 13.24 2.64 9.03 6.12 12.35c3.97 3.77 9.34 5.91 14.94 5.93",style:{fill:"currentcolor"}},{d:"M221.5599999999995 310.6299999999992c4.91 0.02 9.68-1.59 13.49-4.55 3.8-2.97 6.41-7.09 7.38-11.68s0.24-9.37-2.07-13.5c-2.3-4.15-6.04-7.39-10.58-9.18a22.13 22.13 0 0 0-14.28-0.7c-4.7 1.35-8.77 4.22-11.5 8.12-2.73 3.89-3.97 8.56-3.49 13.22 0.48 4.67 2.64 9.02 6.11 12.34 3.97 3.78 9.34 5.9 14.94 5.93",style:{fill:"currentcolor"}},{d:"M151.03000000000065 377.90999999999985c4.91 0.01 9.67-1.61 13.47-4.57s6.4-7.1 7.36-11.68c0.97-4.59 0.23-9.36-2.07-13.49-2.31-4.13-6.05-7.36-10.58-9.16a22.2 22.2 0 0 0-14.28-0.69c-4.69 1.36-8.75 4.23-11.48 8.12s-3.96 8.57-3.48 13.23c0.48 4.65 2.64 9.01 6.11 12.32 3.97 3.78 9.34 5.91 14.95 5.92",style:{fill:"currentcolor"}},{d:"M221.5599999999995 377.90999999999985c5.23 0 10.28-1.85 14.14-5.21 3.88-3.35 6.31-7.95 6.82-12.91 0.52-4.97-0.93-9.93-4.04-13.95-3.1-4-7.67-6.76-12.8-7.73-5.13-0.98-10.46-0.11-14.94 2.46-4.49 2.56-7.82 6.62-9.34 11.39-1.53 4.77-1.13 9.91 1.1 14.43 2.23 4.5 6.14 8.07 10.97 9.98 2.56 1.02 5.31 1.54 8.09 1.54",style:{fill:"currentcolor"}},{d:"M292.119999999999 377.90999999999985c5.24 0 10.29-1.86 14.18-5.21 3.88-3.36 6.32-7.98 6.84-12.95 0.51-4.97-0.93-9.95-4.05-13.97-3.12-4.01-7.69-6.78-12.84-7.76-5.14-0.98-10.47-0.09-14.97 2.47-4.5 2.57-7.83 6.64-9.36 11.42a19.3 19.3 0 0 0 1.11 14.46c2.23 4.51 6.15 8.08 10.99 10 2.57 1.02 5.32 1.54 8.1 1.54",style:{fill:"currentcolor"}},{d:"M143.97999999999956 68.42999999999938v26.92",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M369.7099999999991 68.42999999999938v26.92",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}},{d:"M440.25 162.6199999999999h-366.81",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"16",fill:"none"}}]},android:{viewBox:"0 0 512 512",paths:[{d:"M318.15999999999985 54.98999999999978l23.88-33.07c0.37-0.42 0.65-0.9 0.82-1.42 0.16-0.53 0.21-1.08 0.13-1.62a3.8 3.8 0 0 0-0.57-1.53c-0.3-0.47-0.7-0.87-1.17-1.18-0.7-0.47-1.56-0.71-2.42-0.69-0.87 0.02-1.7 0.3-2.39 0.79a4.1 4.1 0 0 0-1.11 1.24l-24.82 34.37c-34.52-12.77-72.8-12.77-107.33 0l-24.82-34.37c-0.27-0.48-0.65-0.9-1.11-1.24-0.45-0.33-0.98-0.57-1.54-0.69s-1.14-0.14-1.7-0.05c-0.57 0.11-1.1 0.32-1.58 0.63-0.47 0.31-0.87 0.71-1.17 1.18-0.44 0.7-0.65 1.52-0.58 2.35 0.07 0.82 0.41 1.6 0.97 2.23l23.89 33.08c-37.99 16.85-64.62 48.88-68.02 86.25h258.65c-3.39-37.38-30.04-69.4-68.01-86.26m-115.34 52.15c-3.32 0-6.53-1.09-9.09-3.09-2.57-2.01-4.33-4.8-4.97-7.89-0.66-3.1-0.16-6.33 1.4-9.11 1.56-2.8 4.09-4.98 7.15-6.19 3.06-1.22 6.47-1.38 9.64-0.47 3.17 0.93 5.91 2.86 7.75 5.49 1.85 2.62 2.67 5.78 2.35 8.93-0.32 3.14-1.78 6.09-4.12 8.32-1.33 1.27-2.9 2.28-4.64 2.96-1.73 0.69-3.6 1.05-5.47 1.05m108.04 0c-3.56 0-7.01-1.26-9.66-3.54-2.66-2.29-4.32-5.43-4.68-8.82-0.35-3.39 0.63-6.79 2.75-9.53s5.24-4.62 8.74-5.29c3.51-0.67 7.15-0.07 10.21 1.68 3.07 1.75 5.34 4.52 6.38 7.78 1.03 3.27 0.77 6.77-0.76 9.85-1.52 3.08-4.19 5.52-7.49 6.82-1.74 0.68-3.6 1.05-5.49 1.05",style:{fill:"currentcolor"}},{d:"M110.90999999999985 297.1399999999994c0 7.3-3.04 14.29-8.45 19.46-5.41 5.16-12.75 8.06-20.4 8.06-7.66 0-14.99-2.9-20.4-8.06-5.42-5.17-8.46-12.16-8.46-19.46v-111.3c0-7.3 3.04-14.3 8.46-19.46 5.41-5.16 12.74-8.06 20.4-8.06 7.65 0 14.99 2.9 20.4 8.06s8.45 12.16 8.45 19.46z",style:{fill:"currentcolor"}},{d:"M127.52000000000044 159.15999999999985v201.04c0 5.73 2.39 11.22 6.64 15.27 4.25 4.06 10.01 6.34 16.02 6.34h26.82v61.85c0 7.3 3.04 14.3 8.45 19.46s12.75 8.06 20.4 8.06c7.66 0 14.99-2.9 20.4-8.06 5.42-5.16 8.46-12.16 8.46-19.46v-61.85H278.97999999999956v61.85c0 7.3 3.04 14.3 8.45 19.46s12.75 8.06 20.4 8.06c7.66 0 14.99-2.9 20.41-8.06 5.41-5.16 8.45-12.16 8.45-19.46v-61.85h26.81c6.01 0 11.77-2.28 16.03-6.34 4.24-4.05 6.64-9.54 6.64-15.27v-201.04z",style:{fill:"currentcolor"}},{d:"M402.77000000000044 297.1399999999994c0 7.3 3.04 14.29 8.45 19.46 5.41 5.16 12.75 8.06 20.4 8.06s14.99-2.9 20.4-8.06c5.41-5.17 8.45-12.16 8.45-19.46v-111.3c0-7.3-3.04-14.3-8.45-19.46s-12.75-8.06-20.4-8.06-14.99 2.9-20.4 8.06-8.45 12.16-8.45 19.46z",style:{fill:"currentcolor"}}]},linux:{viewBox:"0 0 512 512",paths:[{d:"M109.89999999999964 329.08999999999924c1.3 2.47 1.9 5.17 1.9 7.9s-0.6 5.43-1.8 7.9c-4.4 9.77-13.3 12.77-23.6 13.32-3.7 0.2-7.6-0.21-11.5-0.08-5.1 0.17-6.8 1.95-6.9 6.79 0.1 2.78 0.8 5.51 2.2 7.96 2 3.94 3.8 7.99 5.3 12.13 0.9 2.34 1.2 4.83 1 7.31s-0.9 4.9-2.1 7.09c-1.8 3.07-3.4 6.25-4.8 9.44-3 6.65-1.6 9.57 5.8 11.81 9.8 3 20 4.55 30.2 6.46 16 3.04 31.8 7.06 47.2 12.06 8.8 2.82 17.7 4.87 26.8 4.05 16.1-1.43 24.3-9.99 21.2-27.6-1.7-9.71-6.5-18.28-11.9-26.44-9-13.59-18.3-26.99-27.9-40.28-6.6-9.21-13.9-17.91-22.8-25.18-5.9-4.74-12.3-7.17-20-3.19-3.8 1.99-5.3-0.57-5.9-3.64-2-9.7-0.2-19.76 5.2-28.2 7.3-11.73 12.6-24.19 17.2-37.03 6.5-18.3 15.4-35.33 29.1-49.98 9-9.58 15.7-20.78 23.1-31.46 4.8-6.94 3.8-14.42 3.1-21.93-2-19.02-2.1-38.08-3-57.14-0.6-10.9 0.2-21.82 2.4-32.53 2.6-12.07 9.8-21.41 19.4-29.28 16.4-13.2 35.3-15.04 55.7-11.8 8 1.29 15.8 2.97 23.5 6.2 14.6 6.24 24.7 16.82 32.2 29.71 8.5 14.63 12.5 31.26 11.5 47.96-1 23.15 5.1 45.08 15.2 66.03 5.6 11.51 13.8 21.51 22.9 30.61 11.4 11.31 19.6 24.32 26.8 38.13 8.2 15.87 14.2 32.67 17.8 50 2.5 11 2.7 22.37 0.6 33.44-1.1 5.04-3.1 9.23-8.8 11.29-4.1 1.44-5.7 5.61-8.2 8.7-6.9 8.52-14.9 14.72-27.1 15.13-12 0.39-19.9-3.86-24.8-14.52-1.3-2.98-2.7-5.9-5.2-8.19-4.2-3.8-8.3-3-10.5 1.95-4.4 9.39-4 18.93-1.1 28.61 4.7 15.67 3.4 31.45 1.1 47.21-0.9 5.19-1 10.47-0.3 15.69 1.7 13.22 14.7 20.9 29.1 17.38 6.3-1.54 12.1-4.49 16.9-8.61 13-11.03 28.4-19.24 44.9-24.07 8-2.28 16-4.65 22.9-9.34 6.4-4.52 6.6-8.97 0.2-13.62-3.4-2.59-7.3-4.52-11.5-5.68-3.2-0.75-6.2-2.14-8.9-4.09-2.6-1.94-4.8-4.39-6.4-7.18-5.2-8.91-6.1-18.5-3.1-28.31 0.4-1.38 1.1-3.06 2.9-2.68 1.7 0.32 1.5 2.04 1.5 3.3 0.5 16.76 8.9 28.69 24.9 35.98 1 0.43 2 0.93 2.9 1.47 11.4 6.92 12.4 15.53 2.7 24.32-5.6 5.11-12.5 8.53-19.5 11.37-21.2 8.54-39.9 20.64-56.6 35.47-4.8 4.25-11.1 5.18-17 5.91-7.8 0.94-15.7-0.29-23.3-2.49-6.3-1.83-10.6-5.95-13.7-11.18-3.6-6.21-9.1-8.67-16.3-9-19.8-1.01-39.7-0.93-59.6 0.25-5.6 0.37-11.3-0.29-16.9 0.84-9.1 1.78-17.6 4.71-24.6 10.44-13.8 11.22-28.9 10.9-44.6 4.68-22.5-8.9-46-14.27-70-18.09a85.6 85.6 0 0 1-19.1-5.08c-7.3-3.04-10.5-8.51-8.9-15.87 0.6-2.56 1-5.34 2.4-7.48 6.7-10.16 4.8-20.63 1.8-31.27-0.7-2.67-1.3-5.37-1.8-8.11-1.3-8.65 3.3-12.53 13.1-13.75 4-0.49 8-0.37 11.9-0.71 4.2-0.36 7.6-1.92 11.2-3.78 2.8-1.37 5.2-3.36 7.1-5.81 1.8-2.44 3-5.27 3.4-8.24 0.2-0.85 0.5-1.69 0.8-2.51 0-0.11 0.2-0.19 1-0.87m247.7-21.17c-0.8-0.05-1.5-0.04-2.3 0.02-9.7 1.54-14.2-3.24-14.4-12.53-0.3-14.42-0.8-28.77-4.6-42.9-3-11.22-6.1-22.43-14.3-31.39-2.7-2.75-4.6-6.13-5.5-9.8-3.5-14.05-8.6-27.43-18.3-38.88-2.4-2.9-4.2-6.25-5.3-9.86-1-3.6-1.3-7.36-0.8-11.07 0.5-3.43 1.9-6.74 2.7-10.12 1.5-6.21-0.1-9.95-6.5-11.39-7.5-1.69-14.1-5.33-21.1-7.87-6-2.19-7.7-5.97-7.7-11.47 0.1-2.91 0.7-5.78 1.8-8.49 2.2-5.79 5.7-8.75 11.2-8.75 5.9 0 10.4 2.51 13.1 7.59 2.7 5.24 2.7 10.68 0.8 16.15-1.2 3.76-0.2 5.07 4.1 4.99 2.8-0.07 4.7-1.14 5.1-3.98 0.9-8.62 0.5-17.07-3-25.25-3.6-8.06-12.4-13.49-20.4-12.35-11.6 1.65-19.4 8.69-19.9 18.41-0.3 4.21 0 8.45 0.2 12.66 0.2 4.52 0 4.78-4.4 3.21-2.9-1.08-6-1.49-9.1-1.19-8.5 0.79-9 0.28-9.1-8.03 0-6.7-1.5-13.06-5.8-18.56-3.9-4.93-10.2-5.81-15.2-2.3-8.7 6.23-10.2 30.03-2.4 37.36 1.4 1.33 2.6 1.27 3.9 0.05 1.6-1.4 0.5-2.03-0.7-2.98-3.1-2.46-5.1-5.86-5.8-9.6-0.8-3.76-0.1-7.64 1.7-10.98 2.6-4.33 9.4-6.1 13.8-3.56 7.4 4.39 8.5 18.87 2 24.3-5 4.45-10.5 8.5-16.2 12.13-5.1 3.14-4.9 7.74-0.2 11.29 2.5 1.89 4.9 4.02 7 6.38 3.7 4.37 8.5 5.76 14.3 5.99 13.1 0.56 25.6-2.64 37.9-6.48 6.5-2.05 13.4-3.59 17.8-9.4 1.4-1.93 3.8-1.95 5.7-0.29 2 1.8 1.9 3.91 0.1 5.82-1.4 1.23-3 2.09-4.8 2.48-8.8 2.57-17 6.26-25.3 9.64-9.8 3.96-19.8 7.26-30.8 6.1-2.7-0.27-5.4-0.06-8.6-0.08 5.6 6.84 12.6 8.78 20.7 7.73 8.2-1.17 16.2-3.81 23.4-7.75 5.5-2.96 10.8-6.59 17-8.53 2.7-0.85 5.5-0.9 6.7 2.11 1.1 2.85-1.1 4.13-3.4 5.32-8.3 4.26-16.8 8.01-24.2 13.44-5.5 3.97-11.1 7.92-17.3 10.93-9.1 4.52-16.3 3.16-23-4.33-3-3.13-5.7-6.53-8.1-10.13-1.5-2.57-3-5.61-6.4-6.94-0.4 2.37-0.5 4.4-0.9 6.38-1.5 7.46-5.8 13.73-9.4 20.3-5.1 9.26-10.2 18.5-4.7 29.31 0.3 0.52 0.4 1.13 0.3 1.72-0.1 0.58-0.5 1.11-1 1.49-8.4 6.75-12.7 16.02-16.8 25.19-6.2 13.62-11.8 27.47-10.7 42.88 0.4 5.63 0.6 11.38-0.8 16.97-1.5 6.15-4.9 7.1-9.6 2.62-7.2-6.83-9.2-15.63-9.8-24.76-0.3-3.77 0.5-7.58 0.9-11.53-0.5 0.17-0.9 0.48-1.2 0.88-0.3 0.41-0.5 0.89-0.5 1.38-2.4 9.83-0.9 19.42 2.8 28.71 1.3 3.34 2.3 6.99 5.3 9.58 4.9 4.24 9.8 8.53 14.8 12.69 13.9 11.7 28.8 22.38 43.3 33.47 9.8 7.46 9.4 21.5-0.7 26.7-6.6 3.43-6.6 3.43-2.3 9.49 0.6 0.85 1.3 1.68 2 2.47 4.9 5.94 8.1 13.15 8.9 20.77 0.2 2.58 0.1 5.36 1.6 8.15 1.3-1 2.3-2.33 2.8-3.84 0.6-1.51 0.7-3.14 0.3-4.69-0.9-5.71-3-11-7-15.49-1.6-1.72-4-3.54-1.1-5.87 2.5-2.07 5.6-3.04 8.3-0.61 8.8 7.54 19.3 9.17 30.5 9.38 10.7 0.1 21.2-1.48 31.3-4.72 11.4-3.48 21.5-8.69 27.4-19.25 0.6-0.99 1.4-1.89 2.3-2.66 1.6-1.39 3.1-3.09 5.6-2.35 2.5 0.75 2.8 2.89 3.3 4.91 2 7.88-0.1 15.27-2.6 22.69-1.7 5.24-4 10.42-4 16.07 0 1.71 0.4 3.45 2.4 3.68 2.3 0.25 2.1-1.82 2.4-3.11 1.3-5.7 2.4-11.41 3.7-17.09 2.7-11.67 3.3-23.7 1.7-35.58-1-8.08-3.5-16.05-2.8-24.27 0.7-8.07 1.4-17.13 9.7-20.94 6.2-2.8 10.7-5.92 14.1-11.43 3-4.8 9-5.14 14-6.61 7.1-0.75 13.9 0.87 21.4 2.65-1.5-1.85-3.6-3.22-5.9-3.95-3.7-1.38-4.6-3.44-3.7-7.14 1.8-6.76 4-13.63 2.9-20.68-2.4-16.44-4.3-33.07-14.4-47.49-3.3-4.91-7.1-9.58-10.7-14.36 3 5.82 5.9 11.57 9 17.23 3.1 5.86 5.4 12.06 7.8 18.22 3.7 9.81 6.2 20.03 5.5 30.38-0.6 9.51-0.4 19.99-11.8 25.19",style:{fill:"currentcolor"}}]},windows:{viewBox:"0 0 512 512",paths:[{d:"M426.2999999999993 434.77999999999975c-27.3-3.79-54.6-7.59-81.9-11.39-31.4-4.37-62.8-8.72-94.2-13.06-6.6-0.92-13.1-1.86-19.7-2.62-1.9-0.24-2.8-0.92-2.6-2.76 0.1-0.66 0.1-1.35 0-2.01v-156.54c77.2 0.39 154 0.8 230.9 1.2v191.64c-10.9-1.5-21.7-2.96-32.5-4.46m-400.4-54.55v-134.85c57.7 0.31 115.2 0.61 172.9 0.91v157.31c-57.7-7.81-115.2-15.58-172.9-23.37m202.2-161.38c0-1.21-0.1-2.38-0.2-3.56v-152.53c0-3.08 1-3.92 4.1-4.31 42.1-5.52 84.3-11.11 126.5-16.76 33-4.4 66.2-8.79 99.3-13.16 0.3 0 0.7 0.03 1 0.08v191.45c-76.8-0.4-153.6-0.8-230.7-1.21m-202.3-1.09v-133.47c57.7-7.12 115.2-14.22 173-21.35v155.72c-57.7-0.29-115.2-0.59-173-0.9",style:{fill:"currentcolor"}}]},macos:{viewBox:"0 0 512 512",paths:[{d:"M158 441.28999999999996c-12.5-8.07-22.4-18.64-30.9-30.27-21.5-29.14-37.8-60.62-47.8-94.91-8.9-30.51-11.3-61.41-6.4-92.68 4.4-27.57 15.3-52.41 35.7-72.88 21.3-21.22 47.3-29.86 77.9-26.83 15.3 1.52 30 5.82 44.7 9.97 6.1 1.71 12.3 3 18.5 4.49 8.6 2.12 17.2 1.17 25.7-1.11 11.9-3.27 23.8-7.01 35.8-10.31 18.9-5.25 38.1-6.44 57.5-2.13 22.4 4.95 40 16.92 55 33.06 2.2 2.33 4.3 4.7 6.3 6.92-7.5 6.96-15 13.36-21.8 20.33-17.2 17.55-26.2 38.4-26.4 62.51-0.3 21.95 7.2 43.35 21.1 60.8 9.3 11.79 20.2 21.68 34.8 27.4 1.7 0.67 3.4 1.27 5.6 2.05-2 4.97-3.7 9.91-5.8 14.68-11.9 27.32-27.4 52.56-48.5 74.43-4 4.06-8.4 7.82-13 11.26-15.4 11.84-32.8 16.29-52.3 10.82-9.8-2.73-19.4-5.83-29.2-8.72-10-3-20.1-5.4-30.6-5.71-13-0.38-25.2 3.27-37.3 7.44-9.1 3.14-18.3 6.43-27.8 8.52a47 47 0 0 1-9.9 1.1c-11.1 0-21.4-4.04-30.9-10.23m182.4-415.56c0.4 3.25 1.1 6.48 1 9.68-0.2 23.17-8.6 43.61-23.7 61.62-8.2 9.9-17.9 18.35-29.7 24.51-8.3 4.39-17.6 5.64-26.9 6.7-3 0.33-6.1 0.55-9.2 0.83 0.5-53.81 29.9-92.79 88.5-103.34",style:{fill:"currentcolor"}}]},"star-rating-full":{viewBox:"0 0 512 512",paths:[{d:"M254.5 32.6299999999992l59 161.23 177.2 4.37-140.6 104 50.4 163.92-146-96.93-146.1 96.93 50.5-163.92-140.7-104.01 177.2-4.37z",style:{fill:"currentcolor"}}]},"star-rating-half":{viewBox:"0 0 512 512",paths:[{d:"M257.3000000000011 33.98999999999978l-0.5-1.36-59 161.22-177 4.37 140.5 104.01-50.3 163.92 145.8-96.93 0.5 0.33z m235.2 164.23v0.2l0.3-0.19z",style:{fill:"currentcolor",fillRule:"evenodd",clipRule:"evenodd"}}]},download:{viewBox:"0 0 512 512",paths:[{d:"M336.60000000000036 164.46000000000004h39.8c5.3 0 10.5 0.98 15.3 2.89 4.9 1.91 9.2 4.72 12.9 8.24 3.7 3.54 6.7 7.73 8.7 12.34s3 9.57 3 14.56v197.73c0 4.99-1 9.94-3 14.55s-5 8.8-8.7 12.34c-3.7 3.53-8 6.33-12.9 8.24-4.8 1.91-10 2.89-15.3 2.89h-239.2c-5.3 0-10.4-0.98-15.2-2.89-4.9-1.91-9.3-4.71-13-8.24-3.7-3.54-6.7-7.73-8.7-12.34s-2.9-9.56-2.9-14.55v-197.73c0-4.99 0.9-9.95 2.9-14.56s5-8.8 8.7-12.34c3.7-3.52 8.1-6.33 13-8.24 4.8-1.91 9.9-2.89 15.2-2.89h39.9",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M177.10000000000036 255.72000000000003l79.7 76.05 79.8-76.05",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M256.8000000000011 42.77999999999997v273.78",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},language:{viewBox:"0 0 512 512",paths:[{d:"M478.39999999999964 412.1900000000003l-89.7-207.23c-1.2-2.86-3.1-5.42-5.4-7.5-2.4-2.08-5.3-3.62-8.4-4.53-3.1-0.9-6.4-1.13-9.6-0.67-3.2 0.45-6.3 1.58-9 3.3-3.6 2.26-6.4 5.54-8 9.4l-89.7 207.23c-2.2 5.14-2.3 10.9-0.1 16.06 1.1 2.56 2.7 4.88 4.7 6.81 3.1 2.93 7 4.93 11.3 5.74 4.3 0.8 8.7 0.37 12.7-1.24 2.7-1.04 5.1-2.58 7.1-4.54 2-1.97 3.6-4.3 4.7-6.87l18.4-42.19h102.2l18.4 42.19c1.6 3.86 4.4 7.14 8 9.41 3.6 2.31 7.9 3.54 12.2 3.53 3.6 0 7.2-0.84 10.4-2.47 4.8-2.44 8.4-6.5 10.2-11.39 1.9-4.89 1.7-10.26-0.4-15.04m-143-68.06l33.1-76.38 33.1 76.38z",style:{fill:"currentcolor"}},{d:"M268.60000000000036 325.99c1.7-2.2 3-4.72 3.6-7.39 0.7-2.68 0.8-5.45 0.3-8.16-0.4-2.7-1.4-5.31-2.9-7.64-1.5-2.34-3.5-4.38-5.8-5.99-0.2-0.15-14.9-10.58-36.3-33.02 39.4-51.03 61.9-109.08 70.9-136.4h32.2c5.8-0.02 11.4-2.22 15.6-6.12 4.1-3.94 6.4-9.25 6.4-14.8 0-5.54-2.3-10.85-6.4-14.79-4.2-3.9-9.8-6.1-15.6-6.12h-115.6v-19.01c0-5.54-2.3-10.86-6.4-14.79-4.1-3.92-9.7-6.13-15.5-6.13s-11.5 2.21-15.6 6.13c-4.1 3.93-6.3 9.25-6.3 14.79v19.01h-115.7c-5.7 0.02-11.3 2.22-15.5 6.12-4.1 3.94-6.4 9.25-6.4 14.79 0 5.55 2.3 10.86 6.4 14.8 4.2 3.9 9.8 6.1 15.5 6.12h196.6c-9.5 25.62-26.9 66.07-53.5 103.01-31.3-39.62-43-65.26-43.1-65.47-2.3-5.06-6.6-9.05-12-11.11-5.2-2.07-11.3-2.03-16.6 0.1-5.4 2.13-9.6 6.17-11.8 11.25-2.3 5.1-2.3 10.81-0.1 15.92 0.6 1.31 14.6 32.54 52.8 79.78 0.9 1.14 1.8 2.24 2.7 3.34-39.1 42.16-77.5 68.31-93.5 76.75-2.5 1.32-4.8 3.09-6.6 5.22-1.8 2.14-3.2 4.6-4 7.24-0.8 2.63-1.1 5.4-0.8 8.12 0.3 2.74 1.2 5.38 2.6 7.8 1.4 2.4 3.2 4.53 5.5 6.25 2.2 1.73 4.8 3.02 7.5 3.79 2.7 0.78 5.6 1.02 8.5 0.74 2.9-0.3 5.7-1.12 8.2-2.43 2.2-1.13 48.4-25.57 101.4-81.37 22.4 22.89 37.8 33.69 38.7 34.32 2.3 1.62 5 2.79 7.8 3.41 2.8 0.65 5.7 0.75 8.6 0.33 5.7-0.91 10.8-3.92 14.2-8.4z",style:{fill:"currentcolor"}}]},"movies-outline":{viewBox:"0 0 512 512",paths:[{d:"M436.26 91.25999999999931h-358.82c-3.67-0.01-7.3 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77-2.6 2.47-4.65 5.41-6.05 8.64a25.3 25.3 0 0 0-2.12 10.19v250.97c-0.01 3.49 0.72 6.95 2.12 10.19 1.4 3.23 3.45 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.38 1.33 7.01 2.01 10.68 2.01h358.82c3.66 0 7.29-0.68 10.68-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.47 4.64-5.41 6.05-8.64 1.4-3.24 2.12-6.7 2.11-10.19v-250.97c-0.01-7.05-2.95-13.82-8.18-18.81s-12.33-7.8-19.72-7.81Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M436.25 319.40999999999985h-23.92c-3.66-0.01-7.29 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.6 26.6 0 0 0-6.05 8.64 25.25 25.25 0 0 0-2.11 10.19v22.81c-0.01 3.5 0.71 6.96 2.11 10.2 1.4 3.23 3.46 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.47 4.64-5.41 6.05-8.64 1.4-3.24 2.12-6.7 2.11-10.2v-22.81c-0.01-7.05-2.95-13.82-8.18-18.81s-12.33-7.8-19.73-7.81Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M436.25 243.35999999999967h-23.92c-3.66-0.01-7.29 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.6 26.6 0 0 0-6.05 8.64 25.25 25.25 0 0 0-2.11 10.19v22.81c-0.01 3.5 0.71 6.96 2.11 10.19 1.4 3.24 3.46 6.17 6.05 8.65a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.48 4.64-5.41 6.05-8.65 1.4-3.23 2.12-6.69 2.11-10.19v-22.81c-0.01-7.05-2.95-13.82-8.18-18.81s-12.33-7.8-19.73-7.81Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M436.25 167.3099999999995h-23.92c-3.66-0.01-7.29 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.6 26.6 0 0 0-6.05 8.64 25.25 25.25 0 0 0-2.11 10.19v22.82c-0.01 3.49 0.71 6.95 2.11 10.19 1.4 3.23 3.46 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.47 4.64-5.41 6.05-8.64 1.4-3.24 2.12-6.7 2.11-10.19v-22.82c-0.01-7.05-2.95-13.82-8.18-18.81s-12.33-7.8-19.73-7.81Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M436.25 91.25999999999931h-23.92c-3.66-0.01-7.29 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.6 26.6 0 0 0-6.05 8.64 25.25 25.25 0 0 0-2.11 10.19v22.82c-0.01 3.49 0.71 6.95 2.11 10.19 1.4 3.23 3.46 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.47 4.64-5.41 6.05-8.64 1.4-3.24 2.12-6.7 2.11-10.19v-22.82c-0.01-7.05-2.95-13.82-8.18-18.81s-12.33-7.8-19.73-7.81Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M101.36000000000013 319.40999999999985h-23.92c-3.67-0.01-7.3 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77-2.6 2.47-4.65 5.41-6.05 8.64a25.3 25.3 0 0 0-2.12 10.19v22.81c-0.01 3.5 0.72 6.96 2.12 10.2 1.4 3.23 3.45 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.38 1.33 7.01 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01 3.38-1.34 6.46-3.3 9.06-5.77 2.59-2.47 4.64-5.41 6.05-8.64 1.39-3.24 2.12-6.7 2.11-10.2v-22.81c-0.01-7.05-2.95-13.82-8.18-18.81-5.24-4.99-12.33-7.8-19.73-7.81Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M101.36000000000013 243.35999999999967h-23.92c-3.67-0.01-7.3 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77-2.6 2.47-4.65 5.41-6.05 8.64a25.3 25.3 0 0 0-2.12 10.19v22.81c-0.01 3.5 0.72 6.96 2.12 10.19 1.4 3.24 3.45 6.17 6.05 8.65a28.1 28.1 0 0 0 9.06 5.77c3.38 1.33 7.01 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01 3.38-1.34 6.46-3.3 9.06-5.77 2.59-2.48 4.64-5.41 6.05-8.65 1.39-3.23 2.12-6.69 2.11-10.19v-22.81c-0.01-7.05-2.95-13.82-8.18-18.81-5.24-4.99-12.33-7.8-19.73-7.81Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M101.36000000000013 167.3099999999995h-23.92c-3.67-0.01-7.3 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77-2.6 2.47-4.65 5.41-6.05 8.64a25.3 25.3 0 0 0-2.12 10.19v22.82c-0.01 3.49 0.72 6.95 2.12 10.19 1.4 3.23 3.45 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.38 1.33 7.01 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01 3.38-1.34 6.46-3.3 9.06-5.77 2.59-2.47 4.64-5.41 6.05-8.64 1.39-3.24 2.12-6.7 2.11-10.19v-22.82c-0.01-7.05-2.95-13.82-8.18-18.81-5.24-4.99-12.33-7.8-19.73-7.81Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M101.36000000000013 91.25999999999931h-23.92c-3.67-0.01-7.3 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77-2.6 2.47-4.65 5.41-6.05 8.64a25.3 25.3 0 0 0-2.12 10.19v22.82c-0.01 3.49 0.72 6.95 2.12 10.19 1.4 3.23 3.45 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.38 1.33 7.01 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01 3.38-1.34 6.46-3.3 9.06-5.77 2.59-2.47 4.64-5.41 6.05-8.64 1.39-3.24 2.12-6.7 2.11-10.19v-22.82c-0.01-7.05-2.95-13.82-8.18-18.81-5.24-4.99-12.33-7.8-19.73-7.81Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M356.52 91.25999999999931h-199.34c-3.67-0.01-7.3 0.68-10.69 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.7 26.7 0 0 0-6.05 8.64c-1.4 3.23-2.12 6.69-2.11 10.19v98.87c-0.01 3.49 0.72 6.95 2.11 10.19 1.41 3.23 3.46 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.69 2.01h199.34c3.67 0 7.29-0.68 10.68-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.47 4.65-5.41 6.05-8.64 1.4-3.24 2.13-6.7 2.12-10.19v-98.87c-0.01-7.05-2.95-13.82-8.19-18.81-5.23-4.99-12.33-7.8-19.72-7.81Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M356.52 243.35999999999967h-199.34c-3.67-0.01-7.3 0.68-10.69 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.7 26.7 0 0 0-6.05 8.64c-1.4 3.23-2.12 6.69-2.11 10.19v98.86c-0.01 3.5 0.72 6.96 2.11 10.19 1.41 3.24 3.46 6.17 6.05 8.65a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.69 2.01h199.34c3.67 0 7.29-0.68 10.68-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.48 4.65-5.41 6.05-8.65 1.4-3.23 2.13-6.69 2.12-10.19v-98.86c-0.01-7.05-2.95-13.82-8.19-18.81-5.23-4.99-12.33-7.8-19.72-7.81Z",style:{stroke:"currentcolor",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},movies:{viewBox:"0 0 512 512",paths:[{d:"M436.0600000000002 76.23999999999978h-358.82c-11.63 0.01-22.77 4.42-31 12.27-8.22 7.84-12.85 18.47-12.86 29.56v250.96c0.01 11.1 4.64 21.72 12.86 29.57 8.23 7.84 19.37 12.25 31 12.26h358.82c11.63-0.01 22.77-4.42 30.99-12.26 8.23-7.85 12.85-18.47 12.86-29.57v-250.96c-0.01-11.09-4.63-21.72-12.86-29.56-8.22-7.85-19.36-12.26-30.99-12.27m-322.94 292.79c0 3.03-1.25 5.93-3.51 8.07-2.24 2.14-5.28 3.34-8.45 3.34h-23.92c-1.57 0-3.13-0.29-4.58-0.86-1.45-0.58-2.78-1.42-3.88-2.48-1.12-1.05-2-2.32-2.59-3.7-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.37 0.59-1.38 1.47-2.65 2.59-3.7 1.1-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.92c3.17 0 6.21 1.2 8.45 3.34 2.26 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.25 5.93-3.51 8.07-2.24 2.14-5.28 3.34-8.45 3.34h-23.92c-1.57 0-3.13-0.29-4.58-0.86s-2.78-1.42-3.88-2.48c-1.12-1.05-2-2.32-2.59-3.7-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.59-1.39 1.47-2.66 2.59-3.71 1.1-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.92c3.17 0 6.21 1.2 8.45 3.34 2.26 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.25 5.93-3.51 8.07-2.24 2.14-5.28 3.34-8.45 3.34h-23.92c-1.57 0-3.13-0.29-4.58-0.86s-2.78-1.42-3.88-2.48c-1.12-1.05-2-2.31-2.59-3.7-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.59-1.39 1.47-2.66 2.59-3.71 1.1-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.92c3.17 0 6.21 1.2 8.45 3.34 2.26 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.25 5.93-3.51 8.08-2.24 2.13-5.28 3.33-8.45 3.33h-23.92c-1.57 0-3.13-0.29-4.58-0.86s-2.78-1.42-3.88-2.47c-1.12-1.06-2-2.32-2.59-3.71-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.59-1.39 1.47-2.66 2.59-3.71 1.1-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.92c3.17 0 6.21 1.2 8.45 3.34 2.26 2.15 3.51 5.05 3.51 8.07z m240.89 117.88h-194.72c-4.23 0-8.28-1.61-11.27-4.46s-4.68-6.72-4.68-10.75 1.69-7.9 4.68-10.75 7.04-4.46 11.27-4.46h194.72c4.22 0 8.28 1.61 11.27 4.46s4.67 6.72 4.67 10.75-1.68 7.9-4.67 10.75-7.05 4.46-11.27 4.46m94.01 110.27c0 3.03-1.26 5.93-3.51 8.07s-5.29 3.34-8.45 3.34h-23.93c-1.57 0-3.13-0.29-4.58-0.86a12.1 12.1 0 0 1-3.88-2.48 11.3 11.3 0 0 1-2.59-3.7c-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.37s1.48-2.65 2.59-3.7c1.11-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.93c3.16 0 6.2 1.2 8.45 3.34 2.25 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.26 5.93-3.51 8.07s-5.29 3.34-8.45 3.34h-23.93c-1.57 0-3.13-0.29-4.58-0.86s-2.77-1.42-3.88-2.48a11.3 11.3 0 0 1-2.59-3.7c-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.6-1.39 1.48-2.66 2.59-3.71 1.11-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.93c3.16 0 6.2 1.2 8.45 3.34 2.25 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.26 5.93-3.51 8.07s-5.29 3.34-8.45 3.34h-23.93c-1.57 0-3.13-0.29-4.58-0.86s-2.77-1.42-3.88-2.48a11.2 11.2 0 0 1-2.59-3.7c-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.6-1.39 1.48-2.66 2.59-3.71 1.11-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.93c3.16 0 6.2 1.2 8.45 3.34 2.25 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.26 5.93-3.51 8.08-2.25 2.13-5.29 3.33-8.45 3.33h-23.93c-1.57 0-3.13-0.29-4.58-0.86s-2.77-1.42-3.88-2.47a11.4 11.4 0 0 1-2.59-3.71c-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.6-1.39 1.48-2.66 2.59-3.71 1.11-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.93c3.16 0 6.2 1.2 8.45 3.34 2.25 2.15 3.51 5.05 3.51 8.07z",style:{fill:"currentcolor"}}]},"cloud-library":{viewBox:"0 0 512 512",paths:[{d:"M415.8299999999999 384.5699999999997l0.37-0.03h0.04l0.87-0.13c22.43-2.57 43.02-13.08 57.71-29.44 14.71-16.35 22.44-37.37 21.67-58.89-0.75-21.53-9.95-42.01-25.77-57.38-15.81-15.37-37.1-24.53-59.66-25.66l-6.39-0.35-0.13-6.1c-1.62-69.92-62.86-126.81-136.51-126.81-66.14 0-122.65 44.8-134.37 106.51l-1.1 5.73-6.09-0.31c-1.85-0.09-3.71-0.14-5.6-0.15-56.16 0-101.87 43.42-101.87 96.77-0.08 24.2 9.38 47.53 26.5 65.38 17.13 17.84 40.66 28.9 65.92 30.97l0.08 0.01c3.16 0.27 6.32 0.41 9.37 0.41 3.11 0 6.28-0.14 9.47-0.42l0.32-0.03h0.31l264.33-0.1h0.37l0.36 0.03c3.28 0.35 6.57 0.52 9.87 0.52 3.32 0 6.64-0.18 9.94-0.53m-20.53-15.53l-264.34 0.11c-0.7 0-1.41 0.03-2.1 0.09-2.69 0.23-5.38 0.35-7.99 0.35-2.56 0-5.22-0.11-7.89-0.35-21.24-1.72-41.02-11-55.42-25.99-14.39-14.99-22.35-34.59-22.3-54.92 0-44.81 38.4-81.27 85.61-81.27 1.59 0 3.17 0.05 4.74 0.13 0.42 0.02 0.83 0.03 1.25 0.03 5.44 0 10.69-1.82 14.85-5.14 4.17-3.32 6.98-7.93 7.95-13.03 10.3-54.33 60.09-93.76 118.36-93.76 64.88 0 118.83 50.08 120.25 111.64 0.15 5.55 2.48 10.86 6.53 14.85 4.05 4 9.52 6.41 15.34 6.74 18.5 0.91 35.96 8.41 48.95 21.02 12.97 12.6 20.53 29.39 21.15 47.05s-5.71 34.9-17.77 48.31c-12.06 13.42-28.96 22.03-47.35 24.13l-0.61 0.08c-2.86 0.31-5.74 0.47-8.62 0.48-2.71 0-5.42-0.14-8.12-0.43-0.83-0.08-1.66-0.12-2.48-0.12",style:{fill:"currentcolor"}},{d:"M322.02999999999975 199.46999999999935c-0.68-2.8-2.5-5.23-5.05-6.75a11.82 11.82 0 0 0-8.59-1.37c-2.94 0.65-5.48 2.38-7.07 4.82-1.6 2.44-2.12 5.38-1.44 8.19l24.92 102.75c0.72 2.75 2.55 5.14 5.09 6.62 2.54 1.49 5.59 1.96 8.5 1.33 2.91-0.65 5.43-2.35 7.03-4.76 1.6-2.39 2.14-5.3 1.52-8.08z",style:{fill:"currentcolor"}},{d:"M277.8200000000006 188.35999999999967c-3.01 0.01-5.91 1.15-8.04 3.18-2.13 2.04-3.33 4.79-3.33 7.67v105.46c0.09 2.81 1.33 5.49 3.44 7.45 2.12 1.97 4.96 3.06 7.93 3.06 2.95 0 5.79-1.09 7.91-3.06 2.11-1.96 3.35-4.64 3.44-7.45v-105.46c0-1.43-0.29-2.84-0.86-4.16a11 11 0 0 0-4.19-4.87 11.84 11.84 0 0 0-6.32-1.82",style:{fill:"currentcolor"}},{d:"M201.46000000000004 188.35999999999967c-1.5 0-2.97 0.27-4.36 0.82-1.37 0.55-2.63 1.35-3.69 2.35a11 11 0 0 0-2.46 3.52c-0.57 1.32-0.86 2.73-0.86 4.16v105.46c0.09 2.81 1.33 5.49 3.44 7.45 2.13 1.97 4.97 3.06 7.93 3.06 2.95 0 5.79-1.09 7.91-3.06 2.11-1.96 3.35-4.64 3.44-7.45v-105.46c0-1.43-0.29-2.84-0.86-4.16a11 11 0 0 0-2.47-3.52c-1.05-1-2.3-1.8-3.68-2.34a11.8 11.8 0 0 0-4.35-0.83",style:{fill:"currentcolor"}},{d:"M239.6300000000001 209.6199999999999c-3.01 0.01-5.89 1.15-8.02 3.19-2.14 2.03-3.33 4.78-3.34 7.65v84.22c0.09 2.81 1.32 5.49 3.44 7.45 2.12 1.97 4.96 3.06 7.91 3.06 2.96 0 5.8-1.09 7.92-3.06 2.12-1.96 3.35-4.64 3.44-7.45v-84.22c-0.01-2.87-1.2-5.62-3.34-7.65-2.13-2.04-5.01-3.18-8.02-3.19",style:{fill:"currentcolor"}}]},"chevron-back":{viewBox:"0 0 512 512",paths:[{d:"M328.6100000000006 106.469l-143.53 136.889 143.53 136.889",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",fill:"none"}}]},"sort-up-down":{viewBox:"0 0 512 512",paths:[{d:"M159.75 303.462l85.9 95.61c1.39 1.54 3.1 2.777 5.03 3.624 1.94 0.848 4.04 1.286 6.17 1.286s4.23-0.438 6.16-1.286a14.7 14.7 0 0 0 5.04-3.624l85.9-95.61a13.74 13.74 0 0 0 3.41-7.208 13.55 13.55 0 0 0-1.2-7.823 14.35 14.35 0 0 0-5.45-5.966 15.3 15.3 0 0 0-7.96-2.225H170.9300000000003c-2.83 0-5.59 0.772-7.97 2.224a14.4 14.4 0 0 0-5.44 5.969 13.56 13.56 0 0 0-1.19 7.826c0.39 2.664 1.58 5.164 3.42 7.203",style:{fill:"currentcolor"}},{d:"M159.75 183.26099999999997l85.9-95.613a14.8 14.8 0 0 1 5.04-3.624 15.4 15.4 0 0 1 6.16-1.286c2.13 0 4.23 0.438 6.16 1.286a14.7 14.7 0 0 1 5.04 3.624l85.9 95.613a13.74 13.74 0 0 1 3.41 7.208c0.39 2.665-0.03 5.38-1.2 7.824a14.35 14.35 0 0 1-5.45 5.967 15.3 15.3 0 0 1-7.96 2.225h-171.83c-2.82 0-5.58-0.772-7.96-2.225-2.37-1.452-4.26-3.524-5.44-5.97a13.55 13.55 0 0 1-1.19-7.825c0.39-2.665 1.58-5.165 3.42-7.204",style:{fill:"currentcolor"}}]},"caret-down":{viewBox:"0 0 512 512",paths:[{d:"M93.10000000000036 203.24199999999996l144.9 161.225c2.1 2.411 4.7 4.365 7.6 5.733 2.9 1.414 6.1 2.264 9.4 2.503 3.2 0.239 6.5-0.14 9.6-1.113 3.1-0.984 6-2.531 8.5-4.556 0.9-0.758 1.8-1.619 2.6-2.567l144.9-161.225c3.1-3.467 4.9-7.684 5.6-12.168 0.7-4.486 0-9.068-1.9-13.184-2-4.13-5.2-7.627-9.2-10.076s-8.7-3.747-13.5-3.738h-289.7c-3.3-0.009-6.6 0.595-9.6 1.781-4.6 1.768-8.5 4.808-11.1 8.722-2.7 3.906-4.2 8.483-4.2 13.168 0.1 5.694 2.3 11.175 6.1 15.495",style:{fill:"currentcolor"}}]},"caret-up":{viewBox:"0 0 512 512",paths:[{d:"M93.20000000000073 299.35l144.8-161.225c2.1-2.41 4.7-4.364 7.7-5.733 2.9-1.414 6.1-2.264 9.3-2.502 3.2-0.239 6.5 0.139 9.6 1.112 3.1 0.985 6 2.531 8.5 4.556 1 0.758 1.9 1.619 2.7 2.567l144.8 161.225c3.1 3.467 5 7.684 5.7 12.168 0.7 4.486 0 9.067-2 13.184-2 4.129-5.2 7.626-9.2 10.076-4 2.448-8.7 3.745-13.4 3.737h-289.8c-3.3 0.01-6.6-0.595-9.5-1.781-4.6-1.767-8.5-4.808-11.2-8.722-2.7-3.906-4.2-8.483-4.2-13.168 0.1-5.694 2.3-11.174 6.2-15.494",style:{fill:"currentcolor"}}]},"chevron-forward":{viewBox:"0 0 512 512",paths:[{d:"M185.07999999999993 380.24699999999996l143.53-136.889-143.53-136.889",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",fill:"none"}}]},"chevron-down":{viewBox:"0 0 512 512",paths:[{d:"M113.29999999999927 174.914l143.6 136.89 143.5-136.89",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",fill:"none"}}]},"chevron-up":{viewBox:"0 0 512 512",paths:[{d:"M400.2999999999993 311.804l-143.5-136.89-143.5 136.89",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"48",fill:"none"}}]},"more-vertical":{viewBox:"0 0 512 512",paths:[{d:"M256.7999999999993 279.097c7.4-0.015 14.7-2.11 20.9-6.025a35.3 35.3 0 0 0 13.7-16.039c2.9-6.524 3.6-13.709 2.2-20.647-1.5-6.914-5.1-13.268-10.2-18.296-4.4-4.15-9.8-7.217-15.7-8.935-5.9-1.706-12.1-2-18.1-0.856-9.2 1.737-17.3 6.642-22.9 13.766-5.4 7.125-8 15.96-7.1 24.79 0.6 5.86 2.7 11.49 6 16.383 3.5 4.893 8.1 8.894 13.6 11.642 5.4 2.777 11.5 4.227 17.6 4.217",style:{fill:"currentcolor"}},{d:"M256.7999999999993 398.217c7.4-0.015 14.7-2.11 20.9-6.026a35.3 35.3 0 0 0 13.7-16.039c2.9-6.523 3.6-13.709 2.2-20.646-1.5-6.914-5.1-13.267-10.2-18.296-4.4-4.15-9.8-7.218-15.7-8.936-5.9-1.706-12.1-2-18.1-0.855a38.4 38.4 0 0 0-16.5 7.428c-4.8 3.726-8.4 8.513-10.8 13.938s-3.3 11.331-2.7 17.182c0.6 5.86 2.7 11.49 6 16.383 3.5 4.893 8.1 8.894 13.6 11.641 5.4 2.781 11.5 4.234 17.6 4.226",style:{fill:"currentcolor"}},{d:"M256.7999999999993 159.97500000000002c7.4-0.015 14.7-2.111 20.9-6.026a35.3 35.3 0 0 0 13.7-16.039c2.9-6.523 3.6-13.709 2.2-20.648-1.5-6.913-5.1-13.265-10.2-18.294-4.4-4.151-9.8-7.218-15.7-8.936-5.9-1.706-12.1-2-18.1-0.856a38.4 38.4 0 0 0-16.5 7.431c-4.8 3.728-8.4 8.516-10.8 13.942s-3.3 11.332-2.7 17.183c0.6 5.859 2.7 11.49 6 16.383 3.5 4.892 8.1 8.894 13.6 11.641 5.4 2.778 11.5 4.227 17.6 4.219",style:{fill:"currentcolor"}}]},"more-horizontal":{viewBox:"0 0 512 512",paths:[{d:"M294.3000000000011 243.35899999999992c0-7.068-2.2-13.975-6.3-19.85-4.2-5.876-10.1-10.455-16.8-13.16a39.4 39.4 0 0 0-21.7-2.041c-7.2 1.374-13.9 4.773-19.2 9.764-5.2 5.032-8.8 11.386-10.3 18.302-1.4 6.939-0.7 14.127 2.2 20.652 2.8 6.544 7.6 12.135 13.8 16.043 4.2 2.693 8.9 4.541 13.9 5.429s10.1 0.8 15.1-0.26 9.7-3.07 13.7-5.907c4.1-2.838 7.6-6.442 10.2-10.597 3.6-5.53 5.4-11.894 5.4-18.378z",style:{fill:"currentcolor"}},{d:"M419.2000000000007 243.36c0-7.068-2.2-13.975-6.4-19.85-4.1-5.875-10-10.454-16.8-13.159s-14.4-3.416-21.6-2.041a38.2 38.2 0 0 0-19.2 9.763c-5.2 5.031-8.8 11.386-10.3 18.302-1.4 6.938-0.7 14.126 2.2 20.652 2.8 6.544 7.6 12.135 13.8 16.043 5 3.265 11 5.275 17.1 5.852 6.2 0.577 12.4-0.297 18-2.543 4.6-1.785 8.7-4.418 12.2-7.746 3.5-3.29 6.3-7.24 8.1-11.598 1.9-4.332 2.9-8.98 2.9-13.675",style:{fill:"currentcolor"}},{d:"M169.40000000000146 243.36c0-7.068-2.2-13.975-6.4-19.85-4.1-5.875-9.9-10.454-16.7-13.159-6.9-2.706-14.5-3.416-21.7-2.041s-13.9 4.772-19.2 9.763c-5.2 5.031-8.8 11.386-10.3 18.302-1.4 6.938-0.7 14.126 2.2 20.652 2.8 6.544 7.6 12.135 13.8 16.043 4.2 2.693 9 4.54 13.9 5.429 5 0.888 10.1 0.8 15.1-0.261s9.7-3.069 13.7-5.907c4.1-2.837 7.6-6.442 10.2-10.596 3.6-5.53 5.4-11.895 5.4-18.378z",style:{fill:"currentcolor"}}]},"open-in-browser":{viewBox:"0 0 512 512",paths:[{d:"M372.5599999999995 214.46000000000004v143.26c0 4.52-0.92 8.99-2.74 13.18a34.2 34.2 0 0 1-7.82 11.16c-3.35 3.2-7.33 5.73-11.7 7.46a37.7 37.7 0 0 1-13.82 2.61h-216.38c-4.74 0-9.43-0.88-13.82-2.61a36.4 36.4 0 0 1-11.7-7.46c-3.35-3.2-6.01-6.99-7.82-11.17a32.9 32.9 0 0 1-2.74-13.17v-206.38c0-4.52 0.92-8.99 2.74-13.17a34 34 0 0 1 7.82-11.16c3.35-3.21 7.33-5.74 11.7-7.47a37.7 37.7 0 0 1 13.82-2.61h151",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.699",fill:"none"}},{d:"M329.3099999999995 61.98000000000002h100.86v96.2",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.699",fill:"none"}},{d:"M222.5599999999995 250.67999999999984l197.85-169.88",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.699",fill:"none"}}]},"thumbs-up-outline":{viewBox:"0 0 512 512",paths:[{d:"M320.02000000000044 96.99000000000001c-12.02 25.43-20.85 52.13-26.31 79.54-0.5 4.37 3.03 10.99 7.65 10.99l115.16 8.9-0.17 0.49c7.89 0.99 15.12 4.67 20.37 10.38 5.24 5.7 8.12 13.02 8.11 20.6v0.2c-0.04 7.73-3.29 15.12-9.04 20.57-5.75 5.46-13.52 8.52-21.63 8.52l-19.19-0.46-0.11 0.28 30.66 1.08c8.13 0 15.93 3.08 21.68 8.57 5.75 5.48 8.98 12.91 8.98 20.67 0 7.75-3.23 15.18-8.98 20.67-5.75 5.48-13.55 8.56-21.68 8.56l-41.36-0.81h-1.72l24.43 0.82c8.13 0 15.93 3.08 21.68 8.56s8.98 12.92 8.98 20.67-3.23 15.18-8.98 20.66-13.55 8.56-21.68 8.56l-12.58-0.23-29.19-1.2 11.13 1.43c7.95 0.27 15.48 3.47 21 8.93 5.52 5.45 8.6 12.74 8.58 20.32-0.01 7.58-3.12 14.86-8.65 20.3-5.54 5.45-13.08 8.62-21.03 8.86l-57.12-2.51a362 362 0 0 1-46.87 2.51c-33.31 0.92-65.89-9.42-91.97-29.2h-61.36c-16.27-0.02-31.86-6.19-43.36-17.15-11.49-10.97-17.95-25.84-17.95-41.35v-43.81c0-15.5 6.46-30.38 17.95-41.34 11.5-10.97 27.09-17.14 43.36-17.15h28.78c5.26-0.03 10.43-1.34 15.01-3.79 4.59-2.46 6.99-7.27 9.76-11.54 0 0 9.74-15.9 34.64-57.02 24.9-41.11 72.86-103.03 80.51-117.66 5.68-0.59 11.42 0.28 16.63 2.52 5.21 2.23 9.71 5.75 13.02 10.19s5.32 9.64 5.83 15.06c0.5 5.43-0.52 10.88-2.97 15.81",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"40",fill:"none"}}]},"thumbs-up":{viewBox:"0 0 512 512",paths:[{d:"M285.4400000000005 33.51999999999998c9.05-0.94 18.23 0.44 26.6 4.04h-0.01c8.36 3.58 15.69 9.28 21.16 16.61 5.3 7.1 8.64 15.47 9.62 24.29l0.09 0.85v0.04c0.83 9.03-0.84 18.08-4.82 26.23a322.4 322.4 0 0 0-22.16 63l102.14 7.9c2.25 0.17 4.42 0.73 6.44 1.61 9.89 2.32 19 7.4 26.12 14.78l0.81 0.86 0.02 0.03c8.54 9.31 13.39 21.42 13.38 34.13v0.3a48.16 48.16 0 0 1-5.65 22.33c0.46 0.4 0.92 0.8 1.36 1.22l0.45 0.42 0.02 0.02c9.58 9.15 15.17 21.75 15.17 35.13s-5.58 25.99-15.17 35.13v0.01a51.4 51.4 0 0 1-6.92 5.52 47.9 47.9 0 0 1 3.44 17.81c0 13.38-5.59 26-15.19 35.15a50.7 50.7 0 0 1-18.11 11.09c1.04 3.96 1.58 8.08 1.57 12.27-0.01 12.68-5.06 24.68-13.76 33.67l-0.86 0.86-0.01 0.01c-8.93 8.77-20.82 13.87-33.24 14.53l-1.2 0.05c-0.25 0.01-0.49 0.01-0.74 0.01l-0.74-0.02-55.54-2.44c-15.74 1.8-31.59 2.63-47.44 2.46-35.29 0.89-69.94-9.36-98.59-29.21h-54.89c-20.94-0.01-41.2-7.82-56.43-22l-0.72-0.68c-15.34-14.63-24.14-34.69-24.14-55.81v-43.81c0-21.13 8.81-41.18 24.14-55.81l0.01-0.02 0.72-0.68c15.23-14.16 35.48-21.96 56.41-21.99h28.73c1.65-0.01 3.26-0.35 4.72-0.97 0.27-0.38 0.63-0.92 1.15-1.75 0.31-0.49 0.59-0.94 0.98-1.56 0.3-0.49 0.65-1.05 1.03-1.63 0.01-0.01 0.01-0.03 0.02-0.04 0.08-0.12 0.19-0.31 0.35-0.57 0.31-0.51 0.79-1.28 1.44-2.35l6.05-9.94c5.54-9.1 14.19-23.34 26.64-43.89l1.23-2.01c12.85-20.95 30.85-46.38 46.33-68.03 8.1-11.31 15.49-21.56 21.37-29.96 6.18-8.82 9.77-14.29 10.96-16.57l0.3-0.55a20 20 0 0 1 15.36-10.07m16.44 134c-0.05 0-0.11 0-0.17-0.01h-0.35z",style:{fill:"currentcolor"}}]},"heart-outline":{viewBox:"0 0 512 512",paths:[{d:"M357.47999999999956 53.23000000000002c-67.4 0-100.62 69.16-100.62 69.16s-33.23-69.16-100.64-69.16c-26.35 0.45-51.48 11.67-69.95 31.24-18.48 19.58-28.8 45.93-28.76 73.36-1.13 118.22 90.05 202.11 189.99 272.66 2.76 1.95 6.01 2.99 9.34 2.99 3.34 0 6.59-1.04 9.35-2.99 99.94-70.55 191.12-154.62 189.98-272.66 0.05-27.43-10.28-53.77-28.75-73.35-18.46-19.57-43.59-30.79-69.94-31.25",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"40",fill:"none"}}]},heart:{viewBox:"0 0 512 512",paths:[{d:"M357.8299999999999 33.23000000000002c31.37 0.55 61.12 13.72 83.1 36.44l1.04 1.09h0.01l1.02 1.11c21.35 23.19 33.17 53.92 33.18 85.77l0.01 1.51c0.44 128.53-99.18 217.59-198.47 287.68a36.16 36.16 0 0 1-20.87 6.65c-7.53 0-14.8-2.35-20.89-6.66-99.67-70.35-199.69-159.66-198.44-289.18 0-32.36 12.2-63.57 34.2-86.89 22.08-23.41 52.3-36.97 84.17-37.52h0.34c41.08 0 71.09 21.17 89.96 40.67 3.99 4.12 7.54 8.22 10.67 12.14 3.13-3.92 6.68-8.02 10.66-12.14 18.87-19.5 48.87-40.67 89.96-40.67z",style:{fill:"currentcolor"}}]},maximize:{viewBox:"0 0 512 512",paths:[{d:"M406.84999999999854 296.5v91.07h-95.49",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M106.83999999999924 192.5v-91.07h95.48",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M311.35999999999876 101.42999999999984h95.49v91.07",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M202.3199999999997 387.56999999999994h-95.48v-91.07",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}}]},minimize:{viewBox:"0 0 512 512",paths:[{d:"M311.35999999999876 387.56999999999994v-91.07h95.49",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M202.3199999999997 101.43000000000006v91.07h-95.48",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M406.84999999999854 192.5h-95.49v-91.07",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}},{d:"M106.83999999999924 296.5899999999999h95.48v91.07",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"39.027",fill:"none"}}]},scale:{viewBox:"0 0 512 512",paths:[{d:"M320.6399999999994 76.04999999999995h111.63v106.47",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M422.0699999999997 85.75l-117.38 111.98",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M193.0599999999995 410.66999999999985h-111.63v-106.47",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M91.61999999999989 400.97l117.38-111.98",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},"notifications-outline":{viewBox:"0 0 512 512",paths:[{d:"M414.1200000000008 326.73c-23.52-27.47-40.17-41.45-40.17-117.12 0-69.39-37.07-94.01-67.67-106.09-2.12-0.83-4.02-2.08-5.58-3.67a15.1 15.1 0 0 1-3.49-5.55c-1.57-9.13-6.48-17.44-13.88-23.44-7.39-6-16.78-9.29-26.49-9.29s-19.1 3.29-26.49 9.29c-7.4 6-12.31 14.31-13.88 23.44a15.6 15.6 0 0 1-3.5 5.53 16.5 16.5 0 0 1-5.56 3.69c-30.6 11.98-67.68 36.6-67.68 106.09 0 75.77-16.65 89.74-40.17 117.12-3.02 3.67-4.38 8.34-3.81 12.97 0.58 4.63 3.06 8.86 6.9 11.75 3.61 2.66 8.1 3.98 12.66 3.7h283.06c4.9 0.28 9.69-1.32 13.36-4.42 3.66-3.1 5.88-7.46 6.18-12.12 0.26-4.27-1.09-8.48-3.79-11.88",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37",fill:"none"}},{d:"M315.4500000000007 355.25v13.88c0 14.82-6.17 29.04-17.17 39.52-10.99 10.48-25.9 16.37-41.44 16.37s-30.45-5.89-41.44-16.37-17.17-24.7-17.17-39.52v-13.88",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37",fill:"none"}}]},notifications:{viewBox:"0 0 512 512",paths:[{d:"M414.1200000000008 326.81999999999994c-23.52-27.47-40.17-41.45-40.17-117.12 0-69.39-37.07-94.01-67.67-106.08-2.12-0.84-4.02-2.09-5.58-3.68a15.1 15.1 0 0 1-3.49-5.55c-1.57-9.13-6.48-17.44-13.88-23.44-7.39-6-16.78-9.29-26.49-9.29s-19.1 3.29-26.49 9.29c-7.4 6-12.31 14.31-13.88 23.44a15.6 15.6 0 0 1-3.5 5.53 16.5 16.5 0 0 1-5.56 3.7c-30.6 11.97-67.68 36.59-67.68 106.08 0 75.77-16.65 89.74-40.17 117.12-3.02 3.67-4.38 8.34-3.81 12.97 0.58 4.63 3.06 8.86 6.9 11.75 3.61 2.66 8.1 3.98 12.66 3.7h283.06c3.54 0.19 7.07-0.59 10.16-2.26 3.08-1.67 5.61-4.14 7.27-7.14 1.65-2.98 2.38-6.37 2.08-9.74-0.3-3.38-1.61-6.59-3.76-9.28",style:{fill:"currentcolor"}},{d:"M214.78000000000065 408.1899999999998c5.45 5.36 11.97 9.61 19.19 12.52 7.2 2.91 14.95 4.41 22.77 4.41 7.83 0 15.57-1.5 22.78-4.41s13.73-7.16 19.18-12.52z",style:{fill:"none",stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37"}}]},"person-outline":{viewBox:"0 0 512 512",paths:[{d:"M328.2099999999991 144.21000000000004c-3.19 40.97-35.79 74.44-71.47 74.44-35.78 0-68.37-33.37-71.46-74.44-1.57-18.04 4.42-35.94 16.66-49.77 12.24-13.84 29.74-22.48 48.64-24.04 18.91-1.56 37.7 4.09 52.25 15.72s23.67 28.27 25.38 46.31c0.4 3.91 0.4 7.87 0 11.78",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37",fill:"none"}},{d:"M256.84000000000015 268.27c-70.66 0-142.43 37.17-155.68 107.42-0.5 1.64-0.65 3.36-0.45 5.06s0.75 3.34 1.62 4.83c0.87 1.5 2.05 2.82 3.45 3.87 1.41 1.06 3.02 1.85 4.74 2.3 1.11 0.31 2.25 0.47 3.39 0.48h286.06c2.7-0.07 5.32-0.9 7.52-2.4 2.21-1.49 3.9-3.57 4.86-5.99 1.02-2.64 1.15-5.53 0.38-8.25-13.36-70.15-85.22-107.32-155.89-107.32",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37",fill:"none"}}]},person:{viewBox:"0 0 512 512",paths:[{d:"M321.6299999999992 83.17999999999984c-16.45-16.83-39.37-26.14-64.59-26.14-25.42 0-48.44 9.22-64.79 25.95-16.54 16.92-24.51 39.92-22.72 64.83 3.79 49.05 42.96 88.88 87.41 88.88s83.63-39.83 87.41-88.88c2-24.62-6.08-47.63-22.72-64.64",style:{fill:"currentcolor"}},{d:"M404.64999999999964 415.4200000000001h-295.12c-3.86 0.06-7.68-0.72-11.16-2.28-3.51-1.54-6.61-3.81-9.07-6.66-2.76-3.23-4.72-7-5.76-11.04a26.94 26.94 0 0 1-0.23-12.34c7.08-37.55 29.21-69.11 63.89-91.26 30.8-19.68 69.87-30.52 110.04-30.52s79.14 10.84 110.04 30.52c34.68 22.15 56.81 53.71 63.89 91.26 0.82 4.08 0.72 8.28-0.31 12.32-1.04 4.03-2.97 7.8-5.67 11.06a25.65 25.65 0 0 1-9.07 6.66 28.7 28.7 0 0 1-11.47 2.28",style:{fill:"currentcolor"}}]},glasses:{viewBox:"0 0 512 512",paths:[{d:"M288.7999999999993 238.46000000000026s16.5-15.75 82.5-15.75c66.1 0 82.5 15.75 82.5 15.75v1.19c-0.1 93.57-16.7 124.8-82.5 124.8-66 0-82.5-31.47-82.5-125.99m-231.3 1.19v-1.19s16.6-15.75 82.6-15.75 82.6 15.75 82.6 15.75c0 94.52-16.6 125.99-82.6 125.99-65.7 0-82.5-31.23-82.6-124.8m165.2 2.2c0-1.85 14.7-3.39 33-3.39 18.2 0 33.1 1.54 33.1 3.39z m191.3-79.27c6.4 4.85 57.9 71.08 57.9 71.08z m-314.2 0l-57.9 71.08s51.4-66.23 57.9-71.08",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},"star-outline":{viewBox:"0 0 512 512",paths:[{d:"M256.8000000000011 80.71000000000004l50.9 86.03c4 6.9 9.7 12.84 16.5 17.41s14.6 7.65 22.7 9.02l103 17.02-70.8 67.3c-6.2 5.87-10.7 13.02-13.5 20.89a50.9 50.9 0 0 0-2.4 24.46l13.9 93.73-97-42.5c-7.4-3.19-15.4-4.84-23.5-4.84-8 0-16 1.65-23.4 4.84l-97 42.5 14-93.73c1.2-8.24 0.4-16.62-2.4-24.51-2.8-7.88-7.4-15.05-13.6-20.93l-70.7-67.31 103-17.01c8.2-1.34 16-4.41 22.8-8.98 6.7-4.57 12.3-10.54 16.4-17.45z m0-38.12c-4.3 0-8.4 1.09-12.1 3.14-3.7 2.06-6.8 5.01-8.9 8.56l-57.6 97.43c-1.8 2.94-4.2 5.5-7.1 7.49-2.9 1.96-6.3 3.3-9.8 3.92l-117.8 19.39c-4.4 0.73-8.4 2.58-11.7 5.37-2.5 2.07-4.5 4.63-5.9 7.48s-2.2 5.95-2.3 9.09c-0.1 3.15 0.5 6.29 1.7 9.22 1.2 2.92 3.1 5.59 5.4 7.82l81.3 77.38c2.7 2.52 4.7 5.61 5.9 9.01s1.5 7.03 1 10.57l-16 107.14c-0.7 4.37 0 8.84 2 12.83 2.7 5.54 7.6 9.85 13.6 11.97s12.6 1.88 18.4-0.66l110-48.19c3.2-1.38 6.5-2.09 10-2.09s6.9 0.71 10.1 2.09l110 48.19c3.2 1.4 6.6 2.11 10.1 2.09 1.1 0 2.3-0.09 3.4-0.19 4.7-0.64 9.2-2.61 12.6-5.65 3.6-3.04 6.1-7.02 7.3-11.43 0.8-2.93 1-5.98 0.5-8.96l-15.9-107.14c-0.5-3.54-0.2-7.17 1-10.57s3.2-6.49 5.8-9.01l81.5-77.38c4.1-3.81 6.6-8.88 7.1-14.29 0.5-5.42-1-10.83-4.3-15.27-1.9-2.45-4.2-4.56-6.9-6.19-2.7-1.6-5.7-2.69-8.8-3.23l-117.8-19.39c-3.5-0.56-6.9-1.88-9.8-3.85-2.9-1.94-5.3-4.53-7-7.56l-57.6-97.43c-2.2-3.64-5.4-6.65-9.2-8.75-3.8-1.89-7.9-2.91-12.2-2.95",style:{fill:"currentcolor"}}]},star:{viewBox:"0 0 512 512",paths:[{d:"M235.8000000000011 54.38000000000011c3.2-5.31 8.4-9.22 14.5-10.86 6.2-1.64 12.8-0.88 18.4 2.12 3.8 2.1 7 5.11 9.2 8.74l57.6 97.44c1.8 2.94 4.2 5.49 7 7.48 2.9 1.97 6.3 3.31 9.8 3.93l117.8 19.39c4.4 0.69 8.5 2.55 11.8 5.34 2.5 2.09 4.5 4.63 6 7.47 1.4 2.87 2.2 5.96 2.3 9.12 0.1 3.17-0.5 6.31-1.7 9.25s-3.1 5.59-5.5 7.79l-81.5 77.39c-2.6 2.51-4.6 5.6-5.8 9.01-1.2 3.4-1.5 7.02-1 10.57l15.9 107.13c0.9 6.04-0.8 12.16-4.6 17.05-3.8 4.87-9.5 8.12-15.8 9-4.6 0.67-9.3 0-13.5-1.9l-110-48.2c-3.2-1.37-6.6-2.07-10.1-2.07s-6.8 0.7-10 2.07l-110 48.2c-2.9 1.26-6 1.98-9.1 2.09-3.2 0.11-6.3-0.36-9.3-1.42s-5.7-2.66-8.1-4.7c-2.3-2.06-4.2-4.54-5.5-7.28-1.9-4.03-2.6-8.46-2-12.84l16-107.13c0.5-3.55 0.2-7.17-1-10.57-1.2-3.41-3.2-6.5-5.9-9.01l-81.3-77.39c-2.3-2.11-4.1-4.63-5.3-7.44-1.8-4.2-2.3-8.82-1.4-13.28 0.9-4.47 3.2-8.56 6.6-11.79 3.6-3.32 8-5.57 12.9-6.46l117.8-19.39c3.5-0.56 6.9-1.88 9.8-3.85 3-1.94 5.4-4.54 7.1-7.56z",style:{fill:"currentcolor"}}]},close:{viewBox:"0 0 512 512",paths:[{d:"M290.60000000000036 243.36000000000013l94.7-90.31c4.5-4.3 7-10.1 7.1-16.16 0-6.06-2.5-11.88-7-16.18-4.5-4.29-10.5-6.72-16.9-6.73-3.2-0.01-6.3 0.58-9.2 1.72s-5.6 2.82-7.8 4.94l-94.7 90.31-94.6-90.31c-3.4-3.17-7.6-5.33-12.3-6.19-4.6-0.87-9.4-0.4-13.8 1.33-4.3 1.7-8 4.62-10.7 8.38-2.6 3.74-4 8.15-4 12.67-0.1 2.99 0.5 5.97 1.7 8.73 1.2 2.78 3 5.3 5.2 7.4l94.7 90.31-94.7 90.31c-2.8 2.66-4.8 5.93-6 9.52-1.1 3.6-1.3 7.4-0.5 11.07 0.8 3.68 2.5 7.11 5 10 2.5 2.9 5.8 5.16 9.3 6.59 4.4 1.72 9.2 2.17 13.8 1.32 4.7-0.87 8.9-3.02 12.3-6.18l94.6-90.31 94.7 90.31c3.4 3.17 7.6 5.32 12.3 6.19 4.6 0.87 9.4 0.4 13.7-1.33a23.9 23.9 0 0 0 10.8-8.38c2.6-3.75 4-8.16 4-12.67 0.1-3-0.5-5.97-1.7-8.75-1.2-2.76-3-5.28-5.2-7.38z",style:{fill:"currentcolor"}}]},checkmark:{viewBox:"0 0 512 512",paths:[{d:"M416.3000000000011 121.67999999999984l-223.2 243.36-95.7-91.26",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"60",fill:"none"}}]},network:{viewBox:"0 0 512 512",paths:[{d:"M256.7999999999993 71.20000000000027c-103.5 0-187.6 80.07-187.6 178.91 0 98.77 84 178.91 187.6 178.91 49.7 0 97.5-18.85 132.7-52.4 35.2-33.56 54.9-79.06 54.9-126.51 0-47.44-19.7-92.95-54.9-126.51-35.2-33.54-83-52.4-132.7-52.4m0 26.91c1.6 0 3.1 0.16 4.6 0.23-28.4 19.86-51.7 45.62-68.2 75.32-4.8-1.09-9.7-1.02-14.5 0.22-4.7 1.24-9.1 3.59-12.6 6.85-3.6 3.26-6.2 7.31-7.7 11.78-1.4 4.48-1.7 9.24-0.7 13.83a279.7 279.7 0 0 0-59.9 37.67c1.7-39.18 19.2-76.22 48.8-103.41s69.1-42.42 110.2-42.49m53.9 83.51c-6.5 0.9-12.7 3.37-18 7.18s-9.5 8.82-12.2 14.58a331.7 331.7 0 0 0-65.1-5.22c-0.6-6.45-3.4-12.5-8.2-17.1-0.4-0.33-0.7-0.49-1.1-0.81 18.2-32.54 45-60.02 77.7-79.74 1.4 0.24 2.8 0.32 4.2 0.56 11.7 25.57 19.3 52.67 22.6 80.39z m-4.7-75.97c37.1 11.57 68.5 35.68 88.3 67.77-13.6 10.2-29.3 17.56-46.1 21.6-0.8-0.88-1.4-1.92-2.3-2.8-5.6-5.28-12.6-8.91-20.3-10.44 0-0.51-0.1-1.03-0.2-1.53a298 298 0 0 0-19.4-74.6m-15.8 142.46c-21.9 25.55-49.5 46.05-80.9 59.98-0.6-0.79-1.3-1.54-2-2.25-2.8-2.71-6.3-4.83-10-6.23-3.8-1.4-7.8-2.03-11.8-1.88-5.9-22.66-5.8-46.39 0.4-68.98 5.8 0.14 11.4-1.36 16.3-4.31 4.9-2.94 8.7-7.2 11-12.23 21.4-0.55 42.8 1.04 63.8 4.73-0.4 5.47 0.4 10.95 2.4 16.1s5.1 9.82 9.2 13.7c0.5 0.5 1 0.96 1.6 1.37m-126-29.24c0.5 0.63 1 1.22 1.6 1.77 1.8 1.68 3.8 3.12 6 4.26-7.2 25.14-7.3 51.64-0.3 76.84-2.1 1.16-4 2.54-5.7 4.1-5.1 4.88-8.1 11.41-8.5 18.31-14.5-0.33-29-2.57-42.8-6.67-9.1-17.27-14.7-36.06-16.3-55.32 19.8-17.4 41.9-31.98 66-43.29m-4.1 119.33h0.3c2.9 5.81 7.9 10.44 14.1 13.08 6.2 2.63 13.1 3.09 19.6 1.29 11.9 18.54 27 34.92 44.9 48.42-23.1-2.49-45.2-9.72-64.9-21.19a156.6 156.6 0 0 1-49.7-45.22c11.8 2.41 23.8 3.62 35.7 3.62m46.8 7.47l0.3-0.24c3.3-3.17 5.8-7.04 7.1-11.29 1.5-4.26 1.8-8.8 1-13.21 34.1-15 64-37.38 87.5-65.36 2.6 0.94 5.4 1.61 8.2 2.01-6 49.54-21.9 97.54-46.6 141.48-24-12.37-43.9-30.86-57.5-53.39m73.4 54.44c24.4-44.55 39.8-93.01 45.6-142.94 7.7-1.52 14.6-5.15 20.1-10.43 1-1 1.9-2.08 2.7-3.22 13.2 3.04 25.4 8.66 36.1 16.52 10.7 7.87 19.5 17.77 25.9 29.09-8.1 28.59-24.7 54.32-47.8 74.03-23.2 19.71-51.9 32.56-82.6 36.95m75.4-169.11c2.5-7.65 2.4-15.83-0.2-23.45 16.4-4.44 31.9-11.7 45.6-21.44 12.7 25.67 17.5 54.24 13.8 82.39-15.3-18-35.9-31.09-59.2-37.5",style:{fill:"currentcolor"}}]},about:{viewBox:"0 0 512 512",paths:[{d:"M252.10000000000036 79.75999999999976c-42.6 0-83.7 15.12-115.3 42.42s-51.3 64.84-55.5 105.28c-4.2 40.46 7.6 80.95 33 113.59 25.3 32.66 62.6 55.13 104.3 63.05 41.9 7.93 85.2 0.74 121.8-20.16 36.6-20.91 63.6-54.03 76.1-92.93 12.3-38.91 9-80.8-9.2-117.54s-50.1-65.71-89.5-81.26c-20.8-8.22-43.2-12.45-65.7-12.45Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M226.10000000000036 218.45999999999958h29.8v97.02",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M218.89999999999964 319.1399999999999h76.9",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M252.10000000000036 138.39999999999964c-4.8 0-9.5 1.35-13.4 3.89-3 1.9-5.5 4.39-7.4 7.32-1.8 2.94-3 6.22-3.4 9.62-0.3 3.41 0.1 6.85 1.4 10.06 1.2 3.24 3.1 6.16 5.7 8.56 3.4 3.24 7.6 5.46 12.3 6.35 4.8 0.89 9.7 0.43 14.1-1.33 4.4-1.78 8.2-4.73 10.8-8.51 2.7-3.79 4.1-8.27 4.1-12.84 0-3.03-0.6-6.04-1.8-8.85-1.3-2.78-3-5.32-5.2-7.5-4.6-4.34-10.8-6.77-17.2-6.77",style:{fill:"currentcolor"}}]},list:{viewBox:"0 0 512 512",paths:[{d:"M102.05999999999949 101.71000000000004h74.25c2.43 0 4.84 0.46 7.1 1.34 2.25 0.89 4.29 2.19 6.02 3.83 1.72 1.65 3.09 3.6 4.01 5.75a17 17 0 0 1 1.41 6.76v70.83c0 2.32-0.48 4.62-1.41 6.76-0.92 2.15-2.29 4.1-4.01 5.75a18.8 18.8 0 0 1-6.02 3.83c-2.26 0.88-4.67 1.34-7.1 1.34h-74.25c-2.44 0-4.85-0.46-7.1-1.34-2.25-0.89-4.3-2.19-6.02-3.83-1.72-1.65-3.09-3.6-4.02-5.75-0.92-2.14-1.4-4.44-1.4-6.76v-70.83c0.01-4.68 1.96-9.17 5.44-12.49 3.48-3.31 8.18-5.18 13.1-5.19",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}},{d:"M102.05999999999949 278.80999999999995h74.25c2.43 0 4.84 0.46 7.1 1.34 2.25 0.89 4.29 2.19 6.02 3.84 1.72 1.64 3.09 3.59 4.01 5.74 0.93 2.15 1.41 4.45 1.41 6.77v70.82c0 2.32-0.48 4.62-1.41 6.77-0.92 2.14-2.29 4.09-4.01 5.74a18.8 18.8 0 0 1-6.02 3.83c-2.26 0.88-4.67 1.34-7.1 1.34h-74.25c-2.44 0-4.85-0.46-7.1-1.34-2.25-0.89-4.3-2.19-6.02-3.83a17.8 17.8 0 0 1-4.02-5.74c-0.92-2.15-1.4-4.45-1.4-6.77v-70.82c0-2.32 0.48-4.62 1.4-6.77 0.93-2.15 2.3-4.1 4.02-5.74 1.72-1.65 3.77-2.95 6.02-3.84 2.25-0.88 4.66-1.34 7.1-1.34",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}},{d:"M287.6399999999994 137.17000000000007h148.51c4.92 0 9.63 1.87 13.11 5.18 3.48 3.32 5.43 7.82 5.43 12.5 0 4.69-1.95 9.19-5.43 12.5-3.48 3.32-8.19 5.19-13.11 5.19h-148.51c-4.91 0-9.62-1.87-13.1-5.19-3.48-3.31-5.44-7.81-5.44-12.5 0-4.68 1.96-9.18 5.44-12.5 3.48-3.31 8.19-5.18 13.1-5.18Z",style:{stroke:"currentcolor",strokeWidth:"37.252",fill:"none"}},{d:"M287.6399999999994 314.1800000000003h148.51c4.92 0 9.63 1.86 13.11 5.18 3.48 3.31 5.43 7.81 5.43 12.5 0 4.68-1.95 9.18-5.43 12.5s-8.19 5.18-13.11 5.18h-148.51c-4.91 0-9.62-1.86-13.1-5.18s-5.44-7.82-5.44-12.5c0-4.69 1.96-9.19 5.44-12.5 3.48-3.32 8.19-5.18 13.1-5.18Z",style:{stroke:"currentcolor",strokeWidth:"37.252",fill:"none"}}]},grid:{viewBox:"0 0 512 512",paths:[{d:"M126.86999999999898 101.71000000000004h74.26c2.43 0 4.84 0.46 7.09 1.34 2.26 0.89 4.3 2.19 6.03 3.83 1.72 1.65 3.09 3.6 4.01 5.75 0.93 2.14 1.41 4.45 1.41 6.76v70.83c0 2.32-0.48 4.62-1.41 6.76-0.92 2.15-2.29 4.1-4.01 5.75a18.7 18.7 0 0 1-6.03 3.83c-2.25 0.88-4.66 1.34-7.09 1.34h-74.26c-2.43 0-4.84-0.46-7.09-1.34-2.26-0.89-4.3-2.19-6.02-3.83-1.73-1.65-3.09-3.6-4.02-5.75a17 17 0 0 1-1.41-6.76v-70.83c0-2.32 0.46-4.62 1.39-6.77s2.29-4.11 4.02-5.75a18.5 18.5 0 0 1 6.03-3.84 19.3 19.3 0 0 1 7.1-1.32",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}},{d:"M312.4599999999991 101.71000000000004h74.26c2.43 0 4.84 0.46 7.09 1.34 2.25 0.89 4.3 2.19 6.02 3.83 1.73 1.65 3.09 3.6 4.02 5.75 0.93 2.14 1.4 4.44 1.4 6.76v70.83c0 2.32-0.47 4.62-1.4 6.76-0.93 2.15-2.29 4.1-4.02 5.75a18.7 18.7 0 0 1-6.02 3.83c-2.25 0.88-4.66 1.34-7.09 1.34h-74.26c-2.43 0-4.84-0.46-7.1-1.34a18.8 18.8 0 0 1-6.02-3.83c-1.72-1.65-3.09-3.6-4.01-5.75a17 17 0 0 1-1.41-6.76v-70.83c0.01-4.68 1.97-9.17 5.44-12.49 3.48-3.31 8.19-5.18 13.1-5.19",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}},{d:"M126.86999999999898 278.80999999999995h74.26c2.43 0 4.84 0.46 7.09 1.35 2.26 0.88 4.3 2.18 6.03 3.83 1.72 1.64 3.09 3.59 4.01 5.74 0.93 2.15 1.41 4.45 1.41 6.77v70.82c0 2.32-0.48 4.62-1.41 6.77-0.92 2.14-2.29 4.09-4.01 5.74a18.7 18.7 0 0 1-6.03 3.83c-2.25 0.88-4.66 1.34-7.09 1.34h-74.26c-2.43 0-4.84-0.46-7.09-1.34-2.26-0.89-4.3-2.19-6.02-3.83-1.73-1.65-3.09-3.6-4.02-5.74-0.93-2.15-1.41-4.45-1.41-6.77v-70.82c0-2.33 0.46-4.63 1.39-6.78s2.29-4.11 4.02-5.75c1.72-1.65 3.77-2.95 6.03-3.83 2.25-0.89 4.66-1.33 7.1-1.33",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}},{d:"M312.4599999999991 278.80999999999995h74.26c2.43 0 4.84 0.46 7.09 1.34 2.25 0.9 4.3 2.19 6.02 3.84 1.73 1.64 3.09 3.59 4.02 5.74s1.4 4.45 1.4 6.77v70.82c0 2.32-0.47 4.62-1.4 6.77-0.93 2.14-2.29 4.09-4.02 5.74a18.7 18.7 0 0 1-6.02 3.83c-2.25 0.88-4.66 1.34-7.09 1.34h-74.26c-2.43 0-4.84-0.46-7.1-1.34a18.8 18.8 0 0 1-6.02-3.83c-1.72-1.65-3.09-3.6-4.01-5.74-0.93-2.15-1.41-4.45-1.41-6.77v-70.82c0.01-4.69 1.97-9.18 5.44-12.5 3.48-3.3 8.19-5.18 13.1-5.19",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"37.252",fill:"none"}}]},share:{viewBox:"0 0 512 512",paths:[{d:"M396.39999999999964 437.19000000000005c-18 0.11-35.5-6.58-48.3-18.64-13-12.05-20.3-28.49-20.6-45.72v-1.43l-137.9-43.34a77.3 77.3 0 0 1-27.4 20.75c-10.66 4.84-22.32 7.3-34.18 7.19-20.19 0.76-39.86-6.15-54.71-19.22-14.85-13.06-23.65-31.21-24.49-50.47-0.83-19.25 6.38-38.02 20.05-52.2 13.67-14.2 32.68-22.63 52.87-23.46 2.09-0.09 4.18-0.09 6.28 0 17.44 0.17 34.28 5.56 48.38 15.4l101.3-62.93c-6.3-12.21-9.7-25.56-10.2-39.16-0.9-18.16 3.8-36.15 13.8-51.68 10-15.51 24.5-27.84 41.9-35.39 17.3-7.54 36.7-9.96 55.4-6.94 18.8 3.01 36.2 11.34 50 23.89s23.3 28.75 27.3 46.5c4.1 17.77 2.5 36.28-4.6 53.15-7 16.89-19.3 31.35-35.1 41.54-15.8 10.18-34.4 15.62-53.5 15.62-12.1 0.19-24.3-1.93-35.6-6.26s-21.7-10.76-30.3-18.93l-99.7 61.51c5.7 10.33 8.7 21.8 8.8 33.46-0.3 6.13-1.3 12.22-2.9 18.16l131.8 40.49c7.6-12.58 19.3-22.49 33.2-28.19 14-5.71 29.5-6.91 44.3-3.42 14.7 3.47 27.9 11.46 37.5 22.72 9.5 11.27 15 25.21 15.5 39.69-0.1 17.54-7.4 34.35-20.2 46.9-12.9 12.55-30.3 19.87-48.7 20.41m0-99.25c-6.8 0.29-13.5 2.49-19.1 6.35-5.6 3.85-9.8 9.2-12.3 15.35-2.4 6.15-2.9 12.84-1.4 19.25 1.6 6.4 5.1 12.24 10 16.78 5 4.55 11.3 7.6 18 8.77 6.8 1.17 13.9 0.42 20.2-2.17 6.4-2.58 11.7-6.89 15.5-12.38 3.8-5.48 5.8-11.92 5.8-18.49-0.2-9.06-4.2-17.67-11.1-23.94-6.8-6.28-16.1-9.69-25.6-9.52m-269.68-97.82c-5.97-0.13-11.91 0.85-17.47 2.9-5.57 2.06-10.67 5.14-14.99 9.06-4.32 3.93-7.79 8.63-10.21 13.83-2.41 5.21-3.74 10.82-3.88 16.52-0.13 5.69 0.89 11.36 3.05 16.66 2.15 5.31 5.38 10.17 9.49 14.3 4.12 4.11 9.05 7.42 14.51 9.73a47.3 47.3 0 0 0 17.31 3.7h2.19c5.97 0.13 11.96-0.85 17.44-2.9a46.5 46.5 0 0 0 15.05-9.06c4.29-3.92 7.78-8.63 10.17-13.83 2.42-5.21 3.82-10.82 3.92-16.51 0.2-5.7-0.9-11.36-3-16.67-2.22-5.31-5.4-10.17-9.59-14.29-4.09-4.12-9.07-7.43-14.45-9.74a47.8 47.8 0 0 0-17.35-3.7z m235.98-171.96c-7.9-0.25-15.9 1-23.5 3.69-7.5 2.69-14.3 6.77-20.2 12-5.8 5.22-10.6 11.49-13.9 18.46s-5.1 14.48-5.3 22.12v1.05c0.2 15.44 6.9 30.15 18.5 40.89 11.7 10.76 27.3 16.66 43.4 16.43h1.1c8.2 0.37 16.3-0.84 24-3.56 7.5-2.72 14.5-6.89 20.4-12.25 6-5.37 10.7-11.81 13.8-18.96 3.2-7.14 4.8-14.83 4.8-22.6s-1.6-15.46-4.9-22.59c-3.1-7.14-7.8-13.59-13.7-18.94s-13-9.52-20.5-12.22c-7.7-2.71-15.8-3.9-24-3.52",style:{fill:"currentcolor"}}]},warning:{viewBox:"0 0 512 512",paths:[{d:"M449.2999999999993 379.4000000000001l-169.9-300.87c-12-21.3-44-21.3-56.1 0l-169.8 300.87c-2.7 4.61-4 9.84-3.8 15.11 0.1 5.25 1.7 10.38 4.5 14.9 2.7 4.51 6.7 8.26 11.5 10.86 4.8 2.59 10.3 3.97 15.8 4h339.7c5.5 0.01 11-1.37 15.8-4 4.8-2.62 8.8-6.35 11.6-10.83 2.8-4.53 4.4-9.67 4.5-14.94 0.1-5.25-1.2-10.45-3.8-15.1m-197.9-1.81c-3 0.01-5.9-0.62-8.6-1.82-2.7-1.21-5-2.98-6.9-5.17-1.8-2.17-3.1-4.73-3.8-7.47s-0.8-5.59-0.2-8.35c0.7-3.69 2.6-7.08 5.3-9.7 2.8-2.67 6.4-4.49 10.3-5.23 3.9-0.72 7.9-0.34 11.5 1.09 3.7 1.45 6.8 3.87 8.9 6.99 2.2 3.12 3.4 6.79 3.4 10.55 0 2.52-0.5 5.02-1.6 7.32-1.5 3.48-3.9 6.46-7.2 8.56s-7.1 3.22-11.1 3.23m21.6-191.17l-5.7 115.98c0 4.03-1.6 7.9-4.6 10.75s-7.1 4.46-11.3 4.46-8.3-1.61-11.3-4.46-4.6-6.72-4.6-10.75l-5.8-115.88c-0.2-5.58 1.9-11.02 5.9-15.12 2-1.94 4.4-3.54 7-4.75 2.7-1.12 5.6-1.7 8.5-1.71h0.2c2.9 0 5.9 0.55 8.6 1.61 2.7 1.11 5.1 2.72 7 4.76 2.1 1.98 3.7 4.39 4.7 7.03 1 2.59 1.5 5.32 1.4 8.08",style:{fill:"currentcolor"}}]},"cloud-sync":{viewBox:"0 0 512 512",paths:[{d:"M472.7999999999993 180.1500000000001c-13.2-7.99-29.7-13.88-47.9-17.02-3-0.57-5.9-1.96-8.1-3.99-2.2-2.08-3.8-4.72-4.5-7.61-7.9-32.79-24.5-60.93-48.9-82.32-28.7-24.91-66.5-38.69-106.6-38.69-35.3 0-67.8 10.55-94.1 30.42-17.7 13.5-32 30.66-41.7 50.19-1.1 2.19-2.8 4.11-4.8 5.6-2 1.48-4.4 2.5-6.9 2.96-27 4.65-50.3 13.97-68.2 27.28-25.8 19.3-39.4 46.67-39.4 79 0 64.07 55.7 108.75 135.5 108.75h71.8v-78.9c0-12.11 5.1-23.71 14-32.27 9-8.55 21.2-13.36 33.8-13.36 12.7 0 24.8 4.81 33.8 13.36 9 8.56 14.1 20.16 14.1 32.27v78.9h91.7c72.3 0 115.6-32.51 115.6-87.08 0-28.71-13.6-52-39.2-67.49",style:{fill:"currentcolor"}},{d:"M256.7999999999993 240.51000000000022c-4.2 0.01-8.2 1.62-11.2 4.47s-4.7 6.71-4.7 10.74v148.68l-36.6-34.79c-1.5-1.37-3.3-2.47-5.2-3.22-1.9-0.74-4-1.1-6.1-1.06-4.2 0.03-8.1 1.62-11.1 4.45-1.5 1.39-2.6 3.06-3.4 4.89-0.8 1.84-1.2 3.79-1.2 5.77 0 3.99 1.6 7.84 4.5 10.74l63.8 60.75c1.5 1.42 3.1 2.56 5.1 3.31 1.9 0.77 4 1.16 6.1 1.16s4.2-0.39 6.1-1.16c2-0.75 3.7-1.89 5.2-3.31l63.8-60.75c1.5-1.41 2.6-3.09 3.4-4.94 0.7-1.86 1.1-3.82 1.1-5.8 0-2.97-0.9-5.87-2.7-8.35-1.7-2.48-4.1-4.43-7-5.6-1.9-0.77-4-1.17-6.1-1.16-4.2-0.03-8.3 1.51-11.2 4.28l-36.6 34.79v-148.68c0-2-0.4-3.97-1.2-5.83-0.8-1.85-2-3.52-3.5-4.93s-3.3-2.53-5.2-3.3c-1.9-0.76-4-1.15-6.1-1.15",style:{fill:"currentcolor"}}]},hourglass:{viewBox:"0 0 512 512",paths:[{d:"M215.5 223.71000000000004c-31.7-55.25-54.6-112.34-16.3-175.68-4-2.83-7.6-5.98-11-9.43-0.7-1.15-1.5-2.29-2.1-3.51-2.5-4.44-0.6-10.47 4.4-11.92 10-2.88 23.6-1.19 33.3 0.16 72.8 11.28 142.7 34.86 206.8 69.62 7.2 4.12 13.8 9.09 19.7 14.79 6.9 6.83 4.7 12.13-5.3 13.87-5.9 0.79-11.8 1.25-17.9 1.49-10.6 72.29-65.6 103.88-125.1 128.18 6.7 15.3 13.8 29.9 20 44.77 16.6 34.78 18.9 74.28 6.3 110.57-0.2 0.93-6.8 18.57 3.2 25.37 10.4 11.08 1.2 27.22-7.8 26.09-0.4-0.02-0.8-0.01-1.2 0.01-16.4-0.24-32.8-1.59-49-4.01-63.6-11.78-125.1-32.84-182.2-62.43-8.5-4.96-16.8-10.48-24.6-16.53-2.9-2.05-4.8-5.01-5.6-8.34-0.6-3.34-0.1-6.79 1.6-9.76 0.7-3.05 2.6-5.71 5.3-7.49 2.7-1.77 5.9-2.57 9.2-2.24 10.9 1.15 13.3-3.6 15.6-12.96 9.7-33.44 32.6-62 63.9-79.67 18.8-11.55 39-20.58 58.8-30.95m84.3 185.8c11.6-20.8 15.3-44.85 10.3-67.96-5.9-30.24-18.5-58.92-37-84.14-7.8-11.85-4.8-19.19 8.5-24.78 21.5-8.44 42.4-18.17 62.6-29.11 26.9-14.54 46.8-38.63 55.1-67.04 4.5-15.44 3.1-16.2-12.6-20.26-29.8-7.76-59.7-15.38-88.9-24.85-23.1-7.58-45.4-17.62-67.7-26.97-7.2-2.96-11.1-2.33-15.2 5-11 21.72-14.1 46.39-8.5 69.96 6.6 29.38 19.3 57.24 37 82.06 1.7 1.83 2.9 4.08 3.4 6.48 0.5 2.41 0.3 4.9-0.5 7.23-0.9 2.32-2.4 4.37-4.3 5.95-2 1.57-4.4 2.61-6.9 3.02-7.9 2.75-16 5.53-23.6 8.74-33.9 11.93-63.1 33.61-83.6 62.04-7.8 10.44-12.2 22.91-12.5 35.78 7.5 1.19 15.2 1.44 22.8 0.75 19.9-4.41 58.2 0.13 84.6-12.82 7.7-2.22 15.8-2.18 23.4 0.11 7.6 2.28 14.4 6.71 19.3 12.71 13 13.74 13.7 24.71 24.1 40.47 6.3 8.9 0 13.89 10.2 17.63",style:{fill:"currentcolor"}},{d:"M335.60000000000036 158.78999999999996c-1.5 0.2-2.9 0.33-4.2 0.51-0.2 0.02-0.3 0.08-0.6 0.11-28.3 5.94-58 3.72-85-6.39-0.4-0.12-0.9-0.28-1.2-0.41-1.8-0.38-3.5-0.42-5.3-0.12-1.8 0.28-3.5 0.92-5 1.86s-2.6 2.28-3.3 3.85c-1.6 3.44-1.9 7.28-1 10.93 0.1 0.43 0.2 0.84 0.4 1.24 7.1 16.9 14.8 33.41 23.1 49.43 0.5 1.01 1.3 1.9 2.2 2.61 1.2 0.98 2.6 1.69 4.1 2.07 1.6 0.38 3.2 0.42 4.7 0.11 0.4-0.05 0.8-0.23 1.2-0.32 27.4-9.6 52.5-24.3 73.9-43.25 0.3-0.3 0.6-0.51 0.9-0.84 3.2-3.63 5.2-8.12 5.6-12.84 0-1.61-0.5-3.18-1.5-4.49-1-1.38-2.3-2.48-3.9-3.19-1.6-0.72-3.3-1.02-5.1-0.87",style:{fill:"currentcolor"}},{d:"M267 309.6600000000001c-0.2 4.03-2 7.82-5.1 10.57-3.1 2.74-7.2 4.24-11.4 4.13-0.1-0.03-0.3 0.03-0.4-0.01-3.2-0.16-6.2-1.21-8.7-3.01-2.6-1.8-4.5-4.28-5.6-7.13-1.1-2.84-1.3-5.95-0.5-8.89 0.8-2.95 2.4-5.62 4.8-7.66 2.3-2.06 5.2-3.41 8.3-3.87 3.2-0.49 6.4-0.07 9.3 1.2 2.9 1.26 5.3 3.32 7 5.9s2.5 5.56 2.4 8.59c0 0.02-0.1 0.04-0.1 0.08z",style:{fill:"currentcolor"}},{d:"M262.60000000000036 264.8900000000001c-0.9 5.86-4 9.17-10.2 8.92-1.2 0.06-2.3-0.1-3.4-0.46-1.1-0.33-2.1-0.89-2.9-1.64-0.9-0.72-1.6-1.6-2.1-2.6s-0.7-2.06-0.8-3.14c0-0.59 0-1.18 0.1-1.77-0.1-1.11 0.1-2.24 0.5-3.28 0.3-1.08 0.9-2.06 1.7-2.86s1.8-1.48 2.8-1.98c1.1-0.48 2.2-0.74 3.4-0.79 0.6-0.03 1.1-0.02 1.7 0.05 6.1 0.2 8.9 3.92 9.2 9.55",style:{fill:"currentcolor"}}]},pause:{viewBox:"0 0 512 512",paths:[{d:"M183.68499999999995 88.40999999999985h-18.339v314.18h18.339z",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"36.719",fill:"none"}},{d:"M348.33900000000006 88.40999999999985H330v314.18h18.339z",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"36.719",fill:"none"}}]},next:{viewBox:"0 0 512 512",paths:[{d:"M122.19000000000005 113.3100000000004v264.75c0 15.88 15.14 26.05 27.7 18.44L371.15999999999985 261.1400000000003c2.12-1.49 3.9-3.35 5.26-5.49 1.35-2.15 2.25-4.52 2.64-7 0.39-2.47 0.26-4.99-0.38-7.41-0.64-2.43-1.77-4.72-3.33-6.72a18 18 0 0 0-4.19-3.99l-221.27-135.47c-12.56-7.79-27.7 2.38-27.7 18.25Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}},{d:"M391.5 85.84000000000015v321.22",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}}]},"skip-back":{viewBox:"0 0 512 512",paths:[{d:"M475.72000000000025 138.32000000000062v210.08c0 12.65-12.95 20.63-23.52 14.64l-188.28-107.42c-9.17-5.23-9.17-19.1 0-24.33l188.28-107.42c10.57-6.18 23.52 1.8 23.52 14.45Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}},{d:"M247.8800000000001 138.32000000000062v210.08c0 12.65-12.96 20.63-23.53 14.64l-188.27-107.42c-9.17-5.23-9.17-19.1 0-24.33l188.27-107.42c10.57-6.18 23.53 1.8 23.53 14.45Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}}]},"skip-forward":{viewBox:"0 0 512 512",paths:[{d:"M37.86999999999989 138.32000000000062v210.08c0 12.65 12.95 20.63 23.52 14.64l188.28-107.42c9.17-5.23 9.17-19.1 0-24.33l-188.28-107.42c-10.57-6.18-23.52 1.8-23.52 14.45Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}},{d:"M265.71000000000004 138.32000000000062v210.08c0 12.65 12.96 20.63 23.53 14.64l188.27-107.42c9.17-5.23 9.17-19.1 0-24.33l-188.27-107.42c-10.57-6.18-23.53 1.8-23.53 14.45Z",style:{stroke:"currentcolor",strokeMiterlimit:"10",strokeWidth:"35.851",fill:"none"}}]},"volume-off":{viewBox:"0 0 512 512",paths:[{d:"M237.80000000000018 177.76999999999953h-72.36c-1.08 0-2.16 0.2-3.17 0.6-2.02 0.8-3.64 2.34-4.47 4.26-0.42 0.96-0.63 1.99-0.63 3.03v111.03c0 1.04 0.21 2.06 0.63 3.02s1.02 1.83 1.79 2.56 1.68 1.31 2.68 1.71c1.01 0.4 2.09 0.6 3.17 0.6h72.36c3.86-0.02 7.61 1.26 10.57 3.61l95.08 74.25a8.7 8.7 0 0 0 6.2 1.42c2.19-0.32 4.15-1.44 5.47-3.13a7.45 7.45 0 0 0 1.59-4.76v-269.88c0-1.04-0.21-2.06-0.63-3.02a7.85 7.85 0 0 0-1.79-2.56 8.5 8.5 0 0 0-2.68-1.71c-1.01-0.4-2.09-0.6-3.17-0.6-1.76 0.01-3.46 0.54-4.89 1.52l-95.08 74.25c-2.94 2.47-6.74 3.83-10.67 3.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}}]},"volume-low":{viewBox:"0 0 512 512",paths:[{d:"M187.9699999999998 178.71999999999935h-72.36c-1.08 0-2.16 0.2-3.17 0.6-2.02 0.8-3.64 2.34-4.47 4.26-0.42 0.96-0.63 1.99-0.63 3.03v111.03c0 1.04 0.21 2.06 0.63 3.02s1.02 1.83 1.79 2.56 1.68 1.31 2.68 1.71c1.01 0.4 2.09 0.6 3.17 0.6h72.36c3.86-0.02 7.61 1.26 10.57 3.61l95.08 74.25a8.7 8.7 0 0 0 6.2 1.42c2.19-0.32 4.15-1.44 5.47-3.13a7.45 7.45 0 0 0 1.59-4.76v-269.88c0-1.04-0.21-2.06-0.63-3.02a7.85 7.85 0 0 0-1.79-2.56 8.5 8.5 0 0 0-2.68-1.71c-1.01-0.4-2.09-0.6-3.17-0.6-1.76 0.01-3.46 0.54-4.89 1.52l-95.08 74.25c-2.94 2.47-6.74 3.83-10.67 3.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M389.90999999999985 305.52999999999975c10.65-19.61 16.35-41.32 16.64-63.41-0.08-22.11-5.79-43.87-16.64-63.4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}}]},"volume-medium":{viewBox:"0 0 512 512",paths:[{d:"M154.07999999999993 178.71999999999935h-72.36c-1.09 0-2.16 0.2-3.17 0.6-1.01 0.39-1.91 0.97-2.69 1.71-0.77 0.73-1.38 1.59-1.78 2.55-0.42 0.96-0.63 1.99-0.63 3.03v111.03c0 1.04 0.21 2.06 0.63 3.02a7.7 7.7 0 0 0 1.79 2.56c0.77 0.73 1.67 1.31 2.68 1.71s2.08 0.6 3.17 0.6h72.36c3.86-0.02 7.61 1.26 10.57 3.61l95.08 74.25a8.7 8.7 0 0 0 6.2 1.42c2.19-0.32 4.15-1.44 5.46-3.13a7.4 7.4 0 0 0 1.6-4.76v-269.88c0-1.04-0.21-2.06-0.63-3.02a8 8 0 0 0-1.79-2.56 8.5 8.5 0 0 0-2.68-1.71c-1.01-0.4-2.09-0.6-3.17-0.6-1.76 0.01-3.46 0.54-4.89 1.52l-95.08 74.25c-2.97 2.43-6.75 3.78-10.67 3.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M356.1099999999997 305.52999999999975c10.66-19.61 16.36-41.32 16.65-63.41-0.09-22.11-5.8-43.86-16.65-63.4",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M405.9499999999998 353.15999999999985c22.13-33.16 33.7-71.74 33.29-111.04 0.71-39.34-10.88-78-33.29-111.03",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}}]},"volume-high":{viewBox:"0 0 512 512",paths:[{d:"M123.17999999999938 179.57000000000062h-72.36c-1.09 0-2.16 0.2-3.17 0.6-1.01 0.39-1.91 0.97-2.69 1.71a7.7 7.7 0 0 0-1.79 2.56 7.7 7.7 0 0 0-0.62 3.02v111.03c0 1.04 0.21 2.07 0.62 3.03s1.02 1.82 1.8 2.56c0.77 0.74 1.67 1.32 2.68 1.71 1.01 0.4 2.08 0.59 3.17 0.59h72.36c3.86-0.01 7.61 1.26 10.57 3.62l95.08 74.24a8.7 8.7 0 0 0 6.2 1.43c2.18-0.33 4.15-1.45 5.46-3.14a7.38 7.38 0 0 0 1.6-4.75v-269.88c0-1.04-0.21-2.07-0.63-3.03a8 8 0 0 0-1.79-2.55 8.3 8.3 0 0 0-2.69-1.72c-1-0.4-2.08-0.59-3.17-0.59-1.75 0-3.45 0.54-4.88 1.52l-95.08 74.24c-2.98 2.43-6.75 3.78-10.67 3.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M325.1099999999997 306.3800000000001c10.66-19.61 16.36-41.32 16.65-63.4-0.08-22.11-5.79-43.87-16.65-63.41",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M375.0499999999993 354.0100000000002c22.13-33.16 33.7-71.72 33.29-111.03 0.71-39.35-10.89-78-33.29-111.03",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M421.9899999999998 395.0799999999999c69.18-83.85 61.2-230.34-1.29-305.44",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}}]},"volume-mute":{viewBox:"0 0 512 512",paths:[{d:"M424.09000000000015 419.7000000000007l-367.88-350.97",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"33.557",fill:"none"}},{d:"M223.36000000000058 125.48000000000047V159.14000000000033c-0.01 1.06 0.41 2.09 1.19 2.85l25.12 23.95c0.48 0.47 1.08 0.81 1.73 0.99 0.66 0.19 1.36 0.22 2.03 0.1 0.67-0.13 1.3-0.41 1.83-0.83s0.94-0.95 1.2-1.56c0.21-0.49 0.31-1.02 0.29-1.55v-73.86c0.05-4.42-1.16-8.77-3.49-12.59-2.34-3.81-5.71-6.96-9.77-9.09-4.18-2.15-8.9-3.12-13.64-2.8-4.72 0.32-9.27 1.92-13.07 4.61-0.2 0.19-0.5 0.29-0.7 0.48l-33.39 26.04c-0.43 0.33-0.79 0.74-1.05 1.2-0.27 0.47-0.43 0.97-0.49 1.49-0.04 0.53 0.01 1.05 0.16 1.55 0.16 0.51 0.43 0.97 0.78 1.37l0.3 0.29 17.84 17.01c0.74 0.69 1.71 1.09 2.73 1.14 1.03 0.05 2.05-0.24 2.85-0.85z",style:{fill:"currentcolor"}},{d:"M223.36000000000058 362.9500000000007l-81.63-63.7c-6.01-4.64-13.51-7.16-21.23-7.12h-64.39v-95.73h53.02c0.83-0.01 1.64-0.25 2.32-0.69a4.1 4.1 0 0 0 1.54-1.79c0.32-0.74 0.41-1.53 0.26-2.31s-0.55-1.5-1.13-2.06l-25.11-23.95c-0.39-0.37-0.86-0.67-1.38-0.87-0.51-0.2-1.07-0.28-1.61-0.27h-36.28c-6.66 0.01-13.05 2.53-17.76 7.02-4.7 4.49-7.35 10.58-7.36 16.93v111.61c0.01 6.35 2.66 12.44 7.36 16.93 4.71 4.48 11.1 7.01 17.76 7.02h72.95l95.49 74.53c0.21 0.19 0.44 0.35 0.7 0.47 3.85 2.73 8.45 4.34 13.24 4.64 4.79 0.31 9.57-0.71 13.77-2.92 3.96-2.16 7.26-5.29 9.54-9.06 2.28-3.79 3.45-8.07 3.41-12.43v-50c0.01-1.07-0.41-2.09-1.19-2.85l-25.12-23.96a4.33 4.33 0 0 0-2.94-1.14c-1.09 0-2.15 0.41-2.94 1.14-0.39 0.37-0.7 0.82-0.91 1.31s-0.3 1.02-0.28 1.54v57.71z",style:{fill:"currentcolor"}},{d:"M357.21000000000004 244.22000000000025c0-24.53-6.08-47.72-18.53-71.01-2.1-3.66-5.6-6.38-9.77-7.6-4.17-1.23-8.67-0.86-12.55 1.05-3.89 1.89-6.84 5.15-8.23 9.09-1.41 3.94-1.13 8.24 0.74 12 10.07 18.73 14.85 37.26 14.85 56.56 0 2.66-0.1 5.33-0.29 8.08-0.09 1.15 0.07 2.3 0.49 3.38a8.2 8.2 0 0 0 1.9 2.9l20.53 19.58a4.33 4.33 0 0 0 2.94 1.14c1.1 0 2.15-0.41 2.94-1.14 0.59-0.53 0.98-1.24 1.1-2 2.58-10.5 3.88-21.24 3.88-32.03",style:{fill:"currentcolor"}},{d:"M424.09000000000015 244.21000000000004c0-51.04-13.65-83.65-35.68-119.68-2.27-3.57-5.93-6.16-10.19-7.19-4.24-1.03-8.75-0.43-12.54 1.68-3.79 2.1-6.56 5.55-7.72 9.58a15.3 15.3 0 0 0 1.55 12c19.73 32.32 31.19 59.6 31.19 103.61 0 23.77-3.49 42.78-9.76 60.46-0.5 1.42-0.58 2.95-0.23 4.41s1.12 2.8 2.22 3.86l17.54 16.74a4.33 4.33 0 0 0 2.94 1.14c1.1 0 2.15-0.41 2.94-1.14 0.39-0.36 0.69-0.77 0.9-1.24 10.66-24.53 16.84-50.38 16.84-84.23",style:{fill:"currentcolor"}},{d:"M490.97000000000025 244.22000000000025c0-74.06-21.13-120.73-52.82-168.07-2.44-3.48-6.2-5.91-10.5-6.76-4.28-0.86-8.76-0.08-12.45 2.17-3.69 2.26-6.31 5.8-7.29 9.87-0.99 4.08-0.25 8.36 2.03 11.92 28.61 42.68 47.54 84.61 47.54 150.96 0 47.34-9.27 81.85-24.62 112.65-0.36 0.75-0.48 1.58-0.34 2.39 0.13 0.82 0.53 1.58 1.14 2.17l18.64 17.78c0.58 0.56 1.32 0.95 2.12 1.1a4.3 4.3 0 0 0 2.41-0.23c0.5-0.21 0.96-0.5 1.35-0.87 0.32-0.31 0.59-0.66 0.8-1.05 22.42-42.11 31.99-83.18 31.99-134.03",style:{fill:"currentcolor"}}]},subtitles:{viewBox:"0 0 512 512",paths:[{d:"M482.60000000000036 206v-77.29c0-30.32-25.4-38.97-38.6-38.69h-375.9c-17.9 0-37 10.27-37 36.79v220.92c0 22.72 15.8 36.7 38.6 36.7h274.1l30.9 29.47c3.8 3.52 9 5.48 14.4 5.48s10.6-1.96 14.5-5.48l30.9-29.47h17.3c14.5 0 30.9-8.56 30.9-34.89z m-32.8 0v136.12c0 5.52 0 11.03-7.7 11.03h-19.3l-34.8 31.28-32.7-31.28h-281.8c-1.3 0.02-2.5-0.2-3.7-0.65a9.6 9.6 0 0 1-3.2-2c-0.9-0.86-1.6-1.88-2.1-3.01s-0.7-2.34-0.7-3.56V130.42000000000007c0-5.51 0-11.03 7.7-11.03h368.5c6.9 0 9.7 5.52 9.7 9.23v77.38z",style:{fill:"currentcolor"}},{d:"M193.1999999999989 237.26999999999998h-75.3q-3.45-0.015-6.6 1.23c-2.2 0.81-4.1 2.03-5.7 3.56-1.5 1.53-2.8 3.35-3.7 5.34-0.8 2-1.3 4.15-1.3 6.32v0.09c0 2.17 0.4 4.32 1.3 6.32 0.9 2.01 2.1 3.83 3.6 5.36 1.7 1.54 3.6 2.76 5.7 3.6 2.1 0.83 4.3 1.26 6.6 1.26h75.4c3.3 0.01 6.7-0.94 9.6-2.75 2.8-1.8 5.1-4.37 6.4-7.38 0.8-2.01 1.3-4.15 1.3-6.31v-0.1c0-2.18-0.4-4.32-1.3-6.34-0.9-2.01-2.2-3.83-3.8-5.37s-3.5-2.76-5.6-3.59c-2.1-0.82-4.3-1.25-6.6-1.24",style:{fill:"currentcolor"}},{d:"M229.6999999999989 253.90999999999985c0 2.17 0.4 4.31 1.3 6.32s2.1 3.83 3.7 5.36c1.7 1.54 3.6 2.76 5.7 3.59 2.1 0.84 4.3 1.27 6.6 1.27h150.6c2.3 0.01 4.5-0.4 6.7-1.23 2.1-0.82 3.9-2.03 5.5-3.56s2.9-3.35 3.8-5.34c0.8-2 1.3-4.15 1.3-6.32v-0.09c0-2.17-0.4-4.32-1.3-6.32-0.8-2.01-2.1-3.83-3.7-5.36-1.6-1.54-3.5-2.76-5.6-3.6-2.1-0.83-4.3-1.26-6.6-1.26h-152.6c-4.3 0.4-8.3 2.32-11.1 5.39-2.9 3.07-4.4 7.05-4.3 11.15",style:{fill:"currentcolor"}},{d:"M322.39999999999964 323.7800000000002h75.3c2.3 0.01 4.5-0.41 6.7-1.23 2.1-0.82 3.9-2.03 5.5-3.56s2.9-3.35 3.8-5.34c0.9-2 1.3-4.15 1.3-6.32v-0.09c0-2.17-0.4-4.32-1.3-6.32-0.9-2.01-2.1-3.83-3.7-5.36a17.2 17.2 0 0 0-5.6-3.6c-2.1-0.83-4.3-1.26-6.6-1.26h-75.4c-3.4-0.01-6.7 0.94-9.5 2.74-2.9 1.81-5.1 4.38-6.5 7.39-0.8 2-1.3 4.15-1.3 6.31v0.1c0 2.17 0.4 4.31 1.3 6.32s2.1 3.83 3.7 5.36c1.6 1.54 3.6 2.76 5.7 3.59 2 0.84 4.2 1.27 6.5 1.27z",style:{fill:"currentcolor"}},{d:"M117.79999999999927 323.7800000000002h152.5c2.3 0.01 4.5-0.4 6.7-1.23 2.1-0.81 4-2.03 5.6-3.56s2.9-3.35 3.8-5.34c0.8-2 1.2-4.15 1.2-6.32v-0.09c0-2.17-0.4-4.32-1.2-6.32-0.9-2.01-2.1-3.83-3.7-5.36-1.6-1.54-3.5-2.77-5.7-3.6-2.1-0.83-4.3-1.26-6.6-1.26h-152.6c-3.4-0.01-6.8 0.94-9.6 2.74-2.9 1.81-5 4.38-6.4 7.39-0.8 2-1.3 4.15-1.3 6.31v0.1c0 2.18 0.4 4.32 1.3 6.34 0.9 2 2.2 3.83 3.7 5.37 1.6 1.54 3.5 2.76 5.6 3.58 2.2 0.83 4.4 1.26 6.7 1.25",style:{fill:"currentcolor"}}]},"audio-tracks":{viewBox:"0 0 512 512",paths:[{d:"M58.97999999999956 212.5300000000002v72.12c-0.01 2.2 0.44 4.36 1.31 6.39a16.6 16.6 0 0 0 3.79 5.41c1.62 1.54 3.55 2.76 5.67 3.6s4.39 1.25 6.69 1.25c2.29 0 4.56-0.41 6.68-1.25a17.7 17.7 0 0 0 5.68-3.6 16.6 16.6 0 0 0 3.78-5.41c0.87-2.03 1.32-4.19 1.31-6.39v-72.12c0.01-2.19-0.44-4.36-1.31-6.38-0.87-2.03-2.16-3.86-3.78-5.41a17.2 17.2 0 0 0-5.68-3.6c-2.12-0.84-4.39-1.27-6.68-1.26-2.3-0.01-4.57 0.42-6.69 1.26a17.2 17.2 0 0 0-5.67 3.6 16.5 16.5 0 0 0-3.79 5.41c-0.87 2.02-1.32 4.19-1.31 6.38",style:{fill:"currentcolor"}},{d:"M454.6999999999989 212.5300000000002v72.13c0.01 2.19-0.44 4.35-1.32 6.38a16.4 16.4 0 0 1-3.78 5.41c-1.62 1.55-3.54 2.76-5.67 3.6-2.12 0.84-4.39 1.26-6.69 1.25-2.29 0.01-4.56-0.41-6.68-1.25-2.13-0.84-4.06-2.05-5.67-3.6a16.5 16.5 0 0 1-3.79-5.41 16 16 0 0 1-1.31-6.38v-72.13c-0.01-2.19 0.44-4.36 1.31-6.38 0.87-2.03 2.16-3.86 3.79-5.41 1.61-1.55 3.54-2.78 5.67-3.6 2.12-0.84 4.39-1.26 6.68-1.25 2.3-0.01 4.57 0.41 6.69 1.25 2.13 0.82 4.05 2.05 5.67 3.6 1.63 1.55 2.91 3.38 3.78 5.41 0.88 2.02 1.33 4.19 1.32 6.38",style:{fill:"currentcolor"}},{d:"M178.59000000000015 178.75v139.69c-0.01 2.18 0.44 4.35 1.3 6.37 0.88 2.03 2.17 3.86 3.79 5.41 1.63 1.55 3.55 2.78 5.67 3.61 2.13 0.83 4.4 1.26 6.69 1.25 2.29 0.01 4.57-0.42 6.69-1.25s4.05-2.06 5.67-3.61c1.63-1.55 2.91-3.38 3.79-5.41 0.87-2.02 1.31-4.19 1.3-6.37v-139.69c0.01-2.19-0.43-4.35-1.3-6.38a16.6 16.6 0 0 0-3.79-5.41 17.5 17.5 0 0 0-5.67-3.61c-2.12-0.83-4.4-1.25-6.69-1.24-2.29-0.01-4.56 0.41-6.69 1.24-2.12 0.84-4.04 2.06-5.67 3.61a16.8 16.8 0 0 0-3.79 5.41c-0.86 2.03-1.31 4.19-1.3 6.38",style:{fill:"currentcolor"}},{d:"M334.09999999999854 178.75v139.69c0.01 2.18-0.44 4.35-1.31 6.37-0.88 2.03-2.16 3.86-3.79 5.41a17.4 17.4 0 0 1-5.67 3.61 18.1 18.1 0 0 1-6.69 1.25c-2.29 0.01-4.56-0.42-6.68-1.25-2.13-0.83-4.06-2.06-5.68-3.61a16.5 16.5 0 0 1-3.78-5.41c-0.87-2.02-1.32-4.19-1.31-6.37v-139.69c-0.01-2.19 0.44-4.35 1.31-6.38a16.6 16.6 0 0 1 3.78-5.41c1.62-1.55 3.55-2.77 5.68-3.61 2.12-0.83 4.39-1.25 6.68-1.24 2.3-0.01 4.57 0.41 6.69 1.24 2.12 0.84 4.05 2.06 5.67 3.61a16.6 16.6 0 0 1 3.79 5.41 16 16 0 0 1 1.31 6.38",style:{fill:"currentcolor"}},{d:"M153.6899999999987 358.6300000000001v-230.55c0.01-2.18-0.44-4.35-1.3-6.38-0.88-2.02-2.17-3.86-3.79-5.4a17.7 17.7 0 0 0-5.67-3.62c-2.13-0.82-4.4-1.25-6.69-1.24-2.29-0.01-4.57 0.42-6.69 1.24a17.6 17.6 0 0 0-5.67 3.62 16.6 16.6 0 0 0-3.79 5.4c-0.87 2.03-1.31 4.2-1.3 6.38v230.55c-0.01 2.18 0.43 4.35 1.3 6.38 0.88 2.02 2.17 3.87 3.79 5.41s3.55 2.77 5.67 3.61c2.12 0.82 4.4 1.25 6.69 1.24 2.29 0.01 4.56-0.42 6.69-1.24 2.12-0.84 4.04-2.07 5.67-3.61 1.62-1.54 2.91-3.39 3.79-5.41 0.86-2.03 1.31-4.2 1.3-6.38",style:{fill:"currentcolor"}},{d:"M358.9899999999998 358.6300000000001v-230.55c-0.01-2.18 0.44-4.35 1.31-6.38 0.88-2.02 2.16-3.85 3.79-5.4a17.3 17.3 0 0 1 5.67-3.62c2.12-0.82 4.39-1.25 6.69-1.24 2.29-0.01 4.56 0.42 6.68 1.24 2.13 0.84 4.05 2.07 5.67 3.62 1.63 1.55 2.92 3.38 3.78 5.4 0.88 2.03 1.33 4.2 1.32 6.38v230.55c0.01 2.18-0.44 4.36-1.32 6.38-0.86 2.02-2.15 3.87-3.78 5.41a17.6 17.6 0 0 1-5.67 3.61c-2.12 0.82-4.39 1.25-6.68 1.24-2.3 0.01-4.57-0.42-6.69-1.24-2.13-0.84-4.06-2.07-5.67-3.61a16.5 16.5 0 0 1-3.79-5.41 16 16 0 0 1-1.31-6.38",style:{fill:"currentcolor"}},{d:"M274.28999999999905 409.3000000000002V77.42000000000007c0.01-2.19-0.44-4.36-1.3-6.38a16.6 16.6 0 0 0-3.79-5.41 17.4 17.4 0 0 0-5.67-3.61c-2.12-0.83-4.4-1.26-6.69-1.25-2.29-0.01-4.56 0.42-6.69 1.25-2.12 0.83-4.04 2.06-5.67 3.61a16.6 16.6 0 0 0-3.79 5.41c-0.86 2.02-1.31 4.19-1.3 6.38v331.88c-0.01 2.18 0.44 4.35 1.3 6.37a16.6 16.6 0 0 0 3.79 5.41c1.63 1.55 3.55 2.78 5.67 3.62 2.13 0.82 4.4 1.25 6.69 1.24 2.29 0.01 4.57-0.42 6.69-1.24a17.6 17.6 0 0 0 5.67-3.62 16.6 16.6 0 0 0 3.79-5.41c0.86-2.02 1.31-4.19 1.3-6.37",style:{fill:"currentcolor"}}]},chapters:{viewBox:"0 0 512 512",paths:[{d:"M256.83999999999924 169.44000000000005c14.91-56.14 71.24-84.81 193.87-85.33 1.97-0.01 3.91 0.35 5.71 1.06 1.82 0.72 3.47 1.76 4.86 3.08 1.38 1.32 2.48 2.9 3.23 4.63 0.75 1.72 1.12 3.58 1.11 5.45v256.02c0 1.86-0.38 3.72-1.13 5.45-0.75 1.72-1.85 3.29-3.23 4.61a15.1 15.1 0 0 1-4.84 3.08c-1.81 0.71-3.75 1.08-5.71 1.08-119.3 0-165.39 22.95-193.87 56.9-28.3-33.78-74.56-56.9-193.86-56.9-9.21 0-14.92-7.16-14.92-15.93v-254.31c0-1.87 0.38-3.72 1.13-5.45 1.13-2.6 3.04-4.83 5.5-6.39 2.45-1.56 5.34-2.39 8.29-2.38 122.63 0.52 178.95 29.19 193.86 85.33",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34",fill:"none"}},{d:"M257.1399999999994 157.71000000000004v268.07",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"34",fill:"none"}}]},"skip-15-forward":{viewBox:"0 0 512 512",paths:[{d:"M429.0699999999997 237.2800000000002c-3.94 0.01-7.71 1.5-10.5 4.15-2.78 2.65-4.34 6.26-4.35 10.01 0 82.8-70.57 150.1-157.38 150.1s-157.38-67.3-157.38-150.1c0-82.51 70.17-149.63 156.58-150.1l-27.01 25.47a12.6 12.6 0 0 0-2.93 4.14 12.16 12.16 0 0 0 0 9.79c0.68 1.55 1.67 2.96 2.93 4.14 2.6 2.37 6.06 3.7 9.67 3.7s7.07-1.33 9.67-3.7l51.73-48.68a12.6 12.6 0 0 0 2.93-4.13c0.67-1.55 1.02-3.21 1.02-4.9 0-1.68-0.35-3.34-1.02-4.89-0.68-1.55-1.68-2.96-2.93-4.14l-51.73-48.67c-2.6-2.38-6.06-3.71-9.67-3.71s-7.07 1.33-9.67 3.71a12.6 12.6 0 0 0-2.93 4.14 12.16 12.16 0 0 0 0 9.79c0.68 1.55 1.67 2.95 2.93 4.13l27.11 25.57c-102.76 0.38-186.28 80.24-186.28 178.34 0 98.39 83.92 178.34 186.98 178.34s187.08-80.05 187.08-178.43c-0.01-3.75-1.58-7.33-4.36-9.98-2.79-2.63-6.56-4.1-10.49-4.09",style:{fill:"currentcolor"}},{d:"M196.23999999999978 239.55999999999995v66.44h25.42v-114.83h-20.94l-38.77 29.47 12.26 14.64 13.86-10.65c3.06-2.48 5.99-5.11 8.77-7.89l-0.4 11.98z",style:{fill:"currentcolor"}},{d:"M322.0199999999986 211.80000000000018v-20.53h-65.28l-4.49 58.55 10.17 5.23c2.81-0.78 5.68-1.38 8.57-1.8 3.19-0.56 6.43-0.84 9.67-0.86 16.05 0 24.12 5.8 24.12 17.4 0 12.16-7.77 18.25-23.32 18.25-10.96-0.21-21.73-2.78-31.5-7.51v21.01c8.27 4.18 19.04 6.18 32.49 6.18 15.45 0 27.32-3.43 35.59-10.37s12.46-16.82 12.46-29.65c0-10.84-3.49-19.4-10.37-25.58-6.88-6.27-16.15-9.31-27.81-9.31-4.18-0.08-8.36 0.3-12.46 1.14l-2.89 0.57 2.2-22.53h42.85z",style:{fill:"currentcolor"}}]},"skip-15-back":{viewBox:"0 0 512 512",paths:[{d:"M257.4400000000005 74.24000000000024l26.92-25.38c1.25-1.17 2.25-2.56 2.93-4.1 0.67-1.55 1.02-3.21 1.02-4.88s-0.35-3.34-1.02-4.88c-0.68-1.54-1.68-2.93-2.93-4.1-2.57-2.38-5.99-3.71-9.57-3.71s-7.01 1.33-9.57 3.71l-51.33 48.29a12.45 12.45 0 0 0-2.93 4.1c-0.68 1.55-1.03 3.21-1.03 4.88s0.35 3.33 1.03 4.88c0.68 1.54 1.67 2.94 2.93 4.1l51.33 48.3c2.56 2.37 5.99 3.7 9.57 3.7s7-1.33 9.57-3.7c1.25-1.17 2.25-2.57 2.93-4.11 0.67-1.55 1.02-3.2 1.02-4.88 0-1.67-0.35-3.33-1.02-4.87-0.68-1.54-1.68-2.94-2.93-4.11l-26.82-25.29c85.72 0.38 155.39 67.02 155.39 148.87 0 82.13-70.07 148.96-156.18 148.96-86.12 0-156.19-66.83-156.19-148.96 0-3.74-1.55-7.31-4.31-9.95-2.77-2.64-6.52-4.12-10.44-4.12s-7.66 1.48-10.43 4.12-4.32 6.21-4.32 9.95c0 97.63 83.22 177.01 185.59 177.01 102.36 0 185.58-79.38 185.58-177.01 0.2-97.25-82.72-176.44-184.79-176.82",style:{fill:"currentcolor"}},{d:"M188.5699999999997 224.6300000000001c1.6-1.23 4.59-3.9 8.77-7.89l-0.4 11.88-0.19 10.84v65.97h25.21v-113.98h-20.73l-38.47 29.19 12.16 14.45z",style:{fill:"currentcolor"}},{d:"M281.0699999999997 287.3699999999999c-5.5-0.03-10.95-0.73-16.25-2.09a67.8 67.8 0 0 1-15.05-5.32v20.82c8.17 4.08 18.94 6.17 32.19 6.17 15.35 0 27.11-3.42 35.29-10.26 8.27-6.85 12.36-16.64 12.36-29.38 0-10.74-3.39-19.2-10.27-25.38s-16.05-9.31-27.61-9.31c-4.15-0.05-8.28 0.3-12.36 1.04l-2.89 0.57 2.19-22.34h42.66v-20.44h-64.78l-4.49 58.09 10.07 5.13c2.77-0.79 5.6-1.36 8.47-1.71 3.16-0.54 6.36-0.83 9.57-0.86 15.95 0 23.92 5.71 23.92 17.21 0.1 12.07-7.57 18.06-23.02 18.06",style:{fill:"currentcolor"}}]},reset:{viewBox:"0 0 512 512",paths:[{d:"M115.69999999999982 161.07000000000016l18.82-20.88c15.96-15.99 35.17-28.71 56.45-37.4s44.18-13.15 67.33-13.13c94.47 0 171.12 73.11 171.12 163.22 0 90.1-76.65 163.21-171.12 163.21-35.4 0-69.91-10.47-98.82-29.95-28.89-19.48-50.75-47.03-62.56-78.85",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"34",fill:"none"}},{d:"M58.659999999999854 118.07999999999993v94c0 1.78 0.36 3.55 1.08 5.2s1.77 3.15 3.09 4.41c1.33 1.26 2.9 2.27 4.64 2.94 1.72 0.69 3.57 1.04 5.45 1.04h98.55c2.82 0 5.58-0.79 7.93-2.28 2.35-1.5 4.17-3.62 5.26-6.11 1.08-2.49 1.35-5.22 0.81-7.86-0.55-2.64-1.92-5.06-3.91-6.97l-98.56-93.99c-2-1.9-4.54-3.21-7.31-3.73s-5.63-0.26-8.24 0.77c-2.62 1.03-4.84 2.78-6.4 5.01a13.1 13.1 0 0 0-2.39 7.57",style:{fill:"currentcolor"}}]},rotate:{viewBox:"0 0 512 512",paths:[{d:"M347.1300000000001 98.09999999999991c-23.26-12.24-48.94-19.11-75.06-20.37l23.66-22.55c5.25-5.01 5.25-13.13 0-18.15-5.26-5.01-13.78-5.01-19.03 0l-45.82 43.7c-2.88 2.75-4.19 6.43-3.9 10.04-0.29 3.6 1.02 7.29 3.9 10.04l45.82 43.69c5.25 5.01 13.77 5.01 19.03 0 5.25-5 5.25-13.13 0-18.14l-20.9-19.93c20.16 1.54 39.9 7.13 57.88 16.59 30.67 16.13 54.11 42.41 65.89 73.86 11.78 31.47 11.09 65.96-1.94 96.97-11.16 26.59-30.74 49.05-55.81 64.38-6.94 4.24-9.96 12.74-6.25 19.76 3.7 7.02 12.72 9.9 19.73 5.79 31.55-18.54 56.17-46.31 70.04-79.35 15.73-37.46 16.57-79.11 2.33-117.12-14.22-37.99-42.53-69.73-79.57-89.21m-181.02 291.06c23.26 12.22 48.94 19.09 75.06 20.35l-23.65 22.56c-5.26 5.01-5.26 13.13 0 18.14s13.78 5.01 19.03 0l45.81-43.69c2.89-2.75 4.19-6.44 3.91-10.04 0.28-3.6-1.02-7.3-3.91-10.04l-45.81-43.69c-5.25-5.02-13.77-5.02-19.03 0-5.26 5.01-5.26 13.13 0 18.14l20.89 19.92c-20.15-1.54-39.89-7.13-57.88-16.59-30.67-16.13-54.11-42.4-65.88-73.86-11.78-31.47-11.09-65.95 1.93-96.96 11.16-26.59 30.74-49.06 55.81-64.38 6.94-4.24 9.96-12.74 6.26-19.76-3.71-7.03-12.72-9.91-19.73-5.78-31.56 18.52-56.18 46.29-70.05 79.33-15.73 37.47-16.56 79.12-2.33 117.12 14.23 38.01 42.53 69.74 79.57 89.23",style:{fill:"currentcolor",fillRule:"evenodd",clipRule:"evenodd"}}]},audio:{viewBox:"0 0 512 512",paths:[{d:"M154.70000000000073 180.80000000000018h-72.4c-1.1 0-2.2 0.2-3.1 0.6-1 0.41-1.9 0.98-2.7 1.7-0.8 0.74-1.4 1.61-1.8 2.57s-0.6 1.99-0.6 3.02v111.04c0 1.03 0.2 2.06 0.6 3.02s1 1.83 1.8 2.57c0.8 0.72 1.7 1.29 2.7 1.7 0.9 0.4 2 0.6 3.1 0.6h72.4c3.9-0.02 7.6 1.25 10.6 3.61l95.1 74.24c1.7 1.24 3.9 1.74 6.1 1.43 2.2-0.32 4.2-1.45 5.5-3.14 1.1-1.37 1.6-3.04 1.6-4.75v-269.88c0-1.04-0.2-2.07-0.6-3.03s-1-1.83-1.8-2.56c-0.8-0.72-1.7-1.3-2.7-1.7-1.3-0.53-2.8-0.71-4.2-0.55-1.4 0.17-2.7 0.67-3.8 1.47l-95.1 74.24c-3 2.44-6.8 3.79-10.7 3.8",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M356.60000000000036 307.71000000000004c10.7-19.61 16.4-41.32 16.7-63.4-0.1-22.12-5.8-43.88-16.7-63.41",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}},{d:"M406.5 355.24000000000024c22.1-33.16 33.7-71.73 33.3-111.03 0.7-39.35-10.9-78-33.3-111.03",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"31.897",fill:"none"}}]},speed:{viewBox:"0 0 512 512",paths:[{d:"M313.60000000000036 219.78999999999996l-38.7 58.65c-1.6 2.09-3.6 3.93-5.8 5.46a23.55 23.55 0 0 1-8.7 3.76c-3.2 0.68-6.4 0.78-9.6 0.27-6.4-1.02-12.2-4.44-16-9.49-1.8-2.5-3.1-5.34-3.8-8.34-0.7-3.01-0.8-6.1-0.3-9.14 0.5-3.03 1.7-5.94 3.4-8.54 1.6-2.61 3.9-4.86 6.5-6.66l61.5-36.89a8.9 8.9 0 0 1 4.8-1.41c1.7 0 3.4 0.5 4.8 1.41 1.8 1.22 2.9 3.04 3.3 5.08 0.2 1.02 0.2 2.06-0.1 3.07-0.2 0.99-0.7 1.94-1.3 2.77",style:{fill:"currentcolor"}},{d:"M256.5 89.30999999999995c-100.8 0-182.5 77.84-182.5 173.92 0 42.55 16.2 83.64 45.8 115.51 0.9 0.93 1.7 1.87 2.6 2.72 3.7 3.83 8.9 6.08 14.4 6.29 5.4 0.2 10.7-1.67 14.7-5.19l1.2-1.17c25.3-26.27 60.6-41.86 98-43.35s73.9 11.24 101.4 35.39c2.9 2.58 5.6 5.23 8.3 7.96 3.7 3.82 8.8 6.09 14.3 6.33 5.4 0.24 10.8-1.6 14.7-5.09l1.2-1.17 2.7-2.72c66.8-71.91 59.8-181.96-15.6-245.68-33.4-28.24-76.6-43.8-121.2-43.75",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M250.39999999999964 144.2199999999998v14.89",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M390.89999999999964 263.30999999999995h-31.3",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M156.70000000000073 263.30999999999995h-31.2",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M182.70000000000073 193.03999999999996l-18.4-17.55",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}},{d:"M330.2000000000007 193.03999999999996l18.5-17.55",style:{stroke:"currentcolor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"32",fill:"none"}}]},episodes:{viewBox:"0 0 512 512",paths:[{d:"M499 150.25v-65.65c0.2-5.97-1.4-11.87-4.6-16.9-2.8-4.5-6.7-8.18-11.4-10.66-4.6-2.48-9.9-3.68-15.2-3.46h-0.1c-35.9 0.09-71.9 0.09-107.9 0h-111.3c-26.4 0-52.8 0-79.3-0.11-2 0.09-4 0.34-6 0.73-4.7 0.83-9.1 2.82-12.9 5.8s-6.7 6.84-8.6 11.25c-0.7 1.61-1.3 3.28-1.7 4.99-0.7 2.52-1 5.13-1.1 7.74v31.59h-31.1c-2 0.05-4.1 0.26-6 0.62-4.8 0.83-9.2 2.83-13 5.8-3.7 2.98-6.7 6.84-8.6 11.25-0.7 1.61-1.2 3.29-1.6 5-0.7 2.53-1.1 5.13-1.2 7.75v31.1h-33c-2 0.01-4 0.17-6 0.47-4.8 0.83-9.2 2.83-13 5.8-3.7 2.98-6.7 6.84-8.6 11.24-0.7 1.62-1.2 3.3-1.7 5.01-0.6 2.53-1 5.13-1.1 7.75v185.29c-0.2 5.98 1.4 11.88 4.7 16.92 2.7 4.46 6.6 8.12 11.2 10.6 4.7 2.48 9.9 3.69 15.1 3.52h0.1q54.3-0.18 108.6 0h144.1c15.3 0 30.6 0 45.9 0.14 2-0.05 4-0.25 6-0.62 4.7-0.85 9.1-2.84 12.9-5.82 3.8-2.97 6.7-6.83 8.6-11.23 0.7-1.62 1.3-3.29 1.7-5.01l0.1-0.37c0.6-2.43 1-4.93 1-7.44v-31.13q16.5 0 33 0.09c2.1-0.04 4.1-0.25 6.1-0.62 4.7-0.83 9.1-2.83 12.9-5.81 3.7-2.97 6.7-6.83 8.6-11.24 0.7-1.61 1.2-3.29 1.7-5l0.1-0.37c0.6-2.44 0.9-4.93 1-7.44v-31.74c10.3 0 20.7 0 31.1 0.09 2-0.04 4-0.25 6-0.62 4.7-0.84 9.2-2.83 12.9-5.81 3.8-2.97 6.7-6.83 8.6-11.23 0.7-1.62 1.3-3.3 1.7-5.01l0.1-0.39c0.6-2.43 1-4.93 1-7.44v-119.42z m-163 125.19v105.57c0.2 3.58 0.3 8.02-5 8.69h-271.9q-1.5 0.225-3-0.18c-1-0.26-1.9-0.73-2.7-1.37-0.6-0.77-1.1-1.67-1.3-2.64-0.3-0.97-0.4-1.99-0.2-2.98l0.2-17.98v-50.71l0.1-3.55v-90.41c-0.2-4.01-0.4-8.48 5-9.13 0.7-0.07 1.3-0.1 1.9-0.09h269.9c1-0.15 2-0.09 3 0.17 1 0.27 1.9 0.74 2.7 1.38 0.6 0.78 1 1.68 1.3 2.65s0.3 1.97 0.1 2.96l-0.2 17.98v14.04z m63.4-61.49v41.16l0.1 64.11v0.29c0.1 3.58 0.3 8.03-5.1 8.7-0.5 0-1.3 0-2 0.09h-18.3v-120.35c0.1-4.1-0.7-8.18-2.2-11.98-1.5-3.81-3.8-7.26-6.7-10.16-2.9-2.89-6.4-5.17-10.2-6.69-3.8-1.53-7.9-2.26-12-2.17h-0.1c-36 0.11-71.9 0-107.9 0h-119.4v-7.25c0-3.75 0-7.52-0.1-11.27-0.2-4.01-0.4-8.47 5-9.12 0.5 0 1.2 0 1.9-0.1h270q1.5-0.225 3 0.18c0.9 0.27 1.8 0.74 2.6 1.37 0.7 0.78 1.1 1.68 1.4 2.64 0.3 0.97 0.3 1.98 0.2 2.97l-0.3 17.98v14.04z m61.5-61.84v41.16l0.1 64.11v0.3c0.1 3.58 0.3 8.03-5.1 8.69-0.5 0-1.3 0-2 0.1h-16.4v-120.03c0.1-4.1-0.7-8.17-2.2-11.98-1.6-3.8-3.9-7.25-6.8-10.15-2.9-2.89-6.3-5.17-10.1-6.69-3.8-1.53-7.9-2.27-12-2.18h-0.1c-36 0.1-71.9 0.1-107.9 0h-37.3l-74.1 0.13h-10v-7.75c0-3.77 0-7.53-0.1-11.27-0.1-4.03-0.3-8.47 5.1-9.14 0.5 0 1.2 0 1.9-0.09h270.1c0.9-0.15 2-0.09 2.9 0.17 1 0.27 1.9 0.74 2.7 1.38 0.6 0.78 1.1 1.68 1.3 2.65 0.3 0.96 0.3 1.97 0.1 2.96l-0.2 17.99v14.05z",style:{fill:"currentcolor"}},{d:"M254.70000000000073 295.8699999999999l-81.5 47.2c-0.8 0.48-1.7 0.74-2.7 0.74-0.9 0.01-1.9-0.24-2.7-0.71s-1.5-1.15-2-1.97-0.8-1.75-0.8-2.71v-94.48c0-0.96 0.3-1.89 0.8-2.71s1.2-1.5 2-1.97 1.8-0.72 2.7-0.71c1 0 1.9 0.26 2.7 0.74l81.5 47.11c0.8 0.48 1.5 1.17 2 2s0.7 1.77 0.7 2.73-0.2 1.91-0.7 2.74-1.2 1.52-2 2",style:{fill:"currentcolor",fillRule:"evenodd",clipRule:"evenodd"}}]},cast:{viewBox:"0 0 512 512",paths:[{d:"M92.97000000000116 98.87000000000012c-26.21 0-43.35 22.81-43.35 45.72v48.96c5.28-0.38 10.56-0.67 15.94-0.67 5.39 0 10.67 0.19 15.95 0.67v-48.96c0-10.74 7.38-15.3 11.46-15.3h327.83c4.2 0 11.5 4.56 11.5 15.3v197.44c0 10.75-7.4 15.31-11.5 15.31h-167.6c0.4 5.04 0.7 10.08 0.7 15.21s-0.2 10.17-0.7 15.21h167.6c26.2 0 43.3-22.82 43.3-45.73V144.59000000000015c0-23-17.2-45.72-43.3-45.72z",style:{fill:"currentcolor"}},{d:"M215.20000000000073 387.85000000000014c0.6-5.04 0.8-10.13 0.8-15.21 0-18.85-3.92-37.52-11.49-54.93-7.58-17.42-18.64-33.25-32.62-46.57-13.97-13.33-30.56-23.9-48.82-31.12-18.26-7.21-37.84-10.92-57.6-10.92-5.39 0-10.67 0.29-15.95 0.76v30.61c5.28-0.68 10.61-1.03 15.95-1.04 31.45 0 61.61 11.92 83.86 33.13 22.24 21.22 34.74 49.99 34.74 79.99 0 5.09-0.4 10.17-1.09 15.21z",style:{fill:"currentcolor"}},{d:"M159.85000000000036 387.85000000000014c0.89-5.02 1.32-10.11 1.3-15.21-0.01-24.2-10.1-47.4-28.04-64.51s-42.27-26.73-67.64-26.74c-5.35-0.03-10.68 0.39-15.95 1.23v31.09c5.21-1.27 10.56-1.9 15.95-1.9 8.38-0.01 16.67 1.55 24.41 4.61 7.75 3.05 14.79 7.53 20.72 13.18 5.92 5.66 10.62 12.37 13.82 19.75 3.2 7.39 4.84 15.3 4.83 23.29 0 5.14-0.66 10.24-1.99 15.21z",style:{fill:"currentcolor"}},{d:"M103.14000000000124 387.8600000000001c2.13-4.81 3.22-10 3.19-15.21-0.01-10.34-4.32-20.24-11.98-27.55-7.67-7.31-18.05-11.42-28.88-11.43a42.1 42.1 0 0 0-15.95 3.04v7.42c0.01 11.59 4.83 22.71 13.43 30.91s20.26 12.81 32.42 12.82z",style:{fill:"currentcolor"}}]},"cast-connected":{viewBox:"0 0 512 512",paths:[{d:"M92.97000000000116 98.8599999999999c-26.21 0-43.35 22.82-43.35 45.73v48.95c5.28-0.38 10.56-0.66 15.94-0.66 5.39 0 10.67 0.19 15.95 0.66v-48.95c0-10.74 7.38-15.31 11.46-15.31h327.83c4.2 0 11.5 4.57 11.5 15.31v197.44c0 10.74-7.4 15.31-11.5 15.31h-167.6c0.4 5.03 0.7 10.07 0.7 15.21 0 5.13-0.2 10.17-0.7 15.21h167.6c26.2 0 43.3-22.82 43.3-45.73v-197.44c0-23.01-17.2-45.73-43.3-45.73z",style:{fill:"currentcolor"}},{d:"M215.20000000000073 387.8499999999999c0.6-5.05 0.8-10.13 0.8-15.21 0-18.85-3.92-37.52-11.49-54.94-7.58-17.41-18.64-33.24-32.62-46.57-13.97-13.32-30.56-23.9-48.82-31.11-18.26-7.22-37.84-10.92-57.6-10.92-5.39 0-10.67 0.28-15.95 0.76v30.61c5.28-0.69 10.61-1.04 15.95-1.05 31.45 0 61.61 11.92 83.86 33.14 22.24 21.22 34.74 49.98 34.74 79.99 0 5.08-0.4 10.17-1.09 15.21z",style:{fill:"currentcolor"}},{d:"M159.85000000000036 387.8499999999999c0.89-5.03 1.32-10.11 1.3-15.21-0.01-24.2-10.1-47.41-28.04-64.52s-42.27-26.73-67.64-26.74c-5.35-0.03-10.68 0.39-15.95 1.24v31.08c5.21-1.26 10.56-1.9 15.95-1.9 8.38-0.01 16.67 1.56 24.41 4.61 7.75 3.05 14.79 7.54 20.72 13.19 5.92 5.65 10.62 12.36 13.82 19.75s4.84 15.3 4.83 23.29c0 5.13-0.66 10.24-1.99 15.21z",style:{fill:"currentcolor"}},{d:"M103.14000000000124 387.8499999999999c2.13-4.81 3.22-9.99 3.19-15.21-0.01-10.33-4.32-20.24-11.98-27.55-7.67-7.31-18.05-11.41-28.88-11.42-5.49-0.03-10.91 1-15.95 3.04v7.41c0.01 11.6 4.83 22.71 13.43 30.92 8.6 8.19 20.26 12.8 32.42 12.81z",style:{fill:"currentcolor"}},{d:"M134.23999999999978 160.64999999999986c-1.71 0-3.39 0.32-4.97 0.94-1.57 0.61-3 1.53-4.2 2.68a12.2 12.2 0 0 0-2.81 4.01c-0.65 1.5-0.98 3.11-0.98 4.73v28.71c31.63 6.95 60.5 22.33 83.33 44.35 22.79 22.01 38.69 49.75 45.59 79.99h128.2c1.7 0 3.4-0.31 5-0.93s3-1.53 4.2-2.68c1.2-1.14 2.2-2.51 2.8-4.01 0.7-1.5 1-3.11 1-4.74v-140.69c0-1.62-0.3-3.23-1-4.73-0.6-1.5-1.6-2.86-2.8-4.01s-2.6-2.07-4.2-2.68c-1.6-0.62-3.3-0.94-5-0.94z",style:{fill:"currentcolor"}}]},add:{viewBox:"0 0 512 512",paths:[{d:"M256.89999999999964 106.4699999999998v273.78",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"50",fill:"none"}},{d:"M400.39999999999964 243.36000000000013h-287",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"50",fill:"none"}}]},remove:{viewBox:"0 0 512 512",paths:[{d:"M400.39999999999964 243.36000000000013h-287.1",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"50",fill:"none"}}]},eye:{viewBox:"0 0 512 512",paths:[{d:"M256.89999999999964 304.1999999999998c14.7 0 29.1-4.87 40.5-13.8 11.4-8.94 19.2-21.36 22.1-35.16 2.9-13.82 0.7-28.15-6.3-40.57-7-12.41-18.2-22.15-31.9-27.54-13.6-5.39-28.8-6.1-43-2.01-14 4.08-26.3 12.71-34.4 24.42-8.2 11.7-11.9 25.76-10.5 39.77 1.5 14.02 8 27.11 18.4 37.07 5.9 5.65 12.9 10.13 20.7 13.19 7.7 3.06 16 4.63 24.4 4.63",style:{fill:"currentcolor"}},{d:"M490.89999999999964 226.81999999999994c-26.4-38.88-60.6-71.96-99-95.54-42.4-26.14-89.3-40.02-135.4-40.02-42.4 0-84 11.5-123.9 34.32-40.6 23.19-77.3 57.13-109.3 100.86-3.6 4.95-5.6 10.81-5.7 16.84-0.1 6.02 1.7 11.94 5.1 17 26.3 39.26 60.2 72.34 97.9 95.73 42.6 26.24 88.2 39.55 135.9 39.55 46.5 0 93.5-13.69 135.7-39.65 38.4-23.57 72.5-56.75 98.8-95.91 3.3-4.98 5-10.74 5-16.6 0-5.88-1.8-11.63-5.1-16.58m-234 107.8c-14.2 0.02-28.1-2.97-41-8.73-12.7-5.77-24.1-14.16-33.1-24.6-8.9-10.43-15.4-22.63-18.8-35.73-3.5-13.09-3.8-26.76-1.1-40 2.8-13.25 8.6-25.75 17-36.59s19.3-19.77 31.8-26.14c12.5-6.36 26.3-10 40.4-10.65 14.2-0.66 28.3 1.68 41.4 6.86 17.4 6.98 32.4 18.67 42.9 33.65 9.6 13.75 15.2 29.71 16 46.2 0.8 16.51-3 32.9-11.2 47.47-8.2 14.56-20.3 26.74-35.2 35.25-14.8 8.49-31.8 12.99-49.1 13.01",style:{fill:"currentcolor"}}]},"eye-off":{viewBox:"0 0 512 512",paths:[{d:"M432.2999999999993 425.8799999999999c-2.1 0.01-4.2-0.38-6.1-1.14-2-0.75-3.7-1.88-5.2-3.33l-350.8-334.62c-2.9-2.88-4.4-6.69-4.4-10.64 0-1.97 0.4-3.92 1.2-5.74 0.8-1.81 2-3.45 3.5-4.82 3-2.76 6.9-4.36 11-4.46 2.1-0.05 4.1 0.3 6 1.01 2 0.73 3.7 1.8 5.2 3.17l350.8 334.62c2.2 2.12 3.8 4.82 4.4 7.76 0.6 2.95 0.3 6-0.9 8.78-1.2 2.77-3.3 5.15-5.8 6.84-2.6 1.71-5.7 2.61-8.9 2.57",style:{fill:"currentcolor"}},{d:"M248.89999999999964 300.29999999999995l-51.6-49.24c-0.3-0.28-0.7-0.48-1.1-0.57-0.4-0.08-0.8-0.01-1.2 0.19-0.4 0.18-0.7 0.48-0.9 0.86-0.2 0.34-0.3 0.75-0.2 1.14 2.1 12.78 8.3 24.6 17.9 33.74 9.6 9.15 22 15.14 35.4 17.11 0.4 0.08 0.8 0.01 1.2-0.19 0.4-0.18 0.7-0.48 0.9-0.85 0.2-0.36 0.2-0.75 0.2-1.14-0.1-0.39-0.3-0.75-0.6-1.05",style:{fill:"currentcolor"}},{d:"M264.7999999999993 186.51l51.8 49.34c0.3 0.28 0.7 0.48 1.1 0.57 0.4 0.08 0.8 0.01 1.2-0.19 0.4-0.18 0.7-0.48 0.9-0.85 0.2-0.35 0.3-0.76 0.2-1.15-2.1-12.78-8.4-24.6-18-33.74-9.6-9.15-22-15.15-35.4-17.11-0.4-0.08-0.8-0.01-1.2 0.19-0.4 0.18-0.7 0.48-0.9 0.85-0.2 0.34-0.3 0.75-0.2 1.14 0 0.18 0.1 0.36 0.1 0.53 0.1 0.15 0.3 0.29 0.4 0.42",style:{fill:"currentcolor"}},{d:"M491.10000000000036 259.89999999999986c3.3-4.93 5.1-10.68 5-16.54 0-5.86-1.8-11.6-5.1-16.54-26.4-38.88-60.6-71.96-99-95.54-42.4-26.14-89.3-40.02-135.5-40.02-24.4 0.01-48.6 3.79-71.6 11.22-0.6 0.22-1.2 0.58-1.7 1.04s-0.8 1.07-0.9 1.72c-0.2 0.62-0.2 1.27 0 1.9 0.1 0.62 0.5 1.19 1 1.61l47.1 44.87c0.4 0.5 1 0.83 1.7 0.95 0.7 0.19 1.3 0.19 2 0 16-3.72 32.7-3.46 48.5 0.76s30.3 12.27 41.8 23.35c11.7 11.08 20.2 24.83 24.6 39.93 4.3 15.08 4.6 31.02 0.8 46.24-0.2 0.61-0.2 1.28 0 1.9 0.2 0.63 0.5 1.22 1 1.71l67.6 64.64c0.7 0.66 1.7 1.07 2.7 1.14 1 0.06 2-0.25 2.8-0.86 26.2-21.08 48.9-45.85 67.2-73.48",style:{fill:"currentcolor"}},{d:"M256.89999999999964 334.6200000000001c-14.5 0.03-28.8-3.09-41.9-9.11-13-6.02-24.4-14.78-33.4-25.63s-15.2-23.5-18.3-37c-3.1-13.49-2.9-27.49 0.5-40.91 0.2-0.62 0.2-1.28 0-1.9-0.2-0.65-0.5-1.24-1-1.71l-66.6-63.6c-0.7-0.65-1.7-1.06-2.7-1.14-1-0.06-2 0.25-2.8 0.86-24.3 19.77-46.8 43.75-67.5 71.96-3.6 4.94-5.5 10.8-5.6 16.82s1.6 11.93 5 17.02c26.4 39.26 60.2 72.34 98 95.73 42.6 26.23 88.2 39.54 135.9 39.54 24.6-0.08 48.9-3.8 72.3-11.02 0.7-0.2 1.2-0.57 1.7-1.05s0.8-1.07 1-1.71c0.2-0.62 0.2-1.28 0-1.9-0.2-0.65-0.5-1.24-1-1.71l-47.3-45.16c-0.5-0.46-1.1-0.8-1.8-0.95-0.7-0.19-1.3-0.19-2 0-7.4 1.71-15 2.57-22.5 2.57",style:{fill:"currentcolor"}}]},"local-import":{viewBox:"0 0 512 512",paths:[{d:"M85.00999999999931 192.501v-61.41c0-9.025 3.77-17.679 10.46-24.06s15.77-9.969 25.23-9.972h67.97c7.05 0.03 13.95 2.011 19.84 5.703l24.91 15.876c5.86 3.758 12.77 5.746 19.84 5.703h139.44c9.46 0.005 18.54 3.592 25.22 9.973 6.69 6.381 10.46 15.034 10.46 24.06v34.032",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M457.09000000000015 221.873l-14.56 141.072c-0.01 9.024-3.76 17.678-10.45 24.059s-15.77 9.968-25.23 9.973h-300.01c-9.46-0.005-18.54-3.591-25.22-9.973-6.69-6.381-10.46-15.035-10.46-24.059l-14.55-141.072c-0.59-7.208 1.83-14.344 6.75-19.849 4.91-5.505 11.91-8.93 19.46-9.525 0.8 0 1.5-0.19 2.29-0.19h343.47c7.58 0.028 14.85 2.927 20.19 8.061 5.35 5.134 8.34 12.081 8.32 19.316z",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},"drag-handle":{viewBox:"0 0 512 512",paths:[{d:"M171.1299999999992 131.55999999999995c28.62 0 51.82-22.13 51.82-49.43s-23.2-49.43-51.82-49.43c-28.63 0-51.83 22.13-51.83 49.43s23.2 49.43 51.83 49.43",style:{fill:"currentcolor"}},{d:"M171.1299999999992 296.02c28.62 0 51.82-22.13 51.82-49.43s-23.2-49.43-51.82-49.43c-28.63 0-51.83 22.13-51.83 49.43s23.2 49.43 51.83 49.43",style:{fill:"currentcolor"}},{d:"M171.1299999999992 466.1800000000003c28.62 0 51.82-22.56 51.82-50.38 0-27.83-23.2-50.39-51.82-50.39-28.63 0-51.83 22.56-51.83 50.39 0 27.82 23.2 50.38 51.83 50.38",style:{fill:"currentcolor"}},{d:"M343.5599999999995 131.55999999999995c28.62 0 51.83-22.13 51.83-49.43s-23.21-49.43-51.83-49.43c-28.63 0-51.83 22.13-51.83 49.43s23.2 49.43 51.83 49.43",style:{fill:"currentcolor"}},{d:"M343.5599999999995 296.02c28.62 0 51.83-22.13 51.83-49.43s-23.21-49.43-51.83-49.43c-28.63 0-51.83 22.13-51.83 49.43s23.2 49.43 51.83 49.43",style:{fill:"currentcolor"}},{d:"M343.5599999999995 466.1800000000003c28.62 0 51.83-22.56 51.83-50.38 0-27.83-23.21-50.39-51.83-50.39-28.63 0-51.83 22.56-51.83 50.39 0 27.82 23.2 50.38 51.83 50.38",style:{fill:"currentcolor"}}]},bin:{viewBox:"0 0 512 512",paths:[{d:"M436.83999999999924 118.26999999999998l-29.95 307.93c-0.96 8.69-4.88 16.72-11 22.53-6.12 5.82-14.02 9.03-22.21 9.03h-241.51c-8.2 0-16.11-3.21-22.23-9.03-6.12-5.81-10.04-13.84-10.99-22.53l-29.95-307.93",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M440.72999999999956 28.519999999999982h-368.76c-23.95 0-43.37 20-43.37 44.66v0.04c0 24.66 19.42 44.66 43.37 44.66h368.76c23.95 0 43.36-20 43.36-44.66v-0.04c0-24.66-19.41-44.66-43.36-44.66",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M306.47999999999956 245.26000000000022l-108.44 115.31",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}},{d:"M306.47999999999956 360.0999999999999l-108.44-115.31",style:{stroke:"currentcolor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",fill:"none"}}]},"dot-arrow":{viewBox:"0 0 512 512",paths:[{d:"M310.84999999999945 140.77999999999997c9.4-8.891 24.59-8.858 33.94 0.071l97.99 93.565 0.02 0.012 0.03 0.036 0.03 0.023c2.3 2.2 4.03 4.734 5.2 7.438a21.9 21.9 0 0 1 1.79 8.322v0.632a21.7 21.7 0 0 1-1.82 8.436 22 22 0 0 1-2.16 3.865 24 24 0 0 1-3.01 3.501l-0.01 0.011c-0.02 0.02-0.05 0.04-0.07 0.061l-97.99 93.565c-9.35 8.929-24.54 8.961-33.94 0.071-9.39-8.89-9.42-23.336-0.07-32.265l57.31-54.725H180.6899999999996c-13.25 0-24-10.214-24-22.815 0-12.6 10.75-22.815 24-22.815h187.4l-57.31-54.724c-9.35-8.93-9.32-23.375 0.07-32.265M83.6899999999996 275.77599999999995c14.36 0 26-11.278 26-25.192s-11.64-25.191-26-25.191-26 11.278-26 25.191c0 13.914 11.64 25.192 26 25.192",style:{fill:"currentcolor",fillRule:"evenodd",clipRule:"evenodd"}}]}},n=i.memo(i.forwardRef((e,t)=>{const a=o[e.name];return a?i.createElement("svg",{ref:t,className:e.className,viewBox:a.viewBox},a.paths.map((e,t)=>i.createElement("path",{key:t,d:e.d,style:e.style}))):null}))},50266:(e,t,a)=>{"use strict";a.r(t),a.d(t,{I18nContext:()=>w,I18nextProvider:()=>q,Trans:()=>j,TransWithoutContext:()=>V,Translation:()=>$,composeInitialProps:()=>z,date:()=>ee,getDefaults:()=>P,getI18n:()=>v,getInitialProps:()=>K,initReactI18next:()=>H,number:()=>ae,plural:()=>oe,select:()=>ie,selectOrdinal:()=>ne,setDefaults:()=>f,setI18n:()=>g,time:()=>te,useSSR:()=>J,useTranslation:()=>Q,withSSR:()=>Z,withTranslation:()=>X});var i=a(30758),o=a(80351),n=a.n(o),r=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function E(e){var t={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},a=e.match(/<\/?([^\s]+?)[/\s>]/);if(a&&(t.name=a[1],(n()[a[1]]||"/"===e.charAt(e.length-2))&&(t.voidElement=!0),t.name.startsWith("!--"))){var i=e.indexOf("--\x3e");return{type:"comment",comment:-1!==i?e.slice(4,i):""}}for(var o=new RegExp(r),E=null;null!==(E=o.exec(e));)if(E[0].trim())if(E[1]){var _=E[1].trim(),T=[_,""];_.indexOf("=")>-1&&(T=_.split("=")),t.attrs[T[0]]=T[1],o.lastIndex--}else E[2]&&(t.attrs[E[2]]=E[3].trim().substring(1,E[3].length-1));return t}var _=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,T=/^\s*$/,s=Object.create(null);function S(e,t){switch(t.type){case"text":return e+t.content;case"tag":return e+="<"+t.name+(t.attrs?(function(e){var t=[];for(var a in e)t.push(a+'="'+e[a]+'"');return t.length?" "+t.join(" "):""})(t.attrs):"")+(t.voidElement?"/>":">"),t.voidElement?e:e+t.children.reduce(S,"")+"</"+t.name+">";case"comment":return e+"\x3c!--"+t.comment+"--\x3e"}}var l={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,i=[],o=[],n=-1,r=!1;if(0!==e.indexOf("<")){var S=e.indexOf("<");i.push({type:"text",content:-1===S?e:e.substring(0,S)})}return e.replace(_,function(_,s){if(r){if(_!=="</"+a.name+">")return;r=!1}var S,l="/"!==_.charAt(1),I=_.startsWith("\x3c!--"),A=s+_.length,u=e.charAt(A);if(I){var d=E(_);return n<0?(i.push(d),i):((S=o[n]).children.push(d),i)}if(l&&(n++,"tag"===(a=E(_)).type&&t.components[a.name]&&(a.type="component",r=!0),a.voidElement||r||!u||"<"===u||a.children.push({type:"text",content:e.slice(A,e.indexOf("<",A))}),0===n&&i.push(a),(S=o[n-1])&&S.children.push(a),o[n]=a),(!l||a.voidElement)&&(n>-1&&(a.voidElement||a.name===_.slice(2,-1))&&(n--,a=-1===n?i:o[n]),!r&&"<"!==u&&u)){S=-1===n?i:o[n].children;var O=e.indexOf("<",A),c=e.slice(A,-1===O?void 0:O);T.test(c)&&(c=" "),(O>-1&&n+S.length>=0||" "!==c)&&S.push({type:"text",content:c})}}),i},stringify:function(e){return e.reduce(function(e,t){return e+S("",t)},"")}};const I=l,A=(e,t,a,i)=>{const o=[a,{code:t,...i||{}}];if(e?.services?.logger?.forward)return e.services.logger.forward(o,"warn","react-i18next::",!0);m(o[0])&&(o[0]=`react-i18next:: ${o[0]}`),e?.services?.logger?.warn?e.services.logger.warn(...o):console?.warn&&console.warn(...o)},u={},d=(e,t,a,i)=>{m(a)&&u[a]||(m(a)&&(u[a]=new Date),A(e,t,a,i))},O=(e,t)=>()=>{if(e.isInitialized)t();else{const a=()=>{setTimeout(()=>{e.off("initialized",a)},0),t()};e.on("initialized",a)}},c=(e,t,a)=>{e.loadNamespaces(t,O(e,a))},N=(e,t,a,i)=>{if(m(a)&&(a=[a]),e.options.preload&&e.options.preload.indexOf(t)>-1)return c(e,a,i);a.forEach(t=>{e.options.ns.indexOf(t)<0&&e.options.ns.push(t)}),e.loadLanguages(t,O(e,i))},R=e=>e.displayName||e.name||(m(e)&&e.length>0?e:"Unknown"),m=e=>"string"==typeof e,L=e=>"object"==typeof e&&null!==e,D=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,p={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},C=e=>p[e];let h={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(D,C)};const f=(e={})=>{h={...h,...e}},P=()=>h;let B;const g=e=>{B=e},v=()=>B,M=(e,t)=>{if(!e)return!1;const a=e.props?.children??e.children;return t?a.length>0:!!a},W=e=>{if(!e)return[];const t=e.props?.children??e.children;return e.props?.i18nIsDynamicList?y(t):t},y=e=>Array.isArray(e)?e:[e],U=(e,t,a,o)=>{if(!e)return"";let n="";const r=y(e),E=t?.transSupportBasicHtmlNodes?t.transKeepBasicHtmlNodesFor??[]:[];return r.forEach((e,r)=>{if(m(e))n+=`${e}`;else{if((0,i.isValidElement)(e)){const{props:i,type:_}=e,T=Object.keys(i).length,s=E.indexOf(_)>-1,S=i.children;if(!S&&s&&!T)return void(n+=`<${_}/>`);if(!S&&(!s||T)||i.i18nIsDynamicList)return void(n+=`<${r}></${r}>`);if(s&&1===T&&m(S))return void(n+=`<${_}>${S}</${_}>`);const l=U(S,t,a,o);return void(n+=`<${r}>${l}</${r}>`)}if(null!==e){if(L(e)){const{format:t,...i}=e,r=Object.keys(i);if(1===r.length){const e=t?`${r[0]}, ${t}`:r[0];return void(n+=`{{${e}}}`)}return void A(a,"TRANS_INVALID_OBJ","Invalid child - Object should only have keys {{ value, format }} (format is optional).",{i18nKey:o,child:e})}A(a,"TRANS_INVALID_VAR","Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.",{i18nKey:o,child:e})}else A(a,"TRANS_NULL_VALUE","Passed in a null value as child",{i18nKey:o})}}),n},b=(e,t,a,o,n,r,E)=>{if(""===a)return[];const _=n.transKeepBasicHtmlNodesFor||[],T=a&&new RegExp(_.map(e=>`<${e}`).join("|")).test(a);if(!(e||t||T||E))return[a];const s=t??{},S=e=>{y(e).forEach(e=>{m(e)||(M(e)?S(W(e)):L(e)&&!(0,i.isValidElement)(e)&&Object.assign(s,e))})};S(e);const l=I.parse(`<0>${a}</0>`),A={...s,...r},u=(e,t,a)=>{const o=W(e),n=O(o,t.children,a);return(e=>Array.isArray(e)&&e.every(i.isValidElement))(o)&&0===n.length||e.props?.i18nIsDynamicList?o:n},d=(e,t,a,o,n)=>{e.dummy?(e.children=t,a.push((0,i.cloneElement)(e,{key:o},n?void 0:t))):a.push(...i.Children.map([e],e=>{const a={...e.props};return delete a.i18nIsDynamicList,(0,i.createElement)(e.type,{...a,key:o,ref:e.props.ref??e.ref},n?null:t)}))},O=(e,a,r)=>{const s=y(e);return y(a).reduce((e,a,S)=>{const l=a.children?.[0]?.content&&o.services.interpolator.interpolate(a.children[0].content,A,o.language);if("tag"===a.type){let E=s[parseInt(a.name,10)];!E&&t&&(E=t[a.name]),1!==r.length||E||(E=r[0][a.name]),E||(E={});const I=0!==Object.keys(a.attrs).length?((e,t)=>{const a={...t};return a.props=Object.assign(e.props,t.props),a})({props:a.attrs},E):E,c=(0,i.isValidElement)(I),N=c&&M(a,!0)&&!a.voidElement,R=T&&L(I)&&I.dummy&&!c,D=L(t)&&Object.hasOwnProperty.call(t,a.name);if(m(I)){const t=o.services.interpolator.interpolate(I,A,o.language);e.push(t)}else if(M(I)||N){const t=u(I,a,r);d(I,t,e,S)}else if(R){const t=O(s,a.children,r);d(I,t,e,S)}else if(Number.isNaN(parseFloat(a.name)))if(D){const t=u(I,a,r);d(I,t,e,S,a.voidElement)}else if(n.transSupportBasicHtmlNodes&&_.indexOf(a.name)>-1)if(a.voidElement)e.push((0,i.createElement)(a.name,{key:`${a.name}-${S}`}));else{const t=O(s,a.children,r);e.push((0,i.createElement)(a.name,{key:`${a.name}-${S}`},t))}else if(a.voidElement)e.push(`<${a.name} />`);else{const t=O(s,a.children,r);e.push(`<${a.name}>${t}</${a.name}>`)}else if(L(I)&&!c){const t=a.children[0]?l:null;t&&e.push(t)}else d(I,l,e,S,1!==a.children.length||!l)}else if("text"===a.type){const t=n.transWrapTextNodes,r=E?n.unescape(o.services.interpolator.interpolate(a.content,A,o.language)):o.services.interpolator.interpolate(a.content,A,o.language);t?e.push((0,i.createElement)(t,{key:`${a.name}-${S}`},r)):e.push(r)}return e},[])},c=O([{dummy:!0,children:e||[]}],l,y(e||[]));return W(c[0])},G=(e,t,a)=>{const o=e.key||t,n=(0,i.cloneElement)(e,{key:o});if(!n.props||!n.props.children||a.indexOf(`${t}/>`)<0&&a.indexOf(`${t} />`)<0)return n;return(0,i.createElement)(function(){return(0,i.createElement)(i.Fragment,null,n)},{key:o})},k=(e,t,a,i)=>e?Array.isArray(e)?((e,t)=>e.map((e,a)=>G(e,a,t)))(e,t):L(e)?((e,t)=>{const a={};return Object.keys(e).forEach(i=>{Object.assign(a,{[i]:G(e[i],i,t)})}),a})(e,t):(d(a,"TRANS_INVALID_COMPONENTS",'<Trans /> "components" prop expects an object or array',{i18nKey:i}),null):null,F=e=>!!L(e)&&(!Array.isArray(e)&&Object.keys(e).reduce((e,t)=>e&&Number.isNaN(Number.parseFloat(t)),!0));function V({children:e,count:t,parent:a,i18nKey:o,context:n,tOptions:r={},values:E,defaults:_,components:T,ns:s,i18n:S,t:l,shouldUnescape:I,...A}){const u=S||v();if(!u)return d(u,"NO_I18NEXT_INSTANCE","Trans: You need to pass in an i18next instance using i18nextReactModule",{i18nKey:o}),e;const O=l||u.t.bind(u)||(e=>e),c={...P(),...u.options?.react};let N=s||O.ns||u.options?.defaultNS;N=m(N)?[N]:N||["translation"];const R=U(e,c,u,o),L=_||R||c.transEmptyNodeValue||o,{hashTransKey:D}=c,p=o||(D?D(R||L):R||L);u.options?.interpolation?.defaultVariables&&(E=E&&Object.keys(E).length>0?{...E,...u.options.interpolation.defaultVariables}:{...u.options.interpolation.defaultVariables});const C=E||void 0!==t&&!u.options?.interpolation?.alwaysFormat||!e?r.interpolation:{interpolation:{...r.interpolation,prefix:"#$?",suffix:"?$#"}},h={...r,context:n||r.context,count:t,...E,...C,defaultValue:L,ns:N},f=p?O(p,h):L,B=k(T,f,u,o);let g=B||e,M=null;F(B)&&(M=B,g=e);const W=b(g,M,f,u,c,h,I),y=a??c.defaultTransParent;return y?(0,i.createElement)(y,A,W):W}const H={type:"3rdParty",init(e){f(e.options.react),g(e)}},w=(0,i.createContext)();class Y{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const z=e=>async t=>({...await(e.getInitialProps?.(t))??{},...K()}),K=()=>{const e=v(),t=e.reportNamespaces?.getUsedNamespaces()??[],a={},i={};return e.languages.forEach(a=>{i[a]={},t.forEach(t=>{i[a][t]=e.getResourceBundle(a,t)||{}})}),a.initialI18nStore=i,a.initialLanguage=e.language,a};function j({children:e,count:t,parent:a,i18nKey:o,context:n,tOptions:r={},values:E,defaults:_,components:T,ns:s,i18n:S,t:l,shouldUnescape:I,...A}){const{i18n:u,defaultNS:d}=(0,i.useContext)(w)||{},O=S||u||v(),c=l||O?.t.bind(O);return V({children:e,count:t,parent:a,i18nKey:o,context:n,tOptions:r,values:E,defaults:_,components:T,ns:s||c?.ns||d||O?.options?.defaultNS,i18n:O,t:l,shouldUnescape:I,...A})}const x=(e,t,a,i)=>e.getFixedT(t,a,i),Q=(e,t={})=>{const{i18n:a}=t,{i18n:o,defaultNS:n}=(0,i.useContext)(w)||{},r=a||o||v();if(r&&!r.reportNamespaces&&(r.reportNamespaces=new Y),!r){d(r,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const e=(e,t)=>m(t)?t:L(t)&&m(t.defaultValue)?t.defaultValue:Array.isArray(e)?e[e.length-1]:e,t=[e,{},!1];return t.t=e,t.i18n={},t.ready=!1,t}r.options.react?.wait&&d(r,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const E={...P(),...r.options.react,...t},{useSuspense:_,keyPrefix:T}=E;let s=e||n||r.options?.defaultNS;s=m(s)?[s]:s||["translation"],r.reportNamespaces.addUsedNamespaces?.(s);const S=(r.isInitialized||r.initializedStoreOnce)&&s.every(e=>((e,t,a={})=>t.languages&&t.languages.length?t.hasLoadedNamespace(e,{lng:a.lng,precheck:(t,i)=>{if(a.bindI18n&&a.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!i(t.isLanguageChangingTo,e))return!1}}):(d(t,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:t.languages}),!0))(e,r,E)),l=((e,t,a,o)=>(0,i.useCallback)(x(e,t,a,o),[e,t,a,o]))(r,t.lng||null,"fallback"===E.nsMode?s:s[0],T),I=()=>l,A=()=>x(r,t.lng||null,"fallback"===E.nsMode?s:s[0],T),[u,O]=(0,i.useState)(I);let R=s.join();t.lng&&(R=`${t.lng}${R}`);const D=((e,t)=>{const a=(0,i.useRef)();return(0,i.useEffect)(()=>{a.current=t?a.current:e},[e,t]),a.current})(R),p=(0,i.useRef)(!0);(0,i.useEffect)(()=>{const{bindI18n:e,bindI18nStore:a}=E;p.current=!0,S||_||(t.lng?N(r,t.lng,s,()=>{p.current&&O(A)}):c(r,s,()=>{p.current&&O(A)})),S&&D&&D!==R&&p.current&&O(A);const i=()=>{p.current&&O(A)};return e&&r?.on(e,i),a&&r?.store.on(a,i),()=>{p.current=!1,r&&e&&e?.split(" ").forEach(e=>r.off(e,i)),a&&r&&a.split(" ").forEach(e=>r.store.off(e,i))}},[r,R]),(0,i.useEffect)(()=>{p.current&&S&&O(I)},[r,T,S]);const C=[u,r,S];if(C.t=u,C.i18n=r,C.ready=S,S)return C;if(!S&&!_)return C;throw new Promise(e=>{t.lng?N(r,t.lng,s,()=>e()):c(r,s,()=>e())})},X=(e,t={})=>function(a){function o({forwardedRef:o,...n}){const[r,E,_]=Q(e,{...n,keyPrefix:t.keyPrefix}),T={...n,t:r,i18n:E,tReady:_};return t.withRef&&o?T.ref=o:!t.withRef&&o&&(T.forwardedRef=o),(0,i.createElement)(a,T)}o.displayName=`withI18nextTranslation(${R(a)})`,o.WrappedComponent=a;return t.withRef?(0,i.forwardRef)((e,t)=>(0,i.createElement)(o,Object.assign({},e,{forwardedRef:t}))):o},$=({ns:e,children:t,...a})=>{const[i,o,n]=Q(e,a);return t(i,{i18n:o,lng:o.language},n)};function q({i18n:e,defaultNS:t,children:a}){const o=(0,i.useMemo)(()=>({i18n:e,defaultNS:t}),[e,t]);return(0,i.createElement)(w.Provider,{value:o},a)}const J=(e,t,a={})=>{const{i18n:o}=a,{i18n:n}=(0,i.useContext)(w)||{},r=o||n||v();r.options?.isClone||(e&&!r.initializedStoreOnce&&(r.services.resourceStore.data=e,r.options.ns=Object.values(e).reduce((e,t)=>(Object.keys(t).forEach(t=>{e.indexOf(t)<0&&e.push(t)}),e),r.options.ns),r.initializedStoreOnce=!0,r.isInitialized=!0),t&&!r.initializedLanguageOnce&&(r.changeLanguage(t),r.initializedLanguageOnce=!0))},Z=()=>function(e){function t({initialI18nStore:t,initialLanguage:a,...o}){return J(t,a),(0,i.createElement)(e,{...o})}return t.getInitialProps=z(e),t.displayName=`withI18nextSSR(${R(e)})`,t.WrappedComponent=e,t},ee=()=>"",te=()=>"",ae=()=>"",ie=()=>"",oe=()=>"",ne=()=>""},81671:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"الأفلام","TYPE_series":"المسلسلات","TYPE_tv":"قنوات تلفاز","TYPE_channel":"القنوات","TYPE_other":"أخرى","TYPE_movie_PL":"أفلام","TYPE_series_PL":"مسلسلات","TYPE_tv_PL":"قنوات تلفاز","TYPE_channel_PL":"قنوات","TYPE_other_PL":"أخرى","TYPE_ALL":"الكل","TYPE":"نوع","CATALOG_com_linvo_cinemeta_top":"رائج","CATALOG_com_linvo_cinemeta_imdbRating":"مميز","CATALOG_com_linvo_cinemeta_year":"حديث","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"افلام عامة","VIDEO":"فيديو","BACK":"رجوع","MORE":"المزيد","DONE":"تم","COPY":"نسخ","SUCCESS":"نجح","ERROR":"خطاء","SETTINGS_CASTING_MODE_PICKER":"وضع البث","CASTING_MODE_HLSV2":"الافتراضي","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"لايوجد ترميز","Discover":"أكتشف","Board":"الرئيسية","Library":"المكتبة","My Library":"مكتبتي","Calendar":"التقويم","NOTIFICATION_ONLINE":"أنت الأن متصل بالأنترنيت","NOTIFICATION_OFFLINE":"أنت الأن غير متصل بالأنترنيت","INTERNET_CONNECTION":"جاري الأتصال بالشكبة","STORAGE_FULL_TITLE":"تحذير : مساحة التخزين ممتلئة !","STORAGE_FULL_TEXT":"لن يتمكن Stremio من حفظ الإعدادات أو التفضيلات أو معلومات تسجيل الدخول الخاصة بك. ضع في اعتبارك إعادة تشغيل Stremio أو إعادة تثبيته.","SEARCH":"البحث","SEARCH_NO_RESULTS":"لم يتم العثور على نتائح","SEARCH_EXPLANATION_CONTENT":"البحث عن الأفلام والمسلسلات وقنوات يوتيوب والتلفزيون","SEARCH_EXPLANATION_PEOPLE":"ابحث عن الممثلين والمخرجين والكتاب","SEARCH_PASTE_LINKS":"قم بلصق روابط HTTP و Magnet","SEARCH_OR_PASTE_LINK":"أبحث او ألصق رابط","SEARCH_SUGGESTIONS":"اقتراحات البحث","ADD_TO_LIB":"اضافة الى المكتبة","REMOVE_FROM_LIB":"ازالة من المكتبة","ADDED_TO_LIB":"تمت الاضافة الى المكتبة","REMOVED_FROM_LIB":"تمت الازالة من المكتبة","TRAILER":"الأعلان","WATCH_TRAILER":"مشاهدة الأعلان","WATCH_NOW":"مشاهدة الأن","SHOW":"عرض","SHOW_MOVIE":"شاهد الفيلم","WATCH_RANDOM":"مشاهدة عشوائية","IMDB_RATING":"تقييم IMDb","YEAR":"السنة","DIRECTOR":"المخرج","WRITER":"الكاتب","LEAD_ACTORS":"أبرز الممثلين","CAST":"طاقم العمل","CREW":"الفريق","SHOW_MORE_CAST":"عرض المزيد «","AIRED":"تم عرضه","SEASONS":"المواسم","GENRE":"تصنيف","GENRE_ALL":"جميع التصنيفات","CATALOG":"فهرس","SUMMARY":"ملخص","SHOW_MORE":"عرض المزيد","SIMILAR":"مشابه","UPCOMING":"قريبا","TBA":"TBA","ENDED":"تم الانتهاء","DURATION":"مدة العرض","FEATURED":"متميز","METADATA":"البيانات الوصفية","CATEGORY":"الفئة","LINKS_GENRES":"التصنيف","LINKS_CAST":"الطاقم","LINKS_DIRECTORS":"المخرجون","SEARCH_VIDEOS":"البحث عن فيديوهات","SEARCH_PLACEHOLDER":"ابحث أو الصق رابط","ADDON":"أضافة","ADDONS":"أضافات","OFFICIAL":"رسمية","ADDONS_OFFICIAL":"إضافات Stremio الرسمية","ADDONS_POPULAR":"شائع في منطقتك","ADDON_FREE":"مجاني","ADDON_PEERED":"مشاهد","ADDON_SUBSCRIPTION":"أشتراك","ADDON_STREAM_GEORESTRICTED":"غير متاح في منطقتك","ADDON_STREAM_OFFLINECACHE":"ذاكرة التخزين المؤقت غير متصلة","ADDON_STREAM_LOCALFILE":"ملف محلي","SHARE_ADDON":"مشاركة الأضافة","AVAILABLE_STREAMS":"العروض \'الفيديوهات\' المتاحة","NO_STREAM":"لم يتم العثور على عروض او فيديوهات","ALL_ADDONS":"الكل","INSTALL_MORE_ADDONS":"لمزيد من العروض والفيديوهات ، يرجى تثبيت المزيد من الإضافات","STREAM_NOT_SUPPORTED":"العرض المحدد غير مدعوم على هذا النظام الأساسي.","ADDON_CATALOGUE":"عرض جميع الأضافات »","ADDON_CATALOGUE_MORE":"تثبيت أضافات","REPO_ADDED":"تمت إضافة المستودع","ADDON_REPO_EXIST_ERR":"هذه الأضافة موجودة بالفعل","ADDON_REPO_ERR":"حدث خطا اثناء اضافة المجموعة","ADDON_ADD_ERR":"حدث خطأ أثناء إضافة الاضافة","ERR_ADDON_PROTECTED":"لا يمكن إلغاء تثبيت الاضافة ، فهي محمية","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"حدث خطأ - ربما فشلت المصادقة","ERR_NOT_COLLECTION_URL":"رابط غير صالح","ERR_NOT_ADDON_URL":"ليس رابط لأضافة صالحة","ERR_DETECTFROMURL":"لم يتم العثور على أضافة / مجموعة في هذا الرابط","ADDON_DUPLICATE_WARNING":"تحذير : أضافة مكررة","ADDON_COLLECTION_SET_FAILED":"فشلت مزامنة الإضافات المثبتة إلى حسابك","SETTINGS_DATA_EXPORT":"تصدير بيانات المستخدم","ADDON_PULL_FAILED":"فشلت مزامنة الإضافات المثبتة إلى حسابك","REFRESH_ON_CLICK":" إضغط لإعادة تحميل","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"متواجد في دور العرض","WATCH_IN_CINEMA":"شاهده في دار العرض القريبة منك","IN_THEATER":"حاليا في دور العرض","GET_TICKETS":"أحصل على تذاكر","UPCOMING_EPISODE":"الحلقة القادمة","UPCOMING_EPISODE_MESSAGE":"سيتم عرض هذه الحلقة في","MISSING_DATE_EPISODE":"تاريخ الحلقة غير متوفرة","MISSING_DATE_EPISODE_MESSAGE":"هذه الحلقة غالبا لم تعرض بعد","CHANNEL_NOT_SCRAPED":"لم يتم مراجعة هذه القناة بعد. <br> يرجى العودة بعد بضع دقائق.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"قم بإضافته إلى مكتبتك ليتم إعلامك بمجرد توفره.","GET_NOTIFIED_WHEN_AVAILABLE":"سيتم إخطارك بمجرد توفرها.","WARNING_STREAMING_SERVER":"تحذير: خادم البث المحلي غير موجود. البث من الملفات المحلية ، لن يكون YouTube و BitTorrent متاحين.","WARNING_STREAMING_SERVER_DISMISS":"تجاهل","WARNING_STREAMING_SERVER_LATER":"فيما بعد","DECODER_WARNING":"تحذير: قد لا يدعم جهازك هذا الفيديو. ضع في اعتبارك أن التشغيل قد يكون بطيئًا.","GENERIC_ERROR_MESSAGE":"حدث خطاء!","TRY_AGAIN":"حاول مره أخرى","CLEAR_DATA":"حذف البيانات","PLAYER_ERROR":"خطأ في المشغل","PLAYER_ERROR_LOOKSLIKE":"يبدو أنه","PLAYER_ORIENTATION":"اتجاه المشغل","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"مقفل","PLAYER_ORIENTATION_SENSOR_SHORT":"المستشعر","PLAYER_ORIENTATION_LANDSCAPE":"اتجاه المشغل مقفل في الوضع الأفقي","PLAYER_ORIENTATION_SENSOR":"توجيه المشغل تلقائيًا (مستشعر)","PLAYER_PLAYBACK_SPEED":"سرعة التشغيل","PLAYER_PLAYBACK_ERROR":"خطأ في التشغيل، يرجى المحاولة مرة أخرى","PLAYER_PLAYBACK_ERROR_UNKNOWN":"خطأ غير معروف","PLAYER_PLAYBACK_ERROR_DEFAULT":"آسف، لا يمكن تشغيل هذا الفيديو بإستخدام {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"لغات الترجمة","PLAYER_SUBTITLES_VARIANTS":"انواع الترجمة","PLAYER_SUBTITLES_SETTINGS":"إعدادات الترجمة","PLAYER_SUBTITLES_DISABLED":"الترجمة معطلة","PLAYER_SUBTITLES_VERTICAL_POSIITON":"الاتجاه العمودي","PLAYER_SUBTITLES_LOADED":"تم تفعيل الترجمة","PLAYER_SUBTITLES_LOADED_EMBEDDED":"تم تفعيل الترجمة المضمنة","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"تم تفعيل الترجمة المميزة","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"الترجمة من {{origin}} مفعلة","PLAYER_PLAY":"تشغيل","PLAYER_PAUSE":"ايقاف","PLAYER_NEXT_VIDEO":"الفيديو التالي","PLAYER_MUTE":"كتم","PLAYER_UNMUTE":"إلغاء الكتم","PLAYER_OPEN_IN_EXTERNAL":"الفتح في مشغل خارجي","PLAYER_OPEN_IN_NPLAYER":"فتح في nPlayer","PLAYER_PLAY_IN":"تشغيل في {{device}}","PLAYER_LIVE":"مباشر","PLAYER_NEXT_VIDEO_TITLE":"الفيديو التالي","PLAYER_NEXT_VIDEO_TITLE_SHORT":"التالي","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"إغلاق","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"شاهد الان","PLAYER_COPY_STREAM_SUCCESS":"تم نسخ رابط البث ","PLAYER_COPY_STREAM_ERROR":"فشل في نسخ رابط البث","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"تم نسخ رابط التنزيل ","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"فشل نسخ رابط التنزيل","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"يتم البث من","CASTING_TO":"ارسال البث ل","NETWORK_STATUS":"حالة الشبكة","STREAM_SPEED":"سرعة البث : ","STREAM_BUFFERED":"مخزن:","PEERS_INFO":"معلومات الأقران (Peers)","PEERS_ACTIVE":"فعال :","PEERS_CONNECTED":"متصل :","PEERS_WAITING":"في الأنتطار:","TRANSCODING_WARNING":"تحذير: تحويل ترميز الفيديو.","STREAM_LOADING":"جاري التحميل...","PLAYING_LOCAL":"يتم التشغيل من ملف محلي","PLAYING_CACHE":"يتم التشغيل من ملفات التخزين السابقة (Cache)","WRONG_SUBS":"ترجمة خاطئة ؟","ERR_SUBS_LOADING_TITLE":"حدث خطأ أثناء تحميل الترجمة","ERR_SUBS_LOADING":"فشل تحميل الترجمة: قد يكون هذا مشكلة في الملحق الذي تستخدمه أو في اتصال الشبكة","WARN_FOLLOWING_SUB_ADDONS_FAILED":"فشل في تحميل الترجمة من الإضافات التالية","ERR_CASTING_UPDATE_TITLE":"تعذر تحديث معلومات جهاز الإرسال: قد يكون خادم البث غير متصل بالإنترنت","CHOOSE_DEVICE":"اختر جهازًا للمشاهدة عليه","NO_CAST_DEVICES":"لا يوجد أجهزة عرض متاحة.","NO_SETTINGS":"لا يوجد إعدادات متاحة.","NO_OPTIONS":"No options available","PHONE_TABLET":"هاتف / جهاز لوحي","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"الترجمات","SUBTITLES_CHANGE":"قم بتغيير ترجمات ل ","SUBTITLES_CHANGE_NONE":"لا توجد ترجمات أخرى لهذه اللغة ، معذرة.","SUBTITLES_CHANGE_ACIVE":"الترجمات الحالية #{{subtitlesDialog.activeIdx + 1}} فعالة. انقر \\"متابعة\\" لتفعيل الترجمات #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"بدلا من ذلك,","SUBTITLES_ADJUST_DELAY":"ضبط تأخير الترجمة:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"أو استخدم مفاتيح <span>G</span> / <span>H</span> أثناء التشغيل للضبط.","SUBTITLES_ADJUST_DELAY_TIP":"نصيحة: يمكنك استخدام مفاتيح <span>G</span> / <span>H</span> أثناء التشغيل للضبط.","SUBTITLES_DELAY":"تأخير الترجمة:","SUBTITLES_LOADING":"جارٍ تحميل الترجمات ...","SUBTITLES_UNAVAILABLE":"لا توجد ترجمات متاحة.","SUBTITLES_DISABLED":"معطل","EXTERNAL_PLAYER_DISABLED":"معطل","EXTERNAL_PLAYER_ALLOW_CHOOSING":"السماح بألاختيار","EXTERNAL_PLAYER_HINT":"تلميح: هناك إعداد للسماح بالفتح دائما مع مشغل خارجي","DONT_SHOW_AGAIN":"لا تظهر مرة أخرى","SERVICE_INSTALL":"تنزيل","AUDIO":"Audio","DEFAULT_LANGUAGE":"اللغة الإفتراضية","DEFAULT_SECONDARY_LANGUAGE":"اللغة الثانوية الافتراضية","SEASON":"موسم","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"حلقة","EPISODE_ABBREVIATION":"ح","SPECIAL":"حلقات خاصة","SORT":"ترتيب","SORT_BY":"ترتيب حسب","FILTER":"تصفية","SORT_TRENDING":"الشائع","SORT_RECENT":"مؤخرا","SORT_ALPHABET":"من a الى z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"التقييم","SORT_WATCHED":"تمت المشاهدة","SORT_YEAR":"عام","SELECT":"Select","SELECT_TYPE":"اختر صنف","SELECT_SORT":"حدد الترتيب","SELECT_CATALOG":"حدد الكتالوج","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"اختر النوع","SORT_LASTWATCHED":"حسب آخر مشاهدة","SORT_NAME":"بالاسم","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"حسب مرات المشاهدة","SORT_NOTWATCHED":"لم تشاهده","New for You":"جديد من أجلك","New Episodes":"حلقات جديدة","New Videos":"فيديوهات جديدة","Recommendations":"المقترحة","LIBRARY_RESUME":"تابع","LIBRARY_PLAY":"تشغيل","LIBRARY_DETAILS":"التفاصيل","LIBRARY_RESUME_DISMISS":"انهاء","LIBRARY_CLEAR_PROGRESS":"مسح التقدم","LIBRARY_REMOVE":"حذف","LIBRARY_NOT_LOGGED_IN":"المكتبة متاحة فقط للمستخدمين المسجلين","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"التقويم متاح فقط للمستخدمين المسجلين","NOT_LOGGED_IN_CLOUD":"استمتع بمشاهدة أفلامك وبرامجك التلفزيونية المفضلة في أي وقت وفي أي مكان","NOT_LOGGED_IN_RECOMMENDATIONS":"توصيات مخصصة استناداً إلى تاريخ مشاهداتك","NOT_LOGGED_IN_NOTIFICATIONS":"لن تفوت أي حلقة بعد الآن","NOT_LOGGED_IN_CALENDAR":"قم بجدولة تقويم مشاهداتك الشخصية","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"متميز","DISCOVER_TOP":"الأعلى","DISCOVER_OSCAR":"حاصلة على جائزة الأوسكار","DISCOVER_WARNING_TITLE":"عذرا !","DISCOVER_EMPTY_CATALOG":"هذه الاضافة لاتحتوي على محتوى","DISCOVER_ADULT_WARNING":"هذا المحتوى مخصص للبالغين عمرك اكبر من 18 ؟","DISCOVER_NOADDON_WARNING":"تحذير: لا يوجد ملحق Stremio نشط لهذا النوع. إظهار العناصر المحفوظة ، لن يتم تحديث أي شيء هنا.","DISCOVER_LOAD_ERR":"لم يتم تحميل المحتوى ، حدث خطأ.","DISCOVER_ADDON_UNINSTALLED":"لم يعد هذا المحتوى متاحًا ، ربما تكون قد قمت بإلغاء تثبيت الأضافة.","UNINSTALL_THIS_ADDON":"الغاء تثبيت الأضافة","ERR_ADDON_NOT_INSTALLED":"هذه الاضافه غير مثبته، هل تريد تثبيتها الان؟","DETAIL_RECEIVE_NOTIF_SERIES":"تلقي أشعار في حال وجود حلقات جديدة","DETAIL_RECEIVE_NOTIF_VIDEOS":"تلقي أشعار في حال وجود فيديوهات جديدة","SIDEBAR_SHOW_STREAMS":"إظهار العروض","RELAUNCH":"إعادة التشغيل الأن!","UPGRADE":"نسخة جديدة متاحة! قم بالترقية إلى أحدث إصدار من Stremio","RELOAD_UI":"إعادة تحميل الواجهة الأساسية","MANUAL_UPDATE_TITLE":"تحديث نسخة جديدة من Stremio","MANUAL_UPDATE_LINE1":".أنت تستخدم نسخه قديم من Stremio و هو غير موصى به ","MANUAL_UPDATE_LINE2":"يرجى تحديث البرنامج في اقرب وقت ممكن.","BUTTON_UPDATE_LATTER":"ليس الأن","BUTTON_UPDATE_NOW":"تحديث الأن","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"مستخدم مجهول","DONT_HAVE_ACC":"ليس لديك حساب؟","HAVE_ACC":"هل لديك حساب؟","PASSWORD":"كلمة السر","PASSWORD_CONFIRM":"تأكيد كلمة السر","EMAIL":"البريد الألكتروني","FB_LOGIN":"متابعة بأستخدام حساب فيسبوك","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"لن يتم مشاركة أي شي بدون موافقتك","FB_NOPOST":"لن نقوم بنشر أي شي بالنيابة عنك","OR":"أو","I_ACCEPT":"أنا أقبل","I_ACCEPT_BY_CLICKING":"بالنقر فوق الزر أعلاه ، أشهد بأنني أقبل ","TOS":"الأحكام والشروط","MUST_ACCEPT_TERMS":"يجب عليك قبول الشروط","PASSWORDS_NOMATCH":"كلمات السر غير متطابقة","SIGN_UP":"أنشاء حساب","SIGN_UP_EMAIL":"أنشاء حساب بأستخدام البريد الألكتروني","CLICK_TO_SIGN_UP":"أنقر هنا لأنشاء حساب","LOG_IN":"تسجيل الدخول","LOG_OUT":"تسجيل الخروج","EXIT_FULLSCREEN":"خروج من وضع ملء الشاشة","ENTER_FULLSCREEN":"تشغيل وضع ملء الشاشة","PLAY_URL_MAGNET_LINK":" تشغيل رابط ال URL/Magnet","HELP_FEEDBACK":"المساعدة و ملاحظة","TERMS_OF_SERVICE":"الأحكام والشروط","PRIVACY_POLICY":"سياسة الخصوصية","ABOUT_STREMIO":"عن Stremio","USER_PANEL":"لوحة التحكم","LOGIN_LABEL":"تسجيل الدخول","GUEST_LOGIN":"تسجيل الدخول كزائر","GUEST_LOGIN_NOTICE":"لا يوصى بتسجيل دخول كزائر. يسمح استخدام تسجيل الدخول المنتظم لـ Stremio بمزامنة مكتبتك ، وتلقي إعلامات للمسلسلات / القنوات المفضلة. هل انت متأكد انك تريد المتابعة؟","GUEST_LOGIN_NOTICE_2":"لا يوصى بتسجيل دخول كزائر. يسمح استخدام تسجيل الدخول المنتظم لـ Stremio بمزامنة مكتبتك ، وتلقي إعلامات للمسلسلات / القنوات المفضلة. هل انت متأكد انك تريد المتابعة؟","CLICK_HERE":"أنقر هنا","WRONG_PASSWORD":"بريد إلكتروني أو كلمة السر خاطئة. في حالة نسيان كلمة السر الخاصة بك ، ","SET_A_PASS":"وضع كلمة سر","RESET_PASSWORD":"أستعادة كلمة السر","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"نسيت كلمة السر ؟","EMAIL_USED_WITH_FB":"تم استخدام هذا البريد الإلكتروني مع تسجيل الدخول إلى Facebook.","INVALID_EMAIL":"رجاء قم بإدخال بريد الكتروني صحيح","INVALID_PASSWORD":"الرجاء إدخال كلمة السر الصحيحة","CONN_ERR":"خطأ في الاتصال - يرجى المحاولة مرة أخرى لاحقًا. إذا استمر ذلك ، فقم بتعطيل جدران الحماية / برنامج مكافحة الفيروسات (خاصة Bitdefender).","IMPORT_FROM_GUEST":"استيراد مكتبتك من حساب الزائر الخاص بك","RECEIVE_UPDATES_EMAIL":"تلقي تحديثات البريد الإلكتروني الخاص بك من Stremio","LOGIN_FAILED":"لم ينجح تسجيل الدخول","SIGNUP_FAILED":"لم ينجح أنشاء حساب","SEARCH_FAILED":"لم ينجح البحث","EMAIL_USED":"تم أستخدام هذا البريد الألكتروني مسبقا","WAITING_FB_LOGIN":"جاري تسجيل الدخول ب أستخدام فيسبوك ...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"تشغيل باستخدام المشغل الخارجي","EXTERNAL_REMEMBER_PLAYER":"هل ترغب في تذكر خيارك","EXTERNAL_ALWAYS_PLAY":"نعم","EXTERNAL_ONLY_ONCE":"لا","BEST_FIT":"الأنسب","FIT_SCREEN":"تناسب الشاشة","FILL":"تعبئة","16:9":"16:9","4:3":"4:3","Original":"اصلي","INTRO_TASTE":"أخبرنا بما تحبه","INTRO_TASTE_LONG":"أخبرنا بما تود مشاهدته","INTRO_TASTE_PICK":"اختر {{interestsRemaining}} أهتمامات","INTRO_TASTE_PICK_MORE":"اختر {{interestsRemaining}} أهتمامات أخرى","INTRO_TASTE_HELP_US":"ساعدنا في معرفة المزيد عنك.","INTRO_TASTE_CHOOSE_THESE":"اختر بعضًا من هذه:","INTRO_TASTE_CHOOSE_MIN":"اختر 3 فئات على الأقل","INTRO_TASTE_CHOOSE_MIN_ERR":"عليك أن تختار 3 فئات على الأقل!","INTRO_TASTE_LIFESTYLE":"أسلوب الحياة","INTRO_TASTE_SPORTS":"الرياضة","INTRO_TASTE_FOOD_HEALTH":"الطعام و الصحة","INTRO_TASTE_BEAUTY_FASHION":"الجمال و الموضة","INTRO_TASTE_NEWS":"الأخبار","INTRO_TASTE_GAMING":"الألعاب","INTRO_TASTE_SCIENCE_EDU":"التعلم و العلوم","INTRO_TASTE_MUSIC":"الموسيقى","INTRO_TASTE_TRAVEL":"السفر","INTRO_TASTE_LATE_NIGHT":"برامج أخر الليل","INTRO_TASTE_REALITY":"الواقع","INTRO_TASTE_COMEDY":"الكوميديا","INTRO_TASTE_DIY":"كيف تصنعها بنفسك","INTRO_TASTE_TECH":"التقنية","INTRO_TASTE_CINEMA":"السينيما","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"الأضافة المحددة غير مدعومة على هذا النظام الأساسي.","ADDON_DISCLAIMER":"سيخضع استخدام أدوات الطرف الثالث دائمًا لمسؤوليتك والقانون الحاكم للولاية القضائية التي توجد بها.","ADDON_ACTIVATE":"تفعيل هذه الأضافة","ADDON_REPO_ADD":"رابط الأضافة","ADDON_ADD":"أضافة","INSTALL_ADDON":"تنزيل الأضافة","ADD_ADDON":"أضافة ملحق","ADD_ADDON_DESCRIPTION":"يمكنك إضافة ملحق عبر رابط خارجي ، والذي سيظهر ضمن الوظائف الإضافية المثبتة.","PASTE_ADDON_URL":"لصق عنوان الملحق","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"ما الجديد","BUTTON_CONTINUE":"متابعة","BUTTON_ACTIVATE":"تفعيل","BUTTON_ACTIVATED":"مفعلة","BUTTON_CANCEL":"ألغاء","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"تقديم","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"أنهاء الجميع","BUTTON_VIEW_ALL":"عرض الكل","BUTTON_SEE_ALL":"المزيد..","BUTTON_COLOR_TRANSPARENT":"شفاف","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"افتح في المتصفح","LIB_EMPTY":"مكتبتك تبدو فارغة. اكتشف مدى فائدتها :) ","HOW_START":"إليك كيف يمكنك البدء:","LIB_EMPTY_CAL":"يعرض التقويم الخاص بك المسلسلات في مكتبتك.","HOW_START_CAL":"إليك كيف يمكنك إضافة مسلسل:","LIB_EMPTY_BOARD":"يظهر المجلس الإخطارات و. التوصيات المتعلقة بمكتبتك.","HOW_START_BOARD_WAIT":"من فضلك ، أضف بعض المسلسلات أو القنوات إلى مكتبتك ، امنحنا بضع دقائق للمعالجة :)","HOW_START_BOARD":"إليك كيفية إضافة المسلسلات والأفلام إليها:","IMPORT_FB":"استيراد الأشياء التي تريدها من <span>Facebook</span>","IMPORT_TRAKT":"قم باستيراد مكتبة الوسائط الخاصة بك من <span>Trakt</span>","IMPORT_DISCOVER":"اعثر على أشياء شيقة من <span>الأكتشاف</span>","IMPORT_DISK":"قم باستيراد الأفلام أو العروض الموجودة لديك على <span> القرص المحلي </ span>","PLEASE_CREATE_ACC":"يرجى <u> إنشاء حساب </ u> لتمكين مزامنة المكتبة و لوحة التحكم.","IMPORT_DISCOVER_SIGNUP":"اشترك وابحث عن أشياء ممتعة من <span> الأكتشاف </span>","IMPORT_DISK_SIGNUP":"اشترك واستورد الأفلام أو العروض التي لديك على <span> القرص المحلي </ span>","LIB_EMPTY_CLOUD":"مكتبة التخزين السحابي","LIB_EMPTY_CLOUD_DESC":"تمت مزامنة مكتبة السحابة الشخصية على جميع الأجهزة","LIB_EMPTY_EARLY":"بداية الأطلاق","LIB_EMPTY_EARLY_DESC":"تلقي الأشعارات للحلقات الجديدة","LIB_EMPTY_PERSONAL":"شخصي","LIB_EMPTY_PERSONAL_DESC":"احصل على مقترحات شخصية","LIB_EMPTY_CALENDAR_DESC":"قم ب إنشاء تقويم شخصي للمشاهدة","LIB_EMPTY_ALL":"اشترك للحصول على كل ما يلي:","LIB_EMPTY_BEST":"قم بالتسجيل للحصول على أفضل ما في Stremio","LIB_EMPTY_OTHER":"قم بالتسجيل لتمكين التقويم والميزات الرائعة الأخرى","CALENDAR_ADDED":"تمت إضافة تقويم Stremio إلى تقويم سطح المكتب الافتراضي الخاص بك.","CALENDAR_ADDED_MSG":"إذا لم يفلح ذلك ، يرجى إضافة عنوان URL هذا إلى تطبيق التقويم يدويًا","TRAKT_EXPIRED":"انتهت صلاحية مصادقة Trakt ، يرجى الانتقال إلى الإعدادات وإعادة المصادقة","TRAKT_REQUIRES_LOGIN":"خطأ Trakt","TRAKT_REQUIRES_LOGIN_MSG":"تحتاج إلى تسجيل الدخول","TRAKT_IMPORT_WATCHED":"إستيراد","THEME":"موضوع","THEME_DEFAULT":"إفتراضي","THEME_ADAPTIVE":"متكيف","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"الأعدادات","SETTINGS_NAV_GENERAL":"عام","SETTINGS_NAV_PLAYER":"المشغل","SETTINGS_NAV_STREAMING":"بث","SETTINGS_NAV_SHORTCUTS":"اختصارات","SETTINGS_SHORTCUT_RELOAD_APP":"إعادة تحميل التطبيق","SETTINGS_SHORTCUT_OPEN_SETTINGS":"فتح الاعدادات","SETTINGS_SHORTCUT_SWITCH_TABS":"تبديل التبويبات","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"الانتقال من خلال علامات التبويب إلى الأمام","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"الانتقال من خلال علامات التبويب إلى الخلف","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"تنقل بين القوائم","SETTINGS_SHORTCUT_GO_TO_SEARCH":"اذهب إلى البحث","SETTINGS_SHORTCUT_EXIT_BACK":"الخروج / العودة","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"تبديل قائمة سرعة التشغيل","SETTINGS_SHORTCUT_MENU_VIDEOS":"تبديل قائمة مقاطع الفيديو","SETTINGS_SHORTCUT_MENU_SUBTITLES":"تبديل قائمة الترجمة","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"تبديل قائمة المعلومات","SETTINGS_SHORTCUT_FULLSCREEN":"تفعيل وضع ملء الشاشة","SETTINGS_SHORTCUT_SHOW_CONTROLS":"عرض ادوات التحكم","SETTINGS_SHORTCUT_PLAY_PAUSE":"اتشغيل / ايقاف","SETTINGS_SHORTCUT_VOLUME_UP":"زيادة الصوت","SETTINGS_SHORTCUT_VOLUME_DOWN":"انقاص الصوت","SETTINGS_SHORTCUT_SEEK_NEXT":"ابحث عن التالي","SETTINGS_SHORTCUT_SEEK_PREV":"ابحث عن السابق","SETTINGS_SHORTCUT_SEEK_BACKWARD":"التحريك للخلف","SETTINGS_SHORTCUT_SEEK_FORWARD":"التحريك للامام","SETTINGS_SHORTCUT_PLAY_NEXT":"عرض التالي","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"تكبير خط الترجمة","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"تصغير خط الترجمة","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"زيادة مدة تأخير الترجمة","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"انقاص مدة تأخير الترجمة","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"تفعيل / تعطيل الشريط الجانبي","SETTINGS_SHORTCUT_OR":"بعد","SETTINGS_SHORTCUT_TO":"الى","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"مساحة","SETTINGS_SHORTCUT_SHIFT":"شيفت","SETTINGS_SHORTCUT_ESC":"خروج","SETTINGS_TRAKT_AUTHENTICATE":"المصادقة","SETTINGS_FACEBOOK_IMPORT":"استيراد","SETTINGS_CALENDAR_SUBSCRIBE":"اشتراك","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"تم فتح تطبيق التقويم. يرجى الاشتراك في التقويم يدويًا.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"تم تنزيل ملف التقويم. يرجى استيراده إلى تطبيق التقويم الخاص بك.","SETTINGS_INTERFACE_LANGUAGE":"لغة الواجهة","SETTINGS_LAUNCH_STARTUP":"ابدأ عند بدء التشغيل","SETTINGS_VLC_DEFAULT":"تشغيل عن طريق VLC","SETTINGS_UI_LANGUAGE":"لغة واجهة المستخدم","SETTINGS_UI_ZOOM":"تكبير الواجهة","SETTINGS_FULLSCREEN_EXIT":"مفتاح Escape للخروج من وضع ملء الشاشة ","SETTINGS_GAMEPAD":"تفعيل دعم gamepad","SETTINGS_CLOSE_WINDOW":"أغلق التطبيق عند إغلاق النافذة","SETTINGS_SUBTITLES_LANGUAGE":"لغة الترجمة الافتراضية","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"حجم خط الترجمة الافتراضي","SETTINGS_SUBTITLES_BACKGROUND":"خلفية الترجمة","SETTINGS_SUBTITLES_COLOR":"لون خط الترجمة","SETTINGS_SUBTITLES_COLOR_OUTLINE":"لون خط الترجمة الخارجي","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"لون خلفية الترجمة","SETTINGS_SEEK_KEY":"الاسهم لتقديم الوقت","SETTINGS_SEEK_KEY_SHIFT":"تتقدم مفاتيح الأسهم الوقت عندما يكون مفتاح Shift مضغوطًا","SETTINGS_REWIND_FAST_FORWARD_DURATION":"مدة التقديم او الإرجاع","SETTINGS_BINGE":"تشغيل تلقائي للحلقة القادمة","SETTINGS_NEXT_VIDEO":"عرض إشعار بداية الحلقة التالية","SETTINGS_NEXT_VIDEO_TRIGGER":"عرض إشعار الحلقة التالية لمده:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"مدة انبثاق الفيديو التالي","SETTINGS_PLAY_IN_BACKGROUND":"تشغيل في الخلفية","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"تشغيل في المشغل الخارجي","SETTINGS_RESIZE":"نافذة تغيير الحجم التلقائي قبل التشغيل","SETTINGS_OVERRIDE_SERVER":"تجاوز عنوان URL لخادم البث (متقدم)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"عنوان رابط خادم البث: ","SETTINGS_SERVER_AVAILABLE":"خادم البث متاح.","SETTINGS_SERVER_UNAVAILABLE":"خادم البث غير متاح.","SETTINGS_SERVER_STATUS_ONLINE":"متصل","SETTINGS_SERVER_STATUS_ERROR":"خطأ","SETTINGS_SERVER_CONFIGURE_TITLE":"تكوين عنوان لخادم البث","SETTINGS_SERVER_CONFIGURE_INPUT":"أدخل عنوان لخادم البث","SETTINGS_SERVER_CACHE_SIZE":"حجم التخزين المؤقت","SETTINGS_SERVER_TORRENT_PROFILE":"ملف التورنت التعريفي","SETTINGS_HTTPS_ENDPOINT":"نقطة نهاية دفق HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"استخدم دائمًا أحدث إصدار بيتا","SETTINGS_IMPORT_FB":"استيراد من فيسبوك","SETTINGS_IMPORT_DISK":"استيراد من القرص الصلب","SETTINGS_IMPORT_TRAKT":"استيراد من Trakt","SETTINGS_PAUSE_MINIMIZED":"وقف الفيديو عند تصغير النافذة","SETTINGS_HWDEC":"فك تسريع الأجهزة","SETTINGS_BACKGROUND":"تشغيل في الخلفية","SETTINGS_SUBSCRIBE_CALENDAR":"الأشتراك بالتقويم","SETTINGS_REQ_EXPORT":"طلب تصدير الداتا","SETTINGS_ACC_DELETE":"طلب حذف حسابك","SETTINGS_CHANGE_PASSWORD":"تغير كلمة السر","SETTINGS_TOS":"الشروط و الأحكام","SETTINGS_SUPPORT":"تواصل مع الدعم الفني","SETTING_LANGUAGE":"اللغة","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"تسجيل الخروج من Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"تسجيل الخروج من Trakt","SETTINGS_SCAN_FOR_REMOTE":"امسح رمز الاستجابة السريعة QR لفتح جهاز التحكم عن بعد","SETTINGS_DESKTOP_NOTIFICATIONS":"اشعارات سطح المكتب","SETTINGS_DATA_SAVER":"المحافظة على البيانات","SETTINGS_LANGUAGE_INTERFACE":"واجهة المستخدم","SETTINGS_LANGUAGE_SUBS":"الترجمة الافتراضية","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"اختيار مسار الصوت تلقائيا","SETTINGS_DEFAULT_AUDIO_TRACK":"مسار الصوت المبدئي","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"صوت محيطي","SETTINGS_ACCOUNT":"الحساب","SETTINGS_PLATFORM":"المنصة","SETTINGS_VERSION":"النسخة","SETTINGS_ABOUT":"حول","SETTINGS_MPV_WINDOW":"بدء المشغل في صفحة جديدة (متقدم)","SETTINGS_PLAY_IN_EXTERNAL":"تشغيل الفيديو دائماً باستخدام مشغل خارجي","SETTINGS_STORAGE_BUTTON":"مسح التخزين المحلي","SETTINGS_STORAGE_MODAL_TITLE":"هل انت متأكد؟","SETTINGS_STORAGE_MODAL_MESSAGE":"هذا سيقوم بمسح التخزين المحلي وتسجيل خروجك.","SETTINGS_HWDEC_PICKER":"اختر إعداد فك تسريع الأجهزة","SETTINGS_HW_AUTOMATIC":"تلقائي","SETTINGS_HW_DISABLED":"غير مفغل","SETTINGS_HW_ACCELERATED":"تسريع فك التشفير","SETTINGS_HW_FULL":"تسريع كامل","SETTINGS_HW_LEGACY":"قديم","SETTINGS_DISABLED":"معطل","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"إشعار اتصال الشبكة","SETTINGS_ANALYTICS":"السماح بالتحليلات","SETTINGS_REMOTE_URL":"رابط خارجي","SETTINGS_COPY_REMOTE_URL":"نسخ الرابط الخارجي","SETTINGS_REMOTE_URL_COPIED":"تم نسخ الرابط الخارجي إلى الحافظة","SETTINGS_SECTION_SUBTITLES":"الترجمات","SETTINGS_SECTION_AUDIO":"الصوت","SETTINGS_SECTION_CONTROLS":"التحكم","SETTINGS_SECTION_AUTO_PLAY":"التشغيل التلقائي","SETTINGS_SECTION_ADVANCED":"إعدادات متقدمة","SUBSPICKER_AUDIO":"الصوت","SUBSPICKER_SUBTITLES":"ملحق الترجمة","SUBSPICKER_BLACK_BACKGROUND":"استخدم لون اسود للخلفية","SUBSPICKER_VERTICAL_OFFSET":"المكان العمودي","SUBSPICKER_SIZE":"الحجم","SUBSPICKER_DELAY":"التاخير","SUBSPICKER_EMBEDDED_SUBS":"ترجمات مدمجة","MOBILE_PRIVACY_POLICY":"سياسة الخصوصية","MOBILE_CRASH_REPORTING":"تقرير الاخطاء","MOBILE_ZOOM_TO_FILL":"تكبير لتعبئة الشاشة","MOBILE_PASSTHROUGH":"إخراج الصوت الرقمي (العبور)","MOBILE_RUN_LOW_BATTERY":"تشغيل على بطارية منخفضة","MOBILE_RUN_FOREGROUND":"تشغيل كخدمة في الخلفية","MOBILE_PERFORMANCE":"الأداء والاستقرار","MOBILE_SERVER_ONLINE":"متصل","MOBILE_SERVER_OFFLINE":"غير متصل","MOBILE_QR_EXPIRES":"تنتهي صلاحية رمز الاستجابة السريعة في ","MOBILE_LOG_INTO":"قم بتسجيل الدخول إلى حساب Stremio الخاص بك ","MOBILE_SCAN_QR":"امسح رمز الاستجابة السريعة أعلاه أو انتقل إلى ","MOBILE_LINK_ACCOUNT":"ربط حساب","MOBILE_SPEEDPICKER_CANCEL":"إلغاء","MOBILE_SPEEDPICKER_LABEL":"اختيار سرعة التشغيل","MOBILE_EMPTY_LIBRARY":"المكتبة الخاصه بك فارغة","MOBILE_NO_ADDON_ACTIVE":"لا يوجد ملحق Stremio نشط لهذا النوع.","MOBILE_ORGANIZER_WARNING":"يوفر تطبيق Stremio Organizer وظائف محدودة. للحصول على قائمة التدفقات القابلة للتشغيل وتجربة Stremio الكاملة ، استخدم Stremio على سطح المكتب.","MOBILE_ADDON_LOADING":"قيد التحميل","MOBILE_ADDONS_LOADING":"الملحقات قيد التحميل","MOBILE_ADDON":"ملحق","MOBILE_CONFIGURE_ADDON":"تكوين الملحق الخاص بك","MOBILE_CONFIGURE_ADDON_LABEL":"تكوين الملحق","MOBILE_ORGANIZER_ADDONS_WARNING":"يوفر تطبيق Stremio Organizer مجموعة محدودة من الوظائف الإضافية. للحصول على تجربة Stremio الكاملة ، استخدم Stremio على سطح المكتب.","MOBILE_DISCONNECT":"إلغاء الاتصال","MOBILE_LOOKING_FOR_DEVICES":"البحث عن اجهزه...","MOBILE_CAST_TO":"بث الى","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"حذف الحساب","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"حذف الحساب ليس فوريًا بسبب الالتزامات القانونية. بعد طلب حذف حسابك، سيتعين عليك استخدام عنوان بريد إلكتروني مختلف أو ملف تعريف فيسبوك لإنشاء حساب جديد في Stremio في المستقبل.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"تأكيد حذف الحساب","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"تم إنشاء حسابك باستخدام فيسبوك. لحذف حسابك، يرجى استخدام بوابة المستخدم لدينا على www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"يرجى إدخال كلمة المرور الخاصة بك لتأكيد حذف الحساب.","MOBILE_DELETE_ACCOUNT_BUTTON":"حذف الحساب","NAVIGATION_ON":"تشغيل","NAVIGATION_OFF":"ايقاف","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"أوافق على تلقي رسائل تسويقية من Stremio","QUIT":"خروج","CONNECTED":"متصل","AUTHENTICATE":"المصادقة","AUTHENTICATING":"Authenticating...","CACHING":"تخزين مؤقت","SETTINGS_CACHING_DRIVE":"محرك التخزين المؤقت","ENABLE_LOCAL_FILES_ADDON":"تمكين الملحق المحلي للملفات (يتطلب إعادة التشغيل)","LOCAL_ADDON_NOT_ENABLED":"لم يتم تمكين الملحق المحلي. انقر هنا للذهاب إلى الإعدادات وتمكينه","ENABLE_REMOTE_HTTPS_CONN":"قم بتمكين اتصالات HTTPS البعيدة","TORRENT_PROFILE":"ملف التورنت التعريفي","DATA_CACHING":"تخزين مؤقت البيانات","MAGNET_PARSING":"معالجة رابط تورنيت","January":"كانون الثاني (يناير)","February":"شباط (فبراير)","March":"آذار (مارس)","April":"نيسان (ابريل)","May":"أيار (مايو)","June":"حزيران (يونيو)","July":"تموز (يوليو)","August":"آب (أغسطس)","September":"أيلول (سبتمبر)","October":"تشرين الأول (أكتوبر)","November":"تشرين الثاني (نوفمبر)","December":"كانون الأول (ديسمبر)","Monday":"الأثنين","Tuesday":"الثلاثاء","Wednesday":"الأربعاء","Thursday":"الخميس","Friday":"الجمعة","Saturday":"السبت","Sunday":"الاحد","Action":"حركة","Comedy":"كوميديا","War":"حرب","Family":"عائلة","Animation":"انيمي","Adventure":"مغامرة","Fantasy":"خيال","Crime":"جريمة","Mystery":"غموض","Romance":"رومنسي","Drama":"دراما","Horror":"رعب","Thriller":"القصة المثيرة","Sci-Fi":"خيال علمي","Music":"موسيقى","Biography":"سيرة شخصية","Documentary":"وثائقي","Sport":"رياضة","Musical":"موسيقي","Western":"افلام الغرب الامريكي","Film-Noir":"ابيض واسود","News":"اخبار","History":"تاريخ","Game-Show":"عرض اللعبة","Reality-TV":"تلفاز واقعي","Talk-Show":"برنامج حواري","Film & Entertainment":"فيلم وترفيه","Gaming":"العاب","From TV":"من التلفاز","Lifestyle":"أسلوب الحياة","Science & Education":"علوم وتعلم","Cooking & Health":"الطبخ و الصحة","Beauty & Fashion":"الجمال و الموضة","Sports":"الرياضات","News & Politics":"سياسة واخبار","How-to & DIY":"كيف يمكنك عملها بنفسك","Tech":"تقنية","Automotive":"السيارات","Causes & Non-Profits":"الأسباب وغير الربحية","Movies":"افلام","Uk Live Tv":"تلفاز مباشر المملكة المتحدة","Fashion":"الموضة","Business News Radio":"راديو اخبار الاعمال","Business Tv":"تلفاز اعمال","Cars & Auto":"سيارات و محركات","Comedy Radio":"راديو كوميديا","Lifestyle Radio":"اسلوب حياة راديو","News Tv":"تلفاز اخباري","Food And Wine":"طعام ونبيذ","Latino Tv":"تلفاز لاتيني","Shopping Tv":"تلفاز تسوق","Religion":"دين","Kids":"أطفال","Body & Soul":"الجسد و الروح","Education":"تعليم","Indian Tv":"تلفاز هندي","Extreme Sports":"رياضات عنيفة","Middle Eastern Tv":"تلفاز شرق متوسط ","Celebrity Tv":"تلفاز مشاهير","Science Tv":"تلفاز علمي","Bikini babe":"فاتنة بيكيني","Outdoors":"خارج المنزل","German Tv":"تلفاز الماني","French Tv":"تلفاز فرنسي","Italian Tv":"تلفاز ايطالي","Gamer Tv":"تلفاز للالعاب","Travel":"السفر","Asian Tv":"تلفاز اسيوي","Entertainment":"متعة المشاهدة","News Radio":"راديو اخبار","Music Radio":"راديو موسيقى","Language Learning":"تعليم اللغات","Science Radio":"راديو علمي","Tech Radio":"راديو للتقنية","Science & Technology Vod":"علوم وتقنية فيديوهات حسب الطلب","new video":"فيديو جديد","new episode":"حلقة جديدة","new movie":"فيلم جديد","recommended":"مقترح","we recommend":"قترح لك","offer of the day":"عرض اليوم","news":"اخبار","music video":"فيديو موسيقي","CTX_SHOW_HOTKEYS":"اضهار المفاتيح الساخنة","CTX_DISMISS_NOTIF":"اخفاء الاشعار","CTX_DISMISS_ALL":"اخفاء الجميع","CTX_SHARE":"مشاركة","CTX_COPY_SHARE_LINK":"نسخ رابط المشاركة","CTX_COPY_MAGNET_LINK":"نسخ رابط magnet","CTX_COPY_STREAM_LINK":"نسخ رابط البث","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"تحميل هذا الفيديو","CTX_DOWNLOAD_SUBS":"تحميل الترجمات","CTX_VIEW_ON_YOUTUBE":"المشاهدة على YouTube","CTX_SHOW":"عرض","CTX_PLAY":"تشغيل","CTX_PLAY_IN":"تشغيل في","CTX_PLAY_ON":"تشغيل على","CTX_WATCH_ON":"مشاهدة على","CTX_WATCH":"مشاهدة","CTX_WATCHED":"تمت المشاهدة","CTX_WATCH_BEGINNING":"مشاهدة من البداية","CTX_WATCH_MOBILE":"مشاهدة على الجهاز المحمول","CTX_REWIND":"اعادة التشغيل من البداية","CTX_MARK_WATCHED":"تعليمه ك تمت مشاهدته","CTX_MARK_NON_WATCHED":"تعليمه غير مشاهد","CTX_MARK_UNWATCHED":"التعليم على أنه لم تتم مشاهدته","CTX_MARK_REST":"ضع علامة على أنها شاهدت","CTX_UNMARK_REST":"ضع علامة على أنها شاهدت","CTX_RECEIVE_NEW_NOTIF":"تلقى اشعارات جديد","CTX_ENABLE_NEW_NOTIF":"تمكين الإشعارات","CTX_DISABLE_NEW_NOTIF":"تعطيل الإشعارات","CTX_REMOVE_CACHE":"حذف من التخزين المؤقت","CTX_REMOVE_CACHE_EP":"إزالة الحلقة من ذاكرة التخزين المؤقت","CTX_OPEN_CONTAINING":"افتح محتوى المجلد","CTX_REMOVE":"ازالة من المكتبة","CTX_AVAILABLE_OFFLINE":"متوفر بدون اتصال","CTX_PAUSED":"ايقاف","CTX_ALWAYS_ON_TOP":"دائما فوق التطبيقات الاخرى","CTX_FULLSCREEN":"شاشة كاملة","CTX_WRONG_SUBS":"ترجمة خاطئة ؟","CTX_REPORT_ISSUES":"تبليغ عن مشكلة","CTX_COPY":"نسخ","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"لصق","CTX_CLEAR":"مسح","CTX_CLEAR_RECENT_SEARCHES":"مسح اخر عمليات البحث","HELLO_THERE":"مرحبا بك","HOPE_YOU_ENJOY":"نأمل أن تستمتع بـ Stremio وهو أحد تطبيقاتك المفضلة بالفعل!","WHO_ARE_WE":"من نحن؟ نحن الفريق الذي يقف وراء ذلك - رجلان يعملان بجد كل يوم على مدار السنوات الثلاث الماضية لجعل هذا المنتج أفضل وأفضل.","SUPPORT_US":"إذا كنت تستمتع باستخدام Stremio ، إذا كان Stremio مفيدًا بالنسبة لك - انشر الخبر!","SPREAD_THE_WORD":"شارك مع أصدقائك الآن ، انشر الخبر حول Stremio","MORE_PEOPLE":"كلما زاد عدد الأشخاص الذين يستخدمون Stremio ، كان ذلك أفضل!","SEND_A_LINK":"أو إرسال رابط إلى موقعنا","TIP_LOCALFILES":"نصيحة: يمكنك سحب وإسقاط ملفات الفيديو المحلية في Stremio","ADDON_MY":"أضافاتي","ADDON_COMMUNITY":"إضافات المجتمع","ADDON_OFFICIAL":"أضافات رسمية","ADDON_REPOS":"مجموعة أضافات","ADDON_SEARCH":"الباحث عن أضافات","ADDON_INSTALL":"تثبيت","ADDON_CONFIGURE":"أعداد","ADDON_UNINSTALL":"ألغاء التثبيت","ADDON_UPGRADE":"ترقية","ADDON_INSTALLED":"مثبتة","ADDON_INSTALLED_MSG":"الاضافة مثبتة","ADDON_UPGRADED_MSG":"الاضافة تمت ترقيتها","ADDON_UNKNOWN":"غير معروف","ADDON_ERR":"حدث خطا اثناء تثبيت الأضافة","ADDON_DISCONNECTED":"غير متصل","ADDON_APP_MISSING":"التطبيق لهذا المصدر غير مثبت. هل تريد تثبيته الآن؟","ADDON_APP_INSTALL":"تثبيت الأن","ADDON_PAGE":"صفحة الأضافة","ADDON_TOP_CONTENT":"أفضل ما في الأضافة","ADDON_PROVIDES":"هذه الاضافة س تقدم لك :","ADDON_WATCH":"شاهد #{types} الان!","ADDON_WATCH_FREE":"شاهد #{types} مجانا الان !","ADDON_ADDON":"أضافة","ADDON_SUPPORTED_TYPES":"الانواع المدعومة","ADDON_SUPPORTED_CATALOGS":"الفهارس المدعومة","ADDON_PROVIDES_DISCOVER":"المزيد #{types} في الاكتشاف","ADDON_PROVIDES_STREAMS":"شاهد #{types}","ADDON_PROVIDES_STREAMS_FREE":"شاهد #{types} مجانا","ADDON_PROVIDES_SUBTITLES":"ترجمات ل #{types}","ADDON_CANTDETECT":"لم نتمكن من اكتشاف Stremio قيد التشغيل ، لذلك لم نتمكن من اكتشاف الوظائف الإضافية التي قمت بتثبيتها.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"لم يتم العثور على معلومات ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"حدث خطا اثناء الحصول على معلومات خاصة بهذا","ERR_CANT_PARSE_MAGNET":"غير ممكن معالجة رابط التورنيت","ERR_NO_MAGNET_INFOHASH":"معلومات غير صالحة من الرابط","ERR_NO_FILE_PATH":"تعذر إرسال الطلب بدون مسار للملف","ERR_NO_TORRENT":"لم يتم إرجاع أي تورنيت","ERR_NO_SUPPORTERD_FILES":"لم يتم العثور على ملفات مدعومة","ERR_OPENING_FILES":"تعذر فتح الملفات الخارجية","ERR_INVALID_LINK":"رابط غير صالح","ERR_REGISTERED_ONLY":"هذا الخيار متاح للمستخدمين المسجلين فقط.","ERR_CLIPBOARD":"تعذر التشغيل من الحافظة","ERR_CLIPBOARD_READ":"لايمكن قراءة الحافظة على هذه المنصة","ERR_CLIPBOARD_GENERIC":"لم يتم العثور على عنوان URL قابل للتشغيل في الحافظة. يرجى نسخ عنوان URL (على سبيل المثال ، رابط مغناطيسي) إلى مقطع فيديو.","BOARD_CONTINUE_WATCHING":"متابعة المشاهدة","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"أفلام منتقاة خصيصًا لك. <br /> هذا الفيلم هو نموذج توصية.","BOARD_EXPLANATION_EPISODES":"تأتي هنا حلقات جديدة من مسلسلاتك المفضلة. <br /> أضف المسلسلات التي تتابعها إلى مكتبتك.","BOARD_EXPLANATION_VIDEOS":"تأتي هنا حلقات جديدة من قنواتك المفضلة. <br /> أضف قنوات YouTube التي تتابعها إلى مكتبتك.","WEBSITE_ENJOYED_BY":"يتمتع به أكثر من 30 مليون مستخدم حول العالم","WEBSITE_STREAMING_ENHANCED":"تحسين البث","WEBSITE_STREAMING_ENHANCED_DETAILS":"يقدم Stremio تجربة ترفيهية آمنة وحديثة وسلسة. مع واجهته السهلة الاستخدام ومكتبة المحتوى المتنوعة، بما في ذلك دعم 4K HDR، يمكن للمستخدمين الاستمتاع بأفلامهم وبرامجهم المفضلة عبر جميع أجهزتهم. ومع التزامه بالأمان، يعد Stremio الخيار الأمثل لتجربة بث عالية الجودة خالية من القلق.","WEBSITE_AVAILABLE_ON":"متاح على","WEBSITE_WATCH_AND_ENJOY":"شاهد واستمتع.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"يجعل Stremio الأمر سهلًا","WEBSITE_ALL_FEATURES":"جميع الميزات","WEBSITE_EASY_TO_USE":"سهل الاستخدام","WEBSITE_EASY_TO_USE_DETAILS":"تم تصميم Stremio ليكون سهل الاستخدام وودود للمستخدم. مع واجهته النظيفة والبديهية، يمكنك التنقل بسهولة والعثور على المحتوى الذي ترغب في مشاهدته.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"سلس عبر الأجهزة","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"متاح على مجموعة واسعة من المنصات (بما في ذلك Windows و Mac و Linux و Android وأكثر)، سيقوم Stremio بتتبع تقدمك عبر جميع أجهزتك. فقط قم بتسجيل الدخول واستمر في المشاهدة دون الحاجة لإعداد التطبيق مرة أخرى على كل جهاز جديد.","WEBSITE_ALL_DOWNLOADS":"جميع التنزيلات","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"دعم الفيديو عالي الدقة","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"يتيح لك مشغل الفيديو المدمج دعم معظم تنسيقات الفيديو، بما في ذلك محتوى 4K HDR، للاستمتاع بأعلى جودة متاحة.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"مكتبة محتوى متنوعة","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"يتكامل Stremio مع عدد كبير من المصادر الشهيرة للفيديو، مثل Netflix و Amazon Prime Video و Hulu و YouTube وغيرهم.","WEBSITE_CREATE_A_FREE_ACCOUNT":"إنشاء حساب مجاني","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"تجربة مشاهدة مخصصة","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"يتيح لك Stremio تخصيص شكل ومظهر واجهته عن طريق تغيير السمة، إضافة أو إزالة الإضافات، والمزيد.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"دعم الترجمة متعددة اللغات","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"يمكنك الآن الاستمتاع بكل المحتوى المفضل لديك بلغتك المفضلة حيث يدعم Stremio الترجمات بجميع اللغات.","WEBSITE_ALL_STREMIO_FEATURES":"جميع ميزات Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"جرب Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"على جهاز التلفزيون الآن","WEBSITE_YOU_CAN_NOW_WATCH":"يمكنك الآن مشاهدة جميع برامجك المفضلة على أجهزة Android TV الخاصة بك. تطبيق Stremio TV يتيح لك الاستمتاع بليلة فيلم بسهولة.","WEBSITE_YOU_CAN_NOW_WATCH_2":"يمكنك الآن مشاهدة جميع برامجك المفضلة على جهاز التلفزيون الذكي أو Android TV. تطبيقات Stremio TV تتيح لك الاستمتاع بليلة فيلم بسهولة.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio للتلفزيون الذكي","WEBSITE_PLAY_STORE_REVIEW":"ربما أفضل وأبزر تطبيق يجب أن يكون على جهازك. إنه واحد من التطبيقات التي أستخدمها يوميًا، خاصة على جهاز Android TV الخاص بي لسنوات عديدة. مصمم بشكل جيد مع مجتمع قوي يقدم وظائف مفيدة. عمل رائع. استمروا في العمل الجيد.","WEBSITE_REVIEWS":"التعليقات","WEBSITE_GET_STREMIO_FOR_FREE":"احصل على Stremio مجانًا","WEBSITE_GET_STREMIO_NOW":"احصل على Stremio الآن","WEBSITE_STREMIO_FEATURES":"ميزات Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"بث مثل المحترفين مع ميزات Stremio المتقدمة واستمتع بالوصول السلس إلى جميع الوسائط المفضلة لديك","WEBSITE_DISCOVER_MORE":"اكتشف المزيد.","WEBSITE_DISCOVER_MORE_DETAILS":"لن تنفد الأشياء التي يمكنك مشاهدتها","WEBSITE_COMMUNITY_DRIVEN":"مدعوم من المجتمع","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"يتمتع Stremio بمجتمع كبير ونشط من المستخدمين الذين يساهمون في تطوير البرنامج عن طريق إنشاء ومشاركة الإضافات.","WEBSITE_GET_INVOLVED":"شارك","WEBSITE_NEW_THEATER_EXPERIENCE":"تجربة سينمائية جديدة","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"تطبيق Stremio الجديد المخصص للتلفزيون يتيح لك الاستمتاع بليلة فيلم على أجهزة Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"تطبيقات Stremio الجديدة المخصصة للتلفزيون تتيح لك الاستمتاع بليلة فيلم على أجهزة التلفزيون الذكية أو Android TV.","WEBSITE_FREE_AND_SECURE":"مجاني وآمن","WEBSITE_STREAMING":"البث","WEBSITE_FREE_AND_SECURE_DETAILS":"يقدم Stremio أمانًا وخصوصية لا مثيل لهما للمستخدمين. مع ميزته الفريدة في تشغيل الإضافات عن بُعد، يوفر Stremio طريقة أكثر أمانًا لبث المحتوى المفضل مقارنة بالمنصات الأخرى. أمنك وخصوصيتك هما أولويتنا القصوى، ويضمن النظام الأساسي حماية جميع بياناتك.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"وداعًا للقلق بشأن الأمان والخصوصية ومرحبًا بعالم من الترفيه اللامتناهي مع Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"المعلومات مقدمة من","WEBSITE_CONTRIBUTE_DESC":"للمشروع وساعدنا في جعل Stremio أفضل","WEBSITE_COMMUNITY_DESC":"نعتقد أن أفضل طريقة لإنشاء تجربة بث رائعة حقًا هي من خلال إشراك مجتمعنا في العملية. سواء كنت مبرمجًا أو فنانًا أو مجرد معجب - يمكنك مساعدة Stremio على النمو.","WEBSITE_COMMUNITY_DESC_2":"انضم إلينا اليوم وكن جزءًا من مجتمع Stremio واستمر في تشكيل مستقبل البث.","WEBSITE_WAYS_TO_GET_INVOLVED":"طرق المشاركة","WEBSITE_IN_THE_STREMIO_COMMUNITY":"في مجتمع Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"شارك أفكارك","WEBSITE_REPORT_BUGS":"أبلغ عن أخطاء","WEBSITE_SUGGEST_FEATURES":"اقترح ميزات","WEBSITE_AND_PROVIDE_FEEDBACK":"وقدم ملاحظاتك عبر قنواتنا على وسائل التواصل الاجتماعي.","WEBSITE_BETA_TESTING_PROGRAM":"برنامج اختبار النسخة التجريبية","WEBSITE_BETA_TESTING_PROGRAM_DESC":"شارك في برنامج اختبار النسخة التجريبية لدينا (نرسل الدعوات بانتظام) في مجتمع Stremio.","WEBSITE_JOIN_NOW":"انضم الآن!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"مجتمعات Stremio الرسمية","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"مجتمعات Stremio غير الرسمية","WEBSITE_BECOME":"كن","WEBSITE_A_VOLUNTEER_TRANSLATOR":"مترجمًا تطوعيًا","WEBSITE_ARE_YOU_A_DEVELOPER":"هل أنت مبرمج؟","WEBSITE_CONTRIBUTE_CODE":"يمكنك المساهمة في كتابة الشيفرة للمشاريع مفتوحة المصدر لدينا. لدينا عدة مشاريع على GitHub تبحث عن مساهمين. إذا كنت مهتمًا بالمساعدة، تحقق منها:","WEBSITE_STREMIO_ON_GITHUB":"Stremio على GitHub","WEBSITE_CREATE_ADDON_DESC":"أنشئ إضافة لتعزيز وظائف Stremio (لدينا واجهة برمجة تطبيقات سهلة الاستخدام):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"نقدم أيضًا فرصة للانضمام إلينا كمطور متدرب لكي ننمو معًا.","WEBSITE_APPLY_AS_AN_INTERN":"تقدم كمتدرب","WEBSITE_CALLING_ALL_ARTISTS":"نداء لجميع الفنانين!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"عرض إبداعك وحبك لـ Stremio من خلال رفع فنك المفضل إلى معارضنا عبر الإنترنت. سواء كان رسمًا، أو لوحة، أو تصميمًا رقميًا، نريد أن نرى رؤيتك الفريدة لعلامة Stremio. انضم إلى مجتمعنا من عشاق الفن وشارك عملك مع معجبي Stremio حول العالم.","WEBSITE_STREMIO_FANART_GALLERY":"معرض فن معجبين Stremio","WEBSITE_INTERN_DESIGNER":"كن جزءًا من فريقنا وحقق إبداعك مع فرص التدريب المثيرة التي نقدمها.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"مشروع الأفلام في المجال العام","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"في Stremio، نحن ملتزمون بالحفاظ على تاريخ السينما والتلفزيون من خلال تحديد الفيديوهات في المجال العام واليتيمة. من خلال العمل معًا مع مجتمعنا، يمكننا ضمان أن تكون هذه الأعمال الفنية الكلاسيكية متاحة للجميع ومحمية للأجيال القادمة للاستمتاع بها.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"لا تتردد في الاتصال بنا إذا كنت ترغب في المشاركة في هذا المشروع.","WEBSITE_JOIN_THE_PROJECT":"انضم إلى المشروع","WEBSITE_BE_PART_OF_OUR_MISSION":"كن جزءًا من مهمتنا","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"هل ترغب في الانضمام إلى فريق Stremio؟ نحن نقدم وظائف عن بُعد بالكامل للمهنيين المتحمسين. تحقق من الوظائف الشاغرة لدينا.","WEBSITE_OPEN_POSITIONS":"الوظائف الشاغرة","WEBSITE_DESCRIPTION":"الوصف","WEBSITE_LEARN_MORE":"تعرف أكثر","WEBSITE_COMPANY":"الشركة","WEBSITE_CONTACTS":"جهات الاتصال","WEBSITE_NEED_HELP":"تحتاج مساعدة؟","WEBSITE_STREMIO_WEB_ON_IOS":"دليل Stremio Web على iOS","WEBSITE_LINK_ART_V2":"معرض فن المعجبين","WEBSITE_PARTNERS":"الشركاء","WEBSITE_SLOGAN_WATCH":"شاهد على الفور","WEBSITE_SLOGAN_ALL":"كل محتوى الفيديو الذي تستمتع به في مكان واحد","WEBSITE_SLOGAN_NEW":"كل ما يمكنك مشاهدته","WEBSITE_SLOGAN_NEW_NEW":"حرية البث","WEBSITE_WATCH_FROM":"مشاهدة من","WEBSITE_DOWNLOAD":"التحميل الان","WEBSITE_DOWNLOAD_FOR":"تحميل الان من ","WEBSITE_IS_DESKTOP":"Stremio هو تطبيق سطح مكتب ، افتح هذه الصفحة على جهاز الكمبيوتر الخاص بك وقم بتنزيله","WEBSITE_DESKTOP_DEMO_VID":"تجربة سطح المكتب","WEBSITE_PAGE_HOME":"الرئيسية","WEBSITE_PAGE_FEATURES":"المميزات","WEBSITE_PAGE_ADDONS":"الأضافات","WEBSITE_PAGE_TECH":"تقنية","WEBSITE_PAGE_CREATE_ADDON":"أنشاء أضافة","WEBSITE_PAGE_CONTACTS":"جهات الاتصال","WEBSITE_PAGE_BLOG":"المدونة","WEBSITE_RESET_PASSWORD_MESSAGE":"يرجى إدخال كلمة المرور الجديدة المرغوبة أدناه.","WEBSITE_RESET_PASSWORD_WARNING":"هل أنت متأكد أنك تريد إعادة تعيين كلمة المرور لـ ${1}؟","WEBSITE_TYPE_movie":"أفلام","WEBSITE_TYPE_series_PL":"مسلسلات","WEBSITE_TYPE_tv":"تلفاز مباشر","WEBSITE_TYPE_channel":"قنوات","WEBSITE_STREMIO_WHAT_IS":"Stremio هو تطبيق يساعدك على تنظيم مقاطع الفيديو المفضلة لديك والأفلام والمسلسلات التلفزيونية والقنوات التلفزيونية ومشاهدتها على الفور.","WEBSITE_FEATURES_WATCH":"شاهد على الفور بدقة عالية","WEBSITE_FEATURES_WATCH_DETAIL":"انقر لتشغيل الأفلام والبرامج التلفزيونية ومقاطع الفيديو والقنوات التلفزيونية المفضلة لديك.","WEBSITE_FEATURES_SUBS":"ترجمة تلقائية","WEBSITE_FEATURES_SUBS_DETAIL":"يختار Stremio تلقائيًا ترجمات متزامنة للغتك.","WEBSITE_FEATURES_SUBS_LABEL":"حركتك ،يارئيس.","WEBSITE_FEATURES_CAST":"تشغيل على التلفزيون والأجهزة المحمولة","WEBSITE_FEATURES_CAST_DETAIL":"البث إلى AppleTV و Chromecast والتلفزيون الذكي (DLNA / UPnP) والأجهزة المحمولة.","WEBSITE_LIB":"استمتع بمكتبة شخصية متزامنة على جميع أجهزتك","WEBSITE_LIB_COLLECT":"جمع من Stremio","WEBSITE_LIB_IMPORT":"استيراد من فيسبوك","WEBSITE_LIB_LOCAL":"اضافة من القرص الصلب","WEBSITE_BOARD":"لوحة التحكم - مكانك الوحيد للإشعارات والتوصيات","WEBSITE_BOARD_RECOMMEND":"برامج تلفاز مقترحة لك","WEBSITE_BOARD_TRENDING":"فيلم شائع","WEBSITE_BOARD_NEW":"فيديو جديد","WEBSITE_BOARD_EPISODE":"حلقة جديدة","WEBSITE_BOARD_1":"هل تبحث عن شيء ممتع لمشاهدته؟ احصل على توصيات بناء على ذوقك!","WEBSITE_BOARD_2":"احصل على إشعار عند عرض حلقة جديدة من برنامجك التلفزيوني المفضل أو قناة YouTube!","WEBSITE_BOARD_YOUTUBE":"مقاطع فيديو جديدة لقنوات يوتيوب","WEBSITE_BOARD_EPISODES":"حلقات جديدة من مسلسلات تتابعها","WEBSITE_ADDONS":"أضافات المحتوى","WEBSITE_TECH_DETAIL":"نحن نحب التكنولوجيا ، ونحب العلم المجنون! تستخدم Stremio تقنيات مفتوحة المصدر التالية:","WEBSITE_TECH_WCJS":"يسمح WebChimera.js لـ Stremio بتشغيل أي تنسيق فيديو بأداء جيد.","WEBSITE_TECH_WCJS_EXTRA":"نحن مساهمون أساسيون في المشروع","WEBSITE_TECH_ELECTRON":"توفر Electron منصة مبتكرة لبناء Stremio معها.","WEBSITE_TECH_ELECTRON_EXTRA":"نحن مساهمون في المشروع","WEBSITE_TECH_LINVODB":"تقنية قواعد البيانات التي تضمن تنظيم بياناتك وإتاحتها في أي مكان تقوم بتسجيل الدخول إليه.","WEBSITE_TECH_LINVODB_EXTRA":"التكنولوجيا الداخلية","WEBSITE_CREATE_ADDON":"انشئ اضافتك الخاصة","WEBSITE_CREATE_ADDON_DETAIL":"هل لديك خدمة تقدم محتوى فيديو؟ سنساعدك على الاستفادة من ميزات Stremio من خلال إنشاء الاضافة الخاصة بك.","WEBSITE_CREATE_ADDON_BENEFITS":"فوائد إنشاء أضافة لـ Stremio","WEBSITE_P2P_BEAUTY":"جمال البث من نظير إلى نظير","WEBSITE_P2P_1":"فيديو عالي الدقة / 4K موثوق وميسور التكلفة عند الطلب أو البث المباشر","WEBSITE_P2P_2":"توفر منصة التوزيع تجربة مستخدم رائعة","WEBSITE_P2P_3":"سنقوم بإنشاء اضافة تلبي احتياجاتك بالضبط","WEBSITE_P2P_CONTACT":"مهتم؟ مرحبًا بك في <a href=\'mailto:office@stremio.com\'> الاتصال بنا </a>.","WEBSITE_P2P_CONTACT_EXTRA":"سنكون سعداء لمساعدتك على دمج المحتوى الخاص بك مع Stremio!","WEBSITE_P2P":"من حين لآخر ، تأتي تقنية تغير اسم اللعبة. لقد استثمرنا الكثير من الوقت والجهد في بناء محرك دفق الفيديو من نظير إلى نظير (P2P) الذي يوفر أداءً رائعًا وتعدد الاستخدامات للتكيف مع أي حالة استخدام. \\n اتصل بنا للحصول على فيديو P2P ممكّن بواسطة DRM عند الطلب أو البث المباشر.","WEBSITE_THOUGHTS":"الأفكار التي نشاركها:","WEBSITE_SPREAD":"انشر الخبر حول Stremio:","WEBSITE_CONTACT":"اتصل بنا ، يسعدنا أن نسمع منك!","WEBSITE_OPENSOURCE":"لمشاريعنا مفتوحة المصدر ، انتقل إلى","WEBSITE_BITCOIN":"تبرع بعملة البيتكوين:","WEBSITE_FAQ":"أسئلة مكررة","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"أسئلة","WEBSITE_TOS":"تعليمات الاستخدام","WEBSITE_LEGAL":"قانوني","WEBSITE_PAGE_ABOUT":"حول","WEBSITE_PAGE_BECOME_PARTNER":"كن شريكا معنا","WEBSITE_ALL_YOU_CAN_WATCH":"حرية المشاهدة \\n كل ما تريد.","WEBSITE_FREEDOM_TO_STREAM":"الحرية للبث","WEBSITE_WHAT_IS_STREMIO":"ما هو Stremio ?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio هو مركز شامل لتجميع محتوى الفيديو. اكتشف ، نظم ، وشاهد الفيديو من جميع أنواع المصادر على أي جهاز تملكه.","WEBSITE_WHAT_IS_STREMIO_P2":"الأفلام والبرامج التلفزيونية والمسلسلات والتلفزيون المباشر أو قنوات الويب مثل YouTube و Twitch.tv - يمكنك العثور على كل هذا على Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio هو مركز وسائط حديث يمثل حلاً شاملاً لترفيه الفيديو الخاص بك. يمكنك اكتشاف محتوى الفيديو ومشاهدته وتنظيمه من الوظائف الإضافية سهلة التثبيت.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"الأفلام والبرامج التلفزيونية والتلفزيون المباشر أو قنوات الويب - ابحث عن كل هذا على Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"استمتع على جميع أجهزة الوسائط الخاصة بك","WEBSITE_DEVICES_COLLECT":"جمع من Stremio","WEBSITE_DEVICES_IMPORT_FB":"استيراد من فيسبوك","WEBSITE_DEVICES_LOCAL":"اضافة من القرص الصلب","WEBSITE_JOIN_THE_PARTY_NOW":"انضم إلى الحفلة الآن","WEBSITE_DEVICES_ALL":"سهل الاستخدام على جميع أجهزتك؛","WEBSITE_EXTENDABLE_CATALOG":"مجموعة كبيرة من الفيديوهات يمكنك توسعتها ايضا","WEBSITE_ORGANIZE_YOUR_MEDIA":"ميزات رائعة لتنظيم الوسائط الخاصة بك ؛","WEBSITE_AS_SEEN_ON":"كما شوهد على","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"معلومات عنا","WEBSITE_LINK_TECHNOLOGY":"التقنية","WEBSITE_LINK_APPS":"التطبيقات","WEBSITE_LINK_DOWNLOADS":"تنزيل","WEBSITE_MORE":"المزيد","WEBSITE_LINK_ADDONS":"الأضافات","WEBSITE_LINK_ADDON_SDK":"حزمة مساعدة لأنشاء أضافات","WEBSITE_LINK_CONTRIBUTE":"ساهم معنا","WEBSITE_LINK_COMMUNITY":"المجتمع","WEBSITE_LINK_BLOG":"المدونة","WEBSITE_MORE_MORE":"... و المزيد","WEBSITE_LINK_HELP":"مركز المساعدة","WEBSITE_LINK_CONTACTS":"استفسارات الأعمال","WEBSITE_LINK_TOS":"البنود و الشروط","WEBSITE_LINK_PRAVACY":"سياسة الخصوصية","WEBSITE_SUBSCRIBE":"اشتراك","WEBSITE_NEWSLETTER":"انضم إلى النشرة الإخبارية لدينا لأشياء مذهلة","WEBSITE_PLACEHOLDER_EMAIL":"بريدك الالكتروني","WEBSITE_COMMUNITY":"المجتمع","WEBSITE_LINK_PRAVACY_LEGAL":"الخصوصية والقانونية","WEBSITE_WHY":"لماذا نقوم بذلك","WEBSITE_WHY_P1":"في Stremio ، نأتي إلى العمل كل يوم لأننا نريد حل مشكلة مهمة لصناعة الفيديو عند الطلب. يتم نشر الكثير من المحتوى الجديد كل دقيقة بحيث يكاد يكون من المستحيل العثور على ما تريده.","WEBSITE_WHY_P2":"نحن نساعد الأشخاص على التنقل في هذا العالم الضخم من الترفيه بالفيديو واكتشاف محتوى جديد للاستمتاع به. تجمع تطبيقاتنا بين الأفلام والمسلسلات والبث التلفزيوني المباشر وقنوات الويب والمزيد. نحن ملتزمون بجعل من السهل جدًا على المستخدمين العثور على العناوين والمذيعين الذين يحبونهم.","WEBSITE_WHY_P3":"يمكنك استخدام خدمتنا على أي جهاز وفي أي وقت ، مما يجعل Stremio مركز الترفيه بالفيديو الوحيد الذي ستحتاج إليه على الإطلاق.","WEBSITE_TEAM":"الفريق","WEBSITE_TEAM_P":"فريق Stremio صغير ولكنه قوي: بين العشرة منا ، نقوم بالبرمجة بلغات X ، ونتشارك الخبرات في تطوير البرمجيات ، وتصميم UI و UX ، والتسويق والإعلان ، والأعمال التجارية والشركات الناشئة.","WEBSITE_FEATURES":"المميزات","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"اكتشف محتوى جديدًا بسهولة","WEBSITE_FEATURES_DISCOVER_P":"اكتشف بسهولة الأفلام والبرامج التلفزيونية والمسلسلات والقنوات الجديدة لمشاهدتها. تصفح حسب الفئة أو النوع أو التصنيف أو الحداثة أو ما إلى ذلك ، أو ببساطة اكتب اسمًا للبحث عنه. يجعل Stremio العثور على محتوى فيديو جديد بمثابة قطعة من الكعكة.","WEBSITE_FEATURES_ALL_CONTENT":"كل محتوى الفيديو الخاص بك على شاشة واحدة","WEBSITE_FEATURES_ALL_CONTENT_P1":"تعرف على الأفلام أو المسلسلات أو مقاطع الفيديو التي لم تنته واستمر في مشاهدتها ؛ الحصول على إشعارات بشأن الحلقات والإصدارات الجديدة ؛ وتصفح التوصيات التي ستحصل عليها بناءً على عادات المشاهدة لديك.","WEBSITE_FEATURES_LIBRARY":"تنظيم مكتبة الفيديو الخاصة بك","WEBSITE_FEATURES_LIBRARY_P1":"أضف أي عنوان إلى مكتبة Stremio الخاصة بك بنقرة واحدة وابحث عن طريقك حول المحتوى الخاص بك ، مرتبة بدقة حسب النوع أو الحداثة أو الترتيب الأبجدي.","WEBSITE_FEATURES_CALENDAR":"تتبع كل ما تشاهده","WEBSITE_FEATURES_CALENDAR_P1":"احصل على تصور تقويم لجميع الأفلام والمسلسلات التي تضيفها إلى مكتبتك. قم بتصدير تقويم Stremio الخاص بك وقم بمزامنته حتى تعرف دائمًا موعد حلقة جديدة أو عرض أول.","WEBSITE_FEATURES_BIG_SCREEN":"استمتع بمحتوى الفيديو الخاص بك على شاشة أكبر","WEBSITE_FEATURES_BIG_SCREEN_P1":"قم بإرسال كل ما تشاهده إلى جهاز آخر - سواء كان هاتفًا أو جهازًا لوحيًا أو تلفزيونًا بنقرة واحدة.","WEBSITE_FEATURES_SOURCES":"شاهد الفيديو من عدة مصادر مختلفة","WEBSITE_FEATURES_SOURCES_P":"قم بتثبيت الوظائف الإضافية الرسمية والمجتمعية للاستمتاع بمقاطع الفيديو التي يتم الحصول عليها من العديد من المزودين المختلفين - كل ذلك في تطبيق واحد أنيق وسهل الاستخدام.","WEBSITE_CREATE_AN_ADDON":"أنشاء أضافة","WEBSITE_FEATURES_SYNC":"قم بمزامنة مكتبتك عبر أجهزة مختلفة واستأنف التشغيل","WEBSITE_FEATURES_SYNC_P1":"قم بتسجيل الدخول بحسابك عبر جميع أجهزتك واستمتع بمكتبتك ووظائفك الإضافية والتشغيل والتقويم المتزامن.","WEBSITE_FEATURES_EXTENDABLE":"كتالوج الفيديو القابل للتوسيع من خلال الإضافات","WEBSITE_FEATURES_EXTENDABLE_P1":"يوفر كتالوج Stremio الملحق عددًا من الوظائف الإضافية لتثبيت ومشاهدة مجموعة متنوعة من محتوى الفيديو. يتضمن ذلك الأفلام والعروض والتلفزيون المباشر والرياضة والأخبار والبودكاست وقنوات الويب وألعاب الفيديو والمزيد.","WEBSITE_FEATURES_AUTO_SUBS":"ترجمة تلقائية","WEBSITE_FEATURES_AUTO_SUBS_P1":"من خلال إضافات الترجمة لدينا ، ستحصل تلقائيًا على خيارات محددة للغتك المفضلة.","WEBSITE_FEATURES_CHROMECAST":"الإرسال إلى Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"استمتع بمحتوى الفيديو الخاص بك على شاشة أكبر أو قم فقط بإرسال كل ما تشاهده إلى جهاز آخر.","WEBSITE_FEATURES_KEEP_TRACK":"تتبع البرامج التلفزيونية وقنوات الويب المفضلة لديك","WEBSITE_FEATURES_KEEP_TRACK_P1":"احصل على تصور للتقويم وإشعارات لحلقات جديدة من مسلسلاتك وقنوات الويب المفضلة لديك.","WEBSITE_FEATURES_POWER_USER":"ميزات المستخدم القوي","WEBSITE_FEATURES_POWER_USER_P1":"التشغيل على مشغل خارجي","WEBSITE_FEATURES_POWER_USER_P2":"التشغيل من رابط تورنيت","WEBSITE_FEATURES_POWER_USER_P3":"الاستيراد إلى مكتبتك من الإعجابات على Facebook أو القرص المحلي","WEBSITE_ADD_ONS":"الأضافات","WEBSITE_ADD_ONS_P1":"يتم الحصول على كل محتوى الفيديو الذي يوفره Stremio من خلال نظام إضافي - لم يتم تضمين أي محتوى أو مزود محتوى في التطبيق.","WEBSITE_ADD_ONS_P2":"هناك مجموعتان من الاضافات المتاحة: الاضافات الرسمية واضافات المجتمع.","WEBSITE_ADD_ONS_P3":"يتم تطوير الاضافات الرسمية واستضافتها بواسطة Stremio ، بينما يتم إنشاء الإضافات المجتمعية من قبل أعضاء مجتمعنا ، والذين يستضيفونها أيضًا.","WEBSITE_ADDONS_OFFICIAL":"الاضافات الرسمية","WEBSITE_ADDONS_WATCHUB":"قم ببث أفلامك ومسلسلاتك وعروضك المفضلة من مزودين مثل iTunes و Hulu و Amazon وغيرها من خدمات المملكة المتحدة / الولايات المتحدة.","WEBSITE_ADDONS_YOUTUBE":"شاهد قنوات YouTube المفضلة لديك بدون إعلانات واحصل على إشعارات بالتحميلات الجديدة من المساهمين الذين تتابعهم.","WEBSITE_ADDONS_FILMON":"شاهد البث التلفزيوني المباشر والأفلام والتلفزيون الاجتماعي مجانًا. 600 قناة تلفزيونية و 45000 فيلم مجاني ووثائقي وغير ذلك.","WEBSITE_ADDONS_OPENSUBTITLES":"ترجمات الأفلام والتلفزيون بلغات متعددة ، يتم تحميل آلاف الترجمات المترجمة كل يوم.","WEBSITE_ADDONS_COMMUNITY":"أضافات المجتمع","WEBSITE_ADDONS_FILMON_VOD":"شاهد الفيديو عند الطلب من Filmon.tv","WEBSITE_ADDONS_TWICH":"شاهد البث المباشر من Twitch.tv - منصة بث فيديو لصناعة الرياضة الإلكترونية.","WEBSITE_ADDONS_VODO":"مشاهدة الافلام المستقلة تماما مجانا.","WEBSITE_ADDONS_NETFLIX":"شاهد أفلام Netflix ومسلسلات الويب.","WEBSITE_ADDONS_CREATE":"أنشىء أضافة جديدة","WEBSITE_ADDONS_CREATE_P1":"إذا كنت ترغب في ذلك ، يمكنك تطوير الأضافة الخاصة بك. بهذه الطريقة ، يمكنك منح نفسك ومجتمعنا إمكانية الوصول إلى محتوى فيديو جديد والوصول إلى جمهور مستهدف جديد من ملايين المستخدمين حول العالم.","WEBSITE_ADDONS_START_CREATE":"للبدء ، قم بزيارة صفحة Stremio Addon SDK:","WEBSITE_DOWNLOADS":"التنزيلات","WEBSITE_DOWNLOADS_P1":"للحصول على الأداء الأمثل ، نوصي باستخدام أحدث إصدار متوفر من تطبيقات Stremio. ومع ذلك ، إذا كنت ترغب في استخدام إصدار أقدم لسبب ما ، فيمكنك تنزيله من هنا.","WEBSITE_DOWNLOADS_P1_SHORT":"لأفضل أداء، نوصي باستخدام أحدث إصدار متاح من تطبيقات Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio لأجهزة الويندوز","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio لأجهزة ماك","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio لأجهزة لينوكس","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio لأجهزة الأندرويد","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio لأجهزة تلفاز الأندرويد","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio لأجهزة الأندرويد","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio لجهاز ستيم ديك","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio لأجهزة الأيفون (نسخة محدودة)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio لـ Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio لـ LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio لـ Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio لـ Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio لـ Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio لـ Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio لـ Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio لـ Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio لـ Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio لـ المتصفح","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"ابحث عن Stremio في متجر التطبيقات للطرازات من 2019+ من Samsung TV","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"ابحث عن Stremio في متجر التطبيقات للطرازات من 2020+ من LG TV","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"ابحث عن Stremio في تطبيق Play Store على Sony TV الذي يعمل بنظام Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"ابحث عن Stremio في تطبيق Play Store على Philips TV الذي يعمل بنظام Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"ابحث عن Stremio في متجر التطبيقات على جهاز Xbox الخاص بك","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"دليل لـ Stremio OS على Raspberry Pi","WEBSITE_LINK_GUIDE":"دليل","WEBSITE_DOWNLOAD_SERVICE":"تحميل خدمة Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"خدمة Stremio هي تطبيق مرفق لـ Stremio Web. نوصي باستخدام أحدث إصدار متاح من خدمة Stremio.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"خدمة Stremio لـ Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"خدمة Stremio لـ macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"خدمة Stremio لـ Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"خدمة Stremio لـ Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio لـ Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"خيارات تحميل إضافية","WEBSITE_DOWNLOAD_NEW":"جديد!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"أطلقنا Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"أطلقنا Stremio لـ Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"أطلقنا Stremio لـ LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"أطلقنا Stremio لـ Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"أطلقنا Stremio لـ Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"أطلقنا Stremio 5 لـ Windows","WEBSITE_CONTRIBUTE":"شارك في التطوير","WEBSITE_CONTRIBUTE_P1":"منصة Stremio مفتوحة المصدر ويمكنك بسهولة إنشاء أضافات للمحتوى غير المصدر حاليًا.","WEBSITE_CONTRIBUTE_WHY":"لماذا يجب عليك إنشاء أضافة ؟","WEBSITE_CONTRIBUTE_WHY_P1":"الوصول إلى جمهور جديد لمحتوى الفيديو الخاص بك","WEBSITE_CONTRIBUTE_WHY_P2":"تنمو قاعدة مستخدمي Stremio بسرعة - خلال العام الأول من الإطلاق ، اكتسبت Stremio مليون مستخدم حول العالم ، وفي العام الثاني من وجود النظام الأساسي ارتفع هذا الرقم إلى 2.5 مليون.","WEBSITE_CONTRIBUTE_WHY_P3":"باستخدام الأضافة الخاصة بك ، يمكنك الوصول بسهولة إلى هذا الجمهور وتوزيع محتوى الفيديو الخاص بك عليهم.","WEBSITE_CONTRIBUTE_ALL":"شاهد أفلامك ومقاطع الفيديو والمسلسلات والقنوات المفضلة لديك في مكان واحد.","WEBSITE_CONTRIBUTE_ALL_P1":"هل أنت معجب بنوع معين من المحتوى غير متوفر على Stremio حتى الآن؟ قم بإنشاء أضافة له واستمتع بمشاهدة مقاطع الفيديو المفضلة لديك في واحدة من أكبر وأسهل مراكز الترفيه في السوق من حيث الاستخدام.","WEBSITE_CONTRIBUTE_ALL_P2":"علاوة على ذلك ، ستحصل على الامتنان اللانهائي لأعضاء مجتمع Stremio الآخرين المتشابهين في التفكير.","WEBSITE_CONTRIBUTE_MONETIZE":"استثمر الأضافة الخاصة بك واكسب المال بمساعدته","WEBSITE_CONTRIBUTE_MONETIZE_P1":"بمجرد تطوير أضافة جديدة لـ Stremio ، يمكنك بسهولة تحقيق الدخل منه من خلال عدد من الطرق المختلفة. إذا كنت تفكر في ذلك ، فلا تتردد في الاتصال بنا على","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":"- يسعدنا أن نتشاور معك وننصحك بخيارات تحقيق الدخل الإضافي.","WEBSITE_CONTRIBUTE_TRANSLATE":"كن مترجمًا متطوعًا","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"إذا كنت ترغب في الاستمتاع بتطبيقات Stremio بلغات مختلفة ، فيمكنك الانضمام إلى مجتمع المترجمين المتطوعين لدينا. يساعدوننا في إضافة إصدارات من Stremio بعدة لغات مختلفة.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"هل أنت متشوق للبدء؟","WEBSITE_TRANSALTE_STREMIO":"ترجمة Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"المجتمع الرسمي","WEBSITE_COMMUNITY_OFFICIALS_P1":"كن جزءًا من مجتمع Stremio المتنامي. تابعنا على وسائل التواصل الاجتماعي ولا تخجل من إلقاء التحية - فنحن نحب أن نسمع من معجبينا!","WEBSITE_COMMUNITY_UNOFFICIALS":"المجتمعات غير الرسمية","STREMIO_COMMUNITY_NL":"Stremio في هولندا","STREMIO_COMMUNITY_BRASIL":"Stremio في البرازيل","STREMIO_COMMUNITY_GERMANY":"Stremio في المانيا","STREMIO_COMMUNITY_BELGIUM":"Stremio في بلجيكا","STREMIO_COMMUNITY_FRANCE":"Stremio في فرنسا","STREMIO_COMMUNITY_PORTUGAL":"Stremio في البرتغال","STREMIO_COMMUNITY_ITALY":"Stremio في ايطاليا","STREMIO_COMMUNITY_UK":"Stremio الممكلة المتحدة","STREMIO_COMMUNITY_USA":"Stremio الولايات المتحدة الأمريكية","STREMIO_COMMUNITY_MEXICO":"Stremio في المكسيك","STREMIO_COMMUNITY_ADDONS":"Stremio أضافات","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"الشركاء والداعمون","WEBSITE_COMMUNITY_GOODIES":"الأشياء الجيدة Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"خلفيات الشاشة","WEBSITE_COMMUNITY_ART":"معرض الفنون","WEBSITE_LINK_ART":"معرض الفنون","WEBSITE_CONTACT_US":"تواصل معنا","WEBSITE_CONTACT_US_P1":"إذا كان لديك أي أسئلة أو تعليقات أو اقتراحات ، فلا تتردد في الاتصال بنا من خلال نموذج الاتصال أدناه.","WEBSITE_CONTACT_US_P2":"ضع في اعتبارك أننا موجودون في بلغاريا ، لذا قد يكون هناك تأخير في معالجة استفسارك بسبب اختلافات المنطقة الزمنية.","WEBSITE_CONTACT_US_SUCCESS":"تم ارسال رسالتك. سنعود إليك في أقرب وقت ممكن.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"يرجى إدخال البريد الإلكتروني الصحيح!","WEBSITE_CONTACT_US_Q_RELATED_TO":"بماذا يتعلق سؤالك؟","WEBSITE_CONTACT_US_Q_OS":"ما هو نظام التشغيل الخاص بك؟","WEBSITE_CONTACT_US_PH_EMAIL":"بريدك الالكتروني","WEBSITE_CONTACT_US_PH_MESSAGE":"رسالتك","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"أرسال","WEBSITE_CONTACT_US_Q_1":"كيفية التثبيت ؟","WEBSITE_CONTACT_US_Q_2":"كيفية ألغاء التثبيت ؟","WEBSITE_CONTACT_US_Q_3":"(HTML) كيف تصنع اللازانيا؟","WEBSITE_CONTACT_US_Q_4":"أضافات","WEBSITE_CONTACT_US_OS_1":"ويندوز","WEBSITE_CONTACT_US_OS_2":"ماك","WEBSITE_CONTACT_US_OS_3":"لينوكس","WEBSITE_CONTACT_US_OS_4":"أندرويد","WEBSITE_CONTACT_US_OS_5":"أيفون","WEBSITE_TECHNOLOGY":"التقنية","WEBSITE_TECHNOLOGY_P1":"نحن نحب التكنولوجيا والعلم المجنون. </br> هنا ما يمدك بالطاقة Stremio (كلها مفتوحة المصدر).","WEBSITE_TECHNOLOGY_P_QT":"تطوير البرامج عبر الأنظمة الأساسية في أفضل حالاتها.","WEBSITE_TECHNOLOGY_P_MPV":"مشغل وسائط مجاني ومفتوح المصدر ومتعدد المنصات.","WEBSITE_TECHNOLOGY_P_RN":"يتيح لك React Native إنشاء تطبيقات جوال باستخدام JavaScript فقط.","WEBSITE_TECHNOLOGY_P_VLC":"إطار الوسائط المضمن في التطبيق للحصول على الوسائط المتعددة.","WEBSITE_TECHNOLOGY_P_REALM":"Realm هي منصة متنقلة وبديل لبيانات SQLite & Core.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js هي بيئة تشغيل JavaScript مفتوحة المصدر ومتعددة المنصات.","WEBSITE_TECHNOLOGY_P_RUST":"Rust هي لغة برمجة نظام متعددة النماذج تركز على السلامة ، وخاصة التزامن الآمن.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"المساهمة في المشروع","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"هناك طريقتان يمكنك من خلالهما المساهمة في Stremio ومساعدتنا على تحسين المنتج.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"يمكنك التبرع بمهاراتك اللغوية القيمة من خلال ترجمة المنصة ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"أو","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... يمكنك توظيف مهاراتك في البرمجة لإنشاء إضافات مجتمعية.","WEBSITE_TRANSLATE_STREMIO":"ترجمة Stremio","WEBSITE_404_OH_NO":"عذرًا! الصفحة التي تبحث عنها ليست هنا ...","WEBSITE_GO_HOME":"الرئيسية","WEBSITE_LINK_OTHER_DOWNLOADS":"تنزيلات أخرى","WEBSITE_FAQ_ABR":"أسئلة متكررة","WEBSITE_SUPPORT":"الدعم","WEBSITE_DOWNLOAD_4_0_BETA":"قم بتنزيل Stremio 4 beta الآن","WEBSITE_GET_FOR_DESKTOP":"احصل عليه للكمبيوتر","WEBSITE_LINK_ADDON_COMPETITION":"منافسة الأضافات","WEBSITE_LINK_ART_CONTEST":"مسابقه الفنون","WEBSITE_MY_ACCOUNT":"حسابي الشخصي","WEBSITE_MAINPAGE_FAQ_001_H1":"ما هو Stremio ؟ ","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio هو مركز وسائط حديث يمنحك حرية مشاهدة كل ما تريد.","WEBSITE_MAINPAGE_FAQ_002_H1":"كيف يعمل؟","WEBSITE_MAINPAGE_FAQ_002_P1":"بمجرد تثبيت Stremio على جهازك وإنشاء حساب ، كل ما عليك فعله هو زيارة الكتالوج الإضافي وتثبيت أي أداة إضافية تريدها ، وأنت على ما يرام!","WEBSITE_MAINPAGE_FAQ_002_P2":"بعد ذلك ، يمكنك الانتقال إلى قسم الأكتشاف أو لوحة التحكم لبدء استكشاف المحتوى.","WEBSITE_MAINPAGE_FAQ_003_H1":"ماذا يمكنني أن أشاهد هنا؟","WEBSITE_MAINPAGE_FAQ_003_P1":"الكثير: الأفلام والبرامج التلفزيونية وقنوات الويب والرياضة والقنوات التلفزيونية والاستماع إلى البودكاست والمزيد. بفضل نظام الأضافات الخاص بنا ، يمكنك الوصول إلى مجموعة متنوعة من المحتويات.","WEBSITE_MAINPAGE_FAQ_004_H1":"هل Stremio مفتوح المصدر؟","WEBSITE_MAINPAGE_FAQ_004_P1":"يمكنك التحقق من بعض الروابط : ${1}برنامج سطح المكتب${2} و ${3}GitHub المنظمة${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"هل Stremio آمن؟","WEBSITE_MAINPAGE_FAQ_005_P1":"نعم: نظرًا لأنه برنامج مفتوح المصدر ، فإن الكود قابل للتدقيق بشكل عام ويمكنك مراجعته بنفسك.","WEBSITE_MAINPAGE_FAQ_005_P2":"تم تصميم نظام الإضافات في Stremio مع مراعاة أمان المستخدم. الإضافات لا تشغل أي كود محليًا، لذا فهي لا تشكل أي خطر على جهازك.","WEBSITE_MAINPAGE_FAQ_006_H1":"ماذا عن خصوصيتي؟","WEBSITE_MAINPAGE_FAQ_006_P1":"نحترم خصوصية المستخدمين ولا نجمع أي بيانات شخصية إلى جانب الحد الأدنى الأساسي لإنشاء حسابك ومزامنته.","WEBSITE_MAINPAGE_FAQ_006_P2":"يوجد أيضًا ${1} وضع الضيف ${2} عند التسجيل ، والذي لا يتطلب أي بيانات على الإطلاق: في هذا الوضع ، لا يتم إجراء مكالمات إلى الواجهة الخلفية لدينا. ومع ذلك ، فإنه يأتي على حساب الميزات المفيدة ، مثل القدرة على مزامنة مكتبتك عبر الأجهزة.","WEBSITE_MAINPAGE_FAQ_007_H1":"هل يمكنني ارسال البث إلى التلفزيون الخاص بي؟","WEBSITE_MAINPAGE_FAQ_007_P1":"نعم ، نحن ندعم Chromecast ويمكنك الإرسال من تطبيقات سطح المكتب والأجهزة المحمولة (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"كم عدد الإضافات التي يمتلكها Stremio؟","WEBSITE_MAINPAGE_FAQ_008_P1":"اعتبارًا من أواخر عام 2019 ، أكثر من 50 - لمزيد من المعلومات ، راجع كتالوج الملحقات الخاصة بنا.","WEBSITE_MAINPAGE_FAQ_009_H1":"هل يمكن تمديد Stremio بما يتجاوز ما هو موجود في الكتالوج الإضافي؟","WEBSITE_MAINPAGE_FAQ_009_P1":"نعم ، يجب عليك التحقق مما يلي: ${1} PimpMyStremio ${2} ، ${3} مجتمعات Reddit ${4} ، ${5} Stremio Downloader ${6} ، إلخ.","WEBSITE_MAINPAGE_FAQ_010_H1":"ما هي الأجهزة التي يدعمها Stremio؟","WEBSITE_MAINPAGE_FAQ_010_P1":"لدينا تطبيقات سطح مكتب لأنظمة Windows و Mac و Linux. بالنسبة للجوال ، ندعم Android و iOS ، على الرغم من أن ضع في اعتبارك أن وظائف iOS محدودة (لا تدعم معظم الوظائف الإضافية).","WEBSITE_MAINPAGE_FAQ_010_P2":"هناك العديد من الأجهزة التي تعمل بنظام Android والتي يمكنك تشغيل Stremio عليها ، مثل NVIDIA Shield و Amazon Fire Stick ، ​​لكننا لا ندعمها رسميًا.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"لدينا تطبيقات سطح مكتب لأنظمة Windows وMac وLinux. كما لدينا تطبيقات مخصصة لـ Android Mobile وAndroid TV. بالنسبة لـ iOS و iPadOS، نوصي باستخدام Stremio Web، على الرغم من أنه محدود في الوظائف.","WEBSITE_MAINPAGE_FAQ_011_H1":"هل يمكنك إضافة محتوى معين إلى Stremio؟","WEBSITE_MAINPAGE_FAQ_011_P1":"عذرًا ، لا نقدم أي محتوى بأنفسنا ، ولكن كلما قمت بتثبيت المزيد من إضافات Stremio ، ستتمكن من العثور على المزيد من المحتوى.","WEBSITE_MAINPAGE_FAQ_012_H1":"هل يستطيع Stremio تشغيل روابط التورنيت ؟","WEBSITE_MAINPAGE_FAQ_012_P1":"نعم ، ويمكنه أيضًا تشغيل روابط HTTP العادية وملفات التورنت (السحب والإفلات).","WEBSITE_MAINPAGE_FAQ_013_H1":"هل يمكنني تنزيل مقطع فيديو ومشاهدته بلا إنترنت؟","WEBSITE_MAINPAGE_FAQ_013_P1":"تعد الميزة المتاحة في وضع عدم الاتصال ميزة قادمة ، ولكن إذا سمحت لـ Stremio بالتخزين المؤقت على جهازك (من لوحة الإعدادات) ، يمكنك مشاهدة مقاطع الفيديو لاحقًا دون اتصال.","WEBSITE_MAINPAGE_FAQ_014_H1":"لا شيء يعمل ، ساعدني!","WEBSITE_MAINPAGE_FAQ_014_P1":"هل أنت متأكد أنك قمت بتثبيت الوظائف الإضافية؟ إذا كانت الإجابة بنعم ، فراجع ${1} مركز المساعدة ${2} الخاص بنا.","WEBSITE_MAINPAGE_FAQ_015_H1":"كيف يحافظ Stremio على عمليات التطوير الخاصة به؟","WEBSITE_MAINPAGE_FAQ_015_P1":"نعرض إعلانات غير تدخلية من حين لآخر ، لكننا نفكر في الانتقال إلى نموذج التبرع.","WEBSITE_MAINPAGE_FAQ_015_P2":"لمزيد من الأسئلة ، انتقل إلى مركز المساعدة $ {1}${2}.","HELP_LEARN_MORE":"ساعدنا في معرفة المزيد عنك.","LIFESTYLE":"أسلوب الحياة","SPORTS":"الرياضة","FOOD_HEALTH":"الطعام والصحة","BEAUTY_FASHION":"جمال و موضة","NEWS":"أخبار","GAMING":"ألعاب","SCIENCE_EDUCATION":"علم و تعليم","MUSIC":"موسيقى","TRAVEL":"السفر","LATE_NIGHT":"أخر الليل","REALITY":"واقعي","COMEDY":"كوميديا","DIY":"كيف تفعلها بنفسك","TECH":"تقنية","CINEMA":"سينيما","CONTINUE":"متابعة","SLOW_LOADING":"تحميل بطيئ ؟","I_GIVE_UP":"أنا أستسلم","LEARN_MORE":"معرفة المزيد","POOR_SOURCE":"هذا المصدر غير متاح بشكل جيد أو أن اتصالك بالإنترنت ليس سريعًا بما يكفي","PICK_CATEGORIES_ERR":"عليك أن تختار 3 فئات على الأقل","ADJUST_TIMING":"ضبط التوقيت باستخدام","ADJUST_SIZE":"ضبط الحجم مع","SEARCH_ANYTHING":"يمكنك البحث عن أي شيء ...","ALL_CATEGORIES":"الجميع","SEARCH_CATEGORIES":"أفلام ومسلسلات ويوتيوب وتلفزيون","SEARCH_PERSONS":"الممثلين والمخرجين والكتاب","SEARCH_PROTOCOLS":"روابط HTTP و التورنيت","SEARCH_TYPES":"IMDB / TVDB روابط","WATCHED":"تمت المشاهدة","SHOW_LESS":"إظهار أقل","LAST_SEARCHES":"أخر عمليات البحث","CLEAR_HISTORY":"مسح السجل","CHOOSE_SOME":"اختر بعضًا من هذا:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"تعذر تحميل Web Remote","STREMIO_OFFLINE":"Stremio غير متصل","STREMIO_EXPENSIVE_CONNECTION":"لقد اكتشفنا أنك تستخدم اتصال بيانات الجوال ، هل تريد المتابعة؟","USE_DATA":"استخدم البيانات","WARNING":"تحذير","MORE_INFO":"مزيد من المعلومات ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"جار التحميل ...","STREMIO_TV_BACK_TO_LANGUAGES":"رجوع إلى اللغات","STREMIO_TV_REMOTE":"ريموت","STREMIO_TV_GO_TO":"أذهب الى:","STREMIO_TV_OR_SCAN":"أو قم بمسح:","STREMIO_TV_ADDON_INSTRUCTIONS":"يرجى اتباع التعليمات لتثبيت الإضافات المفضلة لديك.","STREMIO_TV_LIVE_TV":"تلفاز مباشر","STREMIO_TV_RESUME_WATCHING":"تابع المشاهدة","STREMIO_TV_LOADING_BACKGROUND":"التحميل في الخلفية","STREMIO_TV_CHECKING_AUTHENTICATION":"التحقق من المصادقة","STREMIO_TV_LOADING_BOARD":"تحميل لوحة التحكم","STREMIO_TV_LOGIN_HEADER_LINE_1":"نريد لمستخدمينا الحصول على أفضل تجربة شخصية ممكنة مع برنامجنا.","STREMIO_TV_LOGIN_HEADER_LINE_2":"لهذا السبب نطلب منك التفضل بإنشاء و / أو تسجيل الدخول إلى حسابك.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"شكرا لتفهمك،","STREMIO_TV_LOGIN_FOOTER_LINE_2":"فريق Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"من أجل استخدام Web Remote مع الهاتف الذكي / الجهاز اللوحي / سطح المكتب:","STREMIO_TV_WIFI_SETUP":"Wi-Fi ضبط","STREMIO_TV_WIFI_HEADER_LINE_1":"لم يكتشف Stremio Circle اتصالاً بالإنترنت.","STREMIO_TV_WIFI_DETAILS_1":"الاتصال بـ:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"استخدم كلمة المرور:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"افتح متصفح الويب بالرابط:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"تلقائي","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"باخر مرة تمت المشاهدة","STREMIO_TV_LIBRARY_SORT_NAME":"بالاسم","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"بعدد مرات المشاهدة","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"موسم ${1}","STREMIO_TV_STREAMS_LOADING":"حملت ${1} / ${2} الاضافات...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} االاضافة لازالت قيد التحميل...","STREMIO_TV_PLAYER_SETTINGS":"اعدادات المشغل","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"تاخير الترجمة","STREMIO_TV_PLAYER_AUDIO_DELAY":"تاخير الصوت","STREMIO_TV_PLAYER_VIDEO_SCALING":"مقياس الفيديو","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"مصدر بث غير مدعوم","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"فشل فتح الرابط الحارجي","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"غير قابل للتعديل في وضع تمرير الصوت","STREMIO_TV_PLAYER_PLAY_IN_EXO":"تشغيل بـ ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"تشغيل بـ libVLC مشغل","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"الانتقال إلى مشغل libVLC بسبب خطأ في التشغيل","STREMIO_TV_ADDONS_TITLE":"استعمل stremio على هاتفك او حاسوبك واعد تثبيت او اضبط الاضافات ثم اضغط على \\"اعادة المزامنة\\"","STREMIO_TV_ADDONS_SUBTITLE":"ملاحظة: تاكد من استعمال نفس حساب stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"مزامنة الاضافات","STREMIO_TV_ADDONS_SYNC_SUCCESS":"تمت مزامنة الاضافات بنجاح","STREMIO_TV_ADDONS_SYNC_FAILED":"فشل مزامنة الاضافات","STREMIO_TV_META_LINK_FAILED":"فشل فتح ارتباط التعريف","STREMIO_TV_CATALOG_LOADING":"لم يتم تحميل الفهرس بعد ...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"تم تحديث لغة الواجهة","STREMIO_TV_SETTINGS_THEME_UPDATED":"تم تحديث المظهر","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"المشغل الافتراضي","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"المشغل الخارجي","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"اللغة المفضلة","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"اللغة المفضلة الثانية","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"تشغيل عبر الانفاق","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"قد يكون هنالك مشاكل تشغيل محتملة على بعض الأجهزة","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"بعض انواع الفيديوهات قد لا تعمل","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"مزامنة معدل الإطار","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"معطل","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"معدل الإطار فقط","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"معدل الإطار والدقة","STREMIO_TV_SETTINGS_NO_CACHING":"بدون تخزين مؤقت","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"تلقائي","STREMIO_TV_SETTINGS_PROFILE_SOFT":"ناعم","STREMIO_TV_SETTINGS_PROFILE_FAST":"سريع","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"سريع جدا","STREMIO_TV_SETTINGS_SERVER_URL":"رابط سيرفر المشاهدة","STREMIO_TV_SETTINGS_SERVER_VERSION":"اصدار السيرفر","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"مجهول","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio اصدار","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"تغير رابط السريفر","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"ادخل عنوان رابط السيرفر","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"عرض الإحصائيات أثناء التحميل","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"لقراءت سايسة الخصوصية زر:","STREMIO_TV_SETTINGS_TOS_TEXT":"لقراءت الاحكام والشروط زر:","STREMIO_TV_NAV_SEARCH":"البحث","STREMIO_TV_NAV_HOME":"الرئيسية","STREMIO_TV_NAV_DISCOVER":"اكتشاف","STREMIO_TV_NAV_LIBRARY":"المكتبة","STREMIO_TV_NAV_MOVIES":"افلام","STREMIO_TV_NAV_SERIES":"مسلسلات","STREMIO_TV_NAV_CHANNELS":"قنوات","STREMIO_TV_NAV_TV":"قنوات تلفزيونية مباشرة","STREMIO_TV_NAV_SETTINGS":"الاعدادات","STREMIO_TV_NAV_ADDONS":"اضافات","STREMIO_TV_LOGIN_TITLE":"ربط الحساب","STREMIO_TV_LOGIN_EXPIRES_IN":"تنتهي الصلاحية في","STREMIO_TV_LOGIN_STEP_ONE":"امسح QR Code اعلاه او اذهب الى","STREMIO_TV_LOGIN_STEP_TWO":"تسجيل الدحول لحساب Stremio الخاص بك","STREMIO_TV_LOGIN_NEW_LINK":"طلب رابط جديد","STREMIO_TV_LOGIN_LINK_REFRESHED":"تم تحديث كود تسجيل الدحول","STREMIO_TV_SEARCH_PLACEHOLDER":"اكتب شيئا ما","STREMIO_TV_SEARCH_NO_ADDONS":"لم يتم طلب اي اضافة لهذا الفهرس!","STREMIO_TV_SEARCH_BUTTON":"بحث","STREMIO_TV_SEARCH_KEY_DEL":"حذف","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"مسح","STREMIO_TV_SEARCH_HISTORY_TITLE":"سجل البحث","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"يمكنك البحث عن عناوين, ممثلين, قنوات والمزيد ...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"مسح سجل البحث","STREMIO_TV_FILTERS_DESCRIPTION":"اختر احد الفلترات اسفله","STREMIO_TV_STREAMING_SERVER_OFFLINE":"خادم البث غير متصل. تحقق من إعدادات الخادم.","FILTERS":"قلترات","SETTINGS":"الاعدادات","ACCOUNT":"الحساب","LOGOUT":"تسجيل الخروج","THEMES":"مظاهر","PLAYBACK":"العرض","PLAYBACK_SPEED":"سرعة العرض","AUDIO_TRACKS":"مسار صوت","UNKNOWN_TRACK_LANG":"غير معروف","VIDEOS":"فديوهات","SERVER":"السيرفر","LINKS":"روابط","ABOUT":"حول","INTERFACE":"الواجهة","ANIMATIONS":"التاثيرات","STATUS":"الحالة","LANGUAGE":"اللغة","SIZE":"الحجم","DELAY":"التاخير","BOLD":"عريض","OPACITY":"الشفافية","TEXT_COLOR":"لون الكتابة","OUTLINE_COLOR":"لون الخط الخارجي","BACKGROUND_COLOR":"لون الخلفية","BACKGROUND_BLUR":"ضبابية الخلفية","SEEK_TIME_DURATION":"مدة وقت التقديم","AUTO_PLAY":"التشعيل التلقائي للحلقة القادمة","PLAY_NOW":"شغل الان","MARK_AS_WATCHED":"تعليم كتمت مشاهدته","MARK_AS_UNWATCHED":"تعليم كلم تتم مشاهدته","REWIND_TO_BEGINNING":"اعادة من الاول","CONTINUE_WATCHING":"اكمل المشاهدة","ALL":"الكل","SECONDS":"ثواني","ON":"مفعل","OFF":"معطل","RELOAD":"اعادة تحميل","EDIT_URL":"تعديل الرابط","URL":"URL","NONE":"لاشيء","EMBEDDED":"مضمن","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"تبديل الأجهزة","REMOTE_VIDEOS":"فيديوهات","REMOTE_ADJUST_TIMING":"ضبط التوقيت","REMOTE_ADJUST_SIZE":"ضبط الحجم","REMOTE_COULD_NOT_BE_LOADED":"تعذر تحميل Web Remote","REMOTE_RETRY":"أعادة المحاولة","TORRENT_PROFILE_DEFAULT":"إفتراضي","TORRENT_PROFILE_SOFT":"معتدل","TORRENT_PROFILE_FAST":"سريع","TORRENT_PROFILE_ULTRA_FAST":"فائقة السرعة","MB_S":"MB/s","FAQ_001_H1":"ما هو Stremio؟","FAQ_001_P1":"Stremio هو برنامج مركز وسائط مصمم للترفيه بالفيديو مع وضع سهولة الاستخدام في الاعتبار. يسمح لك Stremio بتنظيم شاهد مجموعتك الخاصة من الأفلام والمسلسلات والقنوات والبث التلفزيوني المباشر.","FAQ_001_P2":"يقوم Stremio بجمع المحتوى الذي يعرضه لك من القرص المحلي ونظام الوظائف الإضافية الخاص بنا.","FAQ_001_P3":"سيُعلمك أيضًا عند ظهور حلقات / مقاطع فيديو / أفلام جديدة تهتم بها ، ويقدم لك توصيات بشأن الأفلام.","FAQ_02_H1":"كيف يقارن Stremio بـ Kodi و Plex؟","FAQ_02_P1":"نحن مستوحون من هذين البرنامجين. لكن لدينا أهدافًا مختلفة - يستهدف Stremio بشكل خاص الفيديو الترفيهي ، ويسعى جاهداً ليصبح الحل السائد لذلك من خلال كونه سهل الاستخدام للغاية.","FAQ_02_P2":"لن يكون Stremio أبدًا قابلاً للتخصيص وغنيًا بالميزات مثل Kodi و Plex ، ولكنه أسهل كثيرًا في الاستخدام. فقط ${1} احصل عليه واطلع على ${2} :)","FAQ_03_H1":"كيف يقارن Stremio بـ Netflix؟","FAQ_03_P1":"مرة أخرى ، يعد Netflix أحد مصادر إلهامنا. نحن نسعى جاهدين لتحقيق تجربة مستخدم Netflix ، بالإضافة إلى الكثير من الأشياء الجيدة المضافة. ولكن الأهم من ذلك ، أننا نمنحك حرية إدارة مكتبتك الخاصة وإضافة مصادر محتوى جديدة باستخدام نظام الملحق الخاص بنا.","FAQ_03_P2":"هذا يجعل Stremio قابلًا للتمديد بشكل لا نهائي ، لذلك عندما تستخدم Stremio ، فأنت لا تقتصر أبدًا على المحتوى الذي تقرر Netflix ترخيصه. على سبيل المثال ، من خلال Stremio ، يمكنك مشاهدة محتوى من $ {1} Filmon.tv ${2} ، ${3} Twitch.tv ${4} ، ${5} YouTube ${6} ، ${7} Vodo ${8} وحتى ${9} Netflix ${10} نفسها!","FAQ_04_H1":"كيف يقارن Stremio بـ Flipboard؟","FAQ_04_P1":"لا نتلقى هذا السؤال كثيرًا ، إلا عند التحدث إلى أشخاص مبتدئين :)","FAQ_04_P2":"يعد Stremio عن طريق تصميم مجمع محتوى ، مما يجعله بشكل أساسي Flipboard للفيديو. هذا واضح جدًا في قسم Board الخاص بنا ، والذي يمنحك كتالوجات وإشعارات حلقة جديدة / فيديو جديد لما تتابعه ، تمامًا مثل Flipboard.","FAQ_05_H1":"كيف يقارن Stremio بـ Popcorn Time؟","FAQ_05_P1":"يتشابه كل من Stremio و Popcorn Time في واجهة المستخدم ، لأنه لا توجد طرق عديدة لعمل كتالوجات فيديو ترفيهية بشكل صحيح :)","FAQ_05_P2":"ولكن بينما يركز Popcorn Time على بث التورنت من مصادر محددة ، فإن Stremio غير مقيد وهو مجرد مجمع محتوى - فهو غير مقيد بمصدر محتوى معين.","FAQ_05_P3":"علاوة على ذلك ، نحن لا نقدم أي إضافات تورنت افتراضيًا ، لذلك لا يغطي Stremio حالة استخدام Popcorn Time بالوظائف الرسمية.","FAQ_05_P4":"الفرق الملحوظ الآخر هو أن Popcorn Time مفتوح المصدر بالكامل ، بينما Stremio ${1} مفتوح المصدر جزئيًا ${2}.","FAQ_06_H1":"هل ستضيف هذا الفيلم / المسلسل؟","FAQ_06_P1":"لا آسف :(","FAQ_06_P2":"كما هو مذكور في معظم الأسئلة الأخرى ، لا يوفر Stremio أي محتوى بمفرده - تتم إضافة كل شيء من خلال نظام الوظائف الإضافية. في حالة وجود طلب محتوى ، يمكنك استخدام الزر إبلاغ في المشغل ، والذي سيرسل بريدًا إلكترونيًا إلى مؤلف الوظيفة الإضافية التي تستخدمها حاليًا.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"هل ستقوم بإنشاء أضافة لـ X؟","FAQ_08_P1":"إنه ممكن تمامًا.","FAQ_08_P2":"إذا كانت لديك فكرة عن أضافة ، فأرسل لنا سطرًا على ${1}office@stremio.com ${2} ، ولكن يُرجى التأكد من أن فكرة الملحق لن تنتهك أي حقوق طبع ونشر أو شروط استخدام.","FAQ_08_P3":"في الوقت الحالي ، الأشياء التالية في خارطة الطريق هي الإضافات لـ FandangoNOW ، فيديو Filmon.tv عند الطلب و Crunchyroll.","FAQ_09_H1":"هل يستخدم Stremio برنامج BitTorrent؟","FAQ_09_P1":"نعم ، يدعم Stremio BitTorrent كبروتوكول دفق. يمكنك استخدام ذلك إما مع أضافة تورنت ، أو عن طريق سحب وإفلات ملف .torrent في Stremio ، أو عن طريق لصق رابط تورينت في شريط البحث.","FAQ_09_P2":"يرجى ملاحظة أن الملحق الرسمي الوحيد الذي يستخدم BitTorrent هو ${1} Vodo ${2} ، والذي يوفر محتوى مستقل ، وكلها مسموح بتوزيعها باستخدام BitTorrent.","FAQ_09_P3":"نحن لا ندعم استخدام أي أدوات إضافية لطرف ثالث والتي قد تتيح انتهاك حقوق النشر.","FAQ_10_H1":"ما الذي يمكنني مشاهدته في Stremio باستخدام الإضافات الرسمية؟","FAQ_10_P1":"بشكل افتراضي ، يمكنك مشاهدة محتوى Filmon.tv و YouTube و Vodo داخل Stremio نفسها ، باستخدام مشغلها المضمن. بالإضافة إلى ذلك ، لدينا ملحق لـ Twitch.tv وعدد قليل من البرامج الأخرى.","FAQ_10_P2":"يوفر هذا مجتمعة مجموعة مختارة من:","FAQ_10_L1":"قنوات تلفزيونية شهيرة ، تقدمها Filmon.tv - على سبيل المثال E4 و BBC و Bollyworld TV","FAQ_10_L2":"كل شيء من YouTube - على سبيل المثال BBC News و Top Gear و Vevo و PewDiePie","FAQ_10_L3":"الأفلام المستقلة مع Vodo","FAQ_10_L4":"يتم بث الألعاب عبر الإنترنت باستخدام Twitch.tv","FAQ_10_P3":"بالإضافة إلى ذلك ، هناك العديد من مصادر المحتوى المتوفرة مع Guidebox ووظائف Netflix الإضافية ، والتي <b> لا تعمل </ b> بالكامل داخل Stremio ، ولكنها ستعيد التوجيه إلى الخدمة المحددة. على سبيل المثال ، ستمنحك الوظيفة الإضافية Guidebox مجموعة مختارة من الأفلام التي يمكنك بثها في الولايات المتحدة مجانًا ، من خدمات مثل TubiTV و Crackle.","FAQ_11_H1":"لن يتم تثبيت Stremio ، فماذا أفعل؟","FAQ_11_P1":"إذا كنت تستخدم نظام التشغيل Windows ، فجرّب ${1} أداة التثبيت البديلة هذه ${2}.","FAQ_11_P2":"إذا كنت تستخدم نظام التشغيل Mac OS X ، فيرجى العلم أننا لا ندعم أي شيء أقدم من OS X Mavericks (10.9).","FAQ_11_P3":"إذا كنت تستخدم نظام Linux ، فاعلم أننا ندعم نظام Linux 64 بت (x64) فقط في الوقت الحالي.","FAQ_11_P4":"إذا كنت لا تزال غير قادر على حل مشكلتك ، فيرجى مراسلتنا على ${1} Facebook group ${2}.","FAQ_12_H1":"لماذا يشتكي برنامج مكافحة الفيروسات الخاص بي؟ هل Stremio آمن؟","FAQ_12_P1":"نؤكد لك أن Stremio هو ${1} 100٪ نظيف ${2}.","FAQ_12_P2":"يشكو برنامج مكافحة الفيروسات الخاص بك لأننا نقوم بتضمين إعلانات في أداة التثبيت الخاصة بنا ، والتي تتعرف عليها بعض برامج مكافحة الفيروسات على أنها أدوات إعلانية.","FAQ_12_P3":"إذا كنت لا تزال غير متأكد ، فيمكنك تجربة ${1} المثبت البديل ${2}.","FAQ_13_H1":"كيف يمكنني عمل أضافة جديدة ؟","FAQ_13_P1":"بالنسبة للمبتدئين ، نوصيك بالتحقق من وحدة نظام الإضافات ${1} الخاصة بنا ${2} على GitHub.","FAQ_13_P2":"بعد ذلك ، يمكنك اتباع البرنامج التعليمي ${1} Hello World ${2}.","FAQ_13_P3":"إذا لم تكن لديك أي مهارات برمجية ، فالرجاء نشر فكرتك على ${1} مجتمع Reddit ${2} والاتصال بنا لتقديم فكرة الملحق الخاص بك على ${3}office@stremio.com${4}.","FAQ_14_H1":"كيف يتم نشر الإضافات؟","FAQ_14_P1":"عندما تنشئ ملحقًا ومضيفًا ، وتضع حقل <b> نقطة نهاية </b> في البيان الخاص بك ، والذي يشير إلى عنوان ملحق يعمل ، فإن الوظيفة الإضافية ستنشر نفسها تلقائيًا في كتالوج ${1} Addon ${2} .","FAQ_14_P2":"يحدث هذا لأن جزء الخادم من وحدة stremio-addons يقوم تلقائيًا بإجراء مكالمة إلى واجهة برمجة التطبيقات الخاصة بنا للإعلان عن الملحق. عندما تتحقق واجهة برمجة التطبيقات الخاصة بنا من <b> نقطة النهاية </ b> كإضافة صالحة ، ستبدأ في الظهور في الكتالوج.","FAQ_15_H1":"هل يمكنني تشغيل Stremio في المتصفح الخاص بي؟","FAQ_15_P1":"ليس في الوقت الحالي ، لكن هذا قادم!","FAQ_15_P2":"إذا كنت مهتمًا برؤية ألفا ، فيمكنك رؤيته هنا: ${1} alpha4.strem.io ${2}. ضع في اعتبارك أن البث معطل في هذا الإصدار ألفا. نحن ندعم Chrome و Firefox و Opera و Edge.","FAQ_16_H1":"الإرسال إلى التلفزيون لا يعمل / لا تعمل الترجمة","FAQ_16_P1":"يستخدم Casting to TV تقنية DLNA وهي غير متسقة للغاية بين مختلف العلامات التجارية والموديلات. لهذا السبب ، ليس لدينا القدرة على اختباره في كل حالة ، لذا فهو بعيد عن الكمال. على الرغم من ذلك ، نحن نعمل على تحسينه باستمرار ولكن لا يمكننا منحك تقديرًا للوقت حول موعد بدء DLNA في العمل بشكل صحيح مع تلفزيونك.","FAQ_16_P2":"إذا كنت لا ترى التلفزيون الخاص بك في قائمة الإرسال ، فالرجاء محاولة تعطيل اتصال الشبكة وإعادة تمكينه (في Windows ، انقر بزر الماوس الأيمن فوق الشبكة واستخدم تمكين / تعطيل) ، وكذلك إعادة تشغيل جهاز التوجيه والتلفزيون والكمبيوتر .","FAQ_16_P3":"إذا كنت لا تزال تواجه مشكلات ، فيمكنك مساعدتنا عن طريق إرسال معلومات الطراز والعلامة التجارية التلفزيونية الخاصة بك على ${1}office@stremio.com${2}.","FAQ_16_P4":"في غضون ذلك ، نوصي باستخدام Chromecast ، الذي ندعمه جيدًا ، أو ببساطة قم بتوصيل التلفزيون بجهاز الكمبيوتر باستخدام كابل HDMI.","FAQ_17_H1":"يتجمد Stremio و / أو يتعطل ، ماذا يمكنني أن أفعل؟","FAQ_17_P1":"بادئ ذي بدء ، إذا كنت تستخدم Windows 7 مع برنامج مكافحة الفيروسات AVG: لدينا مشكلة في هذه المجموعة. المشكلة في AVG نفسه ، وليس هناك طريقة معقولة لحلها من جانبنا. لسوء الحظ ، لن تعمل الاستثناءات أو تعطيل برنامج مكافحة الفيروسات. الحل الوحيد هو استبدال AVG بشيء آخر.","FAQ_17_P2":"إذا لم تكن هذه هي المشكلة ، ولكنك لا تزال تستخدم Windows ، فيرجى التحديث إلى أحدث حزمة خدمة وتحديث / إعادة تثبيت برامج تشغيل GPU ، ثم حاول مرة أخرى.","FAQ_17_P3":"إذا لم يتم حل المشكلة بعد ، أو إذا كنت تستخدم نظام التشغيل Mac أو Linux ، فيرجى مراسلتنا للإبلاغ عن التفاصيل الدقيقة للمشكلة على ${1} مجموعة Facebook ${2}.","FAQ_18_H1":"كيف يمكنني عمل أضافة ؟","FAQ_18_P1":"بالنسبة للمبتدئين ، نوصيك بالتحقق من وحدة نظام الإضافات ${1} الخاصة بنا ${2} على GitHub.","FAQ_18_P2":"بعد ذلك ، يمكنك اتباع البرنامج التعليمي ${1} Hello World ${2}.","FAQ_18_P3":"إذا لم تكن لديك أي مهارات برمجية ، فالرجاء نشر فكرتك على ${1} مجتمع Reddit ${2} والاتصال بنا لتقديم فكرة الملحق الخاص بك على ${3}office@stremio.com${4}.","FAQ_19_H1":"لماذا يشغل Stremio مساحة على القرص؟","FAQ_19_P1":"يحتوي Stremio على <b> ذاكرة تخزين مؤقت محلية </ b> للاحتفاظ مؤقتًا بملفات الفيديو التي تقوم بدفقها.","FAQ_19_P2":"هذا له فائدتان: أولاً ، يسمح لـ Stremio بالتخزين المؤقت للفيديو مسبقًا لضمان تدفق أكثر سلاسة. ثانيًا ، يحتفظ بمقاطع الفيديو في ذاكرة التخزين المؤقت المحلية حتى تتمكن من متابعة مشاهدتها في وضع عدم الاتصال.","FAQ_19_P3":"يعتمد مقدار ما يحتفظ به Stremio على إعداد <b> ذاكرة التخزين المؤقت </ b> في لوحة الإعدادات. قد يحافظ Stremio على الكمية المحددة (على سبيل المثال 2 جيجا بايت) على القرص الخاص بك ، ما لم يكن الفيديو المتدفق حاليًا أكبر من ذلك ، وفي هذه الحالة يجب عليه تخصيص مساحة تخزين كافية للاحتفاظ به حتى تقوم بدفقه.","FAQ_20_H1":"أين هو مجلد ذاكرة التخزين المؤقت؟","FAQ_20_P1":"في Windows ، يكون stremio-cache في محرك الأقراص الذي اخترته في الإعدادات (مثال \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"على MacOS ، إنه \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"على Linux ، إنه \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"تلقيت خطأ لم يتم العثور على خادم البث ، فماذا أفعل؟","FAQ_21_P1":"إذا تلقيت هذا الخطأ ، فهذا يعني أحد الأشياء القليلة:","FAQ_21_P2":"1) أنت تحاول استخدام ملحق مدعوم من مصدر YouTube / BitTorrent ، من خلال إصدار الويب ${1} الخاص بنا ${2}. في هذه الحالة ، يجب عليك تثبيت إصدار سطح المكتب من $ {3} موقعنا $ {4}.","FAQ_21_P3":"2) هناك خطأ ما في تثبيت Stremio. في هذه الحالة ، حاول إعادة تثبيت أحدث إصدار لسطح المكتب من ${1} موقع الويب ${2}. إذا لم يساعدك ذلك ، فحاول تعطيل برامج مكافحة الفيروسات والجدران النارية وإعادة تشغيل الكمبيوتر والمحاولة مرة أخرى. إذا لم يفلح هذا أيضًا ، يرجى مراسلتنا على ${3} مجموعتنا على Facebook ${4}.","FAQ_22_H1":"لا يمكنني رؤية / استخدام معظم الوظائف الإضافية على iOS","FAQ_22_P1":"نظرًا للقيود الواردة في شروط وأحكام متجر تطبيقات Apple ، فقد قصرنا تطبيق iOS على مجموعة معينة من الوظائف الإضافية.","FAQ_22_P2":"لكن كن مطمئنًا - سيكون هناك المزيد من الوظائف الإضافية لنظام iOS في المستقبل ، وقد نضيف أيضًا تكاملًا يسمح لك باستخدام جميع إضافات Stremio بفضل توصيل تطبيق iOS بخادم Stremio Streaming Server."}')},84563:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Филм","TYPE_series":"Сериал","TYPE_tv":"TV канал","TYPE_channel":"Канал","TYPE_other":"Друго","TYPE_movie_PL":"Филми","TYPE_series_PL":"Сериали","TYPE_tv_PL":"TV канали","TYPE_channel_PL":"Канали","TYPE_other_PL":"Други","TYPE_ALL":"Всички","TYPE":"Тип","CATALOG_com_linvo_cinemeta_top":"Популярни","CATALOG_com_linvo_cinemeta_imdbRating":"Препоръчани","CATALOG_com_linvo_cinemeta_year":"Нови","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Видео","BACK":"Назад","MORE":"Още","DONE":"Готово","COPY":"Копирай","SUCCESS":"Успех","ERROR":"Грешка","SETTINGS_CASTING_MODE_PICKER":"Режим на излъчване","CASTING_MODE_HLSV2":"По подразбиране","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Без транскодиране","Discover":"Открий","Board":"Табло","Library":"Библиотека","My Library":"Моята библиотека","Calendar":"Календар","NOTIFICATION_ONLINE":"Вече сте онлайн","NOTIFICATION_OFFLINE":"В момента сте офлайн","INTERNET_CONNECTION":"Интернет връзка","STORAGE_FULL_TITLE":"Внимание: Паметта е пълна!","STORAGE_FULL_TEXT":"Stremio няма да може да запази вашите настройки, предпочитания или информация за вход. Помислете за повторно стартиране или преинсталиране на Stremio.","SEARCH":"Търсене","SEARCH_NO_RESULTS":"Не са намерени резултати","SEARCH_EXPLANATION_CONTENT":"Търсете на филми, сериали, TV и YouTube канали","SEARCH_EXPLANATION_PEOPLE":"Търсене на актьори и режисьори","SEARCH_PASTE_LINKS":"Поставете HTTP или магнитна връзка","SEARCH_OR_PASTE_LINK":"Търсене или поставяне на връзка","SEARCH_SUGGESTIONS":"Предложения за търсене","ADD_TO_LIB":"Добави","REMOVE_FROM_LIB":"Премахни","ADDED_TO_LIB":"Добавено към библиотека","REMOVED_FROM_LIB":"Премахнато от библиотека","TRAILER":"Трейлър","WATCH_TRAILER":"Трейлър","WATCH_NOW":"Гледай","SHOW":"Покажи","SHOW_MOVIE":"Показване на филма","WATCH_RANDOM":"Произволно гледане","IMDB_RATING":"IMDb рейтинг","YEAR":"Година","DIRECTOR":"Режисьор","WRITER":"Автор","LEAD_ACTORS":"В главните роли","CAST":"Състав","CREW":"Екип","SHOW_MORE_CAST":"Показване на повече актьорски състав »","AIRED":"Излъчено","SEASONS":"Сезони","GENRE":"Жанр","GENRE_ALL":"Всичи жанрове","CATALOG":"Каталог","SUMMARY":"Описание","SHOW_MORE":"Показване на повече","SIMILAR":"Подобни","UPCOMING":"Очаквайте","TBA":"TBA","ENDED":"Прекратено","DURATION":"Продължителност","FEATURED":"Предложено","METADATA":"Метаданни","CATEGORY":"Категория","LINKS_GENRES":"Жанрове","LINKS_CAST":"Актьорски състав","LINKS_DIRECTORS":"Режисьори","SEARCH_VIDEOS":"търси видеа","SEARCH_PLACEHOLDER":"търсене или поставяне на магнитна връзка","ADDON":"добавка","ADDONS":"Добавки","OFFICIAL":"официални","ADDONS_OFFICIAL":"Официални добавки","ADDONS_POPULAR":"Популярни в региона ви","ADDON_FREE":"безплатно","ADDON_PEERED":"преглеждано","ADDON_SUBSCRIPTION":"абонамент","ADDON_STREAM_GEORESTRICTED":"недостъпно във вашия регион","ADDON_STREAM_OFFLINECACHE":"Офлайн кеш","ADDON_STREAM_LOCALFILE":"Локален файл","SHARE_ADDON":"Споделяне на добавка","AVAILABLE_STREAMS":"Достъпни източници","NO_STREAM":"Няма достъпни източници","ALL_ADDONS":"Всички","INSTALL_MORE_ADDONS":"За повече източници, моля инсталирайте повече добавки","STREAM_NOT_SUPPORTED":"Избраният източник не е подържан на тази платформа.","ADDON_CATALOGUE":"Показване на всички добавки »","ADDON_CATALOGUE_MORE":"Още добавки »","REPO_ADDED":"Хранилището е добавено","ADDON_REPO_EXIST_ERR":"Това хранилище за добавки вече съществува","ADDON_REPO_ERR":"Грешка при добавяне на хранилището","ADDON_ADD_ERR":"Грешка при добавяне на добавката","ERR_ADDON_PROTECTED":"Защитена добавка","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Нещо се обърка - удостоверяването може да се е провалило","ERR_NOT_COLLECTION_URL":"Това не е url на колекция","ERR_NOT_ADDON_URL":"Това не е url на добавка","ERR_DETECTFROMURL":"Не може да се разпознае url","ADDON_DUPLICATE_WARNING":"Предупреждение: съществуваща добавка","ADDON_COLLECTION_SET_FAILED":"Колекцията на добавката е провалена","SETTINGS_DATA_EXPORT":"Експортиране на данни","ADDON_PULL_FAILED":"Извличането на добавката се провали","REFRESH_ON_CLICK":"Кликнете за повторение","ADDON_LOADING_MANIFEST":"Зареждане на манифеста на добавката","ADDON_LOADING_MANIFEST_FROM":"Зареждане на манифеста на добавката от {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Извличането на манифеста на добавката от {{origin}} се провали","STILL_IN_THEATER":"Филмът е все още по кината","WATCH_IN_CINEMA":"Гледайте по кината","IN_THEATER":"По кината","GET_TICKETS":"Купи билети","UPCOMING_EPISODE":"Предстоящ епизод","UPCOMING_EPISODE_MESSAGE":"Този епизод ще бъде излъчен","MISSING_DATE_EPISODE":"Липсваща дата на епизода","MISSING_DATE_EPISODE_MESSAGE":"Този епизод може да не е излъчен все още","CHANNEL_NOT_SCRAPED":"Нямаме информация за този канал все още.<br>Върнете се след няколко минути.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Добавете го в библиотеката, за да получите известие.","GET_NOTIFIED_WHEN_AVAILABLE":"Ще получите известие когато излезе.","WARNING_STREAMING_SERVER":"Предупреждение: локалният сървър за поточно предаване не е свързан. Не е възможно поточно предаване от YouTube и BitTorrent.","WARNING_STREAMING_SERVER_DISMISS":"Отхвърляне","WARNING_STREAMING_SERVER_LATER":"По-късно","DECODER_WARNING":"Внимание: Това видео може да не се поддържа от вашия хардуер. Имайте предвид, че плейбека може да е бавен.","GENERIC_ERROR_MESSAGE":"Нещо се обърка!","TRY_AGAIN":"Опитай отново","CLEAR_DATA":"Изчисти данни","PLAYER_ERROR":"Упс, грешка на плеъра","PLAYER_ERROR_LOOKSLIKE":"Изглежда като","PLAYER_ORIENTATION":"Ориентация на плеъра","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Заключен","PLAYER_ORIENTATION_SENSOR_SHORT":"Заключен","PLAYER_ORIENTATION_LANDSCAPE":"Ориентацията на екрана е заключена пейзажно","PLAYER_ORIENTATION_SENSOR":"Ориентацията на плеъра е автоматична (сензор)","PLAYER_PLAYBACK_SPEED":"Скорост на плейбека","PLAYER_PLAYBACK_ERROR":"Грешка при пускане, моля, опитайте отново","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Непозната грешка","PLAYER_PLAYBACK_ERROR_DEFAULT":"Съжаляваме, това видео не може да се пусне от {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Езици на субтитрите","PLAYER_SUBTITLES_VARIANTS":"Варианти на субтитрите","PLAYER_SUBTITLES_SETTINGS":"Настройки на субтитрите","PLAYER_SUBTITLES_DISABLED":"Субтитрите са изключени","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Вертикална позиция","PLAYER_SUBTITLES_LOADED":"Субтитрите са заредени","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Вградените субтитри са заредени","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Ексклузивните субтитри са заредени","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Субтитрите от {{origin}} са заредени","PLAYER_PLAY":"Пусни","PLAYER_PAUSE":"Пауза","PLAYER_NEXT_VIDEO":"Следващо видео","PLAYER_MUTE":"Без звук","PLAYER_UNMUTE":"Пускане на звука","PLAYER_OPEN_IN_EXTERNAL":"Отваряне във външен плеър","PLAYER_OPEN_IN_NPLAYER":"Отваряне в nPlayer","PLAYER_PLAY_IN":"Пускане на {{device}}","PLAYER_LIVE":"На живо","PLAYER_NEXT_VIDEO_TITLE":"Следва","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Отхвърляне","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Гледане сега","PLAYER_COPY_STREAM_SUCCESS":"Връзката за поточно предаване беше копирана във клипборда","PLAYER_COPY_STREAM_ERROR":"Неуспешно копиране на връзката за поточно предаване","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Линка за изтегляне е копиран в клипборда","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Неуспешно копиране на линка за изтегляне","PLAYER_STATISTICS":"Статистика","PLAYER_PEERS":"Пиъри","PLAYER_SPEED":"Скорост","PLAYER_COMPLETED":"Завършен","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Поточно предаване от","CASTING_TO":"Предаване към","NETWORK_STATUS":"Състояние на мрежата","STREAM_SPEED":"Скорост:","STREAM_BUFFERED":"Буфер:","PEERS_INFO":"Пиъри","PEERS_ACTIVE":"Активни:","PEERS_CONNECTED":"Свързани:","PEERS_WAITING":"Чакащи:","TRANSCODING_WARNING":"Внимание: транскодиране на видеото.","STREAM_LOADING":"зареждане...","PLAYING_LOCAL":"Пусни от локален файл","PLAYING_CACHE":"Пусни от кеш","WRONG_SUBS":"Грешни субтитри?","ERR_SUBS_LOADING_TITLE":"Грешка при зареждане на субтитри","ERR_SUBS_LOADING":"Зареждането на субтитрите се провали: може да е проблем с добавката, която използвате, или с вашата мрежова връзка","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Следните добавки за субтитри са неуспешни","ERR_CASTING_UPDATE_TITLE":"Информацията на устройството за предаване не можа да се актуализира: сървъра за поточно предаване може да е онлайн","CHOOSE_DEVICE":"Изберете устройство","NO_CAST_DEVICES":"Няма налични устройства за предаване.","NO_SETTINGS":"Няма налични настройки.","NO_OPTIONS":"Няма налични опции.","PHONE_TABLET":"Телефон / Таблет","DISABLED_LABEL":"{{label}} не може да се редактира","SUBTITLES":"Субтитри","SUBTITLES_CHANGE":"Сменяне на субтитрите на ","SUBTITLES_CHANGE_NONE":"Няма други субтитри за този език.","SUBTITLES_CHANGE_ACIVE":"В момента субтитри #{{subtitlesDialog.activeIdx + 1}} са активирани. Кликнете \\"Продължи\\" за да активирате #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Алтернативно,","SUBTITLES_ADJUST_DELAY":"Настройте забавяне на субтитрите:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Или използвайте <span>G</span> / <span>H</span>, за да настроите субтитрите.","SUBTITLES_ADJUST_DELAY_TIP":"Съвет: може да ползвате <span>G</span> / <span>H</span>, за да настроите субтитрите.","SUBTITLES_DELAY":"Забавяне на субтитрите:","SUBTITLES_LOADING":"Зареждане на субтитри...","SUBTITLES_UNAVAILABLE":"Не са налични външен субтитри","SUBTITLES_DISABLED":"Изключено","EXTERNAL_PLAYER_DISABLED":"Изключено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Позволяване на избирането","EXTERNAL_PLAYER_HINT":"Съвет: Има настройка, която да позволява винаги да се отваря с външен плейър","DONT_SHOW_AGAIN":"Да не се показва отново","SERVICE_INSTALL":"Инсталиране","AUDIO":"Аудио","DEFAULT_LANGUAGE":"Език по подразбиране","DEFAULT_SECONDARY_LANGUAGE":"Допълнителен език по подразбиране","SEASON":"Сезон","SEASON_NUMBER":"Сезон {{season}}","PREV_SEASON":"Предишен сезон","NEXT_SEASON":"Следващ сезон","EPISODE":"Епизод","EPISODE_ABBREVIATION":"ЕП","SPECIAL":"Специално","SORT":"Сортиране","SORT_BY":"Сортиране по","FILTER":"Филтър","SORT_TRENDING":"Популярни","SORT_RECENT":"Последни","SORT_ALPHABET":"А-Я","SORT_ALPHABET_REVERSE":"Я-А","SORT_RATING":"Рейтинг","SORT_WATCHED":"Гледани","SORT_YEAR":"Година","SELECT":"Избиране","SELECT_TYPE":"Избиране на тип","SELECT_SORT":"Избиране на сортиране","SELECT_CATALOG":"Избиране на каталог","NO_CATALOG_SELECTED":"Няма избран каталог.","CATALOG_FILTERS":"Филтри за каталог","ALL_FILTERS":"Всички филтри","SELECT_GENRE":"Избиране на жанр","SORT_LASTWATCHED":"Гледани последно","SORT_NAME":"По име","SORT_NAMEREVERSE":"я-а","SORT_TIMESWATCHED":"Гледани последно","SORT_NOTWATCHED":"не е гледано","New for You":"Ново за Вас","New Episodes":"Нови епизоди","New Videos":"Нови видеа","Recommendations":"Препоръчано","LIBRARY_RESUME":"Продължи","LIBRARY_PLAY":"Пусни","LIBRARY_DETAILS":"Детайли","LIBRARY_RESUME_DISMISS":"Отхвърляне","LIBRARY_CLEAR_PROGRESS":"Изчистване на напредъка","LIBRARY_REMOVE":"Премахване","LIBRARY_NOT_LOGGED_IN":"Библиотеката е достъпна само за вписани потребители","LIBRARY_NOT_LOADED":"Библиотеката не е заредена!","LIBRARY_EMPTY":"Празна библиотека","CALENDAR_NOT_LOGGED_IN":"Календарът е достъпен само за вписани потребители","NOT_LOGGED_IN_CLOUD":"Получете достъп до любимите си филми и ТВ програми по всяко време, навсякъде","NOT_LOGGED_IN_RECOMMENDATIONS":"Препоръки, съобразени с вашата история на гледане","NOT_LOGGED_IN_NOTIFICATIONS":"Никога не изпускайте отново епизод","NOT_LOGGED_IN_CALENDAR":"Планирайте личния си календар за гледане","CALENDAR_NO_NEW_EPISODES":"Няма нови епизоди за днес","DISCOVER_FEATURED":"Избрано","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Носители на Оскар","DISCOVER_WARNING_TITLE":"Опа!","DISCOVER_EMPTY_CATALOG":"Тази добавка върна празно съдържание.","DISCOVER_ADULT_WARNING":"Това съдържание е достъпно само за възрастни. Имате ли навършени 18 години?","DISCOVER_NOADDON_WARNING":"Внимание: няма активна Stremio добавка за този тип съдържание. Тук виждате запазена информация, тя няма да се обнови.","DISCOVER_LOAD_ERR":"Съдържанието не може да се зареди. Възникна грешка.","DISCOVER_ADDON_UNINSTALLED":"Това съдържание вече не е достъпно. Може би добавката е премахната.","UNINSTALL_THIS_ADDON":"Деинсталирайте тази добавка","ERR_ADDON_NOT_INSTALLED":"Тази добавка не е инсталирана. Инсталиране?","DETAIL_RECEIVE_NOTIF_SERIES":"Получаване на известия за нови епизоди","DETAIL_RECEIVE_NOTIF_VIDEOS":"Получаване на известия за нови видеа","SIDEBAR_SHOW_STREAMS":"Показване на източниците","RELAUNCH":"Стартиране на новата версия!","UPGRADE":"Достъпна е нова версия","RELOAD_UI":"Презареждане на потребителският интерфейс","MANUAL_UPDATE_TITLE":"Обновете вашата версия на Stremio","MANUAL_UPDATE_LINE1":"Използвате стара версия на Stremio.","MANUAL_UPDATE_LINE2":"Моля обновете колкото се може по-скоро.","BUTTON_UPDATE_LATTER":"По-късно","BUTTON_UPDATE_NOW":"Обнови сега","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Анонимен потребител","DONT_HAVE_ACC":"Нямате акаунт?","HAVE_ACC":"Вече имате акаунт?","PASSWORD":"Парола","PASSWORD_CONFIRM":"Потвърждаване на паролата","EMAIL":"E-mail","FB_LOGIN":"Впишете се с Facebook","APPLE_LOGIN":"Впишете се с Apple","FB_NOTHINGSHARED":"Нищо не се споделя без ваше разрешение.","FB_NOPOST":"Ние няма да публикуваме нищо от ваше име","OR":"или","I_ACCEPT":"Прочетох и приемам","I_ACCEPT_BY_CLICKING":"Със натискането на бутона, се съгласявате, че приемате ","TOS":"Общите условия","MUST_ACCEPT_TERMS":"Вие трябва да се съгласите с условията","PASSWORDS_NOMATCH":"Паролите се различават","SIGN_UP":"Регистрирайте се","SIGN_UP_EMAIL":"Регистрирайте се с email","CLICK_TO_SIGN_UP":"Натиснете тук, за да се регистрирате.","LOG_IN":"Вход","LOG_OUT":"Отписване","EXIT_FULLSCREEN":"Излизане от цял екран","ENTER_FULLSCREEN":"Цял екран","PLAY_URL_MAGNET_LINK":"Пускане от URL/магнитна връзка","HELP_FEEDBACK":"Помощ и обратна връзка","TERMS_OF_SERVICE":"Условия за ползване","PRIVACY_POLICY":"Политика за поверителност","ABOUT_STREMIO":"За Stremio","USER_PANEL":"Потребителски панел","LOGIN_LABEL":"Вход","GUEST_LOGIN":"Вход като гост","GUEST_LOGIN_NOTICE":"Входът за гости не се препоръчва. Използването на редовно влизане позволява на Stremio да синхронизира библиотеката Ви, да получава известия за любими серии/канали. Сигурни ли сте, че искате да продължите?","GUEST_LOGIN_NOTICE_2":"Входът за гости не се препоръчва - няма да имате синхронизирани библиотеки и известия за табло, които са жизненоважни функции на Stremio. Сигурни ли сте, че искате да продължите?","CLICK_HERE":"Кликнете тук","WRONG_PASSWORD":"Грешна парола. В случай, че сте я забравили, ","SET_A_PASS":"Сложете ваша парола","RESET_PASSWORD":"Възстановяване на парола","PASSWORD_RESET":"Възстановяване на парола","FORGOT_PASSWORD":"Забравена парола?","EMAIL_USED_WITH_FB":"Този имейл е използван с Фейсбук логин.","INVALID_EMAIL":"Моля, въведете валиден email адрес","INVALID_PASSWORD":"Моля, въведете валидна парола","CONN_ERR":"Грешка при свързването - моля, опитайте отново по-късно.\\n\\nАко проблема продължава, изключете защитните стени/антивирусният софтуер (особено Bitdefender).","IMPORT_FROM_GUEST":"Импортиране на вашата Библиотека от входа за гости","RECEIVE_UPDATES_EMAIL":"Получавайте актуализации на вашият имейл от Stremio","LOGIN_FAILED":"Вписването се провали.","SIGNUP_FAILED":"Регистрацията се провали.","SEARCH_FAILED":"Търсенето се провали","EMAIL_USED":"Този имейл вече се използва.","WAITING_FB_LOGIN":"Вписване с Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Пускане във външен плеър","EXTERNAL_REMEMBER_PLAYER":"Искате ли да запомните вашият избор","EXTERNAL_ALWAYS_PLAY":"Да","EXTERNAL_ONLY_ONCE":"Не","BEST_FIT":"Най-добро побиране","FIT_SCREEN":"Побиране в екрана","FILL":"Запълване","16:9":"16:9","4:3":"4:3","Original":"Оригинал","INTRO_TASTE":"Кажете ни какво харесвате","INTRO_TASTE_LONG":"Кажете ни какво би Ви харесало да гледате","INTRO_TASTE_PICK":"Изберете {{interestsRemaining}} интереси","INTRO_TASTE_PICK_MORE":"Изберете {{interestsRemaining}} повече интереси","INTRO_TASTE_HELP_US":"Помогнете ни да научим повече за Вас.","INTRO_TASTE_CHOOSE_THESE":"Изберете някои от тези:","INTRO_TASTE_CHOOSE_MIN":"Изберете най-малко 3 категории","INTRO_TASTE_CHOOSE_MIN_ERR":"Трябва да изберете най-малко 3 категории!","INTRO_TASTE_LIFESTYLE":"Лайфстайл","INTRO_TASTE_SPORTS":"Спорт","INTRO_TASTE_FOOD_HEALTH":"Храна & Здраве","INTRO_TASTE_BEAUTY_FASHION":"Красота & Мода","INTRO_TASTE_NEWS":"Новини","INTRO_TASTE_GAMING":"Гейминг","INTRO_TASTE_SCIENCE_EDU":"Наука & Образование","INTRO_TASTE_MUSIC":"Музика","INTRO_TASTE_TRAVEL":"Пътуване","INTRO_TASTE_LATE_NIGHT":"Късно шоу","INTRO_TASTE_REALITY":"Реалити","INTRO_TASTE_COMEDY":"Комедия","INTRO_TASTE_DIY":"Направи сам","INTRO_TASTE_TECH":"Техника","INTRO_TASTE_CINEMA":"Кино","NO_ADDONS":"Няма инсталирани добавки!","NO_ADDONS_FOR_TYPE":"Няма инсталирани добавки за този тип!","ADDON_NOT_SUPPORTED":"Избраната добавка не се поддържа на тази платформа.","ADDON_DISCLAIMER":"Използването на добавката от трети лица е ваша отговорност.","ADDON_ACTIVATE":"Активиране на тази добавка?","ADDON_REPO_ADD":"URL на хранилище за добавка","ADDON_ADD":"Добави добавка","INSTALL_ADDON":"Инсталирай добавка","ADD_ADDON":"Добавяне на добавка","ADD_ADDON_DESCRIPTION":"Вие можете да добавите добавка чрез външна връзка, която ще се появи под Инсталираните добавки.","PASTE_ADDON_URL":"Поставяне на URL на добавката","ADDONS_FILTERS":"Филтри за добавки","WHATS_NEW":"Какво ново?","BUTTON_CONTINUE":"Продължи","BUTTON_ACTIVATE":"Активирай","BUTTON_ACTIVATED":"Активирано","BUTTON_CANCEL":"Отказ","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Изпращане","BUTTON_SEND":"Изпращане","BUTTON_DISMISS_ALL":"Отхвърляне на всички","BUTTON_VIEW_ALL":"Разглеждане на всички","BUTTON_SEE_ALL":"Вижте всички","BUTTON_COLOR_TRANSPARENT":"Прозрачно","BUTTON_PREV":"Назад","BUTTON_NEXT":"Напред","BUTTON_CLOSE":"Затвори","OPEN_IN_BROWSER":"Отваряне в браузър","LIB_EMPTY":"Библиотеката ви е празна. Открийте колко е полезна :) ","HOW_START":"Започнете така:","LIB_EMPTY_CAL":"Календарът показва епизоди от сериалите във вашата Библиотека.","HOW_START_CAL":"Ето как добавяте сериали:","LIB_EMPTY_BOARD":"Тук ще видите каталог от популярно съдържание, както и известия и препоръки, свързани с Библиотеката ви.","HOW_START_BOARD_WAIT":"Моля, добавете няколко канала/сериала и ни дайте няколко минути да съберем известия :)","HOW_START_BOARD":"Ето как добавяте филми и сериали в библиотеката:","IMPORT_FB":"Добавяне от <span>Facebook</span>","IMPORT_TRAKT":"Добавяне на вашата медийна библиотека от <span>Trakt</span>","IMPORT_DISCOVER":"Намерете интересни неща в <span>Откриване</span>","IMPORT_DISK":"Сканирайте за филми и сериали от вашия <span>локален диск</span>","PLEASE_CREATE_ACC":"Моля, <u>създайте акаунт</u>, за да използвате Библиотека и Табло.","IMPORT_DISCOVER_SIGNUP":"Регистрирайте се и намерете интересни неща в <span>Откриване</span>","IMPORT_DISK_SIGNUP":"Регистрирайте се и импортирате вашите филми или сериали от вашият <span>локален диск</span>","LIB_EMPTY_CLOUD":"Облачна библиотека","LIB_EMPTY_CLOUD_DESC":"Личната облачна библиотека, синхронизирана на всички устройства","LIB_EMPTY_EARLY":"Ранна птица","LIB_EMPTY_EARLY_DESC":"Получаване на известия за нови епизоди","LIB_EMPTY_PERSONAL":"Лична","LIB_EMPTY_PERSONAL_DESC":"Получавайте персонализирани препоръки","LIB_EMPTY_CALENDAR_DESC":"Планирайте личния си календар за гледане","LIB_EMPTY_ALL":"Регистрирайте се, за да получите всичко това:","LIB_EMPTY_BEST":"Регистрирайте се, за да получите най-доброто от Stremio","LIB_EMPTY_OTHER":"Регистрирайте се, за да включите Календар и други готини функции","CALENDAR_ADDED":"Календарът на Stremio беше добавен към настолния ви календар по подразбиране.","CALENDAR_ADDED_MSG":"Ако това не проработи, моля добавете този URL в вашият календар ръчно","TRAKT_EXPIRED":"Trakt удостоверяването е изтекло, моля, отидете в настройки и се удостоверете отново","TRAKT_REQUIRES_LOGIN":"Trakt грешка","TRAKT_REQUIRES_LOGIN_MSG":"Трябва да се впишете","TRAKT_IMPORT_WATCHED":"Внасяне","THEME":"Тема","THEME_DEFAULT":"Стандартна","THEME_ADAPTIVE":"Адаптивна","CHOOSE_COLOR":"Избери цвят:","SETTINGS_APP_VERSION":"Версия на приложението","SETTINGS_BUILD_VERSION":"Версия на build","SETTINGS_SERVER_VERSION":"Версия на сървър","SETTINGS_SHELL_VERSION":"Shell версия","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Настройки","SETTINGS_NAV_GENERAL":"Общи","SETTINGS_NAV_PLAYER":"Плеър","SETTINGS_NAV_STREAMING":"Поточно предаване","SETTINGS_NAV_SHORTCUTS":"Преки пътища","SETTINGS_SHORTCUT_RELOAD_APP":"Презареждане на приложението","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Отваряне на Настройки","SETTINGS_SHORTCUT_SWITCH_TABS":"Сменяне на разделите","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Преминаване през разделите напред","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Преминаване през разделите назад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Навигация между менютата","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Търсене","SETTINGS_SHORTCUT_EXIT_BACK":"Изход / Назад","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Меню за скорост на плейбека","SETTINGS_SHORTCUT_MENU_VIDEOS":"Меню Видеа","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Меню Субтитри","SETTINGS_SHORTCUT_MENU_AUDIO":"Меню Аудио","SETTINGS_SHORTCUT_MENU_INFO":"Меню Информация","SETTINGS_SHORTCUT_FULLSCREEN":"Цял екран","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Показване на контролите","SETTINGS_SHORTCUT_PLAY_PAUSE":"Пусни / Пауза","SETTINGS_SHORTCUT_VOLUME_UP":"Увеличаване на звука","SETTINGS_SHORTCUT_VOLUME_DOWN":"Намаляне на звука","SETTINGS_SHORTCUT_SEEK_NEXT":"Превъртане на следващ","SETTINGS_SHORTCUT_SEEK_PREV":"Превъртане на предишен","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Превъртане назад","SETTINGS_SHORTCUT_SEEK_FORWARD":"Превъртане напред","SETTINGS_SHORTCUT_PLAY_NEXT":"Пускане на следващ","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Увеличаване на размера на субтитрите","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Намаляване на размера на субтитрите","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Увеличаване на забавянето на субтитрите","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Намаляване на забавянето на субтитрите","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Странична лента","SETTINGS_SHORTCUT_OR":"или","SETTINGS_SHORTCUT_TO":"до","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Интервал","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Удостоверяване","SETTINGS_FACEBOOK_IMPORT":"Импортиране","SETTINGS_CALENDAR_SUBSCRIBE":"Абониране","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Приложението календар е отворено. Моля абонирайте се в календара ръчно.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Файлът за календар е изтеглен. Моля импортирайте го във вашето приложение календар.","SETTINGS_INTERFACE_LANGUAGE":"Език на интерфейса","SETTINGS_LAUNCH_STARTUP":"Зареждане при стартиране на компютъра","SETTINGS_VLC_DEFAULT":"Пускане във VLC","SETTINGS_UI_LANGUAGE":"Език на потребителският интерфейс","SETTINGS_UI_ZOOM":"Увеличаване на интерфейса","SETTINGS_FULLSCREEN_EXIT":"Бутона Esc изключва цял екран","SETTINGS_GAMEPAD":"Включване на подръжка за геймпад","SETTINGS_CLOSE_WINDOW":"Затваряне на приложението, когато прозореца е затворен","SETTINGS_SUBTITLES_LANGUAGE":"Език на субтитрите по подразбиране","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Размер на субтитрите по подразбиране","SETTINGS_SUBTITLES_BACKGROUND":"Фон на субтитрите","SETTINGS_SUBTITLES_COLOR":"Цвят на субтитрите","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Цвят на очертанията на субтитрите","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Цвят на фона на субтитрите","SETTINGS_SEEK_KEY":"Време за превъртане, когато превъртате със стрелките","SETTINGS_SEEK_KEY_SHIFT":"Време за превъртане, когато превъртате със стрелките и бутона Shift е задържан","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Времетраене на превъртането напред или назад","SETTINGS_BINGE":"Автом. пускане на следващият епизод","SETTINGS_NEXT_VIDEO":"Показване на известието, за да започнете следващия епизод","SETTINGS_NEXT_VIDEO_TRIGGER":"Показване на известието за следващ епизод за:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Продължителност на известието за следващо видео","SETTINGS_PLAY_IN_BACKGROUND":"Пусни на заден фон","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Пусни във външен плейър","SETTINGS_RESIZE":"Автоматично преоразмеряване на прозореца преди пускане","SETTINGS_OVERRIDE_SERVER":"Заобикаляне на URL на сървъра за поточно предаване (разширено)","SETTINGS_SERVER_ADD_URL":"Добави URL","SETTINGS_SERVER_URL":"URL на сървър за поточно предаване: ","SETTINGS_SERVER_AVAILABLE":"Сървъра за поточно предаване е достъпен.","SETTINGS_SERVER_UNAVAILABLE":"Сървъра за поточно предаване не е достъпен.","SETTINGS_SERVER_STATUS_ONLINE":"Онлайн","SETTINGS_SERVER_STATUS_ERROR":"Грешка","SETTINGS_SERVER_CONFIGURE_TITLE":"Конфигурирайте url на сървъра за поточно предаване","SETTINGS_SERVER_CONFIGURE_INPUT":"Въведете url на сървъра за поточно предаване","SETTINGS_SERVER_CACHE_SIZE":"Размер на кеша","SETTINGS_SERVER_TORRENT_PROFILE":"Торент профил","SETTINGS_HTTPS_ENDPOINT":"HTTPS за поточно предаване на крайната точка: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Ползване винаги на последната Beta","SETTINGS_IMPORT_FB":"Импортиране от Facebook","SETTINGS_IMPORT_DISK":"Импортиране от локален диск","SETTINGS_IMPORT_TRAKT":"Импортиране от Trakt","SETTINGS_PAUSE_MINIMIZED":"Пауза на плейбекa при минимализиране","SETTINGS_HWDEC":"Хардуерно ускорено декодиране","SETTINGS_BACKGROUND":"Пускане на заден фон","SETTINGS_SUBSCRIBE_CALENDAR":"Абонирайте се за календара","SETTINGS_REQ_EXPORT":"Заявка за експорт на данните","SETTINGS_ACC_DELETE":"Заявка за изтриване на акаунта","SETTINGS_CHANGE_PASSWORD":"Промяна на парола","SETTINGS_TOS":"Условия за ползване","SETTINGS_SUPPORT":"Поддръжка","SETTING_LANGUAGE":"Език","SETTINGS_BLUR_UNWATCHED_IMAGE":"Замъгли негледаните епизоди","SETTINGS_QUIT_ON_CLOSE":"Изход при затваряне","SETTINGS_TRAKT":"Trakt Записване&Препоръки","SETTINGS_TRAKT_RE_AUTH":"Удостовери наново","SETTINGS_TRAKT_LOGOUT":"Изход от Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Изход от Trakt","SETTINGS_SCAN_FOR_REMOTE":"Сканирайте QR кода, за да отворите дистанционното управление","SETTINGS_DESKTOP_NOTIFICATIONS":"Известия на работния плот","SETTINGS_DATA_SAVER":"Икономия на данни","SETTINGS_LANGUAGE_INTERFACE":"интерфейс","SETTINGS_LANGUAGE_SUBS":"Субтитри по подразбиране","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Автоматично избиране на аудио","SETTINGS_DEFAULT_AUDIO_TRACK":"Аудио по подразбиране","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Съраунд звук","SETTINGS_ACCOUNT":"акаунт","SETTINGS_PLATFORM":"Платформа","SETTINGS_VERSION":"версия","SETTINGS_ABOUT":"Относно","SETTINGS_MPV_WINDOW":"Стартиране на плеъра в отделен прозорец (разширено)","SETTINGS_PLAY_IN_EXTERNAL":"Старт. на видеото винаги в външен плеър","SETTINGS_STORAGE_BUTTON":"Изчистване на локалните данни","SETTINGS_STORAGE_MODAL_TITLE":"Сигурни ли сте?","SETTINGS_STORAGE_MODAL_MESSAGE":"Това ще изтрие локалните данни и ще ви отпише.","SETTINGS_HWDEC_PICKER":"Изберете настройката за декодиране, ускорена с хардуер","SETTINGS_HW_AUTOMATIC":"Автоматично","SETTINGS_HW_DISABLED":"Изключено","SETTINGS_HW_ACCELERATED":"Ускорение на декодирането","SETTINGS_HW_FULL":"Пълно ускорение","SETTINGS_HW_LEGACY":"Наследяване","SETTINGS_DISABLED":"Деактивирано","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Известие за мрежова връзка","SETTINGS_ANALYTICS":"Позволи анализи","SETTINGS_REMOTE_URL":"Отдалечен URL","SETTINGS_COPY_REMOTE_URL":"Копитай отдалечения URL","SETTINGS_REMOTE_URL_COPIED":"Отдалечения URL беше копиран в клипборда","SETTINGS_SECTION_SUBTITLES":"Субтитри","SETTINGS_SECTION_AUDIO":"Аудио","SETTINGS_SECTION_CONTROLS":"Контроли","SETTINGS_SECTION_AUTO_PLAY":"Автоматичен плейбек","SETTINGS_SECTION_ADVANCED":"Разширени","SUBSPICKER_AUDIO":"Аудио","SUBSPICKER_SUBTITLES":"Добавки за субтитри","SUBSPICKER_BLACK_BACKGROUND":"Използване на черен цвят за заден фон","SUBSPICKER_VERTICAL_OFFSET":"Вертикално отместване","SUBSPICKER_SIZE":"Размер","SUBSPICKER_DELAY":"Забавяне","SUBSPICKER_EMBEDDED_SUBS":"Вградени субтитри","MOBILE_PRIVACY_POLICY":"Политика за поверителност","MOBILE_CRASH_REPORTING":"Доклади за грешки","MOBILE_ZOOM_TO_FILL":"Мащабиране до пълен екран","MOBILE_PASSTHROUGH":"Цифров аудио изход (пропускане)","MOBILE_RUN_LOW_BATTERY":"Изпълнение при изтощена батерия","MOBILE_RUN_FOREGROUND":"Изпълнение като услуга на преден план","MOBILE_PERFORMANCE":"ПРОИЗВОДИТЕЛНОСТ и СТАБИЛНОСТ","MOBILE_SERVER_ONLINE":"Онлайн","MOBILE_SERVER_OFFLINE":"Офлайн","MOBILE_QR_EXPIRES":"QR кода ще изтече след ","MOBILE_LOG_INTO":"Вписване във вашият Stremio акаунта ","MOBILE_SCAN_QR":"Сканирайте QR кода по-горе или отидете на ","MOBILE_LINK_ACCOUNT":"Свързване на акаунта","MOBILE_SPEEDPICKER_CANCEL":"Отказ","MOBILE_SPEEDPICKER_LABEL":"Изберете скорост на плейбека","MOBILE_EMPTY_LIBRARY":"Вашата библиотека е празна","MOBILE_NO_ADDON_ACTIVE":"Няма активна Stremio добавка за този тип.","MOBILE_ORGANIZER_WARNING":"Приложението Stremio Organizer осигурява ограничена функционалност. За списък на възпроизвеждаемите източници и за пълно Stremio изживяване, използвайте Stremio за работен плот.","MOBILE_ADDON_LOADING":"все още се зарежда","MOBILE_ADDONS_LOADING":"добавките все още се зареждат","MOBILE_ADDON":"Добавка","MOBILE_CONFIGURE_ADDON":"Конфигуриране на вашата добавка","MOBILE_CONFIGURE_ADDON_LABEL":"Конфигуриране на добавка","MOBILE_ORGANIZER_ADDONS_WARNING":"Приложението Stremio Organizer осигурява ограничен избор на добавки. За пълно Stremio изживяване, използвайте Stremio за работен плот.","MOBILE_DISCONNECT":"Прекъсване на връзката","MOBILE_LOOKING_FOR_DEVICES":"Търсене на устройства...","MOBILE_CAST_TO":"Предаване на","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Изтриване на акаунт","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Изтриването на акаунта не е незабавно поради законови задължения. След като поискате изтриване на акаунта си, ще трябва да използвате различен имейл адрес/профил във Facebook, за да създадете нов акаунт в Stremio в бъдеще.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Потвърдете изтриването на акаунта","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Вашият акаунт е създаден с помощта на Facebook. За да изтриете акаунта си, моля, използвайте нашия потребителски портал на адрес www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Моля, предоставете паролата си, за да потвърдите изтриването на акаунта.","MOBILE_DELETE_ACCOUNT_BUTTON":"Изтриване на акаунт","NAVIGATION_ON":"Включено","NAVIGATION_OFF":"Изключено","READ_AND_AGREE":"Прочетох и се съгласявам с","MARKETING_AGREE":"Съгласен съм да получавам маркетингови комуникации от Stremio","QUIT":"Спиране","CONNECTED":"Свързано","AUTHENTICATE":"Оторизация","AUTHENTICATING":"Оторизиране...","CACHING":"Кеширане","SETTINGS_CACHING_DRIVE":"Изберете диск за кеш","ENABLE_LOCAL_FILES_ADDON":"Активирайте добавката за локални файлове (изисква рестартиране)","LOCAL_ADDON_NOT_ENABLED":"Локалната добавка не е активирана. Клекнете тук за да отидете в настройките и да я активирате","ENABLE_REMOTE_HTTPS_CONN":"Включване на отдалечени HTTPS връзки","TORRENT_PROFILE":"Торент профил","DATA_CACHING":"Кеширане на данните","MAGNET_PARSING":"Анализиране на магнитна връзка","January":"Януари","February":"Февруари","March":"Март","April":"Април","May":"Май","June":"Юни","July":"Юли","August":"Август","September":"Септември","October":"Октомври","November":"Ноември","December":"Декември","Monday":"Понеделник","Tuesday":"Вторник","Wednesday":"Сряда","Thursday":"Четвъртък","Friday":"Петък","Saturday":"Събота","Sunday":"Неделя","Action":"Екшън","Comedy":"Комедия","War":"Военен","Family":"Семейни","Animation":"Анимация","Adventure":"Приключенски","Fantasy":"Фентъзи","Crime":"Криминални","Mystery":"Мистерия","Romance":"Романтични","Drama":"Драма","Horror":"Ужаси","Thriller":"Трилър","Sci-Fi":"Научна фантастика","Music":"Музикален","Biography":"Биографичен","Documentary":"Документален","Sport":"Спорт","Musical":"Мюзикъл","Western":"Уестърн","Film-Noir":"Филм ноар","News":"Новини","History":"Исторически","Game-Show":"Гейм-шоу","Reality-TV":"Риалити","Talk-Show":"Токшоу","Film & Entertainment":"Филм и забавление","Gaming":"Гейминг","From TV":"От телевизията","Lifestyle":"Лайфстайл","Science & Education":"Наука и Образование","Cooking & Health":"Готвене и Здраве","Beauty & Fashion":"Красота и Мода","Sports":"Спорт","News & Politics":"Новини и Политика","How-to & DIY":"Как да и Направи си сам","Tech":"Техника","Automotive":"Автомобил","Causes & Non-Profits":"Каузи и Нестопански цели","Movies":"Филми","Uk Live Tv":"ТВ на живо от Обединеното Кралство","Fashion":"Мода","Business News Radio":"Бизнес новини радио","Business Tv":"Бизнес телевизия","Cars & Auto":"Автомобили","Comedy Radio":"Комедийно радио","Lifestyle Radio":"Лайфстайл радио","News Tv":"Новинарска телевизия","Food And Wine":"Храна и Вино","Latino Tv":"Латино ТВ","Shopping Tv":"Шопинг ТВ","Religion":"Религия","Kids":"Деца","Body & Soul":"Душа и тяло","Education":"Образование","Indian Tv":"Индийска ТВ","Extreme Sports":"Екстремни спортове","Middle Eastern Tv":"ТВ от Близкият Изток","Celebrity Tv":"Телевизия за звезди","Science Tv":"Научна ТВ","Bikini babe":"Бикини бейби","Outdoors":"На открито","German Tv":"Немска ТВ","French Tv":"Френска ТВ","Italian Tv":"Италианска ТВ","Gamer Tv":"Гехмърска ТВ","Travel":"Пътуване","Asian Tv":"Азиатска ТВ","Entertainment":"Развлечение","News Radio":"Новинарско радио","Music Radio":"Музикално радио","Language Learning":"Изучаване на езици","Science Radio":"Научно радио","Tech Radio":"Радио за технологии","Science & Technology Vod":"Наука и Технологии VOD","new video":"ново видео","new episode":"нов епизод","new movie":"нов филм","recommended":"препоръчано","we recommend":"Ние препоръчваме","offer of the day":"оферта на деня","news":"новини","music video":"музикално видео","CTX_SHOW_HOTKEYS":"Показване на клавишни комбинации","CTX_DISMISS_NOTIF":"Премахни известия","CTX_DISMISS_ALL":"Премахни всички","CTX_SHARE":"Сподели","CTX_COPY_SHARE_LINK":"Копирай връзка за споделяне","CTX_COPY_MAGNET_LINK":"Копиране на магнитна връзка","CTX_COPY_STREAM_LINK":"Копиране на връзка за поточно предаване","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Изтегляне на това видео","CTX_DOWNLOAD_SUBS":"Изтегляне на субтитри","CTX_VIEW_ON_YOUTUBE":"Преглед в YouTube","CTX_SHOW":"Покажи","CTX_PLAY":"Гледай","CTX_PLAY_IN":"Гледай в","CTX_PLAY_ON":"Гледай на","CTX_WATCH_ON":"Гледай на","CTX_WATCH":"Гледай","CTX_WATCHED":"Гледано","CTX_WATCH_BEGINNING":"Гледай от началото","CTX_WATCH_MOBILE":"Гледай на мобилно устройство","CTX_REWIND":"Превърти до началото","CTX_MARK_WATCHED":"Маркирай като гледано","CTX_MARK_NON_WATCHED":"Маркирай като негледано","CTX_MARK_UNWATCHED":"Маркиране като негледано","CTX_MARK_REST":"Маркиране на останалите като гледани","CTX_UNMARK_REST":"Маркиране на останалите като негледани","CTX_RECEIVE_NEW_NOTIF":"Получавай нови известия","CTX_ENABLE_NEW_NOTIF":"Активирай известията","CTX_DISABLE_NEW_NOTIF":"Деактивирай известията","CTX_REMOVE_CACHE":"Премахни от кеша","CTX_REMOVE_CACHE_EP":"Премахни епизод от кеша","CTX_OPEN_CONTAINING":"Отвори папка","CTX_REMOVE":"Премахни от библиотеката","CTX_AVAILABLE_OFFLINE":"Достъпно офлайн","CTX_PAUSED":"Пауза","CTX_ALWAYS_ON_TOP":"Винаги отгоре","CTX_FULLSCREEN":"Цял екран","CTX_WRONG_SUBS":"Грешни субтитри?","CTX_REPORT_ISSUES":"Докладвай проблем","CTX_COPY":"Копирай","CTX_COPY_TO_CLIPBOARD":"Копирай в клипборда","CTX_PASTE":"Постави","CTX_CLEAR":"Изчисти","CTX_CLEAR_RECENT_SEARCHES":"Изчисти последни търсения","HELLO_THERE":"Здравейте","HOPE_YOU_ENJOY":"Надяваме се, че харесвате Stremio и вече е едно от любимите Ви приложения!","WHO_ARE_WE":"Кои сме ние? Ние сме двама и работихме усилено всеки ден в последните 3 години, за да подобряваме този продукт.","SUPPORT_US":"Ако продуктът ни ви е полезен и ви прави щастливи, подкрепете ни!","SPREAD_THE_WORD":"Споделете с приятелите си, разгласете Stremio","MORE_PEOPLE":"Колкото повече хора ползват Stremio, толкова по-добро ще става!","SEND_A_LINK":"Или изпратете връзка към уебсайта","TIP_LOCALFILES":"Съвет: можете да плъзнете и пуснете локални видео файлове в Stremio","ADDON_MY":"Моите добавки","ADDON_COMMUNITY":"Неофициални добавки","ADDON_OFFICIAL":"Официални добавки","ADDON_REPOS":"Хранилища за добавки","ADDON_SEARCH":"Търсене на добавки","ADDON_INSTALL":"Инсталиране","ADDON_CONFIGURE":"Конфигуриране","ADDON_UNINSTALL":"Деинсталиране","ADDON_UPGRADE":"Актуализиране","ADDON_INSTALLED":"Инсталирано","ADDON_INSTALLED_MSG":"Добавката е инсталирана!","ADDON_UPGRADED_MSG":"Добавката е актуализирана!","ADDON_UNKNOWN":"Неизвестно","ADDON_ERR":"Грешка при инсталиране на добавката!","ADDON_DISCONNECTED":"Прекъснат","ADDON_APP_MISSING":"Приложението за този източник не е инсталирано. Искате ли да го инсталирате сега?","ADDON_APP_INSTALL":"Инсталиране сега","ADDON_PAGE":"Страница на добавката","ADDON_TOP_CONTENT":"Най-доброто от тази добавка","ADDON_PROVIDES":"предоставя","ADDON_WATCH":"Гледай #{types} сега!","ADDON_WATCH_FREE":"Гледай #{types} БЕЗПЛАТНО сега!","ADDON_ADDON":"Добавка","ADDON_SUPPORTED_TYPES":"Подържани типове","ADDON_SUPPORTED_CATALOGS":"Подържани каталози","ADDON_PROVIDES_DISCOVER":"Повече #{types} в Откриване","ADDON_PROVIDES_STREAMS":"Гледай #{types}","ADDON_PROVIDES_STREAMS_FREE":"Гледай #{types} БЕЗПЛАТНО","ADDON_PROVIDES_SUBTITLES":"Субтитри за #{types}","ADDON_CANTDETECT":"Не успяхме да засечем работещ Stremio, затова не можем да засечем кои добавки са инсталирани.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Не е намерена информация относно това ","ERR_NO_META_SELECTED":"Няма селектирана мета!","ERR_NO_META_FOUND":"Не беше намерена метадата!","ERR_NO_ADDONS_FOR_META":"Няма заявени добавки за тази мета!","ERR_NO_ADDONS_FOR_STREAMS":"Няма заявени добавки за стриймовете!","ERR_NO_VIDEOS_FOR_META":"Няма намерени видеа за тази мета!","ERR_GETTING_META":"Грешка при получаването на информация относно това.","ERR_CANT_PARSE_MAGNET":"Невъзможно е да се анализира този magnet","ERR_NO_MAGNET_INFOHASH":"Няма валиден info hash за този magnet","ERR_NO_FILE_PATH":"Не може да се изпрати заявка без път към файл","ERR_NO_TORRENT":"Няма отговор от торента","ERR_NO_SUPPORTERD_FILES":"Не са открити поддържани файлове","ERR_OPENING_FILES":"Не могат да се отворят външните файлове","ERR_INVALID_LINK":"Невалидна връзка","ERR_REGISTERED_ONLY":"Тази опция е налична само за регистрирани потребители.","ERR_CLIPBOARD":"Не може да се възпроизведе от клипборда","ERR_CLIPBOARD_READ":"Не може да се прочете клипборда на тази платформа","ERR_CLIPBOARD_GENERIC":"В клипборда не е намерен URL за възпроизвеждане. Моля, копирайте URL (напр. магнитна връзка) към видеото.","BOARD_CONTINUE_WATCHING":"Продължи да гледаш","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Продължи да гледаш не е заредено!","BOARD_CONTINUE_WATCHING_EMPTY":"Празно Продължи да гледаш","BOARD_EXPLANATION_RECOMMENDATIONS":"Филми, подбрани специално за вас.<br />Този филм е примерна препоръка.","BOARD_EXPLANATION_EPISODES":"Нови епизоди от любимите Ви сериали идват тук.<br />Добавете сериали, които следвате към вашата библиотека.","BOARD_EXPLANATION_VIDEOS":"Нови епизоди от любимите Ви канали идват тук.<br />Добавете YouTube канали, които следвате към вашата библиотека.","WEBSITE_ENJOYED_BY":"Харесано от повече от 30 милиона потребители по целия свят","WEBSITE_STREAMING_ENHANCED":"Поточното предаване е подобрено","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio предлага сигурно, модерно и безпроблемно забавление. Със своя лесен за използване интерфейс и разнообразна библиотека със съдържание, включително 4K HDR поддръжка, потребителите могат да се насладят на любимите си филми и телевизионни предавания на всички свои устройства. И със своя ангажимент към сигурността, Stremio е най-добрият избор за безгрижно, висококачествено изживяване на поточното предаване.","WEBSITE_AVAILABLE_ON":"Достъпно на","WEBSITE_WATCH_AND_ENJOY":"Гледай и се наслаждавай.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio го прави лесно като детска игра","WEBSITE_ALL_FEATURES":"Всички функции","WEBSITE_EASY_TO_USE":"Лесен за използване","WEBSITE_EASY_TO_USE_DETAILS":"Stremio е проектиран да бъде удобен за потребителя и лесен за използване. Със своя чист и интуитивен интерфейс можете лесно да се ориентирате и да намерите съдържанието, което искате да гледате.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Безпроблемно между устройства","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Предлага се за широка гама от платформи (вкл. Windows, Mac, Linux, Android и други), Stremio ще следи напредъка Ви във всичките Ви устройства. Просто влезте и продължете да гледате, без да се налага да конфигурирате приложението отново на всяко ново устройство.","WEBSITE_ALL_DOWNLOADS":"Всички изтегляния","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Подръжка на видео във висока резолюция","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Интегриран видео плейър, поддържащ повечето видео формати, включително 4K HDR съдържание, Ви позволява да се наслаждавате на най-високото качество на разположение.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Разнообразна библиотека със съдържание","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio се интегрира с голям брой популярни видео източници, като Netflix, Amazon Prime Video, Hulu, YouTube и много други.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Създайтe безплатен акаунт","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Персонализирано изживяване при гледане","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio ви позволява да персонализирате външния вид и усещането на интерфейса, като промените темата, добавяте или премахвате добавки и други.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Многоезична поддръжка на субтитри","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Вече можете да се насладите на цялото любимо съдържание на предпочитания от вас език, тъй като Stremio поддържа субтитри на всички езици.","WEBSITE_ALL_STREMIO_FEATURES":"Всички Stremio функции","WEBSITE_TRY_STREMIO_TITLE_P1":"Опитайте Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"На вашият телевизор сега","WEBSITE_YOU_CAN_NOW_WATCH":"Вече можете да гледате всички любими телевизионни предавания на вашите Android TV устройства. Приложението за телевизия Stremio ви позволява да се наслаждавате на филмова вечер с лекота.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Вече можете да гледате всички любими телевизионни предавания на вашия Smart TV или Android TV. Приложенията на Stremio TV ви позволяват да се наслаждавате на филмова нощ с лекота.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio за Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Вероятно най-доброто и най-полезно приложение, което имате във вашето устройство. Това е едно от приложенията, които използвам ежедневно, особено на моя Android TV вече много години. Добре направено със силна общност, осигуряващо полезни функционалности. Много добре. Продължавай с добрата работа.","WEBSITE_REVIEWS":"отзиви","WEBSITE_GET_STREMIO_FOR_FREE":"Вземете Stremio Безплатно","WEBSITE_GET_STREMIO_NOW":"Вземете Stremio Сега","WEBSITE_STREMIO_FEATURES":"Stremio функции","WEBSITE_STREMIO_FEATURES_DETAILS":"Предавайте поточно като професионалист с усъвършенстваните функции на Stremio и се наслаждавайте на безпроблемен достъп до всичките си любими медии","WEBSITE_DISCOVER_MORE":"Открийте още.","WEBSITE_DISCOVER_MORE_DETAILS":"Никога не изчерпвайте нещата за гледане","WEBSITE_COMMUNITY_DRIVEN":"Задвижван от общността","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio има голяма и активна общност от потребители, които допринасят за развитието на софтуера чрез създаване и споделяне на добавки.","WEBSITE_GET_INVOLVED":"Включете се","WEBSITE_NEW_THEATER_EXPERIENCE":"Ново кино изживяване","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Новото специализирано телевизионно приложение Stremio ви позволява да се насладите на филмова вечер на вашите Android TV устройства.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Новите специализирани телевизионни приложения на Stremio ви позволяват да се наслаждавате на филмова вечер на вашите устройства за смарт телевизори или Android TV.","WEBSITE_FREE_AND_SECURE":"Безплатно и Сигурно","WEBSITE_STREAMING":"Поточно предаване","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio предлага несравнима сигурност и поверителност за потребителите. Със своята уникална характеристика на пускането на добавки дистанционно, Stremio осигурява по-безопасен начин за предаване на любимото ви съдържание в сравнение с други платформи. Вашата сигурност и поверителност са основни приоритети и платформата гарантира, че всички ваши данни са защитени.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Кажете сбогом на притесненията относно сигурността и личния живот и поздравете света на безкрайните забавления със Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Информацията е предоставена от","WEBSITE_CONTRIBUTE_DESC":"Допринесете за проекта и ни помогнете да направим Stremio още по-добър","WEBSITE_COMMUNITY_DESC":"Ние вярваме, че най-добрият начин да създадете наистина невероятно изживяване на поточното предаване е като включите нашата общност в процеса. Независимо дали сте програмист, художник или просто фен - можете да помогнете на Stremio да расте.","WEBSITE_COMMUNITY_DESC_2":"Затова се присъединете към нас днес и станете част от общността на Stremio и продължете да оформяте бъдещето на поточното предаване.","WEBSITE_WAYS_TO_GET_INVOLVED":"Начини да се включите","WEBSITE_IN_THE_STREMIO_COMMUNITY":"в общността на Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Споделете вашите мисли","WEBSITE_REPORT_BUGS":"Докладвайте грешки","WEBSITE_SUGGEST_FEATURES":"препоръчайте функции","WEBSITE_AND_PROVIDE_FEEDBACK":"и предоставяйте отзиви в нашите канали за социални медии.","WEBSITE_BETA_TESTING_PROGRAM":"Програма за бета тестване","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Участвайте в нашата програма за бета тестване (ние изпращаме покани редовно) в общността на Stremio.","WEBSITE_JOIN_NOW":"Включи се сега!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Официални общности на Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Неофициални общности на Stremio","WEBSITE_BECOME":"Станете","WEBSITE_A_VOLUNTEER_TRANSLATOR":"доброволен преводач","WEBSITE_ARE_YOU_A_DEVELOPER":"Програмист ли сте?","WEBSITE_CONTRIBUTE_CODE":"Можете да допринесете с код за нашите проекти с отворен код. Имаме няколко проекта в GitHub, които търсят сътрудници. Ако се интересувате да помогнете, вижте ги:","WEBSITE_STREMIO_ON_GITHUB":"Stremio в GitHub","WEBSITE_CREATE_ADDON_DESC":"Създайте добавка за подобряване на функционалността на Stremio (имаме лесен за използване API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Ние също така предоставяме възможност да се присъедините към нас като стажант програмист, за да можем да растем заедно.","WEBSITE_APPLY_AS_AN_INTERN":"Кандидатствай като стажант","WEBSITE_CALLING_ALL_ARTISTS":"Обръщаме се към всички артисти!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Покажете своята креативност и любов към Stremio, като качите вашето фен изкуство в нашата онлайн галерия. Независимо дали става въпрос за рисунка, картина или дигитален дизайн, ние искаме да видим вашия уникален поглед върху марката Stremio. Присъединете се към нашата общност от ентусиасти на изкуството и споделете работата си с други фенове на Stremio по целия свят.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Галерия","WEBSITE_INTERN_DESIGNER":"Станете част от нашия екип и поставете творчеството си на нови висоти с нашите вълнуващи възможности за стаж.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Проект за филми за публично достояние","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Ние в Stremio се ангажираме да запазим историята на филма и телевизията, като идентифицираме обществено достояние и осиротели видеоклипове. Като работим заедно с нашата общност, можем да гарантираме, че тези класически произведения на изкуството са достъпни за всеки и защитени, за да могат да се наслаждават на бъдещите поколения.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Чувствайте се свободни да се свържете с нас, ако искате да се включите в този проект.","WEBSITE_JOIN_THE_PROJECT":"Включете се в проекта","WEBSITE_BE_PART_OF_OUR_MISSION":"Бъдете част от нашата мисия","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Интересувате ли се да се присъедините към екипа на Stremio? Ние предлагаме напълно отдалечена работа за страстни професионалисти. Вижте нашите отворени позиции.","WEBSITE_OPEN_POSITIONS":"ОТВОРЕНИ ПОЗИЦИИ","WEBSITE_DESCRIPTION":"ОПИСАНИЕ","WEBSITE_LEARN_MORE":"Научете повече","WEBSITE_COMPANY":"Компанията","WEBSITE_CONTACTS":"Контакти","WEBSITE_NEED_HELP":"Нуждате се от помощ?","WEBSITE_STREMIO_WEB_ON_IOS":"Ръководство за Stremio Web за iOS","WEBSITE_LINK_ART_V2":"Fanart Галерия","WEBSITE_PARTNERS":"Партньори","WEBSITE_SLOGAN_WATCH":"Гледайте незабавно","WEBSITE_SLOGAN_ALL":"Цялото видео съдържание, на което може да се насладите на едно място","WEBSITE_SLOGAN_NEW":"Всичко, което може да гледате","WEBSITE_SLOGAN_NEW_NEW":"Свободата да стриймваш","WEBSITE_WATCH_FROM":"Гледане от","WEBSITE_DOWNLOAD":"Изтегляне сега","WEBSITE_DOWNLOAD_FOR":"Изтегляне сега за","WEBSITE_IS_DESKTOP":"Stremio е приложение за компютър, отворете тази страница на вашия компютър и го изтеглете","WEBSITE_DESKTOP_DEMO_VID":"Desktop демо","WEBSITE_PAGE_HOME":"Начало","WEBSITE_PAGE_FEATURES":"Функции","WEBSITE_PAGE_ADDONS":"Добавки","WEBSITE_PAGE_TECH":"Технология","WEBSITE_PAGE_CREATE_ADDON":"Създаване на добавка","WEBSITE_PAGE_CONTACTS":"Контакти","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Моля, въведете желаната нова парола по-долу.","WEBSITE_RESET_PASSWORD_WARNING":"Сигурни ли сте, че искате да нулирате паролата за ${1}?","WEBSITE_TYPE_movie":"Филми","WEBSITE_TYPE_series_PL":"Сериали","WEBSITE_TYPE_tv":"ТВ на живо","WEBSITE_TYPE_channel":"Канали","WEBSITE_STREMIO_WHAT_IS":"Stremio е приложение, което ви помага да организирате и незабавно да гледате любимите си видеоклипове, филми, ТВ сериали и ТВ канали..","WEBSITE_FEATURES_WATCH":"Гледайте без чакане в HD","WEBSITE_FEATURES_WATCH_DETAIL":"Кликнете и пуснете любимите си Филми, ТВ сериали, видеоклипове и ТВ канали.","WEBSITE_FEATURES_SUBS":"Автоматични субтитри","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio автоматично избира синхронизирани субтитри за вашия език.","WEBSITE_FEATURES_SUBS_LABEL":"Вие сте на ход, шефе.","WEBSITE_FEATURES_CAST":"Пусни на ТВ & мобилни устройства","WEBSITE_FEATURES_CAST_DETAIL":"Прехвърляй към AppleTV, Chromecast, Smart TV (DLNA/UPnP) и мобилни устройства.","WEBSITE_LIB":"Насладете се на личната си библиотека, синхронизирана на всички ваши устройства","WEBSITE_LIB_COLLECT":"Съберете от Stremio","WEBSITE_LIB_IMPORT":"Импортиране от Facebook","WEBSITE_LIB_LOCAL":"Добавяне от вашето локално устройство","WEBSITE_BOARD":"The Board - Вашето единствено място за известия и препоръки","WEBSITE_BOARD_RECOMMEND":"Препоръчани ТВ сериали","WEBSITE_BOARD_TRENDING":"Популярен филм","WEBSITE_BOARD_NEW":"Ново видео","WEBSITE_BOARD_EPISODE":"Нов епизод","WEBSITE_BOARD_1":"Търсите нещо интересно за гледане? Получете препоръки въз основа на вашия вкус!","WEBSITE_BOARD_2":"Получете уведомление, когато е излязъл нов епизод на любимото ви телевизионно предаване или YouTube канал!","WEBSITE_BOARD_YOUTUBE":"Нови видеоклипове на YouTube канали","WEBSITE_BOARD_EPISODES":"Нови епизоди от сериали, които следвате","WEBSITE_ADDONS":"Добавки за съдържание","WEBSITE_TECH_DETAIL":"Ние обичаме технологията, обичаме лудата наука!\\nStremio използва следните технологии с отворен код:","WEBSITE_TECH_WCJS":"WebChimera.js позволява на Stremio да пуска всеки видео формат с добра производителност.","WEBSITE_TECH_WCJS_EXTRA":"Ние сме основни сътрудници на проекта","WEBSITE_TECH_ELECTRON":"Electron осигурява иновативна платформа за изграждане на Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Ние сме сътрудници на проекта","WEBSITE_TECH_LINVODB":"Технология на база данни, която гарантира, че вашите данни са организирани и достъпни навсякъде, където влезете.","WEBSITE_TECH_LINVODB_EXTRA":"Вътрешна технология","WEBSITE_CREATE_ADDON":"Създайте ваша добавка","WEBSITE_CREATE_ADDON_DETAIL":"Имате ли услуга, предоставяща видео съдържание? Ще ви помогнем да се възползвате от функциите на Stremio, като създадем ваша добавка.","WEBSITE_CREATE_ADDON_BENEFITS":"Ползи от създаването на добавка за Stremio","WEBSITE_P2P_BEAUTY":"Красотата на поточното предаване Peer-to-Peer","WEBSITE_P2P_1":"Надеждно и достъпно пълно HD / 4K видео при поискване или поточно предаване на живо","WEBSITE_P2P_2":"Платформа за разпространение, осигуряваща страхотно потребителско изживяване","WEBSITE_P2P_3":"Ще създадем добавка, отговаряща на вашите точни нужди","WEBSITE_P2P_CONTACT":"Заинтересовани ли сте? Добре дошли сте на <a href=\'mailto:office@stremio.com\'>където да ни пишете</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Ще се радваме да ви помогнем да интегрирате съдържанието си със Stremio!","WEBSITE_P2P":"От време на време идва технология, която променя правилата на играта. Инвестирахме тонове време и усилия в изграждането на нашия двигател за видео поточно предаване (P2P), който осигурява страхотна производителност и гъвкавост за адаптиране с всеки случай на използване..\\nСвържете се с нас за P2P видео с активиран DRM или поточно предаване на живо.","WEBSITE_THOUGHTS":"Мисли, които споделяме:","WEBSITE_SPREAD":"Разпространете информацията за Stremio:","WEBSITE_CONTACT":"Ако обмисляте да се свържете с нас, не се двоумете","WEBSITE_OPENSOURCE":"За нашите проекти с отворен код, отидете на нашите","WEBSITE_BITCOIN":"Дарете Биткойн:","WEBSITE_FAQ":"Често Задавани Въпроси","WEBSITE_FAQ_SHORT":"ЧЗВ","WEBSITE_QUESTIONS":"Въпроси","WEBSITE_TOS":"Условия за ползване","WEBSITE_LEGAL":"Правни","WEBSITE_PAGE_ABOUT":"Относно","WEBSITE_PAGE_BECOME_PARTNER":"Станете наш партньор","WEBSITE_ALL_YOU_CAN_WATCH":"Свободата да гледаш\\nВсичко което искаш.","WEBSITE_FREEDOM_TO_STREAM":"Свободата да стриймваш","WEBSITE_WHAT_IS_STREMIO":"Какво е stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio е хъб за агрегиране на видео съдържание. Открийте, организирайте и гледайте видео от всякакви източници на всяко устройство, което притежавате.","WEBSITE_WHAT_IS_STREMIO_P2":"Филми, телевизионни предавания, сериали, телевизия на живо или уеб канали като YouTube и Twitch.tv - Можете да намерите всичко това на Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio е модерен медиен център, който е решение за вашето видео забавление. Откривайте, гледайте и организирайте видео съдържание от лесни за инсталиране добавки.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Филми, телевизионни предавания, телевизия на живо или уеб канали - намерете всичко това на Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Насладете се на всички ваши медийни устройства","WEBSITE_DEVICES_COLLECT":"Съберете от Stremio","WEBSITE_DEVICES_IMPORT_FB":"Импортиране от facebook","WEBSITE_DEVICES_LOCAL":"Добавяне от локално устройство","WEBSITE_JOIN_THE_PARTY_NOW":"Включете се в партито сега","WEBSITE_DEVICES_ALL":"Лесен за използване на всички ваши устройства;","WEBSITE_EXTENDABLE_CATALOG":"Безкрайно разширяващ се видео каталог;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Страхотни функции за организиране на вашите медии;","WEBSITE_AS_SEEN_ON":"Познато от","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"За нас","WEBSITE_LINK_TECHNOLOGY":"Технология","WEBSITE_LINK_APPS":"Приложения","WEBSITE_LINK_DOWNLOADS":"Изтегляне","WEBSITE_MORE":"Още","WEBSITE_LINK_ADDONS":"Добавки","WEBSITE_LINK_ADDON_SDK":"SDK за добавки","WEBSITE_LINK_CONTRIBUTE":"Допринасяне","WEBSITE_LINK_COMMUNITY":"Общност","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"... и Още","WEBSITE_LINK_HELP":"Помощен център","WEBSITE_LINK_CONTACTS":"Контакти","WEBSITE_LINK_TOS":"Правила и Условия","WEBSITE_LINK_PRAVACY":"Политика за поверителност","WEBSITE_SUBSCRIBE":"Абониране","WEBSITE_NEWSLETTER":"Впишете се в нашият Нюзлетър за страхотни неща","WEBSITE_PLACEHOLDER_EMAIL":"Вашият Email","WEBSITE_COMMUNITY":"Общност","WEBSITE_LINK_PRAVACY_LEGAL":"Поверителност и разпоредби","WEBSITE_WHY":"Защо го правим","WEBSITE_WHY_P1":"В Stremio идваме на работа всеки ден, защото искаме да решим важен проблем за индустрията за видео при поискване. Има толкова много ново съдържание, публикувано всяка минута, че е практически невъзможно да намерите пътя си около него.","WEBSITE_WHY_P2":"Ние помагаме на хората да се ориентират в този огромен свят на видео забавления и да открият ново съдържание, на което да се насладят. Нашите приложения събират филми, сериали, телевизия на живо, уеб канали и други. Ние сме посветени да направим невероятно лесно за потребителите да намерят заглавия и телевизионни оператори, които обичат.","WEBSITE_WHY_P3":"Можете да използвате нашата услуга на всяко устройство и по всяко време, превръщайки Stremio единственият център за видео развлечения, който някога ще ви трябва.","WEBSITE_TEAM":"ОТБОР","WEBSITE_TEAM_P":"Екипът на Stremio е малък, но мощен: между десетте от нас кодираме на X езици и споделяме опит в разработването на софтуер, UI и UX дизайн, маркетинг и реклама и бизнес и стартиращи компании.","WEBSITE_FEATURES":"Функции","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Откривайте ново съдържание с лекота","WEBSITE_FEATURES_DISCOVER_P":"Лесно открийте нови филми, телевизионни предавания, сериали и канали за гледане. Прегледайте по категория, жанр, оценка, рецепта и т.н. или просто въведете име, за да намерите. Stremio прави намирането на ново видео съдържание лесно като детска игра.","WEBSITE_FEATURES_ALL_CONTENT":"Цялото ви видео съдържание на един екран","WEBSITE_FEATURES_ALL_CONTENT_P1":"Вижте какви филми, сериали или видеоклипове не сте завършили и продължете да ги гледате; Получавайте уведомления за нови епизоди и издания; и разгледайте препоръките, които ще получите въз основа на вашите навици за гледане.","WEBSITE_FEATURES_LIBRARY":"Организирайте вашата видео Библиотека","WEBSITE_FEATURES_LIBRARY_P1":"Добавете всяко заглавие към вашата библиотека в Stremio с едно щракване и намерете пътя си около съдържанието си, добре подредено по тип, дата или азбучна подредба.","WEBSITE_FEATURES_CALENDAR":"Следете всичко, което гледате","WEBSITE_FEATURES_CALENDAR_P1":"Получете визуализация на календара на всички филми и сериали, които добавяте към библиотеката си. Експортирайте вашия календар на Stremio и го синхронизирайте, така че винаги да знаете кога има нов епизод или премиера.","WEBSITE_FEATURES_BIG_SCREEN":"Насладете се на вашето видео съдържание на по-голям екран","WEBSITE_FEATURES_BIG_SCREEN_P1":"Прехвърлете каквото и да гледате на друго устройство - било то телефон, таблет или телевизор с едно щракване.","WEBSITE_FEATURES_SOURCES":"Гледайте видео от много различни източници","WEBSITE_FEATURES_SOURCES_P":"Инсталирайте официални и общностни добавки, за да се насладите на видео, получено от много различни доставчици - всичко това в едно елегантно, лесно за използване приложение.","WEBSITE_CREATE_AN_ADDON":"Създайте добавка","WEBSITE_FEATURES_SYNC":"Синхронизирайте библиотеката си на различни устройства и възобновете възпроизвеждането си","WEBSITE_FEATURES_SYNC_P1":"Влезте с акаунта си във всичките си устройства и се насладете на вашата библиотека, добавки, възпроизвеждане и синхронизиране в календара.","WEBSITE_FEATURES_EXTENDABLE":"Разширяващ се видео каталог от добавки","WEBSITE_FEATURES_EXTENDABLE_P1":"Каталогът с добавки на Stremio предоставя редица добавки за инсталиране и гледане на разнообразие от видео съдържание. Това включва филми, предавания, телевизия на живо, спорт, новини, подкасти, уеб канали, видео игри и други.","WEBSITE_FEATURES_AUTO_SUBS":"Автоматични субтитри","WEBSITE_FEATURES_AUTO_SUBS_P1":"С нашите добавки за субтитри получавате автоматично избрани опции за предпочитания от вас език.","WEBSITE_FEATURES_CHROMECAST":"Предаване към Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Насладете се на вашето видео съдържание на по-голям екран или просто хвърлете каквото и да гледате на друго устройство.","WEBSITE_FEATURES_KEEP_TRACK":"Следете любимите си телевизионни предавания и уеб канали","WEBSITE_FEATURES_KEEP_TRACK_P1":"Получете визуализация на календара и известия за нови епизоди от любимите си серии и уеб канали.","WEBSITE_FEATURES_POWER_USER":"Мощни потребителски функции","WEBSITE_FEATURES_POWER_USER_P1":"Пуснете на външен плеър","WEBSITE_FEATURES_POWER_USER_P2":"Пуснете от торент файл или магнитна връзка","WEBSITE_FEATURES_POWER_USER_P3":"Импортирайте във вашата библиотека от Facebook харесвания или локален диск","WEBSITE_ADD_ONS":"Добавки","WEBSITE_ADD_ONS_P1":"Цялото видеосъдържание, което Stremio предоставя, се доставя чрез допълнителна система - в приложението не е вградено съдържание или доставчик на съдържание.","WEBSITE_ADD_ONS_P2":"Налични са две групи добавки: официални и общностни добавки.","WEBSITE_ADD_ONS_P3":"Официалните са разработени и хоствани от Stremio, докато добавките на общността са създадени от нашите членове на общността, които също ги хостват.","WEBSITE_ADDONS_OFFICIAL":"Официални добавки","WEBSITE_ADDONS_WATCHUB":"Предавайте любимите си филми, сериали и предавания от доставчици като iTunes, Hulu, Amazon и други услуги за Обединеното кралство/САЩ.","WEBSITE_ADDONS_YOUTUBE":"Гледайте любимите си канали в YouTube без реклами и получавате известия за нови качвания от сътрудниците, които следвате.","WEBSITE_ADDONS_FILMON":"Гледайте телевизия на живо, филми и социална телевизия безплатно. 600 телевизионни канала, 45 000 безплатни филма, документални филми и др.","WEBSITE_ADDONS_OPENSUBTITLES":"Филмови и телевизионни субтитри на няколко езика, хиляди преведени субтитри, качени всеки ден.","WEBSITE_ADDONS_COMMUNITY":"Добавки от общността","WEBSITE_ADDONS_FILMON_VOD":"Гледайте видео при поискване от Filmon.tv","WEBSITE_ADDONS_TWICH":"Гледайте потоци на живо от twitch.tv - платформа за поточно предаване на видео за индустрията за електронни спортове.","WEBSITE_ADDONS_VODO":"Гледайте инди филми абсолютно безплатно.","WEBSITE_ADDONS_NETFLIX":"Гледайте филми и уеб сериали на Netflix.","WEBSITE_ADDONS_CREATE":"Създайте добавка","WEBSITE_ADDONS_CREATE_P1":"Ако желаете, можете да разработите своя собствена добавка. По този начин можете да дадете достъп до себе си и нашата общност до ново видео съдържание и да достигнете до нова, насочена аудитория от милиони потребители по целия свят.","WEBSITE_ADDONS_START_CREATE":"За да започнете, посетете страницата на Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Изтегляния","WEBSITE_DOWNLOADS_P1":"За оптимална ефективност препоръчваме да използвате най-новата налична версия на приложенията на Stremio. Ако по някаква причина обаче бихте искали да използвате по-стара версия, можете да я изтеглите тук.","WEBSITE_DOWNLOADS_P1_SHORT":"За оптимална ефективност препоръчваме да използвате най-новата налична версия на приложенията на Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio за Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio за macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio за Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio за Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio за Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio за Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio за Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio за iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio за Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio за LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio за Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio за Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio за Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio за Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio за Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio за Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio за Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio за Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio за Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio за Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Потърсете Stremio в магазина на 2019+ Samsung TV моделите","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Потърсете Stremio в магазина на 2020+ LG Телевизори","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Потърсете Stremio в Play Store приложението на Sony TV с Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Потърсете Stremio в Play Store приложението на Philips TV с Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Потърсете Stremio в магазина за приложения на вашето Xbox устройство","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Упътване за Stremio OS на RPI","WEBSITE_LINK_GUIDE":"Упътване","WEBSITE_DOWNLOAD_SERVICE":"Изтегляне на Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service е придружително приложение за Stremio Web. Препоръчваме да използвате най-новата налична версия на Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service за Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service за macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service за Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service за Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio за Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Още опции за изтегляния","WEBSITE_DOWNLOAD_NEW":"Ново!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Ние пуснахме Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Ние пуснахме Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Ние пуснахме Stremio за LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Ние пуснахме Stremio за Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Ние пуснахме Stremio за Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Ние пуснахме Stremio 5 за Windows","WEBSITE_CONTRIBUTE":"Допринесете","WEBSITE_CONTRIBUTE_P1":"Платформата Stremio е с отворен код и лесно можете да създадете добавка за съдържание, което в момента не е снабдено.","WEBSITE_CONTRIBUTE_WHY":"Защо трябва да създадете добавка?","WEBSITE_CONTRIBUTE_WHY_P1":"Достигнете до нова аудитория за вашето видео съдържание","WEBSITE_CONTRIBUTE_WHY_P2":"Потребителската база на Stremio нараства бързо - в рамките на първата година от старта, Stremio спечели 1 милион потребители по целия свят, а през втората година от съществуването на платформата този брой нарасна до 2,5 милиона.","WEBSITE_CONTRIBUTE_WHY_P3":"С вашата добавка можете лесно да достигнете до тази аудитория и да разпространите видеото си към тях.","WEBSITE_CONTRIBUTE_ALL":"Гледайте любимите си филми, видеоклипове, сериали и канали на едно едно място.","WEBSITE_CONTRIBUTE_ALL_P1":"Вие сте фен на определен тип съдържание, което все още не е достъпно в Stremio? Създайте добавка за него и се насладете на гледането на любимите си видеоклипове в един от най -големите и лесни за използване на развлекателни центрове на пазара.","WEBSITE_CONTRIBUTE_ALL_P2":"Освен това ще получите безкрайната благодарност на други съмишленици на общността на Stremio.","WEBSITE_CONTRIBUTE_MONETIZE":"Осигурете приходи от добавката си и печелете пари с нейната помощ","WEBSITE_CONTRIBUTE_MONETIZE_P1":"След като разработите нова добавка за Stremio, можете лесно да го осигурите монетизиране по няколко различни начини. Ако обмисляте това, не се колебайте да се свържете с нас на ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - ще се радваме да се консултираме и да ви посъветваме за възможностите за осигуряване на монетизация на добавката.","WEBSITE_CONTRIBUTE_TRANSLATE":"Станете доброволен преводач","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Ако искате да се насладите на приложенията на Stremio на различни езици, можете да се присъедините към нашата общност от доброволни преводачи. Те ни помагат да добавим версии на Stremio на много различни езици.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Имате ли желание да започнете?","WEBSITE_TRANSALTE_STREMIO":"Преведете Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Официални общности","WEBSITE_COMMUNITY_OFFICIALS_P1":"Станете част от нарастващата общност на Stremio. Следвайте ни в социалните медии и не се срамувайте да ни поздравите - обичаме да слушаме нашите фенове! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Неофициални общности","STREMIO_COMMUNITY_NL":"Stremio Нидерландия","STREMIO_COMMUNITY_BRASIL":"Stremio Бразилия","STREMIO_COMMUNITY_GERMANY":"Stremio Германия","STREMIO_COMMUNITY_BELGIUM":"Stremio Белгия","STREMIO_COMMUNITY_FRANCE":"Stremio Франция","STREMIO_COMMUNITY_PORTUGAL":"Stremio Португалия","STREMIO_COMMUNITY_ITALY":"Stremio Италия","STREMIO_COMMUNITY_UK":"Stremio Обединено Кралство","STREMIO_COMMUNITY_USA":"Stremio САЩ","STREMIO_COMMUNITY_MEXICO":"Stremio Мексико","STREMIO_COMMUNITY_ADDONS":"Stremio добавки","STREMIO_COMMUNITY_ADDON":"Stremio добавка","STREMIO_COMMUNITY_AWESOME":"Страхотен Stremio","WEBSITE_COMMUNITY_PARTNERS":"Партньори и привърженици","WEBSITE_COMMUNITY_GOODIES":"Stremio екстри","WEBSITE_COMMUNITY_WALLPAPERS":"Тапети","WEBSITE_COMMUNITY_ART":"Арт галерия на общността","WEBSITE_LINK_ART":"Арт галерия на общността","WEBSITE_CONTACT_US":"Свържете се с нас","WEBSITE_CONTACT_US_P1":"Ако имате някакви въпроси, коментари или предложения, не се колебайте да се свържете с нас чрез формата за контакт по-долу.","WEBSITE_CONTACT_US_P2":"Имайте предвид, че ние се намираме в България, така че може да има забавяне в адресирането на вашата заявка поради разликите в часовата зона.","WEBSITE_CONTACT_US_SUCCESS":"Вашето съобщение е изпратено. Ще се свържем с вас при първа възможност.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Моля, въведете валиден email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"С какво е свързан вашият въпрос?","WEBSITE_CONTACT_US_Q_OS":"Каква е вашата операционна система?","WEBSITE_CONTACT_US_PH_EMAIL":"Вашият имейл","WEBSITE_CONTACT_US_PH_MESSAGE":"Съобщение","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ИЗПРАЩАНЕ","WEBSITE_CONTACT_US_Q_1":"Как да инсталирам?","WEBSITE_CONTACT_US_Q_2":"Как да деинсталирам?","WEBSITE_CONTACT_US_Q_3":"(HTML) Как да направя лазаня?","WEBSITE_CONTACT_US_Q_4":"Добавки","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Технология","WEBSITE_TECHNOLOGY_P1":"Ние обичаме технологиите и лудата наука. </br> Ето какво задвижва Stremio (всичко е с отворен код).","WEBSITE_TECHNOLOGY_P_QT":"Разработка на междуплатформен софтуер в най-добрия случай.","WEBSITE_TECHNOLOGY_P_MPV":"Безплатен, отворен и кросплатформен медиен плейър.","WEBSITE_TECHNOLOGY_P_RN":"React Native ви позволява да изграждате мобилни приложения, използвайки само JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Медийна рамка, вградена в приложение, за да получи мултимедия.","WEBSITE_TECHNOLOGY_P_REALM":"Realm е мобилна платформа и заместител на Sqlite и Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js е отворен код, кросплатформена JavaScript среда за изпълнение.","WEBSITE_TECHNOLOGY_P_RUST":"Rust е многопарадигмен системен програмен език, фокусиран върху безопасността, особено безопасната едновременност.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Допринесете за проекта","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Има два начина, по които можете да допринесете за Stremio и да ни помогнете да направим продукта още по-добър.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Можете да дарите своите ценни езикови умения, като преведете платформата...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"или","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... Можете да използвате вашите умения за кодиране за създаване на добавки в общността. ","WEBSITE_TRANSLATE_STREMIO":"Преведете Stremio","WEBSITE_404_OH_NO":"Ъ-ъ! Страницата, която търсите, не е тук...","WEBSITE_GO_HOME":"Върни се на Началната страница","WEBSITE_LINK_OTHER_DOWNLOADS":"Други изтегляния","WEBSITE_FAQ_ABR":"ЧЗВ","WEBSITE_SUPPORT":"Подръжка","WEBSITE_DOWNLOAD_4_0_BETA":"Изтеглете сега Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Вземете сега за работен плот","WEBSITE_LINK_ADDON_COMPETITION":"Конкурс за добавки","WEBSITE_LINK_ART_CONTEST":"Конкурс за изкуство","WEBSITE_MY_ACCOUNT":"Моят акаунт","WEBSITE_MAINPAGE_FAQ_001_H1":"Какво е Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio е модерен медиен център, който ви дава свободата да гледате всичко, което искате.","WEBSITE_MAINPAGE_FAQ_002_H1":"Как работи?","WEBSITE_MAINPAGE_FAQ_002_P1":"След като инсталирате Stremio на устройството си и създадете акаунт, всичко, което трябва да направите, е да посетите каталога за добавки и да инсталирате всяка добавка, която искате, и сте готови да започнете!","WEBSITE_MAINPAGE_FAQ_002_P2":"След това можете да отидете в секциите Откриване или Табло, за да започнете да изследвате съдържание.","WEBSITE_MAINPAGE_FAQ_003_H1":"Какво мога да гледам тук?","WEBSITE_MAINPAGE_FAQ_003_P1":"Много: филми, телевизионни предавания, уеб канали, спорт, телевизионни канали, слушане на подкасти и други. Благодарение на нашата система за добавки, можете да получите достъп до разнообразие от съдържание.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio с отворен код ли е?","WEBSITE_MAINPAGE_FAQ_004_P1":"Да, може да проверите следните връзки: ${1}Приложение за работен плот${2} and ${3}GitHub организация${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio сигурен ли е?","WEBSITE_MAINPAGE_FAQ_005_P1":"Да: тъй като това е софтуер с отворен код, кодът е публично достъпен и можете да го прегледате сами.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Какво ще кажете за моята поверителност?","WEBSITE_MAINPAGE_FAQ_006_P1":"Ние уважаваме поверителността на потребителите и не събираме лични данни, освен съществения минимум за създаване и синхронизиране на вашия акаунт.","WEBSITE_MAINPAGE_FAQ_006_P2":"Също така има и ${1}Вход за гост${2} при регистрация, което не изисква никакви данни: в този режим не се извършват заявки към нашия бекенд. Въпреки това, той идва за сметка на полезни функции, като например да можете да синхронизирате библиотеката си в устройства.","WEBSITE_MAINPAGE_FAQ_007_H1":"Може ли да прехвърлям съдържание към моят телевизор?","WEBSITE_MAINPAGE_FAQ_007_P1":"Да, ние поддържаме Chromecast и можете да прехвърлите съдържание както от настолни, така и от мобилни приложения (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Колко добавки има Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Към края на 2019 г. над 50 - за повече информация вижте нашия каталог с добавки.","WEBSITE_MAINPAGE_FAQ_009_H1":"Може ли Stremio да бъде разширен отвъд това, което е в каталога за добавки?","WEBSITE_MAINPAGE_FAQ_009_P1":"Да, трябва да разгледате тези: ${1}PimpMyStremio${2}, ${3}Reddit общност${4}, ${5}Stremio Downloader${6}, и други.","WEBSITE_MAINPAGE_FAQ_010_H1":"Какви устройства поддържат Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Имаме настолни приложения за Windows, Mac и Linux. За мобилни устройства поддържаме Android и iOS, но имайте предвид, че iOS е с ограничена функционалност (не поддържа повечето добавки).","WEBSITE_MAINPAGE_FAQ_010_P2":"Има много устройства, базирани на Android, на които можете да стартирате Stremio, като Nvidia Shield и Amazon Fire Stick, но ние не ги поддържаме официално.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Имаме настолни приложения за Windows, Mac и Linux. Имаме и специални приложения за Android Mobile и Android TV. За iOS и iPadOS предлагаме да използвате Stremio Web, въпреки че функционалността му е по-ограничена.","WEBSITE_MAINPAGE_FAQ_011_H1":"Можете ли да добавите определено съдържание към Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"За съжаление ние самите не предоставяме съдържание, но колкото повече Stremio добавки сте инсталирали, толкова повече съдържание ще можете да намерите.","WEBSITE_MAINPAGE_FAQ_012_H1":"Може ли Stremio да възпроизвежда магнитни връзки?","WEBSITE_MAINPAGE_FAQ_012_P1":"Да, и може също да възпроизвежда нормални HTTP връзки и торент файлове (плъзгане и пускане).","WEBSITE_MAINPAGE_FAQ_013_H1":"Мога ли да изтегля видео и да го гледам офлайн?","WEBSITE_MAINPAGE_FAQ_013_P1":"Изтеглянето офлайн е предстояща функция, но ако позволите на Stremio да кешира на вашето устройство (от панела за настройки), можете да гледате видеоклиповете по-късно без връзка.","WEBSITE_MAINPAGE_FAQ_014_H1":"Нищо не работи, помогнете ми!","WEBSITE_MAINPAGE_FAQ_014_P1":"Сигурни ли сте, че сте инсталирали добавки? Ако да, консултирайте се с нашият ${1}помощен център${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Как Stremio поддържа своите операции за развитие?","WEBSITE_MAINPAGE_FAQ_015_P1":"Понякога пускаме ненатрапчиви реклами, но обмисляме да преминем към модел на дарение.","WEBSITE_MAINPAGE_FAQ_015_P2":"За повече отговори посетете нашият ${1}помощен център${2}.","HELP_LEARN_MORE":"Помогнете ни да научим повече за вас.","LIFESTYLE":"Лайфстайл","SPORTS":"Спорт","FOOD_HEALTH":"Храна и Здраве","BEAUTY_FASHION":"Красота и Мода","NEWS":"Новини","GAMING":"Гейминг","SCIENCE_EDUCATION":"Наука и Образование","MUSIC":"Музика","TRAVEL":"Пътуване","LATE_NIGHT":"Късно вечер","REALITY":"Реалити","COMEDY":"Комедия","DIY":"Направи си сам","TECH":"Технологии","CINEMA":"Кино","CONTINUE":"Продължение","SLOW_LOADING":"БАВНО ЗАРЕЖДАНЕ?","I_GIVE_UP":"ПРЕДАВАМ СЕ","LEARN_MORE":"Научете повече","POOR_SOURCE":"Този източник е слабо достъпен или вашата интернет връзка не е достатъчно бърза","PICK_CATEGORIES_ERR":"Трябва да изберете поне 3 категории","ADJUST_TIMING":"Настройване на времето с ","ADJUST_SIZE":"Настройване на размера с ","SEARCH_ANYTHING":"Може да търсите всичко...","ALL_CATEGORIES":"Всички","SEARCH_CATEGORIES":"Филми, Серии, YouTube и ТВ","SEARCH_PERSONS":"Актьори, режисьори и сценаристи","SEARCH_PROTOCOLS":"HTTP & магнитни връзки","SEARCH_TYPES":"IMDB / TVDB връзки","WATCHED":"Гледано","SHOW_LESS":"Показване на по-малко","LAST_SEARCHES":"Последни търсения","CLEAR_HISTORY":"Изчистване на историята","CHOOSE_SOME":"ИЗБЕРЕТЕ ЕДНО ОТ ТЕЗИ:","PAGE_NOT_FOUND":"Страницата не е намерена!","NO_WEB_REMOTE":"Уеб дистанционното не може да бъде заредено","STREMIO_OFFLINE":"Stremio е офлайн","STREMIO_EXPENSIVE_CONNECTION":"Открихме, че използвате мобилна връзка за данни, искате ли да продължите?","USE_DATA":"Използване на данни","WARNING":"Внимание","MORE_INFO":"Повече информация ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Зареждане ...","STREMIO_TV_BACK_TO_LANGUAGES":"Връщане към езиците","STREMIO_TV_REMOTE":"Дистанционно","STREMIO_TV_GO_TO":"Отидете на:","STREMIO_TV_OR_SCAN":"или сканирайте:","STREMIO_TV_ADDON_INSTRUCTIONS":"Моля, следвайте инструкциите, за да инсталирате предпочитаните ви добавки.","STREMIO_TV_LIVE_TV":"ТВ на живо","STREMIO_TV_RESUME_WATCHING":"Продължаване на гледането","STREMIO_TV_LOADING_BACKGROUND":"Зареждане на фон","STREMIO_TV_CHECKING_AUTHENTICATION":"Проверка на удостоверяването","STREMIO_TV_LOADING_BOARD":"Зареждане на Табло","STREMIO_TV_LOGIN_HEADER_LINE_1":"Искаме нашите потребители да имат най-доброто възможно персонализирано изживяване с нашия софтуер.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Именно поради тази причина любезно ви молим да направите акаунт и/или да влезете във вашия акаунт.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Благодарим ви за разбирането,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Екипа на Stremio ","STREMIO_TV_REMOTE_INSTRUCTIONS":"За да използвате уеб дистанционното с вашия смартфон / таблет / десктоп:","STREMIO_TV_WIFI_SETUP":"Wi-Fi настройка","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle не засече активна връзка към интернет","STREMIO_TV_WIFI_DETAILS_1":"Свързване към:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Използвайте парола:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Отворете уеб браузър с връзката:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"По подразбиране","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"По последно гледани","STREMIO_TV_LIBRARY_SORT_NAME":"По име","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"По Име Низходящо","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"По брой гледания","STREMIO_TV_LIBRARY_SORT_WATCHED":"По Гледани","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"По Не Гледани","STREMIO_TV_DETAILS_SEASON_NUMBER":"Сезон ${1}","STREMIO_TV_STREAMS_LOADING":"Заредени ${1} / ${2} добавки...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} добавка/и все още зарежда/т...","STREMIO_TV_PLAYER_SETTINGS":"Настройки на плеъра","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Закъснение на субтитрите","STREMIO_TV_PLAYER_AUDIO_DELAY":"Закъснение на аудиото","STREMIO_TV_PLAYER_VIDEO_SCALING":"Видео мащабиране","STREMIO_TV_PLAYER_CHAPTERS":"Глави","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Пропускане ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Неподдържан източник на поток","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Неуспешно отваряне на външна връзка","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Не се регулира в режим на аудио преминаване","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Възпроизвеждане с ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Възпроизвеждане с libVLC плеър","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Преминаване към плейър libVLC поради грешка във възпроизвеждането","STREMIO_TV_ADDONS_TITLE":"Използвайте Stremio на вашия телефон или компютър, за да инсталирате или конфигурирате добавки и натиснете \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Забележка: Уверете се, че използвате същия акаунт в Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Синхронизиране на добавки","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Добавките са сихнронизирани успешно","STREMIO_TV_ADDONS_SYNC_FAILED":"Грешка при синхронизиране на добавки","STREMIO_TV_META_LINK_FAILED":"Грешка при отваряне на meta връзката","STREMIO_TV_CATALOG_LOADING":"Каталога все още се зарежда...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Езика на интерфейса е актуализиран","STREMIO_TV_SETTINGS_THEME_UPDATED":"Темата е актуализирана","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Плеър по подразбиране","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Външен плеър","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Предпочитан език","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Втори предпочитан език","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Тунелен плейбек","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Възможни проблеми с плейбека на някои устройства","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Някои видео формати може да не работят","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Съвпадение на скоростта на кадрите","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Деактивирано","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Само честота на кадрите","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Честота на кадрите и разделителна способност","STREMIO_TV_SETTINGS_NO_CACHING":"Без кеширане","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"По подразбиране","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Меко","STREMIO_TV_SETTINGS_PROFILE_FAST":"Бързо","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ултра бързо","STREMIO_TV_SETTINGS_SERVER_URL":"URL на сървъра за поточно предване","STREMIO_TV_SETTINGS_SERVER_VERSION":"Версия на сървъра","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Непознато","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Версия на Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Редактиране на URL на сървъра","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Въведете URL адрес на сървър за поточно предаване","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Показване на статистики при зареждане","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"За да прочетете политиката за поверителност на Stremio, посетете:","STREMIO_TV_SETTINGS_TOS_TEXT":"За да прочетете Общите условия на Stremio, посетете:","STREMIO_TV_NAV_SEARCH":"Търсене","STREMIO_TV_NAV_HOME":"Начало","STREMIO_TV_NAV_DISCOVER":"Откриване","STREMIO_TV_NAV_LIBRARY":"Библиотека","STREMIO_TV_NAV_MOVIES":"Филми","STREMIO_TV_NAV_SERIES":"Сериали","STREMIO_TV_NAV_CHANNELS":"Канали","STREMIO_TV_NAV_TV":"ТВ на живо","STREMIO_TV_NAV_SETTINGS":"Настройки","STREMIO_TV_NAV_ADDONS":"Добавки","STREMIO_TV_LOGIN_TITLE":"Свързване на акаунт","STREMIO_TV_LOGIN_EXPIRES_IN":"Изтича на","STREMIO_TV_LOGIN_STEP_ONE":"Сканирайте QR кода по-горе или отидете на","STREMIO_TV_LOGIN_STEP_TWO":"Влезте във вашия акаунт в Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Заявка за нова връзка","STREMIO_TV_LOGIN_LINK_REFRESHED":"Кодът за вход е актуализиран","STREMIO_TV_SEARCH_PLACEHOLDER":"Напишете нещо","STREMIO_TV_SEARCH_NO_ADDONS":"Не бяха поискани добавки за каталози!","STREMIO_TV_SEARCH_BUTTON":"Търсене","STREMIO_TV_SEARCH_KEY_DEL":"Изтриване","STREMIO_TV_SEARCH_KEY_SPACE":"Интервал","STREMIO_TV_SEARCH_KEY_CLEAR":"Изчистване","STREMIO_TV_SEARCH_HISTORY_TITLE":"История на търсенията","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Можете да търсите заглавия, актьори, канали и други...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Изчистване на историята на търсенията","STREMIO_TV_FILTERS_DESCRIPTION":"Изберете от един от филтрите по-долу","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Стрийминг сървърът няма връзка. Моля, вижте сървърните настройки.","FILTERS":"Филтри","SETTINGS":"Настройки","ACCOUNT":"Акаунт","LOGOUT":"Изход","THEMES":"Теми","PLAYBACK":"Плейбек","PLAYBACK_SPEED":"Скорост на плейбека","AUDIO_TRACKS":"Аудио пътеки","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Видеа","SERVER":"Сървър","LINKS":"Връзки","ABOUT":"Относно","INTERFACE":"Интерфейс","ANIMATIONS":"Анимации","STATUS":"Статус","LANGUAGE":"Език","SIZE":"Размер","DELAY":"Забавяне","BOLD":"Удебеляване","OPACITY":"Непрозрачност","TEXT_COLOR":"Цвят на текста","OUTLINE_COLOR":"Цвят на очертанията","BACKGROUND_COLOR":"Цвят на фона","BACKGROUND_BLUR":"Замъгляване на фона","SEEK_TIME_DURATION":"Продължителност на времето за търсене","AUTO_PLAY":"Авто-пускане на следващият епизод","PLAY_NOW":"Пусни сега","MARK_AS_WATCHED":"Маркиране като гледано","MARK_AS_UNWATCHED":"Маркиране като негледано","REWIND_TO_BEGINNING":"Преминаване към началото","CONTINUE_WATCHING":"Продължаване на гледането","ALL":"Всички","SECONDS":"секунди","ON":"ВКЛ","OFF":"ИЗКЛ","RELOAD":"Презареждане","EDIT_URL":"Редактиране на URL","URL":"URL","NONE":"Нищо","EMBEDDED":"Вградени","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Смяна на устройствата","REMOTE_VIDEOS":"Видеа","REMOTE_ADJUST_TIMING":"Регулиране на времето","REMOTE_ADJUST_SIZE":"Регулиране на размера","REMOTE_COULD_NOT_BE_LOADED":"Уеб дистанционното не може да бъде заредено","REMOTE_RETRY":"Повторение","TORRENT_PROFILE_DEFAULT":"По подразбиране","TORRENT_PROFILE_SOFT":"Меко","TORRENT_PROFILE_FAST":"Бързо","TORRENT_PROFILE_ULTRA_FAST":"Ултра бързо","MB_S":"MB/s","FAQ_001_H1":"Какво е Stremio?","FAQ_001_P1":"Stremio е софтуер за медиен център, предназначен за видео забавление с мисъл за лесна употреба. Stremio ви позволява да организирате & гледайте собствената си колекция от филми, сериали, канали и телевизия на живо.","FAQ_001_P2":"Stremio събира съдържанието, което ви показва, от вашия локален диск и нашата система за добавки.","FAQ_001_P3":"Също така ще ви уведоми, когато излязат нови епизоди/видеоклипове/филми, които ви интересуват, и ще ви предостави препоръки за филми.","FAQ_02_H1":"Може ли Stremio да се сравнява с Kodi и Plex?","FAQ_02_P1":"Ние сме вдъхновени от тези два софтуера. Но ние имаме различни цели - Stremio е специално насочен към развлекателно видео и се стреми да стане основното решение за това, като е много лесен за използване.","FAQ_02_P2":"Stremio никога няма да бъде толкова персонализиран и богат на функции като Kodi и Plex, но е значително по-лесен за използване. Просто ${1} го вземете и ще се убедите ${2} :)","FAQ_03_H1":"Може ли Stremio да се сравнява с Netflix?","FAQ_03_P1":"Отново Netflix е едно от нашите вдъхновения. Стремим се да постигнем потребителското изживяване на Netflix, плюс много добавени екстри. Но най-важното е, че ви даваме свободата да управлявате собствената си библиотека и да добавяте нови източници на съдържание с нашата система за добавки.","FAQ_03_P2":"Това прави Stremio безкрайно разширяем, така че когато използвате Stremio, никога не сте ограничени до съдържанието, което Netflix решава да лицензира. Например чрез Stremio можете да гледате съдържание от ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} и дори от самият${9}Netflix${10}!","FAQ_04_H1":"Може ли Stremio да се сравнява с Flipboard?","FAQ_04_P1":"Ние не получаваме този въпрос толкова често, освен когато разговаряме със стартиращи хора :)","FAQ_04_P2":"Stremio по дизайн е агрегатор на съдържание, което по същество го прави Flipboard за видео. Това е много очевидно в нашата секция Табло, която ви дава каталози и известия за нови епизоди/нови видеоклипове за това, което следвате, точно като Flipboard.","FAQ_05_H1":"Може ли Stremio да се сравнява с Popcorn Time?","FAQ_05_P1":"Stremio и Popcorn Time са сходни в потребителския интерфейс, защото няма много начини да правите правилно каталози с видеоразвлечения :)","FAQ_05_P2":"Но докато Popcorn Time е фокусиран върху поточно предаване на торенти от конкретни източници, Stremio е неограничен и е просто агрегатор на съдържание - не е заключен в конкретен източник на съдържание.","FAQ_05_P3":"Освен това, ние не предоставяме добавки за торент по подразбиране, така че Stremio не покрива случая на използване на Popcorn Time с официална функционалност.","FAQ_05_P4":"Друга основна разлика е, че Popcorn Time е с напълно отворен код, докато Stremio е с ${1} частично отворен код${2}.","FAQ_06_H1":"Ще добавите ли този филм/серия?","FAQ_06_P1":"Не, съжеляваме :(","FAQ_06_P2":"Както се споменава в повечето други въпроси, Stremio не предоставя съдържание само по себе си - всичко се добавя чрез системата за добавки. В случай, че имате заявка за съдържание, можете да използвате бутона „Докладвай“ в плеъра, който ще изпрати имейл до автора на добавката, която използвате в момента.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Ще създадете ли добавка за X?","FAQ_08_P1":"Напълно е възможно.","FAQ_08_P2":"Ако имате идея за добавка, пишете ни на ${1}office@stremio.com${2}, но моля, уверете се, че вашата идея за добавка няма да наруши никакви авторски права или условия за използване.","FAQ_08_P3":"В момента следващите неща в нашата пътна карта са добавки за FandangoNOW, Filmon.tv видео при поискване и Crunchyroll.","FAQ_09_H1":"Използва ли Stremio BitTorrent?","FAQ_09_P1":"Да, Stremio поддържа BitTorrent като протокол за поточно предаване. Можете да го използвате или с добавка за торент, или като плъзнете и пуснете .torrent файл в Stremio, или като поставите магнитна връзка в лентата за търсене.","FAQ_09_P2":"Моля, обърнете внимание, че единствената официален добавка, използваща BitTorrent, е ${1}Vodo${2}, което осигурява съдържание на инди, всички разрешени да бъдат разпределени с BitTorrent.","FAQ_09_P3":"Ние не подкрепяме използването на никакви добавки на трети страни, които могат да позволят нарушаване на авторски права.","FAQ_10_H1":"Какво мога да гледам в Stremio с официалните добавки?","FAQ_10_P1":"По подразбиране можете да гледате Filmon.tv, YouTube и Vodo съдържание в рамките на самия Stremio, с вграден плейър. Освен това имаме добавка за Twitch.tv и няколко други.","FAQ_10_P2":"Тази комбинация осигурява избор на:","FAQ_10_L1":"Популярни ТВ канали, предоставени от Filmon.tv - например E4, BBC, Bollyworld TV","FAQ_10_L2":"Всичко от YouTube - например BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Индийски филми от Vodo","FAQ_10_L4":"Онлайн гейминг излъчвания с Twitch.tv","FAQ_10_P3":"Освен това има много източници на съдържание, предоставени с Guidebox и добавките на Netflix, които <b>не се</b> възпроизвеждат изцяло в Stremio, но ще ви пренасочат към дадената услуга. Например добавката Guidebox ще ви даде селекция от филми, които можете да предавате поточно безплатно в САЩ от услуги като TubiTV и Crackle.","FAQ_11_H1":"Stremio не се инсталира, какво да правя?","FAQ_11_P1":"Ако сте с Windows, пробвайте ${1}този алтернативен инсталатор${2}.","FAQ_11_P2":"Ако сте с Mac OS X, моля, бъдете наясно, че не поддържаме ОС преди OS X Mavericks (10.9).","FAQ_11_P3":"Ако сте с Linux, бъдете наясно, че в момента поддържаме само 64-битов (x64) Linux.","FAQ_11_P4":"Ако все още не можете да разрешите проблема си, моля, пишете ни в нашата ${1}Facebook група${2}.","FAQ_12_H1":"Защо моята анти-вирусна се оплаква? Stremio чист ли е?","FAQ_12_P1":"Бъдете сигурни, че Stremio е ${1}100% чист${2}.","FAQ_12_P2":"Вашият антивирус се оплаква, защото ние включваме реклама в нашия инсталатор, които някои антивирусни програми разпознават като ad-ware.","FAQ_12_P3":"Ако все още не сте сигурни, може да пробвате нашите ${1}алтернативни инсталатори{2}.","FAQ_13_H1":"Как мога да направя добавка?","FAQ_13_P1":"За начало препоръчваме ви да проверите нашият ${1}системен модул за добавки${2} в GitHub.","FAQ_13_P2":"След това може да последвате нашият ${1}Hello World съветник${2}.","FAQ_13_P3":"Ако нямате никакви умения за програмиране, моля, публикувайте идеята си в ${1}Reddit общността${2} и се свържете с нас с вашата идея за добавка на ${3}office@stremio.com${4}.","FAQ_14_H1":"Как се публикуват добавките?","FAQ_14_P1":"Когато създадете добавка и хост и поставите поле <b>endpoint</b> във вашия манифест, което сочи към работещ адрес на добавка, добавката автоматично ще се публикува в нашия ${1}Каталог с добавки${2}.","FAQ_14_P2":"Това се случва, защото сървърната част на модула stremio-addons автоматично се обажда към нашия API, за да обяви добавката. Когато нашият API потвърди вашата <b>endpoint</b> като валидна добавка, тя ще започне да се показва в каталога.","FAQ_15_H1":"Мога ли да пусна Stremio в браузъра си?","FAQ_15_P1":"В момента не, но това предстои!","FAQ_15_P2":"Ако сте любопитни да видите Alpha, можете да го видите тук: ${1}alpha4.strem.io${2}. Имайте предвид, че поточното предаване е деактивирано в тази alpha версия. Ние поддържаме Chrome, Firefox, Opera и Edge.","FAQ_16_H1":"Предаването към телевизор не работи / субтитрите не работят","FAQ_16_P1":"Предаването към телевизор използва технологията DLNA, която е много непоследователна между различните марки и модели телевизори. Поради тази причина нямаме възможност да го тестваме във всеки случай, така че далеч не е идеален. Въпреки това ние работим постоянно върху подобряването му, но не можем да ви дадем прогноза кога DLNA ще започне да работи правилно с вашия телевизор.","FAQ_16_P2":"Ако дори не виждате телевизора си в менюто за предаване, моля, опитайте да деактивирате мрежовата си връзка и да я активирате отново (в Windows щракнете с десния бутон върху Мрежа и използвайте Активиране/Деактивиране), както и рестартирайте рутера, телевизора и компютъра.","FAQ_16_P3":"Ако все още срещате проблеми, можете да ни помогнете, като изпратите информация за марката и модела на вашия телевизор на ${1}office@stremio.com${2}.","FAQ_16_P4":"Междувременно препоръчваме Chromecast, който поддържаме много добре, или просто да включите вашия телевизор към вашия компютър с HDMI кабел.","FAQ_17_H1":"Stremio замръзва и/или се срива, какво мога да направя?","FAQ_17_P1":"Първо, ако използвате Windows 7 с антивирусна програма AVG: имаме проблем с тази комбинация. Проблемът е в самия AVG и няма разумен начин да го разрешим от наша страна. За съжаление, изключенията или деактивирането на антивирусната програма няма да работят. Единственото решение е да замените AVG с нещо друго.","FAQ_17_P2":"Ако това не е проблемът, но все още използвате Windows, моля, актуализирайте до най-новия сервизен пакет и актуализирайте/преинсталирайте драйверите на видеокартата, след което опитайте отново.","FAQ_17_P3":"Ако проблемът ви все още не е решен или използвате Mac или Linux, моля, пишете ни, съобщавайки точните подробности за проблема в ${1}нашата Facebook група${2}.","FAQ_18_H1":"Как мога да направя добавка?","FAQ_18_P1":"За начало препоръчваме ви да проверите нашият ${1}системен модул за добавки${2} в GitHub.","FAQ_18_P2":"След това може да последвате нашият ${1}Hello World съветник${2}.","FAQ_18_P3":"Ако нямате никакви умения за програмиране, моля, публикувайте идеята си в ${1}Reddit общността${2} и се свържете с нас с вашата идея за добавка на ${3}office@stremio.com${4}.","FAQ_19_H1":"Защо Stremio заема дисково пространство?","FAQ_19_P1":"Stremio има <b>локален кеш</b> за временно запазване на видео файловете, които предавате поточно.","FAQ_19_P2":"Това има две предимства: първо, позволява на Stremio да буферира предварително видеото, за да осигури по-плавно поточно предаване. Второ, той запазва видеоклиповете в локалния кеш, така че можете да продължите да ги гледате офлайн.","FAQ_19_P3":"Колко запазва Stremio зависи от настройката <b>Кеш</b> в панела с настройки. Stremio може да поддържа зададеното количество (напр. 2 GB) на вашия диск, освен ако текущо поточно предаваното видео е по-голямо от това, в който случай трябва да разпредели достатъчно място за съхранение, за да го запази, докато не го предавате поточно.","FAQ_20_H1":"Къде е папката за кеша?","FAQ_20_P1":"В Windows, това е stremio-cache в устройството, което сте избрали в Настройки (например \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"В MacOS, това е \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"В Linux, това е \\"~/.stremio/stremio-cache\\" или \\"~/stremio-cache\\"","FAQ_21_H1":"Получих грешка \\"Сървърът за поточно предаване не е намерен\\", какво да правя?","FAQ_21_P1":"Ако получите тази грешка, това означава едно от малкото неща:","FAQ_21_P2":"1) Опитвате се да използвате добавка, поддържана от източник на YouTube/BitTorrent, чрез нашата ${1}уеб версия${2}. В този случай трябва да инсталирате нашата десктоп версия от ${3}нашата страница${4}.","FAQ_21_P3":"2) Нещо не е наред с вашата инсталация на Stremio. В този случай опитайте да инсталирате отново най-новата ни настолна версия от ${1}нашата страница${2}. Ако това не помогне, опитайте да деактивирате антивирусните програми и защитните стени, рестартирайте компютъра си и опитайте отново. Ако и това не работи, моля, пишете ни в ${3}нашата Facebook група${4}.","FAQ_22_H1":"Не виждам/не мога да използвам повечето добавки на iOS","FAQ_22_P1":"Поради ограниченията в правилата и условията на Apple App Store, ние ограничихме приложението за iOS само до определен набор от добавки.","FAQ_22_P2":"Но бъдете сигурни – в бъдеще ще има още добавки за iOS и може също да добавим интеграция, която ще ви позволи да използвате всички добавки на Stremio, благодарение на свързването на приложението за iOS към Stremio Streaming Server."}')},26475:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"মুভি","TYPE_series":"সিরিজ","TYPE_tv":"টিভি চ্যানেল","TYPE_channel":"চ্যানেল","TYPE_other":"অন্যান্য","TYPE_movie_PL":"মুভি","TYPE_series_PL":"সিরিজ","TYPE_tv_PL":"টিভি চ্যানেল","TYPE_channel_PL":"চ্যানেল","TYPE_other_PL":"অন্যান্য","TYPE_ALL":"সব","TYPE":"টাইপ","CATALOG_com_linvo_cinemeta_top":"জনপ্রিয়","CATALOG_com_linvo_cinemeta_imdbRating":"বৈশিষ্ট্যযুক্ত","CATALOG_com_linvo_cinemeta_year":"নতুন","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"পাব্লিক ডোমেইন মুভিসমূহ","VIDEO":"ভিডিও","BACK":"পেছনে","MORE":"আরো","DONE":"সম্পন্ন","COPY":"কপি","SUCCESS":"সফল","ERROR":"ত্রুটি","SETTINGS_CASTING_MODE_PICKER":"কাস্টিং মোড","CASTING_MODE_HLSV2":"স্বয়ংক্রিয়","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"ট্রান্সকোডিং নেই","Discover":"আবিষ্কার করুন","Board":"বোর্ড","Library":"লাইব্রেরি","My Library":"আমার লাইব্রেরি","Calendar":"ক্যালেন্ডার","NOTIFICATION_ONLINE":"আপনি এখন অনলাইনে","NOTIFICATION_OFFLINE":"আপনি বর্তমানে অফলাইনে","INTERNET_CONNECTION":"নেটওয়ার্ক সংযোগ","STORAGE_FULL_TITLE":"সতর্কতা: স্টোরেজ পূর্ণ!","STORAGE_FULL_TEXT":"স্ট্রেমিও আপনার সেটিংস, পছন্দ বা লগইন তথ্য সংরক্ষণ করতে পারবে না। স্ট্রেমিও পুনরায় চালু করা বা পুনরায় ইনস্টল করার কথা বিবেচনা করুন।","SEARCH":"অনুসন্ধান","SEARCH_NO_RESULTS":"কোনো ফলাফল পাওয়া যায়নি","SEARCH_EXPLANATION_CONTENT":"চলচ্চিত্র, সিরিজ, ইউটিউব এবং টিভি চ্যানেল অনুসন্ধান করুন","SEARCH_EXPLANATION_PEOPLE":"অভিনেতা, পরিচালক এবং লেখকদের অনুসন্ধান করুন","SEARCH_PASTE_LINKS":"HTTP এবং ম্যাগনেট লিংক পেস্ট করুন","SEARCH_OR_PASTE_LINK":"অনুসন্ধান করুন বা লিংক পেস্ট করুন","SEARCH_SUGGESTIONS":"অনুসন্ধান পরামর্শ","ADD_TO_LIB":"লাইব্রেরিতে যোগ করুন","REMOVE_FROM_LIB":"লাইব্রেরি থেকে সরান","ADDED_TO_LIB":"লাইব্রেরিতে যোগ করা হয়েছে","REMOVED_FROM_LIB":"লাইব্রেরি থেকে সরানো হয়েছে","TRAILER":"ট্রেইলার","WATCH_TRAILER":"ট্রেইলার দেখুন","WATCH_NOW":"এখন দেখুন","SHOW":"দেখান","SHOW_MOVIE":"চলচ্চিত্র দেখান","WATCH_RANDOM":"এলোমেলোভাবে দেখুন","IMDB_RATING":"IMDb রেটিং","YEAR":"বছর","DIRECTOR":"পরিচালক","WRITER":"লেখক","LEAD_ACTORS":"প্রধান অভিনেতা","CAST":"অভিনেতা","CREW":"দল","SHOW_MORE_CAST":"আরো দেখান »","AIRED":"প্রচারিত","SEASONS":"সিজন","GENRE":"ধরন","GENRE_ALL":"সব ধরন","CATALOG":"ক্যাটালগ","SUMMARY":"সারসংক্ষেপ","SHOW_MORE":"আরো দেখান","SIMILAR":"অনুরূপ","UPCOMING":"আসন্ন","TBA":"TBA","ENDED":"সমাপ্ত","DURATION":"সময়কাল","FEATURED":"বৈশিষ্ট্যযুক্ত","METADATA":"মেটাডেটা","CATEGORY":"বিভাগ","LINKS_GENRES":"ধরন","LINKS_CAST":"অভিনেতা","LINKS_DIRECTORS":"পরিচালক","SEARCH_VIDEOS":"ভিডিও অনুসন্ধান","SEARCH_PLACEHOLDER":"অনুসন্ধান করুন বা URL পেস্ট করুন","ADDON":"অ্যাড-অন","ADDONS":"অ্যাড-অনস","OFFICIAL":"অফিসিয়াল","ADDONS_OFFICIAL":"অফিসিয়াল স্ট্রেমিও অ্যাড-অনস","ADDONS_POPULAR":"আপনার এলাকায় জনপ্রিয়","ADDON_FREE":"বিনামূল্যে","ADDON_PEERED":"পিয়ার্ড","ADDON_SUBSCRIPTION":"সাবস্ক্রিপশন","ADDON_STREAM_GEORESTRICTED":"আপনার এলাকায় উপলব্ধ নয়","ADDON_STREAM_OFFLINECACHE":"অফলাইন ক্যাশে","ADDON_STREAM_LOCALFILE":"লোকাল ফাইল","SHARE_ADDON":"অ্যাড-অন শেয়ার করুন","AVAILABLE_STREAMS":"উপলব্ধ স্ট্রিমসমূহ","NO_STREAM":"কোনো স্ট্রিম পাওয়া যায়নি","ALL_ADDONS":"সমস্ত","INSTALL_MORE_ADDONS":"আরও স্ট্রিমের জন্য, অনুগ্রহ করে আরও অ্যাড-অন ইনস্টল করুন","STREAM_NOT_SUPPORTED":"নির্বাচিত স্ট্রিম এই প্ল্যাটফর্মে সমর্থিত নয়।","ADDON_CATALOGUE":"সমস্ত অ্যাড-অন দেখান »","ADDON_CATALOGUE_MORE":"অ্যাড-অন ইনস্টল করুন","REPO_ADDED":"রিপোজিটরি যোগ করা হয়েছে","ADDON_REPO_EXIST_ERR":"এই অ্যাড-অন সংগ্রহ ইতিমধ্যে বিদ্যমান","ADDON_REPO_ERR":"সংগ্রহ যোগ করার সময় ত্রুটি ঘটেছে","ADDON_ADD_ERR":"অ্যাড-অন যোগ করার সময় ত্রুটি ঘটেছে","ERR_ADDON_PROTECTED":"অ্যাড-অন আনইনস্টল করা যাবে না, এটি সুরক্ষিত","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"কিছু ভুল হয়েছে - প্রমাণীকরণ ব্যর্থ হতে পারে","ERR_NOT_COLLECTION_URL":"সংগ্রহের URL নয়","ERR_NOT_ADDON_URL":"বৈধ অ্যাড-অন URL নয়","ERR_DETECTFROMURL":"এই URL থেকে অ্যাড-অন/সংগ্রহ খুঁজে পাওয়া যাচ্ছে না","ADDON_DUPLICATE_WARNING":"সতর্কতা: ডুপ্লিকেট অ্যাড-অন","ADDON_COLLECTION_SET_FAILED":"আপনার অ্যাকাউন্টে ইনস্টল করা অ্যাড-অনগুলি সিঙ্ক করা ব্যর্থ হয়েছে","SETTINGS_DATA_EXPORT":"ব্যবহারকারীর ডেটা এক্সপোর্ট করুন","ADDON_PULL_FAILED":"আপনার অ্যাকাউন্ট থেকে ইনস্টল করা অ্যাড-অনগুলি সিঙ্ক করা ব্যর্থ হয়েছে","REFRESH_ON_CLICK":"পুনরায় চেষ্টা করতে ক্লিক করুন","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"চলচ্চিত্র এখনও থিয়েটারে আছে","WATCH_IN_CINEMA":"আপনার স্থানীয় সিনেমা হলে দেখুন","IN_THEATER":"সিনেমা হলে","GET_TICKETS":"টিকিট সংগ্রহ করুন","UPCOMING_EPISODE":"আসন্ন এপিসোড","UPCOMING_EPISODE_MESSAGE":"এই এপিসোডটি প্রচারিত হবে","MISSING_DATE_EPISODE":"এপিসোডের তারিখ অনুপস্থিত","MISSING_DATE_EPISODE_MESSAGE":"এই এপিসোডটি এখনও প্রচারিত হয়নি","CHANNEL_NOT_SCRAPED":"এই চ্যানেলটি এখনও স্ক্র্যাপ করা হয়নি।<br>অনুগ্রহ করে কয়েক মিনিট পরে আবার আসুন।","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"একবার উপলব্ধ হলে বিজ্ঞপ্তি পেতে এটি আপনার লাইব্রেরিতে যোগ করুন।","GET_NOTIFIED_WHEN_AVAILABLE":"একবার উপলব্ধ হলে আপনি বিজ্ঞপ্তি পাবেন।","WARNING_STREAMING_SERVER":"সতর্কতা: স্থানীয় স্ট্রিমিং সার্ভার পাওয়া যায়নি। স্থানীয় ফাইল, ইউটিউব এবং বিটটরেন্ট থেকে স্ট্রিমিং উপলব্ধ হবে না।","WARNING_STREAMING_SERVER_DISMISS":"বাতিল করুন","WARNING_STREAMING_SERVER_LATER":"পরে","DECODER_WARNING":"সতর্কতা: এই ভিডিওটি আপনার হার্ডওয়্যার দ্বারা সমর্থিত নাও হতে পারে। মনে রাখবেন, প্লেব্যাক ধীর হতে পারে।","GENERIC_ERROR_MESSAGE":"কিছু ভুল হয়েছে!","TRY_AGAIN":"আবার চেষ্টা করুন","CLEAR_DATA":"ডেটা মুছে ফেলুন","PLAYER_ERROR":"উফ, প্লেয়ার ত্রুটি","PLAYER_ERROR_LOOKSLIKE":"মনে হচ্ছে","PLAYER_ORIENTATION":"প্লেয়ার অভিমুখীকরণ","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"লক করা","PLAYER_ORIENTATION_SENSOR_SHORT":"সেন্সর","PLAYER_ORIENTATION_LANDSCAPE":"প্লেয়ার অভিমুখীকরণ ল্যান্ডস্কেপে লক করা","PLAYER_ORIENTATION_SENSOR":"প্লেয়ার অভিমুখীকরণ স্বয়ংক্রিয় (সেন্সর)","PLAYER_PLAYBACK_SPEED":"প্লেব্যাক গতি","PLAYER_PLAYBACK_ERROR":"প্লেব্যাক ত্রুটি, অনুগ্রহ করে আবার চেষ্টা করুন","PLAYER_PLAYBACK_ERROR_UNKNOWN":"অজানা ত্রুটি","PLAYER_PLAYBACK_ERROR_DEFAULT":"দুঃখিত, এই ভিডিওটি {{productName}} দ্বারা চালানো যাবে না।","PLAYER_SUBTITLES_LANGUAGES":"সাবটাইটেল ভাষাসমূহ","PLAYER_SUBTITLES_VARIANTS":"সাবটাইটেল বৈকল্পিকগুলি","PLAYER_SUBTITLES_SETTINGS":"সাবটাইটেল সেটিংস","PLAYER_SUBTITLES_DISABLED":"সাবটাইটেল নিষ্ক্রিয় করা হয়েছে","PLAYER_SUBTITLES_VERTICAL_POSIITON":"উল্লম্ব অবস্থান","PLAYER_SUBTITLES_LOADED":"সাবটাইটেল লোড করা হয়েছে","PLAYER_SUBTITLES_LOADED_EMBEDDED":"এম্বেডেড সাবটাইটেল লোড করা হয়েছে","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"এক্সক্লুসিভ সাবটাইটেল লোড করা হয়েছে","PLAYER_SUBTITLES_LOADED_LOCAL":"স্থানীয় সাবটাইটেল লোড করা হয়েছে","PLAYER_SUBTITLES_LOADED_ORIGIN":"{{origin}} থেকে সাবটাইটেল লোড করা হয়েছে","PLAYER_PLAY":"চালান","PLAYER_PAUSE":"বিরতি","PLAYER_NEXT_VIDEO":"পরবর্তী ভিডিও","PLAYER_MUTE":"নিঃশব্দ করুন","PLAYER_UNMUTE":"শব্দ চালু করুন","PLAYER_OPEN_IN_EXTERNAL":"বাহ্যিক প্লেয়ারে খুলুন","PLAYER_OPEN_IN_NPLAYER":"nPlayer-এ খুলুন","PLAYER_PLAY_IN":"{{device}}-এ চালান","PLAYER_LIVE":"লাইভ","PLAYER_NEXT_VIDEO_TITLE":"পরবর্তীতে আসছে","PLAYER_NEXT_VIDEO_TITLE_SHORT":"পরবর্তীতে","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"বাতিল করুন","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"এখন দেখুন","PLAYER_COPY_STREAM_SUCCESS":"স্ট্রিম লিংক আপনার ক্লিপবোর্ডে কপি করা হয়েছে","PLAYER_COPY_STREAM_ERROR":"স্ট্রিম লিংক কপি করতে ব্যর্থ হয়েছে","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"ডাউনলোড লিংক আপনার ক্লিপবোর্ডে কপি করা হয়েছে","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"ডাউনলোড লিংক কপি করতে ব্যর্থ হয়েছে","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"থেকে স্ট্রিমিং হচ্ছে","CASTING_TO":"কাস্ট করা হচ্ছে","NETWORK_STATUS":"নেটওয়ার্কের অবস্থা","STREAM_SPEED":"স্ট্রিমের গতি:","STREAM_BUFFERED":"বাফার করা হয়েছে:","PEERS_INFO":"পিয়ার তথ্য","PEERS_ACTIVE":"সক্রিয়:","PEERS_CONNECTED":"সংযুক্ত:","PEERS_WAITING":"অপেক্ষমান:","TRANSCODING_WARNING":"সতর্কতা: ভিডিও ট্রান্সকোডিং হচ্ছে।","STREAM_LOADING":"লোড হচ্ছে...","PLAYING_LOCAL":"স্থানীয় ফাইল থেকে চালানো হচ্ছে","PLAYING_CACHE":"ক্যাশে থেকে চালানো হচ্ছে","WRONG_SUBS":"ভুল সাবটাইটেল?","ERR_SUBS_LOADING_TITLE":"সাবটাইটেল লোড করতে ত্রুটি","ERR_SUBS_LOADING":"সাবটাইটেল লোড করতে ব্যর্থ হয়েছে: এটি আপনার ব্যবহৃত অ্যাড-অন বা আপনার নেটওয়ার্ক সংযোগের সমস্যা হতে পারে","WARN_FOLLOWING_SUB_ADDONS_FAILED":"নিম্নলিখিত সাবটাইটেল অ্যাড-অনগুলি ব্যর্থ হয়েছে","ERR_CASTING_UPDATE_TITLE":"কাস্টিং ডিভাইসের তথ্য আপডেট করা যায়নি: স্ট্রিমিং সার্ভার অফলাইন হতে পারে","CHOOSE_DEVICE":"দেখার জন্য একটি ডিভাইস বেছে নিন","NO_CAST_DEVICES":"কোনো কাস্টিং ডিভাইস উপলব্ধ নেই।","NO_SETTINGS":"কোনো সেটিংস উপলব্ধ নেই।","NO_OPTIONS":"No options available","PHONE_TABLET":"ফোন / ট্যাবলেট","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"সাবটাইটেল","SUBTITLES_CHANGE":"সাবটাইটেল পরিবর্তন করুন","SUBTITLES_CHANGE_NONE":"দুঃখিত, এই ভাষায় অন্য কোনো সাবটাইটেল নেই।","SUBTITLES_CHANGE_ACIVE":"বর্তমানে সাবটাইটেল #{{subtitlesDialog.activeIdx + 1}} সক্রিয় আছে। সাবটাইটেল #{{subtitlesDialog.pickedIdx + 1}} সক্রিয় করতে \'চালিয়ে যান\' ক্লিক করুন।","SUBTITLES_OR":"বিকল্পভাবে,","SUBTITLES_ADJUST_DELAY":"সাবটাইটেল বিলম্ব সামঞ্জস্য করুন:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"অথবা চালানোর সময় সামঞ্জস্য করতে <span>G</span> / <span>H</span> কী ব্যবহার করুন।","SUBTITLES_ADJUST_DELAY_TIP":"পরামর্শ: আপনি চালানোর সময় সামঞ্জস্য করতে <span>G</span> / <span>H</span> কী ব্যবহার করতে পারেন।","SUBTITLES_DELAY":"সাবটাইটেল বিলম্ব:","SUBTITLES_LOADING":"সাবটাইটেল লোড হচ্ছে...","SUBTITLES_UNAVAILABLE":"কোনো বাহ্যিক সাবটাইটেল উপলব্ধ নেই","SUBTITLES_DISABLED":"নিষ্ক্রিয়","EXTERNAL_PLAYER_DISABLED":"নিষ্ক্রিয়","EXTERNAL_PLAYER_ALLOW_CHOOSING":"বেছে নেওয়ার অনুমতি দিন","EXTERNAL_PLAYER_HINT":"ইঙ্গিত: সর্বদা বাহ্যিক প্লেয়ারে খোলার অনুমতি দেওয়ার জন্য একটি সেটিং রয়েছে","DONT_SHOW_AGAIN":"আবার দেখাবেন না","SERVICE_INSTALL":"ইনস্টল করুন","AUDIO":"অডিও","DEFAULT_LANGUAGE":"স্বয়ংক্রিয় ভাষা","DEFAULT_SECONDARY_LANGUAGE":"স্বয়ংক্রিয় দ্বিতীয় ভাষা","SEASON":"সিজন","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"এপিসোড","EPISODE_ABBREVIATION":"ইপি","SPECIAL":"বিশেষ","SORT":"সাজান","SORT_BY":"সাজান","FILTER":"ফিল্টার","SORT_TRENDING":"ট্রেন্ডিং","SORT_RECENT":"সাম্প্রতিক","SORT_ALPHABET":"ক-খ","SORT_ALPHABET_REVERSE":"খ-ক","SORT_RATING":"রেটিং","SORT_WATCHED":"দেখা হয়েছে","SORT_YEAR":"বছর","SELECT":"Select","SELECT_TYPE":"ধরন নির্বাচন করুন","SELECT_SORT":"সাজানোর ধরন নির্বাচন করুন","SELECT_CATALOG":"ক্যাটালগ নির্বাচন করুন","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"ধরন নির্বাচন করুন","SORT_LASTWATCHED":"শেষ দেখা","SORT_NAME":"ক-খ","SORT_NAMEREVERSE":"খ-ক","SORT_TIMESWATCHED":"সবচেয়ে বেশি দেখা","SORT_NOTWATCHED":"দেখা হয়নি","New for You":"আপনার জন্য নতুন","New Episodes":"নতুন এপিসোড","New Videos":"নতুন ভিডিও","Recommendations":"সুপারিশকৃত","LIBRARY_RESUME":"পুনরায় শুরু করুন","LIBRARY_PLAY":"চালান","LIBRARY_DETAILS":"বিস্তারিত","LIBRARY_RESUME_DISMISS":"বাতিল করুন","LIBRARY_CLEAR_PROGRESS":"অগ্রগতি মুছে ফেলুন","LIBRARY_REMOVE":"সরান","LIBRARY_NOT_LOGGED_IN":"লাইব্রেরি শুধুমাত্র লগ ইন করা ব্যবহারকারীদের জন্য উপলব্ধ","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"ক্যালেন্ডার শুধুমাত্র লগ ইন করা ব্যবহারকারীদের জন্য উপলব্ধ","NOT_LOGGED_IN_CLOUD":"আপনার প্রিয় সিনেমা এবং টিভি শোগুলি যেকোনো সময়, যেকোনো জায়গায় অ্যাক্সেস করুন","NOT_LOGGED_IN_RECOMMENDATIONS":"আপনার দেখার ইতিহাস অনুযায়ী সুপারিশ","NOT_LOGGED_IN_NOTIFICATIONS":"কখনও একটি এপিসোড মিস করবেন না","NOT_LOGGED_IN_CALENDAR":"আপনার ব্যক্তিগত দেখার ক্যালেন্ডার শিডিউল করুন","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"বৈশিষ্ট্যযুক্ত","DISCOVER_TOP":"শীর্ষ","DISCOVER_OSCAR":"অস্কার বিজয়ী","DISCOVER_WARNING_TITLE":"ওহ!","DISCOVER_EMPTY_CATALOG":"এই অ্যাডঅনটি খালি কনটেন্ট প্রদান করেছে।","DISCOVER_ADULT_WARNING":"কন্টেন্ট শুধুমাত্র প্রাপ্তবয়স্কদের জন্য দৃশ্যমান। আপনি কি ১৮+?","DISCOVER_NOADDON_WARNING":"সতর্কবার্তা: এই ধরণের জন্য কোনো Stremio অ্যাডঅন সক্রিয় নয়। সংরক্ষিত আইটেম দেখানো হচ্ছে, এখানে কিছু আপডেট হবে না।","DISCOVER_LOAD_ERR":"কন্টেন্ট লোড হয়নি, একটি ত্রুটি ঘটেছে।","DISCOVER_ADDON_UNINSTALLED":"এই কন্টেন্ট আর উপলব্ধ নেই, আপনি সম্ভবত অ্যাডঅন আনইনস্টল করেছেন।","UNINSTALL_THIS_ADDON":"এই অ্যাডঅন আনইনস্টল করুন","ERR_ADDON_NOT_INSTALLED":"এই অ্যাডঅনটি ইনস্টল করা নেই। এখনই ইনস্টল করবেন?","DETAIL_RECEIVE_NOTIF_SERIES":"নতুন এপিসোডের জন্য বিজ্ঞপ্তি পান","DETAIL_RECEIVE_NOTIF_VIDEOS":"নতুন ভিডিওর জন্য বিজ্ঞপ্তি পান","SIDEBAR_SHOW_STREAMS":"স্ট্রিমগুলি দেখান","RELAUNCH":"এখনই পুনরায় চালু করুন!","UPGRADE":"নতুন সংস্করণ! সর্বশেষ Stremio সংস্করণে আপগ্রেড করুন","RELOAD_UI":"ইউজার ইন্টারফেস পুনরায় লোড করুন","MANUAL_UPDATE_TITLE":"আপনার Stremio সংস্করণ আপডেট করুন","MANUAL_UPDATE_LINE1":"আপনি একটি পুরানো Stremio সংস্করণ চালাচ্ছেন যা অত্যন্ত অনির্দেশিত।","MANUAL_UPDATE_LINE2":"দয়া করে যত তাড়াতাড়ি সম্ভব আপডেট করুন।","BUTTON_UPDATE_LATTER":"এখন নয়","BUTTON_UPDATE_NOW":"আপডেট করুন","UPDATER_TITLE":"স্ট্রেমিও এর একটি নতুন সংস্করণ আছে","UPDATER_INSTALL_BUTTON":"এখন ইনস্টল করুন","ANONYMOUS_USER":"অজ্ঞাত ব্যবহারকারী","DONT_HAVE_ACC":"আপনার কি একটি অ্যাকাউন্ট নেই?","HAVE_ACC":"আপনার কি একটি অ্যাকাউন্ট আছে?","PASSWORD":"পাসওয়ার্ড","PASSWORD_CONFIRM":"পাসওয়ার্ড নিশ্চিত করুন","EMAIL":"ই-মেইল","FB_LOGIN":"ফেসবুক দিয়ে চালিয়ে যান","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"আপনার অনুমতি ছাড়া কিছুই শেয়ার করা হয় না","FB_NOPOST":"আমরা আপনার পক্ষে কিছু পোস্ট করব না","OR":"অথবা","I_ACCEPT":"আমি গ্রহণ করি","I_ACCEPT_BY_CLICKING":"উপরের বোতামে ক্লিক করে আমি স্বীকার করছি যে আমি গ্রহণ করছি ","TOS":"শর্তাবলী","MUST_ACCEPT_TERMS":"আপনাকে শর্তগুলি গ্রহণ করতে হবে","PASSWORDS_NOMATCH":"পাসওয়ার্ডগুলি মেলে না","SIGN_UP":"নিবন্ধন করুন","SIGN_UP_EMAIL":"ইমেইল দিয়ে নিবন্ধন করুন","CLICK_TO_SIGN_UP":"নিবন্ধনের জন্য এখানে ক্লিক করুন।","LOG_IN":"লগ ইন","LOG_OUT":"লগ আউট","EXIT_FULLSCREEN":"ফুলস্ক্রীন মোড থেকে বেরিয়ে যান","ENTER_FULLSCREEN":"ফুলস্ক্রীন মোডে যান","PLAY_URL_MAGNET_LINK":"URL/ম্যাগনেট লিংক চালান","HELP_FEEDBACK":"সহায়তা ও প্রতিক্রিয়া","TERMS_OF_SERVICE":"সেবার শর্তাবলী","PRIVACY_POLICY":"গোপনীয়তা নীতি","ABOUT_STREMIO":"Stremio সম্পর্কে","USER_PANEL":"ব্যবহারকারী প্যানেল","LOGIN_LABEL":"লগইন","GUEST_LOGIN":"অতিথি লগইন","GUEST_LOGIN_NOTICE":"অতিথি লগইন সুপারিশ করা হয় না। একটি নিয়মিত লগইন ব্যবহার করলে Stremio আপনার লাইব্রেরি সিঙ্ক করতে পারে, প্রিয় সিরিজ/চ্যানেলের বিজ্ঞপ্তি পেতে পারে। আপনি কি নিশ্চিত যে আপনি এগিয়ে যেতে চান?","GUEST_LOGIN_NOTICE_2":"অতিথি লগইন সুপারিশ করা হয় না - আপনার সিঙ্কড লাইব্রেরি এবং বোর্ড বিজ্ঞপ্তি থাকবে না, যা Stremio এর গুরুত্বপূর্ণ বৈশিষ্ট্য। আপনি কি নিশ্চিত যে আপনি এগিয়ে যেতে চান?","CLICK_HERE":"এখানে ক্লিক করুন","WRONG_PASSWORD":"ভুল ইমেল বা পাসওয়ার্ড। আপনি যদি আপনার পাসওয়ার্ড ভুলে থাকেন, ","SET_A_PASS":"একটি পাসওয়ার্ড সেট করুন","RESET_PASSWORD":"পাসওয়ার্ড পুনরায় সেট করুন","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"পাসওয়ার্ড ভুলে গেছেন?","EMAIL_USED_WITH_FB":"এই ইমেইলটি ফেসবুক লগইনের সাথে ব্যবহৃত হয়েছে।","INVALID_EMAIL":"অনুগ্রহ করে একটি বৈধ ইমেইল ঠিকানা প্রবেশ করুন","INVALID_PASSWORD":"অনুগ্রহ করে একটি বৈধ পাসওয়ার্ড প্রবেশ করুন","CONN_ERR":"সংযোগ ত্রুটি - দয়া করে পরে আবার চেষ্টা করুন।\\n\\nযদি এটি চলতে থাকে, ফায়ারওয়াল/অ্যান্টি-ভাইরাস সফটওয়্যার (বিশেষ করে Bitdefender) অক্ষম করুন।","IMPORT_FROM_GUEST":"আপনার অতিথি অ্যাকাউন্ট থেকে লাইব্রেরি আমদানি করুন","RECEIVE_UPDATES_EMAIL":"Stremio থেকে আপনার ইমেইলে আপডেটগুলি পান","LOGIN_FAILED":"লগইন ব্যর্থ হয়েছে।","SIGNUP_FAILED":"নিবন্ধন ব্যর্থ হয়েছে।","SEARCH_FAILED":"অনুসন্ধান ব্যর্থ হয়েছে","EMAIL_USED":"এই ইমেইলটি ইতিমধ্যে ব্যবহৃত হয়েছে।","WAITING_FB_LOGIN":"ফেসবুক দিয়ে লগইন হচ্ছে...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"বাহ্যিক প্লেয়ারে চালান","EXTERNAL_REMEMBER_PLAYER":"আপনি কি আপনার পছন্দটি মনে রাখতে চান?","EXTERNAL_ALWAYS_PLAY":"হ্যাঁ","EXTERNAL_ONLY_ONCE":"না","BEST_FIT":"সেরা ফিট","FIT_SCREEN":"স্ক্রীনে ফিট","FILL":"ভরাট করুন","16:9":"১৬:৯","4:3":"৪:৩","Original":"মূল","INTRO_TASTE":"আমাদের বলুন আপনি কী পছন্দ করেন","INTRO_TASTE_LONG":"আমাদের বলুন আপনি কী দেখতে চান","INTRO_TASTE_PICK":"{{interestsRemaining}} টি আগ্রহ বেছে নিন","INTRO_TASTE_PICK_MORE":"{{interestsRemaining}} টি আরও আগ্রহ বেছে নিন","INTRO_TASTE_HELP_US":"আমাদের আপনার সম্পর্কে আরও জানতে সাহায্য করুন।","INTRO_TASTE_CHOOSE_THESE":"এগুলির মধ্যে কিছু বেছে নিন:","INTRO_TASTE_CHOOSE_MIN":"অন্তত ৩টি বিভাগ বেছে নিন","INTRO_TASTE_CHOOSE_MIN_ERR":"আপনাকে অন্তত ৩টি বিভাগ বেছে নিতে হবে!","INTRO_TASTE_LIFESTYLE":"জীবনধারা","INTRO_TASTE_SPORTS":"খেলাধুলা","INTRO_TASTE_FOOD_HEALTH":"খাদ্য ও স্বাস্থ্য","INTRO_TASTE_BEAUTY_FASHION":"সৌন্দর্য ও ফ্যাশন","INTRO_TASTE_NEWS":"সংবাদ","INTRO_TASTE_GAMING":"গেমিং","INTRO_TASTE_SCIENCE_EDU":"বিজ্ঞান ও শিক্ষা","INTRO_TASTE_MUSIC":"সঙ্গীত","INTRO_TASTE_TRAVEL":"ভ্রমণ","INTRO_TASTE_LATE_NIGHT":"লেট নাইট শো","INTRO_TASTE_REALITY":"রিয়েলিটি","INTRO_TASTE_COMEDY":"কৌতুক","INTRO_TASTE_DIY":"DIY কিভাবে হবে","INTRO_TASTE_TECH":"প্রযুক্তি","INTRO_TASTE_CINEMA":"সিনেমা","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"নির্বাচিত অ্যাডঅনটি এই প্ল্যাটফর্মে সমর্থিত নয়।","ADDON_DISCLAIMER":"তৃতীয় পক্ষের অ্যাডঅন ব্যবহার সর্বদা আপনার দায়িত্ব এবং আপনি যে অধিক্ষেত্রে আছেন তার শাসনকানুনের অধীনে হবে।","ADDON_ACTIVATE":"এই অ্যাডঅনটি সক্রিয় করবেন?","ADDON_REPO_ADD":"অ্যাডঅন সংগ্রহের URL","ADDON_ADD":"যোগ করুন","INSTALL_ADDON":"অ্যাডঅন ইনস্টল করুন","ADD_ADDON":"অ্যাডঅন যোগ করুন","ADD_ADDON_DESCRIPTION":"আপনি একটি বাহ্যিক লিঙ্কের মাধ্যমে একটি অ্যাডঅন যোগ করতে পারেন, যা ইনস্টল করা অ্যাডঅনগুলির অধীনে প্রদর্শিত হবে।","PASTE_ADDON_URL":"অ্যাডঅন URL পেস্ট করুন","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"নতুন কী","BUTTON_CONTINUE":"চালিয়ে যান","BUTTON_ACTIVATE":"সক্রিয় করুন","BUTTON_ACTIVATED":"সক্রিয় হয়েছে","BUTTON_CANCEL":"বাতিল করুন","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"জমা দিন","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"সব বাদ দিন","BUTTON_VIEW_ALL":"সব দেখুন","BUTTON_SEE_ALL":"সব দেখুন","BUTTON_COLOR_TRANSPARENT":"স্বচ্ছ","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"ব্রাউজারে খুলুন","LIB_EMPTY":"আপনার লাইব্রেরি খালি দেখাচ্ছে। এটি কতটা উপকারী তা খুঁজে বের করুন :)","HOW_START":"এভাবে আপনি শুরু করতে পারেন:","LIB_EMPTY_CAL":"আপনার ক্যালেন্ডার আপনার লাইব্রেরিতে থাকা সিরিজগুলি দেখায়।","HOW_START_CAL":"এভাবে আপনি সিরিজ যোগ করতে পারেন:","LIB_EMPTY_BOARD":"বোর্ড আপনার লাইব্রেরি সম্পর্কিত বিজ্ঞপ্তি ও সুপারিশগুলি দেখায়।","HOW_START_BOARD_WAIT":"অনুগ্রহ করে, আপনার লাইব্রেরিতে কয়েকটি সিরিজ বা চ্যানেল যোগ করুন এবং আমাদের প্রক্রিয়া করতে কয়েক মিনিট সময় দিন :)","HOW_START_BOARD":"এভাবে আপনি এতে সিরিজ এবং সিনেমা যোগ করতে পারেন:","IMPORT_FB":"<span>ফেসবুক</span> থেকে আপনার পছন্দের জিনিস আমদানি করুন","IMPORT_TRAKT":"<span>Trakt</span> থেকে আপনার মিডিয়া লাইব্রেরি আমদানি করুন","IMPORT_DISCOVER":"<span>ডিসকভার</span> থেকে আকর্ষণীয় জিনিসগুলি খুঁজে বের করুন","IMPORT_DISK":"আপনার <span>লোকাল ডিস্ক</span> এ থাকা সিনেমা বা শো আমদানি করুন","PLEASE_CREATE_ACC":"লাইব্রেরি সিঙ্ক এবং বোর্ড সক্ষম করতে দয়া করে <u>একটি অ্যাকাউন্ট তৈরি করুন</u>।","IMPORT_DISCOVER_SIGNUP":"নিবন্ধন করুন এবং <span>ডিসকভার</span> থেকে আকর্ষণীয় জিনিস খুঁজে বের করুন","IMPORT_DISK_SIGNUP":"নিবন্ধন করুন এবং আপনার <span>লোকাল ডিস্ক</span> এ থাকা সিনেমা বা শো আমদানি করুন","LIB_EMPTY_CLOUD":"ক্লাউড লাইব্রেরি","LIB_EMPTY_CLOUD_DESC":"ব্যক্তিগত ক্লাউড লাইব্রেরি সব ডিভাইসে সিঙ্ক করা থাকে","LIB_EMPTY_EARLY":"প্রথম ব্যবহারকারী","LIB_EMPTY_EARLY_DESC":"নতুন এপিসোডের জন্য বিজ্ঞপ্তি পান","LIB_EMPTY_PERSONAL":"ব্যক্তিগত","LIB_EMPTY_PERSONAL_DESC":"ব্যক্তিগত সুপারিশ পান","LIB_EMPTY_CALENDAR_DESC":"আপনার ব্যক্তিগত দেখার ক্যালেন্ডার শিডিউল করুন","LIB_EMPTY_ALL":"এইসব পেতে নিবন্ধন করুন:","LIB_EMPTY_BEST":"Stremio এর সর্বোত্তম সুবিধা পেতে নিবন্ধন করুন","LIB_EMPTY_OTHER":"ক্যালেন্ডার ও অন্যান্য চমৎকার বৈশিষ্ট্য সক্ষম করতে নিবন্ধন করুন","CALENDAR_ADDED":"Stremio ক্যালেন্ডার আপনার স্বয়ংক্রিয় ডেস্কটপ ক্যালেন্ডারে যুক্ত করা হয়েছে।","CALENDAR_ADDED_MSG":"যদি এটি কাজ না করে, অনুগ্রহ করে এই URLটি আপনার ক্যালেন্ডার অ্যাপ্লিকেশনে ম্যানুয়ালি যুক্ত করুন।","TRAKT_EXPIRED":"Trakt প্রমাণীকরণ মেয়াদ শেষ হয়েছে, দয়া করে সেটিংসে যান এবং পুনরায় প্রমাণীকরণ করুন","TRAKT_REQUIRES_LOGIN":"Trakt ত্রুটি","TRAKT_REQUIRES_LOGIN_MSG":"আপনাকে লগইন করতে হবে","TRAKT_IMPORT_WATCHED":"আমদানি করুন","THEME":"থিম","THEME_DEFAULT":"স্বয়ংক্রিয়","THEME_ADAPTIVE":"অ্যাডাপটিভ","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"সেটিংস","SETTINGS_NAV_GENERAL":"সাধারণ","SETTINGS_NAV_PLAYER":"প্লেয়ার","SETTINGS_NAV_STREAMING":"স্ট্রিমিং","SETTINGS_NAV_SHORTCUTS":"শর্টকাট","SETTINGS_SHORTCUT_RELOAD_APP":"অ্যাপ পুনরায় লোড করুন","SETTINGS_SHORTCUT_OPEN_SETTINGS":"সেটিংস খুলুন","SETTINGS_SHORTCUT_SWITCH_TABS":"ট্যাব পরিবর্তন করুন","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"ট্যাবগুলি এগিয়ে ঘোরান","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"ট্যাবগুলি পিছনে ঘোরান","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"মেনুগুলির মধ্যে নেভিগেট করুন","SETTINGS_SHORTCUT_GO_TO_SEARCH":"সার্চে যান","SETTINGS_SHORTCUT_EXIT_BACK":"বের হন / পেছনে যান","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"প্লেব্যাক স্পিড মেনু চালু/বন্ধ করুন","SETTINGS_SHORTCUT_MENU_VIDEOS":"ভিডিও মেনু চালু/বন্ধ করুন","SETTINGS_SHORTCUT_MENU_SUBTITLES":"সাবটাইটেল মেনু চালু/বন্ধ করুন","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"তথ্য মেনু চালু/বন্ধ করুন","SETTINGS_SHORTCUT_FULLSCREEN":"ফুলস্ক্রিন চালু/বন্ধ করুন","SETTINGS_SHORTCUT_SHOW_CONTROLS":"কন্ট্রোলগুলি দেখান","SETTINGS_SHORTCUT_PLAY_PAUSE":"চালান / বিরতি দিন","SETTINGS_SHORTCUT_VOLUME_UP":"ভলিউম বাড়ান","SETTINGS_SHORTCUT_VOLUME_DOWN":"ভলিউম কমান","SETTINGS_SHORTCUT_SEEK_NEXT":"পরবর্তী দিকে যান","SETTINGS_SHORTCUT_SEEK_PREV":"আগের দিকে যান","SETTINGS_SHORTCUT_SEEK_BACKWARD":"পেছনের দিকে যান","SETTINGS_SHORTCUT_SEEK_FORWARD":"সামনের দিকে যান","SETTINGS_SHORTCUT_PLAY_NEXT":"পরবর্তীটি চালান","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"সাবটাইটেলের আকার বাড়ান","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"সাবটাইটেলের আকার কমান","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"সাবটাইটেলের বিলম্ব বাড়ান","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"সাবটাইটেলের বিলম্ব কমান","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"সাইডবার চালু/বন্ধ করুন","SETTINGS_SHORTCUT_OR":"অথবা","SETTINGS_SHORTCUT_TO":"থেকে","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"স্পেস","SETTINGS_SHORTCUT_SHIFT":"শিফট","SETTINGS_SHORTCUT_ESC":"এস্কেপ","SETTINGS_TRAKT_AUTHENTICATE":"যাচাই করুন","SETTINGS_FACEBOOK_IMPORT":"আমদানি করুন","SETTINGS_CALENDAR_SUBSCRIBE":"সাবস্ক্রাইব করুন","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"ক্যালেন্ডার অ্যাপ খোলা হয়েছে। অনুগ্রহ করে ক্যালেন্ডারটিতে ম্যানুয়ালি সাবস্ক্রাইব করুন।","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"ক্যালেন্ডার ফাইল ডাউনলোড করা হয়েছে। অনুগ্রহ করে এটি আপনার ক্যালেন্ডার অ্যাপে আমদানি করুন।","SETTINGS_INTERFACE_LANGUAGE":"ইন্টারফেস ভাষা","SETTINGS_LAUNCH_STARTUP":"স্টার্টআপে চালু করুন","SETTINGS_VLC_DEFAULT":"VLC দিয়ে চালান","SETTINGS_UI_LANGUAGE":"UI ভাষা","SETTINGS_UI_ZOOM":"ইন্টারফেস জুম","SETTINGS_FULLSCREEN_EXIT":"Escape কী দিয়ে ফুলস্ক্রিন থেকে বের হন","SETTINGS_GAMEPAD":"গেমপ্যাড সমর্থন সক্রিয় করুন","SETTINGS_CLOSE_WINDOW":"উইন্ডো বন্ধ হলে অ্যাপ বন্ধ করুন","SETTINGS_SUBTITLES_LANGUAGE":"স্বয়ংক্রিয় সাবটাইটেল ভাষা","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"দ্বিতীয় সাবটাইটেল ভাষা","SETTINGS_SUBTITLES_SIZE":"স্বয়ংক্রিয় সাবটাইটেল আকার","SETTINGS_SUBTITLES_BACKGROUND":"সাবটাইটেল ব্যাকগ্রাউন্ড","SETTINGS_SUBTITLES_COLOR":"সাবটাইটেল রং","SETTINGS_SUBTITLES_COLOR_OUTLINE":"সাবটাইটেল আউটলাইন রং","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"সাবটাইটেল ব্যাকগ্রাউন্ড রং","SETTINGS_SEEK_KEY":"অ্যারো কী দিয়ে সময় পরিবর্তন করুন","SETTINGS_SEEK_KEY_SHIFT":"শিফট কী ধরে রাখলে অ্যারো কী দিয়ে সময় পরিবর্তন করুন","SETTINGS_REWIND_FAST_FORWARD_DURATION":"রিওয়াইন্ড এবং দ্রুত এগিয়ে যাওয়ার সময়কাল","SETTINGS_BINGE":"পরবর্তী এপিসোড স্বয়ংক্রিয়ভাবে চালান","SETTINGS_NEXT_VIDEO":"পরবর্তী এপিসোড শুরু করার বিজ্ঞপ্তি দেখান","SETTINGS_NEXT_VIDEO_TRIGGER":"পরবর্তী এপিসোডের বিজ্ঞপ্তি দেখান:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"পরবর্তী ভিডিও পপআপ সময়কাল","SETTINGS_PLAY_IN_BACKGROUND":"পটভূমিতে চালান","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"বাহ্যিক প্লেয়ারে চালান","SETTINGS_RESIZE":"চালানোর আগে উইন্ডো স্বয়ংক্রিয়ভাবে পুনরায় আকার দিন","SETTINGS_OVERRIDE_SERVER":"স্ট্রিমিং সার্ভারের URL ওভাররাইড করুন (উন্নত)","SETTINGS_SERVER_ADD_URL":"URL যোগ করুন","SETTINGS_SERVER_URL":"স্ট্রিমিং সার্ভারের URL:","SETTINGS_SERVER_AVAILABLE":"স্ট্রিমিং সার্ভার উপলব্ধ।","SETTINGS_SERVER_UNAVAILABLE":"স্ট্রিমিং সার্ভার উপলব্ধ নয়।","SETTINGS_SERVER_STATUS_ONLINE":"অনলাইন","SETTINGS_SERVER_STATUS_ERROR":"ত্রুটি","SETTINGS_SERVER_CONFIGURE_TITLE":"স্ট্রিমিং সার্ভারের URL কনফিগার করুন","SETTINGS_SERVER_CONFIGURE_INPUT":"একটি স্ট্রিমিং সার্ভারের URL প্রবেশ করান","SETTINGS_SERVER_CACHE_SIZE":"ক্যাশের আকার","SETTINGS_SERVER_TORRENT_PROFILE":"টরেন্ট প্রোফাইল","SETTINGS_HTTPS_ENDPOINT":"স্ট্রিমিং HTTPS এন্ডপয়েন্ট:","SETTINGS_TRANSCODE_PROFILE":"ট্রান্সকোড প্রোফাইল","SETTINGS_USE_BETA":"সবসময় সর্বশেষ বিটা ব্যবহার করুন","SETTINGS_IMPORT_FB":"ফেসবুক থেকে আমদানি করুন","SETTINGS_IMPORT_DISK":"লোকাল ডিস্ক থেকে আমদানি করুন","SETTINGS_IMPORT_TRAKT":"Trakt থেকে আমদানি করুন","SETTINGS_PAUSE_MINIMIZED":"মিনিমাইজ করা হলে প্লেব্যাক বিরতি দিন","SETTINGS_HWDEC":"হার্ডওয়্যার-অ্যাক্সিলারেটেড ডিকোডিং","SETTINGS_BACKGROUND":"পটভূমিতে প্লেব্যাক","SETTINGS_SUBSCRIBE_CALENDAR":"ক্যালেন্ডারে সাবস্ক্রাইব করুন","SETTINGS_REQ_EXPORT":"ডেটা রপ্তানির অনুরোধ করুন","SETTINGS_ACC_DELETE":"অ্যাকাউন্ট মুছে ফেলার অনুরোধ করুন","SETTINGS_CHANGE_PASSWORD":"পাসওয়ার্ড পরিবর্তন করুন","SETTINGS_TOS":"সেবার শর্তাবলী","SETTINGS_SUPPORT":"সমর্থন পরিষেবার সাথে যোগাযোগ করুন","SETTING_LANGUAGE":"ভাষা","SETTINGS_BLUR_UNWATCHED_IMAGE":"না দেখা এপিসোডের ছবি ঝাপসা করুন","SETTINGS_QUIT_ON_CLOSE":"বন্ধ করার সময় প্রস্থান করুন","SETTINGS_TRAKT":"Trakt স্ক্রব্লিং","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Trakt.tv থেকে লগআউট করুন","SETTINGS_TRAKT_LOGOUT_2":"Trakt থেকে লগ আউট করুন","SETTINGS_SCAN_FOR_REMOTE":"রিমোট খুলতে QR কোড স্ক্যান করুন","SETTINGS_DESKTOP_NOTIFICATIONS":"ডেস্কটপ বিজ্ঞপ্তি","SETTINGS_DATA_SAVER":"ডেটা সেভার","SETTINGS_LANGUAGE_INTERFACE":"ইন্টারফেস","SETTINGS_LANGUAGE_SUBS":"স্বয়ংক্রিয় সাবটাইটেল","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"অডিও ট্র্যাক স্বয়ংক্রিয়ভাবে নির্বাচন করুন","SETTINGS_DEFAULT_AUDIO_TRACK":"স্বয়ংক্রিয় অডিও ট্র্যাক","SETTINGS_SECONDARY_AUDIO_TRACK":"দ্বিতীয় অডিও ট্র্যাক","SETTINGS_SURROUND_SOUND":"সারাউন্ড সাউন্ড","SETTINGS_ACCOUNT":"অ্যাকাউন্ট","SETTINGS_PLATFORM":"প্ল্যাটফর্ম","SETTINGS_VERSION":"সংস্করণ","SETTINGS_ABOUT":"সম্পর্কে","SETTINGS_MPV_WINDOW":"প্লেয়ারকে একটি পৃথক উইন্ডোতে চালু করুন (উন্নত)","SETTINGS_PLAY_IN_EXTERNAL":"সর্বদা বাহ্যিক প্লেয়ারে ভিডিও শুরু করুন","SETTINGS_STORAGE_BUTTON":"লোকাল স্টোরেজ মুছুন","SETTINGS_STORAGE_MODAL_TITLE":"আপনি কি নিশ্চিত?","SETTINGS_STORAGE_MODAL_MESSAGE":"এটি লোকাল স্টোরেজ মুছে ফেলবে এবং আপনাকে লগ আউট করবে।","SETTINGS_HWDEC_PICKER":"হার্ডওয়্যার-ত্বরান্বিত ডিকোডিং সেটিং বেছে নিন","SETTINGS_HW_AUTOMATIC":"স্বয়ংক্রিয়","SETTINGS_HW_DISABLED":"নিষ্ক্রিয়","SETTINGS_HW_ACCELERATED":"ডিকোডিং ত্বরণ","SETTINGS_HW_FULL":"সম্পূর্ণ ত্বরণ","SETTINGS_HW_LEGACY":"লেগাসি","SETTINGS_DISABLED":"নিষ্ক্রিয়","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"নেটওয়ার্ক সংযোগ বিজ্ঞপ্তি","SETTINGS_ANALYTICS":"বিশ্লেষণের অনুমতি দিন","SETTINGS_REMOTE_URL":"দূরবর্তী URL","SETTINGS_COPY_REMOTE_URL":"দূরবর্তী URL কপি করুন","SETTINGS_REMOTE_URL_COPIED":"দূরবর্তী URL আপনার ক্লিপবোর্ডে কপি করা হয়েছে","SETTINGS_SECTION_SUBTITLES":"সাবটাইটেল","SETTINGS_SECTION_AUDIO":"অডিও","SETTINGS_SECTION_CONTROLS":"নিয়ন্ত্রণ","SETTINGS_SECTION_AUTO_PLAY":"অটো-প্লে","SETTINGS_SECTION_ADVANCED":"উন্নত","SUBSPICKER_AUDIO":"অডিও","SUBSPICKER_SUBTITLES":"অ্যাডঅন সাবটাইটেল","SUBSPICKER_BLACK_BACKGROUND":"কালো ব্যাকগ্রাউন্ড ব্যবহার করুন","SUBSPICKER_VERTICAL_OFFSET":"লম্বভাবে অফসেট","SUBSPICKER_SIZE":"আকার","SUBSPICKER_DELAY":"বিলম্ব","SUBSPICKER_EMBEDDED_SUBS":"এমবেডেড সাবটাইটেল","MOBILE_PRIVACY_POLICY":"গোপনীয়তা নীতি","MOBILE_CRASH_REPORTING":"ক্র্যাশ রিপোর্টিং","MOBILE_ZOOM_TO_FILL":"স্ক্রিন ভরাট করতে জুম করুন","MOBILE_PASSTHROUGH":"ডিজিটাল অডিও আউটপুট (পাসথ্রু)","MOBILE_RUN_LOW_BATTERY":"কম ব্যাটারিতে চালান","MOBILE_RUN_FOREGROUND":"ফোরগ্রাউন্ড সার্ভিস হিসেবে চালান","MOBILE_PERFORMANCE":"কর্মক্ষমতা ও স্থিতিশীলতা","MOBILE_SERVER_ONLINE":"অনলাইন","MOBILE_SERVER_OFFLINE":"অফলাইন","MOBILE_QR_EXPIRES":"QR কোড মেয়াদ শেষ হচ্ছে ","MOBILE_LOG_INTO":"আপনার স্ট্রেমিও অ্যাকাউন্টে লগ ইন করুন ","MOBILE_SCAN_QR":"উপরের QR কোড স্ক্যান করুন অথবা যান ","MOBILE_LINK_ACCOUNT":"অ্যাকাউন্ট লিংক করুন","MOBILE_SPEEDPICKER_CANCEL":"বাতিল","MOBILE_SPEEDPICKER_LABEL":"প্লেব্যাক স্পিড নির্বাচন করুন","MOBILE_EMPTY_LIBRARY":"আপনার লাইব্রেরি খালি","MOBILE_NO_ADDON_ACTIVE":"এই ধরনের জন্য কোনো স্ট্রেমিও অ্যাডঅন সক্রিয় নেই।","MOBILE_ORGANIZER_WARNING":"স্ট্রেমিও অর্গানাইজার অ্যাপ সীমিত কার্যকারিতা প্রদান করে। প্লে করার যোগ্য স্ট্রিমের তালিকা এবং সম্পূর্ণ স্ট্রেমিও অভিজ্ঞতার জন্য, ডেস্কটপে স্ট্রেমিও ব্যবহার করুন।","MOBILE_ADDON_LOADING":"এখনও লোড হচ্ছে","MOBILE_ADDONS_LOADING":"অ্যাডঅন এখনও লোড হচ্ছে","MOBILE_ADDON":"অ্যাডঅন","MOBILE_CONFIGURE_ADDON":"আপনার অ্যাডঅন কনফিগার করুন","MOBILE_CONFIGURE_ADDON_LABEL":"অ্যাডঅন কনফিগার করুন","MOBILE_ORGANIZER_ADDONS_WARNING":"স্ট্রেমিও অর্গানাইজার অ্যাপ সীমিত অ্যাডঅন নির্বাচন প্রদান করে। সম্পূর্ণ স্ট্রেমিও অভিজ্ঞতার জন্য, ডেস্কটপে স্ট্রেমিও ব্যবহার করুন।","MOBILE_DISCONNECT":"সংযোগ বিচ্ছিন্ন করুন","MOBILE_LOOKING_FOR_DEVICES":"ডিভাইস খোঁজা হচ্ছে...","MOBILE_CAST_TO":"কাস্ট করুন","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"অ্যাকাউন্ট মুছুন","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"আইনি বাধ্যবাধকতার কারণে অ্যাকাউন্ট মোছা তাৎক্ষণিক নয়। আপনার অ্যাকাউন্ট মোছার অনুরোধ করার পরে আপনাকে ভবিষ্যতে একটি নতুন স্ট্রেমিও অ্যাকাউন্ট তৈরি করতে ভিন্ন ইমেইল ঠিকানা/ফেসবুক প্রোফাইল ব্যবহার করতে হবে।","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"অ্যাকাউন্ট মোছা নিশ্চিত করুন","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"আপনার অ্যাকাউন্ট ফেসবুক ব্যবহার করে তৈরি করা হয়েছে। আপনার অ্যাকাউন্ট মুছতে, অনুগ্রহ করে www.stremio.com/login এ আমাদের ব্যবহারকারী পোর্টাল ব্যবহার করুন","MOBILE_DELETE_ACCOUNT_MESSAGE":"অ্যাকাউন্ট মোছা নিশ্চিত করতে অনুগ্রহ করে আপনার পাসওয়ার্ড প্রদান করুন।","MOBILE_DELETE_ACCOUNT_BUTTON":"অ্যাকাউন্ট মুছুন","NAVIGATION_ON":"চালু","NAVIGATION_OFF":"বন্ধ","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"আমি স্ট্রেমিও থেকে মার্কেটিং যোগাযোগ গ্রহণ করতে সম্মত হচ্ছি।","QUIT":"প্রস্থান","CONNECTED":"সংযুক্ত","AUTHENTICATE":"প্রমাণীকরণ","AUTHENTICATING":"Authenticating...","CACHING":"ক্যাশিং","SETTINGS_CACHING_DRIVE":"ক্যাশিং ড্রাইভ","ENABLE_LOCAL_FILES_ADDON":"লোকাল ফাইল অ্যাডঅন সক্রিয় করুন (পুনরারম্ভ প্রয়োজন)","LOCAL_ADDON_NOT_ENABLED":"লোকাল অ্যাডঅন সক্রিয় নয়। সেটিংসে যেতে এবং এটি সক্রিয় করতে এখানে ক্লিক করুন","ENABLE_REMOTE_HTTPS_CONN":"দূরবর্তী HTTPS সংযোগ সক্রিয় করুন","TORRENT_PROFILE":"টরেন্ট প্রোফাইল","DATA_CACHING":"ডেটা ক্যাশিং","MAGNET_PARSING":"একটি ম্যাগনেট লিঙ্ক পার্স করা হচ্ছে","January":"জানুয়ারি","February":"ফেব্রুয়ারি","March":"মার্চ","April":"এপ্রিল","May":"মে","June":"জুন","July":"জুলাই","August":"আগস্ট","September":"সেপ্টেম্বর","October":"অক্টোবর","November":"নভেম্বর","December":"ডিসেম্বর","Monday":"সোমবার","Tuesday":"মঙ্গলবার","Wednesday":"বুধবার","Thursday":"বৃহস্পতিবার","Friday":"শুক্রবার","Saturday":"শনিবার","Sunday":"রবিবার","Action":"অ্যাকশন","Comedy":"কমেডি","War":"যুদ্ধ","Family":"পারিবারিক","Animation":"অ্যানিমেশন","Adventure":"অ্যাডভেঞ্চার","Fantasy":"ফ্যান্টাসি","Crime":"অপরাধ","Mystery":"রহস্য","Romance":"রোমান্স","Drama":"নাটক","Horror":"ভয়ঙ্কর","Thriller":"থ্রিলার","Sci-Fi":"সায়েন্স ফিকশন","Music":"সঙ্গীত","Biography":"জীবনী","Documentary":"তথ্যচিত্র","Sport":"ক্রীড়া","Musical":"সাঙ্গীতিক","Western":"পশ্চিমী","Film-Noir":"ফিল্ম নোয়ার","News":"সংবাদ","History":"ইতিহাস","Game-Show":"গেম-শো","Reality-TV":"রিয়েলিটি-টিভি","Talk-Show":"টক-শো","Film & Entertainment":"চলচ্চিত্র ও বিনোদন","Gaming":"গেমিং","From TV":"টিভি থেকে","Lifestyle":"জীবনধারা","Science & Education":"বিজ্ঞান ও শিক্ষা","Cooking & Health":"রান্না ও স্বাস্থ্য","Beauty & Fashion":"সৌন্দর্য ও ফ্যাশন","Sports":"খেলাধুলা","News & Politics":"সংবাদ ও রাজনীতি","How-to & DIY":"কিভাবে করবেন ও নিজে করুন","Tech":"প্রযুক্তি","Automotive":"যানবাহন","Causes & Non-Profits":"কারণ ও অলাভজনক সংস্থা","Movies":"চলচ্চিত্র","Uk Live Tv":"যুক্তরাজ্য লাইভ টিভি","Fashion":"ফ্যাশন","Business News Radio":"ব্যবসা সংবাদ রেডিও","Business Tv":"ব্যবসা টিভি","Cars & Auto":"গাড়ি ও অটোমোবাইল","Comedy Radio":"কমেডি রেডিও","Lifestyle Radio":"লাইফস্টাইল রেডিও","News Tv":"সংবাদ টিভি","Food And Wine":"খাবার ও মদ","Latino Tv":"ল্যাটিনো টিভি","Shopping Tv":"শপিং টিভি","Religion":"ধর্ম","Kids":"শিশু","Body & Soul":"দেহ ও আত্মা","Education":"শিক্ষা","Indian Tv":"ভারতীয় টিভি","Extreme Sports":"চরম ক্রীড়া","Middle Eastern Tv":"মধ্যপ্রাচ্যের টিভি","Celebrity Tv":"সেলিব্রিটি টিভি","Science Tv":"বিজ্ঞান টিভি","Bikini babe":"বিকিনি বেব","Outdoors":"বাইরে","German Tv":"জার্মান টিভি","French Tv":"ফরাসি টিভি","Italian Tv":"ইতালীয় টিভি","Gamer Tv":"গেমার টিভি","Travel":"ভ্রমণ","Asian Tv":"এশীয় টিভি","Entertainment":"বিনোদন","News Radio":"সংবাদ রেডিও","Music Radio":"সঙ্গীত রেডিও","Language Learning":"ভাষা শেখা","Science Radio":"বিজ্ঞান রেডিও","Tech Radio":"প্রযুক্তি রেডিও","Science & Technology Vod":"বিজ্ঞান ও প্রযুক্তি ভিওডি","new video":"নতুন ভিডিও","new episode":"নতুন পর্ব","new movie":"নতুন চলচ্চিত্র","recommended":"সুপারিশকৃত","we recommend":"আমরা সুপারিশ করি","offer of the day":"আজকের অফার","news":"সংবাদ","music video":"সঙ্গীত ভিডিও","CTX_SHOW_HOTKEYS":"হটকী দেখান","CTX_DISMISS_NOTIF":"বিজ্ঞপ্তি খারিজ করুন","CTX_DISMISS_ALL":"সব খারিজ করুন","CTX_SHARE":"শেয়ার করুন","CTX_COPY_SHARE_LINK":"শেয়ার লিঙ্ক কপি করুন","CTX_COPY_MAGNET_LINK":"ম্যাগনেট লিঙ্ক কপি করুন","CTX_COPY_STREAM_LINK":"স্ট্রিম লিঙ্ক কপি করুন","CTX_COPY_VIDEO_DOWNLOAD_LINK":"ভিডিও ডাউনলোড লিঙ্ক কপি করুন","CTX_DOWNLOAD_VIDEO":"এই ভিডিওটি ডাউনলোড করুন","CTX_DOWNLOAD_SUBS":"সাবটাইটেল ডাউনলোড করুন","CTX_VIEW_ON_YOUTUBE":"ইউটিউবে দেখুন","CTX_SHOW":"দেখান","CTX_PLAY":"চালান","CTX_PLAY_IN":"এতে চালান","CTX_PLAY_ON":"এতে চালান","CTX_WATCH_ON":"এতে দেখুন","CTX_WATCH":"দেখুন","CTX_WATCHED":"দেখা হয়েছে","CTX_WATCH_BEGINNING":"শুরু থেকে দেখুন","CTX_WATCH_MOBILE":"মোবাইল ডিভাইসে দেখুন","CTX_REWIND":"শুরুতে ফিরে যান","CTX_MARK_WATCHED":"দেখা হিসেবে চিহ্নিত করুন","CTX_MARK_NON_WATCHED":"না দেখা হিসেবে চিহ্নিত করুন","CTX_MARK_UNWATCHED":"না দেখা হিসেবে চিহ্নিত করুন","CTX_MARK_REST":"বাকিগুলো দেখা হিসেবে চিহ্নিত করুন","CTX_UNMARK_REST":"বাকিগুলো না দেখা হিসেবে চিহ্নিত করুন","CTX_RECEIVE_NEW_NOTIF":"নতুন বিজ্ঞপ্তি পান","CTX_ENABLE_NEW_NOTIF":"বিজ্ঞপ্তি চালু করুন","CTX_DISABLE_NEW_NOTIF":"বিজ্ঞপ্তি বন্ধ করুন","CTX_REMOVE_CACHE":"ক্যাশে থেকে সরান","CTX_REMOVE_CACHE_EP":"এপিসোড ক্যাশে থেকে সরান","CTX_OPEN_CONTAINING":"ধারণকারী ফোল্ডার খুলুন","CTX_REMOVE":"লাইব্রেরি থেকে সরান","CTX_AVAILABLE_OFFLINE":"অফলাইনে উপলব্ধ","CTX_PAUSED":"বিরতি","CTX_ALWAYS_ON_TOP":"সবসময় উপরে","CTX_FULLSCREEN":"পূর্ণ পর্দা","CTX_WRONG_SUBS":"ভুল সাবটাইটেল?","CTX_REPORT_ISSUES":"সমস্যা রিপোর্ট করুন","CTX_COPY":"কপি করুন","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"পেস্ট করুন","CTX_CLEAR":"মুছে ফেলুন","CTX_CLEAR_RECENT_SEARCHES":"সাম্প্রতিক অনুসন্ধান মুছে ফেলুন","HELLO_THERE":"হ্যালো","HOPE_YOU_ENJOY":"আমরা আশা করি আপনি স্ট্রেমিও উপভোগ করছেন এবং এটি ইতিমধ্যে আপনার পছন্দের অ্যাপগুলির মধ্যে একটি!","WHO_ARE_WE":"আমরা কারা? আমরা এর পিছনের দল - দুজন লোক যারা গত ৩ বছর ধরে প্রতিদিন কঠোর পরিশ্রম করে এই পণ্যটিকে আরও ভালো করে তুলছে।","SUPPORT_US":"যদি আপনি স্ট্রেমিও ব্যবহার করে আনন্দ পান, যদি স্ট্রেমিও আপনার কাছে মূল্যবান হয় - কথাটি ছড়িয়ে দিন!","SPREAD_THE_WORD":"এখনই আপনার বন্ধুদের সাথে শেয়ার করুন, স্ট্রেমিও সম্পর্কে কথা ছড়িয়ে দিন","MORE_PEOPLE":"যত বেশি লোক স্ট্রেমিও ব্যবহার করবে, এটি তত ভালো হবে!","SEND_A_LINK":"অথবা আমাদের ওয়েবসাইটের একটি লিঙ্ক পাঠান","TIP_LOCALFILES":"টিপ: আপনি স্থানীয় ভিডিও ফাইলগুলি স্ট্রেমিওতে টেনে এনে ছাড়তে পারেন","ADDON_MY":"আমার অ্যাডঅন","ADDON_COMMUNITY":"কমিউনিটি অ্যাডঅন","ADDON_OFFICIAL":"অফিসিয়াল অ্যাডঅন","ADDON_REPOS":"অ্যাডঅন সংগ্রহ","ADDON_SEARCH":"অ্যাডঅন খুঁজুন","ADDON_INSTALL":"ইনস্টল করুন","ADDON_CONFIGURE":"কনফিগার করুন","ADDON_UNINSTALL":"আনইনস্টল করুন","ADDON_UPGRADE":"আপগ্রেড করুন","ADDON_INSTALLED":"ইনস্টল করা হয়েছে","ADDON_INSTALLED_MSG":"অ্যাডঅন ইনস্টল করা হয়েছে!","ADDON_UPGRADED_MSG":"অ্যাডঅন আপগ্রেড করা হয়েছে!","ADDON_UNKNOWN":"অজানা","ADDON_ERR":"অ্যাডঅন ইনস্টল ত্রুটি!","ADDON_DISCONNECTED":"সংযোগ বিচ্ছিন্ন","ADDON_APP_MISSING":"এই উৎসের জন্য অ্যাপটি ইনস্টল করা নেই। আপনি কি এখন এটি ইনস্টল করতে চান?","ADDON_APP_INSTALL":"এখন ইনস্টল করুন","ADDON_PAGE":"অ্যাডঅন পৃষ্ঠা","ADDON_TOP_CONTENT":"এই অ্যাডঅন থেকে সেরা","ADDON_PROVIDES":"এই অ্যাডঅন আপনাকে দেবে:","ADDON_WATCH":"এখন #{types} দেখুন!","ADDON_WATCH_FREE":"এখন বিনামূল্যে #{types} দেখুন!","ADDON_ADDON":"অ্যাডঅন","ADDON_SUPPORTED_TYPES":"সমর্থিত প্রকার","ADDON_SUPPORTED_CATALOGS":"সমর্থিত ক্যাটালগ","ADDON_PROVIDES_DISCOVER":"আবিষ্কারে আরও #{types}","ADDON_PROVIDES_STREAMS":"#{types} দেখুন","ADDON_PROVIDES_STREAMS_FREE":"বিনামূল্যে #{types} দেখুন","ADDON_PROVIDES_SUBTITLES":"#{types} এর জন্য সাবটাইটেল","ADDON_CANTDETECT":"আমরা একটি চলমান স্ট্রেমিও সনাক্ত করতে পারিনি, তাই আমরা আপনার কোন অ্যাডঅন ইনস্টল করা আছে তা সনাক্ত করতে পারিনি।","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"এই সম্পর্কে কোন তথ্য পাওয়া যায়নি ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"এই সম্পর্কে তথ্য সংগ্রহ করতে ত্রুটি।","ERR_CANT_PARSE_MAGNET":"ম্যাগনেট পার্স করতে অক্ষম","ERR_NO_MAGNET_INFOHASH":"ম্যাগনেটের জন্য কোন বৈধ তথ্য হ্যাশ নেই","ERR_NO_FILE_PATH":"ফাইলের পাথ ছাড়া অনুরোধ পাঠাতে অক্ষম","ERR_NO_TORRENT":"কোন টরেন্ট ফেরত আসেনি","ERR_NO_SUPPORTERD_FILES":"কোন সমর্থিত ফাইল পাওয়া যায়নি","ERR_OPENING_FILES":"বাহ্যিক ফাইল খুলতে পারেনি","ERR_INVALID_LINK":"অবৈধ লিঙ্ক","ERR_REGISTERED_ONLY":"এই অপশনটি শুধুমাত্র নিবন্ধিত ব্যবহারকারীদের জন্য উপলব্ধ।","ERR_CLIPBOARD":"ক্লিপবোর্ড থেকে চালাতে পারে না","ERR_CLIPBOARD_READ":"এই প্ল্যাটফর্মে ক্লিপবোর্ড পড়তে পারে না","ERR_CLIPBOARD_GENERIC":"ক্লিপবোর্ডে কোনো চালানোর যোগ্য URL পাওয়া যায়নি। অনুগ্রহ করে একটি ভিডিওর URL (যেমন একটি ম্যাগনেট লিঙ্ক) কপি করুন।","BOARD_CONTINUE_WATCHING":"দেখা চালিয়ে যান","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"বিশেষভাবে আপনার জন্য নির্বাচিত চলচ্চিত্র।<br />এই চলচ্চিত্রটি একটি নমুনা সুপারিশ।","BOARD_EXPLANATION_EPISODES":"আপনার প্রিয় সিরিজের নতুন পর্বগুলি এখানে আসে।<br />আপনি যে সিরিজগুলি অনুসরণ করেন সেগুলি আপনার লাইব্রেরিতে যোগ করুন।","BOARD_EXPLANATION_VIDEOS":"আপনার প্রিয় চ্যানেলগুলির নতুন ভিডিও এখানে আসে।<br />আপনি যে YouTube চ্যানেলগুলি অনুসরণ করেন সেগুলি আপনার লাইব্রেরিতে যোগ করুন।","WEBSITE_ENJOYED_BY":"বিশ্বব্যাপী ৩০ মিলিয়নেরও বেশি ব্যবহারকারী দ্বারা উপভোগ করা হয়েছে","WEBSITE_STREAMING_ENHANCED":"স্ট্রিমিং উন্নত করা হয়েছে","WEBSITE_STREAMING_ENHANCED_DETAILS":"স্ট্রেমিও একটি নিরাপদ, আধুনিক এবং নির্বিঘ্ন বিনোদন অভিজ্ঞতা প্রদান করে। এর ব্যবহারকারী-বান্ধব ইন্টারফেস এবং বৈচিত্র্যময় কন্টেন্ট লাইব্রেরির সাথে, 4K HDR সমর্থন সহ, ব্যবহারকারীরা তাদের সমস্ত ডিভাইসে প্রিয় চলচ্চিত্র এবং টিভি শো উপভোগ করতে পারেন। এবং নিরাপত্তার প্রতি এর প্রতিশ্রুতির সাথে, স্ট্রেমিও একটি উচ্চ-মানের স্ট্রিমিং অভিজ্ঞতার জন্য চূড়ান্ত পছন্দ।","WEBSITE_AVAILABLE_ON":"উপলব্ধ","WEBSITE_WATCH_AND_ENJOY":"দেখুন ও উপভোগ করুন।","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"স্ট্রেমিও এটিকে খুব সহজ করে তোলে","WEBSITE_ALL_FEATURES":"সমস্ত বৈশিষ্ট্য","WEBSITE_EASY_TO_USE":"ব্যবহার করা সহজ","WEBSITE_EASY_TO_USE_DETAILS":"স্ট্রেমিও ব্যবহারকারী-বান্ধব এবং ব্যবহার করা সহজ হিসাবে ডিজাইন করা হয়েছে। এর পরিষ্কার এবং সহজবোধ্য ইন্টারফেসের সাহায্যে আপনি সহজেই নেভিগেট করতে পারেন এবং আপনি যে কন্টেন্ট দেখতে চান তা খুঁজে পেতে পারেন।","WEBSITE_SEAMLESS_ACROSS_DEVICES":"ডিভাইসগুলিতে নির্বিঘ্ন","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"বিস্তৃত প্ল্যাটফর্মের জন্য উপলব্ধ (উইন্ডোজ, ম্যাক, লিনাক্স, অ্যান্ড্রয়েড এবং আরও অনেক কিছু সহ), স্ট্রেমিও আপনার সমস্ত ডিভাইসে আপনার অগ্রগতি ট্র্যাক করবে। শুধু লগইন করুন এবং প্রতিটি নতুন ডিভাইসে অ্যাপটি আবার কনফিগার না করেই দেখা চালিয়ে যান।","WEBSITE_ALL_DOWNLOADS":"সমস্ত ডাউনলোড","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"উচ্চ-রেজোলিউশন ভিডিও সমর্থন","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"একটি সমন্বিত ভিডিও প্লেয়ার যা বেশিরভাগ ভিডিও ফরম্যাট সমর্থন করে, 4K HDR কন্টেন্ট সহ, আপনাকে উপলব্ধ সর্বোচ্চ মান উপভোগ করতে দেয়।","WEBSITE_DIVERSE_CONTENT_LIBRARY":"বৈচিত্র্যময় কন্টেন্ট লাইব্রেরি","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"স্ট্রেমিও বড় সংখ্যক জনপ্রিয় ভিডিও উৎসের সাথে একীভূত হয়, যেমন Netflix, Amazon Prime Video, Hulu, YouTube, এবং আরও অনেক কিছু।","WEBSITE_CREATE_A_FREE_ACCOUNT":"একটি বিনামূল্যের অ্যাকাউন্ট তৈরি করুন","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"ব্যক্তিগতকৃত দর্শন অভিজ্ঞতা","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"স্ট্রেমিও আপনাকে থিম পরিবর্তন করে, অ্যাড-অন যোগ বা অপসারণ করে, এবং আরও অনেক কিছু করে ইন্টারফেসের চেহারা ও অনুভূতি কাস্টমাইজ করার অনুমতি দেয়।","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"বহুভাষিক সাবটাইটেল সমর্থন","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"আপনি এখন আপনার পছন্দের ভাষায় সমস্ত প্রিয় কন্টেন্ট উপভোগ করতে পারেন কারণ স্ট্রেমিও সমস্ত ভাষায় সাবটাইটেল সমর্থন করে।","WEBSITE_ALL_STREMIO_FEATURES":"স্ট্রেমিওর সমস্ত বৈশিষ্ট্য","WEBSITE_TRY_STREMIO_TITLE_P1":"স্ট্রেমিও ব্যবহার করে দেখুন","WEBSITE_TRY_STREMIO_TITLE_P2":"আপনার টিভিতে এখনই","WEBSITE_YOU_CAN_NOW_WATCH":"আপনি এখন আপনার Android TV ডিভাইসে সমস্ত প্রিয় টিভি শো দেখতে পারেন। স্ট্রেমিও TV অ্যাপটি আপনাকে সহজে একটি মুভি নাইট উপভোগ করতে দেয়।","WEBSITE_YOU_CAN_NOW_WATCH_2":"আপনি এখন আপনার স্মার্ট টিভি বা Android TV-তে সমস্ত প্রিয় টিভি শো দেখতে পারেন। স্ট্রেমিও TV অ্যাপগুলি আপনাকে সহজে একটি মুভি নাইট উপভোগ করতে দেয়।","WEBSITE_STREMIO_FOR_SMART_TV":"স্মার্ট টিভির জন্য স্ট্রেমিও","WEBSITE_PLAY_STORE_REVIEW":"সম্ভবত আপনার ডিভাইসে থাকা সবচেয়ে ভাল এবং সবচেয়ে উপযোগী অ্যাপ। এটি সেই অ্যাপগুলির মধ্যে একটি যা আমি দৈনন্দিন ব্যবহার করি, বিশেষ করে আমার Android TV-তে অনেক বছর ধরে। উপযোগী কার্যকারিতা প্রদান করে একটি শক্তিশালী সম্প্রদায়ের সাথে ভালভাবে তৈরি করা হয়েছে। ভাল কাজ। এভাবেই চালিয়ে যান।","WEBSITE_REVIEWS":"রিভিউ","WEBSITE_GET_STREMIO_FOR_FREE":"বিনামূল্যে স্ট্রেমিও পান","WEBSITE_GET_STREMIO_NOW":"এখনই স্ট্রেমিও পান","WEBSITE_STREMIO_FEATURES":"স্ট্রেমিওর বৈশিষ্ট্যসমূহ","WEBSITE_STREMIO_FEATURES_DETAILS":"স্ট্রেমিওর উন্নত বৈশিষ্ট্যগুলির সাথে একজন পেশাদারের মতো স্ট্রিম করুন এবং আপনার সমস্ত প্রিয় মিডিয়াতে নির্বিঘ্ন অ্যাক্সেস উপভোগ করুন","WEBSITE_DISCOVER_MORE":"আরও আবিষ্কার করুন।","WEBSITE_DISCOVER_MORE_DETAILS":"দেখার জন্য কখনও জিনিস শেষ হবে না","WEBSITE_COMMUNITY_DRIVEN":"কমিউনিটি-চালিত","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"স্ট্রেমিওর একটি বড় এবং সক্রিয় ব্যবহারকারী সম্প্রদায় রয়েছে যারা অ্যাড-অন তৈরি এবং শেয়ার করে সফ্টওয়্যারের উন্নয়নে অবদান রাখে।","WEBSITE_GET_INVOLVED":"যুক্ত হোন","WEBSITE_NEW_THEATER_EXPERIENCE":"নতুন থিয়েটার অভিজ্ঞতা","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"স্ট্রেমিওর নতুন নিবেদিত টিভি অ্যাপ আপনাকে আপনার Android TV ডিভাইসে একটি মুভি নাইট উপভোগ করতে দেয়।","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"স্ট্রেমিওর নতুন নিবেদিত টিভি অ্যাপগুলি আপনাকে আপনার স্মার্ট টিভি বা Android TV ডিভাইসে একটি মুভি নাইট উপভোগ করতে দেয়।","WEBSITE_FREE_AND_SECURE":"বিনামূল্য ও নিরাপদ","WEBSITE_STREAMING":"স্ট্রিমিং","WEBSITE_FREE_AND_SECURE_DETAILS":"স্ট্রেমিও ব্যবহারকারীদের জন্য অতুলনীয় নিরাপত্তা এবং গোপনীয়তা প্রদান করে। দূরবর্তীভাবে অ্যাড-অন চালানোর এর অনন্য বৈশিষ্ট্যের সাথে, স্ট্রেমিও অন্যান্য প্ল্যাটফর্মের তুলনায় আপনার প্রিয় কন্টেন্ট স্ট্রিম করার একটি নিরাপদ উপায় প্রদান করে। আপনার নিরাপত্তা এবং গোপনীয়তা সর্বোচ্চ অগ্রাধিকার, এবং প্ল্যাটফর্মটি নিশ্চিত করে যে আপনার সমস্ত তথ্য সুরক্ষিত।","WEBSITE_FREE_AND_SECURE_DETAILS_2":"নিরাপত্তা এবং গোপনীয়তা সম্পর্কে উদ্বেগের বিদায় জানান এবং স্ট্রেমিওর সাথে অসীম বিনোদনের জগতকে স্বাগত জানান।","WEBSITE_INFORMATION_PROVIDED_BY":"তথ্য প্রদান করেছেন","WEBSITE_CONTRIBUTE_DESC":"প্রকল্পে এবং স্ট্রেমিওকে আরও ভাল করতে সাহায্য করুন","WEBSITE_COMMUNITY_DESC":"আমরা বিশ্বাস করি যে সত্যিই একটি অসাধারণ স্ট্রিমিং অভিজ্ঞতা তৈরি করার সেরা উপায় হল প্রক্রিয়ায় আমাদের সম্প্রদায়কে জড়িত করা। আপনি একজন প্রোগ্রামার, একজন শিল্পী, বা শুধু একজন ভক্ত হোন না কেন - আপনি স্ট্রেমিওকে বাড়তে সাহায্য করতে পারেন।","WEBSITE_COMMUNITY_DESC_2":"তাই আজই আমাদের সাথে যোগ দিন এবং স্ট্রেমিও সম্প্রদায়ের একটি অংশ হয়ে উঠুন এবং স্ট্রিমিংয়ের ভবিষ্যৎকে আকার দিতে থাকুন।","WEBSITE_WAYS_TO_GET_INVOLVED":"জড়িত হওয়ার উপায়","WEBSITE_IN_THE_STREMIO_COMMUNITY":"স্ট্রেমিও সম্প্রদায়ে","WEBSITE_SHARE_YOUR_THOUGHTS":"আপনার চিন্তাভাবনা শেয়ার করুন","WEBSITE_REPORT_BUGS":"বাগ রিপোর্ট করুন","WEBSITE_SUGGEST_FEATURES":"বৈশিষ্ট্য প্রস্তাব করুন","WEBSITE_AND_PROVIDE_FEEDBACK":"এবং আমাদের সোশ্যাল মিডিয়া চ্যানেলগুলিতে প্রতিক্রিয়া প্রদান করুন।","WEBSITE_BETA_TESTING_PROGRAM":"বিটা টেস্টিং প্রোগ্রাম","WEBSITE_BETA_TESTING_PROGRAM_DESC":"স্ট্রেমিও সম্প্রদায়ে আমাদের বিটা টেস্টিং প্রোগ্রামে অংশগ্রহণ করুন (আমরা নিয়মিত আমন্ত্রণ পাঠাই)।","WEBSITE_JOIN_NOW":"এখনই যোগ দিন!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"অফিসিয়াল স্ট্রেমিও সম্প্রদায়","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"অনানুষ্ঠানিক স্ট্রেমিও সম্প্রদায়","WEBSITE_BECOME":"হয়ে উঠুন","WEBSITE_A_VOLUNTEER_TRANSLATOR":"একজন স্বেচ্ছাসেবক অনুবাদক","WEBSITE_ARE_YOU_A_DEVELOPER":"আপনি কি একজন ডেভেলপার?","WEBSITE_CONTRIBUTE_CODE":"আপনি আমাদের ওপেন সোর্স প্রকল্পগুলিতে কোড অবদান রাখতে পারেন। আমাদের GitHub-এ বেশ কয়েকটি প্রকল্প রয়েছে যা অবদানকারীদের খুঁজছে। আপনি সাহায্য করতে আগ্রহী হলে, সেগুলি দেখে নিন:","WEBSITE_STREMIO_ON_GITHUB":"GitHub-এ স্ট্রেমিও","WEBSITE_CREATE_ADDON_DESC":"স্ট্রেমিওর কার্যকারিতা বাড়াতে একটি অ্যাড-অন তৈরি করুন (আমাদের একটি সহজ-ব্যবহারযোগ্য API রয়েছে):","WEBSITE_STREMIO_ADDON_SDK":"স্ট্রেমিও অ্যাড-অন SDK","WEBSITE_INTERN_DEVELOPER":"আমরা একজন ইন্টার্ন ডেভেলপার হিসাবে আমাদের সাথে যোগ দেওয়ার সুযোগও প্রদান করি যাতে আমরা একসাথে বৃদ্ধি পেতে পারি।","WEBSITE_APPLY_AS_AN_INTERN":"ইন্টার্ন হিসাবে আবেদন করুন","WEBSITE_CALLING_ALL_ARTISTS":"সমস্ত শিল্পীদের ডাকছি!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"আমাদের অনলাইন গ্যালারিতে আপনার ফ্যান আর্ট আপলোড করে স্ট্রেমিওর প্রতি আপনার সৃজনশীলতা এবং ভালোবাসা প্রদর্শন করুন। এটি একটি অঙ্কন, পেইন্টিং, বা ডিজিটাল ডিজাইন হোক না কেন, আমরা স্ট্রেমিও ব্র্যান্ডের উপর আপনার অনন্য দৃষ্টিভঙ্গি দেখতে চাই। আমাদের শিল্প উৎসাহীদের সম্প্রদায়ে যোগ দিন এবং বিশ্বজুড়ে স্ট্রেমিও ভক্তদের সাথে আপনার কাজ শেয়ার করুন।","WEBSITE_STREMIO_FANART_GALLERY":"স্ট্রেমিও ফ্যানআর্ট গ্যালারি","WEBSITE_INTERN_DESIGNER":"আমাদের দলের অংশ হয়ে উঠুন এবং আমাদের উত্তেজনাপূর্ণ ইন্টার্নশিপ সুযোগের সাথে আপনার সৃজনশীলতাকে নতুন উচ্চতায় নিয়ে যান।","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"পাবলিক ডোমেইন মুভি প্রকল্প","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"স্ট্রেমিওতে, আমরা পাবলিক ডোমেইন এবং অনাথ ভিডিওগুলি চিহ্নিত করে চলচ্চিত্র এবং টেলিভিশনের ইতিহাস সংরক্ষণে প্রতিশ্রুতিবদ্ধ। আমাদের সম্প্রদায়ের সাথে একসাথে কাজ করে, আমরা নিশ্চিত করতে পারি যে এই ক্লাসিক শিল্পকর্মগুলি সবার জন্য অ্যাক্সেসযোগ্য এবং ভবিষ্যৎ প্রজন্মের উপভোগের জন্য সুরক্ষিত।","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"আপনি যদি সেই প্রকল্পে জড়িত হতে চান তবে আমাদের সাথে যোগাযোগ করতে দ্বিধা করবেন না।","WEBSITE_JOIN_THE_PROJECT":"প্রকল্পে যোগ দিন","WEBSITE_BE_PART_OF_OUR_MISSION":"আমাদের মিশনের অংশ হোন","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"স্ট্রেমিও টিমে যোগ দিতে আগ্রহী? আমরা আগ্রহী পেশাদারদের জন্য সম্পূর্ণ দূরবর্তী কাজ প্রদান করি। আমাদের খোলা পদগুলি দেখুন।","WEBSITE_OPEN_POSITIONS":"খোলা পদসমূহ","WEBSITE_DESCRIPTION":"বিবরণ","WEBSITE_LEARN_MORE":"আরও জানুন","WEBSITE_COMPANY":"কোম্পানি","WEBSITE_CONTACTS":"যোগাযোগ","WEBSITE_NEED_HELP":"সাহায্য প্রয়োজন?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS-এ স্ট্রেমিও ওয়েবের জন্য গাইড","WEBSITE_LINK_ART_V2":"ফ্যানআর্ট গ্যালারি","WEBSITE_PARTNERS":"অংশীদার","WEBSITE_SLOGAN_WATCH":"তাৎক্ষণিকভাবে দেখুন","WEBSITE_SLOGAN_ALL":"আপনার পছন্দের সমস্ত ভিডিও কন্টেন্ট এক জায়গায়","WEBSITE_SLOGAN_NEW":"যত খুশি দেখুন","WEBSITE_SLOGAN_NEW_NEW":"স্ট্রিম করার স্বাধীনতা","WEBSITE_WATCH_FROM":"এখান থেকে দেখুন","WEBSITE_DOWNLOAD":"এখনই ডাউনলোড করুন","WEBSITE_DOWNLOAD_FOR":"এর জন্য এখনই ডাউনলোড করুন","WEBSITE_IS_DESKTOP":"স্ট্রেমিও একটি ডেস্কটপ অ্যাপ্লিকেশন, আপনার পিসিতে এই পৃষ্ঠাটি খুলুন এবং এটি ডাউনলোড করুন","WEBSITE_DESKTOP_DEMO_VID":"ডেস্কটপ ডেমো","WEBSITE_PAGE_HOME":"হোম","WEBSITE_PAGE_FEATURES":"বৈশিষ্ট্য","WEBSITE_PAGE_ADDONS":"অ্যাড-অন","WEBSITE_PAGE_TECH":"প্রযুক্তি","WEBSITE_PAGE_CREATE_ADDON":"অ্যাড-অন তৈরি করুন","WEBSITE_PAGE_CONTACTS":"যোগাযোগ","WEBSITE_PAGE_BLOG":"ব্লগ","WEBSITE_RESET_PASSWORD_MESSAGE":"অনুগ্রহ করে নীচে আপনার কাঙ্ক্ষিত নতুন পাসওয়ার্ড লিখুন।","WEBSITE_RESET_PASSWORD_WARNING":"আপনি কি নিশ্চিত যে আপনি ${1} এর জন্য পাসওয়ার্ড রিসেট করতে চান?","WEBSITE_TYPE_movie":"চলচ্চিত্র","WEBSITE_TYPE_series_PL":"সিরিজ","WEBSITE_TYPE_tv":"লাইভ টিভি","WEBSITE_TYPE_channel":"চ্যানেল","WEBSITE_STREMIO_WHAT_IS":"স্ট্রেমিও একটি অ্যাপ যা আপনাকে আপনার প্রিয় ভিডিও, চলচ্চিত্র, টিভি সিরিজ এবং টিভি চ্যানেলগুলি সংগঠিত করতে এবং তাৎক্ষণিকভাবে দেখতে সাহায্য করে।","WEBSITE_FEATURES_WATCH":"তাৎক্ষণিকভাবে HD-তে দেখুন","WEBSITE_FEATURES_WATCH_DETAIL":"আপনার প্রিয় চলচ্চিত্র, টিভি শো, ভিডিও এবং টিভি চ্যানেলগুলি ক্লিক করে চালান।","WEBSITE_FEATURES_SUBS":"স্বয়ংক্রিয় সাবটাইটেল","WEBSITE_FEATURES_SUBS_DETAIL":"স্ট্রেমিও স্বয়ংক্রিয়ভাবে আপনার ভাষার জন্য সিঙ্ক করা সাবটাইটেল বেছে নেয়।","WEBSITE_FEATURES_SUBS_LABEL":"এবার আপনার পালা, প্রধান।","WEBSITE_FEATURES_CAST":"টিভি ও মোবাইল ডিভাইসে চালান","WEBSITE_FEATURES_CAST_DETAIL":"AppleTV, Chromecast, স্মার্ট টিভি (DLNA/UPnP) এবং মোবাইল ডিভাইসে কাস্ট করুন।","WEBSITE_LIB":"আপনার সমস্ত ডিভাইসে সিঙ্ক করা আপনার ব্যক্তিগত লাইব্রেরি উপভোগ করুন","WEBSITE_LIB_COLLECT":"স্ট্রেমিও থেকে সংগ্রহ করুন","WEBSITE_LIB_IMPORT":"ফেসবুক থেকে আমদানি করুন","WEBSITE_LIB_LOCAL":"আপনার স্থানীয় ড্রাইভ থেকে যোগ করুন","WEBSITE_BOARD":"বোর্ড - বিজ্ঞপ্তি এবং সুপারিশের জন্য আপনার একমাত্র জায়গা","WEBSITE_BOARD_RECOMMEND":"সুপারিশকৃত টিভি শো","WEBSITE_BOARD_TRENDING":"ট্রেন্ডিং মুভি","WEBSITE_BOARD_NEW":"নতুন ভিডিও","WEBSITE_BOARD_EPISODE":"নতুন এপিসোড","WEBSITE_BOARD_1":"দেখার জন্য কিছু আকর্ষণীয় খুঁজছেন? আপনার পছন্দের উপর ভিত্তি করে সুপারিশ পান!","WEBSITE_BOARD_2":"আপনার প্রিয় টিভি শো বা ইউটিউব চ্যানেলের একটি নতুন এপিসোড বের হলে বিজ্ঞপ্তি পান!","WEBSITE_BOARD_YOUTUBE":"ইউটিউব চ্যানেলগুলির নতুন ভিডিও","WEBSITE_BOARD_EPISODES":"আপনি যে সিরিজগুলি অনুসরণ করেন তার নতুন এপিসোড","WEBSITE_ADDONS":"কন্টেন্ট অ্যাড-অন","WEBSITE_TECH_DETAIL":"আমরা প্রযুক্তিকে ভালোবাসি, আমরা পাগল বিজ্ঞানকে ভালোবাসি!\\nস্ট্রেমিও নিম্নলিখিত ওপেন সোর্স প্রযুক্তিগুলি ব্যবহার করে:","WEBSITE_TECH_WCJS":"WebChimera.js স্ট্রেমিওকে ভালো কর্মক্ষমতার সাথে যেকোনো ভিডিও ফরম্যাট চালানোর অনুমতি দেয়।","WEBSITE_TECH_WCJS_EXTRA":"আমরা মূল প্রকল্পের অবদানকারী","WEBSITE_TECH_ELECTRON":"Electron স্ট্রেমিও তৈরি করার জন্য একটি উদ্ভাবনী প্ল্যাটফর্ম প্রদান করে।","WEBSITE_TECH_ELECTRON_EXTRA":"আমরা প্রকল্পের অবদানকারী","WEBSITE_TECH_LINVODB":"একটি ডাটাবেস প্রযুক্তি যা নিশ্চিত করে যে আপনার ডেটা সংগঠিত এবং আপনি যেখানেই লগইন করুন না কেন উপলব্ধ।","WEBSITE_TECH_LINVODB_EXTRA":"ইন-হাউস প্রযুক্তি","WEBSITE_CREATE_ADDON":"আপনার অ্যাড-অন তৈরি করুন","WEBSITE_CREATE_ADDON_DETAIL":"আপনার কি ভিডিও কন্টেন্ট প্রদানকারী একটি পরিষেবা আছে? আপনার অ্যাড-অন তৈরি করে স্ট্রেমিওর বৈশিষ্ট্যগুলি থেকে উপকৃত হতে আমরা আপনাকে সাহায্য করব।","WEBSITE_CREATE_ADDON_BENEFITS":"স্ট্রেমিওর জন্য একটি অ্যাড-অন তৈরি করার সুবিধা","WEBSITE_P2P_BEAUTY":"পিয়ার-টু-পিয়ার স্ট্রিমিংয়ের সৌন্দর্য","WEBSITE_P2P_1":"নির্ভরযোগ্য এবং সাশ্রয়ী মূল্যের পূর্ণ HD / 4K ভিডিও অন ডিমান্ড বা লাইভ স্ট্রিমিং","WEBSITE_P2P_2":"চমৎকার ব্যবহারকারী অভিজ্ঞতা প্রদানকারী বিতরণ প্ল্যাটফর্ম","WEBSITE_P2P_3":"আমরা আপনার সঠিক প্রয়োজন মেটাতে একটি অ্যাড-অন তৈরি করব","WEBSITE_P2P_CONTACT":"আগ্রহী? আপনি <a href=\'mailto:office@stremio.com\'>আমাদের সাথে যোগাযোগ</a> করতে স্বাগত।","WEBSITE_P2P_CONTACT_EXTRA":"আপনার কন্টেন্ট স্ট্রেমিওর সাথে একীভূত করতে সাহায্য করতে পেরে আমরা আনন্দিত হব!","WEBSITE_P2P":"মাঝে মাঝে, এমন একটি প্রযুক্তি আসে যা খেলার নাম পরিবর্তন করে। আমরা আমাদের পিয়ার-টু-পিয়ার (P2P) ভিডিও স্ট্রিমিং ইঞ্জিন তৈরি করতে প্রচুর সময় ও প্রচেষ্টা বিনিয়োগ করেছি যা দুর্দান্ত কর্মক্ষমতা এবং যেকোনো ব্যবহারের ক্ষেত্রে খাপ খাইয়ে নেওয়ার বহুমুখিতা প্রদান করে।\\nDRM-সক্ষম P2P ভিডিও অন ডিমান্ড বা লাইভ স্ট্রিমিংয়ের জন্য আমাদের সাথে যোগাযোগ করুন।","WEBSITE_THOUGHTS":"আমরা যে চিন্তাভাবনা শেয়ার করি:","WEBSITE_SPREAD":"স্ট্রেমিও সম্পর্কে কথা ছড়িয়ে দিন:","WEBSITE_CONTACT":"আমাদের সাথে যোগাযোগ করুন, আপনার কাছ থেকে শুনতে পেলে আমরা খুশি হব!","WEBSITE_OPENSOURCE":"আমাদের ওপেন সোর্স প্রকল্পগুলির জন্য, আমাদের এখানে যান","WEBSITE_BITCOIN":"বিটকয়েন দান করুন:","WEBSITE_FAQ":"প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী","WEBSITE_FAQ_SHORT":"প্রশ্নোত্তর","WEBSITE_QUESTIONS":"প্রশ্ন","WEBSITE_TOS":"ব্যবহারের শর্তাবলী","WEBSITE_LEGAL":"আইনি","WEBSITE_PAGE_ABOUT":"সম্পর্কে","WEBSITE_PAGE_BECOME_PARTNER":"পার্টনার হোন","WEBSITE_ALL_YOU_CAN_WATCH":"যা খুশি দেখার\\nস্বাধীনতা।","WEBSITE_FREEDOM_TO_STREAM":"স্ট্রিম করার স্বাধীনতা","WEBSITE_WHAT_IS_STREMIO":"স্ট্রেমিও কী?","WEBSITE_WHAT_IS_STREMIO_P1":"স্ট্রেমিও হল ভিডিও কন্টেন্ট সংগ্রহের জন্য একটি এক-স্টপ হাব। আপনার মালিকানাধীন যেকোনো ডিভাইসে সব ধরনের উৎস থেকে ভিডিও আবিষ্কার করুন, সংগঠিত করুন এবং দেখুন।","WEBSITE_WHAT_IS_STREMIO_P2":"চলচ্চিত্র, টিভি শো, সিরিজ, লাইভ টেলিভিশন বা ইউটিউব এবং Twitch.tv-এর মতো ওয়েব চ্যানেল - আপনি এসব কিছুই স্ট্রেমিওতে খুঁজে পাবেন।","WEBSITE_WHAT_IS_STREMIO_P1_V2":"স্ট্রেমিও একটি আধুনিক মিডিয়া সেন্টার যা আপনার ভিডিও বিনোদনের জন্য একটি এক-স্টপ সমাধান। আপনি সহজে ইনস্টল করা যায় এমন অ্যাড-অন থেকে ভিডিও কন্টেন্ট আবিষ্কার করেন, দেখেন এবং সংগঠিত করেন।","WEBSITE_WHAT_IS_STREMIO_P2_V2":"চলচ্চিত্র, টিভি শো, লাইভ টিভি বা ওয়েব চ্যানেল - এসব কিছুই স্ট্রেমিওতে খুঁজে পান।","WEBSITE_ENJOI_ON_ALL_DEVICES":"আপনার সমস্ত মিডিয়া ডিভাইসে উপভোগ করুন","WEBSITE_DEVICES_COLLECT":"স্ট্রেমিও থেকে সংগ্রহ করুন","WEBSITE_DEVICES_IMPORT_FB":"ফেসবুক থেকে আমদানি করুন","WEBSITE_DEVICES_LOCAL":"স্থানীয় ড্রাইভ থেকে যোগ করুন","WEBSITE_JOIN_THE_PARTY_NOW":"এখনই পার্টিতে যোগ দিন","WEBSITE_DEVICES_ALL":"আপনার সব ডিভাইসে ব্যবহার করা সহজ;","WEBSITE_EXTENDABLE_CATALOG":"অসীম বিস্তারযোগ্য ভিডিও ক্যাটালগ;","WEBSITE_ORGANIZE_YOUR_MEDIA":"আপনার মিডিয়া সংগঠিত করার জন্য দারুণ বৈশিষ্ট্য;","WEBSITE_AS_SEEN_ON":"যেখানে দেখা গেছে","WEBSITE_STREMIO":"স্ট্রেমিও","WEBSITE_LINK_ABOUT_US":"আমাদের সম্পর্কে","WEBSITE_LINK_TECHNOLOGY":"প্রযুক্তি","WEBSITE_LINK_APPS":"অ্যাপস","WEBSITE_LINK_DOWNLOADS":"ডাউনলোডস","WEBSITE_MORE":"আরও","WEBSITE_LINK_ADDONS":"অ্যাড-অনস","WEBSITE_LINK_ADDON_SDK":"অ্যাড-অন এসডিকে","WEBSITE_LINK_CONTRIBUTE":"অবদান রাখুন","WEBSITE_LINK_COMMUNITY":"কমিউনিটি","WEBSITE_LINK_BLOG":"ব্লগ","WEBSITE_MORE_MORE":"... এবং আরও","WEBSITE_LINK_HELP":"সাহায্য কেন্দ্র","WEBSITE_LINK_CONTACTS":"ব্যবসায়িক অনুসন্ধান","WEBSITE_LINK_TOS":"শর্তাবলী","WEBSITE_LINK_PRAVACY":"গোপনীয়তা নীতি","WEBSITE_SUBSCRIBE":"সাবস্ক্রাইব করুন","WEBSITE_NEWSLETTER":"আমাদের নিউজলেটারে যোগ দিন অসাধারণ জিনিসের জন্য","WEBSITE_PLACEHOLDER_EMAIL":"আপনার ইমেইল","WEBSITE_COMMUNITY":"কমিউনিটি","WEBSITE_LINK_PRAVACY_LEGAL":"গোপনীয়তা ও আইনি","WEBSITE_WHY":"আমরা কেন এটি করি","WEBSITE_WHY_P1":"স্ট্রেমিওতে, আমরা প্রতিদিন কাজে আসি কারণ আমরা ভিডিও-অন-ডিমান্ড শিল্পের একটি গুরুত্বপূর্ণ সমস্যার সমাধান করতে চাই। প্রতি মিনিটে এত বেশি নতুন কন্টেন্ট প্রকাশিত হয় যে এর মধ্যে নিজের পথ খুঁজে পাওয়া প্রায় অসম্ভব।","WEBSITE_WHY_P2":"আমরা লোকেদের সেই বিশাল ভিডিও বিনোদন জগতে নেভিগেট করতে এবং উপভোগ করার জন্য নতুন কন্টেন্ট আবিষ্কার করতে সাহায্য করি। আমাদের অ্যাপগুলি সিনেমা, সিরিজ, লাইভ টিভি, ওয়েব চ্যানেল এবং আরও অনেক কিছুকে একত্রিত করে। আমরা ব্যবহারকারীদের জন্য তাদের পছন্দের শিরোনাম এবং সম্প্রচারকারী খুঁজে পেতে অবিশ্বাস্যভাবে সহজ করে তোলার জন্য নিবেদিত।","WEBSITE_WHY_P3":"আপনি যেকোনো ডিভাইসে এবং যেকোনো সময়ে আমাদের পরিষেবা ব্যবহার করতে পারেন, যা স্ট্রেমিওকে আপনার একমাত্র প্রয়োজনীয় ভিডিও বিনোদন হাব বানিয়ে তোলে।","WEBSITE_TEAM":"টিম","WEBSITE_TEAM_P":"স্ট্রেমিও টিম ছোট কিন্তু শক্তিশালী: আমাদের দশজনের মধ্যে, আমরা X ভাষায় কোড লিখি, এবং সফটওয়্যার ডেভেলপমেন্ট, UI এবং UX ডিজাইন, মার্কেটিং এবং বিজ্ঞাপন, এবং ব্যবসা ও স্টার্টআপে দক্ষতা ভাগ করে নিই।","WEBSITE_FEATURES":"বৈশিষ্ট্যসমূহ","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"সহজে নতুন কন্টেন্ট আবিষ্কার করুন","WEBSITE_FEATURES_DISCOVER_P":"সহজেই নতুন সিনেমা, টিভি শো, সিরিজ এবং চ্যানেল আবিষ্কার করুন দেখার জন্য। বিভাগ, ধরন, রেটিং, সাম্প্রতিকতা ইত্যাদি দ্বারা ব্রাউজ করুন অথবা শুধু একটি নাম টাইপ করুন খুঁজে পেতে। স্ট্রেমিও নতুন ভিডিও কন্টেন্ট খুঁজে পাওয়াকে খুব সহজ করে তোলে।","WEBSITE_FEATURES_ALL_CONTENT":"আপনার সমস্ত ভিডিও কন্টেন্ট একটি স্ক্রিনে","WEBSITE_FEATURES_ALL_CONTENT_P1":"দেখুন কোন সিনেমা, সিরিজ বা ভিডিও আপনি শেষ করেননি এবং সেগুলি দেখা চালিয়ে যান; নতুন এপিসোড এবং রিলিজের জন্য বিজ্ঞপ্তি পান; এবং আপনার দেখার অভ্যাসের উপর ভিত্তি করে আপনি যে সুপারিশগুলি পাবেন তা ব্রাউজ করুন।","WEBSITE_FEATURES_LIBRARY":"আপনার ভিডিও লাইব্রেরি সংগঠিত করুন","WEBSITE_FEATURES_LIBRARY_P1":"একটি ক্লিকেই আপনার স্ট্রেমিও লাইব্রেরিতে যেকোনো শিরোনাম যোগ করুন এবং আপনার কন্টেন্টের মধ্যে নিজের পথ খুঁজে নিন, যা ধরন, সাম্প্রতিকতা, বা বর্ণানুক্রমিক ক্রমে সুন্দরভাবে সাজানো।","WEBSITE_FEATURES_CALENDAR":"আপনি যা দেখেন তার সবকিছুর হিসাব রাখুন","WEBSITE_FEATURES_CALENDAR_P1":"আপনার লাইব্রেরিতে যোগ করা সমস্ত সিনেমা এবং সিরিজের একটি ক্যালেন্ডার ভিজুয়ালাইজেশন পান। আপনার স্ট্রেমিও ক্যালেন্ডার রপ্তানি করুন এবং সিঙ্ক করুন যাতে আপনি সবসময় জানতে পারেন কখন একটি নতুন এপিসোড বা প্রিমিয়ার আসছে।","WEBSITE_FEATURES_BIG_SCREEN":"বড় স্ক্রিনে আপনার ভিডিও কন্টেন্ট উপভোগ করুন","WEBSITE_FEATURES_BIG_SCREEN_P1":"আপনি যা দেখছেন তা অন্য ডিভাইসে কাস্ট করুন - তা ফোন, ট্যাবলেট বা টিভি হোক একটি ক্লিকেই।","WEBSITE_FEATURES_SOURCES":"বিভিন্ন উৎস থেকে ভিডিও দেখুন","WEBSITE_FEATURES_SOURCES_P":"অফিসিয়াল এবং কমিউনিটি অ্যাড-অন ইনস্টল করুন বিভিন্ন প্রদানকারী থেকে সোর্স করা ভিডিও উপভোগ করতে - সবকিছু একটি স্লিক, ব্যবহার করা সহজ অ্যাপে।","WEBSITE_CREATE_AN_ADDON":"একটি অ্যাড-অন তৈরি করুন","WEBSITE_FEATURES_SYNC":"বিভিন্ন ডিভাইসে আপনার লাইব্রেরি সিঙ্ক করুন এবং আপনার প্লেব্যাক পুনরায় শুরু করুন","WEBSITE_FEATURES_SYNC_P1":"আপনার সমস্ত ডিভাইসে আপনার অ্যাকাউন্ট দিয়ে লগইন করুন এবং আপনার লাইব্রেরি, অ্যাড-অন, প্লেব্যাক এবং ক্যালেন্ডার সিঙ্ক করে উপভোগ করুন।","WEBSITE_FEATURES_EXTENDABLE":"অ্যাড-অন দ্বারা সম্প্রসারণযোগ্য ভিডিও ক্যাটালগ","WEBSITE_FEATURES_EXTENDABLE_P1":"স্ট্রেমিও অ্যাড-অন ক্যাটালগ বিভিন্ন অ্যাড-অন প্রদান করে যা ইনস্টল করে বিভিন্ন ধরনের ভিডিও কন্টেন্ট দেখতে পারেন। এর মধ্যে রয়েছে সিনেমা, শো, লাইভ টিভি, খেলাধুলা, সংবাদ, পডকাস্ট, ওয়েব চ্যানেল, ভিডিও গেম এবং আরও অনেক কিছু।","WEBSITE_FEATURES_AUTO_SUBS":"স্বয়ংক্রিয় সাবটাইটেল","WEBSITE_FEATURES_AUTO_SUBS_P1":"আমাদের সাবটাইটেল অ্যাড-অন দিয়ে আপনি আপনার পছন্দের ভাষার জন্য স্বয়ংক্রিয়ভাবে নির্বাচিত অপশন পান।","WEBSITE_FEATURES_CHROMECAST":"Chromecast-এ কাস্টিং","WEBSITE_FEATURES_CHROMECAST_P1":"বড় স্ক্রিনে আপনার ভিডিও কন্টেন্ট উপভোগ করুন বা আপনি যা দেখছেন তা অন্য ডিভাইসে কাস্ট করুন।","WEBSITE_FEATURES_KEEP_TRACK":"আপনার প্রিয় টিভি শো এবং ওয়েব চ্যানেলের হিসাব রাখুন","WEBSITE_FEATURES_KEEP_TRACK_P1":"আপনার প্রিয় সিরিজ এবং ওয়েব চ্যানেলের নতুন এপিসোডের জন্য একটি ক্যালেন্ডার ভিজুয়ালাইজেশন এবং বিজ্ঞপ্তি পান।","WEBSITE_FEATURES_POWER_USER":"পাওয়ার ইউজার বৈশিষ্ট্য","WEBSITE_FEATURES_POWER_USER_P1":"বাহ্যিক প্লেয়ারে চালান","WEBSITE_FEATURES_POWER_USER_P2":"টরেন্ট ফাইল বা ম্যাগনেট লিঙ্ক থেকে চালান","WEBSITE_FEATURES_POWER_USER_P3":"Facebook লাইক বা স্থানীয় ডিস্ক থেকে আপনার লাইব্রেরিতে ইমপোর্ট করুন","WEBSITE_ADD_ONS":"অ্যাড-অন","WEBSITE_ADD_ONS_P1":"স্ট্রেমিও যে সমস্ত ভিডিও কন্টেন্ট প্রদান করে তা একটি অ্যাড-অন সিস্টেমের মাধ্যমে সোর্স করা হয় - অ্যাপে কোনো কন্টেন্ট বা কন্টেন্ট প্রদানকারী অন্তর্ভুক্ত করা হয়নি।","WEBSITE_ADD_ONS_P2":"দুটি গ্রুপের অ্যাড-অন উপলব্ধ: অফিসিয়াল এবং কমিউনিটি অ্যাড-অন।","WEBSITE_ADD_ONS_P3":"অফিসিয়াল গুলি স্ট্রেমিও দ্বারা বিকশিত এবং হোস্ট করা হয়, অন্যদিকে কমিউনিটি অ্যাড-অন আমাদের কমিউনিটি সদস্যদের দ্বারা তৈরি করা হয়, যারা এগুলিও হোস্ট করেন।","WEBSITE_ADDONS_OFFICIAL":"অফিসিয়াল অ্যাড-অন","WEBSITE_ADDONS_WATCHUB":"iTunes, Hulu, Amazon এবং অন্যান্য যুক্তরাজ্য/মার্কিন যুক্তরাষ্ট্রের পরিষেবা থেকে আপনার প্রিয় সিনেমা, সিরিজ এবং শো স্ট্রিম করুন।","WEBSITE_ADDONS_YOUTUBE":"বিজ্ঞাপন ছাড়াই আপনার প্রিয় YouTube চ্যানেলগুলি দেখুন এবং আপনি যে কন্ট্রিবিউটরদের অনুসরণ করেন তাদের নতুন আপলোডের জন্য বিজ্ঞপ্তি পান।","WEBSITE_ADDONS_FILMON":"বিনামূল্যে লাইভ টিভি, সিনেমা এবং সামাজিক টেলিভিশন দেখুন। 600টি টিভি চ্যানেল, 45,000 বিনামূল্যের সিনেমা, ডকুমেন্টারি এবং আরও অনেক কিছু।","WEBSITE_ADDONS_OPENSUBTITLES":"একাধিক ভাষায় সিনেমা এবং টিভি সাবটাইটেল, প্রতিদিন হাজার হাজার অনুবাদিত সাবটাইটেল আপলোড করা হয়।","WEBSITE_ADDONS_COMMUNITY":"কমিউনিটি অ্যাড-অন","WEBSITE_ADDONS_FILMON_VOD":"Filmon.tv থেকে ভিডিও অন ডিমান্ড দেখুন","WEBSITE_ADDONS_TWICH":"Twitch.tv থেকে লাইভ স্ট্রিম দেখুন - ই-স্পোর্টস ইন্ডাস্ট্রির জন্য একটি ভিডিও স্ট্রিমিং প্ল্যাটফর্ম।","WEBSITE_ADDONS_VODO":"সম্পূর্ণ বিনামূল্যে ইন্ডি সিনেমা দেখুন।","WEBSITE_ADDONS_NETFLIX":"Netflix সিনেমা এবং ওয়েব সিরিজ দেখুন।","WEBSITE_ADDONS_CREATE":"একটি অ্যাড-অন তৈরি করুন","WEBSITE_ADDONS_CREATE_P1":"আপনি চাইলে নিজের অ্যাড-অন তৈরি করতে পারেন। এভাবে, আপনি নিজেকে এবং আমাদের সম্প্রদায়কে নতুন ভিডিও কন্টেন্টে অ্যাক্সেস দিতে পারেন, এবং সারা বিশ্বের লক্ষ লক্ষ ব্যবহারকারীর একটি নতুন, লক্ষ্যবদ্ধ দর্শকগোষ্ঠীর কাছে পৌঁছাতে পারেন।","WEBSITE_ADDONS_START_CREATE":"শুরু করতে, স্ট্রেমিও অ্যাড-অন SDK পৃষ্ঠাটি দেখুন:","WEBSITE_DOWNLOADS":"ডাউনলোডস","WEBSITE_DOWNLOADS_P1":"সর্বোত্তম কার্যক্ষমতার জন্য, আমরা সুপারিশ করি যে আপনি স্ট্রেমিও অ্যাপগুলির সর্বশেষ উপলব্ধ সংস্করণ ব্যবহার করুন। যদিও কোনো কারণে আপনি একটি পুরানো সংস্করণ ব্যবহার করতে চান, তাহলে আপনি এখানে এটি ডাউনলোড করতে পারেন।","WEBSITE_DOWNLOADS_P1_SHORT":"সর্বোত্তম কার্যক্ষমতার জন্য, আমরা সুপারিশ করি যে আপনি স্ট্রেমিও অ্যাপগুলির সর্বশেষ উপলব্ধ সংস্করণ ব্যবহার করুন।","WEBSITE_DOWNLOADS_FOR_WIN":"উইন্ডোজের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_MAC":"ম্যাকওএসের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_LINUX":"লিনাক্সের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_ANDROID":"অ্যান্ড্রয়েডের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"অ্যান্ড্রয়েড টিভির জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"অ্যান্ড্রয়েড মোবাইলের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"স্টিম ডেকের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_IOS":"আইওএসের জন্য স্ট্রেমিও (সীমিত সংস্করণ)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"স্যামসাং টিভির জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_LG_TV":"এলজি টিভির জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"সনি টিভির জন্য স্ট্রেমিও (অ্যান্ড্রয়েড)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"ফিলিপস টিভির জন্য স্ট্রেমিও (অ্যান্ড্রয়েড)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"অকুলাস কুয়েস্টের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_META_QUEST":"মেটা কুয়েস্টের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"ভিশন প্রো\'র জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_XBOX":"এক্সবক্সের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_FOR_RPI":"রাস্পবেরি পাইয়ের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"ব্রাউজারের জন্য স্ট্রেমিও","WEBSITE_DOWNLOADS_STREMIO_OS":"স্ট্রেমিও ওএস","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"২০১৯+ স্যামসাং টিভি মডেলের অ্যাপ স্টোরে স্ট্রেমিও খুঁজুন","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"২০২০+ এলজি টিভি মডেলের অ্যাপ স্টোরে স্ট্রেমিও খুঁজুন","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"অ্যান্ড্রয়েড চালিত সনি টিভিতে প্লে স্টোর অ্যাপে স্ট্রেমিও খুঁজুন","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"অ্যান্ড্রয়েড চালিত ফিলিপস টিভিতে প্লে স্টোর অ্যাপে স্ট্রেমিও খুঁজুন","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"আপনার এক্সবক্স ডিভাইসের অ্যাপ স্টোরে স্ট্রেমিও খুঁজুন","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"আরপিআই-তে স্ট্রেমিও ওএস-এর জন্য গাইড","WEBSITE_LINK_GUIDE":"গাইড","WEBSITE_DOWNLOAD_SERVICE":"স্ট্রেমিও সার্ভিস ডাউনলোড করুন","WEBSITE_DOWNLOAD_SERVICE_P1":"স্ট্রেমিও সার্ভিস হল স্ট্রেমিও ওয়েবের জন্য একটি সহযোগী অ্যাপ। আমরা স্ট্রেমিও সার্ভিসের সর্বশেষ উপলব্ধ সংস্করণ ব্যবহার করার পরামর্শ দিই।","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"উইন্ডোজের জন্য স্ট্রেমিও সার্ভিস","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"ম্যাকওএসের জন্য স্ট্রেমিও সার্ভিস","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"লিনাক্সের জন্য স্ট্রেমিও সার্ভিস","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"ডকারের জন্য স্ট্রেমিও সার্ভিস","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"ডকারের জন্য স্ট্রেমিও","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"আরও ডাউনলোড বিকল্প","WEBSITE_DOWNLOAD_NEW":"নতুন!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"আমরা স্ট্রেমিও ওয়েব প্রকাশ করেছি","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"আমরা স্যামসাং টিভির জন্য স্ট্রেমিও প্রকাশ করেছি","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"আমরা এলজি টিভির জন্য স্ট্রেমিও প্রকাশ করেছি","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"আমরা এক্সবক্সের জন্য স্ট্রেমিও প্রকাশ করেছি","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"আমরা রেসবেরি পাইয়ের জন্য স্ট্রেমিও প্রকাশ করেছি","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"আমরা উইন্ডোজের জন্য স্ট্রেমিও ৫ উন্মুক্ত করেছি","WEBSITE_CONTRIBUTE":"অবদান রাখুন","WEBSITE_CONTRIBUTE_P1":"স্ট্রেমিও প্ল্যাটফর্মটি ওপেন সোর্স এবং আপনি সহজেই বর্তমানে উৎস না হওয়া কন্টেন্টের জন্য একটি অ্যাড-অন তৈরি করতে পারেন।","WEBSITE_CONTRIBUTE_WHY":"আপনি কেন একটি অ্যাড-অন তৈরি করবেন?","WEBSITE_CONTRIBUTE_WHY_P1":"আপনার ভিডিও কন্টেন্টের জন্য নতুন দর্শক পৌঁছান","WEBSITE_CONTRIBUTE_WHY_P2":"স্ট্রেমিওর ব্যবহারকারী ভিত্তি দ্রুত বাড়ছে - লঞ্চের প্রথম বছরের মধ্যে, স্ট্রেমিও বিশ্বব্যাপী 1 মিলিয়ন ব্যবহারকারী অর্জন করেছিল, এবং প্ল্যাটফর্মের অস্তিত্বের দ্বিতীয় বছরে এই সংখ্যা বেড়ে 2.5 মিলিয়ন হয়েছে।","WEBSITE_CONTRIBUTE_WHY_P3":"আপনার অ্যাড-অনের মাধ্যমে, আপনি সহজেই এই দর্শকদের কাছে পৌঁছাতে পারেন এবং তাদের কাছে আপনার ভিডিও কন্টেন্ট বিতরণ করতে পারেন।","WEBSITE_CONTRIBUTE_ALL":"আপনার প্রিয় সিনেমা, ভিডিও, সিরিজ এবং চ্যানেলগুলি একটি একক স্থানে দেখুন।","WEBSITE_CONTRIBUTE_ALL_P1":"আপনি কি একটি বিশেষ ধরনের কন্টেন্টের ভক্ত যা এখনও স্ট্রেমিওতে উপলব্ধ নেই? এর জন্য একটি অ্যাড-অন তৈরি করুন এবং বাজারের সবচেয়ে বড় এবং ব্যবহার করা সহজ বিনোদন হাবগুলির মধ্যে একটিতে আপনার প্রিয় ভিডিওগুলি দেখার আনন্দ উপভোগ করুন।","WEBSITE_CONTRIBUTE_ALL_P2":"এর উপরে, আপনি অন্যান্য একই মনোভাবাপন্ন স্ট্রেমিও কমিউনিটি সদস্যদের অসীম কৃতজ্ঞতা পাবেন।","WEBSITE_CONTRIBUTE_MONETIZE":"আপনার অ্যাড-অনকে মানিটাইজ করুন এবং এর সাহায্যে অর্থ উপার্জন করুন","WEBSITE_CONTRIBUTE_MONETIZE_P1":"একবার আপনি স্ট্রেমিওর জন্য একটি নতুন অ্যাড-অন তৈরি করলে, আপনি সহজেই বিভিন্ন উপায়ে এটি মানিটাইজ করতে পারেন। আপনি যদি এটি বিবেচনা করছেন, তাহলে আমাদের সাথে যোগাযোগ করতে দ্বিধা করবেন না ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - আমরা অ্যাড-অন মানিটাইজেশন বিকল্পগুলি সম্পর্কে আপনাকে পরামর্শ দিতে এবং সলাহ দিতে খুশি হব।","WEBSITE_CONTRIBUTE_TRANSLATE":"একজন স্বেচ্ছাসেবক অনুবাদক হোন","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"আপনি যদি বিভিন্ন ভাষায় স্ট্রেমিও অ্যাপগুলি উপভোগ করতে চান, তাহলে আপনি আমাদের স্বেচ্ছাসেবক অনুবাদকদের কমিউনিটিতে যোগ দিতে পারেন। তারা আমাদের অনেক বিভিন্ন ভাষায় স্ট্রেমিওর সংস্করণ যোগ করতে সাহায্য করে।","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"আপনি কি শুরু করতে উদগ্রীব?","WEBSITE_TRANSALTE_STREMIO":"স্ট্রেমিও অনুবাদ করুন","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"অফিসিয়াল কমিউনিটি","WEBSITE_COMMUNITY_OFFICIALS_P1":"বর্ধনশীল স্ট্রেমিও কমিউনিটির অংশ হোন। সোশ্যাল মিডিয়ায় আমাদের অনুসরণ করুন এবং হ্যালো বলতে সংকোচ করবেন না - আমরা আমাদের ভক্তদের কাছ থেকে শুনতে পছন্দ করি!","WEBSITE_COMMUNITY_UNOFFICIALS":"অনানুষ্ঠানিক কমিউনিটি","STREMIO_COMMUNITY_NL":"স্ট্রেমিও নেদারল্যান্ডস","STREMIO_COMMUNITY_BRASIL":"স্ট্রেমিও ব্রাজিল","STREMIO_COMMUNITY_GERMANY":"স্ট্রেমিও জার্মানি","STREMIO_COMMUNITY_BELGIUM":"স্ট্রেমিও বেলজিয়াম","STREMIO_COMMUNITY_FRANCE":"স্ট্রেমিও ফ্রান্স","STREMIO_COMMUNITY_PORTUGAL":"স্ট্রেমিও পর্তুগাল","STREMIO_COMMUNITY_ITALY":"স্ট্রেমিও ইতালি","STREMIO_COMMUNITY_UK":"স্ট্রেমিও যুক্তরাজ্য","STREMIO_COMMUNITY_USA":"স্ট্রেমিও যুক্তরাষ্ট্র","STREMIO_COMMUNITY_MEXICO":"স্ট্রেমিও মেক্সিকো","STREMIO_COMMUNITY_ADDONS":"স্ট্রেমিও অ্যাড-অন","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"দারুণ স্ট্রেমিও","WEBSITE_COMMUNITY_PARTNERS":"অংশীদার এবং সমর্থক","WEBSITE_COMMUNITY_GOODIES":"স্ট্রেমিও গুডিজ","WEBSITE_COMMUNITY_WALLPAPERS":"ওয়ালপেপার","WEBSITE_COMMUNITY_ART":"কমিউনিটি আর্ট গ্যালারি","WEBSITE_LINK_ART":"কমিউনিটি আর্ট গ্যালারি","WEBSITE_CONTACT_US":"আমাদের সাথে যোগাযোগ করুন","WEBSITE_CONTACT_US_P1":"আপনার কোনো প্রশ্ন, মন্তব্য বা পরামর্শ থাকলে, নীচের যোগাযোগ ফর্মের মাধ্যমে আমাদের সাথে যোগাযোগ করতে দ্বিধা করবেন না।","WEBSITE_CONTACT_US_P2":"মনে রাখবেন যে আমরা বুলগেরিয়ায় অবস্থিত তাই সময় অঞ্চলের পার্থক্যের কারণে আপনার প্রশ্নের উত্তর দিতে বিলম্ব হতে পারে।","WEBSITE_CONTACT_US_SUCCESS":"আপনার বার্তা পাঠানো হয়েছে। আমরা যত তাড়াতাড়ি সম্ভব আপনার সাথে যোগাযোগ করব।","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"অনুগ্রহ করে একটি বৈধ ইমেইল লিখুন!","WEBSITE_CONTACT_US_Q_RELATED_TO":"আপনার প্রশ্নটি কিসের সাথে সম্পর্কিত?","WEBSITE_CONTACT_US_Q_OS":"আপনার অপারেটিং সিস্টেম কি?","WEBSITE_CONTACT_US_PH_EMAIL":"আপনার ই-মেইল","WEBSITE_CONTACT_US_PH_MESSAGE":"বার্তা","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"পাঠান","WEBSITE_CONTACT_US_Q_1":"কিভাবে ইনস্টল করবেন?","WEBSITE_CONTACT_US_Q_2":"কিভাবে আনইনস্টল করবেন?","WEBSITE_CONTACT_US_Q_3":"(HTML) কিভাবে লাজানিয়া বানাবেন?","WEBSITE_CONTACT_US_Q_4":"অ্যাড-অন","WEBSITE_CONTACT_US_OS_1":"উইন্ডোজ","WEBSITE_CONTACT_US_OS_2":"ম্যাকওএস","WEBSITE_CONTACT_US_OS_3":"লিনাক্স","WEBSITE_CONTACT_US_OS_4":"অ্যান্ড্রয়েড","WEBSITE_CONTACT_US_OS_5":"আইওএস","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"আমরা প্রযুক্তি এবং পাগল বিজ্ঞান পছন্দ করি। </br> এখানে দেখুন যা স্ট্রেমিওকে চালায় (এটি সম্পূর্ণ ওপেন-সোর্স)।","WEBSITE_TECHNOLOGY_P_QT":"ক্রস-প্ল্যাটফর্ম সফটওয়্যার ডেভেলপমেন্ট তার সেরা রূপে।","WEBSITE_TECHNOLOGY_P_MPV":"একটি বিনামূল্যের, ওপেন সোর্স এবং ক্রস-প্ল্যাটফর্ম মিডিয়া প্লেয়ার।","WEBSITE_TECHNOLOGY_P_RN":"রিয়্যাক্ট নেটিভ আপনাকে শুধুমাত্র জাভাস্ক্রিপ্ট ব্যবহার করে মোবাইল অ্যাপ তৈরি করতে দেয়।","WEBSITE_TECHNOLOGY_P_VLC":"মাল্টিমিডিয়া পেতে অ্যাপ্লিকেশনে এম্বেডেড মিডিয়া ফ্রেমওয়ার্ক।","WEBSITE_TECHNOLOGY_P_REALM":"রিয়েলম একটি মোবাইল প্ল্যাটফর্ম এবং SQLite ও কোর ডেটার একটি বিকল্প।","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js একটি ওপেন-সোর্স, ক্রস-প্ল্যাটফর্ম, জাভাস্ক্রিপ্ট রানটাইম পরিবেশ।","WEBSITE_TECHNOLOGY_P_RUST":"রাস্ট একটি মাল্টি-প্যারাডাইম সিস্টেম প্রোগ্রামিং ভাষা যা নিরাপত্তার উপর ফোকাস করে, বিশেষ করে নিরাপদ কনকারেন্সি।","WEBSITE_TECHNOLOGY_CONTRIBUTE":"প্রকল্পে অবদান রাখুন","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"স্ট্রেমিওতে অবদান রাখার এবং পণ্যটিকে আরও ভালো করতে সাহায্য করার দুটি উপায় রয়েছে।","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"আপনি প্ল্যাটফর্মটি অনুবাদ করে আপনার মূল্যবান ভাষা দক্ষতা দান করতে পারেন...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"অথবা","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... আপনি কমিউনিটি অ্যাড-অন তৈরি করতে আপনার কোডিং দক্ষতা ব্যবহার করতে পারেন।","WEBSITE_TRANSLATE_STREMIO":"স্ট্রেমিও অনুবাদ করুন","WEBSITE_404_OH_NO":"ওহ নো! আপনি যে পৃষ্ঠাটি খুঁজছেন তা এখানে নেই...","WEBSITE_GO_HOME":"হোমে যান","WEBSITE_LINK_OTHER_DOWNLOADS":"অন্যান্য ডাউনলোড","WEBSITE_FAQ_ABR":"সাধারণ জিজ্ঞাসা","WEBSITE_SUPPORT":"সহায়তা","WEBSITE_DOWNLOAD_4_0_BETA":"স্ট্রেমিও ৪ বিটা এখনই ডাউনলোড করুন","WEBSITE_GET_FOR_DESKTOP":"ডেস্কটপের জন্য পান","WEBSITE_LINK_ADDON_COMPETITION":"অ্যাড-অন প্রতিযোগিতা","WEBSITE_LINK_ART_CONTEST":"শিল্প প্রতিযোগিতা","WEBSITE_MY_ACCOUNT":"আমার অ্যাকাউন্ট","WEBSITE_MAINPAGE_FAQ_001_H1":"স্ট্রেমিও কি?","WEBSITE_MAINPAGE_FAQ_001_P1":"স্ট্রেমিও একটি আধুনিক মিডিয়া সেন্টার যা আপনাকে যা খুশি দেখার স্বাধীনতা দেয়।","WEBSITE_MAINPAGE_FAQ_002_H1":"এটি কীভাবে কাজ করে?","WEBSITE_MAINPAGE_FAQ_002_P1":"আপনার ডিভাইসে স্ট্রেমিও ইনস্টল করে একটি অ্যাকাউন্ট তৈরি করার পর, আপনাকে শুধু অ্যাড-অন ক্যাটালগে যেতে হবে এবং যেকোনো অ্যাড-অন ইনস্টল করতে হবে, এবং আপনি প্রস্তুত!","WEBSITE_MAINPAGE_FAQ_002_P2":"এরপর, আপনি বিষয়বস্তু অন্বেষণ শুরু করতে ডিসকভার বা বোর্ড বিভাগে যেতে পারেন।","WEBSITE_MAINPAGE_FAQ_003_H1":"আমি এখানে কী দেখতে পারি?","WEBSITE_MAINPAGE_FAQ_003_P1":"অনেক কিছু: চলচ্চিত্র, টিভি শো, ওয়েব চ্যানেল, স্পোর্টস, টিভি চ্যানেল, পডকাস্ট শোনা এবং আরও অনেক কিছু। আমাদের অ্যাড-অন সিস্টেমের কারণে, আপনি বিভিন্ন ধরনের বিষয়বস্তু অ্যাক্সেস করতে পারেন।","WEBSITE_MAINPAGE_FAQ_004_H1":"স্ট্রেমিও কি ওপেন-সোর্স?","WEBSITE_MAINPAGE_FAQ_004_P1":"হ্যাঁ, আপনি নিম্নলিখিত লিঙ্কগুলি দেখতে পারেন: ${1}ডেস্কটপ অ্যাপ${2} এবং ${3}GitHub সংগঠন${4}।","WEBSITE_MAINPAGE_FAQ_005_H1":"স্ট্রেমিও কি নিরাপদ?","WEBSITE_MAINPAGE_FAQ_005_P1":"হ্যাঁ: কারণ এটি ওপেন-সোর্স সফ্টওয়্যার, কোডটি পাবলিকভাবে নিরীক্ষণযোগ্য এবং আপনি নিজেই এটি পর্যালোচনা করতে পারেন।","WEBSITE_MAINPAGE_FAQ_005_P2":"স্ট্রেমিওর অ্যাড-অন সিস্টেমটিও ব্যবহারকারীর নিরাপত্তা মাথায় রেখে তৈরি করা হয়েছে। অ্যাড-অনগুলি স্থানীয়ভাবে কোনও কোড চালায় না, তাই তারা আপনার ডিভাইসের জন্য কোনও ঝুঁকি সৃষ্টি করে না।","WEBSITE_MAINPAGE_FAQ_006_H1":"আমার গোপনীয়তা সম্পর্কে কী?","WEBSITE_MAINPAGE_FAQ_006_P1":"আমরা ব্যবহারকারীদের গোপনীয়তা সম্মান করি এবং আপনার অ্যাকাউন্ট তৈরি ও সিঙ্ক করার জন্য প্রয়োজনীয় ন্যূনতম ছাড়া কোনও ব্যক্তিগত তথ্য সংগ্রহ করি না।","WEBSITE_MAINPAGE_FAQ_006_P2":"সাইন আপের সময় একটি ${1}অতিথি মোড${2}ও রয়েছে, যার জন্য কোনও ডেটা প্রয়োজন নেই: এই মোডে, আমাদের ব্যাকএন্ডে কোনও কল করা হয় না। তবে, এটি উপযোগী বৈশিষ্ট্যগুলির খরচে আসে, যেমন আপনার লাইব্রেরি ডিভাইসগুলিতে সিঙ্ক করার ক্ষমতা।","WEBSITE_MAINPAGE_FAQ_007_H1":"আমি কি আমার টিভিতে কাস্ট করতে পারি?","WEBSITE_MAINPAGE_FAQ_007_P1":"হ্যাঁ, আমরা ক্রোমকাস্ট সমর্থন করি এবং আপনি ডেস্কটপ এবং মোবাইল অ্যাপ (অ্যান্ড্রয়েড) উভয় থেকে কাস্ট করতে পারেন।","WEBSITE_MAINPAGE_FAQ_008_H1":"স্ট্রেমিওর কতগুলি অ্যাড-অন আছে?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 সালের শেষের দিকে, 50-এর বেশি - আরও তথ্যের জন্য, আমাদের অ্যাড-অন ক্যাটালগ দেখুন।","WEBSITE_MAINPAGE_FAQ_009_H1":"অ্যাড-অন ক্যাটালগে যা আছে তার বাইরেও কি স্ট্রেমিও সম্প্রসারণ করা যায়?","WEBSITE_MAINPAGE_FAQ_009_P1":"হ্যাঁ, আপনার এগুলি দেখা উচিত: ${1}PimpMyStremio${2}, ${3}Reddit কমিউনিটি${4}, ${5}Stremio ডাউনলোডার${6}, ইত্যাদি।","WEBSITE_MAINPAGE_FAQ_010_H1":"স্ট্রেমিও কোন ডিভাইসগুলি সমর্থন করে?","WEBSITE_MAINPAGE_FAQ_010_P1":"আমাদের উইন্ডোজ, ম্যাক এবং লিনাক্সের জন্য ডেস্কটপ অ্যাপ রয়েছে। মোবাইলের জন্য, আমরা অ্যান্ড্রয়েড এবং iOS সমর্থন করি, যদিও মনে রাখবেন যে iOS-এর কার্যকারিতা সীমিত (বেশিরভাগ অ্যাড-অন সমর্থন করে না)।","WEBSITE_MAINPAGE_FAQ_010_P2":"অনেক অ্যান্ড্রয়েড-ভিত্তিক ডিভাইস রয়েছে যেখানে আপনি স্ট্রেমিও চালাতে পারেন, যেমন NVIDIA Shield এবং Amazon Fire Stick, তবে আমরা সেগুলি অফিসিয়ালি সমর্থন করি না।","WEBSITE_MAINPAGE_FAQ_010_P1_2":"আমাদের উইন্ডোজ, ম্যাক এবং লিনাক্সের জন্য ডেস্কটপ অ্যাপ রয়েছে। আমাদের অ্যান্ড্রয়েড মোবাইল এবং অ্যান্ড্রয়েড টিভির জন্যও নিবেদিত অ্যাপ রয়েছে। iOS এবং iPadOS-এর জন্য আমরা স্ট্রেমিও ওয়েব ব্যবহার করার পরামর্শ দিই, যদিও এটি কার্যকারিতায় আরও সীমিত।","WEBSITE_MAINPAGE_FAQ_011_H1":"আপনি কি স্ট্রেমিওতে নির্দিষ্ট বিষয়বস্তু যোগ করতে পারেন?","WEBSITE_MAINPAGE_FAQ_011_P1":"দুঃখিত, আমরা নিজেরা কোনও বিষয়বস্তু প্রদান করি না, তবে আপনি যত বেশি স্ট্রেমিও অ্যাড-অন ইনস্টল করবেন, তত বেশি বিষয়বস্তু আপনি খুঁজে পাবেন।","WEBSITE_MAINPAGE_FAQ_012_H1":"স্ট্রেমিও কি ম্যাগনেট লিঙ্ক চালাতে পারে?","WEBSITE_MAINPAGE_FAQ_012_P1":"হ্যাঁ, এবং এটি সাধারণ HTTP লিঙ্ক এবং টরেন্ট ফাইলও চালাতে পারে (ড্র্যাগ এবং ড্রপ)।","WEBSITE_MAINPAGE_FAQ_013_H1":"আমি কি একটি ভিডিও ডাউনলোড করে অফলাইনে দেখতে পারি?","WEBSITE_MAINPAGE_FAQ_013_P1":"অফলাইনে উপলব্ধ একটি আসন্ন বৈশিষ্ট্য, তবে যদি আপনি স্ট্রেমিওকে আপনার ডিভাইসে ক্যাশে করার অনুমতি দেন (সেটিংস প্যানেল থেকে) তাহলে আপনি পরে সংযোগ ছাড়াই ভিডিওগুলি দেখতে পারবেন।","WEBSITE_MAINPAGE_FAQ_014_H1":"কিছুই কাজ করছে না, আমাকে সাহায্য করুন!","WEBSITE_MAINPAGE_FAQ_014_P1":"আপনি কি নিশ্চিত যে আপনি অ্যাড-অন ইনস্টল করেছেন? যদি হ্যাঁ হয়, তাহলে আমাদের ${1}সাহায্য কেন্দ্র${2} দেখুন।","WEBSITE_MAINPAGE_FAQ_015_H1":"স্ট্রেমিও কীভাবে তার উন্নয়ন কার্যক্রম বজায় রাখে?","WEBSITE_MAINPAGE_FAQ_015_P1":"আমরা মাঝে মাঝে অ-বিরক্তিকর বিজ্ঞাপন চালাই, তবে আমরা একটি দান মডেলে যাওয়ার কথা বিবেচনা করছি।","WEBSITE_MAINPAGE_FAQ_015_P2":"আরও প্রশ্নের জন্য, আমাদের ${1}সাহায্য কেন্দ্রে${2} যান।","HELP_LEARN_MORE":"আমাদের আপনার সম্পর্কে আরও জানতে সাহায্য করুন।","LIFESTYLE":"জীবনযাত্রা","SPORTS":"খেলাধুলা","FOOD_HEALTH":"খাদ্য ও স্বাস্থ্য","BEAUTY_FASHION":"সৌন্দর্য ও ফ্যাশন","NEWS":"সংবাদ","GAMING":"গেমিং","SCIENCE_EDUCATION":"বিজ্ঞান ও শিক্ষা","MUSIC":"সঙ্গীত","TRAVEL":"ভ্রমণ","LATE_NIGHT":"দেরি রাতের","REALITY":"রিয়েলিটি","COMEDY":"কমেডি","DIY":"নিজে করার পদ্ধতি","TECH":"প্রযুক্তি","CINEMA":"সিনেমা","CONTINUE":"চালিয়ে যান","SLOW_LOADING":"ধীরে লোড হচ্ছে?","I_GIVE_UP":"আমি হাল ছেড়ে দিচ্ছি","LEARN_MORE":"আরও জানুন","POOR_SOURCE":"এই উৎসটি দুর্বলভাবে উপলব্ধ অথবা আপনার ইন্টারনেট সংযোগ যথেষ্ট দ্রুত নয়","PICK_CATEGORIES_ERR":"আপনাকে অন্তত ৩টি বিভাগ বেছে নিতে হবে","ADJUST_TIMING":"সময় সমন্বয় করুন","ADJUST_SIZE":"আকার সমন্বয় করুন","SEARCH_ANYTHING":"আপনি যা খুশি অনুসন্ধান করতে পারেন...","ALL_CATEGORIES":"সব","SEARCH_CATEGORIES":"চলচ্চিত্র, সিরিজ, ইউটিউব ও টিভি","SEARCH_PERSONS":"অভিনেতা, পরিচালক ও লেখক","SEARCH_PROTOCOLS":"HTTP ও ম্যাগনেট লিংক","SEARCH_TYPES":"IMDB / TVDB লিংক","WATCHED":"দেখা হয়েছে","SHOW_LESS":"কম দেখান","LAST_SEARCHES":"সর্বশেষ অনুসন্ধান","CLEAR_HISTORY":"ইতিহাস মুছুন","CHOOSE_SOME":"এর মধ্যে থেকে কিছু বেছে নিন:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"ওয়েব রিমোট লোড করা যায়নি","STREMIO_OFFLINE":"স্ট্রেমিও অফলাইন","STREMIO_EXPENSIVE_CONNECTION":"আমরা দেখেছি যে আপনি একটি মোবাইল ডেটা সংযোগ ব্যবহার করছেন, আপনি কি চালিয়ে যেতে চান?","USE_DATA":"ডেটা ব্যবহার করুন","WARNING":"সতর্কতা","MORE_INFO":"আরও তথ্য ...","STREMIO_TV_STREMIO":"স্ট্রেমিও","STREMIO_TV_LOADING":"লোড হচ্ছে ...","STREMIO_TV_BACK_TO_LANGUAGES":"ভাষায় ফিরে যান","STREMIO_TV_REMOTE":"রিমোট","STREMIO_TV_GO_TO":"যান:","STREMIO_TV_OR_SCAN":"অথবা স্ক্যান করুন:","STREMIO_TV_ADDON_INSTRUCTIONS":"আপনার পছন্দের অ্যাড-অন ইনস্টল করতে অনুগ্রহ করে নির্দেশাবলী অনুসরণ করুন।","STREMIO_TV_LIVE_TV":"লাইভ টিভি","STREMIO_TV_RESUME_WATCHING":"দেখা চালিয়ে যান","STREMIO_TV_LOADING_BACKGROUND":"পটভূমি লোড হচ্ছে","STREMIO_TV_CHECKING_AUTHENTICATION":"প্রমাণীকরণ যাচাই করা হচ্ছে","STREMIO_TV_LOADING_BOARD":"বোর্ড লোড হচ্ছে","STREMIO_TV_LOGIN_HEADER_LINE_1":"আমরা চাই আমাদের ব্যবহারকারীরা আমাদের সফটওয়্যারে সর্বোত্তম সম্ভব ব্যক্তিগতকৃত অভিজ্ঞতা পাক।","STREMIO_TV_LOGIN_HEADER_LINE_2":"এই কারণেই আমরা আপনাকে অনুরোধ করছি আপনার অ্যাকাউন্ট তৈরি করতে এবং/অথবা লগইন করতে।","STREMIO_TV_LOGIN_FOOTER_LINE_1":"বোঝার জন্য ধন্যবাদ,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"স্ট্রেমিও টিম","STREMIO_TV_REMOTE_INSTRUCTIONS":"আপনার স্মার্টফোন / ট্যাবলেট / ডেস্কটপে ওয়েব রিমোট ব্যবহার করতে:","STREMIO_TV_WIFI_SETUP":"ওয়াই-ফাই সেটআপ","STREMIO_TV_WIFI_HEADER_LINE_1":"স্ট্রেমিও সার্কেল কোনো ইন্টারনেট সংযোগ সনাক্ত করেনি।","STREMIO_TV_WIFI_DETAILS_1":"সংযোগ করুন:","STREMIO_TV_WIFI_DETAILS_2":"স্ট্রেমিও-সার্কেল","STREMIO_TV_WIFI_DETAILS_3":"পাসওয়ার্ড ব্যবহার করুন:","STREMIO_TV_WIFI_DETAILS_4":"স্ট্রেমিও সার্কেল","STREMIO_TV_WIFI_DETAILS_5":"লিঙ্কসহ একটি ওয়েব ব্রাউজার খুলুন:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"স্বয়ংক্রিয়","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"সর্বশেষ দেখা অনুযায়ী","STREMIO_TV_LIBRARY_SORT_NAME":"নাম অনুযায়ী","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"নাম অনুযায়ী অবরোহী ক্রমে","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"দেখার সংখ্যা অনুযায়ী","STREMIO_TV_LIBRARY_SORT_WATCHED":"দেখা হয়েছে অনুযায়ী","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"দেখা হয়নি অনুযায়ী","STREMIO_TV_DETAILS_SEASON_NUMBER":"সিজন ${1}","STREMIO_TV_STREAMS_LOADING":"${2} এর মধ্যে ${1} টি অ্যাড-অন লোড হয়েছে...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} টি অ্যাড-অন এখনও লোড হচ্ছে...","STREMIO_TV_PLAYER_SETTINGS":"প্লেয়ার সেটিংস","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"সাবটাইটেল বিলম্ব","STREMIO_TV_PLAYER_AUDIO_DELAY":"অডিও বিলম্ব","STREMIO_TV_PLAYER_VIDEO_SCALING":"ভিডিও স্কেলিং","STREMIO_TV_PLAYER_CHAPTERS":"অধ্যায়","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"${1} এড়িয়ে যান","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"অসমর্থিত স্ট্রিম সোর্স","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"বাহ্যিক লিঙ্ক খোলা ব্যর্থ হয়েছে","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"অডিও পাসথ্রু মোডে সমন্বয়যোগ্য নয়","STREMIO_TV_PLAYER_PLAY_IN_EXO":"ExoPlayer দিয়ে চালান","STREMIO_TV_PLAYER_PLAY_IN_VLC":"libVLC প্লেয়ার দিয়ে চালান","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"প্লেব্যাক ত্রুটির কারণে libVLC প্লেয়ারে স্যুইচ করা হচ্ছে","STREMIO_TV_ADDONS_TITLE":"অ্যাড-অন ইনস্টল বা কনফিগার করতে আপনার ফোন বা পিসিতে স্ট্রেমিও ব্যবহার করুন এবং \\"অ্যাড-অন সিঙ্ক করুন চাপুন\\"","STREMIO_TV_ADDONS_SUBTITLE":"নোট: নিশ্চিত করুন যে আপনি একই স্ট্রেমিও অ্যাকাউন্ট ব্যবহার করছেন","STREMIO_TV_ADDONS_SYNC_ADDONS":"অ্যাড-অন সিঙ্ক করুন","STREMIO_TV_ADDONS_SYNC_SUCCESS":"অ্যাড-অন সফলভাবে সিঙ্ক করা হয়েছে","STREMIO_TV_ADDONS_SYNC_FAILED":"অ্যাড-অন সিঙ্ক করতে ব্যর্থ হয়েছে","STREMIO_TV_META_LINK_FAILED":"মেটা লিঙ্ক খোলা ব্যর্থ হয়েছে","STREMIO_TV_CATALOG_LOADING":"ক্যাটালগ এখনও লোড হচ্ছে...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"ইন্টারফেস ভাষা আপডেট করা হয়েছে","STREMIO_TV_SETTINGS_THEME_UPDATED":"থিম আপডেট করা হয়েছে","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"স্বয়ংক্রিয় প্লেয়ার","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"বাহ্যিক প্লেয়ার","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"পছন্দের ভাষা","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"দ্বিতীয় পছন্দের ভাষা","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"টানেলড প্লেব্যাক","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"কিছু ডিভাইসে সম্ভাব্য প্লেব্যাক সমস্যা","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"কিছু ভিডিও ফরম্যাট কাজ নাও করতে পারে","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"ফ্রেম রেট মিলকরণ","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"নিষ্ক্রিয়","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"শুধুমাত্র ফ্রেম রেট","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"ফ্রেম রেট এবং রেজোলিউশন","STREMIO_TV_SETTINGS_NO_CACHING":"ক্যাশিং নেই","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"স্বয়ংক্রিয়","STREMIO_TV_SETTINGS_PROFILE_SOFT":"নরম","STREMIO_TV_SETTINGS_PROFILE_FAST":"দ্রুত","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"অতি দ্রুত","STREMIO_TV_SETTINGS_SERVER_URL":"স্ট্রিমিং সার্ভার url","STREMIO_TV_SETTINGS_SERVER_VERSION":"সার্ভার সংস্করণ","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"অজানা","STREMIO_TV_SETTINGS_STREMIO_VERSION":"স্ট্রেমিও সংস্করণ","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"সার্ভার url সম্পাদনা করুন","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"একটি স্ট্রিমিং সার্ভার url লিখুন","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"লোড করার সময় পরিসংখ্যান দেখান","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"স্ট্রেমিওর গোপনীয়তা নীতি পড়তে, দেখুন:","STREMIO_TV_SETTINGS_TOS_TEXT":"স্ট্রেমিওর শর্তাবলী পড়তে, দেখুন:","STREMIO_TV_NAV_SEARCH":"অনুসন্ধান","STREMIO_TV_NAV_HOME":"হোম","STREMIO_TV_NAV_DISCOVER":"আবিষ্কার করুন","STREMIO_TV_NAV_LIBRARY":"লাইব্রেরি","STREMIO_TV_NAV_MOVIES":"চলচ্চিত্র","STREMIO_TV_NAV_SERIES":"সিরিজ","STREMIO_TV_NAV_CHANNELS":"চ্যানেল","STREMIO_TV_NAV_TV":"লাইভ টিভি","STREMIO_TV_NAV_SETTINGS":"সেটিংস","STREMIO_TV_NAV_ADDONS":"অ্যাড-অন","STREMIO_TV_LOGIN_TITLE":"অ্যাকাউন্ট লিঙ্ক করুন","STREMIO_TV_LOGIN_EXPIRES_IN":"মেয়াদ শেষ হবে","STREMIO_TV_LOGIN_STEP_ONE":"উপরের QR কোড স্ক্যান করুন অথবা যান","STREMIO_TV_LOGIN_STEP_TWO":"আপনার Stremio অ্যাকাউন্টে লগ ইন করুন","STREMIO_TV_LOGIN_NEW_LINK":"নতুন লিঙ্ক অনুরোধ করুন","STREMIO_TV_LOGIN_LINK_REFRESHED":"লগইন কোড রিফ্রেশ করা হয়েছে","STREMIO_TV_SEARCH_PLACEHOLDER":"কিছু টাইপ করুন","STREMIO_TV_SEARCH_NO_ADDONS":"ক্যাটালগের জন্য কোনো অ্যাড-অন অনুরোধ করা হয়নি!","STREMIO_TV_SEARCH_BUTTON":"অনুসন্ধান","STREMIO_TV_SEARCH_KEY_DEL":"মুছুন","STREMIO_TV_SEARCH_KEY_SPACE":"স্পেস","STREMIO_TV_SEARCH_KEY_CLEAR":"পরিষ্কার","STREMIO_TV_SEARCH_HISTORY_TITLE":"অনুসন্ধান ইতিহাস","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"আপনি শিরোনাম, অভিনেতা, চ্যানেল এবং আরও অনেক কিছু অনুসন্ধান করতে পারেন...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"অনুসন্ধান ইতিহাস মুছুন","STREMIO_TV_FILTERS_DESCRIPTION":"নিচের ফিল্টারগুলির মধ্যে থেকে একটি বেছে নিন","STREMIO_TV_STREAMING_SERVER_OFFLINE":"স্ট্রিমিং সার্ভার অফলাইন। সার্ভার সেটিংস পরীক্ষা করুন।","FILTERS":"ফিল্টার","SETTINGS":"সেটিংস","ACCOUNT":"অ্যাকাউন্ট","LOGOUT":"লগআউট","THEMES":"থিম","PLAYBACK":"প্লেব্যাক","PLAYBACK_SPEED":"প্লেব্যাক গতি","AUDIO_TRACKS":"অডিও ট্র্যাক","UNKNOWN_TRACK_LANG":"অজানা","VIDEOS":"ভিডিও","SERVER":"সার্ভার","LINKS":"লিংক","ABOUT":"সম্পর্কে","INTERFACE":"ইন্টারফেস","ANIMATIONS":"অ্যানিমেশন","STATUS":"স্থিতি","LANGUAGE":"ভাষা","SIZE":"আকার","DELAY":"বিলম্ব","BOLD":"বোল্ড","OPACITY":"স্বচ্ছতা","TEXT_COLOR":"টেক্সট রং","OUTLINE_COLOR":"আউটলাইন রং","BACKGROUND_COLOR":"পটভূমির রং","BACKGROUND_BLUR":"পটভূমির ঝাপসা","SEEK_TIME_DURATION":"সময় অনুসন্ধানের সময়কাল","AUTO_PLAY":"পরবর্তী এপিসোড স্বয়ংক্রিয়ভাবে চালু","PLAY_NOW":"এখন চালাও","MARK_AS_WATCHED":"দেখা হয়েছে হিসেবে চিহ্নিত করুন","MARK_AS_UNWATCHED":"না দেখা হিসেবে চিহ্নিত করুন","REWIND_TO_BEGINNING":"শুরুতে ফিরে যান","CONTINUE_WATCHING":"দেখা চালিয়ে যান","ALL":"সব","SECONDS":"সেকেন্ড","ON":"চালু","OFF":"বন্ধ","RELOAD":"পুনরায় লোড করুন","EDIT_URL":"URL সম্পাদনা করুন","URL":"URL","NONE":"কোনোটিই নয়","EMBEDDED":"এম্বেডেড","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"ডিভাইস পরিবর্তন করুন","REMOTE_VIDEOS":"ভিডিও","REMOTE_ADJUST_TIMING":"সময় সমন্বয় করুন","REMOTE_ADJUST_SIZE":"আকার সমন্বয় করুন","REMOTE_COULD_NOT_BE_LOADED":"ওয়েব রিমোট লোড করা যায়নি","REMOTE_RETRY":"পুনরায় চেষ্টা করুন","TORRENT_PROFILE_DEFAULT":"স্বয়ংক্রিয়","TORRENT_PROFILE_SOFT":"নরম","TORRENT_PROFILE_FAST":"দ্রুত","TORRENT_PROFILE_ULTRA_FAST":"অতি দ্রুত","MB_S":"MB/s","FAQ_001_H1":"স্ট্রেমিও কী?","FAQ_001_P1":"স্ট্রেমিও একটি মিডিয়া সেন্টার সফ্টওয়্যার যা ব্যবহারের সহজতা মাথায় রেখে ভিডিও বিনোদনের জন্য ডিজাইন করা হয়েছে। স্ট্রেমিও আপনাকে আপনার নিজস্ব সিনেমা, সিরিজ, চ্যানেল এবং লাইভ টিভি সংগ্রহ সংগঠিত করতে ও দেখতে দেয়।","FAQ_001_P2":"স্ট্রেমিও আপনাকে যে কন্টেন্ট দেখায় তা আপনার স্থানীয় ডিস্ক এবং আমাদের অ্যাড-অন সিস্টেম থেকে সংগ্রহ করে।","FAQ_001_P3":"এটি আপনাকে নতুন এপিসোড/ভিডিও/সিনেমা যা আপনি আগ্রহী সেগুলি বের হলে জানাবে, এবং আপনার জন্য সিনেমা সুপারিশ প্রদান করবে।","FAQ_02_H1":"স্ট্রেমিও কিভাবে কোডি এবং প্লেক্সের সাথে তুলনা করে?","FAQ_02_P1":"আমরা এই দুটি সফ্টওয়্যার দ্বারা অনুপ্রাণিত। তবে আমাদের লক্ষ্য আলাদা - স্ট্রেমিও বিশেষভাবে বিনোদনমূলক ভিডিওর দিকে লক্ষ্য করে, এবং খুব সহজে ব্যবহারযোগ্য হওয়ার মাধ্যমে মূলধারার সমাধান হয়ে উঠতে চায়।","FAQ_02_P2":"স্ট্রেমিও কখনোই কোডি এবং প্লেক্সের মতো কাস্টমাইজযোগ্য এবং বৈশিষ্ট্য-সমৃদ্ধ হবে না, তবে এটি উল্লেখযোগ্যভাবে ব্যবহার করা সহজ। শুধু ${1} এটি নিন এবং দেখুন ${2} :)","FAQ_03_H1":"স্ট্রেমিও কিভাবে নেটফ্লিক্সের সাথে তুলনা করে?","FAQ_03_P1":"আবারও, নেটফ্লিক্স আমাদের অনুপ্রেরণাগুলির একটি। আমরা নেটফ্লিক্সের ব্যবহারকারী অভিজ্ঞতা অর্জন করার চেষ্টা করি, এর সাথে অনেক অতিরিক্ত সুবিধা। তবে সবচেয়ে গুরুত্বপূর্ণ বিষয় হল, আমরা আপনাকে আপনার নিজস্ব লাইব্রেরি পরিচালনা করার এবং আমাদের অ্যাড-অন সিস্টেমের মাধ্যমে নতুন কন্টেন্ট সোর্স যোগ করার স্বাধীনতা দিচ্ছি।","FAQ_03_P2":"এটি স্ট্রেমিওকে অসীমভাবে সম্প্রসারণযোগ্য করে তোলে, তাই যখন আপনি স্ট্রেমিও ব্যবহার করেন, আপনি কখনোই নেটফ্লিক্স যে কন্টেন্ট লাইসেন্স করার সিদ্ধান্ত নেয় তার মধ্যে সীমাবদ্ধ থাকেন না। উদাহরণস্বরূপ, স্ট্রেমিওর মাধ্যমে আপনি ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} এবং এমনকি ${9}Netflix${10} নিজেও দেখতে পারেন!","FAQ_04_H1":"স্ট্রেমিও কিভাবে ফ্লিপবোর্ডের সাথে তুলনা করে?","FAQ_04_P1":"আমরা এই প্রশ্নটি খুব বেশি পাই না, স্টার্ট-আপ লোকদের সাথে কথা বলার সময় ছাড়া :)","FAQ_04_P2":"স্ট্রেমিও ডিজাইন অনুযায়ী একটি কন্টেন্ট সংগ্রাহক, যা এটিকে মূলত ভিডিওর জন্য ফ্লিপবোর্ড বানিয়ে তোলে। এটি আমাদের বোর্ড সেকশনে খুব স্পষ্ট, যা আপনাকে আপনি যা অনুসরণ করেন তার জন্য ক্যাটালগ এবং নতুন এপিসোড/নতুন ভিডিও বিজ্ঞপ্তি দেয়, ঠিক ফ্লিপবোর্ডের মতো।","FAQ_05_H1":"স্ট্রেমিও কিভাবে পপকর্ন টাইমের সাথে তুলনা করে?","FAQ_05_P1":"স্ট্রেমিও এবং পপকর্ন টাইম ব্যবহারকারী ইন্টারফেসে অনুরূপ, কারণ ভিডিও বিনোদন ক্যাটালগ সঠিকভাবে করার খুব বেশি উপায় নেই :)","FAQ_05_P2":"কিন্তু যেখানে পপকর্ন টাইম নির্দিষ্ট উৎস থেকে টরেন্ট স্ট্রিমিংয়ের উপর ফোকাস করে, সেখানে স্ট্রেমিও অবাধ এবং শুধুমাত্র একটি কন্টেন্ট সংগ্রাহক - এটি কোনো নির্দিষ্ট কন্টেন্ট উৎসের মধ্যে আবদ্ধ নয়।","FAQ_05_P3":"তদুপরি, আমরা স্বয়ংক্রিয়ভাবে কোনো টরেন্ট অ্যাড-অন প্রদান করি না, তাই স্ট্রেমিও অফিসিয়াল ফাংশনালিটি দিয়ে পপকর্ন টাইমের ব্যবহার-ক্ষেত্র কভার করে না।","FAQ_05_P4":"আরেকটি উল্লেখযোগ্য পার্থক্য হল যে পপকর্ন টাইম সম্পূর্ণ ওপেন সোর্স, যেখানে স্ট্রেমিও ${1} আংশিকভাবে ওপেন সোর্স${2}।","FAQ_06_H1":"আপনি কি এই সিনেমা/সিরিজ যোগ করবেন?","FAQ_06_P1":"না, দুঃখিত :(","FAQ_06_P2":"যেমন অন্যান্য বেশিরভাগ প্রশ্নে উল্লেখ করা হয়েছে, স্ট্রেমিও নিজে থেকে কোনো কন্টেন্ট প্রদান করে না - সবকিছু অ্যাড-অন সিস্টেমের মাধ্যমে যোগ করা হয়। যদি আপনার কোনো কন্টেন্ট অনুরোধ থাকে, আপনি প্লেয়ারে \'রিপোর্ট\' বাটন ব্যবহার করতে পারেন, যা আপনি বর্তমানে ব্যবহার করছেন সেই অ্যাড-অনের লেখকের কাছে একটি ইমেইল পাঠাবে।","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"আপনি কি X এর জন্য অ্যাড-অন তৈরি করবেন?","FAQ_08_P1":"এটা সম্পূর্ণ সম্ভব।","FAQ_08_P2":"যদি আপনার কাছে একটি অ্যাড-অনের ধারণা থাকে, তাহলে আমাদের ${1}office@stremio.com${2} এ একটি লাইন দিন, তবে অনুগ্রহ করে নিশ্চিত করুন যে আপনার অ্যাড-অন ধারণা কোনো কপিরাইট বা ব্যবহারের শর্তাবলী লঙ্ঘন করবে না।","FAQ_08_P3":"এই মুহূর্তে, আমাদের রোডম্যাপে পরবর্তী জিনিসগুলি হল FandangoNOW, Filmon.tv ভিডিও অন ডিমান্ড এবং Crunchyroll এর জন্য অ্যাড-অন।","FAQ_09_H1":"স্ট্রেমিও কি বিটটরেন্ট ব্যবহার করে?","FAQ_09_P1":"হ্যাঁ, স্ট্রেমিও একটি স্ট্রিমিং প্রোটোকল হিসাবে বিটটরেন্ট সমর্থন করে। আপনি এটি একটি টরেন্ট অ্যাড-অনের সাথে, বা একটি .torrent ফাইল স্ট্রেমিওতে টেনে এনে ড্রপ করে, অথবা সার্চ বারে একটি ম্যাগনেট লিঙ্ক পেস্ট করে ব্যবহার করতে পারেন।","FAQ_09_P2":"অনুগ্রহ করে মনে রাখবেন যে বিটটরেন্ট ব্যবহার করে একমাত্র অফিসিয়াল অ্যাড-অন হল ${1}Vodo${2}, যা ইন্ডি কন্টেন্ট প্রদান করে, যা সবই বিটটরেন্টের মাধ্যমে বিতরণের অনুমতি প্রাপ্ত।","FAQ_09_P3":"আমরা এমন কোনো তৃতীয় পক্ষের অ্যাড-অনের ব্যবহার সমর্থন করি না যা কপিরাইট লঙ্ঘন সক্ষম করতে পারে।","FAQ_10_H1":"অফিসিয়াল অ্যাড-অন দিয়ে স্ট্রেমিওতে আমি কী দেখতে পারি?","FAQ_10_P1":"স্বয়ংক্রিয়ভাবে, আপনি স্ট্রেমিওর নিজস্ব এম্বেডেড প্লেয়ারে Filmon.tv, YouTube এবং Vodo কন্টেন্ট দেখতে পারেন। এছাড়াও, আমাদের কাছে Twitch.tv এবং আরও কয়েকটির জন্য একটি অ্যাড-অন আছে।","FAQ_10_P2":"এগুলি মিলিত হয়ে নিম্নলিখিত নির্বাচন প্রদান করে:","FAQ_10_L1":"Filmon.tv দ্বারা প্রদত্ত জনপ্রিয় টিভি চ্যানেল - উদাহরণস্বরূপ E4, BBC, Bollyworld TV","FAQ_10_L2":"YouTube থেকে সবকিছু - উদাহরণস্বরূপ BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Vodo দিয়ে ইন্ডি সিনেমা","FAQ_10_L4":"Twitch.tv দিয়ে অনলাইন গেমিং সম্প্রচার","FAQ_10_P3":"এছাড়াও, Guidebox এবং Netflix অ্যাড-অন দিয়ে অনেক কন্টেন্ট সোর্স প্রদান করা হয়, যা স্ট্রেমিওর মধ্যে সম্পূর্ণভাবে চালানো যায় না, কিন্তু প্রদত্ত পরিষেবায় রিডাইরেক্ট করবে। উদাহরণস্বরূপ, Guidebox অ্যাড-অন আপনাকে যুক্তরাষ্ট্রে বিনামূল্যে স্ট্রিম করতে পারেন এমন সিনেমার একটি নির্বাচন দেবে, TubiTV এবং Crackle-এর মতো পরিষেবা থেকে।","FAQ_11_H1":"স্ট্রেমিও ইনস্টল হচ্ছে না, আমার কী করা উচিত?","FAQ_11_P1":"যদি আপনি উইন্ডোজে থাকেন, তবে ${1}এই বিকল্প ইনস্টলার${2} চেষ্টা করুন।","FAQ_11_P2":"যদি আপনি ম্যাক ওএস এক্স-এ থাকেন, তবে অনুগ্রহ করে জেনে রাখুন যে আমরা ওএস এক্স ম্যাভেরিকস (10.9) এর পুরোনো কোনো সংস্করণ সমর্থন করি না।","FAQ_11_P3":"যদি আপনি লিনাক্সে থাকেন, তবে জেনে রাখুন যে আমরা বর্তমানে শুধুমাত্র 64 বিট (x64) লিনাক্স সমর্থন করি।","FAQ_11_P4":"যদি আপনি এখনও আপনার সমস্যার সমাধান করতে না পারেন, তবে অনুগ্রহ করে আমাদের ${1}ফেসবুক গ্রুপে${2} লিখুন।","FAQ_12_H1":"কেন আমার অ্যান্টি-ভাইরাস অভিযোগ করছে? স্ট্রেমিও কি নিরাপদ?","FAQ_12_P1":"আমরা আপনাকে নিশ্চিত করছি যে স্ট্রেমিও ${1}100% নিরাপদ${2}।","FAQ_12_P2":"আপনার অ্যান্টিভাইরাস অভিযোগ করছে কারণ আমরা আমাদের ইনস্টলারে বিজ্ঞাপন অন্তর্ভুক্ত করি, যা কিছু অ্যান্টি-ভাইরাস প্রোগ্রাম অ্যাড-ওয়্যার হিসেবে চিহ্নিত করে।","FAQ_12_P3":"যদি আপনি এখনও অনিশ্চিত থাকেন, তবে আপনি আমাদের ${1}বিকল্প ইনস্টলার${2} ব্যবহার করে দেখতে পারেন।","FAQ_13_H1":"আমি কিভাবে একটি অ্যাড-অন তৈরি করতে পারি?","FAQ_13_P1":"শুরু করার জন্য, আমরা আপনাকে GitHub-এ আমাদের ${1}অ্যাড-অন সিস্টেম মডিউল${2} দেখতে সুপারিশ করি।","FAQ_13_P2":"এরপর, আপনি ${1}হ্যালো ওয়ার্ল্ড টিউটোরিয়াল${2} অনুসরণ করতে পারেন।","FAQ_13_P3":"যদি আপনার কোনো প্রোগ্রামিং দক্ষতা না থাকে, তাহলে অনুগ্রহ করে ${1}রেডিট কমিউনিটিতে${2} আপনার ধারণা পোস্ট করুন এবং আপনার অ্যাড-অন ধারণা নিয়ে আমাদের সাথে ${3}office@stremio.com${4}-এ যোগাযোগ করুন।","FAQ_14_H1":"অ্যাড-অনগুলি কিভাবে প্রকাশিত হয়?","FAQ_14_P1":"যখন আপনি একটি অ্যাড-অন তৈরি করেন এবং হোস্ট করেন, এবং আপনার ম্যানিফেস্টে একটি এন্ডপয়েন্ট ক্ষেত্র রাখেন, যা একটি কার্যকর অ্যাড-অন ঠিকানায় নির্দেশ করে, তখন অ্যাড-অনটি স্বয়ংক্রিয়ভাবে নিজেকে আমাদের ${1}অ্যাড-অন ক্যাটালগে${2} প্রকাশ করবে।","FAQ_14_P2":"এটি ঘটে কারণ stremio-addons মডিউলের সার্ভার অংশ স্বয়ংক্রিয়ভাবে অ্যাড-অনটি ঘোষণা করার জন্য আমাদের API-তে একটি কল করে। যখন আমাদের API আপনার এন্ডপয়েন্টকে একটি বৈধ অ্যাড-অন হিসাবে যাচাই করে, এটি ক্যাটালগে দেখাতে শুরু করবে।","FAQ_15_H1":"আমি কি আমার ব্রাউজারে স্ট্রেমিও চালাতে পারি?","FAQ_15_P1":"এই মুহূর্তে না, তবে এটি আসছে!","FAQ_15_P2":"যদি আপনি একটি আলফা দেখতে আগ্রহী হন, তাহলে আপনি এখানে দেখতে পারেন: ${1}alpha4.strem.io${2}। মনে রাখবেন এই আলফায় স্ট্রিমিং নিষ্ক্রিয় করা আছে। আমরা Chrome, Firefox, Opera এবং Edge সমর্থন করি।","FAQ_16_H1":"টিভিতে কাস্টিং কাজ করে না / সাবটাইটেল কাজ করে না","FAQ_16_P1":"টিভিতে কাস্টিং DLNA প্রযুক্তি ব্যবহার করে যা বিভিন্ন টিভি ব্র্যান্ড এবং মডেলের মধ্যে খুব অসঙ্গতিপূর্ণ। এই কারণে, আমাদের প্রতিটি ক্ষেত্রে এটি পরীক্ষা করার ক্ষমতা নেই, তাই এটি নিখুঁত থেকে অনেক দূরে। এসত্ত্বেও, আমরা এটি নিরন্তর উন্নত করার চেষ্টা করছি কিন্তু আমরা আপনাকে কখন DLNA আপনার টিভির সাথে সঠিকভাবে কাজ করতে শুরু করবে তার সময়ের অনুমান দিতে পারি না।","FAQ_16_P2":"যদি আপনি কাস্টিং মেনুতে আপনার টিভি দেখতেই না পান, তাহলে অনুগ্রহ করে আপনার নেটওয়ার্ক সংযোগ নিষ্ক্রিয় করে পুনরায় সক্রিয় করার চেষ্টা করুন (উইন্ডোজে, নেটওয়ার্কে ডান ক্লিক করে সক্রিয়/নিষ্ক্রিয় ব্যবহার করুন), এবং আপনার রাউটার, টিভি এবং পিসি পুনরায় চালু করুন।","FAQ_16_P3":"যদি আপনি এখনও সমস্যার সম্মুখীন হন, তাহলে আপনি আপনার টিভি ব্র্যান্ড এবং মডেল তথ্য ${1}office@stremio.com${2}-এ পাঠিয়ে আমাদের সাহায্য করতে পারেন।","FAQ_16_P4":"ইতিমধ্যে, আমরা Chromecast সুপারিশ করি, যা আমরা খুব ভালভাবে সমর্থন করি, অথবা সহজভাবে আপনার টিভিকে একটি HDMI কেবল দিয়ে আপনার পিসির সাথে সংযুক্ত করুন।","FAQ_17_H1":"স্ট্রেমিও হিমায়িত হয়ে যায় এবং/অথবা ক্র্যাশ করে, আমি কী করতে পারি?","FAQ_17_P1":"প্রথমত, যদি আপনি AVG অ্যান্টি-ভাইরাস সহ Windows 7 ব্যবহার করছেন: আমাদের এই সংমিশ্রণের সাথে একটি সমস্যা আছে। সমস্যাটি AVG-তেই রয়েছে, এবং আমাদের দিক থেকে এটি সমাধান করার কোনো যুক্তিসঙ্গত উপায় নেই। দুর্ভাগ্যবশত, ব্যতিক্রম বা অ্যান্টি-ভাইরাস নিষ্ক্রিয় করা কাজ করবে না। একমাত্র সমাধান হল AVG-কে অন্য কিছু দিয়ে প্রতিস্থাপন করা।","FAQ_17_P2":"যদি এটি সমস্যা না হয়, কিন্তু আপনি এখনও Windows ব্যবহার করছেন, তাহলে অনুগ্রহ করে সর্বশেষ সার্ভিস প্যাকে আপডেট করুন এবং আপনার GPU ড্রাইভার আপডেট/পুনরায় ইনস্টল করুন, তারপর আবার চেষ্টা করুন।","FAQ_17_P3":"যদি আপনার সমস্যা এখনও সমাধান না হয়, অথবা আপনি একটি Mac বা Linux ব্যবহার করছেন, তাহলে অনুগ্রহ করে সমস্যার সঠিক বিবরণ ${1}আমাদের Facebook গ্রুপে${2} রিপোর্ট করে আমাদের লিখুন।","FAQ_18_H1":"আমি কিভাবে একটি অ্যাড-অন তৈরি করতে পারি?","FAQ_18_P1":"শুরু করার জন্য, আমরা আপনাকে GitHub-এ আমাদের ${1}অ্যাড-অন সিস্টেম মডিউল${2} দেখতে সুপারিশ করি।","FAQ_18_P2":"এরপর, আপনি ${1}হ্যালো ওয়ার্ল্ড টিউটোরিয়াল${2} অনুসরণ করতে পারেন।","FAQ_18_P3":"যদি আপনার কোনো প্রোগ্রামিং দক্ষতা না থাকে, তাহলে অনুগ্রহ করে ${1}রেডিট কমিউনিটিতে${2} আপনার ধারণা পোস্ট করুন এবং আপনার অ্যাড-অন ধারণা নিয়ে আমাদের সাথে ${3}office@stremio.com${4}-এ যোগাযোগ করুন।","FAQ_19_H1":"কেন স্ট্রেমিও ডিস্ক স্পেস নিচ্ছে?","FAQ_19_P1":"স্ট্রেমিওর একটি স্থানীয় ক্যাশে আছে যা আপনি স্ট্রিম করা ভিডিও ফাইলগুলি সাময়িকভাবে রাখে।","FAQ_19_P2":"এর দুটি সুবিধা আছে: প্রথমত, এটি স্ট্রেমিওকে আগে থেকে ভিডিও প্রি-বাফার করতে দেয় যাতে মসৃণ স্ট্রিমিং নিশ্চিত করা যায়। দ্বিতীয়ত, এটি স্থানীয় ক্যাশেতে ভিডিওগুলি রাখে যাতে আপনি অফলাইনে তাদের দেখতে পারেন।","FAQ_19_P3":"স্ট্রেমিও কতটা রাখে তা সেটিংস প্যানেলের ক্যাশে সেটিংয়ের উপর নির্ভর করে। স্ট্রেমিও নির্ধারিত পরিমাণ (যেমন 2GB) পর্যন্ত আপনার ডিস্কে রাখতে পারে, যদি না বর্তমানে স্ট্রিম করা ভিডিও এর চেয়ে বড় হয়, যে ক্ষেত্রে এটিকে পর্যাপ্ত স্টোরেজ বরাদ্দ করতে হবে যতক্ষণ না আপনি এটি স্ট্রিম করছেন।","FAQ_20_H1":"ক্যাশে ফোল্ডারটি কোথায়?","FAQ_20_P1":"উইন্ডোজে, এটি আপনি সেটিংসে বেছে নেওয়া ড্রাইভে stremio-cache (যেমনঃ \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"ম্যাকওএসে, এটি \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"লিনাক্সে, এটি \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"আমি \'স্ট্রিমিং সার্ভার পাওয়া যায়নি\' ত্রুটি পাচ্ছি, আমি কী করতে পারি?","FAQ_21_P1":"যদি আপনি এই ত্রুটিটি পান, তার মানে কয়েকটি জিনিসের মধ্যে একটি:","FAQ_21_P2":"১) আপনি আমাদের ${1}ওয়েব সংস্করণের${2} মাধ্যমে YouTube/BitTorrent উৎস দ্বারা সমর্থিত একটি অ্যাড-অন ব্যবহার করার চেষ্টা করছেন। এই ক্ষেত্রে, আপনার ${3}আমাদের ওয়েবসাইট${4} থেকে আমাদের ডেস্কটপ সংস্করণ ইনস্টল করা উচিত।","FAQ_21_P3":"২) আপনার স্ট্রেমিও ইনস্টলেশনের সাথে কিছু সমস্যা আছে। এই ক্ষেত্রে, ${1}ওয়েবসাইট${2} থেকে আমাদের সর্বশেষ ডেস্কটপ সংস্করণ পুনরায় ইনস্টল করার চেষ্টা করুন। যদি এটি সাহায্য না করে, অ্যান্টি-ভাইরাস প্রোগ্রাম এবং ফায়ারওয়াল নিষ্ক্রিয় করে, আপনার পিসি পুনরায় চালু করে আবার চেষ্টা করুন। যদি এটিও কাজ না করে, তাহলে অনুগ্রহ করে আমাদের ${3}আমাদের ফেসবুক গ্রুপে${4} লিখুন।","FAQ_22_H1":"আমি iOS-এ বেশিরভাগ অ্যাড-অন দেখতে/ব্যবহার করতে পারছি না","FAQ_22_P1":"অ্যাপল অ্যাপ স্টোরের শর্তাবলীতে সীমাবদ্ধতার কারণে, আমরা iOS অ্যাপ্লিকেশনটিকে শুধুমাত্র একটি নির্দিষ্ট সেট অ্যাড-অনে সীমাবদ্ধ করেছি।","FAQ_22_P2":"তবে নিশ্চিন্ত থাকুন - ভবিষ্যতে iOS-এর জন্য আরও অ্যাড-অন থাকবে, এবং আমরা একটি একীকরণও যোগ করতে পারি যা আপনাকে iOS অ্যাপটিকে স্ট্রেমিও স্ট্রিমিং সার্ভারের সাথে সংযোগ করে সমস্ত স্ট্রেমিও অ্যাড-অন ব্যবহার করতে দেবে।"}')},64633:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Pel·lícula","TYPE_series":"Sèries","TYPE_tv":"Canal de TV","TYPE_channel":"Canal","TYPE_other":"Altres","TYPE_movie_PL":"Pel·lícules","TYPE_series_PL":"Sèries","TYPE_tv_PL":"Canals de TV","TYPE_channel_PL":"Canals","TYPE_other_PL":"Altres","TYPE_ALL":"Tot","TYPE":"Tipus","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Destacat","CATALOG_com_linvo_cinemeta_year":"Nou","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Pel·lícules de Domini Públic","VIDEO":"Vídeo","BACK":"Enrere","MORE":"Més","DONE":"Fet","COPY":"Copia","SUCCESS":"Èxit","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Mode d\'emissió","CASTING_MODE_HLSV2":"Per defecte","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Sense transcodificació","Discover":"Descobrir","Board":"Panell","Library":"Biblioteca","My Library":"La meva Biblioteca","Calendar":"Calendari","NOTIFICATION_ONLINE":"Ara esteu en línia","NOTIFICATION_OFFLINE":"Ara esteu fora de línia","INTERNET_CONNECTION":"Connexió de xarxa","STORAGE_FULL_TITLE":"Advertència: Emmagatzematge ple!","STORAGE_FULL_TEXT":"Stremio no podrà desar la configuració, les preferències ni la informació d\'inici de sessió. Penseu a reiniciar o tornar a instal·lar Stremio.","SEARCH":"cerca","SEARCH_NO_RESULTS":"No s\'han trobat resultats","SEARCH_EXPLANATION_CONTENT":"Cerca pel·lícules, sèries, canals de YouTube i TV","SEARCH_EXPLANATION_PEOPLE":"Cerca actors, directors i escriptors","SEARCH_PASTE_LINKS":"Enganxa enllaços HTTP i Magnètics","SEARCH_OR_PASTE_LINK":"Cerca o enganxa l\'enllaç","SEARCH_SUGGESTIONS":"Suggeriments de cerca","ADD_TO_LIB":"Afegir a la Biblioteca","REMOVE_FROM_LIB":"Elimina de la Biblioteca","ADDED_TO_LIB":"Afegit a la Biblioteca","REMOVED_FROM_LIB":"Eliminat de la Biblioteca","TRAILER":"Tràiler","WATCH_TRAILER":"Mirar el tràiler","WATCH_NOW":"Mirar ara","SHOW":"Mirar","SHOW_MOVIE":"Mirar Pel·lícula","WATCH_RANDOM":"Mirar aleatòriament","IMDB_RATING":"Qualificació IMDb","YEAR":"Any","DIRECTOR":"Director","WRITER":"Escriptor","LEAD_ACTORS":"Actors principals","CAST":"Elenc","CREW":"Equip tècnic","SHOW_MORE_CAST":"Mostra més »","AIRED":"Emès","SEASONS":"Temporades","GENRE":"Gènere","GENRE_ALL":"Tots els gèneres","CATALOG":"Catàleg","SUMMARY":"Resum","SHOW_MORE":"Mostra Més","SIMILAR":"Similar","UPCOMING":"Properament","TBA":"TBA","ENDED":"Finalitzat","DURATION":"Duració","FEATURED":"Destacat","METADATA":"Metadades","CATEGORY":"categoria","LINKS_GENRES":"Gèneres","LINKS_CAST":"Elenc","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"cercar vídeos","SEARCH_PLACEHOLDER":"cercar o enganxar URL","ADDON":"complement","ADDONS":"Complements","OFFICIAL":"oficial","ADDONS_OFFICIAL":"Complements Stremio oficials","ADDONS_POPULAR":"Popular a la vostra regió","ADDON_FREE":"gratuït","ADDON_PEERED":"compartit","ADDON_SUBSCRIPTION":"subscripció","ADDON_STREAM_GEORESTRICTED":"no disponible a la vostra regió","ADDON_STREAM_OFFLINECACHE":"Memòria cau fora de línia","ADDON_STREAM_LOCALFILE":"Fitxer local","SHARE_ADDON":"Comparteix el complement","AVAILABLE_STREAMS":"Streams disponibles","NO_STREAM":"No s\'ha trobat cap stream","ALL_ADDONS":"Tot","INSTALL_MORE_ADDONS":"Per obtenir més streams, instal·leu més complements","STREAM_NOT_SUPPORTED":"El stream seleccionat no és compatible amb aquesta plataforma.","ADDON_CATALOGUE":"Mostra tots els complements »","ADDON_CATALOGUE_MORE":"Instal·la complements","REPO_ADDED":"Repositori afegit","ADDON_REPO_EXIST_ERR":"Aquesta col·lecció de complements ja existeix","ADDON_REPO_ERR":"S\'ha produït un error en afegir la col·lecció","ADDON_ADD_ERR":"S\'ha produït un error en afegir un complement","ERR_ADDON_PROTECTED":"No es pot desinstal·lar el complement, està protegit","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Hi ha hagut un problema - l\'autenticació pot haver fallat","ERR_NOT_COLLECTION_URL":"No és un URL de col·lecció","ERR_NOT_ADDON_URL":"No és un URL de complement vàlid","ERR_DETECTFROMURL":"No es pot trobar cap complement/col·lecció en aquest URL","ADDON_DUPLICATE_WARNING":"Advertència: complement duplicat","ADDON_COLLECTION_SET_FAILED":"Ha fallat la sincronització de complements instal·lats al vostre compte","SETTINGS_DATA_EXPORT":"Exporta dades d\'usuari","ADDON_PULL_FAILED":"Ha fallat la sincronització dels complements instal·lats del vostre compte","REFRESH_ON_CLICK":"Prem per reintentar","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Pel·lícula encara als cinemes","WATCH_IN_CINEMA":"Mireu-lo al vostre cinema local","IN_THEATER":"En el cinema","GET_TICKETS":"Obtenir entrades","UPCOMING_EPISODE":"Pròxim episodi","UPCOMING_EPISODE_MESSAGE":"Aquest episodi s’emetrà al","MISSING_DATE_EPISODE":"Falta la data de l\'episodi","MISSING_DATE_EPISODE_MESSAGE":"És possible que aquest episodi encara no s’hagi emès","CHANNEL_NOT_SCRAPED":"Aquest canal encara no s\'ha habilitat.<br>Si us plau, torneu d\'aquí a uns minuts.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Afegiu-lo a la vostra Biblioteca per rebre una notificació un cop estigui disponible.","GET_NOTIFIED_WHEN_AVAILABLE":"Rebràs una notificació un cop estigui disponible.","WARNING_STREAMING_SERVER":"Advertència: no s\'ha trobat el servidor d\'streaming local. L\'streaming des de fitxers locals, YouTube i BitTorrent no estarà disponible.","WARNING_STREAMING_SERVER_DISMISS":"Descartar","WARNING_STREAMING_SERVER_LATER":"Més tard","DECODER_WARNING":"Advertència: és possible que aquest vídeo no sigui compatible amb el vostre maquinari. Tingueu en compte que la reproducció pot ser lenta.","GENERIC_ERROR_MESSAGE":"Alguna cosa ha anat malament!","TRY_AGAIN":"Tornar-ho a provar","CLEAR_DATA":"Esborrar dades","PLAYER_ERROR":"Vaja, error del reproductor","PLAYER_ERROR_LOOKSLIKE":"Sembla que","PLAYER_ORIENTATION":"Orientació del reproductor","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Bloquejat","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"L\'orientació del reproductor bloquejada en horitzontal","PLAYER_ORIENTATION_SENSOR":"Orientació del reproductor automàtica (sensor)","PLAYER_PLAYBACK_SPEED":"Velocitat de reproducció","PLAYER_PLAYBACK_ERROR":"Error de reproducció, torneu-ho a provar","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Error desconegut","PLAYER_PLAYBACK_ERROR_DEFAULT":"Ho sentim, aquest vídeo no pot ser reproduït per {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Idiomes dels subtítols","PLAYER_SUBTITLES_VARIANTS":"Variants de subtítols","PLAYER_SUBTITLES_SETTINGS":"Configuració dels subtítols","PLAYER_SUBTITLES_DISABLED":"Subtítols desactivats","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posició Vertical","PLAYER_SUBTITLES_LOADED":"Subtítols carregats","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Subtítols incrustats carregats","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Subtítols exclusius carregats","PLAYER_SUBTITLES_LOADED_LOCAL":"Subtítols locals carregats","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtítols de {{origin}} carregats","PLAYER_PLAY":"Reprodueix","PLAYER_PAUSE":"Pausa","PLAYER_NEXT_VIDEO":"Següent Vídeo","PLAYER_MUTE":"Silenciar","PLAYER_UNMUTE":"Activar so","PLAYER_OPEN_IN_EXTERNAL":"Obre en un reproductor extern","PLAYER_OPEN_IN_NPLAYER":"Obre en nPlayer","PLAYER_PLAY_IN":"Reprodueix a {{device}}","PLAYER_LIVE":"En directe","PLAYER_NEXT_VIDEO_TITLE":"A continuació","PLAYER_NEXT_VIDEO_TITLE_SHORT":"A continuació","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Descartar","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Veure ara","PLAYER_COPY_STREAM_SUCCESS":"Enllaç de la reproducció copiat al porta-retalls","PLAYER_COPY_STREAM_ERROR":"No s\'ha pogut copiar l\'enllaç","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"L\'enllaç de baixada s\'ha copiat al porta-retalls","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"No s\'ha pogut copiar l\'enllaç de baixada","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"transmissió des de","CASTING_TO":"S\'està emetent a","NETWORK_STATUS":"Estat de la xarxa","STREAM_SPEED":"Velocitat del stream:","STREAM_BUFFERED":"Emmagatzemat:","PEERS_INFO":"Informació dels pars","PEERS_ACTIVE":"Actiu:","PEERS_CONNECTED":"Connectat:","PEERS_WAITING":"Esperant:","TRANSCODING_WARNING":"Advertència: transcodificant vídeo.","STREAM_LOADING":"carregant ...","PLAYING_LOCAL":"reproduint des del fitxer local","PLAYING_CACHE":"reproduint des de la memòria cau","WRONG_SUBS":"Subtítols incorrectes?","ERR_SUBS_LOADING_TITLE":"Error en carregar els subtítols","ERR_SUBS_LOADING":"Ha fallat la càrrega de subtítols: això podria ser un problema amb el complement que utilitzeu o amb la vostra connexió de xarxa","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Els següents complements de subtítols han fallat","ERR_CASTING_UPDATE_TITLE":"No s\'ha pogut actualitzar la informació del dispositiu d\'emissió: el servidor d\'streaming podria estar fora de línia","CHOOSE_DEVICE":"Trieu un dispositiu on mirar-lo","NO_CAST_DEVICES":"No hi ha dispositius d\'emissió disponibles.","NO_SETTINGS":"No hi ha cap configuració disponible.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telèfon / Tauleta","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtítols","SUBTITLES_CHANGE":"Canvia els subtítols per a ","SUBTITLES_CHANGE_NONE":"No hi ha cap altre subtítol en aquest idioma, ho sento.","SUBTITLES_CHANGE_ACIVE":"Actualment els subtítols #{{subtitlesDialog.activeIdx + 1}} estan activats. Prem \\"Continua\\" per activar els subtítols #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativament,","SUBTITLES_ADJUST_DELAY":"Ajustar el retard de subtítols:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"O usa les tecles <span>G</span> / <span>H</span> durant la reproducció per ajustar.","SUBTITLES_ADJUST_DELAY_TIP":"Nota: podeu utilitzar les tecles <span>G</span> / <span>H</span> durant la reproducció per ajustar.","SUBTITLES_DELAY":"Retard de subtítols:","SUBTITLES_LOADING":"Carregant els subtítols...","SUBTITLES_UNAVAILABLE":"No hi ha subtítols externs disponibles","SUBTITLES_DISABLED":"Desactivat","EXTERNAL_PLAYER_DISABLED":"Desactivat","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permet Triar","EXTERNAL_PLAYER_HINT":"Pista: hi ha una configuració per permetre l\'obertura sempre amb un reproductor extern","DONT_SHOW_AGAIN":"No tornis a mostrar","SERVICE_INSTALL":"Instal·lar","AUDIO":"Àudio","DEFAULT_LANGUAGE":"Idioma per Defecte","DEFAULT_SECONDARY_LANGUAGE":"Idioma Secundari per Defecte","SEASON":"Temporada","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episodi","EPISODE_ABBREVIATION":"EP","SPECIAL":"Especial","SORT":"ordenar","SORT_BY":"Ordenar per","FILTER":"filtrar","SORT_TRENDING":"tendències","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"qualificació","SORT_WATCHED":"vist","SORT_YEAR":"any","SELECT":"Select","SELECT_TYPE":"Selecciona el tipus","SELECT_SORT":"Selecciona ordre","SELECT_CATALOG":"Selecciona catàleg","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Selecciona gènere","SORT_LASTWATCHED":"Últim vist","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"més vist","SORT_NOTWATCHED":"no vist","New for You":"Nou per a tu","New Episodes":"Nous episodis","New Videos":"Nous vídeos","Recommendations":"Recomanacions","LIBRARY_RESUME":"Reprendre","LIBRARY_PLAY":"Reprodueix","LIBRARY_DETAILS":"Detalls","LIBRARY_RESUME_DISMISS":"Descartar","LIBRARY_CLEAR_PROGRESS":"Esborrar progrés","LIBRARY_REMOVE":"Elimina","LIBRARY_NOT_LOGGED_IN":"La biblioteca només està disponible per als usuaris registrats","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"El calendari només està disponible per als usuaris registrats","NOT_LOGGED_IN_CLOUD":"Accediu a les vostres pel·lícules i programes de televisió preferits en qualsevol moment i en qualsevol lloc","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomanacions adaptades al vostre historial de visualitzacions","NOT_LOGGED_IN_NOTIFICATIONS":"No et perdis mai cap episodi","NOT_LOGGED_IN_CALENDAR":"Programeu el vostre calendari de visualització personal","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Destacat","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Guanyadors d\'Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Aquest complement ha retornat un contingut buit.","DISCOVER_ADULT_WARNING":"El contingut només és visible per a adults. Teniu més de 18 anys?","DISCOVER_NOADDON_WARNING":"Avís: no hi ha cap complement Stremio actiu per a aquest tipus. Mostrant elements desats, res d\'aquí s\'actualitzarà.","DISCOVER_LOAD_ERR":"El contingut no s\'ha carregat, s\'ha produït un error.","DISCOVER_ADDON_UNINSTALLED":"Aquest contingut ja no està disponible, és possible que hàgiu desinstal·lat el complement.","UNINSTALL_THIS_ADDON":"Desinstal·la aquest complement","ERR_ADDON_NOT_INSTALLED":"Aquest complement no està instal·lat. Instal·lar-lo ara?","DETAIL_RECEIVE_NOTIF_SERIES":"Rep notificacions d\'episodis nous","DETAIL_RECEIVE_NOTIF_VIDEOS":"Rep notificacions de vídeos nous","SIDEBAR_SHOW_STREAMS":"Mostra streams","RELAUNCH":"Rellançar ara!","UPGRADE":"Hi ha disponible una nova versió. Actualitzeu a la darrera versió d\'Stremio","RELOAD_UI":"Recarregar la interfície d\'usuari","MANUAL_UPDATE_TITLE":"Actualitza la teva versió d\'Stremio","MANUAL_UPDATE_LINE1":"Esteu executant una versió obsoleta d\'Stremio, que és molt poc recomanable.","MANUAL_UPDATE_LINE2":"Actualitzeu com més aviat millor.","BUTTON_UPDATE_LATTER":"Ara no","BUTTON_UPDATE_NOW":"Actualitza","UPDATER_TITLE":"Hi ha disponible una nova versió d\'Stremio","UPDATER_INSTALL_BUTTON":"Instal·la\'l ara","ANONYMOUS_USER":"Usuari anònim","DONT_HAVE_ACC":"No teniu cap compte?","HAVE_ACC":"Ja tens un compte?","PASSWORD":"Contrasenya","PASSWORD_CONFIRM":"Confirma la contrasenya","EMAIL":"Correu electrònic","FB_LOGIN":"Continueu amb Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"No es comparteix res sense el vostre permís","FB_NOPOST":"No publicarem res en nom vostre","OR":"o","I_ACCEPT":"Accepto els","I_ACCEPT_BY_CLICKING":"En fer clic al botó superior, declaro que accepto els ","TOS":"Termes i condicions","MUST_ACCEPT_TERMS":"Heu d\'acceptar els termes","PASSWORDS_NOMATCH":"Les contrasenyes no coincideixen","SIGN_UP":"Registra\'t","SIGN_UP_EMAIL":"Registra\'t amb el correu electrònic","CLICK_TO_SIGN_UP":"Feu clic aquí per registrar-vos.","LOG_IN":"Iniciar Sessió","LOG_OUT":"Tancar sessió","EXIT_FULLSCREEN":"Surt del mode de pantalla completa","ENTER_FULLSCREEN":"Introduïu el mode de pantalla completa","PLAY_URL_MAGNET_LINK":"Reprodueix URL/Enllaç magnètic","HELP_FEEDBACK":"Ajuda i comentaris","TERMS_OF_SERVICE":"Termes del servei","PRIVACY_POLICY":"Política de Privacitat","ABOUT_STREMIO":"Quant a Stremio","USER_PANEL":"Tauler d\'usuaris","LOGIN_LABEL":"Inicia sessió","GUEST_LOGIN":"Inici de sessió de convidat","GUEST_LOGIN_NOTICE":"No es recomana l\'inici de sessió de convidat. Si feu servir un inici de sessió habitual, Stremio pot sincronitzar la Biblioteca i rebre notificacions de sèries o canals preferits. Esteu segur que voleu continuar?","GUEST_LOGIN_NOTICE_2":"No es recomana l\'inici de sessió com a convidat: no tindreu notificacions sincronitzades de la Biblioteca i del fòrum, que són funcions fonamentals d\'Stremio. Esteu segur que voleu continuar?","CLICK_HERE":"clica aquí","WRONG_PASSWORD":"Correu electrònic o contrasenya incorrectes. En cas que hàgiu oblidat la contrasenya, ","SET_A_PASS":"definiu una contrasenya","RESET_PASSWORD":"Restablir la contrasenya","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Has oblidat la contrasenya?","EMAIL_USED_WITH_FB":"Aquest correu electrònic s\'ha utilitzat amb un inici de sessió de Facebook.","INVALID_EMAIL":"si us plau, introdueixi una adreça de correu electrònic vàlida","INVALID_PASSWORD":"Introduïu una contrasenya vàlida","CONN_ERR":"Error de connexió - torneu-ho a provar més tard.\\n\\nSi això persisteix, desactiveu els tallafocs/antivirus (especialment Bitdefender).","IMPORT_FROM_GUEST":"Importeu la Biblioteca des del vostre compte de convidat","RECEIVE_UPDATES_EMAIL":"Rebeu actualitzacions al vostre correu electrònic des d\'Stremio","LOGIN_FAILED":"Error en iniciar sessió.","SIGNUP_FAILED":"Ha fallat el registre.","SEARCH_FAILED":"La cerca ha fallat","EMAIL_USED":"Aquest correu electrònic ja està en ús.","WAITING_FB_LOGIN":"Iniciant la sessió amb Facebook...","EXTERNAL_OPENING_YOUTUBE":"Esteu sortint d\'Stremio i obrint YouTube. N\'estàs segur?","EXTERNAL_OPENING_APP":"Esteu sortint d\'Stremio per obrir una altra aplicació. N\'estàs segur?","EXTERNAL_PLAYER_TITLE":"Reprodueix en un reproductor extern","EXTERNAL_REMEMBER_PLAYER":"Voleu recordar la vostra elecció?","EXTERNAL_ALWAYS_PLAY":"Sí","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Millor encaix","FIT_SCREEN":"Encaixar la Pantalla","FILL":"Omplir","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Explica\'ns què t\'agrada","INTRO_TASTE_LONG":"Explica\'ns què voleu veure","INTRO_TASTE_PICK":"Selecciona {{interestsRemaining}} interessos","INTRO_TASTE_PICK_MORE":"Selecciona {{interestsRemaining}} interessos més","INTRO_TASTE_HELP_US":"Ajudeu-nos a aprendre més informació sobre vosaltres.","INTRO_TASTE_CHOOSE_THESE":"Trieu alguns d\'aquests:","INTRO_TASTE_CHOOSE_MIN":"Trieu com a mínim 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"Heu de triar almenys 3 categories.","INTRO_TASTE_LIFESTYLE":"Estil de vida","INTRO_TASTE_SPORTS":"Esports","INTRO_TASTE_FOOD_HEALTH":"Alimentació i Salut","INTRO_TASTE_BEAUTY_FASHION":"Bellesa i Moda","INTRO_TASTE_NEWS":"Notícies","INTRO_TASTE_GAMING":"Jocs","INTRO_TASTE_SCIENCE_EDU":"Ciència i Educació","INTRO_TASTE_MUSIC":"Música","INTRO_TASTE_TRAVEL":"Viatges","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comèdia","INTRO_TASTE_DIY":"Fes-ho tu mateix (DIY)","INTRO_TASTE_TECH":"Tecnologia","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Aquesta plataforma no admet el complement seleccionat.","ADDON_DISCLAIMER":"L\'ús de complements de tercers sempre estarà subjecte a la vostra responsabilitat i a la legislació vigent de la jurisdicció on esteu ubicat.","ADDON_ACTIVATE":"Activar aquest complement?","ADDON_REPO_ADD":"URL del repositori de complements","ADDON_ADD":"Afegir","INSTALL_ADDON":"Instal·la el complement","ADD_ADDON":"Afegir complement","ADD_ADDON_DESCRIPTION":"Podeu afegir un complement mitjançant un enllaç extern, que apareixerà a Complements instal·lats.","PASTE_ADDON_URL":"Enganxeu l\'URL del complement","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Que hi ha de nou","BUTTON_CONTINUE":"Continua","BUTTON_ACTIVATE":"Activa","BUTTON_ACTIVATED":"Activat","BUTTON_CANCEL":"Cancel·lar","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Envia","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Descartar-ho tot","BUTTON_VIEW_ALL":"veure-ho tot","BUTTON_SEE_ALL":"Veure Tot","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Obre al navegador","LIB_EMPTY":"La vostra Biblioteca sembla buida. Esbrineu com n\'és d\'útil :)","HOW_START":"Així és com podeu començar:","LIB_EMPTY_CAL":"El vostre calendari mostra sèries a la Biblioteca.","HOW_START_CAL":"Així és com podeu afegir sèries:","LIB_EMPTY_BOARD":"El Tauler mostra notificacions i recomanacions relacionades amb la vostra Biblioteca.","HOW_START_BOARD_WAIT":"Afegiu unes quantes sèries o canals a la vostra Biblioteca i doneu-nos uns minuts per processar :)","HOW_START_BOARD":"Així és com podeu afegir-hi sèries i pel·lícules:","IMPORT_FB":"Importeu les coses que us agradin de <span>Facebook</span>","IMPORT_TRAKT":"Importeu la vostra biblioteca multimèdia de <span>Trakt</span>","IMPORT_DISCOVER":"Troba coses interessants de <span>Descobrir</span>","IMPORT_DISK":"Importeu pel·lícules o sèries que tingueu al <span>disc local</span>","PLEASE_CREATE_ACC":"<u>Creeu un compte</u> per habilitar la sincronització de la Biblioteca i el Tauler.","IMPORT_DISCOVER_SIGNUP":"Registreu-vos i trobeu coses interessants a <span>Descobrir</span>","IMPORT_DISK_SIGNUP":"Inscriviu-vos i importeu pel·lícules o espectacles que tingueu al vostre <span>disc local</span>","LIB_EMPTY_CLOUD":"Biblioteca al núvol","LIB_EMPTY_CLOUD_DESC":"Biblioteca personal al núvol sincronitzada a tots els dispositius","LIB_EMPTY_EARLY":"Accés aviat","LIB_EMPTY_EARLY_DESC":"Rep notificacions d\'episodis nous","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Obteniu recomanacions personalitzades","LIB_EMPTY_CALENDAR_DESC":"Programa el teu calendari de visualització personal","LIB_EMPTY_ALL":"Registreu-vos per obtenir tot això:","LIB_EMPTY_BEST":"Registreu-vos per obtenir el millor d\'Stremio","LIB_EMPTY_OTHER":"Registreu-vos per activar el calendari i altres funcions interessants","CALENDAR_ADDED":"El calendari d\'Stremio s\'ha afegit al calendari d\'escriptori predeterminat.","CALENDAR_ADDED_MSG":"Si això no funciona, afegiu aquest URL manualment a la vostra aplicació de calendari","TRAKT_EXPIRED":"L\'autenticació de Trakt ha caducat, aneu a Configuració i torneu a autenticar-la","TRAKT_REQUIRES_LOGIN":"Error de Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Cal iniciar sessió","TRAKT_IMPORT_WATCHED":"Importa","THEME":"Tema","THEME_DEFAULT":"Per defecte","THEME_ADAPTIVE":"Adaptatiu","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Configuració","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Reproductor","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Dreceres","SETTINGS_SHORTCUT_RELOAD_APP":"Recarregar l\'aplicació","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Obrir Configuració","SETTINGS_SHORTCUT_SWITCH_TABS":"Canviar Pestanya","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Mou Entre Pestanyes Cap Endavant","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Mou Entre Pestanyes Cap Enrere","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navega entre menús","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Vés a Cerca","SETTINGS_SHORTCUT_EXIT_BACK":"Sortir / Tornar enrere","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Commuta el Menú de Velocitat de Reproducció","SETTINGS_SHORTCUT_MENU_VIDEOS":"Commuta el Menú de Vídeos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Commuta el Menú de Subtítols","SETTINGS_SHORTCUT_MENU_AUDIO":"Commuta el Menú d\'Àudio","SETTINGS_SHORTCUT_MENU_INFO":"Commuta el Menú d\'informació","SETTINGS_SHORTCUT_FULLSCREEN":"Commuta la Pantalla Completa","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostra els Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Reproduir / Pausa","SETTINGS_SHORTCUT_VOLUME_UP":"Apujar volum","SETTINGS_SHORTCUT_VOLUME_DOWN":"Abaixar volum","SETTINGS_SHORTCUT_SEEK_NEXT":"Moure Endavant","SETTINGS_SHORTCUT_SEEK_PREV":"Moure Enrere","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Busca Enrere","SETTINGS_SHORTCUT_SEEK_FORWARD":"Busca Endavant","SETTINGS_SHORTCUT_PLAY_NEXT":"Reproduir Següent","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Augmentar Mida Subtítols","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Disminuir Mida Subtítols","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Augmentar Retard Subtítols","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Disminuir Retard Subtítols","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Commutar Barra Lateral","SETTINGS_SHORTCUT_OR":"o","SETTINGS_SHORTCUT_TO":"a","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Espai","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticar","SETTINGS_FACEBOOK_IMPORT":"Importar","SETTINGS_CALENDAR_SUBSCRIBE":"Subscriure","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"S\'ha obert l\'aplicació Calendari. Si us plau, subscriviu-vos al calendari manualment.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"S\'ha baixat el fitxer del calendari. Importeu-lo en la vostra aplicació de calendari.","SETTINGS_INTERFACE_LANGUAGE":"Llenguatge de la interfície","SETTINGS_LAUNCH_STARTUP":"Iniciar a l\'arrancar l\'equip","SETTINGS_VLC_DEFAULT":"Reproduir amb VLC","SETTINGS_UI_LANGUAGE":"Idioma de la interfície","SETTINGS_UI_ZOOM":"Zoom de la interfície","SETTINGS_FULLSCREEN_EXIT":"Tecla per sortir de la pantalla completa","SETTINGS_GAMEPAD":"Activa la compatibilitat amb el gamepad","SETTINGS_CLOSE_WINDOW":"Tanca l\'aplicació quan la finestra estigui tancada","SETTINGS_SUBTITLES_LANGUAGE":"Idioma Predeterminat dels Subtítols","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Idioma Secundari dels Subtítols","SETTINGS_SUBTITLES_SIZE":"Mida Predeterminada dels Subtítols","SETTINGS_SUBTITLES_BACKGROUND":"Fons dels subtítols","SETTINGS_SUBTITLES_COLOR":"Color dels subtítols","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Color de l\'esquema dels subtítols","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Color de fons dels subtítols","SETTINGS_SEEK_KEY":"Les tecles de fletxa et mouen en el temps","SETTINGS_SEEK_KEY_SHIFT":"Les tecles de fletxa et mouen en el temps quan es manté premuda la tecla Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Durada del rebobinat i de l\'avançament ràpid","SETTINGS_BINGE":"Reprodueix automàticament el pròxim episodi","SETTINGS_NEXT_VIDEO":"Mostra la notificació per iniciar el pròxim episodi","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostra la notificació del següent episodi per a:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Durada de la finestra emergent del següent vídeo","SETTINGS_PLAY_IN_BACKGROUND":"Reprodueix en segon pla","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Reprodueix en un reproductor extern","SETTINGS_RESIZE":"Canvia la mida de la finestra abans de reproduir","SETTINGS_OVERRIDE_SERVER":"Substitueix l\'URL del servidor de transmissió (avançat)","SETTINGS_SERVER_ADD_URL":"Afegir URL","SETTINGS_SERVER_URL":"URL del servidor de transmissió: ","SETTINGS_SERVER_AVAILABLE":"El servidor de transmissió està disponible.","SETTINGS_SERVER_UNAVAILABLE":"El servidor de transmissió no està disponible.","SETTINGS_SERVER_STATUS_ONLINE":"En línia","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configura l\'URL del servidor de transmissió","SETTINGS_SERVER_CONFIGURE_INPUT":"Introdueix l\'URL d\'un servidor de transmissió","SETTINGS_SERVER_CACHE_SIZE":"Mida de la memòria cau","SETTINGS_SERVER_TORRENT_PROFILE":"Perfil de Torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint de transmissió HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Perfil de transcodificació","SETTINGS_USE_BETA":"Utilitzeu sempre l\'última versió Beta","SETTINGS_IMPORT_FB":"Importar de Facebook","SETTINGS_IMPORT_DISK":"Importar del disc local","SETTINGS_IMPORT_TRAKT":"Importar de Trakt","SETTINGS_PAUSE_MINIMIZED":"Aturar la reproducció quan es minimitzi","SETTINGS_HWDEC":"Descodificació accelerada per maquinari","SETTINGS_BACKGROUND":"Reproducció en segon pla","SETTINGS_SUBSCRIBE_CALENDAR":"Subscriu-te al calendari","SETTINGS_REQ_EXPORT":"Sol·licitar l\'exportació de dades","SETTINGS_ACC_DELETE":"Sol·licitar eliminació del compte","SETTINGS_CHANGE_PASSWORD":"Canvia la contrasenya","SETTINGS_TOS":"Termes del servei","SETTINGS_SUPPORT":"Contactar suport","SETTING_LANGUAGE":"Llenguatge","SETTINGS_BLUR_UNWATCHED_IMAGE":"Desenfoca la imatge dels episodis no vistos","SETTINGS_QUIT_ON_CLOSE":"Surt al tancar","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Torna a autenticar","SETTINGS_TRAKT_LOGOUT":"Tanca la sessió de Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Tanca la sessió de Trakt","SETTINGS_SCAN_FOR_REMOTE":"Escaneja el codi QR per obrir el comandament a distància","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificacions d\'escriptori","SETTINGS_DATA_SAVER":"Estalviador de dades","SETTINGS_LANGUAGE_INTERFACE":"interfície","SETTINGS_LANGUAGE_SUBS":"subtítols per defecte","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Seleccionar Automàticament la Pista d\'Àudio","SETTINGS_DEFAULT_AUDIO_TRACK":"Pista d\'Àudio Predeterminada","SETTINGS_SECONDARY_AUDIO_TRACK":"Pista d\'Àudio Secundària","SETTINGS_SURROUND_SOUND":"So envoltant","SETTINGS_ACCOUNT":"compte","SETTINGS_PLATFORM":"Plataforma","SETTINGS_VERSION":"Versió","SETTINGS_ABOUT":"Sobre","SETTINGS_MPV_WINDOW":"Inicia el reproductor en una finestra separada (avançat)","SETTINGS_PLAY_IN_EXTERNAL":"Inicieu sempre el vídeo en un reproductor extern","SETTINGS_STORAGE_BUTTON":"Esborra l\'emmagatzematge local","SETTINGS_STORAGE_MODAL_TITLE":"Estàs segur ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Això esborrarà l\'emmagatzematge local i tancarà la sessió.","SETTINGS_HWDEC_PICKER":"Trieu la configuració de descodificació accelerada per maquinari","SETTINGS_HW_AUTOMATIC":"Automàtic","SETTINGS_HW_DISABLED":"Desactivat","SETTINGS_HW_ACCELERATED":"Acceleració de descodificació","SETTINGS_HW_FULL":"Acceleració total","SETTINGS_HW_LEGACY":"Heretat","SETTINGS_DISABLED":"Inhabilitat","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notificació de connexió a la xarxa","SETTINGS_ANALYTICS":"Permet analítiques","SETTINGS_REMOTE_URL":"URL remot","SETTINGS_COPY_REMOTE_URL":"Copia l\'URL remot","SETTINGS_REMOTE_URL_COPIED":"L\'URL remot s\'ha copiat al porta-retalls","SETTINGS_SECTION_SUBTITLES":"Subtítols","SETTINGS_SECTION_AUDIO":"Àudio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Reproducció automàtica","SETTINGS_SECTION_ADVANCED":"Avançat","SUBSPICKER_AUDIO":"Àudio","SUBSPICKER_SUBTITLES":"Subtítols dels complements","SUBSPICKER_BLACK_BACKGROUND":"Utilitzar negre com color de fons","SUBSPICKER_VERTICAL_OFFSET":"Desplaçament vertical","SUBSPICKER_SIZE":"Mida","SUBSPICKER_DELAY":"Retard","SUBSPICKER_EMBEDDED_SUBS":"Subtítols incrustats","MOBILE_PRIVACY_POLICY":"Política de privacitat","MOBILE_CRASH_REPORTING":"Informe de fallades","MOBILE_ZOOM_TO_FILL":"Ampliar per omplir la pantalla","MOBILE_PASSTHROUGH":"Sortida d\'àudio digital (passthrough)","MOBILE_RUN_LOW_BATTERY":"Executar amb bateria baixa","MOBILE_RUN_FOREGROUND":"Executar com a servei de primer pla","MOBILE_PERFORMANCE":"RENDIMENT I ESTABILITAT","MOBILE_SERVER_ONLINE":"En línia","MOBILE_SERVER_OFFLINE":"Fora de línia","MOBILE_QR_EXPIRES":"El codi QR caduca en ","MOBILE_LOG_INTO":"Iniciar sessió al compte Stremio ","MOBILE_SCAN_QR":"Escaneja el codi QR de dalt o ves a ","MOBILE_LINK_ACCOUNT":"Enllaçar el compte","MOBILE_SPEEDPICKER_CANCEL":"Cancel·lar","MOBILE_SPEEDPICKER_LABEL":"Seleccionar Velocitat de Reproducció","MOBILE_EMPTY_LIBRARY":"La teva biblioteca està buida","MOBILE_NO_ADDON_ACTIVE":"No hi ha cap complement Stremio actiu per a aquest tipus.","MOBILE_ORGANIZER_WARNING":"L\'aplicació Stremio Organizer ofereix una funcionalitat limitada. Per obtenir una llista de reproduccions i l\'experiència completa d\'Stremio, feu servir Stremio a l\'escriptori.","MOBILE_ADDON_LOADING":"encara està carregant","MOBILE_ADDONS_LOADING":"els complements encara estan carregant","MOBILE_ADDON":"Complement","MOBILE_CONFIGURE_ADDON":"Configura el teu complement","MOBILE_CONFIGURE_ADDON_LABEL":"Configurar Complement","MOBILE_ORGANIZER_ADDONS_WARNING":"L\'aplicació Stremio Organizer ofereix una selecció limitada de complements. Per gaudir de l\'experiència Stremio completa, utilitzeu Stremio a l\'escriptori.","MOBILE_DISCONNECT":"Desconnectar","MOBILE_LOOKING_FOR_DEVICES":"Buscant dispositius...","MOBILE_CAST_TO":"Emet a","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Esborrar compte","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"L\'eliminació del compte no és instantània a causa d\'obligacions legals. Després de sol·licitar l\'eliminació del vostre compte, haureu d\'utilitzar una adreça de correu electrònic/perfil de Facebook diferent per crear un nou compte d\'Stremio en el futur.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmeu la supressió del compte","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"El vostre compte s\'ha creat mitjançant Facebook. Per suprimir el vostre compte, utilitzeu el nostre portal d\'usuaris a www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Proporcioneu la vostra contrasenya per confirmar la supressió del compte.","MOBILE_DELETE_ACCOUNT_BUTTON":"Esborrar compte","NAVIGATION_ON":"Encès","NAVIGATION_OFF":"Apagat","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Accepto rebre comunicacions de màrqueting d\'Stremio","QUIT":"Sortir","CONNECTED":"Connectat","AUTHENTICATE":"Autenticar","AUTHENTICATING":"Authenticating...","CACHING":"Memòria cau","SETTINGS_CACHING_DRIVE":"Disc de memòria cau","ENABLE_LOCAL_FILES_ADDON":"Activa el complement de fitxers locals (requereix un reinici)","LOCAL_ADDON_NOT_ENABLED":"El complement local no està habilitat. Feu clic aquí per anar a la configuració i activar-lo","ENABLE_REMOTE_HTTPS_CONN":"Activeu les connexions HTTPS remotes","TORRENT_PROFILE":"Perfil del torrent","DATA_CACHING":"Memòria cau emmagatzemada","MAGNET_PARSING":"Analitzant un enllaç magnètic","January":"Gener","February":"Febrer","March":"Març","April":"Abril","May":"Maig","June":"Juny","July":"Juliol","August":"Agost","September":"Setembre","October":"Octubre","November":"Novembre","December":"Desembre","Monday":"Dilluns","Tuesday":"Dimarts","Wednesday":"Dimecres","Thursday":"Dijous","Friday":"Divendres","Saturday":"Dissabte","Sunday":"Diumenge","Action":"Acció","Comedy":"Comèdia","War":"Bèl·lic","Family":"Família","Animation":"Animació","Adventure":"Aventura","Fantasy":"Fantasia","Crime":"Crim","Mystery":"Misteri","Romance":"Romanç","Drama":"Drama","Horror":"Terror","Thriller":"Suspens","Sci-Fi":"Ciència-ficció","Music":"Musical","Biography":"Biogràfic","Documentary":"Documental","Sport":"Esports","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Notícies","History":"Història","Game-Show":"Concursos","Reality-TV":"Reality shows","Talk-Show":"Entrevistes","Film & Entertainment":"Cinema i entreteniment","Gaming":"Videojocs","From TV":"De la TV","Lifestyle":"Estil de vida","Science & Education":"Ciència i educació","Cooking & Health":"Cuina i salut","Beauty & Fashion":"Bellesa i moda","Sports":"Esports","News & Politics":"Notícies i política","How-to & DIY":"Com fer-ho i DIY","Tech":"Tecnologia","Automotive":"Automoció","Causes & Non-Profits":"Causes i organitzacions sense ànim de lucre","Movies":"Pel·lícules","Uk Live Tv":"TV britànica en directe","Fashion":"Moda","Business News Radio":"Ràdio - Notícies de negocis","Business Tv":"TV negocis","Cars & Auto":"Automòbils","Comedy Radio":"Ràdio - Comèdia","Lifestyle Radio":"Ràdio - Estil de vida","News Tv":"TV notícies","Food And Wine":"Menjar i Vi","Latino Tv":"TV Llatina","Shopping Tv":"TV compres","Religion":"Religió","Kids":"Nens","Body & Soul":"Cos i ànima","Education":"Educació","Indian Tv":"TV índia","Extreme Sports":"Esports extrems","Middle Eastern Tv":"TV de l\'Orient Mitjà","Celebrity Tv":"TV famosos","Science Tv":"TV ciència","Bikini babe":"Bikini babe","Outdoors":"A l\'aire lliure","German Tv":"TV alemanya","French Tv":"TV francesa","Italian Tv":"TV italiana","Gamer Tv":"TV videojocs","Travel":"Viatges","Asian Tv":"TV asiàtica","Entertainment":"Entreteniment","News Radio":"Ràdio - Notícies","Music Radio":"Ràdio - Música","Language Learning":"Aprenentatge d\'idiomes","Science Radio":"Ràdio - Ciències","Tech Radio":"Ràdio - Tecnologia","Science & Technology Vod":"Ciència i tecnologia sota demanda","new video":"nou vídeo","new episode":"nou episodi","new movie":"nova pel·lícula","recommended":"recomanat","we recommend":"recomanem","offer of the day":"oferta del dia","news":"notícies","music video":"vídeo musical","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Descarta les notificacions","CTX_DISMISS_ALL":"Descarta-ho tot","CTX_SHARE":"Comparteix","CTX_COPY_SHARE_LINK":"Copia l\'enllaç per compartir","CTX_COPY_MAGNET_LINK":"Copia enllaç magnètic","CTX_COPY_STREAM_LINK":"Copia enllaç de l\'stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copia l\'enllaç de descàrrega del vídeo","CTX_DOWNLOAD_VIDEO":"Descarregar aquest vídeo","CTX_DOWNLOAD_SUBS":"Descarregar els subtítols","CTX_VIEW_ON_YOUTUBE":"Veure a YouTube","CTX_SHOW":"Mostra","CTX_PLAY":"Reproduir","CTX_PLAY_IN":"Reprodueix aquí","CTX_PLAY_ON":"Reprodueix a","CTX_WATCH_ON":"Veure a","CTX_WATCH":"Veure","CTX_WATCHED":"Vist","CTX_WATCH_BEGINNING":"Veure des del principi","CTX_WATCH_MOBILE":"Veure en un dispositiu mòbil","CTX_REWIND":"Rebobinar fins al començament","CTX_MARK_WATCHED":"Marca com a vist","CTX_MARK_NON_WATCHED":"Marca com a no vist","CTX_MARK_UNWATCHED":"Marca com sense mirar","CTX_MARK_REST":"Marca la resta com a vist","CTX_UNMARK_REST":"Marca la resta com a no vist","CTX_RECEIVE_NEW_NOTIF":"Rebre notificacions noves","CTX_ENABLE_NEW_NOTIF":"Activa les notificacions","CTX_DISABLE_NEW_NOTIF":"Desactiva les notificacions","CTX_REMOVE_CACHE":"Elimina de la memòria cau","CTX_REMOVE_CACHE_EP":"Elimina l\'episodi de la memòria cau","CTX_OPEN_CONTAINING":"Obre la carpeta que conté","CTX_REMOVE":"Elimina de la biblioteca","CTX_AVAILABLE_OFFLINE":"Disponible fora de línia","CTX_PAUSED":"En pausa","CTX_ALWAYS_ON_TOP":"Sempre a la part superior","CTX_FULLSCREEN":"Pantalla completa","CTX_WRONG_SUBS":"Subtítols incorrectes?","CTX_REPORT_ISSUES":"Informar del problema","CTX_COPY":"Copia","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Enganxa","CTX_CLEAR":"Esborra","CTX_CLEAR_RECENT_SEARCHES":"Esborra les cerques recents","HELLO_THERE":"Hola","HOPE_YOU_ENJOY":"Esperem que gaudiu d\'Stremio i ja sigui una de les vostres aplicacions preferides.","WHO_ARE_WE":"Qui som? Som l\'equip que hi ha darrere: dos nois que treballen molt cada dia durant els darrers 3 anys per fer que aquest producte sigui cada vegada millor.","SUPPORT_US":"Si us agrada utilitzar Stremio, si Stremio és valuós per a vosaltres, correu la veu!","SPREAD_THE_WORD":"Comparteix amb els teus amics ara, difon la notícia sobre Stremio","MORE_PEOPLE":"Com més gent utilitzi Stremio, millor serà.","SEND_A_LINK":"O envieu un enllaç al nostre lloc web","TIP_LOCALFILES":"Consell: podeu arrossegar i deixar anar fitxers de vídeo locals a Stremio","ADDON_MY":"Els meus complements","ADDON_COMMUNITY":"Complements de la comunitat","ADDON_OFFICIAL":"Complements oficials","ADDON_REPOS":"Col·leccions de complements","ADDON_SEARCH":"Cerca de complements","ADDON_INSTALL":"Instal·la","ADDON_CONFIGURE":"Configura","ADDON_UNINSTALL":"Desinstal·la","ADDON_UPGRADE":"Actualitza","ADDON_INSTALLED":"Instal·lat","ADDON_INSTALLED_MSG":"Complement instal·lat!","ADDON_UPGRADED_MSG":"Complement actualitzat!","ADDON_UNKNOWN":"Desconegut","ADDON_ERR":"Error d\'instal·lació del complement!","ADDON_DISCONNECTED":"Desconnectat","ADDON_APP_MISSING":"l\'aplicació d\'aquesta font no està instal·lada. Voleu instal·lar-la ara?","ADDON_APP_INSTALL":"Instal·lar ara","ADDON_PAGE":"Pàgina del complement","ADDON_TOP_CONTENT":"El millor d\'aquest complement","ADDON_PROVIDES":"Aquest complement proporciona:","ADDON_WATCH":"Mireu #{types} ara!","ADDON_WATCH_FREE":"Mireu #{types} GRATIS ara!","ADDON_ADDON":"Complement","ADDON_SUPPORTED_TYPES":"Tipus compatibles","ADDON_SUPPORTED_CATALOGS":"Catàlegs compatibles","ADDON_PROVIDES_DISCOVER":"Més #{types} a Descobreix","ADDON_PROVIDES_STREAMS":"Mira #{types}","ADDON_PROVIDES_STREAMS_FREE":"Mireu #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Subtítols per #{types}","ADDON_CANTDETECT":"No hem pogut detectar un Stremio en execució, de manera que no hem pogut detectar quins complements heu instal·lat.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Aquest dispositiu no admet la reproducció de torrents a causa de les regles de l\'App Store","ERR_NO_META":"No s\'ha trobat informació sobre això ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error en recuperar informació sobre això.","ERR_CANT_PARSE_MAGNET":"No es pot analitzar l\'enllaç magnètic","ERR_NO_MAGNET_INFOHASH":"No hi ha cap hash d\'informació magnet vàlida","ERR_NO_FILE_PATH":"No es pot enviar la sol·licitud sense una ruta al fitxer","ERR_NO_TORRENT":"No s\'ha retornat cap torrent","ERR_NO_SUPPORTERD_FILES":"No s\'han trobat fitxers compatibles","ERR_OPENING_FILES":"No s\'han pogut obrir els fitxers externs","ERR_INVALID_LINK":"Enllaç invàlid","ERR_REGISTERED_ONLY":"Aquesta opció només està disponible per als usuaris registrats.","ERR_CLIPBOARD":"No es pot reproduir des del porta-retalls","ERR_CLIPBOARD_READ":"No es pot llegir el porta-retalls d\'aquesta plataforma","ERR_CLIPBOARD_GENERIC":"No s\'ha trobat cap URL reproduïble al porta-retalls. Copieu un URL (per exemple, un enllaç magnètic) a un vídeo.","BOARD_CONTINUE_WATCHING":"Continuar mirant","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Pel·lícules seleccionades especialment per a vosaltres.<br />Aquesta pel·lícula és una recomanació d\'exemple.","BOARD_EXPLANATION_EPISODES":"Els nous episodis de les vostres Sèries preferides arriben aquí.<br />Afegiu sèries que seguiu a la Biblioteca.","BOARD_EXPLANATION_VIDEOS":"Els nous episodis dels vostres Canals preferits arriben aquí.<br />Afegiu a la Biblioteca els canals de YouTube que seguiu.","WEBSITE_ENJOYED_BY":"Gaudit per més de 30 milions d\'usuaris a tot el món.","WEBSITE_STREAMING_ENHANCED":"Transmissió millorada","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio ofereix una experiència d\'entreteniment segura, moderna i sense interrupcions. Amb la seva interfície fàcil d\'utilitzar i una àmplia biblioteca de continguts diversa, que inclou suport per a 4K HDR, els usuaris poden gaudir de les seves pel·lícules i sèries preferides a tots els seus dispositius. I amb el seu compromís amb la seguretat, Stremio és l\'opció definitiva per a una experiència de transmissió d\'alta qualitat sense preocupacions.","WEBSITE_AVAILABLE_ON":"Disponible a","WEBSITE_WATCH_AND_ENJOY":"Mira i gaudeix.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio és bufar i fer ampolles","WEBSITE_ALL_FEATURES":"Totes les funcionalitats","WEBSITE_EASY_TO_USE":"Fàcil d\'utilitzar","WEBSITE_EASY_TO_USE_DETAILS":"Stremio està dissenyat per ser fàcil d\'utilitzar i amigable. Amb la seva interfície neta i intuïtiva, pots navegar fàcilment i trobar el contingut que vols veure.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sense problemes en tots els dispositius","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponible per a una àmplia gamma de plataformes (incloent-hi Windows, Mac, Linux, Android i més), Stremio seguirà el teu progrés a través de tots els teus dispositius. Només has d\'iniciar la sessió i continuar veient sense haver de configurar l\'aplicació de nou a cada nou dispositiu.","WEBSITE_ALL_DOWNLOADS":"Totes les descàrregues","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Suport de vídeo d\'alta definició","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un reproductor de vídeo integrat que suporta la majoria dels formats de vídeo, incloent contingut 4K HDR, et permet gaudir de la millor qualitat disponible.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Biblioteca de continguts variada","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio s\'integra amb moltes fonts de vídeo populars, com Netflix, Amazon Prime Video, Hulu, YouTube i moltes més.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Crea un Compte Gratuït","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiència de Visualització Personalitzada","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio et permet personalitzar l\'aparença i el comportament de la interfície canviant el tema, afegint o eliminant complements i més.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Suport de Subtítols Multilingües","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Ara pots gaudir de tot el teu contingut preferit en el teu idioma preferit, ja que Stremio admet subtítols en tots els idiomes.","WEBSITE_ALL_STREMIO_FEATURES":"Totes les característiques d\'Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Prova Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Al Teu Televisor Ara Mateix","WEBSITE_YOU_CAN_NOW_WATCH":"Ara pots veure totes les teves sèries de televisió preferides als teus dispositius Android TV. L\'aplicació d\'Stremio per a TV et permet gaudir d\'una nit de pel·lícules amb facilitat.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Ara pots veure totes les teves sèries de televisió preferides al teu Smart TV o Android TV. Les aplicacions de TV d\'Stremio et permeten gaudir d\'una nit de pel·lícules amb facilitat.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio per a Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probablement l\'aplicació millor i més útil que pots tenir al teu dispositiu. És una de les aplicacions que utilitzo diàriament, especialment al meu Android TV, des de fa molts anys. Ben feta, amb una comunitat sòlida que aporta funcionalitats útils. Molt bona feina. Seguiu així!","WEBSITE_REVIEWS":"resenyes","WEBSITE_GET_STREMIO_FOR_FREE":"Aconsegueix Stremio Gratuïtament","WEBSITE_GET_STREMIO_NOW":"Aconsegueix Stremio Ara","WEBSITE_STREMIO_FEATURES":"Característiques d\'Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Reprodueix com un professional amb les funcions avançades d\'Stremio i gaudeix d\'un accés perfecte a tots els teus mitjans preferits","WEBSITE_DISCOVER_MORE":"Descobreix més.","WEBSITE_DISCOVER_MORE_DETAILS":"No et quedis mai sense coses per veure","WEBSITE_COMMUNITY_DRIVEN":"Impulsat per la comunitat","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio té una gran i activa comunitat d\'usuaris que contribueixen al desenvolupament del programari creant i compartint complements.","WEBSITE_GET_INVOLVED":"Impliqueu-vos","WEBSITE_NEW_THEATER_EXPERIENCE":"Nova Experiència de Cinema","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"La nova aplicació de TV dedicada d\'Stremio et permet gaudir d\'una nit de pel·lícules als teus dispositius Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Les noves aplicacions de TV dedicades d\'Stremio et permeten gaudir d\'una nit de pel·lícules als teus Smart TV o dispositius Android TV.","WEBSITE_FREE_AND_SECURE":"Gratuït i segur","WEBSITE_STREAMING":"Transmissió","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio ofereix una seguretat i privadesa inigualables per als usuaris. Amb la seva característica única d\'executar complements de forma remota, Stremio ofereix una manera més segura de reproduir el vostre contingut preferit en comparació amb altres plataformes. La vostra seguretat i privadesa són les principals prioritats, i la plataforma garanteix que totes les teves dades estiguin protegides.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Acomiadeu-vos de les preocupacions per la seguretat i la privadesa i saludeu un món d\'entreteniment sense fi amb Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informació proporcionada per","WEBSITE_CONTRIBUTE_DESC":"al projecte i ajuda\'ns a millorar encara més Stremio","WEBSITE_COMMUNITY_DESC":"Creiem que la millor manera de crear una experiència de transmissió realment sorprenent és implicar la nostra comunitat en el procés. Tant si sou un programador, un artista o només un fan, podeu ajudar a Stremio a créixer.","WEBSITE_COMMUNITY_DESC_2":"Així que uneix-te a nosaltres avui i forma part de la comunitat Stremio i continua donant forma al futur de la reproducció en temps real.","WEBSITE_WAYS_TO_GET_INVOLVED":"Maneres d\'implicar-se","WEBSITE_IN_THE_STREMIO_COMMUNITY":"a la comunitat Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Comparteix els teus pensaments","WEBSITE_REPORT_BUGS":"Informa d\'errors","WEBSITE_SUGGEST_FEATURES":"suggereix funcions","WEBSITE_AND_PROVIDE_FEEDBACK":"i proporcionar comentaris als nostres canals de xarxes socials.","WEBSITE_BETA_TESTING_PROGRAM":"Programa de proves Beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participa en el nostre programa de proves Beta (enviem invitacions regularment) a la comunitat d\'Stremio.","WEBSITE_JOIN_NOW":"Uniu-vos ara!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunitats Oficials d\'Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunitats No Oficials d\'Stremio","WEBSITE_BECOME":"Converteix-te","WEBSITE_A_VOLUNTEER_TRANSLATOR":"en un traductor voluntari","WEBSITE_ARE_YOU_A_DEVELOPER":"Ets desenvolupador?","WEBSITE_CONTRIBUTE_CODE":"Pots contribuir amb codi als nostres projectes de codi obert. Tenim diversos projectes a GitHub que busquen col·laboradors. Si estàs interessat a ajudar-nos, dona una ullada:","WEBSITE_STREMIO_ON_GITHUB":"Stremio a GitHub","WEBSITE_CREATE_ADDON_DESC":"Crea un complement per millorar la funcionalitat d\'Stremio (tenim una API fàcil d\'utilitzar):","WEBSITE_STREMIO_ADDON_SDK":"SDK dels complements d\'Stremio","WEBSITE_INTERN_DEVELOPER":"També oferim l\'oportunitat d\'unir-se a nosaltres com a desenvolupador en pràctiques perquè puguem créixer junts.","WEBSITE_APPLY_AS_AN_INTERN":"Sol·licita com a estudiant en pràctiques","WEBSITE_CALLING_ALL_ARTISTS":"Convoquem a tots els artistes!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mostra la teva creativitat i amor per Stremio pujant la teva obra d\'art d\'aficionat a la nostra galeria en línia. Sigui un dibuix, una pintura o un disseny digital, volem veure la teva visió única de la marca Stremio. Uneix-te a la nostra comunitat d\'entusiastes de l\'art i comparteix la teva obra amb altres fans d\'Stremio d\'arreu del món.","WEBSITE_STREMIO_FANART_GALLERY":"Galeria d\'Art d\'aficionats d\'Stremio","WEBSITE_INTERN_DESIGNER":"Forma part del nostre equip i porta la teva creativitat a nous nivells amb les nostres emocionants oportunitats de pràctiques.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Projecte de Pel·lícules de Domini Públic","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"A Stremio, estem compromesos a preservar la història del cinema i la televisió mitjançant la identificació de vídeos orfes i de domini públic. Treballant conjuntament amb la nostra comunitat, podem garantir que aquestes obres d\'art clàssiques siguin accessibles per a tothom i protegides perquè les generacions futures en gaudeixin.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"No dubtis a contactar amb nosaltres si vols involucrar-te en aquest projecte.","WEBSITE_JOIN_THE_PROJECT":"Uneix-te al Projecte","WEBSITE_BE_PART_OF_OUR_MISSION":"Forma part de la nostra missió","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interessat a unir-te a l\'equip d\'Stremio? Oferim treball completament remot per a professionals apassionats. Consulta les nostres posicions obertes.","WEBSITE_OPEN_POSITIONS":"POSICIONS OBERTES","WEBSITE_DESCRIPTION":"DESCRIPCIÓ","WEBSITE_LEARN_MORE":"Més informació","WEBSITE_COMPANY":"Empresa","WEBSITE_CONTACTS":"Contactes","WEBSITE_NEED_HELP":"Necessites ajuda?","WEBSITE_STREMIO_WEB_ON_IOS":"Guia per a Stremio Web a iOS","WEBSITE_LINK_ART_V2":"Galeria d\'Art","WEBSITE_PARTNERS":"Socis","WEBSITE_SLOGAN_WATCH":"Veure instantàniament","WEBSITE_SLOGAN_ALL":"Tot el contingut de vídeo que gaudiu d\'un sol lloc","WEBSITE_SLOGAN_NEW":"Tot el que podeu veure","WEBSITE_SLOGAN_NEW_NEW":"Llibertat d\'emissió","WEBSITE_WATCH_FROM":"Veure des de","WEBSITE_DOWNLOAD":"Baixa-ho ara","WEBSITE_DOWNLOAD_FOR":"Baixeu-lo ara per","WEBSITE_IS_DESKTOP":"Stremio és una aplicació d\'escriptori, obriu aquesta pàgina al vostre PC i descarregueu-la","WEBSITE_DESKTOP_DEMO_VID":"Demostració d\'escriptori","WEBSITE_PAGE_HOME":"Inici","WEBSITE_PAGE_FEATURES":"Característiques","WEBSITE_PAGE_ADDONS":"Complements","WEBSITE_PAGE_TECH":"Tecnologia","WEBSITE_PAGE_CREATE_ADDON":"Crea un Complement","WEBSITE_PAGE_CONTACTS":"Contactes","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Si us plau, introdueix la nova contrasenya a continuació.","WEBSITE_RESET_PASSWORD_WARNING":"Esteu segur que voleu restablir la contrasenya de ${1}?","WEBSITE_TYPE_movie":"Pel·lícules","WEBSITE_TYPE_series_PL":"Sèries","WEBSITE_TYPE_tv":"TV en directe","WEBSITE_TYPE_channel":"Canals","WEBSITE_STREMIO_WHAT_IS":"Stremio és una aplicació que us ajuda a organitzar i veure a l\'instant els vostres vídeos, pel·lícules, sèries i canals de televisió preferits.","WEBSITE_FEATURES_WATCH":"Veure instantàniament en HD","WEBSITE_FEATURES_WATCH_DETAIL":"Feu clic i reproduïu les vostres pel·lícules, programes de televisió, vídeos i canals de TV preferits.","WEBSITE_FEATURES_SUBS":"Subtítols automàtics","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio selecciona automàticament els subtítols sincronitzats per al vostre idioma.","WEBSITE_FEATURES_SUBS_LABEL":"Tu mous, mestre.","WEBSITE_FEATURES_CAST":"Reprodueix a la TV i dispositius mòbils","WEBSITE_FEATURES_CAST_DETAIL":"Emet a AppleTV, Chromecast, Smart TV (DLNA/UPnP) i dispositius mòbils.","WEBSITE_LIB":"Gaudeix de la teva biblioteca personal sincronitzada en tots els teus dispositius","WEBSITE_LIB_COLLECT":"Recopila informació d\'Stremio","WEBSITE_LIB_IMPORT":"Importa de Facebook","WEBSITE_LIB_LOCAL":"Afegeix des del vostre disc local","WEBSITE_BOARD":"El tauler - El lloc principal per a Notificacions i Recomanacions","WEBSITE_BOARD_RECOMMEND":"Programa de televisió recomanat","WEBSITE_BOARD_TRENDING":"Tendències de pel·lícules","WEBSITE_BOARD_NEW":"Nou vídeo","WEBSITE_BOARD_EPISODE":"Nou episodi","WEBSITE_BOARD_1":"Busqueu alguna cosa interessant per veure? Obteniu recomanacions segons el vostre gust!","WEBSITE_BOARD_2":"Sigues notificat quan surti un nou episodi del vostre programa de televisió o canal de YouTube preferit.","WEBSITE_BOARD_YOUTUBE":"Nous vídeos de canals de YouTube","WEBSITE_BOARD_EPISODES":"Nous episodis de sèries que seguiu","WEBSITE_ADDONS":"Complements de contingut","WEBSITE_TECH_DETAIL":"Ens encanta la tecnologia, ens encanta la ciència boja!\\nStremio utilitza les següents tecnologies de codi obert:","WEBSITE_TECH_WCJS":"WebChimera.js permet a Stremio reproduir qualsevol format de vídeo amb un bon rendiment.","WEBSITE_TECH_WCJS_EXTRA":"Som col·laboradors principals del projecte","WEBSITE_TECH_ELECTRON":"Electron proporciona una plataforma innovadora per construir Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Som col·laboradors del projecte","WEBSITE_TECH_LINVODB":"Una tecnologia de base de dades que garanteix que les vostres dades estiguin organitzades i disponibles a qualsevol lloc on us inicieu la sessió.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnologia pròpia","WEBSITE_CREATE_ADDON":"Creeu el vostre complement","WEBSITE_CREATE_ADDON_DETAIL":"Teniu un servei que proporcioni contingut de vídeo? Us ajudarem a beneficiar-vos de les funcions d\'Stremio creant el vostre complement","WEBSITE_CREATE_ADDON_BENEFITS":"Avantatges de crear un complement per a Stremio","WEBSITE_P2P_BEAUTY":"La bellesa de la transmissió d\'igual a igual (P2P)","WEBSITE_P2P_1":"Vídeo HD / 4K fiable i assequible a petició o en directe","WEBSITE_P2P_2":"Plataforma de distribució que proporciona una gran experiència d\'usuari","WEBSITE_P2P_3":"Crearem un complement que compleixi les vostres necessitats exactes","WEBSITE_P2P_CONTACT":"T\'interessa? Et convidem a <a href=\'mailto:office@stremio.com\'>contactar-nos</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Estarem encantats d\'ajudar-vos a integrar el vostre contingut amb Stremio!","WEBSITE_P2P":"De tant en tant, arriba una tecnologia que canvia el joc. Hem invertit molt de temps i esforç en desenvolupar el nostre motor de transmissió de vídeo Peer-to-Peer (P2P), que ofereix un gran rendiment i versatilitat per adaptar-se a qualsevol cas d\'ús.\\nContacteu amb nosaltres per a solucions de vídeo a la carta o transmissió en directe amb P2P compatible amb DRM.","WEBSITE_THOUGHTS":"Pensaments que compartim:","WEBSITE_SPREAD":"Difon la notícia sobre Stremio:","WEBSITE_CONTACT":"Poseu-vos en contacte amb nosaltres, estarem encantats de conèixer-vos!","WEBSITE_OPENSOURCE":"Per als nostres projectes de codi obert, aneu al nostre","WEBSITE_BITCOIN":"Feu una donació de bitcoins:","WEBSITE_FAQ":"Preguntes freqüents","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Preguntes","WEBSITE_TOS":"Condicions d\'ús","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"Quant a","WEBSITE_PAGE_BECOME_PARTNER":"Feu-vos soci","WEBSITE_ALL_YOU_CAN_WATCH":"Llibertat de visualització\\nTot el que desitgeu.","WEBSITE_FREEDOM_TO_STREAM":"Llibertat d\'emissió","WEBSITE_WHAT_IS_STREMIO":"Què és Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio és un centre únic per a l\'agregació de contingut de vídeo. Descobriu, organitzeu i mireu vídeos de tota mena de fonts en qualsevol dispositiu que tingueu.","WEBSITE_WHAT_IS_STREMIO_P2":"Pel·lícules, programes de televisió, sèries, televisió en directe o canals web com YouTube i Twitch.tv - tot això ho podeu trobar a Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio és un modern centre multimèdia que és una solució única per al vostre entreteniment de vídeo. Descobriu, mireu i organitzeu contingut de vídeo des de complements fàcils d\'instal·lar.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Pel·lícules, programes de televisió, TV en directe o canals web: trobeu tot això a Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Gaudeix en tots els teus dispositius multimèdia","WEBSITE_DEVICES_COLLECT":"Recopila informació d\'Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importa de Facebook","WEBSITE_DEVICES_LOCAL":"Afegeix des del disc local","WEBSITE_JOIN_THE_PARTY_NOW":"Uniu-vos a la festa ara","WEBSITE_DEVICES_ALL":"Fàcil d\'utilitzar en tots els vostres dispositius;","WEBSITE_EXTENDABLE_CATALOG":"Catàleg de vídeo extensible infinitament;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Funcions fantàstiques per organitzar el vostre contingut multimèdia;","WEBSITE_AS_SEEN_ON":"Com es veu a","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Sobre nosaltres","WEBSITE_LINK_TECHNOLOGY":"Tecnologia","WEBSITE_LINK_APPS":"Aplicacions","WEBSITE_LINK_DOWNLOADS":"Descàrregues","WEBSITE_MORE":"Més","WEBSITE_LINK_ADDONS":"Complements","WEBSITE_LINK_ADDON_SDK":"SDK dels Complements","WEBSITE_LINK_CONTRIBUTE":"Contribuir","WEBSITE_LINK_COMMUNITY":"Comunitat","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... i més","WEBSITE_LINK_HELP":"Centre d\'ajuda","WEBSITE_LINK_CONTACTS":"Consultes empresarials","WEBSITE_LINK_TOS":"Termes i Condicions","WEBSITE_LINK_PRAVACY":"Política de privacitat","WEBSITE_SUBSCRIBE":"Subscriu-te","WEBSITE_NEWSLETTER":"Uniu-vos al nostre butlletí de coses increïbles","WEBSITE_PLACEHOLDER_EMAIL":"El teu correu electrònic","WEBSITE_COMMUNITY":"Comunitat","WEBSITE_LINK_PRAVACY_LEGAL":"Privadesa i legal","WEBSITE_WHY":"Per què ho fem?","WEBSITE_WHY_P1":"A Stremio, treballem cada dia perquè volem resoldre un problema important per a la indústria del vídeo a la carta. Hi ha tants continguts nous publicats cada minut que és pràcticament impossible trobar-hi el camí.","WEBSITE_WHY_P2":"Ajudem la gent a navegar per aquest enorme món d\'entreteniment en vídeo i a descobrir contingut nou per gaudir-ne. Les nostres aplicacions reuneixen pel·lícules, sèries, TV en directe, canals web i molt més. Ens dediquem a facilitar als usuaris la possibilitat de trobar títols i emissores que els encanten.","WEBSITE_WHY_P3":"Podeu utilitzar el nostre servei en qualsevol dispositiu i en qualsevol moment, cosa que converteix Stremio en l\'únic centre d\'entreteniment de vídeo que necessiteu.","WEBSITE_TEAM":"EQUIP","WEBSITE_TEAM_P":"L\'equip d\'Stremio és petit, però potent: entre els deu programem en X idiomes i compartim experiència en desenvolupament de programari, disseny UI i UX, màrqueting i publicitat, i empreses i startups.","WEBSITE_FEATURES":"Característiques","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Descobriu contingut nou amb facilitat","WEBSITE_FEATURES_DISCOVER_P":"Descobriu fàcilment noves pel·lícules, programes de televisió, sèries i canals per veure. Navegueu per categoria, gènere, classificació, actualitat, etc. o simplement escriviu un nom per trobar-lo. Stremio fa que trobar contingut de vídeo nou sigui bufar i fer ampolles.","WEBSITE_FEATURES_ALL_CONTENT":"Tot el contingut de vídeo en una sola pantalla","WEBSITE_FEATURES_ALL_CONTENT_P1":"Vegeu quines pel·lícules, sèries o vídeos no heu acabat i continueu veient-les; rebre notificacions de nous episodis i llançaments; i navegueu per les recomanacions que obtindreu en funció dels vostres hàbits de visualització.","WEBSITE_FEATURES_LIBRARY":"Organitzeu la vostra videoteca","WEBSITE_FEATURES_LIBRARY_P1":"Afegiu qualsevol títol a la vostra biblioteca Stremio amb un sol clic i cerqueu el vostre contingut, ordenat per tipus, actualitat o ordre alfabètic.","WEBSITE_FEATURES_CALENDAR":"Feu un seguiment de tot el que mireu","WEBSITE_FEATURES_CALENDAR_P1":"Obtingues una visualització del calendari de totes les pel·lícules i sèries que afegeixis a la biblioteca. Exporta el calendari d\'Stremio i sincronitza\'l per estar sempre al dia sobre nous episodis o estrenes.","WEBSITE_FEATURES_BIG_SCREEN":"Gaudeix del teu contingut de vídeo en una pantalla més gran","WEBSITE_FEATURES_BIG_SCREEN_P1":"Emet qualsevol cosa que estigueu veient a un altre dispositiu, sigui un telèfon, una tauleta o un televisor amb un sol clic.","WEBSITE_FEATURES_SOURCES":"Mireu el vídeo de moltes fonts diferents","WEBSITE_FEATURES_SOURCES_P":"Instal·leu complements oficials i de la comunitat per gaudir de vídeos provinents de molts proveïdors diferents - tot en una aplicació elegant i fàcil d\'utilitzar.","WEBSITE_CREATE_AN_ADDON":"Creeu un complement","WEBSITE_FEATURES_SYNC":"Sincronitzeu la biblioteca entre diferents dispositius i repreneu la reproducció","WEBSITE_FEATURES_SYNC_P1":"Inicieu la sessió amb el vostre compte a tots els vostres dispositius i gaudiu de la vostra biblioteca, complements, reproducció i calendari sincronitzats.","WEBSITE_FEATURES_EXTENDABLE":"Catàleg de vídeo ampliable amb complements","WEBSITE_FEATURES_EXTENDABLE_P1":"El catàleg de complements Stremio proporciona diversos complements per instal·lar i veure una gran varietat de contingut de vídeo. Això inclou pel·lícules, programes, TV en directe, esports, notícies, pòdcasts, canals web, videojocs i molt més.","WEBSITE_FEATURES_AUTO_SUBS":"Subtítols automàtics","WEBSITE_FEATURES_AUTO_SUBS_P1":"Amb els nostres complements de subtítols obtindreu opcions seleccionades automàticament per al vostre idioma preferit.","WEBSITE_FEATURES_CHROMECAST":"Emetent a Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Gaudeix del contingut de vídeo en una pantalla més gran o simplement emet el que estiguis mirant a un altre dispositiu.","WEBSITE_FEATURES_KEEP_TRACK":"Feu un seguiment dels vostres programes de televisió i canals web preferits","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obteniu una visualització del calendari i notificacions de capítols nous de les vostres sèries i canals web preferits.","WEBSITE_FEATURES_POWER_USER":"Funcions d\'usuari avançat","WEBSITE_FEATURES_POWER_USER_P1":"Reprodueix en un reproductor extern","WEBSITE_FEATURES_POWER_USER_P2":"Reprodueix des d\'un fitxer torrent o un enllaç magnètic","WEBSITE_FEATURES_POWER_USER_P3":"Importa a la teva biblioteca des del M\'agrada de Facebook o de discs locals","WEBSITE_ADD_ONS":"Complements","WEBSITE_ADD_ONS_P1":"Tot el contingut de vídeo que proporciona Stremio s\'obté a través d\'un sistema de complements - no hi ha cap contingut ni proveïdor de contingut integrat a l\'aplicació.","WEBSITE_ADD_ONS_P2":"Hi ha dos grups de complements disponibles: complements oficials i de comunitat.","WEBSITE_ADD_ONS_P3":"Els oficials són desenvolupats i allotjats per Stremio, mentre que els complements de la comunitat els creen els membres de la comunitat, que també els allotgen.","WEBSITE_ADDONS_OFFICIAL":"Complements oficials","WEBSITE_ADDONS_WATCHUB":"Reprodueix les teves pel·lícules, sèries i programes preferits de proveïdors com iTunes, Hulu, Amazon i altres serveis del Regne Unit i dels Estats Units.","WEBSITE_ADDONS_YOUTUBE":"Mireu els vostres canals de YouTube preferits sense anuncis i obteniu notificacions de les contribucions que heu seguit sobre les càrregues noves.","WEBSITE_ADDONS_FILMON":"Mireu TV en directe, pel·lícules i televisió social de franc. 600 canals de televisió, 45.000 pel·lícules gratuïtes, documentals i molt més.","WEBSITE_ADDONS_OPENSUBTITLES":"Subtítols de pel·lícules i TV en diversos idiomes, milers de subtítols traduïts penjats cada dia.","WEBSITE_ADDONS_COMMUNITY":"Complements de la comunitat","WEBSITE_ADDONS_FILMON_VOD":"Mireu el vídeo a la carta de Filmon.tv","WEBSITE_ADDONS_TWICH":"Mireu en directe des de Twitch.tv - una plataforma de transmissió de vídeo per a la indústria dels esports electrònics.","WEBSITE_ADDONS_VODO":"Mireu pel·lícules independents de forma totalment gratuïta.","WEBSITE_ADDONS_NETFLIX":"Mireu pel·lícules i sèries web de Netflix.","WEBSITE_ADDONS_CREATE":"Creeu un complement","WEBSITE_ADDONS_CREATE_P1":"Si ho desitgeu, podeu desenvolupar el vostre propi complement. D\'aquesta manera, podeu oferir a vosaltres mateixos i a la nostra comunitat accés a contingut de vídeo nou i arribar a un públic nou i dirigit de milions d\'usuaris de tot el món.","WEBSITE_ADDONS_START_CREATE":"Per començar, visiteu la pàgina del SDK de Complements Stremio:","WEBSITE_DOWNLOADS":"Descàrregues","WEBSITE_DOWNLOADS_P1":"Per obtenir un rendiment òptim, us recomanem que utilitzeu la versió més recent disponible de les aplicacions Stremio. Tanmateix, si per algun motiu voleu utilitzar una versió anterior, la podeu descarregar aquí.","WEBSITE_DOWNLOADS_P1_SHORT":"Per obtenir un rendiment òptim, us recomanem que utilitzeu la versió més recent disponible de les aplicacions d\'Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio per a Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio per a macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio per a Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio per a Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio per a Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio per a Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio per a Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio per a iOS (versió limitada)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio per a televisors Samsung","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio per a televisors LG","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio per a Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio per a Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio per a Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio per a Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio per a Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio per a Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio per a Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio per a Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio per a Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Aplicació Stremio Launch on Boot","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio per al Navegador","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Cerca Stremio a l\'App Store dels models de televisors Samsung de 2019 i posteriors","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Cerca Stremio a l\'App Store dels models de televisors LG de 2020 i posteriors","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Cerca Stremio a l\'aplicació Play Store del Sony TV amb Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Cerca Stremio a l\'aplicació Play Store del Philips TV amb Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Cerca Stremio a la botiga d\'aplicacions del televisor Philips amb TitanOS (versió limitada)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Cerca Stremio a l\'App Store del teu dispositiu Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guia per a Stremio OS en la RPI","WEBSITE_LINK_GUIDE":"Guia","WEBSITE_DOWNLOAD_SERVICE":"Descarrega el Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service és una aplicació auxiliar per a Stremio Web. Us recomanem que utilitzeu la darrera versió disponible del Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service per Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service Per macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service per Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service per Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio per Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Més Opcions De Descàrrega","WEBSITE_DOWNLOAD_NEW":"Nou!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Hem publicat Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Hem publicat Stremio per a televisors Samsung","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Hem publicat Stremio per a televisors LG","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Hem publicat Stremio per a Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Hem publicat Stremio per a Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Hem publicat Stremio 5 per a Windows","WEBSITE_CONTRIBUTE":"Contribueix","WEBSITE_CONTRIBUTE_P1":"La plataforma Stremio és de codi obert i podeu crear fàcilment un complement per al contingut que actualment no existeix.","WEBSITE_CONTRIBUTE_WHY":"Per què heu de crear un complement?","WEBSITE_CONTRIBUTE_WHY_P1":"Arribeu a un públic nou pel contingut del vostre vídeo","WEBSITE_CONTRIBUTE_WHY_P2":"La base d\'usuaris d\'Stremio creix ràpidament - el primer any del llançament, Stremio va guanyar un milió d\'usuaris a tot el món i, el segon any d\'existència de la plataforma, aquest nombre va créixer fins als 2,5 milions.","WEBSITE_CONTRIBUTE_WHY_P3":"Amb el vostre complement, podeu arribar fàcilment a aquest públic i distribuir-hi el vostre contingut de vídeo.","WEBSITE_CONTRIBUTE_ALL":"Mireu les vostres pel·lícules, vídeos, sèries i canals preferits en un sol lloc.","WEBSITE_CONTRIBUTE_ALL_P1":"Sou fans d\'un tipus de contingut concret que encara no està disponible a Stremio? Crea un complement i gaudeix veient els teus vídeos preferits en un dels centres d\'entreteniment més grans i fàcils d\'utilitzar del mercat.","WEBSITE_CONTRIBUTE_ALL_P2":"A més, obtindreu l\'agraïment interminable d\'altres membres de la comunitat Stremio amb idees semblants.","WEBSITE_CONTRIBUTE_MONETIZE":"Obteniu ingressos del vostre complement i guanyeu diners amb la seva ajuda","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Un cop hàgiu desenvolupat un nou complement per a Stremio, podeu obtenir ingressos fàcilment a través de diverses maneres. Si ho teniu en compte, no dubteu a posar-vos en contacte amb nosaltres a ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - estarem encantats de consultar-los i assessorar-vos sobre les opcions de monetització dels complements.","WEBSITE_CONTRIBUTE_TRANSLATE":"Feu-vos traductor voluntari","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Si voleu gaudir de les aplicacions Stremio en diferents idiomes, podeu unir-vos a la nostra comunitat de traductors voluntaris. Ens ajuden a afegir versions d\'Stremio en molts idiomes diferents.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Teniu moltes ganes de començar?","WEBSITE_TRANSALTE_STREMIO":"Tradueix Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunitats oficials","WEBSITE_COMMUNITY_OFFICIALS_P1":"Formeu part de la creixent comunitat Stremio. Seguiu-nos a les xarxes socials i no tingueu por de saludar - ens encanta escoltar els nostres fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunitats no oficials","STREMIO_COMMUNITY_NL":"Stremio Països Baixos","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemanya","STREMIO_COMMUNITY_BELGIUM":"Stremio Bèlgica","STREMIO_COMMUNITY_FRANCE":"Stremio França","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Itàlia","STREMIO_COMMUNITY_UK":"Stremio Regne Unit","STREMIO_COMMUNITY_USA":"Stremio EUA","STREMIO_COMMUNITY_MEXICO":"Stremio Mèxic","STREMIO_COMMUNITY_ADDONS":"Complements Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Socis i simpatitzants","WEBSITE_COMMUNITY_GOODIES":"Llaminadures Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Fons de pantalla","WEBSITE_COMMUNITY_ART":"Galeria d\'Art de la Comunitat","WEBSITE_LINK_ART":"Galeria d\'art de la comunitat","WEBSITE_CONTACT_US":"Contacteu amb nosaltres","WEBSITE_CONTACT_US_P1":"Si teniu cap pregunta, comentari o suggeriment, no dubteu a posar-vos en contacte amb nosaltres a través del formulari de contacte següent.","WEBSITE_CONTACT_US_P2":"Tingueu en compte que estem ubicats a Bulgària, de manera que pot haver-hi un retard en atendre la vostra consulta a causa de les diferències de zona horària.","WEBSITE_CONTACT_US_SUCCESS":"El teu missatge ha estat enviat. Ens posarem en contacte amb vostè el més aviat possible.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Introduïu un correu electrònic vàlid!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Amb què està relacionada la vostra pregunta?","WEBSITE_CONTACT_US_Q_OS":"Quin és el vostre Sistema Operatiu?","WEBSITE_CONTACT_US_PH_EMAIL":"El teu correu electrònic","WEBSITE_CONTACT_US_PH_MESSAGE":"Missatge","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVIAR","WEBSITE_CONTACT_US_Q_1":"Com instal·lar?","WEBSITE_CONTACT_US_Q_2":"Com es desinstal·la?","WEBSITE_CONTACT_US_Q_3":"(HTML) Com fer lasanya?","WEBSITE_CONTACT_US_Q_4":"Complements","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnologia","WEBSITE_TECHNOLOGY_P1":"Ens encanta la tecnologia i la ciència boja. </br> Això és el que potencia Stremio (tot és de codi obert).","WEBSITE_TECHNOLOGY_P_QT":"Desenvolupament de programari multiplataforma al màxim.","WEBSITE_TECHNOLOGY_P_MPV":"Un reproductor multimèdia gratuït, de codi obert i multiplataforma.","WEBSITE_TECHNOLOGY_P_RN":"React Native us permet crear aplicacions per a mòbils només amb JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Framework multimèdia incrustat a l\'aplicació per obtenir multimèdia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm és una plataforma mòbil i un substitut de SQLite i Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js és un entorn de temps d\'execució de JavaScript de multiplataforma i de codi obert.","WEBSITE_TECHNOLOGY_P_RUST":"Rust és un llenguatge de programació de sistemes multiparadigma centrat en la seguretat, sobretot la concurrència.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuir al projecte","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Hi ha dues maneres de contribuir a Stremio i ajudar-nos a millorar el producte.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Podeu donar les vostres valuoses habilitats lingüístiques traduint la plataforma ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"o bé","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... podeu emprar les vostres habilitats de codificació per crear complements de la comunitat. ","WEBSITE_TRANSLATE_STREMIO":"Tradueix Stremio","WEBSITE_404_OH_NO":"Uh-oh! La pàgina que cerqueu no és aquí...","WEBSITE_GO_HOME":"Anar a l\'inici","WEBSITE_LINK_OTHER_DOWNLOADS":"Altres descàrregues","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Suport","WEBSITE_DOWNLOAD_4_0_BETA":"Descarregueu Stremio 4 beta ara","WEBSITE_GET_FOR_DESKTOP":"Per a escriptori","WEBSITE_LINK_ADDON_COMPETITION":"Competició de complements","WEBSITE_LINK_ART_CONTEST":"Concurs d\'art","WEBSITE_MY_ACCOUNT":"El meu compte","WEBSITE_MAINPAGE_FAQ_001_H1":"Què és Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio és un modern centre de comunicació que us ofereix la llibertat de veure tot el que desitgeu.","WEBSITE_MAINPAGE_FAQ_002_H1":"Com funciona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Un cop instal·leu Stremio al dispositiu i creeu un compte, tot el que heu de fer és visitar el catàleg de complements i instal·lar qualsevol que vulgueu, i llestos!","WEBSITE_MAINPAGE_FAQ_002_P2":"Després d\'això, podeu anar a les seccions Descobreix o Tauler per començar a explorar el contingut.","WEBSITE_MAINPAGE_FAQ_003_H1":"Què puc veure aquí?","WEBSITE_MAINPAGE_FAQ_003_P1":"Molt: pel·lícules, programes de televisió, canals web, esports, canals de TV, escoltar pòdcasts i molt més. Gràcies al nostre sistema de complements, podeu accedir a diversos continguts.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio és de codi obert?","WEBSITE_MAINPAGE_FAQ_004_P1":"Sí, podeu consultar els enllaços següents: ${1}aplicació d\'escriptori${2} i ${3}organització GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"És segur Stremio?","WEBSITE_MAINPAGE_FAQ_005_P1":"Sí: com que és programari de codi obert, el codi es pot auditar públicament i el podeu revisar vosaltres mateixos.","WEBSITE_MAINPAGE_FAQ_005_P2":"El sistema de complements d\'Stremio també va ser creat tenint en compte la seguretat de l\'usuari. Els complements no executen cap codi localment, de manera que no suposen cap risc per al teu dispositiu.","WEBSITE_MAINPAGE_FAQ_006_H1":"I la meva privadesa?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respectem la privadesa dels usuaris i no recopilem cap dada personal a més del mínim essencial per crear i sincronitzar el vostre compte.","WEBSITE_MAINPAGE_FAQ_006_P2":"També hi ha un ${1}mode de convidat${2} al registre, que no requereix cap mena de dades: en aquest mode, no es realitzen crides al nostre backend. Tanmateix, a costa de funcions útils com ara poder sincronitzar la biblioteca entre dispositius.","WEBSITE_MAINPAGE_FAQ_007_H1":"Puc emetre al meu televisor?","WEBSITE_MAINPAGE_FAQ_007_P1":"Sí, donem suport a Chromecast i podeu emetre-les des d\'aplicacions d\'escriptori i mòbils (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Quants complements té Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"A finals de 2019, més de 50 - per a més informació, consulteu el nostre catàleg de complements.","WEBSITE_MAINPAGE_FAQ_009_H1":"Es pot ampliar Stremio més enllà del que hi ha al catàleg de complements?","WEBSITE_MAINPAGE_FAQ_009_P1":"Sí, hauríeu de comprovar els següents: ${1}PimpMyStremio${2}, ${3}comunitats Reddit${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Quins dispositius admeten Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Disposem d\'aplicacions d\'escriptori per a Windows, Mac i Linux. Per a mòbils, admetem Android i iOS, tot i que tingueu en compte que la funcionalitat d\'iOS és limitada (no admet la majoria dels complements).","WEBSITE_MAINPAGE_FAQ_010_P2":"Hi ha molts dispositius basats en Android en els quals podeu executar Stremio, com NVIDIA Shield i Amazon Fire Stick, però no els admetem oficialment.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Tenim aplicacions d\'escriptori per a Windows, Mac i Linux. També tenim aplicacions dedicades per a dispositius mòbils Android i Android TV. Per a iOS i iPadOS, suggerim utilitzar Stremio Web, tot i que té una funcionalitat més limitada.","WEBSITE_MAINPAGE_FAQ_011_H1":"Podeu afegir un determinat contingut a Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Ho sentim, nosaltres mateixos no proporcionem contingut, però com més complements Stremio tingueu instal·lats, més contingut podreu trobar.","WEBSITE_MAINPAGE_FAQ_012_H1":"Pot Stremio reproduir enllaços magnètics?","WEBSITE_MAINPAGE_FAQ_012_P1":"Sí, i també pot reproduir enllaços HTTP normals i fitxers torrent (arrossegar i deixar anar)..","WEBSITE_MAINPAGE_FAQ_013_H1":"Puc descarregar un vídeo i mirar-lo fora de línia?","WEBSITE_MAINPAGE_FAQ_013_P1":"Disponible fora de línia és una característica pròxima, però si permeteu que Stremio emmagatzemi memòria cau al dispositiu (des del tauler de configuració) podreu veure els vídeos més endavant sense connexió.","WEBSITE_MAINPAGE_FAQ_014_H1":"Res funciona, ajuda\'m!","WEBSITE_MAINPAGE_FAQ_014_P1":"Esteu segur que teniu instal·lats complements? Si és així, consulteu el nostre ${1}centre d\'ajuda${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Com manté Stremio les seves operacions de desenvolupament?","WEBSITE_MAINPAGE_FAQ_015_P1":"Publiquem anuncis no intrusius de tant en tant, però estem considerant passar a un model de donació.","WEBSITE_MAINPAGE_FAQ_015_P2":"Per obtenir més preguntes, aneu al nostre ${1}centre d\'ajuda${2}.","HELP_LEARN_MORE":"Ajudeu-nos a obtenir més informació sobre vosaltres.","LIFESTYLE":"Estil de vida","SPORTS":"Esports","FOOD_HEALTH":"Alimentació i salut","BEAUTY_FASHION":"Bellesa i moda","NEWS":"Notícies","GAMING":"Videojocs","SCIENCE_EDUCATION":"Ciència i educació","MUSIC":"Música","TRAVEL":"Viatges","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comèdia","DIY":"Fes-ho tu mateix (DIY)","TECH":"Tecnologia","CINEMA":"Cinema","CONTINUE":"Continua","SLOW_LOADING":"CÀRREGA LENTA?","I_GIVE_UP":"EM RENDEIXO","LEARN_MORE":"Aprèn més","POOR_SOURCE":"Aquesta font té poca disponibilitat o la vostra connexió a Internet no és prou ràpida","PICK_CATEGORIES_ERR":"Heu de triar com a mínim 3 categories","ADJUST_TIMING":"Ajusteu el temps amb ","ADJUST_SIZE":"Ajusta la mida amb ","SEARCH_ANYTHING":"Podeu cercar qualsevol cosa...","ALL_CATEGORIES":"Tots","SEARCH_CATEGORIES":"Pel·lícules, Sèries, YouTube i TV","SEARCH_PERSONS":"Actors, directors i escriptors","SEARCH_PROTOCOLS":"Enllaços HTTP i magnètics","SEARCH_TYPES":"Enllaços IMDB / TVDB","WATCHED":"Vist","SHOW_LESS":"Mostrar menys","LAST_SEARCHES":"Darreres cerques","CLEAR_HISTORY":"Neteja l’historial","CHOOSE_SOME":"TRIA ALGUNS D\'AQUEST:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"No s\'ha pogut carregar el comandament a distància web","STREMIO_OFFLINE":"Stremio està fora de línia","STREMIO_EXPENSIVE_CONNECTION":"Hem detectat que utilitzeu una connexió de dades mòbils, voleu continuar?","USE_DATA":"Utilitzeu dades","WARNING":"Avís","MORE_INFO":"Més informació ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Carregant ...","STREMIO_TV_BACK_TO_LANGUAGES":"Torna als idiomes","STREMIO_TV_REMOTE":"Remot","STREMIO_TV_GO_TO":"Anar a:","STREMIO_TV_OR_SCAN":"o escaneja:","STREMIO_TV_ADDON_INSTRUCTIONS":"Seguiu les instruccions per instal·lar els vostres complements preferits.","STREMIO_TV_LIVE_TV":"TV en directe","STREMIO_TV_RESUME_WATCHING":"Reprèn la visualització","STREMIO_TV_LOADING_BACKGROUND":"Carregant el fons","STREMIO_TV_CHECKING_AUTHENTICATION":"Comprovant l\'autenticació","STREMIO_TV_LOADING_BOARD":"Carregant el Tauler","STREMIO_TV_LOGIN_HEADER_LINE_1":"Volem que els nostres usuaris tinguin la millor experiència personalitzada possible amb el nostre programari.","STREMIO_TV_LOGIN_HEADER_LINE_2":"És per aquest motiu que us demanem que creeu i/o inicieu sessió al vostre compte.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Gràcies per la comprensió,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"L\'equip d\'Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Per utilitzar el comandament a distància web amb el vostre telèfon / tauleta / escriptori:","STREMIO_TV_WIFI_SETUP":"Configuració Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle no ha detectat connexió a Internet.","STREMIO_TV_WIFI_DETAILS_1":"Connecta\'t amb:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Utilitzeu la contrasenya:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Obriu un navegador web amb l\'enllaç:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Per defecte","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Per Última Visualització","STREMIO_TV_LIBRARY_SORT_NAME":"Per Nom","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Per Nom Descendent","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Per Vegades Vist","STREMIO_TV_LIBRARY_SORT_WATCHED":"Per Vistos","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Per No Vistos","STREMIO_TV_DETAILS_SEASON_NUMBER":"Temporada ${1}","STREMIO_TV_STREAMS_LOADING":"Carregat ${1} / ${2} complements...","STREMIO_TV_STREAMS_STILL_LOADING":"Complement ${1} encara està carregant...","STREMIO_TV_PLAYER_SETTINGS":"Configuració del Reproductor","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Retard dels subtítols","STREMIO_TV_PLAYER_AUDIO_DELAY":"Retard d\'àudio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Escalat de vídeo","STREMIO_TV_PLAYER_CHAPTERS":"Capítols","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Salta ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Font de reproducció no compatible","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"No s\'ha pogut obrir l\'enllaç extern","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"No es pot ajustar en el mode d\'àudio passthrough","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Reprodueix amb ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Reprodueix amb el reproductor libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Canviant al reproductor libVLC a causa d\'un error de reproducció","STREMIO_TV_ADDONS_TITLE":"Utilitzeu Stremio al vostre telèfon o PC per instal·lar o configurar complements i premeu \\"Sincronitza complements\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: assegureu-vos que feu servir el mateix compte d\'Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronitza complements","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Els complements s\'han sincronitzat correctament","STREMIO_TV_ADDONS_SYNC_FAILED":"No s\'han pogut sincronitzar els complements","STREMIO_TV_META_LINK_FAILED":"No s\'ha pogut obrir el metaenllaç","STREMIO_TV_CATALOG_LOADING":"El catàleg encara s\'està carregant...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Idioma de la interfície actualitzat","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema actualitzat","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Reproductor per Defecte","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Reproductor Extern","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Idioma preferit","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Idioma secundari preferit","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Reproducció en túnel","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possibles problemes de reproducció en alguns dispositius","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"És possible que alguns formats de vídeo no funcionin","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Coincidir la velocitat de fotogrames","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Desactivat","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Només velocitat de fotogrames","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Velocitat de Fotogrames i Resolució","STREMIO_TV_SETTINGS_NO_CACHING":"Sense memòria cau","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Per defecte","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Suau","STREMIO_TV_SETTINGS_PROFILE_FAST":"Ràpid","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra-Ràpid","STREMIO_TV_SETTINGS_SERVER_URL":"URL del servidor de transmissió","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versió del servidor","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Desconegut","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versió d\'Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edita l\'URL del servidor","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Introduïu l\'URL d\'un servidor de transmissió","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostra les estadístiques mentre es carrega","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Per llegir la Política de Privadesa d\'Stremio, visiteu:","STREMIO_TV_SETTINGS_TOS_TEXT":"Per llegir els Termes i Condicions d\'Stremio, visiteu:","STREMIO_TV_NAV_SEARCH":"Cerca","STREMIO_TV_NAV_HOME":"Inici","STREMIO_TV_NAV_DISCOVER":"Descobreix","STREMIO_TV_NAV_LIBRARY":"Biblioteca","STREMIO_TV_NAV_MOVIES":"Pel·lícules","STREMIO_TV_NAV_SERIES":"Sèries","STREMIO_TV_NAV_CHANNELS":"Canals","STREMIO_TV_NAV_TV":"TV en directe","STREMIO_TV_NAV_SETTINGS":"Configuració","STREMIO_TV_NAV_ADDONS":"Complements","STREMIO_TV_LOGIN_TITLE":"Enllaça Compte","STREMIO_TV_LOGIN_EXPIRES_IN":"Caduca en","STREMIO_TV_LOGIN_STEP_ONE":"Escaneja el codi QR de dalt o ves a","STREMIO_TV_LOGIN_STEP_TWO":"Inicieu sessió al vostre compte Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Demana un enllaç nou","STREMIO_TV_LOGIN_LINK_REFRESHED":"S\'ha actualitzat el codi d\'inici de sessió","STREMIO_TV_SEARCH_PLACEHOLDER":"Escriu alguna cosa","STREMIO_TV_SEARCH_NO_ADDONS":"No s\'han demanat complements per als catàlegs!","STREMIO_TV_SEARCH_BUTTON":"Cerca","STREMIO_TV_SEARCH_KEY_DEL":"Supr","STREMIO_TV_SEARCH_KEY_SPACE":"Espai","STREMIO_TV_SEARCH_KEY_CLEAR":"Retrocés","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historial de cerques","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Pots cercar Títols, Actors, Canals i més...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Esborrar l\'historial de cerques","STREMIO_TV_FILTERS_DESCRIPTION":"Trieu un dels filtres següents","STREMIO_TV_STREAMING_SERVER_OFFLINE":"El servidor d\'emissió està fora de línia. Comproveu la configuració del servidor.","FILTERS":"Filtres","SETTINGS":"Configuració","ACCOUNT":"Compte","LOGOUT":"Tancar sessió","THEMES":"Temes","PLAYBACK":"Reproducció","PLAYBACK_SPEED":"Velocitat de reproducció","AUDIO_TRACKS":"Pistes d\'Àudio","UNKNOWN_TRACK_LANG":"Desconegut","VIDEOS":"Vídeos","SERVER":"Servidor","LINKS":"Enllaços","ABOUT":"Quant a","INTERFACE":"Interfície","ANIMATIONS":"Animacions","STATUS":"Estat","LANGUAGE":"Idioma","SIZE":"Mida","DELAY":"Retard","BOLD":"Negreta","OPACITY":"Opacitat","TEXT_COLOR":"Color del text","OUTLINE_COLOR":"Color del contorn","BACKGROUND_COLOR":"Color de fons","BACKGROUND_BLUR":"Desenfocament de fons","SEEK_TIME_DURATION":"Cerca la durada del temps","AUTO_PLAY":"Reprodueix automàticament el següent episodi","PLAY_NOW":"Reprodueix Ara","MARK_AS_WATCHED":"Marca com a Vist","MARK_AS_UNWATCHED":"Marca com a No vist","REWIND_TO_BEGINNING":"Rebobina al principi","CONTINUE_WATCHING":"Continuar Mirant","ALL":"Tot","SECONDS":"segons","ON":"ON","OFF":"OFF","RELOAD":"Recarrega","EDIT_URL":"Edita l\'URL","URL":"URL","NONE":"Cap","EMBEDDED":"Incrustat","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Canviar Dispositius","REMOTE_VIDEOS":"Vídeos","REMOTE_ADJUST_TIMING":"Ajusteu el temps","REMOTE_ADJUST_SIZE":"Ajusta la mida","REMOTE_COULD_NOT_BE_LOADED":"No s\'ha pogut carregar el comandament a distància web","REMOTE_RETRY":"Reintentar","TORRENT_PROFILE_DEFAULT":"Per defecte","TORRENT_PROFILE_SOFT":"Suau","TORRENT_PROFILE_FAST":"Ràpid","TORRENT_PROFILE_ULTRA_FAST":"Ultra-Ràpid","MB_S":"MB/s","FAQ_001_H1":"Què és Stremio?","FAQ_001_P1":"Stremio és un centre multimèdia dissenyat per a l\'entreteniment en vídeo tenint en compte la facilitat d\'ús. Stremio us permet organitzar & mirar la vostra pròpia col·lecció de pel·lícules, sèries, canals i TV en directe.","FAQ_001_P2":"Stremio recopila el contingut que us mostra del vostre disc local i del nostre sistema de complements.","FAQ_001_P3":"També us notificarà quan surten nous episodis/vídeos/pel·lícules que us interessin i us recomanarà pel·lícules.","FAQ_02_H1":"Com es compara Stremio amb Kodi i Plex?","FAQ_02_P1":"Ens inspiren aquests dos programes. Però tenim objectius diferents - Stremio s\'orienta específicament cap a l\'entreteniment en vídeo i s\'esforça per convertir-se en la solució principal per ser molt fàcil d\'utilitzar.","FAQ_02_P2":"Stremio mai serà tan personalitzable i ric en funcions com Kodi i Plex, però és molt més fàcil d\'utilitzar. Només ${1} proveu-lo i veureu ${2} :)","FAQ_03_H1":"Com es compara Stremio amb Netflix?","FAQ_03_P1":"Una vegada més, Netflix és una de les nostres inspiracions. Ens esforcem per aconseguir l\'experiència d\'usuari de Netflix, a més d\'un munt de coses addicionals. Però el més important és que us oferim la llibertat de gestionar la vostra pròpia biblioteca i afegir noves fonts de contingut amb el nostre sistema de complements.","FAQ_03_P2":"Això fa que Stremio sigui infinitament extensible, de manera que quan feu servir Stremio mai no es limita al contingut que Netflix decideix llicenciar. Per exemple, mitjançant Stremio podeu veure contingut de ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} i fins i tot el mateix ${9}Netflix${10}!","FAQ_04_H1":"Com es compara Stremio amb Flipboard?","FAQ_04_P1":"Aquesta pregunta no ens arriba tan sovint, excepte quan parlem amb emprenedors :)","FAQ_04_P2":"Stremio és per disseny d\'un agregador de continguts, que bàsicament el converteix en Flipboard per a vídeo. Això és molt evident a la nostra secció de Tauler, que us proporciona catàlegs i notificacions d\'episodis/vídeos nous del que seguiu, igual que Flipboard.","FAQ_05_H1":"Com es compara Stremio amb Popcorn Time?","FAQ_05_P1":"Stremio i Popcorn Time són similars a la interfície d\'usuari, perquè no hi ha moltes maneres de fer els catàlegs d\'entreteniment de vídeo correctament :)","FAQ_05_P2":"Però, mentre que Popcorn Time se centra en la transmissió de torrents de fonts específiques, Stremio no té restriccions i és només un agregador de continguts - no està bloquejat en una font de contingut específica.","FAQ_05_P3":"A més, no proporcionem cap complement de torrent per defecte, de manera que Stremio no cobreix el cas d\'ús Popcorn Time amb la funcionalitat oficial.","FAQ_05_P4":"Una altra diferència notable és que Popcorn Time és completament de codi obert, mentre que Stremio és ${1} parcialment de codi obert${2}.","FAQ_06_H1":"Afegireu aquesta pel·lícula/sèrie?","FAQ_06_P1":"No, ho sento :(","FAQ_06_P2":"Com s\'esmenta a la majoria de les altres preguntes, Stremio no proporciona cap contingut per si mateix - tot s\'afegeix a través del sistema de complements. En cas que tingueu una sol·licitud de contingut, podeu fer servir el botó “Informa” del reproductor, que enviarà un correu electrònic a l\'autor del complement que esteu utilitzant actualment.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Creeu un complement per a X?","FAQ_08_P1":"És del tot possible.","FAQ_08_P2":"Si teniu una idea per a un complement, envieu-nos una línia a ${1}office@stremio.com${2}, però assegureu-vos que la vostra idea de complement no infringeixi cap copyright ni les condicions d\'ús.","FAQ_08_P3":"De moment, les següents coses del nostre full de ruta són complements per a FandangoNOW, el vídeo a la carta de Filmon.tv i Crunchyroll.","FAQ_09_H1":"Stremio utilitza BitTorrent?","FAQ_09_P1":"Sí, Stremio admet BitTorrent com a protocol de transmissió. Podeu fer-ho amb un complement de torrent, arrossegant i deixant anar un fitxer .torrent a Stremio o enganxant un enllaç magnètic a la barra de cerca.","FAQ_09_P2":"Tingueu en compte que l\'únic complement oficial que utilitza BitTorrent és ${1}Vodo${2}, que proporciona contingut independent, tot el que es pot distribuir amb BitTorrent.","FAQ_09_P3":"No admetem l\'ús de complements de tercers que puguin permetre la infracció dels drets d\'autor.","FAQ_10_H1":"Què puc veure a Stremio amb els complements oficials?","FAQ_10_P1":"Per defecte, podeu veure el contingut de Filmon.tv, YouTube i Vodo dins del mateix Stremio, amb el reproductor incrustat. A més, tenim un complement per a Twitch.tv i alguns altres.","FAQ_10_P2":"Aquesta combinació proporciona una selecció de:","FAQ_10_L1":"Canals de televisió populars, proporcionats per Filmon.tv - per exemple E4, BBC, Bollyworld TV","FAQ_10_L2":"Tot des de YouTube - per exemple BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Pel·lícules independents amb Vodo","FAQ_10_L4":"Emissions de jocs en línia amb Twitch.tv","FAQ_10_P3":"A més, hi ha moltes fonts de contingut que es proporcionen amb Guidebox i els complements Netflix, que <b>no</b> es reprodueixen completament dins Stremio, però que redirigiran al servei indicat. Per exemple, el complement Guidebox us proporcionarà una selecció de pel·lícules que podeu reproduir gratuïtament als Estats Units, des de serveis com TubiTV i Crackle.","FAQ_11_H1":"Stremio no s\'instal·la, què he de fer?","FAQ_11_P1":"Si utilitzeu Windows, proveu ${1}aquest instal·lador alternatiu${2}.","FAQ_11_P2":"Si utilitzeu Mac OS X, tingueu en compte que no admetem res més antic que OS X Mavericks (10.9).","FAQ_11_P3":"Si utilitzeu Linux, tingueu en compte que en aquest moment només admetem Linux de 64 bits (x64).","FAQ_11_P4":"Si encara no podeu resoldre el vostre problema, escriviu-nos al nostre ${1}grup de Facebook${2}.","FAQ_12_H1":"Per què es queixa del meu antivirus? És segur Stremio?","FAQ_12_P1":"Us assegurem que Stremio és ${1}100% net${2}.","FAQ_12_P2":"El vostre antivirus es queixa perquè incloem publicitat al nostre instal·lador, que alguns programes antivirus reconeixen com a ad-ware.","FAQ_12_P3":"Si encara no esteu segur, podeu provar el nostre ${1}instal·lador alternatiu${2}.","FAQ_13_H1":"Com puc fer un complement?","FAQ_13_P1":"Per començar, us recomanem que consulteu el nostre ${1}mòdul del sistema de complements${2} a GitHub.","FAQ_13_P2":"Després, podeu seguir el ${1}tutorial Hola Món${2}.","FAQ_13_P3":"Si no teniu cap habilitat de programació, publiqueu la vostra idea a ${1}la comunitat Reddit${2} i poseu-vos en contacte amb nosaltres amb la vostra idea de complement a ${3}office@stremio.com${4}.","FAQ_14_H1":"Com es publiquen els complements?","FAQ_14_P1":"Quan creeu un complement i un amfitrió, i col·loqueu un camp <b>endpoint</b> al manifest, que apunti a una adreça de complement funcional, el complement es publicarà automàticament al nostre ${1}catàleg de complements${2}.","FAQ_14_P2":"Això passa perquè la part del servidor del mòdul stremio-addons fa una crida automàticament a la nostra API per anunciar-lo. Quan la nostra API validi el vostre <b>endpoint</b> com a complement vàlid, començarà a aparèixer al catàleg.","FAQ_15_H1":"Puc executar Stremio al meu navegador?","FAQ_15_P1":"De moment no, però s\'acosta!","FAQ_15_P2":"Si teniu curiositat per veure una Alfa, el podeu veure aquí: ${1}alpha4.strem.io${2}. Recordeu que la transmissió està desactivada en aquesta alfa. Admetem Chrome, Firefox, Opera i Edge.","FAQ_16_H1":"Emetre a la televisió no funciona / els subtítols no funcionen","FAQ_16_P1":"La transmissió a TV utilitza la tecnologia DLNA, que és molt inconsistent entre les diferents marques i models de televisors. Per aquest motiu, no tenim la capacitat de provar-ho en tots els casos, de manera que no és ni molt menys perfecte. Tot i això, estem treballant per millorar-lo constantment, però no podem proporcionar-vos una estimació de temps sobre quan DLNA començarà a funcionar correctament amb el vostre televisor.","FAQ_16_P2":"Si ni tan sols veieu el televisor al menú d\'emissió, proveu de desactivar la connexió de xarxa i tornar-la a activar (a Windows, feu clic amb el botó dret a la xarxa i utilitzeu Activa/Desactiva), així com reiniciar el router, el televisor i l\'ordinador.","FAQ_16_P3":"Si encara teniu problemes, podeu ajudar-nos enviant la informació de la vostra marca i model de televisió a ${1}office@stremio.com${2}.","FAQ_16_P4":"Mentrestant, recomanem Chromecast, que funciona molt bé, o simplement connecteu el televisor al PC amb un cable HDMI.","FAQ_17_H1":"Stremio es congela o es bloqueja, què puc fer?","FAQ_17_P1":"En primer lloc, si utilitzeu Windows 7 amb antivirus AVG: tenim aquesta problemàtica. El problema es troba en la mateixa AVG i no hi ha cap manera raonable de resoldre-ho per nosaltres mateixos. Malauradament, les excepcions o la desactivació de l\'antivirus no funcionaran. L\'única solució és substituir AVG per un altre.","FAQ_17_P2":"Si aquest no és el problema, però encara esteu utilitzant Windows, actualitzeu-lo a la versió més recent i actualitzeu/reinstal·leu els controladors de la GPU, llavors torneu-ho a provar.","FAQ_17_P3":"Si el problema encara no s\'ha resolt o si utilitzeu un Mac o Linux, escriviu-nos informant dels detalls exactes del problema al ${1}grup de Facebook${2}.","FAQ_18_H1":"Com puc fer un complement?","FAQ_18_P1":"Per començar, us recomanem que consulteu el nostre ${1}mòdul del sistema de complements${2} a GitHub.","FAQ_18_P2":"Després, podeu seguir el ${1}tutorial Hola Món${2}.","FAQ_18_P3":"Si no teniu cap habilitat de programació, publiqueu la vostra idea a ${1}la comunitat Reddit${2} i poseu-vos en contacte amb nosaltres amb la vostra idea de complement a ${3}office@stremio.com${4}.","FAQ_19_H1":"Per què Stremio ocupa espai al disc?","FAQ_19_P1":"Stremio té una <b>memòria cau local</b> per conservar temporalment els fitxers de vídeo que transmets.","FAQ_19_P2":"Això té dos avantatges: en primer lloc, permet a Stremio pre-emmagatzemar el vídeo per garantir una transmissió més fluida. En segon lloc, manté els vídeos a la memòria cau local perquè pugueu continuar veient-los fora de línia.","FAQ_19_P3":"La quantitat que guarda Stremio depèn del paràmetre <b>Memòria cau</b> del tauler de configuració. És possible que Stremio mantingui la quantitat establerta (ex: 2GB) al disc, tret que el vídeo que es reprodueixi actualment sigui més gran que aquest. En aquest cas ha d\'assignar prou emmagatzematge per conservar-lo mentre que l\'estiguis reproduint.","FAQ_20_H1":"On és la carpeta de memòria cau?","FAQ_20_P1":"A Windows, és stremio-cache a la unitat que heu seleccionat a Configuració (per exemple \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"A MacOS, és \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"A Linux, és \\"~/.stremio/stremio-cache\\" o \\"~/stremio-cache\\"","FAQ_21_H1":"Tinc l\'error \\"El servidor de transmissió no s\'ha trobat\\" què puc fer?","FAQ_21_P1":"Si obteniu aquest error, significa alguna d\'aquestes coses:","FAQ_21_P2":"1) Esteu provant d\'utilitzar un complement compatible amb la font de YouTube/BitTorrent a través de la nostra ${1}versió web${2}. En aquest cas, hauríeu d\'instal·lar la nostra versió d\'escriptori des del ${3}nostre lloc web${4}.","FAQ_21_P3":"2) Hi ha un problema amb la instal·lació d\'Stremio. En aquest cas, proveu de tornar a instal·lar la nostra versió d\'escriptori més recent des del ${1}lloc web${2}. Si això no ajuda, proveu de desactivar els programes antivirus i els tallafocs, reinicieu el PC i torneu-ho a provar. Si això també no funciona, escriviu-nos al nostre ${3}grup de Facebook${4}.","FAQ_22_H1":"No puc veure/utilitzar la majoria dels complements a iOS","FAQ_22_P1":"A causa de les restriccions dels termes i condicions de l\'App Store d\'Apple, hem restringit l\'aplicació iOS només a un conjunt concret de complements.","FAQ_22_P2":"Però tingueu la seguretat: hi haurà més complements per a iOS en el futur, i també podem afegir una integració que us permetrà utilitzar tots els complements Stremio gràcies a la connexió de l\'aplicació iOS al servidor de transmissió Stremio."}')},65406:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Seriál","TYPE_tv":"Televizní kanál","TYPE_channel":"Kanál","TYPE_other":"Ostatní","TYPE_movie_PL":"Filmy","TYPE_series_PL":"Seriály","TYPE_tv_PL":"Televizní kanály","TYPE_channel_PL":"Kanály","TYPE_other_PL":"Ostatní","TYPE_ALL":"Všechny","TYPE":"Typ","CATALOG_com_linvo_cinemeta_top":"Populární","CATALOG_com_linvo_cinemeta_imdbRating":"Doporučené","CATALOG_com_linvo_cinemeta_year":"Nejnovější","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Filmy ve veřejném vlastnictví","VIDEO":"Video","BACK":"Zpět","MORE":"Více","DONE":"Hotovo","COPY":"Kopírovat","SUCCESS":"Úspěch","ERROR":"Chyba","SETTINGS_CASTING_MODE_PICKER":"Režim odesílání","CASTING_MODE_HLSV2":"Výchozí","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Bez transkodování","Discover":"Objevit","Board":"Nástěnka","Library":"Knihovna","My Library":"Moje knihovna","Calendar":"Kalendář","NOTIFICATION_ONLINE":"Nyní jste online","NOTIFICATION_OFFLINE":"V současné době jste offline","INTERNET_CONNECTION":"Připojení k síti","STORAGE_FULL_TITLE":"Varování: Úložiště je plné!","STORAGE_FULL_TEXT":"Stremio nebude moci uložit vaše nastavení, preference ani přihlašovací údaje. Zvažte opětovné spuštění nebo přeinstalování aplikace Stremio.","SEARCH":"hledat","SEARCH_NO_RESULTS":"Nebyly nalezeny žádné výsledky","SEARCH_EXPLANATION_CONTENT":"Hledejte filmy, seriály, YouTube kanály a TV kanály","SEARCH_EXPLANATION_PEOPLE":"Hledejte herce, režiséry a scénáristy","SEARCH_PASTE_LINKS":"Vložte webový, či Magnet odkaz","SEARCH_OR_PASTE_LINK":"Vyhledat nebo vložit odkaz","SEARCH_SUGGESTIONS":"Návrhy hledání","ADD_TO_LIB":"Přidat do knihovny","REMOVE_FROM_LIB":"Odebrat z knihovny","ADDED_TO_LIB":"Přidáno do knihovny","REMOVED_FROM_LIB":"Odstraněno z knihovny","TRAILER":"Ukázka","WATCH_TRAILER":"Sledovat ukázku","WATCH_NOW":"Sledujte nyní","SHOW":"Zobrazit","SHOW_MOVIE":"Zobrazit film","WATCH_RANDOM":"Sledovat náhodné","IMDB_RATING":"IMDb hodnocení","YEAR":"Rok","DIRECTOR":"Režisér","WRITER":"Scénárista","LEAD_ACTORS":"Hlavní obsazení","CAST":"Obsazení","CREW":"Štáb","SHOW_MORE_CAST":"Zobrazit více »","AIRED":"Vysíláno na","SEASONS":"Série","GENRE":"Žánr","GENRE_ALL":"Všechny žánry","CATALOG":"Katalog","SUMMARY":"Shrnutí","SHOW_MORE":"Zobrazit více","SIMILAR":"Podobné","UPCOMING":"Nadcházející","TBA":"TBA","ENDED":"Ukončeno","DURATION":"Délka","FEATURED":"Doporučené","METADATA":"Metadata","CATEGORY":"kategorie","LINKS_GENRES":"Žánr","LINKS_CAST":"Herci","LINKS_DIRECTORS":"Režiséři","SEARCH_VIDEOS":"vyhledávání videí","SEARCH_PLACEHOLDER":"vyhledat nebo vložit adresu URL","ADDON":"doplněk","ADDONS":"Doplňky","OFFICIAL":"oficiální","ADDONS_OFFICIAL":"Oficiální doplňky Stremio","ADDONS_POPULAR":"Oblíbené ve vaší oblasti","ADDON_FREE":"zdarma","ADDON_PEERED":"peerované","ADDON_SUBSCRIPTION":"předplatné","ADDON_STREAM_GEORESTRICTED":"není k dispozici ve vaší oblasti","ADDON_STREAM_OFFLINECACHE":"Offline mezipaměť","ADDON_STREAM_LOCALFILE":"Místní soubor","SHARE_ADDON":"Sdílet doplněk","AVAILABLE_STREAMS":"Dostupné zdroje","NO_STREAM":"Nebyly nalezeny žádné zdroje","ALL_ADDONS":"Vše","INSTALL_MORE_ADDONS":"Chcete-li získat více streamů, nainstalujte si další doplňky","STREAM_NOT_SUPPORTED":"Vybraný stream není na této platformě podporován.","ADDON_CATALOGUE":"Zobrazit všechny doplňky \\"","ADDON_CATALOGUE_MORE":"Instalovat doplňky","REPO_ADDED":"Přidáno úložiště","ADDON_REPO_EXIST_ERR":"Tato kolekce doplňků již existuje","ADDON_REPO_ERR":"Při přidávání kolekce došlo k chybě","ADDON_ADD_ERR":"Při přidávání doplňku došlo k chybě","ERR_ADDON_PROTECTED":"Nelze odinstalovat, doplněk je chráněn","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Došlo k chybě - autentizace mohla selhat","ERR_NOT_COLLECTION_URL":"Nejedná se o adresu URL sbírky","ERR_NOT_ADDON_URL":"Není platná adresa URL doplňku","ERR_DETECTFROMURL":"Nelze najít doplněk/sbírku z této adresy URL","ADDON_DUPLICATE_WARNING":"Varování: duplicitní doplněk","ADDON_COLLECTION_SET_FAILED":"Synchronizace nainstalovaných doplňků s vaším účtem se nezdařila","SETTINGS_DATA_EXPORT":"Export uživatelských dat","ADDON_PULL_FAILED":"Synchronizace nainstalovaných doplňků z vašeho účtu se nezdařila","REFRESH_ON_CLICK":"Klikněte pro opakovaný pokus","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film stále v kinech","WATCH_IN_CINEMA":"Podívejte se na něj v místním kině","IN_THEATER":"V kině","GET_TICKETS":"Získat vstupenky","UPCOMING_EPISODE":"Nadcházející epizoda","UPCOMING_EPISODE_MESSAGE":"Tato epizoda bude vysílána dne","MISSING_DATE_EPISODE":"Chybějící datum epizody","MISSING_DATE_EPISODE_MESSAGE":"Tato epizoda nejspíš ještě nebyla odvysílána","CHANNEL_NOT_SCRAPED":"Tento kanál ještě není prohledán.<br>Vraťte se prosím za několik minut.</br>","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Přidejte si ji do své knihovny, abyste byli informováni, jakmile bude k dispozici.","GET_NOTIFIED_WHEN_AVAILABLE":"Jakmile bude k dispozici, budete o tom informováni.","WARNING_STREAMING_SERVER":"Varování: místní streamovací server nebyl nalezen. Streamování z místních souborů, YouTube a BitTorrent nebude k dispozici.","WARNING_STREAMING_SERVER_DISMISS":"Skrýt","WARNING_STREAMING_SERVER_LATER":"Později","DECODER_WARNING":"Varování: toto video nemusí být podporováno vaším hardwarem. Mějte na paměti, že přehrávání může být pomalé.","GENERIC_ERROR_MESSAGE":"Něco se pokazilo!","TRY_AGAIN":"Zkusit znovu","CLEAR_DATA":"Vymazat data","PLAYER_ERROR":"Jejda, chyba přehrávače","PLAYER_ERROR_LOOKSLIKE":"Vypadá to, že","PLAYER_ORIENTATION":"Orientace přehravače","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Zamknuto","PLAYER_ORIENTATION_SENSOR_SHORT":"Senzor","PLAYER_ORIENTATION_LANDSCAPE":"Orientace přehrávače uzamčená na šířku","PLAYER_ORIENTATION_SENSOR":"Automatická orientace hráče (senzor)","PLAYER_PLAYBACK_SPEED":"Rychlost přehrávání","PLAYER_PLAYBACK_ERROR":"Chyba přehrávání, zkuste to prosím znovu","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Neznámá chyba","PLAYER_PLAYBACK_ERROR_DEFAULT":"Je nám líto, ale toto video nelze přehrát pomocí {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Jazyky titulků","PLAYER_SUBTITLES_VARIANTS":"Varianty titulků","PLAYER_SUBTITLES_SETTINGS":"Nastavení titulků","PLAYER_SUBTITLES_DISABLED":"Titulky jsou vypnuty","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertikální pozice","PLAYER_SUBTITLES_LOADED":"Titulky načteny","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Vložené titulky načteny","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exkluzivní titulky načteny","PLAYER_SUBTITLES_LOADED_LOCAL":"Místní titulky načteny","PLAYER_SUBTITLES_LOADED_ORIGIN":"Titulky z {{origin}} načteny","PLAYER_PLAY":"Přehrát","PLAYER_PAUSE":"Pozastavit","PLAYER_NEXT_VIDEO":"Další video","PLAYER_MUTE":"Ztluimt","PLAYER_UNMUTE":"Zrušit ztlumení","PLAYER_OPEN_IN_EXTERNAL":"Otevřít v externím přehrávači","PLAYER_OPEN_IN_NPLAYER":"Otevřít v nPlayer","PLAYER_PLAY_IN":"Přehrát na {{device}}","PLAYER_LIVE":"Živě","PLAYER_NEXT_VIDEO_TITLE":"Další v pořadí přehrávání","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Další v pořadí","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Skrýt","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Sledovat nyní","PLAYER_COPY_STREAM_SUCCESS":"Odkaz na stream byl zkopírován do schránky","PLAYER_COPY_STREAM_ERROR":"Odkay na stream se nepodařilo zkopírovat","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Odkaz ke stažení byl zkopírován do vaší schránky","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Nepodařilo se kopírovat odkaz ke stažení","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streamování z","CASTING_TO":"Odesílání na","NETWORK_STATUS":"Stav sítě","STREAM_SPEED":"Rychlost streamu:","STREAM_BUFFERED":"Vyrovnávací paměť:","PEERS_INFO":"Informace o vrstevnících","PEERS_ACTIVE":"Používáno:","PEERS_CONNECTED":"Připojeno:","PEERS_WAITING":"Čekání:","TRANSCODING_WARNING":"Varování: překódování videa.","STREAM_LOADING":"načítám...","PLAYING_LOCAL":"přehrávání z místního souboru","PLAYING_CACHE":"přehrávání z mezipaměti","WRONG_SUBS":"Špatné titulky?","ERR_SUBS_LOADING_TITLE":"Chyba při načítání titulků","ERR_SUBS_LOADING":"Neúspěšné načítání titulků: může se jednat o problém s používaným doplňkem nebo se síťovým připojením","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Následující doplňky titulků selhaly","ERR_CASTING_UPDATE_TITLE":"Nelze aktualizovat informace o zařízení pro odlévání: streamovací server může být offline","CHOOSE_DEVICE":"Výběr zařízení, na kterém chcete sledovat","NO_CAST_DEVICES":"Žádné odlévací zařízení není k dispozici.","NO_SETTINGS":"Žádné nastavení není k dispozici.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Titulky","SUBTITLES_CHANGE":"Změna titulků pro","SUBTITLES_CHANGE_NONE":"Pro tento jazyk nejsou k dispozici žádné další titulky, omlouváme se.","SUBTITLES_CHANGE_ACIVE":"Aktuálně jsou aktivovány titulky #{{subtitlesDialog.activeIdx + 1}}. Kliknutím na \\"Pokračovat\\" aktivujete titulky #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Případně,","SUBTITLES_ADJUST_DELAY":"Nastavení zpoždění titulků:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Nebo můžete při přehrávání použít klávesy <span>G</span> / <span>H</span> pro nastavení.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: při hraní můžete použít klávesy <span>G</span> / <span>H</span> pro nastavení.","SUBTITLES_DELAY":"Zpoždění titulků:","SUBTITLES_LOADING":"Načítání titulků...","SUBTITLES_UNAVAILABLE":"Žádné externí titulky k dispozici","SUBTITLES_DISABLED":"Vypnuto","EXTERNAL_PLAYER_DISABLED":"Vypnuto","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Povolit výběr","EXTERNAL_PLAYER_HINT":"Tip: V nastavení lze zvolit přehrávání vždy v externím přehravači","DONT_SHOW_AGAIN":"Znovu nezobrazovat","SERVICE_INSTALL":"Nainstalovat","AUDIO":"Zvuk","DEFAULT_LANGUAGE":"Výchozí jazyk","DEFAULT_SECONDARY_LANGUAGE":"Výchozí sekundární jazyk","SEASON":"Série","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Epizoda","EPISODE_ABBREVIATION":"EP","SPECIAL":"Speciál","SORT":"řadit","SORT_BY":"Seřadit podle","FILTER":"filtr","SORT_TRENDING":"trendy","SORT_RECENT":"nedávné","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"hodnocení","SORT_WATCHED":"shlédnuto","SORT_YEAR":"rok","SELECT":"Select","SELECT_TYPE":"Vyberte typ","SELECT_SORT":"Vyberte řazení","SELECT_CATALOG":"Vyberte katalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Vyberte žánr","SORT_LASTWATCHED":"Podle posledních","SORT_NAME":"Podle názvu","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Podle počtu zhlédnutí","SORT_NOTWATCHED":"neshlédnuto","New for You":"Novinky pro vás","New Episodes":"Nové epizody","New Videos":"Nové videa","Recommendations":"Doporučení","LIBRARY_RESUME":"Pokračovat","LIBRARY_PLAY":"Přehrát","LIBRARY_DETAILS":"Detaily","LIBRARY_RESUME_DISMISS":"Skrýt","LIBRARY_CLEAR_PROGRESS":"Vymazat pokrok","LIBRARY_REMOVE":"Odebrat","LIBRARY_NOT_LOGGED_IN":"Knihovna je k dispozici pouze pro přihlášené uživatele","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Kalendář je k dispozici pouze pro přihlášené uživatele","NOT_LOGGED_IN_CLOUD":"Mějte přístup k svým oblíbeným filmům pořadům kdykoliv a kdekoli","NOT_LOGGED_IN_RECOMMENDATIONS":"Doporučení podle vaší historie sledování","NOT_LOGGED_IN_NOTIFICATIONS":"Nikdy nezmeškejte další díl","NOT_LOGGED_IN_CALENDAR":"Plánujte svůj osobní sledovací kalendář","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Doporučené","DISCOVER_TOP":"Nahoře","DISCOVER_OSCAR":"Vítězové Oscara","DISCOVER_WARNING_TITLE":"Jejda!","DISCOVER_EMPTY_CATALOG":"Tento doplněk vrátil prázdný obsah.","DISCOVER_ADULT_WARNING":"Obsah je viditelný pouze pro dospělé. Jste starší 18 let?","DISCOVER_NOADDON_WARNING":"Varování: pro tento typ není aktivní žádný doplněk Stremio. Zobrazuje uložené položky, nic se zde neaktualizuje.","DISCOVER_LOAD_ERR":"Obsah se nenačetl, došlo k chybě.","DISCOVER_ADDON_UNINSTALLED":"Tento obsah již není k dispozici, možná jste doplněk odinstalovali.","UNINSTALL_THIS_ADDON":"Odinstalování tohoto doplňku","ERR_ADDON_NOT_INSTALLED":"Tento doplněk není nainstalován. Nainstalovat nyní?","DETAIL_RECEIVE_NOTIF_SERIES":"Přijímání oznámení o nových epizodách","DETAIL_RECEIVE_NOTIF_VIDEOS":"Přijímání upozornění na nová videa","SIDEBAR_SHOW_STREAMS":"Ukázat zdroje","RELAUNCH":"Restartovat nyní!","UPGRADE":"Nová verze je k dispozici! Upgrade na nejnovější verzi Stremio","RELOAD_UI":"Opětovné načtení uživatelského rozhraní","MANUAL_UPDATE_TITLE":"Aktualizace verze aplikace Stremio","MANUAL_UPDATE_LINE1":"Používáte zastaralou verzi aplikace Stremio, doporučujeme aktualizovat.","MANUAL_UPDATE_LINE2":"Prosíme o co nejrychlejší aktualizaci.","BUTTON_UPDATE_LATTER":"Nyní ne","BUTTON_UPDATE_NOW":"Aktualizovat","UPDATER_TITLE":"Je k dispozivi nová verze Stremia","UPDATER_INSTALL_BUTTON":"Nainstalovat","ANONYMOUS_USER":"Anonymní uživatel","DONT_HAVE_ACC":"Nemáte účet?","HAVE_ACC":"Již máte účet?","PASSWORD":"Heslo","PASSWORD_CONFIRM":"Potvrďte heslo","EMAIL":"E-mail","FB_LOGIN":"Pokračovat na Facebooku","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nic není sdíleno bez vašeho souhlasu","FB_NOPOST":"Vaším jménem nic nezveřejníme","OR":"nebo","I_ACCEPT":"Přijímám","I_ACCEPT_BY_CLICKING":"Kliknutím na výše uvedené tlačítko stvrzuji, že souhlasím s tím, že","TOS":"Obchodní podmínky","MUST_ACCEPT_TERMS":"Musíte přijmout podmínky","PASSWORDS_NOMATCH":"Heslo se neshodují","SIGN_UP":"Registrovat se","SIGN_UP_EMAIL":"Zaregistrujte se pomocí e-mailu","CLICK_TO_SIGN_UP":"Klikněte zde a zaregistrujte se.","LOG_IN":"Přihlásit","LOG_OUT":"Odhlásit se","EXIT_FULLSCREEN":"Ukončení celoobrazovkového režimu","ENTER_FULLSCREEN":"Vstup do celoobrazovkového režimu","PLAY_URL_MAGNET_LINK":"Přehrát adresu URL / odkaz na magnet","HELP_FEEDBACK":"Nápověda a zpětná vazba","TERMS_OF_SERVICE":"Podmínky služby","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"O Stremio","USER_PANEL":"Uživatelský panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Přihlášení hosta","GUEST_LOGIN_NOTICE":"Přihlášení hosta se nedoporučuje. Použití běžného přihlášení umožňuje službě Stremio synchronizovat vaši knihovnu a přijímat oznámení o oblíbených seriálech/kanálech. Jste si jisti, že chcete pokračovat?","GUEST_LOGIN_NOTICE_2":"Přihlášení hosta se nedoporučuje - nebudete mít synchronizované oznámení o knihovně a nástěnce, což jsou důležité funkce aplikace Stremio. Jste si jisti, že chcete pokračovat?","CLICK_HERE":"klikněte sem","WRONG_PASSWORD":"Špatný e-mail nebo heslo. V případě, že jste zapomněli heslo,","SET_A_PASS":"nastavit heslo","RESET_PASSWORD":"Obnovit heslo","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Zapomenuté heslo?","EMAIL_USED_WITH_FB":"Tento e-mail byl použit s přihlášením na Facebook.","INVALID_EMAIL":"Zadejte prosím platnou emailovou adresu","INVALID_PASSWORD":"Zadejte prosím platné heslo","CONN_ERR":"Chyba připojení - zkuste to prosím později.\\n\\nPokud přetrvává, vypněte firewall/antivirový software (zejména Bitdefender).","IMPORT_FROM_GUEST":"Import knihovny z účtu hosta","RECEIVE_UPDATES_EMAIL":"Přijímání aktualizací do e-mailu od Stremio","LOGIN_FAILED":"Přihlášení se nezdařilo.","SIGNUP_FAILED":"Registrace se nezdařila.","SEARCH_FAILED":"Vyhledávání se nezdařilo","EMAIL_USED":"E-mail je už používán.","WAITING_FB_LOGIN":"Přihlášení pomocí Facebooku...","EXTERNAL_OPENING_YOUTUBE":"Opravdu chcete opustit Stremio a spustit YouTube?","EXTERNAL_OPENING_APP":"Opravdu chcete zavřít Stremio a otevřít jinou aplikaci?","EXTERNAL_PLAYER_TITLE":"Přehrávání v externím přehrávači","EXTERNAL_REMEMBER_PLAYER":"Chcete si svou volbu zapamatovat","EXTERNAL_ALWAYS_PLAY":"Ano","EXTERNAL_ONLY_ONCE":"Ne","BEST_FIT":"Automatické přizpůsobení","FIT_SCREEN":"Přizpůsobit obrazovce","FILL":"Vyplnit","16:9":"16:9","4:3":"4:3","Original":"Původní","INTRO_TASTE":"Řekněte nám, co se vám líbí","INTRO_TASTE_LONG":"Řekněte nám, co byste chtěli sledovat","INTRO_TASTE_PICK":"Vyberte {{interestsRemaining}} zájmy","INTRO_TASTE_PICK_MORE":"Vyberte {{interestsRemaining}} dalších zájmů","INTRO_TASTE_HELP_US":"Pomozte nám dozvědět se o vás více.","INTRO_TASTE_CHOOSE_THESE":"Vyberte si některé z nich:","INTRO_TASTE_CHOOSE_MIN":"Vyberte alespoň 3 kategorie","INTRO_TASTE_CHOOSE_MIN_ERR":"Musíte vybrat alespoň 3 kategorie!","INTRO_TASTE_LIFESTYLE":"Životní styl","INTRO_TASTE_SPORTS":"Sporty","INTRO_TASTE_FOOD_HEALTH":"Jídlo a zdraví","INTRO_TASTE_BEAUTY_FASHION":"Krása a móda","INTRO_TASTE_NEWS":"Novinky","INTRO_TASTE_GAMING":"Hry","INTRO_TASTE_SCIENCE_EDU":"Věda a vzdělávání","INTRO_TASTE_MUSIC":"Hudba","INTRO_TASTE_TRAVEL":"Cestování","INTRO_TASTE_LATE_NIGHT":"Pozdní noční show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedie","INTRO_TASTE_DIY":"Kutilství","INTRO_TASTE_TECH":"Technologie","INTRO_TASTE_CINEMA":"Kino","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Vybraný doplněk není na této platformě podporován.","ADDON_DISCLAIMER":"Používání doplňků třetích stran vždy podléhá vaší odpovědnosti a právním předpisům jurisdikce, ve které se nacházíte.","ADDON_ACTIVATE":"Aktivovat tento doplněk?","ADDON_REPO_ADD":"Adresa URL sbírky doplňků","ADDON_ADD":"Přidat","INSTALL_ADDON":"Instalovat doplněk","ADD_ADDON":"Přidat doplněk","ADD_ADDON_DESCRIPTION":"Nyní můžete přidat doplněk skrze externí odkaz, který se objeví pod nainstalovaným doplňkem.","PASTE_ADDON_URL":"Vložte URL adresu doplňku","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Co je nového","BUTTON_CONTINUE":"Pokračovat","BUTTON_ACTIVATE":"Aktivovat","BUTTON_ACTIVATED":"Aktivovaný","BUTTON_CANCEL":"Zrušit","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Odeslat","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Odmítnout vše","BUTTON_VIEW_ALL":"zobrazit vše","BUTTON_SEE_ALL":"Zobrazit vše","BUTTON_COLOR_TRANSPARENT":"Průhledné","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Otevřít v prohlížeči","LIB_EMPTY":"Vaše knihovna vypadá prázdně. Zjistěte, jak je užitečná :)","HOW_START":"Zde je návod, jak začít:","LIB_EMPTY_CAL":"V kalendáři se zobrazují série ve vaší knihovně.","HOW_START_CAL":"Zde je návod, jak můžete přidávat série:","LIB_EMPTY_BOARD":"Tabule zobrazuje oznámení & doporučení týkající se vaší knihovny.","HOW_START_BOARD_WAIT":"Prosím, přidejte do své knihovny několik seriálů nebo kanálů a dejte nám pár minut na zpracování :)","HOW_START_BOARD":"Zde je návod, jak do něj můžete přidat seriály & filmy:","IMPORT_FB":"Import věcí, které se vám líbí, ze <span>služby Facebook</span>","IMPORT_TRAKT":"Import knihovny médií ze <span>služby Trakt</span>","IMPORT_DISCOVER":"Najděte zajímavé věci ze služby <span>Discover</span>","IMPORT_DISK":"Importovat filmy nebo pořady, které máte na <span>místním disku</span>","PLEASE_CREATE_ACC":" <u>Vytvořte si účet</u>, abyste mohli synchronizovat knihovnu a tabuli.","IMPORT_DISCOVER_SIGNUP":"Zaregistrujte se a najděte zajímavé věci z <span>Discover</span>","IMPORT_DISK_SIGNUP":"Zaregistrujte se a importujte filmy nebo pořady, které máte na <span>místním disku</span>","LIB_EMPTY_CLOUD":"Cloudová knihovna","LIB_EMPTY_CLOUD_DESC":"Osobní cloudová knihovna synchronizovaná na všech zařízeních","LIB_EMPTY_EARLY":"Ranní ptáče","LIB_EMPTY_EARLY_DESC":"Přijímání oznámení o nových epizodách","LIB_EMPTY_PERSONAL":"Osobní","LIB_EMPTY_PERSONAL_DESC":"Získejte osobní doporučení","LIB_EMPTY_CALENDAR_DESC":"Naplánujte si osobní kalendář sledování","LIB_EMPTY_ALL":"Zaregistrujte se a získejte je všechny:","LIB_EMPTY_BEST":"Zaregistrujte se a získejte to nejlepší ze Stremio","LIB_EMPTY_OTHER":"Zaregistrujte se a povolte Kalendář a další skvělé funkce","CALENDAR_ADDED":"Kalendář Stremio byl přidán do vašeho výchozího kalendáře na ploše.","CALENDAR_ADDED_MSG":"Pokud to nefunguje, přidejte tuto adresu URL do aplikace kalendáře ručně","TRAKT_EXPIRED":"Platnost ověření Traktu vypršela, přejděte prosím do Nastavení a znovu se ověřte","TRAKT_REQUIRES_LOGIN":"Chyba traktu","TRAKT_REQUIRES_LOGIN_MSG":"Musíte se přihlásit","TRAKT_IMPORT_WATCHED":"Importovat","THEME":"Vzhled","THEME_DEFAULT":"Výchozí","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Nastavení","SETTINGS_NAV_GENERAL":"Obecné","SETTINGS_NAV_PLAYER":"Přehravač","SETTINGS_NAV_STREAMING":"Streamování","SETTINGS_NAV_SHORTCUTS":"Zkratky","SETTINGS_SHORTCUT_RELOAD_APP":"Obnovit aplikaci","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Otevřít nastavení","SETTINGS_SHORTCUT_SWITCH_TABS":"Přepnout záložky","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Procházet záložky dopředu","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Procházet záložky dozadu","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigovat mezi nabídkami","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Přejít na vyhledávání","SETTINGS_SHORTCUT_EXIT_BACK":"Ukončit / Zpět","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Přepnout menu rychlosti přehrávání","SETTINGS_SHORTCUT_MENU_VIDEOS":"Přepnout menu videí","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Přepnout menu titulků","SETTINGS_SHORTCUT_MENU_AUDIO":"Přepnout menu zvuku","SETTINGS_SHORTCUT_MENU_INFO":"Přepnout menu informací","SETTINGS_SHORTCUT_FULLSCREEN":"Přepnout na celou obrazovku","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Zobrazit ovládací prvky","SETTINGS_SHORTCUT_PLAY_PAUSE":"Přehrát / Pozastavit","SETTINGS_SHORTCUT_VOLUME_UP":"Zvýšit hlasitost","SETTINGS_SHORTCUT_VOLUME_DOWN":"Snížit hlasitost","SETTINGS_SHORTCUT_SEEK_NEXT":"Hledat další","SETTINGS_SHORTCUT_SEEK_PREV":"Hledat předchozí","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Hledat dozadu","SETTINGS_SHORTCUT_SEEK_FORWARD":"Hledat vpřed","SETTINGS_SHORTCUT_PLAY_NEXT":"Přehrát další","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Zvětšit titulky","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Zmenšit titulky","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Zvýšit zpoždění titulků","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Snížit zpoždění titulků","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Přepnout postranní panel","SETTINGS_SHORTCUT_OR":"nebo","SETTINGS_SHORTCUT_TO":"až","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Mezerník","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autentifikovat","SETTINGS_FACEBOOK_IMPORT":"Importovat","SETTINGS_CALENDAR_SUBSCRIBE":"Přihlásit se k odběru","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Aplikace kalendáře byla otevřena. Přidejte kalendář manuáně.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Soubor kalendáře byl stažen. Přidejte kalendář manuálně.","SETTINGS_INTERFACE_LANGUAGE":"Jazyk uživatelského rozhraní","SETTINGS_LAUNCH_STARTUP":"Spustit při spuštění","SETTINGS_VLC_DEFAULT":"Přehrát pomocí VLC","SETTINGS_UI_LANGUAGE":"Jazyk uživatelského rozhraní","SETTINGS_UI_ZOOM":"Přiblížení rozhraní","SETTINGS_FULLSCREEN_EXIT":"Klávesa ESC ukončí celou obrazovku","SETTINGS_GAMEPAD":"Povolení podpory gamepadu","SETTINGS_CLOSE_WINDOW":"Zavření aplikace při zavření okna","SETTINGS_SUBTITLES_LANGUAGE":"Výchozí jazyk titulků","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Sekundární jazyk titulků","SETTINGS_SUBTITLES_SIZE":"Výchozí velikost titulků","SETTINGS_SUBTITLES_BACKGROUND":"Pozadí titulků","SETTINGS_SUBTITLES_COLOR":"Barva titulků","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Barva obrysu titulků","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Barva pozadí titulků","SETTINGS_SEEK_KEY":"Klávesy se šipkami vyhledaávají čas","SETTINGS_SEEK_KEY_SHIFT":"Klávesy se šipkami vyhledaávají čas při podržení klávesy Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Délka přetáčení vpřed a vzad","SETTINGS_BINGE":"Automatické přehrávání další epizody","SETTINGS_NEXT_VIDEO":"Upozornění na spuštění další epizody","SETTINGS_NEXT_VIDEO_TRIGGER":"Zobrazit upozornění na další epizodu:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Doba zobrazení upozornění na další video","SETTINGS_PLAY_IN_BACKGROUND":"Přehrát na pozadí","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Spustit v externím přehrávači","SETTINGS_RESIZE":"Automatická změna velikosti okna před přehráváním","SETTINGS_OVERRIDE_SERVER":"Přepsání adresy URL streamovacího serveru (pro pokročilé)","SETTINGS_SERVER_ADD_URL":"Přidat URL","SETTINGS_SERVER_URL":"Adresa URL streamovacího serveru","SETTINGS_SERVER_AVAILABLE":"Streamovací server je k dispozici.","SETTINGS_SERVER_UNAVAILABLE":"Streamovací server není k dispozici.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Nastavení URL streamovacího serveru","SETTINGS_SERVER_CONFIGURE_INPUT":"Zadejte adresu URL streamovacího serveru","SETTINGS_SERVER_CACHE_SIZE":"Velikost mezipaměti","SETTINGS_SERVER_TORRENT_PROFILE":"Profil torrentu","SETTINGS_HTTPS_ENDPOINT":"Koncový bod HTTPS pro streamování","SETTINGS_TRANSCODE_PROFILE":"Profil transkódování","SETTINGS_USE_BETA":"Vždy používejte nejnovější betaverzi","SETTINGS_IMPORT_FB":"Import ze služby Facebook","SETTINGS_IMPORT_DISK":"Import z místního disku","SETTINGS_IMPORT_TRAKT":"Import ze služby Trakt","SETTINGS_PAUSE_MINIMIZED":"Pozastavení přehrávání při minimalizaci","SETTINGS_HWDEC":"Hardwarově akcelerované dekódování","SETTINGS_BACKGROUND":"Přehrávání na pozadí","SETTINGS_SUBSCRIBE_CALENDAR":"Přihlásit se k odběru kalendáře","SETTINGS_REQ_EXPORT":"Žádost o export dat","SETTINGS_ACC_DELETE":"Žádost o odstranění účtu","SETTINGS_CHANGE_PASSWORD":"Změnit heslo","SETTINGS_TOS":"Podmínky služby","SETTINGS_SUPPORT":"Kontaktovat podporu","SETTING_LANGUAGE":"Jazyk","SETTINGS_BLUR_UNWATCHED_IMAGE":"Rozmazat neshlédnuté epizody","SETTINGS_QUIT_ON_CLOSE":"Vypnout aplikaci při zavření okna","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Přihlásit se znovu","SETTINGS_TRAKT_LOGOUT":"Odhlášení z Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Odhlášení z Trakt","SETTINGS_SCAN_FOR_REMOTE":"Naskenujte QR kód pro otevření dálkového ovládání","SETTINGS_DESKTOP_NOTIFICATIONS":"Oznámení na ploše","SETTINGS_DATA_SAVER":"Spořič dat","SETTINGS_LANGUAGE_INTERFACE":"rozhraní","SETTINGS_LANGUAGE_SUBS":"výchozí titulky","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Automatický výběr zvukové stopy","SETTINGS_DEFAULT_AUDIO_TRACK":"Výchozí zvuková stopa","SETTINGS_SECONDARY_AUDIO_TRACK":"Sekundární zvuková stopa","SETTINGS_SURROUND_SOUND":"Prostorový zvuk","SETTINGS_ACCOUNT":"účet","SETTINGS_PLATFORM":"Platforma","SETTINGS_VERSION":"verze","SETTINGS_ABOUT":"O aplikaci","SETTINGS_MPV_WINDOW":"Spuštění přehrávače v samostatném okně (pokročilé)","SETTINGS_PLAY_IN_EXTERNAL":"Vždy spustit video v externím přehrávači","SETTINGS_STORAGE_BUTTON":"Vymazat lokální mezipaměť","SETTINGS_STORAGE_MODAL_TITLE":"Jste si jisti?","SETTINGS_STORAGE_MODAL_MESSAGE":"Tato akce odstraní lokální mezipaměť a odhlásí Vás","SETTINGS_HWDEC_PICKER":"Vyberte nastavení hardwarově akcelerovaného dekódování","SETTINGS_HW_AUTOMATIC":"Automaticky","SETTINGS_HW_DISABLED":"Vypnuto","SETTINGS_HW_ACCELERATED":"Akcelerace dekódování","SETTINGS_HW_FULL":"Plná akcelerace","SETTINGS_HW_LEGACY":"Zastaralá","SETTINGS_DISABLED":"Vypnuto","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Zásady ochrany osobních údajů","MOBILE_CRASH_REPORTING":"Hlášení pádů aplikace","MOBILE_ZOOM_TO_FILL":"Vyplnit","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Běh při nízkém nabití","MOBILE_RUN_FOREGROUND":"Běh na pozadí","MOBILE_PERFORMANCE":"VÝKON","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Odejít","CONNECTED":"Připojeno","AUTHENTICATE":"Ověřit","AUTHENTICATING":"Authenticating...","CACHING":"Mezipaměť","SETTINGS_CACHING_DRIVE":"Jednotka mezipaměti","ENABLE_LOCAL_FILES_ADDON":"Povolení doplňku pro místní soubory (vyžaduje restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Povolení vzdálených připojení HTTPS","TORRENT_PROFILE":"Profil Torrent","DATA_CACHING":"Ukládání dat do mezipaměti","MAGNET_PARSING":"Rozbor odkazu magnetu","January":"Leden","February":"Únor","March":"Březen","April":"Duben","May":"Květen","June":"Červen","July":"Červenec","August":"Srpen","September":"Září","October":"Říjen","November":"Listopad","December":"Prosinec","Monday":"Pondělí","Tuesday":"Úterý","Wednesday":"Středa","Thursday":"Čtvrtek","Friday":"Pátek","Saturday":"Sobota","Sunday":"Neděle","Action":"Akce","Comedy":"Komedie","War":"Válka","Family":"Rodina","Animation":"Animace","Adventure":"Dobroudružná hra","Fantasy":"Fantasy","Crime":"Zločin","Mystery":"Záhada","Romance":"Romantické","Drama":"Drama","Horror":"Horory","Thriller":"Thriller","Sci-Fi":"Sci-fi","Music":"Hudba","Biography":"Životopis","Documentary":"Dokumentární film","Sport":"Sport","Musical":"Hudební","Western":"Západní","Film-Noir":"Film-noir","News":"Novinky","History":"Historie","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film a zábava","Gaming":"Hry","From TV":"Z televize","Lifestyle":"Životní styl","Science & Education":"Věda a vzdělávání","Cooking & Health":"Vaření a zdraví","Beauty & Fashion":"Krása a móda","Sports":"Sporty","News & Politics":"Zprávy a politika","How-to & DIY":"Jak na to & Udělej si sám","Tech":"Tech","Automotive":"Automobilový průmysl","Causes & Non-Profits":"Kauzy a neziskové organizace","Movies":"Filmy","Uk Live Tv":"Spojené království Živá televize","Fashion":"Móda","Business News Radio":"Business News Radio","Business Tv":"Obchodní televize","Cars & Auto":"Automobily a auta","Comedy Radio":"Komediální rádio","Lifestyle Radio":"Rádio životního stylu","News Tv":"Zpravodajská televize","Food And Wine":"Jídlo a víno","Latino Tv":"Latinskoamerická televize","Shopping Tv":"Nákupní televize","Religion":"Náboženství","Kids":"Děti","Body & Soul":"Tělo a duše","Education":"Vzdělání","Indian Tv":"Indická televize","Extreme Sports":"Extrémní sporty","Middle Eastern Tv":"Blízkovýchodní televize","Celebrity Tv":"Celebrity Tv","Science Tv":"Vědecká televize","Bikini babe":"Kočka v bikinách","Outdoors":"Venku","German Tv":"Německá televize","French Tv":"Francouzská televize","Italian Tv":"Italská televize","Gamer Tv":"Gamer Tv","Travel":"Cestovní kancelář","Asian Tv":"Asijská televize","Entertainment":"Zábava","News Radio":"Zpravodajské rádio","Music Radio":"Hudební rádio","Language Learning":"Výuka jazyků","Science Radio":"Vědecké rádio","Tech Radio":"Tech Radio","Science & Technology Vod":"Věda a technika Vod","new video":"nové video","new episode":"nová epizoda","new movie":"nový film","recommended":"doporučené","we recommend":"doporučujeme","offer of the day":"nabídka dne","news":"novinky","music video":"hudební video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Odmítnutí oznámení","CTX_DISMISS_ALL":"Odmítnout všechny","CTX_SHARE":"Sdílet","CTX_COPY_SHARE_LINK":"Kopírovat odkaz na sdílení","CTX_COPY_MAGNET_LINK":"Kopírovat odkaz na magnet","CTX_COPY_STREAM_LINK":"Kopírovat odkaz na stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Stáhněte si toto video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Zobrazit","CTX_PLAY":"Přehrát","CTX_PLAY_IN":"Přehrát v","CTX_PLAY_ON":"Přehrát na","CTX_WATCH_ON":"Sledujte na","CTX_WATCH":"Sledovat","CTX_WATCHED":"Sledováno","CTX_WATCH_BEGINNING":"Sledujte od začátku","CTX_WATCH_MOBILE":"Sledování na mobilním zařízení","CTX_REWIND":"Přetočení na začátek","CTX_MARK_WATCHED":"Označit jako sledované","CTX_MARK_NON_WATCHED":"Označit jako nesledované","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Zbytek označte jako sledovaný","CTX_UNMARK_REST":"Zbytek označte jako nesledovaný","CTX_RECEIVE_NEW_NOTIF":"Přijímání nových oznámení","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Odstranění z mezipaměti","CTX_REMOVE_CACHE_EP":"Odstranění epizody z mezipaměti","CTX_OPEN_CONTAINING":"Otevřít složku obsahující","CTX_REMOVE":"Odebrat z knihovny","CTX_AVAILABLE_OFFLINE":"Dostupné offline","CTX_PAUSED":"Pozastaveno","CTX_ALWAYS_ON_TOP":"Vždy na vrcholu","CTX_FULLSCREEN":"Celá obrazovka","CTX_WRONG_SUBS":"Špatné titulky?","CTX_REPORT_ISSUES":"Nahlásit problém","CTX_COPY":"Kopírovat","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Vložit","CTX_CLEAR":"Vymazat","CTX_CLEAR_RECENT_SEARCHES":"Vymazat poslední vyhledávání","HELLO_THERE":"Dobrý den","HOPE_YOU_ENJOY":"Doufáme, že se vám Stremio bude líbit a že se stane jednou z vašich oblíbených aplikací!","WHO_ARE_WE":"Kdo jsme? Jsme tým, který za tím stojí - dva kluci, kteří už tři roky každý den tvrdě pracují na tom, aby byl tento produkt stále lepší a lepší.","SUPPORT_US":"Pokud se vám Stremio líbí, pokud je pro vás Stremio přínosné - šiřte tuto informaci dál!","SPREAD_THE_WORD":"Sdílejte se svými přáteli, rozšiřte informace o Stremiu","MORE_PEOPLE":"Čím více lidí bude Stremio používat, tím lepší bude!","SEND_A_LINK":"Nebo pošlete odkaz na naše webové stránky","TIP_LOCALFILES":"Tip: do aplikace Stremio můžete přetáhnout místní video soubory","ADDON_MY":"Moje doplňky","ADDON_COMMUNITY":"Doplňky komunity","ADDON_OFFICIAL":"Oficiální doplňky","ADDON_REPOS":"Sbírky doplňků","ADDON_SEARCH":"Vyhledávání doplňků","ADDON_INSTALL":"Instalovat","ADDON_CONFIGURE":"Konfigurovat","ADDON_UNINSTALL":"Odinstalovat","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Nainstalováno","ADDON_INSTALLED_MSG":"Addon nainstalován!","ADDON_UPGRADED_MSG":"Addon upgradován!","ADDON_UNKNOWN":"Neznámý","ADDON_ERR":"Chyba při instalaci doplňku!","ADDON_DISCONNECTED":"Odpojeno","ADDON_APP_MISSING":"aplikace pro tento zdroj není nainstalována. Chcete ji nyní nainstalovat?","ADDON_APP_INSTALL":"Nainstalovat nyní","ADDON_PAGE":"Stránka doplňku","ADDON_TOP_CONTENT":"To nejlepší z tohoto doplňku","ADDON_PROVIDES":"Tento doplněk vám poskytne:","ADDON_WATCH":"Sledujte #{types} nyní!","ADDON_WATCH_FREE":"Sledujte #{types} nyní ZDARMA!","ADDON_ADDON":"Doplněk","ADDON_SUPPORTED_TYPES":"Podporované typy","ADDON_SUPPORTED_CATALOGS":"Podporované katalogy","ADDON_PROVIDES_DISCOVER":"Další #{types} v aplikaci Discover","ADDON_PROVIDES_STREAMS":"Sledujte #{types}","ADDON_PROVIDES_STREAMS_FREE":"Sledujte #{types} ZDARMA","ADDON_PROVIDES_SUBTITLES":"Titulky pro #{types}","ADDON_CANTDETECT":"Nepodařilo se nám zjistit spuštěné Stremio, takže jsme nemohli zjistit, jaké máte nainstalované doplňky.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"O tomto nebyly nalezeny žádné informace","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Chyba při načítání informací o tomto.","ERR_CANT_PARSE_MAGNET":"Nelze analyzovat magnet","ERR_NO_MAGNET_INFOHASH":"Žádný platný informační hash pro magnet","ERR_NO_FILE_PATH":"Nelze odeslat požadavek bez cesty k souboru","ERR_NO_TORRENT":"Žádný torrent se nevrátil","ERR_NO_SUPPORTERD_FILES":"Nebyly nalezeny žádné podporované soubory","ERR_OPENING_FILES":"Nelze otevřít externí soubory","ERR_INVALID_LINK":"Neplatný odkaz","ERR_REGISTERED_ONLY":"Tato možnost je k dispozici pouze pro registrované uživatele.","ERR_CLIPBOARD":"Nelze přehrávat ze schránky","ERR_CLIPBOARD_READ":"Na této platformě nelze číst schránku","ERR_CLIPBOARD_GENERIC":"Ve schránce nebyla nalezena žádná přehrávatelná adresa URL. Zkopírujte prosím adresu URL (např. odkaz na magnet) na video.","BOARD_CONTINUE_WATCHING":"Pokračovat ve sledování","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmy vybrané speciálně pro vás.<br />Tento film je ukázkovým doporučením.","BOARD_EXPLANATION_EPISODES":"Zde se objevují nové epizody vašich oblíbených seriálů.<br />Přidejte si sledované seriály do své knihovny.","BOARD_EXPLANATION_VIDEOS":"Zde se objevují nové epizody vašich oblíbených kanálů.<br />Přidejte si sledované kanály YouTube do své knihovny.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Sledujte okamžitě","WEBSITE_SLOGAN_ALL":"Veškerý videoobsah, který si užíváte, na jednom místě","WEBSITE_SLOGAN_NEW":"Vše, co můžete sledovat","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Sledujte od","WEBSITE_DOWNLOAD":"Stáhnout nyní","WEBSITE_DOWNLOAD_FOR":"Stáhnout nyní pro","WEBSITE_IS_DESKTOP":"Stremio je aplikace pro stolní počítače, otevřete tuto stránku v počítači a stáhněte si ji","WEBSITE_DESKTOP_DEMO_VID":"Demonstrační verze pro stolní počítače","WEBSITE_PAGE_HOME":"Domů","WEBSITE_PAGE_FEATURES":"Vlastnosti","WEBSITE_PAGE_ADDONS":"Doplňky","WEBSITE_PAGE_TECH":"Technologie","WEBSITE_PAGE_CREATE_ADDON":"Vytvořit doplněk","WEBSITE_PAGE_CONTACTS":"Kontakty","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmy","WEBSITE_TYPE_series_PL":"Seriály","WEBSITE_TYPE_tv":"Živý televizní přenos","WEBSITE_TYPE_channel":"Kanály","WEBSITE_STREMIO_WHAT_IS":"Stremio je aplikace, která vám pomůže uspořádat a okamžitě sledovat vaše oblíbená videa, filmy, seriály a televizní kanály.","WEBSITE_FEATURES_WATCH":"Sledujte okamžitě v HD","WEBSITE_FEATURES_WATCH_DETAIL":"Klikněte a přehrávejte své oblíbené filmy, televizní pořady, videa a televizní kanály.","WEBSITE_FEATURES_SUBS":"Automatické titulky","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automaticky vybere synchronizované titulky pro váš jazyk.","WEBSITE_FEATURES_SUBS_LABEL":"Váš tah, šéfe.","WEBSITE_FEATURES_CAST":"Přehrávání na televizoru a mobilních zařízeních","WEBSITE_FEATURES_CAST_DETAIL":"Cast na AppleTV, Chromecast, Smart TV (DLNA/UPnP) a mobilní zařízení.","WEBSITE_LIB":"Užívejte si svou osobní knihovnu synchronizovanou na všech zařízeních","WEBSITE_LIB_COLLECT":"Sbírat od Stremio","WEBSITE_LIB_IMPORT":"Import ze služby Facebook","WEBSITE_LIB_LOCAL":"Přidání z místní jednotky","WEBSITE_BOARD":"Rada - Vaše jediné místo pro oznámení a doporučení","WEBSITE_BOARD_RECOMMEND":"Doporučený televizní pořad","WEBSITE_BOARD_TRENDING":"Trendy film","WEBSITE_BOARD_NEW":"Nové video","WEBSITE_BOARD_EPISODE":"Nová epizoda","WEBSITE_BOARD_1":"Hledáte něco zajímavého ke sledování? Získejte doporučení podle svého vkusu!","WEBSITE_BOARD_2":"Nechte se upozornit na nový díl svého oblíbeného televizního pořadu nebo kanálu YouTube!","WEBSITE_BOARD_YOUTUBE":"Nová videa kanálů YouTube","WEBSITE_BOARD_EPISODES":"Nové epizody seriálů, které sledujete","WEBSITE_ADDONS":"Doplňky obsahu","WEBSITE_TECH_DETAIL":"Milujeme technologie, milujeme šílenou vědu!\\nStremio používá následující open source technologie:","WEBSITE_TECH_WCJS":"WebChimera.js umožňuje službě Stremio přehrávat jakýkoli formát videa s dobrým výkonem.","WEBSITE_TECH_WCJS_EXTRA":"Jsme hlavními přispěvateli projektu","WEBSITE_TECH_ELECTRON":"Electron poskytuje inovativní platformu, na které lze vytvořit Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Jsme přispěvatelé projektu","WEBSITE_TECH_LINVODB":"Databázová technologie, která zajišťuje, že vaše data jsou uspořádaná a dostupná kdekoli, kde se přihlásíte.","WEBSITE_TECH_LINVODB_EXTRA":"Vlastní technologie","WEBSITE_CREATE_ADDON":"Vytvoření doplňku","WEBSITE_CREATE_ADDON_DETAIL":"Máte službu poskytující videoobsah? Pomůžeme vám využít funkce Stremio vytvořením vašeho doplňku.","WEBSITE_CREATE_ADDON_BENEFITS":"Výhody vytvoření doplňku pro Stremio","WEBSITE_P2P_BEAUTY":"Krása peer-to-peer streamování","WEBSITE_P2P_1":"Spolehlivé a cenově dostupné video v rozlišení Full HD / 4K na vyžádání nebo živé vysílání","WEBSITE_P2P_2":"Distribuční platforma poskytující skvělý uživatelský zážitek","WEBSITE_P2P_3":"Vytvoříme doplněk, který bude přesně odpovídat vašim potřebám","WEBSITE_P2P_CONTACT":"Máte zájem? Můžete <a href=\'mailto:office@stremio.com\'>nás kontaktovat</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Rádi vám pomůžeme s integrací vašeho obsahu do služby Stremio!","WEBSITE_P2P":"Jednou za čas se objeví technologie, která změní název hry. Investovali jsme spoustu času a úsilí do vytvoření našeho enginu pro streamování videa P2P (Peer-to-Peer), který poskytuje skvělý výkon a všestrannost, aby se přizpůsobil jakémukoli případu použití.\\nKontaktujte nás pro P2P video na vyžádání nebo živé streamování s podporou DRM.","WEBSITE_THOUGHTS":"Myšlenky, které sdílíme:","WEBSITE_SPREAD":"Šíření informací o Stremio:","WEBSITE_CONTACT":"Kontaktujte nás, budeme rádi, když se nám ozvete!","WEBSITE_OPENSOURCE":"Naše projekty s otevřeným zdrojovým kódem naleznete na adrese","WEBSITE_BITCOIN":"Darujte bitcoin:","WEBSITE_FAQ":"Nejčastější dotazy","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Otázky","WEBSITE_TOS":"Podmínky použití","WEBSITE_LEGAL":"Právo","WEBSITE_PAGE_ABOUT":"O nás","WEBSITE_PAGE_BECOME_PARTNER":"Staňte se partnerem","WEBSITE_ALL_YOU_CAN_WATCH":"Svoboda sledování\\nVše, co chcete.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Co je stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio je komplexní centrum pro agregaci video obsahu. Objevujte, organizujte a sledujte videa ze všech zdrojů na jakémkoli zařízení, které vlastníte.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmy, televizní pořady, seriály, živé televizní vysílání nebo webové kanály jako YouTube a Twitch.tv - to vše najdete na Stremiu.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio je moderní multimediální centrum, které představuje komplexní řešení pro vaši videozábavu. Objevujete, sledujete a organizujete videoobsah ze snadno instalovatelných doplňků.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmy, televizní pořady, živé vysílání nebo webové kanály - to vše najdete na Stremiu.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Užívejte si na všech svých multimediálních zařízeních","WEBSITE_DEVICES_COLLECT":"Sbírat od Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import z facebooku","WEBSITE_DEVICES_LOCAL":"Přidání z místní jednotky","WEBSITE_JOIN_THE_PARTY_NOW":"Připojte se k večírku nyní","WEBSITE_DEVICES_ALL":"Snadné použití na všech zařízeních;","WEBSITE_EXTENDABLE_CATALOG":"Nekonečně rozšiřitelný katalog videa;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Skvělé funkce pro organizaci médií;","WEBSITE_AS_SEEN_ON":"Neviděno","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"O nás","WEBSITE_LINK_TECHNOLOGY":"Technologie","WEBSITE_LINK_APPS":"Aplikace","WEBSITE_LINK_DOWNLOADS":"Stahování","WEBSITE_MORE":"Více","WEBSITE_LINK_ADDONS":"Doplňky","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Přispět","WEBSITE_LINK_COMMUNITY":"Komunita","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"Dnes již máte procvičeno. Buď přidejte více karet, nebo začněte znovu zítra.","WEBSITE_LINK_HELP":"Centrum nápovědy","WEBSITE_LINK_CONTACTS":"Obchodní dotazy","WEBSITE_LINK_TOS":"Podmínky a pravidla","WEBSITE_LINK_PRAVACY":"Zásady ochrany osobních údajů","WEBSITE_SUBSCRIBE":"Odebírat","WEBSITE_NEWSLETTER":"Připojte se k našemu zpravodaji pro úžasné věci","WEBSITE_PLACEHOLDER_EMAIL":"Váš e-mail","WEBSITE_COMMUNITY":"Komunita","WEBSITE_LINK_PRAVACY_LEGAL":"Ochrana soukromí a právní předpisy","WEBSITE_WHY":"Proč to děláme","WEBSITE_WHY_P1":"Ve Stremio chodíme každý den do práce, protože chceme vyřešit důležitý problém pro odvětví videa na vyžádání. Každou minutu je zveřejněno tolik nového obsahu, že je prakticky nemožné se v něm zorientovat.","WEBSITE_WHY_P2":"Pomáháme lidem orientovat se v obrovském světě video zábavy a objevovat nový obsah. Naše aplikace sdružují filmy, seriály, živé televizní vysílání, webové kanály a další. Snažíme se uživatelům neuvěřitelně usnadnit vyhledávání oblíbených titulů a televizních stanic.","WEBSITE_WHY_P3":"Naši službu můžete používat na jakémkoli zařízení a kdykoli, takže Stremio je jediné centrum video zábavy, které kdy budete potřebovat.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"Tým Stremio je malý, ale výkonný: deset z nás programuje v X jazycích a sdílíme odborné znalosti v oblasti vývoje softwaru, designu uživatelského rozhraní a UX, marketingu a reklamy a podnikání a startupů.","WEBSITE_FEATURES":"Vlastnosti","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Snadné objevování nového obsahu","WEBSITE_FEATURES_DISCOVER_P":"Snadno objevujte nové filmy, televizní pořady, seriály a kanály ke sledování. Procházejte podle kategorie, žánru, hodnocení, oblíbenosti atd. nebo jednoduše zadejte název a vyhledejte. Se službou Stremio je vyhledávání nového videoobsahu hračka.","WEBSITE_FEATURES_ALL_CONTENT":"Veškerý video obsah na jedné obrazovce","WEBSITE_FEATURES_ALL_CONTENT_P1":"Podívejte se, které filmy, seriály nebo videa jste nedokoukali, a pokračujte v jejich sledování, nechte si posílat upozornění na nové epizody a novinky a procházejte doporučení, která dostanete na základě svých diváckých návyků.","WEBSITE_FEATURES_LIBRARY":"Uspořádejte svou knihovnu videí","WEBSITE_FEATURES_LIBRARY_P1":"Jedním kliknutím přidáte do knihovny Stremio libovolný titul a můžete se orientovat v obsahu, který je přehledně uspořádán podle typu, aktuálnosti nebo abecedního pořadí.","WEBSITE_FEATURES_CALENDAR":"Sledujte vše, co sledujete","WEBSITE_FEATURES_CALENDAR_P1":"Získejte vizualizaci všech filmů a seriálů, které přidáte do své knihovny, v kalendáři. Exportujte svůj kalendář Stremio a synchronizujte jej, abyste vždy věděli, kdy se má objevit nová epizoda nebo premiéra.","WEBSITE_FEATURES_BIG_SCREEN":"Vychutnejte si video obsah na větší obrazovce","WEBSITE_FEATURES_BIG_SCREEN_P1":"Jediným kliknutím můžete přehrát cokoli, co sledujete, do jiného zařízení - telefonu, tabletu nebo televizoru.","WEBSITE_FEATURES_SOURCES":"Sledování videí z mnoha různých zdrojů","WEBSITE_FEATURES_SOURCES_P":"Nainstalujte si oficiální a komunitní doplňky, abyste si mohli vychutnat videa od mnoha různých poskytovatelů - to vše v jedné elegantní a snadno použitelné aplikaci.","WEBSITE_CREATE_AN_ADDON":"Vytvoření doplňku","WEBSITE_FEATURES_SYNC":"Synchronizace knihovny mezi různými zařízeními a obnovení přehrávání","WEBSITE_FEATURES_SYNC_P1":"Přihlaste se pomocí svého účtu do všech zařízení a užívejte si synchronizovanou knihovnu, doplňky, přehrávání a kalendář.","WEBSITE_FEATURES_EXTENDABLE":"Rozšiřitelný katalog videí pomocí doplňků","WEBSITE_FEATURES_EXTENDABLE_P1":"Katalog doplňků Stremio nabízí řadu doplňků, které si můžete nainstalovat a sledovat z nich nejrůznější videoobsah. Patří sem filmy, seriály, živé televizní vysílání, sport, zprávy, podcasty, webové kanály, videohry a další.","WEBSITE_FEATURES_AUTO_SUBS":"Automatické titulky","WEBSITE_FEATURES_AUTO_SUBS_P1":"S našimi doplňky titulků získáte automaticky vybrané možnosti pro preferovaný jazyk.","WEBSITE_FEATURES_CHROMECAST":"Casting do Chromecastu","WEBSITE_FEATURES_CHROMECAST_P1":"Vychutnejte si videoobsah na větší obrazovce nebo jen přenášejte sledované video do jiného zařízení.","WEBSITE_FEATURES_KEEP_TRACK":"Sledování oblíbených televizních pořadů a webových kanálů","WEBSITE_FEATURES_KEEP_TRACK_P1":"Získejte vizualizaci kalendáře a upozornění na nové epizody oblíbených seriálů a webových kanálů.","WEBSITE_FEATURES_POWER_USER":"Funkce pro výkonné uživatele","WEBSITE_FEATURES_POWER_USER_P1":"Přehrávání v externím přehrávači","WEBSITE_FEATURES_POWER_USER_P2":"Přehrávání ze souboru torrent nebo odkazu magnet","WEBSITE_FEATURES_POWER_USER_P3":"Import do knihovny ze služby Facebook likes nebo z místního disku","WEBSITE_ADD_ONS":"Doplňky","WEBSITE_ADD_ONS_P1":"Veškerý videoobsah, který Stremio poskytuje, je získáván prostřednictvím systému doplňků - aplikace neobsahuje žádný obsah ani poskytovatele obsahu.","WEBSITE_ADD_ONS_P2":"K dispozici jsou dvě skupiny doplňků: oficiální a komunitní.","WEBSITE_ADD_ONS_P3":"Oficiální doplňky vyvíjí a hostuje Stremio, zatímco komunitní doplňky vytvářejí členové naší komunity, kteří je také hostují.","WEBSITE_ADDONS_OFFICIAL":"Oficiální doplňky","WEBSITE_ADDONS_WATCHUB":"Streamujte své oblíbené filmy, seriály a pořady od poskytovatelů, jako jsou iTunes, Hulu, Amazon a další britské/americké služby.","WEBSITE_ADDONS_YOUTUBE":"Sledujte své oblíbené kanály YouTube bez reklam a dostávejte upozornění na nové příspěvky od autorů, které sledujete.","WEBSITE_ADDONS_FILMON":"Sledujte živé televizní vysílání, filmy a sociální televizi zdarma. 600 televizních kanálů, 45 000 bezplatných filmů, dokumentů a další.","WEBSITE_ADDONS_OPENSUBTITLES":"Filmové a televizní titulky ve více jazycích, tisíce přeložených titulků nahraných každý den.","WEBSITE_ADDONS_COMMUNITY":"Doplňky komunity","WEBSITE_ADDONS_FILMON_VOD":"Sledujte video na vyžádání z Filmon.tv","WEBSITE_ADDONS_TWICH":"Sledujte živé přenosy z Twitch.tv - platformy pro streamování videa z e-sportů.","WEBSITE_ADDONS_VODO":"Sledujte nezávislé filmy zcela zdarma.","WEBSITE_ADDONS_NETFLIX":"Sledování filmů a webových seriálů Netflix.","WEBSITE_ADDONS_CREATE":"Vytvoření doplňku","WEBSITE_ADDONS_CREATE_P1":"Pokud chcete, můžete si vytvořit vlastní doplněk. Tímto způsobem můžete sobě i naší komunitě poskytnout přístup k novému videoobsahu a oslovit nové, cílené publikum milionů uživatelů po celém světě.","WEBSITE_ADDONS_START_CREATE":"Chcete-li začít, navštivte stránku Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Stahování","WEBSITE_DOWNLOADS_P1":"Pro optimální výkon doporučujeme používat nejnovější dostupnou verzi aplikací Stremio. Pokud však z nějakého důvodu chcete používat starší verzi, můžete si ji stáhnout zde.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio pro Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio pro macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio pro Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio pro Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio pro iOS (omezená verze)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Přispět","WEBSITE_CONTRIBUTE_P1":"Platforma Stremio má otevřený zdrojový kód a můžete snadno vytvořit doplněk pro obsah, který v současné době nemá zdrojový kód.","WEBSITE_CONTRIBUTE_WHY":"Proč byste si měli vytvořit doplněk?","WEBSITE_CONTRIBUTE_WHY_P1":"Oslovte nové publikum pro svůj video obsah","WEBSITE_CONTRIBUTE_WHY_P2":"Uživatelská základna Stremio rychle roste - během prvního roku od spuštění získalo Stremio 1 milion uživatelů po celém světě a ve druhém roce existence platformy se jejich počet zvýšil na 2,5 milionu.","WEBSITE_CONTRIBUTE_WHY_P3":"S vaším doplňkem můžete toto publikum snadno oslovit a distribuovat mu svůj videoobsah.","WEBSITE_CONTRIBUTE_ALL":"Sledujte své oblíbené filmy, videa, seriály a kanály na jednom místě.","WEBSITE_CONTRIBUTE_ALL_P1":"Jste fanouškem určitého typu obsahu, který zatím není na Stremiu k dispozici? Vytvořte si pro něj doplněk a užijte si sledování oblíbených videí v jednom z největších a nejsnadněji použitelných zábavních center na trhu.","WEBSITE_CONTRIBUTE_ALL_P2":"Kromě toho získáte nekonečnou vděčnost dalších podobně smýšlejících členů komunity Stremio.","WEBSITE_CONTRIBUTE_MONETIZE":"Zpeněžujte svůj doplněk a vydělávejte peníze s jeho pomocí","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Jakmile vyvinete nový doplněk pro Stremio, můžete jej snadno zpeněžit několika různými způsoby. Pokud o tom uvažujete, neváhejte nás kontaktovat na adrese","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - rádi s vámi zkonzultujeme možnosti zpeněžení doplňků a poradíme vám.","WEBSITE_CONTRIBUTE_TRANSLATE":"Staňte se dobrovolným překladatelem","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Pokud chcete využívat aplikace Stremio v různých jazycích, můžete se připojit k naší komunitě dobrovolných překladatelů. Ti nám pomáhají přidávat verze aplikace Stremio v mnoha různých jazycích.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Máte chuť začít?","WEBSITE_TRANSALTE_STREMIO":"Přeložit Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Oficiální komunity","WEBSITE_COMMUNITY_OFFICIALS_P1":"Staňte se součástí rostoucí komunity Stremio. Sledujte nás na sociálních sítích a nestyďte se nás pozdravit - rádi se ozýváme našim fanouškům!","WEBSITE_COMMUNITY_UNOFFICIALS":"Neoficiální komunity","STREMIO_COMMUNITY_NL":"Stremio Nizozemsko","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Německo","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgie","STREMIO_COMMUNITY_FRANCE":"Stremio Francie","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugalsko","STREMIO_COMMUNITY_ITALY":"Stremio Itálie","STREMIO_COMMUNITY_UK":"Stremio Česká republika","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexiko","STREMIO_COMMUNITY_ADDONS":"Doplňky Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Úžasné Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partneři a podporovatelé","WEBSITE_COMMUNITY_GOODIES":"Stremio dobroty","WEBSITE_COMMUNITY_WALLPAPERS":"Tapety na plochu","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Kontaktujte nás","WEBSITE_CONTACT_US_P1":"Máte-li jakékoli dotazy, připomínky nebo návrhy, neváhejte nás kontaktovat prostřednictvím níže uvedeného kontaktního formuláře.","WEBSITE_CONTACT_US_P2":"Mějte na paměti, že se nacházíme v Bulharsku, takže může dojít ke zpoždění při řešení vašeho dotazu kvůli rozdílům v časových pásmech.","WEBSITE_CONTACT_US_SUCCESS":"Vaše zpráva byla odeslána. Ozveme se vám v nejbližším možném termínu.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Zadejte prosím platný e-mail!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Čeho se vaše otázka týká?","WEBSITE_CONTACT_US_Q_OS":"Jaký je váš operační systém?","WEBSITE_CONTACT_US_PH_EMAIL":"Váš e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Zpráva","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ODESLAT","WEBSITE_CONTACT_US_Q_1":"Jak nainstalovat?","WEBSITE_CONTACT_US_Q_2":"Jak odinstalovat?","WEBSITE_CONTACT_US_Q_3":"(HTML) Jak připravit lasagne?","WEBSITE_CONTACT_US_Q_4":"Doplňky","WEBSITE_CONTACT_US_OS_1":"Umístěním databáze na síťovou jednotku je ve Windows zakázáno, aby se předešlo poškození dat. Mnemosyne bude nyní uzavřeno.","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technologie","WEBSITE_TECHNOLOGY_P1":" <br>Milujeme technologie a bláznivou vědu.</br> Tady je to, co pohání Stremio (vše je open-source).","WEBSITE_TECHNOLOGY_P_QT":"Vývoj softwaru napříč platformami v té nejlepší podobě.","WEBSITE_TECHNOLOGY_P_MPV":"Bezplatný multiplatformní přehrávač médií s otevřeným zdrojovým kódem.","WEBSITE_TECHNOLOGY_P_RN":"React Native umožňuje vytvářet mobilní aplikace pouze pomocí JavaScriptu.","WEBSITE_TECHNOLOGY_P_VLC":"Mediální rámec vložený do aplikace pro získání multimédií.","WEBSITE_TECHNOLOGY_P_REALM":"Realm je mobilní platforma a náhrada SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js je open-source, multiplatformní běhové prostředí jazyka JavaScript.","WEBSITE_TECHNOLOGY_P_RUST":"Rust je multiparadigmatický systémový programovací jazyk zaměřený na bezpečnost, zejména na bezpečnou souběžnost.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Přispět k projektu","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Existují dva způsoby, jak můžete přispět na Stremio a pomoci nám produkt ještě vylepšit.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Své cenné jazykové znalosti můžete věnovat překladu platformy...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"nebo","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... můžete využít své programátorské dovednosti při vytváření komunitních doplňků","WEBSITE_TRANSLATE_STREMIO":"Přeložit Stremio","WEBSITE_404_OH_NO":"Uh-oh! Hledaná stránka se zde nenachází...","WEBSITE_GO_HOME":"Jít domů","WEBSITE_LINK_OTHER_DOWNLOADS":"Ostatní soubory ke stažení","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Podpora","WEBSITE_DOWNLOAD_4_0_BETA":"Stáhněte si Stremio 4 beta nyní","WEBSITE_GET_FOR_DESKTOP":"Získat pro stolní počítače","WEBSITE_LINK_ADDON_COMPETITION":"Soutěž o doplněk","WEBSITE_LINK_ART_CONTEST":"Výtvarná soutěž","WEBSITE_MY_ACCOUNT":"Můj účet","WEBSITE_MAINPAGE_FAQ_001_H1":"Co je Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio je moderní multimediální centrum, které vám dává svobodu sledovat vše, co chcete.","WEBSITE_MAINPAGE_FAQ_002_H1":"Jak to funguje?","WEBSITE_MAINPAGE_FAQ_002_P1":"Po instalaci aplikace Stremio do zařízení a vytvoření účtu stačí navštívit katalog doplňků, nainstalovat libovolný doplněk a můžete začít!","WEBSITE_MAINPAGE_FAQ_002_P2":"Poté můžete přejít do sekce Objevovat nebo Nástěnka a začít zkoumat obsah.","WEBSITE_MAINPAGE_FAQ_003_H1":"Co zde mohu sledovat?","WEBSITE_MAINPAGE_FAQ_003_P1":"Hodně: Filmy, televizní pořady, webové kanály, sport, televizní kanály, poslech podcastů a další. Díky našemu systému doplňků máte přístup k nejrůznějšímu obsahu.","WEBSITE_MAINPAGE_FAQ_004_H1":"Je Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Ano, můžete se podívat na následující odkazy: ${1}desktopová aplikace${2} a ${3}Organizace GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Je Stremio bezpečné?","WEBSITE_MAINPAGE_FAQ_005_P1":"Ano: protože se jedná o software s otevřeným zdrojovým kódem, kód je veřejně kontrolovatelný a můžete si ho sami zkontrolovat.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"A co moje soukromí?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respektujeme soukromí uživatelů a neshromažďujeme žádné osobní údaje kromě nezbytného minima pro vytvoření a synchronizaci vašeho účtu.","WEBSITE_MAINPAGE_FAQ_006_P2":"Při registraci je k dispozici také režim ${1}Guest${2}, který nevyžaduje žádná data: v tomto režimu se nevolá na náš backend. Je to však na úkor užitečných funkcí, jako je možnost synchronizovat knihovnu napříč zařízeními.","WEBSITE_MAINPAGE_FAQ_007_H1":"Mohu vysílat na televizoru?","WEBSITE_MAINPAGE_FAQ_007_P1":"Ano, podporujeme Chromecast a můžete vysílat jak z počítače, tak z mobilních aplikací (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Kolik má Stremio doplňků?","WEBSITE_MAINPAGE_FAQ_008_P1":"Od konce roku 2019 je jich více než 50 - více informací najdete v našem katalogu doplňků.","WEBSITE_MAINPAGE_FAQ_009_H1":"Lze Stremio rozšířit nad rámec toho, co je v katalogu doplňků?","WEBSITE_MAINPAGE_FAQ_009_P1":"Ano, měli byste je zkontrolovat: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, atd.","WEBSITE_MAINPAGE_FAQ_010_H1":"Jaká zařízení Stremio podporuje?","WEBSITE_MAINPAGE_FAQ_010_P1":"Máme desktopové aplikace pro Windows, Mac a Linux. Pro mobilní zařízení podporujeme Android a iOS, i když mějte na paměti, že iOS má omezené funkce (nepodporuje většinu doplňků).","WEBSITE_MAINPAGE_FAQ_010_P2":"Existuje mnoho zařízení se systémem Android, na kterých můžete spustit Stremio, například NVIDIA Shield a Amazon Fire Stick, ale oficiálně je nepodporujeme.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Můžete do služby Stremio přidat určitý obsah?","WEBSITE_MAINPAGE_FAQ_011_P1":"Omlouváme se, ale sami neposkytujeme žádný obsah, ale čím více doplňků Stremio máte nainstalováno, tím více obsahu budete moci najít.","WEBSITE_MAINPAGE_FAQ_012_H1":"Umí Stremio přehrávat magnetické odkazy?","WEBSITE_MAINPAGE_FAQ_012_P1":"Ano, a umí také přehrávat běžné odkazy HTTP a soubory torrent (přetažením).","WEBSITE_MAINPAGE_FAQ_013_H1":"Mohu si video stáhnout a sledovat ho offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Funkce dostupná offline je připravovaná, ale pokud povolíte, aby Stremio ukládalo videa do mezipaměti ve vašem zařízení (na panelu nastavení), můžete je později sledovat bez připojení.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nic nefunguje, pomozte mi!","WEBSITE_MAINPAGE_FAQ_014_P1":"Jste si jisti, že máte nainstalované doplňky? Pokud ano, obraťte se na naše ${1}pomocné centrum${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Jak Stremio udržuje své vývojové operace?","WEBSITE_MAINPAGE_FAQ_015_P1":"Občas spouštíme nevtíravé reklamy, ale zvažujeme přechod na model dárcovství.","WEBSITE_MAINPAGE_FAQ_015_P2":"Další dotazy naleznete v našem ${1}pomocném centru${2}.","HELP_LEARN_MORE":"Pomozte nám dozvědět se o vás více.","LIFESTYLE":"Životní styl","SPORTS":"Sporty","FOOD_HEALTH":"Potraviny a zdraví","BEAUTY_FASHION":"Krása a móda","NEWS":"Novinky","GAMING":"Hry","SCIENCE_EDUCATION":"Věda & vzdělávání","MUSIC":"Hudba","TRAVEL":"Cestovní kancelář","LATE_NIGHT":"Pozdní noc","REALITY":"Realita","COMEDY":"Komedie","DIY":"Jak na kutilství","TECH":"Tech","CINEMA":"Kino","CONTINUE":"Pokračovat","SLOW_LOADING":"POMALÉ NAČÍTÁNÍ?","I_GIVE_UP":"VZDÁVÁM SE","LEARN_MORE":"Zjistit více","POOR_SOURCE":"Tento zdroj je špatně dostupný nebo vaše internetové připojení není dostatečně rychlé","PICK_CATEGORIES_ERR":"Musíte vybrat alespoň 3 kategorie","ADJUST_TIMING":"Nastavte časování pomocí","ADJUST_SIZE":"Upravte velikost pomocí","SEARCH_ANYTHING":"Můžete vyhledávat cokoli...","ALL_CATEGORIES":"Vše","SEARCH_CATEGORIES":"Filmy, seriály, YouTube a TV","SEARCH_PERSONS":"Herci, režiséři a scénáristé","SEARCH_PROTOCOLS":"HTTP & Magnet Odkazy","SEARCH_TYPES":"Odkazy na IMDB / TVDB","WATCHED":"Sledováno","SHOW_LESS":"Zobrazit méně","LAST_SEARCHES":"Poslední vyhledávání","CLEAR_HISTORY":"Vymazat historii","CHOOSE_SOME":"VYBERTE SI NĚCO Z TOHO:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote nelze načíst","STREMIO_OFFLINE":"Stremio je offline","STREMIO_EXPENSIVE_CONNECTION":"Zjistili jsme, že používáte mobilní datové připojení, chcete pokračovat?","USE_DATA":"Použití dat","WARNING":"Varování","MORE_INFO":"Více informací ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Načítám...","STREMIO_TV_BACK_TO_LANGUAGES":"Zpět na jazyky","STREMIO_TV_REMOTE":"Vzdálený","STREMIO_TV_GO_TO":"Přejít na:","STREMIO_TV_OR_SCAN":"nebo skenování:","STREMIO_TV_ADDON_INSTRUCTIONS":"Při instalaci preferovaných doplňků postupujte podle pokynů.","STREMIO_TV_LIVE_TV":"Živý televizní přenos","STREMIO_TV_RESUME_WATCHING":"Sledování životopisu","STREMIO_TV_LOADING_BACKGROUND":"Načítání pozadí","STREMIO_TV_CHECKING_AUTHENTICATION":"Kontrola ověřování","STREMIO_TV_LOADING_BOARD":"Nakládací deska","STREMIO_TV_LOGIN_HEADER_LINE_1":"Chceme, aby naši uživatelé měli s naším softwarem co nejlepší personalizované zkušenosti.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Z tohoto důvodu vás žádáme, abyste si vytvořili a/nebo se přihlásili ke svému účtu.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Děkujeme za pochopení,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Tým Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Chcete-li používat webový ovladač pomocí chytrého telefonu / tabletu / stolního počítače:","STREMIO_TV_WIFI_SETUP":"Nastavení Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Aplikace Stremio Circle nezjistila připojení k internetu.","STREMIO_TV_WIFI_DETAILS_1":"Připojte se k:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Použijte heslo:","STREMIO_TV_WIFI_DETAILS_4":"stremiokruh","STREMIO_TV_WIFI_DETAILS_5":"Otevřete webový prohlížeč s odkazem:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Podle posledního zhlédnutí","STREMIO_TV_LIBRARY_SORT_NAME":"Podle názvu","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Podle počtu zhlédnutí","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Série ${1}","STREMIO_TV_STREAMS_LOADING":"Načteno ${1} / ${2} doplňků...","STREMIO_TV_STREAMS_STILL_LOADING":"Stále se načítá ${1} doplněk...","STREMIO_TV_PLAYER_SETTINGS":"Nastavení přehrávače","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Zpoždění titulků","STREMIO_TV_PLAYER_AUDIO_DELAY":"Zpoždění zvuku","STREMIO_TV_PLAYER_VIDEO_SCALING":"Škálování videa","STREMIO_TV_PLAYER_CHAPTERS":"Kapitoly","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Přeskočit ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nepodporovaný zdroj streamu","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Chyba při otevírání externího odkazu","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Nelze upravit v režimu audio průchodu","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Přehrát s ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Přehrát s libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Přepnutí na přehrávač libVLC kvůli chybě přehrávání","STREMIO_TV_ADDONS_TITLE":"Použijte Stremio na vašem telefonu nebo PC k instalaci nebo konfiguraci doplňků a stiskněte „Synchronizovat doplňky“","STREMIO_TV_ADDONS_SUBTITLE":"Poznámka: ujistěte se, že používáte stejný účet Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Synchronizovat doplňky","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Doplňky úspěšně synchronizovány","STREMIO_TV_ADDONS_SYNC_FAILED":"Synchronizace doplňků se nezdařila","STREMIO_TV_META_LINK_FAILED":"Chyba při otevírání meta odkazu","STREMIO_TV_CATALOG_LOADING":"Stále se načítá katalog...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Jazyk rozhraní aktualizován","STREMIO_TV_SETTINGS_THEME_UPDATED":"Téma aktualizováno","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Výchozí přehrávač","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Externí přehrávač","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferovaný jazyk","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Sekundární preferovaný jazyk","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunelované přehrávání","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Možné problémy s přehráváním na některých zařízeních","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Některé formáty videa nemusí fungovat","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Shoda obnovovací frekvence","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Vypnuto","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Pouze obnovovací frekvence","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Obnovovací frekvence a rozlišení","STREMIO_TV_SETTINGS_NO_CACHING":"Bez ukládání do mezipaměti","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Výchozí","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Měkký","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rychlý","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra rychlý","STREMIO_TV_SETTINGS_SERVER_URL":"URL streamovacího serveru","STREMIO_TV_SETTINGS_SERVER_VERSION":"Verze serveru","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Neznámé","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Verze Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Upravit URL serveru","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Zadejte URL streamovacího serveru","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Zobrazovat statistiky během načítání","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Chcete-li si přečíst Zásady ochrany osobních údajů Stremio, navštivte:","STREMIO_TV_SETTINGS_TOS_TEXT":"Chcete-li si přečíst Podmínky používání Stremio, navštivte:","STREMIO_TV_NAV_SEARCH":"Najít","STREMIO_TV_NAV_HOME":"Domů","STREMIO_TV_NAV_DISCOVER":"Objevovat","STREMIO_TV_NAV_LIBRARY":"Knihovna","STREMIO_TV_NAV_MOVIES":"Filmy","STREMIO_TV_NAV_SERIES":"Seriály","STREMIO_TV_NAV_CHANNELS":"Kanály","STREMIO_TV_NAV_TV":"TV","STREMIO_TV_NAV_SETTINGS":"Nastavení","STREMIO_TV_NAV_ADDONS":"Doplňky","STREMIO_TV_LOGIN_TITLE":"Propojit účet","STREMIO_TV_LOGIN_EXPIRES_IN":"Vyprší","STREMIO_TV_LOGIN_STEP_ONE":"Naskenujte QR kód nebo přejděte na","STREMIO_TV_LOGIN_STEP_TWO":"Přihlašte se do svého Stremio účtu","STREMIO_TV_LOGIN_NEW_LINK":"Vyžádat nový odkaz","STREMIO_TV_LOGIN_LINK_REFRESHED":"Přihlašovací kód byl obnoven","STREMIO_TV_SEARCH_PLACEHOLDER":"Napište něco","STREMIO_TV_SEARCH_NO_ADDONS":"Nebyly vyžádány žádné doplňky pro katalogy","STREMIO_TV_SEARCH_BUTTON":"Vyhledat","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Mezera","STREMIO_TV_SEARCH_KEY_CLEAR":"Vymazat","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historie vyhledávání","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Můžete vyhledávat názvy, herce, kanály a další","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Vymazat historii vyhledávání","STREMIO_TV_FILTERS_DESCRIPTION":"Vyberte jeden z níže uvedených filtrů","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streamingový server je offline. Zkontrolujte nastavení serveru.","FILTERS":"Filtry","SETTINGS":"Nastavení","ACCOUNT":"Účet","LOGOUT":"Odhlásit se","THEMES":"Témata","PLAYBACK":"Přehrávání","PLAYBACK_SPEED":"Rychlost přehrávání","AUDIO_TRACKS":"Zvukové stopy","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videa","SERVER":"Server","LINKS":"Odkazy","ABOUT":"O aplikaci","INTERFACE":"Rozhraní","ANIMATIONS":"Animace","STATUS":"Stav","LANGUAGE":"Jazyk","SIZE":"Velikost","DELAY":"Zpoždění","BOLD":"Tučné","OPACITY":"Opacity","TEXT_COLOR":"Barva textu","OUTLINE_COLOR":"Barva obrysu","BACKGROUND_COLOR":"Barva pozadí","BACKGROUND_BLUR":"Zaměření pozadí","SEEK_TIME_DURATION":"Doba přesunu","AUTO_PLAY":"Automatické přehrávání další epizody","PLAY_NOW":"Přehrát nyní","MARK_AS_WATCHED":"Označit jako zhlédnuté","MARK_AS_UNWATCHED":"Označit jako nezhlédnuté","REWIND_TO_BEGINNING":"Zpět na začátek","CONTINUE_WATCHING":"Pokračovat ve sledování","ALL":"Vše","SECONDS":"sekundy","ON":"ON","OFF":"OFF","RELOAD":"Znovu načíst","EDIT_URL":"Upravit URL","URL":"URL","NONE":"Žádné","EMBEDDED":"Vložené","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Přepínací zařízení","REMOTE_VIDEOS":"Videa","REMOTE_ADJUST_TIMING":"Nastavení časování","REMOTE_ADJUST_SIZE":"Nastavení velikosti","REMOTE_COULD_NOT_BE_LOADED":"Web Remote nelze načíst","REMOTE_RETRY":"Zkusit znovu","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"Co je Stremio?","FAQ_001_P1":"Stremio je software mediálního centra navržený pro video zábavu s ohledem na snadné používání. Stremio vám umožňuje organizovat & sledovat vlastní sbírku filmů, seriálů, kanálů a živého televizního vysílání.","FAQ_001_P2":"Stremio shromažďuje obsah, který vám zobrazuje, z vašeho místního disku a z našeho systému doplňků.","FAQ_001_P3":"Upozorní vás také na nové epizody/videa/filmy, které vás zajímají, a doporučí vám filmy.","FAQ_02_H1":"Jak si Stremio vede ve srovnání s Kodi a Plexem?","FAQ_02_P1":"Inspirovali jsme se těmito dvěma softwary. Máme však odlišné cíle - Stremio je zaměřeno speciálně na video pro zábavu a snaží se stát hlavním řešením pro tuto oblast, protože se velmi snadno používá.","FAQ_02_P2":"Stremio nikdy nebude tak přizpůsobitelné a funkčně bohaté jako Kodi a Plex, ale jeho používání je podstatně jednodušší. Stačí ${1} si ho pořídit a uvidíte ${2} :)","FAQ_03_H1":"Jak si Stremio vede ve srovnání s Netflixem?","FAQ_03_P1":"Jednou z našich inspirací je opět Netflix. Snažíme se dosáhnout uživatelského zážitku Netflixu a navíc přidat spoustu dalších vychytávek. Co je však nejdůležitější, dáváme vám svobodu spravovat vlastní knihovnu a přidávat nové zdroje obsahu pomocí našeho systému doplňků.","FAQ_03_P2":"Díky tomu je Stremio nekonečně rozšiřitelné, takže při používání Stremio nejste nikdy omezeni obsahem, který se Netflix rozhodne licencovat. Prostřednictvím služby Stremio můžete například sledovat obsah z ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} a dokonce i ${9}Netflix${10} samotný!","FAQ_04_H1":"Jak si Stremio vede ve srovnání s Flipboardem?","FAQ_04_P1":"Tuto otázku nedostáváme tak často, kromě rozhovorů se začínajícími podnikateli :)","FAQ_04_P2":"Stremio je svým založením agregátor obsahu, což z něj v podstatě dělá Flipboard pro video. To je velmi patrné v sekci Nástěnka, která vám stejně jako Flipboard nabízí katalogy a upozornění na nové epizody/nová videa, která sledujete.","FAQ_05_H1":"Jak si Stremio vede ve srovnání s Popcorn Time?","FAQ_05_P1":"Stremio a Popcorn Time jsou si podobné uživatelským rozhraním, protože není mnoho způsobů, jak udělat katalogy video zábavy správně :)","FAQ_05_P2":"Zatímco Popcorn Time se zaměřuje na streamování torrentů z konkrétních zdrojů, Stremio je bez omezení a je pouze agregátorem obsahu - není vázáno na konkrétní zdroj obsahu.","FAQ_05_P3":"Kromě toho ve výchozím nastavení neposkytujeme žádné doplňky torrentů, takže Stremio nepokrývá případ použití Popcorn Time oficiálními funkcemi.","FAQ_05_P4":"Dalším významným rozdílem je, že Popcorn Time je zcela open source, zatímco Stremio je ${1} částečně open source${2}.","FAQ_06_H1":"Přidáte tento film/seriál?","FAQ_06_P1":"Ne, je mi líto :(","FAQ_06_P2":"Jak je uvedeno ve většině ostatních otázek, Stremio samo o sobě neposkytuje žádný obsah - vše se přidává prostřednictvím systému doplňků. V případě, že máte požadavek na obsah, můžete použít tlačítko \\"Nahlásit\\" v přehrávači, které odešle e-mail autorovi doplňku, který právě používáte.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Vytvoříte doplněk pro X?","FAQ_08_P1":"Je to docela možné.","FAQ_08_P2":"Pokud máte nápad na doplněk, napište nám na ${1}office@stremio.com${2}, ale ujistěte se, že váš nápad na doplněk neporušuje autorská práva ani podmínky používání.","FAQ_08_P3":"V současné době jsou na našem plánu doplňky pro FandangoNOW, Filmon.tv video on demand a Crunchyroll.","FAQ_09_H1":"Používá Stremio BitTorrent?","FAQ_09_P1":"Ano, Stremio podporuje BitTorrent jako streamovací protokol. Ten můžete použít buď pomocí doplňku torrent, nebo přetažením souboru .torrent do aplikace Stremio, případně vložením odkazu na magnet do vyhledávacího panelu.","FAQ_09_P2":"Vezměte prosím na vědomí, že jediným oficiálním doplňkem využívajícím BitTorrent je ${1}Vodo${2}, který poskytuje nezávislý obsah povolený k distribuci pomocí BitTorrentu.","FAQ_09_P3":"Nepodporujeme používání doplňků třetích stran, které by mohly umožnit porušování autorských práv.","FAQ_10_H1":"Co mohu sledovat v aplikaci Stremio s oficiálními doplňky?","FAQ_10_P1":"Ve výchozím nastavení můžete sledovat obsah serverů Filmon.tv, YouTube a Vodo přímo v aplikaci Stremio pomocí vloženého přehrávače. Kromě toho máme doplněk pro Twitch.tv a několik dalších.","FAQ_10_P2":"Tato kombinace nabízí výběr:","FAQ_10_L1":"Oblíbené televizní kanály, které poskytuje Filmon.tv - například E4, BBC, Bollyworld TV","FAQ_10_L2":"Vše z YouTube - například BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Nezávislé filmy s Vodo","FAQ_10_L4":"Online vysílání her pomocí Twitch.tv","FAQ_10_P3":"Kromě toho existuje mnoho zdrojů obsahu poskytovaných pomocí služby Guidebox a doplňků Netflix, které se <b>nepřehrávají</b> zcela uvnitř služby Stremio, ale přesměrovávají se na danou službu. Například doplněk Guidebox by vám poskytl výběr filmů, které můžete v USA streamovat zdarma, ze služeb jako TubiTV a Crackle.","FAQ_11_H1":"Stremio se nechce nainstalovat, co mám dělat?","FAQ_11_P1":"Pokud používáte Windows, zkuste ${1}tento alternativní instalátor${2}.","FAQ_11_P2":"Pokud používáte systém Mac OS X, upozorňujeme, že nepodporujeme nic staršího než OS X Mavericks (10.9).","FAQ_11_P3":"Pokud používáte Linux, vězte, že v současné době podporujeme pouze 64bitový (x64) Linux.","FAQ_11_P4":"Pokud se vám stále nedaří vyřešit váš problém, napište nám na naši ${1}Facebookovou skupinu${2}.","FAQ_12_H1":"Proč si můj antivirový program stěžuje? Je Stremio bezpečné?","FAQ_12_P1":"Ujišťujeme vás, že Stremio je ${1}100% cčistý ${2}.","FAQ_12_P2":"Váš antivirový program si stěžuje, protože v našem instalačním programu je reklama, kterou některé antivirové programy rozpoznávají jako ad-ware.","FAQ_12_P3":"Pokud si stále nejste jisti, můžete vyzkoušet náš ${1}alternativní instalátor${2}.","FAQ_13_H1":"Jak mohu vytvořit doplněk?","FAQ_13_P1":"Pro začátek doporučujeme zkontrolovat náš systémový modul ${1}addons${2} na GitHubu.","FAQ_13_P2":"Poté můžete postupovat podle výukového programu ${1}Hello World${2}.","FAQ_13_P3":"Pokud nemáte žádné programátorské dovednosti, napište svůj nápad na ${1}komunitu Reddit${2} a kontaktujte nás s nápadem na doplněk na ${3}office@stremio.com${4}.","FAQ_14_H1":"Jak se publikují doplňky?","FAQ_14_P1":"Když vytvoříte doplněk a hostitele a do manifestu vložíte pole <b>koncového bodu</b>, které ukazuje na adresu funkčního doplňku, doplněk se automaticky zveřejní v našem katalogu ${1}Addon catalogue${2}.","FAQ_14_P2":"K tomu dochází proto, že serverová část modulu stremio-addons automaticky volá naše rozhraní API a oznamuje doplněk. Jakmile naše rozhraní API potvrdí váš <b>koncový bod</b> jako platný doplněk, začne se zobrazovat v katalogu.","FAQ_15_H1":"Mohu spustit Stremio v prohlížeči?","FAQ_15_P1":"Momentálně ne, ale už se to blíží!","FAQ_15_P2":"Pokud jste zvědaví na verzi Alpha, můžete si ji prohlédnout zde: ${1}alpha4.strem.io${2}. Mějte na paměti, že streamování je v této alfě vypnuté. Podporujeme prohlížeče Chrome, Firefox, Opera a Edge.","FAQ_16_H1":"Casting do TV nefunguje / titulky nefungují","FAQ_16_P1":"Odesílání do televizoru využívá technologii DLNA, která je u různých značek a modelů televizorů velmi nejednotná. Z tohoto důvodu nemáme možnost testovat ji ve všech případech, takže zdaleka není dokonalá. Přesto na jejím vylepšování neustále pracujeme, ale nemůžeme vám poskytnout časový odhad, kdy DLNA začne s vaším televizorem správně fungovat.","FAQ_16_P2":"Pokud se televizor nezobrazuje ani v nabídce obsazení, zkuste zakázat síťové připojení a znovu jej povolit (v systému Windows klikněte pravým tlačítkem myši na položku Síť a použijte příkaz Povolit/Zakázat) a restartujte směrovač, televizor a počítač.","FAQ_16_P3":"Pokud se stále potýkáte s problémy, můžete nám pomoci zasláním informací o značce a modelu televizoru na adresu ${1}office@stremio.com${2}.","FAQ_16_P4":"Do té doby doporučujeme Chromecast, který velmi dobře podporujeme, nebo jednoduše připojit televizor k počítači pomocí kabelu HDMI.","FAQ_17_H1":"Co mám dělat, když Stremio zamrzne a/nebo spadne?","FAQ_17_P1":"Pokud používáte systém Windows 7 s antivirovým programem AVG, máme s touto kombinací problém. Problém je v samotném AVG a na naší straně neexistuje žádný rozumný způsob, jak jej vyřešit. Výjimky ani vypnutí antiviru bohužel nepomohou. Jediným řešením je nahradit AVG něčím jiným.","FAQ_17_P2":"Pokud to není problém, ale stále používáte systém Windows, aktualizujte jej na nejnovější servisní balíček a aktualizujte/přeinstalujte ovladače grafického procesoru a pak to zkuste znovu.","FAQ_17_P3":"Pokud problém stále není vyřešen nebo používáte Mac či Linux, napište nám přesné informace o problému na ${1}naší skupinu na Facebooku${2}.","FAQ_18_H1":"Jak mohu vytvořit doplněk?","FAQ_18_P1":"Pro začátek doporučujeme zkontrolovat náš systémový modul ${1}addons${2} na GitHubu.","FAQ_18_P2":"Poté můžete postupovat podle výukového programu ${1}Hello World${2}.","FAQ_18_P3":"Pokud nemáte žádné programátorské dovednosti, napište svůj nápad na ${1}komunitu Reddit${2} a kontaktujte nás s nápadem na doplněk na ${3}office@stremio.com${4}.","FAQ_19_H1":"Proč Stremio zabírá místo na disku?","FAQ_19_P1":"Stremio má <b>místní mezipaměť pro</b> dočasné uchovávání streamovaných video souborů.","FAQ_19_P2":"To má dvě výhody: zaprvé umožňuje Stremio předem vyrovnat video do vyrovnávací paměti, aby bylo zajištěno plynulejší streamování. Zadruhé uchovává videa v místní mezipaměti, takže je můžete dále sledovat offline.","FAQ_19_P3":"Množství, které Stremio uchovává, závisí na nastavení <b>vyrovnávací paměti</b> na panelu Nastavení. Stremio může na vašem disku uchovávat až nastavené množství (např. 2 GB), pokud není aktuálně streamované video větší než toto množství, v takovém případě musí vyčlenit dostatek úložného prostoru, aby jej uchoval až do doby, kdy jej budete streamovat.","FAQ_20_H1":"Kde se nachází složka mezipaměti?","FAQ_20_P1":"V systému Windows je to stremio-cache v jednotce, kterou jste vybrali v Nastavení (např. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"V systému MacOS je to \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"V systému Linux je to \\"~/.stremio/stremio-cache\\" nebo \\"~/stremio-cache\\"","FAQ_21_H1":"Zobrazí se mi chyba \\"Streaming server nebyl nalezen\\", co mám dělat?","FAQ_21_P1":"Pokud se vám tato chyba zobrazí, znamená to jednu z několika možností:","FAQ_21_P2":"1) Snažíte se použít doplněk podporovaný zdrojem YouTube/BitTorrent prostřednictvím naší verze ${1}web${2}. V takovém případě byste si měli nainstalovat naši verzi pro stolní počítače z ${3}našich webových stránek${4}.","FAQ_21_P3":"2) Něco je špatně s vaší instalací Stremio. V takovém případě zkuste znovu nainstalovat naši nejnovější verzi pro stolní počítače z ${1}webové stránky${2}. Pokud to nepomůže, zkuste vypnout antivirové programy a brány firewall, restartovat počítač a zkusit to znovu. Pokud ani to nepomůže, napište nám do naší ${3}skupiny na Facebooku${4}.","FAQ_22_H1":"Většinu doplňků v systému iOS nevidím/používám","FAQ_22_P1":"Vzhledem k omezením v podmínkách obchodu Apple App Store jsme aplikaci pro iOS omezili pouze na určitou sadu doplňků.","FAQ_22_P2":"Ale buďte si jisti - v budoucnu se objeví další doplňky pro iOS a možná přidáme také integraci, která vám umožní používat všechny doplňky Stremio díky připojení aplikace iOS ke Stremio Streaming Serveru."}')},46741:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"Kanal","TYPE_channel":"Kanal","TYPE_other":"Andet","TYPE_movie_PL":"Film","TYPE_series_PL":"Serier","TYPE_tv_PL":"TV","TYPE_channel_PL":"YouTube","TYPE_other_PL":"Andrer","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Tilbage","MORE":"Mere","DONE":"Færdig","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Opdag","Board":"Væg","Library":"Bibliotek","My Library":"Mit Bibliotek","Calendar":"Kalender","NOTIFICATION_ONLINE":"Du er nu online","NOTIFICATION_OFFLINE":"Du er nu offline","INTERNET_CONNECTION":"Netværk forbindelse","STORAGE_FULL_TITLE":"OBS: Ikke mere ledig plads","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"Søg efter","SEARCH_NO_RESULTS":"Ingen resultater fundet","SEARCH_EXPLANATION_CONTENT":"Søg efter film, serier, YouTube og TV kanaler","SEARCH_EXPLANATION_PEOPLE":"Søg efter skuespiller, direktører og forfatterer","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Tilføj til Bibliotek","REMOVE_FROM_LIB":"Fjern fra Bibliotek","ADDED_TO_LIB":"Tilføjet til Bibliotek","REMOVED_FROM_LIB":"Fjernet fra Bibliotek","TRAILER":"Trailer","WATCH_TRAILER":"Se Trailer","WATCH_NOW":"Afspil","SHOW":"Vis","SHOW_MOVIE":"Vis film","WATCH_RANDOM":"Se tilfældig","IMDB_RATING":"IMDb Bedømmelse","YEAR":"År","DIRECTOR":"Instruktør","WRITER":"Skrevet af","LEAD_ACTORS":"Hovedroller","CAST":"Medvirkende","CREW":"Filmhold","SHOW_MORE_CAST":"Se flere »","AIRED":"Sendt","SEASONS":"Sæsoner","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Katalog","SUMMARY":"Opsummering","SHOW_MORE":"Show More","SIMILAR":"Lignende","UPCOMING":"Kommende","TBA":"TBA","ENDED":"Sluttet","DURATION":"Længde","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"Kategori","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"Søg videoer","SEARCH_PLACEHOLDER":"Søg eller indsæt magnet link","ADDON":"Tilføjelse","ADDONS":"Tilføjelser","OFFICIAL":"Officielle","ADDONS_OFFICIAL":"Officielle Stremio tilføjelser","ADDONS_POPULAR":"Populære nær dig","ADDON_FREE":"Gratis","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnement","ADDON_STREAM_GEORESTRICTED":"Ikke tilgængeligt i dit område","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Lokal Fil","SHARE_ADDON":"Del tilføjelse","AVAILABLE_STREAMS":"Tilgængelige Streams","NO_STREAM":"Ingen tilgængelige streams","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For flere streams, vær venlig at installere flere tilføjelser","STREAM_NOT_SUPPORTED":"Den valgte stream er ikke understøttet på denne platform.","ADDON_CATALOGUE":"Vis alle tilføjelser »","ADDON_CATALOGUE_MORE":"Flere tilføjelser »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons repository already exist","ADDON_REPO_ERR":"Der opstod fejl under tilføjelse af repository","ADDON_ADD_ERR":"Der skete en fejl under tilføjelse af tilføjelsen","ERR_ADDON_PROTECTED":"Beskyttet tilføjelse","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Noget gik galt - authentificering slog måske fejl","ERR_NOT_COLLECTION_URL":"Not a collection url","ERR_NOT_ADDON_URL":"Not an addon url","ERR_DETECTFROMURL":"Cannot detect from url","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Addon pulling failed","REFRESH_ON_CLICK":"Click to retry","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film stadig i biografen","WATCH_IN_CINEMA":"se den i din lokale biograf","IN_THEATER":"I biografen","GET_TICKETS":"Køb biletter","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"Denne kanal er ikke indekseret endnu.<br>Kom tilbage om et par minutter.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Tilføj til dit bibliotek og bliv notificeret når den er tilgængelig","GET_NOTIFIED_WHEN_AVAILABLE":"Du vil blive notificeret når den er tilgængelig","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streamer fra","CASTING_TO":"Afspiller på","NETWORK_STATUS":"Netværksstatus","STREAM_SPEED":"Hastighed:","STREAM_BUFFERED":"Downloadet:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Aktive:","PEERS_CONNECTED":"Forbundet:","PEERS_WAITING":"Venter:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"Henter..","PLAYING_LOCAL":"afspiller fra lokal fil","PLAYING_CACHE":"afspiller fra cache","WRONG_SUBS":"Forkert tekst?","ERR_SUBS_LOADING_TITLE":"Fejl under indlæsning af undertekster","ERR_SUBS_LOADING":"Kunne ikke indlæse undertekster: det kunne være et problem med tilføjelsen du bruger eller med din netværk forbindelse","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Følgende underteksts tilføjelse fejlede","ERR_CASTING_UPDATE_TITLE":"Kunne ikke opdatere casting enheds info: streaming serveren er måske offline","CHOOSE_DEVICE":"Vælg enhed at afspille på","NO_CAST_DEVICES":"Ingen casting enheder tilgængelige.","NO_SETTINGS":"Ingen instillinger tilgængelige.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Undertekster","SUBTITLES_CHANGE":"Ændre undertekster","SUBTITLES_CHANGE_NONE":"Der er ikke flere undertekster til dette sprog, desværre.","SUBTITLES_CHANGE_ACIVE":"Undertekst #{{subtitlesDialog.activeIdx + 1}} er aktiveret. Klik \\"Forsæt\\" for at aktivere #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativt,","SUBTITLES_ADJUST_DELAY":"Juster undertekst forsinkelse:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Eller brug <span>G</span> / <span>H</span> taster under afspilning for at justere.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: du kan bruge <span>G</span> / <span>H</span> taster under afspilning for at justere.","SUBTITLES_DELAY":"Undertekst forsinkelse:","SUBTITLES_LOADING":"Indlæser undertekster...","SUBTITLES_UNAVAILABLE":"Ingen eksterne undertekster tilgængelige","SUBTITLES_DISABLED":"Slået fra","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Lyd","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sæson","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"tendens","SORT_RECENT":"seneste","SORT_ALPHABET":"alfabetisk","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"bedømmelser","SORT_WATCHED":"set","SORT_YEAR":"år","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Nyt til dig","New Episodes":"Nye episoder","New Videos":"Nye Videoer","Recommendations":"Anbefalinger","LIBRARY_RESUME":"Genoptag","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Detaljer","LIBRARY_RESUME_DISMISS":"Afvis","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Indhold","DISCOVER_TOP":"Populære","DISCOVER_OSCAR":"Oscar Vindere","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Tilføjelsen returnerede tomt indhold.","DISCOVER_ADULT_WARNING":"Inholdet er kun synligt for voksne. Er du 18+?","DISCOVER_NOADDON_WARNING":"Advarsel: intet Stremio tilføjelse aktiveret for denne type. Viser gemte ting, intet vil blive opdateret.","DISCOVER_LOAD_ERR":"Indholdet kunne ikke indlæses, fejl opstået.","DISCOVER_ADDON_UNINSTALLED":"Indholdet er ikke længere tilgængeligt, måske har du afinstalleret tilføjelsen.","UNINSTALL_THIS_ADDON":"Afinstaler tilføjelsen","ERR_ADDON_NOT_INSTALLED":"Tilføjelsen er ikke instaleret. Instaler nu?","DETAIL_RECEIVE_NOTIF_SERIES":"Modtag notifikationer for nye episoder","DETAIL_RECEIVE_NOTIF_VIDEOS":"Modtag notificationer for nye videoer","SIDEBAR_SHOW_STREAMS":"Vis streams","RELAUNCH":"Genindlæs nu!","UPGRADE":"Opdater til seneste Stremio version","RELOAD_UI":"Genindlæs brugerflade","MANUAL_UPDATE_TITLE":"Opdater din Stremio version","MANUAL_UPDATE_LINE1":"Du kører en gammel version af Stremio hvilket ikke er anbefalet.","MANUAL_UPDATE_LINE2":"Opdater venligst så hurtigt som muligt.","BUTTON_UPDATE_LATTER":"Ikke nu","BUTTON_UPDATE_NOW":"Opdater","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonym bruger","DONT_HAVE_ACC":"Har du ikke en konto?","HAVE_ACC":"Har du allerede en konto?","PASSWORD":"Adgangskode","PASSWORD_CONFIRM":"Bekræft adgangskode","EMAIL":"E-mail","FB_LOGIN":"Login med Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Intet bliver delt uden din tilladelse","FB_NOPOST":"Vi slår aldrig noget op på dine vegne","OR":"eller","I_ACCEPT":"Jeg accepterer","I_ACCEPT_BY_CLICKING":"Ved at klikke overstående knap bekræfter jeg at jeg accepterer ","TOS":"Betingelser","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Kodeord ikke korrekt","SIGN_UP":"Opret","SIGN_UP_EMAIL":"Tilmeld med email","CLICK_TO_SIGN_UP":"Klik her for at tilmelde dig.","LOG_IN":"Log ind","LOG_OUT":"Log ud","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Hjælp & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"Om Stremio","USER_PANEL":"Bruger Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Gæste log ind","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"Klik her","WRONG_PASSWORD":"Forkert kodeord. Har du glemt dit kodeord, ","SET_A_PASS":"Vælg kodeord","RESET_PASSWORD":"Reset kodeord","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Glemt kodeord?","EMAIL_USED_WITH_FB":"Denne email er brugt til Facebook log ind.","INVALID_EMAIL":"Venligst intast en gyldig email addresse","INVALID_PASSWORD":"Venligst indtast et gyldigt kodeord","CONN_ERR":"Forbindelse fejl - Prøv igen senere.\\n\\nHvis fejl forsætter, deaktiver firewalls/anti-virus software (specielt Bitdefender).","IMPORT_FROM_GUEST":"Importer bibliotek fra din gæstekonto","RECEIVE_UPDATES_EMAIL":"Modtag opdateringer til din email fra Stremio","LOGIN_FAILED":"Login fejlede.","SIGNUP_FAILED":"Tilmelding fejlede.","SEARCH_FAILED":"Søgning fejlede","EMAIL_USED":"Denne email er allerede i brug.","WAITING_FB_LOGIN":"Logger ind med Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Afspil i extern afspiller","EXTERNAL_REMEMBER_PLAYER":"Husk valg?","EXTERNAL_ALWAYS_PLAY":"Ja","EXTERNAL_ONLY_ONCE":"Nej","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Fortæl os hvad du godt kan lide","INTRO_TASTE_LONG":"Fortæl os om hvad du gerne vil se","INTRO_TASTE_PICK":"Vælg {{interestsRemaining}} interesser","INTRO_TASTE_PICK_MORE":"Vælg {{interestsRemaining}} flere interesser","INTRO_TASTE_HELP_US":"Hjælp os med at lære mere om dig.","INTRO_TASTE_CHOOSE_THESE":"Vælg nogle af disse:","INTRO_TASTE_CHOOSE_MIN":"Vælg mindst 3 kategorier","INTRO_TASTE_CHOOSE_MIN_ERR":"Du skal vælge mindst 3 kategorier!","INTRO_TASTE_LIFESTYLE":"Livsstil","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Mad & Sunhed","INTRO_TASTE_BEAUTY_FASHION":"Skønhed & Mode","INTRO_TASTE_NEWS":"Nyheder","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Videnskab & Uddannelse","INTRO_TASTE_MUSIC":"Musik","INTRO_TASTE_TRAVEL":"Rejse","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedie","INTRO_TASTE_DIY":"Gør det selv","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Biograf","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Den valgte tilføjelse er ikke understøttet på denne platform.","ADDON_DISCLAIMER":"Brug af tredjeparts tilføjelser vil altid være dit eget ansvar og love og regler kan være forskellige fra land til land.","ADDON_ACTIVATE":"Aktiver denne tilføjelse?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Hvad er nyt","BUTTON_CONTINUE":"Fortsæt","BUTTON_ACTIVATE":"Aktiver","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Annuller","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Dit bibliotek er tomt. Find ud af hvor brugbart det er :) ","HOW_START":"Tilføj indhold til dit bibliotek","LIB_EMPTY_CAL":"Din kalender viser serier fra dit bibliotek.","HOW_START_CAL":"Tilføj indhold til dit bibliotek","LIB_EMPTY_BOARD":"Din væg viser notifikationer & anbefalinger relateret til dit bibliotek.","HOW_START_BOARD_WAIT":"Tilføj indhold til dit bibliotek og vent et par minutter til indholdet er opdateret :)","HOW_START_BOARD":"Sådan tilføjer du indhold","IMPORT_FB":"Importer ting du kan lide fra <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interessante ting fra <span>Opdag</span>","IMPORT_DISK":"Importer film og serier fra din <span>computer</span>","PLEASE_CREATE_ACC":"Venligst <u>opret en konto</u> for at aktivere Bibliotek & Væg.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sigm up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Kør ved opstart","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Importer fra Facebook","SETTINGS_IMPORT_DISK":"Importer fra computer","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Abonner på kalender","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Ændre kodeord","SETTINGS_TOS":"Servicevilkår","SETTINGS_SUPPORT":"Kontakt support","SETTING_LANGUAGE":"Sprog","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Afslut","CONNECTED":"Connected","AUTHENTICATE":"Godkend","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Vælg caching drev","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januar","February":"Februar","March":"Marts","April":"April","May":"Maj","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"December","Monday":"Mandag","Tuesday":"Tirsdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"Lørdag","Sunday":"Søndag","Action":"Action","Comedy":"Komedie","War":"Krig","Family":"Familie","Animation":"Animation","Adventure":"Eventyr","Fantasy":"Fantasy","Crime":"Krimi","Mystery":"Mystik","Romance":"Romantik","Drama":"Drama","Horror":"Gyser","Thriller":"Spænding","Sci-Fi":"Sci-Fi","Music":"Musik","Biography":"Biografi","Documentary":"Dokumentar","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Nyheder","History":"Historie","Game-Show":"Gameshow","Reality-TV":"Reality TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Underholdning","Gaming":"Gaming","From TV":"Fra TV","Lifestyle":"Livsstil","Science & Education":"Videnskab & Uddannelse","Cooking & Health":"Madlavning & Helbred","Beauty & Fashion":"Skønhed & Mode","Sports":"Sport","News & Politics":"Nyheder & Politik","How-to & DIY":"Gør det selv","Tech":"Teknologi","Automotive":"Biler","Causes & Non-Profits":"Sager & Non-profit","Movies":"Film","Uk Live Tv":"UK Direkte TV","Fashion":"Mode","Business News Radio":"Business Nyheds Radio","Business Tv":"Business TV","Cars & Auto":"Biler & Auto","Comedy Radio":"Komedie Radio","Lifestyle Radio":"Livsstils Radio","News Tv":"Nyheds TV","Food And Wine":"Mad & Vin","Latino Tv":"Latino TV","Shopping Tv":"Shopping TV","Religion":"Religion","Kids":"Børn","Body & Soul":"Krop & Sjæl","Education":"Uddannelse","Indian Tv":"Indisk TV","Extreme Sports":"Ekstremsport","Middle Eastern Tv":"TV fra Mellemøsten","Celebrity Tv":"Kendis TV","Science Tv":"Videnskabs TV","Bikini babe":"Bikini Piger","Outdoors":"udendørs","German Tv":"Tysk TV","French Tv":"Fransk TV","Italian Tv":"Italiensk TV","Gamer Tv":"Spil TV","Travel":"Rejse TV","Asian Tv":"Asiatisk TV","Entertainment":"Underholdning","News Radio":"Nyheds Radio","Music Radio":"Musik Radio","Language Learning":"Sprog & Læring","Science Radio":"Videnskabs Radio","Tech Radio":"Teknologi Radio","Science & Technology Vod":"Videnskab & Teknologi VOD","new video":"ny video","new episode":"ny episode","new movie":"ny film","recommended":"anbefalet","we recommend":"vi anbefaler","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Afvis notifikationer","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Del","CTX_COPY_SHARE_LINK":"Kopier dele link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Vis","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Se på","CTX_WATCH":"Se","CTX_WATCHED":"Set","CTX_WATCH_BEGINNING":"Se fra begyndelsen","CTX_WATCH_MOBILE":"Se på en mobil enhed","CTX_REWIND":"Tilbage til begyndelsen","CTX_MARK_WATCHED":"Marker som set","CTX_MARK_NON_WATCHED":"Marker som ikke set","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Modtag nye notifikationer","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Fjern cache","CTX_REMOVE_CACHE_EP":"Fjern episode fra cache","CTX_OPEN_CONTAINING":"Åben mappe","CTX_REMOVE":"Fjern fra bibliotek","CTX_AVAILABLE_OFFLINE":"Tilgængelig Offline","CTX_PAUSED":"Pause","CTX_ALWAYS_ON_TOP":"Altid øverst","CTX_FULLSCREEN":"Fuldskærm","CTX_WRONG_SUBS":"Forkerte undetekster?","CTX_REPORT_ISSUES":"Rapporter problem","CTX_COPY":"Kopier","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Indsæt","CTX_CLEAR":"Ryd","CTX_CLEAR_RECENT_SEARCHES":"Ryd seneste søgninger","HELLO_THERE":"Hej","HOPE_YOU_ENJOY":"Vi håber du nyder Stremio og at det er et af dine favorit programmer allerede!","WHO_ARE_WE":"Hvem er vi? Vi er holded bag - to gutter som har arbejdet hårdt de sidste 3 år, med et samlet mål - at gøre dette produkt bedre og bedre.","SUPPORT_US":"Hvis du kan lide Stremio, hvis Stremio er værdifuldt for dig - støt os!","SPREAD_THE_WORD":"Del med dine venner nu, spred ordet omkring Stremio","MORE_PEOPLE":"Nu flere folk der bruger Stremio, nu bedre vil det blive!","SEND_A_LINK":"Eller send et link til vores hjemmeside","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"provides","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"If you are looking to contact us, go ahead at","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},52107:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"Fernsehkanal","TYPE_channel":"Kanal","TYPE_other":"Sonstige","TYPE_movie_PL":"Filme","TYPE_series_PL":"Serien","TYPE_tv_PL":"Fernsehkanäle","TYPE_channel_PL":"Kanäle","TYPE_other_PL":"Sonstiges","TYPE_ALL":"Alle","TYPE":"Typ","CATALOG_com_linvo_cinemeta_top":"Beliebt","CATALOG_com_linvo_cinemeta_imdbRating":"Vorgestellt","CATALOG_com_linvo_cinemeta_year":"Neu","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Filme","VIDEO":"Video","BACK":"Zurück","MORE":"Mehr","DONE":"Erledigt","COPY":"Kopieren","SUCCESS":"Erfolg","ERROR":"Fehler","SETTINGS_CASTING_MODE_PICKER":"Casting Modus","CASTING_MODE_HLSV2":"Standard","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Keine Transkodierung","Discover":"Entdecken","Board":"Dashboard","Library":"Bibliothek","My Library":"Meine Bibliothek","Calendar":"Kalender","NOTIFICATION_ONLINE":"Sie sind jetzt online","NOTIFICATION_OFFLINE":"Sie sind gerade offline.","INTERNET_CONNECTION":"Netzwerkverbindung","STORAGE_FULL_TITLE":"Warnung: Speicher voll!","STORAGE_FULL_TEXT":"Stremio kann Ihre Einstellungen, Präferenzen oder Anmeldeinformationen nicht speichern. Erwägen Sie, Stremio neu zu starten oder zu installieren.","SEARCH":"Suche","SEARCH_NO_RESULTS":"Es wurden keine Ergebnisse gefunden","SEARCH_EXPLANATION_CONTENT":"Suche nach Filmen, Serien, YouTube- und Fernsehkanälen","SEARCH_EXPLANATION_PEOPLE":"Suche nach Schauspielern, Regisseuren und Autoren","SEARCH_PASTE_LINKS":"HTTP- und Magnet-Links einfügen","SEARCH_OR_PASTE_LINK":"Suchen oder Link einfügen","SEARCH_SUGGESTIONS":"Suchvorschläge","ADD_TO_LIB":"Zur Bibliothek hinzufügen","REMOVE_FROM_LIB":"Aus Bibliothek entfernen","ADDED_TO_LIB":"Zur Bibliothek hinzugefügt","REMOVED_FROM_LIB":"Aus der Bibliothek entfernt","TRAILER":"Filmvorschau","WATCH_TRAILER":"Filmvorschau ansehen","WATCH_NOW":"Jetzt ansehen","SHOW":"Anzeigen","SHOW_MOVIE":"Zeige Film","WATCH_RANDOM":"Zufälliges ansehen","IMDB_RATING":"IMDb-Bewertung","YEAR":"Jahr","DIRECTOR":"Regisseur","WRITER":"Autor","LEAD_ACTORS":"Hauptdarsteller","CAST":"Besetzung","CREW":"Crew","SHOW_MORE_CAST":"Mehr anzeigen »","AIRED":"Ausgestrahlt","SEASONS":"Staffeln","GENRE":"Genre","GENRE_ALL":"Alle Genres","CATALOG":"Katalog","SUMMARY":"Zusammenfassung","SHOW_MORE":"Zeige mehr","SIMILAR":"Ähnlich","UPCOMING":"Bevorstehend","TBA":"TBA","ENDED":"Beendet","DURATION":"Dauer","FEATURED":"Vorgestellt","METADATA":"Metadaten","CATEGORY":"Kategorie","LINKS_GENRES":"Genres","LINKS_CAST":"Besetzung","LINKS_DIRECTORS":"Regisseure","SEARCH_VIDEOS":"Videos suchen","SEARCH_PLACEHOLDER":"Magnet-Link suchen oder einfügen","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"Offiziell","ADDONS_OFFICIAL":"Offizielle Stremio-Addons","ADDONS_POPULAR":"In Ihrer Gegend beliebt","ADDON_FREE":"frei","ADDON_PEERED":"peer-basiert","ADDON_SUBSCRIPTION":"Abonnement","ADDON_STREAM_GEORESTRICTED":"In Ihrer Gegend nicht verfügbar","ADDON_STREAM_OFFLINECACHE":"Offline-Zwischenspeicher","ADDON_STREAM_LOCALFILE":"Lokale Datei","SHARE_ADDON":"Addon teilen","AVAILABLE_STREAMS":"Verfügbare Streams","NO_STREAM":"Keine Streams verfügbar","ALL_ADDONS":"Alle","INSTALL_MORE_ADDONS":"Um mehr Streams bitte weitere Addons installieren","STREAM_NOT_SUPPORTED":"Ausgewählter Stream wird auf dieser Plattform nicht unterstützt.","ADDON_CATALOGUE":"Alle Addons anzeigen »","ADDON_CATALOGUE_MORE":"Mehr Addons »","REPO_ADDED":"Quelle hinzugefügt","ADDON_REPO_EXIST_ERR":"Diese Addon-Quelle existiert bereits","ADDON_REPO_ERR":"Beim Hinzufügen der Addon-Quelle ist ein Fehler aufgetreten","ADDON_ADD_ERR":"Beim Hinzufügen des Addons ist ein Fehler aufgetreten","ERR_ADDON_PROTECTED":"Geschütztes Addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Etwas ist schief gelaufen - die Authentifizierung ist möglicherweise fehlgeschlagen","ERR_NOT_COLLECTION_URL":"Keine Sammlungs-URL","ERR_NOT_ADDON_URL":"Keine Addon-URL","ERR_DETECTFROMURL":"Kann nicht aus der URL erkannt werden","ADDON_DUPLICATE_WARNING":"Warnung: Addon bereits vorhanden","ADDON_COLLECTION_SET_FAILED":"Addon-Sammlung konnte nicht festgelegt werden","SETTINGS_DATA_EXPORT":"Daten exportieren","ADDON_PULL_FAILED":"Herunterladen des Addons fehlgeschlagen","REFRESH_ON_CLICK":"Hier klicken, um es erneut zu versuchen","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film noch im Kino","WATCH_IN_CINEMA":"Sehen Sie ihn in Ihrem lokalen Kino an","IN_THEATER":"Im Kino","GET_TICKETS":"Karten besorgen","UPCOMING_EPISODE":"Bevorstehende Folge","UPCOMING_EPISODE_MESSAGE":"Diese Folge wird ausgestrahlt am","MISSING_DATE_EPISODE":"Für diese Folge gibt es noch kein Datum","MISSING_DATE_EPISODE_MESSAGE":"Diese Folge wurde möglicherweise noch nicht ausgestrahlt","CHANNEL_NOT_SCRAPED":"Dieser Kanal wurde noch nicht gescraped.<br>Bitte versuchen Sie es in ein paar Minuten noch mal.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Fügen Sie es zu Ihrer Bibliothek hinzu, um benachrichtigt zu werden, sobald es verfügbar ist.","GET_NOTIFIED_WHEN_AVAILABLE":"Sie werden benachrichtigt, sobald es verfügbar ist.","WARNING_STREAMING_SERVER":"Warnung: lokaler Streaming-Server nicht gefunden. Streaming von lokalen Dateien, YouTube und BitTorrent wird nicht verfügbar sein.","WARNING_STREAMING_SERVER_DISMISS":"Schließen","WARNING_STREAMING_SERVER_LATER":"Später","DECODER_WARNING":"Warnung: Dieses Video wird von Ihrer Hardware möglicherweise nicht unterstützt. Denken Sie daran, dass die Wiedergabe langsam sein könnte.","GENERIC_ERROR_MESSAGE":"Etwas ist schiefgelaufen!","TRY_AGAIN":"Nochmal versuchen","CLEAR_DATA":"Daten löschen","PLAYER_ERROR":"Hoppla, Abspielerfehler","PLAYER_ERROR_LOOKSLIKE":"Es sieht aus wie","PLAYER_ORIENTATION":"Abspielerausrichtung","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Gesperrt","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Abspielerausrichtung im Querformat fixiert","PLAYER_ORIENTATION_SENSOR":"Abspielerausrichtung automatisch (Sensor)","PLAYER_PLAYBACK_SPEED":"Wiedergabegeschwindigkeit","PLAYER_PLAYBACK_ERROR":"Wiedergabefehler, bitte versuchen Sie es erneut","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unbekannter Fehler","PLAYER_PLAYBACK_ERROR_DEFAULT":"Entschuldigung, dieses Video kann nicht von {{productName}} abgespielt werden.","PLAYER_SUBTITLES_LANGUAGES":"Untertitel Sprachen","PLAYER_SUBTITLES_VARIANTS":"Untertitel Varianten","PLAYER_SUBTITLES_SETTINGS":"Untertitel Einstellungen","PLAYER_SUBTITLES_DISABLED":"Untertitel sind deaktiviert","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertikale Position","PLAYER_SUBTITLES_LOADED":"Untertitel geladen","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Eingebettete Untertitel geladen","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exklusive Untertitel geladen","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Untertitel von {{origin}} geladen","PLAYER_PLAY":"Abspielen","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Nächstes Video","PLAYER_MUTE":"Stummschalten","PLAYER_UNMUTE":"Ton einschalten","PLAYER_OPEN_IN_EXTERNAL":"In externem Player öffnen","PLAYER_OPEN_IN_NPLAYER":"In nPlayer öffnen","PLAYER_PLAY_IN":"Auf {{device}} abspielen","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Als Nächstes im Programm","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Als Nächstes","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Ablehnen","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Jetzt ansehen","PLAYER_COPY_STREAM_SUCCESS":"Stream-Link wurde in die Zwischenablage kopiert","PLAYER_COPY_STREAM_ERROR":"Stream-Link konnte nicht kopiert werden","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download-Link wurde in die Zwischenablage kopiert","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Download-Link konnte nicht kopiert werden","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"wiedergegeben von","CASTING_TO":"Casting nach","NETWORK_STATUS":"Netzwerkstatus","STREAM_SPEED":"Stream-Geschwindigkeit:","STREAM_BUFFERED":"Gepuffert:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Aktiv:","PEERS_CONNECTED":"Verbunden:","PEERS_WAITING":"Warten:","TRANSCODING_WARNING":"Warnung: Video wird transkodiert.","STREAM_LOADING":"Ladevorgang...","PLAYING_LOCAL":"Wiedergabe aus lokaler Datei","PLAYING_CACHE":"Wiedergabe aus Zwischenspeicher","WRONG_SUBS":"Falsche Untertitel?","ERR_SUBS_LOADING_TITLE":"Fehler beim Laden der Untertitel","ERR_SUBS_LOADING":"Fehler beim Laden der Untertitel: Dies könnte ein Problem mit dem verwendeten Addon oder Ihrer Netzwerkverbindung sein","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Die folgenden Untertitel-Addons sind fehlgeschlagen","ERR_CASTING_UPDATE_TITLE":"Casting-Geräteinformationen konnten nicht aktualisiert werden: Streaming-Server könnte offline sein","CHOOSE_DEVICE":"Wählen Sie ein Gerät aus, auf dem Sie zuschauen möchten","NO_CAST_DEVICES":"Keine Casting-Geräte vorhanden.","NO_SETTINGS":"Keine Einstellungen verfügbar","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Untertitel","SUBTITLES_CHANGE":"Untertitel ändern für ","SUBTITLES_CHANGE_NONE":"Es gibt keine anderen Untertitel für diese Sprache, Entschuldigung.","SUBTITLES_CHANGE_ACIVE":"Derzeit sind Untertitel #{{subtitlesDialog.activeIdx + 1}} aktiviert. Klicken Sie auf \\"Fortsetzen\\", um Untertitel #{{subtitlesDialog.pickedIdx + 1}}. zu aktivieren","SUBTITLES_OR":"Alternativ,","SUBTITLES_ADJUST_DELAY":"Untertitelverzögerung anpassen:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Oder verwenden Sie die Tasten <span>G</span> / <span>H</span> zum Anpassen während der Wiedergabe.","SUBTITLES_ADJUST_DELAY_TIP":"TIPP: Sie können die Tasten <span>G</span> / <span>H</span> zum Anpassen während der Wiedergabe verwenden.","SUBTITLES_DELAY":"Untertitelverzögerung:","SUBTITLES_LOADING":"Untertitel werden geladen...","SUBTITLES_UNAVAILABLE":"Keine externen Untertitel verfügbar","SUBTITLES_DISABLED":"Deaktiviert","EXTERNAL_PLAYER_DISABLED":"Deaktiviert","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Auswahl erlauben","EXTERNAL_PLAYER_HINT":"Hinweis: Es gibt eine Einstellung, um immer mit externem Player zu öffnen","DONT_SHOW_AGAIN":"Nicht mehr anzeigen","SERVICE_INSTALL":"Installieren","AUDIO":"Audio","DEFAULT_LANGUAGE":"Standard-Sprache","DEFAULT_SECONDARY_LANGUAGE":"Standard-Sekundärsprache","SEASON":"Staffel","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sortieren","SORT_BY":"Sortieren nach","FILTER":"filtern","SORT_TRENDING":"im Trend","SORT_RECENT":"kürzlich","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"Bewertung","SORT_WATCHED":"gesehen","SORT_YEAR":"Jahr","SELECT":"Select","SELECT_TYPE":"Typ auswählen","SELECT_SORT":"Sortierung auswählen","SELECT_CATALOG":"Katalog auswählen","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Genre auswählen","SORT_LASTWATCHED":"Nach zuletzt gesehen","SORT_NAME":"Nach Name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Nach Anzahl gesehen","SORT_NOTWATCHED":"Nicht gesehen","New for You":"Neu für Sie","New Episodes":"Neue Episoden","New Videos":"Neue Videos","Recommendations":"Empfehlungen","LIBRARY_RESUME":"Fortsetzen","LIBRARY_PLAY":"Abspielen","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"Ablehnen","LIBRARY_CLEAR_PROGRESS":"Fortschritt löschen","LIBRARY_REMOVE":"Entfernen","LIBRARY_NOT_LOGGED_IN":"Bibliothek ist nur für angemeldete Benutzer verfügbar","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Kalender ist nur für angemeldete Benutzer verfügbar","NOT_LOGGED_IN_CLOUD":"Greifen Sie jederzeit und überall auf Ihre Lieblingsfilme und Serien zu","NOT_LOGGED_IN_RECOMMENDATIONS":"Empfehlungen basierend auf Ihrem Sehverhalten","NOT_LOGGED_IN_NOTIFICATIONS":"Verpassen Sie nie wieder eine Episode","NOT_LOGGED_IN_CALENDAR":"Planen Sie Ihren persönlichen Serien-Kalender","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Ausgewählt","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar-Gewinner","DISCOVER_WARNING_TITLE":"Hoppla!","DISCOVER_EMPTY_CATALOG":"Dieses Addon liefert leeren Inhalt.","DISCOVER_ADULT_WARNING":"Diese Inhalte sind nur für Erwachsene sichtbar. Sind Sie über 18?","DISCOVER_NOADDON_WARNING":"Warnung: Für diesen Typ ist kein Stremio-Addon aktiv. Gespeicherte Elemente werden angezeigt, nichts wird hier aktualisiert.","DISCOVER_LOAD_ERR":"Diese Inhalte konnten nicht geladen werden, da ein Fehler vorlag.","DISCOVER_ADDON_UNINSTALLED":"Diese Inhalte sind nicht mehr verfügbar. Möglicherweise wurde das Addon deinstalliert.","UNINSTALL_THIS_ADDON":"Dieses Addon deinstallieren","ERR_ADDON_NOT_INSTALLED":"Dieses Addon ist nicht installiert. Jetzt installieren?","DETAIL_RECEIVE_NOTIF_SERIES":"Benachrichtigungen über neue Episoden erhalten","DETAIL_RECEIVE_NOTIF_VIDEOS":"Benachrichtigungen über neue Videos erhalten","SIDEBAR_SHOW_STREAMS":"Streams zeigen","RELAUNCH":"Jetzt neu starten!","UPGRADE":"Neue Version ist verfügbar! Aktualisieren Sie auf die neueste Stremio-Version","RELOAD_UI":"Benutzeroberfläche neu laden","MANUAL_UPDATE_TITLE":"Aktualisieren Sie Ihre Stremio-Version","MANUAL_UPDATE_LINE1":"Sie nutzen eine veraltete Version von Stremio, was nicht empfohlen wird.","MANUAL_UPDATE_LINE2":"Bitte aktualisieren Sie schnellstmöglich.","BUTTON_UPDATE_LATTER":"Nicht jetzt","BUTTON_UPDATE_NOW":"Aktualisieren","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonymer Benutzer","DONT_HAVE_ACC":"Sie haben kein Konto?","HAVE_ACC":"Sie haben bereits ein Konto?","PASSWORD":"Passwort","PASSWORD_CONFIRM":"Passwort bestätigen","EMAIL":"E-Mail","FB_LOGIN":"Mit Facebook anmelden","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Ohne Ihre Berechtigung wird nichts geteilt","FB_NOPOST":"Wir werden nichts in Ihrem Namen posten","OR":"oder","I_ACCEPT":"Ich akzeptiere die","I_ACCEPT_BY_CLICKING":"Wenn Sie auf die obige Schaltfläche klicken, bestätigen Sie, dass Sie die ","TOS":"Nutzungsbedingungen annehmen","MUST_ACCEPT_TERMS":"Sie müssen die Bedingungen annehmen","PASSWORDS_NOMATCH":"Passwörter stimmen nicht überein","SIGN_UP":"Registrieren","SIGN_UP_EMAIL":"Mit E-Mail registrieren","CLICK_TO_SIGN_UP":"Klicken Sie hier, um sich zu registrieren.","LOG_IN":"Anmelden","LOG_OUT":"Abmelden","EXIT_FULLSCREEN":"Vollbildmodus verlassen","ENTER_FULLSCREEN":"Vollbildmodus aktivieren","PLAY_URL_MAGNET_LINK":"URL/Magnet-Link abspielen","HELP_FEEDBACK":"Hilfe und Feedback","TERMS_OF_SERVICE":"Nutzungsbedingungen","PRIVACY_POLICY":"Datenschutzerklärung","ABOUT_STREMIO":"Über Stremio","USER_PANEL":"Nutzerpanel","LOGIN_LABEL":"Anmeldung","GUEST_LOGIN":"Gast-Anmeldung","GUEST_LOGIN_NOTICE":"Gast-Anmeldung wird nicht empfohlen. Mit einer regelmäßigen Anmeldung kann Stremio Ihre Bibliothek synchronisieren und Sie können Benachrichtigungen für Ihre Lieblingserien/-kanäle erhalten. Sind Sie sicher, dass Sie fortfahren möchten?","GUEST_LOGIN_NOTICE_2":"Gast-Anmeldung wird nicht empfohlen - Sie werden keine Bibliotheks- und Dasboard-Benachrichtigungen synchronisiert haben, die wichtige Stremio-Funktionen sind. Sind Sie sicher, dass Sie fortfahren möchten?","CLICK_HERE":"Klicken Sie hier","WRONG_PASSWORD":"Falsche E-Mail-Adresse oder Passwort. Falls Sie Ihr Passwort vergessen haben, ","SET_A_PASS":"Passwort festlegen","RESET_PASSWORD":"Passwort zurücksetzen","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Passwort vergessen?","EMAIL_USED_WITH_FB":"Diese E-Mail-Adresse wurde mit einer Facebook-Anmeldung verwendet.","INVALID_EMAIL":"Bitte geben Sie eine gültige E-Mail-Adresse ein","INVALID_PASSWORD":"Bitte geben Sie ein gültiges Passwort ein","CONN_ERR":"Verbindungsfehler - bitte versuchen Sie es später noch einmal.\\n\\nWenn dies weiterhin besteht, deaktivieren Sie Firewalls/Antivirus-Software (vor allem Bitdefender).","IMPORT_FROM_GUEST":"Bibliothek von Ihrem Gastkonto importieren","RECEIVE_UPDATES_EMAIL":"Aktualisierungen in Ihrer E-Mail von Stremio erhalten","LOGIN_FAILED":"Anmeldung fehlgeschlagen.","SIGNUP_FAILED":"Registrierung fehlgeschlagen.","SEARCH_FAILED":"Suche fehlgeschlagen","EMAIL_USED":"Diese E-Mail-Adresse wird bereits verwendet","WAITING_FB_LOGIN":"Anmeldung mit Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Wiedergabe im externen Player","EXTERNAL_REMEMBER_PLAYER":"Möchten Sie Ihre Auswahl in Erinnerung behalten?","EXTERNAL_ALWAYS_PLAY":"Ja","EXTERNAL_ONLY_ONCE":"Nein","BEST_FIT":"Beste Anpassung","FIT_SCREEN":"In Bildschirm einpassen","FILL":"Ausfüllen","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Erzählen Sie uns, was Sie mögen","INTRO_TASTE_LONG":"Erzählen Sie uns, was Sie gerne sehen möchten","INTRO_TASTE_PICK":"Wählen Sie {{interestsRemaining}} Interessen aus","INTRO_TASTE_PICK_MORE":"Wählen Sie {{interestsRemaining}} weitere Interessen aus","INTRO_TASTE_HELP_US":"Helfen Sie uns, mehr über Sie zu erfahren.","INTRO_TASTE_CHOOSE_THESE":"Wählen Sie einige davon:","INTRO_TASTE_CHOOSE_MIN":"Wählen Sie mindestens 3 Kategorien aus","INTRO_TASTE_CHOOSE_MIN_ERR":"Sie müssen mindestens 3 Kategorien auswählen!","INTRO_TASTE_LIFESTYLE":"Lebensstil","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Essen & Gesundheit","INTRO_TASTE_BEAUTY_FASHION":"Schönheit & Mode","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Spielen","INTRO_TASTE_SCIENCE_EDU":"Wissenschaft & Bildung","INTRO_TASTE_MUSIC":"Musik","INTRO_TASTE_TRAVEL":"Reise","INTRO_TASTE_LATE_NIGHT":"Late-Night-Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Kino","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Ausgewähltes Addon wird auf dieser Plattform nicht unterstützt.","ADDON_DISCLAIMER":"Die Verwendung von Drittanbieter-Addons unterliegt immer Ihrer Verantwortung und dem Recht der Gerichtsbarkeit, in der Sie sich befinden.","ADDON_ACTIVATE":"Dieses Addon aktivieren?","ADDON_REPO_ADD":"Addon-Sammlung URL","ADDON_ADD":"Hinzufügen","INSTALL_ADDON":"Addon installieren","ADD_ADDON":"Addon hinzufügen","ADD_ADDON_DESCRIPTION":"Sie können ein Addon über einen externen Link hinzufügen, das dann unter Installierte Addons erscheint.","PASTE_ADDON_URL":"Addon-URL einfügen","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Was gibt\'s Neues","BUTTON_CONTINUE":"Fortsetzen","BUTTON_ACTIVATE":"Aktivieren","BUTTON_ACTIVATED":"Aktiviert","BUTTON_CANCEL":"Abbrechen","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Senden","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Alle ablehnen","BUTTON_VIEW_ALL":"Alle ansehen","BUTTON_SEE_ALL":"Alle anzeigen","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Im Browser öffnen","LIB_EMPTY":"Ihre Bibliothek sieht leer aus. Finden Sie heraus, wie nützlich sie ist :) ","HOW_START":"So können Sie anfangen:","LIB_EMPTY_CAL":"Ihr Kalender zeigt die Serien in Ihrer Bibliothek an.","HOW_START_CAL":"So können Sie Serien hinzufügen:","LIB_EMPTY_BOARD":"Dashboard zeigt Benachrichtigungen & Empfehlungen zu Ihrer Bibliothek an.","HOW_START_BOARD_WAIT":"Bitte fügen Sie ein paar Serien oder Kanäle zu Ihrer Bibliothek hinzu und geben uns ein paar Minuten zum Verarbeiten :)","HOW_START_BOARD":"So können Sie Serien & Filme zu ihr hinzufügen:","IMPORT_FB":"Importieren Sie Dinge von <span>Facebook</span>, die Sie mögen","IMPORT_TRAKT":"Importieren Sie Ihre Medienbibliothek von <span>Trakt</span>","IMPORT_DISCOVER":"Finden Sie interessante Sachen von <span>Entdecken</span>","IMPORT_DISK":"Importieren Sie Filme oder Shows, die Sie auf Ihrer <span>lokalen Festplatte</span> haben","PLEASE_CREATE_ACC":"Bitte <u>erstellen Sie ein Konto</u>, um das Synchronisieren der Bibliothek und des Dashboards zu ermöglichen.","IMPORT_DISCOVER_SIGNUP":"Registrieren Sie sich und finden Sie interessante Sachen von <span>Entdecken</span>","IMPORT_DISK_SIGNUP":"Registrieren Sie sich und importieren Sie Filme oder Shows, die Sie auf Ihrer <span>lokalen Festplatte</span> haben","LIB_EMPTY_CLOUD":"Cloud-Bibliothek","LIB_EMPTY_CLOUD_DESC":"Persönliche Cloud-Bibliothek auf allen Geräten synchronisiert","LIB_EMPTY_EARLY":"Früher Vogel","LIB_EMPTY_EARLY_DESC":"Erhalten Sie Benachrichtigungen für neue Episoden","LIB_EMPTY_PERSONAL":"Persönlich","LIB_EMPTY_PERSONAL_DESC":"Holen Sie sich persönliche Empfehlungen","LIB_EMPTY_CALENDAR_DESC":"Planen Sie Ihren persönlichen Anschau-Kalender","LIB_EMPTY_ALL":"Registrieren Sie sich, um all dies zu bekommen:","LIB_EMPTY_BEST":"Registrieren Sie sich, um das Beste von Stremio zu bekommen","LIB_EMPTY_OTHER":"Registrieren Sie sich, um Kalender & andere tolle Funktionen zu aktivieren","CALENDAR_ADDED":"Der Stremio-Kalender wurde zu Ihrem Standard-Desktop-Kalender hinzugefügt.","CALENDAR_ADDED_MSG":"Wenn dies nicht funktioniert, fügen Sie diese URL bitte manuell zu Ihrer Kalenderanwendung hinzu","TRAKT_EXPIRED":"Trakt-Authentifizierung abgelaufen, bitte gehen Sie zu den Einstellungen und authentifizieren Sie sich erneut","TRAKT_REQUIRES_LOGIN":"Trakt-Fehler","TRAKT_REQUIRES_LOGIN_MSG":"Sie müssen sich anmelden","TRAKT_IMPORT_WATCHED":"Importieren","THEME":"Design","THEME_DEFAULT":"Standard","THEME_ADAPTIVE":"Adaptiv","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Einstellungen","SETTINGS_NAV_GENERAL":"Allgemein","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Verknüpfungen","SETTINGS_SHORTCUT_RELOAD_APP":"App neu laden","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Einstellungen öffnen","SETTINGS_SHORTCUT_SWITCH_TABS":"Tabs wechseln","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Vorwärts durch Tabs blättern","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Rückwärts durch Tabs blättern","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Zwischen Menüs navigieren","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Zur Suche gehen","SETTINGS_SHORTCUT_EXIT_BACK":"Beenden / Zurück","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Wiedergabegeschwindigkeit-Menü umschalten","SETTINGS_SHORTCUT_MENU_VIDEOS":"Videos-Menü umschalten","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Untertitel-Menü umschalten","SETTINGS_SHORTCUT_MENU_AUDIO":"Audio-Menü umschalten","SETTINGS_SHORTCUT_MENU_INFO":"Info-Menü umschalten","SETTINGS_SHORTCUT_FULLSCREEN":"Vollbild umschalten","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Steuerung anzeigen","SETTINGS_SHORTCUT_PLAY_PAUSE":"Wiedergabe / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Lautstärke erhöhen","SETTINGS_SHORTCUT_VOLUME_DOWN":"Lautstärke verringern","SETTINGS_SHORTCUT_SEEK_NEXT":"Vorwärts springen","SETTINGS_SHORTCUT_SEEK_PREV":"Rückwärts springen","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Zurückspulen","SETTINGS_SHORTCUT_SEEK_FORWARD":"Vorspulen","SETTINGS_SHORTCUT_PLAY_NEXT":"Nächstes abspielen","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Untertitelgröße erhöhen","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Untertitelgröße verringern","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Untertitelverzögerung erhöhen","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Untertitelverzögerung verringern","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Seitenleiste umschalten","SETTINGS_SHORTCUT_OR":"oder","SETTINGS_SHORTCUT_TO":"bis","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Leertaste","SETTINGS_SHORTCUT_SHIFT":"Umschalttaste","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authentifizieren","SETTINGS_FACEBOOK_IMPORT":"Importieren","SETTINGS_CALENDAR_SUBSCRIBE":"Abonnieren","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Kalender-App wurde geöffnet. Bitte abonnieren Sie den Kalender manuell.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Kalenderdatei wurde heruntergeladen. Bitte importieren Sie sie in Ihre Kalender-App.","SETTINGS_INTERFACE_LANGUAGE":"Sprache","SETTINGS_LAUNCH_STARTUP":"Beim Start ausführen","SETTINGS_VLC_DEFAULT":"Mit VLC wiedergeben","SETTINGS_UI_LANGUAGE":"Sprache","SETTINGS_UI_ZOOM":"Oberflächenzoom","SETTINGS_FULLSCREEN_EXIT":"Esc-Taste beendet den Vollbildmodus","SETTINGS_GAMEPAD":"Gamepad-Unterstützung aktivieren","SETTINGS_CLOSE_WINDOW":"Anwendungen beenden, wenn das Fenster geschlossen wird","SETTINGS_SUBTITLES_LANGUAGE":"Standardauswahl für die Untertitelsprache","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Standardgröße der Untertitel","SETTINGS_SUBTITLES_BACKGROUND":"Hintergrund der Untertitel","SETTINGS_SUBTITLES_COLOR":"Farbe der Untertitel","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Umrandungsfarbe der Untertitel","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Hintergrundfarbe der Untertitel","SETTINGS_SEEK_KEY":"Zeitsprung mit Pfeiltasten","SETTINGS_SEEK_KEY_SHIFT":"Zeitsprung mit Pfeiltasten bei gedrückter Umschalttaste","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rückspul- & Vorspuldauer","SETTINGS_BINGE":"Nächste Episode automatisch wiedergeben","SETTINGS_NEXT_VIDEO":"Benachrichtigung zum Start der nächsten Episode anzeigen","SETTINGS_NEXT_VIDEO_TRIGGER":"Nächste Episode-Benachrichtigung anzeigen für:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Dauer des Popup für nächstes Video","SETTINGS_PLAY_IN_BACKGROUND":"Im Hintergrund abspielen","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"In externem Player abspielen","SETTINGS_RESIZE":"Größe des Fensters vor der Wiedergabe automatisch ändern","SETTINGS_OVERRIDE_SERVER":"Streaming-Server-URL überschreiben (erweitert)","SETTINGS_SERVER_ADD_URL":"URL hinzufügen","SETTINGS_SERVER_URL":"Streaming-Server-URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming-Server ist verfügbar.","SETTINGS_SERVER_UNAVAILABLE":"Streaming-Server ist nichtverfügbar.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Fehler","SETTINGS_SERVER_CONFIGURE_TITLE":"Streaming-Server-URL konfigurieren","SETTINGS_SERVER_CONFIGURE_INPUT":"Geben Sie eine Streaming-Server-URL ein","SETTINGS_SERVER_CACHE_SIZE":"Zwischenspeicher-Größe","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent-Profil","SETTINGS_HTTPS_ENDPOINT":"Streaming-HTTPS-Endpunkt: ","SETTINGS_TRANSCODE_PROFILE":"Transkodierungsprofil","SETTINGS_USE_BETA":"Immer neueste Beta verwenden","SETTINGS_IMPORT_FB":"Von Facebook importieren","SETTINGS_IMPORT_DISK":"Von lokaler Festplatte importieren","SETTINGS_IMPORT_TRAKT":"Von Trakt importieren","SETTINGS_PAUSE_MINIMIZED":"Wiedergabe pausieren, wenn die Anwendung minimiert wird","SETTINGS_HWDEC":"Hardwarebeschleunigte Dekodierung","SETTINGS_BACKGROUND":"Hintergrund-Wiedergabe","SETTINGS_SUBSCRIBE_CALENDAR":"Kalender abonnieren","SETTINGS_REQ_EXPORT":"Datenexport anfordern","SETTINGS_ACC_DELETE":"Kontolöschung anfordern","SETTINGS_CHANGE_PASSWORD":"Passwort ändern","SETTINGS_TOS":"Nutzungsbedingungen","SETTINGS_SUPPORT":"Kundendienst kontaktieren","SETTING_LANGUAGE":"Sprache","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Von Trakt.tv abmelden","SETTINGS_TRAKT_LOGOUT_2":"Von Trakt abmelden","SETTINGS_SCAN_FOR_REMOTE":"QR-Code zum Öffnen der Fernbedienung scannen","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop-Benachrichtigungen","SETTINGS_DATA_SAVER":"Datenretter","SETTINGS_LANGUAGE_INTERFACE":"Oberfläche","SETTINGS_LANGUAGE_SUBS":"Standarduntertitel","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Audiospur automatisch auswählen","SETTINGS_DEFAULT_AUDIO_TRACK":"Standard-Audiospur","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround-Sound","SETTINGS_ACCOUNT":"Konto","SETTINGS_PLATFORM":"Plattform","SETTINGS_VERSION":"Version","SETTINGS_ABOUT":"Über","SETTINGS_MPV_WINDOW":"Abspieler in einem separaten Fenster starten (erweitert)","SETTINGS_PLAY_IN_EXTERNAL":"Video immer im externen Player starten","SETTINGS_STORAGE_BUTTON":"Lokalen Speicher leeren","SETTINGS_STORAGE_MODAL_TITLE":"Sind Sie sicher?","SETTINGS_STORAGE_MODAL_MESSAGE":"Dies wird den lokalen Speicher leeren und Sie auslogggen.","SETTINGS_HWDEC_PICKER":"Einstellung für hardwarebeschleunigte Dekodierung wählen","SETTINGS_HW_AUTOMATIC":"Automatik","SETTINGS_HW_DISABLED":"Deaktiviert","SETTINGS_HW_ACCELERATED":"Dekodier-Beschleunigung","SETTINGS_HW_FULL":"Vollständige Beschleunigung","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Deaktiviert","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Netzwerkverbindungsbenachrichtigung","SETTINGS_ANALYTICS":"Analyse erlauben","SETTINGS_REMOTE_URL":"Remote-URL","SETTINGS_COPY_REMOTE_URL":"Remote-URL kopieren","SETTINGS_REMOTE_URL_COPIED":"Remote-URL wurde in die Zwischenablage kopiert","SETTINGS_SECTION_SUBTITLES":"Untertitel","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Steuerung","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Erweitert","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addon-Untertitel","SUBSPICKER_BLACK_BACKGROUND":"Schwarze Hintergrundfarbe verwenden","SUBSPICKER_VERTICAL_OFFSET":"Vertikaler Offset","SUBSPICKER_SIZE":"Größe","SUBSPICKER_DELAY":"Verzögerung","SUBSPICKER_EMBEDDED_SUBS":"Eingebettete Untertitel","MOBILE_PRIVACY_POLICY":"Datenschutzbestimmungen","MOBILE_CRASH_REPORTING":"Absturzbericht","MOBILE_ZOOM_TO_FILL":"Bildschirm ausfüllen","MOBILE_PASSTHROUGH":"Digitaler Audioausgang (Passthrough)","MOBILE_RUN_LOW_BATTERY":"Bei niedrigem Akkustand ausführen","MOBILE_RUN_FOREGROUND":"Als Vordergrund-Dienst ausführen","MOBILE_PERFORMANCE":"LEISTUNG & STABILITÄT","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code läuft ab in ","MOBILE_LOG_INTO":"Mit Ihrem Stremio Konto anmelden ","MOBILE_SCAN_QR":"Scannen Sie den QR Code oder gehen Sie zu ","MOBILE_LINK_ACCOUNT":"Konto verbinden","MOBILE_SPEEDPICKER_CANCEL":"Abbrechen","MOBILE_SPEEDPICKER_LABEL":"Wiedergabegeschwindigkeit wählen","MOBILE_EMPTY_LIBRARY":"Ihre Bibliothek ist leer","MOBILE_NO_ADDON_ACTIVE":"Kein Stremio-Addon für diesen Typ aktiv.","MOBILE_ORGANIZER_WARNING":"Die Stremio Organizer App bietet eingeschränkte Funktionalität. Für eine Liste der abspielbaren Streams und das vollständige Stremio-Erlebnis nutzen Sie bitte Stremio auf dem Desktop.","MOBILE_ADDON_LOADING":"lädt noch","MOBILE_ADDONS_LOADING":"Addons laden noch","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Konfigurieren Sie Ihr Addon","MOBILE_CONFIGURE_ADDON_LABEL":"Addon konfigurieren","MOBILE_ORGANIZER_ADDONS_WARNING":"Die Stremio Organizer App bietet eine eingeschränkte Auswahl an Addons. Für das vollständige Stremio-Erlebnis nutzen Sie bitte Stremio auf dem Desktop.","MOBILE_DISCONNECT":"Trennen","MOBILE_LOOKING_FOR_DEVICES":"Suche nach Geräten...","MOBILE_CAST_TO":"Übertragen an","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Konto löschen","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Die Kontolöschung erfolgt aufgrund rechtlicher Verpflichtungen nicht sofort. Nach der Beantragung der Löschung Ihres Kontos müssen Sie in Zukunft eine andere E-Mail-Adresse/ein anderes Facebook-Profil verwenden, um ein neues Stremio-Konto zu erstellen.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Kontolöschung bestätigen","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ihr Konto wurde mit Facebook erstellt. Um Ihr Konto zu löschen, nutzen Sie bitte unser Benutzerportal unter www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Bitte geben Sie Ihr Passwort ein, um die Kontolöschung zu bestätigen.","MOBILE_DELETE_ACCOUNT_BUTTON":"Konto löschen","NAVIGATION_ON":"An","NAVIGATION_OFF":"Aus","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Ich bin damit einverstanden, von Stremio Marketingmitteilungen zu erhalten","QUIT":"Beenden","CONNECTED":"Verbunden","AUTHENTICATE":"Authentifizieren","AUTHENTICATING":"Authenticating...","CACHING":"Zwischenspeicherung","SETTINGS_CACHING_DRIVE":"Zwischenspeicherungslaufwerk","ENABLE_LOCAL_FILES_ADDON":"Lokales Dateien-Addon aktivieren (Neustart erforderlich)","LOCAL_ADDON_NOT_ENABLED":"Lokales Addon ist nicht aktiviert. Klicken Sie hier, um zu den Einstellungen zu gehen und es zu aktivieren","ENABLE_REMOTE_HTTPS_CONN":"Remote HTTPS-Verbindungen aktivieren","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Datenzwischenspeicherung","MAGNET_PARSING":"Magnet-Link wird geparst","January":"Januar","February":"Februar","March":"März","April":"April","May":"Mai","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"Dezember","Monday":"Montag","Tuesday":"Dienstag","Wednesday":"Mittwoch","Thursday":"Donnerstag","Friday":"Freitag","Saturday":"Samstag","Sunday":"Sonntag","Action":"Action","Comedy":"Comedy","War":"Krieg","Family":"Familie","Animation":"Animation","Adventure":"Abenteuer","Fantasy":"Fantasy","Crime":"Krimi","Mystery":"Mystery","Romance":"Romantik","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Musik","Biography":"Biografie","Documentary":"Dokumentation","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Nachrichten","History":"Geschichte","Game-Show":"Spielshow","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Unterhaltung","Gaming":"Gaming","From TV":"Vom Fernsehen","Lifestyle":"Lebensstil","Science & Education":"Wissenschaft & Bildung","Cooking & Health":"Kochen & Gesundheit","Beauty & Fashion":"Schönheit & Mode","Sports":"Sport","News & Politics":"News & Politik","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automobil","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Filme","Uk Live Tv":"Uk Live Tv","Fashion":"Mode","Business News Radio":"Business News Radio","Business Tv":"Geschäftsfernsehen","Cars & Auto":"Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lebensstilradio","News Tv":"News Tv","Food And Wine":"Essen und Wein","Latino Tv":"Latino Tv","Shopping Tv":"Verkaufsfernsehen","Religion":"Religion","Kids":"Kinder","Body & Soul":"Körper & Seele","Education":"Bildung","Indian Tv":"Indisches Tv","Extreme Sports":"Extremsport","Middle Eastern Tv":"Tv des Mittleren Ostens","Celebrity Tv":"Promifernsehen","Science Tv":"Wissenschaftsfernsehen","Bikini babe":"Bademode","Outdoors":"Outdoors","German Tv":"Deutsches Fernsehen","French Tv":"Französisches Fernsehen","Italian Tv":"Italienisches Fernsehen","Gamer Tv":"Spielerfernsehen","Travel":"Reise","Asian Tv":"Asiatisches Fernsehen","Entertainment":"Unterhaltung","News Radio":"Nachrichtenradio","Music Radio":"Musikradio","Language Learning":"Sprachen lernen","Science Radio":"Wissenschaftsradio","Tech Radio":"Tech Radio","Science & Technology Vod":"Abrufvideo Wissenschaft & Technologie","new video":"neues Video","new episode":"neue Episode","new movie":"neuer Film","recommended":"empfohlen","we recommend":"wir empfehlen","offer of the day":"Angebot des Tages","news":"Nachrichten","music video":"Musikvideo","CTX_SHOW_HOTKEYS":"Hotkeys anzeigen","CTX_DISMISS_NOTIF":"Benachrichtigungen ablehnen","CTX_DISMISS_ALL":"Alles ablehnen","CTX_SHARE":"Teilen","CTX_COPY_SHARE_LINK":"Freigabelink kopieren","CTX_COPY_MAGNET_LINK":"Magnet-Link kopieren","CTX_COPY_STREAM_LINK":"Stream-Link kopieren","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Video-Download-Link kopieren","CTX_DOWNLOAD_VIDEO":"Dieses Video herunterladen","CTX_DOWNLOAD_SUBS":"Untertitel herunterladen","CTX_VIEW_ON_YOUTUBE":"Auf YouTube ansehen","CTX_SHOW":"Anzeigen","CTX_PLAY":"Wiedergabe","CTX_PLAY_IN":"Wiedergabe in","CTX_PLAY_ON":"Wiedergabe auf","CTX_WATCH_ON":"Angesehen am","CTX_WATCH":"Ansehen","CTX_WATCHED":"Angesehen","CTX_WATCH_BEGINNING":"Von Anfang an ansehen","CTX_WATCH_MOBILE":"Auf einem mobilen Gerät ansehen","CTX_REWIND":"Zurückspulen zum Anfang","CTX_MARK_WATCHED":"Als angesehen markieren","CTX_MARK_NON_WATCHED":"Als nicht angesehen markieren","CTX_MARK_UNWATCHED":"Als nicht angesehen markieren","CTX_MARK_REST":"Rest als angesehen markieren","CTX_UNMARK_REST":"Rest als nicht angesehen markieren","CTX_RECEIVE_NEW_NOTIF":"Neue Benachrichtigungen erhalten","CTX_ENABLE_NEW_NOTIF":"Benachrichtigungen aktivieren","CTX_DISABLE_NEW_NOTIF":"Benachrichtigungen deaktivieren","CTX_REMOVE_CACHE":"Aus Zwischenspeicher entfernen","CTX_REMOVE_CACHE_EP":"Episode aus Zwischenspeicher entfernen","CTX_OPEN_CONTAINING":"Enthaltenden Ordner öffnen","CTX_REMOVE":"Aus Bibliothek entfernen","CTX_AVAILABLE_OFFLINE":"Offline verfügbar","CTX_PAUSED":"Pausiert","CTX_ALWAYS_ON_TOP":"Immer oben","CTX_FULLSCREEN":"Vollbild","CTX_WRONG_SUBS":"Falsche Untertitel?","CTX_REPORT_ISSUES":"Problem melden","CTX_COPY":"Kopieren","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Einfügen","CTX_CLEAR":"Löschen","CTX_CLEAR_RECENT_SEARCHES":"Kürzliche Suchanfragen löschen","HELLO_THERE":"Hallöchen","HOPE_YOU_ENJOY":"Wir hoffen, dass Sie Stremio genießen und es schon eine Ihrer Lieblings-Apps ist!","WHO_ARE_WE":"Wer sind wir? Wir sind das Team dahinter - zwei Jungs, die jeden Tag seit den letzten 3 Jahren hart arbeiten, um dieses Produkt besser und besser zu machen.","SUPPORT_US":"Wenn Sie Stremio gerne verwenden, wenn Stremio für Sie wertvoll ist - sagen Sie es weiter!","SPREAD_THE_WORD":"Teilen Sie es jetzt mit Ihren Freunden, erzählen Sie Stremio weiter","MORE_PEOPLE":"Je mehr Menschen Stremio benutzen, desto besser wird es!","SEND_A_LINK":"Oder senden Sie einen Link zu unserer Website","TIP_LOCALFILES":"Tipp: Sie können lokale Videodateien per Drag & Drop in Stremio verschieben","ADDON_MY":"Meine Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Offizielle Addons","ADDON_REPOS":"Addon-Quellen","ADDON_SEARCH":"Addons suchen","ADDON_INSTALL":"Installieren","ADDON_CONFIGURE":"Konfigurieren","ADDON_UNINSTALL":"Deinstallieren","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installiert","ADDON_INSTALLED_MSG":"Addon installiert!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unbekannt","ADDON_ERR":"Addon-Installationsfehler!","ADDON_DISCONNECTED":"Getrennt","ADDON_APP_MISSING":"die App für diese Quelle ist nicht installiert. Möchten Sie sie jetzt installieren?","ADDON_APP_INSTALL":"Jetzt installieren","ADDON_PAGE":"Addon-Seite","ADDON_TOP_CONTENT":"Bestes aus diesem Addon","ADDON_PROVIDES":"Dieses Addon gibt Ihnen:","ADDON_WATCH":"#{types} jetzt ansehen!","ADDON_WATCH_FREE":"#{types} jetzt KOSTENLOS ansehen!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Unterstützte Typen","ADDON_SUPPORTED_CATALOGS":"Unterstützte Kataloge","ADDON_PROVIDES_DISCOVER":"Mehr #{types} in Entdecken","ADDON_PROVIDES_STREAMS":"#{types} ansehen","ADDON_PROVIDES_STREAMS_FREE":"#{types} KOSTENLOS ansehen","ADDON_PROVIDES_SUBTITLES":"Untertitel für #{types}","ADDON_CANTDETECT":"Wir konnten kein laufendes Stremio erkennen, deshalb konnten wir nicht erkennen, welche Addons Sie installiert haben.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Keine Informationen dazu gefunden ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Fehler beim Abrufen von Informationen darüber.","ERR_CANT_PARSE_MAGNET":"Kann Magnet nicht parsen","ERR_NO_MAGNET_INFOHASH":"Kein gültiger Info-Hash für Magnet","ERR_NO_FILE_PATH":"Kann keine Anfrage ohne Pfad zur Datei senden","ERR_NO_TORRENT":"Kein Torrent zurückgegeben","ERR_NO_SUPPORTERD_FILES":"Keine unterstützten Dateien gefunden","ERR_OPENING_FILES":"Externe Dateien konnten nicht geöffnet werden","ERR_INVALID_LINK":"Ungültiger Link","ERR_REGISTERED_ONLY":"Diese Option ist nur für registrierte Benutzer verfügbar.","ERR_CLIPBOARD":"Wiedergabe aus Zwischenablage nicht möglich","ERR_CLIPBOARD_READ":"Zwischenablage kann auf dieser Plattform nicht gelesen werden","ERR_CLIPBOARD_GENERIC":"Keine abspielbare URL in der Zwischenablage gefunden. Bitte kopieren Sie eine URL (z.B. einen Magnet-Link) zu einem Video.","BOARD_CONTINUE_WATCHING":"Weiter ansehen","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filme, die speziell für Sie ausgewählt wurden.<br />Dieser Film ist eine Beispielempfehlung.","BOARD_EXPLANATION_EPISODES":"Neue Episoden Ihrer Lieblingsserie kommen hierher.<br />Fügen Sie Serien, denen Sie folgen, zu Ihrer Bibliothek hinzu.","BOARD_EXPLANATION_VIDEOS":"Neue Episoden Ihrer Lieblingskanäle kommen hierher.<br />Fügen Sie YouTube-Kanäle, denen Sie folgen, zu Ihrer Bibliothek hinzu.","WEBSITE_ENJOYED_BY":"Von über 30 Millionen Nutzern weltweit geschätzt","WEBSITE_STREAMING_ENHANCED":"Streaming verbessert","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio bietet ein sicheres, modernes und nahtloses Unterhaltungserlebnis. Mit seiner benutzerfreundlichen Oberfläche und vielfältigen Inhaltsbibliothek, einschließlich 4K HDR-Unterstützung, können Nutzer ihre Lieblingsfilme und TV-Serien auf allen Geräten genießen. Mit seinem Fokus auf Sicherheit ist Stremio die ultimative Wahl für ein sorgenfreies Streaming-Erlebnis in hoher Qualität.","WEBSITE_AVAILABLE_ON":"Verfügbar für","WEBSITE_WATCH_AND_ENJOY":"Schauen & Genießen.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio macht es kinderleicht","WEBSITE_ALL_FEATURES":"Alle Funktionen","WEBSITE_EASY_TO_USE":"Einfach zu bedienen","WEBSITE_EASY_TO_USE_DETAILS":"Stremio wurde entwickelt, um benutzerfreundlich und einfach zu bedienen zu sein. Mit seiner übersichtlichen und intuitiven Oberfläche können Sie problemlos navigieren und die gewünschten Inhalte finden.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Nahtlos über alle Geräte","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Verfügbar für eine Vielzahl von Plattformen (inkl. Windows, Mac, Linux, Android und mehr), behält Stremio Ihren Fortschritt über alle Ihre Geräte hinweg bei. Melden Sie sich einfach an und schauen Sie weiter, ohne die App auf jedem neuen Gerät neu konfigurieren zu müssen.","WEBSITE_ALL_DOWNLOADS":"Alle Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition-Video-Unterstützung","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Ein integrierter Videoplayer, der die meisten Videoformate unterstützt, einschließlich 4K HDR-Inhalte, ermöglicht Ihnen den Genuss der höchsten verfügbaren Qualität.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Vielfältige Inhaltsbibliothek","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integriert sich mit einer großen Anzahl beliebter Videoquellen wie Netflix, Amazon Prime Video, Hulu, YouTube und vielen mehr.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Kostenloses Konto erstellen","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Maßgeschneidertes Seherlebnis","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio ermöglicht es Ihnen, das Aussehen der Benutzeroberfläche durch Ändern des Designs, Hinzufügen oder Entfernen von Addons und mehr anzupassen.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Mehrsprachige Untertitel-Unterstützung","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Sie können jetzt alle Lieblingsinhalte in Ihrer bevorzugten Sprache genießen, da Stremio Untertitel in allen Sprachen unterstützt.","WEBSITE_ALL_STREMIO_FEATURES":"Alle Stremio-Funktionen","WEBSITE_TRY_STREMIO_TITLE_P1":"Testen Sie Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Jetzt auf Ihrem Fernseher","WEBSITE_YOU_CAN_NOW_WATCH":"Sie können jetzt alle Lieblingsserien auf Ihren Android TV-Geräten ansehen. Die Stremio TV-App ermöglicht Ihnen einen entspannten Filmabend.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Sie können jetzt alle Lieblingsserien auf Ihrem Smart TV oder Android TV ansehen. Die Stremio TV-Apps ermöglichen Ihnen einen entspannten Filmabend.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio für Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Wahrscheinlich die beste und nützlichste App, die man auf seinem Gerät haben kann. Es ist eine der Apps, die ich seit vielen Jahren täglich nutze, besonders auf meinem Android TV. Gut gemacht mit einer starken Community, die nützliche Funktionen bereitstellt. Gut gemacht. Weiter so.","WEBSITE_REVIEWS":"Bewertungen","WEBSITE_GET_STREMIO_FOR_FREE":"Holen Sie sich Stremio kostenlos","WEBSITE_GET_STREMIO_NOW":"Holen Sie sich Stremio jetzt","WEBSITE_STREMIO_FEATURES":"Stremio-Funktionen","WEBSITE_STREMIO_FEATURES_DETAILS":"Streamen Sie wie ein Profi mit Stremios erweiterten Funktionen und genießen Sie nahtlosen Zugriff auf all Ihre Lieblingsmedien","WEBSITE_DISCOVER_MORE":"Entdecken Sie mehr.","WEBSITE_DISCOVER_MORE_DETAILS":"Endlose Unterhaltung garantiert","WEBSITE_COMMUNITY_DRIVEN":"Von der Community entwickelt","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio hat eine große und aktive Community von Nutzern, die durch das Erstellen und Teilen von Addons zur Entwicklung der Software beitragen.","WEBSITE_GET_INVOLVED":"Machen Sie mit","WEBSITE_NEW_THEATER_EXPERIENCE":"Neues Kino-Erlebnis","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremios neue TV-App ermöglicht Ihnen einen Filmabend auf Ihren Android TV-Geräten.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremios neue TV-Apps ermöglichen Ihnen einen Filmabend auf Ihrem Smart TV oder Android TV-Geräten.","WEBSITE_FREE_AND_SECURE":"Kostenlos & Sicher","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio bietet unübertroffene Sicherheit und Privatsphäre für Benutzer. Mit seiner einzigartigen Funktion, Addons remote auszuführen, bietet Stremio im Vergleich zu anderen Plattformen eine sicherere Möglichkeit, Ihre Lieblingsinhalte zu streamen. Ihre Sicherheit und Privatsphäre haben oberste Priorität, und die Plattform stellt sicher, dass alle Ihre Daten geschützt sind.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Verabschieden Sie sich von Sorgen um Sicherheit und Privatsphäre und begrüßen Sie eine Welt der endlosen Unterhaltung mit Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informationen bereitgestellt von","WEBSITE_CONTRIBUTE_DESC":"zum Projekt & helfen Sie uns, Stremio noch besser zu machen","WEBSITE_COMMUNITY_DESC":"Wir glauben, dass der beste Weg, ein wirklich erstaunliches Streaming-Erlebnis zu schaffen, darin besteht, unsere Community in den Prozess einzubinden. Ob Sie Programmierer, Künstler oder einfach nur Fan sind - Sie können helfen, Stremio weiterzuentwickeln.","WEBSITE_COMMUNITY_DESC_2":"Machen Sie also noch heute mit und werden Sie Teil der Stremio-Community und gestalten Sie weiterhin die Zukunft des Streamings.","WEBSITE_WAYS_TO_GET_INVOLVED":"Möglichkeiten zum Mitmachen","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in der Stremio-Community","WEBSITE_SHARE_YOUR_THOUGHTS":"Teilen Sie Ihre Gedanken","WEBSITE_REPORT_BUGS":"Melden Sie Fehler","WEBSITE_SUGGEST_FEATURES":"schlagen Sie Funktionen vor","WEBSITE_AND_PROVIDE_FEEDBACK":"und geben Sie Feedback in unseren sozialen Medien.","WEBSITE_BETA_TESTING_PROGRAM":"Beta-Testprogramm","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Nehmen Sie an unserem Beta-Testprogramm teil (wir verschicken regelmäßig Einladungen).","WEBSITE_JOIN_NOW":"Jetzt beitreten!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Offizielle Stremio-Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Inoffizielle Stremio-Communities","WEBSITE_BECOME":"Werden Sie","WEBSITE_A_VOLUNTEER_TRANSLATOR":"freiwilliger Übersetzer","WEBSITE_ARE_YOU_A_DEVELOPER":"Sind Sie Entwickler?","WEBSITE_CONTRIBUTE_CODE":"Sie können Code zu unseren Open-Source-Projekten beitragen. Wir haben mehrere Projekte auf GitHub, die nach Mitwirkenden suchen. Wenn Sie interessiert sind zu helfen, schauen Sie hier:","WEBSITE_STREMIO_ON_GITHUB":"Stremio auf GitHub","WEBSITE_CREATE_ADDON_DESC":"Erstellen Sie ein Addon zur Erweiterung von Stremios Funktionalität (wir haben eine benutzerfreundliche API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio-Addon SDK","WEBSITE_INTERN_DEVELOPER":"Wir bieten auch die Möglichkeit, als Praktikant in der Entwicklung bei uns einzusteigen, damit wir gemeinsam wachsen können.","WEBSITE_APPLY_AS_AN_INTERN":"Als Praktikant bewerben","WEBSITE_CALLING_ALL_ARTISTS":"Aufruf an alle Künstler!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Zeigen Sie Ihre Kreativität und Ihre Begeisterung für Stremio, indem Sie Ihre Fan-Art in unserer Online-Galerie hochladen. Ob Zeichnung, Gemälde oder digitales Design - wir möchten Ihre einzigartige Interpretation der Marke Stremio sehen. Werden Sie Teil unserer Kunstgemeinschaft und teilen Sie Ihre Werke mit Stremio-Fans auf der ganzen Welt.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart-Galerie","WEBSITE_INTERN_DESIGNER":"Werden Sie Teil unseres Teams und entfalten Sie Ihre Kreativität mit unseren spannenden Praktikumsmöglichkeiten.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Filme Projekt","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Bei Stremio setzen wir uns dafür ein, die Film- und Fernsehgeschichte zu bewahren, indem wir gemeinfreie und verwaiste Videos identifizieren. Durch die Zusammenarbeit mit unserer Community können wir sicherstellen, dass diese klassischen Kunstwerke für alle zugänglich und für zukünftige Generationen erhalten bleiben.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Kontaktieren Sie uns gerne, wenn Sie sich an diesem Projekt beteiligen möchten.","WEBSITE_JOIN_THE_PROJECT":"Projekt beitreten","WEBSITE_BE_PART_OF_OUR_MISSION":"Werden Sie Teil unserer Mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interessiert daran, Teil des Stremio-Teams zu werden? Wir bieten vollständig remote Arbeit für engagierte Fachkräfte. Schauen Sie sich unsere offenen Stellen an.","WEBSITE_OPEN_POSITIONS":"OFFENE STELLEN","WEBSITE_DESCRIPTION":"BESCHREIBUNG","WEBSITE_LEARN_MORE":"Mehr erfahren","WEBSITE_COMPANY":"Unternehmen","WEBSITE_CONTACTS":"Kontakte","WEBSITE_NEED_HELP":"Hilfe gefällig?","WEBSITE_STREMIO_WEB_ON_IOS":"Anleitung für Stremio Web auf iOS","WEBSITE_LINK_ART_V2":"Fanart-Galerie","WEBSITE_PARTNERS":"Partner","WEBSITE_SLOGAN_WATCH":"Sofort ansehen","WEBSITE_SLOGAN_ALL":"Alle Videoinhalte, die Sie an einem Ort genießen","WEBSITE_SLOGAN_NEW":"Alles, was Sie sehen können","WEBSITE_SLOGAN_NEW_NEW":"Streaming ohne Einschränkungen","WEBSITE_WATCH_FROM":"Ansehen von","WEBSITE_DOWNLOAD":"Jetzt herunterladen","WEBSITE_DOWNLOAD_FOR":"Jetzt herunterladen für","WEBSITE_IS_DESKTOP":"Stremio ist eine Desktop-Anwendung, öffnen Sie diese Seite auf Ihrem PC und laden Sie sie herunter","WEBSITE_DESKTOP_DEMO_VID":"Desktop-Demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Funktionen","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technologie","WEBSITE_PAGE_CREATE_ADDON":"Addon erstellen","WEBSITE_PAGE_CONTACTS":"Kontakte","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Bitte geben Sie unten Ihr gewünschtes neues Passwort ein.","WEBSITE_RESET_PASSWORD_WARNING":"Sind Sie sicher, dass Sie das Passwort für ${1} zurücksetzen möchten?","WEBSITE_TYPE_movie":"Filme","WEBSITE_TYPE_series_PL":"Serien","WEBSITE_TYPE_tv":"Live-Fernsehen","WEBSITE_TYPE_channel":"Kanäle","WEBSITE_STREMIO_WHAT_IS":"Stremio ist eine App, die Ihnen hilft, Ihre Lieblingsvideos, Filme, Fernsehserien und Fernsehkanäle zu organisieren und sofort anzusehen.","WEBSITE_FEATURES_WATCH":"Sofort in HD ansehen","WEBSITE_FEATURES_WATCH_DETAIL":"Klicken und geben Sie Ihre Lieblingsfilme, Fernsehshows, Videos und Fernsehkanäle wieder.","WEBSITE_FEATURES_SUBS":"Automatische Untertitel","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio holt automatisch synchronisierte Untertitel für Ihre Sprache.","WEBSITE_FEATURES_SUBS_LABEL":"Sie sind dran, Chef.","WEBSITE_FEATURES_CAST":"Auf Fernseher & mobilen Geräten wiedergeben","WEBSITE_FEATURES_CAST_DETAIL":"An AppleTV, Chromecast, Smart TV (DLNA/UPnP) und mobile Geräte übertragen.","WEBSITE_LIB":"Genießen Sie Ihre persönliche synchronisierte Bibliothek auf all Ihren Geräten","WEBSITE_LIB_COLLECT":"Von Stremio sammeln","WEBSITE_LIB_IMPORT":"Von Facebook importieren","WEBSITE_LIB_LOCAL":"Von Ihrer lokaler Festplatte hinzufügen","WEBSITE_BOARD":"Das Dashboard - Ihr zentraler Ort für Benachrichtigungen und Empfehlungen","WEBSITE_BOARD_RECOMMEND":"Empfohlene Fernsehshow","WEBSITE_BOARD_TRENDING":"Film im Trend","WEBSITE_BOARD_NEW":"Neues Video","WEBSITE_BOARD_EPISODE":"Neue Episode","WEBSITE_BOARD_1":"Suchen Sie etwas Interessantes zum Anschauen? Holen Sie sich Empfehlungen nach Ihrem Geschmack!","WEBSITE_BOARD_2":"Lassen Sie sich benachrichtigen, wenn eine neue Episode Ihrer Lieblingssendung oder Ihres Lieblingskanals auf YouTube veröffentlicht wurde!","WEBSITE_BOARD_YOUTUBE":"Neue Videos von YouTube-Kanälen","WEBSITE_BOARD_EPISODES":"Neue Episoden von Serien, denen Sie folgen","WEBSITE_ADDONS":"Inhalts-Addons","WEBSITE_TECH_DETAIL":"Wir lieben Technologie, wir lieben verrückte Wissenschaft!\\nStremio verwendet die folgenden Open-Source-Technologien:","WEBSITE_TECH_WCJS":"WebChimera.js erlaubt Stremio die Wiedergabe jedes Videoformats mit guter Leistung.","WEBSITE_TECH_WCJS_EXTRA":"Wir sind Kern-Projektbeitragende","WEBSITE_TECH_ELECTRON":"Electron bietet eine innovative Plattform, um Stremio damit zu bauen.","WEBSITE_TECH_ELECTRON_EXTRA":"Wir sind Projektbeitragende","WEBSITE_TECH_LINVODB":"Eine Datenbank-Technologie, die sicherstellt, dass Ihre Daten organisiert und überall verfügbar sind, wo Sie sich anmelden.","WEBSITE_TECH_LINVODB_EXTRA":"Hauseigene Technologie","WEBSITE_CREATE_ADDON":"Erstellen Sie Ihr Addon","WEBSITE_CREATE_ADDON_DETAIL":"Haben Sie einen Dienst, der Videoinhalte anbietet? Wir helfen Ihnen, von den Funktionen von Stremio zu profitieren, indem wir Ihr Addon erstellen.","WEBSITE_CREATE_ADDON_BENEFITS":"Vorteile vom Erstellen eines Addons für Stremio","WEBSITE_P2P_BEAUTY":"Die Schönheit von Peer-to-Peer-Streaming","WEBSITE_P2P_1":"Zuverlässige und erschwingliche Full HD / 4K Video on Demand oder Live-Streaming","WEBSITE_P2P_2":"Verteilungsplattform für großartige Benutzererfahrung","WEBSITE_P2P_3":"Wir erstellen ein Addon, das Ihre genauen Bedürfnisse erfüllt","WEBSITE_P2P_CONTACT":"Interessiert? Sie sind herzlich eingeladen, <a href=\'mailto:office@stremio.com\'>uns zu kontaktieren</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Wir helfen Ihnen gerne bei der Integration Ihrer Inhalte mit Stremio!","WEBSITE_P2P":"Gelegentlich kommt eine Technologie, die den Namen des Spiels ändert. Wir haben viel Zeit und Mühe investiert, unsere Peer-to-Peer (P2P) Video-Streaming-Engine zu bauen, die eine hervorragende Leistung und Vielseitigkeit bietet, um sich jedem Anwendungsfall anzupassen.\\nKontaktieren Sie uns für DRM-fähiges P2P-Abrufvideo oder Live-Streaming.","WEBSITE_THOUGHTS":"Gedanken, die wir teilen:","WEBSITE_SPREAD":"Erzählen Sie über Stremio:","WEBSITE_CONTACT":"Kontaktieren Sie uns, wir freuen uns von Ihnen zu hören!","WEBSITE_OPENSOURCE":"Für unsere Open-Source-Projekte, gehen Sie zu unserem","WEBSITE_BITCOIN":"Bitcoin spenden:","WEBSITE_FAQ":"Häufig gestellte Fragen","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Fragen","WEBSITE_TOS":"Nutzungsbedingungen","WEBSITE_LEGAL":"Rechtlich","WEBSITE_PAGE_ABOUT":"Über","WEBSITE_PAGE_BECOME_PARTNER":"Werden Sie Partner","WEBSITE_ALL_YOU_CAN_WATCH":"Alles, was Sie ansehen können","WEBSITE_FREEDOM_TO_STREAM":"Streaming ohne Einschränkungen","WEBSITE_WHAT_IS_STREMIO":"Was ist Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio ist eine zentrale Anlaufstelle für Video-Content-Aggregation. Entdecken, organisieren und schauen Sie Videos aus allen möglichen Quellen auf jedem Ihrer Geräte.","WEBSITE_WHAT_IS_STREMIO_P2":"Filme, TV-Shows, Serien, Live-Fernsehen oder Web-Kanäle wie YouTube und Twitch.tv - all das finden Sie auf Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio ist ein modernes Mediencenter, das eine Komplettlösung für Ihre Videounterhaltung bietet. Sie entdecken, schauen und organisieren Videoinhalte über einfach zu installierende Addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filme, TV-Shows, Live-TV oder Web-Kanäle - finden Sie all das auf Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Genießen Sie es auf all Ihren Mediengeräten.","WEBSITE_DEVICES_COLLECT":"Von Stremio abholen","WEBSITE_DEVICES_IMPORT_FB":"Von Facebook importieren","WEBSITE_DEVICES_LOCAL":"Von lokalem Laufwerk hinzufügen","WEBSITE_JOIN_THE_PARTY_NOW":"Seien Sie jetzt dabei","WEBSITE_DEVICES_ALL":"Einfach zu bedienen auf all Ihren Geräten;","WEBSITE_EXTENDABLE_CATALOG":"Unbegrenzt erweiterbarer Video-Katalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Großartige Funktionen zur Organisation Ihrer Medien;","WEBSITE_AS_SEEN_ON":"Wie gesehen am","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Über uns","WEBSITE_LINK_TECHNOLOGY":"Technologie","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"Mehr","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Beitragen","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Mehr","WEBSITE_LINK_HELP":"Hilfezentrum","WEBSITE_LINK_CONTACTS":"Kontaktieren Sie uns","WEBSITE_LINK_TOS":"Nutzungsbedingungen","WEBSITE_LINK_PRAVACY":"Datenschutzerklärung","WEBSITE_SUBSCRIBE":"Abonnieren","WEBSITE_NEWSLETTER":"Abonnieren Sie unseren Newsletter für spannende Neuigkeiten","WEBSITE_PLACEHOLDER_EMAIL":"Ihre E-Mail","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Datenschutz & Rechtliches","WEBSITE_WHY":"Warum wir es tun","WEBSITE_WHY_P1":"Bei Stremio kommen wir jeden Tag zur Arbeit, weil wir ein wichtiges Problem der Video-on-Demand-Branche lösen wollen. Es wird so viel neuer Content pro Minute veröffentlicht, dass es praktisch unmöglich ist, sich darin zurechtzufinden.","WEBSITE_WHY_P2":"Wir helfen Menschen, sich in dieser riesigen Welt der Videounterhaltung zurechtzufinden und neue Inhalte zu entdecken. Unsere Apps vereinen Filme, Serien, Live-TV, Web-Kanäle und mehr. Wir setzen uns dafür ein, dass Nutzer ihre bevorzugten Titel und Sender unglaublich einfach finden können.","WEBSITE_WHY_P3":"Sie können unseren Service auf jedem Gerät und zu jeder Zeit nutzen, wodurch Stremio die einzige Anlaufstelle für Videounterhaltung ist, die Sie jemals brauchen werden.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"Das Stremio-Team ist klein, aber schlagkräftig: Zu zehnt programmieren wir in X Sprachen und teilen Expertise in Softwareentwicklung, UI- und UX-Design, Marketing und Werbung sowie in Business und Startups.","WEBSITE_FEATURES":"Funktionen","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Entdecken Sie neue Inhalte mit Leichtigkeit","WEBSITE_FEATURES_DISCOVER_P":"Entdecken Sie mühelos neue Filme, TV-Shows, Serien und Kanäle zum Anschauen. Durchsuchen Sie nach Kategorie, Genre, Bewertung, Aktualität etc. oder geben Sie einfach einen Namen ein. Stremio macht das Finden neuer Videoinhalte zum Kinderspiel.","WEBSITE_FEATURES_ALL_CONTENT":"All Ihre Videoinhalte auf einem Bildschirm","WEBSITE_FEATURES_ALL_CONTENT_P1":"Sehen Sie, welche Filme, Serien oder Videos Sie nicht beendet haben und schauen Sie weiter; erhalten Sie Benachrichtigungen über neue Episoden und Veröffentlichungen; und durchstöbern Sie die Empfehlungen, die Sie basierend auf Ihren Sehgewohnheiten erhalten.","WEBSITE_FEATURES_LIBRARY":"Organisieren Sie Ihre Videobibliothek","WEBSITE_FEATURES_LIBRARY_P1":"Fügen Sie jeden Titel mit einem einzigen Klick zu Ihrer Stremio-Bibliothek hinzu und finden Sie sich in Ihren Inhalten zurecht, übersichtlich sortiert nach Art, Aktualität oder alphabetischer Reihenfolge.","WEBSITE_FEATURES_CALENDAR":"Behalten Sie alles im Blick, was Sie schauen","WEBSITE_FEATURES_CALENDAR_P1":"Erhalten Sie eine Kalenderansicht aller Filme und Serien, die Sie Ihrer Bibliothek hinzufügen. Exportieren und synchronisieren Sie Ihren Stremio-Kalender, damit Sie immer wissen, wann eine neue Episode oder Premiere ansteht.","WEBSITE_FEATURES_BIG_SCREEN":"Genießen Sie Ihre Videoinhalte auf einem größeren Bildschirm","WEBSITE_FEATURES_BIG_SCREEN_P1":"Übertragen Sie mit einem Klick, was Sie gerade schauen, auf ein anderes Gerät - sei es ein Smartphone, Tablet oder Fernseher.","WEBSITE_FEATURES_SOURCES":"Schauen Sie Videos aus vielen verschiedenen Quellen","WEBSITE_FEATURES_SOURCES_P":"Installieren Sie offizielle und Community-Addons, um Videos von verschiedenen Anbietern zu genießen - alles in einer eleganten, benutzerfreundlichen App.","WEBSITE_CREATE_AN_ADDON":"Addon erstellen","WEBSITE_FEATURES_SYNC":"Synchronisieren Sie Ihre Bibliothek über verschiedene Geräte und setzen Sie die Wiedergabe fort","WEBSITE_FEATURES_SYNC_P1":"Melden Sie sich mit Ihrem Konto auf allen Ihren Geräten an und genießen Sie Ihre synchronisierte Bibliothek, Addons, Wiedergabe und Kalender.","WEBSITE_FEATURES_EXTENDABLE":"Erweiterbarer Video-Katalog durch Addons","WEBSITE_FEATURES_EXTENDABLE_P1":"Der Stremio-Addon-Katalog bietet eine Vielzahl von Addons zum Installieren und Ansehen verschiedener Videoinhalte. Dazu gehören Filme, Shows, Live-TV, Sport, Nachrichten, Podcasts, Web-Kanäle, Videospiele und mehr.","WEBSITE_FEATURES_AUTO_SUBS":"Automatische Untertitel","WEBSITE_FEATURES_AUTO_SUBS_P1":"Mit unseren Untertitel-Addons erhalten Sie automatisch ausgewählte Optionen für Ihre bevorzugte Sprache.","WEBSITE_FEATURES_CHROMECAST":"Übertragung auf Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Genießen Sie Ihre Videoinhalte auf einem größeren Bildschirm oder übertragen Sie einfach, was Sie gerade schauen, auf ein anderes Gerät.","WEBSITE_FEATURES_KEEP_TRACK":"Behalten Sie Ihre Lieblings-TV-Shows und Web-Kanäle im Blick","WEBSITE_FEATURES_KEEP_TRACK_P1":"Erhalten Sie eine Kalenderansicht und Benachrichtigungen für neue Episoden Ihrer Lieblingsserien und Web-Kanäle.","WEBSITE_FEATURES_POWER_USER":"Funktionen für Power-User","WEBSITE_FEATURES_POWER_USER_P1":"Wiedergabe in externem Player","WEBSITE_FEATURES_POWER_USER_P2":"Wiedergabe von Torrent-Datei oder Magnet-Link","WEBSITE_FEATURES_POWER_USER_P3":"Import in Ihre Bibliothek von Facebook-Likes oder lokalem Speicher","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"Alle Videoinhalte, die Stremio bereitstellt, werden über ein Addon-System bezogen - keine Inhalte oder Anbieter sind direkt in die App eingebaut.","WEBSITE_ADD_ONS_P2":"Es gibt zwei Gruppen von Addons: offizielle und Community-Addons.","WEBSITE_ADD_ONS_P3":"Die offiziellen werden von Stremio entwickelt und gehostet, während Community-Addons von unseren Community-Mitgliedern erstellt und gehostet werden.","WEBSITE_ADDONS_OFFICIAL":"Offizielle Addons","WEBSITE_ADDONS_WATCHUB":"Streamen Sie Ihre Lieblingsfilme, -serien und -shows von Anbietern wie iTunes, Hulu, Amazon und anderen UK/US-Diensten.","WEBSITE_ADDONS_YOUTUBE":"Schauen Sie Ihre bevorzugten YouTube-Kanäle werbefrei und erhalten Sie Benachrichtigungen über neue Uploads von den Erstellern, denen Sie folgen.","WEBSITE_ADDONS_FILMON":"Schauen Sie kostenlos Live-TV, Filme und Social Television. 600 TV-Kanäle, 45.000 kostenlose Filme, Dokumentationen und mehr.","WEBSITE_ADDONS_OPENSUBTITLES":"Film- und TV-Untertitel in mehreren Sprachen, täglich werden tausende übersetzte Untertitel hochgeladen.","WEBSITE_ADDONS_COMMUNITY":"Community-Addons","WEBSITE_ADDONS_FILMON_VOD":"Schauen Sie Video-on-Demand von Filmon.tv","WEBSITE_ADDONS_TWICH":"Schauen Sie Live-Streams von Twitch.tv - einer Videostreaming-Plattform für die E-Sports-Branche.","WEBSITE_ADDONS_VODO":"Schauen Sie Indie-Filme völlig kostenlos.","WEBSITE_ADDONS_NETFLIX":"Schauen Sie Netflix-Filme und Webserien.","WEBSITE_ADDONS_CREATE":"Addon erstellen","WEBSITE_ADDONS_CREATE_P1":"Wenn Sie möchten, können Sie Ihr eigenes Addon entwickeln. Auf diese Weise können Sie sich selbst und unserer Community Zugang zu neuen Videoinhalten verschaffen und ein neues, gezieltes Publikum von Millionen von Nutzern weltweit erreichen.","WEBSITE_ADDONS_START_CREATE":"Besuchen Sie zum Einstieg die Stremio-Addon SDK-Seite:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"Für optimale Leistung empfehlen wir die Nutzung der neuesten verfügbaren Version der Stremio-Apps. Falls Sie aus irgendeinem Grund jedoch eine ältere Version verwenden möchten, können Sie diese hier herunterladen.","WEBSITE_DOWNLOADS_P1_SHORT":"Für optimale Leistung empfehlen wir die Nutzung der neuesten verfügbaren Version der Stremio-Apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio für Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio für macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio für Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio für Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio für Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio für Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio für Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio für iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio für Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio für LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio für Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio für Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio für Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio für Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio für Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio für Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio für Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio für Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Suchen Sie nach Stremio im App Store von Samsung TV-Modellen ab 2019","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Suchen Sie nach Stremio im App Store von LG TV-Modellen ab 2020","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Suchen Sie nach Stremio in der Play Store App auf Sony TV mit Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Suchen Sie nach Stremio in der Play Store App auf Philips TV mit Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Suchen Sie nach Stremio im App Store Ihres Xbox-Geräts","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Anleitung für Stremio OS auf RPI","WEBSITE_LINK_GUIDE":"Anleitung","WEBSITE_DOWNLOAD_SERVICE":"Stremio Service herunterladen","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service ist eine Begleit-App für Stremio Web. Wir empfehlen die Nutzung der neuesten verfügbaren Version von Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service für Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service für macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service für Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service für Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio für Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Mehr Download Optionen","WEBSITE_DOWNLOAD_NEW":"Neu!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Wir haben Stremio Web veröffentlicht","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Wir haben Stremio für Samsung TV veröffentlicht","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Wir haben Stremio für LG TV veröffentlicht","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Wir haben Stremio für Xbox veröffentlicht","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Wir haben Stremio für Raspberry Pi veröffentlicht","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Wir haben Stremio 5 für Windows veröffentlicht","WEBSITE_CONTRIBUTE":"Tragen Sie bei","WEBSITE_CONTRIBUTE_P1":"Die Stremio-Plattform ist Open Source und Sie können einfach ein Addon für Inhalte erstellen, die aktuell nicht verfügbar sind.","WEBSITE_CONTRIBUTE_WHY":"Warum sollten Sie ein Addon erstellen?","WEBSITE_CONTRIBUTE_WHY_P1":"Erreichen Sie neue Zielgruppen für Ihre Videoinhalte","WEBSITE_CONTRIBUTE_WHY_P2":"Stremios Nutzerbasis wächst rasant - im ersten Jahr nach der Einführung hatte Stremio bereits 1 Million Nutzer weltweit, und im zweiten Jahr stieg diese Zahl auf 2,5 Millionen.","WEBSITE_CONTRIBUTE_WHY_P3":"Mit Ihrem Addon können Sie diese Zielgruppe einfach erreichen und Ihre Videoinhalte an sie verteilen.","WEBSITE_CONTRIBUTE_ALL":"Schauen Sie Ihre Lieblingsfilme, -videos, -serien und -kanäle an einem einzigen Ort.","WEBSITE_CONTRIBUTE_ALL_P1":"Sind Sie Fan von bestimmten Inhalten, die es auf Stremio noch nicht gibt? Erstellen Sie ein Addon dafür und genießen Sie Ihre Lieblingsvideos in einer der größten und benutzerfreundlichsten Unterhaltungszentralen auf dem Markt.","WEBSITE_CONTRIBUTE_ALL_P2":"Darüber hinaus erhalten Sie die endlose Dankbarkeit anderer gleichgesinnter Stremio-Community-Mitglieder.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetarisieren Sie Ihr Addon und verdienen Sie damit Geld","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Sobald Sie ein neues Addon für Stremio entwickelt haben, können Sie es auf verschiedene Arten monetarisieren. Wenn Sie dies in Betracht ziehen, kontaktieren Sie uns gerne unter ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - wir beraten Sie gerne zu den Monetarisierungsmöglichkeiten für Addons.","WEBSITE_CONTRIBUTE_TRANSLATE":"Werden Sie freiwilliger Übersetzer","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Wenn Sie die Stremio-Apps in verschiedenen Sprachen genießen möchten, können Sie sich unserer Community freiwilliger Übersetzer anschließen. Sie helfen uns, Versionen von Stremio in vielen verschiedenen Sprachen anzubieten.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Möchten Sie direkt loslegen?","WEBSITE_TRANSALTE_STREMIO":"Stremio übersetzen","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Offizielle Communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Werden Sie Teil der wachsenden Stremio-Community. Folgen Sie uns in den sozialen Medien und scheuen Sie sich nicht, Hallo zu sagen - wir freuen uns über jede Nachricht unserer Fans!","WEBSITE_COMMUNITY_UNOFFICIALS":"Inoffiziell","STREMIO_COMMUNITY_NL":"Stremio Niederlande","STREMIO_COMMUNITY_BRASIL":"Stremio Brasilien","STREMIO_COMMUNITY_GERMANY":"Stremio Deutschland","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgien","STREMIO_COMMUNITY_FRANCE":"Stremio Frankreich","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italien","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexiko","STREMIO_COMMUNITY_ADDONS":"Stremio-Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partner und Unterstützer","WEBSITE_COMMUNITY_GOODIES":"Stremio-Goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Hintergrundbilder","WEBSITE_COMMUNITY_ART":"Community-Kunstgalerie","WEBSITE_LINK_ART":"Community-Kunstgalerie","WEBSITE_CONTACT_US":"Kontaktieren Sie uns","WEBSITE_CONTACT_US_P1":"Wenn Sie Fragen, Kommentare oder Vorschläge haben, können Sie uns gerne über das untenstehende Kontaktformular erreichen.","WEBSITE_CONTACT_US_P2":"Bitte beachten Sie, dass wir uns in Bulgarien befinden, sodass es aufgrund der Zeitzonenunterschiede zu Verzögerungen bei der Bearbeitung Ihrer Anfrage kommen kann.","WEBSITE_CONTACT_US_SUCCESS":"Ihre Nachricht wurde gesendet. Wir werden uns schnellstmöglich bei Ihnen melden.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Bitte geben Sie eine gültige E-Mail-Adresse ein!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Worauf bezieht sich Ihre Frage?","WEBSITE_CONTACT_US_Q_OS":"Was ist Ihr Betriebssystem?","WEBSITE_CONTACT_US_PH_EMAIL":"Ihre E-Mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Nachricht","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SENDEN","WEBSITE_CONTACT_US_Q_1":"Wie installiere ich?","WEBSITE_CONTACT_US_Q_2":"Wie deinstalliere ich?","WEBSITE_CONTACT_US_Q_3":"(HTML) Wie macht man Lasagne?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technologie","WEBSITE_TECHNOLOGY_P1":"Wir lieben Technologie und verrückte Wissenschaft. </br> Hier ist, was Stremio antreibt (es ist alles Open-Source).","WEBSITE_TECHNOLOGY_P_QT":"Plattformübergreifende Softwareentwicklung vom Feinsten.","WEBSITE_TECHNOLOGY_P_MPV":"Ein kostenloser, quelloffener und plattformübergreifender Media Player.","WEBSITE_TECHNOLOGY_P_RN":"React Native ermöglicht die Entwicklung mobiler Apps nur mit JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"In die Anwendung eingebettetes Media-Framework für Multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm ist eine mobile Plattform und ein Ersatz für SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js ist eine quelloffene, plattformübergreifende JavaScript-Laufzeitumgebung.","WEBSITE_TECHNOLOGY_P_RUST":"Rust ist eine Multi-Paradigmen-Systemprogrammiersprache mit Fokus auf Sicherheit, insbesondere sichere Nebenläufigkeit.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Zum Projekt beitragen","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Es gibt zwei Möglichkeiten, wie Sie zu Stremio beitragen und uns helfen können, das Produkt noch besser zu machen.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Sie können Ihre wertvollen Sprachkenntnisse durch Übersetzen der Plattform einbringen...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"oder","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... Sie können Ihre Programmierkenntnisse für die Erstellung von Community-Addons einsetzen.","WEBSITE_TRANSLATE_STREMIO":"Stremio übersetzen","WEBSITE_404_OH_NO":"Oh nein! Die gesuchte Seite ist nicht hier...","WEBSITE_GO_HOME":"Zur Startseite","WEBSITE_LINK_OTHER_DOWNLOADS":"Weitere Downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Jetzt Stremio 4 Beta herunterladen","WEBSITE_GET_FOR_DESKTOP":"Für Desktop herunterladen","WEBSITE_LINK_ADDON_COMPETITION":"Addon-Wettbewerb","WEBSITE_LINK_ART_CONTEST":"Kunst-Wettbewerb","WEBSITE_MY_ACCOUNT":"Mein Konto","WEBSITE_MAINPAGE_FAQ_001_H1":"Was ist Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio ist ein modernes Mediencenter, das Ihnen die Freiheit gibt, alles zu schauen, was Sie möchten.","WEBSITE_MAINPAGE_FAQ_002_H1":"Wie funktioniert es?","WEBSITE_MAINPAGE_FAQ_002_P1":"Sobald Sie Stremio auf Ihrem Gerät installiert und ein Konto erstellt haben, müssen Sie nur noch den Addon-Katalog besuchen, die gewünschten Addons installieren, und schon kann es losgehen!","WEBSITE_MAINPAGE_FAQ_002_P2":"Danach können Sie im Bereich Entdecken oder auf dem Dashboard mit dem Erkunden der Inhalte beginnen.","WEBSITE_MAINPAGE_FAQ_003_H1":"Was kann ich hier schauen?","WEBSITE_MAINPAGE_FAQ_003_P1":"Eine Menge: Filme, TV-Serien, Webkanäle, Sport, TV-Sender, Podcasts hören und mehr. Dank unseres Addon-Systems haben Sie Zugriff auf verschiedenste Inhalte.","WEBSITE_MAINPAGE_FAQ_004_H1":"Ist Stremio Open-Source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Ja, Sie können die folgenden Links überprüfen: ${1}Desktop-App${2} und ${3}GitHub-Organisation${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Ist Stremio sicher?","WEBSITE_MAINPAGE_FAQ_005_P1":"Ja: Da es sich um Open-Source-Software handelt, ist der Code öffentlich überprüfbar und Sie können ihn selbst begutachten.","WEBSITE_MAINPAGE_FAQ_005_P2":"Das Addon-System von Stremio wurde auch mit Blick auf die Sicherheit der Nutzer entwickelt. Die Addons führen keinen Code lokal aus, sodass sie keine Risiken für Ihr Gerät darstellen.","WEBSITE_MAINPAGE_FAQ_006_H1":"Was ist mit meiner Privatsphäre?","WEBSITE_MAINPAGE_FAQ_006_P1":"Wir respektieren die Privatsphäre der Nutzer und erheben keine persönlichen Daten über das notwendige Minimum zur Erstellung und Synchronisierung Ihres Kontos hinaus.","WEBSITE_MAINPAGE_FAQ_006_P2":"Bei der Anmeldung gibt es auch einen ${1}Gast-Modus${2}, der keinerlei Daten erfordert: In diesem Modus werden keine Anfragen an unser Backend gesendet. Dies geht allerdings auf Kosten nützlicher Funktionen, wie der Möglichkeit, Ihre Bibliothek über mehrere Geräte zu synchronisieren.","WEBSITE_MAINPAGE_FAQ_007_H1":"Kann ich auf meinen Fernseher streamen?","WEBSITE_MAINPAGE_FAQ_007_P1":"Ja, wir unterstützen Chromecast und Sie können sowohl von Desktop- als auch von mobilen Apps (Android) streamen.","WEBSITE_MAINPAGE_FAQ_008_H1":"Wie viele Addons hat Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Stand Ende 2019 über 50 - weitere Informationen finden Sie in unserem Addon-Katalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Kann Stremio über den Addon-Katalog hinaus erweitert werden?","WEBSITE_MAINPAGE_FAQ_009_P1":"Ja, Sie sollten folgendes überprüfen: ${1}PimpMyStremio${2}, ${3}Reddit-Communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Welche Geräte unterstützt Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Wir haben Desktop-Apps für Windows, Mac und Linux. Für mobile Geräte unterstützen wir Android und iOS, wobei die iOS-Version in ihrer Funktionalität eingeschränkt ist (unterstützt die meisten Addons nicht).","WEBSITE_MAINPAGE_FAQ_010_P2":"Es gibt viele Android-basierte Geräte, auf denen Sie Stremio ausführen können, wie NVIDIA Shield und Amazon Fire Stick, aber wir unterstützen diese nicht offiziell.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Wir haben Desktop-Apps für Windows, Mac und Linux. Außerdem haben wir spezielle Apps für Android Mobile und Android TV. Für iOS und iPadOS empfehlen wir die Nutzung von Stremio Web, auch wenn es in der Funktionalität eingeschränkter ist.","WEBSITE_MAINPAGE_FAQ_011_H1":"Können Sie bestimmte Inhalte zu Stremio hinzufügen?","WEBSITE_MAINPAGE_FAQ_011_P1":"Tut uns leid, wir stellen selbst keine Inhalte bereit, aber je mehr Stremio-Addons Sie installiert haben, desto mehr Inhalte werden Sie finden können.","WEBSITE_MAINPAGE_FAQ_012_H1":"Kann Stremio Magnet-Links abspielen?","WEBSITE_MAINPAGE_FAQ_012_P1":"Ja, und es kann auch normale HTTP-Links und Torrent-Dateien abspielen (per Drag and Drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Kann ich ein Video herunterladen und offline anschauen?","WEBSITE_MAINPAGE_FAQ_013_P1":"Offline-Verfügbarkeit ist eine kommende Funktion, aber wenn Sie Stremio erlauben, auf Ihrem Gerät zwischenzuspeichern (in den Einstellungen), können Sie die Videos später auch ohne Verbindung ansehen.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nichts funktioniert, helfen Sie mir!","WEBSITE_MAINPAGE_FAQ_014_P1":"Sind Sie sicher, dass Sie Addons installiert haben? Wenn ja, schauen Sie in unserem ${1}Hilfecenter${2} nach.","WEBSITE_MAINPAGE_FAQ_015_H1":"Wie finanziert Stremio seine Entwicklung?","WEBSITE_MAINPAGE_FAQ_015_P1":"Wir schalten gelegentlich nicht-aufdringliche Werbung, erwägen aber den Umstieg auf ein Spenden-Modell.","WEBSITE_MAINPAGE_FAQ_015_P2":"Für weitere Fragen besuchen Sie unser ${1}Hilfecenter${2}.","HELP_LEARN_MORE":"Helfen Sie uns, mehr über Sie zu erfahren.","LIFESTYLE":"Lebensstil","SPORTS":"Sport","FOOD_HEALTH":"Essen & Gesundheit","BEAUTY_FASHION":"Schönheit & Mode","NEWS":"Nachrichten","GAMING":"Spielen","SCIENCE_EDUCATION":"Wissenschaft & Bildung","MUSIC":"Musik","TRAVEL":"Reise","LATE_NIGHT":"Late-Night-Show","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Kino","CONTINUE":"Fortsetzen","SLOW_LOADING":"LANGSAMES LADEN?","I_GIVE_UP":"ICH GEBE AUF","LEARN_MORE":"Erfahren Sie mehr","POOR_SOURCE":"Diese Quelle ist schlecht verfügbar oder Ihre Internetverbindung ist nicht schnell genug","PICK_CATEGORIES_ERR":"Sie müssen mindestens 3 Kategorien auswählen","ADJUST_TIMING":"zeitliche Abstimmung anpassen mit ","ADJUST_SIZE":"Größe anpassen mit ","SEARCH_ANYTHING":"Sie können alles suchen...","ALL_CATEGORIES":"Alle","SEARCH_CATEGORIES":"Filme, Serien, YouTube & Fernsehen","SEARCH_PERSONS":"Schauspieler, Regisseure und Autoren","SEARCH_PROTOCOLS":"HTTP- & Magnet-Links","SEARCH_TYPES":"IMDB- / TVDB-Links","WATCHED":"Angesehen","SHOW_LESS":"Weniger anzeigen","LAST_SEARCHES":"Letzte Suchanfragen","CLEAR_HISTORY":"Verlauf löschen","CHOOSE_SOME":"WÄHLEN SIE VON DIESEN AUS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web-Fernbedienung konnte nicht geladen werden","STREMIO_OFFLINE":"Stremio ist offline","STREMIO_EXPENSIVE_CONNECTION":"Wir haben festgestellt, dass du eine mobile Datenverbindung verwendest. Möchtest du fortfahren?","USE_DATA":"Mobile Daten benutzen","WARNING":"Warnung","MORE_INFO":"Weitere Informationen ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Wird geladen ...","STREMIO_TV_BACK_TO_LANGUAGES":"Zurück zu den Sprachen","STREMIO_TV_REMOTE":"Fernbedienung","STREMIO_TV_GO_TO":"Gehe zu:","STREMIO_TV_OR_SCAN":"oder scanne:","STREMIO_TV_ADDON_INSTRUCTIONS":"Bitte folgen Sie den Anweisungen, um Ihre bevorzugten Addons zu installieren.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Weiterschauen","STREMIO_TV_LOADING_BACKGROUND":"Lade Hintergrund","STREMIO_TV_CHECKING_AUTHENTICATION":"Überprüfe Authentifizierung","STREMIO_TV_LOADING_BOARD":"Lade Dashboard","STREMIO_TV_LOGIN_HEADER_LINE_1":"Wir möchten, dass unsere Nutzer die bestmögliche personalisierte Erfahrung mit unserer Software haben.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Aus diesem Grund bitten wir Sie, sich ein Konto zu erstellen und/oder sich anzumelden.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Vielen Dank für Ihr Verständnis,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Das Stremio-Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"Um die Web-Fernbedienung mit Ihrem Smartphone / Tablet / Desktop zu nutzen:","STREMIO_TV_WIFI_SETUP":"Wi-Fi-Einrichtung","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle hat keine Internetverbindung erkannt.","STREMIO_TV_WIFI_DETAILS_1":"Verbinden mit:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Passwort verwenden:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Web Browser öffnen mit dem Link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Standard","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Nach Zuletzt Geschaut","STREMIO_TV_LIBRARY_SORT_NAME":"Nach Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Nach Name Absteigend","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Nach Geschauter Zeit","STREMIO_TV_LIBRARY_SORT_WATCHED":"Nach Geschaut","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Nach Nicht Geschaut","STREMIO_TV_DETAILS_SEASON_NUMBER":"Staffel ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} Addons geladen...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} Addons laden noch...","STREMIO_TV_PLAYER_SETTINGS":"Player-Einstellungen","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Untertitel-Verzögerung","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio-Verzögerung","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video-Skalierung","STREMIO_TV_PLAYER_CHAPTERS":"Kapitel","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"${1} überspringen","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nicht unterstützte Streamquelle","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Öffnen des externen Links fehlgeschlagen","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Im Audio-Passthrough-Modus nicht einstellbar","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Mit ExoPlayer abspielen","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Mit libVLC-Player abspielen","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Wechsel zum libVLC-Player aufgrund eines Wiedergabefehlers","STREMIO_TV_ADDONS_TITLE":"Nutzen Sie Stremio auf Ihrem Telefon oder PC, um Addons zu installieren oder zu konfigurieren und drücken Sie \\"Addons Synchronisieren\\"","STREMIO_TV_ADDONS_SUBTITLE":"Hinweis: Stellen Sie sicher, dass Sie dasselbe Stremio-Konto verwenden","STREMIO_TV_ADDONS_SYNC_ADDONS":"Addons Synchronisieren","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons erfolgreich synchronisiert","STREMIO_TV_ADDONS_SYNC_FAILED":"Synchronisierung der Addons fehlgeschlagen","STREMIO_TV_META_LINK_FAILED":"Öffnen des Meta-Links fehlgeschlagen","STREMIO_TV_CATALOG_LOADING":"Katalog wird noch geladen...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Sprache aktualisiert","STREMIO_TV_SETTINGS_THEME_UPDATED":"Design aktualisiert","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Standard-Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Externer Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Bevorzugte Sprache","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Sekundäre bevorzugte Sprache","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Getunnelte Wiedergabe","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Mögliche Wiedergabeprobleme auf einigen Geräten","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Einige Videoformate funktionieren möglicherweise nicht","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Bildwiederholrate anpassen","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Deaktiviert","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Nur Bildwiederholrate","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Bildwiederholrate und Auflösung","STREMIO_TV_SETTINGS_NO_CACHING":"Kein Zwischenspeichern","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Standard","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Sanft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Schnell","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Schnell","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming-Server-URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server-Version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unbekannt","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio-Version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Server-URL bearbeiten","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Geben Sie eine Streaming-Server-URL ein","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Statistiken während des Ladens anzeigen","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Um Stremios Datenschutzerklärung zu lesen, besuchen Sie:","STREMIO_TV_SETTINGS_TOS_TEXT":"Um Stremios Nutzungsbedingungen zu lesen, besuchen Sie:","STREMIO_TV_NAV_SEARCH":"Suchen","STREMIO_TV_NAV_HOME":"Start","STREMIO_TV_NAV_DISCOVER":"Entdecken","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Filme","STREMIO_TV_NAV_SERIES":"Serien","STREMIO_TV_NAV_CHANNELS":"Kanäle","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Einstellungen","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Konto verlinken","STREMIO_TV_LOGIN_EXPIRES_IN":"Läuft ab in","STREMIO_TV_LOGIN_STEP_ONE":"Scanne den QR Code oder gehe zu","STREMIO_TV_LOGIN_STEP_TWO":"Melden Sie sich mit Ihrem Stremio-Konto an","STREMIO_TV_LOGIN_NEW_LINK":"Neuen Link anfordern","STREMIO_TV_LOGIN_LINK_REFRESHED":"Anmeldecode aktualisiert","STREMIO_TV_SEARCH_PLACEHOLDER":"Schreib etwas","STREMIO_TV_SEARCH_NO_ADDONS":"Keine Addons wurden für Kataloge angefordert!","STREMIO_TV_SEARCH_BUTTON":"Suchen","STREMIO_TV_SEARCH_KEY_DEL":"Entf","STREMIO_TV_SEARCH_KEY_SPACE":"Leer","STREMIO_TV_SEARCH_KEY_CLEAR":"Löschen","STREMIO_TV_SEARCH_HISTORY_TITLE":"Suchverlauf","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Sie können nach Titeln, Schauspielern, Kanälen und mehr suchen...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Suchverlauf löschen","STREMIO_TV_FILTERS_DESCRIPTION":"Wählen Sie einen der untenstehenden Filter","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming-Server ist offline. Überprüfen Sie die Server-Einstellungen.","FILTERS":"Filter","SETTINGS":"Einstellungen","ACCOUNT":"Konto","LOGOUT":"Ausloggen","THEMES":"Designs","PLAYBACK":"Wiedergabe","PLAYBACK_SPEED":"Wiedergabegeschwindigkeit","AUDIO_TRACKS":"Audiospuren","UNKNOWN_TRACK_LANG":"Unbekannt","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"Über","INTERFACE":"Oberfläche","ANIMATIONS":"Animationen","STATUS":"Status","LANGUAGE":"Sprache","SIZE":"Größe","DELAY":"Verzögerung","BOLD":"Fett","OPACITY":"Transparenz","TEXT_COLOR":"Text Farbe","OUTLINE_COLOR":"Gliederungs Farbe","BACKGROUND_COLOR":"Hintergrundfarbe","BACKGROUND_BLUR":"Hintergrund-Unschärfe","SEEK_TIME_DURATION":"Zeitsprung-Dauer","AUTO_PLAY":"Automatisch nächste Episode abspielen","PLAY_NOW":"Jetzt abspielen","MARK_AS_WATCHED":"Als Angeschaut markieren","MARK_AS_UNWATCHED":"Als Nicht Angeschaut markieren","REWIND_TO_BEGINNING":"Zum Anfang zurückspulen","CONTINUE_WATCHING":"Weiterschauen","ALL":"Alle","SECONDS":"Sekunden","ON":"AN","OFF":"AUS","RELOAD":"Neu laden","EDIT_URL":"URL bearbeiten","URL":"URL","NONE":"Keine","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Geräte wechseln","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Timing anpassen","REMOTE_ADJUST_SIZE":"Größe anpassen","REMOTE_COULD_NOT_BE_LOADED":"Web Remote konnte nicht geladen werden","REMOTE_RETRY":"Wiederholen","TORRENT_PROFILE_DEFAULT":"Standard","TORRENT_PROFILE_SOFT":"Sanft","TORRENT_PROFILE_FAST":"Schnell","TORRENT_PROFILE_ULTRA_FAST":"Ultra Schnell","MB_S":"MB/s","FAQ_001_H1":"Was ist Stremio?","FAQ_001_P1":"Stremio ist eine Media-Center-Software, die für Videounterhaltung mit Fokus auf einfacher Bedienung entwickelt wurde. Stremio ermöglicht es Ihnen, Ihre eigene Sammlung von Filmen, Serien, Kanälen und Live-TV zu organisieren und anzusehen.","FAQ_001_P2":"Stremio sammelt die angezeigten Inhalte von Ihrer lokalen Festplatte und unserem Addon-System.","FAQ_001_P3":"Es benachrichtigt Sie auch, wenn neue Episoden/Videos/Filme, die Sie interessieren, erscheinen, und bietet Ihnen Filmempfehlungen.","FAQ_02_H1":"Wie unterscheidet sich Stremio von Kodi und Plex?","FAQ_02_P1":"Wir sind von diesen beiden Programmen inspiriert. Aber wir haben andere Ziele - Stremio ist speziell auf Videounterhaltung ausgerichtet und strebt durch seine sehr einfache Bedienung an, die Standardlösung dafür zu werden.","FAQ_02_P2":"Stremio wird nie so anpassbar und funktionsreich sein wie Kodi und Plex, ist aber deutlich einfacher zu bedienen. ${1}Probieren Sie es einfach aus${2} :)","FAQ_03_H1":"Wie unterscheidet sich Stremio von Netflix?","FAQ_03_P1":"Auch Netflix ist eine unserer Inspirationen. Wir streben danach, die Benutzerfreundlichkeit von Netflix zu erreichen und noch viele zusätzliche Funktionen zu bieten. Am wichtigsten ist aber, dass wir Ihnen die Freiheit geben, Ihre eigene Bibliothek zu verwalten und neue Inhaltsquellen über unser Addon-System hinzuzufügen.","FAQ_03_P2":"Das macht Stremio unendlich erweiterbar, sodass Sie bei der Nutzung von Stremio nie auf die Inhalte beschränkt sind, die Netflix lizenzieren möchte. Über Stremio können Sie zum Beispiel Inhalte von ${1}Filmon.tv${2}, ${3}Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} und sogar ${9}Netflix${10} selbst ansehen!","FAQ_04_H1":"Wie unterscheidet sich Stremio von Flipboard?","FAQ_04_P1":"Diese Frage bekommen wir nicht so oft, außer wenn wir mit Start-up-Leuten sprechen :)","FAQ_04_P2":"Stremio ist vom Design her ein Content-Aggregator, was es im Wesentlichen zu einem Flipboard für Videos macht. Das wird besonders in unserem Dashboard deutlich, der Ihnen Kataloge und Benachrichtigungen über neue Episoden/Videos für Ihre Abonnements anzeigt, genau wie Flipboard.","FAQ_05_H1":"Wie unterscheidet sich Stremio von Popcorn Time?","FAQ_05_P1":"Stremio und Popcorn Time ähneln sich in der Benutzeroberfläche, weil es nicht viele Möglichkeiten gibt, Videounterhaltungskataloge richtig zu gestalten :)","FAQ_05_P2":"Aber während Popcorn Time sich auf das Streaming von Torrents aus bestimmten Quellen konzentriert, ist Stremio uneingeschränkt und lediglich ein Content-Aggregator - es ist nicht an bestimmte Inhaltsquellen gebunden.","FAQ_05_P3":"Außerdem bieten wir standardmäßig keine Torrent-Addons an, sodass Stremio den Anwendungsfall von Popcorn Time nicht mit offizieller Funktionalität abdeckt.","FAQ_05_P4":"Ein weiterer bemerkenswerter Unterschied ist, dass Popcorn Time komplett Open Source ist, während Stremio ${1}teilweise Open Source${2} ist.","FAQ_06_H1":"Werden Sie diesen Film/diese Serie hinzufügen?","FAQ_06_P1":"Nein, tut uns leid :(","FAQ_06_P2":"Wie in den meisten anderen Fragen erwähnt, stellt Stremio selbst keine Inhalte bereit - alles wird über das Addon-System hinzugefügt. Falls Sie einen Inhaltswunsch haben, können Sie den \\"Melden\\"-Button im Player verwenden, der eine E-Mail an den Autor des aktuell verwendeten Addons sendet.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Werden Sie ein Addon für X erstellen?","FAQ_08_P1":"Das ist durchaus möglich.","FAQ_08_P2":"Wenn Sie eine Idee für ein Addon haben, schreiben Sie uns an ${1}office@stremio.com${2}, aber bitte stellen Sie sicher, dass Ihre Addon-Idee keine Urheberrechte oder Nutzungsbedingungen verletzt.","FAQ_08_P3":"Derzeit sind die nächsten Punkte auf unserer Roadmap Addons für FandangoNOW, Filmon.tv Video on Demand und Crunchyroll.","FAQ_09_H1":"Verwendet Stremio BitTorrent?","FAQ_09_P1":"Ja, Stremio unterstützt BitTorrent als Streaming-Protokoll. Sie können dies entweder mit einem Torrent-Addon nutzen, oder indem Sie eine .torrent-Datei in Stremio ziehen und ablegen, oder einen Magnet-Link in die Suchleiste einfügen.","FAQ_09_P2":"Bitte beachten Sie, dass das einzige offizielle Addon, das BitTorrent verwendet, ${1}Vodo${2} ist, das unabhängige Inhalte anbietet, die alle für die Verteilung über BitTorrent zugelassen sind.","FAQ_09_P3":"Wir unterstützen keine Nutzung von Drittanbieter-Addons, die Urheberrechtsverletzungen ermöglichen könnten.","FAQ_10_H1":"Was kann ich in Stremio mit den offiziellen Addons ansehen?","FAQ_10_P1":"Standardmäßig können Sie Filmon.tv, YouTube und Vodo-Inhalte direkt in Stremio mit dem eingebauten Player ansehen. Zusätzlich haben wir ein Addon für Twitch.tv und einige andere.","FAQ_10_P2":"Dies bietet zusammen eine Auswahl von:","FAQ_10_L1":"Beliebte TV-Sender, bereitgestellt von Filmon.tv - zum Beispiel E4, BBC, Bollyworld TV","FAQ_10_L2":"Alles von YouTube - zum Beispiel BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie-Filme mit Vodo","FAQ_10_L4":"Online-Gaming-Übertragungen mit Twitch.tv","FAQ_10_P3":"Zusätzlich gibt es viele Inhaltsquellen, die mit Guidebox und den Netflix-Addons bereitgestellt werden, die <b>nicht</b> vollständig in Stremio abgespielt werden, sondern zum jeweiligen Dienst weiterleiten. Zum Beispiel würde das Guidebox-Addon Ihnen eine Auswahl an Filmen anbieten, die Sie in den USA kostenlos von Diensten wie TubiTV und Crackle streamen können.","FAQ_11_H1":"Stremio lässt sich nicht installieren, was soll ich tun?","FAQ_11_P1":"Wenn Sie Windows nutzen, versuchen Sie ${1}diesen alternativen Installer${2}.","FAQ_11_P2":"Wenn Sie Mac OS X nutzen, beachten Sie bitte, dass wir nichts älter als OS X Mavericks (10.9) unterstützen.","FAQ_11_P3":"Wenn Sie Linux nutzen, beachten Sie, dass wir derzeit nur 64-Bit (x64) Linux unterstützen.","FAQ_11_P4":"Wenn Sie Ihr Problem immer noch nicht lösen können, schreiben Sie uns bitte in unserer ${1}Facebook-Gruppe${2}.","FAQ_12_H1":"Warum meldet mein Antivirus-Programm Bedenken? Ist Stremio sicher?","FAQ_12_P1":"Wir versichern Ihnen, dass Stremio ${1}100% virenfrei${2} ist.","FAQ_12_P2":"Ihr Antivirus-Programm meldet Bedenken an, weil wir Werbung in unserem Installer integrieren, die einige Antivirus-Programme als Adware erkennen.","FAQ_12_P3":"Wenn Sie immer noch unsicher sind, können Sie unseren ${1}alternativen Installer${2} verwenden.","FAQ_13_H1":"Wie kann ich ein Addon erstellen?","FAQ_13_P1":"Zunächst empfehlen wir Ihnen, unser ${1}Addons-System-Modul${2} auf GitHub zu überprüfen.","FAQ_13_P2":"Danach können Sie dem ${1}Hello World Tutorial${2} folgen.","FAQ_13_P3":"Wenn Sie keine Programmierkenntnisse haben, posten Sie Ihre Idee bitte in ${1}der Reddit-Community${2} und kontaktieren Sie uns mit Ihrer Addon-Idee unter ${3}office@stremio.com${4}.","FAQ_14_H1":"Wie werden Addons veröffentlicht?","FAQ_14_P1":"Wenn Sie ein Addon erstellen und hosten und ein <b>endpoint</b>-Feld in Ihrem Manifest angeben, das auf eine funktionierende Addon-Adresse verweist, wird sich das Addon automatisch in unserem ${1}Addon-Katalog${2} veröffentlichen.","FAQ_14_P2":"Dies geschieht, weil der Server-Teil des stremio-addons-Moduls automatisch einen Aufruf an unsere API macht, um das Addon anzukündigen. Wenn unsere API Ihren <b>endpoint</b> als gültiges Addon validiert, wird es im Katalog angezeigt.","FAQ_15_H1":"Kann ich Stremio in meinem Browser ausführen?","FAQ_15_P1":"Derzeit nicht, aber das kommt noch!","FAQ_15_P2":"Wenn Sie neugierig auf eine Alpha-Version sind, können Sie sie hier sehen: ${1}alpha4.strem.io${2}. Beachten Sie, dass Streaming in dieser Alpha-Version deaktiviert ist. Wir unterstützen Chrome, Firefox, Opera und Edge.","FAQ_16_H1":"TV-Übertragung funktioniert nicht / Untertitel funktionieren nicht","FAQ_16_P1":"Die TV-Übertragung nutzt die DLNA-Technologie, die zwischen verschiedenen TV-Marken und -Modellen sehr unterschiedlich ist. Aus diesem Grund haben wir nicht die Möglichkeit, sie in jedem Fall zu testen, sodass sie bei weitem nicht perfekt ist. Trotzdem arbeiten wir ständig an Verbesserungen, können Ihnen aber keine zeitliche Einschätzung geben, wann DLNA mit Ihrem Fernseher richtig funktionieren wird.","FAQ_16_P2":"Wenn Sie Ihren Fernseher nicht einmal im Übertragungsmenü sehen, versuchen Sie bitte, Ihre Netzwerkverbindung zu deaktivieren und wieder zu aktivieren (unter Windows klicken Sie mit der rechten Maustaste auf das Netzwerk und verwenden Sie Aktivieren/Deaktivieren) sowie Ihren Router, Fernseher und PC neu zu starten.","FAQ_16_P3":"Wenn Sie immer noch Probleme haben, können Sie uns helfen, indem Sie uns Ihre TV-Marke und Modellinformationen an ${1}office@stremio.com${2} senden.","FAQ_16_P4":"In der Zwischenzeit empfehlen wir Chromecast, das wir sehr gut unterstützen, oder schließen Sie Ihren Fernseher einfach mit einem HDMI-Kabel an Ihren PC an.","FAQ_17_H1":"Stremio friert ein und/oder stürzt ab, was kann ich tun?","FAQ_17_P1":"Zunächst einmal, wenn Sie Windows 7 mit AVG-Antivirus verwenden: Wir haben ein Problem mit dieser Kombination. Das Problem liegt in AVG selbst und es gibt keine vernünftige Möglichkeit, es unsererseits zu lösen. Leider funktionieren Ausnahmen oder das Deaktivieren des Antivirenprogramms nicht. Die einzige Lösung ist, AVG durch etwas anderes zu ersetzen.","FAQ_17_P2":"Wenn das nicht das Problem ist, Sie aber immer noch Windows verwenden, aktualisieren Sie bitte auf das neueste Service Pack und aktualisieren/installieren Sie Ihre GPU-Treiber neu, dann versuchen Sie es erneut.","FAQ_17_P3":"Wenn Ihr Problem immer noch nicht gelöst ist oder Sie einen Mac oder Linux verwenden, schreiben Sie uns bitte die genauen Details des Problems in ${1}unserer Facebook-Gruppe${2}.","FAQ_18_H1":"Wie kann ich ein Addon erstellen?","FAQ_18_P1":"Zunächst empfehlen wir Ihnen, unser ${1}Addons-System-Modul${2} auf GitHub zu überprüfen.","FAQ_18_P2":"Danach können Sie dem ${1}Hello World Tutorial${2} folgen.","FAQ_18_P3":"Wenn Sie keine Programmierkenntnisse haben, posten Sie Ihre Idee bitte in ${1}der Reddit-Community${2} und kontaktieren Sie uns mit Ihrer Addon-Idee unter ${3}office@stremio.com${4}.","FAQ_19_H1":"Warum belegt Stremio Speicherplatz?","FAQ_19_P1":"Stremio hat einen <b>lokalen Zwischenspeicher</b>, um die gestreamten Videodateien temporär zu speichern.","FAQ_19_P2":"Dies hat zwei Vorteile: Erstens ermöglicht es Stremio, das Video im Voraus zu puffern, um ein reibungsloseres Streaming zu gewährleisten. Zweitens bleiben die Videos im lokalen Zwischenspeicher, sodass Sie sie offline weiterschauen können.","FAQ_19_P3":"Wie viel Stremio speichert, hängt von der <b>Zwischenspeicher</b>-Einstellung ab. Stremio kann bis zur eingestellten Menge (z.B. 2GB) auf Ihrer Festplatte speichern, es sei denn, das aktuell gestreamte Video ist größer als das, in diesem Fall muss es genügend Speicherplatz zuweisen, um es zu behalten, während Sie es streamen.","FAQ_20_H1":"Wo befindet sich der Zwischenspeicher-Ordner?","FAQ_20_P1":"Unter Windows ist es stremio-cache im Laufwerk, das Sie in den Einstellungen ausgewählt haben (z.B. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Unter MacOS ist es \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Unter Linux ist es \\"~/.stremio/stremio-cache\\" oder \\"~/stremio-cache\\"","FAQ_21_H1":"Ich erhalte den Fehler \\"Streaming-Server wurde nicht gefunden\\", was kann ich tun?","FAQ_21_P1":"Wenn Sie diesen Fehler erhalten, bedeutet das eines von wenigen Dingen:","FAQ_21_P2":"1) Sie versuchen, ein Addon mit YouTube/BitTorrent-Quelle über unsere ${1}Web-Version${2} zu nutzen. In diesem Fall sollten Sie unsere Desktop-Version von ${3}unserer Website${4} installieren.","FAQ_21_P3":"2) Etwas stimmt nicht mit Ihrer Stremio-Installation. Versuchen Sie in diesem Fall, unsere neueste Desktop-Version von ${1}der Website${2} neu zu installieren. Wenn das nicht hilft, versuchen Sie, Antivirenprogramme und Firewalls zu deaktivieren, Ihren PC neu zu starten und es erneut zu versuchen. Wenn auch das nicht funktioniert, schreiben Sie uns bitte in ${3}unserer Facebook-Gruppe${4}.","FAQ_22_H1":"Ich kann die meisten Addons unter iOS nicht sehen/nutzen","FAQ_22_P1":"Aufgrund von Einschränkungen in den Geschäftsbedingungen des Apple App Stores haben wir die iOS-Anwendung nur auf bestimmte Addons beschränkt.","FAQ_22_P2":"Aber seien Sie versichert - es wird in Zukunft mehr Addons für iOS geben, und wir werden möglicherweise auch eine Integration hinzufügen, die es Ihnen ermöglicht, alle Stremio-Addons zu nutzen, indem Sie die iOS-App mit dem Stremio Streaming Server verbinden."}')},45695:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Ταινία","TYPE_series":"Σειρά","TYPE_tv":"Τηλ. κανάλι","TYPE_channel":"Κανάλι","TYPE_other":"Άλλο","TYPE_movie_PL":"Ταινίες","TYPE_series_PL":"Σειρές","TYPE_tv_PL":"Τηλ. κανάλια","TYPE_channel_PL":"Κανάλια","TYPE_other_PL":"Άλλα","TYPE_ALL":"Όλα","TYPE":"Τύπος","CATALOG_com_linvo_cinemeta_top":"Δημοφιλείς","CATALOG_com_linvo_cinemeta_imdbRating":"Επιλεγμένες","CATALOG_com_linvo_cinemeta_year":"Νέες","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Δημόσιες ταινίες","VIDEO":"Βίντεο","BACK":"Πίσω","MORE":"Περισσότερα","DONE":"Τέλος","COPY":"Αντιγραφή","SUCCESS":"Επιτυχία","ERROR":"Υπήρξε πρόβλημα","SETTINGS_CASTING_MODE_PICKER":"Τύπος αναπαραγωγής","CASTING_MODE_HLSV2":"Προεπιλογή","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Χωρίς διακωδικοποίηση","Discover":"Ανακάλυψη","Board":"Πίνακας","Library":"Βιβλιοθήκη","My Library":"Η βιβλιοθήκη μου","Calendar":"Ημερολόγιο","NOTIFICATION_ONLINE":"Είστε σε σύνδεση","NOTIFICATION_OFFLINE":"Είστε εκτός σύνδεσης","INTERNET_CONNECTION":"Σύνδεση δικτύου","STORAGE_FULL_TITLE":"Προειδοποίηση: Πλήρης αποθηκευτικός χώρος!","STORAGE_FULL_TEXT":"Το Stremio δεν θα μπορεί να αποθηκεύει τις ρυθμίσεις, τις προτιμήσεις ή τα στοιχεία σύνδεσής σας. Δοκιμάστε να κάνετε εκ νέου εκκίνηση ή εγκατάσταση του Stremio.","SEARCH":"Αναζήτηση","SEARCH_NO_RESULTS":"Δεν βρέθηκαν αποτελέσματα","SEARCH_EXPLANATION_CONTENT":"Αναζήτηση ταινιών, σειρών, καναλιών τηλεόρασης και YouTube","SEARCH_EXPLANATION_PEOPLE":"Αναζήτηση ηθοποιών, σκηνοθετών και σεναριογράφων","SEARCH_PASTE_LINKS":"Επικόλληση συνδέσμων HTTP και magnet","SEARCH_OR_PASTE_LINK":"Αναζητήστε ή επικολλήστε σύνδεσμο","SEARCH_SUGGESTIONS":"Προτάσεις αναζήτησης","ADD_TO_LIB":"Εισαγωγή στη βιβλιοθήκη","REMOVE_FROM_LIB":"Αφαίρεση από τη βιβλιοθήκη","ADDED_TO_LIB":"Προστέθηκε στη βιβλιοθήκη","REMOVED_FROM_LIB":"Αφαιρέθηκε από τη βιβλιοθήκη","TRAILER":"Τρέιλερ","WATCH_TRAILER":"Προβολή τρέιλερ","WATCH_NOW":"Προβολή τώρα","SHOW":"Εμφάνιση","SHOW_MOVIE":"Εμφάνιση ταινίας","WATCH_RANDOM":"Τυχαία προβολή","IMDB_RATING":"Στο IMDb","YEAR":"Έτος","DIRECTOR":"Σκηνοθεσία","WRITER":"Σενάριο","LEAD_ACTORS":"Πρωταγωνιστές","CAST":"Ηθοποιοί","CREW":"Συντελεστές","SHOW_MORE_CAST":"Περισσότερα »","AIRED":"Μετάδοση","SEASONS":"Κύκλοι","GENRE":"Είδος","GENRE_ALL":"Όλα τα είδη","CATALOG":"Κατάλογος","SUMMARY":"Περίληψη","SHOW_MORE":"Περισσότερα","SIMILAR":"Παρόμοια","UPCOMING":"Επερχόμενα","TBA":"TBA","ENDED":"Τέλος","DURATION":"Διάρκεια","FEATURED":"Προτεινόμενα","METADATA":"Μεταδεδομένα","CATEGORY":"Κατηγορία","LINKS_GENRES":"Είδη","LINKS_CAST":"Καστ","LINKS_DIRECTORS":"Σκηνοθέτες","SEARCH_VIDEOS":"Αναζήτηση βίντεο","SEARCH_PLACEHOLDER":"Αναζήτηση ή επικόλληση URL","ADDON":"Πρόσθετο","ADDONS":"Πρόσθετα","OFFICIAL":"Επίσημο","ADDONS_OFFICIAL":"Επίσημα πρόσθετα του Stremio","ADDONS_POPULAR":"Δημοφιλή στην περιοχή σας","ADDON_FREE":"Δωρεάν","ADDON_PEERED":"Σε peers","ADDON_SUBSCRIPTION":"Συνδρομή","ADDON_STREAM_GEORESTRICTED":"Δεν διατίθεται στην περιοχή σας","ADDON_STREAM_OFFLINECACHE":"Προσωρινή μνήμη εκτός σύνδεσης","ADDON_STREAM_LOCALFILE":"Τοπικό αρχείο","SHARE_ADDON":"Κοινοποίηση προσθέτου","AVAILABLE_STREAMS":"Διαθέσιμες ροές","NO_STREAM":"Δεν βρέθηκαν ροές","ALL_ADDONS":"Όλα τα","INSTALL_MORE_ADDONS":"Για περισσότερες ροές, παρακαλώ εγκαταστήστε περισσότερα πρόσθετα","STREAM_NOT_SUPPORTED":"Η επιλεγμένη ροή δεν υποστηρίζεται σε αυτήν την πλατφόρμα.","ADDON_CATALOGUE":"Εμφάνιση όλων των προσθέτων »","ADDON_CATALOGUE_MORE":"Εγκατάσταση προσθέτων","REPO_ADDED":"Το αποθετήριο προστέθηκε","ADDON_REPO_EXIST_ERR":"Αυτή η συλλογή προσθέτων υπάρχει ήδη","ADDON_REPO_ERR":"Προέκυψε σφάλμα κατά την προσθήκη της συλλογής","ADDON_ADD_ERR":"Προέκυψε σφάλμα κατά την προσθήκη του προσθέτου","ERR_ADDON_PROTECTED":"Δεν είναι δυνατή η αφαίρεση του προσθέτου, είναι προστατευόμενο","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Κάτι πήγε στραβά - η ταυτοποίηση ενδέχεται να απέτυχε","ERR_NOT_COLLECTION_URL":"Δεν είναι URL συλλογής","ERR_NOT_ADDON_URL":"Δεν είναι έγκυρο URL προσθέτου","ERR_DETECTFROMURL":"Δεν είναι δυνατή η εύρεση του προσθέτου/συλλογής από αυτό το URL","ADDON_DUPLICATE_WARNING":"Προειδοποίηση: Διπλότυπο πρόσθετο","ADDON_COLLECTION_SET_FAILED":"Αποτυχία συγχρονισμού εγκατεστημένων προσθέτων στον λογαριασμό σας","SETTINGS_DATA_EXPORT":"Εξαγωγή δεδομένων χρήστη","ADDON_PULL_FAILED":"Αποτυχία συγχρονισμού εγκατεστημένων προσθέτων από τον λογαριασμό σας","REFRESH_ON_CLICK":"Κάντε κλικ για επανάληψη","ADDON_LOADING_MANIFEST":"Γίνεται φόρτωση του πρόσθετου","ADDON_LOADING_MANIFEST_FROM":"Γίνεται φόρτωση του πρόσθετου από το {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Αποτυχία φόρτωσης του πρόσθετου από το {{origin}}","STILL_IN_THEATER":"Ακόμη στις αίθουσες","WATCH_IN_CINEMA":"Δείτε το στον τοπικό σας κινηματογράφο","IN_THEATER":"Στις αίθουσες","GET_TICKETS":"Εισιτήρια","UPCOMING_EPISODE":"Επερχόμενο επεισόδιο","UPCOMING_EPISODE_MESSAGE":"Αυτό το επεισόδιο θα προβληθεί σε","MISSING_DATE_EPISODE":"Απουσία ημερομηνίας","MISSING_DATE_EPISODE_MESSAGE":"Αυτό το επεισόδιο ενδέχεται να μην έχει προβληθεί ακόμα","CHANNEL_NOT_SCRAPED":"Δεν έχει γίνει ακόμα συλλογή δεδομένων για αυτό το κανάλι.<br>Παρακαλώ επιστρέψτε σε λίγα λεπτά.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Προσθέστε το στη βιβλιοθήκη σας για να ειδοποιηθείτε μόλις γίνει διαθέσιμο.","GET_NOTIFIED_WHEN_AVAILABLE":"Θα ειδοποιηθείτε μόλις γίνει διαθέσιμο.","WARNING_STREAMING_SERVER":"Προειδοποίηση: Δεν βρέθηκε τοπική υπηρεσία ροής. Η ροή από τοπικά αρχεία, YouTube και BitTorrent δεν θα είναι διαθέσιμη.","WARNING_STREAMING_SERVER_DISMISS":"Απόρριψη","WARNING_STREAMING_SERVER_LATER":"Αργότερα","DECODER_WARNING":"Προειδοποίηση: Αυτό το βίντεο ενδέχεται να μην υποστηρίζεται από το υλικό σας. Λάβετε υπόψη ότι η αναπαραγωγή μπορεί να είναι αργή.","GENERIC_ERROR_MESSAGE":"Κάτι πήγε στραβά!","TRY_AGAIN":"Δοκιμάστε ξανά","CLEAR_DATA":"Εκκαθάριση δεδομένων","PLAYER_ERROR":"Ωχ, σφάλμα αναπαραγωγής","PLAYER_ERROR_LOOKSLIKE":"Φαίνεται ότι","PLAYER_ORIENTATION":"Προσανατολισμός αναπαραγωγής","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Κλειδωμένος","PLAYER_ORIENTATION_SENSOR_SHORT":"Αισθητήρας","PLAYER_ORIENTATION_LANDSCAPE":"Ο προσανατολισμός αναπαραγωγής κλείδωσε στην οριζόντια θέση","PLAYER_ORIENTATION_SENSOR":"Αυτόματος προσανατολισμός αναπαραγωγής (αισθητήρας)","PLAYER_PLAYBACK_SPEED":"Ταχύτητα αναπαραγωγής","PLAYER_PLAYBACK_ERROR":"Σφάλμα αναπαραγωγής, παρακαλώ δοκιμάστε ξανά","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Άγνωστο σφάλμα","PLAYER_PLAYBACK_ERROR_DEFAULT":"Δυστυχώς, αυτό το βίντεο δεν μπορεί να αναπαραχθεί από το {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Γλώσσα υποτίτλων","PLAYER_SUBTITLES_VARIANTS":"Παραλλαγές υποτίτλων","PLAYER_SUBTITLES_SETTINGS":"Ρυθμίσεις υποτίτλων","PLAYER_SUBTITLES_DISABLED":"Οι υπότιτλοι είναι απενεργοποιημένοι","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Ύψος υποτίτλων","PLAYER_SUBTITLES_LOADED":"Οι υπότιτλοι φορτώθηκαν","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Οι ενσωματωμένοι υπότιτλοι φορτώθηκαν","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Οι ειδικοί υπότιτλοι φορτώθηκαν","PLAYER_SUBTITLES_LOADED_LOCAL":"Οι τοπικοί υπότιτλοι φορτώθηκαν","PLAYER_SUBTITLES_LOADED_ORIGIN":"Οι υπότιτλοι από το {{origin}} φορτώθηκαν","PLAYER_PLAY":"Αναπαραγωγή","PLAYER_PAUSE":"Παύση","PLAYER_NEXT_VIDEO":"Επόμενο βίντεο","PLAYER_MUTE":"Σίγαση","PLAYER_UNMUTE":"Κατάργηση σίγασης","PLAYER_OPEN_IN_EXTERNAL":"Άνοιγμα σε εξωτερικό πρόγραμμα αναπαραγωγής","PLAYER_OPEN_IN_NPLAYER":"Άνοιγμα στον nPlayer","PLAYER_PLAY_IN":"Αναπαραγωγή στο {{device}}","PLAYER_LIVE":"Ζωντανά","PLAYER_NEXT_VIDEO_TITLE":"Επόμενο βίντεο","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Ακολουθεί","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Απόρριψη","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Προβολή τώρα","PLAYER_COPY_STREAM_SUCCESS":"Ο σύνδεσμος ροής αντιγράφηκε στο πρόχειρο","PLAYER_COPY_STREAM_ERROR":"Σφάλμα αντιγραφής συνδέσμου ροής","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Ο σύνδεσμος λήψης αντιγράφηκε στο πρόχειρό σας","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Αποτυχία αντιγραφής συνδέσμου λήψης","PLAYER_STATISTICS":"Στατιστικά","PLAYER_PEERS":"Χρήστες","PLAYER_SPEED":"Ταχύτητα","PLAYER_COMPLETED":"Ολοκληρώθηκε","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Ροή από","CASTING_TO":"Μετάδοση σε","NETWORK_STATUS":"Κατάσταση δικτύου","STREAM_SPEED":"Ταχύτητα ροής:","STREAM_BUFFERED":"Ενδιάμεση μνήμη:","PEERS_INFO":"Πληροφορίες peers","PEERS_ACTIVE":"Ενεργοί:","PEERS_CONNECTED":"Σε σύνδεση:","PEERS_WAITING":"Αναμονή:","TRANSCODING_WARNING":"Προειδοποίηση: Αλλαγή κωδικοποίησης βίντεο.","STREAM_LOADING":"Φόρτωση...","PLAYING_LOCAL":"Αναπαραγωγή από τοπικό αρχείο","PLAYING_CACHE":"Αναπαραγωγή από προσωρινή μνήμη","WRONG_SUBS":"Εσφαλμένοι υπότιτλοι;","ERR_SUBS_LOADING_TITLE":"Σφάλμα φόρτωσης υποτίτλων","ERR_SUBS_LOADING":"Αποτυχία φόρτωσης υποτίτλων: ενδέχεται να υπάρχει πρόβλημα με το πρόσθετό σας ή τη σύνδεση δικτύου σας","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Τα ακόλουθα πρόσθετα υποτίτλων απέτυχαν","ERR_CASTING_UPDATE_TITLE":"Δεν ήταν δυνατή η ενημέρωση των πληροφοριών της συσκευής μετάδοσης: ο διακομιστής ροής ενδέχεται να είναι εκτός σύνδεσης","CHOOSE_DEVICE":"Επιλέξτε συσκευή για παρακολούθηση","NO_CAST_DEVICES":"Δεν διατίθενται συσκευές μετάδοσης.","NO_SETTINGS":"Καμία διαθέσιμη ρύθμιση.","NO_OPTIONS":"Δεν υπάρχουν διαθέσιμες επιλογές","PHONE_TABLET":"Τηλέφωνο/Tablet","DISABLED_LABEL":"Η ρύθμιση {{label}} δεν μπορεί να αλλάξει","SUBTITLES":"Υπότιτλοι","SUBTITLES_CHANGE":"Αλλαγή υποτίτλων για ","SUBTITLES_CHANGE_NONE":"Δυστυχώς, δεν υπάρχουν άλλοι υπότιτλοι για αυτήν τη γλώσσα.","SUBTITLES_CHANGE_ACIVE":"Αυτήν τη στιγμή, είναι ενεργοί οι υπότιτλοι #{{subtitlesDialog.activeIdx + 1}}. Κάντε κλικ στο «Συνέχεια» για να ενεργοποιήσετε τους υπότιτλους #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Εναλλακτικά,","SUBTITLES_ADJUST_DELAY":"Προσαρμογή καθυστέρησης υποτίτλων:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Ή χρησιμοποιήστε τα πλήκτρα <span>G</span> / <span>H</span> κατά την αναπαραγωγή.","SUBTITLES_ADJUST_DELAY_TIP":"ΣΥΜΒΟΥΛΗ: Μπορείτε να χρησιμοποιήσετε τα πλήκτρα <span>G</span> / <span>H</span> κατά την αναπαραγωγή.","SUBTITLES_DELAY":"Καθυστέρηση υποτίτλων:","SUBTITLES_LOADING":"Φόρτωση υποτίτλων...","SUBTITLES_UNAVAILABLE":"Δεν διατίθενται εξωτερικοί υπότιτλοι","SUBTITLES_DISABLED":"Ανενεργοί","EXTERNAL_PLAYER_DISABLED":"Απενεργοποιημένο","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Να επιτρέπεται η επιλογή","EXTERNAL_PLAYER_HINT":"Συμβουλή: Υπάρχει μια ρύθμιση που επιτρέπει πάντα το άνοιγμα με εξωτερική συσκευή αναπαραγωγής","DONT_SHOW_AGAIN":"Να μην ξαναεμφανιστεί","SERVICE_INSTALL":"Εγκατάσταση","AUDIO":"Ήχος","DEFAULT_LANGUAGE":"Προεπιλεγμένη γλώσσα","DEFAULT_SECONDARY_LANGUAGE":"Δευτερεύουσα προεπιλεγμένη γλώσσα","SEASON":"Κύκλος","SEASON_NUMBER":"Κύκλος {{season}}","PREV_SEASON":"Προηγούμενος κύκλος","NEXT_SEASON":"Επόμενος κύκλος","EPISODE":"Επεισόδιο","EPISODE_ABBREVIATION":"ΕΠ","SPECIAL":"Σπέσιαλ","SORT":"Ταξινόμηση","SORT_BY":"Ταξινόμηση κατά","FILTER":"Φιλτράρισμα","SORT_TRENDING":"Τάσεις","SORT_RECENT":"Πρόσφατα","SORT_ALPHABET":"Α-Ω","SORT_ALPHABET_REVERSE":"Ω-Α","SORT_RATING":"Βαθμολογία","SORT_WATCHED":"Προβλήθηκαν","SORT_YEAR":"Έτος","SELECT":"Επιλογή","SELECT_TYPE":"Επιλέξτε τύπο","SELECT_SORT":"Ταξινόμηση κατά","SELECT_CATALOG":"Επιλέξτε κατάλογο","NO_CATALOG_SELECTED":"Δεν έχει επιλεγεί κατάλογος!","CATALOG_FILTERS":"Φίλτρα καταλόγου","ALL_FILTERS":"Όλα τα φίλτρα","SELECT_GENRE":"Επιλέξτε τύπο","SORT_LASTWATCHED":"Από τη τελευταία προβολή","SORT_NAME":"Από το όνομα","SORT_NAMEREVERSE":"Ω-Α","SORT_TIMESWATCHED":"Από τον αριθμό αναπαραγωγών","SORT_NOTWATCHED":"δεν έχει προβληθεί","New for You":"Νέα για εσάς","New Episodes":"Νέα επεισόδια","New Videos":"Νέα βίντεο","Recommendations":"Προτάσεις","LIBRARY_RESUME":"Συνέχιση","LIBRARY_PLAY":"Αναπαραγωγή","LIBRARY_DETAILS":"Λεπτομέρειες","LIBRARY_RESUME_DISMISS":"Απόρριψη","LIBRARY_CLEAR_PROGRESS":"Κατάργηση προόδου","LIBRARY_REMOVE":"Αφαίρεση","LIBRARY_NOT_LOGGED_IN":"Μόνο οι χρήστες που έχουν λογαριασμό στο Stremio έχουν πρόσβαση στη βιβλιοθήκη","LIBRARY_NOT_LOADED":"Η βιβλιοθήκη δεν έχει φορτωθεί!","LIBRARY_EMPTY":"Κενή βιβλιοθήκη","CALENDAR_NOT_LOGGED_IN":"Μόνο οι χρήστες που έχουν λογαριασμό στο Stremio έχουν πρόσβαση στο ημερολόγιο","NOT_LOGGED_IN_CLOUD":"Δείτε τις αγαπημένες σας ταινίες και σειρές οπουδήποτε, οποιαδήποτε στιγμή.","NOT_LOGGED_IN_RECOMMENDATIONS":"Προτάσεις προσαρμοσμένες στο ιστορικό παρακολούθησής σας","NOT_LOGGED_IN_NOTIFICATIONS":"Μη χάσετε κανένα επεισόδιο","NOT_LOGGED_IN_CALENDAR":"Προσαρμόστε και προγραμματίστε το προσωπικό σας ημερολόγιο παρακολούθησης","CALENDAR_NO_NEW_EPISODES":"Δεν υπάρχουν νέα επεισόδια για σήμερα","DISCOVER_FEATURED":"Προτεινόμενα","DISCOVER_TOP":"Κορυφαία","DISCOVER_OSCAR":"Νικητές Όσκαρ","DISCOVER_WARNING_TITLE":"Ωχ!","DISCOVER_EMPTY_CATALOG":"Αυτό το πρόσθετο επέστρεψε κενό περιεχόμενο.","DISCOVER_ADULT_WARNING":"Το περιεχόμενο είναι ορατό μόνο για ενήλικες. Είστε 18+;","DISCOVER_NOADDON_WARNING":"Προειδοποίηση: Δεν υπάρχει ενεργό πρόσθετο στο Stremio για αυτόν τον τύπο. Εμφανίζονται αποθηκευμένα στοιχεία, δεν θα ενημερωθεί τίποτα εδώ.","DISCOVER_LOAD_ERR":"Το περιεχόμενο δεν φορτώθηκε, προέκυψε σφάλμα.","DISCOVER_ADDON_UNINSTALLED":"Αυτό το περιεχόμενο δεν είναι πλέον διαθέσιμο, ενδέχεται να έχετε αφαιρέσει το πρόσθετο.","UNINSTALL_THIS_ADDON":"Αφαίρεση προσθέτου","ERR_ADDON_NOT_INSTALLED":"Αυτό το πρόσθετο δεν έχει εγκατασταθεί. Να γίνει εγκατάσταση;","DETAIL_RECEIVE_NOTIF_SERIES":"Λήψη ειδοποιήσεων για νέα επεισόδια","DETAIL_RECEIVE_NOTIF_VIDEOS":"Λήψη ειδοποιήσεων για νέα βίντεο","SIDEBAR_SHOW_STREAMS":"Εμφάνιση ροών","RELAUNCH":"Κάντε επανεκκίνηση τώρα!","UPGRADE":"Υπάρχει νέα διαθέσιμη έκδοση! Αναβαθμίστε στην πιο πρόσφατη έκδοση του Stremio","RELOAD_UI":"Ανανεώστε το περιβάλλον χρήστη","MANUAL_UPDATE_TITLE":"Ενημερώστε την έκδοση του Stremio σας","MANUAL_UPDATE_LINE1":"Χρησιμοποιείτε μια παρωχημένη έκδοση του Stremio, κάτι που δεν προτείνεται.","MANUAL_UPDATE_LINE2":"Παρακαλώ κάντε ενημέρωση το συντομότερο δυνατόν.","BUTTON_UPDATE_LATTER":"Όχι τώρα","BUTTON_UPDATE_NOW":"Ενημέρωση τώρα","UPDATER_TITLE":"Μια νέα έκδοση του Stremio είναι διαθέσιμη","UPDATER_INSTALL_BUTTON":"Εγκατάσταση τώρα","ANONYMOUS_USER":"Ανώνυμος χρήστης","DONT_HAVE_ACC":"Δεν έχετε λογαριασμό;","HAVE_ACC":"Έχετε ήδη λογαριασμό;","PASSWORD":"Κωδικός πρόσβασης","PASSWORD_CONFIRM":"Επιβεβαίωση κωδικού πρόσβασης","EMAIL":"Email","FB_LOGIN":"Συνέχεια με Facebook","APPLE_LOGIN":"Συνέχεια με Apple","FB_NOTHINGSHARED":"Δεν κοινοποιούμε τίποτα χωρίς την άδειά σας","FB_NOPOST":"Δεν θα δημοσιεύσουμε τίποτα εκ μέρους σας","OR":"ή","I_ACCEPT":"Αποδοχή","I_ACCEPT_BY_CLICKING":"Κάνοντας κλικ στο παραπάνω κουμπί, δηλώνω την αποδοχή ","TOS":"Όροι και Προϋποθέσεις","MUST_ACCEPT_TERMS":"Πρέπει να αποδεχθείτε τους όρους","PASSWORDS_NOMATCH":"Οι κωδικοί πρόσβασης δεν ταιριάζουν","SIGN_UP":"Εγγραφή","SIGN_UP_EMAIL":"Εγγραφή με email","CLICK_TO_SIGN_UP":"Κάντε κλικ εδώ για να εγγραφείτε.","LOG_IN":"Σύνδεση","LOG_OUT":"Αποσύνδεση","EXIT_FULLSCREEN":"Έξοδος από πλήρη οθόνη","ENTER_FULLSCREEN":"Είσοδος σε πλήρη οθόνη","PLAY_URL_MAGNET_LINK":"Αναπαραγωγή URL/συνδέσμου magnet","HELP_FEEDBACK":"Βοήθεια & σχόλια","TERMS_OF_SERVICE":"Όροι υπηρεσίας","PRIVACY_POLICY":"Πολιτική Απορρήτου","ABOUT_STREMIO":"Σχετικά με το Stremio","USER_PANEL":"Πίνακας χρήστη","LOGIN_LABEL":"Σύνδεση","GUEST_LOGIN":"Σύνδεση επισκέπτη","GUEST_LOGIN_NOTICE":"Δεν προτείνεται η σύνδεση επισκέπτη. Η κανονική σύνδεση επιτρέπει στο Stremio να συγχρονίζει τη βιβλιοθήκη σας και να σας στέλνει ειδοποιήσεις για αγαπημένες σειρές/κανάλια. Θέλετε σίγουρα να συνεχίσετε;","GUEST_LOGIN_NOTICE_2":"Δεν προτείνεται η σύνδεση επισκέπτη - δεν θα συγχρονίζεται η βιβλιοθήκη και οι ειδοποιήσεις πίνακα, που είναι βασικές λειτουργίες του Stremio. Θέλετε σίγουρα να συνεχίσετε;","CLICK_HERE":"Κάντε κλικ εδώ","WRONG_PASSWORD":"Εσφαλμένο email ή κωδικός πρόσβασης. Σε περίπτωση που έχετε ξεχάσει τον κωδικό πρόσβασής σας, ","SET_A_PASS":"Ορισμός κωδικού πρόσβασης","RESET_PASSWORD":"Επαναφορά κωδικού πρόσβασης","PASSWORD_RESET":"Ο κωδικός πρόσβασης επαναφέρθηκε","FORGOT_PASSWORD":"Ξεχάσατε τον κωδικό πρόσβασής σας;","EMAIL_USED_WITH_FB":"Αυτό το email χρησιμοποιήθηκε με σύνδεση Facebook.","INVALID_EMAIL":"Παρακαλώ εισαγάγετε μια έγκυρη διεύθυνση email","INVALID_PASSWORD":"Παρακαλώ εισαγάγετε έναν έγκυρο κωδικό πρόσβασης","CONN_ERR":"Σφάλμα σύνδεσης - παρακαλώ δοκιμάστε ξανά αργότερα.\\n\\nΑν επιμένει, απενεργοποιήστε το λογισμικό προστασίας από ιούς ή το τείχος προστασίας (ειδικά το Bitdefender).","IMPORT_FROM_GUEST":"Εισαγωγή βιβλιοθήκης από λογαριασμό επισκέπτη","RECEIVE_UPDATES_EMAIL":"Λήψη ενημερώσεων από το Stremio στο email σας","LOGIN_FAILED":"Αποτυχία σύνδεσης.","SIGNUP_FAILED":"Αποτυχία εγγραφής.","SEARCH_FAILED":"Αποτυχία αναζήτησης","EMAIL_USED":"Αυτό το email χρησιμοποιείται ήδη.","WAITING_FB_LOGIN":"Σύνδεση μέσω Facebook...","EXTERNAL_OPENING_YOUTUBE":"Αφήνεις το Stremio και ανοίγεις το YouTube. Είσαι σίγουρος;","EXTERNAL_OPENING_APP":"Αφήνεις το Stremio για να ανοίξεις άλλη εφαρμογή. Είσαι σίγουρος;","EXTERNAL_PLAYER_TITLE":"Αναπαραγωγή σε εξωτερικό πρόγραμμα","EXTERNAL_REMEMBER_PLAYER":"Θέλετε να αποθηκεύσετε την επιλογή σας;","EXTERNAL_ALWAYS_PLAY":"Ναι","EXTERNAL_ONLY_ONCE":"Όχι","BEST_FIT":"Βέλτιστη προσαρμογή","FIT_SCREEN":"Προσαρμογή στην οθόνη","FILL":"Γέμισμα","16:9":"16:9","4:3":"4:3","Original":"Αρχικό","INTRO_TASTE":"Πείτε μας τι σας αρέσει","INTRO_TASTE_LONG":"Πείτε μας τι θα θέλατε να δείτε","INTRO_TASTE_PICK":"Επιλέξτε {{interestsRemaining}} ενδιαφέροντα","INTRO_TASTE_PICK_MORE":"Επιλέξτε {{interestsRemaining}} κι άλλα ενδιαφέροντα","INTRO_TASTE_HELP_US":"Βοηθήστε μας να μάθουμε περισσότερα για εσάς.","INTRO_TASTE_CHOOSE_THESE":"Επιλέξτε κάποια από αυτά:","INTRO_TASTE_CHOOSE_MIN":"Επιλέξτε τουλάχιστον 3 κατηγορίες","INTRO_TASTE_CHOOSE_MIN_ERR":"Πρέπει να επιλέξετε τουλάχιστον 3 κατηγορίες!","INTRO_TASTE_LIFESTYLE":"Τρόπος ζωής","INTRO_TASTE_SPORTS":"Αθλήματα","INTRO_TASTE_FOOD_HEALTH":"Φαγητό & υγεία","INTRO_TASTE_BEAUTY_FASHION":"Ομορφιά & μόδα","INTRO_TASTE_NEWS":"Ειδήσεις","INTRO_TASTE_GAMING":"Παιχνίδια","INTRO_TASTE_SCIENCE_EDU":"Επιστήμη & εκπαίδευση","INTRO_TASTE_MUSIC":"Μουσική","INTRO_TASTE_TRAVEL":"Ταξίδια","INTRO_TASTE_LATE_NIGHT":"Βραδινό","INTRO_TASTE_REALITY":"Ριάλιτι","INTRO_TASTE_COMEDY":"Κωμωδία","INTRO_TASTE_DIY":"Κατασκευές","INTRO_TASTE_TECH":"Τεχνολογία","INTRO_TASTE_CINEMA":"Κινηματογράφος","NO_ADDONS":"Δεν έχουν εγκατασταθεί πρόσθετα!","NO_ADDONS_FOR_TYPE":"Δεν έχουν εγκατασταθεί πρόσθετα για αυτόν τον τύπο!","ADDON_NOT_SUPPORTED":"Το επιλεγμένο πρόσθετο δεν υποστηρίζεται σε αυτήν την πλατφόρμα.","ADDON_DISCLAIMER":"Η χρήση τρίτων προσθέτων θα υπόκειται πάντα στη δική σας ευθύνη και την ισχύουσα νομοθεσία της χώρας σας.","ADDON_ACTIVATE":"Ενεργοποίηση προσθέτου;","ADDON_REPO_ADD":"URL συλλογής προσθέτων","ADDON_ADD":"Προσθήκη","INSTALL_ADDON":"Εγκατάσταση προσθέτου","ADD_ADDON":"Προσθέστε πρόσθετο","ADD_ADDON_DESCRIPTION":"Μπορείτε να προσθέσετε ένα πρόσθετο μέσω ενός εξωτερικού συνδέσμου, ο οποίος θα εμφανίζεται στην ενότητα Εγκατεστημένα πρόσθετα.","PASTE_ADDON_URL":"Επικόλληση URL προσθέτου","ADDONS_FILTERS":"Φίλτρα προσθέτων","WHATS_NEW":"Τί νέο υπάρχει","BUTTON_CONTINUE":"Συνέχεια","BUTTON_ACTIVATE":"Ενεργοποίηση","BUTTON_ACTIVATED":"Ενεργό","BUTTON_CANCEL":"Ακύρωση","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Υποβολή","BUTTON_SEND":"Αποστολή","BUTTON_DISMISS_ALL":"Απόρριψη όλων","BUTTON_VIEW_ALL":"Προβολή όλων","BUTTON_SEE_ALL":"Προβολή όλων","BUTTON_COLOR_TRANSPARENT":"Διαφάνεια","BUTTON_PREV":"Προηγ","BUTTON_NEXT":"Επόμ","BUTTON_CLOSE":"Κλείσιμο","OPEN_IN_BROWSER":"Άνοιγμα σε πρόγραμμα περιήγησης","LIB_EMPTY":"Η βιβλιοθήκη σας είναι κενή. Ανακαλύψτε πόσο χρήσιμη είναι :)","HOW_START":"Δείτε από πού μπορείτε να ξεκινήσετε:","LIB_EMPTY_CAL":"Το ημερολόγιό σας εμφανίζει σειρές στη βιβλιοθήκη σας.","HOW_START_CAL":"Δείτε πώς μπορείτε να προσθέσετε σειρές:","LIB_EMPTY_BOARD":"Ο πίνακας εμφανίζει ειδοποιήσεις & προτάσεις σχετικές με τη βιβλιοθήκη σας.","HOW_START_BOARD_WAIT":"Παρακαλούμε προσθέστε μερικές σειρές ή κανάλια στη βιβλιοθήκη σας και δώστε μας λίγα λεπτά για να τα επεξεργαστούμε :)","HOW_START_BOARD":"Δείτε πώς μπορείτε να προσθέσετε σειρές & ταινίες:","IMPORT_FB":"Εισαγωγή αγαπημένων από το <span>Facebook</span>","IMPORT_TRAKT":"Εισαγωγή βιβλιοθήκης πολυμέσων από το <span>Trakt</span>","IMPORT_DISCOVER":"Εύρεση ενδιαφέροντος περιεχομένου από την <span>Ανακάλυψη</span>","IMPORT_DISK":"Εισαγωγή ταινιών ή εκπομπών από τον <span>τοπικό σας δίσκο</span>","PLEASE_CREATE_ACC":"Παρακαλώ <u>δημιουργήστε έναν λογαριασμό</u> για να ενεργοποιήσετε τον συγχρονισμό βιβλιοθήκης & πίνακα.","IMPORT_DISCOVER_SIGNUP":"Εγγραφείτε και βρείτε ενδιαφέρον περιεχόμενο από την <span>Ανακάλυψη</span>","IMPORT_DISK_SIGNUP":"Εγγραφείτε και εισαγάγετε ταινίες ή εκπομπές από τον <span>τοπικό σας δίσκο</span>","LIB_EMPTY_CLOUD":"Συγχρονισμός","LIB_EMPTY_CLOUD_DESC":"Συγχρονισμός προσωπικής βιβλιοθήκης cloud σε κάθε συσκευή","LIB_EMPTY_EARLY":"Πρόωρη άφιξη","LIB_EMPTY_EARLY_DESC":"Λήψη ειδοποιήσεων για νέα επεισόδια","LIB_EMPTY_PERSONAL":"Εξατομίκευση","LIB_EMPTY_PERSONAL_DESC":"Λήψη εξατομικευμένων προτάσεων","LIB_EMPTY_CALENDAR_DESC":"Διαχειριστείτε το προσωπικό σας ημερολόγιο παρακολούθησης","LIB_EMPTY_ALL":"Εγγραφείτε για να έχετε όλα τα ακόλουθα:","LIB_EMPTY_BEST":"Εγγραφείτε για να αξιοποιήσετε το Stremio στο έπακρο","LIB_EMPTY_OTHER":"Εγγραφείτε για να ενεργοποιήσετε το Ημερολόγιο και άλλες λειτουργίες","CALENDAR_ADDED":"Το ημερολόγιο του Stremio έχει προστεθεί στο προεπιλεγμένο ημερολόγιο του υπολογιστή σας.","CALENDAR_ADDED_MSG":"Αν δεν λειτουργήσει αυτό, παρακαλώ προσθέστε χειροκίνητα αυτό το URL της εφαρμογής ημερολογίου σας","TRAKT_EXPIRED":"Η ταυτοποίηση στο Trakt έληξε, παρακαλώ μεταβείτε στις Ρυθμίσεις και κάντε ξανά έλεγχο ταυτότητας","TRAKT_REQUIRES_LOGIN":"Σφάλμα Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Πρέπει να κάνετε σύνδεση","TRAKT_IMPORT_WATCHED":"Εισαγωγή","THEME":"Θέμα","THEME_DEFAULT":"Προκαθορισμένο","THEME_ADAPTIVE":"Προσαρμοστικός","CHOOSE_COLOR":"Επίλεξε χρώμα:","SETTINGS_APP_VERSION":"Έκδοση εφαρμογής","SETTINGS_BUILD_VERSION":"Έκδοση build","SETTINGS_SERVER_VERSION":"Έκδοση Server","SETTINGS_SHELL_VERSION":"Έκδοση Shell","SETTINGS_SOURCE_CODE":"Έκδοση πηγής","SETTINGS_LABEL":"Ρυθμίσεις","SETTINGS_NAV_GENERAL":"Γενικά","SETTINGS_NAV_PLAYER":"Αναπαραγωγή","SETTINGS_NAV_STREAMING":"Ροή","SETTINGS_NAV_SHORTCUTS":"Συντομεύσεις","SETTINGS_SHORTCUT_RELOAD_APP":"Επαναφόρτωση εφαρμογής","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Άνοιγμα ρυθμίσεων","SETTINGS_SHORTCUT_SWITCH_TABS":"Αλλαγή σελίδας","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Εναλλαγή καρτελών προς τα εμπρός","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Εναλλαγή καρτελών προς τα πίσω","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Πλοήγηση ανάμεσα στα μενού","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Πηγαίνετε στην αναζήτηση","SETTINGS_SHORTCUT_EXIT_BACK":"Έξοδος / Πίσω","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Ταχύτητα αναπαραγωγής","SETTINGS_SHORTCUT_MENU_VIDEOS":"Μενού βίντεο","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Μενού ρυθμίσεων υποτίτλων","SETTINGS_SHORTCUT_MENU_AUDIO":"Μενού ρυθμίσεων Ήχου","SETTINGS_SHORTCUT_MENU_INFO":"Μενού πληροφοριών","SETTINGS_SHORTCUT_FULLSCREEN":"Λειτουργία πλήρους οθόνης","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Εμφάνιση στοιχείων ελέγχου","SETTINGS_SHORTCUT_PLAY_PAUSE":"Αναπαραγωγή / Παύση","SETTINGS_SHORTCUT_VOLUME_UP":"Ανεβάστε την ένταση","SETTINGS_SHORTCUT_VOLUME_DOWN":"Χαμηλώστε την ένταση","SETTINGS_SHORTCUT_SEEK_NEXT":"Πηγαίνετε στο επόμενο επεισόδιο","SETTINGS_SHORTCUT_SEEK_PREV":"Πηγαίνετε στο προηγούμενο επεισόδιο","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Πηγαίνετε προς τα πίσω κατά 10 δευτερόλεπτα","SETTINGS_SHORTCUT_SEEK_FORWARD":"Παράκαμψη 10 δευτερολέπτων","SETTINGS_SHORTCUT_PLAY_NEXT":"Επόμενο","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Αυξήστε το μέγεθος των υποτίτλων","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Μειώστε το μέγεθος των υποτίτλων","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Αυξήστε την καθυστέρηση των υποτίτλων","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Μειώστε την καθυστέρηση των υποτίτλων","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Ρύθμιση καθυστέρησης υπότιτλων","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Αλλαγή θέσης πλευρικής γραμμής","SETTINGS_SHORTCUT_OR":"ή","SETTINGS_SHORTCUT_TO":"μέχρι","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Πιστοποίηση","SETTINGS_FACEBOOK_IMPORT":"Εισαγωγή","SETTINGS_CALENDAR_SUBSCRIBE":"Εγγραφή","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Η εφαρμογή Ημερολογίου άνοιξε. Παρακαλώ εγγραφείτε στο ημερολόγιο χειροκίνητα.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Το αρχείο ημερολογίου κατεβάστηκε. Παρακαλώ εισαγάγετέ το στην εφαρμογή ημερολογίου σας.","SETTINGS_INTERFACE_LANGUAGE":"Γλώσσα εφαρμογής","SETTINGS_LAUNCH_STARTUP":"Άνοιγμα κατά την εκκίνηση","SETTINGS_VLC_DEFAULT":"Αναπαραγωγή με VLC","SETTINGS_UI_LANGUAGE":"Γλώσσα εφαρμογής","SETTINGS_UI_ZOOM":"Ζουμ διεπαφής","SETTINGS_FULLSCREEN_EXIT":"Έξοδος από πλήρη οθόνη με το πλήκτρο Escape","SETTINGS_GAMEPAD":"Ενεργοποίηση υποστήριξης για gamepad","SETTINGS_CLOSE_WINDOW":"Κλείσιμο εφαρμογής όταν κλείνει το παράθυρο","SETTINGS_SUBTITLES_LANGUAGE":"Προεπιλεγμένη γλώσσα υποτίτλων","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Δευτερευόντων γλώσσα υποτίτλων","SETTINGS_SUBTITLES_SIZE":"Προεπιλεγμένο μέγεθος υποτίτλων","SETTINGS_SUBTITLES_BACKGROUND":"Φόντο υποτίτλων","SETTINGS_SUBTITLES_COLOR":"Χρώμα υποτίτλων","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Χρώμα περιγράμματος υποτίτλων","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Χρώμα φόντου υποτίτλων","SETTINGS_SEEK_KEY":"Χρονική μετατόπιση με πλήκτρα-βέλη","SETTINGS_SEEK_KEY_SHIFT":"Χρονική μετατόπιση με πλήκτρα-βέλη όταν είναι πατημένο το πλήκτρο Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Χρονική διάρκεια παράκαμψης χρόνου βίντεο","SETTINGS_BINGE":"Αυτόματη αναπαραγωγή επόμενου επεισοδίου","SETTINGS_NEXT_VIDEO":"Εμφάνιση ειδοποίησης για έναρξη επόμενου επεισοδίου","SETTINGS_NEXT_VIDEO_TRIGGER":"Εμφάνιση ειδοποίησης επόμενου επεισοδίου για:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Διάρκεια αναδυόμενου παραθύρου για το επόμενο βίντεο","SETTINGS_PLAY_IN_BACKGROUND":"Αναπαραγωγή στο παρασκήνιο","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Αναπαραγωγή σε εξωτερική εφαρμογή","SETTINGS_RESIZE":"Αυτόματη προσαρμογή παραθύρου πριν από την αναπαραγωγή","SETTINGS_OVERRIDE_SERVER":"Παράκαμψη URL διακομιστή ροής (σύνθετο)","SETTINGS_SERVER_ADD_URL":"Εισαγωγή URL","SETTINGS_SERVER_URL":"URL διακομιστή ροής:","SETTINGS_SERVER_AVAILABLE":"Ο διακομιστής ροής είναι διαθέσιμος.","SETTINGS_SERVER_UNAVAILABLE":"Ο διακομιστής ροής δεν είναι διαθέσιμος.","SETTINGS_SERVER_STATUS_ONLINE":"Σε σύνδεση","SETTINGS_SERVER_STATUS_ERROR":"Προέκυψε σφάλμα","SETTINGS_SERVER_CONFIGURE_TITLE":"Διαμορφώστε το URL του διακομιστή αναπαραγωγής","SETTINGS_SERVER_CONFIGURE_INPUT":"Εισαγωγή ενός URL διακομιστή αναπαραγωγής","SETTINGS_SERVER_CACHE_SIZE":"Μέγεθος επιτρεπόμενης μνήμης cache","SETTINGS_SERVER_TORRENT_PROFILE":"Προφίλ torrent","SETTINGS_HTTPS_ENDPOINT":"Ακροσημείο HTTPS ροής: ","SETTINGS_TRANSCODE_PROFILE":"Διακωδικοποίηση προφίλ","SETTINGS_USE_BETA":"Πάντα χρήση της πιο πρόσφατης έκδοσης beta","SETTINGS_IMPORT_FB":"Εισαγωγή από Facebook","SETTINGS_IMPORT_DISK":"Εισαγωγή από τοπικό δίσκο","SETTINGS_IMPORT_TRAKT":"Εισαγωγή από Trakt","SETTINGS_PAUSE_MINIMIZED":"Παύση αναπαραγωγής κατά την ελαχιστοποίηση","SETTINGS_HWDEC":"Αποκωδικοποίηση με επιτάχυνση υλικού","SETTINGS_BACKGROUND":"Αναπαραγωγή στο παρασκήνιο","SETTINGS_SUBSCRIBE_CALENDAR":"Εγγραφή σε ημερολόγιο","SETTINGS_REQ_EXPORT":"Αίτημα εξαγωγής δεδομένων","SETTINGS_ACC_DELETE":"Αίτημα διαγραφής λογαριασμού","SETTINGS_CHANGE_PASSWORD":"Αλλαγή κωδικού πρόσβασης","SETTINGS_TOS":"Όροι υπηρεσίας","SETTINGS_SUPPORT":"Επικοινωνία με την υποστήριξη","SETTING_LANGUAGE":"Γλώσσα","SETTINGS_BLUR_UNWATCHED_IMAGE":"Θόλωσε την εικόνα των επεισοδίων που δεν έχουν παρακολουθηθεί","SETTINGS_QUIT_ON_CLOSE":"Έξοδος στο κλείσιμο","SETTINGS_TRAKT":"Αυτόματη παρακολούθηση Trakt","SETTINGS_TRAKT_RE_AUTH":"Επαναπιστοποίηση","SETTINGS_TRAKT_LOGOUT":"Αποσύνδεση από Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Αποσύνδεση από Trakt","SETTINGS_SCAN_FOR_REMOTE":"Σαρώστε τον κωδικό QR για να ανοίξετε το τηλεχειριστήριο","SETTINGS_DESKTOP_NOTIFICATIONS":"Ειδοποιήσεις υπολογιστή","SETTINGS_DATA_SAVER":"Εξοικονόμηση δεδομένων","SETTINGS_LANGUAGE_INTERFACE":"Περιβάλλον χρήστη","SETTINGS_LANGUAGE_SUBS":"Προεπιλεγμένοι υπότιτλοι","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Αυτόματη επιλογή κομματιού ήχου","SETTINGS_DEFAULT_AUDIO_TRACK":"Προεπιλεγμένο κομμάτι ήχου","SETTINGS_SECONDARY_AUDIO_TRACK":"Δευτερεύον κομμάτι ήχου","SETTINGS_SURROUND_SOUND":"Ήχος surround","SETTINGS_ACCOUNT":"Λογαριασμός","SETTINGS_PLATFORM":"Πλατφόρμα","SETTINGS_VERSION":"Έκδοση","SETTINGS_ABOUT":"Πληροφορίες","SETTINGS_MPV_WINDOW":"Εκκίνηση αναπαραγωγής σε ξεχωριστό παράθυρο (σύνθετο)","SETTINGS_PLAY_IN_EXTERNAL":"Πάντα εκκίνηση του βίντεο σε εξωτερικό πρόγραμμα","SETTINGS_STORAGE_BUTTON":"Απαλοιφή τοπικής αποθήκευσης","SETTINGS_STORAGE_MODAL_TITLE":"Σίγουρα;","SETTINGS_STORAGE_MODAL_MESSAGE":"Αυτό θα εκκαθαρίσει τον τοπικό χώρο αποθήκευσης και θα σας αποσυνδέσει.","SETTINGS_HWDEC_PICKER":"Επιλέξτε ρύθμιση αποκωδικοποίησης με επιτάχυνση υλικού","SETTINGS_HW_AUTOMATIC":"Αυτόματη","SETTINGS_HW_DISABLED":"Ανενεργή","SETTINGS_HW_ACCELERATED":"Επιτάχυνση αποκωδικοποίησης","SETTINGS_HW_FULL":"Πλήρης επιτάχυνση","SETTINGS_HW_LEGACY":"Παλαιού τύπου","SETTINGS_DISABLED":"Ανενεργό","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Ειδοποίηση για σύνδεση δικτύου","SETTINGS_ANALYTICS":"Επέτρεψε τα αναλυτικά στοιχεία","SETTINGS_REMOTE_URL":"Σύνδεσμος remote","SETTINGS_COPY_REMOTE_URL":"Αντιγραφή σνδέσμου remote","SETTINGS_REMOTE_URL_COPIED":"Ο σύνδεσμος remote αντιγράφηκε στο πρόχειρό σας","SETTINGS_SECTION_SUBTITLES":"Υπότιτλοι","SETTINGS_SECTION_AUDIO":"Ήχος","SETTINGS_SECTION_CONTROLS":"Χειρισμός","SETTINGS_SECTION_AUTO_PLAY":"Αυτόματη αναπαραγωγή","SETTINGS_SECTION_ADVANCED":"Για προχωρημένους","SUBSPICKER_AUDIO":"Ήχος","SUBSPICKER_SUBTITLES":"Πρόσθετα Υποτίτλων","SUBSPICKER_BLACK_BACKGROUND":"Χρήση μαύρου φόντου","SUBSPICKER_VERTICAL_OFFSET":"Απόσταση από το κάτω μέρος","SUBSPICKER_SIZE":"Μέγεθος","SUBSPICKER_DELAY":"Καθυστέρηση","SUBSPICKER_EMBEDDED_SUBS":"Ενσωματωμένοι Υπότιτλοι","MOBILE_PRIVACY_POLICY":"Πολιτική Απορρήτου","MOBILE_CRASH_REPORTING":"Αναφορά σφάλματος","MOBILE_ZOOM_TO_FILL":"Ζουμ για πλήρη οθόνη","MOBILE_PASSTHROUGH":"Ψηφιακή έξοδος ήχου (passthrough)","MOBILE_RUN_LOW_BATTERY":"Λειτουργία με χαμηλή μπαταρία","MOBILE_RUN_FOREGROUND":"Εκτέλεση ως υπηρεσία προσκηνίου","MOBILE_PERFORMANCE":"Απόδοση & Σταθερότητα","MOBILE_SERVER_ONLINE":"Σε σύνδεση","MOBILE_SERVER_OFFLINE":"Δεν υπάρχει σύνδεση","MOBILE_QR_EXPIRES":"Ο κωδικός QR λήγει σε","MOBILE_LOG_INTO":"Συνδεθείτε στον λογαριασμό σας","MOBILE_SCAN_QR":"Σκανάρετε το κωδικό QR η πηγαίνετε","MOBILE_LINK_ACCOUNT":"Σύνδεση λογαριασμού","MOBILE_SPEEDPICKER_CANCEL":"Ακύρωση","MOBILE_SPEEDPICKER_LABEL":"Ταχύτητα Αναπαραγωγής","MOBILE_EMPTY_LIBRARY":"Η βιβλιοθήκη σας είναι άδεια","MOBILE_NO_ADDON_ACTIVE":"Κανένα πρόσθετο δε μπορεί να εκτελέσει αυτή τη λειτουργία.","MOBILE_ORGANIZER_WARNING":"Η εφαρμογή Stremio Organizer παρέχει περιορισμένη λειτουργικότητα. Για μια λίστα με ροές με δυνατότητα αναπαραγωγής και την πλήρη εμπειρία του Stremio, χρησιμοποιήστε το Stremio στον υπολογιστή.","MOBILE_ADDON_LOADING":"Φορτώνει","MOBILE_ADDONS_LOADING":"Τα πρόσθετα φορτώνουν","MOBILE_ADDON":"Πρόσθετο","MOBILE_CONFIGURE_ADDON":"Διαμορφώστε το πρόσθετο","MOBILE_CONFIGURE_ADDON_LABEL":"Διαμορφώστε το πρόσθετο","MOBILE_ORGANIZER_ADDONS_WARNING":"Η εφαρμογή Stremio Organizer παρέχει περιορισμένα πρόσθετα. Για την πλήρη εμπειρία του Stremio, χρησιμοποιήστε το Stremio στον υπολογιστή.","MOBILE_DISCONNECT":"Αποσύνδεση","MOBILE_LOOKING_FOR_DEVICES":"Αναζήτηση συσκευών...","MOBILE_CAST_TO":"Μετάδοση σε","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Διαγραφή λογαριασμού","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Η διαγραφή λογαριασμού δεν είναι άμεση λόγω νομικών υποχρεώσεων. Αφού ζητήσετε τη διαγραφή του λογαριασμού σας, θα πρέπει να χρησιμοποιήσετε διαφορετική διεύθυνση email/προφίλ Facebook για να δημιουργήσετε έναν νέο λογαριασμό Stremio στο μέλλον.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Επιβεβαίωση διαγραφής λογαριασμού","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ο λογαριασμός σας έχει δημιουργηθεί με λογαριασμό Facebook. Για να διαγράψετε τον λογαριασμό σας, πηγαίνετε στη διεύθυνση www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Εισάγετε τον κωδικό πρόσβασής σας για να επιβεβαιώσετε τη διαγραφή του λογαριασμού σας.","MOBILE_DELETE_ACCOUNT_BUTTON":"Διαγραφή λογαριασμού","NAVIGATION_ON":"Ανοιχτό","NAVIGATION_OFF":"Κλειστό","READ_AND_AGREE":"Έχω διαβάσει και συμφωνώ με τους όρους του Stremio","MARKETING_AGREE":"Συμφωνώ να λαμβάνω ενημερωτικά e-mail από το Stremio","QUIT":"Έξοδος","CONNECTED":"Σε σύνδεση","AUTHENTICATE":"Ταυτοποίηση","AUTHENTICATING":"Γίνεται ταυτοποίηση...","CACHING":"Προσωρινή αποθήκευση","SETTINGS_CACHING_DRIVE":"Δίσκος προσωρινής μνήμης","ENABLE_LOCAL_FILES_ADDON":"Ενεργοποίηση προσθέτου τοπικών αρχείων (απαιτεί επανεκκίνηση)","LOCAL_ADDON_NOT_ENABLED":"Το τοπικό πρόσθετο δεν είναι ενεργοποιημένο. Κάντε κλικ εδώ για να μεταβείτε στις ρυθμίσεις και να το ενεργοποιήσετε","ENABLE_REMOTE_HTTPS_CONN":"Ενεργοποίηση απομακρυσμένων συνδέσεων HTTPS","TORRENT_PROFILE":"Προφίλ torrent","DATA_CACHING":"Προσωρινή αποθήκευση δεδομένων","MAGNET_PARSING":"Ανάλυση συνδέσμου magnet","January":"Ιανουάριος","February":"Φεβρουάριος","March":"Μάρτιος","April":"Απρίλιος","May":"Μάιος","June":"Ιούνιος","July":"Ιούλιος","August":"Αύγουστος","September":"Σεπτέμβριος","October":"Οκτώβριος","November":"Νοέμβριος","December":"Δεκέμβριος","Monday":"Δευτέρα","Tuesday":"Τρίτη","Wednesday":"Τετάρτη","Thursday":"Πέμπτη","Friday":"Παρασκευή","Saturday":"Σάββατο","Sunday":"Κυριακή","Action":"Δράση","Comedy":"Κωμωδία","War":"Πόλεμος","Family":"Οικογενειακές","Animation":"Κινούμενα σχέδια","Adventure":"Περιπέτεια","Fantasy":"Φαντασία","Crime":"Έγκλημα","Mystery":"Μυστήριο","Romance":"Ρομαντικές","Drama":"Δράμα","Horror":"Τρόμος","Thriller":"Θρίλερ","Sci-Fi":"Επιστημονική φαντασία","Music":"Μουσική","Biography":"Βιογραφία","Documentary":"Ντοκιμαντέρ","Sport":"Αθλήματα","Musical":"Μιούζικαλ","Western":"Γουέστερν","Film-Noir":"Φιλμ νουάρ","News":"Ειδήσεις","History":"Ιστορία","Game-Show":"Τηλεπαιχνίδι","Reality-TV":"Ριάλιτι","Talk-Show":"Τοκ σόου","Film & Entertainment":"Σινεμά & ψυχαγωγία","Gaming":"Παιχνίδια","From TV":"Από την τηλεόραση","Lifestyle":"Τρόπος ζωής","Science & Education":"Επιστήμη & εκπαίδευση","Cooking & Health":"Μαγειρική & υγεία","Beauty & Fashion":"Ομορφιά & μόδα","Sports":"Αθλήματα","News & Politics":"Ειδήσεις & πολιτική","How-to & DIY":"Κατασκευές","Tech":"Τεχνολογία","Automotive":"Αυτοκίνηση","Causes & Non-Profits":"Φιλανθρωπία","Movies":"Ταινίες","Uk Live Tv":"Ηνωμένο Βασίλειο","Fashion":"Μόδα","Business News Radio":"Επιχειρήσεις - Ράδιο","Business Tv":"Επιχειρήσεις","Cars & Auto":"Αυτοκίνητα","Comedy Radio":"Κωμωδία - Ράδιο","Lifestyle Radio":"Τρόπος ζωής - Ράδιο","News Tv":"Ειδήσεις","Food And Wine":"Φαγητό & ποτά","Latino Tv":"Λατινική Αμερική","Shopping Tv":"Αγορές","Religion":"Θρησκεία","Kids":"Παιδικά","Body & Soul":"Σώμα & πνεύμα","Education":"Εκπαίδευση","Indian Tv":"Ινδία","Extreme Sports":"Εξτρίμ σπορ","Middle Eastern Tv":"Μέση Ανατολή","Celebrity Tv":"Διάσημοι","Science Tv":"Επιστήμη","Bikini babe":"Bikini babe","Outdoors":"Εξοχή","German Tv":"Γερμανία","French Tv":"Γαλλία","Italian Tv":"Ιταλία","Gamer Tv":"Παιχνίδια","Travel":"Ταξίδια","Asian Tv":"Ασία","Entertainment":"Ψυχαγωγία","News Radio":"Ειδήσεις - Ράδιο","Music Radio":"Μουσική - Ράδιο","Language Learning":"Εκμάθηση γλωσσών","Science Radio":"Επιστήμη - Ράδιο","Tech Radio":"Τεχνολογία - Ράδιο","Science & Technology Vod":"Επιστήμη & τεχνολογία","new video":"Νέο βίντεο","new episode":"Νέο επεισόδιο","new movie":"Νέα ταινία","recommended":"Προτάσεις","we recommend":"Προτείνουμε","offer of the day":"Προσφορά ημέρας","news":"Ειδήσεις","music video":"Μουσικό βίντεο","CTX_SHOW_HOTKEYS":"Εμφάνιση πλήκτρων συντομεύσεων","CTX_DISMISS_NOTIF":"Απόρριψη ειδοποιήσεων","CTX_DISMISS_ALL":"Απόρριψη όλων","CTX_SHARE":"Κοινοποίηση","CTX_COPY_SHARE_LINK":"Αντιγραφή συνδέσμου κοινής χρήσης","CTX_COPY_MAGNET_LINK":"Αντιγραφή συνδέσμου magnet","CTX_COPY_STREAM_LINK":"Αντιγραφή συνδέσμου ροής","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Αντιγραφή συνδέσμου λήψης βίντεο","CTX_DOWNLOAD_VIDEO":"Λήψη βίντεο","CTX_DOWNLOAD_SUBS":"Λήψη υποτίτλων","CTX_VIEW_ON_YOUTUBE":"Προβολή στο YouTube","CTX_SHOW":"Εμφάνιση","CTX_PLAY":"Αναπαραγωγή","CTX_PLAY_IN":"Αναπαραγωγή σε","CTX_PLAY_ON":"Αναπαραγωγή σε","CTX_WATCH_ON":"Παρακολούθηση σε","CTX_WATCH":"Προβολή","CTX_WATCHED":"Προβλήθηκε","CTX_WATCH_BEGINNING":"Προβολή από την αρχή","CTX_WATCH_MOBILE":"Προβολή σε κινητή συσκευή","CTX_REWIND":"Επιστροφή στην αρχή","CTX_MARK_WATCHED":"Σήμανση ως προβεβλημένο","CTX_MARK_NON_WATCHED":"Σήμανση ως μη προβεβλημένο","CTX_MARK_UNWATCHED":"Σήμανση ως μη προβεβλημένο","CTX_MARK_REST":"Σήμανση υπολοίπων ως προβεβλημένων","CTX_UNMARK_REST":"Σήμανση υπολοίπων ως μη προβεβλημένων","CTX_RECEIVE_NEW_NOTIF":"Λήψη νέων ειδοποιήσεων","CTX_ENABLE_NEW_NOTIF":"Ενεργοποίηση ειδοποιήσεων","CTX_DISABLE_NEW_NOTIF":"Απενεργοποίηση ειδοποιήσεων","CTX_REMOVE_CACHE":"Αφαίρεση από προσωρινή μνήμη","CTX_REMOVE_CACHE_EP":"Αφαίρεση επεισοδίου από προσωρινή μνήμη","CTX_OPEN_CONTAINING":"Άνοιγμα φακέλου αποθήκευσης","CTX_REMOVE":"Αφαίρεση από βιβλιοθήκη","CTX_AVAILABLE_OFFLINE":"Διαθέσιμο εκτός σύνδεσης","CTX_PAUSED":"Σε παύση","CTX_ALWAYS_ON_TOP":"Πάντα στο προσκήνιο","CTX_FULLSCREEN":"Πλήρης οθόνη","CTX_WRONG_SUBS":"Εσφαλμένοι υπότιτλοι;","CTX_REPORT_ISSUES":"Αναφορά ζητήματος","CTX_COPY":"Αντιγραφή","CTX_COPY_TO_CLIPBOARD":"Αντιγραφή στο πρόχειρο","CTX_PASTE":"Επικόλληση","CTX_CLEAR":"Απαλοιφή","CTX_CLEAR_RECENT_SEARCHES":"Απαλοιφή πρόσφατων αναζητήσεων","HELLO_THERE":"Γεια σας","HOPE_YOU_ENJOY":"Ελπίζουμε να απολαμβάνετε το Stremio και να έχει γίνει ήδη μία από τις αγαπημένες σας εφαρμογές!","WHO_ARE_WE":"Ποιοι είμαστε; Είμαστε η ομάδα που το αναπτύσσει - δύο τύποι που εργάζονται σκληρά κάθε μέρα για τα τελευταία 3 έτη, προκειμένου να κάνουν αυτό το προϊόν όλο και καλύτερο.","SUPPORT_US":"Αν απολαμβάνετε το Stremio, αν το Stremio είναι ανεκτίμητο για εσάς - μοιραστείτε το με όλους!","SPREAD_THE_WORD":"Μοιραστείτε το με τους φίλους σας, μιλήστε σε όλους για το Stremio","MORE_PEOPLE":"Όσο περισσότερα άτομα χρησιμοποιούν το Stremio, τόσο καλύτερο θα γίνεται!","SEND_A_LINK":"Ή στείλτε έναν σύνδεσμο για τον ιστότοπό μας","TIP_LOCALFILES":"Συμβουλή: Μπορείτε να σύρετε και να εναποθέσετε τοπικά αρχεία βίντεο στο Stremio","ADDON_MY":"Τα πρόσθετά μου","ADDON_COMMUNITY":"Πρόσθετα κοινότητας","ADDON_OFFICIAL":"Επίσημα πρόσθετα","ADDON_REPOS":"Συλλογές προσθέτων","ADDON_SEARCH":"Αναζήτηση προσθέτων","ADDON_INSTALL":"Εγκατάσταση","ADDON_CONFIGURE":"Ρύθμιση","ADDON_UNINSTALL":"Αφαίρεση","ADDON_UPGRADE":"Αναβάθμιση","ADDON_INSTALLED":"Εγκατεστημένο","ADDON_INSTALLED_MSG":"Το πρόσθετο εγκαταστάθηκε!","ADDON_UPGRADED_MSG":"Το πρόσθετο αναβαθμίστηκε!","ADDON_UNKNOWN":"Άγνωστο","ADDON_ERR":"Σφάλμα εγκατάστασης προσθέτου!","ADDON_DISCONNECTED":"Αποσυνδέθηκε","ADDON_APP_MISSING":"Η εφαρμογή για αυτήν την πηγή δεν έχει εγκατασταθεί. Θέλετε να την εγκαταστήσετε τώρα;","ADDON_APP_INSTALL":"Εγκατάσταση","ADDON_PAGE":"Σελίδα προσθέτου","ADDON_TOP_CONTENT":"Τα καλύτερα από αυτό το πρόσθετο","ADDON_PROVIDES":"Αυτό το πρόσθετο προσφέρει:","ADDON_WATCH":"Παρακολούθηση «#{types}»!","ADDON_WATCH_FREE":"Δωρεάν παρακολούθηση «#{types}»!","ADDON_ADDON":"Πρόσθετο","ADDON_SUPPORTED_TYPES":"Υποστηριζόμενοι τύποι","ADDON_SUPPORTED_CATALOGS":"Υποστηριζόμενοι κατάλογοι","ADDON_PROVIDES_DISCOVER":"Περισσότερα «#{types}» στην Ανακάλυψη","ADDON_PROVIDES_STREAMS":"Παρακολούθηση «#{types}»","ADDON_PROVIDES_STREAMS_FREE":"Δωρεάν παρακολούθηση «#{types}»","ADDON_PROVIDES_SUBTITLES":"Υπότιτλοι για «#{types}»","ADDON_CANTDETECT":"Δεν μπορέσαμε να εντοπίσουμε κάποια εκτέλεση του Stremio, επομένως δεν μπορέσαμε να προσδιορίσουμε τα εγκατεστημένα σας πρόσθετα.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Η αναπαραγωγή torrent δεν υποστηρίζεται σε αυτή τη συσκευή λόγω κανόνων του App Store","ERR_NO_META":"Δεν βρέθηκε καμία πληροφορία σχετικά με αυτό ","ERR_NO_META_SELECTED":"Δεν επιλέχθηκε στοιχείο!","ERR_NO_META_FOUND":"Δεν βρέθηκαν στοιχεία!","ERR_NO_ADDONS_FOR_META":"Δεν ζητήθηκαν πρόσθετα για αυτό το στοιχείο!","ERR_NO_ADDONS_FOR_STREAMS":"Δεν ζητήθηκαν πρόσθετα για ροές!","ERR_NO_VIDEOS_FOR_META":"Δεν βρέθηκαν βίντεο για αυτό το στοιχείο!","ERR_GETTING_META":"Σφάλμα ανάκτηση σχετικών πληροφοριών.","ERR_CANT_PARSE_MAGNET":"Δεν ήταν δυνατή η ανάλυση του magnet","ERR_NO_MAGNET_INFOHASH":"Κανένα έγκυρο hash πληροφοριών για το magnet","ERR_NO_FILE_PATH":"Δεν είναι δυνατή η αποστολή αιτήματος χωρίς διαδρομή σε αρχείο","ERR_NO_TORRENT":"Δεν επιστράφηκε κανένα torrent","ERR_NO_SUPPORTERD_FILES":"Δεν βρέθηκαν υποστηριζόμενα αρχεία","ERR_OPENING_FILES":"Δεν ήταν δυνατό το άνοιγμα εξωτερικών αρχείων","ERR_INVALID_LINK":"Μη έγκυρος σύνδεσμος","ERR_REGISTERED_ONLY":"Αυτή η επιλογή είναι διαθέσιμη μόνο για εγγεγραμμένους χρήστες.","ERR_CLIPBOARD":"Δεν είναι δυνατή η αναπαραγωγή από το πρόχειρο","ERR_CLIPBOARD_READ":"Δεν είναι δυνατή η ανάγνωση από το πρόχειρο σε αυτήν την πλατφόρμα","ERR_CLIPBOARD_GENERIC":"Δεν βρέθηκε κατάλληλο URL στο πρόχειρο. Παρακαλώ αντιγράψτε ένα URL βίντεο (π.χ. σύνδεσμος magnet).","BOARD_CONTINUE_WATCHING":"Συνέχεια παρακολούθησης","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Η λίστα «Συνέχεια παρακολούθησης» δεν έχει φορτωθεί!","BOARD_CONTINUE_WATCHING_EMPTY":"Η λίστα «Συνέχεια παρακολούθησης» είναι άδεια","BOARD_EXPLANATION_RECOMMENDATIONS":"Ταινίες ειδικά επιλεγμένες για εσάς.<br />Αυτή η ταινία αποτελεί δείγμα πρότασης.","BOARD_EXPLANATION_EPISODES":"Τα νέα επεισόδια των αγαπημένων σας σειρών έρχονται εδώ.<br />Προσθέστε στη βιβλιοθήκη σας τις σειρές που ακολουθείτε.","BOARD_EXPLANATION_VIDEOS":"Τα νέα επεισόδια των αγαπημένων σας καναλιών έρχονται εδώ.<br />Προσθέστε στη βιβλιοθήκη σας τα κανάλια που ακολουθείτε.","WEBSITE_ENJOYED_BY":"Το απολαμβάνουν περισσότεροι από 30 εκατομμύρια χρήστες σε όλο τον κόσμο","WEBSITE_STREAMING_ENHANCED":"Το streaming ανανεωμένο","WEBSITE_STREAMING_ENHANCED_DETAILS":"Το Stremio προσφέρει μια ασφαλή, σύγχρονη και απρόσκοπτη εμπειρία ψυχαγωγίας. Με την εύκολη στη χρήση διεπαφή και τη βιβλιοθήκη ποικίλου περιεχομένου, συμπεριλαμβανομένης της υποστήριξης 4K HDR, οι χρήστες μπορούν να απολαμβάνουν τις αγαπημένες τους ταινίες και τηλεοπτικές εκπομπές σε όλες τις συσκευές τους. Και με τη δέσμευσή του στην ασφάλεια, το Stremio είναι η απόλυτη επιλογή για μια άνετη, υψηλής ποιότητας εμπειρία streraming.","WEBSITE_AVAILABLE_ON":"Διαθέσιμο σε","WEBSITE_WATCH_AND_ENJOY":"Δείτε & Απολαύστε.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Το Stremio το κάνει παιχνιδάκι","WEBSITE_ALL_FEATURES":"Όλες οι λειτουργίες","WEBSITE_EASY_TO_USE":"Εύκολο στη χρήση","WEBSITE_EASY_TO_USE_DETAILS":"Το Stremio έχει σχεδιαστεί για να είναι φιλικό προς το χρήστη και εύκολο στη χρήση. Με την καθαρή και διαισθητική διεπαφή του μπορείτε εύκολα να πλοηγηθείτε και να βρείτε το περιεχόμενο που θέλετε να παρακολουθήσετε.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Απρόσκοπτο σε όλες τις συσκευές","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Διαθέσιμο για ένα ευρύ φάσμα πλατφορμών (συμπεριλαμβανομένων των Windows, Mac, Linux, Android και άλλες), το Stremio θα παρακολουθεί την πρόοδό σας σε όλες τις συσκευές σας. Απλώς συνδεθείτε και συνεχίστε την παρακολούθηση χωρίς να χρειάζεται να ρυθμίσετε ξανά την εφαρμογή σε κάθε νέα συσκευή.","WEBSITE_ALL_DOWNLOADS":"Όλες οι λήψεις","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Υποστήριξη για βίντεο υψηλής ανάλυσης","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Ένα ενσωματωμένο πρόγραμμα αναπαραγωγής βίντεο που υποστηρίζει τις περισσότερες μορφές βίντεο, συμπεριλαμβανομένου περιεχομένου 4K HDR, σας επιτρέπει να απολαύσετε την υψηλότερη διαθέσιμη ποιότητα.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Βιβλιοθήκη με ποικιλία περιεχομένου","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Το Stremio ενσωματώνεται με μεγάλο αριθμό δημοφιλών πηγών βίντεο, όπως το Netflix, το Amazon Prime Video, το Hulu, το YouTube και πολλά άλλα.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Δημιουργήστε έναν δωρεάν λογαριασμό.","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Προσαρμοσμένη εμπειρία προβολής","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Το Stremio σάς επιτρέπει να προσαρμόσετε την εμφάνιση και την αίσθηση της διεπαφής αλλάζοντας το θέμα, προσθέτοντας ή αφαιρώντας πρόσθετα και πολλά άλλα.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Υποστήριξη πολύγλωσσων υπότιτλων","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Τώρα μπορείτε να απολαύσετε όλο το αγαπημένο περιεχόμενο στη γλώσσα που προτιμάτε, καθώς το Stremio υποστηρίζει υπότιτλους σε όλες τις γλώσσες.","WEBSITE_ALL_STREMIO_FEATURES":"Όλες οι λειτουργίες του Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Δοκιμάστε το Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Τώρα στη τηλεόρασή σας","WEBSITE_YOU_CAN_NOW_WATCH":"Μπορείτε πλέον να παρακολουθείτε όλες τις αγαπημένες τηλεοπτικές εκπομπές στις συσκευές σας με Android TV. Η εφαρμογή Stremio TV σάς επιτρέπει να απολαύσετε μια κινηματογραφική βραδιά με ευκολία.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Τώρα μπορείτε να παρακολουθήσετε όλες τις αγαπημένες τηλεοπτικές εκπομπές στη Smart TV ή στην Android TV σας. Οι εφαρμογές Stremio TV σάς επιτρέπουν να απολαύσετε μια βραδιά ταινιών με ευκολία.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio για Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Ίσως η καλύτερη και πιο χρήσιμη εφαρμογή που μπορείτε να έχετε στη συσκευή σας. Είναι μια από τις εφαρμογές που χρησιμοποιώ σε καθημερινή βάση ειδικά στην Android TV μου εδώ και πολλά χρόνια. Καλοφτιαγμένο με μια ισχυρή κοινότητα που παρέχει χρήσιμες λειτουργίες. Μπράβο. Συνέχισε την καλή δουλειά.","WEBSITE_REVIEWS":"αξιολογήσεις","WEBSITE_GET_STREMIO_FOR_FREE":"Αποκτήστε το Stremio δωρεάν","WEBSITE_GET_STREMIO_NOW":"Αποκτήστε το Stremio τώρα","WEBSITE_STREMIO_FEATURES":"Λειτουργίες του Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Κάντε stream σαν επαγγελματίας με τις προηγμένες δυνατότητες του Stremio και απολαύστε απρόσκοπτη πρόσβαση σε όλα τα αγαπημένα σας μέσα","WEBSITE_DISCOVER_MORE":"Εξερευνήστε περισσότερα.","WEBSITE_DISCOVER_MORE_DETAILS":"Μην ξεμείνετε ποτέ από πράγματα για να παρακολουθήσετε","WEBSITE_COMMUNITY_DRIVEN":"Με γνώμονα την κοινότητα","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Το Stremio έχει μια μεγάλη και ενεργή κοινότητα χρηστών που συμβάλλουν στην ανάπτυξη του λογισμικού δημιουργώντας και μοιράζοντας πρόσθετα.","WEBSITE_GET_INVOLVED":"Συμμετέχετε","WEBSITE_NEW_THEATER_EXPERIENCE":"Νέα εμεπιρία κηνιματογράφου","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Η νέα αποκλειστική εφαρμογή τηλεόρασης του Stremio σας επιτρέπει να απολαύσετε μια βραδιά ταινίας στις συσκευές Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Η νέα αποκλειστική εφαρμογή τηλεόρασης του Stremio σας επιτρέπει να απολαύσετε μια βραδιά ταινίας στις συσκευές Smart TV ή Android TV σας.","WEBSITE_FREE_AND_SECURE":"Δωρεάν & Ασφαλές","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Το Stremio προσφέρει απαράμιλλη ασφάλεια και απόρρητο στους χρήστες. Με τη μοναδική του δυνατότητα να εκτελείτε πρόσθετα από απόσταση, το Stremio παρέχει έναν ασφαλέστερο τρόπο για να μεταδώσετε το αγαπημένο σας περιεχόμενο σε σύγκριση με άλλες πλατφόρμες. Η ασφάλεια και το απόρρητό σας αποτελούν κορυφαίες προτεραιότητες και η πλατφόρμα διασφαλίζει ότι όλα τα δεδομένα σας προστατεύονται.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Πείτε αντίο στις ανησυχίες για την ασφάλεια και την ιδιωτικότητα και πείτε γεια σε έναν κόσμο ατελείωτης διασκέδασης με το Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Οι πληροφορίες παρέχονται από","WEBSITE_CONTRIBUTE_DESC":"στο project & βοηθήστε μας να κάνουμε το Stremio ακόμα καλύτερο.","WEBSITE_COMMUNITY_DESC":"Πιστεύουμε ότι ο καλύτερος τρόπος για να δημιουργήσετε μια πραγματικά εκπληκτική εμπειρία ροής είναι να εμπλέξετε την κοινότητά μας στη διαδικασία. Είτε είστε προγραμματιστής, είτε καλλιτέχνης είτε απλώς θαυμαστής - θα μπορούσατε να βοηθήσετε το Stremio να αναπτυχθεί.","WEBSITE_COMMUNITY_DESC_2":"Ελάτε λοιπόν σήμερα και γίνετε μέλος της κοινότητας του Stremio και συνεχίστε να διαμορφώνετε το μέλλον του streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Τρόποι να συμμετέχετε","WEBSITE_IN_THE_STREMIO_COMMUNITY":"στη κοινότητα του Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Μοιραστείτε τις σκέψεις σας","WEBSITE_REPORT_BUGS":"Αναφέρετε σφάλματα","WEBSITE_SUGGEST_FEATURES":"προτείνετε λειτουργίες","WEBSITE_AND_PROVIDE_FEEDBACK":"και παρέχετε σχόλια στα κανάλια μας στα μέσα κοινωνικής δικτύωσης.","WEBSITE_BETA_TESTING_PROGRAM":"Πρόγραμμα δοκιμών beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Λάβετε μέρος στο πρόγραμμα δοκιμών beta (αποστέλλουμε προσκλήσεις τακτικά) στην κοινότητα Stremio.","WEBSITE_JOIN_NOW":"Πάρε μέρος τώρα!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Επίσημες Κοινότητες Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Ανεπίσημες Κοινότητες Stremio","WEBSITE_BECOME":"Γίνετε","WEBSITE_A_VOLUNTEER_TRANSLATOR":"ένας εθελοντής μεταφραστής","WEBSITE_ARE_YOU_A_DEVELOPER":"Είστε προγραμματιστής;?","WEBSITE_CONTRIBUTE_CODE":"Θα μπορούσατε να συνεισφέρετε κώδικα στα έργα ανοιχτού κώδικα μας. Έχουμε πολλά έργα στο GitHub που αναζητούν συντελεστές. Εάν ενδιαφέρεστε να βοηθήσετε, ελέγξτε τα:","WEBSITE_STREMIO_ON_GITHUB":"Stremio στο GitHub","WEBSITE_CREATE_ADDON_DESC":"Δημιουργήστε ένα πρόσθετο για να βελτιώσετε τη λειτουργικότητα του Stremio (διαθέτουμε ένα εύχρηστο API):","WEBSITE_STREMIO_ADDON_SDK":"SDK για πρόσθετα Stremio","WEBSITE_INTERN_DEVELOPER":"Παρέχουμε επίσης την ευκαιρία να συμμετάσχετε ως ασκούμενος προγραμματιστής για να μπορέσουμε να αναπτυχθούμε μαζί.","WEBSITE_APPLY_AS_AN_INTERN":"Κάντε αίτηση ως ασκούμενος!","WEBSITE_CALLING_ALL_ARTISTS":"Καλούμε όλους τους καλλιτέχνες!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Δείξτε τη δημιουργικότητα και την αγάπη σας για το Stremio ανεβάζοντας τα fan art σας στην ηλεκτρονική μας συλλογή. Είτε πρόκειται για σχέδιο, ζωγραφική ή ψηφιακό σχέδιο, θέλουμε να δούμε τη μοναδική σας άποψη για τη μάρκα Stremio. Γίνετε μέλος της κοινότητας των λάτρεις της τέχνης και μοιραστείτε τη δουλειά σας με άλλους θαυμαστές του Stremio σε όλο τον κόσμο.","WEBSITE_STREMIO_FANART_GALLERY":"Συλλογή Stremio Fanart","WEBSITE_INTERN_DESIGNER":"Γίνετε μέλος της ομάδας μας και ανεβάστε τη δημιουργικότητά σας σε νέα ύψη με τις συναρπαστικές μας ευκαιρίες πρακτικής άσκησης.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Project δημόσιων ταινιών","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Στο Stremio, δεσμευόμαστε να διατηρήσουμε την ιστορία του κινηματογράφου και της τηλεόρασης εντοπίζοντας δημόσια και ορφανά βίντεο. Δουλεύοντας μαζί με την κοινότητά μας, μπορούμε να διασφαλίσουμε ότι αυτά τα κλασικά έργα τέχνης είναι προσβάσιμα σε όλους και προστατεύονται για να τα απολαύσουν οι μελλοντικές γενιές.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Μη διστάσετε να επικοινωνήσετε μαζί μας εάν θέλετε να συμμετάσχετε σε αυτό το project.","WEBSITE_JOIN_THE_PROJECT":"Συμμετέχετε στο project","WEBSITE_BE_PART_OF_OUR_MISSION":"Γίνετε μέρος της αποστολής μας","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Ενδιαφέρεστε να ενταχθείτε στην ομάδα του Stremio; Προσφέρουμε πλήρως απομακρυσμένη εργασία για παθιασμένους επαγγελματίες. Δείτε τις ανοιχτές θέσεις μας.","WEBSITE_OPEN_POSITIONS":"ΕΛΕΥΘΕΡΕΣ ΘΕΣΕΙΣ","WEBSITE_DESCRIPTION":"ΠΕΡΙΓΡΑΦΗ","WEBSITE_LEARN_MORE":"Μάθετε περισσότερα","WEBSITE_COMPANY":"Εταιρία","WEBSITE_CONTACTS":"Επαφές","WEBSITE_NEED_HELP":"Χρειάζεστε βοήθεια;","WEBSITE_STREMIO_WEB_ON_IOS":"Οδηγός για το Stremio Web σε iOS","WEBSITE_LINK_ART_V2":"Fanart","WEBSITE_PARTNERS":"Συνεργάτες","WEBSITE_SLOGAN_WATCH":"Άμεση παρακολούθηση","WEBSITE_SLOGAN_ALL":"Όλο το περιεχόμενό σας, σε ένα μέρος","WEBSITE_SLOGAN_NEW":"Απεριόριστη παρακολούθηση","WEBSITE_SLOGAN_NEW_NEW":"Ελευθερία στο streaming","WEBSITE_WATCH_FROM":"Προβολή από","WEBSITE_DOWNLOAD":"Λήψη τώρα","WEBSITE_DOWNLOAD_FOR":"Λήψη τώρα για","WEBSITE_IS_DESKTOP":"Το Stremio είναι εφαρμογή για υπολογιστές, ανοίξτε αυτήν τη σελίδα στον υπολογιστή για να κάντε λήψη","WEBSITE_DESKTOP_DEMO_VID":"Επίδειξη σε υπολογιστή","WEBSITE_PAGE_HOME":"Αρχική","WEBSITE_PAGE_FEATURES":"Λειτουργίες","WEBSITE_PAGE_ADDONS":"Πρόσθετα","WEBSITE_PAGE_TECH":"Τεχνολογία","WEBSITE_PAGE_CREATE_ADDON":"Δημιουργία προσθέτου","WEBSITE_PAGE_CONTACTS":"Επαφές","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Εισαγάγετε τον επιθυμητό νέο κωδικό πρόσβασης παρακάτω.","WEBSITE_RESET_PASSWORD_WARNING":"Είστε βέβαιοι ότι θέλετε να επαναφέρετε τον κωδικό πρόσβασης για ${1};","WEBSITE_TYPE_movie":"Ταινίες","WEBSITE_TYPE_series_PL":"Σειρές","WEBSITE_TYPE_tv":"Ζωντανή τηλεόραση","WEBSITE_TYPE_channel":"Κανάλια","WEBSITE_STREMIO_WHAT_IS":"Το Stremio είναι μια εφαρμογή που σας βοηθά να οργανώσετε και να παρακολουθήσετε άμεσα τα αγαπημένα σας βίντεο, ταινίες, σειρές και τηλεοπτικά κανάλια.","WEBSITE_FEATURES_WATCH":"Άμεση παρακολούθηση σε HD","WEBSITE_FEATURES_WATCH_DETAIL":"Κάντε κλικ και δείτε τις αγαπημένες σας ταινίες, εκπομπές, βίντεο και κανάλια.","WEBSITE_FEATURES_SUBS":"Αυτόματοι υπότιτλοι","WEBSITE_FEATURES_SUBS_DETAIL":"Το Stremio επιλέγει αυτόματα συγχρονισμένους υπότιτλους στη γλώσσα σας.","WEBSITE_FEATURES_SUBS_LABEL":"Εσύ αποφασίζεις.","WEBSITE_FEATURES_CAST":"Αναπαραγωγή σε τηλεόραση & κινητές συσκευές","WEBSITE_FEATURES_CAST_DETAIL":"Μετάδοση σε Apple TV, Chromecast, Smart TV (DLNA/UPnP) και κινητές συσκευές.","WEBSITE_LIB":"Η προσωπική σας βιβλιοθήκη σε όλες τις συσκευές σας","WEBSITE_LIB_COLLECT":"Συλλογή από Stremio","WEBSITE_LIB_IMPORT":"Εισαγωγή από Facebook","WEBSITE_LIB_LOCAL":"Προσθήκη από τοπικό δίσκο","WEBSITE_BOARD":"Ο πίνακας - Ένα ενιαίο μέρος για ειδοποιήσεις και προτάσεις","WEBSITE_BOARD_RECOMMEND":"Προτεινόμενη εκπομπή","WEBSITE_BOARD_TRENDING":"Δημοφιλής ταινία","WEBSITE_BOARD_NEW":"Νέο βίντεο","WEBSITE_BOARD_EPISODE":"Νέο επεισόδιο","WEBSITE_BOARD_1":"Ψάχνετε να παρακολουθήσετε κάτι ενδιαφέρον; Λάβετε προτάσεις βάσει των προτιμήσεών σας!","WEBSITE_BOARD_2":"Ειδοποιηθείτε όταν κυκλοφορήσει ένα νέο επεισόδιο της αγαπημένης σας εκπομπής ή καναλιού YouTube!","WEBSITE_BOARD_YOUTUBE":"Νέα βίντεο καναλιών YouTube","WEBSITE_BOARD_EPISODES":"Νέα επεισόδια των σειρών που ακολουθείτε","WEBSITE_ADDONS":"Πρόσθετα περιεχομένου","WEBSITE_TECH_DETAIL":"Αγαπούμε την τεχνολογία και την επιστήμη!\\nΤο Stremio χρησιμοποιεί τις εξής τεχνολογίες ανοικτού κώδικα:","WEBSITE_TECH_WCJS":"Το WebChimera.js επιτρέπει στο Stremio την αναπαραγωγή οποιασδήποτε μορφής βίντεο με καλές επιδόσεις.","WEBSITE_TECH_WCJS_EXTRA":"Είμαστε οι βασικοί συντελεστές του έργου","WEBSITE_TECH_ELECTRON":"Το Electron αποτελεί μια καινοτόμα πλατφόρμα για την ανάπτυξη του Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Είμαστε συντελεστές του έργου","WEBSITE_TECH_LINVODB":"Μια τεχνολογία βάσης δεδομένων που εξασφαλίζει ότι τα δεδομένα σας είναι οργανωμένα και διαθέσιμα απ\' όπου κάνετε σύνδεση.","WEBSITE_TECH_LINVODB_EXTRA":"Τεχνολογία από εμάς","WEBSITE_CREATE_ADDON":"Δημιουργήστε το πρόσθετό σας","WEBSITE_CREATE_ADDON_DETAIL":"Διαθέτετε κάποια υπηρεσία παροχής περιεχομένου βίντεο; Θα σας βοηθήσουμε να επωφεληθείτε από τις δυνατότητες του Stremio δημιουργώντας το πρόσθετό σας.","WEBSITE_CREATE_ADDON_BENEFITS":"Οφέλη της δημιουργίας ενός προσθέτου για το Stremio","WEBSITE_P2P_BEAUTY":"Η άνεση και ομορφιά της ροής peer-to-peer","WEBSITE_P2P_1":"Αξιόπιστη και προσιτή προβολή Full HD/4K βίντεο on demand ή σε ζωντανή ροή","WEBSITE_P2P_2":"Πλατφόρμα διανομής με εξαιρετική εμπειρία χρήσης","WEBSITE_P2P_3":"Θα δημιουργήσουμε ένα πρόσθετο που θα καλύπτει απόλυτα τις ανάγκες σας","WEBSITE_P2P_CONTACT":"Σας ενδιαφέρει; Μπορείτε πάντα να <a href=\'mailto:office@stremio.com\'>επικοινωνήσετε μαζί μας</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Θα χαρούμε να σας βοηθήσουμε στην ενσωμάτωση του περιεχομένου σας στο Stremio!","WEBSITE_P2P":"Κατά καιρούς, εμφανίζεται μια τεχνολογία που αλλάζει το τοπίο. Επενδύσαμε πολύ χρόνο και προσπάθεια στην ανάπτυξη της δικής μας μηχανής ροής βίντεο Peer-to-Peer (P2P) που παρέχει εξαιρετικές επιδόσεις και ανταποκρίνεται σε κάθε είδους χρήση.\\nΕπικοινωνήστε μαζί μας για P2P βίντεο με DRM, on demand ή σε ζωντανή ροή.","WEBSITE_THOUGHTS":"Οι σκέψεις μας:","WEBSITE_SPREAD":"Μιλήστε σε άλλους για το Stremio:","WEBSITE_CONTACT":"Επικοινωνήστε μαζί μας, θα χαρούμε να σας ακούσουμε!","WEBSITE_OPENSOURCE":"Για τα έργα μας με ανοικτό κώδικα, μεταβείτε στο","WEBSITE_BITCOIN":"Δωρεά bitcoin:","WEBSITE_FAQ":"Συχνές ερωτήσεις","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Ερωτήσεις","WEBSITE_TOS":"Όροι χρήσης","WEBSITE_LEGAL":"Νομικά","WEBSITE_PAGE_ABOUT":"Πληροφορίες","WEBSITE_PAGE_BECOME_PARTNER":"Γίνετε συνεργάτης","WEBSITE_ALL_YOU_CAN_WATCH":"Δείτε ό,τι θέλετε, ελεύθερα.","WEBSITE_FREEDOM_TO_STREAM":"Ελευθερία στο streaming","WEBSITE_WHAT_IS_STREMIO":"Τι είναι το Stremio;","WEBSITE_WHAT_IS_STREMIO_P1":"Το Stremio αποτελεί ένα ενιαίο κέντρο για περιεχόμενο βίντεο. Ανακαλύψτε, οργανώστε και παρακολουθήστε βίντεο από όλα τα είδη πηγών σε οποιαδήποτε συσκευή σας.","WEBSITE_WHAT_IS_STREMIO_P2":"Ταινίες, εκπομπές, σειρές, ζωντανή τηλεόραση ή διαδικτυακά κανάλια, όπως το YouTube και το Twitch.tv - μπορείτε να τα βρείτε όλα στο Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Το Stremio είναι ένα σύγχρονο κέντρο πολυμέσων για όλο σας το ψυχαγωγικό περιεχόμενο βίντεο. Ανακαλύψτε, παρακολουθήστε και οργανώστε το περιεχόμενο βίντεο με εύχρηστα πρόσθετα.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Ταινίες, εκπομπές, ζωντανή τηλεόραση ή διαδικτυακά κανάλια - βρείτε τα όλα στο Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Απολαύστε σε όλες τις συσκευές πολυμέσων σας","WEBSITE_DEVICES_COLLECT":"Συλλογή από Stremio","WEBSITE_DEVICES_IMPORT_FB":"Εισαγωγή από Facebook","WEBSITE_DEVICES_LOCAL":"Προσθήκη από τοπικό δίσκο","WEBSITE_JOIN_THE_PARTY_NOW":"Ελάτε κι εσείς στο πάρτι","WEBSITE_DEVICES_ALL":"Εύκολο στη χρήση σε όλες σας τις συσκευές·","WEBSITE_EXTENDABLE_CATALOG":"Απεριόριστα επεκτάσιμος κατάλογος βίντεο·","WEBSITE_ORGANIZE_YOUR_MEDIA":"Εξαιρετικές δυνατότητες οργάνωσης πολυμέσων·","WEBSITE_AS_SEEN_ON":"Γνώμες από τον τύπο","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Σχετικά με εμάς","WEBSITE_LINK_TECHNOLOGY":"Τεχνολογία","WEBSITE_LINK_APPS":"Εφαρμογές","WEBSITE_LINK_DOWNLOADS":"Λήψεις","WEBSITE_MORE":"Περισσότερα","WEBSITE_LINK_ADDONS":"Πρόσθετα","WEBSITE_LINK_ADDON_SDK":"SDK προσθέτων","WEBSITE_LINK_CONTRIBUTE":"Συνεισφορά","WEBSITE_LINK_COMMUNITY":"Κοινότητα","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & ακόμα περισσότερα","WEBSITE_LINK_HELP":"Κέντρο βοήθειας","WEBSITE_LINK_CONTACTS":"Επαγγελματικές ερωτήσεις","WEBSITE_LINK_TOS":"Όροι & προϋποθέσεις","WEBSITE_LINK_PRAVACY":"Πολιτική απορρήτου","WEBSITE_SUBSCRIBE":"Συνδρομή","WEBSITE_NEWSLETTER":"Εγγραφείτε στο ενημερωτικό μας δελτίο για απίθανα πράγματα","WEBSITE_PLACEHOLDER_EMAIL":"Το email σας","WEBSITE_COMMUNITY":"Κοινότητα","WEBSITE_LINK_PRAVACY_LEGAL":"Απόρρητο & νομικά","WEBSITE_WHY":"Γιατί το κάνουμε","WEBSITE_WHY_P1":"Στο Stremio, εργαζόμαστε καθημερινά επειδή θέλουμε να επιλύσουμε ένα σημαντικό πρόβλημα της βιομηχανίας βίντεο on demand. Υπάρχει τόσο πολύ νέο περιεχόμενο που δημοσιεύεται κάθε λεπτό, που είναι σχεδόν αδύνατο να το διαχειριστείτε.","WEBSITE_WHY_P2":"Βοηθούμε τους ανθρώπους να πλοηγηθούν σε αυτόν τον τεράστιο κόσμο βίντεο ψυχαγωγίας και να ανακαλύψουν νέο περιεχόμενο. Οι εφαρμογές μας συνδυάζουν ταινίες, σειρές, ζωντανή τηλεόραση, διαδικτυακά κανάλια και πολλά άλλα. Έχουμε αφοσιωθεί στο να κάνουμε την εύρεση τίτλων εξαιρετική εύκολη για τους χρήστες μας.","WEBSITE_WHY_P3":"Μπορείτε να χρησιμοποιήσετε την υπηρεσία μας σε οποιαδήποτε συσκευή και ανά πάσα στιγμή, καθιστώντας το Stremio το μοναδικό κέντρο ψυχαγωγίας βίντεο που θα χρειαστείτε.","WEBSITE_TEAM":"Ομάδα","WEBSITE_TEAM_P":"Η ομάδα του Stremio είναι μικρή αλλά ισχυρή: τα δέκα μέλη της γράφουν κώδικα σε X γλώσσες και μοιράζονται εμπειρία στην ανάπτυξη λογισμικού, στον σχεδιασμό UI και UX, στο μάρκετινγκ και στη διαφήμιση, καθώς και στις επιχειρήσεις.","WEBSITE_FEATURES":"Λειτουργίες","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Εύκολη ανακάλυψη νέου περιεχομένου","WEBSITE_FEATURES_DISCOVER_P":"Ανακαλύψτε εύκολα νέες ταινίες, εκπομπές, σειρές και κανάλια. Περιηγηθείτε κατά κατηγορία, είδος, βαθμολογία, πρόσφατη προβολή κ.λπ. ή απλά πληκτρολογήστε ένα όνομα. Το Stremio κάνει πανεύκολη την εύρεση νέου περιεχομένου.","WEBSITE_FEATURES_ALL_CONTENT":"Όλο σας το περιεχόμενο σε μία οθόνη","WEBSITE_FEATURES_ALL_CONTENT_P1":"Δείτε ποιες ταινίες, σειρές ή βίντεο δεν τελειώσατε και συνεχίστε την παρακολούθηση τους· λάβετε ειδοποιήσεις για νέα επεισόδια και κυκλοφορίες· περιηγηθείτε στις προτάσεις που θα λάβετε βάσει των συνηθειών παρακολούθησής σας.","WEBSITE_FEATURES_LIBRARY":"Οργάνωση βιβλιοθήκης βίντεο","WEBSITE_FEATURES_LIBRARY_P1":"Προσθέστε οποιονδήποτε τίτλο στη βιβλιοθήκη του Stremio σας με ένα μόνο κλικ και πλοηγηθείτε στο περιεχόμενό σας, οργανωμένο κατά τύπο, πρόσφατη προβολή ή αλφαβητική σειρά.","WEBSITE_FEATURES_CALENDAR":"Εποπτεία όλων όσων παρακολουθείτε","WEBSITE_FEATURES_CALENDAR_P1":"Δείτε ένα ημερολόγιο με όλες τις ταινίες και σειρές που προσθέτετε στη βιβλιοθήκη σας. Εξαγάγετε και συγχρονίστε το ημερολόγιο σας, ώστε να γνωρίζετε πάντα πότε θα κυκλοφορήσει ένα νέο επεισόδιο ή μια νέα σειρά.","WEBSITE_FEATURES_BIG_SCREEN":"Απολαύστε το περιεχόμενό σας σε μεγαλύτερη οθόνη","WEBSITE_FEATURES_BIG_SCREEN_P1":"Μεταδώστε ό,τι παρακολουθείτε σε μια άλλη συσκευή - σε τηλέφωνο, tablet ή τηλεόραση TV με ένα μόνο κλικ.","WEBSITE_FEATURES_SOURCES":"Προβολή βίντεο από πολλές διαφορετικές πηγές","WEBSITE_FEATURES_SOURCES_P":"Εγκαταστήστε επίσημα πρόσθετα και πρόσθετα κοινότητας για να απολαμβάνετε βίντεο από πολλούς διαφορετικούς παρόχους - όλα σε μία κομψή, εύχρηστη εφαρμογή.","WEBSITE_CREATE_AN_ADDON":"Δημιουργία προσθέτου","WEBSITE_FEATURES_SYNC":"Συγχρονίστε τη βιβλιοθήκη σας σε πολλαπλές συσκευές και συνεχίστε την αναπαραγωγή","WEBSITE_FEATURES_SYNC_P1":"Συνδεθείτε με τον λογαριασμό σας σε όλες τις συσκευές σας και απολαύστε τον συγχρονισμό της βιβλιοθήκης, των προσθέτων, της αναπαραγωγής και του ημερολογίου σας.","WEBSITE_FEATURES_EXTENDABLE":"Επεκτάσιμος κατάλογος βίντεο με τα πρόσθετα","WEBSITE_FEATURES_EXTENDABLE_P1":"Ο κατάλογος προσθέτων του Stremio παρέχει πολυάριθμα πρόσθετα για την παρακολούθηση ποικίλου περιεχομένου βίντεο. Δείτε ταινίες, εκπομπές, ζωντανή τηλεόραση, αθλήματα, ειδήσεις, podcast, διαδικτυακά κανάλια, βιντεοπαιχνίδια και πολλά άλλα.","WEBSITE_FEATURES_AUTO_SUBS":"Αυτόματοι υπότιτλοι","WEBSITE_FEATURES_AUTO_SUBS_P1":"Με τα πρόσθετα υποτίτλων μας, καθορίζονται αυτόματα οι επιλογές για την προτιμώμενη γλώσσα σας.","WEBSITE_FEATURES_CHROMECAST":"Μετάδοση σε Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Απολαύστε το περιεχόμενό σας σε μια μεγαλύτερη οθόνη ή μεταδώστε ό,τι βλέπετε σε μια άλλη συσκευή.","WEBSITE_FEATURES_KEEP_TRACK":"Εποπτεία των αγαπημένων σειρών και καναλιών σας","WEBSITE_FEATURES_KEEP_TRACK_P1":"Δείτε ένα ημερολόγιο και λάβετε ειδοποιήσεις για νέα επεισόδια των αγαπημένων σας σειρών και καναλιών.","WEBSITE_FEATURES_POWER_USER":"Λειτουργίες για έμπειρους χρήστες","WEBSITE_FEATURES_POWER_USER_P1":"Αναπαραγωγή σε εξωτερικό πρόγραμμα","WEBSITE_FEATURES_POWER_USER_P2":"Αναπαραγωγή από αρχείο torrent ή σύνδεσμο magnet","WEBSITE_FEATURES_POWER_USER_P3":"Εισαγωγή στη βιβλιοθήκη από αγαπημένα στο Facebook ή τον τοπικό δίσκο","WEBSITE_ADD_ONS":"Πρόσθετα","WEBSITE_ADD_ONS_P1":"Όλο το περιεχόμενο που παρέχει το Stremio προέρχεται από ένα σύστημα προσθέτων - δεν ενσωματώνεται καθόλου περιεχόμενο και κανένας πάροχος στην εφαρμογή.","WEBSITE_ADD_ONS_P2":"Υπάρχουν δύο ομάδες διαθέσιμων προσθέτων: επίσημα πρόσθετα και πρόσθετα κοινότητας.","WEBSITE_ADD_ONS_P3":"Τα επίσημα αναπτύσσονται και φιλοξενούνται από το Stremio, ενώ τα πρόσθετα κοινότητας δημιουργούνται και φιλοξενούνται από τα μέλη της κοινότητάς μας.","WEBSITE_ADDONS_OFFICIAL":"Επίσημα πρόσθετα","WEBSITE_ADDONS_WATCHUB":"Δείτε τις αγαπημένες σας ταινίες, σειρές και εκπομπές από παρόχους, όπως το iTunes, το Hulu, το Amazon και άλλες υπηρεσίες των ΗΠΑ/ΗΒ.","WEBSITE_ADDONS_YOUTUBE":"Παρακολουθήστε τα αγαπημένα σας κανάλια YouTube χωρίς διαφημίσεις και λάβετε ειδοποιήσεις για νέες μεταφορτώσεις από τους δημιουργούς που ακολουθείτε.","WEBSITE_ADDONS_FILMON":"Παρακολουθήστε ζωντανή τηλεόραση, ταινίες και εκπομπές δωρεάν. 600 τηλεοπτικά κανάλια, 45.000 δωρεάν ταινίες, ντοκιμαντέρ και πολλά άλλα.","WEBSITE_ADDONS_OPENSUBTITLES":"Υπότιτλοι ταινιών και σειρών σε πολλαπλές γλώσσες, μεταφορτώνονται χιλιάδες μεταφρασμένοι υπότιτλοι καθημερινά.","WEBSITE_ADDONS_COMMUNITY":"Πρόσθετα κοινότητας","WEBSITE_ADDONS_FILMON_VOD":"Παρακολουθήστε βίντεο on demand από το Filmon.tv","WEBSITE_ADDONS_TWICH":"Παρακολουθήστε ζωντανές ροές από το Twitch.tv - μια πλατφόρμα ροής βίντεο για τη βιομηχανία των e-sports.","WEBSITE_ADDONS_VODO":"Παρακολουθήστε ανεξάρτητες ταινίες εντελώς δωρεάν.","WEBSITE_ADDONS_NETFLIX":"Παρακολουθήστε ταινίες και σειρές του Netflix.","WEBSITE_ADDONS_CREATE":"Δημιουργία προσθέτου","WEBSITE_ADDONS_CREATE_P1":"Εάν το επιθυμείτε, μπορείτε να αναπτύξετε το δικό σας πρόσθετο. Με αυτόν τον τρόπο, μπορείτε να παραχωρήσετε στον εαυτό σας και στην κοινότητά μας πρόσβαση σε νέο περιεχόμενο βίντεο και να προσεγγίσετε ένα νέο κοινό εκατομμυρίων χρηστών παγκοσμίως.","WEBSITE_ADDONS_START_CREATE":"Για να ξεκινήσετε, επισκεφθείτε τη σελίδα του SDK προσθέτων του Stremio:","WEBSITE_DOWNLOADS":"Λήψεις","WEBSITE_DOWNLOADS_P1":"Για βέλτιστες επιδόσεις, προτείνουμε τη χρήση της πιο πρόσφατης έκδοσης των εφαρμογών Stremio. Αν όμως, για κάποιο λόγο, θέλετε να χρησιμοποιήσετε μια παλαιότερη έκδοση, μπορείτε να τη βρείτε εδώ.","WEBSITE_DOWNLOADS_P1_SHORT":"Για βέλτιστη απόδοση, συνιστούμε να χρησιμοποιήσετε την πιο πρόσφατη διαθέσιμη έκδοση των εφαρμογών Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio για Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio για macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio για Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio για Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio για Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio για φορητή συσκευή Android","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio για το Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio για iOS (περιορισμένη έκδοση)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio για Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio για LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio για Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio για Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio για Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio για Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio για Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio για Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio για Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio για Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Αναζητήστε το Stremio στο App Store των μοντέλων τηλεοράσεων Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Αναζητήστε το Stremio στο App Store των μοντέλων τηλεοράσεων LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Αναζήτησε το Stremio στην εφαρμογή Play Store σε τηλεόραση Sony που λειτουργεί με Android.","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Αναζήτησε το Stremio στην εφαρμογή Play Store σε τηλεόραση Philips που λειτουργεί με Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Αναζήτησε το Stremio στο κατάστημα εφαρμογών σε τηλεόραση Philips που λειτουργεί με TitanOS (περιορισμένη έκδοση)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Αναζητήστε το Stremio στο App Store της συσκευής σας Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Οδηγός για το Stremio OS σε RPI","WEBSITE_LINK_GUIDE":"Οδηγός","WEBSITE_DOWNLOAD_SERVICE":"Λήψη του Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Το Stremio Service είναι μια συνοδευτική εφαρμογή για το Stremio Web. Συνιστούμε να χρησιμοποιήσετε την πιο πρόσφατη διαθέσιμη έκδοση του Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service για Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service για macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service για Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service για Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio για Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Περισσότερες επιλογές λήψης","WEBSITE_DOWNLOAD_NEW":"Νέο!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Κυκλοφορήσαμε το Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Κυκλοφορήσαμε το Stremio για Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Κυκλοφόρησε το Stremio για LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Κυκλοφόρησε το Stremio για Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Κυκλοφορήσαμε το Stremio για το Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Κυκλοφορήσαμε το Stremio 5 για Windows","WEBSITE_CONTRIBUTE":"Συνεισφέρετε","WEBSITE_CONTRIBUTE_P1":"Η πλατφόρμα του Stremio είναι ανοικτού κώδικα και μπορείτε εύκολα να δημιουργήσετε ένα πρόσθετο για περιεχόμενο που δεν παρέχεται αυτήν τη στιγμή.","WEBSITE_CONTRIBUTE_WHY":"Γιατί να δημιουργήσετε ένα πρόσθετο;","WEBSITE_CONTRIBUTE_WHY_P1":"Βρείτε νέο κοινό για τα βίντεό σας","WEBSITE_CONTRIBUTE_WHY_P2":"Η βάση χρηστών του Stremio αυξάνεται ταχύτατα - μέσα στο πρώτο έτος κυκλοφορίας, το Stremio απέκτησε 1 εκατομμύριο χρήστες σε όλο τον κόσμο, ενώ το δεύτερο έτος της ύπαρξης της πλατφόρμας ο αριθμός αυτός έφτασε τα 2,5 εκατομμύρια.","WEBSITE_CONTRIBUTE_WHY_P3":"Με το πρόσθετό σας, μπορείτε εύκολα να προσεγγίσετε και να διανείμετε το περιεχόμενο σε αυτό το κοινό.","WEBSITE_CONTRIBUTE_ALL":"Παρακολουθήστε τις αγαπημένες σας ταινίες, σειρές, βίντεο και κανάλια σε ένα ενιαίο μέρος.","WEBSITE_CONTRIBUTE_ALL_P1":"Είστε λάτρης ενός συγκεκριμένου τύπου περιεχομένου που δεν διατίθεται ακόμα στο Stremio; Δημιουργήστε ένα πρόσθετο για αυτόν και απολαύστε τα αγαπημένα σας βίντεο σε ένα από τα μεγαλύτερα και πιο εύχρηστα κέντρα ψυχαγωγίας της αγοράς.","WEBSITE_CONTRIBUTE_ALL_P2":"Επιπλέον, θα έχετε την απεριόριστη ευγνωμοσύνη των υπόλοιπων μελών της κοινότητας του Stremio.","WEBSITE_CONTRIBUTE_MONETIZE":"Δημιουργήστε έσοδα με το πρόσθετό σας","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Μόλις αναπτύξετε ένα νέο πρόσθετο για το Stremio, μπορείτε εύκολα να δημιουργήσετε έσοδα μέσω πολλαπλών μεθόδων. Αν σκέφτεστε αυτήν την προοπτική, μπορείτε να επικοινωνήσετε μαζί μας στο ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - θα χαρούμε να ανταλλάξουμε συμβουλές μαζί σας σχετικά με τις επιλογές δημιουργίας εσόδων από τα πρόσθετα.","WEBSITE_CONTRIBUTE_TRANSLATE":"Γίνετε εθελοντής μεταφραστής","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Αν θέλετε να απολαύσετε τις εφαρμογές Stremio σε διαφορετικές γλώσσες, μπορείτε να συμμετάσχετε στην κοινότητα των εθελοντών μεταφραστών μας, οι οποίοι μας βοηθούν να προσθέσουμε εκδόσεις του Stremio σε πολλές διαφορετικές γλώσσες.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Θέλετε να ξεκινήσετε;","WEBSITE_TRANSALTE_STREMIO":"Μετάφραση του Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Επίσημες κοινότητες","WEBSITE_COMMUNITY_OFFICIALS_P1":"Γίνετε μέλος της αναπτυσσόμενης κοινότητας του Stremio. Ακολουθήστε μας στα κοινωνικά δίκτυα και μην ντραπείτε να πείτε ένα «γεια» - λατρεύουμε να γνωρίζουμε τους υποστηρικτές μας! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Ανεπίσημες κοινότητες","STREMIO_COMMUNITY_NL":"Stremio Ολλανδίας","STREMIO_COMMUNITY_BRASIL":"Stremio Βραζιλίας","STREMIO_COMMUNITY_GERMANY":"Stremio Γερμανίας","STREMIO_COMMUNITY_BELGIUM":"Stremio Βελγίου","STREMIO_COMMUNITY_FRANCE":"Stremio Γαλλίας","STREMIO_COMMUNITY_PORTUGAL":"Stremio Πορτογαλίας","STREMIO_COMMUNITY_ITALY":"Stremio Ιταλίας","STREMIO_COMMUNITY_UK":"Stremio ΗΒ","STREMIO_COMMUNITY_USA":"Stremio ΗΠΑ","STREMIO_COMMUNITY_MEXICO":"Stremio Μεξικού","STREMIO_COMMUNITY_ADDONS":"Πρόσθετα Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Το απίθανο Stremio","WEBSITE_COMMUNITY_PARTNERS":"Συνεργάτες και υποστηρικτές","WEBSITE_COMMUNITY_GOODIES":"Καλούδια Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Ταπετσαρίες","WEBSITE_COMMUNITY_ART":"Συλλογή κοινότητας","WEBSITE_LINK_ART":"Συλλογή κοινότητας","WEBSITE_CONTACT_US":"Επικοινωνία","WEBSITE_CONTACT_US_P1":"Αν έχετε τυχόν απορίες, σχόλια ή προτάσεις, μπορείτε να επικοινωνήσετε μαζί μας μέσω της παρακάτω φόρμας επικοινωνίας.","WEBSITE_CONTACT_US_P2":"Σημειώστε ότι εδρεύουμε στη Βουλγαρία, επομένως ενδέχεται να υπάρξει καθυστέρηση στην απάντησή σας λόγω διαφορών στις ζώνες ώρας.","WEBSITE_CONTACT_US_SUCCESS":"Το μήνυμά σας έχει αποσταλεί. Θα σας απαντήσουμε το συντομότερο δυνατόν.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Παρακαλούμε εισαγάγετε ένα έγκυρο email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Ποιο θέμα αφορά η ερώτησή σας;","WEBSITE_CONTACT_US_Q_OS":"Ποιο είναι το λειτουργικό σας σύστημα;","WEBSITE_CONTACT_US_PH_EMAIL":"Το email σας","WEBSITE_CONTACT_US_PH_MESSAGE":"Μήνυμα","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"Αποστολή","WEBSITE_CONTACT_US_Q_1":"Πώς κάνω εγκατάσταση;","WEBSITE_CONTACT_US_Q_2":"Πώς κάνω κατάργηση εγκατάστασης;","WEBSITE_CONTACT_US_Q_3":"(HTML) Πώς φτιάχνω λαζάνια;","WEBSITE_CONTACT_US_Q_4":"Πρόσθετα","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Τεχνολογία","WEBSITE_TECHNOLOGY_P1":"Αγαπάμε την τεχνολογία και την επιστήμη.</br> Δείτε τί κρύβεται πίσω από το Stremio (είναι όλα ανοικτού κώδικα).","WEBSITE_TECHNOLOGY_P_QT":"Η ανάπτυξη λογισμικού για πολλαπλές πλατφόρμες, στα καλύτερά της.","WEBSITE_TECHNOLOGY_P_MPV":"Ένα δωρεάν, ανοικτού κώδικα, πρόγραμμα αναπαραγωγής πολυμέσων για πολλαπλές πλατφόρμες.","WEBSITE_TECHNOLOGY_P_RN":"Το React Native σας επιτρέπει να αναπτύσσετε εφαρμογές για κινητές συσκευές, μόνο με τη χρήση JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Ενσωματωμένο πλαίσιο πολυμέσων στην εφαρμογή για τη λήψη πολυμέσων.","WEBSITE_TECHNOLOGY_P_REALM":"Το Realm είναι μια πλατφόρμα για κινητές συσκευές και αντικαθιστά τα SQLite και Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Το Node.js είναι ένα ανοικτού κώδικα περιβάλλον εκτέλεσης JavaScript για όλες τις πλατφόρμες.","WEBSITE_TECHNOLOGY_P_RUST":"Η Rust είναι μια γλώσσα πολλαπλών προγραμματιστικών παραδειγμάτων, η οποία εστιάζει στην ασφάλεια και ειδικά στον ασφαλή ταυτοχρονισμό.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Συνεισφορά στο έργο","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Υπάρχουν δύο τρόποι συνεισφοράς στο Stremio για την περαιτέρω βελτίωση του προϊόντος.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Μπορείτε να δωρίσετε τις πολύτιμες γλωσσικές ικανότητές σας μεταφράζοντας την πλατφόρμα...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ή","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... μπορείτε να αξιοποιήσετε τις ικανότητές σας στον προγραμματισμό για τη δημιουργία προσθέτων κοινότητας. ","WEBSITE_TRANSLATE_STREMIO":"Μετάφραση του Stremio","WEBSITE_404_OH_NO":"Ωχ όχι! Η σελίδα που ψάχνετε δεν είναι εδώ...","WEBSITE_GO_HOME":"Αρχική","WEBSITE_LINK_OTHER_DOWNLOADS":"Άλλες λήψεις","WEBSITE_FAQ_ABR":"Συχνές ερωτήσεις","WEBSITE_SUPPORT":"Υποστήριξη","WEBSITE_DOWNLOAD_4_0_BETA":"Λήψη του Stremio 4 Beta","WEBSITE_GET_FOR_DESKTOP":"Λήψη για υπολογιστή","WEBSITE_LINK_ADDON_COMPETITION":"Διαγωνισμός προσθέτων","WEBSITE_LINK_ART_CONTEST":"Καλλιτεχνικός διαγωνισμός","WEBSITE_MY_ACCOUNT":"Ο λογαριασμός μου","WEBSITE_MAINPAGE_FAQ_001_H1":"Τι είναι το Stremio;","WEBSITE_MAINPAGE_FAQ_001_P1":"Το Stremio είναι ένα σύγχρονο κέντρο πολυμέσων που σάς επιτρέπει να παρακολουθήσετε τα πάντα.","WEBSITE_MAINPAGE_FAQ_002_H1":"Πώς λειτουργεί;","WEBSITE_MAINPAGE_FAQ_002_P1":"Μόλις εγκαταστήσετε το Stremio στη συσκευή σας και δημιουργήσετε έναν λογαριασμό, το μόνο που χρειάζεται να κάνετε είναι να επισκεφθείτε τον κατάλογο προσθέτων και να εγκαταστήσετε όποιο πρόσθετο επιθυμείτε. Αυτό ήταν!","WEBSITE_MAINPAGE_FAQ_002_P2":"Έπειτα, μπορείτε να μεταβείτε στις ενότητες «Ανακάλυψη» ή «Πίνακας» για να ξεκινήσετε την εξερεύνηση περιεχομένου.","WEBSITE_MAINPAGE_FAQ_003_H1":"Τι μπορώ να παρακολουθήσω εδώ;","WEBSITE_MAINPAGE_FAQ_003_P1":"Πολλά: Ταινίες, εκπομπές, διαδικτυακά κανάλια, αθλήματα, τηλεοπτικά κανάλια, podcasts και πολλά άλλα. Χάρη στο σύστημα προσθέτων μας, μπορείτε να προσπελάσετε μια ευρεία γκάμα περιεχομένου.","WEBSITE_MAINPAGE_FAQ_004_H1":"Είναι το Stremio λογισμικό ανοικτού κώδικα;","WEBSITE_MAINPAGE_FAQ_004_P1":"Ναι, μπορείτε να δείτε τους εξής συνδέσμους: ${1}εφαρμογή για υπολογιστές${2} και ${3}οργανισμός GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Είναι το Stremio ασφαλές;","WEBSITE_MAINPAGE_FAQ_005_P1":"Ναι. Επειδή είναι λογισμικό ανοικτού κώδικα, ο κώδικάς του είναι δημόσια διαθέσιμος και μπορείτε να τον ελέγξετε και εσείς.","WEBSITE_MAINPAGE_FAQ_005_P2":"Το σύστημα προσθέτων του Stremio δημιουργήθηκε επίσης με την ασφάλεια του χρήστη στο μυαλό. Τα πρόσθετα δεν εκτελούν κανέναν κώδικα τοπικά, οπότε δεν απειλούν τη συσκευή σας.","WEBSITE_MAINPAGE_FAQ_006_H1":"Τι γίνεται με το απόρρητό μου;","WEBSITE_MAINPAGE_FAQ_006_P1":"Σεβόμαστε το απόρρητο των χρηστών και δεν συλλέγουμε κανένα προσωπικό δεδομένο, εκτός από τα απολύτως απαραίτητα στοιχεία για τη δημιουργία και τον συγχρονισμό του λογαριασμού σας.","WEBSITE_MAINPAGE_FAQ_006_P2":"Υπάρχει επίσης η ${1}λειτουργία επισκέπτη${2} κατά την εγγραφή, η οποία δεν απαιτεί καθόλου δεδομένα: σε αυτήν τη λειτουργία, δεν γίνεται καμία κλήση στο παρασκηνιακό μας σύστημα. Ωστόσο, δεν περιέχει ορισμένες χρήσιμες λειτουργίες, όπως η δυνατότητα συγχρονισμού βιβλιοθήκης με άλλες συσκευές.","WEBSITE_MAINPAGE_FAQ_007_H1":"Μπορώ να κάνω μετάδοση στην τηλεόρασή μου;","WEBSITE_MAINPAGE_FAQ_007_P1":"Ναι, υποστηρίζουμε Chromecast και μπορείτε να κάνετε μετάδοση τόσο από τον υπολογιστή, όσο και από την κινητή σας συσκευή (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Πόσα πρόσθετα διαθέτει το Stremio;","WEBSITE_MAINPAGE_FAQ_008_P1":"Από τα τέλη του 2019, πάνω από 50 - για περισσότερες πληροφορίες, δείτε τον κατάλογο των προσθέτων μας.","WEBSITE_MAINPAGE_FAQ_009_H1":"Μπορώ να επεκτείνω τον κατάλογο προσθέτων του Stremio;","WEBSITE_MAINPAGE_FAQ_009_P1":"Ναι, ανατρέξετε στα εξής: ${1}PimpMyStremio${2}, ${3}κοινότητες Reddit${4}, ${5}Stremio Downloader${6}, κ.λπ.","WEBSITE_MAINPAGE_FAQ_010_H1":"Ποιες συσκευές υποστηρίζει το Stremio;","WEBSITE_MAINPAGE_FAQ_010_P1":"Διαθέτουμε εφαρμογές για Windows, Mac και Linux. Για τις κινητές συσκευές, υποστηρίζουμε Android και iOS, ωστόσο λάβετε υπόψη ότι η έκδοση για iOS διαθέτει περιορισμένη λειτουργικότητα (δεν υποστηρίζει τα περισσότερα πρόσθετα).","WEBSITE_MAINPAGE_FAQ_010_P2":"Υπάρχουν πολλές συσκευές που βασίζονται στο Android και μπορούν να εκτελέσουν το Stremio, όπως το NVIDIA Shield και το Amazon Fire Stick, αλλά δεν τις υποστηρίζουμε επίσημα.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Έχουμε εφαρμογές για υπολογιστές με Windows, Mac και Linux. Έχουμε επίσης εφαρμογές για κινητά Android και Android TV. Για iOS και iPadOS συνιστούμε τη χρήση του Stremio Web, αν και έχει περιορισμένη λειτουργικότητα.","WEBSITE_MAINPAGE_FAQ_011_H1":"Μπορείτε να προσθέσετε συγκεκριμένο περιεχόμενο στο Stremio;","WEBSITE_MAINPAGE_FAQ_011_P1":"Δυστυχώς, δεν παρέχουμε εμείς το περιεχόμενο, αλλά όσα περισσότερα πρόσθετε έχετε εγκαταστήσει στο Stremio, τόσο περισσότερο περιεχόμενο θα μπορέσετε να βρείτε.","WEBSITE_MAINPAGE_FAQ_012_H1":"Μπορεί το Stremio να κάνει αναπαραγωγή συνδέσμων magnet;","WEBSITE_MAINPAGE_FAQ_012_P1":"Ναι και μπορεί επίσης να κάνει αναπαραγωγή κανονικών συνδέσμων HTTP και αρχείων torrent (μεταφορά και εναπόθεση).","WEBSITE_MAINPAGE_FAQ_013_H1":"Μπορώ να κάνω λήψη ενός βίντεο για προβολή εκτός σύνδεσης;","WEBSITE_MAINPAGE_FAQ_013_P1":"Η διαθεσιμότητα εκτός σύνδεσης αποτελεί επερχόμενη λειτουργία, αλλά εάν επιτρέψετε στο Stremio την προσωρινή αποθήκευση στη συσκευή σας (από τον πίνακα ρυθμίσεων), μπορείτε να παρακολουθήσετε τα βίντεο αργότερα, χωρίς σύνδεση στο διαδίκτυο.","WEBSITE_MAINPAGE_FAQ_014_H1":"Δεν λειτουργεί τίποτα, βοήθεια!","WEBSITE_MAINPAGE_FAQ_014_P1":"Έχετε σίγουρα εγκαταστήσει πρόσθετα; Εάν ναι, δείτε το ${1}κέντρο βοήθειάς${2} μας.","WEBSITE_MAINPAGE_FAQ_015_H1":"Πώς υποστηρίζει το Stremio την ανάπτυξή του;","WEBSITE_MAINPAGE_FAQ_015_P1":"Προβάλλουμε μη παρεμβατικές διαφημίσεις περιστασιακά, αλλά εξετάζουμε το ενδεχόμενο να προχωρήσουμε σε ένα μοντέλο δωρεάς.","WEBSITE_MAINPAGE_FAQ_015_P2":"Για περισσότερες ερωτήσεις, μεταβείτε στο ${1}κέντρο βοήθειάς${2} μας.","HELP_LEARN_MORE":"Βοηθήστε μας να μάθουμε περισσότερα για εσάς.","LIFESTYLE":"Τρόπος ζωής","SPORTS":"Αθλήματα","FOOD_HEALTH":"Φαγητό & υγεία","BEAUTY_FASHION":"Ομορφιά & μόδα","NEWS":"Ειδήσεις","GAMING":"Παιχνίδια","SCIENCE_EDUCATION":"Επιστήμη & εκπαίδευση","MUSIC":"Μουσική","TRAVEL":"Ταξίδια","LATE_NIGHT":"Βραδινό","REALITY":"Ριάλιτι","COMEDY":"Κωμωδία","DIY":"Κατασκευές","TECH":"Τεχνολογία","CINEMA":"Κινηματογράφος","CONTINUE":"Συνέχεια","SLOW_LOADING":"Αργή Φόρτωση;","I_GIVE_UP":"Ακύρωση","LEARN_MORE":"Μάθετε περισσότερα","POOR_SOURCE":"Αυτή η πηγή δεν είναι επαρκώς διαθέσιμη ή η σύνδεση σας στο διαδίκτυο δεν είναι αρκετά γρήγορη","PICK_CATEGORIES_ERR":"Πρέπει να επιλέξετε τουλάχιστον 3 κατηγορίες","ADJUST_TIMING":"Προσαρμογή χρονισμού με","ADJUST_SIZE":"Προσαρμογή μεγέθους με","SEARCH_ANYTHING":"Μπορείτε να αναζητήσετε οτιδήποτε...","ALL_CATEGORIES":"Όλα","SEARCH_CATEGORIES":"Ταινίες, σειρές, YouTube & τηλεόραση","SEARCH_PERSONS":"Ηθοποιοί, σκηνοθέτες & σεναριογράφοι","SEARCH_PROTOCOLS":"Σύνδεσμοι HTTP & Magnet","SEARCH_TYPES":"Σύνδεσμοι IMDB/TVDB","WATCHED":"Προβλήθηκε","SHOW_LESS":"Λιγότερα","LAST_SEARCHES":"Πρόσφατες αναζητήσεις","CLEAR_HISTORY":"Απαλοιφή ιστορικού","CHOOSE_SOME":"ΕΠΙΛΕΞΤΕ ΚΑΠΟΙΑ ΑΠΟ ΑΥΤΑ:","PAGE_NOT_FOUND":"Η σελίδα δεν βρέθηκεd!","NO_WEB_REMOTE":"Δεν ήταν δυνατή η φόρτωση του Web Remote","STREMIO_OFFLINE":"Το Stremio είναι εκτός σύνδεσης","STREMIO_EXPENSIVE_CONNECTION":"Εντοπίσαμε ότι χρησιμοποιείτε σύνδεση δεδομένων κινητής, θέλετε να συνεχίσετε;","USE_DATA":"Χρήση δεδομένων","WARNING":"Προειδοποίηση","MORE_INFO":"Περισσότερες πληροφορίες...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Φόρτωση...","STREMIO_TV_BACK_TO_LANGUAGES":"Πίσω στις γλώσσες","STREMIO_TV_REMOTE":"Τηλεχειριστήριο","STREMIO_TV_GO_TO":"Μεταβείτε στο:","STREMIO_TV_OR_SCAN":"ή σαρώστε το:","STREMIO_TV_ADDON_INSTRUCTIONS":"Παρακαλούμε ακολουθήστε τις οδηγίες για να εγκαταστήσετε τα προτιμώμενα πρόσθετά σας.","STREMIO_TV_LIVE_TV":"Ζωντανή TV","STREMIO_TV_RESUME_WATCHING":"Συνέχιση παρακολούθησης","STREMIO_TV_LOADING_BACKGROUND":"Φόρτωση παρασκηνίου","STREMIO_TV_CHECKING_AUTHENTICATION":"Έλεγχος ταυτοποίησης","STREMIO_TV_LOADING_BOARD":"Φόρτωση πίνακα","STREMIO_TV_LOGIN_HEADER_LINE_1":"Θέλουμε οι χρήστες μας να έχουν την καλύτερη δυνατή, εξατομικευμένη εμπειρία με το λογισμικό μας.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Αυτός είναι ο λόγος που σας ζητούμε να δημιουργήσετε ή/και να συνδεθείτε στον λογαριασμό σας.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Σας ευχαριστούμε για την κατανόηση,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Η ομάδα του Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Για να χρησιμοποιήσετε το Web Remote με το smartphone/tablet/υπολογιστή σας:","STREMIO_TV_WIFI_SETUP":"Ρύθμιση Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Το Stremio Circle δεν εντόπισε σύνδεση στο διαδίκτυο.","STREMIO_TV_WIFI_DETAILS_1":"Συνδεθείτε στο:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Χρησιμοποιήστε τον κωδικό πρόσβασης:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Ανοίξτε ένα πρόγραμμα περιήγησης με τον σύνδεσμο:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Προεπιλεγμένο","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Από την τελευταία παρακολούθηση","STREMIO_TV_LIBRARY_SORT_NAME":"Από το όνομα","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Κατά Όνομα Φθίνουσα","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Από τις φορές που παρακολουθήσατε","STREMIO_TV_LIBRARY_SORT_WATCHED":"Έχω Παρακολούθηση","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Δεν Έχω Παρακολουθήσει","STREMIO_TV_DETAILS_SEASON_NUMBER":"Κύκλος ${1}","STREMIO_TV_STREAMS_LOADING":"Φορτωμένα ${1} / ${2} πρόσθετα...","STREMIO_TV_STREAMS_STILL_LOADING":"Το ${1} ακόμα φορτώνει ...","STREMIO_TV_PLAYER_SETTINGS":"Ρυθμίσεις προγράμματος αναπαραγωγής","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Καθυστέρηση υποτίτλων","STREMIO_TV_PLAYER_AUDIO_DELAY":"Καθυστέρηση ήχου","STREMIO_TV_PLAYER_VIDEO_SCALING":"Κλιμάκωση βίντεο","STREMIO_TV_PLAYER_CHAPTERS":"Κεφάλαια","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Παράλειψη ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Μη υποστηριζόμενη πηγή ροής","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Αποτυχία ανοίγματος εξωτερικού συνδέσμου","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Δεν ρυθμίζεται στη λειτουργία διέλευσης ήχου","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Αναπαραγωγή με τον ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Αναπαραγωγή με τον libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Αλλαγή στον libVLC player λόγω σφάλματος αναπαραγωγής","STREMIO_TV_ADDONS_TITLE":"Χρησιμοποιήστε το Stremio στο τηλέφωνο ή τον υπολογιστή σας για να εγκαταστήσετε ή να διαμορφώσετε πρόσθετα και πατήστε \\"Συγχρονισμός πρόσθετων\\"","STREMIO_TV_ADDONS_SUBTITLE":"Σημείωση: βεβαιωθείτε ότι χρησιμοποιείτε τον ίδιο λογαριασμό Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Συγχρονισμός πρόσθετων","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Επιτυχής συγχρονισμός πρόσθετων","STREMIO_TV_ADDONS_SYNC_FAILED":"Αποτυχία συγχρονισμού πρόσθετων","STREMIO_TV_META_LINK_FAILED":"Αποτυχία ανοίγματος μετα-συνδέσμου","STREMIO_TV_CATALOG_LOADING":"Ο κατάλογος φορτώνει...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Η γλώσσα της εφαρμογής ενημερώθηκε","STREMIO_TV_SETTINGS_THEME_UPDATED":"Το θέμα ενημερώθηκε","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Προεπιλεγμένη εφαρμογή αναπαραγωγής","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Εξωτερική εφαρμογή αναπαραγωγής","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Προτιμητέα γλώσσα","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Εναλλακτική Γλώσσα","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Αναπαραγωγή μέσω διαμεσολαβητή","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Πιθανά προβλήματα αναπαραγωγής σε ορισμένες συσκευές","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Ορισμένες μορφές βίντεο ενδέχεται να μην λειτουργούν","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Ταίριασμα ρυθμού καρέ","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Απενεργοποιημένο","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Μόνο ρυθμός καρέ","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Ρυθμός καρέ και ανάλυση εικόνας","STREMIO_TV_SETTINGS_NO_CACHING":"Χωρίς προσωρινή αποθήκευση","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Προεπιλεγμένη","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Ήπιο","STREMIO_TV_SETTINGS_PROFILE_FAST":"Γρήγορο","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Πολύ γρήγορο","STREMIO_TV_SETTINGS_SERVER_URL":"URL διακομιστή ροής","STREMIO_TV_SETTINGS_SERVER_VERSION":"Έκδοση διακομιστή","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Άγνωστη","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Έκδοση του Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Επεξεργασία διεύθυνσης URL διακομιστή","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Εισαγάγετε μια διεύθυνση url διακομιστή ροής","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Εμφάνιση στατιστικών κατά τη φόρτωση","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Για να διαβάσετε την Πολιτική Απορρήτου του Stremio, επισκεφτείτε:","STREMIO_TV_SETTINGS_TOS_TEXT":"Για να διαβάσετε τους Όρους και τις Προϋποθέσεις του Stremio, επισκεφτείτε:","STREMIO_TV_NAV_SEARCH":"Αναζήτηση","STREMIO_TV_NAV_HOME":"Αρχική","STREMIO_TV_NAV_DISCOVER":"Περιήγηση","STREMIO_TV_NAV_LIBRARY":"Βιβλιοθήκη","STREMIO_TV_NAV_MOVIES":"Ταινίες","STREMIO_TV_NAV_SERIES":"Σειρές","STREMIO_TV_NAV_CHANNELS":"Κανάλια","STREMIO_TV_NAV_TV":"Ζωντανά","STREMIO_TV_NAV_SETTINGS":"Ρυθμίσεις","STREMIO_TV_NAV_ADDONS":"Πρόσθετα","STREMIO_TV_LOGIN_TITLE":"Σύνδεση λογαριασμού","STREMIO_TV_LOGIN_EXPIRES_IN":"Λήγει σε","STREMIO_TV_LOGIN_STEP_ONE":"Σαρώστε τον κωδικό QR παραπάνω ή μεταβείτε στο","STREMIO_TV_LOGIN_STEP_TWO":"Συνδεθείτε στον λογαριασμό σας στο Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Νέος σύνδεσμος","STREMIO_TV_LOGIN_LINK_REFRESHED":"Ο κωδικός σύνδεσης ανανεώθηκε","STREMIO_TV_SEARCH_PLACEHOLDER":"Πληκτρολογήστε κάτι","STREMIO_TV_SEARCH_NO_ADDONS":"Δεν ζητήθηκαν πρόσθετα για καταλόγους!","STREMIO_TV_SEARCH_BUTTON":"Αναζήτηση","STREMIO_TV_SEARCH_KEY_DEL":"Διαγραφή όλων","STREMIO_TV_SEARCH_KEY_SPACE":"Κενό","STREMIO_TV_SEARCH_KEY_CLEAR":"Διαγραφή","STREMIO_TV_SEARCH_HISTORY_TITLE":"Ιστορικό αναζήτησης","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Μπορείτε να αναζητήσετε Τίτλους, Ηθοποιούς, Κανάλια και άλλα...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Διαγράψτε το ιστορικό αναζήτησης","STREMIO_TV_FILTERS_DESCRIPTION":"Επιλέξτε ένα από τα παρακάτω φίλτρα","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Ο διακομιστής ροής είναι εκτός σύνδεσης. Ελέγξτε τις Ρυθμίσεις διακομιστή.","FILTERS":"Φίλτρα","SETTINGS":"Ρυθμίσεις","ACCOUNT":"Λογαριασμός","LOGOUT":"Αποσύνδεση","THEMES":"Θέματα","PLAYBACK":"Αναπαραγωγή","PLAYBACK_SPEED":"Ταχύτητα Αναπαραγωγής","AUDIO_TRACKS":"Κομμάτια ήχου","UNKNOWN_TRACK_LANG":"Άγνωστο","VIDEOS":"Βίντεο","SERVER":"Διακομιστής","LINKS":"Σύνδεσμοι","ABOUT":"Πληροφορίες","INTERFACE":"Εμφάνιση","ANIMATIONS":"Οπτικά εφέ","STATUS":"Κατάσταση","LANGUAGE":"Γλώσσα","SIZE":"Μέγεθος","DELAY":"Καθυστέρηση","BOLD":"Έντονα γράμματα","OPACITY":"Αδιαφάνεια","TEXT_COLOR":"Χρώμα κειμένου","OUTLINE_COLOR":"Χρώμα περιγράμματος","BACKGROUND_COLOR":"Χρώμα φόντου","BACKGROUND_BLUR":"Θάμπωμα φόντου","SEEK_TIME_DURATION":"Διάρκεια χρόνου παράλειψης","AUTO_PLAY":"Αυτόματη αναπαραγωγή επόμενου επεισοδίου","PLAY_NOW":"Αναπαραγωγή τώρα","MARK_AS_WATCHED":"Επισήμανση ως προβεβλημένο","MARK_AS_UNWATCHED":"Επισήμανση ως μη προβεβλημένο","REWIND_TO_BEGINNING":"Προβολή από την αρχή","CONTINUE_WATCHING":"Συνεχίστε να βλέπετε","ALL":"Όλα","SECONDS":"Δευτερόλεπτα","ON":"Ανοιχτοί","OFF":"Κλειστοί","RELOAD":"Επανάληψη φόρτωσης","EDIT_URL":"Επεξεργασία συνδέσμου URL","URL":"URL","NONE":"Κανένα","EMBEDDED":"Ενσωματωμένοι","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Εναλλαγή συσκευών","REMOTE_VIDEOS":"Βίντεο","REMOTE_ADJUST_TIMING":"Προσαρμογή χρονισμού","REMOTE_ADJUST_SIZE":"Προσαρμογή μεγέθους","REMOTE_COULD_NOT_BE_LOADED":"Δεν ήταν δυνατή η φόρτωση του Web Remote","REMOTE_RETRY":"Επανάληψη","TORRENT_PROFILE_DEFAULT":"Προεπιλεγμένο","TORRENT_PROFILE_SOFT":"Ήπιο","TORRENT_PROFILE_FAST":"Γρήγορο","TORRENT_PROFILE_ULTRA_FAST":"Πολύ γρήγορο","MB_S":"MB/s","FAQ_001_H1":"Τι είναι το Stremio;","FAQ_001_P1":"Το Stremio είναι ένα λογισμικό κέντρου πολυμέσων που έχει σχεδιαστεί για εύκολη πρόσβαση σε ψυχαγωγικά βίντεο. Σας επιτρέπει να οργανώσετε και να παρακολουθείτε την προσωπική σας συλλογή ταινιών, σειρών, καναλιών και ζωντανής τηλεόρασης.","FAQ_001_P2":"Το Stremio συλλέγει το περιεχόμενο, που προβάλλει σε εσάς, από τον τοπικό σας δίσκο και το σύστημα προσθέτων μας.","FAQ_001_P3":"Θα σας ειδοποιήσει επίσης όταν κυκλοφορήσουν νέα επεισόδια/βίντεο/ταινίες που σας ενδιαφέρουν και θα σας προσφέρει προτάσεις ταινιών.","FAQ_02_H1":"Πόσο μοιάζει το Stremio με το Kodi και το Plex;","FAQ_02_P1":"Έχουμε εμπνευστεί από αυτά τα δύο λογισμικά. Όμως έχουν διαφορετικούς στόχους - το Stremio αφορά αποκλειστικά τα ψυχαγωγικά βίντεο και προσπαθεί να γίνει η πιο γνωστή και εύχρηστη λύση.","FAQ_02_P2":"Το Stremio δεν θα προσφέρει ποτέ τόσες λειτουργίες και δυνατότητες προσαρμογής, όσες το Kodi και το Plex, αλλά είναι σημαντικά πιο απλό στη χρήση. ${1} Δοκιμάστε το κι εσείς ${2} :)","FAQ_03_H1":"Πόσο μοιάζει το Stremio με το Netflix;","FAQ_03_P1":"Το Netflix αποτελεί μία από τις εμπνεύσεις μας. Προσπαθούμε να επιτύχουμε την εμπειρία χρήσης του Netflix, σε συνδυασμό με πολλά άλλα «καλούδια». Το πιο σημαντικό όμως είναι ότι σας παρέχουμε την ελευθερία να διαχειρίζεστε τη δική σας βιβλιοθήκη και να προσθέτετε νέες πηγές περιεχομένου με το σύστημα προσθέτων μας.","FAQ_03_P2":"Αυτό καθιστά το Stremio απεριόριστα επεκτάσιμο, ώστε να μην περιορίζεστε ποτέ στο περιεχόμενο που αποφασίζει να προσθέσει το Netflix. Για παράδειγμα, μέσω του Stremio μπορείτε να παρακολουθήσετε περιεχόμενο από το ${1} Filmon.tv ${2}, το ${3} Twitch.tv${4}, το ${5}YouTube${6}, το ${7}Vodo${8}, ακόμα και από το ίδιο το ${9}Netflix${10}!","FAQ_04_H1":"Πόσο μοιάζει το Stremio με το Flipboard;","FAQ_04_P1":"Δεν λαμβάνουμε τόσο συχνά αυτήν την ερώτηση, εκτός αν μιλάμε με άτομα από νεοφυείς εταιρείες :)","FAQ_04_P2":"Το Stremio είναι εκ σχεδιασμού μια εφαρμογή συγκέντρωσης περιεχομένου, αποτελώντας πρακτικά ένα Flipboard για βίντεο. Αυτό είναι ιδιαίτερα προφανές στην ενότητα «Πίνακας», η οποία παρέχει καταλόγους και ειδοποιήσεις νέων επεισοδίων/βίντεο για όσα ακολουθείτε, όπως και το Flipboard.","FAQ_05_H1":"Πόσο μοιάζει το Stremio με το Popcorn Time;","FAQ_05_P1":"Το Stremio και το Popcorn Time μοιάζουν όσον αφορά το περιβάλλον χρήστη, επειδή δεν υπάρχουν και τόσοι πολλοί τρόποι για τη σωστή υλοποίηση ψυχαγωγικών καταλόγων βίντεο :)","FAQ_05_P2":"Ωστόσο, το Popcorn Time εστιάζει στη ροή torrent από συγκεκριμένες πηγές, ενώ το Stremio κάνει απλά συγκέντρωση περιεχομένου - δεν περιορίζεται σε μια συγκεκριμένη πηγή περιεχομένου.","FAQ_05_P3":"Επιπλέον, δεν παρέχουμε κανένα πρόσθετο για torrent από προεπιλογή, επομένως το Stremio δεν καλύπτει τις δυνατότητες του Popcorn Time με την επίσημη λειτουργικότητά του.","FAQ_05_P4":"Μια ακόμα αξιοσημείωτη διαφορά είναι ότι ο κώδικας του Popcorn Time είναι πλήρως ανοικτός, ενώ ο κώδικας του Stremio είναι ${1}μερικώς ανοικτός{2}.","FAQ_06_H1":"Θα προσθέσετε αυτήν την ταινία/σειρά;","FAQ_06_P1":"Δυστυχώς, όχι :(","FAQ_06_P2":"Όπως αναφέρουμε και σε πολλές άλλες απαντήσεις, το Stremio δεν παρέχει από μόνο του περιεχόμενο - όλα προστίθενται μέσω του συστήματος προσθέτων. Σε περίπτωση που έχετε κάποιο αίτημα περιεχομένου, μπορείτε να χρησιμοποιήσετε το κουμπί «Αναφορά» στο πρόγραμμα αναπαραγωγής, το οποίο θα στείλει ένα email στον δημιουργό του προσθέτου που χρησιμοποιείτε τη δεδομένη στιγμή.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Θα δημιουργήσετε πρόσθετο για το X;","FAQ_08_P1":"Είναι πολύ πιθανό.","FAQ_08_P2":"Αν έχετε κάποια ιδέα για ένα πρόσθετο, στείλτε μας ένα email στο ${1}office@stremio.com${2}, αλλά παρακαλούμε βεβαιωθείτε ότι η ιδέα σας δεν θα παραβιάσει κανένα πνευματικό δικαίωμα ή όρο χρήσης.","FAQ_08_P3":"Αυτήν τη στιγμή, τα επόμενά μας σχέδια περιλαμβάνουν πρόσθετα για το FandangoNOW, το Filmon.tv και το Crunchyroll.","FAQ_09_H1":"Το Stremio χρησιμοποιεί το BitTorrent;","FAQ_09_P1":"Ναι, το Stremio υποστηρίζει το BitTorrent ως πρωτόκολλο ροής. Μπορείτε να το χρησιμοποιήσετε με ένα πρόσθετο για torrent, με εναπόθεση ενός αρχείου .torrent στο Stremio ή με επικόλληση ενός συνδέσμου magnet στη γραμμή αναζήτησης.","FAQ_09_P2":"Παρακαλούμε σημειώστε ότι το μόνο επίσημο πρόσθετο που χρησιμοποιεί BitTorrent είναι το ${1}Vodo${2}, που παρέχει ανεξάρτητο περιεχόμενο για το οποίο επιτρέπεται η διανομή με BitTorrent.","FAQ_09_P3":"Δεν υποστηρίζουμε τη χρήση τρίτων προσθέτων που ενδέχεται να οδηγήσουν σε καταπάτηση πνευματικών δικαιωμάτων.","FAQ_10_H1":"Τι μπορώ να παρακολουθήσω στο Stremio με τα επίσημα πρόσθετα;","FAQ_10_P1":"Από προεπιλογή, μπορείτε να παρακολουθήσετε περιεχόμενο από το Filmon.tv, το YouTube και το Vodo στο Stremio, με το ενσωματωμένο πρόγραμμα αναπαραγωγής. Επιπροσθέτως, διαθέτουμε ένα πρόσθετο για το Twitch.tv και κάποιους άλλους παρόχους.","FAQ_10_P2":"Με όλα τα παραπάνω, παρέχεται μια συλλογή από:","FAQ_10_L1":"Δημοφιλή τηλεοπτικά κανάλια από το Filmon.tv - για παράδειγμα, το E4, το BBC, το Bollyworld TV","FAQ_10_L2":"Όλο το YouTube - για παράδειγμα, το BBC News, το Top Gear, το Vevo, τον PewDiePie","FAQ_10_L3":"Ανεξάρτητες ταινίες με το Vodo","FAQ_10_L4":"Διαδικτυακές μεταδόσεις παιχνιδιών με το Twitch.tv","FAQ_10_P3":"Επιπλέον, υπάρχουν πολλές πηγές περιεχομένου που παρέχονται από τα πρόσθετα Guidebox και Netflix, τα οποία <b>δεν</b> κάνουν αναπαραγωγή εξ ολοκλήρου εντός του Stremio, αλλά ανακατεύθυνση στην αντίστοιχη υπηρεσία. Για παράδειγμα, το πρόσθετο Guidebox σάς προσφέρει μια συλλογή από ταινίες που μπορείτε να παρακολουθήσετε δωρεάν στις ΗΠΑ, από υπηρεσίες όπως το TubiTV και το Crackle.","FAQ_11_H1":"Το Stremio δεν εγκαθίσταται, τι να κάνω;","FAQ_11_P1":"Εάν χρησιμοποιείτε Windows, δοκιμάστε ${1}αυτό το εναλλακτικό πρόγραμμα εγκατάστασης${2}.","FAQ_11_P2":"Εάν χρησιμοποιείτε Mac OS X, σημειώστε ότι δεν υποστηρίζουμε καμία έκδοση πριν από το OS X Mavericks (10.9).","FAQ_11_P3":"Εάν χρησιμοποιείτε Linux, σημειώστε ότι υποστηρίζουμε μόνο εκδόσεις 64-bit (x64) του Linux αυτήν τη στιγμή.","FAQ_11_P4":"Αν δεν μπορείτε ακόμα να λύσετε το πρόβλημά σας, παρακαλούμε στείλτε μας μήνυμα στην {1}ομάδα μας στο Facebook${2}.","FAQ_12_H1":"Γιατί με προειδοποιεί το πρόγραμμα προστασίας από ιούς; Είναι ασφαλές το Stremio;","FAQ_12_P1":"Σας διαβεβαιώνουμε ότι το Stremio είναι ${1}100% «καθαρό»${2}.","FAQ_12_P2":"Το λογισμικό σας, σάς προειδοποιεί επειδή το πρόγραμμα εγκατάστασής μας περιλαμβάνει διαφημίσεις, οι οποίες θεωρούνται ως ad-ware από ορισμένα προγράμματα προστασίας από ιούς.","FAQ_12_P3":"Αν ακόμα έχετε αμφιβολίες, μπορείτε να δοκιμάσετε το ${1}εναλλακτικό πρόγραμμα εγκατάστασής${2} μας.","FAQ_13_H1":"Πώς μπορώ να δημιουργήσω ένα πρόσθετο;","FAQ_13_P1":"Για αρχή, προτείνουμε να δείτε τη ${1}μονάδα του συστήματος προσθέτων${2} μας στο GitHub.","FAQ_13_P2":"Έπειτα, μπορείτε να ακολουθήσετε τον ${1}εισαγωγικό οδηγό${2} μας.","FAQ_13_P3":"Αν δεν διαθέτετε γνώσεις προγραμματισμού, παρακαλούμε αναφέρετε την ιδέα σας στην ${1}κοινότητα του Reddit${2} και επικοινωνήστε μαζί μας σχετικά με την ιδέα σας στο ${3}office@stremio.com${4}.","FAQ_14_H1":"Πώς δημοσιεύονται τα πρόσθετα;","FAQ_14_P1":"Όταν δημιουργήσετε ένα πρόσθετο και έναν κεντρικό υπολογιστή και προσθέσετε ένα πεδίο <b>ακροσημείου (endpoint)</b> στο αρχείο manifest σας, το οποίο δείχνει σε μια λειτουργική διεύθυνση προσθέτου, το πρόσθετο θα δημοσιευτεί αυτόματα στον ${1}κατάλογο προσθέτων${2} μας.","FAQ_14_P2":"Αυτό συμβαίνει επειδή το τμήμα διακομιστή της μονάδας stremio-addons κάνει αυτόματα κλήση στο API μας, προκειμένου να ανακοινώσει το πρόσθετο. Όταν το API μας επαληθεύσει το <b>ακροσημείο (endpoint)</b> σας ως έγκυρο πρόσθετο, τότε θα αρχίσει να εμφανίζεται στον κατάλογο.","FAQ_15_H1":"Μπορώ να εκτελέσω το Stremio στο πρόγραμμα περιήγησής μου;","FAQ_15_P1":"Προς το παρόν, όχι. Αλλά έρχεται σύντομα!","FAQ_15_P2":"Αν έχετε περιέργεια να δείτε μια πρώιμη έκδοση, μπορείτε να τη βρείτε εδώ: ${1}alpha4.strem.io${2}. Σημειώστε ότι η ροή είναι απενεργοποιημένη σε αυτήν την έκδοση. Υποστηρίζουμε τα Chrome, Firefox, Opera και Edge.","FAQ_16_H1":"Η μετάδοση σε τηλεόραση δεν λειτουργεί / οι υπότιτλοι δεν λειτουργούν","FAQ_16_P1":"Η μετάδοση σε τηλεόραση χρησιμοποιεί την τεχνολογία DLNA που δεν είναι κοινή για όλες τις μάρκες και τα μοντέλα τηλεοράσεων. Για τον λόγο αυτό, δεν μπορούμε να τη δοκιμάσουμε σε όλες τις περιπτώσεις, επομένως δεν είναι σε καμία περίπτωση τέλεια. Εργαζόμαστε για τη συνεχή βελτίωση της λειτουργίας, αλλά δεν μπορούμε να προσδιορίσουμε πότε θα αρχίσει να λειτουργεί κανονικά το DLNA στην τηλεόρασή σας.","FAQ_16_P2":"Αν δεν βλέπετε καν την τηλεόρασή σας στο μενού μετάδοσης, παρακαλούμε δοκιμάστε να απενεργοποιήσετε και να ενεργοποιήσετε εκ νέου τη σύνδεση δικτύου σας (στα Windows, κάντε δεξί κλικ στο «Δίκτυο» και επιλέξτε «Ενεργοποίηση/Απενεργοποίηση»). Επίσης, επανεκκινήστε το router, την τηλεόραση και τον υπολογιστή σας.","FAQ_16_P3":"Αν εξακολουθείτε να αντιμετωπίζετε ζητήματα, μπορείτε να μας βοηθήσετε στέλνοντας τη μάρκα και το μοντέλο της τηλεόρασής σας στο ${1}office@stremio.com${2}.","FAQ_16_P4":"Εν τω μεταξύ, προτείνουμε το Chromecast, το οποίο υποστηρίζουμε πολύ καλά ή μπορείτε απλά να συνδέσετε την τηλεόρασή σας στον υπολογιστή σας με ένα καλώδιο HDMI.","FAQ_17_H1":"Το Stremio «παγώνει» ή/και καταρρέει, τί μπορώ να κάνω;","FAQ_17_P1":"Πρώτα απ\' όλα, εάν χρησιμοποιείτε Windows 7 με το πρόγραμμα προστασίας AVG: υπάρχει πρόβλημα με αυτόν τον συνδυασμό. Το πρόβλημα έγκειται στο ίδιο το AVG και δεν υπάρχει κάποιος τρόπος να το επιλύσουμε από την πλευρά μας. Δυστυχώς, οι εξαιρέσεις ή η απενεργοποίηση του λογισμικού ασφαλείας δεν θα λειτουργήσει. Η μόνη λύση είναι να αντικαταστήσετε το AVG με κάποιο άλλο πρόγραμμα.","FAQ_17_P2":"Αν δεν είναι αυτό το πρόβλημα, αλλά χρησιμοποιείτε Windows, παρακαλούμε ενημερώστε στο πιο πρόσφατο Service Pack και ενημερώστε/εγκαταστήστε εκ νέου τα προγράμματα οδήγησης της GPU και έπειτα, δοκιμάστε ξανά.","FAQ_17_P3":"Αν δεν έχει επιλυθεί ακόμα το πρόβλημά σας ή χρησιμοποιείτε Mac ή Linux, παρακαλούμε στείλτε μας μια αναφορά με ακριβείς λεπτομέρειες για το πρόβλημα στην ${1}ομάδα μας στο Facebook${2}.","FAQ_18_H1":"Πώς μπορώ να δημιουργήσω ένα πρόσθετο;","FAQ_18_P1":"Για αρχή, προτείνουμε να δείτε τη ${1}μονάδα του συστήματος προσθέτων${2} μας στο GitHub.","FAQ_18_P2":"Έπειτα, μπορείτε να ακολουθήσετε τον ${1}εισαγωγικό οδηγό${2} μας.","FAQ_18_P3":"Αν δεν διαθέτετε γνώσεις προγραμματισμού, παρακαλούμε αναφέρετε την ιδέα σας στην ${1}κοινότητα του Reddit${2} και επικοινωνήστε μαζί μας σχετικά με την ιδέα σας στο ${3}office@stremio.com${4}.","FAQ_19_H1":"Γιατί το Stremio καταλαμβάνει χώρο στον δίσκο;","FAQ_19_P1":"Το Stremio διαθέτει <b>τοπική προσωρινή μνήμη (cache)</b> για την προσωρινή διατήρηση των αρχείων βίντεο που παρακολουθείτε.","FAQ_19_P2":"Αυτή έχει δύο πλεονεκτήματα: πρώτον, επιτρέπει στο Stremio να προφορτώσει το βίντεο για πιο ομαλή ροή. Δεύτερον, διατηρεί τα βίντεο στην τοπική προσωρινή μνήμη, ώστε να μπορείτε να τα παρακολουθείτε εκτός σύνδεσης.","FAQ_19_P3":"Μπορείτε να προσαρμόσετε το μέγεθος των αρχείων που επιτρέπεται να αποθηκεύει το Stremio με τη ρύθμιση <b>Προσωρινή μνήμη</b> του πίνακα ρυθμίσεων. Το Stremio μπορεί να διατηρήσει έως και το καθορισμένο μέγεθος (π.χ. 2GB) στον δίσκο σας, εκτός αν το τρέχον βίντεο ροής είναι μεγαλύτερο, στην οποία περίπτωση θα πρέπει το Stremio να δεσμεύσει επαρκή χώρο ώστε να διατηρήσει το βίντεο μέχρι να ολοκληρώσετε τη ροή του.","FAQ_20_H1":"Πού βρίσκεται ο φάκελος προσωρινής μνήμης;","FAQ_20_P1":"Στα Windows, είναι ο φάκελος «stremio-cache» στον δίσκο που επιλέξατε από τις Ρυθμίσεις (π.χ. «E:\\\\stremio-cache»)","FAQ_20_P2":"Στο MacOS, είναι στη διαδρομή «~/Library/Application Support/Stremio/stremio-cache»","FAQ_20_P3":"Στο Linux, είναι στη διαδρομή «~/.stremio/stremio-cache» ή «~/stremio-cache»","FAQ_21_H1":"Λαμβάνω το σφάλμα «Δεν βρέθηκε διακομιστής ροής», τι μπορώ να κάνω;","FAQ_21_P1":"Αν λάβετε αυτό το σφάλμα, υπάρχουν δύο πιθανές εξηγήσεις:","FAQ_21_P2":"1) Προσπαθείτε να χρησιμοποιήσετε ένα πρόσθετο με πηγή YouTube/BitTorrent, μέσω της ${1}διαδικτυακής έκδοσης${2}. Σε αυτήν την περίπτωση, θα πρέπει να εγκαταστήσετε την εφαρμογή μας για υπολογιστές από τον ${3}ιστότοπό${4} μας.","FAQ_21_P3":"2) Κάτι δεν πάει καλά με την εγκατάσταση του Stremio σας. Σε αυτήν την περίπτωση, δοκιμάστε να εγκαταστήσετε εκ νέου την πιο πρόσφατη έκδοση για υπολογιστές από τον ${1}ιστότοπό${2} μας. Αν αυτό δεν βοηθήσει, δοκιμάστε να απενεργοποιήσετε τα προγράμματα προστασίας από ιούς και τα τείχη προστασίας, επανεκκινήστε τον υπολογιστή σας και προσπαθήστε ξανά. Αν δεν λειτουργήσει ούτε αυτό, παρακαλούμε στείλτε μας μήνυμα στην ${3}ομάδα μας στο Facebook${4}.","FAQ_22_H1":"Δεν μπορώ να δω/χρησιμοποιήσω τα περισσότερα πρόσθετα στο iOS","FAQ_22_P1":"Λόγω των περιορισμών στους όρους και τις προϋποθέσεις του Apple App Store, διατίθεται μόνο ένα συγκεκριμένο σύνολο προσθέτων για την εφαρμογή του iOS.","FAQ_22_P2":"Αλλά μην ανησυχείτε - θα διατεθούν περισσότερα πρόσθετα για το iOS στο μέλλον και ίσως προστεθεί η δυνατότητα χρήσης όλων των προσθέτων του Stremio, χάρη στη σύνδεση της εφαρμογής για iOS με τον διακομιστή ροής του Stremio."}')},608:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Movie","TYPE_series":"Series","TYPE_tv":"TV channel","TYPE_channel":"Channel","TYPE_other":"Other","TYPE_movie_PL":"Movies","TYPE_series_PL":"Series","TYPE_tv_PL":"TV channels","TYPE_channel_PL":"Channels","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Back","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Discover","Board":"Board","Library":"Library","My Library":"My Library","Calendar":"Calendar","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"search","SEARCH_NO_RESULTS":"No results were found","SEARCH_EXPLANATION_CONTENT":"Search for movies, series, YouTube and TV channels","SEARCH_EXPLANATION_PEOPLE":"Search for actors, directors and writers","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Add to Library","REMOVE_FROM_LIB":"Remove from Library","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Watch Trailer","WATCH_NOW":"Watch Now","SHOW":"Show","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb Rating","YEAR":"Year","DIRECTOR":"Director","WRITER":"Writer","LEAD_ACTORS":"Lead Actors","CAST":"Cast","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Aired","SEASONS":"Seasons","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Summary","SHOW_MORE":"Show More","SIMILAR":"Similar","UPCOMING":"Upcoming","TBA":"TBA","ENDED":"Ended","DURATION":"Duration","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"search videos","SEARCH_PLACEHOLDER":"search or paste URL","ADDON":"addon","ADDONS":"Addons","OFFICIAL":"official","ADDONS_OFFICIAL":"Official Stremio Addons","ADDONS_POPULAR":"Popular in your area","ADDON_FREE":"free","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"subscription","ADDON_STREAM_GEORESTRICTED":"not available in your area","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Available Streams","NO_STREAM":"No streams were found","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Show all addons »","ADDON_CATALOGUE_MORE":"Install addons","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons collection already exist","ADDON_REPO_ERR":"Error occurred while adding collection","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Cannot uninstall addon, it is protected","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection URL","ERR_NOT_ADDON_URL":"Not a valid addon URL","ERR_DETECTFROMURL":"Cannot find addon/collection from this URL","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Syncing installed addons to your account failed","SETTINGS_DATA_EXPORT":"Export user data","ADDON_PULL_FAILED":"Syncing installed addons from your account failed","REFRESH_ON_CLICK":"Click to retry","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Movie still in theaters","WATCH_IN_CINEMA":"Watch it in your local cinema","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.<br>Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from local files, YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streaming from","CASTING_TO":"Casting to","NETWORK_STATUS":"Network status","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Waiting:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"loading...","PLAYING_LOCAL":"playing from local file","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Choose a device to watch on","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","NO_OPTIONS":"No options available","PHONE_TABLET":"Phone / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Change subtitles for ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles #{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Season","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"watched","SORT_YEAR":"year","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"last watched","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"most watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"Resume","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"Dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar Winners","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Continue with Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"or","I_ACCEPT":"I accept the","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terms and Conditions","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passwords don\'t match","SIGN_UP":"Sign up","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Log in","LOG_OUT":"Log out","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Wrong email or password. In case you have forgotten your password, ","SET_A_PASS":"set a password","RESET_PASSWORD":"Reset password","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Activate this addon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"What\'s new","BUTTON_CONTINUE":"Continue","BUTTON_ACTIVATE":"Activate","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Cancel","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications & recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series & movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync & Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Language","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"January","February":"February","March":"March","April":"April","May":"May","June":"June","July":"July","August":"August","September":"September","October":"October","November":"November","December":"December","Monday":"Monday","Tuesday":"Tuesday","Wednesday":"Wednesday","Thursday":"Thursday","Friday":"Friday","Saturday":"Saturday","Sunday":"Sunday","Action":"Action","Comedy":"Comedy","War":"War","Family":"Family","Animation":"Animation","Adventure":"Adventure","Fantasy":"Fantasy","Crime":"Crime","Mystery":"Mystery","Romance":"Romance","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Music","Biography":"Biography","Documentary":"Documentary","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occasionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},59661:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filmo","TYPE_series":"Serio","TYPE_tv":"Televida Kanalo","TYPE_channel":"Kanalo","TYPE_other":"Alia","TYPE_movie_PL":"Filmoj","TYPE_series_PL":"Serioj","TYPE_tv_PL":"Televidaj kanaloj","TYPE_channel_PL":"Kanaloj","TYPE_other_PL":"Aliaj","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Malantaŭen","MORE":"Pli","DONE":"Farite","COPY":"Kopii","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Esplori","Board":"Tabulo","Library":"Biblioteko","My Library":"Mia biblioteko","Calendar":"Kalendaro","NOTIFICATION_ONLINE":"Nun vi estas enreta","NOTIFICATION_OFFLINE":"Nune vi estas eksterreta","INTERNET_CONNECTION":"Reta Konekto","STORAGE_FULL_TITLE":"Atentu: Via datumstoro estas plena!","STORAGE_FULL_TEXT":"Stremio ne kapablos savi viajn agordojn, preferojn aŭ ensalut-informacion. Konsideru re-ŝalti aŭ re-instali Stremio-n.","SEARCH":"serĉi","SEARCH_NO_RESULTS":"Neniuj rezultoj trovitaj","SEARCH_EXPLANATION_CONTENT":"Serĉi filmojn, seriojn, Youtube kaj TV-kanalojn","SEARCH_EXPLANATION_PEOPLE":"Serĉi aktorojn, reĝisorojn kaj verkistojn","SEARCH_PASTE_LINKS":"Algui HTTP kaj Magnetajn ligilojn","SEARCH_OR_PASTE_LINK":"Serĉi aŭ alglui ligilon","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Aldoni al Biblioteko","REMOVE_FROM_LIB":"Forigi el Biblioteko","ADDED_TO_LIB":"Aldonite al via Biblioteko","REMOVED_FROM_LIB":"Forigita el via Biblioteko","TRAILER":"Film-anonco (trailer)","WATCH_TRAILER":"Spekti Film-anoncon","WATCH_NOW":"Spekti Nun","SHOW":"Spekti","SHOW_MOVIE":"Montri Filmon","WATCH_RANDOM":"Spekti ion hazarze","IMDB_RATING":"IMDb Poentaro","YEAR":"Jaro","DIRECTOR":"Reĝisoro","WRITER":"Verkisto","LEAD_ACTORS":"Ĉefaj geaktoroj","CAST":"Rolularo","CREW":"Crew","SHOW_MORE_CAST":"Montri pli »","AIRED":"Aerumita","SEASONS":"Sezonoj","GENRE":"Ĝenro","GENRE_ALL":"All genres","CATALOG":"Katalogo","SUMMARY":"Resumo","SHOW_MORE":"Montri pli","SIMILAR":"Simila","UPCOMING":"Venonta","TBA":"TBA","ENDED":"Finiĝita","DURATION":"Daŭro","FEATURED":"Elstara","METADATA":"Metadatoj","CATEGORY":"Kategorio","LINKS_GENRES":"Ĝenroj","LINKS_CAST":"Aktoroj","LINKS_DIRECTORS":"Reĝisoroj","SEARCH_VIDEOS":"serĉi videojn","SEARCH_PLACEHOLDER":"Serĉi aŭ algui ligilon","ADDON":"aldonaĵo","ADDONS":"Aldonaĵoj","OFFICIAL":"oficiala","ADDONS_OFFICIAL":"Oficialaj Stremio-aj Aldonaĵoj","ADDONS_POPULAR":"Populara ĉe via regiono","ADDON_FREE":"senpaga","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abono","ADDON_STREAM_GEORESTRICTED":"Ne disponebla ĉe via regiono","ADDON_STREAM_OFFLINECACHE":"Eksterreta Kaŝmemoro","ADDON_STREAM_LOCALFILE":"loka dosiero","SHARE_ADDON":"Konigi Aldonaĵon","AVAILABLE_STREAMS":"Disponeblaj elsendfluoj","NO_STREAM":"Neniu elsendfluo estis trovita","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"Por trovi pli elsendfluojn, bonvolu instalu pli aldonaĵojn","STREAM_NOT_SUPPORTED":"La elektita elsendfluo ne estas suportata en ĉi plataformo.","ADDON_CATALOGUE":"Montri ĉiujn aldonaĵojn »","ADDON_CATALOGUE_MORE":"Instali aldonaĵojn","REPO_ADDED":"Deponejo aldonita","ADDON_REPO_EXIST_ERR":"Ĉi tiu aldonaĵa kolekto jam ekzistas","ADDON_REPO_ERR":"Eraro okazis dum aldonado de kolekto","ADDON_ADD_ERR":"Eraro okazis dum aldonado de aldonaĵo","ERR_ADDON_PROTECTED":"Oni ne povas malinstali la aldonaĵon, ĝi estas protektita","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Io misfunkciis - aŭtentikigo eble malsukcesis","ERR_NOT_COLLECTION_URL":"Ĉi tiu ne estas URL por kolekto ","ERR_NOT_ADDON_URL":"Ĉi tiu ne estas valida URL por aldonaĵo","ERR_DETECTFROMURL":"Oni ne povas trovi aldonaĵon/kolekton el ĉi tiu URL","ADDON_DUPLICATE_WARNING":"Atentu: duobligita aldonaĵo","ADDON_COLLECTION_SET_FAILED":"Sinkronigado de instalitaj aldonaĵoj al via konto malsukcesis","SETTINGS_DATA_EXPORT":"Eksportu uzantajn datumojn","ADDON_PULL_FAILED":"Sinkronigado de instalitaj aldonaĵoj el via konto malsukcesis","REFRESH_ON_CLICK":"Alklaku por reprovi","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Filmo ankoraŭ en kinejoj","WATCH_IN_CINEMA":"Spektu ĝin ĉe via loka kinejo","IN_THEATER":"Ĉe kinejo","GET_TICKETS":"Aĉeti boletojn","UPCOMING_EPISODE":"Venonta Epizodo","UPCOMING_EPISODE_MESSAGE":"Ĉi tiu epizodo estos elsendita","MISSING_DATE_EPISODE":"Dato de epizodo mankas","MISSING_DATE_EPISODE_MESSAGE":"Eble ĉi tiu epizodo ne elsendiĝis ankoraŭ","CHANNEL_NOT_SCRAPED":"Ĉi tiu kanalo ankoraŭ ne estis akirita.<br>Bonvolu reveni post kelkaj minutoj.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Aldonu ĝin al via biblioteko por ricevi sciigon kiam ĝi estos disponebla.","GET_NOTIFIED_WHEN_AVAILABLE":"Vi estos sciigita kiam ĝi estos disponebla.","WARNING_STREAMING_SERVER":"Atentu: loka elsendfluservilo ne estis trovita. Elsendfluado el lokaj dosieroj, Youtube kaj BitTorrent ne estos disponeblaj.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Atentu: ĉi tiu video eble ne estas subtenita de via aparataro (hardware). Sciu, ke la ludado povas esti malrapida.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Ho ve, ludila eraro!","PLAYER_ERROR_LOOKSLIKE":"Ŝajnas ke","PLAYER_ORIENTATION":"Orientiĝo de la ludilo","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Ŝlosita","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensilo","PLAYER_ORIENTATION_LANDSCAPE":"Orientiĝo de la ludilo ŝlosita kiel pejzaĝa reĝimo","PLAYER_ORIENTATION_SENSOR":"Aŭtomata orientiĝo de la ludilo (per sensilo)","PLAYER_PLAYBACK_SPEED":"Rapideco","PLAYER_PLAYBACK_ERROR":"Ludila eraro, bonvolu reprovi","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Nekonata eraro","PLAYER_PLAYBACK_ERROR_DEFAULT":"Pardonon! Ĉi tiu video ne povas esti ludita per {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Sekvos","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Forĵeti","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Spekti nun","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"elsendado el","CASTING_TO":"Elsendante al","NETWORK_STATUS":"Reta stato","STREAM_SPEED":"Elsendada rapideco:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Atendante:","TRANSCODING_WARNING":"Atentu: transcoding video.","STREAM_LOADING":"ŝargante...","PLAYING_LOCAL":"ludante el loka dosiero","PLAYING_CACHE":"ludante el kaŝmemoro","WRONG_SUBS":"Ĉu malĝustaj subtekstoj?","ERR_SUBS_LOADING_TITLE":"Eraro dum ŝarĝo de subtekstoj","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Elektu aparaton per kiun spekti","NO_CAST_DEVICES":"Ne disponeblas aparatoj por elsendi.","NO_SETTINGS":"Agordoj ne disponeblas.","NO_OPTIONS":"No options available","PHONE_TABLET":"Phone / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtekstoj","SUBTITLES_CHANGE":"Ŝangi subtekstoj por ","SUBTITLES_CHANGE_NONE":"Subtitloj por ĉi lingvo ne disponeblas, pardonon.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles #{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternative,","SUBTITLES_ADJUST_DELAY":"Sinkronigi subtekstoj:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Aŭ uzu <span>G</span> / <span>H</span> klavojn dum ludado por sinkronigi.","SUBTITLES_ADJUST_DELAY_TIP":"KONSILO: vi povas uzi <span>G</span> / <span>H</span> klavojn dum ludado por sinkronigi.","SUBTITLES_DELAY":"Subtekstoj sinkronado:","SUBTITLES_LOADING":"Ŝarĝante subtekstoj...","SUBTITLES_UNAVAILABLE":"Eksteraj subtekstoj ne disponeblas","SUBTITLES_DISABLED":"Malebligita","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sezono","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episodo","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"ordigi","SORT_BY":"Ordigi laŭ ","FILTER":"filtri","SORT_TRENDING":"tendenca","SORT_RECENT":"lastatempa","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"poentaro","SORT_WATCHED":"spektita","SORT_YEAR":"jaro","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Nova por vi","New Episodes":"Novaj Epizodoj","New Videos":"Novaj Videoj","Recommendations":"Rekomendoj","LIBRARY_RESUME":"Daŭrigi","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Detaloj","LIBRARY_RESUME_DISMISS":"Forĵeti","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oskar-premiitoj","DISCOVER_WARNING_TITLE":"Ho ve!","DISCOVER_EMPTY_CATALOG":"Ĉi tiu aldonaĵo resendas malplenan enhavon.","DISCOVER_ADULT_WARNING":"La enhavo estas videbla nur por plenkreskuloj. Ĉu vi estas +18-aĝa?","DISCOVER_NOADDON_WARNING":"Atentu: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"La enhavo ne ŝargis, eraro okazis.","DISCOVER_ADDON_UNINSTALLED":"Ĉi tiu enhavo ne plu disponeblas, vi eble malinstalis la aldonaĵon.","UNINSTALL_THIS_ADDON":"Malinstali ĉi tiun aldonaĵon","ERR_ADDON_NOT_INSTALLED":"Ĉi tiu aldonaĵo ne estas instalita. Instali nun?","DETAIL_RECEIVE_NOTIF_SERIES":"Ricevi sciigoj de novaj epizodoj Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Ricevi sciigoj de novaj videoj","SIDEBAR_SHOW_STREAMS":"Montri elsendojn","RELAUNCH":"Remalfermi nun!","UPGRADE":"Nova versio estas disponebla! Ĝisdatigu Stremio-n a la lasta versio!","RELOAD_UI":"Reŝargi la uzantan interfacon","MANUAL_UPDATE_TITLE":"Ĝisdatigu vian Stremio version","MANUAL_UPDATE_LINE1":"Vi estas uzante malĝisdatiga version de Stremio, kion tute ne estas rekomendita.","MANUAL_UPDATE_LINE2":"Bonvolu ĝisdatigi kiel eble plej baldaŭ.","BUTTON_UPDATE_LATTER":"Ne nun","BUTTON_UPDATE_NOW":"Ĝisdatigi","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonima uzanto","DONT_HAVE_ACC":"Ĉu vi ankoraŭ ne havas konton?","HAVE_ACC":"Ĉu vi jam havas konton?","PASSWORD":"Pasvorto","PASSWORD_CONFIRM":"Konfirmu pasvorton","EMAIL":"Retpoŝto","FB_LOGIN":"Daŭri per Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nenio estas disdonita sen via permeso","FB_NOPOST":"Ni ne afiŝos nenion en via nomo","OR":"aŭ","I_ACCEPT":"Mi akceptas la","I_ACCEPT_BY_CLICKING":"Alklakante la supran butonon mi atestas, ke mi akceptas la ","TOS":"Uzkondiĉoj","MUST_ACCEPT_TERMS":"Vi devas akcepti la uzkondiĉojn","PASSWORDS_NOMATCH":"Pasvortoj ne koincidas","SIGN_UP":"Registriĝi","SIGN_UP_EMAIL":"Registriĝi per retpoŝto","CLICK_TO_SIGN_UP":"Klaku ĉi por ensaluti.","LOG_IN":"Ensaluti","LOG_OUT":"Elsaluti","EXIT_FULLSCREEN":"Malplenekranigi","ENTER_FULLSCREEN":"Plenekranigi","PLAY_URL_MAGNET_LINK":"Ludi URL/Magneta ligilon","HELP_FEEDBACK":"Helpo kaj sugestoj","TERMS_OF_SERVICE":"Serv-kondiĉoj","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"Pri Stremio","USER_PANEL":"Uzantaj agordoj","LOGIN_LABEL":"Login","GUEST_LOGIN":"Ensaluti kiel gasto","GUEST_LOGIN_NOTICE":"Gasta ensaluto ne estas rekomendita. Uzado de regula ensaluto permesas al Stremio sinkronigi vian Bibliotekon, ricevi sciigojn pri viaj plej ŝatataj serioj/kanaloj. Ĉu vi certas, ke vi volas daŭrigi?","GUEST_LOGIN_NOTICE_2":"Gasta ensaluto ne estas rekomendita - vi ne havos sinkronigitajn sciigojn de Biblioteko kaj Estraro, kiuj estas esencaj funkcioj de Stremio. Ĉu vi certas, ke vi volas daŭrigi?","CLICK_HERE":"klaku ĉi-tie","WRONG_PASSWORD":"Erara retpoŝtadreso aŭ pasvorto. Se vi forgesis vian pasvorton, ","SET_A_PASS":"defini pasvorton","RESET_PASSWORD":"Restarigi pasvorton","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Ĉu vi forgesis vian pasvorton?","EMAIL_USED_WITH_FB":"Ĉi tiu retpoŝtadreso jam estis uzata kun Facebook-ensaluto.","INVALID_EMAIL":"Bonvolu entajpi validan retpoŝtadreson","INVALID_PASSWORD":"Bonvolu entajpi validan pasvorton","CONN_ERR":"Eraro de konekto - Bonvolu reprovi poste.\\n\\nSe ĉi tiu eraro daŭras, malŝaltu fajroŝirmilojn/kontraŭvirusajn programojn (precipe Bitdefender).","IMPORT_FROM_GUEST":"Importu Bibliotekon el via gasta konto","RECEIVE_UPDATES_EMAIL":"Ricevu ĝisdatigojn al via retpoŝto de Stremio","LOGIN_FAILED":"Ensaluto malsukcesis.","SIGNUP_FAILED":"Aliĝo malsukcesis.","SEARCH_FAILED":"Serĉo malsukcesis","EMAIL_USED":"Ĉi tiu retpoŝtadreso jam estas uzata.","WAITING_FB_LOGIN":"Ensaluto per Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Ludi per ekstera ludilo","EXTERNAL_REMEMBER_PLAYER":"Ĉu vi volas memori vian selekton","EXTERNAL_ALWAYS_PLAY":"Jes","EXTERNAL_ONLY_ONCE":"Ne","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Diru al ni pri tio, kion vi ŝatas","INTRO_TASTE_LONG":"Diru al ni pri tio, kion vi ŝatus spekti","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Helpu nin lerni pli pri vi.","INTRO_TASTE_CHOOSE_THESE":"Elektu kelkajn el ĉi tiuj:","INTRO_TASTE_CHOOSE_MIN":"Elektu almenaŭ 3 kategoriojn","INTRO_TASTE_CHOOSE_MIN_ERR":"Vi devas elekti almenaŭ 3 kategoriojn!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sportoj","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"Novaĵoj","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Scienco kaj Edukado","INTRO_TASTE_MUSIC":"Musiko","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedio","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Selektita aldonaĵo ne estas subtenata por ĉi tiu platformo.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Ĉu aktivigi ĉi tiun aldonaĵon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Kio estas nova?","BUTTON_CONTINUE":"Continue","BUTTON_ACTIVATE":"Activate","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Cancel","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Forĵeti ĉion","BUTTON_VIEW_ALL":"vidi ĉiujn","BUTTON_SEE_ALL":"Vidi ĉiujn","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications & recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series & movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Importu filmojn aŭ spektaklojn kiujn vi havas ĉe via <span>loka disko</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync & Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Agordoj","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Ludilo","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Malfermi per VLC","SETTINGS_UI_LANGUAGE":"Interfaca Lingvo","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Importi el Facebook","SETTINGS_IMPORT_DISK":"Importi el loka disko","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Peti forigon de konto","SETTINGS_CHANGE_PASSWORD":"Ŝangi pasvorton","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Kontaktu subtenon","SETTING_LANGUAGE":"Lingvo","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"versio","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Fini","CONNECTED":"Konektita","AUTHENTICATE":"Authenticate","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januaro","February":"Februaro","March":"Marto","April":"Aprilo","May":"Majo","June":"Junio","July":"Julio","August":"Aŭgusto","September":"Septembro","October":"Oktobro","November":"Novembro","December":"Decembro","Monday":"Lundo","Tuesday":"Mardo","Wednesday":"Merkredo","Thursday":"Ĵaŭdo","Friday":"Vendredo","Saturday":"Sabato","Sunday":"Dimanĉo","Action":"Agadfilmo","Comedy":"Komedio","War":"Milito","Family":"Familia","Animation":"Animacio","Adventure":"Aventuroj","Fantasy":"Fantasto","Crime":"Krimo","Mystery":"Mistero","Romance":"Romance","Drama":"Dramo","Horror":"Horora Filmo","Thriller":"Suspenso","Sci-Fi":"Sciencfikcio","Music":"Music","Biography":"Biografio","Documentary":"Dokumentario","Sport":"Sport","Musical":"Musical","Western":"Vesterno","Film-Noir":"Film-Noir","News":"News","History":"Historio","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Vivstilo","Science & Education":"Scienco kaj Edukado","Cooking & Health":"Kuirado kaj Sano","Beauty & Fashion":"Beauty & Fashion","Sports":"Sportoj","News & Politics":"Novaĵoj kaj Politiko","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religio","Kids":"Infana","Body & Soul":"Body & Soul","Education":"Edukado","Indian Tv":"Hinda Televido","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Scienca Televido","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"nova video","new episode":"nova epizodo","new movie":"nova filmo","recommended":"rekomendita","we recommend":"ni rekomendas","offer of the day":"offer of the day","news":"novaĵoj","music video":"muzikvideo","CTX_SHOW_HOTKEYS":"Montri Agklavoj","CTX_DISMISS_NOTIF":"Forĵeti sciigojn","CTX_DISMISS_ALL":"Forĵeti ĉion","CTX_SHARE":"Konigi","CTX_COPY_SHARE_LINK":"Kopii ligilon por kunhavigi","CTX_COPY_MAGNET_LINK":"Kopii magnetan ligilon","CTX_COPY_STREAM_LINK":"Kopii elsendfluan ligilon","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Elŝuti ĉi-tiun videon","CTX_DOWNLOAD_SUBS":"Elŝuti subtekstojn","CTX_VIEW_ON_YOUTUBE":"Spekti ĉe Youtube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Spekti ĉe","CTX_WATCH":"Spekti","CTX_WATCHED":"Spektita","CTX_WATCH_BEGINNING":"Spekti ekde la komenco","CTX_WATCH_MOBILE":"Spekti per poŝtelefono","CTX_REWIND":"Rebobeni al komenco","CTX_MARK_WATCHED":"Marki kiel spektita","CTX_MARK_NON_WATCHED":"Marki kiel ne spektita","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Marki la ceterajn kiel rigarditajn","CTX_UNMARK_REST":"Marki la ceterajn kiel ne-spektitajn","CTX_RECEIVE_NEW_NOTIF":"Ricevi novajn sciigojn","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Forigi el kaŝmemoro","CTX_REMOVE_CACHE_EP":"Forigi epizodon el kaŝmemoro","CTX_OPEN_CONTAINING":"Malfermu enhavantan dosierujon","CTX_REMOVE":"Forigi de la biblioteko","CTX_AVAILABLE_OFFLINE":"Disponebla eksterrete","CTX_PAUSED":"Paŭzo","CTX_ALWAYS_ON_TOP":"Ĉiam supre ĉio","CTX_FULLSCREEN":"Plenekrane","CTX_WRONG_SUBS":"Malĝustaj subtekstoj?","CTX_REPORT_ISSUES":"Raporti problemon","CTX_COPY":"Kopii","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Algui","CTX_CLEAR":"Viŝi","CTX_CLEAR_RECENT_SEARCHES":"Viŝi freŝajn serĉojn","HELLO_THERE":"Saluton!","HOPE_YOU_ENJOY":"Ni esperas, ke vi ĝuos Stremio-n kaj ke ĝi jam estas unu el viaj plej ŝatataj aplikaĵoj!","WHO_ARE_WE":"Kiuj ni estas? Ni estas la teamo malantaŭ ĝi - du uloj kiuj intense laboras ĉiutage dum la lastaj 3 jaroj por fari ĉi tiun produkton pli kaj pli bona.","SUPPORT_US":"Se vi ŝatas uzi Stremio, se Stremio estas valora por vi - diskonigu ĝin!","SPREAD_THE_WORD":"Kunhavigu ĝin kun viaj amikoj nun, diskonigu pri Stremio","MORE_PEOPLE":"Ju pli da homoj uzas Stremio-n, des pli bone ĝi fariĝos!","SEND_A_LINK":"Aŭ sendu ligilon al nia retejo","TIP_LOCALFILES":"Konsilo: vi povas ŝovi kaj demeti lokaj videaj dosierojn en Stremio-n","ADDON_MY":"Miaj Aldonaĵoj","ADDON_COMMUNITY":"Komunumaj aldonaĵoj","ADDON_OFFICIAL":"Oficialaj Aldonaĵoj","ADDON_REPOS":"Aldonaĵa kolekto","ADDON_SEARCH":"Serĉi Aldonaĵoj","ADDON_INSTALL":"Instali","ADDON_CONFIGURE":"Agordi","ADDON_UNINSTALL":"Malinstali","ADDON_UPGRADE":"Ĝisdatigi","ADDON_INSTALLED":"Instalita","ADDON_INSTALLED_MSG":"Aldonaĵo instalita!","ADDON_UPGRADED_MSG":"Aldonaĵo ĝisdatita!","ADDON_UNKNOWN":"Nekonata","ADDON_ERR":"Aldonaĵ-instalado eraro!","ADDON_DISCONNECTED":"Malkonektita","ADDON_APP_MISSING":"la aplikaĵo por ĉi tiu fonto ne estas instalita. Ĉu vi volas instali ĝin nun?","ADDON_APP_INSTALL":"Instali nun","ADDON_PAGE":"Paĝo de la aldonaĵo","ADDON_TOP_CONTENT":"La plej bona de ĉi tiu aldonaĵo","ADDON_PROVIDES":"Ĉi tiu aldonaĵo donos al vi:","ADDON_WATCH":"Spekti #{types} nun!","ADDON_WATCH_FREE":"Spekti #{types} SENPAGE nun!","ADDON_ADDON":"Aldonaĵo","ADDON_SUPPORTED_TYPES":"Subtenataj tipoj","ADDON_SUPPORTED_CATALOGS":"Subtenataj katalogoj","ADDON_PROVIDES_DISCOVER":"Pli da #{types} en Discover","ADDON_PROVIDES_STREAMS":"Spekti #{types}","ADDON_PROVIDES_STREAMS_FREE":"Spekti #{types} SENPAGE","ADDON_PROVIDES_SUBTITLES":"Subtekstoj al #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Neniu informo trovita pri tio ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Daŭre spekti","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmoj elektitaj speciale por vi.<br />Ĉi tiu filmo estas ekzempla rekomendo.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Spektu tuj!","WEBSITE_SLOGAN_ALL":"La tuta video-enhavo, kiun vi ĝuas en unu loko","WEBSITE_SLOGAN_NEW":"Ĉio, kion vi povas spekti","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Spekti el","WEBSITE_DOWNLOAD":"Elŝuti nun!","WEBSITE_DOWNLOAD_FOR":"Elŝutu Nun Por","WEBSITE_IS_DESKTOP":"Stremio estas komputila aplikaĵo, malfermu ĉi tiun paĝon je via komputilo kaj elŝutu ĝin","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Hejmo","WEBSITE_PAGE_FEATURES":"Funkcioj","WEBSITE_PAGE_ADDONS":"Aldonaĵoj","WEBSITE_PAGE_TECH":"Teknologio","WEBSITE_PAGE_CREATE_ADDON":"Kreu aldonaĵon","WEBSITE_PAGE_CONTACTS":"Kontaktoj","WEBSITE_PAGE_BLOG":"Blogo","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmog","WEBSITE_TYPE_series_PL":"Filmoj","WEBSITE_TYPE_tv":"Viva televido","WEBSITE_TYPE_channel":"Kanaloj","WEBSITE_STREMIO_WHAT_IS":"Stremio estas aplikaĵo, kiu helpas vin organizi kaj tuj spekti viajn plej ŝatatajn videojn, filmojn, televidseriojn kaj televidkanalojn..","WEBSITE_FEATURES_WATCH":"Spektu tuj en HD","WEBSITE_FEATURES_WATCH_DETAIL":"Alklaku kaj ludu viajn plej ŝatatajn filmojn, televidajn programojn, filmetojn kaj televidajn kanalojn.","WEBSITE_FEATURES_SUBS":"Aŭtomataj Subtekstoj","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Importi el Facebook","WEBSITE_LIB_LOCAL":"Aldonu el via loka disko","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"Ni amas teknologion, ni amas frenezan sciencon!\\nStremio uzas la jenajn malfermitkodajn teknologiojn","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donaci Bitcoin:","WEBSITE_FAQ":"Plej Oftaj Demandoj","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Demandoj","WEBSITE_TOS":"Uzkondiĉoj","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"Pri","WEBSITE_PAGE_BECOME_PARTNER":"Iĝu partnero","WEBSITE_ALL_YOU_CAN_WATCH":"Libereco por Spekti\\nĈion Kion Vi Volas.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Kio estas Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio estas kompleta centro por videoenhava kolektado. Malkovru, organizu kaj spektu filmetojn el ĉiaj fontoj sur iu ajn aparato, kiun vi posedas.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio estas moderna aŭdvidaĵa centro, integrala solvo por via amuziĝo. Vi povas malkovri, spekti kaj organizi video-enhavon per facile instaleblaj aldonaĵoj.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmoj, televidaj programoj, viva televido aŭ retkanaloj - Stremio disponigas por vi ĉion ĉi.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importi el facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Aliĝu al la festo nun","WEBSITE_DEVICES_ALL":"Facile uzebla en ĉiuj viaj aparatoj;","WEBSITE_EXTENDABLE_CATALOG":"Senfine etendebla videokatalogo;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Mojosaj funkcioj por organizi viajn aŭdvidaĵojn;","WEBSITE_AS_SEEN_ON":"Kiel vi vidis ĝin en","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Pri ni","WEBSITE_LINK_TECHNOLOGY":"Teknologio","WEBSITE_LINK_APPS":"Aplikaĵoj","WEBSITE_LINK_DOWNLOADS":"Elŝutoj","WEBSITE_MORE":"Pli","WEBSITE_LINK_ADDONS":"Aldonaĵoj","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Kontribuu","WEBSITE_LINK_COMMUNITY":"Komunumo","WEBSITE_LINK_BLOG":"Blogo","WEBSITE_MORE_MORE":"... kaj pli","WEBSITE_LINK_HELP":"Helpcentro","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privatecaj politikoj","WEBSITE_SUBSCRIBE":"Aboni","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Via Retpoŝto","WEBSITE_COMMUNITY":"Komunumo","WEBSITE_LINK_PRAVACY_LEGAL":"Privateco kaj legalaĵo","WEBSITE_WHY":"Kial ni faras kion ni faras","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAMO","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Funkcioj","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Facile malkovru novan enhavon","WEBSITE_FEATURES_DISCOVER_P":"Facile esplori novaj filmoj, televidaj spektakloj, serioj kaj kanaloj por spekti. Serĉu laŭ kategorio, ĝenro, poentaro, lastatempeco, noveco, ktp. aŭ simple tajpu nomon por trovi. Stremio faciligas trovante novan videoenhavon tre facile.","WEBSITE_FEATURES_ALL_CONTENT":"Ĉiuj viaj videoenhavoj en unu ekrano","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organizu vian videobibliotekon","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Ĝuu vian videon enhavon sur granda ekrano","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Spektu videon el multaj diversaj fontoj","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Kreu aldonaĵon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Spektu Netflix-aj filmoj kaj ret-serioj.","WEBSITE_ADDONS_CREATE":"Kreu aldonaĵon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Elŝutoj","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Kontribuu","WEBSITE_CONTRIBUTE_P1":"La platformo Stremio estas liberafontkoda kaj vi povas facile krei aldonaĵo por enhavo kiu ne estas indeksita ankoraŭ.","WEBSITE_CONTRIBUTE_WHY":"Kial vi devus krei aldonaĵon?","WEBSITE_CONTRIBUTE_WHY_P1":"Atingu nova spektantaro por via videoenhavo","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Iĝu volontula tradukisto","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Ĉu vi avidas por komenci?","WEBSITE_TRANSALTE_STREMIO":"Traduku Stremio-n","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Komunuma Artgalerio","WEBSITE_LINK_ART":"Komunuma artgalerio","WEBSITE_CONTACT_US":"Kontaktu nin","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Bonvolu entajpi vian retpoŝton!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Pri kio temas via demando?","WEBSITE_CONTACT_US_Q_OS":"Kiu estas via Operaciumo?","WEBSITE_CONTACT_US_PH_EMAIL":"Via Retpoŝto","WEBSITE_CONTACT_US_PH_MESSAGE":"Mesaĝo","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SENDI","WEBSITE_CONTACT_US_Q_1":"Kiel instali","WEBSITE_CONTACT_US_Q_2":"Kiel malinstali?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Aldonaĵoj","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknologio","WEBSITE_TECHNOLOGY_P1":"Ni amas teknologion kaj frenezan sciencon. </br> Jen kio ebligas Stremio-n (ĉio estas malfermitkoda).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"Senpaga, malfermitfonta kaj plurplatforma plurmedia ludilo.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Kontribuu al la projekto","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Estas du manieroj per kiuj vi povas kontribui kun Stremio kaj helpi al ni plibonigi ĝin eĉ pli!.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Vi povas donaci viajn valorajn lingvokapablojn tradukante la platformon...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"aŭ","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... vi povas uzi viajn programadajn kapablojn por krei komunumajn aldonaĵojn. ","WEBSITE_TRANSLATE_STREMIO":"Traduku Stremio-n","WEBSITE_404_OH_NO":"Ho ve! La paĝo kiu vi serĉas ne estas ĉi tie...","WEBSITE_GO_HOME":"Iru hejmen","WEBSITE_LINK_OTHER_DOWNLOADS":"Aliaj elŝut-opcioj","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Subteni","WEBSITE_DOWNLOAD_4_0_BETA":"Elŝutu Stremio-n 4 beta nun!","WEBSITE_GET_FOR_DESKTOP":"Akiru ĝin por komputilo","WEBSITE_LINK_ADDON_COMPETITION":"Aldonaĵa konkurso","WEBSITE_LINK_ART_CONTEST":"Arta konkurso","WEBSITE_MY_ACCOUNT":"Mia konto","WEBSITE_MAINPAGE_FAQ_001_H1":"Kio estas Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio estas moderna plurmedia centro, kiu donas al vi la liberon spekti ĉion, kion vi volas.","WEBSITE_MAINPAGE_FAQ_002_H1":"Kiel ĝi funkcias?","WEBSITE_MAINPAGE_FAQ_002_P1":"Post kiam vi instalos Stremio sur via aparato kaj kreos konton, vi nur devas viziti la katalogon de aldonaĵoj kaj instali ajnan aldonaĵon, kiun vi volas, kaj vi estas bona por preta por ekkomenci!","WEBSITE_MAINPAGE_FAQ_002_P2":"Post tio, vi povas iri al la sekcioj Discover aŭ Board por komenci esplori enhavon.","WEBSITE_MAINPAGE_FAQ_003_H1":"Kion mi povas spekti ĉi tie?","WEBSITE_MAINPAGE_FAQ_003_P1":"Multaĵon: Filmoj, Televidaj Spektakloj, Retaj Kanaloj, Sporto, Televidaj kanaloj, aŭskulti Podkastojn kaj multe pli. Danke al nia aldonaĵa sistemo, vi povas akiri ĉiajn enhavojn.","WEBSITE_MAINPAGE_FAQ_004_H1":"Ĉu Stremio estas malfermitkoda?","WEBSITE_MAINPAGE_FAQ_004_P1":"Jes, vi povas viziti la jenajn ligilojn: ${1}desktop app${2} kaj ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Ĉu estas Stremio sekura?","WEBSITE_MAINPAGE_FAQ_005_P1":"Jes: ĉar ĝi estas libera programaro, la kodo estas publike alirebla kaj vi mem povas revizii ĝin.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Kio pri mia privateco?","WEBSITE_MAINPAGE_FAQ_006_P1":"Ni respektas la privateco de la uzantoj, tial ni ne kolektas nenian personalan datumon, krom la minimunon esencialan por krei kaj sinkronigi vian konton.","WEBSITE_MAINPAGE_FAQ_006_P2":"Ankaŭ ekzistas ${1}Gasta reĝimo${2} ĉe la aliĝo, kiu postulas neniujn datumojn: en ĉi tiu reĝimo, neniuj vokoj estas faritaj al nia servilo. Tamen, ĝi forĵetas utilajn funkciojn, kiel sinkronigi vian bibliotekon inter aparatoj.","WEBSITE_MAINPAGE_FAQ_007_H1":"Ĉu mi povas elsendi al mia televidilo?","WEBSITE_MAINPAGE_FAQ_007_P1":"Jes, ni subtenas Chromecast-on kaj vi povas elsendi el kaj labortablaj kaj el poŝtelefonaj aplikaĵoj (Android)..","WEBSITE_MAINPAGE_FAQ_008_H1":"Kiom da aldonaĵoj Stremio havas?","WEBSITE_MAINPAGE_FAQ_008_P1":"Je 2019, pli ol 50 - por plia informo, vidu nian aldonaĵan katalogon.","WEBSITE_MAINPAGE_FAQ_009_H1":"Ĉu Stremio povas esti etendita preter kio estas en la aldonaĵa katalogo?","WEBSITE_MAINPAGE_FAQ_009_P1":"jes, vi povas rigardi la jenajn: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, ktp.","WEBSITE_MAINPAGE_FAQ_010_H1":"Kiujn aparatojn Stremio subtenas?","WEBSITE_MAINPAGE_FAQ_010_P1":"Ni havas labortablaj aplikaĵoj por Vindozo, Mac kaj Linukso. Por poŝtelefono, ni subtenas Android kaj iOS, kvankam konsciu, ke iOS estas limigita en funkcioj (ne subtenas la plejmultajn aldonaĵojn).","WEBSITE_MAINPAGE_FAQ_010_P2":"Estas multaj Android-bazitaj aparatoj sur kiuj vi povas ruli Stremio-n, kiel NVIDIA Shield kaj Amazon Fire Stick, sed ni ne oficiale subtenas ilin.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Ĉu vi povas aldoni certan enhavon al Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Pardonu, ni mem provizas neniun enhavon, sed ju pli da Stremio-aldonaĵoj vi instalos, des pli da enhavo vi povos trovi.","WEBSITE_MAINPAGE_FAQ_012_H1":"Ĉu Stremio povas ludi magnetligojn","WEBSITE_MAINPAGE_FAQ_012_P1":"Jes, kaj ĝi ankaŭ povas ludi normalajn HTTP-ligilojn kaj torentajn dosierojn (ŝovi kaj demeti).","WEBSITE_MAINPAGE_FAQ_013_H1":"Ĉu mi povas elŝuti videon kaj spekti ĝin eksterrete?","WEBSITE_MAINPAGE_FAQ_013_P1":"Eksterreta disponebleco estas venonta funkcio, sed se vi permesas al Stremio konservi kaŝmemoron en via aparato (ĉe la agorda panelo) vi povas spekti la videojn senkonekte.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nenio funkcias, helpu min!","WEBSITE_MAINPAGE_FAQ_014_P1":"Ĉu vi certas, ke vi instalis aldonaĵojn? Se jes, iru al nia ${1}helpcentro${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Kiel Stremio subtenas ĝian programadon?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ni prezentas netrudemajn reklamojn foje, sed ni pripensas translokiĝi al donacmodelo.","WEBSITE_MAINPAGE_FAQ_015_P2":"Se vi havas pliaj demandoj, iru al nia ${1}helpcentro${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Montri malpli","LAST_SEARCHES":"Lastaj serĉoj","CLEAR_HISTORY":"Forigi serĉhistorion","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"Pli da informo ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Serĉi","STREMIO_TV_NAV_HOME":"Hejmo","STREMIO_TV_NAV_DISCOVER":"Esplori","STREMIO_TV_NAV_LIBRARY":"Biblioteko","STREMIO_TV_NAV_MOVIES":"Filmoj","STREMIO_TV_NAV_SERIES":"Serioj","STREMIO_TV_NAV_CHANNELS":"Kanaloj","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Agordoj","STREMIO_TV_NAV_ADDONS":"Aldonaĵoj","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Reprovi","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"Kio estas Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"Kiel Stremio komparas al Kodi kaj al Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"Kiel Stremio komparas al Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"Kiel Stremio komparas al Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"Kiel Stremio komparas al Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Ĉu vi aldonos ĉi tiun filmon/serion?","FAQ_06_P1":"Ne, pardonon :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"Kiel mi povas krei aldonaĵon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Kie estas la kaŝmemora dosiero?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},96413:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Película","TYPE_series":"Series","TYPE_tv":"TV","TYPE_channel":"Youtube","TYPE_other":"Otros","TYPE_movie_PL":"Películas","TYPE_series_PL":"Series","TYPE_tv_PL":"Canales de TV","TYPE_channel_PL":"Canales","TYPE_other_PL":"Otros","TYPE_ALL":"Todo","TYPE":"Tipo","CATALOG_com_linvo_cinemeta_top":"Populares","CATALOG_com_linvo_cinemeta_imdbRating":"Destacadas","CATALOG_com_linvo_cinemeta_year":"Nuevas","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Películas de Dominio Público","VIDEO":"Video","BACK":"Atrás","MORE":"Más","DONE":"Listo","COPY":"Copiar","SUCCESS":"Éxito","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Modo de emisión","CASTING_MODE_HLSV2":"Por defecto","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Sin transcodificación","Discover":"Descubrir","Board":"Panel","Library":"Biblioteca","My Library":"Mi Biblioteca","Calendar":"Calendario","NOTIFICATION_ONLINE":"Actualmente estás en línea","NOTIFICATION_OFFLINE":"Actualmente no estás conectado","INTERNET_CONNECTION":"Conexión de red","STORAGE_FULL_TITLE":"Advertencia: ¡Almacenamiento lleno!","STORAGE_FULL_TEXT":"Stremio no podrá guardar su configuración, preferencias o información de inicio de sesión. Considere reiniciar o reinstalar Stremio.","SEARCH":"Buscar","SEARCH_NO_RESULTS":"No se encontraron resultados","SEARCH_EXPLANATION_CONTENT":"Buscar películas, series, Canales de Youtube y TV","SEARCH_EXPLANATION_PEOPLE":"Buscar por actores, directores y escritores","SEARCH_PASTE_LINKS":"Pegar un enlace HTTP o enlace magnético","SEARCH_OR_PASTE_LINK":"Buscar o pegar enlace","SEARCH_SUGGESTIONS":"Buscar sugerencias","ADD_TO_LIB":"Añadir a la biblioteca","REMOVE_FROM_LIB":"Eliminar de la biblioteca","ADDED_TO_LIB":"Añadido a la biblioteca","REMOVED_FROM_LIB":"Eliminado de la biblioteca","TRAILER":"Avance","WATCH_TRAILER":"Ver avance","WATCH_NOW":"Ver ahora","SHOW":"Ver","SHOW_MOVIE":"Mostrar película","WATCH_RANDOM":"Ver al azar","IMDB_RATING":"Calificación de IMDb","YEAR":"Año","DIRECTOR":"Director","WRITER":"Escritor","LEAD_ACTORS":"Actores principales","CAST":"Reparto","CREW":"Equipo técnico","SHOW_MORE_CAST":"Ver más »","AIRED":"Salió al aire:","SEASONS":"Temporadas","GENRE":"Género","GENRE_ALL":"Todos los géneros:","CATALOG":"Catálogo","SUMMARY":"Resumen","SHOW_MORE":"Ver más","SIMILAR":"Similar","UPCOMING":"Próximamente","TBA":"TBA","ENDED":"Terminado","DURATION":"Duración","FEATURED":"Destacado","METADATA":"Metadatos","CATEGORY":"categoría","LINKS_GENRES":"Géneros","LINKS_CAST":"Reparto","LINKS_DIRECTORS":"Directores","SEARCH_VIDEOS":"buscar videos","SEARCH_PLACEHOLDER":"buscar o pegar URL","ADDON":"complemento","ADDONS":"Complementos","OFFICIAL":"oficial","ADDONS_OFFICIAL":"Complementos Oficiales","ADDONS_POPULAR":"Popular en tu región","ADDON_FREE":"gratis","ADDON_PEERED":"compartido","ADDON_SUBSCRIPTION":"suscripción","ADDON_STREAM_GEORESTRICTED":"no está disponible en su región","ADDON_STREAM_OFFLINECACHE":"Caché sin conexión","ADDON_STREAM_LOCALFILE":"Archivo Local","SHARE_ADDON":"Compartir complemento","AVAILABLE_STREAMS":"Transmisiones Disponibles","NO_STREAM":"No se encontraron transmisiones ","ALL_ADDONS":"Todos","INSTALL_MORE_ADDONS":"Para más transmisiones, por favor instale más complementos","STREAM_NOT_SUPPORTED":"La transmisión seleccionada no es soportada en esta plataforma.","ADDON_CATALOGUE":"Mostrar todos los complementos »","ADDON_CATALOGUE_MORE":"Instalar complementos","REPO_ADDED":"Repositorio agregado","ADDON_REPO_EXIST_ERR":"Este repositorio de complementos ya existe","ADDON_REPO_ERR":"Error ocurrido mientras agregaba repositorio","ADDON_ADD_ERR":"Error agregado mientras agregaba complemento","ERR_ADDON_PROTECTED":"No puedes desinstalar este complemento, esta protegido","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Algo ha salido mal - la autenticación pudo haber fallado","ERR_NOT_COLLECTION_URL":"No es una URL de colección","ERR_NOT_ADDON_URL":"No es una URL de complemento","ERR_DETECTFROMURL":"No se puede encontrar un complemento o coleccion desde esta URL","ADDON_DUPLICATE_WARNING":"Advertencia: complemento duplicado","ADDON_COLLECTION_SET_FAILED":"La sincronización de los complementos instalados en tu cuenta ha fallado","SETTINGS_DATA_EXPORT":"Exportar datos de usuario","ADDON_PULL_FAILED":"La sincronización de los complementos instalados desde tu cuenta ha fallado","REFRESH_ON_CLICK":"Hacer clic para intentarlo de nuevo","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Película aún en cines","WATCH_IN_CINEMA":"Véalo en su cine favorito","IN_THEATER":"En el cine","GET_TICKETS":"Conseguir entradas","UPCOMING_EPISODE":"Próximo episodio","UPCOMING_EPISODE_MESSAGE":"El próximo episodio se emitirá el","MISSING_DATE_EPISODE":"No existe la fecha de este episodio","MISSING_DATE_EPISODE_MESSAGE":"Es posible que este episodio no se haya emitido todavía","CHANNEL_NOT_SCRAPED":"Este canal aún no está habilitado.<br>Por favor, vuelve en unos minutos.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Añádelo a tu biblioteca para ser notificado una vez que esté disponible.","GET_NOTIFIED_WHEN_AVAILABLE":"Recibirá una notificación cuando esté disponible.","WARNING_STREAMING_SERVER":"Advertencia: Servidor de transmisión local no encontrado. La transmisión desde archivos locales, YouTube y BitTorrent no estará disponible.","WARNING_STREAMING_SERVER_DISMISS":"Descartar","WARNING_STREAMING_SERVER_LATER":"Después","DECODER_WARNING":"Advertencia: este video podría no ser soportado por su hardware. Tenga en cuenta que la reproducción podría ser lenta.","GENERIC_ERROR_MESSAGE":"¡Algo salió mal!","TRY_AGAIN":"Intentar nuevamente","CLEAR_DATA":"Limpiar datos","PLAYER_ERROR":"Ups!, ha ocurrido un error en el reproductor","PLAYER_ERROR_LOOKSLIKE":"Parece que","PLAYER_ORIENTATION":"Orientación del reproductor","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Bloqueada","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Orientación del reproductor está bloqueada en modo horizontal","PLAYER_ORIENTATION_SENSOR":"Orientación del reproductor automática (sensor)","PLAYER_PLAYBACK_SPEED":"Velocidad de reproducción","PLAYER_PLAYBACK_ERROR":"Error de reproducción, por favor inténtalo de nuevo","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Error desconocido","PLAYER_PLAYBACK_ERROR_DEFAULT":"Lo sentimos, este video no puede ser reproducido por {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Idiomas de los subtítulos","PLAYER_SUBTITLES_VARIANTS":"Variantes de subtítulos","PLAYER_SUBTITLES_SETTINGS":"Configuración de subtítulos","PLAYER_SUBTITLES_DISABLED":"Los subtítulos están deshabilitados","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posición vertical","PLAYER_SUBTITLES_LOADED":"Subtitulos cargados","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Subtitulos incrustados cargados","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Subtitulos exclusivos cargados","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitulos desde {{origin}} cargados","PLAYER_PLAY":"Reproducir","PLAYER_PAUSE":"Pausa","PLAYER_NEXT_VIDEO":"Siguiente vídeo","PLAYER_MUTE":"Silenciar","PLAYER_UNMUTE":"Activar sonido","PLAYER_OPEN_IN_EXTERNAL":"Abrir en reproductor externo","PLAYER_OPEN_IN_NPLAYER":"Abrir en nPlayer","PLAYER_PLAY_IN":"Reproducir en {{device}}","PLAYER_LIVE":"En vivo","PLAYER_NEXT_VIDEO_TITLE":"A continuación en","PLAYER_NEXT_VIDEO_TITLE_SHORT":"A continuación","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Descartar","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Ver ahora","PLAYER_COPY_STREAM_SUCCESS":"El enlace de la transmisión se copió en tu portapapeles.","PLAYER_COPY_STREAM_ERROR":"No se pudo copiar el enlace de la transmisión","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"El enlace de descarga fue copiado a tu portapapeles","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Error al copiar enlace de descarga","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Transmitiendo desde","CASTING_TO":"Transmitiendo a","NETWORK_STATUS":"Estado de la red","STREAM_SPEED":"Velocidad de la transmisión:","STREAM_BUFFERED":"Almacenado:","PEERS_INFO":"Información de pares","PEERS_ACTIVE":"Activos:","PEERS_CONNECTED":"Conectados:","PEERS_WAITING":"Esperando:","TRANSCODING_WARNING":"Alerta: transcodificando video.","STREAM_LOADING":"cargando...","PLAYING_LOCAL":"reproduciendo desde archivo local","PLAYING_CACHE":"reproduciendo desde la memoria caché","WRONG_SUBS":"¿Subtítulos erróneos?","ERR_SUBS_LOADING_TITLE":"Error cargando subtítulos","ERR_SUBS_LOADING":"Error al cargar los subtítulos: esto podría ser un problema con el complemento que está utilizando o con su conexión de internet","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Los siguientes complementos de subtítulos fallaron","ERR_CASTING_UPDATE_TITLE":"No se pudo actualizar la información del dispositivo de transmisión: el servidor de transmisión puede estar fuera de línea","CHOOSE_DEVICE":"Elija un dispositivo para ver","NO_CAST_DEVICES":"No hay dispositivos de transmisión disponibles.","NO_SETTINGS":"No hay configuraciones disponibles.","NO_OPTIONS":"No options available","PHONE_TABLET":"Móvil / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtítulos","SUBTITLES_CHANGE":"Cambiar subtítulos por ","SUBTITLES_CHANGE_NONE":"Lo siento, no hay otros subtítulos para este idioma.","SUBTITLES_CHANGE_ACIVE":"Actualmente los subtítulos #{{subtitlesDialog.activeIdx + 1}} están activados. Haga clic en \\"Continuar\\" para activar los subtítulos #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativamente,","SUBTITLES_ADJUST_DELAY":"Ajuste de retraso de subtítulos:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"O utilice las teclas <span>G</span> / <span>H</span> durante la reproducción para ajustar.","SUBTITLES_ADJUST_DELAY_TIP":"Nota: Puede usar las teclas <span>G</span> / <span>H</span> durante la reproducción para ajustar.","SUBTITLES_DELAY":"Retraso de subtítulos:","SUBTITLES_LOADING":"Cargando subtítulos...","SUBTITLES_UNAVAILABLE":"No hay subtítulos externos disponibles","SUBTITLES_DISABLED":"Desactivado","EXTERNAL_PLAYER_DISABLED":"Desactivado","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permitir elegir","EXTERNAL_PLAYER_HINT":"Consejo: Existe una configuración que permite abrír siempre con un reproductor externo","DONT_SHOW_AGAIN":"No mostrar de nuevo","SERVICE_INSTALL":"Instalar","AUDIO":"Audio","DEFAULT_LANGUAGE":"Idioma por defecto","DEFAULT_SECONDARY_LANGUAGE":"Idioma secundario por defecto","SEASON":"Temporada","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episodio","EPISODE_ABBREVIATION":"EP","SPECIAL":"Especial","SORT":"ordenar","SORT_BY":"Ordenar por","FILTER":"filtrar","SORT_TRENDING":"tendencias","SORT_RECENT":"reciente","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"calificación","SORT_WATCHED":"visto","SORT_YEAR":"año","SELECT":"Select","SELECT_TYPE":"Seleccionar tipo","SELECT_SORT":"Seleccionar orden","SELECT_CATALOG":"Seleccionar catálogo","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Seleccionar género","SORT_LASTWATCHED":"Por último visto","SORT_NAME":"Por nombre","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Por veces vista","SORT_NOTWATCHED":"not watched","New for You":"Nuevo para ti","New Episodes":"Nuevos Episodios","New Videos":"Nuevos Videos","Recommendations":"Recomendaciones","LIBRARY_RESUME":"Reanudar","LIBRARY_PLAY":"Reproducir","LIBRARY_DETAILS":"Detalles","LIBRARY_RESUME_DISMISS":"Descartar","LIBRARY_CLEAR_PROGRESS":"Limpiar progreso","LIBRARY_REMOVE":"Eliminar","LIBRARY_NOT_LOGGED_IN":"La biblioteca sólo está disponible para usuarios conectados","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"El calendario sólo está disponible para usuarios conectados","NOT_LOGGED_IN_CLOUD":"Acceda a sus películas y programas de televisión favoritos en cualquier momento y lugar","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomendaciones personalizadas basadas en tu historial de visualización","NOT_LOGGED_IN_NOTIFICATIONS":"No vuelva a perderse un episodio","NOT_LOGGED_IN_CALENDAR":"Programe su calendario de visualización personal","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Destacado","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Ganadores del Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Esta extensión no retornó contenido.","DISCOVER_ADULT_WARNING":"El contenido es visible solo para adultos. ¿Eres mayor de 18 años?","DISCOVER_NOADDON_WARNING":"Advertencia: no hay un complemento de Stremio activo para este tipo. Se muestran elementos guardados, nada aquí se actualizará","DISCOVER_LOAD_ERR":"El contentido no se cargó, ocurrió un error.","DISCOVER_ADDON_UNINSTALLED":"Este contenido ya no está disponible, es posible que hayas desinstalado el complemento.","UNINSTALL_THIS_ADDON":"Desinstalar este complemento","ERR_ADDON_NOT_INSTALLED":"Este complemento no está instalado. ¿Instalar ahora?","DETAIL_RECEIVE_NOTIF_SERIES":"Recibir notificaciones de nuevos episodios","DETAIL_RECEIVE_NOTIF_VIDEOS":"Recibir notificaciones de nuevos videos","SIDEBAR_SHOW_STREAMS":"Mostrar transmisiones","RELAUNCH":"¡Relanzar ahora!","UPGRADE":"¡Una nueva versión está disponible! Actualiza a la versión más reciente de Stremio","RELOAD_UI":"Recargar la interfaz de usuario","MANUAL_UPDATE_TITLE":"Actualice su versión de Stremio","MANUAL_UPDATE_LINE1":"Está ejecutando una versión desactualizada de Stremio lo cual no se recomienda.","MANUAL_UPDATE_LINE2":"Por favor, actualice lo antes posible.","BUTTON_UPDATE_LATTER":"Ahora no","BUTTON_UPDATE_NOW":"Actualizar","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Usuario anónimo","DONT_HAVE_ACC":"¿No tienes una cuenta?","HAVE_ACC":"¿Ya tiene una cuenta?","PASSWORD":"Contraseña","PASSWORD_CONFIRM":"Confirme su contraseña","EMAIL":"Correo electrónico","FB_LOGIN":"Continuar con Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nada será compartido sin su permiso","FB_NOPOST":"No publicaremos nada en su nombre","OR":"o","I_ACCEPT":"Yo acepto los","I_ACCEPT_BY_CLICKING":"Al hacer clic en el botón de arriba testifico que acepto los ","TOS":"Términos y Condiciones","MUST_ACCEPT_TERMS":"Debes aceptar los términos","PASSWORDS_NOMATCH":"Las contraseñas no coinciden","SIGN_UP":"Regístrate","SIGN_UP_EMAIL":"Regístrese con un correo electrónico","CLICK_TO_SIGN_UP":"Clic aquí para registrarse.","LOG_IN":"Iniciar sesión","LOG_OUT":"Cerrar sesión","EXIT_FULLSCREEN":"Salir de modo pantalla completa","ENTER_FULLSCREEN":"Entrar en modo pantalla completa","PLAY_URL_MAGNET_LINK":"Reproducir URL/enlace magnético","HELP_FEEDBACK":"Ayuda y retroalimentación","TERMS_OF_SERVICE":"Términos del servicio","PRIVACY_POLICY":"Política de privacidad","ABOUT_STREMIO":"Sobre Stremio","USER_PANEL":"Panel de usuario","LOGIN_LABEL":"Acceder","GUEST_LOGIN":"Acceder como invitado","GUEST_LOGIN_NOTICE":"Acceder como invitado no es recomendable. Ingresar con tu cuenta le permite a Stremio sincronizar tu Biblioteca y recibir notificaciones para tus series/canales favoritos. ¿Estás seguro de que quieres continuar?","GUEST_LOGIN_NOTICE_2":"Acceder como invitado no es recomendable - no se sincronizaran las notificaciones de la Biblioteca y el Panel, que son carácterísticas vitales de Stremio. ¿Seguro que desea continuar?","CLICK_HERE":"clic aquí","WRONG_PASSWORD":"Correo electrónico y/o contraseña incorrectos. En caso de que haya olvidado su contraseña, ","SET_A_PASS":"establecer una contraseña","RESET_PASSWORD":"Restablecer contraseña","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"¿Olvidaste tu contraseña?","EMAIL_USED_WITH_FB":"Este correo electrónico ya fue utilizado con un inicio de sesión de Facebook.","INVALID_EMAIL":"Por favor, ingrese un correo electrónico válido","INVALID_PASSWORD":"Por favor, ingrese una contraseña válida","CONN_ERR":"Error de conexión - por favor, inténtelo de nuevo más tarde.\\n\\nSi esto persiste, desactivar programas cortafuegos / antivirus (especialmente Bitdefender).","IMPORT_FROM_GUEST":"Importar Biblioteca desde su cuenta de invitado","RECEIVE_UPDATES_EMAIL":"Recibe novedades de Stremio en tu correo electrónico","LOGIN_FAILED":"Error al iniciar sesión.","SIGNUP_FAILED":"Error al registrarse.","SEARCH_FAILED":"Error al buscar","EMAIL_USED":"Este correo electrónico ya está en uso.","WAITING_FB_LOGIN":"Iniciando sesión con Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Reproducir en reproductor externo","EXTERNAL_REMEMBER_PLAYER":"¿Quieres recordar tu elección?","EXTERNAL_ALWAYS_PLAY":"Si","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Mejor Ajuste","FIT_SCREEN":"Ajustar a la pantalla","FILL":"Rellenar","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Cuéntanos de tus gustos","INTRO_TASTE_LONG":"Cuéntanos que te gustaría ver","INTRO_TASTE_PICK":"Selecciona {{interestsRemaining}} intereses","INTRO_TASTE_PICK_MORE":"Selecciona {{interestsRemaining}} más intereses","INTRO_TASTE_HELP_US":"Ayúdanos a saber más de ti.","INTRO_TASTE_CHOOSE_THESE":"Escoge algunos de estos:","INTRO_TASTE_CHOOSE_MIN":"Escoge al menos 3 categorías","INTRO_TASTE_CHOOSE_MIN_ERR":"¡Tienes que seleccionar al menos 3 categorías!","INTRO_TASTE_LIFESTYLE":"Estilo de vida","INTRO_TASTE_SPORTS":"Deportes","INTRO_TASTE_FOOD_HEALTH":"Comida y Salud","INTRO_TASTE_BEAUTY_FASHION":"Belleza y Moda","INTRO_TASTE_NEWS":"Noticias","INTRO_TASTE_GAMING":"Juegos","INTRO_TASTE_SCIENCE_EDU":"Ciencia y Educación","INTRO_TASTE_MUSIC":"Música","INTRO_TASTE_TRAVEL":"Viajes","INTRO_TASTE_LATE_NIGHT":"Espectáculo nocturno","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedia","INTRO_TASTE_DIY":"Hazlo tú mismo","INTRO_TASTE_TECH":"Tecnología","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"El complemento seleccionado no es soportado en esta plataforma.","ADDON_DISCLAIMER":"El uso de complementos siempre estarán sujetos a su responsabilidad y la ley de gobierno de la jurisdicción en que te encuentres.","ADDON_ACTIVATE":"¿Activar este complemento?","ADDON_REPO_ADD":"URL del repositorio de complementos","ADDON_ADD":"Agregar","INSTALL_ADDON":"Instalar extensión","ADD_ADDON":"Agregar complemento","ADD_ADDON_DESCRIPTION":"Puedes agregar un complemento a través de un enlace externo, que aparecerá en complementos instalados.","PASTE_ADDON_URL":"Pegar enlace de complemento","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Qué hay de nuevo","BUTTON_CONTINUE":"Continuar","BUTTON_ACTIVATE":"Activar","BUTTON_ACTIVATED":"Activado","BUTTON_CANCEL":"Cancelar","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Enviar","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Descartar todo","BUTTON_VIEW_ALL":"ver todo","BUTTON_SEE_ALL":"Ver Todo","BUTTON_COLOR_TRANSPARENT":"Transparente","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Abrir en el navegador","LIB_EMPTY":"Su biblioteca se ve vacía. Averigüe lo útil que es :) ","HOW_START":"Así es cómo puedes empezar:","LIB_EMPTY_CAL":"Su calendario muestra series en su Biblioteca.","HOW_START_CAL":"Así es como se puede agregar series:","LIB_EMPTY_BOARD":"El Panel muestra notificaciones y recomendaciones relacionadas con su Biblioteca.","HOW_START_BOARD_WAIT":"Por favor, añada algunas series o canales a su Biblioteca y denos unos minutos para procesarlo :)","HOW_START_BOARD":"Así es como se puede agregar series y películas a la misma:","IMPORT_FB":"Importa cosas que te gustan desde <span>Facebook</span>","IMPORT_TRAKT":"Importa tu biblioteca multimedia de <span>Trakt</span>","IMPORT_DISCOVER":"Encontrar cosas interesantes de <span>Descubrir</span>","IMPORT_DISK":"Importar películas o series que tiene en su <span>disco local</span>","PLEASE_CREATE_ACC":"Por favor <u>crea una cuenta</u> para activar la sincronización de la Biblioteca y Panel.","IMPORT_DISCOVER_SIGNUP":"Regístrate y encuentra cosas interesantes en <span>Descubrir</span>","IMPORT_DISK_SIGNUP":"Regístrate e importa películas o series desde tu <span>disco local</span>","LIB_EMPTY_CLOUD":"Biblioteca en la nube","LIB_EMPTY_CLOUD_DESC":"Biblioteca en la nube personal y sincronizada con todos los dispositivos","LIB_EMPTY_EARLY":"Acceso temprano","LIB_EMPTY_EARLY_DESC":"Recibir notificaciones de nuevos episodios","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Obtener recomendaciones personalizadas","LIB_EMPTY_CALENDAR_DESC":"Programe su calendario de visualización personal","LIB_EMPTY_ALL":"Regístrese para obtener todo esto:","LIB_EMPTY_BEST":"Regístrese para obtener lo mejor de Stremio","LIB_EMPTY_OTHER":"Regístrese para habilitar el Calendario y otras excelentes características","CALENDAR_ADDED":"El calendario de Stremio ha sido agregado a su calendario de escritorio por defecto.","CALENDAR_ADDED_MSG":"Si esto no funciona, por favor agregue esta URL manualmente a su aplicación de calendario","TRAKT_EXPIRED":"La autenticación de Trakt expiró, vaya a Configuración y vuelva a autenticar","TRAKT_REQUIRES_LOGIN":"Error de Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Necesitas iniciar sesión","TRAKT_IMPORT_WATCHED":"Importar","THEME":"Tema","THEME_DEFAULT":"Por defecto","THEME_ADAPTIVE":"Adaptativo","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Configuración","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Reproductor","SETTINGS_NAV_STREAMING":"Transmisión","SETTINGS_NAV_SHORTCUTS":"Atajos","SETTINGS_SHORTCUT_RELOAD_APP":"Recargar Aplicación","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Abrir Configuración","SETTINGS_SHORTCUT_SWITCH_TABS":"Cambiar Pestañas","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Desplazarse por las Pestañas hacia Adelante","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Desplazarse por las Pestañas hacia Atrás","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navegar entre Menús","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Ir a Buscar","SETTINGS_SHORTCUT_EXIT_BACK":"Salir / Regresar","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Alternar el menú de velocidad de reproducción","SETTINGS_SHORTCUT_MENU_VIDEOS":"Alternar menú de videos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Alternar menú de subtítulos","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Alternar menú de información","SETTINGS_SHORTCUT_FULLSCREEN":"Alternar Pantalla Completa","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostrar Controles","SETTINGS_SHORTCUT_PLAY_PAUSE":"Reproducir / Pausar","SETTINGS_SHORTCUT_VOLUME_UP":"Subir Volumen","SETTINGS_SHORTCUT_VOLUME_DOWN":"Bajar Volumen","SETTINGS_SHORTCUT_SEEK_NEXT":"Buscar Siguiente","SETTINGS_SHORTCUT_SEEK_PREV":"Buscar Previo","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Buscar hacia atrás","SETTINGS_SHORTCUT_SEEK_FORWARD":"Buscar hacia adelante","SETTINGS_SHORTCUT_PLAY_NEXT":"Reproducir Siguiente","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Aumentar Tamaño del Subtítulo","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Reducir Tamaño del Subtítulo","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Aumentar Retraso del Subtítulo","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Reducir Retraso del Subtítulo","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Alternar Menu Lateral","SETTINGS_SHORTCUT_OR":"o","SETTINGS_SHORTCUT_TO":"a","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Espacio","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticar","SETTINGS_FACEBOOK_IMPORT":"Importar","SETTINGS_CALENDAR_SUBSCRIBE":"Suscribir","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Lenguaje de interfaz","SETTINGS_LAUNCH_STARTUP":"Abrir cuando arranque el equipo","SETTINGS_VLC_DEFAULT":"Reproducir con VLC","SETTINGS_UI_LANGUAGE":"Idioma de la interfaz de usuario","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Tecla de escape para salir del modo pantalla completa","SETTINGS_GAMEPAD":"Habilitar soporte para mando","SETTINGS_CLOSE_WINDOW":"Cerrar la aplicación cuando se cierra la ventana","SETTINGS_SUBTITLES_LANGUAGE":"Idioma de subtítulos predeterminado","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Tamaño de subtítulos predeterminado","SETTINGS_SUBTITLES_BACKGROUND":"Fondo de subtítulos","SETTINGS_SUBTITLES_COLOR":"Color de subtítulos","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Color del contorno de los subtítulos","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Color de fondo de los subtítulos","SETTINGS_SEEK_KEY":"Tiempo de búsqueda de las teclas de flecha","SETTINGS_SEEK_KEY_SHIFT":"Tiempo de búsqueda de las teclas de flecha cuando se mantiene la tecla Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Duración de rebobinado y avance rápido","SETTINGS_BINGE":"Comenzar automáticamente el siguiente episodio","SETTINGS_NEXT_VIDEO":"Mostrar notificación para que comience el siguiente episodio","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostrar la notificación de próximo episodio para:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Duración de la ventana emergente del siguiente video","SETTINGS_PLAY_IN_BACKGROUND":"Reproducir en segundo plano","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Reproducir en un reproductor externo","SETTINGS_RESIZE":"Ajustar ventana automáticamente antes de reproducir","SETTINGS_OVERRIDE_SERVER":"Anular la URL del servidor de transmisión (avanzado)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"URL del servidor de transmisión ","SETTINGS_SERVER_AVAILABLE":"El servidor de transmisión está disponible.","SETTINGS_SERVER_UNAVAILABLE":"El servidor de transmisión no está disponible.","SETTINGS_SERVER_STATUS_ONLINE":"En linea","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurar enlace del servidor de transmisión","SETTINGS_SERVER_CONFIGURE_INPUT":"Ingrese enlace del servidor de transmisión","SETTINGS_SERVER_CACHE_SIZE":"Tamaño de caché","SETTINGS_SERVER_TORRENT_PROFILE":"Perfil de torrent","SETTINGS_HTTPS_ENDPOINT":"Punto final HTTPS de transmisión: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Utilice siempre la última Beta","SETTINGS_IMPORT_FB":"Importar desde Facebook","SETTINGS_IMPORT_DISK":"Importar desde el disco local","SETTINGS_IMPORT_TRAKT":"Importar desde Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausar la reproducción cuando se minimiza","SETTINGS_HWDEC":"Decodificación acelerada por hardware","SETTINGS_BACKGROUND":"Reproducción de fondo","SETTINGS_SUBSCRIBE_CALENDAR":"Suscribirse al calendario","SETTINGS_REQ_EXPORT":"Solicitar mis datos","SETTINGS_ACC_DELETE":"Eliminar mi cuenta","SETTINGS_CHANGE_PASSWORD":"Cambiar contraseña","SETTINGS_TOS":"Términos de servicio","SETTINGS_SUPPORT":"Soporte","SETTING_LANGUAGE":"Idioma","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Seguimiento con Trakt","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Salir de Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Salir de Trakt","SETTINGS_SCAN_FOR_REMOTE":"Escanear código QR para abrir el control remoto","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificaciones de escritorio","SETTINGS_DATA_SAVER":"Ahorrador de datos","SETTINGS_LANGUAGE_INTERFACE":"interfaz","SETTINGS_LANGUAGE_SUBS":"Subtítulos por defecto","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoseleccionar Pista de Audio","SETTINGS_DEFAULT_AUDIO_TRACK":"Pista de Audio por defecto","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"cuenta","SETTINGS_PLATFORM":"Plataforma","SETTINGS_VERSION":"versión","SETTINGS_ABOUT":"Acerca de","SETTINGS_MPV_WINDOW":"Abrir reproductor en una ventana separada (avanzado)","SETTINGS_PLAY_IN_EXTERNAL":"Iniciar siempre el video en un reproductor externo","SETTINGS_STORAGE_BUTTON":"Borrar almacenamiento local","SETTINGS_STORAGE_MODAL_TITLE":"¿Está seguro?","SETTINGS_STORAGE_MODAL_MESSAGE":"Esta opción borrará el almacenamiento local y terminará su sesión.","SETTINGS_HWDEC_PICKER":"Selecciona la configuración de decodificación acelerada por hardware","SETTINGS_HW_AUTOMATIC":"Automático","SETTINGS_HW_DISABLED":"Deshabilitada","SETTINGS_HW_ACCELERATED":"Decodificación Acelerada","SETTINGS_HW_FULL":"Aceleración Completa","SETTINGS_HW_LEGACY":"Legado","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL remota","SETTINGS_COPY_REMOTE_URL":"Copiar URL remota","SETTINGS_REMOTE_URL_COPIED":"La URL remota fue copiada a tu portapapeles","SETTINGS_SECTION_SUBTITLES":"Subtítulos","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controles","SETTINGS_SECTION_AUTO_PLAY":"Reproducción automática","SETTINGS_SECTION_ADVANCED":"Avanzado","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Subtítulos de complementos","SUBSPICKER_BLACK_BACKGROUND":"Usar color de fondo negro","SUBSPICKER_VERTICAL_OFFSET":"Desplazamiento Vertical","SUBSPICKER_SIZE":"Tamaño","SUBSPICKER_DELAY":"Retraso","SUBSPICKER_EMBEDDED_SUBS":"Subtítulos Embebidos","MOBILE_PRIVACY_POLICY":"Política de Privacidad","MOBILE_CRASH_REPORTING":"Reporte de Errores","MOBILE_ZOOM_TO_FILL":"Aumentar para Rellenar la Pantalla","MOBILE_PASSTHROUGH":"Salida de audio digital (passthrough)","MOBILE_RUN_LOW_BATTERY":"Ejecutar con batería baja","MOBILE_RUN_FOREGROUND":"Ejecutar en segundo plano","MOBILE_PERFORMANCE":"Rendimiento y Estabilidad","MOBILE_SERVER_ONLINE":"En Línea","MOBILE_SERVER_OFFLINE":"Desconectado","MOBILE_QR_EXPIRES":"El Código QR expira en ","MOBILE_LOG_INTO":"Iniciar sesión en tu cuenta de Stremio ","MOBILE_SCAN_QR":"Escanea el Código QR de arriba o visita ","MOBILE_LINK_ACCOUNT":"Asociar Cuenta","MOBILE_SPEEDPICKER_CANCEL":"Cancelar","MOBILE_SPEEDPICKER_LABEL":"Seleccionar Velocidad de Reproducción","MOBILE_EMPTY_LIBRARY":"Tu Biblioteca está vacía","MOBILE_NO_ADDON_ACTIVE":"No hay complemento de Stremio activo para este tipo.","MOBILE_ORGANIZER_WARNING":"La aplicación Stremio Organizer proporciona una funcionalidad limitada. Para obtener una lista de transmisiones reproducibles y la experiencia completa de Stremio, use Stremio en el escritorio.","MOBILE_ADDON_LOADING":"todavía está cargando","MOBILE_ADDONS_LOADING":"los complementos aún se están cargando","MOBILE_ADDON":"Complemento","MOBILE_CONFIGURE_ADDON":"Configura tu complemento","MOBILE_CONFIGURE_ADDON_LABEL":"Configurar Complemento","MOBILE_ORGANIZER_ADDONS_WARNING":"La aplicación Stremio Organizer ofrece una selección limitada de complementos. Para disfrutar de la experiencia completa de Stremio, use Stremio en el escritorio.","MOBILE_DISCONNECT":"Desconectar","MOBILE_LOOKING_FOR_DEVICES":"Buscando dispositivos...","MOBILE_CAST_TO":"Emitir a","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Eliminar cuenta","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"La eliminación de la cuenta no es instantánea debido a obligaciones legales. Después de solicitar la eliminación de su cuenta, tendrá que utilizar un correo electrónico/perfil de Facebook diferente para crear una nueva cuenta de Stremio","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmar eliminación de la cuenta","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Su cuenta ha sido creada usando Facebook. Para eliminar su cuenta, utilice nuestro portal de usuario en www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Proporcione su contraseña para confirmar la eliminación de su cuenta.","MOBILE_DELETE_ACCOUNT_BUTTON":"Eliminar cuenta","NAVIGATION_ON":"Encendido","NAVIGATION_OFF":"Apagado","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Acepto recibir comunicaciones de marketing de Stremio","QUIT":"Salir","CONNECTED":"Conectado","AUTHENTICATE":"Autenticar","AUTHENTICATING":"Authenticating...","CACHING":"Almacenamiento en caché","SETTINGS_CACHING_DRIVE":"Seleccione la unidad de almacenamiento en caché","ENABLE_LOCAL_FILES_ADDON":"Habilite el complemento de archivos locales (requiere reiniciar)","LOCAL_ADDON_NOT_ENABLED":"El complemento local no está habilitado. Haga clic aquí para ir a la configuración y habilitarlo","ENABLE_REMOTE_HTTPS_CONN":"Habilitar conexiones HTTPS remotas","TORRENT_PROFILE":"Perfil de Torrent","DATA_CACHING":"Caché almacenada","MAGNET_PARSING":"Analizando un enlace magnético","January":"Enero","February":"Febrero","March":"Marzo","April":"Abril","May":"Mayo","June":"Junio","July":"Julio","August":"Agosto","September":"Septiembre","October":"Octubre","November":"Noviembre","December":"Diciembre","Monday":"Lunes","Tuesday":"Martes","Wednesday":"Miércoles","Thursday":"Jueves","Friday":"Viernes","Saturday":"Sábado","Sunday":"Domingo","Action":"Acción","Comedy":"Comedia","War":"Guerra","Family":"Familia","Animation":"Animación","Adventure":"Aventura","Fantasy":"Fantasía","Crime":"Crimen","Mystery":"Misterio","Romance":"Romántico","Drama":"Drama","Horror":"Terror","Thriller":"Suspenso","Sci-Fi":"Ciencia ficción","Music":"Música","Biography":"Biografía","Documentary":"Documental","Sport":"Deporte","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Noticias","History":"Historia","Game-Show":"Programa de juegos","Reality-TV":"Reality shows","Talk-Show":"Programa de entrevistas","Film & Entertainment":"Cine y Entretenimiento","Gaming":"Juegos","From TV":"De la televisión","Lifestyle":"Estilo de vida","Science & Education":"Ciencia y Educación","Cooking & Health":"Cocina y Salud","Beauty & Fashion":"Belleza y Moda","Sports":"Deportes","News & Politics":"Noticias y Política","How-to & DIY":"Cómo hacer y bricolaje","Tech":"Tecnología","Automotive":"Automotores","Causes & Non-Profits":"Causas y Fines de Lucro","Movies":"Películas","Uk Live Tv":"TV británica en vivo","Fashion":"Moda","Business News Radio":"Noticias de negocios - Radio","Business Tv":"Negocios TV","Cars & Auto":"Autos","Comedy Radio":"Comedia - Radio","Lifestyle Radio":"Estilo de vida - Radio","News Tv":"Noticias TV","Food And Wine":"Comida y Vino","Latino Tv":"Latino TV","Shopping Tv":"Compras TV","Religion":"Religión","Kids":"Niños","Body & Soul":"Cuerpo y Alma","Education":"Educación","Indian Tv":"India TV","Extreme Sports":"Deportes extremos","Middle Eastern Tv":"Medio oriente TV","Celebrity Tv":"Celebridades TV","Science Tv":"Ciencia TV","Bikini babe":"Bikini babe","Outdoors":"Al aire libre","German Tv":"TV alemana","French Tv":"TV francesa","Italian Tv":"TV italiana","Gamer Tv":"TV Videojuegos","Travel":"Viajes","Asian Tv":"TV asiática","Entertainment":"Entretenimiento","News Radio":"Noticias - Radio","Music Radio":"Música - Radio","Language Learning":"Aprendizaje de idiomas","Science Radio":"Ciencia - Radio","Tech Radio":"Tecnología - Radio","Science & Technology Vod":"Ciencia y Tecnología VBD","new video":"nuevo video","new episode":"nuevo episodio","new movie":"nueva película","recommended":"recomendado","we recommend":"recomendamos","offer of the day":"oferta del día","news":"noticias","music video":"vídeo musical","CTX_SHOW_HOTKEYS":"Mostrar teclas de acceso rápido","CTX_DISMISS_NOTIF":"Descartar notificaciones","CTX_DISMISS_ALL":"Descartar todo","CTX_SHARE":"Compartir","CTX_COPY_SHARE_LINK":"Copiar enlace para compartir","CTX_COPY_MAGNET_LINK":"Copiar enlace magnético","CTX_COPY_STREAM_LINK":"Copiar enlace de la transmisión","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copiar enlace de descarga del video","CTX_DOWNLOAD_VIDEO":"Descargar este vídeo","CTX_DOWNLOAD_SUBS":"Descargar subtítulos","CTX_VIEW_ON_YOUTUBE":"Ver en YouTube","CTX_SHOW":"Mostrar","CTX_PLAY":"Reproducir","CTX_PLAY_IN":"Reproducir aquí","CTX_PLAY_ON":"Reproducir en","CTX_WATCH_ON":"Ver en","CTX_WATCH":"Ver","CTX_WATCHED":"Visto","CTX_WATCH_BEGINNING":"Mirar desde el principio","CTX_WATCH_MOBILE":"Ver en un dispositivo móvil","CTX_REWIND":"Retroceder al comienzo","CTX_MARK_WATCHED":"Marcar como visto","CTX_MARK_NON_WATCHED":"Marcar como no visto","CTX_MARK_UNWATCHED":"Marcar como no visto","CTX_MARK_REST":"Marcar el resto como visto","CTX_UNMARK_REST":"Marcar el resto como no visto","CTX_RECEIVE_NEW_NOTIF":"Recibir notificaciones nuevas","CTX_ENABLE_NEW_NOTIF":"Habilitar notificaciones","CTX_DISABLE_NEW_NOTIF":"Deshabilitar notificaciones","CTX_REMOVE_CACHE":"Eliminar de caché","CTX_REMOVE_CACHE_EP":"Eliminar el episodio de la memoria caché","CTX_OPEN_CONTAINING":"Abrir carpeta contenedora","CTX_REMOVE":"Eliminar de la Biblioteca","CTX_AVAILABLE_OFFLINE":"Disponible sin conexión","CTX_PAUSED":"Pausado","CTX_ALWAYS_ON_TOP":"Siempre en la parte superior","CTX_FULLSCREEN":"Pantalla completa","CTX_WRONG_SUBS":"¿Subtítulos erróneos?","CTX_REPORT_ISSUES":"Reportar un problema","CTX_COPY":"Copiar","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Pegar","CTX_CLEAR":"Limpiar","CTX_CLEAR_RECENT_SEARCHES":"Borrar búsquedas recientes","HELLO_THERE":"Hola","HOPE_YOU_ENJOY":"¡Esperamos que disfrute de Stremio y sea una de sus aplicaciones favoritas!","WHO_ARE_WE":"¿Quiénes somos? Somos el equipo detrás de ella <br>dos chicos que trabajan duro todos los días durante los últimos 3 años, con un único objetivo <br>para hacer este producto cada vez mejor.","SUPPORT_US":"Si disfrutas usando Stremio, si Stremio es valioso para ti - apóyanos!","SPREAD_THE_WORD":"Comparte con tus amigos ahora, corre la voz sobre Stremio","MORE_PEOPLE":"Cuantas más personas usen Stremio, mejor será","SEND_A_LINK":"O envía un enlace de nuestro sitio web","TIP_LOCALFILES":"Consejo: puede arrastrar y soltar archivos de vídeo locales en Stremio","ADDON_MY":"Mis complementos","ADDON_COMMUNITY":"Complementos de la comunidad","ADDON_OFFICIAL":"Complementos oficiales","ADDON_REPOS":"Repositorios de complementos","ADDON_SEARCH":"Buscar complementos","ADDON_INSTALL":"Instalar","ADDON_CONFIGURE":"Configurar","ADDON_UNINSTALL":"Desinstalar","ADDON_UPGRADE":"Actualizar","ADDON_INSTALLED":"Instalado","ADDON_INSTALLED_MSG":"¡Complemento instalado!","ADDON_UPGRADED_MSG":"¡Complemento actualizado!","ADDON_UNKNOWN":"Desconocido","ADDON_ERR":"¡Error instalando complemento!","ADDON_DISCONNECTED":"Desconectado","ADDON_APP_MISSING":"la aplicación para este recurso no está instalada. ¿Quieres instalarla ahora?","ADDON_APP_INSTALL":"Instalar ahora","ADDON_PAGE":"Página del complemento","ADDON_TOP_CONTENT":"Lo mejor de este complemento","ADDON_PROVIDES":"Este complemento le proporciona:","ADDON_WATCH":"¡Ver #{types} ahora!","ADDON_WATCH_FREE":"¡Ver #{types} de forma GRATUITA ahora!","ADDON_ADDON":"Complemento","ADDON_SUPPORTED_TYPES":"Tipos compatibles","ADDON_SUPPORTED_CATALOGS":"Catálogos compatibles","ADDON_PROVIDES_DISCOVER":"Más #{types} en Descubrir","ADDON_PROVIDES_STREAMS":"Ver #{types}","ADDON_PROVIDES_STREAMS_FREE":"Ver #{types} de forma GRATUITA","ADDON_PROVIDES_SUBTITLES":"Subtítulos #{types}","ADDON_CANTDETECT":"No hemos podido detectar un Stremio en ejecución, así que no pudimos detectar qué complementos tiene instalado.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No se encontró información sobre esto ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error al recuperar información sobre esto.","ERR_CANT_PARSE_MAGNET":"Incapaz de analizar enlace magnético","ERR_NO_MAGNET_INFOHASH":"Código hash inválido para enlace magnético","ERR_NO_FILE_PATH":"Incapaz de enviar solicitud sin una ruta de archivo","ERR_NO_TORRENT":"No se devolvió torrent","ERR_NO_SUPPORTERD_FILES":"No se encontraron archivos compartibles","ERR_OPENING_FILES":"No se pudieron abrir los archivos externos","ERR_INVALID_LINK":"Enlace inválido","ERR_REGISTERED_ONLY":"Esta opción está disponible solo para usuarios registrados.","ERR_CLIPBOARD":"No se puede reproducir desde el portapapeles","ERR_CLIPBOARD_READ":"Desde esta plataforma no se puede acceder al portapapeles","ERR_CLIPBOARD_GENERIC":"No se ha encontrado ningún URL reproducible en el portapapeles. Por favor, copie una URL (por ejemplo un enlace magnético) que lleve a un vídeo.","BOARD_CONTINUE_WATCHING":"Continuar viendo","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Películas elegidas especialmente para ti.<br />Esta película es una muestra de recomendación.","BOARD_EXPLANATION_EPISODES":"Los nuevos episodios de tus series favoritas están aquí<br />Agrega las series que sigues en tu Biblioteca.","BOARD_EXPLANATION_VIDEOS":"Los nuevos videos de tus canales favoritos están aquí.<br />Agrega los canales de YouTube que sigues a tu Biblioteca.","WEBSITE_ENJOYED_BY":"Disfrutado por más de 30 millones de usuarios en todo el mundo","WEBSITE_STREAMING_ENHANCED":"Transmisión mejorada","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio ofrece una experiencia de entretenimiento segura, moderna y fluida. Con su interfaz fácil de usar y su diversa biblioteca de contenido, incluida la compatibilidad con 4K HDR, los usuarios pueden disfrutar de sus películas y programas de TV favoritos en todos sus dispositivos. Y con su compromiso con la seguridad, Stremio es la mejor opción para un servicio de sin preocupaciones y experiencia de transmisión de calidad.","WEBSITE_AVAILABLE_ON":"Disponible en","WEBSITE_WATCH_AND_ENJOY":"Ver y Disfrutar.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio lo hace muy fácil","WEBSITE_ALL_FEATURES":"Todas las características","WEBSITE_EASY_TO_USE":"Facil de usar","WEBSITE_EASY_TO_USE_DETAILS":"Stremio está diseñado para ser amigable para el usuario y fácil de usar. Con su interfaz limpia e intuitiva podrás navegar y encontrar fácilmente el contenido que deseas ver.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sin interrupciones en todos los dispositivos","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponible en una amplia variedad de plataformas (incluido Windows, Mac, Linux, Android y más), Stremio realizará un seguimiento de su progreso en todos sus dispositivos. Solo inicia sesión y continúa viendo sin tener que configurar la aplicación nuevamente en cada dispositivo nuevo.","WEBSITE_ALL_DOWNLOADS":"Todas las Descargas","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Soporte de vídeo de alta definición","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un reproductor de video integrado que soporta la mayoría de los formatos de video, incluido el contenido 4K HDR, le permite disfrutar de la más alta calidad disponible.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Biblioteca de contenido diverso","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio se integra con una grán cantidad de repositorios de video populares, como Netflix, Amazon Prime Video, Hulu, YouTube y muchos más.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Crea una cuenta gratis","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiencia de visualización personalizada","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio le permite personalizar la apariencia de la interfaz cambiando el tema, agregando o eliminando complementos y más.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Soporte de subtitulos multilenguaje","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Ahora puede disfrutar de todo su contenido favorito su idioma preferido, ya que Stremio soporta subtitulos en todos los idiomas.","WEBSITE_ALL_STREMIO_FEATURES":"Todas las características de Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Prueba Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"En tu TV ahora","WEBSITE_YOU_CAN_NOW_WATCH":"Ahora puede ver todos sus programas de TV favoritos en su dispositivo Android TV","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. La aplicación de Stremio le permite disfrutar una noche de cine con facilidad.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio para Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probablemente la mejor y más útil aplicación para tener en tu dispositivo. Es una de las aplicaciones que uso a diario, especialmente en mi Android TV desde hace muchos años. Bien hecho con una comunidad sólida que proporciona funcionalidades útiles. Bien hecho. Sigan con el buen trabajo.","WEBSITE_REVIEWS":"opiniones","WEBSITE_GET_STREMIO_FOR_FREE":"Obtén Stremio gratis","WEBSITE_GET_STREMIO_NOW":"Obtén Stremio ahora","WEBSITE_STREMIO_FEATURES":"Características de Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Transmite como un profesional con las funciones avanzadas de Stremio y disfruta de un acceso fluido en todos tus medios favoritos","WEBSITE_DISCOVER_MORE":"Descubrir más.","WEBSITE_DISCOVER_MORE_DETAILS":"Nunca te quedes sin cosas para ver","WEBSITE_COMMUNITY_DRIVEN":"Impulsado por la comunidad","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio tiene una comunidad grande y activa de usuarios que contribuyen al desarrollo del software creando y compartiendo complementos.","WEBSITE_GET_INVOLVED":"Participa","WEBSITE_NEW_THEATER_EXPERIENCE":"Nueva experiencia de cine","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"La nueva aplicación de Stremio dedicada a la TV le permite disfutar una noche de cine en sus dispositivos Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"La nueva aplicación de Stremio dedicada a la TV le permite disfrutar una noche de cine en su Smart TV o dispositivos Android TV.","WEBSITE_FREE_AND_SECURE":"Gratis y Seguro","WEBSITE_STREAMING":"Transmisión","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio ofrece seguridad y privacidad inigualables para los usuarios. Con su característica única de ejecutar complementos de forma remota, Stremio proporciona una forma segura de transmitir su contenido favorito en comparación con otras plataformas. Su seguridad y privacidad son las principales prioridades, y la plataforma garantiza que todos tus datos estén protegidos.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Diga adiós a las preocupaciones sobre la seguridad y la privacidad y di hola a un mundo de entretenimiento sin final con Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Información proporcionada por","WEBSITE_CONTRIBUTE_DESC":"al proyecto y ayudanos a hacer Stremio aún mejor","WEBSITE_COMMUNITY_DESC":"Creemos que la mejor manera de crear una experiencia de streaming realmente sorprendente es involucrar a nuestra comunidad en el proceso. Si eres programador, artista o simplemente un fan, podrías ayudar a Stremio a crecer.","WEBSITE_COMMUNITY_DESC_2":"Únase a nosotros hoy y forme parte de la comunidad Stremio y siga dando forma al futuro del streaming","WEBSITE_WAYS_TO_GET_INVOLVED":"Maneras de involucrarse","WEBSITE_IN_THE_STREMIO_COMMUNITY":"en la comunidad de Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Comparte tus pensamientos","WEBSITE_REPORT_BUGS":"Informa errores","WEBSITE_SUGGEST_FEATURES":"sugerir características","WEBSITE_AND_PROVIDE_FEEDBACK":"y proporciona comentarios en nuestros canales de redes sociales.","WEBSITE_BETA_TESTING_PROGRAM":"Programa de pruebas","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participe en nuestro programa de prueba (enviamos invitaciones regularmente) en la comunidad Stremio.","WEBSITE_JOIN_NOW":"¡Únete ahora!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunidades oficiales de Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunidades no oficiales de Stremio","WEBSITE_BECOME":"Conviértase","WEBSITE_A_VOLUNTEER_TRANSLATOR":"en traductor voluntario","WEBSITE_ARE_YOU_A_DEVELOPER":"¿Eres desarrollador?","WEBSITE_CONTRIBUTE_CODE":"Podrías contribuir con código a nuestros proyectos de código abierto. Tenemos varios proyectos en GitHub que buscan colaboradores. Si estás interesado en ayudar, échales un vistazo:","WEBSITE_STREMIO_ON_GITHUB":"Stremio en GitHub","WEBSITE_CREATE_ADDON_DESC":"Cree un complemento para mejorar la funcionalidad de Stremio (tenemos una API fácil de usar):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"También ofrecemos la oportunidad de unirse a nosotros como desarrollador en prácticas para poder crecer juntos.","WEBSITE_APPLY_AS_AN_INTERN":"Aplicar como practicante","WEBSITE_CALLING_ALL_ARTISTS":"¡Llamando a todos los artistas!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Demuestra tu creatividad y amor por Stremio subiendo tu fan art a nuestra galería en línea. Ya sea un dibujo, una pintura o un diseño digital, queremos ver su visión única de la marca Stremio. Únase a nuestra comunidad de entusiastas del arte y comparta su trabajo con otros fanáticos de Stremio en todo el mundo.","WEBSITE_STREMIO_FANART_GALLERY":"Galería Fanart de Stremio","WEBSITE_INTERN_DESIGNER":"Forme parte de nuestro equipo y lleve su creatividad a nuevas alturas con nuestras emocionantes oportunidades de pasantías.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Proyecto de películas de dominio público","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"En Stremio estamos comprometidos a preservar la historia del cine y la televisión identificando vídeos de dominio público y huérfanos. Al trabajar junto con nuestra comunidad, podemos garantizar que estas obras de arte clásicas sean accesibles para todos y estén protegidas para que las disfruten las generaciones futuras.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"No dude en contactarnos si desea involucrarse en ese proyecto.","WEBSITE_JOIN_THE_PROJECT":"Únase al Proyecto","WEBSITE_BE_PART_OF_OUR_MISSION":"Se parte de nuestra misión","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"¿Interesado en unirse al equipo Stremio? Ofrecemos trabajo totalmente remoto para profesionales apasionados. Consulte nuestras posiciones abiertas.","WEBSITE_OPEN_POSITIONS":"POSICIONES ABIERTAS","WEBSITE_DESCRIPTION":"DESCRIPCIÓN","WEBSITE_LEARN_MORE":"Aprende más","WEBSITE_COMPANY":"Compañía","WEBSITE_CONTACTS":"Contactos","WEBSITE_NEED_HELP":"¿Necesitas ayuda?","WEBSITE_STREMIO_WEB_ON_IOS":"Guía para Stremio Web en iOS","WEBSITE_LINK_ART_V2":"Galería de Fanart","WEBSITE_PARTNERS":"Socios","WEBSITE_SLOGAN_WATCH":"Disfrute al instante","WEBSITE_SLOGAN_ALL":"de todo el contenido de vídeo en un solo lugar","WEBSITE_SLOGAN_NEW":"Todo lo que puedes ver","WEBSITE_SLOGAN_NEW_NEW":"Libertad para transmitir","WEBSITE_WATCH_FROM":"Ver desde","WEBSITE_DOWNLOAD":"Descargar ahora","WEBSITE_DOWNLOAD_FOR":"Descargar para","WEBSITE_IS_DESKTOP":"Stremio es una aplicación de escritorio, abrí esta página en tu ordenador y descárgalo","WEBSITE_DESKTOP_DEMO_VID":"Demostración","WEBSITE_PAGE_HOME":"Inicio","WEBSITE_PAGE_FEATURES":"Características","WEBSITE_PAGE_ADDONS":"Complementos","WEBSITE_PAGE_TECH":"Tecnología","WEBSITE_PAGE_CREATE_ADDON":"Crear Complemento","WEBSITE_PAGE_CONTACTS":"Contactos","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Por favor ingresa tu contraseña deseada a continuación.","WEBSITE_RESET_PASSWORD_WARNING":"¿Está seguro de que desea restablecer su contraseña por ${1}?","WEBSITE_TYPE_movie":"Películas","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"TV en vivo","WEBSITE_TYPE_channel":"Canales de Youtube","WEBSITE_STREMIO_WHAT_IS":"Stremio es una aplicación que le ayuda a organizar y ver al instante sus canales de videos, películas, series de televisión y canales de televisión favoritos.","WEBSITE_FEATURES_WATCH":"Ver en HD al instante","WEBSITE_FEATURES_WATCH_DETAIL":"Haga clic y reproduzca sus películas favoritas, programas de televisión, videos y canales de televisión.","WEBSITE_FEATURES_SUBS":"Subtítulos automáticos","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio selecciona automáticamente los subtítulos sincronizados para su idioma.","WEBSITE_FEATURES_SUBS_LABEL":"Tu turno, jefe.","WEBSITE_FEATURES_CAST":"Reproducir en TV y dispositivos móviles","WEBSITE_FEATURES_CAST_DETAIL":"Emitir en AppleTV, Chromecast, Smart TV (DLNA/UPnP) y dispositivos móviles.","WEBSITE_LIB":"Disfrute de su biblioteca personal sincronizado en todos sus dispositivos","WEBSITE_LIB_COLLECT":"Recoger información de Stremio","WEBSITE_LIB_IMPORT":"Importar desde Facebook","WEBSITE_LIB_LOCAL":"Añadir de la unidad local","WEBSITE_BOARD":"El Panel - Su lugar único para recibir Notificaciones y Recomendaciones","WEBSITE_BOARD_RECOMMEND":"Programa de televisión recomendado","WEBSITE_BOARD_TRENDING":"Tendencias en Películas","WEBSITE_BOARD_NEW":"Nuevo video","WEBSITE_BOARD_EPISODE":"Nuevo episodio","WEBSITE_BOARD_1":"¿Buscando algo interesante que ver?\\n¡Obtén recomendaciones basadas en lo que te gusta!","WEBSITE_BOARD_2":"¡Sea notificado cuando un nuevo episodio de su programa favorito de televisión o canal de YouTube esté disponible!","WEBSITE_BOARD_YOUTUBE":"Nuevos videos de canales de YouTube","WEBSITE_BOARD_EPISODES":"Nuevos episodios de las series que sigues","WEBSITE_ADDONS":"Complemento de contenidos","WEBSITE_TECH_DETAIL":"¡Nos encanta la tecnología, nos gusta la ciencia loca!\\nStremio utiliza las siguientes tecnologías de código abierto:","WEBSITE_TECH_WCJS":"WebChimera.js permite a Stremio reproducir cualquier formato de vídeo con un buen rendimiento.","WEBSITE_TECH_WCJS_EXTRA":"Somos contribuidores fundamentales del proyecto","WEBSITE_TECH_ELECTRON":"Electron proporciona una plataforma innovadora para construir Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Somos contribuidores del proyecto","WEBSITE_TECH_LINVODB":"Una tecnología de base de datos que asegura que sus datos se organicen y estén disponible en cualquier lugar que inicie sesión.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnología interna","WEBSITE_CREATE_ADDON":"Creé su complemento","WEBSITE_CREATE_ADDON_DETAIL":"¿Tiene un servicio para proporcionar contenido de vídeo?\\nVamos a ayudarle a beneficiarse de las características de Stremio creando su Complemento.","WEBSITE_CREATE_ADDON_BENEFITS":"Beneficios de crear un Complemento para Stremio","WEBSITE_P2P_BEAUTY":"La belleza de la transmisión Par a Par (P2P)","WEBSITE_P2P_1":"Vídeo o transmisión en vivo fiable y asequible en Full HD / 4K","WEBSITE_P2P_2":"La plataforma de distribución proporciona una gran experiencia de usuario","WEBSITE_P2P_3":"Vamos a crear un complemento para la satisfacción de sus necesidades exactas","WEBSITE_P2P_CONTACT":"¿Interesado? Eres bienvenido, <a href=\'mailto:office@stremio.com\'>Contáctenos</a>.","WEBSITE_P2P_CONTACT_EXTRA":"¡Estaremos encantados de ayudarle a integrar su contenido con Stremio!","WEBSITE_P2P":"De vez en cuando, llega una tecnología que cambia el nombre del juego. Hemos invertido un montón de tiempo y esfuerzo en la construcción de nuestro motor de transmisión de Par A Par (P2P) de vídeo que proporciona un gran rendimiento y versatilidad para adaptarse a cualquier caso de uso.\\nContáctenos por DRM-enabled P2P video en demanda o transmisión en vivo.","WEBSITE_THOUGHTS":"Pensamientos que compartimos:","WEBSITE_SPREAD":"Difunde Stremio en tus redes sociales:","WEBSITE_CONTACT":"Contacta con nosotros, ¡Estamos deseando escucharte!","WEBSITE_OPENSOURCE":"Para nuestros proyectos de código abierto, visita nuestro","WEBSITE_BITCOIN":"Donar Bitcoin:","WEBSITE_FAQ":"Preguntas frecuentes","WEBSITE_FAQ_SHORT":"Preguntas frecuentes","WEBSITE_QUESTIONS":"Preguntas","WEBSITE_TOS":"Términos de Uso","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"Acerca de","WEBSITE_PAGE_BECOME_PARTNER":"Vuélvete un socio","WEBSITE_ALL_YOU_CAN_WATCH":"Libertad para ver\\nTodo lo que quieras.","WEBSITE_FREEDOM_TO_STREAM":"Libertad para transmitir","WEBSITE_WHAT_IS_STREMIO":"¿Qué es Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio es un centro unificado para agregación de contenido de vídeo. Descubre, organiza y ver videos de todo tipo de fuente en cualquier dispositivo que poseas.","WEBSITE_WHAT_IS_STREMIO_P2":"Películas, programas de televisión, series, televisión en vivo o canales web como YouTube y Twitch.tv: puedes encontrar todo esto en Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio es un media center moderno que le ofrece una solución integral de entretenimiento por vídeo. Puede descubrir, ver y organizar su contenido de vídeo desde complementos de fácil instalación.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Películas, programas de TV, TV en directo o canales web - Stremio pone todo esto a su disposición.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Disfruta en todos tus dispositivos","WEBSITE_DEVICES_COLLECT":"Recopilar desde Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importar desde Facebook","WEBSITE_DEVICES_LOCAL":"Agregar desde el disco local","WEBSITE_JOIN_THE_PARTY_NOW":"Únete a la fiesta ahora","WEBSITE_DEVICES_ALL":"Fácil de usar en todos tus dispositivos;","WEBSITE_EXTENDABLE_CATALOG":"Catálogo de videos extensible infinitamente;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Excelentes funcionalidades para organizar tu multimedia;","WEBSITE_AS_SEEN_ON":"Como se ve en","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Acerca de nosotros","WEBSITE_LINK_TECHNOLOGY":"Tecnología","WEBSITE_LINK_APPS":"Aplicaciones","WEBSITE_LINK_DOWNLOADS":"Descargas","WEBSITE_MORE":"Más","WEBSITE_LINK_ADDONS":"Complementos","WEBSITE_LINK_ADDON_SDK":"SDK para extensiones","WEBSITE_LINK_CONTRIBUTE":"Contribuye","WEBSITE_LINK_COMMUNITY":"Comunidad","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Más","WEBSITE_LINK_HELP":"Centro de ayuda","WEBSITE_LINK_CONTACTS":"Preguntas de negocios","WEBSITE_LINK_TOS":"Términos y condiciones","WEBSITE_LINK_PRAVACY":"Política de privacidad","WEBSITE_SUBSCRIBE":"Suscribir","WEBSITE_NEWSLETTER":"Únete a nuestro boletín de noticias para cosas increíbles","WEBSITE_PLACEHOLDER_EMAIL":"Su correo electrónico","WEBSITE_COMMUNITY":"Comunidad","WEBSITE_LINK_PRAVACY_LEGAL":"Privacidad y legal","WEBSITE_WHY":"¿Por qué hacemos esto?","WEBSITE_WHY_P1":"En Stremio, trabajamos cada día porque queremos solucionar un problema importante en la industria de vídeo bajo demanda. Hay tanto contenido nuevo publicado cada minuto que es virtualmente imposible de encontrar el camino a él.","WEBSITE_WHY_P2":"Ayudamos a las personas a navegar aquel enorme mundo del entretenimiento en vídeo y descubrir nuevo contenido para disfrutar. Nuestras aplicaciones traen juntas películas, series, televisión en vivo, canales web y más. Estamos dedicados a hacer esto increíblemente fácil para los usuarios buscar títulos y transmisiones que amarán.","WEBSITE_WHY_P3":"Puedes usar nuestro servicio en cualquier dispositivo y en cualquier momento, haciendo Stremio el único centro de entretenimiento de vídeo que necesitaras.","WEBSITE_TEAM":"EQUIPO","WEBSITE_TEAM_P":"El equipo Stremio es pequeño pero poderoso: entre diez de nosotros, programamos en X lenguajes y compartimos habilidades en desarrollo de software, diseño UI y UX, mercadeo y publicidad, y negocios y startups.","WEBSITE_FEATURES":"Características","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Descubre nuevo contenido con facilidad","WEBSITE_FEATURES_DISCOVER_P":"Descubre fácilmente nuevas películas, programas de televisión, series y canales para ver. Busca por categoría, género, calificación, año, etc. o simplemente escribe un nombre para buscar. Stremio hace fácil encontrar nuevo contenido de vídeo.","WEBSITE_FEATURES_ALL_CONTENT":"Todo tu contenido de vídeo en una pantalla","WEBSITE_FEATURES_ALL_CONTENT_P1":"Mira que películas, series o vídeos no has terminado y continua viéndolos; obtén notificaciones de nuevos episodios y estrenos; y navega a través de recomendaciones que obtendrás basadas en tus hábitos.","WEBSITE_FEATURES_LIBRARY":"Organiza tus videos","WEBSITE_FEATURES_LIBRARY_P1":"Agrega cualquier título a tu biblioteca de Stremio con un solo clic y encuentra tu camino a través de tu contenido, perfectamente ordenado por tipo, año u orden alfabético.","WEBSITE_FEATURES_CALENDAR":"Mantiene seguimiento de todo lo que ves","WEBSITE_FEATURES_CALENDAR_P1":"Obtén un calendario de todas las películas y series que agregas a tu biblioteca. Exporta tu calendario Stremio y sincroniza este para que siempre sepas cuando hay un nuevo episodio o un estreno.","WEBSITE_FEATURES_BIG_SCREEN":"Disfruta tu contenido de video en una pantalla grande","WEBSITE_FEATURES_BIG_SCREEN_P1":"Transmite lo que sea que estés viendo a otro dispositivo - sea este un teléfono, tableta o un T.V. con un solo clic.","WEBSITE_FEATURES_SOURCES":"Ve videos de diferentes fuentes","WEBSITE_FEATURES_SOURCES_P":"Instala complementos oficiales y de la comunidad para disfrutar las fuentes de vídeo desde diferentes proveedores - todo en una aplicación elegante y fácil de usar.","WEBSITE_CREATE_AN_ADDON":"Crear un complemento","WEBSITE_FEATURES_SYNC":"Sincroniza tu biblioteca entre distintos dispositivos y continua la reproducción","WEBSITE_FEATURES_SYNC_P1":"Haz login en tu cuenta en todos los dispositivos y podrás disfrutar de tener tu biblioteca, complementos, lista de reproducción y calendario.","WEBSITE_FEATURES_EXTENDABLE":"Catálogo de videos ampliable a través de complementos","WEBSITE_FEATURES_EXTENDABLE_P1":"El complemento de catálogo de Stremio provee de una serie de complementos instalables que permiten ver contenido a través de ellos. Ésto incluye películas, series, televisión en directo, deportes, noticias, podcasts, suscripciones webs, video juego, etc.","WEBSITE_FEATURES_AUTO_SUBS":"Subtítulos automáticos","WEBSITE_FEATURES_AUTO_SUBS_P1":"Con nuestros complementos de subtítulos puedes obtener automáticamente una variedad de opciones en tu idioma.","WEBSITE_FEATURES_CHROMECAST":"Emitiendo a Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Disfruta del video en una pantalla más grande o envía lo que estás viendo a otro dispositivo.","WEBSITE_FEATURES_KEEP_TRACK":"Haz el seguimiento de tus series o canales favoritos.","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obtén un calendario con notificaciones cuando haya nuevos episodios de tu serie o canal favoritos.","WEBSITE_FEATURES_POWER_USER":"Características de usuario experto","WEBSITE_FEATURES_POWER_USER_P1":"Ver en un reproductor externo.","WEBSITE_FEATURES_POWER_USER_P2":"Reproducir desde un fichero torrent o un enlace magnet","WEBSITE_FEATURES_POWER_USER_P3":"Importa en tu librería a través de los Me gusta de Facebook o desde tu disco duro local","WEBSITE_ADD_ONS":"Complementos","WEBSITE_ADD_ONS_P1":"Todo el contenido de vídeo que Stremio provee es obtenido a través de un sistema de complementos - no se ha incorporado ningún contenido o proveedor de contenido dentro de la aplicación.","WEBSITE_ADD_ONS_P2":"Hay dos grupos de complementos disponibles: oficiales y de la comunidad.","WEBSITE_ADD_ONS_P3":"Los complementos oficiales son desarrollados y alojados por Stremio, mientras que los complementos de la comunidad son creados por nuestros miembros de la comunidad, quienes también los alojan.","WEBSITE_ADDONS_OFFICIAL":"Complementos oficiales","WEBSITE_ADDONS_WATCHUB":"Reproduce tus películas, series y programas favoritos desde proveedores como iTunes, Hulu, Amazon y otros servicios de Estados Unidos y Reino Unido.","WEBSITE_ADDONS_YOUTUBE":"Mira tus canales favoritos de Youtube libres de publicidad y obtén notificaciones de nuevos vídeos de los contribuidores que sigues.","WEBSITE_ADDONS_FILMON":"Mira canales en vivo, películas y televisión pública gratis. 600 canales de televisión, 45000 películas, documentales y más gratis.","WEBSITE_ADDONS_OPENSUBTITLES":"Subtítulos de películas y televisión en múltiples lenguajes, miles de subtítulos traducidos subidos todos los días.","WEBSITE_ADDONS_COMMUNITY":"Complementos de la comunidad","WEBSITE_ADDONS_FILMON_VOD":"Mira vídeos bajo demanda desde Filmon.tv","WEBSITE_ADDONS_TWICH":"Mira programas en vivo desde Twitch.tv - una plataforma de transmisión de vídeo para la industria de deportes electrónicos.","WEBSITE_ADDONS_VODO":"Ve películas independientes completamente gratis.","WEBSITE_ADDONS_NETFLIX":"Ve películas de Netflix y series web.","WEBSITE_ADDONS_CREATE":"Crear un complemento","WEBSITE_ADDONS_CREATE_P1":"Si lo deseas, puedes desarrollar tu propio complemento. De esta manera, puedes darte a ti y a la comunidad acceso a nuevo contenido de vídeo, y alcanzar una nueva audiencia de millones de usuarios alrededor del mundo.","WEBSITE_ADDONS_START_CREATE":"Para empezar, visita la página del SDK de complementos de Stremio:","WEBSITE_DOWNLOADS":"Descargas","WEBSITE_DOWNLOADS_P1":"Para un óptimo rendimiento, recomendamos que uses la última versión disponible de las aplicaciones de Stremio. Si por alguna razón, deseas usar una versión anterior, puedes descargarla aquí.","WEBSITE_DOWNLOADS_P1_SHORT":"Para un óptimo rendimiento, recomendamos que uses la última versión disponible de las aplicaciones de Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio para Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio para macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio para Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio para Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio para Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio para Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio para Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio para iOS (versión limitada)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio para Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio para LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio para Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio para Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio para Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio para Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio para Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio para Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio para Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio para Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Buscar Stremio en el App Store de modelos de TV Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Buscar Stremio en el App Store de modelos TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Buscar Stremio en el Play Store de Sony TV ejecutando Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Buscar Stremio en el Play Store de Philips TV ejecutando Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Buscar Stremio en el App Store de tu dispositivo Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guía para Stremio OS en RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Descargar Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service es una aplicación complementaria para Stremio Web. Recomendamos utilizar la última versión disponible de Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service para Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service para macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service para Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service para Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Más opciones de descarga","WEBSITE_DOWNLOAD_NEW":"¡Nuevo!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Lanzamos Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Lanzamos Stremio para Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Lanzamos Stremio para LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Lanzamos Stremio para Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Lanzamos Stremio para Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribuye","WEBSITE_CONTRIBUTE_P1":"La plataforma Stremio es código abierto y puedes crear fácilmente un complemento para contenido que actualmente no posee fuente.","WEBSITE_CONTRIBUTE_WHY":"¿Por qué deberías crear un complemento?","WEBSITE_CONTRIBUTE_WHY_P1":"Alcanzar nueva audiencia para tu contenido de vídeo","WEBSITE_CONTRIBUTE_WHY_P2":"La base de usuarios de Stremio crece rápidamente - desde el primer año de lanzamiento, Stremio ha ganado 1 millón de usuarios alrededor del mundo, y en el segundo año de la existencia de la plataforma este número ha crecido a 2.5 millones.","WEBSITE_CONTRIBUTE_WHY_P3":"Con tu complemento fácilmente alcanzarás esta audiencia y distribuirás tu contenido de vídeo a ellos.","WEBSITE_CONTRIBUTE_ALL":"Mira tus películas, series y canales favoritos en un solo lugar.","WEBSITE_CONTRIBUTE_ALL_P1":"¿Eres aficionado de un un tipo particular de contenido no disponible aún en Stremio? Crea un complemento para este y disfruta de ver tus vídeos favoritos en uno de los centros de entretenimiento más grandes y fáciles de usar en el mercado.","WEBSITE_CONTRIBUTE_ALL_P2":"Además de eso, obtendrás la infinita gratitud de otros miembros de la comunidad de Stremio afines.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetiza tu complemento y gana dinero con su ayuda","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Una vez desarrolles un nuevo complemento para Stremio, puedes fácilmente monetizar este a través de diferentes maneras. Si estás considerando esto, siéntete libre de entrar en contacto con nosotros a ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - estaremos felices de consultarte y asesorarte sobre las opciones de monetización de tu complemento.","WEBSITE_CONTRIBUTE_TRANSLATE":"Conviértete en un traductor voluntario","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Si deseas disfrutar de las aplicaciones de Stremio en diferentes lenguajes, puedes unirte a nuestra comunidad de traductores voluntarios. Ellos nos ayudan a agregar versiones de Stremio en diferentes lenguajes.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"¿Estás ansioso por comenzar?","WEBSITE_TRANSALTE_STREMIO":"Traduce Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunidades oficiales","WEBSITE_COMMUNITY_OFFICIALS_P1":"Sé parte de la creciente comunidad de Stremio. Síguenos en redes sociales y no seas tímido de decir hola - ¡nos encanta escuchar a nuestros fanáticos! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunidades no oficiales","STREMIO_COMMUNITY_NL":"Stremio Países Bajos","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemania","STREMIO_COMMUNITY_BELGIUM":"Stremio Bélgica","STREMIO_COMMUNITY_FRANCE":"Stremio Francia","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio Reino Unido","STREMIO_COMMUNITY_USA":"Stremio Estados Unidos","STREMIO_COMMUNITY_MEXICO":"Stremio México","STREMIO_COMMUNITY_ADDONS":"Complementos de Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Socios y colaboradores","WEBSITE_COMMUNITY_GOODIES":"Stremio Goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Fondos de pantalla","WEBSITE_COMMUNITY_ART":"Galería de Arte de la Comunidad","WEBSITE_LINK_ART":"Galería de arte de la comunidad","WEBSITE_CONTACT_US":"Contacta con nosotros","WEBSITE_CONTACT_US_P1":"Si tienes alguna pregunta, comentario o sugerencia, siéntete libre de entrar en contacto con nosotros a través del formulario de contacto más abajo.","WEBSITE_CONTACT_US_P2":"Ten presente que nos ubicamos en Bulgaria, entonces habrá un retraso en la respuesta a su consulta debido a las diferencias de zona horaria.","WEBSITE_CONTACT_US_SUCCESS":"Tu mensaje ha sido enviado. Nos pondremos en contacto contigo lo antes posible.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"¡Por favor escribe un correo electrónico válido!","WEBSITE_CONTACT_US_Q_RELATED_TO":"¿Con qué se relaciona su pregunta?","WEBSITE_CONTACT_US_Q_OS":"¿Cuál es su sistema operativo?","WEBSITE_CONTACT_US_PH_EMAIL":"Su correo electrónico","WEBSITE_CONTACT_US_PH_MESSAGE":"Mensaje","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVIAR","WEBSITE_CONTACT_US_Q_1":"¿Cómo instalar?","WEBSITE_CONTACT_US_Q_2":"¿Cómo desinstalar?","WEBSITE_CONTACT_US_Q_3":"¿(HTML) Cómo hacer lasaña?","WEBSITE_CONTACT_US_Q_4":"Complementos","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnología","WEBSITE_TECHNOLOGY_P1":"Amamos la tecnología y la ciencia loca. </br> Aquí está lo que potencia a Stremio (todo es código abierto).","WEBSITE_TECHNOLOGY_P_QT":"Desarrollo de software multiplataforma en su mejor momento.","WEBSITE_TECHNOLOGY_P_MPV":"Un reproductor libre, de código abierto y multiplataforma.","WEBSITE_TECHNOLOGY_P_RN":"React Native te permite desarrollar aplicaciones móviles usando solo Javascript.","WEBSITE_TECHNOLOGY_P_VLC":"Framework multimedia embebido en la aplicación para obtener multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm es una plataforma móvil y un reemplazo para SQlite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js es un entorno de Javascript multi-plataforma y de código abierto.","WEBSITE_TECHNOLOGY_P_RUST":"Rust es un lenguaje de programación de sistemas multi-paradigma que se enfoca en la seguridad, y más concretamente en ejecución concurrente de manera segura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuye al proyecto","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Hay dos formas en las que puedes contribuir a Stremio y ayudarnos a hacer el producto aún mejor.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Puedes donar tus habilidades en lenguaje traduciendo la plataforma...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"o","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... puedes emplear tus habilidades de programación para la creación de extensiones de la comunidad. ","WEBSITE_TRANSLATE_STREMIO":"Traduce Stremio","WEBSITE_404_OH_NO":"¡Oh no! La página que estás buscando no está aquí...","WEBSITE_GO_HOME":"Ir al inicio","WEBSITE_LINK_OTHER_DOWNLOADS":"Otras descargas","WEBSITE_FAQ_ABR":"Preguntas frecuentes","WEBSITE_SUPPORT":"Soporte","WEBSITE_DOWNLOAD_4_0_BETA":"Descarga ahora Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Para escritorio","WEBSITE_LINK_ADDON_COMPETITION":"Competición de complementos","WEBSITE_LINK_ART_CONTEST":"Concurso de arte","WEBSITE_MY_ACCOUNT":"Mi cuenta","WEBSITE_MAINPAGE_FAQ_001_H1":"¿Qué es Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio es un \'media center\' moderno que te da la libertad de ver todo lo que quieras.","WEBSITE_MAINPAGE_FAQ_002_H1":"¿Cómo funciona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Una vez que Stremio esté instalado en tu dispositivo y hayas creado una cuenta, todo lo que tienes que hacer es ver el catálogo de complementos para instalar el complemento que quieras y estarás listo para comenzar a explorar contenido.","WEBSITE_MAINPAGE_FAQ_002_P2":"A continuación, puede ir a las secciones Descubrir o Panel para comenzar a explorar contenido.","WEBSITE_MAINPAGE_FAQ_003_H1":"¿Qué puedo ver?","WEBSITE_MAINPAGE_FAQ_003_P1":"Muchas cosas: Películas, series, canales web, deporte, canales de televisión, podcasts, etc. Gracias a nuestro sistema de complementos puedes acceder a una gran variedad de contenidos.","WEBSITE_MAINPAGE_FAQ_004_H1":"¿Es Stremio software libre?","WEBSITE_MAINPAGE_FAQ_004_P1":"Sí, puedes consultar los siguientes enlaces: ${1}aplicación de escritorio${2} y ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"¿Es Stremio seguro?","WEBSITE_MAINPAGE_FAQ_005_P1":"Sí: al ser software libre, el código es auditable publicamente y puedes revisarlo tú mismo.","WEBSITE_MAINPAGE_FAQ_005_P2":"El sistema de complementos de Stremio también se creó teniendo en cuenta la seguridad del usuario. Los complementos no ejecutan ningún código localmente, por lo que no suponen ningún riesgo para su dispositivo.","WEBSITE_MAINPAGE_FAQ_006_H1":"¿Qué ocurre con mi privacidad?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respetamos la privacidad de los usuarios y no guardamos ningún dato personal exceptuando lo mínimo necesario para poder crear y sincronizar tu cuenta.","WEBSITE_MAINPAGE_FAQ_006_P2":"Hay un ${1}modo invitado{2} al crear la cuenta, que no requiere ningún dato: en éste modo, no hay ninguna llamada a nuestros servidores. Sin embargo, ésto tiene el coste de no tener disponible algunas características útiles como sincronizar tu biblioteca entre distintos dispositivos.","WEBSITE_MAINPAGE_FAQ_007_H1":"¿Puedo enviar el contenido a mi TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Sí, damos soporte a Chromecast y puedes enviar contenido de video desde la aplicación de escritorio o aplicación móvil (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"¿Cuantos complementos tiene Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"A finales de 2019, más de 50 - para más información, consulta nuestro catálogo de complementos.","WEBSITE_MAINPAGE_FAQ_009_H1":"¿Es posible ampliar Stremio más allá de lo que se ofrece en el catálogo de complementos?","WEBSITE_MAINPAGE_FAQ_009_P1":"Sí, deberías visitar: ${1}PimpMyStremio${2}, ${3}la comunidad en Reddit{4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"¿Qué dispositivos soporta Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Tenemos aplicaciones de escritorio para Windows, Mac y GNU/Linux. Para móviles o celulares, damos soporte a Android e iOS, aunque la funcionalidad en iOS es limitada (no soporta muchos complementos).","WEBSITE_MAINPAGE_FAQ_010_P2":"Hay muchos dispositivos basados en Android en los cuales puedes ejecutar Stremio, por ejemplo NVIDIA Shield y Amazon Fire Stick, aunque no damos soporte oficial.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Disponemos de aplicaciones de escritorio para Windows, Mac y Linux. También contamos con aplicaciones dedicadas para Android Mobile y Android TV. Para iOS y iPadOS sugerimos utilizar Stremio Web, aunque tiene una funcionalidad más limitada.","WEBSITE_MAINPAGE_FAQ_011_H1":"¿Pueden añadir cierto contenido a Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Lo sentimos, nosotros no proveemos del contenido, sin embargo, cuantos más complementos tengas instalads, mayor será el contenido que tendrás disponible.","WEBSITE_MAINPAGE_FAQ_012_H1":"¿Puede Stremio reproducir enlaces magnet?","WEBSITE_MAINPAGE_FAQ_012_P1":"Sí, y también puede reproducir enlaces HTTP normales, así como ficheros torrent(mediante arrastrar y soltar).","WEBSITE_MAINPAGE_FAQ_013_H1":"¿Puedo descargar un video y verlo offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Tener el contenido offline es una característica en desarrollo que estará disponible más adelante, aunque si dejas que Stremio cachee el contenido en tu dispositivo (revisa el panel de administración) podrás ver el contenido posteriormente sin conexión.","WEBSITE_MAINPAGE_FAQ_014_H1":"¡No funciona nada, ayuda!","WEBSITE_MAINPAGE_FAQ_014_P1":"¿Estás seguro de que has instalado los complementos? Si la respuesta es sí, dirigete a nuestro ${1}centro de ayuda${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"¿Cómo mantiene Stremio los costes de desarrollo?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ocasionalmente publicamos anuncios no intrusivos, pero estamos considerando pasar a un modelo de donación.","WEBSITE_MAINPAGE_FAQ_015_P2":"Si tienes más preguntas, visita nuestro ${1}centro de ayuda${2}.","HELP_LEARN_MORE":"Ayúdanos a saber más de ti.","LIFESTYLE":"Estilo de vida","SPORTS":"Deportes","FOOD_HEALTH":"Comida y Salud","BEAUTY_FASHION":"Belleza y Moda","NEWS":"Noticias","GAMING":"Juegos","SCIENCE_EDUCATION":"Ciencia y Educación","MUSIC":"Música","TRAVEL":"Viajes","LATE_NIGHT":"Programa nocturno","REALITY":"Reality","COMEDY":"Comedia","DIY":"Hazlo tú mismo","TECH":"Tecnología","CINEMA":"Cinema","CONTINUE":"Continuar","SLOW_LOADING":"¿CARGA LENTO?","I_GIVE_UP":"ME RINDO","LEARN_MORE":"Saber más","POOR_SOURCE":"Esta fuente posee poca disponibilidad o su conexión de internet no es suficientemente rápida","PICK_CATEGORIES_ERR":"Tienes que seleccionar al menos 3 categorías","ADJUST_TIMING":"Ajustar tiempo con ","ADJUST_SIZE":"Ajustar tamaño con ","SEARCH_ANYTHING":"Puedes buscar cualquier cosa...","ALL_CATEGORIES":"Todas","SEARCH_CATEGORIES":"Películas, Series, YouTube & TV","SEARCH_PERSONS":"Actores, Directores y Escritores","SEARCH_PROTOCOLS":"HTTP y enlaces magnéticos","SEARCH_TYPES":"Enlaces IMDB / TVDB","WATCHED":"Visto","SHOW_LESS":"Mostrar menos","LAST_SEARCHES":"Últimas búsquedas","CLEAR_HISTORY":"Borrar historial","CHOOSE_SOME":"ESCOGE ALGUNO DE ESTOS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote no se pudo cargar","STREMIO_OFFLINE":"Stremio está desconectado","STREMIO_EXPENSIVE_CONNECTION":"Hemos detectado que estás utilizando una conexión de datos móviles, ¿quieres continuar?","USE_DATA":"Usar datos","WARNING":"Advertencia","MORE_INFO":"Más información ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Cargando ...","STREMIO_TV_BACK_TO_LANGUAGES":"Regresar a lenguajes","STREMIO_TV_REMOTE":"Remoto","STREMIO_TV_GO_TO":"Ir a:","STREMIO_TV_OR_SCAN":"o escanear:","STREMIO_TV_ADDON_INSTRUCTIONS":"Por favor, siga las instrucciones para instalar su complemento preferido.","STREMIO_TV_LIVE_TV":"TV en directo","STREMIO_TV_RESUME_WATCHING":"Continuar viendo","STREMIO_TV_LOADING_BACKGROUND":"Cargando fondo","STREMIO_TV_CHECKING_AUTHENTICATION":"Verificando Autenticación","STREMIO_TV_LOADING_BOARD":"Cargando Panel","STREMIO_TV_LOGIN_HEADER_LINE_1":"Nosotros queremos que nuestros usuarios tengan la mejor experiencia personalizada posible con nuestro software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Esta es la razón por la cual le pedimos cree una cuenta y/o ingrese a ella.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Gracias por su comprensión,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"El equipo Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Para usar el Control Web con su teléfono inteligente / tableta / escritorio:","STREMIO_TV_WIFI_SETUP":"Configuración Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle no detecta una conexión a internet.","STREMIO_TV_WIFI_DETAILS_1":"Conectar a:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Contraseña a usar:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Abrir el navegador con el enlace:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Por Defecto","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Por Último Visto","STREMIO_TV_LIBRARY_SORT_NAME":"Por Nombre","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Por Nombre Descendente","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Por Veces Visto","STREMIO_TV_LIBRARY_SORT_WATCHED":"Por Vistos","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Por No Vistos","STREMIO_TV_DETAILS_SEASON_NUMBER":"Temporada ${1}","STREMIO_TV_STREAMS_LOADING":"Cargados ${1} / ${2} complementos...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} complemento continua cargando...","STREMIO_TV_PLAYER_SETTINGS":"Configuración del Reproductor","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Retraso de Subtítulos","STREMIO_TV_PLAYER_AUDIO_DELAY":"Retraso de audio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Escalado de vídeo","STREMIO_TV_PLAYER_CHAPTERS":"Capítulos","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Saltar ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Fuente no soportada","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Fallo al abrir el enlace externo","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"No ajustable en modo passthrough de audio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Reproducir con ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Reproducir con libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Cambiar al reproductor libVLC debido a un error de reproducción","STREMIO_TV_ADDONS_TITLE":"Utiliza Stremio en tu dispositivo móvil o PC para instalar o configurar complementos y pulsa \\"Sincronizar Complementos\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: asegúrate de utilizar la misma cuenta de Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizar Complementos","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Complementos sincronizados exitosamente","STREMIO_TV_ADDONS_SYNC_FAILED":"Fallo al sincronizar complementos","STREMIO_TV_META_LINK_FAILED":"Fallo al abrir meta enlace","STREMIO_TV_CATALOG_LOADING":"El catálogo sigue cargando...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Idioma de la interfaz actualizado","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema actualizado","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Reproductor predeterminado","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Reproductor externo","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Idioma Preferido","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Idioma Preferido Secundario","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Reproducción tunelizada","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Posibles errores de reproducción en algunos dispositivos","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Algunos formatos de video pueden no funcionar","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Sincronización de frecuencia de cuadros","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Desactivado","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Solo Frecuencia de Cuadros","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frecuencia de Cuadros y Resolución","STREMIO_TV_SETTINGS_NO_CACHING":"Sin caché","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Por Defecto","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Suave","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rápido","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Rápido","STREMIO_TV_SETTINGS_SERVER_URL":"URL del servidor de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versión del servidor","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Desconocido","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versión de Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Editar URL del servidor","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Ingrese la URL del servidor de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostrar estadísticas durante la carga","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Para leer la Política de Privacidad de Stremio, visite:","STREMIO_TV_SETTINGS_TOS_TEXT":"Para leer los Términos y Condiciones de Stremio, visite:","STREMIO_TV_NAV_SEARCH":"Buscar","STREMIO_TV_NAV_HOME":"Inicio","STREMIO_TV_NAV_DISCOVER":"Descubrir","STREMIO_TV_NAV_LIBRARY":"Biblioteca","STREMIO_TV_NAV_MOVIES":"Películas","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Canales","STREMIO_TV_NAV_TV":"TV en vivo","STREMIO_TV_NAV_SETTINGS":"Configuración","STREMIO_TV_NAV_ADDONS":"Complementos","STREMIO_TV_LOGIN_TITLE":"Asociar Cuenta","STREMIO_TV_LOGIN_EXPIRES_IN":"Expira en","STREMIO_TV_LOGIN_STEP_ONE":"Escanea el Código QR de arriba o visita","STREMIO_TV_LOGIN_STEP_TWO":"Inicia sesión a tu cuenta Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Solicitar un nuevo enlace","STREMIO_TV_LOGIN_LINK_REFRESHED":"Código de login actualizado","STREMIO_TV_SEARCH_PLACEHOLDER":"Escribe algo","STREMIO_TV_SEARCH_NO_ADDONS":"¡No se solicitaron complementos para los catálogos!","STREMIO_TV_SEARCH_BUTTON":"Buscar","STREMIO_TV_SEARCH_KEY_DEL":"Borrar","STREMIO_TV_SEARCH_KEY_SPACE":"Espacio","STREMIO_TV_SEARCH_KEY_CLEAR":"Limpiar","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historial de Búsqueda","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Puedes buscar por Título, Actores, Canales y más...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Vaciar el Historial de Búsqueda","STREMIO_TV_FILTERS_DESCRIPTION":"Elija uno de los filtros a continuación","STREMIO_TV_STREAMING_SERVER_OFFLINE":"El servidor de streaming está desconectado. Verifique la configuración del servidor.","FILTERS":"Filtros","SETTINGS":"Configuración","ACCOUNT":"Cuenta","LOGOUT":"Cerrar Sesión","THEMES":"Temas","PLAYBACK":"Reproducción","PLAYBACK_SPEED":"Velocidad de Reproducción","AUDIO_TRACKS":"Pistas de Audio","UNKNOWN_TRACK_LANG":"Desconocido","VIDEOS":"Videos","SERVER":"Servidor","LINKS":"Enlaces","ABOUT":"Acerca De","INTERFACE":"Interfaz","ANIMATIONS":"Animaciones","STATUS":"Estado","LANGUAGE":"Idioma","SIZE":"Tamaño","DELAY":"Retraso","BOLD":"Negrita","OPACITY":"Opacidad","TEXT_COLOR":"Color del Texto","OUTLINE_COLOR":"Color del Contorno","BACKGROUND_COLOR":"Color de Fondo","BACKGROUND_BLUR":"Desenfoque de Fondo","SEEK_TIME_DURATION":"Duración del Tiempo de Búsqueda","AUTO_PLAY":"Reproducir el Episodio Siguiente automáticamente","PLAY_NOW":"Reproducir Ahora","MARK_AS_WATCHED":"Marcar como Visto","MARK_AS_UNWATCHED":"Marcar como No Visto","REWIND_TO_BEGINNING":"Rebobinar al Principio","CONTINUE_WATCHING":"Seguir Viendo","ALL":"Todo","SECONDS":"segundos","ON":"ENCENDIDO","OFF":"APAGADO","RELOAD":"Recargar","EDIT_URL":"Editar URL","URL":"URL","NONE":"Ninguno","EMBEDDED":"Embebido","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Cambiar dispositivos","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Ajustar tiempo","REMOTE_ADJUST_SIZE":"Ajustar tamaño","REMOTE_COULD_NOT_BE_LOADED":"El Control Web podría no cargar","REMOTE_RETRY":"Volver a intentar","TORRENT_PROFILE_DEFAULT":"Por Defecto","TORRENT_PROFILE_SOFT":"Suave","TORRENT_PROFILE_FAST":"Rápido","TORRENT_PROFILE_ULTRA_FAST":"Ultra Rápido","MB_S":"MB/s","FAQ_001_H1":"¿Qué es Stremio?","FAQ_001_P1":"Stremio es un software de centro multimedia diseñado para el entretenimiento de vídeo pensando en el fácil uso. Stremio te permite organizar y ver tu propia colección de películas, series, canales y programas en vivo.","FAQ_001_P2":"Stremio colecta el contenido que muestra desde tu disco local y nuestro sistema de complementos.","FAQ_001_P3":"Te notificará cuando nuevos episodios, películas y vídeos en los cuales estás interesado salgan y proveerá recomendaciones de películas para ti.","FAQ_02_H1":"¿Cómo se compara Stremio con Kodi y Plex?","FAQ_02_P1":"Estamos inspirados por estas dos piezas de software. Pero tenemos diferentes objetivos - Stremio es específicamente pensado en el entretenimiento de vídeo, y se esfuerza por convertirse en la solución principal para eso al ser muy fácil de usar.","FAQ_02_P2":"Stremio nunca será tan personalizable y rico en características como Kodi y Plex, pero es significativamente más fácil de usar. ${1} Obtén y mira ${2} :)","FAQ_03_H1":"¿Cómo se compara Stremio con Netflix?","FAQ_03_P1":"Nuevamente, Netflix es una de nuestras inspiraciones. Nos esforzamos por lograr la experiencia del usuario de Netflix, además de muchos extras adicionales. Pero más importante, te damos la libertad de manejar tu propia biblioteca y agregar nuevas fuentes de contenido con nuestro sistema de complementos.","FAQ_03_P2":"Esto hace a Stremio infinitamente extensible, entonces cuando usas Stremio, no estás limitado al contenido que Netflix decide licenciar. Por ejemplo, a través de Stremio puedes ver contenido desde ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} e incluso ¡${9}Netflix${10} mismo!","FAQ_04_H1":"¿Cómo se compara Stremio con Flipboard?","FAQ_04_P1":"No nos hacemos esa pregunta frecuentemente, excepto cuando hablamos con emprendedores :)","FAQ_04_P2":"Stremio es por diseño un recopilador de contenido, lo cual esencialmente lo hace un Flipboard para vídeo. Esto es muy evidente en nuestra sección de Panel, que te da un catálogo y notificaciones de nuevos episodios y vídeos que sigues, tal como Flipboard.","FAQ_05_H1":"¿Cómo se compara Stremio con Popcorn Time?","FAQ_05_P1":"Stremio y Popcorn Time son similares en la interfaz de usuario, porque no hay muchas formas de hacer catálogos de entretenimiento de vídeo correctamente :)","FAQ_05_P2":"Mientras que Popcorn Time es enfocado en transmitir torrents desde fuentes específicas, Stremio no es restrictivo y es meramente un recopilador de contenido - no se restringe a una fuente específica de contenido.","FAQ_05_P3":"Además, nosotros no proveemos ningún complemento torrent por defecto, así Stremio no cubre el caso de uso de Popcorn Time oficialmente.","FAQ_05_P4":"Otra diferencia notable es que Popcorn Time es completamente código abierto, mientras Stremio es ${1} parcialmente código abierto${2}.","FAQ_06_H1":"¿Agregarán esta película/serie?","FAQ_06_P1":"No, disculpa :(","FAQ_06_P2":"Como es mencionado en la mayoría de las otras preguntas, Stremio no provee contenido alguno por si mismo - todo es agregado a través de un sistema de complementos. En caso de quieras solicitar un contenido, puedes usar el botón “Reportar” en el reproductor, el cual enviará un correo al autor del complemento que estás usando actualmente.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"¿Crearan un complemento para X?","FAQ_08_P1":"Es completamente posible.","FAQ_08_P2":"Si tienes una idea para un complemento, escríbenos a ${1}office@stremio.com${2}, pero asegúrate de que tu idea complementaria no infrinja los derechos de autor ni los términos de uso.","FAQ_08_P3":"En el momento, la siguiente cosa en nuestro plan de trabajo son complementos para FandangoNOW, vídeo bajo demanda Filmon.tv y Crunchyroll.","FAQ_09_H1":"¿Usa Stremio BitTorrent?","FAQ_09_P1":"Si, Stremio soporta BitTorrent como un protocolo de transmisión. Puedes usar este con un complemento torrent, arrastrando y soltando un archivo .torrent en Stremio, o pegando un enlace magnético en la barra de búsqueda.","FAQ_09_P2":"Por favor note que el único complemento oficial usando BitTorrent es ${1}Vodo${2}, el cual provee contenido independiente, todos permitidos para ser distribuidos con BitTorrent.","FAQ_09_P3":"No soportamos el uso de cualquier complemento de terceros que pueda infringir derechos de autor.","FAQ_10_H1":"¿Qué puedo ver en Stremio con los complementos oficiales?","FAQ_10_P1":"Por defecto, puedes ver contenido de Filmon.tv, YouTube y Vodo en Stremio mismo, con su reproductor embebido. Adicionalmente, tenemos un complemento para Twitch.tv y otros tantos.","FAQ_10_P2":"Esto combinado provee una selección de:","FAQ_10_L1":"Canales de televisión populares, proveídos por Filmon.tv - por ejemplo E4, BBC, Bollyworld TV","FAQ_10_L2":"Todo desde YouTube - por ejemplo BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Películas independientes con Vodo","FAQ_10_L4":"Transmisiones de juegos en línea con Twitch.tv","FAQ_10_P3":"Adicionalmente, hay muchas fuentes de contenido provistas con los complementos de Guidebox y Netflix, los cuales <b>no</b> reproducirán completamente dentro de Stremio, pero podría redirigirte al service dado. For example, el complemento de Guidebox puede darte una selección de películas que puedes reproducir en Estados Unidos gratuitamente, desde servicios como TubiTV y Crackle.","FAQ_11_H1":"Stremio no instala, ¿Qué puedo hacer?","FAQ_11_P1":"Si estás en Windows, intenta ${1}este instalador alternativo${2}.","FAQ_11_P2":"Si estás en Mac OS X, ten presente que no soportamos versiones anteriores a OS X Mavericks (10.9).","FAQ_11_P3":"Si estás en Linux, ten presente que solo soportamos Linux de 64 bits (x64) en el momento.","FAQ_11_P4":"Si aún no puede resolver su problema, por favor escríbanos a nuestro ${1}grupo de Facebook${2}.","FAQ_12_H1":"¿Por qué mi antivirus reclama? ¿Es Stremio seguro?","FAQ_12_P1":"Aseguramos que Stremio ${1}100% libre de virus${2}.","FAQ_12_P2":"Su antivirus está reclamando porque nosotros incluimos publicidad en nuestro instalador, la cual es reconocida por algunos antivirus como software publicitario.","FAQ_12_P3":"Si aún estás inseguro, puedes probar nuestro ${1}instalador alternativo${2}.","FAQ_13_H1":"¿Cómo puedo crear un complemento?","FAQ_13_P1":"Para principiantes, recomendamos que revises nuestro ${1}módulo de sistema de complementos${2} en GitHub.","FAQ_13_P2":"Después, puedes seguir el ${1}tutorial: Hello World${2}.","FAQ_13_P3":"Si no tienes habilidades en programación, por favor publica tu idea en ${1}la comunidad Reddit${2} y contáctanos con tu idea de complemento a ${3}office@stremio.com${4}.","FAQ_14_H1":"¿Cómo se publican complementos?","FAQ_14_P1":"Cuando creas un complemento y lo alojas, y pones un campo <b>endpoint</b> en su manifiesto, que apunta a una dirección de complemento funcional, el complemento automáticamente se publicará por si mismo en nuestro ${1}catálogo de complementos${2}.","FAQ_14_P2":"Esto sucede porque la parte del servidor del módulo stremio-addons realiza automáticamente una llamada a nuestra API para anunciar el complemento. Cuando nuestra API valida su <b>endpoint</ b> como un complemento válido, comenzará a mostrarse en el catálogo.","FAQ_15_H1":"¿Puedo ejecutar Stremio en mi navegador?","FAQ_15_P1":"No en este momento, ¡pero vendrá pronto!","FAQ_15_P2":"Si tienes curiosidad de ver un alfa, puedes verlo aquí: ${1}alpha4.strem.io${2}. Ten en mente que la transmisión es deshabilitada en este alfa. Soportamos Chrome, Firefox, Opera y Edge.","FAQ_16_H1":"Transmitir al televisor no funciona / subtítulos no funcionas","FAQ_16_P1":"La transmisión al televisor usa tecnología DLNA, que es muy inconsistente entre diferentes marcas y modelos de televisor. Por esa razón, no tenemos la capacidad de probarlo en todos los casos, por lo que está lejos de ser perfecto. A pesar de esto, estamos trabajando para mejorarlo constantemente, pero no podemos darle una estimación de cuándo la tecnología DLNA comenzará a funcionar correctamente con su televisor.","FAQ_16_P2":"Si ni siquiera ve su televisor en el menú de transmisión, intente deshabilitar su conexión de red y volver a habilitarla (en Windows, haga clic derecho en la red y use Activar/Desactivar), y reinicie su enrutador, televisor y computador.","FAQ_16_P3":"Si aún presentas problemas, puedes ayudarnos enviándonos la información de marca y modelo de tu televisor a ${1}office@stremio.com${2}.","FAQ_16_P4":"En el momento, recomendamos Chromecast, el cual soportamos bastante bien, o simplemente conecta a tu televisor con un cable HDMI.","FAQ_17_H1":"Stremio se bloquea y/o cierra, ¿qué puedo hacer?","FAQ_17_P1":"Primero que todo, si estás usando Windows 7 con el antivirus AVG: tenemos un problema con esta combinación. El problema es en el mismo AVG y no hay forma razonable para resolver el problema para nuestro fin. Desafortunadamente, excepciones o deshabilitar el antivirus no funcionará. La única solución es reemplazar AVG con otro antivirus.","FAQ_17_P2":"Si esto no soluciona el problema, pero aún estás usando Windows, por favor actualiza al último <i>service pack</i> y actualiza/reinstala tus controladores de la GPU, luego intenta de nuevo.","FAQ_17_P3":"Si su problema aún no se resuelve, o estás usando un Mac o Linux, por favor escríbenos reportando los detalles exactos del problema a ${1}nuestro grupo de Facebook${2}.","FAQ_18_H1":"¿Cómo puedo crear un complemento?","FAQ_18_P1":"Para principiantes, recomendamos que revises nuestro ${1}módulo de sistema de complementos${2} en GitHub.","FAQ_18_P2":"Después, puedes seguir el ${1}tutorial: Hello World${2}.","FAQ_18_P3":"Si no tienes habilidades en programación, por favor publica tu idea en ${1}la comunidad Reddit${2} y contáctanos con tu idea de complemento a ${3}office@stremio.com${4}.","FAQ_19_H1":"¿Por qué Stremio ocupa espacio en disco?","FAQ_19_P1":"Stremio tiene una <b>cache local</b> para almacenar temporalmente los archivos de vídeo que ves.","FAQ_19_P2":"Esto tiene dos beneficios: primero, esto permite a Stremio precargar el vídeo y así asegurar una transmisión más fluida. Segundo, este guarda los vídeos en la cache local, así puedes continuar viéndolos sin conexión.","FAQ_19_P3":"La cantidad que almacena Stremio depende de la configuración de <b>Cache<b> en el panel de Configuración. Stremio puede ser configurado para almacenar una cantidad (ej. 2GB) en su disco local, a menos que el vídeo transmitido actualmente sea mayor que eso, en cuyo caso tendrá que ubicar suficiente almacenamiento para guardarlo hasta que lo retransmitas","FAQ_20_H1":"¿Donde está la carpeta de almacenamiento?","FAQ_20_P1":"En Windows, es stremio-cache en el disco que seleccionaste en Configuración (ej. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"En MacOS, es \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"En Linux, es \\"~/.stremio/stremio-cache\\" o \\"~/stremio-cache\\"","FAQ_21_H1":"Obtengo el error \\"Streaming server is not found\\", ¿qué puedo hacer?","FAQ_21_P1":"Si ves este error, quiere decir una de las siguientes cosas::","FAQ_21_P2":"1) Estás intentando usar un complemento que depende de fuentes de Youtube/BitTorrent, a través de nuestra ${1}versión web${2}. En este caso, deberías instalar nuestra versión de escritorio desde ${3}nuestro sitio web${4}.","FAQ_21_P3":"2) Algo está mal con tu instalación de Stremio. En este caso, intenta reinstalar nuestra última versión de escritorio desde ${1}el sitio web${2}. Si esto no ayuda, intenta deshabilitar los programas de antivirus y el cortafuegos, reinicia tu computador e intenta de nuevo. Si esto tampoco funciona, escríbenos por favor a ${3}nuestro grupo de facebook${4}.","FAQ_22_H1":"No puedo ver/usar la mayoría de complementos en iOS","FAQ_22_P1":"Debido a las restricciones de los términos y condiciones de Apple App Store, tenemos restringida la aplicación iOS solo a un conjunto particular de complementos.","FAQ_22_P2":"Pero puedes estar seguro - habrán más complementos para iOS en el futuro, y podríamos también agregar una integración que te permita usar todos los complementos de Stremio gracias a la conexión de la aplicación iOS con el servidor de transmisión de Stremio."}')},53504:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Seriaal","TYPE_tv":"Telekanal","TYPE_channel":"Kanal","TYPE_other":"Muu","TYPE_movie_PL":"Filmid","TYPE_series_PL":"Seriaalid","TYPE_tv_PL":"Telekanalid","TYPE_channel_PL":"Kanalid","TYPE_other_PL":"Muu","TYPE_ALL":"Kõik","TYPE":"Tüüp","CATALOG_com_linvo_cinemeta_top":"Populaarne","CATALOG_com_linvo_cinemeta_imdbRating":"Esiletõstetud","CATALOG_com_linvo_cinemeta_year":"Uus","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Avalikult saadaval filmid","VIDEO":"Video","BACK":"Tagasi","MORE":"Veel","DONE":"Tehtud","COPY":"Kopeeri","SUCCESS":"Õnnestus","ERROR":"Viga","SETTINGS_CASTING_MODE_PICKER":"Ekraaniülekande viis","CASTING_MODE_HLSV2":"Tavaline","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Ümberkodeerimiseta","Discover":"Avasta","Board":"Kodu","Library":"Teek","My Library":"Minu teek","Calendar":"Kalender","NOTIFICATION_ONLINE":"Oled võrgus","NOTIFICATION_OFFLINE":"Sa ei ole hetkel võrgus","INTERNET_CONNECTION":"Netiühendus","STORAGE_FULL_TITLE":"Tähelepanu: maht on täis!","STORAGE_FULL_TEXT":"Stremio ei saa salvestada su sätteid, eelistusi ega kontoandmeid. Palun taaskäivitage või taaspaigaldage rakendus.","SEARCH":"otsi","SEARCH_NO_RESULTS":"Tulemusi ei leitud","SEARCH_EXPLANATION_CONTENT":"Otsi filme, sarju, YouTube-i ja telekanaleid","SEARCH_EXPLANATION_PEOPLE":"Otsi näitlejaid, lavastajaid ja stsenariste","SEARCH_PASTE_LINKS":"Kleebi HTTP või magnet-lingid","SEARCH_OR_PASTE_LINK":"Otsi või kleebi link","SEARCH_SUGGESTIONS":"Otsi soovitusi","ADD_TO_LIB":"Lisa teeki","REMOVE_FROM_LIB":"Eemalda teegist","ADDED_TO_LIB":"Lisatud teeki","REMOVED_FROM_LIB":"Eemaldatud teegist","TRAILER":"Treiler","WATCH_TRAILER":"Vaata treilerit","WATCH_NOW":"Vaata kohe","SHOW":"Näita","SHOW_MOVIE":"Näita filmi","WATCH_RANDOM":"Vaata suvalist","IMDB_RATING":"IMDb reiting","YEAR":"Aasta","DIRECTOR":"Lavastaja","WRITER":"Stsenarist","LEAD_ACTORS":"Peaosatäitjad","CAST":"Näitlejad","CREW":"Meeskond","SHOW_MORE_CAST":"Näita rohkem »","AIRED":"Eetriaeg","SEASONS":"Hooajad","GENRE":"Žanr","GENRE_ALL":"Kõik žanrid","CATALOG":"Kataloog","SUMMARY":"Kokkuvõte","SHOW_MORE":"Näita rohkem","SIMILAR":"Sarnane","UPCOMING":"Tulemas","TBA":"TBA","ENDED":"Lõppes","DURATION":"Kestus","FEATURED":"Esiletõstetud","METADATA":"Meta-andmed","CATEGORY":"Kategooria","LINKS_GENRES":"Žanrid","LINKS_CAST":"Näitlejad","LINKS_DIRECTORS":"Lavastajad","SEARCH_VIDEOS":"otsi videoid","SEARCH_PLACEHOLDER":"otsi või kleebi URL","ADDON":"laiendus","ADDONS":"Laiendused","OFFICIAL":"Ametlik","ADDONS_OFFICIAL":"Ametlikud Stremio laiendused","ADDONS_POPULAR":"Sinu regioonis populaarne","ADDON_FREE":"tasuta","ADDON_PEERED":"Võrgupõhine (peered)","ADDON_SUBSCRIPTION":"tellimus","ADDON_STREAM_GEORESTRICTED":"pole sinu regioonis saadaval","ADDON_STREAM_OFFLINECACHE":"Offlain-vahemälu","ADDON_STREAM_LOCALFILE":"Enda fail","SHARE_ADDON":"Jaga laiendust","AVAILABLE_STREAMS":"Saadaolevad vood","NO_STREAM":"Vooge ei leitud","ALL_ADDONS":"Kõik","INSTALL_MORE_ADDONS":"Rohkemate voogude leidmiseks palun paigaldage laiendusi juurde.","STREAM_NOT_SUPPORTED":"Valitud voog ei ole sel platvormil toetatud.","ADDON_CATALOGUE":"Näita kõiki laiendusi »","ADDON_CATALOGUE_MORE":"Paigalda laiendusi","REPO_ADDED":"Lisatud","ADDON_REPO_EXIST_ERR":"See laiendustekogu on juba olemas","ADDON_REPO_ERR":"Viga kollektsiooni lisamisel","ADDON_ADD_ERR":"Viga laienduse lisamisel","ERR_ADDON_PROTECTED":"Laiendust ei saa eemaldada, see on kaitstud","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Miskit läks nihu - autentimine võis ebaõnnestuda","ERR_NOT_COLLECTION_URL":"See ei ole kollektsiooni-URL","ERR_NOT_ADDON_URL":"See ei ole õige laienduse-URL","ERR_DETECTFROMURL":"Sellelt lingilt laiendust ei leitud","ADDON_DUPLICATE_WARNING":"Hoiatus: korduv laiendus","ADDON_COLLECTION_SET_FAILED":"Laienduste sünkroniseerimine ebaõnnestus","SETTINGS_DATA_EXPORT":"Ekspordi kasutaja-andmed","ADDON_PULL_FAILED":"Laienduste sünkroniseerimine ebaõnnestus","REFRESH_ON_CLICK":"Proovi uuesti","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film veel kinodes","WATCH_IN_CINEMA":"Vaata kohalikus kinos","IN_THEATER":"Kinodes","GET_TICKETS":"Hangi pilet","UPCOMING_EPISODE":"Järgmine episood","UPCOMING_EPISODE_MESSAGE":"Episood ilmub","MISSING_DATE_EPISODE":"Kuupäev puudub","MISSING_DATE_EPISODE_MESSAGE":"See jagu pole veel vist ilmunud","CHANNEL_NOT_SCRAPED":"Seda kanalit pole veel kraabitud.<br>Tulge tagasi mõne minuti pärast.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Lisa teeki, et saada teavitus, kui see on saadaval.","GET_NOTIFIED_WHEN_AVAILABLE":"Saad teavituse, kui see on saadaval.","WARNING_STREAMING_SERVER":"Hoiatus: kohalikku serverit ei leitud.","WARNING_STREAMING_SERVER_DISMISS":"Eira","WARNING_STREAMING_SERVER_LATER":"Hiljem","DECODER_WARNING":"Hoiatus: see video ei pruugi teie riistvaraga ühilduda. Arvestage, et esitus võib olla aeglane.","GENERIC_ERROR_MESSAGE":"Midagi läks valesti!","TRY_AGAIN":"Proovi uuesti","CLEAR_DATA":"Kustuta andmed","PLAYER_ERROR":"Oih, esitaja viga","PLAYER_ERROR_LOOKSLIKE":"Paistab, et","PLAYER_ORIENTATION":"Esitaja orientatsioon","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Lukustatud","PLAYER_ORIENTATION_SENSOR_SHORT":"Andur","PLAYER_ORIENTATION_LANDSCAPE":"Esitaja orientatsioon on lukustatud maastiku režiimis","PLAYER_ORIENTATION_SENSOR":"Esitaja orientatsioon on automaatne (andur)","PLAYER_PLAYBACK_SPEED":"Esituse kiirus","PLAYER_PLAYBACK_ERROR":"Esituse viga, palun proovi uuesti","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Tundmatu viga","PLAYER_PLAYBACK_ERROR_DEFAULT":"Vabandust, seda videot ei saa {{productName}} esitada.","PLAYER_SUBTITLES_LANGUAGES":"Subtiitrite keeled","PLAYER_SUBTITLES_VARIANTS":"Subtiitrite variandid","PLAYER_SUBTITLES_SETTINGS":"Subtiitrite sätted","PLAYER_SUBTITLES_DISABLED":"Subtiitrid on keelatud","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertikaalne asend","PLAYER_SUBTITLES_LOADED":"Subtiitrid on laetud","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Sisseehitatud subtiitrid on laetud","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Eksklusiivsed subtiitrid on laetud","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtiitrid allikast {{origin}} on laetud","PLAYER_PLAY":"Esita","PLAYER_PAUSE":"Peata","PLAYER_NEXT_VIDEO":"Järgmine video","PLAYER_MUTE":"Vaigista","PLAYER_UNMUTE":"Tühista vaigistus","PLAYER_OPEN_IN_EXTERNAL":"Ava välises esitajas","PLAYER_OPEN_IN_NPLAYER":"Ava nPlayeris","PLAYER_PLAY_IN":"Esita seadmes {{device}}","PLAYER_LIVE":"Otse","PLAYER_NEXT_VIDEO_TITLE":"Järgmine video","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Järgmine","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Loobu","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Vaata kohe","PLAYER_COPY_STREAM_SUCCESS":"Esituslink kopeeriti lõikelauale","PLAYER_COPY_STREAM_ERROR":"Esituslinki ei õnnestunud kopeerida","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Allalaadimislink kopeeriti lõikelauale","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Allalaadimislinki ei õnnestunud kopeerida","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"esitab allikast","CASTING_TO":"Kuvatakse seadmes","NETWORK_STATUS":"Võrguseisund","STREAM_SPEED":"Esituskiirus:","STREAM_BUFFERED":"Puhverdatud:","PEERS_INFO":"Paaride teave","PEERS_ACTIVE":"Aktiivsed:","PEERS_CONNECTED":"Ühendatud:","PEERS_WAITING":"Ootab:","TRANSCODING_WARNING":"Hoiatus: video kodeerimine.","STREAM_LOADING":"laadimine...","PLAYING_LOCAL":"esitamine kohalikust failist","PLAYING_CACHE":"esitamine vahemälust","WRONG_SUBS":"Valed subtiitrid?","ERR_SUBS_LOADING_TITLE":"Viga subtiitrite laadimisel","ERR_SUBS_LOADING":"Subtiitreid ei õnnestunud laadida: probleem võib olla teie kasutatavas laienduses või võrgus.","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Järgmised subtiitrite laiendused ebaõnnestusid","ERR_CASTING_UPDATE_TITLE":"Edastusseadet ei õnnestunud värskendada: server võib olla võrguühenduseta","CHOOSE_DEVICE":"Valige seade, millel vaadata","NO_CAST_DEVICES":"Edastus-seadmeid pole saadaval.","NO_SETTINGS":"Seadmed puuduvad.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Tahvelarvuti","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtiitrid","SUBTITLES_CHANGE":"Muuda subtiitreid","SUBTITLES_CHANGE_NONE":"Selle keele jaoks pole muid subtiitreid, vabandame.","SUBTITLES_CHANGE_ACIVE":"Praegu on aktiveeritud subtiitrid #{{subtitlesDialog.activeIdx + 1}}. Vajuta \\"Jätka\\" subtiitrite #{{subtitlesDialog.pickedIdx + 1}} aktiveerimiseks.","SUBTITLES_OR":"Alternatiivina,","SUBTITLES_ADJUST_DELAY":"Subtiitrite viivituse kohandamine:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Või kasutage esitamise ajal <span>G</span> / <span>H</span> klahve viivituse kohandamiseks.","SUBTITLES_ADJUST_DELAY_TIP":"Vihje: kasutage esitamise ajal <span>G</span> / <span>H</span> klahve viivituse kohandamiseks.","SUBTITLES_DELAY":"Subtiitrite viivitus:","SUBTITLES_LOADING":"Subtiitrid laaditakse...","SUBTITLES_UNAVAILABLE":"Väliseid subtiitreid pole saadaval","SUBTITLES_DISABLED":"Keelatud","EXTERNAL_PLAYER_DISABLED":"Keelatud","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Luba valik","EXTERNAL_PLAYER_HINT":"Vihje: Seade, mis võimaldab alati avada välises esitajas","DONT_SHOW_AGAIN":"Ära näita enam","SERVICE_INSTALL":"Paigalda","AUDIO":"Heli","DEFAULT_LANGUAGE":"Eelistatud keel","DEFAULT_SECONDARY_LANGUAGE":"Teine eelistatud keel","SEASON":"Hooaeg","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Osa","EPISODE_ABBREVIATION":"EP","SPECIAL":"Eriosa","SORT":"sorteeri","SORT_BY":"Sorteeri","FILTER":"filtreeri","SORT_TRENDING":"populaarsemad","SORT_RECENT":"uuemad","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"hinnang","SORT_WATCHED":"vaadatud","SORT_YEAR":"aasta","SELECT":"Select","SELECT_TYPE":"Vali tüüp","SELECT_SORT":"Vali sorteerimine","SELECT_CATALOG":"Vali kataloog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Vali žanr","SORT_LASTWATCHED":"viimati vaadatud","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"enim vaadatud","SORT_NOTWATCHED":"pole vaadatud","New for You":"Uus sulle","New Episodes":"Uued osad","New Videos":"Uued videod","Recommendations":"Soovitused","LIBRARY_RESUME":"Jätka","LIBRARY_PLAY":"Esita","LIBRARY_DETAILS":"Üksikasjad","LIBRARY_RESUME_DISMISS":"Loobu","LIBRARY_CLEAR_PROGRESS":"Kustuta progress","LIBRARY_REMOVE":"Eemalda","LIBRARY_NOT_LOGGED_IN":"Teek on saadaval ainult sisselogitud kasutajatele","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Kalender on saadaval ainult sisselogitud kasutajatele","NOT_LOGGED_IN_CLOUD":"Pääsete oma lemmikfilmidele ja -sarjadele ligi igal ajal ja igal pool","NOT_LOGGED_IN_RECOMMENDATIONS":"Soovitused teie vaatamisajaloo põhjal","NOT_LOGGED_IN_NOTIFICATIONS":"Ärge jätke ühtegi episoodi vahele","NOT_LOGGED_IN_CALENDAR":"Planeerige oma vaatamiskalender","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Esiletõstetud","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscarite võitjad","DISCOVER_WARNING_TITLE":"Oih!","DISCOVER_EMPTY_CATALOG":"See laiendus tagastas tühja sisu.","DISCOVER_ADULT_WARNING":"Sisu on nähtav ainult täiskasvanutele. Kas olete üle 18?","DISCOVER_NOADDON_WARNING":"Hoiatus: selle tüübi jaoks pole Stremio laiendust. Näitame salvestatud üksusi, midagi siin ei uuendata.","DISCOVER_LOAD_ERR":"Sisu ei laaditud, ilmnes tõrge.","DISCOVER_ADDON_UNINSTALLED":"See sisu pole enam saadaval, võib-olla olete laienduse eemaldanud.","UNINSTALL_THIS_ADDON":"Eemalda see laiendus","ERR_ADDON_NOT_INSTALLED":"See laiendus pole paigaldatud. Paigalda nüüd?","DETAIL_RECEIVE_NOTIF_SERIES":"Saa teavitusi uute osade kohta","DETAIL_RECEIVE_NOTIF_VIDEOS":"Saa teavitusi uute videote kohta","SIDEBAR_SHOW_STREAMS":"Kuva edastusvood","RELAUNCH":"Käivita uuesti!","UPGRADE":"Uus versioon on saadaval! Uuenda Stremio viimase versioonini","RELOAD_UI":"Laadi kasutajaliides uuesti","MANUAL_UPDATE_TITLE":"Uuenda oma Stremio versiooni","MANUAL_UPDATE_LINE1":"Kasutad aegunud Stremio versiooni, mis ei ole soovitatav.","MANUAL_UPDATE_LINE2":"Palun uuenda seda nii kiiresti kui võimalik.","BUTTON_UPDATE_LATTER":"Mitte praegu","BUTTON_UPDATE_NOW":"Uuenda","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonüümne kasutaja","DONT_HAVE_ACC":"Ei ole veel kontot?","HAVE_ACC":"Juba on konto?","PASSWORD":"Parool","PASSWORD_CONFIRM":"Kinnita parool","EMAIL":"E-post","FB_LOGIN":"Jätka Facebookiga","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Midagi ei jagata ilma sinu loata","FB_NOPOST":"Me ei tee sinu nimel ühtegi postitust","OR":"või","I_ACCEPT":"Nõustun","I_ACCEPT_BY_CLICKING":"Klikkides eelnimetatud nupule kinnitan, et nõustun ","TOS":"Kasutustingimustega","MUST_ACCEPT_TERMS":"Pead nõustuma tingimustega","PASSWORDS_NOMATCH":"Paroolid ei ühti","SIGN_UP":"Registreeru","SIGN_UP_EMAIL":"Registreeru e-posti teel","CLICK_TO_SIGN_UP":"Kliki siia, et registreeruda.","LOG_IN":"Logi sisse","LOG_OUT":"Logi välja","EXIT_FULLSCREEN":"Välju täisekraanilt","ENTER_FULLSCREEN":"Täisekraanile","PLAY_URL_MAGNET_LINK":"Esita URL/Magnet-link","HELP_FEEDBACK":"Abi ja tagasiside","TERMS_OF_SERVICE":"Kasutustingimused","PRIVACY_POLICY":"Privaatsuspoliitika","ABOUT_STREMIO":"Stremio kohta","USER_PANEL":"Kasutajapaneel","LOGIN_LABEL":"Logi sisse","GUEST_LOGIN":"Sisselogimine külalisena","GUEST_LOGIN_NOTICE":"Külalisena sisselogimine ei ole soovitatav. Tavalise sisselogimise abil saad Stremioga sünkroonida oma teegi, saada teavitusi lemmikute sarjade/kanalite kohta. Kas oled kindel, et soovid jätkata?","GUEST_LOGIN_NOTICE_2":"Külalisena sisselogimine ei ole soovitatav - sul ei ole sünkroonitud teeki ega teavitusi, mis on Stremio põhilised funktsioonid. Kas oled kindel, et soovid jätkata?","CLICK_HERE":"kliki siia","WRONG_PASSWORD":"Vale e-post või parool. Kui oled unustanud oma parooli, ","SET_A_PASS":"määra parool","RESET_PASSWORD":"Taasta parool","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Unustasid parooli?","EMAIL_USED_WITH_FB":"Seda e-posti kasutati Facebooki sisselogimiseks.","INVALID_EMAIL":"Sisesta palun kehtiv e-posti aadress","INVALID_PASSWORD":"Sisesta palun kehtiv parool","CONN_ERR":"Ühendusveateade - palun proovi hiljem uuesti.\\n\\nKui see jätkub, lülita välja tulemüürid/viirusetõrjetarkvara (eriti Bitdefender).","IMPORT_FROM_GUEST":"Impordi teek külaliskontolt","RECEIVE_UPDATES_EMAIL":"Saa Stremio uuenduste teated oma e-postile","LOGIN_FAILED":"Sisselogimine ebaõnnestus.","SIGNUP_FAILED":"Registreerimine ebaõnnestus.","SEARCH_FAILED":"Otsing ebaõnnestus","EMAIL_USED":"See e-posti aadress on juba kasutusel.","WAITING_FB_LOGIN":"Sisselogimine Facebookiga...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Esita välises Esitajas","EXTERNAL_REMEMBER_PLAYER":"Kas soovid seda valikut meeles pidada","EXTERNAL_ALWAYS_PLAY":"Jah","EXTERNAL_ONLY_ONCE":"Ei","BEST_FIT":"Parim sobivus","FIT_SCREEN":"Mahutle ekraanile","FILL":"Täida","16:9":"16:9","4:3":"4:3","Original":"Originaal","INTRO_TASTE":"Räägi meile oma huvidest","INTRO_TASTE_LONG":"Räägi meile, mida tahaksid vaadata","INTRO_TASTE_PICK":"Vali {{interestsRemaining}} huvi","INTRO_TASTE_PICK_MORE":"Vali {{interestsRemaining}} täiendavat huvi","INTRO_TASTE_HELP_US":"Aita meil sind paremini tundma õppida.","INTRO_TASTE_CHOOSE_THESE":"Vali mõned neist:","INTRO_TASTE_CHOOSE_MIN":"Vali vähemalt 3 kategooriat","INTRO_TASTE_CHOOSE_MIN_ERR":"Pead valima vähemalt 3 kategooriat!","INTRO_TASTE_LIFESTYLE":"Eluviis","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Toit ja tervis","INTRO_TASTE_BEAUTY_FASHION":"Ilu ja mood","INTRO_TASTE_NEWS":"Uudised","INTRO_TASTE_GAMING":"Mängud","INTRO_TASTE_SCIENCE_EDU":"Teadus ja haridus","INTRO_TASTE_MUSIC":"Muusika","INTRO_TASTE_TRAVEL":"Reisimine","INTRO_TASTE_LATE_NIGHT":"Hilised ööshow\'d","INTRO_TASTE_REALITY":"Tõsielusarjad","INTRO_TASTE_COMEDY":"Komöödia","INTRO_TASTE_DIY":"Teeme ise (DIY)","INTRO_TASTE_TECH":"Tehnoloogia","INTRO_TASTE_CINEMA":"Kino","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Valitud laiendust ei toetata sellel platvormil.","ADDON_DISCLAIMER":"Kolmandate osapoolte laienduste kasutamine on alati sinu enda vastutus ja sõltub sinu asukohariigi õigusaktidest.","ADDON_ACTIVATE":"Kas aktiveerida see laiendus?","ADDON_REPO_ADD":"Laiendustekogu URL","ADDON_ADD":"Lisa","INSTALL_ADDON":"Paigalda laiendus","ADD_ADDON":"Lisa laiendus","ADD_ADDON_DESCRIPTION":"Saad lisada laienduse välise lingi kaudu, mis kuvatakse paigaldatud laienduste all.","PASTE_ADDON_URL":"Kleebi laienduse URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Mis on uut","BUTTON_CONTINUE":"Jätka","BUTTON_ACTIVATE":"Aktiveeri","BUTTON_ACTIVATED":"Aktiveeritud","BUTTON_CANCEL":"Tühista","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Esita","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Uuri kõik","BUTTON_VIEW_ALL":"kuva kõik","BUTTON_SEE_ALL":"Vaata kõiki","BUTTON_COLOR_TRANSPARENT":"Läbipaistev","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Ava veebilehitsejas","LIB_EMPTY":"Sinu teek paistab tühi olevat. Avasta, kui kasulik see on :) ","HOW_START":"Siin on kirjas, kuidas saad alustada:","LIB_EMPTY_CAL":"Sinu kalender näitab sarjasid, mis on sinu teegis.","HOW_START_CAL":"Siin on, kuidas saad sarjasid lisada:","LIB_EMPTY_BOARD":"Koduleht kuvab teavitusi ja soovitusi, mis on seotud sinu teegiga.","HOW_START_BOARD_WAIT":"Palun lisa oma teeki mõned sarjad või kanalid ning anna meile mõni minut, et neid töödelda :)","HOW_START_BOARD":"Siin on näidatud, kuidas saad sarjasid ja filme lisada:","IMPORT_FB":"Impordi asju, mis sulle meeldivad <span>Facebookist</span>","IMPORT_TRAKT":"Impordi oma meediateek <span>Trakt</span>-ist","IMPORT_DISCOVER":"Leia huvitavaid asju <span>Avastuslehelt</span>","IMPORT_DISK":"Impordi filmid või sarjad, mis on sinu <span>kohalikul kettalt</span>","PLEASE_CREATE_ACC":"Palun <u>loo konto</u>, et lubada teegi sünkroonimist ja muid teenuseid.","IMPORT_DISCOVER_SIGNUP":"Registreeru ja leia huvitavaid asju <span>Avastuse sektsioonist</span>","IMPORT_DISK_SIGNUP":"Registreeru ja impordi filmid või sarjad, mis on sinu <span>kohalikul kettal</span>","LIB_EMPTY_CLOUD":"Pilveteek","LIB_EMPTY_CLOUD_DESC":"Isiklik pilveteek, mis on sünkroonitud kõikide seadmetega","LIB_EMPTY_EARLY":"Varajane pääsuke","LIB_EMPTY_EARLY_DESC":"Saa teavitusi uute episoodide kohta","LIB_EMPTY_PERSONAL":"Isiklik","LIB_EMPTY_PERSONAL_DESC":"Saa isiklikke soovitusi","LIB_EMPTY_CALENDAR_DESC":"Planeeri oma isiklik vaatamise kalender","LIB_EMPTY_ALL":"Registreeru, et saada kõike seda:","LIB_EMPTY_BEST":"Registreeru, et saada parim kogemus","LIB_EMPTY_OTHER":"Registreeru, et lubada kalendrit ja muid põnevaid funktsioone","CALENDAR_ADDED":"Stremio kalender on lisatud sinu vaikimisi töölauakalendriks.","CALENDAR_ADDED_MSG":"Kui see ei tööta, palun lisa see URL-i käsitsi oma kalendrirakendusse","TRAKT_EXPIRED":"Trakti autentimine aegus, palun mine Seadetesse ja authenticakse uuesti","TRAKT_REQUIRES_LOGIN":"Trakti viga","TRAKT_REQUIRES_LOGIN_MSG":"Pead sisse logima","TRAKT_IMPORT_WATCHED":"Impordi","THEME":"Teema","THEME_DEFAULT":"Vaikimisi","THEME_ADAPTIVE":"Kohandatud","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Seaded","SETTINGS_NAV_GENERAL":"Üldine","SETTINGS_NAV_PLAYER":"Pleier","SETTINGS_NAV_STREAMING":"Voogedastus","SETTINGS_NAV_SHORTCUTS":"Otseteеd","SETTINGS_SHORTCUT_RELOAD_APP":"Laadi rakendus uuesti","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Ava sätted","SETTINGS_SHORTCUT_SWITCH_TABS":"Vaheta vahelehti","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Liigu järgmisele vahelehele","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Liigu eelmisele vahelehele","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigeeri menüüde vahel","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Mine otsingu juurde","SETTINGS_SHORTCUT_EXIT_BACK":"Välju / Mine tagasi","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Esituskiiruse menüü","SETTINGS_SHORTCUT_MENU_VIDEOS":"Videote menüü","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Subtiitrite menüü","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Info menüü","SETTINGS_SHORTCUT_FULLSCREEN":"Täisekraan","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Kuva Juhtnupud","SETTINGS_SHORTCUT_PLAY_PAUSE":"Esita / Pane pausile","SETTINGS_SHORTCUT_VOLUME_UP":"Volüümi juurde","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volüümi vähemaks","SETTINGS_SHORTCUT_SEEK_NEXT":"Järgmine","SETTINGS_SHORTCUT_SEEK_PREV":"Eelmine","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Tagasi","SETTINGS_SHORTCUT_SEEK_FORWARD":"Edasi","SETTINGS_SHORTCUT_PLAY_NEXT":"Esita järgmist","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Subtiitrid suuremaks","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Subtiitrid väiksemaks","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Suurenda subtiitrite viivitust","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Vähenda subtiitrite viivitust","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Küljeriba","SETTINGS_SHORTCUT_OR":"või","SETTINGS_SHORTCUT_TO":"kuni","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Tühik","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autendi","SETTINGS_FACEBOOK_IMPORT":"Impordi","SETTINGS_CALENDAR_SUBSCRIBE":"Telli","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Kalendrirakendus avati. Tellige kalendriteavitused käsitsi.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Kalendrifail laaditi alla. Avage see oma kalendrirakenduses.","SETTINGS_INTERFACE_LANGUAGE":"Kasutajaliidese keel","SETTINGS_LAUNCH_STARTUP":"Ava käivitamisel","SETTINGS_VLC_DEFAULT":"Esita VLC-ga","SETTINGS_UI_LANGUAGE":"Kasutajaliidese keel","SETTINGS_UI_ZOOM":"Kasutajaliidese suum (zoom)","SETTINGS_FULLSCREEN_EXIT":"Escape nupp välju täisekraanilt","SETTINGS_GAMEPAD":"Luba gamepad-i toetus","SETTINGS_CLOSE_WINDOW":"Sule rakendus, kui aken sulgub","SETTINGS_SUBTITLES_LANGUAGE":"Eelistatud subtiitrite keel","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Eelistatud subtiitrite suurus","SETTINGS_SUBTITLES_BACKGROUND":"Subtiitrite tagataust","SETTINGS_SUBTITLES_COLOR":"Subtiitrite värv","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtiitrite piirjoone värv","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtiitrite taustavärv","SETTINGS_SEEK_KEY":"Nooleklahvide abil ajas edasi-tagasi liikumine","SETTINGS_SEEK_KEY_SHIFT":"Nooleklahvide abil ajas liikumine, kui Shift-klahv on all","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Tagasikerimise ja kiire edasikerimise kestus","SETTINGS_BINGE":"Automaatne järgmise osa esitamine","SETTINGS_NEXT_VIDEO":"Kuva teade järgmise osa käivitamiseks","SETTINGS_NEXT_VIDEO_TRIGGER":"Kuva järgmise osa teade:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Järgmise video hüpikakna kestus","SETTINGS_PLAY_IN_BACKGROUND":"Esita taustal","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Esita välises mängijas","SETTINGS_RESIZE":"Muuda akna suurust automaatselt enne esitamist","SETTINGS_OVERRIDE_SERVER":"Asenda voogesituse serveri URL (edasijõudnutele)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Voogesituse serveri URL:","SETTINGS_SERVER_AVAILABLE":"Voogesituse server on saadaval.","SETTINGS_SERVER_UNAVAILABLE":"Voogesituse server pole saadaval.","SETTINGS_SERVER_STATUS_ONLINE":"Võrgus","SETTINGS_SERVER_STATUS_ERROR":"Viga","SETTINGS_SERVER_CONFIGURE_TITLE":"Seadista voogesituse serveri URL","SETTINGS_SERVER_CONFIGURE_INPUT":"Sisesta voogesituse serveri URL","SETTINGS_SERVER_CACHE_SIZE":"Vahemälu suurus","SETTINGS_SERVER_TORRENT_PROFILE":"Torrentiprofiil","SETTINGS_HTTPS_ENDPOINT":"Voogesituse HTTPS lõpp-punkt:","SETTINGS_TRANSCODE_PROFILE":"Transkodeerimise profiil","SETTINGS_USE_BETA":"Kasuta alati uusimat Beta versiooni","SETTINGS_IMPORT_FB":"Impordi Facebookist","SETTINGS_IMPORT_DISK":"Impordi kohalikult kettalt","SETTINGS_IMPORT_TRAKT":"Impordi Traktist","SETTINGS_PAUSE_MINIMIZED":"Peata esitus, kui aken on minimeeritud","SETTINGS_HWDEC":"Riistvarakiirendusega dekodeerimine","SETTINGS_BACKGROUND":"Taustaesitus","SETTINGS_SUBSCRIBE_CALENDAR":"Telli kalender","SETTINGS_REQ_EXPORT":"Nõua andmete eksporti","SETTINGS_ACC_DELETE":"Nõua konto kustutamist","SETTINGS_CHANGE_PASSWORD":"Muuda parooli","SETTINGS_TOS":"Kasutustingimused","SETTINGS_SUPPORT":"Võta ühendust toega","SETTING_LANGUAGE":"Keel","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt jälgimine","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Logi välja Trakt.tv-st","SETTINGS_TRAKT_LOGOUT_2":"Logi välja Trakt-st","SETTINGS_SCAN_FOR_REMOTE":"Skaneeri QR-kood kaugjuhtimise avamiseks","SETTINGS_DESKTOP_NOTIFICATIONS":"Töölaua teavitused","SETTINGS_DATA_SAVER":"Andmesäästja","SETTINGS_LANGUAGE_INTERFACE":"liides","SETTINGS_LANGUAGE_SUBS":"vaikimisi subtiitrid","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Vali automaatselt helirada","SETTINGS_DEFAULT_AUDIO_TRACK":"Vaikimisi helirada","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Ruumiline heli","SETTINGS_ACCOUNT":"konto","SETTINGS_PLATFORM":"Platvorm","SETTINGS_VERSION":"Versioon","SETTINGS_ABOUT":"Teave","SETTINGS_MPV_WINDOW":"Käivita mängija eraldi aknas (edasijõudnutele)","SETTINGS_PLAY_IN_EXTERNAL":"Alusta videot alati välises mängijas","SETTINGS_STORAGE_BUTTON":"Tühjenda kohalik mälu","SETTINGS_STORAGE_MODAL_TITLE":"Kas oled kindel?","SETTINGS_STORAGE_MODAL_MESSAGE":"See tühjendab kohaliku mälu ja logib sind välja.","SETTINGS_HWDEC_PICKER":"Vali riistvarakiirendusega dekodeerimise seade","SETTINGS_HW_AUTOMATIC":"Automaatne","SETTINGS_HW_DISABLED":"Keelatud","SETTINGS_HW_ACCELERATED":"Dekodeerimise kiirendus","SETTINGS_HW_FULL":"Täielik kiirendus","SETTINGS_HW_LEGACY":"Vana versioon","SETTINGS_DISABLED":"Keelatud","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Võrguga ühenduse teavitamine","SETTINGS_ANALYTICS":"Luba analüütika","SETTINGS_REMOTE_URL":"Kaugjuhtimise URL","SETTINGS_COPY_REMOTE_URL":"Kopeeri kaugjuhtimise URL","SETTINGS_REMOTE_URL_COPIED":"Kaugjuhtimise URL on kopeeritud lõikelauale","SETTINGS_SECTION_SUBTITLES":"Subtiitrid","SETTINGS_SECTION_AUDIO":"Heli","SETTINGS_SECTION_CONTROLS":"Juhtnupud","SETTINGS_SECTION_AUTO_PLAY":"Automaatne esitamine","SETTINGS_SECTION_ADVANCED":"Täpsemalt","SUBSPICKER_AUDIO":"Heli","SUBSPICKER_SUBTITLES":"Lisa subtiitrid","SUBSPICKER_BLACK_BACKGROUND":"Kasuta musta taustavärvi","SUBSPICKER_VERTICAL_OFFSET":"Vertikaalne nihe","SUBSPICKER_SIZE":"Suurus","SUBSPICKER_DELAY":"Viivitus","SUBSPICKER_EMBEDDED_SUBS":"Sisseehitatud subtiitrid","MOBILE_PRIVACY_POLICY":"Privaatsuspoliitika","MOBILE_CRASH_REPORTING":"Vigadest teavitamine","MOBILE_ZOOM_TO_FILL":"Suumi täisekraanile","MOBILE_PASSTHROUGH":"Digitaalne heliväljund (passthrough)","MOBILE_RUN_LOW_BATTERY":"Tööta madala akutaseme korral","MOBILE_RUN_FOREGROUND":"Tööta esiplaanil","MOBILE_PERFORMANCE":"TULEMUSLIKKUS & STABIILSUS","MOBILE_SERVER_ONLINE":"Võrgus","MOBILE_SERVER_OFFLINE":"Võrgust väljas","MOBILE_QR_EXPIRES":"QR-kood aegub ","MOBILE_LOG_INTO":"Logi sisse oma Stremio kontosse ","MOBILE_SCAN_QR":"Skaneeri QR-kood ülal või mine lehele ","MOBILE_LINK_ACCOUNT":"Seo konto","MOBILE_SPEEDPICKER_CANCEL":"Tühista","MOBILE_SPEEDPICKER_LABEL":"Vali esituskiirus","MOBILE_EMPTY_LIBRARY":"Sinu teek on tühi","MOBILE_NO_ADDON_ACTIVE":"Ükski Stremio laiendus pole selle tüübi jaoks aktiivne.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer rakendusel on piiratud funktsionaalsus. Täieliku Stremio kogemuse jaoks kasuta Stremiot arvutis.","MOBILE_ADDON_LOADING":"on veel laadimisel","MOBILE_ADDONS_LOADING":"laiendused on veel laadimisel","MOBILE_ADDON":"Laiendus","MOBILE_CONFIGURE_ADDON":"Seadista oma laiendus","MOBILE_CONFIGURE_ADDON_LABEL":"Seadista laiendus","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer rakenduses on saadaval piiratud kogus laiendusi. Täieliku kogemuse jaoks kasuta Stremiot arvutis.","MOBILE_DISCONNECT":"Ühenda lahti","MOBILE_LOOKING_FOR_DEVICES":"Otsib seadmeid...","MOBILE_CAST_TO":"Edasta","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Konto kustutamine","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Konto kustutamine ei ole kohene õiguslike kohustuste tõttu. Pärast konto kustutamise taotlemist tuleb tulevikus kasutada uut e-posti aadressi/Facebooki profiili uue Stremio konto loomiseks.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Kinnita konto kustutamine","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Sinu konto on loodud Facebooki kaudu. Konto kustutamiseks kasuta meie kasutajaportaali aadressil www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Palun sisesta oma parool konto kustutamise kinnitamiseks.","MOBILE_DELETE_ACCOUNT_BUTTON":"Kustuta konto","NAVIGATION_ON":"Sees","NAVIGATION_OFF":"Väljas","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Nõustun saama Stremio turunduskommunikatsioone","QUIT":"Lahku","CONNECTED":"Ühendatud","AUTHENTICATE":"Autendi","AUTHENTICATING":"Authenticating...","CACHING":"Vahemällu salvestamine","SETTINGS_CACHING_DRIVE":"Vahemälu draiv","ENABLE_LOCAL_FILES_ADDON":"Luba kohalike failide lisa (vajab taaskäivitust)","LOCAL_ADDON_NOT_ENABLED":"Kohalik lisa pole lubatud. Klõpsa siin, et minna seadetesse ja see lubada","ENABLE_REMOTE_HTTPS_CONN":"Luba kaug-HTTPS ühendused","TORRENT_PROFILE":"Torrentiprofiil","DATA_CACHING":"Andmete vahemällu salvestamine","MAGNET_PARSING":"Magnetlingi töötlemine","January":"Jaanuar","February":"Veebruar","March":"Märts","April":"Aprill","May":"Mai","June":"Juuni","July":"Juuli","August":"August","September":"September","October":"Oktoober","November":"November","December":"Detsember","Monday":"Esmaspäev","Tuesday":"Teisipäev","Wednesday":"Kolmapäev","Thursday":"Neljapäev","Friday":"Reede","Saturday":"Laupäev","Sunday":"Pühapäev","Action":"Märul","Comedy":"Komöödia","War":"Sõda","Family":"Perekond","Animation":"Animatsioon","Adventure":"Seiklus","Fantasy":"Fantaasia","Crime":"Kuritegu","Mystery":"Müsteerium","Romance":"Romantika","Drama":"Draama","Horror":"Õudus","Thriller":"Põnevik","Sci-Fi":"Ulme","Music":"Muusika","Biography":"Elulugu","Documentary":"Dokumentaal","Sport":"Sport","Musical":"Muusikal","Western":"Vestern","Film-Noir":"Film-Noir","News":"Uudised","History":"Ajalugu","Game-Show":"Mängusaade","Reality-TV":"Tegelikkus-TV","Talk-Show":"Vestlussaade","Film & Entertainment":"Film & Meelelahutus","Gaming":"Mängimine","From TV":"TV-st","Lifestyle":"Elustiil","Science & Education":"Teadus & Haridus","Cooking & Health":"Toit ja Tervis","Beauty & Fashion":"Ilu ja Mood","Sports":"Sport","News & Politics":"Uudised ja Poliitika","How-to & DIY":"Kuidas teha ja isetegemine","Tech":"Tehnika","Automotive":"Autotööstus","Causes & Non-Profits":"Heategevus ja mittetulundus","Movies":"Filmid","Uk Live Tv":"UK Otse-TV","Fashion":"Mood","Business News Radio":"Äriuudiste Raadio","Business Tv":"Äri TV","Cars & Auto":"Autod ja Auto","Comedy Radio":"Komöödia Raadio","Lifestyle Radio":"Elustiili Raadio","News Tv":"Uudiste TV","Food And Wine":"Toit ja Vein","Latino Tv":"Ladina TV","Shopping Tv":"Ostu-TV","Religion":"Religioon","Kids":"Lapsed","Body & Soul":"Keha ja Hing","Education":"Haridus","Indian Tv":"India TV","Extreme Sports":"Ekstreemsport","Middle Eastern Tv":"Lähis-Ida TV","Celebrity Tv":"Kuulsuste TV","Science Tv":"Teadus-TV","Bikini babe":"Bikiinitüdruk","Outdoors":"Õues","German Tv":"Saksa TV","French Tv":"Prantsuse TV","Italian Tv":"Itaalia TV","Gamer Tv":"Mänguri-TV","Travel":"Reisimine","Asian Tv":"Aasia TV","Entertainment":"Meelelahutus","News Radio":"Uudiste Raadio","Music Radio":"Muusika Raadio","Language Learning":"Keeleõpe","Science Radio":"Teaduse Raadio","Tech Radio":"Tehnikaraadio","Science & Technology Vod":"Teadus ja Tehnoloogia VOD","new video":"uus video","new episode":"uus osa","new movie":"uus film","recommended":"soovitatav","we recommend":"me soovitame","offer of the day":"päeva pakkumine","news":"uudised","music video":"muusikavideo","CTX_SHOW_HOTKEYS":"Näita kiirklahve","CTX_DISMISS_NOTIF":"Eemalda teavitused","CTX_DISMISS_ALL":"Eemalda kõik","CTX_SHARE":"Jaga","CTX_COPY_SHARE_LINK":"Kopeeri jagamislink","CTX_COPY_MAGNET_LINK":"Kopeeri magnetlink","CTX_COPY_STREAM_LINK":"Kopeeri voogesituslink","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Kopeeri video allalaadimislink","CTX_DOWNLOAD_VIDEO":"Laadi see video alla","CTX_DOWNLOAD_SUBS":"Laadi subtiitrid alla","CTX_VIEW_ON_YOUTUBE":"Vaata YouTube\'is","CTX_SHOW":"Näita","CTX_PLAY":"Esita","CTX_PLAY_IN":"Esita rakendusega","CTX_PLAY_ON":"Esita seadmel","CTX_WATCH_ON":"Vaata seadmel","CTX_WATCH":"Vaata","CTX_WATCHED":"Vaadatud","CTX_WATCH_BEGINNING":"Alusta algusest","CTX_WATCH_MOBILE":"Vaata mobiilseadmel","CTX_REWIND":"Keri tagasi algusesse","CTX_MARK_WATCHED":"Märgi vaadatuks","CTX_MARK_NON_WATCHED":"Märgi mittevaadatuks","CTX_MARK_UNWATCHED":"Märgi mittevaadatuks","CTX_MARK_REST":"Märgi ülejäänud vaadatuks","CTX_UNMARK_REST":"Märgi ülejäänud mittevaadatuks","CTX_RECEIVE_NEW_NOTIF":"Saa uusi teavitusi","CTX_ENABLE_NEW_NOTIF":"Luba teavitused","CTX_DISABLE_NEW_NOTIF":"Keela teavitused","CTX_REMOVE_CACHE":"Eemalda vahemälust","CTX_REMOVE_CACHE_EP":"Eemalda episood vahemälust","CTX_OPEN_CONTAINING":"Ava kaust","CTX_REMOVE":"Eemalda teegist","CTX_AVAILABLE_OFFLINE":"Saadaval võrguühenduseta","CTX_PAUSED":"Pausil","CTX_ALWAYS_ON_TOP":"Alati peal","CTX_FULLSCREEN":"Täisekraan","CTX_WRONG_SUBS":"Valed subtiitrid?","CTX_REPORT_ISSUES":"Teata murest","CTX_COPY":"Kopeeri","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Kleebi","CTX_CLEAR":"Kustuta","CTX_CLEAR_RECENT_SEARCHES":"Kustuta hiljutised otsingud","HELLO_THERE":"Tere","HOPE_YOU_ENJOY":"Loodame, et naudid Stremiot ja see on juba üks sinu lemmikrakendusi!","WHO_ARE_WE":"Kes me oleme? Oleme meeskond selle taga - kaks meest, kes töötavad igapäevaselt, et muuta see toode järjest paremaks viimase kolme aasta jooksul.","SUPPORT_US":"Kui naudid Stremiot - levita sõna!","SPREAD_THE_WORD":"Jaga oma sõpradega, levita infot Stremio kohta","MORE_PEOPLE":"Mida rohkem inimesi Stremiot kasutab, seda paremaks see muutub!","SEND_A_LINK":"Või saada link meie veebilehele","TIP_LOCALFILES":"Nõuanne: Sa võid Stremiosse kohalikud videofailid lohistada","ADDON_MY":"Minu laiendused","ADDON_COMMUNITY":"Kogukonna laiendused","ADDON_OFFICIAL":"Ametlikud laiendused","ADDON_REPOS":"Laiendusekollektsioonid","ADDON_SEARCH":"Otsi laiendusi","ADDON_INSTALL":"Paigalda","ADDON_CONFIGURE":"Seadista","ADDON_UNINSTALL":"Desinstalleeri","ADDON_UPGRADE":"Uuenda","ADDON_INSTALLED":"Paigaldatud","ADDON_INSTALLED_MSG":"Laiendus on paigaldatud!","ADDON_UPGRADED_MSG":"Laiendus on uuendatud!","ADDON_UNKNOWN":"Tundmatu","ADDON_ERR":"Laienduse paigaldusviga!","ADDON_DISCONNECTED":"Ühendus katkestatud","ADDON_APP_MISSING":"Selle allika rakendus ei ole paigaldatud. Kas soovid seda nüüd paigaldada?","ADDON_APP_INSTALL":"Paigalda kohe","ADDON_PAGE":"Lisa leht","ADDON_TOP_CONTENT":"Parim sellest laiendusest","ADDON_PROVIDES":"See laiendus annab sulle:","ADDON_WATCH":"Vaata #{types} kohe!","ADDON_WATCH_FREE":"Vaata #{types} TASUTA kohe!","ADDON_ADDON":"Laiendus","ADDON_SUPPORTED_TYPES":"Toetatud tüübid","ADDON_SUPPORTED_CATALOGS":"Toetatud kataloogid","ADDON_PROVIDES_DISCOVER":"Rohkem #{types} avastamiseks","ADDON_PROVIDES_STREAMS":"Vaata #{types}","ADDON_PROVIDES_STREAMS_FREE":"Vaata #{types} TASUTA","ADDON_PROVIDES_SUBTITLES":"Subtiitrid #{types} jaoks","ADDON_CANTDETECT":"Me ei suutnud tuvastada töötavat Stremiot, seetõttu ei saa me tuvastada, millised laiendused sul on paigaldatud.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Selle kohta pole teavet leitud","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Viga teabe hankimisel.","ERR_CANT_PARSE_MAGNET":"Ei saa magnetlinki töödelda","ERR_NO_MAGNET_INFOHASH":"Kehtiv infohash magnetlinki jaoks puudub","ERR_NO_FILE_PATH":"Päringut ei saa saata ilma failitee määramiseta","ERR_NO_TORRENT":"Torrentit ei leitud","ERR_NO_SUPPORTERD_FILES":"Toetatud faile ei leitud","ERR_OPENING_FILES":"Ei saanud väliseid faile avada","ERR_INVALID_LINK":"Vigane link","ERR_REGISTERED_ONLY":"See valik on saadaval ainult registreeritud kasutajatele.","ERR_CLIPBOARD":"Ei saa mängida lõikelaualt","ERR_CLIPBOARD_READ":"Ei saa lõikelaua sisu lugeda sellel platvormil","ERR_CLIPBOARD_GENERIC":"Lõikelaual ei leitud ühtegi esitatavat URL-i. Palun kopeeri URL (nt. magnetlink) videole.","BOARD_CONTINUE_WATCHING":"Jätka vaatamist","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmid, mis on valitud spetsiaalselt sinu jaoks.<br />See film on soovitusnäide.","BOARD_EXPLANATION_EPISODES":"Sinu lemmikseriaalide uued osad ilmuvad siia.<br />Lisa jälgitavad seriaalid oma raamatukokku.","BOARD_EXPLANATION_VIDEOS":"Sinu lemmikkanalite uued videod ilmuvad siia.<br />Lisa jälgitavad YouTube\'i kanalid oma raamatukokku.","WEBSITE_ENJOYED_BY":"Naudivad üle 30 miljoni kasutaja üle maailma","WEBSITE_STREAMING_ENHANCED":"Parendatud voogesitus","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio pakub turvalist, modernset ja sujuvat meelelahutuskogemust. Tänu kasutajasõbralikule liidesele ja mitmekesisele sisuraamatukogule, sealhulgas 4K HDR tugi, saavad kasutajad nautida oma lemmikfilme ja -sarju kõigis oma seadmetes. Tänu turvalisusele on Stremio ideaalne valik muretuks, kvaliteetseks voogesituseks.","WEBSITE_AVAILABLE_ON":"Saadaval platvormidel","WEBSITE_WATCH_AND_ENJOY":"Vaata ja naudi.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio muudab selle lihtsaks","WEBSITE_ALL_FEATURES":"Kõik funktsioonid","WEBSITE_EASY_TO_USE":"Lihtne kasutada","WEBSITE_EASY_TO_USE_DETAILS":"Stremio on loodud olema kasutajasõbralik. Tänu puhtale ja intuitiivsele liidesele saate hõlpsalt leida ja vaadata soovitud sisu.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sujuv kõikides seadmetes","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Saadaval laias valikus platvormidel (sealhulgas Windows, Mac, Linux, Android ja rohkem), jälgib Stremio teie progressi kõigis seadmetes. Logige lihtsalt sisse ja jätkake vaatamist, ilma et peaksite iga uue seadmega rakendust uuesti seadistama.","WEBSITE_ALL_DOWNLOADS":"Kõik allalaadimised","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Kõrglahutusega video tugi","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Integreeritud videomängija, mis toetab enamikku videoformaate, sealhulgas 4K HDR-sisu, võimaldab teil nautida parimat võimalikku kvaliteeti.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Mitmekesine sisuteek","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integreerub paljude populaarsete videosisuga allikatega, nagu Netflix, Amazon Prime Video, Hulu, YouTube ja palju muud.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Loo tasuta konto","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Kohandatud vaatamiskogemus","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio võimaldab kohandada liidese välimust ja funktsioone, muutes teemat, lisades või eemaldades laiendusi ja rohkem.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Mitmekeelne subtiitrite tugi","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Saate nüüd nautida kogu lemmiksisu oma eelistatud keeles, kuna Stremio toetab subtiitreid kõigis keeltes.","WEBSITE_ALL_STREMIO_FEATURES":"Kõik Stremio funktsioonid","WEBSITE_TRY_STREMIO_TITLE_P1":"Proovi Stremiot","WEBSITE_TRY_STREMIO_TITLE_P2":"Oma teleris kohe","WEBSITE_YOU_CAN_NOW_WATCH":"Saate nüüd vaadata kõiki oma lemmiksaateid oma Android TV seadmetes. Stremio TV rakendus võimaldab teil nautida filmide õhtut lihtsalt.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Saate nüüd vaadata kõiki oma lemmiksaateid oma nuti- või Android-teleris. Stremio TV rakendused võimaldavad nautida filmide õhtut lihtsalt.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio nutiteleritele","WEBSITE_PLAY_STORE_REVIEW":"Tõenäoliselt parim ja kõige kasulikum rakendus, mida oma seadmes omada. Kasutan seda iga päev, eriti oma Android TV-l juba aastaid. Hästi tehtud koos tugeva kogukonnaga, mis pakub kasulikke funktsioone. Tubli töö. Jätkake samas vaimus.","WEBSITE_REVIEWS":"ülevaated","WEBSITE_GET_STREMIO_FOR_FREE":"Hangi Stremio tasuta","WEBSITE_GET_STREMIO_NOW":"Hangi Stremio kohe","WEBSITE_STREMIO_FEATURES":"Stremio funktsioonid","WEBSITE_STREMIO_FEATURES_DETAILS":"Voogesita nagu professionaal Stremio täiustatud funktsioonide abil ja naudi sujuvat juurdepääsu kogu oma lemmikmeediale","WEBSITE_DISCOVER_MORE":"Avasta rohkem.","WEBSITE_DISCOVER_MORE_DETAILS":"Kunagi ei lõppe vaatamist vajav sisu","WEBSITE_COMMUNITY_DRIVEN":"Kogukonna juhitud","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremiol on suur ja aktiivne kasutajaskond, kes panustab tarkvara arendamisse, luues ja jagades laiendusi.","WEBSITE_GET_INVOLVED":"Osale","WEBSITE_NEW_THEATER_EXPERIENCE":"Uus teatrikogemus","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio uus pühendatud TV rakendus võimaldab nautida filmide õhtut oma Android TV seadmetes.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio uued pühendatud TV rakendused võimaldavad nautida filmide õhtut teie nuti- või Android TV seadmetes.","WEBSITE_FREE_AND_SECURE":"Tasuta ja turvaline","WEBSITE_STREAMING":"Voogesitus","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio pakub kasutajatele ületamatut turvalisust ja privaatsust. Unikaalne laienduste kaugkasutamise funktsioon tagab ohutuma viisi oma lemmiksisu voogesitamiseks võrreldes teiste platvormidega. Teie turvalisus ja privaatsus on esmatähtsad ning platvorm tagab kogu teie andmete kaitse.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Ütle hüvasti muredele turvalisuse ja privaatsuse pärast ning naudi piiritut meelelahutust Stremio abil.","WEBSITE_INFORMATION_PROVIDED_BY":"Informatsioon esitatud poolt","WEBSITE_CONTRIBUTE_DESC":"projekti ja aita meil Stremiot veelgi paremaks muuta","WEBSITE_COMMUNITY_DESC":"Usume, et parim viis tõeliselt hämmastava voogesituskogemuse loomiseks on kogukonna kaasamine protsessi. Olgu sa programmeerija, kunstnik või lihtsalt fänn - sa võiksid aidata Stremiol kasvada.","WEBSITE_COMMUNITY_DESC_2":"Liitu meiega juba täna ja saa osaks Stremio kogukonnast ning jätka voogesituse tuleviku kujundamist.","WEBSITE_WAYS_TO_GET_INVOLVED":"Viisid osalemiseks","WEBSITE_IN_THE_STREMIO_COMMUNITY":"Stremio kogukonnas","WEBSITE_SHARE_YOUR_THOUGHTS":"Jaga oma mõtteid","WEBSITE_REPORT_BUGS":"Teata vigadest","WEBSITE_SUGGEST_FEATURES":"soovita funktsioone","WEBSITE_AND_PROVIDE_FEEDBACK":"ja anna tagasisidet meie sotsiaalmeedia kanalites.","WEBSITE_BETA_TESTING_PROGRAM":"Beetatestimise programm","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Osale meie beetatestimise programmis (saadame regulaarselt kutseid) Stremio kogukonnas.","WEBSITE_JOIN_NOW":"Liitu kohe!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Ametlikud Stremio kogukonnad","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Mitteametlikud Stremio kogukonnad","WEBSITE_BECOME":"Muuda","WEBSITE_A_VOLUNTEER_TRANSLATOR":"vabatahtlikuks tõlkijaks","WEBSITE_ARE_YOU_A_DEVELOPER":"Oled sa arendaja?","WEBSITE_CONTRIBUTE_CODE":"Võiksid panustada koodiga meie avatud lähtekoodiga projektidesse. Meil on mitmeid projekte GitHubis, mis otsivad kaastöötajaid. Kui oled huvitatud abist, vaata lähemalt:","WEBSITE_STREMIO_ON_GITHUB":"Stremio GitHubis","WEBSITE_CREATE_ADDON_DESC":"Loo laiendus, et täiustada Stremio funktsionaalsust (meil on lihtne kasutada API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Laiendus SDK","WEBSITE_INTERN_DEVELOPER":"Pakume võimalust liituda meiega praktikandina, et saaksime koos kasvada.","WEBSITE_APPLY_AS_AN_INTERN":"Kandideeri praktikandiks","WEBSITE_CALLING_ALL_ARTISTS":"Kutsume kõiki kunstnikke!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Näita oma loovust ja armastust Stremio vastu, laadides oma fännikunst üles meie veebigaleriisse. Olgu see joonistus, maal või digitaalne kujundus - tahame näha sinu ainulaadset vaadet Stremio brändile. Liitu kunstihuviliste kogukonnaga ja jaga oma töid Stremio fännidega üle maailma.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio fännikunsti galerii","WEBSITE_INTERN_DESIGNER":"Liitu meie meeskonnaga ja vii oma loovus uutesse kõrgustesse meie põnevate praktikavõimaluste abil.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Avaliku domeeni filmide projekt","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremio eesmärk on säilitada filmi- ja televisiooniajalugu, tuvastades avaliku domeeni ja orb-videod. Teeme koostööd oma kogukonnaga, et tagada nende klassikaliste kunstiteoste kättesaadavus kõigile ja kaitse tulevaste põlvkondade jaoks.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Kui soovite selle projektiga liituda, võtke meiega ühendust.","WEBSITE_JOIN_THE_PROJECT":"Liitu projektiga","WEBSITE_BE_PART_OF_OUR_MISSION":"Ole osa meie missioonist","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Kas soovite liituda Stremio meeskonnaga? Pakume täielikult kaugtöö võimalust pühendunud professionaalidele. Vaata meie avatud tööpakkumisi.","WEBSITE_OPEN_POSITIONS":"AVATUD TÖÖKOHTAD","WEBSITE_DESCRIPTION":"KIRJELDUS","WEBSITE_LEARN_MORE":"Loe rohkem","WEBSITE_COMPANY":"Ettevõte","WEBSITE_CONTACTS":"Kontaktid","WEBSITE_NEED_HELP":"Vajad abi?","WEBSITE_STREMIO_WEB_ON_IOS":"Juhend Stremio Webi jaoks iOS-is","WEBSITE_LINK_ART_V2":"Fännikunsti galerii","WEBSITE_PARTNERS":"Partnerid","WEBSITE_SLOGAN_WATCH":"Vaata kohe","WEBSITE_SLOGAN_ALL":"Kõik video-sisu, mida naudid, ühes kohas","WEBSITE_SLOGAN_NEW":"Kõik, mida saad vaadata","WEBSITE_SLOGAN_NEW_NEW":"Voogedastuse vabadus","WEBSITE_WATCH_FROM":"Vaata alates","WEBSITE_DOWNLOAD":"Laadi alla kohe","WEBSITE_DOWNLOAD_FOR":"Laadi alla platvormile","WEBSITE_IS_DESKTOP":"Stremio on töölauarakendus, ava see leht oma arvutis ja laadi see alla","WEBSITE_DESKTOP_DEMO_VID":"Töölaua demo","WEBSITE_PAGE_HOME":"Kodu","WEBSITE_PAGE_FEATURES":"Funktsioonid","WEBSITE_PAGE_ADDONS":"Laiendused","WEBSITE_PAGE_TECH":"Tehnoloogia","WEBSITE_PAGE_CREATE_ADDON":"Loo laiendus","WEBSITE_PAGE_CONTACTS":"Kontaktid","WEBSITE_PAGE_BLOG":"Blogi","WEBSITE_RESET_PASSWORD_MESSAGE":"Palun sisesta oma uus parool allpool.","WEBSITE_RESET_PASSWORD_WARNING":"Oled kindel, et soovid ${1} jaoks parooli lähtestada?","WEBSITE_TYPE_movie":"Filmid","WEBSITE_TYPE_series_PL":"Sarjad","WEBSITE_TYPE_tv":"Otse-TV","WEBSITE_TYPE_channel":"Kanalid","WEBSITE_STREMIO_WHAT_IS":"Stremio on rakendus, mis aitab vaadata teie lemmikvideoid, -filme, -sarju ja -kanaleid.","WEBSITE_FEATURES_WATCH":"Vaata kohe HD kvaliteediga","WEBSITE_FEATURES_WATCH_DETAIL":"Esita oma lemmikfilme, TV-saateid, videoid ja TV-kanaleid.","WEBSITE_FEATURES_SUBS":"Automaatne subtiitrite tugi","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio valib automaatselt sünkroonitud subtiitrid teie keeles.","WEBSITE_FEATURES_SUBS_LABEL":"Sinu käik, pealik.","WEBSITE_FEATURES_CAST":"Esita teleris ja mobiilseadmetes","WEBSITE_FEATURES_CAST_DETAIL":"Kuvage AppleTV-s, Chromecasti, nutitelevisioonis (DLNA/UPnP) ja mobiilseadmetes.","WEBSITE_LIB":"Nautige oma isiklikku raamatukogu sünkroonituna kõigis seadmetes","WEBSITE_LIB_COLLECT":"Kogu Stremiost","WEBSITE_LIB_IMPORT":"Impordi Facebookist","WEBSITE_LIB_LOCAL":"Lisa oma kohalikult kettalt","WEBSITE_BOARD":"Töölaud - teie keskne koht teavituste ja soovituste jaoks","WEBSITE_BOARD_RECOMMEND":"Soovitatud TV-saade","WEBSITE_BOARD_TRENDING":"Populaarne film","WEBSITE_BOARD_NEW":"Uus video","WEBSITE_BOARD_EPISODE":"Uus osa","WEBSITE_BOARD_1":"Otsid midagi huvitavat, mida vaadata? Saa soovitusi vastavalt oma maitsele!","WEBSITE_BOARD_2":"Saate teate, kui teie lemmik TV-saate või YouTube\'i kanali uus osa ilmub!","WEBSITE_BOARD_YOUTUBE":"Uued videod YouTube\'i kanalitest","WEBSITE_BOARD_EPISODES":"Uued osad sarjadest, mida jälgite","WEBSITE_ADDONS":"Sisu laiendused","WEBSITE_TECH_DETAIL":"Me armastame tehnoloogiat, me armastame pöörast teadust! \\nStremio kasutab järgmisi avatud lähtekoodiga tehnoloogiaid:","WEBSITE_TECH_WCJS":"WebChimera.js võimaldab Stremiol mängida kõiki videoformaate hea jõudlusega.","WEBSITE_TECH_WCJS_EXTRA":"Me oleme projekti peamised kaastöötajad","WEBSITE_TECH_ELECTRON":"Electron pakub uuenduslikku platvormi Stremio loomiseks.","WEBSITE_TECH_ELECTRON_EXTRA":"Me oleme projekti kaastöötajad","WEBSITE_TECH_LINVODB":"Andmebaasi tehnoloogia, mis tagab teie andmete korrastamise ja kättesaadavuse kõikjal, kus logite sisse.","WEBSITE_TECH_LINVODB_EXTRA":"Kohapealne tehnoloogia","WEBSITE_CREATE_ADDON":"Loo oma laiendus","WEBSITE_CREATE_ADDON_DETAIL":"Kas teil on teenus, mis pakub videosisu? Aitame teil Stremio funktsioonidest kasu saada, luues teie laienduse.","WEBSITE_CREATE_ADDON_BENEFITS":"Laienduse loomise eelised Stremiole","WEBSITE_P2P_BEAUTY":"P2P voogedastuse ilu","WEBSITE_P2P_1":"Usaldusväärne ja taskukohane HD/4K video tellitav või otseülekanne","WEBSITE_P2P_2":"Levitamisplatvorm, mis pakub suurepärast kasutajakogemust","WEBSITE_P2P_3":"Loodame teie vajadustele vastava laienduse","WEBSITE_P2P_CONTACT":"Huvitatud? Olete oodatud <a href=\'mailto:office@stremio.com\'>meiega ühendust võtma</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Aitame teil meeleldi oma sisu Stremioga integreerida!","WEBSITE_P2P":"Aeg-ajalt ilmub tehnoloogia, mis muudab mängureegleid. Oleme investeerinud palju aega ja vaeva oma P2P (peer-to-peer) video voogedastuse mootori ehitamisse, mis tagab suurepärase jõudluse ja kohandatavuse mis tahes kasutusjuhtumi jaoks.\\n Võtke meiega ühendust DRM-toega P2P video tellitava või otseülekande jaoks.","WEBSITE_THOUGHTS":"Mõtted, mida jagame:","WEBSITE_SPREAD":"Jaga sõna Stremio kohta:","WEBSITE_CONTACT":"Võtke meiega ühendust, meil on hea meel teid kuulda!","WEBSITE_OPENSOURCE":"Meie vabavaraprojektide jaoks mine:","WEBSITE_BITCOIN":"Anneta bitcoinis:","WEBSITE_FAQ":"Korduma kippuvad küsimused","WEBSITE_FAQ_SHORT":"KKK","WEBSITE_QUESTIONS":"Küsimused","WEBSITE_TOS":"Kasutustingimused","WEBSITE_LEGAL":"Õiguslik","WEBSITE_PAGE_ABOUT":"Teave","WEBSITE_PAGE_BECOME_PARTNER":"Saage partneriks","WEBSITE_ALL_YOU_CAN_WATCH":"Vabadus vaadata\\nkõike, mida soovite.","WEBSITE_FREEDOM_TO_STREAM":"Vabadus voogesitada","WEBSITE_WHAT_IS_STREMIO":"Mis on Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio on keskne videosisu kogumise keskus. Avastage vaadake videoid igasugustest allikatest kõigis oma seadmetes.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmid, telesaated, sarjad, otsetelevisioon või veebikanalid nagu YouTube ja Twitch.tv - kõik see on Stremios olemas.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio on kaasaegne meediakeskus, mis on teie videomeelelahutuse ühekordne lahendus. Avastage, vaadake ja korraldage videosisu lihtsalt paigaldatavate laienduste kaudu.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmid, telesaated, otse-TV või veebikanalid - kõik see on saadaval Stremios.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Naudi kõigis oma meediaseadmetes","WEBSITE_DEVICES_COLLECT":"Koguge Stremiost","WEBSITE_DEVICES_IMPORT_FB":"Importige Facebookist","WEBSITE_DEVICES_LOCAL":"Lisage kohalikust kettast","WEBSITE_JOIN_THE_PARTY_NOW":"Liitu peoga kohe","WEBSITE_DEVICES_ALL":"Lihtne kasutada kõigis oma seadmetes;","WEBSITE_EXTENDABLE_CATALOG":"Lõputult laiendatav videokataloog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Suurepärased funktsioonid oma meedia korraldamiseks;","WEBSITE_AS_SEEN_ON":"Nagu nähtud","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Meist","WEBSITE_LINK_TECHNOLOGY":"Tehnoloogia","WEBSITE_LINK_APPS":"Rakendused","WEBSITE_LINK_DOWNLOADS":"Allalaadimised","WEBSITE_MORE":"Veel","WEBSITE_LINK_ADDONS":"Laiendused","WEBSITE_LINK_ADDON_SDK":"Laienduste SDK","WEBSITE_LINK_CONTRIBUTE":"Panusta","WEBSITE_LINK_COMMUNITY":"Kogukond","WEBSITE_LINK_BLOG":"Blogi","WEBSITE_MORE_MORE":"... & Veel","WEBSITE_LINK_HELP":"Abikeskus","WEBSITE_LINK_CONTACTS":"Ärikontaktid","WEBSITE_LINK_TOS":"Tingimused ja määrused","WEBSITE_LINK_PRAVACY":"Privaatsuspoliitika","WEBSITE_SUBSCRIBE":"Telli","WEBSITE_NEWSLETTER":"Liitu meie uudiskirjaga, et saada häid uudiseid","WEBSITE_PLACEHOLDER_EMAIL":"Teie e-post","WEBSITE_COMMUNITY":"Kogukond","WEBSITE_LINK_PRAVACY_LEGAL":"Privaatsus ja õigusalane teave","WEBSITE_WHY":"Miks me seda teeme","WEBSITE_WHY_P1":"Stremios tuleme iga päev tööle, sest tahame lahendada olulist probleemi tellitava video tööstuses. Iga minut avaldatakse nii palju uut sisu, et selles orienteerumine on praktiliselt võimatu.","WEBSITE_WHY_P2":"Aitame inimestel navigeerida tohutul videomeelelahutuse maastikul ja avastada uut sisu, mida nautida. Meie rakendused koondavad filme, sarju, otse-TV-d, veebikanaleid ja palju muud. Meie eesmärk on muuta oma lemmiknimede ja -saadete leidmine uskumatult lihtsaks.","WEBSITE_WHY_P3":"Saate kasutada meie teenust igal seadmel ja igal ajal, muutes Stremio ainukeseks videomeelelahutuskeskuseks, mida teil kunagi vaja läheb.","WEBSITE_TEAM":"MEESKOND","WEBSITE_TEAM_P":"Stremio meeskond on väike, kuid võimas: meie kümne vahel kodeerime X keeles ja jagame teadmisi tarkvaraarenduse, UI ja UX disaini, turunduse ja reklaami ning äri ja startup-ide valdkonnas.","WEBSITE_FEATURES":"Funktsioonid","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Avasta uut sisu kergusega","WEBSITE_FEATURES_DISCOVER_P":"Avasta hõlpsasti uusi filme, telesaateid, sarju ja kanaleid, mida vaadata. Sirvi kategooriate, žanri, reitingu, värskuse jms alusel või lihtsalt sisestage nimi, et leida. Stremio muudab uue videosisu leidmise lihtsaks.","WEBSITE_FEATURES_ALL_CONTENT":"Kõik teie videosisu ühel ekraanil","WEBSITE_FEATURES_ALL_CONTENT_P1":"Vaadake, milliseid filme, sarju või videoid te ei lõpetanud, ja jätkake nende vaatamist; saate teateid uute episoodide ja väljalasete kohta; ning sirvige soovitusi, mida saate oma vaatamisharjumuste põhjal.","WEBSITE_FEATURES_LIBRARY":"Organiseerige oma videoteek","WEBSITE_FEATURES_LIBRARY_P1":"Lisage ükskõik milline film oma Stremio teeki ühe klõpsuga ja otsige sisu, mis on korralikult paigutatud tüübi, värskuse või tähestikulise järjekorra alusel.","WEBSITE_FEATURES_CALENDAR":"Jälgige kõike, mida vaatate","WEBSITE_FEATURES_CALENDAR_P1":"Saate kalendri visualiseerimise kõikide filmide ja sarjade kohta, mida oma teeki lisate. Eksportige oma Stremio kalender ja sünkroonige see, et te alati teaksite, millal uus episood või esilinastus on oodata.","WEBSITE_FEATURES_BIG_SCREEN":"Nautige oma videosisu suuremal ekraanil","WEBSITE_FEATURES_BIG_SCREEN_P1":"Kuvage ükskõik, mida vaatate, teises seadmes - olgu see telefon, tahvelarvuti või teler ühe klõpsuga.","WEBSITE_FEATURES_SOURCES":"Vaadake videoid paljudest erinevatest allikatest","WEBSITE_FEATURES_SOURCES_P":"Paigaldage ametlikud ja kogukonna laiendused, et nautida videoid paljudest erinevatest teenusepakkujatest - kõik ühes klanitud ja kergesti kasutatavas rakenduses.","WEBSITE_CREATE_AN_ADDON":"Loo laiendus","WEBSITE_FEATURES_SYNC":"Sünkroniseerige oma teek erinevate seadmete vahel ja jätkake taasesitust","WEBSITE_FEATURES_SYNC_P1":"Logige sisse oma kontoga kõigis oma seadmetes ja nautige oma teeki, laiendusi, taasesitust ja kalendrit sünkroonituna.","WEBSITE_FEATURES_EXTENDABLE":"Laiendatav videokataloog laienduste kaudu","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio laienduste kataloog pakub mitmeid laiendusi, mille abil saate vaadata erinevat videosisu. See hõlmab filme, saateid, otse-TV-d, sporti, uudiseid, podcaste, veebikanaleid, videomänge ja palju muud.","WEBSITE_FEATURES_AUTO_SUBS":"Automaatne subtiitrite tugi","WEBSITE_FEATURES_AUTO_SUBS_P1":"Meie subtiitrite laienduste abil saate automaatselt valitud valikud oma eelistatud keeles.","WEBSITE_FEATURES_CHROMECAST":"Kuvamine Chromecastile","WEBSITE_FEATURES_CHROMECAST_P1":"Nautige oma videosisu suuremal ekraanil või lihtsalt kuvage ükskõik mida vaatate teises seadmes.","WEBSITE_FEATURES_KEEP_TRACK":"Jälgige oma lemmik telesaateid ja veebikanaleid","WEBSITE_FEATURES_KEEP_TRACK_P1":"Saate kalendri visualiseerimise ja teateid oma lemmiksarjade ja veebikanalite uute episoodide kohta.","WEBSITE_FEATURES_POWER_USER":"Täpsemad funktsioonid","WEBSITE_FEATURES_POWER_USER_P1":"Esita välise mängijaga","WEBSITE_FEATURES_POWER_USER_P2":"Esita torrent-faililt või magnetlingilt","WEBSITE_FEATURES_POWER_USER_P3":"Impordi teeki Facebooki meeldimistest või kõvakettalt","WEBSITE_ADD_ONS":"Laiendused","WEBSITE_ADD_ONS_P1":"Kogu videosisu, mida Stremio pakub, pärineb laiendusesüsteemist - rakendusse pole sisu ega sisupakkujat integreeritud.","WEBSITE_ADD_ONS_P2":"Saadaval on kahte tüüpi laiendusi: ametlikud ja kogukonna laiendused.","WEBSITE_ADD_ONS_P3":"Ametlikud laiendused on Stremio arendatud ja majutatud, samas kui kogukonna laiendused on loodud meie kogukonna liikmete poolt, kes neid ka majutavad.","WEBSITE_ADDONS_OFFICIAL":"Ametlikud laiendused","WEBSITE_ADDONS_WATCHUB":"Esita oma lemmikfilme, sarju ja saateid sellistest teenustest nagu iTunes, Hulu, Amazon ja teised UK/US teenused.","WEBSITE_ADDONS_YOUTUBE":"Vaata oma lemmik YouTube\'i kanaleid reklaamivabalt ja saa teavitusi uute üleslaadimiste kohta jälgitavatelt autoritelt.","WEBSITE_ADDONS_FILMON":"Vaata tasuta otse-TV-d, filme ja sotsiaaltelevisiooni. 600 telekanalit, 45 000 tasuta filmi, dokumentaale ja rohkem.","WEBSITE_ADDONS_OPENSUBTITLES":"Filmi- ja telesarja subtiitrid erinevates keeltes, iga päev laetakse üles tuhandeid tõlgitud subtiitreid.","WEBSITE_ADDONS_COMMUNITY":"Kogukonna laiendused","WEBSITE_ADDONS_FILMON_VOD":"Vaata videoid nõudmisel Filmon.tv-st","WEBSITE_ADDONS_TWICH":"Vaata otseülekandeid Twitch.tv-st - e-spordi video voogedastusplatvorm.","WEBSITE_ADDONS_VODO":"Vaata indie-filme täiesti tasuta.","WEBSITE_ADDONS_NETFLIX":"Vaata Netflixi filme ja veebisarju.","WEBSITE_ADDONS_CREATE":"Loo laiendus","WEBSITE_ADDONS_CREATE_P1":"Kui soovite, saate arendada oma laienduse. Sel moel saate pakkuda endale ja meie kogukonnale juurdepääsu uuele videosisule ning jõuda miljonite kasutajate sihtrühmani üle kogu maailma.","WEBSITE_ADDONS_START_CREATE":"Alustamiseks külastage Stremio Addon SDK lehte:","WEBSITE_DOWNLOADS":"Allalaadimised","WEBSITE_DOWNLOADS_P1":"Parima jõudluse saavutamiseks soovitame kasutada uusimat saadaolevat Stremio rakenduste versiooni. Kui mingil põhjusel soovite kasutada vanemat versiooni, saate selle siit alla laadida.","WEBSITE_DOWNLOADS_P1_SHORT":"Parima jõudluse saavutamiseks soovitame kasutada uusimat saadaolevat Stremio rakenduste versiooni.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio Windowsi jaoks","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio macOS-i jaoks","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio Linuxi jaoks","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio Androidi jaoks","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio Android TV jaoks","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio Androidi mobiiltelefoni jaoks","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio Steam Decki jaoks","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio iOS-i jaoks (piiratud versioon)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio Samsung TV jaoks","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio LG TV jaoks","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio Sony TV jaoks (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio Philips TV jaoks (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio Oculus Quest jaoks","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio Meta Quest jaoks","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio Vision Pro jaoks","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio Xboxi jaoks","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio Raspberry Pi jaoks","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio brauseri jaoks","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Otsige Stremiot 2019+ Samsung TV mudelite rakenduste poest","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Otsige Stremiot 2020+ LG TV mudelite rakenduste poest","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Otsige Stremiot Play Store rakendusest Sony TV-l, mis töötab Androidiga","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Otsige Stremiot Play Store rakendusest Philips TV-l, mis töötab Androidiga","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Otsige Stremiot oma Xboxi seadme rakenduste poest","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Juhend Stremio OS-i jaoks Raspberry Pi-l","WEBSITE_LINK_GUIDE":"Juhend","WEBSITE_DOWNLOAD_SERVICE":"Laadi alla Stremio teenus","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio teenus on Stremio Webi kaasrakendus. Soovitame kasutada uusimat saadaolevat versiooni Stremio teenusest.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio teenus Windowsi jaoks","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio teenus macOS-i jaoks","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio teenus Linuxi jaoks","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio teenus Dockeri jaoks","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio Dockeri jaoks","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Rohkem allalaadimisvalikuid","WEBSITE_DOWNLOAD_NEW":"Uus!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Oleme avaldanud Stremio Webi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Oleme avaldanud Stremio Samsung TV jaoks","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Oleme avaldanud Stremio LG TV jaoks","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Oleme avaldanud Stremio Xboxi jaoks","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Oleme avaldanud Stremio Raspberry Pi jaoks","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Panusta","WEBSITE_CONTRIBUTE_P1":"Stremio platvorm on avatud lähtekoodiga ja saate hõlpsasti luua laienduse sisu jaoks, mida praegu pole lisatud.","WEBSITE_CONTRIBUTE_WHY":"Miks peaksite looma laienduse?","WEBSITE_CONTRIBUTE_WHY_P1":"Jõudke oma videosisuga uue vaatajaskonnani","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio kasutajaskond kasvab kiiresti - esimese aasta jooksul kogus Stremio miljon kasutajat üle kogu maailma ja platvormi teisel aastal kasvas see arv 2,5 miljonini.","WEBSITE_CONTRIBUTE_WHY_P3":"Oma laiendusega saate hõlpsasti jõuda selle vaatajaskonnani ja levitada oma videosisu neile.","WEBSITE_CONTRIBUTE_ALL":"Vaata oma lemmikfilme, -videoid, -sarju ja -kanaleid ühes kohas.","WEBSITE_CONTRIBUTE_ALL_P1":"Kas olete teatud sisutüübi fänn, mida Stremios veel pole? Loo selle jaoks laiendus ja naudi oma lemmikvideote vaatamist ühes suurimas ja kasutajasõbralikumas meelelahutuskeskuses turul.","WEBSITE_CONTRIBUTE_ALL_P2":"Lisaks saate lõputu tänu teistest sarnase mõtlemisega Stremio kogukonna liikmetelt.","WEBSITE_CONTRIBUTE_MONETIZE":"Teenige oma laiendusega raha","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Kui olete Stremiole uue laienduse loonud, saate selle hõlpsasti mitmel erineval viisil rahaks muuta. Kui kaalute seda võimalust, võtke meiega ühendust aadressil ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - meil on hea meel teid nõustada ja pakkuda laienduse monetiseerimise võimalusi.","WEBSITE_CONTRIBUTE_TRANSLATE":"Saage vabatahtlikuks tõlkijaks","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Kui soovite nautida Stremio rakendusi erinevates keeltes, saate liituda meie vabatahtlike tõlkijate kogukonnaga. Nad aitavad meil lisada Stremiole versioone paljudes erinevates keeltes.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Kas olete valmis alustama?","WEBSITE_TRANSALTE_STREMIO":"Tõlkige Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Ametlikud kogukonnad","WEBSITE_COMMUNITY_OFFICIALS_P1":"Saage osaks kasvavast Stremio kogukonnast. Jälgige meid sotsiaalmeedias ja tervitage julgelt - meile meeldib kuulda oma fännidelt!","WEBSITE_COMMUNITY_UNOFFICIALS":"Mitteametlikud kogukonnad","STREMIO_COMMUNITY_NL":"Stremio Holland","STREMIO_COMMUNITY_BRASIL":"Stremio Brasiilia","STREMIO_COMMUNITY_GERMANY":"Stremio Saksamaa","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgia","STREMIO_COMMUNITY_FRANCE":"Stremio Prantsusmaa","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Itaalia","STREMIO_COMMUNITY_UK":"Stremio Ühendkuningriik","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mehhiko","STREMIO_COMMUNITY_ADDONS":"Stremio laiendused","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Äge Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partnerid ja toetajad","WEBSITE_COMMUNITY_GOODIES":"Stremio nänn","WEBSITE_COMMUNITY_WALLPAPERS":"Taustapildid","WEBSITE_COMMUNITY_ART":"Kogukonna kunstigalerii","WEBSITE_LINK_ART":"Kogukonna kunstigalerii","WEBSITE_CONTACT_US":"Võtke meiega ühendust","WEBSITE_CONTACT_US_P1":"Kui teil on küsimusi, kommentaare või ettepanekuid, võtke meiega ühendust alloleva kontaktvormi kaudu.","WEBSITE_CONTACT_US_P2":"Pidage meeles, et asume Bulgaarias, seega võib ajavööndi erinevuste tõttu teie päringule vastamisega viibida.","WEBSITE_CONTACT_US_SUCCESS":"Teie sõnum on saadetud. Vastame esimesel võimalusel.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Sisestage kehtiv e-mail!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Millega on teie küsimus seotud?","WEBSITE_CONTACT_US_Q_OS":"Mis on teie operatsioonisüsteem?","WEBSITE_CONTACT_US_PH_EMAIL":"Teie e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Sõnum","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SAADA","WEBSITE_CONTACT_US_Q_1":"Kuidas paigaldada?","WEBSITE_CONTACT_US_Q_2":"Kuidas eemaldada?","WEBSITE_CONTACT_US_Q_3":"(HTML) Kuidas teha lasanjet?","WEBSITE_CONTACT_US_Q_4":"Laiendused","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tehnoloogia","WEBSITE_TECHNOLOGY_P1":"Me armastame tehnoloogiat ja hullu teadust. </br> Siin on see, mis Stremiot jõustab (kõik on avatud lähtekoodiga).","WEBSITE_TECHNOLOGY_P_QT":"Parim platvormidevaheline tarkvaraarendus.","WEBSITE_TECHNOLOGY_P_MPV":"Tasuta, avatud lähtekoodiga ja platvormidevaheline meediamängija.","WEBSITE_TECHNOLOGY_P_RN":"React Native võimaldab luua mobiilirakendusi, kasutades ainult JavaScripti.","WEBSITE_TECHNOLOGY_P_VLC":"Meediaraamistik, mis on integreeritud rakendusse, et saada multimeediat.","WEBSITE_TECHNOLOGY_P_REALM":"Realm on mobiiliplatvorm ja SQLite & Core Data asendaja.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js on avatud lähtekoodiga, platvormidevaheline JavaScripti tööaeg.","WEBSITE_TECHNOLOGY_P_RUST":"Rust on mitmeparadigmaline süsteemiprogrammeerimise keel, mis keskendub ohutusele, eriti turvalisele samaaegsusele.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Panustage projekti","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Stremiosse panustamiseks ja toote täiustamiseks on kaks võimalust.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Saate annetada oma väärtuslikke keeleoskusi platvormi tõlkimiseks...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"või","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... saate kasutada oma koodimisoskusi kogukonna laienduste loomiseks.","WEBSITE_TRANSLATE_STREMIO":"Tõlkige Stremio","WEBSITE_404_OH_NO":"Oh ei! Otsitud lehekülge siin pole...","WEBSITE_GO_HOME":"Mine avalehele","WEBSITE_LINK_OTHER_DOWNLOADS":"Muud allalaadimised","WEBSITE_FAQ_ABR":"KKK","WEBSITE_SUPPORT":"Tugi","WEBSITE_DOWNLOAD_4_0_BETA":"Laadi alla Stremio 4 beta kohe","WEBSITE_GET_FOR_DESKTOP":"Hangi töölauale","WEBSITE_LINK_ADDON_COMPETITION":"Laienduste võistlus","WEBSITE_LINK_ART_CONTEST":"Kunstivõistlus","WEBSITE_MY_ACCOUNT":"Minu konto","WEBSITE_MAINPAGE_FAQ_001_H1":"Mis on Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio on kaasaegne meediakeskus, mis annab teile vabaduse vaadata kõike, mida soovite.","WEBSITE_MAINPAGE_FAQ_002_H1":"Kuidas see töötab?","WEBSITE_MAINPAGE_FAQ_002_P1":"Kui olete Stremio oma seadmesse paigaldanud ja konto loonud, peate külastama ainult laienduste kataloogi ja installima soovitud laiendused ning oletegi valmis!","WEBSITE_MAINPAGE_FAQ_002_P2":"Pärast seda võite alustada sisu uurimist ja avastamist Discover või Board sektsioonides.","WEBSITE_MAINPAGE_FAQ_003_H1":"Mida ma siin vaadata saan?","WEBSITE_MAINPAGE_FAQ_003_P1":"Palju: filme, telesaateid, veebikanaleid, sporti, telekanaleid, kuulata taskuhäälinguid ja palju muud. Tänu meie laienduste süsteemile pääsete juurde erinevale sisule.","WEBSITE_MAINPAGE_FAQ_004_H1":"Kas Stremio on avatud lähtekoodiga?","WEBSITE_MAINPAGE_FAQ_004_P1":"Jah, vaadake järgmisi linke: ${1}töölauarakendus${2} ja ${3}GitHubi organisatsioon${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Kas Stremio on turvaline?","WEBSITE_MAINPAGE_FAQ_005_P1":"Jah: kuna tegemist on avatud lähtekoodiga tarkvaraga, on kood avalikult auditeeritav ja saate seda ise üle vaadata.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio laienduste süsteem on loodud ka kasutaja turvalisust silmas pidades. Laiendused ei käivita kohapeal koodi, seega ei kujuta need teie seadmele ohtu.","WEBSITE_MAINPAGE_FAQ_006_H1":"Kuidas on minu privaatsusega?","WEBSITE_MAINPAGE_FAQ_006_P1":"Austame kasutajate privaatsust ja ei kogu isikuandmeid peale minimaalse vajaliku konto loomiseks ja sünkroonimiseks.","WEBSITE_MAINPAGE_FAQ_006_P2":"Samuti on olemas ${1}Külalisrežiim${2} registreerimisel, mis ei nõua mingeid andmeid: selles režiimis pole meie taustsüsteemiga ühendust. Kuid see piirab mõningaid kasulikke funktsioone, näiteks raamatukogu sünkroonimist seadmete vahel.","WEBSITE_MAINPAGE_FAQ_007_H1":"Kas saan oma telerisse edastada?","WEBSITE_MAINPAGE_FAQ_007_P1":"Jah, toetame Chromecast\'i ning saate edastada nii töölaua- kui mobiilirakendustest (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Mitu laiendust Stremiol on?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019. aasta lõpuks üle 50 - lisateabe saamiseks külastage meie laienduste kataloogi.","WEBSITE_MAINPAGE_FAQ_009_H1":"Kas Stremiot saab laiendada rohkem kui on laienduste kataloogis?","WEBSITE_MAINPAGE_FAQ_009_P1":"Jah, tutvuge nendega: ${1}PimpMyStremio${2}, ${3}Redditi kogukonnad${4}, ${5}Stremio Downloader${6} jne.","WEBSITE_MAINPAGE_FAQ_010_H1":"Milliseid seadmeid Stremio toetab?","WEBSITE_MAINPAGE_FAQ_010_P1":"Meil on töölauarakendused Windowsi, Maci ja Linuxi jaoks. Mobiili jaoks toetame Androidi ja iOS-i, kuigi pidage meeles, et iOS on piiratud funktsionaalsusega (enamik laiendusi pole toetatud).","WEBSITE_MAINPAGE_FAQ_010_P2":"On palju Androidi-põhiseid seadmeid, nagu NVIDIA Shield ja Amazon Fire Stick, millel saate Stremiot kasutada, kuid me ei toeta neid ametlikult.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Meil on töölauarakendused Windowsi, Maci ja Linuxi jaoks. Meil on ka spetsiaalsed rakendused Android Mobile\'ile ja Android TV-le. iOS-i ja iPadOS-i jaoks soovitame kasutada Stremio Webi, kuigi selle funktsionaalsus on piiratum.","WEBSITE_MAINPAGE_FAQ_011_H1":"Kas te saate lisada Stremiosse teatud sisu?","WEBSITE_MAINPAGE_FAQ_011_P1":"Kahjuks me ise sisu ei paku, kuid mida rohkem Stremio laiendusi olete installinud, seda rohkem sisu leiate.","WEBSITE_MAINPAGE_FAQ_012_H1":"Kas Stremio suudab esitada magnetlinke?","WEBSITE_MAINPAGE_FAQ_012_P1":"Jah, samuti saab esitada tavalisi HTTP linke ja torrentifaile (lohistades ja asetades).","WEBSITE_MAINPAGE_FAQ_013_H1":"Kas ma saan video alla laadida ja seda ilma internetita vaadata?","WEBSITE_MAINPAGE_FAQ_013_P1":"Võimalus vaadata ilma internetita on tulemas, kuid kui lubate Stremiol seadetesse vahemälu salvestada, saate videoid hiljem ühenduseta vaadata.","WEBSITE_MAINPAGE_FAQ_014_H1":"Miski ei tööta, aidake mind!","WEBSITE_MAINPAGE_FAQ_014_P1":"Kas olete kindel, et olete laiendusi installinud? Kui jah, vaadake meie ${1}abikeskust${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Kuidas Stremio oma arendustegevust toetab?","WEBSITE_MAINPAGE_FAQ_015_P1":"Aeg-ajalt kuvame mittepealetükkivaid reklaame, kuid kaalume annetuste mudelile üleminekut.","WEBSITE_MAINPAGE_FAQ_015_P2":"Rohkemate küsimuste puhul külastage meie ${1}abikeskust${2}.","HELP_LEARN_MORE":"Aita meil sinust rohkem teada saada.","LIFESTYLE":"Elustiil","SPORTS":"Sport","FOOD_HEALTH":"Toit ja tervis","BEAUTY_FASHION":"Ilu ja mood","NEWS":"Uudised","GAMING":"Mängud","SCIENCE_EDUCATION":"Teadus ja haridus","MUSIC":"Muusika","TRAVEL":"Reisimine","LATE_NIGHT":"Hilisõhtu","REALITY":"Tõsielu","COMEDY":"Komöödia","DIY":"Kuidas teha","TECH":"Tehnoloogia","CINEMA":"Kino","CONTINUE":"Jätka","SLOW_LOADING":"LAADIMINE ON AEGALANE?","I_GIVE_UP":"ANNAN ALLA","LEARN_MORE":"Loe rohkem","POOR_SOURCE":"See allikas on halvasti saadaval või teie internetiühendus pole piisavalt kiire","PICK_CATEGORIES_ERR":"Peate valima vähemalt 3 kategooriat","ADJUST_TIMING":"Kohandage ajastust koos ","ADJUST_SIZE":"Kohandage suurust koos ","SEARCH_ANYTHING":"Võite otsida kõike...","ALL_CATEGORIES":"Kõik","SEARCH_CATEGORIES":"Filmid, Seriaalid, YouTube ja TV","SEARCH_PERSONS":"Näitlejad, Režissöörid ja Kirjanikud","SEARCH_PROTOCOLS":"HTTP ja Magnet Lingid","SEARCH_TYPES":"IMDB / TVDB lingid","WATCHED":"Vaadatud","SHOW_LESS":"Näita vähem","LAST_SEARCHES":"Viimased otsingud","CLEAR_HISTORY":"Tühjenda ajalugu","CHOOSE_SOME":"VALI MIDAGI NENDEST:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Veebipult ei saanud laadida","STREMIO_OFFLINE":"Stremio on ühenduseta","STREMIO_EXPENSIVE_CONNECTION":"Oleme tuvastanud, et kasutate mobiilset andmesidet. Kas soovite jätkata?","USE_DATA":"Kasuta andmesidet","WARNING":"Hoiatus","MORE_INFO":"Rohkem infot...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Laadimine ...","STREMIO_TV_BACK_TO_LANGUAGES":"Tagasi keelte juurde","STREMIO_TV_REMOTE":"Pult","STREMIO_TV_GO_TO":"Mine aadressile:","STREMIO_TV_OR_SCAN":"või skaneeri:","STREMIO_TV_ADDON_INSTRUCTIONS":"Palun järgige juhiseid oma eelistatud laienduste installimiseks.","STREMIO_TV_LIVE_TV":"Otse-TV","STREMIO_TV_RESUME_WATCHING":"Jätka vaatamist","STREMIO_TV_LOADING_BACKGROUND":"Tausta laadimine","STREMIO_TV_CHECKING_AUTHENTICATION":"Autentimise kontrollimine","STREMIO_TV_LOADING_BOARD":"Töölauda laaditakse","STREMIO_TV_LOGIN_HEADER_LINE_1":"Soovime pakkuda oma kasutajatele parimat võimalikku isikustatud kogemust meie tarkvaraga.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Seetõttu palume teil konto luua ja/või sisse logida.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Tänan mõistva suhtumise eest,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio tiim","STREMIO_TV_REMOTE_INSTRUCTIONS":"Veebipuldi kasutamiseks oma nutitelefoni/tahvelarvuti/lauaarvutiga:","STREMIO_TV_WIFI_SETUP":"Wi-Fi seadistus","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle ei tuvastanud internetiühendust.","STREMIO_TV_WIFI_DETAILS_1":"Ühenda järgmisega:","STREMIO_TV_WIFI_DETAILS_2":"stremio-ring","STREMIO_TV_WIFI_DETAILS_3":"Kasutage parooli:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Ava veebilehitseja lingiga:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Vaikimisi","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Viimati vaadatud järgi","STREMIO_TV_LIBRARY_SORT_NAME":"Nime järgi","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Nime järgi kahanevalt","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Vaatamiskordade järgi","STREMIO_TV_LIBRARY_SORT_WATCHED":"Vaadatud järgi","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Mitte vaadatud järgi","STREMIO_TV_DETAILS_SEASON_NUMBER":"Hooaeg ${1}","STREMIO_TV_STREAMS_LOADING":"Laetud ${1} / ${2} laiendust...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} laiendus on veel laadimisel...","STREMIO_TV_PLAYER_SETTINGS":"Mängija seaded","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtiitrite viivitus","STREMIO_TV_PLAYER_AUDIO_DELAY":"Heli viivitus","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video skaleerimine","STREMIO_TV_PLAYER_CHAPTERS":"Peadükk","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Jäta vahele ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Mitte toetatud voo allikas","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Väline link ei avanenud","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Ei saa kohandada helipääsrežiimis","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Esita ExoPlayeriga","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Esita libVLC mängijaga","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Ümberlülitamine libVLC mängijale taasesituse vea tõttu","STREMIO_TV_ADDONS_TITLE":"Kasutage oma telefonis või arvutis Stremiot laienduste installimiseks või seadistamiseks ja vajutage „Sünkrooni laiendused“","STREMIO_TV_ADDONS_SUBTITLE":"Märkus: veenduge, et kasutate sama Stremio kontot","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sünkrooni laiendused","STREMIO_TV_ADDONS_SYNC_SUCCESS":"laiendused edukalt sünkroniseeritud","STREMIO_TV_ADDONS_SYNC_FAILED":"Laienduste sünkroniseerimine ebaõnnestus","STREMIO_TV_META_LINK_FAILED":"Meta linki ei õnnestunud avada","STREMIO_TV_CATALOG_LOADING":"Kataloog veel laadimisel...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Liidese keel uuendatud","STREMIO_TV_SETTINGS_THEME_UPDATED":"Teema uuendatud","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Vaikimisi mängija","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Väline mängija","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Eelistatud keel","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Teisene eelistatud keel","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunneliga taasesitus","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Mõnel seadmel võivad tekkida taasesitusprobleemid","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Mõned videoformaadid ei pruugi töötada","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Kaadrisageduse sobitamine","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Keelatud","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Ainult kaadrisagedus","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Kaadrisagedus ja resolutsioon","STREMIO_TV_SETTINGS_NO_CACHING":"Pole vahemälu","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Vaikimisi","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Pehme","STREMIO_TV_SETTINGS_PROFILE_FAST":"Kiire","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ülikiire","STREMIO_TV_SETTINGS_SERVER_URL":"Voogesituse serveri URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"Serveri versioon","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Teadmata","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio versioon","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Muuda serveri URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Sisestage voogesituse serveri URL","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Näita statistikat laadimise ajal","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremio privaatsuspoliitika lugemiseks külastage:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremio tingimuste ja eeskirjade lugemiseks külastage:","STREMIO_TV_NAV_SEARCH":"Otsing","STREMIO_TV_NAV_HOME":"Avaleht","STREMIO_TV_NAV_DISCOVER":"Avasta","STREMIO_TV_NAV_LIBRARY":"Raamatukogu","STREMIO_TV_NAV_MOVIES":"Filmid","STREMIO_TV_NAV_SERIES":"Seriaalid","STREMIO_TV_NAV_CHANNELS":"Kanalid","STREMIO_TV_NAV_TV":"Otse-TV","STREMIO_TV_NAV_SETTINGS":"Seaded","STREMIO_TV_NAV_ADDONS":"Laiendused","STREMIO_TV_LOGIN_TITLE":"Konto linkimine","STREMIO_TV_LOGIN_EXPIRES_IN":"Aegub","STREMIO_TV_LOGIN_STEP_ONE":"Skaneeri QR-kood või mine aadressile","STREMIO_TV_LOGIN_STEP_TWO":"Logi sisse oma Stremio kontole","STREMIO_TV_LOGIN_NEW_LINK":"Küsi uus link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Sisselogimiskood uuendatud","STREMIO_TV_SEARCH_PLACEHOLDER":"Sisestage midagi","STREMIO_TV_SEARCH_NO_ADDONS":"Laiendusi kataloogide jaoks ei leitud!","STREMIO_TV_SEARCH_BUTTON":"Otsi","STREMIO_TV_SEARCH_KEY_DEL":"Kustuta","STREMIO_TV_SEARCH_KEY_SPACE":"Tühik","STREMIO_TV_SEARCH_KEY_CLEAR":"Tühjenda","STREMIO_TV_SEARCH_HISTORY_TITLE":"Otsinguajalugu","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Saate otsida pealkirju, näitlejaid, kanaleid ja palju muud...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Tühjenda otsinguajalugu","STREMIO_TV_FILTERS_DESCRIPTION":"Valige üks allolevatest filtritest","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Voogedastuse server on võrguühenduseta. Kontrollige serveri seadeid.","FILTERS":"Filtrid","SETTINGS":"Seaded","ACCOUNT":"Konto","LOGOUT":"Logi välja","THEMES":"Teemad","PLAYBACK":"Esitamine","PLAYBACK_SPEED":"Esituskiirus","AUDIO_TRACKS":"Helirajad","UNKNOWN_TRACK_LANG":"Tundmatu","VIDEOS":"Videod","SERVER":"Server","LINKS":"Lingid","ABOUT":"Teave","INTERFACE":"Liides","ANIMATIONS":"Animatsioonid","STATUS":"Olek","LANGUAGE":"Keel","SIZE":"Suurus","DELAY":"Viivitus","BOLD":"Rasvane","OPACITY":"Läbipaistvus","TEXT_COLOR":"Teksti värv","OUTLINE_COLOR":"Kontuurvärv","BACKGROUND_COLOR":"Taustavärv","BACKGROUND_BLUR":"Taustahägusus","SEEK_TIME_DURATION":"Otsimise ajakestus","AUTO_PLAY":"Automaatne järgmise osa esitus","PLAY_NOW":"Esita nüüd","MARK_AS_WATCHED":"Märgi vaadatuks","MARK_AS_UNWATCHED":"Märgi vaatamata","REWIND_TO_BEGINNING":"Kerige algusesse","CONTINUE_WATCHING":"Jätka vaatamist","ALL":"Kõik","SECONDS":"sekundit","ON":"SEES","OFF":"VÄLJAS","RELOAD":"Laadi uuesti","EDIT_URL":"Muuda URL-i","URL":"URL","NONE":"Pole","EMBEDDED":"Manustatud","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Vaheta seadmeid","REMOTE_VIDEOS":"Videod","REMOTE_ADJUST_TIMING":"Kohanda ajastust","REMOTE_ADJUST_SIZE":"Kohanda suurust","REMOTE_COULD_NOT_BE_LOADED":"Veebipult ei laaditud","REMOTE_RETRY":"Proovi uuesti","TORRENT_PROFILE_DEFAULT":"Vaikimisi","TORRENT_PROFILE_SOFT":"Aeglane","TORRENT_PROFILE_FAST":"Kiire","TORRENT_PROFILE_ULTRA_FAST":"Ülikiire","MB_S":"MB/s","FAQ_001_H1":"Mis on Stremio?","FAQ_001_P1":"Stremio on meediakeskuse tarkvara, mis on loodud videomeelelahutuse jaoks ja mille kasutusmugavus on esikohal. Stremio võimaldab sul korraldada ja vaadata oma filmide, sarjade, kanalite ja otse-TV kogu.","FAQ_001_P2":"Stremio kogub sisu sinu kohalikust kettast ja meie laienduste süsteemist.","FAQ_001_P3":"See teavitab sind ka siis, kui tulevad välja uued episoodid/videod/filmid, mis sind huvitavad, ning pakub filmisoovitusi.","FAQ_02_H1":"Kuidas on Stremio võrreldav Kodi ja Plexiga?","FAQ_02_P1":"Oleme inspiratsiooni saanud neist kahest tarkvarast. Kuid meil on erinevad eesmärgid - Stremio on suunatud spetsiaalselt meelelahutusvideole ja püüab saada peamiseks lahenduseks.","FAQ_02_P2":"Stremio ei ole kunagi nii kohandatav ja funktsionaalselt rikkalik kui Kodi ja Plex, kuid seda on oluliselt lihtsam kasutada. Lihtsalt ${1} proovi järele ja vaata ise ${2} :)","FAQ_03_H1":"Kuidas on Stremio võrreldav Netflixiga?","FAQ_03_P1":"Ka Netflix on meie inspiratsiooniallikas. Püüame pakkuda Netflixi kasutuskogemust, lisades juurde mitmesuguseid lisavõimalusi. Kuid mis veelgi olulisem - anname sulle vabaduse hallata oma raamatukogu ja lisada uusi allikaid meie laiendustesüsteemi kaudu.","FAQ_03_P2":"See teeb Stremio lõputult laiendatavaks, nii et Stremio kasutamisel pole sa kunagi piiratud ainult Netflixi litsentsitud sisuga. Näiteks saad Stremio kaudu vaadata sisu ${1} Filmon.tv${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} ja isegi ${9}Netflix${10} enda teenusest!","FAQ_04_H1":"Kuidas on Stremio võrreldav Flipboardiga?","FAQ_04_P1":"Meile seda küsimust sageli ei esitata, välja arvatud siis, kui räägime start-up inimestega :)","FAQ_04_P2":"Stremio on sisuliselt sisu agregaat, mis muudab selle Flipboardiks video jaoks. See on väga ilmne meie Teadete sektsioonis, mis annab sulle kataloogid ja teavitused uutest episoodidest/videotest, mida jälgid, sarnaselt Flipboardile.","FAQ_05_H1":"Kuidas on Stremio võrreldav Popcorn Time\'iga?","FAQ_05_P1":"Stremio ja Popcorn Time on sarnased kasutajaliidese poolest, kuna videomeelelahutuse kataloogide tegemiseks pole palju võimalusi :)","FAQ_05_P2":"Kuid samas kui Popcorn Time keskendub konkreetsetest allikatest torrentite voogesitusele, on Stremio piiranguteta ja lihtsalt sisu kogujana - see pole seotud kindla sisuteenusepakkujaga.","FAQ_05_P3":"Lisaks ei paku me vaikimisi ühtegi torrent-laiendust, nii et Stremio ei kata Popcorn Time\'i kasutusjuhtumit ametliku funktsionaalsusega.","FAQ_05_P4":"Veel üks märkimisväärne erinevus on see, et Popcorn Time on täiesti avatud lähtekoodiga, samas kui Stremio on ${1} osaliselt avatud lähtekoodiga${2}.","FAQ_06_H1":"Kas te lisate selle filmi/sarja?","FAQ_06_P1":"Ei, kahjuks mitte :(","FAQ_06_P2":"Nagu mainitud enamikus teistes küsimustes, ei paku Stremio iseseisvalt sisu - kõik lisatakse laienduste süsteemi kaudu. Kui sul on sisu soov, saad Playeris kasutada nuppu „Teata”, mis saadab e-kirja laienduse autorile, mida hetkel kasutad.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Kas te loote laienduse X jaoks?","FAQ_08_P1":"See on täiesti võimalik.","FAQ_08_P2":"Kui sul on idee laienduse jaoks, võta meiega ühendust aadressil ${1}office@stremio.com${2}, kuid palun veendu, et sinu laienduse idee ei rikuks autoriõigusi ega kasutustingimusi.","FAQ_08_P3":"Praegu on meie plaanis järgmised laiendused FandangoNOW, Filmon.tv nõudmisvideod ja Crunchyroll.","FAQ_09_H1":"Kas Stremio kasutab BitTorrent\'i?","FAQ_09_P1":"Jah, Stremio toetab BitTorrent\'i voogesitusprotokollina. Sa saad seda kasutada kas torrent-laiendusega või .torrent-faili lohistamisega Stremiosse või magnetlingi kleepimisega Otsingu riba.","FAQ_09_P2":"Palun pange tähele, et ainus ametlik laiendus, mis kasutab BitTorrent\'i, on ${1}Vodo${2}, mis pakub indie-sisu, mis on lubatud levitada BitTorrent\'iga.","FAQ_09_P3":"Me ei toeta kolmandate osapoolte laienduste kasutamist, mis võivad võimaldada autoriõiguste rikkumist.","FAQ_10_H1":"Mida saab Stremios vaadata ametlike laiendustega?","FAQ_10_P1":"Vaikimisi saad vaadata Filmon.tv, YouTube ja Vodo sisu otse Stremio sees, kasutades sisseehitatud mängijat. Lisaks on meil laiendus Twitch.tv jaoks ja mõned teised.","FAQ_10_P2":"See kombinatsioon pakub valikut:","FAQ_10_L1":"Populaarsed telekanalid, mida pakub Filmon.tv – näiteks E4, BBC, Bollyworld TV","FAQ_10_L2":"Kõik YouTube\'is – näiteks BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie-filmid Vodost","FAQ_10_L4":"Veebimängude ülekanded Twitch.tv kaudu","FAQ_10_P3":"Lisaks on Guideboxi ja Netflixi laiendustega saadaval palju sisuallikaid, mis <b>ei</b> mängi täielikult Stremio sees, vaid suunatakse edasi antud teenusele. Näiteks pakub Guideboxi laiendus valiku filme, mida saad USA-s tasuta voogedastada teenustest nagu TubiTV ja Crackle.","FAQ_11_H1":"Stremiot ei saa installida, mida peaksin tegema?","FAQ_11_P1":"Kui kasutad Windowsi, proovi ${1}seda alternatiivset installerit${2}.","FAQ_11_P2":"Kui kasutad Mac OS X-i, siis teadmiseks, et me ei toeta midagi vanemat kui OS X Mavericks (10.9).","FAQ_11_P3":"Kui kasutad Linuxit, siis arvestage, et praegu toetame ainult 64-bitist (x64) Linuxit.","FAQ_11_P4":"Kui sa ikka ei suuda probleemi lahendada, kirjuta meile ${1}meie Facebooki gruppi${2}.","FAQ_12_H1":"Miks minu viirusetõrje kaebab? Kas Stremio on ohutu?","FAQ_12_P1":"Kinnitame, et Stremio on ${1}100% puhas${2}.","FAQ_12_P2":"Sinu viirusetõrje kaebab, sest meie installer sisaldab reklaame, mida mõned viirusetõrje programmid tuvastavad reklaamvarana.","FAQ_12_P3":"Kui oled endiselt kahtleval seisukohal, võid proovida meie ${1}alternatiivset installerit${2}.","FAQ_13_H1":"Kuidas ma saan teha laienduse?","FAQ_13_P1":"Algajatele soovitame tutvuda meie ${1}\'laienduste\' süsteemi mooduliga${2} GitHubis.","FAQ_13_P2":"Seejärel saad järgida ${1}Hello World õpetust${2}.","FAQ_13_P3":"Kui sul puuduvad programmeerimisoskused, postita oma idee ${1}Redditi kogukonda${2} ja võta meiega ühendust oma laienduse ideega aadressil ${3}office@stremio.com${4}.","FAQ_14_H1":"Kuidas laiendusi avaldatakse?","FAQ_14_P1":"Kui sa lood laienduse ja hostid seda ning lisad oma manifestile <b>endpoint</b> väljale toimiva laienduse aadressi, siis laiendus avaldatakse automaatselt meie ${1}Laienduste kataloogis${2}.","FAQ_14_P2":"See juhtub seetõttu, et stremio-addons mooduli serveripool teeb automaatselt kõne meie API-sse, et laiendusest teada anda. Kui meie API valideerib su <b>endpoint</b> kui kehtiva laienduse, siis hakkab see kataloogis kuvama.","FAQ_15_H1":"Kas ma saan Stremiot kasutada oma brauseris?","FAQ_15_P1":"Praegu mitte, kuid see on tulemas!","FAQ_15_P2":"Kui oled uudishimulik nägema Alpha versiooni, võid seda vaadata siit: ${1}alpha4.strem.io${2}. Pidage meeles, et voogesitus on selles alfas keelatud. Toetame Chrome\'i, Firefoxi, Opera ja Edge\'i.","FAQ_16_H1":"Telerisse edastamine ei tööta / subtiitrid ei tööta","FAQ_16_P1":"Telerisse edastamine kasutab DLNA-tehnoloogiat, mis on väga ebajärjekindel erinevate telekaubamärkide ja -mudelite vahel. Seetõttu ei saa me seda igal juhul testida, nii et see pole kaugeltki täiuslik. Sellest hoolimata töötame selle pideva täiustamise kallal, kuid ei saa anda tähtaega, millal DLNA hakkab korralikult tööle sinu teleriga.","FAQ_16_P2":"Kui sa ei näe isegi oma telerit edastusmenüüs, proovi oma võrguühendust välja ja uuesti sisse lülitada (Windowsis paremklõpsa Võrku ja kasuta Luba/Keela) ning taaskäivita oma ruuter, teler ja arvuti.","FAQ_16_P3":"Kui probleemid jätkuvad, saad meid aidata, saates oma teleka brändi ja mudeli teabe aadressil ${1}office@stremio.com${2}.","FAQ_16_P4":"Seniks soovitame Chromecasti, mida toetame väga hästi, või lihtsalt ühendada teleri HDMI-kaabliga arvutiga.","FAQ_17_H1":"Stremio hangub ja/või jookseb kokku, mida ma saan teha?","FAQ_17_P1":"Esiteks, kui kasutad Windows 7 AVG viirusetõrjega: meil on selle kombinatsiooniga probleem. Probleem on AVG-s endas ja meil pole mõistlikku lahendust selle lahendamiseks. Kahjuks ei aita erandid ega viirusetõrje keelamine. Ainus lahendus on AVG millegi muuga asendamine.","FAQ_17_P2":"Kui see pole probleem, kuid kasutad endiselt Windowsi, uuenda uusimale teeninduspaketile ja uuenda/paigalda uuesti oma GPU draiverid ning proovi uuesti.","FAQ_17_P3":"Kui probleem pole ikka lahendatud või kasutad Maci või Linuxit, siis kirjuta meile probleemist täpselt meie ${1}Facebooki gruppi${2}.","FAQ_18_H1":"Kuidas ma saan teha laienduse?","FAQ_18_P1":"Algajatele soovitame tutvuda meie ${1}\'laienduste\' süsteemi mooduliga${2} GitHubis.","FAQ_18_P2":"Seejärel saad järgida ${1}Hello World õpetust${2}.","FAQ_18_P3":"Kui sul puuduvad programmeerimisoskused, postita oma idee ${1}Redditi kogukonda${2} ja võta meiega ühendust oma laienduse ideega aadressil ${3}office@stremio.com${4}.","FAQ_19_H1":"Miks Stremio võtab kettaruumi?","FAQ_19_P1":"Stremiol on <b>kohalik vahemälu</b>, et ajutiselt hoida voogesitatud videofaile.","FAQ_19_P2":"Sellel on kaks eelist: esiteks võimaldab see Stremiol videot ette puhverdada, et tagada sujuvam voogesitus. Teiseks hoiab see videoid kohalikus vahemälus, et saaksid neid hiljem võrguühenduseta vaadata.","FAQ_19_P3":"Kui palju Stremio hoiab, sõltub <b>Vahemälu</b> seadetest Seadete paneelil. Stremio võib hoida kuni määratud suuruseni (nt 2GB) kettal, välja arvatud juhul, kui praegu voogesitatav video on sellest suurem, sel juhul peab see määrama piisavalt salvestusruumi selle hoidmiseks, kuni sa seda voogesitad.","FAQ_20_H1":"Kus on vahemälukaust?","FAQ_20_P1":"Windowsis asub see stremio-cache kettal, mille valisid Seadetes (nt \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"MacOS-is on see \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linuxis on see \\"~/.stremio/stremio-cache\\" või \\"~/stremio-cache\\"","FAQ_21_H1":"Ma saan veateate \\"Voogesituse serverit ei leitud\\", mida ma saan teha?","FAQ_21_P1":"Kui sa saad selle veateate, tähendab see ühte järgmistest:","FAQ_21_P2":"1) Sa üritad kasutada YouTube/BitTorrent allikat kasutavat laiendust meie ${1}veebiversiooni${2} kaudu. Sel juhul tuleks paigaldada meie lauaarvuti versioon ${3}meie veebisaidilt${4}.","FAQ_21_P3":"2) Midagi on Stremio installatsiooniga valesti. Sel juhul proovi uuesti paigaldada meie uusim versioon ${1}veebisaidilt${2}. Kui see ei aita, proovi viirusetõrjeprogrammid ja tulemüürid välja lülitada, arvuti taaskäivitada ja uuesti proovida. Kui see ikka ei aita, kirjuta meile ${3}meie Facebooki gruppi${4}.","FAQ_22_H1":"Enamikku laiendusi ei saa kasutada iOS-is","FAQ_22_P1":"Apple\'i App Store\'i tingimuste piirangute tõttu oleme iOS-i rakenduse piiranud ainult kindla hulga laiendustega.","FAQ_22_P2":"Aga ole mureta - tulevikus lisame iOS-ile rohkem laiendusi ning võime lisada ka integratsiooni, mis võimaldab kasutada kõiki Stremio laiendusi, ühendades iOS-i rakenduse Stremio Voogesituse Serveriga."}')},92967:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filma","TYPE_series":"Telesaila","TYPE_tv":"Telebista katea","TYPE_channel":"Kanala","TYPE_other":"Beste batzuk","TYPE_movie_PL":"Filmak","TYPE_series_PL":"Telesaila","TYPE_tv_PL":"Telebista kateak","TYPE_channel_PL":"Kanalak","TYPE_other_PL":"Beste batzuk","TYPE_ALL":"Guztiak","TYPE":"Mota","CATALOG_com_linvo_cinemeta_top":"Herrikoia","CATALOG_com_linvo_cinemeta_imdbRating":"Nabarmendua","CATALOG_com_linvo_cinemeta_year":"Berria","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Bideoa","BACK":"Atzera","MORE":"Gehiago","DONE":"Eginda","COPY":"Kopiatu","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Ezagutu","Board":"Arbela","Library":"Liburutegia","My Library":"Nire Liburutegia","Calendar":"Egutegia","NOTIFICATION_ONLINE":"Linean zaude orain","NOTIFICATION_OFFLINE":"Une honetan lineaz kanpo zaude","INTERNET_CONNECTION":"Sareko konexioa","STORAGE_FULL_TITLE":"Abisua: biltegiratzea beteta!","STORAGE_FULL_TEXT":"Stremio-k ezin izango ditu zure ezarpenak, lehentasunak edo saio-hasierako informazioa gorde. Baloratu Stremio berriro abiaraztea edo berriro instalatzea.","SEARCH":"bilatu","SEARCH_NO_RESULTS":"Ez da emaitzarik aurkitu","SEARCH_EXPLANATION_CONTENT":"Bilatu filmak, serieak, YouTube eta telebista kateak","SEARCH_EXPLANATION_PEOPLE":"Aktore, zuzendari eta idazleak bilatu","SEARCH_PASTE_LINKS":"Itsatsi HTTP eta Magnet estekak","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Gehitu liburutegian","REMOVE_FROM_LIB":"Kendu liburutegitik","ADDED_TO_LIB":"Liburutegian gehitu da","REMOVED_FROM_LIB":"Liburutegitik kendu da","TRAILER":"Trailerra","WATCH_TRAILER":"Ikusi Trailerra","WATCH_NOW":"Ikusi orain","SHOW":"Ikuskizuna","SHOW_MOVIE":"Erakutsi filma","WATCH_RANDOM":"Ikusi ausaz","IMDB_RATING":"IMDb balorazioa","YEAR":"Urtea","DIRECTOR":"Zuzendaria","WRITER":"Idazlea","LEAD_ACTORS":"Aktore nagusiak","CAST":"Aktoreak","CREW":"Tripulazioa","SHOW_MORE_CAST":"Erakutsi gehiago »","AIRED":"Erretransmititua","SEASONS":"Denboraldiak","GENRE":"Generoa","GENRE_ALL":"Genero denak","CATALOG":"Katalogoa","SUMMARY":"Laburpena","SHOW_MORE":"Erakutsi gehiago","SIMILAR":"Antzekoak","UPCOMING":"Datozenak","TBA":"TBA","ENDED":"Bukatuta","DURATION":"Iraupena","FEATURED":"Nabarmenduak","METADATA":"Metadatuak","CATEGORY":"kategoria","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Zuzendariak","SEARCH_VIDEOS":"bilatu bideoak","SEARCH_PLACEHOLDER":"bilatu edo itsatsi URLa","ADDON":"gehigarria","ADDONS":"Gehigarriak","OFFICIAL":"ofiziala","ADDONS_OFFICIAL":"Stremio gehigarri ofizialak","ADDONS_POPULAR":"Zure inguruan ezaguna","ADDON_FREE":"doan","ADDON_PEERED":"begiratu","ADDON_SUBSCRIPTION":"harpidetza","ADDON_STREAM_GEORESTRICTED":"ez dago erabilgarri zure eremuan","ADDON_STREAM_OFFLINECACHE":"Lineaz kanpoko cachea","ADDON_STREAM_LOCALFILE":"Tokiko fitxategia","SHARE_ADDON":"Partekatu gehigarria","AVAILABLE_STREAMS":"Eskuragarri dauden stream-ak","NO_STREAM":"Ez da stream-ik aurkitu","ALL_ADDONS":"Denak","INSTALL_MORE_ADDONS":"Stream gehiagorako, instalatu gehigarriak","STREAM_NOT_SUPPORTED":"Aukeratutako stream-a ez da onartzen plataforma honetan.","ADDON_CATALOGUE":"Erakutsi gehigarri guztiak »","ADDON_CATALOGUE_MORE":"Instalatu gehigarriak","REPO_ADDED":"Biltegia gehitu da","ADDON_REPO_EXIST_ERR":"Gehigarrien bilduma hau dagoeneko existitzen da","ADDON_REPO_ERR":"Errore bat gertatu da bilduma gehitzean","ADDON_ADD_ERR":"Errore bat gertatu da gehigarria gehitzean","ERR_ADDON_PROTECTED":"Ezin da gehigarria desinstalatu, babestuta dago","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Arazoren bat izan da. Baliteke autentifikazioak huts egitea","ERR_NOT_COLLECTION_URL":"Ez da bildumaren URLa","ERR_NOT_ADDON_URL":"Ez da baliozko gehigarri URLa","ERR_DETECTFROMURL":"Ezin da URL honetatik gehigarririk/bildumarik aurkitu","ADDON_DUPLICATE_WARNING":"Abisua: gehigarri bikoiztua","ADDON_COLLECTION_SET_FAILED":"Instalatutako gehigarriak zure kontuan sinkronizatzeak huts egin du","SETTINGS_DATA_EXPORT":"Esportatu erabiltzaileen datuak","ADDON_PULL_FAILED":"Instalatutako gehigarriak zure kontutik sinkronizatzeak huts egin du","REFRESH_ON_CLICK":"Egin klik berriro saiatzeko","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Filma oraindik zinema aretoetan","WATCH_IN_CINEMA":"Ikusi zure tokiko zineman","IN_THEATER":"Zineman","GET_TICKETS":"Sarrerak eskuratu","UPCOMING_EPISODE":"Hurrengo atala","UPCOMING_EPISODE_MESSAGE":"Atal hau emitituko da","MISSING_DATE_EPISODE":"Atalaren data falta da","MISSING_DATE_EPISODE_MESSAGE":"Baliteke atal hau oraindik ez emititzea","CHANNEL_NOT_SCRAPED":"Kanal hau ez dago oraindik zatituta.<br>Itzuli minutu batzuen buruan.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Gehitu liburutegian erabilgarri dagoenean jakinarazpenak jasotzeko.","GET_NOTIFIED_WHEN_AVAILABLE":"Erabilgarri dagoenean jakinaraziko zaizu.","WARNING_STREAMING_SERVER":"Abisua: ez da aurkitu streaming lokaleko zerbitzaria. Tokiko fitxategietatik, YouTube-tik eta BitTorrent-etik erreproduzitzea ez da erabilgarri egongo.","WARNING_STREAMING_SERVER_DISMISS":"Baztertu","WARNING_STREAMING_SERVER_LATER":"Geroago","DECODER_WARNING":"Oharra: baliteke bideo hau zure hardwareak ez onartzea. Gogoan izan, erreprodukzioa motela izan daitekela.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Berriz saiatu","CLEAR_DATA":"Datuak garbitu","PLAYER_ERROR":"Erreproduktorearen akatsa","PLAYER_ERROR_LOOKSLIKE":"Badirudi","PLAYER_ORIENTATION":"Erreproduktorearen orientazioa","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Blokeatuta","PLAYER_ORIENTATION_SENSOR_SHORT":"Sentsorea","PLAYER_ORIENTATION_LANDSCAPE":"Erreproduktorearen orientazio etzana blokeatuta dago","PLAYER_ORIENTATION_SENSOR":"Erreproduktorearen orientazio automatikoa (sentsorea)","PLAYER_PLAYBACK_SPEED":"Erreprodukzio abiadura","PLAYER_PLAYBACK_ERROR":"Erreprodukzioaren errorea. Saiatu berriro","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Errore ezezaguna","PLAYER_PLAYBACK_ERROR_DEFAULT":"Barkatu, bideo hau ezin du {{productName}} erabiltzaileak erreproduzitu.","PLAYER_SUBTITLES_LANGUAGES":"Azpitutuluen hizkontzak","PLAYER_SUBTITLES_VARIANTS":"Azpitutuluen aldaerak","PLAYER_SUBTITLES_SETTINGS":"Azpitutuluen ezarpenak","PLAYER_SUBTITLES_DISABLED":"Azpitutuluen desgaiatuta daude","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posizio bertikala","PLAYER_SUBTITLES_LOADED":"Azpitutuluak kargatuta","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Txertatutako azpitituluak kargatuta","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Azpitutulu esklusiboak kargatuta","PLAYER_SUBTITLES_LOADED_LOCAL":"Azpitutuluen lokalak kargatuta","PLAYER_SUBTITLES_LOADED_ORIGIN":"{{origin}}eko azpitituluak kargatuta","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Hurrengo bideoa","PLAYER_MUTE":"Mututu","PLAYER_UNMUTE":"Desmututu","PLAYER_OPEN_IN_EXTERNAL":"Kanpoko erreproduzitzailean ireki","PLAYER_OPEN_IN_NPLAYER":"nPlayer-en ireki","PLAYER_PLAY_IN":"{{device}}-en ireki","PLAYER_LIVE":"Zuzenean","PLAYER_NEXT_VIDEO_TITLE":"Bueltan dator","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Hurrengoa","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Baztertu","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Orain ikusi","PLAYER_COPY_STREAM_SUCCESS":"Stream-aren linka zuzenki kopiatu da","PLAYER_COPY_STREAM_ERROR":"Stream-aren linka kopiatzen akats bat gertatu da","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Deskargako linka zure arbelera kopiatu da","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Deskarga linka kopiatzen errorea gertatu da","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streaming jatorria","CASTING_TO":"(e)ra igortzen","NETWORK_STATUS":"Sarearen egoera","STREAM_SPEED":"Stream-aren abiadura:","STREAM_BUFFERED":"Bufferrean:","PEERS_INFO":"Peer informazioa","PEERS_ACTIVE":"Aktibo:","PEERS_CONNECTED":"Konektatuta:","PEERS_WAITING":"Itxaroten:","TRANSCODING_WARNING":"Abisua: bideoa transkodetzen.","STREAM_LOADING":"kargatzen...","PLAYING_LOCAL":"fitxategi lokaletik erreproduzitzen","PLAYING_CACHE":"cachetik erreproduzitzen","WRONG_SUBS":"Azpititulu okerrak?","ERR_SUBS_LOADING_TITLE":"Errorea azpitituluak kargatzean","ERR_SUBS_LOADING":"Ezin izan dira azpitituluak kargatu: arazoa izan daiteke erabiltzen ari zaren gehigarrian edo sareko konexioan","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Azpitituluen gehigarri hauek huts egin dute","ERR_CASTING_UPDATE_TITLE":"Ezin izan da eguneratu gailuaren informazioa: streaming zerbitzaria konexiorik gabe egon liteke","CHOOSE_DEVICE":"Aukeratu ikusi nahi duzun gailua","NO_CAST_DEVICES":"Ez dago galdaketa gailurik erabilgarri.","NO_SETTINGS":"Ez dago ezarpenik erabilgarri.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefonoa / Tableta","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Azpitituluak","SUBTITLES_CHANGE":"Aldatu azpitituluak","SUBTITLES_CHANGE_NONE":"Ez dago hizkuntza honen azpititulurik, barkatu.","SUBTITLES_CHANGE_ACIVE":"Une honetan #{{subtitlesDialog.activeIdx + 1}} azpitituluak aktibatuta daude. Egin klik \\"Jarraitu\\" #{{subtitlesDialog.pickedIdx + 1}} azpitituluak aktibatzeko.","SUBTITLES_OR":"Bestela,","SUBTITLES_ADJUST_DELAY":"Doitu azpidatzien atzerapena:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Edo erabili <span>G</span> / <span>H</span> teklak erreproduzitzerakoan doiketarako.","SUBTITLES_ADJUST_DELAY_TIP":"AHOLKUA: <span>G</span> / <span>H</span> teklak erabil ditzakezu erreproduzitzerakoan doiketarako.","SUBTITLES_DELAY":"Azpitituluen atzerapena:","SUBTITLES_LOADING":"Azpitituluak kargatzen ...","SUBTITLES_UNAVAILABLE":"Ez dago kanpoko azpititulurik erabilgarri","SUBTITLES_DISABLED":"Desgaituta","EXTERNAL_PLAYER_DISABLED":"Desgaituta","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Aukeratzea gaitu","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Ez erakutsi berriz","SERVICE_INSTALL":"Instalatu","AUDIO":"Audioa","DEFAULT_LANGUAGE":"Defektuzko hizkuntza","DEFAULT_SECONDARY_LANGUAGE":"Defektuzko Bigarren Hizkuntza","SEASON":"Denboraldia","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Atala","EPISODE_ABBREVIATION":"EP","SPECIAL":"Berezia","SORT":"ordenatu","SORT_BY":"Ordenatu","FILTER":"iragazkia","SORT_TRENDING":"joera","SORT_RECENT":"berriena","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"balorazioa","SORT_WATCHED":"ikusita","SORT_YEAR":"urtea","SELECT":"Select","SELECT_TYPE":"Mota aukeratu","SELECT_SORT":"Ordena aukeratu","SELECT_CATALOG":"Katalogoa aukeratu","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Generoa aukeratu","SORT_LASTWATCHED":"Azkenik ikusitakoaren arabera","SORT_NAME":"Izenaren arabera","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Zenbat aldiz ikusitaren arabera","SORT_NOTWATCHED":"ikusi gabe","New for You":"Zuretzako berria","New Episodes":"Atal berriak","New Videos":"Bideo berriak","Recommendations":"Gomendioak","LIBRARY_RESUME":"Jarraitu","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Xehetasunak","LIBRARY_RESUME_DISMISS":"Baztertu","LIBRARY_CLEAR_PROGRESS":"Progresua ezabatu","LIBRARY_REMOVE":"Ezabatu","LIBRARY_NOT_LOGGED_IN":"Liburutegia saioa hasi duten erabiltzaileentzat bakarrik dago erabilgarri","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Egutegia saioa hasitako erabiltzaileentzat bakarrik dago erabilgarri","NOT_LOGGED_IN_CLOUD":"Zure pelikula eta telesailak edonoiz eta edonon gozatu","NOT_LOGGED_IN_RECOMMENDATIONS":"Zure ikustaldi-historiari egokitutako gomendioak","NOT_LOGGED_IN_NOTIFICATIONS":"Ez galdu berriro atalik","NOT_LOGGED_IN_CALENDAR":"Antolatu zure ikusteko egutegi pertsonala","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Nabarmenduak","DISCOVER_TOP":"Gora","DISCOVER_OSCAR":"Oscar saridunak","DISCOVER_WARNING_TITLE":"Glubs!","DISCOVER_EMPTY_CATALOG":"Gehigarri honek eduki hutsa itzuli du.","DISCOVER_ADULT_WARNING":"Edukia helduentzat soilik dago ikusgai. 18 urte baino gehiago al dituzu?","DISCOVER_NOADDON_WARNING":"Abisua: ez dago Stremio gehigarririk aktibo mota honetarako. Gordetako elementuak erakutsiz, hemen ez da ezer eguneratuko.","DISCOVER_LOAD_ERR":"Edukia ez da kargatu, errorea gertatu da.","DISCOVER_ADDON_UNINSTALLED":"Eduki hau jada ez dago erabilgarri, baliteke gehigarria instalatuta ez izatea.","UNINSTALL_THIS_ADDON":"Desinstalatu gehigarri hau","ERR_ADDON_NOT_INSTALLED":"Gehigarri hau ez dago instalatuta. Orain instalatu nahi duzu?","DETAIL_RECEIVE_NOTIF_SERIES":"Jaso atal berrien jakinarazpenak","DETAIL_RECEIVE_NOTIF_VIDEOS":"Jaso bideo berrien jakinarazpenak","SIDEBAR_SHOW_STREAMS":"Erakutsi stream-ak","RELAUNCH":"Berrabiarazi orain!","UPGRADE":"Bertsio berria eskuragarri dago! Bertsio berritu Stremio azken bertsiora","RELOAD_UI":"Erabiltzailearen interfazea berriro kargatu","MANUAL_UPDATE_TITLE":"Eguneratu Stremio bertsioa","MANUAL_UPDATE_LINE1":"Oso gomendagarria ez den Stremioren bertsio zaharkitu bat erabiltzen ari zara.","MANUAL_UPDATE_LINE2":"Mesedez, eguneratu lehenbailehen.","BUTTON_UPDATE_LATTER":"Orain ez","BUTTON_UPDATE_NOW":"Eguneratu","UPDATER_TITLE":"Stremio-ren bertsio berri bat eskuragarri dago","UPDATER_INSTALL_BUTTON":"Orain instalatu","ANONYMOUS_USER":"Erabiltzaile anonimoa","DONT_HAVE_ACC":"Ez duzu konturik?","HAVE_ACC":"Baduzu kontua?","PASSWORD":"Pasahitza","PASSWORD_CONFIRM":"Pasahitza baieztatu","EMAIL":"Posta elektronikoa","FB_LOGIN":"Jarraitu Facebook-ekin","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Ez da ezer partekatzen zure baimenik gabe","FB_NOPOST":"Ez dugu ezer argitaratuko zure izenean","OR":"edo","I_ACCEPT":"Onartzen dut","I_ACCEPT_BY_CLICKING":"Goiko botoian klik eginda onartzen dudala deklaratzen dut","TOS":"Terminoak eta baldintzak","MUST_ACCEPT_TERMS":"Baldintzak onartu behar dituzu","PASSWORDS_NOMATCH":"Pasahitzak ez datoz bat","SIGN_UP":"Izena eman","SIGN_UP_EMAIL":"Eman izena posta elektronikoz","CLICK_TO_SIGN_UP":"Izena emateko egin klik hemen.","LOG_IN":"Saioa hasi","LOG_OUT":"Saioa amaitu","EXIT_FULLSCREEN":"Irten pantaila osoko modutik","ENTER_FULLSCREEN":"Sartu pantaila osoko moduan","PLAY_URL_MAGNET_LINK":"Erreproduzitu URL/Magnet esteka","HELP_FEEDBACK":"Laguntza eta oharrak","TERMS_OF_SERVICE":"Zerbitzu-baldintzak","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"Stremiori buruz","USER_PANEL":"Erabiltzaile panela","LOGIN_LABEL":"Login","GUEST_LOGIN":"Gonbidatuaren saioa hasi","GUEST_LOGIN_NOTICE":"Gonbidatuen saioa hastea ez da gomendagarria. Ohiko saio-hasiera erabiliz Stremio-k zure Liburutegia sinkronizatzeko eta telesail/kanal gogokoen jakinarazpenak jasotzeko aukera ematen du. Ziur zaude jarraitu nahi duzula?","GUEST_LOGIN_NOTICE_2":"Gonbidatuen saioa hastea ez da gomendagarria; ez dituzu Liburutegi eta Taularen jakinarazpenak sinkronizatuko eta ezinbesteko Stremio funtzioak dira. Ziur zaude jarraitu nahi duzula?","CLICK_HERE":"klikatu hemen","WRONG_PASSWORD":"Posta elektroniko edo pasahitz okerra. Pasahitza ahaztu baduzu,","SET_A_PASS":"ezarri pasahitza","RESET_PASSWORD":"Pasahitza berrezarri","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Pasahitza ahaztu duzu?","EMAIL_USED_WITH_FB":"Mezu elektronikoa Facebookeko saio hasierarekin erabili da.","INVALID_EMAIL":"Mesedez, sar ezazu helbide elektroniko egokia","INVALID_PASSWORD":"Mesedez, sartu baliozko pasahitza","CONN_ERR":"Konexioaren errorea. Saiatu berriro geroago.\\n\\nHonek jarraitzen badu, desgaitu firewall/antibirusa (batez ere Bitdefender).","IMPORT_FROM_GUEST":"Inportatu liburutegia zure gonbidatu kontutik","RECEIVE_UPDATES_EMAIL":"Jaso zure posta elektronikoaren eguneratzeak Stremioren eskutik","LOGIN_FAILED":"Errorea saioa hastean.","SIGNUP_FAILED":"Ezin izan da erregistratu.","SEARCH_FAILED":"Bilaketak huts egin du","EMAIL_USED":"Mezu elektronikoa dagoeneko erabiltzen ari da.","WAITING_FB_LOGIN":"Facebook-ekin saioa hasten...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Erreproduzitu kanpoko erreproduzitzailean","EXTERNAL_REMEMBER_PLAYER":"Zure aukera gogoratu nahi al duzu?","EXTERNAL_ALWAYS_PLAY":"Bai","EXTERNAL_ONLY_ONCE":"Ez","BEST_FIT":"Egokipen onena","FIT_SCREEN":"Pantailara egokitu","FILL":"Bete","16:9":"16:9","4:3":"4:3","Original":"Jatorrizkoa","INTRO_TASTE":"Konta iezaguzu zer gustatzen zaizun","INTRO_TASTE_LONG":"Kontatu zer ikusi nahiko zenukeen","INTRO_TASTE_PICK":"Aukeratu {{interestRemaining}} interesak","INTRO_TASTE_PICK_MORE":"Aukeratu {{interestRemaining}} interes gehiago","INTRO_TASTE_HELP_US":"Lagundu iezaguzu zure inguruan gehiago jakiten.","INTRO_TASTE_CHOOSE_THESE":"Aukeratu hauetako batzuk:","INTRO_TASTE_CHOOSE_MIN":"Aukeratu gutxienez 3 kategoria","INTRO_TASTE_CHOOSE_MIN_ERR":"Gutxienez 3 kategoria aukeratu behar dituzu!","INTRO_TASTE_LIFESTYLE":"Bizimodua","INTRO_TASTE_SPORTS":"Kirolak","INTRO_TASTE_FOOD_HEALTH":"Elikadura eta Osasuna","INTRO_TASTE_BEAUTY_FASHION":"Edertasuna eta Moda","INTRO_TASTE_NEWS":"Albisteak","INTRO_TASTE_GAMING":"Jokoa","INTRO_TASTE_SCIENCE_EDU":"Zientzia eta Hezkuntza","INTRO_TASTE_MUSIC":"Musika","INTRO_TASTE_TRAVEL":"Bidaia","INTRO_TASTE_LATE_NIGHT":"Late Night Showa","INTRO_TASTE_REALITY":"Errealitatea","INTRO_TASTE_COMEDY":"Komedia","INTRO_TASTE_DIY":"Nola egin zerorrek","INTRO_TASTE_TECH":"Teknologia","INTRO_TASTE_CINEMA":"Zinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Aukeratutako gehigarria ez da plataforma honetan onartzen.","ADDON_DISCLAIMER":"Hirugarrenen gehigarriak erabiltzea beti egongo da zure erantzukizunaren eta kokatzen zaren jurisdikzioaren lege arauaren menpe.","ADDON_ACTIVATE":"Gehigarri hau aktibatu nahi duzu?","ADDON_REPO_ADD":"Gehigarrien bildumaren URLa","ADDON_ADD":"Gehitu","INSTALL_ADDON":"Gehigarria instalatu","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"Gehigarri bat gehi dezakezu kanpoko esteka baten bidez, Instalatutako gehigarriak atalean agertuko dena.","PASTE_ADDON_URL":"Gehigarriaren URLa itsatsi","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Berriak","BUTTON_CONTINUE":"Jarraitu","BUTTON_ACTIVATE":"Aktibatu","BUTTON_ACTIVATED":"Aktibatuta","BUTTON_CANCEL":"Utzi","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Bidali","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Guztiak baztertu","BUTTON_VIEW_ALL":"Guztiak ikusi","BUTTON_SEE_ALL":"Dena ikusi","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Nabegadorean ireki","LIB_EMPTY":"Liburutegia hutsik dago. Deskubritu zeinen erabilgarria den :)","HOW_START":"Hona hemen nola hasi:","LIB_EMPTY_CAL":"Zure Egutegian liburutegiko telesailak agertzen dira.","HOW_START_CAL":"Hemen duzu telesailak nola gehitu:","LIB_EMPTY_BOARD":"Taulan jakinarazpenak agertzen dira & zure Liburutegiari lotutako gomendioak.","HOW_START_BOARD_WAIT":"Mesedez, gehitu telesail edo kanal batzuk zure liburutegian, eman iezaguzu minutu batzuk prozesatzeko :)","HOW_START_BOARD":"Hona hemen nola gehi ditzakezu telesailak & filmak:","IMPORT_FB":"Inportatu gustuko dituzun gauzak <span>Facebook</span>etik","IMPORT_TRAKT":"Inportatu mediateka <span>Trakt</span>etik","IMPORT_DISCOVER":"Bilatu <span>Ezagutu</span>-ko gauza interesgarriak","IMPORT_DISK":"Inportatu zure <span>disko lokalean</span> dituzun filmak edo saioak","PLEASE_CREATE_ACC":"Mesedez, <u>sortu kontua</u> Liburutegiaren sinkronizazioa eta & Taula aktibatzeko.","IMPORT_DISCOVER_SIGNUP":"Erregistratu eta aurkitu gauza interesgarriak <span>Ezagutu</span> atalean","IMPORT_DISK_SIGNUP":"Erregistratu eta inportatu zure <span>disko lokalean</span> dituzun filmak edo saioak","LIB_EMPTY_CLOUD":"Hodei liburutegia","LIB_EMPTY_CLOUD_DESC":"Hodei liburutegi pertsonala gailu guztietan sinkronizatuta","LIB_EMPTY_EARLY":"Txori goiztiarra","LIB_EMPTY_EARLY_DESC":"Jaso atal berrien jakinarazpenak","LIB_EMPTY_PERSONAL":"Pertsonala","LIB_EMPTY_PERSONAL_DESC":"Jaso gomendio pertsonalak","LIB_EMPTY_CALENDAR_DESC":"Antolatu zure behaketa egutegi pertsonala","LIB_EMPTY_ALL":"Izena eman hauek guztiak lortzeko:","LIB_EMPTY_BEST":"Eman izena Stremioren onena lortzeko","LIB_EMPTY_OTHER":"Eman izena Egutegia eta beste funtzio interesgarri batzuk gaitzeko","CALENDAR_ADDED":"Stremio egutegia zure mahaigaineko egutegi lehenetsian gehitu da.","CALENDAR_ADDED_MSG":"Honek funtzionatzen ez badu, gehitu URL hau zure egutegiko aplikazioan eskuz","TRAKT_EXPIRED":"Trakt autentifikazioa iraungita dago, joan Ezarpenak atalera eta berriro autentifikatu","TRAKT_REQUIRES_LOGIN":"Trakt errorea","TRAKT_REQUIRES_LOGIN_MSG":"Saioa hasi behar duzu","TRAKT_IMPORT_WATCHED":"Import","THEME":"Gaia","THEME_DEFAULT":"Lehentsia","THEME_ADAPTIVE":"Moldakorra","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Ezarpenak","SETTINGS_NAV_GENERAL":"Orokorra","SETTINGS_NAV_PLAYER":"Erreproduktorea","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Laburbideak","SETTINGS_SHORTCUT_RELOAD_APP":"App-a freskatu","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Ezaugarriak Ireki","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Menuen Artean Nabigatu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Bilaketara Joan","SETTINGS_SHORTCUT_EXIT_BACK":"Irten / Atzera joan","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Erreprodukzio abiadura aldatu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Bideoen menua aldatu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Azpitituluen menua aldatu","SETTINGS_SHORTCUT_MENU_AUDIO":"Audioaren menua aldatu","SETTINGS_SHORTCUT_MENU_INFO":"informazioaren menua aldatu","SETTINGS_SHORTCUT_FULLSCREEN":"Pantaila osora aldatu","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Kontrolak erakutsi","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Igo bolumena","SETTINGS_SHORTCUT_VOLUME_DOWN":"Jaitsi bolumena","SETTINGS_SHORTCUT_SEEK_NEXT":"Eskatu hurrengoa","SETTINGS_SHORTCUT_SEEK_PREV":"Eskatu aurrekoa","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Erreproduzitu hurrengoa","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Handitu azpitituluen tamaina","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Txikitu azpitituluen tamaina","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Handitu azpitituluen atzerapena","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Txikitu azpitituluen atzerapena","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Ireki/Itxi alboko barra","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Abiarazi piztean","SETTINGS_VLC_DEFAULT":"Erreproduzitu VLC-rekin","SETTINGS_UI_LANGUAGE":"UI hizkuntza","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Esc teklarekin irten pantaila osotik","SETTINGS_GAMEPAD":"Gaitu gamepad laguntza","SETTINGS_CLOSE_WINDOW":"Itxi aplikazioa leihoa itxita dagoenean","SETTINGS_SUBTITLES_LANGUAGE":"Azpitituluen hizkuntza lehenetsia","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Azpitituluen tamaina lehenetsia","SETTINGS_SUBTITLES_BACKGROUND":"Azpitituluen atzeko planoa","SETTINGS_SUBTITLES_COLOR":"Azpitituluen kolorea","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Azpitituluen eskema kolorea","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Azpitituluen atzeko kolorea","SETTINGS_SEEK_KEY":"Geziek denbora bilatzen dute","SETTINGS_SEEK_KEY_SHIFT":"Gezien teklek Shift tekla sakatuta dagoenean denbora bilatzen dute","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Erreproduzitu automatikoki hurrengo atala","SETTINGS_NEXT_VIDEO":"Erakutsi jakinarazpena hurrengo atala hasteko","SETTINGS_NEXT_VIDEO_TRIGGER":"Erakutsi hurrengo atalaren jakinarazpena:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Aldatu automatikoki leihoa erreproduzitu aurretik","SETTINGS_OVERRIDE_SERVER":"Gainidatzi streaming zerbitzariaren URLa (aurreratua)","SETTINGS_SERVER_ADD_URL":"URLa gehitu","SETTINGS_SERVER_URL":"Streaming zerbitzariaren URLa:","SETTINGS_SERVER_AVAILABLE":"Streaming zerbitzaria eskuragarri dago.","SETTINGS_SERVER_UNAVAILABLE":"Streaming zerbitzaria ez dago erabilgarri.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Streaming zerbitzariaren URLa sartu","SETTINGS_SERVER_CACHE_SIZE":"Cache tamaina","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profila","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS amaiera:","SETTINGS_TRANSCODE_PROFILE":"Transcode profila","SETTINGS_USE_BETA":"Erabili beti azken bertsioa","SETTINGS_IMPORT_FB":"Inportatu Facebooketik","SETTINGS_IMPORT_DISK":"Inportatu disko lokaletik","SETTINGS_IMPORT_TRAKT":"Inportatu Trakt-etik","SETTINGS_PAUSE_MINIMIZED":"Pausatu erreprodukzioa minimizatutakoan","SETTINGS_HWDEC":"Hardwarea azeleratutako deskodetzea","SETTINGS_BACKGROUND":"Atzeko planoaren erreprodukzioa","SETTINGS_SUBSCRIBE_CALENDAR":"Egutegira harpidetu","SETTINGS_REQ_EXPORT":"Datuak esportatzeko eskatu","SETTINGS_ACC_DELETE":"Kontua ezabatzeko eskatu","SETTINGS_CHANGE_PASSWORD":"Pasahitza aldatu","SETTINGS_TOS":"Zerbitzu-baldintzak","SETTINGS_SUPPORT":"Jarri harremanetan laguntza zerbitzuarekin","SETTING_LANGUAGE":"Hizkuntza","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Ixtean gendu","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Amaitu saioa Trakt.tv-tik","SETTINGS_TRAKT_LOGOUT_2":"Amaitu saioa Trakt-tik","SETTINGS_SCAN_FOR_REMOTE":"Eskaneatu QR kodea urrunekoa irekitzeko","SETTINGS_DESKTOP_NOTIFICATIONS":"Mahaigaineko jakinarazpenak","SETTINGS_DATA_SAVER":"Datu aurrezlea","SETTINGS_LANGUAGE_INTERFACE":"interfazea","SETTINGS_LANGUAGE_SUBS":"azpititulu lehenetsiak","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Aukeratu automatikoki Audio pista","SETTINGS_DEFAULT_AUDIO_TRACK":"Audio pista lehenetsia","SETTINGS_SECONDARY_AUDIO_TRACK":"Bigarren Audio Track-a","SETTINGS_SURROUND_SOUND":"Inguruko soinua","SETTINGS_ACCOUNT":"kontua","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"bertsioa","SETTINGS_ABOUT":"Honi buruz","SETTINGS_MPV_WINDOW":"Abiarazi erreproduzitzailea beste leiho batean (aurreratua)","SETTINGS_PLAY_IN_EXTERNAL":"Hasi beti bideoa kanpoko erreproduzitzailean","SETTINGS_STORAGE_BUTTON":"Garbitu tokiko biltegiratzea","SETTINGS_STORAGE_MODAL_TITLE":"Ziur zaude ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Honek tokiko biltegia garbitu eta saioa amaituko du.","SETTINGS_HWDEC_PICKER":"Hardware-accelerated decoding ezarpenak aukeratu","SETTINGS_HW_AUTOMATIC":"Automatikoa","SETTINGS_HW_DISABLED":"Desgaitua","SETTINGS_HW_ACCELERATED":"Decoding azelerazioa","SETTINGS_HW_FULL":"Guztiaren azelerazioa","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Desgaituta","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URLa zure arbelera kopiatua izan da","SETTINGS_SECTION_SUBTITLES":"Azpitituluak","SETTINGS_SECTION_AUDIO":"Audioa","SETTINGS_SECTION_CONTROLS":"Kontrolak","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Aurreratua","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Gehigarriaren subtituluak","SUBSPICKER_BLACK_BACKGROUND":"Atzealde beltzarana erabili","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Tamaina","SUBSPICKER_DELAY":"Atzerapena","SUBSPICKER_EMBEDDED_SUBS":"Kapsulatutako Azpitituluak","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Errorea erreportatu","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Bateria baxuakin erabili","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Irten","CONNECTED":"Konektatuta","AUTHENTICATE":"Autentifikatu","AUTHENTICATING":"Authenticating...","CACHING":"Cachea","SETTINGS_CACHING_DRIVE":"Caching unitatea","ENABLE_LOCAL_FILES_ADDON":"Gaitu fitxategi lokalen gehigarria (berrabiarazi behar da)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Gaitu urruneko HTTPS konexioak","TORRENT_PROFILE":"Torrent profila","DATA_CACHING":"Datuen cache-a","MAGNET_PARSING":"Magnet parseoa","January":"Urtarrila","February":"Otsaila","March":"Martxoa","April":"Apirila","May":"Maiatza","June":"Ekaina","July":"Uztaila","August":"Abuztua","September":"Iraila","October":"Urria","November":"Azaroa","December":"Abendua","Monday":"Astelehena","Tuesday":"Asteartea","Wednesday":"Asteazkena","Thursday":"Osteguna","Friday":"Ostirala","Saturday":"Larunbata","Sunday":"Igandea","Action":"Akzioa","Comedy":"Komedia","War":"Gerra","Family":"Familia","Animation":"Animazioa","Adventure":"Abentura","Fantasy":"Fantasia","Crime":"Delitua","Mystery":"Misterioa","Romance":"Erromantikoa","Drama":"Drama","Horror":"Beldurra","Thriller":"Thrillerra","Sci-Fi":"Zientzia-fikzioa","Music":"Musika","Biography":"Biografia","Documentary":"Dokumentala","Sport":"Kirola","Musical":"Musikala","Western":"Westerna","Film-Noir":"Film-Noir","News":"Albisteak","History":"Historia","Game-Show":"Joko-Ikuskizuna","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Zinema eta aisialdia","Gaming":"Gaming","From TV":"Telebistatik","Lifestyle":"Bizimodua","Science & Education":"Zientzia eta Hezkuntza","Cooking & Health":"Sukaldaritza eta Osasuna","Beauty & Fashion":"Edertasuna eta Moda","Sports":"Kirolak","News & Politics":"Albisteak eta politika","How-to & DIY":"Nola egin eta DIY","Tech":"Teknologia","Automotive":"Automobilgintza","Causes & Non-Profits":"Kausak eta irabazi asmorik gabekoak","Movies":"Filmak","Uk Live Tv":"Uk Live Tv","Fashion":"Moda","Business News Radio":"Business News Radio","Business Tv":"Business Telebista","Cars & Auto":"Autoak","Comedy Radio":"Komedia Irratia","Lifestyle Radio":"Bizimodu Irratia","News Tv":"Albiste Telebista","Food And Wine":"Janaria eta ardoa","Latino Tv":"Latino Tv","Shopping Tv":"Erosketa Telebista","Religion":"Erlijioa","Kids":"Haurrak","Body & Soul":"Gorputza eta Arima","Education":"Hezkuntza","Indian Tv":"Indiako telebista","Extreme Sports":"Muturreko Kirolak","Middle Eastern Tv":"Ekialde Hurbileko Telebista","Celebrity Tv":"Celebrity telebista","Science Tv":"Zientzia telebista","Bikini babe":"Bikini babe","Outdoors":"Aire librean","German Tv":"Alemaniako telebista","French Tv":"Telebista frantsesa","Italian Tv":"Italiako telebista","Gamer Tv":"Gamer telebista","Travel":"Bidaia","Asian Tv":"Asiako telebista","Entertainment":"Aisialdia","News Radio":"Albiste Irratia","Music Radio":"Musika Irratia","Language Learning":"Hizkuntzen ikaskuntza","Science Radio":"Zientzia Irratia","Tech Radio":"Tech Radio","Science & Technology Vod":"Zientzia eta Teknologia Vod","new video":"bideo berria","new episode":"atal berria","new movie":"film berria","recommended":"gomendatua","we recommend":"gomendatzen dugu","offer of the day":"eguneko eskaintza","news":"berriak","music video":"bideoklipa","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Baztertu jakinarazpenak","CTX_DISMISS_ALL":"Baztertu guztiak","CTX_SHARE":"Partekatu","CTX_COPY_SHARE_LINK":"Kopiatu partekatzeko esteka","CTX_COPY_MAGNET_LINK":"Kopiatu magnet esteka","CTX_COPY_STREAM_LINK":"Kopiatu stream-aren esteka","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Deskargatu bideo hau","CTX_DOWNLOAD_SUBS":"Deskargatu azpitituluak","CTX_VIEW_ON_YOUTUBE":"Ikusi Youtuben","CTX_SHOW":"Ikuskizuna","CTX_PLAY":"Erreproduzitu","CTX_PLAY_IN":"Erreproduzitu","CTX_PLAY_ON":"Erreproduzitu","CTX_WATCH_ON":"Ikusi","CTX_WATCH":"Ikusi","CTX_WATCHED":"Ikusita","CTX_WATCH_BEGINNING":"Ikusi hasieratik","CTX_WATCH_MOBILE":"Ikusi gailu mugikorrean","CTX_REWIND":"Atzera hasierara","CTX_MARK_WATCHED":"Markatu ikusitako moduan","CTX_MARK_NON_WATCHED":"Markatu ez ikusi gisa","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Markatu gainerakoa ikusi bezala","CTX_UNMARK_REST":"Markatu gainerakoak ez ikusi gisa","CTX_RECEIVE_NEW_NOTIF":"Jaso jakinarazpen berriak","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Kendu cache-tik","CTX_REMOVE_CACHE_EP":"Kendu pasartea katxetik","CTX_OPEN_CONTAINING":"Ireki duen karpeta","CTX_REMOVE":"Kendu liburutegitik","CTX_AVAILABLE_OFFLINE":"Lineaz kanpo eskuragarri","CTX_PAUSED":"Pausatuta","CTX_ALWAYS_ON_TOP":"Beti gainean","CTX_FULLSCREEN":"Pantaila osoa","CTX_WRONG_SUBS":"Azpititulu okerrak?","CTX_REPORT_ISSUES":"Salatu alea","CTX_COPY":"Kopiatu","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Itsatsi","CTX_CLEAR":"Garbi","CTX_CLEAR_RECENT_SEARCHES":"Garbitu azken bilaketak","HELLO_THERE":"Kaixo","HOPE_YOU_ENJOY":"Stremio gustatuko zaizula espero dugu eta laster zure aplikazio gogokoenetako bat izango da!","WHO_ARE_WE":"Nor gara gu? Atzean dagoen taldea gara. Azken 3 urteetan egunero gogor lan egiten duten bi mutil produktu hau gero eta hobea izan dadin.","SUPPORT_US":"Stremio erabiltzea gustatzen bazaizu, Stremio zuretzat baliotsua bada - zabaldu!","SPREAD_THE_WORD":"Partekatu orain zure lagunekin, zabaldu Stremioren berri","MORE_PEOPLE":"Zenbat eta jende gehiagok erabili Stremio, orduan eta hobeto lortuko du!","SEND_A_LINK":"Edo bidali esteka gure webgunera","TIP_LOCALFILES":"Aholkua: bideo fitxategi lokalak arrastatu eta askatu ditzakezu Stremiora","ADDON_MY":"Nire gehigarriak","ADDON_COMMUNITY":"Komunitateko gehigarriak","ADDON_OFFICIAL":"Addon ofizialak","ADDON_REPOS":"Gehigarrien bildumak","ADDON_SEARCH":"Bilatu gehigarriak","ADDON_INSTALL":"Instalatu","ADDON_CONFIGURE":"Konfiguratu","ADDON_UNINSTALL":"Desinstalatu","ADDON_UPGRADE":"Berritu","ADDON_INSTALLED":"Instalatuta","ADDON_INSTALLED_MSG":"Gehigarria instalatuta!","ADDON_UPGRADED_MSG":"Gehigarria bertsio-berritu da!","ADDON_UNKNOWN":"Ezezaguna","ADDON_ERR":"Gehigarri instalazio errorea!","ADDON_DISCONNECTED":"Deskonektatuta","ADDON_APP_MISSING":"iturri honen aplikazioa ez dago instalatuta. Orain instalatu nahi duzu?","ADDON_APP_INSTALL":"Instalatu orain","ADDON_PAGE":"Gehigarrien orria","ADDON_TOP_CONTENT":"Onena Addon honetatik","ADDON_PROVIDES":"Gehigarri honek emango dizu:","ADDON_WATCH":"Ikusi #{types} orain!","ADDON_WATCH_FREE":"Ikusi DOAKO #{types} orain!","ADDON_ADDON":"Gehitu","ADDON_SUPPORTED_TYPES":"Onartutako motak","ADDON_SUPPORTED_CATALOGS":"Onartutako katalogoak","ADDON_PROVIDES_DISCOVER":"#{types} gehiago Ezagutu-n","ADDON_PROVIDES_STREAMS":"Ikusi #{types}","ADDON_PROVIDES_STREAMS_FREE":"Ikusi DOAKO #{types}","ADDON_PROVIDES_SUBTITLES":"#{types}(r)en azpitituluak","ADDON_CANTDETECT":"Ezin izan dugu Stremio exekutatzen ari den detektatu, beraz, ezin dugu detektatu zer gehigarri instalatu dituzun.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Ez da honi buruzko informaziorik aurkitu","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Errorea honi buruzko informazioa eskuratzean.","ERR_CANT_PARSE_MAGNET":"Ezin da magnet parseatu","ERR_NO_MAGNET_INFOHASH":"Ez da baliozko hash-a magnetentzat","ERR_NO_FILE_PATH":"Ezin da eskaera bidali artxiborako biderik gabe","ERR_NO_TORRENT":"Ez da torrentik itzuli","ERR_NO_SUPPORTERD_FILES":"Ez da onartutako fitxategirik aurkitu","ERR_OPENING_FILES":"Ezin izan dira kanpoko fitxategiak ireki","ERR_INVALID_LINK":"Esteka baliogabea","ERR_REGISTERED_ONLY":"Aukera hau erregistratutako erabiltzaileentzat bakarrik dago erabilgarri.","ERR_CLIPBOARD":"Ezin da arbeletik erreproduzitu","ERR_CLIPBOARD_READ":"Ezin da plataforma honetako arbela irakurri","ERR_CLIPBOARD_GENERIC":"Ez da arbelean erreproduzitzeko URLrik aurkitu. Kopiatu URL bat (adibidez, magnet esteka) bideo batera.","BOARD_CONTINUE_WATCHING":"Jarraitu ikusten","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Zuretzat bereziki aukeratutako filmak. <br /> Film hau gomendio lagin bat da.","BOARD_EXPLANATION_EPISODES":"Zure telesail gogokoen atal berriak datoz hona. <br /> Gehitu jarraitzen dituzun serieak liburutegian.","BOARD_EXPLANATION_VIDEOS":"Zure kanal gogokoen atal berriak etorriko dira. <br /> Gehitu jarraitzen dituzun YouTube kanalak Liburutegian.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Ikusi berehala","WEBSITE_SLOGAN_ALL":"Leku bakarrean gozatzen duzun bideo eduki guztia","WEBSITE_SLOGAN_NEW":"Ikus dezakezun guztia","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Ikusi hemendik","WEBSITE_DOWNLOAD":"Deskargatu orain","WEBSITE_DOWNLOAD_FOR":"Deskargatu orain","WEBSITE_IS_DESKTOP":"Stremio mahaigaineko aplikazioa da, ireki orri hau zure ordenagailuan eta deskargatu","WEBSITE_DESKTOP_DEMO_VID":"Mahaigaineko demoa","WEBSITE_PAGE_HOME":"Hasiera","WEBSITE_PAGE_FEATURES":"Ezaugarriak","WEBSITE_PAGE_ADDONS":"Gehigarriak","WEBSITE_PAGE_TECH":"Teknologia","WEBSITE_PAGE_CREATE_ADDON":"Sortu gehigarria","WEBSITE_PAGE_CONTACTS":"Kontaktuak","WEBSITE_PAGE_BLOG":"Bloga","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmak","WEBSITE_TYPE_series_PL":"Telesaila","WEBSITE_TYPE_tv":"Zuzeneko telebista","WEBSITE_TYPE_channel":"Kanalak","WEBSITE_STREMIO_WHAT_IS":"Stremio zure gogoko bideoak, filmak, telesailak eta telebista kateak antolatzen eta berehala ikusten laguntzen duen aplikazioa da.","WEBSITE_FEATURES_WATCH":"Ikusi berehala HD formatuan","WEBSITE_FEATURES_WATCH_DETAIL":"Egin klik eta erreproduzitu gogoko dituzun filmak, telesailak, bideoak eta telebista kateak.","WEBSITE_FEATURES_SUBS":"Azpititulu automatikoak","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio-k zure hizkuntzarako azpitituluak automatikoki hautatzen ditu.","WEBSITE_FEATURES_SUBS_LABEL":"Zure mugimendua, buruzagi.","WEBSITE_FEATURES_CAST":"Erreproduzitu telebistan eta gailu mugikorretan","WEBSITE_FEATURES_CAST_DETAIL":"Igorri AppleTV, Chromecast, Smart TV (DLNA/UPnP) eta gailu mugikorretara.","WEBSITE_LIB":"Gozatu zure gailu guztietan sinkronizatutako liburutegi pertsonalarekin","WEBSITE_LIB_COLLECT":"Bildu Stremiotik","WEBSITE_LIB_IMPORT":"Inportatu Facebooketik","WEBSITE_LIB_LOCAL":"Gehitu zure disko lokaletik","WEBSITE_BOARD":"Taula - Jakinarazpen eta gomendioetarako lekua","WEBSITE_BOARD_RECOMMEND":"Gomendatutako telesaila","WEBSITE_BOARD_TRENDING":"Modako filma","WEBSITE_BOARD_NEW":"Bideo berria","WEBSITE_BOARD_EPISODE":"Atal berria","WEBSITE_BOARD_1":"Ikusteko zerbait interesgarria bilatzen al duzu? Jaso gomendioak zure gustuaren arabera!","WEBSITE_BOARD_2":"Jaso jakinarazpen zure gogoko telesaio edo YouTube kanaleko atal berri bat ateratzen denean!","WEBSITE_BOARD_YOUTUBE":"YouTube kanalen bideo berriak","WEBSITE_BOARD_EPISODES":"Jarraitzen dituzun telesailen atal berriak","WEBSITE_ADDONS":"Edukien gehigarriak","WEBSITE_TECH_DETAIL":"Teknologia maite dugu, zientzia eroa maite dugu!\\nStremio kode irekiko teknologia hauek erabiltzen ari da:","WEBSITE_TECH_WCJS":"WebChimera.js-k Stremio-k edozein bideo formatu erreproduzitzeko aukera ematen du errendimendu onarekin.","WEBSITE_TECH_WCJS_EXTRA":"Proiektuaren laguntzaileak gara","WEBSITE_TECH_ELECTRON":"Electronek Stremio eraikitzeko plataforma berritzailea eskaintzen du.","WEBSITE_TECH_ELECTRON_EXTRA":"Proiektuaren laguntzaileak gara","WEBSITE_TECH_LINVODB":"Zure datuak saioa hasten zaren edozein lekutan antolatuta eta eskuragarri daudela bermatzen duen datu basearen teknologia.","WEBSITE_TECH_LINVODB_EXTRA":"Barne teknologia","WEBSITE_CREATE_ADDON":"Sortu zure gehigarria","WEBSITE_CREATE_ADDON_DETAIL":"Ba al duzu bideo edukia eskaintzen duen zerbitzurik? Stremioren ezaugarriez baliatzen lagunduko dizugu zure gehigarria sortuz.","WEBSITE_CREATE_ADDON_BENEFITS":"Stremiorako gehigarria sortzearen abantailak","WEBSITE_P2P_BEAUTY":"Peer-to-Peer Streaming-en edertasuna","WEBSITE_P2P_1":"HD/4K bideo fidagarria eta merkea, eskariaren arabera edo zuzeneko erreprodukzioarekin","WEBSITE_P2P_2":"Erabiltzaileen esperientzia bikaina eskaintzen duen banaketa plataforma","WEBSITE_P2P_3":"Zure beharretara egokitzen den gehigarri bat sortuko dugu","WEBSITE_P2P_CONTACT":"Interesatuta? <a href=\'mailto:office@stremio.com\'>Jarri gurekin harremanetan</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Pozik lagunduko dizugu zure edukia Stremio-rekin integratzen!","WEBSITE_P2P":"Noizean behin, jokoaren izena aldatzen duen teknologia bat dator. Denbora eta ahalegin ugari inbertitu dugu Peer-to-Peer (P2P) bideo bidezko erreprodukzio motorra eraikitzen, edozein erabilera kasutan egokitzeko errendimendu eta aldakortasun bikaina eskaintzen duena.\\nJarri gurekin harremanetan DRM gaitutako P2P bideoa eskatuta edo zuzenean igortzeko.","WEBSITE_THOUGHTS":"Partekatzen ditugun pentsamenduak:","WEBSITE_SPREAD":"Zabaldu Stremiori buruz:","WEBSITE_CONTACT":"Jar zaitez gurekin harremanetan, pozik jasoko dugu zure berri!","WEBSITE_OPENSOURCE":"Gure kode irekiko proiektuak ikusteko, joan gure webgunera","WEBSITE_BITCOIN":"Eman bitcoinak:","WEBSITE_FAQ":"Ohiko galderak","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Galderak","WEBSITE_TOS":"Erabilera baldintzak","WEBSITE_LEGAL":"Legezkoa","WEBSITE_PAGE_ABOUT":"Buruz","WEBSITE_PAGE_BECOME_PARTNER":"Egin bazkide","WEBSITE_ALL_YOU_CAN_WATCH":"Zuk nahi duzuna\\nIkusteko askatasuna.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Zer da stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio bideoaren edukiak batzeko gune bakarra da. Ezagutu, antolatu eta ikusi bideoa zure iturri mota guztietako zure gailu guztietan.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmak, telebista saioak, telesailak, zuzeneko telebistak edo YouTube eta Twitch.tv bezalako web kateak - hori guztia Stremion aurkituko duzu.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio multimedia zentro modernoa da, bideo entretenimendurako irtenbide bakarra eskaintzen duena. Bideo edukia instalatzeko erraza den gehigarrietatik deskubritu, ikusi eta antolatzen duzu.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmak, telesailak, zuzeneko telebista edo web kateak. Aurkitu hau guztia Stremion.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Gozatu zure multimedia gailu guztietan","WEBSITE_DEVICES_COLLECT":"Bildu Stremiotik","WEBSITE_DEVICES_IMPORT_FB":"Inportatu facebooketik","WEBSITE_DEVICES_LOCAL":"Gehitu tokiko unitatetik","WEBSITE_JOIN_THE_PARTY_NOW":"Sartu orain festara","WEBSITE_DEVICES_ALL":"Erraza zure gailu guztietan erabiltzeko;","WEBSITE_EXTENDABLE_CATALOG":"Bideo katalogo luzagarria infinituki;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Ezaugarri bikainak zure komunikabideak antolatzeko;","WEBSITE_AS_SEEN_ON":"Ikusitakoan","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Guri buruz","WEBSITE_LINK_TECHNOLOGY":"Teknologia","WEBSITE_LINK_APPS":"Aplikazioak","WEBSITE_LINK_DOWNLOADS":"Deskargak","WEBSITE_MORE":"Gehiago","WEBSITE_LINK_ADDONS":"Gehigarriak","WEBSITE_LINK_ADDON_SDK":"Gehigarriaren SDK","WEBSITE_LINK_CONTRIBUTE":"Lagundu","WEBSITE_LINK_COMMUNITY":"Komunitatea","WEBSITE_LINK_BLOG":"Bloga","WEBSITE_MORE_MORE":"... eta gehiago","WEBSITE_LINK_HELP":"Laguntza zentroa","WEBSITE_LINK_CONTACTS":"Enpresa kontsultak","WEBSITE_LINK_TOS":"Baldintzak","WEBSITE_LINK_PRAVACY":"Pribatutasun politika","WEBSITE_SUBSCRIBE":"Harpidetu","WEBSITE_NEWSLETTER":"Sartu gure buletinera gauza harrigarrietarako","WEBSITE_PLACEHOLDER_EMAIL":"Zure emaila","WEBSITE_COMMUNITY":"Komunitatea","WEBSITE_LINK_PRAVACY_LEGAL":"Pribatutasuna eta legea","WEBSITE_WHY":"Zergatik egiten dugun","WEBSITE_WHY_P1":"Stremion, egunero lan egitera gatoz, bideo-eskaeraren industriaren arazo garrantzitsu bat konpondu nahi dugulako. Hainbeste eduki berri argitaratzen dira minuturo, ia ezinezkoa baita zure bidea aurkitzea.","WEBSITE_WHY_P2":"Jendeari bideo entretenimendu mundu erraldoi horretan nabigatzen eta gozatzeko eduki berriak aurkitzen laguntzen diogu. Gure aplikazioek filmak, serieak, zuzeneko telebista, web kateak eta beste biltzen dituzte. Erabiltzaileek gustuko dituzten izenburuak eta emisorak aurkitzea oso erraz bihurtzeaz arduratzen gara.","WEBSITE_WHY_P3":"Gure zerbitzua edozein gailutan eta noiznahi erabil dezakezu, Stremio inoiz beharko duzun bideo entretenimendu zentro bakarra bihurtuz.","WEBSITE_TEAM":"TALDEA","WEBSITE_TEAM_P":"Stremio taldea txikia baina indartsua da: gutako hamar artean X hizkuntzatan kodetzen dugu eta softwarearen garapenean, UI eta UX diseinuan, marketinean eta publizitatean eta negozioetan eta startupetan espezializazioa partekatzen dugu.","WEBSITE_FEATURES":"Ezaugarriak","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Ezagutu eduki berriak erraz","WEBSITE_FEATURES_DISCOVER_P":"Ikusi erraz ikusteko film, telesail, serie eta kanal berriak. Arakatu kategoriaren, generoaren, balorazioaren, berritasunen eta abarren arabera edo idatzi izen bat aurkitzeko. Stremio-k bideo-eduki berriak aurkitzea tarta bihurtzen du.","WEBSITE_FEATURES_ALL_CONTENT":"Zure bideoaren eduki guztia pantaila batean","WEBSITE_FEATURES_ALL_CONTENT_P1":"Ikusi zer film, serie edo bideo amaitu ez zenituen eta jarraitu ikusten; atal berri eta estreinaldien berri jaso; eta arakatu ikusmen ohituretan oinarrituta jasoko dituzun gomendioak.","WEBSITE_FEATURES_LIBRARY":"Antolatu zure bideoteka","WEBSITE_FEATURES_LIBRARY_P1":"Gehitu edozein titulu zure Stremio liburutegian klik bakarrarekin eta bilatu zure edukia, motaren, berritasunaren edo alfabetoaren arabera ordenatuta.","WEBSITE_FEATURES_CALENDAR":"Jarrai ezazu ikusten duzun guztiaren jarraipena","WEBSITE_FEATURES_CALENDAR_P1":"Lortu liburutegian gehitzen dituzun film eta serie guztien egutegia bistaratzea. Esportatu Stremio egutegia eta sinkronizatu, atal berri bat edo estreinaldi bat noiz iritsi behar den jakiteko.","WEBSITE_FEATURES_BIG_SCREEN":"Gozatu zure bideo edukia pantaila handiago batean","WEBSITE_FEATURES_BIG_SCREEN_P1":"Igorri ikusten ari zena beste gailu batera, izan telefono, tableta edo telebista klik bakarrarekin.","WEBSITE_FEATURES_SOURCES":"Ikusi bideoa iturri askotatik","WEBSITE_FEATURES_SOURCES_P":"Instalatu gehigarri ofizialak eta komunitarioak hornitzaile desberdinetatik ateratako bideoaz gozatzeko - aplikazio dotore eta erraz batean.","WEBSITE_CREATE_AN_ADDON":"Sortu gehigarri bat","WEBSITE_FEATURES_SYNC":"Sinkronizatu liburutegia gailu desberdinetan eta hasi berriro erreprodukzioa","WEBSITE_FEATURES_SYNC_P1":"Hasi saioa zure kontuarekin gailu guztietan eta gozatu liburutegia, gehigarriak, erreprodukzioa eta egutegia sinkronizatuta.","WEBSITE_FEATURES_EXTENDABLE":"Gehigarrien bideo katalogo luzagarria","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio gehigarrien katalogoak hainbat gehigarri eskaintzen ditu hainbat bideo eduki instalatu eta ikusteko. Filmak, saioak, zuzeneko telebista, kirola, albisteak, podcastak, web kateak, bideojokoak eta beste biltzen ditu.","WEBSITE_FEATURES_AUTO_SUBS":"Azpititulu automatikoak","WEBSITE_FEATURES_AUTO_SUBS_P1":"Gure azpitituluen gehigarriekin automatikoki hautatutako aukerak lortuko dituzu zure gustuko hizkuntzarako.","WEBSITE_FEATURES_CHROMECAST":"Chromecast-era igortzen","WEBSITE_FEATURES_CHROMECAST_P1":"Gozatu zure bideoaren edukia pantaila handiago batean edo ikusi zer ikusten ari zaren beste gailu batera.","WEBSITE_FEATURES_KEEP_TRACK":"Jarrai itzazu zure gogoko telebista saioak eta web kateak","WEBSITE_FEATURES_KEEP_TRACK_P1":"Lortu egutegia bistaratzea eta zure serie eta kanal gogokoen atal berrien jakinarazpenak.","WEBSITE_FEATURES_POWER_USER":"Erabiltzaile indartsuen ezaugarriak","WEBSITE_FEATURES_POWER_USER_P1":"Erreproduzitu kanpoko erreproduzitzailean","WEBSITE_FEATURES_POWER_USER_P2":"Erreproduzitu torrent fitxategi edo iman esteka batetik","WEBSITE_FEATURES_POWER_USER_P3":"Inportatu liburutegira Facebook atsegin dut edo disko lokaletik","WEBSITE_ADD_ONS":"Gehigarriak","WEBSITE_ADD_ONS_P1":"Stremio-k eskaintzen duen bideo guztia gehigarri sistema baten bidez lortzen da - aplikazioan ez da eduki edo eduki hornitzailerik sartu.","WEBSITE_ADD_ONS_P2":"Gehigarrien bi talde daude eskuragarri: gehigarri ofizialak eta komunitarioak.","WEBSITE_ADD_ONS_P3":"Ofizialak Stremio-k garatu eta ostatatzen ditu, eta komunitateko gehigarriak, aldiz, gure komunitateko kideek sortzen dituzte, hauek ere ostatatzen baitituzte.","WEBSITE_ADDONS_OFFICIAL":"Gehigarri ofizialak","WEBSITE_ADDONS_WATCHUB":"Erreproduzitu zure gogoko filmak, serieak eta ikuskizunak, hala nola iTunes, Hulu, Amazon eta Erresuma Batuko / AEBetako beste zerbitzu batzuen hornitzaileek.","WEBSITE_ADDONS_YOUTUBE":"Ikusi gogoko dituzun YouTube kanalak iragarkirik gabe eta jaso jarraitzen dituzun laguntzaileen kargatze berrien berri.","WEBSITE_ADDONS_FILMON":"Ikusi zuzenean telebista, filmak eta telebista sozialak doan. 600 telebista kate, doako 45.000 film, dokumental eta gehiago.","WEBSITE_ADDONS_OPENSUBTITLES":"Filma eta telebistako azpitituluak hizkuntza anitzetan, egunero kargatutako milaka azpitituluak.","WEBSITE_ADDONS_COMMUNITY":"Komunitateko gehigarriak","WEBSITE_ADDONS_FILMON_VOD":"Ikusi bideoa Filmon.tv-k eskatuta","WEBSITE_ADDONS_TWICH":"Ikusi zuzeneko erreprodukzioak Twitch.tv - kirol bideo elektronikoaren industriarako bideoa erreproduzitzeko plataforma.","WEBSITE_ADDONS_VODO":"Ikusi indie filmak guztiz doan.","WEBSITE_ADDONS_NETFLIX":"Ikusi Netflix filmak eta web serieak.","WEBSITE_ADDONS_CREATE":"Sortu gehigarri bat","WEBSITE_ADDONS_CREATE_P1":"Nahi izanez gero, zure gehigarria garatu dezakezu. Horrela, zure buruari eta gure komunitateari bideo eduki berrietarako sarbidea eman ahal izango diezu eta mundu osoko milioika erabiltzaileri zuzendutako ikusle berri batengana heldu.","WEBSITE_ADDONS_START_CREATE":"Hasteko, bisitatu Stremio Addon SDK orria:","WEBSITE_DOWNLOADS":"Deskargak","WEBSITE_DOWNLOADS_P1":"Errendimendu optimoa lortzeko, Stremio aplikazioen eskuragarri dagoen azken bertsioa erabiltzea gomendatzen dugu. Arrazoiren batengatik, ordea, bertsio zaharragoa erabili nahi baduzu, hemen deskarga dezakezu.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Windows-erako Stremio","WEBSITE_DOWNLOADS_FOR_MAC":"MacOS-erako Stremio","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio Linuxerako","WEBSITE_DOWNLOADS_FOR_ANDROID":"Androiderako Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"IOS Stremio (bertsio mugatua)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Lagundu","WEBSITE_CONTRIBUTE_P1":"Stremio plataforma kode irekia da eta gaur egun iturri gabeko edukirako gehigarri bat sor dezakezu.","WEBSITE_CONTRIBUTE_WHY":"Zergatik sortu behar zenuke gehigarri bat?","WEBSITE_CONTRIBUTE_WHY_P1":"Iritsi ikusle berrietara zure bideoaren edukira","WEBSITE_CONTRIBUTE_WHY_P2":"Stremioren erabiltzaile-oinarria bizkor hazten ari da - merkaturatu zen lehen urtean, Stremiok milioi bat erabiltzaile irabazi zituen mundu osoan, eta plataformaren existentziaren bigarren urtean kopuru hori 2,5 milioi izatera iritsi zen.","WEBSITE_CONTRIBUTE_WHY_P3":"Zure gehigarriarekin, ikusle honetara erraz irits zaitezke eta zure bideo edukia haiei banatu.","WEBSITE_CONTRIBUTE_ALL":"Ikusi gogoko dituzun filmak, bideoak, serieak eta kanalak leku bakarrean.","WEBSITE_CONTRIBUTE_ALL_P1":"Oraindik Stremion erabilgarri ez dagoen eduki mota jakin baten zalea zara? Sortu gehigarri bat eta disfrutatu zure bideo gogokoenak merkatuan dauden entretenimendu zentro handienetako eta erabilerrazenetako batean ikustean.","WEBSITE_CONTRIBUTE_ALL_P2":"Horretaz gain, gogo bereko beste Stremio komunitateko kideen esker on amaigabea lortuko duzu.","WEBSITE_CONTRIBUTE_MONETIZE":"Dirua irabazi zure gehigarria eta irabazi dirua bere laguntzarekin","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Stremiorako gehigarri berri bat garatu ondoren, modu desberdinetan irabazteko aukera dezakezu. Hori aztertzen ari bazara, jar zaitez gurekin harremanetan harremanetan","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":"- Gehigarriak dirua irabazteko aukerei buruz kontsultatu eta aholkuak emango dizkizugu.","WEBSITE_CONTRIBUTE_TRANSLATE":"Egin itzultzaile boluntario","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Stremio aplikazioak hizkuntza desberdinetan gozatu nahi badituzu, itzultzaile boluntarioen komunitatean sar zaitezke. Stremioren bertsioak hizkuntza desberdinetan gehitzen laguntzen digute.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Hasteko gogoz zaude?","WEBSITE_TRANSALTE_STREMIO":"Itzuli Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Komunitate ofizialak","WEBSITE_COMMUNITY_OFFICIALS_P1":"Bihur zaitez hazten ari den Stremio komunitatearen parte. Jarrai iezaguzu sare sozialetan eta ez izan lotsarik agurtzeko: maite dugu gure zaleengandik entzutea!","WEBSITE_COMMUNITY_UNOFFICIALS":"Komunitate ez ofizialak","STREMIO_COMMUNITY_NL":"Stremio Herbehereak","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemania","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgika","STREMIO_COMMUNITY_FRANCE":"Stremio Frantzia","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio AEB","STREMIO_COMMUNITY_MEXICO":"Stremio Mexiko","STREMIO_COMMUNITY_ADDONS":"Stremio gehigarriak","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Stremio zoragarria","WEBSITE_COMMUNITY_PARTNERS":"Bazkideak eta laguntzaileak","WEBSITE_COMMUNITY_GOODIES":"Stremio opariak","WEBSITE_COMMUNITY_WALLPAPERS":"Atzeko irudiak","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Jarri gurekin harremanetan","WEBSITE_CONTACT_US_P1":"Galderarik, iruzkinik edo iradokizunik baduzu, jar zaitez gurekin harremanetan beheko harremanetarako formularioaren bidez.","WEBSITE_CONTACT_US_P2":"Gogoan izan Bulgarian gaudela, beraz, zure kontsultari erantzuteko denbora atzeratu daiteke ordu-zona desberdintasunengatik.","WEBSITE_CONTACT_US_SUCCESS":"Zure mezua bidali da. Guregana lehenbailehen itzuliko gara.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Mesedez, sartu baliozko mezu elektronikoa!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Zein da zure galdera lotuta?","WEBSITE_CONTACT_US_Q_OS":"Zein da zure Eragiketa Sistema?","WEBSITE_CONTACT_US_PH_EMAIL":"Zure emaila","WEBSITE_CONTACT_US_PH_MESSAGE":"Mezua","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"BIDALI","WEBSITE_CONTACT_US_Q_1":"Nola instalatu?","WEBSITE_CONTACT_US_Q_2":"Nola desinstalatu?","WEBSITE_CONTACT_US_Q_3":"(HTML) Nola egin lasagna?","WEBSITE_CONTACT_US_Q_4":"Gehigarriak","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknologia","WEBSITE_TECHNOLOGY_P1":"Teknologia eta zientzia eroa maite ditugu. </br> Hona hemen zerk bultzatzen duen Stremio (kode irekikoa da guztia).","WEBSITE_TECHNOLOGY_P_QT":"Plataforma anitzeko softwarearen garapena onenean.","WEBSITE_TECHNOLOGY_P_MPV":"Doako, kode irekiko eta plataforma anitzeko multimedia erreproduzitzailea.","WEBSITE_TECHNOLOGY_P_RN":"React Native-k aplikazio mugikorrak JavaScript soilik erabiliz eraikitzeko aukera ematen du.","WEBSITE_TECHNOLOGY_P_VLC":"Multimedia esparrua aplikazioan txertatuta multimedia lortzeko.","WEBSITE_TECHNOLOGY_P_REALM":"Realm plataforma mugikorra da eta SQLite & Core Data-ren ordezkoa da.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js iturburu irekiko, plataforma anitzeko JavaScript exekuzio ingurunea da.","WEBSITE_TECHNOLOGY_P_RUST":"Herdoila paradigma anitzeko sistemaren programazio lengoaia da, segurtasunera bideratua, batez ere aldi bereko segurura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Lagundu proiektuan","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Bi modu daude Stremioren ekarpenak egiteko eta produktua hobetzen lagun gaitzazun.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Zure hizkuntza trebetasun baliotsuak eman ditzakezu plataforma itzulita ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"edo","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... zure kodeketa gaitasunak erabil ditzakezu komunitatearen gehigarriak sortzeko.","WEBSITE_TRANSLATE_STREMIO":"Itzuli Stremio","WEBSITE_404_OH_NO":"Ui ui ui! Bilatzen ari zaren orria ez dago hemen ...","WEBSITE_GO_HOME":"Hasierara","WEBSITE_LINK_OTHER_DOWNLOADS":"Beste deskarga batzuk","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Laguntza","WEBSITE_DOWNLOAD_4_0_BETA":"Deskargatu Stremio 4 beta orain","WEBSITE_GET_FOR_DESKTOP":"Lortu mahaigainerako","WEBSITE_LINK_ADDON_COMPETITION":"Addon lehiaketa","WEBSITE_LINK_ART_CONTEST":"Arte lehiaketa","WEBSITE_MY_ACCOUNT":"Nire kontua","WEBSITE_MAINPAGE_FAQ_001_H1":"Zer da Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio nahi duzun guztia ikusteko askatasuna ematen duen media zentro modernoa da.","WEBSITE_MAINPAGE_FAQ_002_H1":"Nola dabil?","WEBSITE_MAINPAGE_FAQ_002_P1":"Stremio gailuan instalatu eta kontu bat sortu ondoren, egin behar duzun guztia gehigarrien katalogoa bisitatzea eta nahi duzun gehigarria instalatzea da, eta listo!","WEBSITE_MAINPAGE_FAQ_002_P2":"Horren ondoren, Ezagutu edo Taula ataletara joan zaitezke edukia aztertzen hasteko.","WEBSITE_MAINPAGE_FAQ_003_H1":"Zer ikusi dezaket hemen?","WEBSITE_MAINPAGE_FAQ_003_P1":"Asko: filmak, telebista saioak, web kateak, kirola, telebista kateak, podcastak eta beste. Gure gehigarri sistemari esker, hainbat eduki sar dezakezu.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio kode irekia al da?","WEBSITE_MAINPAGE_FAQ_004_P1":"Bai, lotura hauek ikus ditzakezu: ${1}mahaigaineko aplikazioa${2} eta ${3}GitHub erakundea${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio segurua al da?","WEBSITE_MAINPAGE_FAQ_005_P1":"Bai: kode irekiko softwarea denez, kodea publikoki ikuskatzen da eta zuk zeuk berrikus dezakezu.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Zer moduz nire pribatutasuna?","WEBSITE_MAINPAGE_FAQ_006_P1":"Erabiltzaileen pribatutasuna errespetatzen dugu eta ez dugu zure kontua sortzeko eta sinkronizatzeko ezinbesteko gutxieneko datu pertsonalik biltzen.","WEBSITE_MAINPAGE_FAQ_006_P2":"Erregistratzerakoan ${1}Gonbidatu modua${2} ere badago, inolako daturik behar ez duena: modu honetan, ez da deirik egiten gure backendera. Hala ere, funtzio erabilgarrien kaltetan dator, hala nola liburutegia gailuetan sinkronizatu ahal izatea.","WEBSITE_MAINPAGE_FAQ_007_H1":"Telebistara bota al dezaket?","WEBSITE_MAINPAGE_FAQ_007_P1":"Bai, Chromecast-a onartzen dugu eta mahaigaineko zein mugikorreko aplikazioetatik (Android) bota ditzakezu.","WEBSITE_MAINPAGE_FAQ_008_H1":"Zenbat gehigarri ditu Stremiok?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 amaieran, 50 urte baino gehiago. Informazio gehiagorako, begiratu gure gehigarrien katalogoa.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio gehigarrien katalogoan dagoenaz haratago al daiteke?","WEBSITE_MAINPAGE_FAQ_009_P1":"Bai, hauek egiaztatu beharko zenituzke: ${1}PimpMyStremio${2}, ${3}Reddit komunitateak${4}, ${5}Stremio Downloader${6}, etab.","WEBSITE_MAINPAGE_FAQ_010_H1":"Zer gailu onartzen ditu Stremiok?","WEBSITE_MAINPAGE_FAQ_010_P1":"Windows, Mac eta Linuxerako mahaigaineko aplikazioak ditugu. Mugikorretarako, Android eta iOS onartzen ditugu, baina kontuan izan iOS funtzionalitate mugatua duela (ez ditu gehigarri gehien onartzen).","WEBSITE_MAINPAGE_FAQ_010_P2":"Android-en oinarritutako gailu ugari daude Stremio exekutatu ahal izateko, adibidez NVIDIA Shield eta Amazon Fire Stick, baina ez ditugu ofizialki onartzen.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Stremioren zenbait eduki gehi al ditzakezu?","WEBSITE_MAINPAGE_FAQ_011_P1":"Barkatu, guk ez dugu edukirik eskaintzen, baina zenbat eta Stremio gehigarri gehiago instalatu, orduan eta eduki gehiago aurkituko duzu.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio-k magnet estekak erreproduzitu al ditzake?","WEBSITE_MAINPAGE_FAQ_012_P1":"Bai, eta HTTP esteka normalak eta torrent fitxategiak erreproduzi ditzake (arrastatu eta jaregin).","WEBSITE_MAINPAGE_FAQ_013_H1":"Bideo bat deskargatu eta konexiorik gabe ikusi al dezaket?","WEBSITE_MAINPAGE_FAQ_013_P1":"Lineaz kanpoko erabilgarritasuna laster datorren eginbidea da, baina Stremio gailuan gordetzeko baimena ematen baduzu (ezarpenen paneletik) bideoak geroago ikusi ahal izango dituzu konexiorik gabe.","WEBSITE_MAINPAGE_FAQ_014_H1":"Ezerk ez du funtzionatzen, lagundu iezadazu!","WEBSITE_MAINPAGE_FAQ_014_P1":"Ziur zaude gehigarriak instalatu dituzula? Bai bada, begiratu ${2} laguntza zentroarekin ${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Nola eusten dio Stremiok bere garapen eragiketei?","WEBSITE_MAINPAGE_FAQ_015_P1":"Noizean behin iragarki ez-intrusiboak jartzen ditugu, baina dohaintza eredu batera pasatzea pentsatzen ari gara.","WEBSITE_MAINPAGE_FAQ_015_P2":"Galdera gehiagorako, joan ${1}laguntza-zentrora${2}.","HELP_LEARN_MORE":"Lagundu iezaguzu zure inguruan gehiago jakiten.","LIFESTYLE":"Bizimodua","SPORTS":"Kirolak","FOOD_HEALTH":"Elikadura eta osasuna","BEAUTY_FASHION":"Edertasuna eta Moda","NEWS":"Albisteak","GAMING":"Jokoa","SCIENCE_EDUCATION":"Zientzia eta hezkuntza","MUSIC":"Musika","TRAVEL":"Bidaia","LATE_NIGHT":"Late Night","REALITY":"Realitya","COMEDY":"Komedia","DIY":"Nola egin zerorrek","TECH":"Teknologia","CINEMA":"Zinema","CONTINUE":"Jarraitu","SLOW_LOADING":"KARGA MOTELA?","I_GIVE_UP":"AMORE EMATEN DUT","LEARN_MORE":"Gehiago ikasi","POOR_SOURCE":"Iturri hau ez dago erabilgarri edo zure Interneteko konexioa ez da behar bezain azkarra","PICK_CATEGORIES_ERR":"Gutxienez 3 kategoria aukeratu behar dituzu","ADJUST_TIMING":"Egokitu denborarekin","ADJUST_SIZE":"Doitu tamaina honekin","SEARCH_ANYTHING":"Edozer gauza bila dezakezu ...","ALL_CATEGORIES":"Guztiak","SEARCH_CATEGORIES":"Filmak, Telesailak, YouTube eta Telebista","SEARCH_PERSONS":"Aktoreak, Zuzendariak eta Idazleak","SEARCH_PROTOCOLS":"HTTP eta iman estekak","SEARCH_TYPES":"IMDB/TVDB estekak","WATCHED":"Ikusita","SHOW_LESS":"Erakutsi gutxiago","LAST_SEARCHES":"Azken bilaketak","CLEAR_HISTORY":"Garbitu historia","CHOOSE_SOME":"AUKERATU HEMENDIK BATZUK:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Urruneko Web-a ezin izan da kargatu","STREMIO_OFFLINE":"Stremio lineaz kanpo dago","STREMIO_EXPENSIVE_CONNECTION":"Mugikorreko datu konexioa erabiltzen ari zarela antzeman dugu, jarraitu nahi al duzu?","USE_DATA":"Erabili datuak","WARNING":"Abisua","MORE_INFO":"Informazio gehiago ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Kargatzen ...","STREMIO_TV_BACK_TO_LANGUAGES":"Itzuli hizkuntzetara","STREMIO_TV_REMOTE":"Urrunekoa","STREMIO_TV_GO_TO":"Joan:","STREMIO_TV_OR_SCAN":"edo eskaneatu:","STREMIO_TV_ADDON_INSTRUCTIONS":"Mesedez, jarraitu argibideak nahiago dituzun gehigarriak instalatzeko.","STREMIO_TV_LIVE_TV":"Zuzeneko telebista","STREMIO_TV_RESUME_WATCHING":"Berrekin Ikustea","STREMIO_TV_LOADING_BACKGROUND":"Aurrekariak kargatzen","STREMIO_TV_CHECKING_AUTHENTICATION":"Autentifikazioa egiaztatzen","STREMIO_TV_LOADING_BOARD":"Kargatzeko taula","STREMIO_TV_LOGIN_HEADER_LINE_1":"Gure erabiltzaileek ahalik eta esperientzia pertsonalizatu onena izan dezaten nahi dugu gure softwarearekin.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Arrazoi horregatik eskatzen dizugu zure kontua egitea edota saioa hastea.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Eskerrik asko ulertzeagatik,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio Taldea","STREMIO_TV_REMOTE_INSTRUCTIONS":"Urruneko Web-a zure Smartphone/Tablet/Mahaigainarekin erabiltzeko:","STREMIO_TV_WIFI_SETUP":"Wi-Fi konfigurazioa","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle-k ez du Interneteko konexiorik antzeman.","STREMIO_TV_WIFI_DETAILS_1":"Konektatu hona:","STREMIO_TV_WIFI_DETAILS_2":"estremio-zirkulua","STREMIO_TV_WIFI_DETAILS_3":"Erabili pasahitza:","STREMIO_TV_WIFI_DETAILS_4":"estremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Ireki web arakatzailea estekarekin:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Azpitituluen atzerapena","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Bilatu","STREMIO_TV_NAV_HOME":"Hasiera","STREMIO_TV_NAV_DISCOVER":"Deskubritu","STREMIO_TV_NAV_LIBRARY":"Liburutegia","STREMIO_TV_NAV_MOVIES":"Pelikulak","STREMIO_TV_NAV_SERIES":"Serieak","STREMIO_TV_NAV_CHANNELS":"Kanalak","STREMIO_TV_NAV_TV":"Zuzeneko Telebista","STREMIO_TV_NAV_SETTINGS":"Ezarpenak","STREMIO_TV_NAV_ADDONS":"Addon-ak","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Idatzi zerbait","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Bilatu","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Espazio","STREMIO_TV_SEARCH_KEY_CLEAR":"Garbitu","STREMIO_TV_SEARCH_HISTORY_TITLE":"Bilatu historialean","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Izenburu, aktore, kanal eta gehiagoren arabera bilatu dezakezu","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Garbitu bilaketa historiala","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Iragazkiak","SETTINGS":"Ezarpenak","ACCOUNT":"Kontua","LOGOUT":"Irten","THEMES":"Theme-ak","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Pistak","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Bideoak","SERVER":"Zerbitzaria","LINKS":"Estekak","ABOUT":"About","INTERFACE":"Interfazea","ANIMATIONS":"Animazioak","STATUS":"Egoera","LANGUAGE":"Hizkuntza","SIZE":"Tamaina","DELAY":"Atzerapena","BOLD":"Lodia","OPACITY":"Opacity","TEXT_COLOR":"Testuaren Kolorea","OUTLINE_COLOR":"Outline Kolorea","BACKGROUND_COLOR":"Atzealdeko Kolorea","BACKGROUND_BLUR":"Atzealde lausoa","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Erreproduzitu orain","MARK_AS_WATCHED":"Markatu ikusita","MARK_AS_UNWATCHED":"Markatu ikusi gabe","REWIND_TO_BEGINNING":"Itzuli hasierara","CONTINUE_WATCHING":"Jarraitu ikusten","ALL":"Guztia","SECONDS":"segundu","ON":"ON","OFF":"OFF","RELOAD":"Eguneratu","EDIT_URL":"Aldatu URLa","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Aldatu gailuak","REMOTE_VIDEOS":"Bideoak","REMOTE_ADJUST_TIMING":"Egokitu denbora","REMOTE_ADJUST_SIZE":"Doitu neurria","REMOTE_COULD_NOT_BE_LOADED":"Web urrunekoa ezin izan da kargatu","REMOTE_RETRY":"Saiatu berriro","TORRENT_PROFILE_DEFAULT":"Defektuzkoa","TORRENT_PROFILE_SOFT":"Leuna","TORRENT_PROFILE_FAST":"Azkarra","TORRENT_PROFILE_ULTRA_FAST":"Ultra Azkarra","MB_S":"MB/s","FAQ_001_H1":"Zer da Stremio?","FAQ_001_P1":"Stremio bideo entretenimendurako diseinatutako multimedia zentroen softwarea da, erabiltzeko erraztasunak kontuan hartuta. Stremio-k & amp; ikusi zure film, serie, kanal eta zuzeneko telebista bilduma.","FAQ_001_P2":"Stremio-k zure disko lokaletik eta gure gehigarri sistematik erakusten duen edukia bildu.","FAQ_001_P3":"Era berean, interesatzen zaizkizun atal/bideo/film berriak ateratzen direnean jakinaraziko zaizu eta filmen gomendioak emango dizkizu.","FAQ_02_H1":"Nola alderatzen da Stremio Kodi eta Plexekin?","FAQ_02_P1":"Bi softwareak inspiratzen gaitu. Baina helburu desberdinak ditugu - Stremio entretenimendu bideoetara bideratuta dago bereziki, eta horretarako oso konponbide nagusia bilakatzen ahalegintzen da erabiltzeko oso erraza izanik.","FAQ_02_P2":"Stremio ez da inoiz Kodi eta Plex bezain pertsonalizagarria eta aberatsa izango, baina errazagoa da erabiltzea. ${1}eskuratu eta ikusi${2} :)","FAQ_03_H1":"Nola alderatzen da Stremio Netflix-ekin?","FAQ_03_P1":"Berriro ere, Netflix da gure inspirazioetako bat. Netflix-en erabiltzailearen esperientzia lortzen ahalegintzen gara, eta gehitutako opari asko. Baina garrantzitsuena, zure liburutegia kudeatzeko eta eduki gehigarri berriak gehitzeko askatasuna ematen dizugu gure addon sistemarekin.","FAQ_03_P2":"Horrek Stremio ezin du luzatu, beraz, Stremio erabiltzen duzunean ez zara inoiz Netflix-ek lizentzia ematea erabakitzen duen edukira mugatzen. Adibidez, Stremioren bidez ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} edukia ikusi dezakezu. eta baita ${9}Netflix${10} bera ere!","FAQ_04_H1":"Nola alderatzen da Stremio Flipboard-ekin?","FAQ_04_P1":"Galdera hori ez dugu hain maiz jasotzen, hasierako jendearekin hitz egitean izan ezik :)","FAQ_04_P2":"Stremio edukien agregatzailea diseinatzean datza, eta horrek bideoetarako Flipboard bihurtzen du. Hori oso agerikoa da gure Batzordearen atalean, katalogoak eta atal berrien / bideo berrien jakinarazpenak eskaintzen dizkizu, Flipboard-ek bezala.","FAQ_05_H1":"Nola alderatzen da Stremio krispeten denborarekin?","FAQ_05_P1":"Stremio eta Popcorn Time erabiltzailearen interfazean antzekoak dira, bideo entretenimendu katalogoak ondo egiteko modu asko ez dagoelako :)","FAQ_05_P2":"Popcorn Time iturri zehatzetatik torrent-ekin erreproduzitzera bideratuta dagoen arren, Stremio mugarik gabe dago eta eduki-agregatzailea besterik ez da, ez dago eduki-iturri zehatz batean blokeatuta.","FAQ_05_P3":"Gainera, ez dugu torrent gehigarririk ematen lehenespenez, beraz, Stremiok ez du krispeten denboraren erabilera-kasua funtzionalitate ofizialarekin estaltzen.","FAQ_05_P4":"Beste desberdintasun aipagarri bat Popcorn Time erabat irekia dela da, Stremio ${1}partzialki irekita${2} dela.","FAQ_06_H1":"Gehituko al duzu film/telesail hau?","FAQ_06_P1":"Ez, barkatu :(","FAQ_06_P2":"Beste galdera gehienetan aipatzen den bezala, Stremiok ez du berez edukirik eskaintzen - dena gehigarrien sistemaren bidez gehitzen da. Eduki eskaera izanez gero, erreproduzitzailean dagoen \\"Salatu\\" botoia erabil dezakezu, mezu elektroniko bat bidaliko dio unean erabiltzen ari zaren gehigarriaren egileari.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"X-rako gehigarria sortuko al duzu?","FAQ_08_P1":"Erabat posible da.","FAQ_08_P2":"Gehigarri bat egiteko ideia baduzu, idatzi ${1}office@stremio.com${2} helbidera, baina ziurtatu gehigarrien ideiak ez dituela inolako copyright edo erabilera baldintzak urratuko.","FAQ_08_P3":"Momentuz, gure bide orriko hurrengo gauzak FandangoNOW, Filmon.tv bideoaren eskaera eta Crunchyroll-en gehigarriak dira.","FAQ_09_H1":"Stremiok BitTorrent erabiltzen al du?","FAQ_09_P1":"Bai, Stremiok BitTorrent onartzen du streaming protokolo gisa. Hori erabil dezakezu torrent gehigarri batekin edo .torrent fitxategi bat Stremiora arrastatuz eta jareginez edo Bilaketa barran iman esteka itsatsita.","FAQ_09_P2":"Kontuan izan BitTorrent erabiltzen duen gehigarri ofizial bakarra ${1} Vodo ${2} dela, indie edukia eskaintzen duena, guztia BitTorrent-ekin banatzeko baimendua.","FAQ_09_P3":"Ez dugu onartzen copyright-urraketa egin dezaketen hirugarrenen gehigarririk erabiltzea.","FAQ_10_H1":"Zer ikusi dezaket Stremion gehigarri ofizialekin?","FAQ_10_P1":"Berez, Filmon.tv, YouTube eta Vodo edukiak Stremio beraren barruan ikus ditzakezu, kapsulatutako erreproduzitzailearekin. Gainera, Twitch.tv-rako gehigarria dugu eta beste batzuk.","FAQ_10_P2":"Konbinatu honek aukera hauek eskaintzen ditu:","FAQ_10_L1":"Filmon.tv-k eskainitako telebista kate ezagunak - adibidez, E4, BBC, Bollyworld TV","FAQ_10_L2":"YouTube-tik dena - adibidez BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Film indiarrak Vodorekin","FAQ_10_L4":"Lineako jokoen emisioak Twitch.tv-rekin","FAQ_10_P3":"Gainera, gida-kutxa eta Netflix gehigarriekin hornitutako eduki iturri ugari daude, <b> ez </b> Stremio barruan guztiz erreproduzitzen direnak, baina emandako zerbitzura birbideratuko lirateke. Adibidez, Guidebox gehigarriak AEBetan doan erreproduzi ditzakezun filmen aukeraketa emango dizu TubiTV eta Crackle bezalako zerbitzuetatik.","FAQ_11_H1":"Stremiok ez du instalatuko, zer egin behar dut?","FAQ_11_P1":"Windows-en bazaude, probatu ${1} ${2} instalatzaile alternatibo hau.","FAQ_11_P2":"Mac OS X erabiltzen baduzu, kontuan izan ez dugula OS X Mavericks (10.9) baino zaharragoak onartzen.","FAQ_11_P3":"Linux erabiltzen baduzu, kontuan izan momentuz 64 bit (x64) Linux soilik onartzen ditugula.","FAQ_11_P4":"Oraindik arazoa konpondu ezin baduzu, idatzi iezaguzu ${1}Facebook taldean${2}.","FAQ_12_H1":"Zergatik kexatzen da nire birusaren kontrakoa? Stremio segurua al da?","FAQ_12_P1":"Stremio ${1}%100 garbi${2} dagoela ziurtatzen dizugu.","FAQ_12_P2":"Birusen aurkako arazoa kexatzen ari da publizitatea gure instalatzailean sartzen dugulako, birusen aurkako programa batzuek iragarki gisa aitortzen baitute.","FAQ_12_P3":"Oraindik ziur ez bazaude, ${1}instalatzaile alternatiboa${2} probatu dezakezu.","FAQ_13_H1":"Nola egin dezaket gehigarri bat?","FAQ_13_P1":"Hasiberrientzat, GitHub-en gure ${1}addons sistemaren modulua${2} begiratzea gomendatzen dugu.","FAQ_13_P2":"Ondoren, ${1}Hello World tutoriala${2} jarraitu dezakezu.","FAQ_13_P3":"Programaziorako trebetasunik ez baduzu, idatzi zure ideia ${1}Reddit komunitatean${2} eta jarri gurekin harremanetan zure addon ideiarekin ${3}office@stremio.com${4} helbidean.","FAQ_14_H1":"Nola argitaratzen dira gehigarriak?","FAQ_14_P1":"Gehigarri eta ostalari bat sortzen duzunean eta zure manifestuan <b> amaiera </b> eremua jartzen duzunean, funtzionatzen duen gehigarrien helbidea seinalatzen duena, gehigarriak automatikoki argitaratuko du gure ${1} gehigarrien katalogoan ${2} .","FAQ_14_P2":"Stremio-addons moduluko zerbitzariaren zatiak automatikoki dei egiten duelako gure APIra gehigarria iragartzeko. Gure APIak zure <b> amaierako puntua </b> baliozko gehigarri gisa balioztatzen duenean, katalogoan erakusten hasiko da.","FAQ_15_H1":"Exekutatu al dezaket Stremio nire arakatzailean?","FAQ_15_P1":"Momentuz ez, baina badator hau!","FAQ_15_P2":"Alpha bat ikusteko jakinmina baduzu, hemen ikus dezakezu: ${1} alpha4.strem.io ${2}. Gogoan izan streaming hau alfa honetan desgaituta dagoela. Chrome, Firefox, Opera eta Edge onartzen ditugu.","FAQ_16_H1":"Telebistara igortzeak ez du funtzionatzen / azpitituluak ez dira funtzionatzen","FAQ_16_P1":"Telebistara igotzeak telebista marka eta modelo desberdinen artean oso bat ez datorren DLNA teknologia erabiltzen du. Hori dela eta, kasu guztietan ez dugu probatzeko gaitasunik, beraz, oso urrun dago perfektua izatetik. Hala ere, etengabe hobetzeko lanean ari gara, baina ezin dugu DLNA zure telebistarekin ondo funtzionatzen noiz hasiko den kalkulatzeko denbora.","FAQ_16_P2":"Zure telebista casting menuan ikusten ez baduzu ere, saiatu sareko konexioa desgaitzen eta berriro gaitzen (Windows-en, egin klik eskuineko botoiarekin Sarea eta erabili Gaitu / Desgaitu), baita router, telebista eta ordenagailua berrabiarazi ere. .","FAQ_16_P3":"Oraindik arazoak topatzen badituzu, lagun diezagukezu telebistaren marka eta modeloaren informazioa ${1}office@stremio.com${2} helbidera bidalita.","FAQ_16_P4":"Bitartean, oso ondo onartzen dugun Chromecast gomendatzen dugu edo, besterik gabe, zure telebista ordenagailura HDMI kable batekin konektatzea.","FAQ_17_H1":"Stremio izoztu edota huts egiten du, zer egin dezaket?","FAQ_17_P1":"Lehenik eta behin, Windows 7 AVG antibirusarekin erabiltzen ari bazara: arazo bat dugu konbinazio horrekin. Arazoa AVG-n dago, eta ez dago arrazoizko modurik gure aldetik konpontzeko. Zoritxarrez, salbuespenak edo birusen aurkako desgaitzea ez dira funtzionatuko. Irtenbide bakarra AVG beste zerbaitengatik ordezkatzea da.","FAQ_17_P2":"Hori ez bada arazoa, baina Windows erabiltzen jarraitzen baduzu, eguneratu azken zerbitzu-paketera eta eguneratu/instalatu berriro GPU kontrolatzaileak, eta saiatu berriro.","FAQ_17_P3":"Arazoa oraindik konpontzen ez bada edo Mac edo Linux erabiltzen ari bazara, idatzi iezaguzu arazoaren xehetasun zehatzen berri ${1}gure Facebook taldeko${2} helbidean.","FAQ_18_H1":"Nola egin dezaket gehigarri bat?","FAQ_18_P1":"Hasiberrientzat, GitHub-en gure ${1}addons sistemaren modulua${2} begiratzea gomendatzen dugu.","FAQ_18_P2":"Ondoren, ${1} Hello World tutoretza ${2} jarraitu dezakezu.","FAQ_18_P3":"Programaziorako trebetasunik ez baduzu, idatzi zure ideia ${1}Reddit komunitatean${2} eta jarri gurekin harremanetan zure addon ideiarekin ${3}office@stremio.com${4} helbidean.","FAQ_19_H1":"Zergatik ari da Stremio diskoan lekua hartzen?","FAQ_19_P1":"Stremio-k <b> cache lokal </b> bat du igortzen dituzun bideo fitxategiak aldi baterako mantentzeko.","FAQ_19_P2":"Horrek bi abantaila ditu: lehenik, Stremiok bideoa aurrez bufferrean uzteko aukera ematen du, streaming zuzenagoa bermatzeko. Bigarrenik, bideoak cache lokalean gordetzen ditu, lineaz kanpo ikusten jarraitu ahal izateko.","FAQ_19_P3":"Stremio-k zenbat gordetzen duen ezarpenen paneleko <b> Cache </b> ezarpenaren araberakoa da. Stremio-k zure diskoan ezarritako zenbatekoa (adibidez, 2 GB) gorde dezake, unean erreproduzitutako bideoa hori baino handiagoa ez bada, kasu horretan, gordetzeko adina biltegiratze esleitu behar du erreproduzitu arte.","FAQ_20_H1":"Non dago cache karpeta?","FAQ_20_P1":"Windows-en, Stremio-cache da Ezarpenetan aukeratu duzun unitatean (adibidez, \\"E: \\\\ stremio-cache\\")","FAQ_20_P2":"MacOS-en \\"~ /Library/Application Support/Stremio/stremio-cache\\" da","FAQ_20_P3":"Linux-en \\"~/.stremio/stremio-cache\\" edo \\"~/stremio-cache\\" da.","FAQ_21_H1":"\\"Streaming zerbitzaria ez da aurkitu\\" errorea dut. Zer egin dezaket?","FAQ_21_P1":"Akats hau jasoz gero, gauza gutxietako bat esan nahi du:","FAQ_21_P2":"1) YouTube/BitTorrent iturriak babestutako gehigarri bat erabiltzen saiatzen ari zara, gure ${1}web bertsioaren${2} bidez. Kasu honetan, gure mahaigaineko bertsioa ${3}webgunetik${4} instalatu beharko zenuke.","FAQ_21_P3":"2) Zerbait ez dago gaizki zure Stremio instalazioarekin. Kasu honetan, saiatu berriro instalatzen mahaigaineko azken bertsioa ${1} ${2} webgunetik. Honek laguntzen ez badu, saiatu birusen aurkako programak eta suebakiak desgaitzen, ordenagailua berrabiarazi eta saiatu berriro. Honek ere funtzionatzen ez badu, idatzi iezaguzu ${3}gure Facebook taldean${4}.","FAQ_22_H1":"Ezin ditut iOSeko gehigarri gehienak ikusi/erabili","FAQ_22_P1":"Apple App Store-ren baldintzak eta mugak direla eta, iOS aplikazioa gehigarri jakin batzuetara soilik mugatu dugu.","FAQ_22_P2":"Baina lasai - etorkizunean iOS-erako gehigarri gehiago egongo dira, eta Stremio gehigarri guztiak erabiltzea ahalbidetuko duen integrazioa ere gehi dezakegu iOS aplikazioa Stremio Streaming Server-era konektatzeari esker."}')},85921:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"فیلم","TYPE_series":"سریال","TYPE_tv":"کانال تلویزیونی","TYPE_channel":"کانال","TYPE_other":"دیگر","TYPE_movie_PL":"فیلم ها","TYPE_series_PL":"سریال","TYPE_tv_PL":"کانال های تلویزیونی","TYPE_channel_PL":"کانال ها","TYPE_other_PL":"سایر","TYPE_ALL":"همه","TYPE":"نوع","CATALOG_com_linvo_cinemeta_top":"محبوب","CATALOG_com_linvo_cinemeta_imdbRating":"برجسته","CATALOG_com_linvo_cinemeta_year":"جدید","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"فیلم های دامنه عمومی","VIDEO":"ویدئو","BACK":"برگشت","MORE":"بیشتر","DONE":"انجام شد","COPY":"کپی","SUCCESS":"موفقیت","ERROR":"خطا","SETTINGS_CASTING_MODE_PICKER":"حالت کست","CASTING_MODE_HLSV2":"پیش فرض","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"بدون رمزگذاری","Discover":"کاوش","Board":"تابلو","Library":"کتابخانه","My Library":"کتابخانه من","Calendar":"تقویم","NOTIFICATION_ONLINE":"شما اکنون آنلاین هستید","NOTIFICATION_OFFLINE":"شما در حال حاضر آفلاین هستید","INTERNET_CONNECTION":"اتصال شبکه","STORAGE_FULL_TITLE":"هشدار: فضای ذخیره سازی پر است!","STORAGE_FULL_TEXT":"Stremio نمی‌تواند تنظیمات، تنظیمات برگزیده یا اطلاعات ورود به سیستم شما را ذخیره کند. راه اندازی مجدد یا نصب مجدد Stremio را در نظر بگیرید.","SEARCH":"جستجو","SEARCH_NO_RESULTS":"هیچ نتیجه ای یافت نشد","SEARCH_EXPLANATION_CONTENT":"جستجوی فیلم، سریال، یوتیوب و کانال های تلویزیونی","SEARCH_EXPLANATION_PEOPLE":"جستجوی بازیگران، کارگردانان و نویسندگان","SEARCH_PASTE_LINKS":"پیوندهای HTTP و Magnet را جایگذاری کنید","SEARCH_OR_PASTE_LINK":"جستجو یا جایگذاری پیوند","SEARCH_SUGGESTIONS":"پیشنهادات جستجو","ADD_TO_LIB":"افزودن به کتابخانه","REMOVE_FROM_LIB":"حذف از کتابخانه","ADDED_TO_LIB":"به کتابخانه اضافه شد","REMOVED_FROM_LIB":"از کتابخانه حذف شد","TRAILER":"تریلر","WATCH_TRAILER":"دیدن تریلر","WATCH_NOW":"اکنون تماشا کنید","SHOW":"نمایش","SHOW_MOVIE":"نمایش فیلم","WATCH_RANDOM":"تصادفی ببینید","IMDB_RATING":"امتیاز IMDb","YEAR":"سال","DIRECTOR":"کارگردان","WRITER":"نویسنده","LEAD_ACTORS":"بازیگران اصلی","CAST":"بازیگران","CREW":"کادر","SHOW_MORE_CAST":"نمایش بیشتر »","AIRED":"پخش شده","SEASONS":"فصل ها","GENRE":"ژانر","GENRE_ALL":"همه ژانرها","CATALOG":"کاتالوگ","SUMMARY":"خلاصه","SHOW_MORE":"نمایش بیشتر","SIMILAR":"مشابه","UPCOMING":"آینده","TBA":"TBA","ENDED":"پایان یافته","DURATION":"مدت زمان","FEATURED":"برجسته","METADATA":"فراداده","CATEGORY":"دسته بندی","LINKS_GENRES":"ژانرها","LINKS_CAST":"بازیگران","LINKS_DIRECTORS":"کارگردانان","SEARCH_VIDEOS":"جستجوی ویدیوها","SEARCH_PLACEHOLDER":"URL را جستجو یا جایگذاری کنید","ADDON":"افزونه","ADDONS":"افزونه ها","OFFICIAL":"رسمی","ADDONS_OFFICIAL":"افزونه های رسمی Stremio","ADDONS_POPULAR":"محبوب در منطقه شما","ADDON_FREE":"رایگان","ADDON_PEERED":"همتا شده","ADDON_SUBSCRIPTION":"اشتراک","ADDON_STREAM_GEORESTRICTED":"در منطقه شما موجود نیست","ADDON_STREAM_OFFLINECACHE":"کش آفلاین","ADDON_STREAM_LOCALFILE":"فایل محلی","SHARE_ADDON":"اشتراک‌گذاری افزونه","AVAILABLE_STREAMS":"استریم‌های موجود","NO_STREAM":"هیچ استریمی یافت نشد","ALL_ADDONS":"همه","INSTALL_MORE_ADDONS":"برای استریم های بیشتر، لطفا افزونه های بیشتری نصب کنید","STREAM_NOT_SUPPORTED":"استریم انتخابی در این پلتفرم پشتیبانی نمی‌شود.","ADDON_CATALOGUE":"نمایش همه افزونه ها »","ADDON_CATALOGUE_MORE":"نصب افزونه ها","REPO_ADDED":"مخزن اضافه شد","ADDON_REPO_EXIST_ERR":"این مجموعه افزونه‌ها از قبل وجود دارد","ADDON_REPO_ERR":"هنگام افزودن مجموعه خطایی روی داد","ADDON_ADD_ERR":"هنگام افزودن افزونه خطایی رخ داد","ERR_ADDON_PROTECTED":"نمی توان افزونه را حذف کرد، محافظت شده است","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"مشکلی پیش آمد - ممکن است تایید اعتبار ناموفق باشد","ERR_NOT_COLLECTION_URL":"یک URL مجموعه نیست","ERR_NOT_ADDON_URL":"یک URL افزونه معتبر نیست","ERR_DETECTFROMURL":"افزونه/مجموعه از این URL پیدا نمی شود","ADDON_DUPLICATE_WARNING":"هشدار: افزونه تکراری","ADDON_COLLECTION_SET_FAILED":"همگام سازی افزونه های نصب شده با حساب شما انجام نشد","SETTINGS_DATA_EXPORT":"صادر کردن داده های کاربر","ADDON_PULL_FAILED":"همگام سازی افزونه های نصب شده از حساب شما انجام نشد","REFRESH_ON_CLICK":"برای امتحان مجدد کلیک کنید","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"فیلم هنوز در سینماها است","WATCH_IN_CINEMA":"آن را در سینمای محلی خود تماشا کنید","IN_THEATER":"در سینما","GET_TICKETS":"بلیط بگیرید","UPCOMING_EPISODE":"قسمت آینده","UPCOMING_EPISODE_MESSAGE":"این قسمت پخش خواهد شد در","MISSING_DATE_EPISODE":"تاریخ قسمت از دست رفته است","MISSING_DATE_EPISODE_MESSAGE":"شاید این قسمت هنوز پخش نشده باشد","CHANNEL_NOT_SCRAPED":"این کانال هنوز بررسی نشده است. <br>لطفا چند دقیقه دیگر برگردید.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"آن را به کتابخانه خود اضافه کنید تا پس از در دسترس قرار گرفتن از آن مطلع شوید.","GET_NOTIFIED_WHEN_AVAILABLE":"پس از در دسترس قرار گرفتن به شما اطلاع داده می شود.","WARNING_STREAMING_SERVER":"هشدار: سرور پخش محلی یافت نشد. پخش استریم از فایل های محلی، YouTube و BitTorrent در دسترس نخواهند بود.","WARNING_STREAMING_SERVER_DISMISS":"رد کردن","WARNING_STREAMING_SERVER_LATER":"بعدا","DECODER_WARNING":"هشدار: این ویدئو ممکن است توسط سخت افزار شما پشتیبانی نشود. به خاطر داشته باشید، پخش ممکن است کند باشد.","GENERIC_ERROR_MESSAGE":"مشکلی پیش آمد!","TRY_AGAIN":"امتحان دوباره","CLEAR_DATA":"پاک کردن داده ها","PLAYER_ERROR":"اوه، خطای پخش کننده","PLAYER_ERROR_LOOKSLIKE":"به نظر می رسد","PLAYER_ORIENTATION":"جهت پخش","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"قفل شده","PLAYER_ORIENTATION_SENSOR_SHORT":"سنسور","PLAYER_ORIENTATION_LANDSCAPE":"جهت پخش در حالت افقی قفل شده است","PLAYER_ORIENTATION_SENSOR":"جهت گیری بازیکن خودکار (سنسور)","PLAYER_PLAYBACK_SPEED":"سرعت پخش","PLAYER_PLAYBACK_ERROR":"خطای پخش، لطفا دوباره امتحان کنید","PLAYER_PLAYBACK_ERROR_UNKNOWN":"خطای ناشناخته","PLAYER_PLAYBACK_ERROR_DEFAULT":"متأسفیم، این ویدیو توسط {{productName}} قابل پخش نیست.","PLAYER_SUBTITLES_LANGUAGES":"زبان های زیرنویس","PLAYER_SUBTITLES_VARIANTS":"انواع زیرنویس","PLAYER_SUBTITLES_SETTINGS":"تنظیمات زیرنویس","PLAYER_SUBTITLES_DISABLED":"زیرنویس غیرفعال است","PLAYER_SUBTITLES_VERTICAL_POSIITON":"موقعیت عمودی","PLAYER_SUBTITLES_LOADED":"زیرنویس بارگذاری شد","PLAYER_SUBTITLES_LOADED_EMBEDDED":"زیرنویس های جاسازی شده بارگیری شد","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"زیرنویس انحصاری بارگذاری شد","PLAYER_SUBTITLES_LOADED_LOCAL":"زیرنویس محلی بارگذاری شد","PLAYER_SUBTITLES_LOADED_ORIGIN":"زیرنویس از {{origin}} بارگیری شد","PLAYER_PLAY":"پخش","PLAYER_PAUSE":"توقف","PLAYER_NEXT_VIDEO":"ویدیوی بعدی","PLAYER_MUTE":"بی صدا","PLAYER_UNMUTE":"باصدا کردن","PLAYER_OPEN_IN_EXTERNAL":"باز کردن در پخش کننده خارجی","PLAYER_OPEN_IN_NPLAYER":"باز کردن در nPlayer","PLAYER_PLAY_IN":"پخش در {{device}}","PLAYER_LIVE":"زنده","PLAYER_NEXT_VIDEO_TITLE":"بعدی می‌آید در","PLAYER_NEXT_VIDEO_TITLE_SHORT":"بعدی در","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"رد کردن","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"اکنون تماشا کنید","PLAYER_COPY_STREAM_SUCCESS":"پیوند استریم در کلیپ بورد شما کپی شد","PLAYER_COPY_STREAM_ERROR":"پیوند استریم کپی نشد","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"لینک دانلود در کلیپ بورد شما کپی شد","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"لینک دانلود کپی نشد","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"استریم از","CASTING_TO":"ارسال به","NETWORK_STATUS":"وضعیت شبکه","STREAM_SPEED":"سرعت استریم:","STREAM_BUFFERED":"بافر شده:","PEERS_INFO":"اطلاعات همتایان","PEERS_ACTIVE":"فعال:","PEERS_CONNECTED":"متصل:","PEERS_WAITING":"در انتظار:","TRANSCODING_WARNING":"هشدار: رمزگذاری ویدیو.","STREAM_LOADING":"در حال بارگذاری...","PLAYING_LOCAL":"پخش از فایل محلی","PLAYING_CACHE":"پخش از حافظه پنهان","WRONG_SUBS":"زیرنویس اشتباهه؟","ERR_SUBS_LOADING_TITLE":"خطا در بارگیری زیرنویس","ERR_SUBS_LOADING":"بارگیری ناموفق زیرنویس: این ممکن است مشکل از افزونه ای باشد که استفاده می کنید یا اتصال شبکه شما","WARN_FOLLOWING_SUB_ADDONS_FAILED":"افزونه های زیرنویس زیر ناموفق بودند","ERR_CASTING_UPDATE_TITLE":"اطلاعات دستگاه ارسال محتوا به‌روزرسانی نشد: سرور پخش استریم ممکن است آفلاین باشد","CHOOSE_DEVICE":"دستگاهی را برای تماشا انتخاب کنید","NO_CAST_DEVICES":"دستگاهی برای کست موجود نیست.","NO_SETTINGS":"هیچ تنظیماتی در دسترس نیست.","NO_OPTIONS":"No options available","PHONE_TABLET":"تلفن / تبلت","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"زیرنویس","SUBTITLES_CHANGE":"تغییر زیرنویس برای ","SUBTITLES_CHANGE_NONE":"هیچ زیرنویس دیگری برای این زبان وجود ندارد، متاسفم.","SUBTITLES_CHANGE_ACIVE":"در حال حاضر زیرنویس‌های #{{subtitlesDialog.activeIdx + 1}} فعال هستند. برای فعال کردن زیرنویس‌ها روی \\"ادامه\\" کلیک کنید #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"بصورت جایگزین،","SUBTITLES_ADJUST_DELAY":"تنظیم تاخیر زیرنویس:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"یا هنگام پخش از کلیدهای <span>G</span> / <span>H</span> برای تنظیم استفاده کنید.","SUBTITLES_ADJUST_DELAY_TIP":"نکته: می‌توانید هنگام پخش از کلیدهای <span>G</span> / <span>H</span> برای تنظیم استفاده کنید.","SUBTITLES_DELAY":"تاخیر زیرنویس:","SUBTITLES_LOADING":"در حال بارگیری زیرنویس...","SUBTITLES_UNAVAILABLE":"زیرنویس خارجی موجود نیست","SUBTITLES_DISABLED":"غیر فعال","EXTERNAL_PLAYER_DISABLED":"غیر فعال","EXTERNAL_PLAYER_ALLOW_CHOOSING":"اجازه انتخاب","EXTERNAL_PLAYER_HINT":"نکته: تنظیمی وجود دارد که اجازه می دهد همیشه با پخش کننده خارجی باز شود","DONT_SHOW_AGAIN":"دیگر نشان نده","SERVICE_INSTALL":"نصب","AUDIO":"صوتی","DEFAULT_LANGUAGE":"زبان پیش فرض","DEFAULT_SECONDARY_LANGUAGE":"زبان ثانویه پیش فرض","SEASON":"فصل","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"قسمت","EPISODE_ABBREVIATION":"EP","SPECIAL":"ویژه","SORT":"مرتب کردن","SORT_BY":"مرتب سازی بر اساس","FILTER":"فیلتر","SORT_TRENDING":"روند","SORT_RECENT":"اخیر","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"امتیاز","SORT_WATCHED":"تماشا شده","SORT_YEAR":"سال","SELECT":"Select","SELECT_TYPE":"انتخاب نوع","SELECT_SORT":"انتخاب مرتب سازی","SELECT_CATALOG":"انتخاب کاتالوگ","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"انتخاب ژانر","SORT_LASTWATCHED":"آخرین تماشا","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"بیشترین تماشا شده","SORT_NOTWATCHED":"تماشا نشده","New for You":"جدید برای شما","New Episodes":"قسمت های جدید","New Videos":"ویدیوهای جدید","Recommendations":"توصیه ها","LIBRARY_RESUME":"از سرگیری","LIBRARY_PLAY":"پخش","LIBRARY_DETAILS":"جزئیات","LIBRARY_RESUME_DISMISS":"رد کردن","LIBRARY_CLEAR_PROGRESS":"پاک کردن پیشرفت","LIBRARY_REMOVE":"حذف","LIBRARY_NOT_LOGGED_IN":"کتابخانه فقط برای کاربران وارد شده در دسترس است","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"تقویم فقط برای کاربرانی که وارد سیستم شده اند در دسترس است","NOT_LOGGED_IN_CLOUD":"در هر زمان و هر مکان به فیلم ها و برنامه های تلویزیونی مورد علاقه خود دسترسی داشته باشید","NOT_LOGGED_IN_RECOMMENDATIONS":"توصیه هایی متناسب با سابقه مشاهده شما","NOT_LOGGED_IN_NOTIFICATIONS":"هرگز یک قسمت را دوباره از دست ندهید","NOT_LOGGED_IN_CALENDAR":"تقویم تماشای شخصی خود را برنامه ریزی کنید","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"برجسته","DISCOVER_TOP":"بالا","DISCOVER_OSCAR":"برندگان اسکار","DISCOVER_WARNING_TITLE":"اوه!","DISCOVER_EMPTY_CATALOG":"این افزونه محتوای خالی را برگرداند.","DISCOVER_ADULT_WARNING":"محتوا فقط برای بزرگسالان قابل مشاهده است. 18+ هستی؟","DISCOVER_NOADDON_WARNING":"هشدار: هیچ افزونه Stremio برای این نوع فعال نیست. نمایش موارد ذخیره شده، هیچ چیزی در اینجا به روز نمی شود.","DISCOVER_LOAD_ERR":"محتوا بارگیری نشد، خطایی رخ داد.","DISCOVER_ADDON_UNINSTALLED":"این محتوا دیگر در دسترس نیست، ممکن است افزونه را حذف نصب کرده باشید.","UNINSTALL_THIS_ADDON":"حذف کردن این افزونه","ERR_ADDON_NOT_INSTALLED":"این افزونه نصب نشده است. اکنون نصب شود؟","DETAIL_RECEIVE_NOTIF_SERIES":"دریافت اطلاعیه برای قسمت های جدید","DETAIL_RECEIVE_NOTIF_VIDEOS":"دریافت اعلان برای ویدیوهای جدید","SIDEBAR_SHOW_STREAMS":"نمایش استریم‌ها","RELAUNCH":"اکنون دوباره راه اندازی کنید!","UPGRADE":"نسخه جدید موجود است! به آخرین نسخه Stremio ارتقا دهید","RELOAD_UI":"بارگذاری دوباره رابط کاربری","MANUAL_UPDATE_TITLE":"نسخه Stremio خود را به روز کنید","MANUAL_UPDATE_LINE1":"شما یک نسخه قدیمی از Stremio را اجرا می کنید که بسیار توصیه نمی شود.","MANUAL_UPDATE_LINE2":"لطفا در اسرع وقت به روز رسانی کنید.","BUTTON_UPDATE_LATTER":"الان نه","BUTTON_UPDATE_NOW":"به روز رسانی","UPDATER_TITLE":"نسخه جدیدی از Stremio در دسترس است","UPDATER_INSTALL_BUTTON":"اکنون نصب کنید","ANONYMOUS_USER":"کاربر ناشناس","DONT_HAVE_ACC":"حساب کاربری ندارید؟","HAVE_ACC":"از قبل حساب کاربری دارید؟","PASSWORD":"رمز عبور","PASSWORD_CONFIRM":"تأیید رمز عبور","EMAIL":"ایمیل","FB_LOGIN":"با فیس بوک ادامه دهید","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"هیچ چیزی بدون اجازه شما به اشتراک گذاشته نمی شود","FB_NOPOST":"ما چیزی از طرف شما پست نمی کنیم","OR":"یا","I_ACCEPT":"من قبول دارم","I_ACCEPT_BY_CLICKING":"با کلیک بر روی دکمه بالا شهادت می دهم که این را قبول دارم ","TOS":"شرایط و ضوابط","MUST_ACCEPT_TERMS":"شما باید شرایط را بپذیرید","PASSWORDS_NOMATCH":"گذرواژه ها مطابقت ندارند","SIGN_UP":"ثبت نام","SIGN_UP_EMAIL":"ثبت نام با ایمیل","CLICK_TO_SIGN_UP":"برای ثبت نام اینجا را کلیک کنید.","LOG_IN":"وارد شوید","LOG_OUT":"خروج از سیستم","EXIT_FULLSCREEN":"خروج از حالت تمام صفحه","ENTER_FULLSCREEN":"ورود به حالت تمام صفحه","PLAY_URL_MAGNET_LINK":"پخش کردن لینک URL/Magnet","HELP_FEEDBACK":"راهنما و بازخورد","TERMS_OF_SERVICE":"شرایط خدمات","PRIVACY_POLICY":"سیاست حفظ حریم خصوصی","ABOUT_STREMIO":"درباره Stremio","USER_PANEL":"پنل کاربری","LOGIN_LABEL":"ورود","GUEST_LOGIN":"ورود مهمان","GUEST_LOGIN_NOTICE":"ورود با حساب مهمان توصیه نمی‌شود. استفاده از ورود معمولی به Stremio این امکان را می‌دهد که کتابخانه شما را همگام‌سازی کند و اعلان‌ها برای سریال‌ها/کانال‌های مورد علاقه‌تان دریافت شود. آیا مطمئن هستید که می‌خواهید ادامه دهید؟","GUEST_LOGIN_NOTICE_2":"ورود با حساب مهمان توصیه نمی‌شود - شما کتابخانه همگام‌سازی‌شده و اعلان‌های بورد، که از ویژگی‌های حیاتی Stremio هستند، را نخواهید داشت. آیا مطمئن هستید که می‌خواهید ادامه دهید؟","CLICK_HERE":"اینجا کلیک کنید","WRONG_PASSWORD":"ایمیل یا رمز عبور اشتباه است. در صورتی که رمز عبور خود را فراموش کرده اید، ","SET_A_PASS":"تنظیم رمز عبور","RESET_PASSWORD":"بازنشانی رمز عبور","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"رمز عبور را فراموش کرده اید؟","EMAIL_USED_WITH_FB":"این ایمیل با ورود به سیستم فیس بوک استفاده شده است.","INVALID_EMAIL":"لطفا یک آدرس ایمیل معتبر وارد کنید","INVALID_PASSWORD":"لطفا یک رمز عبور معتبر وارد کنید","CONN_ERR":"خطای اتصال - لطفاً بعداً دوباره امتحان کنید.\\n\\nاگر این مشکل ادامه داشت، فایروال ها/نرم افزارهای آنتی ویروس (مخصوصا Bitdefender) را غیرفعال کنید.","IMPORT_FROM_GUEST":"کتابخانه را از حساب مهمان خود وارد کنید","RECEIVE_UPDATES_EMAIL":"به روزرسانی های Stremio را در ایمیل خود دریافت کنید","LOGIN_FAILED":"ورود ناموفق بود.","SIGNUP_FAILED":"ثبت نام انجام نشد.","SEARCH_FAILED":"جستجو ناموفق بود","EMAIL_USED":"این ایمیل از قبل در حال استفاده است.","WAITING_FB_LOGIN":"ورود با فیس بوک...","EXTERNAL_OPENING_YOUTUBE":"شما Stremio را ترک می کنید و YouTube را باز می کنید. مطمئنی?","EXTERNAL_OPENING_APP":"شما Stremio را ترک می کنید تا برنامه دیگری را باز کنید. مطمئنی?","EXTERNAL_PLAYER_TITLE":"پخش در پخش کننده خارجی","EXTERNAL_REMEMBER_PLAYER":"آیا می خواهید انتخاب خود را به خاطر بسپارید","EXTERNAL_ALWAYS_PLAY":"بله","EXTERNAL_ONLY_ONCE":"خیر","BEST_FIT":"بهترین تناسب","FIT_SCREEN":"متناسب با صفحه نمایش","FILL":"کامل","16:9":"16:9","4:3":"4:3","Original":"اصل","INTRO_TASTE":"در مورد آنچه دوست دارید به ما بگویید","INTRO_TASTE_LONG":"درباره آنچه می خواهید تماشا کنید به ما بگویید","INTRO_TASTE_PICK":"علایق {{interestsRemaining}} را انتخاب کنید","INTRO_TASTE_PICK_MORE":"{{interestsRemaining}} علایق بیشتر را انتخاب کنید","INTRO_TASTE_HELP_US":"به ما کمک کنید در مورد شما بیشتر بدانیم.","INTRO_TASTE_CHOOSE_THESE":"برخی از این موارد را انتخاب کنید:","INTRO_TASTE_CHOOSE_MIN":"حداقل 3 دسته را انتخاب کنید","INTRO_TASTE_CHOOSE_MIN_ERR":"شما باید حداقل 3 دسته را انتخاب کنید!","INTRO_TASTE_LIFESTYLE":"سبک زندگی","INTRO_TASTE_SPORTS":"ورزش","INTRO_TASTE_FOOD_HEALTH":"غذا و سلامت","INTRO_TASTE_BEAUTY_FASHION":"زیبایی و مد","INTRO_TASTE_NEWS":"اخبار","INTRO_TASTE_GAMING":"بازی","INTRO_TASTE_SCIENCE_EDU":"علم و آموزش","INTRO_TASTE_MUSIC":"موسیقی","INTRO_TASTE_TRAVEL":"سفر","INTRO_TASTE_LATE_NIGHT":"نمایش آخر شب","INTRO_TASTE_REALITY":"واقعیت","INTRO_TASTE_COMEDY":"کمدی","INTRO_TASTE_DIY":"چگونه DIY کنیم","INTRO_TASTE_TECH":"فنی","INTRO_TASTE_CINEMA":"سینما","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"افزونه انتخاب شده در این پلتفرم پشتیبانی نمی شود.","ADDON_DISCLAIMER":"استفاده از افزونه های شخص ثالث همیشه مشمول مسئولیت شما و قانون حاکم بر حوزه قضایی است که در آن قرار دارید.","ADDON_ACTIVATE":"این افزونه فعال شود؟","ADDON_REPO_ADD":"URL مجموعه افزونه","ADDON_ADD":"افزودن","INSTALL_ADDON":"نصب افزونه","ADD_ADDON":"افزودن افزونه","ADD_ADDON_DESCRIPTION":"می‌توانید افزونه‌ای را از طریق پیوند خارجی اضافه کنید، که در قسمت افزونه‌های نصب‌شده ظاهر می‌شود.","PASTE_ADDON_URL":"URL افزونه را جایگذاری کنید","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"چه چیز جدید است","BUTTON_CONTINUE":"ادامه","BUTTON_ACTIVATE":"فعال کردن","BUTTON_ACTIVATED":"فعال شد","BUTTON_CANCEL":"لغو","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"ارسال","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"رد کردن همه","BUTTON_VIEW_ALL":"مشاهده همه","BUTTON_SEE_ALL":"مشاهده همه","BUTTON_COLOR_TRANSPARENT":"شفاف","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"باز کردن در مرورگر","LIB_EMPTY":"کتابخانه شما خالی به نظر می رسد. ببینید چقدر مفید است :) ","HOW_START":"در اینجا نحوه شروع آمده است:","LIB_EMPTY_CAL":"تقویم شما سریال‌هایی را در کتابخانه شما نشان می‌دهد.","HOW_START_CAL":"در اینجا نحوه اضافه کردن سریال‌ها آمده است:","LIB_EMPTY_BOARD":"تابلو، اعلان ها و توصیه های مربوط به کتابخانه شما را نشان می دهد.","HOW_START_BOARD_WAIT":"لطفاً چند سریال یا کانال را به کتابخانه خود اضافه کنید، چند دقیقه به ما فرصت دهید تا پردازش کنیم :)","HOW_START_BOARD":"در اینجا نحوه اضافه کردن سریال‌ها و فیلم‌ها به آن آمده است:","IMPORT_FB":"چیزهایی را که دوست دارید از <span>فیس بوک</span> وارد کنید","IMPORT_TRAKT":"کتابخانه رسانه خود را از <span>Trakt</span> وارد کنید","IMPORT_DISCOVER":"مطالب جالب را از <span>Discover</span> بیابید","IMPORT_DISK":"فیلم ها یا نمایش هایی را که روی <span>دیسک محلی</span> خود دارید وارد کنید","PLEASE_CREATE_ACC":"لطفا <u>یک حساب کاربری</u> برای فعال کردن همگام سازی کتابخانه و تابلو ایجاد کنید.","IMPORT_DISCOVER_SIGNUP":"ثبت نام کنید و مطالب جالب را از <span>Discover</span> بیابید","IMPORT_DISK_SIGNUP":"ثبت نام کنید و فیلم ها یا نمایش هایی را که روی <span>دیسک محلی</span> خود دارید وارد کنید","LIB_EMPTY_CLOUD":"کتابخانه ابری","LIB_EMPTY_CLOUD_DESC":"کتابخانه ابری شخصی در همه دستگاه‌ها همگام‌سازی شده است","LIB_EMPTY_EARLY":"پرنده زودرس","LIB_EMPTY_EARLY_DESC":"دریافت اطلاعیه برای قسمت های جدید","LIB_EMPTY_PERSONAL":"شخصی","LIB_EMPTY_PERSONAL_DESC":"دریافت توصیه های شخصی","LIB_EMPTY_CALENDAR_DESC":"تقویم تماشای شخصی خود را برنامه ریزی کنید","LIB_EMPTY_ALL":"برای دریافت همه این موارد ثبت نام کنید:","LIB_EMPTY_BEST":"ثبت نام کنید تا بهترین ها را از Stremio دریافت کنید","LIB_EMPTY_OTHER":"ثبت نام کنید تا تقویم و سایر ویژگی های جالب را فعال کنید","CALENDAR_ADDED":"تقویم Stremio به تقویم رومیزی پیش فرض شما اضافه شده است.","CALENDAR_ADDED_MSG":"اگر این کار نمی کند، لطفاً این URL را به صورت دستی به برنامه تقویم خود اضافه کنید","TRAKT_EXPIRED":"تایید اعتبار Trakt منقضی شده است، لطفا به تنظیمات بروید و دوباره تایید اعتبار کنید","TRAKT_REQUIRES_LOGIN":"خطای Trakt","TRAKT_REQUIRES_LOGIN_MSG":"شما باید وارد شوید","TRAKT_IMPORT_WATCHED":"وارد کردن","THEME":"تم","THEME_DEFAULT":"پیش فرض","THEME_ADAPTIVE":"تطبیقی","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"تنظیمات","SETTINGS_NAV_GENERAL":"عمومی","SETTINGS_NAV_PLAYER":"پخش کننده","SETTINGS_NAV_STREAMING":"استریم کردن","SETTINGS_NAV_SHORTCUTS":"میانبرها","SETTINGS_SHORTCUT_RELOAD_APP":"بارگیری مجدد برنامه","SETTINGS_SHORTCUT_OPEN_SETTINGS":"باز کردن تنظیمات","SETTINGS_SHORTCUT_SWITCH_TABS":"تغییر زبانه ها","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"جابجایی به جلو بین تب‌ها.","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"جابجایی به عقب بین تب ها","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"حرکت بین منوها","SETTINGS_SHORTCUT_GO_TO_SEARCH":"رفتن به جستجو","SETTINGS_SHORTCUT_EXIT_BACK":"خروج/برگشت","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"تغییر منوی سرعت پخش","SETTINGS_SHORTCUT_MENU_VIDEOS":"تغییر وضعیت منوی فیلم ها","SETTINGS_SHORTCUT_MENU_SUBTITLES":"تغییر وضعیت منوی زیرنویس ها","SETTINGS_SHORTCUT_MENU_AUDIO":"تغییر منو صدا","SETTINGS_SHORTCUT_MENU_INFO":"تغییر وضعیت منوی اطلاعات","SETTINGS_SHORTCUT_FULLSCREEN":"تغییر حالت تمام صفحه","SETTINGS_SHORTCUT_SHOW_CONTROLS":"نمایش کنترل ها","SETTINGS_SHORTCUT_PLAY_PAUSE":"پخش / توقف","SETTINGS_SHORTCUT_VOLUME_UP":"افزایش صدا","SETTINGS_SHORTCUT_VOLUME_DOWN":"کاهش صدا","SETTINGS_SHORTCUT_SEEK_NEXT":"جابجایی به بعدی","SETTINGS_SHORTCUT_SEEK_PREV":"جابجایی به قبلی","SETTINGS_SHORTCUT_SEEK_BACKWARD":"جابجایی به عقب","SETTINGS_SHORTCUT_SEEK_FORWARD":"جابجایی به جلو","SETTINGS_SHORTCUT_PLAY_NEXT":"پخش بعدی","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"افزایش سایز زیرنویس","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"کاهش اندازه زیرنویس","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"افزایش تاخیر زیرنویس","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"کاهش تاخیر زیرنویس","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"کلید نوار کناری","SETTINGS_SHORTCUT_OR":"یا","SETTINGS_SHORTCUT_TO":"به","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"فاصله","SETTINGS_SHORTCUT_SHIFT":"شیفت","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"تأیید اعتبار","SETTINGS_FACEBOOK_IMPORT":"وارد کردن","SETTINGS_CALENDAR_SUBSCRIBE":"اشتراک","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"برنامه تقویم باز شد. لطفاً به صورت دستی در تقویم مشترک شوید.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"فایل تقویم بارگیری شد. لطفاً آن را به برنامه تقویم خود وارد کنید.","SETTINGS_INTERFACE_LANGUAGE":"زبان رابط","SETTINGS_LAUNCH_STARTUP":"راه اندازی در هنگام شروع به کار","SETTINGS_VLC_DEFAULT":"پخش با VLC","SETTINGS_UI_LANGUAGE":"زبان رابط کاربری","SETTINGS_UI_ZOOM":"بزرگنمایی رابط","SETTINGS_FULLSCREEN_EXIT":"خروج از تمام صفحه با کلید Escape","SETTINGS_GAMEPAD":"فعالسازی پشتیبانی از گیم پد","SETTINGS_CLOSE_WINDOW":"وقتی پنجره بسته شد برنامه هم بسته شود","SETTINGS_SUBTITLES_LANGUAGE":"زبان پیش‌فرض زیرنویس","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"زبان زیرنویس ثانویه","SETTINGS_SUBTITLES_SIZE":"اندازه پیش‌فرض زیرنویس","SETTINGS_SUBTITLES_BACKGROUND":"پس زمینه زیرنویس","SETTINGS_SUBTITLES_COLOR":"رنگ زیرنویس","SETTINGS_SUBTITLES_COLOR_OUTLINE":"رنگ حاشيه زیرنویس","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"رنگ پس زمینه زیرنویس","SETTINGS_SEEK_KEY":"زمان جابجایی کلیدهای جهت دار","SETTINGS_SEEK_KEY_SHIFT":"هنگامی که کلید Shift نگه داشته شده است، کلیدهای جهت دار زمان را جابه‌جا می کنند","SETTINGS_REWIND_FAST_FORWARD_DURATION":"مدت زمان عقب و جلو بردن سریع","SETTINGS_BINGE":"پخش خودکار قسمت بعدی","SETTINGS_NEXT_VIDEO":"نمایش اعلان برای شروع قسمت بعدی","SETTINGS_NEXT_VIDEO_TRIGGER":"نمایش اعلان قسمت بعدی برای:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"مدت زمان نمایش پنجره ویدیوی بعدی","SETTINGS_PLAY_IN_BACKGROUND":"پخش در پس زمینه","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"پخش در پخش کننده خارجی","SETTINGS_RESIZE":"تغییر اندازه خودکار پنجره قبل از پخش","SETTINGS_OVERRIDE_SERVER":"نادیده گرفتن URL سرور استریم(پیشرفته)","SETTINGS_SERVER_ADD_URL":"افزودن URL","SETTINGS_SERVER_URL":"URL سرور استریم: ","SETTINGS_SERVER_AVAILABLE":"سرور استریم در دسترس است.","SETTINGS_SERVER_UNAVAILABLE":"سرور استریم در دسترس نیست.","SETTINGS_SERVER_STATUS_ONLINE":"آنلاین","SETTINGS_SERVER_STATUS_ERROR":"خطا","SETTINGS_SERVER_CONFIGURE_TITLE":"پیکربندی آدرس سرور استریم","SETTINGS_SERVER_CONFIGURE_INPUT":"وارد کردن URL سرور استریم","SETTINGS_SERVER_CACHE_SIZE":"اندازه کش","SETTINGS_SERVER_TORRENT_PROFILE":"پروفایل تورنت","SETTINGS_HTTPS_ENDPOINT":"نقطه پایانی استریم HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"پروفایل رمزگذاری","SETTINGS_USE_BETA":"همیشه از آخرین نسخه بتا استفاده کنید","SETTINGS_IMPORT_FB":"وارد کردن از فیس بوک","SETTINGS_IMPORT_DISK":"وارد کردن از دیسک محلی","SETTINGS_IMPORT_TRAKT":"واردا کردن از Trakt","SETTINGS_PAUSE_MINIMIZED":"توقف پخش هنگام کوچک کردن","SETTINGS_HWDEC":"رمزگشایی با شتاب سخت افزاری","SETTINGS_BACKGROUND":"پخش در پس زمینه","SETTINGS_SUBSCRIBE_CALENDAR":"مشترک شدن در تقویم","SETTINGS_REQ_EXPORT":"درخواست صادر کردن داده‌ها","SETTINGS_ACC_DELETE":"درخواست حذف اکانت","SETTINGS_CHANGE_PASSWORD":"تغییر رمز عبور","SETTINGS_TOS":"شرایط استفاده از خدمات","SETTINGS_SUPPORT":"با پشتیبانی تماس بگیرید","SETTING_LANGUAGE":"زبان","SETTINGS_BLUR_UNWATCHED_IMAGE":"تار کردن تصویر قسمت‌های دیده نشده","SETTINGS_QUIT_ON_CLOSE":"خروج پس از بستن","SETTINGS_TRAKT":"ثبت و پیگیری Trakt","SETTINGS_TRAKT_RE_AUTH":"تأیید مجدد","SETTINGS_TRAKT_LOGOUT":"خروج از Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"خروج از Trakt","SETTINGS_SCAN_FOR_REMOTE":"برای باز کردن ریموت، کد QR را اسکن کنید","SETTINGS_DESKTOP_NOTIFICATIONS":"اعلان های دسکتاپ","SETTINGS_DATA_SAVER":"ذخیره کننده داده","SETTINGS_LANGUAGE_INTERFACE":"رابط","SETTINGS_LANGUAGE_SUBS":"زیرنویس پیش فرض","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"انتخاب خودکار آهنگ صوتی","SETTINGS_DEFAULT_AUDIO_TRACK":"صدای پیش فرض صوتی","SETTINGS_SECONDARY_AUDIO_TRACK":"صدای صوتی دوم","SETTINGS_SURROUND_SOUND":"صدای فراگیر","SETTINGS_ACCOUNT":"حساب کاربری","SETTINGS_PLATFORM":"پلت فرم","SETTINGS_VERSION":"نسخه","SETTINGS_ABOUT":"درباره","SETTINGS_MPV_WINDOW":"باز کردن پخش کننده در یک پنجره جداگانه (پیشرفته)","SETTINGS_PLAY_IN_EXTERNAL":"همیشه ویدیو را در پخش کننده خارجی شروع کنید","SETTINGS_STORAGE_BUTTON":"پاکسازی ذخیره سازی محلی","SETTINGS_STORAGE_MODAL_TITLE":"مطمئن هستید؟","SETTINGS_STORAGE_MODAL_MESSAGE":"با این کار فضای ذخیره‌سازی محلی پاک می‌شود و شما از سیستم خارج می‌شوید.","SETTINGS_HWDEC_PICKER":"تنظیم رمزگشایی با شتاب سخت افزاری را انتخاب کنید","SETTINGS_HW_AUTOMATIC":"خودکار","SETTINGS_HW_DISABLED":"غیر فعال","SETTINGS_HW_ACCELERATED":"شتاب دهنده رمزگشایی","SETTINGS_HW_FULL":"شتاب کامل","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"غیر فعال","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"اعلان اتصال به شبکه","SETTINGS_ANALYTICS":"اجازه تجزیه و تحلیل","SETTINGS_REMOTE_URL":"URL از راه دور","SETTINGS_COPY_REMOTE_URL":"کپی کردن URL راه دور","SETTINGS_REMOTE_URL_COPIED":"URL راه دور در کلیپ بورد شما کپی شده است","SETTINGS_SECTION_SUBTITLES":"زیرنویس","SETTINGS_SECTION_AUDIO":"صوت","SETTINGS_SECTION_CONTROLS":"کنترل ها","SETTINGS_SECTION_AUTO_PLAY":"پخش خودکار","SETTINGS_SECTION_ADVANCED":"پیشرفته","SUBSPICKER_AUDIO":"صوت","SUBSPICKER_SUBTITLES":"افزونه های زیرنویس","SUBSPICKER_BLACK_BACKGROUND":"استفاده از رنگ پس‌زمینه سیاه","SUBSPICKER_VERTICAL_OFFSET":"افست عمودی","SUBSPICKER_SIZE":"اندازه","SUBSPICKER_DELAY":"تاخیر","SUBSPICKER_EMBEDDED_SUBS":"زیرنویس های تعبیه شده","MOBILE_PRIVACY_POLICY":"سیاست حفظ حریم خصوصی","MOBILE_CRASH_REPORTING":"گزارش خرابی","MOBILE_ZOOM_TO_FILL":"بزرگنمایی برای پر کردن صفحه","MOBILE_PASSTHROUGH":"خروجی صدای دیجیتال (عبور)","MOBILE_RUN_LOW_BATTERY":"اجرا هنگام پایین بودن باتری","MOBILE_RUN_FOREGROUND":"اجرا به عنوان سرویس پس زمینه","MOBILE_PERFORMANCE":"عملکرد و ثبات","MOBILE_SERVER_ONLINE":"آنلاین","MOBILE_SERVER_OFFLINE":"آفلاین","MOBILE_QR_EXPIRES":"کد QR در منقضی می شود ","MOBILE_LOG_INTO":"وارد حساب Stremio خود شوید ","MOBILE_SCAN_QR":"کد QR بالا را اسکن کنید یا به آن بروید ","MOBILE_LINK_ACCOUNT":"پیوند حساب","MOBILE_SPEEDPICKER_CANCEL":"لغو","MOBILE_SPEEDPICKER_LABEL":"انتخاب سرعت پخش","MOBILE_EMPTY_LIBRARY":"کتابخانه شما خالی است","MOBILE_NO_ADDON_ACTIVE":"هیچ افزونه Stremio برای این نوع فعال نیست.","MOBILE_ORGANIZER_WARNING":"برنامه Stremio Organizer عملکرد محدودی را ارائه می دهد. برای لیستی از جریان های قابل پخش و تجربه کامل Stremio، از Stremio در دسکتاپ استفاده کنید.","MOBILE_ADDON_LOADING":"هنوز در حال بارگذاری است","MOBILE_ADDONS_LOADING":"افزونه ها هنوز در حال بارگیری هستند","MOBILE_ADDON":"افزونه","MOBILE_CONFIGURE_ADDON":"افزونه خود را پیکربندی کنید","MOBILE_CONFIGURE_ADDON_LABEL":"پیکربندی افزونه","MOBILE_ORGANIZER_ADDONS_WARNING":"برنامه Stremio Organizer مجموعه محدودی از افزونه ها را ارائه می دهد. برای تجربه کامل Stremio، از Stremio در دسکتاپ استفاده کنید.","MOBILE_DISCONNECT":"قطع","MOBILE_LOOKING_FOR_DEVICES":"در جستجوی دستگاه‌ها...","MOBILE_CAST_TO":"فرستادن به","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"حذف اکانت","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"حذف حساب به دلیل تعهدات قانونی فوری نیست. پس از درخواست حذف حساب خود، باید از آدرس ایمیل/نمایه فیس بوک متفاوتی برای ایجاد یک حساب کاربری جدید در آینده استفاده کنید.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"حذف اکانت را تایید کنید","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"حساب کاربری شما با استفاده از فیس بوک ایجاد شده است. برای حذف حساب کاربری خود، لطفا از پورتال کاربری ما در www.stremio.com/login استفاده کنید","MOBILE_DELETE_ACCOUNT_MESSAGE":"لطفاً رمز عبور خود را برای تأیید حذف حساب وارد کنید.","MOBILE_DELETE_ACCOUNT_BUTTON":"حذف اکانت","NAVIGATION_ON":"روشن","NAVIGATION_OFF":"خاموش","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"من موافقت می کنم که ارتباطات بازاریابی را از Stremio دریافت کنم","QUIT":"خروج","CONNECTED":"متصل شده","AUTHENTICATE":"تأیید اعتبار","AUTHENTICATING":"Authenticating...","CACHING":"ذخیره سازی","SETTINGS_CACHING_DRIVE":"درایو حافظه پنهان","ENABLE_LOCAL_FILES_ADDON":"افزونه فایل های محلی را فعال کنید (نیاز به راه اندازی مجدد دارد)","LOCAL_ADDON_NOT_ENABLED":"افزونه محلی فعال نیست. اینجا را کلیک کنید تا به تنظیمات بروید و آن را فعال کنید","ENABLE_REMOTE_HTTPS_CONN":"اتصالات HTTPS راه دور را فعال کنید","TORRENT_PROFILE":"نمایه تورنت","DATA_CACHING":"کش داده ها","MAGNET_PARSING":"تجزیه یک پیوند مگنت","January":"ژانویه","February":"فوریه","March":"مارس","April":"آوریل","May":"می","June":"ژوئن","July":"جولای","August":"آگوست","September":"سپتامبر","October":"اکتبر","November":"نوامبر","December":"دسامبر","Monday":"دوشنبه","Tuesday":"سه شنبه","Wednesday":"چهارشنبه","Thursday":"پنج شنبه","Friday":"جمعه","Saturday":"شنبه","Sunday":"یکشنبه","Action":"اکشن","Comedy":"کمدی","War":"جنگ","Family":"خانواده","Animation":"انیمیشن","Adventure":"ماجراجویی","Fantasy":"فانتزی","Crime":"جنایی","Mystery":"رمز و راز","Romance":"عاشقانه","Drama":"درام","Horror":"وحشت","Thriller":"هیجان انگیز","Sci-Fi":"علمی تخیلی","Music":"موسیقی","Biography":"بیوگرافی","Documentary":"مستند","Sport":"ورزش","Musical":"موزیکال","Western":"غربی","Film-Noir":"فیلم نوآر","News":"اخبار","History":"تاریخ","Game-Show":"بازی-نمایش","Reality-TV":"رئالیتی شو","Talk-Show":"تاک شو","Film & Entertainment":"فیلم و سرگرمی","Gaming":"بازی","From TV":"از تلویزیون","Lifestyle":"سبک زندگی","Science & Education":"علم و آموزش","Cooking & Health":"آشپزی و سلامتی","Beauty & Fashion":"زیبایی و مد","Sports":"ورزش","News & Politics":"اخبار و سیاست","How-to & DIY":"چگونه و DIY","Tech":"تکنولوژی","Automotive":"خودرو","Causes & Non-Profits":"علل و سازمان های غیرانتفاعی","Movies":"فیلم ها","Uk Live Tv":"تلویزیون زنده انگلستان","Fashion":"مد","Business News Radio":"رادیو اخبار کسب و کار","Business Tv":"تلویزیون تجاری","Cars & Auto":"ماشین و خودرو","Comedy Radio":"رادیو کمدی","Lifestyle Radio":"رادیو سبک زندگی","News Tv":"اخبار تلویزیون","Food And Wine":"غذا و شراب","Latino Tv":"تلویزیون لاتین","Shopping Tv":"تلویزیون خرید","Religion":"مذهبی","Kids":"کودکان","Body & Soul":"بدن و روح","Education":"آموزش","Indian Tv":"تلویزیون هند","Extreme Sports":"ورزش‌های سخت","Middle Eastern Tv":"تلویزیون خاورمیانه","Celebrity Tv":"تلویزیون سلبریتی","Science Tv":"تلویزیون علمی","Bikini babe":"بیکینی","Outdoors":"در فضای باز","German Tv":"تلویزیون آلمان","French Tv":"تلویزیون فرانسه","Italian Tv":"تلویزیون ایتالیایی","Gamer Tv":"تلویزیون گیمر","Travel":"سفر","Asian Tv":"تلویزیون آسیایی","Entertainment":"سرگرمی","News Radio":"رادیو خبری","Music Radio":"رادیو موسیقی","Language Learning":"یادگیری زبان","Science Radio":"رادیو علم","Tech Radio":"رادیو فناوری","Science & Technology Vod":"علم و فناوری Vod","new video":"ویدیوی جدید","new episode":"قسمت جدید","new movie":"فیلم جدید","recommended":"توصیه شده","we recommend":"توصیه می کنیم","offer of the day":"پیشنهاد روز","news":"اخبار","music video":"موزیک ویدیو","CTX_SHOW_HOTKEYS":"نمایش کلیدهای میانبر","CTX_DISMISS_NOTIF":"رد اعلان‌ها","CTX_DISMISS_ALL":"همه را رد کنید","CTX_SHARE":"اشتراک گذاری","CTX_COPY_SHARE_LINK":"کپی کردن لینک اشتراک گذاری","CTX_COPY_MAGNET_LINK":"کپی کردن لینک مگنت","CTX_COPY_STREAM_LINK":"کپی کردن لینک استریم","CTX_COPY_VIDEO_DOWNLOAD_LINK":"کپی کردن لینک دانلود","CTX_DOWNLOAD_VIDEO":"دانلود این ویدیو","CTX_DOWNLOAD_SUBS":"دانلود زیرنویس","CTX_VIEW_ON_YOUTUBE":"مشاهده در یوتیوب","CTX_SHOW":"نمایش","CTX_PLAY":"پخش","CTX_PLAY_IN":"پخش در","CTX_PLAY_ON":"پخش در","CTX_WATCH_ON":"تماشا در","CTX_WATCH":"تماشا","CTX_WATCHED":"تماشا شده","CTX_WATCH_BEGINNING":"از ابتدا تماشا کنید","CTX_WATCH_MOBILE":"در دستگاه تلفن همراه تماشا کنید","CTX_REWIND":"به ابتدا برگردید","CTX_MARK_WATCHED":"علامت گذاری به عنوان تماشا شده","CTX_MARK_NON_WATCHED":"علامت گذاری به عنوان تماشا نشده","CTX_MARK_UNWATCHED":"علامت گذاری به عنوان تماشا نشده","CTX_MARK_REST":"علامت گذاری همه به عنوان دیده شده","CTX_UNMARK_REST":"علامت گذاری همه به عنوان دیده نشده","CTX_RECEIVE_NEW_NOTIF":"دریافت اعلان های جدید","CTX_ENABLE_NEW_NOTIF":"فعال کردن اعلان ها","CTX_DISABLE_NEW_NOTIF":"غیرفعال کردن اعلان ها","CTX_REMOVE_CACHE":"حذف از حافظه پنهان","CTX_REMOVE_CACHE_EP":"حذف قسمت از حافظه پنهان","CTX_OPEN_CONTAINING":"پوشه محتوا را باز کنید","CTX_REMOVE":"حذف از کتابخانه","CTX_AVAILABLE_OFFLINE":"آفلاین موجود است","CTX_PAUSED":"متوقف شده","CTX_ALWAYS_ON_TOP":"همیشه در بالا","CTX_FULLSCREEN":"تمام صفحه","CTX_WRONG_SUBS":"زیرنویس اشتباهه؟","CTX_REPORT_ISSUES":"گزارش مشکل","CTX_COPY":"کپی","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"چسباندن","CTX_CLEAR":"پاک کردن","CTX_CLEAR_RECENT_SEARCHES":"پاک کردن جستجوهای اخیر","HELLO_THERE":"سلام به همه","HOPE_YOU_ENJOY":"امیدواریم از Stremio لذت ببرید و در حال حاضر یکی از برنامه های مورد علاقه شما باشد!","WHO_ARE_WE":"ما کی هستیم؟ ما تیم پشت آن هستیم - دو نفر که در 3 سال گذشته هر روز سخت کار می کنند تا این محصول را بهتر و بهتر کنند.","SUPPORT_US":"اگر از استفاده از Stremio لذت می برید، اگر Stremio برای شما ارزشمند است - این را پخش کنید!","SPREAD_THE_WORD":"اکنون با دوستان خود به اشتراک بگذارید، در مورد Stremio صحبت کنید","MORE_PEOPLE":"هرچه افراد بیشتری از Stremio استفاده کنند، بهتر خواهد شد!","SEND_A_LINK":"یا یک لینک به وب سایت ما ارسال کنید","TIP_LOCALFILES":"نکته: می‌توانید فایل‌های ویدیویی محلی را به Stremio بکشید و رها کنید","ADDON_MY":"افزونه های من","ADDON_COMMUNITY":"افزونه های انجمن","ADDON_OFFICIAL":"افزونه های رسمی","ADDON_REPOS":"مجموعه های افزونه","ADDON_SEARCH":"جست‌وجو افزونه ها","ADDON_INSTALL":"نصب","ADDON_CONFIGURE":"پیکربندی","ADDON_UNINSTALL":"حذف","ADDON_UPGRADE":"ارتقاء","ADDON_INSTALLED":"نصب شده است","ADDON_INSTALLED_MSG":"افزونه نصب شد!","ADDON_UPGRADED_MSG":"افزونه ارتقا یافت!","ADDON_UNKNOWN":"ناشناخته","ADDON_ERR":"خطای نصب افزونه!","ADDON_DISCONNECTED":"قطع شده است","ADDON_APP_MISSING":"برنامه این منبع نصب نشده است. آیا می خواهید اکنون آن را نصب کنید؟","ADDON_APP_INSTALL":"اکنون نصب کنید","ADDON_PAGE":"صفحه افزونه","ADDON_TOP_CONTENT":"بهترین از این افزونه","ADDON_PROVIDES":"این افزونه به شما می دهد:","ADDON_WATCH":"اکنون #{types} را تماشا کنید!","ADDON_WATCH_FREE":"اکنون #{types} را رایگان تماشا کنید!","ADDON_ADDON":"افزونه","ADDON_SUPPORTED_TYPES":"انواع پشتیبانی شده","ADDON_SUPPORTED_CATALOGS":"کاتالوگ های پشتیبانی شده","ADDON_PROVIDES_DISCOVER":"#{types} بیشتر در Discover","ADDON_PROVIDES_STREAMS":"تماشای #{types}","ADDON_PROVIDES_STREAMS_FREE":"#{types} را به صورت رایگان تماشا کنید","ADDON_PROVIDES_SUBTITLES":"زیرنویس برای #{types}","ADDON_CANTDETECT":"ما نتوانستیم Stremio در حال اجرا را شناسایی کنیم، بنابراین نتوانستیم افزونه هایی را که نصب کرده اید تشخیص دهیم.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"پخش تورنت به دلیل قوانین اپ استور در این دستگاه پشتیبانی نمی شود","ERR_NO_META":"هیچ اطلاعاتی در این مورد یافت نشد ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"در بازیابی اطلاعات این مورد خطا رخ داده است","ERR_CANT_PARSE_MAGNET":"قادر به تجزیه مگنت نیست","ERR_NO_MAGNET_INFOHASH":"هیچ هش اطلاعات معتبری برای مگنت وجود ندارد","ERR_NO_FILE_PATH":"ارسال درخواست بدون مسیر فایل امکان پذیر نیست","ERR_NO_TORRENT":"هیچ تورنتی بازگردانده نشد","ERR_NO_SUPPORTERD_FILES":"هیچ فایل پشتیبانی شده ای یافت نشد","ERR_OPENING_FILES":"فایل های خارجی باز نشد","ERR_INVALID_LINK":"پیوند نامعتبر","ERR_REGISTERED_ONLY":"این گزینه فقط برای کاربران ثبت نام شده در دسترس است.","ERR_CLIPBOARD":"نمی توان از کلیپ بورد پخش کرد","ERR_CLIPBOARD_READ":"در این پلتفرم امکان خواندن کلیپ بورد وجود ندارد.","ERR_CLIPBOARD_GENERIC":"هیچ URL قابل پخش در کلیپ بورد یافت نشد. لطفا یک URL (به عنوان مثال یک پیوند مگنت) را در یک ویدیو کپی کنید.","BOARD_CONTINUE_WATCHING":"به تماشای ادامه دهید","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"فیلم هایی که به طور خاص برای شما انتخاب شده اند.<br />این فیلم یک نمونه توصیه است.","BOARD_EXPLANATION_EPISODES":"قسمت‌های جدید سریال‌های مورد علاقه‌تان به اینجا می‌آیند.<br />سریالی را که دنبال می‌کنید به کتابخانه خود اضافه کنید.","BOARD_EXPLANATION_VIDEOS":"قسمت‌های جدید کانال‌های مورد علاقه‌تان اینجا می‌آیند.<br />کانال‌های YouTube را که دنبال می‌کنید به کتابخانه خود اضافه کنید.","WEBSITE_ENJOYED_BY":"بیش از 30 میلیون کاربر در سراسر جهان از آن لذت می برند","WEBSITE_STREAMING_ENHANCED":"پخش جریانی بهبود یافته","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio یک تجربه سرگرمی ایمن، مدرن و یکپارچه را ارائه می دهد. با رابط کاربری آسان و کتابخانه محتوای متنوع، از جمله پشتیبانی 4K HDR، کاربران می توانند از فیلم ها و برنامه های تلویزیونی مورد علاقه خود در همه دستگاه های خود لذت ببرند. و با تعهد خود به امنیت، Stremio انتخاب نهایی برای یک تجربه پخش بدون نگرانی و با کیفیت بالا است.","WEBSITE_AVAILABLE_ON":"موجود در","WEBSITE_WATCH_AND_ENJOY":"تماشا کنید و لذت ببرید.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio آن را به یک تکه کیک تبدیل می کند","WEBSITE_ALL_FEATURES":"همه ویژگی ها","WEBSITE_EASY_TO_USE":"استفاده آسان","WEBSITE_EASY_TO_USE_DETAILS":"Stremio به گونه ای طراحی شده است که کاربر پسند و آسان برای استفاده باشد. با رابط کاربری تمیز و شهودی آن، می توانید به راحتی پیمایش کنید و محتوایی را که می خواهید تماشا کنید پیدا کنید.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"یکپارچه در سراسر دستگاه ها","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Stremio که برای طیف وسیعی از پلتفرم‌ها (از جمله ویندوز، مک، لینوکس، اندروید و موارد دیگر) موجود است، پیشرفت شما را در همه دستگاه‌های شما پیگیری می‌کند. فقط وارد شوید و بدون نیاز به پیکربندی مجدد برنامه در هر دستگاه جدید، به تماشای آن ادامه دهید.","WEBSITE_ALL_DOWNLOADS":"همه دانلودها","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"پشتیبانی از ویدئو با کیفیت بالا","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"یک پخش کننده ویدئویی یکپارچه که از اکثر فرمت های ویدئویی، از جمله محتوای 4K HDR پشتیبانی می کند، به شما امکان می دهد از بالاترین کیفیت موجود لذت ببرید.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"کتابخانه محتوای متنوع","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio با تعداد زیادی از منابع ویدیویی محبوب مانند Netflix، Amazon Prime Video، Hulu، YouTube و بسیاری دیگر ادغام می شود.","WEBSITE_CREATE_A_FREE_ACCOUNT":"یک حساب کاربری رایگان ایجاد کنید","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"تجربه تماشای متناسب","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio به شما این امکان را می دهد که ظاهر و رابط رابط را با تغییر تم، افزودن یا حذف افزونه ها و موارد دیگر سفارشی کنید.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"پشتیبانی از زیرنویس چند زبانه","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"اکنون می توانید از تمام محتوای مورد علاقه به زبان دلخواه خود لذت ببرید زیرا Stremio از زیرنویس ها به همه زبان ها پشتیبانی می کند.","WEBSITE_ALL_STREMIO_FEATURES":"تمام ویژگی های Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Stremio را امتحان کنید","WEBSITE_TRY_STREMIO_TITLE_P2":"اکنون در تلویزیون شما","WEBSITE_YOU_CAN_NOW_WATCH":"اکنون می توانید تمام برنامه های تلویزیونی مورد علاقه خود را در دستگاه های Android TV خود تماشا کنید. برنامه Stremio TV به شما این امکان را می دهد که از یک شب سینمایی به راحتی لذت ببرید.","WEBSITE_YOU_CAN_NOW_WATCH_2":"اکنون می توانید تمام برنامه های تلویزیونی مورد علاقه خود را در تلویزیون هوشمند یا Android TV خود تماشا کنید. برنامه‌های Stremio TV به شما امکان می‌دهند به راحتی از یک شب فیلم لذت ببرید.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio برای تلویزیون هوشمند","WEBSITE_PLAY_STORE_REVIEW":"احتمالاً بهترین و مفیدترین برنامه ای است که در دستگاه شما وجود دارد. این یکی از برنامه‌هایی است که سال‌هاست به‌طور روزانه مخصوصاً در تلویزیون اندرویدم استفاده می‌کنم. به خوبی با یک جامعه قوی ساخته شده است که عملکردهای مفیدی را ارائه می دهد. آفرین. به کار خود ادامه دهید.","WEBSITE_REVIEWS":"بررسی ها","WEBSITE_GET_STREMIO_FOR_FREE":"Stremio را به صورت رایگان دریافت کنید","WEBSITE_GET_STREMIO_NOW":"اکنون Stremio را دریافت کنید","WEBSITE_STREMIO_FEATURES":"ویژگی های Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"مانند یک حرفه ای با ویژگی های پیشرفته Stremio استریم کنید و از دسترسی یکپارچه به همه رسانه های مورد علاقه خود لذت ببرید","WEBSITE_DISCOVER_MORE":"بیشتر کشف کنید.","WEBSITE_DISCOVER_MORE_DETAILS":"هیچ‌وقت بدون چیزی برای تماشا نمانید","WEBSITE_COMMUNITY_DRIVEN":"جامعه محور","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio دارای یک جامعه بزرگ و فعال از کاربران است که با ایجاد و اشتراک گذاری افزونه ها در توسعه نرم افزار کمک می کنند.","WEBSITE_GET_INVOLVED":"مشارکت کنید","WEBSITE_NEW_THEATER_EXPERIENCE":"تجربه سینما جدید","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"برنامه تلویزیونی اختصاصی جدید Stremio به شما امکان می دهد از یک شب فیلم در دستگاه های Android TV خود لذت ببرید.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"اپلیکیشن‌های تلویزیون جدید اختصاصی Stremio به شما امکان می‌دهند که از شب سینمایی خود در تلویزیون هوشمند یا دستگاه‌های تلویزیون اندرویدتان لذت ببرید.»","WEBSITE_FREE_AND_SECURE":"رایگان و ایمن","WEBSITE_STREAMING":"استریم کردن","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio امنیت و حریم خصوصی بی نظیری را برای کاربران ارائه می دهد. Stremio با ویژگی منحصر به فرد خود در اجرای افزونه ها از راه دور، راه ایمن تری برای پخش محتوای مورد علاقه شما در مقایسه با سایر پلتفرم ها فراهم می کند. امنیت و حریم خصوصی شما اولویت های اصلی است و این پلتفرم تضمین می کند که تمام داده های شما محافظت می شود.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"با نگرانی های مربوط به امنیت و حریم خصوصی خداحافظی کنید و با Stremio به دنیایی از سرگرمی های بی پایان سلام کنید.","WEBSITE_INFORMATION_PROVIDED_BY":"اطلاعات ارائه شده توسط","WEBSITE_CONTRIBUTE_DESC":"به پروژه کمک کنید تا Stremio را حتی بهتر کنیم","WEBSITE_COMMUNITY_DESC":"ما معتقدیم که بهترین راه برای ایجاد یک تجربه پخش واقعا شگفت انگیز، مشارکت دادن جامعه ما در این فرآیند است. چه یک برنامه نویس، یک هنرمند یا فقط یک طرفدار باشید - می توانید به رشد Stremio کمک کنید.","WEBSITE_COMMUNITY_DESC_2":"بنابراین امروز به ما بپیوندید و بخشی از جامعه Stremio شوید و به شکل دادن به آینده استریم ادامه دهید.","WEBSITE_WAYS_TO_GET_INVOLVED":"راه های مشارکت","WEBSITE_IN_THE_STREMIO_COMMUNITY":"در جامعه Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"نظرات خود را به اشتراک بگذارید","WEBSITE_REPORT_BUGS":"گزارش اشکالات","WEBSITE_SUGGEST_FEATURES":"ویژگی‌های پیشنهادی","WEBSITE_AND_PROVIDE_FEEDBACK":"و در کانال های رسانه های اجتماعی ما بازخورد ارائه دهید.","WEBSITE_BETA_TESTING_PROGRAM":"برنامه تست بتا","WEBSITE_BETA_TESTING_PROGRAM_DESC":"در برنامه آزمایش بتا ما (به طور منظم دعوت نامه ارسال می کنیم) در انجمن Stremio شرکت کنید.","WEBSITE_JOIN_NOW":"اکنون بپیوندید!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"جوامع رسمی Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"جوامع غیر رسمی Stremio","WEBSITE_BECOME":"تبدیل شدن","WEBSITE_A_VOLUNTEER_TRANSLATOR":"یک مترجم داوطلب","WEBSITE_ARE_YOU_A_DEVELOPER":"آیا شما یک توسعه دهنده هستید؟","WEBSITE_CONTRIBUTE_CODE":"شما می توانید به پروژه های متن باز ما کد دهید. ما چندین پروژه در GitHub داریم که به دنبال مشارکت کننده هستند. اگر علاقه مند به کمک هستید، آنها را بررسی کنید:","WEBSITE_STREMIO_ON_GITHUB":"Stremio در GitHub","WEBSITE_CREATE_ADDON_DESC":"یک افزونه برای بهبود عملکرد Stremio ایجاد کنید (ما یک API با استفاده آسان داریم):","WEBSITE_STREMIO_ADDON_SDK":"Stremio افزونه SDK","WEBSITE_INTERN_DEVELOPER":"ما همچنین این فرصت را فراهم می کنیم که به عنوان یک توسعه دهنده کارآموز به ما بپیوندید تا بتوانیم با هم رشد کنیم.","WEBSITE_APPLY_AS_AN_INTERN":"به عنوان کارآموز اقدام کنید","WEBSITE_CALLING_ALL_ARTISTS":"فراخوان همه هنرمندان!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"خلاقیت و عشق خود را به Stremio با آپلود فن آرت خود در گالری آنلاین ما به نمایش بگذارید. چه طراحی، نقاشی یا طراحی دیجیتال، ما می خواهیم برداشت منحصر به فرد شما از برند Stremio را ببینیم. به جامعه علاقه مندان به هنر ما بپیوندید و کارهای خود را با طرفداران Stremio در سراسر جهان به اشتراک بگذارید.","WEBSITE_STREMIO_FANART_GALLERY":"گالری Stremio Fanart","WEBSITE_INTERN_DESIGNER":"عضو تیم ما شوید و با فرصت‌های هیجان‌انگیز کارآموزی ما خلاقیت خود را به اوج برسانید.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"پروژه فیلم های دامنه عمومی","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"در Stremio، ما متعهد به حفظ تاریخ فیلم و تلویزیون با شناسایی فیلم های مالکیت عمومی و یتیم هستیم. با همکاری با جامعه خود، می توانیم اطمینان حاصل کنیم که این آثار هنری کلاسیک برای همه قابل دسترسی هستند و برای لذت بردن نسل های آینده محافظت می شوند.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"اگر می خواهید در آن پروژه شرکت کنید، با ما تماس بگیرید.","WEBSITE_JOIN_THE_PROJECT":"به پروژه بپیوندید","WEBSITE_BE_PART_OF_OUR_MISSION":"بخشی از ماموریت ما باشید","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"علاقه مند به پیوستن به تیم Stremio هستید؟ ما کار از راه دور را برای متخصصان پرشور ارائه می دهیم. موقعیت های باز ما را بررسی کنید.","WEBSITE_OPEN_POSITIONS":"موقعیت های باز","WEBSITE_DESCRIPTION":"توضیحات","WEBSITE_LEARN_MORE":"بیشتر بدانید","WEBSITE_COMPANY":"شرکت","WEBSITE_CONTACTS":"مخاطبین","WEBSITE_NEED_HELP":"به کمک نیاز دارید؟","WEBSITE_STREMIO_WEB_ON_IOS":"راهنمای Stremio Web در iOS","WEBSITE_LINK_ART_V2":"گالری فن آرت","WEBSITE_PARTNERS":"شریکان","WEBSITE_SLOGAN_WATCH":"تماشای فوری","WEBSITE_SLOGAN_ALL":"تمام محتوای ویدیویی که از آن لذت می برید در یک مکان","WEBSITE_SLOGAN_NEW":"همه شما می توانید تماشا کنید","WEBSITE_SLOGAN_NEW_NEW":"آزادی در استریم","WEBSITE_WATCH_FROM":"تماشا از","WEBSITE_DOWNLOAD":"اکنون دانلود کنید","WEBSITE_DOWNLOAD_FOR":"دانلود کن برای","WEBSITE_IS_DESKTOP":"Stremio یک برنامه دسکتاپ است، این صفحه را در رایانه شخصی خود باز کنید و آن را دانلود کنید","WEBSITE_DESKTOP_DEMO_VID":"دمو دسکتاپ","WEBSITE_PAGE_HOME":"صفحه اصلی","WEBSITE_PAGE_FEATURES":"ویژگی ها","WEBSITE_PAGE_ADDONS":"افزونه ها","WEBSITE_PAGE_TECH":"تکنولوژی","WEBSITE_PAGE_CREATE_ADDON":"ایجاد افزونه","WEBSITE_PAGE_CONTACTS":"مخاطبین","WEBSITE_PAGE_BLOG":"وبلاگ","WEBSITE_RESET_PASSWORD_MESSAGE":"لطفا رمز عبور جدید مورد نظر خود را در زیر وارد کنید.","WEBSITE_RESET_PASSWORD_WARNING":"آیا مطمئن هستید که می خواهید رمز عبور ${1} را بازنشانی کنید؟","WEBSITE_TYPE_movie":"فیلم ها","WEBSITE_TYPE_series_PL":"سریال‌ها","WEBSITE_TYPE_tv":"تلویزیون زنده","WEBSITE_TYPE_channel":"کانال ها","WEBSITE_STREMIO_WHAT_IS":"Stremio برنامه ای است که به شما کمک می کند ویدیوها، فیلم ها، سریال های تلویزیونی و کانال های تلویزیونی مورد علاقه خود را سازماندهی و فورا تماشا کنید.","WEBSITE_FEATURES_WATCH":"فورا با کیفیت HD تماشا کنید","WEBSITE_FEATURES_WATCH_DETAIL":"روی فیلم ها، نمایش های تلویزیونی، ویدیوها و کانال های تلویزیونی مورد علاقه خود کلیک کنید و پخش کنید.","WEBSITE_FEATURES_SUBS":"زیرنویس خودکار","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio به طور خودکار زیرنویس های همگام سازی شده را برای زبان شما انتخاب می کند.","WEBSITE_FEATURES_SUBS_LABEL":"حرکت شما است، رئیس.","WEBSITE_FEATURES_CAST":"پخش در تلویزیون و دستگاه های تلفن همراه","WEBSITE_FEATURES_CAST_DETAIL":"به AppleTV، Chromecast، تلویزیون هوشمند (DLNA/UPnP) و دستگاه‌های تلفن همراه ارسال کنید.","WEBSITE_LIB":"از همگام سازی کتابخانه شخصی خود در همه دستگاه های خود لذت ببرید","WEBSITE_LIB_COLLECT":"جمع آوری از Stremio","WEBSITE_LIB_IMPORT":"وارد کردن از فیس بوک","WEBSITE_LIB_LOCAL":"افزودن از درایو محلی خود","WEBSITE_BOARD":"بورد - مکانی برای اعلان‌ها و توصیه‌های شما","WEBSITE_BOARD_RECOMMEND":"برنامه تلویزیونی توصیه شده","WEBSITE_BOARD_TRENDING":"فیلم پرطرفدار","WEBSITE_BOARD_NEW":"ویدیو جدید","WEBSITE_BOARD_EPISODE":"قسمت جدید","WEBSITE_BOARD_1":"به دنبال چیز جالبی برای تماشا هستید؟ بر اساس سلیقه خود توصیه هایی دریافت کنید!","WEBSITE_BOARD_2":"وقتی قسمت جدیدی از برنامه تلویزیونی یا کانال YouTube مورد علاقه شما منتشر شد، مطلع شوید!","WEBSITE_BOARD_YOUTUBE":"ویدیوهای جدید کانال های یوتیوب","WEBSITE_BOARD_EPISODES":"قسمت های جدید سریالی که دنبال می کنید","WEBSITE_ADDONS":"افزونه های محتوا","WEBSITE_TECH_DETAIL":"ما عاشق فناوری هستیم، ما عاشق و دیوانه علم هستیم!\\nStremio از فناوری های منبع باز زیر استفاده می کند:","WEBSITE_TECH_WCJS":"WebChimera.js به Stremio اجازه می دهد تا هر فرمت ویدیویی را با عملکرد خوب پخش کند.","WEBSITE_TECH_WCJS_EXTRA":"ما مشارکت کنندگان اصلی پروژه هستیم","WEBSITE_TECH_ELECTRON":"Electron یک پلت فرم نوآورانه برای ساخت Stremio فراهم می کند.","WEBSITE_TECH_ELECTRON_EXTRA":"ما مشارکت کنندگان پروژه هستیم","WEBSITE_TECH_LINVODB":"یک فناوری پایگاه داده که تضمین می کند داده های شما در هر کجا که وارد می شوید سازماندهی شده و در دسترس باشند.","WEBSITE_TECH_LINVODB_EXTRA":"فناوری داخلی","WEBSITE_CREATE_ADDON":"افزونه خود را ایجاد کنید","WEBSITE_CREATE_ADDON_DETAIL":"آیا سرویسی دارید که محتوای ویدیویی ارائه می دهد؟ ما به شما کمک می کنیم تا با ایجاد افزونه خود از ویژگی های Stremio بهره مند شوید.","WEBSITE_CREATE_ADDON_BENEFITS":"مزایای ایجاد افزونه برای Stremio","WEBSITE_P2P_BEAUTY":"زیبایی پخش همتا به همتا","WEBSITE_P2P_1":"ویدیوی فول اچ دی / 4K قابل اعتماد و مقرون به صرفه در صورت تقاضا یا پخش زنده","WEBSITE_P2P_2":"پلت فرم توزیع، تجربه کاربری عالی را ارائه می دهد","WEBSITE_P2P_3":"ما یک افزونه ایجاد خواهیم کرد که دقیقاً نیازهای شما را برآورده کند","WEBSITE_P2P_CONTACT":"علاقه مندید؟ شما می توانید <a href=\'mailto:office@stremio.com\'>با ما تماس بگیرید</a>.","WEBSITE_P2P_CONTACT_EXTRA":"ما خوشحال خواهیم شد که به شما کمک کنیم تا محتوای خود را با Stremio یکپارچه کنید!","WEBSITE_P2P":"هر چند وقت یکبار، فناوری می آید که نام بازی را تغییر می دهد. ما زمان و تلاش زیادی را برای ساخت موتور پخش ویدیوی همتا به همتا (P2P) خود سرمایه گذاری کردیم که عملکرد و تطبیق پذیری عالی را برای انطباق با هر مورد استفاده ارائه می دهد.\\nبرای ویدیوی P2P با قابلیت DRM یا پخش زنده با ما تماس بگیرید.","WEBSITE_THOUGHTS":"افکاری که ما به اشتراک می گذاریم:","WEBSITE_SPREAD":"در مورد Stremio صحبت کنید:","WEBSITE_CONTACT":"با ما تماس بگیرید، خوشحال خواهیم شد که از شما بشنویم!","WEBSITE_OPENSOURCE":"برای پروژه های متن باز ما، بروید به","WEBSITE_BITCOIN":"اهدای بیت کوین:","WEBSITE_FAQ":"سوالات متداول","WEBSITE_FAQ_SHORT":"سوالات متداول","WEBSITE_QUESTIONS":"سوالات","WEBSITE_TOS":"شرایط استفاده","WEBSITE_LEGAL":"قانونی","WEBSITE_PAGE_ABOUT":"درباره","WEBSITE_PAGE_BECOME_PARTNER":"شریک شوید","WEBSITE_ALL_YOU_CAN_WATCH":"آزادی در تماشا\\nهر چیزی که می خواهید.","WEBSITE_FREEDOM_TO_STREAM":"آزادی در استریم","WEBSITE_WHAT_IS_STREMIO":"Stremio چیست؟","WEBSITE_WHAT_IS_STREMIO_P1":"با استفاده از Stremio می توانید یک مرکز یک مرحله ای برای جمع آوری محتوای ویدیویی داشته باشید. محتوا را از انواع منابع کشف کرده، سازماندهی کنید و ویدیوها را بر روی هر دستگاهی که دارید تماشا کنید.","WEBSITE_WHAT_IS_STREMIO_P2":"فیلم‌ها، نمایش‌های تلویزیونی، سریال‌ها، تلویزیون زنده یا کانال‌های وب مانند YouTube و Twitch.tv - همه اینها را می‌توانید در Stremio بیابید.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio یک مرکز رسانه ای مدرن است که یک راه حل یک مرحله ای برای سرگرمی ویدیویی شما است. شما محتوای ویدیویی را از افزونه های آسان برای نصب، کشف، تماشا و سازماندهی می کنید.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"فیلم ها، برنامه های تلویزیونی، تلویزیون زنده یا کانال های وب - همه اینها را در Stremio پیدا کنید.","WEBSITE_ENJOI_ON_ALL_DEVICES":"در همه دستگاه های رسانه ای خود لذت ببرید","WEBSITE_DEVICES_COLLECT":"جمع آوری از Stremio","WEBSITE_DEVICES_IMPORT_FB":"وارد کردن از فیس بوک","WEBSITE_DEVICES_LOCAL":"افزودن از درایو محلی","WEBSITE_JOIN_THE_PARTY_NOW":"همین حالا به مهمانی بپیوندید","WEBSITE_DEVICES_ALL":"استفاده آسان در همه دستگاه های شما؛","WEBSITE_EXTENDABLE_CATALOG":"کاتالوگ ویدئویی با قابلیت گسترش بی نهایت.","WEBSITE_ORGANIZE_YOUR_MEDIA":"ویژگی های عالی برای سازماندهی رسانه های شما؛","WEBSITE_AS_SEEN_ON":"همانطور ببسنید که در","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"درباره ما","WEBSITE_LINK_TECHNOLOGY":"تکنولوژی","WEBSITE_LINK_APPS":"برنامه ها","WEBSITE_LINK_DOWNLOADS":"دانلودها","WEBSITE_MORE":"بیشتر","WEBSITE_LINK_ADDONS":"افزونه ها","WEBSITE_LINK_ADDON_SDK":"افزونه SDK","WEBSITE_LINK_CONTRIBUTE":"مشارکت","WEBSITE_LINK_COMMUNITY":"جامعه","WEBSITE_LINK_BLOG":"وبلاگ","WEBSITE_MORE_MORE":"... و بیشتر","WEBSITE_LINK_HELP":"مرکز راهنمایی","WEBSITE_LINK_CONTACTS":"سوالات تجاری","WEBSITE_LINK_TOS":"شرایط و ضوابط","WEBSITE_LINK_PRAVACY":"سیاست حفظ حریم خصوصی","WEBSITE_SUBSCRIBE":"اشتراک","WEBSITE_NEWSLETTER":"برای چیزهای شگفت انگیز به خبرنامه ما بپیوندید","WEBSITE_PLACEHOLDER_EMAIL":"ایمیل شما","WEBSITE_COMMUNITY":"جامعه","WEBSITE_LINK_PRAVACY_LEGAL":"حریم خصوصی و قانونی","WEBSITE_WHY":"چرا این کار را می کنیم","WEBSITE_WHY_P1":"در Stremio ، هر روز به محل کار می آییم زیرا می خواهیم یک مشکل مهم برای صنعت ویدیوی درخواستی را حل کنیم. آنقدر محتوای جدید هر دقیقه منتشر می شود که تقریباً غیرممکن است راه خود را در آن پیدا کنید.","WEBSITE_WHY_P2":"ما به مردم کمک می کنیم تا در دنیای عظیم سرگرمی های ویدیویی حرکت کنند و محتوای جدیدی را برای لذت بردن کشف کنند. برنامه های ما فیلم ها، سریال ها، تلویزیون زنده، کانال های وب و موارد دیگر را گرد هم می آورند. ما متعهد هستیم که یافتن عناوین و پخش کننده های مورد علاقه کاربران را برای کاربران بسیار آسان کنیم.","WEBSITE_WHY_P3":"شما می توانید از خدمات ما در هر دستگاهی و در هر زمان استفاده کنید و Stremio را به تنها مرکز سرگرمی ویدیویی تبدیل کنید که تا به حال به دنبال آن بوده‌اید.","WEBSITE_TEAM":"تیم","WEBSITE_TEAM_P":"تیم Stremio کوچک اما قدرتمند است: بین ده نفر، ما به زبان X کدنویسی می کنیم و تخصص خود را در توسعه نرم افزار، طراحی UI و UX، بازاریابی و تبلیغات، و تجارت و استارت آپ ها به اشتراک می گذاریم.","WEBSITE_FEATURES":"ویژگی ها","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"محتوای جدید را به راحتی کشف کنید","WEBSITE_FEATURES_DISCOVER_P":"به راحتی فیلم ها، برنامه های تلویزیونی، سریال ها و کانال های جدید را برای تماشا کشف کنید. بر اساس دسته بندی، ژانر، رتبه بندی، تازگی و غیره مرور کنید یا به سادگی نامی را برای یافتن تایپ کنید. Stremio یافتن محتوای ویدیویی جدید را مثل آب خوردن راحت کرده.","WEBSITE_FEATURES_ALL_CONTENT":"تمام محتوای ویدیوی شما در یک صفحه نمایش","WEBSITE_FEATURES_ALL_CONTENT_P1":"ببینید چه فیلم ها، سریال ها یا ویدیوهایی را تمام نکرده اید و به تماشای آنها ادامه دهید. برای قسمت ها و نسخه های جدید مطلع شوید. و توصیه هایی را که بر اساس عادات مشاهده خود دریافت خواهید کرد، مرور کنید.","WEBSITE_FEATURES_LIBRARY":"کتابخانه ویدیویی خود را سازماندهی کنید","WEBSITE_FEATURES_LIBRARY_P1":"با یک کلیک هر عنوانی را به کتابخانه Stremio خود اضافه کنید و با مرتب کردن محتوای خود بر اساس نوع، تازگی یا ترتیب الفبایی، راه خود را در میان آنها پیدا کنید.","WEBSITE_FEATURES_CALENDAR":"همه چیزهایی را که تماشا می کنید پیگیری کنید","WEBSITE_FEATURES_CALENDAR_P1":"یک نمای تقویم از تمام فیلم‌ها و سریال‌هایی که به کتابخانه خود اضافه می‌کنید دریافت کنید. تقویم Stremio خود را صادر کرده و آن را همگام‌سازی کنید تا همیشه بدانید چه زمانی یک قسمت جدید یا یک اکران جدید در راه است.","WEBSITE_FEATURES_BIG_SCREEN":"از محتوای ویدیویی خود در صفحه نمایش بزرگتر لذت ببرید","WEBSITE_FEATURES_BIG_SCREEN_P1":"هر آنچه را که تماشا می کنید با یک کلیک به دستگاه دیگری ارسال کنید - خواه تلفن، تبلت یا تلویزیون باشد.","WEBSITE_FEATURES_SOURCES":"ویدیو را از منابع مختلف تماشا کنید","WEBSITE_FEATURES_SOURCES_P":"تجربه لذت بردن از ویدیوهای تهیه شده از ارائه دهندگان مختلف را با نصب افزونه های رسمی و جامعه، تقویت کنید - همه چیز در یک برنامه شیک و آسان برای استفاده.","WEBSITE_CREATE_AN_ADDON":"یک افزونه ایجاد کنید","WEBSITE_FEATURES_SYNC":"کتابخانه خود را در دستگاه های مختلف همگام سازی کنید و پخش خود را از سر بگیرید","WEBSITE_FEATURES_SYNC_P1":"با حساب خود در همه دستگاه های خود وارد شوید و از کتابخانه، افزونه ها، پخش و تقویم همگام سازی شده خود لذت ببرید.","WEBSITE_FEATURES_EXTENDABLE":"کاتالوگ ویدیویی قابل افزایش توسط افزونه ها","WEBSITE_FEATURES_EXTENDABLE_P1":"کاتالوگ افزونه Stremio تعدادی افزونه برای نصب و تماشای انواع محتوای ویدیویی ارائه می دهد. که شامل فیلم ها، سریال ها، تلویزیون زنده، ورزش، اخبار، پادکست ها، کانال های وب، بازی های ویدیویی و موارد دیگر می شود.","WEBSITE_FEATURES_AUTO_SUBS":"زیرنویس خودکار","WEBSITE_FEATURES_AUTO_SUBS_P1":"با نصب افزونه های زیرنویس ما، گزینه های انتخابی خود را به صورت خودکار برای زبان دلخواهتان دریافت نمایید.","WEBSITE_FEATURES_CHROMECAST":"ارسال به Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"از محتوای ویدیویی خود در صفحه نمایش بزرگتر لذت ببرید یا فقط هر آنچه را که تماشا می کنید به دستگاه دیگری ارسال کنید.","WEBSITE_FEATURES_KEEP_TRACK":"برنامه های تلویزیونی و کانال های وب مورد علاقه خود را پیگیری کنید","WEBSITE_FEATURES_KEEP_TRACK_P1":"تصویر کلی تقویم و اعلان‌ها را برای قسمت‌های جدید سریال‌ها و کانال‌های وب محبوب خود دریافت نمایید.","WEBSITE_FEATURES_POWER_USER":"ویژگی‌های قدرتمند کاربر","WEBSITE_FEATURES_POWER_USER_P1":"پخش در پخش کننده خارجی","WEBSITE_FEATURES_POWER_USER_P2":"پخش از یک فایل تورنت یا لینک مگنت","WEBSITE_FEATURES_POWER_USER_P3":"از لایک های فیس بوک یا دیسک محلی به کتابخانه خود وارد کنید","WEBSITE_ADD_ONS":"افزونه ها","WEBSITE_ADD_ONS_P1":"تمام محتوای ویدیویی که Stremio ارائه می‌کند از طریق یک سیستم افزونه تهیه می‌شود - هیچ محتوا یا ارائه‌دهنده محتوایی در برنامه ساخته نشده است.","WEBSITE_ADD_ONS_P2":"دو گروه افزونه در دسترس است: افزونه های رسمی و جامعه.","WEBSITE_ADD_ONS_P3":"موارد رسمی توسط Stremio توسعه و میزبانی می شوند، در حالی که افزونه های انجمن توسط اعضای جامعه ما ایجاد می شوند که میزبان آنها نیز هستند.","WEBSITE_ADDONS_OFFICIAL":"افزونه های رسمی","WEBSITE_ADDONS_WATCHUB":"فیلم‌ها، سریال‌ها و نمایش‌های مورد علاقه خود را از ارائه‌دهندگانی مانند iTunes، Hulu، Amazon و سایر سرویس‌های بریتانیا/ایالات متحده پخش کنید.","WEBSITE_ADDONS_YOUTUBE":"بدون نمایش تبلیغات، ویدیوهای محبوب خود را در کانال‌های YouTube تماشا کنید و از آپلود محتوای جدید توسط کسانی که دنبالشان هستید، آگاه شوید.","WEBSITE_ADDONS_FILMON":"تلویزیون زنده، فیلم و تلویزیون اجتماعی را به صورت رایگان تماشا کنید. 600 کانال تلویزیونی، 45000 فیلم رایگان، مستند و موارد دیگر.","WEBSITE_ADDONS_OPENSUBTITLES":"زیرنویس فیلم و سریال به چندین زبان، هزاران زیرنویس ترجمه شده هر روز آپلود می شود.","WEBSITE_ADDONS_COMMUNITY":"افزونه های انجمن","WEBSITE_ADDONS_FILMON_VOD":"ویدیوی درخواستی را از Filmon.tv تماشا کنید","WEBSITE_ADDONS_TWICH":"پخش‌های زنده را از Twitch.tv تماشا کنید - یک پلتفرم پخش ویدیو برای صنعت ورزش‌های الکترونیکی.","WEBSITE_ADDONS_VODO":"فیلم های مستقل را کاملا رایگان تماشا کنید.","WEBSITE_ADDONS_NETFLIX":"فیلم ها و سریال های نتفلیکس را تماشا کنید.","WEBSITE_ADDONS_CREATE":"یک افزونه ایجاد کنید","WEBSITE_ADDONS_CREATE_P1":"در صورت تمایل، می توانید افزونه خود را توسعه دهید. با این روش، می توانید به خود و جامعه ما دسترسی به محتوای ویدیویی جدید را بدهید و به مخاطبان جدید و هدفمند میلیون نفری در سراسر جهان دسترسی پیدا کنید.","WEBSITE_ADDONS_START_CREATE":"برای شروع، از صفحه Stremio Addon SDK دیدن کنید:","WEBSITE_DOWNLOADS":"دانلودها","WEBSITE_DOWNLOADS_P1":"برای عملکرد بهینه، توصیه می کنیم از آخرین نسخه موجود برنامه های Stremio استفاده کنید. اما اگر به دلایلی مایل به استفاده از نسخه قدیمی هستید، می توانید آن را از اینجا دانلود کنید.","WEBSITE_DOWNLOADS_P1_SHORT":"برای عملکرد بهینه، توصیه می کنیم از آخرین نسخه موجود برنامه های Stremio استفاده کنید.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio برای ویندوز","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio برای macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio برای لینوکس","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio برای اندروید","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio برای Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio برای موبایل اندروید","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio برای Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio برای iOS (نسخه محدود)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio برای تلویزیون سامسونگ","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio برای تلویزیون ال جی","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio برای تلویزیون سونی (اندروید)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio برای Philips TV (اندروید)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio برای تلویزیون فیلیپس","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio برای تلویزیون هایسنس","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio برای Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio برای متا کوئست","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio برای ویژن پرو","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio برای Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio برای Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"راه اندازی Stremio در برنامه بوت","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio برای مرورگر","WEBSITE_DOWNLOADS_STREMIO_OS":"سیستم عامل Stremio","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Stremio را در اپ استور مدل‌های تلویزیون سامسونگ 2019+ جستجو کنید","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Stremio را در اپ استور مدل‌های تلویزیون ال‌جی 2020+ جستجو کنید","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Stremio را در برنامه Play Store در Sony TV دارای Android جستجو کنید","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Stremio را در برنامه Play Store در Philips TV دارای Android جستجو کنید","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Stremio را در فروشگاه برنامه در تلویزیون فیلیپس با TitanOS (نسخه محدود) جستجو کنید","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Stremio را در App Store دستگاه Xbox خود جستجو کنید","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"راهنمای سیستم عامل Stremio در RPI","WEBSITE_LINK_GUIDE":"راهنما","WEBSITE_DOWNLOAD_SERVICE":"سرویس Stremio را دانلود کنید","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service یک برنامه همراه برای Stremio Web است. توصیه می کنیم از آخرین نسخه موجود سرویس Stremio استفاده کنید.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"سرویس Stremio برای ویندوز","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"سرویس Stremio برای macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"سرویس Stremio برای لینوکس","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"سرویس Stremio برای Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio برای Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"گزینه های دانلود بیشتر","WEBSITE_DOWNLOAD_NEW":"جدید!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"ما Stremio Web را منتشر کردیم","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Stremio را برای تلویزیون سامسونگ منتشر کردیم","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Stremio را برای تلویزیون ال جی منتشر کردیم","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Stremio را برای Xbox منتشر کردیم","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"ما Stremio را برای Raspberry Pi منتشر کردیم","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"ما Stremio 5 را برای ویندوز منتشر کردیم","WEBSITE_CONTRIBUTE":"مشارکت","WEBSITE_CONTRIBUTE_P1":"پلتفرم Stremio منبع باز است و می توانید به راحتی یک افزونه برای محتوایی که در حال حاضر منبع ندارد ایجاد کنید.","WEBSITE_CONTRIBUTE_WHY":"چرا باید یک افزونه ایجاد کنید؟","WEBSITE_CONTRIBUTE_WHY_P1":"برای محتوای ویدیوی خود به مخاطبان جدیدی دست پیدا کنید","WEBSITE_CONTRIBUTE_WHY_P2":"پایگاه کاربران Stremio به سرعت در حال رشد است - در سال اول راه اندازی، Stremio 1 میلیون کاربر در سراسر جهان به دست آورد و در سال دوم وجود این پلتفرم این تعداد به 2.5 میلیون نفر افزایش یافت.","WEBSITE_CONTRIBUTE_WHY_P3":"با افزونه خود می توانید به راحتی به این مخاطبان دسترسی پیدا کنید و محتوای ویدیوی خود را بین آنها توزیع کنید.","WEBSITE_CONTRIBUTE_ALL":"فیلم ها، ویدیوها، سریال ها و کانال های مورد علاقه خود را در یک مکان مشاهده کنید.","WEBSITE_CONTRIBUTE_ALL_P1":"شما طرفدار نوع خاصی از محتوا هستید که هنوز در Stremio در دسترس نیست؟ یک افزونه برای آن ایجاد کنید و از تماشای ویدیوهای مورد علاقه خود در یکی از بزرگترین و ساده ترین مراکز سرگرمی موجود در بازار لذت ببرید.","WEBSITE_CONTRIBUTE_ALL_P2":"علاوه بر این، سپاس بی پایان سایر اعضای جامعه Stremio را نیز دریافت خواهید کرد.","WEBSITE_CONTRIBUTE_MONETIZE":"از افزونه خود کسب درآمد کنید و با کمک آن درآمد کسب کنید","WEBSITE_CONTRIBUTE_MONETIZE_P1":"هنگامی که یک افزونه جدید برای Stremio ایجاد می کنید، می توانید به راحتی از راه های مختلف از آن درآمد کسب کنید. اگر به این موضوع فکر می کنید، با ما در تماس باشید ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - ما خوشحال می شویم که در مورد گزینه های کسب درآمد از افزونه ها به شما مشاوره دهیم.","WEBSITE_CONTRIBUTE_TRANSLATE":"مترجم داوطلب شوید","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"اگر می‌خواهید از برنامه‌های Stremio به زبان‌های مختلف لذت ببرید، می‌توانید به انجمن مترجمان داوطلب ما بپیوندید. آنها به ما کمک می کنند تا نسخه های Stremio را به زبان های مختلف اضافه کنیم.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"آیا مشتاق شروع کار هستید؟","WEBSITE_TRANSALTE_STREMIO":"Stremio را ترجمه کنید","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"جوامع رسمی","WEBSITE_COMMUNITY_OFFICIALS_P1":"بخشی از جامعه رو به رشد Stremio شوید. ما را در شبکه های اجتماعی دنبال کنید و از سلام کردن خجالت نکشید - ما دوست داریم از طرفداران خود بشنویم! ","WEBSITE_COMMUNITY_UNOFFICIALS":"جوامع غیر رسمی","STREMIO_COMMUNITY_NL":"Stremio هلند","STREMIO_COMMUNITY_BRASIL":"Stremio برزیل","STREMIO_COMMUNITY_GERMANY":"Stremio آلمان","STREMIO_COMMUNITY_BELGIUM":"Stremio بلژیک","STREMIO_COMMUNITY_FRANCE":"Stremio فرانسه","STREMIO_COMMUNITY_PORTUGAL":"Stremio پرتغال","STREMIO_COMMUNITY_ITALY":"Stremio ایتالیا","STREMIO_COMMUNITY_UK":"Stremio انگلستان","STREMIO_COMMUNITY_USA":"Stremio ایالات متحده","STREMIO_COMMUNITY_MEXICO":"Stremio مکزیک","STREMIO_COMMUNITY_ADDONS":"افزونه های Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Stremio عالی","WEBSITE_COMMUNITY_PARTNERS":"شرکا و حامیان","WEBSITE_COMMUNITY_GOODIES":"محصولات Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"تصاویر پس زمینه","WEBSITE_COMMUNITY_ART":"نمایشگاه هنری جامعه","WEBSITE_LINK_ART":"نمایشگاه هنری جامعه","WEBSITE_CONTACT_US":"تماس با ما","WEBSITE_CONTACT_US_P1":"در صورت داشتن هرگونه سوال، نظر یا پیشنهاد می توانید از طریق فرم تماس زیر با ما در تماس باشید.","WEBSITE_CONTACT_US_P2":"به خاطر داشته باشید که ما در بلغارستان واقع شده‌ایم، بنابراین ممکن است به دلیل اختلاف منطقه زمانی، رسیدگی به درخواست شما با تأخیر مواجه شود.","WEBSITE_CONTACT_US_SUCCESS":"پیام شما ارسال شد. در اولین فرصت با شما تماس خواهیم گرفت.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"لطفا یک ایمیل معتبر وارد کنید!","WEBSITE_CONTACT_US_Q_RELATED_TO":"سوال شما به چی مربوط میشه؟","WEBSITE_CONTACT_US_Q_OS":"سیستم عامل شما چیست؟","WEBSITE_CONTACT_US_PH_EMAIL":"ایمیل شما","WEBSITE_CONTACT_US_PH_MESSAGE":"پیام","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ارسال","WEBSITE_CONTACT_US_Q_1":"چگونه نصب کنیم؟","WEBSITE_CONTACT_US_Q_2":"چگونه حذف نصب کنیم؟","WEBSITE_CONTACT_US_Q_3":"(HTML) چگونه لازانیا درست کنیم؟","WEBSITE_CONTACT_US_Q_4":"افزونه ها","WEBSITE_CONTACT_US_OS_1":"ویندوز","WEBSITE_CONTACT_US_OS_2":"Macos","WEBSITE_CONTACT_US_OS_3":"لینوکس","WEBSITE_CONTACT_US_OS_4":"اندروید","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"تکنولوژی","WEBSITE_TECHNOLOGY_P1":"ما عاشق فناوری و علم و دیوانه آنها هستیم. و این </br> چیزی است که Stremio را تقویت می کند (همه چیز منبع باز است).","WEBSITE_TECHNOLOGY_P_QT":"توسعه نرم افزار چند پلتفرمی در بهترین حالت.","WEBSITE_TECHNOLOGY_P_MPV":"یک پخش کننده رسانه ای رایگان، متن باز و چند پلتفرمی.","WEBSITE_TECHNOLOGY_P_RN":"React Native به شما امکان می دهد برنامه های تلفن همراه را فقط با استفاده از جاوا اسکریپت بسازید.","WEBSITE_TECHNOLOGY_P_VLC":"چارچوب رسانه ای که در برنامه وجود دارد برای دریافت محتوای چند رسانه ای طراحی شده است.","WEBSITE_TECHNOLOGY_P_REALM":"Realm یک پلتفرم موبایل و جایگزینی برای SQLite & Core Data است.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js یک محیط اجرای متن باز برای جاوا اسکریپت است که روی چندین پلتفرم قابل استفاده است.","WEBSITE_TECHNOLOGY_P_RUST":"Rust یک زبان برنامه‌نویسی چندپارادایم بر سیستم است که برای ایمنی، به ویژه بر روی همزمانی ایمن تمرکز دارد.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"به پروژه کمک کنید","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"دو راه برای مشارکت در استریمو و کمک به بهبود محصول وجود دارد.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"شما می توانید مهارت های زبانی ارزشمند خود را با ترجمه پلتفرم اهدا کنید...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"یا","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... می توانید از مهارت های کدنویسی خود برای ایجاد افزونه های انجمن استفاده کنید. ","WEBSITE_TRANSLATE_STREMIO":"ترجمه Stremio","WEBSITE_404_OH_NO":"اوه اوه! صفحه مورد نظر شما اینجا نیست...","WEBSITE_GO_HOME":"رفتن به خانه","WEBSITE_LINK_OTHER_DOWNLOADS":"دانلودهای دیگر","WEBSITE_FAQ_ABR":"سوالات متداول","WEBSITE_SUPPORT":"پشتیبانی","WEBSITE_DOWNLOAD_4_0_BETA":"اکنون Stremio 4 بتا را دانلود کنید","WEBSITE_GET_FOR_DESKTOP":"دریافت برای دسکتاپ","WEBSITE_LINK_ADDON_COMPETITION":"مسابقه افزونه","WEBSITE_LINK_ART_CONTEST":"مسابقه هنری","WEBSITE_MY_ACCOUNT":"حساب کاربری من","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremio چیست؟","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio یک مرکز رسانه مدرن است که به شما آزادی تماشای هر آنچه را که می خواهید می دهد.","WEBSITE_MAINPAGE_FAQ_002_H1":"چگونه کار می کند؟","WEBSITE_MAINPAGE_FAQ_002_P1":"هنگامی که Stremio را بر روی دستگاه خود نصب کردید و یک حساب کاربری ایجاد کردید، تنها کاری که باید انجام دهید این است که به کاتالوگ افزونه ها مراجعه کنید و هر افزونه ای را که می خواهید نصب کنید، و شما آماده هستید!","WEBSITE_MAINPAGE_FAQ_002_P2":"پس از آن، می توانید به بخش Discover یا Board بروید تا کاوش محتوا را شروع کنید.","WEBSITE_MAINPAGE_FAQ_003_H1":"چه چیزی را می توانم اینجا تماشا کنم؟","WEBSITE_MAINPAGE_FAQ_003_P1":"بسیاری از موارد: فیلم ها، برنامه های تلویزیونی، کانال های وب، ورزش، کانال های تلویزیونی، گوش دادن به پادکست و موارد دیگر. به لطف سیستم افزونه ما، می توانید به محتوای متنوعی دسترسی داشته باشید.","WEBSITE_MAINPAGE_FAQ_004_H1":"آیا Stremio منبع باز است؟","WEBSITE_MAINPAGE_FAQ_004_P1":"بله، می‌توانید پیوندهای زیر را بررسی کنید: ${1}desktop app${2} و ${3}GitHub organisation${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"آیا Stremio ایمن است؟","WEBSITE_MAINPAGE_FAQ_005_P1":"بله: به دلیل اینکه این نرم افزار منبع باز است، کد قابل بازرسی عمومی است و می توانید خودتان آن را بررسی کنید.","WEBSITE_MAINPAGE_FAQ_005_P2":"سیستم افزودنی Stremio نیز با در نظر گرفتن امنیت کاربر ایجاد شده است. افزونه ها هیچ کدی را به صورت محلی اجرا نمی کنند، بنابراین هیچ خطری برای دستگاه شما ایجاد نمی کنند.","WEBSITE_MAINPAGE_FAQ_006_H1":"در مورد حریم خصوصی من چطور؟","WEBSITE_MAINPAGE_FAQ_006_P1":"ما به حریم خصوصی کاربران احترام می گذاریم و به جز حداقل های ضروری برای ایجاد و همگام سازی حساب شما، هیچ داده شخصی جمع آوری نمی کنیم.","WEBSITE_MAINPAGE_FAQ_006_P2":"همچنین یک ${1}حالت مهمان${2} در هنگام ثبت نام وجود دارد که به هیچ داده ای نیاز ندارد: در این حالت، هیچ تماسی با بخش پشتیبان ما برقرار نمی شود. با این حال، این به قیمت از دست دادن ویژگی‌های مفید، مانند همگام‌سازی کتابخانه‌تان در بین دستگاه‌ها، تمام می‌شود.","WEBSITE_MAINPAGE_FAQ_007_H1":"آیا می توانم به تلویزیون خود ارسال کنم؟","WEBSITE_MAINPAGE_FAQ_007_P1":"بله، ما از Chromecast پشتیبانی می کنیم و می توانید هم از برنامه های دسکتاپ و هم از برنامه های تلفن همراه (اندروید) ارسال کنید.","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio چند افزونه دارد؟","WEBSITE_MAINPAGE_FAQ_008_P1":"از اواخر سال 2019، بیش از 50 - برای اطلاعات بیشتر، کاتالوگ افزونه ما را بررسی کنید.","WEBSITE_MAINPAGE_FAQ_009_H1":"آیا می توان Stremio را فراتر از آنچه در کاتالوگ افزونه است گسترش داد؟","WEBSITE_MAINPAGE_FAQ_009_P1":"بله، باید این موارد را بررسی کنید: ${1}PimpMyStremio${2}، ${3}Reddit communities${4}، ${5}Stremio Downloader${6}، و غیره.","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio از چه دستگاه هایی پشتیبانی می کند؟","WEBSITE_MAINPAGE_FAQ_010_P1":"ما برنامه های دسکتاپ برای ویندوز، مک و لینوکس داریم. برای تلفن همراه، ما از Android و iOS پشتیبانی می کنیم، اگرچه به خاطر داشته باشید که iOS از نظر عملکرد محدود است (از اکثر افزونه ها پشتیبانی نمی کند).","WEBSITE_MAINPAGE_FAQ_010_P2":"بسیاری از دستگاه های مبتنی بر اندروید وجود دارند که می توانید Stremio را روی آنها اجرا کنید، مانند NVIDIA Shield و Amazon Fire Stick، اما ما به طور رسمی از آنها پشتیبانی نمی کنیم.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"ما برنامه های دسکتاپ برای ویندوز، مک و لینوکس داریم. ما همچنین برنامه های اختصاصی برای Android Mobile و Android TV داریم. برای iOS و iPadOS ما استفاده از Stremio Web را پیشنهاد می کنیم، اگرچه از نظر عملکرد محدودتر است.","WEBSITE_MAINPAGE_FAQ_011_H1":"آیا می توانید محتوای خاصی را به Stremio اضافه کنید؟","WEBSITE_MAINPAGE_FAQ_011_P1":"متأسفیم، ما خودمان هیچ محتوایی ارائه نمی دهیم، اما هرچه افزونه های Stremio بیشتری نصب کرده باشید، محتوای بیشتری را می توانید پیدا کنید.","WEBSITE_MAINPAGE_FAQ_012_H1":"آیا Stremio می تواند لینک های مگنت را پخش کند؟","WEBSITE_MAINPAGE_FAQ_012_P1":"بله، و همچنین می تواند لینک های HTTP معمولی و فایل های تورنت (کشیدن و رها کردن) را پخش کند.","WEBSITE_MAINPAGE_FAQ_013_H1":"آیا می توانم یک ویدیو دانلود کنم و به صورت آفلاین تماشا کنم؟","WEBSITE_MAINPAGE_FAQ_013_P1":"داشتن قابلیت دیدن ویدیوها بدون نیاز به اینترنت یک ویژگی آینده محسوب می‌شود، اما اگر اجازه دهید Stremio اطلاعات آفلاین را در حافظه داخلی دستگاه شما ذخیره کند، بعدا می‌توانید ویدیوها را بدون نیاز به اتصال اینترنتی تماشا کنید.","WEBSITE_MAINPAGE_FAQ_014_H1":"هیچی کار نمیکنه کمکم کن!","WEBSITE_MAINPAGE_FAQ_014_P1":"آیا مطمئن هستید که افزونه ها را نصب کرده اید؟ اگر بله، با ${1}مرکز راهنمایی${2} ما بررسی کنید.","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio چگونه عملیات توسعه خود را حفظ می کند؟","WEBSITE_MAINPAGE_FAQ_015_P1":"ما گهگاه تبلیغات غیرمزاحم را اجرا می کنیم، اما در نظر داریم به سراغ یک مدل اهدا برویم.","WEBSITE_MAINPAGE_FAQ_015_P2":"برای سؤالات بیشتر، به ${1}مرکز راهنمایی${2} ما بروید.","HELP_LEARN_MORE":"به ما کمک کنید در مورد شما بیشتر بدانیم.","LIFESTYLE":"سبک زندگی","SPORTS":"ورزش","FOOD_HEALTH":"غذا و سلامت","BEAUTY_FASHION":"زیبایی و مد","NEWS":"اخبار","GAMING":"بازی","SCIENCE_EDUCATION":"علم و آموزش","MUSIC":"موسیقی","TRAVEL":"سفر","LATE_NIGHT":"اواخر شب","REALITY":"واقعیت","COMEDY":"کمدی","DIY":"چگونه DIY انجام دهیم","TECH":"فنی","CINEMA":"سینما","CONTINUE":"ادامه","SLOW_LOADING":"بارگذاری آهسته؟","I_GIVE_UP":"من تسلیم می شوم","LEARN_MORE":"بیشتر بدانید","POOR_SOURCE":"این منبع ضعیف است یا اتصال اینترنت شما به اندازه کافی سریع نیست","PICK_CATEGORIES_ERR":"شما باید حداقل 3 دسته را انتخاب کنید","ADJUST_TIMING":"تنظیم زمان با ","ADJUST_SIZE":"تنظیم اندازه با ","SEARCH_ANYTHING":"شما می توانید هر چیزی را جستجو کنید ...","ALL_CATEGORIES":"همه","SEARCH_CATEGORIES":"فیلم، سریال، یوتیوب و تلویزیون","SEARCH_PERSONS":"بازیگران، کارگردانان و نویسندگان","SEARCH_PROTOCOLS":"پیوندهای HTTP و مگنت","SEARCH_TYPES":"پیوندهای IMDB / TVDB","WATCHED":"تماشا شده","SHOW_LESS":"نمایش موارد کمتر","LAST_SEARCHES":"آخرین جستجوها","CLEAR_HISTORY":"پاک کردن تاریخچه","CHOOSE_SOME":"برخی از این موارد را انتخاب کنید:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"کنترل از راه دور وب بارگیری نشد","STREMIO_OFFLINE":"Stremio آفلاین است","STREMIO_EXPENSIVE_CONNECTION":"ما متوجه شده ایم که از اتصال داده تلفن همراه استفاده می کنید، آیا می خواهید ادامه دهید؟","USE_DATA":"استفاده از داده ها","WARNING":"هشدار","MORE_INFO":"اطلاعات بیشتر...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"در حال بارگذاری...","STREMIO_TV_BACK_TO_LANGUAGES":"بازگشت به زبان ها","STREMIO_TV_REMOTE":"از راه دور","STREMIO_TV_GO_TO":"رفتن به:","STREMIO_TV_OR_SCAN":"یا اسکن کنید:","STREMIO_TV_ADDON_INSTRUCTIONS":"لطفاً دستورالعمل ها را دنبال کنید تا افزونه های دلخواه خود را نصب کنید.","STREMIO_TV_LIVE_TV":"تلویزیون زنده","STREMIO_TV_RESUME_WATCHING":"از سرگیری تماشا","STREMIO_TV_LOADING_BACKGROUND":"در حال بارگذاری پس زمینه","STREMIO_TV_CHECKING_AUTHENTICATION":"بررسی احراز هویت","STREMIO_TV_LOADING_BOARD":"بارگیری تابلو","STREMIO_TV_LOGIN_HEADER_LINE_1":"ما می خواهیم کاربرانمان بهترین تجربه شخصی سازی شده ممکن را با نرم افزار ما داشته باشند.","STREMIO_TV_LOGIN_HEADER_LINE_2":"به همین دلیل است که از شما می خواهیم حساب کاربری خود را ایجاد و/یا وارد شوید.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"ممنون از درک شما،","STREMIO_TV_LOGIN_FOOTER_LINE_2":"تیم Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"به منظور استفاده از کنترل وب با تلفن هوشمند / تبلت / دسکتاپ:","STREMIO_TV_WIFI_SETUP":"راه اندازی Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle اتصال اینترنت را شناسایی نکرد.","STREMIO_TV_WIFI_DETAILS_1":"اتصال به:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"استفاده از رمز عبور:","STREMIO_TV_WIFI_DETAILS_4":"StremioCircle","STREMIO_TV_WIFI_DETAILS_5":"یک مرورگر وب را با پیوند باز کنید:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"پیش فرض","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"توسط آخرین تماشا","STREMIO_TV_LIBRARY_SORT_NAME":"توسط نام","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"توسط نام نزولی","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"توسط تعداد مشاهده‌ها","STREMIO_TV_LIBRARY_SORT_WATCHED":"توسط تماشا شده","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"توسط تماشا نشده","STREMIO_TV_DETAILS_SEASON_NUMBER":"فصل ${1}","STREMIO_TV_STREAMS_LOADING":"افزونه‌های ${1} / ${2} بارگیری شد...","STREMIO_TV_STREAMS_STILL_LOADING":"افزونه ${1} هنوز در حال بارگیری است...","STREMIO_TV_PLAYER_SETTINGS":"تنظیمات پخش کننده","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"تاخیر زیرنویس","STREMIO_TV_PLAYER_AUDIO_DELAY":"تاخیر صوتی","STREMIO_TV_PLAYER_VIDEO_SCALING":"مقیاس بندی ویدیو","STREMIO_TV_PLAYER_CHAPTERS":"بخش ها","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"رد شدن ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"منبع استریم پشتیبانی نشده است","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"پیوند خارجی باز نشد","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"در حالت عبور صوتی قابل تنظیم نیست","STREMIO_TV_PLAYER_PLAY_IN_EXO":"پخش با ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"پخش با libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"تغییر به پخش کننده libVLC به دلیل خطای پخش","STREMIO_TV_ADDONS_TITLE":"برای نصب یا پیکربندی افزونه ها از Stremio بر روی تلفن همراه یا رایانه شخصی خود استفاده کنید و گزینه \\"همگام‌سازی افزونه ها\\" را انتخاب کنید","STREMIO_TV_ADDONS_SUBTITLE":"توجه: مطمئن شوید که از همان حساب Stremio استفاده می کنید","STREMIO_TV_ADDONS_SYNC_ADDONS":"همگام سازی افزونه ها","STREMIO_TV_ADDONS_SYNC_SUCCESS":"افزونه ها با موفقیت همگام‌سازی شدند","STREMIO_TV_ADDONS_SYNC_FAILED":"همگام سازی افزونه ها انجام نشد","STREMIO_TV_META_LINK_FAILED":"پیوند متا باز نشد","STREMIO_TV_CATALOG_LOADING":"کاتالوگ هنوز در حال بارگیری است...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"زبان رابط کاربری به روز شد","STREMIO_TV_SETTINGS_THEME_UPDATED":"تم به روز شد","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"پخش کننده پیش فرض","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"پخش کننده خارجی","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"زبان برگزیده","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"زبان ترجیحی ثانویه","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"پخش تونلی","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"مشکلات احتمالی پخش در برخی دستگاه ها","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"برخی از فرمت های ویدیویی ممکن است کار نکنند","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"تطبیق نرخ فریم","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"غیر فعال","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"فقط نرخ فریم","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"نرخ فریم و وضوح تصویر","STREMIO_TV_SETTINGS_NO_CACHING":"بدون حافظه پنهان","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"پیش فرض","STREMIO_TV_SETTINGS_PROFILE_SOFT":"نرم","STREMIO_TV_SETTINGS_PROFILE_FAST":"سریع","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"فوق العاده سریع","STREMIO_TV_SETTINGS_SERVER_URL":"آدرس سرور استریم","STREMIO_TV_SETTINGS_SERVER_VERSION":"نسخه سرور","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"ناشناخته","STREMIO_TV_SETTINGS_STREMIO_VERSION":"نسخه Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"ویرایش آدرس سرور","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"آدرس سرور استریم را وارد کنید","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"نمایش آمار هنگام بارگذاری","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"برای خواندن خط مشی رازداری Stremio، به این آدرس مراجعه کنید:","STREMIO_TV_SETTINGS_TOS_TEXT":"برای مطالعه شرایط و ضوابط Stremio، به آدرس زیر مراجعه کنید:","STREMIO_TV_NAV_SEARCH":"جستجو","STREMIO_TV_NAV_HOME":"صفحه اصلی","STREMIO_TV_NAV_DISCOVER":"کشف کردن","STREMIO_TV_NAV_LIBRARY":"کتابخانه","STREMIO_TV_NAV_MOVIES":"فیلم ها","STREMIO_TV_NAV_SERIES":"سریال‌ها","STREMIO_TV_NAV_CHANNELS":"کانال ها","STREMIO_TV_NAV_TV":"تلویزیون زنده","STREMIO_TV_NAV_SETTINGS":"تنظیمات","STREMIO_TV_NAV_ADDONS":"افزونه ها","STREMIO_TV_LOGIN_TITLE":"پیوند حساب","STREMIO_TV_LOGIN_EXPIRES_IN":"منقضی می شود در","STREMIO_TV_LOGIN_STEP_ONE":"کد QR بالا را اسکن کنید یا به آن بروید","STREMIO_TV_LOGIN_STEP_TWO":"وارد حساب کاربری Stremio خود شوید","STREMIO_TV_LOGIN_NEW_LINK":"درخواست لینک جدید","STREMIO_TV_LOGIN_LINK_REFRESHED":"کد ورود سیستم به‌روز شد","STREMIO_TV_SEARCH_PLACEHOLDER":"چیزی تایپ کنید","STREMIO_TV_SEARCH_NO_ADDONS":"هیچ افزونه ای برای کاتالوگ ها درخواست نشد!","STREMIO_TV_SEARCH_BUTTON":"جستجو","STREMIO_TV_SEARCH_KEY_DEL":"حذف","STREMIO_TV_SEARCH_KEY_SPACE":"فاصله","STREMIO_TV_SEARCH_KEY_CLEAR":"پاک کردن","STREMIO_TV_SEARCH_HISTORY_TITLE":"تاریخچه جستجو","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"می توانید عناوین، بازیگران، کانال ها و موارد دیگر را جستجو کنید...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"پاک کردن تاریخچه جستجو","STREMIO_TV_FILTERS_DESCRIPTION":"یکی از فیلترهای زیر را انتخاب کنید","STREMIO_TV_STREAMING_SERVER_OFFLINE":"سرور استریم آفلاین است. تنظیمات سرور را بررسی کنید.","FILTERS":"فیلترها","SETTINGS":"تنظیمات","ACCOUNT":"حساب","LOGOUT":"خروج از سیستم","THEMES":"تم","PLAYBACK":"پخش","PLAYBACK_SPEED":"سرعت پخش","AUDIO_TRACKS":"فایل‌های صوتی","UNKNOWN_TRACK_LANG":"ناشناخته","VIDEOS":"ویدیوها","SERVER":"سرور","LINKS":"پیوندها","ABOUT":"درباره","INTERFACE":"رابط","ANIMATIONS":"انیمیشن ها","STATUS":"وضعیت","LANGUAGE":"زبان","SIZE":"اندازه","DELAY":"تاخیر","BOLD":"پررنگ","OPACITY":"تیرگی","TEXT_COLOR":"رنگ متن","OUTLINE_COLOR":"رنگ بیرونی","BACKGROUND_COLOR":"رنگ پس‌زمینه","BACKGROUND_BLUR":"تاری پس زمینه","SEEK_TIME_DURATION":"به دنبال مدت زمان","AUTO_PLAY":"پخش خودکار قسمت بعدی","PLAY_NOW":"الان پخش کن","MARK_AS_WATCHED":"علامت گذاری به عنوان تماشا شده","MARK_AS_UNWATCHED":"علامت گذاری به عنوان دیده نشده","REWIND_TO_BEGINNING":"شروع از اول","CONTINUE_WATCHING":"به تماشا ادامه دهید","ALL":"همه","SECONDS":"ثانیه","ON":"روشن","OFF":"خاموش","RELOAD":"بارگذاری مجدد","EDIT_URL":"ویرایش URL","URL":"URL","NONE":"هیچ کدام","EMBEDDED":"تعبیه شده","LOCAL":"محلی","REMOTE_SWITCH_DEVICES":"تعویض دستگاه ها","REMOTE_VIDEOS":"ویدیوها","REMOTE_ADJUST_TIMING":"تنظیم زمان‌بندی","REMOTE_ADJUST_SIZE":"تنظیم اندازه","REMOTE_COULD_NOT_BE_LOADED":"کنترل از راه دور وب بارگیری نشد","REMOTE_RETRY":"امتحان دوباره","TORRENT_PROFILE_DEFAULT":"پیش فرض","TORRENT_PROFILE_SOFT":"نرم","TORRENT_PROFILE_FAST":"سریع","TORRENT_PROFILE_ULTRA_FAST":"فوق العاده سریع","MB_S":"MB/s","FAQ_001_H1":"Stremio چیست؟","FAQ_001_P1":"Stremio یک برنامه مرکز رسانه است که برای لذت بردن از موارد ویدیویی با تمرکز بر راحتی استفاده طراحی شده است. این اپلیکیشن به شما امکان می دهد که مجموعه فیلم ها، سریال ها، کانال ها و تلوزیون زنده خود را سازماندهی و تماشا کنید.","FAQ_001_P2":"Stremio اطلاعاتی را که ارائه می دهد از حافظه داخلی شما و افزونه های ما جمع آوری می کند.","FAQ_001_P3":"همچنین شما را در جریان انتشار قسمت‌ها/ویدیو‌ها/فیلم‌های جدیدی که به آن‌ها علاقه دارید قرار می‌دهد و پیشنهادهایی برای دیدن فیلم مطرح می‌کند.","FAQ_02_H1":"Stremio چگونه با Kodi و Plex مقایسه می شود؟","FAQ_02_P1":"ما از این دو نرم افزار الهام گرفته ایم. اما ما اهداف متفاوتی داریم - Stremio به طور خاص به سمت ویدیوهای سرگرمی هدف گذاری شده است و تلاش می کند تا با استفاده بسیار آسان به راه حل اصلی برای آن تبدیل شود.","FAQ_02_P2":"Stremio هرگز به اندازه Kodi و Plex قابل تنظیم و ویژگی های غنی نخواهد بود، اما استفاده از آن به طور قابل توجهی آسان تر است. فقط ${1} آن را دریافت کنید و ${2} را ببینید :)","FAQ_03_H1":"Stremio چگونه با Netflix مقایسه می شود؟","FAQ_03_P1":"باز هم، نتفلیکس یکی از الهام‌بخش‌های ما است. ما در تلاش برای دستیابی به تجربه کاربری نتفلیکس، به علاوه بسیاری از موارد مفید هستیم. اما مهمتر از همه، ما به شما این آزادی را می دهیم که کتابخانه خود را مدیریت کنید و منابع محتوای جدید را با سیستم افزونه خود اضافه کنید.","FAQ_03_P2":"این باعث می‌شود Stremio بی‌نهایت قابل تمدید باشد، بنابراین وقتی از Stremio استفاده می‌کنید، هرگز محدود به محتوایی نیستید که Netflix تصمیم به صدور مجوز می‌گیرد. برای مثال، از طریق Stremio می‌توانید محتوایی را از ${1} Filmon.tv ${2}، ${3} Twitch.tv${4}، ${5}YouTube${6}، ${7}Vodo$ تماشا کنید. {8} و حتی خود ${9}Netflix${10}!","FAQ_04_H1":"Stremio چگونه با Flipboard مقایسه می شود؟","FAQ_04_P1":"ما اغلب این پرسش را جواب نمی‌دهیم، مگر زمانی که با افراد تازه کار صحبت می‌کنیم :)","FAQ_04_P2":"استریمو به طور ذاتی یک گردآورنده محتوا است که اساساً آن را به یک فلیپ‌برد برای ویدیو تبدیل می‌کند. این موضوع به ویژه در بخش «تابلو» (Board) ما بسیار مشهود است که کاتالوگ‌ها و اعلان‌های قسمت‌های جدید/ویدیوهای جدیدی را که دنبال می‌کنید، درست مانند فلیپ‌برد، به شما ارائه می‌دهد.","FAQ_05_H1":"Stremio چگونه با Popcorn Time مقایسه می شود؟","FAQ_05_P1":"Stremio و Popcorn Time در رابط کاربری مشابه هستند، زیرا راه های زیادی برای انجام درست کاتالوگ های سرگرمی ویدیویی وجود ندارد :)","FAQ_05_P2":"اما در حالی که Popcorn Time بر روی استریم کردن تورنت از منابع خاص متمرکز است، Stremio نامحدود است و صرفاً یک جمع‌آورنده محتوا است - در منبع محتوای خاصی قفل نشده است.","FAQ_05_P3":"علاوه بر این، ما هیچ افزونه تورنتی را به‌طور پیش‌فرض ارائه نمی‌کنیم، بنابراین Stremio موارد استفاده Popcorn Time را با عملکرد رسمی پوشش نمی‌دهد.","FAQ_05_P4":"تفاوت قابل توجه دیگر این است که Popcorn Time کاملاً منبع باز است، در حالی که Stremio ${1} تا حدی منبع باز ${2} است.","FAQ_06_H1":"آیا این فیلم/سریال را اضافه می کنید؟","FAQ_06_P1":"نه ببخشید :(","FAQ_06_P2":"همانطور که در بسیاری از سوالات دیگر ذکر شد، Stremio هیچ محتوایی را به خودی خود ارائه نمی دهد - همه چیز از طریق سیستم افزونه ها اضافه می شود. اگر درخواست محتوا دارید، می‌توانید از دکمه «گزارش» در Player استفاده کنید، که یک ایمیل برای نویسنده افزونه‌ای که در حال حاضر استفاده می‌کنید ارسال می‌کند.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"آیا افزونه ای برای X ایجاد می کنید؟","FAQ_08_P1":"کاملا امکان پذیر است.","FAQ_08_P2":"اگر ایده ای برای افزونه دارید، به آدرس ${1}office@stremio.com${2} برای ما بفرستید، اما لطفاً مطمئن شوید که ایده افزونه شما هیچ گونه حق نسخه برداری یا شرایط استفاده را نقض نمی کند.","FAQ_08_P3":"در حال حاضر، چیزهای بعدی در نقشه راه ما افزونه‌هایی برای FandangoNOW، ویدیوی درخواستی Filmon.tv و Crunchyroll هستند.","FAQ_09_H1":"آیا Stremio از بیت تورنت استفاده می کند؟","FAQ_09_P1":"بله، Stremio از بیت تورنت به عنوان یک پروتکل استریم پشتیبانی می کند. می‌توانید از آن با افزونه تورنت یا با کشیدن و رها کردن یک فایل تورنت. در Stremio یا با چسباندن یک لینک مگنت در نوار جستجو استفاده کنید.","FAQ_09_P2":"لطفاً توجه داشته باشید که تنها افزونه رسمی که از BitTorrent استفاده می‌کند، ${1}Vodo${2} است که محتوای مستقلی را ارائه می‌کند که همگی مجاز به توزیع با BitTorrent هستند.","FAQ_09_P3":"ما از استفاده از افزونه های شخص ثالث که ممکن است نقض حق نسخه برداری را فعال کند، پشتیبانی نمی کنیم.","FAQ_10_H1":"چه چیزی را می توانم در Stremio با افزونه های رسمی تماشا کنم؟","FAQ_10_P1":"به طور پیش فرض، می توانید محتوای Filmon.tv، YouTube و Vodo را در خود Stremio با پخش کننده تعبیه شده تماشا کنید. علاوه بر این، ما یک افزونه برای Twitch.tv و چند مورد دیگر داریم.","FAQ_10_P2":"این ترکیب مجموعه ای از موارد زیر را ارائه می دهد:","FAQ_10_L1":"کانال های تلویزیونی محبوب ارائه شده توسط Filmon.tv - به عنوان مثال E4، BBC، Bollyworld TV","FAQ_10_L2":"همه چیز از YouTube - برای مثال BBC News، Top Gear، Vevo، PewDiePie","FAQ_10_L3":"فیلم های مستقل با Vodo","FAQ_10_L4":"پخش بازی های آنلاین با Twitch.tv","FAQ_10_P3":"علاوه بر این، منابع محتوای زیادی با Guidebox و افزونه‌های Netflix ارائه شده‌اند که <b>نمی‌شوند</b> کاملاً در Stremio پخش شوند، اما به سرویس داده‌شده هدایت می‌شوند. به عنوان مثال، افزونه Guidebox مجموعه‌ای از فیلم‌هایی را که می‌توانید به صورت رایگان در ایالات متحده پخش کنید، از سرویس‌هایی مانند TubiTV و Crackle در اختیار شما قرار می‌دهد.","FAQ_11_H1":"Stremio نصب نمیشه، چیکار کنم؟","FAQ_11_P1":"اگر از ویندوز استفاده می کنید، ${1}این نصب کننده جایگزین${2} را امتحان کنید.","FAQ_11_P2":"اگر از Mac OS X استفاده می‌کنید، لطفاً توجه داشته باشید که ما هیچ چیز قدیمی‌تر از OS X Mavericks (10.9) را پشتیبانی نمی‌کنیم.","FAQ_11_P3":"اگر از لینوکس استفاده می کنید، توجه داشته باشید که ما در حال حاضر فقط از لینوکس 64 بیتی (x64) پشتیبانی می کنیم.","FAQ_11_P4":"اگر هنوز نمی توانید مشکل خود را حل کنید، لطفاً در ${1}گروه Facebook${2} ما برای ما بنویسید.","FAQ_12_H1":"چرا آنتی ویروس مرا اخطار می دهد؟ آیا Stremio امن است؟","FAQ_12_P1":"ما به شما اطمینان می دهیم که Stremio ${1}100% تمیز ${2} است.","FAQ_12_P2":"آنتی ویروس شما اخطار می‌دهد زیرا ما تبلیغاتی را در نصب کننده خود اضافه می کنیم که برخی از برنامه های ضد ویروس آن را به عنوان ad-ware می شناسند.","FAQ_12_P3":"اگر هنوز مطمئن نیستید، می‌توانید ${1}نصب‌کننده جایگزین${2} ما را امتحان کنید.","FAQ_13_H1":"چگونه می توانم یک افزونه بسازم؟","FAQ_13_P1":"برای شروع، توصیه می‌کنیم ${1}addons system module${2} ما را در GitHub بررسی کنید.","FAQ_13_P2":"پس از آن، می‌توانید ${1}آموزش Hello World${2} را دنبال کنید.","FAQ_13_P3":"اگر هیچ مهارت برنامه نویسی ندارید، لطفاً ایده خود را در ${1}انجمن Reddit${2} ارسال کنید و با ایده افزونه خود در ${3}office@stremio.com${4} با ما تماس بگیرید.","FAQ_14_H1":"افزونه ها چگونه منتشر می شوند؟","FAQ_14_P1":"هنگامی که یک افزونه و میزبان ایجاد می‌کنید و یک فیلد <b>نقطه پایانی</b> در مانیفست خود قرار می‌دهید که به آدرس افزونه فعال اشاره می‌کند، افزونه به‌طور خودکار خود را در ${1}کاتالوگ Addon${2} ما منتشر می‌کند.","FAQ_14_P2":"این اتفاق می افتد زیرا بخش سرور ماژول stremio-addons به طور خودکار با API ما تماس می گیرد تا افزونه را اعلام کند. هنگامی که API ما <b>نقطه پایان</b> شما را به عنوان یک افزونه معتبر تأیید می‌کند، در کاتالوگ نشان داده می‌شود.","FAQ_15_H1":"آیا می توانم Stremio را در مرورگر خود اجرا کنم؟","FAQ_15_P1":"در حال حاضر نه، اما این در حال آمدن است!","FAQ_15_P2":"اگر شما کنجکاو هستید تا یک آلفا را ببینید، می توانید آن را در اینجا ببینید: ${1}alpha4.strem.io${2}. به خاطر داشته باشید که استریمینگ در این آلفا غیر فعال است. ما Chrome ،Firefox ،Opera و Edge را پشتیبانی می کنیم.","FAQ_16_H1":"ارسال به تلویزیون کار نمی کند / زیرنویس ها کار نمی کنند","FAQ_16_P1":"Casting to TV از فناوری DLNA استفاده می کند که بین برندها و مدل های مختلف تلویزیون بسیار متناقض است. به همین دلیل، ما توانایی آزمایش آن را در هر موردی نداریم، بنابراین با کامل بودن فاصله زیادی دارد. با وجود این، ما در حال کار بر روی بهبود مداوم آن هستیم، اما نمی توانیم تخمین زمانی را در مورد زمان شروع کار صحیح DLNA با تلویزیون شما به شما ارائه دهیم.","FAQ_16_P2":"اگر حتی تلویزیون خود را در منوی ارسال نمی‌بینید، لطفاً اتصال شبکه خود را غیرفعال کرده و مجدداً فعال کنید (در ویندوز، روی Network کلیک راست کرده و از Enable/Disable استفاده کنید)، و همچنین روتر، تلویزیون و رایانه شخصی خود را مجدداً راه‌اندازی کنید.","FAQ_16_P3":"اگر همچنان با مشکل مواجه هستید، می‌توانید با ارسال اطلاعات برند و مدل تلویزیون خود به آدرس ${1}office@stremio.com${2} به ما کمک کنید.","FAQ_16_P4":"در عین حال، Chromecast را توصیه می کنیم که به خوبی از آن پشتیبانی می کنیم یا به سادگی تلویزیون خود را با کابل HDMI به رایانه شخصی خود وصل کنید.","FAQ_17_H1":"Stremio فریز می‌شود و/یا خراب می شود، چه کاری می توانم انجام دهم؟","FAQ_17_P1":"اول از همه، اگر از Windows 7 با ضد ویروس AVG استفاده می کنید: ما با این ترکیب مشکل داریم. مشکل در AVG است و راه منطقی برای حل آن در سمت ما وجود ندارد. متأسفانه، استثناها یا غیرفعال کردن ضد ویروس کار نمی کند. تنها راه حل جایگزینی AVG با چیز دیگری است.","FAQ_17_P2":"اگر مشکل این نیست، اما همچنان از ویندوز استفاده می‌کنید، لطفاً به آخرین سرویس پک به‌روزرسانی کنید و درایورهای GPU خود را به‌روزرسانی/نصب مجدد کنید، سپس دوباره امتحان کنید.","FAQ_17_P3":"اگر مشکل شما هنوز حل نشده است، یا از مک یا لینوکس استفاده می‌کنید، لطفاً جزئیات دقیق مشکل را در ${1}گروه ما در فیسبوک${2} برای ما بنویسید.","FAQ_18_H1":"چگونه می توانم افزونه ایجاد کنم؟","FAQ_18_P1":"برای شروع، توصیه می‌کنیم ${1}addons system module${2} ما را در GitHub بررسی کنید.","FAQ_18_P2":"پس از آن، می‌توانید ${1}آموزش Hello World${2} را دنبال کنید.","FAQ_18_P3":"اگر هیچ مهارت برنامه نویسی ندارید، لطفاً ایده خود را در ${1}انجمن Reddit${2} ارسال کنید و با ایده افزونه خود در ${3}office@stremio.com${4} با ما تماس بگیرید.","FAQ_19_H1":"چرا Stremio فضای دیسک را اشغال می کند؟","FAQ_19_P1":"Stremio یک <b>حافظه پنهان محلی</b> برای نگهداری موقت فایل‌های ویدئویی که پخش می‌کنید دارد.","FAQ_19_P2":"این دو مزیت دارد: اول اینکه به Stremio اجازه می‌دهد تا ویدیوی پیش‌رو را از قبل بافر کند تا از پخش روان‌تر اطمینان حاصل شود. دوم، ویدئوها را در حافظه پنهان محلی نگه می دارد تا بتوانید به تماشای آفلاین آنها ادامه دهید.","FAQ_19_P3":"مقدار Stremio به تنظیم <b>Cache</b> در پانل تنظیمات بستگی دارد. Stremio ممکن است تا مقدار تنظیم‌شده (مثلاً 2 گیگابایت) روی دیسک شما باقی بماند، مگر اینکه ویدیوی پخش‌شده فعلی بزرگ‌تر از آن باشد، در این صورت باید فضای ذخیره‌سازی کافی برای حفظ آن تا زمانی که آن را پخش کنید، اختصاص دهد.","FAQ_20_H1":"پوشه کش کجاست؟","FAQ_20_P1":"در ویندوز، آن stremio-cache در درایوی است که در تنظیمات انتخاب کرده اید (به عنوان مثال \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"در MacOS، \\"~/Library/Application Support/Stremio/stremio-cache\\" است","FAQ_20_P3":"در لینوکس، \\"~/.stremio/stremio-cache\\" یا \\"~/stremio-cache\\" است","FAQ_21_H1":"من با خطای \\"سرور استریم یافت نشد\\" مواجه شدم، چه باید بکنم؟","FAQ_21_P1":"اگر این خطا را دریافت کردید، به معنی یکی از موارد زیر است:","FAQ_21_P2":"1) شما دارید سعی می کنید از یک افزونه توسط منبع YouTube/BitTorrent، از طریق نسخه ${1}وب ما${2} استفاده کنید. در این موارد، باید نسخه دسکتاپ ما را از ${3}وبسایت ما${4} نصب کنید.","FAQ_21_P3":"2) مشکلی در نصب Stremio شما وجود دارد. در این مورد، سعی کنید آخرین نسخه دسکتاپ ما را از ${1}وب سایت${2} دوباره نصب کنید. اگر این کار کمکی نکرد، برنامه های ضد ویروس و فایروال ها را غیرفعال کنید، کامپیوتر خود را مجددا راه اندازی کنید و دوباره امتحان کنید. اگر این نیز جواب نداد، لطفاً در ${3}گروه ما در فیس بوک${4} برای ما بنویسید.","FAQ_22_H1":"با iOS اکثر افزونه‌ها قابل مشاهده و استفاده نیستند","FAQ_22_P1":"به دلیل محدودیت‌های موجود در شرایط و ضوابط فروشگاه App Apple، ما برنامه iOS را فقط به مجموعه خاصی از افزونه‌ها محدود کرده‌ایم.","FAQ_22_P2":"اما مطمئن باشید - در آینده افزونه های بیشتری برای iOS وجود خواهد داشت، و ممکن است همچنین یک ادغامی اضافه کنیم که به شما اجازه می دهد تمام افزونه های Stremio را با اتصال برنامه iOS به سرور استریمینگ Stremio استفاده کنید."}')},51171:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Elokuva","TYPE_series":"Sarja","TYPE_tv":"TV-kanava","TYPE_channel":"Kanava","TYPE_other":"Muu","TYPE_movie_PL":"Elokuvat","TYPE_series_PL":"Sarjat","TYPE_tv_PL":"TV-kanavat","TYPE_channel_PL":"Kanavat","TYPE_other_PL":"Muut","TYPE_ALL":"Kaikki","TYPE":"Tyyppi","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Takaisin","MORE":"Lisää","DONE":"Valmis","COPY":"Kopioi","SUCCESS":"Onnistui","ERROR":"Virhe","SETTINGS_CASTING_MODE_PICKER":"Heijastustila","CASTING_MODE_HLSV2":"Oletus","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Ei muunnosta","Discover":"Tutustu","Board":"Lauta","Library":"Kirjasto","My Library":"Oma kirjasto","Calendar":"Kalenteri","NOTIFICATION_ONLINE":"Olet nyt verkossa","NOTIFICATION_OFFLINE":"Olet tällä hetkellä offline-tilassa","INTERNET_CONNECTION":"Verkkoyhteys","STORAGE_FULL_TITLE":"Varoitus: Tallennustila täynnä!","STORAGE_FULL_TEXT":"Stremio ei pysty tallentamaan asetuksiasi, mieltymyksiäsi tai kirjautumistietojasi. Harkitse Stremion uudelleenkäynnistämistä tai uudelleenasentamista.","SEARCH":"haku","SEARCH_NO_RESULTS":"Ei tuloksia","SEARCH_EXPLANATION_CONTENT":"Etsi elokuvia, sarjoja, YouTube- ja TV-kanavia","SEARCH_EXPLANATION_PEOPLE":"Etsi näyttelijöitä, ohjaajia ja käsikirjoittajia","SEARCH_PASTE_LINKS":"Liitä HTTP- ja Magnet-linkkejä","SEARCH_OR_PASTE_LINK":"Etsi tai liitä linkki","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Lisää kirjastoon","REMOVE_FROM_LIB":"Poista kirjastosta","ADDED_TO_LIB":"Lisätty kirjastoon","REMOVED_FROM_LIB":"Poistettu kirjastosta","TRAILER":"Traileri","WATCH_TRAILER":"Katso traileri","WATCH_NOW":"Katso nyt","SHOW":"Näytä","SHOW_MOVIE":"Näytä elokuva","WATCH_RANDOM":"Katso satunnainen","IMDB_RATING":"IMDb-arvosana","YEAR":"Vuosi","DIRECTOR":"Ohjaaja","WRITER":"Käsikirjoittaja","LEAD_ACTORS":"Pääosissa","CAST":"Näyttelijät","CREW":"Työryhmä","SHOW_MORE_CAST":"Näytä lisää »","AIRED":"Esitetty","SEASONS":"Kaudet","GENRE":"Laji","GENRE_ALL":"Kaikki lajit","CATALOG":"Katalogi","SUMMARY":"Tiivistelmä","SHOW_MORE":"Näytä lisää","SIMILAR":"Samanlaisia","UPCOMING":"Tulossa","TBA":"TBA","ENDED":"Päättyi","DURATION":"Kesto","FEATURED":"Esittelyssä","METADATA":"Metatiedot","CATEGORY":"kategoria","LINKS_GENRES":"Lajit","LINKS_CAST":"Näyttelijät","LINKS_DIRECTORS":"Ohjaajat","SEARCH_VIDEOS":"etsi videoita","SEARCH_PLACEHOLDER":"etsi tai liitä URL","ADDON":"lisäosa","ADDONS":"Lisäosat","OFFICIAL":"virallinen","ADDONS_OFFICIAL":"Viralliset Stremio-lisäosat","ADDONS_POPULAR":"Suosittuja alueellasi","ADDON_FREE":"ilmainen","ADDON_PEERED":"jaettu","ADDON_SUBSCRIPTION":"tilaus","ADDON_STREAM_GEORESTRICTED":"ei saatavilla alueellasi","ADDON_STREAM_OFFLINECACHE":"Offline-välimuisti","ADDON_STREAM_LOCALFILE":"Paikallinen tiedosto","SHARE_ADDON":"Jaa lisäosa","AVAILABLE_STREAMS":"Saatavilla olevat streamit","NO_STREAM":"Streamia ei löytynyt","ALL_ADDONS":"Kaikki","INSTALL_MORE_ADDONS":"Asenna lisää lisäosia saadaksesi lisää streamejä","STREAM_NOT_SUPPORTED":"Valittu stream ei ole tuettu tällä alustalla.","ADDON_CATALOGUE":"Näytä kaikki lisäosat »","ADDON_CATALOGUE_MORE":"Asenna lisäosia","REPO_ADDED":"Kokoelma lisätty","ADDON_REPO_EXIST_ERR":"Tämä lisäosakokoelma on jo olemassa","ADDON_REPO_ERR":"Virhe lisäosakokoelman lisäämisessä","ADDON_ADD_ERR":"Virhe lisäosan lisäämisessä","ERR_ADDON_PROTECTED":"Lisäosaa ei voi poistaa, se on suojattu","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Jotain meni pieleen - todennus epäonnistui","ERR_NOT_COLLECTION_URL":"Ei kokoelman URL-osoite","ERR_NOT_ADDON_URL":"Ei kelvollinen lisäosan URL-osoite","ERR_DETECTFROMURL":"Lisäosaa/kokoelmaa ei löydy tästä URL-osoitteesta","ADDON_DUPLICATE_WARNING":"Varoitus: duplikaattilisäosa","ADDON_COLLECTION_SET_FAILED":"Asennettujen lisäosien synkronointi tilillesi epäonnistui","SETTINGS_DATA_EXPORT":"Vie käyttäjätiedot","ADDON_PULL_FAILED":"Asennettujen lisäosien synkronointi tililtäsi epäonnistui","REFRESH_ON_CLICK":"Klikkaa yrittääksesi uudelleen","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Elokuva yhä teattereissa","WATCH_IN_CINEMA":"Katso se paikallisessa elokuvateatterissa","IN_THEATER":"Teatterissa","GET_TICKETS":"Osta liput","UPCOMING_EPISODE":"Tuleva jakso","UPCOMING_EPISODE_MESSAGE":"Tämä jakso esitetään","MISSING_DATE_EPISODE":"Puuttuva jakson päivämäärä","MISSING_DATE_EPISODE_MESSAGE":"Tämä jakso ei ehkä ole vielä esitetty","CHANNEL_NOT_SCRAPED":"Tätä kanavaa ei ole vielä haettu.<br>Palaa takaisin muutaman minuutin kuluttua.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Lisää se kirjastoosi, niin saat ilmoituksen, kun se on saatavilla.","GET_NOTIFIED_WHEN_AVAILABLE":"Saat ilmoituksen, kun se on saatavilla.","WARNING_STREAMING_SERVER":"Varoitus: paikallista stream-palvelinta ei löytynyt. Paikallisista tiedostoista, YouTube- ja BitTorrent-streamauksesta ei ole saatavilla.","WARNING_STREAMING_SERVER_DISMISS":"Hylkää","WARNING_STREAMING_SERVER_LATER":"Myöhemmin","DECODER_WARNING":"Varoitus: tämä video ei ehkä ole tuettu laitteistollasi. Huomioi, että toisto voi olla hidasta.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, soitinvirhe","PLAYER_ERROR_LOOKSLIKE":"Näyttää siltä,","PLAYER_ORIENTATION":"Soittimen suuntaus","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Lukittu","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensori","PLAYER_ORIENTATION_LANDSCAPE":"Soittimen suuntaus lukittu vaakasuoraan","PLAYER_ORIENTATION_SENSOR":"Soittimen suuntaus automaattinen (sensori)","PLAYER_PLAYBACK_SPEED":"Toistonopeus","PLAYER_PLAYBACK_ERROR":"Toistovirhe, yritä uudelleen","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Tuntematon virhe","PLAYER_PLAYBACK_ERROR_DEFAULT":"Valitettavasti tätä videota ei voi toistaa {{productName}}:lla.","PLAYER_SUBTITLES_LANGUAGES":"Tekstityskielet","PLAYER_SUBTITLES_VARIANTS":"Tekstitysversiot","PLAYER_SUBTITLES_SETTINGS":"Tekstitysasetukset","PLAYER_SUBTITLES_DISABLED":"Tekstitykset pois päältä","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Pystysuuntainen sijainti","PLAYER_SUBTITLES_LOADED":"Tekstitykset ladattu","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Upotetut tekstitykset ladattu","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Yksinoikeudella olevat tekstitykset ladattu","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Tekstitykset lähteestä {{origin}} ladattu","PLAYER_PLAY":"Toista","PLAYER_PAUSE":"Tauko","PLAYER_NEXT_VIDEO":"Seuraava video","PLAYER_MUTE":"Mykistä","PLAYER_UNMUTE":"Poista mykistys","PLAYER_OPEN_IN_EXTERNAL":"Avaa ulkoisessa soittimessa","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Toista laitteessa {{device}}","PLAYER_LIVE":"Suora lähetys","PLAYER_NEXT_VIDEO_TITLE":"Seuraavaksi","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Hylkää","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Katso nyt","PLAYER_COPY_STREAM_SUCCESS":"Virtalinkki kopioitu leikepöydälle","PLAYER_COPY_STREAM_ERROR":"Virhe kopioitaessa virtalinkkiä","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"suoratoistetaan","CASTING_TO":"Heijastetaan","NETWORK_STATUS":"Verkon tila","STREAM_SPEED":"Suoratoistonopeus:","STREAM_BUFFERED":"Puskuroitu:","PEERS_INFO":"Käyttäjätiedot","PEERS_ACTIVE":"Aktiiviset:","PEERS_CONNECTED":"Yhdistetyt:","PEERS_WAITING":"Odottavat:","TRANSCODING_WARNING":"Varoitus: videon transkoodaus.","STREAM_LOADING":"ladataan...","PLAYING_LOCAL":"toistetaan paikallisesta tiedostosta","PLAYING_CACHE":"toistetaan välimuistista","WRONG_SUBS":"Väärät tekstitykset?","ERR_SUBS_LOADING_TITLE":"Virhe ladattaessa tekstityksiä","ERR_SUBS_LOADING":"Tekstitysten lataaminen epäonnistui: tämä voi johtua käyttämästäsi lisäosasta tai verkkoyhteydestäsi","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Seuraavat tekstityslisäosat epäonnistuivat","ERR_CASTING_UPDATE_TITLE":"Ei voitu päivittää heijastuslaitteen tietoja: suoratoistopalvelin saattaa olla poissa käytöstä","CHOOSE_DEVICE":"Valitse laite, jolla katsot","NO_CAST_DEVICES":"Ei heijastuslaitteita saatavilla.","NO_SETTINGS":"Ei asetuksia saatavilla.","NO_OPTIONS":"No options available","PHONE_TABLET":"Puhelin / Tabletti","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Tekstitykset","SUBTITLES_CHANGE":"Vaihda tekstityksiä kielelle ","SUBTITLES_CHANGE_NONE":"Tälle kielelle ei ole muita tekstityksiä, pahoittelut.","SUBTITLES_CHANGE_ACIVE":"Tällä hetkellä tekstitykset #{{subtitlesDialog.activeIdx + 1}} ovat käytössä. Klikkaa \\"Jatka\\" aktivoidaksesi tekstitykset #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Tai vaihtoehtoisesti,","SUBTITLES_ADJUST_DELAY":"Säädä tekstitysten viivettä:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Tai käytä näppäimiä <span>G</span> / <span>H</span> säätääksesi viivettä toiston aikana.","SUBTITLES_ADJUST_DELAY_TIP":"Vinkki: voit käyttää näppäimiä <span>G</span> / <span>H</span> säätääksesi viivettä toiston aikana.","SUBTITLES_DELAY":"Tekstitysten viive:","SUBTITLES_LOADING":"Ladataan tekstityksiä...","SUBTITLES_UNAVAILABLE":"Ei saatavilla olevia ulkoisia tekstityksiä","SUBTITLES_DISABLED":"Poissa käytöstä","EXTERNAL_PLAYER_DISABLED":"Poissa käytöstä","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Salli valitseminen","EXTERNAL_PLAYER_HINT":"Vinkki: asetuksista voi sallia aina avaamisen ulkoisessa soittimessa","DONT_SHOW_AGAIN":"Älä näytä uudelleen","SERVICE_INSTALL":"Asenna","AUDIO":"Ääni","DEFAULT_LANGUAGE":"Oletuskieli","DEFAULT_SECONDARY_LANGUAGE":"Oletus toissijainen kieli","SEASON":"Kausi","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Jakso","EPISODE_ABBREVIATION":"Jk","SPECIAL":"Erikoisjakso","SORT":"lajittele","SORT_BY":"Lajittele","FILTER":"suodata","SORT_TRENDING":"trendaavat","SORT_RECENT":"uusimmat","SORT_ALPHABET":"a-ö","SORT_ALPHABET_REVERSE":"ö-a","SORT_RATING":"arvostelu","SORT_WATCHED":"katsotuimmat","SORT_YEAR":"vuosi","SELECT":"Select","SELECT_TYPE":"Valitse tyyppi","SELECT_SORT":"Valitse lajittelu","SELECT_CATALOG":"Valitse katalogi","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Valitse genre","SORT_LASTWATCHED":"Viimeksi katsotun mukaan","SORT_NAME":"Nimen mukaan","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Katselukertojen mukaan","SORT_NOTWATCHED":"not watched","New for You":"Uutta sinulle","New Episodes":"Uudet jaksot","New Videos":"Uudet videot","Recommendations":"Suositukset","LIBRARY_RESUME":"Jatka","LIBRARY_PLAY":"Toista","LIBRARY_DETAILS":"Tiedot","LIBRARY_RESUME_DISMISS":"Hylkää","LIBRARY_CLEAR_PROGRESS":"Tyhjennä edistyminen","LIBRARY_REMOVE":"Poista","LIBRARY_NOT_LOGGED_IN":"Kirjasto on käytettävissä vain kirjautuneille käyttäjille","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Kalenteri on käytettävissä vain kirjautuneille käyttäjille","NOT_LOGGED_IN_CLOUD":"Pääsy suosikkielokuviisi ja TV-ohjelmiisi milloin tahansa, missä tahansa","NOT_LOGGED_IN_RECOMMENDATIONS":"Suositukset katseluhistoriasi perusteella","NOT_LOGGED_IN_NOTIFICATIONS":"Älä missaa yhtään jaksoa","NOT_LOGGED_IN_CALENDAR":"Aikatauluta henkilökohtainen katselukalenterisi","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Esittelyssä","DISCOVER_TOP":"Parhaat","DISCOVER_OSCAR":"Oscar-voittajat","DISCOVER_WARNING_TITLE":"Hups!","DISCOVER_EMPTY_CATALOG":"Tämä lisäosa palautti tyhjän sisällön.","DISCOVER_ADULT_WARNING":"Sisältö on näkyvissä vain aikuisille. Oletko yli 18-vuotias?","DISCOVER_NOADDON_WARNING":"Varoitus: tälle tyypille ei ole aktiivista Stremio-lisäosaa. Näytetään tallennetut kohteet, mikään täällä ei päivity.","DISCOVER_LOAD_ERR":"Sisältöä ei ladattu, virhe tapahtui.","DISCOVER_ADDON_UNINSTALLED":"Tämä sisältö ei ole enää saatavilla, olet ehkä poistanut lisäosan.","UNINSTALL_THIS_ADDON":"Poista tämä lisäosa","ERR_ADDON_NOT_INSTALLED":"Tätä lisäosaa ei ole asennettu. Asennetaanko nyt?","DETAIL_RECEIVE_NOTIF_SERIES":"Vastaanota ilmoituksia uusista jaksoista","DETAIL_RECEIVE_NOTIF_VIDEOS":"Vastaanota ilmoituksia uusista videoista","SIDEBAR_SHOW_STREAMS":"Näytä streamit","RELAUNCH":"Käynnistä uudelleen nyt!","UPGRADE":"Uusi versio on saatavilla! Päivitä uusimpaan Stremio-versioon","RELOAD_UI":"Lataa käyttöliittymä uudelleen","MANUAL_UPDATE_TITLE":"Päivitä Stremio-versiosi","MANUAL_UPDATE_LINE1":"Käytät vanhentunutta Stremio-versiota, mikä ei ole suositeltavaa.","MANUAL_UPDATE_LINE2":"Päivitä mahdollisimman pian.","BUTTON_UPDATE_LATTER":"Ei nyt","BUTTON_UPDATE_NOW":"Päivitä","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonyymi käyttäjä","DONT_HAVE_ACC":"Ei tiliä?","HAVE_ACC":"Onko sinulla jo tili?","PASSWORD":"Salasana","PASSWORD_CONFIRM":"Vahvista salasana","EMAIL":"Sähköposti","FB_LOGIN":"Jatka Facebookilla","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Mikään ei jaeta ilman lupaa","FB_NOPOST":"Emme julkaise mitään puolestasi","OR":"tai","I_ACCEPT":"Hyväksyn","I_ACCEPT_BY_CLICKING":"Klikkaamalla yllä olevaa painiketta vahvistan hyväksyväni ","TOS":"Käyttöehdot","MUST_ACCEPT_TERMS":"Sinun on hyväksyttävä ehdot","PASSWORDS_NOMATCH":"Salasanat eivät täsmää","SIGN_UP":"Rekisteröidy","SIGN_UP_EMAIL":"Rekisteröidy sähköpostilla","CLICK_TO_SIGN_UP":"Klikkaa tästä rekisteröityäksesi.","LOG_IN":"Kirjaudu sisään","LOG_OUT":"Kirjaudu ulos","EXIT_FULLSCREEN":"Poistu koko näytön tilasta","ENTER_FULLSCREEN":"Siirry koko näytön tilaan","PLAY_URL_MAGNET_LINK":"Toista URL-/magnet-linkki","HELP_FEEDBACK":"Apua ja palautetta","TERMS_OF_SERVICE":"Käyttöehdot","PRIVACY_POLICY":"Tietosuojakäytäntö","ABOUT_STREMIO":"Tietoa Stremiosta","USER_PANEL":"Käyttäjäpaneeli","LOGIN_LABEL":"Kirjaudu sisään","GUEST_LOGIN":"Vieraskirjautuminen","GUEST_LOGIN_NOTICE":"Vieraskirjautuminen ei ole suositeltavaa. Tavallisen kirjautumisen käyttäminen mahdollistaa Stremion kirjaston synkronoinnin, suosikkisarjojen/kanavien ilmoitusten vastaanottamisen. Oletko varma, että haluat jatkaa?","GUEST_LOGIN_NOTICE_2":"Vieraskirjautuminen ei ole suositeltavaa - sinulla ei ole synkronoitua kirjastoa ja lautailmoituksia, jotka ovat tärkeitä Stremio-ominaisuuksia. Oletko varma, että haluat jatkaa?","CLICK_HERE":"klikkaa tästä","WRONG_PASSWORD":"Väärä sähköposti tai salasana. Jos olet unohtanut salasanasi, ","SET_A_PASS":"aseta salasana","RESET_PASSWORD":"Nollaa salasana","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Unohditko salasanasi?","EMAIL_USED_WITH_FB":"Tätä sähköpostia käytettiin Facebook-kirjautumisessa.","INVALID_EMAIL":"Anna kelvollinen sähköpostiosoite","INVALID_PASSWORD":"Anna kelvollinen salasana","CONN_ERR":"Yhteysvirhe - yritä myöhemmin uudelleen.Jos tämä jatkuu, poista palomuurit/antivirusohjelmat (erityisesti Bitdefender).","IMPORT_FROM_GUEST":"Tuo kirjasto vieraskäyttäjätililtäsi","RECEIVE_UPDATES_EMAIL":"Vastaanota päivityksiä sähköpostiisi Stremiolta","LOGIN_FAILED":"Kirjautuminen epäonnistui.","SIGNUP_FAILED":"Rekisteröityminen epäonnistui.","SEARCH_FAILED":"Haku epäonnistui","EMAIL_USED":"Tämä sähköposti on jo käytössä.","WAITING_FB_LOGIN":"Kirjaudutaan Facebookilla...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Toista ulkoisessa soittimessa","EXTERNAL_REMEMBER_PLAYER":"Haluatko muistaa valintasi","EXTERNAL_ALWAYS_PLAY":"Kyllä","EXTERNAL_ONLY_ONCE":"Ei","BEST_FIT":"Paras sovitus","FIT_SCREEN":"Sovita näyttöön","FILL":"Täytä","16:9":"16:9","4:3":"4:3","Original":"Alkuperäinen","INTRO_TASTE":"Kerro meille mistä pidät","INTRO_TASTE_LONG":"Kerro meille mitä haluaisit katsoa","INTRO_TASTE_PICK":"Valitse {{interestsRemaining}} kiinnostusta","INTRO_TASTE_PICK_MORE":"Valitse {{interestsRemaining}} kiinnostusta lisää","INTRO_TASTE_HELP_US":"Autathan meitä oppimaan lisää sinusta.","INTRO_TASTE_CHOOSE_THESE":"Valitse joitakin näistä:","INTRO_TASTE_CHOOSE_MIN":"Valitse vähintään 3 luokkaa","INTRO_TASTE_CHOOSE_MIN_ERR":"Sinun on valittava vähintään 3 luokkaa!","INTRO_TASTE_LIFESTYLE":"Elämäntyyli","INTRO_TASTE_SPORTS":"Urheilu","INTRO_TASTE_FOOD_HEALTH":"Ruoka ja terveys","INTRO_TASTE_BEAUTY_FASHION":"Kauneus ja muoti","INTRO_TASTE_NEWS":"Uutiset","INTRO_TASTE_GAMING":"Pelaaminen","INTRO_TASTE_SCIENCE_EDU":"Tiede ja koulutus","INTRO_TASTE_MUSIC":"Musiikki","INTRO_TASTE_TRAVEL":"Matkailu","INTRO_TASTE_LATE_NIGHT":"Myöhäisillan ohjelma","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedia","INTRO_TASTE_DIY":"Tee se itse","INTRO_TASTE_TECH":"Tekniikka","INTRO_TASTE_CINEMA":"Elokuvat","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Valittu lisäosa ei ole tuettu tällä alustalla.","ADDON_DISCLAIMER":"Kolmannen osapuolen lisäosien käyttö on aina vastuullasi ja säännelty sen lain mukaan, jossa sijaitset.","ADDON_ACTIVATE":"Aktivoidaanko tämä lisäosa?","ADDON_REPO_ADD":"Lisäosakokoelman URL-osoite","ADDON_ADD":"Lisää","INSTALL_ADDON":"Install addon","ADD_ADDON":"Lisää lisäosa","ADD_ADDON_DESCRIPTION":"Voit lisätä lisäosan ulkoisen linkin kautta, joka näkyy Asennetut lisäosat -osiossa.","PASTE_ADDON_URL":"Liitä lisäosan URL-osoite","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Mitä uutta","BUTTON_CONTINUE":"Jatka","BUTTON_ACTIVATE":"Aktivoi","BUTTON_ACTIVATED":"Aktivoitu","BUTTON_CANCEL":"Peruuta","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Lähetä","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Hylkää kaikki","BUTTON_VIEW_ALL":"näytä kaikki","BUTTON_SEE_ALL":"Katso kaikki","BUTTON_COLOR_TRANSPARENT":"Läpinäkyvä","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Avaa selaimessa","LIB_EMPTY":"Kirjastosi näyttää tyhjältä. Selvitä kuinka hyödyllinen se on :)","HOW_START":"Tässä on miten voit aloittaa:","LIB_EMPTY_CAL":"Kalenterisi näyttää sarjoja kirjastossasi.","HOW_START_CAL":"Tässä on miten voit lisätä sarjoja:","LIB_EMPTY_BOARD":"Board näyttää ilmoituksia ja suosituksia kirjastoosi liittyen.","HOW_START_BOARD_WAIT":"Lisää muutama sarja tai kanava kirjastoosi ja anna meille muutama minuutti käsitellä :)","HOW_START_BOARD":"Tässä on miten voit lisätä sarjoja ja elokuvia siihen:","IMPORT_FB":"Tuo tykkäämäsi asiat <span>Facebookista</span>","IMPORT_TRAKT":"Tuo mediatietokantasi <span>Traktista</span>","IMPORT_DISCOVER":"Löydä mielenkiintoista sisältöä <span>Discoverista</span>","IMPORT_DISK":"Tuo elokuvat tai sarjat, joita sinulla on <span>paikallisella levyltäsi</span>","PLEASE_CREATE_ACC":"Luo <u>tunnus</u> mahdollistaaksesi kirjaston synkronoinnin ja Boardin.","IMPORT_DISCOVER_SIGNUP":"Rekisteröidy ja löydä mielenkiintoista sisältöä <span>Discoverista</span>","IMPORT_DISK_SIGNUP":"Rekisteröidy ja tuo elokuvat tai sarjat, joita sinulla on <span>paikallisella levyltäsi</span>","LIB_EMPTY_CLOUD":"Pilvikirjasto","LIB_EMPTY_CLOUD_DESC":"Henkilökohtainen pilvikirjasto synkronoitu kaikilla laitteilla","LIB_EMPTY_EARLY":"Aikainen lintu","LIB_EMPTY_EARLY_DESC":"Vastaanota ilmoituksia uusista jaksoista","LIB_EMPTY_PERSONAL":"Henkilökohtainen","LIB_EMPTY_PERSONAL_DESC":"Saat henkilökohtaisia suosituksia","LIB_EMPTY_CALENDAR_DESC":"Aikatauluta henkilökohtainen katselukalenterisi","LIB_EMPTY_ALL":"Rekisteröidy saadaksesi kaikki nämä:","LIB_EMPTY_BEST":"Rekisteröidy saadaksesi parhaat Stremio-ominaisuudet","LIB_EMPTY_OTHER":"Rekisteröidy mahdollistaaksesi kalenterin ja muita hienoja ominaisuuksia","CALENDAR_ADDED":"Stremio-kalenteri on lisätty oletuskalenteriisi.","CALENDAR_ADDED_MSG":"Jos tämä ei toimi, lisää tämä URL-kalenterisovellukseesi manuaalisesti.","TRAKT_EXPIRED":"Traktin todennus vanhentunut, mene Asetuksiin ja todenna uudelleen","TRAKT_REQUIRES_LOGIN":"Trakt-virhe","TRAKT_REQUIRES_LOGIN_MSG":"Sinun täytyy kirjautua sisään","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Asetukset","SETTINGS_NAV_GENERAL":"Yleiset","SETTINGS_NAV_PLAYER":"Soitin","SETTINGS_NAV_STREAMING":"Suoratoisto","SETTINGS_NAV_SHORTCUTS":"Pikanäppäimet","SETTINGS_SHORTCUT_RELOAD_APP":"Lataa sovellus uudelleen","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Avaa asetukset","SETTINGS_SHORTCUT_SWITCH_TABS":"Vaihda välilehtiä","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Selaa välilehtiä eteenpäin","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Selaa välilehtiä taaksepäin","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigoi valikoiden välillä","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Siirry hakuun","SETTINGS_SHORTCUT_EXIT_BACK":"Poistu / Palaa takaisin","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Vaihda toistonopeus-valikko","SETTINGS_SHORTCUT_MENU_VIDEOS":"Vaihda videovalikko","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Vaihda tekstitysvalikko","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Vaihda infovalikko","SETTINGS_SHORTCUT_FULLSCREEN":"Vaihda koko näyttöön","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Näytä ohjaimet","SETTINGS_SHORTCUT_PLAY_PAUSE":"Toista / Tauko","SETTINGS_SHORTCUT_VOLUME_UP":"Äänenvoimakkuus ylös","SETTINGS_SHORTCUT_VOLUME_DOWN":"Äänenvoimakkuus alas","SETTINGS_SHORTCUT_SEEK_NEXT":"Etsi seuraava","SETTINGS_SHORTCUT_SEEK_PREV":"Etsi edellinen","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Etsi taaksepäin","SETTINGS_SHORTCUT_SEEK_FORWARD":"Etsi eteenpäin","SETTINGS_SHORTCUT_PLAY_NEXT":"Toista seuraava","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Kasvata tekstityksen kokoa","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Pienennä tekstityksen kokoa","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Kasvata tekstityksen viivettä","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Pienennä tekstityksen viivettä","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Vaihda sivupalkki","SETTINGS_SHORTCUT_OR":"tai","SETTINGS_SHORTCUT_TO":"näppäin","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Välilyönti","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Todenna","SETTINGS_FACEBOOK_IMPORT":"Tuo","SETTINGS_CALENDAR_SUBSCRIBE":"Tilaa","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Käyttöliittymän kieli","SETTINGS_LAUNCH_STARTUP":"Käynnistä käynnistyksen yhteydessä","SETTINGS_VLC_DEFAULT":"Toista VLC:llä","SETTINGS_UI_LANGUAGE":"Käyttöliittymän kieli","SETTINGS_UI_ZOOM":"Käyttöliittymän zoomaus","SETTINGS_FULLSCREEN_EXIT":"Poistu koko näytöstä Esc-näppäimellä","SETTINGS_GAMEPAD":"Ota käyttöön peliohjain","SETTINGS_CLOSE_WINDOW":"Sulje sovellus ikkunan sulkemisen yhteydessä","SETTINGS_SUBTITLES_LANGUAGE":"Oletuskieli tekstityksille","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Oletuskoko tekstityksille","SETTINGS_SUBTITLES_BACKGROUND":"Tekstitysten tausta","SETTINGS_SUBTITLES_COLOR":"Tekstitysten väri","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Tekstitysten reunaväri","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Tekstitysten taustaväri","SETTINGS_SEEK_KEY":"Nuolinäppäimet hakuun","SETTINGS_SEEK_KEY_SHIFT":"Nuolinäppäimet hakuun Shift-näppäintä painettaessa","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Kelaa taaksepäin ja eteenpäin -kesto","SETTINGS_BINGE":"Toista automaattisesti seuraava jakso","SETTINGS_NEXT_VIDEO":"Näytä ilmoitus seuraavan jakson aloittamisesta","SETTINGS_NEXT_VIDEO_TRIGGER":"Näytä seuraavan jakson ilmoitus:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Seuraavan videon ilmoituksen kesto","SETTINGS_PLAY_IN_BACKGROUND":"Toista taustalla","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Toista ulkoisessa soittimessa","SETTINGS_RESIZE":"Muuta ikkunan kokoa automaattisesti ennen toistoa","SETTINGS_OVERRIDE_SERVER":"Ohita suoratoistopalvelimen URL-osoite (edistynyt)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Suoratoistopalvelimen URL-osoite: ","SETTINGS_SERVER_AVAILABLE":"Suoratoistopalvelin on käytettävissä.","SETTINGS_SERVER_UNAVAILABLE":"Suoratoistopalvelin ei ole käytettävissä.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Virhe","SETTINGS_SERVER_CONFIGURE_TITLE":"Määritä suoratoistopalvelimen URL-osoite","SETTINGS_SERVER_CONFIGURE_INPUT":"Syötä suoratoistopalvelimen URL-osoite","SETTINGS_SERVER_CACHE_SIZE":"Välimuistin koko","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent-profiili","SETTINGS_HTTPS_ENDPOINT":"Suoratoiston HTTPS-päätepiste: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Käytä aina uusinta beta-versiota","SETTINGS_IMPORT_FB":"Tuo Facebookista","SETTINGS_IMPORT_DISK":"Tuo paikalliselta levyltä","SETTINGS_IMPORT_TRAKT":"Tuo Traktista","SETTINGS_PAUSE_MINIMIZED":"Tauko toistossa, kun sovellus on pienennetty","SETTINGS_HWDEC":"Laitteistokiihdytetty dekoodaus","SETTINGS_BACKGROUND":"Toista taustalla","SETTINGS_SUBSCRIBE_CALENDAR":"Tilaa kalenteri","SETTINGS_REQ_EXPORT":"Pyydä tietojen vientiä","SETTINGS_ACC_DELETE":"Pyydä tilin poistoa","SETTINGS_CHANGE_PASSWORD":"Vaihda salasana","SETTINGS_TOS":"Käyttöehdot","SETTINGS_SUPPORT":"Ota yhteyttä tukeen","SETTING_LANGUAGE":"Kieli","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Kirjaudu ulos Trakt.tv:stä","SETTINGS_TRAKT_LOGOUT_2":"Kirjaudu ulos Traktista","SETTINGS_SCAN_FOR_REMOTE":"Skannaa QR-koodi avataksesi etäyhteyden","SETTINGS_DESKTOP_NOTIFICATIONS":"Työpöytäilmoitukset","SETTINGS_DATA_SAVER":"Datansäästötila","SETTINGS_LANGUAGE_INTERFACE":"käyttöliittymä","SETTINGS_LANGUAGE_SUBS":"oletuskieli tekstityksille","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Valitse oletusääniraita automaattisesti","SETTINGS_DEFAULT_AUDIO_TRACK":"Oletusääniraita","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"Tili","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Versio","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Käynnistä soitin erillisessä ikkunassa (edistynyt)","SETTINGS_PLAY_IN_EXTERNAL":"Aloita video aina ulkoisessa soittimessa","SETTINGS_STORAGE_BUTTON":"Tyhjennä paikallinen tallennustila","SETTINGS_STORAGE_MODAL_TITLE":"Oletko varma?","SETTINGS_STORAGE_MODAL_MESSAGE":"Tämä tyhjentää paikallisen tallennustilan ja kirjaa sinut ulos.","SETTINGS_HWDEC_PICKER":"Valitse laitteistokiihdytetyn dekoodauksen asetus","SETTINGS_HW_AUTOMATIC":"Automaattinen","SETTINGS_HW_DISABLED":"Poistettu käytöstä","SETTINGS_HW_ACCELERATED":"Dekoodauksen kiihdytys","SETTINGS_HW_FULL":"Täysi kiihdytys","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Tekstitykset","SETTINGS_SECTION_AUDIO":"Ääni","SETTINGS_SECTION_CONTROLS":"Ohjaimet","SETTINGS_SECTION_AUTO_PLAY":"Automaattinen toisto","SETTINGS_SECTION_ADVANCED":"Edistyneet","SUBSPICKER_AUDIO":"Ääni","SUBSPICKER_SUBTITLES":"Lisäosien tekstitykset","SUBSPICKER_BLACK_BACKGROUND":"Käytä mustaa taustaväriä","SUBSPICKER_VERTICAL_OFFSET":"Pystysuuntainen siirtymä","SUBSPICKER_SIZE":"Koko","SUBSPICKER_DELAY":"Viive","SUBSPICKER_EMBEDDED_SUBS":"Upotetut tekstitykset","MOBILE_PRIVACY_POLICY":"Tietosuojakäytäntö","MOBILE_CRASH_REPORTING":"Kaatumisraportointi","MOBILE_ZOOM_TO_FILL":"Zoomaa täyttämään näyttö","MOBILE_PASSTHROUGH":"Digitaalinen äänilähtö (passthrough)","MOBILE_RUN_LOW_BATTERY":"Toimi vähäisellä akulla","MOBILE_RUN_FOREGROUND":"Toimi etualalla","MOBILE_PERFORMANCE":"SUORITUSKYKY JA VAKAUS","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR-koodi vanhenee ","MOBILE_LOG_INTO":"Kirjaudu Stremio-tilillesi ","MOBILE_SCAN_QR":"Skannaa yllä oleva QR-koodi tai siirry osoitteeseen ","MOBILE_LINK_ACCOUNT":"Linkitä tili","MOBILE_SPEEDPICKER_CANCEL":"Peruuta","MOBILE_SPEEDPICKER_LABEL":"Valitse toistonopeus","MOBILE_EMPTY_LIBRARY":"Kirjastosi on tyhjä","MOBILE_NO_ADDON_ACTIVE":"Ei aktiivisia Stremio-lisäosia tälle tyypille.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer -sovellus tarjoaa rajoitetun toiminnallisuuden. Käytä Stremioa työpöydällä saadaksesi luettelon toistettavista virtauksista ja täyden Stremio-kokemuksen.","MOBILE_ADDON_LOADING":"latautuu edelleen","MOBILE_ADDONS_LOADING":"lisäosat latautuvat edelleen","MOBILE_ADDON":"Lisäosa","MOBILE_CONFIGURE_ADDON":"Määritä lisäosa","MOBILE_CONFIGURE_ADDON_LABEL":"Määritä lisäosa","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer -sovellus tarjoaa vain rajoitetun valikoiman lisäosia. Käytä Stremioa työpöydällä saadaksesi täyden Stremio-kokemuksen.","MOBILE_DISCONNECT":"Katkaise yhteys","MOBILE_LOOKING_FOR_DEVICES":"Etsitään laitteita...","MOBILE_CAST_TO":"Heijasta","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Poista tili","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Tilin poisto ei ole välitön oikeudellisten velvoitteiden vuoksi. Tilin poistamisen jälkeen sinun on käytettävä eri sähköpostiosoitetta / Facebook-profiilia luodaksesi uuden Stremio-tilin tulevaisuudessa.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Vahvista tilin poisto","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Tilisi on luotu Facebookin kautta. Tilin poistamiseksi käytä käyttäjäportaalia osoitteessa www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Vahvista tilin poisto antamalla salasanasi.","MOBILE_DELETE_ACCOUNT_BUTTON":"Poista tili","NAVIGATION_ON":"Päällä","NAVIGATION_OFF":"Pois päältä","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Hyväksyn Stremion markkinointiviestinnän","QUIT":"Lopeta","CONNECTED":"Yhdistetty","AUTHENTICATE":"Todennus","AUTHENTICATING":"Authenticating...","CACHING":"Välimuisti","SETTINGS_CACHING_DRIVE":"Välimuistin asema","ENABLE_LOCAL_FILES_ADDON":"Ota käyttöön paikallisten tiedostojen lisäosa (vaatii käynnistyksen uudelleen)","LOCAL_ADDON_NOT_ENABLED":"Paikallinen lisäosa ei ole käytössä. Napsauta tästä siirtyäksesi asetuksiin ja ota se käyttöön","ENABLE_REMOTE_HTTPS_CONN":"Ota käyttöön etä-HTTPS-yhteydet","TORRENT_PROFILE":"Torrent-profiili","DATA_CACHING":"Tietojen välimuisti","MAGNET_PARSING":"Magneettilinkin jäsentäminen","January":"Tammikuu","February":"Helmikuu","March":"Maaliskuu","April":"Huhtikuu","May":"Toukokuu","June":"Kesäkuu","July":"Heinäkuu","August":"Elokuu","September":"Syyskuu","October":"Lokakuu","November":"Marraskuu","December":"Joulukuu","Monday":"Maanantai","Tuesday":"Tiistai","Wednesday":"Keskiviikko","Thursday":"Torstai","Friday":"Perjantai","Saturday":"Lauantai","Sunday":"Sunnuntai","Action":"Toiminta","Comedy":"Komedia","War":"Sota","Family":"Perhe","Animation":"Animaatio","Adventure":"Seikkailu","Fantasy":"Fantasia","Crime":"Rikos","Mystery":"Mysteeri","Romance":"Romantiikka","Drama":"Draama","Horror":"Kauhu","Thriller":"Jännitys","Sci-Fi":"Tieteisfiktio","Music":"Musiikki","Biography":"Elämäkerta","Documentary":"Dokumentti","Sport":"Urheilu","Musical":"Musikaali","Western":"Lännenelokuva","Film-Noir":"Film Noir","News":"Uutiset","History":"Historia","Game-Show":"Kilpailuohjelma","Reality-TV":"Todellisuus-TV","Talk-Show":"Keskusteluohjelma","Film & Entertainment":"Elokuvat ja viihde","Gaming":"Pelaaminen","From TV":"TV:stä","Lifestyle":"Elämäntyyli","Science & Education":"Tiede ja koulutus","Cooking & Health":"Ruuanlaitto ja terveys","Beauty & Fashion":"Kauneus ja muoti","Sports":"Urheilu","News & Politics":"Uutiset ja politiikka","How-to & DIY":"Kuinka tehdä itse","Tech":"Tekniikka","Automotive":"Autot","Causes & Non-Profits":"Syyt ja voittoa tavoittelemattomat","Movies":"Elokuvat","Uk Live Tv":"Brittiläinen live-TV","Fashion":"Muoti","Business News Radio":"Liiketoimintauutiset radio","Business Tv":"Liiketoiminta-TV","Cars & Auto":"Autot","Comedy Radio":"Komedia radio","Lifestyle Radio":"Elämäntyyli radio","News Tv":"Uutiset TV","Food And Wine":"Ruoka ja viini","Latino Tv":"Latinalainen TV","Shopping Tv":"Ostos-TV","Religion":"Uskonto","Kids":"Lapset","Body & Soul":"Keho ja sielu","Education":"Koulutus","Indian Tv":"Intialainen TV","Extreme Sports":"Ekstreemilajit","Middle Eastern Tv":"Lähi-idän TV","Celebrity Tv":"Julkkis-TV","Science Tv":"Tiede-TV","Bikini babe":"Bikini kaunotar","Outdoors":"Ulkoilu","German Tv":"Saksalainen TV","French Tv":"Ranskalainen TV","Italian Tv":"Italialainen TV","Gamer Tv":"Pelaaja-TV","Travel":"Matkailu","Asian Tv":"Aasialainen TV","Entertainment":"Viihde","News Radio":"Uutisradio","Music Radio":"Musiikkiradio","Language Learning":"Kielten oppiminen","Science Radio":"Tiede radio","Tech Radio":"Tekniikka radio","Science & Technology Vod":"Tiede ja teknologia VOD","new video":"uusi video","new episode":"uusi jakso","new movie":"uusi elokuva","recommended":"suositeltu","we recommend":"suosittelemme","offer of the day":"päivän tarjous","news":"uutiset","music video":"musiikkivideo","CTX_SHOW_HOTKEYS":"Näytä pikanäppäimet","CTX_DISMISS_NOTIF":"Hylkää ilmoitukset","CTX_DISMISS_ALL":"Hylkää kaikki","CTX_SHARE":"Jaa","CTX_COPY_SHARE_LINK":"Kopioi jakolinkki","CTX_COPY_MAGNET_LINK":"Kopioi magnet-linkki","CTX_COPY_STREAM_LINK":"Kopioi stream-linkki","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Lataa tämä video","CTX_DOWNLOAD_SUBS":"Lataa tekstitykset","CTX_VIEW_ON_YOUTUBE":"Katso YouTubessa","CTX_SHOW":"Näytä","CTX_PLAY":"Toista","CTX_PLAY_IN":"Toista kohteessa","CTX_PLAY_ON":"Toista kohteessa","CTX_WATCH_ON":"Katso kohteessa","CTX_WATCH":"Katso","CTX_WATCHED":"Katsottu","CTX_WATCH_BEGINNING":"Katso alusta","CTX_WATCH_MOBILE":"Katso mobiililaitteella","CTX_REWIND":"Kelaa alkuun","CTX_MARK_WATCHED":"Merkitse katsotuksi","CTX_MARK_NON_WATCHED":"Merkitse ei-katsotuksi","CTX_MARK_UNWATCHED":"Merkitse katsomattomaksi","CTX_MARK_REST":"Merkitse loput katsotuksi","CTX_UNMARK_REST":"Merkitse loput ei-katsotuksi","CTX_RECEIVE_NEW_NOTIF":"Vastaanota uusia ilmoituksia","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Poista välimuistista","CTX_REMOVE_CACHE_EP":"Poista jakso välimuistista","CTX_OPEN_CONTAINING":"Avaa sisältävä kansio","CTX_REMOVE":"Poista kirjastosta","CTX_AVAILABLE_OFFLINE":"Saatavilla offline-tilassa","CTX_PAUSED":"Tauolla","CTX_ALWAYS_ON_TOP":"Aina päällimmäisenä","CTX_FULLSCREEN":"Koko näyttö","CTX_WRONG_SUBS":"Väärät tekstitykset?","CTX_REPORT_ISSUES":"Ilmoita ongelmasta","CTX_COPY":"Kopioi","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Liitä","CTX_CLEAR":"Tyhjennä","CTX_CLEAR_RECENT_SEARCHES":"Tyhjennä viimeisimmät haut","HELLO_THERE":"Hei siellä","HOPE_YOU_ENJOY":"Toivomme, että nautit Stremiosta ja se on jo yksi suosikki sovelluksistasi!","WHO_ARE_WE":"Kuka me olemme? Olemme sen takana oleva tiimi - kaksi kaveria, jotka ovat työskennelleet kovasti joka päivä viimeiset 3 vuotta tehdäkseen tästä tuotteesta paremman ja paremman.","SUPPORT_US":"Jos nautit Stremion käytöstä, jos Stremio on arvokas sinulle - levitä sanaa!","SPREAD_THE_WORD":"Jaa nyt ystäviesi kanssa, levitä sanaa Stremiosta","MORE_PEOPLE":"Mitä enemmän ihmisiä käyttää Stremiota, sitä paremmaksi se tulee!","SEND_A_LINK":"Tai lähetä linkki verkkosivustollemme","TIP_LOCALFILES":"Vinkki: voit raahata ja pudottaa paikallisia videotiedostoja Stremioon","ADDON_MY":"Omat lisäosat","ADDON_COMMUNITY":"Yhteisön lisäosat","ADDON_OFFICIAL":"Viralliset lisäosat","ADDON_REPOS":"Lisäosakokoelmat","ADDON_SEARCH":"Etsi lisäosia","ADDON_INSTALL":"Asenna","ADDON_CONFIGURE":"Määritä","ADDON_UNINSTALL":"Poista asennus","ADDON_UPGRADE":"Päivitä","ADDON_INSTALLED":"Asennettu","ADDON_INSTALLED_MSG":"Lisäosa asennettu!","ADDON_UPGRADED_MSG":"Lisäosa päivitetty!","ADDON_UNKNOWN":"Tuntematon","ADDON_ERR":"Lisäosan asennusvirhe!","ADDON_DISCONNECTED":"Yhteys katkaistu","ADDON_APP_MISSING":"tämän lähteen sovellusta ei ole asennettu. Haluatko asentaa sen nyt?","ADDON_APP_INSTALL":"Asenna nyt","ADDON_PAGE":"Lisäosan sivu","ADDON_TOP_CONTENT":"Parhaat tästä lisäosasta","ADDON_PROVIDES":"Tämä lisäosa antaa sinulle:","ADDON_WATCH":"Katso #{types} nyt!","ADDON_WATCH_FREE":"Katso #{types} ilmaiseksi nyt!","ADDON_ADDON":"Lisäosa","ADDON_SUPPORTED_TYPES":"Tuetut tyypit","ADDON_SUPPORTED_CATALOGS":"Tuetut katalogit","ADDON_PROVIDES_DISCOVER":"Lisää #{types} löytyy Discoverista","ADDON_PROVIDES_STREAMS":"Katso #{types}","ADDON_PROVIDES_STREAMS_FREE":"Katso #{types} ilmaiseksi","ADDON_PROVIDES_SUBTITLES":"#{types} tekstitykset","ADDON_CANTDETECT":"Emme voineet havaita käynnissä olevaa Stremiota, joten emme voineet havaita, mitä lisäosia sinulla on asennettuna.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Tietoja ei löytynyt tästä","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Virhe tietojen noutamisessa","ERR_CANT_PARSE_MAGNET":"Magnetin jäsentäminen ei onnistu","ERR_NO_MAGNET_INFOHASH":"Ei kelvollista info-hashia magnetissa","ERR_NO_FILE_PATH":"Pyyntöä ei voi lähettää ilman tiedostopolkua","ERR_NO_TORRENT":"Ei palautettu torrentia","ERR_NO_SUPPORTERD_FILES":"Ei tuettuja tiedostoja löydetty","ERR_OPENING_FILES":"Ei voitu avata ulkoisia tiedostoja","ERR_INVALID_LINK":"Virheellinen linkki","ERR_REGISTERED_ONLY":"Tämä vaihtoehto on saatavilla vain rekisteröityneille käyttäjille.","ERR_CLIPBOARD":"Ei voi toistaa leikepöydältä","ERR_CLIPBOARD_READ":"Leikepöytää ei voi lukea tällä alustalla","ERR_CLIPBOARD_GENERIC":"Leikepöydältä ei löytynyt toistettavaa URL-osoitetta. Kopioi URL-osoite (esim. magnet-linkki) videolle.","BOARD_CONTINUE_WATCHING":"Jatka katsomista","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Elokuvia valittu erityisesti sinulle.<br />Tämä elokuva on esimerkki suosituksesta.","BOARD_EXPLANATION_EPISODES":"Uudet jaksot suosikkisarjoistasi tulevat tänne.<br />Lisää seurattavat sarjat kirjastoosi.","BOARD_EXPLANATION_VIDEOS":"Uudet jaksot suosikkikanaviltasi tulevat tänne.<br />Lisää seurattavat YouTube-kanavat kirjastoosi.","WEBSITE_ENJOYED_BY":"Nauttii yli 30 miljoonaa käyttäjää ympäri maailmaa","WEBSITE_STREAMING_ENHANCED":"Suoratoisto parannettu","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio tarjoaa turvallisen, modernin ja saumattoman viihdekokemuksen. Helppokäyttöisen käyttöliittymän ja monipuolisen sisältökirjaston, mukaan lukien 4K HDR -tuki, ansiosta käyttäjät voivat nauttia suosikkielokuvistaan ja TV-ohjelmistaan kaikilla laitteillaan. Ja sitoutumalla turvallisuuteen Stremio on paras valinta huoleton, korkealaatuinen suoratoistokokemus.","WEBSITE_AVAILABLE_ON":"Saatavilla","WEBSITE_WATCH_AND_ENJOY":"Katso ja nauti.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio tekee siitä lasten leikkiä","WEBSITE_ALL_FEATURES":"Kaikki ominaisuudet","WEBSITE_EASY_TO_USE":"Helppo käyttää","WEBSITE_EASY_TO_USE_DETAILS":"Stremio on suunniteltu käyttäjäystävälliseksi ja helppokäyttöiseksi. Sen selkeän ja intuitiivisen käyttöliittymän avulla voit helposti navigoida ja löytää haluamasi sisällön katsottavaksi.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Saumaton laitteiden välillä","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Saatavilla laajalle valikoimalle alustoja (mukaan lukien Windows, Mac, Linux, Android ja paljon muuta), Stremio pitää kirjaa edistymisestäsi kaikilla laitteillasi. Kirjaudu vain sisään ja jatka katselua ilman, että sinun tarvitsee määrittää sovellusta uudelleen jokaiselle uudelle laitteelle.","WEBSITE_ALL_DOWNLOADS":"Kaikki lataukset","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Korkean määritelmän videotuki","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Integroitu videotoistin, joka tukee useimpia videoformaatteja, mukaan lukien 4K HDR -sisältö, antaa sinun nauttia korkeimmasta mahdollisesta laadusta.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Monipuolinen sisältökirjasto","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integroituu suureen määrään suosittuja videolähteitä, kuten Netflix, Amazon Prime Video, Hulu, YouTube ja monia muita.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Luo ilmainen tili","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Räätälöity katselukokemus","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio mahdollistaa käyttöliittymän ulkoasun ja tunteen mukauttamisen teeman vaihtamalla, lisäämällä tai poistamalla lisäosia ja paljon muuta.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Monikielinen tekstitystuki","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Voit nyt nauttia kaikista suosikkisisällöistäsi haluamallasi kielellä, koska Stremio tukee tekstityksiä kaikilla kielillä.","WEBSITE_ALL_STREMIO_FEATURES":"Kaikki Stremio-ominaisuudet","WEBSITE_TRY_STREMIO_TITLE_P1":"Kokeile Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"TV:ssäsi nyt","WEBSITE_YOU_CAN_NOW_WATCH":"Voit nyt katsoa kaikkia suosikki TV-ohjelmiasi Android TV -laitteillasi. Stremio TV -sovellus antaa sinun nauttia elokuvailloista helposti.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Voit nyt katsoa kaikkia suosikki TV-ohjelmiasi Smart TV:lläsi tai Android TV:lläsi. Stremio TV -sovellukset antavat sinun nauttia elokuvailloista helposti.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio Smart TV:lle","WEBSITE_PLAY_STORE_REVIEW":"Todennäköisesti paras ja hyödyllisin sovellus, joka sinulla voi olla laitteessasi. Se on yksi sovelluksista, joita käytän päivittäin, erityisesti Android TV:ssäni monien vuosien ajan. Hyvin tehty vahvan yhteisön tarjoamilla hyödyllisillä toiminnoilla. Hyvin tehty. Jatka hyvää työtä.","WEBSITE_REVIEWS":"arvostelut","WEBSITE_GET_STREMIO_FOR_FREE":"Hanki Stremio ilmaiseksi","WEBSITE_GET_STREMIO_NOW":"Hanki Stremio nyt","WEBSITE_STREMIO_FEATURES":"Stremio-ominaisuudet","WEBSITE_STREMIO_FEATURES_DETAILS":"Suoratoista kuin ammattilainen Stremio:n edistyksellisten ominaisuuksien avulla ja nauti saumattomasta pääsystä kaikkiin suosikkimediaasi","WEBSITE_DISCOVER_MORE":"Löydä lisää.","WEBSITE_DISCOVER_MORE_DETAILS":"Älä koskaan lopu katsottavasta","WEBSITE_COMMUNITY_DRIVEN":"Yhteisöllinen","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremiolla on suuri ja aktiivinen käyttäjäyhteisö, joka osallistuu ohjelmiston kehittämiseen luomalla ja jakamalla lisäosia.","WEBSITE_GET_INVOLVED":"Osallistu","WEBSITE_NEW_THEATER_EXPERIENCE":"Uusi teatterikokemus","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio:n uusi omistettu TV-sovellus antaa sinun nauttia elokuvailloista Android TV -laitteillasi.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio:n uudet omistetut TV-sovellukset antavat sinun nauttia elokuvailloista Smart TV:lläsi tai Android TV:lläsi.","WEBSITE_FREE_AND_SECURE":"Ilmainen ja turvallinen","WEBSITE_STREAMING":"Suoratoisto","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio tarjoaa vertaansa vailla olevan turvallisuuden ja yksityisyyden käyttäjille. Ainutlaatuisen etäkäyttölisäosan ansiosta Stremio tarjoaa turvallisemman tavan suoratoistaa suosikkisisältöä verrattuna muihin alustoihin. Turvallisuutesi ja yksityisyytesi ovat tärkeimmät prioriteetit, ja alusta varmistaa, että kaikki tietosi ovat suojattuja.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Sano hyvästit huolille turvallisuudesta ja yksityisyydestä ja sano hei loputtomalle viihdemaailmalle Stremio:n kanssa.","WEBSITE_INFORMATION_PROVIDED_BY":"Tiedot tarjoaa","WEBSITE_CONTRIBUTE_DESC":"projektiin ja auta meitä tekemään Stremio vielä paremmaksi","WEBSITE_COMMUNITY_DESC":"Uskomme, että paras tapa luoda todella uskomaton suoratoistokokemus on osallistaa yhteisömme prosessiin. Olitpa sitten ohjelmoija, taiteilija tai vain fani - voit auttaa Stremio:n kasvua.","WEBSITE_COMMUNITY_DESC_2":"Liity siis tänään ja tule osaksi Stremio-yhteisöä ja jatka suoratoiston tulevaisuuden muotoilua.","WEBSITE_WAYS_TO_GET_INVOLVED":"Tapoja osallistua","WEBSITE_IN_THE_STREMIO_COMMUNITY":"Stremio-yhteisössä","WEBSITE_SHARE_YOUR_THOUGHTS":"Jaa ajatuksesi","WEBSITE_REPORT_BUGS":"Ilmoita virheistä","WEBSITE_SUGGEST_FEATURES":"ehdota ominaisuuksia","WEBSITE_AND_PROVIDE_FEEDBACK":"ja anna palautetta sosiaalisen median kanavissamme.","WEBSITE_BETA_TESTING_PROGRAM":"Beta-testausohjelma","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Osallistu beta-testausohjelmaamme (lähetämme kutsuja säännöllisesti) Stremio-yhteisössä.","WEBSITE_JOIN_NOW":"Liity nyt!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Viralliset Stremio-yhteisöt","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Epäviralliset Stremio-yhteisöt","WEBSITE_BECOME":"Tule","WEBSITE_A_VOLUNTEER_TRANSLATOR":"vapaaehtoiseksi kääntäjäksi","WEBSITE_ARE_YOU_A_DEVELOPER":"Oletko kehittäjä?","WEBSITE_CONTRIBUTE_CODE":"Voit osallistua koodin kehittämiseen avoimen lähdekoodin projekteissamme. Meillä on useita projekteja GitHubissa, jotka etsivät avustajia. Jos olet kiinnostunut auttamaan, tarkista ne:","WEBSITE_STREMIO_ON_GITHUB":"Stremio GitHubissa","WEBSITE_CREATE_ADDON_DESC":"Luo lisäosa Stremio:n toiminnallisuuden parantamiseksi (meillä on helppokäyttöinen API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Tarjoamme myös mahdollisuuden liittyä meihin harjoittelijakehittäjänä, jotta voimme kasvaa yhdessä.","WEBSITE_APPLY_AS_AN_INTERN":"Hae harjoittelijaksi","WEBSITE_CALLING_ALL_ARTISTS":"Kutsutaan kaikki taiteilijat!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Näytä luovuutesi ja rakkautesi Stremio:ta kohtaan lataamalla fanitaiteesi verkkogalleriaamme. Olipa kyseessä piirros, maalaus tai digitaalinen suunnittelu, haluamme nähdä ainutlaatuisen näkemyksesi Stremio-brändistä. Liity taideharrastajien yhteisöömme ja jaa työsi muiden Stremio-fanien kanssa ympäri maailmaa.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart -galleria","WEBSITE_INTERN_DESIGNER":"Tule osaksi tiimiämme ja vie luovuutesi uusiin korkeuksiin jännittävien harjoittelumahdollisuuksiemme avulla.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies -projekti","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremio:ssa sitoudumme säilyttämään elokuva- ja televisiohistorian tunnistamalla julkisen alan ja orvoiksi jääneet videot. Yhteistyössä yhteisömme kanssa voimme varmistaa, että nämä klassiset taideteokset ovat kaikkien saatavilla ja suojattu tuleville sukupolville nautittavaksi.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Ota rohkeasti yhteyttä, jos haluat osallistua siihen projektiin.","WEBSITE_JOIN_THE_PROJECT":"Liity projektiin","WEBSITE_BE_PART_OF_OUR_MISSION":"Ole osa tehtäväämme","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Kiinnostunut liittymään Stremio-tiimiin? Tarjoamme täysin etätyön intohimoisille ammattilaisille. Tutustu avoimiin paikkoihimme.","WEBSITE_OPEN_POSITIONS":"AVOIMET PAIKAT","WEBSITE_DESCRIPTION":"KUVAUS","WEBSITE_LEARN_MORE":"Lue lisää","WEBSITE_COMPANY":"Yritys","WEBSITE_CONTACTS":"Yhteystiedot","WEBSITE_NEED_HELP":"Tarvitsetko apua?","WEBSITE_STREMIO_WEB_ON_IOS":"Opas Stremio Webille iOS:lla","WEBSITE_LINK_ART_V2":"Fanitaidegalleria","WEBSITE_PARTNERS":"Kumppanit","WEBSITE_SLOGAN_WATCH":"Katso heti","WEBSITE_SLOGAN_ALL":"Kaikki videosisältö, josta nautit, yhdessä paikassa","WEBSITE_SLOGAN_NEW":"Kaikki, mitä voit katsoa","WEBSITE_SLOGAN_NEW_NEW":"Vapaus suoratoistaa","WEBSITE_WATCH_FROM":"Katso alkaen","WEBSITE_DOWNLOAD":"Lataa nyt","WEBSITE_DOWNLOAD_FOR":"Lataa nyt","WEBSITE_IS_DESKTOP":"Stremio on työpöytäsovellus, avaa tämä sivu tietokoneellasi ja lataa se","WEBSITE_DESKTOP_DEMO_VID":"Työpöytädemo","WEBSITE_PAGE_HOME":"Koti","WEBSITE_PAGE_FEATURES":"Ominaisuudet","WEBSITE_PAGE_ADDONS":"Lisäosat","WEBSITE_PAGE_TECH":"Teknologia","WEBSITE_PAGE_CREATE_ADDON":"Luo lisäosa","WEBSITE_PAGE_CONTACTS":"Yhteystiedot","WEBSITE_PAGE_BLOG":"Blogi","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Elokuvat","WEBSITE_TYPE_series_PL":"Sarjat","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Kanavat","WEBSITE_STREMIO_WHAT_IS":"Stremio on sovellus, joka auttaa sinua järjestämään ja katsomaan suosikki videoitasi, elokuviasi, TV-sarjojasi ja TV-kanavia heti.","WEBSITE_FEATURES_WATCH":"Katso välittömästi HD-laadulla","WEBSITE_FEATURES_WATCH_DETAIL":"Klikkaa ja toista suosikki elokuvasi, TV-ohjelmasi, videot ja TV-kanavasi.","WEBSITE_FEATURES_SUBS":"Automaattiset tekstitykset","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio valitsee automaattisesti synkronoidut tekstitykset kielellesi.","WEBSITE_FEATURES_SUBS_LABEL":"Sinun vuorosi, pomo.","WEBSITE_FEATURES_CAST":"Toista TV:ssä ja mobiililaitteissa","WEBSITE_FEATURES_CAST_DETAIL":"Toista AppleTV:ssä, Chromecastissa, Smart TV:ssä (DLNA/UPnP) ja mobiililaitteissa.","WEBSITE_LIB":"Nauti henkilökohtaisesta kirjastostasi synkronoituna kaikilla laitteillasi","WEBSITE_LIB_COLLECT":"Kerää Stremiosta","WEBSITE_LIB_IMPORT":"Tuo Facebookista","WEBSITE_LIB_LOCAL":"Lisää paikalliselta asemalta","WEBSITE_BOARD":"Board - Yksi paikka ilmoituksille ja suosituksille","WEBSITE_BOARD_RECOMMEND":"Suositeltu TV-ohjelma","WEBSITE_BOARD_TRENDING":"Trendaava elokuva","WEBSITE_BOARD_NEW":"Uusi video","WEBSITE_BOARD_EPISODE":"Uusi jakso","WEBSITE_BOARD_1":"Etsitkö jotain mielenkiintoista katsottavaa? Saat suosituksia makusi mukaan!","WEBSITE_BOARD_2":"Saat ilmoituksen, kun uusi jakso suosikki TV-ohjelmastasi tai YouTube-kanavaltasi on ulkona!","WEBSITE_BOARD_YOUTUBE":"Uudet videot YouTube-kanavilta","WEBSITE_BOARD_EPISODES":"Uudet jaksot sarjoista, joita seuraat","WEBSITE_ADDONS":"Sisältölisäosat","WEBSITE_TECH_DETAIL":"Rakastamme teknologiaa, rakastamme hullua tiedettä!\\nStremio käyttää seuraavia avoimen lähdekoodin teknologioita:","WEBSITE_TECH_WCJS":"WebChimera.js mahdollistaa Stremion toistavan mitä tahansa videomuotoa hyvällä suorituskyvyllä.","WEBSITE_TECH_WCJS_EXTRA":"Olemme ydintiimin jäseniä","WEBSITE_TECH_ELECTRON":"Electron tarjoaa innovatiivisen alustan Stremion rakentamiseen.","WEBSITE_TECH_ELECTRON_EXTRA":"Olemme projektin jäseniä","WEBSITE_TECH_LINVODB":"Tietokantateknologia, joka varmistaa, että tietosi ovat järjestettyjä ja saatavilla missä tahansa kirjaudut sisään.","WEBSITE_TECH_LINVODB_EXTRA":"Sisäinen teknologia","WEBSITE_CREATE_ADDON":"Luo lisäosa","WEBSITE_CREATE_ADDON_DETAIL":"Onko sinulla palvelu, joka tarjoaa videosisältöä? Autamme sinua hyötymään Stremion ominaisuuksista luomalla lisäosan.","WEBSITE_CREATE_ADDON_BENEFITS":"Hyödyt Stremion lisäosan luomisesta","WEBSITE_P2P_BEAUTY":"Vertaisverkkoon perustuvan suoratoiston kauneus","WEBSITE_P2P_1":"Luotettava ja edullinen täysi HD / 4K video pyynnöstä tai suorana","WEBSITE_P2P_2":"Jakelualusta, joka tarjoaa erinomaisen käyttökokemuksen","WEBSITE_P2P_3":"Luomme lisäosan, joka vastaa tarkasti tarpeitasi","WEBSITE_P2P_CONTACT":"Kiinnostunut? Ota <a href=\'mailto:office@stremio.com\'>yhteyttä</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Autamme mielellämme integroimaan sisältösi Stremioon!","WEBSITE_P2P":"Joskus tulee teknologia, joka muuttaa pelin nimen. Investoimme valtavasti aikaa ja vaivaa rakentaessamme vertaisverkkoon perustuvan (P2P) videon suoratoistomoottorimme, joka tarjoaa erinomaisen suorituskyvyn ja monipuolisuuden sopeutua mihin tahansa käyttötapaukseen.\\nOta yhteyttä DRM-yhteensopivaan P2P-videoon pyynnöstä tai suorana suoratoistoon.","WEBSITE_THOUGHTS":"Ajatuksia, joita jaamme:","WEBSITE_SPREAD":"Levitä sanaa Stremiosta:","WEBSITE_CONTACT":"Ota yhteyttä, olemme iloisia kuullessamme sinusta!","WEBSITE_OPENSOURCE":"Avointen lähdekoodiprojektien osalta siirry sivustollemme","WEBSITE_BITCOIN":"Lahjoita bitcoinilla:","WEBSITE_FAQ":"Usein kysytyt kysymykset","WEBSITE_FAQ_SHORT":"UKK","WEBSITE_QUESTIONS":"Kysymykset","WEBSITE_TOS":"Käyttöehdot","WEBSITE_LEGAL":"Lakiasiat","WEBSITE_PAGE_ABOUT":"Tietoja","WEBSITE_PAGE_BECOME_PARTNER":"Tule kumppaniksi","WEBSITE_ALL_YOU_CAN_WATCH":"Vapaus katsoa Kaikkea mitä haluat.","WEBSITE_FREEDOM_TO_STREAM":"Vapaus suoratoistaa","WEBSITE_WHAT_IS_STREMIO":"Mikä on Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio on yhden pysähdyksen keskus videosisällön keräämiseen. Löydä, järjestä ja katso videoita kaikenlaisista lähteistä millä tahansa laitteella, joka sinulla on.","WEBSITE_WHAT_IS_STREMIO_P2":"Elokuvat, TV-ohjelmat, sarjat, live-televisio tai web-kanavat, kuten YouTube ja Twitch.tv - kaikki tämä löytyy Stremiosta.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio on moderni mediasoitin, joka on yhden pysähdyksen ratkaisu videoviihteellesi. Löydät, katsot ja järjestät videosisältöä helposti asennettavista lisäosista.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Elokuvat, TV-ohjelmat, live-TV tai web-kanavat - löydät kaiken tämän Stremiosta.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Nauti kaikilla laitteillasi","WEBSITE_DEVICES_COLLECT":"Kerää Stremiosta","WEBSITE_DEVICES_IMPORT_FB":"Tuo Facebookista","WEBSITE_DEVICES_LOCAL":"Lisää paikalliselta asemalta","WEBSITE_JOIN_THE_PARTY_NOW":"Liity juhlaan nyt","WEBSITE_DEVICES_ALL":"Helppo käyttää kaikilla laitteillasi;","WEBSITE_EXTENDABLE_CATALOG":"Loputtomasti laajennettavissa oleva videoluettelo;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Mahtavia ominaisuuksia videoidesi järjestämiseen;","WEBSITE_AS_SEEN_ON":"Kuten nähty","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Tietoa meistä","WEBSITE_LINK_TECHNOLOGY":"Teknologia","WEBSITE_LINK_APPS":"Sovellukset","WEBSITE_LINK_DOWNLOADS":"Lataukset","WEBSITE_MORE":"Lisää","WEBSITE_LINK_ADDONS":"Lisäosat","WEBSITE_LINK_ADDON_SDK":"Lisäosan SDK","WEBSITE_LINK_CONTRIBUTE":"Osallistu","WEBSITE_LINK_COMMUNITY":"Yhteisö","WEBSITE_LINK_BLOG":"Blogi","WEBSITE_MORE_MORE":"... & Lisää","WEBSITE_LINK_HELP":"Ohjekeskus","WEBSITE_LINK_CONTACTS":"Liiketoimintakyselyt","WEBSITE_LINK_TOS":"Käyttöehdot","WEBSITE_LINK_PRAVACY":"Tietosuojakäytäntö","WEBSITE_SUBSCRIBE":"Tilaa","WEBSITE_NEWSLETTER":"Liity uutiskirjeemme tilaajaksi ja saat upeita juttuja","WEBSITE_PLACEHOLDER_EMAIL":"Sähköpostiosoitteesi","WEBSITE_COMMUNITY":"Yhteisö","WEBSITE_LINK_PRAVACY_LEGAL":"Tietosuoja ja oikeudelliset asiat","WEBSITE_WHY":"Miksi teemme tätä","WEBSITE_WHY_P1":"Stremio-tiimi tulee töihin joka päivä, koska haluamme ratkaista tärkeän ongelman videon suoratoistoteollisuudelle. Joka minuutti julkaistaan niin paljon uutta sisältöä, että sen läpikäyminen on käytännössä mahdotonta.","WEBSITE_WHY_P2":"Autamme ihmisiä navigoimaan tuon valtavan videoviihde-maailman läpi ja löytämään uutta sisältöä nautittavaksi. Sovelluksemme yhdistävät elokuvat, sarjat, suorat TV-lähetykset, verkkokanavat ja paljon muuta. Olemme omistautuneet tekemään käyttäjille uskomattoman helppoa löytää heidän rakastamansa nimikkeet ja lähettäjät.","WEBSITE_WHY_P3":"Voit käyttää palveluamme millä tahansa laitteella ja milloin tahansa, joten Stremio on ainoa videoviihdekeskus, jota koskaan tarvitset.","WEBSITE_TEAM":"TIIMI","WEBSITE_TEAM_P":"Stremio-tiimi on pieni mutta voimakas: meitä on kymmenen, ja koodaamme X kielellä. Jaamme asiantuntemusta ohjelmistokehityksestä, käyttöliittymä- ja käyttökokemussuunnittelusta, markkinoinnista ja mainonnasta sekä liiketoiminnasta ja startupeista.","WEBSITE_FEATURES":"Ominaisuudet","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Löydä uutta sisältöä helposti","WEBSITE_FEATURES_DISCOVER_P":"Löydä helposti uusia elokuvia, TV-ohjelmia, sarjoja ja kanavia katsottavaksi. Selaa kategoria-, genre-, arvostelu-, ajankohta- jne. -perusteella tai kirjoita nimi löytääksesi. Stremio tekee uuden videosisällön löytämisestä helppoa kuin kakkupalan syöminen.","WEBSITE_FEATURES_ALL_CONTENT":"Kaikki videosisältö yhdellä näytöllä","WEBSITE_FEATURES_ALL_CONTENT_P1":"Näe, mitä elokuvia, sarjoja tai videoita et ole vielä katsonut loppuun ja jatka niiden katsomista; saat ilmoituksen uusista jaksoista ja julkaisuista; ja selaa suosituksia, jotka saat katselutottumuksiesi perusteella.","WEBSITE_FEATURES_LIBRARY":"Järjestä videokirjastosi","WEBSITE_FEATURES_LIBRARY_P1":"Lisää mikä tahansa nimike Stremio-kirjastoosi yhdellä napsautuksella ja löydä tiensä sisältöösi, joka on järjestetty tyypin, ajankohdan tai aakkosjärjestyksen mukaan.","WEBSITE_FEATURES_CALENDAR":"Pidä kirjaa kaikesta, mitä katsot","WEBSITE_FEATURES_CALENDAR_P1":"Saat kalenterinäkymän kaikista elokuvista ja sarjoista, jotka lisäät kirjastoosi. Vie Stremio-kalenterisi ja synkronoi se, jotta tiedät aina, milloin uusi jakso tai ensi-ilta on tulossa.","WEBSITE_FEATURES_BIG_SCREEN":"Nauti videosisällöstä suuremmalla näytöllä","WEBSITE_FEATURES_BIG_SCREEN_P1":"Heijasta mitä tahansa katsot toiselle laitteelle - olipa se sitten puhelin, tabletti tai TV - yhdellä napsautuksella.","WEBSITE_FEATURES_SOURCES":"Katso videoita monista eri lähteistä","WEBSITE_FEATURES_SOURCES_P":"Asenna virallisia ja yhteisölisäosia nauttiaksesi videoista, jotka ovat peräisin monilta eri tarjoajilta - kaikki yhdessä tyylikkäässä ja helppokäyttöisessä sovelluksessa.","WEBSITE_CREATE_AN_ADDON":"Luo lisäosa","WEBSITE_FEATURES_SYNC":"Synkronoi kirjastosi eri laitteiden välillä ja jatka toistoa","WEBSITE_FEATURES_SYNC_P1":"Kirjaudu tilillesi kaikilla laitteillasi ja nauti kirjastostasi, lisäosistasi, toistostasi ja kalenteristasi synkronoituna.","WEBSITE_FEATURES_EXTENDABLE":"Laajennettava videoluettelo lisäosilla","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio-lisäosakatalogi tarjoaa useita lisäosia, joita voit asentaa ja katsella erilaisia videosisältöjä. Tämä sisältää elokuvia, ohjelmia, suoraa TV-lähetystä, urheilua, uutisia, podcasteja, verkkokanavia, videopelejä ja paljon muuta.","WEBSITE_FEATURES_AUTO_SUBS":"Automaattiset tekstitykset","WEBSITE_FEATURES_AUTO_SUBS_P1":"Tekstityslisäosiemme avulla saat automaattisesti valitut vaihtoehdot haluamallasi kielellä.","WEBSITE_FEATURES_CHROMECAST":"Heijastus Chromecastiin","WEBSITE_FEATURES_CHROMECAST_P1":"Nauti videosisällöstä suuremmalla näytöllä tai heijasta mitä tahansa katsot toiselle laitteelle.","WEBSITE_FEATURES_KEEP_TRACK":"Pidä kirjaa suosikki-TV-ohjelmistasi ja verkkokanavistasi","WEBSITE_FEATURES_KEEP_TRACK_P1":"Saat kalenterinäkymän ja ilmoitukset suosikkisarjojesi ja verkkokanaviesi uusista jaksoista.","WEBSITE_FEATURES_POWER_USER":"Tehokäyttäjän ominaisuudet","WEBSITE_FEATURES_POWER_USER_P1":"Toista ulkoisessa soittimessa","WEBSITE_FEATURES_POWER_USER_P2":"Toista torrent-tiedostosta tai magnet-linkistä","WEBSITE_FEATURES_POWER_USER_P3":"Tuo kirjastoosi Facebook-tykkäyksistä tai paikalliselta levyltä","WEBSITE_ADD_ONS":"Lisäosat","WEBSITE_ADD_ONS_P1":"Kaikki Stremion tarjoama videosisältö hankitaan lisäosajärjestelmän kautta - sovellukseen ei ole rakennettu sisältöä tai sisällöntarjoajaa.","WEBSITE_ADD_ONS_P2":"Saatavilla on kaksi lisäosaryhmää: viralliset ja yhteisölisäosat.","WEBSITE_ADD_ONS_P3":"Viralliset ovat Stremion kehittämiä ja isännöimiä, kun taas yhteisölisäosat on luonut yhteisömme jäsenet, jotka myös isännöivät niitä.","WEBSITE_ADDONS_OFFICIAL":"Viralliset lisäosat","WEBSITE_ADDONS_WATCHUB":"Suoratoista suosikkielokuvasi, -sarjasi ja -ohjelmasi iTunesilta, Hululta, Amazonilta ja muilta brittiläisiltä/amerikkalaisilta palveluilta.","WEBSITE_ADDONS_YOUTUBE":"Katso suosikki-YouTube-kanaviasi mainoksettomasti ja saat ilmoituksia uusista lähetyksistä seuraamiltaan tekijöiltä.","WEBSITE_ADDONS_FILMON":"Katso ilmaiseksi suoraa TV-lähetystä, elokuvia, dokumentteja ja paljon muuta. 600 TV-kanavaa, 45 000 ilmaista elokuvaa ja paljon muuta.","WEBSITE_ADDONS_OPENSUBTITLES":"Elokuvien ja TV-ohjelmien tekstitykset useilla kielillä, tuhansia käännettyjä tekstityksiä ladattu päivittäin.","WEBSITE_ADDONS_COMMUNITY":"Yhteisölisäosat","WEBSITE_ADDONS_FILMON_VOD":"Katso videoita pyynnöstä Filmon.tv:stä","WEBSITE_ADDONS_TWICH":"Katso suoratoistoja Twitch.tv:stä - videostreaming-alustasta e-urheilualalle.","WEBSITE_ADDONS_VODO":"Katso indie-elokuvia täysin ilmaiseksi.","WEBSITE_ADDONS_NETFLIX":"Katso Netflix-elokuvia ja -sarjoja.","WEBSITE_ADDONS_CREATE":"Luo lisäosa","WEBSITE_ADDONS_CREATE_P1":"Jos haluat, voit kehittää oman lisäosan. Tällä tavalla voit antaa itsellesi ja yhteisöllemme pääsyn uuteen videosisältöön ja tavoittaa uuden, kohdennetun yleisön miljoonien käyttäjien ympäri maailmaa.","WEBSITE_ADDONS_START_CREATE":"Aloittaaksesi, käy Stremio Addon SDK -sivulla:","WEBSITE_DOWNLOADS":"Lataukset","WEBSITE_DOWNLOADS_P1":"Optimaalisen suorituskyvyn saavuttamiseksi suosittelemme käyttämään Stremio-sovelluksen uusinta saatavilla olevaa versiota. Jos kuitenkin jostain syystä haluat käyttää vanhempaa versiota, voit ladata sen täältä.","WEBSITE_DOWNLOADS_P1_SHORT":"Optimaalisen suorituskyvyn saavuttamiseksi suosittelemme käyttämään Stremio-sovelluksen uusinta saatavilla olevaa versiota.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio Windowsille","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio macOS:lle","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio Linuxille","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio Androidille","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio Android TV:lle","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio Android-mobiililaitteille","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio Steam Deckille","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio iOS:lle (rajoitettu versio)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Lataa Stremio-palvelu","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio-palvelu on kumppanisovellus Stremio Webille. Suosittelemme käyttämään Stremio-palvelun uusinta saatavilla olevaa versiota.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio-palvelu Windowsille","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio-palvelu macOS:lle","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio-palvelu Linuxille","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio-palvelu Dockerille","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Lisää latausvaihtoehtoja","WEBSITE_DOWNLOAD_NEW":"Uusi!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Julkaisimme Stremio Webin","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Osallistu","WEBSITE_CONTRIBUTE_P1":"Stremio-alusta on avoimen lähdekoodin ja voit helposti luoda lisäosan sisällölle, jota ei tällä hetkellä ole saatavilla.","WEBSITE_CONTRIBUTE_WHY":"Miksi sinun pitäisi luoda lisäosa?","WEBSITE_CONTRIBUTE_WHY_P1":"Tavoita uusi yleisö videosisällöllesi","WEBSITE_CONTRIBUTE_WHY_P2":"Stremion käyttäjämäärä kasvaa nopeasti - ensimmäisen vuoden aikana julkaisun jälkeen Stremio oli saanut 1 miljoonaa käyttäjää ympäri maailmaa, ja toisena vuonna alustan olemassaolon tämä luku kasvoi 2,5 miljoonaan.","WEBSITE_CONTRIBUTE_WHY_P3":"Lisäosallasi voit helposti tavoittaa tämän yleisön ja jakaa videosisältösi heille.","WEBSITE_CONTRIBUTE_ALL":"Katso suosikkielokuvasi, -videosi, -sarjasi ja -kanavasi yhdessä paikassa.","WEBSITE_CONTRIBUTE_ALL_P1":"Oletko jonkin tietyn sisällön fani, jota ei ole vielä saatavilla Stremiossa? Luo lisäosa sille ja nauti suosikki-videoistasi yhdessä markkinoiden suurimmista ja helpoimmin käytettävistä viihdekeskuksista.","WEBSITE_CONTRIBUTE_ALL_P2":"Lisäksi saat loputtoman kiitollisuuden muilta samanmielisiltä Stremio-yhteisön jäseniltä.","WEBSITE_CONTRIBUTE_MONETIZE":"Ansaitse rahaa lisäosallasi","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Kun kehität uuden lisäosan Stremiolle, voit helposti ansaita rahaa monella eri tavalla. Jos harkitset tätä, ota yhteyttä meihin osoitteessa ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - olemme iloisia voidessamme konsultoida ja neuvoa sinua lisäosan ansaitsemisvaihtoehdoista.","WEBSITE_CONTRIBUTE_TRANSLATE":"Tule vapaaehtoiseksi kääntäjäksi","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Jos haluat nauttia Stremio-sovelluksista eri kielillä, voit liittyä vapaaehtoisten kääntäjien yhteisöömme. He auttavat meitä lisäämään Stremion versioita monilla eri kielillä.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Haluatko aloittaa?","WEBSITE_TRANSALTE_STREMIO":"Käännä Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Viralliset yhteisöt","WEBSITE_COMMUNITY_OFFICIALS_P1":"Tule osaksi kasvavaa Stremio-yhteisöä. Seuraa meitä sosiaalisessa mediassa ja älä ole ujo sanoa hei - rakastamme kuulla faneiltamme! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Epäviralliset yhteisöt","STREMIO_COMMUNITY_NL":"Stremio Alankomaat","STREMIO_COMMUNITY_BRASIL":"Stremio Brasilia","STREMIO_COMMUNITY_GERMANY":"Stremio Saksa","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgia","STREMIO_COMMUNITY_FRANCE":"Stremio Ranska","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugali","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Meksiko","STREMIO_COMMUNITY_ADDONS":"Stremio-lisäosat","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Mahtava Stremio","WEBSITE_COMMUNITY_PARTNERS":"Kumppanit ja tukijat","WEBSITE_COMMUNITY_GOODIES":"Stremio-hyödykkeet","WEBSITE_COMMUNITY_WALLPAPERS":"Taustakuvat","WEBSITE_COMMUNITY_ART":"Yhteisön taidegalleria","WEBSITE_LINK_ART":"Yhteisön taidegalleria","WEBSITE_CONTACT_US":"Ota yhteyttä","WEBSITE_CONTACT_US_P1":"Jos sinulla on kysyttävää, kommentteja tai ehdotuksia, ota meihin yhteyttä alla olevan yhteydenottolomakkeen kautta.","WEBSITE_CONTACT_US_P2":"Pidä mielessä, että sijaitsemme Bulgariassa, joten kyselyysi vastaaminen voi kestää aikavyöhyke-erojen vuoksi.","WEBSITE_CONTACT_US_SUCCESS":"Viestisi on lähetetty. Otamme sinuun yhteyttä mahdollisimman pian.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Syötä kelvollinen sähköpostiosoite!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Mihin kysymyksesi liittyy?","WEBSITE_CONTACT_US_Q_OS":"Mikä on käyttöjärjestelmäsi?","WEBSITE_CONTACT_US_PH_EMAIL":"Sähköpostiosoitteesi","WEBSITE_CONTACT_US_PH_MESSAGE":"Viesti","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"LÄHETÄ","WEBSITE_CONTACT_US_Q_1":"Miten asennetaan?","WEBSITE_CONTACT_US_Q_2":"Miten poistetaan?","WEBSITE_CONTACT_US_Q_3":"(HTML) Miten tehdään lasagnea?","WEBSITE_CONTACT_US_Q_4":"Lisäosat","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknologia","WEBSITE_TECHNOLOGY_P1":"Rakastamme teknologiaa ja hullua tiedettä. </br> Tässä on mitä Stremio käyttää (kaikki on avoimen lähdekoodin).","WEBSITE_TECHNOLOGY_P_QT":"Ristiin alustan ohjelmistokehitys parhaimmillaan.","WEBSITE_TECHNOLOGY_P_MPV":"Ilmainen, avoimen lähdekoodin ja ristiin alustan mediasoitin.","WEBSITE_TECHNOLOGY_P_RN":"React Native mahdollistaa mobiilisovellusten rakentamisen vain JavaScriptillä.","WEBSITE_TECHNOLOGY_P_VLC":"Mediakehys, joka on upotettu sovellukseen multimediaa varten.","WEBSITE_TECHNOLOGY_P_REALM":"Realm on mobiilialusta ja korvaa SQLite:n ja Core Datan.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js on avoimen lähdekoodin, ristiin alustan JavaScript-suoritusympäristö.","WEBSITE_TECHNOLOGY_P_RUST":"Rust on moniparadigmainen järjestelmäohjelmointikieli, joka keskittyy turvallisuuteen, erityisesti turvalliseen samanaikaisuuteen.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Osallistu projektiin","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Voit osallistua Stremioon kahdella tavalla ja auttaa meitä tekemään tuotteesta vielä paremman.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Voit lahjoittaa arvokkaat kielitaitosi kääntämällä alustan...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"tai","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... voit käyttää koodaustaitojasi yhteisön lisäosien luomiseen.","WEBSITE_TRANSLATE_STREMIO":"Käännä Stremio","WEBSITE_404_OH_NO":"Voi ei! Etsimääsi sivua ei löydy...","WEBSITE_GO_HOME":"Mene kotiin","WEBSITE_LINK_OTHER_DOWNLOADS":"Muut lataukset","WEBSITE_FAQ_ABR":"UKK","WEBSITE_SUPPORT":"Tuki","WEBSITE_DOWNLOAD_4_0_BETA":"Lataa Stremio 4 beta nyt","WEBSITE_GET_FOR_DESKTOP":"Hanki työpöydälle","WEBSITE_LINK_ADDON_COMPETITION":"Lisäosakilpailu","WEBSITE_LINK_ART_CONTEST":"Taidekilpailu","WEBSITE_MY_ACCOUNT":"Oma tili","WEBSITE_MAINPAGE_FAQ_001_H1":"Mikä on Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio on moderni mediasoitin, joka antaa sinulle vapauden katsoa kaikkea mitä haluat.","WEBSITE_MAINPAGE_FAQ_002_H1":"Miten se toimii?","WEBSITE_MAINPAGE_FAQ_002_P1":"Kun olet asentanut Stremion laitteellesi ja luonut tilin, sinun tarvitsee vain käydä lisäosakatalogissa ja asentaa haluamasi lisäosa, ja olet valmis!","WEBSITE_MAINPAGE_FAQ_002_P2":"Sen jälkeen voit siirtyä Löydä tai Board -osioihin aloittaaksesi sisällön tutkimisen.","WEBSITE_MAINPAGE_FAQ_003_H1":"Mitä voin katsoa täällä?","WEBSITE_MAINPAGE_FAQ_003_P1":"Paljon: elokuvia, TV-ohjelmia, verkkokanavia, urheilua, TV-kanavia, podcasteja ja paljon muuta. Lisäosajärjestelmämme ansiosta voit käyttää monipuolista sisältöä.","WEBSITE_MAINPAGE_FAQ_004_H1":"Onko Stremio avoimen lähdekoodin ohjelmisto?","WEBSITE_MAINPAGE_FAQ_004_P1":"Kyllä, voit tarkistaa seuraavat linkit: ${1}työpöytäsovellus${2} ja ${3}GitHub-organisaatio${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Onko Stremio turvallinen?","WEBSITE_MAINPAGE_FAQ_005_P1":"Kyllä: koska se on avoimen lähdekoodin ohjelmisto, koodi on julkisesti tarkastettavissa ja voit tarkistaa sen itse.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremion lisäosajärjestelmä on myös luotu käyttäjän turvallisuus mielessä. Lisäosat eivät suorita mitään koodia paikallisesti, joten ne eivät aiheuta riskejä laitteellesi.","WEBSITE_MAINPAGE_FAQ_006_H1":"Entä yksityisyyteni?","WEBSITE_MAINPAGE_FAQ_006_P1":"Kunnioitamme käyttäjien yksityisyyttä emmekä kerää mitään henkilökohtaisia tietoja paitsi välttämättömimmät tiedot tilin luomiseen ja synkronointiin.","WEBSITE_MAINPAGE_FAQ_006_P2":"On myös ${1}Vieras-tila${2} rekisteröitymisen yhteydessä, joka ei vaadi mitään tietoja: tässä tilassa ei tehdä mitään kutsuja taustajärjestelmäämme. Se tulee kuitenkin kustannuksella hyödyllisiä ominaisuuksia, kuten kirjaston synkronointia laitteiden välillä.","WEBSITE_MAINPAGE_FAQ_007_H1":"Voinko heijastaa TV:hen?","WEBSITE_MAINPAGE_FAQ_007_P1":"Kyllä, tuemme Chromecastia ja voit heijastaa sekä työpöytä- että mobiilisovelluksista (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Kuinka monta lisäosaa Stremiolla on?","WEBSITE_MAINPAGE_FAQ_008_P1":"Vuoden 2019 lopulla yli 50 - lisätietoja löytyy lisäosakatalogistamme.","WEBSITE_MAINPAGE_FAQ_009_H1":"Voiko Stremiota laajentaa lisäosakatalogin ulkopuolelle?","WEBSITE_MAINPAGE_FAQ_009_P1":"Kyllä, sinun pitäisi tarkistaa nämä: ${1}PimpMyStremio${2}, ${3}Reddit-yhteisöt${4}, ${5}Stremio Downloader${6}, jne.","WEBSITE_MAINPAGE_FAQ_010_H1":"Mitä laitteita Stremio tukee?","WEBSITE_MAINPAGE_FAQ_010_P1":"Meillä on työpöytäsovelluksia Windowsille, Macille ja Linuxille. Mobiililaitteille tuemme Androidia ja iOS:ia, vaikka iOS onkin rajoitettu toiminnallisuudessaan (ei tue suurinta osaa lisäosista).","WEBSITE_MAINPAGE_FAQ_010_P2":"On monia Android-pohjaisia laitteita, joilla voit käyttää Stremiota, kuten NVIDIA Shield ja Amazon Fire Stick, mutta emme tue niitä virallisesti.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Meillä on työpöytäsovelluksia Windowsille, Macille ja Linuxille. Meillä on myös omistetut sovellukset Android Mobilelle ja Android TV:lle. iOS:lle ja iPadOS:lle suosittelemme käyttämään Stremio Webiä, vaikka se onkin rajoitetumpi toiminnallisuudessaan.","WEBSITE_MAINPAGE_FAQ_011_H1":"Voitko lisätä tiettyä sisältöä Stremioon?","WEBSITE_MAINPAGE_FAQ_011_P1":"Pahoittelut, emme tarjoa sisältöä itse, mutta mitä enemmän Stremio-lisäosia sinulla on asennettuna, sitä enemmän sisältöä löydät.","WEBSITE_MAINPAGE_FAQ_012_H1":"Voiko Stremio toistaa magnet-linkkejä?","WEBSITE_MAINPAGE_FAQ_012_P1":"Kyllä, ja se voi myös toistaa normaaleja HTTP-linkkejä ja torrent-tiedostoja (vedä ja pudota).","WEBSITE_MAINPAGE_FAQ_013_H1":"Voinko ladata videon ja katsoa sitä offline-tilassa?","WEBSITE_MAINPAGE_FAQ_013_P1":"Offline-tila on tulossa, mutta jos sallit Stremion välimuistin laitteellasi (asetuspaneelista), voit katsoa videoita myöhemmin ilman yhteyttä.","WEBSITE_MAINPAGE_FAQ_014_H1":"Mikään ei toimi, auta minua!","WEBSITE_MAINPAGE_FAQ_014_P1":"Oletko varma, että olet asentanut lisäosia? Jos kyllä, tarkista ${1}apukeskuksestamme${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Kuinka Stremio ylläpitää kehitystoimintaansa?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ajastamme ei-häiritseviä mainoksia satunnaisesti, mutta harkitsemme siirtymistä lahjoitusmalliin.","WEBSITE_MAINPAGE_FAQ_015_P2":"Lisää kysymyksiä varten siirry ${1}apukeskukseemme${2}.","HELP_LEARN_MORE":"Auttakaa meitä oppimaan lisää sinusta.","LIFESTYLE":"Elämäntyyli","SPORTS":"Urheilu","FOOD_HEALTH":"Ruoka ja terveys","BEAUTY_FASHION":"Kauneus ja muoti","NEWS":"Uutiset","GAMING":"Pelaaminen","SCIENCE_EDUCATION":"Tiede ja koulutus","MUSIC":"Musiikki","TRAVEL":"Matkailu","LATE_NIGHT":"Myöhäinen yö","REALITY":"Todellisuus","COMEDY":"Komedia","DIY":"Kuinka tehdä itse","TECH":"Tekniikka","CINEMA":"Elokuvat","CONTINUE":"Jatka","SLOW_LOADING":"HIDAS LATAUS?","I_GIVE_UP":"LUOVUTAN","LEARN_MORE":"Lue lisää","POOR_SOURCE":"Tämä lähde on huonosti saatavilla tai internet-yhteytesi ei ole tarpeeksi nopea","PICK_CATEGORIES_ERR":"Sinun on valittava vähintään 3 luokkaa","ADJUST_TIMING":"Säädä ajoitusta ","ADJUST_SIZE":"Säädä kokoa ","SEARCH_ANYTHING":"Voit etsiä mitä tahansa...","ALL_CATEGORIES":"Kaikki","SEARCH_CATEGORIES":"Elokuvat, sarjat, YouTube ja TV","SEARCH_PERSONS":"Näyttelijät, ohjaajat ja kirjoittajat","SEARCH_PROTOCOLS":"HTTP- ja magnet-linkit","SEARCH_TYPES":"IMDB / TVDB -linkit","WATCHED":"Katsottu","SHOW_LESS":"Näytä vähemmän","LAST_SEARCHES":"Viimeiset haut","CLEAR_HISTORY":"Tyhjennä historia","CHOOSE_SOME":"VALITSE JOITAIN TÄSTÄ:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote ei voitu ladata","STREMIO_OFFLINE":"Stremio on offline-tilassa","STREMIO_EXPENSIVE_CONNECTION":"Havaitsemme, että käytät matkapuhelinverkkoyhteyttä. Haluatko jatkaa?","USE_DATA":"Käytä dataa","WARNING":"Varoitus","MORE_INFO":"Lisätietoja ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Ladataan...","STREMIO_TV_BACK_TO_LANGUAGES":"Takaisin kielivalintoihin","STREMIO_TV_REMOTE":"Kaukosäädin","STREMIO_TV_GO_TO":"Siirry kohteeseen:","STREMIO_TV_OR_SCAN":"tai skannaa:","STREMIO_TV_ADDON_INSTRUCTIONS":"Seuraa ohjeita asentaaksesi haluamasi lisäosat.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Jatka katselua","STREMIO_TV_LOADING_BACKGROUND":"Ladataan taustaa","STREMIO_TV_CHECKING_AUTHENTICATION":"Tarkistetaan todennus","STREMIO_TV_LOADING_BOARD":"Ladataan hallintapaneelia","STREMIO_TV_LOGIN_HEADER_LINE_1":"Haluamme käyttäjiemme saavan parhaan mahdollisen henkilökohtaisen kokemuksen ohjelmistostamme.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Siksi pyydämme ystävällisesti sinua tekemään tilin ja/tai kirjautumaan sisään.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Kiitos ymmärryksestäsi,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio-tiimi","STREMIO_TV_REMOTE_INSTRUCTIONS":"Jotta voit käyttää Web Remotea älypuhelimellasi / tabletillasi / työpöydälläsi:","STREMIO_TV_WIFI_SETUP":"Wi-Fi-asetukset","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle ei havainnut internet-yhteyttä.","STREMIO_TV_WIFI_DETAILS_1":"Yhdistä:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Käytä salasanaa:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Avaa verkkoselain linkillä:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Oletus","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Viimeksi katsotun mukaan","STREMIO_TV_LIBRARY_SORT_NAME":"Nimen mukaan","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Katselukertojen mukaan","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Kausi ${1}","STREMIO_TV_STREAMS_LOADING":"Ladattu ${1} / ${2} lisäosaa...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} lisäosa latautuu edelleen...","STREMIO_TV_PLAYER_SETTINGS":"Soittimen asetukset","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Tekstitysten viive","STREMIO_TV_PLAYER_AUDIO_DELAY":"Äänen viive","STREMIO_TV_PLAYER_VIDEO_SCALING":"Videon skaalaus","STREMIO_TV_PLAYER_CHAPTERS":"Luvut","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Ohita ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Tämä lähteen lähetykset eivät ole tuettuja","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Epäonnistui avattaessa ulkoista linkkiä","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Ei säädettävissä äänen läpivientitilassa","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Toista ExoPlayerilla","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Toista libVLC-soittimella","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Siirrytään libVLC-soittimeen toistovirheen vuoksi","STREMIO_TV_ADDONS_TITLE":"Käytä Stremioa puhelimellasi tai tietokoneellasi asentaaksesi tai määrittääksesi lisäosia ja paina \\"Synkronoi lisäosat\\"","STREMIO_TV_ADDONS_SUBTITLE":"Huomaa: varmista, että käytät samaa Stremio-tiliä","STREMIO_TV_ADDONS_SYNC_ADDONS":"Synkronoi lisäosat","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Lisäosat synkronoitu onnistuneesti","STREMIO_TV_ADDONS_SYNC_FAILED":"Lisäosien synkronointi epäonnistui","STREMIO_TV_META_LINK_FAILED":"Epäonnistui avattaessa meta-linkkiä","STREMIO_TV_CATALOG_LOADING":"Luetteloa ladataan edelleen...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Käyttöliittymän kieli päivitetty","STREMIO_TV_SETTINGS_THEME_UPDATED":"Teema päivitetty","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Oletussoitin","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Ulkoiset soittimet","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Ensisijainen kieli","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Toissijainen kieli","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunneloitu toisto","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Mahdollisia toistovirheitä joillakin laitteilla","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Jotkin videomuodot eivät ehkä toimi","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Kuvataajuuden vastaavuus","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Poistettu käytöstä","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Vain kuvataajuus","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Kuvataajuus ja resoluutio","STREMIO_TV_SETTINGS_NO_CACHING":"Ei välimuistia","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Oletus","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Pehmeä","STREMIO_TV_SETTINGS_PROFILE_FAST":"Nopea","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Erittäin nopea","STREMIO_TV_SETTINGS_SERVER_URL":"Suoratoistopalvelimen URL-osoite","STREMIO_TV_SETTINGS_SERVER_VERSION":"Palvelimen versio","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Tuntematon","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio-versio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Muokkaa palvelimen URL-osoitetta","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Syötä suoratoistopalvelimen URL-osoite","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Näytä tilastot latauksen aikana","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremion tietosuojakäytännön lukemiseksi käy osoitteessa:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremion käyttöehtojen lukemiseksi käy osoitteessa:","STREMIO_TV_NAV_SEARCH":"Haku","STREMIO_TV_NAV_HOME":"Koti","STREMIO_TV_NAV_DISCOVER":"Löydä","STREMIO_TV_NAV_LIBRARY":"Kirjasto","STREMIO_TV_NAV_MOVIES":"Elokuvat","STREMIO_TV_NAV_SERIES":"Sarjat","STREMIO_TV_NAV_CHANNELS":"Kanavat","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Asetukset","STREMIO_TV_NAV_ADDONS":"Lisäosat","STREMIO_TV_LOGIN_TITLE":"Linkitä tili","STREMIO_TV_LOGIN_EXPIRES_IN":"Vanhenee","STREMIO_TV_LOGIN_STEP_ONE":"Skannaa yllä oleva QR-koodi tai siirry osoitteeseen","STREMIO_TV_LOGIN_STEP_TWO":"Kirjaudu sisään Stremio-tilillesi","STREMIO_TV_LOGIN_NEW_LINK":"Pyydä uutta linkkiä","STREMIO_TV_LOGIN_LINK_REFRESHED":"Kirjautumiskoodi päivitetty","STREMIO_TV_SEARCH_PLACEHOLDER":"Kirjoita jotain","STREMIO_TV_SEARCH_NO_ADDONS":"Ei lisäosia pyydetty katalogeille!","STREMIO_TV_SEARCH_BUTTON":"Hae","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Väli","STREMIO_TV_SEARCH_KEY_CLEAR":"Tyhjennä","STREMIO_TV_SEARCH_HISTORY_TITLE":"Hakuhistoria","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Voit hakea otsikoita, näyttelijöitä, kanavia ja paljon muuta...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Tyhjennä hakuhistoria","STREMIO_TV_FILTERS_DESCRIPTION":"Valitse yksi alla olevista suodattimista","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Suoratoistopalvelin ei ole käytössä. Tarkista palvelimen asetukset.","FILTERS":"Suodattimet","SETTINGS":"Asetukset","ACCOUNT":"Tili","LOGOUT":"Kirjaudu ulos","THEMES":"Teemat","PLAYBACK":"Toisto","PLAYBACK_SPEED":"Toistonopeus","AUDIO_TRACKS":"Ääniraidat","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videot","SERVER":"Palvelin","LINKS":"Linkit","ABOUT":"Tietoja","INTERFACE":"Käyttöliittymä","ANIMATIONS":"Animaatiot","STATUS":"Tila","LANGUAGE":"Kieli","SIZE":"Koko","DELAY":"Viive","BOLD":"Lihavointi","OPACITY":"Opacity","TEXT_COLOR":"Tekstin väri","OUTLINE_COLOR":"Ääriviivan väri","BACKGROUND_COLOR":"Taustan väri","BACKGROUND_BLUR":"Taustan sumennus","SEEK_TIME_DURATION":"Etsi aikaa kesto","AUTO_PLAY":"Toista seuraava jakso automaattisesti","PLAY_NOW":"Toista nyt","MARK_AS_WATCHED":"Merkitse katsotuksi","MARK_AS_UNWATCHED":"Merkitse katsomattomaksi","REWIND_TO_BEGINNING":"Kelaa alkuun","CONTINUE_WATCHING":"Jatka katselua","ALL":"Kaikki","SECONDS":"sekuntia","ON":"PÄÄLLÄ","OFF":"POIS PÄÄLTÄ","RELOAD":"Lataa uudelleen","EDIT_URL":"Muokkaa URL-osoitetta","URL":"URL","NONE":"Ei mitään","EMBEDDED":"Upotettu","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Vaihda laitetta","REMOTE_VIDEOS":"Videot","REMOTE_ADJUST_TIMING":"Säädä ajoitusta","REMOTE_ADJUST_SIZE":"Säädä kokoa","REMOTE_COULD_NOT_BE_LOADED":"Verkkokaukosäädin ei voitu ladata","REMOTE_RETRY":"Yritä uudelleen","TORRENT_PROFILE_DEFAULT":"Oletus","TORRENT_PROFILE_SOFT":"Hidas","TORRENT_PROFILE_FAST":"Nopea","TORRENT_PROFILE_ULTRA_FAST":"Erittäin nopea","MB_S":"MB/s","FAQ_001_H1":"Mikä on Stremio?","FAQ_001_P1":"Stremio on mediasoitinohjelmisto, joka on suunniteltu videoviihdettä ajatellen. Stremio mahdollistaa oman elokuva-, sarja-, kanava- ja suoratoistokokoelman järjestämisen ja katsomisen.","FAQ_001_P2":"Stremio kerää näyttämänsä sisällön paikalliselta levyltäsi ja lisäosajärjestelmästämme.","FAQ_001_P3":"Se myös ilmoittaa sinulle, kun uusia jaksoja/videoita/elokuvia, joista olet kiinnostunut, tulee ulos, ja antaa sinulle elokuvasuosituksia.","FAQ_02_H1":"Miten Stremio vertautuu Kodiin ja Plexiin?","FAQ_02_P1":"Olemme saaneet inspiraatiota näistä kahdesta ohjelmistosta. Mutta meillä on erilaiset tavoitteet - Stremio on suunnattu erityisesti viihdevideoille ja pyrkii olemaan pääasiallinen ratkaisu tähän tarjoamalla erittäin helppokäyttöisen käyttöliittymän.","FAQ_02_P2":"Stremio ei koskaan tule olemaan yhtä muokattava ja ominaisuuksiltaan rikas kuin Kodi ja Plex, mutta se on merkittävästi helpompi käyttää. ${1} Hanki se ja katso ${2} :)","FAQ_03_H1":"Miten Stremio vertautuu Netflixiin?","FAQ_03_P1":"Netflix on jälleen yksi inspiraatioistamme. Pyrimme saavuttamaan Netflixin käyttökokemuksen, plus paljon lisäominaisuuksia. Mutta ennen kaikkea annamme sinulle vapauden hallita omaa kirjastoasi ja lisätä uusia sisältölähteitä lisäosajärjestelmämme avulla.","FAQ_03_P2":"Tämä tekee Stremiosta äärettömän laajennettavan, joten kun käytät Stremiota, et ole koskaan rajoitettu Netflixin lisensioimaan sisältöön. Esimerkiksi Stremion kautta voit katsoa sisältöä ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} ja jopa ${9}Netflix${10} itsestään!","FAQ_04_H1":"Miten Stremio vertautuu Flipboardiin?","FAQ_04_P1":"Emme saa sitä kysymystä kovin usein, paitsi kun puhumme aloittaville ihmisille :)","FAQ_04_P2":"Stremio on suunniteltu sisällön kerääjäksi, mikä tekee siitä käytännössä Flipboardin videolle. Tämä on erittäin ilmeistä Board-osiossamme, joka antaa sinulle katalogeja ja uusien jaksojen/uusien videoiden ilmoituksia siitä, mitä seuraat, aivan kuten Flipboard.","FAQ_05_H1":"Miten Stremio vertautuu Popcorn Timeen?","FAQ_05_P1":"Stremio ja Popcorn Time ovat samanlaisia käyttöliittymän suhteen, koska videoviihdekatalogeja ei ole monia tapoja tehdä oikein :)","FAQ_05_P2":"Mutta kun Popcorn Time keskittyy tiettyjen lähteiden torrentien suoratoistoon, Stremio on rajoittamaton ja on vain sisällön kerääjä - se ei ole lukittautunut tiettyyn sisältölähteeseen.","FAQ_05_P3":"Lisäksi emme tarjoa mitään torrent-lisäosia oletusarvoisesti, joten Stremio ei kata Popcorn Time -käyttötapaa virallisella toiminnallisuudella.","FAQ_05_P4":"Toinen huomattava ero on, että Popcorn Time on täysin avoimen lähdekoodin ohjelmisto, kun taas Stremio on ${1} osittain avoimen lähdekoodin${2}.","FAQ_06_H1":"Lisäättekö tämän elokuvan/sarjan?","FAQ_06_P1":"Ei, pahoittelut :(","FAQ_06_P2":"Kuten useimmissa muissa kysymyksissä mainitaan, Stremio ei tarjoa sisältöä itse - kaikki lisätään lisäosajärjestelmän kautta. Jos sinulla on sisältöpyyntö, voit käyttää “Report” -painiketta Soittimessa, joka lähettää sähköpostin käyttämäsi lisäosan tekijälle.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Luotteko lisäosan X:lle?","FAQ_08_P1":"Se on täysin mahdollista.","FAQ_08_P2":"Jos sinulla on idea lisäosalle, lähetä meille viesti osoitteeseen ${1}office@stremio.com${2}, mutta varmista, että lisäosa-ideasi ei loukkaa tekijänoikeuksia tai käyttöehtoja.","FAQ_08_P3":"Tällä hetkellä seuraavat asiat ovat tienhaarassamme: lisäosat FandangoNOW:lle, Filmon.tv videon tilaukselle ja Crunchyroll:lle.","FAQ_09_H1":"Käyttääkö Stremio BitTorrentia?","FAQ_09_P1":"Kyllä, Stremio tukee BitTorrentia suoratoistoprotokollana. Voit käyttää sitä joko torrent-lisäosan kanssa, raahaamalla ja pudottamalla .torrent-tiedoston Stremioon tai liittämällä magneettilinkin Haku-palkkiin.","FAQ_09_P2":"Huomaa, että ainoa virallinen BitTorrentia käyttävä lisäosa on ${1}Vodo${2}, joka tarjoaa indie-sisältöä, joka on kaikki sallittu jaettavaksi BitTorrentin kanssa.","FAQ_09_P3":"Emme tue kolmannen osapuolen lisäosien käyttöä, jotka saattavat mahdollistaa tekijänoikeusrikkomuksen.","FAQ_10_H1":"Mitä voin katsoa Stremiossa virallisilla lisäosilla?","FAQ_10_P1":"Oletusarvoisesti voit katsoa Filmon.tv:n, YouTuben ja Vodon sisältöä Stremiossa sen upotetulla soittimella. Lisäksi meillä on lisäosa Twitch.tv:lle ja muutamille muille.","FAQ_10_P2":"Tämä yhdistettynä tarjoaa valikoiman:","FAQ_10_L1":"Suosittuja TV-kanavia, jotka tarjoaa Filmon.tv - esimerkiksi E4, BBC, Bollyworld TV","FAQ_10_L2":"Kaikki YouTubesta - esimerkiksi BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie-elokuvia Vodolla","FAQ_10_L4":"Online-pelilähetyksiä Twitch.tv:ltä","FAQ_10_P3":"Lisäksi on monia sisältölähteitä, jotka on tarjottu Guideboxin ja Netflix-lisäosien kanssa, jotka <b>eivät</b> soita kokonaan Stremiossa, vaan ohjaisivat annettuun palveluun. Esimerkiksi Guidebox-lisäosa antaisi sinulle valikoiman elokuvia, joita voit suoratoistaa Yhdysvalloissa ilmaiseksi palveluista, kuten TubiTV ja Crackle.","FAQ_11_H1":"Stremio ei asennu, mitä minun pitäisi tehdä?","FAQ_11_P1":"Jos käytät Windowsia, kokeile ${1}tätä vaihtoehtoista asennusohjelmaa${2}.","FAQ_11_P2":"Jos käytät Mac OS X:ää, huomaa, että emme tue mitään vanhempaa kuin OS X Mavericks (10.9).","FAQ_11_P3":"Jos käytät Linuxia, huomaa, että tuemme tällä hetkellä vain 64-bittistä (x64) Linuxia.","FAQ_11_P4":"Jos et vieläkään pysty ratkaisemaan ongelmaasi, kirjoita meille ${1}Facebook-ryhmässämme${2}.","FAQ_12_H1":"Miksi anti-virusohjelmani valittaa? Onko Stremio turvallinen?","FAQ_12_P1":"Vakuutamme sinulle, että Stremio on ${1}100% puhdas${2}.","FAQ_12_P2":"Anti-virusohjelmasi valittaa, koska sisällytämme mainoksia asennusohjelmaamme, jonka jotkut anti-virusohjelmat tunnistavat mainosohjelmaksi.","FAQ_12_P3":"Jos olet edelleen epävarma, voit kokeilla ${1}vaihtoehtoista asennusohjelmaamme${2}.","FAQ_13_H1":"Kuinka voin tehdä lisäosan?","FAQ_13_P1":"Aluksi suosittelemme tarkistamaan ${1}lisäosajärjestelmän moduulin${2} GitHubista.","FAQ_13_P2":"Sen jälkeen voit seurata ${1}Hello World -opetusohjelmaa${2}.","FAQ_13_P3":"Jos sinulla ei ole ohjelmointitaitoja, julkaise idea Reddit-yhteisössä ja ota yhteyttä meihin lisäosa-ideallasi osoitteessa ${1}office@stremio.com${2}.","FAQ_14_H1":"Kuinka lisäosat julkaistaan?","FAQ_14_P1":"Kun luot lisäosan ja isännöit sen, ja laitat <b>endpoint</b>-kentän manifestiisi, joka osoittaa toimivan lisäosan osoitteen, lisäosa julkaisee itsensä automaattisesti ${1}lisäosakatalogiimme${2}.","FAQ_14_P2":"Tämä tapahtuu, koska stremio-addons-moduulin palvelinosa tekee automaattisesti kutsun API:lle ilmoittaakseen lisäosasta. Kun API validoi <b>endpoint</b>-osoitteesi kelvolliseksi lisäosaksi, se alkaa näkyä katalogissa.","FAQ_15_H1":"Voinko käyttää Stremiota selaimessani?","FAQ_15_P1":"Ei tällä hetkellä, mutta tämä on tulossa!","FAQ_15_P2":"Jos olet utelias näkemään Alphan, voit nähdä sen täällä: ${1}alpha4.strem.io${2}. Huomaa, että suoratoisto on poistettu käytöstä tässä alfa-versiossa. Tuemme Chromea, Firefoxia, Operaa ja Edgeä.","FAQ_16_H1":"Heijastaminen TV:lle ei toimi / tekstitykset eivät toimi","FAQ_16_P1":"TV:lle heijastaminen käyttää DLNA-teknologiaa, joka on erittäin epäjohdonmukainen eri TV-merkkien ja -mallien välillä. Tämän vuoksi meillä ei ole mahdollisuutta testata sitä jokaisessa tapauksessa, joten se on kaukana täydellisestä. Siitä huolimatta työskentelemme sen parantamiseksi jatkuvasti, mutta emme voi antaa aikatauluarviota siitä, milloin DLNA alkaa toimia kunnolla TV:si kanssa.","FAQ_16_P2":"Jos et näe TV:täsi heijastusvalikossa, yritä poistaa verkkoyhteys käytöstä ja ottaa se uudelleen käyttöön (Windowsissa napsauta hiiren kakkospainikkeella Verkkoa ja käytä Käytä/Poista käytöstä), samoin kuin käynnistämällä reititin, TV ja tietokone uudelleen.","FAQ_16_P3":"Jos kohtaat edelleen ongelmia, voit auttaa meitä lähettämällä TV:si merkki- ja mallitiedot osoitteeseen ${1}office@stremio.com${2}.","FAQ_16_P4":"Sillä välin suosittelemme Chromecastia, jota tuemme erittäin hyvin, tai yksinkertaisesti liittämällä TV:si tietokoneeseesi HDMI-kaapelilla.","FAQ_17_H1":"Stremio jäätyy ja/tai kaatuu, mitä voin tehdä?","FAQ_17_P1":"Ensinnäkin, jos käytät Windows 7:ää AVG-antivirusohjelman kanssa: meillä on ongelma tämän yhdistelmän kanssa. Ongelma on AVG:ssä, eikä sitä ole järkevää ratkaista meidän puoleltamme. Valitettavasti poikkeukset tai anti-virusohjelman poistaminen käytöstä eivät toimi. Ainoa ratkaisu on korvata AVG jollain muulla.","FAQ_17_P2":"Jos tämä ei ole ongelma, mutta käytät edelleen Windowsia, päivitä uusimpaan palvelupakettiin ja päivitä/uudelleenasenna GPU-ohjaimet, ja yritä sitten uudelleen.","FAQ_17_P3":"Jos ongelmasi ei ole vielä ratkaistu tai käytät Macia tai Linuxia, kirjoita meille raportoiden ongelman tarkat tiedot ${1}Facebook-ryhmässämme${2}.","FAQ_18_H1":"Kuinka voin tehdä lisäosan?","FAQ_18_P1":"Aluksi suosittelemme tarkistamaan ${1}lisäosajärjestelmän moduulin${2} GitHubista.","FAQ_18_P2":"Sen jälkeen voit seurata ${1}Hello World -opetusohjelmaa${2}.","FAQ_18_P3":"Jos sinulla ei ole ohjelmointitaitoja, julkaise idea Reddit-yhteisössä ja ota yhteyttä meihin lisäosa-ideallasi osoitteessa ${1}office@stremio.com${2}.","FAQ_19_H1":"Miksi Stremio vie levytilaa?","FAQ_19_P1":"Stremiolla on <b>paikallinen välimuisti</b> videoiden tilapäiseen säilyttämiseen, joita suoratoistat.","FAQ_19_P2":"Tämä on kaksi etua: ensinnäkin se mahdollistaa Stremion esipuskuroinnin videon edessä, jotta varmistetaan sujuvampi suoratoisto. Toiseksi se pitää videot paikallisessa välimuistissa, jotta voit jatkaa niiden katselua offline-tilassa.","FAQ_19_P3":"Kuinka paljon Stremio pitää riippuu <b>välimuisti</b>-asetuksesta Asetukset-paneelissa. Stremio voi pitää jopa asetetun määrän (esim. 2 Gt) levyltäsi, ellei tällä hetkellä suoratoistettava video ole suurempi kuin se, jolloin sen on varattava tarpeeksi tallennustilaa, jotta voit suoratoistaa sen.","FAQ_20_H1":"Missä välimuistikansio on?","FAQ_20_P1":"Windowsissa se on stremio-cache asemassa, jonka valitsit Asetuksissa (esim. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"MacOS:ssa se on \\"~/Kirjasto/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linuxissa se on \\"~/.stremio/stremio-cache\\" tai \\"~/stremio-cache\\"","FAQ_21_H1":"Saan \\"Suoratoistopalvelinta ei löydy\\" -virheen, mitä voin tehdä?","FAQ_21_P1":"Jos saat tämän virheen, se tarkoittaa yhtä muutamaa asiaa:","FAQ_21_P2":"1) Yrität käyttää YouTube/BitTorrent-lähteellä varustettua lisäosaa, web-versiomme kautta. Tässä tapauksessa sinun pitäisi asentaa pöytäversiomme ${1}verkkosivustoltamme${2}.","FAQ_21_P3":"2) Jotain on vialla Stremio-asennuksessasi. Tässä tapauksessa kokeile uudelleenasentaa uusin pöytäversiomme ${1}verkkosivustoltamme${2}. Jos tämä ei auta, kokeile poistaa käytöstä anti-virusohjelmat ja palomuurit, käynnistä tietokone uudelleen ja yritä uudelleen. Jos tämäkään ei toimi, kirjoita meille Facebook-ryhmässämme.","FAQ_22_H1":"En voi nähdä/käyttää useimpia lisäosia iOS:lla","FAQ_22_P1":"Apple App Storen ehtojen rajoitusten vuoksi olemme rajoittaneet iOS-sovelluksen vain tiettyyn joukkoon lisäosia.","FAQ_22_P2":"Mutta ole varma - tulevaisuudessa on enemmän lisäosia iOS:lle, ja voimme myös lisätä integraation, joka mahdollistaa kaikkien Stremio-lisäosien käytön yhdistämällä iOS-sovelluksen Stremio Streaming Serveriin."}')},29469:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Série","TYPE_tv":"Chaîne TV","TYPE_channel":"Chaîne","TYPE_other":"Autre","TYPE_movie_PL":"Film","TYPE_series_PL":"Séries","TYPE_tv_PL":"Chaînes TV","TYPE_channel_PL":"Chaînes","TYPE_other_PL":"Autres","TYPE_ALL":"Tous","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Populaire","CATALOG_com_linvo_cinemeta_imdbRating":"À la une","CATALOG_com_linvo_cinemeta_year":"Nouveau","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Films du domaine public","VIDEO":"Vidéo","BACK":"Retour","MORE":"Plus","DONE":"Terminer","COPY":"Copier","SUCCESS":"Succès","ERROR":"Erreur","SETTINGS_CASTING_MODE_PICKER":"Mode de diffusion","CASTING_MODE_HLSV2":"Par défaut","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Pas de transcodage","Discover":"Découverte","Board":"Tableau","Library":"Bibliothèque","My Library":"Ma bibliothèque","Calendar":"Calendrier","NOTIFICATION_ONLINE":"Vous êtes maintenant connecté","NOTIFICATION_OFFLINE":"Vous êtes maintenant hors-ligne","INTERNET_CONNECTION":"Connexion internet","STORAGE_FULL_TITLE":"Attention : Espace de stockage plein !","STORAGE_FULL_TEXT":"Stremio sera incapable de sauvegarder vos réglages, préférences ou informations de connexion. N’hésitez pas à relancer ou réinstaller Stremio.","SEARCH":"Recherche","SEARCH_NO_RESULTS":"Aucun résultat trouvé","SEARCH_EXPLANATION_CONTENT":"Recherchez des films, séries, chaines YouTube ou TV…","SEARCH_EXPLANATION_PEOPLE":"Recherchez des acteurs, directeurs et réalisateurs","SEARCH_PASTE_LINKS":"Collez une URL ou un lien magnet","SEARCH_OR_PASTE_LINK":"Rechercher ou coller un lien","SEARCH_SUGGESTIONS":"Suggestions de recherche","ADD_TO_LIB":"Ajouter à la bibliothèque","REMOVE_FROM_LIB":"Retirer de la bibliothèque","ADDED_TO_LIB":"Ajouté à la bibliothèque","REMOVED_FROM_LIB":"Retiré de la bibliothèque","TRAILER":"Bande-annonce","WATCH_TRAILER":"Regarder la bande-annonce","WATCH_NOW":"Regarder","SHOW":"Regarder","SHOW_MOVIE":"Afficher le film","WATCH_RANDOM":"Regarder aléatoirement","IMDB_RATING":"Note IMDb","YEAR":"Année","DIRECTOR":"Réalisateur","WRITER":"Scénariste","LEAD_ACTORS":"Acteurs principaux","CAST":"Casting","CREW":"Équipe","SHOW_MORE_CAST":"Afficher plus","AIRED":"Sortie","SEASONS":"Saisons","GENRE":"Genre","GENRE_ALL":"Tous les genres","CATALOG":"Catalogue","SUMMARY":"Résumé","SHOW_MORE":"Afficher plus","SIMILAR":"Similaire","UPCOMING":"À venir","TBA":"TBA","ENDED":"Terminé","DURATION":"Durée","FEATURED":"À l’affiche","METADATA":"Métadonnées","CATEGORY":"Catégorie","LINKS_GENRES":"Genres","LINKS_CAST":"Casting","LINKS_DIRECTORS":"Réalisateurs","SEARCH_VIDEOS":"Rechercher des vidéos","SEARCH_PLACEHOLDER":"Chercher ou coller un lien magnet","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"Officiels","ADDONS_OFFICIAL":"Addons Stremio officiels","ADDONS_POPULAR":"Populaire près de chez vous","ADDON_FREE":"Gratuit","ADDON_PEERED":"Peered","ADDON_SUBSCRIPTION":"Abonnement","ADDON_STREAM_GEORESTRICTED":"Non disponible chez vous","ADDON_STREAM_OFFLINECACHE":"Cache hors-ligne","ADDON_STREAM_LOCALFILE":"Fichier local","SHARE_ADDON":"Partager cet addon","AVAILABLE_STREAMS":"Flux disponibles","NO_STREAM":"Aucun flux n’a été trouvé","ALL_ADDONS":"Tous","INSTALL_MORE_ADDONS":"Pour plus de flux, veuillez installer plus d’addons","STREAM_NOT_SUPPORTED":"Le flux sélectionné n’est pas supporté par la plateforme","ADDON_CATALOGUE":"Afficher tous les addons »","ADDON_CATALOGUE_MORE":"Installer des addons","REPO_ADDED":"Répertoire ajouté","ADDON_REPO_EXIST_ERR":"Cette collection d’addons existe déjà","ADDON_REPO_ERR":"Une erreur s’est produite lors de l’ajout de la collection","ADDON_ADD_ERR":"Une erreur est survenue lors de l’ajout du répertoire","ERR_ADDON_PROTECTED":"Extension protégée","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Quelque chose n’a pas fonctionné - l’authentification a peut-être échoué","ERR_NOT_COLLECTION_URL":"Ce n’est pas une URL de collection","ERR_NOT_ADDON_URL":"Ce n’est pas une URL d’addon","ERR_DETECTFROMURL":"Impossible de trouver un addon/collection à partir de cette URL","ADDON_DUPLICATE_WARNING":"Attention : addon dupliqué","ADDON_COLLECTION_SET_FAILED":"La synchronisation des addons installés vers votre compte a échoué","SETTINGS_DATA_EXPORT":"Exporter mes données","ADDON_PULL_FAILED":"La synchronisation des addons installés depuis de votre compte a échoué","REFRESH_ON_CLICK":"Cliquez pour réessayer","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Le film est toujours en salle","WATCH_IN_CINEMA":"Regardez-le dans votre cinéma local","IN_THEATER":"Au cinéma","GET_TICKETS":"Acheter des places","UPCOMING_EPISODE":"Épisode à venir","UPCOMING_EPISODE_MESSAGE":"Cet épisode sera diffusé le","MISSING_DATE_EPISODE":"Date d’épisode manquante","MISSING_DATE_EPISODE_MESSAGE":"Cet épisode n’a peut-être pas encore été diffusé","CHANNEL_NOT_SCRAPED":"Cette chaîne n’est pas disponible.<br>Revenez dans quelques minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Ajoutez le à votre bibliothèque pour être notifié une fois sorti.","GET_NOTIFIED_WHEN_AVAILABLE":"Vous serez notifié une fois disponible.","WARNING_STREAMING_SERVER":"Attention, serveur de streaming local non trouvé. Le streaming depuis Youtube et BitTorrent ne sera pas disponible.","WARNING_STREAMING_SERVER_DISMISS":"Ignorer","WARNING_STREAMING_SERVER_LATER":"Plus tard","DECODER_WARNING":"Attention : cette vidéo peut ne pas être supportée par votre matériel. Gardez à l’esprit que la lecture peut être lente.","GENERIC_ERROR_MESSAGE":"Il y a eu un problème !","TRY_AGAIN":"Réessayer","CLEAR_DATA":"Effacer les données","PLAYER_ERROR":"Oups, erreur du lecteur","PLAYER_ERROR_LOOKSLIKE":"On dirait que","PLAYER_ORIENTATION":"Orientation du lecteur","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Verrouillé","PLAYER_ORIENTATION_SENSOR_SHORT":"Capteur","PLAYER_ORIENTATION_LANDSCAPE":"Orientation du lecteur verrouillé en paysage","PLAYER_ORIENTATION_SENSOR":"Orientation automatique du lecteur (capteur)","PLAYER_PLAYBACK_SPEED":"Vitesse de lecture","PLAYER_PLAYBACK_ERROR":"Erreur de lecture, veuillez réessayer","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Erreur inconnue","PLAYER_PLAYBACK_ERROR_DEFAULT":"Désolé, cette vidéo ne peut pas être lue par {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Langues des sous-titres","PLAYER_SUBTITLES_VARIANTS":"Variantes des sous-titres","PLAYER_SUBTITLES_SETTINGS":"Réglages des sous-titres","PLAYER_SUBTITLES_DISABLED":"Sous-titres désactivés","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Position verticale","PLAYER_SUBTITLES_LOADED":"Sous-titres chargés","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Sous-titres intégrés chargés","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Sous-titres exclusifs chargés","PLAYER_SUBTITLES_LOADED_LOCAL":"Sous-titres locaux chargés","PLAYER_SUBTITLES_LOADED_ORIGIN":"Sous-titres de {{origin}} chargés","PLAYER_PLAY":"Lecture","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Vidéo suivante","PLAYER_MUTE":"Sourdine","PLAYER_UNMUTE":"Rétablir le son","PLAYER_OPEN_IN_EXTERNAL":"Ouvrir dans un lecteur externe","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Jouer sur {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"À venir dans","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Ignorer","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Regarder maintenant","PLAYER_COPY_STREAM_SUCCESS":"Le lien du flux a été copié dans votre presse-papiers","PLAYER_COPY_STREAM_ERROR":"Échec de la copie du lien de flux","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Diffusé à partir de","CASTING_TO":"Transmis à","NETWORK_STATUS":"Statut du réseau","STREAM_SPEED":"Vitesse du stream :","STREAM_BUFFERED":"Mis en cache :","PEERS_INFO":"Informations sur les pairs","PEERS_ACTIVE":"Actif :","PEERS_CONNECTED":"Connecté :","PEERS_WAITING":"En attente :","TRANSCODING_WARNING":"Attention: transcodage vidéo.","STREAM_LOADING":"Chargement…","PLAYING_LOCAL":"Lecture à partir d’un fichier local","PLAYING_CACHE":"Lecture à partir du cache","WRONG_SUBS":"Mauvais sous-titres ?","ERR_SUBS_LOADING_TITLE":"Erreur de chargement des sous-titres","ERR_SUBS_LOADING":"Échec du chargement des sous-titres : il peut s’agir d’un problème avec l’addon que vous utilisez, ou avec votre connexion réseau.","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Les addons de sous-titres suivants ont échoués","ERR_CASTING_UPDATE_TITLE":"Impossible de mettre à jour les informations sur le périphérique de diffusion : le serveur de streaming est peut-être hors ligne.","CHOOSE_DEVICE":"Choisissez un appareil sur lequel regarder","NO_CAST_DEVICES":"Aucun appareil de diffusion n’est disponible.","NO_SETTINGS":"Aucun réglage disponible.","NO_OPTIONS":"No options available","PHONE_TABLET":"Téléphone / Tablette","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Sous-titres","SUBTITLES_CHANGE":"Changer les sous-titres pour ","SUBTITLES_CHANGE_NONE":"Il n’y a pas d’autres sous-titres pour cette langue, désolé.","SUBTITLES_CHANGE_ACIVE":"Les sous-titres #{{subtitlesDialog.activeIdx + 1}} sont actuellement activés. Cliquez sur \\"Continue\\" pour activer les sous-titres #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Sinon,","SUBTITLES_ADJUST_DELAY":"Ajuster le décalage des sous-titres :","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Utilisez les touches <span>G</span> / <span>H</span> pour les ajuster.","SUBTITLES_ADJUST_DELAY_TIP":"ASTUCE : vous pouvez utiliser les touches <span>G</span> / <span>H</span> pendant la lecture pour les régler.","SUBTITLES_DELAY":"Délai des sous-titres :","SUBTITLES_LOADING":"Chargement des sous-titres…","SUBTITLES_UNAVAILABLE":"Aucun sous-titre externe disponible","SUBTITLES_DISABLED":"Désactivés","EXTERNAL_PLAYER_DISABLED":"Désactivé","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permettre le choix","EXTERNAL_PLAYER_HINT":"Conseil : il existe un paramètre permettant de toujours ouvrir avec un lecteur externe.","DONT_SHOW_AGAIN":"Ne plus montrer","SERVICE_INSTALL":"Installer","AUDIO":"Audio","DEFAULT_LANGUAGE":"Langue par défaut","DEFAULT_SECONDARY_LANGUAGE":"Langue secondaire par défaut","SEASON":"Saison","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Épisode","EPISODE_ABBREVIATION":"ÉP","SPECIAL":"Spécial","SORT":"Trier","SORT_BY":"Trier par","FILTER":"Filtrer","SORT_TRENDING":"Tendances","SORT_RECENT":"Récent","SORT_ALPHABET":"A-Z","SORT_ALPHABET_REVERSE":"Z-A","SORT_RATING":"Note","SORT_WATCHED":"regardés","SORT_YEAR":"Année","SELECT":"Select","SELECT_TYPE":"Sélectionner le type","SELECT_SORT":"Sélectionner le filtre","SELECT_CATALOG":"Sélectionner le catalogue","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Sélectionner le genre","SORT_LASTWATCHED":"dernier regardés","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"plus regardés","SORT_NOTWATCHED":"non regardés","New for You":"Nouveau pour vous","New Episodes":"Nouveaux épisodes","New Videos":"Nouvelles vidéos","Recommendations":"Recommandations","LIBRARY_RESUME":"Reprendre","LIBRARY_PLAY":"Lire","LIBRARY_DETAILS":"Détails","LIBRARY_RESUME_DISMISS":"Effacer","LIBRARY_CLEAR_PROGRESS":"Effacer l’avancée de la lecture","LIBRARY_REMOVE":"Retirer","LIBRARY_NOT_LOGGED_IN":"La bibliothèque n’est disponible que pour les utilisateurs connectés","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Le calendrier n’est disponible que pour les utilisateurs connectés","NOT_LOGGED_IN_CLOUD":"Accédez à vos films et émissions de télévision préférés à tout moment et en tout lieu","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommandations adaptées à votre historique de visionnage","NOT_LOGGED_IN_NOTIFICATIONS":"Ne manquez plus jamais un épisode","NOT_LOGGED_IN_CALENDAR":"Planifiez votre calendrier des sorties","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Têtes d’affiches","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Primés aux Oscars","DISCOVER_WARNING_TITLE":"Oups !","DISCOVER_EMPTY_CATALOG":"Cet addon a renvoyé un contenu vide.","DISCOVER_ADULT_WARNING":"Ce contenu n’est visible que pour les adultes. Avez-vous plus de 18 ans ?","DISCOVER_NOADDON_WARNING":"Attention : aucune extension Stremio active pour ce type. Les fichiers sauvegardés seront montrés, rien ne sera mis à jour.","DISCOVER_LOAD_ERR":"Découvrir : n’a pas réussi à charger le catalogue à partir de l’addon","DISCOVER_ADDON_UNINSTALLED":"Ce contenu n’est plus disponible, vous avez peut-être désinstallé l’addon.","UNINSTALL_THIS_ADDON":"Désinstallez cet addon","ERR_ADDON_NOT_INSTALLED":"Cet addon n’est pas installé. L’installer maintenant ?","DETAIL_RECEIVE_NOTIF_SERIES":"Recevoir des notifications pour les nouveaux épisodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Recevoir des notifications pour les nouvelles vidéos","SIDEBAR_SHOW_STREAMS":"Afficher les flux","RELAUNCH":"Redémarrez maintenant !","UPGRADE":"Nouvelle version disponible ! Mise à jour vers la dernière version de Stremio","RELOAD_UI":"Rafraîchir l’interface utilisateur","MANUAL_UPDATE_TITLE":"Mettez à jour votre version de Stremio","MANUAL_UPDATE_LINE1":"Vous utilisez une version obsolète de Stremio, ce qui est fortement déconseillé.","MANUAL_UPDATE_LINE2":"Veuillez mettre à jour dès que possible.","BUTTON_UPDATE_LATTER":"Pas maintenant.","BUTTON_UPDATE_NOW":"Mettre à jour","UPDATER_TITLE":"Une nouvelle version de Stremio est disponible","UPDATER_INSTALL_BUTTON":"Installer maintenant","ANONYMOUS_USER":"Utilisateur anonyme","DONT_HAVE_ACC":"Vous n’avez pas de compte ?","HAVE_ACC":"Vous avez déjà un compte ?","PASSWORD":"Mot de passe","PASSWORD_CONFIRM":"Confirmer le mot de passe","EMAIL":"E-mail","FB_LOGIN":"Continuer avec Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Rien ne sera partagé sans votre permission","FB_NOPOST":"Nous ne posterons rien en votre nom","OR":"ou","I_ACCEPT":"J’accepte les","I_ACCEPT_BY_CLICKING":"En cliquant sur le bouton ci-dessus, je certifie que j’accepte les ","TOS":"Conditions d’utilisation","MUST_ACCEPT_TERMS":"Vous devez accepter les conditions","PASSWORDS_NOMATCH":"Les mots de passe ne correspondent pas","SIGN_UP":"Inscription","SIGN_UP_EMAIL":"S’inscrire par email","CLICK_TO_SIGN_UP":"Cliquez ici pour vous inscrire.","LOG_IN":"Connexion","LOG_OUT":"Déconnexion","EXIT_FULLSCREEN":"Quitter le mode plein écran","ENTER_FULLSCREEN":"Entrer en mode plein écran","PLAY_URL_MAGNET_LINK":"Lire un URL/lien magnet","HELP_FEEDBACK":"Aide & commentaires","TERMS_OF_SERVICE":"Conditions d’utilisation","PRIVACY_POLICY":"Politique de confidentialité","ABOUT_STREMIO":"À propos de Stremio","USER_PANEL":"Panneau utilisateur","LOGIN_LABEL":"Se connecter","GUEST_LOGIN":"Connexion invité","GUEST_LOGIN_NOTICE":"La connexion en tant qu’invité n’est pas recommandée. Se connecter de façon régulière permet à Stremio de synchroniser votre bibliothèque et de recevoir des notifications pour vos séries/chaines favorites. Êtes-vous sûr de vouloir continuer ?","GUEST_LOGIN_NOTICE_2":"La connexion en tant qu’invité n’est pas recommandée - vous n’aurez pas de notifications synchronisées pour votre Bibliothèque ou Tableau, qui sont des fonctionnalités vitales de Stremio. Êtes-vous sûr de vouloir continuer ?","CLICK_HERE":"Cliquez ici","WRONG_PASSWORD":"Mauvais mot de passe. Si vous avez oublié votre mot de passe, ","SET_A_PASS":"Choisissez-en un","RESET_PASSWORD":"Réinitialiser le mot de passe","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Mot de passe oublié ?","EMAIL_USED_WITH_FB":"Cet e-mail a été utilisé avec une connexion Facebook.","INVALID_EMAIL":"Veuillez entrer une adresse email valide","INVALID_PASSWORD":"Veuillez entrer un mot de passe valide","CONN_ERR":"Erreur de connexion - Réessayez plus tard.\\n\\nSi le problème persiste, désactivez le pare-feux/anti-virus (particulièrement Bitdefender).","IMPORT_FROM_GUEST":"Importer la bibliothèque à partir de votre compte invité","RECEIVE_UPDATES_EMAIL":"Recevoir des muses à jour par email de la part de Stremio","LOGIN_FAILED":"La connexion à échouée.","SIGNUP_FAILED":"L’inscription a échoué.","SEARCH_FAILED":"Échec de la recherche","EMAIL_USED":"Cet email est déjà utilisé.","WAITING_FB_LOGIN":"Se connecter avec Facebook…","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Lire dans un lecteur externe","EXTERNAL_REMEMBER_PLAYER":"Voulez-vous vous souvenir de votre choix","EXTERNAL_ALWAYS_PLAY":"Oui","EXTERNAL_ONLY_ONCE":"Non","BEST_FIT":"Meilleur ajustement","FIT_SCREEN":"Ajuster à l’écran","FILL":"Remplir","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Dites-nous ce que vous aimez","INTRO_TASTE_LONG":"Dites-nous ce que vous aimeriez regarder","INTRO_TASTE_PICK":"Choisissez {{interestsRemaining}} centres d’intérêt","INTRO_TASTE_PICK_MORE":"Choisissez encore {{interestsRemaining}} centres d’intérêt","INTRO_TASTE_HELP_US":"Aidez-nous à mieux vous connaître.","INTRO_TASTE_CHOOSE_THESE":"Choisis-en quelques-unes :","INTRO_TASTE_CHOOSE_MIN":"Choisissez au moins 3 catégories","INTRO_TASTE_CHOOSE_MIN_ERR":"Vous devez choisir au moins 3 catégories !","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Alimentation & santé","INTRO_TASTE_BEAUTY_FASHION":"Beauté & mode","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & éducation","INTRO_TASTE_MUSIC":"Musique","INTRO_TASTE_TRAVEL":"Voyages","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Télé-réalité","INTRO_TASTE_COMEDY":"Comédie","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinéma","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"L’addon sélectionné n’est pas supporté sur cette plate-forme.","ADDON_DISCLAIMER":"Utiliser des extensions tierces sera toujours sujet à votre responsabilité ainsi qu’aux lois et juridictions de votre lieu de résidence.","ADDON_ACTIVATE":"Activer cette extension ?","ADDON_REPO_ADD":"URL de la collection de l’addon","ADDON_ADD":"Ajouter","INSTALL_ADDON":"Installer l’addon","ADD_ADDON":"Ajouter un addon","ADD_ADDON_DESCRIPTION":"Vous pouvez ajouter un addon via un lien externe, qui apparaîtra dans la rubrique Addons installés.","PASTE_ADDON_URL":"Collez l’URL de l’addon","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Nouveautés","BUTTON_CONTINUE":"Continuer","BUTTON_ACTIVATE":"Activer","BUTTON_ACTIVATED":"Activé","BUTTON_CANCEL":"Annuler","BUTTON_CONFIRM":"Confirmer","BUTTON_SUBMIT":"Valider","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Tout effacer","BUTTON_VIEW_ALL":"Voir tous","BUTTON_SEE_ALL":"Voir tous","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Ouvrir dans un navigateur","LIB_EMPTY":"Votre bibliothèque est vide. Découvrez à quel point c’est utile :) ","HOW_START":"Voilà comment démarrer :","LIB_EMPTY_CAL":"Votre calendrier affiche les séries qui sont dans votre bibliothèque.","HOW_START_CAL":"Voici comment ajouter des séries :","LIB_EMPTY_BOARD":"Le tableau montre les notifications & recommendations liées à votre Bibliothèque.","HOW_START_BOARD_WAIT":"S’il vous plait, ajoutez quelques séries ou chaînes à votre Bibliothèque et laissez-nous quelques minutes pour procéder :)","HOW_START_BOARD":"Voici comment y ajouter des séries & des films :","IMPORT_FB":"Importez des choses que vous aimez depuis <span>Facebook</span>","IMPORT_TRAKT":"Importez votre médiathèque depuis <span>Trakt</span>.","IMPORT_DISCOVER":"Trouver des choses intéressantes dans <span>Découverte</span>","IMPORT_DISK":"Importez des séries ou films que vous avez dans votre <span>disque dur</span>","PLEASE_CREATE_ACC":"S’il vous plait <u>créez un compte</u> pour activer la Bibliothèque sync & et le Tableau.","IMPORT_DISCOVER_SIGNUP":"Inscrivez-vous et trouvez des choses intéressantes à partir de <span>Discover</span>Découvrez","IMPORT_DISK_SIGNUP":"Inscrivez-vous et importez les films ou émissions que vous avez sur votre disque <span>Disque local</span>.","LIB_EMPTY_CLOUD":"Bibliothèque Cloud","LIB_EMPTY_CLOUD_DESC":"Bibliothèque cloud personnelle synchronisé sur tous les appareils","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Recevoir des notifications pour les nouveaux épisodes","LIB_EMPTY_PERSONAL":"Personnel","LIB_EMPTY_PERSONAL_DESC":"Obtenir des recommandations personnelles","LIB_EMPTY_CALENDAR_DESC":"Planifiez votre calendrier personnel de visionnage","LIB_EMPTY_ALL":"Inscrivez-vous pour obtenir tout cela :","LIB_EMPTY_BEST":"Inscrivez-vous pour profiter pleinement de Stremio","LIB_EMPTY_OTHER":"Inscrivez-vous pour activer l’option Calendrier et d’autres fonctions intéressantes","CALENDAR_ADDED":"Le calendrier Stremio a été ajouté à votre calendrier de bureau par défaut.","CALENDAR_ADDED_MSG":"Si cela ne fonctionne pas, veuillez ajouter manuellement cette URL à votre application de calendrier.","TRAKT_EXPIRED":"L’authentification à Trakt a expiré, allez dans Paramètres et ré-authentifiez-vous.","TRAKT_REQUIRES_LOGIN":"Erreur de Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Vous devez vous connecter","TRAKT_IMPORT_WATCHED":"Import","THEME":"Thème","THEME_DEFAULT":"Défaut","THEME_ADAPTIVE":"Adaptatif","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Réglages","SETTINGS_NAV_GENERAL":"Général","SETTINGS_NAV_PLAYER":"Lecteur vidéo","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Raccourcis","SETTINGS_SHORTCUT_RELOAD_APP":"Rafraîchir l’application","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Ouvrir les réglages","SETTINGS_SHORTCUT_SWITCH_TABS":"Changer d’onglet","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Parcourir les onglets en avant","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Parcourir les onglets en arrière","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Naviguer entre les menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Aller à la recherche","SETTINGS_SHORTCUT_EXIT_BACK":"Quitter / Retour","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Afficher le menu de Vitesse de Lecture","SETTINGS_SHORTCUT_MENU_VIDEOS":"Afficher le menu Vidéos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Basculer le menu des sous-titres","SETTINGS_SHORTCUT_MENU_AUDIO":"Basculer le menu audio","SETTINGS_SHORTCUT_MENU_INFO":"Basculer le menu d’information","SETTINGS_SHORTCUT_FULLSCREEN":"Basculer en mode plein écran","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Afficher les contrôles","SETTINGS_SHORTCUT_PLAY_PAUSE":"Lecture / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Augmenter le volume","SETTINGS_SHORTCUT_VOLUME_DOWN":"Réduire le volume","SETTINGS_SHORTCUT_SEEK_NEXT":"Avancer la lecture","SETTINGS_SHORTCUT_SEEK_PREV":"Reculer la lecture","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Reculer dans la lecture","SETTINGS_SHORTCUT_SEEK_FORWARD":"Avancer dans la lecture","SETTINGS_SHORTCUT_PLAY_NEXT":"Lancer la vidéo suivante","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Augmenter la taille des sous-titres","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Réduire la taille des sous-titres","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Augmenter le délai des sous-titres","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Réduire le délai des sous-titres","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjuster le délai des sous-titres","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjuster la taille des sous-titres","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Afficher la barre latérale","SETTINGS_SHORTCUT_OR":"ou","SETTINGS_SHORTCUT_TO":"à","SETTINGS_SHORTCUT_AND":"et","SETTINGS_SHORTCUT_SPACE":"Espace","SETTINGS_SHORTCUT_SHIFT":"Maj","SETTINGS_SHORTCUT_ESC":"Échap","SETTINGS_TRAKT_AUTHENTICATE":"Authentifier","SETTINGS_FACEBOOK_IMPORT":"Importer","SETTINGS_CALENDAR_SUBSCRIBE":"S’abonner","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Langage de l’interface","SETTINGS_LAUNCH_STARTUP":"Lancer au démarrage","SETTINGS_VLC_DEFAULT":"Lire avec VLC","SETTINGS_UI_LANGUAGE":"Langue de l’interface","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Touche Echap pour quitter le plein écran","SETTINGS_GAMEPAD":"Activer le support de la manette de jeu","SETTINGS_CLOSE_WINDOW":"Fermer l’application lorsque la fenêtre est fermée","SETTINGS_SUBTITLES_LANGUAGE":"Langue des sous-titres par défaut","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Taille par défaut des sous-titres","SETTINGS_SUBTITLES_BACKGROUND":"Arrière-plan des sous-titres","SETTINGS_SUBTITLES_COLOR":"Couleur des sous-titres","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Couleur du contour des sous-titres","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Couleur de l’arrière-plan des sous-titres","SETTINGS_SEEK_KEY":"Touches directionnelles pour naviguer dans le temps","SETTINGS_SEEK_KEY_SHIFT":"Touches directionnelles pour naviguer dans le temps lorsque Maj est maintenue","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Durée du rembobinage et de l’avance rapide","SETTINGS_BINGE":"Lire automatiquement le prochain épisode","SETTINGS_NEXT_VIDEO":"Afficher une notification pour commencer l’épisode suivant","SETTINGS_NEXT_VIDEO_TRIGGER":"Afficher la notification du prochain épisode pendant :","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Durée de la popup pour la vidéo suivante","SETTINGS_PLAY_IN_BACKGROUND":"Lire en arrière-plan","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Lecture dans un lecteur externe","SETTINGS_RESIZE":"Redimensionnement automatique la fenêtre avant la lecture","SETTINGS_OVERRIDE_SERVER":"Remplacer l’URL du serveur de streaming (avancé)","SETTINGS_SERVER_ADD_URL":"Ajouter une URL","SETTINGS_SERVER_URL":"URL du serveur de streaming: ","SETTINGS_SERVER_AVAILABLE":"Le serveur de streaming est disponible.","SETTINGS_SERVER_UNAVAILABLE":"Le serveur de streaming n’est pas disponible.","SETTINGS_SERVER_STATUS_ONLINE":"En ligne","SETTINGS_SERVER_STATUS_ERROR":"Erreur","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurer l’URL du serveur de streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Entrez l’URL du serveur de streaming","SETTINGS_SERVER_CACHE_SIZE":"Taille du cache","SETTINGS_SERVER_TORRENT_PROFILE":"Profil de torrent","SETTINGS_HTTPS_ENDPOINT":"Point d’accès au streaming HTTPS :","SETTINGS_TRANSCODE_PROFILE":"Profil de transcodage","SETTINGS_USE_BETA":"Toujours utiliser les dernières version bêta","SETTINGS_IMPORT_FB":"Importer depuis Facebook","SETTINGS_IMPORT_DISK":"Importer depuis le disque dur","SETTINGS_IMPORT_TRAKT":"Importer depuis Trakt","SETTINGS_PAUSE_MINIMIZED":"Mettre en pause la lecture lorsque la fenêtre est réduite","SETTINGS_HWDEC":"Décodage accéléré par le matériel","SETTINGS_BACKGROUND":"Lecture en arrière-plan","SETTINGS_SUBSCRIBE_CALENDAR":"Inscrire au calendrier","SETTINGS_REQ_EXPORT":"Demande d’exportation de données","SETTINGS_ACC_DELETE":"Demander la suppression du compte","SETTINGS_CHANGE_PASSWORD":"Changer de mot de passe","SETTINGS_TOS":"Conditions d’utilisation","SETTINGS_SUPPORT":"Contacter le support","SETTING_LANGUAGE":"Langue","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Déconnexion de Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Déconnexion de Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scanner le code QR pour ouvrir la télécommande","SETTINGS_DESKTOP_NOTIFICATIONS":"Notifications de bureau","SETTINGS_DATA_SAVER":"Économiseur de données","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"Sous-titres par défaut","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Sélection automatique de la piste audio","SETTINGS_DEFAULT_AUDIO_TRACK":"Piste audio par défaut","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Son surround","SETTINGS_ACCOUNT":"Compte","SETTINGS_PLATFORM":"Plateforme","SETTINGS_VERSION":"Version","SETTINGS_ABOUT":"À propos","SETTINGS_MPV_WINDOW":"Lancer le lecteur dans une fenêtre séparée (avancé)","SETTINGS_PLAY_IN_EXTERNAL":"Toujours lancer la vidéo dans un lecteur externe","SETTINGS_STORAGE_BUTTON":"Effacer le stockage local","SETTINGS_STORAGE_MODAL_TITLE":"Êtes-vous sûr ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Cela effacera le stockage local et vous déconnectera.","SETTINGS_HWDEC_PICKER":"Choisir un paramètre de décodage accéléré par le matériel","SETTINGS_HW_AUTOMATIC":"Automatique","SETTINGS_HW_DISABLED":"Désactivé","SETTINGS_HW_ACCELERATED":"Accélération du décodage","SETTINGS_HW_FULL":"Accélération complète","SETTINGS_HW_LEGACY":"Normal","SETTINGS_DISABLED":"Désactivé","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Autoriser la télémétrie","SETTINGS_REMOTE_URL":"URL distante","SETTINGS_COPY_REMOTE_URL":"Copier l’URL distante","SETTINGS_REMOTE_URL_COPIED":"L’URL distante a été copiée dans votre presse-papiers","SETTINGS_SECTION_SUBTITLES":"Sous-titres","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Contrôles","SETTINGS_SECTION_AUTO_PLAY":"Lecture automatique","SETTINGS_SECTION_ADVANCED":"Avancé","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Sous-titres addons","SUBSPICKER_BLACK_BACKGROUND":"Utiliser un fond de couleur noir","SUBSPICKER_VERTICAL_OFFSET":"Décalage vertical","SUBSPICKER_SIZE":"Taille","SUBSPICKER_DELAY":"Retard","SUBSPICKER_EMBEDDED_SUBS":"Sous-titres intégrés","MOBILE_PRIVACY_POLICY":"Politique de confidentialité","MOBILE_CRASH_REPORTING":"Rapport d’incident","MOBILE_ZOOM_TO_FILL":"Agrandir pour remplir l’écran","MOBILE_PASSTHROUGH":"Sortie audio numérique (passthrough)","MOBILE_RUN_LOW_BATTERY":"Fonctionne avec une batterie faible","MOBILE_RUN_FOREGROUND":"Exécuter en tant que service de premier plan","MOBILE_PERFORMANCE":"PERFORMANCES ET STABILITÉ","MOBILE_SERVER_ONLINE":"En ligne","MOBILE_SERVER_OFFLINE":"Hors ligne","MOBILE_QR_EXPIRES":"Le code QR expire dans ","MOBILE_LOG_INTO":"Connectez-vous à votre compte Stremio ","MOBILE_SCAN_QR":"Scannez le code QR ci-dessus ou rendez-vous sur ","MOBILE_LINK_ACCOUNT":"Lien du compte","MOBILE_SPEEDPICKER_CANCEL":"Annuler","MOBILE_SPEEDPICKER_LABEL":"Choisir la vitesse de lecture","MOBILE_EMPTY_LIBRARY":"Votre bibliothèque est vide","MOBILE_NO_ADDON_ACTIVE":"Aucun addon Stremio actif pour ce type.","MOBILE_ORGANIZER_WARNING":"L’application Stremio Organizer offre des fonctionnalités limitées. Pour une liste des flux lisibles et l’expérience complète de Stremio, utilisez Stremio sur ordinateur.","MOBILE_ADDON_LOADING":"Est toujours en cours de chargement","MOBILE_ADDONS_LOADING":"Les addons sont toujours en cours de chargement","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configurez votre addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configurer l’addon","MOBILE_ORGANIZER_ADDONS_WARNING":"L’application Stremio Organizer fournit une sélection limitée d’addons. Pour profiter pleinement de l’expérience Stremio, utilisez Stremio sur ordinateur.","MOBILE_DISCONNECT":"Déconnecter","MOBILE_LOOKING_FOR_DEVICES":"Recherche d’appareils…","MOBILE_CAST_TO":"Diffuser sur","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Supprimer le compte","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"La suppression du compte n’est pas instantanée en raison d’obligations légales. Après avoir demandé la suppression de votre compte, vous devrez utiliser une autre adresse électronique/un autre profil Facebook pour créer un nouveau compte Stremio à l’avenir.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmer la suppression du compte","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Votre compte a été créé à l’aide de Facebook. Pour supprimer votre compte, veuillez utiliser notre portail utilisateur à l’adresse www.stremio.com/login.","MOBILE_DELETE_ACCOUNT_MESSAGE":"Veuillez indiquer votre mot de passe pour confirmer la suppression du compte.","MOBILE_DELETE_ACCOUNT_BUTTON":"Supprimer le compte","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"J’accepte de recevoir des communications marketing de Stremio","QUIT":"Quitter","CONNECTED":"Connecté","AUTHENTICATE":"S’authentifier","AUTHENTICATING":"Authenticating...","CACHING":"Mise en cache","SETTINGS_CACHING_DRIVE":"Emplacement du cache","ENABLE_LOCAL_FILES_ADDON":"Activer l’addon pour les fichiers locaux (nécessite un redémarrage)","LOCAL_ADDON_NOT_ENABLED":"L’addon local n’est pas activé. Cliquez ici pour accéder aux paramètres et l’activer","ENABLE_REMOTE_HTTPS_CONN":"Activer les connexions HTTPS à distance","TORRENT_PROFILE":"Profil du client Torrent","DATA_CACHING":"Mise en cache des données","MAGNET_PARSING":"Analyser un lien magnet","January":"Janvier","February":"Février","March":"Mars","April":"Avril","May":"Mai","June":"Juin","July":"Juillet","August":"Août","September":"Septembre","October":"Octobre","November":"Novembre","December":"Décembre","Monday":"Lundi","Tuesday":"Mardi","Wednesday":"Mercredi","Thursday":"Jeudi","Friday":"Vendredi","Saturday":"Samedi","Sunday":"Dimanche","Action":"Action","Comedy":"Comédie","War":"Guerre","Family":"Famille","Animation":"Animation","Adventure":"Aventure","Fantasy":"Fantaisie","Crime":"Crime","Mystery":"Mystère","Romance":"Romance","Drama":"Drame","Horror":"Horreur","Thriller":"Thriller","Sci-Fi":"Science-fiction","Music":"Musique","Biography":"Biographie","Documentary":"Documentaire","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-noir","News":"Actualité","History":"Histoire","Game-Show":"Jeu télévisé","Reality-TV":"Télé-réalité","Talk-Show":"Talk-show","Film & Entertainment":"Film & divertissement","Gaming":"Gaming","From TV":"Depuis la TV","Lifestyle":"Lifestyle","Science & Education":"Science & éducation","Cooking & Health":"Cuisine & santé","Beauty & Fashion":"Beauté & mode","Sports":"Sports","News & Politics":"Actualités & politique","How-to & DIY":"Tutoriels","Tech":"Tech","Automotive":"Auto-moto","Causes & Non-Profits":"Causes et organisations à but non lucratif","Movies":"Films","Uk Live Tv":"TV en direct du Royaume-Uni","Fashion":"Mode","Business News Radio":"Radio actualité Business","Business Tv":"Business TV","Cars & Auto":"Voiture & auto","Comedy Radio":"Radio Comédie","Lifestyle Radio":"Radio Lifestyle","News Tv":"Actualités TV","Food And Wine":"Nourriture et vin","Latino Tv":"TV Latino","Shopping Tv":"Télé-Shopping","Religion":"Religion","Kids":"Enfants","Body & Soul":"Corps & âme","Education":"Éducation","Indian Tv":"TV Indienne","Extreme Sports":"Sports extrêmes","Middle Eastern Tv":"TV Moyen Orient","Celebrity Tv":"TV Célébrité","Science Tv":"TV Science","Bikini babe":"Bikini","Outdoors":"Extérieur","German Tv":"TV Allemande","French Tv":"TV Française","Italian Tv":"TV Italienne","Gamer Tv":"TV Gamer","Travel":"Voyage","Asian Tv":"TV Asiatique","Entertainment":"Divertissement","News Radio":"Radio Actualité","Music Radio":"Radio Musique","Language Learning":"Apprentissage de Langues","Science Radio":"Radio Science","Tech Radio":"Radio Tech","Science & Technology Vod":"VOD Science & Technologie","new video":"Nouvelle vidéo","new episode":"Nouvel épisode","new movie":"Nouveau film","recommended":"Recommandé","we recommend":"Nous vous conseillons","offer of the day":"Offre du jour","news":"News","music video":"Clip","CTX_SHOW_HOTKEYS":"Afficher les raccourcis","CTX_DISMISS_NOTIF":"Ignorer les notifications","CTX_DISMISS_ALL":"Effacer tout","CTX_SHARE":"Partager","CTX_COPY_SHARE_LINK":"Copier le lien de partage","CTX_COPY_MAGNET_LINK":"Copier le lien magnet","CTX_COPY_STREAM_LINK":"Copier le lien du stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Télécharger cette vidéo","CTX_DOWNLOAD_SUBS":"Télécharger les sous-titres","CTX_VIEW_ON_YOUTUBE":"Regarder sur YouTube","CTX_SHOW":"Regarder","CTX_PLAY":"Lire","CTX_PLAY_IN":"Lire dans","CTX_PLAY_ON":"Lire sur","CTX_WATCH_ON":"Regarder sur","CTX_WATCH":"Regarder","CTX_WATCHED":"Regardé","CTX_WATCH_BEGINNING":"Regarder depuis le début","CTX_WATCH_MOBILE":"Regarder sur un appareil mobile","CTX_REWIND":"Redémarrer","CTX_MARK_WATCHED":"Marquer comme vu","CTX_MARK_NON_WATCHED":"Marquer comme non-vu","CTX_MARK_UNWATCHED":"Marquer comme non-vu","CTX_MARK_REST":"Marquer le reste comme vu","CTX_UNMARK_REST":"Marquer le reste comme vu","CTX_RECEIVE_NEW_NOTIF":"Recevoir les nouvelles notifications","CTX_ENABLE_NEW_NOTIF":"Activer les notifications","CTX_DISABLE_NEW_NOTIF":"Désactiver les notifications","CTX_REMOVE_CACHE":"Supprimer du cache","CTX_REMOVE_CACHE_EP":"Supprimer l’épisode du cache","CTX_OPEN_CONTAINING":"Ouvrir le fichier cible","CTX_REMOVE":"Retirer de la bibliothèque","CTX_AVAILABLE_OFFLINE":"Disponible hors-ligne","CTX_PAUSED":"Mis en pause","CTX_ALWAYS_ON_TOP":"Toujours en haut","CTX_FULLSCREEN":"Plein écran","CTX_WRONG_SUBS":"Mauvais sous-titres ?","CTX_REPORT_ISSUES":"Rapporter un problème","CTX_COPY":"Copier","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Coller","CTX_CLEAR":"Effacer","CTX_CLEAR_RECENT_SEARCHES":"Effacer les recherches récentes","HELLO_THERE":"Salut","HOPE_YOU_ENJOY":"Nous espérons que vous apprécierez Stremio et que c’est déjà une de vos applications préférées !","WHO_ARE_WE":"Qui sommes-nous ? L’équipe derrière ça, deux mecs travaillant très dur dans un seul but : rendre ce logiciel de mieux en mieux.","SUPPORT_US":"Si vous aimez Stremio - aidez-nous !","SPREAD_THE_WORD":"Parlez-en à vos amis, partagez l’application","MORE_PEOPLE":"Plus de personnes utiliseront Stremio, mieux l’application sera !","SEND_A_LINK":"ou envoyez un lien vers notre site !","TIP_LOCALFILES":"Astuce : vous pouvez glisser-déposer des fichiers vidéo locaux dans Stremio","ADDON_MY":"Mes addons","ADDON_COMMUNITY":"Addons communautaires","ADDON_OFFICIAL":"Addons officiels","ADDON_REPOS":"Dépôts d’addons","ADDON_SEARCH":"Rechercher des addons","ADDON_INSTALL":"Installer","ADDON_CONFIGURE":"Configurer","ADDON_UNINSTALL":"Désinstaller","ADDON_UPGRADE":"Mettre à jour","ADDON_INSTALLED":"Installés","ADDON_INSTALLED_MSG":"Addon installé !","ADDON_UPGRADED_MSG":"Addon mis à jour !","ADDON_UNKNOWN":"Inconnu","ADDON_ERR":"Erreur d’installation de l’addon !","ADDON_DISCONNECTED":"Déconnecté","ADDON_APP_MISSING":"L’application pour cette source n’est pas installée. Voulez-vous l’installer maintenant ?","ADDON_APP_INSTALL":"Installer maintenant","ADDON_PAGE":"Page des addons","ADDON_TOP_CONTENT":"Le meilleur de cet addon","ADDON_PROVIDES":"fournit","ADDON_WATCH":"Regardez des #{types} maintenant !","ADDON_WATCH_FREE":"Regardez des #{types} GRATUITEMENT maintenant !","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Types pris en charge","ADDON_SUPPORTED_CATALOGS":"Catalogues pris en charge","ADDON_PROVIDES_DISCOVER":"Plus de #{types} dans Découverte","ADDON_PROVIDES_STREAMS":"Regarder #{types}","ADDON_PROVIDES_STREAMS_FREE":"Regarder #{types} GRATUITEMENT","ADDON_PROVIDES_SUBTITLES":"Sous-titres pour #{types}","ADDON_CANTDETECT":"Nous n’avons pas pu détecter une instance Stremio en cours d’exécution, nous ne pouvions donc pas détecter quels addons vous avez installés.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Aucune information trouvée à ce sujet ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Erreur lors de la récupération d’informations à ce sujet.","ERR_CANT_PARSE_MAGNET":"Impossible d’analyser le magnet","ERR_NO_MAGNET_INFOHASH":"Pas de hachage d’info valide pour le magnet","ERR_NO_FILE_PATH":"Impossible d’envoyer une requête sans chemin d’accès au fichier","ERR_NO_TORRENT":"Aucun torrent retourné","ERR_NO_SUPPORTERD_FILES":"Aucun fichier supporté trouvé","ERR_OPENING_FILES":"Impossible d’ouvrir les fichiers externes","ERR_INVALID_LINK":"Lien invalide","ERR_REGISTERED_ONLY":"Cette option n’est disponible que pour les utilisateurs enregistrés seulement.","ERR_CLIPBOARD":"Impossible de lire à partir du presse-papiers","ERR_CLIPBOARD_READ":"Impossible de lire le presse-papiers sur cette plateforme","ERR_CLIPBOARD_GENERIC":"Aucune URL lisible trouvée dans le presse-papiers. Veuillez copier une URL (par exemple un lien magnet) vers une vidéo.","BOARD_CONTINUE_WATCHING":"Continuer de regarder","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Films sélectionnés spécialement pour vous.<br />Ce film est un exemple de recommandation.","BOARD_EXPLANATION_EPISODES":"Les nouveaux épisodes de vos Séries préférées arrivent ici.<br />Ajouter les séries que vous suivez à votre bibliothèque.","BOARD_EXPLANATION_VIDEOS":"Les nouveaux épisodes de vos Chaînes préférées arrivent ici.<br />Ajouter les chaînes YouTube que vous suivez dans votre bibliothèque.","WEBSITE_ENJOYED_BY":"Apprécié par plus de 30 millions d’utilisateurs dans le monde","WEBSITE_STREAMING_ENHANCED":"Streaming amélioré","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offre une expérience de divertissement sécurisée, moderne et transparente. Grâce à son interface conviviale et à sa bibliothèque de contenus variés, dont la prise en charge du 4K HDR, les utilisateurs peuvent profiter de leurs films et émissions de télévision préférés sur tous leurs appareils. Grâce à son engagement en matière de sécurité, Stremio est le meilleur choix pour une expérience de streaming de haute qualité en toute sérénité.","WEBSITE_AVAILABLE_ON":"Disponible sur","WEBSITE_WATCH_AND_ENJOY":"Regarder & profiter.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Avec Stremio, c’est du gâteau","WEBSITE_ALL_FEATURES":"Toutes les fonctionnalités","WEBSITE_EASY_TO_USE":"Facile à utiliser","WEBSITE_EASY_TO_USE_DETAILS":"Stremio est conçu pour être convivial et facile à utiliser. Grâce à son interface claire et intuitive, vous pouvez facilement naviguer et trouver le contenu que vous souhaitez regarder.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Synchronisation transparente entre les appareils","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponible pour un large éventail de plateformes (Windows, Mac, Linux, Android, etc.), Stremio suit vos progrès sur tous vos appareils. Il vous suffit de vous connecter et de continuer à regarder sans avoir à configurer à nouveau l’application sur chaque nouvel appareil.","WEBSITE_ALL_DOWNLOADS":"Tous les téléchargements","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Supporte la vidéo HD","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un lecteur vidéo intégré prenant en charge la plupart des formats vidéo, y compris les contenus 4K HDR, vous permet de profiter de la meilleure qualité disponible.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Bibliothèque de contenu diversifié","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio intègre un grand nombre de sources vidéo populaires, telles que Netflix, Amazon Prime Video, Hulu, YouTube et bien d’autres.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Créer un compte gratuit","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Expérience de visionnage sur mesure","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio vous permet de personnaliser l’aspect et la convivialité de l’interface en changeant le thème, en ajoutant ou en supprimant des addons, etc..","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Prise en charge des sous-titres multilingues","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Vous pouvez désormais profiter de vos contenus préférés dans la langue de votre choix, car Stremio prend en charge les sous-titres dans toutes les langues.","WEBSITE_ALL_STREMIO_FEATURES":"Toutes les fonctionnalités de Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Essayer Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Sur votre TV maintenant","WEBSITE_YOU_CAN_NOW_WATCH":"Vous pouvez désormais regarder vos émissions de télévision préférées sur vos appareils TV Android. L’application Stremio TV vous permet de profiter d’une soirée cinéma en toute simplicité.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Vous pouvez désormais regarder vos émissions de télévision préférées sur votre Smart TV ou Android TV. Les applications Stremio TV vous permettent de profiter d’une soirée cinéma en toute simplicité.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio pour Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probablement la meilleure et la plus utile des applications à avoir sur son appareil. C’est l’une des applications que j’utilise quotidiennement, en particulier sur mon Android TV depuis de nombreuses années maintenant. Bien faite avec une communauté forte qui fournit des fonctionnalités utiles. Bien joué. Continuez à faire du bon travail.","WEBSITE_REVIEWS":"Avis","WEBSITE_GET_STREMIO_FOR_FREE":"Obtenir Stremio gratuitement","WEBSITE_GET_STREMIO_NOW":"Obtenir Stremio maintenant","WEBSITE_STREMIO_FEATURES":"Fonctionnalités de Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Visionnez comme un pro grâce aux fonctions avancées de Stremio et profitez d’un accès transparent à tous vos médias préférés.","WEBSITE_DISCOVER_MORE":"Découvrez plus.","WEBSITE_DISCOVER_MORE_DETAILS":"Jamais à court de choses à regarder","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio dispose d’une grande communauté active d’utilisateurs qui contribuent au développement du logiciel en créant et en partageant des addons.","WEBSITE_GET_INVOLVED":"Participez","WEBSITE_NEW_THEATER_EXPERIENCE":"Nouvelle expérience de cinéma","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"La nouvelle application TV dédiée de Stremio vous permet de profiter d’une soirée cinéma sur vos appareils Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Les nouvelles applications TV dédiées de Stremio vous permettent de profiter d’une soirée cinéma sur votre Smart TV ou vos appareils Android TV.","WEBSITE_FREE_AND_SECURE":"Gratuit et sécurisé","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offre aux utilisateurs une sécurité et une confidentialité inégalées. Grâce à sa fonction unique d’exécution à distance des modules complémentaires, Stremio offre un moyen plus sûr de diffuser vos contenus préférés que d’autres plateformes. Votre sécurité et votre vie privée sont des priorités absolues, et la plateforme veille à ce que toutes vos données soient protégées.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Dites adieu aux inquiétudes concernant la sécurité et la vie privée et dites bonjour à un monde de divertissement sans fin avec Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informations fournies par","WEBSITE_CONTRIBUTE_DESC":"au projet & aidez nous à améliorer Stremio","WEBSITE_COMMUNITY_DESC":"Nous pensons que la meilleure manière de créer une expérience de streaming vraiment étonnante est d’impliquer notre communauté dans le processus. Que vous soyez un programmeur, un artiste ou simplement un fan, vous pouvez aider Stremio à se développer.","WEBSITE_COMMUNITY_DESC_2":"Rejoignez-nous dès aujourd’hui, devenez membre de la communauté Stremio et continuez à façonner l’avenir du streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Comment contribuer","WEBSITE_IN_THE_STREMIO_COMMUNITY":"dans la communauté Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Partagez vos impressions","WEBSITE_REPORT_BUGS":"Rapporter un bug","WEBSITE_SUGGEST_FEATURES":"Suggérer une fonctionnalité","WEBSITE_AND_PROVIDE_FEEDBACK":"et donnez votre avis sur nos réseaux sociaux.","WEBSITE_BETA_TESTING_PROGRAM":"Programme de béta test","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participez à notre programme de test bêta (nous envoyons régulièrement des invitations) dans la communauté Stremio.","WEBSITE_JOIN_NOW":"Rejoignez maintenant !","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Communautés officielles de Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Communautés non officielles de Stremio","WEBSITE_BECOME":"Devenir","WEBSITE_A_VOLUNTEER_TRANSLATOR":"un traducteur volontaire","WEBSITE_ARE_YOU_A_DEVELOPER":"Êtes-vous un développeur ?","WEBSITE_CONTRIBUTE_CODE":"Vous pouvez contribuer au code de nos projets open source. Nous avons plusieurs projets sur GitHub qui recherchent des contributeurs. Si vous souhaitez nous aider, consultez-les :","WEBSITE_STREMIO_ON_GITHUB":"Stremio sur GitHub","WEBSITE_CREATE_ADDON_DESC":"Créer un addon pour améliorer les fonctionnalités de Stremio (nous avons une API facile à utiliser) :","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Nous offrons également la possibilité de nous rejoindre en tant que développeur stagiaire afin que nous puissions grandir ensemble.","WEBSITE_APPLY_AS_AN_INTERN":"Postuler en tant que stagiaire","WEBSITE_CALLING_ALL_ARTISTS":"Appel à tous les artistes !","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Montrez votre créativité et votre amour pour Stremio en téléchargeant votre fan art dans notre galerie en ligne. Qu’il s’agisse d’un dessin, d’une peinture ou d’une conception numérique, nous voulons voir votre vision unique de la marque Stremio. Rejoignez notre communauté de passionnés d’art et partagez votre travail avec d’autres fans de Stremio dans le monde entier.","WEBSITE_STREMIO_FANART_GALLERY":"Galerie de fanarts de Stremio","WEBSITE_INTERN_DESIGNER":"Intégrez notre équipe et donnez une nouvelle dimension à votre créativité grâce à nos offres de stage passionnantes.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Projet de films du domaine public","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Chez Stremio, nous nous engageons à préserver l’histoire du cinéma et de la télévision en identifiant les vidéos du domaine public et les vidéos orphelines. En collaborant avec notre communauté, nous pouvons faire en sorte que ces œuvres d’art classiques soient accessibles à tous et protégées pour que les générations futures puissent en profiter.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"N’hésitez pas à nous contacter si vous souhaitez participer à ce projet.","WEBSITE_JOIN_THE_PROJECT":"Rejoignez le projet","WEBSITE_BE_PART_OF_OUR_MISSION":"Participez à notre mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Intéressé pour rejoindre l’équipe Stremio ? Toutes nos offres sont 100% remote pour professionnels passionés. Regardez nos offres d’emploi.","WEBSITE_OPEN_POSITIONS":"POSTES OUVERTS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"En savoir plus","WEBSITE_COMPANY":"Entreprise","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Aide ?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide pour Stremio Web sur iOS","WEBSITE_LINK_ART_V2":"Galerie de fanarts","WEBSITE_PARTNERS":"Partenaires","WEBSITE_SLOGAN_WATCH":"Regarder instantanément","WEBSITE_SLOGAN_ALL":"Toutes les vidéos que vous aimez au même endroit","WEBSITE_SLOGAN_NEW":"Tout ce que vous pouvez regarder","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Regarder depuis","WEBSITE_DOWNLOAD":"Télécharger maintenant","WEBSITE_DOWNLOAD_FOR":"Télécharger maintenant pour","WEBSITE_IS_DESKTOP":"Stremio est une application de bureau, ouvrez cette page sur votre PC et téléchargez la","WEBSITE_DESKTOP_DEMO_VID":"Démo","WEBSITE_PAGE_HOME":"Accueil","WEBSITE_PAGE_FEATURES":"Fonctionnalités","WEBSITE_PAGE_ADDONS":"Extensions","WEBSITE_PAGE_TECH":"Technologies","WEBSITE_PAGE_CREATE_ADDON":"Créer une extension","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Veuillez saisir votre nouveau mot de passe ci-dessous.","WEBSITE_RESET_PASSWORD_WARNING":"Êtes-vous sûr de vouloir réinitialiser le mot de passe pour ${1} ?","WEBSITE_TYPE_movie":"Films","WEBSITE_TYPE_series_PL":"Séries","WEBSITE_TYPE_tv":"TV en live","WEBSITE_TYPE_channel":"Chaînes","WEBSITE_STREMIO_WHAT_IS":"Stremio set une application qui vous aide à organiser et à accéder instantanément à vos vidéos, films, séries TV et chaînes TV préférées","WEBSITE_FEATURES_WATCH":"Regarder immédiatement en HD","WEBSITE_FEATURES_WATCH_DETAIL":"Cliquer pour lancer vos vidéos, films, séries TV et chaînes TV préférées","WEBSITE_FEATURES_SUBS":"Sous-titres automatiques","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio choisit automatiquement les sous-titres pour votre langue.","WEBSITE_FEATURES_SUBS_LABEL":"À vous, chef","WEBSITE_FEATURES_CAST":"Lecture sur TV et appareils mobiles","WEBSITE_FEATURES_CAST_DETAIL":"Envoyer vers une AppleTV, Chromecast, Smart TV (DLNA/UPnP) ou un appareil mobile.","WEBSITE_LIB":"Profitez de votre bibliothèque personnelle, synchronisée sur tous vos appareils","WEBSITE_LIB_COLLECT":"Récupérer depuis Stremio","WEBSITE_LIB_IMPORT":"Importer depuis Facebook","WEBSITE_LIB_LOCAL":"Ajouter depuis votre disque","WEBSITE_BOARD":"Le tableau - Votre étape pour les notifications et recommandations","WEBSITE_BOARD_RECOMMEND":"Série TV recommandée","WEBSITE_BOARD_TRENDING":"Film tendance","WEBSITE_BOARD_NEW":"Nouvelle vidéo","WEBSITE_BOARD_EPISODE":"Nouvel épisode","WEBSITE_BOARD_1":"Envie de regarder quelque chose d’intéressant ? Recevez des recommandations basées sur vos goûts !","WEBSITE_BOARD_2":"Soyez notifié dès qu’un nouvel épisode de votre show TV ou chaîne youtube favorite sort !","WEBSITE_BOARD_YOUTUBE":"Nouvelles vidéos des chaînes YouTube","WEBSITE_BOARD_EPISODES":"Nouveaux épisodes des séries que vous suivez","WEBSITE_ADDONS":"Extensions de contenu","WEBSITE_TECH_DETAIL":"Nous aimons les nouvelles technologies et les expérimentations !\\nStremio utilise les technologies open source suivantes :","WEBSITE_TECH_WCJS":"WebChimera.js permet à Stremio de lire n’importe quel format vidéo avec de bonnes performances.","WEBSITE_TECH_WCJS_EXTRA":"Nous sommes des contributeurs principaux du projet.","WEBSITE_TECH_ELECTRON":"Electron fournit une plateforme innovante sur laquelle bâtir Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Nous contribuons au projet.","WEBSITE_TECH_LINVODB":"Une technologie de base de données qui assure une bonne organisation et une mise à disposition partout.","WEBSITE_TECH_LINVODB_EXTRA":"Technologie maison","WEBSITE_CREATE_ADDON":"Créez votre extension","WEBSITE_CREATE_ADDON_DETAIL":"Vous avez un service qui fournit des vidéos ? Nous vous aiderons à bénéficier des fonctionnalités de Stremio en faisant votre propre extension.","WEBSITE_CREATE_ADDON_BENEFITS":"Avantages de créer une extension pour Stremio","WEBSITE_P2P_BEAUTY":"La beauté du Streaming En peer to peer","WEBSITE_P2P_1":"Vidéos full HD / 4K fiables et accessibles en VoD ou streaming","WEBSITE_P2P_2":"Plateforme de distribution avec une expérience utilisateur optimale","WEBSITE_P2P_3":"Nous vous créerons une extension sur mesure","WEBSITE_P2P_CONTACT":"Interessé ? Nous vous invitons à <a href=\'mailto:office@stremio.com\'>nous contacter</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Nous serions heureux de vous aider à intégrer votre contenu à Stremio !","WEBSITE_P2P":"De temps en temps, une nouvelle technologie vient changer la donne. Nous avons investi énormément de temps et d’efforts pour construire un moteur de streaming peer to perr (P2P) fournissant une bonne performance et polyvalence, s’adaptant à tous les cas de figure.\\nContactez-nous pour mettre en place des vidéos en P2P ou streaming avec DRM.","WEBSITE_THOUGHTS":"Des pensées à partager :","WEBSITE_SPREAD":"Passer le mot à propos de Stremio :","WEBSITE_CONTACT":"Si vous voulez nous contatez, utilisez ","WEBSITE_OPENSOURCE":"Pour nos projets open source, rendez-vous sur notre","WEBSITE_BITCOIN":"Faites-nous une donation de Bitcoin :","WEBSITE_FAQ":"Questions fréquemment posées","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Conditions d’utilisation","WEBSITE_LEGAL":"Juridique","WEBSITE_PAGE_ABOUT":"À propos","WEBSITE_PAGE_BECOME_PARTNER":"Devenez partenaire","WEBSITE_ALL_YOU_CAN_WATCH":"La Liberté de Regarder\\nTout ce que Vous Voulez.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Qu’est-ce que Stremio ?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio est un hub unique pour l’agrégation de contenu vidéo. Découvrez, organisez et regardez des vidéos provenant de toutes sortes de sources sur n’importe quel appareil que vous possédez.","WEBSITE_WHAT_IS_STREMIO_P2":"Films, émissions de télévision, séries, chaînes de télévision en direct ou chaînes web comme YouTube et Twitch.tv - vous trouverez tout cela sur Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio est un centre de médias moderne qui constitue une solution unique pour vos divertissements vidéo. Vous découvrez, regardez et organisez le contenu vidéo à partir d’addons faciles à installer.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Films, émissions de télévision, télévision en direct ou chaînes web - trouvez tout cela sur Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Profitez sur tous vos appareils","WEBSITE_DEVICES_COLLECT":"Collecter depuis Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importer depuis facebook","WEBSITE_DEVICES_LOCAL":"Ajouter depuis un disque local","WEBSITE_JOIN_THE_PARTY_NOW":"Rejoignez la fête dès maintenant","WEBSITE_DEVICES_ALL":"Facile à utiliser sur tous vos appareils;","WEBSITE_EXTENDABLE_CATALOG":"Catalogue vidéo extensible à l’infini;","WEBSITE_ORGANIZE_YOUR_MEDIA":"De superbes fonctionnalités pour organiser vos médias;","WEBSITE_AS_SEEN_ON":"As été vu sur","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"A propos de nous","WEBSITE_LINK_TECHNOLOGY":"Technologie","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Téléchargement","WEBSITE_MORE":"Plus","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribuer","WEBSITE_LINK_COMMUNITY":"Communauté","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"… & Plus","WEBSITE_LINK_HELP":"Centre d’aide","WEBSITE_LINK_CONTACTS":"Contactez-nous","WEBSITE_LINK_TOS":"Conditions d’utilisation","WEBSITE_LINK_PRAVACY":"Politique de confidentialité","WEBSITE_SUBSCRIBE":"Souscrire","WEBSITE_NEWSLETTER":"Rejoignez notre newsletter pour des nouvelles incroyables","WEBSITE_PLACEHOLDER_EMAIL":"Votre Email","WEBSITE_COMMUNITY":"Communauté","WEBSITE_LINK_PRAVACY_LEGAL":"Confidentialité et mentions légales","WEBSITE_WHY":"Pourquoi nous le faisons","WEBSITE_WHY_P1":"Chez Stremio, nous venons travailler tous les jours parce que nous voulons résoudre un problème important pour l’industrie de la vidéo à la demande. Il y a tellement de nouveaux contenus publiés chaque minute qu’il est pratiquement impossible de s’y retrouver.","WEBSITE_WHY_P2":"Nous aidons les gens à naviguer dans cet immense monde de divertissement vidéo et à découvrir de nouveaux contenus pour en profiter. Nos applications regroupent des films, des séries, des émissions de TV en direct, des chaînes Web et plus encore. Nous nous engageons à faire en sorte qu’il soit incroyablement facile pour les utilisateurs de trouver les titres et les diffuseurs qu’ils aiment.","WEBSITE_WHY_P3":"Vous pouvez utiliser notre service sur n’importe quel appareil et à tout moment, faisant de Stremio le seul centre de divertissement vidéo dont vous aurez jamais besoin.","WEBSITE_TEAM":"L’ÉQUIPE","WEBSITE_TEAM_P":"L’équipe de Stremio est petite mais puissante : à nous dix, nous codons en X langages et partageons notre expertise en développement logiciel, conception d’interface utilisateur et d’interface utilisateur, marketing et publicité, ainsi qu’en business et startups.","WEBSITE_FEATURES":"Fonctionnalités","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Découvrez facilement de nouveaux contenus","WEBSITE_FEATURES_DISCOVER_P":"Découvrez facilement les nouveaux films, émissions de télévision, séries et chaînes à regarder. Parcourez par catégorie, genre, classement, récence, etc. ou tapez simplement un nom pour trouver. Stremio fait de la recherche d’un nouveau contenu vidéo un jeu d’enfant.","WEBSITE_FEATURES_ALL_CONTENT":"Tout votre contenu vidéo sur un seul écran","WEBSITE_FEATURES_ALL_CONTENT_P1":"Voyez quels films, séries ou vidéos vous n’avez pas terminés et continuez à les regarder ; soyez averti des nouveaux épisodes et sorties ; et parcourez les recommandations que vous recevrez en fonction de vos habitudes de visionnage.","WEBSITE_FEATURES_LIBRARY":"Organisez votre vidéothèque","WEBSITE_FEATURES_LIBRARY_P1":"Ajoutez n’importe quel titre à votre bibliothèque Stremio d’un simple clic et trouvez votre chemin à travers votre contenu, classé par type, récence ou ordre alphabétique.","WEBSITE_FEATURES_CALENDAR":"Gardez une trace de tout ce que vous regardez","WEBSITE_FEATURES_CALENDAR_P1":"Obtenez une visualisation du calendrier de tous les films et séries que vous ajoutez à votre bibliothèque. Exportez votre calendrier Stremio et synchronisez-le afin de toujours savoir quand un nouvel épisode ou une première est prévu.","WEBSITE_FEATURES_BIG_SCREEN":"Profitez de votre contenu vidéo sur un écran plus grand","WEBSITE_FEATURES_BIG_SCREEN_P1":"Lancez tout ce que vous regardez sur un autre appareil, qu’il s’agisse d’un téléphone, d’une tablette ou d’un téléviseur d’un simple clic.","WEBSITE_FEATURES_SOURCES":"Regarder des vidéos provenant de nombreuses sources différentes","WEBSITE_FEATURES_SOURCES_P":"Installez des addons officiels et communautaires pour profiter de vidéos provenant de nombreux fournisseurs différents - le tout dans une seule application élégante et facile à utiliser.","WEBSITE_CREATE_AN_ADDON":"Créer un addon","WEBSITE_FEATURES_SYNC":"Synchronisez votre bibliothèque sur différents appareils et reprenez votre lecture","WEBSITE_FEATURES_SYNC_P1":"Connectez-vous avec votre compte sur tous vos appareils et profitez de la synchronisation de votre bibliothèque, de vos addons, de la lecture et de votre calendrier.","WEBSITE_FEATURES_EXTENDABLE":"Catalogue vidéo extensible via l’ajout d’addons","WEBSITE_FEATURES_EXTENDABLE_P1":"Le catalogue d’addons de Stremio propose un certain nombre d’addons à installer vous permetant de regarder une variété de contenus vidéo. Cela comprend des films, émissions, télévisions en direct, du sport, des actualités, podcasts, chaînes web, jeux vidéo et bien d’autres encore.","WEBSITE_FEATURES_AUTO_SUBS":"Sous-titres automatiques","WEBSITE_FEATURES_AUTO_SUBS_P1":"Avec nos addons de sous-titres, vous obtenez automatiquement des options pour votre langue préférée.","WEBSITE_FEATURES_CHROMECAST":"Caster vers un Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Profitez de votre contenu vidéo sur un écran plus grand ou diffusez simplement ce que vous regardez sur un autre appareil.","WEBSITE_FEATURES_KEEP_TRACK":"Gardez une trace de vos émissions TV et de vos chaînes Web préférées","WEBSITE_FEATURES_KEEP_TRACK_P1":"Bénéficiez d’un calendrier et de notifications pour les nouveaux épisodes de vos séries et chaînes web préférées.","WEBSITE_FEATURES_POWER_USER":"Fonctionnalités pour les utilisateurs avancés","WEBSITE_FEATURES_POWER_USER_P1":"Jouer dans un lecteur externe","WEBSITE_FEATURES_POWER_USER_P2":"Lecture à partir d’un fichier torrent ou d’un lien magnet","WEBSITE_FEATURES_POWER_USER_P3":"Importation dans votre bibliothèque à partir de favoris Facebook ou d’un disque local","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"Tout le contenu vidéo fourni par Stremio provient d’un système d’addon - aucun contenu ou fournisseur de contenu n’a été intégré dans l’application.","WEBSITE_ADD_ONS_P2":"Il y a deux groupes d’addons disponibles : les addons officiels et les addons communautaires.","WEBSITE_ADD_ONS_P3":"Les officiels sont développés et hébergés par Stremio, tandis que les addons communautaires sont créés par les membres de notre communauté, qui les hébergent également.","WEBSITE_ADDONS_OFFICIAL":"Addons officiels","WEBSITE_ADDONS_WATCHUB":"Diffusez vos films, séries et émissions préférés de fournisseurs tels que iTunes, Hulu, Amazon et d’autres services du Royaume-Uni et des États-Unis.","WEBSITE_ADDONS_YOUTUBE":"Regardez vos chaînes YouTube préférées sans publicité et recevez des notifications pour les nouveaux uploads des contributeurs que vous suivez.","WEBSITE_ADDONS_FILMON":"Regardez la télévision en direct, les films et la télévision gratuitement. 600 chaînes de télévision, 45 000 films, film gratuits, documentaires et plus encore","WEBSITE_ADDONS_OPENSUBTITLES":"Sous-titres de films et de télévision en plusieurs langues, des milliers de sous-titres traduits sont mis en ligne chaque jour.","WEBSITE_ADDONS_COMMUNITY":"Addons de la communauté","WEBSITE_ADDONS_FILMON_VOD":"Regarder la vidéo à la demande de Filmon.tv","WEBSITE_ADDONS_TWICH":"Regardez les flux en direct de Twitch.tv - une plateforme de streaming vidéo pour l’industrie du e-sport","WEBSITE_ADDONS_VODO":"Regardez des films indépendants totalement gratuitement.","WEBSITE_ADDONS_NETFLIX":"Regardez des films et des séries Web de Netflix.","WEBSITE_ADDONS_CREATE":"Créer un addon","WEBSITE_ADDONS_CREATE_P1":"Si vous le souhaitez, vous pouvez développer votre propre addon. De cette façon, vous pouvez vous donner, ainsi qu’à notre communauté, accès à un nouveau contenu vidéo et atteindre un nouveau public ciblé de millions d’utilisateurs dans le monde entier.","WEBSITE_ADDONS_START_CREATE":"Pour commencer, visitez la page Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Téléchargements","WEBSITE_DOWNLOADS_P1":"Pour des performances optimales, nous vous recommandons d’utiliser la dernière version disponible des applications Stremio. Si, pour une raison quelconque, vous souhaitez utiliser une version plus ancienne, vous pouvez la télécharger ici.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio pour Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio pour macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio pour Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio pour Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio pour iOS (version limitée)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New !","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribuer","WEBSITE_CONTRIBUTE_P1":"La plateforme Stremio est open source et vous pouvez facilement créer un addon pour du contenu qui n’est actuellement pas sourcé.","WEBSITE_CONTRIBUTE_WHY":"Pourquoi créer un addon ?","WEBSITE_CONTRIBUTE_WHY_P1":"Atteignez un nouveau public pour votre contenu vidéo","WEBSITE_CONTRIBUTE_WHY_P2":"La base d’utilisateurs de Stremio s’accroît rapidement - au cours de la première année du lancement, Stremio avait gagné 1 million d’utilisateurs à travers le monde, et au cours de la deuxième année d’existence de la plate-forme, ce nombre est passé à 2,5 millions.","WEBSITE_CONTRIBUTE_WHY_P3":"Avec votre addon, vous pouvez facilement atteindre cet audience et lui distribuer votre contenu vidéo.","WEBSITE_CONTRIBUTE_ALL":"Regardez vos films, vidéos, séries et chaînes préférés en un seul endroit.","WEBSITE_CONTRIBUTE_ALL_P1":"Vous êtes fan d’un type particulier de contenu qui n’est pas encore disponible sur Stremio ? Créez un addon et regardez vos vidéos préférées dans l’un des hubs de divertissement les plus grands et les plus faciles à utiliser sur le marché.","WEBSITE_CONTRIBUTE_ALL_P2":"En plus de cela, vous obtiendrez la gratitude infinie d’autres membres de la communauté Stremio partageant les mêmes idées.","WEBSITE_CONTRIBUTE_MONETIZE":"Monétisez votre addon et gagnez de l’argent grâce à lui","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Une fois que vous avez développé un nouvel addon pour Stremio, vous pouvez facilement le monétiser de différentes manières. Si vous envisagez de le faire, n’hésitez pas à nous contacter à l’adresse suivante ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - nous nous ferons un plaisir de vous consulter et de vous conseiller sur les options de monétisation des addons.","WEBSITE_CONTRIBUTE_TRANSLATE":"Devenez traducteur bénévole","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Si vous souhaitez profiter des applications Stremio dans différentes langues, vous pouvez rejoindre notre communauté de traducteurs bénévoles. Ils nous aident à ajouter des versions de Stremio dans de nombreuses langues différentes.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Vous avez hâte de commencer ?","WEBSITE_TRANSALTE_STREMIO":"Traduire Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Communautés officielles","WEBSITE_COMMUNITY_OFFICIALS_P1":"Devenez membre de la communauté Stremio en pleine croissance. Suivez-nous sur les réseaux sociaux et n’hésitez pas à nous dire bonjour - nous adorons avoir des nouvelles de nos fans !","WEBSITE_COMMUNITY_UNOFFICIALS":"Communautés non officielles","STREMIO_COMMUNITY_NL":"Stremio Pays-Bas","STREMIO_COMMUNITY_BRASIL":"Stremio Brésil","STREMIO_COMMUNITY_GERMANY":"Stremio Allemagne","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgique","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italie","STREMIO_COMMUNITY_UK":"Stremio Royaume-Uni","STREMIO_COMMUNITY_USA":"Stremio Etats-Unis","STREMIO_COMMUNITY_MEXICO":"Stremio Mexique","STREMIO_COMMUNITY_ADDONS":"Addons Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partenaires et supporters","WEBSITE_COMMUNITY_GOODIES":"Goodies Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Fonds d’écran","WEBSITE_COMMUNITY_ART":"Galerie d’Art de la Communauté","WEBSITE_LINK_ART":"Galerie d’Art de la Communauté","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"Si vous avez des questions, commentaires ou suggestions, n’hésitez pas à nous contacter via le formulaire de contact ci-dessous.","WEBSITE_CONTACT_US_P2":"Gardez à l’esprit que nous sommes situés en Bulgarie, il peut donc y avoir un retard dans le traitement de votre demande en raison de différences de fuseau horaire.","WEBSITE_CONTACT_US_SUCCESS":"Votre message a bien été envoyé. Nous vous répondrons dans les plus brefs délais.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Veuillez entrer un email valide !","WEBSITE_CONTACT_US_Q_RELATED_TO":"Sur quoi porte votre question ?","WEBSITE_CONTACT_US_Q_OS":"Quel est votre système d’exploitation ?","WEBSITE_CONTACT_US_PH_EMAIL":"Votre E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVOYER","WEBSITE_CONTACT_US_Q_1":"Comment installer ?","WEBSITE_CONTACT_US_Q_2":"Comment désinstaller ?","WEBSITE_CONTACT_US_Q_3":"(HTML) Comment faire des lasagnes ?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technologie","WEBSITE_TECHNOLOGY_P1":"Nous aimons la technologie et la science folle. </br> Voici ce qui fait fonctionner Stremio (tout est open-source).","WEBSITE_TECHNOLOGY_P_QT":"Le développement logiciel multiplateforme à son meilleur.","WEBSITE_TECHNOLOGY_P_MPV":"Un lecteur multimédia gratuit, open source et multiplateforme.","WEBSITE_TECHNOLOGY_P_RN":"React Native vous permet de créer des applications mobiles en utilisant uniquement JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework intégré à l’application pour obtenir du multimédia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm est une plateforme mobile qui remplace SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuer au projet","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Il y a deux façons de contribuer à Stremio et de nous aider à rendre le produit encore mieux.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Vous pouvez faire don de vos précieuses compétences linguistiques en traduisant la plateforme …","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ou","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"… vous pouvez utiliser vos compétences en développement pour créer des addons communautaires. ","WEBSITE_TRANSLATE_STREMIO":"Traduire Stremio","WEBSITE_404_OH_NO":"Oh, oh ! La page que vous cherchez n’est pas ici…","WEBSITE_GO_HOME":"Retourner à l’accueil","WEBSITE_LINK_OTHER_DOWNLOADS":"Autres téléchargements","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Télécharger Stremio 4 beta maintenant","WEBSITE_GET_FOR_DESKTOP":"Télécharger pour le bureau","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"Mon compte","WEBSITE_MAINPAGE_FAQ_001_H1":"Qu’est-ce que Stremio ?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio est un centre de médias moderne qui vous donne la liberté de regarder tout ce que vous voulez.","WEBSITE_MAINPAGE_FAQ_002_H1":"Comment cela fonctionne ?","WEBSITE_MAINPAGE_FAQ_002_P1":"Une fois que vous avez installé Stremio sur votre appareil et que vous avez créé un compte, il vous suffit de vous rendre dans le catalogue d’addons et d’installer tous les addons que vous voulez, et c’est parti !","WEBSITE_MAINPAGE_FAQ_002_P2":"Ensuite, vous pouvez vous rendre dans les sections Découvrir ou Tableau pour commencer à explorer le contenu.","WEBSITE_MAINPAGE_FAQ_003_H1":"Que puis-je regarder ici ?","WEBSITE_MAINPAGE_FAQ_003_P1":"Beaucoup : Films, émissions de télévision, chaînes Internet, sport, chaînes de télévision, écouter de podcasts et bien d’autres choses encore. Grâce à notre système d’addons, vous pouvez accéder à une grande variété de contenus.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio est-il open-source ?","WEBSITE_MAINPAGE_FAQ_004_P1":"Oui, vous pouvez consulter les liens suivants: ${1}application de bureau${2} et ${3}Organisation GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio est-il sans danger ?","WEBSITE_MAINPAGE_FAQ_005_P1":"Oui: comme il s’agit d’un logiciel open-source, le code est publiquement contrôlable et vous pouvez l’examiner vous-même.","WEBSITE_MAINPAGE_FAQ_005_P2":"Le système d’extensions de Stremio a également été conçu en tenant compte de la sécurité des utilisateurs. Les extensions n’exécutent aucun code localement, ce qui ne présente aucun risque pour votre appareil.","WEBSITE_MAINPAGE_FAQ_006_H1":"Qu’en est-il de ma vie privée ?","WEBSITE_MAINPAGE_FAQ_006_P1":"Nous respectons la vie privée des utilisateurs et ne recueillons aucune donnée personnelle en dehors du minimum indispensable pour créer et synchroniser votre compte.","WEBSITE_MAINPAGE_FAQ_006_P2":"Il existe également un ${1}Mode invité${2} à l’inscription, qui ne nécessite aucune donnée particulière : dans ce mode, aucune requète n’est effectuée vers notre serveur. Toutefois, cela se fait au détriment de fonctions importantes, telles que la possibilité de synchroniser votre bibliothèque entre les appareils.","WEBSITE_MAINPAGE_FAQ_007_H1":"Puis-je caster sur ma TV ?","WEBSITE_MAINPAGE_FAQ_007_P1":"Oui, nous supportons Chromecast et vous pouvez caster à partir des applications bureau et mobiles (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Combien d’addons possède Stremio ?","WEBSITE_MAINPAGE_FAQ_008_P1":"Fin 2019, plus de 50 - pour plus d’informations, consultez notre catalogue d’addons.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio peut-il être étendu au-delà de ce qui se trouve dans le catalogue de l’addon ?","WEBSITE_MAINPAGE_FAQ_009_P1":"Oui, vous devriez faire un tour ici: ${1}PimpMyStremio${2}, ${3}Communautés Reddit${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Quels sont les appareils pris en charge par Stremio ?","WEBSITE_MAINPAGE_FAQ_010_P1":"Nous avons des applications de bureau pour Windows, Mac et Linux. Pour les mobiles, nous prenons en charge Android et iOS, tout en gardant à l’esprit que la version iOS est limitée dans ses fonctionnalités (elle ne prend pas en charge la plupart des addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"Il existe de nombreux appareils basés sur Android sur lesquels vous pouvez faire tourner Stremio, comme NVIDIA Shield et Amazon Fire Stick, mais nous ne les supportons pas officiellement.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Nous proposons des applications de bureau pour Windows, Mac et Linux. Nous avons également des applications dédiées pour Android Mobile et Android TV. Pour iOS et iPadOS, nous recommandons d’utiliser Stremio Web, bien que ses fonctionnalités soient plus limitées.","WEBSITE_MAINPAGE_FAQ_011_H1":"Pouvez-vous ajouter certains contenus à Stremio ?","WEBSITE_MAINPAGE_FAQ_011_P1":"Désolé, nous ne fournissons pas de contenu nous-mêmes, mais plus vous avez installé d’addons Stremio, plus vous serez en mesure de trouver du contenu.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio peut-il jouer les liens magnet ?","WEBSITE_MAINPAGE_FAQ_012_P1":"Oui, et il peut également lire des liens HTTP normaux et des fichiers torrents (glisser-déposer).","WEBSITE_MAINPAGE_FAQ_013_H1":"Puis-je télécharger une vidéo et la regarder hors ligne ?","WEBSITE_MAINPAGE_FAQ_013_P1":"La disponibilité hors ligne est une fonctionnalité à venir, mais si vous autorisez Stremio à se mettre en cache sur votre appareil (à partir du panneau de configuration), vous pouvez regarder les vidéos plus tard sans connexion.","WEBSITE_MAINPAGE_FAQ_014_H1":"Rien ne marche, aidez-moi !","WEBSITE_MAINPAGE_FAQ_014_P1":"Êtes-vous sûr d’avoir installé des addons ? Si oui, vérifiez auprès de notre ${1}centre d’aide${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Comment Stremio soutient-il ses opérations de développement ?","WEBSITE_MAINPAGE_FAQ_015_P1":"Nous diffusons occasionnellement des publicités non intrusives, mais nous envisageons de passer à un modèle de don.","WEBSITE_MAINPAGE_FAQ_015_P2":"Pour plus de questions, consultez notre ${1}centre d’aide${2}.","HELP_LEARN_MORE":"Aidez-nous à mieux vous connaître.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Alimentation & santé","BEAUTY_FASHION":"Beauté & mode","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & éducation","MUSIC":"Musique","TRAVEL":"Voyages","LATE_NIGHT":"Late Night","REALITY":"Télé-réalité","COMEDY":"Comédie","DIY":"DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continuer","SLOW_LOADING":"CHARGEMENT LENT ?","I_GIVE_UP":"J’ABANDONNE","LEARN_MORE":"En savoir plus","POOR_SOURCE":"Cette source est difficilement accessible ou votre connexion Internet n’est pas assez rapide.","PICK_CATEGORIES_ERR":"Vous devez choisir au moins 3 catégories","ADJUST_TIMING":"Ajuster le timing avec ","ADJUST_SIZE":"Ajuster la taille avec ","SEARCH_ANYTHING":"Vous pouvez tout rechercher…","ALL_CATEGORIES":"Tous","SEARCH_CATEGORIES":"Films, Séries, YouTube & TV","SEARCH_PERSONS":"Acteurs, réalisateurs et scénaristes","SEARCH_PROTOCOLS":"HTTP & Liens Magnet","SEARCH_TYPES":"Liens IMDB / TVDB","WATCHED":"Regardé","SHOW_LESS":"Afficher moins","LAST_SEARCHES":"Dernières recherches","CLEAR_HISTORY":"Effacer l’historique","CHOOSE_SOME":"CHOISISSEZ-EN CERTAINS :","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"La télécommande Web n’a pas pu être chargée","STREMIO_OFFLINE":"Stremio est hors-ligne","STREMIO_EXPENSIVE_CONNECTION":"Une connexion réseau coûte cher","USE_DATA":"Utiliser les données","WARNING":"Attention","MORE_INFO":"Plus d’infos…","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Chargement…","STREMIO_TV_BACK_TO_LANGUAGES":"Retour aux langues","STREMIO_TV_REMOTE":"Télécommande","STREMIO_TV_GO_TO":"Aller à:","STREMIO_TV_OR_SCAN":"ou scanner :","STREMIO_TV_ADDON_INSTRUCTIONS":"Veuillez suivre les instructions afin d’installer vos addons préférés.","STREMIO_TV_LIVE_TV":"Télé en direct","STREMIO_TV_RESUME_WATCHING":"Reprendre le visionnage","STREMIO_TV_LOADING_BACKGROUND":"Chargement de l’arrière-plan","STREMIO_TV_CHECKING_AUTHENTICATION":"Vérification de l’authentification","STREMIO_TV_LOADING_BOARD":"Chargement du tableau","STREMIO_TV_LOGIN_HEADER_LINE_1":"Nous voulons que nos utilisateurs bénéficient de la meilleure expérience personnalisée possible avec notre logiciel.","STREMIO_TV_LOGIN_HEADER_LINE_2":"C’est pour cette raison que nous vous demandons de bien vouloir créer et/ou vous connecter à votre compte.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Merci de votre compréhension,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"L’équipe Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Pour utiliser la télécommande Web avec votre smartphone / tablette / ordinateur :","STREMIO_TV_WIFI_SETUP":"Configuration Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle n’a pas détecté de connexion Internet.","STREMIO_TV_WIFI_DETAILS_1":"Connectez-vous à :","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Utilisez le mot de passe :","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Ouvrez un navigateur Web avec le lien :","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Par défaut","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Par dernier visionnage","STREMIO_TV_LIBRARY_SORT_NAME":"Par titre","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Par le nombre de visionnages","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Saison ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} addons chargés…","STREMIO_TV_STREAMS_STILL_LOADING":"L’addon ${1} est toujours en chargement…","STREMIO_TV_PLAYER_SETTINGS":"Paramètres du lecteur","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Délai des sous-titres","STREMIO_TV_PLAYER_AUDIO_DELAY":"Délai de l’audio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Mise à l’échelle de la vidéo","STREMIO_TV_PLAYER_CHAPTERS":"Chapitres","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Sauter ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Source de flux non prise en charge","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Échec de l’ouverture d’un lien externe","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Non réglable en mode audio passthrough","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Lecture avec ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Lecture avec libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Passage au lecteur libVLC en raison d’une erreur de lecture","STREMIO_TV_ADDONS_TITLE":"Utilisez Stremio sur votre téléphone ou votre PC pour installer ou configurer les addons et appuyez sur \\"Synchroniser les addons\\".","STREMIO_TV_ADDONS_SUBTITLE":"Note : assurez-vous que vous utilisez le même compte Stremio.","STREMIO_TV_ADDONS_SYNC_ADDONS":"Synchroniser les addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Synchronisation des Addons réussie","STREMIO_TV_ADDONS_SYNC_FAILED":"Échec de la synchronisation des addons","STREMIO_TV_META_LINK_FAILED":"Échec de l’ouverture du méta lien","STREMIO_TV_CATALOG_LOADING":"Catalogue en cours de chargement…","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Mise à jour de la langue de l’interface","STREMIO_TV_SETTINGS_THEME_UPDATED":"Thème mis à jour","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Lecteur par défaut","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Lecteur externe","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Langue préférée","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Langue secondaire préférée","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Problèmes de lecture possibles sur certains appareils","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Certains formats vidéo peuvent ne pas fonctionner","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Correspondance des fréquences d’images","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Désactivé","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Taux de rafraîchissement uniquement","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Taux de rafraîchissement et résolution","STREMIO_TV_SETTINGS_NO_CACHING":"Pas de mise en cache","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Par défaut","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Calme","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rapide","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Très rapide","STREMIO_TV_SETTINGS_SERVER_URL":"URL du serveur de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Version du serveur","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Inconnue","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Version de Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Modifier l’URL du serveur","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Entrez l’URL d’un serveur de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Afficher les statistiques pendant le chargement","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Pour consulter la politique de confidentialité de Stremio, visitez le site suivant :","STREMIO_TV_SETTINGS_TOS_TEXT":"Pour lire les conditions générales d’utilisation de Stremio, rendez-vous sur le site suivant :","STREMIO_TV_NAV_SEARCH":"Recherche","STREMIO_TV_NAV_HOME":"Accueil","STREMIO_TV_NAV_DISCOVER":"Découvrir","STREMIO_TV_NAV_LIBRARY":"Bibliothèque","STREMIO_TV_NAV_MOVIES":"Films","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Chaînes","STREMIO_TV_NAV_TV":"TV en direct","STREMIO_TV_NAV_SETTINGS":"Réglages","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Lier un compte","STREMIO_TV_LOGIN_EXPIRES_IN":"Expire dans","STREMIO_TV_LOGIN_STEP_ONE":"Scannez le code QR ci-dessus ou rendez-vous sur","STREMIO_TV_LOGIN_STEP_TWO":"Connectez-vous à votre compte Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Demander un nouveau lien","STREMIO_TV_LOGIN_LINK_REFRESHED":"Code de connexion actualisé","STREMIO_TV_SEARCH_PLACEHOLDER":"Entrez quelque chose","STREMIO_TV_SEARCH_NO_ADDONS":"Aucun addon n’a été demandé pour les catalogues !","STREMIO_TV_SEARCH_BUTTON":"Rechercher","STREMIO_TV_SEARCH_KEY_DEL":"Suppr","STREMIO_TV_SEARCH_KEY_SPACE":"Espace","STREMIO_TV_SEARCH_KEY_CLEAR":"Effacer","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historique de recherche","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Vous pouvez rechercher des titres, des acteurs, des chaînes et plus encore…","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Effacer l’historique de recherche","STREMIO_TV_FILTERS_DESCRIPTION":"Choisissez l’un des filtres ci-dessous","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Le serveur de streaming est hors ligne. Vérifiez les paramètres du serveur.","FILTERS":"Filtres","SETTINGS":"Réglages","ACCOUNT":"Compte","LOGOUT":"Déconnexion","THEMES":"Thèmes","PLAYBACK":"Lecture","PLAYBACK_SPEED":"Vitesse de lecture","AUDIO_TRACKS":"Pistes audio","UNKNOWN_TRACK_LANG":"Inconnue","VIDEOS":"Vidéos","SERVER":"Serveur","LINKS":"Liens","ABOUT":"À propos","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Statut","LANGUAGE":"Langue","SIZE":"Taille","DELAY":"Délai","BOLD":"Gras","OPACITY":"Opacité","TEXT_COLOR":"Couleur du texte","OUTLINE_COLOR":"Couleur du contour","BACKGROUND_COLOR":"Couleur de l’arrière-plan","BACKGROUND_BLUR":"Flou d’arrière-plan","SEEK_TIME_DURATION":"Durée de la navigation de la lecture","AUTO_PLAY":"Lecture automatique du prochain épisode","PLAY_NOW":"Regarder","MARK_AS_WATCHED":"Marquer comme regardé","MARK_AS_UNWATCHED":"Marquer comme non regardé","REWIND_TO_BEGINNING":"Revenir au début","CONTINUE_WATCHING":"Continuer de regarder","ALL":"Tous","SECONDS":"Secondes","ON":"ON","OFF":"OFF","RELOAD":"Actualiser","EDIT_URL":"Modifier l’URL","URL":"URL","NONE":"Aucun","EMBEDDED":"Embarqué","LOCAL":"Locale","REMOTE_SWITCH_DEVICES":"Changer d’appareil","REMOTE_VIDEOS":"Vidéos","REMOTE_ADJUST_TIMING":"Ajuster le chronométrage","REMOTE_ADJUST_SIZE":"Ajuster la taille","REMOTE_COULD_NOT_BE_LOADED":"La télécommande Web n’a pas pu être chargée","REMOTE_RETRY":"Réessayer","TORRENT_PROFILE_DEFAULT":"Par défaut","TORRENT_PROFILE_SOFT":"Calme","TORRENT_PROFILE_FAST":"Rapide","TORRENT_PROFILE_ULTRA_FAST":"Très rapide","MB_S":"MB/s","FAQ_001_H1":"Qu’est-ce que le Stremio ?","FAQ_001_P1":"Stremio est un logiciel de centre multimédia conçu pour le divertissement vidéo avec une facilité d’utilisation à l’esprit. Stremio vous permet d’organiser & regardez votre propre collection de films, séries, chaînes et TV en direct.","FAQ_001_P2":"Stremio collecte le contenu qu’il vous montre à partir de votre disque local et de notre système d’addons.","FAQ_001_P3":"Il vous avertira également de la sortie de nouveaux épisodes/vidéos/films qui vous intéressent et vous fournira des recommandations de films.","FAQ_02_H1":"Comment Stremio se compare-t-il à Kodi et Plex ?","FAQ_02_P1":"Nous nous inspirons de ces deux logiciels. Mais nous avons des objectifs différents - Stremio est spécifiquement destiné à la vidéo de divertissement et s’efforce de devenir la solution grand public pour cela en étant très facile à utiliser.","FAQ_02_P2":"Stremio ne sera jamais aussi personnalisable et riche en fonctionnalités que Kodi et Plex, mais il est nettement plus facile à utiliser. Juste ${1} l’obtenir et voir ${2} :)","FAQ_03_H1":"Comment Stremio se compare-t-il à Netflix ?","FAQ_03_P1":"Encore une fois, Netflix est l’une de nos inspirations. Nous nous efforçons d’obtenir l’expérience utilisateur de Netflix, ainsi que de nombreux avantages supplémentaires. Mais plus important encore, nous vous donnons la liberté de gérer votre propre bibliothèque et d’ajouter de nouvelles sources de contenu avec notre système d’extensions.","FAQ_03_P2":"Cela rend Stremio extensible à l’infini, donc lorsque vous utilisez Stremio, vous n’êtes jamais limité au contenu que Netflix décide d’octroyer via une licence. Par exemple, via Stremio, vous pouvez regarder le contenu de ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo$ {8} et même ${9}Netflix${10}","FAQ_04_H1":"Comment Stremio se compare-t-il à Flipboard ?","FAQ_04_P1":"Nous ne recevons pas souvent cette question, sauf lorsque nous parlons à des start-up :)","FAQ_04_P2":"Stremio est par conception un agrégateur de contenu, ce qui en fait essentiellement Flipboard pour la vidéo. Cela est très évident dans notre section Tableau, qui vous donne des catalogues et des notifications de nouveaux épisodes/nouvelles vidéos en lien avec se que vous suivez, tout comme Flipboard.","FAQ_05_H1":"Comment Stremio se compare-t-il à Popcorn Time ?","FAQ_05_P1":"Stremio et Popcorn Time sont similaires dans l’interface utilisateur, car il n’y a pas beaucoup de façons de faire des catalogues de divertissement vidéo correctement :)","FAQ_05_P2":"Mais alors que Popcorn Time se concentre sur la diffusion de torrents à partir de sources spécifiques, Stremio est illimité et est simplement un agrégateur de contenu - il n’est pas verrouillé dans une source de contenu spécifique.","FAQ_05_P3":"De plus, nous ne fournissons aucun addon torrent par défaut, donc Stremio ne couvre pas le cas d’utilisation de Popcorn Time avec des fonctionnalités officielles.","FAQ_05_P4":"Une autre différence notable est que Popcorn Time est entièrement open source, tandis que Stremio est ${1} partiellement open source${2}.","FAQ_06_H1":"Allez-vous ajouter ce film/série ?","FAQ_06_P1":"Non désolé :(","FAQ_06_P2":"Comme mentionné dans la plupart des autres questions, Stremio ne fournit aucun contenu par lui-même - tout est ajouté via le système d’addons. Si vous avez une demande de contenu, vous pouvez utiliser le bouton “Signaler” dans le lecteur, qui enverra un e-mail à l’auteur de l’addon que vous utilisez actuellement.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Allez-vous créer un addon pour X ?","FAQ_08_P1":"C’est tout à fait possible.","FAQ_08_P2":"Si vous avez une idée pour un addon, écrivez-nous à ${1}office@stremio.com${2}, mais assurez-vous que votre idée d’addon n’enfreindra aucun droit d’auteur ou condition d’utilisation.","FAQ_08_P3":"Pour le moment, les prochaines choses sur notre feuille de route sont des addons pour FandangoNOW, la vidéo à la demande Filmon.tv et Crunchyroll.","FAQ_09_H1":"Est-ce que Stremio utilise BitTorrent ?","FAQ_09_P1":"Oui, Stremio prend en charge BitTorrent comme protocole de streaming. Vous pouvez l’utiliser soit avec un addon torrent, soit en glissant-déposant un fichier .torrent dans Stremio, soit en collant un lien magnet dans la barre de recherche.","FAQ_09_P2":"Veuillez noter que le seul addon officiel utilisant BitTorrent est ${1}Vodo${2}, qui fournit du contenu indépendant, tous autorisés à être distribués avec BitTorrent.","FAQ_09_P3":"Nous ne prenons pas en charge l’utilisation d’addons tierces susceptibles de permettre une violation du droit d’auteur.","FAQ_10_H1":"Que puis-je regarder dans Stremio avec les addons officielles ?","FAQ_10_P1":"Par défaut, vous pouvez regarder du contenu Filmon.tv, YouTube et Vodo dans Stremio lui-même, avec son lecteur intégré. De plus, nous avons un addon pour Twitch.tv et quelques autres.","FAQ_10_P2":"Cette combinaison offre une sélection de :","FAQ_10_L1":"Chaînes de télévision populaires, fournies par Filmon.tv - par exemple E4, BBC, Bollyworld TV","FAQ_10_L2":"Tout sur YouTube - par exemple BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Films indépendants avec Vodo","FAQ_10_L4":"Diffusions de jeux en ligne avec Twitch.tv","FAQ_10_P3":"De plus, il existe de nombreuses sources de contenu fournies avec Guidebox et les addons Netflix, qui <b>ne sont pas</b> lues entièrement dans Stremio, mais redirigeraient vers le service donné. Par exemple, l’addon Guidebox vous donnerait une sélection de films que vous pouvez diffuser gratuitement aux États-Unis, à partir de services tels que TubiTV et Crackle.","FAQ_11_H1":"Stremio ne s’installe pas, que dois-je faire ?","FAQ_11_P1":"Si vous utilisez Windows, essayez ${1}cet programme d’installation alternatif${2}.","FAQ_11_P2":"Si vous utilisez Mac OS X, sachez que nous ne prenons en charge aucune version antérieure à OS X Mavericks (10.9).","FAQ_11_P3":"Si vous êtes sous Linux, sachez que nous ne prenons en charge que Linux 64 bits (x64) pour le moment.","FAQ_11_P4":"Si vous ne parvenez toujours pas à résoudre votre problème, veuillez nous écrire sur notre ${1}groupe Facebook${2}.","FAQ_12_H1":"Pourquoi mon antivirus se plaint-il ? Est-ce que Stremio est sûr ?","FAQ_12_P1":"Nous vous assurons que Stremio est $ à {1}100% sûr${2}.","FAQ_12_P2":"Votre antivirus se plaint parce que nous incluons de la publicité dans notre programme d’installation, que certains programmes antivirus reconnaissent comme un logiciel publicitaire.","FAQ_12_P3":"Si vous n’êtes toujours pas sûr, vous pouvez essayer notre ${1}programme d’installation alternatif${2}.","FAQ_13_H1":"Comment créer un addon ?","FAQ_13_P1":"Pour commencer, nous vous recommandons de consulter notre ${1}module système d’addons${2} sur GitHub.","FAQ_13_P2":"Ensuite, vous pouvez suivre le ${1}tutoriel Hello World${2}.","FAQ_13_P3":"Si vous n’avez aucune compétence en programmation, veuillez publier votre idée sur ${1}la communauté Reddit${2} et contactez-nous avec votre idée d’extension sur ${3}office@stremio.com${4}.","FAQ_14_H1":"Comment les addons sont-ils publiés ?","FAQ_14_P1":"Lorsque vous créez un addon et un hôte, et que vous placez un champ <b>endpoint</b> dans votre répertoire, qui pointe vers une adresse d’addon fonctionnelle, l’addon se publiera automatiquement dans notre ${1}catalogue d’addons${2} .","FAQ_14_P2":"Cela se produit parce que la partie serveur du module stremio-addons fait automatiquement un appel à notre API pour annoncer l’addon. Lorsque notre API validera votre <b>endpoint</b> comme un addon valide, il commencera à apparaître dans le catalogue.","FAQ_15_H1":"Puis-je exécuter Stremio dans mon navigateur ?","FAQ_15_P1":"Pas pour le moment, mais ça s’en vient !","FAQ_15_P2":"Si vous êtes curieux de voir une version Alpha, vous pouvez le voir ici : ${1}alpha4.strem.io${2}. Gardez à l’esprit que le streaming est désactivé sur cette version alpha. Nous prenons en charge Chrome, Firefox, Opera et Edge.","FAQ_16_H1":"La diffusion sur la télévision ne fonctionne pas/les sous-titres ne fonctionnent pas","FAQ_16_P1":"La diffusion sur téléviseur utilise la technologie DLNA qui varie entre les différentes marques et modèles de téléviseurs. Pour cette raison, nous n’avons pas la capacité de la tester dans tous les cas, il est donc loin d’être parfait. Malgré cela, nous travaillons constamment à son amélioration, mais nous ne pouvons pas vous donner une estimation du moment où DLNA commencera à fonctionner correctement sur votre téléviseur.","FAQ_16_P2":"Si vous ne voyez même pas votre téléviseur dans le menu de diffusion, essayez de désactiver votre connexion réseau et de la réactiver (sous Windows, cliquez avec le bouton droit sur le réseau et utilisez Activer/Désactiver), ainsi que de redémarrer votre routeur, votre téléviseur et votre PC..","FAQ_16_P3":"Si vous rencontrez toujours des problèmes, vous pouvez nous aider en envoyant des informations sur la marque et le modèle de votre téléviseur à l’adresse ${1}office@stremio.com${2}.","FAQ_16_P4":"En attendant, nous vous recommandons Chromecast, que nous supportons très bien, ou simplement brancher votre téléviseur à votre PC avec un câble HDMI.","FAQ_17_H1":"Stremio se fige et/ou plante, que puis-je faire ?","FAQ_17_P1":"Tout d’abord, si vous utilisez Windows 7 avec l’antivirus AVG : nous avons un problème avec cette combinaison. Le problème est dans AVG lui-même, et il n’y a aucun moyen raisonnable de le résoudre de notre côté. Malheureusement, les exceptions ou la désactivation de l’antivirus ne fonctionneront pas. La seule solution est de remplacer AVG par autre chose.","FAQ_17_P2":"Si ce n’est pas le problème, mais que vous utilisez toujours Windows, veuillez mettre à jour le dernier service pack et mettre à jour/réinstaller vos pilotes GPU, puis réessayer.","FAQ_17_P3":"Si votre problème n’est toujours pas résolu, ou si vous utilisez un Mac ou Linux, veuillez nous écrire pour nous signaler les détails exacts du problème sur ${1}notre groupe Facebook${2}.","FAQ_18_H1":"Comment créer un addon ?","FAQ_18_P1":"Pour commencer, nous vous recommandons de consulter notre ${1}système de addons${2} sur GitHub.","FAQ_18_P2":"Ensuite, vous pouvez suivre le ${1}tutoriel Hello World${2}.","FAQ_18_P3":"Si vous n’avez aucune compétence en programmation, veuillez publier votre idée sur ${1}la communauté Reddit${2} et contactez-nous avec votre idée d’extension sur ${3}office@stremio.com${4}.","FAQ_19_H1":"Pourquoi Stremio prend-il de l’espace disque ?","FAQ_19_P1":"Stremio dispose d’un <b>cache local</b> pour conserver temporairement les fichiers vidéo que vous diffusez.","FAQ_19_P2":"Cela présente deux avantages : premièrement, cela permet à Stremio de pré-charger en mémoire tampon la vidéo à l’avance afin d’assurer un streaming plus fluide. Deuxièmement, il conserve les vidéos dans le cache local afin que vous puissiez continuer à les regarder hors ligne.","FAQ_19_P3":"La quantité conservée par Stremio dépend du paramètre <b>Cache</b> dans le panneau Paramètres. Stremio peut conserver jusqu’à la quantité définie (par exemple 2 Go) sur votre disque, à moins que la vidéo actuellement diffusée ne soit plus grande que cela, auquel cas il doit allouer suffisamment de stockage pour la conserver jusqu’à ce que vous la regardiez.","FAQ_20_H1":"Où est le dossier contenant les caches ?","FAQ_20_P1":"Sous Windows, c’est stremio-cache dans le lecteur que vous avez choisi dans les paramètres (ex. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Sur Mac c’est \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Sur Linux, c’est \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"J’obtiens l’erreur \\"Le serveur de streaming est introuvable\\", que puis-je faire ?","FAQ_21_P1":"Si vous obtenez cette erreur, cela signifie l’une des rares choses suivantes :","FAQ_21_P2":"1) Vous essayez d’utiliser un module complémentaire soutenu par la source YouTube/BitTorrent, via notre ${1}version Web${2}. Dans ce cas, vous devez installer notre version de bureau à partir de ${3}notre site Web${4}.","FAQ_21_P3":"2) Quelque chose ne va pas avec votre installation Stremio. Dans ce cas, essayez de réinstaller notre dernière version de bureau à partir du ${1}site Web${2}. Si cela ne résout pas le problème, essayez de désactiver les programmes antivirus et les pare-feu, redémarrez votre PC et réessayez. Si cela ne fonctionne pas non plus, écrivez-nous à notre ${3}notre groupe Facebook${4}.","FAQ_22_H1":"Je ne peux pas voir/utiliser la plupart des addons sur iOS","FAQ_22_P1":"En raison de restrictions dans les termes et conditions de l’App Store d’Apple, nous avons limité l’application iOS uniquement à un ensemble particulier d’addons.","FAQ_22_P2":"Mais rassurez-vous - il y aura plus d’addons pour iOS à l’avenir, et nous pouvons également ajouter une intégration qui vous permettra d’utiliser tous les addons Stremio grâce à la connexion de l’application iOS au serveur de streaming Stremio."}')},34333:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"סרט","TYPE_series":"סדרה","TYPE_tv":"ערוץ טלויזיה","TYPE_channel":"ערוץ","TYPE_other":"אחר","TYPE_movie_PL":"סרטים","TYPE_series_PL":"סדרות","TYPE_tv_PL":"ערוצי טלויזיה","TYPE_channel_PL":"ערוצים","TYPE_other_PL":"אחרים","TYPE_ALL":"הכל","TYPE":"סוג","CATALOG_com_linvo_cinemeta_top":"פופולרי","CATALOG_com_linvo_cinemeta_imdbRating":"מומלצים","CATALOG_com_linvo_cinemeta_year":"חדש","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"סרטים פומביים","VIDEO":"וידאו","BACK":"חזור","MORE":"עוד","DONE":"סיום","COPY":"העתקה","SUCCESS":"הצלחה","ERROR":"שגיאה","SETTINGS_CASTING_MODE_PICKER":"מצב ליהוק","CASTING_MODE_HLSV2":"ברירת מחדל","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"לא מקודד","Discover":"גלה","Board":"לוח","Library":"ספרייה","My Library":"הספרייה שלי","Calendar":"לוח שנה","NOTIFICATION_ONLINE":"הנך כרגע מחובר","NOTIFICATION_OFFLINE":"הנך כרגע מנותק","INTERNET_CONNECTION":"חיבור רשת","STORAGE_FULL_TITLE":"אזהרה: כונן האחסון מלא!","STORAGE_FULL_TEXT":"Stremio לא תוכל לשמור את ההגדרות שלך, אפשרויות או פרטי ההתחברות. נא לשקול הסרה והתקנה מחדש של Stremio.","SEARCH":"חיפוש","SEARCH_NO_RESULTS":"לא נמצאו תוצאות","SEARCH_EXPLANATION_CONTENT":"YouTube-חפש סרטים, סדרות ועורצי טלויזיה ו","SEARCH_EXPLANATION_PEOPLE":"חפש שחקנים, בימאים ותסריטאים","SEARCH_PASTE_LINKS":"הדבקת קישורים ישירים ומגנט","SEARCH_OR_PASTE_LINK":"חפש או הדבק קישור","SEARCH_SUGGESTIONS":"המלצות חיפוש","ADD_TO_LIB":"הוסף לספרייה","REMOVE_FROM_LIB":"הסר מהספרייה","ADDED_TO_LIB":"נוסף לספרייה","REMOVED_FROM_LIB":"הוסר מהספרייה","TRAILER":"קדימון","WATCH_TRAILER":"צפייה בקדימון","WATCH_NOW":"צפה כעת","SHOW":"הצג","SHOW_MOVIE":"הצגת סרט","WATCH_RANDOM":"צפייה אקראית","IMDB_RATING":"דירוג IMDb","YEAR":"שנה","DIRECTOR":"במאי","WRITER":"כותב","LEAD_ACTORS":"שחקנים ראשיים","CAST":"משתתפים","CREW":"צוות","SHOW_MORE_CAST":"הצג יותר","AIRED":"תאריך שידור","SEASONS":"עונות","GENRE":"סוגה","GENRE_ALL":"כל הסגנונות","CATALOG":"קטלוג","SUMMARY":"תקציר","SHOW_MORE":"להציג יותר","SIMILAR":"דומה","UPCOMING":"בקרוב","TBA":"TBA","ENDED":"הסתיים","DURATION":"אורך","FEATURED":"מומלצים","METADATA":"מידע","CATEGORY":"קטגוריה","LINKS_GENRES":"ז\'אנר","LINKS_CAST":"שחקנים","LINKS_DIRECTORS":"מפיקים","SEARCH_VIDEOS":"חפש וידאו","SEARCH_PLACEHOLDER":"חיפוש או שימוש בקישור מגנט","ADDON":"תוסף","ADDONS":"תוספים","OFFICIAL":"רשמי","ADDONS_OFFICIAL":"תוספי סטרימיו רשמיים","ADDONS_POPULAR":"פופולרי באזור שלך","ADDON_FREE":"חינם","ADDON_PEERED":"משותף","ADDON_SUBSCRIPTION":"הרשמה","ADDON_STREAM_GEORESTRICTED":"לא זמין באזורך","ADDON_STREAM_OFFLINECACHE":"מטמון לא מקוון","ADDON_STREAM_LOCALFILE":"קובץ מקומי","SHARE_ADDON":"שתף את ההרחבות","AVAILABLE_STREAMS":"מקורות זמינים","NO_STREAM":"לא נמצאו מקורות","ALL_ADDONS":"הכל","INSTALL_MORE_ADDONS":"לעוד אפשרויות הזרמה, אנא התקינו תוספים נוספים","STREAM_NOT_SUPPORTED":"ההזרמה שנבחרה אינה נתמכת בפלטפורמה זו.","ADDON_CATALOGUE":"כל התוספים »","ADDON_CATALOGUE_MORE":"עוד תוספים »","REPO_ADDED":"מקור נוסף","ADDON_REPO_EXIST_ERR":"מקור תוספים זה כבר קיים","ADDON_REPO_ERR":"ארעה שגיאה בזמן הוספת מקור","ADDON_ADD_ERR":"ארעה שגיאה זמן הוספת תוסף","ERR_ADDON_PROTECTED":"תוסף מוגן","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"משהו השתבש - התחברות נכשלה","ERR_NOT_COLLECTION_URL":"לא קישור לאוסף","ERR_NOT_ADDON_URL":"לא כתובת תוסף","ERR_DETECTFROMURL":"אין אפשרות לזהות בקישור","ADDON_DUPLICATE_WARNING":"אזהרה: כפילות תוסף","ADDON_COLLECTION_SET_FAILED":"אוסף תוספים נכשל","SETTINGS_DATA_EXPORT":"ייצוא מידע","ADDON_PULL_FAILED":"משיכת התוסף נכשל","REFRESH_ON_CLICK":"נא ללחוץ כאן כדי לנסות שוב","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"הסרט עדיין בקולנוע","WATCH_IN_CINEMA":"צפה בו בקולנוע","IN_THEATER":"בקולנוע","GET_TICKETS":"קבל כרטיסים","UPCOMING_EPISODE":"הפרק הבא","UPCOMING_EPISODE_MESSAGE":"פרק זה ישודר בתאריך","MISSING_DATE_EPISODE":"תאריך הפרק חסר","MISSING_DATE_EPISODE_MESSAGE":"פרק זה כנראה טרם שודר","CHANNEL_NOT_SCRAPED":"ערוץ זה עדיין לא מוכן.<br>אנא חזור בעוד כמה דקות.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"הוסף לסיפריה וקבל התרעה מתי שיהיה מוכן.","GET_NOTIFIED_WHEN_AVAILABLE":"אתה תקבל התרעה שהוא יהיה מוכן.","WARNING_STREAMING_SERVER":"אזהרה: שרת שידור מקומי לא נמצא. שידור מ-YouTube ומ-BitTorrent אינו אפשרי.","WARNING_STREAMING_SERVER_DISMISS":"התעלמות","WARNING_STREAMING_SERVER_LATER":"מאוחר יותר","DECODER_WARNING":"אזהרה: וידאו זה אינו נתמך עם החומרה שיש ברשותך. שימו לב, ההפעלה עשויה להיות איטית.","GENERIC_ERROR_MESSAGE":"משהו רע קרה!","TRY_AGAIN":"נסה שוב","CLEAR_DATA":"נקה את המידע","PLAYER_ERROR":"אופס, שגיאת נגן","PLAYER_ERROR_LOOKSLIKE":"נראה כי","PLAYER_ORIENTATION":"כיוון הנגן","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"נעול","PLAYER_ORIENTATION_SENSOR_SHORT":"חיישן","PLAYER_ORIENTATION_LANDSCAPE":"כיוון הנגן נעול לתצוגה רחבה","PLAYER_ORIENTATION_SENSOR":"כיוון הנגן אוטומטי (חיישן)","PLAYER_PLAYBACK_SPEED":"מהירות ניגון","PLAYER_PLAYBACK_ERROR":"תקלה במהירות ניגון, נא לנסות שוב","PLAYER_PLAYBACK_ERROR_UNKNOWN":"שגיאה לא ידועה","PLAYER_PLAYBACK_ERROR_DEFAULT":"מצטערים, אין אפשרות לנגן וידאו {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"שפת כתוביות","PLAYER_SUBTITLES_VARIANTS":"אפשרויות כתביות","PLAYER_SUBTITLES_SETTINGS":"הגדרות כתוביות","PLAYER_SUBTITLES_DISABLED":"כתוביות מבוטלות","PLAYER_SUBTITLES_VERTICAL_POSIITON":"מיקום אנכי","PLAYER_SUBTITLES_LOADED":"כתוביות נטענו","PLAYER_SUBTITLES_LOADED_EMBEDDED":"כתוביות מוטבעות ניטענו","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"כתוביות אקסלוסיביות נטענו","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"כתוביות מ-{{origin}} נטענו","PLAYER_PLAY":"ניגון","PLAYER_PAUSE":"הפסקה","PLAYER_NEXT_VIDEO":"הוידאו הבא","PLAYER_MUTE":"השתקה","PLAYER_UNMUTE":"ביטול השתקה","PLAYER_OPEN_IN_EXTERNAL":"פתח בנגן וידאו חיצוני","PLAYER_OPEN_IN_NPLAYER":"פתיחה בnPlayer","PLAYER_PLAY_IN":"נגן ב {{device}}","PLAYER_LIVE":"חי","PLAYER_NEXT_VIDEO_TITLE":"הוידאו הבא","PLAYER_NEXT_VIDEO_TITLE_SHORT":"בהמשך","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"הסתרה","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"צפייה כעת","PLAYER_COPY_STREAM_SUCCESS":"הלינק של ההזרמה הועתק למקלדת","PLAYER_COPY_STREAM_ERROR":"העתקת לינק ההזרמה נכשל","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"קישור ההורדה הועתק","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"נכשל בהעתקת קישור הורדה","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"מזרים מ","CASTING_TO":"משדר ל","NETWORK_STATUS":"מצב הרשת","STREAM_SPEED":"מהירות זרימה:","STREAM_BUFFERED":"נאגר:","PEERS_INFO":"פרטי חיבורים","PEERS_ACTIVE":"פעילים:","PEERS_CONNECTED":"מחוברים:","PEERS_WAITING":"ממתינים:","TRANSCODING_WARNING":"אזהרה: מקודד וידאו.","STREAM_LOADING":"טוען...","PLAYING_LOCAL":"מנגן מקובץ מקומי","PLAYING_CACHE":"מנגן ממטמון","WRONG_SUBS":"כתוביות שגויות?","ERR_SUBS_LOADING_TITLE":"שגיאה בטעינת כתוביות","ERR_SUBS_LOADING":"טעינת כתוביות נכשלה: זאת יכולה להיות בעיה של תוסף, או חיבור לאינטרנט","WARN_FOLLOWING_SUB_ADDONS_FAILED":"תוספי הכתוביות הבאים כשלו","ERR_CASTING_UPDATE_TITLE":"לא ניתן לעדכן מידע של מכשיר המשודר: שרת שידור ככל הנראה כבוי","CHOOSE_DEVICE":"בחר מכשיר לצפות בו","NO_CAST_DEVICES":"אין מכירים להזרמה.","NO_SETTINGS":"אין הגדרות זמינות.","NO_OPTIONS":"No options available","PHONE_TABLET":"סלולארי / טאבלט","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"כתוביות","SUBTITLES_CHANGE":"שנה כתוביות עבור","SUBTITLES_CHANGE_NONE":"לא קיימים כתוביות אחרות לשפה זו, מתנצלים.","SUBTITLES_CHANGE_ACIVE":"כרגע כתוביות #{{subtitlesDialog.activeIdx + 1}} מופעלות. לחץ \\"המשך\\" להפעלת הכתוביות #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"לחילופין,","SUBTITLES_ADJUST_DELAY":"שנה השהיית כתוביות:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"או להשתמש במקשים <span>G</span> / <span>H</span> בזמן ניגון לשינוי.","SUBTITLES_ADJUST_DELAY_TIP":"טיפ: באפשרותך להשתמש במקשים <span>G</span> / <span>H</span> בזמן ניגון לשינוי.","SUBTITLES_DELAY":"השהיית כתוביות:","SUBTITLES_LOADING":"טוען כתוביות...","SUBTITLES_UNAVAILABLE":"אין כתוביות חיצוניות זמינות","SUBTITLES_DISABLED":"מבוטל","EXTERNAL_PLAYER_DISABLED":"מבוטל","EXTERNAL_PLAYER_ALLOW_CHOOSING":"אפשר בחירה","EXTERNAL_PLAYER_HINT":"טיפ: יש הגדרה לאפשר פתיחה תמיד עם נגן חיצוני","DONT_SHOW_AGAIN":"אל תציג שוב","SERVICE_INSTALL":"התקנה","AUDIO":"אודיו","DEFAULT_LANGUAGE":"שפת ברירת מחדל","DEFAULT_SECONDARY_LANGUAGE":"שפה משנית כברירת מחדל","SEASON":"עונה","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"פרק","EPISODE_ABBREVIATION":"EP","SPECIAL":"מיוחד","SORT":"מיון","SORT_BY":"מיון לפי","FILTER":"סינון","SORT_TRENDING":"פופולרי","SORT_RECENT":"חדש","SORT_ALPHABET":"א-ת","SORT_ALPHABET_REVERSE":"ת-א","SORT_RATING":"דירוג","SORT_WATCHED":"נצפה","SORT_YEAR":"שנה","SELECT":"Select","SELECT_TYPE":"לפי סוג","SELECT_SORT":"מיון לפי","SELECT_CATALOG":"לפי קטלוג","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"לפי ז\'אנר","SORT_LASTWATCHED":"לפי נראה לאחרונה","SORT_NAME":"לפי שם","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"לפי פעמים שנצפה","SORT_NOTWATCHED":"לא נצפה","New for You":"חדש בשבילך","New Episodes":"פרקים חדשים","New Videos":"סרטים חדשים","Recommendations":"המלצות","LIBRARY_RESUME":"המשך","LIBRARY_PLAY":"ניגון","LIBRARY_DETAILS":"פרטים","LIBRARY_RESUME_DISMISS":"הסר","LIBRARY_CLEAR_PROGRESS":"ניקוי תהליך","LIBRARY_REMOVE":"הסרה","LIBRARY_NOT_LOGGED_IN":"הספרייה מאופשרת רק למשתמשים מחוברים","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"היומן מאופשר רק למשתמשים מחוברים","NOT_LOGGED_IN_CLOUD":"תיגש לסרטים ולסדרות שלך, בכל מקום, בכל זמן","NOT_LOGGED_IN_RECOMMENDATIONS":"המלצות בעקבות היסטוריית הצפיה שלך","NOT_LOGGED_IN_NOTIFICATIONS":"אל תפספס פרק עוד פעם","NOT_LOGGED_IN_CALENDAR":"תזמן את יומן הצפייה האישי שלך","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"מומלץ","DISCOVER_TOP":"מומלץ","DISCOVER_OSCAR":"זוכי אוסקר","DISCOVER_WARNING_TITLE":"אבוי!","DISCOVER_EMPTY_CATALOG":"תוסף זה החזיר תוכן ריק.","DISCOVER_ADULT_WARNING":"תוכן זה מיועד למבוגרים. האם גילך הוא 18 ומעלה?","DISCOVER_NOADDON_WARNING":"אזהרה: אין תוסף סטרימיו פעיל עבור סוג זה. מציג פריטים שמורים, כלום לא ישמר כאן.","DISCOVER_LOAD_ERR":"גילוי: טעינת קטלוג נכשלה","DISCOVER_ADDON_UNINSTALLED":"תוכן זה אינו זמין יותר, ייתכן שהתוסף הוסר.","UNINSTALL_THIS_ADDON":"הסרת תוסף זה","ERR_ADDON_NOT_INSTALLED":"תוסף זה אינו מותקן. האם להתקין אותו כעת?","DETAIL_RECEIVE_NOTIF_SERIES":"קבלת התראות עבור פרקים חדשים","DETAIL_RECEIVE_NOTIF_VIDEOS":"קבלת התראות עבור סרטים חדשים","SIDEBAR_SHOW_STREAMS":"הצגת זרימות","RELAUNCH":"הפעל מחדש כעת!","UPGRADE":"עדכן לגרסה האחרונה של סטרימיו","RELOAD_UI":"טעינה מחדש של ממשק המשתמש","MANUAL_UPDATE_TITLE":"עדכון גרסת Stremio","MANUAL_UPDATE_LINE1":"גרסה זו של Stremio אינה עדכנית והשימוש בה אינו מומלץ.","MANUAL_UPDATE_LINE2":"נא לעדכן בהקדם האפשרי.","BUTTON_UPDATE_LATTER":"לא כעת","BUTTON_UPDATE_NOW":"עדכון","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"משתמש אנונימי","DONT_HAVE_ACC":"אין לך חשבון?","HAVE_ACC":"כבר יש לך חשבון?","PASSWORD":"סיסמה","PASSWORD_CONFIRM":"אישור סיסמה","EMAIL":"דואר אלקטרוני","FB_LOGIN":"התחבר באמצעות פייסבוק","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"שום דבר לא ישותף ללא רשותך","FB_NOPOST":"לא נשלח על שמך שום דבר","OR":"או","I_ACCEPT":"אני מסכים","I_ACCEPT_BY_CLICKING":"על ידי לחיצה למעלה, אני מאשר את","TOS":"תנאי המשימוש","MUST_ACCEPT_TERMS":"חובה לאשר תנאי שימוש","PASSWORDS_NOMATCH":"סיסמאות לא תואמות","SIGN_UP":"הרשמה","SIGN_UP_EMAIL":"הרשמה עם כתובת מייל","CLICK_TO_SIGN_UP":"לחץ כאן להרשמה.","LOG_IN":"התחברות","LOG_OUT":"התנתקות","EXIT_FULLSCREEN":"יציאה ממצב מסך מלא","ENTER_FULLSCREEN":"כניסה למצב מסך מלא","PLAY_URL_MAGNET_LINK":"ניגון קישור URL/Magnet","HELP_FEEDBACK":"עזרה ומשוב","TERMS_OF_SERVICE":"תנאי שימוש","PRIVACY_POLICY":"מדיניות הפרטיות","ABOUT_STREMIO":"אודות Stremio","USER_PANEL":"לוח בקרת משתמש","LOGIN_LABEL":"התחברות","GUEST_LOGIN":"התחברות כאורח","GUEST_LOGIN_NOTICE":"התחברות כאורח אינה מומלצת. התחברות רגילה מאפשרת לStremio לסנכרן את הספריות שלך, לקבל התראות על סדרות ווידאו האהובים עליך. האם אתה בטוח שתרצה להמשיך?","GUEST_LOGIN_NOTICE_2":"התחברות כאורח אינה מומלצת - לא יסונכרנו התראות בספריה או הלוח שלך, שאלו תכונות של Stremio. האם אתה בטוח שברצונך להמשיך?","CLICK_HERE":"לחץ כאן","WRONG_PASSWORD":"סיסמה שגויה, במקרה ששכחת את הסיסמה,","SET_A_PASS":"קבע סיסמה","RESET_PASSWORD":"איפוס סיסמה","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"שכחת סיסמה?","EMAIL_USED_WITH_FB":"כתובת דואר אלקטרוני זה שומש בחיבור בעזרת פייסבוק.","INVALID_EMAIL":"נא לכתוב כתובת מייל תקינה","INVALID_PASSWORD":"נא לכתוב סיסמה תקינה","CONN_ERR":"בעיית התחברות - אנא נסו מאוחר יותר.\\n\\nאם הבעיה ממשיכה, נטרלו את חומת האש/אנטי וירוס שלכם (במיוחד Bitdefender).","IMPORT_FROM_GUEST":"ייבוא ספריה מחשבון האורח שלך","RECEIVE_UPDATES_EMAIL":"-קבל עדכונים לדואר האלקטרוני מStremio","LOGIN_FAILED":"התחברות כשלה.","SIGNUP_FAILED":"הרשמה כשלה.","SEARCH_FAILED":"חיפוש כשל","EMAIL_USED":"כתובת מייל זו כבר בשימוש.","WAITING_FB_LOGIN":"מתחבר עם פייסבוק...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"שימוש בנגן חיצוני","EXTERNAL_REMEMBER_PLAYER":"האם לזכור בחירה זו","EXTERNAL_ALWAYS_PLAY":"כן","EXTERNAL_ONLY_ONCE":"לא","BEST_FIT":"התאמה טובה ביותר","FIT_SCREEN":"התאמה למסך","FILL":"מילוי","16:9":"16:9","4:3":"4:3","Original":"מקורי","INTRO_TASTE":"ספרו לנו מה אתם אוהבים","INTRO_TASTE_LONG":"תספרו לנו במה תרצו לצפות","INTRO_TASTE_PICK":"בחירת {{interestsRemaining}} נושאים","INTRO_TASTE_PICK_MORE":"בחירת {{interestsRemaining}} נושאים נוספים","INTRO_TASTE_HELP_US":"עזרו לנו ללמוד עליכם עוד.","INTRO_TASTE_CHOOSE_THESE":"בחירה מהרשימה:","INTRO_TASTE_CHOOSE_MIN":"נא לבחור לפחות 3 קטגוריות","INTRO_TASTE_CHOOSE_MIN_ERR":"חובה לבחור לפחות 3 קטגוריות!","INTRO_TASTE_LIFESTYLE":"סגנון חיים","INTRO_TASTE_SPORTS":"ספורט","INTRO_TASTE_FOOD_HEALTH":"אוכל ובריאות","INTRO_TASTE_BEAUTY_FASHION":"יופי ואופנה","INTRO_TASTE_NEWS":"חדשות","INTRO_TASTE_GAMING":"משחקים","INTRO_TASTE_SCIENCE_EDU":"מדעים וחינוך","INTRO_TASTE_MUSIC":"מוסיקה","INTRO_TASTE_TRAVEL":"טיולים","INTRO_TASTE_LATE_NIGHT":"תוכנית אירוח","INTRO_TASTE_REALITY":"ריאליטי","INTRO_TASTE_COMEDY":"קומדיה","INTRO_TASTE_DIY":"עשה זאת בעצמך","INTRO_TASTE_TECH":"טכנולוגיה","INTRO_TASTE_CINEMA":"קולנוע","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"התוסף הנבחר אינו תומך בפלטפורמה זו.","ADDON_DISCLAIMER":"שימוש בתוספים צד שלישי תמיד יהיו תחת אחריותך ותחת החוק הקיים באזור מגוריך.","ADDON_ACTIVATE":"הפעלת תוסף זה?","ADDON_REPO_ADD":"כתובת מקור התוסף","ADDON_ADD":"הוספה","INSTALL_ADDON":"התקן תוסף","ADD_ADDON":"הוספת תוסף","ADD_ADDON_DESCRIPTION":"ניתן להוסיף תוסף באמצעות קישור חיצוני, התוסף יופיע תחת התוספים המותקנים","PASTE_ADDON_URL":"קישור לתוסף","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"מה חדש","BUTTON_CONTINUE":"המשך","BUTTON_ACTIVATE":"הפעל","BUTTON_ACTIVATED":"מופעל","BUTTON_CANCEL":"ביטול","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"שליחה","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"התעלם מהכל","BUTTON_VIEW_ALL":"הצגת הכל","BUTTON_SEE_ALL":"להציג הכל","BUTTON_COLOR_TRANSPARENT":"שקוף","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"פתח בדפדפן","LIB_EMPTY":"הספרייה שלך נראית ריקה. גלו כמה זה שימושי :) ","HOW_START":"ככה תוכל להתחיל:","LIB_EMPTY_CAL":"לוח השנה מציג סדרות בספרייה שלך","HOW_START_CAL":"כך אתה יכול להוסיף סדרות:","LIB_EMPTY_BOARD":"הלוח מציג התראות והמלצות אשר קשורים לספרייה שלך.","HOW_START_BOARD_WAIT":"אנא הוסף סדרות וערוצים לספרייה שלך ותן לנו כמה דקות לארגן את הכל :)","HOW_START_BOARD":"ככה אתה יכול להוסיף סדרות וסרטים אליו:","IMPORT_FB":"יבא דברים שאתה אוהב מ<span>פייסבוק</span>","IMPORT_TRAKT":"ייבוא ספריה מאתר <span>Trakt</span>","IMPORT_DISCOVER":"מצא דברים מעניינים דרך טאב ה<span>גלה</span>","IMPORT_DISK":"יבא סרטים או סדרות אשר נמצאים ב<span>דיסק המקומי</span>","PLEASE_CREATE_ACC":"אנא <u>צור חשבון</u> כדי לאפשר סנכרון ספרייה ולוח.","IMPORT_DISCOVER_SIGNUP":"הירשמו ותמצאו דברים מעניינים <span>בגילוי</span>","IMPORT_DISK_SIGNUP":"הירשמו וייבאו סרטים וסדרות שיש ברשותכם <span>בכונן מקומי</span>","LIB_EMPTY_CLOUD":"ספריה בענן","LIB_EMPTY_CLOUD_DESC":"ענן אישי לסנכרון סיפריה עם כל המכשירים","LIB_EMPTY_EARLY":"לפני כולם","LIB_EMPTY_EARLY_DESC":"קבלת התראות על פרקים חדשים","LIB_EMPTY_PERSONAL":"אישי","LIB_EMPTY_PERSONAL_DESC":"קבלת המלצות אישיות","LIB_EMPTY_CALENDAR_DESC":"קביעת לוח שנה לצפיה האישית שלכם","LIB_EMPTY_ALL":"הירשמו כדי לקבל את כל זה:","LIB_EMPTY_BEST":"הירשמו בכדי לקבל את הטוב ביותר מStremio","LIB_EMPTY_OTHER":"הרשמה בכדי להפעיל לוח שנה לצפיה ועוד דברים מגניבים","CALENDAR_ADDED":"הלוח שנה של Stremio התווסף ללוח שנה של שולחן העבודה.","CALENDAR_ADDED_MSG":"אם זה לא עובד, אנא השתמש בקישור כדי להוסיף את לוח השנה בצורה ידנית","TRAKT_EXPIRED":"קישוריות עם Trakt פגה, אנא עבור להגדרות והתחבר שוב","TRAKT_REQUIRES_LOGIN":"Trakt שגיאה","TRAKT_REQUIRES_LOGIN_MSG":"חובה להתחבר","TRAKT_IMPORT_WATCHED":"ייבא","THEME":"נושא","THEME_DEFAULT":"ברירת מחדשל","THEME_ADAPTIVE":"אדפטיבי","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"הגדרות","SETTINGS_NAV_GENERAL":"כללי","SETTINGS_NAV_PLAYER":"נגן","SETTINGS_NAV_STREAMING":"תזרימים","SETTINGS_NAV_SHORTCUTS":"קיצורי דרך","SETTINGS_SHORTCUT_RELOAD_APP":"הפעלת אפליקציה מחדש","SETTINGS_SHORTCUT_OPEN_SETTINGS":"פתיחת הגדרות","SETTINGS_SHORTCUT_SWITCH_TABS":"החלפת טאבים","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"מעבר מעגלי בטאבים קדימה","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"מעבר מעגלי בטאבים אחורה","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"ניווט בין תפריטים","SETTINGS_SHORTCUT_GO_TO_SEARCH":"מעבר לחיפוש","SETTINGS_SHORTCUT_EXIT_BACK":"יציאה / חזרה","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"פתיחת תפריט מהירות הניגון","SETTINGS_SHORTCUT_MENU_VIDEOS":"פתיחת תפריט וידאו","SETTINGS_SHORTCUT_MENU_SUBTITLES":"פתיחת תפריט כתוביות","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"פתיחת תפריט מידע","SETTINGS_SHORTCUT_FULLSCREEN":"מסך מלא","SETTINGS_SHORTCUT_SHOW_CONTROLS":"הצגת שליטה","SETTINGS_SHORTCUT_PLAY_PAUSE":"ניגון / עצירה","SETTINGS_SHORTCUT_VOLUME_UP":"הגברת שמע","SETTINGS_SHORTCUT_VOLUME_DOWN":"הנמכת שמע","SETTINGS_SHORTCUT_SEEK_NEXT":"קפיצה להבא","SETTINGS_SHORTCUT_SEEK_PREV":"קפיצה לקודם","SETTINGS_SHORTCUT_SEEK_BACKWARD":"קפיצה אחורה","SETTINGS_SHORTCUT_SEEK_FORWARD":"קפיצה קדימה","SETTINGS_SHORTCUT_PLAY_NEXT":"הפעלת הבא","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"הגדל את גודל הכתוביות","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"הקטן את גודל הכתוביות","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"הגדל את עיכוב הכתוביות","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"הקטנת השהיית כתוביות","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"פתיחת תפריט צד","SETTINGS_SHORTCUT_OR":"או","SETTINGS_SHORTCUT_TO":"אל","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"רווח","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"התחברות","SETTINGS_FACEBOOK_IMPORT":"ייבוא","SETTINGS_CALENDAR_SUBSCRIBE":"הרשמה לעדכונים","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"שפת ממשק","SETTINGS_LAUNCH_STARTUP":"הפעל בעת הפעלת המחשב","SETTINGS_VLC_DEFAULT":"לנגן עם vlc","SETTINGS_UI_LANGUAGE":"שפת ממשק","SETTINGS_UI_ZOOM":"זום ממשק","SETTINGS_FULLSCREEN_EXIT":"יש ללחוץ על Escape כדי לצאת ממצב מסך מלא","SETTINGS_GAMEPAD":"הפעלת תמיכה בבקר משחק","SETTINGS_CLOSE_WINDOW":"סגירת היישום עם סגירת החלון","SETTINGS_SUBTITLES_LANGUAGE":"שפת כתוביות ברירת מחדל","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"גודל כתוביות ברירת מחדל","SETTINGS_SUBTITLES_BACKGROUND":"צבע רקע עבור כתוביות","SETTINGS_SUBTITLES_COLOR":"צבע כתוביות","SETTINGS_SUBTITLES_COLOR_OUTLINE":"צבע מתאר עבור כתוביות","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"צבע רקע עבור כתוביות","SETTINGS_SEEK_KEY":"מקשי החצים כדי לנוע בזמן","SETTINGS_SEEK_KEY_SHIFT":"מקשי החצים כדי לנוע בזמן כאשר המקש Shift מוחזק","SETTINGS_REWIND_FAST_FORWARD_DURATION":"משך הרצה אחורה וקדימה","SETTINGS_BINGE":"לנגן אוטומטית את הפרק הבא","SETTINGS_NEXT_VIDEO":"הצגת הודעה לתחילת הפרק הבא","SETTINGS_NEXT_VIDEO_TRIGGER":"משך הצגת ההודעה על הפרק הבא:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"משך הסרטון הקופץ הבא","SETTINGS_PLAY_IN_BACKGROUND":"נגן ברקע","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"נגן בנגן חיצוני","SETTINGS_RESIZE":"שינוי גודל אוטומטי של החלון לפני תחילת ניגון","SETTINGS_OVERRIDE_SERVER":"עקוף את כתובת שרת ההזרמה (מתקדם)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"כתובת שרת הזרמה: ","SETTINGS_SERVER_AVAILABLE":"שרת הזרמה זמין.","SETTINGS_SERVER_UNAVAILABLE":"שרת הזרמה אינו זמין.","SETTINGS_SERVER_STATUS_ONLINE":"מחובר","SETTINGS_SERVER_STATUS_ERROR":"שגיאה","SETTINGS_SERVER_CONFIGURE_TITLE":"הגדר את כתובת האתר של שרת ההזרמה","SETTINGS_SERVER_CONFIGURE_INPUT":"הזן כתובת אתר של שרת ההזרמה","SETTINGS_SERVER_CACHE_SIZE":"גודל המטמון","SETTINGS_SERVER_TORRENT_PROFILE":"פרופיל הטורנט","SETTINGS_HTTPS_ENDPOINT":"כתובת הזרמה ב־HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"פרופיל לקידוד","SETTINGS_USE_BETA":"תמיד להשתמש ב Beta האחרונה","SETTINGS_IMPORT_FB":"ייבא מפייסבוק","SETTINGS_IMPORT_DISK":"ייבא מדיסק מקומי","SETTINGS_IMPORT_TRAKT":"ייבא מ-Trakt","SETTINGS_PAUSE_MINIMIZED":"השהיית ניגון כאשר החלון ממוזער","SETTINGS_HWDEC":"קידוד מואץ בחומרה","SETTINGS_BACKGROUND":"רקע נגן","SETTINGS_SUBSCRIBE_CALENDAR":"הרשמה ללוח שנה","SETTINGS_REQ_EXPORT":"בקשה לייצוא מידע","SETTINGS_ACC_DELETE":"בקשה להסרת חשבון","SETTINGS_CHANGE_PASSWORD":"שנה סיסמה","SETTINGS_TOS":"תנאי שימוש","SETTINGS_SUPPORT":"צור קשר עם התמיכה","SETTING_LANGUAGE":"שפה","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt שילוב","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"התנתקות מ-Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"התנתקות מ-Trakt","SETTINGS_SCAN_FOR_REMOTE":"סריקת קוד QR לשימוש מרוחק","SETTINGS_DESKTOP_NOTIFICATIONS":"התראות שולחן עבודה","SETTINGS_DATA_SAVER":"חיסכון משאבים","SETTINGS_LANGUAGE_INTERFACE":"מראה","SETTINGS_LANGUAGE_SUBS":"כתוביות ברירת מחדל","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"בחירה אוטומטית בפס הקול","SETTINGS_DEFAULT_AUDIO_TRACK":"פס קול ברירת מחדל","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"קול היקפי","SETTINGS_ACCOUNT":"חשבון","SETTINGS_PLATFORM":"פלטפורמה","SETTINGS_VERSION":"גרסה","SETTINGS_ABOUT":"אודות","SETTINGS_MPV_WINDOW":"הפעלת נגן בחלון חיצוני (מתקדם)","SETTINGS_PLAY_IN_EXTERNAL":"תמיד התחלת ניגון בנגן חיצוני","SETTINGS_STORAGE_BUTTON":"ניקוי מטמון מקומי","SETTINGS_STORAGE_MODAL_TITLE":"האם אתה בטוח?","SETTINGS_STORAGE_MODAL_MESSAGE":"זה ינקה את המטמון המקומי וינתק אותך.","SETTINGS_HWDEC_PICKER":"בחירת הגדרה לdecoding מואצת בחומרה","SETTINGS_HW_AUTOMATIC":"אוטומטי","SETTINGS_HW_DISABLED":"מבוטל","SETTINGS_HW_ACCELERATED":"האצת קידוד","SETTINGS_HW_FULL":"האצה מלאה","SETTINGS_HW_LEGACY":"מורשת","SETTINGS_DISABLED":"השבת","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"הודעת חיבור לרשת","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL חיצוני","SETTINGS_COPY_REMOTE_URL":"העתק URL חיצוני","SETTINGS_REMOTE_URL_COPIED":"URL חיצוני הועתק למקלדת","SETTINGS_SECTION_SUBTITLES":"כתוביות","SETTINGS_SECTION_AUDIO":"שמע","SETTINGS_SECTION_CONTROLS":"בקרה","SETTINGS_SECTION_AUTO_PLAY":"ניגון אוטומטי","SETTINGS_SECTION_ADVANCED":"מתקדם","SUBSPICKER_AUDIO":"אודיו","SUBSPICKER_SUBTITLES":"תוסף כתוביות","SUBSPICKER_BLACK_BACKGROUND":"שימוש ברקע שחור","SUBSPICKER_VERTICAL_OFFSET":"מיקום אנכי","SUBSPICKER_SIZE":"גודל","SUBSPICKER_DELAY":"עיכוב","SUBSPICKER_EMBEDDED_SUBS":"כתוביות מוטבעות","MOBILE_PRIVACY_POLICY":"מדיניות הפרטיות","MOBILE_CRASH_REPORTING":"דיווח קריסות","MOBILE_ZOOM_TO_FILL":"זום למילוי מסך","MOBILE_PASSTHROUGH":"יציאת אודיו דיגיטלי (passthrough)","MOBILE_RUN_LOW_BATTERY":"ניגון במצב סוללה חלשה","MOBILE_RUN_FOREGROUND":"ניגון כשירות","MOBILE_PERFORMANCE":"ביצעים & יציבות","MOBILE_SERVER_ONLINE":"מחובר","MOBILE_SERVER_OFFLINE":"מנותק","MOBILE_QR_EXPIRES":"QR Code פג בתוך ","MOBILE_LOG_INTO":"התחברות לחשבון Stremio שלך ","MOBILE_SCAN_QR":"סרקו את הQR code למעלה או עברו אל ","MOBILE_LINK_ACCOUNT":"קישור חשבון","MOBILE_SPEEDPICKER_CANCEL":"ביטול","MOBILE_SPEEDPICKER_LABEL":"בחירת מהירות נגינה","MOBILE_EMPTY_LIBRARY":"הספריה שלך ריקה","MOBILE_NO_ADDON_ACTIVE":"אין תוסף stremio פעיל עבור סוג זה.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"עדיין טוען","MOBILE_ADDONS_LOADING":"תוספים עדיין בטעינה","MOBILE_ADDON":"תוסף","MOBILE_CONFIGURE_ADDON":"הגדרת התוסף שלך","MOBILE_CONFIGURE_ADDON_LABEL":"הגדרת תוסף","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"התנתקות","MOBILE_LOOKING_FOR_DEVICES":"מחפש מכשירים...","MOBILE_CAST_TO":"ליהוק אל","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"הסרת חשבון","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"אשר מחיקת חשבון","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"בבקשה ספר את סיסמתך עבור מחיקת המשתמש","MOBILE_DELETE_ACCOUNT_BUTTON":"הסרת חשבון","NAVIGATION_ON":"פועל","NAVIGATION_OFF":"כבוי","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"אני מסכים לקבל תוכן מאת Stremio","QUIT":"יציאה","CONNECTED":"מחובר","AUTHENTICATE":"אימות","AUTHENTICATING":"Authenticating...","CACHING":"מטמון","SETTINGS_CACHING_DRIVE":"בחר כונן למטמון","ENABLE_LOCAL_FILES_ADDON":"הפעלת תוסף גישה לקבצים מקומיים (נדרשת הפעלה מחדש)","LOCAL_ADDON_NOT_ENABLED":"תוסף מקומי אינו מופעל. לחץ כאן כדי לעבור להגדרות ולאפשר זאת","ENABLE_REMOTE_HTTPS_CONN":"הפעלת חיבורי HTTPS מרוחקים","TORRENT_PROFILE":"פרופיל Torrent","DATA_CACHING":"מידע זמני","MAGNET_PARSING":"מנתח קישור מגנט","January":"ינואר","February":"פברואר","March":"מרץ","April":"אפריל","May":"מאי","June":"יוני","July":"יולי","August":"אוגוסט","September":"ספטמבר","October":"אוקטובר","November":"נובמבר","December":"דצמבר","Monday":"שני","Tuesday":"שלישי","Wednesday":"רביעי","Thursday":"חמישי","Friday":"שישי","Saturday":"שבת","Sunday":"ראשון","Action":"פעולה","Comedy":"קומדיה","War":"מלחמה","Family":"משפחה","Animation":"אנימציה","Adventure":"הרפתקה","Fantasy":"פנטזיה","Crime":"פשע","Mystery":"מיסתורי","Romance":"רומנטיקה","Drama":"דרמה","Horror":"אימה","Thriller":"מותחן","Sci-Fi":"מדע בדיוני","Music":"מוזיקה","Biography":"ביוגרפיה","Documentary":"תיעודי","Sport":"ספורט","Musical":"מוזיקלי","Western":"מערבונים","Film-Noir":"סרט-נואר","News":"חדשות","History":"היסטוריה","Game-Show":"שעשועונים","Reality-TV":"ריאלטי","Talk-Show":"טוק שואו","Film & Entertainment":"סרטים ובידור","Gaming":"גיימינג","From TV":"מהטלויזיה","Lifestyle":"לייף סטייל","Science & Education":"מדע וחינוך","Cooking & Health":"בישול ובריאות","Beauty & Fashion":"יופי ואופנה","Sports":"ספורט","News & Politics":"חדשות ופוליטיקה","How-to & DIY":"עשה זאת בעצמך","Tech":"טכנולוגיה","Automotive":"רכב","Causes & Non-Profits":"ללא מטרות רווח","Movies":"סרטים","Uk Live Tv":"טלויזיה לייב בריטית","Fashion":"אופנה","Business News Radio":"רדיו חדשות עסקים","Business Tv":"טלויזיה עסקית","Cars & Auto":"רכבים","Comedy Radio":"רדיו קומדיה","Lifestyle Radio":"רדיו לייף סטייל","News Tv":"טלויזית חדשות","Food And Wine":"אוכל ויין","Latino Tv":"טלויזיה לטינית","Shopping Tv":"טלויזיית קניות","Religion":"דת","Kids":"ילדים","Body & Soul":"גוף ונפש","Education":"חינוך","Indian Tv":"טלויזיה הודית","Extreme Sports":"ספורט אקסטרים","Middle Eastern Tv":"טלויזיה מזרח תיכונית","Celebrity Tv":"טלויזיית סלבריטי","Science Tv":"טלויזיית מדע","Bikini babe":"ביקיני","Outdoors":"באוויר הפתוח","German Tv":"טלויזיה גרמנית","French Tv":"טלויזיה צרפתית","Italian Tv":"טלויזיה איטלקית","Gamer Tv":"טלויזיית גיימרים","Travel":"טלויזיית טיולים","Asian Tv":"טלויזיה אסייתית","Entertainment":"בידור","News Radio":"רדיו חדשות","Music Radio":"רדיו מוזיקה","Language Learning":"לימוד שפות","Science Radio":"רדיו מדע","Tech Radio":"רדיו טכנולוגיה","Science & Technology Vod":"מדע וטכנולוגיה VOD","new video":"וידאו חדש","new episode":"פרק חדש","new movie":"סרט חדש","recommended":"מומלצים","we recommend":"אנו ממליצים","offer of the day":"הצעת היום","news":"חדשות","music video":"קליפ מוסיקה","CTX_SHOW_HOTKEYS":"הצג מקשי קיצור","CTX_DISMISS_NOTIF":"התעלמות מהתראות","CTX_DISMISS_ALL":"התעלמות מהכל","CTX_SHARE":"שתף","CTX_COPY_SHARE_LINK":"העתקה ושיתוף קישור","CTX_COPY_MAGNET_LINK":"העתקת קישור magnet","CTX_COPY_STREAM_LINK":"העתקת קישור הזרמה stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"העתקת קישור הורדה","CTX_DOWNLOAD_VIDEO":"הורדת וידאו זה","CTX_DOWNLOAD_SUBS":"הורדת כתוביות","CTX_VIEW_ON_YOUTUBE":"צפיה בYouTube","CTX_SHOW":"הצג","CTX_PLAY":"הפעלה","CTX_PLAY_IN":"הפעלה בתוך","CTX_PLAY_ON":"הפעלה על","CTX_WATCH_ON":"צפה ב","CTX_WATCH":"צפה","CTX_WATCHED":"נצפה","CTX_WATCH_BEGINNING":"צפה מההתחלה","CTX_WATCH_MOBILE":"צפה במכשיר נייד","CTX_REWIND":"אחורה להתחלה","CTX_MARK_WATCHED":"סמן כנצפה","CTX_MARK_NON_WATCHED":"סמן כלא נצפה","CTX_MARK_UNWATCHED":"סמן כלא נצפה","CTX_MARK_REST":"סימון כל הבאים כנצפו","CTX_UNMARK_REST":"סימון כל הבאים שלא נצפו","CTX_RECEIVE_NEW_NOTIF":"קבל התראות חדשות","CTX_ENABLE_NEW_NOTIF":"אפשר התראות","CTX_DISABLE_NEW_NOTIF":"השבת התראות","CTX_REMOVE_CACHE":"הסר ממטמון","CTX_REMOVE_CACHE_EP":"הסר פרק ממטמון","CTX_OPEN_CONTAINING":"פתח תיקייה מכילה","CTX_REMOVE":"הסר מהספריה","CTX_AVAILABLE_OFFLINE":"זמין במצב לא מקוון","CTX_PAUSED":"השהה","CTX_ALWAYS_ON_TOP":"תמיד למעלה","CTX_FULLSCREEN":"מסך מלא","CTX_WRONG_SUBS":"כתוביות שגויות?","CTX_REPORT_ISSUES":"דווח על בעיה","CTX_COPY":"העתק","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"הדבק","CTX_CLEAR":"נקה","CTX_CLEAR_RECENT_SEARCHES":"נקה חיפושים אחרונים","HELLO_THERE":"היי שם","HOPE_YOU_ENJOY":"אנו מקווים שאתם נהנים מהתוכנה Stremio ושהיא אחת המועדפות שלכם!","WHO_ARE_WE":"מי אנחנו? אנחנו צוות מאחורי זה - שני בחורים שעובדים קשה מאוד כבר 3 שנים, עם מטרה אחת - לשפר את המוצר עוד ועוד.","SUPPORT_US":"אם אתם נהנים מStremio, ו-Stremio בעל ערך עבורכם - תתמכו בנו!","SPREAD_THE_WORD":"תשתפו עם חברים שלכם, הפיצו את המילה על Stremio","MORE_PEOPLE":"אמרו לעוד אנשים להשתמש ב-Stremio, וכך נשתפר!","SEND_A_LINK":"או שליחת קישור אל האתר שלנו","TIP_LOCALFILES":"טיפ: אפשר לגרור ולשחרר מדיה מתיקיה אל תוך Stremio","ADDON_MY":"תוספים שלי","ADDON_COMMUNITY":"תוספים של הקהילה","ADDON_OFFICIAL":"תוספים רשמיים","ADDON_REPOS":"מקורות תוספים","ADDON_SEARCH":"חיפוש תוספים","ADDON_INSTALL":"התקן","ADDON_CONFIGURE":"הגדר","ADDON_UNINSTALL":"הסר התקנה","ADDON_UPGRADE":"שדרוג","ADDON_INSTALLED":"מותקן","ADDON_INSTALLED_MSG":"התוסף מותקן!","ADDON_UPGRADED_MSG":"התוסף משודרג!","ADDON_UNKNOWN":"לא ידוע","ADDON_ERR":"שגיאה בהתקנת תוסף!","ADDON_DISCONNECTED":"מנותק","ADDON_APP_MISSING":"אפליקציה למקור זה אינה מותקנת. להתקין אותה?","ADDON_APP_INSTALL":"התקן כעת","ADDON_PAGE":"עמוד תוסף","ADDON_TOP_CONTENT":"תוכן הכי טוב מתוסף זה","ADDON_PROVIDES":"ספקים","ADDON_WATCH":"צפיה ב-#{types} כעט!","ADDON_WATCH_FREE":"צפה עכשיו ב-#{types} בחינם כעט!","ADDON_ADDON":"תוסף","ADDON_SUPPORTED_TYPES":"סוג נתמך","ADDON_SUPPORTED_CATALOGS":"קטלוג נתמך","ADDON_PROVIDES_DISCOVER":"עוד #{types} בגילוי","ADDON_PROVIDES_STREAMS":"צפיה ב-#{types}","ADDON_PROVIDES_STREAMS_FREE":"צפיה ב-#{types} בחינם","ADDON_PROVIDES_SUBTITLES":"כתוביות עבור #{types}","ADDON_CANTDETECT":"Stremio לא נמצא עובד, אז לא הצלחנו למצוא את התוספים המותקים.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"לא נמצא מידע על זה ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"שגיאה בהבאת מידע עבור זה.","ERR_CANT_PARSE_MAGNET":"לא ניתן לנתח קישור מגנט","ERR_NO_MAGNET_INFOHASH":"אין מידע hash עבור מגנט","ERR_NO_FILE_PATH":"אין אפשרות לשלוח את הבקשה ללא קישור אל הקובץ","ERR_NO_TORRENT":"אין טורנט חוזר","ERR_NO_SUPPORTERD_FILES":"קבצים לא נתמכים נמצאו","ERR_OPENING_FILES":"אין אפשרות לפתוח קבצים חיצוניים","ERR_INVALID_LINK":"קישור לא תקין","ERR_REGISTERED_ONLY":"אפשרות זו פעילה רק לרשומים בלבד.","ERR_CLIPBOARD":"לא ניתן לנגן מלוח הגזירים","ERR_CLIPBOARD_READ":"לא ניתן לקרוא את לוח הגזירים בפלטפורמה זו","ERR_CLIPBOARD_GENERIC":"לא נמצא קישור שהועקת ניתן לצפיה. נא להעתיק קישור (למשל, קישור magnet) של וידאו.","BOARD_CONTINUE_WATCHING":"המשך לצפות","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"סרטים נבחרים במיוחד בשבילך.<br />הסרט הזה הוא דוגמא להמלצה.","BOARD_EXPLANATION_EPISODES":"פרקים חדשים של הסדרות האהובות עליך יופיעו כאן.<br />הוסף סדרות שאתה עוקב אחריהן לספריה שלך.","BOARD_EXPLANATION_VIDEOS":"פרקים חדשים של הערוצים האהובים עליך יופיעו כאן.<br />הוסף ערוצי YouTube שאתה עוקב אחריהן לספריה שלך.","WEBSITE_ENJOYED_BY":"אתר זה נהנה ושומש על ידיד יותר מ-30 מיליון משתמשים ברחבי העולם","WEBSITE_STREAMING_ENHANCED":"סטרימינג משופר","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"זמין ב","WEBSITE_WATCH_AND_ENJOY":"צפה ותהנה.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"stremio הופך אתזה לקלי קלות","WEBSITE_ALL_FEATURES":"כל התכונות","WEBSITE_EASY_TO_USE":"קל לשימוש","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"מעבר חלק בין מכשירים","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"כל ההורדות","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"תמיכה בוידאו HD(High-Definition)","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"יצירת חשבון בחינם","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"חווית צפיה מתואמת","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"כל התכונות של stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"נסה את Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"בטלוויזיה שלך עכשיו","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio בשביל טלוויזיה חכמה","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"ביקורות","WEBSITE_GET_STREMIO_FOR_FREE":"קבל את Stremio בחינם","WEBSITE_GET_STREMIO_NOW":"קבל את stremio עכשיו","WEBSITE_STREMIO_FEATURES":"תכונות של Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"גלה עוד","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"חינם ומאובטח","WEBSITE_STREAMING":"סטרימינג","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"בקהילת Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"שתף את מחשבותיך","WEBSITE_REPORT_BUGS":"דווח על באגים","WEBSITE_SUGGEST_FEATURES":"הצע תכונות נוספות","WEBSITE_AND_PROVIDE_FEEDBACK":"ותספקו משוב בערוצי המדיה החברתית שלנו.","WEBSITE_BETA_TESTING_PROGRAM":"תוכנית בדיקות בטא","WEBSITE_BETA_TESTING_PROGRAM_DESC":"השתתפו בתוכנית בדיקות הבטא שלנו (אנו שולחים הזמנות באופן קבוע) בקהילת Stremio.","WEBSITE_JOIN_NOW":"הירשם עכשיו!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"קהילות רשמיות של Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"קהילות לא רשמיות של Stremio","WEBSITE_BECOME":"להפוך","WEBSITE_A_VOLUNTEER_TRANSLATOR":"למתרגם מתנדב","WEBSITE_ARE_YOU_A_DEVELOPER":"האם אתה מפתח?","WEBSITE_CONTRIBUTE_CODE":"תוכל לתרום קוד לפרויקטים שלנו בקוד פתוח. יש לנו מספר פרויקטים ב-GitHub שמחפשים תורמים. אם אתה מעוניין לעזור, בדוק אותם:","WEBSITE_STREMIO_ON_GITHUB":"Stremio ב-GitHub","WEBSITE_CREATE_ADDON_DESC":"צור תוסף כדי לשפר את הפונקציונליות של Stremio (יש לנו API קל לשימוש):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"אנו גם מציעים הזדמנות להצטרף אלינו כמפתח מתמחה כדי שנוכל לצמוח יחד.","WEBSITE_APPLY_AS_AN_INTERN":"הגש מועמדות כמתמחה","WEBSITE_CALLING_ALL_ARTISTS":"קריאה לכל האמנים!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"הציגו את היצירתיות והאהבה שלכם ל-Stremio על ידי העלאת אמנות מעריצים לגלריה המקוונת שלנו. בין אם זה ציור, ציור או עיצוב דיגיטלי, אנחנו רוצים לראות את הפרשנות הייחודית שלכם למותג Stremio. הצטרפו לקהילת חובבי האמנות שלנו ושתפו את עבודתכם עם מעריצי Stremio ברחבי העולם.","WEBSITE_STREMIO_FANART_GALLERY":"גלריית אמנות מעריצים של Stremio","WEBSITE_INTERN_DESIGNER":"הפוך לחלק מהצוות שלנו וקח את היצירתיות שלך לגבהים חדשים עם הזדמנויות ההתמחות המרגשות שלנו.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"פרויקט סרטי נחלת הכלל","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"ב-Stremio, אנו מחויבים לשמר את ההיסטוריה של הקולנוע והטלוויזיה על ידי זיהוי סרטים בנחלת הכלל וסרטים יתומים. בעבודה משותפת עם הקהילה שלנו, אנו יכולים להבטיח שיצירות אמנות קלאסיות אלה יהיו נגישות לכולם ומוגנות עבור הדורות הבאים ליהנות מהן.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"צרו איתנו קשר אם תרצו להיות מעורבים בפרויקט.","WEBSITE_JOIN_THE_PROJECT":"הצטרף לפרויקט","WEBSITE_BE_PART_OF_OUR_MISSION":"היה חלק מהמשימה שלנו","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"מעוניין להצטרף לצוות Stremio? אנו מציעים עבודה מרחוק מלאה לאנשי מקצוע נלהבים. בדוק את המשרות הפתוחות שלנו.","WEBSITE_OPEN_POSITIONS":"משרות פתוחות","WEBSITE_DESCRIPTION":"תאור","WEBSITE_LEARN_MORE":"למד עוד","WEBSITE_COMPANY":"החברה","WEBSITE_CONTACTS":"צור קשר","WEBSITE_NEED_HELP":"צריך עזרה?","WEBSITE_STREMIO_WEB_ON_IOS":"מדריכים עבור Stremio Web על iOS","WEBSITE_LINK_ART_V2":"גלריית Fanart","WEBSITE_PARTNERS":"שותפים","WEBSITE_SLOGAN_WATCH":"צפיה מיידית","WEBSITE_SLOGAN_ALL":"כל תוכן הוידאו במקום אחד להנאה מלאה","WEBSITE_SLOGAN_NEW":"כל מה שאתה יכול לצפות","WEBSITE_SLOGAN_NEW_NEW":"חופש בהזרמת תוכן","WEBSITE_WATCH_FROM":"צפה מ","WEBSITE_DOWNLOAD":"הורד עכשיו","WEBSITE_DOWNLOAD_FOR":"כעט מוריד עבור","WEBSITE_IS_DESKTOP":"Stremio היא תוכנת שולחן עבודה, פתח עמוד זה להורדה אל המחשב האישי","WEBSITE_DESKTOP_DEMO_VID":"הדגמת שולחן עבודה","WEBSITE_PAGE_HOME":"בית","WEBSITE_PAGE_FEATURES":"תכונות","WEBSITE_PAGE_ADDONS":"הרחבות","WEBSITE_PAGE_TECH":"טכנולוגיה","WEBSITE_PAGE_CREATE_ADDON":"צור הרחבה","WEBSITE_PAGE_CONTACTS":"צור קשר","WEBSITE_PAGE_BLOG":"בלוג","WEBSITE_RESET_PASSWORD_MESSAGE":"נא לכתוב סיסמה חדשה.","WEBSITE_RESET_PASSWORD_WARNING":"הנכם בטוחים שתרצו לאפס את הסיסמה עבור ${1}?","WEBSITE_TYPE_movie":"סרטים","WEBSITE_TYPE_series_PL":"סדרות","WEBSITE_TYPE_tv":"שידורים חיים","WEBSITE_TYPE_channel":"ערוצים","WEBSITE_STREMIO_WHAT_IS":"Stremio היא אפליקציה שעוזרת לך לארגן ולצפות מייד בסרטונים, סרטים, סדרות טלוויזיה וערוצי טלוויזיה האהובים עליך.","WEBSITE_FEATURES_WATCH":"צפיה מיידית באיכות HD","WEBSITE_FEATURES_WATCH_DETAIL":"לחץ ונגן את הסרטונים, סרטים, סדרות טלוויזיה וערוצי טלוויזיה האהובים עליך.","WEBSITE_FEATURES_SUBS":"כתוביות אוטומטיות","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio בוחרת לבד את הכתוביות על בסיס שפה שנבחרה.","WEBSITE_FEATURES_SUBS_LABEL":"הצעד שלך, בוס.","WEBSITE_FEATURES_CAST":"נגינה בטלויזיה & מכשירים ניידים","WEBSITE_FEATURES_CAST_DETAIL":"שידור בAppleTV, Chromecast, טלויזיה חכמה (DLNA/UPnP) ומכשירים ניידים.","WEBSITE_LIB":"תהנה מהספריה הפרטית שלך מסונכרת לכל מכשירך.","WEBSITE_LIB_COLLECT":"איסוף מStremio","WEBSITE_LIB_IMPORT":"ייבוא מFacebook","WEBSITE_LIB_LOCAL":"הוספה מכונן מקומי","WEBSITE_BOARD":"הלוח - נקודת העצירה להודעות וההמלצות שלך","WEBSITE_BOARD_RECOMMEND":"סדרות מומלצות","WEBSITE_BOARD_TRENDING":"סרט חם","WEBSITE_BOARD_NEW":"וידאו חדש","WEBSITE_BOARD_EPISODE":"פרק חדש","WEBSITE_BOARD_1":"מחפש משהו מעניין לצפות? קבל המלצות על בסיס טמעך האישי!","WEBSITE_BOARD_2":"קבל הודעה כאשר פרק חדש של הסדרה או ערוץ YouTube יוצא!","WEBSITE_BOARD_YOUTUBE":"סרטונים חדשים של ערוצי YouTube","WEBSITE_BOARD_EPISODES":"פרקים חדשים של הסדרות שהינך עוקב אחריהן","WEBSITE_ADDONS":"תוספי תוכן","WEBSITE_TECH_DETAIL":"אנחנו אוהבים טכנולוגיה, אנחנו אוהבים מדע משוגע!\\nStremio משתמש בטכנולוגיות קוד פתוח הבאות:","WEBSITE_TECH_WCJS":"WebChimera.js-מאפשר ל-Stremio להפעיל כל פורמט וידאו עם ביצועים טובים.","WEBSITE_TECH_WCJS_EXTRA":"אנחנו תורמים מרכזיים לפרויקט","WEBSITE_TECH_ELECTRON":"Electron מספק פלטפורמה חדשנית לבניית Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"אנחנו תורמים לפרויקט","WEBSITE_TECH_LINVODB":"טכנולוגיית מסד נתונים המבטיחה שהנתונים שלך מאורגנים וזמינים בכל מקום שבו אתה מתחבר.","WEBSITE_TECH_LINVODB_EXTRA":"טכנולוגיה פנימית","WEBSITE_CREATE_ADDON":"צור את התוסף שלך","WEBSITE_CREATE_ADDON_DETAIL":"יש לך שירות המספק תוכן וידאו? נעזור לך להפיק תועלת מהתכונות של Stremio על ידי יצירת התוסף שלך.","WEBSITE_CREATE_ADDON_BENEFITS":"יתרונות של יצירת תוסף ל-Stremio","WEBSITE_P2P_BEAUTY":"היופי של הזרמת עמית-לעמית","WEBSITE_P2P_1":"וידאו באיכות HD מלאה / 4K אמין ובמחיר סביר לפי דרישה או בשידור חי","WEBSITE_P2P_2":"פלטפורמת הפצה המספקת חוויית משתמש מעולה","WEBSITE_P2P_3":"ניצור תוסף שיענה על הצרכים המדויקים שלך","WEBSITE_P2P_CONTACT":"מתעניינים? אתם מוזמנים <a href=\'mailto:office@stremio.com\'>ליצור איתנו קשר</a>.","WEBSITE_P2P_CONTACT_EXTRA":"נשמח לעזור לכם לשלב את התוכן שלכם בסטרמיו!","WEBSITE_P2P":"מדי פעם מגיעה טכנולוגיה שמשנה את כללי המשחק. השקענו המון זמן ומאמץ בבניית מנוע הזרמת הווידאו עמית-לעמית (P2P) שלנו, המספק ביצועים מעולים וורסטיליות להתאמה לכל מקרה שימוש.\\nצרו איתנו קשר עבור וידאו P2P מוגן DRM לפי דרישה או בשידור חי.","WEBSITE_THOUGHTS":"מחשבות שאנחנו משתפים:","WEBSITE_SPREAD":"הפיצו את הבשורה על סטרמיו:","WEBSITE_CONTACT":"אם אתם מעוניינים ליצור איתנו קשר, פנו אלינו ב","WEBSITE_OPENSOURCE":"לפרויקטים בקוד פתוח שלנו, בקרו ב","WEBSITE_BITCOIN":"תרומת ביטקוין:","WEBSITE_FAQ":"שאלות נפוצות","WEBSITE_FAQ_SHORT":"שו״ת","WEBSITE_QUESTIONS":"שאלות","WEBSITE_TOS":"תנאי שימוש","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"עלינו","WEBSITE_PAGE_BECOME_PARTNER":"הפוך לשותף","WEBSITE_ALL_YOU_CAN_WATCH":"חופש לצפות\\nבכל מה שתרצה.","WEBSITE_FREEDOM_TO_STREAM":"חופש להזרים","WEBSITE_WHAT_IS_STREMIO":"מה זה Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio הוא מרכז אחד לאיסוף תוכן וידאו. גלה, ארגן וצפה בוידאו ממגוון מקורות בכל מכשיר שברשותך.","WEBSITE_WHAT_IS_STREMIO_P2":"סרטים, תוכניות טלוויזיה, סדרות, טלוויזיה בשידור חי או ערוצי אינטרנט כמו YouTube ו-Twitch.tv - תוכל למצוא את כל אלה בStremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio הוא מרכז מדיה מודרני שמהווה פתרון כולל לבידור הוידאו שלך. אתה מגלה, צופה ומארגן תוכן וידאו מתוספים קלים להתקנה.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"סרטים, תוכניות טלוויזיה, טלוויזיה בשידור חי או ערוצי אינטרנט - מצא את כל אלה בStremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"תהנה בכל מכשירי המדיה שלך","WEBSITE_DEVICES_COLLECT":"איסוף מתוך Stremio","WEBSITE_DEVICES_IMPORT_FB":"ייבוא מפייסבוק","WEBSITE_DEVICES_LOCAL":"הוסף מכונן מקומי","WEBSITE_JOIN_THE_PARTY_NOW":"הצטרף למסיבה עכשיו","WEBSITE_DEVICES_ALL":"קל לשימוש בכל המכשירים שלך;","WEBSITE_EXTENDABLE_CATALOG":"קטלוג וידאו הניתן להרחבה אינסופית;","WEBSITE_ORGANIZE_YOUR_MEDIA":"תכונות נהדרות לארגון המדיה שלך;","WEBSITE_AS_SEEN_ON":"כמו שנצפה ב","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"עלינו","WEBSITE_LINK_TECHNOLOGY":"טכנולוגיה","WEBSITE_LINK_APPS":"אפליקציות","WEBSITE_LINK_DOWNLOADS":"הורדות","WEBSITE_MORE":"עוד","WEBSITE_LINK_ADDONS":"תוספים","WEBSITE_LINK_ADDON_SDK":"SDK תוספים","WEBSITE_LINK_CONTRIBUTE":"לתרום","WEBSITE_LINK_COMMUNITY":"קהילה","WEBSITE_LINK_BLOG":"בלוג","WEBSITE_MORE_MORE":"... & ועוד","WEBSITE_LINK_HELP":"מרכז עזרה","WEBSITE_LINK_CONTACTS":"יצירת קשר","WEBSITE_LINK_TOS":"תנאי שימוש","WEBSITE_LINK_PRAVACY":"פרטיות","WEBSITE_SUBSCRIBE":"הרשמה לעדכונים","WEBSITE_NEWSLETTER":"הצטרפו לעדכונים של דברים שווים","WEBSITE_PLACEHOLDER_EMAIL":"דואר אלקטרוני","WEBSITE_COMMUNITY":"קהילה","WEBSITE_LINK_PRAVACY_LEGAL":"פרטיות & חוקים","WEBSITE_WHY":"למה אנחנו עושים את זה","WEBSITE_WHY_P1":"בStremio, אנחנו מגיעים לעבודה כל יום כי אנחנו רוצים לפתור בעיה חשובה בתעשיית הווידאו לפי דרישה. יש כל כך הרבה תוכן חדש שמתפרסם בכל דקה שכמעט בלתי אפשרי למצוא את דרכך בתוכו.","WEBSITE_WHY_P2":"אנחנו עוזרים לאנשים לנווט בעולם העצום הזה של בידור וידאו ולגלות תוכן חדש ליהנות ממנו. האפליקציות שלנו מאגדות סרטים, סדרות, טלוויזיה בשידור חי, ערוצי אינטרנט ועוד. אנחנו מחויבים להפוך את זה לקל באופן מדהים למשתמשים למצוא כותרים ושדרנים שהם אוהבים.","WEBSITE_WHY_P3":"אתם יכולים להשתמש בשירות שלנו בכל מכשיר ובכל זמן, מה שהופך את Stremio למרכז הבידור הוידאו היחיד שתצטרכו אי פעם.","WEBSITE_TEAM":"צוות","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"ארגון ספריית הוידאו","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"יצירת תוסף","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"כתוביות אוטוצטיות","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"שידור אל Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"ניגון בנגן חיצוני","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"תוספים","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"תוספים רשמיים","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"תוספי קהילה","WEBSITE_ADDONS_FILMON_VOD":"צפיה של VOD מאתר Filmon.tv","WEBSITE_ADDONS_TWICH":"צפיה בשידור חי מאתר Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"צפיה בסרטים הודים ללא עלות.","WEBSITE_ADDONS_NETFLIX":"צפיה בסרטים וסדרות של Netflix.","WEBSITE_ADDONS_CREATE":"יצירת תוסף","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"להתחלה, בקרו בעמוד Stremio Addon SDK:","WEBSITE_DOWNLOADS":"הורדות","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio עבור Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio עבור macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio עבור Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio עבור Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio עבור Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio עבור Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio עבור Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio עבור iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio עבור Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio עבור LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio עבור Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio עבור Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio עבור Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio עבור Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio עבור Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio עבור Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio עבור Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio עבור Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"מדריך עבור Stremio OS על RPI","WEBSITE_LINK_GUIDE":"מדריך","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service עבור Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service עבור macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service עבור Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service עבור Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio עבור Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"עוד אפשרויות הורדה","WEBSITE_DOWNLOAD_NEW":"חדש!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"לתרום","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"תרגום Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"קהילות רשמיות","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"קהילות לא רשמיות","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio ברזיל","STREMIO_COMMUNITY_GERMANY":"Stremio גרמניה","STREMIO_COMMUNITY_BELGIUM":"Stremio בלגיה","STREMIO_COMMUNITY_FRANCE":"Stremio צרפת","STREMIO_COMMUNITY_PORTUGAL":"Stremio פורטוגל","STREMIO_COMMUNITY_ITALY":"Stremio איטלקית","STREMIO_COMMUNITY_UK":"Stremio אנגליה","STREMIO_COMMUNITY_USA":"Stremio ארה\'\'ב","STREMIO_COMMUNITY_MEXICO":"Stremio מקסיקו","STREMIO_COMMUNITY_ADDONS":"Stremio תוספים","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"שותפים ותומכים","WEBSITE_COMMUNITY_GOODIES":"הטבות Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"רקעים","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"צור קשר","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"אנא הכנס אימייל תקני","WEBSITE_CONTACT_US_Q_RELATED_TO":"למה השאלה שלך שייכת?","WEBSITE_CONTACT_US_Q_OS":"מה המערכת הפעלה שלך?","WEBSITE_CONTACT_US_PH_EMAIL":"כתובת דואר האלקטרוני שלך","WEBSITE_CONTACT_US_PH_MESSAGE":"הודעה","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"שליחה","WEBSITE_CONTACT_US_Q_1":"איך להתקין?","WEBSITE_CONTACT_US_Q_2":"איך להסיר?","WEBSITE_CONTACT_US_Q_3":"(HTML) איך לעשות lasagna?","WEBSITE_CONTACT_US_Q_4":"תוספים","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"טכנולוגיה","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"או","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"תרגום Stremio","WEBSITE_404_OH_NO":"אוי לא! העמוד שחיפשת לא נמצא כאן...","WEBSITE_GO_HOME":"מעבר לבית","WEBSITE_LINK_OTHER_DOWNLOADS":"הורדות אחרות","WEBSITE_FAQ_ABR":"שאלות ותשובות","WEBSITE_SUPPORT":"תמיכה","WEBSITE_DOWNLOAD_4_0_BETA":"הורדת Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"הורדה לשולחן העבודה","WEBSITE_LINK_ADDON_COMPETITION":"תחרות התוספים","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"חשבון שלי","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"עזרו לנו ללמוד עליכם יותר.","LIFESTYLE":"סגנון חיים","SPORTS":"ספורט","FOOD_HEALTH":"אוכל ובריאות","BEAUTY_FASHION":"יופי ואופנה","NEWS":"חדשות","GAMING":"גיימינג","SCIENCE_EDUCATION":"מדע וחינוך","MUSIC":"מוזיקה","TRAVEL":"טיולים","LATE_NIGHT":"תוכניות אירוח","REALITY":"ריאלטי","COMEDY":"קומדיה","DIY":"עשה זאת בעצמך","TECH":"טכנולוגיה","CINEMA":"קולנוע","CONTINUE":"המשך","SLOW_LOADING":"טעינה איטית?","I_GIVE_UP":"לוותר","LEARN_MORE":"מידע נוסף","POOR_SOURCE":"מקור זה בקושי זמין או שחיבור האינטרנט שלך איטי מאוד","PICK_CATEGORIES_ERR":"נא לבחור 3 קטגוריות מינימום","ADJUST_TIMING":"שינוי תזמון בעזרת ","ADJUST_SIZE":"שינוי גודל בעזרת","SEARCH_ANYTHING":"אפשר לחפש הכל...","ALL_CATEGORIES":"הכל","SEARCH_CATEGORIES":"סרטים, סדרות, Youtube & טלויזיה","SEARCH_PERSONS":"שחקנים, מפיקים & כותבים","SEARCH_PROTOCOLS":"קישורים ישירים או מגנט","SEARCH_TYPES":"IMDB / TVDB קישורים","WATCHED":"נצפה","SHOW_LESS":"הצג פחות","LAST_SEARCHES":"חיפושים אחרונים","CLEAR_HISTORY":"נקה היסטוריה","CHOOSE_SOME":"בחירה של משהו מכאן:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"שימוש מרוחק לא ניתן לטעינה","STREMIO_OFFLINE":"Stremio מנותק","STREMIO_EXPENSIVE_CONNECTION":"חיבור לאינטרנט הוא יקר","USE_DATA":"השתמש בנתונים ניידים","WARNING":"אזהרה","MORE_INFO":"מידע נוסף ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"טוען ...","STREMIO_TV_BACK_TO_LANGUAGES":"חזרה לשפות","STREMIO_TV_REMOTE":"שלט","STREMIO_TV_GO_TO":"מעבר אל:","STREMIO_TV_OR_SCAN":"או סריקה:","STREMIO_TV_ADDON_INSTRUCTIONS":"נא לעקוב אחר ההוראות בכדי להתקין את התוספים המועדפים עליכם.","STREMIO_TV_LIVE_TV":"טלויזיה חיה","STREMIO_TV_RESUME_WATCHING":"המשך צפיה","STREMIO_TV_LOADING_BACKGROUND":"טוען ברקע","STREMIO_TV_CHECKING_AUTHENTICATION":"בודק פרטי התחברות","STREMIO_TV_LOADING_BOARD":"טוען לוח","STREMIO_TV_LOGIN_HEADER_LINE_1":"אנו רוצים שהמשתמשים שלנו יזכו לחוויה המותאמת אישית הטובה ביותר עם התוכנה שלנו.","STREMIO_TV_LOGIN_HEADER_LINE_2":"מסיבה זו אנו מבקשים מכם לבקש ו / או להתחבר לחשבונכם.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"תודה על ההבנה,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"צוות Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"על מנת להשתמש מרחוק באמצעות טלפון חכם / טאבלט / מחשב:","STREMIO_TV_WIFI_SETUP":"התקנת Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle לא הצליח לזהות חיבור אינטרנט.","STREMIO_TV_WIFI_DETAILS_1":"חיבור אל:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"שימוש בסיסמה:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"פתיחת דפדפן עם קישור:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"ברירת המחדל","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"לפי נצפה לאחרונה","STREMIO_TV_LIBRARY_SORT_NAME":"לפי שם","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"לפי שם - סדר יורד","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"לפי כמות הצפיות","STREMIO_TV_LIBRARY_SORT_WATCHED":"לפי נצפה","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"לפי לא נצפה","STREMIO_TV_DETAILS_SEASON_NUMBER":"${1} עונה","STREMIO_TV_STREAMS_LOADING":"נטענו {1}$ / {2}$ תוספים...","STREMIO_TV_STREAMS_STILL_LOADING":"תוסף {1}$ עדיין נטען","STREMIO_TV_PLAYER_SETTINGS":"הגדרות נגן","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"השהיית כתוביות","STREMIO_TV_PLAYER_AUDIO_DELAY":"השהיית אודיו","STREMIO_TV_PLAYER_VIDEO_SCALING":"קנה מידה של וידאו","STREMIO_TV_PLAYER_CHAPTERS":"פרקים","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"דילוג על ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"מקור השידור אינו נתמך","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"שגיאה בפתיחת קישור חיצוני","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"לא ניתן לשינוי במצב passthrough","STREMIO_TV_PLAYER_PLAY_IN_EXO":"נגן עם ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"נגן עם libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"מחליף לנגן libVLAC עקב שגיאה בשידור","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"סינכרון תוספים\\"","STREMIO_TV_ADDONS_SUBTITLE":"הערה: ודא כי אתה משתמש באותו משתמש Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"סינכרון תוספים","STREMIO_TV_ADDONS_SYNC_SUCCESS":"תוספים סונכרונו בהצחלה","STREMIO_TV_ADDONS_SYNC_FAILED":"שגיאה סינכרון התוספים","STREMIO_TV_META_LINK_FAILED":"פתיחת לינק meta נכשלה","STREMIO_TV_CATALOG_LOADING":"הקטלוג עדין נטען...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"שפת הממשק עודכנה","STREMIO_TV_SETTINGS_THEME_UPDATED":"ערכת הנושא עודכנה","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"נגן ברירת המחדל","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"נגן חיצוני","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"שפה מועדפת","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"שפה מועדפת משנית","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"ללא זיכרון מטמון","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"ברירת מחדל","STREMIO_TV_SETTINGS_PROFILE_SOFT":"עדין","STREMIO_TV_SETTINGS_PROFILE_FAST":"מהיר","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"מהיר במיוחד","STREMIO_TV_SETTINGS_SERVER_URL":"קישור לשרת צפייה","STREMIO_TV_SETTINGS_SERVER_VERSION":"גרסת שרת","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"לא ידוע","STREMIO_TV_SETTINGS_STREMIO_VERSION":"גרסת Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"עריכת קישור שרת","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"הזן כתובת אתר של שרת הזרמה(סטרימינג)","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"הצג סטיסטיקות בזמן הטעינה","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"לקריאת תנאי הפרטיות של Stremio, בקרו ב:","STREMIO_TV_SETTINGS_TOS_TEXT":"לקריאת תנאי השימוש של Stremio, בקרו ב:","STREMIO_TV_NAV_SEARCH":"חיפוש","STREMIO_TV_NAV_HOME":"דף הבית","STREMIO_TV_NAV_DISCOVER":"גלה","STREMIO_TV_NAV_LIBRARY":"ספרייה","STREMIO_TV_NAV_MOVIES":"סרטים","STREMIO_TV_NAV_SERIES":"סדרות","STREMIO_TV_NAV_CHANNELS":"ערוצים","STREMIO_TV_NAV_TV":"שידורים חיים","STREMIO_TV_NAV_SETTINGS":"הגדרות","STREMIO_TV_NAV_ADDONS":"תוספים","STREMIO_TV_LOGIN_TITLE":"חבר משתמש","STREMIO_TV_LOGIN_EXPIRES_IN":"פג תוקף ב-","STREMIO_TV_LOGIN_STEP_ONE":"סרקו את קוד ה-QR או גשו ל:","STREMIO_TV_LOGIN_STEP_TWO":"התחברות למשתמש Stremio","STREMIO_TV_LOGIN_NEW_LINK":"בקש קישור חדש","STREMIO_TV_LOGIN_LINK_REFRESHED":"קישור ההתחברות חודש","STREMIO_TV_SEARCH_PLACEHOLDER":"הקלד משהו","STREMIO_TV_SEARCH_NO_ADDONS":"לא התבקשו תוספים לקטלוגים!","STREMIO_TV_SEARCH_BUTTON":"חיפוש","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"רווח","STREMIO_TV_SEARCH_KEY_CLEAR":"נקה","STREMIO_TV_SEARCH_HISTORY_TITLE":"היסטוריית החיפושים","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"אפשר לחפש כותרים, שחקנים, ערוצים ועוד...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"נקה את היסטוריית החיפושים","STREMIO_TV_FILTERS_DESCRIPTION":"בחרו אחד מהפילטרים מטה","STREMIO_TV_STREAMING_SERVER_OFFLINE":"שרת הסטרימינג במצב לא מקוון, בדוק את הגדרות השרת.","FILTERS":"פילטרים","SETTINGS":"הגדרות","ACCOUNT":"משתמש","LOGOUT":"התנתק","THEMES":"ערכות נושא","PLAYBACK":"ניגון","PLAYBACK_SPEED":"מהירות ניגון","AUDIO_TRACKS":"רצועות שמע","UNKNOWN_TRACK_LANG":"לא ידוע","VIDEOS":"סרטונים","SERVER":"שרת","LINKS":"קישורים","ABOUT":"אודות","INTERFACE":"ממשק","ANIMATIONS":"אנימציות","STATUS":"סטטוס","LANGUAGE":"שפה","SIZE":"גודל","DELAY":"השהייה","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"צבע טקסט","OUTLINE_COLOR":"צבע מתאר","BACKGROUND_COLOR":"צבע רקע","BACKGROUND_BLUR":"טשטוש רקע","SEEK_TIME_DURATION":"משך זמן חיפוש","AUTO_PLAY":"נגן אוטומטית את הפרק הבא","PLAY_NOW":"נגן עכשיו","MARK_AS_WATCHED":"סמן כנצפה","MARK_AS_UNWATCHED":"סמן כלא נצפה","REWIND_TO_BEGINNING":"חזור להתחלה","CONTINUE_WATCHING":"המשך צפייה","ALL":"הכל","SECONDS":"שניות","ON":"דלוק","OFF":"כבוי","RELOAD":"טעינה מחדש","EDIT_URL":"ערוך קישור","URL":"URL","NONE":"כלום","EMBEDDED":"מוטבע","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"שינוי מכשירים","REMOTE_VIDEOS":"וידאו","REMOTE_ADJUST_TIMING":"שינוי תזמון","REMOTE_ADJUST_SIZE":"שינוי גודל","REMOTE_COULD_NOT_BE_LOADED":"שליטה מרחוק לא אפשרית","REMOTE_RETRY":"לנסות שוב","TORRENT_PROFILE_DEFAULT":"ברירת המחדל","TORRENT_PROFILE_SOFT":"עדין","TORRENT_PROFILE_FAST":"מהיר","TORRENT_PROFILE_ULTRA_FAST":"מהיר במיוחד","MB_S":"MB/s","FAQ_001_H1":"?Stremio מה זה","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},44095:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"फ़िल्म","TYPE_series":"धारावाहिक","TYPE_tv":"टीवी चैनल","TYPE_channel":"चैनल","TYPE_other":"अन्य","TYPE_movie_PL":"फ़िल्म","TYPE_series_PL":"धारावाहिक","TYPE_tv_PL":"टी वी चैनल","TYPE_channel_PL":"चैनल","TYPE_other_PL":"अन्य","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"वीडियो","BACK":"पीछे","MORE":"अधिक","DONE":"किया हुआ","COPY":"प्रतिलिपि","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"डिस्कवर","Board":"तख़्ता","Library":"पुस्तकालय","My Library":"मेरा पुस्तकालय","Calendar":"पंचांग","NOTIFICATION_ONLINE":"अब आप ऑनलाइन हैं","NOTIFICATION_OFFLINE":"आप वर्तमान में ऑफ़लाइन हैं","INTERNET_CONNECTION":"नेटवर्क कनेक्शन","STORAGE_FULL_TITLE":"चेतावनी: भंडारण पूर्ण!","STORAGE_FULL_TEXT":"Stremio आपकी सेटिंग्स वरीयताओं या लॉगिन जानकारी को सहेजने में सक्षम नहीं होगा। फिर से शुरू करने या फिर से स्थापित करने पर विचार करें।","SEARCH":"तलाशी","SEARCH_NO_RESULTS":"कोई परिणाम नहीं मिले थे","SEARCH_EXPLANATION_CONTENT":"फिल्में श्रृंखला यूट्यूब और टीवी चैनल खोजें","SEARCH_EXPLANATION_PEOPLE":"अभिनेता निदेशकों और लेखकों के लिए खोजें","SEARCH_PASTE_LINKS":"HTTP और चुंबक लिंक पेस्ट करें","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"पुस्तकालय में जोड़ें","REMOVE_FROM_LIB":"पुस्तकालय से निकालें","ADDED_TO_LIB":"पुस्तकालय में जोड़ा गया","REMOVED_FROM_LIB":"पुस्तकालय से हटा दिया गया","TRAILER":"ट्रेलर","WATCH_TRAILER":"ट्रेलर देखें","WATCH_NOW":"अब देखिए","SHOW":"प्रदर्शन","SHOW_MOVIE":"फिल्म दिखाओ","WATCH_RANDOM":"यादृच्छिक","IMDB_RATING":"आईएमडीबी रेटिंग","YEAR":"वर्ष","DIRECTOR":"निर्देशक","WRITER":"लेखक","LEAD_ACTORS":"मुख्य अभिनेता","CAST":"ढालना","CREW":"कर्मी दल","SHOW_MORE_CAST":"और दिखाओ","AIRED":"प्रसारित","SEASONS":"मौसम के","GENRE":"शैली","GENRE_ALL":"All genres","CATALOG":"सूची","SUMMARY":"सारांश","SHOW_MORE":"और दिखाओ","SIMILAR":"एक जैसा","UPCOMING":"आगामी","TBA":"TBA","ENDED":"समाप्त","DURATION":"अवधि","FEATURED":"विशेष रुप से प्रदर्शित","METADATA":"मेटाडाटा","CATEGORY":"वर्ग","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"वीडियो खोजें","SEARCH_PLACEHOLDER":"यूआरएल खोजें या पेस्ट करें","ADDON":"ऐड ऑन","ADDONS":"ऐड-ऑन","OFFICIAL":"अधिकारी","ADDONS_OFFICIAL":"आधिकारिक स्ट्रीमियो एडॉन्स","ADDONS_POPULAR":"आपके क्षेत्र में लोकप्रिय","ADDON_FREE":"नि: शुल्क","ADDON_PEERED":"झाँका","ADDON_SUBSCRIPTION":"अंशदान","ADDON_STREAM_GEORESTRICTED":"आपके क्षेत्र में उपलब्ध नहीं है","ADDON_STREAM_OFFLINECACHE":"ऑफ़लाइन कैश","ADDON_STREAM_LOCALFILE":"स्थानीय संचिका","SHARE_ADDON":"शेयर एडन","AVAILABLE_STREAMS":"उपलब्ध धाराएं","NO_STREAM":"कोई धारा नहीं मिली","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"अधिक धाराओं के लिए कृपया अधिक addons स्थापित करें","STREAM_NOT_SUPPORTED":"चयनित स्ट्रीम इस मंच पर समर्थित नहीं है।","ADDON_CATALOGUE":"सभी एडॉन्स दिखाएं »","ADDON_CATALOGUE_MORE":"Addons स्थापित करें","REPO_ADDED":"रिपोजिटरी ने कहा","ADDON_REPO_EXIST_ERR":"यह एडॉन्स संग्रह पहले से मौजूद है","ADDON_REPO_ERR":"संग्रह जोड़ने के दौरान त्रुटि हुई","ADDON_ADD_ERR":"Addon जोड़ने के दौरान त्रुटि हुई","ERR_ADDON_PROTECTED":"Addon को अनइंस्टॉल नहीं कर सकता यह संरक्षित है","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"कुछ गलत हो गया - प्रमाणीकरण विफल हो सकता है","ERR_NOT_COLLECTION_URL":"एक संग्रह यूआरएल नहीं","ERR_NOT_ADDON_URL":"एक वैध एडन यूआरएल नहीं","ERR_DETECTFROMURL":"इस यूआरएल से एडन / संग्रह नहीं मिल रहा है","ADDON_DUPLICATE_WARNING":"चेतावनी: डुप्लिकेट एडन","ADDON_COLLECTION_SET_FAILED":"अपने खाते में स्थापित एडॉन्स को सिंक करना विफल रहा","SETTINGS_DATA_EXPORT":"निर्यात उपयोगकर्ता डेटा","ADDON_PULL_FAILED":"अपने खाते से स्थापित एडॉन्स को सिंक करना विफल रहा","REFRESH_ON_CLICK":"पुनः प्रयास करने के लिए क्लिक करें","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"फिल्म अभी भी सिनेमाघरों में","WATCH_IN_CINEMA":"इसे अपने स्थानीय सिनेमा में देखें","IN_THEATER":"सिनेमा में","GET_TICKETS":"टिकिट पाएं","UPCOMING_EPISODE":"आगामी एपिसोड","UPCOMING_EPISODE_MESSAGE":"इस प्रकरण पर प्रसारित किया जाएगा","MISSING_DATE_EPISODE":"गायब एपिसोड तिथि","MISSING_DATE_EPISODE_MESSAGE":"यह एपिसोड अभी तक प्रसारित नहीं हो सकता है","CHANNEL_NOT_SCRAPED":"यह चैनल अभी तक स्क्रैप नहीं है। <br> कृपया कुछ मिनटों में वापस आएं।","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"इसे उपलब्ध होने के बाद अधिसूचित होने के लिए इसे अपनी लाइब्रेरी में जोड़ें।","GET_NOTIFIED_WHEN_AVAILABLE":"एक बार उपलब्ध होने के बाद आपको सूचित किया जाएगा।","WARNING_STREAMING_SERVER":"चेतावनी: स्थानीय स्ट्रीमिंग सर्वर नहीं मिला। स्थानीय फाइलों से स्ट्रीमिंग यूट्यूब और बिटटोरेंट उपलब्ध नहीं होंगे।","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"चेतावनी: इस वीडियो को आपके हार्डवेयर द्वारा समर्थित नहीं किया जा सकता है। ध्यान रखें प्लेबैक धीमा हो सकता है।","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"ओह खिलाड़ी त्रुटि","PLAYER_ERROR_LOOKSLIKE":"ऐसा लग रहा है","PLAYER_ORIENTATION":"खिलाड़ी अभिविन्यास","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"बंद","PLAYER_ORIENTATION_SENSOR_SHORT":"सेंसर","PLAYER_ORIENTATION_LANDSCAPE":"प्लेयर ओरिएंटेशन लैंडस्केप पर लॉक किया गया","PLAYER_ORIENTATION_SENSOR":"प्लेयर अभिविन्यास स्वचालित (सेंसर)","PLAYER_PLAYBACK_SPEED":"प्लेबैक गति","PLAYER_PLAYBACK_ERROR":"प्लेबैक त्रुटि कृपया पुनः प्रयास करें","PLAYER_PLAYBACK_ERROR_UNKNOWN":"अज्ञात त्रुटि","PLAYER_PLAYBACK_ERROR_DEFAULT":"क्षमा करें इस वीडियो को {{PRODUCTNAME}} द्वारा नहीं खेला जा सकता है।","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"रहना","PLAYER_NEXT_VIDEO_TITLE":"आगे आ रहा है","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"खारिज","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"अब देखिए","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"से स्ट्रीमिंग","CASTING_TO":"कास्टिंग करना","NETWORK_STATUS":"नेटवर्क की स्थिति","STREAM_SPEED":"धारा गति:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"सहकर्मी सूचना","PEERS_ACTIVE":"सक्रिय:","PEERS_CONNECTED":"जुड़े हुए:","PEERS_WAITING":"इंतज़ार कर रही:","TRANSCODING_WARNING":"चेतावनी: ट्रांसकोडिंग वीडियो।","STREAM_LOADING":"लोड हो रहा है...","PLAYING_LOCAL":"स्थानीय फ़ाइल से बजाना","PLAYING_CACHE":"कैश से बजाना","WRONG_SUBS":"गलत उपशीर्षक?","ERR_SUBS_LOADING_TITLE":"उपशीर्षक लोड करने में त्रुटि","ERR_SUBS_LOADING":"असफल उपशीर्षक लोड हो रहा है: यह आपके द्वारा उपयोग किए जा रहे एडन के साथ या आपके नेटवर्क कनेक्शन के साथ एक समस्या हो सकती है","WARN_FOLLOWING_SUB_ADDONS_FAILED":"निम्नलिखित उपशीर्षक Addons विफल","ERR_CASTING_UPDATE_TITLE":"कास्टिंग डिवाइस जानकारी अपडेट नहीं कर सका: स्ट्रीमिंग सर्वर ऑफ़लाइन हो सकता है","CHOOSE_DEVICE":"देखने के लिए एक उपकरण चुनें","NO_CAST_DEVICES":"कोई कास्टिंग डिवाइस उपलब्ध नहीं है।","NO_SETTINGS":"कोई सेटिंग उपलब्ध नहीं है।","NO_OPTIONS":"No options available","PHONE_TABLET":"फोन / टैबलेट","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"उपशीर्षक","SUBTITLES_CHANGE":"के लिए उपशीर्षक बदलें","SUBTITLES_CHANGE_NONE":"इस भाषा के लिए कोई अन्य उपशीर्षक खेद नहीं है।","SUBTITLES_CHANGE_ACIVE":"वर्तमान में उपशीर्षक & # 35; {{subtitlesdialog.ActiveDX + 1}} सक्रिय हैं। उपशीर्षक सक्रिय करने के लिए जारी रखें & # 35; {{subtitlesdialog.pickedIDX + 1}}।","SUBTITLES_OR":"वैकल्पिक","SUBTITLES_ADJUST_DELAY":"उपशीर्षक देरी समायोजित करें:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"या समायोजित करने के लिए खेलते समय <span> g </ span> / <span> h </ span> कुंजी का उपयोग करें।","SUBTITLES_ADJUST_DELAY_TIP":"युक्ति: आप समायोजित करने के दौरान <span> g </ span> / <span> h </ span> कुंजी का उपयोग कर सकते हैं।","SUBTITLES_DELAY":"उपशीर्षक देरी:","SUBTITLES_LOADING":"उपशीर्षक लोड हो रहा है ...","SUBTITLES_UNAVAILABLE":"कोई बाहरी उपशीर्षक उपलब्ध नहीं है","SUBTITLES_DISABLED":"विकलांग","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"मौसम","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"प्रकरण","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"तरह","SORT_BY":"इसके अनुसार क्रमबद्ध करें","FILTER":"फिल्टर","SORT_TRENDING":"ट्रेंडिंग","SORT_RECENT":"हालिया","SORT_ALPHABET":"ए-जेड","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"रेटिंग","SORT_WATCHED":"देखा","SORT_YEAR":"वर्ष","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"आपके लिए नया","New Episodes":"नए एपिसोड","New Videos":"नए वीडियो","Recommendations":"सिफारिशों","LIBRARY_RESUME":"फिर शुरू करना","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"विवरण","LIBRARY_RESUME_DISMISS":"खारिज","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"विशेष रुप से प्रदर्शित","DISCOVER_TOP":"शीर्ष","DISCOVER_OSCAR":"ऑस्कर विजेता","DISCOVER_WARNING_TITLE":"उफ़!","DISCOVER_EMPTY_CATALOG":"यह एडन खाली सामग्री लौटा दी।","DISCOVER_ADULT_WARNING":"सामग्री केवल वयस्कों के लिए दिखाई दे रही है। क्या आप 18+ हैं?","DISCOVER_NOADDON_WARNING":"चेतावनी: इस प्रकार के लिए कोई स्ट्रैमियो एडन सक्रिय नहीं है। सहेजी गई वस्तुओं को यहां कुछ भी अपडेट नहीं किया जाएगा।","DISCOVER_LOAD_ERR":"सामग्री ने त्रुटि लोड नहीं की।","DISCOVER_ADDON_UNINSTALLED":"यह सामग्री अब उपलब्ध नहीं है कि आपने एडन को अन-इंस्टॉल किया हो सकता है।","UNINSTALL_THIS_ADDON":"इस एडन को अनइंस्टॉल करें","ERR_ADDON_NOT_INSTALLED":"यह एडन स्थापित नहीं है। अब स्थापित करें?","DETAIL_RECEIVE_NOTIF_SERIES":"नए एपिसोड के लिए सूचनाएं प्राप्त करें","DETAIL_RECEIVE_NOTIF_VIDEOS":"नए वीडियो के लिए सूचनाएं प्राप्त करें","SIDEBAR_SHOW_STREAMS":"स्ट्रीम दिखाएं","RELAUNCH":"अब पुनः प्रक्षेपण!","UPGRADE":"नया संस्करण उपलब्ध है! नवीनतम STREMIO संस्करण में अपग्रेड करें","RELOAD_UI":"उपयोगकर्ता इंटरफ़ेस को पुनः लोड करें","MANUAL_UPDATE_TITLE":"अपने STREMIO संस्करण को अपडेट करें","MANUAL_UPDATE_LINE1":"आप स्ट्रैमियो का पुराना संस्करण चला रहे हैं जो अत्यधिक अपरिचित है।","MANUAL_UPDATE_LINE2":"कृपया जल्द से जल्द अपडेट करें।","BUTTON_UPDATE_LATTER":"अभी नहीं","BUTTON_UPDATE_NOW":"अद्यतन","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"अनाम उपयोगकर्ता","DONT_HAVE_ACC":"खाता नहीं है?","HAVE_ACC":"क्या आपके पास पहले से एक खाता मौजूद है?","PASSWORD":"कुंजिका","PASSWORD_CONFIRM":"पासवर्ड की पुष्टि कीजिये","EMAIL":"ईमेल","FB_LOGIN":"फेसबुक के साथ जारी रखें","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"आपकी अनुमति के बिना कुछ भी साझा नहीं किया जाता है","FB_NOPOST":"हम आपकी ओर से कुछ भी पोस्ट नहीं करेंगे","OR":"या","I_ACCEPT":"मैं स्वीकारता हूँ","I_ACCEPT_BY_CLICKING":"उपरोक्त बटन पर क्लिक करके मैं प्रमाणित करता हूं कि मैं स्वीकार करता हूं","TOS":"नियम और शर्तें","MUST_ACCEPT_TERMS":"आपको शर्तों को स्वीकार करना होगा","PASSWORDS_NOMATCH":"पासवर्ड मेल नहीं खाते","SIGN_UP":"साइन अप करें","SIGN_UP_EMAIL":"ईमेल के लिए साइन इन करें","CLICK_TO_SIGN_UP":"साइन अप करने के लिए यहां क्लिक करें।","LOG_IN":"लॉग इन करें","LOG_OUT":"लॉग आउट","EXIT_FULLSCREEN":"पूर्णस्क्रीन मोड से बाहर निकलें","ENTER_FULLSCREEN":"पूर्णस्क्रीन मोड दर्ज करें","PLAY_URL_MAGNET_LINK":"यूआरएल / चुंबक लिंक खेलें","HELP_FEEDBACK":"सहायता और प्रतिक्रिया","TERMS_OF_SERVICE":"सेवा की शर्तें","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"STREMIO के बारे में","USER_PANEL":"उपयोगकर्ता पैनल","LOGIN_LABEL":"Login","GUEST_LOGIN":"मेहमान लॉगइन करें","GUEST_LOGIN_NOTICE":"अतिथि लॉगिन की अनुशंसा नहीं की जाती है। एक नियमित लॉगिन का उपयोग करने से आपकी लाइब्रेरी को सिंक करने के लिए STREMIO को पसंदीदा श्रृंखला / चैनलों के लिए अधिसूचनाएं प्राप्त होती हैं। क्या आप सुनिश्चित रूप से आगे बढ़ना चाहते हैं?","GUEST_LOGIN_NOTICE_2":"अतिथि लॉगिन की अनुशंसा नहीं की जाती है - आपके पास समन्वयित पुस्तकालय और बोर्ड अधिसूचनाएं नहीं होंगी जो महत्वपूर्ण स्ट्रमियो विशेषताएं हैं। क्या आप सुनिश्चित रूप से आगे बढ़ना चाहते हैं?","CLICK_HERE":"यहां क्लिक करें","WRONG_PASSWORD":"गलत ईमेल या पासवर्ड। मामले में आप अपना पासवर्ड भूल गए हैं","SET_A_PASS":"एक पासवर्ड सेट करें","RESET_PASSWORD":"पासवर्ड रीसेट","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"पासवर्ड भूल गए?","EMAIL_USED_WITH_FB":"इस ईमेल का उपयोग फेसबुक लॉगिन के साथ किया गया था।","INVALID_EMAIL":"कृपया एक वैध ई - मेल एड्रेस डालें","INVALID_PASSWORD":"कृपया एक वैध पासवर्ड दर्ज करें","CONN_ERR":"कनेक्शन त्रुटि - कृपया बाद में पुनः प्रयास करें। N NIf यह फायरवॉल / एंटी-वायरस सॉफ़्टवेयर (विशेष रूप से बिट डिडीफेंडर) को अक्षम करता है।","IMPORT_FROM_GUEST":"अपने अतिथि खाते से लाइब्रेरी आयात करें","RECEIVE_UPDATES_EMAIL":"STREMIO से अपने ईमेल पर अपडेट प्राप्त करें","LOGIN_FAILED":"लॉगिन विफल।","SIGNUP_FAILED":"साइन अप करने में विफल रहा।","SEARCH_FAILED":"खोज विफल","EMAIL_USED":"यह ईमेल पहले से प्रयोग में है।","WAITING_FB_LOGIN":"फेसबुक के साथ लॉग इन करना ...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"बाहरी खिलाड़ी में खेलें","EXTERNAL_REMEMBER_PLAYER":"क्या आप अपनी पसंद को याद रखना चाहते हैं","EXTERNAL_ALWAYS_PLAY":"हां","EXTERNAL_ONLY_ONCE":"नहीं","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"हमें बताएं कि आपको क्या पसंद है","INTRO_TASTE_LONG":"हमें बताएं कि आप क्या देखना चाहते हैं","INTRO_TASTE_PICK":"{{HUSTERSREMAINAININININING}} हितों को चुनें","INTRO_TASTE_PICK_MORE":"{{REITAINSREMAINAINAING}} अधिक हितों को चुनें","INTRO_TASTE_HELP_US":"हमारे बारे में अधिक जानने में हमारी सहायता करें।","INTRO_TASTE_CHOOSE_THESE":"इनमें से कुछ चुनें:","INTRO_TASTE_CHOOSE_MIN":"कम से कम 3 श्रेणियां चुनें","INTRO_TASTE_CHOOSE_MIN_ERR":"आपको कम से कम 3 श्रेणियां चुननी होंगी!","INTRO_TASTE_LIFESTYLE":"बॉलीवुड","INTRO_TASTE_SPORTS":"खेल","INTRO_TASTE_FOOD_HEALTH":"भोजन और स्वास्थ्य","INTRO_TASTE_BEAUTY_FASHION":"सौंदर्य और फैशन","INTRO_TASTE_NEWS":"समाचार","INTRO_TASTE_GAMING":"जुआ","INTRO_TASTE_SCIENCE_EDU":"विज्ञान की शिक्षा","INTRO_TASTE_MUSIC":"संगीत","INTRO_TASTE_TRAVEL":"यात्रा","INTRO_TASTE_LATE_NIGHT":"देर रात शो","INTRO_TASTE_REALITY":"वास्तविकता","INTRO_TASTE_COMEDY":"कॉमेडी","INTRO_TASTE_DIY":"DIY कैसे करें","INTRO_TASTE_TECH":"तकनीक","INTRO_TASTE_CINEMA":"सिनेमा","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"चयनित एडन इस मंच पर समर्थित नहीं है।","ADDON_DISCLAIMER":"तीसरे पक्ष के एडॉन्स का उपयोग हमेशा आपकी जिम्मेदारी और आपके द्वारा स्थित क्षेत्राधिकार के शासकीय कानून के अधीन होंगे।","ADDON_ACTIVATE":"इस एडन को सक्रिय करें?","ADDON_REPO_ADD":"एडन संग्रह यूआरएल","ADDON_ADD":"जोड़ें","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"नया क्या है","BUTTON_CONTINUE":"जारी रखें","BUTTON_ACTIVATE":"सक्रिय","BUTTON_ACTIVATED":"सक्रिय","BUTTON_CANCEL":"रद्द करें","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"सभी खारिज","BUTTON_VIEW_ALL":"सभी देखें","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"आपकी पुस्तकालय खाली दिखता है। पता लगाएं कि यह कितना उपयोगी है :)","HOW_START":"यहां बताया गया है कि आप कैसे शुरू कर सकते हैं:","LIB_EMPTY_CAL":"आपका कैलेंडर आपकी लाइब्रेरी में श्रृंखला दिखाता है।","HOW_START_CAL":"यहां बताया गया है कि आप श्रृंखला कैसे जोड़ सकते हैं:","LIB_EMPTY_BOARD":"बोर्ड नोटिफिकेशन दिखाता है & amp; आपकी पुस्तकालय से संबंधित सिफारिशें।","HOW_START_BOARD_WAIT":"कृपया अपनी लाइब्रेरी में कुछ श्रृंखला या चैनल जोड़ें संसाधित करने के लिए हमें कुछ मिनट दें :)","HOW_START_BOARD":"यहां बताया गया है कि आप श्रृंखला कैसे जोड़ सकते हैं & amp; इसके लिए फिल्में:","IMPORT_FB":"उन आयातित चीजें जिन्हें आप <span> फेसबुक </ span> से पसंद करते हैं","IMPORT_TRAKT":"<Span> trakt </ span> से अपनी मीडिया लाइब्रेरी आयात करें","IMPORT_DISCOVER":"<Span> डिस्कवर </ span> से दिलचस्प सामग्री खोजें","IMPORT_DISK":"अपने <span> स्थानीय डिस्क </ span> पर आपके पास फिल्में या शो आयात करें","PLEASE_CREATE_ACC":"लाइब्रेरी सिंक और एएमपी सक्षम करने के लिए कृपया <u> खाता बनाएं </ u>; तख़्ता।","IMPORT_DISCOVER_SIGNUP":"साइन अप करें और <span> डिस्कवर </ span> से दिलचस्प सामग्री खोजें","IMPORT_DISK_SIGNUP":"साइन अप करें और फिल्में आयात करें या आपके <Span> स्थानीय डिस्क </ span> पर दिखाएं","LIB_EMPTY_CLOUD":"बादल पुस्तकालय","LIB_EMPTY_CLOUD_DESC":"व्यक्तिगत क्लाउड लाइब्रेरी सभी उपकरणों पर समन्वयित","LIB_EMPTY_EARLY":"जल्दी उठ कर काम शुरू करने वाला व्यक्ति","LIB_EMPTY_EARLY_DESC":"नए एपिसोड के लिए सूचनाएं प्राप्त करें","LIB_EMPTY_PERSONAL":"निजी","LIB_EMPTY_PERSONAL_DESC":"व्यक्तिगत सिफारिशें प्राप्त करें","LIB_EMPTY_CALENDAR_DESC":"अपने व्यक्तिगत देखने के कैलेंडर को शेड्यूल करें","LIB_EMPTY_ALL":"इन सभी को पाने के लिए साइन अप करें:","LIB_EMPTY_BEST":"STREMIO का सर्वश्रेष्ठ पाने के लिए साइन अप करें","LIB_EMPTY_OTHER":"कैलेंडर और अन्य शानदार सुविधाओं को सक्षम करने के लिए साइन अप करें","CALENDAR_ADDED":"Stremio कैलेंडर को आपके डिफ़ॉल्ट डेस्कटॉप कैलेंडर में जोड़ा गया है।","CALENDAR_ADDED_MSG":"यदि यह काम नहीं करता है तो कृपया अपने कैलेंडर एप्लिकेशन को मैन्युअल रूप से इस यूआरएल को जोड़ें","TRAKT_EXPIRED":"ट्रैक्ट प्रमाणीकरण समाप्त हो गया कृपया सेटिंग्स पर जाएं और पुन: प्रमाणित करें","TRAKT_REQUIRES_LOGIN":"ट्रैक्ट त्रुटि","TRAKT_REQUIRES_LOGIN_MSG":"आपको लॉगिन करने की आवश्यकता है","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"समायोजन","SETTINGS_NAV_GENERAL":"आम","SETTINGS_NAV_PLAYER":"खिलाड़ी","SETTINGS_NAV_STREAMING":"स्ट्रीमिंग","SETTINGS_NAV_SHORTCUTS":"शॉर्टकट","SETTINGS_SHORTCUT_RELOAD_APP":"रीलोड ऐप","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"बाहर निकलें / वापस जाएं","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"पूर्णस्क्रीन चालू करें","SETTINGS_SHORTCUT_SHOW_CONTROLS":"नियंत्रण दिखाएं","SETTINGS_SHORTCUT_PLAY_PAUSE":"चालू करे / रोके","SETTINGS_SHORTCUT_VOLUME_UP":"आवाज बढ़ाएं","SETTINGS_SHORTCUT_VOLUME_DOWN":"आवाज कम करे","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"उपशीर्षक आकार बढ़ाएँ","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"उपशीर्षक आकार कम करे","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"उपशीर्षक विलंब बढ़ाएँ","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"उपशीर्षक विलंब कम करे","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"स्टार्टअप शुरू","SETTINGS_VLC_DEFAULT":"वीएलसी के साथ खेलें","SETTINGS_UI_LANGUAGE":"यूआई भाषा","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"कुंजी से बाहर निकलें पूर्ण स्क्रीन से बाहर निकलें","SETTINGS_GAMEPAD":"गेमपैड समर्थन सक्षम करें","SETTINGS_CLOSE_WINDOW":"विंडो बंद होने पर ऐप बंद करें","SETTINGS_SUBTITLES_LANGUAGE":"डिफ़ॉल्ट उपशीर्षक भाषा","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"डिफ़ॉल्ट उपशीर्षक आकार","SETTINGS_SUBTITLES_BACKGROUND":"उपशीर्षक पृष्ठभूमि","SETTINGS_SUBTITLES_COLOR":"उपशीर्षक रंग","SETTINGS_SUBTITLES_COLOR_OUTLINE":"उपशीर्षक रूपरेखा रंग","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"उपशीर्षक पृष्ठभूमि रंग","SETTINGS_SEEK_KEY":"तीर कुंजियाँ समय तलाशें","SETTINGS_SEEK_KEY_SHIFT":"तीर कुंजी समय की तलाश करते हैं जब Shift कुंजी आयोजित की जाती है","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"ऑटो-प्ले अगला एपिसोड","SETTINGS_NEXT_VIDEO":"अगले एपिसोड शुरू करने के लिए अधिसूचना दिखाएं","SETTINGS_NEXT_VIDEO_TRIGGER":"इसके लिए अगला एपिसोड अधिसूचना दिखाएं:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"खेलने से पहले स्वत: आकार बदलें","SETTINGS_OVERRIDE_SERVER":"स्ट्रीमिंग सर्वर URL (उन्नत) को ओवरराइड करें","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"स्ट्रीमिंग सर्वर यूआरएल:","SETTINGS_SERVER_AVAILABLE":"स्ट्रीमिंग सर्वर उपलब्ध है।","SETTINGS_SERVER_UNAVAILABLE":"स्ट्रीमिंग सर्वर उपलब्ध नहीं है।","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"स्ट्रीमिंग HTTPS एंडपॉइंट:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"हमेशा नवीनतम बीटा का उपयोग करें","SETTINGS_IMPORT_FB":"फेसबुक से आयात करें","SETTINGS_IMPORT_DISK":"स्थानीय डिस्क से आयात करें","SETTINGS_IMPORT_TRAKT":"ट्रैक्ट से आयात","SETTINGS_PAUSE_MINIMIZED":"कम से कम प्लेबैक रोकें","SETTINGS_HWDEC":"हार्डवेयर-त्वरित डिकोडिंग","SETTINGS_BACKGROUND":"पृष्ठभूमि प्लेबैक","SETTINGS_SUBSCRIBE_CALENDAR":"कैलेंडर की सदस्यता लें","SETTINGS_REQ_EXPORT":"डेटा निर्यात का अनुरोध करें","SETTINGS_ACC_DELETE":"खाता हटाने का अनुरोध करें","SETTINGS_CHANGE_PASSWORD":"पासवर्ड बदलें","SETTINGS_TOS":"सेवा की शर्तें","SETTINGS_SUPPORT":"सहयोग टीम से संपर्क करें","SETTING_LANGUAGE":"भाषा","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"ट्रैक्ट स्क्रोबिंग","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Trakt.tv से लॉग आउट करें","SETTINGS_TRAKT_LOGOUT_2":"Trakt से लॉग आउट करें","SETTINGS_SCAN_FOR_REMOTE":"रिमोट खोलने के लिए क्यूआर कोड स्कैन करें","SETTINGS_DESKTOP_NOTIFICATIONS":"डेस्कटॉप अधिसूचनाएं","SETTINGS_DATA_SAVER":"आंकड़ा बचतकर्ता","SETTINGS_LANGUAGE_INTERFACE":"इंटरफेस","SETTINGS_LANGUAGE_SUBS":"डिफ़ॉल्ट उपशीर्षक","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"ऑटोसेल ऑडियो ट्रैक","SETTINGS_DEFAULT_AUDIO_TRACK":"डिफ़ॉल्ट ऑडियो ट्रैक","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"कारण","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"संस्करण","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"एक अलग विंडो में प्लेयर लॉन्च (उन्नत)","SETTINGS_PLAY_IN_EXTERNAL":"हमेशा बाहरी खिलाड़ी में वीडियो शुरू करें","SETTINGS_STORAGE_BUTTON":"स्थानीय भंडारण साफ़ करें","SETTINGS_STORAGE_MODAL_TITLE":"क्या आपको यकीन है ?","SETTINGS_STORAGE_MODAL_MESSAGE":"यह स्थानीय भंडारण को साफ़ करेगा और आपको लॉग आउट करेगा।","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"स्वचालित","SETTINGS_HW_DISABLED":"बंद","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"ऑडियो","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"ब्लैक बैकग्राउंड कलर का इस्तेमाल करें","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"आकार","SUBSPICKER_DELAY":"विलंब","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"गोपनीयता नीति","MOBILE_CRASH_REPORTING":"क्रैश रिपोर्टिंग","MOBILE_ZOOM_TO_FILL":"स्क्रीन भरने के लिए ज़ूम करें","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"कम बैटरी पर चलाएं","MOBILE_RUN_FOREGROUND":"अग्रभूमि सेवा के रूप में चलाएँ","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"ऑनलाइन","MOBILE_SERVER_OFFLINE":"ऑफलाइन","MOBILE_QR_EXPIRES":"क्यूआर कोड की समय सीमा समाप्त होगि ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"ऊपर क्यूआर कोड स्कैन करें या यहां जाएं ","MOBILE_LINK_ACCOUNT":"खाते लिंक करें","MOBILE_SPEEDPICKER_CANCEL":"रद्द करना","MOBILE_SPEEDPICKER_LABEL":"प्लेबैक स्पीड का चयन करें","MOBILE_EMPTY_LIBRARY":"आपकी लाइब्रेरी खाली है","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"मैं स्ट्रेमियो से मार्केटिंग संचार प्राप्त करने के लिए सहमत हूं","QUIT":"छोड़ना","CONNECTED":"जुड़े हुए","AUTHENTICATE":"प्रमाणित","AUTHENTICATING":"Authenticating...","CACHING":"कैशिंग","SETTINGS_CACHING_DRIVE":"कैशिंग ड्राइव","ENABLE_LOCAL_FILES_ADDON":"स्थानीय फ़ाइलें Addon सक्षम करें (पुनरारंभ की आवश्यकता है)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"रिमोट एचटीटीपीएस कनेक्शन सक्षम करें","TORRENT_PROFILE":"टोरेंट प्रोफाइल","DATA_CACHING":"डेटा कैशिंग","MAGNET_PARSING":"एक चुंबक लिंक पार्सिंग","January":"जनवरी","February":"फ़रवरी","March":"जुलूस","April":"अप्रैल","May":"मई","June":"जून","July":"जुलाई","August":"अगस्त","September":"सितंबर","October":"अक्टूबर","November":"नवंबर","December":"दिसंबर","Monday":"सोमवार","Tuesday":"मंगलवार","Wednesday":"बुधवार","Thursday":"गुरूवार","Friday":"शुक्रवार","Saturday":"शनिवार","Sunday":"रविवार","Action":"कार्य","Comedy":"कॉमेडी","War":"युद्ध","Family":"परिवार","Animation":"एनीमेशन","Adventure":"साहसिक","Fantasy":"कल्पना","Crime":"अपराध","Mystery":"रहस्य","Romance":"रोमांस","Drama":"नाटक","Horror":"डरावनी","Thriller":"थ्रिलर","Sci-Fi":"विज्ञान-कथा","Music":"संगीत","Biography":"जीवनी","Documentary":"दस्तावेज़ी","Sport":"खेल","Musical":"संगीत","Western":"वेस्टर्न","Film-Noir":"फिल्म नोयर","News":"समाचार","History":"इतिहास","Game-Show":"गेम शो","Reality-TV":"रियलिटी टीवी","Talk-Show":"टॉक शो","Film & Entertainment":"फिल्म और मनोरंजन","Gaming":"जुआ","From TV":"टीवी से","Lifestyle":"बॉलीवुड","Science & Education":"विज्ञान की शिक्षा","Cooking & Health":"खाना पकाने और स्वास्थ्य","Beauty & Fashion":"सौंदर्य और फैशन","Sports":"खेल","News & Politics":"समाचार और राजनीति","How-to & DIY":"कैसे और DIY","Tech":"तकनीक","Automotive":"मोटर वाहन","Causes & Non-Profits":"कारण और गैर लाभ","Movies":"चलचित्र","Uk Live Tv":"यूके लाइव टीवी","Fashion":"पहनावा","Business News Radio":"बिजनेस न्यूज रेडियो","Business Tv":"बिजनेस टीवी","Cars & Auto":"कारें और ऑटो","Comedy Radio":"कॉमेडी रेडियो","Lifestyle Radio":"लाइफस्टाइल रेडियो","News Tv":"समाचार टीवी","Food And Wine":"भोजन और शराब","Latino Tv":"लैटिनो टीवी","Shopping Tv":"शॉपिंग टीवी","Religion":"धर्म","Kids":"बच्चे","Body & Soul":"शरीर आत्मा","Education":"शिक्षा","Indian Tv":"भारतीय टीवी","Extreme Sports":"खतरनाक खेल","Middle Eastern Tv":"मध्य पूर्वी टीवी","Celebrity Tv":"सेलिब्रिटी टीवी","Science Tv":"विज्ञान टीवी","Bikini babe":"बिकिनी बेब","Outdoors":"सड़क पर","German Tv":"जर्मन टीवी","French Tv":"फ्रेंच टीवी","Italian Tv":"इतालवी टीवी","Gamer Tv":"गेमर टीवी","Travel":"यात्रा","Asian Tv":"एशियाई टीवी","Entertainment":"मनोरंजन","News Radio":"समाचार रेडियो","Music Radio":"संगीत रेडियो","Language Learning":"भाषा सीखना","Science Radio":"विज्ञान रेडियो","Tech Radio":"टेक रेडियो","Science & Technology Vod":"विज्ञान और प्रौद्योगिकी वोड","new video":"नया वीडियो","new episode":"नई कड़ी","new movie":"नई फिल्म","recommended":"अनुशंसित","we recommend":"हम अनुशंसा करते हैं","offer of the day":"दिन की पेशकश","news":"समाचार","music video":"वीडियो संगीत","CTX_SHOW_HOTKEYS":"हॉटकी दिखाएं","CTX_DISMISS_NOTIF":"सूचनाओं को खारिज करना","CTX_DISMISS_ALL":"सभी खारिज","CTX_SHARE":"साझा करना","CTX_COPY_SHARE_LINK":"शेयर लिंक कॉपी करें","CTX_COPY_MAGNET_LINK":"चुंबक लिंक कॉपी करें","CTX_COPY_STREAM_LINK":"स्ट्रीम लिंक कॉपी करें","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"इस वीडियो को डाउनलोड करें","CTX_DOWNLOAD_SUBS":"उपशीर्षक डाउनलोड करें","CTX_VIEW_ON_YOUTUBE":"यूट्यूब पर देखें","CTX_SHOW":"प्रदर्शन","CTX_PLAY":"खेल","CTX_PLAY_IN":"खेलना","CTX_PLAY_ON":"खेलो","CTX_WATCH_ON":"यहां देखें","CTX_WATCH":"घड़ी","CTX_WATCHED":"देखे","CTX_WATCH_BEGINNING":"शुरुआत से देखो","CTX_WATCH_MOBILE":"एक मोबाइल डिवाइस पर देखें","CTX_REWIND":"शुरुआत करने के लिए रिवाइंड","CTX_MARK_WATCHED":"देखा के रूप में चिह्नित","CTX_MARK_NON_WATCHED":"गैर-देखा के रूप में चिह्नित करें","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"जैसा कि देखा गया है","CTX_UNMARK_REST":"गैर-देखे गए के रूप में बाकी को चिह्नित करें","CTX_RECEIVE_NEW_NOTIF":"नई सूचनाएं प्राप्त करें","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"कैश से निकालें","CTX_REMOVE_CACHE_EP":"कैश से एपिसोड निकालें","CTX_OPEN_CONTAINING":"धारक फोल्डर खोलें","CTX_REMOVE":"पुस्तकालय से निकालें","CTX_AVAILABLE_OFFLINE":"उपलब्ध ऑफ़लाइन","CTX_PAUSED":"रोके गए","CTX_ALWAYS_ON_TOP":"हमेशा ऊपर","CTX_FULLSCREEN":"पूर्ण स्क्रीन","CTX_WRONG_SUBS":"गलत उपशीर्षक?","CTX_REPORT_ISSUES":"रिपोर्ट मुद्दा","CTX_COPY":"प्रतिलिपि","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"पेस्ट करें","CTX_CLEAR":"स्पष्ट","CTX_CLEAR_RECENT_SEARCHES":"हाल की खोजों को साफ़ करें","HELLO_THERE":"नमस्ते","HOPE_YOU_ENJOY":"हमें आशा है कि आप STREMIO का आनंद लेंगे और यह पहले से ही आपके पसंदीदा ऐप्स में से एक है!","WHO_ARE_WE":"हम कौन हैं? हम इसके पीछे टीम हैं - दो लोग जो इस उत्पाद को बेहतर और बेहतर बनाने के लिए पिछले 3 वर्षों से हर दिन कड़ी मेहनत करते हैं।","SUPPORT_US":"यदि आप STREMIO का उपयोग करने में आनंद लेते हैं यदि STREMIO आपके लिए मूल्यवान है - शब्द फैलाएं!","SPREAD_THE_WORD":"अपने दोस्तों के साथ साझा करें अब स्ट्रैमियो के बारे में शब्द फैलाएं","MORE_PEOPLE":"जितना अधिक लोग STREMIO का उपयोग करेंगे उतना ही बेहतर होगा!","SEND_A_LINK":"या हमारी वेबसाइट पर एक लिंक भेजें","TIP_LOCALFILES":"युक्ति: आप स्थानीय वीडियो फ़ाइलों को स्ट्रैमियो में खींच और छोड़ सकते हैं","ADDON_MY":"मेरे एडॉन्स","ADDON_COMMUNITY":"सामुदायिक एडॉन्स","ADDON_OFFICIAL":"सरकारी Addons","ADDON_REPOS":"एडन संग्रह","ADDON_SEARCH":"खोज एडॉन्स","ADDON_INSTALL":"इंस्टॉल","ADDON_CONFIGURE":"कॉन्फ़िगर","ADDON_UNINSTALL":"स्थापना रद्द करें","ADDON_UPGRADE":"अपग्रेड","ADDON_INSTALLED":"स्थापित","ADDON_INSTALLED_MSG":"Addon स्थापित!","ADDON_UPGRADED_MSG":"एडन अपग्रेड किया गया!","ADDON_UNKNOWN":"अनजान","ADDON_ERR":"Addon इंस्टॉल त्रुटि!","ADDON_DISCONNECTED":"डिस्कनेक्ट किया गया","ADDON_APP_MISSING":"इस स्रोत के लिए ऐप स्थापित नहीं है। क्या आप इसे अभी इंस्टॉल करना चाहते हैं?","ADDON_APP_INSTALL":"अब स्थापित करें","ADDON_PAGE":"एडन पेज","ADDON_TOP_CONTENT":"इस एडन से सर्वश्रेष्ठ","ADDON_PROVIDES":"यह एडन आपको देगा:","ADDON_WATCH":"देखो # {प्रकार} अब!","ADDON_WATCH_FREE":"अभी मुफ्त में # {प्रकार} देखें!","ADDON_ADDON":"ऐड ऑन","ADDON_SUPPORTED_TYPES":"समर्थित प्रकार","ADDON_SUPPORTED_CATALOGS":"समर्थित कैटलॉग","ADDON_PROVIDES_DISCOVER":"अधिक # {प्रकार} डिस्कवर में","ADDON_PROVIDES_STREAMS":"# {प्रकार} देखें","ADDON_PROVIDES_STREAMS_FREE":"मुफ्त में # {प्रकार} देखें","ADDON_PROVIDES_SUBTITLES":"# {प्रकार के लिए उपशीर्षक","ADDON_CANTDETECT":"हम एक रनिंग स्ट्रैमियो का पता नहीं लगा सके ताकि हम यह पता लगा सकें कि आपने कौन से एडॉन्स इंस्टॉल किए हैं।","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"इस बारे में कोई जानकारी नहीं मिली","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"इसके बारे में जानकारी पुनर्प्राप्त करने में त्रुटि।","ERR_CANT_PARSE_MAGNET":"चुंबक पार्स करने में असमर्थ","ERR_NO_MAGNET_INFOHASH":"चुंबक के लिए कोई वैध जानकारी हैश","ERR_NO_FILE_PATH":"फ़ाइल के लिए एक पथ के बिना अनुरोध भेजने में असमर्थ","ERR_NO_TORRENT":"कोई धार नहीं लौटा","ERR_NO_SUPPORTERD_FILES":"कोई समर्थित फाइल नहीं मिली","ERR_OPENING_FILES":"बाहरी फाइलें नहीं खोल सका","ERR_INVALID_LINK":"अमान्य लिंक","ERR_REGISTERED_ONLY":"यह विकल्प केवल पंजीकृत उपयोगकर्ताओं के लिए उपलब्ध है।","ERR_CLIPBOARD":"क्लिपबोर्ड से नहीं खेल सकते हैं","ERR_CLIPBOARD_READ":"इस मंच पर क्लिपबोर्ड नहीं पढ़ सकते हैं","ERR_CLIPBOARD_GENERIC":"क्लिपबोर्ड में पाया जाने वाला कोई भी यूआरएल नहीं मिला। कृपया एक वीडियो को एक यूआरएल (उदा। एक चुंबक लिंक) कॉपी करें।","BOARD_CONTINUE_WATCHING":"देखना जारी रखें","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"फिल्में आपके लिए विशेष रूप से चुने गए। <br /> यह फिल्म नमूना सिफारिश है।","BOARD_EXPLANATION_EPISODES":"आपकी पसंदीदा श्रृंखला के नए एपिसोड यहां आते हैं। <br /> श्रृंखला जोड़ें आप अपनी लाइब्रेरी में अनुसरण करते हैं।","BOARD_EXPLANATION_VIDEOS":"आपके पसंदीदा चैनलों के नए एपिसोड यहां आते हैं। <br /> YouTube चैनल जोड़ें जो आप अपनी लाइब्रेरी में अनुसरण करते हैं।","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"तुरंत देखें","WEBSITE_SLOGAN_ALL":"एक ही स्थान पर आप सभी वीडियो सामग्री का आनंद लेते हैं","WEBSITE_SLOGAN_NEW":"आप सभी देख सकते हैं","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"से देखना","WEBSITE_DOWNLOAD":"अब डाउनलोड करो","WEBSITE_DOWNLOAD_FOR":"अभी डाउनलोड करें","WEBSITE_IS_DESKTOP":"Stremio एक डेस्कटॉप एप्लिकेशन है इस पृष्ठ को अपने पीसी पर खोलें और इसे डाउनलोड करें","WEBSITE_DESKTOP_DEMO_VID":"डेस्कटॉप डेमो","WEBSITE_PAGE_HOME":"घर","WEBSITE_PAGE_FEATURES":"विशेषताएं","WEBSITE_PAGE_ADDONS":"ऐड-ऑन","WEBSITE_PAGE_TECH":"प्रौद्योगिकी","WEBSITE_PAGE_CREATE_ADDON":"Addon बनाएँ","WEBSITE_PAGE_CONTACTS":"संपर्क","WEBSITE_PAGE_BLOG":"ब्लॉग","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"चलचित्र","WEBSITE_TYPE_series_PL":"श्रृंखला","WEBSITE_TYPE_tv":"लाइव टीवी","WEBSITE_TYPE_channel":"चैनल","WEBSITE_STREMIO_WHAT_IS":"Stremio एक ऐप है जो आपको व्यवस्थित करने और तुरंत अपने पसंदीदा वीडियो फिल्में टीवी श्रृंखला और टीवी चैनल देखने में मदद करता है।","WEBSITE_FEATURES_WATCH":"तुरंत एचडी में देखें","WEBSITE_FEATURES_WATCH_DETAIL":"क्लिक करें और अपने पसंदीदा मूवीज़ टीवी शो वीडियो और टीवी चैनल दिखाता है।","WEBSITE_FEATURES_SUBS":"स्वचालित उपशीर्षक","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio स्वचालित रूप से आपकी भाषा के लिए समन्वयित उपशीर्षक चुनता है।","WEBSITE_FEATURES_SUBS_LABEL":"आपका कदम प्रमुख।","WEBSITE_FEATURES_CAST":"टीवी और मोबाइल उपकरणों पर खेलते हैं","WEBSITE_FEATURES_CAST_DETAIL":"Appletv Chromecast स्मार्ट टीवी (डीएलएनए / यूपीएनपी) और मोबाइल उपकरणों के लिए कास्ट करें।","WEBSITE_LIB":"अपने सभी उपकरणों पर सिंक की गई अपनी व्यक्तिगत पुस्तकालय का आनंद लें","WEBSITE_LIB_COLLECT":"STREMIO से लीजिए","WEBSITE_LIB_IMPORT":"फेसबुक से आयात करें","WEBSITE_LIB_LOCAL":"अपने स्थानीय ड्राइव से जोड़ें","WEBSITE_BOARD":"बोर्ड - अधिसूचनाओं और सिफारिशों के लिए आपका एक-स्टॉप प्लेस","WEBSITE_BOARD_RECOMMEND":"अनुशंसित टीवी शो","WEBSITE_BOARD_TRENDING":"ट्रेंडिंग फिल्म","WEBSITE_BOARD_NEW":"नया वीडियो","WEBSITE_BOARD_EPISODE":"नई कड़ी","WEBSITE_BOARD_1":"देखने के लिए कुछ दिलचस्प खोज रहे हैं? अपने स्वाद के आधार पर सिफारिशें प्राप्त करें!","WEBSITE_BOARD_2":"अधिसूचित हो जाएं जब आपके पसंदीदा टीवी शो या यूट्यूब चैनल का एक नया एपिसोड बाहर है!","WEBSITE_BOARD_YOUTUBE":"YouTube चैनलों के नए वीडियो","WEBSITE_BOARD_EPISODES":"श्रृंखला के नए एपिसोड आप अनुसरण करते हैं","WEBSITE_ADDONS":"सामग्री एडॉन्स","WEBSITE_TECH_DETAIL":"हम लव टेक्नोलॉजी हम पागल विज्ञान से प्यार करते हैं! NStremio निम्नलिखित ओपन सोर्स टेक्नोलॉजीज का उपयोग कर रहा है:","WEBSITE_TECH_WCJS":"WebChimera.js STREMIO को अच्छे प्रदर्शन के साथ किसी भी वीडियो प्रारूप को चलाने की अनुमति देता है।","WEBSITE_TECH_WCJS_EXTRA":"हम कोर प्रोजेक्ट योगदानकर्ता हैं","WEBSITE_TECH_ELECTRON":"इलेक्ट्रॉन के साथ स्ट्रैमियो बनाने के लिए एक अभिनव मंच प्रदान करता है।","WEBSITE_TECH_ELECTRON_EXTRA":"हम परियोजना योगदानकर्ता हैं","WEBSITE_TECH_LINVODB":"एक डेटाबेस तकनीक जो सुनिश्चित करती है कि आपका डेटा व्यवस्थित हो और कहीं भी आपके पास उपलब्ध हो।","WEBSITE_TECH_LINVODB_EXTRA":"इन-हाउस टेक्नोलॉजी","WEBSITE_CREATE_ADDON":"अपना Addon बनाएँ","WEBSITE_CREATE_ADDON_DETAIL":"क्या आपके पास वीडियो सामग्री प्रदान करने वाली सेवा है? हम आपको अपने एडन बनाकर STREMIO की सुविधाओं से लाभान्वित होने में मदद करेंगे।","WEBSITE_CREATE_ADDON_BENEFITS":"स्ट्रैमियो के लिए एक एडन बनाने के लाभ","WEBSITE_P2P_BEAUTY":"पीयर-टू-पीयर स्ट्रीमिंग की सुंदरता","WEBSITE_P2P_1":"मांग या लाइव स्ट्रीमिंग पर विश्वसनीय और किफायती पूर्ण एचडी / 4 के वीडियो","WEBSITE_P2P_2":"वितरण मंच महान उपयोगकर्ता अनुभव प्रदान करते हैं","WEBSITE_P2P_3":"हम आपकी सटीक जरूरतों को पूरा करने वाले एडन को बनाएंगे","WEBSITE_P2P_CONTACT":"इच्छुक? आपका स्वागत है <a href=\'mailto:office@stremio.com\'> हमसे संपर्क करें </a>।","WEBSITE_P2P_CONTACT_EXTRA":"हमें आपकी सामग्री को स्ट्रैमियो के साथ एकीकृत करने में मदद करने में प्रसन्नता होगी!","WEBSITE_P2P":"एक बार थोड़ी देर में ऐसी तकनीक आती है जो गेम का नाम बदलता है। हमने अपने पीयर-टू-पीयर (पी 2 पी) वीडियो स्ट्रीमिंग इंजन के निर्माण में बहुत समय और प्रयास का निवेश किया जो किसी भी उपयोग केस के साथ अनुकूलित करने के लिए महान प्रदर्शन और बहुमुखी प्रतिभा प्रदान करता है। N Drm-सक्षम पी 2 पी वीडियो के लिए मांग या लाइव स्ट्रीमिंग के लिए हमसे संपर्क करें।","WEBSITE_THOUGHTS":"विचार हम साझा करते हैं:","WEBSITE_SPREAD":"स्ट्रैमियो के बारे में शब्द फैलाएं:","WEBSITE_CONTACT":"हमसे संपर्क करें हम आपसे सुनकर खुश होंगे!","WEBSITE_OPENSOURCE":"हमारे ओपन सोर्स प्रोजेक्ट्स के लिए हमारे पास जाते हैं","WEBSITE_BITCOIN":"बिटकॉइन दान करें:","WEBSITE_FAQ":"अक्सर पूछे जाने वाले प्रश्नों","WEBSITE_FAQ_SHORT":"सामान्य प्रश्न","WEBSITE_QUESTIONS":"प्रशन","WEBSITE_TOS":"उपयोग की शर्तें","WEBSITE_LEGAL":"कानूनी","WEBSITE_PAGE_ABOUT":"के बारे में","WEBSITE_PAGE_BECOME_PARTNER":"भागीदार बनें","WEBSITE_ALL_YOU_CAN_WATCH":"आप चाहते हैं Neverything देखने की स्वतंत्रता।","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"स्ट्रैमियो क्या है?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio वीडियो सामग्री एकत्रीकरण के लिए एक-स्टॉप हब है। अपने आप को किसी भी डिवाइस पर सभी प्रकार के स्रोतों से वीडियो व्यवस्थित करें और देखें।","WEBSITE_WHAT_IS_STREMIO_P2":"मूवीज़ टीवी श्रृंखला लाइव टेलीविजन या वेब चैनल जैसे यूट्यूब और ट्विच.टीवी दिखाता है - आप इसे स्ट्रैमियो पर पा सकते हैं।","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio एक आधुनिक मीडिया केंद्र है जो आपके वीडियो मनोरंजन के लिए एक-स्टॉप समाधान है। आप एडॉन्स स्थापित करने के लिए आसान से वीडियो सामग्री को देखते हैं और व्यवस्थित करते हैं।","WEBSITE_WHAT_IS_STREMIO_P2_V2":"मूवीज़ टीवी लाइव टीवी या वेब चैनल दिखाता है - यह सब स्ट्रैमियो पर खोजें।","WEBSITE_ENJOI_ON_ALL_DEVICES":"अपने सभी मीडिया उपकरणों पर आनंद लें","WEBSITE_DEVICES_COLLECT":"STREMIO से लीजिए","WEBSITE_DEVICES_IMPORT_FB":"फेसबुक से आयात करें","WEBSITE_DEVICES_LOCAL":"स्थानीय ड्राइव से जोड़ें","WEBSITE_JOIN_THE_PARTY_NOW":"अब पार्टी में शामिल हों","WEBSITE_DEVICES_ALL":"अपने सभी उपकरणों पर उपयोग करने में आसान;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly विस्तारणीय वीडियो कैटलॉग;","WEBSITE_ORGANIZE_YOUR_MEDIA":"अपने मीडिया को व्यवस्थित करने के लिए महान सुविधाएं;","WEBSITE_AS_SEEN_ON":"जैसा देखा गया","WEBSITE_STREMIO":"स्ट्रमियो","WEBSITE_LINK_ABOUT_US":"हमारे बारे में","WEBSITE_LINK_TECHNOLOGY":"प्रौद्योगिकी","WEBSITE_LINK_APPS":"ऐप्स","WEBSITE_LINK_DOWNLOADS":"डाउनलोड","WEBSITE_MORE":"अधिक","WEBSITE_LINK_ADDONS":"ऐड-ऑन","WEBSITE_LINK_ADDON_SDK":"एडन एसडीके","WEBSITE_LINK_CONTRIBUTE":"योगदान","WEBSITE_LINK_COMMUNITY":"समुदाय","WEBSITE_LINK_BLOG":"ब्लॉग","WEBSITE_MORE_MORE":"... & अधिक","WEBSITE_LINK_HELP":"सहायता केंद्र","WEBSITE_LINK_CONTACTS":"व्यापार पूछताछ","WEBSITE_LINK_TOS":"नियम एवं शर्तें","WEBSITE_LINK_PRAVACY":"गोपनीयता नीति","WEBSITE_SUBSCRIBE":"सदस्यता लेने के","WEBSITE_NEWSLETTER":"अद्भुत सामान के लिए हमारे न्यूजलेटर में शामिल हों","WEBSITE_PLACEHOLDER_EMAIL":"आपका ईमेल","WEBSITE_COMMUNITY":"समुदाय","WEBSITE_LINK_PRAVACY_LEGAL":"गोपनीयता और कानूनी","WEBSITE_WHY":"हम क्यों करते हैं","WEBSITE_WHY_P1":"Stremio में हम हर दिन काम करने के लिए आते हैं क्योंकि हम वीडियो-ऑन-डिमांड उद्योग के लिए एक महत्वपूर्ण समस्या हल करना चाहते हैं। हर मिनट प्रकाशित इतनी नई सामग्री है कि इसके चारों ओर अपना रास्ता ढूंढना लगभग असंभव है।","WEBSITE_WHY_P2":"हम लोगों को वीडियो मनोरंजन की विशाल दुनिया को नेविगेट करने में मदद करते हैं और आनंद लेने के लिए नई सामग्री की खोज करते हैं। हमारे ऐप्स एक साथ फिल्म श्रृंखला लाइव टीवी वेब चैनल और अधिक लाते हैं। हम उपयोगकर्ताओं के लिए शीर्षक और ब्रॉडकास्टरों को ढूंढने के लिए इसे अविश्वसनीय रूप से आसान बनाने के लिए समर्पित हैं।","WEBSITE_WHY_P3":"आप किसी भी डिवाइस पर हमारी सेवा का उपयोग कर सकते हैं और किसी भी समय STREMIO बनाने के लिए एकमात्र वीडियो मनोरंजन हब बनाने के लिए आपको कभी भी आवश्यकता होगी।","WEBSITE_TEAM":"टीम","WEBSITE_TEAM_P":"Stremio टीम छोटा है लेकिन शक्तिशाली है: हम में से दस के बीच हम एक्स भाषाओं में कोड और सॉफ्टवेयर विकास यूआई और यूएक्स डिजाइन विपणन और विज्ञापन और व्यापार और स्टार्टअप में विशेषज्ञता साझा करते हैं।","WEBSITE_FEATURES":"विशेषताएं","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"आसानी से नई सामग्री की खोज करें","WEBSITE_FEATURES_DISCOVER_P":"आसानी से नई फिल्में टीवी शो श्रृंखला और चैनलों को देखने के लिए खोजें। श्रेणी शैली रेटिंग रिकेंसी आदि द्वारा ब्राउज़ करें या बस खोजने के लिए एक नाम टाइप करें। Stremio नई वीडियो सामग्री केक का एक टुकड़ा खोजने बनाता है।","WEBSITE_FEATURES_ALL_CONTENT":"एक स्क्रीन पर आपकी सभी वीडियो सामग्री","WEBSITE_FEATURES_ALL_CONTENT_P1":"देखें कि आप किन फिल्मों या वीडियो को समाप्त नहीं करते हैं और उन्हें देखना जारी रखते हैं; नए एपिसोड और रिलीज के लिए अधिसूचित हो जाएं; और उन सिफारिशों के माध्यम से ब्राउज़ करें जिन्हें आप अपनी देखने की आदतों के आधार पर प्राप्त करेंगे।","WEBSITE_FEATURES_LIBRARY":"अपनी वीडियो लाइब्रेरी व्यवस्थित करें","WEBSITE_FEATURES_LIBRARY_P1":"अपने STREMIO लाइब्रेरी में किसी भी क्लिक के साथ किसी भी शीर्षक को जोड़ें और अपनी सामग्री के चारों ओर अपनी सामग्री को अच्छी तरह से व्यवस्थित रूप से व्यवस्थित तरीके से व्यवस्थित करें।","WEBSITE_FEATURES_CALENDAR":"आप जो कुछ भी देखते हैं उसका ट्रैक रखें","WEBSITE_FEATURES_CALENDAR_P1":"अपनी लाइब्रेरी में आपके द्वारा जोड़े गए सभी फिल्मों और श्रृंखला का कैलेंडर विज़ुअलाइजेशन प्राप्त करें। अपने STREMIO कैलेंडर निर्यात करें और इसे सिंक करें ताकि आप हमेशा जान सकें कि एक नया एपिसोड या प्रीमियर कब देय है।","WEBSITE_FEATURES_BIG_SCREEN":"एक बड़ी स्क्रीन पर अपनी वीडियो सामग्री का आनंद लें","WEBSITE_FEATURES_BIG_SCREEN_P1":"जो भी आप किसी अन्य डिवाइस पर देख रहे हैं उसे कास्ट करें - चाहे वह एक फोन टैबलेट हो या एक क्लिक के साथ एक टीवी हो।","WEBSITE_FEATURES_SOURCES":"कई अलग-अलग स्रोतों से वीडियो देखें","WEBSITE_FEATURES_SOURCES_P":"कई अलग-अलग प्रदाताओं से प्राप्त वीडियो का आनंद लेने के लिए आधिकारिक और सामुदायिक एडॉन्स स्थापित करें - सभी एक चिकना उपयोग करने में आसान ऐप में।","WEBSITE_CREATE_AN_ADDON":"एक एडन बनाएँ","WEBSITE_FEATURES_SYNC":"अपनी लाइब्रेरी को विभिन्न उपकरणों में सिंक करें और अपने प्लेबैक को फिर से शुरू करें","WEBSITE_FEATURES_SYNC_P1":"अपने सभी डिवाइसों में अपने खाते से लॉगिन करें और अपने लाइब्रेरी एडॉन्स प्लेबैक और कैलेंडर सिंक्रनाइज़ का आनंद लें।","WEBSITE_FEATURES_EXTENDABLE":"एडॉन्स द्वारा विस्तारणीय वीडियो कैटलॉग","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio Addon कैटलॉग विभिन्न प्रकार की वीडियो सामग्री को स्थापित करने और देखने के लिए कई एडॉन्स प्रदान करता है। इसमें फिल्में लाइव टीवी स्पोर्ट न्यूज़ पॉडकास्ट वेब चैनल वीडियो गेम और अधिक दिखाती हैं।","WEBSITE_FEATURES_AUTO_SUBS":"स्वचालित उपशीर्षक","WEBSITE_FEATURES_AUTO_SUBS_P1":"हमारे उपशीर्षक एडॉन्स के साथ आप अपनी पसंदीदा भाषा के लिए स्वचालित रूप से चयनित विकल्प प्राप्त करते हैं।","WEBSITE_FEATURES_CHROMECAST":"क्रोमकास्ट के लिए कास्टिंग","WEBSITE_FEATURES_CHROMECAST_P1":"एक बड़ी स्क्रीन पर अपनी वीडियो सामग्री का आनंद लें या जो भी आप किसी अन्य डिवाइस पर देख रहे हैं उसे डालें।","WEBSITE_FEATURES_KEEP_TRACK":"अपने पसंदीदा टीवी शो और वेब चैनलों का ट्रैक रखें","WEBSITE_FEATURES_KEEP_TRACK_P1":"अपनी पसंदीदा श्रृंखला और वेब चैनलों के नए एपिसोड के लिए कैलेंडर विज़ुअलाइजेशन और नोटिफिकेशन प्राप्त करें।","WEBSITE_FEATURES_POWER_USER":"पावर उपयोगकर्ता सुविधाएँ","WEBSITE_FEATURES_POWER_USER_P1":"बाहरी खिलाड़ी में खेलें","WEBSITE_FEATURES_POWER_USER_P2":"एक टोरेंट फ़ाइल या चुंबक लिंक से खेलें","WEBSITE_FEATURES_POWER_USER_P3":"फेसबुक पसंद या स्थानीय डिस्क से अपनी लाइब्रेरी में आयात करें","WEBSITE_ADD_ONS":"ऐड-ऑन","WEBSITE_ADD_ONS_P1":"सभी वीडियो सामग्री Stremio एक एडन सिस्टम के माध्यम से सोर्स प्रदान की जाती है - ऐप में कोई सामग्री या सामग्री प्रदाता नहीं बनाया गया है।","WEBSITE_ADD_ONS_P2":"एडॉन्स के दो समूह उपलब्ध हैं: आधिकारिक और सामुदायिक एडॉन्स।","WEBSITE_ADD_ONS_P3":"आधिकारिक लोगों को Stremio द्वारा विकसित और होस्ट किया गया है जबकि सामुदायिक एडॉन्स हमारे समुदाय के सदस्यों द्वारा बनाए जाते हैं जो उन्हें भी होस्ट करते हैं।","WEBSITE_ADDONS_OFFICIAL":"सरकारी Addons","WEBSITE_ADDONS_WATCHUB":"अपनी पसंदीदा फिल्में श्रृंखला को स्ट्रीम करें और आईट्यून्स हूलू अमेज़ॅन और अन्य यूके / यूएस सेवाओं जैसे प्रदाताओं से दिखाएं।","WEBSITE_ADDONS_YOUTUBE":"अपने पसंदीदा यूट्यूब चैनलों को विज्ञापन मुक्त देखें और आपके द्वारा अनुसरण किए गए योगदानकर्ताओं से नए अपलोड के लिए अधिसूचनाएं प्राप्त करें।","WEBSITE_ADDONS_FILMON":"मुफ्त में लाइव टीवी फिल्में और सामाजिक टेलीविजन देखें। 600 टीवी चैनल 45000 मुफ्त फिल्में वृत्तचित्र और अधिक।","WEBSITE_ADDONS_OPENSUBTITLES":"मूवी और टीवी उपशीर्षक कई भाषाओं में हजारों अनुवादित उपशीर्षक हर दिन अपलोड किए गए।","WEBSITE_ADDONS_COMMUNITY":"सामुदायिक एडॉन्स","WEBSITE_ADDONS_FILMON_VOD":"फिल्मऑन.टीवी से मांग पर वीडियो देखें","WEBSITE_ADDONS_TWICH":"Twitch.tv से लाइव स्ट्रीम देखें - ई-स्पोर्ट्स उद्योग के लिए एक वीडियो स्ट्रीमिंग प्लेटफ़ॉर्म।","WEBSITE_ADDONS_VODO":"इंडी फिल्में पूरी तरह से नि: शुल्क देखें।","WEBSITE_ADDONS_NETFLIX":"नेटफ्लिक्स फिल्में और वेब श्रृंखला देखें।","WEBSITE_ADDONS_CREATE":"एक एडन बनाएँ","WEBSITE_ADDONS_CREATE_P1":"यदि आप चाहें तो आप अपना खुद का एडन विकसित कर सकते हैं। इस तरह आप अपने आप को और हमारी सामुदायिक पहुंच को नई वीडियो सामग्री तक पहुंचा सकते हैं और दुनिया भर के लाखों उपयोगकर्ताओं के एक नए लक्षित दर्शकों तक पहुंच सकते हैं।","WEBSITE_ADDONS_START_CREATE":"शुरू करने के लिए Stremio Addon SDK पृष्ठ पर जाएं:","WEBSITE_DOWNLOADS":"डाउनलोड","WEBSITE_DOWNLOADS_P1":"इष्टतम प्रदर्शन के लिए हम अनुशंसा करते हैं कि आप STREMIO ऐप्स के नवीनतम उपलब्ध संस्करण का उपयोग करें। यदि किसी कारण से आप पुराने संस्करण का उपयोग करना चाहते हैं तो आप इसे यहां डाउनलोड कर सकते हैं।","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"खिड़कियों के लिए STREMIO","WEBSITE_DOWNLOADS_FOR_MAC":"मैकोज़ के लिए स्ट्रेमियो","WEBSITE_DOWNLOADS_FOR_LINUX":"लिनक्स के लिए STREMIO","WEBSITE_DOWNLOADS_FOR_ANDROID":"एंड्रॉइड के लिए स्ट्रेमियो","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"आईओएस के लिए स्ट्रेमियो (सीमित संस्करण)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"योगदान","WEBSITE_CONTRIBUTE_P1":"Stremio प्लेटफ़ॉर्म ओपन सोर्स है और आप आसानी से उस सामग्री के लिए एक एडन बना सकते हैं जो वर्तमान में सोर्स नहीं है।","WEBSITE_CONTRIBUTE_WHY":"आपको एडन क्यों बनाना चाहिए?","WEBSITE_CONTRIBUTE_WHY_P1":"अपनी वीडियो सामग्री के लिए नए दर्शकों तक पहुंचें","WEBSITE_CONTRIBUTE_WHY_P2":"स्ट्रैमियो का उपयोगकर्ता आधार तेजी से बढ़ रहा है - लॉन्च स्ट्रैमियो के पहले वर्ष के भीतर दुनिया भर में 1 मिलियन उपयोगकर्ता प्राप्त हुए थे और प्लेटफॉर्म के अस्तित्व के दूसरे वर्ष में यह संख्या 2.5 मिलियन हो गई थी।","WEBSITE_CONTRIBUTE_WHY_P3":"अपने एडन के साथ आप आसानी से इस दर्शकों तक पहुंच सकते हैं और अपनी वीडियो सामग्री को वितरित कर सकते हैं।","WEBSITE_CONTRIBUTE_ALL":"एक ही स्थान पर अपनी पसंदीदा फिल्में वीडियो श्रृंखला और चैनल देखें।","WEBSITE_CONTRIBUTE_ALL_P1":"आप एक विशेष प्रकार की सामग्री के प्रशंसक हैं जो अभी तक स्ट्रैमियो पर उपलब्ध नहीं हैं? इसके लिए एक एडन बनाएं और अपने पसंदीदा वीडियो को बाजार पर मनोरंजन केंद्रों का उपयोग करने के लिए सबसे बड़े और आसान में से एक में देखने का आनंद लें।","WEBSITE_CONTRIBUTE_ALL_P2":"इसके शीर्ष पर आपको अन्य समान विचारधारा वाले स्ट्रैमियो समुदाय के सदस्यों का अंतहीन आभार मिलेगा।","WEBSITE_CONTRIBUTE_MONETIZE":"अपने एडन का मुद्रीकरण करें और अपनी मदद से पैसे कमाएं","WEBSITE_CONTRIBUTE_MONETIZE_P1":"एक बार जब आप STREMIO के लिए एक नया एडन विकसित कर लेंगे तो आप आसानी से इसे कई अलग-अलग तरीकों से मुद्रीकृत कर सकते हैं। यदि आप इस पर विचार कर रहे हैं कि इस पर संपर्क करने के लिए स्वतंत्र महसूस करें","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - हम एडन मुद्रीकरण विकल्पों के बारे में परामर्श करने और सलाह देने में प्रसन्न होंगे।","WEBSITE_CONTRIBUTE_TRANSLATE":"एक स्वयंसेवक अनुवादक बनें","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"यदि आप विभिन्न भाषाओं में स्ट्रैमियो ऐप्स का आनंद लेना चाहते हैं तो आप स्वयंसेवी अनुवादकों के हमारे समुदाय में शामिल हो सकते हैं। वे हमें कई अलग-अलग भाषाओं में stremio के संस्करण जोड़ने में मदद करते हैं।","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"क्या आप शुरू करने के लिए उत्सुक हैं?","WEBSITE_TRANSALTE_STREMIO":"STREMIO का अनुवाद करें","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"सरकारी समुदाय","WEBSITE_COMMUNITY_OFFICIALS_P1":"बढ़ते स्ट्रैमियो समुदाय का हिस्सा बनें। सोशल मीडिया पर हमें का पालन करें और नमस्ते कहने के लिए शर्मिंदा न हों - हम अपने प्रशंसकों से सुनवाई पसंद करते हैं!","WEBSITE_COMMUNITY_UNOFFICIALS":"अनौपचारिक समुदाय","STREMIO_COMMUNITY_NL":"स्ट्रीमियो नीदरलैंड्स","STREMIO_COMMUNITY_BRASIL":"स्ट्रीमियो ब्रासिल","STREMIO_COMMUNITY_GERMANY":"Stremio जर्मनी","STREMIO_COMMUNITY_BELGIUM":"स्ट्रमियो बेल्जियम","STREMIO_COMMUNITY_FRANCE":"स्ट्रमियो फ्रांस","STREMIO_COMMUNITY_PORTUGAL":"स्ट्रमियो पुर्तगाल","STREMIO_COMMUNITY_ITALY":"स्ट्रीमियो इटली","STREMIO_COMMUNITY_UK":"स्ट्रमियो ब्रिटेन","STREMIO_COMMUNITY_USA":"स्ट्रमियो यूएसए","STREMIO_COMMUNITY_MEXICO":"Stremio मेक्सिको","STREMIO_COMMUNITY_ADDONS":"स्ट्रमियो एडॉन्स","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"भयानक STREMIO","WEBSITE_COMMUNITY_PARTNERS":"भागीदारों और समर्थक","WEBSITE_COMMUNITY_GOODIES":"Stremio उपहार","WEBSITE_COMMUNITY_WALLPAPERS":"वॉलपेपर","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"संपर्क करें","WEBSITE_CONTACT_US_P1":"यदि आपके कोई प्रश्न हैं तो टिप्पणियां या सुझाव नीचे दिए गए संपर्क फ़ॉर्म के माध्यम से हमारे संपर्क में आने के लिए स्वतंत्र महसूस करते हैं।","WEBSITE_CONTACT_US_P2":"ध्यान रखें कि हम बुल्गारिया में स्थित हैं इसलिए समय क्षेत्र के अंतर के कारण आपकी क्वेरी को संबोधित करने में देरी हो सकती है।","WEBSITE_CONTACT_US_SUCCESS":"आपका संदेश भेज दिया गया है। हम आपकी सबसे पुरानी सुविधा पर आपके पास वापस आ जाएंगे।","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"कृपया एक मान्य ईमेल पता प्रवेश करें!","WEBSITE_CONTACT_US_Q_RELATED_TO":"आपका प्रश्न किससे संबंधित है?","WEBSITE_CONTACT_US_Q_OS":"आपका ऑपरेशन सिस्टम क्या है?","WEBSITE_CONTACT_US_PH_EMAIL":"आपका ईमेल","WEBSITE_CONTACT_US_PH_MESSAGE":"संदेश","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"भेजना","WEBSITE_CONTACT_US_Q_1":"स्थापित करने के लिए कैसे?","WEBSITE_CONTACT_US_Q_2":"अनइंस्टॉल कैसे करें?","WEBSITE_CONTACT_US_Q_3":"(HTML) Lasagna कैसे बनाया जाए?","WEBSITE_CONTACT_US_Q_4":"ऐड-ऑन","WEBSITE_CONTACT_US_OS_1":"खिड़कियाँ","WEBSITE_CONTACT_US_OS_2":"मैक ओ एस","WEBSITE_CONTACT_US_OS_3":"लिनक्स","WEBSITE_CONTACT_US_OS_4":"एंड्रॉयड","WEBSITE_CONTACT_US_OS_5":"आईओएस","WEBSITE_TECHNOLOGY":"प्रौद्योगिकी","WEBSITE_TECHNOLOGY_P1":"हम प्रौद्योगिकी और पागल विज्ञान से प्यार करते हैं। </br> यहां शक्तियां क्या हैं (यह सब ओपन-सोर्स है)।","WEBSITE_TECHNOLOGY_P_QT":"क्रॉस-प्लेटफार्म सॉफ्टवेयर विकास सबसे अच्छा है।","WEBSITE_TECHNOLOGY_P_MPV":"एक मुक्त ओपन सोर्स और क्रॉस-प्लेटफार्म मीडिया प्लेयर।","WEBSITE_TECHNOLOGY_P_RN":"प्रतिक्रिया देशी आपको केवल जावास्क्रिप्ट का उपयोग करके मोबाइल ऐप्स बनाने देता है।","WEBSITE_TECHNOLOGY_P_VLC":"मल्टीमीडिया प्राप्त करने के लिए आवेदन में एम्बेडेड मीडिया फ्रेमवर्क।","WEBSITE_TECHNOLOGY_P_REALM":"दायरे एक मोबाइल मंच और SQLite और कोर डेटा के लिए एक प्रतिस्थापन है।","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js एक ओपन-सोर्स क्रॉस-प्लेटफार्म जावास्क्रिप्ट रनटाइम पर्यावरण है।","WEBSITE_TECHNOLOGY_P_RUST":"जंग एक बहु-प्रतिमान प्रणाली प्रोग्रामिंग भाषा है जो सुरक्षा पर विशेष रूप से सुरक्षित सहमति पर केंद्रित है।","WEBSITE_TECHNOLOGY_CONTRIBUTE":"परियोजना में योगदान","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"STREMIO में दो तरीके हैं और उत्पाद को बेहतर बनाने में हमारी सहायता करें।","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"आप मंच का अनुवाद करके अपने मूल्यवान भाषा कौशल दान कर सकते हैं ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"या","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... आप समुदाय के एडॉन्स बनाने के लिए अपने कोडिंग कौशल को नियोजित कर सकते हैं।","WEBSITE_TRANSLATE_STREMIO":"STREMIO का अनुवाद करें","WEBSITE_404_OH_NO":"उह ओह! जिस पृष्ठ को आप ढूंढ रहे हैं वह यहां नहीं है ...","WEBSITE_GO_HOME":"घर जाओ","WEBSITE_LINK_OTHER_DOWNLOADS":"अन्य डाउनलोड","WEBSITE_FAQ_ABR":"सामान्य प्रश्न","WEBSITE_SUPPORT":"सहायता","WEBSITE_DOWNLOAD_4_0_BETA":"अब Stremio 4 बीटा डाउनलोड करें","WEBSITE_GET_FOR_DESKTOP":"डेस्कटॉप के लिए जाओ","WEBSITE_LINK_ADDON_COMPETITION":"एडन प्रतियोगिता","WEBSITE_LINK_ART_CONTEST":"कला प्रतियोगिता","WEBSITE_MY_ACCOUNT":"मेरा खाता","WEBSITE_MAINPAGE_FAQ_001_H1":"स्ट्रैमियो क्या है?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio एक आधुनिक मीडिया केंद्र है जो आपको जो कुछ भी आप चाहते हैं उसे देखने की स्वतंत्रता देता है।","WEBSITE_MAINPAGE_FAQ_002_H1":"यह कैसे काम करता है?","WEBSITE_MAINPAGE_FAQ_002_P1":"एक बार जब आप अपने डिवाइस पर STREMIO स्थापित कर लेंगे और एक खाता बनाएं जो आपको करना है, वह एडन कैटलॉग पर जाना है और इच्छित किसी भी एडन को स्थापित करना है और आप जाने के लिए अच्छे हैं!","WEBSITE_MAINPAGE_FAQ_002_P2":"इसके बाद आप सामग्री की खोज शुरू करने के लिए खोज या बोर्ड अनुभागों में जा सकते हैं।","WEBSITE_MAINPAGE_FAQ_003_H1":"मैं यहाँ क्या देख सकता हूँ?","WEBSITE_MAINPAGE_FAQ_003_P1":"ए लॉट: मूवीज़ टीवी शो वेब चैनल स्पोर्ट टीवी चैनल पॉडकास्ट और अधिक सुनते हैं। हमारे एडन सिस्टम के लिए धन्यवाद, आप विभिन्न प्रकार की सामग्री तक पहुंच सकते हैं।","WEBSITE_MAINPAGE_FAQ_004_H1":"क्या स्टेमियो ओपन-सोर्स है?","WEBSITE_MAINPAGE_FAQ_004_P1":"हां आप निम्न लिंक देख सकते हैं: $ {1} डेस्कटॉप ऐप $ {2} और $ {3} github संगठन $ {4}।","WEBSITE_MAINPAGE_FAQ_005_H1":"क्या स्ट्रैमियो सुरक्षित है?","WEBSITE_MAINPAGE_FAQ_005_P1":"हां: क्योंकि यह ओपन-सोर्स सॉफ़्टवेयर है कोड पब्लिक रूप से ऑडिटेबल है और आप इसे स्वयं की समीक्षा कर सकते हैं।","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"मेरी गोपनीयता के बारे में कैसे?","WEBSITE_MAINPAGE_FAQ_006_P1":"हम उपयोगकर्ताओं की गोपनीयता का सम्मान करते हैं और आपके खाते को बनाने और सिंक करने के लिए आवश्यक न्यूनतम के अलावा कोई व्यक्तिगत डेटा एकत्र नहीं करते हैं।","WEBSITE_MAINPAGE_FAQ_006_P2":"साइनअप पर $ {1} अतिथि मोड $ {2} भी है जिसके लिए कोई डेटा नहीं चाहिए: इस मोड में हमारे बैकएंड में कोई कॉल नहीं की जाती है। हालांकि यह उपयोगी सुविधाओं की कीमत पर आता है जैसे कि डिवाइस पर अपनी लाइब्रेरी को सिंक करने में सक्षम होना।","WEBSITE_MAINPAGE_FAQ_007_H1":"क्या मैं अपने टीवी को डाला जा सकता हूं?","WEBSITE_MAINPAGE_FAQ_007_P1":"हां हम क्रोमकास्ट का समर्थन करते हैं और आप डेस्कटॉप और मोबाइल ऐप्स (एंड्रॉइड) दोनों से डाले जा सकते हैं।","WEBSITE_MAINPAGE_FAQ_008_H1":"स्ट्रैमियो में कितने एडॉन्स हैं?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 से अधिक के अंत तक - अधिक जानकारी के लिए हमारे एडन कैटलॉग की जांच करें।","WEBSITE_MAINPAGE_FAQ_009_H1":"Addon कैटलॉग में क्या है परे stremio विस्तारित किया जा सकता है?","WEBSITE_MAINPAGE_FAQ_009_P1":"हां आपको उन लोगों की जांच करनी चाहिए: $ {1} pimpmystremio $ {2} $ {3} Reddit समुदाय $ {4} $ {5} STREMIO डाउनलोडर $ {6} आदि","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio किस डिवाइस का समर्थन करता है?","WEBSITE_MAINPAGE_FAQ_010_P1":"हमारे पास विंडोज मैक और लिनक्स के लिए डेस्कटॉप ऐप्स हैं। मोबाइल के लिए हम एंड्रॉइड और आईओएस का समर्थन करते हैं हालांकि ध्यान रखें कि आईओएस कार्यक्षमता में सीमित है (अधिकांश एडॉन्स का समर्थन नहीं करता है)।","WEBSITE_MAINPAGE_FAQ_010_P2":"ऐसे कई एंड्रॉइड-आधारित डिवाइस हैं जिन्हें आप एनवीआईडीआईए शील्ड और अमेज़ॅन फायर स्टिक की तरह स्ट्रैमियो चला सकते हैं लेकिन हम आधिकारिक तौर पर उनका समर्थन नहीं करते हैं।","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"क्या आप STREMIO में कुछ सामग्री जोड़ सकते हैं?","WEBSITE_MAINPAGE_FAQ_011_P1":"क्षमा करें, हम खुद को कोई सामग्री प्रदान नहीं करते हैं लेकिन अधिक स्ट्रैमियो एडॉन्स आपने अधिक सामग्री स्थापित की है जिसे आप ढूंढ पाएंगे।","WEBSITE_MAINPAGE_FAQ_012_H1":"क्या स्ट्रैमियो चुंबक लिंक चला सकते हैं?","WEBSITE_MAINPAGE_FAQ_012_P1":"हां और यह सामान्य HTTP लिंक और टोरेंट फ़ाइलों (ड्रैग और ड्रॉप) भी चला सकता है।","WEBSITE_MAINPAGE_FAQ_013_H1":"क्या मैं एक वीडियो डाउनलोड कर सकता हूं और ऑफ़लाइन देख सकता हूं?","WEBSITE_MAINPAGE_FAQ_013_P1":"उपलब्ध ऑफ़लाइन एक आगामी सुविधा है लेकिन यदि आप अपने डिवाइस (सेटिंग्स पैनल से) को कैश करने की अनुमति देते हैं तो आप बिना किसी कनेक्शन के वीडियो देख सकते हैं।","WEBSITE_MAINPAGE_FAQ_014_H1":"कुछ भी नहीं काम करता है मेरी मदद करो!","WEBSITE_MAINPAGE_FAQ_014_P1":"क्या आप वाकई स्थापित किए गए हैं? यदि हां हमारे $ {1} सहायता केंद्र $ {2} से जांचें।","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio यह विकास संचालन को कैसे बनाए रखता है?","WEBSITE_MAINPAGE_FAQ_015_P1":"हम कभी-कभी गैर-दखल देने वाले विज्ञापन चलाते हैं, लेकिन हम दान मॉडल पर जाने पर विचार कर रहे हैं।","WEBSITE_MAINPAGE_FAQ_015_P2":"अधिक प्रश्नों के लिए हमारे $ {1} सहायता केंद्र $ {2} पर जाएं।","HELP_LEARN_MORE":"हमारे बारे में अधिक जानने में हमारी सहायता करें।","LIFESTYLE":"बॉलीवुड","SPORTS":"खेल","FOOD_HEALTH":"भोजन और स्वास्थ्य","BEAUTY_FASHION":"सौंदर्य और फैशन","NEWS":"समाचार","GAMING":"जुआ","SCIENCE_EDUCATION":"विज्ञान की पढ़ाई","MUSIC":"संगीत","TRAVEL":"यात्रा","LATE_NIGHT":"देर रात","REALITY":"वास्तविकता","COMEDY":"कॉमेडी","DIY":"DIY कैसे करें","TECH":"तकनीक","CINEMA":"सिनेमा","CONTINUE":"जारी रखें","SLOW_LOADING":"धीमी लोडिंग?","I_GIVE_UP":"मैं हार मानता हूं","LEARN_MORE":"और अधिक जानें","POOR_SOURCE":"यह स्रोत खराब उपलब्ध है या आपका इंटरनेट कनेक्शन पर्याप्त तेज़ नहीं है","PICK_CATEGORIES_ERR":"आपको कम से कम 3 श्रेणियां चुननी होंगी","ADJUST_TIMING":"के साथ समय समायोजित करें","ADJUST_SIZE":"के साथ आकार समायोजित करें","SEARCH_ANYTHING":"आप कुछ भी खोज सकते हैं ...","ALL_CATEGORIES":"सभी","SEARCH_CATEGORIES":"सिनेमा श्रृंखला यूट्यूब और टीवी","SEARCH_PERSONS":"अभिनेता निदेशकों और लेखकों","SEARCH_PROTOCOLS":"HTTP और चुंबक लिंक","SEARCH_TYPES":"आईएमडीबी / टीवीडीबी लिंक","WATCHED":"देखे","SHOW_LESS":"कम दिखाएं","LAST_SEARCHES":"अंतिम खोज","CLEAR_HISTORY":"इतिहास मिटा दें","CHOOSE_SOME":"इनमें से कुछ चुनें:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"वेब रिमोट लोड नहीं किया जा सका","STREMIO_OFFLINE":"Stremio ऑफ़लाइन है","STREMIO_EXPENSIVE_CONNECTION":"हमने पाया है कि आप मोबाइल डेटा कनेक्शन का उपयोग कर रहे हैं क्या आप जारी रखना चाहते हैं?","USE_DATA":"डेटा का उपयोग करें","WARNING":"चेतावनी","MORE_INFO":"और जानकारी ...","STREMIO_TV_STREMIO":"स्ट्रमियो","STREMIO_TV_LOADING":"लोड हो रहा है ...","STREMIO_TV_BACK_TO_LANGUAGES":"वापस भाषाओं में","STREMIO_TV_REMOTE":"दूरस्थ","STREMIO_TV_GO_TO":"के लिए जाओ:","STREMIO_TV_OR_SCAN":"या स्कैन:","STREMIO_TV_ADDON_INSTRUCTIONS":"कृपया अपने पसंदीदा एडॉन्स को स्थापित करने के लिए निर्देशों का पालन करें।","STREMIO_TV_LIVE_TV":"लाइव टीवी","STREMIO_TV_RESUME_WATCHING":"फिर से देखना","STREMIO_TV_LOADING_BACKGROUND":"लोड हो रहा है पृष्ठभूमि","STREMIO_TV_CHECKING_AUTHENTICATION":"प्रमाणीकरण की जाँच","STREMIO_TV_LOADING_BOARD":"लोड हो रहा हुकुम","STREMIO_TV_LOGIN_HEADER_LINE_1":"हम चाहते हैं कि हमारे उपयोगकर्ताओं को हमारे सॉफ़्टवेयर के साथ सर्वोत्तम संभव व्यक्तिगत अनुभव हो।","STREMIO_TV_LOGIN_HEADER_LINE_2":"यही कारण है कि हम आपको अपने खाते में बनाने और / या लॉगिन करने के लिए कहेंगे।","STREMIO_TV_LOGIN_FOOTER_LINE_1":"समझने के लिए धन्यवाद","STREMIO_TV_LOGIN_FOOTER_LINE_2":"STREMIO टीम","STREMIO_TV_REMOTE_INSTRUCTIONS":"अपने स्मार्टफोन / टैबलेट / डेस्कटॉप के साथ वेब रिमोट का उपयोग करने के लिए:","STREMIO_TV_WIFI_SETUP":"वाई-फाई सेटअप","STREMIO_TV_WIFI_HEADER_LINE_1":"स्ट्रमियो सर्कल ने इंटरनेट कनेक्शन का पता नहीं लगाया।","STREMIO_TV_WIFI_DETAILS_1":"जुड़े:","STREMIO_TV_WIFI_DETAILS_2":"स्ट्रमियो-सर्कल","STREMIO_TV_WIFI_DETAILS_3":"पासवर्ड का प्रयोग करें:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"लिंक के साथ एक वेब ब्राउज़र खोलें:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"खोज","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"चैनल","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"समायोजन","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"खाते लिंक करें","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"खोज","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"साफ़","STREMIO_TV_SEARCH_HISTORY_TITLE":"खोज इतिहास","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"खोज इतिहास साफ़ करे","STREMIO_TV_FILTERS_DESCRIPTION":"नीचे दिए गए किसी एक फ़िल्टर में से चुनें","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"फिल्टर","SETTINGS":"समायोजन","ACCOUNT":"खाता","LOGOUT":"लॉग आउट","THEMES":"Themes","PLAYBACK":"प्लेबैक","PLAYBACK_SPEED":"प्लेबैक स्पीड","AUDIO_TRACKS":"ऑडियो ट्रैक","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"वीडियो","SERVER":"सर्वर","LINKS":"Links","ABOUT":"के बारे में","INTERFACE":"इंटरफेस","ANIMATIONS":"एनिमेशन","STATUS":"Status","LANGUAGE":"भाषा","SIZE":"आकार","DELAY":"देरी","BOLD":"बोल्ड","OPACITY":"Opacity","TEXT_COLOR":"लिखावट का रंग","OUTLINE_COLOR":"रूपरेखा रंग","BACKGROUND_COLOR":"पीछे का रंग","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"समय अवधी देखे","AUTO_PLAY":"अगला एपिसोड अपने आप चालू करे","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"देखे गए के रूप में चिह्नित करें","MARK_AS_UNWATCHED":"अनदेखे के रूप में चिह्नित करें","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"देखणा चालू रखे","ALL":"सारे","SECONDS":"सेकंद्स","ON":"चालू","OFF":"बंद","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"स्विच डिवाइस","REMOTE_VIDEOS":"वीडियो","REMOTE_ADJUST_TIMING":"समय समायोजित करें","REMOTE_ADJUST_SIZE":"आकार समायोजित करें","REMOTE_COULD_NOT_BE_LOADED":"वेब रिमोट लोड नहीं किया जा सका","REMOTE_RETRY":"पुन: प्रयास करें","TORRENT_PROFILE_DEFAULT":"डिफ़ॉल्ट","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"स्ट्रैमियो क्या है?","FAQ_001_P1":"Stremio एक मीडिया सेंटर सॉफ्टवेयर है जो वीडियो मनोरंजन के लिए दिमाग में उपयोग के साथ डिज़ाइन किया गया है। STREMIO आपको व्यवस्थित करने की अनुमति देता है & amp; फिल्म श्रृंखला चैनल और लाइव टीवी का अपना संग्रह देखें।","FAQ_001_P2":"Stremio सामग्री को एकत्रित करें जो आपको अपनी स्थानीय डिस्क और हमारे एडॉन्स सिस्टम से दिखाता है।","FAQ_001_P3":"यह आपको यह भी सूचित करेगा कि नए एपिसोड / वीडियो / फिल्में जो आप में रुचि रखते हैं और आपके लिए मूवी सिफारिशें प्रदान करते हैं।","FAQ_02_H1":"STREMIO KODI और PLEX की तुलना कैसे करता है?","FAQ_02_P1":"हम सॉफ्टवेयर के उन दो टुकड़ों से प्रेरित हैं। लेकिन हमारे पास अलग-अलग लक्ष्य हैं - स्ट्रैमियो विशेष रूप से मनोरंजन वीडियो की ओर लक्षित है और इसका उपयोग करने में आसान होने के लिए मुख्यधारा के समाधान बनने का प्रयास करता है।","FAQ_02_P2":"स्ट्रैमियो कभी भी अनुकूलन योग्य और कोडी और प्लेक्स के रूप में समृद्ध नहीं होगा, लेकिन इसका उपयोग करना काफी आसान है। बस $ {1} इसे प्राप्त करें और $ {2} देखें :)","FAQ_03_H1":"Stremio नेटफ्लिक्स की तुलना कैसे करता है?","FAQ_03_P1":"फिर से नेटफ्लिक्स हमारी प्रेरणाओं में से एक है। हम नेटफ्लिक्स के उपयोगकर्ता अनुभव को बहुत से अतिरिक्त उपहारों को प्राप्त करने का प्रयास करते हैं। लेकिन सबसे महत्वपूर्ण बात यह है कि हम आपको अपनी लाइब्रेरी प्रबंधित करने और हमारे एडन सिस्टम के साथ नए सामग्री स्रोत जोड़ने की स्वतंत्रता दे रहे हैं।","FAQ_03_P2":"इससे स्ट्रैमियो असीमित रूप से विस्तार योग्य बनाता है, इसलिए जब आप स्ट्रैमियो का उपयोग करते हैं तो आप कभी भी सामग्री से सीमित नहीं होते हैं नेटफ्लिक्स लाइसेंस का फैसला करता है। उदाहरण के लिए स्ट्रैमियो के माध्यम से आप $ {1} filmon.tv $ {2} $ {3} twitch.tv $ {4} $ {5} youtube $ {6} $ {7} वोडो $ {8} और से सामग्री देख सकते हैं यहां तक ​​कि $ {9} netflix $ {10} ही!","FAQ_04_H1":"स्ट्रैमियो फ्लिपबोर्ड की तुलना कैसे करता है?","FAQ_04_P1":"हमें वह सवाल नहीं मिलता है जो अक्सर लोगों को स्टार्ट-अप करने के लिए छोड़कर को छोड़कर :)","FAQ_04_P2":"Stremio एक सामग्री एग्रीगेटर डिजाइन द्वारा है जो अनिवार्य रूप से इसे वीडियो के लिए फ्लिपबोर्ड बनाता है। यह हमारे बोर्ड सेक्शन में बहुत स्पष्ट है जो आपको फ्लिपबोर्ड की तरह अनुसरण करने के लिए कैटलॉग और नया एपिसोड / नई वीडियो अधिसूचना देता है।","FAQ_05_H1":"Stremio पॉपकॉर्न समय की तुलना कैसे करता है?","FAQ_05_P1":"Stremio और पॉपकॉर्न समय उपयोगकर्ता इंटरफ़ेस में समान हैं क्योंकि वीडियो मनोरंजन कैटलॉग सही करने के कई तरीके नहीं हैं :)","FAQ_05_P2":"लेकिन पॉपकॉर्न टाइम विशिष्ट स्रोतों से टॉरेंट स्ट्रीमिंग पर केंद्रित है Stremio अप्रतिबंधित है और केवल एक सामग्री एग्रीगेटर है - यह एक विशिष्ट सामग्री स्रोत में बंद नहीं है।","FAQ_05_P3":"इसके अलावा हम डिफ़ॉल्ट रूप से किसी भी टोरेंट एडॉन्स प्रदान नहीं करते हैं, इसलिए स्ट्रैमियो को आधिकारिक कार्यक्षमता के साथ पॉपकॉर्न टाइम उपयोग-केस को कवर नहीं किया जाता है।","FAQ_05_P4":"एक और उल्लेखनीय अंतर यह है कि पॉपकॉर्न टाइम पूरी तरह से खुला स्रोत है जबकि Stremio $ {1} आंशिक रूप से ओपन सोर्स $ {2} है।","FAQ_06_H1":"क्या आप इस फिल्म / श्रृंखला को जोड़ देंगे?","FAQ_06_P1":"कोई खेद नहीं :(","FAQ_06_P2":"जैसा कि अन्य प्रश्नों में उल्लेख किया गया है Stremio स्वयं से कोई सामग्री प्रदान नहीं करता है - सब कुछ एडॉन्स सिस्टम के माध्यम से जोड़ा जाता है। यदि आपके पास कोई सामग्री अनुरोध है तो आप उस खिलाड़ी में रिपोर्ट बटन का उपयोग कर सकते हैं जो वर्तमान में आपके द्वारा उपयोग किए जा रहे एडन के लेखक को एक ईमेल भेज देगा।","FAQ_07_H1":" ","FAQ_07_P1":" ","FAQ_07_P2":" ","FAQ_08_H1":"क्या आप एक्स के लिए एडन बनाएंगे?","FAQ_08_P1":"यह पूरी तरह से संभव है।","FAQ_08_P2":"यदि आपके पास Addon के लिए एक विचार है तो हमें $ {1} office@stremio.com पर एक लाइन छोड़ें, लेकिन कृपया सुनिश्चित करें कि आपका एडन विचार किसी भी कॉपीराइट या उपयोग की शर्तों का उल्लंघन नहीं करेगा।","FAQ_08_P3":"फिलहाल हमारे रोडमैप पर अगली चीजें मांग और क्रंचरोल पर fandangonow filmon.tv वीडियो के लिए Addons हैं।","FAQ_09_H1":"क्या Stremio बिटटोरेंट का उपयोग करता है?","FAQ_09_P1":"हां स्ट्रैमियो एक स्ट्रीमिंग प्रोटोकॉल के रूप में बिटटोरेंट का समर्थन करता है। आप या तो एक टोरेंट एडन के साथ या ड्रैग-एंड-ड्रॉप करके एक .torrent फ़ाइल को स्ट्रैमियो में या एक चुंबक लिंक को खोज बार में चिपकाने के साथ कर सकते हैं।","FAQ_09_P2":"कृपया ध्यान दें कि बिटटोरेंट का उपयोग कर एकमात्र आधिकारिक एडन $ {1} वोडो $ {2} है जो इंडी सामग्री प्रदान करता है सभी को बिटटोरेंट के साथ वितरित करने की अनुमति है।","FAQ_09_P3":"हम किसी तीसरे पक्ष के एडॉन्स के उपयोग का समर्थन नहीं करते हैं जो कॉपीराइट उल्लंघन को सक्षम कर सकता है।","FAQ_10_H1":"आधिकारिक एडॉन्स के साथ स्ट्रैमियो में मैं क्या देख सकता हूं?","FAQ_10_P1":"डिफ़ॉल्ट रूप से आप अपने एम्बेडेड प्लेयर के साथ स्ट्रैमियो के भीतर फिल्मऑन.टीवी यूट्यूब और वोडो सामग्री देख सकते हैं। इसके अतिरिक्त हमारे पास twitch.tv और कुछ अन्य लोगों के लिए एक एडन है।","FAQ_10_P2":"यह संयुक्त का चयन प्रदान करता है:","FAQ_10_L1":"Filmon.tv द्वारा प्रदान किए गए लोकप्रिय टीवी चैनल - उदाहरण के लिए ई 4 बीबीसी बॉलीवर्ल्ड टीवी","FAQ_10_L2":"यूट्यूब से सब कुछ - उदाहरण के लिए बीबीसी समाचार शीर्ष गियर vevo pewdiepie","FAQ_10_L3":"वोडो के साथ इंडी फिल्में","FAQ_10_L4":"Twitch.tv के साथ ऑनलाइन गेमिंग प्रसारण","FAQ_10_P3":"इसके अतिरिक्त गाइडबॉक्स और नेटफ्लिक्स एडॉन्स के साथ प्रदान किए गए कई सामग्री स्रोत हैं जो <b> नहीं करते हैं </ b> पूरी तरह से स्ट्रैमियो के अंदर खेलते हैं लेकिन दी गई सेवा में रीडायरेक्ट करेंगे। उदाहरण के लिए गाइडबॉक्स एडन आपको उन फिल्मों का चयन करेगा जो आप अमेरिका में Tubitv और क्रैकल जैसी सेवाओं से मुक्त करने के लिए स्ट्रीम कर सकते हैं।","FAQ_11_H1":"Stremio स्थापित नहीं होगा कि मुझे क्या करना चाहिए?","FAQ_11_P1":"यदि आप विंडोज़ पर $ {1} इस वैकल्पिक इंस्टॉलर $ {2} का प्रयास करें।","FAQ_11_P2":"यदि आप मैक ओएस एक्स पर हैं तो कृपया ध्यान रखें कि हम ओएस एक्स मैवरिक्स (10.9) से पुराने कुछ भी समर्थन नहीं करते हैं।","FAQ_11_P3":"यदि आप लिनक्स पर हैं तो ध्यान रखें कि हम इस समय केवल 64 बिट (x64) लिनक्स का समर्थन करते हैं।","FAQ_11_P4":"यदि आप अभी भी अपनी समस्या का समाधान नहीं कर सकते हैं तो कृपया हमें $ {1} फेसबुक ग्रुप $ {2} पर लिखें।","FAQ_12_H1":"मेरा एंटी-वायरस क्यों शिकायत करता है? क्या स्ट्रैमियो सुरक्षित है?","FAQ_12_P1":"हम आपको आश्वस्त करते हैं कि STREMIO $ {1} 100% क्लीन $ {2} है।","FAQ_12_P2":"आपका एंटीवायरस शिकायत कर रहा है क्योंकि हम अपने इंस्टॉलर में विज्ञापन शामिल करते हैं जो कुछ एंटी-वायरस प्रोग्राम विज्ञापन-बर्तन के रूप में पहचानते हैं।","FAQ_12_P3":"यदि आप अभी भी अनिश्चित हैं तो आप हमारे $ {1} वैकल्पिक इंस्टॉलर $ {2} को आजमा सकते हैं।","FAQ_13_H1":"मैं एडन कैसे बना सकता हूं?","FAQ_13_P1":"शुरुआत करने वालों के लिए हम आपको गिटहब पर $ {1} एडॉन्स सिस्टम मॉड्यूल $ {2} की जांच करते हैं।","FAQ_13_P2":"बाद में आप $ {1} हैलो वर्ल्ड ट्यूटोरियल $ {2} का अनुसरण कर सकते हैं।","FAQ_13_P3":"यदि आपके पास कोई प्रोग्रामिंग कौशल नहीं है तो कृपया $ {1} reddit समुदाय $ {2} पर अपना विचार पोस्ट करें और $ {3}office@stremio.com $ {4} पर अपने एडन आइडिया के साथ हमसे संपर्क करें।","FAQ_14_H1":"एडॉन्स कैसे प्रकाशित होते हैं?","FAQ_14_P1":"जब आप एक एडन और होस्ट बनाते हैं और अपने मैनिफेस्ट में <b> एंडपॉइंट </ b> फ़ील्ड बनाते हैं जो एक काम करने वाले एडन पते को इंगित करता है, एडन स्वचालित रूप से खुद को $ {1} एडन कैटलॉग $ {2} में प्रकाशित करेगा।","FAQ_14_P2":"ऐसा इसलिए होता है क्योंकि स्ट्रैमियो-एडॉन्स मॉड्यूल का सर्वर हिस्सा स्वचालित रूप से एडन की घोषणा करने के लिए हमारे एपीआई को कॉल करता है। जब हमारा एपीआई आपके <b> एंडपॉइंट </ b> को मान्य एडन के रूप में मान्य करता है तो यह कैटलॉग में दिखाना शुरू कर देगा।","FAQ_15_H1":"क्या मैं अपने ब्राउज़र में STREMIO चला सकता हूं?","FAQ_15_P1":"फिलहाल नहीं, लेकिन यह आ रहा है!","FAQ_15_P2":"यदि आप एक अल्फा देखने के लिए उत्सुक हैं तो आप इसे यहां देख सकते हैं: $ {1} alpha4.strem.io $ {2}। ध्यान रखें कि इस अल्फा पर स्ट्रीमिंग अक्षम है। हम क्रोम फ़ायरफ़ॉक्स ओपेरा और एज का समर्थन करते हैं।","FAQ_16_H1":"टीवी के लिए कास्टिंग काम / उपशीर्षक काम नहीं करता है","FAQ_16_P1":"टीवी में कास्टिंग डीएलएनए तकनीक का उपयोग करता है जो विभिन्न टीवी ब्रांडों और मॉडलों के बीच बहुत असंगत है। इसी कारण से हमारे पास हर मामले में इसका परीक्षण करने की क्षमता नहीं है, इसलिए यह सही से दूर है। इसके बावजूद हम इसे लगातार सुधारने पर काम कर रहे हैं लेकिन हम आपको एक समय का अनुमान नहीं दे सकते हैं जब डीएलएनए आपके टीवी के साथ ठीक से काम करना शुरू कर देगा।","FAQ_16_P2":"यदि आप कास्टिंग मेनू में अपना टीवी भी नहीं देखते हैं तो कृपया अपने नेटवर्क कनेक्शन को अक्षम करने और इसे फिर से सक्षम करने का प्रयास करें (विंडोज़ राइट पर नेटवर्क पर क्लिक करें और सक्षम / अक्षम करें) के साथ ही अपने राउटर टीवी और पीसी को पुनरारंभ करें।","FAQ_16_P3":"यदि आप अभी भी मुद्दों का सामना कर रहे हैं तो आप अपने टीवी ब्रांड और मॉडल जानकारी को ${1}office@stremio.com $ {2} पर भेजकर हमारी सहायता कर सकते हैं।","FAQ_16_P4":"इस बीच हम क्रोमकास्ट की सलाह देते हैं कि हम एक अच्छी तरह से समर्थन करते हैं या बस अपने टीवी में अपने पीसी में एक एचडीएमआई केबल के साथ प्लगिंग करते हैं।","FAQ_17_H1":"Stremio फ्रीज और / या दुर्घटनाओं मैं क्या कर सकता हूँ?","FAQ_17_P1":"सबसे पहले यदि आप एवीजी एंटी-वायरस के साथ विंडोज 7 का उपयोग कर रहे हैं: हमें उस संयोजन के साथ एक समस्या है। समस्या एवीजी में ही है और हमारे अंत में इसे हल करने का कोई उचित तरीका नहीं है। दुर्भाग्य से एंटी-वायरस को अपवाद या अक्षम करना काम नहीं करेगा। एकमात्र समाधान एवीजी को किसी और चीज के साथ बदलने के लिए है।","FAQ_17_P2":"यदि यह समस्या नहीं है लेकिन आप अभी भी विंडोज़ का उपयोग कर रहे हैं तो कृपया नवीनतम सर्विस पैक में अपडेट करें और अपने जीपीयू ड्राइवरों को अपडेट / इंस्टॉल करें फिर पुन: प्रयास करें।","FAQ_17_P3":"यदि आप समस्या को हल नहीं कर रहे हैं या आप मैक या लिनक्स का उपयोग कर रहे हैं तो कृपया हमें $ {1} हमारे फेसबुक ग्रुप $ {2} पर समस्या के सटीक विवरण की रिपोर्टिंग करें।","FAQ_18_H1":"मैं एडन कैसे बना सकता हूं?","FAQ_18_P1":"शुरुआत करने वालों के लिए हम आपको गिटहब पर $ {1} एडॉन्स सिस्टम मॉड्यूल $ {2} की जांच करते हैं।","FAQ_18_P2":"बाद में आप $ {1} हैलो वर्ल्ड ट्यूटोरियल $ {2} का अनुसरण कर सकते हैं।","FAQ_18_P3":"यदि आपके पास कोई प्रोग्रामिंग कौशल नहीं है तो कृपया $ {1} reddit समुदाय $ {2} पर अपना विचार पोस्ट करें और $ {3}office@stremio.com $ {4} पर अपने एडन आइडिया के साथ हमसे संपर्क करें।","FAQ_19_H1":"STREMIO डिस्क स्थान क्यों ले रहा है?","FAQ_19_P1":"स्ट्रीमियो में अस्थायी रूप से स्ट्रीम करने वाली वीडियो फ़ाइलों को रखने के लिए <b> स्थानीय कैश </ b> है।","FAQ_19_P2":"इसमें दो लाभ हैं: सबसे पहले यह STREMIO को आगे के वीडियो को पूर्व-बफर करने की अनुमति देता है ताकि चिकनी स्ट्रीमिंग सुनिश्चित हो सके। दूसरा यह वीडियो को स्थानीय कैश में रखता है ताकि आप उन्हें ऑफ़लाइन देखना जारी रख सकें।","FAQ_19_P3":"सेटिंग पैनल में <b> कैश </ b> सेटिंग पर कितना स्ट्रैमियो निर्भर करता है। स्ट्रैमियो आपकी डिस्क पर सेट राशि (उदा। 2 जीबी) तक रख सकता है जब तक कि वर्तमान में स्ट्रीम किए गए वीडियो उस मामले से बड़े न हों, जिस स्थिति में इसे तब तक रखने के लिए पर्याप्त भंडारण आवंटित करना होगा जब तक कि आप इसे स्ट्रीम कर रहे हों।","FAQ_20_H1":"कैश फ़ोल्डर कहां है?","FAQ_20_P1":"विंडोज़ पर यह सेटिंग्स में चुने गए ड्राइव में स्ट्रैमियो-कैश है (उदा। E: stremio-cache)","FAQ_20_P2":"मैकोज़ पर यह ~ / पुस्तकालय / आवेदन समर्थन / stremio / stremio-cache","FAQ_20_P3":"लिनक्स पर यह ~ / .stremio / stremio-cache या ~ / stremio-cache","FAQ_21_H1":"मुझे मिलता है स्ट्रीमिंग सर्वर त्रुटि नहीं मिली है मैं क्या कर सकता हूं?","FAQ_21_P1":"यदि आपको यह त्रुटि मिलती है तो इसका मतलब कुछ चीजों में से एक है:","FAQ_21_P2":"1) आप हमारे $ {1} वेब संस्करण $ {2} के माध्यम से यूट्यूब / बिटटोरेंट स्रोत द्वारा समर्थित एडन का उपयोग करने की कोशिश कर रहे हैं। इस मामले में आपको हमारे डेस्कटॉप संस्करण को $ {3} हमारी वेबसाइट $ {4} से इंस्टॉल करना चाहिए।","FAQ_21_P3":"2) आपके STREMIO स्थापना के साथ कुछ गलत है। इस मामले में $ {1} वेबसाइट $ {2} से हमारे नवीनतम डेस्कटॉप संस्करण को पुनः स्थापित करने का प्रयास करें। यदि यह आपके पीसी को पुनरारंभ करने और फिर से कोशिश करने वाले एंटी-वायरस प्रोग्राम और फ़ायरवॉल को अक्षम करने का प्रयास करने में मदद नहीं करता है। यदि यह काम नहीं करता है तो कृपया हमें हमारे $ {3} हमारे फेसबुक समूह $ {4} पर लिखें।","FAQ_22_H1":"मैं आईओएस पर अधिकांश एडॉन्स को नहीं देख सकता / उपयोग नहीं कर सकता","FAQ_22_P1":"ऐप्पल ऐप स्टोर के नियमों और शर्तों में प्रतिबंधों के कारण हमने केवल आईओएस आवेदन को केवल एडॉन्स के एक विशेष सेट पर प्रतिबंधित कर दिया है।","FAQ_22_P2":"लेकिन बाकी आश्वासन दिया गया है - भविष्य में आईओएस के लिए और अधिक एडॉन्स होंगे और हम एक एकीकरण भी जोड़ सकते हैं जो आपको आईओएस ऐप को स्ट्रैमियो स्ट्रीमिंग सर्वर से जोड़ने के लिए सभी स्ट्रैमियो एडॉन्स का उपयोग करने की अनुमति देगा।"}')},25133:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filmovi","TYPE_series":"Serije","TYPE_tv":"TV","TYPE_channel":"Kanal","TYPE_other":"Ostalo","TYPE_movie_PL":"Filmovi","TYPE_series_PL":"Serije","TYPE_tv_PL":"TV","TYPE_channel_PL":"Kanal","TYPE_other_PL":"Ostalo","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Povratak","MORE":"Više","DONE":"Završeno","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Otkrij","Board":"Početna","Library":"Videoteka","My Library":"Moja videoteka","Calendar":"Kalendar","NOTIFICATION_ONLINE":"Sada ste povezani","NOTIFICATION_OFFLINE":"Niste povezani","INTERNET_CONNECTION":"Greška povezivanja","STORAGE_FULL_TITLE":"Upozorenje: memorija je popunjena!","STORAGE_FULL_TEXT":"Vaše postavke, preferencije ili podaci za prijavu neće biti spremljeni. Ponovno pokrenite ili ponovno instalirajte Stremio.","SEARCH":"Tražilica...","SEARCH_NO_RESULTS":"Nema pronađenih rezltata","SEARCH_EXPLANATION_CONTENT":"Pretraži filmove, serije, YouTube i TV kanale","SEARCH_EXPLANATION_PEOPLE":"Pretraži glumce, redatelje i producente","SEARCH_PASTE_LINKS":"Kopiraj poveznice","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Dodaj u videoteku","REMOVE_FROM_LIB":"Ukloni iz videoteke","ADDED_TO_LIB":"Dodano u videoteku","REMOVED_FROM_LIB":"Uklonjeno iz videoteke","TRAILER":"Najava","WATCH_TRAILER":"Pogledaj najavu","WATCH_NOW":"Pokreni gledanje","SHOW":"Prikaži","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Gledaj nasumično","IMDB_RATING":"IMDb Ocjena","YEAR":"Godina","DIRECTOR":"Redatelj","WRITER":"Producent","LEAD_ACTORS":"Glavni glumci","CAST":"Uloge","CREW":"Ekipa","SHOW_MORE_CAST":"Prikaži više »","AIRED":"Emitirano","SEASONS":"Sezone","GENRE":"Žanr","GENRE_ALL":"All genres","CATALOG":"Katalog","SUMMARY":"Sažetak","SHOW_MORE":"Prikaži još","SIMILAR":"Slično","UPCOMING":"Nadolazeće","TBA":"TBA","ENDED":"Završeno","DURATION":"Trajanje","FEATURED":"Istaknuto","METADATA":"Metadata","CATEGORY":"kategorija","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"pretraži videe","SEARCH_PLACEHOLDER":"traži sadržaj ili upiši magnet linkove","ADDON":"dodatak","ADDONS":"Dodaci","OFFICIAL":"službeni","ADDONS_OFFICIAL":"Službeni Stremio Dodaci","ADDONS_POPULAR":"Popularno na vašem području","ADDON_FREE":"besplatni dodaci","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"pretplata","ADDON_STREAM_GEORESTRICTED":"nije dostupno na vašem području","ADDON_STREAM_OFFLINECACHE":"Cache nije povezan","ADDON_STREAM_LOCALFILE":"Lokalni dokument","SHARE_ADDON":"Dijeli Dodatak","AVAILABLE_STREAMS":"Dostupni prijenosi","NO_STREAM":"Nema dostupnih prijenosa","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"Za više prijenosa instalirajte još Dodataka","STREAM_NOT_SUPPORTED":"Odabrani prijenos nije podržan.","ADDON_CATALOGUE":"Prikaži sve dodatke »","ADDON_CATALOGUE_MORE":"Više dodataka »","REPO_ADDED":"Repozitorij je dodan","ADDON_REPO_EXIST_ERR":"Ovaj dodatak je već dodan","ADDON_REPO_ERR":"Greška prilikom dodavanja repozitorija","ADDON_ADD_ERR":"Greška prilikom dodavanja dodatka","ERR_ADDON_PROTECTED":"Dodatak je zaštićen","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Nešto je pošlo po krivu - autentifikacija možda nije uspjela","ERR_NOT_COLLECTION_URL":"Nije url kolekcije","ERR_NOT_ADDON_URL":"Nije url dodatka","ERR_DETECTFROMURL":"Nemoguće otkriti podatke iz url-a","ADDON_DUPLICATE_WARNING":"Upozorenje: duplicirani dodatak","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Dodavanje dodatka nije uspjelo","REFRESH_ON_CLICK":"Pritisni za ponovno učitavanje","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film je i dalje u kinu","WATCH_IN_CINEMA":"Pogledaj ga u kinu","IN_THEATER":"U kinu","GET_TICKETS":"Nabavi karte","UPCOMING_EPISODE":"Nadolazeća epizoda","UPCOMING_EPISODE_MESSAGE":"Ova epizoda emitirati će se:","MISSING_DATE_EPISODE":"Nedostaje nadnevak epizode","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"Ovaj kanal još nije spremljen.<br>Molimo vas pokušajte za nekoliko minuta.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Dodajte u svoju videoteku da budete obešteni kada bude dostupno.","GET_NOTIFIED_WHEN_AVAILABLE":"Biti ćete obavješteni kada bude dostupno.","WARNING_STREAMING_SERVER":"Upozorenje: lokalni server za prijenos nije pronađen. Prijenos sa YouTube-a i BitTorrent-a neće biti dostupan.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Upozorenje: ovaj video možda ne podržava vaš hardver. Imajte na umu da reprodukcija može biti spora.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Ups, greška playera","PLAYER_ERROR_LOOKSLIKE":"Izgleda kao","PLAYER_ORIENTATION":"Orijentacija playera","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Fiksno","PLAYER_ORIENTATION_SENSOR_SHORT":"Senzor","PLAYER_ORIENTATION_LANDSCAPE":"Orijentacija playera fiksirana je vodoravno","PLAYER_ORIENTATION_SENSOR":"Orijentacija playera je automatska (senzor)","PLAYER_PLAYBACK_SPEED":"Brzina prikazivanja","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Uživo","PLAYER_NEXT_VIDEO_TITLE":"U sljedećem nastavku","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Odbaci","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Gledaj odmah","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"pokretanje iz","CASTING_TO":"Prikazivanje na","NETWORK_STATUS":"Mrežni status","STREAM_SPEED":"Brzina prikazivanja:","STREAM_BUFFERED":"Učitano:","PEERS_INFO":"Peer Informacije","PEERS_ACTIVE":"Aktivno:","PEERS_CONNECTED":"Spojeno:","PEERS_WAITING":"Na čekanju:","TRANSCODING_WARNING":"Upozorenje: pretvaranje videa.","STREAM_LOADING":"učitavanje...","PLAYING_LOCAL":"pokretanje iz lokalne datoteke","PLAYING_CACHE":"pokretanje iz privremenog skladišta","WRONG_SUBS":"Pogrešan prijevod?","ERR_SUBS_LOADING_TITLE":"Greška pri učitavanju podnapisa","ERR_SUBS_LOADING":"Greška pri učitavanju podnapisa: može biti do dodatka kojeg koristite, ili do internet povezanosti","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Sljedeći dodaci za podnapise ne rade","ERR_CASTING_UPDATE_TITLE":"Nemoguće ažurirati info o djeljenje ekrana: server možda nije spojen","CHOOSE_DEVICE":"Izaberi uređaj za gledanje","NO_CAST_DEVICES":"Nema dostupnih uređaja za odašiljanje.","NO_SETTINGS":"Nema dostupnih postavki.","NO_OPTIONS":"No options available","PHONE_TABLET":"Mobitel / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Podnapisi","SUBTITLES_CHANGE":"Promjeni podnapis za ","SUBTITLES_CHANGE_NONE":"Nažalost, nema drugih podnapisa za odabrani jezik","SUBTITLES_CHANGE_ACIVE":"Trenutno titl #{{subtitlesDialog.activeIdx + 1}} je aktivan. Klikni \\"Nastavi\\" da aktiviraš podnapis #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alterantivno,","SUBTITLES_ADJUST_DELAY":"Podešavanje kašnjenja podnapisa:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Ili koristi <span>G</span> / <span>H</span> gumb dok gledate da postavite podnapise.","SUBTITLES_ADJUST_DELAY_TIP":"Savjet: možete koristiti tipke <span>G</span> / <span>H</span> tijekom gledanja kako biste podesili kašnjenje podnapisa.","SUBTITLES_DELAY":"Kašnjenje podnapisa:","SUBTITLES_LOADING":"Učitavanje podnapisa...","SUBTITLES_UNAVAILABLE":"Nema dostupnih vanjskih podnapisa","SUBTITLES_DISABLED":"Isključeno","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sezona","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Epizoda","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"poredaj","SORT_BY":"Poredaj po","FILTER":"filtriraj","SORT_TRENDING":"popularno","SORT_RECENT":"nedavno","SORT_ALPHABET":"A-Ž","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"ocjena","SORT_WATCHED":"gledano","SORT_YEAR":"godina","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Novo za vas","New Episodes":"Nove epizode","New Videos":"Novi Videi","Recommendations":"Preporuke","LIBRARY_RESUME":"nastavi","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Pojedinosti","LIBRARY_RESUME_DISMISS":"odbaci","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Istaktnut","DISCOVER_TOP":"Najbolji","DISCOVER_OSCAR":"Dobitnici Oskara","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Dodatak je vratio prazan sadržaj.","DISCOVER_ADULT_WARNING":"Ovaj sadržaj dostupan je samo odraslima. Imaš li 18+ godina?","DISCOVER_NOADDON_WARNING":"Upozorenje: nema aktivinog Stremio dodatka za ovaj tip. Prikazujemo spremljene stvari, ništa se neće promijeniti.","DISCOVER_LOAD_ERR":"Sadržaj nije pokrenut, greška.","DISCOVER_ADDON_UNINSTALLED":"Sadržaj više nije dostupan. Moguće da ste izbriali dodatak.","UNINSTALL_THIS_ADDON":"Ukloni dodatak","ERR_ADDON_NOT_INSTALLED":"Ovaj dodatak nije instaliran. Instalirati sada?","DETAIL_RECEIVE_NOTIF_SERIES":"Primaj obavijesti o novim epizodama","DETAIL_RECEIVE_NOTIF_VIDEOS":"Primaj obavijesti o novim videima","SIDEBAR_SHOW_STREAMS":"Prikaži prijenose","RELAUNCH":"Ponovo pokreni sada!","UPGRADE":"Nova verzija je dostupna! Nadogradi se na najnoviju inačicu Stremija","RELOAD_UI":"Ponovno učitaj korisničko sučelje","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"Koristite zastarjelu verziju Stremija što nije preporučljivo.","MANUAL_UPDATE_LINE2":"Molimo, ažurirajte čim prije.","BUTTON_UPDATE_LATTER":"Ne sada","BUTTON_UPDATE_NOW":"Ažuriraj","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonimni korisnik","DONT_HAVE_ACC":"Nemate račun?","HAVE_ACC":"Već imate račun?","PASSWORD":"Lozinka","PASSWORD_CONFIRM":"Potvrdite lozinku","EMAIL":"E-mail","FB_LOGIN":"Prijavi se preko Facebook-a","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Ništa se ne dijeli bez vaše dozvole","FB_NOPOST":"Nećemo objavljivati ništa u vaše ime","OR":"ili","I_ACCEPT":"Prihvaćam","I_ACCEPT_BY_CLICKING":"Klikom na gornji gumb prihvaćam uvjete","TOS":"Uvjete i Odredbe","MUST_ACCEPT_TERMS":"Morate prihvatiti uvjete","PASSWORDS_NOMATCH":"Lozinke se ne podudaraju","SIGN_UP":"Registracija","SIGN_UP_EMAIL":"Prijavite se putem e-pošte","CLICK_TO_SIGN_UP":"Ovdje pritisnite za registraciju.","LOG_IN":"Prijavi se","LOG_OUT":"Odjavi se","EXIT_FULLSCREEN":"Izađi iz punog prikaza","ENTER_FULLSCREEN":"Uđi u puni prikaz","PLAY_URL_MAGNET_LINK":"Pokreni URL/Magnet poveznicu","HELP_FEEDBACK":"Podrška i povratna informacija","TERMS_OF_SERVICE":"Uvjeti korištenja usluge","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"O Stremiju","USER_PANEL":"Korisniča traka","LOGIN_LABEL":"Login","GUEST_LOGIN":"Prijavi se kao gost","GUEST_LOGIN_NOTICE":"Gostujuća prijava nije preporučljiva. Koristeći redovnu prijavu, Stremio omogućava sinkronizaciju svoje videoteke, primanje obavještenja o omiljenim serijama / kanalima. Jeste li sigurni da želite nastaviti?","GUEST_LOGIN_NOTICE_2":"Gostujuća prijava nije preporučljiva - nećete imati sinkronizaciju obavijesti Videoteke i Ploče, koje su od važnosti za Stremio. Jeste li sigurni da želite nastaviti?","CLICK_HERE":"klikni ovdje","WRONG_PASSWORD":"Pogrešna lozinka. U slučaju da ste zaboravili lozinku, ","SET_A_PASS":"postavite lozinku","RESET_PASSWORD":"Ponovno postavi lozinku","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Zaboravili ste lozinku?","EMAIL_USED_WITH_FB":"Ovaj email je korišten sa Facebook prijavom.","INVALID_EMAIL":"Unesite ispravnu e-mail adresu","INVALID_PASSWORD":"Molimo Vas da unesete ispravnu lozinku","CONN_ERR":"Greška pri povezivanju - molimo Vas pokušate kasnije.\\n\\nAko se ovo nastavi, onemogućite vatrozid/antivirus (posebice Bitdefender).","IMPORT_FROM_GUEST":"Uvezi videoteku iz gostujućeg računa","RECEIVE_UPDATES_EMAIL":"Primajte novosti od kompanije Stremio na vaš e-mail","LOGIN_FAILED":"Neuspjela Prijava.","SIGNUP_FAILED":"Prijava nije uspjela.","SEARCH_FAILED":"Pretraga nije uspjela","EMAIL_USED":"Ovaj email već je u upotrebi.","WAITING_FB_LOGIN":"Prijavljivanje preko Facebook-a...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Pokreni u vanjskom pregledniku","EXTERNAL_REMEMBER_PLAYER":"Zapamti moj izbor","EXTERNAL_ALWAYS_PLAY":"Da","EXTERNAL_ONLY_ONCE":"Ne","BEST_FIT":"Najprikladniji prikaz","FIT_SCREEN":"Uklopi u prikaz","FILL":"Ispuni prikaz","16:9":"16:9","4:3":"4:3","Original":"Izvorni prikaz","INTRO_TASTE":"Recite nam što volite","INTRO_TASTE_LONG":"Recite nam što biste željeli gledati","INTRO_TASTE_PICK":"Izaberite {{interestsRemaining}} zanimljivo","INTRO_TASTE_PICK_MORE":"Izaberite još {{interestsRemaining}} zanimljivog","INTRO_TASTE_HELP_US":"Pomozite nam da naučimo o vama.","INTRO_TASTE_CHOOSE_THESE":"Izaberite neke od ovih:","INTRO_TASTE_CHOOSE_MIN":"Izaberite bar tri kategorije","INTRO_TASTE_CHOOSE_MIN_ERR":"Morate izabrati bar tri kategorije!","INTRO_TASTE_LIFESTYLE":"Životni stil","INTRO_TASTE_SPORTS":"Sportovi","INTRO_TASTE_FOOD_HEALTH":"Hrana i zdravlje","INTRO_TASTE_BEAUTY_FASHION":"Ljepota i moda","INTRO_TASTE_NEWS":"Vijesti","INTRO_TASTE_GAMING":"Igrice","INTRO_TASTE_SCIENCE_EDU":"Znanost i obrazovanje","INTRO_TASTE_MUSIC":"Glazba","INTRO_TASTE_TRAVEL":"Putovanje","INTRO_TASTE_LATE_NIGHT":"Noćni talk-show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedija","INTRO_TASTE_DIY":"Uradi sam","INTRO_TASTE_TECH":"Tehnika","INTRO_TASTE_CINEMA":"Kinematografija","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Izabrani dodatak nije podržan na ovoj platformi.","ADDON_DISCLAIMER":"Korištenje trećih dodataka uvijek će biti predmet osobne odgovornosti i zakonom zemlje u kojoj se nalazite.","ADDON_ACTIVATE":"Aktivirati ovaj dodatak?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Dodaj","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"Možete dodati dodatak putem vanjske veze, koji će se pojaviti pod Instaliranim dodacima.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Što je novo","BUTTON_CONTINUE":"Nastavi","BUTTON_ACTIVATE":"Aktiviraj","BUTTON_ACTIVATED":"Aktivirano","BUTTON_CANCEL":"Prekini","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Poništni sve","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Vaša Videoteka izgleda prazno. Saznajte koliko je zapravo korisna :) ","HOW_START":"Ovako možete početi:","LIB_EMPTY_CAL":"Tvoj Kalendar prikazuje serije iz tvoje Videoteke.","HOW_START_CAL":"Ovako možeš dodati serije:","LIB_EMPTY_BOARD":"Tabla prikazuje notifikacije & preporuke slične tvojoj biblioteci.","HOW_START_BOARD_WAIT":"Molimo, dodajte par serija ili kanala u vašu videoteku i dozvolite nam par minuta da procesuiramo :)","HOW_START_BOARD":"Evo kako možete da dodate serije & flmove na nju:","IMPORT_FB":"Uvoz stvari koje vam se sviđaju na <span>Facebook</span>","IMPORT_TRAKT":"Uvezi videoteku sa: <span>Trakt</span>","IMPORT_DISCOVER":"Nađi zanimljive stvari u <span>Otkrij</span>","IMPORT_DISK":"Uvoz filmova ili serija koje imate na vašem <span>lokalnom disku</span>","PLEASE_CREATE_ACC":"Molimo Vas <u>napravite račun</u> da omogućite sinkronizaciju Videoteke & Table.","IMPORT_DISCOVER_SIGNUP":"Registrirajte se i otkrijte zanimljive stvari u <span>Otkrij</span>","IMPORT_DISK_SIGNUP":"Registrirajjte se i uvezite filmove i serije sa vašeg <span>lokalnog diska</span>","LIB_EMPTY_CLOUD":"Videoteka na oblaku","LIB_EMPTY_CLOUD_DESC":"Osobna videoteka ažuirana na svim uređajima","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Primaj obavijesti o novim epizodama","LIB_EMPTY_PERSONAL":"Osobno","LIB_EMPTY_PERSONAL_DESC":"Primaj personalizirane preporuke","LIB_EMPTY_CALENDAR_DESC":"Pripremi raspored za gledanje tvoje videoteke","LIB_EMPTY_ALL":"Prijavi se na neke od ovih:","LIB_EMPTY_BEST":"Prijavi se da dobiješ najbolje od Stremio-a","LIB_EMPTY_OTHER":"Prijavi se da dobiješ Kalendar & druge cool dodatke","CALENDAR_ADDED":"Stremio kalendar je dodan tvome kalendaru.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt autientifikacija nije valjana, molim vas u Postavkama autentificirajte","TRAKT_REQUIRES_LOGIN":"Trakt greška","TRAKT_REQUIRES_LOGIN_MSG":"Morate biti ulogirani","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Postavke","SETTINGS_NAV_GENERAL":"Općenito","SETTINGS_NAV_PLAYER":"Reproduktor","SETTINGS_NAV_STREAMING":"Prijenos","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Pokazi Kontrole","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"pojacaj zvuk","SETTINGS_SHORTCUT_VOLUME_DOWN":"stisaj zvuk","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Povratak unatrag","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Gledaj iducu epizodu","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"povecaj titlove","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Smanji velicinu titlova","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"povecaj delay titlova","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"smanji Delay titlova","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Pokreni prilikom paljenja","SETTINGS_VLC_DEFAULT":"Pokreni preko VLC-a","SETTINGS_UI_LANGUAGE":"Jezik sučelja","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Izlazak iz punog prikaza tipkom Esc","SETTINGS_GAMEPAD":"Omogući korištenje kontrolera","SETTINGS_CLOSE_WINDOW":"Zatvori program prilikom zatvaranja prozora","SETTINGS_SUBTITLES_LANGUAGE":"Zadani jezik podnapisa","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Zadana veličina podnapisa","SETTINGS_SUBTITLES_BACKGROUND":"Pozadina podnapisa","SETTINGS_SUBTITLES_COLOR":"Boja podnapisa","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Boja obruba podnapisa","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Boja pozadine podnapisa","SETTINGS_SEEK_KEY":"Premotavanje sadržaja strelicama","SETTINGS_SEEK_KEY_SHIFT":"Premotavanja sadržaja streliacam dok je tipka Shift pritisnuta","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Automatski pokreni sljedeću epizodu","SETTINGS_NEXT_VIDEO":"Prikazati obavijest za početak sljedeće epizode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"gledaj u pozadini","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"gledaj u drugom playeru","SETTINGS_RESIZE":"Automatski promjeni veličinu prozora prije puštanja","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server je dostupan.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server nije dostupan.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"pogreska","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Unesi streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profil","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Uvek koristi najnoviju BETA","SETTINGS_IMPORT_FB":"Uvezi sa Facebooka","SETTINGS_IMPORT_DISK":"Uvezi sa lokalnog diska","SETTINGS_IMPORT_TRAKT":"Uvezi sa Trakt-a","SETTINGS_PAUSE_MINIMIZED":"Pauziraj video kada je prozor minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Pozadinsko pokretanje","SETTINGS_SUBSCRIBE_CALENDAR":"Pretplati se na Kalendar","SETTINGS_REQ_EXPORT":"Zatraži izvoz podataka","SETTINGS_ACC_DELETE":"Zatraži brisanje naloga","SETTINGS_CHANGE_PASSWORD":"Promjeni lozinku","SETTINGS_TOS":"Uslovi korištenja","SETTINGS_SUPPORT":"Kontaktiraj podršku","SETTING_LANGUAGE":"Jezik","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Odjavi se sa Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Odjavi se sa Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"podrazumevani titlovi","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Pokreni u zasebnom prozoru (napredno)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Dali si siguran ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ovo će izbrisati lokalno pohranjene podatke i odjaviti vas.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatski","SETTINGS_HW_DISABLED":"Iskljuceno","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Zvuk","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Koristi crnu boju kao pozadinu","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Velicina","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Otkazi","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"ucitavanje","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Izbrisi Racun","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Izađi","CONNECTED":"Povezan","AUTHENTICATE":"Prijavi se","AUTHENTICATING":"Authenticating...","CACHING":"Keširanje","SETTINGS_CACHING_DRIVE":"Izaberi disk za keširanje","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Siječanj","February":"Veljača","March":"Ožujak","April":"Travanj","May":"Svibanj","June":"Lipanj","July":"Srpanj","August":"Kolovoz","September":"Rujan","October":"Listopad","November":"Studeni","December":"Prosinac","Monday":"Ponedeljak","Tuesday":"Utorak","Wednesday":"Srijeda","Thursday":"Četvrtak","Friday":"Petak","Saturday":"Subota","Sunday":"Nedjelja","Action":"Akcija","Comedy":"Komedija","War":"Ratni","Family":"Obiteljski","Animation":"Animacija","Adventure":"Avanturistički","Fantasy":"Fantazija","Crime":"Kriminalistički","Mystery":"Misterija","Romance":"Ljubavni","Drama":"Drama","Horror":"Horor","Thriller":"Triler","Sci-Fi":"Znanstvena Fantastika","Music":"Glazba","Biography":"Biografija","Documentary":"Dokumentarni","Sport":"Sport","Musical":"Mujuzikl","Western":"Western","Film-Noir":"Film-Noir","News":"Novosti","History":"Povijesni","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Zabava","Gaming":"Gaming","From TV":"Iz TV-a","Lifestyle":"Lifestyle","Science & Education":"Znanost & Edukacija","Cooking & Health":"Kuhanje & Zdravlje","Beauty & Fashion":"Ljepota & Moda","Sports":"Sport","News & Politics":"Vijesti & Politika","How-to & DIY":"DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Dobra dijela & Neprofitno","Movies":"Filmovi","Uk Live Tv":"UK Uživo Tv","Fashion":"Moda","Business News Radio":"Poslovni radio","Business Tv":"Poslovni tv","Cars & Auto":"Auto","Comedy Radio":"Komedija","Lifestyle Radio":"Lifestyle","News Tv":"Vijesti Tv","Food And Wine":"Hrana i vino","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religija","Kids":"Djeca","Body & Soul":"Tijelo i duša","Education":"Edukacija","Indian Tv":"Indian Tv","Extreme Sports":"Extremni sportovi","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Znanstvena Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Putovanja","Asian Tv":"Asian Tv","Entertainment":"Zabava","News Radio":"Vijesti Radio","Music Radio":"Glazbeni Radio","Language Learning":"Učenje jezika","Science Radio":"Znanstveni Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"novi video","new episode":"nova epizoda","new movie":"novi film","recommended":"preporučeno","we recommend":"preporučujemo","offer of the day":"ponuda dana","news":"vijesti","music video":"spot","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Odbaci obavijesti","CTX_DISMISS_ALL":"Odustani","CTX_SHARE":"Podijeli","CTX_COPY_SHARE_LINK":"Kopiraj link za dijeljenje","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Prikaži","CTX_PLAY":"Pokreni","CTX_PLAY_IN":"Pokreni u","CTX_PLAY_ON":"Pokreni na","CTX_WATCH_ON":"Gledaj na","CTX_WATCH":"Gledaj","CTX_WATCHED":"Pogledano","CTX_WATCH_BEGINNING":"Gledaj od početka","CTX_WATCH_MOBILE":"Gledaj na mobilnom uređaju","CTX_REWIND":"Premotaj na početak","CTX_MARK_WATCHED":"Označi kao pogledano","CTX_MARK_NON_WATCHED":"Označi kao nepogledano","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Označi ostalo kao pogledano","CTX_UNMARK_REST":"Označi ostalo kao nepogledano","CTX_RECEIVE_NEW_NOTIF":"Primaj nove obavijesti","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Obriši iz keša","CTX_REMOVE_CACHE_EP":"Ukloni epizodu iz keša","CTX_OPEN_CONTAINING":"Otvori mapu sadržaja","CTX_REMOVE":"Ukloni iz Videoteke","CTX_AVAILABLE_OFFLINE":"Dostupno izvanmrežno","CTX_PAUSED":"Pauzirano","CTX_ALWAYS_ON_TOP":"Uvijek na vrhu","CTX_FULLSCREEN":"Cijeli zaslon","CTX_WRONG_SUBS":"Pogrešan prijevod?","CTX_REPORT_ISSUES":"Prijavi problem","CTX_COPY":"Kopiraj","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Naljepi","CTX_CLEAR":"Očisti","CTX_CLEAR_RECENT_SEARCHES":"Obriši skorašnje pretrage","HELLO_THERE":"Hej zdravo","HOPE_YOU_ENJOY":"Nadamo se da uživate uz Stremio i da je već jedna od vaših omiljenih aplikacija !","WHO_ARE_WE":"Tko smo mi? Mi smo tim iza njega - dva momka koja rade teško svaki dan već skoro 3 godine da bih napravili ovaj proizvod sve boljim i boljim.","SUPPORT_US":"Ako uživate koristeći Stremio, ako je Stremio vrijedan za vas - širite riječ !","SPREAD_THE_WORD":"Podijelite sa svojim prijateljima sada, širite riječi u vezi Stremio","MORE_PEOPLE":"Što više ljudi koristi Stremio, to će biti bolji !","SEND_A_LINK":"Ili pošaljite link ka našoj stranici","TIP_LOCALFILES":"Savjet: možeš prevući i ubaciti lokalne video datoteke u Stremio","ADDON_MY":"Moji Dodaci","ADDON_COMMUNITY":"Dodaci zajednice","ADDON_OFFICIAL":"Službeni dodaci","ADDON_REPOS":"Dodaci repozitoriji","ADDON_SEARCH":"Pretraži dodatke","ADDON_INSTALL":"Instaliraj","ADDON_CONFIGURE":"Promijeni","ADDON_UNINSTALL":"Deinstaliraj","ADDON_UPGRADE":"Nadogradi","ADDON_INSTALLED":"Instalirano","ADDON_INSTALLED_MSG":"Dodatak instaliran!","ADDON_UPGRADED_MSG":"Dodatak ažuriran!","ADDON_UNKNOWN":"Nepoznato","ADDON_ERR":"Greška pri instaliranju dodatka!","ADDON_DISCONNECTED":"Veza prekinuta","ADDON_APP_MISSING":"aplikacija za ovaj izvor nije instalirana. Želiš li sada instalirati?","ADDON_APP_INSTALL":"Instaliraj sada","ADDON_PAGE":"Stranica dodataka","ADDON_TOP_CONTENT":"Najbolje do ovog dodatka","ADDON_PROVIDES":"Ovaj dodatak će vam dati:","ADDON_WATCH":"Pogledaj #{types} sada!","ADDON_WATCH_FREE":"Pogledaj #{types} BESPLATNO sada !","ADDON_ADDON":"Dodatak","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"Više #{types} u Otkrivanju","ADDON_PROVIDES_STREAMS":"Gledaj #{types}","ADDON_PROVIDES_STREAMS_FREE":"Gledaj #{types} BESPLATNO","ADDON_PROVIDES_SUBTITLES":"Prijevodi za #{types}","ADDON_CANTDETECT":"Nismo uspjeli pronaći i pokrenuti Stremio, tako da nismo uspjeli otkriti koje dodatke imate instaliarne.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Nisu pronađene informacije o ovome ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Greška pri preuzimanju podataka.","ERR_CANT_PARSE_MAGNET":"Nemoguće spojiti magnet","ERR_NO_MAGNET_INFOHASH":"Bez valjanog hash-a za magnet","ERR_NO_FILE_PATH":"Nije moguće poslati zahtjev bez lokacije datoteke","ERR_NO_TORRENT":"Nema torrent-a","ERR_NO_SUPPORTERD_FILES":"Nisu nađene podržane datoteke","ERR_OPENING_FILES":"Nije moguće otvoriti vanjske datoteke","ERR_INVALID_LINK":"Link nije valjan","ERR_REGISTERED_ONLY":"Ova mogućnost je dostupna samo registriranim korisnicima.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Nastavi gledanje","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmovi izabrani isključivo za vas.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Gledaj Odmah","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Skini sada","WEBSITE_DOWNLOAD_FOR":"Skini sada za","WEBSITE_IS_DESKTOP":"Stremio je desktop aplikacija, otvori ovu stranicu na svom PC i skini ga","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Glavna","WEBSITE_PAGE_FEATURES":"Karakteristike","WEBSITE_PAGE_ADDONS":"Dodaci","WEBSITE_PAGE_TECH":"Tehnologija","WEBSITE_PAGE_CREATE_ADDON":"Kreiraj dodatak","WEBSITE_PAGE_CONTACTS":"Kontakti","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmovi","WEBSITE_TYPE_series_PL":"Serije","WEBSITE_TYPE_tv":"Uživo TV","WEBSITE_TYPE_channel":"Kanali","WEBSITE_STREMIO_WHAT_IS":"Stremio je aplikacija koja vam pomaže da organizujete i odmah gledate vaše omiljene video, filmove, TV serije i TV kanale.","WEBSITE_FEATURES_WATCH":"Gledaj odmah u HD","WEBSITE_FEATURES_WATCH_DETAIL":"Kliknite i pokrenite svoje omiljene filmove, TV Emisije, video i TV kanale.","WEBSITE_FEATURES_SUBS":"Automatski Prevodi","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatski odabire sinkronizirane prijevode za vaš jezik.","WEBSITE_FEATURES_SUBS_LABEL":"Stremio automatski odabire sinkronizirane prijevode za vaš jezik.","WEBSITE_FEATURES_CAST":"Pokreni na TV & mobilnim uređajima","WEBSITE_FEATURES_CAST_DETAIL":"Emitiranje na AppleTV, Chromecast, Smart TV (DLNA/UPnP) i mobilne uređaje.","WEBSITE_LIB":"Uživajte u Svojoj osobnoj Videoteci sinkoniziranoj na Sve Vaše Uređaje","WEBSITE_LIB_COLLECT":"Prikupite sa Stremio","WEBSITE_LIB_IMPORT":"Uvezite sa Facebook-a","WEBSITE_LIB_LOCAL":"Dodajte sa vašeg lokalnog diska","WEBSITE_BOARD":"Ploča - Vaše one-stop mjesto za obavještenja i preporuke","WEBSITE_BOARD_RECOMMEND":"Preporučena TV Emisija","WEBSITE_BOARD_TRENDING":"Traženi Film","WEBSITE_BOARD_NEW":"Novi Video","WEBSITE_BOARD_EPISODE":"Nova Epizoda","WEBSITE_BOARD_1":"Tražite nešto interesantno da gledate? Dobijajte preporuke na osnovu vašeg ukusa!","WEBSITE_BOARD_2":"Primite obavještenja kada nova epizoda vaš omiljene TV emisije ili YouTube kanala izadje!","WEBSITE_BOARD_YOUTUBE":"Novi Videi na Youtube kanalima","WEBSITE_BOARD_EPISODES":"Nove epizode serije koje pratite","WEBSITE_ADDONS":"Dodaci za sadržaj","WEBSITE_TECH_DETAIL":"Volimo tehnologiju, volimo znanost!\\nStremio koristi sljedeći softver otvorenog koda:","WEBSITE_TECH_WCJS":"WebChimera.js omogućava gledanje u bilo kojem formatu sa dobrim performansama","WEBSITE_TECH_WCJS_EXTRA":"Mi smo glavni suradnici ","WEBSITE_TECH_ELECTRON":"Electron pruža inovativu platformu za Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Mi smo suradnici projekta","WEBSITE_TECH_LINVODB":"Baza podataka koja omogućava da su podaci organizirani i svugdje spremni.","WEBSITE_TECH_LINVODB_EXTRA":"Kućna tehnologija","WEBSITE_CREATE_ADDON":"Kreiraj svoj dodatak","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Zainteresirani? Dobrodošli ste da nas <a href=\'mailto:office@stremio.com\'>kontaktirate</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Mišljenja koja dijelimo:","WEBSITE_SPREAD":"Nek se čuje za Stremio:","WEBSITE_CONTACT":"Ako nas mislite kontaktirati, slobodno","WEBSITE_OPENSOURCE":"Za naš otvoreni kod idi na","WEBSITE_BITCOIN":"Doniraj bitcoin:","WEBSITE_FAQ":"Često postavljena pitanja","WEBSITE_FAQ_SHORT":"ČPP","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Uslovi korištenja","WEBSITE_LEGAL":"Zakoni","WEBSITE_PAGE_ABOUT":"O nama","WEBSITE_PAGE_BECOME_PARTNER":"Postani partner","WEBSITE_ALL_YOU_CAN_WATCH":"Sloboda gledanja\\nsvega što želiš.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Što je Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio dodaci","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partneri i pomagači","WEBSITE_COMMUNITY_GOODIES":"Stremio dobri","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpaperi","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sport","FOOD_HEALTH":"Hrana i zdravlje","BEAUTY_FASHION":"Ljepota i moda","NEWS":"Vijesti","GAMING":"Gaming","SCIENCE_EDUCATION":"Znanost i edukacija","MUSIC":"Glazba","TRAVEL":"Putovanje","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Komedija","DIY":"DIY","TECH":"Tech","CINEMA":"Kinomatografija","CONTINUE":"Nastavi","SLOW_LOADING":"Loše učitavanje?","I_GIVE_UP":"PREDAJEm SE","LEARN_MORE":"Saznaj više","POOR_SOURCE":"Ovaj izvor je slabo dostupan ili je Vaša internet konekcija prespora","PICK_CATEGORIES_ERR":"Moraš odabrati najmanje 3 kategorije","ADJUST_TIMING":"Promijeni vrijeme sa ","ADJUST_SIZE":"Promijeni veličinu sa ","SEARCH_ANYTHING":"Pretražuj sve...","ALL_CATEGORIES":"Sve","SEARCH_CATEGORIES":"Filmove, Serije, YouTube & TV","SEARCH_PERSONS":"Glumce, Režisere i Scenografe","SEARCH_PROTOCOLS":"HTTP i Magnet Linkove","SEARCH_TYPES":"IMDB / TVDB linkove","WATCHED":"Pregledano","SHOW_LESS":"Prikaži manje","LAST_SEARCHES":"Posljednje pretrage","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"ODABERI NEŠTO OD OVOGA:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Daljinski upravljač nije moguče učitati","STREMIO_OFFLINE":"Stremio nije povezan","STREMIO_EXPENSIVE_CONNECTION":"Prijenos podataka je skup","USE_DATA":"Korištenje podataka","WARNING":"Upozorenje","MORE_INFO":"Više Informacija ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Učitavanje ...","STREMIO_TV_BACK_TO_LANGUAGES":"Nazad na jezike","STREMIO_TV_REMOTE":"Daljinski upravljač","STREMIO_TV_GO_TO":"Idi na:","STREMIO_TV_OR_SCAN":"ili skeniraj:","STREMIO_TV_ADDON_INSTRUCTIONS":"Molim slijedite upute za instaliranje dodataka.","STREMIO_TV_LIVE_TV":"TV uživo","STREMIO_TV_RESUME_WATCHING":"Nastavi Gledanje","STREMIO_TV_LOADING_BACKGROUND":"Pozadina učitavanja","STREMIO_TV_CHECKING_AUTHENTICATION":"Provjera autentifikacije","STREMIO_TV_LOADING_BOARD":"Ploča učitavanja","STREMIO_TV_LOGIN_HEADER_LINE_1":"Želimo da naši korisnici imaju najbolje moguće personalizirano iskustvo sa našim softverom.","STREMIO_TV_LOGIN_HEADER_LINE_2":"To je razlog zašto vas ljubazno molimo da se prijavite u svoj račun.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Hvala na razumjevanju,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio Tim","STREMIO_TV_REMOTE_INSTRUCTIONS":"Da bi koristili Web daljinski upravljač sa Mobilnim uređajem / Tabletom / PC:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Postavke","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio krug nije detektirao internet vezu.","STREMIO_TV_WIFI_DETAILS_1":"Povezi se sa:","STREMIO_TV_WIFI_DETAILS_2":"stremio-krug","STREMIO_TV_WIFI_DETAILS_3":"Koristi lozinku:","STREMIO_TV_WIFI_DETAILS_4":"stremiokrug","STREMIO_TV_WIFI_DETAILS_5":"Otvori internet preglednik sa:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Promijeni uređaj","REMOTE_VIDEOS":"Videi","REMOTE_ADJUST_TIMING":"Namjesti vrijeme","REMOTE_ADJUST_SIZE":"Namjesti veličinu","REMOTE_COULD_NOT_BE_LOADED":"Web daljinski upravljač nije moguće učitati","REMOTE_RETRY":"Pokušaj ponovo","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},88299:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Sorozat","TYPE_tv":"TV csatorna","TYPE_channel":"Csatorna","TYPE_other":"Egyéb","TYPE_movie_PL":"Filmek","TYPE_series_PL":"Sorozatok","TYPE_tv_PL":"TV csatornák","TYPE_channel_PL":"Csatornák","TYPE_other_PL":"Egyebek","TYPE_ALL":"Minden","TYPE":"Típus","CATALOG_com_linvo_cinemeta_top":"Népszerű","CATALOG_com_linvo_cinemeta_imdbRating":"Kiemelt","CATALOG_com_linvo_cinemeta_year":"Új","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Nyilvánosan Elérhető Filmek","VIDEO":"Videó","BACK":"Vissza","MORE":"Több","DONE":"Kész","COPY":"Másolás","SUCCESS":"Siker","ERROR":"Hiba","SETTINGS_CASTING_MODE_PICKER":"Vezeték nélküli kivetítés mód","CASTING_MODE_HLSV2":"Alapértelmezett","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Nincs átkódolás","Discover":"Felfedezés","Board":"Ajánlatok","Library":"Könyvtár","My Library":"Könyvtáram","Calendar":"Naptár","NOTIFICATION_ONLINE":"Jelenleg online vagy","NOTIFICATION_OFFLINE":"Jelenleg offline vagy","INTERNET_CONNECTION":"Hálózat csatlakoztatva","STORAGE_FULL_TITLE":"Figyelem: a tárhelye megtelt!","STORAGE_FULL_TEXT":"A Stremio nem tudja menteni az Ön beállításait, preferenciáit vagy bejelentkezési adatait. Próbálja meg újraindítani vagy újratelepíteni a Stremio-t.","SEARCH":"Keresés","SEARCH_NO_RESULTS":"Nincs találat","SEARCH_EXPLANATION_CONTENT":"Keressen filmeket, sorozatokat, YouTube- és TV-csatornákat","SEARCH_EXPLANATION_PEOPLE":"Színészek, rendezők és írók keresése","SEARCH_PASTE_LINKS":"Másoljon be HTTP vagy Mágnes linket","SEARCH_OR_PASTE_LINK":"Keressen vagy illesszen be linket","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Hozzáadás a könyvtárhoz","REMOVE_FROM_LIB":"Eltávolítás a könyvtárból","ADDED_TO_LIB":"Hozzáadva a könyvtárhoz","REMOVED_FROM_LIB":"Eltávolítva a könyvtárból","TRAILER":"Előzetes","WATCH_TRAILER":"Előzetes megtekintése","WATCH_NOW":"Indítás","SHOW":"Tovább","SHOW_MOVIE":"Film megtekintése","WATCH_RANDOM":"Random tartalom megtekintése","IMDB_RATING":"IMDb értékelés","YEAR":"Év","DIRECTOR":"Rendező","WRITER":"Író","LEAD_ACTORS":"Főszereplők","CAST":"Szereposztás","CREW":"Stáb","SHOW_MORE_CAST":"Mutass többet »","AIRED":"Vetítve","SEASONS":"Évadok","GENRE":"Műfaj","GENRE_ALL":"Minden műfaj","CATALOG":"Katalógus","SUMMARY":"Tartalom","SHOW_MORE":"Mutass többet","SIMILAR":"Hasonló","UPCOMING":"Hamarosan érkező","TBA":"TBA","ENDED":"Vége","DURATION":"Időtartam","FEATURED":"Kiemelt","METADATA":"Metaadat","CATEGORY":"kategória","LINKS_GENRES":"Műfajok","LINKS_CAST":"Szereplők","LINKS_DIRECTORS":"Rendezők","SEARCH_VIDEOS":"Videó keresése","SEARCH_PLACEHOLDER":"Keresés vagy URL bemásolása","ADDON":"bővítmény","ADDONS":"Bővítmények","OFFICIAL":"hivatalos","ADDONS_OFFICIAL":"Hivatalos Streamio Bővítmények","ADDONS_POPULAR":"Népszerű a környezetedben","ADDON_FREE":"ingyenes","ADDON_PEERED":"kukucskált","ADDON_SUBSCRIPTION":"előfizetés","ADDON_STREAM_GEORESTRICTED":"Nem erélhető a régiódban","ADDON_STREAM_OFFLINECACHE":"Offline gyorsítótár","ADDON_STREAM_LOCALFILE":"Helyi fájl","SHARE_ADDON":"Addon megosztása","AVAILABLE_STREAMS":"Elérhető streamek","NO_STREAM":"Nincs elérhető stream","ALL_ADDONS":"Minden","INSTALL_MORE_ADDONS":"További streamekért telepítsen további bővítményeket","STREAM_NOT_SUPPORTED":"A kiválasztott stream nem támogatott ezen a felületen.","ADDON_CATALOGUE":"Az összes bővítmény megjelenítése »","ADDON_CATALOGUE_MORE":"További bővítmények »","REPO_ADDED":"Adattár hozzáadva","ADDON_REPO_EXIST_ERR":"Ez a bővítmény tárház már létezik","ADDON_REPO_ERR":"Hiba történt a tár hozzáadása során","ADDON_ADD_ERR":"Hiba történt a bővítmény hozzáadása során","ERR_ADDON_PROTECTED":"Védett bővítmény, nem telepíthető","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Valami hiba történt - a hitelesítés hibára futhatott","ERR_NOT_COLLECTION_URL":"Nem gyűjtemény URL-je","ERR_NOT_ADDON_URL":"Hibás bővítmény URL","ERR_DETECTFROMURL":"Nem található gyűjtemény/bővítmény az URL-en.","ADDON_DUPLICATE_WARNING":"Figyelmeztetés: duplikált bővítmény","ADDON_COLLECTION_SET_FAILED":"A bővítmények szinkronizálása a fiókodba sikertelen volt.","SETTINGS_DATA_EXPORT":"Felhasználói adatok exportálása","ADDON_PULL_FAILED":"A bővítmények szinkronizálása a fiókodból sikertelen volt","REFRESH_ON_CLICK":"Kattintson az újrapróbálkozáshoz","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"A filmet még moziban játsszák","WATCH_IN_CINEMA":"Elérhető a közeli moziban","IN_THEATER":"A moziban","GET_TICKETS":"Szerezz jegyet","UPCOMING_EPISODE":"Közelgő epizód","UPCOMING_EPISODE_MESSAGE":"Ez az epizód adásba kerül","MISSING_DATE_EPISODE":"Hiányzik az epizód dátuma","MISSING_DATE_EPISODE_MESSAGE":"Lehet, hogy ez az epizód még nem került adásba","CHANNEL_NOT_SCRAPED":"Ez a csatorna még nincs tárolva.<br>Kérem, térj vissza pár perc múlva.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add hozzá a könyvtáradhoz és értesítünk, amikor elérhetővé válik.","GET_NOTIFIED_WHEN_AVAILABLE":"Értesítünk, amikor elérhetővé válik.","WARNING_STREAMING_SERVER":"Figyelmeztetés: a helyi streaming szerver nem található. Helyi fájlok, YouTube és BitTorrent streamelése nem elérhető.","WARNING_STREAMING_SERVER_DISMISS":"Elvetés","WARNING_STREAMING_SERVER_LATER":"Később","DECODER_WARNING":"Figyelmeztetés: előfordulhat, hogy ezt a videót az Ön hardvere nem támogatja. A lejátszás lassú lehet.","GENERIC_ERROR_MESSAGE":"Valamilyen hiba történt!","TRY_AGAIN":"Újrapróbálkozás","CLEAR_DATA":"Adatok törlése","PLAYER_ERROR":"Hoppá, lejátszási hiba","PLAYER_ERROR_LOOKSLIKE":"Úgy néz ki","PLAYER_ORIENTATION":"Lejátszó orientáció","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Zárt","PLAYER_ORIENTATION_SENSOR_SHORT":"Érzékelő","PLAYER_ORIENTATION_LANDSCAPE":"A lejátszó tájolása fekvő helyzetben rögzítve","PLAYER_ORIENTATION_SENSOR":"Automatikus lejátszó orientáció (érzékelő)","PLAYER_PLAYBACK_SPEED":"Lejátszási sebesség","PLAYER_PLAYBACK_ERROR":"Lejátszási hiba, próbáld újra","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Ismeretlen hiba","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sajnáljuk, ezt a videót nem lehet lejátszani ezzel: {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Feliratok nyelvei","PLAYER_SUBTITLES_VARIANTS":"Feliratok változatai","PLAYER_SUBTITLES_SETTINGS":"Feliratok beállításai","PLAYER_SUBTITLES_DISABLED":"A feliratok le vannak tiltva","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Függőleges helyzet","PLAYER_SUBTITLES_LOADED":"Feliratok betöltve","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Beágyazott feliratok betöltve","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exkluzív feliratok betöltve","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Feliratok betöltve innen: {{origin}}","PLAYER_PLAY":"Lejátszás","PLAYER_PAUSE":"Szünet","PLAYER_NEXT_VIDEO":"Következő Videó","PLAYER_MUTE":"Némítás","PLAYER_UNMUTE":"Némítás feloldása","PLAYER_OPEN_IN_EXTERNAL":"Megnyitás külső lejátszóban","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Lejátszás ezzel: {{device}}","PLAYER_LIVE":"Élő","PLAYER_NEXT_VIDEO_TITLE":"Következik","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Elvetés","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Nézd meg most","PLAYER_COPY_STREAM_SUCCESS":"Az stream linkje a vágólapra másolva","PLAYER_COPY_STREAM_ERROR":"Az stream linkjének másolása sikertelen","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"lejtászás innen","CASTING_TO":"Kivetítve erre","NETWORK_STATUS":"Hálózati státusz","STREAM_SPEED":"Letöltés sebessége:","STREAM_BUFFERED":"Betöltve:","PEERS_INFO":"Kapcsolatok","PEERS_ACTIVE":"Aktív:","PEERS_CONNECTED":"Kapcsolódva:","PEERS_WAITING":"Várakoznak:","TRANSCODING_WARNING":"Figyelmeztetés: videó átkódolása.","STREAM_LOADING":"betöltés...","PLAYING_LOCAL":"lejátszás helyi fájlból","PLAYING_CACHE":"lejátszás gyorsítótárból","WRONG_SUBS":"Hibás felirat?","ERR_SUBS_LOADING_TITLE":"Hiba a feliratok betöltése közben","ERR_SUBS_LOADING":"Nem sikerült betölteni a feliratokat: a problémát az Ön által használt bővítmény vagy a hálózati kapcsolata okozhatja","WARN_FOLLOWING_SUB_ADDONS_FAILED":"A következő felirat-bővítmények hibára futottak","ERR_CASTING_UPDATE_TITLE":"Nem sikerült frissíteni az kivetítő eszköz adatait: lehet, hogy a streaming szerver offline állapotban van","CHOOSE_DEVICE":"Válassz egy készüléket a lejátszáshoz","NO_CAST_DEVICES":"Nincsenek kivetítésre alkalmas eszközök.","NO_SETTINGS":"Nincsenek elérhető beállítások.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Táblagép","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Feliratok","SUBTITLES_CHANGE":"Másik felirat választása a következő nyelvhez: ","SUBTITLES_CHANGE_NONE":"Sajnáljuk, nincs másik elérhető felirat ehhez a nyelvhez.","SUBTITLES_CHANGE_ACIVE":"Jelenleg a következő feliratok aktívak: #{{subtitlesDialog.activeIdx + 1}}. Kattints a \\"Folytatás\\" gombra, hogy aktiváld a következő feliratokat: #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatív megoldásként","SUBTITLES_ADJUST_DELAY":"Felirat késleltetésének beállítása:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Vagy használja <span>G</span> / <span>H</span> billentyűket lejátszás közben a beállításhoz.","SUBTITLES_ADJUST_DELAY_TIP":"TIPP: használhatod a <span>G</span> / <span>H</span> billentyűket lejátszás közben a beállításhoz.","SUBTITLES_DELAY":"Feliratok késleltetése:","SUBTITLES_LOADING":"Feliratok betöltése...","SUBTITLES_UNAVAILABLE":"Nem érhető el külső felirat","SUBTITLES_DISABLED":"Tiltva","EXTERNAL_PLAYER_DISABLED":"Tiltva","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Választás engedélyezése","EXTERNAL_PLAYER_HINT":"Tipp: Van egy beállítás, amely lehetővé teszi a mindig külső lejátszóval való megnyitást","DONT_SHOW_AGAIN":"Ne mutasd újra","SERVICE_INSTALL":"Telepítés","AUDIO":"Hang","DEFAULT_LANGUAGE":"Alapértelmezett nyelv","DEFAULT_SECONDARY_LANGUAGE":"Alapértelmezett másodlagos nyelv","SEASON":"Évad","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Epizód","EPISODE_ABBREVIATION":"EP","SPECIAL":"Különleges","SORT":"rendez","SORT_BY":"Rendezés","FILTER":"szűrő","SORT_TRENDING":"Nézettség","SORT_RECENT":"legújabbak","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"értékelés","SORT_WATCHED":"megtekintve","SORT_YEAR":"év","SELECT":"Select","SELECT_TYPE":"Típust kiválasztása","SELECT_SORT":"Rendezés kiválasztása","SELECT_CATALOG":"Katalógust kiválasztása","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Műfaj kiválasztása","SORT_LASTWATCHED":"Utoljára megtekintve","SORT_NAME":"Név szerint","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Nézett idők szerint","SORT_NOTWATCHED":"not watched","New for You":"Újdonságok Neked","New Episodes":"Új Epizódok","New Videos":"Új Videók","Recommendations":"Ajánlások","LIBRARY_RESUME":"Folytatás","LIBRARY_PLAY":"Lejátszás","LIBRARY_DETAILS":"Részletek","LIBRARY_RESUME_DISMISS":"Elvetés","LIBRARY_CLEAR_PROGRESS":"Eddigiek törlése","LIBRARY_REMOVE":"Eltávolítás","LIBRARY_NOT_LOGGED_IN":"A könyvtár csak bejelentkezett felhasználók számára érhető el","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"A naptár csak bejelentkezett felhasználók számára érhető el","NOT_LOGGED_IN_CLOUD":"Bármikor, bárhol elérheti kedvenc filmjeit és TV-műsorait","NOT_LOGGED_IN_RECOMMENDATIONS":"A megtekintési előzményekhez szabott ajánlások","NOT_LOGGED_IN_NOTIFICATIONS":"Soha többé ne hagyj ki egy epizódot","NOT_LOGGED_IN_CALENDAR":"Ütemezze be személyes megtekintési naptárát","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Kiemelt","DISCOVER_TOP":"Népszerűek","DISCOVER_OSCAR":"Oscar nyertesek","DISCOVER_WARNING_TITLE":"Hoppá!","DISCOVER_EMPTY_CATALOG":"Ez a bővítmény üres tartalmat adott vissza.","DISCOVER_ADULT_WARNING":"A tartalom csak felnőttek számára látható. Elmúltál 18 éves?","DISCOVER_NOADDON_WARNING":"Figyelmeztetés: nincs bekapcsolt Stremio bővítmény ehhez a típushoz. Elmentett adatokat mutatunk, semmi sem fog frissülni.","DISCOVER_LOAD_ERR":"A tartalom nem töltődött be, hiba történt.","DISCOVER_ADDON_UNINSTALLED":"Ez a tartalom már nem érhető el, előfordulhat, hogy eltávolítottad a bővítményt.","UNINSTALL_THIS_ADDON":"Távolítsa el ezt a bővítményt","ERR_ADDON_NOT_INSTALLED":"Ez a bővítmény nincs telepítve. ","DETAIL_RECEIVE_NOTIF_SERIES":"Kapj értesítéseket új epizódokról","DETAIL_RECEIVE_NOTIF_VIDEOS":"Kapj értesítéseket új videókról","SIDEBAR_SHOW_STREAMS":"Streamek megjelenítése","RELAUNCH":"Újraindítás most!","UPGRADE":"Új verzió érhető el! Frissíts a legújabb Stremio verzióra","RELOAD_UI":"Felhasználói felület újratöltése","MANUAL_UPDATE_TITLE":"Frissítsd a Stremio verzióját","MANUAL_UPDATE_LINE1":"Egy már nem támogatott verzióját futtatod a Stremionak, mely erősen nem ajánlott.","MANUAL_UPDATE_LINE2":"Kérjük minél hamarabb frissíts","BUTTON_UPDATE_LATTER":"Ne most","BUTTON_UPDATE_NOW":"Frissítés","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Névtelen felhasználó","DONT_HAVE_ACC":"Nincs fiókod?","HAVE_ACC":"Van már fiókod?","PASSWORD":"Jelszó","PASSWORD_CONFIRM":"Jelszó megerősítése","EMAIL":"Email","FB_LOGIN":"Bejelentkezés Facebookkal","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Semmit nem osztunk meg a beleegyezésed nélkül","FB_NOPOST":"Semmit sem fogunk a nevedben posztolni","OR":"vagy","I_ACCEPT":"Elfogadom a","I_ACCEPT_BY_CLICKING":"A fenti gombra kattintva tanúsítom, hogy elfogadom a ","TOS":"felhasználói feltételeket","MUST_ACCEPT_TERMS":"El kell fogadnod a feltételeket","PASSWORDS_NOMATCH":"Jelszó nem egyezik","SIGN_UP":"Regisztráció","SIGN_UP_EMAIL":"Regisztráció email-lel","CLICK_TO_SIGN_UP":"Kattints ide a regisztrációhoz.","LOG_IN":"Bejelentkezés","LOG_OUT":"Kijelentkezés","EXIT_FULLSCREEN":"Kilépés teljes képernyőből","ENTER_FULLSCREEN":"Teljes képernyős mód","PLAY_URL_MAGNET_LINK":"URL/Mágnes link lejátszása","HELP_FEEDBACK":"Segítség & Visszajelzés","TERMS_OF_SERVICE":"Általános Szerződési Feltételek","PRIVACY_POLICY":"Adatvédelmi irányelvek","ABOUT_STREMIO":"A Stremioról","USER_PANEL":"Felhasználói panel","LOGIN_LABEL":"Belépés","GUEST_LOGIN":"Vendég belépés","GUEST_LOGIN_NOTICE":"A Vendég bejelentkezés nem javasolt. A normál bejelentkezéssel a Stremio szinkronizálja a köyvtáradat és értesítéseket küldhet a kedvenc filmjeidről/sorozataidról. Biztosan folytatod?","GUEST_LOGIN_NOTICE_2":"A Vendég bejelentkezés nem ajánlott – nem lesznek szinkronizált könyvtári és tábla-értesítései, amelyek a Stremio létfontosságú funkciói. Biztosan folytatod?","CLICK_HERE":"Kattins ide","WRONG_PASSWORD":"Hibás email vagy jelszó. Amennyiben elfelejtetted a jelszavadat,","SET_A_PASS":"állíts be jelszót","RESET_PASSWORD":"Jelszó visszaállítása","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Elfelejtett jelszó?","EMAIL_USED_WITH_FB":"Ez az email már hozzá van rendelve egy Facebookos regisztrációhoz.","INVALID_EMAIL":"Kérjük, adj meg egy valós email címet","INVALID_PASSWORD":"Kérjük, adj meg egy valid jelszót","CONN_ERR":"Csatlakozási hiba – próbálkozzon újra később.\\n\\n","IMPORT_FROM_GUEST":"Könyvtár importálása vendégfiókjából","RECEIVE_UPDATES_EMAIL":"Frissítéseket kaphat e-mailjére a Stremiótól","LOGIN_FAILED":"Bejelentkezés sikertelen.","SIGNUP_FAILED":"A regisztráció sikertelen.","SEARCH_FAILED":"A keresés sikertelen","EMAIL_USED":"Ez az email cím már foglalt.","WAITING_FB_LOGIN":"Bejelentkezés Facebookkal...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Lejátszás külső lejátszóban","EXTERNAL_REMEMBER_PLAYER":"Szeretnél emlékezni a választásodra","EXTERNAL_ALWAYS_PLAY":"Igen","EXTERNAL_ONLY_ONCE":"Nem","BEST_FIT":"Legjobban illeszkedő","FIT_SCREEN":"Képernyőhöz igazítás","FILL":"Kitöltés","16:9":"16:9","4:3":"4:3","Original":"Eredeti","INTRO_TASTE":"Mondd el nekünk, hogy mit szeretsz","INTRO_TASTE_LONG":"Mondd el nekünk, hogy mit szeretnél nézni","INTRO_TASTE_PICK":"Válassz {{interestsRemaining}} érdeklődési kört","INTRO_TASTE_PICK_MORE":"Válassz további {{interestsRemaining}} érdeklődési kört","INTRO_TASTE_HELP_US":"Segíts nekünk többet megtudni magadról!","INTRO_TASTE_CHOOSE_THESE":"Válasszon ezek közül néhányat:","INTRO_TASTE_CHOOSE_MIN":"Válasszon legalább 3 kategóriát","INTRO_TASTE_CHOOSE_MIN_ERR":"Legalább 3 kategóriát kell kiválasztanod!","INTRO_TASTE_LIFESTYLE":"Életmód","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Étel & Egészség","INTRO_TASTE_BEAUTY_FASHION":"Szépség & Divat","INTRO_TASTE_NEWS":"Hírek","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Tudomány & Oktatás","INTRO_TASTE_MUSIC":"Zene","INTRO_TASTE_TRAVEL":"Utazás","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Valóság","INTRO_TASTE_COMEDY":"Komédia","INTRO_TASTE_DIY":"Hogyan barkácsoljunk","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Mozi","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"A kiválasztott bővítmény nem támogatott ezen a felületen.","ADDON_DISCLAIMER":"Harmadik féltől származó bővítmények használata mindig a felhasználó felelőssége, a felhasználó tartózkodási területén életben lévő törvényeket tiszteletben tartva.","ADDON_ACTIVATE":"Bekapcsolod ezt a bővítményt?","ADDON_REPO_ADD":"Bővítmény gyűjtemény URL-je","ADDON_ADD":"Hozzáadás","INSTALL_ADDON":"Bővítmény telepítése","ADD_ADDON":"Bővítmény hozzáadása","ADD_ADDON_DESCRIPTION":"Külső hivatkozáson keresztül is hozzáadhat bővítményt, amely a Telepített bővítmények alatt jelenik meg.","PASTE_ADDON_URL":"Illessze be a bővítmény URL-címét","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Újdonságok","BUTTON_CONTINUE":"Folytatás","BUTTON_ACTIVATE":"Aktiválás","BUTTON_ACTIVATED":"Aktív","BUTTON_CANCEL":"Mégse","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Beküldés","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Mindet elutasít","BUTTON_VIEW_ALL":"összes megtekintése","BUTTON_SEE_ALL":"Összes megtekintése","BUTTON_COLOR_TRANSPARENT":"Átlátszó","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Megnyitás böngészőben","LIB_EMPTY":"A könyvtárad üres. ","HOW_START":"Használatához ennyit kell tenned:","LIB_EMPTY_CAL":"A naptárad a könyvtáradban található sorozatokat mutatja.","HOW_START_CAL":"Sorozatok hozzáadásához a következőket kell tenni:","LIB_EMPTY_BOARD":"Az ajánlatok fül értesítéseket","HOW_START_BOARD_WAIT":"kérd, addj pár sorozatot és csatornát a könyvtáradhoz, és mi pár perc alatt feldolgozzuk :)","HOW_START_BOARD":"Így adhatsz hozzá sorozatokat","IMPORT_FB":"Importálj általad kedvelt tartalmakat a <span>Facebookról</span>","IMPORT_TRAKT":"Importáld médiakönyvtárad a <span>Traktról</span>","IMPORT_DISCOVER":"Keress érdekes tartalmakat a <span>Felfedezés</span> fülről","IMPORT_DISK":"Importálj filmeket és sorozatokat a <span>helyi lemezedről</span>","PLEASE_CREATE_ACC":"Kérjük, <u>hozzon létre egy fiókot</u> a könyvtár szinkronizálásának engedélyezéséhez.","IMPORT_DISCOVER_SIGNUP":"Regisztráljon, és találjon érdekes dolgokat a <span>Felfedez</span> fülről","IMPORT_DISK_SIGNUP":"Regisztráljon, és importáljon filmeket vagy sorozatokat a <span>helyi lemezről</span>","LIB_EMPTY_CLOUD":"Felhőkönyvtár","LIB_EMPTY_CLOUD_DESC":"Személyes felhőkönyvtár minden eszközön szinkronizálva","LIB_EMPTY_EARLY":"Korai","LIB_EMPTY_EARLY_DESC":"Értesítéseket kaphat az új epizódokról","LIB_EMPTY_PERSONAL":"Személyes","LIB_EMPTY_PERSONAL_DESC":"Kapj személyes ajánlásokat","LIB_EMPTY_CALENDAR_DESC":"Ütemezze be személyes megtekintési naptárát","LIB_EMPTY_ALL":"Regisztráljon, hogy mindezt megkapja:","LIB_EMPTY_BEST":"Regisztráljon, hogy a legtöbbet hozhassa ki a Stremióból","LIB_EMPTY_OTHER":"Regisztrálj a naptár és további király funkciók engedélyezéséhez","CALENDAR_ADDED":"A Stremio naptár hozzáadásra került az alapértelmezett asztali naptárhoz.","CALENDAR_ADDED_MSG":"Ha ez nem működik, kérjük, kézzel adja hozzá ezt az URL-t a naptáralkalmazáshoz","TRAKT_EXPIRED":"A Trakt hitelesítés lejárt, lépjen a Beállításokba, és hitelesítse újra","TRAKT_REQUIRES_LOGIN":"Trakt hiba","TRAKT_REQUIRES_LOGIN_MSG":"Be kell jelentkezned","TRAKT_IMPORT_WATCHED":"Import","THEME":"Téma","THEME_DEFAULT":"Alapértelmezett","THEME_ADAPTIVE":"Adaptív","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Beállítások","SETTINGS_NAV_GENERAL":"Általános","SETTINGS_NAV_PLAYER":"Lejátszó","SETTINGS_NAV_STREAMING":"Streamelés","SETTINGS_NAV_SHORTCUTS":"Gyorsbillentyűk","SETTINGS_SHORTCUT_RELOAD_APP":"Alkalmazás újratöltése","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Beállítások megnyitása","SETTINGS_SHORTCUT_SWITCH_TABS":"Váltás a lapok között","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Lapozzon előre","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Lapozzon visszafelé a lapokon","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigálás a menük között","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Lépjen a Keresés elemre","SETTINGS_SHORTCUT_EXIT_BACK":"Kilépés / Visszalépés","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Lejátszási sebesség menü ki-/bekapcsolása","SETTINGS_SHORTCUT_MENU_VIDEOS":"Videó menü ki/bekapcsolása","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Feliratok menü ki-/bekapcsolása","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Infó menü ki-/bekapcsolása","SETTINGS_SHORTCUT_FULLSCREEN":"Teljes képernyő ki-/bekapcsolása","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Vezérlők megjelenítése","SETTINGS_SHORTCUT_PLAY_PAUSE":"Lejátszás / Szünet","SETTINGS_SHORTCUT_VOLUME_UP":"Hangosítás","SETTINGS_SHORTCUT_VOLUME_DOWN":"Lehalkítás","SETTINGS_SHORTCUT_SEEK_NEXT":"Következőhöz tekerés","SETTINGS_SHORTCUT_SEEK_PREV":"Előzőhöz tekerés","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Visszafele tekerés","SETTINGS_SHORTCUT_SEEK_FORWARD":"Előre tekerés","SETTINGS_SHORTCUT_PLAY_NEXT":"Következő lejátszása","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Feliratok méretének növelése","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Feliratok méretének csökkentése","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Feliratok késleltetésének növelése","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Feliratok késleltetésének csökkentése","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Oldalsáv ki-/bekapcsolása","SETTINGS_SHORTCUT_OR":"vagy","SETTINGS_SHORTCUT_TO":"-","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Szóköz","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Hitelesítés","SETTINGS_FACEBOOK_IMPORT":"Importálás","SETTINGS_CALENDAR_SUBSCRIBE":"Feliratkozás","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Kezelőfelület nyelve","SETTINGS_LAUNCH_STARTUP":"Alkalmazás indítása bekapcsoláskor","SETTINGS_VLC_DEFAULT":"Lejátszás VLC-vel","SETTINGS_UI_LANGUAGE":"Felhasználói felület nyelv","SETTINGS_UI_ZOOM":"Kezelőfelület nagyítás","SETTINGS_FULLSCREEN_EXIT":"Kilépés a teljes képernyőről","SETTINGS_GAMEPAD":"Játékvezérlő támogatás engedélyezése","SETTINGS_CLOSE_WINDOW":"Zárja be az alkalmazást, ha az ablak be van zárva","SETTINGS_SUBTITLES_LANGUAGE":"Feliratok alapértelmezett nyelve","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Alapértelmezett feliratméret","SETTINGS_SUBTITLES_BACKGROUND":"Feliratok háttér","SETTINGS_SUBTITLES_COLOR":"Feliratok színe","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Feliratok körvonalának színe","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Feliratok háttérszíne","SETTINGS_SEEK_KEY":"A nyilakkal tekerésre használhatók","SETTINGS_SEEK_KEY_SHIFT":"A nyilakkal tekerni lehet, ha a Shift le van nyomva","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Előre- és visszatekerés hossza","SETTINGS_BINGE":"A következő epizód automatikus lejátszása","SETTINGS_NEXT_VIDEO":"Értesítés megjelenítése a következő epizód elindításához","SETTINGS_NEXT_VIDEO_TRIGGER":"Értesítés megjelenítése a következő epizódról:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Következő videó előugró ablak időtartama","SETTINGS_PLAY_IN_BACKGROUND":"Lejátszás a háttérben","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Lejátszás külső lejátszóban","SETTINGS_RESIZE":"Az ablak automatikus átméretezése lejátszás előtt","SETTINGS_OVERRIDE_SERVER":"A streaming szerver URL-jének felülírása (speciális)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming szerver URL-je: ","SETTINGS_SERVER_AVAILABLE":"Streaming szerver elérhető.","SETTINGS_SERVER_UNAVAILABLE":"Streaming szerver nem érhető el.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Hiba","SETTINGS_SERVER_CONFIGURE_TITLE":"A streaming szerver URL-jének konfigurálása","SETTINGS_SERVER_CONFIGURE_INPUT":"Adja meg a streaming szerver URL-címét","SETTINGS_SERVER_CACHE_SIZE":"Gyorsítótár mérete","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profil","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS végpont: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Mindig használja a legújabb Bétát","SETTINGS_IMPORT_FB":"Importálás Facebookról","SETTINGS_IMPORT_DISK":"Importálás helyi lemezről","SETTINGS_IMPORT_TRAKT":"Importálás a Traktból","SETTINGS_PAUSE_MINIMIZED":"Lejátszás szüneteltetése lekicsinyítés során","SETTINGS_HWDEC":"Hardveresen gyorsított dekódolás","SETTINGS_BACKGROUND":"Lejátszás a háttérben","SETTINGS_SUBSCRIBE_CALENDAR":"Feliratkozás naptárra","SETTINGS_REQ_EXPORT":"Adatexportálás kérése","SETTINGS_ACC_DELETE":"Fiók törlésének kérése","SETTINGS_CHANGE_PASSWORD":"Jelszó megváltoztatása","SETTINGS_TOS":"Általános Szerződési Feltételek","SETTINGS_SUPPORT":"Kapcsolat felvétele","SETTING_LANGUAGE":"Nyelv","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Megtekintési szokások megosztása a Trakt-tal","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Jelentkezzen ki a Trakt.tv-ből","SETTINGS_TRAKT_LOGOUT_2":"Jelentkezzen ki a Traktból","SETTINGS_SCAN_FOR_REMOTE":"A távirányító megnyitásához olvassa be a QR-kódot","SETTINGS_DESKTOP_NOTIFICATIONS":"Asztali értesítések","SETTINGS_DATA_SAVER":"Adatmegtakarítás","SETTINGS_LANGUAGE_INTERFACE":"felület","SETTINGS_LANGUAGE_SUBS":"alapértelmezett feliratok","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Automatikus hangsáv kiválasztása","SETTINGS_DEFAULT_AUDIO_TRACK":"Alapértelmezett hangsáv","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Térbeli hangzás","SETTINGS_ACCOUNT":"fiókot","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Verzió","SETTINGS_ABOUT":"Rólunk","SETTINGS_MPV_WINDOW":"Indítsa el a lejátszót egy külön ablakban (speciális)","SETTINGS_PLAY_IN_EXTERNAL":"Mindig indítsa el a videót a külső lejátszóban","SETTINGS_STORAGE_BUTTON":"Helyi tárhely törlése","SETTINGS_STORAGE_MODAL_TITLE":"Biztos vagy ebben ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ezzel törli a helyi tárhelyet, és kijelentkezik.","SETTINGS_HWDEC_PICKER":"Válasszon hardveresen gyorsított dekódolási beállítást","SETTINGS_HW_AUTOMATIC":"Automatikus","SETTINGS_HW_DISABLED":"Tiltva","SETTINGS_HW_ACCELERATED":"Dekódolási gyorsítás","SETTINGS_HW_FULL":"Teljes gyorsítás","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Tiltva","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Távoli szerver URL-je","SETTINGS_COPY_REMOTE_URL":"Távoli szerver URL másolása","SETTINGS_REMOTE_URL_COPIED":"A távoli szerver URL-jét a vágólapodra másoltuk","SETTINGS_SECTION_SUBTITLES":"Feliratok","SETTINGS_SECTION_AUDIO":"Hang","SETTINGS_SECTION_CONTROLS":"Vezérlők","SETTINGS_SECTION_AUTO_PLAY":"Automatikus lejátszás","SETTINGS_SECTION_ADVANCED":"Fejlett","SUBSPICKER_AUDIO":"Hang","SUBSPICKER_SUBTITLES":"Bővítmények feliratai","SUBSPICKER_BLACK_BACKGROUND":"Használjon fekete háttérszínt","SUBSPICKER_VERTICAL_OFFSET":"Függőleges eltolás","SUBSPICKER_SIZE":"Méret","SUBSPICKER_DELAY":"Késleltetés","SUBSPICKER_EMBEDDED_SUBS":"Beágyazott feliratok","MOBILE_PRIVACY_POLICY":"Adatvédelmi irányelvek","MOBILE_CRASH_REPORTING":"Összeomlás jelentése","MOBILE_ZOOM_TO_FILL":"Nagyítás a képernyő kitöltéséhez","MOBILE_PASSTHROUGH":"Digitális audio kimenet (passthrough)","MOBILE_RUN_LOW_BATTERY":"Alacsony akkumulátoros működés","MOBILE_RUN_FOREGROUND":"Futtassa előtér-szolgáltatásként","MOBILE_PERFORMANCE":"TELJESÍTMÉNY & STABILITÁS","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"A QR-kód lejár ","MOBILE_LOG_INTO":"Jelentkezzen be Stremio-fiókjába ","MOBILE_SCAN_QR":"Olvassa be a fenti QR-kódot, vagy lépjen a következő helyre ","MOBILE_LINK_ACCOUNT":"Fiók összekapcsolása","MOBILE_SPEEDPICKER_CANCEL":"Mégse","MOBILE_SPEEDPICKER_LABEL":"Lejátszási sebesség kiválasztása","MOBILE_EMPTY_LIBRARY":"A könyvtára üres","MOBILE_NO_ADDON_ACTIVE":"Nincs aktív Stremio-bővítmény ehhez a típushoz.","MOBILE_ORGANIZER_WARNING":"A Stremio Organizer alkalmazás korlátozott funkcionalitást biztosít. Az elérhető streamek listájáért és a teljes Stremio élményért használd az asztali alkalmazást.","MOBILE_ADDON_LOADING":"még mindig töltődik","MOBILE_ADDONS_LOADING":"a bővítmények még mindig töltődnek","MOBILE_ADDON":"Hozzáad","MOBILE_CONFIGURE_ADDON":"Konfiguráld a bővítményt","MOBILE_CONFIGURE_ADDON_LABEL":"Bővítmény konfigurálása","MOBILE_ORGANIZER_ADDONS_WARNING":"A Stremio Organizer alkalmazás a bővítmények korlátozott választékát kínálja. A teljes Stremio élményért használd az asztali alkalmazást!","MOBILE_DISCONNECT":"Leválasztás","MOBILE_LOOKING_FOR_DEVICES":"Eszközök keresése...","MOBILE_CAST_TO":"Kivetítés ide","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Fiók törlése","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"A fiók törlése jogi kötelezettségek miatt nem azonnali. Miután kérte fiókja törlését, a jövőben új Stremio-fiók létrehozásához más e-mail címet/facebook-profilt kell használnia.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Erősítse meg a fiók törlését","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Fiókod a Facebook használatával jött létre. Ha törölni szeretné fiókját, kérjük, használja felhasználói portálunkat a www.stremio.com/login címen.","MOBILE_DELETE_ACCOUNT_MESSAGE":"Kérjük, adja meg jelszavát a fiók törlésének megerősítéséhez.","MOBILE_DELETE_ACCOUNT_BUTTON":"Fiók törlése","NAVIGATION_ON":"Be","NAVIGATION_OFF":"Ki","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Hozzájárulok ahhoz, hogy marketingkommunikációt kapjak a Stremiótól","QUIT":"Kilépés","CONNECTED":"Csatlakoztatva","AUTHENTICATE":"Bejelentkezés","AUTHENTICATING":"Authenticating...","CACHING":"Gyorsítótárazás","SETTINGS_CACHING_DRIVE":"Gyorsítótár meghajtó","ENABLE_LOCAL_FILES_ADDON":"A helyi fájlok bővítmény engedélyezése (újraindítás szükséges)","LOCAL_ADDON_NOT_ENABLED":"A helyi bővítmény nincs engedélyezve. Kattints ide, hogy a beállításokban engedélyezd!","ENABLE_REMOTE_HTTPS_CONN":"Távoli HTTPS-kapcsolatok engedélyezése","TORRENT_PROFILE":"Torrent profil","DATA_CACHING":"Adatgyorsítótár","MAGNET_PARSING":"Mágnes link elemzése","January":"január","February":"február","March":"március","April":"április","May":"május","June":"június","July":"július","August":"augusztus","September":"szeptember","October":"október","November":"november","December":"december","Monday":"hétfő","Tuesday":"kedd","Wednesday":"szerda","Thursday":"csütörtök","Friday":"péntek","Saturday":"szombat","Sunday":"vasárnap","Action":"Akció","Comedy":"Vígjáték","War":"Háborús","Family":"Családi","Animation":"Animációs","Adventure":"Kaland","Fantasy":"Fantasztikus","Crime":"Krimi","Mystery":"Misztikus","Romance":"Romantikus","Drama":"Dráma","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-fi","Music":"Zenei","Biography":"Életrajzi","Documentary":"Dokumentumfilm","Sport":"Sport","Musical":"Zenei","Western":"Vadnyugati","Film-Noir":"Noir","News":"Hírek","History":"Történelem","Game-Show":"Játék show","Reality-TV":"Valóság-show","Talk-Show":"Beszélgetős műsor","Film & Entertainment":"Film & Szórakozás","Gaming":"Játék","From TV":"TV-ből","Lifestyle":"Életstílus","Science & Education":"Tudomány és oktatás","Cooking & Health":"Főzés és egészség","Beauty & Fashion":"Szépségápolás és divat","Sports":"Sport","News & Politics":"Hírek és politika","How-to & DIY":"Útmutatók és barkácsolás","Tech":"Technológia","Automotive":"Autó","Causes & Non-Profits":"Ügyek és non-profit szervezetek","Movies":"Filmek","Uk Live Tv":"Egyesült Királyság Élő TV","Fashion":"Divat","Business News Radio":"Rádiós üzleti hírek","Business Tv":"Üzleti TV","Cars & Auto":"Autók","Comedy Radio":"Rádiós komédia","Lifestyle Radio":"Életstílus rádió","News Tv":"TV-s hírek","Food And Wine":"Étel és ital","Latino Tv":"Latin TV","Shopping Tv":"Vásárlós TV","Religion":"Vallás","Kids":"Gyerekek","Body & Soul":"Test és lélek","Education":"Oktatás","Indian Tv":"Indiai TV","Extreme Sports":"Extrém Sportok","Middle Eastern Tv":"Közel-Keleti TV","Celebrity Tv":"Celeb TV","Science Tv":"Tudományos TV","Bikini babe":"Bikinis csajok","Outdoors":"Szabadtéri","German Tv":"Német TV","French Tv":"Francia TV","Italian Tv":"Olasz TV","Gamer Tv":"Gamer TV","Travel":"Utazás","Asian Tv":"Ázsiai TV","Entertainment":"Szórakoztatás","News Radio":"Rádiós hírek","Music Radio":"Zenei rádió","Language Learning":"Nyelvtanulás","Science Radio":"Tudományos rádió","Tech Radio":"Technológiai rádió","Science & Technology Vod":"Tudomány és technológia Vod","new video":"új videó","new episode":"új epizód","new movie":"új film","recommended":"ajánlott","we recommend":"ajánljuk","offer of the day":"a nap ajánlata","news":"hírek","music video":"zene videó","CTX_SHOW_HOTKEYS":"Gyorsbillentyűk megjelenítése","CTX_DISMISS_NOTIF":"Értesítések elvetése","CTX_DISMISS_ALL":"Mindet elutasít","CTX_SHARE":"Megosztás","CTX_COPY_SHARE_LINK":"Megosztási link másolása","CTX_COPY_MAGNET_LINK":"Mágnes link másolása","CTX_COPY_STREAM_LINK":"Stream link másolása","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Töltse le ezt a videót","CTX_DOWNLOAD_SUBS":"Feliratok letöltése","CTX_VIEW_ON_YOUTUBE":"Megtekintés a YouTube-on","CTX_SHOW":"Mutat","CTX_PLAY":"Lejátszás","CTX_PLAY_IN":"Lejátszás ezzel:","CTX_PLAY_ON":"Lejátszás ezen:","CTX_WATCH_ON":"Megtekintés ezen:","CTX_WATCH":"Megtekintés","CTX_WATCHED":"Megtekintett","CTX_WATCH_BEGINNING":"Megtekintés az elejétől","CTX_WATCH_MOBILE":"Megtekintés mobileszközön","CTX_REWIND":"Visszatekerés az elejére","CTX_MARK_WATCHED":"Megjelölés nézettként","CTX_MARK_NON_WATCHED":"Megjelölés nem megtekintettként","CTX_MARK_UNWATCHED":"Megjelölés nem megtekintettként","CTX_MARK_REST":"Hátralevők megjelölése nézettként","CTX_UNMARK_REST":"Hátralevők megjelölése nem nézettként","CTX_RECEIVE_NEW_NOTIF":"Új értesítések fogadása","CTX_ENABLE_NEW_NOTIF":"Értesítések engedélyezése","CTX_DISABLE_NEW_NOTIF":"Értesítések kikapcsolása","CTX_REMOVE_CACHE":"Eltávolítás a gyorsítótárból","CTX_REMOVE_CACHE_EP":"Epizód eltávolítása a gyorsítótárból","CTX_OPEN_CONTAINING":"Nyissa meg a tartalmazó mappát","CTX_REMOVE":"Eltávolítás a könyvtárból","CTX_AVAILABLE_OFFLINE":"Offline elérhető","CTX_PAUSED":"Szüneteltetve","CTX_ALWAYS_ON_TOP":"Mindig legfelül","CTX_FULLSCREEN":"Teljes képernyő","CTX_WRONG_SUBS":"Rossz felirat?","CTX_REPORT_ISSUES":"Probléma bejelentése","CTX_COPY":"Másolás","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Beillesztés","CTX_CLEAR":"Törlés","CTX_CLEAR_RECENT_SEARCHES":"Legutóbbi keresések törlése","HELLO_THERE":"Szia","HOPE_YOU_ENJOY":"Reméljük, hogy élvezed a Stremio használatát, és ez már az egyik kedvenc alkalmazásod!","WHO_ARE_WE":"Kik vagyunk mi? Mi vagyunk a mögötte álló csapat - két srác, akik az elmúlt 3 évben minden nap keményen dolgoznak, hogy egyre jobbá és jobbá tegyék ezt a terméket.","SUPPORT_US":"Ha szívesen használod a Stremio-t, ha a Stremio értékes számodra - terjeszd a hírét!","SPREAD_THE_WORD":"Oszd meg barátaiddal, terjeszd a Stremio hírét!","MORE_PEOPLE":"Minél többen használják a Stremiót, annál jobb lesz!","SEND_A_LINK":"Vagy küldd el a weboldalunkra vezető linket","TIP_LOCALFILES":"Tipp: behúzhatsz helyi videó fájlokat a Stremio-ba","ADDON_MY":"Saját bővítményeim","ADDON_COMMUNITY":"Közösségi bővítmények","ADDON_OFFICIAL":"Hivatalos bővítmények","ADDON_REPOS":"Bővítmény kollekciók","ADDON_SEARCH":"Bővítmények keresése","ADDON_INSTALL":"Telepítés","ADDON_CONFIGURE":"Konfigurálás","ADDON_UNINSTALL":"Eltávolítás","ADDON_UPGRADE":"Frissítés","ADDON_INSTALLED":"Telepítve","ADDON_INSTALLED_MSG":"Bővítmény telepítve!","ADDON_UPGRADED_MSG":"Bővítmény frissítve!","ADDON_UNKNOWN":"Ismeretlen","ADDON_ERR":"Bővítmény telepítési hiba!","ADDON_DISCONNECTED":"Szétkapcsolt","ADDON_APP_MISSING":"ehhez a forráshoz az alkalmazás nincs telepítve. Szeretnéd most telepíteni?","ADDON_APP_INSTALL":"Telepítés most","ADDON_PAGE":"Bővítmény oldala","ADDON_TOP_CONTENT":"A legjobbak ettől a bővítménytől","ADDON_PROVIDES":"Ez a bővítmény ezeket adja:","ADDON_WATCH":"Nézz #{types} most!","ADDON_WATCH_FREE":"Nézz #{types} INGYENESEN most!","ADDON_ADDON":"Hozzáad","ADDON_SUPPORTED_TYPES":"Támogatott típusok","ADDON_SUPPORTED_CATALOGS":"Támogatott katalógusok","ADDON_PROVIDES_DISCOVER":"Több #{types} a Felfedezés fülön","ADDON_PROVIDES_STREAMS":"Nézz #{types}","ADDON_PROVIDES_STREAMS_FREE":"Nézz #{types} INGYENESEN","ADDON_PROVIDES_SUBTITLES":"Feliratok a ehhez: #{types}","ADDON_CANTDETECT":"Nem tudtuk észlelni a futó Stremiót, így nem tudtuk észlelni, hogy milyen bővítményeket telepített.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Erről nem található információ ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Hiba történt az ezzel kapcsolatos információk lekérésekor.","ERR_CANT_PARSE_MAGNET":"Nem sikerült elemezni a mágnest","ERR_NO_MAGNET_INFOHASH":"Nincs érvényes információs hash a mágneshez","ERR_NO_FILE_PATH":"Nem lehet elküldeni a kérést a fájl elérési útja nélkül","ERR_NO_TORRENT":"Nem tért vissza a torrent","ERR_NO_SUPPORTERD_FILES":"Nem található támogatott fájl","ERR_OPENING_FILES":"Nem sikerült megnyitni a külső fájlokat","ERR_INVALID_LINK":"Érvénytelen link","ERR_REGISTERED_ONLY":"Ez a lehetőség csak regisztrált felhasználók számára elérhető.","ERR_CLIPBOARD":"Nem lehet lejátszani a vágólapról","ERR_CLIPBOARD_READ":"A vágólap nem olvasható ezen a platformon","ERR_CLIPBOARD_GENERIC":"Nem található lejátszható URL a vágólapon. Kérjük másolj ki egy videóhoz vezető URL-t (pl. mágnes linket).","BOARD_CONTINUE_WATCHING":"Megtekintés folytatása","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Kifejezetten az Ön számára kiválasztott filmek.<br />Ez a film egy mintaajánlás.","BOARD_EXPLANATION_EPISODES":"Ide érkeznek kedvenc sorozatod új epizódjai.<br />Add hozzá a követett sorozatokat a könyvtáradhoz.","BOARD_EXPLANATION_VIDEOS":"Ide érkeznek kedvenc csatornáid új epizódjai.<br />Add hozzá a követett YouTube-csatornákat a könyvtáradhoz.","WEBSITE_ENJOYED_BY":"Világszerte több mint 30 millió felhasználó élvezi","WEBSITE_STREAMING_ENHANCED":"Továbbfejlesztett streamelés","WEBSITE_STREAMING_ENHANCED_DETAILS":"A Stremio biztonságos, modern és zökkenőmentes szórakozási élményt kínál. Könnyen használható felületének és változatos tartalomkönyvtárának köszönhetően - beleértve a 4K HDR támogatást is - a felhasználók minden eszközükön élvezhetik kedvenc filmjeiket és tévéműsoraikat. A biztonság iránti elkötelezettségével pedig a Stremio a tökéletes választás a gondtalan, kiváló minőségű streaming élményhez.","WEBSITE_AVAILABLE_ON":"Elérhető itt:","WEBSITE_WATCH_AND_ENJOY":"Nézd és élvezd!","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"A Stremio gyerekjátékká teszi a dolgot","WEBSITE_ALL_FEATURES":"Minden funkció","WEBSITE_EASY_TO_USE":"Könnyen kezelhető","WEBSITE_EASY_TO_USE_DETAILS":"A Stremio-t úgy tervezték, hogy felhasználóbarát és könnyen használható legyen. Tiszta és intuitív felületével könnyen navigálhatod és megtalálhatod a megnézni kívánt tartalmat.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Zökkenőmentes, egyszerre több eszközön ","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"A Stremio számos platformra (többek között Windows, Mac, Linux, Android és más) elérhető, és minden eszközön nyomon követi a haladásodat. Csak jelentkezz be, és folytasd a megtekintést anélkül, hogy minden egyes új eszközön újra be kellene állítanod az alkalmazást.","WEBSITE_ALL_DOWNLOADS":"Minden letöltés","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Nagy felbontású videó támogatás","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"A legtöbb videóformátumot, köztük a 4K HDR tartalmat is támogató integrált videolejátszó lehetővé teszi, hogy élvezze az elérhető legjobb minőséget.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Változatos tartalomtár","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"A Stremio számos népszerű videóforrással integrálható, mint például a Netflix, az Amazon Prime Video, a Hulu, a YouTube és még sok más.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Fiók ingyenes létrehozása","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Személyre szabott megtekintési élmény","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"A Stremio lehetővé teszi a felület kinézetének testreszabását a téma megváltoztatásával, a bővítmények hozzáadásával vagy eltávolításával stb.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Többnyelvű felirat támogatás","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Már az összes kedvenc tartalmadat élvezheted a kívánt nyelven, mivel a Stremio minden nyelven támogatja a feliratokat.","WEBSITE_ALL_STREMIO_FEATURES":"A Stremio összes funkciója","WEBSITE_TRY_STREMIO_TITLE_P1":"Próbáld ki a Stremio-t","WEBSITE_TRY_STREMIO_TITLE_P2":"Most a Te TV-den","WEBSITE_YOU_CAN_NOW_WATCH":"Most az összes kedvenc sorozatodat megnézheted az Android TV-eszközeiden. A Stremio TV alkalmazással könnyedén élvezheted a mozi estéket.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Most az összes kedvenc sorozatodat megnézheted az okos TV-eszközeiden. A Stremio TV alkalmazással könnyedén élvezheted a mozi estéket.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio okos TV-hez","WEBSITE_PLAY_STORE_REVIEW":"Valószínűleg a legjobb és leghasznosabb alkalmazás, amit a készülékeden lehet. Ez az egyik olyan alkalmazás, amelyet napi szinten használok, különösen az Android TV-men már évek óta. Jól van elkészítve egy erős közösséggel, amely hasznos funkciókat biztosít. Nagyszerű munka. Csak így tovább!","WEBSITE_REVIEWS":"vélemények","WEBSITE_GET_STREMIO_FOR_FREE":"Szerezze be ingyen a Stremiót","WEBSITE_GET_STREMIO_NOW":"Szerezze be a Stremiót most","WEBSITE_STREMIO_FEATURES":"Stremio funkciók","WEBSITE_STREMIO_FEATURES_DETAILS":"A Stremio fejlett funkcióival profiként streamelhet, és zökkenőmentesen férhet hozzá kedvenc médiájához","WEBSITE_DISCOVER_MORE":"Tudj meg többet!","WEBSITE_DISCOVER_MORE_DETAILS":"Soha ne fogyj ki a néznivalóból!","WEBSITE_COMMUNITY_DRIVEN":"Közösségvezérelt","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"A Stremio nagy és aktív felhasználói közösséggel rendelkezik, akik bővítmények létrehozásával és megosztásával járulnak hozzá a szoftver fejlesztéséhez.","WEBSITE_GET_INVOLVED":"Vegyél részt benne","WEBSITE_NEW_THEATER_EXPERIENCE":"Új házimozi élmény","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"A Stremio új dedikált TV-alkalmazása lehetővé teszi, hogy élvezze a filmestet Android TV-eszközein.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"A Stremio új dedikált TV-alkalmazásai lehetővé teszik, hogy moziesteket élvezzen Smart TV-n vagy Android TV-eszközén.","WEBSITE_FREE_AND_SECURE":"Ingyenes és biztonságos","WEBSITE_STREAMING":"Streamelés","WEBSITE_FREE_AND_SECURE_DETAILS":"A Stremio páratlan biztonságot és adatvédelmet kínál a felhasználók számára. A Stremio egyedülálló funkciójával, amely lehetővé teszi az addonok távoli futtatását, más platformokhoz képest biztonságosabb módot biztosít kedvenc tartalmainak streamelésére. A Te és adataid biztonsága elsődleges fontosságú, és a platform biztosítja, hogy minden adatod védve legyen.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Mondj búcsút a biztonsággal és a adatvédelemmel kapcsolatos aggodalmaknak, és köszöntsd a végtelen szórakozás világát a Stremio segítségével.","WEBSITE_INFORMATION_PROVIDED_BY":"által biztosított információkat","WEBSITE_CONTRIBUTE_DESC":"a projekthez","WEBSITE_COMMUNITY_DESC":"Hiszünk abban, hogy a legjobb módja annak, hogy valóban lenyűgöző streamelési élményt teremtsünk, ha bevonjuk közösségünket a folyamatba. Lehetsz programozó, művész, vagy csak rajongó - tudsz segíteni a Stremio növekedésében.","WEBSITE_COMMUNITY_DESC_2":"Tehát csatlakozz hozzánk még ma, legyél tagja a Stremio közösségnek, és formáld a streamelés jövőjét.","WEBSITE_WAYS_TO_GET_INVOLVED":"A részvétel módjai","WEBSITE_IN_THE_STREMIO_COMMUNITY":"a Stremio közösségben","WEBSITE_SHARE_YOUR_THOUGHTS":"Oszd meg a gondolataidat","WEBSITE_REPORT_BUGS":"Hibák bejelentése","WEBSITE_SUGGEST_FEATURES":"javasolj funkciókat","WEBSITE_AND_PROVIDE_FEEDBACK":"és adj nekünk visszajelzést a közösségi média csatornáinkon.","WEBSITE_BETA_TESTING_PROGRAM":"Bétatesztelő program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Vegyél részt béta tesztelési programunkban (rendszeresen küldünk meghívókat) a Stremio közösségben.","WEBSITE_JOIN_NOW":"Csatlakozz most!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Hivatalos Stremio Közösségek","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Nem hivatalos Stremio Közösségek","WEBSITE_BECOME":"Légy","WEBSITE_A_VOLUNTEER_TRANSLATOR":"önkéntes fordító","WEBSITE_ARE_YOU_A_DEVELOPER":"Fejlesztő vagy?","WEBSITE_CONTRIBUTE_CODE":"Hozzájárulhatsz kóddal nyílt forráskódú projektjeinkhez. A GitHubon több olyan projektünk is van, amelyekhez segítőket keresünk. Ha szeretnél segíteni, nézd meg őket:","WEBSITE_STREMIO_ON_GITHUB":"Stremio a GitHubon","WEBSITE_CREATE_ADDON_DESC":"Hozz létre bővítményeket, a Stremio funkcióinak bővítésére (az API-unk könnyen használható):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Lehetőséget biztosítunk arra is, hogy gyakornok fejlesztőként csatlakozz hozzánk, hogy együtt növekedhessünk.","WEBSITE_APPLY_AS_AN_INTERN":"Jelentkezzen gyakornoknak","WEBSITE_CALLING_ALL_ARTISTS":"Figyelem, művészek!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mutasd meg kreativitásodat és a Stremio iránti szeretetedet azzal, hogy feltöltöd rajongói művedet az online galériánkba. Legyen szó rajzról, festményről vagy digitális dizájnról, szeretnénk látni a Stremio márka egyedi megjelenítését. Csatlakozz a művészetkedvelők közösségéhez, és oszd meg alkotásaidat a Stremio rajongóival világszerte.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Galéria","WEBSITE_INTERN_DESIGNER":"Légy csapatunk tagja, és emeld kreativitásodat új magasságokba izgalmas szakmai gyakorlati lehetőségeink segítségével.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Közkincsfilmek projekt","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"A Stremio elkötelezett a film- és tévétörténet megőrzése mellett a köztulajdonban lévő és elárvult videók azonosításával. A közösségünkkel együttműködve biztosíthatjuk, hogy ezek a klasszikus műalkotások mindenki számára hozzáférhetőek legyenek, és a jövő generációi számára is védetté váljanak.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Nyugodtan fordulj hozzánk, ha szeretnél részt venni a projektben.","WEBSITE_JOIN_THE_PROJECT":"Csatlakozz a Projekthez","WEBSITE_BE_PART_OF_OUR_MISSION":"Légy részese a küldetésünknek","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Szeretnél csatlakozni a Stremio csapatához? Teljes mértékben távmunkát kínálunk szenvedélyes szakemberek számára. Tekintsd meg nyitott pozícióinkat.","WEBSITE_OPEN_POSITIONS":"NYITOTT POZÍCIÓK","WEBSITE_DESCRIPTION":"LEÍRÁS","WEBSITE_LEARN_MORE":"Tudj meg többet","WEBSITE_COMPANY":"Vállalat","WEBSITE_CONTACTS":"Kapcsolatok","WEBSITE_NEED_HELP":"Kell segítség?","WEBSITE_STREMIO_WEB_ON_IOS":"Útmutató a Stremio Web használatához iOS rendszeren","WEBSITE_LINK_ART_V2":"Fanart Galéria","WEBSITE_PARTNERS":"Partnerek","WEBSITE_SLOGAN_WATCH":"Azonnali megtekintés","WEBSITE_SLOGAN_ALL":"Minden kedvenc videó tartalmad egy helyen","WEBSITE_SLOGAN_NEW":"Nézd, amennyit csak szeretnél","WEBSITE_SLOGAN_NEW_NEW":"A streamelés szabadsága","WEBSITE_WATCH_FROM":"Nézd meg","WEBSITE_DOWNLOAD":"Letöltés most","WEBSITE_DOWNLOAD_FOR":"Töltsd le most","WEBSITE_IS_DESKTOP":"A Stremio egy asztali alkalmazás, nyisd meg ezt az oldalt a számítógépeden, és töltsd le","WEBSITE_DESKTOP_DEMO_VID":"Asztali demó","WEBSITE_PAGE_HOME":"Kezdőlap","WEBSITE_PAGE_FEATURES":"Funkciók","WEBSITE_PAGE_ADDONS":"Bővítmények","WEBSITE_PAGE_TECH":"Technológia","WEBSITE_PAGE_CREATE_ADDON":"Bővítmény létrehozása","WEBSITE_PAGE_CONTACTS":"Kapcsolatok","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Kérjük, alább gépeld be a kívánt jelszót!","WEBSITE_RESET_PASSWORD_WARNING":"Biztosan vissza akarod állítani a jelszót a következő számára: ${1}?","WEBSITE_TYPE_movie":"Filmek","WEBSITE_TYPE_series_PL":"Sorozatok","WEBSITE_TYPE_tv":"Élő tv","WEBSITE_TYPE_channel":"Csatornák","WEBSITE_STREMIO_WHAT_IS":"A Stremio egy olyan alkalmazás, amely segít rendszerezni és azonnal megtekinteni kedvenc videóidat, filmjeidet, tévésorozataidat és TV-csatornáidat.","WEBSITE_FEATURES_WATCH":"Nézze meg azonnal HD minőségben","WEBSITE_FEATURES_WATCH_DETAIL":"Kattints és játszd le kedvenc filmjeidet, TV-műsoraidat, videóidat és TV-csatornáidat.","WEBSITE_FEATURES_SUBS":"Automatikus feliratok","WEBSITE_FEATURES_SUBS_DETAIL":"A Stremio automatikusan kiválasztja a szinkronizált feliratokat a te nyelvedhez.","WEBSITE_FEATURES_SUBS_LABEL":"Nálad a labda, főnök.","WEBSITE_FEATURES_CAST":"Játszd le TV-n és mobil eszközökön","WEBSITE_FEATURES_CAST_DETAIL":"Kivetítés AppleTV-re, Chromecastra, Smart TV-re (DLNA/UPnP) és mobileszközökre.","WEBSITE_LIB":"Élvezze az összes eszközén szinkronizált személyes könyvtárát","WEBSITE_LIB_COLLECT":"Gyűjtse a Stremióból","WEBSITE_LIB_IMPORT":"Importálás a Facebookról","WEBSITE_LIB_LOCAL":"Hozzáadás a helyi meghajtóról","WEBSITE_BOARD":"A tábla – Az értesítések és ajánlások egy helyen","WEBSITE_BOARD_RECOMMEND":"Ajánlott tévéműsor","WEBSITE_BOARD_TRENDING":"Felkapott film","WEBSITE_BOARD_NEW":"Új Videó","WEBSITE_BOARD_EPISODE":"Új epizód","WEBSITE_BOARD_1":"Valami érdekes néznivalót keresel? Kapj ajánlásokat az ízléseid alapján!","WEBSITE_BOARD_2":"Értesítést kaphatsz kedvenc tévéműsoraid vagy YouTube-csatornáid új epizódjairól!","WEBSITE_BOARD_YOUTUBE":"Új videók a YouTube csatornákról","WEBSITE_BOARD_EPISODES":"Az általad követett sorozatok új epizódjai","WEBSITE_ADDONS":"Tartalom-bővítmények","WEBSITE_TECH_DETAIL":"Szeretjük a technológiát, szeretjük az őrült tudományt! A Stremio a következő nyílforráskódú technológiákat használja:\\n","WEBSITE_TECH_WCJS":"A WebChimera.js lehetővé teszi a Stremio számára, hogy bármilyen videóformátumot jó teljesítménnyel játsszon le.","WEBSITE_TECH_WCJS_EXTRA":"A projekt fő közreműködői vagyunk","WEBSITE_TECH_ELECTRON":"Az Electron innovatív platformot biztosít a Stremio építéséhez.","WEBSITE_TECH_ELECTRON_EXTRA":"A projekt közreműködői vagyunk","WEBSITE_TECH_LINVODB":"Egy adatbázis-technológia, amely biztosítja, hogy adatai rendszerezve legyenek, és bárhol elérhetők legyenek, ahol bejelentkezik.","WEBSITE_TECH_LINVODB_EXTRA":"Házon belüli technológia","WEBSITE_CREATE_ADDON":"Hozz létre saját bővítményt","WEBSITE_CREATE_ADDON_DETAIL":"Van saját videó szolgáltatásod? Segítünk kihasználni a Stremio által nyújtott funkciókat azzal, hogy elkészítjük a bővítményedet.","WEBSITE_CREATE_ADDON_BENEFITS":"A Stremio bővítmény létrehozásának előnyei","WEBSITE_P2P_BEAUTY":"A peer-to-peer streaming szépsége","WEBSITE_P2P_1":"Megbízható és megfizethető Full HD / 4K videó igény szerint vagy élő közvetítés","WEBSITE_P2P_2":"Nagyszerű felhasználói élményt nyújtó terjesztési platform","WEBSITE_P2P_3":"Pontosan az Ön igényeinek megfelelő bővítményt készítünk","WEBSITE_P2P_CONTACT":"Érdekel? <a href=\'mailto:office@stremio.com\'>Lépjen kapcsolatba velünk</a>!","WEBSITE_P2P_CONTACT_EXTRA":"Szívesen segítünk a tartalma integrálásában a Stremio platformra!","WEBSITE_P2P":"Egyszer-egyszer jön egy technológia, amely teljesen felforgatja a játékszabályokat. Rengeteg időt és energiát fektettünk a Peer-to-Peer (P2P) videostreaming motorunk megalkotásába, amely nagyszerű teljesítményt és sokoldalúságot biztosít, hogy bármilyen felhasználási esethez alkalmazkodni tudjon.\\nForduljon hozzánk a DRM-képes P2P-videó igény szerinti vagy élő streaming szolgáltatásért.","WEBSITE_THOUGHTS":"Megosztjuk gondolatainkat:","WEBSITE_SPREAD":"Terjeszd a hírt a Stremióról:","WEBSITE_CONTACT":"Vedd fel velünk a kapcsolatot, örömmel várjuk megkeresésedet!","WEBSITE_OPENSOURCE":"Nyílt forráskódú projektjeinkért látogass el a ","WEBSITE_BITCOIN":"Adományozz bitcoint:","WEBSITE_FAQ":"Gyakran Ismételt Kérdések","WEBSITE_FAQ_SHORT":"GYIK","WEBSITE_QUESTIONS":"Kérdések","WEBSITE_TOS":"Használati feltételek","WEBSITE_LEGAL":"Jogi","WEBSITE_PAGE_ABOUT":"Rólunk","WEBSITE_PAGE_BECOME_PARTNER":"Légy partnerünk","WEBSITE_ALL_YOU_CAN_WATCH":"Szabadon nézheted.","WEBSITE_FREEDOM_TO_STREAM":"A streamelés szabadsága","WEBSITE_WHAT_IS_STREMIO":"Mi az a stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"A Stremio egy központ a videótartalmak összegyűjtéséhez. Fedezd fel, rendszerezd és nézz videókat mindenféle forrásból bármilyen eszközödön.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmek, tévéműsorok, sorozatok, élő televíziós csatornák vagy internetes csatornák, például a YouTube és a Twitch.tv – mindezt megtalálod a Stremio-n.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"A Stremio egy modern médiaközpont a videós szórakoztatáshoz. Fedezz fel, nézz és rendszerezz videótartalmakat könnyen telepíthető bővítményekből!","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmek, tévéműsorok, élő tévéműsorok vagy webcsatornák – mindezt megtalálod a Stremio-n.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Élvezd az összes médiaeszközödön","WEBSITE_DEVICES_COLLECT":"Gyűjts a Stremióból","WEBSITE_DEVICES_IMPORT_FB":"Importálás a Facebookról","WEBSITE_DEVICES_LOCAL":"Hozzáadás a helyi meghajtóról","WEBSITE_JOIN_THE_PARTY_NOW":"Csatlakozz most a bulihoz","WEBSITE_DEVICES_ALL":"Könnyen használható minden eszközödön;","WEBSITE_EXTENDABLE_CATALOG":"Végtelenül bővíthető videokatalógus;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Nagyszerű funkciók a média rendszerezéséhez;","WEBSITE_AS_SEEN_ON":"Amint látható","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Rólunk","WEBSITE_LINK_TECHNOLOGY":"Technológia","WEBSITE_LINK_APPS":"Alkalmazások elemre","WEBSITE_LINK_DOWNLOADS":"Letöltések","WEBSITE_MORE":"Több","WEBSITE_LINK_ADDONS":"Bővítmények","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Hozzájárulás","WEBSITE_LINK_COMMUNITY":"Közösség","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... és más","WEBSITE_LINK_HELP":"Segítség Központ","WEBSITE_LINK_CONTACTS":"Üzleti kapcsolatfelvétel","WEBSITE_LINK_TOS":"Feltételek és kikötések","WEBSITE_LINK_PRAVACY":"Adatvédelmi irányelvek","WEBSITE_SUBSCRIBE":"Iratkozz fel","WEBSITE_NEWSLETTER":"Csodálatos dolgokért iratkozz fel hírlevelünkre","WEBSITE_PLACEHOLDER_EMAIL":"Az email címed","WEBSITE_COMMUNITY":"Közösség","WEBSITE_LINK_PRAVACY_LEGAL":"Adatvédelem","WEBSITE_WHY":"Ezért csináljuk","WEBSITE_WHY_P1":"A Stremio-nál minden nap azért megyünk dolgozni, mert egy fontos problémát akarunk megoldani a lekérhető videók iparágában. Olyan sok új tartalom jelenik meg percenként, hogy szinte lehetetlen eligazodni benne.","WEBSITE_WHY_P2":"Segítünk az embereknek eligazodni a videós szórakoztatás hatalmas világában, és új tartalmakat felfedezni. Alkalmazásaink filmeket, sorozatokat, élő tévéműsorokat, webes csatornákat és még sok mást hoznak össze. Elkötelezettek vagyunk amellett, hogy a felhasználók számára hihetetlenül egyszerűvé tegyük a számukra kedves műsorok és szolgáltatók megtalálását.","WEBSITE_WHY_P3":"Szolgáltatásunkat bármilyen eszközön és bármikor használhatod, így a Stremio az egyetlen videó szórakoztató központ, amelyre valaha szükséged lesz.","WEBSITE_TEAM":"CSAPAT","WEBSITE_TEAM_P":"A Stremio csapata kicsi, de erős: tízen vagyunk, X nyelven kódolunk, és megosztjuk egymással tapasztalatainkat a szoftverfejlesztés, a felhasználói felület és a UX tervezés, a marketing és a reklámozás, valamint az üzleti élet és a startupok terén.","WEBSITE_FEATURES":"Funkciók","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Fedezz fel új tartalmat könnyedén","WEBSITE_FEATURES_DISCOVER_P":"Könnyedén felfedezhetsz új filmeket, tévéműsorokat, sorozatokat és csatornákat, amelyeket nézhetsz. Böngéssz kategória, műfaj, nézettség, ismertség stb. szerint, vagy egyszerűen csak írj be egy nevet a kereséshez. A Stremio segítségével az új videotartalmak megtalálása gyerekjáték.","WEBSITE_FEATURES_ALL_CONTENT":"Az összes videó tartalmad egy képernyőn","WEBSITE_FEATURES_ALL_CONTENT_P1":"Nézd meg, hogy milyen filmeket, sorozatokat vagy videókat nem fejeztél be, és folytasd a megtekintésüket; kapj értesítést az új epizódokról és megjelenésekről; és böngéssz a nézési szokásaid alapján kapott ajánlások között.","WEBSITE_FEATURES_LIBRARY":"Rendszerezd videókönyvtáradat","WEBSITE_FEATURES_LIBRARY_P1":"Adj hozzá bármilyen műsort a Stremio-könyvtáradhoz egyetlen kattintással, és navigálj a tartalmak között, szépen elrendezve típus, frissesség vagy ábécé sorrend szerint.","WEBSITE_FEATURES_CALENDAR":"Kövess nyomon mindent, amit nézel","WEBSITE_FEATURES_CALENDAR_P1":"Naptári megjelenítést kaphatsz a könyvtáradba felvett összes filmről és sorozatról. Exportáld ki a Stremio naptáradat, és szinkronizáld, hogy mindig tudd, mikor esedékes egy új epizód vagy premier.","WEBSITE_FEATURES_BIG_SCREEN":"Élvezd ki videotartalmaidat nagyobb képernyőn","WEBSITE_FEATURES_BIG_SCREEN_P1":"Egyetlen kattintással kivetítheted a tartalmaidat egy másik eszközre – legyen az telefon, táblagép vagy tévé.","WEBSITE_FEATURES_SOURCES":"Nézz videókat sok különböző forrásból","WEBSITE_FEATURES_SOURCES_P":"Telepíts hivatalos és közösségi bővítményeket, hogy több különböző szolgáltatótól származó videókat élvezhess – mindezt egyetlen elegáns, könnyen használható alkalmazásban.","WEBSITE_CREATE_AN_ADDON":"Hozz létre bővítményt","WEBSITE_FEATURES_SYNC":"Szinkronizáld könyvtáradat különböző eszközök között, és folytasd a lejátszást","WEBSITE_FEATURES_SYNC_P1":"Jelentkezz be fiókoddal minden eszközön, és élvezd a könyvtáradat, a bővítményeket, a lejátszást és a szinkronizált naptárat.","WEBSITE_FEATURES_EXTENDABLE":"Bővítményekkel bővíthető videó katalógus","WEBSITE_FEATURES_EXTENDABLE_P1":"A Stremio bővítménykatalógus számos bővítményt kínál telepítésre a különböző videótartalmak megtekintéséhez. Ezek közé tartoznak filmek, műsorok, élő TV, sport, hírek, podcastok, webcsatornák, videojátékok és még sok más.","WEBSITE_FEATURES_AUTO_SUBS":"Automatikus feliratozás","WEBSITE_FEATURES_AUTO_SUBS_P1":"Felirat-bővítményeinkkel automatikusan kiválasztott feliratokat kaphatsz a kiválasztott nyelvedhez.","WEBSITE_FEATURES_CHROMECAST":"Kivetítés Chromecastra","WEBSITE_FEATURES_CHROMECAST_P1":"Élvezd videotartalmaidat egy nagyobb képernyőn, vagy csak vetítsd ki a nézett tartalmat egy másik eszközre!","WEBSITE_FEATURES_KEEP_TRACK":"Kövesd nyomon kedvenc TV-műsoraidat és webcsatornáidat","WEBSITE_FEATURES_KEEP_TRACK_P1":"Naptári vizualizációt és értesítéseket kaphatsz kedvenc sorozataid és webcsatornáid új epizódjairól.","WEBSITE_FEATURES_POWER_USER":"Kiemelt felhasználói funkciók","WEBSITE_FEATURES_POWER_USER_P1":"Lejátszás külső lejátszóban","WEBSITE_FEATURES_POWER_USER_P2":"Lejátszás torrent fájlból vagy mágnes linkből","WEBSITE_FEATURES_POWER_USER_P3":"Importálás a könyvtáradba a Facebook kedveléseid alapján vagy a helyi lemezről","WEBSITE_ADD_ONS":"Bővítmények","WEBSITE_ADD_ONS_P1":"A Stremio által kínált összes videótartalom forrása egy bővítmény rendszeren keresztül történik – az alkalmazásban nincsenek beépített tartalmk vagy szolgáltatók.","WEBSITE_ADD_ONS_P2":"A bővítmények két csoportja érhető el: hivatalos és közösségi bővítmények.","WEBSITE_ADD_ONS_P3":"A hivatalos bővítményeket a Stremio fejleszti és üzemelteti, míg a közösségi bővítményeket a közösségünk tagjai hozzák létre, és ők is üzemeltetik azokat.","WEBSITE_ADDONS_OFFICIAL":"Hivatalos bővítmények","WEBSITE_ADDONS_WATCHUB":"Streameld kedvenc filmjeidet, sorozataidat és műsoraidat olyan szolgáltatóktól, mint az iTunes, a Hulu, az Amazon és más egyesült királyságbeli/amerikai szolgáltatások.","WEBSITE_ADDONS_YOUTUBE":"Nézd kedvenc YouTube-csatornáidat hirdetések nélkül, és kapj értesítést az új feltöltésekről a követett közreműködőktől.","WEBSITE_ADDONS_FILMON":"Nézz élő TV-t, filmeket és közösségi televíziót ingyenesen. 600 TV-csatorna, 45 000 ingyenes film, dokumentumfilm és még sok más.","WEBSITE_ADDONS_OPENSUBTITLES":"Film- és TV-feliratok több nyelven, naponta több ezer lefordított felirat kerül feltöltésre.","WEBSITE_ADDONS_COMMUNITY":"Közösségi bővítmények","WEBSITE_ADDONS_FILMON_VOD":"Nézz videókat a Filmon.tv-ről","WEBSITE_ADDONS_TWICH":"Nézz élő közvetítéseket a Twitch.tv-ről – az e-sport ipar videostreamelő platformjáról.","WEBSITE_ADDONS_VODO":"Nézz indie filmeket teljesen ingyen.","WEBSITE_ADDONS_NETFLIX":"Nézz Netflix filmeket és websorozatokat.","WEBSITE_ADDONS_CREATE":"Hozz létre egy bővítményt","WEBSITE_ADDONS_CREATE_P1":"Ha szeretnél, fejleszthetsz saját bővítményt. Így új videótartalmakhoz biztosíthatsz hozzáférést magadnak és közösségünknek, és világszerte több millió felhasználóból álló új, célzott közönséget érhetsz el.","WEBSITE_ADDONS_START_CREATE":"A kezdéshez keresd fel a Stremio Addon SDK oldalát:","WEBSITE_DOWNLOADS":"Letöltések","WEBSITE_DOWNLOADS_P1":"Az optimális teljesítmény érdekében javasoljuk, hogy a Stremio alkalmazások legújabb elérhető verzióját használd. Ha azonban valamilyen oknál fogva egy régebbi verziót szeretnél használni, akkor azt letöltheted innen.","WEBSITE_DOWNLOADS_P1_SHORT":"Az optimális teljesítmény érdekében javasoljuk, hogy a Stremio alkalmazások legújabb elérhető verzióját használd.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio Windows-on","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio macOS-en","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio Linux-on","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio Android-on","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio Android TV-n","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio Android mobilon","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio a Steam Deck-en","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio iOS-en","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio Samsung TV-n","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio LG TV-n","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio Oculus Quest-en","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio Xbox-on","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio Raspberry Pi-n","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio a böngészőben","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Keresd a Stremio alkalmazást a 2019 óta megjelent Samsung TV-ken.","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Keresd a Stremio alkalmazást a 2020 óta megjelent LG TV-ken.","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Keresd a Stremio alkalmazást az Xbox alkalmazásboltban.","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Stremio Service letöltése","WEBSITE_DOWNLOAD_SERVICE_P1":"A Stremio Service a Stremio Web társalkalmazása. A Stremio Service legfrissebb verziójának használatát ajánljuk.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service Windows-ra","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service macOS-re","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service Linux-ra","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service Docker-re","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"További letöltési lehetőségek","WEBSITE_DOWNLOAD_NEW":"Új!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Megjelent a Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Megjelent a Stremio Samsung TV-re","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Megjelent a Stremio LG TV-re","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Megjelent a Stremio Xbox-ra","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Megjelent a Stremio Raspberry Pi-ra","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Hozzájárul","WEBSITE_CONTRIBUTE_P1":"A Stremio platform nyílt forráskódú, és egyszerűen létrehozhatsz bővítményeket a jelenleg nem elérhető tartalomhoz.","WEBSITE_CONTRIBUTE_WHY":"Miért érdemes bővítményt létrehozni?","WEBSITE_CONTRIBUTE_WHY_P1":"Új közönséget érhetsz el a videó tartalmaidnak","WEBSITE_CONTRIBUTE_WHY_P2":"A Stremio felhasználói bázisa gyorsan növekszik - az indulás első évében a Stremio világszerte 1 millió felhasználót szerzett, és a platform fennállásának második évében ez a szám 2,5 millióra nőtt.","WEBSITE_CONTRIBUTE_WHY_P3":"Bővítményeddel könnyedén elérheted ezt a közönséget, és terjesztheted nekik videotartalmaidat.","WEBSITE_CONTRIBUTE_ALL":"Nézd meg kedvenc filmjeidet, videóidat, sorozataidat és csatornáidat egy helyen.","WEBSITE_CONTRIBUTE_ALL_P1":"Rajongsz egy bizonyos típusú tartalomért, amely még nem érhető el a Stremio-n? Hozz létre hozzá egy bővítményt, és élvezd kedvenc videóid megtekintését a piac egyik legnagyobb és legegyszerűbben használható szórakoztató központján.","WEBSITE_CONTRIBUTE_ALL_P2":"Ráadásul a Stremio közösség többi, hasonló gondolkodású tagjának végtelen hálájában részesülhetsz.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetizáld a bővítményedet és keress pénzt vele!","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Ha alkottál egy bővítményt a Stremio számára, azt többféle módon is könnyedén pénzzé teheted. Ha ezt fontolgatod, bátran vedd fel velünk a kapcsolatot a következő címen ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - szívesen konzultálunk és tanácsot adunk a bővítmény monetizálási lehetőségeiről.","WEBSITE_CONTRIBUTE_TRANSLATE":"Legyél önkéntes fordító","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Ha szeretnéd a Stremio-alkalmazásokat különböző nyelveken élvezni, csatlakozhatsz önkéntes fordítóink közösségéhez. Ők segítenek nekünk abban, hogy a Stremio számos különböző nyelven elérhető legyen.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Szívesen kezdesz már?","WEBSITE_TRANSALTE_STREMIO":"Stremio fordítása","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Hivatalos közösségek","WEBSITE_COMMUNITY_OFFICIALS_P1":"Légy része a Stremio növekvő közösségének. Kövess minket a közösségi médiában, és ne félj köszönni nekünk - szeretünk hallani a rajongóinkról! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Nem hivatalos közösségek","STREMIO_COMMUNITY_NL":"Stremio Hollandia","STREMIO_COMMUNITY_BRASIL":"Stremio Brazília","STREMIO_COMMUNITY_GERMANY":"Stremio Németország","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio Franciaország","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugália","STREMIO_COMMUNITY_ITALY":"Stremio Olaszország","STREMIO_COMMUNITY_UK":"Stremio Egyesült Királyság","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexikó","STREMIO_COMMUNITY_ADDONS":"Stremio bővítmények","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partnerek és támogatók","WEBSITE_COMMUNITY_GOODIES":"Stremio finomságok","WEBSITE_COMMUNITY_WALLPAPERS":"Háttérképek","WEBSITE_COMMUNITY_ART":"Közösségi Művészeti Galéria","WEBSITE_LINK_ART":"Közösségi művészeti galéria","WEBSITE_CONTACT_US":"Kapcsolat","WEBSITE_CONTACT_US_P1":"Ha bármilyen kérdésed, észrevételed vagy javaslatod van, fordulj hozzánk bizalommal az alábbi kapcsolatfelvételi űrlapon keresztül.","WEBSITE_CONTACT_US_P2":"Ne feledd, hogy Bulgáriában vagyunk, ezért előfordulhat, hogy az időzónák eltérései miatt az üzenet megválaszolása késni fog.","WEBSITE_CONTACT_US_SUCCESS":"Az üzenet sikeresen elküldve. Amint tudunk, válaszolunk neked.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Kérlek létező email címet adj meg!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Mihez kapcsolódik a kérdésed?","WEBSITE_CONTACT_US_Q_OS":"Milyen operációs rendszert használsz?","WEBSITE_CONTACT_US_PH_EMAIL":"Az email címed","WEBSITE_CONTACT_US_PH_MESSAGE":"Üzenet","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"KÜLDÉS","WEBSITE_CONTACT_US_Q_1":"Hogyan kell telepíteni?","WEBSITE_CONTACT_US_Q_2":"Hogyan kell eltávolítani?","WEBSITE_CONTACT_US_Q_3":"(HTML) Hogyan készítsünk lasagnét?","WEBSITE_CONTACT_US_Q_4":"Bővítmények","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technológia","WEBSITE_TECHNOLOGY_P1":"Szeretjük a technológiát és az őrült tudományt. </br> Ezek hajtják a Stremiot (mind nyílt forráskódú).","WEBSITE_TECHNOLOGY_P_QT":"Többplatformos szoftverfejlesztés a javából.","WEBSITE_TECHNOLOGY_P_MPV":"Ingyenes, nyílt forráskódú és többplatformos médialejátszó.","WEBSITE_TECHNOLOGY_P_RN":"A React Native segítségével mobilalkalmazásokat készíthet kizárólag JavaScript használatával.","WEBSITE_TECHNOLOGY_P_VLC":"Alkalmazásba ágyazott média keretrendszer a multimédiához.","WEBSITE_TECHNOLOGY_P_REALM":"A Realm egy mobil platform, és az SQLite helyettesítője.","WEBSITE_TECHNOLOGY_P_NODEJS":"A Node.js egy nyílt forráskódú, többplatformos JavaScript futtatási környezet.","WEBSITE_TECHNOLOGY_P_RUST":"A Rust egy többparadigmás rendszerprogramozási nyelv, amely a biztonságra, különösen a biztonságos párhuzamosságra összpontosít.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Járulj hozzá a projekthez","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Kétféleképpen járulhatsz hozzá a Stremióhoz, és segíthetsz a termék még jobbá tételében.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Értékes nyelvtudásoddal segítheted a platform fordítását...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"vagy","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... felhasználhatod kódolási készségeidet közösségi bővítmények létrehozásához. ","WEBSITE_TRANSLATE_STREMIO":"Stremio fordítása","WEBSITE_404_OH_NO":"Hoppá! A keresett oldal nem található...","WEBSITE_GO_HOME":"A kezdőlapra","WEBSITE_LINK_OTHER_DOWNLOADS":"Egyéb letöltések","WEBSITE_FAQ_ABR":"GYIK","WEBSITE_SUPPORT":"Támogatás","WEBSITE_DOWNLOAD_4_0_BETA":"Töltsd le most a Stremio 4 béta verzióját","WEBSITE_GET_FOR_DESKTOP":"Szerezd meg asztali számítógépre","WEBSITE_LINK_ADDON_COMPETITION":"Bővítmény verseny","WEBSITE_LINK_ART_CONTEST":"Művészeti verseny","WEBSITE_MY_ACCOUNT":"A fiókom","WEBSITE_MAINPAGE_FAQ_001_H1":"Mi az a Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"A Stremio egy modern médiaközpont, amellyel szabadon nézhetsz, amit csak akarsz.","WEBSITE_MAINPAGE_FAQ_002_H1":"Hogyan működik?","WEBSITE_MAINPAGE_FAQ_002_P1":"Miután telepítetted a Stremiot az eszközödre, és létrehoztad a fiókodat, mindössze annyit kell tenned, hogy felkeresed a bővítmény katalógust, és telepíted a kívánt bővítményt, és már mehet is!","WEBSITE_MAINPAGE_FAQ_002_P2":"Ezt követően a Felfedezés vagy a Tábla részre léphetsz a tartalom felfedezésének megkezdéséhez.","WEBSITE_MAINPAGE_FAQ_003_H1":"Mit nézhetek itt?","WEBSITE_MAINPAGE_FAQ_003_P1":"Sokat: filmek, tévéműsorok, webcsatornák, sport, TV-csatornák, podcastok hallgatása és még sok más. A bővítmény rendszerünknek köszönhetően rengeteg tartalmat elérhetsz.","WEBSITE_MAINPAGE_FAQ_004_H1":"A Stremio nyílt forráskódú?","WEBSITE_MAINPAGE_FAQ_004_P1":"Igen, megnézheted a következő linkeken: ${1}asztali alkalmazás${2} és ${3}GitHub org${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"A Stremio biztonságos?","WEBSITE_MAINPAGE_FAQ_005_P1":"Igen: mivel nyílt forráskódú szoftverről van szó, a kód nyilvánosan auditálható, és Te is ellenőrizheted.","WEBSITE_MAINPAGE_FAQ_005_P2":"A Stremio addon rendszerét is a felhasználó biztonságát szem előtt tartva hoztuk létre. A bővítmények nem futtatnak kódot helyileg, így nem okoznak biztonsági kockázatot az eszközökben.","WEBSITE_MAINPAGE_FAQ_006_H1":"Mi a helyzet az adatbiztonsággal?","WEBSITE_MAINPAGE_FAQ_006_P1":"Tiszteletben tartjuk a felhasználók adatait, és a fiók létrehozásához és szinkronizálásához szükséges minimumon kívül semmilyen személyes adatot nem gyűjtünk.","WEBSITE_MAINPAGE_FAQ_006_P2":"A regisztráció során ${1}Vendég mód${2} is elérhető, amelyhez nincs szükség semmilyen adatra: ebben a módban nem történik hívás a háttérrendszerünkbe. Azonban ezzel hasznos funkciókról maradsz le, mint a könyvtár szinkronizálása készülékek között.","WEBSITE_MAINPAGE_FAQ_007_H1":"Kivetíthetem a tévémre?","WEBSITE_MAINPAGE_FAQ_007_P1":"Igen, támogatjuk a Chromecastot, és kivetíthetsz asztali és mobilalkalmazásokból is (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Hány bővítménye van a Stremiónak?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 végén több mint 50 – további információkért tekintsd meg bővítmény katalógusunkat.","WEBSITE_MAINPAGE_FAQ_009_H1":"Bővíthető-e a Stremio a böngésző katalógusban foglaltakon túl?","WEBSITE_MAINPAGE_FAQ_009_P1":"Igen, nézd meg ezeket: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6} stb.","WEBSITE_MAINPAGE_FAQ_010_H1":"Milyen eszközöket támogat a Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Vannak asztali alkalmazásaink Windowsra, Macre és Linuxra. ","WEBSITE_MAINPAGE_FAQ_010_P2":"Számos Android-alapú eszköz létezik, amelyeken a Stremio futtatható, például az NVIDIA Shield és az Amazon Fire Stick, de hivatalosan nem támogatjuk őket.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Vannak asztali alkalmazásaink Windows, Mac és Linux operációs rendszerekhez. Dedikált alkalmazásaink vannak Android Mobile és Android TV platformokra is. iOS és iPadOS esetén a Stremio Web használatát javasoljuk, bár ez korlátozottabb funkcionalitású.","WEBSITE_MAINPAGE_FAQ_011_H1":"Hozzá tudnátok adni bizonyos tartalmakat a Stremióhoz?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sajnáljuk, mi magunk nem biztosítunk tartalmat, de minél több Stremio bővítményt telepítesz, annál több tartalmat találsz.","WEBSITE_MAINPAGE_FAQ_012_H1":"A Stremio le tudja játszani a mágnes linkeket?","WEBSITE_MAINPAGE_FAQ_012_P1":"Igen, és normál HTTP hivatkozásokat és torrent fájlokat is le tud játszani (csak húzd be az alkalmazásba).","WEBSITE_MAINPAGE_FAQ_013_H1":"Letölthetek videót és megnézhetem offline módban?","WEBSITE_MAINPAGE_FAQ_013_P1":"Az offline elérhetőség egy hamarosan elérhető funkció, de ha engedélyezed a Stremio számára, hogy gyorsítótárat tároljon az eszközödön (a beállítások panelről), később kapcsolat nélkül is megnézheted a videókat.","WEBSITE_MAINPAGE_FAQ_014_H1":"Semmi sem működik, segíts!","WEBSITE_MAINPAGE_FAQ_014_P1":"Biztos, hogy telepítetted a bővítményeket? Ha igen, keresd fel a ${1}segítség központot${2}","WEBSITE_MAINPAGE_FAQ_015_H1":"Hogyan tartja fenn a Stremio fejlesztési tevékenységét?","WEBSITE_MAINPAGE_FAQ_015_P1":"Alkalmanként nem tolakodó hirdetéseket jelenítünk meg, de fontolgatjuk az adományozási modellre való átállást.","WEBSITE_MAINPAGE_FAQ_015_P2":"Ha további kérdéseid vannak, keresd fel ${1}súgónkat${2}.","HELP_LEARN_MORE":"Segíts nekünk többet megtudni magadról.","LIFESTYLE":"Életmód","SPORTS":"Sport","FOOD_HEALTH":"Étel és egészség","BEAUTY_FASHION":"Szépség és divat","NEWS":"Hírek","GAMING":"Gaming","SCIENCE_EDUCATION":"Tudomány és oktatás","MUSIC":"Zene","TRAVEL":"Utazás","LATE_NIGHT":"Késő esti műsorok","REALITY":"Valóság","COMEDY":"Vígjáték","DIY":"DIY (barkácsolás)","TECH":"Tech","CINEMA":"Mozi","CONTINUE":"Folytatás","SLOW_LOADING":"LASSÚ BETÖLTÉS?","I_GIVE_UP":"FELADOM","LEARN_MORE":"Tudj meg többet","POOR_SOURCE":"Ez a forrás rosszul elérhető, vagy az internetkapcsolat nem elég gyors","PICK_CATEGORIES_ERR":"Legalább 3 kategóriát kell kiválasztanod","ADJUST_TIMING":"Állítsd be az időzítést a ","ADJUST_SIZE":"Állítsd be a méretet ezzel","SEARCH_ANYTHING":"Bármire kereshetsz...","ALL_CATEGORIES":"Minden","SEARCH_CATEGORIES":"Filmek, Sorozatok, YouTube & TV","SEARCH_PERSONS":"Színészek, Rendezők & Írók","SEARCH_PROTOCOLS":"HTTP & Mágnes linkek","SEARCH_TYPES":"IMDB / TVDB Linkek","WATCHED":"Megnézett","SHOW_LESS":"Kevesebb","LAST_SEARCHES":"Keresési előzmények","CLEAR_HISTORY":"Előzmények törlése","CHOOSE_SOME":"VÁLASSZ EZEKBŐL:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"A Web Remote nem tölthető be","STREMIO_OFFLINE":"A Stremio offline","STREMIO_EXPENSIVE_CONNECTION":"Azt észleltük, hogy mobil adatkapcsolatot használsz, folytatod?","USE_DATA":"Mobilkapcsolat használata","WARNING":"Figyelem","MORE_INFO":"Több információ ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Betöltés ...","STREMIO_TV_BACK_TO_LANGUAGES":"Vissza a nyelvekhez","STREMIO_TV_REMOTE":"Távirányító","STREMIO_TV_GO_TO":"Keresd fel ezt:","STREMIO_TV_OR_SCAN":"vagy szkenneld be ezt:","STREMIO_TV_ADDON_INSTRUCTIONS":"Kérjük, kövesd az utasításokat a kívánt bővítmények telepítéséhez.","STREMIO_TV_LIVE_TV":"Élő TV","STREMIO_TV_RESUME_WATCHING":"Megtekintés folytatása","STREMIO_TV_LOADING_BACKGROUND":"Háttér betöltése","STREMIO_TV_CHECKING_AUTHENTICATION":"Hitelesítés ellenőrzése","STREMIO_TV_LOADING_BOARD":"Tábla betöltése","STREMIO_TV_LOGIN_HEADER_LINE_1":"Azt akarjuk, hogy felhasználóink ​​a lehető legjobb személyre szabott élményben részesüljenek szoftverünkkel.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Éppen ezért kérjük, hogy hozzon létre és/vagy jelentkezzen be fiókjába.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Köszönjük a megértésed,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"A Stremio csapata","STREMIO_TV_REMOTE_INSTRUCTIONS":"A webes távirányító használatához okostelefonjával/táblagépével/asztali számítógépével:","STREMIO_TV_WIFI_SETUP":"Wi-Fi beállítás","STREMIO_TV_WIFI_HEADER_LINE_1":"A Stremio Circle nem észlelt internetkapcsolatot.","STREMIO_TV_WIFI_DETAILS_1":"Kapcsolódás ehhez:","STREMIO_TV_WIFI_DETAILS_2":"stremio-kör","STREMIO_TV_WIFI_DETAILS_3":"Jelszó használata:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Nyisson meg egy webböngészőt a következő hivatkozással:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Alapértelmezett","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Utolsó megtekintés szerint","STREMIO_TV_LIBRARY_SORT_NAME":"Név szerint","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Megtekintések száma szerint","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"${1}. évad","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} bővítmény betöltve...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} bővítmény még töltődik...","STREMIO_TV_PLAYER_SETTINGS":"A lejátszó beállításai","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Feliratok késleltetés","STREMIO_TV_PLAYER_AUDIO_DELAY":"Hang késleltetés","STREMIO_TV_PLAYER_VIDEO_SCALING":"Videó méretezése","STREMIO_TV_PLAYER_CHAPTERS":"Fejezetek","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"{1} kihagyása","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nem támogatott stream-forrás","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Külső link megnyitása sikertelen","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"A hang passthrough módban nem állítható","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Lejátszás ExoPlayerrel","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Lejátszás libVLC lejátszóval","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Váltás libVLC lejátszóra lejátszási hiba miatt","STREMIO_TV_ADDONS_TITLE":"Használja a Stremio alkalmazást telefonján vagy számítógépén a bővítmények telepítéséhez vagy konfigurálásához, majd nyomja meg a \\"Bővítők szinkronizálása\\" gombot.","STREMIO_TV_ADDONS_SUBTITLE":"Megjegyzés: győződjön meg arról, hogy ugyanazt a Stremio-fiókot használja","STREMIO_TV_ADDONS_SYNC_ADDONS":"Bővítmények szinkronizálása","STREMIO_TV_ADDONS_SYNC_SUCCESS":"A bővítmények sikeresen szinkronizálva","STREMIO_TV_ADDONS_SYNC_FAILED":"Nem sikerült szinkronizálni a bővítményeket","STREMIO_TV_META_LINK_FAILED":"A meta link megnyitása sikertelen","STREMIO_TV_CATALOG_LOADING":"A katalógus töltődik...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"A felület nyelve frissítve","STREMIO_TV_SETTINGS_THEME_UPDATED":"Téma frissítve","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Alapértelmezett lejátszó","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Külső lejátszó","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferált nyelv","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Másodlagos preferált nyelv","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnel lejátszás","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Lehetséges lejátszási problémák egyes eszközökön","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Előfordulhat, hogy egyes videoformátumok nem működnek","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Képkockasebesség egyeztetés","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Tiltva","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Csak képkockasebesség","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Képkockasebesség és Felbontás","STREMIO_TV_SETTINGS_NO_CACHING":"Gyorsítótárazás kikapcsolása","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Alapértelmezett","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Puha","STREMIO_TV_SETTINGS_PROFILE_FAST":"Gyors","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra gyors","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming szerver URL-je","STREMIO_TV_SETTINGS_SERVER_VERSION":"Szerver verzió","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Ismeretlen","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio verzió","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Szerver URL-jének módosítása","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Adja meg a streaming szerver URL-jét","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Statisztikák megjelenítése betöltés közben","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"A Stremio adatvédelmi szabályzatának elolvasásához látogasson el:","STREMIO_TV_SETTINGS_TOS_TEXT":"A Stremio Általános Szerződési Feltételeinek elolvasásához látogasson el a következő oldalra:","STREMIO_TV_NAV_SEARCH":"Keresés","STREMIO_TV_NAV_HOME":"Kezdőlap","STREMIO_TV_NAV_DISCOVER":"Felfedezés","STREMIO_TV_NAV_LIBRARY":"Könyvtár","STREMIO_TV_NAV_MOVIES":"Filmek","STREMIO_TV_NAV_SERIES":"Sorozatok","STREMIO_TV_NAV_CHANNELS":"Csatornák","STREMIO_TV_NAV_TV":"Élő TV","STREMIO_TV_NAV_SETTINGS":"Beállítások","STREMIO_TV_NAV_ADDONS":"Bővítmények","STREMIO_TV_LOGIN_TITLE":"Fiók összekapcsolása","STREMIO_TV_LOGIN_EXPIRES_IN":"Lejár ekkor: ","STREMIO_TV_LOGIN_STEP_ONE":"Olvasd be a fenti QR-kódot, vagy nyisd meg a következő címet:","STREMIO_TV_LOGIN_STEP_TWO":"Jelentkezz be Stremio-fiókodba","STREMIO_TV_LOGIN_NEW_LINK":"Új link kérése","STREMIO_TV_LOGIN_LINK_REFRESHED":"A bejelentkezési kód frissítve","STREMIO_TV_SEARCH_PLACEHOLDER":"Írj valamit","STREMIO_TV_SEARCH_NO_ADDONS":"A katalógusokhoz nem lettek bővítmények hívva!","STREMIO_TV_SEARCH_BUTTON":"Keresés","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Keresési előzmények","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Címekre, színészekre, csatornákra és egyebekre kereshetsz...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Keresési előzmények törlése","STREMIO_TV_FILTERS_DESCRIPTION":"Válassz az alábbi szűrők közül","STREMIO_TV_STREAMING_SERVER_OFFLINE":"A streaming szerver offline állapotban van. Ellenőrizd a szerver beállításokat!","FILTERS":"Szűrők","SETTINGS":"Beállítások","ACCOUNT":"Fiók","LOGOUT":"Kijelentkezés","THEMES":"Témák","PLAYBACK":"Lejátszás","PLAYBACK_SPEED":"Lejátszási sebesség","AUDIO_TRACKS":"Hangsávok","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videók","SERVER":"Szerver","LINKS":"Linkek","ABOUT":"Rólunk","INTERFACE":"Felület","ANIMATIONS":"Animációk","STATUS":"Állapot","LANGUAGE":"Nyelv","SIZE":"Méret","DELAY":"Késleltetés","BOLD":"Félkövér","OPACITY":"Opacity","TEXT_COLOR":"Szöveg szín","OUTLINE_COLOR":"Körvonal színe","BACKGROUND_COLOR":"Háttérszín","BACKGROUND_BLUR":"Háttér elmosódása","SEEK_TIME_DURATION":"Tekerési idő hossza","AUTO_PLAY":"Következő epizód automatikus lejátszása","PLAY_NOW":"Lejátszás most","MARK_AS_WATCHED":"Megjelölés megnézettként","MARK_AS_UNWATCHED":"Megjelölés nem megnézettként","REWIND_TO_BEGINNING":"Vissza az elejére","CONTINUE_WATCHING":"Megtekintés folytatása","ALL":"Minden","SECONDS":"másodperc","ON":"BE","OFF":"KI","RELOAD":"Újratöltés","EDIT_URL":"URL szerkesztése","URL":"URL","NONE":"Egyik sem","EMBEDDED":"Beágyazott","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Eszközök váltása","REMOTE_VIDEOS":"Videók","REMOTE_ADJUST_TIMING":"Időzítés beállítása","REMOTE_ADJUST_SIZE":"Méret beállítása","REMOTE_COULD_NOT_BE_LOADED":"A Web Távirányító nem tölthető be","REMOTE_RETRY":"Újrapróbálkozás","TORRENT_PROFILE_DEFAULT":"Alapértelmezett","TORRENT_PROFILE_SOFT":"Puha","TORRENT_PROFILE_FAST":"Gyors","TORRENT_PROFILE_ULTRA_FAST":"Ultra gyors","MB_S":"MB/s","FAQ_001_H1":"Mi az a Stremio?","FAQ_001_P1":"A Stremio egy olyan médiaközpont-szoftver, amelyet videós szórakoztatásra terveztek, szem előtt tartva a könnyű kezelhetőséget. A Stremio lehetővé teszi a rendszerezést & nézd a saját film-, sorozat-, csatorna- és élő TV-gyűjteményedet.","FAQ_001_P2":"A Stremio a megjelenített tartalmat a helyi lemezről és a bővítmény rendszerünkről gyűjti össze.","FAQ_001_P3":"Ezenkívül értesít Téged, ha új epizódok/videók/filmek jelennek meg, amelyek érdekelnek, és filmajánlásokat is kínál.","FAQ_02_H1":"Hogyan hasonlítható a Stremio a Kodihoz és a Plexhez?","FAQ_02_P1":"Ez a két szoftver inspirált minket. De a céljaink különböznek - a Stremio kifejezetten a szórakoztató videókat célozza meg, és arra törekszik, hogy nagyon könnyen kezelhető megoldása révén a mainstream megoldássá váljon.","FAQ_02_P2":"A Stremio soha nem lesz olyan testreszabható és funkciókban gazdag, mint a Kodi és a Plex, de lényegesen könnyebben használható. Egyszerűen ${1} töltsd le és próbáld ki ${2} :)","FAQ_03_H1":"Hogyan hasonlítható a Stremio a Netflixhez?","FAQ_03_P1":"Ismételten, a Netflix az egyik inspirációnk. Arra törekszünk, hogy elérjük a Netflix felhasználói élményét, plusz egy csomó hozzáadott finomsággal. De ami a legfontosabb, megadjuk a szabadságot, hogy saját könyvtáradat kezelhesd és új tartalomforrásokat adj hozzá a bővítményrendszerünkkel.","FAQ_03_P2":"Ez végtelenül bővíthetővé teszi a Stremio-t, így a használata soha nem korlátozódik a Netflix által licencelt tartalomra. A Stremio segítségével például a ${1} Filmon.tv ${2}, ${3}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} és még maga a ${9}Netflix${10} is elérhető!","FAQ_04_H1":"Hogyan hasonlítható a Stremio a Flipboardhoz?","FAQ_04_P1":"Ritkán kapjuk ezt a kérdést, kivéve ha startup-osokkal beszélgetünk :)","FAQ_04_P2":"A Stremio eleve egy tartalomaggregátor, így tulajdonképpen a Flipboard, a videók számára. Ez jól látható a Tábla szekciónkban, amely katalógusokat és új epizód/új videó értesítéseket ad az általad követett videókról, akárcsak a Flipboard.","FAQ_05_H1":"Hogyan hasonlítható a Stremio a Popcorn Time-hoz?","FAQ_05_P1":"A Stremio és a Popcorn Time felhasználói felületben hasonló, mert nem sok módja van a szórakoztató videókatalógusok helyes elkészítésének :)","FAQ_05_P2":"Azonban míg a Popcorn Time bizonyos forrásokból származó torrentek streamelésére összpontosít, a Stremio nem korlátolt, és csupán egy tartalomgyűjtő – nincs egy adott tartalomforráshoz kötve.","FAQ_05_P3":"Ezenkívül alapértelmezés szerint nem biztosítunk torrent-bővítményeket, így a Stremio nem fedi le a Popcorn Time használati esetét hivatalos funkcionalitással.","FAQ_05_P4":"Egy másik figyelemre méltó különbség, hogy a Popcorn Time teljesen nyílt forráskódú, míg a Stremio ${1} részben nyílt forráskódú${2}.","FAQ_06_H1":"Hozzá tudnátok ezt a filmet/sorozatot?","FAQ_06_P1":"Nem sajnáljuk :(","FAQ_06_P2":"Ahogy a legtöbb más kérdésben is említettük, a Stremio önmagában nem nyújt semmilyen tartalmat - mindent a bővítményrendszerrel adunk hozzá. Amennyiben tartalmi kérésed van, használhatod a \\"Report\\" gombot a lejátszóban, amely egy e-mailt küld az éppen használt bővítmény készítőjének.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Készítenétek bővítményt az X-hez?","FAQ_08_P1":"Ez teljes mértékben lehetséges.","FAQ_08_P2":"Ha van bővítmény ötleted, írj nekünk a ${1}office@stremio.com${2} címre, de ügyelj arra, hogy bővítményötleted ne sértse a szerzői jogokat vagy a használati feltételeket.","FAQ_08_P3":"Jelenleg az ütemtervünk következő részei a FandangoNOW, a Filmon.tv video on demand és a Crunchyroll bővítmények.","FAQ_09_H1":"A Stremio BitTorrentet használ?","FAQ_09_P1":"Igen, a Stremio támogatja a BitTorrentet mint streaming protokollt. Ezt vagy egy torrent bővítménnyel, vagy egy .torrent fájl Stremio-ba történő behúzásával, vagy egy mágneses link beillesztésével a keresősávba használhatod.","FAQ_09_P2":"Kérjük, vedd figyelembe, hogy az egyetlen BitTorrentet használó hivatalos bővítmény a ${1}Vodo${2}, amely független (indie) tartalmakat biztosít, amelyek mind a BitTorrenttel legálisan terjeszthetőek.","FAQ_09_P3":"Nem támogatjuk olyan harmadik féltől származó bővítmények használatát, amelyek lehetővé tehetik a szerzői jogok megsértését.","FAQ_10_H1":"Mit nézhetek meg a Stremióban a hivatalos bővítményekkel?","FAQ_10_P1":"Alapértelmezés szerint a Filmon.tv, a YouTube és a Vodo tartalmait magán a Stremio-n belül nézheted meg, annak beágyazott lejátszójával. ","FAQ_10_P2":"Ez a kombináció a következőket kínálja:","FAQ_10_L1":"A Filmon.tv által biztosított népszerű tévécsatornák – például E4, BBC, Bollyworld TV","FAQ_10_L2":"Minden a YouTube-ról – például BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Független (indie) filmek a Vodóval","FAQ_10_L4":"Online játékközvetítések a Twitch.tv-vel","FAQ_10_P3":"Ezenkívül számos olyan tartalomforrás van, amelyet a Guidebox és a Netflix bővítmények biztosítanak, amelyek <b>nem</b> játszanak le teljesen a Stremio-n belül, hanem átirányítanak az adott szolgáltatásra. A Guidebox addon például az USA-ban ingyenesen streamelhető filmekből ad válogatást, olyan szolgáltatásokból, mint a TubiTV és a Crackle.","FAQ_11_H1":"A Stremio nem települ, mit tegyek?","FAQ_11_P1":"Ha Windows-ot használsz, próbáld ki ${1}ezt az alternatív telepítőt${2}.","FAQ_11_P2":"Ha Mac OS X-et használsz, ne feledd, hogy az OS X Mavericks (10.9)-nél régebbi rendszereket nem támogatjuk.","FAQ_11_P3":"Ha Linuxot használsz, ne feledd, hogy jelenleg csak a 64 bites (x64) Linuxot támogatjuk.","FAQ_11_P4":"Ha továbbra sem tudod megoldani a problémát, kérjük, írj nekünk ${1}Facebook csoportunkba${2}.","FAQ_12_H1":"Miért panaszkodik a vírusirtóm? A Stremio biztonságos?","FAQ_12_P1":"Biztosíthatunk, hogy a Stremio ${1}100%-ban tiszta${2}.","FAQ_12_P2":"A vírusirtód azért panaszkodik, mert a telepítőnkben olyan hirdetéseket helyezünk el, amelyeket egyes vírusirtó programok reklámanyagként ismernek fel.","FAQ_12_P3":"Ha még mindig nem vagy biztos benne, próbáld ki az ${1}alternatív telepítőnket${2}.","FAQ_13_H1":"Hogyan készíthetek bővítményt?","FAQ_13_P1":"Kezdetnek javasoljuk, hogy tekintsd meg ${1}bővítmény rendszermodulunkat${2} a GitHubon.","FAQ_13_P2":"Ezt követően követheted a ${1}Hello World tutorial-t${2}.","FAQ_13_P3":"Ha nem rendelkezel programozási ismeretekkel, kérjük, tedd közzé ötletedet a ${1}a Reddit közösségben${2}, és vedd fel velünk a kapcsolatot a bővítmény ötletével a ${3}office@stremio.com${4} címen.","FAQ_14_H1":"Hogyan jelennek meg a bővítmények?","FAQ_14_P1":"Amikor létrehozol egy bővítményt és egy hosztot, és egy <b>endpoint</b> mezőt teszel a manifesztedbe, amely egy működő bővítmény címére mutat, az bővítmény automatikusan közzéteszi magát a ${1}Bővítmény katalógus${2}-ban.","FAQ_14_P2":"Ez azért történik, mert a stremio-addons modul szerver része automatikusan meghívja az API-t, hogy bejelentse a bővítményt. Amikor az API érvényesíti az <b>endpoint</b>-odat, az megjelenik a katalógusban.","FAQ_15_H1":"Futtathatom a Stremiót a böngészőmben?","FAQ_15_P1":"Jelenleg nem, de hamarosan érkezik!","FAQ_15_P2":"Ha kíváncsi vagy egy alfa verzióra, itt megtekintheted: ${1}alpha4.strem.io${2}. Ne feledd, hogy a streamelés nincs engedélyezve az alfa verzióban. Támogatjuk a Chrome, Firefox, Opera és Edge böngészőket.","FAQ_16_H1":"Nem működik a kivetítés a tévére / a feliratok nem működnek","FAQ_16_P1":"A tévére való kivetítés a DLNA technológiát használja, amely a különböző tévémárkák és modellek között nagyon eltérő. Emiatt nem áll módunkban minden esetben tesztelni, így messze nem tökéletes. Ennek ellenére folyamatosan dolgozunk a javításán, de nem tudunk becsült időt mondani arra vonatkozóan, hogy a DLNA mikor kezd el megfelelően működni a tévével.","FAQ_16_P2":"Ha nem látod a tévét a kivetítés menüben sem, próbáld meg letiltani a hálózati kapcsolatot, majd újra engedélyezni (Windowson a jobb gombbal kattints a hálózatra, és használd az Enable/Disable (Engedélyezés/Tiltás) lehetőséget), valamint indítsd újra a routert, a tévét és a számítógépet.","FAQ_16_P3":"Ha továbbra is problémákat tapasztalsz, segíthetsz nekünk, ha elküldöd tévéd márkájára és modelljére vonatkozó információkat a ${1}office@stremio.com${2} címre.","FAQ_16_P4":"Addig is javasoljuk a Chromecastot, amit nagyon jól támogatunk, vagy egyszerűen csak csatlakoztasd a tévét a számítógéphez HDMI-kábellel.","FAQ_17_H1":"A Stremio lefagy és/vagy összeomlik, mit tehetek?","FAQ_17_P1":"Először is, ha Windows 7-et használsz AVG vírusirtóval: van egy problémánk ezzel a kombinációval. A probléma magában az AVG-ben van, és nincs ésszerű megoldás a mi oldalunkon. Sajnos a kivételek vagy a vírusirtó letiltása nem fog működni. Az egyetlen megoldás az AVG lecserélése valami másra.","FAQ_17_P2":"Ha nem ez a probléma, de Windows-t használsz, frissítsd a legújabb szervizcsomagra és frissítsd/telepítsd újra a GPU-illesztőprogramokat, majd próbáld meg újra.","FAQ_17_P3":"Ha a probléma továbbra sem oldódott meg, vagy Mac-et vagy Linuxot használsz, kérjük, írd meg nekünk a probléma pontos részleteit ${1}Facebook-csoportunkban${2}.","FAQ_18_H1":"Hogyan készíthetek bővítményt?","FAQ_18_P1":"Kezdetnek javasoljuk, hogy tekintsd meg a ${1}bővítmény rendszermodulunkat${2} a GitHubon.","FAQ_18_P2":"Ezt követően követheted a ${1}Hello World oktatóprogramot${2}.","FAQ_18_P3":"Ha nem rendelkezel programozási ismeretekkel, kérjük, tedd közzé ötletedet a ${1}a Reddit közösségben${2}, és vedd fel velünk a kapcsolatot a bővítmény ötletével a ${3}office@stremio.com${4} címen.","FAQ_19_H1":"Miért foglal helyet a Stremio a lemezen?","FAQ_19_P1":"A Stremio rendelkezik egy <b>helyi gyorsítótárral</b> a streamelt videofájlok ideiglenes megtartásához.","FAQ_19_P2":"Ennek két előnye van: először is, lehetővé teszi a Stremio számára, hogy előre pufferelje a videót, így biztosítva a zökkenőmentesebb streaminget. Másodszor, a videókat a helyi gyorsítótárban tartja, így offline is nézheted őket.","FAQ_19_P3":"Az, hogy a Stremio mennyi adatot tart meg, a Beállítások panelen található <b>Gyorsítótár</b> beállítástól függ. A Stremio a beállított mennyiségig (pl. 2 GB) tárolhatja a lemezen, kivéve, ha az éppen streamelt videó ennél nagyobb, ebben az esetben elegendő tárhelyet kell elkülöníteni ahhoz, hogy a streamelés végéig tárolja.","FAQ_20_H1":"Hol van a gyorsítótár mappa?","FAQ_20_P1":"Windows rendszeren a stremio-cache a Beállításokban kiválasztott meghajtón található (pl. \\"E:\\\\stremio-cache\\").","FAQ_20_P2":"MacOS rendszeren ez a \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linuxon ez \\"~/.stremio/stremio-cache\\" vagy \\"~/stremio-cache\\"","FAQ_21_H1":"\\"A streaming szerver nem található\\" hibaüzenetet kapok, mit tehetek?","FAQ_21_P1":"Ha ezt a hibát kapod, az a több dolgot jelenthet:","FAQ_21_P2":"1) Egy YouTube/BitTorrent forrás által támogatott bővítményt próbálsz használni a ${1}web verzió${2} segítségével. Ebben az esetben telepítsd az asztali verziónkat a ${3}weboldalunkról${4}.","FAQ_21_P3":"2) Valami baj van a Stremio telepítésével. Ebben az esetben próbáld meg újra telepíteni a legújabb asztali verziónkat a ${1}a weboldalról${2}. Ha ez nem segít, próbáld meg kikapcsolni a vírusirtó programokat és a tűzfalat, indítsd újra a számítógépet, és próbáld meg újra. Ha ez sem működik, kérjük, írj nekünk a ${3}Facebook-csoportunkba${4}.","FAQ_22_H1":"Nem látom/nem tudom használni a legtöbb bővítményt az iOS rendszeren","FAQ_22_P1":"Az Apple App Store általános szerződési feltételeiben foglalt korlátozások miatt az iOS-alkalmazást csak a bővítmények egy adott készletére korlátoztuk.","FAQ_22_P2":"De nyugodt lehetsz - a jövőben több bővítményt fogunk készíteni iOS-re, és lehet, hogy egy olyan integrációt is hozzáadunk, amely lehetővé teszi az összes Stremio bővítmény használatát az iOS alkalmazás és a Stremio Streaming Server összekapcsolásának köszönhetően."}')},24131:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serial","TYPE_tv":"Saluran TV","TYPE_channel":"Saluran","TYPE_other":"Lainnya","TYPE_movie_PL":"Film","TYPE_series_PL":"Serial","TYPE_tv_PL":"Saluran TV","TYPE_channel_PL":"Saluran","TYPE_other_PL":"Lainnya","TYPE_ALL":"Semua","TYPE":"Jenis","CATALOG_com_linvo_cinemeta_top":"Populer","CATALOG_com_linvo_cinemeta_imdbRating":"Unggulan","CATALOG_com_linvo_cinemeta_year":"Baru","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Film Ranah Umum","VIDEO":"Video","BACK":"Kembali","MORE":"Lebih Banyak","DONE":"Selesai","COPY":"Salin","SUCCESS":"Berhasil","ERROR":"Galat","SETTINGS_CASTING_MODE_PICKER":"Mode transmisi","CASTING_MODE_HLSV2":"Bawaan","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Tanpa pengkodean ulang","Discover":"Temukan","Board":"Papan","Library":"Pustaka","My Library":"Pustakaku","Calendar":"Kalender","NOTIFICATION_ONLINE":"Anda sedang daring","NOTIFICATION_OFFLINE":"Anda sedang luring","INTERNET_CONNECTION":"Koneksi Jaringan","STORAGE_FULL_TITLE":"Peringatan: Penyimpanan penuh!","STORAGE_FULL_TEXT":"Stremio tidak akan dapat menyimpan pengaturan, preferensi, atau informasi login Anda. Pertimbangkan untuk memulai ulang atau memasang ulang Stremio.","SEARCH":"cari","SEARCH_NO_RESULTS":"Tidak ada hasil yang ditemukan","SEARCH_EXPLANATION_CONTENT":"Pencarian untuk film, serial, YouTube dan saluran TV","SEARCH_EXPLANATION_PEOPLE":"Pencarian untuk aktor, sutradara dan penulis","SEARCH_PASTE_LINKS":"Tempelkan HTTP dan tautan Magnet","SEARCH_OR_PASTE_LINK":"Cari atau tempelkan tautan","SEARCH_SUGGESTIONS":"Saran Pencarian","ADD_TO_LIB":"Tambah ke Pustaka","REMOVE_FROM_LIB":"Hapus dari Pustaka","ADDED_TO_LIB":"Ditambahkan ke Pustaka","REMOVED_FROM_LIB":"Dihapus dari Pustaka","TRAILER":"Cuplikan","WATCH_TRAILER":"Tonton cuplikan","WATCH_NOW":"Tonton sekarang","SHOW":"Tampilkan","SHOW_MOVIE":"Tampilkan film","WATCH_RANDOM":"Tonton acak","IMDB_RATING":"Peringkat IMDb","YEAR":"Tahun","DIRECTOR":"Sutradara","WRITER":"Penulis","LEAD_ACTORS":"Aktor utama","CAST":"Pemeran","CREW":"Kru","SHOW_MORE_CAST":"Tampilkan lebih banyak »","AIRED":"Ditayangkan","SEASONS":"Musim","GENRE":"Genre","GENRE_ALL":"Semua genre","CATALOG":"Katalog","SUMMARY":"Ringkasan","SHOW_MORE":"Tampilkan lebih banyak","SIMILAR":"Serupa","UPCOMING":"Mendatang","TBA":"TBA","ENDED":"Berakhir","DURATION":"Durasi","FEATURED":"Unggulan","METADATA":"Metadata","CATEGORY":"Kategori","LINKS_GENRES":"Genre","LINKS_CAST":"Pemeran","LINKS_DIRECTORS":"Sutradara","SEARCH_VIDEOS":"pencarian video","SEARCH_PLACEHOLDER":"cari atau tempelkan URL","ADDON":"tambahan","ADDONS":"Tambahan","OFFICIAL":"Resmi","ADDONS_OFFICIAL":"Tambahan Resmi Stremio","ADDONS_POPULAR":"Populer di area Anda","ADDON_FREE":"gratis","ADDON_PEERED":"dipadan","ADDON_SUBSCRIPTION":"langganan","ADDON_STREAM_GEORESTRICTED":"tidak tersedia di area Anda","ADDON_STREAM_OFFLINECACHE":"Tembolok Luring","ADDON_STREAM_LOCALFILE":"Berkas lokal","SHARE_ADDON":"Berbagi Tambahan","AVAILABLE_STREAMS":"Siaran yang Tersedia","NO_STREAM":"Tidak Tersedia Siaran","ALL_ADDONS":"Semua","INSTALL_MORE_ADDONS":"Untuk lebih banyak siaran, pasang lebih banyak tambahan","STREAM_NOT_SUPPORTED":"Siaran yang dipilih tidak didukung di platform ini.","ADDON_CATALOGUE":"Tampilkan semua tambahan »","ADDON_CATALOGUE_MORE":"Pasang tambahan","REPO_ADDED":"Repositori ditambahkan","ADDON_REPO_EXIST_ERR":"Koleksi tambahan ini sudah ada","ADDON_REPO_ERR":"Terjadi kesalahan saat menambahkan koleksi","ADDON_ADD_ERR":"Terjadi kesalahan saat menambahkan tambahan","ERR_ADDON_PROTECTED":"Tidak dapat menghapus tambahan karena dilindungi","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Ada yang tidak beres - autentikasi mungkin gagal","ERR_NOT_COLLECTION_URL":"Bukan URL koleksi","ERR_NOT_ADDON_URL":"Bukan URL tambahan yang valid","ERR_DETECTFROMURL":"Tidak dapat menemukan tambahan/koleksi dari URL ini","ADDON_DUPLICATE_WARNING":"Peringatan: tambahan terduplikasi","ADDON_COLLECTION_SET_FAILED":"Sinkronisasi tambahan terpasang ke akun Anda gagal","SETTINGS_DATA_EXPORT":"Ekspor data pengguna","ADDON_PULL_FAILED":"Sinkronisasi tambahan terpasang dari akun Anda gagal","REFRESH_ON_CLICK":"Klik untuk mencoba lagi","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film masih di bioskop","WATCH_IN_CINEMA":"Tonton di bioskop setempat Anda","IN_THEATER":"Di bioskop","GET_TICKETS":"Dapatkan tiket","UPCOMING_EPISODE":"Episode Mendatang","UPCOMING_EPISODE_MESSAGE":"Episode ini akan ditayangkan pada","MISSING_DATE_EPISODE":"Tanggal episode tidak ditemukan","MISSING_DATE_EPISODE_MESSAGE":"Episode mungkin belum tayang","CHANNEL_NOT_SCRAPED":"Saluran ini belum diambil.<br>Mohon kembali beberapa saat lagi.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Tambahkan ke pustaka anda agar dikabarkan jika tersedia.","GET_NOTIFIED_WHEN_AVAILABLE":"Anda akan dikabarkan jika tersedia.","WARNING_STREAMING_SERVER":"Peringatan: server siaran lokal tidak ditemukan. Siaran dari berkas lokal, Youtube dan BitTorent tidak akan tersedia.","WARNING_STREAMING_SERVER_DISMISS":"Hiraukan","WARNING_STREAMING_SERVER_LATER":"Nanti","DECODER_WARNING":"Peringatan: video ini mungkin tidak didukung perangkat anda. Pemutaran bisa lambat","GENERIC_ERROR_MESSAGE":"Ada yang salah!","TRY_AGAIN":"Coba lagi","CLEAR_DATA":"Bersihkan data","PLAYER_ERROR":"Oops, Galat Pemutar","PLAYER_ERROR_LOOKSLIKE":"Sepertinya","PLAYER_ORIENTATION":"Orientasi pemutar","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Terkunci","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Orientasi pemutar terkunci pada lanskap","PLAYER_ORIENTATION_SENSOR":"Orientasi pemutar otomatis (sensor)","PLAYER_PLAYBACK_SPEED":"Kecepatan Pemutaran","PLAYER_PLAYBACK_ERROR":"Galat memutar, mohon coba lagi","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Galat tidak diketahui","PLAYER_PLAYBACK_ERROR_DEFAULT":"Maaf, video ini tidak bisa diputar dengan {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Bahasa Takarir","PLAYER_SUBTITLES_VARIANTS":"Varian Takarir","PLAYER_SUBTITLES_SETTINGS":"Pengaturan Takarir","PLAYER_SUBTITLES_DISABLED":"Takarir dimatikan","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posisi Vertikal","PLAYER_SUBTITLES_LOADED":"Takarir dimuat","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Takarir tertanam dimuat","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Takarir eksklusif dimuat","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Takarir dari {{origin}} dimuat","PLAYER_PLAY":"Putar","PLAYER_PAUSE":"Jeda","PLAYER_NEXT_VIDEO":"Video Berikutnya","PLAYER_MUTE":"Bisukan","PLAYER_UNMUTE":"Bunyikan","PLAYER_OPEN_IN_EXTERNAL":"Buka di pemutar eksternal","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Putar di {{device}}","PLAYER_LIVE":"Langsung","PLAYER_NEXT_VIDEO_TITLE":"Selanjutnya di","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Hiraukan","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Tonton sekarang","PLAYER_COPY_STREAM_SUCCESS":"Tautan siaran telah disalin ke papan klip","PLAYER_COPY_STREAM_ERROR":"Gagal menyalin tautan siaran","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Tautan unduhan telah disalin ke papan klip Anda","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Gagal menyalin tautan","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Siarkan dari","CASTING_TO":"Transimisi ke","NETWORK_STATUS":"Status jaringan","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Disangga:","PEERS_INFO":"Informasi rekan","PEERS_ACTIVE":"Aktif:","PEERS_CONNECTED":"Terhubung:","PEERS_WAITING":"Menunggu:","TRANSCODING_WARNING":"Peringatan: mengkode ulang video.","STREAM_LOADING":"memuat...","PLAYING_LOCAL":"memutar dari berkas lokal","PLAYING_CACHE":"memutar dari tembolok","WRONG_SUBS":"Takarir salah?","ERR_SUBS_LOADING_TITLE":"Gagal memuat takarir","ERR_SUBS_LOADING":"Gagal memuat takarir: mungkin ada masalah dengan tambahan yang Anda pakai, atau koneksi jaringan Anda","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Tambahan takarir berikut gagal","ERR_CASTING_UPDATE_TITLE":"Tidak dapat memperbarui info perangkat transmisi: server siaran mungkin luring","CHOOSE_DEVICE":"Pilih perangkat untuk menonton","NO_CAST_DEVICES":"Tidak ada perangkat transmisi tersedia.","NO_SETTINGS":"Tidak ada pengaturan tersedia.","NO_OPTIONS":"No options available","PHONE_TABLET":"Ponsel / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Takarir","SUBTITLES_CHANGE":"Ganti takarir untuk ","SUBTITLES_CHANGE_NONE":"Maaf, tidak ada takarir lain untuk bahasa ini.","SUBTITLES_CHANGE_ACIVE":"Saat ini takarir #{{subtitlesDialog.activeIdx + 1}} aktif. Pilih \\"Lanjut\\" untuk mengaktifkan takarir #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Atau,","SUBTITLES_ADJUST_DELAY":"Atur penundaan takarir:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Atau gunakan tombol <span>G</span> / <span>H</span> ketika memutar untuk mengatur.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: Anda dapat menggunakan tombol <span>G</span> / <span>H</span> ketika memutar untuk mengatur.","SUBTITLES_DELAY":"Penundaan takarir:","SUBTITLES_LOADING":"Memuat takarir...","SUBTITLES_UNAVAILABLE":"Tidak ada takarir eksternal tersedia","SUBTITLES_DISABLED":"Dimatikan","EXTERNAL_PLAYER_DISABLED":"Dimatikan","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Perbolehkan memilih","EXTERNAL_PLAYER_HINT":"Petunjuk: Ada pengaturan untuk memperbolehkan selalu membuka dengan pemutar eksternal","DONT_SHOW_AGAIN":"Jangan tampilkan lagi","SERVICE_INSTALL":"Pasang","AUDIO":"Audio","DEFAULT_LANGUAGE":"Bahasa Bawaan","DEFAULT_SECONDARY_LANGUAGE":"Bahasa Kedua Bawaan","SEASON":"Musim","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Spesial","SORT":"urutkan","SORT_BY":"Urutkan berdasarkan","FILTER":"saring","SORT_TRENDING":"urutkan populer","SORT_RECENT":"terbaru","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"penilaian","SORT_WATCHED":"ditonton","SORT_YEAR":"tahun","SELECT":"Select","SELECT_TYPE":"Pilih jenis","SELECT_SORT":"Pilih urutan","SELECT_CATALOG":"Pilih katalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Pilih genre","SORT_LASTWATCHED":"Ditonton terakhir","SORT_NAME":"Nama","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Berapa kali ditonton","SORT_NOTWATCHED":"tidak ditonton","New for You":"Baru untuk Anda","New Episodes":"Episode Baru","New Videos":"Video Baru","Recommendations":"Rekomendasi","LIBRARY_RESUME":"Lanjutkan","LIBRARY_PLAY":"Putar","LIBRARY_DETAILS":"Rincian","LIBRARY_RESUME_DISMISS":"Hiraukan","LIBRARY_CLEAR_PROGRESS":"Mulai dari awal","LIBRARY_REMOVE":"Hapus","LIBRARY_NOT_LOGGED_IN":"Pustaka hanya tersedia untuk pengguna yang masuk","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Kalender hanya tersedia untuk pengguna yang masuk","NOT_LOGGED_IN_CLOUD":"Akses film dan siaran TV kesukaan Anda di mana saja, kapan saja","NOT_LOGGED_IN_RECOMMENDATIONS":"Rekomendasi sesuai riwayat tontonan Anda","NOT_LOGGED_IN_NOTIFICATIONS":"Jangan pernah ketinggalan episode lagi","NOT_LOGGED_IN_CALENDAR":"Jadwalkan kalender tonton pribadi Anda","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Unggulan","DISCOVER_TOP":"Teratas","DISCOVER_OSCAR":"Pemenang Oscar","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Tambahan ini kosong.","DISCOVER_ADULT_WARNING":"Konten ini hanya untuk dewasa. Apakah Anda berusia 18+?","DISCOVER_NOADDON_WARNING":"Peringatan: tidak ada tambahan Stremio aktif untuk jenis ini. Hanya menampilkan yang tersimpan, tidak bisa memperbarui.","DISCOVER_LOAD_ERR":"Konten tidak termuat, galat terjadi.","DISCOVER_ADDON_UNINSTALLED":"Konten ini tidak lagi tersedia, Anda dapat menghapus tambahan.","UNINSTALL_THIS_ADDON":"Hapus tambahan ini","ERR_ADDON_NOT_INSTALLED":"Tambahan ini tidak terpasang. Pasang sekarang?","DETAIL_RECEIVE_NOTIF_SERIES":"Terima notifikasi untuk serial baru","DETAIL_RECEIVE_NOTIF_VIDEOS":"Terima notifikasi untuk video baru","SIDEBAR_SHOW_STREAMS":"Tampilkan siaran","RELAUNCH":"Buka ulang sekarang!","UPGRADE":"Versi baru tersedia! Tingkatkan ke versi Stremio terbaru","RELOAD_UI":"Muat ulang antarmuka","MANUAL_UPDATE_TITLE":"Tingkatkan versi Stremio Anda","MANUAL_UPDATE_LINE1":"Anda menjalankan versi usang Stremio yang sangat tidak disarankan.","MANUAL_UPDATE_LINE2":"Mohon perbarui secepatnya.","BUTTON_UPDATE_LATTER":"Tidak sekarang","BUTTON_UPDATE_NOW":"Perbarui","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Pengguna anonim","DONT_HAVE_ACC":"Tidak punya akun?","HAVE_ACC":"Sudah punya akun?","PASSWORD":"Sandi","PASSWORD_CONFIRM":"Konfirmasi sandi","EMAIL":"E-mail","FB_LOGIN":"Lanjutkan dengan Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Tidak ada yang dibagikan tanpa izin Anda","FB_NOPOST":"Kami tidak akan mengirimkan apapun atas nama Anda","OR":"atau","I_ACCEPT":"Saya terima","I_ACCEPT_BY_CLICKING":"Dengan mengklik tombol di atas saya bersaksi bahwa saya terima ","TOS":"Syarat dan Ketentuan","MUST_ACCEPT_TERMS":"Anda harus menerima syarat","PASSWORDS_NOMATCH":"Sandi tidak cocok","SIGN_UP":"Daftar","SIGN_UP_EMAIL":"Daftar dengan email","CLICK_TO_SIGN_UP":"Klik di sini untuk daftar.","LOG_IN":"Masuk","LOG_OUT":"Keluar","EXIT_FULLSCREEN":"Keluar dari mode layar penuh","ENTER_FULLSCREEN":"Masuk mode layar penuh","PLAY_URL_MAGNET_LINK":"Putar tautan URL/Magnet","HELP_FEEDBACK":"Bantuan & Masukan","TERMS_OF_SERVICE":"Ketentuan Layanan","PRIVACY_POLICY":"Kebijakan Privasi","ABOUT_STREMIO":"Tentang Stremio","USER_PANEL":"Panel Pengguna","LOGIN_LABEL":"Masuk","GUEST_LOGIN":"Masuk sebagai tamu","GUEST_LOGIN_NOTICE":"Masuk sebagai tamu tidak disarankan. Masuk biasa memperbolehkan Stremio untuk mensinkronkan Pustaka Anda, menerima notifikasi serial/saluran kesukaan Anda. Yakin ingin melanjutkan?","GUEST_LOGIN_NOTICE_2":"Masuk sebagai tamu tidak disarankan - Anda tidak akan menerima Pustaka tersinkron dan notifikasi Papan, yang merupakan fitur penting Stremio. Yakin ingin melanjutkan?","CLICK_HERE":"klik di sini","WRONG_PASSWORD":"Email atau sandi salah. Jika anda lupa sandi, ","SET_A_PASS":"setel sandi","RESET_PASSWORD":"Setel ulang sandi","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Lupa sandi?","EMAIL_USED_WITH_FB":"Email ini digunakan dengan masuk lewat Facebook.","INVALID_EMAIL":"Mohon masukkan alamat email yang valid","INVALID_PASSWORD":"Mohon masukkan kata sandi yang valid","CONN_ERR":"Galat koneksi - mohon coba lagi nanti.\\n\\nJika masih berlanjut, matikan firewall/antivirus (terutama Bitdefender).","IMPORT_FROM_GUEST":"Impor Pustaka dari akun tamu Anda","RECEIVE_UPDATES_EMAIL":"Terima pembaruan dari Stremio di email Anda","LOGIN_FAILED":"Gagal masuk.","SIGNUP_FAILED":"Gagal daftar.","SEARCH_FAILED":"Gagal mencari","EMAIL_USED":"Email ini sudah digunakan.","WAITING_FB_LOGIN":"Masuk menggunakan Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Putar di pemutar eksternal","EXTERNAL_REMEMBER_PLAYER":"Apakah Anda ingin mengingat pilihan","EXTERNAL_ALWAYS_PLAY":"Ya","EXTERNAL_ONLY_ONCE":"Tidak","BEST_FIT":"Paling sesuai","FIT_SCREEN":"Paskan layar","FILL":"Isi","16:9":"16:9","4:3":"4:3","Original":"Asli","INTRO_TASTE":"Katakan apa yang Anda inginkan","INTRO_TASTE_LONG":"Katakan apa yang Anda ingin tonton","INTRO_TASTE_PICK":"Pilih {{interestsRemaining}} minat","INTRO_TASTE_PICK_MORE":"Pilih {{interestsRemaining}} minat lagi","INTRO_TASTE_HELP_US":"Bantu kami mengenal Anda lebih baik.","INTRO_TASTE_CHOOSE_THESE":"Pilih beberapa:","INTRO_TASTE_CHOOSE_MIN":"Pilih setidaknya 3 kategori","INTRO_TASTE_CHOOSE_MIN_ERR":"Anda harus memilih setidaknya 3 kategori!","INTRO_TASTE_LIFESTYLE":"Gaya hidup","INTRO_TASTE_SPORTS":"Olahraga","INTRO_TASTE_FOOD_HEALTH":"Kuliner & Kesehatan","INTRO_TASTE_BEAUTY_FASHION":"Kecantikan & Busana","INTRO_TASTE_NEWS":"Berita","INTRO_TASTE_GAMING":"Permainan","INTRO_TASTE_SCIENCE_EDU":"Sains & Pendidikan","INTRO_TASTE_MUSIC":"Musik","INTRO_TASTE_TRAVEL":"Wisata","INTRO_TASTE_LATE_NIGHT":"Acara Tengah Malam","INTRO_TASTE_REALITY":"Realitas","INTRO_TASTE_COMEDY":"Komedi","INTRO_TASTE_DIY":"Swakarya","INTRO_TASTE_TECH":"Teknologi","INTRO_TASTE_CINEMA":"Sinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Tambahan terpilih tidak didukung platform ini.","ADDON_DISCLAIMER":"Menggunakan tambahan pihak ketiga akan selalu berada di bawah tanggung jawab Anda dan hukum yang berlaku di tempat Anda berada.","ADDON_ACTIVATE":"Aktifkan tambahan ini?","ADDON_REPO_ADD":"URL koleksi tambahan","ADDON_ADD":"Tambah","INSTALL_ADDON":"Pasang tambahan","ADD_ADDON":"Tambah tambahan","ADD_ADDON_DESCRIPTION":"Anda dapat menambah tambahan lewat tautan eksternal, yang akan terlihat di bawah Tambahan terpasang.","PASTE_ADDON_URL":"Tempel URL tambahan","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Yang terbaru","BUTTON_CONTINUE":"Lanjutkan","BUTTON_ACTIVATE":"Aktifkan","BUTTON_ACTIVATED":"Aktif","BUTTON_CANCEL":"Batal","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Kirim","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Hiraukan Semua","BUTTON_VIEW_ALL":"lihat semua","BUTTON_SEE_ALL":"Lihat Semua","BUTTON_COLOR_TRANSPARENT":"Transparan","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Buka di peramban","LIB_EMPTY":"Pustaka Anda sepertinya kosong. Apa gunanya :) ","HOW_START":"Begini cara Anda bisa memulai:","LIB_EMPTY_CAL":"Kalender Anda menampilkan serial dalam Pustaka.","HOW_START_CAL":"Begini cara Anda menambah serial:","LIB_EMPTY_BOARD":"Papan menampilkan notifikasi & saran terkait Pustaka Anda.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Begini cara Anda dapat menambah serial & film:","IMPORT_FB":"Impor yang Anda sukai dari <span>Facebook</span>","IMPORT_TRAKT":"Impor pustaka media Anda dari <span>Trakt</span>","IMPORT_DISCOVER":"Temukan hal-hal menarik di <span>Temukan</span>","IMPORT_DISK":"Impor film dan acara yang Anda miliki di <span>diska lokal</span>","PLEASE_CREATE_ACC":"Mohon <u>buat akun</u> untuk mengaktifkan sinkronisasi Pustaka & Papan.","IMPORT_DISCOVER_SIGNUP":"Daftar dan temukan hal menarik di <span>Temukan</span>","IMPORT_DISK_SIGNUP":"Daftar dan impor film dan acara yang Anda miliki di <span>diska lokal</span>","LIB_EMPTY_CLOUD":"Pustaka gemawan","LIB_EMPTY_CLOUD_DESC":"Pustaka gemawan pribadi disinkronkan ke semua perangkat","LIB_EMPTY_EARLY":"Bangun pagi","LIB_EMPTY_EARLY_DESC":"Terima notifikasi episode baru","LIB_EMPTY_PERSONAL":"Pribadi","LIB_EMPTY_PERSONAL_DESC":"Terima rekomendasi pribadi","LIB_EMPTY_CALENDAR_DESC":"Jadwalkan kalender tonton Anda","LIB_EMPTY_ALL":"Daftar untuk mendapatkan ini semua:","LIB_EMPTY_BEST":"Daftar untuk mendapat yang terbaik dari Stremio","LIB_EMPTY_OTHER":"Daftar untuk mengaktifkan Kalender & fitur keren lainnya","CALENDAR_ADDED":"Kalender Stremio calendar telah ditambahkan ke kalender bawaan Anda.","CALENDAR_ADDED_MSG":"Jika tidak berhasil, mohon tambahkan URL ini ke aplikasi kalender Anda secara manual","TRAKT_EXPIRED":"Autentikasi Trakt kadaluwarsa, mohon pergi ke Pengaturan dan autentikasi ulang","TRAKT_REQUIRES_LOGIN":"Galat Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Anda harus masuk","TRAKT_IMPORT_WATCHED":"Impor","THEME":"Tema","THEME_DEFAULT":"Bawaan","THEME_ADAPTIVE":"Adaptif","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Pengaturan","SETTINGS_NAV_GENERAL":"Umum","SETTINGS_NAV_PLAYER":"Pemutar","SETTINGS_NAV_STREAMING":"Siaran","SETTINGS_NAV_SHORTCUTS":"Pintasan","SETTINGS_SHORTCUT_RELOAD_APP":"Muat Ulang Aplikasi","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Buka Pengaturan","SETTINGS_SHORTCUT_SWITCH_TABS":"Ganti Tab","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Gilirkan Tab ke Depan","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Gilirkan Tab ke Belakang","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigasi antar menu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Pergi ke Pencarian","SETTINGS_SHORTCUT_EXIT_BACK":"Keluar / Kembali","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Alih Menu Kecepatan Pemutaran","SETTINGS_SHORTCUT_MENU_VIDEOS":"Alih Menu Video","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Alih Menu Takarir","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Alih Menu Info","SETTINGS_SHORTCUT_FULLSCREEN":"Alih Layar Penuh","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Tampilkan Kontrol","SETTINGS_SHORTCUT_PLAY_PAUSE":"Putar / Jeda","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Naik","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Turun","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autentikasi","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Berlangganan","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Aplikasi kalender telah dibuka. Silakan berlangganan kalender secara manual.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"File kalender telah diunduh. Silakan impor ke aplikasi kalender Anda.","SETTINGS_INTERFACE_LANGUAGE":"Bahasa Antarmuka","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Mainkan dengan VLC","SETTINGS_UI_LANGUAGE":"Bahasa UI","SETTINGS_UI_ZOOM":"Zoom antarmuka","SETTINGS_FULLSCREEN_EXIT":"Tombol Escape keluar dari layar penuh","SETTINGS_GAMEPAD":"Aktifkan dukungan gamepad","SETTINGS_CLOSE_WINDOW":"Tutup aplikasi saat menutup jendela","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Ukuran Takarir default","SETTINGS_SUBTITLES_BACKGROUND":"Latar belakang Takarir","SETTINGS_SUBTITLES_COLOR":"Warna Takarir","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Warna Latar Belakang Takarir","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Memundurkan & Memajukan durasi","SETTINGS_BINGE":"Mainkan otomatis episode berikutnya","SETTINGS_NEXT_VIDEO":"Tampilkan notifikasi episode berikutnya","SETTINGS_NEXT_VIDEO_TRIGGER":"Tampilkan notifikasi episode berikutnya untuk:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"NDurasi popup video berikutnya","SETTINGS_PLAY_IN_BACKGROUND":"Putar di latar belakang","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Mainkan di pemutar eksternal","SETTINGS_RESIZE":"Mengubah ukuran jendela secara otomatis sebelum bermain","SETTINGS_OVERRIDE_SERVER":"Mengganti URL server streaming (lanjutan)","SETTINGS_SERVER_ADD_URL":"Tambahkan URL","SETTINGS_SERVER_URL":"URL server streaming: ","SETTINGS_SERVER_AVAILABLE":"Server streaming tersedia","SETTINGS_SERVER_UNAVAILABLE":"Server streaming tidak tersedia","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Konfigurasi URL server streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Masukkan URL server streaming","SETTINGS_SERVER_CACHE_SIZE":"Ukuran cache","SETTINGS_SERVER_TORRENT_PROFILE":"Profil torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint streaming HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Gunakan versi beta terbaru","SETTINGS_IMPORT_FB":"Import dari Facebook","SETTINGS_IMPORT_DISK":"Import dari Penyimpanan lokal","SETTINGS_IMPORT_TRAKT":"Import dari Trakt","SETTINGS_PAUSE_MINIMIZED":"Menjeda pemutaran saat diminimalkan","SETTINGS_HWDEC":"Dekode yang dipercepat perangkat keras","SETTINGS_BACKGROUND":"Pemutaran latar belakang","SETTINGS_SUBSCRIBE_CALENDAR":"Berlangganan kalender","SETTINGS_REQ_EXPORT":"Minta ekspor data","SETTINGS_ACC_DELETE":"Minta penghapusan akun","SETTINGS_CHANGE_PASSWORD":"Ganti sandi","SETTINGS_TOS":"Syarat dan Ketentuan","SETTINGS_SUPPORT":"Dukungan","SETTING_LANGUAGE":"Bahasa","SETTINGS_BLUR_UNWATCHED_IMAGE":"Memburamkan gambar episode yang belum ditonton","SETTINGS_QUIT_ON_CLOSE":"Keluar ketika ditutup","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Keluar dari Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Keluar dari Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Notifikasi desktop","SETTINGS_DATA_SAVER":"Penghemat data","SETTINGS_LANGUAGE_INTERFACE":"antarmuka","SETTINGS_LANGUAGE_SUBS":"takrarir default","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Aktifkan trek audio bawaan","SETTINGS_DEFAULT_AUDIO_TRACK":"Trek audio bawaan","SETTINGS_SECONDARY_AUDIO_TRACK":"Trek audio sekunder","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"akun","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"versi","SETTINGS_ABOUT":"Tentang","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Selalu mulai video di pemutar eksternal","SETTINGS_STORAGE_BUTTON":"Bersihkan penyimpanan lokal","SETTINGS_STORAGE_MODAL_TITLE":"Kamu yakin ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ini akan menghapus penyimpanan lokal dan membuat Anda keluar.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Otomatis","SETTINGS_HW_DISABLED":"Dimatikan","SETTINGS_HW_ACCELERATED":"Akselerasi dekoding","SETTINGS_HW_FULL":"Akselerasi penuh","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Dimatikan","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Pemberitahuan koneksi jaringan","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Salin remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Takarir","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Kontrol","SETTINGS_SECTION_AUTO_PLAY":"Putar otomatis","SETTINGS_SECTION_ADVANCED":"Lanjutan","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Gunakan latar belakang hitam","SUBSPICKER_VERTICAL_OFFSET":"Offset Vertikal","SUBSPICKER_SIZE":"Ukuran","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Kebijakan Privasi","MOBILE_CRASH_REPORTING":"Laporan Kerusakan","MOBILE_ZOOM_TO_FILL":"Zoom Untuk Mengisi Layar","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Masuk ke akun Streamio anda ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Hubungkan Akun","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Pilih Kecepatan Pemutaran","MOBILE_EMPTY_LIBRARY":"Perpustakaan Anda kosong","MOBILE_NO_ADDON_ACTIVE":"Tidak ada addon Stremio yang aktif untuk tipe ini.","MOBILE_ORGANIZER_WARNING":"Aplikasi Stremio Organizer menyediakan fungsionalitas yang terbatas. Untuk daftar stream yang dapat dimainkan dan pengalaman Stremio yang lengkap, gunakan Stremio di desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"Aplikasi Stremio Organizer menyediakan pilihan addons yang terbatas. Untuk pengalaman Stremio yang lengkap, gunakan Stremio di desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Mencari perangkat...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Hapus Akun","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Penghapusan akun tidak dapat dilakukan secara instan karena adanya kewajiban hukum. Setelah meminta penghapusan akun, Anda harus menggunakan alamat email/profil Facebook yang berbeda untuk membuat akun Stremio baru di masa mendatang.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Konfirmasi Penghapusan Akun","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Akun Anda telah dibuat menggunakan Facebook. Untuk menghapus akun Anda, silakan gunakan portal pengguna kami di www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Mohon berikan kata sandi Anda untuk mengonfirmasi penghapusan akun.","MOBILE_DELETE_ACCOUNT_BUTTON":"Hapus Akun","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Saya setuju untuk menerima komunikasi pemasaran dari Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Addon lokal tidak diaktifkan. Klik di sini untuk membuka pengaturan dan mengaktifkannya","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Profil torrent","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januari","February":"Februari","March":"Maret","April":"April","May":"Mei","June":"Juni","July":"Juli","August":"Augustus","September":"September","October":"Oktober","November":"November","December":"Desember","Monday":"Senin","Tuesday":"Selasa","Wednesday":"Rabu","Thursday":"Kamis","Friday":"Jumat","Saturday":"Sabtu","Sunday":"Minggu","Action":"Action","Comedy":"Comedy","War":"War","Family":"Family","Animation":"Animation","Adventure":"Adventure","Fantasy":"Fantasy","Crime":"Crime","Mystery":"Mystery","Romance":"Romance","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Music","Biography":"Biography","Documentary":"Documentary","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Tonton Langsung","WEBSITE_SLOGAN_ALL":"Semua Konten Vidio yang Kamu Nikmati dalam Satu Tempat","WEBSITE_SLOGAN_NEW":"Semua Yang Kamu Tonton","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Tonton dari","WEBSITE_DOWNLOAD":"Unduh Sekarang","WEBSITE_DOWNLOAD_FOR":"Unduh Sekarang untuk","WEBSITE_IS_DESKTOP":"Stremio adalah aplikasi desktop, buka halaman ini dengan komputer kamu dan download","WEBSITE_DESKTOP_DEMO_VID":"Desmo Desktop","WEBSITE_PAGE_HOME":"Beranda","WEBSITE_PAGE_FEATURES":"Fitur","WEBSITE_PAGE_ADDONS":"Tambahan","WEBSITE_PAGE_TECH":"Teknologi","WEBSITE_PAGE_CREATE_ADDON":"Buat Tambahan","WEBSITE_PAGE_CONTACTS":"Kontak","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Film","WEBSITE_TYPE_series_PL":"Serial","WEBSITE_TYPE_tv":"TV Langsung","WEBSITE_TYPE_channel":"Saluran","WEBSITE_STREMIO_WHAT_IS":"Stremio adalah sebuah aplikasi yang membantu kamu mengatur and menonton vidio favorit, film, serial televisi dan saluran televisi kamu secara langsung","WEBSITE_FEATURES_WATCH":"Tonton HD secara langsung","WEBSITE_FEATURES_WATCH_DETAIL":"Klik dan mainkan film kesukaan, acara televisi, vidio dan saluran televisi kamu.","WEBSITE_FEATURES_SUBS":"Subjudul Otomatsi","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio secara otomatis memilih subjudul yang disinkronkan untuk bahasa kamu.","WEBSITE_FEATURES_SUBS_LABEL":"Langkahmu, Ketua.","WEBSITE_FEATURES_CAST":"Putar di Televisi & perangkat seluler","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Nikmati pustaka pribadi kamu yang tersinkronisasi pada seluruh perangkat kamu","WEBSITE_LIB_COLLECT":"Kumpulkan dari Stremio","WEBSITE_LIB_IMPORT":"Impor dari Facebook","WEBSITE_LIB_LOCAL":"Tambahkan dari perangkat lokal kamu","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Rekomendasi siaran televisi","WEBSITE_BOARD_TRENDING":"Film yang sedang tren","WEBSITE_BOARD_NEW":"Vidio baru","WEBSITE_BOARD_EPISODE":"Episode baru","WEBSITE_BOARD_1":"Sedang mencari sesuatu yang menarik untuk ditonton? Dapatkan rekomendasi berdasarkan selera kamu!","WEBSITE_BOARD_2":"Dapatkan pemberitahuan ketika episode baru dari siaran favorit televisi kamu atau siaran Youtube telah keluar!","WEBSITE_BOARD_YOUTUBE":"Vidio baru dari siaran Youtube","WEBSITE_BOARD_EPISODES":"Episode baru dari serial yang kamu ikuti","WEBSITE_ADDONS":"Konten Tambahan","WEBSITE_TECH_DETAIL":"Kita cinta teknologi, kita cinta sekali dengan ilmu pengetahuan!\\nStremio menggunakan teknologi open source berikut :","WEBSITE_TECH_WCJS":"WebChimera.js mengizinkan Stremio untuk memutar format vidio apapun dengan performa yang baik.","WEBSITE_TECH_WCJS_EXTRA":"Kita adalah penyumbang proyek inti","WEBSITE_TECH_ELECTRON":"Electron menyediakan sebuah platform inovatif untuk membangung Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Kita adalah penyumbang proyek","WEBSITE_TECH_LINVODB":"Sebuah teknologi basis data yang memastikan data kamu terorganisir dan tersedia dimanapun kamu masuk.","WEBSITE_TECH_LINVODB_EXTRA":"Teknolog Internal","WEBSITE_CREATE_ADDON":"Buat Addon kamu","WEBSITE_CREATE_ADDON_DETAIL":"Apakah kamu menyediakan sebuah jasa konten vidio? Kita akan membantu mendapatkan manfaat dari fitur dengan membuatkan Addon kamu.","WEBSITE_CREATE_ADDON_BENEFITS":"Manfaat dari membuat sebuah Addon untuk Stremio","WEBSITE_P2P_BEAUTY":"Keindahan straming Peer-To-Peer","WEBSITE_P2P_1":"Video full HD / 4K yang andal dan terjangkau sesuai permintaan atau streaming langsung","WEBSITE_P2P_2":"Platform distribusi memberikan pengalaman pengguna yang luar biasa","WEBSITE_P2P_3":"Kami akan membuat addon yang memenuhi kebutuhan Anda","WEBSITE_P2P_CONTACT":"Tertarik? Kamu dipersilahkan untuk <a href=\'mailto:office@stremio.com\'>menghubungi kami</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Kami akan dengan senang hati membantu Anda mengintegrasikan konten Anda dengan Stremio!","WEBSITE_P2P":"Sesekali, muncullah teknologi yang mengubah nama game tersebut. Kami menginvestasikan banyak waktu dan upaya dalam membangun mesin streaming video Peer-to-Peer (P2P) kami yang memberikan kinerja hebat dan keserbagunaan untuk beradaptasi dengan kasus penggunaan apa pun.\\nHubungi kami untuk video P2P berkemampuan DRM sesuai permintaan atau streaming langsung.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Oh, tidak! Halaman yang kamu cari tidak ada disini...","WEBSITE_GO_HOME":"Ke Beranda","WEBSITE_LINK_OTHER_DOWNLOADS":"Unduh lainnya","WEBSITE_FAQ_ABR":"Pertanyaan yang sering diajukan","WEBSITE_SUPPORT":"Bantuan","WEBSITE_DOWNLOAD_4_0_BETA":"Unduh Stremio 4 beta Sekarang","WEBSITE_GET_FOR_DESKTOP":"Dapatkan untuk Desktop","WEBSITE_LINK_ADDON_COMPETITION":"Kompetisi Addon","WEBSITE_LINK_ART_CONTEST":"Kontes Seni","WEBSITE_MY_ACCOUNT":"Akun Saya","WEBSITE_MAINPAGE_FAQ_001_H1":"Apa itu Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio adalah pusat media modern yang memberikan kamu kegemaran untuk menonton apapun yang kamu mau.","WEBSITE_MAINPAGE_FAQ_002_H1":"Bagaimana itu bekerja?","WEBSITE_MAINPAGE_FAQ_002_P1":"Setelah Anda menginstal Stremio di perangkat Anda dan membuat akun, yang harus Anda lakukan adalah mengunjungi katalog addon dan menginstal addon apa pun yang Anda inginkan, dan Anda siap melakukannya!","WEBSITE_MAINPAGE_FAQ_002_P2":"Setelah itu, Anda dapat pergi ke bagian Discover atau Board untuk mulai menjelajahi konten.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},27907:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"Canali TV","TYPE_channel":"Canali","TYPE_other":"Altri","TYPE_movie_PL":"Film","TYPE_series_PL":"Serie","TYPE_tv_PL":"Canali TV","TYPE_channel_PL":"Canali","TYPE_other_PL":"Altri","TYPE_ALL":"Tutto","TYPE":"Tipo","CATALOG_com_linvo_cinemeta_top":"Popolari","CATALOG_com_linvo_cinemeta_imdbRating":"In evidenza","CATALOG_com_linvo_cinemeta_year":"Nuovi","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Film di pubblico dominio","VIDEO":"Video","BACK":"Indietro","MORE":"Di più","DONE":"Fatto","COPY":"Copia","SUCCESS":"Successo","ERROR":"Errore","SETTINGS_CASTING_MODE_PICKER":"Modalità Casting","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Nessuna transcodifica","Discover":"Scopri","Board":"Bacheca","Library":"Libreria","My Library":"La mia Libreria","Calendar":"Calendario","NOTIFICATION_ONLINE":"Ora sei online","NOTIFICATION_OFFLINE":"Attualmente sei offline","INTERNET_CONNECTION":"Connessione di rete","STORAGE_FULL_TITLE":"Avviso: Memoria piena!","STORAGE_FULL_TEXT":"Stremio non sarà in grado di salvare le tue impostazioni, i preferiti e le informazioni di login. Prova a riavviare o reinstallare Stremio","SEARCH":"Cerca","SEARCH_NO_RESULTS":"Nessun risultato trovato","SEARCH_EXPLANATION_CONTENT":"Cerca film, serie, YouTube e canali TV","SEARCH_EXPLANATION_PEOPLE":"Cerca attori, registi e autori","SEARCH_PASTE_LINKS":"Incolla i link HTTP e Magnet","SEARCH_OR_PASTE_LINK":"Cerca o incolla link","SEARCH_SUGGESTIONS":"Suggerimenti di ricerca","ADD_TO_LIB":"Aggiungi alla Libreria","REMOVE_FROM_LIB":"Rimuovi dalla Libreria","ADDED_TO_LIB":"Aggiunto alla Libreria","REMOVED_FROM_LIB":"Rimosso dalla Libreria","TRAILER":"Trailer","WATCH_TRAILER":"Guarda Trailer","WATCH_NOW":"Guarda ora","SHOW":"Mostra","SHOW_MOVIE":"Mostra film","WATCH_RANDOM":"Guarda casuale","IMDB_RATING":"Voto IMDb","YEAR":"Anno","DIRECTOR":"Regista","WRITER":"Autore","LEAD_ACTORS":"Attori principali","CAST":"Cast","CREW":"Troupe","SHOW_MORE_CAST":"Mostra di più »","AIRED":"Trasmesso","SEASONS":"Stagioni","GENRE":"Genere","GENRE_ALL":"Tutti i generi","CATALOG":"Catalogo","SUMMARY":"Trama","SHOW_MORE":"Mostra di più","SIMILAR":"Simile","UPCOMING":"Prossimamente","TBA":"TBA","ENDED":"Terminato","DURATION":"Durata","FEATURED":"In primo piano","METADATA":"Metadata","CATEGORY":"Categoria","LINKS_GENRES":"Genere","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Registi","SEARCH_VIDEOS":"cerca video","SEARCH_PLACEHOLDER":"cerca o incolla URL","ADDON":"addon","ADDONS":"Addons","OFFICIAL":"ufficiale","ADDONS_OFFICIAL":"Addon ufficiali di Stremio","ADDONS_POPULAR":"Popolari nella tua zona","ADDON_FREE":"gratuito","ADDON_PEERED":"accoppiato","ADDON_SUBSCRIPTION":"in abbonamento","ADDON_STREAM_GEORESTRICTED":"non disponibile nella tua zona","ADDON_STREAM_OFFLINECACHE":"Cache Offline","ADDON_STREAM_LOCALFILE":"File locale","SHARE_ADDON":"Condividi addon","AVAILABLE_STREAMS":"Stream disponibili","NO_STREAM":"Nessuno stream disponibile","ALL_ADDONS":"Tutti","INSTALL_MORE_ADDONS":"Per vedere più stream, installare altri addon","STREAM_NOT_SUPPORTED":"Lo stream selezionato non è supportato su questa piattaforma.","ADDON_CATALOGUE":"Mostra tutti gli addon »","ADDON_CATALOGUE_MORE":"Installa addon","REPO_ADDED":"Repository aggiunta","ADDON_REPO_EXIST_ERR":"Queste collezioni di addons esistono già","ADDON_REPO_ERR":"Si è verificato un errore durante l\'aggiunta della repository","ADDON_ADD_ERR":"Si è verificato un errore durante l\'aggiunta dell\'addon","ERR_ADDON_PROTECTED":"Impossibile disinstallare l\'addon, è protetto","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Qualcosa è andato storto - l’autenticazione potrebbe essere fallita","ERR_NOT_COLLECTION_URL":"Non è un URL di una collezione","ERR_NOT_ADDON_URL":"Non è un URL di un addon","ERR_DETECTFROMURL":"Impossibile trovare addon/collezioni da questo URL","ADDON_DUPLICATE_WARNING":"Avviso: addon duplicato","ADDON_COLLECTION_SET_FAILED":"Sincronizzazione degli addon installati al tuo account fallita","SETTINGS_DATA_EXPORT":"Esporta dati utente","ADDON_PULL_FAILED":"Sincronizzazione degli addon installati dal tuo account fallita","REFRESH_ON_CLICK":"Clicca per riprovare","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film ancora al cinema","WATCH_IN_CINEMA":"Guardalo in un cinema vicino a te","IN_THEATER":"Al cinema","GET_TICKETS":"Compra biglietti","UPCOMING_EPISODE":"Episodio in arrivo","UPCOMING_EPISODE_MESSAGE":"Questo episodio sarà trasmesso il","MISSING_DATE_EPISODE":"Data episodio mancante","MISSING_DATE_EPISODE_MESSAGE":"Questo episodio potrebbe non essere ancora stato trasmesso","CHANNEL_NOT_SCRAPED":"Questo canale non è ancora disponibile.<br>Torna tra qualche minuto.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Aggiungilo alla tua libreria per ricevere una notifica quando sarà disponibile.","GET_NOTIFIED_WHEN_AVAILABLE":"Riceverai una notifica quando sarà disponibile.","WARNING_STREAMING_SERVER":"Attenzione: server di streaming locale non trovato. Lo streaming da file locali, YouTube e BitTorrent non sarà disponibile.","WARNING_STREAMING_SERVER_DISMISS":"Chiudi","WARNING_STREAMING_SERVER_LATER":"Dopo","DECODER_WARNING":"Attenzione: questo video potrebbe non essere supportato dal tuo hardware. Ricorda, la riproduzione potrebbe essere lenta.","GENERIC_ERROR_MESSAGE":"Qualcosa è andato storto!","TRY_AGAIN":"Riprova","CLEAR_DATA":"Pulisci i dati","PLAYER_ERROR":"Oops, errore del Player","PLAYER_ERROR_LOOKSLIKE":"Sembra che","PLAYER_ORIENTATION":"Orientamento del player","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Bloccato","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensore","PLAYER_ORIENTATION_LANDSCAPE":"Orientamento del player bloccata in orizzontale","PLAYER_ORIENTATION_SENSOR":"Orientamento del player automatica (sensore)","PLAYER_PLAYBACK_SPEED":"Velocità di riproduzione","PLAYER_PLAYBACK_ERROR":"Errore di riproduzione, prova di nuovo","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Errore sconosciuto","PLAYER_PLAYBACK_ERROR_DEFAULT":"Ci dispiace, questo video non può essere riprodotto da {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Lingue sottotitoli","PLAYER_SUBTITLES_VARIANTS":"Versioni sottotitoli","PLAYER_SUBTITLES_SETTINGS":"Impostazioni sottotitoli","PLAYER_SUBTITLES_DISABLED":"Sottotitoli disattivati","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posizione verticale","PLAYER_SUBTITLES_LOADED":"Sottotitoli caricati","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Sottotitoli integrati caricati","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Sottotitoli escusivi caricati","PLAYER_SUBTITLES_LOADED_LOCAL":"Sottotitoli locali caricati","PLAYER_SUBTITLES_LOADED_ORIGIN":"Sottotitoli da {{origin}} caricati","PLAYER_PLAY":"Riproduci","PLAYER_PAUSE":"Pausa","PLAYER_NEXT_VIDEO":"Prossimo video","PLAYER_MUTE":"Muto","PLAYER_UNMUTE":"Non muto","PLAYER_OPEN_IN_EXTERNAL":"Apri in un player esterno","PLAYER_OPEN_IN_NPLAYER":"Apri su nPlayer","PLAYER_PLAY_IN":"In riproduzione su {{device}}","PLAYER_LIVE":"Dal vivo","PLAYER_NEXT_VIDEO_TITLE":"Prossimo","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Prossimo","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Nascondi","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Guarda ora","PLAYER_COPY_STREAM_SUCCESS":"Il collegamento allo streaming è stato copiato negli appunti","PLAYER_COPY_STREAM_ERROR":"Impossibile copiare il collegamento dello streaming","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Il link per il download è stato copiato negli appunti","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Impossibile copiare il link per il download","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"In streaming da","CASTING_TO":"Trasmesso su","NETWORK_STATUS":"Stato della rete","STREAM_SPEED":"Velocità dello stream:","STREAM_BUFFERED":"In buffer:","PEERS_INFO":"Informazioni sui peer","PEERS_ACTIVE":"Attivi:","PEERS_CONNECTED":"Connessi:","PEERS_WAITING":"In attesa:","TRANSCODING_WARNING":"Avvertimento: transcodifica video.","STREAM_LOADING":"in caricamento…","PLAYING_LOCAL":"riproduzione da file locale","PLAYING_CACHE":"riproduzione dalla cache","WRONG_SUBS":"Sottotitolo sbagliato?","ERR_SUBS_LOADING_TITLE":"Errore caricamento sottotitoli","ERR_SUBS_LOADING":"Caricamento sottotitoli fallito: potrebbe essere un problema dell\'addon che stai usando, oppure della connessione di rete","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Il seguente addon per sottotitoli non si è caricato","ERR_CASTING_UPDATE_TITLE":"Non è stato possibile aggiornare le info del dispositivo di riproduzione: il server di streaming potrebbe essere offline","CHOOSE_DEVICE":"Scegli un dispositivo su cui guardarlo","NO_CAST_DEVICES":"Nessun dispositivo per casting disponibile.","NO_SETTINGS":"Nessuna impostazione disponibile.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefono/Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Sottotitoli","SUBTITLES_CHANGE":"Cambia i sottotitoli per ","SUBTITLES_CHANGE_NONE":"Non ci sono altri sottotitoli per questa lingua, ci dispiace","SUBTITLES_CHANGE_ACIVE":"In questo momento è attivo il sottotitolo #{{subtitlesDialog.activeIdx + 1}}. Clicca \\"Continua\\" per attivare il sottotitolo #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"In alternativa,","SUBTITLES_ADJUST_DELAY":"Aggiusta ritardo sottotitoli:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Oppure usa i tasti <span>G</span> / <span>H</span> durante la riproduzione per regolare.","SUBTITLES_ADJUST_DELAY_TIP":"Suggerimento: puoi usare <span>G</span> / <span>H</span> durante la riproduzione per regolare.","SUBTITLES_DELAY":"Ritardo sottotitoli:","SUBTITLES_LOADING":"Caricamento sottotitoli...","SUBTITLES_UNAVAILABLE":"Nessun sottotitolo esterno disponibile","SUBTITLES_DISABLED":"Disabilitati","EXTERNAL_PLAYER_DISABLED":"Disabilitato","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Consenti scelta","EXTERNAL_PLAYER_HINT":"Suggerimento: esiste un\'impostazione per consentire sempre l\'apertura con un lettore esterno","DONT_SHOW_AGAIN":"Non mostrare più","SERVICE_INSTALL":"Installa","AUDIO":"Audio","DEFAULT_LANGUAGE":"Lingua Predefinita","DEFAULT_SECONDARY_LANGUAGE":"Lingua Secondaria Predefinita","SEASON":"Stagione","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episodio","EPISODE_ABBREVIATION":"EP","SPECIAL":"Speciale","SORT":"ordina","SORT_BY":"Ordina per","FILTER":"filtro","SORT_TRENDING":"popolari","SORT_RECENT":"recenti","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"voto","SORT_WATCHED":"visto","SORT_YEAR":"anno","SELECT":"Select","SELECT_TYPE":"Seleziona tipo","SELECT_SORT":"Seleziona ordinamento","SELECT_CATALOG":"Seleziona catalogo ","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Seleziona genere","SORT_LASTWATCHED":"Dall\'ultimo visto","SORT_NAME":"Per nome","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Più visto","SORT_NOTWATCHED":"Non visto","New for You":"Nuovi per te","New Episodes":"Nuovi Episodi","New Videos":"Nuovi Video","Recommendations":"Consigliati","LIBRARY_RESUME":"Riprendi","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Dettagli","LIBRARY_RESUME_DISMISS":"Scarta","LIBRARY_CLEAR_PROGRESS":"Azzera progresso","LIBRARY_REMOVE":"Rimuovi","LIBRARY_NOT_LOGGED_IN":"La libreria è disponibile solo per gli utenti loggati","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Il calendario è disponibile solo per gli utenti dell\'accesso","NOT_LOGGED_IN_CLOUD":"Accedi ai tuoi film e programmi TV preferiti sempre e ovunque","NOT_LOGGED_IN_RECOMMENDATIONS":"Raccomandazioni su misura per la cronologia di visualizzazione","NOT_LOGGED_IN_NOTIFICATIONS":"Non perdere mai più un episodio","NOT_LOGGED_IN_CALENDAR":"Pianifica il tuo calendario personale","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"In primo piano","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Vincitori dell\'Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Questo addon ha restituito un contenuto vuoto.","DISCOVER_ADULT_WARNING":"Questo contenuto è visibile solo per gli adulti. Hai più di 18 anni?","DISCOVER_NOADDON_WARNING":"Attenzione: nessun addon di Stremio attivo per questo tipo. Questi sono gli elementi salvati, nulla verà aggiornato.","DISCOVER_LOAD_ERR":"Il contenuto non è stato caricato, riscontrato un errore.","DISCOVER_ADDON_UNINSTALLED":"Questo contenuto non è più disponibile, potresti aver disinstallato l\'addon.","UNINSTALL_THIS_ADDON":"Disinstalla questo addon","ERR_ADDON_NOT_INSTALLED":"Questo addon non è installato. Installarlo ora?","DETAIL_RECEIVE_NOTIF_SERIES":"Ricevi notifiche per i nuovi episodi","DETAIL_RECEIVE_NOTIF_VIDEOS":"Ricevi notifiche per i nuovi video","SIDEBAR_SHOW_STREAMS":"Mostra gli Stream","RELAUNCH":"Riavvia ora!","UPGRADE":"Nuova versione disponibile! Aggiorna all\'ultima versione di Stremio","RELOAD_UI":"Ricarica l’interfaccia utente","MANUAL_UPDATE_TITLE":"Aggiorna la tua versione di Stremio","MANUAL_UPDATE_LINE1":"Stai utilizzando una versione obsoleta di Stremio ed è altamente sconsigliato","MANUAL_UPDATE_LINE2":"Per piacere aggiorna Stremio il prima possibile.","BUTTON_UPDATE_LATTER":"Non ora","BUTTON_UPDATE_NOW":"Aggiorna","UPDATER_TITLE":"È disponibile una nuova versione di Stremio","UPDATER_INSTALL_BUTTON":"Installa adesso","ANONYMOUS_USER":"Utente anonimo","DONT_HAVE_ACC":"Non hai un account?","HAVE_ACC":"Hai già un account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Conferma password","EMAIL":"E-mail","FB_LOGIN":"Continua con Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nulla è condiviso senza il tuo permesso","FB_NOPOST":"Non scriveremo nulla a tuo nome","OR":"o","I_ACCEPT":"Accetto ","I_ACCEPT_BY_CLICKING":"Premendo il pulsante sopra confermo di accettare","TOS":"Termini e condizioni","MUST_ACCEPT_TERMS":"Devi accettare le condizioni","PASSWORDS_NOMATCH":"La password non corrisponde","SIGN_UP":"Registrati","SIGN_UP_EMAIL":"Registrati con l’email","CLICK_TO_SIGN_UP":"Clicca qui per registrarti.","LOG_IN":"Entra","LOG_OUT":"Esci","EXIT_FULLSCREEN":"Esci dalla modalità Schermo Intero","ENTER_FULLSCREEN":"Entra in modalità Schermo Intero","PLAY_URL_MAGNET_LINK":"Riproduci URL/Magnet link","HELP_FEEDBACK":"Aiuto & Feedback","TERMS_OF_SERVICE":"Termini di Servizio","PRIVACY_POLICY":"Politica sulla riservatezza","ABOUT_STREMIO":"Info su Stremio","USER_PANEL":"Pannello utente","LOGIN_LABEL":"Accesso","GUEST_LOGIN":"Entra come ospite","GUEST_LOGIN_NOTICE":"Entrare come ospite non è consigliato. Entrando con un account regolare permetti a Stremio di sincronizzare la tua libreria, ricevere notifiche per le tue serie/canali preferiti. Sei sicuro di voler procedere?","GUEST_LOGIN_NOTICE_2":"Entrare come ospite non è consigliato - non avrai le notifiche di sincronizzazione dela Libreria e dela Bacheca, che sono funzioni vitali di Stremio. Sei sicuro di voler procedere?","CLICK_HERE":"clicca qui","WRONG_PASSWORD":"Email o password errata. Nel caso tu abbia dimenticato la password, ","SET_A_PASS":"imposta una password","RESET_PASSWORD":"Resetta password","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Password dimenticata?","EMAIL_USED_WITH_FB":"Questa email è stata utilizzata con l\'accesso Facebook.","INVALID_EMAIL":"Per favore usa un indirizzo email valido","INVALID_PASSWORD":"Per favore inserisci una password valida","CONN_ERR":"Errore di connessione - riprova più darti per favore.\\n\\nSe persiste, disabilita il firewall/software anti-virus (sopratutto Bitdefender).","IMPORT_FROM_GUEST":"Importa la Libreria dal tuo account ospite","RECEIVE_UPDATES_EMAIL":"Ricevi novità di Stremio sulla tua email","LOGIN_FAILED":"Autenticazione fallita.","SIGNUP_FAILED":"Registrazione fallita.","SEARCH_FAILED":"Ricerca fallita","EMAIL_USED":"Questa email è già in uso.","WAITING_FB_LOGIN":"Accesso con Facebook…","EXTERNAL_OPENING_YOUTUBE":"Stai uscendo da Stremio e verrà aperto YouTube. Vuoi continuare?","EXTERNAL_OPENING_APP":"Stai uscendo da Stremio e verrà aperta un altra app. Vuoi continuare?","EXTERNAL_PLAYER_TITLE":"Riproduci in un player esterno","EXTERNAL_REMEMBER_PLAYER":"Vuoi ricordare la tua scelta?","EXTERNAL_ALWAYS_PLAY":"Sì","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Miglior adattamento schermo","FIT_SCREEN":"Adatta allo schermo","FILL":"Riempi lo schermo","16:9":"16:9","4:3":"4:3","Original":"Originale","INTRO_TASTE":"Facci sapere cosa ti piace","INTRO_TASTE_LONG":"Facci sapere cosa ti piace vedere","INTRO_TASTE_PICK":"Seleziona {{interestsRemaining}} interessi","INTRO_TASTE_PICK_MORE":"Seleziona {{interestsRemaining}} più interessi","INTRO_TASTE_HELP_US":"Aiutaci a conoscerti.","INTRO_TASTE_CHOOSE_THESE":"Scegli alcuni di questi:","INTRO_TASTE_CHOOSE_MIN":"Scegli almeno 3 categorie","INTRO_TASTE_CHOOSE_MIN_ERR":"Devi scegliere almeno 3 categorie!","INTRO_TASTE_LIFESTYLE":"Stile di vita","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Cibo & Salute","INTRO_TASTE_BEAUTY_FASHION":"Bellezza & Moda","INTRO_TASTE_NEWS":"Notizie","INTRO_TASTE_GAMING":"Videogiochi","INTRO_TASTE_SCIENCE_EDU":"Scienze & Educazione","INTRO_TASTE_MUSIC":"Musica","INTRO_TASTE_TRAVEL":"Viaggi","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Commedia","INTRO_TASTE_DIY":"Fai-da-te","INTRO_TASTE_TECH":"Tecnologia","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"L’addon selezionato non è supportato su questa piattaforma.","ADDON_DISCLAIMER":"Usare addon di terze parti sarà sempre soggetto alla tua responsabilità e alle leggi vigenti nella giurisdizione in cui ti trovi.","ADDON_ACTIVATE":"Attivare questo addon?","ADDON_REPO_ADD":"URL della collezione dell’addon","ADDON_ADD":"Aggiungi","INSTALL_ADDON":"Install addon","ADD_ADDON":"Aggiungi addon","ADD_ADDON_DESCRIPTION":"Puoi aggiungere un addon da link esterni, così che apparirà sotto Addon installati.","PASTE_ADDON_URL":"Incolla l\'URL dell\'addon","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Cosa c’è di nuovo","BUTTON_CONTINUE":"Continua","BUTTON_ACTIVATE":"Attiva","BUTTON_ACTIVATED":"Attivato","BUTTON_CANCEL":"Annulla","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Invia","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Rimuovi tutto","BUTTON_VIEW_ALL":"vedi tutti","BUTTON_SEE_ALL":"Vedi tutto","BUTTON_COLOR_TRANSPARENT":"Trasparente","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Apri nel browser","LIB_EMPTY":"La tua libreria sembra vuota. Scopri quanto è utile :) ","HOW_START":"Puoi cominciare così:","LIB_EMPTY_CAL":"Il tuo calendario mostra le serie nella tua Libreria.","HOW_START_CAL":"Puoi aggiungere delle serie così:","LIB_EMPTY_BOARD":"Bacheca mostra le notifiche e i consigli in merito alla tua Libreria.","HOW_START_BOARD_WAIT":"Per favore, aggiungi alcune serie o canali alla tua Libreria e dacci qualche minuto per elaborare il tutto :)","HOW_START_BOARD":"Puoi aggiungere serie e film così:","IMPORT_FB":"Importa quello che ti piace da <span>Facebook</span>","IMPORT_TRAKT":"Importa la tua libreria dei media da <span>Trakt</span>","IMPORT_DISCOVER":"Trova roba interessante su <span>Scopri</span>","IMPORT_DISK":"Importa film o spettacoli che hai sul tuo <span>disco locale</span>","PLEASE_CREATE_ACC":"Per favore <u>crea un account</u> per abilitare la sincronizzazione della Libreria & Bacheca.","IMPORT_DISCOVER_SIGNUP":"Registrati e scopri cose interessanti da <span>Scopri</span>","IMPORT_DISK_SIGNUP":"Registrati e importa film o spettacoli che hai sul tuo <span>disco locale</span>","LIB_EMPTY_CLOUD":"Libreria cloud","LIB_EMPTY_CLOUD_DESC":"Libreria cloud personale sincronizzata su tutti i dispositivi","LIB_EMPTY_EARLY":"Primi arrivati","LIB_EMPTY_EARLY_DESC":"Ricevi notifiche per i nuovi episodi","LIB_EMPTY_PERSONAL":"Personale","LIB_EMPTY_PERSONAL_DESC":"Ottieni suggerimenti personalizzati","LIB_EMPTY_CALENDAR_DESC":"Organizza il tuo calendario personale","LIB_EMPTY_ALL":"Registrati per ottenere tutto questo:","LIB_EMPTY_BEST":"Registrati per ottenere il meglio di Stremio","LIB_EMPTY_OTHER":"Registrati per abilitare il Calendario & le altre fantastiche funzionalità","CALENDAR_ADDED":"Il calendario di Stremio è stato aggiunto al tuo calendario desktop di default.","CALENDAR_ADDED_MSG":"Se non funziona, per favore aggiungi manualmente questo URL alla tua applicazione calendario","TRAKT_EXPIRED":"Autenticazione a Trakt scaduta, per favore vai su Impostazioni per autenticarti di nuovo","TRAKT_REQUIRES_LOGIN":"Errore di Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Devi fare login","TRAKT_IMPORT_WATCHED":"Importa","THEME":"Tema","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adattivo","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Impostazioni","SETTINGS_NAV_GENERAL":"Generale","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Scorciatoie","SETTINGS_SHORTCUT_RELOAD_APP":"Ricarica App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Apri le Impostazioni","SETTINGS_SHORTCUT_SWITCH_TABS":"Mostra le schede","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Scorri le schede in avanti","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Scorri le schede all\'indietro","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Naviga tra i menu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Vai a Cerca","SETTINGS_SHORTCUT_EXIT_BACK":"Esci / Torna indietro","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Attiva/disattiva il menu della velocità di riproduzione","SETTINGS_SHORTCUT_MENU_VIDEOS":"Attiva/disattiva il menu dei video","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Attiva/disattiva il menu dei sottotitoli","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Attiva/disattiva il menu delle informazioni","SETTINGS_SHORTCUT_FULLSCREEN":"Attiva/disattiva Schermo Intero","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostra Controlli","SETTINGS_SHORTCUT_PLAY_PAUSE":"Riproduci / Pausa","SETTINGS_SHORTCUT_VOLUME_UP":"Alza Volume","SETTINGS_SHORTCUT_VOLUME_DOWN":"Abbassa Volume","SETTINGS_SHORTCUT_SEEK_NEXT":"Vai a Prossimo","SETTINGS_SHORTCUT_SEEK_PREV":"Vai a Precedente","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Scorri Indietro","SETTINGS_SHORTCUT_SEEK_FORWARD":"Scorri Avanti","SETTINGS_SHORTCUT_PLAY_NEXT":"Riproduci Prossimo","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Aumenta Dimensione Sottotitoli","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Riduci Dimensione Sottotitoli","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Aumenta Ritardo Sottotitoli","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Riduci Ritardo Sottotitoli","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Attiva/disattiva barra laterale","SETTINGS_SHORTCUT_OR":"o","SETTINGS_SHORTCUT_TO":"a","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Spazio","SETTINGS_SHORTCUT_SHIFT":"Maiusc","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticati","SETTINGS_FACEBOOK_IMPORT":"Importa","SETTINGS_CALENDAR_SUBSCRIBE":"Iscriviti","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"L\'app Calendario è stata aperta. Iscriviti manualmente al calendario.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Il file del Calendario è stato scaricato. Importalo nella tua app calendario.","SETTINGS_INTERFACE_LANGUAGE":"Lingua interfaccia","SETTINGS_LAUNCH_STARTUP":"Lancia all\'avvio","SETTINGS_VLC_DEFAULT":"Riproduci con VLC","SETTINGS_UI_LANGUAGE":"Lingua Interfaccia","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Tasto Esc esce da schermo intero","SETTINGS_GAMEPAD":"Abilita supporto controller","SETTINGS_CLOSE_WINDOW":"Chiudi app quando la finestra è chiusa","SETTINGS_SUBTITLES_LANGUAGE":"Lingua Sottotitoli Predefinita ","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Lingua sottotitoli secondaria","SETTINGS_SUBTITLES_SIZE":"Dimensione Sottotitoli Predefinita ","SETTINGS_SUBTITLES_BACKGROUND":"Sfondo sottotitoli","SETTINGS_SUBTITLES_COLOR":"Colore sottotitoli","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Colore contorno sottotitoli","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Colore sfondo sottotitoli","SETTINGS_SEEK_KEY":"I tasti freccia scorrono il tempo","SETTINGS_SEEK_KEY_SHIFT":"I tasti freccia scorrono il tempo quando il tasto Maiusc è premuto","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Durata del riavvolgimento e dell\'avanzamento rapido","SETTINGS_BINGE":"Riproduci automaticamente il prossimo episodio","SETTINGS_NEXT_VIDEO":"Mostra notifica per far partire il prossimo episodio","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostra notifica prossimo episodio per:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Durata del popup Prossimo video","SETTINGS_PLAY_IN_BACKGROUND":"Riproduci in sottofondo","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Riproduci con un player esterno","SETTINGS_RESIZE":"Ridimensiona automaticamente la finestra prima di riprodurre","SETTINGS_OVERRIDE_SERVER":"Sovrascrivi l\'URL del server di streaming (avvanzato)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"URL server di streaming: ","SETTINGS_SERVER_AVAILABLE":"Server di streaming disponibile.","SETTINGS_SERVER_UNAVAILABLE":"Server di streaming non disponibile.","SETTINGS_SERVER_STATUS_ONLINE":"In linea","SETTINGS_SERVER_STATUS_ERROR":"Errore","SETTINGS_SERVER_CONFIGURE_TITLE":"Configura l\'url del server di riproduzione","SETTINGS_SERVER_CONFIGURE_INPUT":"Inserisci l\'url del server di riproduzione","SETTINGS_SERVER_CACHE_SIZE":"Dimensione Cache","SETTINGS_SERVER_TORRENT_PROFILE":"Profilo Torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint HTTPS di riproduzione: ","SETTINGS_TRANSCODE_PROFILE":"Profilo di transcodifica","SETTINGS_USE_BETA":"Usa sempre l\'ultima Beta","SETTINGS_IMPORT_FB":"Importa da Facebook","SETTINGS_IMPORT_DISK":"Importa dal disco locale","SETTINGS_IMPORT_TRAKT":"Importa da Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausa la riproduzione quando minimizzato","SETTINGS_HWDEC":"Decodifica con accelerazione hardware","SETTINGS_BACKGROUND":"Riproduzione in sottofondo","SETTINGS_SUBSCRIBE_CALENDAR":"Iscriviti nel calendario","SETTINGS_REQ_EXPORT":"Richiedi estrazione dei dati","SETTINGS_ACC_DELETE":"Richiedi cancellazione account","SETTINGS_CHANGE_PASSWORD":"Cambia password","SETTINGS_TOS":"Termini di servizio","SETTINGS_SUPPORT":"Contatta il supporto","SETTING_LANGUAGE":"Lingua","SETTINGS_BLUR_UNWATCHED_IMAGE":"Sfoca l\'immagine degli episodi non visti","SETTINGS_QUIT_ON_CLOSE":"Esci alla chiusura","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Riautenticare","SETTINGS_TRAKT_LOGOUT":"Esci da Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Esci da Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scansiona il codice QR per aprire in remoto","SETTINGS_DESKTOP_NOTIFICATIONS":"Notifiche desktop","SETTINGS_DATA_SAVER":"Risparmio dati","SETTINGS_LANGUAGE_INTERFACE":"interfaccia","SETTINGS_LANGUAGE_SUBS":"sottotitoli predefiniti","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoseleziona Traccia Audio","SETTINGS_DEFAULT_AUDIO_TRACK":"Traccia Audio Predefinita","SETTINGS_SECONDARY_AUDIO_TRACK":"Traccia Audio Secondaria","SETTINGS_SURROUND_SOUND":"Audio surround","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Piattaforma TV","SETTINGS_VERSION":"versione","SETTINGS_ABOUT":"Info su Stremio","SETTINGS_MPV_WINDOW":"Avvia il player in una finestra separata (avvanzato)","SETTINGS_PLAY_IN_EXTERNAL":"Apri sempre il video nel player esterno","SETTINGS_STORAGE_BUTTON":"Pulisci Memoria Locale","SETTINGS_STORAGE_MODAL_TITLE":"Sei sicuro ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Questo pulirà la memoria locale e ti farà uscire dall\'account.","SETTINGS_HWDEC_PICKER":"Scegli impostazioni di decodifica con accelerazione hardware","SETTINGS_HW_AUTOMATIC":"Automatica","SETTINGS_HW_DISABLED":"Disabilitata","SETTINGS_HW_ACCELERATED":"Accelerazione di decodifica","SETTINGS_HW_FULL":"Accelerazione totale","SETTINGS_HW_LEGACY":"Eredità","SETTINGS_DISABLED":"Disabilitata","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notifica di connessione di rete","SETTINGS_ANALYTICS":"Consenti analisi","SETTINGS_REMOTE_URL":"URL remoto","SETTINGS_COPY_REMOTE_URL":"Copia URL remoto","SETTINGS_REMOTE_URL_COPIED":"L\'URL remoto è stato copiato negli appunti","SETTINGS_SECTION_SUBTITLES":"Sottotitoli","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controlli","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Avanzate","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addon Sottotitoli","SUBSPICKER_BLACK_BACKGROUND":"Usa colore di sfondo nero","SUBSPICKER_VERTICAL_OFFSET":"Offset Verticale","SUBSPICKER_SIZE":"Dimensione","SUBSPICKER_DELAY":"Ritardo","SUBSPICKER_EMBEDDED_SUBS":"Sottotitoli Integrati","MOBILE_PRIVACY_POLICY":"Politica di riservatezza","MOBILE_CRASH_REPORTING":"Segnalazione arresti","MOBILE_ZOOM_TO_FILL":"Fai Zoom per Riempire lo Schermo","MOBILE_PASSTHROUGH":"Uscita audio digitale (passante)","MOBILE_RUN_LOW_BATTERY":"Esegui a batteria scarica","MOBILE_RUN_FOREGROUND":"Esegui come servizio in primo piano","MOBILE_PERFORMANCE":"PRESTAZIONI & STABILITÀ","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"Il codice QR scade tra ","MOBILE_LOG_INTO":"Accedi al tuo account Stremio ","MOBILE_SCAN_QR":"Scansiona il codice QR sopra o vai a ","MOBILE_LINK_ACCOUNT":"Collega Account","MOBILE_SPEEDPICKER_CANCEL":"Cancella","MOBILE_SPEEDPICKER_LABEL":"Seleziona Velocità di Riproduzione","MOBILE_EMPTY_LIBRARY":"La tua Libreria è vuota","MOBILE_NO_ADDON_ACTIVE":"Nessun addon Stremio attivo per questo tipo.","MOBILE_ORGANIZER_WARNING":"L\'app Stremio Organizer offre funzionalità limitate. Per un elenco di stream disponibili e per un\'esperienza Stremio completa, utilizza Stremio sul desktop.","MOBILE_ADDON_LOADING":"sta ancora caricando","MOBILE_ADDONS_LOADING":"addon in caricamento, attendere","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configura il tuo addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configura Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"L\'app Stremio Organizer fornisce una selezione limitata di addon. Per un\'esperienza Stremio completa, usa Stremio sul desktop.","MOBILE_DISCONNECT":"Disconnetti","MOBILE_LOOKING_FOR_DEVICES":"Ricerca dispositivi...","MOBILE_CAST_TO":"Trasmetti a","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Eliminare l\'account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"La cancellazione del conto non è immediata a causa di obblighi legali.Dopo aver richiesto la cancellazione del tuo account dovrai utilizzare in futuro un diverso indirizzo e -mail/profilo Facebook per creare un nuovo account Stremio.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Conferma la cancellazione dell\'account","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Il tuo account è stato creato utilizzando Facebook.Per eliminare il tuo account, utilizzare il nostro portale utente all\'indirizzo www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Fornisci la tua password per confermare la cancellazione dell\'account.","MOBILE_DELETE_ACCOUNT_BUTTON":"Eliminare l\'account","NAVIGATION_ON":"Acceso","NAVIGATION_OFF":"Spento","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Accetto di ricevere comunicazioni di marketing da Stremio","QUIT":"Chiudi","CONNECTED":"Connesso","AUTHENTICATE":"Autentica","AUTHENTICATING":"Authenticating...","CACHING":"Salvataggio cache","SETTINGS_CACHING_DRIVE":"Disco di cache","ENABLE_LOCAL_FILES_ADDON":"Abilita l\'addon dei file locali (richiede il riavvio)","LOCAL_ADDON_NOT_ENABLED":"L\'addon locale non è abilitato. Clicca qui per andare alle impostazioni e abilitarlo","ENABLE_REMOTE_HTTPS_CONN":"Abilita connessioni HTTPS remote","TORRENT_PROFILE":"Profilo Torrent","DATA_CACHING":"Salvataggio Dati Cache","MAGNET_PARSING":"Analisi del magnet link","January":"Gennaio","February":"Febbraio","March":"Marzo","April":"Aprile","May":"Maggio","June":"Giugno","July":"Luglio","August":"Agosto","September":"Settembre","October":"Ottobre","November":"Novembre","December":"Dicembre","Monday":"Lunedì","Tuesday":"Martedì","Wednesday":"Mercoledì","Thursday":"Giovedì","Friday":"Venerdì","Saturday":"Sabato","Sunday":"Domenica","Action":"Azione","Comedy":"Commedia","War":"Guerra","Family":"Famiglia","Animation":"Animazione","Adventure":"Avventura","Fantasy":"Fantasia","Crime":"Crimine","Mystery":"Mistero","Romance":"Romantico","Drama":"Dramma","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Fantascienza","Music":"Musica","Biography":"Biografia","Documentary":"Documentario","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Notizie","History":"Storia","Game-Show":"Gioco a Premi","Reality-TV":"Reality-TV","Talk-Show":"Talk Show","Film & Entertainment":"Film & Spettacolo","Gaming":"Giochi","From TV":"Dalla TV","Lifestyle":"Stile di vita","Science & Education":"Scienza & Educazione","Cooking & Health":"Cucina & Salute","Beauty & Fashion":"Bellezza & Moda","Sports":"Sport","News & Politics":"Notizie & Politica","How-to & DIY":"Fai-da-te","Tech":"Tecnologia","Automotive":"Automobilismo","Causes & Non-Profits":"Cause Umanitarie & Non-Profit","Movies":"Film","Uk Live Tv":"UK Live Tv","Fashion":"Moda","Business News Radio":"Radio Notizie Business","Business Tv":"Business Tv","Cars & Auto":"Auto & Motori","Comedy Radio":"Comicità Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"Notizie Tv","Food And Wine":"Cibo & Vino","Latino Tv":"Tv Latina","Shopping Tv":"Shopping Tv","Religion":"Religione","Kids":"Bambini","Body & Soul":"Corpo & Anima","Education":"Educativo","Indian Tv":"Tv Indiana","Extreme Sports":"Sport Estremi","Middle Eastern Tv":"Medio Oriente Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Scienza Tv","Bikini babe":"Bikini babe","Outdoors":"Aria Aperta","German Tv":"Tv Tedesca","French Tv":"Tv Francese","Italian Tv":"Tv Italiana","Gamer Tv":"Gamer Tv","Travel":"Viaggi","Asian Tv":"Tv Asiatica","Entertainment":"Spettacolo","News Radio":"Notizie Radio","Music Radio":"Musica Radio","Language Learning":"Imparare le Lingue","Science Radio":"Scienza Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Scienza & Tecnologia Vod","new video":"nuovo video","new episode":"nuovo episodio","new movie":"nuovo film","recommended":"consigliato","we recommend":"noi raccomandiamo","offer of the day":"offerta del giorno","news":"novità","music video":"video musicale","CTX_SHOW_HOTKEYS":"Mostra tasti di scelta rapida","CTX_DISMISS_NOTIF":"Chiudi notifica","CTX_DISMISS_ALL":"Chiudi tutto","CTX_SHARE":"Condividi","CTX_COPY_SHARE_LINK":"Copia link di condivisione","CTX_COPY_MAGNET_LINK":"Copia link magnet","CTX_COPY_STREAM_LINK":"Copia link dello stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copia link per scaricare il video","CTX_DOWNLOAD_VIDEO":"Scarica questo video","CTX_DOWNLOAD_SUBS":"Scarica i sottotitoli","CTX_VIEW_ON_YOUTUBE":"Visualizza su YouTube","CTX_SHOW":"Mostra","CTX_PLAY":"Riproduci","CTX_PLAY_IN":"Riproduci in","CTX_PLAY_ON":"Riproduci su","CTX_WATCH_ON":"Guarda su","CTX_WATCH":"Guarda","CTX_WATCHED":"Visto","CTX_WATCH_BEGINNING":"Guarda dall\'inizio","CTX_WATCH_MOBILE":"Guarda su un dispositivo mobile","CTX_REWIND":"Riprendi dall\'inizio","CTX_MARK_WATCHED":"Segna come già visto","CTX_MARK_NON_WATCHED":"Segna come non visto","CTX_MARK_UNWATCHED":"Contrassegna come non visto","CTX_MARK_REST":"Segna fino a qui come visto","CTX_UNMARK_REST":"Segna fino a qui come non visto","CTX_RECEIVE_NEW_NOTIF":"Ricevi nuove notifiche","CTX_ENABLE_NEW_NOTIF":"Attivare le notifiche","CTX_DISABLE_NEW_NOTIF":"Disabilita le notifiche","CTX_REMOVE_CACHE":"Rimuovi dalla cache","CTX_REMOVE_CACHE_EP":"Rimuovi episodio dalla cache","CTX_OPEN_CONTAINING":"Apri cartella","CTX_REMOVE":"Rimuovi dalla libreria","CTX_AVAILABLE_OFFLINE":"Disponibile Offline","CTX_PAUSED":"In Pausa","CTX_ALWAYS_ON_TOP":"Sempre in cima","CTX_FULLSCREEN":"Schermo intero","CTX_WRONG_SUBS":"Sottotitolo sbagliato?","CTX_REPORT_ISSUES":"Segnala problema","CTX_COPY":"Copia","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Incolla","CTX_CLEAR":"Cancella","CTX_CLEAR_RECENT_SEARCHES":"Cancella ricerche recenti","HELLO_THERE":"Hey ciao","HOPE_YOU_ENJOY":"Speriamo ti piaccia Stremio e che sia già una delle tue app preferite!","WHO_ARE_WE":"Chi siamo noi? Siamo il team che sta dietro - due ragazzi che hanno lavorato duramente ogni giorno negli ultimi 3 anni, con un unico obiettivo - rendere questo prodotto migliore sempre di più.","SUPPORT_US":"Se ti piace usare Stremio e pensi possa valere qualcosa - supportaci!","SPREAD_THE_WORD":"Condividi ora con i tuoi amici, spargi la voce su Stremio","MORE_PEOPLE":"Più persone usano Stremio, più migliorerà!","SEND_A_LINK":"Oppure invia un link al nostro sito web","TIP_LOCALFILES":"Suggerimento: puoi fare drag & drop dei video file locali in Stremio","ADDON_MY":"Miei Addon","ADDON_COMMUNITY":"Comunità Addon","ADDON_OFFICIAL":"Addon Ufficiali","ADDON_REPOS":"Collezioni Addon","ADDON_SEARCH":"Cerca addon","ADDON_INSTALL":"Installa","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Disinstalla","ADDON_UPGRADE":"Aggiorna","ADDON_INSTALLED":"Installato","ADDON_INSTALLED_MSG":"Addon installato!","ADDON_UPGRADED_MSG":"Addon aggiornato!","ADDON_UNKNOWN":"Sconosciuto","ADDON_ERR":"Errore installazione Addon!","ADDON_DISCONNECTED":"Disconnesso","ADDON_APP_MISSING":"l\'app per questa fonte non è installata. Vuoi installarla ora?","ADDON_APP_INSTALL":"Installa Ora","ADDON_PAGE":"Pagina Addon","ADDON_TOP_CONTENT":"Il meglio di questo Addon","ADDON_PROVIDES":"Questo addon ti fornisce:","ADDON_WATCH":"Guarda #{types} ora!","ADDON_WATCH_FREE":"Guarda #{types} GRATIS ora!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Tipi supportati","ADDON_SUPPORTED_CATALOGS":"Cataloghi supportati","ADDON_PROVIDES_DISCOVER":"Di più #{types} in Scopri","ADDON_PROVIDES_STREAMS":"Guarda #{types}","ADDON_PROVIDES_STREAMS_FREE":"Guarda #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Sottotitoli per #{types}","ADDON_CANTDETECT":"Non siamo riusciti ad individuare alcun Stremio in esecuzione, perciò non siamo stati in grado di scoprire quali addon sono installati.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Lo streaming torrent non è supportato su questo dispositivo a causa delle regole dell\'App Store","ERR_NO_META":"Nessun informazione trovata riguardo a questo","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Errore nel recupero informazioni riguardo a questo.","ERR_CANT_PARSE_MAGNET":"Impossibile analizzare magnet","ERR_NO_MAGNET_INFOHASH":"Informazioni hash non valide per il magnet","ERR_NO_FILE_PATH":"Impossibile inviare richiesta senza percorso al file","ERR_NO_TORRENT":"Nessun torrent trovato","ERR_NO_SUPPORTERD_FILES":"Nessun file supportato trovato","ERR_OPENING_FILES":"Impossibile aprire file esterni","ERR_INVALID_LINK":"Link non valido","ERR_REGISTERED_ONLY":"Questa funzione è disponibile solo per utenti registrati.","ERR_CLIPBOARD":"Impossibile riprodurre dagli appunti","ERR_CLIPBOARD_READ":"Impossibile leggere gli appunti su questa piattaforma","ERR_CLIPBOARD_GENERIC":"Nessun URL riproducibile trovato negli appunti. Copia un URL (es. un magnet link) in un video.","BOARD_CONTINUE_WATCHING":"Continua a guardare","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Film scelti solo per te.<br />Questo film è un esempio di suggerimento.","BOARD_EXPLANATION_EPISODES":"I nuovi episodi delle tue serie tv preferite arrivano qui.<br />Aggiungi serie tv che segui alla tua Libreria.","BOARD_EXPLANATION_VIDEOS":"I nuovi episodi dei tuo canali YouTube arrivano qui.<br />Aggiungi canali che segui alla tua Libreria.","WEBSITE_ENJOYED_BY":"Goduto da oltre 30 milioni di utenti in tutto il mondo","WEBSITE_STREAMING_ENHANCED":"Lo streaming migliorato","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offre un\'esperienza di intrattenimento sicura, moderna e senza soluzione di continuità.Con la sua interfaccia facile da usare e una biblioteca di contenuti diversificati, incluso il supporto HDR 4K, gli utenti possono godere dei loro film e programmi TV preferiti su tutti i loro dispositivi. E con il suo impegno per la sicurezza, Stremio è la scelta definitiva per un\'esperienza di streaming senza preoccupazioni e di alta qualità.","WEBSITE_AVAILABLE_ON":"Disponibile su","WEBSITE_WATCH_AND_ENJOY":"Guarda e divertiti.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio lo rende semplice","WEBSITE_ALL_FEATURES":"Tutte le caratteristiche","WEBSITE_EASY_TO_USE":"Facile da usare","WEBSITE_EASY_TO_USE_DETAILS":"Stremio è progettato per essere facile da usare e facile da usare.Con la sua interfaccia pulita e intuitiva puoi facilmente navigare e trovare il contenuto che desideri guardare.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Senza soluzione di continuità tra i dispositivi","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponibile per una vasta gamma di piattaforme (incl. Windows, Mac, Linux, Android e altro), Stremio terrà traccia dei tuoi progressi su tutti i tuoi dispositivi. Basta accedere e continuare a guardare senza dover configurare di nuovo l\'app su ogni nuovo dispositivo.","WEBSITE_ALL_DOWNLOADS":"Tutti i download","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Supporto video ad alta definizione","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un lettore video integrato che supporta la maggior parte dei formati video, inclusi i contenuti HDR 4K, ti consente di goderti la massima qualità disponibile.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Libreria di contenuti diversificata","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio si integra con un gran numero di fonti video popolari, come Netflix, Amazon Prime Video, Hulu, YouTube e molti altri.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Crea un account gratis","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Esperienza di visualizzazione su misura","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio ti consente di personalizzare l\'aspetto dell\'interfaccia cambiando il tema, aggiungendo o rimuovendo i componenti componenti e altro ancora.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Supporto sottotitoli multilingue","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Ora puoi goderti tutti i contenuti preferiti nella tua lingua preferita poiché Stremio supporta i sottotitoli in tutte le lingue.","WEBSITE_ALL_STREMIO_FEATURES":"Tutte le funzionalità di Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Prova Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Sulla tua TV adesso","WEBSITE_YOU_CAN_NOW_WATCH":"Ora puoi guardare tutti i programmi TV preferiti sui tuoi dispositivi TV Android. L\'app Stremio TV ti consente di goderti una serata cinematografica con facilità.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Ora puoi guardare tutti i programmi TV preferiti sulla tua Smart TV o Android TV. Le app di Stremio TV ti consentono di goderti facilmente una serata cinematografica.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio per Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probabilmente l\'app migliore e più utile da avere nel tuo dispositivo. È una delle app che uso quotidianamente soprattutto sulla mia TV Android da molti anni ormai. Ben reso con una forte comunità che fornisce funzionalità utili. Ben fatto. Continua così.","WEBSITE_REVIEWS":"recensioni","WEBSITE_GET_STREMIO_FOR_FREE":"Scarica Stremio gratuitamente","WEBSITE_GET_STREMIO_NOW":"Ottieni Stremio adesso","WEBSITE_STREMIO_FEATURES":"Caratteristiche Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream come un professionista con le funzionalità avanzate di Stremio e goditi l\'accesso senza soluzione di continuità a tutti i tuoi media preferiti","WEBSITE_DISCOVER_MORE":"Scopri di più.","WEBSITE_DISCOVER_MORE_DETAILS":"Non finire mai le cose da guardare","WEBSITE_COMMUNITY_DRIVEN":"Guidato dalla comunità","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio ha una grande e attiva comunità di utenti che contribuiscono allo sviluppo del software creando e condividendo i componenti aggiuntivi.","WEBSITE_GET_INVOLVED":"Mettersi in gioco","WEBSITE_NEW_THEATER_EXPERIENCE":"Nuova esperienza teatrale","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"La nuova app TV dedicata di Stremio ti consente di goderti una serata cinematografica sui tuoi dispositivi TV Android.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Le nuove app TV dedicate di Stremio ti consentono di goderti una serata cinematografica sulla tua smart TV o dispositivi TV Android.","WEBSITE_FREE_AND_SECURE":"Gratuito e sicuro","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offre sicurezza e privacy senza pari per gli utenti. Con la sua caratteristica unica di eseguire i componenti aggiuntivi in remoto, Stremio fornisce un modo più sicuro per trasmettere in streaming i tuoi contenuti preferiti rispetto ad altre piattaforme. La tua sicurezza e privacy sono priorità migliori e la piattaforma garantisce che tutti i tuoi dati siano protetti.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Dì addio alle preoccupazioni sulla sicurezza e sulla privacy e saluta un mondo di intrattenimento infinito con Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informazioni fornite da","WEBSITE_CONTRIBUTE_DESC":"al progetto e aiutaci a rendere Stremio ancora migliore","WEBSITE_COMMUNITY_DESC":"Crediamo che il modo migliore per creare un\'esperienza di streaming davvero sorprendente sia coinvolgere la nostra comunità nel processo. Che tu sia un programmatore, un artista o solo un fan, potresti aiutare Stremio a crescere.","WEBSITE_COMMUNITY_DESC_2":"Quindi unisciti a noi oggi e diventa parte della comunità di Stremio e continua a modellare il futuro dello streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Modi per essere coinvolti","WEBSITE_IN_THE_STREMIO_COMMUNITY":"nella comunità di Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Condividi i tuoi pensieri","WEBSITE_REPORT_BUGS":"Segnala un errore","WEBSITE_SUGGEST_FEATURES":"suggerire caratteristiche","WEBSITE_AND_PROVIDE_FEEDBACK":"e fornire feedback sui nostri canali di social media.","WEBSITE_BETA_TESTING_PROGRAM":"Programma di Beta testing","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Partecipare al nostro programma di beta test (inviamo inviti regolarmente) nella comunità di Stremio.","WEBSITE_JOIN_NOW":"Iscriviti adesso!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunità Stremio ufficiali","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunità non ufficiali di Stremio","WEBSITE_BECOME":"Diventare","WEBSITE_A_VOLUNTEER_TRANSLATOR":"un traduttore volontario","WEBSITE_ARE_YOU_A_DEVELOPER":"Sei uno sviluppatore?","WEBSITE_CONTRIBUTE_CODE":"Potresti contribuire con il codice ai nostri progetti open source. Abbiamo diversi progetti su GitHub che cercano collaboratori. Se sei interessato ad aiutare, dai un\'occhiata:","WEBSITE_STREMIO_ON_GITHUB":"Stremio su GitHub","WEBSITE_CREATE_ADDON_DESC":"Crea un componente aggiuntivo per migliorare la funzionalità di Stremio (abbiamo un\'API di facile utilizzo):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Offriamo anche l\'opportunità di unirci a noi come sviluppatore tirocinante in modo da poter crescere insieme.","WEBSITE_APPLY_AS_AN_INTERN":"Fare domanda come stagista","WEBSITE_CALLING_ALL_ARTISTS":"Chiamiamo tutti gli artisti!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mostra la tua creatività e amore per Stremio caricando la tua fan art nella nostra galleria online. Che si tratti di un disegno, di pittura o di un design digitale, vogliamo vedere la tua interpretazione unica sul marchio Stremio. Unisciti alla nostra comunità di appassionati d\'arte e condividi il tuo lavoro con altri fan di Stremio in tutto il mondo.","WEBSITE_STREMIO_FANART_GALLERY":"Galleria FanArt di Stremio","WEBSITE_INTERN_DESIGNER":"Diventa parte del nostro team e porta la tua creatività a nuove vette con le nostre entusiasmanti opportunità di tirocinio.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Progetto di film di dominio pubblico","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"A Stremio, ci impegniamo a preservare la storia del cinema e della televisione identificando il dominio pubblico e i video orfani. Lavorando insieme alla nostra comunità, possiamo garantire che queste opere d\'arte classiche siano accessibili a tutti e protette per le generazioni future.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Sentiti libero di contattarci se desideri essere coinvolto in quel progetto.","WEBSITE_JOIN_THE_PROJECT":"Unisciti al progetto","WEBSITE_BE_PART_OF_OUR_MISSION":"Fai parte della nostra missione","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interessato a unirsi al team Stremio? Offriamo un lavoro completamente da remoto per professionisti appassionati. Dai un\'occhiata alle nostre posizioni aperte.","WEBSITE_OPEN_POSITIONS":"Posizioni aperte","WEBSITE_DESCRIPTION":"Descrizione","WEBSITE_LEARN_MORE":"Saperne di più","WEBSITE_COMPANY":"Azienda","WEBSITE_CONTACTS":"Contatti","WEBSITE_NEED_HELP":"Ho bisogno di aiuto?","WEBSITE_STREMIO_WEB_ON_IOS":"Guida per Stremio Web su iOS","WEBSITE_LINK_ART_V2":"Galleria FanArt","WEBSITE_PARTNERS":"Partner","WEBSITE_SLOGAN_WATCH":"Guarda Subito","WEBSITE_SLOGAN_ALL":"Tutti i Contenuti Video Che Ami in un Unico Posto","WEBSITE_SLOGAN_NEW":"Tutto Quello Che Puoi Vedere","WEBSITE_SLOGAN_NEW_NEW":"Libertà di Streaming","WEBSITE_WATCH_FROM":"Guarda Da","WEBSITE_DOWNLOAD":"Scarica Ora","WEBSITE_DOWNLOAD_FOR":"Scarica Ora per","WEBSITE_IS_DESKTOP":"Stremio è un\'applicazione desktop, apri questa pagina sul tuo PC e scaricala","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Caratteristiche","WEBSITE_PAGE_ADDONS":"Addon","WEBSITE_PAGE_TECH":"Tecnologia","WEBSITE_PAGE_CREATE_ADDON":"Crea Addon","WEBSITE_PAGE_CONTACTS":"Contatti","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Inserisci la nuova password desiderata di seguito.","WEBSITE_RESET_PASSWORD_WARNING":"Sei sicuro di voler reimpostare la password per ${1}?","WEBSITE_TYPE_movie":"Film","WEBSITE_TYPE_series_PL":"Serie","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Canali","WEBSITE_STREMIO_WHAT_IS":"Stremio è un\'applicazione che ti aiuta ad organizzare e instantaneamente ti permette di guardare i tuoi video, film, serie TV e canali TV preferiti.","WEBSITE_FEATURES_WATCH":"Guarda subito in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Clicca e guarda i tuoi film, serie TV, video e canali TV preferiti.","WEBSITE_FEATURES_SUBS":"Sottotitoli Automatici","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio sceglie automaticamente i sottotitoli sincronizzati per la tua lingua.","WEBSITE_FEATURES_SUBS_LABEL":"Spetta a te la mossa, capitano.","WEBSITE_FEATURES_CAST":"Riproduci sulla TV & dispositivi mobili","WEBSITE_FEATURES_CAST_DETAIL":"Trasmetti su AppleTV, Chromecast, Smart TV (DLNA/UPnP) e dispositivi mobili.","WEBSITE_LIB":"Goditi La Tua Libreria Personale Sincronizzata Su Tutti I Tuoi Dispositivi","WEBSITE_LIB_COLLECT":"Raccogli da Stremio","WEBSITE_LIB_IMPORT":"Importa da Facebook","WEBSITE_LIB_LOCAL":"Aggiungi dal tuo disco locale","WEBSITE_BOARD":"La Bacheca - Il Tuo Unico Posto per le Notifiche e i Suggerimenti","WEBSITE_BOARD_RECOMMEND":"Serie TV Suggerite","WEBSITE_BOARD_TRENDING":"Film del Momento","WEBSITE_BOARD_NEW":"Nuovi Video","WEBSITE_BOARD_EPISODE":"Nuovi Episodi","WEBSITE_BOARD_1":"Cerchi qualcosa di interessante da guardare? Ricevi suggerimenti basati sulle tue preferenze!","WEBSITE_BOARD_2":"Ricevi una notifica quando c\'è un nuovo episodio della tua serie TV preferita o canale YouTube!","WEBSITE_BOARD_YOUTUBE":"Nuovi video dai canali YouTube","WEBSITE_BOARD_EPISODES":"Nuovi episodi dalle serie che stai seguendo","WEBSITE_ADDONS":"Contenuti Addon","WEBSITE_TECH_DETAIL":"Amiamo la tecnologia, amiamo la scienza pazza!\\nStremio usa le seguenti tecnologie open source:","WEBSITE_TECH_WCJS":"WebChimera.js permette a Stremio di riprodurre ogni formato video con ottime prestazioni.","WEBSITE_TECH_WCJS_EXTRA":"Siamo i contributori del progetto principale","WEBSITE_TECH_ELECTRON":"Electron fornisce una piattaforma innovativa con la quale sviluppare Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Siamo contributori del progetto","WEBSITE_TECH_LINVODB":"Un database che assicura che i tuoi dati siano organizzati e disponibili da ovunque accedi.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnologia sviluppata in casa","WEBSITE_CREATE_ADDON":"Crea il tuo Addon","WEBSITE_CREATE_ADDON_DETAIL":"Hai un servizio che fornisce contenuti video? Ti aiuteremo a sfruttare le caratteristiche di Stremio creando il tuo Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Vantaggi nello sviluppare un Addon per Stremio","WEBSITE_P2P_BEAUTY":"La Bellezza dello Streming Peer-to-Peer","WEBSITE_P2P_1":"Video full HD / 4K on demand o dirette streaming Affidabili e Sostenibili","WEBSITE_P2P_2":"Piattaforma di distribuzione che offre una fantastica esperienza utente","WEBSITE_P2P_3":"Svilupperemo il tuo addon che va in contro alle tue esatte necessità","WEBSITE_P2P_CONTACT":"Interessato? Sei il benvenuto <a href=\'mailto:office@stremio.com\'>contattaci</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Saremo felici di aiutarti ad integrare i tuoi contenuti con Stremio!","WEBSITE_P2P":"Una volta ogni tanto, arriva una tecnologia che cambia le regole del gioco. Abbiamo investito moltissimo tempo e impegno per costruire il nostro motore di streaming video Peer-to-Peer (P2P) che offre ottime prestazioni e versatilità nel addattarsi ad ogni caso d\'uso.\\nContattaci per i video con supporto DRM P2P on demand o dirette streaming.","WEBSITE_THOUGHTS":"I pensieri che condividiamo:","WEBSITE_SPREAD":"Passa parola riguardo a Stremio:","WEBSITE_CONTACT":"Contattaci, saremo felici di ascoltarti!","WEBSITE_OPENSOURCE":"Per i nostri progetti open source , vai al nostro","WEBSITE_BITCOIN":"Dona bitcoin:","WEBSITE_FAQ":"Domande Frequenti","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Domande","WEBSITE_TOS":"Condizioni d\'uso","WEBSITE_LEGAL":"Legale","WEBSITE_PAGE_ABOUT":"Informazioni","WEBSITE_PAGE_BECOME_PARTNER":"Diventa un partner","WEBSITE_ALL_YOU_CAN_WATCH":"Libertà di Guardare\\nTutto Quello che Vuoi.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Cos\'è Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio è un unico centro di raccolta per i contenuti video. Scopri, organizza e guarda video da qualsiasi fonte su ogni tuo dispositivo.","WEBSITE_WHAT_IS_STREMIO_P2":"Film, programmi TV, serie, dirette TV o canali web come YouTube e Twitch.tv: puoi trovare tutto questo su Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio è un media center moderno che rappresenta una soluzione completa per il tuo intrattenimento video. Scopri, guarda e organizza contenuti video con addon facili da installare.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Film, programmi TV, dirette TV o canali web - trovi tutto su Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Divertiti su tutti i tuoi dispositivi multimediali","WEBSITE_DEVICES_COLLECT":"Prendi da Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importa da facebook","WEBSITE_DEVICES_LOCAL":"Aggiungi dal disco locale","WEBSITE_JOIN_THE_PARTY_NOW":"Unisciti alla festa ora","WEBSITE_DEVICES_ALL":"Facile da utilizzare su tutti i tuoi dispositivi;","WEBSITE_EXTENDABLE_CATALOG":"Catalogo video infinitamente espandibile;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Ottime funzionalità per organizzare i tuoi video;","WEBSITE_AS_SEEN_ON":"Come visto su","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Info su di Noi","WEBSITE_LINK_TECHNOLOGY":"Tecnologia","WEBSITE_LINK_APPS":"App","WEBSITE_LINK_DOWNLOADS":"Download","WEBSITE_MORE":"Di più","WEBSITE_LINK_ADDONS":"Addon","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribuisci","WEBSITE_LINK_COMMUNITY":"Comunità","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & di più","WEBSITE_LINK_HELP":"Centro assistenza","WEBSITE_LINK_CONTACTS":"Contattaci","WEBSITE_LINK_TOS":"Termini & condizioni","WEBSITE_LINK_PRAVACY":"Politica sulla riservatezza","WEBSITE_SUBSCRIBE":"Iscriviti","WEBSITE_NEWSLETTER":"Unisciti alla nostra newsletter per cose fantastiche","WEBSITE_PLACEHOLDER_EMAIL":"La Tua Email","WEBSITE_COMMUNITY":"Comunità","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legale","WEBSITE_WHY":"Perché lo facciamo","WEBSITE_WHY_P1":"Noi di Stremio, torniamo al lavoro ogni giorno perché vogliamo risolvere un importante problema dell\'industria dei video on-demand. Ci sono così tanti nuovi contenuti pubblicati ogni minuto che è praticamente impossibile orientarsi.","WEBSITE_WHY_P2":"Aiutiamo le persone a navigare nell\'enorme mondo dell\'intrattenimento video e scoprire nuovi contenuti con i quali divertirsi. Le nostre app riuniscono film, serie, dirette TV, canali web e altro ancora. Ci impegniamo a rendere molto facile per gli utenti trovare titoli ed emittenti che amano.","WEBSITE_WHY_P3":"Puoi usare il nostro servizio su qualsiasi dispositivo quando vuoi, rendendo Stremio il tuo unico centro di intrattenimento video di cui avrai mai bisogno.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"Il team di Stremio è piccolo, ma potente: tra i dieci di noi, programmiamo in X linguaggi e condividiamo competenze nello sviluppo di software, progettiamo UI e UX, marketing e pubblicità e business e startup.","WEBSITE_FEATURES":"Caratteristiche","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Scopri nuovi contenuti con facilità","WEBSITE_FEATURES_DISCOVER_P":"Scopri facilmente nuovi film, programmi TV, serie e canali da guardare. Sfoglia per categoria, genere, valutazione, attualità, ecc. oppure digita semplicemente un nome da trovare. Stremio rende la ricerca di nuovi contenuti video un gioco da ragazzi.","WEBSITE_FEATURES_ALL_CONTENT":"Tutti i tuoi contenuti video su un unico schermo","WEBSITE_FEATURES_ALL_CONTENT_P1":"Guarda quali film, serie o video non hai finito e continua a guardarli; ricevi notifiche per nuovi episodi e uscite; e sfoglia i consigli che otterrai in base alle tue abitudini di visualizzazione.","WEBSITE_FEATURES_LIBRARY":"Organizza la tua libreria video","WEBSITE_FEATURES_LIBRARY_P1":"Aggiungi qualsiasi titolo alla tua libreria Stremio con un solo clic e trova la tua strada tra i contenuti, ordinati per tipo, attualità o ordine alfabetico.","WEBSITE_FEATURES_CALENDAR":"Tieni traccia di tutto ciò che guardi","WEBSITE_FEATURES_CALENDAR_P1":"Ottieni una visualizzazione del calendario di tutti i film e le serie che aggiungi alla tua libreria. Esporta il tuo calendario Stremio e sincronizzalo in modo da sapere sempre quando è previsto un nuovo episodio o una prima visione.","WEBSITE_FEATURES_BIG_SCREEN":"Goditi i tuoi contenuti video su uno schermo più grande","WEBSITE_FEATURES_BIG_SCREEN_P1":"Trasmetti tutto ciò che stai guardando su un altro dispositivo, che si tratti di un telefono, tablet o TV con un solo clic.","WEBSITE_FEATURES_SOURCES":"Guarda video da fonti diverse","WEBSITE_FEATURES_SOURCES_P":"Installa addon ufficiali e della community per goderti video provenienti da provider diversi, il tutto in un\'unica app elegante e facile da usare.","WEBSITE_CREATE_AN_ADDON":"Crea un addon","WEBSITE_FEATURES_SYNC":"Sincronizza la tua libreria su diversi dispositivi e riprendi la tua riproduzione","WEBSITE_FEATURES_SYNC_P1":"Accedi con il tuo account su tutti i tuoi dispositivi e goditi la tua libreria, addon, riproduzioni e calendario sincronizzati.","WEBSITE_FEATURES_EXTENDABLE":"Estendi il catalogo video con gli addon","WEBSITE_FEATURES_EXTENDABLE_P1":"Il catalogo di addon di Stremio offre diversi addon da installare permettendoti di guardare una varietà di nuovi video. Include film, spettacoli, dirette TV, sport, notiziari, podcasts, canali web, videogiochi e molto altro.","WEBSITE_FEATURES_AUTO_SUBS":"Sottotitoli automatici","WEBSITE_FEATURES_AUTO_SUBS_P1":"Con i nostri addon dei sottotitoli hai automaticamente l\'opzione selezionata per la tua lingua preferita.","WEBSITE_FEATURES_CHROMECAST":"Trasmettendo verso Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Goditi i tuoi contenuti video su uno schermo più grande o semplicemente trasmetti quello che guardi su un dispositivo diverso.","WEBSITE_FEATURES_KEEP_TRACK":"Tieni traccia dei tuoi spettacoli TV e Canali Web preferiti","WEBSITE_FEATURES_KEEP_TRACK_P1":"Ottieni una visualizzazione a calendario e notifiche per i nuovi episodi delle tue serie e canali web preferiti.","WEBSITE_FEATURES_POWER_USER":"Funzionalità per utenti avanzati","WEBSITE_FEATURES_POWER_USER_P1":"Riproduci in un player esterno","WEBSITE_FEATURES_POWER_USER_P2":"Riproduci da un file torrent o link magnet","WEBSITE_FEATURES_POWER_USER_P3":"Importa nella tua libreria dagli interessi Facebook o dal disco locale","WEBSITE_ADD_ONS":"Addon","WEBSITE_ADD_ONS_P1":"Tutti i contenuti video di Stremio sono recuperati ad un sistema di addon - nessun contenuto o fornitore di contenuti è stato integrato nell\'app.","WEBSITE_ADD_ONS_P2":"Ci sono due gruppi di addon disponibili: quelli ufficiali o della comunità.","WEBSITE_ADD_ONS_P3":"Quelli ufficiali sono sviluppati e offerti da Stremio, mentre quelli della comunità sono creati dai membri della nostra community, che li offrono anche.","WEBSITE_ADDONS_OFFICIAL":"Addon ufficiali","WEBSITE_ADDONS_WATCHUB":"Guarda i tuoi film, serie e spettacoli preferiti da fornitori come iTunes, Hulu, Amazon e altri servizi.","WEBSITE_ADDONS_YOUTUBE":"Guarda i tuoi canali YouTube preferiti senza pubblicità e ricevi notifiche per le novità dei creators che segui.","WEBSITE_ADDONS_FILMON":"Guarda dirette TV, film e TV gratuitamente. 600 canali TV, 45,000 film gratis, documentari e tanto altro.","WEBSITE_ADDONS_OPENSUBTITLES":"Sottotitoli di film e TV in più lingue, migliaia di sottotitoli tradotti caricati ogni giorno.","WEBSITE_ADDONS_COMMUNITY":"Addon della comunità","WEBSITE_ADDONS_FILMON_VOD":"Guarda film quando vuoi da Filmon.tv","WEBSITE_ADDONS_TWICH":"Guarda dirette da Twitch.tv - una piattaforma di video streaming platform per il settore degli e-sports.","WEBSITE_ADDONS_VODO":"Guarda film indie senza pagare.","WEBSITE_ADDONS_NETFLIX":"Guarda film e serie Netflix.","WEBSITE_ADDONS_CREATE":"Crea un addon","WEBSITE_ADDONS_CREATE_P1":"Se lo desideri, puoi sviluppare il tuo addon. In questo modo, puoi dare a te e alla nostra comunità accesso a nuovi contenuti video, e raggiungere un nuovo pubblico mirato di milioni di utenti in giro per il mondo.","WEBSITE_ADDONS_START_CREATE":"Per iniziare, visita la pagina Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Download","WEBSITE_DOWNLOADS_P1":"Per ottimizzare le performance, ti suggeriamo di usare l\'ultima versione disponibile dell\'applicazione Stremio. Se per qualche motivo, tuttavia, ti dovesse piacere usare una versione più vecchia, puoi scaricarla da qui.","WEBSITE_DOWNLOADS_P1_SHORT":"Per prestazioni ottimali, ti consigliamo di utilizzare l\'ultima versione disponibile delle app Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio per Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio per macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio per Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio per Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio per Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio per Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio per Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio per iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio per Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio per LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio per Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio per Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio per Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio per Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Cerca Stremio nell\'App Store dei modelli Samsung TV 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Cerca Stremio nell\'App Store di modelli TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Cerca Stremio nell\'App Store del tuo dispositivo Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Scarica il servizio Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service è un\'app di accompagnamento per Stremio Web. Si consiglia di utilizzare l\'ultima versione disponibile del servizio Stremio.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service per Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service per macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service per Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service per Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Altre opzioni di download","WEBSITE_DOWNLOAD_NEW":"Nuovo!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Abbiamo rilasciato Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Abbiamo rilasciato Stremio per Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Abbiamo rilasciato Stremio per LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Abbiamo rilasciato Stremio per Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Abbiamo rilasciato Stremio per Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Abbiamo rilasciato Stremio 5 per Windows","WEBSITE_CONTRIBUTE":"Contribuisci","WEBSITE_CONTRIBUTE_P1":"La piattaforma Stremio è Open Source e puoi facilmente creare un addon per contenuti al momento non offerti.","WEBSITE_CONTRIBUTE_WHY":"Perchè dovresti creare un addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Raggiungere un nuovo pubblico per i tuoi contenuti video","WEBSITE_CONTRIBUTE_WHY_P2":"La base utenti di Stremio sta crescendo rapidamente - durante il primo anno di lancio, Stremio ha raggiunto 1 milione di utenti in giro per il mondo, e nel secondo anno questo numero è cresciuto a 2.5 milioni.","WEBSITE_CONTRIBUTE_WHY_P3":"Con il tuo addon, puoi facilmente raggiungere questo pubblico e distribuire i tuoi contenuti video a loro.","WEBSITE_CONTRIBUTE_ALL":"Guarda i tuoi film, video, serie e canali preferiti in un unico posto.","WEBSITE_CONTRIBUTE_ALL_P1":"Sei appassionato di un particolare tipo di contenuto non ancora disponibile su Stremio? Creagli un addon e goditi i tuoi video preferiti in uno dei più grandi e facili centro di intrattenimento sul mercato.","WEBSITE_CONTRIBUTE_ALL_P2":"Sopratutto, riceverai l\'infinita gratitudine di altri membri della comunità di Stremio che la pensano allo stesso modo.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetizza il tuo addon e guadagna soldi","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Una volta sviluppato un nuovo addon di Stremio, puoi facilmente monitizzarlo in diversi modi. Se lo stai considerando, sentiti libero di contattarci a ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - saremmo lieti di consultarti e consigliarti sulle opzioni di monetizzazione degli addon.","WEBSITE_CONTRIBUTE_TRANSLATE":"Diventa un traduttore volontario","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Se vuoi goderti Stremio in diverse lingue, puoi unirti alla nostra comunità di traduttori volontari. Ci aiutano ad aggiungere versioni di Stremio in molte lingue diverse.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Sei impaziente di iniziare?","WEBSITE_TRANSALTE_STREMIO":"Traduci Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunità ufficiale","WEBSITE_COMMUNITY_OFFICIALS_P1":"Diventa parte della crescita della comunità di Stremio. Seguici sui social media e non vergognarti di salutarci - amiamo ascoltare i nostri fan! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunità non-ufficiale","STREMIO_COMMUNITY_NL":"Stremio Olanda","STREMIO_COMMUNITY_BRASIL":"Stremio Brasile","STREMIO_COMMUNITY_GERMANY":"Stremio Germania","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgio","STREMIO_COMMUNITY_FRANCE":"Stremio Francia","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portogallo","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Messico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Fantastico Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partner e sostenitori","WEBSITE_COMMUNITY_GOODIES":"Stremio chicche","WEBSITE_COMMUNITY_WALLPAPERS":"Sfondi","WEBSITE_COMMUNITY_ART":"Comunità Galleria d\'arte","WEBSITE_LINK_ART":"comunità galleria d\'arte","WEBSITE_CONTACT_US":"Contattaci","WEBSITE_CONTACT_US_P1":"Se hai qualsiasi domanda, commento o suggerimento, sentiti libero di metterti in contatto con noi attraverso il modulo di contatto qui sotto.","WEBSITE_CONTACT_US_P2":"Tieni in mente che sia locati in Bulgaria quindi potrebbero esserci ritardi alle tue domande a causa del fuso orario.","WEBSITE_CONTACT_US_SUCCESS":"Il tuo messaggio è stato inviato. Ti risponderemo al più presto.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Per piacere inserisci una email valida!","WEBSITE_CONTACT_US_Q_RELATED_TO":"A cosa è collegata la tua domanda?","WEBSITE_CONTACT_US_Q_OS":"Qual\'è il tuo Sistema Operativo?","WEBSITE_CONTACT_US_PH_EMAIL":"La tua E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Messaggio","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"INVIATO","WEBSITE_CONTACT_US_Q_1":"Come si installa?","WEBSITE_CONTACT_US_Q_2":"Come si disinstalla?","WEBSITE_CONTACT_US_Q_3":"(HTML) Come si fanno le lasagne?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnologia","WEBSITE_TECHNOLOGY_P1":"Amiamo la tecnologia e la scienza folle. </br> Ecco ciò che fa girare Stremio (è tutto open-source).","WEBSITE_TECHNOLOGY_P_QT":"Sviluppo di software multi piattaforma al suo massimo splendore.","WEBSITE_TECHNOLOGY_P_MPV":"Un riproduttore multimediale gratuito, open source, e multi piattaforma.","WEBSITE_TECHNOLOGY_P_RN":"React Native ti permette di costruire applicazioni usando solo JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework è integrato nell\'applicazione per ottenere contenuti multimediali.","WEBSITE_TECHNOLOGY_P_REALM":"Realm è una piattaforma mobile e un sostituto di SQLite e Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js è un ambiente runtime per JavaScript, open-source e multi piattaforma.","WEBSITE_TECHNOLOGY_P_RUST":"Rust è un linguaggio di programmazione multi paradigma incentrato sulla sicurezza, specialmente sulla concorrenza sicura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuisci al progetto","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Ci sono due modi in cui puoi contribuire a Stremio e aiutarci a renderlo migliore.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Puoi donare le tue preziose competenze linguistiche traducendo la piattaforma...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"oppure","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... puoi sfruttare le tue capacità di scrittura del codice per creare addon per la comunità. ","WEBSITE_TRANSLATE_STREMIO":"Traduci Stremio","WEBSITE_404_OH_NO":"Uh-oh! La pagina che stavi cercando non si trova qui...","WEBSITE_GO_HOME":"Torna sulla home","WEBSITE_LINK_OTHER_DOWNLOADS":"Altri download","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Supporto","WEBSITE_DOWNLOAD_4_0_BETA":"Scarica Ora Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Ottieni per desktop","WEBSITE_LINK_ADDON_COMPETITION":"Competizione addon","WEBSITE_LINK_ART_CONTEST":"Concorso artistico","WEBSITE_MY_ACCOUNT":"Il mio account","WEBSITE_MAINPAGE_FAQ_001_H1":"Che cos\'è Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio è un moderno centro multimediale che ti offre la libertà di guardare quello che vuoi.","WEBSITE_MAINPAGE_FAQ_002_H1":"Come funziona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Una volta installato Stremio sul tuo dispositivo e creato l\'account, tutto quello che devi fare è visitare il catalogo degli addon e installare quello che vuoi, e hai fatto!","WEBSITE_MAINPAGE_FAQ_002_P2":"Dopo, puoi visitare le sezioni Scopri e Bacheca per iniziare ad esplorare i contenuti.","WEBSITE_MAINPAGE_FAQ_003_H1":"Cosa posso vedere qui?","WEBSITE_MAINPAGE_FAQ_003_P1":"Tantissime cose: Film, spettacoli TV, Canali web, Sport, Canali TV, ascoltare Podcast e altro. Grazie al nostro sistema di addon, hai accesso a una varietà di contenuti.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio è open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Si, puoi controllare i seguenti link: ${1}applicazione desktop${2} e ${3}organizzazione GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio è sicuro?","WEBSITE_MAINPAGE_FAQ_005_P1":"Si: perchè è un software open-source, il codice sorgente è di pubblica visione e puoi controllarlo personalmente.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Per quanto riguarda la mia privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"Rispettiamo la privacy degli utenti e non conserviamo nessun dato personale ad eccezione del minimo indispensabile per creare e sincronizzare il tuo account.","WEBSITE_MAINPAGE_FAQ_006_P2":"C\'è anche un accesso in ${1}Modalità ospite${2}, che non richiedere nessun dato: così, nessuna chiamata sarà fatta alla nostra infrastruttura. Tuttavia, sacrifica alcune funzionalità utili, come la sincronizzazione della tua libreria tra i diversi dispositivi.","WEBSITE_MAINPAGE_FAQ_007_H1":"Posso trasmettere sulla mia TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Si, supportiamo Chromecast e puoi trasmettere sia l\'applicazione desktop sia mobile (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Quanti addon ha Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Alla fine del 2019, più di 50 - per maggiori informazioni, controlla il nostro catalogo degli addon.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio può essere esteso oltre ciò che è nel catalogo degli addon?","WEBSITE_MAINPAGE_FAQ_009_P1":"Si, potresti controllare questi: ${1}PimpMyStremio${2}, ${3}comunità Reddit${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Che dispositivi supportano Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Abbiamo un\'applicazione desktop per Windows, Mac e Linux. Per mobile, supportiamo Android e iOS, tuttavia iOS ha funzionalità limitate (non supporta la maggior parte degli addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"Ci sono diversi dispositivi basati su Android che supportano Stremio, come NVIDIA Shield e Amazon Fire Stick, ma non li supportiamo ufficialmente.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Potete aggiungere dei contenuti su Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Scusaci, non offriamo noi stessi i contenuti, ma più addon Stremio installi, più contenuti potrai trovare.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio può riprodurre link magnet?","WEBSITE_MAINPAGE_FAQ_012_P1":"Si, e può riprodurre normali link HTTP e file torrent (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Posso scaricare un video e vederlo offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"La funzionalità offline è una notività in arrivo, ma se permetti a Stremio di salvare sulla cache del tuo dispositivo (dalle impostazioni) puoi guardare i video più tardi senza bisogno di connessione.","WEBSITE_MAINPAGE_FAQ_014_H1":"Non funziona niente, aiutatemi!","WEBSITE_MAINPAGE_FAQ_014_P1":"Sei sicuro di aver installato gli addon? Se si, confrontati con il nostro ${1}centro assistenza${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"In che modo Stremio sostiene le sue operazioni di sviluppo?","WEBSITE_MAINPAGE_FAQ_015_P1":"Pubblichiamo occasionalmente annunci non intrusivi, ma stiamo valutando la possibilità di passare a un modello di donazione.","WEBSITE_MAINPAGE_FAQ_015_P2":"Per altre domande, vai al nostro ${1}centro assistenza${2}.","HELP_LEARN_MORE":"Aiutaci a conoscerti meglio.","LIFESTYLE":"Stile di vita","SPORTS":"Sport","FOOD_HEALTH":"Cibo & salute","BEAUTY_FASHION":"Moda & bellezza","NEWS":"Notizie","GAMING":"Giochi","SCIENCE_EDUCATION":"Scienze & istruzione","MUSIC":"Musica","TRAVEL":"Viaggi","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Commedie","DIY":"Fai-da-te","TECH":"Tecnologia","CINEMA":"Cinema","CONTINUE":"Continua","SLOW_LOADING":"CARICAMENTO LENTO?","I_GIVE_UP":"RINUNCIO","LEARN_MORE":"Per saperne di più","POOR_SOURCE":"Questa fonte è scarsamente disponibile o la tua connessione Internet non è abbastanza veloce","PICK_CATEGORIES_ERR":"Devi scegliere almeno 3 categorie","ADJUST_TIMING":"Regola il tempo con ","ADJUST_SIZE":"Regola le dimensioni con ","SEARCH_ANYTHING":"Puoi cercare qualsiasi cosa...","ALL_CATEGORIES":"Tutte","SEARCH_CATEGORIES":"Film, Serie, YouTube & TV","SEARCH_PERSONS":"Attori, Registi & Scrittori","SEARCH_PROTOCOLS":"Link HTTP & Magnet","SEARCH_TYPES":"Link IMDB / TVDB","WATCHED":"Visti","SHOW_LESS":"Mostra meno","LAST_SEARCHES":"Ultime ricerche","CLEAR_HISTORY":"Pulisci cronologia","CHOOSE_SOME":"SCEGLI TRA QUESTI:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Impossibile caricare Telecomando Web","STREMIO_OFFLINE":"Stremio è offline","STREMIO_EXPENSIVE_CONNECTION":"Abbiamo notato che stai usando i dati mobile per connetterti, vuoi continuare?","USE_DATA":"Usa dati","WARNING":"Attenzione","MORE_INFO":"Più informazioni...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Caricamento...","STREMIO_TV_BACK_TO_LANGUAGES":"Torna alle lingue","STREMIO_TV_REMOTE":"Telecomando","STREMIO_TV_GO_TO":"Vai a:","STREMIO_TV_OR_SCAN":"o scansiona:","STREMIO_TV_ADDON_INSTRUCTIONS":"Per favore segui le istruzioni per installare i tuoi addon preferiti.","STREMIO_TV_LIVE_TV":"Diretta TV","STREMIO_TV_RESUME_WATCHING":"Riprendi a Guardare","STREMIO_TV_LOADING_BACKGROUND":"Caricamento Sfondo","STREMIO_TV_CHECKING_AUTHENTICATION":"Controllo Autenticazione","STREMIO_TV_LOADING_BOARD":"Caricamento Bacheca","STREMIO_TV_LOGIN_HEADER_LINE_1":"Vogliamo che i nostri utenti abbiano la migliore esperienza personalizzata possibile con il nostro software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"È per questo motivo che ti chiediamo gentilmente di creare e/o accedere al tuo account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Grazie per la comprensione,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Il Team Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Per utilizzare il Telecomando Web con il tuo Smartphone / Tablet / Computer:","STREMIO_TV_WIFI_SETUP":"Configurazione Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle non ha rilevato una connessione Internet.","STREMIO_TV_WIFI_DETAILS_1":"Connetti a:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Usa password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Apri un browser web con il link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Per ultimo visto","STREMIO_TV_LIBRARY_SORT_NAME":"Per nome","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Per nome discendente","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Per minuti visti","STREMIO_TV_LIBRARY_SORT_WATCHED":"Per visti","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Per non visti","STREMIO_TV_DETAILS_SEASON_NUMBER":"Stagione ${1}","STREMIO_TV_STREAMS_LOADING":"Caricati gli addon ${1} / ${2}...","STREMIO_TV_STREAMS_STILL_LOADING":"L\'addon ${1} è in caricamento...","STREMIO_TV_PLAYER_SETTINGS":"Impostazione del player","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Ritardo sottotitoli","STREMIO_TV_PLAYER_AUDIO_DELAY":"Ritardo audio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Adattamento video","STREMIO_TV_PLAYER_CHAPTERS":"Capitoli","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Salta ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Sorgente flusso non supportata","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Apertura link esterno fallita","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Non regolabile in modalità passthrough audio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Riproduci con ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Riproduci con libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Passaggio a libVLC a causa di un errore di riproduzione","STREMIO_TV_ADDONS_TITLE":"Usa Stremio sul tuo Telefono o PC per installare o configurare addon e premi \\"Sincronizza Addon\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: sii sicuro di utilizzare lo stesso profilo Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizza Addon","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addon sincronizzati con successo","STREMIO_TV_ADDONS_SYNC_FAILED":"Sincronizzazione addon fallita","STREMIO_TV_META_LINK_FAILED":"Apertura meta link fallita","STREMIO_TV_CATALOG_LOADING":"Catalogo in caricamento...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interfaccia lingua aggiornata","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema aggiornato","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Player di Default","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Player Esterno","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Lingua predefinita","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Lingua secondaria predefinita","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Riproduzione con tunnel","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possibili problemi di riproduzione su alcuni dispositivi","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Alcuni formati video possono non funzionare","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Corrispondenza del frame rate","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabilitata","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Solo frame rate","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame rate e risoluzione","STREMIO_TV_SETTINGS_NO_CACHING":"Caching Disattivo","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Veloce","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Veloce","STREMIO_TV_SETTINGS_SERVER_URL":"Url streaming del server","STREMIO_TV_SETTINGS_SERVER_VERSION":"versione Server","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Sconosciuto","STREMIO_TV_SETTINGS_STREMIO_VERSION":"versione Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Modifica url del server","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Inserisci un url streaming del server","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostra statistiche durante il caricamento","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Per leggere le Privacy Policy di Stremio, visita:","STREMIO_TV_SETTINGS_TOS_TEXT":"Per leggere i Termini e Condizioni di Stremio, visita:","STREMIO_TV_NAV_SEARCH":"Cerca","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Scopri","STREMIO_TV_NAV_LIBRARY":"Libreria","STREMIO_TV_NAV_MOVIES":"Film","STREMIO_TV_NAV_SERIES":"Serie","STREMIO_TV_NAV_CHANNELS":"Canali","STREMIO_TV_NAV_TV":"Dirette TV","STREMIO_TV_NAV_SETTINGS":"Impostazioni","STREMIO_TV_NAV_ADDONS":"Addon","STREMIO_TV_LOGIN_TITLE":"Collega Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Scade tra","STREMIO_TV_LOGIN_STEP_ONE":"Scansione il QR Code sotto oppure va a","STREMIO_TV_LOGIN_STEP_TWO":"Accedi al tuo account Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Richiedi un nuovo collegamento","STREMIO_TV_LOGIN_LINK_REFRESHED":"Codice di accesso aggiornato","STREMIO_TV_SEARCH_PLACEHOLDER":"Scrivi qualcosa","STREMIO_TV_SEARCH_NO_ADDONS":"Non sono stati richiesti addon per i cataloghi!","STREMIO_TV_SEARCH_BUTTON":"Cerca","STREMIO_TV_SEARCH_KEY_DEL":"Canc","STREMIO_TV_SEARCH_KEY_SPACE":"Spazio","STREMIO_TV_SEARCH_KEY_CLEAR":"Pulisci","STREMIO_TV_SEARCH_HISTORY_TITLE":"Cerca nella Cronologia","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Puoi cercare per Titolo, Attori, Canali e altro...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Pulisci la Cronologia Cerca","STREMIO_TV_FILTERS_DESCRIPTION":"Scegli uno dei filtri qui sotto","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Il server streaming è offline. Controlla le impostazioni del server.","FILTERS":"Filtri","SETTINGS":"Impostazioni","ACCOUNT":"Profilo","LOGOUT":"Disconnetti","THEMES":"Temi","PLAYBACK":"Riproduzione","PLAYBACK_SPEED":"Velocità riproduzione","AUDIO_TRACKS":"Tracce audio","UNKNOWN_TRACK_LANG":"Sconosciuta","VIDEOS":"Video","SERVER":"Server","LINKS":"Collegamenti","ABOUT":"Informazioni","INTERFACE":"Interfaccia","ANIMATIONS":"Animazioni","STATUS":"Stato","LANGUAGE":"Lingua","SIZE":"Dimensione","DELAY":"Ritardo","BOLD":"Grassetto","OPACITY":"Opacità","TEXT_COLOR":"Colore Testo","OUTLINE_COLOR":"Colore Bordi","BACKGROUND_COLOR":"Colore Sfondo","BACKGROUND_BLUR":"Sfocatura Sfondo","SEEK_TIME_DURATION":"Durata Tempo di Ricerca","AUTO_PLAY":"Auto-Play Prossimo Episodio","PLAY_NOW":"Riproduci Ora","MARK_AS_WATCHED":"Segna come già visto","MARK_AS_UNWATCHED":"Marca come non visto","REWIND_TO_BEGINNING":"Ricomincia dall\'Inizio","CONTINUE_WATCHING":"Continua a guardare","ALL":"Tutto","SECONDS":"secondi","ON":"ACCESO","OFF":"SPENTO","RELOAD":"Ricarica","EDIT_URL":"Modifica URL","URL":"URL","NONE":"Niente","EMBEDDED":"Integrato","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Cambia dispositivo","REMOTE_VIDEOS":"Video","REMOTE_ADJUST_TIMING":"Regola tempi","REMOTE_ADJUST_SIZE":"Regola dimensioni","REMOTE_COULD_NOT_BE_LOADED":"Non è stato possibile caricare Telecomando Web","REMOTE_RETRY":"Riprova","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Veloce","TORRENT_PROFILE_ULTRA_FAST":"Ultra Veloce","MB_S":"MB/s","FAQ_001_H1":"Cos\'è Stremio?","FAQ_001_P1":"Stremio è un software per media center progettato per l\'intrattenimento video pensando alla facilità d\'uso. Stremio ti consente di organizzare & guardare la tua raccolta di film, serie, canali e dirette TV.","FAQ_001_P2":"Stremio raccoglie i contenuti che ti mostra dal tuo disco locale e dal nostro sistema di addon.","FAQ_001_P3":"Ti notifica anche quando un nuovo episodio/video/film/ che ti interessa è uscito, e ti suggerisce i film raccomandati per te.","FAQ_02_H1":"Come si confronta Stremio rispetto a Kodi e Plex?","FAQ_02_P1":"Noi abbiamo preso ispirazione da questi due software. Ma abbiamo obiettivi diversi - Stremio è specificamente mirato ai video di intrattenimento, e si impegna a diventare la soluzione principale essendo molto facile da usare.","FAQ_02_P2":"Stremio non sarà mai così personalizzabile e ricco di funzionalità come Kodi e Plex, ma è molto più facile da usare. Solo ${1} prendi e vedi ${2} :)","FAQ_03_H1":"Come si confronta Stremio rispetto a Netflix?","FAQ_03_P1":"Come prima, Netflix è una delle nostre ispirazioni. Ci sforziamo di ottenere l\'esperienza utente di Netflix, oltre a molte chicche aggiuntive. Ma soprattutto, ti stiamo dando la libertà di gestire la tua libreria e aggiungere nuove fonti di contenuto con il nostro sistema di addon.","FAQ_03_P2":"Ciò rende Stremio infinitamente estendibile, quindi quando usi Stremio, non sarai mai limitato come il contenuto che Netflix decide di concedere in licenza. Per esempio, da Stremio puoi vedere contenuti da ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} e anche ${9}Netflix${10} stesso!","FAQ_04_H1":"Come si confronta Stremio rispetto a Flipboard?","FAQ_04_P1":"Non riceviamo questa domanda così spesso, tranne quando parliamo con le persone di start-up :)","FAQ_04_P2":"Stremio è progettato come aggregatore di contenuti, che lo rende effettivamente un Flipboard per i video. Questo è molto evidente nella nostra sezione Bacheca, che ti mostra cataloghi e le notifiche di nuovi video/nuovi episodi per quello che segui, proprio come Flipboard.","FAQ_05_H1":"Come si confronta Stremio rispetto a Popcorn Time?","FAQ_05_P1":"Stremio e Popcorn Time hanno un\'interfaccia simile, perché non ci sono molti modi per fare bene i cataloghi di intrattenimento video :)","FAQ_05_P2":"Ma mentre Popcorn Time è incentrato sulla riproduzione torrent da specifiche sorgenti, Stremio non ha restrizioni ed è semplicemente un aggregatore di contenuti - non è bloccato in una specifica sorgente.","FAQ_05_P3":"Inoltre, non offriamo nessun addon di tipo torrent ufficiale, quindi Stremio non copre l\'esperienza d\'uso di Popcorn Time con funzionalità ufficiali.","FAQ_05_P4":"Un\'altra differenza è che Popcorn Time è completamente open source, mentre Stremio è ${1} parzialmente open source${2}.","FAQ_06_H1":"Aggiungerete questo film/serie TV?","FAQ_06_P1":"No, ci dispiace :(","FAQ_06_P2":"Come riportato nelle altre domande, Stremio non offre perfonalmente contenuti - tutto è aggiunto grazie al sistema di addon. Nel caso dovessi avere una richiesta per un contenuto, puoi usare il tasto “Report” nel Riproduttore, che manderà una email all\'autore dell\'addon che stai attualmente utilizzando.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Creerete addon per X?","FAQ_08_P1":"È assolutamente possibile.","FAQ_08_P2":"Se hai un\'idea per un addon, scrivi una riga a ${1}office@stremio.com${2}, ma assicurati che la tua idea per l\'addon non infranga nessun copyrights o condizione d\'uso.","FAQ_08_P3":"Al momento, le prossime integrazioni sulla nostra tabella di marcia sono addon per FandangoNOW, Filmon.tv video on demand e Crunchyroll.","FAQ_09_H1":"Stremio usa BitTorrent?","FAQ_09_P1":"Sì, Stremio supporta BitTorrent come protocollo di riproduzione. Puoi usarlo sia con un addon per torrent, oppure trascinando un file .torrent su Stremio, oppure incollando un magnet link nella barra di ricerca.","FAQ_09_P2":"Attenzione, da notare che l\'unico addon che usa BitTorrent è ${1}Vodo${2}, il quale fornisce contenuti indie, tutti autorizzati per essere distibuiti su BitTorrent.","FAQ_09_P3":"Noi non supportiamo l\'uso di un qualsiasi addon di terze parti che permetta l\'infrangimento del copyright.","FAQ_10_H1":"Cosa posso guardare su Stremio con gli addon ufficiali?","FAQ_10_P1":"Di default, puoi guardare contenuti di Filmon.tv, YouTube e Vodo. In aggiunta, abbiamo addon per Twitch.tv e pochi altri.","FAQ_10_P2":"Questa combinazione fornisce una selezione di:","FAQ_10_L1":"Canali TV popolari, offerti da Filmon.tv - per esempio E4, BBC, Bollyworld TV","FAQ_10_L2":"Qualsiasi cosa da YouTube - per esempio BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Film indie con Vodo","FAQ_10_L4":"Trasmissioni di Gaming Online con Twitch.tv","FAQ_10_P3":"In più, ci sono molte fonti di contenuto fornite con gli addon di Guidebox e Netflix, che <b>non</b> riproducono internamente a Stremio, ma potrebbero rimandarvi a un dato servizio. Per esempio, l\'addon di Guidebox potrebbe darvi una selezione di film che si possono guardare gratis negli USA, da servizi come TubiTV e Crackle.","FAQ_11_H1":"Stremio non si installa, cosa devo fare?","FAQ_11_P1":"Se usi Windows, prova ${1}queste alternative${2}.","FAQ_11_P2":"Se usi Mac OS X, sii consapevole che non supportiamo nessuna versione precedente a OS X Mavericks (10.9).","FAQ_11_P3":"Se usi Linux, sii consapevole che supportiamo solo Linux 64 bit (x64) per il momento.","FAQ_11_P4":"Se non riesci a risolvere il tuo problema, scrivici al nostro ${1} gruppo Facebook${2}.","FAQ_12_H1":"Perché scatta il mio antivirus? Stremio è sicuro?","FAQ_12_P1":"Assicuriamo che Stremio è ${1}sicuro al 100%${2}.","FAQ_12_P2":"Il tuo antivirus scatta perchè nel nostro programma è integrata la pubblicità, che viene riconosciuta da alcuni antivirus come pericolo.","FAQ_12_P3":"Se non sei ancora sicuro, puoi provare ad installare una ${1}di queste alternative${2}.","FAQ_13_H1":"Come posso creare il mio addon?","FAQ_13_P1":"Per i principianti, suggeriamo di controllare su GitHub il nostro ${1}modulo di sistemi di addon${2}.","FAQ_13_P2":"Dopo, potete seguire la guida ${1}Hello World${2}.","FAQ_13_P3":"Se non hai idea di come programmare, condividi la tua idea sulla ${1}comunità Reddit${2} e contattaci a ${3}office@stremio.com${4} con la tua idea di addon.","FAQ_14_H1":"Come sono pubblicati gli addon?","FAQ_14_P1":"Quando crei un addon e lo offri, ed inserisci un campo <b>endpoint</b> nel tuo manifesto, che punta ad un indirizzo di un addon funzionante, l\'addon sarà automaticamente pubblicato sul nostro ${1}Catalogo Addon${2}.","FAQ_14_P2":"Questo succede perchè la parte server del modulo stremio-addons chiama automaticamente la nostra API per notificare l\'addon. Quando la nostra API valida il tuo <b>endpoint</b> come addon valido, inizierà ad essere mostrato nel catalogo.","FAQ_15_H1":"Posso lanciare Stremio nel mio browser?","FAQ_15_P1":"Non ancora per il momento, ma arriverà!","FAQ_15_P2":"Se sei curioso di vedere una versione Alpha, puoi vederla qui: ${1}alpha4.strem.io${2}. Ricordati che lo streaming è disabilitato su questa versione. Suportiamo Chrome, Firefox, Opera e Edge.","FAQ_16_H1":"La trasmissione su TV non funziona / i sottotitoli non funzionano","FAQ_16_P1":"La trasmissione su TV usa la tecnologia DLNA che è molto inconsistente tra i diversi marchi e modelli di TV. Per questo motivo, non possiamo testare ogni caso, quindi è lontana dalla perfezione. Nonostante ciò, stiamo lavorando per migliorarla costantemente ma non possiamo darti una stima di quando DLNA inizierà a funzionare correttamente con la tua TV.","FAQ_16_P2":"Se non vedi nemmeno la tua TV nel menu della Trasmissione, prova a disattivare la connessione di rete e riattivarla (su Windows, click destro su Rete e usa Abilita/Disabilita), oltre a riavviare il router, la TV e il PC.","FAQ_16_P3":"Se stai riscontrando ancora problemi, puoi aiutarci inviandoci le informazioni sulla marca e sul modello del televisore all\'indirizzo ${1}office@stremio.com${2}.","FAQ_16_P4":"Nel frattempo, ti consigliamo Chromecast, che supportiamo molto bene, o semplicemente collegando la TV al PC con un cavo HDMI.","FAQ_17_H1":"Stremio si blocca e/o crasha, cosa posso fare?","FAQ_17_P1":"Prima di tutto, se utilizzi Windows 7 con l\'antivirus AVG: abbiamo un problema con quella combinazione. Il problema è in AVG stesso e non esiste un modo ragionevole per risolverlo da parte nostra. Sfortunatamente, le eccezioni o la disattivazione dell\'antivirus non funzioneranno. L\'unica soluzione è sostituire AVG con qualcos\'altro.","FAQ_17_P2":"Se non è questo il problema, ma stai ancora utilizzando Windows, esegui l\'aggiornamento all\'ultimo service pack e aggiorna/reinstalla i driver della GPU, quindi riprova.","FAQ_17_P3":"Se il tuo problema non è ancora risolto, o stai usando un Mac o Linux, scrivici segnalando i dettagli esatti del problema sul ${1}nostro gruppo Facebook${2}.","FAQ_18_H1":"Come posso creare il mio addon?","FAQ_18_P1":"Per i principianti, suggeriamo di controllare su GitHub il nostro ${1}modulo di sistemi di addon${2}.","FAQ_18_P2":"Dopo, potete seguire la guida ${1}Hello World${2}.","FAQ_18_P3":"Se non hai idea di come programmare, condividi la tua idea sulla ${1}comunità Reddit${2} e contattaci a ${3}office@stremio.com${4} con la tua idea di addon.","FAQ_19_H1":"Perchè Stremio occupa spazio sul disco?","FAQ_19_P1":"Stremio ha una <b>cache locale</b> per conservare temporaneamente i file video della tua riproduzione.","FAQ_19_P2":"Questo ha due benefici: primo, permette a Stremio di anticipare il caricamento del video in modo da garantire una riproduzione più fluida. Secondo, mantiene i video nella cache locale in modo da poter continuare a guardarli offline.","FAQ_19_P3":"Quanta memoria prende Stremio dipende dalle impostazioni di <b>Cache</b> impostate nel pannello Impostazioni. Stremio può mantenere la quantità impostata (ad es. 2 GB) sul tuo disco, a meno che il video attualmente in streaming non sia più grande, in qual caso deve allocare spazio di archiviazione sufficiente per conservarlo fino a quando non lo riproduci in streaming.","FAQ_20_H1":"Dov\'è la cartella di cache?","FAQ_20_P1":"Su Windows, è stremio-cache nell\'unità che hai scelto in Impostazioni (es. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Su MacOS, è \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Su Linux, è \\"~/.stremio/stremio-cache\\" oppure \\"~/stremio-cache\\"","FAQ_21_H1":"Ricevo l\'errore \\"Server di riproduzione non trovato\\", cosa posso fare?","FAQ_21_P1":"Se ricevi questo errore, significa una delle poche cose:","FAQ_21_P2":"1) Stai tentando di utilizzare un addon supportato dalla sorgente YouTube/BitTorrent, dalla nostra ${1}versione web${2}. In questo caso, devi installare la nostra versione desktop dal ${3}nostro sito web${4}.","FAQ_21_P3":"2) C\'è qualcosa che non va con l\'installazione di Stremio. In questo caso, prova a reinstallare la nostra ultima versione desktop dal ${1}sito web${2}. Se non aiuta, prova a disabilitare l\'antivirus e firewall, riavviando il tuo PC e provando di nuovo. Se anche questo non aiuta, scrivici sul ${3}nostro gruppo Facebook${4}.","FAQ_22_H1":"Non posso vedere/usare parecchi addon su iOS","FAQ_22_P1":"A causa delle restrizioni nei termini e condizioni dell\'Apple App Store, abbiamo delle restrizioni sull\'applicazione per iOS solo per un particolare gruppo di addon.","FAQ_22_P2":"Ma stai tranquillo - ci saranno molti altri addon per iOS in futuro, e potremmo anche aggiungere un\'integrazione che ti consentirà di utilizzare tutti gli addon di Stremio grazie alla connessione dell\'app iOS allo Stremio Streaming Server."}')},4336:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"映画","TYPE_series":"シリーズ","TYPE_tv":"テレビチャンネル","TYPE_channel":"チャンネル","TYPE_other":"その他","TYPE_movie_PL":"映画","TYPE_series_PL":"シリーズ","TYPE_tv_PL":"テレビチャンネル","TYPE_channel_PL":"チャンネル","TYPE_other_PL":"その他","TYPE_ALL":"すべて","TYPE":"タイプ","CATALOG_com_linvo_cinemeta_top":"人気","CATALOG_com_linvo_cinemeta_imdbRating":"注目","CATALOG_com_linvo_cinemeta_year":"新着","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"パブリックドメイン映画","VIDEO":"ビデオ","BACK":"戻る","MORE":"もっと見る","DONE":"完了","COPY":"コピー","SUCCESS":"成功","ERROR":"エラー","SETTINGS_CASTING_MODE_PICKER":"キャスティングモード","CASTING_MODE_HLSV2":"デフォルト","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"トランスコーディングなし","Discover":"探す","Board":"ボード","Library":"ライブラリ","My Library":"マイライブラリ","Calendar":"カレンダー","NOTIFICATION_ONLINE":"オンラインです","NOTIFICATION_OFFLINE":"現在オフラインです","INTERNET_CONNECTION":"ネットワーク接続","STORAGE_FULL_TITLE":"警告:ストレージがいっぱいです!","STORAGE_FULL_TEXT":"Stremioは設定、プリファレンス、ログイン情報を保存できません。Stremioの再起動または再インストールを検討してください。","SEARCH":"検索","SEARCH_NO_RESULTS":"結果が見つかりませんでした","SEARCH_EXPLANATION_CONTENT":"映画、シリーズ、YouTube、テレビチャンネルを検索","SEARCH_EXPLANATION_PEOPLE":"俳優、監督、脚本家を検索","SEARCH_PASTE_LINKS":"HTTPとMagnetのリンクを貼り付け","SEARCH_OR_PASTE_LINK":"検索またはリンクを貼り付け","SEARCH_SUGGESTIONS":"検索候補","ADD_TO_LIB":"ライブラリに追加","REMOVE_FROM_LIB":"ライブラリから削除","ADDED_TO_LIB":"ライブラリに追加されました","REMOVED_FROM_LIB":"ライブラリから削除されました","TRAILER":"予告編","WATCH_TRAILER":"予告編を見る","WATCH_NOW":"今すぐ見る","SHOW":"表示","SHOW_MOVIE":"映画を表示","WATCH_RANDOM":"ランダムに視聴","IMDB_RATING":"IMDb評価","YEAR":"年","DIRECTOR":"監督","WRITER":"脚本家","LEAD_ACTORS":"主演俳優","CAST":"キャスト","CREW":"クルー","SHOW_MORE_CAST":"もっと見る »","AIRED":"放送","SEASONS":"シーズン","GENRE":"ジャンル","GENRE_ALL":"すべてのジャンル","CATALOG":"カタログ","SUMMARY":"概要","SHOW_MORE":"もっと見る","SIMILAR":"類似","UPCOMING":"今後の予定","TBA":"TBA","ENDED":"終了","DURATION":"期間","FEATURED":"注目","METADATA":"メタデータ","CATEGORY":"カテゴリ","LINKS_GENRES":"ジャンル","LINKS_CAST":"キャスト","LINKS_DIRECTORS":"監督","SEARCH_VIDEOS":"動画を検索","SEARCH_PLACEHOLDER":"検索またはURLを貼り付け","ADDON":"アドオン","ADDONS":"アドオン","OFFICIAL":"公式","ADDONS_OFFICIAL":"公式のStremioアドオン","ADDONS_POPULAR":"あなたの地域で人気","ADDON_FREE":"無料","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"サブスクリプション","ADDON_STREAM_GEORESTRICTED":"お住まいの地域では利用できません","ADDON_STREAM_OFFLINECACHE":"オフラインキャッシュ","ADDON_STREAM_LOCALFILE":"ローカルファイル","SHARE_ADDON":"アドオンを共有","AVAILABLE_STREAMS":"利用可能なストリーム","NO_STREAM":"ストリームが見つかりませんでした","ALL_ADDONS":"すべて","INSTALL_MORE_ADDONS":"より多くのストリームを利用するために、より多くのアドオンをインストールしてください","STREAM_NOT_SUPPORTED":"選択したストリームはこのプラットフォームではサポートされていません。","ADDON_CATALOGUE":"すべてのアドオンを表示 »","ADDON_CATALOGUE_MORE":"アドオンをインストール","REPO_ADDED":"リポジトリが追加されました","ADDON_REPO_EXIST_ERR":"このアドオンのコレクションはすでに存在します","ADDON_REPO_ERR":"コレクションの追加中にエラーが発生しました","ADDON_ADD_ERR":"アドオンの追加中にエラーが発生しました","ERR_ADDON_PROTECTED":"アドオンをアンインストールできません、これは保護されています","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"何か問題が発生しました - 認証が失敗した可能性があります","ERR_NOT_COLLECTION_URL":"コレクションのURLではありません","ERR_NOT_ADDON_URL":"有効なアドオンのURLではありません","ERR_DETECTFROMURL":"このURLからアドオン/コレクションを見つけることができません","ADDON_DUPLICATE_WARNING":"警告: 重複したアドオンです","ADDON_COLLECTION_SET_FAILED":"インストールしたアドオンをあなたのアカウントに同期することができませんでした","SETTINGS_DATA_EXPORT":"ユーザーデータをエクスポート","ADDON_PULL_FAILED":"あなたのアカウントからインストールしたアドオンを同期することができませんでした","REFRESH_ON_CLICK":"クリックして再試行","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"映画はまだ劇場で上映中です","WATCH_IN_CINEMA":"あなたの地元の映画館で観る","IN_THEATER":"劇場で","GET_TICKETS":"チケットを取る","UPCOMING_EPISODE":"今後のエピソード","UPCOMING_EPISODE_MESSAGE":"このエピソードは次の日に放送されます","MISSING_DATE_EPISODE":"エピソードの日付がありません","MISSING_DATE_EPISODE_MESSAGE":"このエピソードはまだ放送されていない可能性があります","CHANNEL_NOT_SCRAPED":"このチャンネルはまだスクレイプされていません。<br>数分後にもう一度お越しください。","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"利用可能になったら通知を受けるために、ライブラリに追加してください。","GET_NOTIFIED_WHEN_AVAILABLE":"利用可能になったら通知を受け取ります。","WARNING_STREAMING_SERVER":"警告: ローカルストリーミングサーバーが見つかりません。ローカルファイル、YouTube、BitTorrentからのストリーミングは利用できません。","WARNING_STREAMING_SERVER_DISMISS":"閉じる","WARNING_STREAMING_SERVER_LATER":"後で","DECODER_WARNING":"警告: この動画はお使いのハードウェアではサポートされていない可能性があります。再生が遅くなる可能性がありますのでご注意ください。","GENERIC_ERROR_MESSAGE":"何か問題が発生しました!","TRY_AGAIN":"再試行","CLEAR_DATA":"データをクリア","PLAYER_ERROR":"プレーヤーエラーです","PLAYER_ERROR_LOOKSLIKE":"どうやら","PLAYER_ORIENTATION":"プレーヤーの向き","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"ロック","PLAYER_ORIENTATION_SENSOR_SHORT":"センサー","PLAYER_ORIENTATION_LANDSCAPE":"プレーヤーの向きは横向きにロックされています","PLAYER_ORIENTATION_SENSOR":"プレーヤーの向きは自動です(センサー)","PLAYER_PLAYBACK_SPEED":"再生速度","PLAYER_PLAYBACK_ERROR":"再生エラー、もう一度試してください","PLAYER_PLAYBACK_ERROR_UNKNOWN":"不明なエラー","PLAYER_PLAYBACK_ERROR_DEFAULT":"申し訳ありませんが、この動画は{{productName}}で再生できません。","PLAYER_SUBTITLES_LANGUAGES":"字幕の言語","PLAYER_SUBTITLES_VARIANTS":"字幕の種類","PLAYER_SUBTITLES_SETTINGS":"字幕の設定","PLAYER_SUBTITLES_DISABLED":"字幕は無効化されています","PLAYER_SUBTITLES_VERTICAL_POSIITON":"垂直位置","PLAYER_SUBTITLES_LOADED":"字幕が読み込まれました","PLAYER_SUBTITLES_LOADED_EMBEDDED":"埋め込まれた字幕が読み込まれました","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"独占的な字幕が読み込まれました","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"{{origin}}からの字幕が読み込まれました","PLAYER_PLAY":"再生","PLAYER_PAUSE":"一時停止","PLAYER_NEXT_VIDEO":"次の動画","PLAYER_MUTE":"ミュート","PLAYER_UNMUTE":"ミュート解除","PLAYER_OPEN_IN_EXTERNAL":"外部プレーヤーで開く","PLAYER_OPEN_IN_NPLAYER":"nPlayerで開く","PLAYER_PLAY_IN":"{{device}}で再生","PLAYER_LIVE":"ライブ","PLAYER_NEXT_VIDEO_TITLE":"次に放送予定の","PLAYER_NEXT_VIDEO_TITLE_SHORT":"次へ","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"閉じる","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"今すぐ見る","PLAYER_COPY_STREAM_SUCCESS":"ストリームのリンクがクリップボードにコピーされました","PLAYER_COPY_STREAM_ERROR":"ストリームのリンクのコピーに失敗しました","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"ダウンロードリンクがクリップボードにコピーされました","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"ダウンロードリンクのコピーに失敗しました","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"ストリーミング元","CASTING_TO":"キャスト先","NETWORK_STATUS":"ネットワーク状態","STREAM_SPEED":"ストリーム速度:","STREAM_BUFFERED":"バッファ済み:","PEERS_INFO":"ピア情報","PEERS_ACTIVE":"アクティブ:","PEERS_CONNECTED":"接続済み:","PEERS_WAITING":"待機中:","TRANSCODING_WARNING":"警告: 動画を転送しています。","STREAM_LOADING":"読み込み中...","PLAYING_LOCAL":"ローカルファイルから再生中","PLAYING_CACHE":"キャッシュから再生中","WRONG_SUBS":"字幕が間違っていますか?","ERR_SUBS_LOADING_TITLE":"字幕の読み込みエラー","ERR_SUBS_LOADING":"字幕の読み込みに失敗しました: 使用中のアドオン、またはネットワーク接続に問題がある可能性があります","WARN_FOLLOWING_SUB_ADDONS_FAILED":"次の字幕アドオンが失敗しました","ERR_CASTING_UPDATE_TITLE":"キャストデバイス情報を更新できませんでした: ストリーミングサーバーがオフラインである可能性があります","CHOOSE_DEVICE":"視聴するデバイスを選択","NO_CAST_DEVICES":"利用可能なキャスティングデバイスがありません。","NO_SETTINGS":"利用可能な設定がありません。","NO_OPTIONS":"No options available","PHONE_TABLET":"電話 / タブレット","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"字幕","SUBTITLES_CHANGE":"字幕を変更 ","SUBTITLES_CHANGE_NONE":"申し訳ありませんが、この言語の他の字幕はありません。","SUBTITLES_CHANGE_ACIVE":"現在、字幕#{{subtitlesDialog.activeIdx + 1}}が有効化されています。\\"続行\\"をクリックして字幕#{{subtitlesDialog.pickedIdx + 1}}を有効化します。","SUBTITLES_OR":"または、","SUBTITLES_ADJUST_DELAY":"字幕の遅延を調整:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"再生中に<span>G</span> / <span>H</span>キーを使用して調整することもできます。","SUBTITLES_ADJUST_DELAY_TIP":"TIP: 再生中に<span>G</span> / <span>H</span>キーを使用して調整できます。","SUBTITLES_DELAY":"字幕の遅延:","SUBTITLES_LOADING":"字幕を読み込んでいます...","SUBTITLES_UNAVAILABLE":"利用可能な外部字幕はありません","SUBTITLES_DISABLED":"無効化","EXTERNAL_PLAYER_DISABLED":"無効化","EXTERNAL_PLAYER_ALLOW_CHOOSING":"選択を許可","EXTERNAL_PLAYER_HINT":"ヒント: 常に外部プレーヤーで開くことができる設定があります","DONT_SHOW_AGAIN":"再度表示しない","SERVICE_INSTALL":"インストール","AUDIO":"オーディオ","DEFAULT_LANGUAGE":"デフォルトの言語","DEFAULT_SECONDARY_LANGUAGE":"デフォルトの第二言語","SEASON":"シーズン","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"エピソード","EPISODE_ABBREVIATION":"エピソード","SPECIAL":"スペシャル","SORT":"並び替え","SORT_BY":"並び順","FILTER":"フィルター","SORT_TRENDING":"トレンド","SORT_RECENT":"最新","SORT_ALPHABET":"アルファベット順","SORT_ALPHABET_REVERSE":"アルファベット逆順","SORT_RATING":"評価","SORT_WATCHED":"視聴済み","SORT_YEAR":"年","SELECT":"Select","SELECT_TYPE":"タイプを選択","SELECT_SORT":"並び替えを選択","SELECT_CATALOG":"カタログを選択","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"ジャンルを選択","SORT_LASTWATCHED":"最後に視聴した順","SORT_NAME":"アルファベット順","SORT_NAMEREVERSE":"アルファベット逆順(z-a)","SORT_TIMESWATCHED":"視聴回数が多い順","SORT_NOTWATCHED":"視聴していません","New for You":"あなたのための新着","New Episodes":"新着エピソード","New Videos":"新着ビデオ","Recommendations":"おすすめ","LIBRARY_RESUME":"再開","LIBRARY_PLAY":"再生","LIBRARY_DETAILS":"詳細","LIBRARY_RESUME_DISMISS":"閉じる","LIBRARY_CLEAR_PROGRESS":"進行状況をクリア","LIBRARY_REMOVE":"削除","LIBRARY_NOT_LOGGED_IN":"ライブラリはログインしたユーザーのみ利用可能です","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"カレンダーはログインしたユーザーのみ利用可能です","NOT_LOGGED_IN_CLOUD":"いつでもどこでもお気に入りの映画やテレビ番組にアクセスできます","NOT_LOGGED_IN_RECOMMENDATIONS":"視聴履歴に基づいたおすすめ","NOT_LOGGED_IN_NOTIFICATIONS":"二度とエピソードを見逃すことはありません","NOT_LOGGED_IN_CALENDAR":"視聴カレンダーをスケジュールしましょう","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"注目","DISCOVER_TOP":"トップ","DISCOVER_OSCAR":"オスカー受賞","DISCOVER_WARNING_TITLE":"おっと!","DISCOVER_EMPTY_CATALOG":"このアドオンは空のコンテンツを返しました。","DISCOVER_ADULT_WARNING":"このコンテンツは18歳以上のみが閲覧可能です。あなたは18歳以上ですか?","DISCOVER_NOADDON_WARNING":"警告: このタイプに対して有効なStremioアドオンがありません。保存されたアイテムを表示しますが、ここでは何も更新されません。","DISCOVER_LOAD_ERR":"コンテンツがロードされませんでした、エラーが発生しました。","DISCOVER_ADDON_UNINSTALLED":"このコンテンツはもう利用できません、アドオンをアンインストールした可能性があります。","UNINSTALL_THIS_ADDON":"このアドオンをアンインストール","ERR_ADDON_NOT_INSTALLED":"このアドオンはインストールされていません。今すぐインストールしますか?","DETAIL_RECEIVE_NOTIF_SERIES":"新エピソードの通知を受け取る","DETAIL_RECEIVE_NOTIF_VIDEOS":"新ビデオの通知を受け取る","SIDEBAR_SHOW_STREAMS":"ストリームを表示","RELAUNCH":"今すぐ再起動!","UPGRADE":"新バージョンが利用可能です!最新のStremioバージョンにアップグレード","RELOAD_UI":"ユーザーインターフェースをリロード","MANUAL_UPDATE_TITLE":"Stremioバージョンを更新","MANUAL_UPDATE_LINE1":"あなたは古いバージョンのStremioを使用していますが、これは非常にお勧めできません。","MANUAL_UPDATE_LINE2":"できるだけ早く更新してください。","BUTTON_UPDATE_LATTER":"今はしない","BUTTON_UPDATE_NOW":"更新","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"匿名ユーザー","DONT_HAVE_ACC":"アカウントをお持ちでないですか?","HAVE_ACC":"すでにアカウントをお持ちですか?","PASSWORD":"パスワード","PASSWORD_CONFIRM":"パスワードの確認","EMAIL":"Eメール","FB_LOGIN":"Facebookで続行","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"あなたの許可なしに何も共有されません","FB_NOPOST":"私たちはあなたに代わって何も投稿しません","OR":"または","I_ACCEPT":"私は以下を受け入れます","I_ACCEPT_BY_CLICKING":"上記のボタンをクリックすることで、私は以下を受け入れることを証明します ","TOS":"利用規約","MUST_ACCEPT_TERMS":"利用規約を受け入れる必要があります","PASSWORDS_NOMATCH":"パスワードが一致しません","SIGN_UP":"サインアップ","SIGN_UP_EMAIL":"メールでサインアップ","CLICK_TO_SIGN_UP":"ここをクリックしてサインアップします。","LOG_IN":"ログイン","LOG_OUT":"ログアウト","EXIT_FULLSCREEN":"全画面モードを終了","ENTER_FULLSCREEN":"全画面モードに入る","PLAY_URL_MAGNET_LINK":"URL/マグネットリンクを再生","HELP_FEEDBACK":"ヘルプ&フィードバック","TERMS_OF_SERVICE":"利用規約","PRIVACY_POLICY":"プライバシーポリシー","ABOUT_STREMIO":"Stremioについて","USER_PANEL":"ユーザーパネル","LOGIN_LABEL":"ログイン","GUEST_LOGIN":"ゲストログイン","GUEST_LOGIN_NOTICE":"ゲストログインはお勧めできません。通常のログインを使用すると、Stremioがあなたのライブラリを同期し、お気に入りのシリーズ/チャンネルの通知を受け取ることができます。本当に進行しますか?","GUEST_LOGIN_NOTICE_2":"ゲストログインはお勧めできません - 同期されたライブラリとボード通知がなく、これらはStremioの重要な機能です。本当に進行しますか?","CLICK_HERE":"ここをクリック","WRONG_PASSWORD":"メールアドレスまたはパスワードが間違っています。パスワードを忘れた場合は、","SET_A_PASS":"パスワードを設定","RESET_PASSWORD":"パスワードをリセット","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"パスワードをお忘れですか?","EMAIL_USED_WITH_FB":"このメールアドレスはFacebookログインで使用されました。","INVALID_EMAIL":"有効なメールアドレスを入力してください","INVALID_PASSWORD":"有効なパスワードを入力してください","CONN_ERR":"接続エラー - 後でもう一度お試しください。\\n\\nこの問題が解決しない場合は、ファイアウォール/ウイルス対策ソフト(特にBitdefender)を無効にしてください。","IMPORT_FROM_GUEST":"ゲストアカウントからライブラリをインポート","RECEIVE_UPDATES_EMAIL":"Stremioからの更新をメールで受け取る","LOGIN_FAILED":"ログインに失敗しました。","SIGNUP_FAILED":"サインアップに失敗しました。","SEARCH_FAILED":"検索に失敗しました","EMAIL_USED":"このメールアドレスはすでに使用されています。","WAITING_FB_LOGIN":"Facebookでログイン中...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"外部プレーヤーで再生","EXTERNAL_REMEMBER_PLAYER":"あなたの選択を記憶しますか","EXTERNAL_ALWAYS_PLAY":"はい","EXTERNAL_ONLY_ONCE":"いいえ","BEST_FIT":"最適フィット","FIT_SCREEN":"画面に合わせる","FILL":"塗りつぶす","16:9":"16:9","4:3":"4:3","Original":"オリジナル","INTRO_TASTE":"あなたの好みについて教えてください","INTRO_TASTE_LONG":"あなたが見たいものについて教えてください","INTRO_TASTE_PICK":"{{interestsRemaining}}つの興味を選んでください","INTRO_TASTE_PICK_MORE":"さらに{{interestsRemaining}}つの興味を選んでください","INTRO_TASTE_HELP_US":"あなたについてもっと学びましょう。","INTRO_TASTE_CHOOSE_THESE":"これらの中から選んでください: ","INTRO_TASTE_CHOOSE_MIN":"少なくとも3つのカテゴリーを選んでください","INTRO_TASTE_CHOOSE_MIN_ERR":"少なくとも3つのカテゴリーを選ばなければなりません!","INTRO_TASTE_LIFESTYLE":"ライフスタイル","INTRO_TASTE_SPORTS":"スポーツ","INTRO_TASTE_FOOD_HEALTH":"食事&健康","INTRO_TASTE_BEAUTY_FASHION":"美容&ファッション","INTRO_TASTE_NEWS":"ニュース","INTRO_TASTE_GAMING":"ゲーム","INTRO_TASTE_SCIENCE_EDU":"科学&教育","INTRO_TASTE_MUSIC":"音楽","INTRO_TASTE_TRAVEL":"旅行","INTRO_TASTE_LATE_NIGHT":"深夜のショー","INTRO_TASTE_REALITY":"リアリティ","INTRO_TASTE_COMEDY":"コメディ","INTRO_TASTE_DIY":"DIYの方法","INTRO_TASTE_TECH":"テクノロジー","INTRO_TASTE_CINEMA":"映画","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"選択したアドオンはこのプラットフォームではサポートされていません。","ADDON_DISCLAIMER":"サードパーティのアドオンを使用することは、常にあなたの責任と、あなたが所在する管轄区域の法律に従うことになります。","ADDON_ACTIVATE":"このアドオンを有効にしますか?","ADDON_REPO_ADD":"アドオンコレクションのURL","ADDON_ADD":"追加","INSTALL_ADDON":"アドオンをインストール","ADD_ADDON":"アドオンを追加","ADD_ADDON_DESCRIPTION":"外部リンクからアドオンを追加することができます。それはインストール済みのアドオンの下に表示されます。","PASTE_ADDON_URL":"アドオンのURLを貼り付け","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"新着情報","BUTTON_CONTINUE":"続ける","BUTTON_ACTIVATE":"有効化","BUTTON_ACTIVATED":"有効化済み","BUTTON_CANCEL":"キャンセル","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"送信","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"すべて閉じる","BUTTON_VIEW_ALL":"すべて表示","BUTTON_SEE_ALL":"すべて見る","BUTTON_COLOR_TRANSPARENT":"透明","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"ブラウザで開く","LIB_EMPTY":"あなたのライブラリは空っぽのようです。その有用性を見つけてみてください :)","HOW_START":"ここから始める方法: ","LIB_EMPTY_CAL":"あなたのカレンダーはライブラリのシリーズを表示します。","HOW_START_CAL":"シリーズを追加する方法: ","LIB_EMPTY_BOARD":"ボードは、あなたのライブラリに関連する通知と推奨事項を表示します。","HOW_START_BOARD_WAIT":"ライブラリにいくつかのシリーズやチャンネルを追加して、私たちが処理するのに数分お待ちください :)","HOW_START_BOARD":"シリーズと映画を追加する方法:","IMPORT_FB":"<span>Facebook</span>から好きなものをインポート","IMPORT_TRAKT":"<span>Trakt</span>からあなたのメディアライブラリをインポート","IMPORT_DISCOVER":"<span>Discover</span>から面白いものを見つける","IMPORT_DISK":"あなたの<span>ローカルディスク</span>にある映画や番組をインポート","PLEASE_CREATE_ACC":"ライブラリの同期とボードを有効にするために<u>アカウントを作成</u>してください。","IMPORT_DISCOVER_SIGNUP":"サインアップして<span>Discover</span>から面白いものを見つける","IMPORT_DISK_SIGNUP":"サインアップして、あなたの<span>ローカルディスク</span>にある映画や番組をインポートしましょう","LIB_EMPTY_CLOUD":"クラウドライブラリ","LIB_EMPTY_CLOUD_DESC":"すべてのデバイスで同期された個人のクラウドライブラリ","LIB_EMPTY_EARLY":"さっそく見てみましょう","LIB_EMPTY_EARLY_DESC":"新エピソードの通知を受け取る","LIB_EMPTY_PERSONAL":"パーソナル","LIB_EMPTY_PERSONAL_DESC":"パーソナルな推奨事項を取得","LIB_EMPTY_CALENDAR_DESC":"個人の視聴カレンダーをスケジュール","LIB_EMPTY_ALL":"これらのすべてを取得するにはサインアップしてください:","LIB_EMPTY_BEST":"Stremioを最大限に活用するためにサインアップしましょう","LIB_EMPTY_OTHER":"カレンダーと他のクールな機能を有効にするためにサインアップしましょう","CALENDAR_ADDED":"Stremioのカレンダーがあなたのデフォルトのデスクトップカレンダーに追加されました。","CALENDAR_ADDED_MSG":"これが機能しない場合は、手動でこのURLをカレンダーアプリケーションに追加してください","TRAKT_EXPIRED":"Traktの認証が期限切れです、設定に移動して再認証してください","TRAKT_REQUIRES_LOGIN":"Traktエラー","TRAKT_REQUIRES_LOGIN_MSG":"ログインが必要です","TRAKT_IMPORT_WATCHED":"インポート","THEME":"テーマ","THEME_DEFAULT":"デフォルト","THEME_ADAPTIVE":"自動","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"設定","SETTINGS_NAV_GENERAL":"一般","SETTINGS_NAV_PLAYER":"プレーヤー","SETTINGS_NAV_STREAMING":"ストリーミング","SETTINGS_NAV_SHORTCUTS":"ショートカット","SETTINGS_SHORTCUT_RELOAD_APP":"アプリを再読み込み","SETTINGS_SHORTCUT_OPEN_SETTINGS":"設定を開く","SETTINGS_SHORTCUT_SWITCH_TABS":"タブを切り替える","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"タブを順に切り替える","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"タブを逆順に切り替える","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"メニュー間を移動する","SETTINGS_SHORTCUT_GO_TO_SEARCH":"検索に移動する","SETTINGS_SHORTCUT_EXIT_BACK":"終了 / 戻る","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"再生速度メニューを切り替える","SETTINGS_SHORTCUT_MENU_VIDEOS":"ビデオメニューを切り替える","SETTINGS_SHORTCUT_MENU_SUBTITLES":"字幕メニューを切り替える","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"情報メニューを切り替える","SETTINGS_SHORTCUT_FULLSCREEN":"全画面表示を切り替える","SETTINGS_SHORTCUT_SHOW_CONTROLS":"コントロールを表示","SETTINGS_SHORTCUT_PLAY_PAUSE":"再生 / 一時停止","SETTINGS_SHORTCUT_VOLUME_UP":"音量を上げる","SETTINGS_SHORTCUT_VOLUME_DOWN":"音量を下げる","SETTINGS_SHORTCUT_SEEK_NEXT":"次を探す","SETTINGS_SHORTCUT_SEEK_PREV":"前を探す","SETTINGS_SHORTCUT_SEEK_BACKWARD":"後方に探す","SETTINGS_SHORTCUT_SEEK_FORWARD":"前方に探す","SETTINGS_SHORTCUT_PLAY_NEXT":"次を再生する","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"字幕サイズを大きくする","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"字幕サイズを小さくする","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"字幕の遅延を増やす","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"字幕の遅延を減らす","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"サイドバーを切り替える","SETTINGS_SHORTCUT_OR":"または","SETTINGS_SHORTCUT_TO":"へ","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"スペース","SETTINGS_SHORTCUT_SHIFT":"シフト","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"認証","SETTINGS_FACEBOOK_IMPORT":"インポート","SETTINGS_CALENDAR_SUBSCRIBE":"購読する","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"カレンダーアプリが開かれました。手動でカレンダーを登録してください。","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"カレンダーファイルがダウンロードされました。カレンダーアプリにインポートしてください。","SETTINGS_INTERFACE_LANGUAGE":"インターフェースの言語","SETTINGS_LAUNCH_STARTUP":"起動時に起動する","SETTINGS_VLC_DEFAULT":"VLCで再生する","SETTINGS_UI_LANGUAGE":"UIの言語","SETTINGS_UI_ZOOM":"インターフェースのズーム","SETTINGS_FULLSCREEN_EXIT":"エスケープキーで全画面表示を終了する","SETTINGS_GAMEPAD":"ゲームパッドのサポートを有効化","SETTINGS_CLOSE_WINDOW":"ウィンドウを閉じるときにアプリを閉じる","SETTINGS_SUBTITLES_LANGUAGE":"デフォルトの字幕言語","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"デフォルトの字幕サイズ","SETTINGS_SUBTITLES_BACKGROUND":"字幕の背景","SETTINGS_SUBTITLES_COLOR":"字幕の色","SETTINGS_SUBTITLES_COLOR_OUTLINE":"字幕のアウトラインの色","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"字幕の背景色","SETTINGS_SEEK_KEY":"矢印キーで探す時間","SETTINGS_SEEK_KEY_SHIFT":"シフトキーを押しながら矢印キーで探す時間","SETTINGS_REWIND_FAST_FORWARD_DURATION":"巻き戻しと早送りの時間","SETTINGS_BINGE":"次のエピソードを自動再生する","SETTINGS_NEXT_VIDEO":"次のエピソードを開始する通知を表示する","SETTINGS_NEXT_VIDEO_TRIGGER":"次のエピソードの通知を表示する:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"次のビデオのポップアップの時間","SETTINGS_PLAY_IN_BACKGROUND":"バックグラウンドで再生する","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"外部プレーヤーで再生する","SETTINGS_RESIZE":"再生前にウィンドウのサイズを自動調整する","SETTINGS_OVERRIDE_SERVER":"ストリーミングサーバーのURLを上書き(上級者向け)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"ストリーミングサーバーのURL: ","SETTINGS_SERVER_AVAILABLE":"ストリーミングサーバーは利用可能です。","SETTINGS_SERVER_UNAVAILABLE":"ストリーミングサーバーは利用できません。","SETTINGS_SERVER_STATUS_ONLINE":"オンライン","SETTINGS_SERVER_STATUS_ERROR":"エラー","SETTINGS_SERVER_CONFIGURE_TITLE":"ストリーミングサーバーのURLを設定","SETTINGS_SERVER_CONFIGURE_INPUT":"ストリーミングサーバーのURLを入力","SETTINGS_SERVER_CACHE_SIZE":"キャッシュサイズ","SETTINGS_SERVER_TORRENT_PROFILE":"トレントプロファイル","SETTINGS_HTTPS_ENDPOINT":"ストリーミングHTTPSエンドポイント: ","SETTINGS_TRANSCODE_PROFILE":"トランスコードプロファイル","SETTINGS_USE_BETA":"常に最新のベータ版を使用","SETTINGS_IMPORT_FB":"Facebookからインポート","SETTINGS_IMPORT_DISK":"ローカルディスクからインポート","SETTINGS_IMPORT_TRAKT":"Traktからインポート","SETTINGS_PAUSE_MINIMIZED":"最小化したときに再生を一時停止","SETTINGS_HWDEC":"ハードウェアアクセラレーションデコード","SETTINGS_BACKGROUND":"バックグラウンド再生","SETTINGS_SUBSCRIBE_CALENDAR":"カレンダーに登録","SETTINGS_REQ_EXPORT":"データのエクスポートを要求","SETTINGS_ACC_DELETE":"アカウントの削除を要求","SETTINGS_CHANGE_PASSWORD":"パスワードを変更","SETTINGS_TOS":"利用規約","SETTINGS_SUPPORT":"サポートに連絡","SETTING_LANGUAGE":"言語","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Trakt.tvからログアウト","SETTINGS_TRAKT_LOGOUT_2":"Traktからログアウト","SETTINGS_SCAN_FOR_REMOTE":"QRコードをスキャンしてリモートで開く","SETTINGS_DESKTOP_NOTIFICATIONS":"デスクトップ通知","SETTINGS_DATA_SAVER":"データ節約","SETTINGS_LANGUAGE_INTERFACE":"インターフェース","SETTINGS_LANGUAGE_SUBS":"デフォルトの字幕","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"オーディオトラックを自動選択する","SETTINGS_DEFAULT_AUDIO_TRACK":"デフォルトのオーディオトラック","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"サラウンドサウンド","SETTINGS_ACCOUNT":"アカウント","SETTINGS_PLATFORM":"プラットフォーム","SETTINGS_VERSION":"バージョン","SETTINGS_ABOUT":"情報","SETTINGS_MPV_WINDOW":"プレーヤーを別のウィンドウで起動する(高度)","SETTINGS_PLAY_IN_EXTERNAL":"常に外部プレーヤーで再生開始","SETTINGS_STORAGE_BUTTON":"ローカルストレージをクリアする","SETTINGS_STORAGE_MODAL_TITLE":"本当によろしいですか?","SETTINGS_STORAGE_MODAL_MESSAGE":"これにより、ローカルストレージがクリアされ、ログアウトされます。","SETTINGS_HWDEC_PICKER":"ハードウェアアクセラレーションデコード設定を選択する","SETTINGS_HW_AUTOMATIC":"自動","SETTINGS_HW_DISABLED":"無効","SETTINGS_HW_ACCELERATED":"デコード加速","SETTINGS_HW_FULL":"全加速","SETTINGS_HW_LEGACY":"従来","SETTINGS_DISABLED":"無効","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"ネットワーク接続の通知","SETTINGS_ANALYTICS":"アナリティクスを許可","SETTINGS_REMOTE_URL":"リモートURL","SETTINGS_COPY_REMOTE_URL":"リモートURLをコピー","SETTINGS_REMOTE_URL_COPIED":"リモートURLがクリップボードにコピーされました","SETTINGS_SECTION_SUBTITLES":"字幕","SETTINGS_SECTION_AUDIO":"オーディオ","SETTINGS_SECTION_CONTROLS":"コントロール","SETTINGS_SECTION_AUTO_PLAY":"自動再生","SETTINGS_SECTION_ADVANCED":"高度","SUBSPICKER_AUDIO":"オーディオ","SUBSPICKER_SUBTITLES":"アドオン字幕","SUBSPICKER_BLACK_BACKGROUND":"黒の背景色を使用","SUBSPICKER_VERTICAL_OFFSET":"垂直オフセット","SUBSPICKER_SIZE":"サイズ","SUBSPICKER_DELAY":"遅延","SUBSPICKER_EMBEDDED_SUBS":"埋め込み字幕","MOBILE_PRIVACY_POLICY":"プライバシーポリシー","MOBILE_CRASH_REPORTING":"クラッシュレポート","MOBILE_ZOOM_TO_FILL":"画面に合わせてズーム","MOBILE_PASSTHROUGH":"デジタルオーディオ出力(パススルー)","MOBILE_RUN_LOW_BATTERY":"バッテリー残量が少ない時に実行","MOBILE_RUN_FOREGROUND":"フォアグラウンドサービスとして実行","MOBILE_PERFORMANCE":"パフォーマンスと安定性","MOBILE_SERVER_ONLINE":"オンライン","MOBILE_SERVER_OFFLINE":"オフライン","MOBILE_QR_EXPIRES":"QRコードの有効期限は ","MOBILE_LOG_INTO":"Stremioアカウントにログイン","MOBILE_SCAN_QR":"上記のQRコードをスキャンするか、 ","MOBILE_LINK_ACCOUNT":"アカウントをリンクする","MOBILE_SPEEDPICKER_CANCEL":"キャンセル","MOBILE_SPEEDPICKER_LABEL":"再生速度を選択する","MOBILE_EMPTY_LIBRARY":"ライブラリは空です","MOBILE_NO_ADDON_ACTIVE":"このタイプのStremioアドオンはアクティブではありません。","MOBILE_ORGANIZER_WARNING":"Stremio Organizerアプリは機能が限定されています。再生可能なストリームのリストと完全なStremio体験については、デスクトップのStremioを使用してください。","MOBILE_ADDON_LOADING":"はまだ読み込み中です","MOBILE_ADDONS_LOADING":"アドオンはまだ読み込み中です","MOBILE_ADDON":"アドオン","MOBILE_CONFIGURE_ADDON":"アドオンを設定する","MOBILE_CONFIGURE_ADDON_LABEL":"アドオンを設定する","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizerアプリは限定的なアドオンの選択を提供します。完全なStremio体験については、デスクトップのStremioを使用してください。","MOBILE_DISCONNECT":"切断する","MOBILE_LOOKING_FOR_DEVICES":"デバイスを探しています...","MOBILE_CAST_TO":"にキャストする","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"アカウントを削除する","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"法的義務により、アカウントの削除は即時ではありません。アカウントの削除を要求した後、将来新しいStremioアカウントを作成するためには、異なるメールアドレス/ Facebookプロファイルを使用する必要があります。","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"アカウントの削除を確認","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"あなたのアカウントはFacebookを使用して作成されました。アカウントを削除するには、www.stremio.com/loginのユーザーポータルをご利用ください。","MOBILE_DELETE_ACCOUNT_MESSAGE":"アカウントの削除を確認するためにパスワードを入力してください。","MOBILE_DELETE_ACCOUNT_BUTTON":"アカウントを削除する","NAVIGATION_ON":"オン","NAVIGATION_OFF":"オフ","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Stremioからのマーケティングコミュニケーションを受け取ることに同意します","QUIT":"終了","CONNECTED":"接続済み","AUTHENTICATE":"認証","AUTHENTICATING":"Authenticating...","CACHING":"キャッシング","SETTINGS_CACHING_DRIVE":"キャッシュドライブ","ENABLE_LOCAL_FILES_ADDON":"ローカルファイルアドオンを有効にする(再起動が必要)","LOCAL_ADDON_NOT_ENABLED":"ローカルアドオンが有効になっていません。ここをクリックして設定に移動し、有効にしてください","ENABLE_REMOTE_HTTPS_CONN":"リモートHTTPS接続を有効化","TORRENT_PROFILE":"Torrentプロファイル","DATA_CACHING":"データキャッシュ","MAGNET_PARSING":"マグネットリンクの解析","January":"1月","February":"2月","March":"3月","April":"4月","May":"5月","June":"6月","July":"7月","August":"8月","September":"9月","October":"10月","November":"11月","December":"12月","Monday":"月曜日","Tuesday":"火曜日","Wednesday":"水曜日","Thursday":"木曜日","Friday":"金曜日","Saturday":"土曜日","Sunday":"日曜日","Action":"アクション","Comedy":"コメディ","War":"戦争","Family":"家族","Animation":"アニメーション","Adventure":"冒険","Fantasy":"ファンタジー","Crime":"犯罪","Mystery":"ミステリー","Romance":"ロマンス","Drama":"ドラマ","Horror":"ホラー","Thriller":"スリラー","Sci-Fi":"SF","Music":"音楽","Biography":"伝記","Documentary":"ドキュメンタリー","Sport":"スポーツ","Musical":"ミュージカル","Western":"西部劇","Film-Noir":"フィルム・ノワール","News":"ニュース","History":"歴史","Game-Show":"ゲームショー","Reality-TV":"リアリティTV","Talk-Show":"トークショー","Film & Entertainment":"映画&エンターテイメント","Gaming":"ゲーム","From TV":"テレビから","Lifestyle":"ライフスタイル","Science & Education":"科学&教育","Cooking & Health":"料理&健康","Beauty & Fashion":"美容&ファッション","Sports":"スポーツ","News & Politics":"ニュース&政治","How-to & DIY":"ハウツー&DIY","Tech":"テクノロジー","Automotive":"自動車","Causes & Non-Profits":"原因&非営利","Movies":"映画","Uk Live Tv":"イギリスのライブテレビ","Fashion":"ファッション","Business News Radio":"ビジネスニュースラジオ","Business Tv":"ビジネステレビ","Cars & Auto":"車&自動車","Comedy Radio":"コメディラジオ","Lifestyle Radio":"ライフスタイルラジオ","News Tv":"ニューステレビ","Food And Wine":"食べ物とワイン","Latino Tv":"ラティーノテレビ","Shopping Tv":"ショッピングテレビ","Religion":"宗教","Kids":"子供","Body & Soul":"ボディ&ソウル","Education":"教育","Indian Tv":"インドのテレビ","Extreme Sports":"エクストリームスポーツ","Middle Eastern Tv":"中東のテレビ","Celebrity Tv":"セレブリティテレビ","Science Tv":"科学テレビ","Bikini babe":"ビキニの女性","Outdoors":"アウトドア","German Tv":"ドイツのテレビ","French Tv":"フランスのテレビ","Italian Tv":"イタリアのテレビ","Gamer Tv":"ゲーマーテレビ","Travel":"旅行","Asian Tv":"アジアのテレビ","Entertainment":"エンターテイメント","News Radio":"ニュースラジオ","Music Radio":"音楽ラジオ","Language Learning":"言語学習","Science Radio":"科学ラジオ","Tech Radio":"テクノロジーラジオ","Science & Technology Vod":"科学と技術のビデオオンデマンド","new video":"新しい動画","new episode":"新しいエピソード","new movie":"新しい映画","recommended":"おすすめ","we recommend":"私たちはおすすめします","offer of the day":"本日のオファー","news":"ニュース","music video":"音楽ビデオ","CTX_SHOW_HOTKEYS":"ホットキーを表示","CTX_DISMISS_NOTIF":"通知を消去","CTX_DISMISS_ALL":"すべて消す","CTX_SHARE":"共有","CTX_COPY_SHARE_LINK":"共有リンクをコピー","CTX_COPY_MAGNET_LINK":"マグネットリンクをコピー","CTX_COPY_STREAM_LINK":"ストリームリンクをコピー","CTX_COPY_VIDEO_DOWNLOAD_LINK":"動画のダウンロードリンクをコピー","CTX_DOWNLOAD_VIDEO":"このビデオをダウンロード","CTX_DOWNLOAD_SUBS":"字幕をダウンロード","CTX_VIEW_ON_YOUTUBE":"YouTubeで見る","CTX_SHOW":"表示","CTX_PLAY":"再生","CTX_PLAY_IN":"で再生","CTX_PLAY_ON":"で再生","CTX_WATCH_ON":"で視聴","CTX_WATCH":"視聴","CTX_WATCHED":"視聴済み","CTX_WATCH_BEGINNING":"最初から視聴","CTX_WATCH_MOBILE":"モバイルデバイスで視聴","CTX_REWIND":"最初に巻き戻す","CTX_MARK_WATCHED":"視聴済みにする","CTX_MARK_NON_WATCHED":"未視聴にする","CTX_MARK_UNWATCHED":"未視聴にする","CTX_MARK_REST":"残りを視聴済みにする","CTX_UNMARK_REST":"残りを未視聴にする","CTX_RECEIVE_NEW_NOTIF":"新しい通知を受け取る","CTX_ENABLE_NEW_NOTIF":"通知を有効にする","CTX_DISABLE_NEW_NOTIF":"通知を無効にする","CTX_REMOVE_CACHE":"キャッシュから削除","CTX_REMOVE_CACHE_EP":"エピソードをキャッシュから削除","CTX_OPEN_CONTAINING":"含むフォルダを開く","CTX_REMOVE":"ライブラリから削除","CTX_AVAILABLE_OFFLINE":"オフラインで利用可能","CTX_PAUSED":"一時停止","CTX_ALWAYS_ON_TOP":"常に最前面","CTX_FULLSCREEN":"全画面","CTX_WRONG_SUBS":"字幕が間違っていますか?","CTX_REPORT_ISSUES":"問題を報告","CTX_COPY":"コピー","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"貼り付け","CTX_CLEAR":"クリア","CTX_CLEAR_RECENT_SEARCHES":"最近の検索をクリア","HELLO_THERE":"こんにちは","HOPE_YOU_ENJOY":"Stremioを楽しんでいただけて、すでにお気に入りのアプリの一つになっていることを願っています!","WHO_ARE_WE":"私たちは誰でしょうか?私たちはそれを背後に持つチームです - 過去3年間、毎日一生懸命働いて、この製品をより良くするために。","SUPPORT_US":"Stremioを楽しんでいるなら、Stremioがあなたにとって価値があるなら - 広めてください!","SPREAD_THE_WORD":"今すぐ友達と共有し、Stremioについて広めてください","MORE_PEOPLE":"Stremioを使う人が増えれば増えるほど、それはより良くなります!","SEND_A_LINK":"または、私たちのウェブサイトへのリンクを送信します","TIP_LOCALFILES":"ヒント: ローカルのビデオファイルをStremioにドラッグ&ドロップできます","ADDON_MY":"自分のアドオン","ADDON_COMMUNITY":"コミュニティアドオン","ADDON_OFFICIAL":"公式アドオン","ADDON_REPOS":"アドオンコレクション","ADDON_SEARCH":"アドオンを検索","ADDON_INSTALL":"インストール","ADDON_CONFIGURE":"設定","ADDON_UNINSTALL":"アンインストール","ADDON_UPGRADE":"更新","ADDON_INSTALLED":"インストール済み","ADDON_INSTALLED_MSG":"アドオンがインストールされました!","ADDON_UPGRADED_MSG":"アドオンが更新されました!","ADDON_UNKNOWN":"不明","ADDON_ERR":"アドオンのインストールエラー!","ADDON_DISCONNECTED":"切断されました","ADDON_APP_MISSING":"このソースのアプリがインストールされていません。今すぐインストールしますか?","ADDON_APP_INSTALL":"今すぐインストール","ADDON_PAGE":"アドオンページ","ADDON_TOP_CONTENT":"このアドオンからのベスト","ADDON_PROVIDES":"このアドオンはあなたに以下を提供します:","ADDON_WATCH":"#{types}を今すぐ視聴!","ADDON_WATCH_FREE":"#{types}を今すぐ無料で視聴!","ADDON_ADDON":"アドオン","ADDON_SUPPORTED_TYPES":"サポートされているタイプ","ADDON_SUPPORTED_CATALOGS":"サポートされているカタログ","ADDON_PROVIDES_DISCOVER":"Discoverでさらに#{types}を探す","ADDON_PROVIDES_STREAMS":"#{types}を視聴","ADDON_PROVIDES_STREAMS_FREE":"#{types}を無料で視聴","ADDON_PROVIDES_SUBTITLES":"#{types}の字幕","ADDON_CANTDETECT":"Stremioが実行中であることを検出できなかったため、インストールされているアドオンを検出できませんでした。","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"この情報が見つかりません ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"この情報の取得中にエラーが発生しました。","ERR_CANT_PARSE_MAGNET":"マグネットを解析できません","ERR_NO_MAGNET_INFOHASH":"マグネットの有効な情報ハッシュがありません","ERR_NO_FILE_PATH":"ファイルへのパスがないため、リクエストを送信できません","ERR_NO_TORRENT":"トレントが返されません","ERR_NO_SUPPORTERD_FILES":"サポートされているファイルが見つかりません","ERR_OPENING_FILES":"外部ファイルを開くことができません","ERR_INVALID_LINK":"無効なリンク","ERR_REGISTERED_ONLY":"このオプションは登録ユーザーのみ利用可能です。","ERR_CLIPBOARD":"クリップボードから再生できません","ERR_CLIPBOARD_READ":"このプラットフォームではクリップボードを読み取ることができません","ERR_CLIPBOARD_GENERIC":"クリップボードに再生可能なURLが見つかりません。ビデオへのURL(例えば、マグネットリンク)をコピーしてください。","BOARD_CONTINUE_WATCHING":"視聴を続ける","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"あなたのために特別に選ばれた映画。<br />この映画はサンプルの推奨です。","BOARD_EXPLANATION_EPISODES":"お気に入りのシリーズの新エピソードはここに来ます。<br />ライブラリにフォローしているシリーズを追加してください。","BOARD_EXPLANATION_VIDEOS":"お気に入りのチャンネルの新エピソードはここに来ます。<br />ライブラリにフォローしているYouTubeチャンネルを追加してください。","WEBSITE_ENJOYED_BY":"世界中の3000万人以上のユーザーに楽しまれています","WEBSITE_STREAMING_ENHANCED":"ストリーミングが強化されました","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremioは安全でモダンでシームレスなエンターテイメント体験を提供します。使いやすいインターフェースと多様なコンテンツライブラリ、4K HDRサポートを含む、ユーザーはお気に入りの映画やテレビ番組をすべてのデバイスで楽しむことができます。そして、セキュリティへのコミットメントにより、Stremioは安心して高品質なストリーミング体験を選ぶための究極の選択肢です。","WEBSITE_AVAILABLE_ON":"利用可能なプラットフォーム","WEBSITE_WATCH_AND_ENJOY":"視聴して楽しむ。","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremioはそれを簡単にします","WEBSITE_ALL_FEATURES":"すべての機能","WEBSITE_EASY_TO_USE":"使いやすい","WEBSITE_EASY_TO_USE_DETAILS":"Stremioはユーザーフレンドリーで使いやすいように設計されています。クリーンで直感的なインターフェースで、簡単にナビゲートして視聴したいコンテンツを見つけることができます。","WEBSITE_SEAMLESS_ACROSS_DEVICES":"デバイス間でシームレス","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"幅広いプラットフォーム(Windows、Mac、Linux、Androidなどを含む)で利用可能なStremioは、すべてのデバイスの進行状況を追跡します。新しいデバイスごとにアプリを再設定することなく、ログインして視聴を続けることができます。","WEBSITE_ALL_DOWNLOADS":"すべてのダウンロード","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"高解像度動画をサポート","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"ほとんどのビデオフォーマットをサポートする統合ビデオプレーヤーは、4K HDRコンテンツを含む、最高品質のビデオを楽しむことができます。","WEBSITE_DIVERSE_CONTENT_LIBRARY":"多様なコンテンツライブラリ","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremioは、Netflix、Amazon Prime Video、Hulu、YouTubeなど、多数の人気ビデオソースと統合しています。","WEBSITE_CREATE_A_FREE_ACCOUNT":"無料アカウントを作成","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"視聴体験のカスタマイズ","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremioでは、テーマの変更、アドオンの追加や削除などにより、インターフェースの見た目と感じをカスタマイズできます。","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"多言語字幕サポート","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Stremioはすべての言語の字幕をサポートしているため、お気に入りのコンテンツを選択した言語で楽しむことができます。","WEBSITE_ALL_STREMIO_FEATURES":"Stremioのすべての機能","WEBSITE_TRY_STREMIO_TITLE_P1":"Stremioを試す","WEBSITE_TRY_STREMIO_TITLE_P2":"今すぐあなたのテレビで","WEBSITE_YOU_CAN_NOW_WATCH":"Android TVデバイスでお気に入りのテレビ番組をすぐに視聴できます。Stremio TVアプリを使えば、映画の夜を簡単に楽しむことができます。","WEBSITE_YOU_CAN_NOW_WATCH_2":"Smart TVまたはAndroid TVでお気に入りのテレビ番組をすぐに視聴できます。Stremio TVアプリを使えば、映画の夜を簡単に楽しむことができます。","WEBSITE_STREMIO_FOR_SMART_TV":"Smart TV用Stremio","WEBSITE_PLAY_STORE_REVIEW":"おそらく、デバイスに持っておく最も便利で有用なアプリの一つです。これは、私が特にAndroid TVで何年もの間毎日使用しているアプリの一つです。強力なコミュニティが有用な機能を提供するよく作られたアプリです。よくやった。良い仕事を続けてください。","WEBSITE_REVIEWS":"レビュー","WEBSITE_GET_STREMIO_FOR_FREE":"無料でStremioを入手","WEBSITE_GET_STREMIO_NOW":"今すぐStremioを入手","WEBSITE_STREMIO_FEATURES":"Stremioの機能","WEBSITE_STREMIO_FEATURES_DETAILS":"Stremioの高度な機能を使ってプロのようにストリームし、お気に入りのメディアへのシームレスなアクセスを楽しむ","WEBSITE_DISCOVER_MORE":"もっと発見する。","WEBSITE_DISCOVER_MORE_DETAILS":"観るものが尽きることはありません","WEBSITE_COMMUNITY_DRIVEN":"コミュニティ主導","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremioには、アドオンの作成や共有によりソフトウェアの開発に貢献する大規模で活動的なユーザーコミュニティがあります。","WEBSITE_GET_INVOLVED":"参加する","WEBSITE_NEW_THEATER_EXPERIENCE":"新しい劇場体験","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremioの新しい専用TVアプリを使えば、Android TVデバイスで映画の夜を楽しむことができます。","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremioの新しい専用TVアプリを使えば、Smart TVまたはAndroid TVデバイスで映画の夜を楽しむことができます。","WEBSITE_FREE_AND_SECURE":"無料&安全","WEBSITE_STREAMING":"ストリーミング","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremioはユーザーに比類のないセキュリティとプライバシーを提供します。アドオンをリモートで実行するという独自の機能により、Stremioは他のプラットフォームと比較してお気に入りのコンテンツをストリームするより安全な方法を提供します。あなたのセキュリティとプライバシーは最優先事項であり、プラットフォームはすべてのデータが保護されていることを保証します。","WEBSITE_FREE_AND_SECURE_DETAILS_2":"セキュリティとプライバシーに関する心配をさようならして、Stremioで終わりのないエンターテイメントの世界をこんにちはしましょう。","WEBSITE_INFORMATION_PROVIDED_BY":"情報提供者","WEBSITE_CONTRIBUTE_DESC":"プロジェクトに貢献して、Stremioをさらに良くするのを手伝ってください","WEBSITE_COMMUNITY_DESC":"本当に素晴らしいストリーミング体験を作り出す最善の方法は、コミュニティをプロセスに巻き込むことだと私たちは信じています。プログラマーであろうとアーティストであろうとただのファンであろうと、あなたはStremioの成長を助けることができます。","WEBSITE_COMMUNITY_DESC_2":"だから今日私たちに参加し、Stremioコミュニティの一部になり、ストリーミングの未来を形成し続けましょう。","WEBSITE_WAYS_TO_GET_INVOLVED":"参加する方法","WEBSITE_IN_THE_STREMIO_COMMUNITY":"Stremioコミュニティ内で","WEBSITE_SHARE_YOUR_THOUGHTS":"あなたの考えを共有する","WEBSITE_REPORT_BUGS":"バグを報告する","WEBSITE_SUGGEST_FEATURES":"機能を提案する","WEBSITE_AND_PROVIDE_FEEDBACK":"そして、私たちのソーシャルメディアチャンネルでフィードバックを提供する。","WEBSITE_BETA_TESTING_PROGRAM":"ベータテストプログラム","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Stremioコミュニティで私たちのベータテストプログラムに参加する(定期的に招待を送っています)。","WEBSITE_JOIN_NOW":"今すぐ参加!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"公式Stremioコミュニティ","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"非公式Stremioコミュニティ","WEBSITE_BECOME":"なる","WEBSITE_A_VOLUNTEER_TRANSLATOR":"ボランティアの翻訳者","WEBSITE_ARE_YOU_A_DEVELOPER":"あなたは開発者ですか?","WEBSITE_CONTRIBUTE_CODE":"私たちのオープンソースプロジェクトにコードを寄稿することができます。私たちはGitHub上にいくつかのプロジェクトを持っており、それらは寄稿者を探しています。手伝いに興味がある場合は、それらをチェックしてみてください:","WEBSITE_STREMIO_ON_GITHUB":"GitHub上のStremio","WEBSITE_CREATE_ADDON_DESC":"Stremioの機能を強化するアドオンを作成(私たちは使いやすいAPIを持っています): ","WEBSITE_STREMIO_ADDON_SDK":"StremioアドオンSDK","WEBSITE_INTERN_DEVELOPER":"私たちはまた、インターン開発者として私たちに参加する機会を提供していますので、一緒に成長することができます。","WEBSITE_APPLY_AS_AN_INTERN":"インターンとして申し込む","WEBSITE_CALLING_ALL_ARTISTS":"全てのアーティストに呼びかけます!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"あなたのファンアートを私たちのオンラインギャラリーにアップロードして、Stremioへのあなたの創造性と愛を披露してください。それが絵、絵画、またはデジタルデザインであろうと、私たちはあなたがStremioブランドに対して持つユニークな見方を見たいと思っています。私たちのアート愛好家のコミュニティに参加し、あなたの作品を世界中のStremioファンと共有してください。","WEBSITE_STREMIO_FANART_GALLERY":"Stremioファンアートギャラリー","WEBSITE_INTERN_DESIGNER":"私たちのチームの一部になり、エキサイティングなインターンシップの機会であなたの創造性を新たな高みに引き上げてください。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"パブリックドメイン映画プロジェクト","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremioでは、パブリックドメインと孤児ビデオを特定することにより、映画とテレビの歴史を保存することに専念しています。コミュニティと協力して、これらの古典的な芸術作品がすべての人々にアクセス可能であり、未来の世代が楽しむために保護されていることを確認することができます。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"そのプロジェクトに関与したいと思うなら、お気軽にお問い合わせください。","WEBSITE_JOIN_THE_PROJECT":"プロジェクトに参加する","WEBSITE_BE_PART_OF_OUR_MISSION":"私たちの使命の一部になる","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Stremioチームに参加することに興味がありますか?私たちは、情熱的なプロフェッショナルのための完全なリモートワークを提供します。私たちのオープンポジションをチェックしてみてください。","WEBSITE_OPEN_POSITIONS":"募集中のポジション","WEBSITE_DESCRIPTION":"説明","WEBSITE_LEARN_MORE":"もっと詳しく","WEBSITE_COMPANY":"会社","WEBSITE_CONTACTS":"連絡先","WEBSITE_NEED_HELP":"お困りですか?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS上のStremio Webのガイド","WEBSITE_LINK_ART_V2":"ファンアートギャラリー","WEBSITE_PARTNERS":"パートナー","WEBSITE_SLOGAN_WATCH":"すぐに視聴","WEBSITE_SLOGAN_ALL":"あなたが楽しむすべてのビデオコンテンツが一つの場所に","WEBSITE_SLOGAN_NEW":"あなたが観ることができるすべて","WEBSITE_SLOGAN_NEW_NEW":"ストリームの自由","WEBSITE_WATCH_FROM":"から視聴","WEBSITE_DOWNLOAD":"今すぐダウンロード","WEBSITE_DOWNLOAD_FOR":"今すぐダウンロード","WEBSITE_IS_DESKTOP":"Stremioはデスクトップアプリケーションで、このページをPCで開いてダウンロードしてください","WEBSITE_DESKTOP_DEMO_VID":"デスクトップデモ","WEBSITE_PAGE_HOME":"ホーム","WEBSITE_PAGE_FEATURES":"機能","WEBSITE_PAGE_ADDONS":"アドオン","WEBSITE_PAGE_TECH":"テクノロジー","WEBSITE_PAGE_CREATE_ADDON":"アドオンを作成","WEBSITE_PAGE_CONTACTS":"連絡先","WEBSITE_PAGE_BLOG":"ブログ","WEBSITE_RESET_PASSWORD_MESSAGE":"新しいパスワードを以下に入力してください。","WEBSITE_RESET_PASSWORD_WARNING":"${1}のパスワードをリセットしてもよろしいですか?","WEBSITE_TYPE_movie":"映画","WEBSITE_TYPE_series_PL":"シリーズ","WEBSITE_TYPE_tv":"ライブTV","WEBSITE_TYPE_channel":"チャンネル","WEBSITE_STREMIO_WHAT_IS":"Stremioは、お気に入りのビデオ、映画、テレビシリーズ、テレビチャンネルを整理し、すぐに視聴するのに役立つアプリです。","WEBSITE_FEATURES_WATCH":"HDで即時視聴","WEBSITE_FEATURES_WATCH_DETAIL":"お気に入りの映画、テレビ番組、ビデオ、テレビチャンネルをクリックして再生します。","WEBSITE_FEATURES_SUBS":"自動字幕","WEBSITE_FEATURES_SUBS_DETAIL":"Stremioは自動的にあなたの言語に合わせた字幕を選択します。","WEBSITE_FEATURES_SUBS_LABEL":"あなたの番です、チーフ。","WEBSITE_FEATURES_CAST":"TV&モバイルデバイスで再生","WEBSITE_FEATURES_CAST_DETAIL":"AppleTV、Chromecast、Smart TV(DLNA/UPnP)およびモバイルデバイスにキャストします。","WEBSITE_LIB":"すべてのデバイスで同期された個人のライブラリを楽しむ","WEBSITE_LIB_COLLECT":"Stremioから収集","WEBSITE_LIB_IMPORT":"Facebookからインポート","WEBSITE_LIB_LOCAL":"ローカルドライブから追加","WEBSITE_BOARD":"ボード - 通知と推奨のためのワンストップの場所","WEBSITE_BOARD_RECOMMEND":"推奨されるテレビ番組","WEBSITE_BOARD_TRENDING":"トレンドの映画","WEBSITE_BOARD_NEW":"新しいビデオ","WEBSITE_BOARD_EPISODE":"新しいエピソード","WEBSITE_BOARD_1":"何か面白いものを観るためのものを探していますか?あなたの好みに基づいて推奨を得ます!","WEBSITE_BOARD_2":"お気に入りのテレビ番組やYouTubeチャンネルの新しいエピソードが出たときに通知を受け取ります!","WEBSITE_BOARD_YOUTUBE":"YouTubeチャンネルの新しい動画","WEBSITE_BOARD_EPISODES":"フォローしているシリーズの新エピソード","WEBSITE_ADDONS":"コンテンツアドオン","WEBSITE_TECH_DETAIL":"私たちはテクノロジーが大好き、マッドサイエンスが大好き!\\nStremioは以下のオープンソース技術を使用しています:","WEBSITE_TECH_WCJS":"WebChimera.jsは、Stremioがあらゆるビデオ形式を高性能で再生できるようにします。","WEBSITE_TECH_WCJS_EXTRA":"私たちはコアプロジェクトの貢献者です","WEBSITE_TECH_ELECTRON":"Electronは、Stremioを構築するための革新的なプラットフォームを提供します。","WEBSITE_TECH_ELECTRON_EXTRA":"私たちはプロジェクトの貢献者です","WEBSITE_TECH_LINVODB":"あなたのデータが整理され、どこでもログインできるようにするデータベース技術。","WEBSITE_TECH_LINVODB_EXTRA":"自社技術","WEBSITE_CREATE_ADDON":"あなたのアドオンを作成する","WEBSITE_CREATE_ADDON_DETAIL":"ビデオコンテンツを提供するサービスを持っていますか? Stremioの機能を活用して、あなたのアドオンを作成するのをお手伝いします。","WEBSITE_CREATE_ADDON_BENEFITS":"Stremioのアドオンを作成する利点","WEBSITE_P2P_BEAUTY":"ピアツーピアストリーミングの美しさ","WEBSITE_P2P_1":"信頼性と手頃な価格のフルHD / 4Kビデオオンデマンドまたはライブストリーミング","WEBSITE_P2P_2":"優れたユーザーエクスペリエンスを提供する配信プラットフォーム","WEBSITE_P2P_3":"あなたのニーズに合ったアドオンを作成します","WEBSITE_P2P_CONTACT":"興味がありますか? <a href=\'mailto:office@stremio.com\'>お問い合わせ</a>していただければ幸いです。","WEBSITE_P2P_CONTACT_EXTRA":"Stremioとあなたのコンテンツを統合するのをお手伝いします!","WEBSITE_P2P":"時々、ゲームの名前を変える技術が登場します。私たちは、あらゆるユースケースに適応する素晴らしいパフォーマンスと多様性を提供するピアツーピア(P2P)ビデオストリーミングエンジンの構築に多くの時間と労力を投資しました。\\nDRM対応のP2Pビデオオンデマンドまたはライブストリーミングについてお問い合わせください。","WEBSITE_THOUGHTS":"私たちが共有する考え:","WEBSITE_SPREAD":"Stremioについて広める:","WEBSITE_CONTACT":"お問い合わせください、あなたからの声をお待ちしています!","WEBSITE_OPENSOURCE":"私たちのオープンソースプロジェクトについては、こちらをご覧ください","WEBSITE_BITCOIN":"ビットコインを寄付する:","WEBSITE_FAQ":"よくある質問","WEBSITE_FAQ_SHORT":"FAQ(よくある質問)","WEBSITE_QUESTIONS":"質問","WEBSITE_TOS":"利用規約","WEBSITE_LEGAL":"法的","WEBSITE_PAGE_ABOUT":"紹介","WEBSITE_PAGE_BECOME_PARTNER":"パートナーになる","WEBSITE_ALL_YOU_CAN_WATCH":"見たいものは何でも\\n自由に見る。","WEBSITE_FREEDOM_TO_STREAM":"ストリームの自由","WEBSITE_WHAT_IS_STREMIO":"Stremioとは何ですか?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremioは、ビデオコンテンツの集約のためのワンストップハブです。あらゆる種類のソースからビデオを発見、整理、視聴できます。","WEBSITE_WHAT_IS_STREMIO_P2":"映画、テレビ番組、シリーズ、ライブテレビ、またはYouTubeやTwitch.tvのようなウェブチャンネル - これらすべてがStremioで見つけることができます。","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremioは、ビデオエンターテイメントのためのワンストップソリューションである現代のメディアセンターです。簡単にインストールできるアドオンからビデオコンテンツを発見、視聴、整理できます。","WEBSITE_WHAT_IS_STREMIO_P2_V2":"映画、テレビ番組、ライブテレビ、ウェブチャンネル - これらすべてがStremioで見つけることができます。","WEBSITE_ENJOI_ON_ALL_DEVICES":"すべてのメディアデバイスで楽しむ","WEBSITE_DEVICES_COLLECT":"Stremioから収集","WEBSITE_DEVICES_IMPORT_FB":"Facebookからインポート","WEBSITE_DEVICES_LOCAL":"ローカルドライブから追加","WEBSITE_JOIN_THE_PARTY_NOW":"今すぐパーティーに参加","WEBSITE_DEVICES_ALL":"すべてのデバイスで使いやすい;","WEBSITE_EXTENDABLE_CATALOG":"無限に拡張可能なビデオカタログ;","WEBSITE_ORGANIZE_YOUR_MEDIA":"メディアを整理する素晴らしい機能;","WEBSITE_AS_SEEN_ON":"以下で紹介されました:","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"私たちについて","WEBSITE_LINK_TECHNOLOGY":"技術","WEBSITE_LINK_APPS":"アプリ","WEBSITE_LINK_DOWNLOADS":"ダウンロード","WEBSITE_MORE":"もっと","WEBSITE_LINK_ADDONS":"アドオン","WEBSITE_LINK_ADDON_SDK":"アドオン SDK","WEBSITE_LINK_CONTRIBUTE":"貢献する","WEBSITE_LINK_COMMUNITY":"コミュニティ","WEBSITE_LINK_BLOG":"ブログ","WEBSITE_MORE_MORE":"... その他","WEBSITE_LINK_HELP":"ヘルプセンター","WEBSITE_LINK_CONTACTS":"ビジネスお問い合わせ","WEBSITE_LINK_TOS":"利用規約","WEBSITE_LINK_PRAVACY":"プライバシーポリシー","WEBSITE_SUBSCRIBE":"購読する","WEBSITE_NEWSLETTER":"素晴らしい情報を提供するニュースレターに参加する","WEBSITE_PLACEHOLDER_EMAIL":"あなたのメール","WEBSITE_COMMUNITY":"コミュニティ","WEBSITE_LINK_PRAVACY_LEGAL":"プライバシーと法的","WEBSITE_WHY":"なぜ私たちはそれをするのか","WEBSITE_WHY_P1":"Stremioでは、毎日仕事に来て、ビデオオンデマンド業界の重要な問題を解決したいと思っています。毎分新しいコンテンツが公開されているため、それを見つけるのはほとんど不可能です。","WEBSITE_WHY_P2":"私たちは、人々がビデオエンターテイメントの大きな世界をナビゲートし、新しいコンテンツを楽しむことを助けます。私たちのアプリは映画、シリーズ、ライブTV、ウェブチャンネルなどを一緒に持ってきます。私たちは、ユーザーが好きなタイトルや放送局を見つけるのを非常に簡単にすることに専念しています。","WEBSITE_WHY_P3":"私たちのサービスは、どのデバイスでも、いつでも利用できるため、Stremioは唯一のビデオエンターテイメントハブになります。","WEBSITE_TEAM":"チーム","WEBSITE_TEAM_P":"Stremioのチームは小さくてパワフルです:私たち10人の間で、X言語でコードを書き、ソフトウェア開発、UIとUXデザイン、マーケティングと広告、ビジネスとスタートアップの専門知識を共有します。","WEBSITE_FEATURES":"特徴","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"新しいコンテンツを簡単に発見","WEBSITE_FEATURES_DISCOVER_P":"新しい映画、テレビ番組、シリーズ、チャンネルを簡単に見つけて視聴します。カテゴリ、ジャンル、評価、最近のものなどでブラウズするか、名前を入力して探します。Stremioは新しいビデオコンテンツを見つけるのが簡単です。","WEBSITE_FEATURES_ALL_CONTENT":"すべてのビデオコンテンツを一つの画面で","WEBSITE_FEATURES_ALL_CONTENT_P1":"未完の映画、シリーズ、ビデオを確認し、視聴を続けます。新エピソードやリリースの通知を受け取り、視聴習慣に基づいた推奨をブラウズします。","WEBSITE_FEATURES_LIBRARY":"ビデオライブラリを整理する","WEBSITE_FEATURES_LIBRARY_P1":"任意のタイトルを一回のクリックでStremioライブラリに追加し、タイプ、最近のもの、またはアルファベット順に整然と並べられたコンテンツを見つけます。","WEBSITE_FEATURES_CALENDAR":"視聴するすべてを追跡する","WEBSITE_FEATURES_CALENDAR_P1":"ライブラリに追加したすべての映画とシリーズのカレンダー表示を取得します。Stremioカレンダーをエクスポートして同期し、新エピソードやプレミアがいつ予定されているかを常に把握します。","WEBSITE_FEATURES_BIG_SCREEN":"大画面でビデオコンテンツを楽しむ","WEBSITE_FEATURES_BIG_SCREEN_P1":"視聴中のものを他のデバイス(電話、タブレット、TVなど)にキャストします。","WEBSITE_FEATURES_SOURCES":"さまざまなソースからビデオを視聴する","WEBSITE_FEATURES_SOURCES_P":"公式およびコミュニティのアドオンをインストールして、さまざまなプロバイダからのビデオを楽しむことができます。これらはすべて、洗練された使いやすいアプリで利用できます。","WEBSITE_CREATE_AN_ADDON":"アドオンを作成する","WEBSITE_FEATURES_SYNC":"ライブラリを異なるデバイス間で同期し、再生を再開する","WEBSITE_FEATURES_SYNC_P1":"すべてのデバイスでアカウントにログインし、ライブラリ、アドオン、再生、カレンダーを同期して楽しみます。","WEBSITE_FEATURES_EXTENDABLE":"アドオンによる拡張可能なビデオカタログ","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremioのアドオンカタログは、インストールしてさまざまなビデオコンテンツを視聴するための多数のアドオンを提供します。これには、映画、番組、ライブTV、スポーツ、ニュース、ポッドキャスト、ウェブチャンネル、ビデオゲームなどが含まれます。","WEBSITE_FEATURES_AUTO_SUBS":"自動字幕","WEBSITE_FEATURES_AUTO_SUBS_P1":"字幕アドオンを使用すると、選択した言語のオプションが自動的に選択されます。","WEBSITE_FEATURES_CHROMECAST":"Chromecastへのキャスト","WEBSITE_FEATURES_CHROMECAST_P1":"ビデオコンテンツを大画面で楽しむか、視聴中のものを他のデバイスにキャストします。","WEBSITE_FEATURES_KEEP_TRACK":"お気に入りのテレビ番組とウェブチャンネルを追跡する","WEBSITE_FEATURES_KEEP_TRACK_P1":"お気に入りのシリーズとウェブチャンネルの新エピソードのカレンダー表示と通知を取得します。","WEBSITE_FEATURES_POWER_USER":"パワーユーザー機能","WEBSITE_FEATURES_POWER_USER_P1":"外部プレーヤーで再生","WEBSITE_FEATURES_POWER_USER_P2":"トレントファイルまたはマグネットリンクから再生","WEBSITE_FEATURES_POWER_USER_P3":"Facebookの「いいね」やローカルディスクからライブラリにインポート","WEBSITE_ADD_ONS":"アドオン","WEBSITE_ADD_ONS_P1":"Stremioが提供するすべてのビデオコンテンツは、アドオンシステムを通じて供給されます。コンテンツやコンテンツプロバイダはアプリに組み込まれていません。","WEBSITE_ADD_ONS_P2":"利用可能なアドオンは2つのグループに分かれています:公式とコミュニティのアドオン。","WEBSITE_ADD_ONS_P3":"公式のものはStremioが開発・ホスティングし、コミュニティのアドオンはコミュニティのメンバーが作成・ホスティングします。","WEBSITE_ADDONS_OFFICIAL":"公式アドオン","WEBSITE_ADDONS_WATCHUB":"iTunes、Hulu、Amazonなどのプロバイダからお気に入りの映画、シリーズ、番組をストリームします。","WEBSITE_ADDONS_YOUTUBE":"お気に入りのYouTubeチャンネルを広告なしで視聴し、フォローしている投稿者の新しいアップロードの通知を受け取ります。","WEBSITE_ADDONS_FILMON":"無料でライブTV、映画、ソーシャルテレビを視聴。600のTVチャンネル、45,000の無料映画、ドキュメンタリーなど。","WEBSITE_ADDONS_OPENSUBTITLES":"映画やテレビの字幕を複数の言語で、毎日何千もの翻訳字幕がアップロードされます。","WEBSITE_ADDONS_COMMUNITY":"コミュニティアドオン","WEBSITE_ADDONS_FILMON_VOD":"Filmon.tvからビデオオンデマンドを視聴","WEBSITE_ADDONS_TWICH":"Twitch.tvからライブストリームを視聴 - eスポーツ業界向けのビデオストリーミングプラットフォーム。","WEBSITE_ADDONS_VODO":"インディー映画を完全に無料で視聴。","WEBSITE_ADDONS_NETFLIX":"Netflixの映画とウェブシリーズを視聴。","WEBSITE_ADDONS_CREATE":"アドオンを作成する","WEBSITE_ADDONS_CREATE_P1":"ご希望であれば、自分自身のアドオンを開発することができます。これにより、自分自身とコミュニティに新しいビデオコンテンツへのアクセスを提供し、世界中の何百万人もの新しいターゲットオーディエンスに到達することができます。","WEBSITE_ADDONS_START_CREATE":"始めるには、Stremio Addon SDKページを訪れてください:","WEBSITE_DOWNLOADS":"ダウンロード","WEBSITE_DOWNLOADS_P1":"最適なパフォーマンスを得るために、Stremioアプリの最新の利用可能なバージョンを使用することをお勧めします。ただし、何らかの理由で古いバージョンを使用したい場合は、ここからダウンロードできます。","WEBSITE_DOWNLOADS_P1_SHORT":"最適なパフォーマンスを得るために、Stremioアプリの最新の利用可能なバージョンを使用することをお勧めします。","WEBSITE_DOWNLOADS_FOR_WIN":"Windows用Stremio","WEBSITE_DOWNLOADS_FOR_MAC":"macOS用Stremio","WEBSITE_DOWNLOADS_FOR_LINUX":"Linux用Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID":"Android用Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Android TV用Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Android Mobile用Stremio","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Steam Deck用Stremio","WEBSITE_DOWNLOADS_FOR_IOS":"iOS用Stremio(限定版)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Samsung TV用Stremio","WEBSITE_DOWNLOADS_FOR_LG_TV":"LG TV用Stremio","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Sony TV用Stremio(Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Philips TV用Stremio(Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Oculus Quest用Stremio","WEBSITE_DOWNLOADS_FOR_META_QUEST":"メタクエスト用のStremio","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Vision Pro用のStremio","WEBSITE_DOWNLOADS_FOR_XBOX":"Xbox用Stremio","WEBSITE_DOWNLOADS_FOR_RPI":"Raspberry Pi用Stremio","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"ブラウザ用Stremio","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"2019年以降のSamsung TVモデルのApp StoreでStremioを検索","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"2020年以降のLG TVモデルのApp StoreでStremioを検索","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Androidを実行しているSony TVでPlayストアアプリでStremioを検索","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Androidを実行しているPhilips TVでPlayストアアプリでStremioを検索","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"XboxデバイスのApp StoreでStremioを検索","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"RPIのStremio OS用ガイド","WEBSITE_LINK_GUIDE":"ガイド","WEBSITE_DOWNLOAD_SERVICE":"Stremio Serviceをダウンロード","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio ServiceはStremio Webのコンパニオンアプリです。Stremio Serviceの最新の利用可能なバージョンを使用することをお勧めします。","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Windows用Stremio Service","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"macOS用Stremio Service","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Linux用Stremio Service","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Docker用Stremio Service","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Docker用Stremio","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"その他のダウンロードオプション","WEBSITE_DOWNLOAD_NEW":"新着!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Stremio Webをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Samsung TV用Stremioをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"LG TV用Stremioをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Xbox用Stremioをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Raspberry Pi用Stremioをリリースしました","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"貢献","WEBSITE_CONTRIBUTE_P1":"Stremioプラットフォームはオープンソースで、現在供給されていないコンテンツのためのアドオンを簡単に作成することができます。","WEBSITE_CONTRIBUTE_WHY":"なぜアドオンを作成するべきなのか?","WEBSITE_CONTRIBUTE_WHY_P1":"ビデオコンテンツの新しい視聴者を獲得する","WEBSITE_CONTRIBUTE_WHY_P2":"Stremioのユーザーベースは急速に成長しています - ローンチから1年以内に、Stremioは世界中で100万人のユーザーを獲得し、プラットフォームが存在する2年目にはこの数は250万人に増えました。","WEBSITE_CONTRIBUTE_WHY_P3":"あなたのアドオンを使えば、この視聴者に簡単に到達し、ビデオコンテンツを配信することができます。","WEBSITE_CONTRIBUTE_ALL":"お気に入りの映画、ビデオ、シリーズ、チャンネルを一つの場所で視聴します。","WEBSITE_CONTRIBUTE_ALL_P1":"まだStremioで利用できない特定のタイプのコンテンツのファンですか?それのためのアドオンを作成し、市場で最大かつ最も使いやすいエンターテイメントハブの一つでお気に入りのビデオを視聴しましょう。","WEBSITE_CONTRIBUTE_ALL_P2":"その上で、同じように考えるStremioコミュニティのメンバーから終わりのない感謝を得ることができます。","WEBSITE_CONTRIBUTE_MONETIZE":"あなたのアドオンを収益化し、その助けを借りてお金を稼ぎましょう","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Stremioの新しいアドオンを開発すると、さまざまな方法で簡単に収益化することができます。これを検討している場合は、お気軽にお問い合わせください:","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - アドオンの収益化オプションについての相談やアドバイスを喜んで行います。","WEBSITE_CONTRIBUTE_TRANSLATE":"ボランティアの翻訳者になる","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Stremioのアプリをさまざまな言語で楽しみたい場合は、ボランティアの翻訳者のコミュニティに参加できます。彼らは私たちがStremioを多くの異なる言語に追加するのを助けてくれます。","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"始めるのが待ちきれませんか?","WEBSITE_TRANSALTE_STREMIO":"Stremioを翻訳する","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"公式コミュニティ","WEBSITE_COMMUNITY_OFFICIALS_P1":"成長するStremioコミュニティの一部になりましょう。ソーシャルメディアで私たちをフォローし、こんにちはと言うのをためらわないでください - 私たちはファンからの声を聞くのが大好きです!","WEBSITE_COMMUNITY_UNOFFICIALS":"非公式コミュニティ","STREMIO_COMMUNITY_NL":"Stremioオランダ","STREMIO_COMMUNITY_BRASIL":"Stremioブラジル","STREMIO_COMMUNITY_GERMANY":"Stremioドイツ","STREMIO_COMMUNITY_BELGIUM":"Stremioベルギー","STREMIO_COMMUNITY_FRANCE":"Stremioフランス","STREMIO_COMMUNITY_PORTUGAL":"Stremioポルトガル","STREMIO_COMMUNITY_ITALY":"Stremioイタリア","STREMIO_COMMUNITY_UK":"Stremio英国","STREMIO_COMMUNITY_USA":"Stremioアメリカ","STREMIO_COMMUNITY_MEXICO":"Stremioメキシコ","STREMIO_COMMUNITY_ADDONS":"Stremioアドオン","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"素晴らしいStremio","WEBSITE_COMMUNITY_PARTNERS":"パートナーとサポーター","WEBSITE_COMMUNITY_GOODIES":"Stremioのグッズ","WEBSITE_COMMUNITY_WALLPAPERS":"壁紙","WEBSITE_COMMUNITY_ART":"コミュニティアートギャラリー","WEBSITE_LINK_ART":"コミュニティアートギャラリー","WEBSITE_CONTACT_US":"お問い合わせ","WEBSITE_CONTACT_US_P1":"ご質問、コメント、提案がありましたら、以下のお問い合わせフォームからお気軽にお問い合わせください。","WEBSITE_CONTACT_US_P2":"私たちはブルガリアに位置しているため、タイムゾーンの違いにより、お問い合わせの対応に遅れが生じることがあります。","WEBSITE_CONTACT_US_SUCCESS":"あなたのメッセージは送信されました。できるだけ早くご連絡いたします。","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"有効なメールアドレスを入力してください!","WEBSITE_CONTACT_US_Q_RELATED_TO":"あなたの質問は何に関連していますか?","WEBSITE_CONTACT_US_Q_OS":"あなたのオペレーティングシステムは何ですか?","WEBSITE_CONTACT_US_PH_EMAIL":"あなたのEメール","WEBSITE_CONTACT_US_PH_MESSAGE":"メッセージ","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"送信","WEBSITE_CONTACT_US_Q_1":"インストール方法は?","WEBSITE_CONTACT_US_Q_2":"アンインストール方法は?","WEBSITE_CONTACT_US_Q_3":"(HTML) ラザニアの作り方は?","WEBSITE_CONTACT_US_Q_4":"アドオン","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"テクノロジー","WEBSITE_TECHNOLOGY_P1":"私たちはテクノロジーと狂気の科学が大好きです。 </br> これがStremioを動かしているものです(すべてオープンソースです)。","WEBSITE_TECHNOLOGY_P_QT":"最高のクロスプラットフォームソフトウェア開発。","WEBSITE_TECHNOLOGY_P_MPV":"無料の、オープンソースの、クロスプラットフォームのメディアプレーヤー。","WEBSITE_TECHNOLOGY_P_RN":"React Nativeを使用すると、JavaScriptだけでモバイルアプリを作成できます。","WEBSITE_TECHNOLOGY_P_VLC":"アプリケーションに埋め込まれたメディアフレームワークでマルチメディアを取得します。","WEBSITE_TECHNOLOGY_P_REALM":"Realmはモバイルプラットフォームであり、SQLiteとCore Dataの代替品です。","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.jsはオープンソースのクロスプラットフォームJavaScriptランタイム環境です。","WEBSITE_TECHNOLOGY_P_RUST":"Rustは、安全性、特に安全な並行性に焦点を当てたマルチパラダイムのシステムプログラミング言語です。","WEBSITE_TECHNOLOGY_CONTRIBUTE":"プロジェクトに貢献する","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Stremioに貢献して、製品をさらに良くする方法は2つあります。","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"プラットフォームの翻訳により、貴重な言語スキルを寄付することができます...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"または","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... コミュニティアドオンの作成にコーディングスキルを活用することができます。","WEBSITE_TRANSLATE_STREMIO":"Stremioを翻訳する","WEBSITE_404_OH_NO":"おっと!探しているページはここにはありません...","WEBSITE_GO_HOME":"ホームに戻る","WEBSITE_LINK_OTHER_DOWNLOADS":"その他のダウンロード","WEBSITE_FAQ_ABR":"よくある質問","WEBSITE_SUPPORT":"サポート","WEBSITE_DOWNLOAD_4_0_BETA":"今すぐStremio 4ベータ版をダウンロード","WEBSITE_GET_FOR_DESKTOP":"デスクトップ用に取得","WEBSITE_LINK_ADDON_COMPETITION":"アドオンコンペティション","WEBSITE_LINK_ART_CONTEST":"アートコンテスト","WEBSITE_MY_ACCOUNT":"マイアカウント","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremioとは何ですか?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremioは、あなたが何でも見たいと思う自由を与えてくれる現代的なメディアセンターです。","WEBSITE_MAINPAGE_FAQ_002_H1":"それはどのように動作しますか?","WEBSITE_MAINPAGE_FAQ_002_P1":"Stremioをデバイスにインストールし、アカウントを作成すると、あなたがしなければならないのは、アドオンカタログを訪れて任意のアドオンをインストールすることだけで、準備完了です!","WEBSITE_MAINPAGE_FAQ_002_P2":"その後、DiscoverセクションやBoardセクションに移動してコンテンツの探索を開始できます。","WEBSITE_MAINPAGE_FAQ_003_H1":"ここで何を見ることができますか?","WEBSITE_MAINPAGE_FAQ_003_P1":"たくさん:映画、テレビ番組、ウェブチャンネル、スポーツ、テレビチャンネル、ポッドキャストを聴くなど。私たちのアドオンシステムのおかげで、さまざまなコンテンツにアクセスできます。","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremioはオープンソースですか?","WEBSITE_MAINPAGE_FAQ_004_P1":"はい、次のリンクをご覧ください:${1}デスクトップアプリ${2} および ${3}GitHubの組織${4}。","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremioは安全ですか?","WEBSITE_MAINPAGE_FAQ_005_P1":"はい:オープンソースソフトウェアであるため、コードは公開されており、自分でレビューすることができます。","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremioのアドオンシステムも、ユーザーのセキュリティを考慮して作成されました。アドオンはローカルでコードを実行しないため、デバイスにリスクをもたらすことはありません。","WEBSITE_MAINPAGE_FAQ_006_H1":"プライバシーはどうですか?","WEBSITE_MAINPAGE_FAQ_006_P1":"私たちはユーザーのプライバシーを尊重し、アカウントの作成と同期に必要な最小限の個人データしか収集しません。","WEBSITE_MAINPAGE_FAQ_006_P2":"また、サインアップ時に${1}ゲストモード${2}があり、これにはデータが一切必要ありません:このモードでは、バックエンドに対する呼び出しが行われません。ただし、デバイス間でライブラリを同期するなどの便利な機能が利用できなくなります。","WEBSITE_MAINPAGE_FAQ_007_H1":"私のテレビにキャストすることはできますか?","WEBSITE_MAINPAGE_FAQ_007_P1":"はい、Chromecastをサポートしており、デスクトップアプリとモバイルアプリ(Android)の両方からキャストすることができます。","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremioにはいくつのアドオンがありますか?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019年末現在、50以上あります - 詳細はアドオンカタログをご覧ください。","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremioはアドオンカタログの範囲を超えて拡張できますか?","WEBSITE_MAINPAGE_FAQ_009_P1":"はい、次のものをチェックしてみてください:${1}PimpMyStremio${2}、${3}Redditのコミュニティ${4}、${5}Stremio Downloader${6}など。","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremioはどのデバイスをサポートしていますか?","WEBSITE_MAINPAGE_FAQ_010_P1":"Windows、Mac、Linux用のデスクトップアプリがあります。モバイルでは、AndroidとiOSをサポートしていますが、iOSは機能が限定されていることに注意してください(ほとんどのアドオンをサポートしていません)。","WEBSITE_MAINPAGE_FAQ_010_P2":"NVIDIA ShieldやAmazon Fire Stickなど、Stremioを実行できるAndroidベースのデバイスがたくさんありますが、公式にはサポートしていません。","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Windows、Mac、Linux用のデスクトップアプリがあります。また、Android MobileとAndroid TV専用のアプリもあります。iOSとiPadOSでは、Stremio Webの使用をおすすめしますが、機能は限定されています。","WEBSITE_MAINPAGE_FAQ_011_H1":"特定のコンテンツをStremioに追加できますか?","WEBSITE_MAINPAGE_FAQ_011_P1":"申し訳ありませんが、私たちは自身でコンテンツを提供していませんが、Stremioにインストールしたアドオンが多ければ多いほど、見つけることができるコンテンツが増えます。","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremioはマグネットリンクを再生できますか?","WEBSITE_MAINPAGE_FAQ_012_P1":"はい、通常のHTTPリンクとトレントファイル(ドラッグアンドドロップ)も再生できます。","WEBSITE_MAINPAGE_FAQ_013_H1":"ビデオをダウンロードしてオフラインで視聴することはできますか?","WEBSITE_MAINPAGE_FAQ_013_P1":"オフライン利用可能は今後の機能ですが、設定パネルからStremioにデバイス上にキャッシュを許可すると、後で接続なしでビデオを視聴することができます。","WEBSITE_MAINPAGE_FAQ_014_H1":"何も動作しない、助けて!","WEBSITE_MAINPAGE_FAQ_014_P1":"アドオンをインストールしたことは確認しましたか?もしインストールしたなら、私たちの${1}ヘルプセンター${2}をチェックしてみてください。","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremioは開発業務をどのように維持していますか?","WEBSITE_MAINPAGE_FAQ_015_P1":"私たちは時折、邪魔にならない広告を表示しますが、寄付モデルへの移行を検討しています。","WEBSITE_MAINPAGE_FAQ_015_P2":"他の質問については、私たちの${1}ヘルプセンター${2}にアクセスしてください。","HELP_LEARN_MORE":"私たちがあなたについてもっと学ぶのを助けてください。","LIFESTYLE":"ライフスタイル","SPORTS":"スポーツ","FOOD_HEALTH":"食品&健康","BEAUTY_FASHION":"美容&ファッション","NEWS":"ニュース","GAMING":"ゲーム","SCIENCE_EDUCATION":"科学&教育","MUSIC":"音楽","TRAVEL":"旅行","LATE_NIGHT":"深夜","REALITY":"リアリティ","COMEDY":"コメディ","DIY":"DIYの方法","TECH":"テクノロジー","CINEMA":"シネマ","CONTINUE":"続ける","SLOW_LOADING":"読み込みが遅い?","I_GIVE_UP":"あきらめる","LEARN_MORE":"もっと詳しく","POOR_SOURCE":"このソースはあまり利用できないか、あなたのインターネット接続が十分に速くありません","PICK_CATEGORIES_ERR":"少なくとも3つのカテゴリを選択する必要があります","ADJUST_TIMING":"タイミングを調整する ","ADJUST_SIZE":"サイズを調整する ","SEARCH_ANYTHING":"何でも検索できます...","ALL_CATEGORIES":"すべて","SEARCH_CATEGORIES":"映画、シリーズ、YouTube&TV","SEARCH_PERSONS":"俳優、監督、脚本家","SEARCH_PROTOCOLS":"HTTP&マグネットリンク","SEARCH_TYPES":"IMDB / TVDBリンク","WATCHED":"視聴済み","SHOW_LESS":"少なく表示","LAST_SEARCHES":"最後の検索","CLEAR_HISTORY":"履歴をクリア","CHOOSE_SOME":"これらの中から選んでください:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Webリモートを読み込むことができませんでした","STREMIO_OFFLINE":"Stremioはオフラインです","STREMIO_EXPENSIVE_CONNECTION":"モバイルデータ接続を使用していることを検出しました。続行しますか?","USE_DATA":"データを使用","WARNING":"警告","MORE_INFO":"詳細情報...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"読み込み中...","STREMIO_TV_BACK_TO_LANGUAGES":"言語に戻る","STREMIO_TV_REMOTE":"リモート","STREMIO_TV_GO_TO":"移動先:","STREMIO_TV_OR_SCAN":"またはスキャン:","STREMIO_TV_ADDON_INSTRUCTIONS":"ご希望のアドオンをインストールするには、指示に従ってください。","STREMIO_TV_LIVE_TV":"生放送","STREMIO_TV_RESUME_WATCHING":"視聴を再開","STREMIO_TV_LOADING_BACKGROUND":"背景を読み込み中","STREMIO_TV_CHECKING_AUTHENTICATION":"認証を確認中","STREMIO_TV_LOADING_BOARD":"ボードを読み込み中","STREMIO_TV_LOGIN_HEADER_LINE_1":"私たちは、ユーザーが私たちのソフトウェアで最高のパーソナライズされた体験を得られるようにしたいと考えています。","STREMIO_TV_LOGIN_HEADER_LINE_2":"そのため、アカウントを作成またはログインしていただくようお願い申し上げます。","STREMIO_TV_LOGIN_FOOTER_LINE_1":"ご理解いただきありがとうございます、","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremioチーム","STREMIO_TV_REMOTE_INSTRUCTIONS":"スマートフォン/タブレット/デスクトップでWebリモコンを使用するには:","STREMIO_TV_WIFI_SETUP":"Wi-Fi設定","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circleはインターネット接続を検出できませんでした。","STREMIO_TV_WIFI_DETAILS_1":"接続先:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"パスワードを使用:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"リンクを含むWebブラウザを開きます:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"デフォルト","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"最後に視聴した順","STREMIO_TV_LIBRARY_SORT_NAME":"名前順(昇順)","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"名前順(降順)","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"視聴回数順","STREMIO_TV_LIBRARY_SORT_WATCHED":"視聴した順","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"視聴していない順","STREMIO_TV_DETAILS_SEASON_NUMBER":"シーズン${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} のアドオンを読み込みました...","STREMIO_TV_STREAMS_STILL_LOADING":"${1}アドオンはまだ読み込んでいます...","STREMIO_TV_PLAYER_SETTINGS":"プレーヤー設定","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"字幕の遅延","STREMIO_TV_PLAYER_AUDIO_DELAY":"音声の遅延","STREMIO_TV_PLAYER_VIDEO_SCALING":"動画の拡大/縮小","STREMIO_TV_PLAYER_CHAPTERS":"チャプター","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"${1}をスキップ","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"サポートされていないストリームソース","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"外部リンクの開封に失敗しました","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"オーディオパススルーモードでは調整できません","STREMIO_TV_PLAYER_PLAY_IN_EXO":"ExoPlayerで再生","STREMIO_TV_PLAYER_PLAY_IN_VLC":"libVLCプレーヤーで再生","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"再生エラーが発生したため、libVLCプレーヤーに切り替えています","STREMIO_TV_ADDONS_TITLE":"あなたのスマホやPCのStremioでアドオンをインストールまたは設定し、「アドオンを同期」を押してください","STREMIO_TV_ADDONS_SUBTITLE":"注意: 同じStremioアカウントを使用していることを確認してください","STREMIO_TV_ADDONS_SYNC_ADDONS":"アドオンを同期","STREMIO_TV_ADDONS_SYNC_SUCCESS":"アドオンの同期に成功しました","STREMIO_TV_ADDONS_SYNC_FAILED":"アドオンの同期に失敗しました","STREMIO_TV_META_LINK_FAILED":"メタリンクの開封に失敗しました","STREMIO_TV_CATALOG_LOADING":"カタログを読み込んでいます...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"インターフェース言語が更新されました","STREMIO_TV_SETTINGS_THEME_UPDATED":"テーマが更新されました","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"デフォルトのプレーヤー","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"外部プレーヤー","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"優先言語","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"第二の優先言語","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"トンネル再生","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"一部のデバイスで再生の問題が発生する可能性があります","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"一部の動画フォーマットが動作しない可能性があります","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"フレームレートの一致","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"無効","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"フレームレートのみ","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"フレームレートと解像度","STREMIO_TV_SETTINGS_NO_CACHING":"キャッシュなし","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"デフォルト","STREMIO_TV_SETTINGS_PROFILE_SOFT":"ソフト","STREMIO_TV_SETTINGS_PROFILE_FAST":"高速","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"超高速","STREMIO_TV_SETTINGS_SERVER_URL":"ストリーミングサーバーのURL","STREMIO_TV_SETTINGS_SERVER_VERSION":"サーバーのバージョン","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"不明","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremioバージョン","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"サーバーのURLを編集","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"ストリーミングサーバーのURLを入力してください","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"ロード中に統計情報を表示","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremioのプライバシーポリシーを読むには、以下を参照してください:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremioの利用規約を読むには、以下を参照してください:","STREMIO_TV_NAV_SEARCH":"検索","STREMIO_TV_NAV_HOME":"ホーム","STREMIO_TV_NAV_DISCOVER":"発見","STREMIO_TV_NAV_LIBRARY":"ライブラリ","STREMIO_TV_NAV_MOVIES":"映画","STREMIO_TV_NAV_SERIES":"シリーズ","STREMIO_TV_NAV_CHANNELS":"チャンネル","STREMIO_TV_NAV_TV":"生放送","STREMIO_TV_NAV_SETTINGS":"設定","STREMIO_TV_NAV_ADDONS":"アドオン","STREMIO_TV_LOGIN_TITLE":"アカウントを連携","STREMIO_TV_LOGIN_EXPIRES_IN":"有効期限","STREMIO_TV_LOGIN_STEP_ONE":"上のQRコードをスキャンするか、次のURLにアクセス","STREMIO_TV_LOGIN_STEP_TWO":"Stremioアカウントにログイン","STREMIO_TV_LOGIN_NEW_LINK":"新しいリンクをリクエスト","STREMIO_TV_LOGIN_LINK_REFRESHED":"ログインコードが更新されました","STREMIO_TV_SEARCH_PLACEHOLDER":"何か入力してください","STREMIO_TV_SEARCH_NO_ADDONS":"カタログのためのアドオンが要求されませんでした!","STREMIO_TV_SEARCH_BUTTON":"検索","STREMIO_TV_SEARCH_KEY_DEL":"削除","STREMIO_TV_SEARCH_KEY_SPACE":"スペース","STREMIO_TV_SEARCH_KEY_CLEAR":"クリア","STREMIO_TV_SEARCH_HISTORY_TITLE":"検索履歴","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"タイトル、俳優、チャンネルなどを検索できます...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"検索履歴をクリア","STREMIO_TV_FILTERS_DESCRIPTION":"以下のフィルターから選択してください","STREMIO_TV_STREAMING_SERVER_OFFLINE":"ストリーミングサーバーがオフラインです。サーバー設定を確認してください。","FILTERS":"フィルター","SETTINGS":"設定","ACCOUNT":"アカウント","LOGOUT":"ログアウト","THEMES":"テーマ","PLAYBACK":"再生","PLAYBACK_SPEED":"再生速度","AUDIO_TRACKS":"オーディオトラック","UNKNOWN_TRACK_LANG":"不明","VIDEOS":"ビデオ","SERVER":"サーバー","LINKS":"リンク","ABOUT":"紹介","INTERFACE":"インターフェース","ANIMATIONS":"アニメーション","STATUS":"ステータス","LANGUAGE":"言語","SIZE":"サイズ","DELAY":"遅延","BOLD":"太字","OPACITY":"透明度","TEXT_COLOR":"テキストの色","OUTLINE_COLOR":"アウトラインの色","BACKGROUND_COLOR":"背景色","BACKGROUND_BLUR":"背景のぼかし","SEEK_TIME_DURATION":"シーク時間の長さ","AUTO_PLAY":"次のエピソードを自動再生","PLAY_NOW":"今すぐ再生","MARK_AS_WATCHED":"視聴済みとしてマーク","MARK_AS_UNWATCHED":"未視聴としてマーク","REWIND_TO_BEGINNING":"最初から巻き戻す","CONTINUE_WATCHING":"視聴を続ける","ALL":"すべて","SECONDS":"秒","ON":"オン","OFF":"オフ","RELOAD":"リロード","EDIT_URL":"URLを編集","URL":"URL","NONE":"なし","EMBEDDED":"埋め込み","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"デバイスを切り替え","REMOTE_VIDEOS":"ビデオ","REMOTE_ADJUST_TIMING":"タイミングを調整","REMOTE_ADJUST_SIZE":"サイズを調整","REMOTE_COULD_NOT_BE_LOADED":"Webリモートを読み込めませんでした","REMOTE_RETRY":"再試行","TORRENT_PROFILE_DEFAULT":"デフォルト","TORRENT_PROFILE_SOFT":"ソフト","TORRENT_PROFILE_FAST":"高速","TORRENT_PROFILE_ULTRA_FAST":"超高速","MB_S":"MB/s","FAQ_001_H1":"Stremioとは何ですか?","FAQ_001_P1":"Stremioは、ビデオエンターテイメントを使いやすくするために設計されたメディアセンターソフトウェアです。Stremioを使用すると、映画、シリーズ、チャンネル、ライブTVのコレクションを整理して視聴することができます。","FAQ_001_P2":"Stremioは、表示するコンテンツをあなたのローカルディスクとアドオンシステムから収集します。","FAQ_001_P3":"また、新しいエピソード/ビデオ/映画が出たときに通知を送り、映画の推薦を提供します。","FAQ_02_H1":"StremioはKodiとPlexとどう違いますか?","FAQ_02_P1":"私たちはそれらのソフトウェアに触発されました。しかし、私たちは異なる目標を持っています - Stremioはエンターテイメントビデオに特化しており、非常に使いやすいことで主流の解決策になることを目指しています。","FAQ_02_P2":"StremioはKodiやPlexほどカスタマイズ可能で機能豊富ではありませんが、使いやすさでは大幅に優れています。ただ${1}取得して見て${2} :)","FAQ_03_H1":"StremioはNetflixとどう違いますか?","FAQ_03_P1":"再び、Netflixは私たちのインスピレーションの一つです。私たちはNetflixのユーザーエクスペリエンスを達成することを目指しており、さらに多くの付加価値を提供しています。しかし、最も重要なのは、私たちがあなたに自分のライブラリを管理し、アドオンシステムで新しいコンテンツソースを追加する自由を与えていることです。","FAQ_03_P2":"それにより、Stremioは無限に拡張可能になり、Stremioを使用するときにはNetflixがライセンスを決定するコンテンツに制限されることはありません。例えば、Stremioを通じて、${1}Filmon.tv${2}、${3}Twitch.tv${4}、${5}YouTube${6}、${7}Vodo${8}、さらには${9}Netflix${10}自体のコンテンツを視聴することができます!","FAQ_04_H1":"StremioはFlipboardとどう違いますか?","FAQ_04_P1":"私たちはその質問をあまり受けません、スタートアップの人々と話しているときを除いて:)","FAQ_04_P2":"Stremioは、設計上、コンテンツの集約者であり、それは基本的にビデオ用のFlipboardとなります。これは、私たちのボードセクションで非常に明らかで、あなたがフォローしているものに対してカタログと新しいエピソード/新しいビデオの通知を提供します、まさにFlipboardのように。","FAQ_05_H1":"StremioはPopcorn Timeとどう違いますか?","FAQ_05_P1":"StremioとPopcorn Timeは、ユーザーインターフェースが似ています。なぜなら、ビデオエンターテイメントのカタログを正しく行う方法はそれほど多くないからです :)","FAQ_05_P2":"しかし、Popcorn Timeが特定のソースからのトレントのストリーミングに焦点を当てているのに対し、Stremioは制限がなく、単なるコンテンツの集約者であり、特定のコンテンツソースにロックされていません。","FAQ_05_P3":"さらに、私たちはデフォルトでトレントアドオンを提供していないため、Stremioは公式の機能でPopcorn Timeのユースケースをカバーしていません。","FAQ_05_P4":"もう一つの注目すべき違いは、Popcorn Timeが完全にオープンソースであるのに対し、Stremioは${1}部分的にオープンソース${2}であることです。","FAQ_06_H1":"この映画/シリーズを追加しますか?","FAQ_06_P1":"いいえ、ごめんなさい :(","FAQ_06_P2":"他のほとんどの質問で言及されているように、Stremioは自体は何もコンテンツを提供していません - すべてはアドオンシステムを通じて追加されます。コンテンツのリクエストがある場合は、プレーヤーの「報告」ボタンを使用して、現在使用しているアドオンの作者にメールを送ることができます。","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Xのためのアドオンを作成しますか?","FAQ_08_P1":"それは十分に可能です。","FAQ_08_P2":"アドオンのアイデアがある場合は、${1}office@stremio.com${2}までご連絡ください。ただし、あなたのアドオンのアイデアが著作権や利用規約を侵害しないことを確認してください。","FAQ_08_P3":"現時点では、私たちのロードマップ上の次のものは、FandangoNOW、Filmon.tvのビデオ・オン・デマンド、Crunchyrollのアドオンです。","FAQ_09_H1":"StremioはBitTorrentを使用しますか?","FAQ_09_P1":"はい、StremioはストリーミングプロトコルとしてBitTorrentをサポートしています。それは、トレントアドオンを使用するか、.torrentファイルをStremioにドラッグアンドドロップするか、またはマグネットリンクを検索バーに貼り付けることで使用できます。","FAQ_09_P2":"唯一の公式アドオンでBitTorrentを使用しているのは${1}Vodo${2}で、すべてのインディーコンテンツがBitTorrentで配布されることを許可されていることに注意してください。","FAQ_09_P3":"私たちは、著作権侵害の可能性のある第三者のアドオンの使用をサポートしていません。","FAQ_10_H1":"公式のアドオンを使用してStremioで何を見ることができますか?","FAQ_10_P1":"デフォルトでは、Stremio自体でFilmon.tv、YouTube、Vodoのコンテンツを埋め込みプレーヤーで見ることができます。さらに、Twitch.tv用のアドオンといくつかのアドオンがあります。","FAQ_10_P2":"これを組み合わせると、以下の選択肢があります。","FAQ_10_L1":"Filmon.tvが提供する人気のテレビチャンネル、例えばE4、BBC、Bollyworld TV","FAQ_10_L2":"YouTubeからのすべてのもの - 例えばBBC News、Top Gear、Vevo、PewDiePie","FAQ_10_L3":"Vodoのインディームービー","FAQ_10_L4":"Twitch.tvのオンラインゲーム放送","FAQ_10_P3":"さらに、GuideboxとNetflixのアドオンで提供される多くのコンテンツソースがありますが、それらは<b>完全に</b>Stremio内で再生されるわけではなく、指定されたサービスにリダイレクトされます。例えば、Guideboxのアドオンは、TubiTVやCrackleなどのサービスから無料でストリームできる映画の選択肢を提供します。","FAQ_11_H1":"Stremioがインストールできない場合、どうすればいいですか?","FAQ_11_P1":"Windowsを使用している場合は、${1}この代替インストーラ${2}を試してみてください。","FAQ_11_P2":"Mac OS Xを使用している場合は、OS X Mavericks(10.9)より古いものはサポートしていないことにご注意ください。","FAQ_11_P3":"Linuxを使用している場合は、現時点では64ビット(x64)Linuxのみをサポートしていることに注意してください。","FAQ_11_P4":"それでも問題が解決しない場合は、${1}Facebookグループ${2}で私たちに書いてください。","FAQ_12_H1":"なぜ私のアンチウイルスが文句を言うのですか? Stremioは安全ですか?","FAQ_12_P1":"私たちはStremioが${1}100%クリーン${2}であることを保証します。","FAQ_12_P2":"あなたのアンチウイルスが文句を言っているのは、私たちがインストーラに広告を含めているからで、一部のアンチウイルスプログラムはそれをアドウェアと認識します。","FAQ_12_P3":"まだ不安な場合は、${1}代替インストーラ${2}を試してみてください。","FAQ_13_H1":"どのようにしてアドオンを作成できますか?","FAQ_13_P1":"初めての方は、GitHubの${1}アドオンシステムモジュール${2}をチェックすることをお勧めします。","FAQ_13_P2":"その後、${1}Hello Worldチュートリアル${2}に従って進めることができます。","FAQ_13_P3":"プログラミングのスキルがない場合は、あなたのアイデアを${1}Redditコミュニティ${2}に投稿し、アドオンのアイデアを${3}office@stremio.com${4}で私たちに連絡してください。","FAQ_14_H1":"アドオンはどのように公開されますか?","FAQ_14_P1":"アドオンを作成してホストし、マニフェストに<b>エンドポイント</b>フィールドを設定し、それが動作するアドオンアドレスを指すと、アドオンは自動的に私たちの${1}アドオンカタログ${2}に自身を公開します。","FAQ_14_P2":"これは、stremio-addonsモジュールのサーバーパートが自動的にAPIにアドオンを発表するための呼び出しを行うためです。APIがあなたの<b>エンドポイント</b>を有効なアドオンとして検証すると、カタログに表示され始めます。","FAQ_15_H1":"私はブラウザでStremioを実行できますか?","FAQ_15_P1":"現時点ではできませんが、これから実現する予定です!","FAQ_15_P2":"アルファ版を見てみたい場合は、こちらで見ることができます:${1}alpha4.strem.io${2}。ただし、このアルファ版ではストリーミングは無効になっています。Chrome、Firefox、Opera、Edgeをサポートしています。","FAQ_16_H1":"テレビへのキャスティングが機能しない / 字幕が機能しない","FAQ_16_P1":"テレビへのキャスティングはDLNA技術を使用しており、これはテレビのブランドやモデルによって非常に一貫性がありません。そのため、すべてのケースでテストする能力はありませんので、完全ではありません。それにもかかわらず、私たちは常に改善に努めていますが、DLNAがあなたのテレビで正常に動作するようになる時期を見積もることはできません。","FAQ_16_P2":"キャスティングメニューでテレビが表示されない場合は、ネットワーク接続を無効にして再度有効にする(Windowsでは、ネットワークを右クリックして有効/無効を選択)、ルーター、テレビ、PCを再起動するなどを試してみてください。","FAQ_16_P3":"それでも問題が解決しない場合は、テレビのブランドとモデル情報を${1}office@stremio.com${2}まで送信して私たちを助けていただけます。","FAQ_16_P4":"その間、私たちはChromecastを推奨します。これは私たちが非常によくサポートしています。または、単純にテレビをHDMIケーブルでPCに接続することもできます。","FAQ_17_H1":"Stremioがフリーズしたりクラッシュしたりする場合、何をすればいいですか?","FAQ_17_P1":"まず最初に、Windows 7とAVGアンチウイルスを使用している場合:その組み合わせに問題があります。問題はAVG自体にあり、私たちの側でそれを解決する合理的な方法はありません。残念ながら、例外を設定したりアンチウイルスを無効にしたりしても効果はありません。唯一の解決策は、AVGを他のものに置き換えることです。","FAQ_17_P2":"それが問題でない場合でも、まだWindowsを使用している場合は、最新のサービスパックに更新し、GPUドライバーを更新/再インストールしてから再試行してください。","FAQ_17_P3":"問題がまだ解決しない場合、またはMacまたはLinuxを使用している場合は、問題の詳細を報告して${1}Facebookグループ${2}に書いてください。","FAQ_18_H1":"どのようにしてアドオンを作成できますか?","FAQ_18_P1":"初めての方は、GitHubの${1}アドオンシステムモジュール${2}をチェックすることをお勧めします。","FAQ_18_P2":"その後、${1}Hello Worldチュートリアル${2}に従って進めることができます。","FAQ_18_P3":"プログラミングのスキルがない場合は、あなたのアイデアを${1}Redditコミュニティ${2}に投稿し、アドオンのアイデアを${3}office@stremio.com${4}で私たちに連絡してください。","FAQ_19_H1":"Stremioがストレージを占有しているのはなぜですか?","FAQ_19_P1":"Stremioには<b>ローカルキャッシュ</b>があり、ストリームした動画ファイルを一時的に保持します。","FAQ_19_P2":"これには2つの利点があります。最初に、Stremioが動画を事前にバッファリングして、スムーズなストリーミングを保証することができます。また、動画をローカルキャッシュに保持してオフラインで視聴を続けることができます。","FAQ_19_P3":"Stremioがどれだけ保持するかは、設定パネルの<b>キャッシュ</b>設定によります。Stremioは、ディスク上に設定された量(例えば2GB)まで保持することができます。ただし、現在ストリーミングしているビデオがそれより大きい場合は、ストリーミングしている間それを保持するために十分なストレージを確保する必要があります。","FAQ_20_H1":"キャッシュフォルダはどこにありますか?","FAQ_20_P1":"Windowsでは、設定で選択したドライブのstremio-cache(例: 「E:\\\\stremio-cache」)にあります","FAQ_20_P2":"MacOSでは、「~/Library/Application Support/Stremio/stremio-cache」にあります","FAQ_20_P3":"Linuxでは、「~/.stremio/stremio-cache」または「~/stremio-cache」にあります","FAQ_21_H1":"「ストリーミングサーバーが見つかりません」というエラーが表示されます。どうすればいいですか?","FAQ_21_P1":"このエラーが発生した場合は、次のいずれかを意味します:","FAQ_21_P2":"1) YouTube/BitTorrentソースをバックアップに使用したアドオンを、私たちの${1}ウェブ版${2}を通じて使用しようとしています。この場合、${3}私たちのウェブサイト${4}からデスクトップ版をインストールする必要があります。","FAQ_21_P3":"2) Stremioのインストールに何か問題があります。この場合、${1}ウェブサイト${2}から最新のデスクトップバージョンを再インストールしてみてください。それでも解決しない場合は、アンチウイルスプログラムとファイアウォールを無効にし、PCを再起動して再試行してみてください。それでもうまくいかない場合は、${3}私たちのFacebookグループ${4}に書き込んでください。","FAQ_22_H1":"iOSではほとんどのアドオンを表示/使用できません","FAQ_22_P1":"AppleのApp Storeの利用規約に制限があるため、iOS版Stremioは特定のアドオンのみに制限されています。","FAQ_22_P2":"しかし、ご安心ください - 将来的にはiOS用のアドオンが増え、iOSアプリをStremioストリーミングサーバーに接続することで、すべてのStremioアドオンを使用できるようになるかもしれません。"}')},14426:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"영화","TYPE_series":"시리즈","TYPE_tv":"TV 채널","TYPE_channel":"채널","TYPE_other":"기타","TYPE_movie_PL":"영화","TYPE_series_PL":"시리즈","TYPE_tv_PL":"TV 채널","TYPE_channel_PL":"채널","TYPE_other_PL":"기타","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"비디오","BACK":"뒤로","MORE":"더","DONE":"완료","COPY":"복사","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"발견","Board":"게시판","Library":"라이브러리","My Library":"내 라이브러리","Calendar":"캘린더","NOTIFICATION_ONLINE":"현재 온라인 상태입니다.","NOTIFICATION_OFFLINE":"현재 오프라인 상태입니다.","INTERNET_CONNECTION":"네트워크 연결","STORAGE_FULL_TITLE":"경고: 저장용량이 가득 찼습니다.!","STORAGE_FULL_TEXT":"Stremio는 설정, 기본 설정 또는 로그인 정보를 저장할 수 없습니다. Stremio를 다시 시작하거나 다시 설치하는 것이 좋습니다.","SEARCH":"검색","SEARCH_NO_RESULTS":"검색 결과가 없습니다.","SEARCH_EXPLANATION_CONTENT":"영화, 시리즈, YouTube 및 TV 채널 검색","SEARCH_EXPLANATION_PEOPLE":"배우, 감독, 작가 검색","SEARCH_PASTE_LINKS":"HTTP 및 마그넷 링크 붙여넣기","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"라이브러리에 추가","REMOVE_FROM_LIB":"라이브러리에서 삭제","ADDED_TO_LIB":"라이브러리에 추가됨","REMOVED_FROM_LIB":"라이브러리에서 삭제됨","TRAILER":"예고편","WATCH_TRAILER":"예고편 보기","WATCH_NOW":"바로 보기","SHOW":"찾아보다","SHOW_MOVIE":"영화 보기","WATCH_RANDOM":"무작위 시청","IMDB_RATING":"IMDB 등급","YEAR":"연도","DIRECTOR":"감독","WRITER":"작가","LEAD_ACTORS":"주연","CAST":"캐스트","CREW":"Crew","SHOW_MORE_CAST":"더 보기 »","AIRED":"Aired","SEASONS":"Seasons","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"카탈로그","SUMMARY":"요약","SHOW_MORE":"더 보기","SIMILAR":"비슷한","UPCOMING":"예정","TBA":"TBA","ENDED":"종료","DURATION":"지속 시간","FEATURED":"추천","METADATA":"메타데이터","CATEGORY":"카테고리","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"동영상 검색","SEARCH_PLACEHOLDER":"URL 검색 또는 붙여넣기","ADDON":"애드온","ADDONS":"애드온","OFFICIAL":"공식","ADDONS_OFFICIAL":"공식 스트레미오 애드온","ADDONS_POPULAR":"해당 지역에서 인기 있는","ADDON_FREE":"무료","ADDON_PEERED":"피어링","ADDON_SUBSCRIPTION":"구독","ADDON_STREAM_GEORESTRICTED":"귀하의 지역에서는 사용할 수 없습니다.","ADDON_STREAM_OFFLINECACHE":"오프라인 캐시","ADDON_STREAM_LOCALFILE":"로컬 파일","SHARE_ADDON":"애드온 공유","AVAILABLE_STREAMS":"사용 가능한 스트림","NO_STREAM":"스트림을 찾을 수 없습니다.","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"더 많은 스트림을 보려면 더 많은 애드온을 설치하십시오.","STREAM_NOT_SUPPORTED":"선택한 스트림은 이 플랫폼에서 지원되지 않습니다.","ADDON_CATALOGUE":"모든 애드온 표시 »","ADDON_CATALOGUE_MORE":"애드온 설치","REPO_ADDED":"리포지토리 추가됨","ADDON_REPO_EXIST_ERR":"이 애드온 모음이 이미 존재합니다.","ADDON_REPO_ERR":"컬렉션을 추가하는 동안 오류가 발생했습니다.","ADDON_ADD_ERR":"애드온을 추가하는 동안 오류가 발생했습니다.","ERR_ADDON_PROTECTED":"애드온을 제거할 수 없습니다. 보호되어 있습니다.","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"문제가 발생했습니다. 인증에 실패했을 수 있습니다.","ERR_NOT_COLLECTION_URL":"컬렉션 URL이 아닙니다.","ERR_NOT_ADDON_URL":"유효한 애드온 URL이 아닙니다.","ERR_DETECTFROMURL":"이 URL에서 애드온/수집을 찾을 수 없습니다.","ADDON_DUPLICATE_WARNING":"경고: 중복 애드온","ADDON_COLLECTION_SET_FAILED":"설치된 애드온을 계정에 동기화하지 못했습니다.","SETTINGS_DATA_EXPORT":"사용자 데이터 내보내기","ADDON_PULL_FAILED":"계정에서 설치된 애드온을 동기화하지 못했습니다.","REFRESH_ON_CLICK":"재시도하려면 클릭하십시오.","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"영화가 상영중입니다.","WATCH_IN_CINEMA":"지역 영화관에서 감상하세요.","IN_THEATER":"영화관에서","GET_TICKETS":"티켓 받기","UPCOMING_EPISODE":"다음 에피소드","UPCOMING_EPISODE_MESSAGE":"이 에피소드는 다음에서 방송됩니다.","MISSING_DATE_EPISODE":"에피소드 날짜 누락","MISSING_DATE_EPISODE_MESSAGE":"이번 에피소드는 아직 방송되지 않았을 수 있습니다.","CHANNEL_NOT_SCRAPED":"이 채널은 아직 스크랩되지 않았습니다.<br>몇 분 후에 다시 오세요.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"라이브러리에 추가하여 사용 가능한 경우 알림을 받습니다.","GET_NOTIFIED_WHEN_AVAILABLE":"사용 가능한 경우 알림이 발송됩니다.","WARNING_STREAMING_SERVER":"경고: 로컬 스트리밍 서버를 찾을 수 없습니다. 로컬 파일, 유튜브, 비트토렌트의 스트리밍을 사용할 수 없습니다","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"경고: 이 비디오는 하드웨어에서 지원되지 않을 수 있습니다. 재생이 느릴 수 있습니다.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"앗, 플레이어 오류","PLAYER_ERROR_LOOKSLIKE":"그런 것 처럼 보인다.","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"잠금","PLAYER_ORIENTATION_SENSOR_SHORT":"센서","PLAYER_ORIENTATION_LANDSCAPE":"플레이어 오리엔테이션이 가로로 잠겨 있습니다.","PLAYER_ORIENTATION_SENSOR":"플레이어의 방향 자동(sensor)","PLAYER_PLAYBACK_SPEED":"재생속도","PLAYER_PLAYBACK_ERROR":"재생 오류입니다. 다시 시도하십시오.","PLAYER_PLAYBACK_ERROR_UNKNOWN":"알 수 없는 오류","PLAYER_PLAYBACK_ERROR_DEFAULT":"죄송합니다. 이 비디오는 {{productName}}에서 재생할 수 없습니다.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"라이브","PLAYER_NEXT_VIDEO_TITLE":"다음 영상","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"지금 바로 시청하세요.","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"스트리밍 시작","CASTING_TO":"캐스팅 대상","NETWORK_STATUS":"네트워크 상태","STREAM_SPEED":"스트림 속도:","STREAM_BUFFERED":"버퍼:","PEERS_INFO":"피어 정보","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"연결상태:","PEERS_WAITING":"대기:","TRANSCODING_WARNING":"경고: 비디오 트랜스코딩.","STREAM_LOADING":"로딩중...","PLAYING_LOCAL":"로컬 파일에서 재생","PLAYING_CACHE":"캐시에서 재생","WRONG_SUBS":"자막이 틀렸나요?","ERR_SUBS_LOADING_TITLE":"자막 로드 오류","ERR_SUBS_LOADING":"자막을 로드하지 못했습니다.사용 중인 애드온 또는 네트워크 연결 문제일 수 있습니다.","WARN_FOLLOWING_SUB_ADDONS_FAILED":"다음 자막 추가가 실패했습니다.","ERR_CASTING_UPDATE_TITLE":"캐스팅 디바이스 정보를 갱신할 수 없습니다.스트리밍 서버가 오프라인 상태일 수 있습니다.","CHOOSE_DEVICE":"시청할 디바이스 선택","NO_CAST_DEVICES":"사용 가능한 캐스팅 장치가 없습니다.","NO_SETTINGS":"사용 가능한 설정이 없습니다.","NO_OPTIONS":"No options available","PHONE_TABLET":"폰 / 태블릿","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"자막 변경 ","SUBTITLES_CHANGE_NONE":"이 언어에는 다른 자막이 없습니다. 죄송합니다.","SUBTITLES_CHANGE_ACIVE":"현재 자막 #{subtitlesDialog.activeIdx + 1}이 활성화되어 있습니다. \\"계속\\"을 클릭하여 자막 #{subtitlesDialog.pickedIdx + 1}}을 활성화합니다.","SUBTITLES_OR":"대체,","SUBTITLES_ADJUST_DELAY":"자막 지연 조정:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"또는 방송시 <span>G</span>/<span>H</span>키를 사용해 조정할 수 있습니다..","SUBTITLES_ADJUST_DELAY_TIP":"힌트: 당신은 방송시 <span>G</span>/<span>H</span>키를 사용하여 조정할 수 있습니다..","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"자막 로드중...","SUBTITLES_UNAVAILABLE":"외부 자막은 사용할 수 없습니다.","SUBTITLES_DISABLED":"비활성","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Season","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"에피소드","EPISODE_ABBREVIATION":"EP","SPECIAL":"스페셜","SORT":"정렬","SORT_BY":"순서대로 정렬","FILTER":"필터","SORT_TRENDING":"트렌딩","SORT_RECENT":"최근","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"등급","SORT_WATCHED":"시청함","SORT_YEAR":"년","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"새로운 에피소드","New Videos":"새로운 영상","Recommendations":"권장사항","LIBRARY_RESUME":"재개","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"상시","LIBRARY_RESUME_DISMISS":"Dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"오스카 수상자","DISCOVER_WARNING_TITLE":"앗!","DISCOVER_EMPTY_CATALOG":"이 애드온은 빈 콘텐츠를 반환했습니다.","DISCOVER_ADULT_WARNING":"콘텐츠는 성인만 볼 수 있습니다. 18세 이상입니까?","DISCOVER_NOADDON_WARNING":"경고: 이 유형에 대해 활성화된 Stremio 추가 기능이 없습니다. 저장된 아이템을 표시해도 갱신되는 것은 없습니다.","DISCOVER_LOAD_ERR":"콘텐츠가 로드되지 않고 오류가 발생했습니다.","DISCOVER_ADDON_UNINSTALLED":"이 콘텐츠는 더 이상 사용할 수 없습니다.Addon을 제거했을 수 있습니다.","UNINSTALL_THIS_ADDON":"이 애드온을 제거합니다","ERR_ADDON_NOT_INSTALLED":"이 애드온은 설치되어 있지 않습니다. 지금 설치하시겠습니까?","DETAIL_RECEIVE_NOTIF_SERIES":"새로운 에피소드에 대한 알림 수신","DETAIL_RECEIVE_NOTIF_VIDEOS":"새로운 영상에 대한 알림 수신","SIDEBAR_SHOW_STREAMS":"스트림 표시","RELAUNCH":"지금 바로 재기동!","UPGRADE":"새로운 버전이 출시되었습니다! 최신 Stremio 버전으로 업그레이드","RELOAD_UI":"사용자 인터페이스 새로고침","MANUAL_UPDATE_TITLE":"Stremio 버전 업데이트","MANUAL_UPDATE_LINE1":"추천되지 않는 오래된 버전의 Stremio를 실행하고 있습니다.","MANUAL_UPDATE_LINE2":"최대한 빨리 갱신해 주세요.","BUTTON_UPDATE_LATTER":"지금은 안됩니다.","BUTTON_UPDATE_NOW":"업데이트","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"익명 사용자","DONT_HAVE_ACC":"계정이 없으신가요?","HAVE_ACC":"이미 계정을 가지고 계십니까?","PASSWORD":"비밀번호","PASSWORD_CONFIRM":"비밀번호 확인","EMAIL":"이메일","FB_LOGIN":"페이스북으로 가입","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"사용자의 허가 없이 공유되는 것은 없습니다.","FB_NOPOST":"고객님을 대신하여 아무것도 게시하지 않습니다.","OR":"또는","I_ACCEPT":"동의합니다.","I_ACCEPT_BY_CLICKING":"위 버튼을 클릭함으로써 에 동의함을 증명합니다. ","TOS":"약관 및 조건","MUST_ACCEPT_TERMS":"약관에 동의해야 합니다","PASSWORDS_NOMATCH":"비밀번호가 일치하지 않습니다","SIGN_UP":"가입","SIGN_UP_EMAIL":"이메일로 가입","CLICK_TO_SIGN_UP":"가입하려면 여기를 클릭하십시오.","LOG_IN":"로그인","LOG_OUT":"로그아웃","EXIT_FULLSCREEN":"전체 화면 모드를 종료합니다.","ENTER_FULLSCREEN":"전체 화면 모드 전환","PLAY_URL_MAGNET_LINK":"URL/마그넷 링크 재생","HELP_FEEDBACK":"도움말 & 피드백","TERMS_OF_SERVICE":"서비스 약관","PRIVACY_POLICY":"개인정보보호 정책","ABOUT_STREMIO":"Stremio에 대하여","USER_PANEL":"사용자 패널","LOGIN_LABEL":"로그인","GUEST_LOGIN":"게스트 로그인","GUEST_LOGIN_NOTICE":"게스트 로그인은 권장되지 않습니다. 일반 로그인을 사용하면 Stremio가 라이브러리를 동기화하고 즐겨찾는 시리즈/채널에 대한 알림을 받을 수 있습니다. 계속 진행하시겠습니까?","GUEST_LOGIN_NOTICE_2":"게스트 로그인은 권장되지 않습니다.라이브러리와 보드 알림은 동기화되지 않습니다.이것은 Stremio의 중요한 기능입니다. 계속 진행하시겠습니까?","CLICK_HERE":"여기를 클릭","WRONG_PASSWORD":"이메일 또는 비밀번호가 잘못되었습니다. 비밀번호를 잊어버린 경우, ","SET_A_PASS":"비밀번호 설정","RESET_PASSWORD":"비밀번호 초기화","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"비밀번호를 잊어버렸습니까?","EMAIL_USED_WITH_FB":"이 이메일은 Facebook 로그인과 함께 사용되었습니다.","INVALID_EMAIL":"유효한 이메일 주소를 입력하십시오.","INVALID_PASSWORD":"유효한 비밀번호를 입력해주세요.","CONN_ERR":"연결 오류 - 나중에 다시 시도하십시오.\\n\\n이 문제가 해결되지 않으면 방화벽/바이러스 대책 소프트웨어(특히 Bitdefender)를 비활성화합니다.","IMPORT_FROM_GUEST":"게스트 계정에서 라이브러리 가져오기","RECEIVE_UPDATES_EMAIL":"Stremio에서 이메일 업데이트 수신","LOGIN_FAILED":"로그인에 실패했습니다.","SIGNUP_FAILED":"가입에 실패했습니다.","SEARCH_FAILED":"검색 실패","EMAIL_USED":"이 이메일은 이미 사용 중입니다.","WAITING_FB_LOGIN":"Facebook으로 로그인 중...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"외부 플레이어에서 재생","EXTERNAL_REMEMBER_PLAYER":"선택한 내용을 기억하시겠습니까?","EXTERNAL_ALWAYS_PLAY":"네","EXTERNAL_ONLY_ONCE":"아니오","BEST_FIT":"최적화","FIT_SCREEN":"화면 최적화","FILL":"채우기","16:9":"16:9","4:3":"4:3","Original":"원본","INTRO_TASTE":"좋아하는 걸 이야기해 주세요.","INTRO_TASTE_LONG":"보고 싶은 걸 말해주세요.","INTRO_TASTE_PICK":"{{interestsRemaining}} 관삼분야를 선택해주세요.","INTRO_TASTE_PICK_MORE":"{{interestsRemaining}}개 이상의 관심사를 선택해주세요.","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"다음 중 몇 가지를 선택하세요:","INTRO_TASTE_CHOOSE_MIN":"3개 이상의 카테고리를 선택하십시오.","INTRO_TASTE_CHOOSE_MIN_ERR":"최소 3가지 카테고리를 선생해야 합니다!","INTRO_TASTE_LIFESTYLE":"라이프스타일","INTRO_TASTE_SPORTS":"스포츠","INTRO_TASTE_FOOD_HEALTH":"음식 & 건강","INTRO_TASTE_BEAUTY_FASHION":"뷰티 & 패션","INTRO_TASTE_NEWS":"뉴스","INTRO_TASTE_GAMING":"게이밍","INTRO_TASTE_SCIENCE_EDU":"과학 & 교육","INTRO_TASTE_MUSIC":"음악","INTRO_TASTE_TRAVEL":"여행","INTRO_TASTE_LATE_NIGHT":"심야방송","INTRO_TASTE_REALITY":"리얼리티","INTRO_TASTE_COMEDY":"코미디","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"테크","INTRO_TASTE_CINEMA":"시네마","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"선택한 애드온은 이 플랫폼에서 지원되지 않습니다.","ADDON_DISCLAIMER":"서드파티 애드온을 사용하는 것은 항상 사용자의 책임과 소재지의 관할구역 준거법의 적용을 받습니다.","ADDON_ACTIVATE":"이 애드온을 활성화하시겠습니까?","ADDON_REPO_ADD":"애드온 컬렉션 URL","ADDON_ADD":"추가","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"새로운 것","BUTTON_CONTINUE":"계속","BUTTON_ACTIVATE":"활성화","BUTTON_ACTIVATED":"활성화된","BUTTON_CANCEL":"취소","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"제출","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"모두 제거","BUTTON_VIEW_ALL":"모두 표시","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"라이브러리가 비어 있는 것 같습니다. 얼마나 유용한지 확인하세요:) ","HOW_START":"시작 방법은 다음과 같습니다:","LIB_EMPTY_CAL":"캘린더에 라이브러리의 시리즈가 표시됩니다.","HOW_START_CAL":"시리즈를 추가하는 방법은 다음과 같습니다:","LIB_EMPTY_BOARD":"게시판에 라이브러리와 관련된 알림 및 권장 사항이 표시됩니다","HOW_START_BOARD_WAIT":"라이브러리에 몇 개의 시리즈 또는 채널을 추가해 주세요. :)","HOW_START_BOARD":"시리즈 및 영화를 추가하는 방법은 다음과 같습니다:","IMPORT_FB":"<span>Facebook</span>에서 좋아하는 것을 가져오기","IMPORT_TRAKT":"<span>Trakt</span>에서 미디어 라이브러리 가져오기","IMPORT_DISCOVER":"<span>Discover</span>에서 흥미로운 항목 찾기","IMPORT_DISK":"<span>로컬 디스크</span>에 있는 영화 또는 프로그램 가져오기","PLEASE_CREATE_ACC":"라이브러리 동기화 및 게시판을 활성화하려면 <u>계정을 만드세요.</u>","IMPORT_DISCOVER_SIGNUP":"가입하고 <span>Discover</span>에서 흥미로운 정보를 찾아보세요.","IMPORT_DISK_SIGNUP":"가입하고 <span>로컬 디스크</span>에 있는 영화 또는 프로그램 가져오기","LIB_EMPTY_CLOUD":"클라우드 라이브러리","LIB_EMPTY_CLOUD_DESC":"모든 장치에서 동기화된 개인 클라우드 라이브러리","LIB_EMPTY_EARLY":"얼리버드","LIB_EMPTY_EARLY_DESC":"새로운 에피소드 알림 수신","LIB_EMPTY_PERSONAL":"개인","LIB_EMPTY_PERSONAL_DESC":"개인 추천 받기","LIB_EMPTY_CALENDAR_DESC":"개인 시청 일정 예약","LIB_EMPTY_ALL":"이것들을 모두 얻으려면 가입하세요:","LIB_EMPTY_BEST":"Stremio를 최대한 활용하려면 가입하십시오.","LIB_EMPTY_OTHER":"캘린더 및 기타 멋진 기능을 활성화하려면 가입하십시오.","CALENDAR_ADDED":"Stremio 캘린더가 기본 데스크톱 캘린더에 추가되었습니다.","CALENDAR_ADDED_MSG":"이 URL을 캘린더 어플리케이션에 수동으로 추가해 주세요.","TRAKT_EXPIRED":"Trakt 인증이 만료되었습니다. 설정으로 이동하여 재인증하십시오.","TRAKT_REQUIRES_LOGIN":"Trakt 오류","TRAKT_REQUIRES_LOGIN_MSG":"로그인이 필요합니다.","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"설정","SETTINGS_NAV_GENERAL":"일반","SETTINGS_NAV_PLAYER":"플레이어","SETTINGS_NAV_STREAMING":"스트리밍","SETTINGS_NAV_SHORTCUTS":"숏컷","SETTINGS_SHORTCUT_RELOAD_APP":"앱 새로고침","SETTINGS_SHORTCUT_OPEN_SETTINGS":"설정 열기","SETTINGS_SHORTCUT_SWITCH_TABS":"탭 전환","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"앞으로 탭 순환","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"뒤로 탭 순환","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"나가기 / 뒤로가기","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"전체 화면 전환","SETTINGS_SHORTCUT_SHOW_CONTROLS":"컨트롤 표시","SETTINGS_SHORTCUT_PLAY_PAUSE":"재생 / 일시정지","SETTINGS_SHORTCUT_VOLUME_UP":"불륨 크게","SETTINGS_SHORTCUT_VOLUME_DOWN":"볼륨 작게","SETTINGS_SHORTCUT_SEEK_NEXT":"다음 검색","SETTINGS_SHORTCUT_SEEK_PREV":"이전 검색","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"다음 재생","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"자막 크기 늘리기","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"자막 크기 줄이기","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"자막 딜레이 증가","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"자막 딜레이 감소","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"사이드바 전환","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"시작 시 실행","SETTINGS_VLC_DEFAULT":"VLC로 재생","SETTINGS_UI_LANGUAGE":"UI 언어","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape 키 전체 화면 종료","SETTINGS_GAMEPAD":"게임패드 지원 활성화","SETTINGS_CLOSE_WINDOW":"창이 닫힐 때 앱 닫기","SETTINGS_SUBTITLES_LANGUAGE":"기본 자막 언어","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"기본 자막 크기","SETTINGS_SUBTITLES_BACKGROUND":"자막 배경","SETTINGS_SUBTITLES_COLOR":"자막 색상","SETTINGS_SUBTITLES_COLOR_OUTLINE":"자막 윤곽선 색상","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"자막 배경색","SETTINGS_SEEK_KEY":"화살표 키 탐색 시간","SETTINGS_SEEK_KEY_SHIFT":"Shift 키를 누른 상태에서 화살표 키로 시간을 조작할 수 있습니다.","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"다음 에피소드 자동 재생","SETTINGS_NEXT_VIDEO":"다음 에피소드 시작 알림 표시","SETTINGS_NEXT_VIDEO_TRIGGER":"다음 에피소드 알림 표시:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"재생하기 전에 창 크기 자동 조정","SETTINGS_OVERRIDE_SERVER":"스트리밍 서버의 URL을 덮어씁니다(고급)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"스트리밍 서버 URL: ","SETTINGS_SERVER_AVAILABLE":"스트리밍 서버를 사용할 수 있습니다.","SETTINGS_SERVER_UNAVAILABLE":"스트리밍 서버를 사용할 수 없습니다.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"스트리밍 HTTPS 엔드포인트: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"항상 최신 베타버전 사용","SETTINGS_IMPORT_FB":"Facebook에서 Import","SETTINGS_IMPORT_DISK":"로컬 디스크에서 Import","SETTINGS_IMPORT_TRAKT":"Trakt에서 Import","SETTINGS_PAUSE_MINIMIZED":"최소화 시 재생 일시정지","SETTINGS_HWDEC":"하드웨어 가속 디코딩","SETTINGS_BACKGROUND":"백그라운드 재생","SETTINGS_SUBSCRIBE_CALENDAR":"일정표 구독","SETTINGS_REQ_EXPORT":"데이터 내보내기 요청","SETTINGS_ACC_DELETE":"계정 삭제 요청","SETTINGS_CHANGE_PASSWORD":"비밀번호 변경","SETTINGS_TOS":"서비스 약관","SETTINGS_SUPPORT":"지원 문의","SETTING_LANGUAGE":"언어","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Trakt.tv에서 로그아웃","SETTINGS_TRAKT_LOGOUT_2":"Trakt에서 로그아웃","SETTINGS_SCAN_FOR_REMOTE":"QR코드를 스캔하여 리모트로 엽니다.","SETTINGS_DESKTOP_NOTIFICATIONS":"데스크탑 알림","SETTINGS_DATA_SAVER":"데이터 세이버","SETTINGS_LANGUAGE_INTERFACE":"인터페이스","SETTINGS_LANGUAGE_SUBS":"기본 자막","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"오디오 트랙 자동 선택","SETTINGS_DEFAULT_AUDIO_TRACK":"기본 오디오 트랙","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"계정","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"버전","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"다른 창에서 플레이어를 기동합니다(상세설정)","SETTINGS_PLAY_IN_EXTERNAL":"항상 외부 플레이어에서 비디오를 시작합니다","SETTINGS_STORAGE_BUTTON":"로컬 스토리지 비우기","SETTINGS_STORAGE_MODAL_TITLE":"확실합니까?","SETTINGS_STORAGE_MODAL_MESSAGE":"로컬 스토리지를 비우고 로그아웃합니다.","SETTINGS_HWDEC_PICKER":"하드웨어 가속 디코딩 설정 선택","SETTINGS_HW_AUTOMATIC":"자동","SETTINGS_HW_DISABLED":"비활성","SETTINGS_HW_ACCELERATED":"디코딩 가속 중","SETTINGS_HW_FULL":"전체 가속","SETTINGS_HW_LEGACY":"레거시","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"오디오","SUBSPICKER_SUBTITLES":"애드온 자막","SUBSPICKER_BLACK_BACKGROUND":"검정색 배경 사용","SUBSPICKER_VERTICAL_OFFSET":"수직 오프셋","SUBSPICKER_SIZE":"크기","SUBSPICKER_DELAY":"딜레이","SUBSPICKER_EMBEDDED_SUBS":"내장된 자막","MOBILE_PRIVACY_POLICY":"개인정보보호 정책","MOBILE_CRASH_REPORTING":"크래시 리포트","MOBILE_ZOOM_TO_FILL":"화면을 채우려면 확대","MOBILE_PASSTHROUGH":"디지털 오디오 출력(패스스루)","MOBILE_RUN_LOW_BATTERY":"배터리 부족 시 실행","MOBILE_RUN_FOREGROUND":"Foreground Service로 실행","MOBILE_PERFORMANCE":"퍼포먼스 & 안정성","MOBILE_SERVER_ONLINE":"온라인","MOBILE_SERVER_OFFLINE":"오프라인","MOBILE_QR_EXPIRES":"만료된 QR 코드","MOBILE_LOG_INTO":"Stremio 계정에 로그인합니다.","MOBILE_SCAN_QR":"위의 QR코드를 스캔하거나 이동","MOBILE_LINK_ACCOUNT":"링크 계정","MOBILE_SPEEDPICKER_CANCEL":"취소","MOBILE_SPEEDPICKER_LABEL":"재생속도 선택","MOBILE_EMPTY_LIBRARY":"라이브러리가 비어 있습니다.","MOBILE_NO_ADDON_ACTIVE":"이 유형에 대해 활성화된 Stremio 애드온이 없습니다.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer 앱은 제한된 기능을 제공합니다. 재생 가능한 스트림 목록과 Stremio의 모든 경험을 보려면 데스크톱에서 Stremio를 사용하십시오.","MOBILE_ADDON_LOADING":"아직 로드 중","MOBILE_ADDONS_LOADING":"애드온은 아직 로드 중입니다.","MOBILE_ADDON":"애드온","MOBILE_CONFIGURE_ADDON":"애드온 설정","MOBILE_CONFIGURE_ADDON_LABEL":"애드온 구성","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer 앱은 제한된 애드온을 제공합니다. Stremio를 최대한 활용하려면 데스크톱에서 Stremio를 사용하십시오.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"디바이스 검색 중...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Stremio로부터의 마케팅 정보 수신에 동의합니다.","QUIT":"Quit","CONNECTED":"접속완료","AUTHENTICATE":"인증","AUTHENTICATING":"Authenticating...","CACHING":"캐싱","SETTINGS_CACHING_DRIVE":"드라이브 캐시 중","ENABLE_LOCAL_FILES_ADDON":"로컬 파일 추가 기능을 활성화합니다. (재기동 필요)","LOCAL_ADDON_NOT_ENABLED":"로컬 애드온이 활성화되지 않았습니다. 여기를 클릭하여 설정으로 이동하여 활성화하십시오.","ENABLE_REMOTE_HTTPS_CONN":"리모트 HTTPS 접속 활성화","TORRENT_PROFILE":"Torrent 설정","DATA_CACHING":"데이터 캐싱","MAGNET_PARSING":"마그넷 링크 파싱 중","January":"1월","February":"2월","March":"3월","April":"4월","May":"5월","June":"6월","July":"7월","August":"8월","September":"9월","October":"10월","November":"11월","December":"12월","Monday":"월요일","Tuesday":"화요일","Wednesday":"수요일","Thursday":"목요일","Friday":"금요일","Saturday":"토요일","Sunday":"일요일","Action":"액션","Comedy":"코미디","War":"전쟁","Family":"가족","Animation":"애니메이션","Adventure":"어드벤처","Fantasy":"판타지","Crime":"범죄","Mystery":"미스터리","Romance":"로맨스","Drama":"드라마","Horror":"공포","Thriller":"스릴러","Sci-Fi":"SF","Music":"음악","Biography":"전기","Documentary":"다큐멘터리","Sport":"스포츠","Musical":"뮤지컬","Western":"서부","Film-Noir":"흑인","News":"뉴스","History":"역사","Game-Show":"게임쇼","Reality-TV":"리얼리티","Talk-Show":"토크쇼","Film & Entertainment":"영화 & 엔터테이먼트","Gaming":"게이밍","From TV":"TV프로","Lifestyle":"라이프사이클","Science & Education":"과학 & 교율","Cooking & Health":"요리 & 건강","Beauty & Fashion":"뷰티 & 패션","Sports":"스포츠","News & Politics":"뉴스 & 정치","How-to & DIY":"사용법 & DIY","Tech":"테크","Automotive":"자동차","Causes & Non-Profits":"사업 & 공익","Movies":"영화","Uk Live Tv":"영국 생방송 TV","Fashion":"패션","Business News Radio":"비지니스 뉴스 라디오","Business Tv":"비지니스 TV","Cars & Auto":"자동차 & 자동화","Comedy Radio":"코미디 라디오","Lifestyle Radio":"라이프스타일 라디오","News Tv":"뉴스TV","Food And Wine":"음식 및 와인","Latino Tv":"라틴어 TV","Shopping Tv":"쇼핑 TV","Religion":"종교","Kids":"어린이","Body & Soul":"몸 & 영혼","Education":"교육","Indian Tv":"인도 TV","Extreme Sports":"익스트림 스포츠","Middle Eastern Tv":"중동 TV","Celebrity Tv":"연예인 TV","Science Tv":"사이언스 TV","Bikini babe":"비키니 베이비","Outdoors":"아웃도어","German Tv":"독일 TV","French Tv":"프랑스어 TV","Italian Tv":"이탈리아 TV","Gamer Tv":"게이머 TV","Travel":"여행","Asian Tv":"아시아 TV","Entertainment":"엔터테인먼트","News Radio":"뉴스 라디오","Music Radio":"음악 라디오","Language Learning":"언어학습","Science Radio":"과학 라디오","Tech Radio":"테크 라디오","Science & Technology Vod":"과학 & 기술 VOD","new video":"뉴스 영상","new episode":"새로운 에피소그","new movie":"신작 영화","recommended":"권장","we recommend":"권장합니다.","offer of the day":"오늘의 할인","news":"뉴스","music video":"뮤직비디오","CTX_SHOW_HOTKEYS":"단축키 표시","CTX_DISMISS_NOTIF":"알림 해제","CTX_DISMISS_ALL":"모두 해제","CTX_SHARE":"공유","CTX_COPY_SHARE_LINK":"공유링크 복사","CTX_COPY_MAGNET_LINK":"마그넷링크 복사","CTX_COPY_STREAM_LINK":"스트림링크 복사","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"영상 다운로드","CTX_DOWNLOAD_SUBS":"자막 다운로드","CTX_VIEW_ON_YOUTUBE":"YouTube에서 보기","CTX_SHOW":"보기","CTX_PLAY":"방송","CTX_PLAY_IN":"방송생","CTX_PLAY_ON":"방송중","CTX_WATCH_ON":"시청중","CTX_WATCH":"시청","CTX_WATCHED":"시청완료","CTX_WATCH_BEGINNING":"처음부터 시청하기","CTX_WATCH_MOBILE":"모바일로 시청하기","CTX_REWIND":"처음으로 다시 감기","CTX_MARK_WATCHED":"시청중 표시","CTX_MARK_NON_WATCHED":"시청안함 표시","CTX_MARK_UNWATCHED":"미시청 표시","CTX_MARK_REST":"나머지는 시청한 것으로 표시","CTX_UNMARK_REST":"나머지는 미시청으로 표시","CTX_RECEIVE_NEW_NOTIF":"새로운 알림 수신","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"캐시에서 삭제","CTX_REMOVE_CACHE_EP":"캐시에서 에피소드 삭제","CTX_OPEN_CONTAINING":"소속 폴더 열기","CTX_REMOVE":"라이브러리에서 삭제","CTX_AVAILABLE_OFFLINE":"오프라인에서 사용 가능","CTX_PAUSED":"일시정지","CTX_ALWAYS_ON_TOP":"항상 위에 표시","CTX_FULLSCREEN":"전체 화면","CTX_WRONG_SUBS":"잘못된 자막?","CTX_REPORT_ISSUES":"문제 보고","CTX_COPY":"복사","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"붙여넣기","CTX_CLEAR":"지우기","CTX_CLEAR_RECENT_SEARCHES":"최근 검색 지우기","HELLO_THERE":"안녕하세요.","HOPE_YOU_ENJOY":"Stremio를 즐겨주셨으면 좋겠어요, 이미 마음에 드는 앱 중 하나예요!","WHO_ARE_WE":"우리는 누구일까요? 델이 그 배후에 있는 팀입니다.지난 3년간 매일 이 제품을 더 좋게 만들기 위해 열심히 일했던 두 남자입니다.","SUPPORT_US":"Stremio를 즐겨 사용한다면 Stremio가 귀중하다면 널리 알리세요!","SPREAD_THE_WORD":"지금 바로 친구들과 공유하고 Stremio에 대한 소문을 퍼뜨리세요.","MORE_PEOPLE":"Stremio를 많이 사용할수록 더 좋아집니다!","SEND_A_LINK":"또는 당사 웹 사이트로 링크를 보내십시오.","TIP_LOCALFILES":"팁: 로컬 비디오 파일을 Stremio에 드래그 앤 드롭할 수 있습니다","ADDON_MY":"내 애드온","ADDON_COMMUNITY":"커뮤니티 애드온","ADDON_OFFICIAL":"공식 애드온","ADDON_REPOS":"애드온 컬렉션","ADDON_SEARCH":"검색 애드온","ADDON_INSTALL":"설치","ADDON_CONFIGURE":"설정","ADDON_UNINSTALL":"언인스톨","ADDON_UPGRADE":"업그레이드","ADDON_INSTALLED":"설치 완료","ADDON_INSTALLED_MSG":"애드온이 설치되었습니다!","ADDON_UPGRADED_MSG":"애드온이 업그레이드되었습니다!","ADDON_UNKNOWN":"알 수 없음","ADDON_ERR":"애드온 설치 오류!","ADDON_DISCONNECTED":"연결 끊김","ADDON_APP_MISSING":"이 소스의 앱이 설치되지 않았습니다. 지금 설치하시겠습니까?","ADDON_APP_INSTALL":"지금 바로 설치","ADDON_PAGE":"애드온 페이지","ADDON_TOP_CONTENT":"애드온 중에 최고","ADDON_PROVIDES":"이 애드온은 다음을 제공합니다:","ADDON_WATCH":"지금 #{types}를 보세요!","ADDON_WATCH_FREE":"지금 #{types}를 무료로 시청하세요!","ADDON_ADDON":"애드온","ADDON_SUPPORTED_TYPES":"지원 유형","ADDON_SUPPORTED_CATALOGS":"지원 카테고리","ADDON_PROVIDES_DISCOVER":"발견 중인 더 많은 #{types}","ADDON_PROVIDES_STREAMS":"시청 #{types}","ADDON_PROVIDES_STREAMS_FREE":"#{types} 무료 시청","ADDON_PROVIDES_SUBTITLES":"#{types}의 부제목","ADDON_CANTDETECT":"실행 중인 Stremio를 검출할 수 없었기 때문에 설치한 애드온을 검출할 수 없었습니다.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"이것에 대한 정보를 찾을 수 없습니다.","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"이것에 대한 정보를 가져오는 중 오류가 발생했습니다.","ERR_CANT_PARSE_MAGNET":"마그넷을 해석할 수 없습니다.","ERR_NO_MAGNET_INFOHASH":"마그넷에 유효한 정보 해시가 없습니다.","ERR_NO_FILE_PATH":"파일 경로가 없으면 요청을 전송할 수 없습니다.","ERR_NO_TORRENT":"반환된 토렌트가 없습니다.","ERR_NO_SUPPORTERD_FILES":"지원되는 파일을 찾을 수 없습니다.","ERR_OPENING_FILES":"외부 파일을 열 수 없습니다.","ERR_INVALID_LINK":"유효하지 않은 링크","ERR_REGISTERED_ONLY":"이 옵션은 등록된 사용자만 사용할 수 있습니다.","ERR_CLIPBOARD":"클립보드에서 재생할 수 없습니다.","ERR_CLIPBOARD_READ":"이 플랫폼에서 클립보드를 읽을 수 없습니다.","ERR_CLIPBOARD_GENERIC":"클립보드에 재생 가능한 URL이 없습니다. URL(마그넷 링크 등)을 비디오에 복사하십시오.","BOARD_CONTINUE_WATCHING":"이어 보기","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"특별히 선택한 영화입니다.<br /> 이 동영상은 권장 샘플입니다.","BOARD_EXPLANATION_EPISODES":"좋아하는 시리즈의 새로운 에피소드가 여기에 표시됩니다.<br /> 팔로우한 시리즈를 라이브러리에 추가합니다.","BOARD_EXPLANATION_VIDEOS":"좋아하는 채널의 새로운 에피소드가 여기에 표시됩니다.<br /> 라이브러리에 팔로우할 유튜브 채널을 추가합니다.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"바로 보기","WEBSITE_SLOGAN_ALL":"모든 비디오 콘텐츠를 한 곳에서 즐길 수 있습니다.","WEBSITE_SLOGAN_NEW":"모두 시청 가능","WEBSITE_SLOGAN_NEW_NEW":"자유로운 스트림","WEBSITE_WATCH_FROM":"시청 위치","WEBSITE_DOWNLOAD":"지금 바로 다운로드","WEBSITE_DOWNLOAD_FOR":"지금 바로 다운로드 대상","WEBSITE_IS_DESKTOP":"Stremio는 데스크톱 응용 프로그램입니다. PC에서 이 페이지를 열고 다운로드하십시오.","WEBSITE_DESKTOP_DEMO_VID":"데스크탑 데모","WEBSITE_PAGE_HOME":"홈","WEBSITE_PAGE_FEATURES":"기능","WEBSITE_PAGE_ADDONS":"애드온","WEBSITE_PAGE_TECH":"테크놀로지","WEBSITE_PAGE_CREATE_ADDON":"애드온 생성","WEBSITE_PAGE_CONTACTS":"연락처","WEBSITE_PAGE_BLOG":"블로그","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"영화","WEBSITE_TYPE_series_PL":"시리즈","WEBSITE_TYPE_tv":"라이브 TV","WEBSITE_TYPE_channel":"채널","WEBSITE_STREMIO_WHAT_IS":"Stremio는 마음에 드는 비디오, 영화, TV 시리즈, TV 채널을 정리하고 바로 볼 수 있는 앱입니다.","WEBSITE_FEATURES_WATCH":"즉시 HD로 보기","WEBSITE_FEATURES_WATCH_DETAIL":"즐겨찾는 영화, TV 프로그램, 비디오 및 TV 채널을 클릭하여 재생합니다.","WEBSITE_FEATURES_SUBS":"자동 자막","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio는 자동으로 해당 언어의 동기화된 자막을 선택합니다.","WEBSITE_FEATURES_SUBS_LABEL":"당신 차례입니다.","WEBSITE_FEATURES_CAST":"TV 및 모바일 디바이스에서 재생","WEBSITE_FEATURES_CAST_DETAIL":"AppleTV, Chromecast, 스마트 TV(DLNA/UPnP) 및 모바일 장치로 전송합니다.","WEBSITE_LIB":"모든 디바이스에서 동기화된 퍼스널 라이브러리를 즐기세요.","WEBSITE_LIB_COLLECT":"Stremio에서 수집","WEBSITE_LIB_IMPORT":"Facebook에서 Import","WEBSITE_LIB_LOCAL":"로컬 드라이브에서 추가","WEBSITE_BOARD":"게시판 - 알림 및 권장 사항을 위한 원스톱 장소","WEBSITE_BOARD_RECOMMEND":"권장 TV 프로그램","WEBSITE_BOARD_TRENDING":"트렌딩 무비","WEBSITE_BOARD_NEW":"새로운 영상","WEBSITE_BOARD_EPISODE":"새로운 에피소드","WEBSITE_BOARD_1":"재미있는 볼거리를 찾고 계십니까? 취향에 맞는 추천을 받아보세요!","WEBSITE_BOARD_2":"좋아하는 TV 프로그램이나 YouTube 채널의 새로운 에피소드가 나오면 알려드립니다!","WEBSITE_BOARD_YOUTUBE":"유튜브 채널 신규 영상","WEBSITE_BOARD_EPISODES":"당신이 팔로우하는 시리즈의 새로운 에피소드","WEBSITE_ADDONS":"콘텐츠 애드온","WEBSITE_TECH_DETAIL":"우리는 테크놀로지와 미친 과학을 사랑합니다!\\nStremio는 다음 오픈소스 기술을 사용하고 있습니다.:","WEBSITE_TECH_WCJS":"WebChimera.js를 사용하면 Stremio는 어떤 비디오 형식에서도 뛰어난 퍼포먼스로 재생할 수 있습니다.","WEBSITE_TECH_WCJS_EXTRA":"우리는 프로젝트의 핵심 기여자입니다.","WEBSITE_TECH_ELECTRON":"Electron은 Stremio를 구축할 수 있는 혁신적인 플랫폼을 제공합니다.","WEBSITE_TECH_ELECTRON_EXTRA":"우리는 프로젝트 기여자입니다.","WEBSITE_TECH_LINVODB":"데이터를 정리하여 로그인 시 어디서나 이용할 수 있는 데이터베이스 테크놀로지입니다.","WEBSITE_TECH_LINVODB_EXTRA":"내부기술","WEBSITE_CREATE_ADDON":"애드온 작성","WEBSITE_CREATE_ADDON_DETAIL":"비디오 콘텐츠를 제공하는 서비스가 있습니까? Addon을 작성함으로써 Stremio의 기능을 활용할 수 있도록 지원합니다.","WEBSITE_CREATE_ADDON_BENEFITS":"Stremio용 애드온 작성의 이점","WEBSITE_P2P_BEAUTY":"Peer-to-Peer 스트리밍의 묘미","WEBSITE_P2P_1":"안정적이고 저렴한 Full HD/4K 주문형 비디오 또는 라이브 스트리밍","WEBSITE_P2P_2":"좋은 사용자 경험을 제공하는 배포 플랫폼","WEBSITE_P2P_3":"필요에 맞는 확장 프로그램을 만들겠습니다.","WEBSITE_P2P_CONTACT":"관심이 있습니까? <a href=\'mailto:office@stremio.com\'>문의</a>를 환영합니다.","WEBSITE_P2P_CONTACT_EXTRA":"Stremio와 콘텐츠를 통합하는 데 도움을 드리고 싶습니다!","WEBSITE_P2P":"가끔은 게임의 규칙을 바꾸는 기술이 등장합니다. 우리는 뛰어난 성능과 용도에 맞게 맞춤화할 수 있는 다용도\\nDRM 지원 P2P 주문형 비디오 또는 라이브 스트리밍에 대해 문의하십시오.","WEBSITE_THOUGHTS":"우리가 공유하는 생각:","WEBSITE_SPREAD":"Stremio에 대해 널리 알리세요:","WEBSITE_CONTACT":"연락주세요. 연락주시면 감사하겠습니다!","WEBSITE_OPENSOURCE":"오픈소스 프로젝트에 대해서는 다음 사이트를 참조하십시오.","WEBSITE_BITCOIN":"비트코인 기부:","WEBSITE_FAQ":"자주 묻는 질문","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"질문","WEBSITE_TOS":"이용약관","WEBSITE_LEGAL":"법률","WEBSITE_PAGE_ABOUT":"정보","WEBSITE_PAGE_BECOME_PARTNER":"파트너가 되어주세요.","WEBSITE_ALL_YOU_CAN_WATCH":"원하는 모든 것을 자유롭게\\n시청할 수 있습니다.","WEBSITE_FREEDOM_TO_STREAM":"스트리밍의 자유","WEBSITE_WHAT_IS_STREMIO":"Stremio란?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio는 비디오 콘텐츠 집계를 위한 원스톱 허브입니다. 소유한 모든 장치에서 모든 종류의 소스에서 비디오를 검출, 정리, 시청할 수 있습니다.","WEBSITE_WHAT_IS_STREMIO_P2":"영화, TV 프로그램, 시리즈, 라이브 텔레비전 또는 YouTube나 Twitch.tv 등의 웹 채널 - 이 모든 것을 Stremio에서 찾을 수 있습니다.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio는 비디오 엔터테인먼트를 위한 원스톱 솔루션입니다. 설치가 용이한 애드온에서 비디오 콘텐츠를 검출, 시청 및 정리할 수 있습니다.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"영화, TV 프로그램, 라이브 TV 또는 웹 채널 - 이 모든 것을 Stremio에서 찾을 수 있습니다.","WEBSITE_ENJOI_ON_ALL_DEVICES":"모든 미디어 디바이스에서 즐기세요.","WEBSITE_DEVICES_COLLECT":"Stremio에서 수집","WEBSITE_DEVICES_IMPORT_FB":"페이스북에서 Import","WEBSITE_DEVICES_LOCAL":"로컬 드라이브에서 추가","WEBSITE_JOIN_THE_PARTY_NOW":"지금 바로 파티에 참여하십시오.","WEBSITE_DEVICES_ALL":"모든 기기에서 사용하기 쉽습니다.","WEBSITE_EXTENDABLE_CATALOG":"무한히 확장 가능한 비디오 카탈로그","WEBSITE_ORGANIZE_YOUR_MEDIA":"미디어 정리를 위한 뛰어난 기능","WEBSITE_AS_SEEN_ON":"에 표시된 대로","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"당사에 대하여","WEBSITE_LINK_TECHNOLOGY":"테크놀로지","WEBSITE_LINK_APPS":"앱","WEBSITE_LINK_DOWNLOADS":"다운로드","WEBSITE_MORE":"상세","WEBSITE_LINK_ADDONS":"애드온","WEBSITE_LINK_ADDON_SDK":"애드온 SDK","WEBSITE_LINK_CONTRIBUTE":"기여자","WEBSITE_LINK_COMMUNITY":"커뮤니티","WEBSITE_LINK_BLOG":"블로그","WEBSITE_MORE_MORE":"... & 상세","WEBSITE_LINK_HELP":"헬프센터","WEBSITE_LINK_CONTACTS":"비즈니스 문의","WEBSITE_LINK_TOS":"이용약관","WEBSITE_LINK_PRAVACY":"개인정보보호 정책","WEBSITE_SUBSCRIBE":"구독","WEBSITE_NEWSLETTER":"놀라운 소식을 위해 뉴스레터에 가입하세요.","WEBSITE_PLACEHOLDER_EMAIL":"당신의 이메일","WEBSITE_COMMUNITY":"커뮤니티","WEBSITE_LINK_PRAVACY_LEGAL":"개인정보보호 & 범률","WEBSITE_WHY":"우리가 하는 이유","WEBSITE_WHY_P1":"Stremio에서는 비디오 온 디맨드 업계의 중요한 문제를 해결하기 위해 매일 출근하고 있습니다. 매분 새로운 컨텐츠가 너무 많이 공개되고 있기 때문에, 그것을 회피하는 방법을 찾는 것은 사실상 불가능합니다.","WEBSITE_WHY_P2":"우리는 사람들이 비디오 엔터테인먼트의 거대한 세계를 탐색하고 즐길 수 있는 새로운 콘텐츠를 찾도록 돕습니다. 우리 앱은 영화, 시리즈, 라이브 TV, 웹 채널 등을 함께 제공합니다. 사용자가 좋아하는 타이틀과 방송사를 매우 쉽게 찾을 수 있도록 최선을 다하고 있습니다.","WEBSITE_WHY_P3":"언제 어디서나 모든 장치에서 당사 서비스를 사용할 수 있으므로 Stremio는 당신이 필요로 하는 유일한 비디오 엔터테인먼트 허브가 됩니다.","WEBSITE_TEAM":"팀","WEBSITE_TEAM_P":"Stremio 팀은 작지만 강력합니다.저희 10명 사이에 X개 언어로 코딩하고 소프트웨어 개발, UI 및 UX 설계, 마케팅 및 광고, 비즈니스 및 스타트업 관련 전문 지식을 공유합니다.","WEBSITE_FEATURES":"기능","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"새로운 콘텐츠를 쉽게 발견할 수 있습니다.","WEBSITE_FEATURES_DISCOVER_P":"새로운 영화, TV 프로그램, 시리즈 및 채널을 쉽게 찾을 수 있습니다. 카테고리, 장르, 등급, 추천서 등을 참조하거나 검색할 이름을 입력합니다. Stremio는 새로운 비디오 콘텐츠를 찾는 것을 쉽게 할 수 있습니다.","WEBSITE_FEATURES_ALL_CONTENT":"모든 비디오 콘텐츠를 한 화면에 표시","WEBSITE_FEATURES_ALL_CONTENT_P1":"완료하지 않은 영화, 시리즈 또는 비디오를 보고 계속 시청합니다.새로운 에피소드 및 개봉에 대해 알림을 받고 시청 습관에 따라 권장사항을 참조하십시오.","WEBSITE_FEATURES_LIBRARY":"비디오 라이브러리 정리","WEBSITE_FEATURES_LIBRARY_P1":"클릭 한 번으로 Stremio 라이브러리에 제목을 추가하고 콘텐츠를 유형, 레퍼런스 또는 알파벳 순서로 깔끔하게 정렬하여 찾을 수 있습니다.","WEBSITE_FEATURES_CALENDAR":"시청하는 모든 것을 추적합니다.","WEBSITE_FEATURES_CALENDAR_P1":"라이브러리에 추가하는 모든 영화 및 시리즈의 캘린더 시각화를 가져옵니다. Stremio 캘린더를 내보내고 동기화하면 새로운 에피소드 또는 프리미어 예정일이 언제인지 항상 알 수 있습니다.","WEBSITE_FEATURES_BIG_SCREEN":"비디오 콘텐츠를 더 큰 화면으로 즐기세요.","WEBSITE_FEATURES_BIG_SCREEN_P1":"클릭 한 번으로 스마트폰, 태블릿, TV 등 시청하고 있는 것을 다른 디바이스에 캐스트 할 수 있습니다.","WEBSITE_FEATURES_SOURCES":"다양한 소스에서 비디오를 시청합니다.","WEBSITE_FEATURES_SOURCES_P":"공식 애드온과 커뮤니티 애드온을 설치하여 다양한 프로바이더가 제공하는 비디오를 모두 스타일리시하고 사용하기 쉬운 하나의 앱으로 즐길 수 있습니다.","WEBSITE_CREATE_AN_ADDON":"애드온 개발","WEBSITE_FEATURES_SYNC":"다른 디바이스 간에 라이브러리를 동기화하고 재생을 재개합니다.","WEBSITE_FEATURES_SYNC_P1":"모든 디바이스에서 계정으로 로그인하여 라이브러리, 애드온, 재생 및 캘린더를 동기화하여 즐기십시오.","WEBSITE_FEATURES_EXTENDABLE":"애드온별로 확장 가능한 비디오 카탈로그","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio 애드온 카탈로그는 다양한 비디오 콘텐츠를 설치하고 시청할 수 있는 많은 애드온을 제공합니다. 여기에는 영화, 프로그램, 라이브 TV, 스포츠, 뉴스, 팟캐스트, 웹 채널, 비디오 게임 등이 포함됩니다.","WEBSITE_FEATURES_AUTO_SUBS":"자동 자막","WEBSITE_FEATURES_AUTO_SUBS_P1":"자막 애드온을 사용하면 원하는 언어에 대한 옵션이 자동으로 선택됩니다.","WEBSITE_FEATURES_CHROMECAST":"크롬캐스트에 캐스팅","WEBSITE_FEATURES_CHROMECAST_P1":"비디오 콘텐츠를 더 큰 화면으로 즐기거나 보고 있는 콘텐츠를 다른 기기에 캐스트하세요.","WEBSITE_FEATURES_KEEP_TRACK":"즐겨보는 TV 프로그램 및 웹 채널 추적","WEBSITE_FEATURES_KEEP_TRACK_P1":"즐겨찾는 시리즈와 웹 채널의 새로운 에피소드에 대한 캘린더 시각화와 알림을 받을 수 있습니다.","WEBSITE_FEATURES_POWER_USER":"파워 유저의 기능","WEBSITE_FEATURES_POWER_USER_P1":"외장 플레이어에서 재생","WEBSITE_FEATURES_POWER_USER_P2":"토렌트 파일 또는 마그넷 링크에서 재생","WEBSITE_FEATURES_POWER_USER_P3":"Facebook like 또는 로컬 디스크에서 라이브러리로 Import","WEBSITE_ADD_ONS":"애드온","WEBSITE_ADD_ONS_P1":"Stremio가 제공하는 모든 비디오 콘텐츠는 애드온 시스템을 통해 제공됩니다.콘텐츠 또는 콘텐츠 공급자는 앱에 포함되어 있지 않습니다.","WEBSITE_ADD_ONS_P2":"사용 가능한 애드온 그룹은 공식 애드온과 커뮤니티 애드온 두 가지가 있습니다.","WEBSITE_ADD_ONS_P3":"공식적인 것은 Stremio가 개발하고 호스트하는 반면 커뮤니티 애드온은 커뮤니티 멤버에 의해 개발되며 커뮤니티 애드온도 공유합니다.","WEBSITE_ADDONS_OFFICIAL":"공식 애드온","WEBSITE_ADDONS_WATCHUB":"iTunes, Hulu, Amazon 및 기타 영국/미국 서비스 프로바이더에서 좋아하는 영화, 시리즈, 쇼를 스트리밍하십시오.","WEBSITE_ADDONS_YOUTUBE":"좋아하는 YouTube 채널을 무료로 시청하고 팔로우하는 투고자로부터 새로운 업로드에 대한 알림을 받으십시오.","WEBSITE_ADDONS_FILMON":"라이브 TV, 영화, 소셜 TV를 무료로 시청하세요. 600개의 TV 채널, 45,000개의 무료 영화, 다큐멘터리 등","WEBSITE_ADDONS_OPENSUBTITLES":"다국어 영화 및 TV 자막, 매일 수천 개의 번역 자막 업로드","WEBSITE_ADDONS_COMMUNITY":"커뮤니티 애드온","WEBSITE_ADDONS_FILMON_VOD":"Filmon.tv에서 온디맨드 비디오 보기","WEBSITE_ADDONS_TWICH":"e스포츠 업계용 비디오 스트리밍 플랫폼인 Twitch.tv에서 라이브 스트림을 시청하십시오.","WEBSITE_ADDONS_VODO":"완전 무료로 인디 영화를 감상하세요.","WEBSITE_ADDONS_NETFLIX":"Netflix 영화 및 웹 시리즈를 시청합니다.","WEBSITE_ADDONS_CREATE":"애드온 개발","WEBSITE_ADDONS_CREATE_P1":"원하시면, 독자적인 애드온을 개발할 수 있습니다. 이를 통해 귀사와 당사의 커뮤니티에서 새로운 비디오 콘텐츠에 접근할 수 있으며, 전 세계 수백만 명의 사용자의 잠재고객에게 다가갈 수 있습니다.","WEBSITE_ADDONS_START_CREATE":"시작하려면 Stremio Addon SDK 페이지를 방문하십시오.","WEBSITE_DOWNLOADS":"다운로드","WEBSITE_DOWNLOADS_P1":"최적의 성능을 위해 최신 버전의 Stremio 앱을 사용하는 것이 좋습니다. 다만, 어떠한 이유로 구버전을 사용하고 싶은 경우는, 여기서 다운로드할 수 있습니다.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Windows용 Stremio","WEBSITE_DOWNLOADS_FOR_MAC":"MacOS용 Stremio","WEBSITE_DOWNLOADS_FOR_LINUX":"Linux용 Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID":"Android용 Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Android TV용 Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Android Mobile용 Stremio","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Steam Deck용 Stremio","WEBSITE_DOWNLOADS_FOR_IOS":"iOS용 Stremio (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"기여","WEBSITE_CONTRIBUTE_P1":"Stremio 플랫폼은 오픈 소스이며 현재 소싱되지 않은 콘텐츠에 대한 애드온을 쉽게 만들 수 있습니다.","WEBSITE_CONTRIBUTE_WHY":"애드온을 작성해야 하는 이유?","WEBSITE_CONTRIBUTE_WHY_P1":"비디오 콘텐츠 신규 사용자 확보","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio의 유저 베이스는 급속히 성장하고 있습니다. Stremio는 출시 1년 만에 전 세계에서 100만 명의 유저를 확보했고, 플랫폼 설립 2년째에는 250만 명으로 증가했습니다.","WEBSITE_CONTRIBUTE_WHY_P3":"애드온으로 시청자에게 쉽게 접근하여 동영상 콘텐츠를 배포할 수 있습니다.","WEBSITE_CONTRIBUTE_ALL":"좋아하는 영화, 비디오, 시리즈, 채널을 한 곳에서 감상할 수 있습니다.","WEBSITE_CONTRIBUTE_ALL_P1":"Stremio에서 아직 이용할 수 없는 특정 유형의 콘텐츠 팬입니까? 애드온을 만들고 가장 크고 사용하기 쉬운 엔터테인먼트 허브 중 하나에서 마음에 드는 비디오를 즐겨보세요.","WEBSITE_CONTRIBUTE_ALL_P2":"게다가, 같은 생각을 가진 다른 Stremio 커뮤니티 멤버들의 무한한 감사를 받을 수 있습니다.","WEBSITE_CONTRIBUTE_MONETIZE":"애드온을 수익을 창출하고, 그 도움을 받아 수익을 올리세요.","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Stremio용 새로운 애드온을 개발하면 다양한 방법으로 쉽게 수익화할 수 있습니다. 만약 이 점을 고려하신다면, 부담없이 문의해 주십시오.","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - 애드온 머니타이제이션 옵션에 대해 기꺼이 상담 및 조언을 드리겠습니다.","WEBSITE_CONTRIBUTE_TRANSLATE":"자원봉사 번역가가 되십시오.","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"다른 언어로 된 Stremio 앱을 즐기고 싶으시면 저희 자원봉사 번역자 커뮤니티에 참여하실 수 있습니다. Stremio 버전을 여러 언어로 추가할 수 있습니다.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"시작하시겠습니까?","WEBSITE_TRANSALTE_STREMIO":"Stremio 번역","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"공식 커뮤니티","WEBSITE_COMMUNITY_OFFICIALS_P1":"성장하는 Stremio 커뮤니티의 일원이 되십시오. 소셜 미디어 팔로우 해 주세요.부끄러워하지 말고 인사하세요. 팬분들의 의견을 듣는 게 너무 좋아요! ","WEBSITE_COMMUNITY_UNOFFICIALS":"비공식 커뮤니티","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"문의","WEBSITE_CONTACT_US_P1":"질문, 코멘트, 제안사항이 있으시면 아래 연락처 폼으로 연락주시기 바랍니다.","WEBSITE_CONTACT_US_P2":"당사는 불가리아에 있으므로 시간대 차이로 인해 문의처리가 지연될 수 있습니다.","WEBSITE_CONTACT_US_SUCCESS":"메시지가 발송되었습니다. 가능한 한 빠른 시일 내에 연락드리겠습니다.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"유효한 이메일을 입력하세요!","WEBSITE_CONTACT_US_Q_RELATED_TO":"질문은 무엇에 관한 것입니까?","WEBSITE_CONTACT_US_Q_OS":"운영체제는 무엇입니까?","WEBSITE_CONTACT_US_PH_EMAIL":"단신의 E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"메시지","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"전송","WEBSITE_CONTACT_US_Q_1":"어떻게 설치 하나요?","WEBSITE_CONTACT_US_Q_2":"어떻게 삭제 하나요?","WEBSITE_CONTACT_US_Q_3":"(HTML) 라자냐는 어떻게 만드나요?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"테크놀로지","WEBSITE_TECHNOLOGY_P1":"우리는 테크놀로지와 광기어린 과학을 사랑합니다. </br> 다음은 Stremio(모두 오픈소스)를 지원하는 기능입니다.","WEBSITE_TECHNOLOGY_P_QT":"크로스 플랫폼 소프트웨어 개발은 최고입니다.","WEBSITE_TECHNOLOGY_P_MPV":"프리 오픈 소스 크로스 플랫폼 미디어 플레이어입니다.","WEBSITE_TECHNOLOGY_P_RN":"React Native를 사용하면 JavaScript만을 사용하여 모바일 앱을 구축할 수 있습니다.","WEBSITE_TECHNOLOGY_P_VLC":"멀티미디어를 얻기 위해 응용 프로그램에 내장된 미디어 프레임워크입니다.","WEBSITE_TECHNOLOGY_P_REALM":"Realm은 모바일 플랫폼이며 SQLite & Core Data를 대체하는 것입니다.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js는 오픈소스 크로스 플랫폼 자바스크립트 런타임 환경입니다.","WEBSITE_TECHNOLOGY_P_RUST":"RUST는 안전성, 특히 안전한 동시성에 초점을 맞춘 다중 패러다임 시스템 프로그래밍 언어입니다.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"프로젝트에 기여","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Stremio에 기여하는 방법과 제품 개선을 지원하는 방법에는 두 가지가 있습니다.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"플랫폼을 번역하여 소중한 언어 능력을 기부할 수 있습니다...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"또는","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... 커뮤니티 애드온을 작성하기 위해 당신의 프로그래밍 노하우를 사용할 수 있습니다. ","WEBSITE_TRANSLATE_STREMIO":"Stremio 번역","WEBSITE_404_OH_NO":"오오오오! 찾으시는 페이지는 여기에 없습니다...","WEBSITE_GO_HOME":"홈으로 이동","WEBSITE_LINK_OTHER_DOWNLOADS":"기타 다운로드","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"지원","WEBSITE_DOWNLOAD_4_0_BETA":"Stremio 4 베타판 지금 바로 다운로드","WEBSITE_GET_FOR_DESKTOP":"데스크탑용","WEBSITE_LINK_ADDON_COMPETITION":"애드온 경쟁","WEBSITE_LINK_ART_CONTEST":"아트 콘테스트","WEBSITE_MY_ACCOUNT":"내 계정","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremio란?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio는 원하는 모든 것을 자유롭게 볼 수 있는 현대적인 미디어 센터입니다.","WEBSITE_MAINPAGE_FAQ_002_H1":"어떻게 동작합니까?","WEBSITE_MAINPAGE_FAQ_002_P1":"단말기에 Stremio를 설치하고 계정을 만들면 애드온 카탈로그에 접속하여 원하는 애드온을 설치하면 됩니다.","WEBSITE_MAINPAGE_FAQ_002_P2":"그 후 [Discover]섹션 또는 [Board]섹션으로 이동하여 콘텐츠 탐색을 시작할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_003_H1":"여기서 볼 수 있는 건?","WEBSITE_MAINPAGE_FAQ_003_P1":"많은 것: 영화, TV 프로그램, 웹 채널, 스포츠, TV 채널, 팟캐스트 듣기 등. 델의 애드온 시스템 덕분에 다양한 콘텐츠에 접속할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio는 오픈 소스입니까?","WEBSITE_MAINPAGE_FAQ_004_P1":"예, ${1}데스크탑 app${2} 및 ${3}GitHub organization${4} 링크를 확인할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio는 안전합니까?","WEBSITE_MAINPAGE_FAQ_005_P1":"네, 오픈 소스 소프트웨어이므로 코드는 공개적으로 보는것이 가능하며 사용자가 직접 검토할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"프라이버시는 어떻습니까?","WEBSITE_MAINPAGE_FAQ_006_P1":"저희는 사용자의 프라이버시를 존중하며 계정을 만들고 동기화하기 위해 필수적인 최소값 이외에는 개인정보를 수집하지 않습니다.","WEBSITE_MAINPAGE_FAQ_006_P2":"등록 시 ${1}게스트 모드${2}도 있습니다.이 모드에서는 백엔드에 콜이 발신되지 않습니다. 단, 디바이스 간에 라이브러리를 동기화할 수 있는 등 유용한 기능을 희생합니다.","WEBSITE_MAINPAGE_FAQ_007_H1":"TV에 캐스팅할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_007_P1":"네, Chromecast를 지원하며 데스크톱 및 모바일 앱(Android)에서 모두 캐스팅할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio에는 몇 개의 애드온이 있습니까?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019년 말 현재 50세 이상 - 자세한 내용은 Addon 카탈로그를 참조하십시오.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio를 애드온 카탈로그보다 더 확장할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_009_P1":"예, ${1}PimpMyStremio${2}, ${3}Reddit 커뮤니티${4}, ${5}Stremio Downloader${6} 등을 확인하십시오.","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio가 지원하는 디바이스는 무엇입니까?","WEBSITE_MAINPAGE_FAQ_010_P1":"Windows, Mac 및 Linux용 데스크톱 애플리케이션이 있습니다. 모바일의 경우 Android 및 iOS를 지원하지만 iOS는 기능이 제한되어 있습니다(대부분의 애드온을 지원하지 않음).","WEBSITE_MAINPAGE_FAQ_010_P2":"NVIDIA Shield나 Amazon Fire Stick 등 Stremio를 실행할 수 있는 Android 기반 디바이스는 많이 있지만 공식적으로 지원하지 않습니다.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Stremio에 특정 콘텐츠를 추가할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_011_P1":"본사에서 제공하는 콘텐츠는 없습니다만, Stremio 애드온이 많을수록 더 많은 콘텐츠를 찾을 수 있습니다.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio는 마그넷 링크를 재생할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_012_P1":"네, 일반 HTTP 링크 및 토렌트 파일(드래그 앤 드롭)도 재생할 수 있습니다.","WEBSITE_MAINPAGE_FAQ_013_H1":"비디오를 다운로드하여 오프라인으로 시청할 수 있습니까?","WEBSITE_MAINPAGE_FAQ_013_P1":"오프라인에서 사용할 수 있는 기능이 곧 출시될 예정이지만 Stremio를 (설정 패널에서) 디바이스에 캐시하도록 허용하면 나중에 연결 없이 비디오를 볼 수 있습니다.","WEBSITE_MAINPAGE_FAQ_014_H1":"아무것도 작동하지 않습니다.도와주세요!","WEBSITE_MAINPAGE_FAQ_014_P1":"애드온을 설치하시겠습니까? 확인하신 경우 ${1}헬프센터${2}에 문의해 주십시오.","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio는 어떻게 개발 작업을 유지합니까?","WEBSITE_MAINPAGE_FAQ_015_P1":"간헐적으로 방해가 되지 않는 광고를 실행하지만 기부 모델로 전환하는 것을 고려하고 있습니다.","WEBSITE_MAINPAGE_FAQ_015_P2":"자세한 내용은 ${1}헬프센터 ${2}를 참조하십시오.","HELP_LEARN_MORE":"고객에 대해 자세히 알아보겠습니다.","LIFESTYLE":"라이프스타일","SPORTS":"스포츠","FOOD_HEALTH":"식품 & 건강","BEAUTY_FASHION":"뷰티 & 패션","NEWS":"뉴스","GAMING":"게이밍","SCIENCE_EDUCATION":"과학 & 교육","MUSIC":"음악","TRAVEL":"여행","LATE_NIGHT":"심야방송","REALITY":"리얼리티","COMEDY":"코미디","DIY":"DIY","TECH":"테크","CINEMA":"시네마","CONTINUE":"계속","SLOW_LOADING":"로딩이 느립니까?","I_GIVE_UP":"포기한다.","LEARN_MORE":"더 알아보기","POOR_SOURCE":"이 소스를 제대로 사용할 수 없거나 인터넷 연결이 충분히 빠르지 않습니다.","PICK_CATEGORIES_ERR":"최소 3개의 카테고리를 선택해야 합니다.","ADJUST_TIMING":" 타이밍 조정 ","ADJUST_SIZE":" 사이즈 조정 ","SEARCH_ANYTHING":"무엇이든 검색할 수 있습니다...","ALL_CATEGORIES":"전체","SEARCH_CATEGORIES":"영화, 시리즈, YouTube & TV","SEARCH_PERSONS":"배우, 감독 & 작가","SEARCH_PROTOCOLS":"HTTP & 마그넷 링크","SEARCH_TYPES":"IMDB / TVDB 링크","WATCHED":"시청완료.","SHOW_LESS":"감추기","LAST_SEARCHES":"마지막 검색","CLEAR_HISTORY":"이력 지우기","CHOOSE_SOME":"이 중 일부를 선택하세요.:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote를 로드할 수 없습니다.","STREMIO_OFFLINE":"Stremio는 오프라인","STREMIO_EXPENSIVE_CONNECTION":"모바일 데이터 연결을 사용하고 있습니다.계속하시겠습니까?","USE_DATA":"데이터 사용","WARNING":"경고","MORE_INFO":"상세정보...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"로딩중 ...","STREMIO_TV_BACK_TO_LANGUAGES":"언어로 돌아가기","STREMIO_TV_REMOTE":"리모트","STREMIO_TV_GO_TO":"이동:","STREMIO_TV_OR_SCAN":"또는 스캔:","STREMIO_TV_ADDON_INSTRUCTIONS":"필요한 애드온을 설치하려면 지시에 따르십시오.","STREMIO_TV_LIVE_TV":"라이브 TV","STREMIO_TV_RESUME_WATCHING":"시청 재개","STREMIO_TV_LOADING_BACKGROUND":"배경 로딩 중","STREMIO_TV_CHECKING_AUTHENTICATION":"인증 확인 중","STREMIO_TV_LOADING_BOARD":"로딩 게시판","STREMIO_TV_LOGIN_HEADER_LINE_1":"우리는 사용자가 우리 소프트웨어를 사용하여 가능한 한 최고의 개인화된 경험을 하기를 바랍니다.","STREMIO_TV_LOGIN_HEADER_LINE_2":"이를 위해 계정 가입 및 로그인을 부탁드립니다.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"이해해해 주셔서 감사합니다.","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio 팀","STREMIO_TV_REMOTE_INSTRUCTIONS":"스마트폰/태블릿/데스크탑에서 웹 리모트를 사용하려면:","STREMIO_TV_WIFI_SETUP":"Wi-Fi 셋업","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle이 인터넷 연결을 검출하지 못했습니다.","STREMIO_TV_WIFI_DETAILS_1":"접속 위치:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"비밀번호 사용:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"링크를 사용하여 웹 브라우저를 엽니다.:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"기본값","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"최근 시청","STREMIO_TV_LIBRARY_SORT_NAME":"이름","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"시청 시간별","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"시즌 ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} 애드온 로딩중...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} 애드론 계속 로딩중...","STREMIO_TV_PLAYER_SETTINGS":"플레이어 설정","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"자막 지연","STREMIO_TV_PLAYER_AUDIO_DELAY":"오디오 지연","STREMIO_TV_PLAYER_VIDEO_SCALING":"비디오 스케일링","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"지원되지 않는 스트림 소스","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"외부 링크 열기 실패","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"ExoPlayer로 재생","STREMIO_TV_PLAYER_PLAY_IN_VLC":"libVLC player로 재생","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"재생 오류로 인하여 libVLC player로 전환 중","STREMIO_TV_ADDONS_TITLE":"전화기 또는 PC에서 Stremio를 사용하여 애드온을 설치 또는 설정하고 \\"애드온 동기화\\"를 누르십시오.","STREMIO_TV_ADDONS_SUBTITLE":"주의: 동일한 Stremio 계정을 사용하고 있는지 확인하십시오.","STREMIO_TV_ADDONS_SYNC_ADDONS":"애드온 동기화","STREMIO_TV_ADDONS_SYNC_SUCCESS":"애드온이 정상적으로 동기화되었습니다.","STREMIO_TV_ADDONS_SYNC_FAILED":"애드온 동기화에 실패했습니다.","STREMIO_TV_META_LINK_FAILED":"메타 링크를 열지 못했습니다.","STREMIO_TV_CATALOG_LOADING":"카탈로그가 아직 로딩 중...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"인터페이스 언어 갱신","STREMIO_TV_SETTINGS_THEME_UPDATED":"테마 갱신","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"선호 언어","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"2차 선호 언어","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"터널링 재생","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"일부 디바이스에서 재생 문제가 발생할 수 있습니다.","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"일부 비디오 형식이 작동하지 않을 수 있습니다.","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"캐싱 없음","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"기본값","STREMIO_TV_SETTINGS_PROFILE_SOFT":"저속","STREMIO_TV_SETTINGS_PROFILE_FAST":"고속","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"초고속","STREMIO_TV_SETTINGS_SERVER_URL":"스트리밍 서버 URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"서버 버전","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"알 수 없음","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio 버전","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"서버 URL 수정","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"스트리밍 서버의 URL을 입력하십시오","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremio의 개인정보보호 정책을 읽으려면 다음 사이트를 방문하십시오.:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremio 계약조건을 읽으려면 다음 사이트를 방문하십시오.:","STREMIO_TV_NAV_SEARCH":"검색","STREMIO_TV_NAV_HOME":"홈","STREMIO_TV_NAV_DISCOVER":"발견","STREMIO_TV_NAV_LIBRARY":"라이브러리","STREMIO_TV_NAV_MOVIES":"영화","STREMIO_TV_NAV_SERIES":"시리즈","STREMIO_TV_NAV_CHANNELS":"채널","STREMIO_TV_NAV_TV":"라이브 TV","STREMIO_TV_NAV_SETTINGS":"설정","STREMIO_TV_NAV_ADDONS":"애드온","STREMIO_TV_LOGIN_TITLE":"계정 링크","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"위의 QR코드를 스캔하거나 다음으로 이동합니다.","STREMIO_TV_LOGIN_STEP_TWO":"Stremio 계정에 로그인합니다.","STREMIO_TV_LOGIN_NEW_LINK":"새로운 링크 요청","STREMIO_TV_LOGIN_LINK_REFRESHED":"로그인 코드 새로 고침","STREMIO_TV_SEARCH_PLACEHOLDER":"입력하세요.","STREMIO_TV_SEARCH_NO_ADDONS":"카탈로그 추가 요청 없음!","STREMIO_TV_SEARCH_BUTTON":"검색","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"공간","STREMIO_TV_SEARCH_KEY_CLEAR":"지우기","STREMIO_TV_SEARCH_HISTORY_TITLE":"이력 검색","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"타이틀, 배우, 채널 등을 검색할 수 있습니다.","STREMIO_TV_SEARCH_HISTORY_CLEAR":"검색 이력 지우기","STREMIO_TV_FILTERS_DESCRIPTION":"아래 필터 중 하나를 선택하십시오.","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"필터","SETTINGS":"설정","ACCOUNT":"계정","LOGOUT":"로그아웃","THEMES":"테마","PLAYBACK":"재생","PLAYBACK_SPEED":"재생속도","AUDIO_TRACKS":"오디오 트랙","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"영상","SERVER":"서버","LINKS":"링크","ABOUT":"소개","INTERFACE":"인터페이스","ANIMATIONS":"애니메이션","STATUS":"상태","LANGUAGE":"언어","SIZE":"크기","DELAY":"지연","BOLD":"굵기","OPACITY":"Opacity","TEXT_COLOR":"문자 색상","OUTLINE_COLOR":"외각선 색상","BACKGROUND_COLOR":"배경색","BACKGROUND_BLUR":"배경 흐리게","SEEK_TIME_DURATION":"탐색 시간 찾기","AUTO_PLAY":"다음 에피소드 자동 재생","PLAY_NOW":"지금 바로 재생","MARK_AS_WATCHED":"시청으로 표시","MARK_AS_UNWATCHED":"미시청으로 표시","REWIND_TO_BEGINNING":"처음으로 되감기","CONTINUE_WATCHING":"계속 시청","ALL":"전체","SECONDS":"초","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"URL 편집","URL":"URL","NONE":"없음","EMBEDDED":"임베디드","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"스위치 디바이스","REMOTE_VIDEOS":"영상","REMOTE_ADJUST_TIMING":"타이밍 조정","REMOTE_ADJUST_SIZE":"크기 조정","REMOTE_COULD_NOT_BE_LOADED":"Web Remote를 로드할 수 없습니다.","REMOTE_RETRY":"재시도","TORRENT_PROFILE_DEFAULT":"기본값","TORRENT_PROFILE_SOFT":"저속","TORRENT_PROFILE_FAST":"고속","TORRENT_PROFILE_ULTRA_FAST":"초고속","MB_S":"MB/s","FAQ_001_H1":"Stremio란?","FAQ_001_P1":"Stremio는 사용하기 쉬운 비디오 엔터테인먼트용으로 설계된 미디어 센터 소프트웨어입니다. Stremio를 사용하면 자신만의 영화, 시리즈, 채널 및 라이브 TV 컬렉션을 구성하고 시청할 수 있습니다.","FAQ_001_P2":"Stremio는 로컬 디스크와 당사의 애드온 시스템에서 표시되는 콘텐츠를 수집합니다.","FAQ_001_P3":"관심 있는 새로운 에피소드, 동영상, 영화가 나오면 알려주고 추천 영화도 알려준다.","FAQ_02_H1":"Stremio는 Kodi나 플렉스와 비교했을 때 어떻습니까?","FAQ_02_P1":"저희는 그 2개의 소프트웨어로부터 영감을 얻고 있습니다. 그러나 우리는 다른 목표를 가지고 있습니다.Stremio는 특히 엔터테인먼트 비디오를 타깃으로 하고 있으며, 매우 사용하기 쉽기 때문에 이를 위한 주류 솔루션이 되기 위해 노력하고 있습니다.","FAQ_02_P2":"Stremio는 Kodi 및 Plex만큼 커스터마이즈 및 기능이 풍부하지는 않지만, 훨씬 사용하기 쉽습니다. ${1}만 구입하시면 ${2}를 확인하실 수 있습니다. :)","FAQ_03_H1":"Stremio와 Netflix를 비교했을 때 어떻습니까?","FAQ_03_P1":"마찬가지로 넷플릭스도 우리의 영감 중 하나입니다. Netflix의 유저 익스피리언스를 실현하기 위해 노력하고 있습니다.또, 많은 부가 기능을 갖추고 있습니다. 그러나 가장 중요한 것은 애드온 시스템을 사용하여 라이브러리를 자유롭게 관리하고 새로운 콘텐츠 소스를 추가할 수 있다는 점입니다.","FAQ_03_P2":"Stremio를 무한히 확장할 수 있으므로 Stremio를 사용할 때 Netflix가 라이선스하기로 결정한 콘텐츠에 제한되지 않습니다. 예를 들어 Stremio를 통해 ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} 및 ${9}Netflix${10} 자체에서 콘텐츠를 시청할 수 있습니다!","FAQ_04_H1":"Stremio와 Flipboard를 비교했을 때 어떻습니까?","FAQ_04_P1":"우리는 새로운 사람들과 이야기할 때를 제외하고는 그런 질문을 자주 받지 않습니다. :)","FAQ_04_P2":"Stremio는 기본적으로 비디오용 Flipboard가 되는 콘텐츠 애그리게이터입니다. 이는 Flipboard와 마찬가지로 카탈로그와 새로운 에피소드/새로운 비디오 알림을 제공하는 게시판 섹션에서 매우 잘 드러납니다.","FAQ_05_H1":"Stremio와 Popcorn Time은 어떻게 비교됩니까?","FAQ_05_P1":"Stremio와 Popcon Time은 비디오 엔터테인먼트 카탈로그를 올바르게 만드는 방법이 많지 않기 때문에 사용자 인터페이스에서 유사합니다. :)","FAQ_05_P2":"단, Popcon Time은 특정 소스로부터의 스트리밍 토렌트에 초점을 맞추고 있지만 Stremio는 제한되지 않고 콘텐츠 애그리게이터일 뿐 특정 콘텐츠 소스에 얽매이지 않습니다.","FAQ_05_P3":"또한 기본적으로는 Torrent Addon은 제공되지 않으므로 Stremio는 Popcorn Time의 사용 사례를 공식 기능으로 다루지 않습니다.","FAQ_05_P4":"또 다른 중요한 차이점은 Popcorn Time은 완전히 오픈 소스인데 반해 Stremio는 부분적으로 오픈 소스 ${1}입니다.","FAQ_06_H1":"영화/시리즈를 추가하시겠습니까?","FAQ_06_P1":"아니요, 죄송합니다 :( ","FAQ_06_P2":"다른 대부분의 질문에서 언급했듯이 Stremio는 콘텐츠 자체를 제공하지 않습니다.모든 것은 애드온 시스템을 통해 추가됩니다. 콘텐츠 요청이 있는 경우 플레이어의 “리포트” 버튼을 사용하면 현재 사용 중인 애드온의 작성자에게 이메일을 보낼 수 있습니다.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"X용 애드온을 작성하시겠습니까?","FAQ_08_P1":"완전히 가능합니다.","FAQ_08_P2":"애드온에 대한 아이디어가 있으시면 ${1}office@stremio.com${2}로 적어주세요.단, 귀하의 애드온 아이디어가 저작권이나 이용약관을 침해하지 않도록 해 주세요.","FAQ_08_P3":"현재로서는 FandangoNOW, Filmon.tv 비디오 온 디맨드, Crunchyroll의 애드온입니다.","FAQ_09_H1":"Stremio는 BitTorrent를 사용합니까?","FAQ_09_P1":"네, Stremio는 스트리밍 프로토콜로 BitTorrent를 지원합니다. Torrent Addon을 사용하거나 Stremio에 .torrent 파일을 드래그 앤 드롭하거나 검색 바에 자석 링크를 붙여 사용할 수 있습니다.","FAQ_09_P2":"BitTorrent를 사용하는 공식 애드온은 ${1}Vodo${2}뿐이며, 모두 BitTorrent와 함께 배포할 수 있습니다.","FAQ_09_P3":"저작권 침해를 일으킬 수 있는 서드파티 애드온의 사용은 지원하지 않습니다.","FAQ_10_H1":"Stremio에서 공식 애드온과 함께 볼 수 있는 것은?","FAQ_10_P1":"기본적으로는 Stremio 자체 내에서 내장 플레이어를 사용하여 Filmon.tv, YouTube 및 Vodo 콘텐츠를 시청할 수 있습니다. 또, Twitch.tv 및 그 외의 몇개의 애드온도 준비되어 있습니다.","FAQ_10_P2":"이 조합은 다음을 제공합니다.:","FAQ_10_L1":"Filmon.tv에서 제공하는 인기 TV 채널 - E4, BBC, Bollyworld TV 등","FAQ_10_L2":"YouTube의 모든 것 - 예를 들어 BBC 뉴스, 탑 기어, Vevo, Pew DiePie","FAQ_10_L3":"Vodo와 함께 하는 독립 영화","FAQ_10_L4":"Twitch.tv에서 온라인 게임 방송","FAQ_10_P3":"Guidebox나 Netflix 애드온에는 많은 컨텐츠 소스가 준비되어 있습니다. 이러한 소스는 Stremio 내에서 재생되는 것은 아니지만, 지정된 서비스로 리다이렉트 됩니다. 예를 들어, Guidebox 애드온은 TubiTV나 Crackle과 같은 서비스에서 무료로 스트리밍할 수 있는 영화를 제공합니다.","FAQ_11_H1":"Stremio가 설치되지 않습니다. 어떻게 해야 합니까?","FAQ_11_P1":"Windows를 사용하는 경우 ${1}설치 프로그램${2}을(를) 사용해 보십시오.","FAQ_11_P2":"Mac OS X를 사용하는 경우 OS X Mavericks(10.9)보다 오래된 버전은 지원하지 않습니다.","FAQ_11_P3":"Linux를 사용하시는 경우 현재 64비트(x64) Linux만 지원합니다.","FAQ_11_P4":"계속 문제를 해결할 수 없는 경우 ${1}Facebook group${2}로 문의해 주십시오.","FAQ_12_H1":"백신프로그램이 바리러스 보고를 하는 이유는 무엇입니까? Stremio는 안전한가요?","FAQ_12_P1":"Stremio는 ${1}100% clean${2}임을 보증합니다.","FAQ_12_P2":"인스톨러에 애드웨어가 포함되어 있기 때문에 백신프로그램이 애드웨어로 인식되고 있습니다.","FAQ_12_P3":"아직 확실하지 않은 경우 ${1}대체 설치${2}을(를) 사용해 보십시오.","FAQ_13_H1":"애드온 제작 방법?","FAQ_13_P1":"먼저 GitHub에서 ${1}addons system module${2}를 체크할 것을 권장합니다.","FAQ_13_P2":"이후 ${1}Hello World tutorial${2}를 따르십시오.","FAQ_13_P3":"프로그래밍 스킬이 없는 경우 ${1}Reddit 커뮤니티${2}에 아이디어를 게시하고 ${3}office@stremio.com${4}에 애드온 아이디어를 문의해 주십시오.","FAQ_14_H1":"애드온은 어떻게 공개됩니까?","FAQ_14_P1":"애드온과 호스트를 만들고 매니페스트에 <b>endpoint</b>필드를 삽입하면 동작 중인 애드온 주소를 가리키면 애드온은 자동으로 ${1}애드온 카탈로그${2}에 퍼블리시됩니다.","FAQ_14_P2":"이는 stremio-addons 모듈의 서버 부분이 자동으로 API에 호출하여 애드온을 방송하기 때문입니다. API가 <b>endpoint</b>를 유효한 애드온으로 검증하면 카탈로그에 표시됩니다.","FAQ_15_H1":"브라우저에서 Stremio를 실행할 수 있습니까?","FAQ_15_P1":"현재로서는 안 되지만 곧 나올겁니다!","FAQ_15_P2":"알파가 궁금하신 경우 ${1}alpha4.strem.io${2}.을 참조하십시오. 이 알파에서는 스트리밍이 비활성화되어 있습니다. Chrome, Firefox, Opera 및 Edge를 지원합니다.","FAQ_16_H1":"TV로 전송이 작동하지 않습니다./자막이 작동하지 않습니다.","FAQ_16_P1":"TV로의 캐스팅은 다른 TV 브랜드와 모델 간에 매우 일관성이 없는 DLNA 기술을 사용합니다. 그렇기 때문에 모든 경우에 테스트할 수 있는 것은 아니기 때문에 완벽과는 거리가 멀다. 그럼에도 불구하고 지속적으로 개선 작업을 진행 중이지만 DLNA가 언제 TV에서 정상적으로 작동할지 예상할 수 없습니다.","FAQ_16_P2":"캐스팅 메뉴에 TV가 표시되지 않는 경우 네트워크 연결을 비활성화했다가 다시 활성화하십시오(Windows에서는 네트워크를 오른쪽 클릭하여 활성화/비활성화를 사용함). 라우터, TV 및 PC를 재시작하십시오","FAQ_16_P3":"아직 문제가 해결되지 않은 경우 TV 브랜드 및 모델 정보를 ${1}office@stremio.com${2}로 보내주십시오.","FAQ_16_P4":"그동안은 Chromecast를 매우 잘 지원하거나 단순히 HDMI 케이블로 TV를 PC에 연결하는 것을 권장합니다.","FAQ_17_H1":"Stremio freeze 및/또는 크래시, 어떻게 해야 하나요?","FAQ_17_P1":"우선, AVG 안티바이러스를 탑재한 Windows 7 을 사용하고 있는 경우는, 그 조합에 문제가 있습니다. 이 문제는 AVG 자체에 있으며, 우리 측에서는 해결할 수 있는 합리적인 방법이 없습니다. 유감스럽게도 예외나 안티바이러스를 비활성화하지 않습니다. 유일한 해결책은 AVG를 다른 것으로 교체하는 것입니다.","FAQ_17_P2":"그것이 문제가 아니지만 Windows를 사용하고 있다면 최신 서비스 팩으로 업데이트하여 GPU 드라이버를 업데이트/재설치한 후 다시 시도하십시오.","FAQ_17_P3":"문제가 해결되지 않았거나 Mac 또는 Linux를 사용 중인 경우, 문제의 정확한 세부사항을 ${1}Facebook group${2}로 보고해 주십시오.","FAQ_18_H1":"애드온은 어떻게 만들수 있나요?","FAQ_18_P1":"먼저 GitHub에서 ${1}addons system module${2}를 체크할 것을 권장합니다.","FAQ_18_P2":"이후 ${1}Hello World tutorial${2}를 따르십시오.","FAQ_18_P3":"프로그래밍 스킬이 없는 경우 ${1}Reddit 커뮤니티${2}에 아이디어를 게시하고 ${3}office@stremio.com${4}에 애드온 아이디어를 문의해 주십시오.","FAQ_19_H1":"Stremio가 디스크 공간을 사용하는 이유는 무엇입니까?","FAQ_19_P1":"Stremio에는 스트리밍하는 비디오 파일을 일시적으로 유지하는 <b>로컬캐시</b>가 있습니다.","FAQ_19_P2":"이것에는 두 가지 이점이 있습니다.첫째, Stremio는 비디오를 프리 버퍼링하여 스트리밍을 원활하게 할 수 있습니다. 둘째, 비디오를 로컬캐시에 보관하기 때문에 오프라인에서 계속 시청할 수 있습니다.","FAQ_19_P3":"Stremio의 유지량은 설정 패널의 <b>캐시</b> 설정에 따라 달라집니다. Stremio는 현재 스트리밍되고 있는 비디오의 용량이 이보다 클 경우 스트리밍할 때까지 충분한 스토리지를 할당해야 하는 경우를 제외하고 디스크에 설정된 용량(2GB 등)까지 유지할 수 있습니다.","FAQ_20_H1":"캐시 폴더는 어디에 있습니까?","FAQ_20_P1":"Windows에서는 설정에서 선택한 드라이브의 stremio 캐시 (예. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"MacOS에서는 \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linux에서는 \\"~/.stremio/stremio-cache\\" 또는 \\"~/stremio-cache\\"","FAQ_21_H1":"\\"Streaming server is not found\\" 오류가 표시되는데 어떻게 해야 합니까?","FAQ_21_P1":"이 오류가 발생하면 다음 중 하나를 의미합니다: ","FAQ_21_P2":"1) ${1}web version${2}에서 YouTube/BitTorrent 소스로 지원되는 애드온을 사용하려고 합니다. 이 경우 ${3} 당사 웹 사이트 ${4}에서 데스크톱 버전을 설치해야 합니다.","FAQ_21_P3":"2) Stremio 설치에 문제가 있습니다. 이 경우 웹 사이트 ${2}에서 최신 데스크톱 버전을 다시 설치하십시오. 그래도 문제가 해결되지 않으면 안티바이러스 프로그램 및 방화벽을 비활성화하고 PC를 재시작한 후 다시 시도하십시오. 이 방법으로도 문제가 해결되지 않을 경우 ${3} 당사 Facebook group${4}로 문의해 주십시오","FAQ_22_H1":"iOS에서 대부분의 애드온을 표시/사용할 수 없습니다.","FAQ_22_P1":"Apple App Store 약관의 제약으로 인해 iOS 어플리케이션은 특정 애드온 세트로만 제한되었습니다.","FAQ_22_P2":"하지만 안심하세요.향후 iOS용 애드온이 더 늘어날 것입니다.또한 iOS 앱을 Stremio Streaming Server에 연결함으로써 모든 Stremio 애드온을 사용할 수 있는 통합을 추가할 수도 있습니다."}')},94301:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Филм","TYPE_series":"Серија","TYPE_tv":"TV канал","TYPE_channel":"YouTube канал","TYPE_other":"Останато","TYPE_movie_PL":"Филмови","TYPE_series_PL":"Серии","TYPE_tv_PL":"TV канали","TYPE_channel_PL":"YouTube канали","TYPE_other_PL":"Останато","TYPE_ALL":"Сите","TYPE":"Врста","CATALOG_com_linvo_cinemeta_top":"Популарни","CATALOG_com_linvo_cinemeta_imdbRating":"Избрани","CATALOG_com_linvo_cinemeta_year":"Нови","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Филмови од јавен домен","VIDEO":"Видео","BACK":"Назад","MORE":"Повеќе","DONE":"Готово","COPY":"Копирај","SUCCESS":"Успешно","ERROR":"Грешка","SETTINGS_CASTING_MODE_PICKER":"Режим на емитување","CASTING_MODE_HLSV2":"Стандардно","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Нема транскодирање","Discover":"Откријте","Board":"Табла","Library":"Kолекција","My Library":"Мојата колекција","Calendar":"Календар","NOTIFICATION_ONLINE":"Сега сте онлајн","NOTIFICATION_OFFLINE":"Моментално сте офлајн","INTERNET_CONNECTION":"Мрежна конекција","STORAGE_FULL_TITLE":"Предупредување: Складирањето е полно!","STORAGE_FULL_TEXT":"Stremio нема да може да ги зачува вашите поставки, префернции или информации за најавување. Размислете за рестартирање или повторно инсталирање на Stremio.","SEARCH":"бараj","SEARCH_NO_RESULTS":"Не беа пронајдени резултати","SEARCH_EXPLANATION_CONTENT":"Пребарајте филмови, серии, YouTube и ТВ канали","SEARCH_EXPLANATION_PEOPLE":"Барајте актери, режисери и писатели","SEARCH_PASTE_LINKS":"Залепете HTTP и Magnet врски","SEARCH_OR_PASTE_LINK":"Пребарајте или залепете врска","SEARCH_SUGGESTIONS":"Пребарајте предлози","ADD_TO_LIB":"Додај во колекција","REMOVE_FROM_LIB":"Отстрани од колекција","ADDED_TO_LIB":"Додадено во колекција","REMOVED_FROM_LIB":"Отстрането од колекцијата","TRAILER":"Треjлер","WATCH_TRAILER":"Треjлер","WATCH_NOW":"Гледај","SHOW":"Покажи","SHOW_MOVIE":"Прикажи филм","WATCH_RANDOM":"Гледај по случаен избор","IMDB_RATING":"IMDb рејтинг","YEAR":"Година","DIRECTOR":"Режија","WRITER":"Автор","LEAD_ACTORS":"Во Главните улоги","CAST":"Глумат/Емитувај","CREW":"Екипа","SHOW_MORE_CAST":"Прикажи повеќе »","AIRED":"емитувано","SEASONS":"Сезони","GENRE":"Жанр","GENRE_ALL":"Сите жанрови","CATALOG":"Каталог","SUMMARY":"Опис","SHOW_MORE":"Прикажи повеќе","SIMILAR":"Слични","UPCOMING":"Наскоро","TBA":"TBA","ENDED":"Прекинат","DURATION":"Времетраење","FEATURED":"Избрана","METADATA":"Метадата","CATEGORY":"категорија","LINKS_GENRES":"Жанрови","LINKS_CAST":"Улоги","LINKS_DIRECTORS":"Режисерите","SEARCH_VIDEOS":"пребарување видеа","SEARCH_PLACEHOLDER":"пребарување или залепете магнетна врска","ADDON":"додаток","ADDONS":"Додатоци","OFFICIAL":"официјални","ADDONS_OFFICIAL":"Официјални додатоци","ADDONS_POPULAR":"Популарни во регионот","ADDON_FREE":"бесплатно","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"subscription","ADDON_STREAM_GEORESTRICTED":"не е достапно во вашата област","ADDON_STREAM_OFFLINECACHE":"Офлајн кеш","ADDON_STREAM_LOCALFILE":"Локална датотека","SHARE_ADDON":"Споделете додаток","AVAILABLE_STREAMS":"Достапни извори","NO_STREAM":"Нема достапни извори","ALL_ADDONS":"Сите","INSTALL_MORE_ADDONS":"За повеќе преноси, инсталирајте повеќе додатоци","STREAM_NOT_SUPPORTED":"Избраниот пренос не е поддржан на оваа платформа.","ADDON_CATALOGUE":"Прикажи ги сите додатоци »","ADDON_CATALOGUE_MORE":"Повеќе додатоци »","REPO_ADDED":"Додадено е складиште","ADDON_REPO_EXIST_ERR":"Ова складиште за додатоци веќе постои","ADDON_REPO_ERR":"Се појави грешка при додавањето складиште","ADDON_ADD_ERR":"Настана грешка при додавањето додаток","ERR_ADDON_PROTECTED":"Заштитен додаток","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Нешто тргна наопаку - автентикацијата можеби не успеа","ERR_NOT_COLLECTION_URL":"Не е URL-адреса за колекција","ERR_NOT_ADDON_URL":"Не е URL-адреса за додаток","ERR_DETECTFROMURL":"Не може да се открие од URL-то","ADDON_DUPLICATE_WARNING":"Предупредување: дупликат додаток","ADDON_COLLECTION_SET_FAILED":"Сетот за собирање додатоци не успеа","SETTINGS_DATA_EXPORT":"Извезете податоци","ADDON_PULL_FAILED":"Повлекувањето на додатокот не успеа","REFRESH_ON_CLICK":"Кликнете за да се обидете повторно","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Филмот е сеуште во кината","WATCH_IN_CINEMA":"Гледајте го во вашето локално кино","IN_THEATER":"Во кино","GET_TICKETS":"Земете билети","UPCOMING_EPISODE":"Претстојна епизода","UPCOMING_EPISODE_MESSAGE":"Оваа епизода ќе се емитува на","MISSING_DATE_EPISODE":"Недостасува датумот на епизодата","MISSING_DATE_EPISODE_MESSAGE":"Оваа епизода можеби сè уште не е емитувана","CHANNEL_NOT_SCRAPED":"Сеуште немаме информации за овој канал. <br > Вратете се по неколку минути.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Додадете го во колекцијата за да примите известување.","GET_NOTIFIED_WHEN_AVAILABLE":"Ќе примите известување кога ќе излезе.","WARNING_STREAMING_SERVER":"Предупредување: локалниот сервер за стриминг не е пронајден. Преносот од YouTube и BitTorrent нема да биде достапен.","WARNING_STREAMING_SERVER_DISMISS":"Отфрли","WARNING_STREAMING_SERVER_LATER":"Подоцна","DECODER_WARNING":"Предупредување: ова видео можеби не е поддржано од вашиот хардвер. Имајте на ум, репродукцијата може да биде бавна.","GENERIC_ERROR_MESSAGE":"Нешто тргна наопаку!","TRY_AGAIN":"Обиди се повторно","CLEAR_DATA":"Исчисти податоци","PLAYER_ERROR":"Упс, Грешка на плеерот","PLAYER_ERROR_LOOKSLIKE":"Изгледа како","PLAYER_ORIENTATION":"Ориентација на плеерот","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Заклучен","PLAYER_ORIENTATION_SENSOR_SHORT":"Сензор","PLAYER_ORIENTATION_LANDSCAPE":"Ориентацијата на плеерот е заклучена на пејзаж","PLAYER_ORIENTATION_SENSOR":"Автоматска ориентација на плеерот (сензор)","PLAYER_PLAYBACK_SPEED":"Брзина на репродукција","PLAYER_PLAYBACK_ERROR":"Грешка при репродукција, обидете се повторно","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Непозната грешка","PLAYER_PLAYBACK_ERROR_DEFAULT":"За жал, ова видео не може да се репродуцира од {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Јазици на преводи","PLAYER_SUBTITLES_VARIANTS":"Варијанти на преводи","PLAYER_SUBTITLES_SETTINGS":"Поставки за преводи","PLAYER_SUBTITLES_DISABLED":"Преводите се оневозможени","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Вертикална положба","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Вградените преводи се вчитани","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Вчитани се ексклузивни преводи","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Преводите од {{origin}} се вчитани","PLAYER_PLAY":"Пушти","PLAYER_PAUSE":"Пауза","PLAYER_NEXT_VIDEO":"Следно видео","PLAYER_MUTE":"Исклучи звук","PLAYER_UNMUTE":"Вклучи звук","PLAYER_OPEN_IN_EXTERNAL":"Отворете во надворешен плеер","PLAYER_OPEN_IN_NPLAYER":"Отворете во nPlayer","PLAYER_PLAY_IN":"Пушти во {{device}}","PLAYER_LIVE":"Во живо","PLAYER_NEXT_VIDEO_TITLE":"Доаѓа следно на","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Следно на","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Отфрли","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Гледајте сега","PLAYER_COPY_STREAM_SUCCESS":"Вашата врска за стримот е копирана","PLAYER_COPY_STREAM_ERROR":"Не успеа да се копира врската за стримот","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Врската за преземање е копирана на вашата таблата со исечоци","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Не успеа да се копира врската за преземање","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Стриминг од","CASTING_TO":"Репродукција на","NETWORK_STATUS":"Мрежа","STREAM_SPEED":"Брзина:","STREAM_BUFFERED":"Буфер:","PEERS_INFO":"Корисници","PEERS_ACTIVE":"Активни:","PEERS_CONNECTED":"Поврзани:","PEERS_WAITING":"Чекаат:","TRANSCODING_WARNING":"Предупредување: транскодирање на видеото.","STREAM_LOADING":"Се вчитува...","PLAYING_LOCAL":"репродукција од локална датотека","PLAYING_CACHE":"репродукција од кеш","WRONG_SUBS":"Грешни преводи?","ERR_SUBS_LOADING_TITLE":"Грешка при вчитување на преводи","ERR_SUBS_LOADING":"Неуспешно вчитување преводи: ова може да биде проблем со додатокот што го користите или со вашата мрежна врска","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Следниве додатоци за превод не се вчитаа","ERR_CASTING_UPDATE_TITLE":"Не може да се ажурираат информациите за уредот за емитување: серверот за пренос може да е офлајн","CHOOSE_DEVICE":"Изберете уред за гледање","NO_CAST_DEVICES":"Нема достапни уреди за емитување.","NO_SETTINGS":"Нема достапни поставки.","NO_OPTIONS":"No options available","PHONE_TABLET":"Телефон / таблет","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Преводи","SUBTITLES_CHANGE":"Смени превод на","SUBTITLES_CHANGE_NONE":"Нема други преводи за тој јазик.","SUBTITLES_CHANGE_ACIVE":"Во моментов преводи #{{subtitlesDialog.activeIdx + 1}} се активирани. Кликнете \\"Продолжи\\" за да ги активирате преводите #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Алтернативно,","SUBTITLES_ADJUST_DELAY":"Приспособете го доцнењето на титловите:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Или користете ги копчињата <span>G</span> / <span>H</span> додека репродуцирате за да се приспособите.","SUBTITLES_ADJUST_DELAY_TIP":"СОВЕТ: можете да ги користите копчињата <span>G</span> / <span>H</span> додека репродуцирате за прилагодување.","SUBTITLES_DELAY":"Одложување на преводи:","SUBTITLES_LOADING":"Се вчитуваат преводи...","SUBTITLES_UNAVAILABLE":"Нема достапни надворешни преводи","SUBTITLES_DISABLED":"Оневозможено","EXTERNAL_PLAYER_DISABLED":"Оневозможено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Дозволи избор","EXTERNAL_PLAYER_HINT":"Совет: Има поставка што дозволува секогаш отворање со надворешен плеер","DONT_SHOW_AGAIN":"Не прикажувај повторно","SERVICE_INSTALL":"Инсталирајте","AUDIO":"Аудио","DEFAULT_LANGUAGE":"Стандарден јазик","DEFAULT_SECONDARY_LANGUAGE":"Стандарден секундарен јазик","SEASON":"Сезона","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Епизода","EPISODE_ABBREVIATION":"ЕП","SPECIAL":"Специјални","SORT":"подреди","SORT_BY":"Сортирај по","FILTER":"филтер","SORT_TRENDING":"популарни","SORT_RECENT":"последни","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"рејтинг","SORT_WATCHED":"видени","SORT_YEAR":"година","SELECT":"Select","SELECT_TYPE":"Изберете тип","SELECT_SORT":"Изберете подредување","SELECT_CATALOG":"Изберете каталог","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Изберете жанр","SORT_LASTWATCHED":"По последно гледано","SORT_NAME":"По име","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"По гледани пати","SORT_NOTWATCHED":"не гледано","New for You":"Ново за вас","New Episodes":"Нови епизоди","New Videos":"Нови видеа","Recommendations":"Препораки","LIBRARY_RESUME":"продолжи","LIBRARY_PLAY":"Пушти","LIBRARY_DETAILS":"Детали","LIBRARY_RESUME_DISMISS":"отфрли","LIBRARY_CLEAR_PROGRESS":"Исчисти напредок","LIBRARY_REMOVE":"Отстрани","LIBRARY_NOT_LOGGED_IN":"Колекцијата е достапна само за најавените корисници","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Календарот е достапен само за најавените корисници","NOT_LOGGED_IN_CLOUD":"Пристапете до вашите омилени филмови и ТВ серии во секое време и каде било","NOT_LOGGED_IN_RECOMMENDATIONS":"Препораки прилагодени на вашата историја на гледање","NOT_LOGGED_IN_NOTIFICATIONS":"Никогаш повеќе не пропуштајте епизода","NOT_LOGGED_IN_CALENDAR":"Закажете го вашиот личен календар за гледање","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Избрани","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Добитници на Оскар","DISCOVER_WARNING_TITLE":"Упс!","DISCOVER_EMPTY_CATALOG":"Овој додаток врати празна содржина.","DISCOVER_ADULT_WARNING":"Содржината е видлива само за возрасни. Дали си 18+?","DISCOVER_NOADDON_WARNING":"Внимание: нема активен Stremio addon за овој тип содржина. Овде гледате зачувана информациjа, таа нема да се обновува.","DISCOVER_LOAD_ERR":"Содржината не се вчита, се појави грешка.","DISCOVER_ADDON_UNINSTALLED":"Оваа содржина повеќе не е достапна, можеби сте го деинсталирале додатокот.","UNINSTALL_THIS_ADDON":"Деинсталирајте го овој додаток","ERR_ADDON_NOT_INSTALLED":"Овој додаток не е инсталиран. Инсталирате сега?","DETAIL_RECEIVE_NOTIF_SERIES":"Добивајте известувања за нови епизоди","DETAIL_RECEIVE_NOTIF_VIDEOS":"Добивајте известувања за нови видеа","SIDEBAR_SHOW_STREAMS":"Прикажи стримови","RELAUNCH":"Лансирај ја новата верзија!","UPGRADE":"Достапна е нова верзија","RELOAD_UI":"Повторно вчитајте го корисничкиот интерфејс","MANUAL_UPDATE_TITLE":"Ажурирајте ја вашата верзија на Stremio","MANUAL_UPDATE_LINE1":"Користите застарена верзија на Stremio која е крајно непрепорачлива.","MANUAL_UPDATE_LINE2":"Ве молиме ажурирајте што е можно поскоро.","BUTTON_UPDATE_LATTER":"Не сега","BUTTON_UPDATE_NOW":"Ажурирање","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Анонимен корисник","DONT_HAVE_ACC":"Немате сметка?","HAVE_ACC":"Веќе имате профил?","PASSWORD":"Лозинка","PASSWORD_CONFIRM":"Потврди ја лозинката","EMAIL":"Е-пошта","FB_LOGIN":"Најави се со Фејсбук","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Ништо не се споделува без ваша дозвола","FB_NOPOST":"Нема да објавиме ништо во ваше име","OR":"или","I_ACCEPT":"Ги прочитав и ги прифаќам","I_ACCEPT_BY_CLICKING":"Со кликнување на горното копче сведочам дека го прифаќам ","TOS":"Општите услови","MUST_ACCEPT_TERMS":"Мора да ги прифатите условите","PASSWORDS_NOMATCH":"Лозинките не се совпаѓаат","SIGN_UP":"Регистрирај се","SIGN_UP_EMAIL":"Пријавете се со е-пошта","CLICK_TO_SIGN_UP":"Кликнете овде за да се регистрирате.","LOG_IN":"Влез","LOG_OUT":"Излез","EXIT_FULLSCREEN":"Излезете од режимот на цел екран","ENTER_FULLSCREEN":"Влезете во режим на цел екран","PLAY_URL_MAGNET_LINK":"Пушти со URL/магнет врска","HELP_FEEDBACK":"Помош и повратни информации","TERMS_OF_SERVICE":"Условите за користење","PRIVACY_POLICY":"Политика за приватност","ABOUT_STREMIO":"За Stremio","USER_PANEL":"Кориснички панел","LOGIN_LABEL":"Логирај се","GUEST_LOGIN":"Најава за гости","GUEST_LOGIN_NOTICE":"Не се препорачува најавување како гостин. Користењето на нормално најавување му овозможува на Stremio да ја синхронизира вашата колекција, да прима известувања за омилените серии/канали. Дали сте сигурни дека сакате да продолжите?","GUEST_LOGIN_NOTICE_2":"Најавата за гостин не се препорачува - нема да имате синхронизирани известувања за колекција и табла, кои се витални функции на Stremio. Дали сте сигурни дека сакате да продолжите?","CLICK_HERE":"кликнете овде","WRONG_PASSWORD":"Погрешна е-пошта или лозинка. Во случај да сте ја заборавиле лозинката,","SET_A_PASS":"ставете ваша лозинка","RESET_PASSWORD":"Ресетирање на лозинка","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Ја заборави лозинката?","EMAIL_USED_WITH_FB":"Оваа е-маил адреса е употребувана во Фејсбук најава.","INVALID_EMAIL":"Ве молиме внесете валидна е-маил адреса","INVALID_PASSWORD":"Ве молиме внесете валидна лозинка","CONN_ERR":"Грешка во врската - обидете се повторно подоцна.\\n\\nАко ова продолжи, оневозможете firewalls/антивирусен софтвер (особено Bitdefender).","IMPORT_FROM_GUEST":"Увезете колекција од вашата гостинска сметка","RECEIVE_UPDATES_EMAIL":"Добивајте ажурирања на вашата е-пошта од Stremio","LOGIN_FAILED":"Најавата не успеа.","SIGNUP_FAILED":"Регистрацијата не успеа.","SEARCH_FAILED":"Пребарувањето не успеа","EMAIL_USED":"Оваа е-маил адреса веќе се користи.","WAITING_FB_LOGIN":"Најавување со Фејсбук...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Играјте во надворешен плеер","EXTERNAL_REMEMBER_PLAYER":"Дали сакате да го запомниме вашиот избор","EXTERNAL_ALWAYS_PLAY":"Да","EXTERNAL_ONLY_ONCE":"Не","BEST_FIT":"Најдобро одговара","FIT_SCREEN":"Одговара на екранот","FILL":"Пополнете","16:9":"16:9","4:3":"4:3","Original":"Оригинален","INTRO_TASTE":"Кажете ни што ви се допаѓа","INTRO_TASTE_LONG":"Кажете ни што би сакале да гледате","INTRO_TASTE_PICK":"Изберете {{interestsRemaining}} интереси","INTRO_TASTE_PICK_MORE":"Изберете {{interestsRemaining}} повеќе интереси","INTRO_TASTE_HELP_US":"Помогнете ни да дознаеме повеќе за вас.","INTRO_TASTE_CHOOSE_THESE":"Изберете некои од овие:","INTRO_TASTE_CHOOSE_MIN":"Изберете најмалку 3 категории","INTRO_TASTE_CHOOSE_MIN_ERR":"Треба да изберете најмалку 3 категории!","INTRO_TASTE_LIFESTYLE":"Начин на живот","INTRO_TASTE_SPORTS":"Спорт","INTRO_TASTE_FOOD_HEALTH":"Храна и здравје","INTRO_TASTE_BEAUTY_FASHION":"Убавина и мода","INTRO_TASTE_NEWS":"Вести","INTRO_TASTE_GAMING":"Гејминг","INTRO_TASTE_SCIENCE_EDU":"Наука и образование","INTRO_TASTE_MUSIC":"Музика","INTRO_TASTE_TRAVEL":"Патувања","INTRO_TASTE_LATE_NIGHT":"Доцна ноќна емисија","INTRO_TASTE_REALITY":"Реалност","INTRO_TASTE_COMEDY":"Комедија","INTRO_TASTE_DIY":"Како да направите сам","INTRO_TASTE_TECH":"Технологија","INTRO_TASTE_CINEMA":"Кино","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Избраниот додаток не е поддржан на оваа платформа.","ADDON_DISCLAIMER":"Употребата на додатоци од трети лица е на ваша одговорност.","ADDON_ACTIVATE":"Активирај овој додаток?","ADDON_REPO_ADD":"URL-адреса од додатоците","ADDON_ADD":"Додадете","INSTALL_ADDON":"Инсталирајте додаток","ADD_ADDON":"Додадете додаток","ADD_ADDON_DESCRIPTION":"Можете да додадете додаток преку надворешна врска, која ќе се појави под Инсталирани додатоци.","PASTE_ADDON_URL":"Залепете URL-адреса за додаток","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Што е ново?","BUTTON_CONTINUE":"Продолжи","BUTTON_ACTIVATE":"Активирај","BUTTON_ACTIVATED":"Активиран","BUTTON_CANCEL":"Откажи","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Поднесете","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Отфрли ги сите","BUTTON_VIEW_ALL":"види се","BUTTON_SEE_ALL":"види се","BUTTON_COLOR_TRANSPARENT":"Транспарентен","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Отвори во прелистувачот","LIB_EMPTY":"Колекцијата ви е празна. Откријте колку е корисна :)","HOW_START":"Започнете така:","LIB_EMPTY_CAL":"Календарот покажува епизоди од сериите во вашата колекција.","HOW_START_CAL":"Еве како да додадете серии:","LIB_EMPTY_BOARD":"Тука ќе видите известувања и препораки свързани со вашата колекцијата.","HOW_START_BOARD_WAIT":"Ве молиме додадете неколку серии / канали во вашата Колекција и дајте ни неколку минути за обработка :)","HOW_START_BOARD":"Еве како да додадете филмови и серии во колекцијата:","IMPORT_FB":"Додавање од <span> Facebook </ span>","IMPORT_TRAKT":"Увезете ја вашата медиумска колекција од <span>Trakt</span>","IMPORT_DISCOVER":"Најди интересни работи во <span>Откријте</ span>","IMPORT_DISK":"Скенирајте за филмови и серии од вашиот <span>локален диск</ span>","PLEASE_CREATE_ACC":"Ве молиме <u>направете сметка</u> за да овозможите синхронизација на колекцијата &.","IMPORT_DISCOVER_SIGNUP":"Регистрирај се и најди интересни работи во <span>Откријте</span>","IMPORT_DISK_SIGNUP":"Регистрирај се и вметни филмови и серии од вашиот <span>локален диск</span>","LIB_EMPTY_CLOUD":"Cloud колекција","LIB_EMPTY_CLOUD_DESC":"Лична колекција на Cloud синхронизирана на сите уреди","LIB_EMPTY_EARLY":"Рана птица","LIB_EMPTY_EARLY_DESC":"Добивајте известувања за нови епизоди","LIB_EMPTY_PERSONAL":"Лично","LIB_EMPTY_PERSONAL_DESC":"Добијте лични препораки","LIB_EMPTY_CALENDAR_DESC":"Закажете го вашиот личен календар за гледање","LIB_EMPTY_ALL":"Регистрирајте се за да ги добиете сите овие:","LIB_EMPTY_BEST":"Регистрирајте се за да го добиете најдоброто од Stremio","LIB_EMPTY_OTHER":"Регистрирајте се за да овозможите Календар и други интересни функции","CALENDAR_ADDED":"Календарот Stremio е додаден во вашиот стандарден десктоп календар.","CALENDAR_ADDED_MSG":"Ако ова не функционира, додајте ја оваа URL адреса на вашата апликација за календар рачно","TRAKT_EXPIRED":"Автентикацијата на Trakt истече, ве молиме одете во Поставки и повторно проверете","TRAKT_REQUIRES_LOGIN":"Грешка во Тракт","TRAKT_REQUIRES_LOGIN_MSG":"Треба да се најавите","TRAKT_IMPORT_WATCHED":"Увоз","THEME":"Тема","THEME_DEFAULT":"Стандардно","THEME_ADAPTIVE":"Адаптивни","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Поставки","SETTINGS_NAV_GENERAL":"Општо","SETTINGS_NAV_PLAYER":"Плеер","SETTINGS_NAV_STREAMING":"Стриминг","SETTINGS_NAV_SHORTCUTS":"Кратенки","SETTINGS_SHORTCUT_RELOAD_APP":"Повторно вчитај ја апликацијата","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Отворете Поставки","SETTINGS_SHORTCUT_SWITCH_TABS":"Префрли Картички","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Сврти низ Картички нанапред","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Сврти низ Картички наназад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Одете помеѓу менијата","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Одете во Пребарување","SETTINGS_SHORTCUT_EXIT_BACK":"Излезете / Вратете се назад","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Вклучи мени за брзина на репродукција","SETTINGS_SHORTCUT_MENU_VIDEOS":"Вклучи мени за видеа","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Вклучи мени за преводи","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Вклучи мени за информации","SETTINGS_SHORTCUT_FULLSCREEN":"Вклучување цел екран","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Прикажи контроли","SETTINGS_SHORTCUT_PLAY_PAUSE":"Пушти / Пауза","SETTINGS_SHORTCUT_VOLUME_UP":"Зголемете ја јачината на звукот","SETTINGS_SHORTCUT_VOLUME_DOWN":"Намалување на јачината на звукот","SETTINGS_SHORTCUT_SEEK_NEXT":"Барај следно","SETTINGS_SHORTCUT_SEEK_PREV":"Барај претходно","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Барај назад","SETTINGS_SHORTCUT_SEEK_FORWARD":"Барај напред","SETTINGS_SHORTCUT_PLAY_NEXT":"Пушти следно","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Зголеми големина на превод","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Намали големина на превод","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Зголеми доцнење на превод","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Намали доцнење на превод","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Вклучи странична лента","SETTINGS_SHORTCUT_OR":"или","SETTINGS_SHORTCUT_TO":"до","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Провери автентичност","SETTINGS_FACEBOOK_IMPORT":"Увоз","SETTINGS_CALENDAR_SUBSCRIBE":"Претплатете се","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Апликацијата Календар беше отворена. Ве молиме рачно да се претплатите на календарот.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Датотеката со календарот е преземена. Увезете го во вашата апликација за календар.","SETTINGS_INTERFACE_LANGUAGE":"Јазик на интерфејс","SETTINGS_LAUNCH_STARTUP":"Вклучи при стартување","SETTINGS_VLC_DEFAULT":"Пушти со VLC","SETTINGS_UI_LANGUAGE":"Јазик на UI","SETTINGS_UI_ZOOM":"Зумирање на интерфејсот","SETTINGS_FULLSCREEN_EXIT":"Escape key за излез од цел екран","SETTINGS_GAMEPAD":"Овозможете поддршка за gamepad","SETTINGS_CLOSE_WINDOW":"Затворете ја апликацијата кога прозорецот е затворен","SETTINGS_SUBTITLES_LANGUAGE":"Стандарден јазик на превод","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Стандардна големина на превод","SETTINGS_SUBTITLES_BACKGROUND":"Позадина на превод","SETTINGS_SUBTITLES_COLOR":"Боја на превод","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Боја на рамка за превод","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Боја на позадина за превод","SETTINGS_SEEK_KEY":"Копчињата со стрелки бараат време","SETTINGS_SEEK_KEY_SHIFT":"Копчињата со стрелки бараат време кога го држите копчето Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Времетраење на брзо премотување назад и напред","SETTINGS_BINGE":"Автоматско пуштање на следната епизода","SETTINGS_NEXT_VIDEO":"Прикажи известување за да започне следната епизода","SETTINGS_NEXT_VIDEO_TRIGGER":"Прикажи известување за следната епизода за:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Времетраењето на скокачкиот прозорец за следното видео","SETTINGS_PLAY_IN_BACKGROUND":"Пушти во позадина","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Пушти во надворешен плеер","SETTINGS_RESIZE":"Автоматско менување на големината на прозорецот пред пуштање","SETTINGS_OVERRIDE_SERVER":"Префрли URL-адреса на серверот за стриминг (напредно)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"URL на серверот за стриминг: ","SETTINGS_SERVER_AVAILABLE":"Достапен е серверот за стриминг.","SETTINGS_SERVER_UNAVAILABLE":"Серверот за стриминг не е достапен.","SETTINGS_SERVER_STATUS_ONLINE":"Онлајн","SETTINGS_SERVER_STATUS_ERROR":"Грешка","SETTINGS_SERVER_CONFIGURE_TITLE":"Конфигурирај URL-адреса на серверот за стриминг","SETTINGS_SERVER_CONFIGURE_INPUT":"Внеси URL-адреса на серверот за стриминг","SETTINGS_SERVER_CACHE_SIZE":"Големина на кешот","SETTINGS_SERVER_TORRENT_PROFILE":"Торент профил","SETTINGS_HTTPS_ENDPOINT":"Стриминг HTTPS крајна точка: ","SETTINGS_TRANSCODE_PROFILE":"Профил на транскод","SETTINGS_USE_BETA":"Секогаш користете ја најновата бета верзија","SETTINGS_IMPORT_FB":"Увези од Фејсбук","SETTINGS_IMPORT_DISK":"Увези од локалниот диск","SETTINGS_IMPORT_TRAKT":"Увези од Тракт","SETTINGS_PAUSE_MINIMIZED":"Паузирај ја репродукцијата кога е минимизирана","SETTINGS_HWDEC":"Хардверски забрзано декодирање","SETTINGS_BACKGROUND":"Репродукција во позадина","SETTINGS_SUBSCRIBE_CALENDAR":"Претплати се на календарот","SETTINGS_REQ_EXPORT":"Побарај извоз на податоци","SETTINGS_ACC_DELETE":"Побарај бришење на сметка","SETTINGS_CHANGE_PASSWORD":"Промена на лозинка","SETTINGS_TOS":"Услови на употреба","SETTINGS_SUPPORT":"Поддршка","SETTING_LANGUAGE":"Јазик","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Скробирање","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Одјави се од Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Одјави се од Trakt","SETTINGS_SCAN_FOR_REMOTE":"Скенирај QR-код да го отвориш далечинскиот управувач","SETTINGS_DESKTOP_NOTIFICATIONS":"Декстоп известувања","SETTINGS_DATA_SAVER":"Заштеди податоци","SETTINGS_LANGUAGE_INTERFACE":"интерфејс","SETTINGS_LANGUAGE_SUBS":"стандарден превод","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Автоматско избирање на аудио трака","SETTINGS_DEFAULT_AUDIO_TRACK":"Стандардна аудио трака","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Простран звук","SETTINGS_ACCOUNT":"сметка","SETTINGS_PLATFORM":"Платформа","SETTINGS_VERSION":"верзија","SETTINGS_ABOUT":"За нас","SETTINGS_MPV_WINDOW":"Стартувајте плеер во посебен прозорец (напредно)","SETTINGS_PLAY_IN_EXTERNAL":"Секогаш пуштај го видеото со надворешен плеер","SETTINGS_STORAGE_BUTTON":"Исчистете ја локалната меморија","SETTINGS_STORAGE_MODAL_TITLE":"Дали си сигурен ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ова ќе го исчисти локалното складирање и ќе ве одјави.","SETTINGS_HWDEC_PICKER":"Изберете поставка за декодирање забрзано со хардвер","SETTINGS_HW_AUTOMATIC":"Автоматски","SETTINGS_HW_DISABLED":"Оневозможено","SETTINGS_HW_ACCELERATED":"Забрзување на декодирање","SETTINGS_HW_FULL":"Целосно забрзување","SETTINGS_HW_LEGACY":"Наследство","SETTINGS_DISABLED":"Оневозможено","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Известување за мрежна врска","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL на далечина","SETTINGS_COPY_REMOTE_URL":"Копирај далечински URL","SETTINGS_REMOTE_URL_COPIED":"URL од далечина е копирана на вашата таблата со исечоци","SETTINGS_SECTION_SUBTITLES":"Преводи","SETTINGS_SECTION_AUDIO":"Аудио","SETTINGS_SECTION_CONTROLS":"Контроли","SETTINGS_SECTION_AUTO_PLAY":"Автоматско-Пуштање","SETTINGS_SECTION_ADVANCED":"Напредно","SUBSPICKER_AUDIO":"Аудио","SUBSPICKER_SUBTITLES":"Додатоци за Преводи","SUBSPICKER_BLACK_BACKGROUND":"Користете црна боја на позадина","SUBSPICKER_VERTICAL_OFFSET":"Вертикално поместување","SUBSPICKER_SIZE":"Големина","SUBSPICKER_DELAY":"Одложување","SUBSPICKER_EMBEDDED_SUBS":"Вградени преводи","MOBILE_PRIVACY_POLICY":"Политика за приватност","MOBILE_CRASH_REPORTING":"Пријавување на краш","MOBILE_ZOOM_TO_FILL":"Зумирајте за да го пополните екранот","MOBILE_PASSTHROUGH":"Дигитален аудио излез (премин)","MOBILE_RUN_LOW_BATTERY":"Работи на ниска батерија","MOBILE_RUN_FOREGROUND":"Стартувај како услуга во преден план","MOBILE_PERFORMANCE":"ПЕРФОРМАНСИ И СТАБИЛНОСТ","MOBILE_SERVER_ONLINE":"Онлајн","MOBILE_SERVER_OFFLINE":"Офлајн","MOBILE_QR_EXPIRES":"QR-кодот истекува за ","MOBILE_LOG_INTO":"Најавете се на вашата сметка на Stremio ","MOBILE_SCAN_QR":"Скенирајте го QR-кодот погоре или одете на ","MOBILE_LINK_ACCOUNT":"Поврзете ја сметката","MOBILE_SPEEDPICKER_CANCEL":"Откажи","MOBILE_SPEEDPICKER_LABEL":"Изберете брзина на репродукција","MOBILE_EMPTY_LIBRARY":"Вашата колекција е празна","MOBILE_NO_ADDON_ACTIVE":"Нема активен додаток Stremio за овој тип.","MOBILE_ORGANIZER_WARNING":"Апликацијата Stremio Organizer обезбедува ограничена функционалност. За цел список на стримови што може да се репродуцираат и целосното Stremio искуство, користете Stremio на работната површина.","MOBILE_ADDON_LOADING":"сè уште се вчитува","MOBILE_ADDONS_LOADING":"додатоците сè уште се вчитуваат","MOBILE_ADDON":"Додаток","MOBILE_CONFIGURE_ADDON":"Конфигурирајте го вашиот додаток","MOBILE_CONFIGURE_ADDON_LABEL":"Конфигурирајте го додатокот","MOBILE_ORGANIZER_ADDONS_WARNING":"Апликацијата Stremio Organizer обезбедува ограничен избор на додатоци. За целосно искуство со Stremio, користете го Stremio за десктоп","MOBILE_DISCONNECT":"Исклучете се","MOBILE_LOOKING_FOR_DEVICES":"Во потрага по уреди...","MOBILE_CAST_TO":"Емитувај на","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Избриши сметка","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Бришењето на сметката не веднаш поради законски обврски. Откако ќе побарате бришење на вашата сметка, ќе мора да користите различна адреса за е-пошта/Фејсбук профил за да креирате нова сметка на Stremio во иднина.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Потврдете го бришењето на сметката","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Вашата сметка е креирана преку Facebook. За да ја избришете вашата сметка, ве молиме користете го нашиот кориснички портал на www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Ве молиме внесете ја вашата лозинка за да го потврдите бришењето на сметката.","MOBILE_DELETE_ACCOUNT_BUTTON":"Избриши сметкаe Account","NAVIGATION_ON":"Вклучено","NAVIGATION_OFF":"Исклучено","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Се согласувам да добивам маркетинг комуникации од Stremio","QUIT":"Откажете се","CONNECTED":"Поврзан","AUTHENTICATE":"Овластување","AUTHENTICATING":"Authenticating...","CACHING":"Кешира","SETTINGS_CACHING_DRIVE":"Изберете диск за кеш","ENABLE_LOCAL_FILES_ADDON":"Овозможете го додатокот за локални датотеки (потребно е рестартирање)","LOCAL_ADDON_NOT_ENABLED":"Локалниот додаток не е овозможен. Кликнете овде за да отидете до поставките и да го овозможите","ENABLE_REMOTE_HTTPS_CONN":"Овозможете далечински HTTPS врски","TORRENT_PROFILE":"Торент профил","DATA_CACHING":"Кеширање на податоци","MAGNET_PARSING":"Парсирање на магнетна врска","January":"Jануари","February":"Февруари","March":"Март","April":"Април","May":"Мај","June":"Јуни","July":"Јули","August":"Август","September":"Септември","October":"Октомври","November":"Ноември","December":"Декември","Monday":"Понеделник","Tuesday":"Вторник","Wednesday":"Среда","Thursday":"Четврток","Friday":"Петок","Saturday":"Сабота","Sunday":"Недела","Action":"Акција","Comedy":"Комедија","War":"Воени","Family":"Семејни","Animation":"Анимација","Adventure":"Авантура","Fantasy":"Фантазија","Crime":"Криминал","Mystery":"Мистерија","Romance":"Романса","Drama":"Драма","Horror":"Хорор","Thriller":"Трилер","Sci-Fi":"Научна фантастика","Music":"Музика","Biography":"Биографија","Documentary":"Документарец","Sport":"Спорт","Musical":"Музички","Western":"Западен","Film-Noir":"Филм-Ноар","News":"Вести","History":"Историја","Game-Show":"Гејм-Шоу","Reality-TV":"Реалити-ТВ","Talk-Show":"Ток-шоу","Film & Entertainment":"Филм и забава","Gaming":"Гејминг","From TV":"Од ТВ","Lifestyle":"Начин на живот","Science & Education":"Наука и образование","Cooking & Health":"Готвење и здравје","Beauty & Fashion":"Убавина и мода","Sports":"Спортови","News & Politics":"Вести и политика","How-to & DIY":"Како да и направи сам","Tech":"Технологија","Automotive":"Автомобилство","Causes & Non-Profits":"Причини и непрофит","Movies":"Филмови","Uk Live Tv":"ВБ ТВ во живо","Fashion":"Мода","Business News Radio":"Бизнис вести радио","Business Tv":"Бизнис ТВ","Cars & Auto":"Автомобили","Comedy Radio":"Комедија радио","Lifestyle Radio":"Радио за животниот стил","News Tv":"Вести ТВ","Food And Wine":"Храна и вино","Latino Tv":"Латино ТВ","Shopping Tv":"Шопинг ТВ","Religion":"Религија","Kids":"Деца","Body & Soul":"Тело и душа","Education":"Образование","Indian Tv":"Индиска телевизија","Extreme Sports":"Екстремни спортови","Middle Eastern Tv":"Блискоисточна телевизија","Celebrity Tv":"Познати личности ТВ","Science Tv":"Наука ТВ","Bikini babe":"Бикини девојки","Outdoors":"Аутдорс","German Tv":"Германска ТВ","French Tv":"Француска ТВ","Italian Tv":"Италијанска ТВ","Gamer Tv":"Гејмерска ТВ","Travel":"Патувања","Asian Tv":"Азиска ТВ","Entertainment":"Забава","News Radio":"Радио вести","Music Radio":"Музичко радио","Language Learning":"Учење јазик","Science Radio":"Научно радио","Tech Radio":"Технолошко радио","Science & Technology Vod":"Наука и технологија Vod","new video":"ново видео","new episode":"нова епизода","new movie":"нов филм","recommended":"препорачано","we recommend":"ние препорачуваме","offer of the day":"предлог на денот","news":"новости","music video":"музичко видео","CTX_SHOW_HOTKEYS":"Прикажи жешки копчиња","CTX_DISMISS_NOTIF":"Отфрли ги известувањата","CTX_DISMISS_ALL":"Отфрли ги сите","CTX_SHARE":"Сподели","CTX_COPY_SHARE_LINK":"Копирај ја врската за споделување","CTX_COPY_MAGNET_LINK":"Копирај магнет линк","CTX_COPY_STREAM_LINK":"Копирај ја врската за пренос","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Копирај ја врската за преземање видео","CTX_DOWNLOAD_VIDEO":"Преземете го ова видео","CTX_DOWNLOAD_SUBS":"Преземете преводи","CTX_VIEW_ON_YOUTUBE":"Погледнете на YouTube","CTX_SHOW":"Прикажи","CTX_PLAY":"Пушти","CTX_PLAY_IN":"Пушти во","CTX_PLAY_ON":"Пушти на","CTX_WATCH_ON":"Гледај на","CTX_WATCH":"Гледај","CTX_WATCHED":"Гледано","CTX_WATCH_BEGINNING":"Гледајте од почеток","CTX_WATCH_MOBILE":"Гледајте на мобилен уред","CTX_REWIND":"Премотајте назад кон почеток","CTX_MARK_WATCHED":"Означи како гледано","CTX_MARK_NON_WATCHED":"Означи како негледано","CTX_MARK_UNWATCHED":"Означи како невидено","CTX_MARK_REST":"Означи останато како гледано","CTX_UNMARK_REST":"Означи останато како негледано","CTX_RECEIVE_NEW_NOTIF":"Примајте нови известувања","CTX_ENABLE_NEW_NOTIF":"Овозможи известувања","CTX_DISABLE_NEW_NOTIF":"Оневозможи известувања","CTX_REMOVE_CACHE":"Отстрани од кешот","CTX_REMOVE_CACHE_EP":"Отстранете ја епизодата од кешот","CTX_OPEN_CONTAINING":"Отворете ја папката што содржи","CTX_REMOVE":"Отстрани од колекција","CTX_AVAILABLE_OFFLINE":"Достапно офлајн","CTX_PAUSED":"Паузирано","CTX_ALWAYS_ON_TOP":"Секогаш на врвот","CTX_FULLSCREEN":"Цел екран","CTX_WRONG_SUBS":"Погрешен превод?","CTX_REPORT_ISSUES":"Пријави проблем","CTX_COPY":"Копирај","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Залепи","CTX_CLEAR":"Исчисти","CTX_CLEAR_RECENT_SEARCHES":"Исчисти ги неодамнешните пребарувања","HELLO_THERE":"Здраво","HOPE_YOU_ENJOY":"Се надеваме дека уживате во Stremio и веќе е една од вашите омилени апликации!","WHO_ARE_WE":"Кои сме ние? Ние сме тимот зад него - двајца момци кои работат напорно секој ден во последните 3 години, со една единствена цел - да го направат овој производ подобар и подобар.","SUPPORT_US":"Ако уживате во користењето на Stremio, ако Stremio е вредно за вас - поддржете нè!","SPREAD_THE_WORD":"Споделете со вашите пријатели сега, раширете ги информациите за Stremio","MORE_PEOPLE":"Колку повеќе луѓе користат Stremio, толку подобро ќе биде!","SEND_A_LINK":"Или испратете линк до нашата веб-страница","TIP_LOCALFILES":"Совет: можете да влечете и испуштате локални видео датотеки во Stremio","ADDON_MY":"Мои додатоци","ADDON_COMMUNITY":"Додатоци на заедницата","ADDON_OFFICIAL":"Официјални додатоци","ADDON_REPOS":"Складишта за додатоци","ADDON_SEARCH":"Пребарајте додатоци","ADDON_INSTALL":"Инсталирај","ADDON_CONFIGURE":"Конфигурирај","ADDON_UNINSTALL":"Деинсталирај","ADDON_UPGRADE":"Надградба","ADDON_INSTALLED":"Инсталиран","ADDON_INSTALLED_MSG":"Додаток е инсталиран!","ADDON_UPGRADED_MSG":"Додатокот е надграден!","ADDON_UNKNOWN":"Непознат","ADDON_ERR":"Грешка во инсталирањето на додатокот!","ADDON_DISCONNECTED":"Исклучено","ADDON_APP_MISSING":"апликацијата за овој извор не е инсталирана. Дали сакате да го инсталирате сега?","ADDON_APP_INSTALL":"Инсталирај сега","ADDON_PAGE":"Страница за додатоци","ADDON_TOP_CONTENT":"Најдобро од овој додаток","ADDON_PROVIDES":"обезбедува","ADDON_WATCH":"Гледај #{types} сега!","ADDON_WATCH_FREE":"Гледај #{types} БЕСПЛАТНО сега!","ADDON_ADDON":"Додаток","ADDON_SUPPORTED_TYPES":"Поддржани типови","ADDON_SUPPORTED_CATALOGS":"Поддржани каталози","ADDON_PROVIDES_DISCOVER":"Повеќе #{types} во Откријте","ADDON_PROVIDES_STREAMS":"Гледај #{types}","ADDON_PROVIDES_STREAMS_FREE":"Гледај #{types} БЕСПЛАТНО","ADDON_PROVIDES_SUBTITLES":"Преводи за #{types}","ADDON_CANTDETECT":"Не можевме да откриеме дали Stremio работи, така што не можевме да откриеме какви додатоци сте инсталирале.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Не се најдени информации за ова ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Грешка при преземањето информации за ова.","ERR_CANT_PARSE_MAGNET":"Не може да се анализира магнетот","ERR_NO_MAGNET_INFOHASH":"Нема валиден хаш за информации за магнет","ERR_NO_FILE_PATH":"Не може да се испрати барање без патека до датотеката","ERR_NO_TORRENT":"Нема одговор од торентот","ERR_NO_SUPPORTERD_FILES":"Не се пронајдени поддржани датотеки","ERR_OPENING_FILES":"Не може да се отворат надворешни датотеки","ERR_INVALID_LINK":"Неважечка врска","ERR_REGISTERED_ONLY":"Оваа опција е достапна само за регистрирани корисници.","ERR_CLIPBOARD":"Не може да се пушти од копираното","ERR_CLIPBOARD_READ":"Не можам да го прочитам копираното на оваа платформа","ERR_CLIPBOARD_GENERIC":"Не е пронајдена URL-адреса за пуштање со копирано. Ве молиме копирајте URL-адреса (на пр. врска со магнет) на видео.","BOARD_CONTINUE_WATCHING":"Продолжи со гледање","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Филмови избрани специјално за вас.<br />Овој филм е примерок од препорака.","BOARD_EXPLANATION_EPISODES":"Новите епизоди од вашите омилени серии доаѓаат овде.<br />Додајте серии што ги следите во вашата колекција.","BOARD_EXPLANATION_VIDEOS":"Новите епизоди од вашите омилени канали доаѓаат овде.<br />Додајте ги каналите на YouTube што ги следите во вашата колекција.","WEBSITE_ENJOYED_BY":"Уживаат повеќе од 30 милиони корисници ширум светот","WEBSITE_STREAMING_ENHANCED":"Подобрен Стриминг","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio нуди безбедно, модерно и беспрекорно забавно искуство. Со неговиот лесен за користење интерфејс и разновидна колекција со содржини, вклучувајќи поддршка за 4K HDR, корисниците можат да уживаат во своите омилени филмови и ТВ серии на сите нивни уреди. И со својата посветеност на безбедноста, Stremio е врвниот избор за безгрижно, висококвалитетно искуство со стриминг.","WEBSITE_AVAILABLE_ON":"Достапно на","WEBSITE_WATCH_AND_ENJOY":"Гледајте и уживајте.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio го прави лесно како детска игра","WEBSITE_ALL_FEATURES":"Сите карактеристики","WEBSITE_EASY_TO_USE":"Лесен за користење","WEBSITE_EASY_TO_USE_DETAILS":"Stremio е дизајниран да биде лесен за користење и лесен за употреба. Со неговиот чист и интуитивен интерфејс можете лесно да се движите и да ја пронајдете содржината што сакате да ја гледате.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Беспрекорно низ различни уреди","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Достапен за широк спектар на платформи (вклучувајќи Windows, Mac, Linux, Android и повеќе), Stremio ќе го следи вашиот напредок на сите ваши уреди. Само најавете се и продолжете да гледате без да треба повторно да ја конфигурирате апликацијата на секој нов уред.","WEBSITE_ALL_DOWNLOADS":"Сите преземања","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Поддршка за видео со висока дефиниција","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Интегрираниот видео плеер кој ги поддржува повеќето формати на видео, вклучително и 4K HDR содржина, ви овозможува да уживате во највисокиот достапен квалитет.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Колекција со разновидна содржина","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio се интегрира со голем број популарни видео извори, како што се Netflix, Amazon Prime Video, Hulu, YouTube и многу други.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Направете бесплатно сметка","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Прилагодено искуство на гледање","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio ви овозможува да го прилагодите изгледот и чувството на интерфејсот со менување на темата, додавање или отстранување додатоци и многу повеќе.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Поддршка за повеќејазичен превод (титл)","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Сега можете да уживате во сите омилени содржини на вашиот јазик бидејќи Stremio поддржува преводи на сите јазици.","WEBSITE_ALL_STREMIO_FEATURES":"Сите карактеристики на Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Пробајте го Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"На вашиот ТВ сега","WEBSITE_YOU_CAN_NOW_WATCH":"Сега можете да ги гледате сите омилени ТВ серии на вашите уреди со Android TV. Апликацијата Stremio TV ви овозможува лесно да уживате во филмската вечер.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Сега можете да ги гледате сите омилени ТВ серии на вашиот Smart TV или Android TV. Апликациите Stremio TV ви овозможуваат лесно да уживате во филмска вечер.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio за паметен телевизор","WEBSITE_PLAY_STORE_REVIEW":"Веројатно најдобрата и најкорисната апликација што ја имате во вашиот уред. Тоа е една од апликациите што ги користам секојдневно, особено на мојот Android TV веќе многу години. Добро направен со силна заедница која обезбедува корисни функционалности. Добро сторено. Продолжи со добрата работа.","WEBSITE_REVIEWS":"Рецензии","WEBSITE_GET_STREMIO_FOR_FREE":"Набави го Stremio бесплатно","WEBSITE_GET_STREMIO_NOW":"Набави Stremio веднаш","WEBSITE_STREMIO_FEATURES":"Карактеристики на Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Стримувајте како професионалец со напредните функции на Stremio и уживајте во беспрекорен пристап до сите ваши омилени медиуми","WEBSITE_DISCOVER_MORE":"Откријте повеќе.","WEBSITE_DISCOVER_MORE_DETAILS":"Никогаш не останувајте без работи за гледање","WEBSITE_COMMUNITY_DRIVEN":"Управувано од заедницата","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio има голема и активна заедница на корисници кои придонесуваат за развој на софтверот преку креирање и споделување додатоци.","WEBSITE_GET_INVOLVED":"Вклучете се","WEBSITE_NEW_THEATER_EXPERIENCE":"Ново театарско искуство","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Новата посветена ТВ-апликација на Stremio ви овозможува да уживате во филмска вечер на вашите уреди со Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Новите посветени ТВ-апликации на Stremio ви дозволуваат да уживате во филмска вечер на вашиот паметен ТВ или уреди со Android TV.","WEBSITE_FREE_AND_SECURE":"Бесплатно и безбедно","WEBSITE_STREAMING":"Стриминг","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio нуди неспоредлива безбедност и приватност за корисниците. Со својата уникатна карактеристика за далечинско извршување на додатоци, Stremio обезбедува побезбеден начин за проследување на вашата омилена содржина во споредба со другите платформи. Вашата безбедност и приватност се врвни приоритети, а платформата гарантира дека сите ваши податоци се заштитени.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Кажете им збогум на грижите за безбедноста и приватноста и поздравете се во светот на бескрајна забава со Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Информациите обезбедени од","WEBSITE_CONTRIBUTE_DESC":"на проектот и помогнете ни да го направиме Stremio уште подобар","WEBSITE_COMMUNITY_DESC":"Ние веруваме дека најдобриот начин да се создаде навистина неверојатно искуство со стриминг е со вклучување на нашата заедница во процесот. Без разлика дали сте програмер, уметник или само обожавател - можете да му помогнете на Stremio да расте.","WEBSITE_COMMUNITY_DESC_2":"Затоа, придружете ни се денес и станете дел од заедницата Stremio и продолжете да ја обликувате иднината на стриминг.","WEBSITE_WAYS_TO_GET_INVOLVED":"Начини да се вклучите","WEBSITE_IN_THE_STREMIO_COMMUNITY":"во заедницата Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Споделете ги вашите размислувања","WEBSITE_REPORT_BUGS":"Пријавете грешки","WEBSITE_SUGGEST_FEATURES":"предложи идеи","WEBSITE_AND_PROVIDE_FEEDBACK":"и да дадете повратни информации за нашите канали на социјалните мрежи.","WEBSITE_BETA_TESTING_PROGRAM":"Програма за бета тестирање","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Учествувајте во нашата програма за бета тестирање (редовно испраќаме покани) во заедницата Stremio.","WEBSITE_JOIN_NOW":"Придружи се сега!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Официјални заедници на Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Неофицијални заедници на Stremio","WEBSITE_BECOME":"Стани","WEBSITE_A_VOLUNTEER_TRANSLATOR":"волонтер преведувач","WEBSITE_ARE_YOU_A_DEVELOPER":"Дали сте програмер?","WEBSITE_CONTRIBUTE_CODE":"Може да придонесете код за нашите проекти со отворен код. Имаме неколку проекти на GitHub кои бараат соработници. Ако сте заинтересирани да помогнете, проверете ги:","WEBSITE_STREMIO_ON_GITHUB":"Stremio на GitHub","WEBSITE_CREATE_ADDON_DESC":"Создадете додаток за подобрување на функционалноста на Stremio (имаме API што е лесен за употреба):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Додадок SDK","WEBSITE_INTERN_DEVELOPER":"Ние, исто така, даваме можност да ни се придружиме како развивач на практикант за да можеме да растеме заедно.","WEBSITE_APPLY_AS_AN_INTERN":"Пријавете се како практикант","WEBSITE_CALLING_ALL_ARTISTS":"Ги повикуваме сите уметници!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Покажете ја вашата креативност и љубов кон Stremio со прикачување на вашата фан уметност во нашата онлајн галерија. Без разлика дали се работи за цртеж, сликање или дигитален дизајн, сакаме да го видиме вашиот уникатен став за брендот Stremio. Придружете се на нашата заедница на уметнички ентузијасти и споделете ја вашата работа со колегите обожаватели на Stremio ширум светот.","WEBSITE_STREMIO_FANART_GALLERY":"Галерија Stremio Фанарт","WEBSITE_INTERN_DESIGNER":"Станете дел од нашиот тим и однесете ја вашата креативност до нови височини со нашите возбудливи можности за стажирање.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Проект за филмови од јавен домен","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Во Stremio, ние сме посветени на зачувување на историјата на филмот и телевизијата преку идентификување на видеа од јавен домен и без родители. Работејќи заедно со нашата заедница, можеме да обезбедиме овие класични уметнички дела да бидат достапни за секого и заштитени за уживање во идните генерации.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Слободно контактирајте не доколку сакате да се вклучите во тој проект.","WEBSITE_JOIN_THE_PROJECT":"Приклучи се на проектот","WEBSITE_BE_PART_OF_OUR_MISSION":"Бидете дел од нашата мисија","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Дали сте заинтересирани да се приклучите на тимот на Стремио? Нудиме целосно далечинска работа за страсни професионалци. Проверете ги нашите отворени позиции.","WEBSITE_OPEN_POSITIONS":"ОТВОРЕНИ ПОЗИЦИИ","WEBSITE_DESCRIPTION":"ОПИС","WEBSITE_LEARN_MORE":"Научи повеќе","WEBSITE_COMPANY":"Компанијата","WEBSITE_CONTACTS":"Контакти","WEBSITE_NEED_HELP":"Треба помош?","WEBSITE_STREMIO_WEB_ON_IOS":"Водич за Stremio Web на iOS","WEBSITE_LINK_ART_V2":"Галерија Фанарт","WEBSITE_PARTNERS":"Партнери","WEBSITE_SLOGAN_WATCH":"Гледајте веднаш","WEBSITE_SLOGAN_ALL":"Сите видео содржини во кои уживате на едно место","WEBSITE_SLOGAN_NEW":"Сè што можете да гледате","WEBSITE_SLOGAN_NEW_NEW":"Слобода за стрим","WEBSITE_WATCH_FROM":"Гледајте од","WEBSITE_DOWNLOAD":"Преземете сега","WEBSITE_DOWNLOAD_FOR":"Преземете сега за","WEBSITE_IS_DESKTOP":"Stremio е десктоп апликација, отворете ја оваа страница на вашиот компјутер и преземете ја","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Почетна","WEBSITE_PAGE_FEATURES":"Карактеристики","WEBSITE_PAGE_ADDONS":"Додатоци","WEBSITE_PAGE_TECH":"Технологија","WEBSITE_PAGE_CREATE_ADDON":"Креирај додаток","WEBSITE_PAGE_CONTACTS":"Контакти","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Ве молиме внесете ја посакуваната нова лозинка подолу.","WEBSITE_RESET_PASSWORD_WARNING":"Дали сте сигурни дека сакате да ја ресетирате лозинката за ${1}?","WEBSITE_TYPE_movie":"Филмови","WEBSITE_TYPE_series_PL":"Серии","WEBSITE_TYPE_tv":"ТВ во живо","WEBSITE_TYPE_channel":"Канали","WEBSITE_STREMIO_WHAT_IS":"Stremio е апликација која ви помага да ги организирате и веднаш да ги гледате вашите омилени видеа, филмови, ТВ серии и ТВ канали.","WEBSITE_FEATURES_WATCH":"Гледајте веднаш во HD","WEBSITE_FEATURES_WATCH_DETAIL":"Кликнете и гледајте ги вашите омилени филмови, ТВ серии, видеа и ТВ канали.","WEBSITE_FEATURES_SUBS":"Автоматски преводи","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio автоматски избира синхронизирани преводи за вашиот јазик.","WEBSITE_FEATURES_SUBS_LABEL":"Твој избор, шефе.","WEBSITE_FEATURES_CAST":"Гледај на ТВ и мобилни уреди","WEBSITE_FEATURES_CAST_DETAIL":"Емитувај на AppleTV, Chromecast, Smart TV (DLNA/UPnP) и мобилни уреди.","WEBSITE_LIB":"Уживајте во вашата лична колекција синхронизирана на сите ваши уреди","WEBSITE_LIB_COLLECT":"Собери од Stremio","WEBSITE_LIB_IMPORT":"Увоз од Facebook","WEBSITE_LIB_LOCAL":"Додајте од вашиот локален диск","WEBSITE_BOARD":"Табла - Вашето едно место за известувања и препораки","WEBSITE_BOARD_RECOMMEND":"Препорачана ТВ емисија","WEBSITE_BOARD_TRENDING":"Филмови во тренд","WEBSITE_BOARD_NEW":"Ново Видео","WEBSITE_BOARD_EPISODE":"Нова Епизода","WEBSITE_BOARD_1":"Барате нешто интересно за гледање? Добијте препораки засновани на вашиот вкус!","WEBSITE_BOARD_2":"Добијте известување кога ќе излезе нова епизода од вашето омилено ТВ шоу или канал на YouTube!","WEBSITE_BOARD_YOUTUBE":"Нови видеа на канали на YouTube","WEBSITE_BOARD_EPISODES":"Нови епизоди од сериите што ги следите","WEBSITE_ADDONS":"Додатоци за содржина","WEBSITE_TECH_DETAIL":"Ја сакаме технологијата, ја сакаме лудата наука!\\nStremio ги користи следниве технологии со отворен код:","WEBSITE_TECH_WCJS":"WebChimera.js овозможува Stremio да репродуцира кој било формат на видео со добри перформанси.","WEBSITE_TECH_WCJS_EXTRA":"Ние сме основни соработници на проектот","WEBSITE_TECH_ELECTRON":"Electron обезбедува иновативна платформа за изградба на Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Ние сме соработници на проектот","WEBSITE_TECH_LINVODB":"Технологија на база на податоци која гарантира дека вашите податоци се организирани и достапни каде и да се најавувате.","WEBSITE_TECH_LINVODB_EXTRA":"Внатрешна технологија","WEBSITE_CREATE_ADDON":"Направете го вашиот додаток","WEBSITE_CREATE_ADDON_DETAIL":"Дали имате услуга која обезбедува видео содржина? Ќе ви помогнеме да имате корист од функциите на Stremio со создавање на вашиот Додаток.","WEBSITE_CREATE_ADDON_BENEFITS":"Придобивки од создавање Додаток за Stremio","WEBSITE_P2P_BEAUTY":"Убавината на Peer-to-Peer стриминг","WEBSITE_P2P_1":"Сигурно и достапно видео со full HD / 4K на барање или пренос во живо","WEBSITE_P2P_2":"Платформа за дистрибуција обезбедува одлично корисничко искуство","WEBSITE_P2P_3":"Ние ќе создадеме додаток кој ги исполнува вашите точни потреби","WEBSITE_P2P_CONTACT":"Заинтересирани? Добредојдени сте да не <a href=\'mailto:office@stremio.com\'>контактирате</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Со задоволство ќе ви помогнеме да ја интегрирате вашата содржина со Stremio!","WEBSITE_P2P":"Одвреме-навреме доаѓа технологија која го менува името на играта. Вложивме тони време и напор во изградбата на нашиот мотор за видео стриминг Peer-to-Peer (P2P) кој обезбедува одлични перформанси и разноврсност за прилагодување со секој случај на употреба.\\nКонтактирајте не за P2P-видео на барање со овозможено DRM или пренос во живо.","WEBSITE_THOUGHTS":"Мислите што ги споделуваме:","WEBSITE_SPREAD":"Раширете го зборот за Stremio:","WEBSITE_CONTACT":"Ако сакате да контактирате со нас, продолжи на","WEBSITE_OPENSOURCE":"За нашите проекти со отворен код, одете кај","WEBSITE_BITCOIN":"Донирајте биткоин:","WEBSITE_FAQ":"Најчесто поставувани прашања","WEBSITE_FAQ_SHORT":"НПП","WEBSITE_QUESTIONS":"Прашања","WEBSITE_TOS":"Услови за користење","WEBSITE_LEGAL":"Правност","WEBSITE_PAGE_ABOUT":"За","WEBSITE_PAGE_BECOME_PARTNER":"Станете партнер","WEBSITE_ALL_YOU_CAN_WATCH":"Слобода за гледање\\nСè што сакате.","WEBSITE_FREEDOM_TO_STREAM":"Слобода за стримување","WEBSITE_WHAT_IS_STREMIO":"Што е stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio е центар за собирање видео содржини. Откријте, организирајте и гледајте видео од сите видови извори на кој било уред што го поседувате.","WEBSITE_WHAT_IS_STREMIO_P2":"Филмови, ТВ емисии, серии, телевизија во живо или веб-канали како YouTube и Twitch.tv - сето ова можете да го најдете на Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio е модерен медиумски центар кој е решение на едно место за вашата видео забава. Откривате, гледате и организирате видео содржини од лесни за инсталирање додатоци.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Филмови, ТВ емисии, ТВ во живо или веб-канали - најдете сето ова на Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Уживајте на сите ваши уреди","WEBSITE_DEVICES_COLLECT":"Собери од Stremio","WEBSITE_DEVICES_IMPORT_FB":"Увези од Фејсбук","WEBSITE_DEVICES_LOCAL":"Додај од локалниот диск","WEBSITE_JOIN_THE_PARTY_NOW":"Придружи се на забавата сега","WEBSITE_DEVICES_ALL":"Лесен за користење на сите ваши уреди;","WEBSITE_EXTENDABLE_CATALOG":"Бесконечно проширување на видео каталог;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Одлични функции за организирање на вашите медиуми;","WEBSITE_AS_SEEN_ON":"Како што се гледа на","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"За нас","WEBSITE_LINK_TECHNOLOGY":"Технологија","WEBSITE_LINK_APPS":"Апликации","WEBSITE_LINK_DOWNLOADS":"Преземања","WEBSITE_MORE":"Повеќе","WEBSITE_LINK_ADDONS":"Додатоци","WEBSITE_LINK_ADDON_SDK":"Додаток SDK","WEBSITE_LINK_CONTRIBUTE":"Придонесете","WEBSITE_LINK_COMMUNITY":"Заедница","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"... & Повеќе","WEBSITE_LINK_HELP":"Центар за помош","WEBSITE_LINK_CONTACTS":"Контактирајте со нас","WEBSITE_LINK_TOS":"Услови и правила","WEBSITE_LINK_PRAVACY":"Политика за приватност","WEBSITE_SUBSCRIBE":"Претплати се","WEBSITE_NEWSLETTER":"Придружете се на нашиот билтен за неверојатни работи","WEBSITE_PLACEHOLDER_EMAIL":"Твојата електронска пошта","WEBSITE_COMMUNITY":"Заедница","WEBSITE_LINK_PRAVACY_LEGAL":"Приватност и правност","WEBSITE_WHY":"Зошто го правиме тоа","WEBSITE_WHY_P1":"Во Stremio доаѓаме на работа секој ден бидејќи сакаме да решиме важен проблем за индустријата за видео на барање. Има толку многу нови содржини што се објавуваат секоја минута што е практично невозможно да се најде патот околу неа.","WEBSITE_WHY_P2":"Им помагаме на луѓето да се движат низ тој огромен свет на видео забава и да откријат нови содржини за уживање. Нашите апликации обединуваат филмови, серии, ТВ во живо, веб-канали и многу повеќе. Посветени сме на тоа да им олесниме на корисниците да најдат наслови и радиодифузери што ги сакаат.","WEBSITE_WHY_P3":"Може да ја користите нашата услуга на кој било уред и во секое време, со што Stremio ќе стане единствениот центар за видео забава што некогаш ќе ви треба.","WEBSITE_TEAM":"ТИМ","WEBSITE_TEAM_P":"Тимот на Stremio е мал, но моќен: меѓу нас десетмина, кодираме на X јазици и споделуваме експертиза за развој на софтвер, UI и UX дизајн, маркетинг и рекламирање и бизнис и стартап.","WEBSITE_FEATURES":"Карактеристики","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Откријте нови содржини со леснотија","WEBSITE_FEATURES_DISCOVER_P":"Лесно откривајте нови филмови, ТВ емисии, серии и канали за гледање. Прелистувајте по категорија, жанр, рејтинг, неодамнешност итн. или едноставно напишете име за наоѓање. Stremio го прави пронаоѓањето на нова видео содржина како детска игра.","WEBSITE_FEATURES_ALL_CONTENT":"Сите ваши видео содржини на еден екран","WEBSITE_FEATURES_ALL_CONTENT_P1":"Погледнете кои филмови, серии или видеа не сте ги завршиле и продолжете да ги гледате; добивајте известување за нови епизоди и изданија; и прелистајте ги препораките што ќе ги добиете врз основа на вашите навики за гледање.","WEBSITE_FEATURES_LIBRARY":"Организирајте ја вашата видео колекција","WEBSITE_FEATURES_LIBRARY_P1":"Додајте каков било наслов во вашата колекција Stremio со еден клик и пронајдете го вашиот пат околу вашата содржина, уредно подредени по тип, најновост или азбучен редослед.","WEBSITE_FEATURES_CALENDAR":"Следете се што гледате","WEBSITE_FEATURES_CALENDAR_P1":"Добијте визуелизација на календарот на сите филмови и серии што ги додавате во вашата колекција. Извезете го вашиот Stremio календар и синхронизирајте го за секогаш да знаете кога треба да се појави нова епизода или премиера.","WEBSITE_FEATURES_BIG_SCREEN":"Уживајте во вашата видео содржина на поголем екран","WEBSITE_FEATURES_BIG_SCREEN_P1":"Префрлете се што гледате на друг уред - било да е тоа телефон, таблет или телевизор со еден клик.","WEBSITE_FEATURES_SOURCES":"Гледајте видео од многу различни извори","WEBSITE_FEATURES_SOURCES_P":"Инсталирајте официјални додатоци и додатоци од заедницата за да уживате во видеото добиено од многу различни провајдери - сето тоа во една елегантна, лесна за употреба апликација.","WEBSITE_CREATE_AN_ADDON":"Направете додаток","WEBSITE_FEATURES_SYNC":"Синхронизирајте ја вашата колекција на различни уреди и продолжете со гледање","WEBSITE_FEATURES_SYNC_P1":"Најавете се со вашата сметка на сите ваши уреди и уживајте во колекцијата, додатоците, репродукцијата и календарот синхронизирани.","WEBSITE_FEATURES_EXTENDABLE":"Проширен видео каталог со додатоци","WEBSITE_FEATURES_EXTENDABLE_P1":"Каталогот со додатоци Stremio обезбедува голем број додатоци за инсталирање и гледање разновидна видео содржина. Ова вклучува филмови, емисии, ТВ во живо, спорт, вести, подкасти, веб-канали, видео игри и многу повеќе.","WEBSITE_FEATURES_AUTO_SUBS":"Автоматски преводи","WEBSITE_FEATURES_AUTO_SUBS_P1":"Со нашите додатоци за титл добивате автоматски избрани опции за вашиот претпочитан јазик.","WEBSITE_FEATURES_CHROMECAST":"Емитувај на Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Уживајте во вашата видео содржина на поголем екран или едноставно продолжете да го гледате на друг уред.","WEBSITE_FEATURES_KEEP_TRACK":"Следете ги вашите омилени ТВ емисии и веб-канали","WEBSITE_FEATURES_KEEP_TRACK_P1":"Добијте визуелизација на календарот и известувања за новите епизоди од вашите омилени серии и веб-канали.","WEBSITE_FEATURES_POWER_USER":"Моќни кориснички карактеристики","WEBSITE_FEATURES_POWER_USER_P1":"Пушти во надворешен плеер","WEBSITE_FEATURES_POWER_USER_P2":"Пушти од торент датотека или врска со магнет","WEBSITE_FEATURES_POWER_USER_P3":"Увезете во вашата колекција од лајкови на Фејсбук или локален диск","WEBSITE_ADD_ONS":"Додатоци","WEBSITE_ADD_ONS_P1":"Сите видео содржини што ги обезбедува Stremio се добиваат преку систем за додатоци - во апликацијата не е вградена содржина или давател на содржина.","WEBSITE_ADD_ONS_P2":"Достапни се две групи на додатоци: официјални и неофицијални(заедницата) додатоци.","WEBSITE_ADD_ONS_P3":"Официјалните се развиени и хостирани од Stremio, додека додатоците на заедницата се креирани од членовите на нашата заедница, кои исто така ги хостираат.","WEBSITE_ADDONS_OFFICIAL":"Официјални додатоци","WEBSITE_ADDONS_WATCHUB":"Пренесувајте ги вашите омилени филмови, серии и емисии од провајдери како iTunes, Hulu, Amazon и други услуги во ОК/САД.","WEBSITE_ADDONS_YOUTUBE":"Гледајте ги омилените канали на YouTube без реклами и добивајте известувања за нови прикачувања од соработниците што ги следите.","WEBSITE_ADDONS_FILMON":"Гледајте телевизија во живо, филмови и социјална телевизија бесплатно. 600 ТВ канали, 45.000 бесплатни филмови, документарни филмови и повеќе.","WEBSITE_ADDONS_OPENSUBTITLES":"Преводи за филмови и ТВ на повеќе јазици, илјадници преведени преводи кои се поставуваат секој ден.","WEBSITE_ADDONS_COMMUNITY":"Додатоци на заедницата","WEBSITE_ADDONS_FILMON_VOD":"Гледајте видео на барање од Filmon.tv","WEBSITE_ADDONS_TWICH":"Гледајте преноси во живо од Twitch.tv - платформа за видео стриминг за индустријата за е-спорт.","WEBSITE_ADDONS_VODO":"Гледајте инди филмови апсолутно бесплатно.","WEBSITE_ADDONS_NETFLIX":"Гледајте филмови и веб серии на Нетфликс.","WEBSITE_ADDONS_CREATE":"Направете додаток","WEBSITE_ADDONS_CREATE_P1":"Доколку сакате, можете да развиете свој додаток. На овој начин, можете да си дадете себеси и нашата заедница пристап до нови видео содржини и да допрете до нова целна публика од милиони корисници ширум светот.","WEBSITE_ADDONS_START_CREATE":"За да започнете, посетете ја страницата Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Преземања","WEBSITE_DOWNLOADS_P1":"За оптимални перформанси, ви препорачуваме да ја користите најновата достапна верзија на апликациите Stremio. Меѓутоа, ако поради некоја причина сакате да користите постара верзија, можете да ја преземете овде.","WEBSITE_DOWNLOADS_P1_SHORT":"За оптимални перформанси, ви препорачуваме да ја користите најновата достапна верзија на апликациите Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio за Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio за macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio за Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio за Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio за Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio за Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio за Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio за iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio за Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio за LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio за Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio за Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio за Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio за Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio за Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio за Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio за Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio за Прелистувач","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Пребарајте го Stremio во App Store на моделите на Samsung TV од 2019+ година","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Пребарајте го Stremio во App Store на моделите на LG TV од 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Пребарајте Stremio во апликацијата Play Store на Sony TV со Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Пребарајте Stremio во апликацијата Play Store на Philips TV со Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Пребарајте го Stremio во App Store на вашиот уред Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Водич за Stremio OS на RPI","WEBSITE_LINK_GUIDE":"Водич","WEBSITE_DOWNLOAD_SERVICE":"Преземете ја Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service е придружна апликација за Stremio Web. Препорачуваме да ја користите најновата достапна верзија на Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service за Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service за macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service за Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service за Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio за Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Повеќе опции за преземање","WEBSITE_DOWNLOAD_NEW":"Ново!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Го објавивме Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Го објавивме Stremio за Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Го објавивме Stremio за LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Го објавивме Stremio за Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Го објавивме Stremio за Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Придонесете","WEBSITE_CONTRIBUTE_P1":"Платформата Stremio е со отворен код и лесно можете да креирате додаток за содржина што моментално не е изворна.","WEBSITE_CONTRIBUTE_WHY":"Зошто треба да креирате додаток?","WEBSITE_CONTRIBUTE_WHY_P1":"Допрете нова публика за вашата видео содржина","WEBSITE_CONTRIBUTE_WHY_P2":"Корисничката база на Stremio рапидно расте - во првата година од лансирањето, Stremio доби 1 милион корисници ширум светот, а во втората година од постоењето на платформата оваа бројка порасна на 2,5 милиони.","WEBSITE_CONTRIBUTE_WHY_P3":"Со вашиот додаток, можете лесно да допрете до оваа публика и да им ја дистрибуирате вашата видео содржина.","WEBSITE_CONTRIBUTE_ALL":"Гледајте ги омилените филмови, видеа, серии и канали на едно место.","WEBSITE_CONTRIBUTE_ALL_P1":"Дали сте обожаватели на одреден тип на содржина што сè уште не е достапна на Stremio? Направете додаток за него и уживајте во гледањето на вашите омилени видеа во еден од најголемите и најлесните забавни центри на пазарот.","WEBSITE_CONTRIBUTE_ALL_P2":"Згора на тоа, ќе ја добиете бескрајната благодарност од другите членови на заедницата Stremio истомисленици.","WEBSITE_CONTRIBUTE_MONETIZE":"Монетизирајте го вашиот додаток и заработете пари со негова помош","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Откако ќе развиете нов додаток за Stremio, можете лесно да го монетизирате на повеќе различни начини. Ако размислувате за ова, слободно стапете во контакт со нас на","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - со задоволство би ве консултирале и ве советуваме за опциите за монетизација на додатоците.","WEBSITE_CONTRIBUTE_TRANSLATE":"Станете волонтер преведувач","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Ако сакате да уживате во апликациите Stremio на различни јазици, можете да се придружите на нашата заедница на доброволни преведувачи. Тие ни помагаат да додадеме верзии на Stremio на многу различни јазици.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Дали сте желни да започнете?","WEBSITE_TRANSALTE_STREMIO":"Преведи го Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Официјални заедници","WEBSITE_COMMUNITY_OFFICIALS_P1":"Станете дел од растечката заедница Stremio. Следете не на социјалните мрежи и не се срамете да се поздравите - сакаме да слушаме од нашите обожаватели!","WEBSITE_COMMUNITY_UNOFFICIALS":"Неофицијални заедници","STREMIO_COMMUNITY_NL":"Stremio Холандија","STREMIO_COMMUNITY_BRASIL":"Stremio Бразил","STREMIO_COMMUNITY_GERMANY":"Stremio Германија","STREMIO_COMMUNITY_BELGIUM":"Stremio Белгија","STREMIO_COMMUNITY_FRANCE":"Stremio Франција","STREMIO_COMMUNITY_PORTUGAL":"Stremio Португалија","STREMIO_COMMUNITY_ITALY":"Stremio Италија","STREMIO_COMMUNITY_UK":"Stremio ОК","STREMIO_COMMUNITY_USA":"Stremio САД","STREMIO_COMMUNITY_MEXICO":"Stremio Максико","STREMIO_COMMUNITY_ADDONS":"Stremio Додатоци","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Прекрасен Stremio","WEBSITE_COMMUNITY_PARTNERS":"Партнери и поддржувачи","WEBSITE_COMMUNITY_GOODIES":"Stremio добра","WEBSITE_COMMUNITY_WALLPAPERS":"Позадини","WEBSITE_COMMUNITY_ART":"Заедница Art Gallery","WEBSITE_LINK_ART":"Заедница art gallery","WEBSITE_CONTACT_US":"Контактирајте не","WEBSITE_CONTACT_US_P1":"Ако имате какви било прашања, коментари или предлози, слободно стапете во контакт со нас преку контакт формата подолу.","WEBSITE_CONTACT_US_P2":"Имајте на ум дека сме лоцирани во Бугарија, така што може да има одложување во решавањето на вашето барање поради разлики во временската зона.","WEBSITE_CONTACT_US_SUCCESS":"Твојата порака е пратена. Ќе ви одговориме што е можно поскоро.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Ве молиме внесете валидна е-пошта!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Со што е поврзано твоето прашање?","WEBSITE_CONTACT_US_Q_OS":"Кој е вашиот оперативен систем?","WEBSITE_CONTACT_US_PH_EMAIL":"Твојата Е-Пошта","WEBSITE_CONTACT_US_PH_MESSAGE":"Порака","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ИСПРАТИ","WEBSITE_CONTACT_US_Q_1":"Како да инсталирам?","WEBSITE_CONTACT_US_Q_2":"Како да се деинсталирам?","WEBSITE_CONTACT_US_Q_3":"(HTML) Како да направите лазања?","WEBSITE_CONTACT_US_Q_4":"Додатоци","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Технологија","WEBSITE_TECHNOLOGY_P1":"Ја сакаме технологијата и лудата наука. </br> Еве што го напојува Stremio (сето тоа е со отворен код).","WEBSITE_TECHNOLOGY_P_QT":"Развој на софтвер меѓу платформи во најдобар случај.","WEBSITE_TECHNOLOGY_P_MPV":"Бесплатен медиа плеер со отворен код и меѓуплатформски.","WEBSITE_TECHNOLOGY_P_RN":"React Native ви овозможува да креирате мобилни апликации користејќи само JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework вградена во апликацијата за добивање мултимедија.","WEBSITE_TECHNOLOGY_P_REALM":"Realm е мобилна платформа и замена за SQLite и Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js е опкружување со отворен код, меѓу-платформа, JavaScript за извршување.","WEBSITE_TECHNOLOGY_P_RUST":"Rust е програмски јазик со повеќе парадигма, фокусиран на безбедноста, особено на безбедното истовремено.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Придонесете во проектот","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Постојат два начини на кои можете да придонесете за Stremio и да ни помогнете да го направиме производот уште подобар.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Можете да ги донирате вашите вредни јазични вештини со преведување на платформата...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"или","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... можете да ги искористите вашите вештини за кодирање за создавање додатоци во заедницата. ","WEBSITE_TRANSLATE_STREMIO":"Преведи го Stremio","WEBSITE_404_OH_NO":"Уф! Страницата што ја барате не е тука...","WEBSITE_GO_HOME":"Оди на почетна","WEBSITE_LINK_OTHER_DOWNLOADS":"Други преземања","WEBSITE_FAQ_ABR":"НПП","WEBSITE_SUPPORT":"Поддршка","WEBSITE_DOWNLOAD_4_0_BETA":"Преземете сега Stremio 4 бета","WEBSITE_GET_FOR_DESKTOP":"Превземи за декстоп","WEBSITE_LINK_ADDON_COMPETITION":"Натпревар за додатоци","WEBSITE_LINK_ART_CONTEST":"Уметнички натпревар","WEBSITE_MY_ACCOUNT":"Мојта сметка","WEBSITE_MAINPAGE_FAQ_001_H1":"Што е Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio е модерен медија центар кој ви дава слобода да гледате сè што сакате.","WEBSITE_MAINPAGE_FAQ_002_H1":"Како работи?","WEBSITE_MAINPAGE_FAQ_002_P1":"Откако ќе го инсталирате Stremio на вашиот уред и ќе создадете сметка, сè што треба да направите е да го посетите каталогот на додатоци и да инсталирате кој било додаток што го сакате, и вие сте подготвени за гледање!","WEBSITE_MAINPAGE_FAQ_002_P2":"После тоа, можете да отидете во секциите Откријте или Табла за да започнете со истражување на содржината.","WEBSITE_MAINPAGE_FAQ_003_H1":"Што можам да гледам овде?","WEBSITE_MAINPAGE_FAQ_003_P1":"Многу: Филмови, ТВ емисии, веб-канали, спорт, ТВ канали, слушање поткасти и многу повеќе. Благодарение на нашиот систем за додатоци, можете да пристапите до разновидна содржина.","WEBSITE_MAINPAGE_FAQ_004_H1":"Дали Stremio е со отворен код?","WEBSITE_MAINPAGE_FAQ_004_P1":"Да, можете да ги проверите следните врски: ${1}десктоп апликација${2} и ${3}GitHub организација${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Дали Stremio е безбеден?","WEBSITE_MAINPAGE_FAQ_005_P1":"Да: бидејќи е софтвер со отворен код, кодот може јавно да се ревидира и можете сами да го прегледате.","WEBSITE_MAINPAGE_FAQ_005_P2":"Системот за додатоци на Stremio исто така беше создаден имајќи ја предвид безбедноста на корисникот. Додатоците не користат никаков код локално, така што тие не претставуваат ризици за вашиот уред.","WEBSITE_MAINPAGE_FAQ_006_H1":"Што е со мојата приватност?","WEBSITE_MAINPAGE_FAQ_006_P1":"Ја почитуваме приватноста на корисниците и не собираме никакви лични податоци освен суштинскиот минимум за креирање и синхронизирање на вашата сметка.","WEBSITE_MAINPAGE_FAQ_006_P2":"Постои и ${1}Режим за гостин${2} при регистрација, за кој не се потребни никакви податоци: во овој режим, не ни се испраќаат податоци. Сепак, тоа доаѓа на сметка на корисни функции, како што е можноста да ја синхронизирате вашата колекција низ уредите.","WEBSITE_MAINPAGE_FAQ_007_H1":"Може ли да емитувам на мојот телевизор?","WEBSITE_MAINPAGE_FAQ_007_P1":"Да, ние поддржуваме Chromecast и може да емитувате и од десктоп и од мобилни апликации (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Колку додатоци има Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Од крајот на 2019 година, над 50 - за повеќе информации, проверете го нашиот каталог на додатоци.","WEBSITE_MAINPAGE_FAQ_009_H1":"Може ли Stremio да се прошири надвор од она што е во каталогот на додатоци?","WEBSITE_MAINPAGE_FAQ_009_P1":"Да, треба да ги проверите: ${1}PimpMyStremio${2}, ${3}Reddit заедници${4}, ${5}Stremio Downloader${6} итн.","WEBSITE_MAINPAGE_FAQ_010_H1":"Кои уреди поддржува Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Имаме десктоп апликации за Windows, Mac и Linux. За мобилни, ние поддржуваме Android и iOS, иако имајте на ум дека iOS е ограничен во функционалноста (не поддржува повеќето додатоци).","WEBSITE_MAINPAGE_FAQ_010_P2":"Има многу уреди базирани на Android на кои можете да го стартувате Stremio, како NVIDIA Shield и Amazon Fire Stick, но ние не ги поддржуваме официјално.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"маме десктоп апликации за Windows, Mac и Linux. Имаме и посветени апликации за Android Mobile и Android TV. За iOS и iPadOS предлагаме користење на Stremio Web, иако е поограничена во функционалноста.","WEBSITE_MAINPAGE_FAQ_011_H1":"Можете ли да додадете одредена содржина во Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"За жал, ние самите не обезбедуваме содржина, но колку повеќе Stremio додатоци имате инсталирано, толку повеќе содржини ќе можете да најдете.","WEBSITE_MAINPAGE_FAQ_012_H1":"Дали Stremio може да репродуцира магнетни врски?","WEBSITE_MAINPAGE_FAQ_012_P1":"Да, и исто така може да репродуцира нормални HTTP-врски и торент-датотеки (повлечи и пушти).","WEBSITE_MAINPAGE_FAQ_013_H1":"Може ли да преземам видео и да гледам офлајн?","WEBSITE_MAINPAGE_FAQ_013_P1":"Достапно офлајн е претстојна функција, но ако дозволите Stremio да кешира на вашиот уред (од панелот за поставки), можете да ги гледате видеата подоцна без интернет.","WEBSITE_MAINPAGE_FAQ_014_H1":"Ништо не функционира, помогни ми!","WEBSITE_MAINPAGE_FAQ_014_P1":"Дали сте сигурни дека имате инсталирано додатоци? Ако одговорот е да, проверете кај нашиот ${1}центар за помош${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Како Stremio ги одржува своите развојни операции?","WEBSITE_MAINPAGE_FAQ_015_P1":"Повремено прикажуваме ненаметливи реклами, но размислуваме да преминеме на модел на донација.","WEBSITE_MAINPAGE_FAQ_015_P2":"За повеќе прашања, одете во нашиот ${1}центар за помош${2}.","HELP_LEARN_MORE":"Помогнете ни да дознаеме повеќе за вас.","LIFESTYLE":"Начин на живот","SPORTS":"Спорт","FOOD_HEALTH":"Храна и здравје","BEAUTY_FASHION":"Убавина и мода","NEWS":"Вести","GAMING":"Гејминг","SCIENCE_EDUCATION":"Наука и образование","MUSIC":"Музика","TRAVEL":"Патување","LATE_NIGHT":"Доцна ноќ","REALITY":"Реалност","COMEDY":"Комедија","DIY":"Како да направите сам","TECH":"Технологија","CINEMA":"Кино","CONTINUE":"Продолжи","SLOW_LOADING":"БАВНО СЕ ВЧИТУВА?","I_GIVE_UP":"СЕ ПРЕДАВАМ","LEARN_MORE":"Научи повеќе","POOR_SOURCE":"Овој извор е слабо достапен или вашата интернет-врска не е доволно брза","PICK_CATEGORIES_ERR":"Треба да изберете најмалку 3 категории","ADJUST_TIMING":"Прилагодете го времето со ","ADJUST_SIZE":"Прилагодете ја големината со ","SEARCH_ANYTHING":"Можете да пребарувате сè...","ALL_CATEGORIES":"Сите","SEARCH_CATEGORIES":"Филмови, Серии, YouTube и ТВ","SEARCH_PERSONS":"Актери, Режисери и Писатели","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"Врски на IMDB / TVDB","WATCHED":"Гледано","SHOW_LESS":"Покажете помалку","LAST_SEARCHES":"Последни пребарувања","CLEAR_HISTORY":"Исчисти историја","CHOOSE_SOME":"ИЗБЕРЕТЕ НЕКОИ ОД ОВА:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Веб далечинскиот управувач не може да се вчита","STREMIO_OFFLINE":"Stremio е офлајн","STREMIO_EXPENSIVE_CONNECTION":"Откривме дека користите конекција за мобилни податоци, дали сакате да продолжите?","USE_DATA":"Користете податоци","WARNING":"Предупредување","MORE_INFO":"Повеќе информации...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"се вчитува ...","STREMIO_TV_BACK_TO_LANGUAGES":"Назад кон јазиците","STREMIO_TV_REMOTE":"Далечински управувач","STREMIO_TV_GO_TO":"Оди до:","STREMIO_TV_OR_SCAN":"или скенирајте:","STREMIO_TV_ADDON_INSTRUCTIONS":"Ве молиме следете ги упатствата за да ги инсталирате вашите претпочитани додатоци.","STREMIO_TV_LIVE_TV":"ТВ во живо","STREMIO_TV_RESUME_WATCHING":"Продолжи со гледање","STREMIO_TV_LOADING_BACKGROUND":"Вчитување на позадината","STREMIO_TV_CHECKING_AUTHENTICATION":"Проверка на автентикација","STREMIO_TV_LOADING_BOARD":"Табла за вчитување","STREMIO_TV_LOGIN_HEADER_LINE_1":"Сакаме нашите корисници да имаат најдобро можно персонализирано искуство со нашиот софтвер.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Токму поради оваа причина, ве молиме да направите и/или да се најавите на вашата сметка.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Ви благодариме на разбирањето,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Тимот на Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"За да го користите веб-далечинскиот управувач со вашиот паметен телефон / таблет / десктоп:","STREMIO_TV_WIFI_SETUP":"Поставување Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle не откри интернет конекција.","STREMIO_TV_WIFI_DETAILS_1":"Поврзете се со:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Користете лозинка:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Отворете веб-прелистувач со врската:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Стандардно","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"По последно гледано","STREMIO_TV_LIBRARY_SORT_NAME":"По име","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"По име опаѓачки","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"По временско гледање","STREMIO_TV_LIBRARY_SORT_WATCHED":"По Гледано","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"По Негледано","STREMIO_TV_DETAILS_SEASON_NUMBER":"Сезона ${1}","STREMIO_TV_STREAMS_LOADING":"Вчитано ${1} / ${2} додатоци...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} додатокот сè уште се вчитува...","STREMIO_TV_PLAYER_SETTINGS":"Поставки на плеерот","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Доцнење на преводи","STREMIO_TV_PLAYER_AUDIO_DELAY":"Аудио доцнење","STREMIO_TV_PLAYER_VIDEO_SCALING":"Видео скалирање","STREMIO_TV_PLAYER_CHAPTERS":"Поглавја","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Прескокни ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Неподдржан извор на пренос","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Неуспешно отворање на надворешна врска","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Не може да се прилагоди во режимот на аудио премин","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Пушти со ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Пушти со libVLC плеер","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Префрлување на libVLC плеер поради грешка при репродукција","STREMIO_TV_ADDONS_TITLE":"Користете Stremio на вашиот телефон или компјутер за да инсталирате или конфигурирате додатоци и притиснете \\"Синхронизирајте додатоци\\"","STREMIO_TV_ADDONS_SUBTITLE":"Забелешка: проверете дали ја користите истата сметка на Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Синхронизирајте додатоци","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Додатоците се успешно синхронизирани","STREMIO_TV_ADDONS_SYNC_FAILED":"Не успеа да се синхронизираат додатоците","STREMIO_TV_META_LINK_FAILED":"Неуспешно отворање на мета-врската","STREMIO_TV_CATALOG_LOADING":"Каталогот сè уште се вчитува...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Јазикот на интерфејсот е ажуриран","STREMIO_TV_SETTINGS_THEME_UPDATED":"Темата е ажурирана","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Стандарден плеер","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Надворешен плеер","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Префериран јазик","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Секундарен префериран јазик","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Можни проблеми со репродукцијата на некои уреди","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Некои видео формати може да не работат","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Оневозможено","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"Нема кеширање","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Стандардно","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Меко","STREMIO_TV_SETTINGS_PROFILE_FAST":"Брзо","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ултра брзо","STREMIO_TV_SETTINGS_SERVER_URL":"УРЛ на серверот за стриминг","STREMIO_TV_SETTINGS_SERVER_VERSION":"Сервер верзија","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Непознато","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio верзија","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Уреди URL на серверот","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Внесете URL-адреса на серверот за стриминг","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Прикажи статистика додека се вчитува","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"За да ја прочитате Политиката за приватност на Stremio, посетете:","STREMIO_TV_SETTINGS_TOS_TEXT":"За да ги прочитате одредбите и условите на Stremio, посетете:","STREMIO_TV_NAV_SEARCH":"Пребарување","STREMIO_TV_NAV_HOME":"Почетна","STREMIO_TV_NAV_DISCOVER":"Откријте","STREMIO_TV_NAV_LIBRARY":"Колекција","STREMIO_TV_NAV_MOVIES":"Филмови","STREMIO_TV_NAV_SERIES":"Серии","STREMIO_TV_NAV_CHANNELS":"Канали","STREMIO_TV_NAV_TV":"ТВ во живо","STREMIO_TV_NAV_SETTINGS":"Поставки","STREMIO_TV_NAV_ADDONS":"Додадоци","STREMIO_TV_LOGIN_TITLE":"Поврзете ја сметката","STREMIO_TV_LOGIN_EXPIRES_IN":"Истекува за","STREMIO_TV_LOGIN_STEP_ONE":"Скенирајте го QR-кодот погоре или одете на","STREMIO_TV_LOGIN_STEP_TWO":"Најавете се на вашата сметка на Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Побарајте нова врска","STREMIO_TV_LOGIN_LINK_REFRESHED":"Кодот за најавување е освежен","STREMIO_TV_SEARCH_PLACEHOLDER":"Напишете нешто","STREMIO_TV_SEARCH_NO_ADDONS":"Не беа побарани додатоци за каталози!","STREMIO_TV_SEARCH_BUTTON":"Пребарување","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Историја на пребарување","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Можете да пребарувате за наслови, актери, канали и повеќе...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Исчистете ја историјата на пребарување","STREMIO_TV_FILTERS_DESCRIPTION":"Изберете од еден од филтрите подолу","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Серверот за стриминг е офлајн. Проверете ги поставките на серверот.","FILTERS":"Филтри","SETTINGS":"Поставувања","ACCOUNT":"Сметка","LOGOUT":"Одјавување","THEMES":"Теми","PLAYBACK":"Репродукција","PLAYBACK_SPEED":"Брзина на репродукција","AUDIO_TRACKS":"Аудио Траки","UNKNOWN_TRACK_LANG":"Непознат","VIDEOS":"Видеа","SERVER":"Сервер","LINKS":"Врски","ABOUT":"За","INTERFACE":"Интерфејс","ANIMATIONS":"Анимации","STATUS":"Статус","LANGUAGE":"Јазик","SIZE":"Големина","DELAY":"Одложување","BOLD":"Задебелен","OPACITY":"Проѕирност","TEXT_COLOR":"Боја на текстот","OUTLINE_COLOR":"Боја на рамка","BACKGROUND_COLOR":"Боја на позадина","BACKGROUND_BLUR":"Заматување на позадината","SEEK_TIME_DURATION":"Времетраење на пребарувањето","AUTO_PLAY":"Автоматски пушти следна епизода","PLAY_NOW":"Пушти сега","MARK_AS_WATCHED":"Означи како гледано","MARK_AS_UNWATCHED":"Означи како негледано","REWIND_TO_BEGINNING":"Премотајте назад кон почеток","CONTINUE_WATCHING":"Продолжи со гледање","ALL":"Сите","SECONDS":"секунди","ON":"Вклучено","OFF":"Исклучено","RELOAD":"Вчитај повторно","EDIT_URL":"Уреди URL","URL":"URL","NONE":"Никој","EMBEDDED":"Вградени","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Префрли уреди","REMOTE_VIDEOS":"Видеа","REMOTE_ADJUST_TIMING":"Прилагодете го времето","REMOTE_ADJUST_SIZE":"Прилагодете ја големината","REMOTE_COULD_NOT_BE_LOADED":"Веб далечинскиот управувач не може да се вчита","REMOTE_RETRY":"Обидете се повторно","TORRENT_PROFILE_DEFAULT":"Стандардно","TORRENT_PROFILE_SOFT":"Меко","TORRENT_PROFILE_FAST":"Брзо","TORRENT_PROFILE_ULTRA_FAST":"Ултра брзо","MB_S":"MB/s","FAQ_001_H1":"Што е Stremio?","FAQ_001_P1":"Stremio е медија центар софтвер дизајниран за видео со лесен за користење. Stremio ви овозможува да организирате & гледајте вашата сопствена колекција на филмови, серии, канали и ТВ во живо.","FAQ_001_P2":"Stremio ја собира содржината што ви ја прикажува од вашиот локален диск и нашиот систем за додатоци.","FAQ_001_P3":"Исто така, ќе ве извести кога ќе излезат нови епизоди/видеа/филмови за кои сте заинтересирани и ќе ви обезбеди препораки за филмови.","FAQ_02_H1":"Како Stremio се споредува со Kodi и Plex?","FAQ_02_P1":"Ние сме инспирирани од тие два софтвери. Но, ние имаме различни цели - Stremio е специфично насочен кон забавно видео и се стреми да стане главното решение за тоа со тоа што е многу лесен за употреба.","FAQ_02_P2":"Stremio никогаш нема да биде приспособлив и богат со карактеристики како Kodi и Plex, но значително е полесен за користење. Само ${1} земете го и видете ${2} :)","FAQ_03_H1":"Како Stremio се споредува со Netflix?","FAQ_03_P1":"Повторно, Netflix е една од нашите инспирации. Се стремиме да го постигнеме корисничкото искуство на Netflix, плус многу додадени добрите. Но, што е најважно, ви даваме слобода да управувате со сопствената колекција и да додавате нови извори на содржина со нашиот систем за додатоци.","FAQ_03_P2":"Тоа го прави Stremio бескрајно продолжен, па кога користите Stremio, никогаш не сте ограничени на содржината што Netflix одлучи да ја лиценцира. На пример, преку Stremio можете да гледате содржини од ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo$ {8} па дури и самиот ${9}Netflix${10}!","FAQ_04_H1":"Како Stremio се споредува со Flipboard?","FAQ_04_P1":"Тоа прашање не го добиваме толку често, освен кога разговараме со почетници :)","FAQ_04_P2":"Stremio по дизајн е агрегатор на содржина, што во суштина го прави Flipboard за видео. Ова е многу видливо во нашиот дел од Одборот, кој ви дава каталози и известувања за нови епизоди/нови видео за она што го следите, исто како Flipboard.","FAQ_05_H1":"Како Stremio се споредува со Popcorn Time?","FAQ_05_P1":"Stremio и Popcorn Time се слични во корисничкиот интерфејс, бидејќи нема многу начини како правилно да се прават каталози за видео забава :)","FAQ_05_P2":"Но, додека Popcorn Time е фокусиран на стриминг торенти од одредени извори, Stremio е неограничен и е само агрегатор на содржина - не е заклучен во одреден извор на содржина.","FAQ_05_P3":"Понатаму, стандардно не обезбедуваме никакви додатоци за торент, така што Stremio не го покрива случајот на употреба Popcorn Time со официјална функционалност.","FAQ_05_P4":"Друга забележлива разлика е што Popcorn Time е целосно со отворен код, додека Stremio е ${1} делумно отворен извор${2}.","FAQ_06_H1":"Дали ќе го додадете овој филм/серијал?","FAQ_06_P1":"Не, извини :(","FAQ_06_P2":"Како што е споменато во повеќето други прашања, Stremio не обезбедува никаква содржина сам по себе - сè се додава преку системот за додатоци. Во случај да имате барање за содржина, можете да го користите копчето „Пријави“ во Плеерот, кое ќе испрати е-пошта до авторот на додатокот што моментално го користите.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Дали ќе креирате додаток за X?","FAQ_08_P1":"Тоа е сосема можно.","FAQ_08_P2":"Ако имате идеја за додаток, пишете ни на ${1}office@stremio.com${2}, но проверете дали вашата идеја за додаток нема да ги наруши авторските права или условите за користење.","FAQ_08_P3":"Во моментов, следните работи на нашиот патоказ се додатоци за FandangoNOW, Filmon.tv видео на барање и Crunchyroll.","FAQ_09_H1":"Дали Stremio користи BitTorrent?","FAQ_09_P1":"Да, Stremio поддржува BitTorrent како протокол за стриминг. Можете да го користите или со додаток за torrent, или со влечење и пуштање датотека .torrent во Stremio или со залепување магнетна врска во лентата за пребарување.","FAQ_09_P2":"Имајте предвид дека единствениот официјален додаток кој користи BitTorrent е ${1}Vodo${2}, кој обезбедува инди содржина, а сето тоа е дозволено да се дистрибуира со BitTorrent.","FAQ_09_P3":"Не поддржуваме употреба на додатоци од трета страна што може да овозможат прекршување на авторските права.","FAQ_10_H1":"Што можам да гледам во Stremio со официјалните додатоци?","FAQ_10_P1":"Стандардно, можете да гледате содржини на Filmon.tv, YouTube и Vodo во самиот Stremio, со неговиот вграден плеер. Дополнително, имаме додаток за Twitch.tv и неколку други.","FAQ_10_P2":"Оваа комбинација обезбедува избор на:","FAQ_10_L1":"Популарни ТВ канали, обезбедени од Filmon.tv - на пример E4, BBC, Bollyworld TV","FAQ_10_L2":"Сè од YouTube - на пример BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Инди филмови со Vodo","FAQ_10_L4":"Емитување на онлајн игри со Twitch.tv","FAQ_10_P3":"Дополнително, има многу извори на содржина обезбедени со Guidebox и додатоците на Netflix, кои <b>не</b> се репродуцираат целосно во Stremio, туку би се пренасочиле на дадената услуга. На пример, додатокот Guidebox ќе ви даде избор на филмови што можете да ги проследувате во САД бесплатно, од услуги како TubiTV и Crackle.","FAQ_11_H1":"Stremio нема да се инсталира, што да правам?","FAQ_11_P1":"Ако сте на Windows, обидете се со ${1}овој алтернативен инсталатер${2}.","FAQ_11_P2":"Ако сте на Mac OS X, ве молиме имајте предвид дека не поддржуваме ништо постаро од OS X Mavericks (10.9).","FAQ_11_P3":"Ако сте на Linux, имајте предвид дека ние во моментов поддржуваме само 64 битен (x64) Linux.","FAQ_11_P4":"Ако сè уште не можете да го решите вашиот проблем, пишете ни во нашата ${1}група на Facebook${2}.","FAQ_12_H1":"Зошто се жали мојот антивирус? Дали Stremio е безбеден?","FAQ_12_P1":"Ве уверуваме дека Stremio е ${1}100% чист${2}.","FAQ_12_P2":"Вашиот антивирус се жали затоа што вклучуваме рекламирање во нашиот инсталатер, кој некои антивирусни програми го препознаваат како рекламна програма.","FAQ_12_P3":"Ако сè уште не сте сигурни, можете да го испробате нашиот ${1}алтернативен инсталатер${2}.","FAQ_13_H1":"Како можам да направам додаток?","FAQ_13_P1":"За почеток, ви препорачуваме да го проверите нашиот ${1}системски модул за додатоци${2} на GitHub.","FAQ_13_P2":"Потоа, можете да го следите упатството за ${1}Hello World${2}.","FAQ_13_P3":"Ако немате никакви програмски вештини, ве молиме објавете ја вашата идеја на ${1}заедницата на Reddit${2} и контактирајте не со вашата идеја за додаток на ${3}office@stremio.com${4}.","FAQ_14_H1":"Како се објавуваат додатоците?","FAQ_14_P1":"Кога креирате додаток и хост и ставате поле <b>endpoint</b> во вашиот манифест, што укажува на работна адреса за додаток, додатокот автоматски ќе се објави во нашиот ${1}Addon каталог${2} .","FAQ_14_P2":"Ова се случува затоа што серверот дел од модулот stremio-addons автоматски се јавува до нашиот API за да го објави додатокот. Кога нашиот API ќе ја потврди вашата <b>крајна точка</b> како валиден додаток, тој ќе почне да се прикажува во каталогот.","FAQ_15_H1":"Може ли да го стартувам Stremio во мојот прелистувач?","FAQ_15_P1":"Не во моментов, но ова доаѓа!","FAQ_15_P2":"Ако сте љубопитни да видите Alpha, можете да ја видите овде: ${1}alpha4.strem.io${2}. Имајте на ум, преносот е оневозможен на оваа алфа. Ние поддржуваме Chrome, Firefox, Opera и Edge.","FAQ_16_H1":"Емитувањето на ТВ не функционира / преводите не функционираат","FAQ_16_P1":"Емитувањето на ТВ ја користи технологијата DLNA која е многу неконзистентна помеѓу различни брендови и модели на ТВ. Поради таа причина, немаме можност да го тестираме во секој случај, па затоа е далеку од совршен. И покрај тоа, ние работиме постојано да го подобруваме, но не можеме да ви дадеме временска проценка кога DLNA ќе почне да работи правилно со вашиот телевизор.","FAQ_16_P2":"Ако дури и не го гледате вашиот телевизор во менито за емитување, обидете се да ја оневозможите мрежната врска и повторно да ја овозможите (на Windows, кликнете со десното копче на мрежата и користете Овозможи/Оневозможи), како и рестартирање на рутерот, ТВ и компјутерот .","FAQ_16_P3":"Ако сè уште се соочувате со проблеми, можете да ни помогнете со испраќање информации за брендот и моделот на вашиот телевизор на ${1}office@stremio.com${2}.","FAQ_16_P4":"Во меѓувреме, го препорачуваме Chromecast, кој го поддржуваме многу добро, или едноставно да го вклучите вашиот телевизор на вашиот компјутер со HDMI кабел.","FAQ_17_H1":"Stremio замрзнува и/или паѓа, што можам да направам?","FAQ_17_P1":"Прво, ако користите Windows 7 со AVG антивирус: имаме проблем со таа комбинација. Проблемот е во самиот AVG и не постои разумен начин да се реши од наша страна. За жал, исклучоците или оневозможувањето на антивирусот нема да работи. Единственото решение е да го замените AVG со нешто друго.","FAQ_17_P2":"Ако тоа не е проблемот, но сè уште користите Windows, ажурирајте го на најновиот сервисен пакет и ажурирајте ги/повторно инсталирајте ги драјверите за графичкиот процесор, а потоа обидете се повторно.","FAQ_17_P3":"Ако проблемот сè уште не е решен или користите Mac или Linux, пишете ни да ги пријавиме точните детали за проблемот во ${1}нашата група на Facebook${2}.","FAQ_18_H1":"Како можам да направам додаток?","FAQ_18_P1":"За почеток, ви препорачуваме да го проверите нашиот ${1}системски модул за додатоци${2} на GitHub.","FAQ_18_P2":"Потоа, можете да го следите упатството за ${1}Hello World${2}.","FAQ_18_P3":"Ако немате никакви програмски вештини, ве молиме објавете ја вашата идеја на ${1}заедницата на Reddit${2} и контактирајте не со вашата идеја за додаток на ${3}office@stremio.com${4}.","FAQ_19_H1":"Зошто Stremio зафаќа простор на дискот?","FAQ_19_P1":"Stremio има <b>локален кеш</b> за привремено да ги задржи видео-датотеките што ги пренесувате.","FAQ_19_P2":"Ова има две предности: прво, му овозможува на Stremio однапред да го тампонира видеото што следи за да обезбеди понепречено проследување. Второ, ги чува видеата во локалната кеш за да можете да продолжите да ги гледате офлајн.","FAQ_19_P3":"Колку ќе задржи Stremio зависи од поставката <b>Кеш</b> во панелот Поставки. Stremio може да се задржи до поставената количина (на пр. 2 GB) на вашиот диск, освен ако моментално емитуваното видео е поголемо од тоа, во тој случај треба да одвои доволно простор за да го задржи додека не го пренесувате.","FAQ_20_H1":"Каде е папката кеш?","FAQ_20_P1":"На Windows, тоа е stremio-cache во уредот што го избравте во Поставки (пример. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"На MacOS, е \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"На Linux, е \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"Добивам грешка \\"Серверот за стриминг не е пронајден\\", што можам да направам?","FAQ_21_P1":"Ако ја добиете оваа грешка, тоа значи една од неколкуте работи:","FAQ_21_P2":"1) Се обидувате да користите додаток поддржан од извор на YouTube/BitTorrent, преку нашата ${1}веб верзија${2}. Во овој случај, треба да ја инсталирате нашата десктоп верзија од ${3}нашата веб-локација${4}.","FAQ_21_P3":"2) Нешто не е во ред со вашата инсталација Stremio. Во овој случај, обидете се повторно да ја инсталирате нашата најнова верзија за десктоп од ${1}веб-страницата${2}. Ако ова не помогне, обидете се да ги оневозможите антивирусните програми и заштитните ѕидови, рестартирајте го компјутерот и обидете се повторно. Ако и ова не функционира, пишете ни во нашата ${3}нашата група на Facebook${4}.","FAQ_22_H1":"Не можам да ги видам/користам повеќето додатоци на iOS","FAQ_22_P1":"Поради ограничувањата во одредбите и условите на Apple App Store, ја ограничивме апликацијата за iOS само на одреден сет на додатоци.","FAQ_22_P2":"Но, бидете сигурни - ќе има повеќе додатоци за iOS во иднина, а може да додадеме и интеграција што ќе ви овозможи да ги користите сите додатоци на Stremio благодарение на поврзувањето на апликацијата за iOS со серверот за стриминг Stremio."}')},51078:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Wayang","TYPE_series":"Siri","TYPE_tv":"Saluran TV","TYPE_channel":"Saluran","TYPE_other":"Other","TYPE_movie_PL":"Wayang","TYPE_series_PL":"Siri","TYPE_tv_PL":"Saluran TV","TYPE_channel_PL":"Saluran","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Kembali","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Teroka","Board":"Papan","Library":"Pustaka","My Library":"My Library","Calendar":"Takwim","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"cari","SEARCH_NO_RESULTS":"No results were found","SEARCH_EXPLANATION_CONTENT":"Search for movies, series, YouTube and TV channels","SEARCH_EXPLANATION_PEOPLE":"Search for actors, directors and writers","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Tambah dalam Pustaka","REMOVE_FROM_LIB":"Keluarkan dari Pustaka","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Watch Trailer","WATCH_NOW":"Tonton Sekarang","SHOW":"Tayang","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb","YEAR":"Tahun","DIRECTOR":"Pengarah","WRITER":"Penulis","LEAD_ACTORS":"Teraju Utama","CAST":"Pelakon","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Ke Udara","SEASONS":"Musim","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Ringkasan","SHOW_MORE":"Show More","SIMILAR":"Yang Serupa","UPCOMING":"Akan Datang","TBA":"TBA","ENDED":"Tamat","DURATION":"Tempoh","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"cari video","SEARCH_PLACEHOLDER":"search or paste magnet link","ADDON":"addon","ADDONS":"Addons","OFFICIAL":"rasmi","ADDONS_OFFICIAL":"Addons Stremio Rasmi","ADDONS_POPULAR":"Mahsyur di kawasan anda","ADDON_FREE":"Percuma","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"langganan","ADDON_STREAM_GEORESTRICTED":"tiada dalam kawasan anda","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Streams yang sedia ada","NO_STREAM":"Tiada streams buat masa ini","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Tunjukkan semua addons »","ADDON_CATALOGUE_MORE":"More addons »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons repository already exist","ADDON_REPO_ERR":"Error occurred while adding repository","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Protected addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection url","ERR_NOT_ADDON_URL":"Not an addon url","ERR_DETECTFROMURL":"Cannot detect from url","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Addon pulling failed","REFRESH_ON_CLICK":"Click to retry","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Tayangan masih dalam teater","WATCH_IN_CINEMA":"Tonton di wayang berdekatan anda","IN_THEATER":"Dalam tayangan","GET_TICKETS":"Dapatkan Tiket","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.<br>Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Alamak, ralat pemain","PLAYER_ERROR_LOOKSLIKE":"Nampaknya seperti","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streaming dari","CASTING_TO":"Tayangkan ke","NETWORK_STATUS":"Status capaian","STREAM_SPEED":"Kelajuan stream:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Maklumat peers","PEERS_ACTIVE":"Aktif:","PEERS_CONNECTED":"Sambungan:","PEERS_WAITING":"Menunggu:","TRANSCODING_WARNING":"Amaran: video transkoding.","STREAM_LOADING":"Memuatkan...","PLAYING_LOCAL":"main dari fail tempatan","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Pilih peranti untuk tayang","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","NO_OPTIONS":"No options available","PHONE_TABLET":"Bimbit / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Tukar sari kata untuk ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles #{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Sari kata lewat:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Musim","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episod","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"baru","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"ditonton","SORT_YEAR":"year","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"sambung","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Mahsyur","DISCOVER_OSCAR":"Pemenang Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Masuk guna Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"atau","I_ACCEPT":"Saya akur","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terma dan Syarat","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Kata laluan tak sama","SIGN_UP":"Daftar","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Masuk","LOG_OUT":"Keluar","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Katalaluan salah. Sekiranya terlupa, ","SET_A_PASS":"tetapkan satu kata laluan","RESET_PASSWORD":"Reset password","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"Emel ini telah diguna This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Aktifkan tambahan ini?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Apa yang terbaru","BUTTON_CONTINUE":"Teruskan","BUTTON_ACTIVATE":"Aktifkan","BUTTON_ACTIVATED":"Aktif","BUTTON_CANCEL":"Batal","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Cara bagaimana untuk mula:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications & recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series & movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync & Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sigm up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Lancarkan bila mula","SETTINGS_VLC_DEFAULT":"Main guna VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Terus main episod seterusnya","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import dari Facebook","SETTINGS_IMPORT_DISK":"Import dari local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Masukkan ke kalendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Tukar katalaluan","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Bahasa","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Keluar","CONNECTED":"Connected","AUTHENTICATE":"Pengesahan","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Select caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januari","February":"Februari","March":"Mac","April":"April","May":"Mei","June":"Jun","July":"Julai","August":"Ogos","September":"September","October":"Oktober","November":"November","December":"Disember","Monday":"Isnin","Tuesday":"Selasa","Wednesday":"Rabu","Thursday":"Khamis","Friday":"Jumaat","Saturday":"Sabtu","Sunday":"Ahad","Action":"Aksi","Comedy":"Komedi","War":"Perang","Family":"Kekeluargaan","Animation":"Animasi","Adventure":"Pengembaraan","Fantasy":"Khayalan","Crime":"Jenayah","Mystery":"Misteri","Romance":"Percintaan","Drama":"Drama","Horror":"Seram","Thriller":"Seram Sejuk","Sci-Fi":"Sains","Music":"Musik","Biography":"Biografi","Documentary":"Dokumentari","Sport":"Sukan","Musical":"Muzikal","Western":"Barat","Film-Noir":"Film-Noir","News":"Berita","History":"Sejarah","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Permainan","From TV":"Dari TV","Lifestyle":"Gaya Hidup","Science & Education":"Sains & Pendidikan","Cooking & Health":"Masakan & Kesihatan","Beauty & Fashion":"Kecantikan & Fesyen","Sports":"Olah raga","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Radio Akhbar Perniagaan","Business Tv":"Tv Niaga","Cars & Auto":"Kereta & Kenderaan","Comedy Radio":"Radio Jenaka","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Jasmani & Jiwa","Education":"Pendidikan","Indian Tv":"Tv India","Extreme Sports":"Sukan Lasak","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Tv Selebriti","Science Tv":"Tv Sains","Bikini babe":"Awek Bikini","Outdoors":"Outdoors","German Tv":"TV German","French Tv":"TV Perancis","Italian Tv":"Tv Itali","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"Radio Akhbar","Music Radio":"Radio Muzik","Language Learning":"Belajar Bahasa","Science Radio":"Radio Sains","Tech Radio":"Radio Tek","Science & Technology Vod":"Vod Sains & Teknologi","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"berita","music video":"video muzik","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Tayang","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Skrin Penuh","CTX_WRONG_SUBS":"Sari kata salah?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Salin","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Paste","CTX_CLEAR":"Padam","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Damai Sana","HOPE_YOU_ENJOY":"Kami harap anda terhibur dengan Stremio dan menjadi salah satu apps kegemaran anda","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Muat Turun Sekarang","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Teknologi","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Saluran","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Rancangan TV yang disarankan","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"Video Baharu","WEBSITE_BOARD_EPISODE":"Episod Baharu","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"If you are looking to contact us, go ahead at","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},51590:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"TV kanal","TYPE_channel":"Kanal","TYPE_other":"Other","TYPE_movie_PL":"Filmer","TYPE_series_PL":"Serier","TYPE_tv_PL":"TV kanaler","TYPE_channel_PL":"Kanaler","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Tilbake","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Oppdag","Board":"Board","Library":"Bibliotek","My Library":"My Library","Calendar":"Kalender","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"Søk blant","SEARCH_NO_RESULTS":"Ingen resultater","SEARCH_EXPLANATION_CONTENT":"Søk etter filmer, serier, YouTubevideoer and TV-kanaler","SEARCH_EXPLANATION_PEOPLE":"Søk etter skuespillere, regissører and manusforfattere","SEARCH_PASTE_LINKS":"Lim inn HTTP og magnetlinker","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Legg til i bibliotek","REMOVE_FROM_LIB":"Fjern fra bibliotek","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Se Trailer","WATCH_NOW":"Se Nå","SHOW":"Vis","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Se tilfeldig","IMDB_RATING":"IMDb Rangering","YEAR":"År","DIRECTOR":"Regissør","WRITER":"Forfatter","LEAD_ACTORS":"Hovedskuespillere","CAST":"Skuespillere","CREW":"Crew","SHOW_MORE_CAST":"Vis mer »","AIRED":"Utgitt","SEASONS":"Sesonger","GENRE":"Sjanger","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Sammendrag","SHOW_MORE":"Show More","SIMILAR":"Lignende","UPCOMING":"Kommer","TBA":"TBA","ENDED":"Endte","DURATION":"Lengde","FEATURED":"Utvalgt","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"søk i videoer","SEARCH_PLACEHOLDER":"search or paste magnet link","ADDON":"Utvidelse","ADDONS":"Utvidelser","OFFICIAL":"Offisielle","ADDONS_OFFICIAL":"Offisielle Stremio Utvidelser","ADDONS_POPULAR":"Populært i ditt område","ADDON_FREE":"Gratis","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnering","ADDON_STREAM_GEORESTRICTED":"ikke tilgjengelig i ditt område","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Lokal fil","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Tilgjengelige Strømmninger","NO_STREAM":"Ingen strømmninger tilgjengelige","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Vis alle utvidelser »","ADDON_CATALOGUE_MORE":"Fler utvidelser »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons repository already exist","ADDON_REPO_ERR":"Error occurred while adding repository","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Protected addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection url","ERR_NOT_ADDON_URL":"Not an addon url","ERR_DETECTFROMURL":"Cannot detect from url","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Addon pulling failed","REFRESH_ON_CLICK":"Click to retry","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Filmen er fortsatt på kino","WATCH_IN_CINEMA":"se den på din lokale kino","IN_THEATER":"På Kino","GET_TICKETS":"Få Biletter","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"Denne kanalen er ikke ferdig enda.<br>Vennligst kom tilbake om noen få minutter.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Legg den til i ditt bibliotek for å bli varslet når den blir tilgjengelig.","GET_NOTIFIED_WHEN_AVAILABLE":"Du vil bli varslet med en gang den er tilgjengelig.","WARNING_STREAMING_SERVER":"Advarsel: lokal strømmeserver ble ikke funnet. Det vil ikke være tilgjengelig å strømme fra YouTube og BitTorrent.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, spiller feil","PLAYER_ERROR_LOOKSLIKE":"Det ser ut som","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Strømmer fra","CASTING_TO":"Caster til","NETWORK_STATUS":"Nettverksstatus","STREAM_SPEED":"Fart på strømmen:","STREAM_BUFFERED":"Buffret:","PEERS_INFO":"Informasjon om peers","PEERS_ACTIVE":"Aktive:","PEERS_CONNECTED":"Tilkoblede:","PEERS_WAITING":"Venter:","TRANSCODING_WARNING":"Advarsel: transkoder videoen.","STREAM_LOADING":"Laster...","PLAYING_LOCAL":"Spiller fra lokal fil","PLAYING_CACHE":"Spiller fra cache","WRONG_SUBS":"Feil undertekster?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Velg en enhet å strømme fra","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Nettbrett","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Endre undertekster for ","SUBTITLES_CHANGE_NONE":"Det er ingen andre undertekster for dette språket, beklager.","SUBTITLES_CHANGE_ACIVE":"Undertekst #{{subtitlesDialog.activeIdx + 1}} er aktivert. Klikk \\"Fortsett\\" for å aktivere undertekster #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativt,","SUBTITLES_ADJUST_DELAY":"Still inn undertekstsforsinkelse:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Eller bruk <span>G</span> / <span>H</span> tastene når du ser for å justere.","SUBTITLES_ADJUST_DELAY_TIP":"TIPS: du kan bruke <span>G</span> / <span>H</span> tastene når du ser for å justere.","SUBTITLES_DELAY":"Undertekstsforsinkelse:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sesong","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trender","SORT_RECENT":"nylig","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rangering","SORT_WATCHED":"sett","SORT_YEAR":"år","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"gjenoppta","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"avvis","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Utvalgt","DISCOVER_TOP":"Topp","DISCOVER_OSCAR":"Oscar vinnere","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Advarsel: ingen Stremio utvidelse aktiv for denne typen. Viser lagrede elementer, ingenting vil oppdatere.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Start på nytt nå!","UPGRADE":"Oppdater til den nyeste Stremio versjonen","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Har du ikke en bruker?","HAVE_ACC":"Already have an account?","PASSWORD":"Passord","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-post","FB_LOGIN":"Logg inn med Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Ingenting vil bli delt uten din tillatelse :)","FB_NOPOST":"We won’t post anything on your behalf","OR":"eller","I_ACCEPT":"Jeg godtar ","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Vilkårene og betingelsene","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passordene er ikke like","SIGN_UP":"Registrer","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Logg inn","LOG_OUT":"Logg ut","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Logg inn som gjest","GUEST_LOGIN_NOTICE":"Gjesteinnlogging er ikke anbefalt. Å bruke en vanlig inlogging gjør det lettere for Stremio å synkronisere biblioteket ditt og å motta varsler for dine favoritt serier/kanaler. Er su sikker på at du vil fortsette?","GUEST_LOGIN_NOTICE_2":"Gjesteinnlogging er ikke anbefalt - du vil ikke ha tilgang til et synkronisert bibliotek eller board, som er which are viktige Stremio funksjoner. ER du sikker på at du vil fortsette?","CLICK_HERE":"Klikk her","WRONG_PASSWORD":"Feil passord. I tilfelle du har glemt passordet, ","SET_A_PASS":"lag et passord","RESET_PASSWORD":"Reset password","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Glemt passord?","EMAIL_USED_WITH_FB":"Denne eposten er i bruk av en Facebook innlogging.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Tilkoblingsfeil - venligst prøv igjen senere.\\n\\nHvis feilen fortsetter, deaktiver brannmuren/anti-virus program (spesielt Bitdefender).","IMPORT_FROM_GUEST":"Importer bibliotek fra en gjestebruker","RECEIVE_UPDATES_EMAIL":"Motta oppdateringer fra Stremio på epost","LOGIN_FAILED":"Innlogging feilet.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Bruk av tredjeparts-utvidelser vil alltid være ditt ansvar med hennsyn til den gjeldene loven der du befinner deg.","ADDON_ACTIVATE":"Aktivere denne utvidelsen?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Hva er nytt?","BUTTON_CONTINUE":"Fortsett","BUTTON_ACTIVATE":"Aktiver","BUTTON_ACTIVATED":"Aktivert","BUTTON_CANCEL":"Avbryt","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Biblioteket ditt ser tomt ut. Finn ut hvor nyttig det er :) ","HOW_START":"Kom i gang:","LIB_EMPTY_CAL":"Kalenderen din viser serier i biblioteket ditt.","HOW_START_CAL":"Her er hvordan du kan legge til serier:","LIB_EMPTY_BOARD":"Board viser varsler & anbefalinger relatert til biblioteket ditt.","HOW_START_BOARD_WAIT":"Legg til noen serier eller kanaler i biblioteket ditt og gi oss noen minutter til å behandle de :)","HOW_START_BOARD":"Her er hvordan du kan legge til serier & filmer til det:","IMPORT_FB":"Importer ting du liker fra <span>Facebook</span>","IMPORT_TRAKT":"Importer mediebiblioteket ditt fra <span>Trakt</span>","IMPORT_DISCOVER":"Finn interessante ting fra <span>Oppdag</span>","IMPORT_DISK":"Importer filmer eller serier fra din <span>lokale Harddisk</span>","PLEASE_CREATE_ACC":"Venligst <u>opprett en bruker</u> for å aktivere biblioteksynkronisering & Board.","IMPORT_DISCOVER_SIGNUP":"Registrer deg og finn interessante ting i <span>Discover</span>","IMPORT_DISK_SIGNUP":"Registrer deg for å importere filmer eller serier du har på din <span>lokale disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Kjør ved oppstart","SETTINGS_VLC_DEFAULT":"Spill med VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Spill av neste episode automatisk","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Endre vindusstørrelse automatisk før avspilling","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Bruk alltid den nyeste betaversjonen","SETTINGS_IMPORT_FB":"Importer fra Facebook","SETTINGS_IMPORT_DISK":"Importer fra lokal disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Abonner på en kalender","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Endre passord","SETTINGS_TOS":"Vilkår for tjenesten","SETTINGS_SUPPORT":"Kontakt support","SETTING_LANGUAGE":"Språk","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Logg ut av Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Logg ut av Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR koden for å åpne eksternt","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Avslutt","CONNECTED":"Connected","AUTHENTICATE":"Verifiser","AUTHENTICATING":"Authenticating...","CACHING":"Bufrer","SETTINGS_CACHING_DRIVE":"Velg bufrings enhet","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januar","February":"Februar","March":"Mars","April":"April","May":"Mai","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"Desember","Monday":"Mandag","Tuesday":"Tirsdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"Lørdag","Sunday":"Søndag","Action":"Action","Comedy":"Komedie","War":"Krig","Family":"Familie","Animation":"Animasjon","Adventure":"Eventyr","Fantasy":"Fantasy","Crime":"Krim","Mystery":"Mysterier","Romance":"Romantikk","Drama":"Drama","Horror":"Grøsser","Thriller":"Spenning","Sci-Fi":"Sci-Fi","Music":"Musikk","Biography":"Biografi","Documentary":"Dokumentar","Sport":"Sport","Musical":"Musikal","Western":"Western","Film-Noir":"Film-Noir","News":"Nyheter","History":"Historie","Game-Show":"Gameshow","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Underholdning","Gaming":"Gaming","From TV":"Fra TV","Lifestyle":"Livsstil","Science & Education":"Vitenskap & Utdanning","Cooking & Health":"Matlaging & Helse","Beauty & Fashion":"Skjønnhet & Mote","Sports":"Sport","News & Politics":"Nyheter & Politikk","How-to & DIY":"Gjør det selv","Tech":"Teknologi","Automotive":"Bilbransjen","Causes & Non-Profits":"Saker & ideelle organisasjoner","Movies":"Filmer","Uk Live Tv":"UK Direkte TV","Fashion":"Mote","Business News Radio":"Business Nyhetsradio","Business Tv":"Business TV","Cars & Auto":"Biler og Auto","Comedy Radio":"Komedieradio","Lifestyle Radio":"Livsstilsradio","News Tv":"Nyhets TV","Food And Wine":"Mat og Vin","Latino Tv":"Latino TV","Shopping Tv":"Shopping TV","Religion":"Religion","Kids":"Barn","Body & Soul":"Kropp og Sjel","Education":"Utdanning","Indian Tv":"Indisk TV","Extreme Sports":"Ekstremsport","Middle Eastern Tv":"TV fra Midtøsten","Celebrity Tv":"Kjendis TV","Science Tv":"Vitenskaps TV","Bikini babe":"Bikini babe","Outdoors":"Utendørs","German Tv":"Tysk TV","French Tv":"Fransk TV","Italian Tv":"Italiensk TV","Gamer Tv":"Spill TV","Travel":"ReiseTV","Asian Tv":"Asiatisk TV","Entertainment":"Underholdning","News Radio":"Nyhetsradio","Music Radio":"Musikkradio","Language Learning":"Språklæring","Science Radio":"Vitenskapsradio","Tech Radio":"Teknologiradio","Science & Technology Vod":"Vitenskap -og Teknologi VOD","new video":"ny video","new episode":"ny episode","new movie":"ny film","recommended":"anbefalt","we recommend":"vi anbefaler","offer of the day":"dagstilbud","news":"nyheter","music video":"musikkvideo","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Forkast varsler","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Del","CTX_COPY_SHARE_LINK":"Kopier link for deling","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Vis","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Se på","CTX_WATCH":"Se","CTX_WATCHED":"Sett","CTX_WATCH_BEGINNING":"Se fra starten","CTX_WATCH_MOBILE":"Se på en mobil enhet","CTX_REWIND":"Spol til start","CTX_MARK_WATCHED":"Merk som sett","CTX_MARK_NON_WATCHED":"Merk som ikke sett","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Få nye varsler","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Fjern fra bruffren","CTX_REMOVE_CACHE_EP":"Fjern episode fra buffren","CTX_OPEN_CONTAINING":"Åpne mappen som inneholder filen","CTX_REMOVE":"Fjern fra bilbiotek","CTX_AVAILABLE_OFFLINE":"Tilgjengelig Offline","CTX_PAUSED":"Pauset","CTX_ALWAYS_ON_TOP":"Alltid på toppen","CTX_FULLSCREEN":"Fullskjem","CTX_WRONG_SUBS":"Feil undertekster?","CTX_REPORT_ISSUES":"Rapporter en feil","CTX_COPY":"Kopier","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Lim inn","CTX_CLEAR":"Tøm","CTX_CLEAR_RECENT_SEARCHES":"Tøm nylige søk","HELLO_THERE":"Hei!","HOPE_YOU_ENJOY":"Vi håper du liker Stremio og at det er en av dine favoritt apper allerede!","WHO_ARE_WE":"Hvem er vi? Vi er teamet bak appen - to gutter som har jobbet hardt med appen hver dag i de siste 3 årene, med kun ett mål - å gjøre dette produkte bedre og bedre.","SUPPORT_US":"Hvis du liker Stremio, hvis Stremio er verdifull for deg - støtt oss!","SPREAD_THE_WORD":"Del med vennene dine og spred ordet om Stremio","MORE_PEOPLE":"Jo fler som bruker Stremio, jo bedre blir det!","SEND_A_LINK":"Eller send en link til websiden vår","TIP_LOCALFILES":"Tips: du kan dra og slippe lokale videoer inn i Stremio","ADDON_MY":"Mine utvidelser","ADDON_COMMUNITY":"Samfunnets utvidelser","ADDON_OFFICIAL":"Offisielle utvidelser","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Søk etter utvidelser","ADDON_INSTALL":"Installer","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Avinstaller","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installert","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Side for utvidelser","ADDON_TOP_CONTENT":"Det beste fra denne utvidelsen","ADDON_PROVIDES":"git","ADDON_WATCH":"Se #{types} nå!","ADDON_WATCH_FREE":"Se #{types} GRATIS nå!","ADDON_ADDON":"Utvidelse","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"Mer #{types} i oppdag","ADDON_PROVIDES_STREAMS":"Se #{types}","ADDON_PROVIDES_STREAMS_FREE":"Se #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Undertekster for #{types}","ADDON_CANTDETECT":"Vi kunne ikke oppdage en kjørende Stremio, så vi kunne ikke oppdage hvilke utvidelser du har installert.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Fortsett å se","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmer valgt spesielt for degg. <br />Denne filmen er en eksempel rekommandasjon","BOARD_EXPLANATION_EPISODES":"Nye episoder av favorittseriene dine kommer her.<br />Legg til serier du følger med på i biblioteket ditt.","BOARD_EXPLANATION_VIDEOS":"Nye episoder av dine favorittkanaler kommer her.<br />Legg til YouTubekanaler du følger med på i biblioteket ditt.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Se med en gang","WEBSITE_SLOGAN_ALL":"Alt videoinnholdet du liker på ett sted","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Last ned nå","WEBSITE_DOWNLOAD_FOR":"Last Ned For","WEBSITE_IS_DESKTOP":"Stremio er et skrivebordsprogram, åpne denne siden på PCen din og last ned nå!","WEBSITE_DESKTOP_DEMO_VID":"Skriveborddemo","WEBSITE_PAGE_HOME":"Hjem","WEBSITE_PAGE_FEATURES":"Funkjsoner","WEBSITE_PAGE_ADDONS":"Utvidelser","WEBSITE_PAGE_TECH":"Teknologi","WEBSITE_PAGE_CREATE_ADDON":"Lag utvidelse","WEBSITE_PAGE_CONTACTS":"Kontakter","WEBSITE_PAGE_BLOG":"Blogg","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmer","WEBSITE_TYPE_series_PL":"Serier","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Kanaler","WEBSITE_STREMIO_WHAT_IS":"Stremio er en app som hjelper deg å organisere og umiddelbart se dine favoritt videoer, filmer, TV-serier og TV-kanaler.","WEBSITE_FEATURES_WATCH":"Se øyeblikkelig i HD","WEBSITE_FEATURES_WATCH_DETAIL":"Klikk og spill dine favoritt filmer, TV-programmer, videoer og TV-kanaler.","WEBSITE_FEATURES_SUBS":"Automatiske undertekster","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio velger automatisk synkroniserte undertekster for språket ditt.","WEBSITE_FEATURES_SUBS_LABEL":"Din tur, sjef.","WEBSITE_FEATURES_CAST":"Spill på TV og mobile enheter","WEBSITE_FEATURES_CAST_DETAIL":"Cast til AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile enheter.","WEBSITE_LIB":"Nyt ditt personlige bibliotek synkronisert på alle enhetene dine","WEBSITE_LIB_COLLECT":"Samle fra Stremio","WEBSITE_LIB_IMPORT":"Importer fra Facebook","WEBSITE_LIB_LOCAL":"Legg til fra din lokale harddisk","WEBSITE_BOARD":"Board - Ditt one-stop sted for varsler og anbefalinger","WEBSITE_BOARD_RECOMMEND":"Anbefalt TV Show","WEBSITE_BOARD_TRENDING":"Populær film","WEBSITE_BOARD_NEW":"Ny video","WEBSITE_BOARD_EPISODE":"Ny episode","WEBSITE_BOARD_1":"Leter du etter noe interessant å se på? Få anbefalinger basert på din smak!","WEBSITE_BOARD_2":"Bli varslet når en ny episode av ditt favoritt TV-program eller YouTube-kanal er ute!","WEBSITE_BOARD_YOUTUBE":"Nye episoder av YouTubekanaler","WEBSITE_BOARD_EPISODES":"Nye episoder av serier di følger.","WEBSITE_ADDONS":"Innholdsudvidelser","WEBSITE_TECH_DETAIL":"Vi elsker teknologi, vi elsker gal vitenskap!\\nStremio bruker følgende åpen kildekode-teknologier:","WEBSITE_TECH_WCJS":"WebChimera.js tillater Stremio å spille alle videoformater med god ytelse.","WEBSITE_TECH_WCJS_EXTRA":"Vi er kjerneprodukt bidragsytere","WEBSITE_TECH_ELECTRON":"Electron gir en innovativ plattform å bygge Stremio med.","WEBSITE_TECH_ELECTRON_EXTRA":"Vi er prosjekt bidragsytere","WEBSITE_TECH_LINVODB":"En databaseteknologi som sikrer dataene er organisert og tilgjengelig hvor som helst du har logger inn.","WEBSITE_TECH_LINVODB_EXTRA":"In-house teknologi","WEBSITE_CREATE_ADDON":"Lag din utvidelse","WEBSITE_CREATE_ADDON_DETAIL":"Har du en tjeneste som gir videoinnhold? Vi hjelper deg å dra nytte av Stremio funksjoner ved å lage utbidelsen din","WEBSITE_CREATE_ADDON_BENEFITS":"Fordeler med å lage en utvidelse for Stremio","WEBSITE_P2P_BEAUTY":"Skjønnheten av Peer-To-Peer strømming","WEBSITE_P2P_1":"Pålitelig og rimelig full HD / 4K video on demand eller direktestrømming","WEBSITE_P2P_2":"Distribusjonsplattform som gir god brukeropplevelse","WEBSITE_P2P_3":"Vi vil lage en utvidelse tilfredstiller dine behov","WEBSITE_P2P_CONTACT":"Interessert? Du er velkommen til å <a href=\'mailto:office@stremio.com\'>kontakte oss</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Vi vil gjerne hjelpe deg med å integrere innholdet ditt med Stremio!","WEBSITE_P2P":"En gang i blant, kommer det en teknologi som endrer spillereglene. Vi har investert tonnevis med tid og krefter på å bygge vår Peer-to-Peer (P2P) video streaming motor som gir god ytelse og allsidighet til å tilpasse enhver bruk.\\nKontakt oss for DRM-aktivert P2P video on demand eller live streaming.","WEBSITE_THOUGHTS":"Tanker vi deler:","WEBSITE_SPREAD":"Spre ordet om Stremio:","WEBSITE_CONTACT":"Hvis du ønsker å kontakte oss, kjør på","WEBSITE_OPENSOURCE":"For våre åpene kildekode-prosjekter, gå til vår","WEBSITE_BITCOIN":"Doner med bitcoin:","WEBSITE_FAQ":"Ofte stilte spørsmål","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Vilkår for bruk","WEBSITE_LEGAL":"Juridisk","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},27116:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"चलचित्र","TYPE_series":"श्रृङ्खला","TYPE_tv":"टिभी च्यानल","TYPE_channel":"च्यानल","TYPE_other":"अन्य","TYPE_movie_PL":"चलचित्रहरू","TYPE_series_PL":"श्रृङ्खला","TYPE_tv_PL":"टिभी च्यानलहरू","TYPE_channel_PL":"च्यानलहरू","TYPE_other_PL":"अन्य","TYPE_ALL":"सबै","TYPE":"प्रकार","CATALOG_com_linvo_cinemeta_top":"लोकप्रिय","CATALOG_com_linvo_cinemeta_imdbRating":"विशेष","CATALOG_com_linvo_cinemeta_year":"नयाँ","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"सार्वजनिक डोमेन चलचित्रहरू","VIDEO":"भिडियो","BACK":"फिर्ता","MORE":"थप","DONE":"सकियो","COPY":"प्रतिलिपि","SUCCESS":"सफल","ERROR":"त्रुटि","SETTINGS_CASTING_MODE_PICKER":"कास्टिङ मोड","CASTING_MODE_HLSV2":"पूर्वनिर्धारित","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"कुनै ट्रान्सकोडिङ छैन","Discover":"डिस्कवर","Board":"बोर्ड","Library":"लाइब्रेरीमा","My Library":"मेरो लाइब्रेरीमा","Calendar":"पात्रो","NOTIFICATION_ONLINE":"तपाई अहिले अनलाइन हुनुहुन्छ","NOTIFICATION_OFFLINE":"तपाई हाल अफलाइन हुनुहुन्छ","INTERNET_CONNECTION":"नेटवर्क जडान","STORAGE_FULL_TITLE":"चेतावनी: भण्डारण भरियो!","STORAGE_FULL_TEXT":"Stremio ले तपाइँको सेटिङ, प्राथमिकता वा लगइन जानकारी बचत गर्न सक्षम हुनेछैन। Stremio पुन: सुरु गर्ने वा पुन: स्थापना गर्ने बारे विचार गर्नुहोस्।","SEARCH":"खोज","SEARCH_NO_RESULTS":"कुनै परिणाम फेला परेन","SEARCH_EXPLANATION_CONTENT":"चलचित्र, शृङ्खला, युट्युब र टिभी च्यानलहरू खोज्नुहोस्","SEARCH_EXPLANATION_PEOPLE":"अभिनेता, निर्देशक र लेखकहरूको खोजी गर्नुहोस्","SEARCH_PASTE_LINKS":"HTTP र म्याग्नेट लिङ्कहरू टाँस्नुहोस्","SEARCH_OR_PASTE_LINK":"लिंक खोज्नुहोस् वा टाँस्नुहोस्","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"लाइब्रेरीमा थप्नुहोस्","REMOVE_FROM_LIB":"लाइब्रेरीबाट हटाउनुहोस्","ADDED_TO_LIB":"लाइब्रेरीमा थपियो","REMOVED_FROM_LIB":"लाइब्रेरीबाट हटाइयो","TRAILER":"ट्रेलर","WATCH_TRAILER":"ट्रेलर हेर्नुहोस्","WATCH_NOW":"अहिले हेर्नुहोस्","SHOW":"देखाउनुहोस्","SHOW_MOVIE":"चलचित्र देखाउनुहोस्","WATCH_RANDOM":"जथाभावी हेर्नुहोस्","IMDB_RATING":"IMDb रेटिंग","YEAR":"वर्ष","DIRECTOR":"निर्देशक","WRITER":"लेखक","LEAD_ACTORS":"मुख्य कलाकार","CAST":"कलाकारहरू","CREW":"क्रू","SHOW_MORE_CAST":"थप देखाउनुहोस् »","AIRED":"प्रसारित","SEASONS":"सिजनहरू","GENRE":"विधा","GENRE_ALL":"सबै विधाहरू","CATALOG":"क्याटलग","SUMMARY":"सारांश","SHOW_MORE":"थप देखाउनुहोस्","SIMILAR":"समान","UPCOMING":"आगामी","TBA":"TBA","ENDED":"समाप्त","DURATION":"अवधि","FEATURED":"विशेष","METADATA":"मेटाडेटा","CATEGORY":"वर्ग","LINKS_GENRES":"विधाहरू","LINKS_CAST":"कलाकार","LINKS_DIRECTORS":"निर्देशकहरू","SEARCH_VIDEOS":"भिडियोहरू खोज्नुहोस्","SEARCH_PLACEHOLDER":"लिंक खोज्नुहोस् वा टाँस्नुहोस्","ADDON":"एडोन","ADDONS":"एडोनहरू","OFFICIAL":"आधिकारिक","ADDONS_OFFICIAL":"आधिकारिक Stremio एडोनहरू","ADDONS_POPULAR":"तपाईंको क्षेत्रमा लोकप्रिय","ADDON_FREE":"नि:शुल्क","ADDON_PEERED":"पियर गरिएको","ADDON_SUBSCRIPTION":"सदस्यता","ADDON_STREAM_GEORESTRICTED":"तपाईंको क्षेत्रमा उपलब्ध छैन","ADDON_STREAM_OFFLINECACHE":"अफलाइन क्यास","ADDON_STREAM_LOCALFILE":"स्थानीय फाइल","SHARE_ADDON":"शेयर एडोन","AVAILABLE_STREAMS":"उपलब्ध स्ट्रिमहरू","NO_STREAM":"कुनै स्ट्रिमहरू फेला परेन","ALL_ADDONS":"सबै","INSTALL_MORE_ADDONS":"थप स्ट्रिमहरूको लागि, कृपया थप एडोनहरू इन्स्टल गर्नुहोस्","STREAM_NOT_SUPPORTED":"चयन गरिएको स्ट्रिम यो प्लेटफर्ममा समर्थित छैन","ADDON_CATALOGUE":"सबै एडोनहरू देखाउनुहोस् »","ADDON_CATALOGUE_MORE":"एडोनहरू इन्स्टल गर्नुहोस्","REPO_ADDED":"रेपोजिटोरी थपियो","ADDON_REPO_EXIST_ERR":"यस एडोन संग्रह पहिले नै अवस्थित छ","ADDON_REPO_ERR":"Error occurred while adding collection","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Cannot uninstall addon, it is protected","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection URL","ERR_NOT_ADDON_URL":"Not a valid addon URL","ERR_DETECTFROMURL":"Cannot find addon/collection from this URL","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Syncing installed addons to your account failed","SETTINGS_DATA_EXPORT":"Export user data","ADDON_PULL_FAILED":"Syncing installed addons from your account failed","REFRESH_ON_CLICK":"Click to retry","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Movie still in theaters","WATCH_IN_CINEMA":"Watch it in your local cinema","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.<br>Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from local files, YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streaming from","CASTING_TO":"Casting to","NETWORK_STATUS":"Network status","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Waiting:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"loading...","PLAYING_LOCAL":"playing from local file","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Choose a device to watch on","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","NO_OPTIONS":"No options available","PHONE_TABLET":"Phone / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Change subtitles for ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles #{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Season","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"watched","SORT_YEAR":"year","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"Resume","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"Dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar Winners","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Continue with Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"or","I_ACCEPT":"I accept the","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terms and Conditions","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passwords don\'t match","SIGN_UP":"Sign up","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Log in","LOG_OUT":"Log out","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Wrong email or password. In case you have forgotten your password, ","SET_A_PASS":"set a password","RESET_PASSWORD":"Reset password","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Activate this addon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"What\'s new","BUTTON_CONTINUE":"Continue","BUTTON_ACTIVATE":"Activate","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Cancel","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications & recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series & movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync & Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Language","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"Version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"January","February":"February","March":"March","April":"April","May":"May","June":"June","July":"July","August":"August","September":"September","October":"October","November":"November","December":"December","Monday":"Monday","Tuesday":"Tuesday","Wednesday":"Wednesday","Thursday":"Thursday","Friday":"Friday","Saturday":"Saturday","Sunday":"Sunday","Action":"Action","Comedy":"Comedy","War":"War","Family":"Family","Animation":"Animation","Adventure":"Adventure","Fantasy":"Fantasy","Crime":"Crime","Mystery":"Mystery","Romance":"Romance","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Music","Biography":"Biography","Documentary":"Documentary","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},55329:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Series","TYPE_tv":"TV-kanalen","TYPE_channel":"Kanaal","TYPE_other":"Andere","TYPE_movie_PL":"Films","TYPE_series_PL":"Series","TYPE_tv_PL":"TV-kanalen","TYPE_channel_PL":"YouTube","TYPE_other_PL":"Andere","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Terug","MORE":"Meer","DONE":"Klaar","COPY":"Kopieer","SUCCESS":"Success","ERROR":"Fout","SETTINGS_CASTING_MODE_PICKER":"Casting modus","CASTING_MODE_HLSV2":"Standaard","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Geen transcodering","Discover":"Ontdekken","Board":"Dashboard","Library":"Bibliotheek","My Library":"Mijn Bibliotheek","Calendar":"Agenda","NOTIFICATION_ONLINE":"Je bent nu online","NOTIFICATION_OFFLINE":"Je bent nu offline","INTERNET_CONNECTION":"Netwerkverbinding","STORAGE_FULL_TITLE":"Waarschuwing: geheugen is vol!","STORAGE_FULL_TEXT":"Stremio kan uw instellingen, voorkeuren of inloggegevens niet opslaan. Probeer Stremio te herstarten of opnieuw te installeren.","SEARCH":"Zoek","SEARCH_NO_RESULTS":"Er zijn geen resultaten gevonden","SEARCH_EXPLANATION_CONTENT":"Zoek naar films, series, Youtube and TV series","SEARCH_EXPLANATION_PEOPLE":"Zoek naar acteurs, filmregisseurs en schrijvers","SEARCH_PASTE_LINKS":"Plak hier HTTP en Magnet links","SEARCH_OR_PASTE_LINK":"Zoek of plak link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Toevoegen aan bibliotheek","REMOVE_FROM_LIB":"Verwijderen uit bibliotheek","ADDED_TO_LIB":"Toegevoegd aan bibliotheek","REMOVED_FROM_LIB":"Verwijderd van uw bibliotheek","TRAILER":"Trailer","WATCH_TRAILER":"Trailer bekijken","WATCH_NOW":"Nu kijken","SHOW":"Toon","SHOW_MOVIE":"Toon Film","WATCH_RANDOM":"Kijk willekeurig","IMDB_RATING":"IMDb beoordeling","YEAR":"Jaar","DIRECTOR":"Regisseur","WRITER":"Schrijver","LEAD_ACTORS":"Hoofdrolspelers","CAST":"Rolverdeling","CREW":"Crew","SHOW_MORE_CAST":"Laat meer zien »","AIRED":"Uitgezonden","SEASONS":"Seizoenen","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Catalogus","SUMMARY":"Samenvatting","SHOW_MORE":"Toon Meer","SIMILAR":"Vergelijkbaar","UPCOMING":"Opkomend","TBA":"TBA","ENDED":"Afgelopen","DURATION":"Tijdsduur","FEATURED":"Uitgelicht","METADATA":"Metadata","CATEGORY":"Categorie","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"Zoek video\'s","SEARCH_PLACEHOLDER":"zoek of plak magnet link","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"Officieel","ADDONS_OFFICIAL":"Officiële Stremio addon","ADDONS_POPULAR":"Populair in uw regio","ADDON_FREE":"Gratis","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnement","ADDON_STREAM_GEORESTRICTED":"Niet beschikbaar in uw regio","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Lokaal Bestand","SHARE_ADDON":"Deel addon","AVAILABLE_STREAMS":"Beschikbare streams","NO_STREAM":"Geen streams beschikbaar","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"Voor meer streams, installeer meer addons","STREAM_NOT_SUPPORTED":"Geselecteerde stream is niet ondersteund op dit platform.","ADDON_CATALOGUE":"Toon alle addons »","ADDON_CATALOGUE_MORE":"Meer addons »","REPO_ADDED":"Repository toegevoegd","ADDON_REPO_EXIST_ERR":"Deze addons repository bestaat al","ADDON_REPO_ERR":"Foutmelding opgetreden tijdens het toevoegen van de repository","ADDON_ADD_ERR":"Foutmelding opgetreden tijdens het toevoegen van de addon","ERR_ADDON_PROTECTED":"Beschermde addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Er ging iets fout - authenticatie is mislukt","ERR_NOT_COLLECTION_URL":"Geen collectie URL","ERR_NOT_ADDON_URL":"Geen addon URL","ERR_DETECTFROMURL":"Niets beschikbaar in de URL","ADDON_DUPLICATE_WARNING":"Waarschuwing: gedupliceerde addon","ADDON_COLLECTION_SET_FAILED":"Addon collectie set mislukt","SETTINGS_DATA_EXPORT":"Exporteer data","ADDON_PULL_FAILED":"Addon ophalen mislukt","REFRESH_ON_CLICK":"Klik om het opnieuw te proberen.","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film nog in de bioscoop","WATCH_IN_CINEMA":"Bekijk de film in een bioscoop in uw buurt","IN_THEATER":"In de bioscoop","GET_TICKETS":"Tickets bemachtigen","UPCOMING_EPISODE":"Aankomende aflevering","UPCOMING_EPISODE_MESSAGE":"Deze aflevering zal worden uitgezonden op","MISSING_DATE_EPISODE":"Ontbrekende afleveringsdatum","MISSING_DATE_EPISODE_MESSAGE":"Deze aflevering is mogelijk nog niet uitgezonden","CHANNEL_NOT_SCRAPED":"Dit kanaal is nog niet geschraapt.<br>Gelieve terug te komen in een paar minuten.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Voeg deze toe aan uw bibliotheek om een melding te krijgen zodra deze beschikbaar is.","GET_NOTIFIED_WHEN_AVAILABLE":"U krijgt een melding zodra deze beschikbaar is.","WARNING_STREAMING_SERVER":"Waarschuwing: lokale streaming server niet gevonden. Streamen van Youtube en BitTorrent is niet mogelijk","WARNING_STREAMING_SERVER_DISMISS":"Sluiten","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Waarschuwing: de video is mogelijk niet ondersteund door uw hardware. De video zal mogelijks niet correct worden afgespeeld.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Woeps, Videospeler fout","PLAYER_ERROR_LOOKSLIKE":"Het lijkt erop","PLAYER_ORIENTATION":"Videospeler oriëntatie","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Vergrendeld","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Videospeler vergrendeld op horizontale weergave","PLAYER_ORIENTATION_SENSOR":"Automatische orientatieweergave videospeler (sensor)","PLAYER_PLAYBACK_SPEED":"Afspeelsnelheid","PLAYER_PLAYBACK_ERROR":"Afspeelfout, probeer het opnieuw","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Onbekende fout","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, deze video kan niet worden afgespeeld door {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Ondertiteling Talen","PLAYER_SUBTITLES_VARIANTS":"Ondertitel varianten","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Ondertitelingen zijn uitgeschakeld","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Verticale positie","PLAYER_SUBTITLES_LOADED":"Ondertitelingen geladen","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Ingebouwde ondertitelingen geladen","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusieve ondertitelingen geladen","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Ondertitelingen van {{origin}} geladen","PLAYER_PLAY":"Afspelen","PLAYER_PAUSE":"Pauzeren","PLAYER_NEXT_VIDEO":"Volgende video","PLAYER_MUTE":"Dempen","PLAYER_UNMUTE":"Dempen uitschakelen","PLAYER_OPEN_IN_EXTERNAL":"Openen in externe speler","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Afspelen op {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Komt binnenkort op","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Afwijzen","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Nu kijken","PLAYER_COPY_STREAM_SUCCESS":"De streamlink is gekopieerd naar je klembord","PLAYER_COPY_STREAM_ERROR":"Kopiëren van streamlink is mislukt","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Streamen van","CASTING_TO":"Casten naar","NETWORK_STATUS":"Netwerkstatus","STREAM_SPEED":"Snelheid:","STREAM_BUFFERED":"Gebufferd:","PEERS_INFO":"Peers informatie","PEERS_ACTIVE":"Actief:","PEERS_CONNECTED":"Verbonden:","PEERS_WAITING":"Wachten:","TRANSCODING_WARNING":"Waarschuwing: transcoderen van video.","STREAM_LOADING":"Laden...","PLAYING_LOCAL":"spelen van een lokaal bestand","PLAYING_CACHE":"spelen uit cache","WRONG_SUBS":"Verkeerde ondertiteling?","ERR_SUBS_LOADING_TITLE":"Fout tijdens laden ondertiteling","ERR_SUBS_LOADING":"Ondertiteling laden mislukt: Dit kan liggen aan de gebruikte addon, of uw internetverbinding","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Kon streamingsapparaat info niet vernieuwen: streaming server is mogelijks offline","CHOOSE_DEVICE":"Kies een apparaat om op te kijken","NO_CAST_DEVICES":"Geen cast-apparaten beschikbaar.","NO_SETTINGS":"Geen instellingen beschikbaar.","NO_OPTIONS":"No options available","PHONE_TABLET":"Mobiel/Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Ondertiteling","SUBTITLES_CHANGE":"Verander ondertiteling voor","SUBTITLES_CHANGE_NONE":"Voor deze taal zijn geen andere vertalingen beschikbaar, sorry.","SUBTITLES_CHANGE_ACIVE":"Momenteel is ondertiteling #{{subtitlesDialog.activeIdx + 1}} actief. Klik op \\"Verder\\" om ondertiteling #{{subtitlesDialog.pickedIdx + 1}} te gebruiken.","SUBTITLES_OR":"Als alternatief,","SUBTITLES_ADJUST_DELAY":"Ondertitelingsvertraging aanpassen:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Of gebruik de <span>G</span> / <span>H</span> toetsen om de ondertitels tijdens het afspelen aan te passen.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: je kan de toetsen <span>G</span> / <span>H</span> gebruiken tijdens het afspelen om aan te passen.","SUBTITLES_DELAY":"Ondertitelvertraging:","SUBTITLES_LOADING":"Ondertiteling laden...","SUBTITLES_UNAVAILABLE":"Geen externe ondertitels beschikbaar","SUBTITLES_DISABLED":"Uitgeschakeld","EXTERNAL_PLAYER_DISABLED":"Uitgeschakeld","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Kiezen toestaan","EXTERNAL_PLAYER_HINT":"Tip: Er is een instelling om altijd met de externe speler te openen","DONT_SHOW_AGAIN":"Niet meer tonen","SERVICE_INSTALL":"Installeren","AUDIO":"Audio","DEFAULT_LANGUAGE":"Standaardtaal","DEFAULT_SECONDARY_LANGUAGE":"Standaard secundaire taal","SEASON":"Seizoen","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Aflevering","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"Sorteer","SORT_BY":"Sorteren op","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"beoordeling","SORT_WATCHED":"gezien","SORT_YEAR":"jaar","SELECT":"Select","SELECT_TYPE":"Selecteer type","SELECT_SORT":"Selecteer sortering","SELECT_CATALOG":"Selecteer catalogus","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Selecteer genre","SORT_LASTWATCHED":"Op basis van laatst bekeken","SORT_NAME":"Op basis van naam","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Op basis van aantal keren bekeken","SORT_NOTWATCHED":"not watched","New for You":"Nieuw voor jou","New Episodes":"Nieuwe afleveringen","New Videos":"Nieuwe video\'s","Recommendations":"Aanbevelingen","LIBRARY_RESUME":"hervat","LIBRARY_PLAY":"Speel","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"negeer","LIBRARY_CLEAR_PROGRESS":"Verwijder voortgang","LIBRARY_REMOVE":"Verwijderen","LIBRARY_NOT_LOGGED_IN":"Bibliotheek is alleen beschikbaar voor ingelogde gebruikers","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Kalender is alleen beschikbaar voor ingelogde gebruikers","NOT_LOGGED_IN_CLOUD":"Toegang tot je favoriete films en tv-shows, waar en wanneer je maar wilt","NOT_LOGGED_IN_RECOMMENDATIONS":"Aanbevelingen op maat van jouw kijkgeschiedenis","NOT_LOGGED_IN_NOTIFICATIONS":"Mis nooit meer een aflevering","NOT_LOGGED_IN_CALENDAR":"Plan je persoonlijke kalender","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Uitgelicht","DISCOVER_TOP":"Populair","DISCOVER_OSCAR":"Oscars","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Deze addon stuurde niks terug.","DISCOVER_ADULT_WARNING":"Deze inhoud is enkel toegankelijk voor volwassenen. Ben je 18+?","DISCOVER_NOADDON_WARNING":"Waarschuwing: geen Stremio addon actief voor dit type. Opgeslagen items worden weergegeven, hier komen geen updates.","DISCOVER_LOAD_ERR":"De inhoud werd niet geladen, er deed zich een fout voor.","DISCOVER_ADDON_UNINSTALLED":"Deze inhoud is niet meer beschikbaar, Het is mogelijk dat de addon is gedeïnstalleerd.","UNINSTALL_THIS_ADDON":"Deinstalleer deze addon","ERR_ADDON_NOT_INSTALLED":"Deze add-on is niet geïnstalleerd. Nu installeren?","DETAIL_RECEIVE_NOTIF_SERIES":"Ontvang notificaties bij nieuwe afleveringen","DETAIL_RECEIVE_NOTIF_VIDEOS":"Ontvang notificaties bij nieuwe video\'s","SIDEBAR_SHOW_STREAMS":"Toon Streams","RELAUNCH":"Herstart Stremio","UPGRADE":"Update naar de laatste Stremio versie","RELOAD_UI":"Gebruikersinterface herladen","MANUAL_UPDATE_TITLE":"Update je Stremio-versie","MANUAL_UPDATE_LINE1":"Je gebruikt een verouderde versie van Stremio, wat sterk wordt afgeraden.","MANUAL_UPDATE_LINE2":"Gelieve zo snel mogelijk te updaten.","BUTTON_UPDATE_LATTER":"Later","BUTTON_UPDATE_NOW":"Updaten","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonieme gebruiker","DONT_HAVE_ACC":"Heeft u nog geen account?","HAVE_ACC":"Heeft u al een account?","PASSWORD":"Wachtwoord","PASSWORD_CONFIRM":"Bevestig wachtwoord","EMAIL":"E-mail","FB_LOGIN":"Inloggen met Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Niks wordt gedeeld zonder uw toestemming","FB_NOPOST":"Niks wordt gepost zonder uw toestemming","OR":"of","I_ACCEPT":"Ik accepteer de","I_ACCEPT_BY_CLICKING":"Door te klikken op de bovenstaande knop ga ik akkoord met de","TOS":"Algemene Voorwaarden","MUST_ACCEPT_TERMS":"U moet akkoord gaan met de voorwaarden","PASSWORDS_NOMATCH":"Wachtwoorden komen niet overeen","SIGN_UP":"Inschrijven","SIGN_UP_EMAIL":"Aanmelden met e-mail","CLICK_TO_SIGN_UP":"Klikt hier om aan te melden.","LOG_IN":"Inloggen","LOG_OUT":"Uitloggen","EXIT_FULLSCREEN":"Volledig scherm afsluiten","ENTER_FULLSCREEN":"Volledig scherm inschakelen","PLAY_URL_MAGNET_LINK":"Speel URL/Magneetlink af","HELP_FEEDBACK":"Help en feedback","TERMS_OF_SERVICE":"Gebruiksvoorwaarden","PRIVACY_POLICY":"Privacybeleid","ABOUT_STREMIO":"Over Stremio","USER_PANEL":"Gebruikerspaneel","LOGIN_LABEL":"Inloggen","GUEST_LOGIN":"Gast-login","GUEST_LOGIN_NOTICE":"Gast-login is niet aangewezen. Een vaste login gebruiken zorgt ervoor dat Stremio je bibliotheek kan synchroniseren en je notificaties krijgt over je favoriete series/kanalen. Ben je zeker dat je wilt doorgaan?","GUEST_LOGIN_NOTICE_2":"Gast-login is niet aangewezen - je zal geen gesynchroniseerd bibliotheek hebben of dashboard notificaties krijgen, beiden belangrijke Stremio functies. Ben je zeker dat je wilt doorgaan?","CLICK_HERE":"Klik hier","WRONG_PASSWORD":"Verkeerd wachtwoord. In het geval dat u uw wachtwoord vergeten, ","SET_A_PASS":"Stel een wachtwoord in","RESET_PASSWORD":"Veranderd wachtwoord","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Wachtwoord vergeten?","EMAIL_USED_WITH_FB":"Deze e-mail is al gebruikt met een Facebook login.","INVALID_EMAIL":"Voer een geldig e-mailadres in","INVALID_PASSWORD":"Voer een geldig wachtwoord in","CONN_ERR":"Connectiefout - probeer het later opnieuw.\\n\\nAls dit probleem zich aanhoudt, schakel dan uw firewall en/of anti-virus software uit (vooral Bitdefender).","IMPORT_FROM_GUEST":"Importeer bibliotheek van uw gast account","RECEIVE_UPDATES_EMAIL":"Ontvang updates via e-mail van Stremio","LOGIN_FAILED":"Login mislukt.","SIGNUP_FAILED":"Aanmelden mislukt.","SEARCH_FAILED":"Zoekopdracht mislukt","EMAIL_USED":"Dit e-mail is al in gebruik.","WAITING_FB_LOGIN":"Inloggen met Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"In extern speler afspelen","EXTERNAL_REMEMBER_PLAYER":"Wilt u uw keuze onthouden?","EXTERNAL_ALWAYS_PLAY":"Ja","EXTERNAL_ONLY_ONCE":"Nee","BEST_FIT":"Beste pasvorm","FIT_SCREEN":"Scherm passen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Geef uw voorkeuren aan","INTRO_TASTE_LONG":"Vertel ons wat je wilt bekijken","INTRO_TASTE_PICK":"Kies {{interestsRemaining}} interesses","INTRO_TASTE_PICK_MORE":"Kies {{interestsRemaining}} meer interesses","INTRO_TASTE_HELP_US":"Help ons je beter te leren kennen.","INTRO_TASTE_CHOOSE_THESE":"Kies enkel van deze:","INTRO_TASTE_CHOOSE_MIN":"Kies minimum 3 categorieën","INTRO_TASTE_CHOOSE_MIN_ERR":"Je moet minimum 3 categorieën kiezen!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Eten & Gezondheid","INTRO_TASTE_BEAUTY_FASHION":"Schoonheid & Mode","INTRO_TASTE_NEWS":"Nieuws","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Wetenschap & Onderwijs","INTRO_TASTE_MUSIC":"Muziek","INTRO_TASTE_TRAVEL":"Reizen","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedie","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"De geselecteerde addon is niet ondersteund op dit platform.","ADDON_DISCLAIMER":"Het gebruiken van addons van derden is altijd onderworpen aan uw eigen verantwoordelijkheid en het recht van de regio waar u zich bevindt.","ADDON_ACTIVATE":"Deze addon activeren?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Toevoegen","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add-on toevoegen","ADD_ADDON_DESCRIPTION":"U kunt een add-on toevoegen via een externe link, die zal verschijnen onder Geïnstalleerde add-ons.","PASTE_ADDON_URL":"Add-on-URL plakken","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Wat is er nieuw?","BUTTON_CONTINUE":"Doorgaan","BUTTON_ACTIVATE":"Activeer","BUTTON_ACTIVATED":"Geactiveerd","BUTTON_CANCEL":"Annuleer","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Verstuur","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Negeer alles","BUTTON_VIEW_ALL":"Bekijk alles","BUTTON_SEE_ALL":"Alles zien","BUTTON_COLOR_TRANSPARENT":"Transparant","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Uw bibliotheek ziet er leeg uit. Ontdek hoe nuttig het is :) ","HOW_START":"Hier is hoe je kunt beginnen:","LIB_EMPTY_CAL":"De agenda toont series in je bibliotheek.","HOW_START_CAL":"Hier is hoe je series kan toevoegen:","LIB_EMPTY_BOARD":"Het dashboard toont notificaties & aanbevelingen gebaseerd op uw bibliotheek.","HOW_START_BOARD_WAIT":"Voeg een paar series of kanalen toe aan uw bibliotheek en geef ons een paar minuten verwerktijd :)","HOW_START_BOARD":"Zo voeg je series & films toe:","IMPORT_FB":"Importeer dingen die je leuk vind van <span>Facebook</span>","IMPORT_TRAKT":"Importeer je media bibliotheek van <span>Trakt</span>","IMPORT_DISCOVER":"<span>Ontdek</span> interessante dingen","IMPORT_DISK":"Importeer films of series vanaf je <span>lokale schijf</span>","PLEASE_CREATE_ACC":"<u>Registreer een account</u> om van de bibliotheek & het dashboard gebruik te maken.","IMPORT_DISCOVER_SIGNUP":"Registreer en vind interessante dingen van <span>Ontdekken</span>","IMPORT_DISK_SIGNUP":"Registreer en importeer films en series van je <span>lokale schijf</span>","LIB_EMPTY_CLOUD":"Cloud bibliotheek","LIB_EMPTY_CLOUD_DESC":"Persoonlijke cloud bibliotheek gesynchroniseerd op alle toestellen","LIB_EMPTY_EARLY":"Vroege vogel","LIB_EMPTY_EARLY_DESC":"Ontvang notificaties bij nieuwe afleveringen","LIB_EMPTY_PERSONAL":"Persoonlijk","LIB_EMPTY_PERSONAL_DESC":"Ontvang persoonlijke aanbevelingen","LIB_EMPTY_CALENDAR_DESC":"Plan uw persoonlijke kijkkalender","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Registreer om deze allemaal te ontvangen","LIB_EMPTY_OTHER":"Registreer om Agenda en andere coole functies in te schakelen","CALENDAR_ADDED":"De Stremio-kalender is toegevoegd aan uw standaard desktopkalender.","CALENDAR_ADDED_MSG":"Indien dit niet werkt, voeg deze URL dan handmatig toe aan uw agendatoepassing","TRAKT_EXPIRED":"Trakt-authenticatie is verlopen, ga naar Instellingen en verifieer opnieuw","TRAKT_REQUIRES_LOGIN":"Trakt foutmelding","TRAKT_REQUIRES_LOGIN_MSG":"U moet inloggen","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Instellingen","SETTINGS_NAV_GENERAL":"Algemeen","SETTINGS_NAV_PLAYER":"Speler","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Snelkoppelingen","SETTINGS_SHORTCUT_RELOAD_APP":"Applicatie herladen","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Instellingen openen","SETTINGS_SHORTCUT_SWITCH_TABS":"Tabbladen wisselen","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Tabbladen vooruit doorlopen","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Tabbladen achteruit doorlopen","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Menu\'s navigeren","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Ga naar zoeken","SETTINGS_SHORTCUT_EXIT_BACK":"Afsluiten / Teruggaan","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Snelheid afspelen menu omschakelen","SETTINGS_SHORTCUT_MENU_VIDEOS":"Video\'s menu omschakelen","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Ondertitels menu omschakelen","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Info menu omschakelen","SETTINGS_SHORTCUT_FULLSCREEN":"Volledig scherm omschakelen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Bediening weergeven","SETTINGS_SHORTCUT_PLAY_PAUSE":"Afspelen / pauzeren","SETTINGS_SHORTCUT_VOLUME_UP":"Volume omhoog","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume omlaag","SETTINGS_SHORTCUT_SEEK_NEXT":"Volgende zoeken","SETTINGS_SHORTCUT_SEEK_PREV":"Vorige zoeken","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Terug zoeken","SETTINGS_SHORTCUT_SEEK_FORWARD":"Vooruit zoeken","SETTINGS_SHORTCUT_PLAY_NEXT":"Volgende afspelen","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Ondertitel grootte vergroten","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Ondertitel grootte verkleinen","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Ondertitel vertraging vergroten","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Ondertitel vertraging verkleinen","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Zijbalk omschakelen","SETTINGS_SHORTCUT_OR":"of","SETTINGS_SHORTCUT_TO":"naar","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Spatie","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticeren","SETTINGS_FACEBOOK_IMPORT":"Importeren","SETTINGS_CALENDAR_SUBSCRIBE":"Abonneren","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface-taal","SETTINGS_LAUNCH_STARTUP":"Opstarten openen","SETTINGS_VLC_DEFAULT":"Met VLC afspelen","SETTINGS_UI_LANGUAGE":"UI-taal","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape-toets om volledig scherm te verlaten","SETTINGS_GAMEPAD":"Gamepadondersteuning inschakelen","SETTINGS_CLOSE_WINDOW":"Applicatie sluiten als venster wordt gesloten","SETTINGS_SUBTITLES_LANGUAGE":"Standaard ondertiteltaal","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Standaard ondertitelgrootte","SETTINGS_SUBTITLES_BACKGROUND":"Ondertitelachtergrond","SETTINGS_SUBTITLES_COLOR":"Ondertitelkleur","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Ondertitelomlijning kleur","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Ondertitelachtergrondkleur","SETTINGS_SEEK_KEY":"Pijltjestoetsen zoektijd","SETTINGS_SEEK_KEY_SHIFT":"Pijltjestoetsen zoektijd wanneer Shift-toets is ingedrukt","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Terugspoel- en vooruitspoelduur","SETTINGS_BINGE":"Automatisch de volgende aflevering afspelen","SETTINGS_NEXT_VIDEO":"Geef een melding om de volgende aflevering te starten","SETTINGS_NEXT_VIDEO_TRIGGER":"Geef een melding voor de volgende aflevering voor:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Duur van de pop-up met de volgende video","SETTINGS_PLAY_IN_BACKGROUND":"Afspelen op de achtergrond","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Afspelen in externe speler","SETTINGS_RESIZE":"Vensterformaat automatisch aanpassen bij afspelen","SETTINGS_OVERRIDE_SERVER":"streaming server-URL overschrijven (geavanceerd)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"streaming server-URL: ","SETTINGS_SERVER_AVAILABLE":"streaming server is beschikbaar.","SETTINGS_SERVER_UNAVAILABLE":"streaming server is niet beschikbaar.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Fout","SETTINGS_SERVER_CONFIGURE_TITLE":"Configureer streaming server-URL","SETTINGS_SERVER_CONFIGURE_INPUT":"Voer een streaming server-URL in","SETTINGS_SERVER_CACHE_SIZE":"Cachegrootte","SETTINGS_SERVER_TORRENT_PROFILE":"Torrentprofiel","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS-eindpunt: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Gebruik altijd de laatste Beta","SETTINGS_IMPORT_FB":"Importeren van Facebook","SETTINGS_IMPORT_DISK":"Importeren van lokale schijf","SETTINGS_IMPORT_TRAKT":"Importeren van Trakt","SETTINGS_PAUSE_MINIMIZED":"Pauzeer afspelen bij minimaliseren","SETTINGS_HWDEC":"Door hardware versnelde decodering","SETTINGS_BACKGROUND":"Achtergrondweergave","SETTINGS_SUBSCRIBE_CALENDAR":"Abonneer op agenda","SETTINGS_REQ_EXPORT":"Vraag gegevens export aan","SETTINGS_ACC_DELETE":"Verzoek om account te verwijderen","SETTINGS_CHANGE_PASSWORD":"Wachtwoord veranderen","SETTINGS_TOS":"Algemene voorwaarden","SETTINGS_SUPPORT":"Contact opnemen met ondersteuning","SETTING_LANGUAGE":"Taal","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Uitloggen van Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Uitloggen van Trakt","SETTINGS_SCAN_FOR_REMOTE":"QR code scannen om afstandsbediening te openen","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notificaties","SETTINGS_DATA_SAVER":"Gegevensbesparing","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"standaard ondertiteling","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Automatische selectie audiotrack inschakelen","SETTINGS_DEFAULT_AUDIO_TRACK":"Standaard audiotrack","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"versie","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Start videospeler in apart scherm (geavanceerd)","SETTINGS_PLAY_IN_EXTERNAL":"Video altijd in externe speler starten","SETTINGS_STORAGE_BUTTON":"Lokale opslag wissen","SETTINGS_STORAGE_MODAL_TITLE":"Weet je het zeker?","SETTINGS_STORAGE_MODAL_MESSAGE":"Dit zal de lokale opslag wissen en je uitloggen.","SETTINGS_HWDEC_PICKER":"Hardwareversnelling voor decodering kiezen","SETTINGS_HW_AUTOMATIC":"Automatisch","SETTINGS_HW_DISABLED":"Uitgeschakeld","SETTINGS_HW_ACCELERATED":"Decodering versnellen","SETTINGS_HW_FULL":"Volledige versnelling","SETTINGS_HW_LEGACY":"Erfenis","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Ondertitels","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Bediening","SETTINGS_SECTION_AUTO_PLAY":"Automatisch afspelen","SETTINGS_SECTION_ADVANCED":"Geavanceerd","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Add-on ondertitels","SUBSPICKER_BLACK_BACKGROUND":"Gebruik een zwarte achtergrondkleur","SUBSPICKER_VERTICAL_OFFSET":"Verticale offset","SUBSPICKER_SIZE":"Grootte","SUBSPICKER_DELAY":"Vertraging","SUBSPICKER_EMBEDDED_SUBS":"Ingesloten ondertitels","MOBILE_PRIVACY_POLICY":"Privacybeleid","MOBILE_CRASH_REPORTING":"Crashrapportage","MOBILE_ZOOM_TO_FILL":"Zoomen om het scherm te vullen","MOBILE_PASSTHROUGH":"Digitale audio-uitvoer (doorvoer)","MOBILE_RUN_LOW_BATTERY":"Uitvoeren op een laag batterijniveau","MOBILE_RUN_FOREGROUND":"Uitvoeren als voorgrondservice","MOBILE_PERFORMANCE":"PRESTATIES & STABILITEIT","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR-code verloopt in ","MOBILE_LOG_INTO":"Log in op je Stremio-account ","MOBILE_SCAN_QR":"Scan de QR-code hierboven of ga naar ","MOBILE_LINK_ACCOUNT":"Account koppelen","MOBILE_SPEEDPICKER_CANCEL":"Annuleren","MOBILE_SPEEDPICKER_LABEL":"Selecteer afspeelsnelheid","MOBILE_EMPTY_LIBRARY":"Je bibliotheek is leeg","MOBILE_NO_ADDON_ACTIVE":"Er is geen actieve Stremio-addon voor dit type.","MOBILE_ORGANIZER_WARNING":"De Stremio Organizer-app biedt beperkte functionaliteit. Voor een lijst met afspeelbare streams en de volledige Stremio-ervaring, gebruik je Stremio op desktop.","MOBILE_ADDON_LOADING":"laadt nog","MOBILE_ADDONS_LOADING":"addons laden nog","MOBILE_ADDON":"Add-on","MOBILE_CONFIGURE_ADDON":"Configureer je add-on","MOBILE_CONFIGURE_ADDON_LABEL":"Configureer add-on","MOBILE_ORGANIZER_ADDONS_WARNING":"De Stremio Organizer-app biedt een beperkte selectie van add-ons. Voor de volledige Stremio-ervaring, gebruik je Stremio op desktop.","MOBILE_DISCONNECT":"Verbinding verbreken","MOBILE_LOOKING_FOR_DEVICES":"Zoeken naar apparaten...","MOBILE_CAST_TO":"Casten naar","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Account verwijderen","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account verwijderen is niet direct mogelijk vanwege wettelijke verplichtingen. Nadat je hebt verzocht om je account te verwijderen, moet je een andere e-mailadres/Facebook-profiel gebruiken om in de toekomst een nieuwe Stremio-account aan te maken.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Account verwijderen bevestigen","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Uw account is gemaakt met behulp van Facebook. Om je account te verwijderen kan je gebruik maken van ons gebruikersportaal op www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Voer je wachtwoord in om de account verwijderen te bevestigen.","MOBILE_DELETE_ACCOUNT_BUTTON":"Account verwijderen","NAVIGATION_ON":"Aan","NAVIGATION_OFF":"Uit","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Ik ga akkoord met het ontvangen van marketingcommunicatie van Stremio","QUIT":"Afsluiten","CONNECTED":"Verbonden","AUTHENTICATE":"Authenticeren","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Selecteer schijf voor caching","ENABLE_LOCAL_FILES_ADDON":"Schakel de lokale bestanden-add-on in (vereist herstart)","LOCAL_ADDON_NOT_ENABLED":"De lokale add-on is niet ingeschakeld. Klik hier om naar de instellingen te gaan en deze in te schakelen","ENABLE_REMOTE_HTTPS_CONN":"Schakel externe HTTPS-verbindingen in","TORRENT_PROFILE":"Torrent-profiel","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Magnetlink verwerken","January":"januari","February":"februari","March":"maart","April":"april","May":"mei","June":"juni","July":"juli","August":"augustus","September":"september","October":"oktober","November":"november","December":"december","Monday":"maandag","Tuesday":"dinsdag","Wednesday":"woensdag","Thursday":"donderdag","Friday":"vrijdag","Saturday":"zaterdag","Sunday":"zondag","Action":"Actie","Comedy":"Komedie","War":"Oorlog","Family":"Familie","Animation":"Animatie","Adventure":"Avontuur","Fantasy":"Fantasie","Crime":"Misdaad","Mystery":"Mysterie","Romance":"Romantiek","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Muziek","Biography":"Biografie","Documentary":"Documentaire","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-noir","News":"Nieuws","History":"Geschiedenis","Game-Show":"Spelprogramma","Reality-TV":"Reality-TV","Talk-Show":"Talkshow","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"Van TV","Lifestyle":"Lifestyle","Science & Education":"Wetenschap & Onderwijs","Cooking & Health":"Koken & Gezondheid","Beauty & Fashion":"Schoonheid & Mode","Sports":"Sport","News & Politics":"Nieuws & Politiek","How-to & DIY":"How-to & Klussen","Tech":"Technologie","Automotive":"Automotive","Causes & Non-Profits":"Goede doelen & Non-Profits","Movies":"Films","Uk Live Tv":"UK Live TV","Fashion":"Mode","Business News Radio":"Business News Radio","Business Tv":"Business","Cars & Auto":"Auto\'s","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"Nieuws","Food And Wine":"Eten & Wijn","Latino Tv":"Latino TV","Shopping Tv":"Shopping","Religion":"Godsdienst","Kids":"Kinderen","Body & Soul":"Lichaam & ziel","Education":"Onderwijs","Indian Tv":"Indische TV","Extreme Sports":"Extreme sporten","Middle Eastern Tv":"Midden-Oosten","Celebrity Tv":"Celebrity","Science Tv":"Wetenschap","Bikini babe":"Bikini babe","Outdoors":"Buitenleven","German Tv":"Duitse TV","French Tv":"Franse TV","Italian Tv":"Italiaanse TV","Gamer Tv":"Game","Travel":"Reizen","Asian Tv":"Aziatische TV","Entertainment":"Entertainment","News Radio":"Nieuws Radio","Music Radio":"Muziek Radio","Language Learning":"Taal leren","Science Radio":"Wetenschap Radio","Tech Radio":"Technologie Radio","Science & Technology Vod":"Wetenschap & Technologie Vod","new video":"nieuwe video","new episode":"nieuwe aflevering","new movie":"nieuwe film","recommended":"aanbevolen","we recommend":"onze aanbeveling","offer of the day":"aanbieding van de dag","news":"nieuws","music video":"muziekvideo","CTX_SHOW_HOTKEYS":"Toon snelkoppelingen","CTX_DISMISS_NOTIF":"Notificaties wissen","CTX_DISMISS_ALL":"Verwijder alles","CTX_SHARE":"Delen","CTX_COPY_SHARE_LINK":"Kopieer deelbare link","CTX_COPY_MAGNET_LINK":"Magneet-link kopiëren","CTX_COPY_STREAM_LINK":"Streamlink kopiëren","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Deze video downloaden","CTX_DOWNLOAD_SUBS":"Ondertitelingen downloaden","CTX_VIEW_ON_YOUTUBE":"Bekijk op YouTube","CTX_SHOW":"Kijken","CTX_PLAY":"Speel","CTX_PLAY_IN":"Speel in","CTX_PLAY_ON":"Speel op","CTX_WATCH_ON":"Kijk op","CTX_WATCH":"Kijken","CTX_WATCHED":"Gezien","CTX_WATCH_BEGINNING":"Vanaf het begin kijken","CTX_WATCH_MOBILE":"Op een mobiel apparaat kijken","CTX_REWIND":"Spoel terug naar begin","CTX_MARK_WATCHED":"Markeren als gezien","CTX_MARK_NON_WATCHED":"Markeren als niet gezien","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Markeer de rest als gezien","CTX_UNMARK_REST":"Markeer de rest als niet gezien","CTX_RECEIVE_NEW_NOTIF":"Nieuwe notificaties ontvangen","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Van cache verwijderen","CTX_REMOVE_CACHE_EP":"Aflevering uit cache verwijderen","CTX_OPEN_CONTAINING":"Bijhorende map openen","CTX_REMOVE":"Verwijderen van bibliotheek","CTX_AVAILABLE_OFFLINE":"Offline beschikbaar","CTX_PAUSED":"Gepauzeerd","CTX_ALWAYS_ON_TOP":"Altijd op voorgrond","CTX_FULLSCREEN":"Volledig scherm","CTX_WRONG_SUBS":"Verkeerde ondertiteling?","CTX_REPORT_ISSUES":"Fout rapporteren","CTX_COPY":"Kopiëren","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Plakken","CTX_CLEAR":"Legen","CTX_CLEAR_RECENT_SEARCHES":"Recente zoekopdrachten verwijderen","HELLO_THERE":"Hallo daar","HOPE_YOU_ENJOY":"Wij hopen dat je Stremio leuk vindt en het al één van je favoriete programma\'s is!","WHO_ARE_WE":"Wie zijn wij? Wij zijn het team achter Stremio - twee jongens die de laatste 3 jaar erg hard hebben gewerkt, met één doel voor ogen - dit product beter en beter maken.","SUPPORT_US":"Als je Stremio met plezier gebruikt en/of het waardevol voor je is - steun ons!","SPREAD_THE_WORD":"Vertel je vrienden en de wereld over Stremio","MORE_PEOPLE":"Hoe meer mensen Stremio gebruiken, hoe beter het wordt!","SEND_A_LINK":"Of stuur een link naar onze website","TIP_LOCALFILES":"Tip: je kan lokale videobestanden in Stremio slepen om af te spelen","ADDON_MY":"Mijn Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Officiële Addons","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Zoek addons","ADDON_INSTALL":"Installeer","ADDON_CONFIGURE":"Configureer","ADDON_UNINSTALL":"Deinstalleren","ADDON_UPGRADE":"Upgraden","ADDON_INSTALLED":"Geïnstalleerd","ADDON_INSTALLED_MSG":"Addon geïnstalleerd!","ADDON_UPGRADED_MSG":"Addon ge-upgrade!","ADDON_UNKNOWN":"Onbekend","ADDON_ERR":"Addon installatie fout!","ADDON_DISCONNECTED":"Verbinding verbroken","ADDON_APP_MISSING":"De app voor deze bron is niet geïnstalleerd. Wil je deze nu installeren?","ADDON_APP_INSTALL":"Installeer Nu","ADDON_PAGE":"Addon Pagina","ADDON_TOP_CONTENT":"Beste van deze Addon","ADDON_PROVIDES":"bied aan","ADDON_WATCH":"Kijk #{types} nu!","ADDON_WATCH_FREE":"Kijk #{types} nu GRATIS!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"Meer #{types} in Ontdekken","ADDON_PROVIDES_STREAMS":"Kijk #{types}","ADDON_PROVIDES_STREAMS_FREE":"Kijk #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Ondertiteling voor #{types}","ADDON_CANTDETECT":"We konden geen lopende instantie van Stremio detecteren, hierdoor konden we niet detecteren welke addons er zijn geïnstalleerd.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Geen informatie over dit ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Fout tijdens het verkrijgen van informatie.","ERR_CANT_PARSE_MAGNET":"Kan magnet link niet verwerken","ERR_NO_MAGNET_INFOHASH":"Geen geldige infohash voor deze magnet link","ERR_NO_FILE_PATH":"Niet mogelijk een verzoek te versturen zonder Unable to send request zonder pad naar bestand","ERR_NO_TORRENT":"Geen torrent gevonden","ERR_NO_SUPPORTERD_FILES":"Geen ondersteunde bestanden gevonden","ERR_OPENING_FILES":"Kon externe bestanden niet openen","ERR_INVALID_LINK":"Ongeldige link","ERR_REGISTERED_ONLY":"Deze optie is alleen beschikbaar voor geregistreerde gebruikers.","ERR_CLIPBOARD":"Kan niet afspelen vanaf het klembord","ERR_CLIPBOARD_READ":"Kan het klembord op dit platform niet lezen","ERR_CLIPBOARD_GENERIC":"Er is geen afspeelbare URL gevonden in het klembord. Kopieer een URL (bijvoorbeeld een magnetlink) naar een video.","BOARD_CONTINUE_WATCHING":"Doorgaan met kijken","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Films speciaal voor jou gekozen.<br />Deze film is een voorbeeld aanbeveling.","BOARD_EXPLANATION_EPISODES":"Nieuwe afleveringen van uw favoriete series komen hier.<br />Voeg series die je volgt toe aan je bibliotheek.","BOARD_EXPLANATION_VIDEOS":"Nieuwe afleveringen van uw favoriete kanalen komen hier.<br />Voeg Youtube Kanalen die je volgt toe aan je bibliotheek","WEBSITE_ENJOYED_BY":"Geniet net als meer dan 30 miljoen gebruikers over de hele wereld","WEBSITE_STREAMING_ENHANCED":"Streaming verbeterd","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio biedt een veilige, moderne en naadloze entertainmentervaring. Met zijn gebruiksvriendelijke interface en diverse contentbibliotheek, inclusief 4K HDR-ondersteuning, kunnen gebruikers hun favoriete films en tv-shows bekijken op al hun apparaten. En met zijn commitment aan veiligheid is Stremio de ultieme keuze voor een zorgeloze, hoogwaardige streaming ervaring.","WEBSITE_AVAILABLE_ON":"Beschikbaar op","WEBSITE_WATCH_AND_ENJOY":"Kijk & geniet.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio maakt het een fluitje van een cent","WEBSITE_ALL_FEATURES":"Alle functies","WEBSITE_EASY_TO_USE":"Gemakkelijk te gebruiken","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is ontworpen om gebruiksvriendelijk en gemakkelijk te gebruiken te zijn. Met zijn schone en intuïtieve interface kunt u gemakkelijk navigeren en het content vinden dat u wilt bekijken.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Naadloos over apparaten","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Beschikbaar voor een breed scala aan platforms (inclusief Windows, Mac, Linux, Android en meer), Stremio houdt bij uw voortgang op al uw apparaten. Meld u gewoon aan en ga verder met kijken zonder de app opnieuw te hoeven configureren op elk nieuw apparaat.","WEBSITE_ALL_DOWNLOADS":"Alle downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Ondersteuning voor high-definition video","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Een geïntegreerde videospeler die de meeste videoformaten ondersteunt, waaronder 4K HDR-content, zodat u kunt genieten van de hoogste kwaliteit die beschikbaar is.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Gevarieerde contentbibliotheek","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integreert met een groot aantal populaire videobronnen, zoals Netflix, Amazon Prime Video, Hulu, YouTube en nog veel meer.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Maak een gratis account aan","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Aangepaste kijkervaring","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio stelt u in staat de look en feel van de interface aan te passen door het thema te wijzigen, add-ons toe te voegen of te verwijderen, en meer.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Ondersteuning voor meertalige ondertitels","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"U kunt nu al uw favoriete content bekijken in uw voorkeurstaal, aangezien Stremio ondertitels in alle talen ondersteunt.","WEBSITE_ALL_STREMIO_FEATURES":"Alle Stremio-functies","WEBSITE_TRY_STREMIO_TITLE_P1":"Probeer Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Nu op je tv","WEBSITE_YOU_CAN_NOW_WATCH":"Je kunt nu al je favoriete tv-programma\'s bekijken op je Android TV-apparaten. De Stremio TV-app laat je met gemak een filmavond genieten.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Je kunt nu al je favoriete tv-programma\'s bekijken op je Smart TV of Android TV. De Stremio TV-apps laten je met gemak een filmavond genieten.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio voor Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Waarschijnlijk de beste en meest handige app die je op je apparaat kunt hebben. Het is een van de apps die ik dagelijks gebruik, vooral op mijn Android TV, al vele jaren. Goed gemaakt met een sterke community die nuttige functionaliteiten biedt. Goed gedaan. Blijf het goede werk doen.","WEBSITE_REVIEWS":"recensies","WEBSITE_GET_STREMIO_FOR_FREE":"Download Stremio gratis","WEBSITE_GET_STREMIO_NOW":"Download Stremio nu","WEBSITE_STREMIO_FEATURES":"Stremio-functies","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream als een pro met de geavanceerde functies van Stremio en geniet van naadloze toegang tot al je favoriete media","WEBSITE_DISCOVER_MORE":"Ontdek meer.","WEBSITE_DISCOVER_MORE_DETAILS":"Nooit meer zonder dingen om te kijken","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio heeft een grote en actieve community van gebruikers die bijdragen aan de ontwikkeling van de software door add-ons te maken en te delen.","WEBSITE_GET_INVOLVED":"Doe mee","WEBSITE_NEW_THEATER_EXPERIENCE":"Nieuwe bioscoopervaring","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s nieuwe speciale tv-app laat je genieten van een filmavond op je Android TV-apparaten.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s nieuwe speciale tv-apps laten je genieten van een filmavond op je Smart TV of Android TV-apparaten.","WEBSITE_FREE_AND_SECURE":"Gratis & veilig","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio biedt ongeëvenaarde beveiliging en privacy voor gebruikers. Met zijn unieke functie om add-ons op afstand te runnen, biedt Stremio een veiligere manier om je favoriete content te streamen dan andere platforms. Je beveiliging en privacy zijn topprioriteiten, en het platform zorgt ervoor dat al je gegevens worden beschermd.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Vaarwel zeggen tegen zorgen over beveiliging en privacy en hallo zeggen tegen een wereld van eindeloze entertainment met Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informatie verstrekt door","WEBSITE_CONTRIBUTE_DESC":"aan het project & help ons Stremio nog beter te maken","WEBSITE_COMMUNITY_DESC":"Wij geloven dat de beste manier om een ​​echt geweldige streamingervaring te creëren is door onze community erbij te betrekken. Of je nu een programmeur, een artiest of gewoon een fan bent, je kunt Stremio helpen groeien.","WEBSITE_COMMUNITY_DESC_2":"Dus doe vandaag nog mee en word lid van de Stremio-community en blijf de toekomst van streaming vormgeven.","WEBSITE_WAYS_TO_GET_INVOLVED":"Manieren om betrokken te raken","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in de Stremio-community","WEBSITE_SHARE_YOUR_THOUGHTS":"Deel je mening","WEBSITE_REPORT_BUGS":"Rapporteer bugs","WEBSITE_SUGGEST_FEATURES":"suggereer functies","WEBSITE_AND_PROVIDE_FEEDBACK":"en geef feedback op onze sociale mediakanalen.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testprogramma","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Neem deel aan ons bètatestprogramma (we sturen regelmatig uitnodigingen) in de Stremio-community.","WEBSITE_JOIN_NOW":"Meld je nu aan!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Officiële Stremio-gemeenschappen","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Onofficiële Stremio-gemeenschappen","WEBSITE_BECOME":"Word","WEBSITE_A_VOLUNTEER_TRANSLATOR":"een vrijwillige vertaler","WEBSITE_ARE_YOU_A_DEVELOPER":"Ben jij een ontwikkelaar?","WEBSITE_CONTRIBUTE_CODE":"Je kunt code bijdragen aan onze open source-projecten. We hebben verschillende projecten op GitHub die op zoek zijn naar bijdragers. Als je wilt helpen, bekijk ze dan:","WEBSITE_STREMIO_ON_GITHUB":"Stremio op GitHub","WEBSITE_CREATE_ADDON_DESC":"Maak een add-on om de functionaliteit van Stremio te verbeteren (we hebben een eenvoudig te gebruiken API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We bieden ook de mogelijkheid om bij ons te komen als intern ontwikkelaar zodat we samen kunnen groeien.","WEBSITE_APPLY_AS_AN_INTERN":"Solliciteer als stagiair","WEBSITE_CALLING_ALL_ARTISTS":"Oproep aan alle kunstenaars!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Laat je creativiteit en liefde voor Stremio zien door je fan art te uploaden naar onze online galerij. Of het nu een tekening, schilderij of digitaal ontwerp is, we willen je unieke kijk op het Stremio-merk zien. Sluit je aan bij onze gemeenschap van kunstliefhebbers en deel je werk met Stremio-fans over de hele wereld.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Word lid van ons team en neem je creativiteit naar nieuwe hoogten met onze spannende stagemogelijkheden.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremio is toegewijd aan het behoud van de film- en televisiegeschiedenis door het identificeren van openbare domein- en weesvideo\'s. Door samen te werken met onze community, kunnen we ervoor zorgen dat deze klassieke kunstwerken voor iedereen toegankelijk zijn en voor toekomstige generaties worden beschermd.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Neem gerust contact met ons op als je wilt deelnemen aan dat project.","WEBSITE_JOIN_THE_PROJECT":"Doe mee aan het project","WEBSITE_BE_PART_OF_OUR_MISSION":"Word deel van onze missie","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Geïnteresseerd om lid te worden van het Stremio-team? We bieden volledig remote werk voor gepassioneerde professionals. Bekijk onze openstaande vacatures.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"BESCHRIJVING","WEBSITE_LEARN_MORE":"Meer informatie","WEBSITE_COMPANY":"Bedrijf","WEBSITE_CONTACTS":"Contacten","WEBSITE_NEED_HELP":"Hulp nodig?","WEBSITE_STREMIO_WEB_ON_IOS":"Handleiding voor Stremio Web op iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Kijk direct","WEBSITE_SLOGAN_ALL":"Alle videocontent die je leuk vindt op één plek","WEBSITE_SLOGAN_NEW":"Alles wat je kunt kijken","WEBSITE_SLOGAN_NEW_NEW":"Vrijheid om te streamen","WEBSITE_WATCH_FROM":"Kijk van","WEBSITE_DOWNLOAD":"Download nu","WEBSITE_DOWNLOAD_FOR":"Download nu voor","WEBSITE_IS_DESKTOP":"Stremio is een desktop applicatie, open deze pagina op uw PC om Stremio te downloaden","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Functies","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technologie","WEBSITE_PAGE_CREATE_ADDON":"Maak een Addon","WEBSITE_PAGE_CONTACTS":"Contacten","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Films","WEBSITE_TYPE_series_PL":"Serie\'s","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Kanalen","WEBSITE_STREMIO_WHAT_IS":"Stremio is een app dat je helpt met het organizeren en onmiddellijk bekijken van je favoriete videos, films, TV series en TV-kanalen.","WEBSITE_FEATURES_WATCH":"Kijk direct in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Klik en bekijk je favoriete films, TV Shows, videos en TV-kanalen.","WEBSITE_FEATURES_SUBS":"Automatische Ondertiteling","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio kiest automatisch gesynchroniseerde ondertiteling voor jouw taal.","WEBSITE_FEATURES_SUBS_LABEL":"Jouw zet, baas.","WEBSITE_FEATURES_CAST":"Speel op TV en mobiele apparaten","WEBSITE_FEATURES_CAST_DETAIL":"Cast naar AppleTV, Chromecast, Smart TV (DLNA/UPnP) en mobiele apparaten.","WEBSITE_LIB":"Geniet van je persoonlijke bibliotheek gesynchroniseerd naar al je apparaten","WEBSITE_LIB_COLLECT":"Collecteer van Stremio","WEBSITE_LIB_IMPORT":"Importeer van Facebook","WEBSITE_LIB_LOCAL":"Voeg toe van je lokale schijf","WEBSITE_BOARD":"Het dashboard- Je one-stop plaats voor Notificaties en Aanbevelingen","WEBSITE_BOARD_RECOMMEND":"Aanbevolen TV Show","WEBSITE_BOARD_TRENDING":"Trending Film","WEBSITE_BOARD_NEW":"Nieuwe Video","WEBSITE_BOARD_EPISODE":"Nieuwe Aflevering","WEBSITE_BOARD_1":"Zoek je iets interessants? Krijg aanbevelingen gebaseerd op jouw smaak!","WEBSITE_BOARD_2":"krijg een notificatie wanneer een nieuwe aflevering van je favoriete TV show of Youtube kanaal uit is!","WEBSITE_BOARD_YOUTUBE":"Nieuwe video\'s van YouTube kanalen","WEBSITE_BOARD_EPISODES":"Nieuwe afleveringen van series die je volgd","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We houden van technologie, we houden van wetenschap!\\nStremio gebruikt de volgende open-source technologieën:","WEBSITE_TECH_WCJS":"WebChimera.js laat Stremio toe om alle videoformaten af te spelen.","WEBSITE_TECH_WCJS_EXTRA":"We dragen bij aan het kernproject","WEBSITE_TECH_ELECTRON":"Electron zorgt voor de innovatieve basis waarop Stremio gebouwd is.","WEBSITE_TECH_ELECTRON_EXTRA":"We dragen bij aan het project","WEBSITE_TECH_LINVODB":"Een database technologie dat je data organiseert en beschikbaar maakt waar en wanneer je ook inlogt.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technologie","WEBSITE_CREATE_ADDON":"Maak je eigen addon","WEBSITE_CREATE_ADDON_DETAIL":"Heb jij een videoservice? We helpen je graag voordeel te halen uit Stremio door een Addon voor je te maken.","WEBSITE_CREATE_ADDON_BENEFITS":"Voordelen aan het maken van een Addon voor Stremio","WEBSITE_P2P_BEAUTY":"De schoonheid van Peer-to-Peer streaming","WEBSITE_P2P_1":"Betrouwbare en betaalbare full HD / 4K-video op aanvraag of live streaming","WEBSITE_P2P_2":"Distributieplatform met een geweldige gebruikerservaring","WEBSITE_P2P_3":"We maken een addon naar jouw noden en wensen","WEBSITE_P2P_CONTACT":"Geïnteresseerd? <a href=\'mailto:office@stremio.com\'>Contacteer ons</a> zeker.","WEBSITE_P2P_CONTACT_EXTRA":"We helpen je graag om je content te integreren in Stremio!","WEBSITE_P2P":"Af en toe komt er een technologie die de naam van het spel verandert. We hebben veel tijd en moeite geïnvesteerd in het bouwen van onze Peer-to-Peer (P2P) videostreamingmotor die geweldige prestaties en veelzijdigheid biedt voor elke toepassing. \\nNeem contact met ons op voor DRM-compatibele P2P-video op aanvraag of live streaming.","WEBSITE_THOUGHTS":"Gedachten die we willen delen:","WEBSITE_SPREAD":"Vertel iedereen over Stremio:","WEBSITE_CONTACT":"Wil je ons contacteren, doe gerust via","WEBSITE_OPENSOURCE":"Ga voor onze open source-projecten naar onze","WEBSITE_BITCOIN":"Doneer bitcoin:","WEBSITE_FAQ":"Veel Gestelde vragen","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Vragen","WEBSITE_TOS":"Gebruiksvoorwaarden","WEBSITE_LEGAL":"Wettelijk","WEBSITE_PAGE_ABOUT":"Over","WEBSITE_PAGE_BECOME_PARTNER":"Word een partner","WEBSITE_ALL_YOU_CAN_WATCH":"Vrijheid om te kijken \\nNaar alles wat je wilt.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Wat is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is een one-stop-hub voor het verzamelen van video-inhoud. Ontdek, organiseer en bekijk video van allerlei soorten bronnen op elk apparaat dat u bezit.","WEBSITE_WHAT_IS_STREMIO_P2":"Films, TV Shows, series, live TV of webkanalen zoals YouTube en Twitch.tv - je kunt dit allemaal vinden op Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is een modern mediacentrum dat een alles-in-een-oplossing is voor uw video-entertainment. U ontdekt, bekijkt en organiseert videocontent via eenvoudig te installeren addons..","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Films, TV Shows, live TV of webkanalen - je vindt het allemaal op Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Geniet op al uw media-apparaten","WEBSITE_DEVICES_COLLECT":"Verzamel van Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importeer van Facebook","WEBSITE_DEVICES_LOCAL":"Toevoegen van lokale schijf","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"Zoals gezien op","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Over ons","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Download\'s","WEBSITE_MORE":"Meer","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your E-mail","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Draag bij","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid e-mail!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Doorgaan","SLOW_LOADING":"TRAAG AAN HET LADEN?","I_GIVE_UP":"IK GEEF OP","LEARN_MORE":"Meer info","POOR_SOURCE":"Deze bron is slecht beschikbaar of je internetverbinding is niet snel genoeg","PICK_CATEGORIES_ERR":"Je moet minimaal 3 categorieën kiezen","ADJUST_TIMING":"Pas de timing aan met ","ADJUST_SIZE":"Pas de grootte aan met ","SEARCH_ANYTHING":"Je kan dit alles zoeken...","ALL_CATEGORIES":"Alles","SEARCH_CATEGORIES":"Films, Series, YouTube & TV","SEARCH_PERSONS":"Acteurs, Regisseurs & Schrijvers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDb / TVDB links","WATCHED":"Gezien","SHOW_LESS":"Toon minder","LAST_SEARCHES":"Laatste zoekopdrachten","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Afstandsbediening kon niet worden geladen","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Gebruik data","WARNING":"Waarschuwing","MORE_INFO":"Meer Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Laden ...","STREMIO_TV_BACK_TO_LANGUAGES":"Terug naar talen","STREMIO_TV_REMOTE":"Afstandsbediening","STREMIO_TV_GO_TO":"Ga naar:","STREMIO_TV_OR_SCAN":"of scannen:","STREMIO_TV_ADDON_INSTRUCTIONS":"Volg de instructies om je addon keuze te installeren.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Verder kijken","STREMIO_TV_LOADING_BACKGROUND":"Achtergrond laden","STREMIO_TV_CHECKING_AUTHENTICATION":"Authenticeren","STREMIO_TV_LOADING_BOARD":"Dashboard laden","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio team","STREMIO_TV_REMOTE_INSTRUCTIONS":"om de Web Afstandsbediening met je smartphone / tablet / desktop te gebruiken:","STREMIO_TV_WIFI_SETUP":"Wifi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio-circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connecteer met:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremio-circle","STREMIO_TV_WIFI_DETAILS_5":"Open een webbrowser met de link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Externe speler","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Instellingen","ACCOUNT":"Account","LOGOUT":"Uitloggen","THEMES":"Thema\'s","PLAYBACK":"Afspelen","PLAYBACK_SPEED":"Afspeelsnelheid","AUDIO_TRACKS":"Audiosporen","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Video\'s","SERVER":"Server","LINKS":"Links","ABOUT":"Over","INTERFACE":"Interface","ANIMATIONS":"Animaties","STATUS":"Status","LANGUAGE":"Taal","SIZE":"Grootte","DELAY":"Vertraging","BOLD":"Vet","OPACITY":"Opacity","TEXT_COLOR":"Tekstkleur","OUTLINE_COLOR":"Omlijningskleur","BACKGROUND_COLOR":"Achtergrondkleur","BACKGROUND_BLUR":"Achtergrondonscherpte","SEEK_TIME_DURATION":"Zoektijdduur","AUTO_PLAY":"Automatisch volgende aflevering afspelen","PLAY_NOW":"Nu afspelen","MARK_AS_WATCHED":"Markeren als bekeken","MARK_AS_UNWATCHED":"Markeren als niet bekeken","REWIND_TO_BEGINNING":"Terugspoelen naar het begin","CONTINUE_WATCHING":"Verder kijken","ALL":"Alle","SECONDS":"seconden","ON":"AAN","OFF":"UIT","RELOAD":"Herladen","EDIT_URL":"URL bewerken","URL":"URL","NONE":"Geen","EMBEDDED":"Ingesloten","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Verander apparaat","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Timing aanpassen","REMOTE_ADJUST_SIZE":"Grootte aanpassen","REMOTE_COULD_NOT_BE_LOADED":"Web Afstandsbediening kon niet worden geladen","REMOTE_RETRY":"Opnieuw proberen","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"Wat is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an e-mail to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Ga je een addon maken voor X?","FAQ_08_P1":"Dat is mogelijk.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Gebruikt Stremio het BitTorrent protocol?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie films met Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"Hoe kan ik een addon maken?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},8354:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"TV kanal","TYPE_channel":"Kanal","TYPE_other":"Other","TYPE_movie_PL":"Filmar","TYPE_series_PL":"Seriar","TYPE_tv_PL":"TV kanalar","TYPE_channel_PL":"Kanalar","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Tilbake","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Oppdag","Board":"Board","Library":"Bibliotek","My Library":"My Library","Calendar":"Kalender","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"Søk mellom","SEARCH_NO_RESULTS":"No results were found","SEARCH_EXPLANATION_CONTENT":"Search for movies, series, YouTube and TV channels","SEARCH_EXPLANATION_PEOPLE":"Search for actors, directors and writers","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Legg til i bibliotek","REMOVE_FROM_LIB":"Fjern frå bibliotek","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Sjå Trailer","WATCH_NOW":"Sjå No","SHOW":"Vis","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb Rangering","YEAR":"År","DIRECTOR":"Regissør","WRITER":"Forfattar","LEAD_ACTORS":"Hovudskodespelarar","CAST":"Skodespelarar","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Utgjeven","SEASONS":"Sesongar","GENRE":"Sjanger","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Samandrag","SHOW_MORE":"Show More","SIMILAR":"Liknade","UPCOMING":"Kjem","TBA":"TBA","ENDED":"Enda","DURATION":"Lengd","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"search videos","SEARCH_PLACEHOLDER":"search or paste magnet link","ADDON":"Utviding","ADDONS":"Utvidinger","OFFICIAL":"Offisielle","ADDONS_OFFICIAL":"Offisielle Stremio Utvidinger","ADDONS_POPULAR":"Populært i området ditt","ADDON_FREE":"Gratis","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"Abonnering","ADDON_STREAM_GEORESTRICTED":"not available in your area","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Tilgjengelege Streams","NO_STREAM":"Ingen streams tilgjengelege","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Show all addons »","ADDON_CATALOGUE_MORE":"More addons »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons repository already exist","ADDON_REPO_ERR":"Error occurred while adding repository","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Protected addon","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection url","ERR_NOT_ADDON_URL":"Not an addon url","ERR_DETECTFROMURL":"Cannot detect from url","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Addon collection set failed","SETTINGS_DATA_EXPORT":"Export data","ADDON_PULL_FAILED":"Addon pulling failed","REFRESH_ON_CLICK":"Click to retry","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Filmen er framleis på kino","WATCH_IN_CINEMA":"sjå han på din lokale kino","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"Denne kanalen er ikkje ferdig enda.<br>Ver vennleg og kom tilbake om nokon få minutt.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Legg han til i ditt bibliotek for å bli varsla når han blir tilgjengeleg.","GET_NOTIFIED_WHEN_AVAILABLE":"Du vil bli varsla med ein gong han er tilgjengeleg.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Streamer frå","CASTING_TO":"Caster til","NETWORK_STATUS":"Nettverks status","STREAM_SPEED":"Fart på streamen:","STREAM_BUFFERED":"Buffret:","PEERS_INFO":"Informasjon om peers","PEERS_ACTIVE":"Aktive:","PEERS_CONNECTED":"Tilkoblet:","PEERS_WAITING":"Ventar:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"Lastar...","PLAYING_LOCAL":"Spelar frå lokal fil","PLAYING_CACHE":"Spelar frå cache","WRONG_SUBS":"Feil undertekstar?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Vel ein eining å streame frå","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Nettbrett","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Endre undertekstar for ","SUBTITLES_CHANGE_NONE":"Det fins ingen andre undertekstar for dette språket, beklagar.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles #{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alteratively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sesong","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"nyleg","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rangering","SORT_WATCHED":"sett","SORT_YEAR":"år","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"resume","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Utvald","DISCOVER_TOP":"Topp","DISCOVER_OSCAR":"Oscar vinnarar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Åtvaring: ingen Stremio utviding aktiv for denne typen. Visar lagra element, ingenting vil oppdatere.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Start på nytt no!","UPGRADE":"Oppdater til den nyaste Stremio versjonen","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Logg på med Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"eller","I_ACCEPT":"Eg godtek ","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Vilkåra og føresetnadene","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passorda er ikkje like","SIGN_UP":"Registrer","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Logg på","LOG_OUT":"Logg ut","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Gjestepålogging","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"Klikk her","WRONG_PASSWORD":"Feil passord. I tilfelle du har gløymd passordet, ","SET_A_PASS":"lag eit passord","RESET_PASSWORD":"Reset password","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"Denne eposten er i bruk av ein Facebook pålogging.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Bruk av tredjeparts-utvidinger vil alltid vere ditt eige ansvar med omsyn til den gjeldane lova der du oppheld deg.","ADDON_ACTIVATE":"Aktivere denne utvidingen?","ADDON_REPO_ADD":"Addon repository url","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Kva er nytt?","BUTTON_CONTINUE":"Hald fram","BUTTON_ACTIVATE":"Aktiver","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Avbryt","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Biblioteket ditt ser tomt ut. Finn ut kvar nyttig det er :) ","HOW_START":"Kom i gang:","LIB_EMPTY_CAL":"Kalenderen din visar seriar i biblioteket ditt.","HOW_START_CAL":"Her er korleis du kan leggje til seriar:","LIB_EMPTY_BOARD":"Board viser varslar & anbefalingar relatert til biblioteket ditt.","HOW_START_BOARD_WAIT":"Legg til nokon seriar eller kanalar i biblioteket ditt og gi oss nokon minutt til å behandle dei :)","HOW_START_BOARD":"Her er korleis du kan leggje til seriar & filmar til det:","IMPORT_FB":"Importer ting du likar frå <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Finn interessante ting frå <span>Oppdag</span>","IMPORT_DISK":"Importer filmar eller seriar frå din <span>lokale Harddisk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync & Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sigm up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Køyr ved oppstart","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Importer frå Facebook","SETTINGS_IMPORT_DISK":"Importer frå lokal disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Abonner på ein kalender","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Endre passord","SETTINGS_TOS":"Vilkåra for tjenesta","SETTINGS_SUPPORT":"Kontakt support","SETTING_LANGUAGE":"Språk","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Avslutt","CONNECTED":"Connected","AUTHENTICATE":"Verifiser","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Velj caching eining","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januar","February":"Februar","March":"Mars","April":"April","May":"Mai","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"Desember","Monday":"Måndag","Tuesday":"Tysdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"Laurdag","Sunday":"Søndag","Action":"Action","Comedy":"Komedie","War":"Krig","Family":"Familie","Animation":"Animasjon","Adventure":"Eventyr","Fantasy":"Fantasy","Crime":"Krim","Mystery":"Mysterium","Romance":"Romantikk","Drama":"Drama","Horror":"Grysjar","Thriller":"Spenning","Sci-Fi":"Sci-Fi","Music":"Musikk","Biography":"Biografi","Documentary":"Dokumentar","Sport":"Sport","Musical":"Musikal","Western":"Western","Film-Noir":"Film-Noir","News":"Nyheiter","History":"Historie","Game-Show":"Gameshow","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Underhalding","Gaming":"Gaming","From TV":"Frå TV","Lifestyle":"Livsstil","Science & Education":"Vitskap & Utdanning","Cooking & Health":"Matlaging & Helse","Beauty & Fashion":"Venleik & Mote","Sports":"Sport","News & Politics":"Nyheiter & Politikk","How-to & DIY":"Gjør det sjølv","Tech":"Teknologi","Automotive":"Bilbransjen","Causes & Non-Profits":"Saker & ideelle organisasjonar","Movies":"Filmar","Uk Live Tv":"UK Direkte TV","Fashion":"Mote","Business News Radio":"Business Nyheitsradio","Business Tv":"BusinessTV","Cars & Auto":"Bilar og Auto","Comedy Radio":"Komedieradio","Lifestyle Radio":"Livsstilsradio","News Tv":"NyheitsTV","Food And Wine":"Mat og Vin","Latino Tv":"Latino TV","Shopping Tv":"ShoppingTV","Religion":"Religion","Kids":"Barn","Body & Soul":"Kropp og Sjel","Education":"Utdanning","Indian Tv":"Indisk TV","Extreme Sports":"Ekstremsport","Middle Eastern Tv":"TV frå Midtøsten","Celebrity Tv":"KjendisTV","Science Tv":"VitskapsTV","Bikini babe":"Bikini babe","Outdoors":"Utandørs","German Tv":"Tysk TV","French Tv":"Fransk TV","Italian Tv":"Italiensk TV","Gamer Tv":"SpelTV","Travel":"ReiseTV","Asian Tv":"Asiatisk TV","Entertainment":"Underhalding","News Radio":"Nyheitsradio","Music Radio":"Musikkradio","Language Learning":"Språklæring","Science Radio":"Vitskapsradio","Tech Radio":"Teknologiradio","Science & Technology Vod":"Vitskap -og Teknologi VOD","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years, with a single goal - to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - support us!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon repositories","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"provides","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"If you are looking to contact us, go ahead at","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Contacts us","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Sibscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},27327:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"ਫਿਲਮ","TYPE_series":"ਸੀਰੀਅਲ","TYPE_tv":"ਟੀਵੀ ਚੈਨਲ","TYPE_channel":"ਚੈਨਲ","TYPE_other":"ਹੋਰ","TYPE_movie_PL":"ਫਿਲਮ","TYPE_series_PL":"ਸੀਰੀਅਲ","TYPE_tv_PL":"ਟੀਵੀ ਚੈਨਲ","TYPE_channel_PL":"ਚੈਨਲ","TYPE_other_PL":"ਹੋਰ","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"ਵੀਡੀਓ","BACK":"ਵਾਪਸ","MORE":"ਹੋਰ","DONE":"ਕੀ ਹੋਇਆ?","COPY":"ਕਾਪੀ","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"ਖੋਜ ਕਰੋ","Board":"ਗ੍ਰਹਿ","Library":"ਲਾਇਬ੍ਰੇਰੀ","My Library":"ਮੇਰੀ ਲਾਇਬ੍ਰੇਰੀ","Calendar":"ਅਲਮੇਂਕ","NOTIFICATION_ONLINE":"ਹੁਣ ਤੁਸੀਂ online ਨਲਾਈਨ ਹੋ","NOTIFICATION_OFFLINE":"ਤੁਸੀਂ ਇਸ ਸਮੇਂ offline ਫਲਾਈਨ ਹੋ","INTERNET_CONNECTION":"ਨੈੱਟਵਰਕ ਕੁਨੈਕਸ਼ਨ","STORAGE_FULL_TITLE":"ਚੇਤਾਵਨੀ: ਸਟੋਰੇਜ ਪੂਰਾ!","STORAGE_FULL_TEXT":"ਸਟ੍ਰੀਮਿਓ ਤੁਹਾਡੀਆਂ ਸੈਟਿੰਗਾਂ ਪਸੰਦਾਂ ਜਾਂ ਲੌਗਇਨ ਜਾਣਕਾਰੀ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੇ ਯੋਗ ਨਹੀਂ ਹੋਵੇਗਾ.ਸ਼ੁਰੂ ਕਰਨ ਜਾਂ ਮੁੜ ਚਾਲੂ ਕਰਨ ਬਾਰੇ ਸੋਚੋ.","SEARCH":"ਖੋਜ","SEARCH_NO_RESULTS":"ਕੋਈ ਨਤੀਜਾ ਨਹੀਂ ਮਿਲਿਆ","SEARCH_EXPLANATION_CONTENT":"ਫਿਲਮਾਂ ਦੀ ਸੀਰੀਜ਼ ਯੂਟਿ uband ਬ ਅਤੇ ਟੀ ​​ਵੀ ਚੈਨਲ ਲੱਭੋ","SEARCH_EXPLANATION_PEOPLE":"ਅਦਾਕਾਰ ਡਾਇਰੈਕਟਰਾਂ ਅਤੇ ਲੇਖਕਾਂ ਦੀ ਭਾਲ ਕਰੋ","SEARCH_PASTE_LINKS":"HTTP ਅਤੇ ਚੁੰਬਕ ਲਿੰਕ ਨੂੰ ਪੇਸਟ ਕਰੋ","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ","REMOVE_FROM_LIB":"ਲਾਇਬ੍ਰੇਰੀ ਤੋਂ ਹਟਾਓ","ADDED_TO_LIB":"ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ","REMOVED_FROM_LIB":"ਲਾਇਬ੍ਰੇਰੀ ਹਟ ਗਈ","TRAILER":"ਟ੍ਰੇਲਰ","WATCH_TRAILER":"ਟ੍ਰੇਲਰ ਵੇਖੋ","WATCH_NOW":"ਹੁਣ ਦੇਖੋ","SHOW":"ਡਿਸਪਲੇਅ","SHOW_MOVIE":"ਫਿਲਮ ਦਿਖਾਓ","WATCH_RANDOM":"ਬੇਤਰਤੀਬ","IMDB_RATING":"Imdb ਰੇਟਿੰਗ","YEAR":"ਸਾਲ","DIRECTOR":"ਨਿਰਦੇਸ਼ਕ","WRITER":"ਲੇਖਕ","LEAD_ACTORS":"ਮੁੱਖ ਅਭਿਨੇਤਾ","CAST":"ਮੋਲਡ","CREW":"ਕਰਮਚਾਰੀ","SHOW_MORE_CAST":"ਹੋਰ ਦਿਖਾਓ","AIRED":"ਪ੍ਰਸਾਰਿਤ","SEASONS":"ਸੀਜ਼ਨ ਦਾ","GENRE":"ਸ਼ੈਲੀ","GENRE_ALL":"All genres","CATALOG":"ਸੂਚੀ","SUMMARY":"ਸੰਖੇਪ","SHOW_MORE":"ਹੋਰ ਦਿਖਾਓ","SIMILAR":"ਵਰਦੀ","UPCOMING":"ਆਗਾਮੀ","TBA":"TBA","ENDED":"ਅੰਤ","DURATION":"ਅਵਧੀ","FEATURED":"ਖਾਸ ਤੌਰ \'ਤੇ ਪ੍ਰਦਰਸ਼ਿਤ","METADATA":"ਮੈਟਾਡੇਟਾ","CATEGORY":"ਸੋਸ਼ਲ ਕਲਾਸ","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"ਖੋਜ ਵੀਡੀਓ","SEARCH_PLACEHOLDER":"URL ਲੱਭੋ ਜਾਂ ਪੇਸਟ ਕਰੋ","ADDON":"ਹੋਰ ਜੋੜਨਾ","ADDONS":"ਹੋਰ ਜੋੜਨਾ","OFFICIAL":"ਅਧਿਕਾਰੀ","ADDONS_OFFICIAL":"ਅਧਿਕਾਰਤ ਧਾਰਾ ਐਡੀਨ","ADDONS_POPULAR":"ਤੁਹਾਡੇ ਖੇਤਰ ਵਿੱਚ ਪ੍ਰਸਿੱਧ","ADDON_FREE":"ਮੁਫਤ","ADDON_PEERED":"ਝਾੜੀ","ADDON_SUBSCRIPTION":"ਯੋਗਦਾਨ","ADDON_STREAM_GEORESTRICTED":"ਤੁਹਾਡੇ ਖੇਤਰ ਵਿੱਚ ਉਪਲਬਧ ਨਹੀਂ ਹੈ","ADDON_STREAM_OFFLINECACHE":"Offline ਫਲਾਈਨ ਨਕਦ","ADDON_STREAM_LOCALFILE":"ਸਥਾਨਕ ਫਾਈਲ","SHARE_ADDON":"ਅਡੇਨ ਨੂੰ ਸਾਂਝਾ ਕਰੋ","AVAILABLE_STREAMS":"ਉਪਲਬਧ ਕਰੰਟ","NO_STREAM":"ਕੋਈ ਭਾਗ ਨਹੀਂ ਮਿਲਿਆ","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"ਹੋਰ ਸਟ੍ਰੀਮਜ਼ ਲਈ ਕਿਰਪਾ ਕਰਕੇ ਹੋਰ ਐਡਨਾਂ ਨੂੰ ਸਥਾਪਿਤ ਕਰੋ","STREAM_NOT_SUPPORTED":"ਚੁਣੀ ਗਈ ਧਾਰਾ ਇਸ ਪਲੇਟਫਾਰਮ ਤੇ ਸਮਰਥਤ ਨਹੀਂ ਹੈ.","ADDON_CATALOGUE":"ਸਾਰੇ ਵਿਗਿਆਪਨ ਦਿਖਾਓ »","ADDON_CATALOGUE_MORE":"ਐਡਨਾਂ ਨੂੰ ਸਥਾਪਿਤ ਕਰੋ","REPO_ADDED":"ਰਿਪੋਜ਼ਟਰੀ ਨੇ ਕਿਹਾ","ADDON_REPO_EXIST_ERR":"ਇਹ ਇਸ਼ਤਿਹਾਰ ਇਕੱਠਾ ਕਰਨਾ ਪਹਿਲਾਂ ਤੋਂ ਮੌਜੂਦ ਹੈ","ADDON_REPO_ERR":"ਸੰਗ੍ਰਹਿ ਕਰਦੇ ਸਮੇਂ ਗਲਤੀ ਆਈ ਹੈ","ADDON_ADD_ERR":"ਐਡਨ ਪੜਦੇ ਸਮੇਂ ਗਲਤੀ ਆਈ ਹੈ","ERR_ADDON_PROTECTED":"ਐਡਨ ਅਣਇੰਸਟੌਲ ਨਹੀਂ ਕਰ ਸਕਦਾ ਇਸ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਿਆ ਗਿਆ ਹੈ","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"ਕੁਝ ਗਲਤ ਹੋ ਗਿਆ - ਪ੍ਰਮਾਣੀਕਰਣ ਅਸਫਲ ਹੋ ਸਕਦਾ ਹੈ","ERR_NOT_COLLECTION_URL":"ਇੱਕ ਸੰਗ੍ਰਹਿ URL ਨਹੀਂ","ERR_NOT_ADDON_URL":"ਵੈਧ ਅਡਨ ਯੂਆਰਐਲ ਨਹੀਂ","ERR_DETECTFROMURL":"ਇਹ URL ਅਡਿਨ / ਸੰਗ੍ਰਹਿ ਨਹੀਂ ਰਿਹਾ","ADDON_DUPLICATE_WARNING":"ਚੇਤਾਵਨੀ: ਡੁਪਲਿਕੇਟ ਅਡਨ","ADDON_COLLECTION_SET_FAILED":"ਤੁਹਾਡੇ ਖਾਤੇ ਵਿੱਚ ਡੁੱਬਣ ਵਾਲੇ ਵਿਗਿਆਪਨ ਅਸਫਲ ਹੋਏ","SETTINGS_DATA_EXPORT":"ਐਕਸਪੋਰਟ ਯੂਜ਼ਰ ਡੇਟਾ ਐਕਸਪੋਰਟ ਕਰੋ","ADDON_PULL_FAILED":"ਤੁਹਾਡੇ ਖਾਤੇ ਤੋਂ ਡੁੱਬਣ ਵਾਲੇ ਵਿਗਿਆਪਨ ਅਸਫਲ ਹੋਏ","REFRESH_ON_CLICK":"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਲਈ ਕਲਿਕ ਕਰੋ","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"ਫਿਲਮ ਅਜੇ ਵੀ ਥੀਏਟਰਾਂ ਵਿੱਚ","WATCH_IN_CINEMA":"ਇਸ ਨੂੰ ਆਪਣੇ ਸਥਾਨਕ ਸਿਨੇਮਾ ਵਿਚ ਦੇਖੋ","IN_THEATER":"ਸਿਨੇਮਾ ਵਿਚ","GET_TICKETS":"ਟਿਕਟ ਪ੍ਰਾਪਤ ਕਰੋ","UPCOMING_EPISODE":"ਆਉਣ ਵਾਲੇ ਐਪੀਸੋਡ","UPCOMING_EPISODE_MESSAGE":"ਇਸ ਐਪੀਸੋਡ \'ਤੇ ਪ੍ਰਸਾਰਿਤ ਕੀਤੇ ਜਾਣਗੇ","MISSING_DATE_EPISODE":"ਐਪੀਸੋਡ ਦੀ ਤਾਰੀਖ ਗੁੰਮ ਗਈ","MISSING_DATE_EPISODE_MESSAGE":"ਇਹ ਕਿੱਸਾ ਅਜੇ ਪ੍ਰਸਾਰਣ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ","CHANNEL_NOT_SCRAPED":"ਇਹ ਚੈਨਲ ਅਜੇ ਖੁਰਦਿਆ ਨਹੀਂ ਗਿਆ ਹੈ.<br> ਕ੍ਰਿਪਾ ਕਰਕੇ ਕੁਝ ਮਿੰਟਾਂ ਵਿੱਚ ਵਾਪਸ ਜਾਓ.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"ਇਸ ਨੂੰ ਉਪਲਬਧ ਹੋਣ ਤੋਂ ਬਾਅਦ ਸੂਚਿਤ ਕੀਤਾ ਜਾਣਾ, ਇਸ ਨੂੰ ਆਪਣੀ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ.","GET_NOTIFIED_WHEN_AVAILABLE":"ਇੱਕ ਵਾਰ ਉਪਲਬਧ ਹੋਣ ਤੇ ਤੁਹਾਨੂੰ ਸੂਚਿਤ ਕੀਤਾ ਜਾਵੇਗਾ.","WARNING_STREAMING_SERVER":"ਚੇਤਾਵਨੀ: ਸਥਾਨਕ ਸਟ੍ਰੀਮਿੰਗ ਸਰਵਰ ਨਹੀਂ ਲੱਭਿਆ.ਸਥਾਨਕ ਫਾਈਲਾਂ ਸਟ੍ਰੀਮਿੰਗ ਯੂਟਿ ube ਬ ਅਤੇ ਕੁਟੋਰ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰਨਗੀਆਂ.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"ਚੇਤਾਵਨੀ: ਇਸ ਵੀਡੀਓ ਨੂੰ ਤੁਹਾਡੇ ਹਾਰਡਵੇਅਰ ਦੁਆਰਾ ਸਮਰਥਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ.ਯਾਦ ਰੱਖੋ ਪਲੇਬੈਕ ਹੌਲੀ ਹੋ ਸਕਦੀ ਹੈ.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"ਓ ਪਲੇਅਰ ਗਲਤੀ","PLAYER_ERROR_LOOKSLIKE":"ਇਹ ਇਸ ਤਰਾਂ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ","PLAYER_ORIENTATION":"ਪਲੇਅਰ ਓਰੀਐਂਟੇਸ਼ਨ","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"ਨੇੜੇ","PLAYER_ORIENTATION_SENSOR_SHORT":"ਸੈਂਸਰ","PLAYER_ORIENTATION_LANDSCAPE":"ਲੈਂਡਸਕੇਪ \'ਤੇ ਪਲੇਅਰ ਓਰੀਐਂਟੇਸ਼ਨ","PLAYER_ORIENTATION_SENSOR":"ਪਲੇਅਰ ਓਰੀਐਂਟੇਸ਼ਨ ਆਟੋਮੈਟਿਕ (ਸੈਂਸਰ)","PLAYER_PLAYBACK_SPEED":"ਪਲੇਬੈਕ ਸਪੀਡ","PLAYER_PLAYBACK_ERROR":"ਪਲੇਬੈਕ ਗਲਤੀ ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ","PLAYER_PLAYBACK_ERROR_UNKNOWN":"ਅਣਜਾਣ ਗਲਤੀ","PLAYER_PLAYBACK_ERROR_DEFAULT":"ਮੁਆਫ ਕਰਨਾ ਇਹ ਵੀਡੀਓ {{PRO Preagname} Uk ਦੁਆਰਾ ਨਹੀਂ ਖੇਡਿਆ ਜਾ ਸਕਦਾ.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"ਰਹੋ","PLAYER_NEXT_VIDEO_TITLE":"ਅੱਗੇ ਆ ਰਿਹਾ ਹੈ","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"ਖਾਰਜ","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"ਹੁਣ ਦੇਖੋ","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"ਤੋਂ ਸਟ੍ਰੀਮਿੰਗ","CASTING_TO":"ਕਾਸਟਿੰਗ","NETWORK_STATUS":"ਨੈੱਟਵਰਕ ਸਥਿਤੀ","STREAM_SPEED":"ਸੈਕਸ਼ਨ ਸਪੀਡ:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"ਹਾਣੀਆਂ ਦੀ ਜਾਣਕਾਰੀ","PEERS_ACTIVE":"ਕਿਰਿਆਸ਼ੀਲ:","PEERS_CONNECTED":"ਲਿੰਕਡ ਹਨ:","PEERS_WAITING":"ਇੰਤਜ਼ਾਰ ਕਰਨਾ:","TRANSCODING_WARNING":"ਚੇਤਾਵਨੀ: ਟ੍ਰਾਂਸਕੋਡ ਵੀਡੀਓ.","STREAM_LOADING":"ਇਹ ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ ...","PLAYING_LOCAL":"ਸਥਾਨਕ ਫਾਈਲ ਖੇਡਣਾ","PLAYING_CACHE":"ਚੁਭਿਆ","WRONG_SUBS":"ਗਲਤ ਉਪਸਿਰਲੇਖ?","ERR_SUBS_LOADING_TITLE":"ਉਪਸਿਰਲੇਖ ਲੋਡ ਗਲਤੀ","ERR_SUBS_LOADING":"ਅਸਫਲ ਕਰਨ ਵਾਲੇ ਉਪਸਲੇਟਰ ਲੋਡਿੰਗ: ਇਹ ਅਦੇਨ ਨਾਲ ਸਮੱਸਿਆ ਹੋ ਸਕਦੀ ਹੈ ਜਿਸ ਦੀ ਤੁਸੀਂ ਆਪਣੇ ਨੈਟਵਰਕ ਕਨੈਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ ਜਾਂ ਨਾਲ ਕਰ ਰਹੇ ਹੋ","WARN_FOLLOWING_SUB_ADDONS_FAILED":"ਹੇਠ ਦਿੱਤੇ ਉਪਸਿਰਲੇਖ ਐਡਨਜ਼ ਅਸਫਲ ਰਹੇ","ERR_CASTING_UPDATE_TITLE":"ਕਾਸਟਿੰਗ ਡਿਵਾਈਸ ਨੂੰ ਅਪਡੇਟ ਨਹੀਂ ਕਰ ਸਕਿਆ: ਸਟ੍ਰੀਮਿੰਗ ਸਰਵਰ offline ਫਲਾਈਨ ਹੋ ਸਕਦਾ ਹੈ","CHOOSE_DEVICE":"ਵੇਖਣ ਲਈ ਇੱਕ ਉਪਕਰਣ ਦੀ ਚੋਣ ਕਰੋ","NO_CAST_DEVICES":"ਕੋਈ ਕਾਸਟਿੰਗ ਡਿਵਾਈਸ ਉਪਲਬਧ ਨਹੀਂ ਹੈ.","NO_SETTINGS":"ਕੋਈ ਸੈਟਿੰਗਾਂ ਉਪਲਬਧ ਨਹੀਂ ਹਨ.","NO_OPTIONS":"No options available","PHONE_TABLET":"ਫੋਨ / ਟੈਬਲੇਟ","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"ਸਬ ਸੁਰਖੀ","SUBTITLES_CHANGE":"ਲਈ ਉਪਸਿਰਲੇਖ ਬਦਲੋ","SUBTITLES_CHANGE_NONE":"ਇਸ ਭਾਸ਼ਾ ਲਈ ਕੋਈ ਹੋਰ ਉਪਸਿਰਲੇਖ ਨਹੀਂ ਹੈ.","SUBTITLES_CHANGE_ACIVE":"ਇਸ ਵੇਲੇ ਉਪਸਿਰਲੇਖ & # 35;{{subsitlesdialo l.catied + 1} ਸਰਗਰਮ ਹਨ.ਉਪਸਿਰਲੇਖਾਂ ਨੂੰ ਸਰਗਰਮ ਕਰਨਾ ਜਾਰੀ ਰੱਖੋ & # 35;{subs subsitlesdialo l.ddx + 1}}.","SUBTITLES_OR":"ਵਿਕਲਪਿਕ","SUBTITLES_ADJUST_DELAY":"ਉਪਸਿਰਲੇਖ ਦੇ ਦੇਰੀ ਨੂੰ ਵਿਵਸਥਤ ਕਰੋ:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"ਜਾਂ ਅਨੁਕੂਲ ਹੋਣ ਲਈ ਖੇਡਣ ਵੇਲੇ <ਸਪੈਨ> ਜੀ </ ਸਪੈਨ> ਐੱਚ </ ਸਪੈਨ> ਕੁੰਜੀ ਦੀ ਵਰਤੋਂ ਕਰੋ.","SUBTITLES_ADJUST_DELAY_TIP":"ਸੁਝਾਅ: ਤੁਸੀਂ ਵਿਵਸਥ ਕਰਕੇ ਵਿਵਸਥ ਕਰਦੇ ਸਮੇਂ <ਸਪੈਨ> g </ sound> / </ ਸਪੈਨ> ਕੁੰਜੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ.","SUBTITLES_DELAY":"ਉਪਸਿਰਲੇਖ ਦੇਰੀ:","SUBTITLES_LOADING":"ਉਪਸਿਰਲੇਖ ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ ...","SUBTITLES_UNAVAILABLE":"ਕੋਈ ਬਾਹਰੀ ਉਪਸਿਰਲੇਖ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ","SUBTITLES_DISABLED":"ਅਪਾਹਜ","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"ਸੀਜ਼ਨ","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"ਕੇਸ","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"ਦਿਆਲੂ","SORT_BY":"ਦੇ ਨਾਲ ਕ੍ਰਮਬੱਧ","FILTER":"ਫਿਲਟਰ","SORT_TRENDING":"ਟ੍ਰੈਂਡਿੰਗ","SORT_RECENT":"ਹਾਲੀਆ","SORT_ALPHABET":"ਏ-ਜ਼ੈਡ","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"ਰੇਟਿੰਗ","SORT_WATCHED":"ਦੇਖਿਆ","SORT_YEAR":"ਸਾਲ","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"ਤੁਹਾਡੇ ਲਈ ਨਵਾਂ","New Episodes":"ਨਵੇਂ ਐਪੀਸੋਡ","New Videos":"ਨਵੇਂ ਵੀਡੀਓ","Recommendations":"ਸਿਫਾਰਸ਼ਾਂ","LIBRARY_RESUME":"ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰੋ","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"ਵੇਰਵਾ","LIBRARY_RESUME_DISMISS":"ਖਾਰਜ","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"ਖਾਸ ਤੌਰ \'ਤੇ ਪ੍ਰਦਰਸ਼ਿਤ","DISCOVER_TOP":"ਸਿਰ","DISCOVER_OSCAR":"ਆਸਕਰ ਜੇਤੂ","DISCOVER_WARNING_TITLE":"ਓਹ!","DISCOVER_EMPTY_CATALOG":"ਇਹ ਅਡਿਨ ਨੇ ਖਾਲੀ ਸਮੱਗਰੀ ਵਾਪਸ ਕਰ ਦਿੱਤੀ.","DISCOVER_ADULT_WARNING":"ਸਮੱਗਰੀ ਸਿਰਫ ਬਾਲਗਾਂ ਲਈ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ.ਕੀ ਤੁਸੀਂ 18+ ਹੋ?","DISCOVER_NOADDON_WARNING":"ਚੇਤਾਵਨੀ: ਇਸ ਕਿਸਮ ਲਈ ਸਟ੍ਰੈਮੀਓ ਅਡੇਨ ਕਿਰਿਆਸ਼ੀਲ ਨਹੀਂ ਹੈ.ਇੱਥੇ ਸੁਰੱਖਿਅਤ ਕੀਤੀਆਂ ਚੀਜ਼ਾਂ ਅਪਡੇਟ ਨਹੀਂ ਕੀਤੀਆਂ ਜਾਣਗੀਆਂ.","DISCOVER_LOAD_ERR":"ਸਮੱਗਰੀ ਨੇ ਗਲਤੀ ਲੋਡ ਨਹੀਂ ਕੀਤੀ.","DISCOVER_ADDON_UNINSTALLED":"ਇਹ ਸਮੱਗਰੀ ਹੁਣ ਉਪਲਬਧ ਨਹੀਂ ਹੈ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਸਥਾਪਨਾ ਸਥਾਪਤ ਅਡਿਨ ਹੋ ਸਕਦੀ ਹੈ.","UNINSTALL_THIS_ADDON":"ਇਸ ਅਡੀਨ ਨੂੰ ਅਣਇੰਸਟੌਲ ਕਰੋ","ERR_ADDON_NOT_INSTALLED":"ਇਹ ਅਡੇਨ ਸਥਾਪਤ ਨਹੀਂ ਹੈ.ਹੁਣ ਸਥਾਪਤ?","DETAIL_RECEIVE_NOTIF_SERIES":"ਨਵੇਂ ਐਪੀਸੋਡਾਂ ਲਈ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰੋ","DETAIL_RECEIVE_NOTIF_VIDEOS":"ਨਵੇਂ ਵੀਡੀਓ ਲਈ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰੋ","SIDEBAR_SHOW_STREAMS":"ਸਟ੍ਰੀਮ ਦਿਖਾਓ","RELAUNCH":"ਹੁਣ ਮੁੜ ਜਾਲ!","UPGRADE":"ਨਵਾਂ ਵਰਜ਼ਨ ਉਪਲਬਧ!ਨਵੀਨਤਮ ਸਟ੍ਰੀਮਿਓ ਸੰਸਕਰਣ ਤੇ ਅਪਗ੍ਰੇਡ ਕਰੋ","RELOAD_UI":"ਯੂਜ਼ਰ ਇੰਟਰਫੇਸ ਨੂੰ ਦੁਹਰਾਓ","MANUAL_UPDATE_TITLE":"ਆਪਣੇ ਸਟ੍ਰੀਮਿਓ ਵਰਜ਼ਨ ਨੂੰ ਅਪਡੇਟ ਕਰੋ","MANUAL_UPDATE_LINE1":"ਤੁਸੀਂ ਸਟ੍ਰਾਮਬਿਓ ਦਾ ਪੁਰਾਣਾ ਸੰਸਕਰਣ ਚਲਾ ਰਹੇ ਹੋ ਜੋ ਬਹੁਤ ਜ਼ਿਆਦਾ ਅਣਜਾਣ ਹੈ.","MANUAL_UPDATE_LINE2":"ਜਿੰਨੀ ਜਲਦੀ ਹੋ ਸਕੇ ਅਪਡੇਟ ਕਰੋ.","BUTTON_UPDATE_LATTER":"ਹਾਲੇ ਨਹੀਂ","BUTTON_UPDATE_NOW":"ਅਪਡੇਟ","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"ਅਗਿਆਤ ਉਪਭੋਗਤਾ","DONT_HAVE_ACC":"ਕੋਈ ਖਾਤਾ ਨਹੀਂ?","HAVE_ACC":"ਪਹਿਲਾਂ ਹੀ ਕੋਈ ਖਾਤਾ ਹੈ?","PASSWORD":"ਪਾਸਵਰਡ","PASSWORD_CONFIRM":"ਪਾਸਵਰਡ ਪੱਕਾ ਕਰੋ","EMAIL":"ਈਮੇਲ","FB_LOGIN":"ਫੇਸਬੁੱਕ ਨਾਲ ਜਾਰੀ ਰੱਖੋ","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"ਤੁਹਾਡੀ ਆਗਿਆ ਤੋਂ ਬਿਨਾਂ ਕੁਝ ਵੀ ਸਾਂਝਾ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ","FB_NOPOST":"ਅਸੀਂ ਤੁਹਾਡੇ ਤੋਂ ਕੁਝ ਵੀ ਪੋਸਟ ਨਹੀਂ ਕਰਾਂਗੇ","OR":"ਜਾਂ","I_ACCEPT":"ਮੈਂ ਸਵੀਕਾਰ ਕਰਦਾ ਹਾਂ","I_ACCEPT_BY_CLICKING":"ਉਪਰੋਕਤ ਬਟਨ ਤੇ ਕਲਿਕ ਕਰਕੇ, ਮੈਂ ਸਾਬਤ ਕਰਦਾ ਹਾਂ ਕਿ ਮੈਂ ਸਵੀਕਾਰ ਕਰਦਾ ਹਾਂ","TOS":"ਨਿਬੰਧਨ ਅਤੇ ਸ਼ਰਤਾਂ","MUST_ACCEPT_TERMS":"ਤੁਹਾਨੂੰ ਹਾਲਤਾਂ ਨੂੰ ਸਵੀਕਾਰ ਕਰਨਾ ਪਏਗਾ","PASSWORDS_NOMATCH":"ਪਾਸਵਰਡ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ","SIGN_UP":"ਸਾਇਨ ਅਪ","SIGN_UP_EMAIL":"ਈਮੇਲ ਨਾਲ ਸਾਈਨ ਅਪ ਕਰੋ","CLICK_TO_SIGN_UP":"ਸਾਈਨ ਅਪ ਕਰਨ ਲਈ ਇੱਥੇ ਕਲਿੱਕ ਕਰੋ.","LOG_IN":"ਲਾਗਿਨ","LOG_OUT":"ਲਾਗ ਆਉਟ","EXIT_FULLSCREEN":"ਪਰਸਕ੍ਰੀਨ ਮੋਡ ਤੋਂ ਬਾਹਰ ਜਾਓ","ENTER_FULLSCREEN":"ਪਾਲੀਸ਼੍ਰਿਨ ਮੋਡ ਦਰਜ ਕਰੋ","PLAY_URL_MAGNET_LINK":"URL / ਚੁੰਬਕ ਲਿੰਕ ਚਲਾਓ","HELP_FEEDBACK":"ਸਹਾਇਤਾ ਅਤੇ ਜਵਾਬ","TERMS_OF_SERVICE":"ਸੇਵਾ ਦੀਆਂ ਸ਼ਰਤਾਂ","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"ਸਟ੍ਰੀਮਿਓ ਬਾਰੇ","USER_PANEL":"ਉਪਭੋਗਤਾ ਪੈਨਲ","LOGIN_LABEL":"Login","GUEST_LOGIN":"ਮਹਿਮਾਨ ਲੌਗਇਨ","GUEST_LOGIN_NOTICE":"ਮਹਿਮਾਨ ਲੌਗਇਨ ਦੀ ਸਿਫਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ.ਨਿਯਮਤ ਲਾਗਇਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਸਿੰਕ ਕਰਨ ਲਈ ਤਰਜੀਹ ਲੜੀ / ਚੈਨਲਾਂ ਲਈ ਸੂਚਨਾਵਾਂ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ.ਕੀ ਤੁਸੀਂ ਯਕੀਨਨ ਅੱਗੇ ਵਧਣਾ ਚਾਹੁੰਦੇ ਹੋ?","GUEST_LOGIN_NOTICE_2":"ਗੈਸਟ ਲੌਗਇਨ ਦੀ ਸਿਫਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ - ਤੁਹਾਡੇ ਕੋਲ ਤਾਲਮੇਲ ਲਾਇਬ੍ਰੇਰੀਆਂ ਅਤੇ ਬੋਰਡ ਸੂਚਨਾਵਾਂ ਨਹੀਂ ਹਨ ਜੋ ਮਹੱਤਵਪੂਰਣ ਮਿਸ਼ਰਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹਨ.ਕੀ ਤੁਸੀਂ ਯਕੀਨਨ ਅੱਗੇ ਵਧਣਾ ਚਾਹੁੰਦੇ ਹੋ?","CLICK_HERE":"ਇੱਥੇ ਕਲਿੱਕ ਕਰੋ","WRONG_PASSWORD":"ਗਲਤ ਈਮੇਲ ਜਾਂ ਪਾਸਵਰਡ.ਸਥਿਤੀ ਵਿੱਚ ਤੁਸੀਂ ਆਪਣਾ ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ ਹੋ","SET_A_PASS":"ਇੱਕ ਪਾਸਵਰਡ ਸੈੱਟ ਕਰੋ","RESET_PASSWORD":"ਪਾਸਵਰਡ ਰੀਸੈੱਟ","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ?","EMAIL_USED_WITH_FB":"ਇਸ ਈਮੇਲ ਦੀ ਵਰਤੋਂ ਫੇਸਬੁੱਕ ਲੌਗਿਨ ਨਾਲ ਕੀਤੀ ਗਈ ਸੀ.","INVALID_EMAIL":"ਇੱਕ ਜਾਇਜ ਈਮੇਲ ਪਤਾ ਦਰਜ ਕਰੋ","INVALID_PASSWORD":"ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਸਹੀ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ","CONN_ERR":"ਕੁਨੈਕਸ਼ਨ ਗਲਤੀ - ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜੀ.N nif ਇਸ ਨੂੰ ਫਾਇਰਵਾਲ / ਐਂਟੀ-ਵਾਇਰਸ ਸਾਫਟਵੇਅਰ (ਖ਼ਾਸਕਰ ਬਿੱਟ ਡੀਡੇਂਡਰ) ਨੂੰ ਅਯੋਗ ਕਰ ਦਿੱਤਾ.","IMPORT_FROM_GUEST":"ਆਪਣੇ ਗੈਸਟ ਖਾਤੇ ਤੋਂ ਲਾਇਬ੍ਰੇਰੀ ਆਯਾਤ ਕਰੋ","RECEIVE_UPDATES_EMAIL":"ਸਟ੍ਰੀਮਿਓ ਤੋਂ ਆਪਣੀ ਈਮੇਲ ਤੇ ਅਪਡੇਟਾਂ ਪ੍ਰਾਪਤ ਕਰੋ","LOGIN_FAILED":"ਲਾਗਿਨ ਅਸਫਲ ਰਿਹਾ.","SIGNUP_FAILED":"ਸਾਈਨ ਅਪ ਅਸਫਲ.","SEARCH_FAILED":"ਹੰਟ ਅਸਫਲ ਰਿਹਾ","EMAIL_USED":"ਇਹ ਈਮੇਲ ਪਹਿਲਾਂ ਹੀ ਵਰਤੋਂ ਅਧੀਨ ਹੈ.","WAITING_FB_LOGIN":"ਫੇਸਬੁੱਕ ਨਾਲ ਲੌਗਇਨ ਕਰਨਾ ...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"ਬਾਹਰੀ ਖਿਡਾਰੀ ਵਿੱਚ ਖੇਡੋ","EXTERNAL_REMEMBER_PLAYER":"ਕੀ ਤੁਸੀਂ ਆਪਣੀ ਪਸੰਦ ਨੂੰ ਯਾਦ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?","EXTERNAL_ALWAYS_PLAY":"ਹਾਂ","EXTERNAL_ONLY_ONCE":"ਨਹੀਂ","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"ਸਾਨੂੰ ਦੱਸੋ ਕਿ ਤੁਸੀਂ ਕੀ ਪਸੰਦ ਕਰਦੇ ਹੋ","INTRO_TASTE_LONG":"ਸਾਨੂੰ ਦੱਸੋ ਕਿ ਤੁਸੀਂ ਕੀ ਵੇਖਣਾ ਚਾਹੁੰਦੇ ਹੋ","INTRO_TASTE_PICK":"{{ਹੁਸਵੀਸਿਮਨ ਲੀਨੀਅਰਿਨਿੰਗ} ਹਿੱਤਾਂ ਦੀ ਚੋਣ ਕਰੋ","INTRO_TASTE_PICK_MORE":"{Reitainsremainenaining} ਹੋਰ ਹਿੱਤਾਂ ਦੀ ਚੋਣ ਕਰੋ","INTRO_TASTE_HELP_US":"ਸਾਡੇ ਬਾਰੇ ਹੋਰ ਜਾਣਨ ਵਿਚ ਸਾਡੀ ਮਦਦ ਕਰੋ.","INTRO_TASTE_CHOOSE_THESE":"ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੁਝ ਚੁਣੋ:","INTRO_TASTE_CHOOSE_MIN":"ਘੱਟੋ ਘੱਟ 3 ਸ਼੍ਰੇਣੀਆਂ ਚੁਣੋ","INTRO_TASTE_CHOOSE_MIN_ERR":"ਤੁਹਾਨੂੰ ਘੱਟੋ ਘੱਟ 3 ਸ਼੍ਰੇਣੀਆਂ ਦੀ ਚੋਣ ਕਰਨੀ ਪਏਗੀ!","INTRO_TASTE_LIFESTYLE":"ਬਾਲੀਵੁੱਡ","INTRO_TASTE_SPORTS":"ਖੇਡ","INTRO_TASTE_FOOD_HEALTH":"ਭੋਜਨ ਅਤੇ ਸਿਹਤ","INTRO_TASTE_BEAUTY_FASHION":"ਸੁੰਦਰਤਾ ਅਤੇ ਫੈਸ਼ਨ","INTRO_TASTE_NEWS":"ਖ਼ਬਰਾਂ","INTRO_TASTE_GAMING":"ਜੂਆ","INTRO_TASTE_SCIENCE_EDU":"ਵਿਗਿਆਨ ਸਿੱਖਿਆ","INTRO_TASTE_MUSIC":"ਸੰਗੀਤ","INTRO_TASTE_TRAVEL":"ਯਾਤਰਾ","INTRO_TASTE_LATE_NIGHT":"ਦੇਰ ਰਾਤ ਪ੍ਰਦਰਸ਼ਨ","INTRO_TASTE_REALITY":"ਹਕੀਕਤ","INTRO_TASTE_COMEDY":"ਕਾਮੇਡੀ","INTRO_TASTE_DIY":"ਡੀਆਈਵਾਈ ਕਿਵੇਂ ਕਰੀਏ","INTRO_TASTE_TECH":"ਟੈਕਨੋਲੋਜੀ","INTRO_TASTE_CINEMA":"ਸਿਨੇਮਾ","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"ਇਸ ਪਲੇਟਫਾਰਮ ਤੇ ਚੁਣਿਆ ਅਡੇਨ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ.","ADDON_DISCLAIMER":"ਤੀਜੀ -ਪਾਰਟੀ ਇਸ਼ਤਿਹਾਰਾਂ ਦੀ ਵਰਤੋਂ ਹਮੇਸ਼ਾ ਤੁਹਾਡੀ ਜ਼ਿੰਮੇਵਾਰੀ ਦੇ ਅਧੀਨ ਹੋਵੇਗੀ ਅਤੇ ਅਧਿਕਾਰ ਖੇਤਰ ਦੇ ਅਧਿਕਾਰਤ ਕਾਨੂੰਨ ਤੁਹਾਡੇ ਦੁਆਰਾ ਅਧਿਕਾਰਤ ਕਾਨੂੰਨ ਦੇ ਅਧੀਨ ਰਹੇਗੀ.","ADDON_ACTIVATE":"ਇਸ ਅਡੀਨ ਨੂੰ ਸਰਗਰਮ ਕਰੋ?","ADDON_REPO_ADD":"ਅਡੇਨ ਕੁਲੈਕਸ਼ਨ URL","ADDON_ADD":"ਸ਼ਾਮਲ ਕਰੋ","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"ਨਵਾਂ ਕੀ ਹੈ","BUTTON_CONTINUE":"ਜਾਰੀ ਰੱਖੋ","BUTTON_ACTIVATE":"ਕਿਰਿਆਸ਼ੀਲ","BUTTON_ACTIVATED":"ਕਿਰਿਆਸ਼ੀਲ","BUTTON_CANCEL":"ਰੱਦ ਕਰੋ","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"ਸਾਰੇ ਖਾਰਜ","BUTTON_VIEW_ALL":"ਸਾਰੇ ਵੇਖੋ","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਖਾਲੀ ਦਿਖਾਈ ਦੇ ਰਹੀ ਹੈ.ਇਹ ਪਤਾ ਲਗਾਓ ਕਿ ਇਹ ਕਿੰਨਾ ਲਾਭਦਾਇਕ ਹੈ :)","HOW_START":"ਇਹ ਤੁਸੀਂ ਕਿਵੇਂ ਅਰੰਭ ਕਰ ਸਕਦੇ ਹੋ ਇਹ ਹੈ:","LIB_EMPTY_CAL":"ਤੁਹਾਡਾ ਕੈਲੰਡਰ ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਇੱਕ ਲੜੀ ਦਿਖਾਉਂਦਾ ਹੈ.","HOW_START_CAL":"ਇਹ ਇੱਥੇ ਹੈ ਕਿ ਤੁਸੀਂ ਲੜੀ ਕਿਵੇਂ ਜੋੜ ਸਕਦੇ ਹੋ:","LIB_EMPTY_BOARD":"ਬੋਰਡ ਨੋਟੀਫਿਕੇਸ਼ਨ & ਐਮਪ;ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਨਾਲ ਸਬੰਧਤ ਸਿਫਾਰਸ਼ਾਂ.","HOW_START_BOARD_WAIT":"ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੀ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਕੁਝ ਲੜੀ ਜਾਂ ਚੈਨਲ ਤੇ ਕਾਰਵਾਈ ਕਰਨ ਲਈ ਸਾਨੂੰ ਕੁਝ ਮਿੰਟਾਂ ਦੇਵੋ :)","HOW_START_BOARD":"ਇੱਥੇ ਦਰਸਾਇਆ ਗਿਆ ਹੈ ਕਿ ਤੁਸੀਂ ਚੇਨ ਅਤੇ ਐਮਪੀ ਕਿਵੇਂ ਜੋੜ ਸਕਦੇ ਹੋ;ਇਸ ਲਈ ਫਿਲਮਾਂ:","IMPORT_FB":"ਕੀ ਆਯਾਤ ਕੀਤੀਆਂ ਚੀਜ਼ਾਂ ਜੋ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ <ਸਪੈਨ> ਫੇਸਬੁੱਕ </ ਡੈਂਪ>","IMPORT_TRAKT":"ਆਪਣੀ ਮੀਡੀਆ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ <ਯੂ ਸਪੈਂਟ> ਟਰੱਕ </ ਸਪੈਨ> ਤੋਂ ਆਯਾਤ ਕਰੋ","IMPORT_DISCOVER":"<ਸਪੈਨ> ਖੋਜ> </ ਸਪੈਂਟੀ> ਤੋਂ ਦਿਲਚਸਪ ਸਮੱਗਰੀ ਦੀ ਖੋਜ ਕਰੋ","IMPORT_DISK":"ਫਿਲਮਾਂ ਆਯਾਤ ਕਰੋ ਜਾਂ ਆਪਣੇ ਨਾਲ ਆਪਣੀ <ਸਪ> ਸਥਾਨਕ ਡਿਸਕ </ ਡਾਂਗ> ਤੇ ਦਿਖਾਓ","PLEASE_CREATE_ACC":"ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਸਿੰਕ ਅਤੇ ਏ ਐਮ ਪੀ ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਲਈ ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਖਾਤਾ ਬਣਾਓ </ u>;ਪੂਰਾ","IMPORT_DISCOVER_SIGNUP":"ਸਾਈਨ ਅਪ ਕਰੋ ਅਤੇ ਖੋਜ </ ਸਪੈਂਟੀ> ਤੋਂ ਦਿਲਚਸਪ ਸਮੱਗਰੀ ਲੱਭੋ","IMPORT_DISK_SIGNUP":"ਸਾਈਨ ਅਪ ਕਰੋ ਅਤੇ ਫਿਲਮਾਂ ਨੂੰ ਆਯਾਤ ਕਰੋ ਜਾਂ ਆਪਣੀ <ਸਪ> ਸਥਾਨਕ ਡਿਸਕ </ ਡਾਂਗ> ਤੇ ਦਿਖਾਓ","LIB_EMPTY_CLOUD":"ਕਲਾਉਡ ਲਾਇਬ੍ਰੇਰੀ","LIB_EMPTY_CLOUD_DESC":"ਸਾਰੇ ਉਪਕਰਣਾਂ ਤੇ ਵਿਅਕਤੀਗਤ ਕਲਾਉਡ ਲਾਇਬ੍ਰੇਰੀ ਦਾ ਤਾਲਮੇਲ","LIB_EMPTY_EARLY":"ਅਰਲੀ ਪੰਛੀ","LIB_EMPTY_EARLY_DESC":"ਨਵੇਂ ਐਪੀਸੋਡਾਂ ਲਈ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰੋ","LIB_EMPTY_PERSONAL":"ਨਿੱਜੀ","LIB_EMPTY_PERSONAL_DESC":"ਨਿੱਜੀ ਸਿਫਾਰਸ਼ਾਂ ਪ੍ਰਾਪਤ ਕਰੋ","LIB_EMPTY_CALENDAR_DESC":"ਆਪਣਾ ਨਿੱਜੀ ਦੇਖਣ ਵਾਲੇ ਕੈਲੰਡਰ ਨੂੰ ਤਹਿ ਕਰੋ","LIB_EMPTY_ALL":"ਇਹ ਸਭ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਾਈਨ ਅਪ ਕਰੋ:","LIB_EMPTY_BEST":"ਵਧੀਆ ਸਟ੍ਰੀਮਿਓ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਾਈਨ ਅਪ ਕਰੋ","LIB_EMPTY_OTHER":"ਕੈਲੰਡਰ ਅਤੇ ਹੋਰ ਮਹਾਨ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਲਈ ਸਾਈਨ ਅਪ ਕਰੋ","CALENDAR_ADDED":"ਸਟ੍ਰੀਮਿਓ ਕੈਲੰਡਰ ਤੁਹਾਡੇ ਡਿਫਾਲਟ ਡੈਸਕਟੌਪ ਕੈਲੰਡਰ ਵਿੱਚ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ.","CALENDAR_ADDED_MSG":"ਜੇ ਇਹ ਕੰਮ ਨਹੀਂ ਕਰਦਾ ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਇਸ URL ਨੂੰ ਆਪਣੀ ਕੈਲੰਡਰ ਐਪਲੀਕੇਸ਼ਨ ਤੇ ਹੱਥੀਂ ਸ਼ਾਮਲ ਕਰੋ","TRAKT_EXPIRED":"ਟਰੈਕਟਰ ਪ੍ਰਮਾਣਿਕਤਾ ਪੂਰੀ ਕੀਤੀ ਗਈ ਹੈ ਕਿਰਪਾ ਕਰਕੇ ਸੈਟਿੰਗਾਂ ਤੇ ਜਾਓ ਅਤੇ ਮੁੜ-ਸੰਕਰਮਿਤ ਕਰੋ","TRAKT_REQUIRES_LOGIN":"ਟ੍ਰੈਕਟ ਗਲਤੀ","TRAKT_REQUIRES_LOGIN_MSG":"ਤੁਹਾਨੂੰ ਲੌਗਇਨ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"ਵਿਵਸਥਾ","SETTINGS_NAV_GENERAL":"ਆਮ","SETTINGS_NAV_PLAYER":"ਖਿਡਾਰੀ","SETTINGS_NAV_STREAMING":"ਸਟ੍ਰੀਮਿੰਗ","SETTINGS_NAV_SHORTCUTS":"ਸ਼ੌਰਟਕਟ","SETTINGS_SHORTCUT_RELOAD_APP":"ਐਪ ਨੂੰ ਮੁੜ ਲੋਡ ਕਰੋ","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"ਵਾਪਸ ਜਾਓ / ਵਾਪਸ ਜਾਓ","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"ਟੌਗਲ ਪੂਰੀ ਸਕਰੀਨ","SETTINGS_SHORTCUT_SHOW_CONTROLS":"ਕੰਟਰੋਲ ਦਿਖਾਓ","SETTINGS_SHORTCUT_PLAY_PAUSE":"ਚਾਲੂ / ਸਟਾਪ","SETTINGS_SHORTCUT_VOLUME_UP":"ਵਾਲੀਅਮ ਉੱਪਰ","SETTINGS_SHORTCUT_VOLUME_DOWN":"ਆਵਾਜ਼ ਨੂੰ ਘਟਾਓ","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"ਉਪਸਿਰਲੇਖ ਦਾ ਆਕਾਰ ਵਧਾਓ","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"ਉਪਸਿਰਲੇਖ ਦਾ ਆਕਾਰ ਘਟਾਓ","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"ਉਪਸਿਰਲੇਖ ਦੇਰੀ ਵਧਾਓ","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"ਉਪਸਿਰਲੇਖ ਦੇਰੀ ਨੂੰ ਘਟਾਓ","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"ਸ਼ੁਰੂ ਸ਼ੁਰੂ ਕਰੋ","SETTINGS_VLC_DEFAULT":"VLC ਨਾਲ ਖੇਡੋ","SETTINGS_UI_LANGUAGE":"UI ਭਾਸ਼ਾ","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"ਕੁੰਜੀ ਤੋਂ ਬਾਹਰ ਦੀ ਪੂਰੀ ਸਕ੍ਰੀਨ ਤੋਂ ਬਾਹਰ ਜਾਓ","SETTINGS_GAMEPAD":"ਗੇਮਪੈਡ ਸਪੋਰਟ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ","SETTINGS_CLOSE_WINDOW":"ਜਦੋਂ ਵਿੰਡੋ ਬੰਦ ਹੋਵੇ ਤਾਂ ਐਪ ਨੂੰ ਬੰਦ ਕਰੋ","SETTINGS_SUBTITLES_LANGUAGE":"ਮੂਲ ਉਪਸਿਰਲੇਖਾਂ ਦੀ ਭਾਸ਼ਾ","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"ਮੂਲ ਉਪਸਿਰਲੇਖ ਅਕਾਰ","SETTINGS_SUBTITLES_BACKGROUND":"ਉਪਸਿਰਲੇਖ ਪਿਛੋਕੜ","SETTINGS_SUBTITLES_COLOR":"ਉਪਸਿਰਲੇਖ ਦਾ ਰੰਗ","SETTINGS_SUBTITLES_COLOR_OUTLINE":"ਉਪਸਿਰਲੇਖ ਆਉਟਲਾਈਨ ਰੰਗ","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"ਉਪਸਿਰਲੇਖ ਪਿਛੋਕੜ ਦਾ ਰੰਗ","SETTINGS_SEEK_KEY":"ਐਰੋ ਕੁੰਜੀਆਂ ਦਾ ਸਮਾਂ ਲੱਭੋ","SETTINGS_SEEK_KEY_SHIFT":"ਜਦੋਂ ਸ਼ਿਫਟ ਕੁੰਜੀ ਆਯੋਜਿਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਤਾਂ ਤੀਰ ਦੀ ਕੁੰਜੀ ਸਮੇਂ ਦੀ ਭਾਲ ਕਰੋ","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"ਅਗਲੇ ਐਪੀਸੋਡ ਆਟੋ-ਪਲੇ","SETTINGS_NEXT_VIDEO":"ਅਗਲੇ ਐਪੀਸੋਡ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਨੋਟੀਫਿਕੇਸ਼ਨ ਦਿਖਾਓ","SETTINGS_NEXT_VIDEO_TRIGGER":"ਇਸ ਲਈ ਅਗਲੀ ਐਪੀਸੋਡ ਨੋਟੀਫਿਕੇਸ਼ਨ ਦਿਖਾਓ:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"ਖੇਡਣ ਤੋਂ ਪਹਿਲਾਂ ਆਪਣੇ ਆਪ ਬਦਲੋ","SETTINGS_OVERRIDE_SERVER":"ਸਟ੍ਰੀਮਿੰਗ ਸਰਵਰ URL ਨੂੰ ਘਟਾ ਦਿੱਤਾ (ਉੱਨਤ)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"ਸਟ੍ਰੀਮਿੰਗ ਸਰਵਰ URL:","SETTINGS_SERVER_AVAILABLE":"ਸਟ੍ਰੀਮਿੰਗ ਸਰਵਰ ਉਪਲਬਧ ਹੈ.","SETTINGS_SERVER_UNAVAILABLE":"ਸਟ੍ਰੀਮਿੰਗ ਸਰਵਰ ਉਪਲਬਧ ਨਹੀਂ ਹੈ.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"HTTPSTPSTPSTPSTPSTOPTES","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"ਹਮੇਸ਼ਾ ਤਾਜ਼ਾ ਬੀਟਾ ਦੀ ਵਰਤੋਂ ਕਰੋ","SETTINGS_IMPORT_FB":"ਫੇਸਬੁੱਕ ਤੋਂ ਆਯਾਤ ਕਰੋ","SETTINGS_IMPORT_DISK":"ਸਥਾਨਕ ਡਿਸਕ ਤੋਂ ਆਯਾਤ ਕਰੋ","SETTINGS_IMPORT_TRAKT":"ਟ੍ਰੈਕਟ ਤੋਂ ਦਰਾਮਦ","SETTINGS_PAUSE_MINIMIZED":"ਘੱਟੋ ਘੱਟ ਪਲੇਬੈਕ ਰੋਕੋ","SETTINGS_HWDEC":"ਹਾਰਡਵੇਅਰ-ਚਾਰਜਡ ਡੀਕੋਡਿੰਗ","SETTINGS_BACKGROUND":"ਬੈਕਗਰਾ ground ਂਡ ਪਲੇਅਬੈਕ","SETTINGS_SUBSCRIBE_CALENDAR":"ਕੈਲੰਡਰ ਦੀ ਗਾਹਕੀ","SETTINGS_REQ_EXPORT":"ਡਾਟਾ ਨਿਰਯਾਤ ਦੀ ਬੇਨਤੀ ਕਰੋ","SETTINGS_ACC_DELETE":"ਖਾਤੇ ਨੂੰ ਹਟਾਉਣ ਲਈ ਬੇਨਤੀ ਕਰੋ","SETTINGS_CHANGE_PASSWORD":"ਪਾਸਵਰਡ ਬਦਲੋ","SETTINGS_TOS":"ਸੇਵਾ ਦੀਆਂ ਸ਼ਰਤਾਂ","SETTINGS_SUPPORT":"ਸਹਿਕਾਰਤਾ ਟੀਮ ਨਾਲ ਸੰਪਰਕ ਕਰੋ","SETTING_LANGUAGE":"ਭਾਸ਼ਾ","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"ਟ੍ਰੈਕਟ ਰਗੜਨਾ","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"ਟਰਕਟ.ਟੀਵੀ ਤੋਂ ਲੌਗ ਆਉਟ ਕਰੋ","SETTINGS_TRAKT_LOGOUT_2":"ਟਰੱਕਟ ਤੋਂ ਲੌਗ ਆਉਟ ਕਰੋ","SETTINGS_SCAN_FOR_REMOTE":"ਰਿਮੋਟ ਖੋਲ੍ਹਣ ਲਈ ਕਿ Q ਆਰ ਕੋਡ ਸਕੈਨ ਕਰੋ","SETTINGS_DESKTOP_NOTIFICATIONS":"ਡੈਸਕਟਾਪ ਨੋਟੀਫਿਕੇਸ਼ਨ","SETTINGS_DATA_SAVER":"ਡਾਟਾ ਸੇਵਿੰਗ","SETTINGS_LANGUAGE_INTERFACE":"ਇੰਟਰਫੇਸ","SETTINGS_LANGUAGE_SUBS":"ਮੂਲ ਉਪਸਿਰਲੇਖ","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"ਆਟੋਸੈਲ ਆਡੀਓ ਟਰੈਕ","SETTINGS_DEFAULT_AUDIO_TRACK":"ਮੂਲ ਆਡੀਓ ਟਰੈਕ","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"ਕਾਰਨ","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"ਵਰਜਨ","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"ਪਲੇਅਰ ਇੱਕ ਵੱਖਰੀ ਵਿੰਡੋ ਵਿੱਚ ਲਾਂਚ ਕਰੋ (ਐਡਵਾਂਸਡ)","SETTINGS_PLAY_IN_EXTERNAL":"ਬਾਹਰੀ ਖਿਡਾਰੀ ਵਿੱਚ ਹਮੇਸ਼ਾਂ ਵੀਡੀਓ ਸ਼ੁਰੂ ਕਰੋ","SETTINGS_STORAGE_BUTTON":"ਸਥਾਨਕ ਸਟੋਰੇਜ ਸਾਫ਼ ਕਰੋ","SETTINGS_STORAGE_MODAL_TITLE":"ਤੁਹਾਨੂੰ ਪੂਰਾ ਵਿਸ਼ਵਾਸ ਹੈ","SETTINGS_STORAGE_MODAL_MESSAGE":"ਇਹ ਸਥਾਨਕ ਸਟੋਰੇਜ ਨੂੰ ਸਾਫ਼ ਕਰੇਗਾ ਅਤੇ ਤੁਹਾਨੂੰ ਲੌਗ ਆਉਟ ਕਰੇਗਾ.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"ਆਟੋਮੈਟਿਕ","SETTINGS_HW_DISABLED":"ਨੇੜੇ","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"ਆਡੀਓ","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"ਕਾਲੇ ਪਿਛੋਕੜ ਦੇ ਰੰਗ ਦੀ ਵਰਤੋਂ ਕਰੋ","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"ਆਕਾਰ","SUBSPICKER_DELAY":"ਦੇਰੀ","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"ਪਰਾਈਵੇਟ ਨੀਤੀ","MOBILE_CRASH_REPORTING":"ਕਰੈਸ਼ ਰਿਪੋਰਟਿੰਗ","MOBILE_ZOOM_TO_FILL":"ਸਕਰੀਨ ਨੂੰ ਭਰਨ ਲਈ ਜ਼ੂਮ ਕਰੋ","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"ਘੱਟ ਬੈਟਰੀ ਤੇ ਚਲਾਓ","MOBILE_RUN_FOREGROUND":"ਫੋਰਗਰਾਉਂਡ ਸਰਵਿਸ ਦੇ ਤੌਰ ਤੇ ਚਲਾਓ","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"ਆਨਲਾਈਨ","MOBILE_SERVER_OFFLINE":"Offline ਫਲਾਈਨ","MOBILE_QR_EXPIRES":"ਕਿ Q ਆਰ ਕੋਡ ਦੀ ਆਖਰੀ ਮਿਤੀ ਖਤਮ ਹੋ ਜਾਵੇਗੀ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"ਉਪਰੋਕਤ QR ਕੋਡ ਨੂੰ ਸਕੈਨ ਕਰੋ ਜਾਂ ਇੱਥੇ ਜਾਓ","MOBILE_LINK_ACCOUNT":"ਲਿੰਕ ਖਾਤਾ","MOBILE_SPEEDPICKER_CANCEL":"ਰੱਦ ਕਰੋ","MOBILE_SPEEDPICKER_LABEL":"ਪਲੇਬੈਕ ਦੀ ਗਤੀ ਦੀ ਚੋਣ ਕਰੋ","MOBILE_EMPTY_LIBRARY":"ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਖਾਲੀ ਹੈ","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"ਮੈਂ ਸਟ੍ਰੀਡੈਂਡੋ ਤੋਂ ਮਾਰਕੀਟਿੰਗ ਸੰਚਾਰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਹਿਮਤ ਹਾਂ","QUIT":"ਛੱਡੋ","CONNECTED":"ਲਿੰਕ ਕੀਤੇ ਗਏ ਹਨ","AUTHENTICATE":"ਪ੍ਰਮਾਣਤ","AUTHENTICATING":"Authenticating...","CACHING":"ਕੈਚਿੰਗ","SETTINGS_CACHING_DRIVE":"ਕੈਚਿੰਗ ਡਰਾਈਵ","ENABLE_LOCAL_FILES_ADDON":"ਸਥਾਨਕ ਫਾਈਲਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਸਮਰੱਥ ਕਰੋ (ਮੁੜ-ਚਾਲੂ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"ਰਿਮੋਟ HTPS ਕੁਨੈਕਸ਼ਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ","TORRENT_PROFILE":"ਟੋਰੈਂਟ ਪ੍ਰੋਫਾਈਲ","DATA_CACHING":"ਡਾਟਾ ਕੈਸ਼ਿੰਗ","MAGNET_PARSING":"ਇੱਕ ਚੁੰਬਕੀ ਲਿੰਕ ਪਾਰਸਿੰਗ","January":"ਜਨਵਰੀ","February":"ਫਰਵਰੀ","March":"ਜਲੂਸ","April":"ਅਪ੍ਰੈਲ","May":"ਮਈ","June":"ਜੂਨ","July":"ਜੁਲਾਈ","August":"ਅਗਸਤ","September":"ਸਤੰਬਰ","October":"ਅਕਤੂਬਰ","November":"ਨਵੰਬਰ","December":"ਦਸੰਬਰ","Monday":"ਸੋਮਵਾਰ","Tuesday":"ਮੰਗਲਵਾਰ","Wednesday":"ਬੁੱਧਵਾਰ","Thursday":"ਵੀਰਵਾਰ","Friday":"ਸ਼ੁੱਕਰਵਾਰ","Saturday":"ਸ਼ਨੀਵਾਰ","Sunday":"ਐਤਵਾਰ ਐਤਵਾਰ","Action":"ਕੰਮ","Comedy":"ਕਾਮੇਡੀ","War":"ਯੁੱਧ","Family":"ਪਰਿਵਾਰ","Animation":"ਐਨੀਮੇਸ਼ਨ","Adventure":"ਸਾਹਸ","Fantasy":"ਕਲਪਨਾ","Crime":"ਅਪਰਾਧ","Mystery":"ਰਹੱਸ","Romance":"ਰੋਮਾਂਸ","Drama":"ਡਰਾਮਾ","Horror":"ਡਰਾਉਣਾ","Thriller":"ਥ੍ਰਿਲਰ","Sci-Fi":"ਵਿਗਿਆਨ ਦੀ ਕਹਾਣੀ","Music":"ਸੰਗੀਤ","Biography":"ਜੀਵਨੀ","Documentary":"ਦਸਤਾਵੇਜ਼ੀ","Sport":"ਖੇਡ","Musical":"ਸੰਗੀਤ","Western":"ਪੱਛਮੀ","Film-Noir":"ਫਿਲਮ ਨੋਇਰ","News":"ਖ਼ਬਰਾਂ","History":"ਇਤਿਹਾਸ","Game-Show":"ਖੇਡ ਪ੍ਰਦਰਸ਼ਨ","Reality-TV":"ਹੁਨਰ ਟੀ.ਵੀ.","Talk-Show":"ਗੱਲਬਾਤ ਸ਼ੋਅ","Film & Entertainment":"ਫਿਲਮ ਅਤੇ ਮਨੋਰੰਜਨ","Gaming":"ਜੂਆ","From TV":"ਟੀਵੀ ਤੋਂ","Lifestyle":"ਬਾਲੀਵੁੱਡ","Science & Education":"ਵਿਗਿਆਨ ਸਿੱਖਿਆ","Cooking & Health":"ਖਾਣਾ ਪਕਾਉਣ ਅਤੇ ਸਿਹਤ","Beauty & Fashion":"ਸੁੰਦਰਤਾ ਅਤੇ ਫੈਸ਼ਨ","Sports":"ਖੇਡ","News & Politics":"ਖ਼ਬਰਾਂ ਅਤੇ ਰਾਜਨੀਤੀ","How-to & DIY":"ਕਿਵੇਂ ਅਤੇ DIY","Tech":"ਟੈਕਨੋਲੋਜੀ","Automotive":"ਮੋਟਰ ਵਾਹਨ","Causes & Non-Profits":"ਕਾਰਨ ਅਤੇ ਗੈਰ-ਪ੍ਰੋਫੋਫਿਟ","Movies":"ਫਿਲਮਾਂ","Uk Live Tv":"ਯੂਕੇ ਲਾਈਵ ਟੀਵੀ","Fashion":"ਪਹਿਰਾਵਾ","Business News Radio":"ਵਪਾਰ ਨਿ News ਜ਼ ਰੇਡੀਓ","Business Tv":"ਵਪਾਰ ਟੀ.ਵੀ.","Cars & Auto":"ਕਾਰਾਂ ਅਤੇ ਆਟੋਜ਼","Comedy Radio":"ਕਾਮੇਡੀ ਰੇਡੀਓ","Lifestyle Radio":"ਜੀਵਨ ਸ਼ੈਲੀ ਰੇਡੀਓ","News Tv":"ਖ਼ਬਰਾਂ ਟੀ.ਵੀ.","Food And Wine":"ਭੋਜਨ ਅਤੇ ਵਾਈਨ","Latino Tv":"ਲਾਤੀਨੋ ਟੀਵੀ","Shopping Tv":"ਸ਼ਾਪਿੰਗ ਟੀਵੀ","Religion":"ਧਰਮ","Kids":"ਬੱਚੇ","Body & Soul":"ਸਰੀਰ ਦੀ ਰੂਹ","Education":"ਸਿੱਖਿਆ","Indian Tv":"ਇੰਡੀਅਨ ਟੀਵੀ","Extreme Sports":"ਬਹੁਤ ਜ਼ਿਆਦਾ ਖੇਡਾਂ","Middle Eastern Tv":"ਮਿਡਲ ਈਸਟ ਟੀਵੀ","Celebrity Tv":"ਸੇਲਿਬ੍ਰਿਟੀ ਟੀਵੀ","Science Tv":"ਸਾਇੰਸ ਟੀਵੀ","Bikini babe":"ਬਿਕਨੀ ਬੇਬੇ","Outdoors":"ਸੜਕ ਉੱਤੇ","German Tv":"ਜਰਮਨ ਟੀਵੀ","French Tv":"ਫ੍ਰੈਂਚ ਟੀਵੀ","Italian Tv":"ਇਤਾਲਵੀ ਟੀਵੀ","Gamer Tv":"ਗੇਮਰ ਟੀਵੀ","Travel":"ਯਾਤਰਾ","Asian Tv":"ਏਸ਼ੀਅਨ ਟੀਵੀ","Entertainment":"ਮਨੋਰੰਜਨ","News Radio":"ਨਿ News ਜ਼ ਰੇਡੀਓ","Music Radio":"ਸੰਗੀਤ ਰੇਡੀਓ","Language Learning":"ਭਾਸ਼ਾ ਸਿੱਖਣਾ","Science Radio":"ਸਾਇੰਸ ਰੇਡੀਓ","Tech Radio":"ਤਕਨੀਕੀ ਰੇਡੀਓ","Science & Technology Vod":"ਵਿਗਿਆਨ ਅਤੇ ਤਕਨਾਲੋਜੀ ਵੋਡ","new video":"ਨਵੀਂ ਵੀਡੀਓ","new episode":"ਨਵਾਂ ਐਪੀਸੋਡ","new movie":"ਨਵੀਂ ਫਿਲਮ","recommended":"ਸਿਫਾਰਸ਼ ਕੀਤੀ","we recommend":"ਅਸੀਂ ਸਿਫਾਰਸ਼ ਕਰਦੇ ਹਾਂ","offer of the day":"ਦਿਨ ਦੀ ਪੇਸ਼ਕਸ਼","news":"ਖ਼ਬਰਾਂ","music video":"ਵੀਡੀਓ ਸੰਗੀਤ","CTX_SHOW_HOTKEYS":"ਗਰਮ ਦਿਖਾਓ","CTX_DISMISS_NOTIF":"ਜਾਣਕਾਰੀ ਨੂੰ ਬਰਖਾਸਤ ਕਰੋ","CTX_DISMISS_ALL":"ਸਾਰੇ ਖਾਰਜ","CTX_SHARE":"ਸਾਂਝਾ ਕਰੋ","CTX_COPY_SHARE_LINK":"ਸ਼ੇਅਰ ਲਿੰਕ ਦੀ ਨਕਲ ਕਰੋ","CTX_COPY_MAGNET_LINK":"ਚੁੰਬਕ ਲਿੰਕ ਦੀ ਨਕਲ ਕਰੋ","CTX_COPY_STREAM_LINK":"ਸਟ੍ਰੀਮ ਲਿੰਕ ਦੀ ਨਕਲ ਕਰੋ","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"ਇਸ ਵੀਡੀਓ ਨੂੰ ਡਾਉਨਲੋਡ ਕਰੋ","CTX_DOWNLOAD_SUBS":"ਡਾਉਨਲੋਡ ਉਪਸਿਰਲੇਖ ਡਾ Download ਨਲੋਡ ਕਰੋ","CTX_VIEW_ON_YOUTUBE":"ਯੂਟਿ .ਬ ਤੇ ਵੇਖੋ","CTX_SHOW":"ਡਿਸਪਲੇਅ","CTX_PLAY":"ਖੇਡ","CTX_PLAY_IN":"ਖੇਡੋ","CTX_PLAY_ON":"ਖੇਡੋ","CTX_WATCH_ON":"ਇੱਥੇ ਵੇਖੋ","CTX_WATCH":"ਦੇਖੋ","CTX_WATCHED":"ਵੇਖੋ","CTX_WATCH_BEGINNING":"ਸ਼ੁਰੂ ਤੋਂ ਦੇਖੋ","CTX_WATCH_MOBILE":"ਇੱਕ ਮੋਬਾਈਲ ਡਿਵਾਈਸ ਤੇ ਵੇਖੋ","CTX_REWIND":"ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਰੀਵਾਈਡ ਕਰੋ","CTX_MARK_WATCHED":"ਜਿਵੇਂ ਦੇਖਿਆ ਗਿਆ ਸੀ ਮਾਰਕ ਕੀਤਾ","CTX_MARK_NON_WATCHED":"ਇੱਕ ਗੈਰ-ਪ੍ਰਤੀਬਿੰਬਿਤ ਵਜੋਂ ਮਾਰਕ ਕਰੋ","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"ਜਿਵੇਂ ਦੇਖਿਆ ਗਿਆ ਹੈ","CTX_UNMARK_REST":"ਬਾਕੀ ਨੂੰ ਗੈਰ-ਮੋੜ ਦੇ ਤੌਰ ਤੇ ਮਾਰਕ ਕਰੋ","CTX_RECEIVE_NEW_NOTIF":"ਨਵੀਂ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰੋ","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"ਨਕਦ ਤੋਂ ਹਟਾਓ","CTX_REMOVE_CACHE_EP":"ਕਪਤਾਨ ਨੂੰ ਨਕਦ ਤੋਂ ਹਟਾਓ","CTX_OPEN_CONTAINING":"ਓਪਨ ਫੋਲਡਰ","CTX_REMOVE":"ਲਾਇਬ੍ਰੇਰੀ ਤੋਂ ਹਟਾਓ","CTX_AVAILABLE_OFFLINE":"ਉਪਲਬਧ offline ਫਲਾਈਨ","CTX_PAUSED":"ਰੁਕ ਗਿਆ","CTX_ALWAYS_ON_TOP":"ਹਮੇਸ਼ਾ ਸਿਖਰ ਤੇ","CTX_FULLSCREEN":"ਪੂਰਾ ਸਕਰੀਨ","CTX_WRONG_SUBS":"ਗਲਤ ਉਪਸਿਰਲੇਖ?","CTX_REPORT_ISSUES":"ਰਿਪੋਰਟ ਦਾ ਮੁੱਦਾ","CTX_COPY":"ਕਾਪੀ","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"ਪੇਸਟ","CTX_CLEAR":"ਸਾਫ","CTX_CLEAR_RECENT_SEARCHES":"ਤਾਜ਼ਾ ਖੋਜਾਂ ਨੂੰ ਸਾਫ਼ ਕਰੋ","HELLO_THERE":"ਸਤ ਸ੍ਰੀ ਅਕਾਲ","HOPE_YOU_ENJOY":"ਅਸੀਂ ਆਸ ਕਰਦੇ ਹਾਂ ਕਿ ਤੁਸੀਂ ਸਟ੍ਰੀਮਿਓ ਦਾ ਅਨੰਦ ਲਓਗੇ ਅਤੇ ਇਹ ਪਹਿਲਾਂ ਹੀ ਤੁਹਾਡੀਆਂ ਮਨਪਸੰਦ ਐਪਸ ਵਿਚੋਂ ਇਕ ਹੈ!","WHO_ARE_WE":"ਅਸੀਂ ਕੌਣ ਹਾਂ?ਅਸੀਂ ਇਸ ਦੇ ਪਿੱਛੇ ਟੀਮ ਹਾਂ - ਦੋ ਲੋਕ ਜੋ ਹਰ ਦਿਨ ਸਖਤ ਮਿਹਨਤ ਕਰਦੇ ਹਨ ਇਸ ਉਤਪਾਦ ਨੂੰ ਬਿਹਤਰ ਅਤੇ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ.","SUPPORT_US":"ਜੇ ਤੁਸੀਂ ਸਟ੍ਰੀਮਿਓ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦਾ ਅਨੰਦ ਲੈਂਦੇ ਹੋ ਤਾਂ ਇਹ ਤੁਹਾਡੇ ਲਈ ਕੀਮਤੀ ਮਹੱਤਵਪੂਰਣ ਹੈ - ਸ਼ਬਦ ਫੈਲਾਓ!","SPREAD_THE_WORD":"ਆਪਣੇ ਦੋਸਤਾਂ ਨਾਲ ਸਾਂਝਾ ਕਰੋ ਸਟ੍ਰਾਮਬਿਓ ਬਾਰੇ ਸ਼ਬਦ ਫੈਲਾਓ","MORE_PEOPLE":"ਜਿੰਨੇ ਲੋਕ ਸਟ੍ਰੀਮਿਓ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ, ਉੱਨਾ ਹੀ ਚੰਗਾ ਹੋਵੇਗਾ!","SEND_A_LINK":"ਜਾਂ ਸਾਡੀ ਵੈਬਸਾਈਟ ਤੇ ਲਿੰਕ ਭੇਜੋ","TIP_LOCALFILES":"ਸੰਕੇਤ: ਤੁਸੀਂ ਸਥਾਨਕ ਵੀਡੀਓ ਫਾਈਲਾਂ ਨੂੰ ਸਟਰੇਮੋ ਵਿੱਚ ਖਿੱਚ ਸਕਦੇ ਹੋ ਅਤੇ ਛੱਡ ਸਕਦੇ ਹੋ","ADDON_MY":"ਮੇਰੇ ਵਿਗਿਆਪਨ","ADDON_COMMUNITY":"ਕਮਿ Community ਨਿਟੀ ਵਿਗਿਆਪਨ","ADDON_OFFICIAL":"ਸਰਕਾਰੀ ਐਡਨਜ਼","ADDON_REPOS":"ਅਡੇਨ ਸੰਗ੍ਰਹਿ","ADDON_SEARCH":"ਖੋਜ ਐਡਨ","ADDON_INSTALL":"ਇੰਸਟਾਲ ਕਰੋ","ADDON_CONFIGURE":"ਕੌਂਫਿਗਰ ਕਰੋ","ADDON_UNINSTALL":"ਇੰਸਟਾਲੇਸ਼ਨ ਰੱਦ ਕਰੋ","ADDON_UPGRADE":"ਅਪਗ੍ਰੇਡ","ADDON_INSTALLED":"ਸਥਾਪਤ","ADDON_INSTALLED_MSG":"ਐਡਨ ਸਥਾਪਿਤ!","ADDON_UPGRADED_MSG":"ਅਡਿਨ ਅਪਗ੍ਰੇਡ ਹੋ ਗਿਆ!","ADDON_UNKNOWN":"ਅਜਨਬੀ","ADDON_ERR":"ਐਡਨ ਸਥਾਪਿਤ ਗਲਤੀ!","ADDON_DISCONNECTED":"ਡਿਸਕਨੈਕਟਡ","ADDON_APP_MISSING":"ਇਸ ਸਰੋਤ ਲਈ ਐਪ ਸਥਾਪਤ ਨਹੀਂ ਹੈ.ਕੀ ਤੁਸੀਂ ਇਸ ਨੂੰ ਹੁਣ ਸਥਾਪਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?","ADDON_APP_INSTALL":"ਹੁਣ ਸਥਾਪਤ ਕਰੋ","ADDON_PAGE":"ਐਡੇਨ ਪੇਜ","ADDON_TOP_CONTENT":"ਇਸ ਅਡਿਨ ਤੋਂ ਵਧੀਆ","ADDON_PROVIDES":"ਇਹ ਅਡੇਨ ਤੁਹਾਨੂੰ ਦੇਵੇਗਾ:","ADDON_WATCH":"ਵੇਖੋ # ਟਾਈਪ}!","ADDON_WATCH_FREE":"ਹੁਣ ਕਲਿੱਕ ਕਰੋ} ਹੁਣ ਮੁਫਤ ਲਈ!","ADDON_ADDON":"ਹੋਰ ਜੋੜਨਾ","ADDON_SUPPORTED_TYPES":"ਸਹਿਯੋਗੀ ਕਿਸਮ","ADDON_SUPPORTED_CATALOGS":"ਸਹਿਯੋਗੀ ਕੈਟਾਲਾਗ","ADDON_PROVIDES_DISCOVER":"ਖੋਜ ਵਿੱਚ ਹੋਰ # {ਕਿਸਮ ਦੀ}","ADDON_PROVIDES_STREAMS":"# {ਕਿਸਮ ਦੀ} ਵੇਖੋ","ADDON_PROVIDES_STREAMS_FREE":"ਮੁਫਤ ਲਈ #} ਟਾਈਪ} ਵੇਖੋ","ADDON_PROVIDES_SUBTITLES":"ਕਿਸਮ ਲਈ ਉਪਸਿਰਲੇਖ","ADDON_CANTDETECT":"ਅਸੀਂ ਇੱਕ ਚੱਲ ਰਹੇ ਟਰੇਮਿਓ ਦਾ ਪਤਾ ਨਹੀਂ ਲਗਾ ਸਕੇ ਤਾਂ ਜੋ ਅਸੀਂ ਇਹ ਪਤਾ ਲਗਾ ਸਕੀਏ ਕਿ ਤੁਸੀਂ ਕਿਹੜੇ ਵਿਗਿਆਪਨ ਸਥਾਪਤ ਕੀਤੇ ਹਨ.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"ਇਸ ਬਾਰੇ ਕੋਈ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੋਈ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"ਇਸ ਬਾਰੇ ਜਾਣਕਾਰੀ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਗਲਤੀ.","ERR_CANT_PARSE_MAGNET":"ਚੁੰਬਕ ਨੂੰ ਪਾਰਸ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ","ERR_NO_MAGNET_INFOHASH":"ਚੁੰਬਕੀ ਲਈ ਕੋਈ ਵੈਧ ਜਾਣਕਾਰੀ ਨਹੀਂ ਹੈ","ERR_NO_FILE_PATH":"ਫਾਈਲ ਲਈ ਮਾਰਗ ਤੋਂ ਬਿਨਾਂ ਬੇਨਤੀ ਭੇਜਣ ਵਿੱਚ ਅਸਮਰੱਥ","ERR_NO_TORRENT":"ਕੋਈ ਕਿਨਾਰਾ ਵਾਪਸ ਨਹੀਂ ਆਇਆ","ERR_NO_SUPPORTERD_FILES":"ਕੋਈ ਸਹਿਯੋਗੀ ਫਾਈਲ ਨਹੀਂ ਮਿਲੀ","ERR_OPENING_FILES":"ਬਾਹਰੀ ਫਾਈਲਾਂ ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ","ERR_INVALID_LINK":"ਗਲਤ ਲਿੰਕ","ERR_REGISTERED_ONLY":"ਇਹ ਵਿਕਲਪ ਸਿਰਫ ਰਜਿਸਟਰਾਂ ਲਈ ਉਪਲਬਧ ਹੈ.","ERR_CLIPBOARD":"ਕਲਿੱਪਬੋਰਡ ਨਾਲ ਨਹੀਂ ਖੇਡ ਸਕਦਾ","ERR_CLIPBOARD_READ":"ਇਸ ਪਲੇਟਫਾਰਮ ਤੇ ਕਲਿੱਪਬੋਰਡ ਨਹੀਂ ਪੜ੍ਹ ਸਕਦਾ","ERR_CLIPBOARD_GENERIC":"ਕਲਿੱਪਬੋਰਡ ਵਿੱਚ ਨਹੀਂ ਮਿਲਿਆ.ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਵੀਡੀਓ ਨੂੰ URL ਕਾਪੀ ਕਰੋ (ਜਿਵੇਂ ਕਿ ਇੱਕ ਚੁੰਬਕ ਲਿੰਕ).","BOARD_CONTINUE_WATCHING":"ਦੇਖਦੇ ਰਹੋ","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"ਫਿਲਮਾਂ ਤੁਹਾਨੂੰ ਵਿਸ਼ੇਸ਼ ਤੌਰ \'ਤੇ ਚੁਣੀਆਂ ਗਈਆਂ ਸਨ.ਫਿਲਮ ਨੂੰ ਫਿਲਮ ਦੇ ਨਮੂਨੇ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਗਈ ਹੈ.","BOARD_EXPLANATION_EPISODES":"ਤੁਹਾਡੀ ਮਨਪਸੰਦ ਲੜੀ ਦੇ ਨਵੇਂ ਐਪੀਸੋਡ ਇੱਥੇ ਆਉਣਗੇ.<v /> ਆਪਣੀ ਲਾਇਬ੍ਰੇਰੀ ਵਿਚ ਦੀ ਲੜੀ ਸ਼ਾਮਲ ਕਰੋ.","BOARD_EXPLANATION_VIDEOS":"ਤੁਹਾਡੇ ਮਨਪਸੰਦ ਚੈਨਲਾਂ ਦੇ ਨਵੇਂ ਐਪੀਸੋਡ ਇੱਥੇ ਆਉਂਦੇ ਹਨ.<br /> YouTube चैनल जोड़ें जो आप अपनी लाइब्रेरी में अनुसरण करते हैं।","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"ਤੁਰੰਤ ਵੇਖੋ","WEBSITE_SLOGAN_ALL":"ਇਕ ਜਗ੍ਹਾ \'ਤੇ ਤੁਸੀਂ ਸਾਰੀ ਵੀਡੀਓ ਸਮਗਰੀ ਦਾ ਅਨੰਦ ਲੈਂਦੇ ਹੋ","WEBSITE_SLOGAN_NEW":"ਤੁਸੀਂ ਸਾਰੇ ਵੇਖ ਸਕਦੇ ਹੋ","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"ਤੋਂ ਵੇਖੋ","WEBSITE_DOWNLOAD":"ਹੁਣ ਡਾ Download ਨਲੋਡ ਕਰੋ","WEBSITE_DOWNLOAD_FOR":"ਹੁਣ ਡਾ Download ਨਲੋਡ ਕਰੋ","WEBSITE_IS_DESKTOP":"ਸਟ੍ਰੀਮਿਓ ਡੈਸਕਟਾਪ ਐਪਲੀਕੇਸ਼ਨ ਹੈ. ਇਸ ਪੇਜ ਨੂੰ ਆਪਣੇ ਕੰਪਿ on ਟਰ ਤੇ ਖੋਲ੍ਹੋ ਅਤੇ ਇਸ ਨੂੰ ਡਾਉਨਲੋਡ ਕਰੋ","WEBSITE_DESKTOP_DEMO_VID":"ਡੈਸਕਟਾਪ ਡੈਮੋ","WEBSITE_PAGE_HOME":"ਘਰ","WEBSITE_PAGE_FEATURES":"ਗੁਣ","WEBSITE_PAGE_ADDONS":"ਹੋਰ ਜੋੜਨਾ","WEBSITE_PAGE_TECH":"ਟੈਕਨੋਲੋਜੀ","WEBSITE_PAGE_CREATE_ADDON":"ਐਡੋਨ ਬਣਾਉ","WEBSITE_PAGE_CONTACTS":"ਸੰਪਰਕ","WEBSITE_PAGE_BLOG":"ਬਲਾੱਗ","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"ਫਿਲਮਾਂ","WEBSITE_TYPE_series_PL":"ਸੀਰੀਜ਼","WEBSITE_TYPE_tv":"ਲਾਈਵ ਟੀਵੀ","WEBSITE_TYPE_channel":"ਚੈਨਲ","WEBSITE_STREMIO_WHAT_IS":"ਸਟ੍ਰੀਮਿਓ ਇਕ ਐਪ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਆਪਣੀ ਮਨਪਸੰਦ ਵੀਡੀਓ ਫਿਲਮਾਂ ਦੀ ਸੀਰੀਜ਼ ਅਤੇ ਟੀਵੀ ਲੜੀਵਾਰ ਲੜੀਵਾਰ ਲੜੀ ਅਤੇ ਚੈਨਲਾਂ ਦਾ ਪ੍ਰਬੰਧ ਕਰਨ ਵਿਚ ਸਹਾਇਤਾ ਕਰਦਾ ਹੈ.","WEBSITE_FEATURES_WATCH":"ਤੁਰੰਤ ਐਚਡੀ ਵਿੱਚ ਵੇਖੋ","WEBSITE_FEATURES_WATCH_DETAIL":"ਕਲਿਕ ਕਰੋ ਅਤੇ ਤੁਹਾਡੀਆਂ ਮਨਪਸੰਦ ਫਿਲਮਾਂ ਟੀਵੀ ਵੀਡੀਓ ਅਤੇ ਟੀ ​​ਵੀ ਚੈਨਲ ਦਿਖਾਉਂਦਾ ਹੈ.","WEBSITE_FEATURES_SUBS":"ਆਟੋਮੈਟਿਕ ਉਪਸਿਰਲੇਖ","WEBSITE_FEATURES_SUBS_DETAIL":"ਸਟ੍ਰੀਮਿਓ ਆਪਣੀ ਭਾਸ਼ਾ ਲਈ ਆਪਣੇ ਆਪ ਤਾਲਮੇਲ ਵਾਲੇ ਉਪਸਿਰਲੇਖ ਦੀ ਚੋਣ ਕਰਦਾ ਹੈ.","WEBSITE_FEATURES_SUBS_LABEL":"ਤੁਹਾਡਾ ਕਦਮ ਮੁੱਖ ਹੈ.","WEBSITE_FEATURES_CAST":"ਟੀਵੀ ਅਤੇ ਮੋਬਾਈਲ ਉਪਕਰਣਾਂ \'ਤੇ ਖੇਡੋ","WEBSITE_FEATURES_CAST_DETAIL":"ਸ਼ੌਕੀਫਾਸਟ ਸਮਾਰਟ ਟੀਵੀ (DLNA / UPNP) ਅਤੇ ਮੋਬਾਈਲ ਉਪਕਰਣ.","WEBSITE_LIB":"ਆਪਣੀ ਨਿੱਜੀ ਲਾਇਬ੍ਰੇਰੀ ਦਾ ਅਨੰਦ ਲਓ ਆਪਣੇ ਸਾਰੇ ਉਪਕਰਣਾਂ ਨੂੰ ਡੁੱਬਣਾ","WEBSITE_LIB_COLLECT":"ਸਟ੍ਰੀਮਿਓ ਤੋਂ ਲਓ","WEBSITE_LIB_IMPORT":"ਫੇਸਬੁੱਕ ਤੋਂ ਆਯਾਤ ਕਰੋ","WEBSITE_LIB_LOCAL":"ਆਪਣੀ ਸਥਾਨਕ ਡਰਾਈਵ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ","WEBSITE_BOARD":"ਬੋਰਡ - ਨੋਟੀਫਿਕੇਸ਼ਨ ਅਤੇ ਸਿਫਾਰਸ਼ਾਂ ਲਈ ਤੁਹਾਡਾ ਇਕ -ਸਟੋਪ ਜਗ੍ਹਾ","WEBSITE_BOARD_RECOMMEND":"ਸਿਫਾਰਸ਼ੀ ਟੀਵੀ ਸ਼ੋਅ","WEBSITE_BOARD_TRENDING":"ਟ੍ਰੈਂਡਿੰਗ ਫਿਲਮ","WEBSITE_BOARD_NEW":"ਨਵੀਂ ਵੀਡੀਓ","WEBSITE_BOARD_EPISODE":"ਨਵਾਂ ਐਪੀਸੋਡ","WEBSITE_BOARD_1":"ਵੇਖਣ ਲਈ ਕੁਝ ਦਿਲਚਸਪ ਲੱਭ ਰਹੇ ਹੋ?ਆਪਣੇ ਸਵਾਦ ਦੇ ਅਧਾਰ ਤੇ ਸਿਫਾਰਸ਼ਾਂ ਪ੍ਰਾਪਤ ਕਰੋ!","WEBSITE_BOARD_2":"ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੇ ਮਨਪਸੰਦ ਟੀਵੀ ਸ਼ੋਅ ਜਾਂ ਯੂਟਿ choupenube ਬ ਚੈਨਲ ਦਾ ਨਵਾਂ ਕਿੱਸਾ ਹੁੰਦਾ ਹੈ ਤਾਂ ਤੁਹਾਨੂੰ ਬਾਹਰ ਕੱ .ੋ!","WEBSITE_BOARD_YOUTUBE":"ਯੂਟਿ .ਬ ਚੈਨਲਾਂ ਦੇ ਨਵੇਂ ਵੀਡੀਓ","WEBSITE_BOARD_EPISODES":"ਲੜੀ ਦੇ ਨਵੇਂ ਐਪੀਸੋਡ ਜੋ ਤੁਸੀਂ ਕਰਦੇ ਹੋ","WEBSITE_ADDONS":"ਪਦਾਰਥਕ ਅਸ਼ਾਂਤ","WEBSITE_TECH_DETAIL":"ਸਾਨੂੰ ਪਿਆਰ ਤਕਨਾਲੋਜੀ ਨੂੰ ਪਿਆਰ ਕਰਦੇ ਹਾਂ ਅਸੀਂ ਪਾਗਲ ਵਿਗਿਆਨ ਨੂੰ ਪਿਆਰ ਕਰਦੇ ਹਾਂ!Nstremio ਹੇਠ ਦਿੱਤੇ ਓਪਨ ਸੋਰਸ ਟੈਕਨੋਲੋਜੀ ਵਰਤ ਰਿਹਾ ਹੈ:","WEBSITE_TECH_WCJS":"ਵੈਬਸ਼ੀਮੇਰਾ.ਜੇਜ਼ ਸਟ੍ਰੀਮਿਓ ਨੂੰ ਚੰਗੀ ਕਾਰਗੁਜ਼ਾਰੀ ਨਾਲ ਕਿਸੇ ਵੀ ਵੀਡੀਓ ਫਾਰਮੈਟ ਨੂੰ ਚਲਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ.","WEBSITE_TECH_WCJS_EXTRA":"ਅਸੀਂ ਕੋਰ ਪ੍ਰੋਜੈਕਟ ਦੇ ਯੋਗਦਾਨ ਪਾਉਂਦੇ ਹਾਂ","WEBSITE_TECH_ELECTRON":"ਇੱਕ ਨਵੀਨਤਾਕਾਰੀ ਪਲੇਟਫਾਰਮ ਨੂੰ ਇਲੈਕਟ੍ਰੋਨ ਨਾਲ ਭੜਕਣ ਲਈ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ.","WEBSITE_TECH_ELECTRON_EXTRA":"ਅਸੀਂ ਪ੍ਰੋਜੈਕਟ ਦੇ ਯੋਗਦਾਨ ਪਾਉਣ ਵਾਲੇ ਹਾਂ","WEBSITE_TECH_LINVODB":"ਇੱਕ ਡੇਟਾਬੇਸ ਤਕਨੀਕ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦੀ ਹੈ ਕਿ ਤੁਹਾਡਾ ਡਾਟਾ ਕਿਤੇ ਵੀ ਸੰਗਠਿਤ ਅਤੇ ਉਪਲਬਧ ਹੈ.","WEBSITE_TECH_LINVODB_EXTRA":"ਅੰਦਰ-ਅੰਦਰ ਤਕਨਾਲੋਜੀ","WEBSITE_CREATE_ADDON":"ਆਪਣਾ ਐਡਨ ਬਣਾਓ","WEBSITE_CREATE_ADDON_DETAIL":"ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਵੀਡੀਓ ਸਮਗਰੀ ਸੇਵਾ ਸੇਵਾ ਹੈ?ਅਸੀਂ ਤੁਹਾਨੂੰ ਆਪਣੇ ਅਦੇਜ਼ੇ ਬਣਾ ਕੇ ਸਟ੍ਰੀਮਿਓ ਦੀਆਂ ਸਹੂਲਤਾਂ ਤੋਂ ਲਾਭ ਪ੍ਰਾਪਤ ਕਰਾਂਗੇ.","WEBSITE_CREATE_ADDON_BENEFITS":"ਸਟ੍ਰਾਬੇਈ ਲਈ ਇੱਕ ਅਡਿਨ ਬਣਾਉਣ ਦੇ ਲਾਭ","WEBSITE_P2P_BEAUTY":"ਪੀਅਰ-ਟੂ-ਪਿਯੂਰੀ ਸਟ੍ਰੀਮਿੰਗ ਦੀ ਸੁੰਦਰਤਾ","WEBSITE_P2P_1":"ਮੰਗ ਜਾਂ ਲਾਈਵ ਸਟ੍ਰੀਮਿੰਗ \'ਤੇ ਭਰੋਸੇਮੰਦ ਅਤੇ ਕਿਫਾਇਤੀ ਪੂਰੀ ਐਚਡੀ / 4 ਦੇ ਵੀਡੀਓ","WEBSITE_P2P_2":"ਡਿਸਟਰੀਬਿ .ਸ਼ਨ ਪਲੇਟਫਾਰਮਸ ਵਧੀਆ ਉਪਭੋਗਤਾ ਦਾ ਤਜਰਬਾ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ","WEBSITE_P2P_3":"ਅਸੀਂ ਤੁਹਾਡੀਆਂ ਸਹੀ ਜ਼ਰੂਰਤਾਂ ਪੂਰੀਆਂ ਕਰਨ ਲਈ ਅਡੇਨ ਬਣਾਵਾਂਗੇ","WEBSITE_P2P_CONTACT":"ਇੱਛਾ?ਤੁਹਾਡਾ ਸਵਾਗਤ ਹੈ <a href = \'mailto.com: Usforeo ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋ </a>.","WEBSITE_P2P_CONTACT_EXTRA":"ਅਸੀਂ ਤੁਹਾਡੀ ਸਮਗਰੀ ਨੂੰ ਸਟ੍ਰਮੀਓ ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਨ ਵਿੱਚ ਖੁਸ਼ ਹੋਵਾਂਗੇ!","WEBSITE_P2P":"ਇਕ ਵਾਰ ਜਦੋਂ ਇੱਥੇ ਇਕ ਤਕਨੀਕ ਹੁੰਦੀ ਹੈ ਜੋ ਖੇਡ ਦਾ ਨਾਮ ਬਦਲਦਾ ਹੈ.ਅਸੀਂ ਆਪਣੇ ਪੀਅਰ-ਟੂ-ਪਿਅਰ (ਪੀ 2 ਪੀ) ਵੀਡੀਓ ਸਟ੍ਰੀਮਿੰਗ ਇੰਜਨ ਦੇ ਨਿਰਮਾਣ ਵਿਚ ਬਹੁਤ ਸਾਰਾ ਸਮਾਂ ਅਤੇ ਕੋਸ਼ਿਸ਼ ਦਾ ਨਿਵੇਸ਼ ਕੀਤਾ ਜੋ ਕਿਸੇ ਵੀ ਵਰਤੋਂ ਦੇ ਕਿਸੇ ਵੀ ਕੇਸ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰਨ ਲਈ ਬਹੁਤ ਜ਼ਿਆਦਾ ਕਾਰਗੁਜ਼ਾਰੀ ਅਤੇ ਬਹੁ-ਪਛਾਣ ਅਤੇ ਬਹੁ-ਪਛਾਣ ਅਤੇ ਬਹੁ-ਪਛਾਣ ਅਤੇ ਬਹੁ-ਪਛਾਣ ਅਤੇ ਬਹੁ-ਪਛਾਣ ਅਤੇ ਕਿਸੇ ਵੀ ਵਰਤੋਂ ਦੇ ਨਾਲ ਤਰਕਸ਼ੀਲਤਾ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਾਂ.N drm- ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰਨ ਜਾਂ ਸਮਰੱਥ ਪੀ 2 ਪੀ ਵਿਡੀਓਜ਼ ਲਈ ਲਾਈਵ ਸਟ੍ਰੀਮਿੰਗ ਲਈ ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋ.","WEBSITE_THOUGHTS":"ਵਿਚਾਰ ਅਸੀਂ ਸਾਂਝਾ ਕਰਦੇ ਹਾਂ:","WEBSITE_SPREAD":"ਸਟ੍ਰਾਬੀਓ ਬਾਰੇ ਸ਼ਬਦ ਫੈਲਾਓ:","WEBSITE_CONTACT":"ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋ ਅਸੀਂ ਤੁਹਾਡੇ ਤੋਂ ਸੁਣਕੇ ਖੁਸ਼ ਹੋਵਾਂਗੇ!","WEBSITE_OPENSOURCE":"ਸਾਡੇ ਓਪਨ ਸੋਰਸ ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ ਸਾਡੇ ਕੋਲ ਜਾਓ","WEBSITE_BITCOIN":"ਬਿੱਟਕੋਇਨ ਦਾਨ ਕਰੋ:","WEBSITE_FAQ":"ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਪ੍ਰਸ਼ਨ","WEBSITE_FAQ_SHORT":"ਆਮ ਸਵਾਲ","WEBSITE_QUESTIONS":"ਸਵਾਲ","WEBSITE_TOS":"ਵਰਤੋਂ ਦੀਆਂ ਸ਼ਰਤਾਂ","WEBSITE_LEGAL":"ਕਾਨੂੰਨੀ","WEBSITE_PAGE_ABOUT":"ਇਸ ਬਾਰੇ","WEBSITE_PAGE_BECOME_PARTNER":"ਸਾਥੀ ਬਣ","WEBSITE_ALL_YOU_CAN_WATCH":"ਤੁਸੀਂ ਘਬਰਾਉਣਾ ਅਜ਼ਾਦੀ ਵੇਖਣਾ ਚਾਹੁੰਦੇ ਹੋ.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"ਸਟਰਾਮੀ ਕੀ ਹੈ?","WEBSITE_WHAT_IS_STREMIO_P1":"ਸਟ੍ਰੀਮਿਓ ਵੀਡੀਓ ਸਮਗਰੀ ਏਕੀਕਰਣ ਲਈ ਏ-ਸਟਾਪ ਹੱਬ ਹੈ.ਕਿਸੇ ਵੀ ਡਿਵਾਈਸ ਤੇ ਹਰ ਕਿਸਮ ਦੇ ਸਰੋਤਾਂ ਤੋਂ ਵਿਵਸਥਿਤ ਕਰੋ ਅਤੇ ਦੇਖੋ.","WEBSITE_WHAT_IS_STREMIO_P2":"ਮੂਵੀਜ਼ ਟੀਵੀ ਲੜੀ ਲਾਈਵ ਟੈਲੀਵੀਜ਼ਨ ਜਾਂ ਵੈੱਬ ਚੈਨਲਾਂ ਜਿਵੇਂ ਕਿ ਯੂਟਿ ube ਬ ਅਤੇ ਟਵਿਚ.ਟੀਵੀ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ - ਤੁਸੀਂ ਇਸ ਨੂੰ ਸਟਰਾਮੀ \'ਤੇ ਪਾ ਸਕਦੇ ਹੋ.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"ਸਟ੍ਰੀਮਿਓ ਇਕ ਆਧੁਨਿਕ ਮੀਡੀਆ ਸੈਂਟਰ ਹੈ ਜੋ ਤੁਹਾਡੇ ਵੀਡੀਓ ਮਨੋਰੰਜਨ ਲਈ ਏ-ਸਟਾਪ ਹੱਲ ਹੈ.ਤੁਸੀਂ ਇਸ਼ਤਿਹਾਰ ਸਥਾਪਤ ਕਰਨ ਲਈ ਵੀਡੀਓ ਸਮੱਗਰੀ ਨੂੰ ਵੇਖਦੇ ਹੋ ਅਤੇ ਪ੍ਰਬੰਧ ਕਰਦੇ ਹੋ.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"ਫਿਲਮਾਂ ਟੀਵੀ ਲਾਈਵ ਟੀਵੀ ਜਾਂ ਵੈੱਬ ਚੈਨਲ ਦਰਸਾਉਂਦੀਆਂ ਹਨ - ਸਟ੍ਰਾਬੇਈਓ ਤੇ ਇਸ ਸਭ ਨੂੰ ਲੱਭੋ.","WEBSITE_ENJOI_ON_ALL_DEVICES":"ਆਪਣੇ ਸਾਰੇ ਮੀਡੀਆ ਉਪਕਰਣਾਂ ਦਾ ਅਨੰਦ ਲਓ","WEBSITE_DEVICES_COLLECT":"ਸਟ੍ਰੀਮਿਓ ਤੋਂ ਲਓ","WEBSITE_DEVICES_IMPORT_FB":"ਫੇਸਬੁੱਕ ਤੋਂ ਆਯਾਤ ਕਰੋ","WEBSITE_DEVICES_LOCAL":"ਸਥਾਨਕ ਡਰਾਈਵ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ","WEBSITE_JOIN_THE_PARTY_NOW":"ਹੁਣ ਪਾਰਟੀ ਵਿਚ ਸ਼ਾਮਲ ਹੋਵੋ","WEBSITE_DEVICES_ALL":"ਤੁਹਾਡੀਆਂ ਸਾਰੀਆਂ ਡਿਵਾਈਸਾਂ ਤੇ ਵਰਤਣ ਵਿੱਚ ਅਸਾਨ;","WEBSITE_EXTENDABLE_CATALOG":"ਅਨੰਤ ਤੌਰ ਤੇ ਫੈਲਣਯੋਗ ਵੀਡੀਓ ਕੈਟਾਲਾਗ;","WEBSITE_ORGANIZE_YOUR_MEDIA":"ਆਪਣੇ ਮੀਡੀਆ ਨੂੰ ਸੰਗਠਿਤ ਕਰਨ ਲਈ ਬਹੁਤ ਵਧੀਆ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ;","WEBSITE_AS_SEEN_ON":"ਜਿਵੇਂ ਦੇਖਿਆ ਗਿਆ ਹੈ","WEBSITE_STREMIO":"ਮਿਸ਼ਰਿਤ","WEBSITE_LINK_ABOUT_US":"ਸਾਡੇ ਬਾਰੇ","WEBSITE_LINK_TECHNOLOGY":"ਟੈਕਨੋਲੋਜੀ","WEBSITE_LINK_APPS":"ਐਪਸ","WEBSITE_LINK_DOWNLOADS":"ਡਾਉਨਲੋਡ ਕਰੋ","WEBSITE_MORE":"ਹੋਰ","WEBSITE_LINK_ADDONS":"ਹੋਰ ਜੋੜਨਾ","WEBSITE_LINK_ADDON_SDK":"ਅਡੇਨ ਐਸ.ਡੀ.ਕੇ.","WEBSITE_LINK_CONTRIBUTE":"ਯੋਗਦਾਨ","WEBSITE_LINK_COMMUNITY":"ਕਮਿ Community ਨਿਟੀ","WEBSITE_LINK_BLOG":"ਬਲਾੱਗ","WEBSITE_MORE_MORE":"... & ਹੋਰ","WEBSITE_LINK_HELP":"ਸਹਾਇਤਾ ਕੇਂਦਰ","WEBSITE_LINK_CONTACTS":"ਵਪਾਰਕ ਪੁੱਛਗਿੱਛ","WEBSITE_LINK_TOS":"ਨਿਬੰਧਨ ਅਤੇ ਸ਼ਰਤਾਂ","WEBSITE_LINK_PRAVACY":"ਪਰਾਈਵੇਟ ਨੀਤੀ","WEBSITE_SUBSCRIBE":"ਸਬਸਕ੍ਰਾਈਬ ਕਰਨ ਲਈ","WEBSITE_NEWSLETTER":"ਹੈਰਾਨੀਜਨਕ ਉਪਕਰਣਾਂ ਲਈ ਸਾਡੇ ਨਿ newslet ਜ਼ਲੈਟਰ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ","WEBSITE_PLACEHOLDER_EMAIL":"ਤੁਹਾਡੀ ਈਮੇਲ","WEBSITE_COMMUNITY":"ਕਮਿ Community ਨਿਟੀ","WEBSITE_LINK_PRAVACY_LEGAL":"ਸੇਲਿਬ੍ਰਿਟੀ ਅਤੇ ਕਾਨੂੰਨੀ","WEBSITE_WHY":"ਅਸੀਂ ਕਿਉਂ ਕਰਦੇ ਹਾਂ","WEBSITE_WHY_P1":"ਸਟ੍ਰੀਮਿਓ ਵਿਚ ਅਸੀਂ ਹਰ ਰੋਜ਼ ਕੰਮ ਤੇ ਆਉਂਦੇ ਹਾਂ ਕਿਉਂਕਿ ਅਸੀਂ ਵੀਡੀਓ-ਆਨ-ਡਿਮਾਂਡ ਉਦਯੋਗ ਲਈ ਕਿਸੇ ਮਹੱਤਵਪੂਰਣ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ.ਹਰ ਮਿੰਟ ਵਿਚ ਅਜਿਹੀ ਨਵੀਂ ਸਮੱਗਰੀ ਪ੍ਰਕਾਸ਼ਤ ਹੁੰਦੀ ਹੈ ਜੋ ਤੁਹਾਡੇ ਆਲੇ ਦੁਆਲੇ ਦਾ ਰਸਤਾ ਲੱਭਣ ਵਿਚ ਲਗਭਗ ਅਸੰਭਵ ਹੈ.","WEBSITE_WHY_P2":"ਅਸੀਂ ਲੋਕਾਂ ਨੂੰ ਮਨੋਰੰਜਨ ਦੀ ਵਿਸ਼ਾਲ ਦੁਨੀਆਂ ਉੱਤੇ ਨੈਵੀਗੇਟ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦੇ ਹਾਂ ਅਤੇ ਅਨੰਦ ਲੈਣ ਲਈ ਨਵੀਆਂ ਸਮੱਗਰੀਆਂ ਦੀ ਖੋਜ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦੇ ਹਾਂ.ਸਾਡੇ ਐਪਸ ਹੋਰ ਫਿਲਮ ਸੀਰੀਜ਼ ਲਾਈਵ ਵੈੱਬ ਚੈਨਲ ਅਤੇ ਹੋਰ ਲਿਆਉਂਦੇ ਹਨ.ਅਸੀਂ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਸਮਰਪਿਤ ਹਾਂ ਇਸ ਨੂੰ ਸਿਰਲੇਖਾਂ ਅਤੇ ਪ੍ਰਸਾਰਿਤਾਂ ਨੂੰ ਲੱਭਣਾ ਅਵਿਸ਼ਵਾਸ਼ਯੋਗ ਅਸਾਨ ਬਣਾਉਣ ਲਈ.","WEBSITE_WHY_P3":"ਤੁਸੀਂ ਸਾਡੀ ਸੇਵਾ ਕਿਸੇ ਵੀ ਡਿਵਾਈਸ ਤੇ ਵਰਤ ਸਕਦੇ ਹੋ ਅਤੇ ਕਿਸੇ ਵੀ ਸਮੇਂ ਇੱਕ ਸਟ੍ਰੀਮਿਓ ਬਣਾਉਣ ਲਈ ਤੁਹਾਨੂੰ ਕਦੇ ਵੀਡਿਓ ਮਨੋਰੰਜਨ ਹੱਬ ਬਣਾਉਣ ਦੀ ਜ਼ਰੂਰਤ ਹੋਏਗੀ.","WEBSITE_TEAM":"ਟੀਮ","WEBSITE_TEAM_P":"ਸਟ੍ਰੀਮਿਓ ਟੀਮ ਇਕ ਛੋਟੀ ਜਿਹੀ ਪਰ ਸ਼ਕਤੀਸ਼ਾਲੀ ਹੈ: ਸਾਡੇ ਵਿਚੋਂ 10 ਅਸੀਂ ਇਸ਼ਤਿਹਾਰਬਾਜ਼ੀ ਅਤੇ ਕਾਰੋਬਾਰ ਅਤੇ ਸਟਾਰਟਅਪਾਂ ਵਿਚ ਕੋਡ ਅਤੇ ਸਾੱਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਯੂਆਈ ਅਤੇ ਯੂਐਕਸ ਡਿਜ਼ਾਈਨ ਮਾਰਕੀਟਿੰਗ ਅਤੇ ਮਹਾਰਤ ਸਾਂਝੇ ਕਰਦੇ ਹਾਂ.","WEBSITE_FEATURES":"ਗੁਣ","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"ਨਵੀਂ ਸਮੱਗਰੀ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਖੋਜੋ","WEBSITE_FEATURES_DISCOVER_P":"ਟੀਵੀ ਸ਼ੋਅ ਲੜੀਵਾਰ ਅਤੇ ਚੈਨਲਾਂ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਨਵੀਂਆਂ ਫਿਲਮਾਂ ਲੱਭੋ.ਸ਼੍ਰੇਣੀ ਸ਼ੈਲੀ ਦੇ ਰੇਟਿੰਗਸ ਪਕਵਾਨਾਂ ਦੁਆਰਾ ਬ੍ਰਾ Browse ਜ਼ ਕਰੋ ਅਤੇ ਬਸ ਲੱਭਣ ਲਈ ਇੱਕ ਨਾਮ ਟਾਈਪ ਕਰੋ.ਸਟ੍ਰੀਮਿਓ ਨਵੇਂ ਵੀਡੀਓ ਸਮਗਰੀ ਕੇਕ ਲੱਭਣ ਦਾ ਇੱਕ ਟੁਕੜਾ ਬਣਾਉਂਦਾ ਹੈ.","WEBSITE_FEATURES_ALL_CONTENT":"ਸਕ੍ਰੀਨ ਤੇ ਤੁਹਾਡੀ ਵੀਡੀਓ ਸਮਗਰੀ","WEBSITE_FEATURES_ALL_CONTENT_P1":"ਵੇਖੋ ਕਿ ਤੁਸੀਂ ਕਿਹੜੀਆਂ ਫਿਲਮਾਂ ਜਾਂ ਵਿਡੀਓਜ਼ ਨੂੰ ਖਤਮ ਨਹੀਂ ਕਰਦੇ ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਦੇਖਦੇ ਰਹੋ;ਨਵੇਂ ਐਪੀਸੋਡਾਂ ਅਤੇ ਰੀਲੀਜ਼ਾਂ ਲਈ ਸੂਚਿਤ ਕੀਤਾ ਜਾਵੇ;ਅਤੇ ਸਿਫਾਰਸ਼ਾਂ ਨੂੰ ਵੇਖਾਓ ਜੋ ਤੁਸੀਂ ਆਪਣੀਆਂ ਦੇਖਣ ਵਾਲੀਆਂ ਆਦਤਾਂ ਦੇ ਅਧਾਰ ਤੇ ਪ੍ਰਾਪਤ ਕਰੋਗੇ.","WEBSITE_FEATURES_LIBRARY":"ਆਪਣੀ ਵੀਡੀਓ ਲਾਇਬ੍ਰੇਰੀ ਦਾ ਪ੍ਰਬੰਧ ਕਰੋ","WEBSITE_FEATURES_LIBRARY_P1":"ਆਪਣੀ ਸਟ੍ਰੀਮਿਓ ਲਾਇਬ੍ਰੇਰੀ ਲਈ ਕਿਸੇ ਵੀ ਕਲਿਕ ਨਾਲ ਕੋਈ ਸਿਰਲੇਖ ਸ਼ਾਮਲ ਕਰੋ ਅਤੇ ਆਪਣੀ ਸਮਗਰੀ ਨੂੰ ਚੰਗੀ ਤਰ੍ਹਾਂ ਯੋਜਨਾਬੱਧ ਤਰੀਕੇ ਨਾਲ ਸੰਗਠਿਤ ਕਰੋ.","WEBSITE_FEATURES_CALENDAR":"ਜੋ ਤੁਸੀਂ ਦੇਖਦੇ ਹੋ ਉਸ ਦਾ ਧਿਆਨ ਰੱਖੋ","WEBSITE_FEATURES_CALENDAR_P1":"ਆਪਣੀ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ ਸਾਰੀਆਂ ਫਿਲਮਾਂ ਅਤੇ ਲੜੀ ਦਾ ਕੈਲੰਡਰ ਦਿੱਖ ਪ੍ਰਾਪਤ ਕਰੋ.ਆਪਣਾ ਡਾਈਮੀਆਈ ਕੈਲੰਡਰ ਐਕਸਪੋਰਟ ਕਰੋ ਅਤੇ ਇਸਨੂੰ ਹਮੇਸ਼ਾਂ ਜਾਣੋ ਕਿ ਜਦੋਂ ਕੋਈ ਨਵਾਂ ਐਪੀਸੋਡ ਜਾਂ ਪ੍ਰੀਮੀਅਰ ਭੁਗਤਾਨ ਯੋਗ ਹੋਵੇ ਤਾਂ ਇਸ ਨੂੰ ਹਮੇਸ਼ਾਂ ਸਮਾਪਤ ਕਰੋ.","WEBSITE_FEATURES_BIG_SCREEN":"ਇੱਕ ਵੱਡੀ ਸਕ੍ਰੀਨ ਤੇ ਆਪਣੀ ਵੀਡੀਓ ਸਮੱਗਰੀ ਦਾ ਅਨੰਦ ਲਓ","WEBSITE_FEATURES_BIG_SCREEN_P1":"ਜੋ ਵੀ ਤੁਸੀਂ ਕਿਸੇ ਹੋਰ ਡਿਵਾਈਸ ਤੇ ਦੇਖ ਰਹੇ ਹੋ, ਇਸ ਨੂੰ ਸੁੱਟੋ - ਕੀ ਇਹ ਇੱਕ ਕਲਿੱਕ ਨਾਲ ਫੋਨ ਦੀ ਗੋਲੀ ਜਾਂ ਟੀਵੀ ਹੈ.","WEBSITE_FEATURES_SOURCES":"ਬਹੁਤ ਸਾਰੇ ਵੱਖ ਵੱਖ ਸਰੋਤਾਂ ਤੋਂ ਵੀਡੀਓ ਵੇਖੋ","WEBSITE_FEATURES_SOURCES_P":"ਬਹੁਤ ਸਾਰੇ ਵੱਖ-ਵੱਖ ਪ੍ਰਦਾਤਾਵਾਂ ਤੋਂ ਪ੍ਰਾਪਤ ਹੋਏ ਵੀਡੀਓ ਦਾ ਅਨੰਦ ਲੈਣ ਲਈ ਅਧਿਕਾਰਤ ਅਤੇ ਕਮਿ Community ਨਿਟੀ ਵਿਗਿਆਪਨਾਂ ਸਥਾਪਤ ਕਰੋ - ਐਪ ਵਿੱਚ ਸਾਰੀ ਨਿਰਵਿਘਨ ਵਰਤੋਂ.","WEBSITE_CREATE_AN_ADDON":"ਇੱਕ ਅਡਿਨ ਬਣਾਓ","WEBSITE_FEATURES_SYNC":"ਆਪਣੀ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਵੱਖ ਵੱਖ ਯੰਤਰਾਂ ਵਿੱਚ ਡੁੱਬੋ ਅਤੇ ਆਪਣੇ ਪਲੇਬੈਕ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰੋ","WEBSITE_FEATURES_SYNC_P1":"ਆਪਣੇ ਸਾਰੇ ਯੰਤਰਾਂ ਵਿੱਚ ਆਪਣੇ ਖਾਤੇ ਤੋਂ ਲੌਗਇਨ ਕਰੋ ਅਤੇ ਆਪਣੇ ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਇਸ਼ਤਿਹਾਰ ਪਲੇਬੈਕ ਅਤੇ ਕੈਲੰਡਰ ਸਮਕਾਲੀ ਦਾ ਅਨੰਦ ਲਓ.","WEBSITE_FEATURES_EXTENDABLE":"ਇਸ਼ਤਿਹਾਰਾਂ ਦੁਆਰਾ ਵੀਡਿਓ ਵੀਡੀਓ ਕੈਟਾਲਾਗ","WEBSITE_FEATURES_EXTENDABLE_P1":"ਸਟ੍ਰੀਮਿਓ ਐਡਨ ਕੈਟਾਲਾਗ ਸਥਾਪਤ ਕਰਨ ਅਤੇ ਵੀਡੀਓ ਸਮਗਰੀ ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਅਤੇ ਕਈ ਤਰ੍ਹਾਂ ਦੇ ਨਜ਼ਰੀਏ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ.ਇਸ ਵਿੱਚ, ਫਿਲਮਾਂ ਲਾਈਵ ਟੀਵੀ ਸਪੋਰਟ ਨਿ News ਜ਼ ਪੋਡਕਾਸਟ ਵੈੱਬ ਚੈਨਲ ਵੀਡੀਓ ਗੇਮਜ਼ ਅਤੇ ਹੋਰ ਵੀ.","WEBSITE_FEATURES_AUTO_SUBS":"ਆਟੋਮੈਟਿਕ ਉਪਸਿਰਲੇਖ","WEBSITE_FEATURES_AUTO_SUBS_P1":"ਸਾਡੇ ਉਪਸਿਰਲੇਖ ਇਸ਼ਤਿਹਾਰਾਂ ਨਾਲ ਤੁਸੀਂ ਆਪਣੀ ਮਨਪਸੰਦ ਭਾਸ਼ਾ ਲਈ ਆਪਣੇ ਆਪ ਚੁਣੇ ਵਿਕਲਪ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹੋ.","WEBSITE_FEATURES_CHROMECAST":"ਕ੍ਰੋਮਾਸਟ ਲਈ ਸੁੱਟਣਾ","WEBSITE_FEATURES_CHROMECAST_P1":"ਇੱਕ ਵੱਡੀ ਸਕ੍ਰੀਨ ਜਾਂ ਜੋ ਵੀ ਤੁਸੀਂ ਕਿਸੇ ਹੋਰ ਡਿਵਾਈਸ ਤੇ ਵੇਖ ਰਹੇ ਹੋ ਇੱਕ ਵੱਡੀ ਸਕ੍ਰੀਨ ਜਾਂ ਜੋ ਵੀ ਤੁਸੀਂ ਵੇਖ ਰਹੇ ਹੋ ਆਪਣੇ ਵੀਡੀਓ ਸਮਗਰੀ ਦਾ ਅਨੰਦ ਲਓ.","WEBSITE_FEATURES_KEEP_TRACK":"ਆਪਣੇ ਮਨਪਸੰਦ ਟੀਵੀ ਸ਼ੋਅ ਅਤੇ ਵੈਬ ਚੈਨਲਾਂ ਦਾ ਰਿਕਾਰਡ ਰੱਖੋ","WEBSITE_FEATURES_KEEP_TRACK_P1":"ਆਪਣੀ ਮਨਪਸੰਦ ਲੜੀ ਅਤੇ ਵੈਬ ਚੈਨਲਾਂ ਦੇ ਨਵੇਂ ਐਪੀਸੋਡਾਂ ਲਈ ਕੈਲੰਡਰ ਦਿੱਖ ਅਤੇ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰੋ.","WEBSITE_FEATURES_POWER_USER":"ਪਾਵਰ ਉਪਭੋਗਤਾ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ","WEBSITE_FEATURES_POWER_USER_P1":"ਬਾਹਰੀ ਖਿਡਾਰੀ ਵਿੱਚ ਖੇਡੋ","WEBSITE_FEATURES_POWER_USER_P2":"ਟੋਰੈਂਟ ਫਾਈਲ ਜਾਂ ਚੁੰਬਕ ਲਿੰਕ ਨਾਲ ਖੇਡੋ","WEBSITE_FEATURES_POWER_USER_P3":"ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਲਈ ਫੇਸਬੁੱਕ ਦੀ ਚੋਣ ਜਾਂ ਸਥਾਨਕ ਡਿਸਕ ਆਯਾਤ ਕਰੋ","WEBSITE_ADD_ONS":"ਹੋਰ ਜੋੜਨਾ","WEBSITE_ADD_ONS_P1":"ਸਾਰੇ ਵੀਡੀਓ ਸਮਗਰੀ ਸਟ੍ਰੀਮਿਓ ਨੂੰ ਇੱਕ ਅਡਿਨ ਸਿਸਟਮ ਦੁਆਰਾ ਸਰੋਤ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ - ਐਪ ਵਿੱਚ ਕੋਈ ਮਾੜਾ ਜਾਂ ਪਦਾਰਥਕ ਪ੍ਰਦਾਤਾ ਨਹੀਂ ਬਣਾਇਆ ਜਾਂਦਾ.","WEBSITE_ADD_ONS_P2":"ਇਸ਼ਤਿਹਾਰਾਂ ਦੇ ਦੋ ਸਮੂਹ ਉਪਲਬਧ ਹਨ: ਅਧਿਕਾਰਤ ਅਤੇ ਕਮਿ Community ਨਿਟੀ ਵਿਗਿਆਪਨ.","WEBSITE_ADD_ONS_P3":"ਕਮਿ Community ਨਿਟੀ ਵਿਗਿਆਪਨਾਂ ਦੁਆਰਾ ਅਧਿਕਾਰਤ ਲੋਕ ਵਿਕਸਤ ਅਤੇ ਮੇਜ਼ਬਾਨ ਸਟ੍ਰੀਮਿਓ ਦੁਆਰਾ ਮੇਜ਼ਬਾਨੀ ਕੀਤੇ ਗਏ ਹਨ, ਜੋ ਕਿ ਸਟ੍ਰੀਮਿਓ ਦੁਆਰਾ ਹੋਸਟ ਕੀਤੇ ਗਏ ਹਨ.","WEBSITE_ADDONS_OFFICIAL":"ਸਰਕਾਰੀ ਐਡਨਜ਼","WEBSITE_ADDONS_WATCHUB":"ਆਪਣੀਆਂ ਮਨਪਸੰਦ ਫਿਲਮਾਂ ਲੜੀ ਨੂੰ ਸਟ੍ਰੀਮ ਕਰੋ ਅਤੇ ਆਈਟਿ es ਨਜ਼ ਹੂਲੂ ਐਮਾਜ਼ਾਨ ਅਤੇ ਹੋਰ ਯੂਕੇ / ਅਮਰੀਕੀ ਸੇਵਾਵਾਂ ਦਿਖਾਓ.","WEBSITE_ADDONS_YOUTUBE":"ਆਪਣੇ ਮਨਪਸੰਦ ਯੂਟਿ ube ਬ ਚੈਨਲਾਂ ਨੂੰ ਮਸ਼ਹੂਰੀ ਕਰੋ ਅਤੇ ਯੋਗਦਾਨ ਪਾਉਣ ਵਾਲਿਆਂ ਤੋਂ ਨਵੇਂ ਅਪਲੋਡਾਂ ਲਈ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰੋ.","WEBSITE_ADDONS_FILMON":"ਲਾਈਵ ਟੀਵੀ ਫਿਲਮਾਂ ਅਤੇ ਸਮਾਜਿਕ ਟੈਲੀਵਿਜ਼ਨ ਮੁਫਤ ਵਿੱਚ ਵੇਖੋ.600 ਟੀਵੀ ਚੈਨਲ 45000 ਮੁਫਤ ਫਿਲਮਾਂ ਦਸਤਾਵੇਜ਼ੀ ਅਤੇ ਹੋਰ ਵੀ.","WEBSITE_ADDONS_OPENSUBTITLES":"ਬਹੁਤ ਸਾਰੀਆਂ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਹਜ਼ਾਰਾਂ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਹਰ ਰੋਜ਼ ਫਿਲਮ ਅਤੇ ਟੀਵੀ ਉਪਸਿਰਲੇਖਾਂ ਨੂੰ ਅਪਲੋਡ ਕੀਤਾ ਗਿਆ ਸੀ.","WEBSITE_ADDONS_COMMUNITY":"ਕਮਿ Community ਨਿਟੀ ਵਿਗਿਆਪਨ","WEBSITE_ADDONS_FILMON_VOD":"ਫਿਲਮਾਂ ਤੋਂ ਮੰਗ \'ਤੇ ਵੀਡੀਓ ਦੇਖੋ","WEBSITE_ADDONS_TWICH":"ਟਵਿਟਚ.ਟੀਵੀ ਤੋਂ ਲਾਈਵ ਸਟ੍ਰੀਮ ਵੇਖੋ - ਈ -s ਪੋਰਟਾਂ ਉਦਯੋਗ ਲਈ ਇੱਕ ਵੀਡੀਓ ਸਟ੍ਰੀਮਿੰਗ ਪਲੇਟਫਾਰਮ.","WEBSITE_ADDONS_VODO":"ਇੰਡੀ ਫਿਲਮਾਂ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਮੁਫਤ ਦੇਖੋ.","WEBSITE_ADDONS_NETFLIX":"ਨੈੱਟਫਲਿਕਸ ਫਿਲਮਾਂ ਅਤੇ ਵੈੱਬ ਲੜੀ ਵੇਖੋ.","WEBSITE_ADDONS_CREATE":"ਇੱਕ ਅਡਿਨ ਬਣਾਓ","WEBSITE_ADDONS_CREATE_P1":"ਜੇ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਆਪਣਾ ਅਡਿਨ ਵਿਕਸਿਤ ਕਰ ਸਕਦੇ ਹੋ.ਇਸ ਤਰੀਕੇ ਨਾਲ ਤੁਸੀਂ ਆਪਣੇ ਆਪ ਨੂੰ ਅਤੇ ਕਮਿ community ਨਿਟੀ ਨੂੰ ਨਵੀਂ ਵੀਡੀਓ ਸਮਗਰੀ ਤੱਕ ਪਹੁੰਚ ਸਕਦੇ ਹੋ ਅਤੇ ਵਿਸ਼ਵ ਭਰ ਦੇ ਲੱਖਾਂ ਉਪਭੋਗਤਾਵਾਂ ਦੇ ਨਵੇਂ ਉਪਭੋਗਤਾ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ.","WEBSITE_ADDONS_START_CREATE":"ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸਟ੍ਰੀਮਿਓ ਐਡੋਨ ਐਸਡੀਕੇ ਪੇਜ ਤੇ ਜਾਓ:","WEBSITE_DOWNLOADS":"ਡਾਉਨਲੋਡ ਕਰੋ","WEBSITE_DOWNLOADS_P1":"ਅਨੁਕੂਲ ਕਾਰਗੁਜ਼ਾਰੀ ਲਈ ਅਸੀਂ ਤੁਹਾਨੂੰ ਸਿਫਾਰਸ਼ ਕਰਦੇ ਹੋ ਕਿ ਤੁਸੀਂ ਸਟ੍ਰੀਮਿਓ ਐਪਸ ਦੇ ਨਵੀਨਤਮ ਉਪਲੱਬਧ ਸੰਸਕਰਣ ਦੀ ਵਰਤੋਂ ਕਰੋ.ਜੇ ਕਿਸੇ ਕਾਰਨ ਕਰਕੇ ਤੁਸੀਂ ਪੁਰਾਣੇ ਸੰਸਕਰਣ ਨੂੰ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਇਸਨੂੰ ਇੱਥੇ ਡਾ download ਨਲੋਡ ਕਰ ਸਕਦੇ ਹੋ.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"ਵਿੰਡੋਜ਼ ਲਈ ਸਟ੍ਰੀਮਿਓ","WEBSITE_DOWNLOADS_FOR_MAC":"ਮੈਕੋਜ਼ ਲਈ ਸਟ੍ਰੀਮਿਓ","WEBSITE_DOWNLOADS_FOR_LINUX":"ਲੀਨਕਸ ਲਈ ਸਟ੍ਰੀਮਿਓ","WEBSITE_DOWNLOADS_FOR_ANDROID":"ਐਂਡਰਾਇਡ ਲਈ ਸੋਟਾਂ","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"ਆਈਓਐਸ ਲਈ ਸਟ੍ਰੀਮਿਓਓ (ਸੀਮਤ ਸੰਸਕਰਣ)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"ਯੋਗਦਾਨ","WEBSITE_CONTRIBUTE_P1":"ਸਟ੍ਰੀਮਿਓ ਪਲੇਟਫਾਰਮ ਖੁੱਲਾ ਸਰੋਤ ਹੈ ਅਤੇ ਤੁਸੀਂ ਆਸਾਨੀ ਨਾਲ ਉਸ ਸਮੱਗਰੀ ਲਈ ਇੱਕ ਅਡਿਨ ਬਣਾ ਸਕਦੇ ਹੋ ਜੋ ਇਸ ਸਮੇਂ ਸਰੋਤ ਨਹੀਂ ਹੈ.","WEBSITE_CONTRIBUTE_WHY":"ਤੁਹਾਨੂੰ ਅਡੇਨ ਕਿਉਂ ਬਣਾਇਆ ਚਾਹੀਦਾ ਹੈ?","WEBSITE_CONTRIBUTE_WHY_P1":"ਆਪਣੀ ਵੀਡੀਓ ਸਮੱਗਰੀ ਲਈ ਨਵੇਂ ਦਰਸ਼ਕਾਂ ਤੱਕ ਪਹੁੰਚੋ","WEBSITE_CONTRIBUTE_WHY_P2":"ਸਟ੍ਰਾਬੀਓ ਦਾ ਉਪਭੋਗਤਾ ਅਧਾਰ ਤੇਜ਼ੀ ਨਾਲ ਵੱਧ ਰਿਹਾ ਹੈ - 4 ਮਿਲੀਅਨ ਉਪਯੋਗਕਰਤਾ ਲਾਂਚ ਕੀਤੇ ਸਟ੍ਰਾਬੀਓ ਦੇ ਪਹਿਲੇ ਸਾਲ ਦੇ ਅੰਦਰ ਪ੍ਰਾਪਤ ਕੀਤੇ ਗਏ ਸਨ ਅਤੇ ਪਲੇਟਫਾਰਮ ਦੀ ਹੋਂਦ ਦੇ ਦੂਜੇ ਸਾਲ ਵਿੱਚ ਗਿਣਤੀ ਵਿੱਚ 2.5 ਮਿਲੀਅਨ ਵਿੱਚ ਵਾਧਾ ਹੋਇਆ ਸੀ.","WEBSITE_CONTRIBUTE_WHY_P3":"ਤੁਹਾਡੇ ਅਡਿਨ ਨਾਲ ਤੁਸੀਂ ਇਸ ਦਰਸ਼ਕਾਂ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਪਹੁੰਚ ਸਕਦੇ ਹੋ ਅਤੇ ਆਪਣੀ ਵੀਡੀਓ ਸਮੱਗਰੀ ਨੂੰ ਵੰਡ ਸਕਦੇ ਹੋ.","WEBSITE_CONTRIBUTE_ALL":"ਆਪਣੀ ਮਨਪਸੰਦ ਫਿਲਮਾਂ ਵੀਡੀਓ ਲੜੀ ਅਤੇ ਚੈਨਲ ਇਕ ਜਗ੍ਹਾ \'ਤੇ ਦੇਖੋ.","WEBSITE_CONTRIBUTE_ALL_P1":"ਤੁਸੀਂ ਕਿਸੇ ਵਿਸ਼ੇਸ਼ ਕਿਸਮ ਦੀ ਸਮੱਗਰੀ ਦੇ ਪ੍ਰਸ਼ੰਸਕ ਹੋ ਜੋ ਅਜੇ ਤੱਕ ਸਟ੍ਰਾਬੀਓ ਤੇ ਉਪਲਬਧ ਨਹੀਂ ਹਨ?ਇਸ ਲਈ ਇੱਕ ਅਡਿਨ ਬਣਾਓ ਅਤੇ ਮਾਰਕੀਟ ਤੇ ਮਨੋਰੰਜਨ ਕੇਂਦਰਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਵਿੱਚ ਆਪਣੀ ਮਨਪਸੰਦ ਵੀਡੀਓ ਦਾ ਅਨੰਦ ਲਓ.","WEBSITE_CONTRIBUTE_ALL_P2":"ਇਸ ਦੇ ਸਿਖਰ \'ਤੇ, ਤੁਹਾਨੂੰ ਹੋਰ ਸਮਾਨ ਪਲੇਮੀਓ ਕਮਿ community ਨਿਟੀ ਦੇ ਮੈਂਬਰਾਂ ਲਈ ਬੇਅੰਤ ਸ਼ੁਕਰਗੁਜ਼ਾਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ.","WEBSITE_CONTRIBUTE_MONETIZE":"ਆਪਣੇ ਅਡਿ oun ਨ ਕਰੋ ਅਤੇ ਆਪਣੀ ਮਦਦ ਨਾਲ ਪੈਸਾ ਕਮਾਓ","WEBSITE_CONTRIBUTE_MONETIZE_P1":"ਇਕ ਵਾਰ ਜਦੋਂ ਤੁਸੀਂ ਸਟ੍ਰੀਮਿਓ ਲਈ ਨਵਾਂ ਅਡਿਨ ਵਿਕਸਿਤ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਇਸ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਕਈ ਤਰੀਕਿਆਂ ਨਾਲ ਧੋਖਾ ਦੇ ਸਕਦੇ ਹੋ.ਸੰਪਰਕ ਕਰਨ ਲਈ ਮੁਫ਼ਤ ਮਹਿਸੂਸ ਕਰੋ ਜੇ ਤੁਸੀਂ ਇਸ ਬਾਰੇ ਵਿਚਾਰ ਕਰ ਰਹੇ ਹੋ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":"- ਅਸੀਂ ਸਲਾਹ \'ਤੇ ਖੁਸ਼ ਹੋਵਾਂਗੇ ਅਤੇ ਅਡੇਨ ਮੂਡੀਆਫਿਕੇਸ਼ਨ ਵਿਕਲਪਾਂ ਦੀ ਸਲਾਹ ਦੇਵਾਂਗੇ.","WEBSITE_CONTRIBUTE_TRANSLATE":"ਵਲੰਟੀਅਰ ਅਨੁਵਾਦਕ ਬਣੋ","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"ਜੇ ਤੁਸੀਂ ਵੱਖ-ਵੱਖ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਸਟ੍ਰਾਬੇਰੀ ਐਪਸ ਦਾ ਅਨੰਦ ਲੈਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਸਵੈਇੱਛੁਕ ਅਨੁਵਾਦਕਾਂ ਦੇ ਕਮਿ community ਨਿਟੀ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋ ਸਕਦੇ ਹੋ.ਉਹ ਸਾਡੀ ਮਦਦ ਕਰਨ ਲਈ ਸਾਡੀ ਵੱਖੋ ਵੱਖਰੀਆਂ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨ ਵਿੱਚ ਸਾਡੀ ਸਹਾਇਤਾ ਕਰਦੇ ਹਨ.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"ਕੀ ਤੁਸੀਂ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਉਤਸੁਕ ਹੋ?","WEBSITE_TRANSALTE_STREMIO":"ਸਟ੍ਰੀਮਿਓ ਦਾ ਅਨੁਵਾਦ ਕਰੋ","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"ਸਰਕਾਰੀ ਕਮਿ Community ਨਿਟੀ","WEBSITE_COMMUNITY_OFFICIALS_P1":"ਵਧ ਰਹੀ ਸਟ੍ਰਾਬੀਓ ਭਾਈਚਾਰੇ ਦਾ ਹਿੱਸਾ ਬਣੋ.ਸਾਨੂੰ ਸੋਸ਼ਲ ਮੀਡੀਆ \'ਤੇ ਚੱਲੋ ਅਤੇ ਨਮਸਤੇ ਕਹਿਣ ਲਈ ਸ਼ਰਮਿੰਦਾ ਹੋਵੋ - ਸਾਨੂੰ ਸਾਡੇ ਪ੍ਰਸ਼ੰਸਕਾਂ ਤੋਂ ਸੁਣਨਾ ਪਸੰਦ ਹੈ!","WEBSITE_COMMUNITY_UNOFFICIALS":"ਗੈਰ ਰਸਮੀ ਕਮਿ community ਨਿਟੀ","STREMIO_COMMUNITY_NL":"ਸਟ੍ਰੀਮਿਓ ਨੀਦਰਲੈਂਡਸ","STREMIO_COMMUNITY_BRASIL":"ਸਟ੍ਰੀਮਿਓ ਬ੍ਰਾਸੀਲ","STREMIO_COMMUNITY_GERMANY":"ਸਟ੍ਰੀਮਿਓ ਜਰਮਨੀ","STREMIO_COMMUNITY_BELGIUM":"ਸਕੀਮ ਬੈਲਜੀਅਮ","STREMIO_COMMUNITY_FRANCE":"ਸਟ੍ਰੋਮਣੋ ਫਰਾਂਸ","STREMIO_COMMUNITY_PORTUGAL":"ਸਕੀਮ ਪੁਰਤਗਾਲ","STREMIO_COMMUNITY_ITALY":"ਸਟੈਮੀਓ ਇਟਲੀ","STREMIO_COMMUNITY_UK":"ਸਟ੍ਰੋਮ੍ਰੋਨੋ ਬ੍ਰਿਟੇਨ","STREMIO_COMMUNITY_USA":"ਸਟ੍ਰੈਬੋਰਡੋ ਅਮਰੀਕਾ","STREMIO_COMMUNITY_MEXICO":"ਸਟ੍ਰੀਮਿਓ ਮੈਕਸੀਕੋ","STREMIO_COMMUNITY_ADDONS":"Struct ਾਂਚਾਗਤ ਵਿਗਿਆਪਨ","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"ਭਿਆਨਕ ਸਟ੍ਰੀਮਿਓ","WEBSITE_COMMUNITY_PARTNERS":"ਭਾਈਵਾਲ ਅਤੇ ਸਮਰਥਕ","WEBSITE_COMMUNITY_GOODIES":"ਸਟ੍ਰੀਮਿਓ ਉਪਹਾਰ","WEBSITE_COMMUNITY_WALLPAPERS":"ਵਾਲਪੇਪਰ","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"ਸੰਪਰਕ","WEBSITE_CONTACT_US_P1":"ਜੇ ਤੁਹਾਡੇ ਕੋਈ ਪ੍ਰਸ਼ਨ, ਟਿਪਣੀਆਂ ਜਾਂ ਸੁਝਾਅ ਹੇਠਾਂ ਦਿੱਤੇ ਸੰਪਰਕ ਦੇ ਫਾਰਮ ਰਾਹੀਂ ਸੰਪਰਕ ਵਿੱਚ ਆਉਣ ਲਈ ਸੁਤੰਤਰ ਮਹਿਸੂਸ ਕਰਦੇ ਹਨ.","WEBSITE_CONTACT_US_P2":"ਇਹ ਯਾਦ ਰੱਖੋ ਕਿ ਅਸੀਂ ਬੁਲਗਾਰੀਆ ਵਿਚ ਸਥਿਤ ਹਾਂ, ਇਸ ਲਈ ਸਮੇਂ ਦੇ ਖੇਤਰ ਦੇ ਅੰਤਰ ਦੇ ਕਾਰਨ ਤੁਹਾਡੀ ਪੁੱਛਗਿੱਛ ਨੂੰ ਸੰਬੋਧਿਤ ਕਰਨ ਵਿਚ ਦੇਰੀ ਹੋ ਸਕਦੀ ਹੈ.","WEBSITE_CONTACT_US_SUCCESS":"ਤੁਹਾਡਾ ਸੁਨੇਹਾ ਭੇਜਿਆ ਗਿਆ ਹੈ.ਅਸੀਂ ਤੁਹਾਡੀ ਸਭ ਤੋਂ ਪੁਰਾਣੀ ਸਹੂਲਤ \'ਤੇ ਤੁਹਾਡੇ ਕੋਲ ਵਾਪਸ ਆਵਾਂਗੇ.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਵੈਧ ਈਮੇਲ ਦਰਜ ਕਰੋ!","WEBSITE_CONTACT_US_Q_RELATED_TO":"ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਨ ਨਾਲ ਕਿਸ ਨਾਲ ਸਬੰਧਤ ਹੈ?","WEBSITE_CONTACT_US_Q_OS":"ਤੁਹਾਡਾ ਆਪ੍ਰੇਸ਼ਨ ਸਿਸਟਮ ਕੀ ਹੈ?","WEBSITE_CONTACT_US_PH_EMAIL":"ਤੁਹਾਡੀ ਈਮੇਲ","WEBSITE_CONTACT_US_PH_MESSAGE":"ਸੁਨੇਹਾ","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ਭੇਜੋ","WEBSITE_CONTACT_US_Q_1":"ਕਿਵੇਂ ਇੰਸਟਾਲ ਕਰਨਾ ਹੈ?","WEBSITE_CONTACT_US_Q_2":"ਕਿਵੇਂ ਅਣਇੰਸਟੌਲ ਕਰਨਾ ਹੈ?","WEBSITE_CONTACT_US_Q_3":"(HTML) ਲਾਸਗਨਾ ਕਿਵੇਂ ਬਣਾਈਏ?","WEBSITE_CONTACT_US_Q_4":"ਹੋਰ ਜੋੜਨਾ","WEBSITE_CONTACT_US_OS_1":"ਵਿੰਡੋਜ਼","WEBSITE_CONTACT_US_OS_2":"ਮੈਕ ਓਐਸ","WEBSITE_CONTACT_US_OS_3":"ਲੀਨਕਸ","WEBSITE_CONTACT_US_OS_4":"ਐਂਡਰਾਇਡ","WEBSITE_CONTACT_US_OS_5":"ਆਈਓਐਸ","WEBSITE_TECHNOLOGY":"ਟੈਕਨੋਲੋਜੀ","WEBSITE_TECHNOLOGY_P1":"ਅਸੀਂ ਟੈਕਨਾਲੋਜੀ ਅਤੇ ਪਾਗਲ ਵਿਗਿਆਨ ਨੂੰ ਪਿਆਰ ਕਰਦੇ ਹਾਂ.</br> ਇੱਥੇ ਸ਼ਕਤੀਆਂ ਕੀ ਹਨ (ਇਹ ਸਭ ਖੁੱਲਾ ਸਰੋਤ ਹੈ).","WEBSITE_TECHNOLOGY_P_QT":"ਕਰਾਸ-ਪਲੇਟਫਾਰਮ ਸਾੱਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਵਧੀਆ ਹੈ.","WEBSITE_TECHNOLOGY_P_MPV":"ਇੱਕ ਮੁਫਤ ਓਪਨ ਸੋਰਸ ਅਤੇ ਕਰਾਸ-ਪਲੇਟਫਾਰਮ ਮੀਡੀਆ ਪਲੇਅਰ.","WEBSITE_TECHNOLOGY_P_RN":"ਜਵਾਬ ਦੇਸੀ ਨੇ ਤੁਹਾਨੂੰ ਸਿਰਫ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਦਿਆਂ ਮੋਬਾਈਲ ਐਪਸ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦੇਵਾਂ.","WEBSITE_TECHNOLOGY_P_VLC":"ਮਲਟੀਮੀਡੀਆ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਏਮਬੇਡਡ ਮੀਡੀਆ ਫਰੇਮਵਰਕ.","WEBSITE_TECHNOLOGY_P_REALM":"ਸਕੋਪ ਇੱਕ ਮੋਬਾਈਲ ਪਲੇਟਫਾਰਮ ਹੈ ਅਤੇ SQLite ਅਤੇ ਕੋਰ ਡਾਟੇ ਲਈ ਇੱਕ ਤਬਦੀਲੀ ਹੈ.","WEBSITE_TECHNOLOGY_P_NODEJS":"ਨੋਡ.ਜੇਐਸ ਇੱਕ ਓਪਨ-ਸੋਰਸ ਕ੍ਰਾਸ ਪਲੇਟਫਾਰਮ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਰੰਨਟਾਈਮ ਵਾਤਾਵਰਣ ਹੈ.","WEBSITE_TECHNOLOGY_P_RUST":"ਜੰਗ ਇਕ ਬਹੁ-ਬੁੱਧੀਮਾਨ ਪ੍ਰਣਾਲੀ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਹੈ ਜੋ ਸੁਰੱਖਿਆ \'ਤੇ ਵਿਸ਼ੇਸ਼ ਤੌਰ\' ਤੇ ਸੁਰੱਖਿਅਤ ਸਹਿਮਤੀ \'ਤੇ ਕੇਂਦ੍ਰਤ ਕਰਦੀ ਹੈ.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"ਪ੍ਰੋਜੈਕਟ ਲਈ ਯੋਗਦਾਨ","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"ਸਟ੍ਰੀਮਿਓ ਵਿਚ ਦੋ ਤਰੀਕੇ ਹਨ ਅਤੇ ਉਤਪਾਦ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿਚ ਸਾਡੀ ਮਦਦ ਕਰਦੇ ਹਨ.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"ਤੁਸੀਂ ਪੜਾਅ ਦਾ ਅਨੁਵਾਦ ਕਰਕੇ ਆਪਣੀ ਕੀਮਤੀ ਭਾਸ਼ਾ ਦੇ ਹੁਨਰਾਂ ਦਾਨ ਕਰ ਸਕਦੇ ਹੋ ...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ਜਾਂ","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... ਤੁਸੀਂ ਕਮਿ Community ਨਿਟੀ ਵਿਗਿਆਪਨ ਬਣਾਉਣ ਲਈ ਆਪਣੇ ਕੋਡਿੰਗ ਹੁਨਰਾਂ ਨੂੰ ਵਰਤ ਸਕਦੇ ਹੋ.","WEBSITE_TRANSLATE_STREMIO":"ਸਟ੍ਰੀਮਿਓ ਦਾ ਅਨੁਵਾਦ ਕਰੋ","WEBSITE_404_OH_NO":"ਓਹ ਓ!ਜਿਸ ਪੇਜ ਦੀ ਤੁਸੀਂ ਭਾਲ ਕਰ ਰਹੇ ਹੋ ਉਹ ਇੱਥੇ ਨਹੀਂ ਹੈ ...","WEBSITE_GO_HOME":"ਘਰ ਜਾਓ","WEBSITE_LINK_OTHER_DOWNLOADS":"ਹੋਰ ਡਾਉਨਲੋਡਸ","WEBSITE_FAQ_ABR":"ਆਮ ਸਵਾਲ","WEBSITE_SUPPORT":"ਮਦਦ ਕਰੋ","WEBSITE_DOWNLOAD_4_0_BETA":"ਹੁਣ ਸਟ੍ਰੀਮਿਓ 4 ਬੀਟਾ ਡਾ Download ਨਲੋਡ ਕਰੋ","WEBSITE_GET_FOR_DESKTOP":"ਡੈਸਕਟਾਪ ਲਈ ਜਾਓ","WEBSITE_LINK_ADDON_COMPETITION":"ਐਡਿਨ ਮੁਕਾਬਲਾ","WEBSITE_LINK_ART_CONTEST":"ਕਲਾ ਮੁਕਾਬਲੇ","WEBSITE_MY_ACCOUNT":"ਮੇਰਾ ਖਾਤਾ","WEBSITE_MAINPAGE_FAQ_001_H1":"ਸਟਰਾਮੀ ਕੀ ਹੈ?","WEBSITE_MAINPAGE_FAQ_001_P1":"ਸਟ੍ਰੀਮਿਓ ਇਕ ਆਧੁਨਿਕ ਮੀਡੀਆ ਸੈਂਟਰ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਜੋ ਵੀ ਚਾਹੁੰਦੇ ਹੋ ਮਿਲਣ ਦੀ ਆਜ਼ਾਦੀ ਦਿੰਦਾ ਹੈ.","WEBSITE_MAINPAGE_FAQ_002_H1":"ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ?","WEBSITE_MAINPAGE_FAQ_002_P1":"ਇੱਕ ਵਾਰ ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੀ ਡਿਵਾਈਸ ਤੇ ਇੱਕ ਸਟ੍ਰੀਮੋਸੀਓ ਸਥਾਪਤ ਕਰਦੇ ਹੋ ਅਤੇ ਇੱਕ ਖਾਤਾ ਬਣਾਓ ਜੋ ਤੁਹਾਨੂੰ ਕਰਨਾ ਹੈ, ਇਹ ਅਡਿਨ ਕੈਟਾਲਾਗ ਤੇ ਜਾਣਾ ਅਤੇ ਕੋਈ ਅਡਿਨ ਸਥਾਪਤ ਕਰਨਾ ਚੰਗਾ ਹੈ ਅਤੇ ਤੁਸੀਂ ਜਾਣਾ ਚੰਗਾ ਰਹੇ ਹੋ!","WEBSITE_MAINPAGE_FAQ_002_P2":"ਇਸ ਤੋਂ ਬਾਅਦ ਤੁਸੀਂ ਸਮੱਗਰੀ ਦੀ ਭਾਲ ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਸ਼ੁਰੂਆਤ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਖੋਜ ਜਾਂ ਬੋਰਡ ਦੇ ਭਾਗਾਂ ਤੇ ਜਾ ਸਕਦੇ ਹੋ.","WEBSITE_MAINPAGE_FAQ_003_H1":"ਮੈਂ ਇੱਥੇ ਕੀ ਵੇਖ ਸਕਦਾ ਹਾਂ?","WEBSITE_MAINPAGE_FAQ_003_P1":"ਬਹੁਤ ਕੁਝ: ਫਿਲਮਾਂ ਟੀਵੀ ਸ਼ੋਅ ਵੈੱਬ ਚੈਨਲ ਸਪੋਰਟ ਟੀਵੀ ਚੈਨਲ ਪੋਡਕਾਸਟ ਅਤੇ ਹੋਰ ਸੁਣੋ.ਸਾਡੇ ਅਡਿਨ ਸਿਸਟਮ ਦਾ ਧੰਨਵਾਦ, ਤੁਸੀਂ ਕਈ ਤਰ੍ਹਾਂ ਦੀਆਂ ਸਮੱਗਰੀਆਂ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੇ ਹੋ.","WEBSITE_MAINPAGE_FAQ_004_H1":"ਕੀ ਸਟੀਮੋ ਓਪਨ-ਐਸਓਐਸ ਹੈ?","WEBSITE_MAINPAGE_FAQ_004_P1":"ਹਾਂ ਤੁਸੀਂ ਹੇਠ ਦਿੱਤੇ ਲਿੰਕ ਵੇਖ ਸਕਦੇ ਹੋ: {{1} ਐਪ $ {2} ਅਤੇ $ {3} Github ਕੱਪੜੇ $ {4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"ਕੀ ਸਟ੍ਰਾਮਬੀਨੀ ਸੁਰੱਖਿਅਤ ਹੈ?","WEBSITE_MAINPAGE_FAQ_005_P1":"ਹਾਂ: ਕਿਉਂਕਿ ਇਹ ਓਪਨ-ਸੋਰਸ ਸਾੱਫਟਵੇਅਰ ਕੋਡ ਹੈ ਜਨਤਕ ਤੌਰ \'ਤੇ ਆਡਿਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਤੁਸੀਂ ਇਸ ਦੀ ਖੁਦ ਸਮੀਖਿਆ ਕਰ ਸਕਦੇ ਹੋ.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"ਮੇਰੀ ਨਿੱਜਤਾ ਬਾਰੇ ਕਿਵੇਂ?","WEBSITE_MAINPAGE_FAQ_006_P1":"ਅਸੀਂ ਉਪਭੋਗਤਾਵਾਂ ਦੀ ਨਿੱਜਤਾ ਦਾ ਸਨਮਾਨ ਕਰਦੇ ਹਾਂ ਅਤੇ ਆਪਣੇ ਖਾਤੇ ਨੂੰ ਬਣਾਉਣ ਅਤੇ ਅਨੁਕੂਲ ਕਰਨ ਲਈ ਘੱਟੋ ਘੱਟ ਲੋੜੀਂਦਾ ਕੋਈ ਨਿੱਜੀ ਡੇਟਾ ਇਕੱਠਾ ਨਹੀਂ ਕਰਦਾ.","WEBSITE_MAINPAGE_FAQ_006_P2":"ਸਾਈਨਅਪ ਵਿੱਚ $ {1} ਗੈਸਟ ਮੋਡ $ {2} ਹਨ ਜਿਸ ਲਈ ਕੋਈ ਡਾਟਾ ਲੋੜੀਂਦਾ ਨਹੀਂ ਹੈ: ਇਸ ਮੋਡ ਵਿੱਚ ਸਾਡੇ ਬੈਕਨ ਵਿੱਚ ਕੋਈ ਕਾਲ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ.ਹਾਲਾਂਕਿ ਇਹ ਲਾਭਦਾਇਕ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਕੀਮਤ \'ਤੇ ਆਉਂਦੀ ਹੈ ਜਿਵੇਂ ਕਿ ਤੁਹਾਡੀ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਡਿਵਾਈਸ ਤੇ ਸਿੰਕ ਕਰਨ ਦੇ ਯੋਗ ਹੋਣਾ.","WEBSITE_MAINPAGE_FAQ_007_H1":"ਕੀ ਮੈਂ ਆਪਣੇ ਟੀਵੀ ਵਿਚ ਸ਼ਾਮਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹਾਂ?","WEBSITE_MAINPAGE_FAQ_007_P1":"ਹਾਂ, ਅਸੀਂ ਕਰਾਸਿਸ ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਾਂ ਅਤੇ ਤੁਹਾਨੂੰ ਡੈਸਕਟਾਪ ਅਤੇ ਮੋਬਾਈਲ ਐਪਸ (ਐਂਡਰਾਇਡ) ਤੋਂ ਸ਼ਾਮਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ.","WEBSITE_MAINPAGE_FAQ_008_H1":"ਸਟ੍ਰਾਬੀਓ ਵਿਚ ਕਿੰਨੇ ਇਸ਼ਤਿਹਾਰ ਹਨ?","WEBSITE_MAINPAGE_FAQ_008_P1":"ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ 2019 ਤੋਂ ਵੱਧ ਦੇ ਅੰਤ ਤੱਕ - ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ ਸਾਡੀ ਅਡਿਨ ਕੈਟਾਲਾਗ ਦੀ ਜਾਂਚ ਕਰੋ.","WEBSITE_MAINPAGE_FAQ_009_H1":"ਐਟਰੋਨ ਕੈਟਾਲਾਗਾਂ ਵਿੱਚ ਕੀ ਹੈ ਸਟ੍ਰੀਮਿਓ ਵਿੱਚ ਫੈਲਾਇਆ ਜਾ ਸਕਦਾ ਹੈ?","WEBSITE_MAINPAGE_FAQ_009_P1":"ਹਾਂ ਤੁਹਾਨੂੰ ਉਨ੍ਹਾਂ ਲੋਕਾਂ ਦੀ ਜਾਂਚ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ: $ 1} ਪਿਮਮੀਸਟਰੀਮੋ $ {2} $ {3} rign ੋ sting 4 {5} d ਸਟ੍ਰੀਮੀਓ ਡਾਉਨਲੋਡਰ $ {6} ਆਦਿ.","WEBSITE_MAINPAGE_FAQ_010_H1":"ਸਟ੍ਰੀਮਿਓ ਸਪੋਰਟ ਕੀ ਕਰਦਾ ਹੈ?","WEBSITE_MAINPAGE_FAQ_010_P1":"ਸਾਡੇ ਵਿੰਡੋਜ਼ ਮੈਕ ਅਤੇ ਲੀਨਕਸ ਲਈ ਡੈਸਕਟਾਪ ਐਪਸ ਹਨ.ਅਸੀਂ ਮੋਬਾਈਲ ਲਈ ਐਂਡਰਾਇਡ ਅਤੇ ਆਈਓਐਸ ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਾਂ, ਹਾਲਾਂਕਿ ਇਹ ਯਾਦ ਰੱਖੋ ਕਿ ਆਈਓਐਸ ਕਾਰਜਸ਼ੀਲਤਾ ਵਿੱਚ ਸੀਮਤ ਹੈ (ਜ਼ਿਆਦਾਤਰ ਵਿਗਿਆਪਨ ਸਹਾਇਤਾ).","WEBSITE_MAINPAGE_FAQ_010_P2":"ਇੱਥੇ ਬਹੁਤ ਸਾਰੇ ਐਂਡਰਾਇਡ-ਅਧਾਰਤ ਉਪਕਰਣ ਹਨ ਜੋ ਤੁਸੀਂ ਐਨਵੀਡੀਆ ਸ਼ੀਲਡ ਅਤੇ ਐਮਾਜ਼ਾਨ ਫਾਇਰ ਸਟਿੱਕ ਵਰਗੇ ਸਟ੍ਰਮੀਓ ਨੂੰ ਚਲਾ ਸਕਦੇ ਹੋ ਪਰ ਅਸੀਂ ਉਨ੍ਹਾਂ ਨੂੰ ਅਧਿਕਾਰਤ ਤੌਰ ਤੇ ਉਨ੍ਹਾਂ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੇ.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"ਕੀ ਤੁਸੀਂ ਸਟ੍ਰੀਮਿਓ ਵਿੱਚ ਕੁਝ ਸਮੱਗਰੀ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ?","WEBSITE_MAINPAGE_FAQ_011_P1":"ਮੁਆਫ ਕਰਨਾ, ਅਸੀਂ ਆਪਣੇ ਆਪ ਨੂੰ ਕੋਈ ਸਮੱਗਰੀ ਨਹੀਂ ਪ੍ਰਦਾਨ ਕਰਦੇ ਪਰ ਤੁਸੀਂ ਵਧੇਰੇ ਸਮੱਗਰੀ ਸਥਾਪਤ ਕੀਤੀ ਹੈ ਜੋ ਤੁਸੀਂ ਲੱਭਣ ਦੇ ਯੋਗ ਹੋਵੋਗੇ.","WEBSITE_MAINPAGE_FAQ_012_H1":"ਕੀ ਸਟਰੇਮਿਓ ਚੁੰਬਕੀ ਲਿੰਕਸ ਚਲਾ ਸਕਦਾ ਹੈ?","WEBSITE_MAINPAGE_FAQ_012_P1":"ਹਾਂ ਅਤੇ ਇਹ ਸਧਾਰਣ HTTP ਲਿੰਕ ਅਤੇ ਟੋਰੈਂਟ ਫਾਈਲਾਂ ਵੀ ਚਲਾ ਸਕਦਾ ਹੈ (ਖਿੱਚੋ ਅਤੇ ਸੁੱਟੋ).","WEBSITE_MAINPAGE_FAQ_013_H1":"ਕੀ ਮੈਂ ਇੱਕ ਵੀਡੀਓ ਡਾ line ਨਲੋਡ ਕਰ ਸਕਦਾ ਹਾਂ ਅਤੇ ਫਲਾਈਨ ਵੇਖੋ?","WEBSITE_MAINPAGE_FAQ_013_P1":"ਉਪਲਬਧ offline ਫਲਾਈਨ ਇੱਕ ਅਪਲਾਈਨ ਸਹੂਲਤ ਹੈ ਪਰ ਜੇ ਤੁਸੀਂ ਆਪਣੀ ਡਿਵਾਈਸ ਨੂੰ ਕੈਚੇ ਵਿੱਚ ਕੈਸ਼ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਬਿਨਾਂ ਕੁਨੈਕਸ਼ਨ ਦੇ ਵੀਡੀਓ ਦੇਖ ਸਕਦੇ ਹੋ.","WEBSITE_MAINPAGE_FAQ_014_H1":"ਕੁਝ ਵੀ ਮੇਰਾ ਕੰਮ ਨਹੀਂ ਕਰਦਾ!","WEBSITE_MAINPAGE_FAQ_014_P1":"ਕੀ ਤੁਸੀਂ ਸਚਮੁੱਚ ਸਥਾਪਿਤ ਹੋ?ਜੇ ਹਾਂ ਸਾਡੇ $ {1} ਸਹਾਇਤਾ ਕੇਂਦਰ $ {On 2} ਨਾਲ ਸੰਪਰਕ ਕਰੋ.","WEBSITE_MAINPAGE_FAQ_015_H1":"ਸਟ੍ਰੀਮੀਓ ਵਿਕਾਸ ਕਾਰਜਾਂ ਨੂੰ ਕਿਵੇਂ ਬਣਾਈ ਰੱਖਦੀ ਹੈ?","WEBSITE_MAINPAGE_FAQ_015_P1":"ਅਸੀਂ ਕਈ ਵਾਰ ਗੈਰ-ਜਵਾਬ ਦਿੱਤੇ ਮਸ਼ਹੂਰੀ ਚਲਾਉਂਦੇ ਹਾਂ, ਪਰ ਅਸੀਂ ਦਾਨ ਦੇ ਮਾਡਲ ਤੇ ਜਾਣ ਬਾਰੇ ਵਿਚਾਰ ਕਰ ਰਹੇ ਹਾਂ.","WEBSITE_MAINPAGE_FAQ_015_P2":"ਵਧੇਰੇ ਪ੍ਰਸ਼ਨਾਂ ਲਈ ਸਾਡੇ $ {1} ਏਡ ਸੈਂਟਰ $ {2} ਤੇ ਜਾਓ.","HELP_LEARN_MORE":"ਸਾਡੇ ਬਾਰੇ ਹੋਰ ਜਾਣਨ ਵਿਚ ਸਾਡੀ ਮਦਦ ਕਰੋ.","LIFESTYLE":"ਬਾਲੀਵੁੱਡ","SPORTS":"ਖੇਡ","FOOD_HEALTH":"ਭੋਜਨ ਅਤੇ ਸਿਹਤ","BEAUTY_FASHION":"ਸੁੰਦਰਤਾ ਅਤੇ ਫੈਸ਼ਨ","NEWS":"ਖ਼ਬਰਾਂ","GAMING":"ਜੂਆ","SCIENCE_EDUCATION":"ਵਿਗਿਆਨ ਅਧਿਐਨ","MUSIC":"ਸੰਗੀਤ","TRAVEL":"ਯਾਤਰਾ","LATE_NIGHT":"ਦੇਰ ਰਾਤ","REALITY":"ਹਕੀਕਤ","COMEDY":"ਕਾਮੇਡੀ","DIY":"ਡੀਆਈਵਾਈ ਕਿਵੇਂ ਕਰੀਏ","TECH":"ਟੈਕਨੋਲੋਜੀ","CINEMA":"ਸਿਨੇਮਾ","CONTINUE":"ਜਾਰੀ ਰੱਖੋ","SLOW_LOADING":"ਹੌਲੀ ਲੋਡਿੰਗ?","I_GIVE_UP":"ਮੈਂ ਹਾਰ ਮੰਨਦਾ ਹਾਂ","LEARN_MORE":"ਜਿਆਦਾ ਜਾਣੋ","POOR_SOURCE":"ਇਹ ਸਰੋਤ ਮਾੜੀ ਉਪਲਬਧ ਹੈ ਜਾਂ ਤੁਹਾਡਾ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਕਾਫ਼ੀ ਤੇਜ਼ ਨਹੀਂ ਹੈ","PICK_CATEGORIES_ERR":"ਤੁਹਾਨੂੰ ਘੱਟੋ ਘੱਟ 3 ਸ਼੍ਰੇਣੀਆਂ ਚੁਣਨਾ ਪਏਗਾ","ADJUST_TIMING":"ਨਾਲ ਸਮਾਂ ਵਿਵਸਥਿਤ ਕਰੋ","ADJUST_SIZE":"ਦੇ ਨਾਲ ਆਕਾਰ ਨੂੰ ਵਿਵਸਥਤ ਕਰੋ","SEARCH_ANYTHING":"ਤੁਸੀਂ ਕੁਝ ਵੀ ਲੱਭ ਸਕਦੇ ਹੋ ...","ALL_CATEGORIES":"ਸਾਰੇ","SEARCH_CATEGORIES":"ਸਿਨੇਮਾ ਸੀਰੀਜ਼ ਯੂਟਿ ube ਬ ਅਤੇ ਟੀ ​​ਵੀ","SEARCH_PERSONS":"ਅਦਾਕਾਰ ਡਾਇਰੈਕਟਰ ਅਤੇ ਲੇਖਕ","SEARCH_PROTOCOLS":"HTTP ਅਤੇ ਚੁੰਬਕ ਲਿੰਕ","SEARCH_TYPES":"ਆਈਐਮਡੀਬੀ / ਟੀਵੀਡੀਬੀ ਲਿੰਕ","WATCHED":"ਵੇਖੋ","SHOW_LESS":"ਘੱਟ ਦਿਖਾਓ","LAST_SEARCHES":"ਅੰਤਮ ਖੋਜ","CLEAR_HISTORY":"ਇਤਿਹਾਸ ਸਾਫ਼ ਕਰੋ","CHOOSE_SOME":"ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੁਝ ਚੁਣੋ:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"ਵੈੱਬ ਰਿਮੋਟ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ","STREMIO_OFFLINE":"ਸਟ੍ਰੀਮਿਓ offline ਫਲਾਈਨ ਹੈ","STREMIO_EXPENSIVE_CONNECTION":"ਅਸੀਂ ਪਾਇਆ ਹੈ ਕਿ ਤੁਸੀਂ ਮੋਬਾਈਲ ਡਾਟਾ ਕਨੈਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ, ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?","USE_DATA":"ਡੇਟਾ ਦੀ ਵਰਤੋਂ ਕਰੋ","WARNING":"ਚੇਤਾਵਨੀ","MORE_INFO":"ਹੋਰ ਜਾਣਕਾਰੀ ...","STREMIO_TV_STREMIO":"ਮਿਸ਼ਰਿਤ","STREMIO_TV_LOADING":"ਇਹ ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ ...","STREMIO_TV_BACK_TO_LANGUAGES":"ਵਾਪਸ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ","STREMIO_TV_REMOTE":"ਰਿਮੋਟ","STREMIO_TV_GO_TO":"ਲਈ ਜਾਓ:","STREMIO_TV_OR_SCAN":"ਜਾਂ ਸਕੈਨ:","STREMIO_TV_ADDON_INSTRUCTIONS":"ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਮਨਪਸੰਦ ਵਿਗਿਆਪਨ ਸਥਾਪਤ ਕਰਨ ਲਈ ਨਿਰਦੇਸ਼ਾਂ ਦਾ ਪਾਲਣ ਕਰੋ.","STREMIO_TV_LIVE_TV":"ਲਾਈਵ ਟੀਵੀ","STREMIO_TV_RESUME_WATCHING":"ਦੁਬਾਰਾ ਲੈਕੇ","STREMIO_TV_LOADING_BACKGROUND":"ਲੋਡਿੰਗ ਪਿਛੋਕੜ","STREMIO_TV_CHECKING_AUTHENTICATION":"ਪ੍ਰਮਾਣਿਕਤਾ ਜਾਂਚ","STREMIO_TV_LOADING_BOARD":"ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ","STREMIO_TV_LOGIN_HEADER_LINE_1":"ਅਸੀਂ ਚਾਹੁੰਦੇ ਹਾਂ ਕਿ ਸਾਡੇ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਸਾਡੇ ਸਾੱਫਟਵੇਅਰ ਨਾਲ ਸਭ ਤੋਂ ਵਧੀਆ ਨਿੱਜੀ ਤਜਰਬਾ ਹੋਵੇ.","STREMIO_TV_LOGIN_HEADER_LINE_2":"ਇਸ ਲਈ ਅਸੀਂ ਤੁਹਾਨੂੰ ਆਪਣੇ ਖਾਤੇ ਵਿੱਚ ਬਣਾਉਣ ਅਤੇ / ਜਾਂ ਲੌਗਇਨ ਕਰਨ ਲਈ ਕਹਾਂਗੇ.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"ਸਮਝਣ ਲਈ ਧੰਨਵਾਦ","STREMIO_TV_LOGIN_FOOTER_LINE_2":"ਸਟ੍ਰੀਮਿਓ ਟੀਮ","STREMIO_TV_REMOTE_INSTRUCTIONS":"ਆਪਣੇ ਸਮਾਰਟਫੋਨ / ਟੈਬਲੇਟ / ਡੈਸਕਟੌਪ ਨਾਲ ਵੈੱਬ ਨੂੰ ਵਰਤਣ ਲਈ:","STREMIO_TV_WIFI_SETUP":"ਵਾਈ-ਫਾਈ ਸੈਟਅਪ","STREMIO_TV_WIFI_HEADER_LINE_1":"ਸਕੀਮ ਦਾ ਚੱਕਰ ਵਿੱਚ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਦਾ ਪਤਾ ਨਹੀਂ ਲੱਗਿਆ.","STREMIO_TV_WIFI_DETAILS_1":"ਜੁੜੇ:","STREMIO_TV_WIFI_DETAILS_2":"ਮੂਰਤੀ","STREMIO_TV_WIFI_DETAILS_3":"ਪਾਸਵਰਡ ਦੀ ਵਰਤੋਂ ਕਰੋ:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"ਲਿੰਕ ਨਾਲ ਇੱਕ ਵੈੱਬ ਬਰਾ browser ਜ਼ਰ ਖੋਲ੍ਹੋ:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"ਖੋਜ","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"ਚੈਨਲ","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"ਵਿਵਸਥਾ","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"ਲਿੰਕ ਖਾਤਾ","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"ਖੋਜ","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"ਸਾਫ਼","STREMIO_TV_SEARCH_HISTORY_TITLE":"ਖੋਜ ਇਤਿਹਾਸ","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"ਖੋਜ ਇਤਿਹਾਸ ਸਾਫ਼ ਕਰੋ","STREMIO_TV_FILTERS_DESCRIPTION":"ਹੇਠ ਲਿਖਿਆਂ ਵਿੱਚੋਂ ਇੱਕ ਵਿੱਚੋਂ ਇੱਕ ਵਿੱਚੋਂ ਚੁਣੋ","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"ਫਿਲਟਰ","SETTINGS":"ਵਿਵਸਥਾ","ACCOUNT":"ਖਾਤਾ","LOGOUT":"ਲਾਗ ਆਉਟ","THEMES":"Themes","PLAYBACK":"ਪਲੇਬੈਕ","PLAYBACK_SPEED":"ਪਲੇਬੈਕ ਸਪੀਡ","AUDIO_TRACKS":"ਆਡੀਓ ਟਰੈਕ","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"ਵੀਡੀਓ","SERVER":"ਸਰਵਰ","LINKS":"Links","ABOUT":"ਇਸ ਬਾਰੇ","INTERFACE":"ਇੰਟਰਫੇਸ","ANIMATIONS":"ਐਨੀਮੇਸ਼ਨ","STATUS":"Status","LANGUAGE":"ਭਾਸ਼ਾ","SIZE":"ਆਕਾਰ","DELAY":"ਦੇਰੀ","BOLD":"ਬੋਲਡ","OPACITY":"Opacity","TEXT_COLOR":"ਹੱਥ ਲਿਖਤ","OUTLINE_COLOR":"ਰੂਪਰੇਖਾ ਰੰਗ","BACKGROUND_COLOR":"ਬੈਕ ਰੰਗ","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"ਸਮਾਂ ਅਵਧੀ ਵੇਖੋ","AUTO_PLAY":"ਅਗਲੇ ਐਪੀਸੋਡ ਆਪਣੇ ਆਪ","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"ਜਿਵੇਂ ਦੇਖਿਆ ਗਿਆ ਸੀ","MARK_AS_UNWATCHED":"ਅਣਉਚਿਤ ਦੇ ਤੌਰ ਤੇ ਮਾਰਕ ਕਰੋ","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"ਦੇਖਦੇ ਰਹੋ","ALL":"ਸਾਰੇ","SECONDS":"ਭੇਜਦਾ ਹੈ","ON":"ਕੰਮ ਕਰਨਾ","OFF":"ਨੇੜੇ","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"ਸਵਿੱਚ ਡਿਵਾਈਸ","REMOTE_VIDEOS":"ਵੀਡੀਓ","REMOTE_ADJUST_TIMING":"ਸਮਾਂ ਵਿਵਸਥ ਕਰੋ","REMOTE_ADJUST_SIZE":"ਆਕਾਰ ਨੂੰ ਵਿਵਸਥਤ ਕਰੋ","REMOTE_COULD_NOT_BE_LOADED":"ਵੈੱਬ ਰਿਮੋਟ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ","REMOTE_RETRY":"ਫਿਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ","TORRENT_PROFILE_DEFAULT":"ਮੂਲ","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"ਸਟਰਾਮੀ ਕੀ ਹੈ?","FAQ_001_P1":"ਸਟ੍ਰੀਮਿਓ ਇਕ ਮੀਡੀਆ ਸੈਂਟਰ ਸੈਂਟਰ ਹੈ ਜਿਸ ਵਿਚ ਦਿਮਾਗ ਵਿਚ ਵਰਤਣ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ ਵੀਡੀਓ ਮਨੋਰੰਜਨ ਲਈ.ਸਟ੍ਰੀਮਿਓ ਤੁਹਾਨੂੰ & amp ਦਾ ਪ੍ਰਬੰਧ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ;ਫਿਲਮ ਸੀਰੀਜ਼ ਦੇ ਚੈਨਲਾਂ ਅਤੇ ਲਾਈਵ ਟੀਵੀ ਦੇ ਆਪਣੇ ਸੰਗ੍ਰਹਿ ਨੂੰ ਵੇਖੋ.","FAQ_001_P2":"ਸਟ੍ਰੀਮਿਓ ਸਮਗਰੀ ਨੂੰ ਇਕੱਤਰ ਕਰੋ ਜੋ ਤੁਹਾਨੂੰ ਤੁਹਾਡੀ ਸਥਾਨਕ ਡਿਸਕ ਅਤੇ ਸਾਡੇ ਵਿਗਿਆਪਨ ਪ੍ਰਣਾਲੀ ਤੋਂ ਦਿਖਾਉਂਦਾ ਹੈ.","FAQ_001_P3":"ਇਹ ਤੁਹਾਨੂੰ ਸੂਚਿਤ ਕਰੇਗਾ ਕਿ ਨਵੇਂ ਐਪੀਸੋਡ / ਵੀਡੀਓ ਜੋ ਤੁਹਾਡੇ ਲਈ ਦਿਲਚਸਪੀ ਰੱਖਦੇ ਹਨ ਅਤੇ ਤੁਹਾਡੇ ਲਈ ਫਿਲਮ ਸਿਫਾਰਸ਼ਾਂ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ.","FAQ_02_H1":"ਸਟ੍ਰੀਮਿਓ ਕੋਡੀ ਦੀ ਤੁਲਨਾ ਕਿਵੇਂ ਕਰਦਾ ਹੈ?","FAQ_02_P1":"ਅਸੀਂ ਸਾੱਫਟਵੇਅਰ ਦੇ ਉਨ੍ਹਾਂ ਦੋ ਟੁਕੜਿਆਂ ਤੋਂ ਪ੍ਰੇਰਿਤ ਹਾਂ.ਪਰ ਸਾਡੇ ਵੱਖਰੇ ਟੀਚੇ ਹਨ - ਸਟ੍ਰਾਬੀਓ ਨੂੰ ਵਿਸ਼ੇਸ਼ ਤੌਰ \'ਤੇ ਮਨੋਰੰਜਨ ਦੇ ਵੀਡੀਓ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਵਰਤੋਂ ਕਰਨਾ ਆਸਾਨ ਹੋਣ ਲਈ ਮੁੱਖ ਧਾਰਾ ਬਣਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ.","FAQ_02_P2":"ਸਟ੍ਰਾਬਲਿਓ ਕਦੇ ਅਨੁਕੂਲ ਨਹੀਂ ਹੋਵੇਗਾ ਅਤੇ ਕੋਡੀ ਅਤੇ ਜਗ੍ਹਾ ਦੇ ਤੌਰ ਤੇ ਅਮੀਰ ਨਹੀਂ ਹੁੰਦਾ, ਪਰ ਇਸਦੀ ਵਰਤੋਂ ਕਰਨਾ ਕਾਫ਼ੀ ਸੌਖਾ ਹੈ.ਬੱਸ $ {1 she ਪ੍ਰਾਪਤ ਕਰੋ ਇਸ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰੋ ਅਤੇ $ {2} ਵੇਖੋ :)","FAQ_03_H1":"ਸਟ੍ਰੀਮਿਓ ਨੈੱਟਫਲਿਕਸ ਦੀ ਤੁਲਨਾ ਕਿਵੇਂ ਕਰਦਾ ਹੈ?","FAQ_03_P1":"ਨੈੱਟਫਲਿਕਸ ਦੁਬਾਰਾ ਸਾਡੀ ਪ੍ਰੇਰਣਾ ਹੈ.ਅਸੀਂ ਨੈੱਟਫਲਿਕਸ ਦੇ ਉਪਭੋਗਤਾ ਤਜ਼ਰਬੇ ਨੂੰ ਬਹੁਤ ਸਾਰੇ ਵਾਧੂ ਤੋਹਫ਼ਿਆਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ.ਪਰ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਣ ਗੱਲ ਇਹ ਹੈ ਕਿ ਅਸੀਂ ਤੁਹਾਨੂੰ ਆਪਣੀ ਲਾਇਬ੍ਰੇਰੀ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਅਤੇ ਸਾਡੇ ਅਡਿਨ ਸਿਸਟਮ ਨਾਲ ਨਵੇਂ ਸਮਗਰੀ ਦੇ ਸਰੋਤ ਜੋੜਨ ਦੀ ਆਜ਼ਾਦੀ ਦੇ ਰਹੇ ਹਾਂ.","FAQ_03_P2":"ਇਹ ਸਟ੍ਰਾਬੀਓ ਅਸੀਮਿਤ ਵਿਸਥਾਰ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ, ਇਸ ਲਈ ਜਦੋਂ ਤੁਸੀਂ ਸਟ੍ਰੈਂਬੀਓ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਕਦੇ ਵੀ ਸਮੱਗਰੀ ਤੱਕ ਸੀਮਿਤ ਨਹੀਂ ਹੋ ਜਾਂਦੇ. ਨੈੱਟਫਲਿਕਸ ਲਾਇਸੈਂਸ ਨੂੰ ਫੈਸਲਾ ਕਰਦਾ ਹੈ.ਉਦਾਹਰਣ ਦੇ ਲਈ, ਤੁਹਾਡੇ ਦੁਆਰਾ {1} ਫਿਲਮਾਂਨ.ਟੀਵੀ $ {2} $ 2 {3} {4 {5} youtuse $ {6 {6} ਵਡੋ $ 7 {6} ਵਡੋ / {6} ਵਡੋ / ਸਮੱਗਰੀ ਵੀ $ {{} ਨੈੱਟਫਲਿਕਸ $ {10} ਵੇਖ ਸਕਦੇ ਹੋ!","FAQ_04_H1":"ਸਟ੍ਰਾਬੀਬੀਆ ਫਲਿੱਪਬੋਰਡ ਦੀ ਤੁਲਨਾ ਕਿਵੇਂ ਕਰਦਾ ਹੈ?","FAQ_04_P1":"ਸਾਨੂੰ ਉਹ ਪ੍ਰਸ਼ਨ ਨਹੀਂ ਮਿਲਦਾ ਜੋ ਅਕਸਰ ਲੋਕਾਂ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਇਲਾਵਾ ਕਰਦਾ ਹੈ :)","FAQ_04_P2":"ਇੱਕ ਸਮੂਹਿਕਾਰੀ ਡਿਜ਼ਾਈਨ ਦੁਆਰਾ ਸਟ੍ਰੀਮਿਓ ਇੱਕ ਸਮੱਗਰੀ ਹੈ ਜੋ ਇਸ ਨੂੰ ਵੀਡੀਓ ਲਈ ਇੱਕ ਫਲਿੱਪਬੋਰਡ ਬਣਾਉਂਦਾ ਹੈ.ਇਹ ਸਾਡੇ ਬੋਰਡ ਭਾਗ ਵਿੱਚ ਬਹੁਤ ਸਪਸ਼ਟ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਇੱਕ ਫਲਿੱਪਬੋਰਡ ਦੀ ਪਾਲਣਾ ਕਰਨ ਲਈ ਇੱਕ ਕੈਟਾਲਾਗ ਅਤੇ ਨਵੀਂ ਐਪੀਸੋਡ / ਨਵੀਂ ਵੀਡੀਓ ਨੋਟੀਫਿਕੇਸ਼ਨ ਦਿੰਦਾ ਹੈ.","FAQ_05_H1":"ਸਟ੍ਰੀਮਿਓ ਨੂੰ ਪੌਪਕੌਰਨ ਟਾਈਮ ਦੀ ਤੁਲਨਾ ਕਿਵੇਂ ਕਰਦਾ ਹੈ?","FAQ_05_P1":"ਸਟ੍ਰੀਮਿਓ ਅਤੇ ਪੌਪਕੌਰਨ ਟਾਈਮ ਉਪਭੋਗਤਾ ਦੇ ਇੰਟਰਫੇਸਾਂ ਵਿੱਚ ਇਕੋ ਜਿਹੇ ਹਨ ਕਿਉਂਕਿ ਵੀਡੀਓ ਮਨੋਰੰਜਨ ਕੈਟਾਲਾਗਾਂ ਨੂੰ ਠੀਕ ਕਰਨ ਦੇ ਬਹੁਤ ਸਾਰੇ ਤਰੀਕੇ ਹਨ :)","FAQ_05_P2":"ਪਰ ਪੌਪਕਾਰਨ ਦਾ ਸਮਾਂ ਖਾਸ ਸਰੋਤਾਂ ਤੋਂ ਟੋਰੈਂਟ ਸਟ੍ਰੀਮਿੰਗ \'ਤੇ ਕੇਂਦ੍ਰਤ ਕਰਦਾ ਹੈ","FAQ_05_P3":"ਨਾਲ ਹੀ ਅਸੀਂ ਮੂਲ ਰੂਪ ਵਿੱਚ ਕੋਈ ਟੋਰੈਂਟ ਵਿਗਿਆਪਨ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰਦੇ, ਇਸ ਲਈ ਸਰਕਾਰੀ ਕਾਰਜਸ਼ੀਲਤਾ ਦੇ ਨਾਲ ਪੌਕਰੀਨ ਟਾਈਮ ਵਰਤੋਂ ਦੇ ਸਮੇਂ ਵਿੱਚ ਸ਼ਾਮਲ ਨਹੀਂ ਹੁੰਦਾ.","FAQ_05_P4":"ਇਕ ਹੋਰ ਕਮਾਲ ਦਾ ਅੰਤਰ ਇਹ ਹੈ ਕਿ ਪੌਕਰੀਨ ਦਾ ਸਮਾਂ ਇਕ ਬਿਲਕੁਲ ਖੁੱਲਾ ਸਰੋਤ ਹੈ ਜਦੋਂ ਕਿ ਸਟ੍ਰੀਮਿਓ $ 1} ਅੰਸ਼ਕ ਤੌਰ ਤੇ ਖੁੱਲਾ ਸਰੋਤ $ {2} ਹੈ.","FAQ_06_H1":"ਕੀ ਤੁਸੀਂ ਇਸ ਫਿਲਮ / ਲੜੀ ਸ਼ਾਮਲ ਕਰੋਗੇ?","FAQ_06_P1":"ਮਾਫ ਕਰਨਾ :(","FAQ_06_P2":"ਜਿਵੇਂ ਕਿ ਦੂਜੇ ਪ੍ਰਸ਼ਨਾਂ ਵਿੱਚ ਦੱਸਿਆ ਗਿਆ ਹੈ ਕਿ ਸਟ੍ਰੀਮੀਓ ਆਪਣੇ ਆਪ ਤੋਂ ਕੋਈ ਸਮੱਗਰੀ ਨਹੀਂ ਪ੍ਰਦਾਨ ਕਰਦਾ - ਹਰ ਚੀਜ਼ ਵਿਗਿਆਪਨ ਪ੍ਰਣਾਲੀ ਦੁਆਰਾ ਸ਼ਾਮਲ ਕੀਤੀ ਗਈ ਹੈ.ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ ਪਦਾਰਥਕ ਬੇਨਤੀ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਉਸ ਖਿਡਾਰੀ ਦੇ ਰਿਪੋਰਟ ਬਟਨ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ ਜੋ ਵਰਤਮਾਨ ਵਿੱਚ ਵਰਤੇ ਜਾ ਰਹੇ ਅਡਿਨ ਦੇ ਲੇਖਕ ਨੂੰ ਇੱਕ ਈਮੇਲ ਭੇਜਣਗੇ.","FAQ_07_H1":" ","FAQ_07_P1":" ","FAQ_07_P2":" ","FAQ_08_H1":"ਕੀ ਤੁਸੀਂ ਐਕਸ ਲਈ ਅਡਿਨ ਬਣਾਉਗੇ?","FAQ_08_P1":"ਇਹ ਪੂਰੀ ਤਰਾਂ ਸੰਭਵ ਹੈ.","FAQ_08_P2":"ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਐਡਨ ਲਈ ਕੋਈ ਵਿਚਾਰ ਹੈ, ਤਾਂ ਆਓ ਆਪਾਂ {1} onwors@stremio.com \'ਤੇ ਛੱਡੋ, ਪਰ ਕਿਰਪਾ ਕਰਕੇ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ ਤੁਹਾਡਾ ਅਦੇਨ ਵਿਚਾਰ ਕਿਸੇ ਵੀ ਕਾਪੀਰ ਜਾਂ ਵਰਤੋਂ ਦੀਆਂ ਸ਼ਰਤਾਂ ਦੀ ਉਲੰਘਣਾ ਨਹੀਂ ਕਰੇਗਾ.","FAQ_08_P3":"ਵਰਤਮਾਨ ਵਿੱਚ, ਸਾਡੀ ਰੋਡਮੈਪ ਤੇ ਅਗਲੀਆਂ ਚੀਜ਼ਾਂ ਮੰਗ ਅਤੇ ਫੈਸ਼ਨੋਨੋ ਫਿਲਮਾਂਨ.ਟੀਵੀ ਵੀਡੀਓ ਹਨ.","FAQ_09_H1":"ਸਟ੍ਰੀਮਿਓ ਕੁੜੱਤਣ ਕੀ ਵਰਤਦਾ ਹੈ?","FAQ_09_P1":"ਹਾਂ ਸਟ੍ਰਾਬੀਓ ਬਿਟੈਟੋਰ ਨੂੰ ਸਟ੍ਰੀਮਿੰਗ ਪ੍ਰੋਟੋਕੋਲ ਦੇ ਰੂਪ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦਾ ਹੈ.ਤੁਸੀਂ ਜਾਂ ਤਾਂ ਟੋਰੈਂਟ ਅਦੇਨ ਨਾਲ ਜਾਂ ਸਟ੍ਰਮੀਓ ਜਾਂ ਚਾਪ-ਅੰਤ ਦੁਆਰਾ ਸਰਚ-ਐਂਡ ਦੁਆਰਾ ਇੱਕ ਚੁੰਬਕ ਲਿੰਕ ਵਿੱਚ a.torrent ਫਾਈਲ ਨੂੰ ਚਿਪਕ ਕੇ ਕਰ ਸਕਦੇ ਹੋ.","FAQ_09_P2":"ਕਿਰਪਾ ਕਰਕੇ ਯਾਦ ਰੱਖੋ ਕਿ ਬਿਟਟੋਰ ਦੀ ਵਰਤੋਂ ਕਰਦਿਆਂ ਇਕੱਲੇ ਅਧਿਕਾਰਤ ਅਡੇਨ $ {1} ਵੋਡੋ $ {{} ਨੂੰ ਅਲਟੈਸਟੈਂਟਸ ਨਾਲ ਸਭ ਵੰਡਣ ਦੀ ਆਗਿਆ ਹੈ.","FAQ_09_P3":"ਅਸੀਂ ਤੀਜੀ ਧਿਰ ਦੇ ਇਸ਼ਤਿਹਾਰਾਂ ਦੀ ਵਰਤੋਂ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੇ ਜੋ ਕਾਪੀਰਾਈਟ ਉਲੰਘਣਾ ਨੂੰ ਸਮਰੱਥ ਕਰ ਸਕਦੇ ਹਨ.","FAQ_10_H1":"ਮੈਂ ਅਧਿਕਾਰਤ ਵਿਗਿਆਪਨਾਂ ਨਾਲ ਸਟਰਾਮੀ ਵਿੱਚ ਕੀ ਵੇਖ ਸਕਦਾ ਹਾਂ?","FAQ_10_P1":"ਮੂਲ ਰੂਪ ਵਿੱਚ ਤੁਸੀਂ ਆਪਣੇ ਏਮਬੇਡਡ ਪਲੇਅਰ ਦੇ ਨਾਲ ਸਟ੍ਰਮੀਓ ਦੇ ਅੰਦਰ ਫਿਲਮ -ਨ.ਟਵੀ ਯੂਟਿ ube ਬ ਅਤੇ ਵੋਡੋ ਸਮਗਰੀ ਨੂੰ ਵੇਖ ਸਕਦੇ ਹੋ.ਇਸ ਤੋਂ ਇਲਾਵਾ ਸਾਡੇ ਕੋਲ ਟਵੀਚ.ਟਵੀ ਅਤੇ ਕੁਝ ਹੋਰਾਂ ਲਈ ਇੱਕ ਅਡਿਨ ਹੈ.","FAQ_10_P2":"ਇਹ ਸੰਯੁਕਤ ਦੀ ਚੋਣ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ:","FAQ_10_L1":"ਫਲੋਨ ਟੀਵੀ ਦੁਆਰਾ ਦਿੱਤੇ ਗਏ ਪ੍ਰਸਿੱਧ ਟੀਵੀ ਚੈਨਲ - ਉਦਾਹਰਣ ਲਈ E4 BBC ਬੋਲੀਵੋਰਲਡ ਟੀਵੀ","FAQ_10_L2":"ਯੂਟਿ .ਬ ਤੋਂ ਸਭ ਕੁਝ - ਉਦਾਹਰਣ ਲਈ ਬੀਬੀਸੀ ਨਿ News ਜ਼ ਚੋਟੀ ਦੇ ਗੇਅਰ ਵੇਵੋ ਪੇਵਡੀਪੀਪੀ","FAQ_10_L3":"ਵੋਡੋ ਨਾਲ ਇੰਡੀ ਫਿਲਮਾਂ","FAQ_10_L4":"ਟਵੀਚ.ਟੀਵੀ ਨਾਲ g ਨਲਾਈਨ ਗੇਮਿੰਗ ਦਾ ਪ੍ਰਸਾਰਣ","FAQ_10_P3":"ਇਸ ਤੋਂ ਇਲਾਵਾ, ਗਾਈਡਬੌਕਸ ਅਤੇ ਨੈੱਟਫਲਿਕਸ ਵਿਗਿਆਪਨ ਦੇ ਨਾਲ ਬਹੁਤ ਸਾਰੇ ਪਦਾਰਥਕ ਸਰੋਤ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਹਨ ਜੋ <b> </ b> ਵਰੇਮੀ ਦੇ ਅੰਦਰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਖੇਡਦੇ ਹਨ ਪਰ ਦਿੱਤੀ ਗਈ ਸੇਵਾ ਵਿੱਚ ਰਿਡਿਕੈਕਟ ਕਰਨਗੇ.ਉਦਾਹਰਣ ਦੇ ਲਈ, ਗਾਈਡਬਾਕਸ ਅਡਾਨ ਤੁਹਾਨੂੰ ਫਿਲਮਾਂ ਦੀ ਚੋਣ ਕਰੇਗਾ ਜੋ ਤੁਸੀਂ ਟੱਬਿਟਵ ਵਰਗੀਆਂ ਸੇਵਾਵਾਂ ਤੋਂ ਮੁਕਤ ਰਹਿਣ ਲਈ ਦ੍ਰਿੜ ਹੋ ਸਕਦੇ ਹੋ.","FAQ_11_H1":"ਸਟ੍ਰੀਮਿਓ ਸਥਾਪਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ ਕਿ ਮੈਨੂੰ ਕੀ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ?","FAQ_11_P1":"ਜੇ ਤੁਸੀਂ ਵਿੰਡੋਜ਼ ਉੱਤੇ ਇਸ ਬਦਲਵੇਂ ਇੰਸਟੌਲਰ $ {2} ਨੂੰ ਅਜ਼ਮਾਉਂਦੇ ਹੋ.","FAQ_11_P2":"ਜੇ ਤੁਸੀਂ ਮੈਕ ਓਐਸ ਐਕਸ \'ਤੇ ਹੋ ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਇਹ ਯਾਦ ਰੱਖੋ ਕਿ ਅਸੀਂ ਓਐਸ ਐਕਸ ਮੇਵਰਾਂ (10.9) ਤੋਂ ਪੁਰਾਣੇ ਕਿਸੇ ਵੀ ਚੀਜ਼ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੇ.","FAQ_11_P3":"ਜੇ ਤੁਸੀਂ ਲੀਨਕਸ \'ਤੇ ਹੋ ਤਾਂ ਇਹ ਯਾਦ ਰੱਖੋ ਕਿ ਅਸੀਂ ਇਸ ਸਮੇਂ 64 ਬਿੱਟ (x64) ਲੀਨਕਸ ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਾਂ.","FAQ_11_P4":"ਜੇ ਤੁਸੀਂ ਆਪਣੀ ਸਮੱਸਿਆ ਦਾ ਹੱਲ ਨਹੀਂ ਕਰ ਸਕਦੇ, ਕਿਰਪਾ ਕਰਕੇ ਸਾਨੂੰ $ {1} ਫੇਸਬੁੱਕ ਸਮੂਹ $ {{2} ਤੇ ਲਿਖੋ.","FAQ_12_H1":"ਮੇਰਾ ਐਂਟੀ-ਵਾਇਰਸ ਸ਼ਿਕਾਇਤ ਕਿਉਂ ਕਰਦਾ ਹੈ?ਕੀ ਸਟ੍ਰਾਮਬੀਨੀ ਸੁਰੱਖਿਅਤ ਹੈ?","FAQ_12_P1":"ਅਸੀਂ ਤੁਹਾਨੂੰ ਯਕੀਨ ਦਿਵਾਉਂਦੇ ਹਾਂ ਕਿ ਸਟ੍ਰੀਮਿਓ $ {1} 100% ਕਲੀਨ $ {On 2} ਹੈ.","FAQ_12_P2":"ਤੁਹਾਡਾ ਐਨਟਿਵ਼ਾਇਰਅਸ ਸ਼ਿਕਾਇਤ ਕਰ ਰਿਹਾ ਹੈ ਕਿਉਂਕਿ ਅਸੀਂ ਆਪਣੇ ਇੰਸਟੌਲਰ ਵਿੱਚ ਇਸ਼ਤਿਹਾਰ ਸ਼ਾਮਲ ਕਰਦੇ ਹਾਂ ਜੋ ਕਿ ਕੁਝ ਐਂਟੀ-ਵਾਇਰਸ ਪ੍ਰੋਗਰਾਮ ਇਸ਼ਤਿਹਾਰਬਾਜ਼ੀ ਵਜੋਂ ਜਾਣਦੇ ਹਨ.","FAQ_12_P3":"ਜੇ ਤੁਸੀਂ ਅਜੇ ਵੀ ਅਨਿਸ਼ਚਿਤ ਹੋ ਤਾਂ ਤੁਸੀਂ ਸਾਡੇ $ {1} ਵਿਕਲਪਿਕ ਸਥਾਪਕ $ {2} ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹੋ.","FAQ_13_H1":"ਮੈਂ ਅਡੇਨ ਕਿਵੇਂ ਬਣਾ ਸਕਦਾ ਹਾਂ?","FAQ_13_P1":"ਸ਼ੁਰੂਆਤ ਦੇ ਲਈ, ਅਸੀਂ ਤੁਹਾਨੂੰ ਗਾਰਡਾਂ ਤੇ * {1} ਐਡਨਸ ਸਿਸਟਮ ਮੋਡੀ module ਲ $ {2} ਦੀ ਜਾਂਚ ਕਰਦੇ ਹਾਂ.","FAQ_13_P2":"ਬਾਅਦ ਵਿਚ ਤੁਸੀਂ $ {1} ਹੈਲੋ ਵਿਸ਼ਵ ਟਿ utorial ਟੋਰਿਅਲ $ {2 ਦੀ ਪਾਲਣਾ ਕਰ ਸਕਦੇ ਹੋ.","FAQ_13_P3":"ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ ਪ੍ਰੋਗਰਾਮਿੰਗ ਹੁਨਰਾਂ ਨਹੀਂ ਹਨ, ਕਿਰਪਾ ਕਰਕੇ ਆਪਣਾ ਦ੍ਰਿਸ਼ਟੀਕੋਣ $ {1} ਰੈਡਡਿਟ ਕਮਿ Community ਨਿਟੀ $ {2} ਤੇ ਪੋਸਟ ਕਰੋ ਅਤੇ ਆਪਣੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋ.","FAQ_14_H1":"ਵਿਗਿਆਪਨ ਕਿਵੇਂ ਪ੍ਰਕਾਸ਼ਤ ਕੀਤੇ ਗਏ ਹਨ?","FAQ_14_P1":"ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਅਡਿਨ ਅਤੇ ਹੋਸਟ ਬਣਾਉਂਦੇ ਹੋ ਅਤੇ ਆਪਣੀ ਮੈਨੀਫੈਸਟ ਵਿੱਚ ਅੰਤਮ ਰੂਪ ਵਿੱਚ ਜਾਂ ਅੰਤਮ ਖੇਤਰ ਵਿੱਚ ਆਪਣੇ ਆਪ ਹੀ adence {1} ਅਦੇਨ ਕੈਟਾਲਾਗ $ {2 ਪ੍ਰਕਾਸ਼ਤ ਕਰੋ.","FAQ_14_P2":"ਇਹ ਇਸ ਲਈ ਹੈ ਕਿਉਂਕਿ ਸਟ੍ਰਾਬੀਓ-ਇਸ਼ਤਿਹਾਰਾਂ ਦਾ ਸਰਵਰ ਆਪਣੇ ਆਪ ਹੀ ਸਾਡੀ ਏਪੀਆਈ ਨੂੰ ਅਡੇਨ ਦਾ ਐਲਾਨ ਕਰਨ ਲਈ ਕਹਿੰਦਾ ਹੈ.ਜਦੋਂ ਸਾਡੇ API ਨੇ ਤੁਹਾਡੇ <ਬੀ> ਪੁਆਇੰਟ </ b> ਨੂੰ ਵੈਧ ਅਡਿਨ ਦੇ ਤੌਰ ਤੇ ਪ੍ਰਮਾਣਿਤ ਕੀਤਾ, ਤਾਂ ਇਹ ਕੈਟਾਲਾਗ ਵਿੱਚ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰ ਦੇਵੇਗਾ.","FAQ_15_H1":"ਕੀ ਮੈਂ ਆਪਣੇ ਬ੍ਰਾ? ਜ਼ਰ ਵਿੱਚ ਇੱਕ ਰਫਤਾਰ ਚਲਾ ਸਕਦਾ ਹਾਂ?","FAQ_15_P1":"ਇਸ ਵੇਲੇ ਨਹੀਂ, ਪਰ ਇਹ ਆ ਰਿਹਾ ਹੈ!","FAQ_15_P2":"ਜੇ ਤੁਸੀਂ ਅਲਫ਼ਾ ਨੂੰ ਵੇਖਣ ਲਈ ਉਤਸੁਕ ਹੋ ਤਾਂ ਤੁਸੀਂ ਇੱਥੇ ਵੇਖ ਸਕਦੇ ਹੋ: $ {1} ਅਲਫ਼ਾ 4.strem.io $ {2}.ਇਹ ਯਾਦ ਰੱਖੋ ਕਿ ਸਟ੍ਰੀਮਿੰਗ ਇਸ ਅਲਫ਼ਾ ਤੇ ਅਯੋਗ ਹੈ.ਅਸੀਂ ਕ੍ਰੋਮ ਫਾਇਰਫਾਕਸ ਓਪੇਰਾ ਅਤੇ ਐਜ ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਾਂ.","FAQ_16_H1":"ਕਸਰਤ ਨੂੰ ਕਾਸਟ ਕਰ ਰਹੇ / ਉਪਸਿਰਲੇਖ ਟੀਵੀ ਲਈ ਕੰਮ ਨਹੀਂ ਕਰਦਾ","FAQ_16_P1":"ਟੀਵੀ ਦੀ ਕਾਸਟਿੰਗ ਡੀਐਲਐਨਏ ਤਕਨਾਲੋਜੀ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ ਜੋ ਕਿ ਵੱਖ ਵੱਖ ਟੀਵੀ ਬ੍ਰਾਂਡਾਂ ਅਤੇ ਮਾਡਲਾਂ ਵਿਚਕਾਰ ਬਹੁਤ ਅਨੁਕੂਲ ਹੈ.ਇਸ ਕਾਰਨ ਕਰਕੇ, ਸਾਡੇ ਕੋਲ ਇਸ ਨੂੰ ਹਰ ਕੇਸ ਵਿੱਚ ਟੈਸਟ ਕਰਨ ਦੀ ਯੋਗਤਾ ਨਹੀਂ ਹੈ, ਇਸ ਲਈ ਇਹ ਬਹੁਤ ਦੂਰ ਹੈ.ਇਸ ਦੇ ਬਾਵਜੂਦ, ਅਸੀਂ ਇਸ ਨੂੰ ਲਗਾਤਾਰ ਬਿਹਤਰ ਬਣਾਉਣ \'ਤੇ ਕੰਮ ਕਰ ਰਹੇ ਹਾਂ ਪਰ ਅਸੀਂ ਤੁਹਾਨੂੰ ਉਹ ਸਮਾਂ ਅਨੁਮਾਨ ਨਹੀਂ ਦੇ ਸਕਦੇ ਜਦੋਂ dlna ਤੁਹਾਡੇ ਟੀਵੀ ਨਾਲ ਸਹੀ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰ ਦੇਵੇਗਾ.","FAQ_16_P2":"ਜੇ ਤੁਸੀਂ ਕਾਸਟਿੰਗ ਮੀਨੂ ਵਿੱਚ ਆਪਣਾ ਟੀਵੀ ਵੀ ਨਹੀਂ ਵੇਖਦੇ ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਨੈਟਵਰਕ ਕਨੈਕਸ਼ਨ ਨੂੰ ਅਯੋਗ ਕਰੋ ਅਤੇ ਆਪਣੇ ਰਾ ter ਟਰ ਟੀਵੀ ਅਤੇ ਪੀਸੀ ਰੀਸਟੋਰ ਤੇ ਕਲਿਕ ਕਰੋ","FAQ_16_P3":"ਜੇ ਤੁਸੀਂ ਅਜੇ ਵੀ ਮੁੱਦੇ ਦਾ ਸਾਹਮਣਾ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਆਪਣਾ ਟੀਵੀ ਬ੍ਰਾਂਡ ਅਤੇ ਮਾਡਲ ਜਾਣਕਾਰੀ $ {1 lofficus@stremio.com ਤੇ ਭੇਜ ਕੇ ਸਾਡੀ ਮਦਦ ਕਰ ਸਕਦੇ ਹੋ.","FAQ_16_P4":"ਇਸ ਦੌਰਾਨ ਅਸੀਂ ਕ੍ਰੋਮਾਸਿਡ ਦੀ ਸਿਫਾਰਸ਼ ਕਰਦੇ ਹਾਂ ਕਿ ਕੀ ਅਸੀਂ ਕਿਸੇ ਖੂਹ ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਾਂ ਜਾਂ ਸਿਰਫ਼ ਐਚਡੀਐਮਆਈ ਕੇਬਲ ਦੇ ਨਾਲ ਆਪਣੇ ਕੰਪਿ in ਟਰ ਵਿੱਚ ਜੋੜ ਰਹੇ ਹਾਂ.","FAQ_17_H1":"ਸਟ੍ਰੀਮੀਓ ਫ੍ਰੀਜ਼ ਅਤੇ / ਜਾਂ ਹਾਦਸੇ ਮੈਂ ਕੀ ਕਰ ਸਕਦਾ ਹਾਂ?","FAQ_17_P1":"ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਜੇ ਤੁਸੀਂ IVG ਐਂਟੀ-ਵਾਇਰਸ ਨਾਲ ਵਿੰਡੋਜ਼ 7 ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ: ਇਸ ਸੁਮੇਲ ਨਾਲ ਸਾਨੂੰ ਕੋਈ ਸਮੱਸਿਆ ਹੈ.ਸਮੱਸਿਆ ਆਪਣੇ ਆਪ ਵਿਚ ਇਕ ਵਿਚ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਹੱਲ ਕਰਨ ਦਾ ਕੋਈ ਸਹੀ ਤਰੀਕਾ ਨਹੀਂ ਹੈ.ਬਦਕਿਸਮਤੀ ਨਾਲ, ਐਂਟੀ-ਵਾਇਰਸ ਦਾ ਅਪਵਾਦ ਜਾਂ ਅਯੋਗ ਕੰਮ ਨਹੀਂ ਕਰੇਗਾ.ਸਿਰਫ ਇਕੋ ਇਕ ਚੀਜ਼ ਨੂੰ ਕਿਸੇ ਹੋਰ ਚੀਜ਼ ਨਾਲ ਬਦਲਣਾ ਹੈ.","FAQ_17_P2":"ਜੇ ਇਹ ਸਮੱਸਿਆ ਨਹੀਂ ਹੈ ਬਲਕਿ ਤੁਸੀਂ ਅਜੇ ਵੀ ਵਿੰਡੋਜ਼ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਨਵੀਨਤਮ ਸਰਵਿਸ ਪੈਕ ਨੂੰ ਅਪਡੇਟ ਕਰੋ ਅਤੇ ਆਪਣੇ ਜੀਪੀਯੂ ਡਰਾਈਵਰ ਨੂੰ ਅਪਡੇਟ / ਸਥਾਪਤ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.","FAQ_17_P3":"ਜੇ ਤੁਸੀਂ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਨਹੀਂ ਕਰ ਰਹੇ ਹੋ ਜਾਂ ਤੁਸੀਂ ਮੈਕ ਜਾਂ ਲੀਨਕਸ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ ਤਾਂ ਫਿਰ ਸਾਡੇ ਫੇਸਬੁੱਕ ਸਮੂਹ $ {On 2} \'ਤੇ ਸਮੱਸਿਆ ਦਾ ਸਹੀ ਵੇਰਵਾ ਦਿਓ.","FAQ_18_H1":"ਮੈਂ ਅਡੇਨ ਕਿਵੇਂ ਬਣਾ ਸਕਦਾ ਹਾਂ?","FAQ_18_P1":"ਸ਼ੁਰੂਆਤ ਦੇ ਲਈ, ਅਸੀਂ ਤੁਹਾਨੂੰ ਗਾਰਡਾਂ ਤੇ * {1} ਐਡਨਸ ਸਿਸਟਮ ਮੋਡੀ module ਲ $ {2} ਦੀ ਜਾਂਚ ਕਰਦੇ ਹਾਂ.","FAQ_18_P2":"ਬਾਅਦ ਵਿਚ ਤੁਸੀਂ $ {1} ਹੈਲੋ ਵਿਸ਼ਵ ਟਿ utorial ਟੋਰਿਅਲ $ {2 ਦੀ ਪਾਲਣਾ ਕਰ ਸਕਦੇ ਹੋ.","FAQ_18_P3":"ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ ਪ੍ਰੋਗਰਾਮਿੰਗ ਹੁਨਰਾਂ ਨਹੀਂ ਹਨ, ਕਿਰਪਾ ਕਰਕੇ ਆਪਣਾ ਦ੍ਰਿਸ਼ਟੀਕੋਣ $ {1} ਰੈਡਡਿਟ ਕਮਿ Community ਨਿਟੀ $ {2} ਤੇ ਪੋਸਟ ਕਰੋ ਅਤੇ ਆਪਣੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋ.","FAQ_19_H1":"ਸਟ੍ਰੀਮਿਓ ਡਿਸਕ ਕਿਉਂ ਹੋ ਰਹੀ ਹੈ?","FAQ_19_P1":"ਸਟ੍ਰੀਮਿਓ ਕੋਲ ਇੱਕ ਸਥਾਨਕ ਕੈਸ਼ </ ਬੀ> ਹੈ ਜੋ ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਸਟ੍ਰੀਮ-ਟ੍ਰਿਪ ਕਰਦਾ ਹੈ.","FAQ_19_P2":"ਇਸ ਦੇ ਦੋ ਫਾਇਦੇ ਹਨ: ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਸਪ੍ਰੋਮਿਓ ਨੂੰ ਹੋਰ ਵੀਡੀਓ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਤਾਂ ਜੋ ਨਿਰਵਿਘਨ ਸਟ੍ਰੀਮਿੰਗ ਨੂੰ ਯਕੀਨੀ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ.ਦੂਜਾ, ਇਹ ਵੀਡੀਓ ਨੂੰ ਸਥਾਨਕ ਨਕਦ ਵਿੱਚ ਰੱਖਦਾ ਹੈ ਤਾਂ ਜੋ ਤੁਸੀਂ ਉਨ੍ਹਾਂ ਨੂੰ offline ਫਲਾਈਨ ਵੇਖਣਾ ਜਾਰੀ ਰੱਖ ਸਕੋ.","FAQ_19_P3":"ਸੈੱਟ ਕਰਨ ਵਾਲੇ ਪੈਨਲ ਵਿੱਚ, ਸਟਰੇਮ <ਬੀ> ਕੈਚੇ </ ਬੀ> ਸੈਟਿੰਗਾਂ \'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ.ਸਟ੍ਰਾਬੀਓ ਤੁਹਾਡੀ ਡਿਸਕ ਤੇ ਸੈਟ ਕੀਤੀ ਗਈ ਰਕਮ ਤੇ ਨਿਰਭਰ ਕਰ ਸਕਦੀ ਹੈ (ਜਿਵੇਂ ਕਿ 2 ਜੀਬੀ) ਦੇ ਮਾਮਲੇ ਨਾਲੋਂ ਵੱਡਾ ਨਹੀਂ ਹੁੰਦਾ, ਜਿਸ ਵਿੱਚ ਤੁਸੀਂ ਇਸ ਨੂੰ ਪ੍ਰਵਾਹ ਨਹੀਂ ਕਰ ਰਹੇ.","FAQ_20_H1":"ਨਕਦ ਫੋਲਡਰ ਕਿੱਥੇ ਹੈ?","FAQ_20_P1":"ਇਹ ਵਿੰਡੋਜ਼ \'ਤੇ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਚੁਣੀ ਗਈ ਡਰਾਈਵ ਵਿੱਚ ਇਹ ਇੱਕ ਸਟ੍ਰਾਮਿਓ-ਕਾਸ਼ ਹੈ (e. E: starmio-cache)","FAQ_20_P2":"ਇਹ ~ / ਲਾਇਬ੍ਰੇਰੀ / ਐਪਲੀਕੇਸ਼ਨ ਸਪੋਰਟ / ਸਟ੍ਰੀਮਿਓ / ਸਟ੍ਰੀਮਿਓ-ਕੈਚੇ ਮੈਕੋਸਟ ਤੇ","FAQ_20_P3":"ਲੀਨਕਸ ਇਸ \'ਤੇ ~ / .stremio / spremio-cache ਜਾਂ ~ / ਸਟ੍ਰੀਮਿਓ-ਕੈਚੇ","FAQ_21_H1":"ਮੈਨੂੰ ਇੱਕ ਸਟ੍ਰੀਮਿੰਗ ਸਰਵਰ ਗਲਤੀ ਮਿਲਦੀ ਹੈ, ਮੈਂ ਕੀ ਕਰ ਸਕਦਾ ਹਾਂ?","FAQ_21_P1":"ਜੇ ਤੁਹਾਨੂੰ ਇਹ ਗਲਤੀ ਮਿਲਦੀ ਹੈ ਤਾਂ ਇਸਦਾ ਅਰਥ ਹੈ ਕੁਝ ਚੀਜ਼ਾਂ ਵਿਚੋਂ ਇਕ:","FAQ_21_P2":"1) ਤੁਸੀਂ ਸਾਡੀ $ {1} ਵੈੱਬ ਵਰਜ਼ਨ $ {{2} ਦੁਆਰਾ ਸਹਿਯੋਗੀ ਅਡਿਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਹੇ ਹੋ.ਇਸ ਸਥਿਤੀ ਵਿੱਚ ਤੁਹਾਨੂੰ ਸਾਡੀ ਵੈਬਸਾਈਟ $ {4} ਤੋਂ ਸਾਡੇ ਡੈਸਕਟਾਪ ਵਰਜ਼ਨ ਨੂੰ ਸਥਾਪਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ.","FAQ_21_P3":"2) ਤੁਹਾਡੀ ਸਟ੍ਰੀਮਿਓ ਇੰਸਟਾਲੇਸ਼ਨ ਵਿੱਚ ਕੁਝ ਗਲਤ ਹੈ.ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਸਾਡੇ ਨਵੀਨਤਮ ਡੈਸਕਟਾਪ ਵਰਜ਼ਨ ਨੂੰ $ {1} ਵੈਬਸਾਈਟ $ {2} ਤੋਂ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ.ਜੇ ਇਹ ਤੁਹਾਡੇ ਕੰਪਿ PC ਟਰ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰਨ ਵਿੱਚ ਸਹਾਇਤਾ ਨਹੀਂ ਕਰਦਾ ਅਤੇ ਐਂਟੀ-ਵਾਇਰਸ ਪ੍ਰੋਗਰਾਮਾਂ ਅਤੇ ਫਾਇਰਵਾਲ ਨੂੰ ਅਯੋਗ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ.ਜੇ ਇਹ ਕੰਮ ਨਹੀਂ ਕਰਦਾ, ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਸਾਨੂੰ ਆਪਣੇ ਫੇਸਬੁੱਕ ਸਮੂਹ $ {{4} ਤੇ ਲਿਖੋ.","FAQ_22_H1":"ਮੈਂ ਆਈਓਐਸ \'ਤੇ ਜ਼ਿਆਦਾਤਰ ਵਿਗਿਆਪਨ ਨਹੀਂ ਦੇਖ ਸਕਦਾ","FAQ_22_P1":"ਐਪਲ ਐਪ ਸਟੋਰ ਦੀਆਂ ਸ਼ਰਤਾਂ ਅਤੇ ਸ਼ਰਤਾਂ ਵਿੱਚ ਪਾਬੰਦੀਆਂ ਦੇ ਕਾਰਨ ਅਸੀਂ ਸਿਰਫ ਇਸ਼ਤਿਹਾਰਾਂ ਦੇ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਸਮੂਹ ਤੇ ਆਈਓਐਸ ਐਪਲੀਕੇਸ਼ਨ ਤੇ ਪਾਬੰਦੀ ਲਗਾ ਦਿੱਤੀ ਹੈ.","FAQ_22_P2":"ਪਰ ਬਾਕੀ ਭਰੋਸੇ ਦੇ ਦਿੱਤਾ ਗਿਆ ਹੈ - ਭਵਿੱਖ ਵਿੱਚ ਆਈਓਐਸ ਲਈ ਵਧੇਰੇ ਇਸ਼ਤਿਹਾਰ ਹੋਣਗੇ ਅਤੇ ਅਸੀਂ ਇੱਕ ਏਕੀਕਰਣ ਵੀ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹਾਂ ਜੋ ਸਟ੍ਰੈਮਿਸ਼ੀ ਸਟ੍ਰੀਮਿੰਗ ਸਰਵਰ ਨੂੰ ਆਈਓਐਸ ਐਪ ਨੂੰ ਜੋੜਨ ਲਈ ਸਾਰੇ ਸਟ੍ਰਿਮਿਓ ਐਡੀਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇਵੇਗਾ."}')},76985:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serial","TYPE_tv":"Program telewizyjny","TYPE_channel":"Kanał","TYPE_other":"Inne","TYPE_movie_PL":"Filmy","TYPE_series_PL":"Seriale","TYPE_tv_PL":"Programy telewizyjne","TYPE_channel_PL":"Kanały","TYPE_other_PL":"Inne","TYPE_ALL":"Wszystko","TYPE":"Typ","CATALOG_com_linvo_cinemeta_top":"Popularne","CATALOG_com_linvo_cinemeta_imdbRating":"Wyróżnione","CATALOG_com_linvo_cinemeta_year":"Nowe","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Filmy z domeny publicznej","VIDEO":"Wideo","BACK":"Wstecz","MORE":"Więcej","DONE":"Gotowe","COPY":"Kopiuj","SUCCESS":"Sukces","ERROR":"Błąd","SETTINGS_CASTING_MODE_PICKER":"Tryb transmisji","CASTING_MODE_HLSV2":"Domyślny","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Bez transkodowania","Discover":"Odkrywaj","Board":"Tablica","Library":"Biblioteka","My Library":"Moja biblioteka","Calendar":"Kalendarz","NOTIFICATION_ONLINE":"Jesteś teraz online","NOTIFICATION_OFFLINE":"Jesteś offline","INTERNET_CONNECTION":"Połączenie internetowe","STORAGE_FULL_TITLE":"Uwaga: pamięć pełna!","STORAGE_FULL_TEXT":"Stremio nie jest w stanie zapisać twoich ustawień lub danych logowania. Spróbuj ponownie uruchomić lub ponownie zainstalować Stremio.","SEARCH":"szukaj","SEARCH_NO_RESULTS":"Nie znaleziono żadnych wyników","SEARCH_EXPLANATION_CONTENT":"Szukaj filmów, seriali, filmów YouTube i kanałów telewizyjnych","SEARCH_EXPLANATION_PEOPLE":"Szukaj aktorów, reżyserów i scenarzystów","SEARCH_PASTE_LINKS":"Wklej adres HTTP lub link Magnet","SEARCH_OR_PASTE_LINK":"Wyszukaj lub wklej link","SEARCH_SUGGESTIONS":"Sugestie wyszukiwania","ADD_TO_LIB":"Dodaj do biblioteki","REMOVE_FROM_LIB":"Usuń z biblioteki","ADDED_TO_LIB":"Dodano do biblioteki","REMOVED_FROM_LIB":"Usunięto z biblioteki","TRAILER":"Zwiastun","WATCH_TRAILER":"Zobacz zwiastun","WATCH_NOW":"Oglądaj","SHOW":"Pokaż","SHOW_MOVIE":"Pokaż film","WATCH_RANDOM":"Obejrzyj losowy","IMDB_RATING":"Ocena IMDb","YEAR":"Rok","DIRECTOR":"Reżyser","WRITER":"Scenarzysta","LEAD_ACTORS":"Główni aktorzy","CAST":"Obsada","CREW":"Ekipa","SHOW_MORE_CAST":"Pokaż więcej »","AIRED":"Wyemitowany","SEASONS":"Sezony","GENRE":"Gatunek","GENRE_ALL":"Wszystkie gatunki","CATALOG":"Katalog","SUMMARY":"Podsumowanie","SHOW_MORE":"Pokaż więcej","SIMILAR":"Podobne","UPCOMING":"Nadchodzące","TBA":"TBA","ENDED":"Zakończony","DURATION":"Czas trwania","FEATURED":"Wyróżnione","METADATA":"Metadane","CATEGORY":"kategoria","LINKS_GENRES":"Gatunki","LINKS_CAST":"Obsada","LINKS_DIRECTORS":"Reżyserzy","SEARCH_VIDEOS":"Szukaj filmów","SEARCH_PLACEHOLDER":"Szukaj lub wklej URL","ADDON":"dodatek","ADDONS":"Dodatki","OFFICIAL":"oficjalny","ADDONS_OFFICIAL":"Oficjalne dodatki Stremio","ADDONS_POPULAR":"Popularne w twojej okolicy","ADDON_FREE":"darmowe","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"subskrypcja","ADDON_STREAM_GEORESTRICTED":"niedostępne w twoim regionie","ADDON_STREAM_OFFLINECACHE":"Pamięć podręczna offline","ADDON_STREAM_LOCALFILE":"Lokalny plik","SHARE_ADDON":"Udostępnij dodatek","AVAILABLE_STREAMS":"Dostępne źródła","NO_STREAM":"Nie ma dostępnych źródeł","ALL_ADDONS":"Wszystko","INSTALL_MORE_ADDONS":"Dla większej ilości źródeł zainstaluj więcej dodatków","STREAM_NOT_SUPPORTED":"Wybrane źródło nie jest dostępne na tej platformie","ADDON_CATALOGUE":"Pokaż wszystkie dodatki »","ADDON_CATALOGUE_MORE":"Więcej dodatków »","REPO_ADDED":"Repozytorium dodane","ADDON_REPO_EXIST_ERR":"Repozytorium już istnieje","ADDON_REPO_ERR":"Wystąpił błąd podczas dodawania kolekcji","ADDON_ADD_ERR":"Wystąpił błąd podczas dodawania dodatku","ERR_ADDON_PROTECTED":"Nie można odinstalować dodatku, ponieważ jest chroniony","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Coś poszło nie tak - uwierzytelnianie mogło się nie powieść","ERR_NOT_COLLECTION_URL":"To nie jest URL kolekcji","ERR_NOT_ADDON_URL":"Nieprawidłowy URL dodatku","ERR_DETECTFROMURL":"Nie odnaleziono dodatku/kolekcji pod tym URL","ADDON_DUPLICATE_WARNING":"Uwaga: powielony dodatek","ADDON_COLLECTION_SET_FAILED":"Synchronizacja zainstalowanych dodatków do twojego konta nie powiodła się","SETTINGS_DATA_EXPORT":"Wyeksportuj dane użytkownika","ADDON_PULL_FAILED":"Synchronizacja zainstalowanych dodatków z twojego konta nie powiodła się","REFRESH_ON_CLICK":"Kliknij, aby spróbować ponownie","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film obecnie w kinach","WATCH_IN_CINEMA":"Obejrzyj film w kinie","IN_THEATER":"W kinach","GET_TICKETS":"Kup bilety","UPCOMING_EPISODE":"Nadchodzący odcinek","UPCOMING_EPISODE_MESSAGE":"Ten odcinek zostanie nadany","MISSING_DATE_EPISODE":"Brak daty odcinka","MISSING_DATE_EPISODE_MESSAGE":"Ten odcinek mógł nie zostać jeszcze wyemitowany","CHANNEL_NOT_SCRAPED":"Ten kanał jeszcze nie został przeszukany.<br>Zajrzyj z powrotem za kilka minut.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Dodaj do swojej biblioteki, aby zostać powiadomionym kiedy będzie dostępny.","GET_NOTIFIED_WHEN_AVAILABLE":"Zostaniesz powiadomiony kiedy będzie dostępny.","WARNING_STREAMING_SERVER":"Uwaga: lokalny serwer streamingowy nie został znaleziony. Streamowanie lokalnych plików, YouTube i BitTorrent nie będą dostępne.","WARNING_STREAMING_SERVER_DISMISS":"Odrzuć","WARNING_STREAMING_SERVER_LATER":"Potem","DECODER_WARNING":"Uwaga: ten film może nie być wspierany przez twój sprzęt. Miej na uwadze, że odtwarzanie może być wolne.","GENERIC_ERROR_MESSAGE":"Coś poszło nie tak","TRY_AGAIN":"Spróbuj ponownie","CLEAR_DATA":"Wyczyść dane","PLAYER_ERROR":"Ups, błąd odtwarzacza","PLAYER_ERROR_LOOKSLIKE":"Wygląda na to, że","PLAYER_ORIENTATION":"Orientacja odtwarzacza","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Zablokowana","PLAYER_ORIENTATION_SENSOR_SHORT":"Auto","PLAYER_ORIENTATION_LANDSCAPE":"Orientacja odtwarzacza zablokowana w poziomie","PLAYER_ORIENTATION_SENSOR":"Orientacja odtwarzacza automatyczna (czujnik)","PLAYER_PLAYBACK_SPEED":"Prędkość odtwarzania","PLAYER_PLAYBACK_ERROR":"Błąd odtwarzania, spróbuj ponownie","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Nieznany błąd","PLAYER_PLAYBACK_ERROR_DEFAULT":"Przepraszamy, ten film nie może być odtworzony przez {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Język napisów","PLAYER_SUBTITLES_VARIANTS":"Rodzaje napisów","PLAYER_SUBTITLES_SETTINGS":"Ustawienia napisów","PLAYER_SUBTITLES_DISABLED":"Napisy są wyłączone","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Pozycja pionowa","PLAYER_SUBTITLES_LOADED":"Napisy wczytane","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Wczytano wbudowane napisy","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Wczytano ekskluzywne napisy","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Napisy z {{origin}} załadowane","PLAYER_PLAY":"Odtwarzaj","PLAYER_PAUSE":"Zatrzymaj","PLAYER_NEXT_VIDEO":"Następne Wideo","PLAYER_MUTE":"Wycisz","PLAYER_UNMUTE":"Wyłącz wyciszenie","PLAYER_OPEN_IN_EXTERNAL":"Otwórz w zewnętrznym odtwarzaczu","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Puść na {{device}}","PLAYER_LIVE":"Na żywo","PLAYER_NEXT_VIDEO_TITLE":"Następnie w programie","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Następnie na","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Odrzuć","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Oglądaj teraz","PLAYER_COPY_STREAM_SUCCESS":"Link do streamu został skopiowany do schowka","PLAYER_COPY_STREAM_ERROR":"Nie udało się skopiować linku do streamu","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streamuje z","CASTING_TO":"Transmisja do","NETWORK_STATUS":"Status połączenia","STREAM_SPEED":"Prędkość streamu:","STREAM_BUFFERED":"Zbuforowane:","PEERS_INFO":"Informacje o peerach","PEERS_ACTIVE":"Aktywnych:","PEERS_CONNECTED":"Połączonych:","PEERS_WAITING":"Oczekujących:","TRANSCODING_WARNING":"Uwaga: transkodowanie filmu.","STREAM_LOADING":"ładowanie...","PLAYING_LOCAL":"odtwarzanie lokalnego pliku","PLAYING_CACHE":"odtwarzanie z pamięci podręcznej","WRONG_SUBS":"Złe napisy?","ERR_SUBS_LOADING_TITLE":"Wystąpił błąd podczas ładowania napisów","ERR_SUBS_LOADING":"Nie udało się załadować napisów: to może być problem z dodatkiem, którego używasz, lub z twoim połączeniem sieciowym","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Następujące dodatki do napisów nie załadowały się poprawnie","ERR_CASTING_UPDATE_TITLE":"Nie udało się zaktualizować informacji o urządzeniu zdalnym: serwer streamingowy może być niedostępny","CHOOSE_DEVICE":"Wybierz urządzenie, na którym chcesz oglądać","NO_CAST_DEVICES":"Brak urządzeń do transmisji.","NO_SETTINGS":"Brak dostępnych ustawień.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Napisy","SUBTITLES_CHANGE":"Zmień napisy na ","SUBTITLES_CHANGE_NONE":"Nie ma innych napisów dla tego języka, przepraszamy","SUBTITLES_CHANGE_ACIVE":"Obecnie napisy #{{subtitlesDialog.activeIdx + 1}} są aktywne. Kliknij \\"Kontynuuj\\", aby aktywować napisy #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatywnie,","SUBTITLES_ADJUST_DELAY":"Dopasuj opóźnienie napisów:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"lub użyj przycisków <span>G</span> / <span>H</span> podczas odtwarzania, aby dopasować.","SUBTITLES_ADJUST_DELAY_TIP":"PORADA: możesz używać przycisków <span>G</span> / <span>H</span> podczas odtwarzania, aby dopasować.","SUBTITLES_DELAY":"Opóźnienie napisów:","SUBTITLES_LOADING":"Ładowanie napisów...","SUBTITLES_UNAVAILABLE":"Brak dostępnych zewnętrznych napisów","SUBTITLES_DISABLED":"Wyłączone","EXTERNAL_PLAYER_DISABLED":"Wyłączone","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Zezwalaj na wybór","EXTERNAL_PLAYER_HINT":"Wskazówka: Istnieje ustawienie pozwalające na otwieranie zawsze za pomocą zewnętrznego odtwarzacza","DONT_SHOW_AGAIN":"Nie pokazuj ponownie","SERVICE_INSTALL":"Zainstaluj","AUDIO":"Dźwięk","DEFAULT_LANGUAGE":"Domyślny język","DEFAULT_SECONDARY_LANGUAGE":"Domyślny drugorzędny język","SEASON":"Sezon","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Odcinek","EPISODE_ABBREVIATION":"ODC","SPECIAL":"Bonusowe","SORT":"sortuj","SORT_BY":"Sortuj według","FILTER":"filtruj","SORT_TRENDING":"na czasie","SORT_RECENT":"najnowsze","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"oceny","SORT_WATCHED":"obejrzane","SORT_YEAR":"rok","SELECT":"Select","SELECT_TYPE":"Wybierz typ","SELECT_SORT":"Wybierz sortowanie","SELECT_CATALOG":"Wybierz katalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Wybierz gatunek","SORT_LASTWATCHED":"ostatnio oglądane","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"ilość obejrzeń","SORT_NOTWATCHED":"nie obejrzane","New for You":"Nowe dla ciebie","New Episodes":"Nowe odcinki","New Videos":"Nowe filmy","Recommendations":"Polecane","LIBRARY_RESUME":"Wznów","LIBRARY_PLAY":"Odtwarzaj","LIBRARY_DETAILS":"Szczegóły","LIBRARY_RESUME_DISMISS":"Odrzuć","LIBRARY_CLEAR_PROGRESS":"Wyczyść postęp","LIBRARY_REMOVE":"Usuń","LIBRARY_NOT_LOGGED_IN":"Biblioteka jest dostępna tylko dla zalogowanych użytkowników","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Kalendarz jest dostępny tylko dla zalogowanych użytkowników","NOT_LOGGED_IN_CLOUD":"Dostęp do ulubionych filmów i seriali w dowolnym miejscu i czasie","NOT_LOGGED_IN_RECOMMENDATIONS":"Rekomendacje dostosowane do historii oglądania","NOT_LOGGED_IN_NOTIFICATIONS":"Nigdy więcej nie przegap żadnego odcinka","NOT_LOGGED_IN_CALENDAR":"Zaplanuj swój osobisty kalendarz oglądania","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Wyróżnione","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Zwycięzcy Oscara","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Ten dodatek nie zwrócił zawartości.","DISCOVER_ADULT_WARNING":"Ta treść jest widoczna tylko dla dorosłych. Czy jesteś 18+?","DISCOVER_NOADDON_WARNING":"Uwaga: żaden dodatek Stremio nie jest aktywny dla tego typu. Pokazywanie zapisanych elementów, nic tutaj nie będzie aktualizowane","DISCOVER_LOAD_ERR":"Zawartość nie została załadowana, wystąpił błąd","DISCOVER_ADDON_UNINSTALLED":"Ta zawartość nie jest już dostępna, być może odinstalowano ten dodatek.","UNINSTALL_THIS_ADDON":"Odinstaluj ten dodatek","ERR_ADDON_NOT_INSTALLED":"Ten dodatek nie jest zainstalowany. Zainstalować teraz?","DETAIL_RECEIVE_NOTIF_SERIES":"Otrzymuj powiadomienia o nowych odcinkach","DETAIL_RECEIVE_NOTIF_VIDEOS":"Otrzymuj powiadomienia o nowych filmach","SIDEBAR_SHOW_STREAMS":"Pokaż źródła","RELAUNCH":"Uruchom ponownie teraz!","UPGRADE":"Nowa wersja jest dostępna! Zaktualizuj do najnowszej wersji Stremio","RELOAD_UI":"Przeładuj interfejs użytkownika","MANUAL_UPDATE_TITLE":"Zaktualizuj twoją wersję Stremio","MANUAL_UPDATE_LINE1":"Używasz przestarzałej wersji Stremio, co jest mocno niezalecane.","MANUAL_UPDATE_LINE2":"Proszę zaktualizować tak szybko, jak to możliwe.","BUTTON_UPDATE_LATTER":"Nie teraz","BUTTON_UPDATE_NOW":"Aktualizuj","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonimowy użytkownik","DONT_HAVE_ACC":"Nie masz konta?","HAVE_ACC":"Masz już konto?","PASSWORD":"Hasło","PASSWORD_CONFIRM":"Potwierdź hasło","EMAIL":"E-mail","FB_LOGIN":"Zaloguj się z Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nic nie jest udostępniane bez twojego zezwolenia","FB_NOPOST":"Nic nie upublikujemy w twoim imieniu","OR":"lub","I_ACCEPT":"Akceptuję","I_ACCEPT_BY_CLICKING":"Poprzez kliknięcie powyższego przycisku świadczę, że akceptuję ","TOS":"Warunki Umowy","MUST_ACCEPT_TERMS":"Musisz zaakceptować regulamin","PASSWORDS_NOMATCH":"Podane hasła nie są takie same","SIGN_UP":"Zarejestruj się","SIGN_UP_EMAIL":"Zarejestruj się za pomocą email","CLICK_TO_SIGN_UP":"Kliknij tutaj, aby się zarejestrować.","LOG_IN":"Zaloguj się","LOG_OUT":"Wyloguj się","EXIT_FULLSCREEN":"Wyjdź z trybu pełnoekranowego","ENTER_FULLSCREEN":"Wejdź w tryb pełnoekranowy","PLAY_URL_MAGNET_LINK":"Odtwórz URL/link Magnet","HELP_FEEDBACK":"Pomoc i Opinie","TERMS_OF_SERVICE":"Warunki świadczenia usług","PRIVACY_POLICY":"Polityka Prywatności","ABOUT_STREMIO":"O Stremio","USER_PANEL":"Panel użytkownika","LOGIN_LABEL":"Zaloguj się","GUEST_LOGIN":"Zaloguj się jako gość","GUEST_LOGIN_NOTICE":"Logowanie się jako gość nie jest zalecane. Używanie typowego logowania pozwala Stremio synchronizować twoją Bibliotekę oraz ustawiać powiadomienia o twoich ulubionych serialach/kanałach. Na pewno chcesz kontynuować?","GUEST_LOGIN_NOTICE_2":"Logowanie się jako gość nie jest zalecane - nie będziesz miał możliwości synchronizacji Biblioteki i powiadomień na Tablicy, a to ważne funkcje Stremio. Na pewno chcesz kontynuować?","CLICK_HERE":"kliknij tutaj","WRONG_PASSWORD":"Zły email lub hasło. Jeżeli zapomniałeś swojego hasła, ","SET_A_PASS":"ustaw hasło","RESET_PASSWORD":"Zresetuj hasło","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Zapomniałeś hasła?","EMAIL_USED_WITH_FB":"Ten email jest używany do logowania poprzez Facebook.","INVALID_EMAIL":"Wprowadź poprawny adres email","INVALID_PASSWORD":"Wprowadź poprawne hasło","CONN_ERR":"Błąd połączenia - proszę spróbować ponownie później.\\n\\nJeśli problem wciąż występuje, wyłącz zapory sieciowe/oprogramowanie antywirusowe (szczególnie Bitdefender).","IMPORT_FROM_GUEST":"Importuj Bibliotekę z twojego konta gościa","RECEIVE_UPDATES_EMAIL":"Otrzymuj aktualizacje na swój email od Stremio","LOGIN_FAILED":"Logowanie nieudane.","SIGNUP_FAILED":"Rejestracja nieudana.","SEARCH_FAILED":"Wyszukiwanie nieudane","EMAIL_USED":"Ten email jest już w użyciu.","WAITING_FB_LOGIN":"Logowanie za pomocą Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Odtwórz w zewnętrznym odtwarzaczu","EXTERNAL_REMEMBER_PLAYER":"Czy chcesz zapamiętać swój wybór?","EXTERNAL_ALWAYS_PLAY":"Tak","EXTERNAL_ONLY_ONCE":"Nie","BEST_FIT":"Najlepsze dopasowanie","FIT_SCREEN":"Dopasuj do ekraniu","FILL":"Wypełnij","16:9":"16:9","4:3":"4:3","Original":"Oryginalne","INTRO_TASTE":"Powiedz nam co lubisz","INTRO_TASTE_LONG":"Powiedz nam co zechcialbyś obejrzeć","INTRO_TASTE_PICK":"Wybierz {{interestsRemaining}} zainteresowania","INTRO_TASTE_PICK_MORE":"Wybierz {{interestsRemaining}} więcej zainteresowań","INTRO_TASTE_HELP_US":"Pomóż nam dowiedzieć się więcej o Tobie.","INTRO_TASTE_CHOOSE_THESE":"Wybierz kilka z tych:","INTRO_TASTE_CHOOSE_MIN":"Wybierz przynajmniej 3 kategorie","INTRO_TASTE_CHOOSE_MIN_ERR":"Musisz wybrać przynajmniej 3 kategorie!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Jedzenie i zdrowie","INTRO_TASTE_BEAUTY_FASHION":"Uroda i moda","INTRO_TASTE_NEWS":"Wiadomości","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Nauka i edukacja","INTRO_TASTE_MUSIC":"Muzyka","INTRO_TASTE_TRAVEL":"Podróże","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedia","INTRO_TASTE_DIY":"Poradniki DIY","INTRO_TASTE_TECH":"Technologia","INTRO_TASTE_CINEMA":"Kino","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Wybrany dodatek nie jest wspierany na tej platformie.","ADDON_DISCLAIMER":"Korzystanie z dodatków stron trzecich zawsze podlega odpowiedzialności użytkownika i prawu obowiązującemu w jurysdykcji, w której się znajduje.","ADDON_ACTIVATE":"Aktywować ten dodatek?","ADDON_REPO_ADD":"Adres URL repozytorium dodatków","ADDON_ADD":"Dodaj","INSTALL_ADDON":"Zainstaluj dodatek","ADD_ADDON":"Dodaj dodatek","ADD_ADDON_DESCRIPTION":"Dodatek można dodać za pomocą zewnętrznego linku, który pojawi się w sekcji Zainstalowane dodatki.","PASTE_ADDON_URL":"Wklej adres URL dodatku","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Co nowego?","BUTTON_CONTINUE":"Kontynuuj","BUTTON_ACTIVATE":"Aktywuj","BUTTON_ACTIVATED":"Aktywowany","BUTTON_CANCEL":"Anuluj","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Wyślij","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Odrzuć wszystko","BUTTON_VIEW_ALL":"Zobacz wszystko","BUTTON_SEE_ALL":"Zobacz wszytko","BUTTON_COLOR_TRANSPARENT":"Przezroczysty","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Otwórz w przeglądarce","LIB_EMPTY":"Twoja biblioteka wygląda na pustą. Dowiedz się jak bardzo jest ona przydatna :) ","HOW_START":"Oto jak zacząć:","LIB_EMPTY_CAL":"Twój Kalendarz pokazuje seriale w twojej bibliotece.","HOW_START_CAL":"Tak możesz dodawać seriale:","LIB_EMPTY_BOARD":"Tablica wyświetla powiadomienia & rekomendacje związane z Twoją biblioteką.","HOW_START_BOARD_WAIT":"Dodaj kilka seriali lub filmów to swojej Biblioteki i daj nam trochę czasu na przetworzenie :)","HOW_START_BOARD":"Tak możesz dodawać seriale & filmy:","IMPORT_FB":"Importuj rzeczy, które lubisz z <span>Facebook</span>","IMPORT_TRAKT":"Importuj swoją biblitekę filmów z <span>Trakt</span>","IMPORT_DISCOVER":"Znajdź interesujące rzeczy w <span>Odkrywaj</span>","IMPORT_DISK":"Importuj filmy lub seriale, które posiadasz na swoim <span>lokalnym dysku</span>","PLEASE_CREATE_ACC":"<u>Załóż konto</u>, aby uzyskać dostęp do synchronizacji Biblioteki & Tablicy.","IMPORT_DISCOVER_SIGNUP":"Załóż konto i znajdź interesujące rzeczy w <span>Odkrywaj</span>","IMPORT_DISK_SIGNUP":"Załóż konto i importuj filmy lub seriale, które posiadasz na swoim <span>lokalnym dysku</span>","LIB_EMPTY_CLOUD":"Biblioteka w chmurze","LIB_EMPTY_CLOUD_DESC":"Osobista biblioteka w chmurze zsynchronizowana na wszystkich urządzeniach","LIB_EMPTY_EARLY":"Ranny ptaszek","LIB_EMPTY_EARLY_DESC":"Otrzymuj powiadomienia o nowych odcinkach","LIB_EMPTY_PERSONAL":"Osobiste","LIB_EMPTY_PERSONAL_DESC":"Otrzymuj osobiste rekomendacje","LIB_EMPTY_CALENDAR_DESC":"Zaplanuj swój osobisty kalendarz oglądania","LIB_EMPTY_ALL":"Zarejestruj się, aby uzyskać dostęp do wszystkich tych funkcji:","LIB_EMPTY_BEST":"Zarejestruj się, aby pozyskać najlepsze ze Stremio","LIB_EMPTY_OTHER":"Zarejestruj się, aby włączyć Kalendarz i inne fajne funkcje","CALENDAR_ADDED":"Kalendarz Stremio został dodany do twojego domyślnego systemowego kalendarza.","CALENDAR_ADDED_MSG":"Jeżeli to nie działa, dodaj ten URL do twojego kalendarza manualnie","TRAKT_EXPIRED":"Uwierzytelnianie Trakt wygasło, przejdź do Ustawień i uwierzytelnij ponownie.","TRAKT_REQUIRES_LOGIN":"Błąd Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Musisz się zalogować","TRAKT_IMPORT_WATCHED":"Importuj","THEME":"Motyw","THEME_DEFAULT":"Domyślny","THEME_ADAPTIVE":"Adaptacyjny","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Ustawienia","SETTINGS_NAV_GENERAL":"Ogólne","SETTINGS_NAV_PLAYER":"Odtwarzacz","SETTINGS_NAV_STREAMING":"Odtwarzanie","SETTINGS_NAV_SHORTCUTS":"Skróty","SETTINGS_SHORTCUT_RELOAD_APP":"Przeładuj aplikację","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Otwórz ustawienia","SETTINGS_SHORTCUT_SWITCH_TABS":"Zmień karty","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Przechodzenie między kartami do przodu","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Przechodzenie między kartami do tyłu","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Nawigacja między menu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Przejdź do wyszukiwania","SETTINGS_SHORTCUT_EXIT_BACK":"Wyjdź / Cofnij","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Otwórz menu prędkości odtwarzania","SETTINGS_SHORTCUT_MENU_VIDEOS":"Otwórz menu wideo","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Otwórz ustawienia napisów","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Otwórz menu z Info","SETTINGS_SHORTCUT_FULLSCREEN":"Włącz tryb pełnoekranowy","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Pokaż skróty","SETTINGS_SHORTCUT_PLAY_PAUSE":"Odtwarzaj / Zatrzymaj","SETTINGS_SHORTCUT_VOLUME_UP":"Podgłośnij","SETTINGS_SHORTCUT_VOLUME_DOWN":"Ścisz","SETTINGS_SHORTCUT_SEEK_NEXT":"Przewiń wstecz","SETTINGS_SHORTCUT_SEEK_PREV":"Przewiń do przodu","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Przewiń wstecz","SETTINGS_SHORTCUT_SEEK_FORWARD":"Przewiń do przodu","SETTINGS_SHORTCUT_PLAY_NEXT":"Odtwórz następny odcinek","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Zwiększ rozmiar napisów","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Zmniejsz rozmiar napisów","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Zwiększ opóźnienie napisów","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Zmniejsz opóźnienie napisów","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Włącz pasek boczny","SETTINGS_SHORTCUT_OR":"albo","SETTINGS_SHORTCUT_TO":"do","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Spacja","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Uwierzytelnij","SETTINGS_FACEBOOK_IMPORT":"Importuj","SETTINGS_CALENDAR_SUBSCRIBE":"Subskrybuj","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Język interfejsu","SETTINGS_LAUNCH_STARTUP":"Uruchom przy starcie systemu","SETTINGS_VLC_DEFAULT":"Odtwórz w VLC","SETTINGS_UI_LANGUAGE":"Język interfejsu","SETTINGS_UI_ZOOM":"Powiększenie interfejsu","SETTINGS_FULLSCREEN_EXIT":"Klawisz Escape powoduje wyjście z trybu pełnoekranowego","SETTINGS_GAMEPAD":"Włącz obsługę gamepada","SETTINGS_CLOSE_WINDOW":"Zamyknij aplikację wraz z zamknięciem okna","SETTINGS_SUBTITLES_LANGUAGE":"Domyślny język napisów","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Domyślny rozmiar napisów","SETTINGS_SUBTITLES_BACKGROUND":"Tło napisów","SETTINGS_SUBTITLES_COLOR":"Kolor napisów","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Kolor konturu napisów","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Kolor tła napisów","SETTINGS_SEEK_KEY":"Dzługość przewijania za pomocą strzałek","SETTINGS_SEEK_KEY_SHIFT":"Dzługość przewijania za pomocą strzałek, gdy przytrzymany jest klawisz Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Długość przewijania do tyłu i do przodu","SETTINGS_BINGE":"Automatycznie odtwórz następny odcinek","SETTINGS_NEXT_VIDEO":"Wyświetl powiadomienie o rozpoczęciu następnego odcinka","SETTINGS_NEXT_VIDEO_TRIGGER":"Pokaż powiadomienia o następnym odcinku dla:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Czas trwania powiadomienia o następnym odcinku","SETTINGS_PLAY_IN_BACKGROUND":"Odtwarzanie w tle","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Odtwórz w zewnętrznym odtwarzaczu","SETTINGS_RESIZE":"Automatycznie zmień rozmiar okna przed rozpoczęciem odtwarzania","SETTINGS_OVERRIDE_SERVER":"Nadpisz adres URL serwera streamingowego (zaawansowane)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Adres URL serwera streamingowego: ","SETTINGS_SERVER_AVAILABLE":"Serwer streamingowy jest dostępny.","SETTINGS_SERVER_UNAVAILABLE":"Serwer streamingowy jest niedostępny.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Błąd","SETTINGS_SERVER_CONFIGURE_TITLE":"Konfiguracja adresu URL serwera streamingowego","SETTINGS_SERVER_CONFIGURE_INPUT":"Wprowadź adres URL serwera streamingowego","SETTINGS_SERVER_CACHE_SIZE":"Rozmiar pamięci podręcznej","SETTINGS_SERVER_TORRENT_PROFILE":"Profil torrent","SETTINGS_HTTPS_ENDPOINT":"Streamingowy punkt końcowy HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Profil transkodowania","SETTINGS_USE_BETA":"Użyj wersji Beta programu","SETTINGS_IMPORT_FB":"Importuj z Facebook","SETTINGS_IMPORT_DISK":"Importuj z lokalnego dysku","SETTINGS_IMPORT_TRAKT":"Importuj z Trakt","SETTINGS_PAUSE_MINIMIZED":"Wstrzymaj odtwarzanie po zminimalizowaniu okna","SETTINGS_HWDEC":"Dekodowanie z akceleracją sprzętową","SETTINGS_BACKGROUND":"Odtwarzanie w tle","SETTINGS_SUBSCRIBE_CALENDAR":"Subskrybuj kalendarz","SETTINGS_REQ_EXPORT":"Zażądaj exportu danych","SETTINGS_ACC_DELETE":"Zażądaj usunięcia konta","SETTINGS_CHANGE_PASSWORD":"Zmień hasło","SETTINGS_TOS":"Warunki korzystania z usługi","SETTINGS_SUPPORT":"Skontaktuj się ze wsparciem","SETTING_LANGUAGE":"Język","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Wyloguj z Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Wyloguj z Trakt","SETTINGS_SCAN_FOR_REMOTE":"Zeskanuj kod QR, aby otworzyć pilot sieciowy","SETTINGS_DESKTOP_NOTIFICATIONS":"Powiadomienia na pulpicie","SETTINGS_DATA_SAVER":"Oszczędzanie energii","SETTINGS_LANGUAGE_INTERFACE":"interfejs","SETTINGS_LANGUAGE_SUBS":"domyślne napisy","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Automatyczny wybór ścieżki dźwiękowej","SETTINGS_DEFAULT_AUDIO_TRACK":"Domyślna ścieżka dźwiękowa","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Dźwięk surround","SETTINGS_ACCOUNT":"konto","SETTINGS_PLATFORM":"Platforma","SETTINGS_VERSION":"Wersja","SETTINGS_ABOUT":"O aplikacji","SETTINGS_MPV_WINDOW":"Uruchamiaj odtwarzacz w osobnym oknie (zaawansowane)","SETTINGS_PLAY_IN_EXTERNAL":"Zawsze uruchamiaj wideo w zewnętrznym odtwarzaczu","SETTINGS_STORAGE_BUTTON":"Wyczyść pamięć lokalną","SETTINGS_STORAGE_MODAL_TITLE":"Jesteś pewny?","SETTINGS_STORAGE_MODAL_MESSAGE":"Spowoduje to wyczyszczenie lokalnej pamięci i wylogowanie użytkownika.","SETTINGS_HWDEC_PICKER":"Wybierz ustawienie dekodowania z akceleracją sprzętową","SETTINGS_HW_AUTOMATIC":"Automatyczna","SETTINGS_HW_DISABLED":"Wyłączona","SETTINGS_HW_ACCELERATED":"Akceleracja dekodowania","SETTINGS_HW_FULL":"Pełna akceleracja","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Wyłączone","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Powiadomienie o połączeniu sieciowym","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Adres URL pilota sieciowego","SETTINGS_COPY_REMOTE_URL":"Skopiuj adres URL pilota sieciowego","SETTINGS_REMOTE_URL_COPIED":"Adres URL pilota sieciowego został skopiowany do schowka","SETTINGS_SECTION_SUBTITLES":"Napisy","SETTINGS_SECTION_AUDIO":"Dźwięk","SETTINGS_SECTION_CONTROLS":"Sterowanie","SETTINGS_SECTION_AUTO_PLAY":"Automatyczne odtwarzanie","SETTINGS_SECTION_ADVANCED":"Zaawansowane","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Napisy z dodatków","SUBSPICKER_BLACK_BACKGROUND":"Użyj czarnego tła","SUBSPICKER_VERTICAL_OFFSET":"Przesunięcie pionowe","SUBSPICKER_SIZE":"Rozmiar","SUBSPICKER_DELAY":"Opóźnienie","SUBSPICKER_EMBEDDED_SUBS":"Wbudowane napisy","MOBILE_PRIVACY_POLICY":"Polityka prywatności","MOBILE_CRASH_REPORTING":"Zgłaszanie błędów","MOBILE_ZOOM_TO_FILL":"Powiększ, aby wypełnić ekran","MOBILE_PASSTHROUGH":"Cyfrowe wyjście audio (passthrough)","MOBILE_RUN_LOW_BATTERY":"Praca na niskim poziomie baterii","MOBILE_RUN_FOREGROUND":"Uruchom jako usługę pierwszoplanową","MOBILE_PERFORMANCE":"WYDAJNOŚĆ I STABILNOŚĆ","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"Kod QR wygasa w ","MOBILE_LOG_INTO":"Zaloguj się do swojego konta Stremio ","MOBILE_SCAN_QR":"Zeskanuj kod QR powyżej lub przejdź do ","MOBILE_LINK_ACCOUNT":"Powiąż konto","MOBILE_SPEEDPICKER_CANCEL":"Anuluj","MOBILE_SPEEDPICKER_LABEL":"Wybór prędkości odtwarzania","MOBILE_EMPTY_LIBRARY":"Twoja biblioteka jest pusta","MOBILE_NO_ADDON_ACTIVE":"Żaden dodatek Stremio nie jest aktywny dla tego typu.","MOBILE_ORGANIZER_WARNING":"Aplikacja Stremio Organizer zapewnia ograniczoną funkcjonalność. Aby uzyskać listę źródeł i pełną funkcjonalność Stremio, użyj Stremio na komputerze.","MOBILE_ADDON_LOADING":"wciąż się ładuje","MOBILE_ADDONS_LOADING":"dodatki wciąż się ładują","MOBILE_ADDON":"Dodatek","MOBILE_CONFIGURE_ADDON":"Konfiguracja dodatku","MOBILE_CONFIGURE_ADDON_LABEL":"Skonfiguruj dodatek","MOBILE_ORGANIZER_ADDONS_WARNING":"Aplikacja Stremio Organizer zapewnia ograniczony wybór dodatków. Aby w pełni cieszyć się Stremio, użyj Stremio na komputerze.","MOBILE_DISCONNECT":"Rozłączenie","MOBILE_LOOKING_FOR_DEVICES":"Poszukiwanie urządzeń...","MOBILE_CAST_TO":"Streamuj do","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Usuń konto","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Usunięcie konta nie jest natychmiastowe ze względu na zobowiązania prawne. Po złożeniu wniosku o usunięcie konta będziesz musiał użyć innego adresu e-mail/profilu Facebook, aby utworzyć nowe konto Stremio w przyszłości.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Potwierdź usunięcie konta","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Twoje konto zostało utworzone za pomocą Facebooka. Aby usunąć konto, skorzystaj z naszego portalu użytkownika pod adresem www.stremio.com/login.","MOBILE_DELETE_ACCOUNT_MESSAGE":"Podaj hasło, aby potwierdzić usunięcie konta.","MOBILE_DELETE_ACCOUNT_BUTTON":"Usuń konto","NAVIGATION_ON":"Włącz","NAVIGATION_OFF":"Wyłącz","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Wyrażam zgodę na otrzymywanie informacji marketingowych od Stremio","QUIT":"Zamknij","CONNECTED":"Połączono","AUTHENTICATE":"Uwierzytelnianie","AUTHENTICATING":"Authenticating...","CACHING":"Buforowanie","SETTINGS_CACHING_DRIVE":"Dysk buforujący","ENABLE_LOCAL_FILES_ADDON":"Włącz dodatek plików lokalnych (wymaga restartu)","LOCAL_ADDON_NOT_ENABLED":"Dodatek plików lokalnych nie jest włączony. Kliknij tutaj, aby przejść do ustawień i go włączyć.","ENABLE_REMOTE_HTTPS_CONN":"Włącz zdalne połączenia HTTPS","TORRENT_PROFILE":"Profil torrent","DATA_CACHING":"Buforowanie danych","MAGNET_PARSING":"Analizowanie linku Magnet","January":"Styczeń","February":"Luty","March":"Marzec","April":"Kwiecień","May":"Maj","June":"Czerwiec","July":"Lipiec","August":"Sierpień","September":"Wrzesień","October":"Październik","November":"Listopad","December":"Grudzień","Monday":"Poniedziałek","Tuesday":"Wtorek","Wednesday":"Środa","Thursday":"Czwartek","Friday":"Piątek","Saturday":"Sobota","Sunday":"Niedziela","Action":"Akcja","Comedy":"Komedia","War":"Wojna","Family":"Rodzina","Animation":"Animacja","Adventure":"Przygoda","Fantasy":"Fantasy","Crime":"Kryminał","Mystery":"Tajemnica","Romance":"Romans","Drama":"Dramat","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Muzyka","Biography":"Biografia","Documentary":"Dokument","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"Wiadomości","History":"Historia","Game-Show":"Teleturnieje","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film i Rozrywka","Gaming":"Gaming","From TV":"Z TV","Lifestyle":"Lifestyle","Science & Education":"Nauka i Edukacja","Cooking & Health":"Gotowanie i Zdrowie","Beauty & Fashion":"Moda i Uroda","Sports":"Sporty","News & Politics":"Wiadomości i Polityka","How-to & DIY":"Poradniki i DIY","Tech":"Technologia","Automotive":"Motoryzacja","Causes & Non-Profits":"Szczytne cele i Non-Profit","Movies":"Filmy","Uk Live Tv":"Uk Live Tv","Fashion":"Moda","Business News Radio":"Radio wiadomości biznesowych","Business Tv":"Biznesowe Tv","Cars & Auto":"Samochody i auta","Comedy Radio":"Radio komediowe","Lifestyle Radio":"Radio lifestyle","News Tv":"Wiadomości Tv","Food And Wine":"Jedzenie i Wino","Latino Tv":"Latynoska Tv","Shopping Tv":"Zakupy Tv","Religion":"Religia","Kids":"Dzieci","Body & Soul":"Ciało i Dusza","Education":"Edukacja","Indian Tv":"Indyjska Tv","Extreme Sports":"Sporty ekstremalne","Middle Eastern Tv":"Bliski wschód Tv","Celebrity Tv":"Celebryckie Tv","Science Tv":"Naukowe Tv","Bikini babe":"Bikini babe","Outdoors":"Na zewnątrz","German Tv":"Niemieckie Tv","French Tv":"Francuskie Tv","Italian Tv":"Włoskie Tv","Gamer Tv":"Tv dla gracza","Travel":"Podróżowanie","Asian Tv":"Azjatyckie Tv","Entertainment":"Rozrywka","News Radio":"Radio Informacyjne","Music Radio":"Radio Muzyczne","Language Learning":"Nauka języków","Science Radio":"Radio Naukowe","Tech Radio":"Radio Technologiczne","Science & Technology Vod":"Nauka i technologia Vod","new video":"nowe wideo","new episode":"nowy odcinek","new movie":"nowy film","recommended":"polecane","we recommend":"polecamy","offer of the day":"oferta dnia","news":"wiadomości","music video":"teledysk","CTX_SHOW_HOTKEYS":"Pokaż skróty","CTX_DISMISS_NOTIF":"Odrzuć powiadomienie","CTX_DISMISS_ALL":"Odrzuć wszystkie","CTX_SHARE":"Udostępnij","CTX_COPY_SHARE_LINK":"Kopiuj link do udostępnienia.","CTX_COPY_MAGNET_LINK":"Kopiuj link Magnet","CTX_COPY_STREAM_LINK":"Kopiuj link do streamu","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Pobierz film","CTX_DOWNLOAD_SUBS":"Pobierz napisy","CTX_VIEW_ON_YOUTUBE":"Zobacz na Youtube","CTX_SHOW":"Pokaż","CTX_PLAY":"Odtwórz","CTX_PLAY_IN":"Odtwórz w","CTX_PLAY_ON":"Odtwórz na","CTX_WATCH_ON":"Oglądaj na","CTX_WATCH":"Oglądaj","CTX_WATCHED":"Obejrzane","CTX_WATCH_BEGINNING":"Odtwórz od początku","CTX_WATCH_MOBILE":"Odtwórz na urządzeniu mobilnym","CTX_REWIND":"Przewiń do początku","CTX_MARK_WATCHED":"Oznacz jako obejrzane","CTX_MARK_NON_WATCHED":"Oznacz jako nieobejrzane","CTX_MARK_UNWATCHED":"Oznacz jako nieoglądane","CTX_MARK_REST":"Oznacz resztę jako obejrzane","CTX_UNMARK_REST":"Oznacz resztę jako nieobejrzane","CTX_RECEIVE_NEW_NOTIF":"Otrzymuj nowe powiadomienia","CTX_ENABLE_NEW_NOTIF":"Włącz powiadomienia","CTX_DISABLE_NEW_NOTIF":"Wyłącz powiadomienia","CTX_REMOVE_CACHE":"Wyczyść pamięć podręczną","CTX_REMOVE_CACHE_EP":"Usuń odcinek z pamięci podręcznej","CTX_OPEN_CONTAINING":"Otwórz folder zawierający","CTX_REMOVE":"Usuń z Biblioteki","CTX_AVAILABLE_OFFLINE":"Dostępne offline","CTX_PAUSED":"Zatrzymane","CTX_ALWAYS_ON_TOP":"Zawsze na wierzchu","CTX_FULLSCREEN":"Tryb pełnoekranowy","CTX_WRONG_SUBS":"Złe napisy?","CTX_REPORT_ISSUES":"Wyślij raport o błędzie","CTX_COPY":"Kopiuj","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Wklej","CTX_CLEAR":"Wyczyść","CTX_CLEAR_RECENT_SEARCHES":"Wyczyść ostatnie wyszukiwania","HELLO_THERE":"Witaj","HOPE_YOU_ENJOY":"Mamy nadzieję, że Stremio przypadło Ci do gustu i jest już jedną z Twoich ulubionych aplikacji!","WHO_ARE_WE":"Kim jesteśmy? Jesteśmy zespołem, który za tym stoi - dwoma facetami, którzy od trzech lat ciężko pracują każdego dnia, aby uczynić ten produkt coraz lepszym.","SUPPORT_US":"Jeśli lubisz korzystać ze Stremio, jeśli Stremio jest dla Ciebie wartościowe - roznieś wieści!","SPREAD_THE_WORD":"Podziel się teraz ze znajomymi, roznieś wieści o Stremio","MORE_PEOPLE":"Im więcej osób będzie korzystać ze Stremio, tym będzie ono lepsze!","SEND_A_LINK":"Lub wyślij link do naszej strony internetowej","TIP_LOCALFILES":"Wskazówka: możesz przeciągać i upuszczać lokalne pliki wideo do Stremio","ADDON_MY":"Moje dodatki","ADDON_COMMUNITY":"Dodatki społeczności","ADDON_OFFICIAL":"Oficjalne dodatki","ADDON_REPOS":"Repozytoria dodatków","ADDON_SEARCH":"Wyszukaj dodatki","ADDON_INSTALL":"Zainstaluj","ADDON_CONFIGURE":"Konfiguruj","ADDON_UNINSTALL":"Odinstaluj","ADDON_UPGRADE":"Zaktualizuj","ADDON_INSTALLED":"Zainstalowano","ADDON_INSTALLED_MSG":"Dodatek zainstalowany!","ADDON_UPGRADED_MSG":"Dodatek zaktualizowany!","ADDON_UNKNOWN":"Nieznany","ADDON_ERR":"Wystąpił błąd przy instalacji dodatku","ADDON_DISCONNECTED":"Odłączono","ADDON_APP_MISSING":"aplikacja dla tego źródła nie jest zainstalowana. Czy chcesz ją teraz zainstalować?","ADDON_APP_INSTALL":"Zainstaluj","ADDON_PAGE":"Strona dodatku","ADDON_TOP_CONTENT":"Najlepsze z tego dodatku","ADDON_PROVIDES":"Ten dodatek zapewnia:","ADDON_WATCH":"Oglądaj #{types} teraz!","ADDON_WATCH_FREE":"Oglądaj #{types} teraz za darmo!","ADDON_ADDON":"Dodatki","ADDON_SUPPORTED_TYPES":"Obsługiwane typy","ADDON_SUPPORTED_CATALOGS":"Obsługiwane katalogi","ADDON_PROVIDES_DISCOVER":"Więcej #{types} w Odkryj","ADDON_PROVIDES_STREAMS":"Oglądaj #{types}","ADDON_PROVIDES_STREAMS_FREE":"Oglądaj #{types} za DARMO","ADDON_PROVIDES_SUBTITLES":"Napisy dla #{types}","ADDON_CANTDETECT":"Nie mogliśmy wykryć uruchomionego Stremio, więc nie mogliśmy wykryć zainstalowanych dodatków.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Nie znaleziono informacji na ten temat","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Błąd pobierania informacji na ten temat.","ERR_CANT_PARSE_MAGNET":"Nie można przeanalizować Magnetu","ERR_NO_MAGNET_INFOHASH":"Nieprawidłowy info hash dla Magnetu","ERR_NO_FILE_PATH":"Nie można wysłać żądania bez ścieżki do pliku","ERR_NO_TORRENT":"Żaden torrent nie został zwrócony","ERR_NO_SUPPORTERD_FILES":"Nie znaleziono obsługiwanych plików","ERR_OPENING_FILES":"Nie można otworzyć plików zewnętrznych","ERR_INVALID_LINK":"Nieprawidłowy link","ERR_REGISTERED_ONLY":"Ta opcja jest dostępna tylko dla zarejestrowanych użytkowników.","ERR_CLIPBOARD":"Nie można odtwarzać ze schowka","ERR_CLIPBOARD_READ":"Nie można odczytać schowka na tej platformie","ERR_CLIPBOARD_GENERIC":"W schowku nie znaleziono odtwarzalnego adresu URL. Skopiuj adres URL (np. link Magnet) do filmu.","BOARD_CONTINUE_WATCHING":"Kontynuuj oglądanie","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmy wybrane specjalnie dla Ciebie.<br />Ten film jest przykładową rekomendacją.","BOARD_EXPLANATION_EPISODES":"Tutaj pojawiają się nowe odcinki Twoich ulubionych seriali.<br />Dodaj seriale które oglądasz do swojej biblioteki.","BOARD_EXPLANATION_VIDEOS":"Tutaj pojawiają się nowe filmy Twoich ulubionych kanałów.<br />Dodaj kanały YouTube które obserwujesz do swojej biblioteki.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Oglądaj natychmiast","WEBSITE_SLOGAN_ALL":"Wszystkie materiały wideo w jednym miejscu","WEBSITE_SLOGAN_NEW":"Wszystko, co możesz oglądać","WEBSITE_SLOGAN_NEW_NEW":"Wolność streamowania","WEBSITE_WATCH_FROM":"Oglądaj od","WEBSITE_DOWNLOAD":"Pobierz teraz","WEBSITE_DOWNLOAD_FOR":"Pobierz teraz dla","WEBSITE_IS_DESKTOP":"SStremio to aplikacja komputerowa, otwórz tę stronę na komputerze i pobierz ją","WEBSITE_DESKTOP_DEMO_VID":"Wersja demonstracyjna pulpitu","WEBSITE_PAGE_HOME":"Strona główna","WEBSITE_PAGE_FEATURES":"Cechy","WEBSITE_PAGE_ADDONS":"Dodatki","WEBSITE_PAGE_TECH":"Technologia","WEBSITE_PAGE_CREATE_ADDON":"Stwórz dodatek","WEBSITE_PAGE_CONTACTS":"Kontakty","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filmy","WEBSITE_TYPE_series_PL":"Seriale","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Kanały","WEBSITE_STREMIO_WHAT_IS":"Stremio to aplikacja, która pomaga organizować i błyskawicznie oglądać ulubione filmy, seriale i kanały telewizyjne.","WEBSITE_FEATURES_WATCH":"Oglądaj natychmiast w HD ","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Często zadawane pytania","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Pytania","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"O","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"O Nas","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"Więcej","WEBSITE_LINK_ADDONS":"Dodatki","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Społeczność","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Polityka prywatności","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Twój email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"Zespół","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Funkcjonalność","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Dodatki","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Stwórz dodatek","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Dodatki Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Tapety","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Kontakt","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Twój e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Wiadomość","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"Wyślij","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Dodatki","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Pomóż nam dowiedzieć się więcej o Tobie..","LIFESTYLE":"Lifestyle","SPORTS":"Sporty","FOOD_HEALTH":"Jedzenie i zdrowie","BEAUTY_FASHION":"Moda i uroda","NEWS":"Wiadomości","GAMING":"Gaming","SCIENCE_EDUCATION":"Nauka i edukacja","MUSIC":"Muzyka","TRAVEL":"Podróż","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Komedia","DIY":"Poradniki DIY","TECH":"Technologia","CINEMA":"Kino","CONTINUE":"Kontynuuj","SLOW_LOADING":"POWOLNE ŁADOWANIE?","I_GIVE_UP":"PODDAJĘ SIĘ","LEARN_MORE":"Dowiedz się więcej","POOR_SOURCE":"To źródło jest słabo dostępne, albo twoje połączenie z internetem nie jest wystarczająco szybkie","PICK_CATEGORIES_ERR":"Musisz wybrać przynajmniej 3 kategorie","ADJUST_TIMING":"Dostosuj synchronizację z ","ADJUST_SIZE":"Dostosuj rozmiar z ","SEARCH_ANYTHING":"Możesz wyszukać cokolwiek...","ALL_CATEGORIES":"Wszystkie","SEARCH_CATEGORIES":"Filmy, seriale, YouTube i TV","SEARCH_PERSONS":"Aktorzy, reżyserzy i scenarzyści","SEARCH_PROTOCOLS":"Adresy HTTP i linki Magnet","SEARCH_TYPES":"Linki IMDB / TVDB","WATCHED":"Obejrzane","SHOW_LESS":"Pokaż mniej","LAST_SEARCHES":"Ostatnie wyszukiwania","CLEAR_HISTORY":"Wyczyść historię","CHOOSE_SOME":"WYBIERZ COŚ Z TEGO::","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Nie można było załadować pilota sieciowego","STREMIO_OFFLINE":"Stremio jest offline","STREMIO_EXPENSIVE_CONNECTION":"Wykryliśmy, że twoje połączenie korzysta z danych komórkowych, czy chcesz kontynuować?","USE_DATA":"Użyj danych","WARNING":"Uwaga","MORE_INFO":"Więcej informacji...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Ładowanie...","STREMIO_TV_BACK_TO_LANGUAGES":"Wróć do języków","STREMIO_TV_REMOTE":"Pilot sieciowy","STREMIO_TV_GO_TO":"Przejdź do:","STREMIO_TV_OR_SCAN":"lub zeskanuj:","STREMIO_TV_ADDON_INSTRUCTIONS":"Podążaj zgodnie z instrukcjami w aby zainstalować preferowane dodatki.","STREMIO_TV_LIVE_TV":"Telewizja na żywo","STREMIO_TV_RESUME_WATCHING":"Wznów oglądanie","STREMIO_TV_LOADING_BACKGROUND":"Ładowanie tła","STREMIO_TV_CHECKING_AUTHENTICATION":"Sprawdzanie uwierzytelnienia","STREMIO_TV_LOADING_BOARD":"Ładowanie tablicy","STREMIO_TV_LOGIN_HEADER_LINE_1":"Chcemy, aby nasi użytkownicy mieli najlepsze możliwe doświadczenie z naszym oprogramowaniem.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Z tego powodu uprzejmie prosimy o utworzenie i/lub zalogowanie się na swoje konto.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Dziękujemy za zrozumienie,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Zespół Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Aby skorzystać z pilota sieciowego na twoim Smartfonie / Tablecie / Komputerze:","STREMIO_TV_WIFI_SETUP":"Ustawienia Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle nie wykrył połączenia internetowego.","STREMIO_TV_WIFI_DETAILS_1":"Połącz z:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Użyj hasła:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Otwórz przeglądarkę internetową z linkiem:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Domyślny","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Po ostatnio oglądanych","STREMIO_TV_LIBRARY_SORT_NAME":"Po nazwie","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Po nazwie malejąco","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Po ilości obejrzeń","STREMIO_TV_LIBRARY_SORT_WATCHED":"Po obejrzanych","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Po nie obejrzanych","STREMIO_TV_DETAILS_SEASON_NUMBER":"Sezon ${1}","STREMIO_TV_STREAMS_LOADING":"Załadowano ${1} z ${2} dodatków...","STREMIO_TV_STREAMS_STILL_LOADING":"Dodatek ${1} jeszcze się ładuje...","STREMIO_TV_PLAYER_SETTINGS":"Ustawienia odtwarzacza","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Opóźnienie napisów","STREMIO_TV_PLAYER_AUDIO_DELAY":"Opóźnienie dźwięku","STREMIO_TV_PLAYER_VIDEO_SCALING":"Skalowanie wideo","STREMIO_TV_PLAYER_CHAPTERS":"Rozdziały","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Pomiń ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nieobsługiwane źródło streamu","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Nie udało się otworzyć linku zewnętrznego","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Brak możliwości regulacji w trybie audio passthrough","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Odtwórz za pomocą ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Odtwórz za pomocą libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Przełączanie na odtwarzacz libVLC z powodu błędu odtwarzania","STREMIO_TV_ADDONS_TITLE":"Użyj Stremio na telefonie lub komputerze, aby zainstalować lub skonfigurować dodatki a następnie naciśnij \\"Synchronizuj dodatki\\"","STREMIO_TV_ADDONS_SUBTITLE":"Notka: upewnij się, że używasz tego samego konta Stremio na obu urządzeniach","STREMIO_TV_ADDONS_SYNC_ADDONS":"Zsynchronizuj dodatki","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Pomyślnie zsynchronizowano dodatki","STREMIO_TV_ADDONS_SYNC_FAILED":"Nie udało się zsynchronizować dodatków.","STREMIO_TV_META_LINK_FAILED":"Nie udało się otworzyć linku meta.","STREMIO_TV_CATALOG_LOADING":"Katalog wciąż się ładuje...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Zaktualizowano język interfejsu","STREMIO_TV_SETTINGS_THEME_UPDATED":"Zaktualizowano motyw","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Domyślny odtwarzacz","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Zewnętrzny odtwarzacz","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferowany język","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Drugorzędny preferowany język","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Odtwarzanie tunelowe","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Możliwe problemy z odtwarzaniem na niektórych urządzeniach","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Niektóre formaty wideo mogą nie działać","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Dopasowanie liczby klatek na sekundę","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Wyłączony","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Tylko liczba klatek na sekundę","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Liczba klatek na sekundę i rozdzielczość","STREMIO_TV_SETTINGS_NO_CACHING":"Bez pamięci podręcznej","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Domyślny","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Miękki","STREMIO_TV_SETTINGS_PROFILE_FAST":"Szybki","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra szybki","STREMIO_TV_SETTINGS_SERVER_URL":"URL serwera streamingowego","STREMIO_TV_SETTINGS_SERVER_VERSION":"Wersja Serwera","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Nieznany","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Wersja Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edytuj URL serwera","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Wprowadź adres URL serwera streamingowego","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Wyświetlaj statystyki podczas ładowania","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Aby zapoznać się z Polityką Prywatności Stremio, odwiedź stronę:","STREMIO_TV_SETTINGS_TOS_TEXT":"Aby zapoznać się z Regulaminem Stremio, odwiedź stronę:","STREMIO_TV_NAV_SEARCH":"Wyszukaj","STREMIO_TV_NAV_HOME":"Strona Główna","STREMIO_TV_NAV_DISCOVER":"Odkryj","STREMIO_TV_NAV_LIBRARY":"Biblioteka","STREMIO_TV_NAV_MOVIES":"Filmy","STREMIO_TV_NAV_SERIES":"Seriale","STREMIO_TV_NAV_CHANNELS":"Kanały","STREMIO_TV_NAV_TV":"Telewizja","STREMIO_TV_NAV_SETTINGS":"Ustawienia","STREMIO_TV_NAV_ADDONS":"Dodatki","STREMIO_TV_LOGIN_TITLE":"Powiązanie konta","STREMIO_TV_LOGIN_EXPIRES_IN":"Wygasa za","STREMIO_TV_LOGIN_STEP_ONE":"Zeskanuj kod QR powyżej lub przejdź do","STREMIO_TV_LOGIN_STEP_TWO":"Zaloguj się do swojego konta Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Wygeneruj nowy link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Kod logowania odświerzony","STREMIO_TV_SEARCH_PLACEHOLDER":"Wpisz cokolwiek","STREMIO_TV_SEARCH_NO_ADDONS":"Nie zażądano żadnych dodatków do katalogów!","STREMIO_TV_SEARCH_BUTTON":"Szukaj","STREMIO_TV_SEARCH_KEY_DEL":"Usuń","STREMIO_TV_SEARCH_KEY_SPACE":"Spacja","STREMIO_TV_SEARCH_KEY_CLEAR":"Wyczyść","STREMIO_TV_SEARCH_HISTORY_TITLE":"Historia wyszukiwania","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Możesz wyszukać tytuł, aktora, kanał i więcej...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Wyczyść historię wyszukiwania","STREMIO_TV_FILTERS_DESCRIPTION":"Wybierz jeden z poniższych filtrów","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Serwer streamingowy jest offline. Sprawdź ustawienia serwera.","FILTERS":"Filtry","SETTINGS":"Ustawienia","ACCOUNT":"Konto","LOGOUT":"Wyloguj","THEMES":"Motywy","PLAYBACK":"Odtwarzanie","PLAYBACK_SPEED":"Prędkość odtwarzania","AUDIO_TRACKS":"Ścieżki dźwiękowe","UNKNOWN_TRACK_LANG":"Nieznany","VIDEOS":"Filmy","SERVER":"Serwer","LINKS":"Linki","ABOUT":"O","INTERFACE":"Interfejs","ANIMATIONS":"Animacje","STATUS":"Status","LANGUAGE":"Język","SIZE":"Rozmiar","DELAY":"Opóźnienie","BOLD":"Pogrubienie","OPACITY":"Przezroczystość","TEXT_COLOR":"Kolor tekstu","OUTLINE_COLOR":"Kolor konturu","BACKGROUND_COLOR":"Kolor tła","BACKGROUND_BLUR":"Rozmycie tła","SEEK_TIME_DURATION":"Długość przewijania","AUTO_PLAY":"Automatycznie uruchom następny odcinek","PLAY_NOW":"Odtwórz","MARK_AS_WATCHED":"Oznacz jako obejrzane","MARK_AS_UNWATCHED":"Oznacz jako nieobejrzane","REWIND_TO_BEGINNING":"Od początku","CONTINUE_WATCHING":"Kontynuuj oglądanie","ALL":"Wszystko","SECONDS":"sekundy","ON":"Wł.","OFF":"Wył.","RELOAD":"Przeładuj","EDIT_URL":"Edytuj URL","URL":"URL","NONE":"Brak","EMBEDDED":"Wbudowany","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Zmień urządzenie","REMOTE_VIDEOS":"Filmy","REMOTE_ADJUST_TIMING":"Dostosuj synchronizację","REMOTE_ADJUST_SIZE":"Dopasuj rozmiar","REMOTE_COULD_NOT_BE_LOADED":"Nie można załadować pilota sieciowego ","REMOTE_RETRY":"Spróbuj ponownie","TORRENT_PROFILE_DEFAULT":"Domyślny","TORRENT_PROFILE_SOFT":"Miękki","TORRENT_PROFILE_FAST":"Szybki","TORRENT_PROFILE_ULTRA_FAST":"Ultra szybki","MB_S":"MB/s","FAQ_001_H1":"Czym jest Stremio?","FAQ_001_P1":"Stremio to oprogramowanie media center przeznaczone do rozrywki wideo z myślą o łatwości użytkowania. Stremio pozwala organizować & oglądać własną kolekcję filmów, seriali, kanałów i telewizji na żywo.","FAQ_001_P2":"Stremio zbiera wyświetlane treści z dysku lokalnego i naszego systemu dodatków.","FAQ_001_P3":"Powiadomi Cię również, gdy pojawią się nowe odcinki / filmy / filmy, którymi jesteś zainteresowany, i przedstawi Ci rekomendacje filmowe","FAQ_02_H1":"Jak Stremio wypada w porównaniu z Kodi i Plex?","FAQ_02_P1":"Inspirujemy się tymi dwoma oprogramowaniami. Ale mamy inne cele - Stremio jest specjalnie ukierunkowane na rozrywkowe wideo i dąży do tego, aby stać się głównym rozwiązaniem w tym zakresie, będąc bardzo łatwym w użyciu.","FAQ_02_P2":"Stremio nigdy nie będzie tak konfigurowalne i bogate w funkcje jak Kodi i Plex, ale jest znacznie łatwiejsze w użyciu. Po prostu ${1} pobierz i zobacz ${2} :)","FAQ_03_H1":"Jak Stremio wypada w porównaniu do Netflix?","FAQ_03_P1":"Ponownie, Netflix jest jedną z naszych inspiracji. Staramy się osiągnąć doświadczenie użytkownika Netflix, plus wiele dodatkowych korzyści. Ale co najważniejsze, dajemy ci swobodę zarządzania własną biblioteką i dodawania nowych źródeł treści za pomocą naszego systemu dodatków.","FAQ_03_P2":"To sprawia, że Stremio można rozszerzać w nieskończoność, więc kiedy korzystasz ze Stremio, nigdy nie jesteś ograniczony do treści, które Netflix zdecyduje się licencjonować. Na przykład, za pośrednictwem Stremio można oglądać treści z ${1} Filmon.tv${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8}, a nawet samego ${9}Netflix${10}!","FAQ_04_H1":"Jak Stremio wypada w porównaniu do Flipboard?","FAQ_04_P1":"Nie otrzymujemy tego pytania zbyt często, z wyjątkiem rozmów z osobami rozpoczynającymi działalność :)","FAQ_04_P2":"Stremio jest z założenia agregatorem treści, co zasadniczo czyni go Flipboardem dla wideo. Jest to bardzo widoczne w naszej sekcji Board, która zapewnia katalogi i powiadomienia o nowych odcinkach / nowych filmach dla tego, co obserwujesz, podobnie jak Flipboard.","FAQ_05_H1":"Jak Stremio wypada w porównaniu do Popcorn Time?","FAQ_05_P1":"Stremio i Popcorn Time są podobne pod względem interfejsu użytkownika, ponieważ nie ma wielu sposobów na prawidłowe katalogowanie rozrywki wideo :)","FAQ_05_P2":"Ale podczas gdy Popcorn Time koncentruje się na strumieniowaniu torrentów z określonych źródeł, Stremio jest nieograniczony i jest jedynie agregatorem treści - nie jest zablokowany na określonym źródle treści.","FAQ_05_P3":"Co więcej, domyślnie nie zapewniamy żadnych dodatków torrentowych, więc Stremio nie obejmuje przypadku użycia Popcorn Time z oficjalną funkcjonalnością.","FAQ_05_P4":"Kolejną znaczącą różnicą jest to, że Popcorn Time jest całkowicie open source, podczas gdy Stremio jest ${1} częściowo open source${2}.","FAQ_06_H1":"Czy dodasz ten film/serial?","FAQ_06_P1":"Nie, przykro nam :(","FAQ_06_P2":"Jak wspomniano w większości innych pytań, Stremio nie dostarcza żadnych treści samodzielnie - wszystko jest dodawane za pośrednictwem systemu dodatków. Jeśli masz prośbę o zawartość, możesz użyć przycisku Zgłoś w odtwarzaczu, który wyśle wiadomość e-mail do autora dodatku, którego aktualnie używasz.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Czy stworzysz dodatek dla X?","FAQ_08_P1":"Jest to całkowicie możliwe.","FAQ_08_P2":"Jeśli masz pomysł na dodatek, napisz do nas na adres ${1}office@stremio.com${2}, ale upewnij się, że twój pomysł na dodatek nie naruszy żadnych praw autorskich ani warunków użytkowania.","FAQ_08_P3":"W chwili obecnej kolejnymi rzeczami na naszej mapie drogowej są dodatki dla FandangoNOW, Filmon.tv wideo na żądanie i Crunchyroll.","FAQ_09_H1":"Czy Stremio korzysta z BitTorrenta?","FAQ_09_P1":"Tak, Stremio obsługuje BitTorrent jako protokół strumieniowania. Można tego użyć za pomocą dodatku torrent lub przeciągając i upuszczając plik .torrent do Stremio lub wklejając link magnetyczny do paska wyszukiwania.","FAQ_09_P2":"Należy pamiętać, że jedynym oficjalnym dodatkiem korzystającym z BitTorrent jest ${1}Vodo${2}, który zapewnia zawartość niezależną, dozwoloną do dystrybucji za pomocą BitTorrent.","FAQ_09_P3":"Nie wspieramy korzystania z żadnych dodatków innych firm, które mogą umożliwiać naruszanie praw autorskich.","FAQ_10_H1":"Co mogę oglądać w Stremio za pomocą oficjalnych dodatków?","FAQ_10_P1":"Domyślnie można oglądać treści Filmon.tv, YouTube i Vodo w samym Stremio, za pomocą wbudowanego odtwarzacza. Dodatkowo mamy dodatek dla Twitch.tv i kilku innych.","FAQ_10_P2":"To połączenie zapewnia wybór:","FAQ_10_L1":"Popularne kanały telewizyjne, dostarczane przez Filmon.tv - na przykład E4, BBC, Bollyworld TV","FAQ_10_L2":"Wszystko z YouTube - na przykład BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio nie instaluje się, co powinienem zrobić?","FAQ_11_P1":"Jeśli korzystasz z systemu Windows, wypróbuj ${1}ten alternatywny instalator${2}","FAQ_11_P2":"Jeśli korzystasz z systemu Mac OS X, pamiętaj, że nie obsługujemy niczego starszego niż OS X Mavericks (10.9).","FAQ_11_P3":"Jeśli korzystasz z systemu Linux, pamiętaj, że obecnie obsługujemy tylko 64-bitowy (x64) system Linux.","FAQ_11_P4":"Jeśli nadal nie możesz rozwiązać swojego problemu, napisz do nas na naszej grupie ${1}Facebook${2}.","FAQ_12_H1":"Dlaczego mój antywirus narzeka? Czy Stremio jest bezpieczne?","FAQ_12_P1":"Zapewniamy, że Stremio jest ${1}100% czyste${2}.","FAQ_12_P2":"Twój program antywirusowy narzeka, ponieważ dołączamy reklamy do naszego instalatora, które niektóre programy antywirusowe rozpoznają jako ad-ware.","FAQ_12_P3":"Jeśli nadal nie masz pewności, możesz wypróbować nasz ${1}alternatywny instalator ${2}","FAQ_13_H1":"Jak mogę stworzyć dodatek?","FAQ_13_P1":"Na początek zalecamy sprawdzenie naszego modułu systemowego ${1}addons${2} na GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Należy pamiętać, że streaming jest wyłączony w tej wersji alfa. Obsługujemy przeglądarki Chrome, Firefox, Opera i Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},20053:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filme","TYPE_series":"Série","TYPE_tv":"Canal de TV","TYPE_channel":"Canal","TYPE_other":"Outros","TYPE_movie_PL":"Filmes","TYPE_series_PL":"Séries","TYPE_tv_PL":"Canais de TV","TYPE_channel_PL":"Canais","TYPE_other_PL":"Outros","TYPE_ALL":"Todos","TYPE":"Tipo","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Em destaque","CATALOG_com_linvo_cinemeta_year":"Novidades","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Filmes de domínio público","VIDEO":"Vídeo","BACK":"Voltar","MORE":"Mais","DONE":"Concluído","COPY":"Copiar","SUCCESS":"Sucesso","ERROR":"Erro","SETTINGS_CASTING_MODE_PICKER":"Modo de transmissão","CASTING_MODE_HLSV2":"Padrão","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Sem transcodificação","Discover":"Descubra","Board":"Painel","Library":"Biblioteca","My Library":"Minha Biblioteca","Calendar":"Calendário","NOTIFICATION_ONLINE":"Você está online","NOTIFICATION_OFFLINE":"Você está offline","INTERNET_CONNECTION":"Conexão de rede","STORAGE_FULL_TITLE":"Aviso: Disco cheio!","STORAGE_FULL_TEXT":"Stremio não será capaz de salvar suas configurações, preferências ou informações de login. Considere reiniciar ou reinstalar o Stremio.","SEARCH":"Buscar","SEARCH_NO_RESULTS":"Nenhum resultado encontrado","SEARCH_EXPLANATION_CONTENT":"Procure por filmes, séries, canais do YouTube e da TV","SEARCH_EXPLANATION_PEOPLE":"Procure por atores, diretores e escritores","SEARCH_PASTE_LINKS":"Cole links HTTP ou Magnéticos","SEARCH_OR_PASTE_LINK":"Buscar ou colar link","SEARCH_SUGGESTIONS":"Buscar sugestões","ADD_TO_LIB":"Adicionar à Biblioteca","REMOVE_FROM_LIB":"Remover da Biblioteca","ADDED_TO_LIB":"Adicionado à Biblioteca","REMOVED_FROM_LIB":"Removido da Biblioteca","TRAILER":"Trailer","WATCH_TRAILER":"Assistir ao Trailer","WATCH_NOW":"Assistir Agora","SHOW":"Mostrar","SHOW_MOVIE":"Exibir filme","WATCH_RANDOM":"Assistir Aleatoriamente","IMDB_RATING":"Avaliação IMDB","YEAR":"Ano","DIRECTOR":"Diretor","WRITER":"Escritor","LEAD_ACTORS":"Atores Principais","CAST":"Elenco","CREW":"Equipe técnica","SHOW_MORE_CAST":"Mostrar mais »","AIRED":"Foi ao ar em","SEASONS":"Temporadas","GENRE":"Gêneros","GENRE_ALL":"Todos os gêneros","CATALOG":"Catálogo","SUMMARY":"Resumo","SHOW_MORE":"Mostrar mais","SIMILAR":"Parecidos","UPCOMING":"Próximos","TBA":"TBA","ENDED":"Finalizados","DURATION":"Duração","FEATURED":"Destaque","METADATA":"Dados de Descrição","CATEGORY":"Categoria","LINKS_GENRES":"Gêneros","LINKS_CAST":"Elenco","LINKS_DIRECTORS":"Diretores","SEARCH_VIDEOS":"Pesquisar vídeos","SEARCH_PLACEHOLDER":"Buscar ou colar links","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"Oficial","ADDONS_OFFICIAL":"Addons Oficiais do Stremio","ADDONS_POPULAR":"Populares na sua região","ADDON_FREE":"Gratuito","ADDON_PEERED":"pareado","ADDON_SUBSCRIPTION":"assinatura","ADDON_STREAM_GEORESTRICTED":"indisponível na sua área","ADDON_STREAM_OFFLINECACHE":"Cache Offline","ADDON_STREAM_LOCALFILE":"Arquivo Local","SHARE_ADDON":"Compartilhar Addon","AVAILABLE_STREAMS":"Transmissões Disponíveis","NO_STREAM":"Nenhuma transmissão encontrada","ALL_ADDONS":"Todos","INSTALL_MORE_ADDONS":"Para mais transmissões, por favor instale mais Addons","STREAM_NOT_SUPPORTED":"A transmissão selecionada não é suportada nesta plataforma.","ADDON_CATALOGUE":"Mostrar todas os Addons »","ADDON_CATALOGUE_MORE":"Instalar Addons","REPO_ADDED":"Repositório adicionado","ADDON_REPO_EXIST_ERR":"Este repositório de Addons já existe","ADDON_REPO_ERR":"Ocorreu um erro ao adicionar o repositório","ADDON_ADD_ERR":"Ocorreu um erro ao adicionar o Addon","ERR_ADDON_PROTECTED":"Não é possível desinstalar o Addon, ele está protegido","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Algo deu errado - a autenticação pode ter falhado","ERR_NOT_COLLECTION_URL":"Não é uma URL de coleção","ERR_NOT_ADDON_URL":"Não é uma URL de Addon válida","ERR_DETECTFROMURL":"Não foi possível encontrar um Addon/coleção para essa URL","ADDON_DUPLICATE_WARNING":"Aviso: Addon duplicado","ADDON_COLLECTION_SET_FAILED":"Falha ao sincronizar seus Addons instalados com sua conta","SETTINGS_DATA_EXPORT":"Exportar dados","ADDON_PULL_FAILED":"Falha ao sincronizar Addons instalados de sua conta","REFRESH_ON_CLICK":"Clique para tentar novamente","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Filme ainda em exibição","WATCH_IN_CINEMA":"Assista no cinema mais próximo","IN_THEATER":"No cinema","GET_TICKETS":"Obter ingressos","UPCOMING_EPISODE":"Próximo episódio","UPCOMING_EPISODE_MESSAGE":"Esse episódio irá ao ar em","MISSING_DATE_EPISODE":"Sem data do episódio","MISSING_DATE_EPISODE_MESSAGE":"Esse episódio pode não ter ido ao ar ainda","CHANNEL_NOT_SCRAPED":"Este canal ainda não foi extraído.<br>Por favor, retorne em alguns minutos.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Adicione à sua biblioteca para receber notificações quando estiver disponível.","GET_NOTIFIED_WHEN_AVAILABLE":"Você será notificado quando estiver disponível.","WARNING_STREAMING_SERVER":"Atenção: servidor local de transmissão não encontrado. Transmissões de arquivos locais, YouTube e BitTorrent não estarão disponíveis.","WARNING_STREAMING_SERVER_DISMISS":"Dispensar","WARNING_STREAMING_SERVER_LATER":"Mais tarde","DECODER_WARNING":"Aviso: este vídeo pode não ser suportado pelo seu hardware. Tenha em mente que a reprodução pode ser lenta.","GENERIC_ERROR_MESSAGE":"Alguma coisa deu errado!","TRY_AGAIN":"Tente novamente","CLEAR_DATA":"Limpar dados","PLAYER_ERROR":"Ops, ocorreu um erro no reprodutor de mídia","PLAYER_ERROR_LOOKSLIKE":"Parece que","PLAYER_ORIENTATION":"Orientação do reprodutor de mídia","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Travado","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Reprodutor de mídia travado para o modo paisagem","PLAYER_ORIENTATION_SENSOR":"Reprodutor de mídia automático (sensor)","PLAYER_PLAYBACK_SPEED":"Velocidade de reprodução","PLAYER_PLAYBACK_ERROR":"Erro de reprodução, tente novamente","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Erro desconhecido","PLAYER_PLAYBACK_ERROR_DEFAULT":"Desculpe, esse vídeo não poder ser reproduzido por {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Idiomas das Legendas","PLAYER_SUBTITLES_VARIANTS":"Variantes das Legendas","PLAYER_SUBTITLES_SETTINGS":"Configurações das Legendas","PLAYER_SUBTITLES_DISABLED":"Legendas desativadas","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posição vertical","PLAYER_SUBTITLES_LOADED":"Legendas carregadas","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Legendas incorporadas carregadas","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Legendas exclusivas carregadas","PLAYER_SUBTITLES_LOADED_LOCAL":"Legendas locais carregadas","PLAYER_SUBTITLES_LOADED_ORIGIN":"Legendas de {{origin}} carregadas","PLAYER_PLAY":"Reproduzir","PLAYER_PAUSE":"Pausar","PLAYER_NEXT_VIDEO":"Próximo Vídeo","PLAYER_MUTE":"Mudo","PLAYER_UNMUTE":"Som","PLAYER_OPEN_IN_EXTERNAL":"Abrir em reprodutor externo","PLAYER_OPEN_IN_NPLAYER":"Abrir pelo nPlayer","PLAYER_PLAY_IN":"Reproduzir em {{device}}","PLAYER_LIVE":"Ao vivo","PLAYER_NEXT_VIDEO_TITLE":"A seguir","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Próximo","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dispensar","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Assistir agora","PLAYER_COPY_STREAM_SUCCESS":"Link do stream copiado para a área de transferência","PLAYER_COPY_STREAM_ERROR":"Falha ao copiar o link do stream","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Link de download copiado para a área de transferência","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Falha ao copiar o link de download","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Transmitindo de","CASTING_TO":"Transmitindo para","NETWORK_STATUS":"Estado da rede","STREAM_SPEED":"Velocidade da transmissão:","STREAM_BUFFERED":"Carregado:","PEERS_INFO":"Informações dos Pares","PEERS_ACTIVE":"Ativo:","PEERS_CONNECTED":"Conectado:","PEERS_WAITING":"Aguardando:","TRANSCODING_WARNING":"Atenção: transcodificando vídeo.","STREAM_LOADING":"Carregando...","PLAYING_LOCAL":"Reproduzir de um arquivo local","PLAYING_CACHE":"Reproduzir a partir do cache","WRONG_SUBS":"Legendas erradas?","ERR_SUBS_LOADING_TITLE":"Erro ao carregar a legenda","ERR_SUBS_LOADING":"Falha ao carregar as legendas: Isso pode ser um problema com seu Addon ou sua conexão de rede","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Os seguintes Addons de legenda falharam","ERR_CASTING_UPDATE_TITLE":"Não foi possível atualizar as informações do dispositivo de transmissão: o servidor de transmissão pode estar offline","CHOOSE_DEVICE":"Escolha um dispositivo para assistir","NO_CAST_DEVICES":"Sem dispositivos de transmissão disponíveis.","NO_SETTINGS":"Configurações não disponíveis.","NO_OPTIONS":"No options available","PHONE_TABLET":"Smartphone / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Legendas","SUBTITLES_CHANGE":"Modificar legendas para ","SUBTITLES_CHANGE_NONE":"Não há outra legenda para este idioma, desculpe.","SUBTITLES_CHANGE_ACIVE":"A legenda #{{subtitlesDialog.activeIdx + 1}} está ativada. Clique \\"Continuar\\" para ativar a legenda #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativamente,","SUBTITLES_ADJUST_DELAY":"Ajustar atraso da legenda:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Ou use as teclas <span>G</span> / <span>H</span> durante a reprodução para ajustar.","SUBTITLES_ADJUST_DELAY_TIP":"DICA: Você pode usar as teclas <span>G</span> / <span>H</span> durante a reprodução para ajustar.","SUBTITLES_DELAY":"Atraso das legendas:","SUBTITLES_LOADING":"Carregando legendas...","SUBTITLES_UNAVAILABLE":"Legendas externas não disponíveis","SUBTITLES_DISABLED":"Desativado","EXTERNAL_PLAYER_DISABLED":"Desativado","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permitir Escolha","EXTERNAL_PLAYER_HINT":"Dica: Existe uma configuração para permitir sempre abrir com reprodutor externo","DONT_SHOW_AGAIN":"Não mostrar novamente","SERVICE_INSTALL":"Instalar","AUDIO":"Áudio","DEFAULT_LANGUAGE":"Idioma Padrão","DEFAULT_SECONDARY_LANGUAGE":"Idioma Padrão Secundário","SEASON":"Temporada","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episódio","EPISODE_ABBREVIATION":"EP","SPECIAL":"Especial","SORT":"ordenar","SORT_BY":"Ordenar por","FILTER":"Filtrar","SORT_TRENDING":"Em alta","SORT_RECENT":"Recente","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"Classificação","SORT_WATCHED":"Assistido","SORT_YEAR":"Ano","SELECT":"Select","SELECT_TYPE":"Selecionar tipo","SELECT_SORT":"Selecionar ordenação","SELECT_CATALOG":"Selecionar catálogo","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Selecionar gênero","SORT_LASTWATCHED":"Por último assistido","SORT_NAME":"Por nome","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Por vezes assistido","SORT_NOTWATCHED":"Por não assistido","New for You":"Novo para Você","New Episodes":"Novos Episódios","New Videos":"Novos Vídeos","Recommendations":"Recomendações","LIBRARY_RESUME":"Retomar","LIBRARY_PLAY":"Reproduzir","LIBRARY_DETAILS":"Detalhes","LIBRARY_RESUME_DISMISS":"Dispensar","LIBRARY_CLEAR_PROGRESS":"Limpar Progresso","LIBRARY_REMOVE":"Remover","LIBRARY_NOT_LOGGED_IN":"A biblioteca está disponível apenas para usuários logados","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"O calendário está disponível apenas para usuários logados","NOT_LOGGED_IN_CLOUD":"Acesse seus filmes e programas de TV favoritos a qualquer hora, em qualquer lugar","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomendações personalizadas com base no seu histórico de visualização","NOT_LOGGED_IN_NOTIFICATIONS":"Nunca perca um episódio novamente","NOT_LOGGED_IN_CALENDAR":"Agende seu calendário pessoal de visualização","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Destaque","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Vencedores do Oscar","DISCOVER_WARNING_TITLE":"Ops!","DISCOVER_EMPTY_CATALOG":"Este Addon não possui conteúdo.","DISCOVER_ADULT_WARNING":"Este conteúdo está disponível apenas para maiores de idade. Você tem mais de 18 anos?","DISCOVER_NOADDON_WARNING":"Atenção: nenhum Addon do Stremio ativa para este tipo. Mostrando itens salvos, nada aqui será atualizado.","DISCOVER_LOAD_ERR":"O conteúdo não foi carregado, ocorreu um erro.","DISCOVER_ADDON_UNINSTALLED":"Este conteúdo não está mais disponível, você deve ter desinstalado o Addon.","UNINSTALL_THIS_ADDON":"Remover este Addon","ERR_ADDON_NOT_INSTALLED":"Este Addon não está instalado. Instalar agora?","DETAIL_RECEIVE_NOTIF_SERIES":"Receber notificações de novos episódios","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receber notificações de novos vídeos","SIDEBAR_SHOW_STREAMS":"Exibir Streams","RELAUNCH":"Reinicie agora!","UPGRADE":"Nova versão disponível! Atualize para a versão mais recente do Stremio","RELOAD_UI":"Recarregar a interface do usuário","MANUAL_UPDATE_TITLE":"Atualize sua versão do Stremio","MANUAL_UPDATE_LINE1":"Você está executando uma versão desatualizada do Stremio, o que é altamente não recomendado.","MANUAL_UPDATE_LINE2":"Por favor, atualize o mais rápido possível.","BUTTON_UPDATE_LATTER":"Agora não","BUTTON_UPDATE_NOW":"Atualizar","UPDATER_TITLE":"Uma nova versão do Stremio está disponível","UPDATER_INSTALL_BUTTON":"Instalar agora","ANONYMOUS_USER":"Usuário anônimo","DONT_HAVE_ACC":"Não possui uma conta?","HAVE_ACC":"Já possui uma conta?","PASSWORD":"Senha","PASSWORD_CONFIRM":"Confirmar senha","EMAIL":"E-mail","FB_LOGIN":"Conectar-se via Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nada é compartilhado sem sua permissão","FB_NOPOST":"Não iremos postar nada em seu nome","OR":"ou","I_ACCEPT":"Eu aceito os","I_ACCEPT_BY_CLICKING":"Ao clicar no botão acima, comprovo que aceito o ","TOS":"Termos e Condições","MUST_ACCEPT_TERMS":"Você deve aceitar os termos","PASSWORDS_NOMATCH":"As senhas não coincidem","SIGN_UP":"Cadastrar","SIGN_UP_EMAIL":"Registre-se com email","CLICK_TO_SIGN_UP":"Clique aqui para se registrar","LOG_IN":"Conectar","LOG_OUT":"Desconectar","EXIT_FULLSCREEN":"Sair do modo de tela cheia","ENTER_FULLSCREEN":"Entrar em modo de tela cheia","PLAY_URL_MAGNET_LINK":"Reproduzir URL/Link Magnético","HELP_FEEDBACK":"Ajuda & Feedback","TERMS_OF_SERVICE":"Termos de serviço","PRIVACY_POLICY":"Política de Privacidade","ABOUT_STREMIO":"Sobre o Stremio","USER_PANEL":"Painel de Usuário","LOGIN_LABEL":"Login","GUEST_LOGIN":"Entrar como convidado","GUEST_LOGIN_NOTICE":"Entrar como convidado não é recomendado. Usar um conta padrão permite que o Stremio sincronize sua Biblioteca, receba notificações de séries/canais favoritos. Você tem certeza que deseja prosseguir?","GUEST_LOGIN_NOTICE_2":"Entrar como convidado não é recomendado - você não terá uma Biblioteca sincronizada e um Painel de notificações, que são características vitais do Stremio. Você tem certeza que deseja prosseguir?","CLICK_HERE":"clique aqui","WRONG_PASSWORD":"E-mail ou senha errada. Caso tenha esquecido sua senha, ","SET_A_PASS":"Defina uma senha","RESET_PASSWORD":"Redefinir a senha","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Esqueceu a senha?","EMAIL_USED_WITH_FB":"Este e-mail foi utilizado com uma conta do Facebook.","INVALID_EMAIL":"Por favor, informe um e-mail válido","INVALID_PASSWORD":"Por favor, informe a senha correta","CONN_ERR":"Erro de conexão - por favor, tente novamente mais tarde.\\n\\nSe isso persistir, desabilite firewalls/antivírus (principalmente o Bitdefender).","IMPORT_FROM_GUEST":"Importar biblioteca da sua conta de convidado","RECEIVE_UPDATES_EMAIL":"Receber atualizações do Stremio no seu e-mail","LOGIN_FAILED":"Login falhou.","SIGNUP_FAILED":"Cadastro falhou.","SEARCH_FAILED":"Busca falhou","EMAIL_USED":"Este e-mail já está em uso.","WAITING_FB_LOGIN":"Entrando com a conta do Facebook...","EXTERNAL_OPENING_YOUTUBE":"Você está deixando o Stremio e abrindo o Youtube. Tem certeza?","EXTERNAL_OPENING_APP":"Você está deixando o Stremio e abrindo outro app. Tem certeza?","EXTERNAL_PLAYER_TITLE":"Abrir com um reprodutor de vídeo externo","EXTERNAL_REMEMBER_PLAYER":"Você quer lembrar da sua escolha?","EXTERNAL_ALWAYS_PLAY":"Sim","EXTERNAL_ONLY_ONCE":"Não","BEST_FIT":"Melhor ajuste","FIT_SCREEN":"Tela de ajuste","FILL":"Preencher","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Conte-nos do que gosta","INTRO_TASTE_LONG":"Conte-nos o que gostaria de assistir","INTRO_TASTE_PICK":"Escolha {{interestsRemaining}} interesses","INTRO_TASTE_PICK_MORE":"Escolha {{interestsRemaining}} mais interesses","INTRO_TASTE_HELP_US":"Ajude-nos a saber mais sobre você.","INTRO_TASTE_CHOOSE_THESE":"Escolha alguns destes:","INTRO_TASTE_CHOOSE_MIN":"Escolha ao menos 3 categorias","INTRO_TASTE_CHOOSE_MIN_ERR":"Você precisa escolher ao menos 3 categorias!","INTRO_TASTE_LIFESTYLE":"Estilo de vida","INTRO_TASTE_SPORTS":"Esporte","INTRO_TASTE_FOOD_HEALTH":"Gastronomia e Saúde","INTRO_TASTE_BEAUTY_FASHION":"Moda e Beleza","INTRO_TASTE_NEWS":"Notícias","INTRO_TASTE_GAMING":"Jogos","INTRO_TASTE_SCIENCE_EDU":"Ciência e Educação","INTRO_TASTE_MUSIC":"Música","INTRO_TASTE_TRAVEL":"Viagens","INTRO_TASTE_LATE_NIGHT":"Programas noturnos","INTRO_TASTE_REALITY":"Realidade","INTRO_TASTE_COMEDY":"Comédia","INTRO_TASTE_DIY":"Faça você mesmo","INTRO_TASTE_TECH":"Tecnologia","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"O Addon selecionado não é suportado nesta plataforma.","ADDON_DISCLAIMER":"Usando um Addon de terceiros você estará se auto responsabilizando de acordo com as leis do governo de sua região.","ADDON_ACTIVATE":"Deseja ativar este Addon?","ADDON_REPO_ADD":"Endereço do repositório do Addon","ADDON_ADD":"Adicionar","INSTALL_ADDON":"Instalar addon","ADD_ADDON":"Adicionar addon","ADD_ADDON_DESCRIPTION":"Você pode adicionar um addon via um link externo, que aparecerá em Addons instalados.","PASTE_ADDON_URL":"Cole a URL do addon","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"O que há de novo","BUTTON_CONTINUE":"Continuar","BUTTON_ACTIVATE":"Ativar","BUTTON_ACTIVATED":"Ativado","BUTTON_CANCEL":"Cancelar","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Enviar","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Dispensar tudo","BUTTON_VIEW_ALL":"ver tudo","BUTTON_SEE_ALL":"Ver Tudo","BUTTON_COLOR_TRANSPARENT":"Transparente","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Abrir no navegador","LIB_EMPTY":"Sua biblioteca parece vazia. Descubra como ela é útil :) ","HOW_START":"Aqui está como você pode começar:","LIB_EMPTY_CAL":"Seu calendário mostra as séries na sua Biblioteca.","HOW_START_CAL":"Aqui está como você pode adicionar séries:","LIB_EMPTY_BOARD":"O Painel mostra notificações & recomendações relacionadas à sua Biblioteca.","HOW_START_BOARD_WAIT":"Por favor, adicione algumas séries ou canais à sua Biblioteca e nos dê um momento para processá-las :)","HOW_START_BOARD":"Aqui está como você pode adicionar séries & filmes nele:","IMPORT_FB":"Importe coisas que você gosta do <span>Facebook</span>","IMPORT_TRAKT":"Importe sua biblioteca de mídia do <span>Trakt</span>","IMPORT_DISCOVER":"Encontre coisas interessantes no <span>Descubra</span>","IMPORT_DISK":"Importe filmes ou shows que você tem no seu <span>disco local</span>","PLEASE_CREATE_ACC":"Por favor, <u>crie uma conta</u> para ativar a sincronização de Biblioteca & Painel.","IMPORT_DISCOVER_SIGNUP":"Registre-se e encontre coisas interessantes no <span>Descubra</span>","IMPORT_DISK_SIGNUP":"Cadastre-se e importe filmes ou shows que você tem em seu <span>disco local</span>","LIB_EMPTY_CLOUD":"Biblioteca na nuvem","LIB_EMPTY_CLOUD_DESC":"Biblioteca pessoal na nuvem sincronizada em todos os dispositivos","LIB_EMPTY_EARLY":"Madrugador","LIB_EMPTY_EARLY_DESC":"Receber notificações de novos episódios","LIB_EMPTY_PERSONAL":"Pessoal","LIB_EMPTY_PERSONAL_DESC":"Receber recomendações pessoais","LIB_EMPTY_CALENDAR_DESC":"Agende no seu calendário pessoal para assistir","LIB_EMPTY_ALL":"Registre-se para obter tudo isto:","LIB_EMPTY_BEST":"Cadastre-se para ter o melhor do Stremio","LIB_EMPTY_OTHER":"Registre-se para habilitar o calendário e outras funções fantásticas","CALENDAR_ADDED":"O calendário Stremio foi adicionado ao seu calendário padrão.","CALENDAR_ADDED_MSG":"Se isso não funcionar, por favor, adicione este endereço no seu calendário manualmente","TRAKT_EXPIRED":"A autenticação do Trakt expirou, vá até as Configurações e autentique novamente.","TRAKT_REQUIRES_LOGIN":"Erro no serviço Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Você precisa fazer login","TRAKT_IMPORT_WATCHED":"Importar","THEME":"Tema","THEME_DEFAULT":"Padrão","THEME_ADAPTIVE":"Adaptativo","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Configurações","SETTINGS_NAV_GENERAL":"Geral","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Atalhos","SETTINGS_SHORTCUT_RELOAD_APP":"Recarregar Aplicativo","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Abrir Configurações","SETTINGS_SHORTCUT_SWITCH_TABS":"Alternar Guias","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Percorrer as guias para a frente","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Percorrer abas para trás","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navegar Entre Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Ir para a Busca","SETTINGS_SHORTCUT_EXIT_BACK":"Sair / Voltar","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Alternar Menu de Velocidade de Reprodução","SETTINGS_SHORTCUT_MENU_VIDEOS":"Alternar Menu de Vídeos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Alternar Menu de Legendas","SETTINGS_SHORTCUT_MENU_AUDIO":"Alternar Menu de áudio","SETTINGS_SHORTCUT_MENU_INFO":"Alternar Menu de Informações","SETTINGS_SHORTCUT_FULLSCREEN":"Alternar para o modo tela cheia","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostrar controles","SETTINGS_SHORTCUT_PLAY_PAUSE":"Reproduzir / Pausar","SETTINGS_SHORTCUT_VOLUME_UP":"Aumentar o volume","SETTINGS_SHORTCUT_VOLUME_DOWN":"Abaixar o volume","SETTINGS_SHORTCUT_SEEK_NEXT":"Procurar próximo","SETTINGS_SHORTCUT_SEEK_PREV":"Procurar anterior","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Retroceder","SETTINGS_SHORTCUT_SEEK_FORWARD":"Avançar","SETTINGS_SHORTCUT_PLAY_NEXT":"Reproduzir próximo","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Aumentar o tamanho das legendas","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Diminuir o tamanho das legendas","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Aumentar o atraso das legendas","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Diminuir o atraso das legendas","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Alternar barra lateral","SETTINGS_SHORTCUT_OR":"ou","SETTINGS_SHORTCUT_TO":"para","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Espaço","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticar","SETTINGS_FACEBOOK_IMPORT":"Importar","SETTINGS_CALENDAR_SUBSCRIBE":"Inscrever-se","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"O aplicativo calendário foi aberto. Por favor, assine o calendário manualmente.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"O arquivo de calendário foi baixado. Importe-o para o seu aplicativo de calendário.","SETTINGS_INTERFACE_LANGUAGE":"Idioma da Interface","SETTINGS_LAUNCH_STARTUP":"Iniciar com o sistema","SETTINGS_VLC_DEFAULT":"Reproduzir no VLC","SETTINGS_UI_LANGUAGE":"Idioma da interface","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Aperte ESC para sair da tela cheia","SETTINGS_GAMEPAD":"Ativar suporte a gamepad","SETTINGS_CLOSE_WINDOW":"Fechar aplicativo quando a janela for fechada","SETTINGS_SUBTITLES_LANGUAGE":"Idioma padrão de legendas","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Idioma das legendas secundárias","SETTINGS_SUBTITLES_SIZE":"Tamanho padrão de legendas","SETTINGS_SUBTITLES_BACKGROUND":"Fundo das legendas","SETTINGS_SUBTITLES_COLOR":"Cor das legendas","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Cor de contorno das legendas","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Cor de fundo das legendas","SETTINGS_SEEK_KEY":"As teclas de seta procuram o tempo","SETTINGS_SEEK_KEY_SHIFT":"As teclas de seta procuram o tempo quando a tecla Shift é pressionada","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Duração de Retrocesso e Avanço rápido","SETTINGS_BINGE":"Reproduzir automaticamente o próximo episódio","SETTINGS_NEXT_VIDEO":"Mostrar notificação para iniciar o próximo episódio.","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostrar uma notificação ao iniciar o próximo episódio para:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Duração da notificação do próximo vídeo","SETTINGS_PLAY_IN_BACKGROUND":"Reproduzir em segundo plano","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Reproduzir em player externo","SETTINGS_RESIZE":"Redimensionar automaticamente a janela antes de reproduzir","SETTINGS_OVERRIDE_SERVER":"Substituir a URL do servidor de streaming (avançado)","SETTINGS_SERVER_ADD_URL":"Adicionar URL","SETTINGS_SERVER_URL":"URL do servidor de Streaming: ","SETTINGS_SERVER_AVAILABLE":"O servidor de Streaming está disponível.","SETTINGS_SERVER_UNAVAILABLE":"O servidor de Streaming não está disponível.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Erro","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurar URL do servidor de streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Insira a URL do servidor de streaming","SETTINGS_SERVER_CACHE_SIZE":"Tamanho do cache","SETTINGS_SERVER_TORRENT_PROFILE":"Perfil de torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint HTTPS de streaming: ","SETTINGS_TRANSCODE_PROFILE":"Perfil de transcodificação","SETTINGS_USE_BETA":"Sempre usar a versão Beta mais recente","SETTINGS_IMPORT_FB":"Importar do Facebook","SETTINGS_IMPORT_DISK":"Importar do disco local","SETTINGS_IMPORT_TRAKT":"Importar do Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausar reprodução quando minimizado","SETTINGS_HWDEC":"Decodificação acelerada por Hardware","SETTINGS_BACKGROUND":"Reprodução em segundo plano","SETTINGS_SUBSCRIBE_CALENDAR":"Inscrever-se no calendário","SETTINGS_REQ_EXPORT":"Exportar dados","SETTINGS_ACC_DELETE":"Solicitar exclusão de conta","SETTINGS_CHANGE_PASSWORD":"Alterar a senha","SETTINGS_TOS":"Termos de serviço","SETTINGS_SUPPORT":"Contate o suporte","SETTING_LANGUAGE":"Idioma","SETTINGS_BLUR_UNWATCHED_IMAGE":"Desfocar imagem de episódios não assistidos","SETTINGS_QUIT_ON_CLOSE":"Sair ao fechar","SETTINGS_TRAKT":"Recomendações do Trakt","SETTINGS_TRAKT_RE_AUTH":"Re-Autenticar","SETTINGS_TRAKT_LOGOUT":"Sair do Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Sair do Trakt","SETTINGS_SCAN_FOR_REMOTE":"Escaneie o código QR para abrir remotamente","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificações da área de trabalho","SETTINGS_DATA_SAVER":"Economizador de Dados","SETTINGS_LANGUAGE_INTERFACE":"Interface","SETTINGS_LANGUAGE_SUBS":"Legenda padrão","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Seleção automática de trilha de áudio","SETTINGS_DEFAULT_AUDIO_TRACK":"Trilha de áudio padrão","SETTINGS_SECONDARY_AUDIO_TRACK":"Faixa de áudio secundária","SETTINGS_SURROUND_SOUND":"Som surround","SETTINGS_ACCOUNT":"Conta","SETTINGS_PLATFORM":"Plataforma","SETTINGS_VERSION":"Versão","SETTINGS_ABOUT":"Sobre","SETTINGS_MPV_WINDOW":"Executar em uma janela separada (avançado)","SETTINGS_PLAY_IN_EXTERNAL":"Sempre iniciar vídeo em player externo","SETTINGS_STORAGE_BUTTON":"Limpar armazenamento local","SETTINGS_STORAGE_MODAL_TITLE":"Você tem certeza?","SETTINGS_STORAGE_MODAL_MESSAGE":"Isso limpará o armazenamento local e terminará a sua sessão.","SETTINGS_HWDEC_PICKER":"Escolha a configuração de decodificação acelerada por hardware","SETTINGS_HW_AUTOMATIC":"Automático","SETTINGS_HW_DISABLED":"Desativado","SETTINGS_HW_ACCELERATED":"Aceleração de decodificação","SETTINGS_HW_FULL":"Aceleração total","SETTINGS_HW_LEGACY":"Legado","SETTINGS_DISABLED":"Desativado","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notificação de conexão de rede","SETTINGS_ANALYTICS":"Permitir análises","SETTINGS_REMOTE_URL":"URL remoto","SETTINGS_COPY_REMOTE_URL":"Copiar URL remoto","SETTINGS_REMOTE_URL_COPIED":"URL remoto copiado para a sua área de transferência","SETTINGS_SECTION_SUBTITLES":"Legendas","SETTINGS_SECTION_AUDIO":"Áudio","SETTINGS_SECTION_CONTROLS":"Controles","SETTINGS_SECTION_AUTO_PLAY":"Reprodução automática","SETTINGS_SECTION_ADVANCED":"Avançado","SUBSPICKER_AUDIO":"Áudio","SUBSPICKER_SUBTITLES":"Addons de Legendas","SUBSPICKER_BLACK_BACKGROUND":"Usar cor de fundo preta","SUBSPICKER_VERTICAL_OFFSET":"Deslocamento Vertical","SUBSPICKER_SIZE":"Tamanho","SUBSPICKER_DELAY":"Atraso","SUBSPICKER_EMBEDDED_SUBS":"Legendas Embutidas","MOBILE_PRIVACY_POLICY":"Política de Privacidade","MOBILE_CRASH_REPORTING":"Relatório de falhas","MOBILE_ZOOM_TO_FILL":"Zoom para preencher a tela","MOBILE_PASSTHROUGH":"Saída de áudio digital (passthrough)","MOBILE_RUN_LOW_BATTERY":"Executar com bateria fraca","MOBILE_RUN_FOREGROUND":"Executar como serviço em primeiro plano","MOBILE_PERFORMANCE":"DESEMPENHO E ESTABILIDADE","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expira em ","MOBILE_LOG_INTO":"Faça login na sua conta Stremio ","MOBILE_SCAN_QR":"Escaneie o código QR acima ou acesse ","MOBILE_LINK_ACCOUNT":"Vincular conta","MOBILE_SPEEDPICKER_CANCEL":"Cancelar","MOBILE_SPEEDPICKER_LABEL":"Selecione a velocidade de reprodução","MOBILE_EMPTY_LIBRARY":"Sua biblioteca está vazia","MOBILE_NO_ADDON_ACTIVE":"Nenhum Addon Stremio ativo para este tipo.","MOBILE_ORGANIZER_WARNING":"O aplicativo Stremio Organizer oferece funcionalidade limitada. Para obter uma lista de streams reproduzíveis e a experiência completa do Stremio, use o Stremio no desktop.","MOBILE_ADDON_LOADING":"ainda está carregando","MOBILE_ADDONS_LOADING":"dos Addons ainda carregando","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure seu Addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configurar Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"O aplicativo Stremio Organizer oferece funcionalidade limitada. Para obter uma lista de streams reproduzíveis e a experiência completa do Stremio, use o Stremio no desktop.","MOBILE_DISCONNECT":"Desconectar","MOBILE_LOOKING_FOR_DEVICES":"Procurando dispositivos...","MOBILE_CAST_TO":"Transmitir para","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Deletar Conta","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"A exclusão da conta não é instantânea devido a obrigações legais. Após solicitar a exclusão da sua conta, você terá que usar um endereço de e-mail/perfil do Facebook diferente para criar uma nova conta Stremio no futuro.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmar Exclusão da Conta","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Sua conta foi criada usando o Facebook. Para excluir sua conta, use nosso portal de usuário em www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Por favor, forneça sua senha para confirmar a exclusão da conta.","MOBILE_DELETE_ACCOUNT_BUTTON":"Deletar Conta","NAVIGATION_ON":"Ligado","NAVIGATION_OFF":"Desligado","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Concordo em receber comunicações de marketing do Stremio","QUIT":"Sair","CONNECTED":"Conectado","AUTHENTICATE":"Autenticar","AUTHENTICATING":"Authenticating...","CACHING":"Em Cache","SETTINGS_CACHING_DRIVE":"Selecione o drive para cache","ENABLE_LOCAL_FILES_ADDON":"Habilite o Addon de arquivos locais (requer reinicialização)","LOCAL_ADDON_NOT_ENABLED":"O Addon local não está ativado. Clique aqui para ir para as configurações e habilitá-lo","ENABLE_REMOTE_HTTPS_CONN":"Habilitar conexões HTTPS remotas","TORRENT_PROFILE":"Perfil de Torrent","DATA_CACHING":"Dados em cache","MAGNET_PARSING":"Analisando o link magnético","January":"Janeiro","February":"Fevereiro","March":"Março","April":"Abril","May":"Maio","June":"Junho","July":"Julho","August":"Agosto","September":"Setembro","October":"Outubro","November":"Novembro","December":"Dezembro","Monday":"Segunda","Tuesday":"Terça","Wednesday":"Quarta","Thursday":"Quinta","Friday":"Sexta","Saturday":"Sábado","Sunday":"Domingo","Action":"Ação","Comedy":"Comédia","War":"Guerra","Family":"Família","Animation":"Animação","Adventure":"Aventura","Fantasy":"Fantasia","Crime":"Policial","Mystery":"Mistério","Romance":"Romance","Drama":"Drama","Horror":"Terror","Thriller":"Suspense","Sci-Fi":"Ficção Científica","Music":"Música","Biography":"Biografia","Documentary":"Documentário","Sport":"Esporte","Musical":"Musical","Western":"Faroeste","Film-Noir":"Film-Noir","News":"Notícias","History":"História","Game-Show":"Show de Jogos","Reality-TV":"Show Real","Talk-Show":"Programa de Entrevista","Film & Entertainment":"Filmes e Entretenimento","Gaming":"Jogos","From TV":"Da TV","Lifestyle":"Estilo de Vida","Science & Education":"Ciência e Educação","Cooking & Health":"Culinária e Saúde","Beauty & Fashion":"Beleza e Moda","Sports":"Esportes","News & Politics":"Notícias e Política","How-to & DIY":"Faça Você Mesmo","Tech":"Tecnologia","Automotive":"Automotivo","Causes & Non-Profits":"Causas Humanitárias","Movies":"Filmes","Uk Live Tv":"TV Inglesa","Fashion":"Moda","Business News Radio":"Rádio de Negócios","Business Tv":"Negócios","Cars & Auto":"Carros","Comedy Radio":"Rádio de Comédia","Lifestyle Radio":"Rádio de Estilo de Vida","News Tv":"Noticiário","Food And Wine":"Comes e Bebes","Latino Tv":"TV Latina","Shopping Tv":"Compras","Religion":"Religião","Kids":"Infantil","Body & Soul":"Corpo e Alma","Education":"Educação","Indian Tv":"TV Indiana","Extreme Sports":"Esportes Extremos","Middle Eastern Tv":"TV do Oriente Médio","Celebrity Tv":"Celebridades","Science Tv":"Ciência","Bikini babe":"Biquíni","Outdoors":"Externas","German Tv":"TV Alemã","French Tv":"TV Francesa","Italian Tv":"TV Italiana","Gamer Tv":"TV Gamer","Travel":"Viagens","Asian Tv":"TV Asiática","Entertainment":"Entretenimento","News Radio":"Rádio de Notícias","Music Radio":"Rádio de Música","Language Learning":"Aprendendo Idiomas","Science Radio":"Rádio de Ciência","Tech Radio":"Rádio de Tecnologia","Science & Technology Vod":"Ciência e Tecnologia Video Sob Demanda","new video":"Novo video","new episode":"Novo episódio","new movie":"Filme novo","recommended":"Recomendado","we recommend":"Nós recomendamos","offer of the day":"Oferta do dia","news":"Notícias","music video":"video de música","CTX_SHOW_HOTKEYS":"Mostrar teclas de atalho","CTX_DISMISS_NOTIF":"Dispensar notificações","CTX_DISMISS_ALL":"Dispensar tudo","CTX_SHARE":"Compartilhar","CTX_COPY_SHARE_LINK":"Copiar link compartilhado","CTX_COPY_MAGNET_LINK":"Copiar link magnético","CTX_COPY_STREAM_LINK":"Copiar link da stream","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copiar link de download do vídeo","CTX_DOWNLOAD_VIDEO":"Baixar esse vídeo","CTX_DOWNLOAD_SUBS":"Baixar Legendas","CTX_VIEW_ON_YOUTUBE":"Visualizar no YouTube","CTX_SHOW":"Mostrar","CTX_PLAY":"Reproduzir","CTX_PLAY_IN":"Reproduzir em","CTX_PLAY_ON":"Reproduzir em","CTX_WATCH_ON":"Assistir em","CTX_WATCH":"Assistir","CTX_WATCHED":"Assistido","CTX_WATCH_BEGINNING":"Assistir do inicio","CTX_WATCH_MOBILE":"Assistir em um aparelho móvel","CTX_REWIND":"Voltar para o início","CTX_MARK_WATCHED":"Marcar como assistido","CTX_MARK_NON_WATCHED":"Marcar como não assistido","CTX_MARK_UNWATCHED":"Marcar como não assistido","CTX_MARK_REST":"Marcar o resto como assistido","CTX_UNMARK_REST":"Marcar o resto como não assistido","CTX_RECEIVE_NEW_NOTIF":"Receber novas notificações","CTX_ENABLE_NEW_NOTIF":"Ativar notificações","CTX_DISABLE_NEW_NOTIF":"Desativar notificações","CTX_REMOVE_CACHE":"Remover do cache","CTX_REMOVE_CACHE_EP":"Remover episodio do cache","CTX_OPEN_CONTAINING":"Abrir pasta do arquivo","CTX_REMOVE":"Remover da biblioteca","CTX_AVAILABLE_OFFLINE":"Disponível Offline","CTX_PAUSED":"Pausado","CTX_ALWAYS_ON_TOP":"Manter em cima","CTX_FULLSCREEN":"Tela cheia","CTX_WRONG_SUBS":"Legendas incorretas?","CTX_REPORT_ISSUES":"Reportar um problema","CTX_COPY":"Copiar","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Colar","CTX_CLEAR":"Limpar","CTX_CLEAR_RECENT_SEARCHES":"Limpar buscas recentes","HELLO_THERE":"Olá","HOPE_YOU_ENJOY":"Esperamos que aprecie o Stremio, que já é um dos seus aplicativos favoritos!","WHO_ARE_WE":"Quem somos? Somos a equipe por trás disso tudo. Dois caras que trabalham duro todos os dias nos últimos 3 anos, com o único objetivo de deixar este produto cada vez melhor","SUPPORT_US":"Se você gosta de usar o Stremio, se ele está sendo útil pra você, divulgue!","SPREAD_THE_WORD":"Compartilhe com seus amigos agora, divulgue o Stremio","MORE_PEOPLE":"Quanto mais pessoas usarem o Stremio, melhor ele vai ficar!","SEND_A_LINK":"Ou envie um link para nosso site","TIP_LOCALFILES":"Dica: você pode arrastar e soltar arquivos de vídeo diretamente no Stremio","ADDON_MY":"Meus Addons","ADDON_COMMUNITY":"Addons da comunidade","ADDON_OFFICIAL":"Addons oficiais","ADDON_REPOS":"Repositórios de Addons","ADDON_SEARCH":"Buscar Addons","ADDON_INSTALL":"Instalar","ADDON_CONFIGURE":"Configurar","ADDON_UNINSTALL":"Desinstalar","ADDON_UPGRADE":"Atualizar","ADDON_INSTALLED":"Instalado","ADDON_INSTALLED_MSG":"Addon instalado!","ADDON_UPGRADED_MSG":"Addon atualizado!","ADDON_UNKNOWN":"Desconhecido","ADDON_ERR":"Erro ao instalar o Addon!","ADDON_DISCONNECTED":"Desconectado","ADDON_APP_MISSING":"o aplicativo que suporta esta fonte não está instalado. Deseja instalar agora?","ADDON_APP_INSTALL":"Instalar agora","ADDON_PAGE":"Página de Addons","ADDON_TOP_CONTENT":"Melhor conteúdo deste Addon","ADDON_PROVIDES":"Este Addon lhe dará:","ADDON_WATCH":"Assista a #{types} agora!","ADDON_WATCH_FREE":"Assista a #{types} de GRAÇA agora!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Tipos suportados","ADDON_SUPPORTED_CATALOGS":"Catálogos suportados","ADDON_PROVIDES_DISCOVER":"Mais #{types} em Descubra","ADDON_PROVIDES_STREAMS":"Assista a #{types}","ADDON_PROVIDES_STREAMS_FREE":"Assista a #{types} de GRAÇA","ADDON_PROVIDES_SUBTITLES":"Legendas para #{types}","ADDON_CANTDETECT":"Nós não pudemos detectar se o Stremio está sendo executado, então não pudemos detectar quais Addons você tem instalado.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Streaming de Torrent não é suportado neste dispositivo devido a regras da App Store","ERR_NO_META":"Nenhuma informação encontrada sobre isso ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Erro ao obter informação sobre isto.","ERR_CANT_PARSE_MAGNET":"Não foi possível analisar o link magnético","ERR_NO_MAGNET_INFOHASH":"Informação inválida no hash do link magnético","ERR_NO_FILE_PATH":"Impossível enviar uma requisição sem um caminho para o arquivo","ERR_NO_TORRENT":"Nenhum torrent retornado","ERR_NO_SUPPORTERD_FILES":"Nenhum arquivo suportado encontrado","ERR_OPENING_FILES":"Não foi possível abrir arquivos externos","ERR_INVALID_LINK":"Link inválido","ERR_REGISTERED_ONLY":"Esta opção está disponível apenas para usuários registrados.","ERR_CLIPBOARD":"Não é possível reproduzir da área de transferência","ERR_CLIPBOARD_READ":"Não é possível ler a área de transferência nesta plataforma","ERR_CLIPBOARD_GENERIC":"Nenhuma URL reproduzível encontrada na Área de Transferência. Por favor, copie uma URL (ex.: link magnético) para um vídeo.","BOARD_CONTINUE_WATCHING":"Continue assistindo","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmes escolhidos especialmente para você.<br />Este filme é uma recomendação de amostra.","BOARD_EXPLANATION_EPISODES":"Novos episódios de suas séries favoritas.<br />Adicione séries que você segue na sua Biblioteca.","BOARD_EXPLANATION_VIDEOS":"Novos episódios dos seus canais favoritos.<br />Adicione canais do YouTube que você segue na sua Biblioteca.","WEBSITE_ENJOYED_BY":"Apreciado por mais de 30 milhões de usuários em todo o mundo","WEBSITE_STREAMING_ENHANCED":"Streaming Aprimorado","WEBSITE_STREAMING_ENHANCED_DETAILS":"O Stremio oferece uma experiência de entretenimento segura, moderna e perfeita. Com sua interface fácil de usar e biblioteca de conteúdo diversificada, incluindo suporte a 4K HDR, os usuários podem desfrutar de seus filmes e programas de TV favoritos em todos os seus dispositivos. E com seu compromisso com a segurança, o Stremio é a escolha definitiva para uma experiência de streaming de alta qualidade e sem preocupações.","WEBSITE_AVAILABLE_ON":"Disponível em","WEBSITE_WATCH_AND_ENJOY":"Assista e Aproveite.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio torna tudo fácil","WEBSITE_ALL_FEATURES":"Todos os recursos","WEBSITE_EASY_TO_USE":"Fácil de usar","WEBSITE_EASY_TO_USE_DETAILS":"O Stremio foi projetado para ser fácil de usar e amigável. Com sua interface limpa e intuitiva, você pode navegar facilmente e encontrar o conteúdo que deseja assistir.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Perfeito em Todos os Dispositivos","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponível para uma ampla variedade de plataformas (incluindo Windows, Mac, Linux, Android e muito mais), o Stremio manterá o controle do seu progresso em todos os seus dispositivos. Basta fazer login e continuar assistindo sem precisar configurar o aplicativo novamente em cada novo dispositivo.","WEBSITE_ALL_DOWNLOADS":"Todos os Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Suporte a Vídeo de Alta definição","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Um player de vídeo integrado que suporta a maioria dos formatos de vídeo, incluindo conteúdo 4K HDR, permite que você desfrute da melhor qualidade disponível.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Biblioteca de Conteúdo Diversificada","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"O Stremio se integra a uma grande quantidade de fontes de vídeo populares, como Netflix, Amazon Prime Video, Hulu, YouTube e muitos outros.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Crie uma Conta Gratuita","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiência de Visualização Personalizada","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"O Stremio permite que você personalize a aparência e a sensação da interface alterando o tema, adicionando ou removendo complementos e muito mais.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Suporte a Legendas Multilíngues","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Agora você pode desfrutar de todo o conteúdo favorito em seu idioma preferido, pois o Stremio suporta legendas em todos os idiomas.","WEBSITE_ALL_STREMIO_FEATURES":"Todos os recursos do Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Experimente o Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Na sua TV Agora","WEBSITE_YOU_CAN_NOW_WATCH":"Agora você pode assistir a todos os seus programas de TV favoritos em seus dispositivos Android TV. O aplicativo de TV Stremio permite que você aproveite uma noite de cinema com facilidade.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Agora você pode assistir a todos os seus programas de TV favoritos em sua Smart TV ou Android TV. Os aplicativos de TV Stremio permitem que você aproveite uma noite de cinema com facilidade.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio para Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Provavelmente o melhor e mais útil aplicativo para ter em seu dispositivo. É um dos aplicativos que uso diariamente, especialmente na minha Android TV, há muitos anos. Bem feito, com uma comunidade forte fornecendo funcionalidades úteis. Bem feito. Continuem com o bom trabalho.","WEBSITE_REVIEWS":"avaliações","WEBSITE_GET_STREMIO_FOR_FREE":"Obtenha o Stremio Gratuitamente","WEBSITE_GET_STREMIO_NOW":"Obtenha o Stremio Agora","WEBSITE_STREMIO_FEATURES":"Recursos do Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Transmita como um profissional com os recursos avançados do Stremio e desfrute de acesso perfeito a todos os seus meios favoritos","WEBSITE_DISCOVER_MORE":"Descubra mais.","WEBSITE_DISCOVER_MORE_DETAILS":"Nunca fique sem coisas para assistir","WEBSITE_COMMUNITY_DRIVEN":"Impulsionado pela comunidade","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"O Stremio tem uma comunidade grande e ativa de usuários que contribuem para o desenvolvimento do software criando e compartilhando complementos.","WEBSITE_GET_INVOLVED":"Envolver-se","WEBSITE_NEW_THEATER_EXPERIENCE":"Nova experiência de cinema","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"O novo aplicativo de TV dedicado do Stremio permite que você aproveite uma noite de cinema em seus dispositivos Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Os novos aplicativos de TV dedicados do Stremio permitem que você aproveite uma noite de cinema em suas Smart TVs ou dispositivos Android TV.","WEBSITE_FREE_AND_SECURE":"Grátis & Seguro","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"O Stremio oferece segurança e privacidade incomparáveis para os usuários. Com sua característica única de executar complementos remotamente, o Stremio fornece uma maneira mais segura de transmitir seu conteúdo favorito em comparação com outras plataformas. Sua segurança e privacidade são as principais prioridades, e a plataforma garante que todos os seus dados estejam protegidos.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Diga adeus às preocupações com segurança e privacidade e diga olá a um mundo de entretenimento sem fim com o Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informações fornecidas por","WEBSITE_CONTRIBUTE_DESC":"para o projeto e nos ajude a tornar o Stremio ainda melhor","WEBSITE_COMMUNITY_DESC":"Acreditamos que a melhor maneira de criar uma experiência de streaming verdadeiramente incrível é envolver nossa comunidade no processo. Se você é um programador, um artista ou apenas um fã, pode ajudar o Stremio a crescer.","WEBSITE_COMMUNITY_DESC_2":"Então junte-se a nós hoje e faça parte da comunidade Stremio e continue moldando o futuro do streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Formas de se envolver","WEBSITE_IN_THE_STREMIO_COMMUNITY":"na comunidade Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Compartilhe seus pensamentos","WEBSITE_REPORT_BUGS":"Relatar bugs","WEBSITE_SUGGEST_FEATURES":"sugerir funcionalidades","WEBSITE_AND_PROVIDE_FEEDBACK":"e fornecer feedback em nossos canais de mídia social.","WEBSITE_BETA_TESTING_PROGRAM":"Programa de Testes Beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participe do nosso programa de testes beta (enviamos convites regularmente) na comunidade Stremio.","WEBSITE_JOIN_NOW":"Junte-se agora!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunidades Oficiais do Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunidades Não-Oficiais do Stremio","WEBSITE_BECOME":"Torne-se","WEBSITE_A_VOLUNTEER_TRANSLATOR":"um tradutor voluntário","WEBSITE_ARE_YOU_A_DEVELOPER":"Você é um desenvolvedor?","WEBSITE_CONTRIBUTE_CODE":"Você pode contribuir com código para nossos projetos de código aberto. Temos vários projetos no GitHub que estão procurando contribuidores. Se você estiver interessado em ajudar, confira:","WEBSITE_STREMIO_ON_GITHUB":"Stremio no GitHub","WEBSITE_CREATE_ADDON_DESC":"Crie um addon para aprimorar a funcionalidade do Stremio (temos uma API fácil de usar):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Também oferecemos a oportunidade de se juntar a nós como um desenvolvedor estagiário para que possamos crescer juntos.","WEBSITE_APPLY_AS_AN_INTERN":"Candidate-se como Estagiário","WEBSITE_CALLING_ALL_ARTISTS":"Chamando Todos os Artistas!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mostre sua criatividade e amor pelo Stremio enviando sua arte de fã para nossa galeria online. Seja um desenho, pintura ou design digital, queremos ver sua visão única da marca Stremio. Junte-se à nossa comunidade de entusiastas da arte e compartilhe seu trabalho com outros fãs do Stremio ao redor do mundo.","WEBSITE_STREMIO_FANART_GALLERY":"Galeria de Fanart do Stremio","WEBSITE_INTERN_DESIGNER":"Faça parte da nossa equipe e leve sua criatividade a novos patamares com nossas emocionantes oportunidades de estágio.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Projeto de Filmes de Domínio Público","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"No Stremio, estamos comprometidos em preservar a história do cinema e da televisão identificando vídeos de domínio público e órfãos. Trabalhando juntos com nossa comunidade, podemos garantir que essas obras de arte clássicas sejam acessíveis a todos e protegidas para as gerações futuras desfrutarem.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Sinta-se à vontade para entrar em contato conosco se quiser se envolver nesse projeto.","WEBSITE_JOIN_THE_PROJECT":"Junte-se ao Projeto","WEBSITE_BE_PART_OF_OUR_MISSION":"Faça parte da nossa missão","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interessado em se juntar à equipe Stremio? Oferecemos trabalho totalmente remoto para profissionais apaixonados. Confira nossas vagas abertas.","WEBSITE_OPEN_POSITIONS":"VAGAS ABERTAS","WEBSITE_DESCRIPTION":"DESCRIÇÃO","WEBSITE_LEARN_MORE":"Saiba mais","WEBSITE_COMPANY":"Empresa","WEBSITE_CONTACTS":"Contatos","WEBSITE_NEED_HELP":"Precisa de Ajuda?","WEBSITE_STREMIO_WEB_ON_IOS":"Guia para Stremio Web no iOS","WEBSITE_LINK_ART_V2":"Galeria de Fanart","WEBSITE_PARTNERS":"Parceiros","WEBSITE_SLOGAN_WATCH":"Assista instantaneamente","WEBSITE_SLOGAN_ALL":"Todo conteúdo em vídeo que você adora em um único lugar","WEBSITE_SLOGAN_NEW":"Tudo o que você pode assistir","WEBSITE_SLOGAN_NEW_NEW":"Liberdade para o Stream","WEBSITE_WATCH_FROM":"Assista a partir de","WEBSITE_DOWNLOAD":"Baixe agora","WEBSITE_DOWNLOAD_FOR":"Baixe agora para","WEBSITE_IS_DESKTOP":"Stremio é um aplicativo para desktop, abra esta página em seu computador e baixe","WEBSITE_DESKTOP_DEMO_VID":"Demonstração","WEBSITE_PAGE_HOME":"Início","WEBSITE_PAGE_FEATURES":"Funcionalidades","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Tecnologia","WEBSITE_PAGE_CREATE_ADDON":"Criar Addon","WEBSITE_PAGE_CONTACTS":"Contato","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Por favor, insira sua nova senha desejada abaixo.","WEBSITE_RESET_PASSWORD_WARNING":"Você tem certeza de que deseja redefinir a senha para ${1}?","WEBSITE_TYPE_movie":"Filmes","WEBSITE_TYPE_series_PL":"Séries","WEBSITE_TYPE_tv":"TV Ao vivo","WEBSITE_TYPE_channel":"Canais","WEBSITE_STREMIO_WHAT_IS":"Stremio é um aplicativo que ajuda você a organizar e assistir instantaneamente seus vídeos, filmes, séries de TV e canais de TV favoritos.","WEBSITE_FEATURES_WATCH":"Assista instantaneamente em HD","WEBSITE_FEATURES_WATCH_DETAIL":"Clique e assista seus filmes favoritos, Séries, vídeos e canais de TV.","WEBSITE_FEATURES_SUBS":"Legendas automáticas","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automaticamente seleciona legendas sincronizadas para o seu idioma.","WEBSITE_FEATURES_SUBS_LABEL":"Chefe, é a sua vez.","WEBSITE_FEATURES_CAST":"Exiba na TV & Celulares","WEBSITE_FEATURES_CAST_DETAIL":"Transmita para AppleTV, Chromecast, Smart TV (DLNA/UPnP) e dispositivos móveis.","WEBSITE_LIB":"Aprecie Sua Biblioteca Pessoal Sincronizada em Todos Seus Dispositivos","WEBSITE_LIB_COLLECT":"Recuperar da Stremio","WEBSITE_LIB_IMPORT":"Importe do Facebook","WEBSITE_LIB_LOCAL":"Adicione do seu dispositivo local","WEBSITE_BOARD":"Painel - Um lugar para Notificações e Recomendações","WEBSITE_BOARD_RECOMMEND":"Shows de TV Recomendados","WEBSITE_BOARD_TRENDING":"Filme em Alta","WEBSITE_BOARD_NEW":"Novo Vídeo","WEBSITE_BOARD_EPISODE":"Novo Episódio","WEBSITE_BOARD_1":"Procurando alguma coisa interessante para assistir? Obtenha recomendações baseadas no seu perfil!","WEBSITE_BOARD_2":"Seja avisado quando um novo episódio da sua série favorita ou canal do YouTube sair!","WEBSITE_BOARD_YOUTUBE":"Novos vídeos de canais do YouTube","WEBSITE_BOARD_EPISODES":"Novos episódios de séries que você segue","WEBSITE_ADDONS":"Addons de Conteúdo","WEBSITE_TECH_DETAIL":"Nós amamos tecnologias, nós amamos ciência disruptiva!\\nA Stremio usa as seguintes tecnologias Open Source:","WEBSITE_TECH_WCJS":"WebChimera.js permite que o Stremio reproduza qualquer formato de vídeo com uma ótima qualidade.","WEBSITE_TECH_WCJS_EXTRA":"Nós somos os mantenedores do projeto","WEBSITE_TECH_ELECTRON":"Electron provê uma plataforma inovadora no qual o Stremio é construído.","WEBSITE_TECH_ELECTRON_EXTRA":"Nós somos os contribuidores do projeto","WEBSITE_TECH_LINVODB":"Uma tecnologia de Banco de Dados que garante que seus dados estarão organizados e disponíveis em qualquer lugar que você se conectar.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnologia interna","WEBSITE_CREATE_ADDON":"Crie seu Addon","WEBSITE_CREATE_ADDON_DETAIL":"Você possui um serviço fornecendo conteúdo em vídeo? Nós vamos ajudar você a se beneficiar dos recursos do Stremio criando seu Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefícios de criar um Addon para o Stremio","WEBSITE_P2P_BEAUTY":"A Beleza do streaming ponto-a-ponto","WEBSITE_P2P_1":"Vídeos em Full HD / 4K sob demanda ou transmissões ao vivo confiáveis e acessíveis","WEBSITE_P2P_2":"Plataforma de distribuição providenciando uma ótima experiência ao usuário","WEBSITE_P2P_3":"Nós criaremos um Addon reunindo exatamente o que você precisa","WEBSITE_P2P_CONTACT":"Interessado? Sinta-se a vontade para <a href=\'mailto:office@stremio.com\'>entrar em contato conosco</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Será um prazer ajudar você a integrar seu conteúdo ao Stremio!","WEBSITE_P2P":"De vez em quando, aparece uma tecnologia que muda o jogo. Nós investimos muito tempo e esforço na construção do nosso mecanismo de transmissão de vídeo Peer-To-Peer (P2P) que fornece uma ótima performance e versatilidade para se adaptar a qualquer tipo de uso.\\nEntre em contato conosco para vídeos P2P sob demanda com gerenciamento de direitos autorais (DRM) habilitado ou transmissão ao vivo.","WEBSITE_THOUGHTS":"Pensamentos que compartilhamos:","WEBSITE_SPREAD":"Espalhe a palavra sobre o Stremio:","WEBSITE_CONTACT":"Contate-nos, teremos prazer em ouvi-lo.","WEBSITE_OPENSOURCE":"Veja nossos projetos Open Source em nosso ","WEBSITE_BITCOIN":"Doe Bitcoin:","WEBSITE_FAQ":"Perguntas frequentes","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Perguntas","WEBSITE_TOS":"Termos de uso","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"Sobre","WEBSITE_PAGE_BECOME_PARTNER":"Seja um parceiro","WEBSITE_ALL_YOU_CAN_WATCH":"Liberdade Para Assistir\\nTudo Que Você Deseja.","WEBSITE_FREEDOM_TO_STREAM":"Liberdade para o Stream","WEBSITE_WHAT_IS_STREMIO":"O que é Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"O Stremio é uma plataforma para agregação de conteúdo de vídeo. Descubra, organize e assista vídeos de todos os tipos de fontes em qualquer dispositivo que você possui.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmes, séries, programas de TV, TV ao vivo ou canais da web como YouTube e Twitch.tv - você pode encontrar tudo isso no Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio é uma central de mídia moderna, uma solução integrada para todo seu entretenimento em vídeo. Você descobre, assiste e organiza conteúdo de vídeo a partir de Addons fáceis de instalar.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmes, shows de TV, TV ao vivo ou canais da web - encontre tudo isso no Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Desfrute em todos os seus dispositivos de mídia ","WEBSITE_DEVICES_COLLECT":"Recupere a partir do Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importe a partir do Facebook","WEBSITE_DEVICES_LOCAL":"Adicione a partir de unidade local","WEBSITE_JOIN_THE_PARTY_NOW":"Junte-se à festa agora","WEBSITE_DEVICES_ALL":"Fácil de usar em todos os seus dispositivos;","WEBSITE_EXTENDABLE_CATALOG":"Catálogo de vídeo infinitamente extensível;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Ótimas funcionalidades para organizar sua mídia;","WEBSITE_AS_SEEN_ON":"Como visto em","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Sobre nós","WEBSITE_LINK_TECHNOLOGY":"Tecnologia","WEBSITE_LINK_APPS":"Aplicativos","WEBSITE_LINK_DOWNLOADS":"Baixe","WEBSITE_MORE":"Mais","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Kit de Desenvolvimento","WEBSITE_LINK_CONTRIBUTE":"Contribuir","WEBSITE_LINK_COMMUNITY":"Comunidade","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Mais","WEBSITE_LINK_HELP":"Central de Ajuda","WEBSITE_LINK_CONTACTS":"Inquérito de Negócios","WEBSITE_LINK_TOS":"Termos e Condições","WEBSITE_LINK_PRAVACY":"Politica de Privacidade","WEBSITE_SUBSCRIBE":"Inscreva-se","WEBSITE_NEWSLETTER":"Inscreva-se na nossa newsletter para receber as novidades","WEBSITE_PLACEHOLDER_EMAIL":"Seu email","WEBSITE_COMMUNITY":"Comunidade","WEBSITE_LINK_PRAVACY_LEGAL":"Privacidade e Legal","WEBSITE_WHY":"Por que nós fazemos isso","WEBSITE_WHY_P1":"No Stremio, nós chegamos a trabalhar todos os dias porque queremos resolver um problema importante para o setor de vídeo sob demanda. Há tanto conteúdo novo publicado a cada minuto que é virtualmente impossível encontrar o caminho menos árduo.","WEBSITE_WHY_P2":"Ajudamos as pessoas a navegar neste mundo imenso de entretenimento de vídeo e a descobrir novos conteúdos para apreciar. Nossos aplicativos trazem consigo filmes, séries, TV ao vivo, canais da web e muito mais. Estamos focados em facilitar que nossos usuários possam encontrar facilmente títulos e canais que eles adoram. ","WEBSITE_WHY_P3":"Você pode usar nosso serviço em qualquer dispositivo e a qualquer hora, tornando o Stremio a única plataforma agregadora de entretenimento de vídeo que você precisará.","WEBSITE_TEAM":"Equipe","WEBSITE_TEAM_P":"A equipe do Stremio é pequena, mas poderosa: entre nós dez, codificamos em várias linguagens e compartilhamos experiência em desenvolvimento de software, design UI e UX, marketing e publicidade, e negócios e startups.","WEBSITE_FEATURES":"Recursos","WEBSITE_FEATURES_P1":"-","WEBSITE_FEATURES_DISCOVER":"Descubra novos conteúdos com facilidade","WEBSITE_FEATURES_DISCOVER_P":"Descubra facilmente novos filmes, séries, programas de TV e canais para assistir. Navegue por categoria, gênero, classificação, novidade, etc. ou simplesmente digite um nome para encontrar. Stremio faz achar conteúdo de vídeos ser uma moleza.","WEBSITE_FEATURES_ALL_CONTENT":"Todo seu conteúdo de vídeo em uma tela","WEBSITE_FEATURES_ALL_CONTENT_P1":"Veja quais filmes, séries ou vídeos você não terminou e continue assistindo. Seja notificado sobre novos episódios e lançamentos e navegue pelas recomendações que você obterá com base em seus hábitos de visualização","WEBSITE_FEATURES_LIBRARY":"Organize sua biblioteca de vídeos","WEBSITE_FEATURES_LIBRARY_P1":"Adicione qualquer título à sua biblioteca do Stremio com um único clique e encontre seu conteúdo, organizado por tipo, novidade ou ordem alfabética","WEBSITE_FEATURES_CALENDAR":"Acompanhe tudo o que você assiste","WEBSITE_FEATURES_CALENDAR_P1":"Visualize o calendário de todos os filmes e séries que você adiciona à sua biblioteca, e também saiba quando haverá um novo episódio ou uma estreia.","WEBSITE_FEATURES_BIG_SCREEN":"Aproveite o seu conteúdo de vídeo em uma tela maior ","WEBSITE_FEATURES_BIG_SCREEN_P1":"Projete o que você estiver assistindo para outro dispositivo - use o smartphone, tablet ou TV com um único clique","WEBSITE_FEATURES_SOURCES":"Assista o vídeo de várias fontes diferentes.","WEBSITE_FEATURES_SOURCES_P":"Instale os Addons oficiais e comunitárias para aproveitar o vídeo fornecido por vários fornecedores diferentes - tudo em um aplicativo elegante e fácil de usar.","WEBSITE_CREATE_AN_ADDON":"Crie um Addon.","WEBSITE_FEATURES_SYNC":"Sincronize sua biblioteca entre diferentes dispositivos e continue a reprodução","WEBSITE_FEATURES_SYNC_P1":"Entre com sua conta em todos os seus dispositivos e aproveite sua biblioteca, Addons, reprodução e calendário sincronizados.","WEBSITE_FEATURES_EXTENDABLE":"Catálogo de vídeo extensível por Addons","WEBSITE_FEATURES_EXTENDABLE_P1":"O catálogo de Addons do Stremio fornece vários Addons para instalar e assistir a uma variedade de conteúdos de vídeo. Isso inclui filmes, programas, TV ao vivo, esportes, notícias, podcasts, canais da web, videogames e muito mais.","WEBSITE_FEATURES_AUTO_SUBS":"Legendas automáticas","WEBSITE_FEATURES_AUTO_SUBS_P1":"Com nossos Addons para legenda, você obtém automaticamente as opções selecionadas para o seu idioma preferido.","WEBSITE_FEATURES_CHROMECAST":"Transmitir para Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Desfrute do conteúdo do vídeo em uma tela maior ou apenas transmita o que estiver assistindo para outro dispositivo.","WEBSITE_FEATURES_KEEP_TRACK":"Acompanhe seus programas de TV e canais da Web favoritos ","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obtenha uma visualização do calendário e notificações para novos episódios de suas séries e canais da web favoritos.","WEBSITE_FEATURES_POWER_USER":"Recursos avançados para usuários","WEBSITE_FEATURES_POWER_USER_P1":"Reproduzir em um reprodutor externo","WEBSITE_FEATURES_POWER_USER_P2":"Reproduzir de um arquivo torrent ou link magnético","WEBSITE_FEATURES_POWER_USER_P3":"Importe para sua biblioteca do Facebook likes ou disco local","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"Todo o conteúdo de vídeo que o Stremio proporciona é proveniente de um sistema de Addons - nenhum fornecedor de conteúdo ou conteúdo foi incorporado no aplicativo.","WEBSITE_ADD_ONS_P2":"Existem dois grupos de Addons disponíveis: oficial e comunitária.","WEBSITE_ADD_ONS_P3":"As oficiais são desenvolvidas e hospedadas pela Stremio, enquanto os Addons comunitárias são criadas pelos membros de nossa comunidade, que também os hospedam.","WEBSITE_ADDONS_OFFICIAL":"Addons oficiais","WEBSITE_ADDONS_WATCHUB":"Transmite seus filmes, séries e shows favoritos de provedores como iTunes, Hulu, Amazon e outros serviços do Reino Unido / EUA.","WEBSITE_ADDONS_YOUTUBE":"Assista seus canais favoritos do YouTube livre de anúncios e receba notificações de novos vídeos dos canais que você segue.","WEBSITE_ADDONS_FILMON":"Assista TV ao vivo, filmes e canais interativos gratuitamente. 600 canais de TV, 45.000 filmes gratuitos, documentários e muito mais.","WEBSITE_ADDONS_OPENSUBTITLES":"Legendas de filmes e TV em vários idiomas. Milhares de legendas traduzidas e carregadas todos os dias.","WEBSITE_ADDONS_COMMUNITY":"Addons da comunidade","WEBSITE_ADDONS_FILMON_VOD":"Assista a vídeos sob demanda do Filmon.tv","WEBSITE_ADDONS_TWICH":"Assista transmissões ao vivo do Twitch.tv - a plataforma de streaming de vídeo para a indústria de e-sports.","WEBSITE_ADDONS_VODO":"Assista filmes independentes totalmente grátis.","WEBSITE_ADDONS_NETFLIX":"Assista filmes e séries da Netflix.","WEBSITE_ADDONS_CREATE":"Crie um Addon.","WEBSITE_ADDONS_CREATE_P1":"Se desejar, você pode desenvolver sua próprio Addon. Desta forma, você pode proporcionar a você e a nossa comunidade acesso a novos conteúdos de vídeo, e alcançar um novo público-alvo de milhões de usuários em todo o mundo.","WEBSITE_ADDONS_START_CREATE":"Para iniciar, visite a página do Kit de Desenvolvimento de Addons da Stremio:","WEBSITE_DOWNLOADS":"Baixar","WEBSITE_DOWNLOADS_P1":"Para um desempenho ideal, recomendamos que você use a versão mais recente disponível das aplicações Stremio. Se por algum motivo, no entanto, você prefira usar uma versão mais antiga, você pode baixá-la aqui.","WEBSITE_DOWNLOADS_P1_SHORT":"Para um desempenho ideal, recomendamos que você use a versão mais recente disponível dos aplicativos Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio para Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio para MacOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio para Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio para Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio para Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio para Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio para Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio para iOS (versão limitada)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio para Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio para LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio para Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio para Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio para Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio para Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio para Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio para o Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio para o Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio para Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio para Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio para o navegador","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Procure o Stremio na App Store dos modelos de TV Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Procure o Stremio na App Store dos modelos de TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Procure por Stremio no aplicativo Play Store na TV Sony com Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Procure por Stremio no aplicativo Play Store na Philips TV com Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Procure por Stremio na loja de aplicativos na Philips TV com o TitanOS (versão limitada)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Procure o Stremio na App Store do teu dispositivo Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guia para Stremio OS no RPI","WEBSITE_LINK_GUIDE":"Guia","WEBSITE_DOWNLOAD_SERVICE":"Baixar o Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service é um aplicativo complementar para o Stremio Web. Recomendamos o uso da versão mais recente disponível do Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service para Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service para macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service para Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service para Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio para Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Mais opções de download","WEBSITE_DOWNLOAD_NEW":"Novo!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Lançamos o Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Lançamos o Stremio para a Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Lançamos o Stremio para a LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Lançamos o Stremio para Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Lançamos o Stremio para Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Lançamos Stremio 5 para o Windows","WEBSITE_CONTRIBUTE":"Contribuir","WEBSITE_CONTRIBUTE_P1":"A plataforma Stremio é de código aberto e você pode criar facilmente um Addon para o conteúdo que atualmente não é fornecido.","WEBSITE_CONTRIBUTE_WHY":"Por que você deve criar um Addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Alcance novo público para o conteúdo do seu vídeo","WEBSITE_CONTRIBUTE_WHY_P2":"A base de usuários do Stremio está crescendo rapidamente - no primeiro ano de lançamento, o Stremio ganhou 1 milhão de usuários em todo o mundo e, no segundo ano de existência da plataforma, esse número cresceu para 2,5 milhões.","WEBSITE_CONTRIBUTE_WHY_P3":"Com a seu Addon, você pode alcançar facilmente esta audiência e distribuir o seu conteúdo em vídeo para eles.","WEBSITE_CONTRIBUTE_ALL":"Assista seus filmes, séries, vídeos e canais favoritos em um único lugar.","WEBSITE_CONTRIBUTE_ALL_P1":"Você é fã de um tipo de conteúdo que ainda não está disponível no Stremio? Crie um Addon para isso, e aprecie assistir seus vídeos favoritos em um dos maiores e mais fáceis de se usar hub de entretenimento do mercado.","WEBSITE_CONTRIBUTE_ALL_P2":"Além disso, você obterá a infinita gratidão de outros membros da comunidade Stremio com ideias semelhantes","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize seu Addon e ganhe dinheiro com a ajuda dela","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Uma vez que você desenvolve um novo Addon para o Stremio, você pode facilmente monetizá-lo através de várias maneiras diferentes. Se você está considerando isso, sinta-se à vontade para entrar em contato conosco no ","WEBSITE_CONTRIBUTE_MONETIZE_E":"Addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - nós ficaríamos felizes em lhe instruir e aconselhá-lo sobre as opções de monetização de seu Addon.","WEBSITE_CONTRIBUTE_TRANSLATE":"Torne-se um tradutor voluntário","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Se você deseja aproveitar as aplicações do Stremio em diferentes idiomas, você pode se juntar à nossa comunidade de tradutores voluntários. Eles nos ajudam a adicionar versões do Stremio em vários idiomas diferentes.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Você está ansioso para começar?","WEBSITE_TRANSALTE_STREMIO":"Traduza o Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunidades oficiais","WEBSITE_COMMUNITY_OFFICIALS_P1":"Torne-se parte da crescente comunidade Stremio. Siga-nos nas redes sociais e não se sinta intimidado em nos dizer um \\"Olá\\" - amamos saber de nossos fãs!","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunidades não oficiais","STREMIO_COMMUNITY_NL":"Stremio Nova Zelândia","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemanha","STREMIO_COMMUNITY_BELGIUM":"Stremio Bélgica","STREMIO_COMMUNITY_FRANCE":"Stremio França","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Itália","STREMIO_COMMUNITY_UK":"Stremio Reino Unido","STREMIO_COMMUNITY_USA":"Stremio EUA","STREMIO_COMMUNITY_MEXICO":"Stremio México","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"O melhor do Stremio","WEBSITE_COMMUNITY_PARTNERS":"Apoiadores e parceiros","WEBSITE_COMMUNITY_GOODIES":"Brindes Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Papéis de Parede","WEBSITE_COMMUNITY_ART":"Galeria de Arte Comunitária","WEBSITE_LINK_ART":"Galeria de arte comunitária","WEBSITE_CONTACT_US":"Fale conosco","WEBSITE_CONTACT_US_P1":"Caso tenha dúvidas, comentários ou sugestões, sinta-se à vontade para entrar em contato conosco através do formulário abaixo.","WEBSITE_CONTACT_US_P2":"Lembre-se de que estamos localizados na Bulgária, por isso, pode haver uma demora no atendimento da sua consulta devido às diferenças de fuso horário.","WEBSITE_CONTACT_US_SUCCESS":"Sua mensagem foi enviada. Nós entraremos em contato com você o mais breve possível.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Por favor, digite um e-mail válido!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Com o que sua pergunta está relacionada?","WEBSITE_CONTACT_US_Q_OS":"Qual o seu sistema operacional?","WEBSITE_CONTACT_US_PH_EMAIL":"Seu email","WEBSITE_CONTACT_US_PH_MESSAGE":"Mensagem","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVIAR","WEBSITE_CONTACT_US_Q_1":"Como instalar?","WEBSITE_CONTACT_US_Q_2":"Como desinstalar?","WEBSITE_CONTACT_US_Q_3":"(HTML) Como fazer lasanha?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"MacOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnologia","WEBSITE_TECHNOLOGY_P1":"Nós amamos tecnologia e ciência maluca. </ br> Aqui estão os poderes do Stremio (tudo em código aberto).","WEBSITE_TECHNOLOGY_P_QT":"Desenvolvimento de software multiplataforma em seu melhor.","WEBSITE_TECHNOLOGY_P_MPV":"Um reprodutor de mídia gratuito, de código aberto e multiplataforma.","WEBSITE_TECHNOLOGY_P_RN":"O React Native permite que você crie aplicativos mobile usando apenas JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Framework de mídia embutido no aplicativo para recursos multimídia","WEBSITE_TECHNOLOGY_P_REALM":"Realm é uma plataforma mobile e um substituto para SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js é um ambiente em tempo de execução multiplataforma e de código aberto para JavaScript.","WEBSITE_TECHNOLOGY_P_RUST":"Rust é uma linguagem de programação multi-paradigma focada em segurança, especialmente concorrência segura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribua com o projeto","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Há duas maneiras que você pode contribuir com o Stremio e nos ajudar a tornar o produto ainda melhor.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Você pode doar suas valiosas habilidades linguísticas para traduzir a plataforma...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ou","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"...você pode usar suas habilidades de codificação para criar Addons comunitárias.","WEBSITE_TRANSLATE_STREMIO":"Traduza o Stremio","WEBSITE_404_OH_NO":"Ops! A página que você está procurando não está aqui...","WEBSITE_GO_HOME":"Principal","WEBSITE_LINK_OTHER_DOWNLOADS":"Outros downloads","WEBSITE_FAQ_ABR":"Dúvidas Frequentes","WEBSITE_SUPPORT":"Ajuda","WEBSITE_DOWNLOAD_4_0_BETA":"Baixe agora o Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Baixe para seu PC","WEBSITE_LINK_ADDON_COMPETITION":"Competição de Addon","WEBSITE_LINK_ART_CONTEST":"Concurso de arte","WEBSITE_MY_ACCOUNT":"Minha conta","WEBSITE_MAINPAGE_FAQ_001_H1":"O que é Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"O Stremio é um moderno centro de mídia que oferece a liberdade de assistir tudo o que você deseja.","WEBSITE_MAINPAGE_FAQ_002_H1":"Como funciona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Depois de instalar o Stremio no seu dispositivo e criar uma conta, tudo o que você precisa fazer é visitar o catálogo de Addons e instalar qualquer Addon que desejar, e pronto!","WEBSITE_MAINPAGE_FAQ_002_P2":"Depois disso, você pode ir para as seções Descubra ou Painel para começar a explorar o conteúdo.","WEBSITE_MAINPAGE_FAQ_003_H1":"O que posso assistir aqui?","WEBSITE_MAINPAGE_FAQ_003_P1":"Diversos filmes, programas de TV, canais da Web, esportes, canais de TV, ouvir podcasts e muito mais. Graças ao nosso sistema de Addons, você pode acessar uma variedade de conteúdos.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio é de código aberto?","WEBSITE_MAINPAGE_FAQ_004_P1":"Sim, você pode verificar os seguintes links: ${1}aplicativo de desktop${2} e ${3}organização GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio é seguro?","WEBSITE_MAINPAGE_FAQ_005_P1":"Sim. Por ser um software de código aberto, o código é auditável publicamente e você pode revisá-lo.","WEBSITE_MAINPAGE_FAQ_005_P2":"O sistema de Addon do Stremio também foi criado com a segurança do usuário em mente. Os Addon não executam nenhum código localmente, portanto, não representam riscos para o seu dispositivo","WEBSITE_MAINPAGE_FAQ_006_H1":"E a minha privacidade?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respeitamos a privacidade dos usuários e não coletamos dados pessoais além do mínimo essencial para criar e sincronizar sua conta.","WEBSITE_MAINPAGE_FAQ_006_P2":"Há também um ${1}modo visitante ${2}na inscrição, que não requer dados: neste modo, nenhuma chamada é feita para o nossos servidores. No entanto, isso ocorre à custa de recursos úteis, como sincronizar sua biblioteca entre dispositivos.","WEBSITE_MAINPAGE_FAQ_007_H1":"Posso transmitir para minha TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Sim, suportamos o Chromecast e você pode transmitir a partir de aplicativos para computador e dispositivos móveis (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Quantos Addons o Stremio possui?","WEBSITE_MAINPAGE_FAQ_008_P1":"No final de 2019, acima de 50 - para obter mais informações, consulte nosso catálogo de Addons.","WEBSITE_MAINPAGE_FAQ_009_H1":"O Stremio pode ser estendido além do que está no catálogo de Addons?","WEBSITE_MAINPAGE_FAQ_009_P1":"Sim, você deve checar estes: ${1}PimpMyStremio${2}, ${3}Comunidades Reddit${4}, ${5}Downloader Stremio${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Quais dispositivos o Stremio suporta?","WEBSITE_MAINPAGE_FAQ_010_P1":"Temos aplicativos de desktop para Windows, Mac e Linux. Para dispositivos móveis, suportamos Android e iOS, embora tenha em mente que a funcionalidade do iOS é limitada (não é compatível com a maioria das Addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"Existem muitos dispositivos baseados no Android nos quais você pode executar o Stremio, como NVIDIA Shield e Amazon Fire Stick, mas não os suportamos oficialmente.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Temos aplicativos de desktop para Windows, Mac e Linux. Também temos aplicativos dedicados para dispositivos móveis Android e Android TV. Para iOS e iPadOS, sugerimos usar o Stremio Web, embora ele seja mais limitado em funcionalidade.","WEBSITE_MAINPAGE_FAQ_011_H1":"Você pode adicionar determinado conteúdo ao Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Desculpe, mas nós não fornecemos conteúdo, porém quanto mais Addons do Stremio você instalar, mais conteúdo você poderá encontrar.","WEBSITE_MAINPAGE_FAQ_012_H1":"O Stremio pode reproduzir links magnéticos?","WEBSITE_MAINPAGE_FAQ_012_P1":"Sim, e também pode reproduzir links HTTP normais e arquivos torrent (arrastar e soltar).","WEBSITE_MAINPAGE_FAQ_013_H1":"Posso baixar um vídeo e assistir offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"O modo offline estará disponível futuramente, porém se você permitir que o Stremio faça cache no dispositivo (no painel de configurações), poderá assistir aos vídeos mais tarde, sem conexão.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nada funciona, me ajude!","WEBSITE_MAINPAGE_FAQ_014_P1":"Tem certeza de que instalou Addons? Se sim, verifique nossa ${1}central de ajuda${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Como o Stremio sustenta suas operações de desenvolvimento?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ocasionalmente, exibimos anúncios não intrusivos, mas estamos pensando em mudar para um modelo de doação.","WEBSITE_MAINPAGE_FAQ_015_P2":"Para mais dúvidas, visite nossa ${1}central de ajuda${2}.","HELP_LEARN_MORE":"Ajude-nos a aprender mais sobre você.","LIFESTYLE":"Estilo de vida","SPORTS":"Esportes","FOOD_HEALTH":"Gastronomia e Saúde","BEAUTY_FASHION":"Moda e Beleza","NEWS":"Notícias","GAMING":"Jogos","SCIENCE_EDUCATION":"Ciência e Educação","MUSIC":"Música","TRAVEL":"Viagens","LATE_NIGHT":"Tarde da Noite","REALITY":"Realidade","COMEDY":"Comédia","DIY":"Faça você mesmo","TECH":"Tecnologia","CINEMA":"Cinema","CONTINUE":"Continuar","SLOW_LOADING":"CARREGAMENTO LENTO?","I_GIVE_UP":"EU DESISTO","LEARN_MORE":"Saiba mais","POOR_SOURCE":"Esta fonte possui baixa disponibilidade ou a sua conexão à internet não é suficientemente rápida","PICK_CATEGORIES_ERR":"Você precisa escolher ao menos 3 categorias","ADJUST_TIMING":"Ajustar tempo com ","ADJUST_SIZE":"Ajustar tamanho com ","SEARCH_ANYTHING":"Você Pode Pesquisar Qualquer Coisa...","ALL_CATEGORIES":"Todas","SEARCH_CATEGORIES":"Filmes, Séries, YouTube & TV","SEARCH_PERSONS":"Atores, Diretores & Escritores","SEARCH_PROTOCOLS":"HTTP & Links Magnéticos","SEARCH_TYPES":"links IMDB / TVDB","WATCHED":"Visto","SHOW_LESS":"Mostrar menos","LAST_SEARCHES":"Últimas pesquisas","CLEAR_HISTORY":"Limpar histórico","CHOOSE_SOME":"ESCOLHA ALGUNS DESTES:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"O Web Remote não pôde ser carregado","STREMIO_OFFLINE":"Stremio está offline","STREMIO_EXPENSIVE_CONNECTION":"A conexão de rede é custosa","USE_DATA":"Dados Móveis","WARNING":"Aviso","MORE_INFO":"Mais Informações ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Carregando ...","STREMIO_TV_BACK_TO_LANGUAGES":"Voltar para idiomas","STREMIO_TV_REMOTE":"Remoto","STREMIO_TV_GO_TO":"Ir Para:","STREMIO_TV_OR_SCAN":"ou buscar:","STREMIO_TV_ADDON_INSTRUCTIONS":"Por favor, siga as instruções a fim de instalar suas Addons favoritas.","STREMIO_TV_LIVE_TV":"TV Ao vivo","STREMIO_TV_RESUME_WATCHING":"Continuar assistindo","STREMIO_TV_LOADING_BACKGROUND":"Carregando Plano de Fundo","STREMIO_TV_CHECKING_AUTHENTICATION":"Checando Autenticação","STREMIO_TV_LOADING_BOARD":"Carregando Painel","STREMIO_TV_LOGIN_HEADER_LINE_1":"Queremos que nossos usuários tenham a melhor experiência personalizada possível com nosso programa.","STREMIO_TV_LOGIN_HEADER_LINE_2":"É por esta razão que nos gentilmente pedimos que faça e/ou logue em sua conta.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Obrigado por entender,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Equipe Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"A fim de usar o Web Remote com seu Smartphone / Tablet / PC:","STREMIO_TV_WIFI_SETUP":"Configurar Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle não detectou conexão com a internet.","STREMIO_TV_WIFI_DETAILS_1":"Conectar com:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Usar senha:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Abra o navegador com o link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Padrão","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Por Último Assistido","STREMIO_TV_LIBRARY_SORT_NAME":"Por Nome","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Por Nome em ordem decrescente","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Por Vezes Assistido","STREMIO_TV_LIBRARY_SORT_WATCHED":"Por assistidos","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Por não assistidos","STREMIO_TV_DETAILS_SEASON_NUMBER":"Temporada ${1}","STREMIO_TV_STREAMS_LOADING":"Carregando ${1} / ${2} Addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} o Addon ainda esta carregando...","STREMIO_TV_PLAYER_SETTINGS":"Configurações do player","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Atraso das legendas","STREMIO_TV_PLAYER_AUDIO_DELAY":"Atraso de áudio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Dimensionamento de vídeo","STREMIO_TV_PLAYER_CHAPTERS":"Capítulos","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Pular ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Fonte de stream não suportada","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Falha ao abrir link externo","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Não ajustável no modo de passagem de áudio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Tocar com ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Tocar com player libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Mudando para o player libVLC devido a um erro de reprodução","STREMIO_TV_ADDONS_TITLE":"Use o Stremio em seu telefone ou PC para instalar ou configurar Addons e pressione \\"Sincronizar Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: verifique se você está usando a mesma conta Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizar Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons sincronizados com sucesso","STREMIO_TV_ADDONS_SYNC_FAILED":"Falha ao sincronizar Addons","STREMIO_TV_META_LINK_FAILED":"Falha ao abrir o meta link","STREMIO_TV_CATALOG_LOADING":"Catálogo ainda carregando...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Idioma da interface atualizado","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema atualizado","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Player Padrão","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Player Externo","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Idioma Preferido","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Idioma Secundário Preferido","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Reprodução em túnel","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possíveis problemas de reprodução em alguns dispositivos","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Alguns formatos de vídeo podem não funcionar","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Correspondência de taxa de quadros","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Desativado","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Apenas Taxa de Quadros","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Taxa de Quadros e Resolução","STREMIO_TV_SETTINGS_NO_CACHING":"Sem cache","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Padrão","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Suave","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rápido","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Rápido","STREMIO_TV_SETTINGS_SERVER_URL":"URL do servidor de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versão do servidor","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Desconhecido","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versão do Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Editar URL do servidor","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Insira um URL de servidor de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostrar estatísticas durante o carregamento","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Para ler a Política de Privacidade do Stremio, visite:","STREMIO_TV_SETTINGS_TOS_TEXT":"Para ler os Termos e Condições do Stremio, visite:","STREMIO_TV_NAV_SEARCH":"Procurar","STREMIO_TV_NAV_HOME":"Início","STREMIO_TV_NAV_DISCOVER":"Descobrir","STREMIO_TV_NAV_LIBRARY":"Biblioteca","STREMIO_TV_NAV_MOVIES":"Filmes","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Canais","STREMIO_TV_NAV_TV":"TV ao vivo","STREMIO_TV_NAV_SETTINGS":"Configurações","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Vincular Contas","STREMIO_TV_LOGIN_EXPIRES_IN":"Expira em","STREMIO_TV_LOGIN_STEP_ONE":"Escaneie o QR Code acima ou acesse","STREMIO_TV_LOGIN_STEP_TWO":"Faça login na sua conta Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Solicitar um novo link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Código de login atualizado","STREMIO_TV_SEARCH_PLACEHOLDER":"Digite algo","STREMIO_TV_SEARCH_NO_ADDONS":"Nenhum Addon foi solicitado para catálogos!","STREMIO_TV_SEARCH_BUTTON":"Procurar","STREMIO_TV_SEARCH_KEY_DEL":"Deletar","STREMIO_TV_SEARCH_KEY_SPACE":"Espaço","STREMIO_TV_SEARCH_KEY_CLEAR":"Limpar","STREMIO_TV_SEARCH_HISTORY_TITLE":"Histórico de pesquisa","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Você pode pesquisar por Títulos, Atores, Canais e muito mais...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Limpar histórico de pesquisa","STREMIO_TV_FILTERS_DESCRIPTION":"Escolha um dos filtros abaixo","STREMIO_TV_STREAMING_SERVER_OFFLINE":"O Servidor de Streaming está offline. Verifique as Configurações do Servidor.","FILTERS":"Filtros","SETTINGS":"Configurações","ACCOUNT":"Conta","LOGOUT":"Sair","THEMES":"Temas","PLAYBACK":"Reprodução","PLAYBACK_SPEED":"Velocidade de reprodução","AUDIO_TRACKS":"Faixas de áudio","UNKNOWN_TRACK_LANG":"Desconhecido","VIDEOS":"Vídeos","SERVER":"Servidor","LINKS":"Links","ABOUT":"Sobre","INTERFACE":"Interface","ANIMATIONS":"Animações","STATUS":"Status","LANGUAGE":"Idioma","SIZE":"Tamanho","DELAY":"Atraso","BOLD":"Negrito","OPACITY":"Opacidade","TEXT_COLOR":"Cor do texto","OUTLINE_COLOR":"Cor do contorno","BACKGROUND_COLOR":"Cor de fundo","BACKGROUND_BLUR":"Desfoque de fundo","SEEK_TIME_DURATION":"Duração do tempo de busca","AUTO_PLAY":"Reproduzir automaticamente o próximo episódio","PLAY_NOW":"Reproduzir agora","MARK_AS_WATCHED":"Marcar como assistido","MARK_AS_UNWATCHED":"Marcar como não assistido","REWIND_TO_BEGINNING":"Retornar ao início","CONTINUE_WATCHING":"Continuar assistindo","ALL":"Tudo","SECONDS":"segundos","ON":"ON","OFF":"OFF","RELOAD":"Recarregar","EDIT_URL":"Editar URL","URL":"URL","NONE":"Nenhum","EMBEDDED":"Embutido","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Trocar aparelhos","REMOTE_VIDEOS":"Vídeos","REMOTE_ADJUST_TIMING":"Ajustar o tempo","REMOTE_ADJUST_SIZE":"Ajustar o tamanho","REMOTE_COULD_NOT_BE_LOADED":"Web Remote não pôde ser carregado","REMOTE_RETRY":"Tentar novamente","TORRENT_PROFILE_DEFAULT":"Padrão","TORRENT_PROFILE_SOFT":"Suave","TORRENT_PROFILE_FAST":"Rápido","TORRENT_PROFILE_ULTRA_FAST":"Ultra Rápido","MB_S":"MB/s","FAQ_001_H1":"O que é Stremio?","FAQ_001_P1":"Stremio é um programa de mídia centralizada desenhada para video entretenimento com facilidade de uso em mente. Stremio permite a você organizar & assistir sua própria coleção de vídeos, séries, canais e Tvs ao Vivo.","FAQ_001_P2":"Stremio cataloga o conteúdo e apresenta pra você de seu disco local e de nosso sistema de Addons.","FAQ_001_P3":"Também irá notificá-lo quando novos episódios/vídeos/filmes que você estiver interessado sair, e mostrará recomendações de filmes para você.","FAQ_02_H1":"Como Stremio se compara ao Kodi e Plex?","FAQ_02_P1":"Nós nos inspiramos nos dois programas, mas temos diferentes objetivos - Stremio é especificamente voltado para vídeo entretenimento. Batalhamos para sermos a solução padrão para isso, tendo em foco a facilidade de uso.","FAQ_02_P2":"Stremio nunca será tão customizável e com ricos recursos como Kodi e Plex, mas sendo significativamente mais fácil de usar. Simplesmente ${1} pegue isso e veja ${2} :)","FAQ_03_H1":"Como Stremio se compara ao Netflix?","FAQ_03_P1":"Novamente, Netflix é uma de nossas inspirações. Trabalharemos arduamente para atingir a experiência de uso proporcionada pelo Netflix, e mais um porção de melhorias. No entanto, o mais importante, nós estamos dando a você a liberdade de gerenciar sua própria biblioteca e adicionar novas fontes de conteúdos com o nosso sistema de Addons.","FAQ_03_P2":"Isso faz do Stremio infinitamente extensível, e então quando você usá-lo, você nunca ficará limitado ao conteúdo que o Netflix decida licenciar. Por exemplo, através do Stremio você pode assistir conteúdo de ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} e mesmo ${9}Netflix${10}!","FAQ_04_H1":"Como Stremio se compara ao Flipboard?","FAQ_04_P1":"Raramente recebemos esta questão, exceto quando falamos com pessoas iniciantes :)","FAQ_04_P2":"Stremio é desenhado como um agregador de conteúdo, ao qual essencialmente Flipboard o faz para vídeo. Isso é muito parecido em nosso painel, ao qual da a você catálogos e notificações de novos episódios/novos vídeos que você segue, tal qual Flipboard.","FAQ_05_H1":"Como Stremio se compara ao Popcorn Time?","FAQ_05_P1":"Stremio e Popcorn Time são similares em interface de uso, porque não há muitas maneiras de fazer catálogo de vídeo entretenimento, certo? :)","FAQ_05_P2":"Mas enquanto o Popcorn Time tem o foco em entrega de torrents de fontes específicas, Stremio não possui restrição e é meramente um agregador de conteúdo - não é travado em uma fonte de conteúdo específica.","FAQ_05_P3":"Além disso, nós não provemos nenhum Addon para torrent por padrão, então Stremio não cobre o caso de uso do Popcorn Time na sua funcionalidade oficial.","FAQ_05_P4":"Uma outra diferença notável é que o Popcorn Time é completamente de código aberto, enquanto Stremio é ${1} parcialmente de código aberto ${2}.","FAQ_06_H1":"Vocês que adicionam estes filmes/séries?","FAQ_06_P1":"Não, desculpe :(","FAQ_06_P2":"Como já mencionamos em muitas outras questões, Stremio não provê nenhum conteúdo por si próprio - tudo é adicionado diretamente pelo sistema de Addons. Caso queira solicitar algum conteúdo, você pode usar o botão “Reporte” no reprodutor, ao qual irá enviar um email para o autor do Addon ao qual está usando.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Vocês criarão Addons para X?","FAQ_08_P1":"Isso é inteiramente possível.","FAQ_08_P2":"Se você tem uma ideia para um Addon, escreva para ${1}office@stremio.com${2}, mas por favor, tenha certeza de que a ideia desse Addon não irá infringir nenhum direito de propriedade intelectual ou termos de uso.","FAQ_08_P3":"No momento, os próximos movimentos em nosso projeto são Addons para FandangoNOW, vídeo sob demanda no Filmon.tv e Crunchyroll.","FAQ_09_H1":"Stremio usa BitTorrent?","FAQ_09_P1":"Sim. Stremio suporta BitTorrent como um protocolo streaming. Você pode usá-lo com a Addon torrent ou por arrastar e soltar um arquivo .torrent dentro do Stremio, ou mesmo colando um link magnético dentro do campo de busca.","FAQ_09_P2":"Por favor, note que único Addon oficial que usa BitTorrent é ${1}Vodo${2}, ao qual provê produção independente, todos permitidos para serem distribuídos com BitTorrent.","FAQ_09_P3":"Nós não suportamos o uso de qualquer Addon de terceiro ao qual pode viabilizar o infringimento de leis de direitos.","FAQ_10_H1":"O que posso assistir no Stremio com as Addons oficiais?","FAQ_10_P1":"Por padrão, você pode assistir conteúdo do Filmon.tv, YouTube e Vodo dentro do Stremio com o reprodutor interno. Adicionalmente nós temos um Addon para Twitch.tv e alguns outros.","FAQ_10_P2":"Este combinado provê uma seleção de:","FAQ_10_L1":"Canais de TV populares, provido por Filmon.tv - por exemplo E4, BBC, Bollyworld TV","FAQ_10_L2":"Tudo do YouTube - por exemplo BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Filmes independentes com Vodo","FAQ_10_L4":"Transmissão de jogos online com Twitch.tv","FAQ_10_P3":"Adicionalmente, há muitas fontes de conteúdo providas com Guidebox e Addons Netflix, ao qual <b>não</b> reproduzem inteiramente dentro do Stremio, mas pode redirecionar para o dado serviço. Por exemplo, o Addon Guidebox lhe dá uma seleção de filmes que você pode obter conteúdo streaming dentro dos Estados Unidos de graça de serviços como TubiTV e Crackle.","FAQ_11_H1":"Stremio não instala, o que devo fazer?","FAQ_11_P1":"Se você usa Windows, tente ${1}este instalador alternativo${2}.","FAQ_11_P2":"Pra quem usa Mac OS X, por favor esteja ciente que nós não suportamos versões inferiores a OS X Mavericks (10.9).","FAQ_11_P3":"Caso esteja usando Linux, fique avisado que nós damos suporte apenas para a versão 64 bits (x64) no momento.","FAQ_11_P4":"Se não ainda não conseguiu resolver seu problema, por favor nos mande uma mensagem no ${1}Grupo do Facebook${2}.","FAQ_12_H1":"Por que meu antivírus reclama? O Stremio é seguro?","FAQ_12_P1":"Nós lhe asseguramos que o Stremio é ${1}100% limpo${2}.","FAQ_12_P2":"Seu antivírus está reclamando porque nós incluímos propaganda em nosso instalador, e isso faz com que o Stremio seja classificado como um ad-ware.","FAQ_12_P3":"Se você não está seguro, você pode usar nosso ${1}instalador alternativo${2}.","FAQ_13_H1":"Como posso fazer um Addon?","FAQ_13_P1":"Para iniciantes, recomendados que leiam nosso ${1}módulo de sistema de Addon${2} no GitHub.","FAQ_13_P2":"Todavia, você pode seguir o ${1}Tutorial Olá Mundo${2}.","FAQ_13_P3":"Se você não tem nenhum conhecimento em programação, por favor poste sua ideia na ${1}comunidade Reddit${2} e nos contate com sua ideia de Addon no ${3}office@stremio.com${4}.","FAQ_14_H1":"Como as Addons são publicadas?","FAQ_14_P1":"Quando você cria um Addon e hospeda e coloca um campo <b>endpoint</b> no seu manifest, ao qual aponta para endereço de Addon ativo, o Addon irá automaticamente se auto-publicar em nosso ${1}Catálogo de Addons${2}.","FAQ_14_P2":"Isso acontece porque parte do servidor do módulo de Addon do Stremio automaticamente faz uma chamada para nossa API para publicar o Addon. Quando nossa API valida seu <b>endpoint</b> como um Addon válida, isso irá constar no catálogo.","FAQ_15_H1":"Eu posso executar o Stremio no navegador?","FAQ_15_P1":"No momento não, mas em breve !","FAQ_15_P2":"Se você está curioso para ver uma versão Alpha, você pode acessar aqui: ${1}alpha4.strem.io${2}. Tenha em mente que o streaming está desabilitado. Damos suporte para Chrome, Firefox, Opera e Edge.","FAQ_16_H1":"Transmissão para a TV não funciona / legendas não funcionam","FAQ_16_P1":"Transmissão para a TV usa a tecnologia DLNA que é muito inconsistente entre modelos de fabricantes diferentes. Por esta razão, nós não temos a habilidade de testar em cada caso, então estamos longe da perfeição. Estamos trabalhando em melhorar constantemente, mas nós não podemos lhe dar uma estimativa de tempo de quando a tecnologia DLNA funcionará corretamente em sua TV.","FAQ_16_P2":"Se você ainda não vê sua TV no menu de transmissão, por favor tente desabilitar sua conexão de rede e habilite novamente (no Windows, click com botão direito em Rede e click em Habilitar/Desabilitar), também reinicie seu roteador, TV e PC.","FAQ_16_P3":"Se você ainda está encontrando problemas, você pode nos ajudar enviando as informação de seu modelo de TV e fabricante para ${1}office@stremio.com${2}.","FAQ_16_P4":"Em quanto isso nós recomendamos o Chromecast, ao qual suportamos muito bem, ou simplesmente plugando sua TV no seu PC com um cabo HDMI.","FAQ_17_H1":"Stremio congela ou trava, o que posso fazer?","FAQ_17_P1":"Primeiro de tudo, se você está usando Windows 7 com o antivírus AVG: nós temos problema com essa combinação. O problema é o próprio AVG, e não há uma solução definitiva para corrigirmos isso. Infelizmente, exceções ou desabilitar o antivírus não funciona. A única maneira é trocar seu antivírus.","FAQ_17_P2":"Se isso não é o problema, mas você ainda usa Windows, por favor atualize seu o sistema incluindo os drivers da GPU, e tente novamente.","FAQ_17_P3":"Se o seu problema continua sem solução, ou utiliza Mac ou Linux, por favor nos escreva reportando em detalhes o problema em ${1}nosso grupo no Facebook${2}.","FAQ_18_H1":"Como posso fazer um Addon?","FAQ_18_P1":"Para iniciantes nós recomendamos que veja nosso ${1}módulo de sistema de Addon${2} no GitHub.","FAQ_18_P2":"No entanto, você pode seguir pelo nosso ${1}tutorial Olá Mundo!${2}.","FAQ_18_P3":"Se você não tem nenhuma habilidade em programação, por favor, poste sua ideia na ${1}comunidade do Reddit${2} e nos contate com sua ideia de Addon em ${3}office@stremio.com${4}.","FAQ_19_H1":"Por que o Stremio está ocupando espaço em disco?","FAQ_19_P1":"Stremio tem um <b>cache local</b> para temporariamente deixar os arquivos de vídeo descarregados.","FAQ_19_P2":"Isso tem dois benefícios: primeiro, permite ao Stremio pré carregar o vídeo para garantir uma transmissão suave. Segundo, isso deixa os vídeos no cache local para que você possa continuar assistindo off-line.","FAQ_19_P3":"Quanto o Stremio depende da configuração do <b>Cache</b> no painel de Configurações. Stremio pode manter uma quantidade (por exemplo, 2GB) no seu disco, a menos que o vídeo descarregado seja maior do que isso, caso em que deve haver espaço suficiente para mantê-lo enquanto o descarrega.","FAQ_20_H1":"Onde está a pasta do cache?","FAQ_20_P1":"No Windows, o cache do Stremio fica no drive ao qual você selecionou nas configurações (exemplo \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"No MacOS, fica localizado em \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"No Linux, fica localizado em \\"~/.stremio/stremio-cache\\" ou \\"~/stremio-cache\\"","FAQ_21_H1":"Eu recebi a mensagem de erro \\"Servidor de streming não encontrado\\", o que posso fazer?","FAQ_21_P1":"Se você recebeu esta mensagem, isso implica em uma das possibilidades:","FAQ_21_P2":"1) Você está tentando usar um Addon suportada pelo código do YouTube/BitTorrent, através de nossa ${1}versão web${2}. Nesse caso, você deve instalar nossa versão para desktop de ${3}nosso website${4}.","FAQ_21_P3":"2) Há algo de errado com a instalação do Stremio. Neste caso, tente reinstalar nossa versão mais recente ${1}do website${2}. Se isso não ajudar, tente desabilitar os programas de antivírus e firewall, reinicie seu PC e tente novamente. Se isso não funcionar, por favor nos contate pelo ${3}nosso grupo do Facebook${4}.","FAQ_22_H1":"Eu não posso ver/usar a maioria das Addons no iOS","FAQ_22_P1":"Devido as restrições nos termos e condições da loja da Apple, nós temos restringido somente aplicativos iOS de um grupo particular de Addons.","FAQ_22_P2":"Mas esteja avisado - haverão mais Addons para iOS no futuro, e nós poderemos também adicionar uma integração que permitirá o uso de todas Addons do Stremio graças a conexão do aplicativo iOS com o servidor de Streaming do Stremio."}')},42393:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filme","TYPE_series":"Série","TYPE_tv":"Canal de TV","TYPE_channel":"Canal","TYPE_other":"Outro","TYPE_movie_PL":"Filmes","TYPE_series_PL":"Séries","TYPE_tv_PL":"TV","TYPE_channel_PL":"YouTube","TYPE_other_PL":"Outros","TYPE_ALL":"Tudo","TYPE":"Tipo","CATALOG_com_linvo_cinemeta_top":"Populares","CATALOG_com_linvo_cinemeta_imdbRating":"Em destaque","CATALOG_com_linvo_cinemeta_year":"Novidades","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Filmes de domínio público","VIDEO":"Vídeos","BACK":"Voltar","MORE":"Mais","DONE":"Concluído","COPY":"Copiar","SUCCESS":"Com sucesso","ERROR":"Erro","SETTINGS_CASTING_MODE_PICKER":"Modo de casting","CASTING_MODE_HLSV2":"Predefinido","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Sem transcodificação","Discover":"Explorar","Board":"Painel","Library":"Biblioteca","My Library":"A minha biblioteca","Calendar":"Calendário","NOTIFICATION_ONLINE":"Estás online","NOTIFICATION_OFFLINE":"Estás offline","INTERNET_CONNECTION":"Ligação à Internet","STORAGE_FULL_TITLE":"Aviso: Armazenamento cheio!","STORAGE_FULL_TEXT":"Não será possível guardar as definições ou informações de conta. Considera fechar o Stremio e voltar a abrir, caso este erro persista, poderás ter de reinstalar o Stremio.","SEARCH":"Pesquisar","SEARCH_NO_RESULTS":"Não foram encontrados resultados","SEARCH_EXPLANATION_CONTENT":"Pesquisa por filmes, séries, canais YouTube e de TV","SEARCH_EXPLANATION_PEOPLE":"Pesquisa por atores, realizadores e argumentistas","SEARCH_PASTE_LINKS":"Colar links HTTP e Magnet","SEARCH_OR_PASTE_LINK":"Pesquisa ou cola o link","SEARCH_SUGGESTIONS":"Sugestões de pesquisa","ADD_TO_LIB":"Adicionar à biblioteca","REMOVE_FROM_LIB":"Remover da biblioteca","ADDED_TO_LIB":"Adicionado à biblioteca","REMOVED_FROM_LIB":"Removido da biblioteca","TRAILER":"Trailer","WATCH_TRAILER":"Ver trailer","WATCH_NOW":"Ver agora","SHOW":"Mostrar","SHOW_MOVIE":"Mostrar filme","WATCH_RANDOM":"Ver aleatório","IMDB_RATING":"Classificação IMDb","YEAR":"Ano","DIRECTOR":"Realizador","WRITER":"Argumentista","LEAD_ACTORS":"Elenco principal","CAST":"Elenco","CREW":"Equipa técnica","SHOW_MORE_CAST":"Mostrar mais »","AIRED":"Transmissão original","SEASONS":"Temporadas","GENRE":"Género","GENRE_ALL":"Todos os géneros","CATALOG":"Catálogo","SUMMARY":"Sinopse","SHOW_MORE":"Mostrar mais","SIMILAR":"Semelhante","UPCOMING":"Próximos","TBA":"TBA","ENDED":"Finalizados","DURATION":"Duração","FEATURED":"Destaque","METADATA":"Metadados","CATEGORY":"categoria","LINKS_GENRES":"Géneros","LINKS_CAST":"Elenco","LINKS_DIRECTORS":"Realizadores","SEARCH_VIDEOS":"pesquisar vídeos","SEARCH_PLACEHOLDER":"pesquisar ou colar link","ADDON":"Addon","ADDONS":"Addons","OFFICIAL":"oficial","ADDONS_OFFICIAL":"Addons oficiais do Stremio","ADDONS_POPULAR":"Populares na tua área","ADDON_FREE":"gratuito","ADDON_PEERED":"partilhado","ADDON_SUBSCRIPTION":"subscrição","ADDON_STREAM_GEORESTRICTED":"indisponível no teu país","ADDON_STREAM_OFFLINECACHE":"Cache offline","ADDON_STREAM_LOCALFILE":"Ficheiro local","SHARE_ADDON":"Partilhar addon","AVAILABLE_STREAMS":"Streams disponíveis","NO_STREAM":"Nenhuma stream disponível","ALL_ADDONS":"Tudo","INSTALL_MORE_ADDONS":"Para mais streams, por favor, instala mais addons","STREAM_NOT_SUPPORTED":"A stream escolhida não é suportada nesta plataforma.","ADDON_CATALOGUE":"Mostrar todos os addons »","ADDON_CATALOGUE_MORE":"Instalar addons »","REPO_ADDED":"Repositório adicionado","ADDON_REPO_EXIST_ERR":"Esta coleção de addons já existe","ADDON_REPO_ERR":"Ocorreu um erro ao adicionar a coleção","ADDON_ADD_ERR":"Ocorreu um erro ao adicionar o addon","ERR_ADDON_PROTECTED":"Não é possível desinstalar o addon, é protegido","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Ocorreu um erro - a autenticação falhou.","ERR_NOT_COLLECTION_URL":"Não é um link de coleção","ERR_NOT_ADDON_URL":"Não é um link de addon válido","ERR_DETECTFROMURL":"Não foi possível detetar o addon pelo link","ADDON_DUPLICATE_WARNING":"Aviso: addon duplicado","ADDON_COLLECTION_SET_FAILED":"A sincronização dos addons instalados para a tua conta falhou","SETTINGS_DATA_EXPORT":"Exportar dados","ADDON_PULL_FAILED":"A sincronização dos addons instalados a partir da tua conta falhou","REFRESH_ON_CLICK":"Clica para tentar novamente","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Filme ainda nos cinemas","WATCH_IN_CINEMA":"Vê-o no cinema mais perto de ti","IN_THEATER":"Nos cinemas","GET_TICKETS":"Obter bilhetes","UPCOMING_EPISODE":"Próximo episódio","UPCOMING_EPISODE_MESSAGE":"Este episódio estará disponível brevemente","MISSING_DATE_EPISODE":"Data do episódio em falta","MISSING_DATE_EPISODE_MESSAGE":"Este episódio ainda não foi transmitido","CHANNEL_NOT_SCRAPED":"Este canal não está disponível.<br>Volta a tentar dentro de minutos.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Adiciona à biblioteca para receberes notificações quando estiver disponível.","GET_NOTIFIED_WHEN_AVAILABLE":"Serás notificado quando estiver disponível.","WARNING_STREAMING_SERVER":"Atenção: o servidor de transmissão local não foi encontrado. A transmissão através do YouTube e BitTorrent não estará disponível.","WARNING_STREAMING_SERVER_DISMISS":"Dispensar","WARNING_STREAMING_SERVER_LATER":"Mais tarde","DECODER_WARNING":"Atenção: provavelmente este vídeo não é compatível com o teu hardware. Tem em conta de que a reprodução poderá ser lenta.","GENERIC_ERROR_MESSAGE":"Alguma coisa correu mal!","TRY_AGAIN":"Tentar novamente","CLEAR_DATA":"Limpar dados","PLAYER_ERROR":"Ups, ocorreu um erro na reprodução","PLAYER_ERROR_LOOKSLIKE":"Isto parece ser","PLAYER_ORIENTATION":"Orientação da reprodução","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Bloqueado","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Reprodução bloqueada no modo paisagem","PLAYER_ORIENTATION_SENSOR":"Reprodução automática (sensor)","PLAYER_PLAYBACK_SPEED":"Velocidade de reprodução","PLAYER_PLAYBACK_ERROR":"Erro de reprodução, tente novamente","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Erro desconhecido","PLAYER_PLAYBACK_ERROR_DEFAULT":"Pedimos desculpa, este vídeo não pode ser transmitido por {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Idioma das legendas","PLAYER_SUBTITLES_VARIANTS":"Variantes das legendas","PLAYER_SUBTITLES_SETTINGS":"Definições das legendas","PLAYER_SUBTITLES_DISABLED":"As legendas estão desativadas","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Posição vertical","PLAYER_SUBTITLES_LOADED":"Legendas carregadas","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Legendas incorporadas carregadas","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Legendas exclusivas carregadas","PLAYER_SUBTITLES_LOADED_LOCAL":"Legendas locais carregadas","PLAYER_SUBTITLES_LOADED_ORIGIN":"Legendas de {{origin}} carregadas","PLAYER_PLAY":"Reproduzir","PLAYER_PAUSE":"Colocar em pausa","PLAYER_NEXT_VIDEO":"Próximo vídeo","PLAYER_MUTE":"Silenciar","PLAYER_UNMUTE":"Ativar som","PLAYER_OPEN_IN_EXTERNAL":"Abrir num leitor externo","PLAYER_OPEN_IN_NPLAYER":"Abrir no nPlayer","PLAYER_PLAY_IN":"Reproduzir no {{device}}","PLAYER_LIVE":"Direto","PLAYER_NEXT_VIDEO_TITLE":"Próximo","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Próximo","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Fechar","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Ver agora","PLAYER_COPY_STREAM_SUCCESS":"O link da stream foi copiado para a tua área de transferência","PLAYER_COPY_STREAM_ERROR":"Falha ao copiar o link da stream","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"O link de transferência foi copiado para a tua área de transferência","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Falha ao copiar o link de transferência","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"A transmitir de","CASTING_TO":"A transmitir para","NETWORK_STATUS":"Estado da rede","STREAM_SPEED":"Velocidade de receção:","STREAM_BUFFERED":"Carregado:","PEERS_INFO":"Informação dos pares","PEERS_ACTIVE":"Ativo:","PEERS_CONNECTED":"Ligado:","PEERS_WAITING":"À espera:","TRANSCODING_WARNING":"Atenção: a transcodificar vídeo.","STREAM_LOADING":"a carregar...","PLAYING_LOCAL":"a reproduzir a partir de um ficheiro local","PLAYING_CACHE":"a reproduzir a partir da cache","WRONG_SUBS":"Legendas incorretas","ERR_SUBS_LOADING_TITLE":"Erro ao carregar as legendas","ERR_SUBS_LOADING":"Não foi possível carregar as legendas, poderá haver um erro no addon que estás a utilizar ou com a tua ligação à Internet","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Não foi possível carregar as seguintes legendas","ERR_CASTING_UPDATE_TITLE":"Não foi possível atualizar as informações do dispositivo de transmissão: o servidor de transmissão pode estar offline","CHOOSE_DEVICE":"Escolhe um dispositivo para transmitir","NO_CAST_DEVICES":"Sem dispositivos de transmissão disponíveis.","NO_SETTINGS":"Não há definições disponíveis.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telemóvel / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Legendas","SUBTITLES_CHANGE":"Alterar legendas para ","SUBTITLES_CHANGE_NONE":"Desculpa, mas não existe mais legendas para este idioma","SUBTITLES_CHANGE_ACIVE":"As legendas #{{subtitlesDialog.activeIdx + 1}} estão ativas. Clica em \\"Continuar\\" para ativar as legendas #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternativamente,","SUBTITLES_ADJUST_DELAY":"Ajusta o atraso das legendas:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Ou utiliza as teclas <span>G</span> / <span>H</span> para ajustar os tempos.","SUBTITLES_ADJUST_DELAY_TIP":"Dica: Podes utilizar as teclas <span>G</span> / <span>H</span> durante a reprodução para ajustar.","SUBTITLES_DELAY":"Atraso de legendas:","SUBTITLES_LOADING":"A carregar as legendas...","SUBTITLES_UNAVAILABLE":"Não há legendas externas disponíveis","SUBTITLES_DISABLED":"Desativado","EXTERNAL_PLAYER_DISABLED":"Desativado","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permitir a escolha","EXTERNAL_PLAYER_HINT":"Dica: Existe uma definição que permite abrir sempre com um leitor externo","DONT_SHOW_AGAIN":"Não mostrar novamente","SERVICE_INSTALL":"Instalar","AUDIO":"Áudio","DEFAULT_LANGUAGE":"Idioma predefinido","DEFAULT_SECONDARY_LANGUAGE":"Idioma secundário predefinido","SEASON":"Temporada","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episódio","EPISODE_ABBREVIATION":"EP","SPECIAL":"Especiais","SORT":"Ordenar","SORT_BY":"Ordenar por","FILTER":"Filtro","SORT_TRENDING":"Tendências","SORT_RECENT":"Recentes","SORT_ALPHABET":"A-Z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"Classificação","SORT_WATCHED":"Vistos","SORT_YEAR":"Ano","SELECT":"Select","SELECT_TYPE":"Selecionar tipo","SELECT_SORT":"Selecionar ordem","SELECT_CATALOG":"Selecionar catálogo","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Selecionar género","SORT_LASTWATCHED":"Últimos vistos","SORT_NAME":"Ordem alfabética","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Número de vezes que foi visto","SORT_NOTWATCHED":"não visto","New for You":"Novo para ti","New Episodes":"Novos episódios","New Videos":"Novos vídeos","Recommendations":"Recomendações","LIBRARY_RESUME":"Retomar","LIBRARY_PLAY":"Reproduzir","LIBRARY_DETAILS":"Detalhes","LIBRARY_RESUME_DISMISS":"Fechar","LIBRARY_CLEAR_PROGRESS":"Limpar progresso","LIBRARY_REMOVE":"Remover","LIBRARY_NOT_LOGGED_IN":"A biblioteca apenas está disponível para utilizadores com a sessão iniciada","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"O calendário apenas está disponível para utilizadores com a sessão iniciada","NOT_LOGGED_IN_CLOUD":"Acede aos teus filmes e séries favoritas a qualquer altura, em qualquer lugar","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomendações adaptadas ao teu histórico de visualizações","NOT_LOGGED_IN_NOTIFICATIONS":"Nunca percas um episódio outra vez","NOT_LOGGED_IN_CALENDAR":"Programa o teu calendário de visualizações pessoal","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Em destaque","DISCOVER_TOP":"Populares","DISCOVER_OSCAR":"Vencedores de Óscares","DISCOVER_WARNING_TITLE":"Ups!","DISCOVER_EMPTY_CATALOG":"Este addon não possui conteúdo.","DISCOVER_ADULT_WARNING":"Este conteúdo é apenas para adultos. Tens mais de 18 anos?","DISCOVER_NOADDON_WARNING":"Atenção: nenhum addon do Stremio ativo para este tipo. Ao exibir ficheiros guardados, nada será atualizado.","DISCOVER_LOAD_ERR":"Ocorreu um erro e não foi possível carregar o conteúdo.","DISCOVER_ADDON_UNINSTALLED":"Este conteúdo já não está disponível, poderás ter de reinstalar o addon.","UNINSTALL_THIS_ADDON":"Desinstalar este addon","ERR_ADDON_NOT_INSTALLED":"Este addon não está instalado. Instalar agora?","DETAIL_RECEIVE_NOTIF_SERIES":"Receber notificações de novos episódios.","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receber notificações de novos vídeos.","SIDEBAR_SHOW_STREAMS":"Mostrar streams","RELAUNCH":"Reiniciar agora!","UPGRADE":"Está disponível uma nova versão! Atualiza para a versão mais recente do Stremio","RELOAD_UI":"Recarregar interface","MANUAL_UPDATE_TITLE":"Atualiza para uma versão do Stremio mais recente.","MANUAL_UPDATE_LINE1":"Estás a utilizar uma versão do Stremio que se encontra desatualizada, é recomendável que atualizes para a versão mais recente.","MANUAL_UPDATE_LINE2":"Atualiza assim que for possível.","BUTTON_UPDATE_LATTER":"Agora não","BUTTON_UPDATE_NOW":"Atualizar","UPDATER_TITLE":"Está disponível uma nova versão do Stremio","UPDATER_INSTALL_BUTTON":"Instalar agora","ANONYMOUS_USER":"Utilizador anónimo","DONT_HAVE_ACC":"Não tens uma conta?","HAVE_ACC":"Já tens conta?","PASSWORD":"Palavra-passe","PASSWORD_CONFIRM":"Confirmar palavra-passe","EMAIL":"E-mail","FB_LOGIN":"Iniciar sessão com o Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nada é partilhado sem a tua permissão","FB_NOPOST":"Não publicaremos nada na tua cronologia","OR":"ou","I_ACCEPT":"Aceito os","I_ACCEPT_BY_CLICKING":"Ao clicar no botão acima certifico-me de que aceito os ","TOS":"Termos e condições","MUST_ACCEPT_TERMS":"Deves aceitar os Termos e condições","PASSWORDS_NOMATCH":"As palavras-passe não coincidem","SIGN_UP":"Registar","SIGN_UP_EMAIL":"Regista-te com um e-mail","CLICK_TO_SIGN_UP":"Clica aqui para te registares.","LOG_IN":"Iniciar sessão","LOG_OUT":"Terminar sessão","EXIT_FULLSCREEN":"Sair do modo de ecrã inteiro","ENTER_FULLSCREEN":"Abrir em modo de ecrã inteiro","PLAY_URL_MAGNET_LINK":"Abrir URL/Magnet link","HELP_FEEDBACK":"Ajuda e feedback","TERMS_OF_SERVICE":"Termos de utilização","PRIVACY_POLICY":"Política de privacidade","ABOUT_STREMIO":"Sobre o Stremio","USER_PANEL":"Painel do utilizador","LOGIN_LABEL":"Iniciar sessão","GUEST_LOGIN":"Iniciar sessão como convidado","GUEST_LOGIN_NOTICE":"Não recomendamos que inicies sessão como convidado. Regista-te para que o Stremio sincronize a tua biblioteca e te mostre notificações das tuas séries/canais. Tens a certeza de que queres continuar?","GUEST_LOGIN_NOTICE_2":"Não recomendamos que inicies sessão como convidado - não vais ter acesso à tua biblioteca nem às notificações do painel, sendo estas funcionalidades vitais do Stremio. Tens a certeza de que queres continuar?","CLICK_HERE":"Clica aqui","WRONG_PASSWORD":"Palavra-passe incorreta. Caso te tenhas esquecido da tua palavra-passe, ","SET_A_PASS":"Introduz uma nova palavra-passe","RESET_PASSWORD":"Redefinir palavra-passe","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Esqueceste-te da tua palavra-passe?","EMAIL_USED_WITH_FB":"Este e-mail foi utilizado com uma sessão do Facebook.","INVALID_EMAIL":"Introduzir um e-mail válido","INVALID_PASSWORD":"Introduzir uma palavra-passe válida","CONN_ERR":"Erro de ligação - Por favor, tenta novamente mais tarde.\\n\\nSe o problema persistir, desativa ou configura a tua firewall e/ou o teu anti-vírus (principalmente o Bitdefender).","IMPORT_FROM_GUEST":"Importar biblioteca a partir da conta de convidado","RECEIVE_UPDATES_EMAIL":"Receber notificações do Stremio por e-mail","LOGIN_FAILED":"O início de sessão falhou.","SIGNUP_FAILED":"O registo falhou.","SEARCH_FAILED":"A pesquisa falhou","EMAIL_USED":"Este e-mail já está a ser utilizado.","WAITING_FB_LOGIN":"Iniciar sessão com o Facebook...","EXTERNAL_OPENING_YOUTUBE":"Estás a sair do Stremio e a abrir o YouTube. Tens a certeza?","EXTERNAL_OPENING_APP":"Estás a sair do Stremio para abrires outra app. Tens a certeza?","EXTERNAL_PLAYER_TITLE":"Abrir com um leitor de vídeo externo","EXTERNAL_REMEMBER_PLAYER":"Relembrar a tua escolha?","EXTERNAL_ALWAYS_PLAY":"Sim","EXTERNAL_ONLY_ONCE":"Não","BEST_FIT":"Melhor ajuste","FIT_SCREEN":"Ajustar ao ecrã","FILL":"Ajustar","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Diz-nos do que gostas","INTRO_TASTE_LONG":"Conta-nos sobre o que gostas de ver","INTRO_TASTE_PICK":"Seleciona {{interestsRemaining}} dos teus interesses","INTRO_TASTE_PICK_MORE":"Seleciona mais {{interestsRemaining}} dos teus interesses","INTRO_TASTE_HELP_US":"Ajuda-nos a saber mais sobre ti.","INTRO_TASTE_CHOOSE_THESE":"Escolhe alguns destes:","INTRO_TASTE_CHOOSE_MIN":"Escolhe pelo menos 3 categorias","INTRO_TASTE_CHOOSE_MIN_ERR":"Tens de escolher pelo menos 3 categorias!","INTRO_TASTE_LIFESTYLE":"Estilo de vida","INTRO_TASTE_SPORTS":"Desporto","INTRO_TASTE_FOOD_HEALTH":"Gastronomia e saúde","INTRO_TASTE_BEAUTY_FASHION":"Moda e beleza","INTRO_TASTE_NEWS":"Notícias","INTRO_TASTE_GAMING":"Videojogos","INTRO_TASTE_SCIENCE_EDU":"Ciência e educação","INTRO_TASTE_MUSIC":"Música","INTRO_TASTE_TRAVEL":"Viagens","INTRO_TASTE_LATE_NIGHT":"Late night show","INTRO_TASTE_REALITY":"Reality show","INTRO_TASTE_COMEDY":"Comédia","INTRO_TASTE_DIY":"Faz tu mesmo","INTRO_TASTE_TECH":"Tecnologia","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"O addon selecionado não é suportado nesta plataforma.","ADDON_DISCLAIMER":"Ao utilizares um addon de terceiros estarás sujeito à tua responsabilidade e às leis do governo onde estás localizado.","ADDON_ACTIVATE":"Ativar este addon?","ADDON_REPO_ADD":"URL do repositório do addon","ADDON_ADD":"Adicionar","INSTALL_ADDON":"Instalar addon","ADD_ADDON":"Adicionar addon","ADD_ADDON_DESCRIPTION":"Podes adicionar um addon através de um link externo, que aparecerá nos Addons instalados.","PASTE_ADDON_URL":"Colar URL do addon","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Novidades","BUTTON_CONTINUE":"Continuar","BUTTON_ACTIVATE":"Ativar","BUTTON_ACTIVATED":"Ativo","BUTTON_CANCEL":"Cancelar","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submeter","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Fechar tudo","BUTTON_VIEW_ALL":"Ver tudo","BUTTON_SEE_ALL":"Ver tudo","BUTTON_COLOR_TRANSPARENT":"Transparente","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Abrir no navegador","LIB_EMPTY":"A tua biblioteca está vazia. Descobre o quão útil pode ser :) ","HOW_START":"Aqui está como podes começar:","LIB_EMPTY_CAL":"O teu calendário mostra as séries da biblioteca.","HOW_START_CAL":"Aqui está como podes adicionar uma série:","LIB_EMPTY_BOARD":"O painel mostra notificações e recomendações relacionadas com a tua biblioteca.","HOW_START_BOARD_WAIT":"Por favor, adiciona algumas séries ou canais à tua biblioteca e dá-nos uns instantes para as processar :)","HOW_START_BOARD":"Aqui está como podes adicionar séries e filmes:","IMPORT_FB":"Importar coisas de que gostas do <span>Facebook</span>","IMPORT_TRAKT":"Importar a tua biblioteca do <span>Trakt</span>","IMPORT_DISCOVER":"Encontra coisas interessantes em <span>Explorar</span>","IMPORT_DISK":"Importar filmes ou séries que\\ntenhas no <span>disco local</span>","PLEASE_CREATE_ACC":"Por favor, <u>cria uma conta</u> para ativar a sincronização da biblioteca e do painel.","IMPORT_DISCOVER_SIGNUP":"Regista-te e encontra coisas interessantes em <span>Explorar</span>","IMPORT_DISK_SIGNUP":"Regista-te e importa filmes ou programas que tenhas no <span>disco local</span>","LIB_EMPTY_CLOUD":"Biblioteca na nuvem","LIB_EMPTY_CLOUD_DESC":"A biblioteca pessoal na nuvem sincroniza todos os teus dispositivos","LIB_EMPTY_EARLY":"Chegaste demasiado cedo","LIB_EMPTY_EARLY_DESC":"Receber notificações quando existirem episódios disponíveis","LIB_EMPTY_PERSONAL":"Privado","LIB_EMPTY_PERSONAL_DESC":"Receber recomendações pessoais","LIB_EMPTY_CALENDAR_DESC":"Agenda no teu calendário pessoal de visualização","LIB_EMPTY_ALL":"Inicia sessão para obteres tudo isto:","LIB_EMPTY_BEST":"Inicia sessão para obteres o melhor do Stremio","LIB_EMPTY_OTHER":"Inicia sessão para ativares o calendário e outras funcionalidades incríveis","CALENDAR_ADDED":"O calendário do Stremio foi adicionado ao calendário do teu computador.","CALENDAR_ADDED_MSG":"Se isto não funcionar, adiciona manualmente este link ao calendário","TRAKT_EXPIRED":"A autenticação do Trakt expirou. Acede às Definições e volta a autenticar-te","TRAKT_REQUIRES_LOGIN":"Erro do Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Precisas de iniciar sessão","TRAKT_IMPORT_WATCHED":"Importar","THEME":"Tema","THEME_DEFAULT":"Predefinido","THEME_ADAPTIVE":"Adaptativo","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Definições","SETTINGS_NAV_GENERAL":"Geral","SETTINGS_NAV_PLAYER":"Leitor","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Atalhos","SETTINGS_SHORTCUT_RELOAD_APP":"Recarregar app","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Abrir definições","SETTINGS_SHORTCUT_SWITCH_TABS":"Alternar separadores","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Avançar no ciclo de separadores","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Voltar atrás no ciclo de separadores","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navega entre menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Ir para a pesquisa","SETTINGS_SHORTCUT_EXIT_BACK":"Sair / Voltar atrás","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Alternar menu de velocidade de reprodução","SETTINGS_SHORTCUT_MENU_VIDEOS":"Alternar menu de vídeos","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Alternar menu das legendas","SETTINGS_SHORTCUT_MENU_AUDIO":"Alternar menu do áudio","SETTINGS_SHORTCUT_MENU_INFO":"Alternar menu das informações","SETTINGS_SHORTCUT_FULLSCREEN":"Entrar / Sair do modo de ecrã inteiro","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Mostrar controlos","SETTINGS_SHORTCUT_PLAY_PAUSE":"Reproduzir / Colocar em pausa","SETTINGS_SHORTCUT_VOLUME_UP":"Aumentar o volume","SETTINGS_SHORTCUT_VOLUME_DOWN":"Diminuir o volume","SETTINGS_SHORTCUT_SEEK_NEXT":"Avançar na reprodução","SETTINGS_SHORTCUT_SEEK_PREV":"Recuar na reprodução","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Retroceder","SETTINGS_SHORTCUT_SEEK_FORWARD":"Avançar","SETTINGS_SHORTCUT_PLAY_NEXT":"Reproduzir próximo","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Aumentar o tamanho das legendas","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Diminuir o tamanho das legendas","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Aumentar o atraso das legendas","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Diminuir o atraso das legendas","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Mostrar / Ocultar barra lateral","SETTINGS_SHORTCUT_OR":"ou","SETTINGS_SHORTCUT_TO":"para","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Espaço","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autenticar-me","SETTINGS_FACEBOOK_IMPORT":"Importar","SETTINGS_CALENDAR_SUBSCRIBE":"Subscrever","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"A aplicação de calendário foi aberta. Por favor, subscreve o calendário manualmente.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"O ficheiro do calendário foi transferido. Por favor, importa-o para a tua aplicação de calendário.","SETTINGS_INTERFACE_LANGUAGE":"Idioma da interface","SETTINGS_LAUNCH_STARTUP":"Iniciar com o sistema","SETTINGS_VLC_DEFAULT":"Reproduzir com o VLC","SETTINGS_UI_LANGUAGE":"Idioma","SETTINGS_UI_ZOOM":"Zoom da interface","SETTINGS_FULLSCREEN_EXIT":"Clica em ESC para sair do ecrã inteiro","SETTINGS_GAMEPAD":"Ativar o suporte do comando de jogos (Gamepad)","SETTINGS_CLOSE_WINDOW":"Fechar o Stremio quando fechar a janela","SETTINGS_SUBTITLES_LANGUAGE":"Idioma predefinido das legendas","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Idioma das legendas secundário","SETTINGS_SUBTITLES_SIZE":"Tamanho predefinido das legendas","SETTINGS_SUBTITLES_BACKGROUND":"Fundo das legendas","SETTINGS_SUBTITLES_COLOR":"Cor das legendas","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Cor de contorno das legendas","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Cor de fundo das legendas","SETTINGS_SEEK_KEY":"As teclas de seta avançam / retrocedem no tempo","SETTINGS_SEEK_KEY_SHIFT":"As teclas de seta avançam / retrocedem no tempo quando a tecla Shift é pressionada","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Duração do retrocesso e do avanço rápido","SETTINGS_BINGE":"Reproduzir o próximo episódio automaticamente","SETTINGS_NEXT_VIDEO":"Mostrar uma notificação ao iniciar o próximo episódio.","SETTINGS_NEXT_VIDEO_TRIGGER":"Mostrar uma notificação ao iniciar o próximo episódio para:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Duração do pop-up do próximo vídeo","SETTINGS_PLAY_IN_BACKGROUND":"Reproduzir em plano de fundo","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Reproduzir num leitor externo","SETTINGS_RESIZE":"Redimensionar automaticamente a janela antes de reproduzir","SETTINGS_OVERRIDE_SERVER":"Substituir o URL do servidor de streaming (avançado)","SETTINGS_SERVER_ADD_URL":"Adicionar URL","SETTINGS_SERVER_URL":"URL do servidor de streaming: ","SETTINGS_SERVER_AVAILABLE":"O servidor de streaming está disponível.","SETTINGS_SERVER_UNAVAILABLE":"O servidor de streaming não está disponível.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Erro","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurar o URL do servidor de streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Introduz um URL de servidor de streaming","SETTINGS_SERVER_CACHE_SIZE":"Tamanho da cache","SETTINGS_SERVER_TORRENT_PROFILE":"Perfil do torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint de streaming HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Perfil de transcodificação","SETTINGS_USE_BETA":"Utilizar sempre a última versão Beta","SETTINGS_IMPORT_FB":"Importar do Facebook","SETTINGS_IMPORT_DISK":"Importar do disco local","SETTINGS_IMPORT_TRAKT":"Importar do Trakt","SETTINGS_PAUSE_MINIMIZED":"Colocar a reprodução em pausa quando minimizado","SETTINGS_HWDEC":"Transcodificação acelerada por hardware","SETTINGS_BACKGROUND":"Reprodução em segundo plano","SETTINGS_SUBSCRIBE_CALENDAR":"Subscrever calendário","SETTINGS_REQ_EXPORT":"Exportar dados","SETTINGS_ACC_DELETE":"Pedir a eliminação da conta","SETTINGS_CHANGE_PASSWORD":"Alterar palavra-passe","SETTINGS_TOS":"Termos de utilização","SETTINGS_SUPPORT":"Contactar o suporte","SETTING_LANGUAGE":"Idioma","SETTINGS_BLUR_UNWATCHED_IMAGE":"Desfocar a imagem de episódios não vistos","SETTINGS_QUIT_ON_CLOSE":"Sair ao fechar","SETTINGS_TRAKT":"Recomendações do Trakt","SETTINGS_TRAKT_RE_AUTH":"Re-autenticar","SETTINGS_TRAKT_LOGOUT":"Terminar sessão do Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Terminar sessão do Trakt","SETTINGS_SCAN_FOR_REMOTE":"Lê o código QR para abrir remotamente","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificações no computador","SETTINGS_DATA_SAVER":"Economizador de dados","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"Legendas predefinidas","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Selecionar automaticamente o ficheiro de áudio","SETTINGS_DEFAULT_AUDIO_TRACK":"Ficheiro de áudio predefinido","SETTINGS_SECONDARY_AUDIO_TRACK":"Faixa de áudio secundária","SETTINGS_SURROUND_SOUND":"Som surround","SETTINGS_ACCOUNT":"Conta","SETTINGS_PLATFORM":"Plataforma","SETTINGS_VERSION":"versão","SETTINGS_ABOUT":"Acerca de","SETTINGS_MPV_WINDOW":"Abrir leitor numa janela em separado (avançado)","SETTINGS_PLAY_IN_EXTERNAL":"Abrir sempre num leitor externo","SETTINGS_STORAGE_BUTTON":"Limpar armanezamento local","SETTINGS_STORAGE_MODAL_TITLE":"Tens a certeza?","SETTINGS_STORAGE_MODAL_MESSAGE":"Esta ação fará com que o armazenamento seja limpo e termine a tua sessão.","SETTINGS_HWDEC_PICKER":"Escolhe a configuração de decodificação acelerada por hardware","SETTINGS_HW_AUTOMATIC":"Automático","SETTINGS_HW_DISABLED":"Desativado","SETTINGS_HW_ACCELERATED":"Aceleração de decodificação","SETTINGS_HW_FULL":"Aceleração total","SETTINGS_HW_LEGACY":"Legado","SETTINGS_DISABLED":"Desativado","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notificação de ligação à Internet","SETTINGS_ANALYTICS":"Permitir analytics","SETTINGS_REMOTE_URL":"URL remoto","SETTINGS_COPY_REMOTE_URL":"Copiar URL remoto","SETTINGS_REMOTE_URL_COPIED":"URL remoto copiado para a tua área de transferência","SETTINGS_SECTION_SUBTITLES":"Legendas","SETTINGS_SECTION_AUDIO":"Áudio","SETTINGS_SECTION_CONTROLS":"Controlos","SETTINGS_SECTION_AUTO_PLAY":"Reprodução automática","SETTINGS_SECTION_ADVANCED":"Avançadas","SUBSPICKER_AUDIO":"Áudio","SUBSPICKER_SUBTITLES":"Legendas de addons","SUBSPICKER_BLACK_BACKGROUND":"Utilizar cor de fundo preta","SUBSPICKER_VERTICAL_OFFSET":"Compensação vertical","SUBSPICKER_SIZE":"Tamanho","SUBSPICKER_DELAY":"Atraso","SUBSPICKER_EMBEDDED_SUBS":"Legendas incorporadas","MOBILE_PRIVACY_POLICY":"Política de privacidade","MOBILE_CRASH_REPORTING":"Relatório de avarias","MOBILE_ZOOM_TO_FILL":"Zoom para preencher o ecrã","MOBILE_PASSTHROUGH":"Saída de áudio digital (passthrough)","MOBILE_RUN_LOW_BATTERY":"Executar com a bateria fraca","MOBILE_RUN_FOREGROUND":"Executar como serviço de primeiro plano","MOBILE_PERFORMANCE":"DESEMPENHO E ESTABILIDADE","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"O código QR expira em ","MOBILE_LOG_INTO":"Inicia sessão na tua conta Stremio ","MOBILE_SCAN_QR":"Lê o código QR acima ou vai a ","MOBILE_LINK_ACCOUNT":"Ligar conta","MOBILE_SPEEDPICKER_CANCEL":"Cancelar","MOBILE_SPEEDPICKER_LABEL":"Selecionar velocidade de reprodução","MOBILE_EMPTY_LIBRARY":"A tua biblioteca está vazia","MOBILE_NO_ADDON_ACTIVE":"Nenhum addon do Stremio ativo para este tipo.","MOBILE_ORGANIZER_WARNING":"A app Stremio Organizer dá-te apenas acesso a funcionalidades limitadas. Para uma lista de streams reproduzíveis e para teres a experiência Stremio completa, utiliza o Stremio no desktop.","MOBILE_ADDON_LOADING":"ainda está a carregar","MOBILE_ADDONS_LOADING":"os addons ainda estão a carregar","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configura o teu addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configurar addon","MOBILE_ORGANIZER_ADDONS_WARNING":"A app Stremio Organizer dá-te apenas acesso a uma seleção limitada de addons. Para teres a experiência Stremio completa, utiliza o Stremio no computador.","MOBILE_DISCONNECT":"Desligar","MOBILE_LOOKING_FOR_DEVICES":"À procura de dispositivos...","MOBILE_CAST_TO":"Transmitir para","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Eliminar conta","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"A eliminação da conta não é imediata devido a obrigações legais. Depois de pedires a eliminação da tua conta, terás de utilizar um endereço de e-mail/perfil do Facebook diferente para criares uma nova conta do Stremio no futuro.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmar a eliminação da conta","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"A tua conta foi criada através do Facebook. Para eliminares a tua conta, utiliza o nosso portal do utilizador em www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Por favor, introduz a tua palavra-passe para confirmar a eliminação da conta.","MOBILE_DELETE_ACCOUNT_BUTTON":"Eliminar conta","NAVIGATION_ON":"Ligado","NAVIGATION_OFF":"Desligado","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Concordo em receber comunicações de marketing do Stremio","QUIT":"Sair","CONNECTED":"Ligado","AUTHENTICATE":"Autenticar-me","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Seleciona a unidade para cache","ENABLE_LOCAL_FILES_ADDON":"Ativa o addon de ficheiros locais (requer reinicialização)","LOCAL_ADDON_NOT_ENABLED":"O addon local não está ativado. Clica aqui para ires às definições e ativá-lo","ENABLE_REMOTE_HTTPS_CONN":"Ativar conexões HTTPS remotas","TORRENT_PROFILE":"Perfis de torrents","DATA_CACHING":"Caching de dados","MAGNET_PARSING":"A analisar o magnet link","January":"janeiro","February":"fevereiro","March":"março","April":"abril","May":"maio","June":"junho","July":"julho","August":"agosto","September":"setembro","October":"outubro","November":"novembro","December":"dezembro","Monday":"segunda-feira","Tuesday":"terça-feira","Wednesday":"quarta-feira","Thursday":"quinta-feira","Friday":"sexta-feira","Saturday":"sábado","Sunday":"domingo","Action":"Ação","Comedy":"Comédia","War":"Guerra","Family":"Família","Animation":"Animação","Adventure":"Aventura","Fantasy":"Fantasia","Crime":"Crime","Mystery":"Mistério","Romance":"Romance","Drama":"Drama","Horror":"Terror","Thriller":"Thriller","Sci-Fi":"Ficção científica","Music":"Música","Biography":"Biografia","Documentary":"Documentário","Sport":"Desporto","Musical":"Musical","Western":"Western","Film-Noir":"Film-noir","News":"Notícias","History":"História","Game-Show":"Concursos","Reality-TV":"Reality show","Talk-Show":"Talk-show","Film & Entertainment":"Filmes e entretenimento","Gaming":"Videojogos","From TV":"Da TV","Lifestyle":"Estilo de vida","Science & Education":"Ciência e Educação","Cooking & Health":"Culinária e Saúde","Beauty & Fashion":"Beleza e Moda","Sports":"Desporto","News & Politics":"Notícias e política","How-to & DIY":"Faz por ti mesmo","Tech":"Tecnologia","Automotive":"Automobilismo","Causes & Non-Profits":"Causas e ações sem fins lucrativos","Movies":"Filmes","Uk Live Tv":"Reino Unido","Fashion":"Moda","Business News Radio":"Negócios (Rádio)","Business Tv":"Negócios","Cars & Auto":"Automobilismo","Comedy Radio":"Comédia (Rádio)","Lifestyle Radio":"Estilo de vida (Rádio)","News Tv":"Notícias","Food And Wine":"Gastronomia e vinicultura","Latino Tv":"Latino","Shopping Tv":"Compras","Religion":"Religião","Kids":"Infantil","Body & Soul":"Corpo e alma","Education":"Educação","Indian Tv":"Índia","Extreme Sports":"Desportos radicais","Middle Eastern Tv":"Médio Oriente","Celebrity Tv":"Celebridades","Science Tv":"Ciência","Bikini babe":"Biquíni","Outdoors":"Ar livre","German Tv":"Alemanha","French Tv":"França","Italian Tv":"Itália","Gamer Tv":"Videojogos","Travel":"Viagens","Asian Tv":"Ásia","Entertainment":"Entretenimento","News Radio":"Notícias (Rádio)","Music Radio":"Música (Rádio)","Language Learning":"Aprender idiomas","Science Radio":"Ciência (Rádio)","Tech Radio":"Tecnologia (Rádio)","Science & Technology Vod":"Ciências e Tecnologias (VOD)","new video":"novo vídeo","new episode":"novo episódio","new movie":"novo filme","recommended":"recomendado","we recommend":"recomendamos","offer of the day":"oferta do dia","news":"notícias","music video":"Videoclipe","CTX_SHOW_HOTKEYS":"Mostrar teclas de acesso rápido","CTX_DISMISS_NOTIF":"Descartar notificação","CTX_DISMISS_ALL":"Descartar todas","CTX_SHARE":"Partilhar","CTX_COPY_SHARE_LINK":"Copiar link de partilha","CTX_COPY_MAGNET_LINK":"Copiar o magnet link","CTX_COPY_STREAM_LINK":"Copiar link de transmissão","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copiar o link de transferência do vídeo","CTX_DOWNLOAD_VIDEO":"Transferir este vídeo","CTX_DOWNLOAD_SUBS":"Transferir as legendas","CTX_VIEW_ON_YOUTUBE":"Ver no YouTube","CTX_SHOW":"Mostrar","CTX_PLAY":"Reproduzir","CTX_PLAY_IN":"Reproduzir no","CTX_PLAY_ON":"Reproduzir no","CTX_WATCH_ON":"Ver em","CTX_WATCH":"Ver","CTX_WATCHED":"Visto","CTX_WATCH_BEGINNING":"Ver do início","CTX_WATCH_MOBILE":"Ver num dispositivo móvel","CTX_REWIND":"Retroceder para o início","CTX_MARK_WATCHED":"Marcar como visto","CTX_MARK_NON_WATCHED":"Marcar como não visto","CTX_MARK_UNWATCHED":"Marcar como não visto","CTX_MARK_REST":"Marcar o resto como visto.","CTX_UNMARK_REST":"Marcar o resto como não visto.","CTX_RECEIVE_NEW_NOTIF":"Receber novas notificações","CTX_ENABLE_NEW_NOTIF":"Ativar notificações","CTX_DISABLE_NEW_NOTIF":"Desativar notificações","CTX_REMOVE_CACHE":"Remover da cache","CTX_REMOVE_CACHE_EP":"Remover episódio da cache","CTX_OPEN_CONTAINING":"Abrir pasta com o conteúdo","CTX_REMOVE":"Remover da biblioteca","CTX_AVAILABLE_OFFLINE":"Disponível offline","CTX_PAUSED":"Em pausa","CTX_ALWAYS_ON_TOP":"Sempre visível","CTX_FULLSCREEN":"Ecrã inteiro","CTX_WRONG_SUBS":"Legendas incorretas?","CTX_REPORT_ISSUES":"Reportar problema","CTX_COPY":"Copiar","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Colar","CTX_CLEAR":"Limpar","CTX_CLEAR_RECENT_SEARCHES":"Limpar pesquisas recentes","HELLO_THERE":"Olá!","HOPE_YOU_ENJOY":"Esperamos que gostes do Stremio e que seja uma das tuas aplicações favoritas!","WHO_ARE_WE":"Quem somos? Somos a equipa por detrás do projeto - dois rapazes que trabalham arduamente todos os dias durante os últimos 3 anos para melhorar cada vez mais este produto.","SUPPORT_US":"Se gostas de utilizar o Stremio e se o mesmo é importante para ti - divulga-o!","SPREAD_THE_WORD":"Partilha com os teus amigos, divulga-o","MORE_PEOPLE":"Quanto mais pessoas utilizarem o Stremio, melhor se tornará!","SEND_A_LINK":"Ou envia um link para o nosso site","TIP_LOCALFILES":"Dica: podes arrastar e largar os teus vídeos no Stremio","ADDON_MY":"Os meus addons","ADDON_COMMUNITY":"Addons da comunidade","ADDON_OFFICIAL":"Addons oficiais","ADDON_REPOS":"Repositórios de addons","ADDON_SEARCH":"Pesquisar addons","ADDON_INSTALL":"Instalar","ADDON_CONFIGURE":"Configurar","ADDON_UNINSTALL":"Desinstalar","ADDON_UPGRADE":"Atualizar","ADDON_INSTALLED":"Instalados","ADDON_INSTALLED_MSG":"Addon instalado!","ADDON_UPGRADED_MSG":"Addon atualizado!","ADDON_UNKNOWN":"Desconhecido","ADDON_ERR":"Erro ao instalar o addon!","ADDON_DISCONNECTED":"Desconectado","ADDON_APP_MISSING":"a aplicação que suporta este tipo de letra não está instalada. Desejas instalá-la agora?","ADDON_APP_INSTALL":"Instalar agora","ADDON_PAGE":"Página do addon","ADDON_TOP_CONTENT":"O melhor deste addon","ADDON_PROVIDES":"Este addon dar-te-á:","ADDON_WATCH":"Ver #{types} agora!","ADDON_WATCH_FREE":"Ver #{types} GRATUITAMENTE agora!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Tipos suportados","ADDON_SUPPORTED_CATALOGS":"Catálogos suportados","ADDON_PROVIDES_DISCOVER":"Mais #{types} em Explorar","ADDON_PROVIDES_STREAMS":"Ver #{types}","ADDON_PROVIDES_STREAMS_FREE":"Ver #{types} GRATUITAMENTE","ADDON_PROVIDES_SUBTITLES":"Legendas para #{types}","ADDON_CANTDETECT":"Não foi possível encontrar o Stremio em execução, assim sendo, não é possível determinar os addons que tens instalados.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"O streaming de torrents não é suportado neste dispositivo devido às regras da App Store","ERR_NO_META":"Não encontrámos nenhuma informação sobre isto.","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Erro ao obter informação sobre isto.","ERR_CANT_PARSE_MAGNET":"Impossível analisar o magnet link","ERR_NO_MAGNET_INFOHASH":"Sem informação válida para este magnet link","ERR_NO_FILE_PATH":"Impossível enviar o pedido sem um caminho para o ficheiro","ERR_NO_TORRENT":"Nenhum torrent recebido","ERR_NO_SUPPORTERD_FILES":"Nenhum ficheiro suportado encontrado","ERR_OPENING_FILES":"Não foi possível abrir ficheiros externos.","ERR_INVALID_LINK":"Link inválido","ERR_REGISTERED_ONLY":"Esta opção está apenas disponível para utilizadores com sessão iniciada.","ERR_CLIPBOARD":"Não é possível reproduzir da área de transferência","ERR_CLIPBOARD_READ":"Não é possível ler a área de transferência nesta plataforma","ERR_CLIPBOARD_GENERIC":"Nenhum URL reproduzível encontrado na área de transferência. Por favor, copia um URL (ex.: magnet link) para um vídeo.","BOARD_CONTINUE_WATCHING":"Continuar a ver","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Os filmes escolhidos especialmente para ti.<br />Este filme é uma amostra de recomendação.","BOARD_EXPLANATION_EPISODES":"Os novos episódios das tuas séries favoritas aparecem aqui.<br />Adiciona as séries que segues à tua biblioteca.","BOARD_EXPLANATION_VIDEOS":"Os novos episódios dos teus canais favoritos aparecem aqui.<br />Adiciona os canais do YouTube que segues à tua biblioteca.","WEBSITE_ENJOYED_BY":"Desfrutado por mais de 30 milhões de utilizadores em todo o mundo","WEBSITE_STREAMING_ENHANCED":"Streaming melhorado","WEBSITE_STREAMING_ENHANCED_DETAILS":"O Stremio oferece uma experiência de entretenimento segura, moderna e perfeita. Com a sua interface fácil de utilizar e uma biblioteca de conteúdos diversificada, incluindo suporte para 4K HDR, os utilizadores podem desfrutar dos seus filmes e séries favoritas em todos os seus dispositivos. E com o seu compromisso com a segurança, o Stremio é a melhor escolha para uma experiência de transmissão de alta qualidade e sem preocupações.","WEBSITE_AVAILABLE_ON":"Disponível para","WEBSITE_WATCH_AND_ENJOY":"Vê e desfruta.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"O Stremio torna tudo muito fácil","WEBSITE_ALL_FEATURES":"Todas as funcionalidades","WEBSITE_EASY_TO_USE":"Fácil de utilizar","WEBSITE_EASY_TO_USE_DETAILS":"O Stremio foi concebido para ser intuitivo e fácil de utilizar. Com a sua interface limpa e intuitiva, podes navegar facilmente e encontrar o conteúdo que queres ver.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sem descontinuidades entre dispositivos","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponível para uma vasta gama de plataformas (incluindo Windows, Mac, Linux, Android e outras), o Stremio acompanha o teu progresso em todos os teus dispositivos. Basta iniciares sessão e continuares a ver sem teres de configurar novamente a aplicação em cada novo dispositivo.","WEBSITE_ALL_DOWNLOADS":"Todas as transferências","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Suporte para vídeo de alta definição","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Um leitor de vídeo integrado que suporta a maioria dos formatos de vídeo, incluindo conteúdo 4K HDR, permite-te desfrutar da melhor qualidade disponível.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Biblioteca de conteúdos diversificados","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"O Stremio integra-se com um grande número de fontes de vídeo populares, como Netflix, Amazon Prime Video, Hulu, YouTube e muitas outras.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Cria uma conta gratuita","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiência de visualização personalizada","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"O Stremio permite-te personalizar o aspeto da interface, alterando o tema, adicionando ou removendo addons e muito mais.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Suporte para legendas em vários idiomas","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Agora podes desfrutar de todos os teus conteúdos favoritos no teu idioma preferido, uma vez que o Stremio suporta legendas em todos os idiomas.","WEBSITE_ALL_STREMIO_FEATURES":"Todas as funcionalidades do Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Experimenta o Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Na tua TV agora","WEBSITE_YOU_CAN_NOW_WATCH":"Agora podes ver todas as tuas séries favoritas nos teus dispositivos Android TV. A aplicação Stremio TV permite-te desfrutar de uma noite de cinema com facilidade.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Agora podes ver todas as tuas séries favoritas na tua Smart TV ou Android TV. As aplicações Stremio TV permitem-te desfrutar de uma noite de cinema com facilidade.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio para Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Provavelmente a melhor e mais útil aplicação para teres no teu dispositivo. É uma das aplicações que utilizo diariamente, especialmente na minha Android TV, há já muitos anos. Bem feita, com uma comunidade forte a fornecer funcionalidades úteis. Muito bem feito. Mantém o bom trabalho.","WEBSITE_REVIEWS":"críticas","WEBSITE_GET_STREMIO_FOR_FREE":"Obtém o Stremio gratuitamente","WEBSITE_GET_STREMIO_NOW":"Obter o Stremio agora","WEBSITE_STREMIO_FEATURES":"Funcionalidades do Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Vê streaming como um profissional com as funcionalidades avançadas do Stremio e desfruta de um acesso sem falhas a todos os teus conteúdos multimédia favoritos","WEBSITE_DISCOVER_MORE":"Descobre mais.","WEBSITE_DISCOVER_MORE_DETAILS":"Nunca te faltam coisas para ver","WEBSITE_COMMUNITY_DRIVEN":"Orientado pela comunidade","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"O Stremio tem uma comunidade grande e ativa de utilizadores que contribuem para o desenvolvimento do software através da criação e partilha de addons.","WEBSITE_GET_INVOLVED":"Faz parte","WEBSITE_NEW_THEATER_EXPERIENCE":"Nova experiência cinematográfica","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"A nova aplicação de TV dedicada do Stremio permite-te desfrutar de uma noite de cinema nos teus dispositivos Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"As novas aplicações de TV dedicadas do Stremio permitem-te desfrutar de uma noite de cinema na tua Smart TV ou em dispositivos Android TV.","WEBSITE_FREE_AND_SECURE":"Grátis e seguro","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"O Stremio oferece segurança e privacidade inigualáveis aos utilizadores. Com a sua funcionalidade única de executar addons remotamente, o Stremio proporciona uma forma mais segura de transmitir os teus conteúdos favoritos em comparação com outras plataformas. A tua segurança e privacidade são as principais prioridades, e a plataforma garante que todos os teus dados estão protegidos.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Diz adeus às preocupações com a segurança e a privacidade e diz olá a um mundo de entretenimento sem fim com o Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informações fornecidas por","WEBSITE_CONTRIBUTE_DESC":"para o projeto e ajuda-nos a tornar o Stremio ainda melhor","WEBSITE_COMMUNITY_DESC":"Acreditamos que a melhor maneira de criar uma experiência de streaming verdadeiramente fantástica é envolver a nossa comunidade no processo. Quer sejas um programador, um artista ou apenas um fã - podes ajudar o Stremio a crescer.","WEBSITE_COMMUNITY_DESC_2":"Então, junta-te a nós hoje, faz parte da comunidade do Stremio e continua a moldar o futuro do streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Maneiras de participar","WEBSITE_IN_THE_STREMIO_COMMUNITY":"na comunidade do Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Partilha os teus pensamentos","WEBSITE_REPORT_BUGS":"Comunica erros","WEBSITE_SUGGEST_FEATURES":"sugere funcionalidades","WEBSITE_AND_PROVIDE_FEEDBACK":"e dá o teu feedback nas nossas redes sociais.","WEBSITE_BETA_TESTING_PROGRAM":"Programa de testes beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participa no nosso programa de testes beta (enviamos convites regularmente) na comunidade do Stremio.","WEBSITE_JOIN_NOW":"Junta-te agora!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunidades oficiais do Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunidades não oficiais do Stremio","WEBSITE_BECOME":"Torna-te","WEBSITE_A_VOLUNTEER_TRANSLATOR":"um tradutor voluntário","WEBSITE_ARE_YOU_A_DEVELOPER":"És um programador?","WEBSITE_CONTRIBUTE_CODE":"Podes contribuir com código para os nossos projetos de código aberto. Temos vários projetos no GitHub que estão à procura de colaboradores. Se estiveres interessado em ajudar, consulta-os:","WEBSITE_STREMIO_ON_GITHUB":"Stremio no GitHub","WEBSITE_CREATE_ADDON_DESC":"Cria um addon para melhorar as funcionalidades do Stremio (temos uma API fácil de utilizar):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Também te damos a oportunidade de te juntares a nós como programador estagiário para que possamos crescer juntos.","WEBSITE_APPLY_AS_AN_INTERN":"Candidata-te como estagiário","WEBSITE_CALLING_ALL_ARTISTS":"Convite a todos os artistas!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Mostra a tua criatividade e o teu amor pelo Stremio carregando a tua arte de fã na nossa galeria online. Quer se trate de um desenho, pintura ou design digital, queremos ver a tua visão única da marca Stremio. Junta-te à nossa comunidade de entusiastas da arte e partilha o teu trabalho com outros fãs do Stremio em todo o mundo.","WEBSITE_STREMIO_FANART_GALLERY":"Galeria de Fanart do Stremio","WEBSITE_INTERN_DESIGNER":"Faz parte da nossa equipa e leva a tua criatividade a novos patamares com as nossas excitantes oportunidades de estágio.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Projeto de filmes de domínio público","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"No Stremio, estamos empenhados em preservar a história do cinema e da televisão, identificando vídeos de domínio público e órfãos. Ao trabalharmos em conjunto com a nossa comunidade, podemos garantir que estas obras de arte clássicas estão acessíveis a todos e protegidas para serem desfrutadas pelas gerações futuras.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Não hesites em contactar-nos se quiseres participar nesse projeto.","WEBSITE_JOIN_THE_PROJECT":"Junta-te ao projeto","WEBSITE_BE_PART_OF_OUR_MISSION":"Faz parte da nossa missão","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Estás interessado em fazer parte da equipa do Stremio? Oferecemos trabalho totalmente remoto para profissionais apaixonados. Consulta as nossas vagas em aberto.","WEBSITE_OPEN_POSITIONS":"VAGAS EM ABERTO","WEBSITE_DESCRIPTION":"DESCRIÇÃO","WEBSITE_LEARN_MORE":"Saber mais","WEBSITE_COMPANY":"Empresa","WEBSITE_CONTACTS":"Contactos","WEBSITE_NEED_HELP":"Precisas de ajuda?","WEBSITE_STREMIO_WEB_ON_IOS":"Guia para o Stremio Web no iOS","WEBSITE_LINK_ART_V2":"Galeria de Fanart","WEBSITE_PARTNERS":"Parceiros","WEBSITE_SLOGAN_WATCH":"Vê instantaneamente","WEBSITE_SLOGAN_ALL":"Todo o conteúdo de vídeo de que gostas num só lugar","WEBSITE_SLOGAN_NEW":"Tudo o que podes ver","WEBSITE_SLOGAN_NEW_NEW":"Liberdade para fazeres streaming","WEBSITE_WATCH_FROM":"Ver a partir de","WEBSITE_DOWNLOAD":"Transferir","WEBSITE_DOWNLOAD_FOR":"Transferir para","WEBSITE_IS_DESKTOP":"O Stremio é uma aplicação desktop, abre esta página no teu computador e transfere-a","WEBSITE_DESKTOP_DEMO_VID":"Demonstração de ambiente de trabalho","WEBSITE_PAGE_HOME":"Início","WEBSITE_PAGE_FEATURES":"Funcionalidades","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Tecnologia","WEBSITE_PAGE_CREATE_ADDON":"Criar addon","WEBSITE_PAGE_CONTACTS":"Contactos","WEBSITE_PAGE_BLOG":"Blogue","WEBSITE_RESET_PASSWORD_MESSAGE":"Por favor, introduz a nova palavra-passe desejada abaixo.","WEBSITE_RESET_PASSWORD_WARNING":"Tens a certeza de que queres redefinir a palavra-passe de ${1}?","WEBSITE_TYPE_movie":"Filmes","WEBSITE_TYPE_series_PL":"Séries","WEBSITE_TYPE_tv":"TV em direto","WEBSITE_TYPE_channel":"Canais","WEBSITE_STREMIO_WHAT_IS":"O Stremio é uma aplicação que te ajuda a organizar e ver instantaneamente os teus vídeos, filmes, séries e canais favoritos.","WEBSITE_FEATURES_WATCH":"Vê instantaneamente em HD","WEBSITE_FEATURES_WATCH_DETAIL":"Clica e reproduz o teu conteúdo preferido, filmes, séries, vídeos e canais.","WEBSITE_FEATURES_SUBS":"Legendas automáticas","WEBSITE_FEATURES_SUBS_DETAIL":"O Stremio seleciona automaticamente as legendas sincronizadas para o teu idioma.","WEBSITE_FEATURES_SUBS_LABEL":"Agora é contigo, chefe.","WEBSITE_FEATURES_CAST":"Reproduz na TV e dispositivos móveis","WEBSITE_FEATURES_CAST_DETAIL":"Liga à Apple TV, Chromecast, Smart TV (DLNA/UPnP) e dispositivos móveis.","WEBSITE_LIB":"Desfruta da tua biblioteca pessoal sincronizada em todos os teus dispositivos","WEBSITE_LIB_COLLECT":"Recolher através do Stremio","WEBSITE_LIB_IMPORT":"Importar do Facebook","WEBSITE_LIB_LOCAL":"Adiciona a partir do teu disco local","WEBSITE_BOARD":"O painel - O teu sítio para notificações e recomendações","WEBSITE_BOARD_RECOMMEND":"Série recomendada","WEBSITE_BOARD_TRENDING":"Filme em destaque","WEBSITE_BOARD_NEW":"Novo vídeo","WEBSITE_BOARD_EPISODE":"Novo episódio","WEBSITE_BOARD_1":"Procuras algo interessante para ver? Recebe recomendações baseadas nos teus gostos!","WEBSITE_BOARD_2":"Recebe uma notificação quando um novo episódio da tua série preferida ou de um canal do YouTube é lançado!","WEBSITE_BOARD_YOUTUBE":"Novos vídeos de canais do YouTube","WEBSITE_BOARD_EPISODES":"Novos episódios das séries que segues","WEBSITE_ADDONS":"Conteúdo do addon","WEBSITE_TECH_DETAIL":"Adoramos tecnologia e ciência maluca!\\nO Stremio utiliza as seguintes tecnologias de código aberto:","WEBSITE_TECH_WCJS":"O WebChimera.js permite que o Stremio reproduza qualquer formato de vídeo com boa performance.","WEBSITE_TECH_WCJS_EXTRA":"Somos os colaboradores principais do projeto","WEBSITE_TECH_ELECTRON":"O Electron oferece uma plataforma inovadora para construir o Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Somos colaboradores do projeto","WEBSITE_TECH_LINVODB":"Uma tecnologia de base de dados que garante que os teus dados estão organizados e disponíveis em qualquer lugar.","WEBSITE_TECH_LINVODB_EXTRA":"Tecnologia interna","WEBSITE_CREATE_ADDON":"Cria o teu addon","WEBSITE_CREATE_ADDON_DETAIL":"Tens um serviço que fornece conteúdo de vídeo? Vamos ajudar-te a beneficiar das funcionalidades do Stremio ao criar o teu addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefícios da criação de um addon para o Stremio","WEBSITE_P2P_BEAUTY":"A beleza do Streaming Ponto-a-Ponto","WEBSITE_P2P_1":"Vídeo full HD / 4K on demand ou streaming fiável e acessível","WEBSITE_P2P_2":"Plataforma de distribuição que proporciona uma grande experiência ao utilizador","WEBSITE_P2P_3":"Criaremos um addon que corresponde exatamente às tuas necessidades","WEBSITE_P2P_CONTACT":"Interessado? Convidamos-te a <a href=\'mailto:office@stremio.com\'>nos contactares</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Ficaríamos felizes por te ajudar a integrar o teu contéudo com o Stremio!","WEBSITE_P2P":"De um momento para o outro, surge uma tecnologia que muda o sistema. Investimos muito tempo e esforço para construir o nosso motor de streaming de vídeo ponto-a-ponto que fornece grande performance e versatilidade para se adaptar a qualquer caso de utilização.\\nContacta-nos para gestão de direitos digitais de vídeo P2P on demand ou streaming.","WEBSITE_THOUGHTS":"Pensamentos que partilhamos:","WEBSITE_SPREAD":"Divulga o Stremio:","WEBSITE_CONTACT":"Contacta-nos, adoraríamos saber o que tens a dizer!","WEBSITE_OPENSOURCE":"Para os nosso projetos de código aberto, visita o nosso","WEBSITE_BITCOIN":"Doar Bitcoin:","WEBSITE_FAQ":"Perguntas frequentes","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Perguntas","WEBSITE_TOS":"Termos de utilização","WEBSITE_LEGAL":"Jurídico","WEBSITE_PAGE_ABOUT":"Acerca de","WEBSITE_PAGE_BECOME_PARTNER":"Torna-te um parceiro","WEBSITE_ALL_YOU_CAN_WATCH":"Liberdade para veres\\nTudo o que precisas.","WEBSITE_FREEDOM_TO_STREAM":"Liberdade para fazeres streaming","WEBSITE_WHAT_IS_STREMIO":"O que é o Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"O Stremio é uma plataforma única para agregação de conteúdo de vídeo. Descobre, organiza e vê vídeos de todos os tipos de fontes em qualquer dispositivo que tenhas.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmes, séries, programas de TV, TV em direto ou canais da web como YouTube e Twitch.tv - podes encontrar tudo isto no Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"O Stremio é uma central de multimédia moderna, uma solução integrada para todo o teu entretenimento em vídeo. Descobre, vê e organiza todo o conteúdo de vídeo a partir de addons fáceis de instalar.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmes, programas de TV, TV em direto ou canais da web - encontra tudo isto no Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Desfruta em todos os teus dispositivos multimédia","WEBSITE_DEVICES_COLLECT":"Recolhe através do Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importar do Facebook","WEBSITE_DEVICES_LOCAL":"Adicionar a partir do teu disco local","WEBSITE_JOIN_THE_PARTY_NOW":"Junta-te à festa agora","WEBSITE_DEVICES_ALL":"Fácil de utilizar em qualquer dispositivo;","WEBSITE_EXTENDABLE_CATALOG":"Catálogo de vídeo infinitamente extensível;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Ótimas funcionalidades para organizares o teu conteúdo multimédia;","WEBSITE_AS_SEEN_ON":"Visto(a) em","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Quem somos","WEBSITE_LINK_TECHNOLOGY":"Tecnologia","WEBSITE_LINK_APPS":"Aplicações","WEBSITE_LINK_DOWNLOADS":"Transferências","WEBSITE_MORE":"Mais","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribuir","WEBSITE_LINK_COMMUNITY":"Comunidade","WEBSITE_LINK_BLOG":"Blogue","WEBSITE_MORE_MORE":"... e mais","WEBSITE_LINK_HELP":"Centro de ajuda","WEBSITE_LINK_CONTACTS":"Contacta-nos","WEBSITE_LINK_TOS":"Termos e condições","WEBSITE_LINK_PRAVACY":"Política de privacidade","WEBSITE_SUBSCRIBE":"Subscrever","WEBSITE_NEWSLETTER":"Subreve a nossa newsletter para receberes as novidades","WEBSITE_PLACEHOLDER_EMAIL":"O teu e-mail","WEBSITE_COMMUNITY":"Comunidade","WEBSITE_LINK_PRAVACY_LEGAL":"Privacidade e jurídico","WEBSITE_WHY":"Porque o fazemos","WEBSITE_WHY_P1":"No Stremio, chegamos a trabalhar todos os dias quando queremos resolver um problema importante para o setor de vídeo on demand. Há tanto conteúdo novo publicado a cada minuto, que é virtualmente impossível encontrar o caminho menos árduo.","WEBSITE_WHY_P2":"Ajudamos as pessoas a navegar neste mundo imenso de entretenimento de vídeo e a descobrir novos conteúdos para apreciar. As nossas aplicações trazem consigo filmes, séries, TV em direto, canais da web e muito mais. Estamos focados em facilitar para que os nossos utilizadores possam encontrar facilmente os títulos e os canais que adoram.","WEBSITE_WHY_P3":"Podes utilizar o nosso serviço em qualquer dispositivo e a qualquer hora tornando o Stremio a única plataforma agregadora de entretenimento de vídeo de que precisarás.","WEBSITE_TEAM":"Equipa","WEBSITE_TEAM_P":"A equipa do Stremio é pequena, mas poderosa: entre nós dez, programamos em várias linguagens e partilhamos experiência em desenvolvimento de software, design da IU e UX, marketing e publicidade, negócios e startups.","WEBSITE_FEATURES":"Funcionalidades","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Descobre facilmente novos conteúdos","WEBSITE_FEATURES_DISCOVER_P":"Descobre facilmente novos filmes, séries, programas de TV e canais para ver. Navega por categoria, género, classificação, novidade, etc. ou escreve simplesmente um nome para encontrar. O Stremio encontrará facilmente todo o conteúdo de vídeo.","WEBSITE_FEATURES_ALL_CONTENT":"Todo o teu conteúdo de vídeo num ecrâ","WEBSITE_FEATURES_ALL_CONTENT_P1":"Vê que filmes, séries ou vídeos não terminaste e continua a vê-los(as). Sê notificado sobre novos episódios e lançamentos e navega pelas recomendações que obterás com base nos teus hábitos de visualização","WEBSITE_FEATURES_LIBRARY":"Organiza a tua biblioteca de vídeos","WEBSITE_FEATURES_LIBRARY_P1":"Adiciona qualquer título à tua biblioteca do Stremio com um único clique e encontra o teu conteúdo organizado por tipo, recência ou ordem alfabética","WEBSITE_FEATURES_CALENDAR":"Acompanha tudo o que viste","WEBSITE_FEATURES_CALENDAR_P1":"Vê o calendário de todos os filmes e séries que adicionaste à tua biblioteca e sabe também quando haverá um novo episódio ou estreia.","WEBSITE_FEATURES_BIG_SCREEN":"Aproveita o teu conteúdo de vídeo num ecrã maior ","WEBSITE_FEATURES_BIG_SCREEN_P1":"Reproduz o que estiveres a ver noutro dispositivo - utiliza o smartphone, tablet ou TV com um único clique","WEBSITE_FEATURES_SOURCES":"Vê o vídeo de várias fontes diferentes.","WEBSITE_FEATURES_SOURCES_P":"Instala os addons oficiais e da comunidade para aproveitares o vídeo fornecido por vários fornecedores diferentes - tudo numa aplicação elegante e fácil de utilizar.","WEBSITE_CREATE_AN_ADDON":"Cria um addon.","WEBSITE_FEATURES_SYNC":"Sincroniza a tua biblioteca entre diferentes dispositivos e continua a reprodução","WEBSITE_FEATURES_SYNC_P1":"Entra com a tua conta em todos os teus dispositivos e aproveita a tua biblioteca, addons, reprodução e calendário sincronizados.","WEBSITE_FEATURES_EXTENDABLE":"Catálogo de vídeo extensível por addons","WEBSITE_FEATURES_EXTENDABLE_P1":"O catálogo de addons do Stremio fornece vários complementos para instalares e veres uma variedade imensa de conteúdos de vídeo. Isto inclui filmes, programas, TV em direto, desportos, notícias, podcasts, canais da web, jogos e muito mais.","WEBSITE_FEATURES_AUTO_SUBS":"Legendas automáticas","WEBSITE_FEATURES_AUTO_SUBS_P1":"Com os nossos addons de legendas obtens automaticamente as opções selecionadas para o teu idioma preferido.","WEBSITE_FEATURES_CHROMECAST":"Transmitir para Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Desfruta do conteúdo de vídeo num ecrã maior ou transmite apenas o que estiveres a ver para outro dispositivo.","WEBSITE_FEATURES_KEEP_TRACK":"Acompanha os teus programas de TV e canais da Web favoritos ","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obtém uma visualização do calendário e notificações para novos episódios das tuas séries e canais da web favoritos.","WEBSITE_FEATURES_POWER_USER":"Funcionalidades avançadas para os utilizadores","WEBSITE_FEATURES_POWER_USER_P1":"Reproduz num leitor externo","WEBSITE_FEATURES_POWER_USER_P2":"Reproduz a partir de um ficheiro torrent ou magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Importa para a tua biblioteca a partir dos gostos do Facebook ou disco local","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"Todo o conteúdo de vídeo que o Stremio proporciona é proveniente de um sistema de addons - nenhum fornecedor de conteúdo ou conteúdo foi incorporado na aplicação.","WEBSITE_ADD_ONS_P2":"Existem dois grupos de addons disponíveis: oficiais e da comunidade.","WEBSITE_ADD_ONS_P3":"Os oficiais são desenvolvidas e hospedadas pelo Stremio enquanto que os addons da comunidade são criados por membros da nossa comunidade que também os hospedam.","WEBSITE_ADDONS_OFFICIAL":"Addons oficiais","WEBSITE_ADDONS_WATCHUB":"Transmite os teus filmes, séries e programas favoritos de serviços como iTunes, Hulu, Amazon e outros serviços do Reino Unido / EUA.","WEBSITE_ADDONS_YOUTUBE":"Vê os teus canais favoritos do YouTube livre de anúncios e recebe notificações de novos vídeos dos canais que segues.","WEBSITE_ADDONS_FILMON":"Vê TV em direto, filmes e canais interativos gratuitamente. 600 canais de TV, 45.000 filmes gratuitos, documentários e muito mais.","WEBSITE_ADDONS_OPENSUBTITLES":"Legendas de filmes e TV em vários idiomas. Milhares de legendas traduzidas e carregadas todos os dias.","WEBSITE_ADDONS_COMMUNITY":"Addons da comunidade","WEBSITE_ADDONS_FILMON_VOD":"Vê vídeos on demand do Filmon.tv","WEBSITE_ADDONS_TWICH":"Vê transmissões em direto da Twitch.tv - a plataforma de streaming de vídeo para a indústria de eSports.","WEBSITE_ADDONS_VODO":"Vê filmes independentes de forma totalmente gratuita.","WEBSITE_ADDONS_NETFLIX":"Vê filmes e séries da Netflix.","WEBSITE_ADDONS_CREATE":"Cria um addon.","WEBSITE_ADDONS_CREATE_P1":"Se desejares, podes desenvolver o teu próprio addon. Desta forma, podes proporcionar a ti mesmo e à nossa comunidade o acesso a novos conteúdos de vídeo e alcançar um novo público-alvo de milhões de utilizadores em todo o mundo.","WEBSITE_ADDONS_START_CREATE":"Para começares, visita a página do Kit de Desenvolvimento de Addons do Stremio:","WEBSITE_DOWNLOADS":"Transferências","WEBSITE_DOWNLOADS_P1":"Para um melhor desempenho, recomendamos que utilizes a versão mais recente disponível das aplicações Stremio. No entanto, se por algum motivo preferires utilizar uma versão mais antiga, podes descarregá-la aqui.","WEBSITE_DOWNLOADS_P1_SHORT":"Para um melhor desempenho, recomendamos que utilizes a última versão disponível das aplicações Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio para Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio para macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio para Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio para Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio para Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio para telemóveis Android","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio para Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio para iOS (versão limitada)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio para TV Samsung","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio para TV LG","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio para TV Sony (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio para TV Philips (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio para TV Philips","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio para TV Hisense","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio para Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio para Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio para Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio para Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio para Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch na Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio para o navegador","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Procura o Stremio na App Store dos modelos de TV Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Procura o Stremio na App Store dos modelos de TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Procura o Stremio na Play Store da TV Sony com Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Procura o Stremio na Play Store da TV Philips com Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Procura o Stremio na loja de apps da TV Philips com TitanOS (versão limitada)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Procura o Stremio na App Store do teu dispositivo Xbox","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guia para o Stremio OS na RPI","WEBSITE_LINK_GUIDE":"Guia","WEBSITE_DOWNLOAD_SERVICE":"Descarregar o Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"O Stremio Service é uma aplicação que acompanha o Stremio Web. Recomendamos a utilização da versão mais recente disponível do Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service para Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service para macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service para Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service para Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio para Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Mais opções de transferência","WEBSITE_DOWNLOAD_NEW":"Novidade!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Lançámos o Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Lançámos o Stremio para as TVs Samsung","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Lançámos o Stremio para as TVs LG","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Lançámos o Stremio para a Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Lançámos o Stremio para a Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Lançámos o Stremio 5 para o Windows","WEBSITE_CONTRIBUTE":"Colaborar","WEBSITE_CONTRIBUTE_P1":"A plataforma Stremio é de código aberto e podes criar facilmente um addon para o conteúdo que não é atualmente fornecido.","WEBSITE_CONTRIBUTE_WHY":"Porque deves criar um?","WEBSITE_CONTRIBUTE_WHY_P1":"Alcança um novo público para o conteúdo do teu vídeo","WEBSITE_CONTRIBUTE_WHY_P2":"A base de utilizadores do Stremio está a crescer rapidamente - no primeiro ano de lançamento o Stremio ganhou 1 milhão de utilizadores em todo o mundo e no segundo ano de existência da plataforma, este número cresceu para 2,5 milhões.","WEBSITE_CONTRIBUTE_WHY_P3":"Com o teu addon podes facilmente alcançar esta audiência e distribuir o teu conteúdo de vídeo para todos os utilizadores.","WEBSITE_CONTRIBUTE_ALL":"Vê os teus filmes, séries, vídeos e canais favoritos num único lugar.","WEBSITE_CONTRIBUTE_ALL_P1":"És fã de um tipo de conteúdo que ainda não está disponível no Stremio? Cria um addon para isso e desfruta ao ver os teus vídeos favoritos numa das maiores e mais fáceis plataformas de entretenimento e de se utilizar do mercado.","WEBSITE_CONTRIBUTE_ALL_P2":"Além disso, obterás a infinita gratidão de outros membros da comunidade Stremio com ideias semelhantes","WEBSITE_CONTRIBUTE_MONETIZE":"Monetiza o teu addon e ganha dinheiro com ele","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Uma vez que desenvolvas um novo addon para o Stremio, podes facilmente monetizá-lo de várias maneiras diferentes. Se estás a considerá-lo, sente-te à vontade para entrar em contacto connosco através do ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - ficaríamos felizes por te orientar e aconselhar neste processo sobre as opções de monetização do teu addon.","WEBSITE_CONTRIBUTE_TRANSLATE":"Torna-te num tradutor voluntário","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Se desejas aproveitar as aplicações do Stremio em diferentes idiomas, podes juntar-te à nossa comunidade de tradutores voluntários. Eles ajudam-nos a adicionar versões do Stremio nos diferentes idiomas.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Estás ansioso para começar?","WEBSITE_TRANSALTE_STREMIO":"Traduzir o Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunidades oficiais","WEBSITE_COMMUNITY_OFFICIALS_P1":"Faz parte da crescente comunidade do Stremio. Segue-nos nas redes sociais e não te sintas intimidado por nos dizeres um \\"Olá\\" - gostamos de conhecer os nossos fãs!","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunidades não-oficiais","STREMIO_COMMUNITY_NL":"Stremio Países Baixos","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Alemanha","STREMIO_COMMUNITY_BELGIUM":"Stremio Bélgica","STREMIO_COMMUNITY_FRANCE":"Stremio França","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Itália","STREMIO_COMMUNITY_UK":"Stremio Reino Unido","STREMIO_COMMUNITY_USA":"Stremio EUA","STREMIO_COMMUNITY_MEXICO":"Stremio México","STREMIO_COMMUNITY_ADDONS":"Addons do Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"O melhor do Stremio","WEBSITE_COMMUNITY_PARTNERS":"Parceiros e apoiantes","WEBSITE_COMMUNITY_GOODIES":"Guloseimas do Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Papéis de parede","WEBSITE_COMMUNITY_ART":"Galeria de Artes da Comunidade","WEBSITE_LINK_ART":"Galeria de Artes da Comunidade","WEBSITE_CONTACT_US":"Contacta-nos","WEBSITE_CONTACT_US_P1":"Caso tenhas dúvidas, comentários ou sugestões, sente-te à vontade para entrares em contacto connosco através do formulário em baixo.","WEBSITE_CONTACT_US_P2":"Lembra-te de que estamos localizados na Bulgária, por isso, pode haver alguma demora no atendimento do teu contacto devido às diferenças de fuso horário.","WEBSITE_CONTACT_US_SUCCESS":"A tua mensagem foi enviada. Entraremos em contacto contigo o mais breve possível.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Por favor, escreve um e-mail válido!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Com que assunto está relacionada a tua pergunta?","WEBSITE_CONTACT_US_Q_OS":"Qual é o teu sistema operativo?","WEBSITE_CONTACT_US_PH_EMAIL":"O teu e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Mensagem","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ENVIAR","WEBSITE_CONTACT_US_Q_1":"Como instalar?","WEBSITE_CONTACT_US_Q_2":"Como desinstalar?","WEBSITE_CONTACT_US_Q_3":"(HTML) Como fazer lasanha?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"MacOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tecnologia","WEBSITE_TECHNOLOGY_P1":"Adoramos tecnologia e ciência maluca. </ br> Aqui estão os poderes do Stremio (tudo em código aberto).","WEBSITE_TECHNOLOGY_P_QT":"Desenvolvimento de software multiplataforma no seu melhor.","WEBSITE_TECHNOLOGY_P_MPV":"Um leitor de multimédia gratuito, de código aberto e multiplataforma.","WEBSITE_TECHNOLOGY_P_RN":"O React Native permite que cries aplicações móveis utilizando apenas JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Framework multimédia incorporado na aplicação para obter multimédia.","WEBSITE_TECHNOLOGY_P_REALM":"A Realm é uma plataforma móvel e um substituto para o SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"O Node.js é um ambiente em tempo de execução multiplataforma e de código aberto para JavaScript.","WEBSITE_TECHNOLOGY_P_RUST":"O Rust é uma linguagem de programação multi-paradigma focada em segurança, especialmente em concorrência segura.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuir para o projeto.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Há duas maneiras para poderes contribuir com o Stremio e ajudar-nos a tornar o produto ainda melhor.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Podes doar as tuas valiosas habilidades linguísticas para ajudar a traduzir a plataforma...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ou","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"...podes utilizar as tuas habilidades de programação para criar addons da comunidade.","WEBSITE_TRANSLATE_STREMIO":"Traduzir o Stremio","WEBSITE_404_OH_NO":"Ups! A página que procuras não está aqui...","WEBSITE_GO_HOME":"Voltar ao início","WEBSITE_LINK_OTHER_DOWNLOADS":"Outras transferências","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Suporte","WEBSITE_DOWNLOAD_4_0_BETA":"Transferir o Stremio 4 beta agora","WEBSITE_GET_FOR_DESKTOP":"Transferir para o computador","WEBSITE_LINK_ADDON_COMPETITION":"Competições de addons","WEBSITE_LINK_ART_CONTEST":"Concurso de artes","WEBSITE_MY_ACCOUNT":"A minha conta","WEBSITE_MAINPAGE_FAQ_001_H1":"O que é o Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"O Stremio é um moderno centro de multimédia, que oferece a liberdade para veres tudo o que desejas.","WEBSITE_MAINPAGE_FAQ_002_H1":"Como funciona?","WEBSITE_MAINPAGE_FAQ_002_P1":"Depois de instalares o Stremio no teu dispositivo e criar uma conta tudo o que precisas de fazer é visitar o catálogo de addons e instalar qualquer complemento que desejares, e pronto!","WEBSITE_MAINPAGE_FAQ_002_P2":"Depois disso, podes ir às secções Explorar ou Painel para começar a explorar o conteúdo.","WEBSITE_MAINPAGE_FAQ_003_H1":"O que posso ver aqui?","WEBSITE_MAINPAGE_FAQ_003_P1":"Diversos filmes, programas de TV, canais da Web, desportos, canais de TV, ouvir podcasts e muito mais. Graças ao nosso sistema de addons podes aceder a uma variedade de conteúdos.","WEBSITE_MAINPAGE_FAQ_004_H1":"O Stremio é de código aberto?","WEBSITE_MAINPAGE_FAQ_004_P1":"Sim, podes verificar os seguintes links: ${1}aplicação desktop${2} e ${3}organização GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"O Stremio é seguro?","WEBSITE_MAINPAGE_FAQ_005_P1":"Sim. Por ser um software de código aberto o código é auditável publicamente e, podes revê-lo.","WEBSITE_MAINPAGE_FAQ_005_P2":"O sistema de addons do Stremio foi também criado a pensar na segurança do utilizador. Os addons não executam qualquer código localmente, pelo que não representam qualquer risco para o teu dispositivo.","WEBSITE_MAINPAGE_FAQ_006_H1":"E a minha privacidade?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respeitamos a privacidade dos utilizadores e não coletamos dados pessoais além do mínimo essencial para criar e sincronizar a tua conta.","WEBSITE_MAINPAGE_FAQ_006_P2":"Há também um ${1}modo convidado ${2}no registo que não requer dados: deste modo, nenhuma chamada é feita aos nossos servidores. No entanto, isto ocorre à custa de funcionalidades úteis, como sincronizar a tua biblioteca entre dispositivos.","WEBSITE_MAINPAGE_FAQ_007_H1":"Posso transmitir para a minha TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Sim, suportamos o Chromecast e podes transmitir através de aplicações para o computador e dispositivos móveis (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Quantos addons tem o Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"No final de 2019, acima de 50 - para obteres mais informações, consulta o nosso catálogo de addons.","WEBSITE_MAINPAGE_FAQ_009_H1":"O Stremio pode ser expandido além do que se encontra no catálogo de addons?","WEBSITE_MAINPAGE_FAQ_009_P1":"Sim, deves verificar estes: ${1}PimpMyStremio${2}, ${3}Comunidades Reddit${4}, ${5}Downloader Stremio${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Que dispositivos são suportados pelo Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Temos aplicações desktop para Windows, Mac e Linux. Para dispositivos móveis, suportamos Android e iOS, embora tem em conta que as funcionalidades do iOS são limitadas (não é compatível com a maioria dos addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"Existem muitos dispositivos com base no Android aos quais podes executar o Stremio, como NVIDIA Shield e Amazon Fire Stick, mas não os suportamos oficialmente.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Temos aplicações para computadores Windows, Mac e Linux. Também temos aplicações dedicadas para Android Mobile e Android TV. Para iOS e iPadOS, sugerimos que utilizes o Stremio Web, embora as suas funcionalidades sejam mais limitadas.","WEBSITE_MAINPAGE_FAQ_011_H1":"Podem adicionar determinados conteúdos ao Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Desculpa, mas não fornecemos conteúdo. Porém, quanto mais addons do Stremio instalares mais conteúdo poderás encontrar.","WEBSITE_MAINPAGE_FAQ_012_H1":"O Stremio pode reproduzir magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Sim, e também pode reproduzir links HTTP normais e de ficheiros torrent (arrastar e soltar).","WEBSITE_MAINPAGE_FAQ_013_H1":"Posso descarregar um vídeo e vê-lo offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"O modo offline estará disponível futuramente, porém, se permitires que o Stremio faça cache no dispositivo (no painel de definições), poderás ver os teus vídeos mais tarde, mesmo sem ligação à Internet.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nada funciona, ajudem-me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Tens a certeza de que instalaste addons? Se sim, verifica a nossa ${1}central de ajuda${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Como o Stremio sustenta as suas operações de desenvolvimento?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ocasionalmente, exibimos anúncios não intrusivos, mas estamos a pensar em mudar para um modelo de doação.","WEBSITE_MAINPAGE_FAQ_015_P2":"Para mais dúvidas, visita a nossa ${1}central de ajuda${2}.","HELP_LEARN_MORE":"Ajuda-nos a aprender algo mais sobre ti.","LIFESTYLE":"Estilo de vida","SPORTS":"Desporto","FOOD_HEALTH":"Comida e bem-estar","BEAUTY_FASHION":"Beleza e moda","NEWS":"Notícias","GAMING":"Jogos","SCIENCE_EDUCATION":"Ciência e educação","MUSIC":"Música","TRAVEL":"Viagens","LATE_NIGHT":"Late night show","REALITY":"Reality show","COMEDY":"Comédia","DIY":"Faz tu mesmo","TECH":"Tecnologia","CINEMA":"Cinema","CONTINUE":"Continuar","SLOW_LOADING":"LENTO A CARREGAR?","I_GIVE_UP":"DESISTO","LEARN_MORE":"Aprender mais","POOR_SOURCE":"Esta fonte possui fraca disponibilidade ou a tua ligação à Internet não é suficientemente rápida","PICK_CATEGORIES_ERR":"Tens de escolher pelo menos 3 categorias","ADJUST_TIMING":"Ajustar tempos com ","ADJUST_SIZE":"Ajustar tamanho com ","SEARCH_ANYTHING":"Podes pesquisar qualquer coisa...","ALL_CATEGORIES":"Tudo","SEARCH_CATEGORIES":"Filmes, Séries, YouTube e TV","SEARCH_PERSONS":"Atores, Realizadores e Argumentistas","SEARCH_PROTOCOLS":"Links HTTP e Magnet","SEARCH_TYPES":"Links IMDb / TheTVDB","WATCHED":"Visto","SHOW_LESS":"Mostrar menos","LAST_SEARCHES":"Pesquisas recentes","CLEAR_HISTORY":"Limpar histórico","CHOOSE_SOME":"ESCOLHE ALGUNS DESTES:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Não foi possível carregar o Web Remote","STREMIO_OFFLINE":"O Stremio está offline","STREMIO_EXPENSIVE_CONNECTION":"Detetámos que estás a utilizar uma ligação por dados móveis. Queres continuar?","USE_DATA":"Utilizar dados","WARNING":"Aviso","MORE_INFO":"Mais informações ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"A carregar ...","STREMIO_TV_BACK_TO_LANGUAGES":"Voltar para os idiomas","STREMIO_TV_REMOTE":"Comando","STREMIO_TV_GO_TO":"Ir para:","STREMIO_TV_OR_SCAN":"ou pesquisar:","STREMIO_TV_ADDON_INSTRUCTIONS":"Por favor, segue as instruções com o intuito de instalares os teus addons favoritos.","STREMIO_TV_LIVE_TV":"TV em direto","STREMIO_TV_RESUME_WATCHING":"Continuar a ver","STREMIO_TV_LOADING_BACKGROUND":"A carregar o plano de fundo","STREMIO_TV_CHECKING_AUTHENTICATION":"A verificar a autenticação","STREMIO_TV_LOADING_BOARD":"A carregar o painel","STREMIO_TV_LOGIN_HEADER_LINE_1":"Queremos que os nossos utilizadores tenham a melhor experiência personalizada possível com o nosso programa.","STREMIO_TV_LOGIN_HEADER_LINE_2":"É por esta razão que pedimos gentilmente que inicies sessão na tua conta.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Obrigado por entenderes,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Equipa Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Com o intuito de utilizares o trabalho Remoto com o teu Smartphone / Tablet / PC:","STREMIO_TV_WIFI_SETUP":"Configurar o Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"O Stremio Circle não detetou ligação à Internet.","STREMIO_TV_WIFI_DETAILS_1":"Ligar a:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Utilizar palavra-passe:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Abrir o navegador com o link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Predefinido","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Últimos vistos","STREMIO_TV_LIBRARY_SORT_NAME":"Ordem alfabética","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Por nome descendente","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Número de vezes que foi visto","STREMIO_TV_LIBRARY_SORT_WATCHED":"Mais vistos","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Menos vistos","STREMIO_TV_DETAILS_SEASON_NUMBER":"Temporada ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} addons carregados...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} o addon está ainda a carregar...","STREMIO_TV_PLAYER_SETTINGS":"Definições de reprodução","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Atraso das legendas","STREMIO_TV_PLAYER_AUDIO_DELAY":"Atraso do áudio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Escala do vídeo","STREMIO_TV_PLAYER_CHAPTERS":"Capítulos","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Saltar ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Fonte de streams não suportada","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Falha ao abrir o link externo","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Não ajustável no modo de passagem de áudio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Reproduzir com o ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Reproduzir com o libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"A mudar para o libVLC player devido a um erro de reprodução","STREMIO_TV_ADDONS_TITLE":"Utiliza o Stremio no teu telemóvel ou PC para instalares ou configurares addons e pressiona em \\"Sincronizar addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Nota: certifica-te de que estás a utilizar a mesma conta do Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizar addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons sincronizados com sucesso","STREMIO_TV_ADDONS_SYNC_FAILED":"Falha ao sincronizar addons","STREMIO_TV_META_LINK_FAILED":"Falha ao abrir o link meta","STREMIO_TV_CATALOG_LOADING":"O catálogo ainda está a carregar...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Idioma da interface atualizado","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema atualizado","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Leitor predefinido","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Leitor externo","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Idioma preferido","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Idioma secundário preferido","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Reprodução no modo tunnelled","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possíveis problemas de reprodução nalguns dispositivos","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Alguns formatos de vídeo podem não funcionar","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Correspondência da velocidade de fotogramas","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Desativado","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Apenas velocidade de fotogramas","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Velocidade de fotogramas e resolução","STREMIO_TV_SETTINGS_NO_CACHING":"Sem caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Predefinido","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Suave","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rápido","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra rápido","STREMIO_TV_SETTINGS_SERVER_URL":"URL do servidor de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versão do servidor","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Desconhecido","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versão do Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Editar URL do servidor","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Introduz um URL do servidor de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Mostrar estatísticas enquanto carrega","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Para leres a Política de privacidade do Stremio, vai a:","STREMIO_TV_SETTINGS_TOS_TEXT":"Para leres os Termos e condições do Stremio, vai a:","STREMIO_TV_NAV_SEARCH":"Pesquisar","STREMIO_TV_NAV_HOME":"Início","STREMIO_TV_NAV_DISCOVER":"Explorar","STREMIO_TV_NAV_LIBRARY":"Biblioteca","STREMIO_TV_NAV_MOVIES":"Filmes","STREMIO_TV_NAV_SERIES":"Séries","STREMIO_TV_NAV_CHANNELS":"Canais","STREMIO_TV_NAV_TV":"TV em direto","STREMIO_TV_NAV_SETTINGS":"Definições","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Associar conta","STREMIO_TV_LOGIN_EXPIRES_IN":"Expira em","STREMIO_TV_LOGIN_STEP_ONE":"Lê o código QR acima ou vai para","STREMIO_TV_LOGIN_STEP_TWO":"Inicia sessão na tua conta do Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Pedir um novo link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Código de início de sessão atualizado","STREMIO_TV_SEARCH_PLACEHOLDER":"Escreve alguma coisa","STREMIO_TV_SEARCH_NO_ADDONS":"Não foram pedidos addons para catálogos!","STREMIO_TV_SEARCH_BUTTON":"Pesquisar","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Limpar","STREMIO_TV_SEARCH_HISTORY_TITLE":"Histórico de pesquisas","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Podes pesquisar por títulos, atores, canais e mais...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Limpar histórico de pesquisas","STREMIO_TV_FILTERS_DESCRIPTION":"Escolhe um dos filtros abaixo","STREMIO_TV_STREAMING_SERVER_OFFLINE":"O servidor de streaming está offline. Verifica as definições do servidor.","FILTERS":"Filtros","SETTINGS":"Definições","ACCOUNT":"Conta","LOGOUT":"Terminar sessão","THEMES":"Temas","PLAYBACK":"Reprodução","PLAYBACK_SPEED":"Velocidade de reprodução","AUDIO_TRACKS":"Faixas áudio","UNKNOWN_TRACK_LANG":"Desconhecido","VIDEOS":"Vídeos","SERVER":"Servidor","LINKS":"Links","ABOUT":"Acerca de","INTERFACE":"Interface","ANIMATIONS":"Animações","STATUS":"Estado","LANGUAGE":"Idioma","SIZE":"Tamanho","DELAY":"Atraso","BOLD":"Em negrito","OPACITY":"Opacidade","TEXT_COLOR":"Cor do texto","OUTLINE_COLOR":"Cor do contorno","BACKGROUND_COLOR":"Cor do fundo","BACKGROUND_BLUR":"Desfocagem do fundo","SEEK_TIME_DURATION":"Duração do tempo para avançar / recuar","AUTO_PLAY":"Reproduzir o próximo episódio automaticamente","PLAY_NOW":"Reproduzir agora","MARK_AS_WATCHED":"Marcar como visto","MARK_AS_UNWATCHED":"Marcar como não visto","REWIND_TO_BEGINNING":"Ver do início","CONTINUE_WATCHING":"Continuar a ver","ALL":"Tudo","SECONDS":"segundos","ON":"LIGADO","OFF":"DESLIGADO","RELOAD":"Recarregar","EDIT_URL":"Editar URL","URL":"URL","NONE":"Nenhum","EMBEDDED":"Incorporadas","LOCAL":"Locais","REMOTE_SWITCH_DEVICES":"Trocar dispositivos","REMOTE_VIDEOS":"Vídeos","REMOTE_ADJUST_TIMING":"Ajustar o tempo","REMOTE_ADJUST_SIZE":"Ajustar o tamanho","REMOTE_COULD_NOT_BE_LOADED":"Não foi possível carregar o Web Remote","REMOTE_RETRY":"Tentar novamente","TORRENT_PROFILE_DEFAULT":"Predefinido","TORRENT_PROFILE_SOFT":"Suave","TORRENT_PROFILE_FAST":"Rápido","TORRENT_PROFILE_ULTRA_FAST":"Ultra rápido","MB_S":"MB/s","FAQ_001_H1":"O que é o stremio?","FAQ_001_P1":"O Stremio é um programa de multimédia centralizado desenhado para video entretenimento com a facilidade de utilização em mente. O Stremio permite-te organizares e veres a tua própria coleção de vídeos, séries, canais e TV em direto.","FAQ_001_P2":"O Stremio cataloga o teu conteúdo, seja através do teu disco local seja através do nosso sistema de addons.","FAQ_001_P3":"Também te notificaremos quando novos episódios/vídeos/filmes em que tenhas interesse sairem para o ar e mostrar-te-á recomendações de filmes.","FAQ_02_H1":"Como o Stremio se compara ao Kodi e Plex?","FAQ_02_P1":"Inspirámo-nos nos dois programas mas temos diferentes objetivos - o Stremio é especificamente voltado para o entretenimento de vídeo. Batalhámos para sermos a solução predefinida nesse sentido, tendo em foco a facilidade de utilização.","FAQ_02_P2":"Stremio nunca será tão customizável e nunca terá tantos recursos como Kodi e Plex. Mas será significativamente mais fácil de utilizar. Simplesmente ${1} obtém-no e comprova ${2} :)","FAQ_03_H1":"Como o Stremio se compara à Netflix?","FAQ_03_P1":"Novamente, a Netflix é uma das nossas inspirações. Trabalharemos arduamente para atingir a experiência de utilização proporcionada pela Netflix e mais uma quantidade de melhorias. No entanto, o mais importante é dar-vos a liberdade de organizarem a vossa própria biblioteca e adicionar novas fontes de conteúdos com o nosso sistema de addons.","FAQ_03_P2":"Isso faz do Stremio infinitamente extensível e assim que o utilizares nunca ficarás limitado ao conteúdo que a Netflix decida licenciar. Por exemplo, através do Stremio podes ver o conteúdo de ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} e mesmo da ${9}Netflix${10}!","FAQ_04_H1":"Como o Stremio se compara ao Flipboard?","FAQ_04_P1":"Raramente recebemos esta questão, excepto quando falamos com pessoas iniciantes :)","FAQ_04_P2":"O Stremio é desenhado como um agregador de conteúdo tal e qual o Flipboard o faz para vídeo. Isto é muito parecido no nosso painel, painel este que te mostrará catálogos e notificações de novos episódios/novos vídeos que sigas, tal e qual o Flipboard.","FAQ_05_H1":"Como o Stremio se compara ao Popcorn Time?","FAQ_05_P1":"O Stremio e o Popcorn Time são semelhantes na interface de utilização porque não há muitas formas de fazer catálogo de vídeo entretenimento, certo? :)","FAQ_05_P2":"Mas enquanto o Popcorn Time tem o foco numa entrega de torrents que provêm de fontes específicas, o Stremio não possui restrições e é meramente um agregador de conteúdo - não está bloqueado a uma fonte de conteúdo específica.","FAQ_05_P3":"Além disso, não fornecemos quaisquer addons de torrent por defeito, pelo que o Stremio não cobre o caso de utilização do Popcorn Time com funcionalidade oficial.","FAQ_05_P4":"Uma outra diferença notável é que o Popcorn Time é completamente de código aberto enquanto o Stremio é ${1} parcialmente de código aberto ${2}.","FAQ_06_H1":"Vocês é que adicionam estes filmes/séries?","FAQ_06_P1":"Não, desculpa :(","FAQ_06_P2":"Como já mencionámos noutras questões, o Stremio não partilha nenhum conteúdo por si próprio - tudo é adicionado diretamente pelo sistema de addons. Caso queiras pedir algum conteúdo, pode utilizar o botão “Reportar” no leitor e assim enviar um e-mail para o autor do addons com que te encontras a utilizar.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Criarão addons para X?","FAQ_08_P1":"É inteiramente possível.","FAQ_08_P2":"Se tens alguma ideia para um addon, escreve para ${1}office@stremio.com${2}, mas por favor, assegura-te de que a ideia desse addon não infringirá nenhum direito de propriedade intelectual nem os Termos de utilização.","FAQ_08_P3":"De momento, os próximos movimentos no nosso projeto são addons para FandangoNOW, vídeo on demand no Filmon.tv e no Crunchyroll.","FAQ_09_H1":"O Stremio utiliza o BitTorrent?","FAQ_09_P1":"Sim. O Stremio suporta o BitTorrent como um protocolo streaming. Podes utilizá-lo com o addon torrent ou por arrastar e soltar um ficheiro .torrent dentro do Stremio ou até mesmo colando um magnet link dentro do campo de pesquisa.","FAQ_09_P2":"Por favor, nota que o único addon oficial que utiliza o BitTorrent é o ${1}Vodo${2}, ao qual fornece produção independente, todos com permissão para serem distribuídos com o BitTorrent.","FAQ_09_P3":"Não suportamos a utilização de qualquer addon de terceiros que possa viabilizar o infringimento de leis de direitos.","FAQ_10_H1":"O que posso ver no Stremio com os addons oficiais?","FAQ_10_P1":"Por predefinição, podes ver conteúdos do Filmon.tv, YouTube e Vodo no próprio Stremio, com o seu leitor incorporado. Além disso, temos um addon para o Twitch.tv e alguns outros.","FAQ_10_P2":"Esta combinação fornece uma seleção de:","FAQ_10_L1":"Canais de TV populares, fornecido por Filmon.tv - por exemplo E4, BBC, Bollyworld TV","FAQ_10_L2":"Tudo do YouTube - por exemplo BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Filmes indepententes com Vodo","FAQ_10_L4":"Transmissões de jogos online com a Twitch.tv","FAQ_10_P3":"Adicionalmente, há muitas fontes de conteúdo fornecidas com Guidebox e addons Netflix, ao qual <b>não</b> reproduzem inteiramente dentro do Stremio, mas pode redirecionar para o dado serviço. Por exemplo, o addon Guidebox dá-te uma seleção de filmes que podes fazer stream gratuitamente dentro dos Estados Unidos através de serviços como o TubiTV e o Crackle.","FAQ_11_H1":"O Stremio não instala, o que devo fazer?","FAQ_11_P1":"Se utilizas Windows, tenta ${1}este instalador alternativo${2}.","FAQ_11_P2":"Se utilizas Mac OS X, por favor, tem em conta que não suportamos versões inferiores ao OS X Mavericks (10.9).","FAQ_11_P3":"Caso estejas a utilizar Linux, tem em conta que neste momento apenas damos suporte para a versão de 64 bits (x64).","FAQ_11_P4":"Se não ainda não conseguiste resolver o teu problema, por favor, envia-nos uma mensagem no ${1}Grupo do Facebook${2}.","FAQ_12_H1":"Porque é que o meu antivírus está a notificar-me? O Stremio é seguro?","FAQ_12_P1":"Asseguramos-te de que o Stremio é ${1}100% limpo${2}.","FAQ_12_P2":"O teu antivírus está a notificar-te, porque incluimos publicidade no nosso instalador e isso faz com que o Stremio seja classificado como um adware.","FAQ_12_P3":"Se não estás seguro, podes utilizar o nosso ${1}instalador alternativo${2}.","FAQ_13_H1":"Como posso fazer um addon?","FAQ_13_P1":"Para iniciantes, recomendados que leiam o nosso ${1}módulo de sistema de addons${2} no GitHub.","FAQ_13_P2":"Todavia, podes seguir o ${1}Tutorial do Olá Mundo${2}.","FAQ_13_P3":"Se não tens nenhum conhecimento em programação, por favor, publica a tua ideia na ${1}comunidade Reddit${2} e partilha-a com ${3}office@stremio.com${4}.","FAQ_14_H1":"Como os addons são publicados?","FAQ_14_P1":"Quando crias um addon e um hospedor, colocas um campo <b>endpoint</b> no teu manifesto, ao qual aponta para um endereço de addon ativo. O addon ficará automaticamente publicado no nosso ${1}Catálogo de addons{2}.","FAQ_14_P2":"Esta situação acontece porque parte do servidor do módulo de addons do Stremio, que faz automaticamente uma chamada para a nossa API para publicar o addon. Quando a nossa API o valida <b>endpoint</b> como um addon válido, ficará disponível no nosso catálogo.","FAQ_15_H1":"Posso executar o Stremio no navegador?","FAQ_15_P1":"De momento não, mas em breve!","FAQ_15_P2":"Se estás curioso para ver uma versão Alpha, podes aceder aqui: ${1}alpha4.strem.io${2}. Tem em conta que o streaming está inativo. Damos suporte para Chrome, Firefox, Opera e Edge.","FAQ_16_H1":"A transmissão para a TV não funciona / legendas não funcionam","FAQ_16_P1":"A transmissão para a TV utiliza a tecnologia DLNA que é muito inconsistente entre modelos de fabricantes diferentes. Por esta razão, nós não temos a habilidade de testar cada caso então estamos longe da perfeição. Continuamos a trabalhar no sentido de melhorar cada vez mais a aplicação mas não podemos dar uma estimativa de tempo de quando a tecnologia DLNA funcionará corretamente na tua TV.","FAQ_16_P2":"Se ainda não vês a tua TV no menu de transmissão, por favor, tenta desativar a tua conexão de rede e ativa-a novamente (no Windows, clica com o botão direito em Rede e clica em Ativar/Desativar), reinicia também o teu rooter, TV e PC.","FAQ_16_P3":"Se estás ainda a encontrar problemas, podes ajudar-nos ao enviares a informação do teu modelo de TV e fabricante para ${1}office@stremio.com${2}.","FAQ_16_P4":"Entretanto, recomendamos o Chromecast, ao qual suportamos muito bem ou até simplesmente conectando a tua TV ao teu PC com um cabo HDMI.","FAQ_17_H1":"O Stremio bloqueia/falha, o que posso fazer?","FAQ_17_P1":"Primeiro de tudo, se estás a utilizar o Windows 7 com o antivírus AVG: temos problemas com essa combinação. O problema é o próprio AVG e não há uma solução definitiva para corrigirmos isso. Infelizmente, exceções ou desativar o antivírus não funciona. A única forma é trocares o teu antivírus.","FAQ_17_P2":"Se isso não é o problema, mas usa Windows, por favor atualize seu o sistema, incluíndo os drivers da GPU e tente novamente.","FAQ_17_P3":"Se o teu problema continua sem solução ou utilizas Mac ou Linux, por favor escreve-nos reportando em detalhe o problema no ${1}nosso grupo do Facebook${2}.","FAQ_18_H1":"Como posso fazer um addon?","FAQ_18_P1":"Para iniciantes recomendamos que vejas o nosso ${1}módulo de sistema de addons{2} no GitHub.","FAQ_18_P2":"No entanto, podes guiar-te pelo nosso ${1}tutorial do Olá Mundo!${2}.","FAQ_18_P3":"Se não tens nenhuma habilidade em programação, por favor, publica a tua ideia na ${1}comunidade do Reddit${2} e contacta-nos com a tua ideia de addon para ${3}office@stremio.com${4}.","FAQ_19_H1":"Porque é que o Stremio está a ocupar espaço em disco?","FAQ_19_P1":"O Stremio tem um <b>cache local</b> para temporariamente deixar os ficheiros de vídeo descarregados.","FAQ_19_P2":"Esta situação tem dois benefícios: primeiro, permite ao Stremio pré-carregar o vídeo para garantir uma transmissão suave. Segundo, isto deixa os vídeos na cache local para que possas continuar a ver offline.","FAQ_19_P3":"Quanto depende o Stremio da configuração do <b>Cache</b> no painel das Definições. O Stremio pode manter uma quantidade (exemplo 2GB) no teu disco, a menos que o video descarregado seja maior que isso e nesse caso pode necessitar de mais espaço para mantê-lo enquanto o descarrega.","FAQ_20_H1":"Onde está a pasta da cache?","FAQ_20_P1":"No Windows, a cache do Stremio fica no caminho que selecionaste nas definições (exemplo \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"No MacOS, fica em \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"No Linux, fica em \\"~/.stremio/stremio-cache\\" ou \\"~/stremio-cache\\"","FAQ_21_H1":"Recebi a mensagem de erro \\"Servidor de streming não encontrado\\", o que posso fazer?","FAQ_21_P1":"Se recebeste esta mensagem implica uma das possibilidades:","FAQ_21_P2":"1) Estás a tentar utilizar um addon suportado pelo código do YouTube/BitTorrent através da nossa ${1}versão web${2}. Nesse caso, deves instalar a nossa versão para desktop através do ${3}nosso site${4}.","FAQ_21_P3":"2) Há algo de errado com a instalação do Stremio. Neste caso, tenta reinstalar a nossa versão mais recente através ${1}do site${2}. Se isto não ajudar, tenta desativar os programas de antivírus e firewal, reinicia o teu PC e tenta novamente. Se isto não funcionar, por favor, entra em contacto pelo ${3}nosso grupo do Facebook${4}.","FAQ_22_H1":"Não consigo ver/utilizar a maioria dos addons no iOS","FAQ_22_P1":"Devido a restrições dos Termos e condições da loja da Apple, temos restringido apenas a aplicação iOS de um grupo particular de addons.","FAQ_22_P2":"Mas fica atento - existirão mais addons para iOS no futuro e poderemos também adicionar uma integração que permitirá a utilização de todos os addons do Stremio graças à conexão da aplicação iOS com o servidor de Streaming do Stremio."}')},56227:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serial","TYPE_tv":"Canal TV","TYPE_channel":"Canal","TYPE_other":"Altele","TYPE_movie_PL":"Filme","TYPE_series_PL":"Seriale","TYPE_tv_PL":"Canale TV","TYPE_channel_PL":"Canale","TYPE_other_PL":"Altele","TYPE_ALL":"Toate","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Înapoi","MORE":"Mai mult","DONE":"Gata","COPY":"Copiere","SUCCESS":"Succes","ERROR":"Eroare","SETTINGS_CASTING_MODE_PICKER":"Mod de redare pe dispozitiv extern","CASTING_MODE_HLSV2":"Implicit","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Fără transcodare","Discover":"Descoperă","Board":"Tablou","Library":"Bibliotecă","My Library":"Biblioteca Mea","Calendar":"Calendar","NOTIFICATION_ONLINE":"Ești online acum","NOTIFICATION_OFFLINE":"Ești în modul offline","INTERNET_CONNECTION":"Conexiune la rețea","STORAGE_FULL_TITLE":"Atenție: Spațiul de stocare este plin!","STORAGE_FULL_TEXT":"Stremio nu va putea să-ți salveze setările, preferințele sau informațiile de autentificare. Poți să consideri repornirea sau reinstalarea Stremio.","SEARCH":"căutare","SEARCH_NO_RESULTS":"Nu au fost găsite rezultate","SEARCH_EXPLANATION_CONTENT":"Caută filme, seriale, clipuri YouTube și canale TV","SEARCH_EXPLANATION_PEOPLE":"Caută actori, regizori și scenariști","SEARCH_PASTE_LINKS":"Lipește linkuri HTTP și Magnet","SEARCH_OR_PASTE_LINK":"Caută sau lipește linkul","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Adaugă în Bibliotecă","REMOVE_FROM_LIB":"Șterge din Bibliotecă","ADDED_TO_LIB":"Adăugat în Bibliotecă","REMOVED_FROM_LIB":"Șters din Bibliotecă","TRAILER":"Trailer","WATCH_TRAILER":"Vizualizează Trailerul","WATCH_NOW":"Vizionează Acum","SHOW":"Arată","SHOW_MOVIE":"Arată Filmul","WATCH_RANDOM":"Vizionează Aleatoriu","IMDB_RATING":"Rating IMDb","YEAR":"An","DIRECTOR":"Regizor","WRITER":"Scenarist","LEAD_ACTORS":"Actorii Principali","CAST":"Distribuție","CREW":"Echipă","SHOW_MORE_CAST":"Arată mai mult »","AIRED":"A fost difuzat","SEASONS":"Sezoane","GENRE":"Gen","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Rezumat","SHOW_MORE":"Arată Mai Mult","SIMILAR":"Asemănător","UPCOMING":"Viitoare","TBA":"TBA","ENDED":"S-a încheiat","DURATION":"Durată","FEATURED":"Recomandat","METADATA":"Metadate","CATEGORY":"categorie","LINKS_GENRES":"Genuri","LINKS_CAST":"Distribuție","LINKS_DIRECTORS":"Regizori","SEARCH_VIDEOS":"caută videoclipuri","SEARCH_PLACEHOLDER":"caută sau lipește URL-ul","ADDON":"extensie","ADDONS":"Extensii","OFFICIAL":"oficial","ADDONS_OFFICIAL":"Extensii Oficiale Stremio","ADDONS_POPULAR":"Populare în zona ta","ADDON_FREE":"gratuit","ADDON_PEERED":"partajat","ADDON_SUBSCRIPTION":"abonament","ADDON_STREAM_GEORESTRICTED":"indisponibil în zona ta","ADDON_STREAM_OFFLINECACHE":"Cache Offline","ADDON_STREAM_LOCALFILE":"Fișier Local","SHARE_ADDON":"Distribuie extensia","AVAILABLE_STREAMS":"Stream-uri disponibile","NO_STREAM":"Nu au fost găsite stream-uri","ALL_ADDONS":"Toate","INSTALL_MORE_ADDONS":"Pentru mai multe stream-uri, instalează mai multe extensii","STREAM_NOT_SUPPORTED":"Stream-ul selectat nu este suportat pe această platformă.","ADDON_CATALOGUE":"Arată toate extensiile »","ADDON_CATALOGUE_MORE":"Instalează extensii","REPO_ADDED":"Repozitoriu adăugat","ADDON_REPO_EXIST_ERR":"Această colecție de extensii există deja","ADDON_REPO_ERR":"A apărut o eroare la adăugarea colecției","ADDON_ADD_ERR":"A apărut o eroare la adăugarea extensiei","ERR_ADDON_PROTECTED":"Nu poți dezinstala această extensie, este protejată","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Ceva a mers greșit - autentificarea se poate să fi eșuat","ERR_NOT_COLLECTION_URL":"Nu este un URL de colecție","ERR_NOT_ADDON_URL":"Nu este un URL valid de extensie","ERR_DETECTFROMURL":"Nu se poate găsi extensia/colecția din acest URL","ADDON_DUPLICATE_WARNING":"Atenție: extensie duplicată","ADDON_COLLECTION_SET_FAILED":"Sincronizarea extensiilor instalate cu contul tău a eșuat","SETTINGS_DATA_EXPORT":"Exportă datele utilizatorului","ADDON_PULL_FAILED":"Sincronizarea extensiilor instalate din contul tău a eșuat","REFRESH_ON_CLICK":"Click pentru a reîncerca","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Film încă în cinematografe","WATCH_IN_CINEMA":"Vizionează-l în cinematograful local","IN_THEATER":"În cinematograf","GET_TICKETS":"Obține bilete","UPCOMING_EPISODE":"Episod viitor","UPCOMING_EPISODE_MESSAGE":"Acest episod va fi difuzat în data de","MISSING_DATE_EPISODE":"Data episodului lipsește","MISSING_DATE_EPISODE_MESSAGE":"Acest episod poate încă să nu fi fost difuzat","CHANNEL_NOT_SCRAPED":"Acest canal nu a fost încă explorat.<br>Vă rugăm să reveniți în câteva minute.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Adaugă-l în biblioteca ta pentru a fi notificat când devine disponibil.","GET_NOTIFIED_WHEN_AVAILABLE":"Veți fi notificat(ă) când devine disponibil.","WARNING_STREAMING_SERVER":"Atenție: serverul local de streaming nu a fost găsit. Redarea din fișiere locale, YouTube și BitTorrent nu va fi disponibilă.","WARNING_STREAMING_SERVER_DISMISS":"Ignoră","WARNING_STREAMING_SERVER_LATER":"Mai târziu","DECODER_WARNING":"Atenție: acest video s-ar putea să nu fie suportat de hardware-ul tău. Ține minte, redarea ar putea fi lentă.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Ops, eroare la player","PLAYER_ERROR_LOOKSLIKE":"Se pare că","PLAYER_ORIENTATION":"Orientare player","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Blocat","PLAYER_ORIENTATION_SENSOR_SHORT":"Senzor","PLAYER_ORIENTATION_LANDSCAPE":"Orientare player blocată la peisaj","PLAYER_ORIENTATION_SENSOR":"Orientare player automată (senzor)","PLAYER_PLAYBACK_SPEED":"Viteză redare","PLAYER_PLAYBACK_ERROR":"Eroare de redare, te rugăm să reîncerci","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Eroare necunoscută","PLAYER_PLAYBACK_ERROR_DEFAULT":"Scuze, acest video nu poate fi redat de {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Limbi subtitrări","PLAYER_SUBTITLES_VARIANTS":"Variante subtitrări","PLAYER_SUBTITLES_SETTINGS":"Setări subtitrări","PLAYER_SUBTITLES_DISABLED":"Subtitrările sunt dezactivate","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Poziție verticală","PLAYER_SUBTITLES_LOADED":"Subtitrări încărcate","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Subtitrări încorporate încărcate","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Subtitrări exclusive încărcate","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitrări de la {{origin}} încărcate","PLAYER_PLAY":"Redare","PLAYER_PAUSE":"Pauză","PLAYER_NEXT_VIDEO":"Următorul videoclip","PLAYER_MUTE":"Dezactivare sunet","PLAYER_UNMUTE":"Activare sunet","PLAYER_OPEN_IN_EXTERNAL":"Deschide în player extern","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Redă în {{device}}","PLAYER_LIVE":"În direct","PLAYER_NEXT_VIDEO_TITLE":"Următorul pe","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Ignoră","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Urmărește acum","PLAYER_COPY_STREAM_SUCCESS":"Linkul de stream a fost copiat în clipboard","PLAYER_COPY_STREAM_ERROR":"Nu s-a putut copia linkul de stream","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streaming de la","CASTING_TO":"Redarea pe","NETWORK_STATUS":"Stare rețea","STREAM_SPEED":"Viteză stream:","STREAM_BUFFERED":"Bufferizat:","PEERS_INFO":"Informații despre parteneri","PEERS_ACTIVE":"Activi:","PEERS_CONNECTED":"Conectați:","PEERS_WAITING":"În așteptare:","TRANSCODING_WARNING":"Atenție: video-ul este transcodat.","STREAM_LOADING":"se încarcă...","PLAYING_LOCAL":"se redă din fișier local","PLAYING_CACHE":"se redă din cache","WRONG_SUBS":"Subtitrări greșite?","ERR_SUBS_LOADING_TITLE":"Eroare la încărcarea subtitrărilor","ERR_SUBS_LOADING":"Eroare la încărcarea subtitrărilor: aceasta poate fi o problemă cu extensia pe care o folosiți sau cu conexiunea la rețea","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Următoarele extensii de subtitrări au eșuat","ERR_CASTING_UPDATE_TITLE":"Nu s-a putut actualiza informațiile despre dispozitivul de redare: serverul de streaming poate fi offline","CHOOSE_DEVICE":"Alege un dispozitiv pentru a urmări","NO_CAST_DEVICES":"Nu sunt dispozitive de redare disponibile.","NO_SETTINGS":"Nu sunt setări disponibile.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Tabletă","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtitrări","SUBTITLES_CHANGE":"Schimbă subtitrările pentru ","SUBTITLES_CHANGE_NONE":"Nu există alte subtitrări pentru această limbă, ne pare rău.","SUBTITLES_CHANGE_ACIVE":"În prezent subtitrarea #{{subtitlesDialog.activeIdx + 1}} este activată. Dă clic pe „Continuă” pentru a activa subtitrarea #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Sau, în mod alternativ,","SUBTITLES_ADJUST_DELAY":"Ajustează întârzierea subtitrărilor:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Sau folosește tastele <span>G</span> / <span>H</span> în timpul redării pentru a ajusta.","SUBTITLES_ADJUST_DELAY_TIP":"SFAT: poți folosi tastele <span>G</span> / <span>H</span> în timpul redării pentru a ajusta.","SUBTITLES_DELAY":"Întârziere subtitrări:","SUBTITLES_LOADING":"Se încarcă subtitrările...","SUBTITLES_UNAVAILABLE":"Nu sunt disponibile subtitrări externe","SUBTITLES_DISABLED":"Dezactivate","EXTERNAL_PLAYER_DISABLED":"Dezactivat","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Permite selectarea","EXTERNAL_PLAYER_HINT":"Sugestie: există o setare pentru a permite deschiderea întotdeauna cu playerul extern","DONT_SHOW_AGAIN":"Nu mai arăta","SERVICE_INSTALL":"Instalează","AUDIO":"Audio","DEFAULT_LANGUAGE":"Limbă implicită","DEFAULT_SECONDARY_LANGUAGE":"A doua limbă implicită","SEASON":"Sezon","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episod","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sortează","SORT_BY":"Sortează după","FILTER":"filtrează","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"evaluare","SORT_WATCHED":"văzute","SORT_YEAR":"an","SELECT":"Select","SELECT_TYPE":"Selectează tipul","SELECT_SORT":"Selectează sortarea","SELECT_CATALOG":"Selectează catalogul","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Selectează genul","SORT_LASTWATCHED":"După ultima vizionare","SORT_NAME":"După nume","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"După numărul de vizionări","SORT_NOTWATCHED":"not watched","New for You":"Nou pentru tine","New Episodes":"Episoade noi","New Videos":"Clipuri noi","Recommendations":"Recomandări","LIBRARY_RESUME":"Continuă","LIBRARY_PLAY":"Redă","LIBRARY_DETAILS":"Detalii","LIBRARY_RESUME_DISMISS":"Ignoră","LIBRARY_CLEAR_PROGRESS":"Șterge progresul","LIBRARY_REMOVE":"Elimină","LIBRARY_NOT_LOGGED_IN":"Biblioteca este disponibilă doar pentru utilizatorii autentificați","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendarul este disponibil doar pentru utilizatorii autentificați","NOT_LOGGED_IN_CLOUD":"Accesează filmele și serialele tale favorite în orice moment și oriunde","NOT_LOGGED_IN_RECOMMENDATIONS":"Recomandări adaptate istoricului tău de vizionare","NOT_LOGGED_IN_NOTIFICATIONS":"Nu pierde niciodată un episod nou","NOT_LOGGED_IN_CALENDAR":"Stabilește-ți propriul calendar personal de vizionare","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Recomandate","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Câștigători ai premiului Oscar","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"Această extensie a returnat conținut gol.","DISCOVER_ADULT_WARNING":"Conținutul este vizibil doar pentru adulți. Ai peste 18 ani?","DISCOVER_NOADDON_WARNING":"Atenție: nicio extensie Stremio activă pentru acest tip. Se afișează elemente salvate, nimic nu se va actualiza aici.","DISCOVER_LOAD_ERR":"Conținutul nu s-a încărcat, a apărut o eroare.","DISCOVER_ADDON_UNINSTALLED":"Acest conținut nu mai este disponibil, este posibil să fi dezinstalat extensia.","UNINSTALL_THIS_ADDON":"Dezinstalează această extensie","ERR_ADDON_NOT_INSTALLED":"Această extensie nu este instalată. Să o instalezi acum?","DETAIL_RECEIVE_NOTIF_SERIES":"Primi notificări pentru episoade noi","DETAIL_RECEIVE_NOTIF_VIDEOS":"Primi notificări pentru videoclipuri noi","SIDEBAR_SHOW_STREAMS":"Afișează fluxurile","RELAUNCH":"Reporniți acum!","UPGRADE":"Este disponibilă o nouă versiune! Actualizați la cea mai recentă versiune Stremio","RELOAD_UI":"Reîncărcați interfața de utilizator","MANUAL_UPDATE_TITLE":"Actualizați versiunea Stremio","MANUAL_UPDATE_LINE1":"Rulați o versiune învechită a Stremio, ceea ce nu este deloc recomandat.","MANUAL_UPDATE_LINE2":"Vă rugăm să actualizați cât mai curând posibil.","BUTTON_UPDATE_LATTER":"Nu acum","BUTTON_UPDATE_NOW":"Actualizați","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Utilizator anonim","DONT_HAVE_ACC":"Nu aveți un cont?","HAVE_ACC":"Aveți deja un cont?","PASSWORD":"Parolă","PASSWORD_CONFIRM":"Confirmați parola","EMAIL":"E-mail","FB_LOGIN":"Continuați cu Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nu se distribuie nimic fără permisiunea dvs.","FB_NOPOST":"Nu vom posta nimic în numele dvs.","OR":"sau","I_ACCEPT":"Accept ","I_ACCEPT_BY_CLICKING":"Prin apăsarea butonului de mai sus, declar că accept ","TOS":"Termenii și condițiile","MUST_ACCEPT_TERMS":"Trebuie să acceptați termenii","PASSWORDS_NOMATCH":"Parolele nu se potrivesc","SIGN_UP":"Înregistrare","SIGN_UP_EMAIL":"Înregistrare cu e-mailul","CLICK_TO_SIGN_UP":"Apăsați aici pentru a vă înregistra.","LOG_IN":"Autentificare","LOG_OUT":"Deconectare","EXIT_FULLSCREEN":"Ieșiți din modul ecran complet","ENTER_FULLSCREEN":"Intrați în modul ecran complet","PLAY_URL_MAGNET_LINK":"Redați URL-ul/Linkul Magnet","HELP_FEEDBACK":"Ajutor și Feedback","TERMS_OF_SERVICE":"Termeni și Condiții","PRIVACY_POLICY":"Politica de Confidențialitate","ABOUT_STREMIO":"Despre Stremio","USER_PANEL":"Panou de Utilizator","LOGIN_LABEL":"Autentificare","GUEST_LOGIN":"Autentificare pentru oaspeți","GUEST_LOGIN_NOTICE":"Autentificarea pentru oaspeți nu este recomandată. Folosind o autentificare regulată, Stremio poate sincroniza Biblioteca dvs., poate primi notificări pentru serii/canale favorite. Sunteți sigur că doriți să continuați?","GUEST_LOGIN_NOTICE_2":"Autentificarea pentru oaspeți nu este recomandată - nu veți avea Biblioteca sincronizată și notificările din Panoul de noutăți, care sunt caracteristici vitale ale Stremio. Sunteți sigur că doriți să continuați?","CLICK_HERE":"apăsați aici","WRONG_PASSWORD":"E-mail sau parolă incorectă. În cazul în care ați uitat parola, ","SET_A_PASS":"setați o parolă","RESET_PASSWORD":"Resetați parola","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Ați uitat parola?","EMAIL_USED_WITH_FB":"Acest e-mail a fost folosit pentru autentificarea cu Facebook.","INVALID_EMAIL":"Vă rugăm să introduceți o adresă de e-mail validă","INVALID_PASSWORD":"Vă rugăm să introduceți o parolă validă","CONN_ERR":"Eroare de conexiune - vă rugăm să încercați din nou mai târziu.\\n\\nDacă problema persistă, dezactivați firewall-urile/programul antivirus (în special Bitdefender).","IMPORT_FROM_GUEST":"Importați Biblioteca din contul de oaspeți","RECEIVE_UPDATES_EMAIL":"Primirea actualizărilor prin e-mail de la Stremio","LOGIN_FAILED":"Autentificare eșuată.","SIGNUP_FAILED":"Înregistrare eșuată.","SEARCH_FAILED":"Căutarea a eșuat","EMAIL_USED":"Acest e-mail este deja în uz.","WAITING_FB_LOGIN":"Se autentifică cu Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Redați în playerul extern","EXTERNAL_REMEMBER_PLAYER":"Doriți să vă amintiți alegerea dvs.?","EXTERNAL_ALWAYS_PLAY":"Da","EXTERNAL_ONLY_ONCE":"Nu","BEST_FIT":"Potrivire perfectă","FIT_SCREEN":"Potrivire ecran","FILL":"Umplere","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Spuneți-ne despre ce vă place","INTRO_TASTE_LONG":"Spuneți-ne despre ce ați dori să urmăriți","INTRO_TASTE_PICK":"Alegeți {{interestsRemaining}} interese","INTRO_TASTE_PICK_MORE":"Alegeți încă {{interestsRemaining}} interese","INTRO_TASTE_HELP_US":"Ajutați-ne să vă cunoaștem mai bine.","INTRO_TASTE_CHOOSE_THESE":"Alegeți din acestea:","INTRO_TASTE_CHOOSE_MIN":"Alegeți cel puțin 3 categorii","INTRO_TASTE_CHOOSE_MIN_ERR":"Trebuie să alegeți cel puțin 3 categorii!","INTRO_TASTE_LIFESTYLE":"Stil de viață","INTRO_TASTE_SPORTS":"Sporturi","INTRO_TASTE_FOOD_HEALTH":"Mâncare și Sănătate","INTRO_TASTE_BEAUTY_FASHION":"Frumusețe și Modă","INTRO_TASTE_NEWS":"Știri","INTRO_TASTE_GAMING":"Jocuri video","INTRO_TASTE_SCIENCE_EDU":"Știință și Educație","INTRO_TASTE_MUSIC":"Muzică","INTRO_TASTE_TRAVEL":"Călătorii","INTRO_TASTE_LATE_NIGHT":"Emisiuni târzii","INTRO_TASTE_REALITY":"Realitate","INTRO_TASTE_COMEDY":"Comedie","INTRO_TASTE_DIY":"Fă-ți singur","INTRO_TASTE_TECH":"Tehnologie","INTRO_TASTE_CINEMA":"Cinematografie","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Addon-ul selectat nu este suportat pe această platformă.","ADDON_DISCLAIMER":"Utilizarea addon-urilor de la terți va fi întotdeauna sub responsabilitatea dvs. și sub supunerea legii din jurisdicția în care vă aflați.","ADDON_ACTIVATE":"Doriți să activați acest addon?","ADDON_REPO_ADD":"URL colecție addon-uri","ADDON_ADD":"Adăugare","INSTALL_ADDON":"Install addon","ADD_ADDON":"Adăugați addon","ADD_ADDON_DESCRIPTION":"Puteți adăuga un addon prin intermediul unui link extern, care va apărea sub addon-urile instalate.","PASTE_ADDON_URL":"Lipiți URL-ul addon-ului","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Ce este nou","BUTTON_CONTINUE":"Continuare","BUTTON_ACTIVATE":"Activează","BUTTON_ACTIVATED":"Activat","BUTTON_CANCEL":"Anulare","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Trimite","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Respingeți tot","BUTTON_VIEW_ALL":"vezi toate","BUTTON_SEE_ALL":"Vezi toate","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Deschideți în browser","LIB_EMPTY":"Biblioteca dvs. pare goală. Aflați cât de utilă poate fi :) ","HOW_START":"Iată cum puteți începe:","LIB_EMPTY_CAL":"Calendarul dvs. afișează serii din Biblioteca dvs.","HOW_START_CAL":"Iată cum puteți adăuga serii:","LIB_EMPTY_BOARD":"Bordul afișează notificări și recomandări legate de Biblioteca dvs.","HOW_START_BOARD_WAIT":"Vă rugăm să adăugați câteva serii sau canale la Biblioteca dvs. și acordați-ne câteva minute pentru procesare :)","HOW_START_BOARD":"Iată cum puteți adăuga serii și filme:","IMPORT_FB":"Importați lucrurile pe care le iubiți de pe <span>Facebook</span>","IMPORT_TRAKT":"Importați biblioteca media de pe <span>Trakt</span>","IMPORT_DISCOVER":"Găsiți lucruri interesante de pe <span>Discover</span>","IMPORT_DISK":"Importați filme sau serii pe care le aveți pe <span>discul local</span>","PLEASE_CREATE_ACC":"Vă rugăm să <u>creați un cont</u> pentru a activa sincronizarea Bibliotecii și Bordul.","IMPORT_DISCOVER_SIGNUP":"Înregistrați-vă și găsiți lucruri interesante de pe <span>Discover</span>","IMPORT_DISK_SIGNUP":"Înregistrați-vă și importați filme sau serii pe care le aveți pe <span>discul local</span>","LIB_EMPTY_CLOUD":"Bibliotecă cloud","LIB_EMPTY_CLOUD_DESC":"Bibliotecă personală în cloud sincronizată pe toate dispozitivele","LIB_EMPTY_EARLY":"Primii pași","LIB_EMPTY_EARLY_DESC":"Primirea notificărilor pentru episoade noi","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Obțineți recomandări personale","LIB_EMPTY_CALENDAR_DESC":"Planificați-vă calendarul personal de vizionare","LIB_EMPTY_ALL":"Înregistrați-vă pentru a obține toate acestea:","LIB_EMPTY_BEST":"Înregistrați-vă pentru a obține cel mai bun din Stremio","LIB_EMPTY_OTHER":"Înregistrați-vă pentru a activa Calendarul și alte caracteristici interesante","CALENDAR_ADDED":"Calendarul Stremio a fost adăugat la calendarul implicit al desktopului.","CALENDAR_ADDED_MSG":"Dacă acest lucru nu funcționează, vă rugăm să adăugați manual acest URL la aplicația dvs. de calendar","TRAKT_EXPIRED":"Autentificarea Trakt a expirat, vă rugăm să mergeți la Setări și să vă autentificați din nou","TRAKT_REQUIRES_LOGIN":"Eroare Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Trebuie să vă autentificați","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Setări","SETTINGS_NAV_GENERAL":"Generale","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Comenzi rapide","SETTINGS_SHORTCUT_RELOAD_APP":"Reîncarcă aplicația","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Deschideți Setările","SETTINGS_SHORTCUT_SWITCH_TABS":"Comutați între file","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Ciclați prin file înainte","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Ciclați prin file înapoi","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigați între meniuri","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Accesați căutarea","SETTINGS_SHORTCUT_EXIT_BACK":"Ieșiți / Reveniți înapoi","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Comutați meniul de viteză de redare","SETTINGS_SHORTCUT_MENU_VIDEOS":"Comutați meniul de videoclipuri","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Comutați meniul de subtitrări","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Comutați meniul de informații","SETTINGS_SHORTCUT_FULLSCREEN":"Comutați la modul ecran complet","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Afișați controalele","SETTINGS_SHORTCUT_PLAY_PAUSE":"Redați / Pauză","SETTINGS_SHORTCUT_VOLUME_UP":"Creșteți volumul","SETTINGS_SHORTCUT_VOLUME_DOWN":"Scădeați volumul","SETTINGS_SHORTCUT_SEEK_NEXT":"Salt la următorul","SETTINGS_SHORTCUT_SEEK_PREV":"Salt la anteriorul","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Salt înapoi","SETTINGS_SHORTCUT_SEEK_FORWARD":"Salt înainte","SETTINGS_SHORTCUT_PLAY_NEXT":"Redați următorul","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Măriți dimensiunea subtitrărilor","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Micsorați dimensiunea subtitrărilor","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Creșteți întârzierea subtitrărilor","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Scădeați întârzierea subtitrărilor","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Comutați bara laterală","SETTINGS_SHORTCUT_OR":"sau","SETTINGS_SHORTCUT_TO":"la","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autentificare","SETTINGS_FACEBOOK_IMPORT":"Importați","SETTINGS_CALENDAR_SUBSCRIBE":"Abonați-vă","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Limbă interfață","SETTINGS_LAUNCH_STARTUP":"Lansați la pornire","SETTINGS_VLC_DEFAULT":"Redați cu VLC","SETTINGS_UI_LANGUAGE":"Limbă UI","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Tasta Esc iese din modul ecran complet","SETTINGS_GAMEPAD":"Activați suportul pentru gamepad","SETTINGS_CLOSE_WINDOW":"Închideți aplicația la închiderea ferestrei","SETTINGS_SUBTITLES_LANGUAGE":"Limbă implicită pentru subtitrări","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Dimensiune implicită a subtitrărilor","SETTINGS_SUBTITLES_BACKGROUND":"Fundal subtitrări","SETTINGS_SUBTITLES_COLOR":"Culoare subtitrări","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Culoare contur subtitrări","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Culoare fundal subtitrări","SETTINGS_SEEK_KEY":"Taste sărire timp","SETTINGS_SEEK_KEY_SHIFT":"Taste sărire timp când tasta Shift este apăsată","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Durata de derulare rapidă înainte/înapoi","SETTINGS_BINGE":"Redare automată episod următor","SETTINGS_NEXT_VIDEO":"Afișare notificare pentru a începe următorul episod","SETTINGS_NEXT_VIDEO_TRIGGER":"Afișați notificarea pentru următorul episod pentru:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Durata afișării notificării pentru episodul următor","SETTINGS_PLAY_IN_BACKGROUND":"Redați în fundal","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Redați în playerul extern","SETTINGS_RESIZE":"Redimensionare automată a ferestrei înainte de redare","SETTINGS_OVERRIDE_SERVER":"Anulați URL-ul serverului de streaming (avansat)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"URL server de streaming: ","SETTINGS_SERVER_AVAILABLE":"Serverul de streaming este disponibil.","SETTINGS_SERVER_UNAVAILABLE":"Serverul de streaming nu este disponibil.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Eroare","SETTINGS_SERVER_CONFIGURE_TITLE":"Configurați URL-ul serverului de streaming","SETTINGS_SERVER_CONFIGURE_INPUT":"Introduceți un URL pentru serverul de streaming","SETTINGS_SERVER_CACHE_SIZE":"Dimensiune cache","SETTINGS_SERVER_TORRENT_PROFILE":"Profil torrent","SETTINGS_HTTPS_ENDPOINT":"Endpoint HTTPS pentru streaming: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Utilizați întotdeauna cea mai recentă versiune Beta","SETTINGS_IMPORT_FB":"Importați din Facebook","SETTINGS_IMPORT_DISK":"Importați din discul local","SETTINGS_IMPORT_TRAKT":"Importați din Trakt","SETTINGS_PAUSE_MINIMIZED":"Pauzați redarea când este minimizată","SETTINGS_HWDEC":"Decodificare accelerată de hardware","SETTINGS_BACKGROUND":"Redare în fundal","SETTINGS_SUBSCRIBE_CALENDAR":"Abonați-vă la calendar","SETTINGS_REQ_EXPORT":"Solicitați exportul datelor","SETTINGS_ACC_DELETE":"Solicitați ștergerea contului","SETTINGS_CHANGE_PASSWORD":"Schimbați parola","SETTINGS_TOS":"Termeni și condiții","SETTINGS_SUPPORT":"Contactați suportul tehnic","SETTING_LANGUAGE":"Limbă","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Scrobbling Trakt","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Deautentificare din Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Deautentificare din Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scanați codul QR pentru a deschide comanda la distanță","SETTINGS_DESKTOP_NOTIFICATIONS":"Notificări de desktop","SETTINGS_DATA_SAVER":"Economizor de date","SETTINGS_LANGUAGE_INTERFACE":"interfață","SETTINGS_LANGUAGE_SUBS":"subtitrări implicite","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Selectați automat Pista audio","SETTINGS_DEFAULT_AUDIO_TRACK":"Pista audio implicită","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"cont","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"versiune","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Lansați playerul într-o fereastră separată (avansat)","SETTINGS_PLAY_IN_EXTERNAL":"Începeți întotdeauna video în playerul extern","SETTINGS_STORAGE_BUTTON":"Ștergeți stocarea locală","SETTINGS_STORAGE_MODAL_TITLE":"Sunteți sigur?","SETTINGS_STORAGE_MODAL_MESSAGE":"Aceasta va șterge stocarea locală și vă va deconecta.","SETTINGS_HWDEC_PICKER":"Selectați setarea de decodificare accelerată de hardware","SETTINGS_HW_AUTOMATIC":"Automată","SETTINGS_HW_DISABLED":"Dezactivată","SETTINGS_HW_ACCELERATED":"Accelerare decodificare","SETTINGS_HW_FULL":"Accelerare completă","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitrări","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Comenzi","SETTINGS_SECTION_AUTO_PLAY":"Redare automată","SETTINGS_SECTION_ADVANCED":"Avansate","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Subtitrări extensii","SUBSPICKER_BLACK_BACKGROUND":"Utilizați culoarea de fundal neagră","SUBSPICKER_VERTICAL_OFFSET":"Deplasare verticală","SUBSPICKER_SIZE":"Dimensiune","SUBSPICKER_DELAY":"Întârziere","SUBSPICKER_EMBEDDED_SUBS":"Subtitrări incorporate","MOBILE_PRIVACY_POLICY":"Politica de confidențialitate","MOBILE_CRASH_REPORTING":"Raportarea incidentelor","MOBILE_ZOOM_TO_FILL":"Mărire pentru a umple ecranul","MOBILE_PASSTHROUGH":"Ieșire audio digitală (passthrough)","MOBILE_RUN_LOW_BATTERY":"Rulează cu bateria descărcată","MOBILE_RUN_FOREGROUND":"Rulează ca serviciu în prim-plan","MOBILE_PERFORMANCE":"PERFORMANȚĂ ȘI STABILITATE","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"Codul QR expiră în ","MOBILE_LOG_INTO":"Conectați-vă la contul Stremio ","MOBILE_SCAN_QR":"Scanați codul QR de mai sus sau accesați ","MOBILE_LINK_ACCOUNT":"Conectați-vă la cont","MOBILE_SPEEDPICKER_CANCEL":"Anulați","MOBILE_SPEEDPICKER_LABEL":"Selectați viteza de redare","MOBILE_EMPTY_LIBRARY":"Biblioteca dvs. este goală","MOBILE_NO_ADDON_ACTIVE":"Nici o extensie Stremio activă pentru acest tip.","MOBILE_ORGANIZER_WARNING":"Aplicația Stremio Organizer oferă funcționalitate limitată. Pentru o listă de fluxuri redabile și experiența completă Stremio, utilizați Stremio pe desktop.","MOBILE_ADDON_LOADING":"se încarcă încă","MOBILE_ADDONS_LOADING":"extensii se încarcă încă","MOBILE_ADDON":"Extensie","MOBILE_CONFIGURE_ADDON":"Configurați extensia dvs.","MOBILE_CONFIGURE_ADDON_LABEL":"Configurați extensia","MOBILE_ORGANIZER_ADDONS_WARNING":"Aplicația Stremio Organizer oferă o selecție limitată de extensii. Pentru experiența Stremio completă, utilizați Stremio pe desktop.","MOBILE_DISCONNECT":"Deconectați","MOBILE_LOOKING_FOR_DEVICES":"Căutare dispozitive...","MOBILE_CAST_TO":"Transmiteți la","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Ștergere cont","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Ștergerea contului nu este instantanee din motive legale. După solicitarea ștergerii contului, va trebui să utilizați o altă adresă de e-mail/profil Facebook pentru a crea un nou cont Stremio în viitor.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirmați ștergerea contului","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Contul dvs. a fost creat utilizând Facebook. Pentru a șterge contul dvs., vă rugăm să utilizați portalul nostru pentru utilizatori la www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Vă rugăm să introduceți parola pentru a confirma ștergerea contului.","MOBILE_DELETE_ACCOUNT_BUTTON":"Ștergere cont","NAVIGATION_ON":"Pornit","NAVIGATION_OFF":"Oprit","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Sunt de acord să primesc comunicări de marketing de la Stremio","QUIT":"Ieșire","CONNECTED":"Conectat","AUTHENTICATE":"Autentificare","AUTHENTICATING":"Authenticating...","CACHING":"Se realizează cache","SETTINGS_CACHING_DRIVE":"Unitate pentru cache","ENABLE_LOCAL_FILES_ADDON":"Activați extensia pentru fișiere locale (necesită repornire)","LOCAL_ADDON_NOT_ENABLED":"Extensia locală nu este activată. Faceți clic aici pentru a merge la setări și a o activa","ENABLE_REMOTE_HTTPS_CONN":"Activați conexiunile HTTPS la distanță","TORRENT_PROFILE":"Profil torrent","DATA_CACHING":"Cache de date","MAGNET_PARSING":"Se parsează un link magnet","January":"Ianuarie","February":"Februarie","March":"Martie","April":"Aprilie","May":"Mai","June":"Iunie","July":"Iulie","August":"August","September":"Septembrie","October":"Octombrie","November":"Noiembrie","December":"Decembrie","Monday":"Luni","Tuesday":"Marți","Wednesday":"Miercuri","Thursday":"Joi","Friday":"Vineri","Saturday":"Sâmbătă","Sunday":"Duminică","Action":"Acțiune","Comedy":"Comedie","War":"Război","Family":"Familie","Animation":"Animație","Adventure":"Aventură","Fantasy":"Fantezie","Crime":"Crimă","Mystery":"Mister","Romance":"Romantic","Drama":"Dramă","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Științifico-Fantastic","Music":"Muzică","Biography":"Biografie","Documentary":"Documentar","Sport":"Sport","Musical":"Muzical","Western":"Vestern","Film-Noir":"Film Noir","News":"Știri","History":"Istorie","Game-Show":"Concurs TV","Reality-TV":"Reality TV","Talk-Show":"Talk Show","Film & Entertainment":"Film și Divertisment","Gaming":"Gaming","From TV":"De la TV","Lifestyle":"Stil de viață","Science & Education":"Știință și Educație","Cooking & Health":"Gătit și Sănătate","Beauty & Fashion":"Frumusețe și Modă","Sports":"Sporturi","News & Politics":"Știri și Politică","How-to & DIY":"Cum să și Bricolaj","Tech":"Tehnologie","Automotive":"Auto","Causes & Non-Profits":"Cauze și Organizații Non-Profit","Movies":"Filme","Uk Live Tv":"TV live din Marea Britanie","Fashion":"Modă","Business News Radio":"Radio Știri de Afaceri","Business Tv":"TV de Afaceri","Cars & Auto":"Mașini și Auto","Comedy Radio":"Radio de Comedie","Lifestyle Radio":"Radio de Stil de Viață","News Tv":"TV de Știri","Food And Wine":"Mâncare și Vin","Latino Tv":"TV Latino","Shopping Tv":"TV de Shopping","Religion":"Religie","Kids":"Copii","Body & Soul":"Corp și Suflet","Education":"Educație","Indian Tv":"TV Indian","Extreme Sports":"Sporturi Extreme","Middle Eastern Tv":"TV din Orientul Mijlociu","Celebrity Tv":"TV cu Celebrități","Science Tv":"TV Științifică","Bikini babe":"Bikini babe","Outdoors":"Activități în aer liber","German Tv":"TV German","French Tv":"TV Francez","Italian Tv":"TV Italian","Gamer Tv":"TV pentru Gameri","Travel":"Călătorii","Asian Tv":"TV Asiatic","Entertainment":"Divertisment","News Radio":"Radio de Știri","Music Radio":"Radio de Muzică","Language Learning":"Învățarea Limbilor","Science Radio":"Radio Științific","Tech Radio":"Radio Tehnologic","Science & Technology Vod":"VOD Știință și Tehnologie","new video":"video nou","new episode":"episod nou","new movie":"film nou","recommended":"recomandat","we recommend":"recomandăm","offer of the day":"ofertă a zilei","news":"știri","music video":"videoclip muzical","CTX_SHOW_HOTKEYS":"Afișați tastele rapide","CTX_DISMISS_NOTIF":"Respinsți notificările","CTX_DISMISS_ALL":"Respinsți toate","CTX_SHARE":"Partajați","CTX_COPY_SHARE_LINK":"Copiați linkul de partajare","CTX_COPY_MAGNET_LINK":"Copiați linkul magnet","CTX_COPY_STREAM_LINK":"Copiați linkul pentru flux","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Descărcați acest video","CTX_DOWNLOAD_SUBS":"Descărcați subtitrările","CTX_VIEW_ON_YOUTUBE":"Vizualizați pe YouTube","CTX_SHOW":"Afișați","CTX_PLAY":"Redați","CTX_PLAY_IN":"Redați în","CTX_PLAY_ON":"Redați pe","CTX_WATCH_ON":"Vizualizați pe","CTX_WATCH":"Vizualizați","CTX_WATCHED":"Vizualizat","CTX_WATCH_BEGINNING":"Vizualizați de la început","CTX_WATCH_MOBILE":"Vizualizați pe un dispozitiv mobil","CTX_REWIND":"Derulați la început","CTX_MARK_WATCHED":"Marcați ca vizualizat","CTX_MARK_NON_WATCHED":"Marcați ca necitit","CTX_MARK_UNWATCHED":"Marcați ca nevizualizat","CTX_MARK_REST":"Marcați restul ca vizualizat","CTX_UNMARK_REST":"Marcați restul ca necitit","CTX_RECEIVE_NEW_NOTIF":"Primiți notificări noi","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Eliminați din cache","CTX_REMOVE_CACHE_EP":"Eliminați episodul din cache","CTX_OPEN_CONTAINING":"Deschideți folderul care conține","CTX_REMOVE":"Eliminați din bibliotecă","CTX_AVAILABLE_OFFLINE":"Disponibil offline","CTX_PAUSED":"Pus pe pauză","CTX_ALWAYS_ON_TOP":"Mereu deasupra","CTX_FULLSCREEN":"Pe tot ecranul","CTX_WRONG_SUBS":"Subtitrări greșite?","CTX_REPORT_ISSUES":"Raportați o problemă","CTX_COPY":"Copiați","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Lipiti","CTX_CLEAR":"Goliți","CTX_CLEAR_RECENT_SEARCHES":"Goliți căutările recente","HELLO_THERE":"Bună!","HOPE_YOU_ENJOY":"Sperăm că vă bucurați de Stremio și că a devenit deja una dintre aplicațiile dvs. preferate!","WHO_ARE_WE":"Cine suntem? Suntem echipa din spatele acestui produs - doi oameni care lucrează din greu în fiecare zi de ultimii 3 ani pentru a face acest produs din ce în ce mai bun.","SUPPORT_US":"Dacă vă place să utilizați Stremio și dacă Stremio este valoros pentru dvs. - distribuiți vestea!","SPREAD_THE_WORD":"Partajați acum cu prietenii dvs., distribuiți vestea despre Stremio","MORE_PEOPLE":"Cu cât mai mulți oameni folosesc Stremio, cu atât mai bine va deveni!","SEND_A_LINK":"Sau trimiteți un link către site-ul nostru","TIP_LOCALFILES":"Sfat: puteți trage și plasa fișiere video locale în Stremio","ADDON_MY":"Extensiile mele","ADDON_COMMUNITY":"Extensii Comunitare","ADDON_OFFICIAL":"Extensii Oficiale","ADDON_REPOS":"Colectii de Extensii","ADDON_SEARCH":"Căutați extensii","ADDON_INSTALL":"Instalați","ADDON_CONFIGURE":"Configurați","ADDON_UNINSTALL":"Dezinstalați","ADDON_UPGRADE":"Actualizați","ADDON_INSTALLED":"Instalat","ADDON_INSTALLED_MSG":"Extensie instalată!","ADDON_UPGRADED_MSG":"Extensie actualizată!","ADDON_UNKNOWN":"Necunoscut","ADDON_ERR":"Eroare la instalarea extensiei!","ADDON_DISCONNECTED":"Deconectat","ADDON_APP_MISSING":"Aplicația pentru această sursă nu este instalată. Doriți să o instalați acum?","ADDON_APP_INSTALL":"Instalați acum","ADDON_PAGE":"Pagina extensiei","ADDON_TOP_CONTENT":"Cel mai bun din această extensie","ADDON_PROVIDES":"Această extensie vă va oferi:","ADDON_WATCH":"Vizionați #{types} acum!","ADDON_WATCH_FREE":"Vizionați #{types} GRATUIT acum!","ADDON_ADDON":"Extensie","ADDON_SUPPORTED_TYPES":"Tipuri acceptate","ADDON_SUPPORTED_CATALOGS":"Cataloge acceptate","ADDON_PROVIDES_DISCOVER":"Mai multe #{types} în Descoperă","ADDON_PROVIDES_STREAMS":"Vizionați #{types}","ADDON_PROVIDES_STREAMS_FREE":"Vizionați #{types} GRATUIT","ADDON_PROVIDES_SUBTITLES":"Subtitrări pentru #{types}","ADDON_CANTDETECT":"Nu am putut detecta o instanță de Stremio în funcție, deci nu am putut detecta ce extensii aveți instalate.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Nu s-au găsit informații despre aceasta ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Eroare la preluarea informațiilor despre aceasta.","ERR_CANT_PARSE_MAGNET":"Imposibil de analizat magnetul","ERR_NO_MAGNET_INFOHASH":"Nu există un hash de informații valid pentru magnet","ERR_NO_FILE_PATH":"Nu se poate trimite cererea fără un drum către fișier","ERR_NO_TORRENT":"Niciun torrent returnat","ERR_NO_SUPPORTERD_FILES":"Nu s-au găsit fișiere suportate","ERR_OPENING_FILES":"Nu s-au putut deschide fișiere externe","ERR_INVALID_LINK":"Legătură invalidă","ERR_REGISTERED_ONLY":"Această opțiune este disponibilă doar pentru utilizatorii înregistrați.","ERR_CLIPBOARD":"Nu se poate reda din clipboard","ERR_CLIPBOARD_READ":"Nu se poate citi clipboardul pe această platformă","ERR_CLIPBOARD_GENERIC":"Nu s-a găsit nicio adresă URL redabilă în clipboard. Vă rugăm să copiați o adresă URL (de exemplu, o legătură magnet) către un videoclip.","BOARD_CONTINUE_WATCHING":"Continuați vizionarea","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filme alese special pentru dumneavoastră.<br />Acest film este o recomandare de exemplu.","BOARD_EXPLANATION_EPISODES":"Episoade noi din seria dumneavoastră preferată apar aici.<br />Adăugați serialele pe care le urmăriți în Biblioteca dumneavoastră.","BOARD_EXPLANATION_VIDEOS":"Episoade noi din canalele dumneavoastră preferate apar aici.<br />Adăugați canalele YouTube pe care le urmăriți în Biblioteca dumneavoastră.","WEBSITE_ENJOYED_BY":"Apreciat de peste 30 de milioane de utilizatori din întreaga lume","WEBSITE_STREAMING_ENHANCED":"Îmbunătățit pentru streaming","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio oferă o experiență de divertisment sigură, modernă și lipsită de întreruperi. Cu interfața sa ușor de utilizat și biblioteca sa diversificată de conținut, inclusiv suport pentru 4K HDR, utilizatorii pot să se bucure de filmele și emisiunile lor TV preferate pe toate dispozitivele lor. Și cu angajamentul său față de securitate, Stremio este alegerea ultimă pentru o experiență de streaming de înaltă calitate fără griji.","WEBSITE_AVAILABLE_ON":"Disponibil pe","WEBSITE_WATCH_AND_ENJOY":"Vizionați și bucurați-vă.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio face lucrurile ușoare ca un tort","WEBSITE_ALL_FEATURES":"Toate funcțiile","WEBSITE_EASY_TO_USE":"Ușor de utilizat","WEBSITE_EASY_TO_USE_DETAILS":"Stremio este conceput să fie prietenos cu utilizatorul și ușor de utilizat. Cu interfața sa curată și intuitivă, puteți naviga cu ușurință și găsi conținutul pe care doriți să-l vizionați.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Interfață uniformă pe toate dispozitivele","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Disponibil pentru o gamă largă de platforme (inclusiv Windows, Mac, Linux, Android și altele), Stremio va ține evidența progresului dumneavoastră pe toate dispozitivele dumneavoastră. Doar autentificați-vă și continuați să vizionați fără a fi necesar să configurați aplicația din nou pe fiecare dispozitiv nou.","WEBSITE_ALL_DOWNLOADS":"Toate descărcările","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Suport pentru video de înaltă definiție","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Un player video integrat care suportă cele mai multe formate video, inclusiv conținutul 4K HDR, vă permite să vă bucurați de cea mai înaltă calitate disponibilă.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Bibliotecă variată de conținut","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio se integrează cu un număr mare de surse video populare, cum ar fi Netflix, Amazon Prime Video, Hulu, YouTube și multe altele.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Creați un cont gratuit","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Experiență de vizualizare personalizată","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio vă permite să personalizați aspectul și simțul interfeței prin schimbarea temei, adăugarea sau eliminarea de addons și multe altele.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Suport pentru subtitrări multilingve","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Puteți acum să vă bucurați de tot conținutul preferat în limba dorită, deoarece Stremio suportă subtitrări în toate limbile.","WEBSITE_ALL_STREMIO_FEATURES":"Toate funcțiile Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Încercați Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"pe televizorul dumneavoastră acum","WEBSITE_YOU_CAN_NOW_WATCH":"Acum puteți viziona toate emisiunile TV preferate pe dispozitivele Android TV. Aplicația Stremio TV vă permite să vă bucurați de o seară de film cu ușurință.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Acum puteți viziona toate emisiunile TV preferate pe Smart TV-ul sau dispozitivele Android TV. Aplicațiile Stremio TV vă permit să vă bucurați de o seară de film cu ușurință.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio pentru Smart TV-uri","WEBSITE_PLAY_STORE_REVIEW":"Probabil cea mai bună și utilă aplicație de avut pe dispozitivul dumneavoastră. Este una dintre aplicațiile pe care le folosesc în fiecare zi, în special pe Android TV-ul meu de mulți ani. Bine făcută, cu o comunitate puternică care furnizează funcționalități utile. Felicitări. Continuați cu treaba bună.","WEBSITE_REVIEWS":"recenzii","WEBSITE_GET_STREMIO_FOR_FREE":"Obțineți Stremio gratuit","WEBSITE_GET_STREMIO_NOW":"Obțineți Stremio acum","WEBSITE_STREMIO_FEATURES":"Funcționalități Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Transmiteți ca un profesionist cu funcționalitățile avansate ale lui Stremio și bucurați-vă de accesul fără întreruperi la toate conținuturile dumneavoastră preferate","WEBSITE_DISCOVER_MORE":"Descoperiți mai mult.","WEBSITE_DISCOVER_MORE_DETAILS":"Nu rămâneți niciodată fără lucruri de vizionat","WEBSITE_COMMUNITY_DRIVEN":"Comunitate condusă de utilizatori","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio are o comunitate mare și activă de utilizatori care contribuie la dezvoltarea software-ului prin crearea și partajarea de addon-uri.","WEBSITE_GET_INVOLVED":"Implicați-vă","WEBSITE_NEW_THEATER_EXPERIENCE":"Experiență nouă de teatru","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Noua aplicație TV dedicată Stremio vă permite să vă bucurați de o seară de film pe dispozitivele Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Noile aplicații TV dedicate Stremio vă permit să vă bucurați de o seară de film pe Smart TV-ul sau dispozitivele Android TV.","WEBSITE_FREE_AND_SECURE":"Gratuit și sigur","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio oferă securitate și confidențialitate de neegalat pentru utilizatori. Cu caracteristica sa unică de a rula addon-uri de la distanță, Stremio oferă o modalitate mai sigură de a reda conținutul preferat în comparație cu alte platforme. Securitatea și confidențialitatea dumneavoastră sunt priorități absolute, iar platforma se asigură că toate datele dumneavoastră sunt protejate.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Să spuneți adio îngrijorărilor legate de securitate și confidențialitate și să salutați o lume a divertismentului fără sfârșit cu Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Informații furnizate de","WEBSITE_CONTRIBUTE_DESC":"la proiect și ajutați-ne să facem Stremio și mai bun","WEBSITE_COMMUNITY_DESC":"Credem că cel mai bun mod de a crea o experiență de streaming cu adevărat uimitoare este prin implicarea comunității noastre în proces. Fie că sunteți un programator, un artist sau doar un fan - puteți ajuta la dezvoltarea lui Stremio.","WEBSITE_COMMUNITY_DESC_2":"Așadar, alăturați-vă nouă astăzi și deveniți parte a comunității Stremio și continuați să modelați viitorul streamingului.","WEBSITE_WAYS_TO_GET_INVOLVED":"Modalități de a vă implica","WEBSITE_IN_THE_STREMIO_COMMUNITY":"în comunitatea Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Împărtășiți-vă gândurile","WEBSITE_REPORT_BUGS":"Raportați erori","WEBSITE_SUGGEST_FEATURES":"sugerați funcționalități","WEBSITE_AND_PROVIDE_FEEDBACK":"și furnizați feedback pe canalele noastre de socializare.","WEBSITE_BETA_TESTING_PROGRAM":"Program de testare beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participați la programul nostru de testare beta (trimitem invitații regulat) în comunitatea Stremio.","WEBSITE_JOIN_NOW":"Alăturați-vă acum!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Comunități oficiale Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Comunități neoficiale Stremio","WEBSITE_BECOME":"Deveniți","WEBSITE_A_VOLUNTEER_TRANSLATOR":"un traducător voluntar","WEBSITE_ARE_YOU_A_DEVELOPER":"Sunteți un dezvoltator?","WEBSITE_CONTRIBUTE_CODE":"Puteți contribui cu cod la proiectele noastre open source. Avem mai multe proiecte pe GitHub care caută contribuitori. Dacă sunteți interesat să ajutați, verificați-le:","WEBSITE_STREMIO_ON_GITHUB":"Stremio pe GitHub","WEBSITE_CREATE_ADDON_DESC":"Creați un addon pentru a îmbunătăți funcționalitatea Stremio (avem o interfață API ușor de utilizat):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Vă oferim, de asemenea, oportunitatea de a ne însoți ca dezvoltator intern, astfel încât să putem crește împreună.","WEBSITE_APPLY_AS_AN_INTERN":"Aplicați ca stagiar","WEBSITE_CALLING_ALL_ARTISTS":"Suntem în căutarea tuturor artiștilor!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Arătați creativitatea și dragostea dumneavoastră pentru Stremio prin încărcarea lucrărilor dumneavoastră de artă fan în galeria noastră online. Fie că este vorba de desene, picturi sau design digital, vrem să vedem interpretarea dumneavoastră unică asupra brandului Stremio. Alăturați-vă comunității noastre de entuziaști ai artei și împărtășiți-vă lucrările cu fani Stremio din întreaga lume.","WEBSITE_STREMIO_FANART_GALLERY":"Galerie de artă fan Stremio","WEBSITE_INTERN_DESIGNER":"Deveniți parte a echipei noastre și duceți-vă creativitatea la noi culmi cu oportunitățile noastre palpitante de stagiu.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Proiectul de filme din domeniul public","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"La Stremio, suntem dedicați să păstrăm istoria filmului și televiziunii prin identificarea videoclipurilor din domeniul public și ale celor orfane. Lucrând împreună cu comunitatea noastră, putem asigura că aceste opere de artă clasice sunt accesibile tuturor și protejate pentru ca generațiile viitoare să se bucure de ele.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Nu ezitați să ne contactați dacă doriți să vă implicați în acel proiect.","WEBSITE_JOIN_THE_PROJECT":"Alăturați-vă proiectului","WEBSITE_BE_PART_OF_OUR_MISSION":"Fii parte din misiunea noastră","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Sunteți interesat să vă alăturați echipei Stremio? Oferim muncă complet la distanță pentru profesioniștii pasionați. Vizitați pozițiile noastre deschise.","WEBSITE_OPEN_POSITIONS":"POZIȚII DESCHISE","WEBSITE_DESCRIPTION":"DESCRIERE","WEBSITE_LEARN_MORE":"Aflați mai multe","WEBSITE_COMPANY":"Companie","WEBSITE_CONTACTS":"Contacte","WEBSITE_NEED_HELP":"Aveți nevoie de ajutor?","WEBSITE_STREMIO_WEB_ON_IOS":"Ghid pentru Stremio Web pe iOS","WEBSITE_LINK_ART_V2":"Galerie de artă","WEBSITE_PARTNERS":"Parteneri","WEBSITE_SLOGAN_WATCH":"Vizionați instantaneu","WEBSITE_SLOGAN_ALL":"Toate conținuturile video pe care le iubiți într-un singur loc","WEBSITE_SLOGAN_NEW":"Tot ce puteți viziona","WEBSITE_SLOGAN_NEW_NEW":"Libertatea de a transmite","WEBSITE_WATCH_FROM":"Vizionați de la","WEBSITE_DOWNLOAD":"Descărcați acum","WEBSITE_DOWNLOAD_FOR":"Descărcați acum pentru","WEBSITE_IS_DESKTOP":"Stremio este o aplicație desktop, deschideți această pagină pe PC-ul dumneavoastră și descărcați-o","WEBSITE_DESKTOP_DEMO_VID":"Demonstrație desktop","WEBSITE_PAGE_HOME":"Acasă","WEBSITE_PAGE_FEATURES":"Funcționalități","WEBSITE_PAGE_ADDONS":"Addon-uri","WEBSITE_PAGE_TECH":"Tehnologie","WEBSITE_PAGE_CREATE_ADDON":"Creați un Addon","WEBSITE_PAGE_CONTACTS":"Contacte","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Filme","WEBSITE_TYPE_series_PL":"Seriale","WEBSITE_TYPE_tv":"TV în direct","WEBSITE_TYPE_channel":"Canale","WEBSITE_STREMIO_WHAT_IS":"Stremio este o aplicație care vă ajută să vă organizați și să vizionați instantaneu videoclipurile, filmele, serialele TV și canalele TV preferate.","WEBSITE_FEATURES_WATCH":"Vizionați instantaneu în HD","WEBSITE_FEATURES_WATCH_DETAIL":"Dați clic și redați filmele, emisiunile TV, videoclipurile și canalele TV preferate.","WEBSITE_FEATURES_SUBS":"Subtitrări automate","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio alege automat subtitrări sincronizate pentru limba dumneavoastră.","WEBSITE_FEATURES_SUBS_LABEL":"Mișcarea ta, șefule.","WEBSITE_FEATURES_CAST":"Redați pe TV și dispozitive mobile","WEBSITE_FEATURES_CAST_DETAIL":"Redați pe AppleTV, Chromecast, Smart TV (DLNA/UPnP) și dispozitive mobile.","WEBSITE_LIB":"Bucurați-vă de biblioteca dumneavoastră personală","WEBSITE_LIB_COLLECT":"Colectează din Stremio","WEBSITE_LIB_IMPORT":"Importă din Facebook","WEBSITE_LIB_LOCAL":"Adaugă de pe unitatea dvs. locală","WEBSITE_BOARD":"The Board - Locul tău unic pentru notificări și recomandări","WEBSITE_BOARD_RECOMMEND":"Serial TV recomandat","WEBSITE_BOARD_TRENDING":"Film în tendințe","WEBSITE_BOARD_NEW":"Video nou","WEBSITE_BOARD_EPISODE":"Episod nou","WEBSITE_BOARD_1":"Căutați ceva interesant de vizionat? Obțineți recomandări bazate pe gusturile dvs.!","WEBSITE_BOARD_2":"Primiți notificări atunci când apare un nou episod al serialului TV preferat sau al canalului YouTube pe care-l urmăriți!","WEBSITE_BOARD_YOUTUBE":"Video-uri noi de pe canale YouTube","WEBSITE_BOARD_EPISODES":"Episoade noi ale serialelor pe care le urmăriți","WEBSITE_ADDONS":"Addon-uri de conținut","WEBSITE_TECH_DETAIL":"Iubim tehnologia, iubim știința nebună!\\nStremio folosește următoarele tehnologii open source:","WEBSITE_TECH_WCJS":"WebChimera.js permite Stremio să redea orice format video cu performanță bună.","WEBSITE_TECH_WCJS_EXTRA":"Contribuitori la proiectul de bază","WEBSITE_TECH_ELECTRON":"Electron oferă o platformă inovatoare pentru construirea Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Contribuitori la proiect","WEBSITE_TECH_LINVODB":"O tehnologie de bază de date care asigură organizarea datelor dvs. disponibile oriunde vă autentificați.","WEBSITE_TECH_LINVODB_EXTRA":"Tehnologie internă","WEBSITE_CREATE_ADDON":"Creați-vă addon-ul","WEBSITE_CREATE_ADDON_DETAIL":"Aveți un serviciu care furnizează conținut video? Vă vom ajuta să beneficiați de caracteristicile Stremio prin crearea propriului addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Beneficiile creării unui addon pentru Stremio","WEBSITE_P2P_BEAUTY":"Frumusețea streaming-ului Peer-to-Peer","WEBSITE_P2P_1":"Streaming-ul fiabil și accesibil Full HD / 4K la cerere sau streaming live","WEBSITE_P2P_2":"Platforma de distribuție oferind o experiență excelentă pentru utilizatori","WEBSITE_P2P_3":"Vom crea un addon care să corespundă exact nevoilor dvs.","WEBSITE_P2P_CONTACT":"Interesați? Sunteți binevenit să ne <a href=\'mailto:office@stremio.com\'>contactați</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Vom fi bucuroși să vă ajutăm să integrați conținutul dvs. cu Stremio!","WEBSITE_P2P":"Din când în când, apare o tehnologie care schimbă regulile jocului. Am investit mult timp și efort în construirea motorului nostru de streaming video Peer-to-Peer (P2P), care oferă performanțe excelente și versatilitate pentru a se adapta la orice caz de utilizare. Contactați-ne pentru streaming video P2P cu DRM activat la cerere sau în timp real.","WEBSITE_THOUGHTS":"Gândurile pe care le împărtășim:","WEBSITE_SPREAD":"Răspândiți vestea despre Stremio:","WEBSITE_CONTACT":"Contactați-ne, ne bucurăm să auzim de la dvs.!","WEBSITE_OPENSOURCE":"Pentru proiectele noastre open source, accesați","WEBSITE_BITCOIN":"Donați Bitcoin:","WEBSITE_FAQ":"Întrebări frecvente","WEBSITE_FAQ_SHORT":"Întrebări frecvente","WEBSITE_QUESTIONS":"Întrebări","WEBSITE_TOS":"Termeni și condiții","WEBSITE_LEGAL":"Informații legale","WEBSITE_PAGE_ABOUT":"Despre","WEBSITE_PAGE_BECOME_PARTNER":"Deveniți partener","WEBSITE_ALL_YOU_CAN_WATCH":"Libertatea de a viziona\\nTot ce vrei.","WEBSITE_FREEDOM_TO_STREAM":"Libertatea de a transmite","WEBSITE_WHAT_IS_STREMIO":"Ce este Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio este un punct unic pentru agregarea conținutului video. Descoperiți, organizați și vizionați conținut video din toate tipurile de surse pe orice dispozitiv pe care îl dețineți.","WEBSITE_WHAT_IS_STREMIO_P2":"Filme, seriale TV, serii, televiziune live sau canale web precum YouTube și Twitch.tv - puteți găsi toate acestea pe Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio este un centru media modern care este o soluție unică pentru divertismentul video. Descoperiți, vizionați și organizați conținut video din addon-uri ușor de instalat.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filme, seriale TV, televiziune live sau canale web - găsiți toate acestea pe Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Bucurați-vă pe toate dispozitivele dvs. media","WEBSITE_DEVICES_COLLECT":"Colectează din Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importă din Facebook","WEBSITE_DEVICES_LOCAL":"Adaugă de pe unitatea dvs. locală","WEBSITE_JOIN_THE_PARTY_NOW":"Alăturați-vă petrecerii acum","WEBSITE_DEVICES_ALL":"Ușor de utilizat pe toate dispozitivele dvs.;","WEBSITE_EXTENDABLE_CATALOG":"Catalog de video extensibil în mod infinit;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Funcționalități excelente pentru organizarea conținutului dvs. media;","WEBSITE_AS_SEEN_ON":"Așa cum se vede pe","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Despre noi","WEBSITE_LINK_TECHNOLOGY":"Tehnologie","WEBSITE_LINK_APPS":"Aplicații","WEBSITE_LINK_DOWNLOADS":"Descărcări","WEBSITE_MORE":"Mai mult","WEBSITE_LINK_ADDONS":"Addon-uri","WEBSITE_LINK_ADDON_SDK":"SDK pentru addon-uri","WEBSITE_LINK_CONTRIBUTE":"Contribuie","WEBSITE_LINK_COMMUNITY":"Comunitate","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... Și mai multe","WEBSITE_LINK_HELP":"Centrul de ajutor","WEBSITE_LINK_CONTACTS":"Cerințe de afaceri","WEBSITE_LINK_TOS":"Termeni și condiții","WEBSITE_LINK_PRAVACY":"Politica de confidențialitate","WEBSITE_SUBSCRIBE":"Abonează-te","WEBSITE_NEWSLETTER":"Alătură-te newsletter-ului nostru pentru lucruri uimitoare","WEBSITE_PLACEHOLDER_EMAIL":"Adresa ta de email","WEBSITE_COMMUNITY":"Comunitate","WEBSITE_LINK_PRAVACY_LEGAL":"Confidențialitate și legale","WEBSITE_WHY":"De ce facem asta","WEBSITE_WHY_P1":"La Stremio, venim la serviciu în fiecare zi deoarece vrem să rezolvăm o problemă importantă pentru industria de video la cerere. Există atât de mult conținut nou publicat în fiecare minut, încât este practic imposibil să vă descurcați în el.","WEBSITE_WHY_P2":"Ajutăm oamenii să navigheze în acea lume imensă a divertismentului video și să descopere conținut nou de bucurat. Aplicațiile noastre aduc împreună filme, seriale, televiziune live, canale web și multe altele. Suntem dedicați să facem extrem de ușor pentru utilizatori să găsească titluri și emițători pe care îi iubesc.","WEBSITE_WHY_P3":"Puteți utiliza serviciul nostru pe orice dispozitiv și în orice moment, făcând din Stremio singurul hub de divertisment video de care veți avea vreodată nevoie.","WEBSITE_TEAM":"ECHIPA","WEBSITE_TEAM_P":"Echipa Stremio este mică, dar puternică: dintre cei zece dintre noi, codăm în X limbaje și împărtășim experiență în dezvoltarea software-ului, designul UI și UX, marketingul și publicitatea, afacerile și startup-urile.","WEBSITE_FEATURES":"Caracteristici","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Descoperiți conținut nou cu ușurință","WEBSITE_FEATURES_DISCOVER_P":"Descoperiți cu ușurință filme, seriale TV, serii și canale noi de vizionat. Răsfoiți după categorie, gen, rating, recentitate, etc. sau pur și simplu tastați un nume pentru a găsi. Stremio face găsirea de conținut video nou un lucru ușor.","WEBSITE_FEATURES_ALL_CONTENT":"Tot conținutul dvs. video pe un singur ecran","WEBSITE_FEATURES_ALL_CONTENT_P1":"Vedeți ce filme, serii sau videoclipuri nu ați terminat și continuați să le vizionați; primiți notificări pentru noi episoade și lansări; și răsfoiți recomandările pe care le veți primi pe baza obiceiurilor dvs. de vizionare.","WEBSITE_FEATURES_LIBRARY":"Organizați-vă biblioteca video","WEBSITE_FEATURES_LIBRARY_P1":"Adăugați orice titlu la biblioteca Stremio cu un singur clic și găsiți-vă drumul în jurul conținutului dvs., aranjat în mod ordonat după tip, recentitate sau ordine alfabetică.","WEBSITE_FEATURES_CALENDAR":"Urmăriți tot ce vizionați","WEBSITE_FEATURES_CALENDAR_P1":"Obțineți o vizualizare calendaristică a tuturor filmelor și serialelor pe care le adăugați în biblioteca dvs. Stremio. Exportați calendarul Stremio și sincronizați-l pentru a ști întotdeauna când apare un nou episod sau o premieră.","WEBSITE_FEATURES_BIG_SCREEN":"Bucurați-vă de conținutul video pe un ecran mai mare","WEBSITE_FEATURES_BIG_SCREEN_P1":"Redați ceea ce vizionați pe un dispozitiv mai mare - fie că este vorba de un telefon, tabletă sau TV - cu un singur clic.","WEBSITE_FEATURES_SOURCES":"Vizionați video din multe surse diferite","WEBSITE_FEATURES_SOURCES_P":"Instalați addon-uri oficiale și din comunitate pentru a vă bucura de video furnizat din multe surse diferite - toate într-o aplicație elegantă și ușor de utilizat.","WEBSITE_CREATE_AN_ADDON":"Creați un addon","WEBSITE_FEATURES_SYNC":"Sincronizați-vă biblioteca pe diferite dispozitive și continuați redarea","WEBSITE_FEATURES_SYNC_P1":"Conectați-vă cu contul dvs. pe toate dispozitivele și bucurați-vă de biblioteca, addon-urile, redarea și calendarul sincronizate.","WEBSITE_FEATURES_EXTENDABLE":"Catalog de video extensibil prin addon-uri","WEBSITE_FEATURES_EXTENDABLE_P1":"Catalogul de addon-uri Stremio oferă o serie de addon-uri de instalat și vizionat o varietate de conținut video. Acesta include filme, emisiuni, televiziune live, sport, știri, podcast-uri, canale web, jocuri video și altele.","WEBSITE_FEATURES_AUTO_SUBS":"Subtitrări automate","WEBSITE_FEATURES_AUTO_SUBS_P1":"Cu addon-urile noastre pentru subtitrări, veți primi opțiuni selectate automat pentru limba dvs. preferată.","WEBSITE_FEATURES_CHROMECAST":"Redare pe Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Bucurați-vă de conținutul video pe un ecran mai mare sau redați ceea ce vizionați pe un alt dispozitiv.","WEBSITE_FEATURES_KEEP_TRACK":"Urmăriți serialele TV și canalele Web favorite","WEBSITE_FEATURES_KEEP_TRACK_P1":"Obțineți o vizualizare calendaristică și notificări pentru episoadele noi ale serialului dvs. preferat și ale canalelor web.","WEBSITE_FEATURES_POWER_USER":"Funcționalități pentru utilizatori avansați","WEBSITE_FEATURES_POWER_USER_P1":"Redați într-un player extern","WEBSITE_FEATURES_POWER_USER_P2":"Redați dintr-un fișier torrent sau un link magnet","WEBSITE_FEATURES_POWER_USER_P3":"Importați în biblioteca dvs. din aprecierile de pe Facebook sau de pe discul local","WEBSITE_ADD_ONS":"Addon-uri","WEBSITE_ADD_ONS_P1":"Tot conținutul video furnizat de Stremio este obținut prin intermediul unui sistem de addon-uri - niciun conținut sau furnizor de conținut nu a fost încorporat în aplicație.","WEBSITE_ADD_ONS_P2":"Există două grupuri de addon-uri disponibile: addon-uri oficiale și addon-uri din comunitate.","WEBSITE_ADD_ONS_P3":"Cele oficiale sunt dezvoltate și găzduite de Stremio, în timp ce addon-urile din comunitate sunt create de membrii comunității noastre, care le găzduiesc, de asemenea.","WEBSITE_ADDONS_OFFICIAL":"Addon-uri oficiale","WEBSITE_ADDONS_WATCHUB":"Vizionați filmele, serialele și emisiunile preferate de la furnizori precum iTunes, Hulu, Amazon și alte servicii din Marea Britanie/SUA.","WEBSITE_ADDONS_YOUTUBE":"Vizionați canalele preferate de YouTube fără reclame și primiți notificări pentru noile încărcări de la contribuitorii pe care îi urmăriți.","WEBSITE_ADDONS_FILMON":"Uitați-vă la televiziunea live, filmele și televiziunea socială gratuit. 600 de canale TV, 45.000 de filme gratuite, documentare și multe altele.","WEBSITE_ADDONS_OPENSUBTITLES":"Subtitrări pentru filme și TV în mai multe limbi, mii de subtitrări traduse încărcate în fiecare zi.","WEBSITE_ADDONS_COMMUNITY":"Addon-uri din comunitate","WEBSITE_ADDONS_FILMON_VOD":"Vizionați video la cerere de la Filmon.tv","WEBSITE_ADDONS_TWICH":"Uitați-vă la fluxuri live de pe Twitch.tv - o platformă de streaming video pentru industria de e-sports.","WEBSITE_ADDONS_VODO":"Vizionați filme independente complet gratuit.","WEBSITE_ADDONS_NETFLIX":"Vizionați filmele și serialele web de pe Netflix.","WEBSITE_ADDONS_CREATE":"Creați un addon","WEBSITE_ADDONS_CREATE_P1":"Dacă doriți, puteți dezvolta propriul addon. În acest fel, puteți oferi dvs. și comunității noastre acces la conținut video nou și puteți ajunge la o nouă audiență țintită din milioane de utilizatori din întreaga lume.","WEBSITE_ADDONS_START_CREATE":"Pentru a începe, vizitați pagina SDK pentru addon-uri Stremio:","WEBSITE_DOWNLOADS":"Descărcări","WEBSITE_DOWNLOADS_P1":"Pentru performanță optimă, vă recomandăm să utilizați cea mai recentă versiune disponibilă a aplicațiilor Stremio. Dacă dintr-un motiv oarecare doriți să utilizați o versiune mai veche, o puteți descărca aici.","WEBSITE_DOWNLOADS_P1_SHORT":"Pentru performanță optimă, vă recomandăm să utilizați cea mai recentă versiune disponibilă a aplicațiilor Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio pentru Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio pentru macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio pentru Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio pentru Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio pentru Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio pentru dispozitive mobile Android","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio pentru Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio pentru iOS (versiune limitată)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Descărcați Serviciul Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"Serviciul Stremio este o aplicație companion pentru Stremio Web. Vă recomandăm să utilizați cea mai recentă versiune disponibilă a Serviciului Stremio.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Serviciul Stremio pentru Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Serviciul Stremio pentru macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Serviciul Stremio pentru Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Serviciul Stremio pentru Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Mai multe opțiuni de descărcare","WEBSITE_DOWNLOAD_NEW":"Nou!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Am lansat Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribuie","WEBSITE_CONTRIBUTE_P1":"Platforma Stremio este open source și puteți crea ușor un addon pentru conținut care nu este încă obținut.","WEBSITE_CONTRIBUTE_WHY":"De ce ar trebui să creați un addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Atingeți o nouă audiență pentru conținutul dvs. video","WEBSITE_CONTRIBUTE_WHY_P2":"Baza de utilizatori a Stremio crește rapid - în primul an de la lansare, Stremio a obținut 1 milion de utilizatori din întreaga lume, iar în al doilea an de existență a platformei, acest număr a crescut la 2,5 milioane.","WEBSITE_CONTRIBUTE_WHY_P3":"Cu addon-ul dvs., puteți atinge ușor această audiență și distribui conținutul video către ei.","WEBSITE_CONTRIBUTE_ALL":"Uitați-vă la filmele, videoclipurile, serialele și canalele preferate într-un singur loc.","WEBSITE_CONTRIBUTE_ALL_P1":"Sunteți fanul unui anumit tip de conținut care nu este încă disponibil în Stremio? Creați un addon pentru el și bucurați-vă să vă uitați la videoclipurile preferate într-unul dintre cele mai mari și mai ușor de utilizat centre de divertisment de pe piață.","WEBSITE_CONTRIBUTE_ALL_P2":"În plus, veți primi recunoștința nesfârșită a altor membri ai comunității Stremio cu gândire asemănătoare.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetizați-vă addon-ul și câștigați bani cu ajutorul acestuia","WEBSITE_CONTRIBUTE_MONETIZE_P1":"După ce dezvoltați un addon nou pentru Stremio, îl puteți monetiza ușor prin mai multe modalități diferite. Dacă luați în considerare aceasta, nu ezitați să ne contactați la adresa ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - vom fi bucuroși să vă consultăm și să vă sfătuim cu privire la opțiunile de monetizare ale addon-ului.","WEBSITE_CONTRIBUTE_TRANSLATE":"Deveniți traducător voluntar","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Dacă doriți să utilizați aplicațiile Stremio în diferite limbi, vă puteți alătura comunității noastre de traducători voluntari. Aceștia ne ajută să adăugăm versiuni ale Stremio în multe limbi diferite.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Sunteți nerăbdător să începeți?","WEBSITE_TRANSALTE_STREMIO":"Traduceți Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Comunități oficiale","WEBSITE_COMMUNITY_OFFICIALS_P1":"Faceți parte din creșterea comunității Stremio. Urmați-ne pe rețelele sociale și nu ezitați să ne salutați - ne place să auzim de la fanii noștri!","WEBSITE_COMMUNITY_UNOFFICIALS":"Comunități neoficiale","STREMIO_COMMUNITY_NL":"Stremio Olanda","STREMIO_COMMUNITY_BRASIL":"Stremio Brazilia","STREMIO_COMMUNITY_GERMANY":"Stremio Germania","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgia","STREMIO_COMMUNITY_FRANCE":"Stremio Franța","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugalia","STREMIO_COMMUNITY_ITALY":"Stremio Italia","STREMIO_COMMUNITY_UK":"Stremio Marea Britanie","STREMIO_COMMUNITY_USA":"Stremio SUA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexic","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Stremio Minunat","WEBSITE_COMMUNITY_PARTNERS":"Parteneri și susținători","WEBSITE_COMMUNITY_GOODIES":"Lucruri Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapere","WEBSITE_COMMUNITY_ART":"Galerie de Artă a Comunității","WEBSITE_LINK_ART":"Galeria de artă a comunității","WEBSITE_CONTACT_US":"Contactați-ne","WEBSITE_CONTACT_US_P1":"Dacă aveți întrebări, comentarii sau sugestii, nu ezitați să ne contactați prin formularul de contact de mai jos.","WEBSITE_CONTACT_US_P2":"Rețineți că ne aflăm în Bulgaria, deci poate exista o întârziere în rezolvarea cererii dvs. din cauza diferențelor de fus orar.","WEBSITE_CONTACT_US_SUCCESS":"Mesajul dvs. a fost trimis. Vă vom contacta în cel mai scurt timp posibil.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Vă rugăm să introduceți o adresă de e-mail validă!","WEBSITE_CONTACT_US_Q_RELATED_TO":"La ce este legată întrebarea dvs.?","WEBSITE_CONTACT_US_Q_OS":"Care este sistemul dvs. de operare?","WEBSITE_CONTACT_US_PH_EMAIL":"Adresa dvs. de e-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Mesaj","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"TRIMITE","WEBSITE_CONTACT_US_Q_1":"Cum să instalez?","WEBSITE_CONTACT_US_Q_2":"Cum să dezinstalez?","WEBSITE_CONTACT_US_Q_3":"(HTML) Cum să fac lasagna?","WEBSITE_CONTACT_US_Q_4":"Addon-uri","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Tehnologie","WEBSITE_TECHNOLOGY_P1":"Iubim tehnologia și științele nebune. </br> Iată ce propulsează Stremio (totul este open source).","WEBSITE_TECHNOLOGY_P_QT":"Dezvoltarea software pe mai multe platforme în cea mai bună variantă.","WEBSITE_TECHNOLOGY_P_MPV":"Un player media gratuit, open source și pe mai multe platforme.","WEBSITE_TECHNOLOGY_P_RN":"React Native vă permite să construiți aplicații mobile utilizând doar JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Cadru multimedia încorporat în aplicație pentru a obține multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm este o platformă mobilă și înlocuiește SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js este un mediu de execuție open-source, pe mai multe platforme, pentru JavaScript.","WEBSITE_TECHNOLOGY_P_RUST":"Rust este un limbaj de programare pentru sisteme multi-paradigmă, concentrat pe siguranță, în special pe concurență sigură.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribuiți la proiect","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Există două moduri prin care puteți contribui la Stremio și ne puteți ajuta să facem produsul chiar mai bun.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Puteți dona abilitățile dvs. valoroase de limbă prin traducerea platformei...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"sau","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... puteți utiliza abilitățile dvs. de programare pentru a crea addon-uri din comunitate.","WEBSITE_TRANSLATE_STREMIO":"Traduceți Stremio","WEBSITE_404_OH_NO":"Ups! Pagina pe care o căutați nu se află aici...","WEBSITE_GO_HOME":"Mergi la pagina de start","WEBSITE_LINK_OTHER_DOWNLOADS":"Alte descărcări","WEBSITE_FAQ_ABR":"Întrebări frecvente","WEBSITE_SUPPORT":"Suport","WEBSITE_DOWNLOAD_4_0_BETA":"Descărcați acum Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Obțineți pentru desktop","WEBSITE_LINK_ADDON_COMPETITION":"Competiție de addon-uri","WEBSITE_LINK_ART_CONTEST":"Concurs de artă","WEBSITE_MY_ACCOUNT":"Contul meu","WEBSITE_MAINPAGE_FAQ_001_H1":"Ce este Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio este un centru de media modern care vă oferă libertatea de a viziona tot ceea ce doriți.","WEBSITE_MAINPAGE_FAQ_002_H1":"Cum funcționează?","WEBSITE_MAINPAGE_FAQ_002_P1":"Odată ce instalați Stremio pe dispozitivul dvs. și creați un cont, tot ce trebuie să faceți este să vizitați catalogul de addon-uri și să instalați orice addon doriți, și sunteți gata!","WEBSITE_MAINPAGE_FAQ_002_P2":"După aceasta, puteți merge la secțiunile Descoperă sau Tabloul pentru a începe să explorați conținutul.","WEBSITE_MAINPAGE_FAQ_003_H1":"Ce pot viziona aici?","WEBSITE_MAINPAGE_FAQ_003_P1":"Multe lucruri: Filme, Seriale TV, Canale web, Sport, Canale TV, ascultați Podcast-uri și multe altele. Datorită sistemului nostru de addon-uri, puteți accesa o varietate de conținut.","WEBSITE_MAINPAGE_FAQ_004_H1":"Este Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Da, puteți verifica următoarele linkuri: ${1}aplicația pentru desktop${2} și ${3}organizația GitHub${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Este Stremio sigur?","WEBSITE_MAINPAGE_FAQ_005_P1":"Da: deoarece este un software open-source, codul este auditabil public și îl puteți revizui singur.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Ce se întâmplă cu intimitatea mea?","WEBSITE_MAINPAGE_FAQ_006_P1":"Respectăm intimitatea utilizatorilor și nu colectăm nicio dată personală în afara minimului esențial pentru a vă crea și sincroniza contul.","WEBSITE_MAINPAGE_FAQ_006_P2":"Există și un ${1}mod oaspeți${2} la înregistrare, care nu necesită deloc date: în acest mod, nu se fac apeluri către serverul nostru. Cu toate acestea, acest lucru vine cu pierderea unor funcții utile, cum ar fi sincronizarea bibliotecii dvs. pe mai multe dispozitive.","WEBSITE_MAINPAGE_FAQ_007_H1":"Pot să transmit pe televizorul meu?","WEBSITE_MAINPAGE_FAQ_007_P1":"Da, suportăm Chromecast și puteți transmite atât de pe aplicațiile de desktop, cât și de pe cele mobile (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Câte addon-uri are Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"La sfârșitul anului 2019, peste 50 - pentru mai multe informații, verificați catalogul nostru de addon-uri.","WEBSITE_MAINPAGE_FAQ_009_H1":"Poate fi Stremio extins dincolo de ceea ce este în catalogul de addon-uri?","WEBSITE_MAINPAGE_FAQ_009_P1":"Da, ar trebui să verificați acestea: ${1}PimpMyStremio${2}, ${3}comunitățile de pe Reddit${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Ce dispozitive suportă Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Avem aplicații pentru desktop pentru Windows, Mac și Linux. Pentru dispozitivele mobile, susținem Android și iOS, deși trebuie să țineți cont că iOS este limitat în funcționalitate (nu suportă majoritatea addon-urilor).","WEBSITE_MAINPAGE_FAQ_010_P2":"Există multe dispozitive bazate pe Android pe care puteți rula Stremio, cum ar fi NVIDIA Shield și Amazon Fire Stick, dar nu le susținem oficial.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Puteți adăuga anumit conținut pe Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Ne pare rău, nu furnizăm conținut în sine, dar cu cât aveți mai multe addon-uri Stremio instalate, cu atât mai mult conținut veți putea găsi.","WEBSITE_MAINPAGE_FAQ_012_H1":"Poate Stremio să redea link-uri magnet?","WEBSITE_MAINPAGE_FAQ_012_P1":"Da, și poate reda și link-uri HTTP normale și fișiere torrent (prin tragere și plasare).","WEBSITE_MAINPAGE_FAQ_013_H1":"Pot descărca un videoclip și să-l vizionez offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Funcția de vizionare offline este în curs de dezvoltare, dar dacă permiteți Stremio să facă cache pe dispozitivul dvs. (din panoul de setări), puteți viziona ulterior videoclipurile fără o conexiune.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nimic nu funcționează, ajutați-mă!","WEBSITE_MAINPAGE_FAQ_014_P1":"Sunteți sigur că ați instalat addon-uri? Dacă da, verificați cu ${1}centrul nostru de ajutor${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Cum susține Stremio operațiunile de dezvoltare?","WEBSITE_MAINPAGE_FAQ_015_P1":"Rulează anunțuri non-intruzive ocazional, dar luăm în considerare trecerea la un model de donație.","WEBSITE_MAINPAGE_FAQ_015_P2":"Pentru mai multe întrebări, mergeți la ${1}centrul nostru de ajutor${2}.","HELP_LEARN_MORE":"Ajutați-ne să aflăm mai multe despre dvs.","LIFESTYLE":"Stil de viață","SPORTS":"Sport","FOOD_HEALTH":"Mâncare și sănătate","BEAUTY_FASHION":"Frumusețe și Modă","NEWS":"Știri","GAMING":"Jocuri video","SCIENCE_EDUCATION":"Știință și educație","MUSIC":"Muzică","TRAVEL":"Călătorii","LATE_NIGHT":"Târziu noaptea","REALITY":"Realitate","COMEDY":"Comedie","DIY":"Cum să faci singur","TECH":"Tehnologie","CINEMA":"Cinematograf","CONTINUE":"Continuare","SLOW_LOADING":"ÎNCĂRCARE GREOAIE?","I_GIVE_UP":"RENUNȚ","LEARN_MORE":"Aflați mai multe","POOR_SOURCE":"Această sursă este slab disponibilă sau conexiunea dvs. la internet nu este suficient de rapidă","PICK_CATEGORIES_ERR":"Trebuie să alegeți cel puțin 3 categorii","ADJUST_TIMING":"Ajustați timpul cu ","ADJUST_SIZE":"Ajustați dimensiunea cu ","SEARCH_ANYTHING":"Puteți căuta orice...","ALL_CATEGORIES":"Toate","SEARCH_CATEGORIES":"Filme, Seriale, YouTube și TV","SEARCH_PERSONS":"Actorii, Regizorii și Scenariștii","SEARCH_PROTOCOLS":"Link-uri HTTP și Magnet","SEARCH_TYPES":"Link-uri IMDB / TVDB","WATCHED":"Văzut","SHOW_LESS":"Afișează mai puțin","LAST_SEARCHES":"Căutări recente","CLEAR_HISTORY":"Șterge istoricul","CHOOSE_SOME":"ALEGEȚI CEVA DIN ASTA:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote nu a putut fi încărcat","STREMIO_OFFLINE":"Stremio este offline","STREMIO_EXPENSIVE_CONNECTION":"Am detectat că utilizați o conexiune de date mobile, doriți să continuați?","USE_DATA":"Utilizați datele","WARNING":"Avertisment","MORE_INFO":"Mai multe informații ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Se încarcă...","STREMIO_TV_BACK_TO_LANGUAGES":"Înapoi la limbi","STREMIO_TV_REMOTE":"Telecomandă","STREMIO_TV_GO_TO":"Mergi la:","STREMIO_TV_OR_SCAN":"sau scanează:","STREMIO_TV_ADDON_INSTRUCTIONS":"Vă rugăm să urmați instrucțiunile pentru a instala addon-urile preferate.","STREMIO_TV_LIVE_TV":"TV în direct","STREMIO_TV_RESUME_WATCHING":"Continuă vizionarea","STREMIO_TV_LOADING_BACKGROUND":"Se încarcă fundalul","STREMIO_TV_CHECKING_AUTHENTICATION":"Se verifică autentificarea","STREMIO_TV_LOADING_BOARD":"Se încarcă Tabloul","STREMIO_TV_LOGIN_HEADER_LINE_1":"Dorim ca utilizatorii noștri să aibă cea mai bună experiență personalizată cu software-ul nostru.","STREMIO_TV_LOGIN_HEADER_LINE_2":"De aceea vă rugăm să creați și/sau să vă autentificați în contul dvs.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Vă mulțumim pentru înțelegere,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Echipa Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Pentru a utiliza Telecomanda Web cu telefonul dvs. inteligent / tabletă / desktop:","STREMIO_TV_WIFI_SETUP":"Configurare Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Cercul Stremio nu a detectat o conexiune la internet.","STREMIO_TV_WIFI_DETAILS_1":"Conectați-vă la:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Utilizați parola:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Deschideți un browser web cu linkul:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Implicit","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"După Ultima vizionare","STREMIO_TV_LIBRARY_SORT_NAME":"După Nume","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"După Numărul de vizionări","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Sezonul ${1}","STREMIO_TV_STREAMS_LOADING":"Addon-uri încărcate ${1} / ${2}...","STREMIO_TV_STREAMS_STILL_LOADING":"Addon-ul ${1} încă se încarcă...","STREMIO_TV_PLAYER_SETTINGS":"Setări player","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Întârziere subtitrări","STREMIO_TV_PLAYER_AUDIO_DELAY":"Întârziere audio","STREMIO_TV_PLAYER_VIDEO_SCALING":"Ajustare scalare video","STREMIO_TV_PLAYER_CHAPTERS":"Capitole","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Treci peste ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Sursă de stream nesuportată","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Nu s-a putut deschide linkul extern","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Nu este reglabil în modul de trecere audio","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Redă cu ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Redă cu playerul libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Comutare la playerul libVLC din cauza unei erori de redare","STREMIO_TV_ADDONS_TITLE":"Folosiți Stremio pe telefonul sau PC-ul dvs. pentru a instala sau configura addon-uri și apăsați „Sincronizează addon-urile”","STREMIO_TV_ADDONS_SUBTITLE":"Notă: asigurați-vă că utilizați același cont Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sincronizează addon-urile","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addon-urile au fost sincronizate cu succes","STREMIO_TV_ADDONS_SYNC_FAILED":"Sincronizarea addon-urilor a eșuat","STREMIO_TV_META_LINK_FAILED":"Nu s-a putut deschide linkul meta","STREMIO_TV_CATALOG_LOADING":"Catalogul încă se încarcă...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Limba interfeței actualizată","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema actualizată","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Player implicit","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Player extern","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Limbă preferată","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"A doua limbă preferată","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Redare tunelată","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Posibile probleme de redare pe anumite dispozitive","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Anumite formate video s-ar putea să nu funcționeze","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Potrivirea ratelor de cadre","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Dezactivat","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Numai rata de cadre","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Rata de cadre și rezoluția","STREMIO_TV_SETTINGS_NO_CACHING":"Fără memorare cache","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Implicit","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Rapid","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra rapid","STREMIO_TV_SETTINGS_SERVER_URL":"URL server de streaming","STREMIO_TV_SETTINGS_SERVER_VERSION":"Versiune server","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Necunoscut","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Versiune Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Editare URL server","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Introduceți un URL de server de streaming","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Afișare statistici în timpul încărcării","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Pentru a citi Politica de Confidențialitate Stremio, accesați:","STREMIO_TV_SETTINGS_TOS_TEXT":"Pentru a citi Termenii și Condițiile Stremio, accesați:","STREMIO_TV_NAV_SEARCH":"Căutare","STREMIO_TV_NAV_HOME":"Acasă","STREMIO_TV_NAV_DISCOVER":"Descoperă","STREMIO_TV_NAV_LIBRARY":"Bibliotecă","STREMIO_TV_NAV_MOVIES":"Filme","STREMIO_TV_NAV_SERIES":"Seriale","STREMIO_TV_NAV_CHANNELS":"Canale","STREMIO_TV_NAV_TV":"TV în direct","STREMIO_TV_NAV_SETTINGS":"Setări","STREMIO_TV_NAV_ADDONS":"Addon-uri","STREMIO_TV_LOGIN_TITLE":"Conectare Cont","STREMIO_TV_LOGIN_EXPIRES_IN":"Expiră în","STREMIO_TV_LOGIN_STEP_ONE":"Scanați codul QR de mai sus sau mergeți la","STREMIO_TV_LOGIN_STEP_TWO":"Autentificați-vă în contul Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Solicitați un nou link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Codul de conectare a fost actualizat","STREMIO_TV_SEARCH_PLACEHOLDER":"Tastați ceva","STREMIO_TV_SEARCH_NO_ADDONS":"Nu au fost solicitate addon-uri pentru cataloage!","STREMIO_TV_SEARCH_BUTTON":"Căutare","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Istoric căutare","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Puteți căuta titluri, actori, canale și multe altele...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Șterge istoric căutare","STREMIO_TV_FILTERS_DESCRIPTION":"Alegeți din unul dintre filtrele de mai jos","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Serverul de streaming este offline. Verificați setările serverului.","FILTERS":"Filtre","SETTINGS":"Setări","ACCOUNT":"Cont","LOGOUT":"Deconectare","THEMES":"Teme","PLAYBACK":"Redare","PLAYBACK_SPEED":"Viteză redare","AUDIO_TRACKS":"Piste audio","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videoclipuri","SERVER":"Server","LINKS":"Linkuri","ABOUT":"Despre","INTERFACE":"Interfață","ANIMATIONS":"Animații","STATUS":"Stare","LANGUAGE":"Limbă","SIZE":"Mărime","DELAY":"Întârziere","BOLD":"Aldin","OPACITY":"Opacity","TEXT_COLOR":"Culoarea textului","OUTLINE_COLOR":"Culoarea conturului","BACKGROUND_COLOR":"Culoarea fundalului","BACKGROUND_BLUR":"Estompare fundal","SEEK_TIME_DURATION":"Durată căutare timp","AUTO_PLAY":"Redă automat următorul episod","PLAY_NOW":"Redă acum","MARK_AS_WATCHED":"Marchează ca vizionat","MARK_AS_UNWATCHED":"Marchează ca nevizionat","REWIND_TO_BEGINNING":"Derulează la început","CONTINUE_WATCHING":"Continuă vizionarea","ALL":"Toate","SECONDS":"secunde","ON":"Activat","OFF":"Dezactivat","RELOAD":"Reîncărcare","EDIT_URL":"Editează URL-ul","URL":"URL","NONE":"Niciunul","EMBEDDED":"Încorporat","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Comutare dispozitive","REMOTE_VIDEOS":"Videoclipuri","REMOTE_ADJUST_TIMING":"Ajustare sincronizare","REMOTE_ADJUST_SIZE":"Ajustare mărime","REMOTE_COULD_NOT_BE_LOADED":"Telecomanda Web nu a putut fi încărcată","REMOTE_RETRY":"Reîncercare","TORRENT_PROFILE_DEFAULT":"Implicit","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Rapid","TORRENT_PROFILE_ULTRA_FAST":"Ultra rapid","MB_S":"MB/s","FAQ_001_H1":"Ce este Stremio?","FAQ_001_P1":"Stremio este un software pentru centru media proiectat pentru divertisment video cu ușurință în utilizare în minte. Stremio vă permite să vă organizați și să vizionați propria colecție de filme, seriale, canale și TV în direct.","FAQ_001_P2":"Stremio colectează conținutul pe care vi-l arată de pe discul local și prin sistemul nostru de addon-uri.","FAQ_001_P3":"De asemenea, vă va notifica atunci când apar episoade/videoclipuri/filme noi pe care le urmăriți și vă va oferi recomandări de filme.","FAQ_02_H1":"Cum se compară Stremio cu Kodi și Plex?","FAQ_02_P1":"Suntem inspirați de cele două programe. Dar avem obiective diferite - Stremio este orientat în mod specific către divertisment video și încearcă să devină soluția principală pentru asta prin ușurința sa de utilizare.","FAQ_02_P2":"Stremio nu va fi niciodată la fel de personalizabil și bogat în funcții ca Kodi și Plex, dar este semnificativ mai ușor de utilizat. Doar ${1}încercați-l și vedeți${2} :)","FAQ_03_H1":"Cum se compară Stremio cu Netflix?","FAQ_03_P1":"Iarăși, Netflix este una dintre inspirațiile noastre. Ne străduim să obținem experiența utilizatorului de la Netflix, plus multe adăugiri. Dar cel mai important, vă oferim libertatea de a vă gestiona propria bibliotecă și de a adăuga surse noi de conținut cu ajutorul sistemului nostru de addon-uri.","FAQ_03_P2":"Acest lucru face ca Stremio să fie infinit extensibil, astfel că atunci când utilizați Stremio, nu sunteți limitat la conținutul pe care Netflix decide să îl licențieze. De exemplu, prin intermediul Stremio puteți viziona conținut de pe ${1}Filmon.tv${2}, ${3}Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} și chiar ${9}Netflix${10} în sine!","FAQ_04_H1":"Cum se compară Stremio cu Flipboard?","FAQ_04_P1":"Această întrebare nu este foarte obișnuită, cu excepția cazului în care discutăm cu oameni din start-up-uri :)","FAQ_04_P2":"Stremio este în mod intenționat un agregator de conținut, ceea ce îl face practic Flipboard pentru video. Acest lucru este foarte vizibil în secțiunea noastră Tablou, care vă oferă cataloage și notificări pentru episoade noi/videoclipuri noi pentru ceea ce urmăriți, exact ca Flipboard.","FAQ_05_H1":"Cum se compară Stremio cu Popcorn Time?","FAQ_05_P1":"Stremio și Popcorn Time sunt similare ca interfață de utilizator, pentru că nu există multe modalități de a realiza corect cataloage de divertisment video :)","FAQ_05_P2":"Dar în timp ce Popcorn Time se concentrează pe redarea de torrente din surse specifice, Stremio nu are restricții și este doar un agregator de conținut - nu este blocat într-o sursă specifică de conținut.","FAQ_05_P3":"În plus, noi nu oferim niciun addon pentru torrente în mod implicit, deci Stremio nu acoperă cazul de utilizare Popcorn Time cu funcționalitate oficială.","FAQ_05_P4":"O altă diferență semnificativă este că Popcorn Time este complet open source, în timp ce Stremio este ${1}parțial open source${2}.","FAQ_06_H1":"Veți adăuga acest film/serial?","FAQ_06_P1":"Nu, ne pare rău :(","FAQ_06_P2":"După cum este menționat și în majoritatea celorlalte întrebări, Stremio nu furnizează niciun conținut în sine - totul este adăugat prin intermediul sistemului nostru de addon-uri. În cazul în care aveți o cerere de conținut, puteți folosi butonul „Raportați” din Player, care va trimite un e-mail autorului addon-ului pe care îl utilizați în prezent.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Vei crea un addon pentru X?","FAQ_08_P1":"Este cu desăvârșire posibil.","FAQ_08_P2":"Dacă aveți o idee pentru un addon, lăsați-ne un mesaj la ${1}office@stremio.com${2}, dar vă rugăm să vă asigurați că ideea dvs. de addon nu va încălca drepturile de autor sau termenii de utilizare.","FAQ_08_P3":"În prezent, următoarele lucruri de pe agenda noastră sunt addon-uri pentru FandangoNOW, video la cerere Filmon.tv și Crunchyroll.","FAQ_09_H1":"Folosește Stremio BitTorrent?","FAQ_09_P1":"Da, Stremio suportă BitTorrent ca protocol de streaming. Puteți folosi asta fie cu un addon pentru torrente, fie prin trascinarea și fixarea unui fișier .torrent în Stremio, fie prin lipirea unui magnet link în Bara de căutare.","FAQ_09_P2":"Vă rugăm să rețineți că singurul addon oficial care folosește BitTorrent este ${1}Vodo${2}, care oferă conținut indie, permis în întregime pentru distribuție cu BitTorrent.","FAQ_09_P3":"Noi nu susținem utilizarea addon-urilor terților care ar putea permite încălcarea drepturilor de autor.","FAQ_10_H1":"Ce pot viziona în Stremio cu addon-urile oficiale?","FAQ_10_P1":"În mod implicit, puteți viziona conținut de pe Filmon.tv, YouTube și Vodo în Stremio însuși, cu ajutorul player-ului său încorporat. În plus, avem un addon pentru Twitch.tv și câteva altele.","FAQ_10_P2":"Acest lucru oferă o selecție de:","FAQ_10_L1":"Canale TV populare, oferite de Filmon.tv - de exemplu E4, BBC, Bollyworld TV","FAQ_10_L2":"Totul de pe YouTube - de exemplu BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Filme indie cu Vodo","FAQ_10_L4":"Transmisiuni de jocuri online cu Twitch.tv","FAQ_10_P3":"În plus, există multe surse de conținut furnizate cu addon-urile Guidebox și Netflix, care <b>nu</b> se joacă în întregime în Stremio, ci vă redirecționează către serviciul dat. De exemplu, addon-ul Guidebox vă oferă o selecție de filme pe care le puteți viziona gratuit în SUA, din servicii precum TubiTV și Crackle.","FAQ_11_H1":"Stremio nu se instalează, ce ar trebui să fac?","FAQ_11_P1":"Dacă sunteți pe Windows, încercați ${1}acest instalator alternativ${2}.","FAQ_11_P2":"Dacă sunteți pe Mac OS X, vă rugăm să știți că nu susținem nimic mai vechi decât OS X Mavericks (10.9).","FAQ_11_P3":"Dacă sunteți pe Linux, rețineți că susținem doar Linux pe 64 de biți (x64) în acest moment.","FAQ_11_P4":"Dacă în continuare nu puteți rezolva problema, vă rugăm să ne scrieți la ${1}grupul nostru de Facebook${2}.","FAQ_12_H1":"De ce antivirusul meu se plânge? Este Stremio sigur?","FAQ_12_P1":"Vă asigurăm că Stremio este ${1}100% curat${2}.","FAQ_12_P2":"Antivirusul dvs. se plânge pentru că includem publicitate în installer-ul nostru, pe care unii programe antivirus îl recunosc ca ad-ware.","FAQ_12_P3":"Dacă nu sunteți sigur, puteți încerca ${1}instalatorul alternativ${2} al nostru.","FAQ_13_H1":"Cum pot crea un addon?","FAQ_13_P1":"În primul rând, vă recomandăm să verificați ${1}modulul nostru de sistem pentru addon-uri${2} pe GitHub.","FAQ_13_P2":"Apoi, puteți urma ${1}tutorialul Salut, lume!${2}.","FAQ_13_P3":"Dacă nu aveți abilități de programare, vă rugăm să postați ideea dvs. de addon pe ${1}comunitatea noastră de Reddit${2} și să ne contactați cu ideea dvs. de addon la ${3}office@stremio.com${4}.","FAQ_14_H1":"Cum se publică addon-urile?","FAQ_14_P1":"Când creați un addon și îl găzduiți și introduceți un câmp <b>endpoint</b> în manifestul dvs., care indică către o adresă de addon funcțională, addon-ul se va publica automat în ${1}catalogul de addon-uri${2}.","FAQ_14_P2":"Acest lucru se întâmplă pentru că partea de server a modulului stremio-addons face automat o solicitare către API-ul nostru pentru a anunța addon-ul. Când API-ul nostru validează <b>endpoint</b>-ul dvs. ca fiind un addon valid, acesta va începe să apară în catalog.","FAQ_15_H1":"Pot să rulez Stremio în browser-ul meu?","FAQ_15_P1":"Nu în acest moment, dar asta vine în curând!","FAQ_15_P2":"Dacă sunteți curios să vedeți o versiune Alpha, o puteți găsi aici: ${1}alpha4.strem.io${2}. Rețineți că streamingul este dezactivat în această versiune Alpha. Noi susținem Chrome, Firefox, Opera și Edge.","FAQ_16_H1":"Casting-ul pe TV nu funcționează / subtitrările nu funcționează","FAQ_16_P1":"Casting-ul pe TV folosește tehnologia DLNA, care este foarte inconsistentă între diferite mărci și modele de televizoare. Din acest motiv, nu avem capacitatea de a o testa în fiecare caz, deci este departe de a fi perfectă. Cu toate acestea, lucrăm constant la îmbunătățirea ei, dar nu vă putem da o estimare a momentului în care DLNA va începe să funcționeze corect cu televizorul dvs.","FAQ_16_P2":"Dacă nici măcar nu vedeți televizorul dvs. în meniul de casting, vă rugăm să încercați să dezactivați și să reactivați conexiunea dvs. la rețea (pe Windows, faceți clic dreapta pe Rețea și utilizați Opțiunea Dezactivează/Activează), precum și repornirea routerului, a televizorului și a PC-ului.","FAQ_16_P3":"Dacă întâmpinați în continuare probleme, ne puteți ajuta trimițând informații despre marcă și modelul televizorului la ${1}office@stremio.com${2}.","FAQ_16_P4":"Între timp, vă recomandăm Chromecast, pe care îl susținem foarte bine, sau pur și simplu să conectați televizorul la PC cu un cablu HDMI.","FAQ_17_H1":"Stremio se blochează și/sau se închide brusc, ce pot face?","FAQ_17_P1":"În primul rând, dacă utilizați Windows 7 cu AVG anti-virus: avem o problemă cu această combinație. Problema este în AVG în sine și nu există o modalitate rezonabilă de a o rezolva din partea noastră. Din păcate, excepțiile sau dezactivarea antivirusului nu vor funcționa. Singura soluție este să înlocuiți AVG cu altceva.","FAQ_17_P2":"Dacă nu este aceasta problema, dar utilizați în continuare Windows, vă rugăm să actualizați la cea mai recentă versiune de service pack și să actualizați/reinstalați driverele GPU, apoi să încercați din nou.","FAQ_17_P3":"Dacă problema dvs. nu este încă rezolvată sau utilizați un Mac sau Linux, vă rugăm să ne scrieți raportând detaliile exacte ale problemei la ${1}grupul nostru de Facebook${2}.","FAQ_18_H1":"Cum pot crea un addon?","FAQ_18_P1":"Pentru început, vă recomandăm să verificați ${1}modulul nostru de sistem pentru addon-uri${2} pe GitHub.","FAQ_18_P2":"Apoi, puteți urma ${1}tutorialul Salut, lume!${2}.","FAQ_18_P3":"Dacă nu aveți abilități de programare, vă rugăm să postați ideea dvs. de addon pe ${1}comunitatea noastră de Reddit${2} și să ne contactați cu ideea dvs. de addon la ${3}office@stremio.com${4}.","FAQ_19_H1":"De ce ocupă Stremio spațiu pe disc?","FAQ_19_P1":"Stremio are o <b>cache locală</b> pentru a păstra temporar fișierele video pe care le redați, pentru a le putea reda din nou fără a le descărca din nou. De exemplu, dacă redați un episod de serial, acesta va fi descărcat pe discul local pentru a vă oferi o experiență mai bună de vizionare, fără întreruperi sau tamponări.","FAQ_19_P2":"În plus, add-on-urile oficiale pot cere să descarce conținut temporar pentru a-l reda. Acestea pot include subtitrări, imagini de previzualizare și alte resurse. Toate acestea contribuie la ocuparea spațiului pe disc de către Stremio.","FAQ_19_P3":"Pentru a gestiona spațiul ocupat de Stremio, puteți curăța cache-ul din setările Stremio. Acest lucru va șterge toate fișierele temporare descărcate de Stremio, dar va trebui să le redescărcați dacă doriți să le vizionați din nou.","FAQ_20_H1":"Unde se află folderul de cache?","FAQ_20_P1":"Pe Windows, este stremio-cache în unitatea pe care ați selectat-o în Setări (de exemplu, \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Pe MacOS, este \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Pe Linux, este \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"Primeșc eroarea \\"Streaming server is not found\\", ce pot să fac?","FAQ_21_P1":"Dacă primiți această eroare, înseamnă că există câteva posibilități:","FAQ_21_P2":"1) Încercați să utilizați un addon susținut de sursa YouTube/BitTorrent prin ${1}versiunea noastră web${2}. În acest caz, ar trebui să instalați versiunea noastră de desktop de pe ${3}site-ul nostru${4}.","FAQ_21_P3":"2) Există o problemă cu instalarea Stremio pe calculatorul dvs. În acest caz, încercați să reinstalați ultima versiune de desktop de pe ${1}site-ul nostru${2}. Dacă acest lucru nu ajută, încercați să dezactivați programele antivirus și firewallele, să reporniți PC-ul și să încercați din nou. Dacă acest lucru nu funcționează nici în acest caz, vă rugăm să ne scrieți la ${3}grupul nostru de Facebook${4}.","FAQ_22_H1":"Nu pot vedea/utiliza majoritatea addon-urilor pe iOS","FAQ_22_P1":"Din cauza restricțiilor din termenii și condițiile App Store de la Apple, am restricționat aplicația iOS doar la un set particular de addon-uri.","FAQ_22_P2":"Dar stați liniștit - vor fi mai multe addon-uri pentru iOS în viitor, iar noi am putea adăuga o integrare care vă va permite să utilizați toate addon-urile Stremio datorită conectării aplicației iOS la Stremio Streaming Server."}')},99075:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Кино","TYPE_series":"Сериал","TYPE_tv":"ТВ-канал","TYPE_channel":"Канал","TYPE_other":"Прочее","TYPE_movie_PL":"Кино","TYPE_series_PL":"Сериалы","TYPE_tv_PL":"ТВ-каналы","TYPE_channel_PL":"Каналы","TYPE_other_PL":"Прочее","TYPE_ALL":"Все","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Видео","BACK":"Назад","MORE":"Ещё","DONE":"Готово","COPY":"Копировать","SUCCESS":"Готово","ERROR":"Ошибка","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"По умолчанию","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Нет транкодирования","Discover":"Открытия","Board":"Доска","Library":"Библиотека","My Library":"Моя библиотека","Calendar":"Календарь","NOTIFICATION_ONLINE":"Вы в сети","NOTIFICATION_OFFLINE":"Вы вне сети","INTERNET_CONNECTION":"Сетевое подключение","STORAGE_FULL_TITLE":"Внимание: хранилище заполнено!","STORAGE_FULL_TEXT":"Stremio не может сохранить ваши настройки, предпочтения или данные для входа. Попробуйте перезапустить или переустановить Stremio.","SEARCH":"поиск","SEARCH_NO_RESULTS":"Ничего не найдено","SEARCH_EXPLANATION_CONTENT":"Поиск фильмов, сериалов, YouTube и ТВ-каналов","SEARCH_EXPLANATION_PEOPLE":"Поиск актёров, режиссёров и авторов","SEARCH_PASTE_LINKS":"Вставьте HTTP и Magnet-ссылки","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Добавить в библиотеку","REMOVE_FROM_LIB":"Удалить из библиотеки","ADDED_TO_LIB":"Добавлено в библиотеку","REMOVED_FROM_LIB":"Удалено из библиотеки","TRAILER":"Трейлер","WATCH_TRAILER":"Смотреть трейлер","WATCH_NOW":"Смотреть","SHOW":"Показать","SHOW_MOVIE":"Показать фильм","WATCH_RANDOM":"Смотреть в случайном порядке","IMDB_RATING":"Рейтинг IMDb","YEAR":"Год","DIRECTOR":"Режиссёр","WRITER":"Писатель","LEAD_ACTORS":"Основные актёры","CAST":"Актёры","CREW":"Команда","SHOW_MORE_CAST":"Показать больше »","AIRED":"Выпуск","SEASONS":"Сезоны","GENRE":"Жанр","GENRE_ALL":"All genres","CATALOG":"Каталог","SUMMARY":"Описание","SHOW_MORE":"Показать больше","SIMILAR":"Похожее","UPCOMING":"Скоро","TBA":"TBA","ENDED":"Закончилось","DURATION":"Продолжительность","FEATURED":"Представлено","METADATA":"Метаданные","CATEGORY":"категория","LINKS_GENRES":"Жанры","LINKS_CAST":"Актёры","LINKS_DIRECTORS":"Режиссёры","SEARCH_VIDEOS":"поиск видео","SEARCH_PLACEHOLDER":"поиск или вставка магнитной ссылки","ADDON":"Дополнение","ADDONS":"Дополнения","OFFICIAL":"Официальный","ADDONS_OFFICIAL":"Официальные дополнения Stremio","ADDONS_POPULAR":"Популярно в вашем районе","ADDON_FREE":"Бесплатно","ADDON_PEERED":"Попробовать","ADDON_SUBSCRIPTION":"Подписка","ADDON_STREAM_GEORESTRICTED":"Недоступно в вашем регионе","ADDON_STREAM_OFFLINECACHE":"Офлайн-кэш","ADDON_STREAM_LOCALFILE":"Локальный файл","SHARE_ADDON":"Поделиться дополнением","AVAILABLE_STREAMS":"Доступные стримы","NO_STREAM":"Нет стримов","ALL_ADDONS":"Все","INSTALL_MORE_ADDONS":"Для большего количества стримов установите больше дополнений","STREAM_NOT_SUPPORTED":"Выбранные стримы не поддерживаются на этой платформе.","ADDON_CATALOGUE":"Показать все дополнения »","ADDON_CATALOGUE_MORE":"Больше дополнений »","REPO_ADDED":"Репозиторий добавлен","ADDON_REPO_EXIST_ERR":"Этот репозиторий дополнений уже существует","ADDON_REPO_ERR":"Ошибка при добавлении репозитория","ADDON_ADD_ERR":"Ошибка при добавлении дополнения","ERR_ADDON_PROTECTED":"Защищенное дополнение","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Что-то пошло не так — возможно, аутентификация не удалась","ERR_NOT_COLLECTION_URL":"Не URL-адрес коллекции","ERR_NOT_ADDON_URL":"Не URL-адрес дополнения","ERR_DETECTFROMURL":"Не удается обнаружить по URL-адресу","ADDON_DUPLICATE_WARNING":"Внимание: дублирующееся дополнение","ADDON_COLLECTION_SET_FAILED":"Не удалось установить коллекцию дополнений","SETTINGS_DATA_EXPORT":"Экпорт данных","ADDON_PULL_FAILED":"Синхронизация установленных дополнений из вашей учетной записи не удалась","REFRESH_ON_CLICK":"Нажмите, чтобы повторить","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Фильм все еще показывают в кинотеатрах","WATCH_IN_CINEMA":"Смотрите его в местном кинотеатре","IN_THEATER":"В кино","GET_TICKETS":"Купить билеты","UPCOMING_EPISODE":"Предстоящий эпизод","UPCOMING_EPISODE_MESSAGE":"Этот эпизод выйдет в эфир","MISSING_DATE_EPISODE":"Дата отсутсвует","MISSING_DATE_EPISODE_MESSAGE":"Возможно, этот эпизод еще не выпущен","CHANNEL_NOT_SCRAPED":"Этот канал ещё не просканирован.<br>Пожалуйста, вернитесь через несколько минут.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Добавьте в библиотеку, чтобы получить уведомление, как только станет доступно.","GET_NOTIFIED_WHEN_AVAILABLE":"Вы получите уведомление, как только станет доступно.","WARNING_STREAMING_SERVER":"Внимание: локальный стриминговый сервер не найден. Стриминг из локальных файлов, YouTube и BitTorrent будет недоступен.","WARNING_STREAMING_SERVER_DISMISS":"Отклонить","WARNING_STREAMING_SERVER_LATER":"Позже","DECODER_WARNING":"Внимание: это видео может не поддерживаться вашим оборудованием. Имейте в виду, что воспроизведение может быть замедленным.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Упс, ошибка воспроизведения","PLAYER_ERROR_LOOKSLIKE":"Выглядит как","PLAYER_ORIENTATION":"Ориентация плеера","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Заблокировано","PLAYER_ORIENTATION_SENSOR_SHORT":"По датчику наклона","PLAYER_ORIENTATION_LANDSCAPE":"Ориентация плеера заблокирована в альбомной ориентации","PLAYER_ORIENTATION_SENSOR":"Автоматическая ориентация плеера (датчик)","PLAYER_PLAYBACK_SPEED":"Скорость воспроизведения","PLAYER_PLAYBACK_ERROR":"Ошибка воспроизведения, пожалуйста, попробуйте снова","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Неизвестная ошибка","PLAYER_PLAYBACK_ERROR_DEFAULT":"Извините, это видео не может быть воспроизведено {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Языки субтитров","PLAYER_SUBTITLES_VARIANTS":"Варианты субтитров","PLAYER_SUBTITLES_SETTINGS":"Настройки субтитров","PLAYER_SUBTITLES_DISABLED":"Субтитры отключены","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Вертикальное положения","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Следующее видео","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Смотрите далее","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Отклонить","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Смотреть","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Не удалось скопировать ссылку трансляции","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Стрим от","CASTING_TO":"Стим для","NETWORK_STATUS":"Состояние сети","STREAM_SPEED":"Скорость:","STREAM_BUFFERED":"Загружено:","PEERS_INFO":"Информация о пирах","PEERS_ACTIVE":"Активны:","PEERS_CONNECTED":"Подключены:","PEERS_WAITING":"Ждут:","TRANSCODING_WARNING":"Внимание: перекодирование видео.","STREAM_LOADING":"Загрузка...","PLAYING_LOCAL":"Из локального файла","PLAYING_CACHE":"Из кэша","WRONG_SUBS":"Некорректные субтитры?","ERR_SUBS_LOADING_TITLE":"Ошибка загрузки субтитров","ERR_SUBS_LOADING":"Не удалось загрузить субтитры: это может быть связано с используемым вами дополнением или с сетевым подключением","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Не удалось выполнить следующие дополнения субтитров","ERR_CASTING_UPDATE_TITLE":"Не удалось обновить информацию об устройстве трансляции: стриминг-сервер, возможно, отключен","CHOOSE_DEVICE":"Выберите устройство для просмотра","NO_CAST_DEVICES":"Нет доступных устройств.","NO_SETTINGS":"Настройки недоступны.","NO_OPTIONS":"No options available","PHONE_TABLET":"Телефон/планшет","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Субтитры","SUBTITLES_CHANGE":"Изменить субтитры для ","SUBTITLES_CHANGE_NONE":"К сожалению, нет других субтитров для этого языка","SUBTITLES_CHANGE_ACIVE":"Сейчас выбраны субтитры #{{subtitlesDialog.activeIdx + 1}}. Нажмите \\"Продолжить\\", чтобы выбрать субтитры #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Как вариант,","SUBTITLES_ADJUST_DELAY":"Настроить задержку субтитров:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Или использовать клавиши <span>G</span>/<span>H</span> во время вопроизведения для настройки.","SUBTITLES_ADJUST_DELAY_TIP":"Совет: вы можете использовать клавиши <span>G</span>/<span>H</span> во время вопроизведения для настройки.","SUBTITLES_DELAY":"Задержка субтитров:","SUBTITLES_LOADING":"Загрузка субтитров...","SUBTITLES_UNAVAILABLE":"Нет доступных внешних субтитров","SUBTITLES_DISABLED":"Отключено","EXTERNAL_PLAYER_DISABLED":"Отключено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Разрешить выбор","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Не показывать снова","SERVICE_INSTALL":"Установить","AUDIO":"Аудио","DEFAULT_LANGUAGE":"Язык по умолчанию","DEFAULT_SECONDARY_LANGUAGE":"Дополнительный язык по умолчанию","SEASON":"Сезон","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Эпизод","EPISODE_ABBREVIATION":"EP","SPECIAL":"Особый","SORT":"Сортировать","SORT_BY":"Сортировать по","FILTER":"Фильтровать","SORT_TRENDING":"Лидеры","SORT_RECENT":"Недавние","SORT_ALPHABET":"А-я","SORT_ALPHABET_REVERSE":"я-а","SORT_RATING":"Рейтинг","SORT_WATCHED":"Просмотрено","SORT_YEAR":"Год","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"По последнему просмотру","SORT_NAME":"По названию","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"По количеству просмотров","SORT_NOTWATCHED":"not watched","New for You":"Новые для вас","New Episodes":"Новые эпизоды","New Videos":"Новые видео","Recommendations":"Рекомендации","LIBRARY_RESUME":"Продолжить","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Подробности","LIBRARY_RESUME_DISMISS":"Сбросить","LIBRARY_CLEAR_PROGRESS":"Очистить прогресс","LIBRARY_REMOVE":"Удалить","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Никогда больше не пропустите ни одной серии","NOT_LOGGED_IN_CALENDAR":"Запланируйте ваш личный календарь просмотра","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Рекомендуемые","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Победители Оскара","DISCOVER_WARNING_TITLE":"Ой!","DISCOVER_EMPTY_CATALOG":"Это дополнение вернуло пустой контент.","DISCOVER_ADULT_WARNING":"Контент доступен только взрослым. Вам 18+?","DISCOVER_NOADDON_WARNING":"Внимание: не было найдено активного дополнения для этого типа. Показаны только сохранённые элементы, обновления не могут быть выполнены.","DISCOVER_LOAD_ERR":"Контент не загрузился, произошла ошибка.","DISCOVER_ADDON_UNINSTALLED":"Этот контент больше не доступен, возможно, вы удалили дополнение.","UNINSTALL_THIS_ADDON":"Удалить дополнение","ERR_ADDON_NOT_INSTALLED":"Это дополнение не установлено. Установить?","DETAIL_RECEIVE_NOTIF_SERIES":"Получать уведомления о новых эпизодах","DETAIL_RECEIVE_NOTIF_VIDEOS":"Получать уведомления о новых видео","SIDEBAR_SHOW_STREAMS":"Показать стримы","RELAUNCH":"Перезапустить!","UPGRADE":"Доступная новая версия! Обновите Stremio до последней версии","RELOAD_UI":"Перезагрузить пользовательский интерфейс","MANUAL_UPDATE_TITLE":"Обновите версию Stremio","MANUAL_UPDATE_LINE1":"Вы используете устаревшую версию Stremio, которая крайне не рекомендуется.","MANUAL_UPDATE_LINE2":"Пожалуйста, обновите как только получится.","BUTTON_UPDATE_LATTER":"Не сейчас","BUTTON_UPDATE_NOW":"Обновить","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Анонимный пользователь","DONT_HAVE_ACC":"Нет аккаунта?","HAVE_ACC":"Уже есть аккаунт?","PASSWORD":"Пароль","PASSWORD_CONFIRM":"Подтвердить пароль","EMAIL":"Эл. почта","FB_LOGIN":"Войти с Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Мы не будем ничем делиться без вашего согласия","FB_NOPOST":"Мы не будем ничего публиковать без вашего согласия","OR":"или","I_ACCEPT":"Я принимаю","I_ACCEPT_BY_CLICKING":"Нажимая кнопку выше, я подтверждаю, что принимаю ","TOS":"Условия и положения","MUST_ACCEPT_TERMS":"Вы должны принять условия","PASSWORDS_NOMATCH":"Пароли не совпадают","SIGN_UP":"Регистрация","SIGN_UP_EMAIL":"Зарегистроваться с эл. почтой","CLICK_TO_SIGN_UP":"Нажмите здесь, чтобы зарегистрироваться.","LOG_IN":"Войти","LOG_OUT":"Выйти","EXIT_FULLSCREEN":"Выйти из полноэкранного режима","ENTER_FULLSCREEN":"Войти в полноэкранный режим","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Помощь и обратная связь","TERMS_OF_SERVICE":"Условия обслуживания","PRIVACY_POLICY":"Политика конфиденциальности","ABOUT_STREMIO":"О Stremio","USER_PANEL":"Панель пользователя","LOGIN_LABEL":"Войти","GUEST_LOGIN":"Войти как гость","GUEST_LOGIN_NOTICE":"Гостевой вход не рекомендуется. Использование обычного входа позволяет Stremio синхронизировать вашу библиотеку, получать уведомления о любимых сериалах/каналах. Вы уверены, что хотите продолжить?","GUEST_LOGIN_NOTICE_2":"Гостевой вход не рекомендуется. У вас не будет синхронизированной библиотеки и доски уведомлений, которые являются очень важными функциями Stremio. Вы уверены, что хотите продолжить?","CLICK_HERE":"нажмите здесь","WRONG_PASSWORD":"Неправильный пароль. Если вы забыли свой пароль, ","SET_A_PASS":"установить пароль","RESET_PASSWORD":"Сброс пароля","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Забыли пароль?","EMAIL_USED_WITH_FB":"Эта эл. почта была использована с логином Facebook.","INVALID_EMAIL":"Пожалуйста, введите действительный адрес эл. почты","INVALID_PASSWORD":"Пожалуйста, введите действительный пароль","CONN_ERR":"Ошибка подключения. Повторите попытку позже.\\n\\nЕсли проблема не устранится, отключите брандмауэры/антивирусное ПО (особенно Bitdefender).","IMPORT_FROM_GUEST":"Импорт библиотеки из гостевой учетной записи","RECEIVE_UPDATES_EMAIL":"Получайте обновления от Stremio на свою эл. почту","LOGIN_FAILED":"Ошибка входа.","SIGNUP_FAILED":"Регистрация не удалась.","SEARCH_FAILED":"Поиск не удался","EMAIL_USED":"Эта эл. почта уже используется.","WAITING_FB_LOGIN":"Вход через Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Воспроизвести во внешнем плеере","EXTERNAL_REMEMBER_PLAYER":"Хотите запомнить свой выбор","EXTERNAL_ALWAYS_PLAY":"Да","EXTERNAL_ONLY_ONCE":"Нет","BEST_FIT":"Наиболее подходящее","FIT_SCREEN":"По размеру экрана","FILL":"Заполнить","16:9":"16:9","4:3":"4:3","Original":"Оригинал","INTRO_TASTE":"Расскажите, что вам нравится","INTRO_TASTE_LONG":"Расскажите нам о том, что вы хотели бы посмотреть","INTRO_TASTE_PICK":"Выберите {{interestsRemaining}} интересов","INTRO_TASTE_PICK_MORE":"Выберите больше интересов {{interestsRemaining}}","INTRO_TASTE_HELP_US":"Помогите нам лучше узнать вас.","INTRO_TASTE_CHOOSE_THESE":"Выберите некоторые из них:","INTRO_TASTE_CHOOSE_MIN":"Выберите не менее 3 категорий","INTRO_TASTE_CHOOSE_MIN_ERR":"Вы должны выбрать минимум 3 категории!","INTRO_TASTE_LIFESTYLE":"Образ жизни","INTRO_TASTE_SPORTS":"Спорт","INTRO_TASTE_FOOD_HEALTH":"Еда и здоровье","INTRO_TASTE_BEAUTY_FASHION":"Красота и мода","INTRO_TASTE_NEWS":"Новости","INTRO_TASTE_GAMING":"Игры","INTRO_TASTE_SCIENCE_EDU":"Наука и образование","INTRO_TASTE_MUSIC":"Музыка","INTRO_TASTE_TRAVEL":"Путешествия","INTRO_TASTE_LATE_NIGHT":"Ночное шоу","INTRO_TASTE_REALITY":"Реалити","INTRO_TASTE_COMEDY":"Комедия","INTRO_TASTE_DIY":"Сделать своими руками","INTRO_TASTE_TECH":"Технологии","INTRO_TASTE_CINEMA":"Кино","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Выбранное дополнение не поддерживается на этой платформе.","ADDON_DISCLAIMER":"Использование посторонних дополнений всегда будет предметом вашей личной ответственности и попадает под регулирующее законодательство той юрисдикции в которой вы находитесь.","ADDON_ACTIVATE":"активировать это дополнение?","ADDON_REPO_ADD":"URL-адрес репозитория дополнения","ADDON_ADD":"Добавить","INSTALL_ADDON":"Install addon","ADD_ADDON":"Добавить дополнение","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Вставьте URL-адрес дополнения","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Что нового","BUTTON_CONTINUE":"Продолжить","BUTTON_ACTIVATE":"Активировать","BUTTON_ACTIVATED":"Активировано","BUTTON_CANCEL":"Отмена","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Отправить","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Отклонить все","BUTTON_VIEW_ALL":"Посмотреть все","BUTTON_SEE_ALL":"Смотреть все","BUTTON_COLOR_TRANSPARENT":"Прозрачн.","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Ваша библиотека пуста. Узнайте, насколько она полезна :)","HOW_START":"Как начать:","LIB_EMPTY_CAL":"Ваш календарь показывает сериалы в библиотеке.","HOW_START_CAL":"Как вы можете добавить сериал:","LIB_EMPTY_BOARD":"Таблица показывает уведомления и рекомендации, относящиеся к вашей библиотеке.","HOW_START_BOARD_WAIT":"Пожалуйста, добавьте несколько серий или каналов к вашей библиотеке и дайте нам несколько минут для обработки :)","HOW_START_BOARD":"Вот как вы можете добавить сериалы и фильмы:","IMPORT_FB":"Импорт понравившегося материала из <span>Facebook</span>","IMPORT_TRAKT":"Импорт медиатеки из <span>Trakt</span>","IMPORT_DISCOVER":"Найти интересный материал в <span>Открытиях</span>","IMPORT_DISK":"Импорт видео из <span>локального диска</span>","PLEASE_CREATE_ACC":"Пожалуйста, <u>создайте аккаунт</u>, чтобы включить синхронизацию библиотеки и доски.","IMPORT_DISCOVER_SIGNUP":"Зарегистрируйтесь и находите интересные материалы в <span>Открытиях</span>","IMPORT_DISK_SIGNUP":"Зарегистрируйтесь и импортируйте фильмы или шоу из вашего <span>локального диска</span>","LIB_EMPTY_CLOUD":"Облачная бибилиотека","LIB_EMPTY_CLOUD_DESC":"Личная облачная библиотека синхронизируется на всех устройствах","LIB_EMPTY_EARLY":"Ранняя птичка","LIB_EMPTY_EARLY_DESC":"Получайте уведомления о новых эпизодах","LIB_EMPTY_PERSONAL":"Личное","LIB_EMPTY_PERSONAL_DESC":"Получите личные рекомендации","LIB_EMPTY_CALENDAR_DESC":"Запланируйте свой личный календарь просмотра","LIB_EMPTY_ALL":"Зарегистрируйтесь, чтобы получить всё это:","LIB_EMPTY_BEST":"Зарегистрируйтесь, чтобы получить всё лучшее от Stremio","LIB_EMPTY_OTHER":"Зарегистрируйтесь, чтобы включить календарь и другие крутые функции","CALENDAR_ADDED":"Календарь Stremio был добавлен в ваш настольный календарь по умолчанию.","CALENDAR_ADDED_MSG":"Если не сработало, добавьте этот URL-адрес в приложение календаря вручную","TRAKT_EXPIRED":"Срок действия аутентификации Trakt истек, перейдите в настройки и повторите аутентификацию.","TRAKT_REQUIRES_LOGIN":"Ошибка Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Необходимо войти","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Настройки","SETTINGS_NAV_GENERAL":"Общее","SETTINGS_NAV_PLAYER":"Плеер","SETTINGS_NAV_STREAMING":"Стриминг","SETTINGS_NAV_SHORTCUTS":"Ярлыки","SETTINGS_SHORTCUT_RELOAD_APP":"Перезагрузить приложение","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Открыть настройки","SETTINGS_SHORTCUT_SWITCH_TABS":"Переключить вкладки","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Перелистывать вкладки вперёд","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Перелистывать вкладки назад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Выйти/Вернуться","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Переключить полноэкранный режим","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Показать элементы управления","SETTINGS_SHORTCUT_PLAY_PAUSE":"Воспроизведение/Пауза","SETTINGS_SHORTCUT_VOLUME_UP":"Громче","SETTINGS_SHORTCUT_VOLUME_DOWN":"Тише","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Увеличить размер субтитров","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Уменьшить размер субтитров","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"величить задержку субтитров","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Уменьшить задержку субтитров","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Переключить боковую панель","SETTINGS_SHORTCUT_OR":"или","SETTINGS_SHORTCUT_TO":"в","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Аутентификация","SETTINGS_FACEBOOK_IMPORT":"Импорт","SETTINGS_CALENDAR_SUBSCRIBE":"Подписка","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Язык интерфейса","SETTINGS_LAUNCH_STARTUP":"Запуск при старте","SETTINGS_VLC_DEFAULT":"Воспроизвести в VLC","SETTINGS_UI_LANGUAGE":"Язык интерфейса","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Выход из полноэкранного режима клавишей Escape","SETTINGS_GAMEPAD":"Включить поддержку геймпада","SETTINGS_CLOSE_WINDOW":"Закрывать приложение, когда окно закрыто","SETTINGS_SUBTITLES_LANGUAGE":"Язык субтитров по умолчанию","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Размер субтитров по умолчанию","SETTINGS_SUBTITLES_BACKGROUND":"Фон субтитров","SETTINGS_SUBTITLES_COLOR":"Цвет субтитров","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Цвет контура субтитров","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Цвет фона субтитров","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Автовоспроизведение следующего эпизода","SETTINGS_NEXT_VIDEO":"Показывать уведомление перед началом следующего эпизода","SETTINGS_NEXT_VIDEO_TRIGGER":"Показывать уведомление о следующем эпизоде для:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Воспроизвести в фоновом режиме","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Воспроизвести во внешнем плеере","SETTINGS_RESIZE":"Автоизменение размера окна перед вопроизведением","SETTINGS_OVERRIDE_SERVER":"Переопределить URL-адрес сервера стриминга (дополнительно)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"URL-адрес стримингового сервера: ","SETTINGS_SERVER_AVAILABLE":"Стриминговый сервер доступен.","SETTINGS_SERVER_UNAVAILABLE":"Стриминговый сервер недоступен.","SETTINGS_SERVER_STATUS_ONLINE":"Онлайн","SETTINGS_SERVER_STATUS_ERROR":"Ошибка","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Размер кэша","SETTINGS_SERVER_TORRENT_PROFILE":"Профиль торрента","SETTINGS_HTTPS_ENDPOINT":"Конечная точка HTTPS-стриминга: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Всегда использовать последнюю бета-версию","SETTINGS_IMPORT_FB":"Импорт из Facebook","SETTINGS_IMPORT_DISK":"Импорт из локального диска","SETTINGS_IMPORT_TRAKT":"Импорт из Trakt","SETTINGS_PAUSE_MINIMIZED":"Приостановить воспроизведение при сворачивании","SETTINGS_HWDEC":"Декодирование с аппаратным ускорением","SETTINGS_BACKGROUND":"Фоновое воспроизведение","SETTINGS_SUBSCRIBE_CALENDAR":"Подписаться на календарь","SETTINGS_REQ_EXPORT":"Запросить экспорт данных","SETTINGS_ACC_DELETE":"Запросить удаление аккаунта","SETTINGS_CHANGE_PASSWORD":"Изменить пароль","SETTINGS_TOS":"Условия использования","SETTINGS_SUPPORT":"Связаться с поддержкой","SETTING_LANGUAGE":"Язык","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Выйти из Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Выйти из Trakt","SETTINGS_SCAN_FOR_REMOTE":"Отсканируйте QR-код, чтобы открыть удалённо","SETTINGS_DESKTOP_NOTIFICATIONS":"Уведомления на рабочем столе","SETTINGS_DATA_SAVER":"Экономия трафика","SETTINGS_LANGUAGE_INTERFACE":"интерфейс","SETTINGS_LANGUAGE_SUBS":"субтитры по умолчанию","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Автовыбор аудиодорожки","SETTINGS_DEFAULT_AUDIO_TRACK":"Аудиодорожка по умолчанию","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"аккаунт","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"версия","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Запускать плеер в отдельном окне (дополнительно)","SETTINGS_PLAY_IN_EXTERNAL":"Всегда запускать видео во внешнем плеере","SETTINGS_STORAGE_BUTTON":"Очистить локальное хранилище","SETTINGS_STORAGE_MODAL_TITLE":"Вы уверены?","SETTINGS_STORAGE_MODAL_MESSAGE":"Это очистит локальное хранилище и вы выйдете из приложения.","SETTINGS_HWDEC_PICKER":"Выберите настройку декодирования с аппаратным ускорением","SETTINGS_HW_AUTOMATIC":"Автоматически","SETTINGS_HW_DISABLED":"Отключено","SETTINGS_HW_ACCELERATED":"Ускорение декодирования","SETTINGS_HW_FULL":"Полное ускорение","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Аудио","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Использовать чёрный цвет фона","SUBSPICKER_VERTICAL_OFFSET":"Вертикальное смещение","SUBSPICKER_SIZE":"Размер","SUBSPICKER_DELAY":"Задержка","SUBSPICKER_EMBEDDED_SUBS":"Встроенные субтитры","MOBILE_PRIVACY_POLICY":"Политика конфиденциальности","MOBILE_CRASH_REPORTING":"Сообщение о сбоях","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"ПРОИЗВОДИТЕЛЬНОСТЬ И СТАБИЛЬНОСТЬ","MOBILE_SERVER_ONLINE":"Онлайн","MOBILE_SERVER_OFFLINE":"Офлайн","MOBILE_QR_EXPIRES":"Действие QR-кода истекает через ","MOBILE_LOG_INTO":"Войдите в ваш аккаунт Stremio ","MOBILE_SCAN_QR":"Отсканируйте QR-код выше или перейдите на ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Отмена","MOBILE_SPEEDPICKER_LABEL":"Выберите скорость воспроизведения","MOBILE_EMPTY_LIBRARY":"Ваша библиотека пуста","MOBILE_NO_ADDON_ACTIVE":"Дополнение Stremio не активно для этого типа.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"ещё загружается","MOBILE_ADDONS_LOADING":"дополнения ещё загружаются","MOBILE_ADDON":"Дополнение","MOBILE_CONFIGURE_ADDON":"Настройте ваше дополнение","MOBILE_CONFIGURE_ADDON_LABEL":"Настроить дополнение","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Отключить","MOBILE_LOOKING_FOR_DEVICES":"Поиск устройства...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Удалить аккаунт","NAVIGATION_ON":"Вкл.","NAVIGATION_OFF":"Выкл.","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Я согласен получать маркетинговые сообщения от Stremio","QUIT":"Выход!","CONNECTED":"Подключено","AUTHENTICATE":"Проверять подлинность","AUTHENTICATING":"Authenticating...","CACHING":"Кэширование","SETTINGS_CACHING_DRIVE":"Выберите диск кэширования","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Включить удалённые HTTPS-соединения","TORRENT_PROFILE":"Торрент-профиль","DATA_CACHING":"Кэширование данных","MAGNET_PARSING":"Парсинг магнет-ссылки","January":"Января","February":"Февраль","March":"Март","April":"Апрель","May":"Май","June":"Июнь","July":"Июль","August":"Август","September":"Сентябрь","October":"Октября","November":"Ноября","December":"Декабрь","Monday":"Понедельник","Tuesday":"Вторник","Wednesday":"Среда","Thursday":"Четверг","Friday":"Пятница","Saturday":"Суббота","Sunday":"Воскресенье","Action":"Боевик","Comedy":"Комедия","War":"Война","Family":"Семья","Animation":"Анимация","Adventure":"Приключения","Fantasy":"Фантазия","Crime":"Криминал","Mystery":"Таинственность","Romance":"Романтика","Drama":"Драма","Horror":"Ужасы","Thriller":"Триллеры","Sci-Fi":"Научная фантастика","Music":"Музыка","Biography":"Биография","Documentary":"Документальный","Sport":"Спорт","Musical":"Музыкальный","Western":"Вестерн","Film-Noir":"Нуар","News":"Новости","History":"История","Game-Show":"Игровое шоу","Reality-TV":"Реалити шоу","Talk-Show":"Ток-шоу","Film & Entertainment":"Кино и развлечения","Gaming":"Игры","From TV":"Из ТВ","Lifestyle":"Стиль жизни","Science & Education":"Наука и образование","Cooking & Health":"Готовка и здоровье","Beauty & Fashion":"Красота и мода","Sports":"Спорт","News & Politics":"Новости и политика","How-to & DIY":"Сделай сам","Tech":"Технологии","Automotive":"Автомобильный","Causes & Non-Profits":"Коммерческое и некоммерческое","Movies":"Кино","Uk Live Tv":"Прямой эфир в Великобритании","Fashion":"Мода","Business News Radio":"Радио о бизнес-новостях","Business Tv":"Бизнес ТВ","Cars & Auto":"Автомобили и авто","Comedy Radio":"Комедийное радио","Lifestyle Radio":"Радио об образе жизни","News Tv":"Новости ТВ","Food And Wine":"Еда и вино","Latino Tv":"Латинское ТВ","Shopping Tv":"Покупки ТВ","Religion":"Религия","Kids":"Дети","Body & Soul":"Тело и душа","Education":"Образование","Indian Tv":"Индийское ТВ","Extreme Sports":"Экстремальный спорт","Middle Eastern Tv":"Ближневосточное ТВ","Celebrity Tv":"Знаменитость ТВ","Science Tv":"Наука ТВ","Bikini babe":"Попки в бикини","Outdoors":"На открытом воздухе","German Tv":"Немецкое ТВ","French Tv":"Французское ТВ","Italian Tv":"Итальянское ТВ","Gamer Tv":"Геймерское ТВ","Travel":"Путешествия","Asian Tv":"Азиатское ТВ","Entertainment":"Развлечения","News Radio":"Новостное радио","Music Radio":"Музыкальное радио","Language Learning":"Изучение языков","Science Radio":"Научное радио","Tech Radio":"Техническое радио","Science & Technology Vod":"Наука и технологии VoD","new video":"новое видео","new episode":"новый эпизод","new movie":"новый фильм","recommended":"рекомендуемое","we recommend":"мы рекомендуем","offer of the day":"предложение дня","news":"новости","music video":"мызкальное видео","CTX_SHOW_HOTKEYS":"Показать горячие клавиши","CTX_DISMISS_NOTIF":"Игнорировать уведомления","CTX_DISMISS_ALL":"Отклонить все","CTX_SHARE":"Поделиться","CTX_COPY_SHARE_LINK":"Скопировать ссылку","CTX_COPY_MAGNET_LINK":"Скопировать магнитную ссылку","CTX_COPY_STREAM_LINK":"Скопировать ссылку на стрим","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Скачать видео","CTX_DOWNLOAD_SUBS":"Скачать субтитры","CTX_VIEW_ON_YOUTUBE":"Смотреть на YouTube","CTX_SHOW":"Показать","CTX_PLAY":"Вопроизвести","CTX_PLAY_IN":"Воспроизвести в","CTX_PLAY_ON":"Воспроизвести на","CTX_WATCH_ON":"Смотреть на","CTX_WATCH":"Смотреть","CTX_WATCHED":"Просмотрено","CTX_WATCH_BEGINNING":"Смотреть с начала","CTX_WATCH_MOBILE":"Смотреть на мобильном устройсте","CTX_REWIND":"Перемотать на начало","CTX_MARK_WATCHED":"Отметить как просмотренное","CTX_MARK_NON_WATCHED":"Отметить как непросмотренное","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Отметить остальное как просмотренное","CTX_UNMARK_REST":"Отметить остальное как непросмотренное","CTX_RECEIVE_NEW_NOTIF":"Получать новые уведомления","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Удалить из кэша","CTX_REMOVE_CACHE_EP":"Удалить эпизод из кэша","CTX_OPEN_CONTAINING":"Открыть папку с файлом","CTX_REMOVE":"Удалить из библиотеки","CTX_AVAILABLE_OFFLINE":"Доступно без интернета","CTX_PAUSED":"Остановлено","CTX_ALWAYS_ON_TOP":"Закреплено","CTX_FULLSCREEN":"Полный экран","CTX_WRONG_SUBS":"Некорректные субтитры","CTX_REPORT_ISSUES":"Сообщить о проблеме","CTX_COPY":"Копировать","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Вставить","CTX_CLEAR":"Очистить","CTX_CLEAR_RECENT_SEARCHES":"Очистить историю поисковых запросов","HELLO_THERE":"Привет","HOPE_YOU_ENJOY":"Надеемся, что вам нравится Stremio и это одно из ваших любимых приложений!","WHO_ARE_WE":"Кто мы? Мы — команда, стоящая за этим, — два парня, которые усердно работают каждый день в течение последних 3 лет с одной целью — делать этот продукт всё лучше и лучше.","SUPPORT_US":"Если вам нравится Stremio, если Stremio ценен для вас — расскажите об этом!","SPREAD_THE_WORD":"Поделитесь с друзьями прямо сейчас, расскажите о Streamio","MORE_PEOPLE":"Чем больше людей пользуются Streamio, тем лучше он становится","SEND_A_LINK":"Или отправьте ссылку на наш сайт","TIP_LOCALFILES":"Совет: вы можете перетаскивать локальные видеофайлы в Stremio.","ADDON_MY":"Мои дополнения","ADDON_COMMUNITY":"Дополнения от сообщества","ADDON_OFFICIAL":"Официальные дополнения","ADDON_REPOS":"Репозитории дополнений","ADDON_SEARCH":"Искать плагины","ADDON_INSTALL":"Установить","ADDON_CONFIGURE":"Настроить","ADDON_UNINSTALL":"Удалить","ADDON_UPGRADE":"Обновить","ADDON_INSTALLED":"Установлено","ADDON_INSTALLED_MSG":"Дополнение установлено!","ADDON_UPGRADED_MSG":"Дополнение обновлено!","ADDON_UNKNOWN":"Неизвестно","ADDON_ERR":"Ошибка установки дополнения!","ADDON_DISCONNECTED":"Отключено","ADDON_APP_MISSING":"приложение для этого источника не установлено. Вы хотите установить его сейчас?","ADDON_APP_INSTALL":"Установить","ADDON_PAGE":"Страница дополнения","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"provides","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Дополнение","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"ОПИСАНИЕ","WEBSITE_LEARN_MORE":"Узнать больше","WEBSITE_COMPANY":"Компания","WEBSITE_CONTACTS":"Контакты","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Партнёры","WEBSITE_SLOGAN_WATCH":"Смотреть немедленно","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"Всё, что вы можете посмотреть","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Скачать сейчас","WEBSITE_DOWNLOAD_FOR":"Скачать сейчас для","WEBSITE_IS_DESKTOP":"Stremio — это настольное приложение, откройте эту страницу на своем ПК и скачайте его","WEBSITE_DESKTOP_DEMO_VID":"Демо","WEBSITE_PAGE_HOME":"Главная","WEBSITE_PAGE_FEATURES":"Возможности","WEBSITE_PAGE_ADDONS":"Дополнения","WEBSITE_PAGE_TECH":"Технологии","WEBSITE_PAGE_CREATE_ADDON":"Создать дополнение","WEBSITE_PAGE_CONTACTS":"Контакты","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Фильмы","WEBSITE_TYPE_series_PL":"Сериалы","WEBSITE_TYPE_tv":"В эфире","WEBSITE_TYPE_channel":"Каналы","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Нажмите и смотрите свои любимые фильмы, ТВ-шоу, видео и телеканалы.","WEBSITE_FEATURES_SUBS":"Автоматические субтитры","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio автоматически выбирает синхронизированные субтитры для вашего языка.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Импорт из Facebook","WEBSITE_LIB_LOCAL":"Добавить с локального диска","WEBSITE_BOARD":"Доска — ваше универсальное место для уведомлений и рекомендаций","WEBSITE_BOARD_RECOMMEND":"Рекомендуемое телешоу","WEBSITE_BOARD_TRENDING":"Популярный фильм","WEBSITE_BOARD_NEW":"Новое видео","WEBSITE_BOARD_EPISODE":"Новый эпизод","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"Новые видео из каналов YouTube","WEBSITE_BOARD_EPISODES":"Новые серии из сериалов, за которыми вы следите","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"Мы основные участники проекта","WEBSITE_TECH_ELECTRON":"Electron предоставляет инновационную платформу для создания Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Мы участники проекта","WEBSITE_TECH_LINVODB":"Технология базы данных, гарантирующая что ваши данные организованы и доступны везде, где вы входите в приложение.","WEBSITE_TECH_LINVODB_EXTRA":"Собственная технология","WEBSITE_CREATE_ADDON":"Создайте свое дополнение","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Заинтересованы? Вы можете <a href=\'mailto:office@stremio.com\'>связаться с нами</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Расскажите о Stremio:","WEBSITE_CONTACT":"Если вы хотите связаться с нами, перейдите по адресу","WEBSITE_OPENSOURCE":"Чтобы посмотреть наши проекты с открытым кодом, перейдите на","WEBSITE_BITCOIN":"Пожертвовать Bitcoin:","WEBSITE_FAQ":"Часто задаваемые вопросы","WEBSITE_FAQ_SHORT":"ЧЗВ","WEBSITE_QUESTIONS":"Вопросы","WEBSITE_TOS":"Условия использования","WEBSITE_LEGAL":"Юридическое","WEBSITE_PAGE_ABOUT":"О проекте","WEBSITE_PAGE_BECOME_PARTNER":"Стать партнером","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"Что такое Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio — это универсальный центр видеоконтента. Находите, упорядочивайте и просматривайте видео из любых источников на любом устройстве, которое у вас есть.","WEBSITE_WHAT_IS_STREMIO_P2":"Фильмы, ТВ-шоу, сериалы, прямое телевидение или веб-каналы, такие как YouTube и Twitch.tv — все это вы можете найти на Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Фильмы, ТВ-передачи, прямые телепередачи или веб-каналы — все это можно найти на Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Наслаждайтесь этим на любых мультимедийных устройствах","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Импорт из Facebook","WEBSITE_DEVICES_LOCAL":"Добавить с локального диска","WEBSITE_JOIN_THE_PARTY_NOW":"Присоединяйтесь к тусовке","WEBSITE_DEVICES_ALL":"Легко использовать на всех ваших устройствах;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"О нас","WEBSITE_LINK_TECHNOLOGY":"Технологии","WEBSITE_LINK_APPS":"Приложения","WEBSITE_LINK_DOWNLOADS":"Скачать","WEBSITE_MORE":"Больше","WEBSITE_LINK_ADDONS":"Дополнения","WEBSITE_LINK_ADDON_SDK":"SDK дополнения","WEBSITE_LINK_CONTRIBUTE":"Участвовать","WEBSITE_LINK_COMMUNITY":"Сообщество","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"...и ещё","WEBSITE_LINK_HELP":"Центр помощи","WEBSITE_LINK_CONTACTS":"Контакты","WEBSITE_LINK_TOS":"Условия и положения","WEBSITE_LINK_PRAVACY":"Политика конфиденциальности","WEBSITE_SUBSCRIBE":"Подписаться","WEBSITE_NEWSLETTER":"Подпишитесь на нашу рассылку и получайте удивительные вещи","WEBSITE_PLACEHOLDER_EMAIL":"Ваша эл. почта","WEBSITE_COMMUNITY":"Сообщество","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Зачем нам это","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Now Stremio 4 beta","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can accss a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},72687:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Filmi","TYPE_series":"Serije","TYPE_tv":"TV kanali","TYPE_channel":"Kanali","TYPE_other":"Ostalo","TYPE_movie_PL":"Filmi","TYPE_series_PL":"Serije","TYPE_tv_PL":"TV kanali","TYPE_channel_PL":"Kanali","TYPE_other_PL":"Ostalo","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Nazaj","MORE":"Več","DONE":"Done","COPY":"Kopiraj","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Razišči","Board":"Plošča","Library":"Knjižnica","My Library":"Moja Knjižnica","Calendar":"Koledar","NOTIFICATION_ONLINE":"Sedaj si povezan","NOTIFICATION_OFFLINE":"Si trenutno nepovezan","INTERNET_CONNECTION":"Mrežna povezava","STORAGE_FULL_TITLE":"Opozorilo: Prostor je poln!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"iskanje","SEARCH_NO_RESULTS":"Ni rezultatov iskanja","SEARCH_EXPLANATION_CONTENT":"Išči filme, serije, YouTube in TV kanale","SEARCH_EXPLANATION_PEOPLE":"Išči igralce, režiserje in avtorje","SEARCH_PASTE_LINKS":"Kopiraj HTTP in Magnet linke","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Dodaj v knjižnico","REMOVE_FROM_LIB":"Odstrani iz knjižnice","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Napovednik","WATCH_TRAILER":"Predvajaj Napovednik","WATCH_NOW":"Glej sedaj","SHOW":"Show","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb Rating","YEAR":"Leto","DIRECTOR":"Režiser","WRITER":"Avtor","LEAD_ACTORS":"Glavni igralci","CAST":"Postava","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Objavljeno","SEASONS":"Sezone","GENRE":"Žanr","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Povzetek","SHOW_MORE":"Show More","SIMILAR":"Podobno","UPCOMING":"Prihajajoče","TBA":"TBA","ENDED":"Končano","DURATION":"Trajanje","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"išči video","SEARCH_PLACEHOLDER":"search or paste URL","ADDON":"dodatek","ADDONS":"Dodatki","OFFICIAL":"Glavni","ADDONS_OFFICIAL":"Glavni Stremio Dodatki","ADDONS_POPULAR":"Popularno v vašem področju","ADDON_FREE":"prosto","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"naročnina","ADDON_STREAM_GEORESTRICTED":"ni dostopno v vašem področju","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Dostopni Stream-i","NO_STREAM":"Ni dostopnih stream-ov","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Prikaži vse dodatke »","ADDON_CATALOGUE_MORE":"Več dodatkov »","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons collection already exist","ADDON_REPO_ERR":"Error occurred while adding collection","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Cannot uninstall addon, it is protected","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection URL","ERR_NOT_ADDON_URL":"Not a valid addon URL","ERR_DETECTFROMURL":"Cannot find addon/collection from this URL","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Syncing installed addons to your account failed","SETTINGS_DATA_EXPORT":"Export user data","ADDON_PULL_FAILED":"Syncing installed addons from your account failed","REFRESH_ON_CLICK":"Click to retry","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Movie still in theaters","WATCH_IN_CINEMA":"Watch it in your local cinema","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.<br>Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from local files, YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streaming from","CASTING_TO":"Casting to","NETWORK_STATUS":"Network status","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Waiting:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"loading...","PLAYING_LOCAL":"playing from local file","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Choose a device to watch on","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Tablica","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Podnapisi","SUBTITLES_CHANGE":"Change subtitles for ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles #{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Onemogočeno","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Sezone","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Nanizanke","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"watched","SORT_YEAR":"year","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"Novo Za Vas","New Episodes":"Nove Nanizanke","New Videos":"New Videos","Recommendations":"Priporočila","LIBRARY_RESUME":"Nadaljuj","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Podrobnosti","LIBRARY_RESUME_DISMISS":"Opusti","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar Winners","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonimni uporabnik","DONT_HAVE_ACC":"Nimate še računa?","HAVE_ACC":"Že imate račun?","PASSWORD":"Geslo","PASSWORD_CONFIRM":"Potrdi geslo","EMAIL":"E-mail","FB_LOGIN":"Nadaljuj z Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"or","I_ACCEPT":"Se strinjam z","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terms and Conditions","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Geslo se ne ujema","SIGN_UP":"Registracija","SIGN_UP_EMAIL":"Registracija z email naslovom","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Prijava","LOG_OUT":"Odjava","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"O Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Wrong email or password. In case you have forgotten your password, ","SET_A_PASS":"set a password","RESET_PASSWORD":"Reset password","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Activate this addon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Kaj je novega","BUTTON_CONTINUE":"Nadaljuj","BUTTON_ACTIVATE":"Aktiviraj","BUTTON_ACTIVATED":"Aktivirano","BUTTON_CANCEL":"Prekliči","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Opusti vse","BUTTON_VIEW_ALL":"pregled vseh","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications & recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series & movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync & Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Nastavitve","SETTINGS_NAV_GENERAL":"Osnovno","SETTINGS_NAV_PLAYER":"Predvajalnik","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Zaženi ob zagon","SETTINGS_VLC_DEFAULT":"Predvajaj z VLC","SETTINGS_UI_LANGUAGE":"UI Jezik","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Jezik","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"Januar","February":"Februar","March":"Marec","April":"April","May":"Maj","June":"Junij","July":"Julij","August":"Avgust","September":"September","October":"Oktober","November":"November","December":"December","Monday":"Ponedeljek","Tuesday":"Torek","Wednesday":"Sreda","Thursday":"Četrtek","Friday":"Petek","Saturday":"Sobota","Sunday":"Nedelja","Action":"Akcije","Comedy":"Komedije","War":"Vojni","Family":"Družinski","Animation":"Animirani","Adventure":"Pustolovski","Fantasy":"Fantazijski","Crime":"Kriminalni","Mystery":"Mistični","Romance":"Romantični","Drama":"Drame","Horror":"Grozljivke","Thriller":"Trilerji","Sci-Fi":"Sci-Fi","Music":"Glazbeni","Biography":"Biografski","Documentary":"Dokumentarni","Sport":"Športni","Musical":"Mjuzikli","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Add-ons","ADDON_COMMUNITY":"Community Add-ons","ADDON_OFFICIAL":"Official Add-ons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search add-ons","ADDON_INSTALL":"Naloži","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Odstrani","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Naloženo","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},56381:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Филм","TYPE_series":"Серија","TYPE_tv":"ТВ канал","TYPE_channel":"Канал","TYPE_other":"Остало","TYPE_movie_PL":"Филмови","TYPE_series_PL":"Серије","TYPE_tv_PL":"ТВ канали","TYPE_channel_PL":"Канали","TYPE_other_PL":"Остало","TYPE_ALL":"Све","TYPE":"Врста","CATALOG_com_linvo_cinemeta_top":"Популарно","CATALOG_com_linvo_cinemeta_imdbRating":"Истакнуто","CATALOG_com_linvo_cinemeta_year":"Ново","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Филмови у јавном власништву","VIDEO":"Видео снимак","BACK":"Назад","MORE":"Више","DONE":"Готово","COPY":"Копирај","SUCCESS":"Успешно","ERROR":"Грешка","SETTINGS_CASTING_MODE_PICKER":"Режим пребацивања","CASTING_MODE_HLSV2":"Подразумевано","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Нема транскодирања","Discover":"Откриј","Board":"Табла","Library":"Збирка","My Library":"Моја збирка","Calendar":"Календар","NOTIFICATION_ONLINE":"Сада сте онлајн","NOTIFICATION_OFFLINE":"Тренутно сте офлајн","INTERNET_CONNECTION":"Мрежна веза","STORAGE_FULL_TITLE":"Упозорење: Меморија је пуна!","STORAGE_FULL_TEXT":"Stremio неће моћи да сачува ваша подешавања, преференце или информације за пријаву. Размислите о рестартовању или поновној инсталацији апликације Stremio.","SEARCH":"претрага","SEARCH_NO_RESULTS":"Нису пронађени резултати","SEARCH_EXPLANATION_CONTENT":"Претражите филмове, серије, YouTube и ТВ канале ","SEARCH_EXPLANATION_PEOPLE":"Претражите глумце, режисере и писце","SEARCH_PASTE_LINKS":"Налепите HTTP и магнет линкове","SEARCH_OR_PASTE_LINK":"Претражите или налепите линк","SEARCH_SUGGESTIONS":"Предлози за претрагу","ADD_TO_LIB":"Додај у збирку","REMOVE_FROM_LIB":"Уклони из збирке","ADDED_TO_LIB":"Додато у збирку","REMOVED_FROM_LIB":"Уклоњено из збирке","TRAILER":"Трејлер","WATCH_TRAILER":"Погледај трејлер","WATCH_NOW":"Погледај сада","SHOW":"Прикажи","SHOW_MOVIE":"Прикажи филм","WATCH_RANDOM":"Погледај насумично","IMDB_RATING":"IMDb оцена","YEAR":"Година","DIRECTOR":"Режисер","WRITER":"Писац","LEAD_ACTORS":"Главни глумци","CAST":"Глумци","CREW":"Екипа","SHOW_MORE_CAST":"Прикажи више »","AIRED":"Емитовано ","SEASONS":"Сезоне","GENRE":"Жанр","GENRE_ALL":"Сви жанрови","CATALOG":"Каталог","SUMMARY":"Резиме","SHOW_MORE":"Прикажи више","SIMILAR":"Слично","UPCOMING":"Предстојеће","TBA":"TBA","ENDED":"Завршено","DURATION":"Трајање","FEATURED":"Истакнуто","METADATA":"Метаподаци","CATEGORY":"категорија","LINKS_GENRES":"Жанрови","LINKS_CAST":"Глумци","LINKS_DIRECTORS":"Режисери","SEARCH_VIDEOS":"претражите видео снимке","SEARCH_PLACEHOLDER":"претражите или налепите URL","ADDON":"додатак","ADDONS":"Додаци","OFFICIAL":"званично","ADDONS_OFFICIAL":"Званични Stremio додаци","ADDONS_POPULAR":"Популарно у вашој области","ADDON_FREE":"бесплатно","ADDON_PEERED":"peer-овано","ADDON_SUBSCRIPTION":"претплата","ADDON_STREAM_GEORESTRICTED":"није доступно у вашој области","ADDON_STREAM_OFFLINECACHE":"Офлајн кеш","ADDON_STREAM_LOCALFILE":"Локални фајл","SHARE_ADDON":"Дели додатак","AVAILABLE_STREAMS":"Доступни стримови","NO_STREAM":"Нису пронађени стримови","ALL_ADDONS":"Све","INSTALL_MORE_ADDONS":"За више стримова, инсталирајте још додатака","STREAM_NOT_SUPPORTED":"Изабрани стрим није подржан на овој платформи.","ADDON_CATALOGUE":"Прикажи све додатке »","ADDON_CATALOGUE_MORE":"Инсталирај додатке","REPO_ADDED":"Репозиторијум је додат","ADDON_REPO_EXIST_ERR":"Ова колекција додатака већ постоји","ADDON_REPO_ERR":"Дошло је до грешке приликом додавања колекције","ADDON_ADD_ERR":"Дошло је до грешке приликом додавања додатка","ERR_ADDON_PROTECTED":"Није могуће деинсталирати додатак, заштићен је","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Дошло је до грешке – аутентификација можда није успела","ERR_NOT_COLLECTION_URL":"Није URL колекције","ERR_NOT_ADDON_URL":"Није важећи URL додатка","ERR_DETECTFROMURL":"Није могуће пронаћи додатак/колекцију са овог URL-а ","ADDON_DUPLICATE_WARNING":"Упозорење: дуплирани додатак","ADDON_COLLECTION_SET_FAILED":"Синхронизација инсталираних додатака са вашим налогом није успела","SETTINGS_DATA_EXPORT":"Извези корисничке податке","ADDON_PULL_FAILED":"Синхронизација инсталираних додатака са вашег налога није успела","REFRESH_ON_CLICK":"Кликните да бисте покушали поново","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Филм се још увек приказује у биоскопима","WATCH_IN_CINEMA":"Гледајте у свом локалном биоскопу","IN_THEATER":"У биоскопу","GET_TICKETS":"Набавите карте","UPCOMING_EPISODE":"Предстојећа епизода","UPCOMING_EPISODE_MESSAGE":"Ова епизода ће бити емитована","MISSING_DATE_EPISODE":"Недостаје датум епизоде","MISSING_DATE_EPISODE_MESSAGE":"Ова епизода можда још није емитована ","CHANNEL_NOT_SCRAPED":"Овај канал још није преписан.<br> Вратите се за неколико минута.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Додајте га у своју збирку да бисте добили обавештење када буде доступан.","GET_NOTIFIED_WHEN_AVAILABLE":"Бићете обавештени када буде доступан.","WARNING_STREAMING_SERVER":"Упозорење: локални сервер за стримовање није пронађен. Стримовање из локалних фајлова, YouTube-а и BitTorrent-а неће бити доступно.","WARNING_STREAMING_SERVER_DISMISS":"Одбаци","WARNING_STREAMING_SERVER_LATER":"Касније","DECODER_WARNING":"Упозорење: овај видео снимак можда не подржава ваш хардвер. Имајте на уму да репродукција може бити спора.","GENERIC_ERROR_MESSAGE":"Дошло је до грешке!","TRY_AGAIN":"Покушај поново","CLEAR_DATA":"Очисти податке","PLAYER_ERROR":"Упс, грешка плејера","PLAYER_ERROR_LOOKSLIKE":"Изгледа да","PLAYER_ORIENTATION":"Оријентација плејера","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Закључано","PLAYER_ORIENTATION_SENSOR_SHORT":"Сензор","PLAYER_ORIENTATION_LANDSCAPE":"Оријентација плејера закључана у водоравном положају","PLAYER_ORIENTATION_SENSOR":"Аутоматска оријентација плејера (сензор)","PLAYER_PLAYBACK_SPEED":"Брзина репродукције","PLAYER_PLAYBACK_ERROR":"Грешка при репродукцији, покушајте поново","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Непозната грешка","PLAYER_PLAYBACK_ERROR_DEFAULT":"Жао нам је, {{productName}} не може да пусти овај видео снимак.","PLAYER_SUBTITLES_LANGUAGES":"Титлови језика","PLAYER_SUBTITLES_VARIANTS":"Варијанте титлова","PLAYER_SUBTITLES_SETTINGS":"Подешавања титлова","PLAYER_SUBTITLES_DISABLED":"Титлови су онемогућени","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Усправни положај","PLAYER_SUBTITLES_LOADED":"Титлови су учитани","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Уграђени титлови су учитани","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Ексклузивни титлови су учитани","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Учитани су титлови из {{origin}}","PLAYER_PLAY":"Пусти","PLAYER_PAUSE":"Паузирај","PLAYER_NEXT_VIDEO":"Следећи видео снимак","PLAYER_MUTE":"Искључи звук","PLAYER_UNMUTE":"Укључи звук","PLAYER_OPEN_IN_EXTERNAL":"Отвори у спољном плејеру","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Пусти на {{device}}","PLAYER_LIVE":"Уживо","PLAYER_NEXT_VIDEO_TITLE":"Следеће долази","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Одбаци","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Гледај сада","PLAYER_COPY_STREAM_SUCCESS":"Линк стрима је копиран у привремену меморију","PLAYER_COPY_STREAM_ERROR":"Копирање линка стрима није успело","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"стримовање из","CASTING_TO":"Пребацивање на","NETWORK_STATUS":"Статус мреже","STREAM_SPEED":"Брзина стрима:","STREAM_BUFFERED":"Баферовано:","PEERS_INFO":"Информације о peer-у","PEERS_ACTIVE":"Активно:","PEERS_CONNECTED":"Повезано:","PEERS_WAITING":"Чекање:","TRANSCODING_WARNING":"Упозорење: транскодирање видео снимка.","STREAM_LOADING":"учитавање...","PLAYING_LOCAL":"пуштање из локалног фајла","PLAYING_CACHE":"пуштање из кеша","WRONG_SUBS":"Погрешни титлови?","ERR_SUBS_LOADING_TITLE":"Грешка при учитавању титлова","ERR_SUBS_LOADING":"Учитавање титлова није успело: ово може бити проблем са додатком који користите или са вашом мрежном везом","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Следећи додаци титлова нису успели","ERR_CASTING_UPDATE_TITLE":"Није могуће ажурирати информације о уређају за пребацивање: сервер за стримовање је можда офлајн","CHOOSE_DEVICE":"Избор уређаја за гледање","NO_CAST_DEVICES":"Нема доступних уређаја за пребацивање.","NO_SETTINGS":"Нема доступних подешавања.","NO_OPTIONS":"No options available","PHONE_TABLET":"Телефон / Таблет","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Титлови","SUBTITLES_CHANGE":"Промените титлове за ","SUBTITLES_CHANGE_NONE":"Нема других титлова за овај језик, извините.","SUBTITLES_CHANGE_ACIVE":"Тренутно су титлови #{{subtitlesDialog.activeIdx + 1}} активирани. Кликните на „Настави” да бисте активирали титлове #{{subtitlesDialog.pickedIdx + 1}}. ","SUBTITLES_OR":"Алтернативно,","SUBTITLES_ADJUST_DELAY":"Подесите кашњење титлова:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Или користите тастере <span>G</span> / <span>H</span> током пуштања да бисте прилагодили.","SUBTITLES_ADJUST_DELAY_TIP":"САВЕТ: можете да користите тастере <span>G</span> / <span>H</span> током пуштања да бисте подесили.","SUBTITLES_DELAY":"Кашњење титлова:","SUBTITLES_LOADING":"Учитавање титлова...","SUBTITLES_UNAVAILABLE":"Нема доступних спољних титлова","SUBTITLES_DISABLED":"Онемогућено","EXTERNAL_PLAYER_DISABLED":"Онемогућено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Дозволи бирање","EXTERNAL_PLAYER_HINT":"Савет: Постоји подешавање којим можете дозволити стално отварање са спољним плејером","DONT_SHOW_AGAIN":"Не приказуј поново","SERVICE_INSTALL":"Инсталирај","AUDIO":"Аудио","DEFAULT_LANGUAGE":"Подразумевани језик","DEFAULT_SECONDARY_LANGUAGE":"Подразумевани други језик","SEASON":"Сезона","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Епизода","EPISODE_ABBREVIATION":"ЕП","SPECIAL":"Специјал","SORT":"сортирање","SORT_BY":"Сортирати по","FILTER":"филтер","SORT_TRENDING":"у тренду","SORT_RECENT":"недавно","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"оцена","SORT_WATCHED":"одгледано","SORT_YEAR":"година","SELECT":"Select","SELECT_TYPE":"Избор врсте","SELECT_SORT":"Избор сортирања","SELECT_CATALOG":"Избор каталога","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Избор жанра","SORT_LASTWATCHED":"По последњем гледању","SORT_NAME":"По имену","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"По броју гледања","SORT_NOTWATCHED":"неодгледано","New for You":"Ново за вас","New Episodes":"Нове епизоде","New Videos":"Нови видео снимци","Recommendations":"Препоруке","LIBRARY_RESUME":"Настави","LIBRARY_PLAY":"Пусти","LIBRARY_DETAILS":"Детаљи","LIBRARY_RESUME_DISMISS":"Одбаци","LIBRARY_CLEAR_PROGRESS":"Очисти напредак","LIBRARY_REMOVE":"Уклони","LIBRARY_NOT_LOGGED_IN":"Збирка је доступна само пријављеним корисницима","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Календар је доступан само пријављеним корисницима","NOT_LOGGED_IN_CLOUD":"Приступите својим омиљеним филмовима и серијама било када, било где","NOT_LOGGED_IN_RECOMMENDATIONS":"Препоруке прилагођене вашој историји гледања","NOT_LOGGED_IN_NOTIFICATIONS":"Никада више не пропустите ниједну епизоду","NOT_LOGGED_IN_CALENDAR":"Закажите свој лични календар гледања","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Истакнуто","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Добитници Оскара","DISCOVER_WARNING_TITLE":"Упс!","DISCOVER_EMPTY_CATALOG":"Овај додатак је вратио празан садржај.","DISCOVER_ADULT_WARNING":"Садржај је видљив само одраслима. Имате ли 18 година?","DISCOVER_NOADDON_WARNING":"Упозорење: није активан Stremio додатак за ову врсту. Приказују се сачуване ставке, ништа се овде неће ажурирати.","DISCOVER_LOAD_ERR":"Садржај се није учитао, дошло је до грешке.","DISCOVER_ADDON_UNINSTALLED":"Овај садржај више није доступан, можда сте деинсталирали додатак.","UNINSTALL_THIS_ADDON":"Деинсталирај овај додатак ","ERR_ADDON_NOT_INSTALLED":"Овај додатак није инсталиран. Инсталирати сада?","DETAIL_RECEIVE_NOTIF_SERIES":"Примање обавештења о новим епизодама","DETAIL_RECEIVE_NOTIF_VIDEOS":"Примање обавештења о новим видео снимцима","SIDEBAR_SHOW_STREAMS":"Прикажи стримове","RELAUNCH":"Поново покренути сада!","UPGRADE":"Нова верзија је доступна! Надоградите на најновију верзију апликације Stremio","RELOAD_UI":"Поново учитати кориснички интерфејс","MANUAL_UPDATE_TITLE":"Ажурирај своју Stremio верзију","MANUAL_UPDATE_LINE1":"Користите застарелу Stremio верзију, која је веома непрепоручљива.","MANUAL_UPDATE_LINE2":"Ажурирајте што је пре могуће.","BUTTON_UPDATE_LATTER":"Не сада","BUTTON_UPDATE_NOW":"Ажурирај","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Анонимни корисник","DONT_HAVE_ACC":"Немате налог?","HAVE_ACC":"Већ имате налог?","PASSWORD":"Лозинка","PASSWORD_CONFIRM":"Потврдите лозинку","EMAIL":"Имејл","FB_LOGIN":"Настави са Facebook-ом","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Ништа се не дели без ваше дозволе","FB_NOPOST":"Нећемо постављати ништа у ваше име","OR":"или","I_ACCEPT":"Прихватам","I_ACCEPT_BY_CLICKING":"Кликом на горње дугме сведочим да прихватам ","TOS":"Услови и одредбе","MUST_ACCEPT_TERMS":"Морате прихватити услове","PASSWORDS_NOMATCH":"Лозинке се не подударају","SIGN_UP":"Региструј се","SIGN_UP_EMAIL":"Региструј се путем имејла","CLICK_TO_SIGN_UP":"Кликните овде да се бисте се регистровали.","LOG_IN":"Пријави се","LOG_OUT":"Одјави се","EXIT_FULLSCREEN":"Изађи из режима целог екрана","ENTER_FULLSCREEN":"Уђи у режим целог екрана","PLAY_URL_MAGNET_LINK":"Пусти URL/магнет линк","HELP_FEEDBACK":"Помоћ и повратне информације","TERMS_OF_SERVICE":"Услови коришћења","PRIVACY_POLICY":"Политика приватности","ABOUT_STREMIO":"О нама","USER_PANEL":"Кориснички панел","LOGIN_LABEL":"Пријави се","GUEST_LOGIN":"Пријави се као гост","GUEST_LOGIN_NOTICE":"Пријављивање као гост није препоручено. Коришћење регуларног пријављивања омогућава апликацији Stremio да синхронизује вашу збирку, прима обавештења за омиљене серије/канале. Желите ли заиста да наставите?","GUEST_LOGIN_NOTICE_2":"Пријављивање као гост није препоручено - нећете имати синхронизована обавештења збирке и табле, што су виталне функције апликације Stremio. Желите ли заиста да наставите?","CLICK_HERE":"кликни овде","WRONG_PASSWORD":"Погрешан имејл или лозинка. У случају да сте заборавили лозинку, ","SET_A_PASS":"поставите лозинку","RESET_PASSWORD":"Ресетуј лозинку","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Заборавили сте лозинку?","EMAIL_USED_WITH_FB":"Овај имејл је коришћен са Facebook пријавом.","INVALID_EMAIL":"Унесите исправну имејл-адресу","INVALID_PASSWORD":"Унесите исправну лозинку","CONN_ERR":"Мрежна грешка - покушајте поново касније.\\n\\nАко се ово настави, онемогућите заштитне зидове/антивирусни софтвер (нарочито Bitdefender). ","IMPORT_FROM_GUEST":"Увоз збирки са налога за госте","RECEIVE_UPDATES_EMAIL":"Примање ажурирања на свом имејлу од апликације Stremio","LOGIN_FAILED":"Пријава није успела.","SIGNUP_FAILED":"Регистрација није успела.","SEARCH_FAILED":"Претрага није успела.","EMAIL_USED":"Овај имејл је већ у употреби.","WAITING_FB_LOGIN":"Пријављивање са Facebook-ом...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Пуштање у спољном плејеру","EXTERNAL_REMEMBER_PLAYER":"Желите ли да запамтите свој избор?","EXTERNAL_ALWAYS_PLAY":"Да","EXTERNAL_ONLY_ONCE":"Не","BEST_FIT":"Најбоље уклапање","FIT_SCREEN":"Уклопљен екран","FILL":"Попуњено","16:9":"16:9","4:3":"4:3","Original":"Оригинално","INTRO_TASTE":"Реците нам шта волите","INTRO_TASTE_LONG":"Реците нам шта бисте желели да гледате","INTRO_TASTE_PICK":"Изаберите {{interestsRemaining}} интересовања ","INTRO_TASTE_PICK_MORE":"Изаберите још {{interestsRemaining}} интересовања","INTRO_TASTE_HELP_US":"Помозите нам да сазнамо више о вама.","INTRO_TASTE_CHOOSE_THESE":"Изаберите неке од ових:","INTRO_TASTE_CHOOSE_MIN":"Изаберите најмање 3 категорије","INTRO_TASTE_CHOOSE_MIN_ERR":"Морате изабрати најмање 3 категорије!","INTRO_TASTE_LIFESTYLE":"Животни стил","INTRO_TASTE_SPORTS":"Спортови","INTRO_TASTE_FOOD_HEALTH":"Храна и здравље","INTRO_TASTE_BEAUTY_FASHION":"Лепота и мода","INTRO_TASTE_NEWS":"Вести","INTRO_TASTE_GAMING":"Видео игре","INTRO_TASTE_SCIENCE_EDU":"Наука и образовање","INTRO_TASTE_MUSIC":"Музика","INTRO_TASTE_TRAVEL":"Путовања","INTRO_TASTE_LATE_NIGHT":"Касноноћна емисија","INTRO_TASTE_REALITY":"Ријалити","INTRO_TASTE_COMEDY":"Комедија","INTRO_TASTE_DIY":"Уради сам","INTRO_TASTE_TECH":"Технологија","INTRO_TASTE_CINEMA":"Биоскоп","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Изабрани додатак није подржан на овој платформи.","ADDON_DISCLAIMER":"Коришћење додатака трећих страна увек ће бити предмет ваше одговорности и важећег закона јурисдикције у којој се налазите.","ADDON_ACTIVATE":"Активирати овај додатак?","ADDON_REPO_ADD":"URL колекције додатка","ADDON_ADD":"Додај","INSTALL_ADDON":"Инсталирај додатак","ADD_ADDON":"Додај додатак","ADD_ADDON_DESCRIPTION":"Додатак можете додати преко спољног линка, који ће се појавити под „Инсталирани додаци”.","PASTE_ADDON_URL":"Налепите URL додатка","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Шта је ново","BUTTON_CONTINUE":"Настави","BUTTON_ACTIVATE":"Aктивирај","BUTTON_ACTIVATED":"Aктивирано","BUTTON_CANCEL":"Откажи","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Пошаљи","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Одбаци све","BUTTON_VIEW_ALL":"Погледај све","BUTTON_SEE_ALL":"Види све","BUTTON_COLOR_TRANSPARENT":"Прозирно","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Отвори у прегледачу","LIB_EMPTY":"Ваша збирка изгледа празно. Сазнајте колико је она корисна :) ","HOW_START":"Ево како можете да почнете:","LIB_EMPTY_CAL":"Ваш календар приказује серије у вашој збирци.","HOW_START_CAL":"Ево како можете да додате серије:","LIB_EMPTY_BOARD":"Табла приказује обавештења и препоруке у вези са вашом збирком.","HOW_START_BOARD_WAIT":"Додајте неколико серија или канала у своју збирку и дајте нам неколико минута да обрадимо :)","HOW_START_BOARD":"Ево како можете да додате серије и филмове:","IMPORT_FB":"Увезите ствари које волите са <span>Facebook-а</span>","IMPORT_TRAKT":"Увезите своју медијску збирку са <span>Trakt-а</span>","IMPORT_DISCOVER":"Пронађите занимљиве ствари у одељку <span>Откриј</span>","IMPORT_DISK":"Увезите филмове или серије које имате на <span>локалном диску</span>","PLEASE_CREATE_ACC":"<u>Направите налог</u> да бисте омогућили синхронизацију збирке и табле.","IMPORT_DISCOVER_SIGNUP":"Региструјте се и пронађите занимљиве ствари у одељку <span>Откриј</span> ","IMPORT_DISK_SIGNUP":"Региструјте се и увезите филмове или серије које имате на <span>локалном диску</span> ","LIB_EMPTY_CLOUD":"Клауд збирка","LIB_EMPTY_CLOUD_DESC":"Лична клауд збирка је синхронизована на свим уређајима","LIB_EMPTY_EARLY":"Раноранилац","LIB_EMPTY_EARLY_DESC":"Примајте обавештења о новим епизодама ","LIB_EMPTY_PERSONAL":"Лично","LIB_EMPTY_PERSONAL_DESC":"Добијајте личне препоруке","LIB_EMPTY_CALENDAR_DESC":"Закажите свој лични календар гледања","LIB_EMPTY_ALL":"Региструјте се да бисте добили све ово:","LIB_EMPTY_BEST":"Региструјте се да бисте најбоље искористили Stremio","LIB_EMPTY_OTHER":"Региструјте се да бисте омогућили календар и друге сјајне функције","CALENDAR_ADDED":"Stremio календар је додат вашем подразумеваном календару на десктопу.","CALENDAR_ADDED_MSG":"Ако ово не функционише, додајте овај URL ручно у апликацију календара","TRAKT_EXPIRED":"Trakt аутентификација је истекла, идите у подешавања и поново се аутентификујте","TRAKT_REQUIRES_LOGIN":"Trakt грешка","TRAKT_REQUIRES_LOGIN_MSG":"Морате се пријавити","TRAKT_IMPORT_WATCHED":"Увоз","THEME":"Тема","THEME_DEFAULT":"Подразумевана","THEME_ADAPTIVE":"Адаптивна","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Подешавања","SETTINGS_NAV_GENERAL":"Опште","SETTINGS_NAV_PLAYER":"Плејер","SETTINGS_NAV_STREAMING":"Стримовање","SETTINGS_NAV_SHORTCUTS":"Пречице","SETTINGS_SHORTCUT_RELOAD_APP":"Поновно учитавање апликације","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Отварање подешавања","SETTINGS_SHORTCUT_SWITCH_TABS":"Промена картица","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Прелазак кроз картице унапред","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Прелазак кроз картице уназад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Кретање између менија","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Одлазак на претрагу","SETTINGS_SHORTCUT_EXIT_BACK":"Излаз / Одлазак назад","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Укључивање менија за брзину репродукције","SETTINGS_SHORTCUT_MENU_VIDEOS":"Укључивање менија за видео снимке","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Укључивање менија за титлове","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Укључивање менија за информације","SETTINGS_SHORTCUT_FULLSCREEN":"Укључивање целог екрана","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Приказ контрола","SETTINGS_SHORTCUT_PLAY_PAUSE":"Пуштање / Паузирање","SETTINGS_SHORTCUT_VOLUME_UP":"Појачавање јачине звука","SETTINGS_SHORTCUT_VOLUME_DOWN":"Смањивање јачине звука","SETTINGS_SHORTCUT_SEEK_NEXT":"Тражење следећег","SETTINGS_SHORTCUT_SEEK_PREV":"Тражење претходног","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Тражење уназад","SETTINGS_SHORTCUT_SEEK_FORWARD":"Тражење унапред","SETTINGS_SHORTCUT_PLAY_NEXT":"Пуштање следећег","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Повећавање величине титлова","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Смањивање величине титлова","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Повећавање кашњења титлова","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Смањивање кашњења титлова","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Укључивање бочне траке","SETTINGS_SHORTCUT_OR":"или","SETTINGS_SHORTCUT_TO":"до","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Аутентификуј","SETTINGS_FACEBOOK_IMPORT":"Увоз","SETTINGS_CALENDAR_SUBSCRIBE":"Претплати се","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Језик интерфејса","SETTINGS_LAUNCH_STARTUP":"Покрени на почетку","SETTINGS_VLC_DEFAULT":"Пусти помоћу VLC-а ","SETTINGS_UI_LANGUAGE":"Језик корисничког интерфејса","SETTINGS_UI_ZOOM":"Зумирање интерфејса","SETTINGS_FULLSCREEN_EXIT":"Тастер Escape за излаз из целог екрана","SETTINGS_GAMEPAD":"Омогући подршку за гејмпед","SETTINGS_CLOSE_WINDOW":"Затвори апликацију када је прозор затворен","SETTINGS_SUBTITLES_LANGUAGE":"Подразумевани језик титлова","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Подразумевана величина титлова","SETTINGS_SUBTITLES_BACKGROUND":"Позадина титлова","SETTINGS_SUBTITLES_COLOR":"Боја титлова","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Боја оквира титлова","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Боја позадине титлова","SETTINGS_SEEK_KEY":"Тастери са стрелицама траже време","SETTINGS_SEEK_KEY_SHIFT":"Тастери са стрелицама траже време када се држи тастер Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Трајање брзог премотавања уназад и унапред","SETTINGS_BINGE":"Аутоматски пусти следећу епизоду","SETTINGS_NEXT_VIDEO":"Прикажи обавештење за почетак следеће епизоде","SETTINGS_NEXT_VIDEO_TRIGGER":"Прикажи обавештење о следећој епизоди за:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Трајање искачућег прозора за следећи видео снимак","SETTINGS_PLAY_IN_BACKGROUND":"Пусти у позадини","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Пусти у спољном плејеру","SETTINGS_RESIZE":"Аутоматска промена величине прозора пре пуштања","SETTINGS_OVERRIDE_SERVER":"Замена URL-а сервера за стримовање (напредно)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"URL сервера за стримовање: ","SETTINGS_SERVER_AVAILABLE":"Сервер за стримовање је доступан.","SETTINGS_SERVER_UNAVAILABLE":"Сервер за стримовање није доступан.","SETTINGS_SERVER_STATUS_ONLINE":"Онлајн","SETTINGS_SERVER_STATUS_ERROR":"Грешка","SETTINGS_SERVER_CONFIGURE_TITLE":"Конфигурација URL-а сервера за стримовање","SETTINGS_SERVER_CONFIGURE_INPUT":"Унесите URL сервера за стримовање ","SETTINGS_SERVER_CACHE_SIZE":"Величина кеша","SETTINGS_SERVER_TORRENT_PROFILE":"Торент профил","SETTINGS_HTTPS_ENDPOINT":"Стримовање HTTPS крајње тачке: ","SETTINGS_TRANSCODE_PROFILE":"Транскод профила","SETTINGS_USE_BETA":"Увек користи најновију бета верзију","SETTINGS_IMPORT_FB":"Увоз са Facebook-а","SETTINGS_IMPORT_DISK":"Увоз са локалног диска","SETTINGS_IMPORT_TRAKT":"Увоз са Trakt-а","SETTINGS_PAUSE_MINIMIZED":"Паузирај репродукцију када је минимизирано","SETTINGS_HWDEC":"Хардверски убрзано декодирање","SETTINGS_BACKGROUND":"Позадинска репродукција","SETTINGS_SUBSCRIBE_CALENDAR":"Претплати се на календар","SETTINGS_REQ_EXPORT":"Затражи извоз података","SETTINGS_ACC_DELETE":"Затражи брисање налога","SETTINGS_CHANGE_PASSWORD":"Промени лозинку","SETTINGS_TOS":"Услови коришћења","SETTINGS_SUPPORT":"Контактирај подршку","SETTING_LANGUAGE":"Језик","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt скробовање","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Одјави се са Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Одјави се са Trakt-а","SETTINGS_SCAN_FOR_REMOTE":"Скенирај QR кôд за даљинско отварање","SETTINGS_DESKTOP_NOTIFICATIONS":"Обавештења десктопа","SETTINGS_DATA_SAVER":"Уштеда података","SETTINGS_LANGUAGE_INTERFACE":"интерфејс","SETTINGS_LANGUAGE_SUBS":"подразумевани титлови","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Аутоматски избор аудио снимка","SETTINGS_DEFAULT_AUDIO_TRACK":"Подразумевани аудио снимак","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Просторни звук","SETTINGS_ACCOUNT":"налог","SETTINGS_PLATFORM":"Платформа","SETTINGS_VERSION":"верзија","SETTINGS_ABOUT":"О апликацији","SETTINGS_MPV_WINDOW":"Покретање плејера у посебном прозору (напредно)","SETTINGS_PLAY_IN_EXTERNAL":"Увек покрени видео снимак у спољном плејеру","SETTINGS_STORAGE_BUTTON":"Очисти локалну меморију","SETTINGS_STORAGE_MODAL_TITLE":"Да ли сте сигурни?","SETTINGS_STORAGE_MODAL_MESSAGE":"Ово ће очистити локалну меморију и одјавити вас.","SETTINGS_HWDEC_PICKER":"Избор подешавања за хардверски убрзано декодирање","SETTINGS_HW_AUTOMATIC":"Аутоматски","SETTINGS_HW_DISABLED":"Онемогућено","SETTINGS_HW_ACCELERATED":"Убрзање декодирања","SETTINGS_HW_FULL":"Потпуно убрзање","SETTINGS_HW_LEGACY":"Застарело","SETTINGS_DISABLED":"Онемогућено","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Обавештење о мрежној вези","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Удаљени URL","SETTINGS_COPY_REMOTE_URL":"Копирај удаљени URL","SETTINGS_REMOTE_URL_COPIED":"Удаљени URL је копиран у привремену меморију","SETTINGS_SECTION_SUBTITLES":"Титлови","SETTINGS_SECTION_AUDIO":"Аудио снимак","SETTINGS_SECTION_CONTROLS":"Контроле","SETTINGS_SECTION_AUTO_PLAY":"Аутоматско пуштање","SETTINGS_SECTION_ADVANCED":"Напредно","SUBSPICKER_AUDIO":"Аудио снимак","SUBSPICKER_SUBTITLES":"Титлови додатака","SUBSPICKER_BLACK_BACKGROUND":"Користи црну боју позадине","SUBSPICKER_VERTICAL_OFFSET":"Вертикални помак (офсет)","SUBSPICKER_SIZE":"Величина","SUBSPICKER_DELAY":"Кашњење","SUBSPICKER_EMBEDDED_SUBS":"Уграђени титлови","MOBILE_PRIVACY_POLICY":"Политика приватности","MOBILE_CRASH_REPORTING":"Извештавање о отказивању","MOBILE_ZOOM_TO_FILL":"Зумирај да попуниш екран","MOBILE_PASSTHROUGH":"Дигитални излаз аудио снимка (пролазни)","MOBILE_RUN_LOW_BATTERY":"Покрени на празној батерији","MOBILE_RUN_FOREGROUND":"Покрени као услугу у првом плану","MOBILE_PERFORMANCE":"ПЕРФОРМАНСЕ И СТАБИЛНОСТ","MOBILE_SERVER_ONLINE":"Онлајн","MOBILE_SERVER_OFFLINE":"Офлајн","MOBILE_QR_EXPIRES":"QR кôд истиче за ","MOBILE_LOG_INTO":"Пријавите се на свој Stremio налог ","MOBILE_SCAN_QR":"Скенирајте QR кôд изнад или идите на ","MOBILE_LINK_ACCOUNT":"Повежите налог","MOBILE_SPEEDPICKER_CANCEL":"Откажи","MOBILE_SPEEDPICKER_LABEL":"Изаберите брзину репродукције","MOBILE_EMPTY_LIBRARY":"Ваша збирка је празна","MOBILE_NO_ADDON_ACTIVE":"Ниједан Stremio додатак није активан за ову врсту.","MOBILE_ORGANIZER_WARNING":"Апликација Stremio Organizer пружа ограничену функционалност. За листу стримова за репродукцију и потпуно Stremio искуство, користите Stremio на десктоп рачунару.","MOBILE_ADDON_LOADING":"још увек се учитава","MOBILE_ADDONS_LOADING":"додаци се још увек учитавају","MOBILE_ADDON":"Додатак","MOBILE_CONFIGURE_ADDON":"Конфигуришите свој додатак","MOBILE_CONFIGURE_ADDON_LABEL":"Конфигуриши додатак","MOBILE_ORGANIZER_ADDONS_WARNING":"Апликација Stremio Organizer пружа ограничен избор додатака. За потпуно Stremio искуство, користите Stremio на десктоп рачунару.","MOBILE_DISCONNECT":"Прекини везу","MOBILE_LOOKING_FOR_DEVICES":"Тражење уређаја...","MOBILE_CAST_TO":"Пребацујте на","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Избриши налог","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Брисање налога се неће извршити одмах због законских обавеза. Након што затражите брисање вашег налога, мораћете да користите другу имејл-адресу/Facebook профил да бисте у будућности креирали нови Stremio налог.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Потврди брисање налога","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ваш налог је креиран помоћу Facebook-а. Да бисте избрисали свој налог, користите наш кориснички портал на www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Унесите своју лозинку да бисте потврдили брисање налога.","MOBILE_DELETE_ACCOUNT_BUTTON":"Избриши налог","NAVIGATION_ON":"Укључено","NAVIGATION_OFF":"Искључено","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Слажем се да примам маркетиншке поруке од апликације Stremio","QUIT":"Напусти","CONNECTED":"Повезано","AUTHENTICATE":"Аутентификуј","AUTHENTICATING":"Authenticating...","CACHING":"Кеширање","SETTINGS_CACHING_DRIVE":"Диск за кеширање","ENABLE_LOCAL_FILES_ADDON":"Омогућите додатак за локалне фајлове (захтева поновно покретање)","LOCAL_ADDON_NOT_ENABLED":"Локални додатак није омогућен. Кликните овде да бисте отишли у подешавања и омогућили га.","ENABLE_REMOTE_HTTPS_CONN":"Омогућите удаљене HTTPS везе","TORRENT_PROFILE":"Торент профил","DATA_CACHING":"Кеширање података","MAGNET_PARSING":"Рашчлањивање магнет линка","January":"Јануар","February":"Фебруар","March":"Март","April":"Април","May":"Мај","June":"Јун","July":"Јул","August":"Август","September":"Септембар","October":"Октобар","November":"Новембар","December":"Децембар","Monday":"Понедељак","Tuesday":"Уторак","Wednesday":"Среда","Thursday":"Четвртак","Friday":"Петак","Saturday":"Субота","Sunday":"Недеља","Action":"Акциони","Comedy":"Комедија","War":"Ратни","Family":"Породични","Animation":"Анимирани","Adventure":"Авантуристички","Fantasy":"Фантастични","Crime":"Криминалистички","Mystery":"Мистерија","Romance":"Љубавни","Drama":"Драма","Horror":"Хорор","Thriller":"Трилер","Sci-Fi":"Научно-фантастични","Music":"Музика","Biography":"Биографски","Documentary":"Документарни","Sport":"Спортски","Musical":"Мјузикл","Western":"Вестерн","Film-Noir":"Филм ноар (црни филм)","News":"Вести","History":"Историјски","Game-Show":"Телевизијска игра","Reality-TV":"Ријалити-ТВ","Talk-Show":"Ток-шоу (спонтани разговор)","Film & Entertainment":"Филм и забава","Gaming":"Видео игре","From TV":"Са ТВ-а","Lifestyle":"Животни стил","Science & Education":"Наука и образовање","Cooking & Health":"Кување и здравље","Beauty & Fashion":"Лепота и мода","Sports":"Спортови","News & Politics":"Вести и политика","How-to & DIY":"Како да и уради сам","Tech":"Технологија","Automotive":"Аутомобилски","Causes & Non-Profits":"Узроци и непрофитне организације","Movies":"Филмови","Uk Live Tv":"УК ТВ уживо ","Fashion":"Мода","Business News Radio":"Радио са бизнис вестима","Business Tv":"Бизнис ТВ ","Cars & Auto":"Аутомобили","Comedy Radio":"Радио комедија ","Lifestyle Radio":"Радио животног стила","News Tv":"Вести ТВ","Food And Wine":"Храна и вино","Latino Tv":"Латино ТВ","Shopping Tv":"Шопинг ТВ","Religion":"Религија","Kids":"Деца","Body & Soul":"Тело и душа","Education":"Образовање","Indian Tv":"Индијска ТВ","Extreme Sports":"Екстремни спортови","Middle Eastern Tv":"Блискоисточна ТВ ","Celebrity Tv":"ТВ познате личности","Science Tv":"Научна ТВ","Bikini babe":"Бикини душа","Outdoors":"На отвореном простору","German Tv":"Немачка ТВ","French Tv":"Француска ТВ","Italian Tv":"Италијанска ТВ","Gamer Tv":"Гејмерска ТВ","Travel":"Путовања","Asian Tv":"Азијска ТВ","Entertainment":"Забава","News Radio":"Радио са вестима","Music Radio":"Музички радио","Language Learning":"Учење језика","Science Radio":"Научни радио","Tech Radio":"Технолошки радио","Science & Technology Vod":"Научни и технолошки VOD","new video":"нови видео снимак","new episode":"нова епизода","new movie":"нови филм","recommended":"препоручено","we recommend":"препоручујемо","offer of the day":"понуда дана","news":"вести","music video":"музички видео снимак","CTX_SHOW_HOTKEYS":"Прикажи пречице","CTX_DISMISS_NOTIF":"Одбаци обавештења","CTX_DISMISS_ALL":"Одбаци све","CTX_SHARE":"Дели","CTX_COPY_SHARE_LINK":"Копирај линк за дељење","CTX_COPY_MAGNET_LINK":"Копирај магнет линк","CTX_COPY_STREAM_LINK":"Копирај линк стрима","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Преузми овај видео снимак","CTX_DOWNLOAD_SUBS":"Преузми титлове","CTX_VIEW_ON_YOUTUBE":"Погледај на YouTube-у","CTX_SHOW":"Прикажи","CTX_PLAY":"Пусти","CTX_PLAY_IN":"Пусти у","CTX_PLAY_ON":"Пусти на","CTX_WATCH_ON":"Гледај на","CTX_WATCH":"Гледај","CTX_WATCHED":"Одгледано","CTX_WATCH_BEGINNING":"Гледај од почетка","CTX_WATCH_MOBILE":"Гледај на мобилном телефону","CTX_REWIND":"Премотај на почетак","CTX_MARK_WATCHED":"Означи као одгледано","CTX_MARK_NON_WATCHED":"Означи као неодгледано","CTX_MARK_UNWATCHED":"Означи као неодгледано","CTX_MARK_REST":"Означи остало као одгледано","CTX_UNMARK_REST":"Означи остало као неодгледано","CTX_RECEIVE_NEW_NOTIF":"Примај нова обавештења","CTX_ENABLE_NEW_NOTIF":"Омогући обавештења","CTX_DISABLE_NEW_NOTIF":"Онемогући обавештења","CTX_REMOVE_CACHE":"Уклони из кеша","CTX_REMOVE_CACHE_EP":"Уклони епизоду из кеша","CTX_OPEN_CONTAINING":"Отвори садржећи фолдер","CTX_REMOVE":"Уклони из збирке","CTX_AVAILABLE_OFFLINE":"Доступно офлајн","CTX_PAUSED":"Паузирано","CTX_ALWAYS_ON_TOP":"Увек на врху","CTX_FULLSCREEN":"Цео екран","CTX_WRONG_SUBS":"Погрешни титлови?","CTX_REPORT_ISSUES":"Пријавa проблема","CTX_COPY":"Копирај","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Налепи","CTX_CLEAR":"Очисти","CTX_CLEAR_RECENT_SEARCHES":"Очисти недавне претраге","HELLO_THERE":"Здраво","HOPE_YOU_ENJOY":"Надамо се да уживате у апликацији Stremio и да је то већ једна од ваших омиљених апликација!","WHO_ARE_WE":"Ко смо? Ми смо тим који стоји иза овога - два момка који напорно раде сваки дан последње 3 године да би овај производ учинили што бољим.","SUPPORT_US":"Ако уживате у коришћењу апликације Stremio, ако је Stremio драгоцен за вас - делите са осталима!","SPREAD_THE_WORD":"Делите са пријатељима сада, причајте о апликацији Stremio","MORE_PEOPLE":"Што више људи користи Stremio, он ће бити бољи!","SEND_A_LINK":"Или пошаљите линк ка нашем веб-сајту","TIP_LOCALFILES":"Савет: можете да превучете и отпустите локалне фајлове видео снимака у Stremio","ADDON_MY":"Моји додаци","ADDON_COMMUNITY":"Додаци заједнице","ADDON_OFFICIAL":"Званични додаци","ADDON_REPOS":"Колекције додатака","ADDON_SEARCH":"Претрага додатака","ADDON_INSTALL":"Инсталирај","ADDON_CONFIGURE":"Конфигуриши","ADDON_UNINSTALL":"Деинсталирај","ADDON_UPGRADE":"Надогради","ADDON_INSTALLED":"Инсталирано","ADDON_INSTALLED_MSG":"Додатак је инсталиран!","ADDON_UPGRADED_MSG":"Додатак је надограђен!","ADDON_UNKNOWN":"Непознато","ADDON_ERR":"Грешка приликом инсталације додатка","ADDON_DISCONNECTED":"Прекинута веза","ADDON_APP_MISSING":"апликација за овај извор није инсталирана. Желите ли да је инсталирате сада?","ADDON_APP_INSTALL":"Инсталирај сада","ADDON_PAGE":"Страница додатка","ADDON_TOP_CONTENT":"Најбоље од овог додатка","ADDON_PROVIDES":"Овај додатак ће вам дати:","ADDON_WATCH":"Гледај #{types} сада!","ADDON_WATCH_FREE":"Гледај #{types} бесплатно сада!","ADDON_ADDON":"Додатак","ADDON_SUPPORTED_TYPES":"Подржане врсте","ADDON_SUPPORTED_CATALOGS":"Подржани каталози","ADDON_PROVIDES_DISCOVER":"Више #{types} на страници Откриј","ADDON_PROVIDES_STREAMS":"Гледајте #{types}","ADDON_PROVIDES_STREAMS_FREE":"Гледајте #{types} бесплатно","ADDON_PROVIDES_SUBTITLES":"Титлови за #{types}","ADDON_CANTDETECT":"Нисмо могли да откријемо покренути Stremio, тако да нисмо могли да откријемо које додатке сте инсталирали.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Нису пронађене информације о овоме ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Грешка приликом преузимања информација о овоме.","ERR_CANT_PARSE_MAGNET":"Није могуће рашчланити магнет","ERR_NO_MAGNET_INFOHASH":"Нема важеће хеш информације за магнет","ERR_NO_FILE_PATH":"Није могуће послати захтев без путање до фајла","ERR_NO_TORRENT":"Није враћен торент","ERR_NO_SUPPORTERD_FILES":"Нису пронађени подржани фајлови","ERR_OPENING_FILES":"Није могуће отворити спољне фајлове","ERR_INVALID_LINK":"Неважећи линк","ERR_REGISTERED_ONLY":"Ова опција је доступна само за регистроване кориснике.","ERR_CLIPBOARD":"Није могуће пустити из привремене меморије","ERR_CLIPBOARD_READ":"Није могуће прочитати привремену меморију на овој платформи","ERR_CLIPBOARD_GENERIC":"У привременој меморији није пронађен URL који се може репродуковати. Копирајте URL (нпр. магнет линк) видео снимка. ","BOARD_CONTINUE_WATCHING":"Наставите да гледате","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Филмови изабрани специјално за вас.<br /> Овај филм је пример препоруке.","BOARD_EXPLANATION_EPISODES":"Нове епизоде ваше омиљене серије стижу овде.<br /> Додајте серије које пратите у своју збирку.","BOARD_EXPLANATION_VIDEOS":"Нове епизоде ваших омиљених канала долазе овде.<br /> Додајте YouTube канале које пратите у своју збирку.","WEBSITE_ENJOYED_BY":"Ужива више од 30 милиона корисника широм света","WEBSITE_STREAMING_ENHANCED":"Побољшано стримовање","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio нуди безбедно, модерно и беспрекорно искуство забаве. Са интерфејсом који је једноставан за коришћење и разноликом збирком садржаја, укључујући подршку за 4K HDR, корисници могу да уживају у омиљеним филмовима и серијама на свим својим уређајима. Са својом посвећеношћу безбедности, Stremio је врхунски избор за безбрижно, висококвалитетно искуство стримовања.","WEBSITE_AVAILABLE_ON":"Доступно на","WEBSITE_WATCH_AND_ENJOY":"Гледајте и уживајте.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio је прост као пасуљ","WEBSITE_ALL_FEATURES":"Све карактеристике","WEBSITE_EASY_TO_USE":"Лако за коришћење","WEBSITE_EASY_TO_USE_DETAILS":"Stremio је дизајниран да буде лак за употребу и једноставан за коришћење. Са чистим и интуитивним интерфејсом можете лако да се крећете и пронађете садржај који желите да гледате.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Беспрекорно на различитим уређајима","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Доступан за широк спектар платформи (укључујући Windows, Mac, Linux, Android итд.), Stremio ће пратити ваш напредак на свим вашим уређајима. Само се пријавите и наставите да гледате без потребе да поново конфигуришете апликацију на сваком новом уређају.","WEBSITE_ALL_DOWNLOADS":"Сва преузимања","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Подршка за видео снимке високе дефиниције","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Интегрисани плејер видео снимака који подржава већину видео формата, укључујући 4K HDR садржај, омогућава вам да уживате у највишем доступном квалитету.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Збирка разноврсног садржаја","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio се интегрише са великим бројем популарних извора видео снимака, као што су Netflix, Amazon Prime Video, Hulu, YouTube и многи други.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Направи бесплатан налог","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Прилагођено искуство гледања","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio вам омогућава да прилагодите изглед и осећај интерфејса променом теме, додавањем или уклањањем додатака и још много тога.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Подршка за вишејезичне титлове","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Сада можете уживати у свим омиљеним садржајима на жељеном језику, јер Stremio подржава титлове на свим језицима.","WEBSITE_ALL_STREMIO_FEATURES":"Све карактеристике апликације Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Пробајте Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"на свом ТВ-у сада","WEBSITE_YOU_CAN_NOW_WATCH":"Сада можете да гледате све омиљене серије на својим Android ТВ уређајима. Stremio ТВ апликација вам омогућава да са лакоћом уживате у филмској вечери.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Сада можете да гледате све омиљене ТВ емисије на свом паметном ТВ-у или Android ТВ-у. Stremio ТВ апликације вам омогућава да са лакоћом уживате у филмској вечери.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio за паметан ТВ","WEBSITE_PLAY_STORE_REVIEW":"Вероватно најбоља и најкориснија апликација коју можете имати на свом уређају. Ово је једна од апликација које користим свакодневно, посебно на свом Android ТВ-у већ дуги низ година. Добро направљено, са јаком заједницом, која пружа корисне функције. Одлично! Наставите са добрим радом.","WEBSITE_REVIEWS":"рецензије","WEBSITE_GET_STREMIO_FOR_FREE":"Набави Stremio бесплатно","WEBSITE_GET_STREMIO_NOW":"Набави Stremio сада","WEBSITE_STREMIO_FEATURES":"Карактеристике апликације Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Стримујте као професионалац са Stremio напредним функцијама и уживајте у беспрекорном приступу свим вашим омиљеним медијима","WEBSITE_DISCOVER_MORE":"Откријте више.","WEBSITE_DISCOVER_MORE_DETAILS":"Никада не понестане ствари за гледање ","WEBSITE_COMMUNITY_DRIVEN":"Заједницом вођен","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio има велику и активну заједницу корисника који доприносе развоју софтвера креирањем и дељењем додатака.","WEBSITE_GET_INVOLVED":"Прикључите се","WEBSITE_NEW_THEATER_EXPERIENCE":"Ново биоскопско искуство","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Нова наменска Stremio ТВ апликација омогућава вам да уживате у филмској вечери на вашим Android ТВ уређајима.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Нове наменске Stremio ТВ апликације омогућавају вам да уживате у филмској вечери на паметном ТВ-у или Android ТВ уређајима.","WEBSITE_FREE_AND_SECURE":"Бесплатно и безбедно","WEBSITE_STREAMING":"Стримовање","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio нуди неупоредиву сигурност и приватност за кориснике. Са својом јединственом карактеристиком даљинског покретања додатака, Stremio пружа сигурнији начин за стримовање вашег омиљеног садржаја у поређењу са другим платформама. Ваша безбедност и приватност су наши главни приоритети и ова платформа обезбеђује да сви ваши подаци буду заштићени.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Реците збогом бригама о безбедности и приватности и поздравите свет бескрајне забаве уз Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Информације обезбедио","WEBSITE_CONTRIBUTE_DESC":"пројекту и помозите нам да Stremio учинимо још бољим","WEBSITE_COMMUNITY_DESC":"Верујемо да је најбољи начин да се створи заиста невероватно искуство стримовања укључивањем наше заједнице у процес. Било да сте програмер, уметник или само фан - могли бисте да помогнете како би Stremio напредовао.","WEBSITE_COMMUNITY_DESC_2":"Зато нам се придружите данас и постаните део Stremio заједнице и наставите да обликујете будућност стримовања.","WEBSITE_WAYS_TO_GET_INVOLVED":"Начини да се прикључите","WEBSITE_IN_THE_STREMIO_COMMUNITY":"у Stremio заједницу","WEBSITE_SHARE_YOUR_THOUGHTS":"Поделите своје мисли","WEBSITE_REPORT_BUGS":"Пријавите проблеме","WEBSITE_SUGGEST_FEATURES":"предложите функције","WEBSITE_AND_PROVIDE_FEEDBACK":"и пружите повратне информације на нашим друштвеним мрежама.","WEBSITE_BETA_TESTING_PROGRAM":"Програм за бета тестирање","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Учествујте у нашем програму бета тестирања (редовно шаљемо позиве) у Stremio заједници.","WEBSITE_JOIN_NOW":"Придружите се сада!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Званичне Stremio заједнице","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Незваничне Stremio заједнице","WEBSITE_BECOME":"Постаните","WEBSITE_A_VOLUNTEER_TRANSLATOR":"преводилац волонтер","WEBSITE_ARE_YOU_A_DEVELOPER":"Да ли сте програмер?","WEBSITE_CONTRIBUTE_CODE":"Можете да допринесете коду нашим пројектима отвореног кода. Имамо неколико пројеката на GitHub-у који траже сараднике. Ако сте заинтересовани да помогнете, погледајте их:","WEBSITE_STREMIO_ON_GITHUB":"Stremio на GitHub-у","WEBSITE_CREATE_ADDON_DESC":"Направите додатак да побољшате Sttemio функционалност (имамо API који је једноставан за коришћење):","WEBSITE_STREMIO_ADDON_SDK":"Stremio SDK додатак","WEBSITE_INTERN_DEVELOPER":"Такође, пружамо прилику да нам се придружите као програмер стажиста како бисмо могли да растемо заједно.","WEBSITE_APPLY_AS_AN_INTERN":"Пријави се као стажиста","WEBSITE_CALLING_ALL_ARTISTS":"Позивамо све уметнике!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Покажите своју креативност и љубав према апликацији Stremio тако што ћете поставити своје фан-aрт у нашу онлајн галеријy. Било да је у питању цртеж, слика или дигитални дизајн, желимо да видимо ваше јединствено виђење Stremio бренда. Придружите се нашој заједници уметничких ентузијаста и поделите свој рад са колегама Stremio фановима широм света.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio фан-арт галерија","WEBSITE_INTERN_DESIGNER":"Постаните део нашег тима и подигните своју креативност на нове висине уз наше узбудљиве прилике за стажирање.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"У фирми Stremio посвећени смо очувању историје филма и телевизије тако што ћемо идентификовати видео снимке у јавном домену и заостале видео снимке. Радећи заједно са нашом заједницом, можемо осигурати да ова класична уметничка дела буду доступна свима и заштићена за будуће генерације.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Слободно нас контактирајте ако желите да се укључите у тај пројекат.","WEBSITE_JOIN_THE_PROJECT":"Придружи се пројекту","WEBSITE_BE_PART_OF_OUR_MISSION":"Будите део наше мисије","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Заинтересовани сте да се придружите Stremio тиму? Нудимо потпуно даљински рад за страствене професионалце. Погледајте наше отворене позиције.","WEBSITE_OPEN_POSITIONS":"ОТВОРЕНЕ ПОЗИЦИЈЕ","WEBSITE_DESCRIPTION":"ОПИС","WEBSITE_LEARN_MORE":"Сазнај више","WEBSITE_COMPANY":"Компанија","WEBSITE_CONTACTS":"Контакти","WEBSITE_NEED_HELP":"Потребна помоћ?","WEBSITE_STREMIO_WEB_ON_IOS":"Водич за Stremio Web на iOS-у ","WEBSITE_LINK_ART_V2":"Фан-арт галерија","WEBSITE_PARTNERS":"Партнери","WEBSITE_SLOGAN_WATCH":"Гледајте одмах","WEBSITE_SLOGAN_ALL":"Сав видео садржај у коме уживате на једном месту","WEBSITE_SLOGAN_NEW":"Све што можете да гледате","WEBSITE_SLOGAN_NEW_NEW":"Слобода стримовања","WEBSITE_WATCH_FROM":"Гледај из","WEBSITE_DOWNLOAD":"Преузми сада","WEBSITE_DOWNLOAD_FOR":"Преузми сада за","WEBSITE_IS_DESKTOP":"Stremio је апликација за десктоп рачунаре, отворите ову страницу на свом рачунару и преузмите је","WEBSITE_DESKTOP_DEMO_VID":"Десктоп демо","WEBSITE_PAGE_HOME":"Почетна","WEBSITE_PAGE_FEATURES":"Карактеристике","WEBSITE_PAGE_ADDONS":"Додаци","WEBSITE_PAGE_TECH":"Технологија","WEBSITE_PAGE_CREATE_ADDON":"Направи додатак","WEBSITE_PAGE_CONTACTS":"Контакти","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Унесите нову жељену лозинку испод.","WEBSITE_RESET_PASSWORD_WARNING":"Желите ли заиста да ресетујете лозинку за ${1}?","WEBSITE_TYPE_movie":"Филмови","WEBSITE_TYPE_series_PL":"Серије","WEBSITE_TYPE_tv":"ТВ уживо","WEBSITE_TYPE_channel":"Канали","WEBSITE_STREMIO_WHAT_IS":"Stremio је апликација која вам помаже да организујете и тренутно гледате своје омиљене видео снимке, филмове, ТВ серије и ТВ канале.","WEBSITE_FEATURES_WATCH":"Гледај одмах у HD-у","WEBSITE_FEATURES_WATCH_DETAIL":"Кликните и пустите своје омиљене филмове, серије, видео снимке и ТВ канале.","WEBSITE_FEATURES_SUBS":"Аутоматски титлови","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio аутоматски бира синхронизоване титлове за ваш језик.","WEBSITE_FEATURES_SUBS_LABEL":"Ваш филм, шефе.","WEBSITE_FEATURES_CAST":"Пуштање на ТВ-у и мобилним уређајима","WEBSITE_FEATURES_CAST_DETAIL":"Пребаците на AppleTV, Chromecast, паметан ТВ (DLNA/UPnP) и мобилне уређаје.","WEBSITE_LIB":"Уживајте у својој личној збирци синхронизованој на свим вашим уређајима","WEBSITE_LIB_COLLECT":"Прикупите од апликације Stremio","WEBSITE_LIB_IMPORT":"Увоз са Facebook-а","WEBSITE_LIB_LOCAL":"Додај са свог локалног диска","WEBSITE_BOARD":"Табла - ваше одредиште за обавештења и препоруке на једном месту","WEBSITE_BOARD_RECOMMEND":"Препоручена серија","WEBSITE_BOARD_TRENDING":"Филм у тренду","WEBSITE_BOARD_NEW":"Нови видео снимак","WEBSITE_BOARD_EPISODE":"Нова епизода","WEBSITE_BOARD_1":"Тражите нешто занимљиво за гледање? Добијте препоруке на основу вашег укуса!","WEBSITE_BOARD_2":"Добијте обавештење када изађе нова епизода ваше омиљене серије или YouTube канала!","WEBSITE_BOARD_YOUTUBE":"Нови видео снимци YouTube канала","WEBSITE_BOARD_EPISODES":"Нове епизоде серија које пратите","WEBSITE_ADDONS":"Додаци за садржај","WEBSITE_TECH_DETAIL":"Волимо технологију, волимо луду науку!\\nStremio користи следеће технологије отвореног кода:","WEBSITE_TECH_WCJS":"WebChimera.js омогућава апликацији Stremio да пушта било који формат видео снимка са добрим перформансама.","WEBSITE_TECH_WCJS_EXTRA":"Ми смо главни сарадници пројекта","WEBSITE_TECH_ELECTRON":"Electron пружа иновативну платформу за изградњу апликације Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Ми смо сарадници пројекта","WEBSITE_TECH_LINVODB":"Технологија базе података која осигурава да су ваши подаци организовани и доступни где год да се пријавите.","WEBSITE_TECH_LINVODB_EXTRA":"Унутрашња технологија","WEBSITE_CREATE_ADDON":"Направи свој додатак","WEBSITE_CREATE_ADDON_DETAIL":"Да ли имате услугу која пружа видео садржај? Помоћи ћемо вам да искористите Stremio функције тако што ћемо направити ваш додатак.","WEBSITE_CREATE_ADDON_BENEFITS":"Предности прављења додатка за Stremio","WEBSITE_P2P_BEAUTY":"Лепота peer-to-peer (P2P) стримовања","WEBSITE_P2P_1":"Поуздан и приступачан full HD / 4K видео снимак на захтев (VOD) или уживо","WEBSITE_P2P_2":"Дистрибутивна платформа пружа одлично корисничко искуство","WEBSITE_P2P_3":"Направићемо додатак који одговара вашим потребама","WEBSITE_P2P_CONTACT":"Заинтересовани? Слободно нас <a href=\'mailto:office@stremio.com\'>контактирајте</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Биће нам драго да вам помогнемо да интегришете свој садржај из апликације Stremio!","WEBSITE_P2P":"С времена на време, долази технологија која мења назив игре. Уложили смо много времена и труда у прављење нашег peer-to-peer (P2P) механизма за стримовање видео снимака, који пружа одличне перформансе и свестраност за прилагођавање сваком случају употребе.\\nКонтактирајте нас за peer-to-peer (P2P) видео снимак на захтев (VOD) са омогућеним DRM или стримовање уживо.","WEBSITE_THOUGHTS":"Мисли које делимо:","WEBSITE_SPREAD":"Причајте људима о апликацији Stremio:","WEBSITE_CONTACT":"Контактирајте нас, биће нам драго да вас саслушамо!","WEBSITE_OPENSOURCE":"За наше пројекте отвореног кода идите на наш","WEBSITE_BITCOIN":"Донирање биткојна:","WEBSITE_FAQ":"Често постављана питања","WEBSITE_FAQ_SHORT":"ЧПП","WEBSITE_QUESTIONS":"Питања","WEBSITE_TOS":"Услови коришћења","WEBSITE_LEGAL":"Правна питања","WEBSITE_PAGE_ABOUT":"О нама","WEBSITE_PAGE_BECOME_PARTNER":"Постаните партнер","WEBSITE_ALL_YOU_CAN_WATCH":"Слобода гледања\\nсвега што желите.","WEBSITE_FREEDOM_TO_STREAM":"Слобода стримовања","WEBSITE_WHAT_IS_STREMIO":"Шта је Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio је центар за прикупљање видео садржаја на једном месту. Откријте, организујте и гледајте видео снимке са свих врста извора на било ком уређају који поседујете.","WEBSITE_WHAT_IS_STREMIO_P2":"Филмови, ТВ емисије, серије, телевизија уживо или веб-канали као што су YouTube и Twitch.tv - све ово можете пронаћи у апликацији Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio је модеран медијски центар који је решење на једном месту за вашу видео забаву. Откривате, гледате и организујете видео садржај из додатака који се лако инсталирају.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Филмови, ТВ емисије, ТВ уживо или веб-канали - све ово пронађите у апликацији Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Уживајте на свим својим медијским уређајима","WEBSITE_DEVICES_COLLECT":"Прикупи од апликације Stremio","WEBSITE_DEVICES_IMPORT_FB":"Увоз са Facebook-а","WEBSITE_DEVICES_LOCAL":"Додај са локалног диска","WEBSITE_JOIN_THE_PARTY_NOW":"Придружите се забави сада","WEBSITE_DEVICES_ALL":"Лако за коришћење на сваком вашем уређају;","WEBSITE_EXTENDABLE_CATALOG":"Бесконачно прошириви каталог видео снимака;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Одличне функције за организовање ваших медија;","WEBSITE_AS_SEEN_ON":"Као што се види на","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"О нама","WEBSITE_LINK_TECHNOLOGY":"Технологија","WEBSITE_LINK_APPS":"Апликације","WEBSITE_LINK_DOWNLOADS":"Преузимања","WEBSITE_MORE":"Више","WEBSITE_LINK_ADDONS":"Додаци","WEBSITE_LINK_ADDON_SDK":"SDK додатак","WEBSITE_LINK_CONTRIBUTE":"Допринос","WEBSITE_LINK_COMMUNITY":"Заједница","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"... и више","WEBSITE_LINK_HELP":"Центар за помоћ","WEBSITE_LINK_CONTACTS":"Бизнис упити","WEBSITE_LINK_TOS":"Услови и одредбе","WEBSITE_LINK_PRAVACY":"Политика приватности","WEBSITE_SUBSCRIBE":"Претплатите се","WEBSITE_NEWSLETTER":"Придружите се нашем билтену за невероватне ствари","WEBSITE_PLACEHOLDER_EMAIL":"Ваш имејл","WEBSITE_COMMUNITY":"Заједница","WEBSITE_LINK_PRAVACY_LEGAL":"Приватност и правна питања","WEBSITE_WHY":"Зашто то радимо","WEBSITE_WHY_P1":"Ми свакодневно долазимо на посао јер желимо да решимо важан проблем за индустрију видео снимака на захтев (VOD). Сваког минута се објављује толико новог садржаја да је готово немогуће снаћи се у њему.","WEBSITE_WHY_P2":"Помажемо људима да се крећу тим огромним светом видео забаве и откривају нове садржаје у којима могу уживати. Наше апликације обједињују филмове, серије, ТВ уживо, веб-канале и још много тога. Посвећени смо томе да корисницима учинимо невероватно лаким проналажење наслова и емитера које воле.","WEBSITE_WHY_P3":"Можете да користите нашу услугу на било ком уређају и у било које време, што Stremio чини јединим видео-забавним чвориштем које ће вам икада бити потребно.","WEBSITE_TEAM":"ТИМ","WEBSITE_TEAM_P":"Stremio тим је мали, али моћан: између нас десеторо, кодирамо на X језика и делимо стручност у развоју софтвера, дизајну корисничког интерфејса и корисничког искуства, маркетингу и рекламирању, пословању и стартаповима.","WEBSITE_FEATURES":"Карактеристике","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Откријте нови садржај са лакоћом","WEBSITE_FEATURES_DISCOVER_P":"Лако откривајте нове филмове, ТВ емисије, серије и канале за гледање. Претражујте по категорији, жанру, оцени, недавној употреби итд. или једноставно унесите име да бисте пронашли. Stremio чини проналажење новог видео садржаја лаким.","WEBSITE_FEATURES_ALL_CONTENT":"Сав ваш видео садржај на једном екрану","WEBSITE_FEATURES_ALL_CONTENT_P1":"Погледајте које филмове, серије или видео снимке нисте завршили и наставите да их гледате; добијајте обавештења о новим епизодама и издањима; прегледајте препоруке које ћете добити на основу ваших навика гледања.","WEBSITE_FEATURES_LIBRARY":"Организујте своју збирку видео снимака","WEBSITE_FEATURES_LIBRARY_P1":"Додајте било који наслов у своју Stremio збирку једним кликом и пронађите свој садржај, уредно поређан по врсти, недавној употреби или абецедном реду.","WEBSITE_FEATURES_CALENDAR":"Праћење свега што гледате","WEBSITE_FEATURES_CALENDAR_P1":"Добијте календарску визуелизацију свих филмова и серија које додате у своју збирку. Извезите свој Stremio календар и синхронизујте га тако да увек знате када излази нова епизода или премијера.","WEBSITE_FEATURES_BIG_SCREEN":"Уживајте у видео садржају на већем екрану","WEBSITE_FEATURES_BIG_SCREEN_P1":"Пребацујте све што гледате на други уређај - било да је то телефон, таблет или ТВ, једним кликом.","WEBSITE_FEATURES_SOURCES":"Гледајте видео снимке из много различитих извора","WEBSITE_FEATURES_SOURCES_P":"Инсталирајте званичне додатке и додатке заједнице да бисте уживали у видео снимцима који потичу од многих различитих пружаоца – све у једној елегантној апликацији која је једноставна за коришћење.","WEBSITE_CREATE_AN_ADDON":"Направи додатак","WEBSITE_FEATURES_SYNC":"Синхронизујте своју збирку на различитим уређајима и наставите са репродукцијом","WEBSITE_FEATURES_SYNC_P1":"Пријавите се са својим налогом на свим својим уређајима и уживајте у синхронизованој збирци, додацима, репродукцији и календару.","WEBSITE_FEATURES_EXTENDABLE":"Прошириви каталог видео снимака користећи додатке","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio каталог додатака пружа бројне додатке за инсталирање и гледање разних видео садржаја. Ово укључује филмове, емисије, ТВ уживо, спорт, вести, подцасте, веб-канале, видео игре и још много тога.","WEBSITE_FEATURES_AUTO_SUBS":"Аутоматски титлови","WEBSITE_FEATURES_AUTO_SUBS_P1":"Са нашим додацима за титлове добијате аутоматски одабране опције за жељени језик.","WEBSITE_FEATURES_CHROMECAST":"Пребацивање на Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Уживајте у видео садржају на већем екрану или једноставно пребаците све што гледате на други уређај.","WEBSITE_FEATURES_KEEP_TRACK":"Пратите своје омиљене ТВ емисије и веб-канале","WEBSITE_FEATURES_KEEP_TRACK_P1":"Добијте календарску визуализацију и обавештења за нове епизоде ваших омиљених серија и веб-канала.","WEBSITE_FEATURES_POWER_USER":"Функције моћног корисника","WEBSITE_FEATURES_POWER_USER_P1":"Пусти у спољном плејеру","WEBSITE_FEATURES_POWER_USER_P2":"Пусти са торент фајла или магнет линка","WEBSITE_FEATURES_POWER_USER_P3":"Увези у своју збирку са Facebook лајкова или локалног диска","WEBSITE_ADD_ONS":"Додаци","WEBSITE_ADD_ONS_P1":"Сав видео садржај који Stremio пружа добија се преко система додатака - никакав садржај или пружалац садржаја није уграђен у апликацију.","WEBSITE_ADD_ONS_P2":"Доступне су две групе додатака: званични додаци и додаци заједнице.","WEBSITE_ADD_ONS_P3":"Званичне развија и хостује Stremio, док додатке заједнице праве чланови наше заједнице, који их и хостују.","WEBSITE_ADDONS_OFFICIAL":"Званични додаци","WEBSITE_ADDONS_WATCHUB":"Стримујте своје омиљене филмове, серије и емисије од провајдера као што су iTunes, Hulu, Amazon и друге УК/САД услуге.","WEBSITE_ADDONS_YOUTUBE":"Гледајте своје омиљене YouTube канале без реклама и добијајте обавештења о новим отпремањима од сарадника које пратите.","WEBSITE_ADDONS_FILMON":"Гледајте ТВ уживо, филмове и друштвену телевизију бесплатно. 600 ТВ канала, 45.000 бесплатних филмова, документараца и још много тога.","WEBSITE_ADDONS_OPENSUBTITLES":"Филмски и ТВ титлови на више језика, хиљаде преведених титлова који се отпремају сваког дана.","WEBSITE_ADDONS_COMMUNITY":"Додаци заједнице","WEBSITE_ADDONS_FILMON_VOD":"Гледајте видео снимке на захтев (VOD) са Filmon.tv","WEBSITE_ADDONS_TWICH":"Гледајте преносе уживо са Twitch.tv - платформе за стримовање видео снимака за индустрију е-спорта.","WEBSITE_ADDONS_VODO":"Гледајте независне (инди) филмове потпуно бесплатно.","WEBSITE_ADDONS_NETFLIX":"Гледајте Netflix филмове и веб-серије.","WEBSITE_ADDONS_CREATE":"Направи додатак","WEBSITE_ADDONS_CREATE_P1":"Ако желите, можете развити сопствени додатак. На овај начин можете себи и нашој заједници омогућити приступ новом видео садржају и досегнути нову циљану публику од милиона корисника широм света.","WEBSITE_ADDONS_START_CREATE":"Да бисте започели, посетите страницу Stremio SDK додатак:","WEBSITE_DOWNLOADS":"Преузимања","WEBSITE_DOWNLOADS_P1":"За оптималне перформансе, препоручујемо вам да користите најновију доступну верзију апликације Stremio. Међутим, ако из неког разлога желите да користите старију верзију, можете је преузети овде.","WEBSITE_DOWNLOADS_P1_SHORT":"За оптималне перформансе, препоручујемо вам да користите најновију доступну верзију апликације Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio за Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio за macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio за Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio за Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio за Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio за Android мобилни","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio за Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio за iOS (ограничена верзија)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio за LG ТВ","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio за Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio за Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio за Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio за прегледач","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Потражите Stremio у продавници апликација 2019+ Samsung ТВ модела","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Потражите Stremio у продавници апликација 2020+ LG ТВ модела","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Потражите Stremio у продавници апликација вашег Xbox уређаја","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Преузмите Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service је пратећа апликација за Stremio Web. Препоручујемо да користите најновију доступну верзију апликације Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service за Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service за macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service за Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service за Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Више опција за преузимање","WEBSITE_DOWNLOAD_NEW":"Ново!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Објавили смо Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Објавили смо Stremio за Samsung ТВ","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Објавили смо Stremio за LG ТВ","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Објавили смо Stremio за Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Објавили смо Stremio за Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Допринесите","WEBSITE_CONTRIBUTE_P1":"Платформа Stremio је отвореног кода и лако можете направити додатак за садржај који тренутно није доступан.","WEBSITE_CONTRIBUTE_WHY":"Зашто би требало направити додатак?","WEBSITE_CONTRIBUTE_WHY_P1":"Досегните нову публику за свој видео садржај","WEBSITE_CONTRIBUTE_WHY_P2":"База корисника апликације Stremio брзо расте – прве године од покретања, Stremio је стекао 1 милион корисника широм света, а у другој години постојања платформе овај број је порастао на 2.5 милиона.","WEBSITE_CONTRIBUTE_WHY_P3":"Помоћу свог додатка можете лако доћи до ове публике и дистрибуирати јој свој видео садржај.","WEBSITE_CONTRIBUTE_ALL":"Гледајте своје омиљене филмове, видео снимке, серије и канале на једном месту.","WEBSITE_CONTRIBUTE_ALL_P1":"Да ли сте фан одређене врсте садржаја који још увек није доступан на платформи Stremio? Направите додатак за њега и уживајте у гледању омиљених видео снимака у једном од највећих и најједноставнијих центара за забаву на тржишту.","WEBSITE_CONTRIBUTE_ALL_P2":"Поврх тога, добићете бескрајну захвалност других истомишљеника, чланова Stremio заједнице.","WEBSITE_CONTRIBUTE_MONETIZE":"Уновчите свој додатак и зарадите новац уз његову помоћ","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Када развијете нови додатак за Stremio, можете га лако уновчити на више различитих начина. Ако размишљате о томе, слободно нас контактирајте путем ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - радо ћемо се консултовати и посаветовати вас о опцијама монетизације додатака.","WEBSITE_CONTRIBUTE_TRANSLATE":"Постаните преводилац волонтер","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Ако желите да уживате у Stremio апликацијама на различитим језицима, можете се придружити нашој заједници добровољних преводилаца. Они нам помажу да додамо верзије апликације Stremio на много различитих језика.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Да ли сте вољни да почнете?","WEBSITE_TRANSALTE_STREMIO":"Преведи Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Званичне заједнице","WEBSITE_COMMUNITY_OFFICIALS_P1":"Постаните део растуће Stremio заједнице. Пратите нас на друштвеним мрежама и немојте се стидети да кажете здраво - волимо да чујемо наше фанове! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Незваничне заједнице","STREMIO_COMMUNITY_NL":"Stremio Холандија","STREMIO_COMMUNITY_BRASIL":"Stremio Бразил","STREMIO_COMMUNITY_GERMANY":"Stremio Немачка","STREMIO_COMMUNITY_BELGIUM":"Stremio Белгија","STREMIO_COMMUNITY_FRANCE":"Stremio Француска","STREMIO_COMMUNITY_PORTUGAL":"Stremio Португал","STREMIO_COMMUNITY_ITALY":"Stremio Италија","STREMIO_COMMUNITY_UK":"Stremio УК","STREMIO_COMMUNITY_USA":"Stremio САД","STREMIO_COMMUNITY_MEXICO":"Stremio Мексико","STREMIO_COMMUNITY_ADDONS":"Stremio додаци","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Сјајан Stremio","WEBSITE_COMMUNITY_PARTNERS":"Партнери и подршка","WEBSITE_COMMUNITY_GOODIES":"Stremio посластице","WEBSITE_COMMUNITY_WALLPAPERS":"Позадине","WEBSITE_COMMUNITY_ART":"Уметничка галерија заједнице","WEBSITE_LINK_ART":"Уметничка галерија заједнице","WEBSITE_CONTACT_US":"Контактирајте нас","WEBSITE_CONTACT_US_P1":"Ако имате било каквих питања, коментара или сугестија, слободно нас контактирајте путем контакт форме испод.","WEBSITE_CONTACT_US_P2":"Имајте на уму да се налазимо у Бугарској, тако да може доћи до кашњења у адресирању вашег упита због разлика у временским зонама.","WEBSITE_CONTACT_US_SUCCESS":"Ваша порука је послата. Јавићемо вам се што је пре могуће.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Унесите исправан имејл!","WEBSITE_CONTACT_US_Q_RELATED_TO":"На шта се односи ваше питање?","WEBSITE_CONTACT_US_Q_OS":"Који је ваш оперативни систем?","WEBSITE_CONTACT_US_PH_EMAIL":"Ваш имејл","WEBSITE_CONTACT_US_PH_MESSAGE":"Порука","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"ПОШАЉИ","WEBSITE_CONTACT_US_Q_1":"Како инсталирати?","WEBSITE_CONTACT_US_Q_2":"Како деинсталирати?","WEBSITE_CONTACT_US_Q_3":"(HTML) Како направити лазање?","WEBSITE_CONTACT_US_Q_4":"Додаци","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Технологија","WEBSITE_TECHNOLOGY_P1":"Волимо технологију и луду науку. </br> Ево шта покреће Stremio (све је отвореног кода).","WEBSITE_TECHNOLOGY_P_QT":"Развој софтвера на више платформи у свом најбољем издању.","WEBSITE_TECHNOLOGY_P_MPV":"Бесплатан медијски плејер отвореног кода и више платформи.","WEBSITE_TECHNOLOGY_P_RN":"React Native вам омогућава да правите мобилне апликације користећи само JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Медијски оквир уграђен у апликацију за набављање мултимедије.","WEBSITE_TECHNOLOGY_P_REALM":"Realm је мобилна платформа и замена за SQLite и Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js је отвореног кода, доступан на више платформи, JavaScript runtime окружење.","WEBSITE_TECHNOLOGY_P_RUST":"Rust је вишепарадигмски системски програмски језик фокусиран на безбедност, посебно безбедну истовременост.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Допринесите овом пројекту","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Постоје два начина на која можете допринети платформи Stremio и помоћи нам да учинимо производ још бољим.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Своје вредне језичке вештине можете донирати превођењем платформе...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"или","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... можете искористити своје вештине кодирања за прављење додатака у заједници. ","WEBSITE_TRANSLATE_STREMIO":"Преведи Stremio","WEBSITE_404_OH_NO":"Ух-ох! Страница коју тражите није овде...","WEBSITE_GO_HOME":"Иди на почетну","WEBSITE_LINK_OTHER_DOWNLOADS":"Остала преузимања","WEBSITE_FAQ_ABR":"ЧПП","WEBSITE_SUPPORT":"Подршка","WEBSITE_DOWNLOAD_4_0_BETA":"Преузмите Stremio 4 бета верзију сада","WEBSITE_GET_FOR_DESKTOP":"Набави за десктоп","WEBSITE_LINK_ADDON_COMPETITION":"Такмичење додатака","WEBSITE_LINK_ART_CONTEST":"Ликовни конкурс","WEBSITE_MY_ACCOUNT":"Мој налог","WEBSITE_MAINPAGE_FAQ_001_H1":"Шта је Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio је модеран медијски центар који вам даје слободу да гледате све што желите.","WEBSITE_MAINPAGE_FAQ_002_H1":"Како то функционише?","WEBSITE_MAINPAGE_FAQ_002_P1":"Када инсталирате Stremio на свој уређај и направите налог, све што треба да урадите је да посетите каталог додатака и инсталирате било који додатак који желите и спремни сте за рад!","WEBSITE_MAINPAGE_FAQ_002_P2":"Након тога, можете да одете у одељке „Откриј” или „Табла” да бисте почели да истражујете садржај.","WEBSITE_MAINPAGE_FAQ_003_H1":"Шта могу да гледам овде?","WEBSITE_MAINPAGE_FAQ_003_P1":"Много тога: филмове, серије, веб-канале, спортове, ТВ канале, слушање подкаста и још много. Захваљујући нашем систему додатака, можете приступити разним садржајима.","WEBSITE_MAINPAGE_FAQ_004_H1":"Да ли је Stremio отвореног кода?","WEBSITE_MAINPAGE_FAQ_004_P1":"Да, можете да проверите следеће линкове: ${1}десктоп апликација${2} и ${3}GitHub организација${4}. ","WEBSITE_MAINPAGE_FAQ_005_H1":"Да ли је Stremio безбедан?","WEBSITE_MAINPAGE_FAQ_005_P1":"Да, пошто је софтвер отвореног кода, кôд се може јавно испитати и можете га сами прегледати.","WEBSITE_MAINPAGE_FAQ_005_P2":"Систем додатака платформе Stremio је креиран имајући на уму безбедност корисника. Додаци не покрећу никакав кôд локално, тако да не представљају ризик за ваш уређај.","WEBSITE_MAINPAGE_FAQ_006_H1":"Шта је са мојом приватношћу?","WEBSITE_MAINPAGE_FAQ_006_P1":"Поштујемо приватност корисника и не прикупљамо никакве личне податке осим основног минимума за прављење и синхронизацију вашег налога.","WEBSITE_MAINPAGE_FAQ_006_P2":"Такође, постоји и ${1}режим пријаве као гост${2} приликом регистрације, који не захтева никакве податке: у овом режиму се не упућују позиви нашем позадинском систему. Међутим, то долази на рачун корисних функција, као што је могућност синхронизације ваше збирке на различитим уређајима.","WEBSITE_MAINPAGE_FAQ_007_H1":"Могу ли да пребацујем на свој ТВ?","WEBSITE_MAINPAGE_FAQ_007_P1":"Да, подржавамо Chromecast и можете да пребацујете и са десктоп и мобилних апликација (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Колико додатака има Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"До краја 2019, преко 50 - за више информација погледајте наш каталог додатака.","WEBSITE_MAINPAGE_FAQ_009_H1":"Може ли се Stremio проширити изван онога што је у каталогу додатака?","WEBSITE_MAINPAGE_FAQ_009_P1":"Да, требало би да проверите ове: ${1}PimpMyStremio${2}, ${3}Reddit заједнице${4}, ${5}Stremio програм за преузимање${6} итд.","WEBSITE_MAINPAGE_FAQ_010_H1":"Које уређаје подржава Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Имамо десктоп апликације за Windows, Mac и Linux. За мобилне уређаје подржавамо Android и iOS, али имајте на уму да је iOS ограничен у функционалности (не подржава већину додатака).","WEBSITE_MAINPAGE_FAQ_010_P2":"Постоји много уређаја заснованих на Android-у на којима можете покренути Stremio, као што су NVIDIA Shield и Amazon Fire Stick, али их званично не подржавамо.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Имамо десктоп апликације за Windows, Mac и Linux. Такође, имамо наменске апликације за Android мобилни и Android ТВ. За iOS и iPadOS предлажемо коришћење Stremio Web-а, иако је више ограничен у функционалностима.","WEBSITE_MAINPAGE_FAQ_011_H1":"Можете ли да додате одређени садржај у Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Жао нам је, ми сами не пружамо никакав садржај, али што више Stremio додатака инсталирате, више садржаја ћете моћи да пронађете.","WEBSITE_MAINPAGE_FAQ_012_H1":"Може ли Stremio да репродукује магнет линкове?","WEBSITE_MAINPAGE_FAQ_012_P1":"Да, и такође може да репродукује нормалне HTTP линкове и торент фајлове (превуците и испустите).","WEBSITE_MAINPAGE_FAQ_013_H1":"Могу ли да преузмем видео снимак и гледам га офлајн?","WEBSITE_MAINPAGE_FAQ_013_P1":"Доступност офлајн је надолазећа функција, али ако дозволите апликацији Stremio да се кешира на вашем уређају (са панела подешавања), можете гледати видео снимке касније без мрежне везе.","WEBSITE_MAINPAGE_FAQ_014_H1":"Ништа не ради, помозите ми!","WEBSITE_MAINPAGE_FAQ_014_P1":"Да ли сте сигурни да сте инсталирали додатке? Ако јесте, проверите наш ${1}центар за помоћ${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Како Stremio одржава своје развојне операције?","WEBSITE_MAINPAGE_FAQ_015_P1":"Повремено приказујемо ненаметљиве рекламе, али разматрамо прелазак на модел донације.","WEBSITE_MAINPAGE_FAQ_015_P2":"За више питања, идите у наш ${1}центар за помоћ${2}.","HELP_LEARN_MORE":"Помозите нам да сазнамо више о вама.","LIFESTYLE":"Животни стил","SPORTS":"Спортови","FOOD_HEALTH":"Храна и здравље","BEAUTY_FASHION":"Лепота и мода","NEWS":"Вести","GAMING":"Видео игре","SCIENCE_EDUCATION":"Наука и образовање","MUSIC":"Музика","TRAVEL":"Путовања","LATE_NIGHT":"Касна ноћ","REALITY":"Ријалити","COMEDY":"Комедија","DIY":"Уради сам","TECH":"Технологија","CINEMA":"Биоскоп","CONTINUE":"Настави","SLOW_LOADING":"СПОРО УЧИТАВАЊЕ?","I_GIVE_UP":"ОДУСТАЈЕМ","LEARN_MORE":"Сазнај више","POOR_SOURCE":"Овај извор је слабо доступан или ваша интернет веза није довољно брза","PICK_CATEGORIES_ERR":"Морате изабрати најмање 3 категорије","ADJUST_TIMING":"Подешавање тајминга помоћу ","ADJUST_SIZE":"Подешавање величине помоћу ","SEARCH_ANYTHING":"Можете претраживати било шта...","ALL_CATEGORIES":"Све","SEARCH_CATEGORIES":"Филмови, серије, YouTube и ТВ","SEARCH_PERSONS":"Глумци, режисери и писци","SEARCH_PROTOCOLS":"HTTP и магнет линкови","SEARCH_TYPES":"IMDB / TVDB линкови","WATCHED":"Одгледано","SHOW_LESS":"Прикажи мање","LAST_SEARCHES":"Последње претраге","CLEAR_HISTORY":"Очисти историју","CHOOSE_SOME":"ИЗАБЕРИТЕ НЕШТО ОД ОВОГА:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Удаљени веб није могао да се учита","STREMIO_OFFLINE":"Stremio је офлајн","STREMIO_EXPENSIVE_CONNECTION":"Открили смо да користите мобилне податке, желите ли да наставите?","USE_DATA":"Користи податке","WARNING":"Упозорење","MORE_INFO":"Више информација ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Учитавање ...","STREMIO_TV_BACK_TO_LANGUAGES":"Назад на језике","STREMIO_TV_REMOTE":"Удаљено","STREMIO_TV_GO_TO":"Идите на:","STREMIO_TV_OR_SCAN":"или скенирајте:","STREMIO_TV_ADDON_INSTRUCTIONS":"Пратите упутства да бисте инсталирали жељене додатке.","STREMIO_TV_LIVE_TV":"ТВ уживо","STREMIO_TV_RESUME_WATCHING":"Наставите да гледате","STREMIO_TV_LOADING_BACKGROUND":"Учитавање позадине","STREMIO_TV_CHECKING_AUTHENTICATION":"Провера аутентичности","STREMIO_TV_LOADING_BOARD":"Учитавање табле","STREMIO_TV_LOGIN_HEADER_LINE_1":"Желимо да наши корисници имају најбоље могуће персонализовано искуство са нашим софтвером.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Из тог разлога вас љубазно молимо да направите и/или се пријавите на свој налог.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Хвала на разумевању,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio тим","STREMIO_TV_REMOTE_INSTRUCTIONS":"Да бисте користили веб даљински са својим паметним телефоном / таблетом / десктопом:","STREMIO_TV_WIFI_SETUP":"Подешавање Wi-Fi мреже","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle није открио интернет везу.","STREMIO_TV_WIFI_DETAILS_1":"Повежите се на:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Користите лозинку:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Отворите веб-прегледач са линком:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Подразумевано","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"По последњем гледању","STREMIO_TV_LIBRARY_SORT_NAME":"По називу","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"По називу опадајуће","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"По броју гледања","STREMIO_TV_LIBRARY_SORT_WATCHED":"По одгледаном","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"По неодгледаном","STREMIO_TV_DETAILS_SEASON_NUMBER":"Сезона ${1}","STREMIO_TV_STREAMS_LOADING":"Учитано ${1} / ${2} додатака...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} додатак се још увек учитава...","STREMIO_TV_PLAYER_SETTINGS":"Подешавања плејера","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Кашњење титлова","STREMIO_TV_PLAYER_AUDIO_DELAY":"Кашњење звука","STREMIO_TV_PLAYER_VIDEO_SCALING":"Скалирање видео снимка","STREMIO_TV_PLAYER_CHAPTERS":"Поглавља","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Прескочи ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Неподржани извор стрима","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Отварање спољног линка није успело","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Није подесиво у режиму пролаза звука","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Пуштање помоћу ExoPlayer-а","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Пуштање помоћу libVLC плејера","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Прелазак на libVLC плејер због грешке при репродукцији ","STREMIO_TV_ADDONS_TITLE":"Користите Stremio на свом телефону или рачунару да бисте инсталирали или конфигурисали додатке и притисните „Синхронизуј додатке”","STREMIO_TV_ADDONS_SUBTITLE":"Напомена: уверите се да користите исти Stremio налог ","STREMIO_TV_ADDONS_SYNC_ADDONS":"Синхронизуј додатке","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Додаци су успешно синхронизовани","STREMIO_TV_ADDONS_SYNC_FAILED":"Синхронизација додатака није успела","STREMIO_TV_META_LINK_FAILED":"Отварање мета линка није успело","STREMIO_TV_CATALOG_LOADING":"Каталог се још увек учитава...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Језик интерфејса је ажуриран","STREMIO_TV_SETTINGS_THEME_UPDATED":"Тема је ажурирана","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Подразумевани плејер","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Спољни плејер","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Преферирани језик","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Други преферирани језик","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Тунелована репродукција","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Могући проблеми са репродукцијом на неким уређајима","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Неки формати видео снимака можда неће радити","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Подударање брзине кадрова","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Онемогућено","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Само брзина кадрова","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Брзина кадрова и резолуција","STREMIO_TV_SETTINGS_NO_CACHING":"Нема кеширања","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Подразумевано","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Меко","STREMIO_TV_SETTINGS_PROFILE_FAST":"Брзо","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ултра брзо","STREMIO_TV_SETTINGS_SERVER_URL":"URL сервера за стримовање","STREMIO_TV_SETTINGS_SERVER_VERSION":"Верзија сервера","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Непознато","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Верзија апликације Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Измена URL-а сервера","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Унесите URL сервера за стримовање","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Приказ статистике током учитавања","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Да бисте прочитали политику приватности апликације Stremio, посетите:","STREMIO_TV_SETTINGS_TOS_TEXT":"Да бисте прочитали услове и одредбе апликације Stremio, посетите:","STREMIO_TV_NAV_SEARCH":"Претрага","STREMIO_TV_NAV_HOME":"Почетна","STREMIO_TV_NAV_DISCOVER":"Откриј","STREMIO_TV_NAV_LIBRARY":"Збирка","STREMIO_TV_NAV_MOVIES":"Филмови","STREMIO_TV_NAV_SERIES":"Серије","STREMIO_TV_NAV_CHANNELS":"Канали","STREMIO_TV_NAV_TV":"ТВ уживо","STREMIO_TV_NAV_SETTINGS":"Подешавања","STREMIO_TV_NAV_ADDONS":"Додаци","STREMIO_TV_LOGIN_TITLE":"Повежите налог","STREMIO_TV_LOGIN_EXPIRES_IN":"Истиче за","STREMIO_TV_LOGIN_STEP_ONE":"Скенирајте QR кôд изнад или идите на","STREMIO_TV_LOGIN_STEP_TWO":"Пријавите се на свој Stremio налог","STREMIO_TV_LOGIN_NEW_LINK":"Затражите нови линк","STREMIO_TV_LOGIN_LINK_REFRESHED":"Кôд за пријаву је освежен","STREMIO_TV_SEARCH_PLACEHOLDER":"Откуцајте нешто","STREMIO_TV_SEARCH_NO_ADDONS":"Нису тражени додаци за каталоге!","STREMIO_TV_SEARCH_BUTTON":"Претрага","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Историја претраге","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Можете претраживати наслове, глумце, канале и још много тога...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Очисти историју претраге","STREMIO_TV_FILTERS_DESCRIPTION":"Изаберите један од филтера у наставку","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Сервер за стримовање је офлајн. Проверите подешавања сервера.","FILTERS":"Филтери","SETTINGS":"Подешавања","ACCOUNT":"Налог","LOGOUT":"Одјава","THEMES":"Теме","PLAYBACK":"Репродукција","PLAYBACK_SPEED":"Брзина репродукције","AUDIO_TRACKS":"Аудио снимци","UNKNOWN_TRACK_LANG":"Непознато","VIDEOS":"Видео снимци","SERVER":"Сервер","LINKS":"Линкови","ABOUT":"О нама","INTERFACE":"Интерфејс","ANIMATIONS":"Анимације","STATUS":"Статус","LANGUAGE":"Језик","SIZE":"Величина","DELAY":"Кашњење","BOLD":"Подебљано","OPACITY":"Непрозирност","TEXT_COLOR":"Боја текста","OUTLINE_COLOR":"Боја оквира","BACKGROUND_COLOR":"Боја позадине","BACKGROUND_BLUR":"Замагљивање позадине","SEEK_TIME_DURATION":"Трајање тражења","AUTO_PLAY":"Аутоматски пусти следећу епизоду","PLAY_NOW":"Пусти сада","MARK_AS_WATCHED":"Означи као одгледано","MARK_AS_UNWATCHED":"Означи као неодгледано","REWIND_TO_BEGINNING":"Премотај на почетак","CONTINUE_WATCHING":"Наставите да гледате","ALL":"Све","SECONDS":"секунди","ON":"УКЉУЧЕНО","OFF":"ИСКЉУЧЕНО","RELOAD":"Поново учитај","EDIT_URL":"Измени URL","URL":"URL","NONE":"Ниједно","EMBEDDED":"Уграђено","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Замена уређаја","REMOTE_VIDEOS":"Видео снимци","REMOTE_ADJUST_TIMING":"Подешавање тајминга","REMOTE_ADJUST_SIZE":"Подешавање величине","REMOTE_COULD_NOT_BE_LOADED":"Веб даљински није могао да се учита","REMOTE_RETRY":"Покушај поново","TORRENT_PROFILE_DEFAULT":"Подразумевано","TORRENT_PROFILE_SOFT":"Меко","TORRENT_PROFILE_FAST":"Брзо","TORRENT_PROFILE_ULTRA_FAST":"Ултра брзо","MB_S":"MB/s","FAQ_001_H1":"Шта је Stremio?","FAQ_001_P1":"Stremio је софтвер за медијски центар дизајниран за видео забаву са лакоћом коришћења на уму. Stremio вам омогућава да организујете и гледате сопствену колекцију филмова, серија, канала и ТВ уживо.","FAQ_001_P2":"Stremio прикупља садржај који вам приказује са вашег локалног диска и нашег система додатака.","FAQ_001_P3":"Такође, обавестиће вас када изађу нове епизоде/видео снимци/филмови за које сте заинтересовани и даће вам препоруке за филмове.","FAQ_02_H1":"Како се Stremio пореди са Kodi-јем и Plex-ом? ","FAQ_02_P1":"Инспирисани смо од стране та два софтвера. Међутим, ми имамо различите циљеве - Stremio је посебно усмерен на видео забаву и настоји да постане главно решење за то тако што је веома једноставан за коришћење.","FAQ_02_P2":"Stremio никада неће бити тако прилагодљив и богат функцијама као Kodi и Plex, али је знатно лакши за коришћење. Само га ${1} набавите и видећете ${2} :)","FAQ_03_H1":"Како се Stremio пореди са Netflix-ом?","FAQ_03_P1":"Опет, Netflix је једна од наших инспирација. Трудимо се да постигнемо корисничко искуство као Netflix-ово, плус много додатака. Међутим, што је најважније, дајемо вам слободу да управљате сопственом збирком и додајете нове изворе садржаја помоћу нашег система додатака.","FAQ_03_P2":"То чини Stremio бескрајно проширивим, тако да када користите Stremio, никада нисте ограничени на садржај који Netflix одлучи да лиценцира. На пример, преко апликације Stremio можете да гледате садржај са платформи ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8}, па чак и сам ${9}Netflix${10}!","FAQ_04_H1":"Како се Stremio пореди са Flipboard-ом?","FAQ_04_P1":"Не добијамо то питање тако често, осим када разговарамо са почетницима :)","FAQ_04_P2":"Stremio је по дизајну агрегатор садржаја, што га у суштини чини Flipboard-ом за видео снимке. Ово је веома очигледно у нашем одељку „Табла”, који вам даје каталоге и обавештења о новим епизодама/новим видео снимцима за оно што пратите, баш као и Flipboard.","FAQ_05_H1":"Како се Stremio пореди са Popcorn Time-ом?","FAQ_05_P1":"Stremio и Popcorn Time су слични у корисничком интерфејсу, јер нема много начина да се прави каталог видео забаве :)","FAQ_05_P2":"Међутим, док је Popcorn Time фокусиран на стримовање торента из одређених извора, Stremio је неограничен и само је агрегатор садржаја – није закључан у одређеном извору садржаја.","FAQ_05_P3":"Штавише, ми подразумевано не обезбеђујемо никакве torrent додатке, тако да Stremio не покрива случај употребе апликације Popcorn Time званичном функционалношћу.","FAQ_05_P4":"Још једна значајна разлика је у томе што је Popcorn Time потпуно отвореног кода, док је Stremio ${1} делимично отвореног кода${2}.","FAQ_06_H1":"Хоћете ли додати овај филм/серију?","FAQ_06_P1":"Не, жао нам је :(","FAQ_06_P2":"Као што је поменуто у већини других питања, Stremio не пружа никакав садржај сам по себи – све се додаје преко система додатака. У случају да имате захтев за садржај, можете да користите дугме „Пријави” у плејеру, које ће послати имејл аутору додатка који тренутно користите.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Хоћете ли направити додатак за X?","FAQ_08_P1":"То је сасвим могуће.","FAQ_08_P2":"Ако имате идеју за додатак, пошаљите нам поруку на ${1}office@stremio.com${2}, али уверите се да ваша идеја за додатак неће кршити било каква ауторска права или услове коришћења.","FAQ_08_P3":"У овом тренутку, следеће ствари у нашем плану су додаци за FandangoNOW, Filmon.tv видео снимак на захтев (VOD) и Crunchyroll.","FAQ_09_H1":"Да ли Stremio користи BitTorrent?","FAQ_09_P1":"Да, Stremio подржава BitTorrent као протокол за стримовање. Можете га користити или са торент додатком или превлачењем и испуштањем .torrent фајла у Stremio или лепљењем магнет линка у траку за претрагу.","FAQ_09_P2":"Имајте на уму да је једини званични додатак који користи BitTorrent ${1}Vodo${2}, који пружа независни (инди) садржај и све је дозвољено за дистрибуцију уз BitTorrent.","FAQ_09_P3":"Не подржавамо употребу додатака трећих страна који могу омогућити кршење ауторских права.","FAQ_10_H1":"Шта могу да гледам у апликацији Stremio са званичним додацима?","FAQ_10_P1":"Подразумевано, можете да гледате Filmon.tv, YouTube и Vodo садржај унутар саме апликације Stremio, са уграђеним плејером. Поред тога, имамо додатак за Twitch.tv и неколико других.","FAQ_10_P2":"Ово комбиновано пружа избор:","FAQ_10_L1":"Популарни ТВ канали, које обезбеђује Filmon.tv - на пример - Е4, BBC, Bollyworld TV","FAQ_10_L2":"Све са YouTube-а - на пример - BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Независни (инди) филмови са Vodo","FAQ_10_L4":"Онлајн емитовање видео игара са Twitch.tv","FAQ_10_P3":"Поред тога, постоји много извора садржаја који су обезбеђени уз Guidebox и Netflix додатке, који се <b>не</b> репродукују у потпуности унутар апликације Stremio, већ бивају преусмерени на дату услугу. На пример, додатак Guidebox би вам дао избор филмова које можете бесплатно да стримујете у САД, са услуга као што су TubiTV и Crackle.","FAQ_11_H1":"Stremio неће да се инсталира, шта да радим?","FAQ_11_P1":"Ако користите Windows, испробајте ${1}овај алтернативни програм за инсталацију${2}. ","FAQ_11_P2":"Ако користите Mac OS X, имајте на уму да не подржавамо ништа старије од OS X Mavericks (10.9).","FAQ_11_P3":"Ако користите Linux, имајте на уму да тренутно подржавамо само 64-битни (x64) Linux.","FAQ_11_P4":"Ако и даље не можете да решите проблем, пишите нам у ${1}нашој Facebook групи${2}.","FAQ_12_H1":"Зашто се мој антивирус активира? Да ли је Stremio безбедан?","FAQ_12_P1":"Уверавамо вас да је Stremio ${1}100% чист${2}.","FAQ_12_P2":"Ваш антивирус се активира зато што програм за инсталацију садржи рекламе и неки антивирусни програми га препознају као рекламни софтвер.","FAQ_12_P3":"Ако још увек нисте сигурни, можете да испробате наш ${1}алтернативни програм за инсталацију${2}.","FAQ_13_H1":"Како могу да направим додатак?","FAQ_13_P1":"За почетак, препоручујемо вам да проверите наш ${1}системски модул додатака${2} на GitHub-у.","FAQ_13_P2":"Након тога, можете да пратите ${1}„Hello World” туторијал${2}.","FAQ_13_P3":"Ако немате никакве вештине програмирања, објавите своју идеју у ${1}Reddit заједницу${2} и контактирајте нас са идејом за додатак на ${3}office@stremio.com${4}.","FAQ_14_H1":"Како се објављују додаци?","FAQ_14_P1":"Када направите додатак и хост и ставите поље <b>крајње тачке</b> у свој манифест, које указује на радну адресу додатка, додатак ће се аутоматски објавити у нашем ${1}каталогу додатака${2}.","FAQ_14_P2":"Ово се дешава зато што серверски део модула Stremio додатака аутоматски позива наш API да најави додатак. Када наш API потврди вашу <b>крајњу тачку</b> као важећи додатак, он ће почети да се приказује у каталогу.","FAQ_15_H1":"Могу ли да покренем Stremio у свом прегледачу?","FAQ_15_P1":"Не, тренутно, али то стиже!","FAQ_15_P2":"Ако сте радознали да видите алфа верзију, можете је видети овде: ${1}alpha4.strem.io${2}. Имајте на уму да је стримовање онемогућено на овој алфа верзији. Подржавамо Chrome, Firefox, Opera и Edge прегледаче.","FAQ_16_H1":"Пребацивање на ТВ не ради / титлови не раде","FAQ_16_P1":"Пребацивање на ТВ користи DLNA технологију која је веома неконзистентна између различитих брендова и модела телевизора. Из тог разлога, немамо могућност да тестирамо у сваком случају, тако да је далеко од савршеног. Упркос томе, стално радимо на побољшању, али не можемо да вам дамо временску процену када ће DLNA почети исправно да ради са вашим телевизором.","FAQ_16_P2":"Ако, чак, ни не видите свој телевизор у менију за пребацивање, покушајте да онемогућите мрежну везу и поново је омогућите (на Windows-у, кликните десним тастером миша на Мрежу и користите Омогући/Онемогући), као и да рестартујете рутер, телевизор и рачунар.","FAQ_16_P3":"Ако и даље наилазите на проблеме, можете нам помоћи тако што ћете послати информације о бренду и моделу телевизора на ${1}office@stremio.com${2}.","FAQ_16_P4":"У међувремену, препоручујемо Chromecast, који веома добро подржавамо, а можете и једноставно прикључити телевизор на рачунар помоћу HDMI кабла.","FAQ_17_H1":"Stremio се замрзава и/или отказује, шта могу да урадим?","FAQ_17_P1":"Пре свега, ако користите Windows 7 са AVG антивирусом: имамо проблем са том комбинацијом. Проблем је у самом AVG-у и не постоји разуман начин да га решимо са наше стране. Нажалост, изузеци или онемогућавање антивируса неће радити. Једино решење је да замените AVG нечим другим.","FAQ_17_P2":"Ако то није проблем, али свакако користите Windows, ажурирајте на најновији сервисни пакет и ажурирајте/поново инсталирајте драјвере за GPU, а затим покушајте поново.","FAQ_17_P3":"Ако ваш проблем још увек није решен или користите Mac или Linux, пишите нам тако што ћете пријавити тачне детаље проблема у ${1}нашој Facebook групи${2}.","FAQ_18_H1":"Како могу да направим додатак?","FAQ_18_P1":"За почетак, препоручујемо вам да проверите наш ${1}системски модул додатака${2} на GitHub-у.","FAQ_18_P2":"Након тога, можете да пратите ${1}„Hello World” туторијал${2}.","FAQ_18_P3":"Ако немате никакве вештине програмирања, објавите своју идеју у ${1}Reddit заједницу${2} и контактирајте нас са идејом за додатак на ${3}office@stremio.com${4}. ","FAQ_19_H1":"Зашто Stremio заузима меморијски простор на диску?","FAQ_19_P1":"Stremio има <b>локални кеш</b> за привремено чување видео фајлова које стримујете.","FAQ_19_P2":"Ово има две предности: прво, омогућава апликацији Stremio да унапред баферује видео снимак како би се обезбедио глађе стримовање. Друго, чува видео снимке у локалном кешу тако да можете да наставите да их гледате офлајн.","FAQ_19_P3":"Колико Stremio чува зависи од подешавања <b>кеша</b> на панелу подешавања. Stremio може да задржи подешену количину (нпр. 2GB) на вашем диску, осим ако тренутно стримовани видео снимак није већи од тога, у том случају мора да додели довољно меморије да га задржи док га не стримујете.","FAQ_20_H1":"Где је фолдер кеша?","FAQ_20_P1":"На Windows-у, то је stremio-cache на диску који сте изабрали у подешавањима (нпр. \\"Е:\\\\stremio-cache\\")","FAQ_20_P2":"На MacOS-у, то је \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"На Linux-у, то је \\"~/.stremio/stremio-cache\\" или \\"~/stremio-cache\\"","FAQ_21_H1":"Добијам грешку „Сервер за стримовање није пронађен“, шта да радим?","FAQ_21_P1":"Ако добијете ову грешку, то значи једну од неколико ствари:","FAQ_21_P2":"1) Покушавате да користите додатак који подржава YouTube/BitTorrent извор, преко наше ${1}веб верзије${2}. У овом случају, требало би да инсталирате нашу десктоп верзију са ${3}нашег веб-сајта${4}.","FAQ_21_P3":"2) Нешто није у реду са вашом Stremio инсталацијом. У овом случају, покушајте да поново инсталирате нашу најновију верзију за рачунар са ${1}веб-сајта${2}. Ако ово не помогне, покушајте да онемогућите антивирусне програме и заштитне зидове, рестартујте рачунар и покушајте поново. Ако ни ово не функционише, пишите нам у ${3}нашој Facebook групи${4}.","FAQ_22_H1":"Не могу да видим/користим већину додатака на iOS-у","FAQ_22_P1":"Због ограничења у условима и одредбама Apple App Store-а, ограничили смо iOS апликацију само на одређени скуп додатака.","FAQ_22_P2":"Међутим, будите сигурни – биће више додатака за iOS у будућности, а можда ћемо додати и интеграцију која ће вам омогућити да користите све Stremio додатке захваљујући повезивању iOS апликације са Stremio сервером за стримовање."}')},21730:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Serie","TYPE_tv":"TV-kanal","TYPE_channel":"Kanal","TYPE_other":"Annat","TYPE_movie_PL":"Filmer","TYPE_series_PL":"Serier","TYPE_tv_PL":"TV-kanaler","TYPE_channel_PL":"Kanaler","TYPE_other_PL":"Annat","TYPE_ALL":"Allt","TYPE":"Typ","CATALOG_com_linvo_cinemeta_top":"Populärt","CATALOG_com_linvo_cinemeta_imdbRating":"Utvalda","CATALOG_com_linvo_cinemeta_year":"Nytt","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain-filmer","VIDEO":"Video","BACK":"Tillbaka","MORE":"Mer","DONE":"Klar","COPY":"Kopiera","SUCCESS":"Lyckades","ERROR":"Fel","SETTINGS_CASTING_MODE_PICKER":"Casting-läge","CASTING_MODE_HLSV2":"Standard","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Ingen transkodning","Discover":"Upptäck","Board":"Hem","Library":"Bibliotek","My Library":"Mitt bibliotek","Calendar":"Kalender","NOTIFICATION_ONLINE":"Du är nu online","NOTIFICATION_OFFLINE":"Du är för närvarande offline","INTERNET_CONNECTION":"Nätverksanslutning","STORAGE_FULL_TITLE":"Varning: Lagringsutrymmet är fullt!","STORAGE_FULL_TEXT":"Stremio kommer inte att kunna spara dina inställningar, preferenser eller inloggningsinformation. Överväg att starta om eller ominstallera Stremio.","SEARCH":"Sök","SEARCH_NO_RESULTS":"Inga resultat hittades","SEARCH_EXPLANATION_CONTENT":"Sök efter filmer, serier, YouTube och TV-kanaler","SEARCH_EXPLANATION_PEOPLE":"Sök efter skådespelare, regissörer och författare","SEARCH_PASTE_LINKS":"Klistra in HTTP- och magnetlänkar","SEARCH_OR_PASTE_LINK":"Sök eller klistra in länk","SEARCH_SUGGESTIONS":"Sökförslag","ADD_TO_LIB":"Lägg till i biblioteket","REMOVE_FROM_LIB":"Ta bort från biblioteket","ADDED_TO_LIB":"Tillagt i biblioteket","REMOVED_FROM_LIB":"Borttagen från biblioteket","TRAILER":"Trailer","WATCH_TRAILER":"Titta på trailer","WATCH_NOW":"Titta nu","SHOW":"Visa","SHOW_MOVIE":"Visa film","WATCH_RANDOM":"Titta på slumpmässigt","IMDB_RATING":"Betyg på IMDB","YEAR":"År","DIRECTOR":"Regissör","WRITER":"Manusförfattare","LEAD_ACTORS":"Huvudskådespelare","CAST":"Rollista","CREW":"Produktionsteam","SHOW_MORE_CAST":"Visa mer »","AIRED":"Utgiven","SEASONS":"Säsonger","GENRE":"Genre","GENRE_ALL":"Alla genrer","CATALOG":"Katalog","SUMMARY":"Sammanfattning","SHOW_MORE":"Visa mer","SIMILAR":"Liknande","UPCOMING":"Kommande","TBA":"TBA","ENDED":"Avslutad","DURATION":"Speltid","FEATURED":"Utvalda","METADATA":"Metadata","CATEGORY":"kategori","LINKS_GENRES":"Genrer","LINKS_CAST":"Rollista","LINKS_DIRECTORS":"Regissörer","SEARCH_VIDEOS":"Sök efter video","SEARCH_PLACEHOLDER":"sök eller klistra in magnetlänk","ADDON":"Tillägg","ADDONS":"Tillägg","OFFICIAL":"Officiella","ADDONS_OFFICIAL":"Officiella Stremio-tillägg","ADDONS_POPULAR":"Populärt i ditt område","ADDON_FREE":"Gratis tillägg","ADDON_PEERED":"parad","ADDON_SUBSCRIPTION":"Prenumeration på tillägg","ADDON_STREAM_GEORESTRICTED":"icke tillgängligt i ditt område","ADDON_STREAM_OFFLINECACHE":"Offline-cache","ADDON_STREAM_LOCALFILE":"Lokal fil","SHARE_ADDON":"Dela tillägg","AVAILABLE_STREAMS":"Tillgängliga strömmar","NO_STREAM":"Ingen ström","ALL_ADDONS":"Alla","INSTALL_MORE_ADDONS":"För fler strömmar, installera gärna fler tillägg","STREAM_NOT_SUPPORTED":"Den valda strömmen stöds inte på denna plattform.","ADDON_CATALOGUE":"Katalog för tillägg","ADDON_CATALOGUE_MORE":"Fler tillägg »","REPO_ADDED":"Repository tillagt","ADDON_REPO_EXIST_ERR":"Detta tilläggsrepository finns redan","ADDON_REPO_ERR":"Ett fel inträffade vid tillägg av repository","ADDON_ADD_ERR":"Ett fel uppstod vid tillägg av tillägget","ERR_ADDON_PROTECTED":"Skyddat tillägg","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Något gick fel - autentiseringen kan ha misslyckats","ERR_NOT_COLLECTION_URL":"Icke en samlings-URL","ERR_NOT_ADDON_URL":"Icke en tilläggs-URL","ERR_DETECTFROMURL":"Kan inte identifiera från URL","ADDON_DUPLICATE_WARNING":"Varning: Duplicerat tillägg","ADDON_COLLECTION_SET_FAILED":"Misslyckades med att ställa in tilläggsamling","SETTINGS_DATA_EXPORT":"Exportera data","ADDON_PULL_FAILED":"Misslyckades med att hämta tillägg","REFRESH_ON_CLICK":"Klicka för att försöka igen","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Visas fortfarande på bio","WATCH_IN_CINEMA":"Se den på din lokala bio","IN_THEATER":"På bio","GET_TICKETS":"Skaffa biljetter","UPCOMING_EPISODE":"Kommande avsnitt","UPCOMING_EPISODE_MESSAGE":"Detta avsnitt kommer att sändas den","MISSING_DATE_EPISODE":"Saknas sändningsdatum för avsnittet","MISSING_DATE_EPISODE_MESSAGE":"Detta avsnitt kanske inte har sänts ännu","CHANNEL_NOT_SCRAPED":"Den här kanalen är inte skrapad än.<br>Kom tillbaka om några minuter.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Lägg till den till ditt bibliotek för att bli meddelad när den blir tillgänglig.","GET_NOTIFIED_WHEN_AVAILABLE":"Du kommer att bli meddelad när den blir tillgänglig.","WARNING_STREAMING_SERVER":"Varning: Lokal streaming-server hittades inte. Streaming från YouTube och BitTorrent kommer inte att vara tillgängligt.","WARNING_STREAMING_SERVER_DISMISS":"Avfärda","WARNING_STREAMING_SERVER_LATER":"Senare","DECODER_WARNING":"Varning: Denna video kanske inte stöds av din maskinvara. Kom ihåg att uppspelningen kan vara långsam.","GENERIC_ERROR_MESSAGE":"Något gick fel!","TRY_AGAIN":"Försök igen","CLEAR_DATA":"Rensa data","PLAYER_ERROR":"Hoppsan, fel på spelaren","PLAYER_ERROR_LOOKSLIKE":"Det tycks vara ett fel på spelaren","PLAYER_ORIENTATION":"Spelarorientering","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Låst","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Spelarorientering låst i landskapsläge","PLAYER_ORIENTATION_SENSOR":"Spelarorientering automatisk (sensor)","PLAYER_PLAYBACK_SPEED":"Uppspelningshastighet","PLAYER_PLAYBACK_ERROR":"Uppspelningsfel, försök igen","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Okänt fel","PLAYER_PLAYBACK_ERROR_DEFAULT":"Tyvärr kan denna video inte spelas upp av {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Undertextsspråk","PLAYER_SUBTITLES_VARIANTS":"Undertextsvarianter","PLAYER_SUBTITLES_SETTINGS":"Undertextsinställningar","PLAYER_SUBTITLES_DISABLED":"Undertexter är avaktiverade","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertikal position","PLAYER_SUBTITLES_LOADED":"Undertexter laddade","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Inbäddade undertexter laddade","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exklusiva undertexter laddade","PLAYER_SUBTITLES_LOADED_LOCAL":"Lokala undertexter laddade","PLAYER_SUBTITLES_LOADED_ORIGIN":"Undertexter från {{origin}} laddade","PLAYER_PLAY":"Spela","PLAYER_PAUSE":"Pausa","PLAYER_NEXT_VIDEO":"Nästa video","PLAYER_MUTE":"Slå av ljudet","PLAYER_UNMUTE":"Slå på ljudet","PLAYER_OPEN_IN_EXTERNAL":"Öppna i extern spelare","PLAYER_OPEN_IN_NPLAYER":"Öppna i nPlayer","PLAYER_PLAY_IN":"Spela på {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Kommande på","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Nästa","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Avfärda","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Titta nu","PLAYER_COPY_STREAM_SUCCESS":"Streamlänken har kopierats till ditt urklipp","PLAYER_COPY_STREAM_ERROR":"Misslyckades med att kopiera streamlänken","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Nedladdningslänken kopierades till urklipp","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Det gick inte att kopiera nedladdningslänken","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"Strömmar från","CASTING_TO":"Castar till","NETWORK_STATUS":"Nätverksstatus","STREAM_SPEED":"Nedladdningshastighet:","STREAM_BUFFERED":"Buffrat:","PEERS_INFO":"Information om peers","PEERS_ACTIVE":"Aktiv:","PEERS_CONNECTED":"Ansluten:","PEERS_WAITING":"Väntar:","TRANSCODING_WARNING":"Varning: Konverterar video","STREAM_LOADING":"Laddar strömmen...","PLAYING_LOCAL":"Spelar upp en lokal fil","PLAYING_CACHE":"Spelar upp från cache","WRONG_SUBS":"Felaktiga undertexter","ERR_SUBS_LOADING_TITLE":"Fel vid inläsning av undertexter","ERR_SUBS_LOADING":"Fel vid inläsning av undertexter: Detta kan bero på problemet med tillägget du använder eller din nätverksanslutning","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Följande undertexttillägg misslyckades","ERR_CASTING_UPDATE_TITLE":"Kan inte uppdatera castingenhetsinformation: Streamingservern kan vara offline","CHOOSE_DEVICE":"Välj en enhet att titta på","NO_CAST_DEVICES":"Inga castingenheter tillgängliga.","NO_SETTINGS":"Inga inställningar tillgängliga.","NO_OPTIONS":"No options available","PHONE_TABLET":"Telefon / Platta","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Undertexter","SUBTITLES_CHANGE":"Ändra undertexter för ","SUBTITLES_CHANGE_NONE":"Det finns inga andra undertexter för detta språk, beklagar.","SUBTITLES_CHANGE_ACIVE":"För närvarande är undertexter #{{subtitlesDialog.activeIdx + 1}} aktiverade. Klicka på \\"Fortsätt\\" för att aktiverar undertexter #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Undertexter eller","SUBTITLES_ADJUST_DELAY":"Justera fördröjning av undertexter:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Eller använd tangenterna <span>G</span> / <span>H</span> när du tittar.","SUBTITLES_ADJUST_DELAY_TIP":"TIPS: du kan använda tangenterna <span>G</span> / <span>H</span> när du tittar för att justera.","SUBTITLES_DELAY":"Fördröjning av undertexter:","SUBTITLES_LOADING":"Laddar undertexter...","SUBTITLES_UNAVAILABLE":"Inga externa undertexter tillängliga","SUBTITLES_DISABLED":"Inaktiverat","EXTERNAL_PLAYER_DISABLED":"Inaktiverat","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Tillåt val","EXTERNAL_PLAYER_HINT":"Tips: Du kan ställa in Stremio till att alltid öppna videor med en extern spelare","DONT_SHOW_AGAIN":"Visa inte igen","SERVICE_INSTALL":"Installera","AUDIO":"Ljud","DEFAULT_LANGUAGE":"Standardspråk","DEFAULT_SECONDARY_LANGUAGE":"Sekundärt standardspråk","SEASON":"Säsong","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Avsnitt","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sortera","SORT_BY":"Sortera på","FILTER":"filtrera","SORT_TRENDING":"Sortera trender","SORT_RECENT":"Sortera efter senaste","SORT_ALPHABET":"Sortera efter alfabetet","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"betyg","SORT_WATCHED":"sett","SORT_YEAR":"År","SELECT":"Select","SELECT_TYPE":"Välj typ","SELECT_SORT":"Välj sortering","SELECT_CATALOG":"Välj katalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Välj genre","SORT_LASTWATCHED":"Efter senast sedda","SORT_NAME":"Efter namn","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"Efter tittade gånger","SORT_NOTWATCHED":"Efter inte sedda","New for You":"Nytt för dig","New Episodes":"Nya avsnitt","New Videos":"Nya videor","Recommendations":"Rekommendationer","LIBRARY_RESUME":"Återuppta","LIBRARY_PLAY":"Spela","LIBRARY_DETAILS":"Detaljer","LIBRARY_RESUME_DISMISS":"avfärda","LIBRARY_CLEAR_PROGRESS":"Rensa videoförlopp","LIBRARY_REMOVE":"Ta bort","LIBRARY_NOT_LOGGED_IN":"Biblioteket är endast tillgängligt för inloggade användare","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Kalendern är endast tillgänglig för inloggade användare","NOT_LOGGED_IN_CLOUD":"Få åtkomst till dina favoritfilmer och TV-program när som helst, var som helst","NOT_LOGGED_IN_RECOMMENDATIONS":"Rekommendationer anpassade efter din visningshistorik","NOT_LOGGED_IN_NOTIFICATIONS":"Missa aldrig ett avsnitt igen","NOT_LOGGED_IN_CALENDAR":"Schemalägg din personliga visningskalender","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Utvalda","DISCOVER_TOP":"Topp","DISCOVER_OSCAR":"Oscarsvinnare","DISCOVER_WARNING_TITLE":"Hoppsan!","DISCOVER_EMPTY_CATALOG":"Detta tillägg returnerade tomt innehåll.","DISCOVER_ADULT_WARNING":"Innehållet är synligt endast för vuxna. Är du 18+?","DISCOVER_NOADDON_WARNING":"Varning: inget Stremio-tillägg aktivt för denna typ. Visar sparade objekt, ingenting kommer att uppdateras.","DISCOVER_LOAD_ERR":"Innehållet laddades inte, ett fel inträffade.","DISCOVER_ADDON_UNINSTALLED":"Detta innehåll är inte längre tillgängligt, du kan ha avinstallerat tillägget.","UNINSTALL_THIS_ADDON":"Avinstallera detta tillägg","ERR_ADDON_NOT_INSTALLED":"Detta tillägg är inte installerat. Installera nu?","DETAIL_RECEIVE_NOTIF_SERIES":"Få aviseringar för nya avsnitt","DETAIL_RECEIVE_NOTIF_VIDEOS":"Få aviseringar för nya videor","SIDEBAR_SHOW_STREAMS":"Visa strömmar","RELAUNCH":"Starta om nu!","UPGRADE":"Uppgradera till den senaste versionen av Stremio","RELOAD_UI":"Ladda om användargränssnittet","MANUAL_UPDATE_TITLE":"Uppdatera din Stremio-version","MANUAL_UPDATE_LINE1":"Du kör en föråldrad version av Stremio, vilket inte rekommenderas.","MANUAL_UPDATE_LINE2":"Vänligen uppdatera så snart som möjligt.","BUTTON_UPDATE_LATTER":"Inte nu","BUTTON_UPDATE_NOW":"Uppdatera","UPDATER_TITLE":"En ny version av Stremio är tillgänglig","UPDATER_INSTALL_BUTTON":"Installera nu","ANONYMOUS_USER":"Anonym användare","DONT_HAVE_ACC":"Har du inget konto?","HAVE_ACC":"Har du redan ett konto?","PASSWORD":"Lösenord","PASSWORD_CONFIRM":"Bekräfta lösenord","EMAIL":"E-post","FB_LOGIN":"Logga in med Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Ingenting delas utan din tillåtelse ","FB_NOPOST":"Vi kommer inte att publicera något på din vägnar","OR":"eller","I_ACCEPT":"Jag accepterar","I_ACCEPT_BY_CLICKING":"Genom att klicka på knappen ovan intygar jag att jag accepterar ","TOS":"Användarvillkor","MUST_ACCEPT_TERMS":"Du måste acceptera villkoren","PASSWORDS_NOMATCH":"Lösenorden matchar inte","SIGN_UP":"Registrera","SIGN_UP_EMAIL":"Registrera dig med e-post","CLICK_TO_SIGN_UP":"Klicka här för att registrera dig.","LOG_IN":"Logga in","LOG_OUT":"Logga ut","EXIT_FULLSCREEN":"Avsluta helskärmsläge","ENTER_FULLSCREEN":"Gå till helskärmsläge","PLAY_URL_MAGNET_LINK":"Spela upp URL/Magnetlänk","HELP_FEEDBACK":"Hjälp och feedback","TERMS_OF_SERVICE":"Användarvillkor","PRIVACY_POLICY":"Integritetspolicy","ABOUT_STREMIO":"Om Stremio","USER_PANEL":"Användarpanel","LOGIN_LABEL":"Logga in","GUEST_LOGIN":"Gästinloggning","GUEST_LOGIN_NOTICE":"Gästinloggning rekommenderas inte. Genom att använda en vanlig inloggning kan Stremio synkronisera din bibliotek, ta emot aviseringar för favoritserier/kanaler. Är du säker på att du vill fortsätta?","GUEST_LOGIN_NOTICE_2":"Gästinloggning rekommenderas inte - du kommer inte att ha synkroniserad bibliotek och meddelanden från tavlan, vilka är viktiga funktioner i Stremio. Är du säker på att du vill fortsätta?","CLICK_HERE":"klicka här","WRONG_PASSWORD":"Fel lösenord. Om du har glömt ditt lösenord, ","SET_A_PASS":"ange ett lösenord","RESET_PASSWORD":"Återsäll lösenord","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Glömt lösenord?","EMAIL_USED_WITH_FB":"Denna e-postadress användes med en Facebook-inloggning.","INVALID_EMAIL":"Vänligen ange en giltig e-postadress","INVALID_PASSWORD":"Var vänlig skriv in ett giltigt lösenord","CONN_ERR":"Anslutningsfel - var vänlig och försök igen senare.\\n\\nOm problemet kvarstår, inaktivera brandväggar/antivirusprogram (speciellt Bitdefender).","IMPORT_FROM_GUEST":"Importera Bibliotek från ditt gästkonto","RECEIVE_UPDATES_EMAIL":"Få uppdateringar till din e-post från Stremio","LOGIN_FAILED":"Inloggningen misslyckades.","SIGNUP_FAILED":"Registrering misslyckades.","SEARCH_FAILED":"Sökningen misslyckades","EMAIL_USED":"Denna e-post är redan i bruk.","WAITING_FB_LOGIN":"Loggar in med Facebook...","EXTERNAL_OPENING_YOUTUBE":"Du är på väg att lämna Stremio och öppna YouTube. Vill du fortsätta?","EXTERNAL_OPENING_APP":"Du är på väg att lämna Stremio för att öppna en annan app. Vill du fortsätta?","EXTERNAL_PLAYER_TITLE":"Spela i extern spelare","EXTERNAL_REMEMBER_PLAYER":"Vill du komma ihåg ditt val","EXTERNAL_ALWAYS_PLAY":"Ja","EXTERNAL_ONLY_ONCE":"Nej","BEST_FIT":"Bästa passform","FIT_SCREEN":"Anpassa till skärm","FILL":"Fyll","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Berätta om vad du gillar","INTRO_TASTE_LONG":"Berätta för oss om vad du vill se","INTRO_TASTE_PICK":"Välj {{interestsRemaining}} intressen","INTRO_TASTE_PICK_MORE":"Välj {{interestsRemaining}} intressen till","INTRO_TASTE_HELP_US":"Hjälp oss att lära oss mer om dig.","INTRO_TASTE_CHOOSE_THESE":"Välj några av dessa:","INTRO_TASTE_CHOOSE_MIN":"Välj minst 3 kategorier","INTRO_TASTE_CHOOSE_MIN_ERR":"Du måste välja minst 3 kategorier!","INTRO_TASTE_LIFESTYLE":"Livsstil","INTRO_TASTE_SPORTS":"Sport","INTRO_TASTE_FOOD_HEALTH":"Mat & Hälsa","INTRO_TASTE_BEAUTY_FASHION":"Skönhet & Mode","INTRO_TASTE_NEWS":"Nyheter","INTRO_TASTE_GAMING":"Spel","INTRO_TASTE_SCIENCE_EDU":"Vetenskap & Utbildning","INTRO_TASTE_MUSIC":"Musik","INTRO_TASTE_TRAVEL":"Resor","INTRO_TASTE_LATE_NIGHT":"Senkvällsshow","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Komedi","INTRO_TASTE_DIY":"Gör det själv","INTRO_TASTE_TECH":"Teknik","INTRO_TASTE_CINEMA":"Film","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Valt tillägg stöds inte på den här plattformen.","ADDON_DISCLAIMER":"Användandet av tredjeparts-tillägg kommer alltid att vara ditt eget ansvar och faller under lagstiftningen i det område du befinner dig i.","ADDON_ACTIVATE":"Aktivera detta tillägg?","ADDON_REPO_ADD":"URL för tillägsrepo","ADDON_ADD":"Lägg till","INSTALL_ADDON":"Installera tillägg","ADD_ADDON":"Lägg till tillägg","ADD_ADDON_DESCRIPTION":"Du kan lägga till ett tillägg via en extern länk, som visas under Installerade tillägg.","PASTE_ADDON_URL":"Klistra in tillägs-URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Nyheter","BUTTON_CONTINUE":"Fortsätt","BUTTON_ACTIVATE":"Aktivera","BUTTON_ACTIVATED":"Aktiverad","BUTTON_CANCEL":"Avbryt","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Bekräfta","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Avvisa alla","BUTTON_VIEW_ALL":"visa alla","BUTTON_SEE_ALL":"Se alla","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Öppna i webbläsare","LIB_EMPTY":"Ditt bibliotek ser tomt ut. Ta reda på hur användbart det kan vara :)","HOW_START":"Så här kan du börja:","LIB_EMPTY_CAL":"Din Kalender visar serier från ditt bibliotek.","HOW_START_CAL":"Så här kan du lägga till en serie:","LIB_EMPTY_BOARD":"Hem visar notifikationer & rekommendationer med anknytning till ditt bibliotek.","HOW_START_BOARD_WAIT":"Lägg gärna till några serier eller kanaler till Bibliotek och ge oss några minuter att behandla dem :)","HOW_START_BOARD":"Så här kan du lägga till serier & filmer till den:","IMPORT_FB":"Importera saker du tycker om från <span>Facebook</span>","IMPORT_TRAKT":"Importera ditt mediebibliotek från <span>Trakt</span>","IMPORT_DISCOVER":"Hitta intressanta saker från <span>Upptäck</span>","IMPORT_DISK":"Importera filmer eller serier som du har på din <span>lokala hårddisk</span>","PLEASE_CREATE_ACC":"Vänligen <u> skapa ett konto </u> för att aktivera synkronisering av Biblioteket & Hem.","IMPORT_DISCOVER_SIGNUP":"Registrera dig och hitta intressanta saker från <span>Discover</span>","IMPORT_DISK_SIGNUP":"Registrera dig och importera filmer eller program du har på din <span>local disk</span>","LIB_EMPTY_CLOUD":"Molnbibliotek","LIB_EMPTY_CLOUD_DESC":"Personligt molnbibliotek synkroniserat på alla enheter","LIB_EMPTY_EARLY":"Tidig fågel","LIB_EMPTY_EARLY_DESC":"Få aviseringar för nya avsnitt","LIB_EMPTY_PERSONAL":"Personligt","LIB_EMPTY_PERSONAL_DESC":"Få personliga rekommendationer","LIB_EMPTY_CALENDAR_DESC":"Schemalägg din personliga tittakalender","LIB_EMPTY_ALL":"Registrera dig för att få alla dessa:","LIB_EMPTY_BEST":"Registrera dig för att få det bästa av Stremio","LIB_EMPTY_OTHER":"Registrera dig för att aktivera Kalender och andra coola funktioner","CALENDAR_ADDED":"Stremio-kalendern har lagts till i din standardskrivbordskalender.","CALENDAR_ADDED_MSG":"Om detta inte fungerar, lägg till denna URL manuellt i din kalenderapplikation","TRAKT_EXPIRED":"Trakt-autentisering har löpt ut, gå till Inställningar och autentisera på nytt","TRAKT_REQUIRES_LOGIN":"Trakt-fel","TRAKT_REQUIRES_LOGIN_MSG":"Du behöver logga in","TRAKT_IMPORT_WATCHED":"Importera","THEME":"Tema","THEME_DEFAULT":"Standard","THEME_ADAPTIVE":"Adaptiv","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Inställningar","SETTINGS_NAV_GENERAL":"Allmänt","SETTINGS_NAV_PLAYER":"Mediaspelare","SETTINGS_NAV_STREAMING":"Strömning","SETTINGS_NAV_SHORTCUTS":"Genvägar","SETTINGS_SHORTCUT_RELOAD_APP":"Ladda om appen","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Öppna Inställningar","SETTINGS_SHORTCUT_SWITCH_TABS":"Byt flikar","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Bläddra genom flikarna framåt","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Bläddra genom flikarna bakåt","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigera mellan menyer","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Gå till Sök","SETTINGS_SHORTCUT_EXIT_BACK":"Avsluta / Gå tillbaka","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Växla meny för uppspelningshastighet","SETTINGS_SHORTCUT_MENU_VIDEOS":"Växla videomeny","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Växla textningsmeny","SETTINGS_SHORTCUT_MENU_AUDIO":"Växla ljudmeny","SETTINGS_SHORTCUT_MENU_INFO":"Växla informationsmeny","SETTINGS_SHORTCUT_FULLSCREEN":"Växla helskärmsläge","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Visa kontroller","SETTINGS_SHORTCUT_PLAY_PAUSE":"Spela / Pausa","SETTINGS_SHORTCUT_VOLUME_UP":"Höj volymen","SETTINGS_SHORTCUT_VOLUME_DOWN":"Sänk volymen","SETTINGS_SHORTCUT_SEEK_NEXT":"Sök nästa","SETTINGS_SHORTCUT_SEEK_PREV":"Sök föreg","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Sök bakåt","SETTINGS_SHORTCUT_SEEK_FORWARD":"Sök framåt","SETTINGS_SHORTCUT_PLAY_NEXT":"Spela nästa","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Öka undertextstorleken","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Minska undertextstorleken","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Öka fördröjningen av undertexter","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Minska fördröjning av undertexter","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Växla sidofält","SETTINGS_SHORTCUT_OR":"eller","SETTINGS_SHORTCUT_TO":"till","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Autentisera","SETTINGS_FACEBOOK_IMPORT":"Importera","SETTINGS_CALENDAR_SUBSCRIBE":"Prenumerera","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Kalenderapp öppnades. Prenumerera på kalendern manuellt.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Kalenderfil laddades ned. Importera den till din kalenderapp.","SETTINGS_INTERFACE_LANGUAGE":"Gränssnittsspråk","SETTINGS_LAUNCH_STARTUP":"Starta vid uppstart","SETTINGS_VLC_DEFAULT":"Spela upp med VLC","SETTINGS_UI_LANGUAGE":"Gränssnittsspråk","SETTINGS_UI_ZOOM":"Gränssnittszoom","SETTINGS_FULLSCREEN_EXIT":"Escape-tangenten avslutar helskärm","SETTINGS_GAMEPAD":"Aktivera stöd för spelkontroll","SETTINGS_CLOSE_WINDOW":"Stäng appen när fönstret är stängt","SETTINGS_SUBTITLES_LANGUAGE":"Standardspråk för undertexter","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Sekundärt språk för undertexter","SETTINGS_SUBTITLES_SIZE":"Standardstorlek för undertexter","SETTINGS_SUBTITLES_BACKGROUND":"Textningsbakgrund","SETTINGS_SUBTITLES_COLOR":"Textningsfärg","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Textningskantfärg","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Textningsbakgrundsfärg","SETTINGS_SEEK_KEY":"Söktid med piltangenter","SETTINGS_SEEK_KEY_SHIFT":"Söktid med piltangenter när Shift hålls ned","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Spolnings- och snabbframåtstid","SETTINGS_BINGE":"Spela automatiskt upp nästa avsnitt","SETTINGS_NEXT_VIDEO":"Visa avisering för att starta nästa avsnitt","SETTINGS_NEXT_VIDEO_TRIGGER":"Visa nästa avsnittsavisering för:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Popup-tid för nästa video","SETTINGS_PLAY_IN_BACKGROUND":"Spela i bakgrunden","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Spela i extern spelare","SETTINGS_RESIZE":"Anpassa fönsterstorlek automatiskt före uppspelning","SETTINGS_OVERRIDE_SERVER":"Åsidosätt webbadressen för strömningsserver (avancerat)","SETTINGS_SERVER_ADD_URL":"Lägg till URL","SETTINGS_SERVER_URL":"URL för strömningsserver: ","SETTINGS_SERVER_AVAILABLE":"Strömningsserver är tillgänglig.","SETTINGS_SERVER_UNAVAILABLE":"Strömningsserver är inte tillgänglig.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Fel","SETTINGS_SERVER_CONFIGURE_TITLE":"Konfigurera webbadress för strömningsserver","SETTINGS_SERVER_CONFIGURE_INPUT":"Ange en webbadress till en strömningsserver","SETTINGS_SERVER_CACHE_SIZE":"Cachestorlek","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent-profil","SETTINGS_HTTPS_ENDPOINT":"HTTPS-slutpunkt för strömning: ","SETTINGS_TRANSCODE_PROFILE":"Transcoderingsprofil","SETTINGS_USE_BETA":"Använd alltid senaste betaversionen","SETTINGS_IMPORT_FB":"Importera från Facebook","SETTINGS_IMPORT_DISK":"Importera från lokal hårddisk","SETTINGS_IMPORT_TRAKT":"Importera från Trakt","SETTINGS_PAUSE_MINIMIZED":"Pausa uppspelningen när den är minimerad","SETTINGS_HWDEC":"Hårdvaruaccelererad avkodning","SETTINGS_BACKGROUND":"Bakgrundsuppspelning","SETTINGS_SUBSCRIBE_CALENDAR":"Prenumerera på kalender","SETTINGS_REQ_EXPORT":"Begär dataexport","SETTINGS_ACC_DELETE":"Begär radering av konto","SETTINGS_CHANGE_PASSWORD":"Ändra lösenord","SETTINGS_TOS":"Användarvillkor","SETTINGS_SUPPORT":"Kontakta supporten","SETTING_LANGUAGE":"Språk","SETTINGS_BLUR_UNWATCHED_IMAGE":"Sudda bilder för osedda avsnitt","SETTINGS_QUIT_ON_CLOSE":"Avsluta vid stängning","SETTINGS_TRAKT":"Trakt-skrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Logga ut från Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Logga ut från Trakt","SETTINGS_SCAN_FOR_REMOTE":"Skanna QR-koden för att öppna fjärrkontrollen","SETTINGS_DESKTOP_NOTIFICATIONS":"Skrivbordsaviseringar","SETTINGS_DATA_SAVER":"Datasparläge","SETTINGS_LANGUAGE_INTERFACE":"gränssnitt","SETTINGS_LANGUAGE_SUBS":"standard undertexter","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Välj ljudspår automatiskt","SETTINGS_DEFAULT_AUDIO_TRACK":"Standardljudspår","SETTINGS_SECONDARY_AUDIO_TRACK":"Sekundärt ljudspår","SETTINGS_SURROUND_SOUND":"Surround-ljud","SETTINGS_ACCOUNT":"konto","SETTINGS_PLATFORM":"Plattform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"Om","SETTINGS_MPV_WINDOW":"Starta mediaspelare i ett separat fönster (avancerat)","SETTINGS_PLAY_IN_EXTERNAL":"Starta alltid video i extern spelare","SETTINGS_STORAGE_BUTTON":"Rensa lokal lagring","SETTINGS_STORAGE_MODAL_TITLE":"Är du säker ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Detta kommer att rensa den lokala lagringen och logga ut dig.","SETTINGS_HWDEC_PICKER":"Välj hårdvaruaccelererad avkodningsinställning","SETTINGS_HW_AUTOMATIC":"Automatisk","SETTINGS_HW_DISABLED":"Inaktiverad","SETTINGS_HW_ACCELERATED":"Avkodningsacceleration","SETTINGS_HW_FULL":"Full hårdvaruacceleration","SETTINGS_HW_LEGACY":"Föråldrad","SETTINGS_DISABLED":"Inaktiverad","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Notis om nätverksanslutning","SETTINGS_ANALYTICS":"Tillåt analys","SETTINGS_REMOTE_URL":"Fjärr-URL","SETTINGS_COPY_REMOTE_URL":"Kopiera fjärr-URL","SETTINGS_REMOTE_URL_COPIED":"Fjärr-URL har kopierats till ditt urklipp","SETTINGS_SECTION_SUBTITLES":"Undertexter","SETTINGS_SECTION_AUDIO":"Ljud","SETTINGS_SECTION_CONTROLS":"Kontroller","SETTINGS_SECTION_AUTO_PLAY":"Autouppspelning","SETTINGS_SECTION_ADVANCED":"Avancerat","SUBSPICKER_AUDIO":"Ljud","SUBSPICKER_SUBTITLES":"Tilläggsundertexter","SUBSPICKER_BLACK_BACKGROUND":"Använd svart bakgrundsfärg","SUBSPICKER_VERTICAL_OFFSET":"Vertikal offset","SUBSPICKER_SIZE":"Storlek","SUBSPICKER_DELAY":"Fördröjning","SUBSPICKER_EMBEDDED_SUBS":"Inbäddade undertexter","MOBILE_PRIVACY_POLICY":"Integritetspolicy","MOBILE_CRASH_REPORTING":"Kraschrapportering","MOBILE_ZOOM_TO_FILL":"Zooma för att fylla skärmen","MOBILE_PASSTHROUGH":"Digital ljudutgång (genomgång)","MOBILE_RUN_LOW_BATTERY":"Kör på lågt batteri","MOBILE_RUN_FOREGROUND":"Kör som förgrundstjänst","MOBILE_PERFORMANCE":"PRESTANDA & STABILITET","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR-koden upphör att gälla om ","MOBILE_LOG_INTO":"Logga in på ditt Stremio-konto ","MOBILE_SCAN_QR":"Skanna QR-koden ovan eller gå till ","MOBILE_LINK_ACCOUNT":"Länka konto","MOBILE_SPEEDPICKER_CANCEL":"Avbryt","MOBILE_SPEEDPICKER_LABEL":"Välj uppspelningshastighet","MOBILE_EMPTY_LIBRARY":"Ditt bibliotek är tomt","MOBILE_NO_ADDON_ACTIVE":"Inget Stremio-tillägg aktivt för denna typ.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer-appen ger begränsad funktionalitet. För en lista över spelbara strömmar och den fullständiga Stremio-upplevelsen, använd Stremio på datorn.","MOBILE_ADDON_LOADING":"laddar fortfarande","MOBILE_ADDONS_LOADING":"tillägg laddas fortfarande","MOBILE_ADDON":"Tillägg","MOBILE_CONFIGURE_ADDON":"Konfigurera ditt tillägg","MOBILE_CONFIGURE_ADDON_LABEL":"Konfigurera tillägg","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer-appen tillhandahåller ett begränsat urval av tillägg. För den fullständiga Stremio-upplevelsen, använd Stremio på datorn.","MOBILE_DISCONNECT":"Koppla från","MOBILE_LOOKING_FOR_DEVICES":"Letar du efter enheter...","MOBILE_CAST_TO":"Casta till","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Radera konto","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Radering av konto sker inte omedelbart på grund av juridiska skyldigheter. Efter att ha begärt radering av ditt konto måste du använda en annan e-postadress/facebook-profil för att skapa ett nytt Stremio-konto i framtiden.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Bekräfta borttagning av konto","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ditt konto har skapats med Facebook. För att radera ditt konto, använd vår användarportal på www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Ange ditt lösenord för att bekräfta borttagningen av kontot.","MOBILE_DELETE_ACCOUNT_BUTTON":"Radera konto","NAVIGATION_ON":"På","NAVIGATION_OFF":"Av","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Jag samtycker till att ta emot marknadskommunikation från Stremio","QUIT":"Avsluta","CONNECTED":"Ansluten","AUTHENTICATE":"Autentisera","AUTHENTICATING":"Authenticating...","CACHING":"Cachning","SETTINGS_CACHING_DRIVE":"Inställningar för cacheenhet","ENABLE_LOCAL_FILES_ADDON":"Aktivera tillägget för lokala filer (kräver omstart","LOCAL_ADDON_NOT_ENABLED":"Lokalt tillägg är inte aktiverat. Klicka här för att gå till inställningarna och aktivera det","ENABLE_REMOTE_HTTPS_CONN":"Aktivera fjärranslutningar för HTTPS","TORRENT_PROFILE":"Torrent-profil","DATA_CACHING":"Datacaching","MAGNET_PARSING":"Tolkning av en magnetlänk","January":"Januari","February":"Februari","March":"Mars","April":"April","May":"Maj","June":"Juni","July":"Juli","August":"Augusti","September":"September","October":"Oktober","November":"November","December":"December","Monday":"Måndag","Tuesday":"Tisdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"Lördag","Sunday":"Söndag","Action":"Action","Comedy":"Komedi","War":"Krig","Family":"Familj","Animation":"Animerat","Adventure":"Äventyr","Fantasy":"Fantasy","Crime":"Deckare","Mystery":"Mysterium","Romance":"Romantik","Drama":"Drama","Horror":"Skräck","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Musik","Biography":"Biografi","Documentary":"Dokumentär","Sport":"Sport","Musical":"Musikal","Western":"Western","Film-Noir":"Film-Noir","News":"Nyheter","History":"Historia","Game-Show":"Spel-program","Reality-TV":"Reality-TV","Talk-Show":"Pratprogram","Film & Entertainment":"Film & Underhållning","Gaming":"Gaming","From TV":"Från TV","Lifestyle":"Livsstil","Science & Education":"Vetenskap & Utbildning","Cooking & Health":"Matlagning & Hälsa","Beauty & Fashion":"Skönhet & Mode","Sports":"Sport","News & Politics":"Nyheter & Politik","How-to & DIY":"Gör det själv","Tech":"Teknik","Automotive":"Fordon","Causes & Non-Profits":"Bra saker & Ideella organisationer","Movies":"Filmer","Uk Live Tv":"UK Direkt Tv","Fashion":"Mode","Business News Radio":"Nyhetsradio för företag","Business Tv":"Företags-TV","Cars & Auto":"Bilar & Fordon","Comedy Radio":"Komediradio","Lifestyle Radio":"Livsstilsradio","News Tv":"Nyheter Tv","Food And Wine":"Mat Och Vin","Latino Tv":"Latinsk Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Barn","Body & Soul":"Kropp & Själ","Education":"Utbildning","Indian Tv":"Indisk Tv","Extreme Sports":"Extremsport","Middle Eastern Tv":"Mellanöstern Tv","Celebrity Tv":"Kändis Tv","Science Tv":"Vetenskap Tv","Bikini babe":"Bikini brud","Outdoors":"Utomhus","German Tv":"Tysk Tv","French Tv":"Fransk Tv","Italian Tv":"Italiensk Tv","Gamer Tv":"Gamer Tv","Travel":"Resor","Asian Tv":"Asiatisk Tv","Entertainment":"Underhållning","News Radio":"Nyheter Radio","Music Radio":"Musik Radio","Language Learning":"Språkinlärning","Science Radio":"Vetenskaplig Radio","Tech Radio":"Teknik Radio","Science & Technology Vod":"Vetenskap & Teknik Vod","new video":"nytt videoklipp","new episode":"nytt avsnitt","new movie":"ny film","recommended":"rekommenderad","we recommend":"vi rekommenderar","offer of the day":"dagens erbjudande","news":"nyheter","music video":"musikvideo","CTX_SHOW_HOTKEYS":"Visa snabbtangenter","CTX_DISMISS_NOTIF":"Avisa notifikationer","CTX_DISMISS_ALL":"Avfärda alla","CTX_SHARE":"Dela","CTX_COPY_SHARE_LINK":"Kopiera delningslänk","CTX_COPY_MAGNET_LINK":"Kopiera magnetlänk","CTX_COPY_STREAM_LINK":"Kopiera strömningslänk","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Kopiera länk för videonedladdning","CTX_DOWNLOAD_VIDEO":"Ladda ner den här videon","CTX_DOWNLOAD_SUBS":"Ladda ner undertexter","CTX_VIEW_ON_YOUTUBE":"Se på YouTube","CTX_SHOW":"Visa","CTX_PLAY":"Spela","CTX_PLAY_IN":"Spela i","CTX_PLAY_ON":"Spela på","CTX_WATCH_ON":"Titta på","CTX_WATCH":"Titta","CTX_WATCHED":"Sedd","CTX_WATCH_BEGINNING":"Se från början","CTX_WATCH_MOBILE":"Se på mobilen","CTX_REWIND":"Spola tillbaka till början","CTX_MARK_WATCHED":"Markera som sedd","CTX_MARK_NON_WATCHED":"Markera som osedd","CTX_MARK_UNWATCHED":"Markera som obevakad","CTX_MARK_REST":"Markera resten som bevakad","CTX_UNMARK_REST":"Markera resten som obevakad","CTX_RECEIVE_NEW_NOTIF":"Ta emot nya notifikationer","CTX_ENABLE_NEW_NOTIF":"Aktivera aviseringar","CTX_DISABLE_NEW_NOTIF":"Inaktivera aviseringar","CTX_REMOVE_CACHE":"Ta bort från cache","CTX_REMOVE_CACHE_EP":"Ta bort avsnitt från cache","CTX_OPEN_CONTAINING":"Öppna innehållande mapp","CTX_REMOVE":"Ta bort från bibliotek","CTX_AVAILABLE_OFFLINE":"Tillgänglig Offline","CTX_PAUSED":"Pausad","CTX_ALWAYS_ON_TOP":"Alltid överst","CTX_FULLSCREEN":"Fullskärm","CTX_WRONG_SUBS":"Fel undertexter?","CTX_REPORT_ISSUES":"Rapportera problem","CTX_COPY":"Kopiera","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Klistra in","CTX_CLEAR":"Rensa","CTX_CLEAR_RECENT_SEARCHES":"Rensa senaste sökningar","HELLO_THERE":"Hejsan","HOPE_YOU_ENJOY":"Vi hoppas att ni uppskattar Stremio och det redan är ett av dina favoritprogram!","WHO_ARE_WE":"Vilka är vi? Vi är teamet bakom det - två killar som arbetat hårt varje dag under de senaste 3 åren, med ett enda mål - att göra produkten bättre och bättre.","SUPPORT_US":"Om du tycker om att använda Stremio, om Stremio är värdefullt för dig - stöd oss!","SPREAD_THE_WORD":"Dela med dina vänner nu, sprid ordet om Stremio.","MORE_PEOPLE":"Ju fler människor som använder Stremio, desto bättre kommer det att bli!","SEND_A_LINK":"Eller skicka en länk till vår hemsida","TIP_LOCALFILES":"Tips: du kan dra och släppa lokala videofiler till Stremio","ADDON_MY":"Mina tillägg","ADDON_COMMUNITY":"Community-tillägg","ADDON_OFFICIAL":"Officiella tillägg","ADDON_REPOS":"Tilläggs-repos","ADDON_SEARCH":"Sök efter tillägg","ADDON_INSTALL":"Installera","ADDON_CONFIGURE":"Konfigurera","ADDON_UNINSTALL":"Avinstallera","ADDON_UPGRADE":"Uppgradera","ADDON_INSTALLED":"Installerad","ADDON_INSTALLED_MSG":"Tillägg installerat!","ADDON_UPGRADED_MSG":"Tillägget har uppgraderats!","ADDON_UNKNOWN":"Okänt","ADDON_ERR":"Tilläggsinstallationsfel!","ADDON_DISCONNECTED":"Frånkopplat","ADDON_APP_MISSING":"appen för den här källan är inte installerad. Vill du installera den nu?","ADDON_APP_INSTALL":"Installera nu","ADDON_PAGE":"Tilläggssida","ADDON_TOP_CONTENT":"Bäst från detta tillägg","ADDON_PROVIDES":"tillhandahåller","ADDON_WATCH":"Titta på #{types} nu!","ADDON_WATCH_FREE":"Titta på #{types} GRATIS nu!","ADDON_ADDON":"Tillägg","ADDON_SUPPORTED_TYPES":"Typer som stöds","ADDON_SUPPORTED_CATALOGS":"Kataloger som stöds","ADDON_PROVIDES_DISCOVER":"Mer #{types} i Upptäck","ADDON_PROVIDES_STREAMS":"Titta på #{types}","ADDON_PROVIDES_STREAMS_FREE":"Titta på #{types} GRATIS","ADDON_PROVIDES_SUBTITLES":"Undertexter för #{types}","ADDON_CANTDETECT":"Vi kunde inte upptäcka en startat Stremio, så vi kunde inte identifiera vilka tillägg du har installerat.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrentströmning stöds inte på den här enheten på grund av App Store-regler","ERR_NO_META":"Ingen information hittades om detta ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Det gick inte att hämta information om detta.","ERR_CANT_PARSE_MAGNET":"Kan inte tolka magnet","ERR_NO_MAGNET_INFOHASH":"Inget giltigt infohash för magnet","ERR_NO_FILE_PATH":"Det går inte att skicka förfrågan utan en sökväg till filen","ERR_NO_TORRENT":"Ingen torrent returnerad","ERR_NO_SUPPORTERD_FILES":"Inga filer som stöds hittades","ERR_OPENING_FILES":"Det gick inte att öppna externa filer","ERR_INVALID_LINK":"Ogiltig länk","ERR_REGISTERED_ONLY":"Det här alternativet är endast tillgängligt för registrerade användare.","ERR_CLIPBOARD":"Kan inte spela från urklipp","ERR_CLIPBOARD_READ":"Kan inte läsa urklippet på den här plattformen","ERR_CLIPBOARD_GENERIC":"Ingen spelbar URL hittades i urklippet. Kopiera en URL (t.ex. en magnetlänk) till en video.","BOARD_CONTINUE_WATCHING":"Fortsätt titta","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmer utvalda speciellt för dig.<br />Denna film är en exempelrekommendation.","BOARD_EXPLANATION_EPISODES":"Nya avsnitt av din favoritserie kommer här.<br />Lägg till serier du följer i ditt bibliotek.","BOARD_EXPLANATION_VIDEOS":"Nya avsnitt av dina favoritkanaler kommer här.<br />Lägg till YouTube-kanaler du följer i ditt bibliotek.","WEBSITE_ENJOYED_BY":"Njuts av mer än 30 miljoner användare över hela världen","WEBSITE_STREAMING_ENHANCED":"Förbättrad streaming","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio erbjuder en säker, modern och sömlös underhållningsupplevelse. Med sitt lättanvända gränssnitt och mångsidiga innehållsbibliotek, inklusive 4K HDR-stöd, kan användare njuta av sina favoritfilmer och TV-program på alla sina enheter. Och med sitt engagemang för säkerhet är Stremio det ultimata valet för en bekymmersfri, högkvalitativ streamingupplevelse.","WEBSITE_AVAILABLE_ON":"Tillgänglig på","WEBSITE_WATCH_AND_ENJOY":"Titta och njut.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio gör det lätt som en plätt","WEBSITE_ALL_FEATURES":"Alla funktioner","WEBSITE_EASY_TO_USE":"Lätt att använda","WEBSITE_EASY_TO_USE_DETAILS":"Stremio är designad för att vara användarvänlig och lätt att använda. Med sitt rena och intuitiva gränssnitt kan du enkelt navigera och hitta det innehåll du vill titta på.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Sömlös över enheter","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Tillgänglig för ett brett utbud av plattformar (inklusive Windows, Mac, Linux, Android och fler). Stremio sparar din visningsposition över alla dina enheter. Logga bara in och fortsätt titta där du slutade, utan att behöva konfigurera appen på nytt för varje ny enhet.","WEBSITE_ALL_DOWNLOADS":"Alla nedladdningar","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Stöd för högupplöst video","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"En integrerad videospelare som stöder de flesta videoformat, inklusive 4K HDR-innehåll, låter dig njuta av högsta möjliga kvalitet.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Varierat innehållsbibliotek","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integreras med ett stort antal populära videokällor, som Netflix, Amazon Prime Video, Hulu, YouTube och många fler.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Skapa ett gratis konto","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Skräddarsydd tittarupplevelse","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio låter dig anpassa utseendet och känslan av gränssnittet genom att ändra tema, lägga till eller ta bort tillägg och mer.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Stöd för flerspråkiga undertexter","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Du kan nu njuta av allt favoritinnehåll på ditt föredragna språk eftersom Stremio stöder undertexter på alla språk.","WEBSITE_ALL_STREMIO_FEATURES":"Alla Stremio-funktioner","WEBSITE_TRY_STREMIO_TITLE_P1":"Prova Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"På din TV nu","WEBSITE_YOU_CAN_NOW_WATCH":"Du kan nu se alla dina favorit-TV-program på dina Android TV-enheter. Med Stremio TV-appen kan du enkelt njuta av en filmkväll.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Du kan nu se alla dina favorit-TV-program på din Smart TV eller Android TV. Stremio TV-apparna gör det enkelt att njuta av en filmkväll.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio för Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Förmodligen den bästa och mest användbara appen att ha i din enhet. Det är en av apparna jag använder dagligen, särskilt på min Android TV i många år nu. Välgjort med en stark community som ger användbara funktioner. Bra gjort. Fortsätt så.","WEBSITE_REVIEWS":"recensioner","WEBSITE_GET_STREMIO_FOR_FREE":"Skaffa Stremio gratis","WEBSITE_GET_STREMIO_NOW":"Skaffa Stremio nu","WEBSITE_STREMIO_FEATURES":"Stremio-funktioner","WEBSITE_STREMIO_FEATURES_DETAILS":"Streama som ett proffs med Stremios avancerade funktioner och njut av sömlös tillgång till alla dina favoritmedia","WEBSITE_DISCOVER_MORE":"Upptäck mer.","WEBSITE_DISCOVER_MORE_DETAILS":"Få aldrig slut på saker att titta på","WEBSITE_COMMUNITY_DRIVEN":"Driven av communityn","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio har en stor och aktiv community av användare som bidrar till utvecklingen av mjukvaran genom att skapa och dela tillägg.","WEBSITE_GET_INVOLVED":"Bli involverad","WEBSITE_NEW_THEATER_EXPERIENCE":"Ny bioupplevelse","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremios nya dedikerade TV-app låter dig njuta av en filmkväll på dina Android TV-enheter.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremios nya dedikerade TV-appar låter dig njuta av en filmkväll på din Smart TV eller Android TV-enheter.","WEBSITE_FREE_AND_SECURE":"Gratis & Säker","WEBSITE_STREAMING":"Strömning","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio erbjuder oöverträffad säkerhet och integritet för användare. Med sin unika funktion att köra tillägg på distans, ger Stremio ett säkrare sätt att strömma ditt favoritinnehåll jämfört med andra plattformar. Din säkerhet och integritet är högsta prioritet, och plattformen säkerställer att all din data är skyddad.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Säg adjö till oro för säkerhet och integritet och säg hej till en värld av oändlig underhållning med Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information tillhandahållen av","WEBSITE_CONTRIBUTE_DESC":"till projektet och hjälp oss att göra Stremio ännu bättre","WEBSITE_COMMUNITY_DESC":"Vi tror att det bästa sättet att skapa en verkligt fantastisk streamingupplevelse är att involvera vår community i processen. Oavsett om du är en programmerare, en artist eller bara ett fan - du kan hjälpa Stremio att växa.","WEBSITE_COMMUNITY_DESC_2":"Så gå med oss ​​idag och bli en del av Stremio-communityt och fortsätt forma framtiden för streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Sätt att engagera sig","WEBSITE_IN_THE_STREMIO_COMMUNITY":"i Stremio-communityt","WEBSITE_SHARE_YOUR_THOUGHTS":"Dela dina tankar","WEBSITE_REPORT_BUGS":"Rapportera buggar","WEBSITE_SUGGEST_FEATURES":"föreslå funktioner","WEBSITE_AND_PROVIDE_FEEDBACK":"och ge feedback på våra sociala mediekanaler.","WEBSITE_BETA_TESTING_PROGRAM":"Beta-testprogram","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Delta i vårt betatestprogram (vi skickar ut inbjudningar regelbundet) i Stremio-communityt","WEBSITE_JOIN_NOW":"Gå med nu!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Officiella Stremio-communityn","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Inofficiella Stremio-communityn","WEBSITE_BECOME":"Bli","WEBSITE_A_VOLUNTEER_TRANSLATOR":"en frivillig översättare","WEBSITE_ARE_YOU_A_DEVELOPER":"Är du en utvecklare?","WEBSITE_CONTRIBUTE_CODE":"Du kan bidra med kod till våra projekt med öppen källkod. Vi har flera projekt på GitHub som söker bidragsgivare. Om du är intresserad av att hjälpa till, kolla in dem:","WEBSITE_STREMIO_ON_GITHUB":"Stremio på GitHub","WEBSITE_CREATE_ADDON_DESC":"Skapa ett tillägg för att förbättra Stremios funktionalitet (vi har ett lättanvänt API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Vi ger också möjligheten att gå med oss ​​som en intern utvecklare så att vi kan växa tillsammans.","WEBSITE_APPLY_AS_AN_INTERN":"Ansök som praktikant","WEBSITE_CALLING_ALL_ARTISTS":"Uppmaning till alla konstnärer!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Visa upp din kreativitet och kärlek till Stremio genom att ladda upp din fankonst till vårt onlinegalleri. Oavsett om det är en ritning, målning eller digital design vill vi se din unika syn på Stremio-varumärket. Gå med i vår gemenskap av konstentusiaster och dela ditt arbete med andra Stremio-fans runt om i världen.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio-fankonstgalleri","WEBSITE_INTERN_DESIGNER":"Bli en del av vårt team och ta din kreativitet till nya höjder med våra spännande praktikmöjligheter.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies-projekt","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"På Stremio är vi engagerade i att bevara film- och TV-historien genom att identifiera filmer och videor som är allmän egendom eller föräldralösa. Genom att arbeta tillsammans med vår community kan vi se till att dessa klassiska konstverk är tillgängliga för alla och skyddade för framtida generationer att njuta av.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Kontakta oss gärna om du vill engagera dig i det projektet.","WEBSITE_JOIN_THE_PROJECT":"Gå med i projektet","WEBSITE_BE_PART_OF_OUR_MISSION":"Bli en del av vårt uppdrag","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Intresserad av att gå med i Stremio-teamet? Vi erbjuder helt distansarbete för passionerade proffs. Kolla in våra lediga tjänster.","WEBSITE_OPEN_POSITIONS":"LEDIGA TJÄNSTER","WEBSITE_DESCRIPTION":"BESKRIVNING","WEBSITE_LEARN_MORE":"Läs mer","WEBSITE_COMPANY":"Företag","WEBSITE_CONTACTS":"Kontakter","WEBSITE_NEED_HELP":"Behöver du hjälp?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide för Stremio Web på iOS","WEBSITE_LINK_ART_V2":"Fanart-galleri","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Titta direkt","WEBSITE_SLOGAN_ALL":"Allt videoinnehåll du tycker om på ett ställe","WEBSITE_SLOGAN_NEW":"Allt du kan titta på","WEBSITE_SLOGAN_NEW_NEW":"Frihet att streama","WEBSITE_WATCH_FROM":"Titta från","WEBSITE_DOWNLOAD":"Ladda ner nu","WEBSITE_DOWNLOAD_FOR":"Ladda ner nu för","WEBSITE_IS_DESKTOP":"Stremio är en skrivbordsapplikation, öppna denna sida på din dator och ladda ner den","WEBSITE_DESKTOP_DEMO_VID":"Skrivbordsdemo","WEBSITE_PAGE_HOME":"Hem","WEBSITE_PAGE_FEATURES":"Funktioner","WEBSITE_PAGE_ADDONS":"Tillägg","WEBSITE_PAGE_TECH":"Teknologi","WEBSITE_PAGE_CREATE_ADDON":"Skapa ett tillägg","WEBSITE_PAGE_CONTACTS":"Kontakter","WEBSITE_PAGE_BLOG":"Blogg","WEBSITE_RESET_PASSWORD_MESSAGE":"Vänligen ange ditt önskade nya lösenord nedan.","WEBSITE_RESET_PASSWORD_WARNING":"Är du säker på att du vill återställa lösenordet för ${1}?","WEBSITE_TYPE_movie":"Filmer","WEBSITE_TYPE_series_PL":"Serier","WEBSITE_TYPE_tv":"Live-TV","WEBSITE_TYPE_channel":"Kanaler","WEBSITE_STREMIO_WHAT_IS":"Stremio är en app som hjälper dig att organisera och omedelbart titta på dina favoritvideor, filmer, TV-serier och TV-kanaler.","WEBSITE_FEATURES_WATCH":"Titta direkt i HD","WEBSITE_FEATURES_WATCH_DETAIL":"Klicka och spela upp dina favoritfilmer, TV-program, videor och TV-kanaler.","WEBSITE_FEATURES_SUBS":"Automatiska undertexter","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio väljer automatiskt synkade undertexter för ditt språk.","WEBSITE_FEATURES_SUBS_LABEL":"Ditt drag, chefen.","WEBSITE_FEATURES_CAST":"Spela upp på TV:n & mobila enheter","WEBSITE_FEATURES_CAST_DETAIL":"Casta till AppleTV, Chromecast, Smart TV (DLNA/UPnP) och mobila enheter.","WEBSITE_LIB":"Njut av ditt personliga bibliotek synkroniserat på alla dina enheter","WEBSITE_LIB_COLLECT":"Samla från Stremio","WEBSITE_LIB_IMPORT":"Importera från Facebook","WEBSITE_LIB_LOCAL":"Lägg till från din lokala hårddisk","WEBSITE_BOARD":"Hem - Din samlingsplats för notifikationer och rekommendationer","WEBSITE_BOARD_RECOMMEND":"Rekommenderat TV-program","WEBSITE_BOARD_TRENDING":"Filmtrend","WEBSITE_BOARD_NEW":"Ny video","WEBSITE_BOARD_EPISODE":"Nytt avsnitt","WEBSITE_BOARD_1":"Letar du efter något intressant att titta på? Få rekommendationer baserat på din smak!","WEBSITE_BOARD_2":"Få ett meddelande när ett nytt avsnitt av ditt favoritprogram eller YouTube-kanal är ute!","WEBSITE_BOARD_YOUTUBE":"Nya videor på YouTube-kanaler","WEBSITE_BOARD_EPISODES":"Nya avsnitt av serier du följer","WEBSITE_ADDONS":"Innehållstillägg","WEBSITE_TECH_DETAIL":"Vi älskar teknologi, vi älskar galen forskning!\\nStremio använder följande öppen källkodsteknologier:","WEBSITE_TECH_WCJS":"WebChimera.js tillåter Stremio att spela upp alla videoformat med bra prestanda.","WEBSITE_TECH_WCJS_EXTRA":"Vi är huvudbidragsgivare till projektet","WEBSITE_TECH_ELECTRON":"Electron tillhandahåller en innovativ plattform att bygga Stremio med.","WEBSITE_TECH_ELECTRON_EXTRA":"Vi är bidragsgivare till projektet","WEBSITE_TECH_LINVODB":"En databasteknik som säkerställer att din data är organiserad och tillgänglig var du än loggar in.","WEBSITE_TECH_LINVODB_EXTRA":"Intern teknologi","WEBSITE_CREATE_ADDON":"Skapa ditt tillägg","WEBSITE_CREATE_ADDON_DETAIL":"Har du en tjänst som tillhandahåller videoinnehåll? Vi hjälper dig att dra nytta av Stremios funktioner genom att skapa din Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Fördelar med att skapa ett tillägg till Stremio","WEBSITE_P2P_BEAUTY":"Det sköna med strömmande via Peer-to-Peer","WEBSITE_P2P_1":"Pålitlig och prisvärd full HD / 4K-video på begäran eller livestreaming","WEBSITE_P2P_2":"Distributionsplattform som ger bra användarupplevelse","WEBSITE_P2P_3":"Vi kommer att skapa ett tillägg som möter dina specifika behov","WEBSITE_P2P_CONTACT":"Intresserad? Du är välkommen att <a href=\'mailto:office@stremio.com\'>kontakta oss</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Vi hjälper dig gärna att integrera ditt innehåll med Stremio!","WEBSITE_P2P":"Nu och då kommer det en teknologi som förändrar situationen. Vi investerade massor av tid och ansträngning för att bygga vår Peer-to-Peer (P2P) strömningsmotor för video som erbjuder bra prestanda and mångsidighet att anpassa sig med alla användningsområden.\\nKontakta oss för DRM-aktiverad P2P-video on demand eller live-sändning.","WEBSITE_THOUGHTS":"Tankar som vi delar:","WEBSITE_SPREAD":"Sprid ordet om Stremio:","WEBSITE_CONTACT":"Om du vill kontakta oss, gå vidare till","WEBSITE_OPENSOURCE":"För våra projekt med öppen källod, går till vår","WEBSITE_BITCOIN":"Donera bitcoin:","WEBSITE_FAQ":"Frekvent ställda frågor","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Frågor","WEBSITE_TOS":"Användningsvillkor","WEBSITE_LEGAL":"Lagligt","WEBSITE_PAGE_ABOUT":"Om","WEBSITE_PAGE_BECOME_PARTNER":"Bli en partner","WEBSITE_ALL_YOU_CAN_WATCH":"Friheten att se\\nAllt du vill.","WEBSITE_FREEDOM_TO_STREAM":"Frihet att streama","WEBSITE_WHAT_IS_STREMIO":"Vad är stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio är en central knutpunkt för sammanställning av videomaterial. Upptäck, organisera och se på video från alla möjliga källor på vilken enhet som helst som du äger.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmer, TV-program, serier, live-tv eller webbkanaler som YouTube och Twitch.tv – allt detta hittar du på Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio är ett modernt mediacenter som är en enda lösning för din videounderhållning. Du upptäcker, tittar på och organiserar videoinnehåll från tillägg som är lätta att installera.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmer, tv-program, live-tv eller webbkanaler - hitta allt detta på Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Njut av på alla dina mediaenheter","WEBSITE_DEVICES_COLLECT":"Hämta från Stremio","WEBSITE_DEVICES_IMPORT_FB":"Importera från facebook","WEBSITE_DEVICES_LOCAL":"Lägg till från lokal enhet","WEBSITE_JOIN_THE_PARTY_NOW":"Gå med i festen nu","WEBSITE_DEVICES_ALL":"Lätt att använda på alla dina enheter;","WEBSITE_EXTENDABLE_CATALOG":"Oändligt utbyggbar videokatalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Fantastiska funktioner för att organisera dina medier;","WEBSITE_AS_SEEN_ON":"Som sett på","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Om oss","WEBSITE_LINK_TECHNOLOGY":"Teknologi","WEBSITE_LINK_APPS":"Appar","WEBSITE_LINK_DOWNLOADS":"Nedladdningar","WEBSITE_MORE":"Mer","WEBSITE_LINK_ADDONS":"Tillägg","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Bidra","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blogg","WEBSITE_MORE_MORE":"... & mer","WEBSITE_LINK_HELP":"Hjälpcenter","WEBSITE_LINK_CONTACTS":"Kontakta oss","WEBSITE_LINK_TOS":"Allmänna villkor","WEBSITE_LINK_PRAVACY":"Integritetspolicy","WEBSITE_SUBSCRIBE":"Prenumerera","WEBSITE_NEWSLETTER":"Gå med i vårt nyhetsbrev för fantastiska saker","WEBSITE_PLACEHOLDER_EMAIL":"Din e-post","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Integritet & juridik","WEBSITE_WHY":"Varför vi gör det","WEBSITE_WHY_P1":"På Stremio kommer vi till jobbet varje dag för att vi vill lösa ett viktigt problem inom video-on-demand-industrin. Det publiceras så mycket nytt innehåll varje minut att det är praktiskt taget omöjligt att hitta rätt i det.","WEBSITE_WHY_P2":"Vi hjälper människor att navigera i den enorma världen av videounderhållning och upptäcka nytt innehåll att njuta av. Våra appar samlar filmer, serier, live-TV, webbkanaler och mer. Vi är dedikerade till att göra det otroligt enkelt för användare att hitta titlar och sändningar som de älskar.","WEBSITE_WHY_P3":"Du kan använda vår tjänst på vilken enhet som helst och när som helst, vilket gör Stremio till den enda underhållningscentralen för video du någonsin kommer att behöva.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"Stremio-teamet är litet men kraftfullt: mellan de tio av oss kodar vi på X språk och delar expertis inom mjukvaruutveckling, UI och UX-design, marknadsföring och reklam, samt affärsverksamhet och startups.","WEBSITE_FEATURES":"Funktioner","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Upptäck enkelt nytt innehåll","WEBSITE_FEATURES_DISCOVER_P":"Upptäck enkelt nya filmer, TV-program, serier och kanaler att titta på. Bläddra efter kategori, genre, betyg, senaste nytt, etc. eller skriv helt enkelt ett namn för att hitta. Stremio gör det enkelt att hitta nytt videoinnehåll.","WEBSITE_FEATURES_ALL_CONTENT":"Allt ditt videoinnehåll på en skärm","WEBSITE_FEATURES_ALL_CONTENT_P1":"Se vilka filmer, serier eller videor du inte har avslutat och fortsätt titta på dem; få notifikationer för nya avsnitt och släpp; och bläddra igenom rekommendationerna du får baserat på dina tittarvanor.","WEBSITE_FEATURES_LIBRARY":"Organisera ditt videobibliotek","WEBSITE_FEATURES_LIBRARY_P1":"Lägg till vilken titel som helst till ditt Stremio-bibliotek med ett enda klick och hitta rätt i ditt innehåll, prydligt ordnat efter typ, aktualitet eller alfabetisk ordning.","WEBSITE_FEATURES_CALENDAR":"Håll koll på allt du tittar på","WEBSITE_FEATURES_CALENDAR_P1":"Få en kalendervisualisering av alla filmer och serier du lägger till i ditt bibliotek. Exportera din Stremio-kalender och synkronisera den så att du alltid vet när ett nytt avsnitt eller en premiär kommer.","WEBSITE_FEATURES_BIG_SCREEN":"Njut av ditt videoinnehåll på en större skärm","WEBSITE_FEATURES_BIG_SCREEN_P1":"Casta vad du än tittar på till en annan enhet – oavsett om det är en telefon, surfplatta eller en TV med ett enda klick.","WEBSITE_FEATURES_SOURCES":"Se video från många olika källor","WEBSITE_FEATURES_SOURCES_P":"Installera officiella tillägg och community-tillägg för att njuta av video från många olika leverantörer - allt i en snygg, lättanvänd app.","WEBSITE_CREATE_AN_ADDON":"Skapa ett tillägg","WEBSITE_FEATURES_SYNC":"Synkronisera ditt bibliotek mellan olika enheter och återuppta uppspelningen","WEBSITE_FEATURES_SYNC_P1":"Logga in med ditt konto på alla dina enheter och njut av ditt bibliotek, tillägg, uppspelning och kalender synkroniserat.","WEBSITE_FEATURES_EXTENDABLE":"Utbyggbar videokatalog genom tillägg","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio-tilläggskatalogen tillhandahåller ett antal tillägg att installera och titta på en mängd olika videoinnehåll från. Detta inkluderar filmer, program, live-TV, sport, nyheter, podcaster, webbkanaler, videospel och mer.","WEBSITE_FEATURES_AUTO_SUBS":"Automatiska undertexter","WEBSITE_FEATURES_AUTO_SUBS_P1":"Med våra undertexttillägg får du automatiskt valda alternativ för ditt föredragna språk.","WEBSITE_FEATURES_CHROMECAST":"Castar till Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Njut av ditt videoinnehåll på en större skärm eller bara casta vad du tittar på till en annan enhet.","WEBSITE_FEATURES_KEEP_TRACK":"Håll koll på dina favoritprogram och webbkanaler","WEBSITE_FEATURES_KEEP_TRACK_P1":"Få en kalendervisualisering och aviseringar för nya avsnitt av dina favoritserier och webbkanaler.","WEBSITE_FEATURES_POWER_USER":"Funktioner för avancerade användare","WEBSITE_FEATURES_POWER_USER_P1":"Spela i extern spelare","WEBSITE_FEATURES_POWER_USER_P2":"Spela från en torrentfil eller magnetlänk","WEBSITE_FEATURES_POWER_USER_P3":"Importera till ditt bibliotek från Facebook-gilla-markeringar eller lokal disk","WEBSITE_ADD_ONS":"Tillägg","WEBSITE_ADD_ONS_P1":"Allt videoinnehåll Stremio tillhandahåller hämtas via ett tilläggssystem - inget innehåll eller innehållsleverantör har byggts in i appen.","WEBSITE_ADD_ONS_P2":"Det finns två grupper av tillägg tillgängliga: officiella och community-tillägg.","WEBSITE_ADD_ONS_P3":"De officiella är utvecklade och värdar av Stremio, medan community-tillägg skapas av våra community-medlemmar, som också är värdar för dem.","WEBSITE_ADDONS_OFFICIAL":"Officiella tillägg","WEBSITE_ADDONS_WATCHUB":"Strömma dina favoritfilmer, serier och program från leverantörer som iTunes, Hulu, Amazon och andra tjänster i Storbritannien/USA.","WEBSITE_ADDONS_YOUTUBE":"Titta på dina favoritkanaler på YouTube utan annonser och få aviseringar om nya uppladdningar från de bidragsgivare du följer.","WEBSITE_ADDONS_FILMON":"Titta på live-TV, filmer och interaktiv television gratis. 600 TV-kanaler, 45 000 gratisfilmer, dokumentärer och mer.","WEBSITE_ADDONS_OPENSUBTITLES":"Undertexter för filmer och serier på flera språk, tusentals översatta undertexter laddas upp varje dag.","WEBSITE_ADDONS_COMMUNITY":"Community-tillägg","WEBSITE_ADDONS_FILMON_VOD":"Titta på video på begäran från Filmon.tv","WEBSITE_ADDONS_TWICH":"Se liveströmmar från Twitch.tv - en videostreamingplattform för e-sportbranschen.","WEBSITE_ADDONS_VODO":"Se indiefilmer helt gratis.","WEBSITE_ADDONS_NETFLIX":"Se Netflix-filmer och webbserier.","WEBSITE_ADDONS_CREATE":"Skapa ett tillägg","WEBSITE_ADDONS_CREATE_P1":"Om du vill kan du utveckla ditt eget tillägg. På så sätt kan du ge dig själv och vår community tillgång till nytt videoinnehåll och nå en ny målgrupp med miljontals användare runt om i världen.","WEBSITE_ADDONS_START_CREATE":"För att komma igång, besök Stremio Addon SDK-sidan:","WEBSITE_DOWNLOADS":"Nedladdningar","WEBSITE_DOWNLOADS_P1":"För optimal prestanda rekommenderar vi att du använder den senaste tillgängliga versionen av Stremio-apparna. Om du dock av någon anledning skulle vilja använda en äldre version kan du ladda ner den här.","WEBSITE_DOWNLOADS_P1_SHORT":"För optimal prestanda rekommenderar vi att du använder den senaste tillgängliga versionen av Stremio-apparna.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio för Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio för macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio för Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio för Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio för Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio för Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio för Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio för iOS","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio för Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio för LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio för Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio för Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio för Ocolus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio för Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio för Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio för Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio för Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio för webbläsare","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Sök efter Stremio i App Store för 2019+ Samsung TV-modeller","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Sök efter Stremio i App Store för 2020+ LG TV-modeller","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Sök efter Stremio i Play Store-appen på Sony TV med Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Sök efter Stremio i Play Store-appen på Philips TV med Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Sök efter Stremio i appbutiken på Philips TV med TitanOS (begränsad version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Sök efter Stremio i App Store på din Xbox-enhet","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide för Stremio OS på RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Ladda ner Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service är en kompletterande app för Stremio Web. Vi rekommenderar att du använder den senaste tillgängliga versionen av Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service för Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service för macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service för Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service för Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio för Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Fler nedladdningsalternativ","WEBSITE_DOWNLOAD_NEW":"Nytt!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Vi har släppt Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Vi har släppt Stremio för Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Vi har släppt Stremio för LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Vi har släppt Stremio för Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Vi har släppt Stremio för Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Vi har släppt Stremio 5 för Windows","WEBSITE_CONTRIBUTE":"Bidra","WEBSITE_CONTRIBUTE_P1":"Stremio-plattformen är öppen källkod och du kan enkelt skapa ett tillägg för innehåll som för närvarande inte tillhandahålls.","WEBSITE_CONTRIBUTE_WHY":"Varför ska du skapa ett tillägg?","WEBSITE_CONTRIBUTE_WHY_P1":"Nå ny publik för ditt videoinnehåll","WEBSITE_CONTRIBUTE_WHY_P2":"Stremios användarbas växer snabbt - under det första året efter lanseringen hade Stremio fått 1 miljon användare runt om i världen, och under det andra året av plattformens existens växte detta antal till 2,5 miljoner.","WEBSITE_CONTRIBUTE_WHY_P3":"Med ditt tillägg kan du enkelt nå denna publik och distribuera ditt videoinnehåll till dem.","WEBSITE_CONTRIBUTE_ALL":"Se dina favoritfilmer, videor, serier och kanaler på ett enda ställe.","WEBSITE_CONTRIBUTE_ALL_P1":"Är du ett fan av en speciell typ av innehåll som ännu inte finns tillgängligt på Stremio? Skapa ett tillägg för det och njut av att titta på dina favoritvideor i en av de största och enklaste underhållningscentralerna på marknaden.","WEBSITE_CONTRIBUTE_ALL_P2":"Dessutom kommer du att få oändlig tacksamhet från andra likasinnade medlemmar i Stremio-communityt.","WEBSITE_CONTRIBUTE_MONETIZE":"Tjäna pengar på ditt tillägg och tjäna pengar med dess hjälp","WEBSITE_CONTRIBUTE_MONETIZE_P1":"När du väl utvecklat ett nytt tillägg för Stremio kan du enkelt tjäna pengar på det på ett antal olika sätt. Om du funderar på detta, hör gärna av dig till oss på ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - vi skulle gärna rådgöra och ge dig råd om alternativ för intäktsgenerering för tillägg.","WEBSITE_CONTRIBUTE_TRANSLATE":"Bli en frivillig översättare","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Om du vill njuta av Stremio-apparna på olika språk kan du gå med i vår gemenskap av frivilliga översättare. De hjälper oss att lägga till versioner av Stremio på många olika språk.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Är du sugen på att komma igång?","WEBSITE_TRANSALTE_STREMIO":"Översätt Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Officiella communityn","WEBSITE_COMMUNITY_OFFICIALS_P1":"Bli en del av den växande Stremio-communityn. Följ oss på sociala medier och var inte blyg för att säga hej - vi älskar att höra från våra fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Inofficiella communityn","STREMIO_COMMUNITY_NL":"Stremio Nederländerna","STREMIO_COMMUNITY_BRASIL":"Stremio Brasilien","STREMIO_COMMUNITY_GERMANY":"Stremio Tyskland","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgien","STREMIO_COMMUNITY_FRANCE":"Stremio Frankrike","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italien","STREMIO_COMMUNITY_UK":"Stremio Storbritannien","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexiko","STREMIO_COMMUNITY_ADDONS":"Stremio Tillägg","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Fantastiska Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners och supportrar","WEBSITE_COMMUNITY_GOODIES":"Stremio-godis","WEBSITE_COMMUNITY_WALLPAPERS":"Bakgrundsbilder","WEBSITE_COMMUNITY_ART":"Communityns konstgalleri","WEBSITE_LINK_ART":"Communityns konstgalleri","WEBSITE_CONTACT_US":"Kontakta oss","WEBSITE_CONTACT_US_P1":"Om du har några frågor, kommentarer eller förslag är du välkommen att kontakta oss via kontaktformuläret nedan.","WEBSITE_CONTACT_US_P2":"Tänk på att vi finns i Bulgarien så det kan bli en fördröjning med att lösa din fråga på grund av tidszonsskillnader.","WEBSITE_CONTACT_US_SUCCESS":"Ditt meddelande har skickats. Vi återkommer till dig så fort vi kan.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Vänligen ange en giltig e-postadress!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Vad är din fråga relaterad till?","WEBSITE_CONTACT_US_Q_OS":"Vad är ditt operativsystem?","WEBSITE_CONTACT_US_PH_EMAIL":"Din e-post","WEBSITE_CONTACT_US_PH_MESSAGE":"Meddelande","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SKICKA","WEBSITE_CONTACT_US_Q_1":"Hur man installerar?","WEBSITE_CONTACT_US_Q_2":"Hur man avinstallerar?","WEBSITE_CONTACT_US_Q_3":"(HTML) Hur gör man lasagne?","WEBSITE_CONTACT_US_Q_4":"Tillägg","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknologi","WEBSITE_TECHNOLOGY_P1":"Vi älskar teknik och galen vetenskap. </br> Här är vad som driver Stremio (allt är öppen källkod).","WEBSITE_TECHNOLOGY_P_QT":"Plattformsoberoende mjukvaruutveckling när den är som bäst.","WEBSITE_TECHNOLOGY_P_MPV":"En gratis, öppen källkod och plattformsoberoende mediaspelare.","WEBSITE_TECHNOLOGY_P_RN":"React Native låter dig bygga mobilappar med endast JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Mediaramverk inbäddat i applikationen för att få multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm är en mobil plattform och en ersättning för SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js är en JavaScript-runtimemiljö med öppen källkod, plattformsoberoende.","WEBSITE_TECHNOLOGY_P_RUST":"Rust är ett programmeringsspråk med flera paradigmsystem fokuserat på säkerhet, särskilt säker samtidighet.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Bidra till projektet","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Det finns två sätt du kan bidra till Stremio och hjälpa oss att göra produkten ännu bättre.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Du kan donera dina värdefulla språkkunskaper genom att översätta plattformen...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"eller","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... du kan använda dina programmeringskunskaper för att skapa community-tillägg. ","WEBSITE_TRANSLATE_STREMIO":"Översätt Stremio","WEBSITE_404_OH_NO":"Hoppsan! Sidan du letar efter finns inte här...","WEBSITE_GO_HOME":"Gå hem","WEBSITE_LINK_OTHER_DOWNLOADS":"Andra nedladdningar","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Ladda ner Stremio 4 beta nu","WEBSITE_GET_FOR_DESKTOP":"Hämta för skrivbordet","WEBSITE_LINK_ADDON_COMPETITION":"Tilläggstävling","WEBSITE_LINK_ART_CONTEST":"Konsttävling","WEBSITE_MY_ACCOUNT":"Mitt konto","WEBSITE_MAINPAGE_FAQ_001_H1":"Vad är Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio är ett modernt mediacenter som ger dig friheten att se allt du vill.","WEBSITE_MAINPAGE_FAQ_002_H1":"Hur fungerar det?","WEBSITE_MAINPAGE_FAQ_002_P1":"När du väl har installerat Stremio på din enhet och skapat ett konto är allt du behöver göra att besöka tilläggskatalogen och installera vilket tillägg du vill, och du är igång!","WEBSITE_MAINPAGE_FAQ_002_P2":"Efter det kan du gå till Upptäck- eller Hem-sektionerna för att börja utforska innehåll.","WEBSITE_MAINPAGE_FAQ_003_H1":"Vad kan jag se här?","WEBSITE_MAINPAGE_FAQ_003_P1":"Mycket: filmer, tv-program, webbkanaler, sport, tv-kanaler, lyssna på podcaster och mer. Tack vare vårt tilläggssystem kan du få tillgång till en mängd olika innehåll.","WEBSITE_MAINPAGE_FAQ_004_H1":"Är Stremio öppen källkod?","WEBSITE_MAINPAGE_FAQ_004_P1":"Ja, du kan kolla följande länkar: ${1}skrivbordsapp${2} och ${3}GitHub-organisation${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Är Stremio säker?","WEBSITE_MAINPAGE_FAQ_005_P1":"Ja: eftersom det är programvara med öppen källkod är koden offentligt granskbar och du kan granska den själv.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremios tilläggssystem skapades också med användarens säkerhet i åtanke. Tilläggen kör ingen kod lokalt, så de utgör inga risker för din enhet.","WEBSITE_MAINPAGE_FAQ_006_H1":"Hur är det med min integritet?","WEBSITE_MAINPAGE_FAQ_006_P1":"Vi respekterar användarnas integritet och samlar inte in några personuppgifter utöver det absolut nödvändiga minimum för att skapa och synkronisera ditt konto.","WEBSITE_MAINPAGE_FAQ_006_P2":"Det finns också ett ${1}Gästläge${2} vid registrering, som inte kräver några data alls: i detta läge görs inga anrop till vår backend. Detta innebär dock att vissa användbara funktioner, såsom att kunna synkronisera ditt bibliotek mellan enheter, inte är tillgängliga.","WEBSITE_MAINPAGE_FAQ_007_H1":"Kan jag casta till min TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Ja, vi stöder Chromecast och du kan casta både från stationära och mobila appar (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Hur många tillägg har Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"I slutet av 2019, över 50 - för mer information, kolla vår tilläggskatalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Kan Stremio utökas utöver vad som finns i tilläggskatalogen?","WEBSITE_MAINPAGE_FAQ_009_P1":"Ja, du bör kolla in dessa: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"Vilka enheter stöder Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"Vi har skrivbordsappar för Windows, Mac och Linux. För mobiler stöder vi Android och iOS, men kom ihåg att iOS är begränsad i funktionalitet (stöder inte de flesta tillägg).","WEBSITE_MAINPAGE_FAQ_010_P2":"Det finns många Android-baserade enheter som du kan köra Stremio på, som NVIDIA Shield och Amazon Fire Stick, men vi stöder dem inte officiellt.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Vi har skrivbordsappar för Windows, Mac och Linux. Vi har även dedikerade appar för Android Mobil och Android TV. För iOS och iPadOS föreslår vi att använda Stremio Web, även om det är mer begränsat i funktionalitet.","WEBSITE_MAINPAGE_FAQ_011_H1":"Kan du lägga till visst innehåll i Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Tyvärr, vi tillhandahåller inget innehåll själva, men ju fler Stremio-tillägg du har installerat, desto mer innehåll kommer du att kunna hitta.","WEBSITE_MAINPAGE_FAQ_012_H1":"Kan Stremio spela magnetlänkar?","WEBSITE_MAINPAGE_FAQ_012_P1":"Ja, och det kan också spela vanliga HTTP-länkar och torrentfiler (dra och släpp).","WEBSITE_MAINPAGE_FAQ_013_H1":"Kan jag ladda ner en video och titta offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Tillgänglighet offline är en kommande funktion, men om du tillåter Stremio att cacha på din enhet (från inställningspanelen) kan du titta på videorna senare utan en anslutning.","WEBSITE_MAINPAGE_FAQ_014_H1":"Inget fungerar, hjälp mig!","WEBSITE_MAINPAGE_FAQ_014_P1":"Är du säker på att du har installerat tillägg? Om ja, kolla med vårt ${1}hjälpcenter${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"Hur upprätthåller Stremio sin utvecklingsverksamhet?","WEBSITE_MAINPAGE_FAQ_015_P1":"Vi visar icke-påträngande annonser då och då, men vi överväger att gå över till en donationsmodell.","WEBSITE_MAINPAGE_FAQ_015_P2":"För fler frågor, gå till vårt ${1}hjälpcenter${2}.","HELP_LEARN_MORE":"Hjälp oss att lära oss mer om dig.","LIFESTYLE":"Livsstil","SPORTS":"Sport","FOOD_HEALTH":"Mat & Hälsa","BEAUTY_FASHION":"Skönhet & Mode","NEWS":"Nyheter","GAMING":"Spel","SCIENCE_EDUCATION":"Vetenskap & Utbildning","MUSIC":"Musik","TRAVEL":"Resor","LATE_NIGHT":"Sent på natten","REALITY":"Reality","COMEDY":"Komedi","DIY":"Gör-det-själv","TECH":"Teknik","CINEMA":"Film","CONTINUE":"Fortsätt","SLOW_LOADING":"LÅNGSAM LADDNING?","I_GIVE_UP":"JAG GER UPP","LEARN_MORE":"Lär dig mer","POOR_SOURCE":"Denna källa är dåligt tillgänglig eller din internetanslutning är inte tillräckligt snabb","PICK_CATEGORIES_ERR":"Du måste välja minst 3 kategorier","ADJUST_TIMING":"Justera timing med ","ADJUST_SIZE":"Justera storlek med ","SEARCH_ANYTHING":"Du kan söka på vad som helst...","ALL_CATEGORIES":"Alla","SEARCH_CATEGORIES":"Filmer, Serier, YouTube & TV","SEARCH_PERSONS":"Skådespelare, Regissörer & Författare","SEARCH_PROTOCOLS":"HTTP- och Magnetlänkar","SEARCH_TYPES":"IMDB / TVDB-länkar","WATCHED":"Sedd","SHOW_LESS":"Visa mindre","LAST_SEARCHES":"Senaste sökningar","CLEAR_HISTORY":"Rensa historik","CHOOSE_SOME":"VÄLJ NÅGOT AV DETTA:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Webb-fjärrkontrollen kunde inte laddas","STREMIO_OFFLINE":"Stremio är offline","STREMIO_EXPENSIVE_CONNECTION":"Vi har upptäckt att du använder en mobil dataanslutning, vill du fortsätta?","USE_DATA":"Använd data","WARNING":"Varning","MORE_INFO":"Mer information ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Laddar ...","STREMIO_TV_BACK_TO_LANGUAGES":"Tillbaka till språk","STREMIO_TV_REMOTE":"Fjärrkontroll","STREMIO_TV_GO_TO":"Gå till:","STREMIO_TV_OR_SCAN":"eller skanna:","STREMIO_TV_ADDON_INSTRUCTIONS":"Var god följ instruktionerna för att installera dina föredragna tillägg.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Återuppta tittande","STREMIO_TV_LOADING_BACKGROUND":"Laddar bakgrund","STREMIO_TV_CHECKING_AUTHENTICATION":"Verifierar autentisering","STREMIO_TV_LOADING_BOARD":"Läser in Hem","STREMIO_TV_LOGIN_HEADER_LINE_1":"Vi vill att våra användare ska ha den bästa möjliga personliga upplevelsen med vår programvara.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Av denna anledning ber vi dig att skapa och/eller logga in på ditt konto.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Tack för din förståelse,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Teamet hos Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"För att använda Webbfjärrkontrollen med din smartphone/surfplatta/dator:","STREMIO_TV_WIFI_SETUP":"Inställning av Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle har inte upptäckt en internetanslutning.","STREMIO_TV_WIFI_DETAILS_1":"Anslut till:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Använd lösenord:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Öppna en webbläsare med länken:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Standard","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Efter senast sedda","STREMIO_TV_LIBRARY_SORT_NAME":"Efter namn","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Efter namn fallande","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Efter tittade gånger","STREMIO_TV_LIBRARY_SORT_WATCHED":"Efter tittat","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Efter inte tittat","STREMIO_TV_DETAILS_SEASON_NUMBER":"Säsong ${1}","STREMIO_TV_STREAMS_LOADING":"Laddat ${1} / ${2} tillägg...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} tillägg laddar fortfarande...","STREMIO_TV_PLAYER_SETTINGS":"Spelarinställningar","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Undertextfördröjning","STREMIO_TV_PLAYER_AUDIO_DELAY":"Ljudfördröjning","STREMIO_TV_PLAYER_VIDEO_SCALING":"Videoskalning","STREMIO_TV_PLAYER_CHAPTERS":"Kapitel","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Hoppa över ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Ostödd streamskälla","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Fel vid öppning av extern länk","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Inte justerbar i ljudpassthrough-läge","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Spela med ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Spela med libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Byter till libVLC-spelare på grund av ett uppspelningsfel","STREMIO_TV_ADDONS_TITLE":"Använd Stremio på din telefon eller dator för att installera eller konfigurera tillägg och tryck på \\"Synkronisera tillägg\\"","STREMIO_TV_ADDONS_SUBTITLE":"OBS! Se till att du använder samma Stremio-konto","STREMIO_TV_ADDONS_SYNC_ADDONS":"Synkronisera tillägg","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Tillägg har synkroniserats framgångsrikt","STREMIO_TV_ADDONS_SYNC_FAILED":"Synkronisering av tillägg misslyckades","STREMIO_TV_META_LINK_FAILED":"Misslyckades med att öppna metalänk","STREMIO_TV_CATALOG_LOADING":"Katalogen laddar fortfarande...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Språkgränssnitt uppdaterat","STREMIO_TV_SETTINGS_THEME_UPDATED":"Temat uppdaterat","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Standardspelare","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Extern spelare","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Förvalt språk","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Andrahandsspråk","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelerad uppspelning","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Eventuella uppspelningsproblem på vissa enheter","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Vissa videoformat kanske inte fungerar","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Matchning av bildrutehastighet","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Inaktiverat","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Endast bildrutehastighet","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Bildrutehastighet och upplösning","STREMIO_TV_SETTINGS_NO_CACHING":"Ingen cachning","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Standard","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Mjuk","STREMIO_TV_SETTINGS_PROFILE_FAST":"Snabb","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultrasnabb","STREMIO_TV_SETTINGS_SERVER_URL":"URL till streaming-server","STREMIO_TV_SETTINGS_SERVER_VERSION":"Serverversion","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Okänd","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio-version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Redigera server-URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Skriv in en URL till streaming-servern","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Visa statistik under inläsning","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"För att läsa Stremios integritetspolicy, besök:","STREMIO_TV_SETTINGS_TOS_TEXT":"För att läsa Stremios användarvillkor, besök:","STREMIO_TV_NAV_SEARCH":"Sök","STREMIO_TV_NAV_HOME":"Hem","STREMIO_TV_NAV_DISCOVER":"Upptäck","STREMIO_TV_NAV_LIBRARY":"Bibliotek","STREMIO_TV_NAV_MOVIES":"Filmer","STREMIO_TV_NAV_SERIES":"Serier","STREMIO_TV_NAV_CHANNELS":"Kanaler","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Inställningar","STREMIO_TV_NAV_ADDONS":"Tillägg","STREMIO_TV_LOGIN_TITLE":"Länka konto","STREMIO_TV_LOGIN_EXPIRES_IN":"Utgår om","STREMIO_TV_LOGIN_STEP_ONE":"Skanna QR-koden ovan eller gå till","STREMIO_TV_LOGIN_STEP_TWO":"Logga in på ditt Stremio-konto","STREMIO_TV_LOGIN_NEW_LINK":"Begär en ny länk","STREMIO_TV_LOGIN_LINK_REFRESHED":"Inloggningskoden uppdaterad","STREMIO_TV_SEARCH_PLACEHOLDER":"Skriv något","STREMIO_TV_SEARCH_NO_ADDONS":"Inga tillägg begärdes för kataloger!","STREMIO_TV_SEARCH_BUTTON":"Sök","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Rensa","STREMIO_TV_SEARCH_HISTORY_TITLE":"Sökhistorik","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Du kan söka efter titlar, skådespelare, kanaler och mer...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Rensa sökhistorik","STREMIO_TV_FILTERS_DESCRIPTION":"Välj ett av filtren nedan","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming-servern är offline. Kontrollera serverinställningarna.","FILTERS":"Filter","SETTINGS":"Inställningar","ACCOUNT":"Konto","LOGOUT":"Logga ut","THEMES":"Teman","PLAYBACK":"Uppspelning","PLAYBACK_SPEED":"Uppspelningshastighet","AUDIO_TRACKS":"Ljudspår","UNKNOWN_TRACK_LANG":"Okänt","VIDEOS":"Videor","SERVER":"Server","LINKS":"Länkar","ABOUT":"Om","INTERFACE":"Gränssnitt","ANIMATIONS":"Animationer","STATUS":"Status","LANGUAGE":"Språk","SIZE":"Storlek","DELAY":"Fördröjning","BOLD":"Fetstil","OPACITY":"Opacitet","TEXT_COLOR":"Textfärg","OUTLINE_COLOR":"Konturfärg","BACKGROUND_COLOR":"Bakgrundsfärg","BACKGROUND_BLUR":"Bakgrundssuddighet","SEEK_TIME_DURATION":"Söktidslängd","AUTO_PLAY":"Autouppspelning av nästa avsnitt","PLAY_NOW":"Spela nu","MARK_AS_WATCHED":"Markera som sedd","MARK_AS_UNWATCHED":"Markera som osedd","REWIND_TO_BEGINNING":"Spola till början","CONTINUE_WATCHING":"Fortsätt titta","ALL":"Alla","SECONDS":"sekunder","ON":"PÅ","OFF":"AV","RELOAD":"Ladda om","EDIT_URL":"Redigera URL","URL":"URL","NONE":"Ingen","EMBEDDED":"Inbäddad","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Byt enheter","REMOTE_VIDEOS":"Videor","REMOTE_ADJUST_TIMING":"Justera timing","REMOTE_ADJUST_SIZE":"Justera storlek","REMOTE_COULD_NOT_BE_LOADED":"Webb-fjärrkontroll kunde inte laddas","REMOTE_RETRY":"Försök igen","TORRENT_PROFILE_DEFAULT":"Standard","TORRENT_PROFILE_SOFT":"Mjuk","TORRENT_PROFILE_FAST":"Snabb","TORRENT_PROFILE_ULTRA_FAST":"Ultra snabb","MB_S":"MB/s","FAQ_001_H1":"Vad är Stremio?","FAQ_001_P1":"Stremio är en mediecentralprogramvara utformad för video-underhållning med användarvänlighet i åtanke. Stremio låter dig organisera och titta på din egen samling av filmer, serier, kanaler och live-TV.","FAQ_001_P2":"Stremio samlar in innehållet den visar dig från din lokala disk och vårt tilläggssystem.","FAQ_001_P3":"Den kommer också att meddela dig när nya avsnitt/videor/filmer som du är intresserad av kommer ut och ge dig filmrekommendationer.","FAQ_02_H1":"Hur jämför sig Stremio med Kodi och Plex?","FAQ_02_P1":"Vi är inspirerade av dessa två programvaror. Men vi har olika mål – Stremio är specifikt inriktat på underhållningsvideo och strävar efter att bli den vanliga lösningen för det genom att vara väldigt enkel att använda.","FAQ_02_P2":"Stremio kommer aldrig att vara så anpassningsbar och funktionsrik som Kodi och Plex, men det är betydligt enklare att använda. Bara ${1} skaffa det och se ${2} :)","FAQ_03_H1":"Hur jämför sig Stremio med Netflix?","FAQ_03_P1":"Återigen, Netflix är en av våra inspirationer. Vi strävar efter att uppnå användarupplevelsen av Netflix, plus en hel del extra godsaker. Men viktigast av allt, vi ger dig friheten att hantera ditt eget bibliotek och lägga till nya innehållskällor med vårt tilläggssystem.","FAQ_03_P2":"Det gör Stremio oändligt utbyggbart, så när du använder Stremio är du aldrig begränsad till innehållet som Netflix väljer att licensiera. Till exempel, genom Stremio kan du titta på innehåll från ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} och till och med ${9}Netflix${10} självt!","FAQ_04_H1":"Hur jämför sig Stremio med Flipboard?","FAQ_04_P1":"Vi får inte den frågan så ofta, förutom när vi pratar med start-up folk :)","FAQ_04_P2":"Stremio är av design en innehållsaggregator, vilket i princip gör det till Flipboard för video. Detta blir mycket tydligt i vår Hem-sektion, som ger dig kataloger och notifikationer om nya avsnitt/nya videor för det du följer, precis som Flipboard.","FAQ_05_H1":"Hur jämför sig Stremio med Popcorn Time?","FAQ_05_P1":"Stremio och Popcorn Time liknar varandra i användargränssnitt, eftersom det inte finns många sätt att göra videounderhållningskataloger rätt :)","FAQ_05_P2":"Men medan Popcorn Time fokuserar på att strömma torrents från specifika källor, är Stremio obegränsad och är bara en innehållsaggregator - den är inte låst till en specifik innehållskälla.","FAQ_05_P3":"Dessutom tillhandahåller vi inga torrent-tillägg som standard, så Stremio täcker inte Popcorn Time-användningsfallet med officiell funktionalitet.","FAQ_05_P4":"En annan anmärkningsvärd skillnad är att Popcorn Time är helt öppen källkod, medan Stremio är ${1} delvis öppen källkod${2}.","FAQ_06_H1":"Kommer du att lägga till den här filmen/serien?","FAQ_06_P1":"Nej, tyvärr :(","FAQ_06_P2":"Som nämns i de flesta andra frågorna, tillhandahåller Stremio inte något innehåll självt - allt läggs till genom tilläggssystemet. Om du har en förfrågan om innehåll kan du använda ”Rapportera”-knappen i spelaren, vilket kommer att skicka ett e-postmeddelande till utvecklaren av tillägget du för närvarande använder.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Kommer du att skapa tillägg för X?","FAQ_08_P1":"Det är fullt möjligt.","FAQ_08_P2":"Om du har en idé för ett tillägg, skicka oss ett meddelande på ${1}office@stremio.com${2}, men var vänlig och se till att din tilläggsidé inte bryter mot några upphovsrätter eller användarvillkor.","FAQ_08_P3":"För tillfället är de nästa punkterna på vår utvecklingsplan tillägg för FandangoNOW, Filmon.tv video på begäran och Crunchyroll.","FAQ_09_H1":"Använder Stremio BitTorrent?","FAQ_09_P1":"Ja, Stremio stöder BitTorrent som ett strömningsprotokoll. Du kan använda det antingen med ett torrenttillägg eller genom att dra och släppa en .torrent-fil i Stremio, eller genom att klistra in en magnetlänk i sökfältet.","FAQ_09_P2":"Observera att det enda officiella tillägget som använder BitTorrent är ${1}Vodo${2}, som tillhandahåller indieinnehåll, allt tillåtet att distribueras med BitTorrent.","FAQ_09_P3":"Vi stöder inte användningen av några tredjepartstillägg som kan möjliggöra upphovsrättsintrång.","FAQ_10_H1":"Vad kan jag titta på i Stremio med de officiella tilläggen?","FAQ_10_P1":"Som standard kan du titta på innehåll från Filmon.tv, YouTube och Vodo inom Stremio självt, med dess inbyggda spelare. Dessutom har vi ett tillägg för Twitch.tv och några andra.","FAQ_10_P2":"Detta ger tillsammans ett urval av:","FAQ_10_L1":"Populära TV-kanaler, tillhandahållna av Filmon.tv - till exempel E4, BBC, Bollyworld TV","FAQ_10_L2":"Allt från YouTube – till exempel BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indiefilmer med Vodo","FAQ_10_L4":"Online-spelsändningar med Twitch.tv","FAQ_10_P3":"Dessutom finns det många innehållskällor som tillhandahålls med Guidebox och Netflix-tilläggen, som <b>inte</b> spelas helt inuti Stremio, utan skulle omdirigera till den givna tjänsten. Till exempel skulle Guidebox-tillägget ge dig ett urval av filmer som du kan streama gratis i USA, från tjänster som TubiTV och Crackle.","FAQ_11_H1":"Stremio installeras inte, vad ska jag göra?","FAQ_11_P1":"Om du använder Windows, prova ${1}detta alternativa installationsprogram${2}.","FAQ_11_P2":"Om du använder Mac OS X, var medveten om att vi inte stöder något äldre än OS X Mavericks (10.9).","FAQ_11_P3":"Om du använder Linux, var medveten om att vi för tillfället endast stöder 64-bitars (x64) Linux.","FAQ_11_P4":"Om du fortfarande inte kan lösa ditt problem, vänligen skriv till oss i vår ${1}Facebook-grupp${2}.","FAQ_12_H1":"Varför klagar mitt antivirus? Är Stremio säkert?","FAQ_12_P1":"Vi försäkrar dig om att Stremio är ${1}100% säkert${2}.","FAQ_12_P2":"Ditt antivirusprogram klagar för att vi inkluderar annonsering i vårt installationsprogram, vilket vissa antivirusprogram uppfattar som adware.","FAQ_12_P3":"Om du fortfarande är osäker kan du prova vårt ${1}alternativa installationsprogram${2}.","FAQ_13_H1":"Hur gör jag ett tillägg?","FAQ_13_P1":"Till att börja med rekommenderar vi att du kollar vår ${1}addons-systemmodul${2} på GitHub.","FAQ_13_P2":"Därefter kan du följa ${1}Hello World-tutorialen${2}.","FAQ_13_P3":"Om du inte har några programmeringskunskaper, vänligen posta din idé på ${1}Reddit-communityt${2} och kontakta oss med din tilläggsidé på ${3}office@stremio.com${4}.","FAQ_14_H1":"Hur publiceras tillägg?","FAQ_14_P1":"När du skapar ett tillägg och värd, och lägger till ett <b>slutpunkt</b>-fält i din manifestfil, som pekar på en fungerande tilläggsadress, kommer tillägget automatiskt att publicera sig självt i vår ${1}Tilläggskatalog${2}.","FAQ_14_P2":"Detta händer eftersom serverdelen av stremio-tilläggsmodulen automatiskt gör ett anrop till vårt API för att meddela tillägget. När vårt API validerar din <b>slutpunkt</b> som ett giltigt tillägg kommer det att börja visas i katalogen.","FAQ_15_H1":"Kan jag köra Stremio i min webbläsare?","FAQ_15_P1":"Inte för tillfället, men det här kommer!","FAQ_15_P2":"Om du är nyfiken på att se en alfa kan du se den här: ${1}alpha4.strem.io${2}. Tänk på att streaming är inaktiverat på denna alfa. Vi stöder Chrome, Firefox, Opera och Edge.","FAQ_16_H1":"Casta till TV fungerar inte / undertexter fungerar inte","FAQ_16_P1":"Casting till TV använder DLNA-tekniken som är mycket inkonsekvent mellan olika TV-märken och modeller. Av den anledningen har vi inte möjlighet att testa det i alla fall, så det är långt ifrån perfekt. Trots detta arbetar vi på att förbättra det hela tiden men vi kan inte ge dig en tidsuppskattning av när DLNA kommer att börja fungera korrekt med din TV.","FAQ_16_P2":"Om du inte ens ser din TV i cast-menyn, försök att inaktivera din nätverksanslutning och återaktivera den (i Windows, högerklicka på nätverket och använd Aktivera/Inaktivera), samt starta om din router, TV och PC.","FAQ_16_P3":"Om du fortfarande stöter på problem kan du hjälpa oss genom att skicka information om ditt TV-märke och modell till ${1}office@stremio.com${2}.","FAQ_16_P4":"Under tiden rekommenderar vi Chromecast, som vi stöder mycket väl, eller helt enkelt koppla in din TV till din PC med en HDMI-kabel.","FAQ_17_H1":"Stremio fryser och/eller kraschar, vad kan jag göra?","FAQ_17_P1":"Först och främst, om du använder Windows 7 med AVG-antivirus: vi har ett problem med den kombinationen. Problemet ligger i själva AVG, och det finns inget rimligt sätt att lösa det från vår sida. Tyvärr fungerar inte undantag eller inaktivering av antivirusprogrammet. Den enda lösningen är att ersätta AVG med något annat.","FAQ_17_P2":"Om det inte är problemet, men du fortfarande använder Windows, uppdatera till det senaste Service Pack och uppdatera/installera om dina GPU-drivrutiner och försök sedan igen.","FAQ_17_P3":"Om ditt problem fortfarande inte är löst, eller om du använder en Mac eller Linux, skriv till oss och rapportera de exakta detaljerna om problemet på ${1}vår Facebook-grupp${2}.","FAQ_18_H1":"Hur gör jag ett tillägg?","FAQ_18_P1":"Till att börja med rekommenderar vi att du kollar vår ${1}addons-systemmodul${2} på GitHub.","FAQ_18_P2":"Efteråt kan du följa ${1}Hello World-tutorialen${2}.","FAQ_18_P3":"Om du inte har några programmeringskunskaper, vänligen posta din idé på ${1}Reddit-communityt${2} och kontakta oss med din tilläggsidé på ${3}office@stremio.com${4}.","FAQ_19_H1":"Varför tar Stremio diskutrymme?","FAQ_19_P1":"Stremio har en <b>lokal cache</b> för att tillfälligt behålla videofilerna du streamar.","FAQ_19_P2":"Detta har två fördelar: för det första tillåter det Stremio att förbuffra videon framåt för att säkerställa smidigare streaming. För det andra håller den videorna i den lokala cachen så att du kan fortsätta titta på dem offline.","FAQ_19_P3":"Hur mycket Stremio lagrar beror på <b>Cache</b>-inställningen i inställningspanelen. Stremio kan behålla upp till det inställda beloppet (t.ex. 2 GB) på din disk, såvida inte den för närvarande streamade videon är större än så, i vilket fall den måste tilldela tillräckligt med lagringsutrymme för att behålla den tills du streamar den.","FAQ_20_H1":"Var är cachemappen?","FAQ_20_P1":"På Windows är det stremio-cache på den enhet du valde i Inställningar (t.ex. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"På MacOS är det \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"På Linux är det \\"~/.stremio/stremio-cache\\" eller \\"~/stremio-cache\\"","FAQ_21_H1":"Jag får felmeddelandet \\"Streaming server is not found\\", vad kan jag göra?","FAQ_21_P1":"Om du får detta felmeddelande betyder det en av några saker:","FAQ_21_P2":"1) Du försöker använda ett tillägg som stöds av en YouTube/BitTorrent-källa, via vår ${1}webbversion${2}. I detta fall bör du installera vår skrivbordsversion från ${3}vår webbplats${4}.","FAQ_21_P3":"2) Något är fel med din Stremio-installation. I detta fall, försök att installera om vår senaste skrivbordsversion från ${1}webbplatsen${2}. Om detta inte hjälper, försök att inaktivera antivirusprogram och brandväggar, starta om din dator och försök igen. Om detta inte heller fungerar, vänligen skriv till oss i ${3}vår Facebook-grupp${4}.","FAQ_22_H1":"Jag kan inte se/använda de flesta tillägg på iOS","FAQ_22_P1":"På grund av begränsningar i villkoren för Apple App Store har vi begränsat iOS-applikationen till endast en viss uppsättning tillägg.","FAQ_22_P2":"Men var lugn - det kommer att finnas fler tillägg för iOS i framtiden, och vi kan även lägga till en integration som gör det möjligt för dig att använda alla Stremio-tillägg tack vare kopplingen av iOS-appen till Stremio Streaming Server."}')},61935:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"సినిమా","TYPE_series":"సిరీస్","TYPE_tv":"టీవీ ఛానల్","TYPE_channel":"ఛానల్","TYPE_other":"మరిన్ని","TYPE_movie_PL":"Movies","TYPE_series_PL":"Series","TYPE_tv_PL":"TV channels","TYPE_channel_PL":"Channels","TYPE_other_PL":"Others","TYPE_ALL":"All","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Video","BACK":"Back","MORE":"More","DONE":"Done","COPY":"Copy","SUCCESS":"Success","ERROR":"Error","SETTINGS_CASTING_MODE_PICKER":"Casting mode","CASTING_MODE_HLSV2":"Default","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"No transcoding","Discover":"Discover","Board":"Board","Library":"Library","My Library":"My Library","Calendar":"Calendar","NOTIFICATION_ONLINE":"You are now online","NOTIFICATION_OFFLINE":"You are currently offline","INTERNET_CONNECTION":"Network connection","STORAGE_FULL_TITLE":"Warning: Storage full!","STORAGE_FULL_TEXT":"Stremio will not be able to save your settings, preferences or login information. Consider re-starting or re-installing Stremio.","SEARCH":"search","SEARCH_NO_RESULTS":"No results were found","SEARCH_EXPLANATION_CONTENT":"Search for movies, series, YouTube and TV channels","SEARCH_EXPLANATION_PEOPLE":"Search for actors, directors and writers","SEARCH_PASTE_LINKS":"Paste HTTP and Magnet links","SEARCH_OR_PASTE_LINK":"Search or paste link","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Add to Library","REMOVE_FROM_LIB":"Remove from Library","ADDED_TO_LIB":"Added to Library","REMOVED_FROM_LIB":"Removed from Library","TRAILER":"Trailer","WATCH_TRAILER":"Watch Trailer","WATCH_NOW":"Watch Now","SHOW":"Show","SHOW_MOVIE":"Show Movie","WATCH_RANDOM":"Watch Random","IMDB_RATING":"IMDb Rating","YEAR":"Year","DIRECTOR":"Director","WRITER":"Writer","LEAD_ACTORS":"Lead Actors","CAST":"Cast","CREW":"Crew","SHOW_MORE_CAST":"Show more »","AIRED":"Aired","SEASONS":"Seasons","GENRE":"Genre","GENRE_ALL":"All genres","CATALOG":"Catalog","SUMMARY":"Summary","SHOW_MORE":"Show More","SIMILAR":"Similar","UPCOMING":"Upcoming","TBA":"TBA","ENDED":"Ended","DURATION":"Duration","FEATURED":"Featured","METADATA":"Metadata","CATEGORY":"category","LINKS_GENRES":"Genres","LINKS_CAST":"Cast","LINKS_DIRECTORS":"Directors","SEARCH_VIDEOS":"search videos","SEARCH_PLACEHOLDER":"search or paste URL","ADDON":"addon","ADDONS":"Addons","OFFICIAL":"official","ADDONS_OFFICIAL":"Official Stremio Addons","ADDONS_POPULAR":"Popular in your area","ADDON_FREE":"free","ADDON_PEERED":"peered","ADDON_SUBSCRIPTION":"subscription","ADDON_STREAM_GEORESTRICTED":"not available in your area","ADDON_STREAM_OFFLINECACHE":"Offline Cache","ADDON_STREAM_LOCALFILE":"Local File","SHARE_ADDON":"Share addon","AVAILABLE_STREAMS":"Available Streams","NO_STREAM":"No streams were found","ALL_ADDONS":"All","INSTALL_MORE_ADDONS":"For more streams, please install more addons","STREAM_NOT_SUPPORTED":"Selected stream is not supported on this platform.","ADDON_CATALOGUE":"Show all addons »","ADDON_CATALOGUE_MORE":"Install addons","REPO_ADDED":"Repository added","ADDON_REPO_EXIST_ERR":"This addons collection already exist","ADDON_REPO_ERR":"Error occurred while adding collection","ADDON_ADD_ERR":"Error occurred while adding addon","ERR_ADDON_PROTECTED":"Cannot uninstall addon, it is protected","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Something went wrong - authentication may have failed","ERR_NOT_COLLECTION_URL":"Not a collection URL","ERR_NOT_ADDON_URL":"Not a valid addon URL","ERR_DETECTFROMURL":"Cannot find addon/collection from this URL","ADDON_DUPLICATE_WARNING":"Warning: duplicated addon","ADDON_COLLECTION_SET_FAILED":"Syncing installed addons to your account failed","SETTINGS_DATA_EXPORT":"Export user data","ADDON_PULL_FAILED":"Syncing installed addons from your account failed","REFRESH_ON_CLICK":"Click to retry","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Movie still in theaters","WATCH_IN_CINEMA":"Watch it in your local cinema","IN_THEATER":"In cinema","GET_TICKETS":"Get tickets","UPCOMING_EPISODE":"Upcoming episode","UPCOMING_EPISODE_MESSAGE":"This episode will be aired on","MISSING_DATE_EPISODE":"Missing episode date","MISSING_DATE_EPISODE_MESSAGE":"This episode might not have aired yet","CHANNEL_NOT_SCRAPED":"This channel is not scraped yet.<br>Please come back in a few minutes.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Add it to your library to get notified once it is available.","GET_NOTIFIED_WHEN_AVAILABLE":"You will get notified once it is available.","WARNING_STREAMING_SERVER":"Warning: local streaming server not found. Streaming from local files, YouTube and BitTorrent will not be available.","WARNING_STREAMING_SERVER_DISMISS":"Dismiss","WARNING_STREAMING_SERVER_LATER":"Later","DECODER_WARNING":"Warning: this video may not be supported by your hardware. Keep in mind, playback may be slow.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Oops, Player Error","PLAYER_ERROR_LOOKSLIKE":"It looks like","PLAYER_ORIENTATION":"Player orientation","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Locked","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensor","PLAYER_ORIENTATION_LANDSCAPE":"Player orientation locked at landscape","PLAYER_ORIENTATION_SENSOR":"Player orientation automatic (sensor)","PLAYER_PLAYBACK_SPEED":"Playback Speed","PLAYER_PLAYBACK_ERROR":"Playback error, please try again","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Unknown error","PLAYER_PLAYBACK_ERROR_DEFAULT":"Sorry, this video cannot be played by {{productName}}.","PLAYER_SUBTITLES_LANGUAGES":"Subtitles Languages","PLAYER_SUBTITLES_VARIANTS":"Subtitles Variants","PLAYER_SUBTITLES_SETTINGS":"Subtitles Settings","PLAYER_SUBTITLES_DISABLED":"Subtitles are disabled","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vertical Position","PLAYER_SUBTITLES_LOADED":"Subtitles loaded","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Embedded subtitles loaded","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Exclusive subtitles loaded","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Subtitles from {{origin}} loaded","PLAYER_PLAY":"Play","PLAYER_PAUSE":"Pause","PLAYER_NEXT_VIDEO":"Next Video","PLAYER_MUTE":"Mute","PLAYER_UNMUTE":"Unmute","PLAYER_OPEN_IN_EXTERNAL":"Open in external player","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Play in {{device}}","PLAYER_LIVE":"Live","PLAYER_NEXT_VIDEO_TITLE":"Coming up next on","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Dismiss","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Watch now","PLAYER_COPY_STREAM_SUCCESS":"Stream link was copied to your clipboard","PLAYER_COPY_STREAM_ERROR":"Failed to copy stream link","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"streaming from","CASTING_TO":"Casting to","NETWORK_STATUS":"Network status","STREAM_SPEED":"Stream speed:","STREAM_BUFFERED":"Buffered:","PEERS_INFO":"Peers Information","PEERS_ACTIVE":"Active:","PEERS_CONNECTED":"Connected:","PEERS_WAITING":"Waiting:","TRANSCODING_WARNING":"Warning: transcoding video.","STREAM_LOADING":"loading...","PLAYING_LOCAL":"playing from local file","PLAYING_CACHE":"playing from cache","WRONG_SUBS":"Wrong subtitles?","ERR_SUBS_LOADING_TITLE":"Error loading subtitles","ERR_SUBS_LOADING":"Failed loading subtitles: this could be an issue with the addon you are using, or with your network connection","WARN_FOLLOWING_SUB_ADDONS_FAILED":"The following subtitle addons failed","ERR_CASTING_UPDATE_TITLE":"Could not update casting device info: streaming server might be offline","CHOOSE_DEVICE":"Choose a device to watch on","NO_CAST_DEVICES":"No casting devices available.","NO_SETTINGS":"No settings available.","NO_OPTIONS":"No options available","PHONE_TABLET":"Phone / Tablet","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Subtitles","SUBTITLES_CHANGE":"Change subtitles for ","SUBTITLES_CHANGE_NONE":"There are no other subtitles for this language, sorry.","SUBTITLES_CHANGE_ACIVE":"Currently subtitles #{{subtitlesDialog.activeIdx + 1}} are activated. Click \\"Continue\\" to activate subtitles #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Alternatively,","SUBTITLES_ADJUST_DELAY":"Adjust subtitle delay:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Or use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_ADJUST_DELAY_TIP":"TIP: you can use <span>G</span> / <span>H</span> keys while playing to adjust.","SUBTITLES_DELAY":"Subtitles delay:","SUBTITLES_LOADING":"Loading subtitles...","SUBTITLES_UNAVAILABLE":"No external subtitles available","SUBTITLES_DISABLED":"Disabled","EXTERNAL_PLAYER_DISABLED":"Disabled","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Allow Choosing","EXTERNAL_PLAYER_HINT":"Hint: There is a setting to allow always opening with external player","DONT_SHOW_AGAIN":"Don\'t show again","SERVICE_INSTALL":"Install","AUDIO":"Audio","DEFAULT_LANGUAGE":"Default Language","DEFAULT_SECONDARY_LANGUAGE":"Default Secondary Language","SEASON":"Season","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Episode","EPISODE_ABBREVIATION":"EP","SPECIAL":"Special","SORT":"sort","SORT_BY":"Sort by","FILTER":"filter","SORT_TRENDING":"trending","SORT_RECENT":"recent","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"rating","SORT_WATCHED":"watched","SORT_YEAR":"year","SELECT":"Select","SELECT_TYPE":"Select type","SELECT_SORT":"Select sort","SELECT_CATALOG":"Select catalog","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Select genre","SORT_LASTWATCHED":"By last watched","SORT_NAME":"By name","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"By times watched","SORT_NOTWATCHED":"not watched","New for You":"New for You","New Episodes":"New Episodes","New Videos":"New Videos","Recommendations":"Recommendations","LIBRARY_RESUME":"Resume","LIBRARY_PLAY":"Play","LIBRARY_DETAILS":"Details","LIBRARY_RESUME_DISMISS":"Dismiss","LIBRARY_CLEAR_PROGRESS":"Clear Progress","LIBRARY_REMOVE":"Remove","LIBRARY_NOT_LOGGED_IN":"Library is only available for logged in users","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Calendar is only available for logged in users","NOT_LOGGED_IN_CLOUD":"Access your favorite movies and TV shows anytime, anywhere","NOT_LOGGED_IN_RECOMMENDATIONS":"Recommendations tailored to your viewing history","NOT_LOGGED_IN_NOTIFICATIONS":"Never miss an episode again","NOT_LOGGED_IN_CALENDAR":"Schedule your personal watching calendar","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Featured","DISCOVER_TOP":"Top","DISCOVER_OSCAR":"Oscar Winners","DISCOVER_WARNING_TITLE":"Oops!","DISCOVER_EMPTY_CATALOG":"This addon returned empty content.","DISCOVER_ADULT_WARNING":"The content is visible only for adults. Are you 18+?","DISCOVER_NOADDON_WARNING":"Warning: no Stremio addon active for this type. Showing saved items, nothing here will update.","DISCOVER_LOAD_ERR":"The content did not load, error occured.","DISCOVER_ADDON_UNINSTALLED":"This content is no longer available, you may have un-installed the addon.","UNINSTALL_THIS_ADDON":"Uninstall this addon","ERR_ADDON_NOT_INSTALLED":"This addon is not installed. Install now?","DETAIL_RECEIVE_NOTIF_SERIES":"Receive notifications for new episodes","DETAIL_RECEIVE_NOTIF_VIDEOS":"Receive notifications for new videos","SIDEBAR_SHOW_STREAMS":"Show Streams","RELAUNCH":"Re-launch now!","UPGRADE":"New version is available! Upgrade to the latest Stremio version","RELOAD_UI":"Reload the user interface","MANUAL_UPDATE_TITLE":"Update your Stremio version","MANUAL_UPDATE_LINE1":"You are running an outdated version of Stremio which is highly unrecommended.","MANUAL_UPDATE_LINE2":"Please update as soon as possible.","BUTTON_UPDATE_LATTER":"Not now","BUTTON_UPDATE_NOW":"Update","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Anonymous user","DONT_HAVE_ACC":"Don\'t have an account?","HAVE_ACC":"Already have an account?","PASSWORD":"Password","PASSWORD_CONFIRM":"Confirm password","EMAIL":"E-mail","FB_LOGIN":"Continue with Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Nothing is shared without your permission","FB_NOPOST":"We won’t post anything on your behalf","OR":"or","I_ACCEPT":"I accept the","I_ACCEPT_BY_CLICKING":"By clicking the above button I testify that I accept the ","TOS":"Terms and Conditions","MUST_ACCEPT_TERMS":"You must accept terms","PASSWORDS_NOMATCH":"Passwords don\'t match","SIGN_UP":"Sign up","SIGN_UP_EMAIL":"Sign up with email","CLICK_TO_SIGN_UP":"Click here to sign up.","LOG_IN":"Log in","LOG_OUT":"Log out","EXIT_FULLSCREEN":"Exit fullscreen mode","ENTER_FULLSCREEN":"Enter fullscreen mode","PLAY_URL_MAGNET_LINK":"Play URL/Magnet link","HELP_FEEDBACK":"Help & Feedback","TERMS_OF_SERVICE":"Terms of Service","PRIVACY_POLICY":"Privacy Policy","ABOUT_STREMIO":"About Stremio","USER_PANEL":"User Panel","LOGIN_LABEL":"Login","GUEST_LOGIN":"Guest login","GUEST_LOGIN_NOTICE":"Guest Login is not recommended. Using a regular login allows Stremio to sync your Library, receive notifications for favourite series/channels. Are you sure you want to proceed?","GUEST_LOGIN_NOTICE_2":"Guest Login is not recommended - you won\'t have synced Library and Board notifications, which are vital Stremio features. Are you sure you want to proceed?","CLICK_HERE":"click here","WRONG_PASSWORD":"Wrong email or password. In case you have forgotten your password, ","SET_A_PASS":"set a password","RESET_PASSWORD":"Reset password","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Forgot password?","EMAIL_USED_WITH_FB":"This email was used with a Facebook login.","INVALID_EMAIL":"Please enter a valid email address","INVALID_PASSWORD":"Please enter a valid password","CONN_ERR":"Connection error - please try again later.\\n\\nIf this persists, disable firewalls/anti-virus software (especially Bitdefender).","IMPORT_FROM_GUEST":"Import Library from your guest account","RECEIVE_UPDATES_EMAIL":"Receive updates to your email from Stremio","LOGIN_FAILED":"Login failed.","SIGNUP_FAILED":"Signup failed.","SEARCH_FAILED":"Search failed","EMAIL_USED":"This email is already in use.","WAITING_FB_LOGIN":"Logging in with Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Play in external player","EXTERNAL_REMEMBER_PLAYER":"Do you want to remember your choice","EXTERNAL_ALWAYS_PLAY":"Yes","EXTERNAL_ONLY_ONCE":"No","BEST_FIT":"Best Fit","FIT_SCREEN":"Fit Screen","FILL":"Fill","16:9":"16:9","4:3":"4:3","Original":"Original","INTRO_TASTE":"Tell us about what you like","INTRO_TASTE_LONG":"Tell us about what you\'d like to watch","INTRO_TASTE_PICK":"Pick {{interestsRemaining}} interests","INTRO_TASTE_PICK_MORE":"Pick {{interestsRemaining}} more interests","INTRO_TASTE_HELP_US":"Help us learn more about you.","INTRO_TASTE_CHOOSE_THESE":"Choose some of these:","INTRO_TASTE_CHOOSE_MIN":"Choose at least 3 categories","INTRO_TASTE_CHOOSE_MIN_ERR":"You have to pick at least 3 categories!","INTRO_TASTE_LIFESTYLE":"Lifestyle","INTRO_TASTE_SPORTS":"Sports","INTRO_TASTE_FOOD_HEALTH":"Food & Health","INTRO_TASTE_BEAUTY_FASHION":"Beauty & Fashion","INTRO_TASTE_NEWS":"News","INTRO_TASTE_GAMING":"Gaming","INTRO_TASTE_SCIENCE_EDU":"Science & Education","INTRO_TASTE_MUSIC":"Music","INTRO_TASTE_TRAVEL":"Travel","INTRO_TASTE_LATE_NIGHT":"Late Night Show","INTRO_TASTE_REALITY":"Reality","INTRO_TASTE_COMEDY":"Comedy","INTRO_TASTE_DIY":"How to DIY","INTRO_TASTE_TECH":"Tech","INTRO_TASTE_CINEMA":"Cinema","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Selected addon is not supported on this platform.","ADDON_DISCLAIMER":"Using third-party addons will always be subject to your responsibility and the governing law of the jurisdiction you are located.","ADDON_ACTIVATE":"Activate this addon?","ADDON_REPO_ADD":"Addon collection URL","ADDON_ADD":"Add","INSTALL_ADDON":"Install addon","ADD_ADDON":"Add addon","ADD_ADDON_DESCRIPTION":"You can add an addon via an external link, which will appear under Installed addons.","PASTE_ADDON_URL":"Paste addon URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"What\'s new","BUTTON_CONTINUE":"Continue","BUTTON_ACTIVATE":"Activate","BUTTON_ACTIVATED":"Activated","BUTTON_CANCEL":"Cancel","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Submit","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Dismiss All","BUTTON_VIEW_ALL":"view all","BUTTON_SEE_ALL":"See All","BUTTON_COLOR_TRANSPARENT":"Transparent","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Open in browser","LIB_EMPTY":"Your library looks empty. Find out how useful it is :) ","HOW_START":"Here is how you can start:","LIB_EMPTY_CAL":"Your Calendar shows series in your Library.","HOW_START_CAL":"Here is how you can add series:","LIB_EMPTY_BOARD":"Board shows notifications & recommendations related to your Library.","HOW_START_BOARD_WAIT":"Please, add a few series or channels to your Library give us a few minutes to process :)","HOW_START_BOARD":"Here is how you can add series & movies to it:","IMPORT_FB":"Import things you like from <span>Facebook</span>","IMPORT_TRAKT":"Import your media library from <span>Trakt</span>","IMPORT_DISCOVER":"Find interesting stuff from <span>Discover</span>","IMPORT_DISK":"Import movies or shows you have on your <span>local disk</span>","PLEASE_CREATE_ACC":"Please <u>create an account</u> to enable Library sync & Board.","IMPORT_DISCOVER_SIGNUP":"Sign up and find interesting stuff from <span>Discover</span>","IMPORT_DISK_SIGNUP":"Sign up and import movies or shows you have on your <span>local disk</span>","LIB_EMPTY_CLOUD":"Cloud library","LIB_EMPTY_CLOUD_DESC":"Personal cloud library synced on all devices","LIB_EMPTY_EARLY":"Early bird","LIB_EMPTY_EARLY_DESC":"Receive notifications for new episodes","LIB_EMPTY_PERSONAL":"Personal","LIB_EMPTY_PERSONAL_DESC":"Get personal recommendations","LIB_EMPTY_CALENDAR_DESC":"Schedule your personal watching calendar","LIB_EMPTY_ALL":"Sign up to get all of these:","LIB_EMPTY_BEST":"Sign up to get best of Stremio","LIB_EMPTY_OTHER":"Sign up to enable Calendar & other cool features","CALENDAR_ADDED":"The Stremio calendar has been added to your default desktop calendar.","CALENDAR_ADDED_MSG":"If this does not work, please add this URL to your calendar application manually","TRAKT_EXPIRED":"Trakt authentication expired, please go to Settings and re-authenticate","TRAKT_REQUIRES_LOGIN":"Trakt error","TRAKT_REQUIRES_LOGIN_MSG":"You need to login","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Settings","SETTINGS_NAV_GENERAL":"General","SETTINGS_NAV_PLAYER":"Player","SETTINGS_NAV_STREAMING":"Streaming","SETTINGS_NAV_SHORTCUTS":"Shortcuts","SETTINGS_SHORTCUT_RELOAD_APP":"Reload App","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Open Settings","SETTINGS_SHORTCUT_SWITCH_TABS":"Switch Tabs","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Cycle Through Tabs Forward","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Cycle Through Tabs Backward","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Navigate Between Menus","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Go to Search","SETTINGS_SHORTCUT_EXIT_BACK":"Exit / Go Back","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Toggle Playback Speed Menu","SETTINGS_SHORTCUT_MENU_VIDEOS":"Toggle Videos Menu","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Toggle Subtitles Menu","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Toggle Info Menu","SETTINGS_SHORTCUT_FULLSCREEN":"Toggle Fullscreen","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Show Controls","SETTINGS_SHORTCUT_PLAY_PAUSE":"Play / Pause","SETTINGS_SHORTCUT_VOLUME_UP":"Volume Up","SETTINGS_SHORTCUT_VOLUME_DOWN":"Volume Down","SETTINGS_SHORTCUT_SEEK_NEXT":"Seek Next","SETTINGS_SHORTCUT_SEEK_PREV":"Seek Prev","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Seek Backward","SETTINGS_SHORTCUT_SEEK_FORWARD":"Seek Forward","SETTINGS_SHORTCUT_PLAY_NEXT":"Play Next","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Increase Subtitles Size","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Decrease Subtitles Size","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Increase Subtitles Delay","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Decrease Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Toggle Sidebar","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Authenticate","SETTINGS_FACEBOOK_IMPORT":"Import","SETTINGS_CALENDAR_SUBSCRIBE":"Subscribe","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Interface Language","SETTINGS_LAUNCH_STARTUP":"Launch on start-up","SETTINGS_VLC_DEFAULT":"Play with VLC","SETTINGS_UI_LANGUAGE":"UI Language","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Escape key exit full screen","SETTINGS_GAMEPAD":"Enable gamepad support","SETTINGS_CLOSE_WINDOW":"Close app when window is closed","SETTINGS_SUBTITLES_LANGUAGE":"Default Subtitles Language","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Default Subtitles Size","SETTINGS_SUBTITLES_BACKGROUND":"Subtitles background","SETTINGS_SUBTITLES_COLOR":"Subtitles color","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Subtitles outline color","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Subtitles background color","SETTINGS_SEEK_KEY":"Arrow keys seek time","SETTINGS_SEEK_KEY_SHIFT":"Arrow keys seek time when Shift key is held","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Rewind & Fast-forward duration","SETTINGS_BINGE":"Auto-play next episode","SETTINGS_NEXT_VIDEO":"Show notification to start next episode","SETTINGS_NEXT_VIDEO_TRIGGER":"Show next episode notification for:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Next video popup duration","SETTINGS_PLAY_IN_BACKGROUND":"Play in background","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Play in external player","SETTINGS_RESIZE":"Auto-resize window before playing","SETTINGS_OVERRIDE_SERVER":"Override the streaming server URL (advanced)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"Streaming server URL: ","SETTINGS_SERVER_AVAILABLE":"Streaming server is available.","SETTINGS_SERVER_UNAVAILABLE":"Streaming server is not available.","SETTINGS_SERVER_STATUS_ONLINE":"Online","SETTINGS_SERVER_STATUS_ERROR":"Error","SETTINGS_SERVER_CONFIGURE_TITLE":"Configure streaming server url","SETTINGS_SERVER_CONFIGURE_INPUT":"Enter a streaming server url","SETTINGS_SERVER_CACHE_SIZE":"Cache size","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profile","SETTINGS_HTTPS_ENDPOINT":"Streaming HTTPS endpoint: ","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Always use latest Beta","SETTINGS_IMPORT_FB":"Import from Facebook","SETTINGS_IMPORT_DISK":"Import from local disk","SETTINGS_IMPORT_TRAKT":"Import from Trakt","SETTINGS_PAUSE_MINIMIZED":"Pause playback when minimized","SETTINGS_HWDEC":"Hardware-accelerated decoding","SETTINGS_BACKGROUND":"Background playback","SETTINGS_SUBSCRIBE_CALENDAR":"Subscribe to calendar","SETTINGS_REQ_EXPORT":"Request data export","SETTINGS_ACC_DELETE":"Request account deletion","SETTINGS_CHANGE_PASSWORD":"Change password","SETTINGS_TOS":"Terms of service","SETTINGS_SUPPORT":"Contact support","SETTING_LANGUAGE":"Language","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Scrobbling","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Log out of Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Log Out of Trakt","SETTINGS_SCAN_FOR_REMOTE":"Scan QR code to open remote","SETTINGS_DESKTOP_NOTIFICATIONS":"Desktop notifications","SETTINGS_DATA_SAVER":"Data saver","SETTINGS_LANGUAGE_INTERFACE":"interface","SETTINGS_LANGUAGE_SUBS":"default subtitles","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Autoselect Audio Track","SETTINGS_DEFAULT_AUDIO_TRACK":"Default Audio Track","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"account","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"version","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Launch player in a separate window (advanced)","SETTINGS_PLAY_IN_EXTERNAL":"Always start video in external player","SETTINGS_STORAGE_BUTTON":"Clear Local Storage","SETTINGS_STORAGE_MODAL_TITLE":"Are you sure ?","SETTINGS_STORAGE_MODAL_MESSAGE":"This will clear the local storage and log you out.","SETTINGS_HWDEC_PICKER":"Pick hardware-accelerated decoding setting","SETTINGS_HW_AUTOMATIC":"Automatic","SETTINGS_HW_DISABLED":"Disabled","SETTINGS_HW_ACCELERATED":"Decoding acceleration","SETTINGS_HW_FULL":"Full acceleration","SETTINGS_HW_LEGACY":"Legacy","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Subtitles","SETTINGS_SECTION_AUDIO":"Audio","SETTINGS_SECTION_CONTROLS":"Controls","SETTINGS_SECTION_AUTO_PLAY":"Auto-Play","SETTINGS_SECTION_ADVANCED":"Advanced","SUBSPICKER_AUDIO":"Audio","SUBSPICKER_SUBTITLES":"Addons Subtitles","SUBSPICKER_BLACK_BACKGROUND":"Use black background color","SUBSPICKER_VERTICAL_OFFSET":"Vertical Offset","SUBSPICKER_SIZE":"Size","SUBSPICKER_DELAY":"Delay","SUBSPICKER_EMBEDDED_SUBS":"Embedded Subtitles","MOBILE_PRIVACY_POLICY":"Privacy Policy","MOBILE_CRASH_REPORTING":"Crash Reporting","MOBILE_ZOOM_TO_FILL":"Zoom To Fill Screen","MOBILE_PASSTHROUGH":"Digital audio output (passthrough)","MOBILE_RUN_LOW_BATTERY":"Run on low battery","MOBILE_RUN_FOREGROUND":"Run as Foreground Service","MOBILE_PERFORMANCE":"PERFORMANCE & STABILITY","MOBILE_SERVER_ONLINE":"Online","MOBILE_SERVER_OFFLINE":"Offline","MOBILE_QR_EXPIRES":"QR Code expires in ","MOBILE_LOG_INTO":"Log in to your Stremio account ","MOBILE_SCAN_QR":"Scan QR code above or go to ","MOBILE_LINK_ACCOUNT":"Link Account","MOBILE_SPEEDPICKER_CANCEL":"Cancel","MOBILE_SPEEDPICKER_LABEL":"Select Playback Speed","MOBILE_EMPTY_LIBRARY":"Your library is empty","MOBILE_NO_ADDON_ACTIVE":"No Stremio addon active for this type.","MOBILE_ORGANIZER_WARNING":"The Stremio Organizer app provides limited functionality. For a list of playable streams and the full Stremio experience, use Stremio on desktop.","MOBILE_ADDON_LOADING":"is still loading","MOBILE_ADDONS_LOADING":"addons are still loading","MOBILE_ADDON":"Addon","MOBILE_CONFIGURE_ADDON":"Configure your addon","MOBILE_CONFIGURE_ADDON_LABEL":"Configure Addon","MOBILE_ORGANIZER_ADDONS_WARNING":"The Stremio Organizer app provides a limited selection of addons. For the full Stremio experience, use Stremio on desktop.","MOBILE_DISCONNECT":"Disconnect","MOBILE_LOOKING_FOR_DEVICES":"Looking for devices...","MOBILE_CAST_TO":"Cast to","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Delete Account","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Account deletion is not instant due to legal obligations. After requesting deletion of your account you will have to use different email address/facebook profile to create a new Stremio account in the future.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Confirm Account Deletion","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Your account has been created using Facebook. To delete your account, please use our user portal at www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Please provide your password to confirm account deletion.","MOBILE_DELETE_ACCOUNT_BUTTON":"Delete Account","NAVIGATION_ON":"On","NAVIGATION_OFF":"Off","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"I agree to receive marketing communications from Stremio","QUIT":"Quit","CONNECTED":"Connected","AUTHENTICATE":"Authenticate","AUTHENTICATING":"Authenticating...","CACHING":"Caching","SETTINGS_CACHING_DRIVE":"Caching drive","ENABLE_LOCAL_FILES_ADDON":"Enable the local files addon (requires restart)","LOCAL_ADDON_NOT_ENABLED":"Local addon is not enabled. Click here to go to the settings and enable it","ENABLE_REMOTE_HTTPS_CONN":"Enable remote HTTPS connections","TORRENT_PROFILE":"Torrent Profile","DATA_CACHING":"Data Caching","MAGNET_PARSING":"Parsing a magnet link","January":"January","February":"February","March":"March","April":"April","May":"May","June":"June","July":"July","August":"August","September":"September","October":"October","November":"November","December":"December","Monday":"Monday","Tuesday":"Tuesday","Wednesday":"Wednesday","Thursday":"Thursday","Friday":"Friday","Saturday":"Saturday","Sunday":"Sunday","Action":"Action","Comedy":"Comedy","War":"War","Family":"Family","Animation":"Animation","Adventure":"Adventure","Fantasy":"Fantasy","Crime":"Crime","Mystery":"Mystery","Romance":"Romance","Drama":"Drama","Horror":"Horror","Thriller":"Thriller","Sci-Fi":"Sci-Fi","Music":"Music","Biography":"Biography","Documentary":"Documentary","Sport":"Sport","Musical":"Musical","Western":"Western","Film-Noir":"Film-Noir","News":"News","History":"History","Game-Show":"Game-Show","Reality-TV":"Reality-TV","Talk-Show":"Talk-Show","Film & Entertainment":"Film & Entertainment","Gaming":"Gaming","From TV":"From TV","Lifestyle":"Lifestyle","Science & Education":"Science & Education","Cooking & Health":"Cooking & Health","Beauty & Fashion":"Beauty & Fashion","Sports":"Sports","News & Politics":"News & Politics","How-to & DIY":"How-to & DIY","Tech":"Tech","Automotive":"Automotive","Causes & Non-Profits":"Causes & Non-Profits","Movies":"Movies","Uk Live Tv":"Uk Live Tv","Fashion":"Fashion","Business News Radio":"Business News Radio","Business Tv":"Business Tv","Cars & Auto":"Cars & Auto","Comedy Radio":"Comedy Radio","Lifestyle Radio":"Lifestyle Radio","News Tv":"News Tv","Food And Wine":"Food And Wine","Latino Tv":"Latino Tv","Shopping Tv":"Shopping Tv","Religion":"Religion","Kids":"Kids","Body & Soul":"Body & Soul","Education":"Education","Indian Tv":"Indian Tv","Extreme Sports":"Extreme Sports","Middle Eastern Tv":"Middle Eastern Tv","Celebrity Tv":"Celebrity Tv","Science Tv":"Science Tv","Bikini babe":"Bikini babe","Outdoors":"Outdoors","German Tv":"German Tv","French Tv":"French Tv","Italian Tv":"Italian Tv","Gamer Tv":"Gamer Tv","Travel":"Travel","Asian Tv":"Asian Tv","Entertainment":"Entertainment","News Radio":"News Radio","Music Radio":"Music Radio","Language Learning":"Language Learning","Science Radio":"Science Radio","Tech Radio":"Tech Radio","Science & Technology Vod":"Science & Technology Vod","new video":"new video","new episode":"new episode","new movie":"new movie","recommended":"recommended","we recommend":"we recommend","offer of the day":"offer of the day","news":"news","music video":"music video","CTX_SHOW_HOTKEYS":"Show hotkeys","CTX_DISMISS_NOTIF":"Dismiss notifications","CTX_DISMISS_ALL":"Dismiss all","CTX_SHARE":"Share","CTX_COPY_SHARE_LINK":"Copy share link","CTX_COPY_MAGNET_LINK":"Copy magnet link","CTX_COPY_STREAM_LINK":"Copy stream link","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Download this video","CTX_DOWNLOAD_SUBS":"Download subtitles","CTX_VIEW_ON_YOUTUBE":"View on YouTube","CTX_SHOW":"Show","CTX_PLAY":"Play","CTX_PLAY_IN":"Play in","CTX_PLAY_ON":"Play on","CTX_WATCH_ON":"Watch on","CTX_WATCH":"Watch","CTX_WATCHED":"Watched","CTX_WATCH_BEGINNING":"Watch from the beginning","CTX_WATCH_MOBILE":"Watch on a mobile device","CTX_REWIND":"Rewind to beginning","CTX_MARK_WATCHED":"Mark as watched","CTX_MARK_NON_WATCHED":"Mark as non-watched","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"Mark rest as watched","CTX_UNMARK_REST":"Mark rest as non-watched","CTX_RECEIVE_NEW_NOTIF":"Receive new notifications","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Remove from cache","CTX_REMOVE_CACHE_EP":"Remove episode from cache","CTX_OPEN_CONTAINING":"Open containing folder","CTX_REMOVE":"Remove from library","CTX_AVAILABLE_OFFLINE":"Available Offline","CTX_PAUSED":"Paused","CTX_ALWAYS_ON_TOP":"Always on top","CTX_FULLSCREEN":"Fullscreen","CTX_WRONG_SUBS":"Wrong subtitles?","CTX_REPORT_ISSUES":"Report issue","CTX_COPY":"Copy","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Paste","CTX_CLEAR":"Clear","CTX_CLEAR_RECENT_SEARCHES":"Clear recent searches","HELLO_THERE":"Hello There","HOPE_YOU_ENJOY":"We hope you enjoy Stremio and it\'s one of your favourite apps already!","WHO_ARE_WE":"Who are we? We are the team behind it - two guys who work hard every day for the last 3 years to make this product better and better.","SUPPORT_US":"If you enjoy using Stremio, if Stremio is valuable for you - spread the word!","SPREAD_THE_WORD":"Share with your friends now, spread the word about Stremio","MORE_PEOPLE":"The more people use Stremio, the better it will get!","SEND_A_LINK":"Or send a link to our website","TIP_LOCALFILES":"Tip: you can drag & drop local video files into Stremio","ADDON_MY":"My Addons","ADDON_COMMUNITY":"Community Addons","ADDON_OFFICIAL":"Official Addons","ADDON_REPOS":"Addon collections","ADDON_SEARCH":"Search addons","ADDON_INSTALL":"Install","ADDON_CONFIGURE":"Configure","ADDON_UNINSTALL":"Uninstall","ADDON_UPGRADE":"Upgrade","ADDON_INSTALLED":"Installed","ADDON_INSTALLED_MSG":"Addon installed!","ADDON_UPGRADED_MSG":"Addon upgraded!","ADDON_UNKNOWN":"Unknown","ADDON_ERR":"Addon install error!","ADDON_DISCONNECTED":"Disconnected","ADDON_APP_MISSING":"the app for this source is not installed. Do you want to install it now?","ADDON_APP_INSTALL":"Install Now","ADDON_PAGE":"Addon Page","ADDON_TOP_CONTENT":"Best from this Addon","ADDON_PROVIDES":"This addon will give you:","ADDON_WATCH":"Watch #{types} now!","ADDON_WATCH_FREE":"Watch #{types} for FREE now!","ADDON_ADDON":"Addon","ADDON_SUPPORTED_TYPES":"Supported types","ADDON_SUPPORTED_CATALOGS":"Supported catalogs","ADDON_PROVIDES_DISCOVER":"More #{types} in Discover","ADDON_PROVIDES_STREAMS":"Watch #{types}","ADDON_PROVIDES_STREAMS_FREE":"Watch #{types} for FREE","ADDON_PROVIDES_SUBTITLES":"Subtitles for #{types}","ADDON_CANTDETECT":"We couldn\'t detect a running Stremio, so we couldn\'t detect what addons you have installed.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"No information found about this ","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Error retrieving information about this.","ERR_CANT_PARSE_MAGNET":"Unable to parse magnet","ERR_NO_MAGNET_INFOHASH":"No valid info hash for magnet","ERR_NO_FILE_PATH":"Unable to send request without a path to file","ERR_NO_TORRENT":"No torrent returned","ERR_NO_SUPPORTERD_FILES":"No supported files found","ERR_OPENING_FILES":"Could not open external files","ERR_INVALID_LINK":"Invalid link","ERR_REGISTERED_ONLY":"This option is available for registred users only.","ERR_CLIPBOARD":"Can not play from clipboard","ERR_CLIPBOARD_READ":"Can not read the clipboard on this platform","ERR_CLIPBOARD_GENERIC":"No playable URL found in the clipboard. Please copy a URL (e.g. a magnet link) to a video.","BOARD_CONTINUE_WATCHING":"Continue watching","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Movies picked specially for you.<br />This movie is a sample recommendation.","BOARD_EXPLANATION_EPISODES":"New episodes of your favorite Series come here.<br />Add series you follow to your Library.","BOARD_EXPLANATION_VIDEOS":"New episodes of your favorite Channels come here.<br />Add YouTube channels you follow to your Library.","WEBSITE_ENJOYED_BY":"Enjoyed by more than 30 million users worldwide","WEBSITE_STREAMING_ENHANCED":"Streaming Enhanced","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio offers a secure, modern and seamless entertainment experience. With its easy-to-use interface and diverse content library, including 4K HDR support, users can enjoy their favorite movies and TV shows across all their devices. And with its commitment to security, Stremio is the ultimate choice for a worry-free, high-quality streaming experience.","WEBSITE_AVAILABLE_ON":"Available on","WEBSITE_WATCH_AND_ENJOY":"Watch & Enjoy.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio makes it a piece of cake","WEBSITE_ALL_FEATURES":"All features","WEBSITE_EASY_TO_USE":"Easy to Use","WEBSITE_EASY_TO_USE_DETAILS":"Stremio is designed to be user-friendly and easy to use. With its clean and intuitive interface you can easily navigate and find the content you want to watch.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Seamless Across Devices","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Available for a wide range of platforms (incl. Windows, Mac, Linux, Android and more), Stremio will keep track of your progress across all your devices. Just login and continue watching without having to configure the app again on each new device.","WEBSITE_ALL_DOWNLOADS":"All Downloads","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"High-Definition Video Support","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"An integrated video player supporting most video formats, including 4K HDR content, lets you enjoy the highest quality available.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Diverse Content Library","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio integrates with a large number of popular video sources, such as Netflix, Amazon Prime Video, Hulu, YouTube, and many more.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Create a Free Account","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Tailored Viewing Experience","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio allows you to customize the look and feel of the interface by changing the theme, adding or removing addons, and more.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Multilingual Subtitle Support","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"All Stremio features","WEBSITE_TRY_STREMIO_TITLE_P1":"Try Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"On Your TV Now","WEBSITE_YOU_CAN_NOW_WATCH":"You can now watch all favorite TV shows on your Android TV devices. The Stremio TV app let\'s you enjoy a movie night with ease.","WEBSITE_YOU_CAN_NOW_WATCH_2":"You can now watch all favorite TV shows on your Smart TV or Android TV. The Stremio TV apps let you enjoy a movie night with ease.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Probably the best and most useful app to have in your device. It\'s one of the apps I use on a daily basis especially on my Android TV for many years now. Well made with a strong community providing useful functionalities. Well done. Keep up the good work.","WEBSITE_REVIEWS":"reviews","WEBSITE_GET_STREMIO_FOR_FREE":"Get Stremio for Free","WEBSITE_GET_STREMIO_NOW":"Get Stremio Now","WEBSITE_STREMIO_FEATURES":"Stremio Features","WEBSITE_STREMIO_FEATURES_DETAILS":"Stream like a pro with Stremio\'s advanced features and enjoy seamless access to all your favorite media","WEBSITE_DISCOVER_MORE":"Discover more.","WEBSITE_DISCOVER_MORE_DETAILS":"Never run out of things to watch","WEBSITE_COMMUNITY_DRIVEN":"Community-driven","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio has a large and active community of users who contribute to the development of the software by creating and sharing addons.","WEBSITE_GET_INVOLVED":"Get involved","WEBSITE_NEW_THEATER_EXPERIENCE":"New Theater Experience","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio\'s new dedicated TV app let\'s you enjoy a movie night on your Android TV devices.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio\'s new dedicated TV apps let you enjoy a movie night on your Smart TV or Android TV devices.","WEBSITE_FREE_AND_SECURE":"Free & Secure","WEBSITE_STREAMING":"Streaming","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio offers unmatched security and privacy for users. With its unique feature of running addons remotely, Stremio provides a safer way to stream your favorite content compared to other platforms. Your security and privacy are top priorities, and the platform ensures that all your data is protected.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Say goodbye to worries about security and privacy and say hello to a world of endless entertainment with Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Information provided by","WEBSITE_CONTRIBUTE_DESC":"to the project & help us make Stremio even better","WEBSITE_COMMUNITY_DESC":"We believe that the best way to create a truly amazing streaming experience is by involving our community in the process. Whether you are a programmer, an artist, or just a fan - you could help Stremio grow.","WEBSITE_COMMUNITY_DESC_2":"So join us today and become a part of the Stremio community and keep shaping the future of streaming.","WEBSITE_WAYS_TO_GET_INVOLVED":"Ways To Get Involved","WEBSITE_IN_THE_STREMIO_COMMUNITY":"in the Stremio community","WEBSITE_SHARE_YOUR_THOUGHTS":"Share your thoughts","WEBSITE_REPORT_BUGS":"Report bugs","WEBSITE_SUGGEST_FEATURES":"suggest features","WEBSITE_AND_PROVIDE_FEEDBACK":"and provide feedback on our social media channels.","WEBSITE_BETA_TESTING_PROGRAM":"Beta testing program","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Participate in our beta testing program (we send out invites regularly) in the Stremio community.","WEBSITE_JOIN_NOW":"Join now!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Official Stremio Communities","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Unofficial Stremio Communities","WEBSITE_BECOME":"Become","WEBSITE_A_VOLUNTEER_TRANSLATOR":"a volunteer translator","WEBSITE_ARE_YOU_A_DEVELOPER":"Are You A Developer?","WEBSITE_CONTRIBUTE_CODE":"You could contribute code to our open source projects. We have several projects on GitHub that are looking for contributors. If you\'re interested in helping out, check them out:","WEBSITE_STREMIO_ON_GITHUB":"Stremio on GitHub","WEBSITE_CREATE_ADDON_DESC":"Create an addon to enhance Stremio\'s functionality (we have an easy-to-use API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"We also provide the opportunity to join us as an intern developer so we can grow together.","WEBSITE_APPLY_AS_AN_INTERN":"Apply as an Intern","WEBSITE_CALLING_ALL_ARTISTS":"Calling All Artists!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Show off your creativity and love for Stremio by uploading your fan art to our online gallery. Whether it\'s a drawing, painting, or digital design, we want to see your unique take on the Stremio brand. Join our community of art enthusiasts and share your work with fellow Stremio fans around the world.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Gallery","WEBSITE_INTERN_DESIGNER":"Become part of our team and take your creativity to new heights with our exciting internship opportunities.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Public Domain Movies Project","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"At Stremio, we are committed to preserving the history of film and television by identifying public domain and orphaned videos. By working together with our community, we can ensure that these classic works of art are accessible to everyone and protected for future generations to enjoy.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Feel free to contact us if you would like to get involved in that project.","WEBSITE_JOIN_THE_PROJECT":"Join the Project","WEBSITE_BE_PART_OF_OUR_MISSION":"Be part of our mission","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Interested in joining the Stremio team? We offer fully remote work for passionate professionals. Check out our open positions.","WEBSITE_OPEN_POSITIONS":"OPEN POSITIONS","WEBSITE_DESCRIPTION":"DESCRIPTION","WEBSITE_LEARN_MORE":"Learn more","WEBSITE_COMPANY":"Company","WEBSITE_CONTACTS":"Contacts","WEBSITE_NEED_HELP":"Need Help?","WEBSITE_STREMIO_WEB_ON_IOS":"Guide for Stremio Web on iOS","WEBSITE_LINK_ART_V2":"Fanart Gallery","WEBSITE_PARTNERS":"Partners","WEBSITE_SLOGAN_WATCH":"Watch Instantly","WEBSITE_SLOGAN_ALL":"All the Video Content You Enjoy in One Place","WEBSITE_SLOGAN_NEW":"All You Can Watch","WEBSITE_SLOGAN_NEW_NEW":"Freedom to Stream","WEBSITE_WATCH_FROM":"Watch from","WEBSITE_DOWNLOAD":"Download Now","WEBSITE_DOWNLOAD_FOR":"Download Now For","WEBSITE_IS_DESKTOP":"Stremio is a desktop application, open this page on your PC and download it","WEBSITE_DESKTOP_DEMO_VID":"Desktop demo","WEBSITE_PAGE_HOME":"Home","WEBSITE_PAGE_FEATURES":"Features","WEBSITE_PAGE_ADDONS":"Addons","WEBSITE_PAGE_TECH":"Technology","WEBSITE_PAGE_CREATE_ADDON":"Create Addon","WEBSITE_PAGE_CONTACTS":"Contacts","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Movies","WEBSITE_TYPE_series_PL":"Series","WEBSITE_TYPE_tv":"Live TV","WEBSITE_TYPE_channel":"Channels","WEBSITE_STREMIO_WHAT_IS":"Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels.","WEBSITE_FEATURES_WATCH":"Watch Instantly in HD","WEBSITE_FEATURES_WATCH_DETAIL":"Click and play your favourite movies, TV Shows, videos and TV channels.","WEBSITE_FEATURES_SUBS":"Automatic Subtitles","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio automatically picks synced subtitles for your language.","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"Play on TV & mobile devices","WEBSITE_FEATURES_CAST_DETAIL":"Cast to AppleTV, Chromecast, Smart TV (DLNA/UPnP) and mobile devices.","WEBSITE_LIB":"Enjoy Your Personal Library Synced on All Your Devices","WEBSITE_LIB_COLLECT":"Collect from Stremio","WEBSITE_LIB_IMPORT":"Import from Facebook","WEBSITE_LIB_LOCAL":"Add from your local drive","WEBSITE_BOARD":"The Board - Your one-stop place for Notifications and Recommendations","WEBSITE_BOARD_RECOMMEND":"Recommended TV Show","WEBSITE_BOARD_TRENDING":"Trending Movie","WEBSITE_BOARD_NEW":"New Video","WEBSITE_BOARD_EPISODE":"New Episode","WEBSITE_BOARD_1":"Looking for something interesting to watch? Get recommendations based on your taste!","WEBSITE_BOARD_2":"Get notified when a new episode of your favourite TV show or YouTube channel is out!","WEBSITE_BOARD_YOUTUBE":"New videos of YouTube channels","WEBSITE_BOARD_EPISODES":"New episodes of series you follow","WEBSITE_ADDONS":"Content Addons","WEBSITE_TECH_DETAIL":"We love technology, we love mad science!\\nStremio is using the following open source technologies:","WEBSITE_TECH_WCJS":"WebChimera.js allows Stremio to play any video format with good performance.","WEBSITE_TECH_WCJS_EXTRA":"We are core project contributors","WEBSITE_TECH_ELECTRON":"Electron provides an innovative platform to build Stremio with.","WEBSITE_TECH_ELECTRON_EXTRA":"We are project contributors","WEBSITE_TECH_LINVODB":"A database technology that ensures your data is organized and available anywhere you login.","WEBSITE_TECH_LINVODB_EXTRA":"In-house technology","WEBSITE_CREATE_ADDON":"Create your addon","WEBSITE_CREATE_ADDON_DETAIL":"Do you have a service providing video content? We\'ll help you benefit from Stremio\'s features by creating your Addon.","WEBSITE_CREATE_ADDON_BENEFITS":"Benefits of Creating an Addon for Stremio","WEBSITE_P2P_BEAUTY":"The Beauty of Peer-to-Peer Streaming","WEBSITE_P2P_1":"Reliable and affordable full HD / 4K video on demand or live streaming","WEBSITE_P2P_2":"Distribution platform providing great user experience","WEBSITE_P2P_3":"We will create an addon meeting your exact needs","WEBSITE_P2P_CONTACT":"Interested? You are welcome to <a href=\'mailto:office@stremio.com\'>contact us</a>.","WEBSITE_P2P_CONTACT_EXTRA":"We will be happy to help you integrate your content with Stremio!","WEBSITE_P2P":"Once in a while, there comes a technology that changes the name of the game. We invested tons of time and effort in building our Peer-to-Peer (P2P) video streaming engine that provides great performance and versatility to adapt with any use case.\\nContact us for DRM-enabled P2P video on demand or live streaming.","WEBSITE_THOUGHTS":"Thoughts we share:","WEBSITE_SPREAD":"Spread the word about Stremio:","WEBSITE_CONTACT":"Contact us, we\'ll be happy to hear from you!","WEBSITE_OPENSOURCE":"For our open source projects, go to our","WEBSITE_BITCOIN":"Donate bitcoin:","WEBSITE_FAQ":"Frequently asked questions","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Questions","WEBSITE_TOS":"Terms of use","WEBSITE_LEGAL":"Legal","WEBSITE_PAGE_ABOUT":"About","WEBSITE_PAGE_BECOME_PARTNER":"Become a partner","WEBSITE_ALL_YOU_CAN_WATCH":"Freedom To Watch\\nEverything You Want.","WEBSITE_FREEDOM_TO_STREAM":"Freedom to Stream","WEBSITE_WHAT_IS_STREMIO":"What is stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio is a one-stop hub for video content aggregation. Discover, organize and watch video from all kind of sources on any device that you own.","WEBSITE_WHAT_IS_STREMIO_P2":"Movies, TV shows, series, live television or web channels like YouTube and Twitch.tv - you can find all this on Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio is a modern media center that\'s a one-stop solution for your video entertainment. You discover, watch and organize video content from easy to install addons.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Movies, TV shows, live TV or web channels - find all this on Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Enjoy on all your Media devices","WEBSITE_DEVICES_COLLECT":"Collect from Stremio","WEBSITE_DEVICES_IMPORT_FB":"Import from facebook","WEBSITE_DEVICES_LOCAL":"Add from local drive","WEBSITE_JOIN_THE_PARTY_NOW":"Join the party now","WEBSITE_DEVICES_ALL":"Easy to use on all your devices;","WEBSITE_EXTENDABLE_CATALOG":"Infinitelly extendable video catalog;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Great features to organize your media;","WEBSITE_AS_SEEN_ON":"As seen on","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"About us","WEBSITE_LINK_TECHNOLOGY":"Technology","WEBSITE_LINK_APPS":"Apps","WEBSITE_LINK_DOWNLOADS":"Downloads","WEBSITE_MORE":"More","WEBSITE_LINK_ADDONS":"Addons","WEBSITE_LINK_ADDON_SDK":"Addon SDK","WEBSITE_LINK_CONTRIBUTE":"Contribute","WEBSITE_LINK_COMMUNITY":"Community","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & More","WEBSITE_LINK_HELP":"Help center","WEBSITE_LINK_CONTACTS":"Business inquiries","WEBSITE_LINK_TOS":"Terms & conditions","WEBSITE_LINK_PRAVACY":"Privacy policy","WEBSITE_SUBSCRIBE":"Subscribe","WEBSITE_NEWSLETTER":"Join Our Newsletter for amazing stuff","WEBSITE_PLACEHOLDER_EMAIL":"Your Email","WEBSITE_COMMUNITY":"Community","WEBSITE_LINK_PRAVACY_LEGAL":"Privacy & legal","WEBSITE_WHY":"Why we do it","WEBSITE_WHY_P1":"At Stremio, we come to work every day because we want to solve an important problem for the video-on-demand industry. There’s so much new content published every minute that it’s virtually impossible to find your way around it.","WEBSITE_WHY_P2":"We help people navigate that huge world of video entertainment and discover new content to enjoy. Our apps bring together movies, series, live TV, web channels, and more. We are dedicated to making it incredibly easy for users to find titles and broadcasters that they love.","WEBSITE_WHY_P3":"You can use our service on any device and at any time, making Stremio the only video entertainment hub you’ll ever need.","WEBSITE_TEAM":"TEAM","WEBSITE_TEAM_P":"The Stremio team is small but powerful: between the ten of us, we code in X languages, and share expertise in software development, UI and UX design, marketing and advertising, and business and startups.","WEBSITE_FEATURES":"Features","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Discover new content with ease","WEBSITE_FEATURES_DISCOVER_P":"Easily discover new movies, TV shows, series and channels to watch. Browse by category, genre, rating, recency, etc. or simply type a name to find. Stremio makes finding new video content a piece of cake.","WEBSITE_FEATURES_ALL_CONTENT":"All of your video content on one screen","WEBSITE_FEATURES_ALL_CONTENT_P1":"See what movies, series or videos you didn’t finish and continue watching them; get notified for new episodes and releases; and browse through the recommendations you will get based on your viewing habits.","WEBSITE_FEATURES_LIBRARY":"Organize your video library","WEBSITE_FEATURES_LIBRARY_P1":"Add any title to your Stremio library with a single click and find your way around your content, neatly arranged by type, recency, or alphabetical order.","WEBSITE_FEATURES_CALENDAR":"Keep track of everything you watch","WEBSITE_FEATURES_CALENDAR_P1":"Get a calendar visualization of all the movies and series you add to your library. Export your Stremio calendar and sync it so you always know when a new episode or a premier is due.","WEBSITE_FEATURES_BIG_SCREEN":"Enjoy your video content on a bigger screen","WEBSITE_FEATURES_BIG_SCREEN_P1":"Cast whatever you are watching to another device - be it a phone, tablet or a TV with a single click.","WEBSITE_FEATURES_SOURCES":"Watch video from many different sources","WEBSITE_FEATURES_SOURCES_P":"Install official and community addons to enjoy video sourced from many different providers - all in one sleek, easy to use app.","WEBSITE_CREATE_AN_ADDON":"Create an addon","WEBSITE_FEATURES_SYNC":"Sync your library across different devices and resume your playback","WEBSITE_FEATURES_SYNC_P1":"Login with your account across all your devices and enjoy your library, addons, playback and calendar synchronized.","WEBSITE_FEATURES_EXTENDABLE":"Extendable video catalog by addons","WEBSITE_FEATURES_EXTENDABLE_P1":"The Stremio addon catalog provides a number of addons to install and watch a variety of video content from. This includes movies, shows, live TV, sport, news, podcasts, web channels, video games and more.","WEBSITE_FEATURES_AUTO_SUBS":"Automatic subtitles","WEBSITE_FEATURES_AUTO_SUBS_P1":"With our subtitle addons you get automatically selected options for your preferred language.","WEBSITE_FEATURES_CHROMECAST":"Casting to Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Enjoy your video content on a bigger screen or just cast whatever you are watching to another device.","WEBSITE_FEATURES_KEEP_TRACK":"Keep track of your favorite TV shows and Web channels","WEBSITE_FEATURES_KEEP_TRACK_P1":"Get a calendar visualization and notifications for new episodes of your favorite series and web channels.","WEBSITE_FEATURES_POWER_USER":"Power user features","WEBSITE_FEATURES_POWER_USER_P1":"Play in external player","WEBSITE_FEATURES_POWER_USER_P2":"Play from a torrent file or magnet link","WEBSITE_FEATURES_POWER_USER_P3":"Import to your library from Facebook likes or local disk","WEBSITE_ADD_ONS":"Addons","WEBSITE_ADD_ONS_P1":"All of the video content Stremio provides get sourced through an addon system - no content or content provider has been built into the app.","WEBSITE_ADD_ONS_P2":"There are two groups of addons available: official and community addons.","WEBSITE_ADD_ONS_P3":"The official ones are developed and hosted by Stremio, whereas community addons are created by our community members, who also host them.","WEBSITE_ADDONS_OFFICIAL":"Official addons","WEBSITE_ADDONS_WATCHUB":"Stream your favourite movies, series and shows from providers like iTunes, Hulu, Amazon and other UK/US services.","WEBSITE_ADDONS_YOUTUBE":"Watch your favourite YouTube channels ad-free and get notifications for new uploads from the contributors you follow.","WEBSITE_ADDONS_FILMON":"Watch live TV, movies and social television for free. 600 TV channels, 45,000 free movies, documentaries and more.","WEBSITE_ADDONS_OPENSUBTITLES":"Movie and TV subtitles in multiple languages, thousands of translated subtitles uploaded every day.","WEBSITE_ADDONS_COMMUNITY":"Community addons","WEBSITE_ADDONS_FILMON_VOD":"Watch video on demand from Filmon.tv","WEBSITE_ADDONS_TWICH":"Watch live streams from Twitch.tv - a video streaming platform for the e-sports industry.","WEBSITE_ADDONS_VODO":"Watch indie movies absolutely free of charge.","WEBSITE_ADDONS_NETFLIX":"Watch Netflix movies and web series.","WEBSITE_ADDONS_CREATE":"Create an addon","WEBSITE_ADDONS_CREATE_P1":"If you wish, you can develop your own addon. This way, you can give yourself and our community access to new video content, and reach a new, targeted audience of millions of users around the world.","WEBSITE_ADDONS_START_CREATE":"To get started, visit the Stremio Addon SDK page:","WEBSITE_DOWNLOADS":"Downloads","WEBSITE_DOWNLOADS_P1":"For optimal performance, we recommend that you use the latest available version of the Stremio apps. If for some reason, however, you would like to use an older version, you can download it here.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS (limited version)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Download Stremio Service","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service is a companion app for Stremio Web. We recommend using the latest available version of Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"More Download Options","WEBSITE_DOWNLOAD_NEW":"New!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"We released Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Contribute","WEBSITE_CONTRIBUTE_P1":"The Stremio platform is open source and you can easily create an addon for content that is currently not sourced.","WEBSITE_CONTRIBUTE_WHY":"Why should you create an addon?","WEBSITE_CONTRIBUTE_WHY_P1":"Reach new audience for your video content","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio’s user base is growing rapidly - within the first year of the launch, Stremio had gained 1 million users around the world, and in the second year of the platform’s existence this number grew to 2.5 million.","WEBSITE_CONTRIBUTE_WHY_P3":"With your addon, you can easily reach this audience and distribute your video content to them.","WEBSITE_CONTRIBUTE_ALL":"Watch your favourite movies, videos, series and channels in one single place.","WEBSITE_CONTRIBUTE_ALL_P1":"You’re a fan of a particular type of content not available on Stremio yet? Create an addon for it and enjoy watching your favourite videos in one of the largest and easiest to use entertainment hubs on the market.","WEBSITE_CONTRIBUTE_ALL_P2":"On top of that, you’ll get the endless gratitude of other like-minded Stremio community members.","WEBSITE_CONTRIBUTE_MONETIZE":"Monetize your addon and earn money with its help","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Once you develop a new addon for Stremio, you can easily monetize it through a number of different ways. If you are considering this, feel free to get in touch with us at ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - we would be happy to consult and advise you about addon monetization options.","WEBSITE_CONTRIBUTE_TRANSLATE":"Become a volunteer translator","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"If you want to enjoy the Stremio apps in different languages, you can join our community of volunteer translators. They help us add versions of the Stremio in many different languages.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Are you eager to get started?","WEBSITE_TRANSALTE_STREMIO":"Translate Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Official communities","WEBSITE_COMMUNITY_OFFICIALS_P1":"Become a part of the growing Stremio community. Follow us on social media and don’t be shy to say hello - we love hearing from our fans! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Unofficial communities","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"Partners and supporters","WEBSITE_COMMUNITY_GOODIES":"Stremio goodies","WEBSITE_COMMUNITY_WALLPAPERS":"Wallpapers","WEBSITE_COMMUNITY_ART":"Community Art Gallery","WEBSITE_LINK_ART":"Community art gallery","WEBSITE_CONTACT_US":"Contact us","WEBSITE_CONTACT_US_P1":"If you have any questions, comments or suggestions, feel free to get in touch with us through the contact form below.","WEBSITE_CONTACT_US_P2":"Keep in mind that we are located in Bulgaria so there may be a delay in addressing your query due to time zone differences.","WEBSITE_CONTACT_US_SUCCESS":"Your message has been sent. We will get back to you at our earliest convenience.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Please enter a valid email!","WEBSITE_CONTACT_US_Q_RELATED_TO":"What is your question related to?","WEBSITE_CONTACT_US_Q_OS":"What is your Operation System?","WEBSITE_CONTACT_US_PH_EMAIL":"Your E-mail","WEBSITE_CONTACT_US_PH_MESSAGE":"Message","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"SEND","WEBSITE_CONTACT_US_Q_1":"How to install?","WEBSITE_CONTACT_US_Q_2":"How to uninstall?","WEBSITE_CONTACT_US_Q_3":"(HTML) How to make lasagna?","WEBSITE_CONTACT_US_Q_4":"Addons","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Technology","WEBSITE_TECHNOLOGY_P1":"We love technology and mad science. </br> Here is what powers Stremio (it’s all open-source).","WEBSITE_TECHNOLOGY_P_QT":"Cross-platform software development at its best.","WEBSITE_TECHNOLOGY_P_MPV":"A free, open source, and cross-platform media player.","WEBSITE_TECHNOLOGY_P_RN":"React Native lets you build mobile apps using only JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Media framework embedded into application to get multimedia.","WEBSITE_TECHNOLOGY_P_REALM":"Realm is a mobile platform and a replacement for SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js is an open-source, cross-platform, JavaScript runtime environment.","WEBSITE_TECHNOLOGY_P_RUST":"Rust is a multi-paradigm system programming language focused on safety, especially safe concurrency.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Contribute to the project","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"There are two ways you can contribute to Stremio and help us make the product even better.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"You can donate your valuable language skills by translating the platform...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"or","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... you can employ your coding skills for creating community addons. ","WEBSITE_TRANSLATE_STREMIO":"Translate Stremio","WEBSITE_404_OH_NO":"Uh-oh! The page you’re looking for is not here...","WEBSITE_GO_HOME":"Go home","WEBSITE_LINK_OTHER_DOWNLOADS":"Other downloads","WEBSITE_FAQ_ABR":"FAQ","WEBSITE_SUPPORT":"Support","WEBSITE_DOWNLOAD_4_0_BETA":"Download Stremio 4 beta Now","WEBSITE_GET_FOR_DESKTOP":"Get for desktop","WEBSITE_LINK_ADDON_COMPETITION":"Addon competition","WEBSITE_LINK_ART_CONTEST":"Art contest","WEBSITE_MY_ACCOUNT":"My account","WEBSITE_MAINPAGE_FAQ_001_H1":"What is Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio is a modern media center that gives you the freedom to watch everything you want.","WEBSITE_MAINPAGE_FAQ_002_H1":"How does it work?","WEBSITE_MAINPAGE_FAQ_002_P1":"Once you install Stremio on your device and create an account, all you have to do is to visit the addon catalog and install any addon you want, and you\'re good to go!","WEBSITE_MAINPAGE_FAQ_002_P2":"After that, you can go to the Discover or Board sections to start exploring content.","WEBSITE_MAINPAGE_FAQ_003_H1":"What can I watch here?","WEBSITE_MAINPAGE_FAQ_003_P1":"A lot: Movies, TV shows, Web channels, Sport, TV channels, listen to Podcasts and more. Thanks to our addon system, you can access a variety of content.","WEBSITE_MAINPAGE_FAQ_004_H1":"Is Stremio open-source?","WEBSITE_MAINPAGE_FAQ_004_P1":"Yes, you can check the following links: ${1}desktop app${2} and ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Is Stremio safe?","WEBSITE_MAINPAGE_FAQ_005_P1":"Yes: because it is open-source software, the code is publically auditable and you can review it yourself.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"How about my privacy?","WEBSITE_MAINPAGE_FAQ_006_P1":"We respect users\' privacy and do not collect any personal data besides the essential minimum to create and sync your account.","WEBSITE_MAINPAGE_FAQ_006_P2":"There is also a ${1}Guest mode${2} at signup, which requires no data whatsoever: in this mode, no calls are made to our backend. However, it comes at the expense of useful features, such as being able to sync your library across devices.","WEBSITE_MAINPAGE_FAQ_007_H1":"Can I cast to my TV?","WEBSITE_MAINPAGE_FAQ_007_P1":"Yes, we support Chromecast and you can cast both from desktop and mobile apps (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"How many addons does Stremio have?","WEBSITE_MAINPAGE_FAQ_008_P1":"As of late 2019, over 50 - for more information, check our addon catalog.","WEBSITE_MAINPAGE_FAQ_009_H1":"Can Stremio be extended beyond what\'s in the addon catalog?","WEBSITE_MAINPAGE_FAQ_009_P1":"Yes, you should check those: ${1}PimpMyStremio${2}, ${3}Reddit communities${4}, ${5}Stremio Downloader${6}, etc.","WEBSITE_MAINPAGE_FAQ_010_H1":"What devices does Stremio support?","WEBSITE_MAINPAGE_FAQ_010_P1":"We have desktop apps for Windows, Mac and Linux. For mobile, we support Android and iOS, although keep in mind that the iOS is limited in functionality (does not support most addons).","WEBSITE_MAINPAGE_FAQ_010_P2":"There are many Android-based devices which you can run Stremio on, like NVIDIA Shield and Amazon Fire Stick, but we do not support them officially.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Can you add certain content to Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"Sorry, we provide no content ourselves, but the more Stremio addons you have installed, the more content you will be able to find.","WEBSITE_MAINPAGE_FAQ_012_H1":"Can Stremio play magnet links?","WEBSITE_MAINPAGE_FAQ_012_P1":"Yes, and it can also play normal HTTP links and torrent files (drag and drop).","WEBSITE_MAINPAGE_FAQ_013_H1":"Can I download a video and watch offline?","WEBSITE_MAINPAGE_FAQ_013_P1":"Available offline is an upcoming feature, but if you allow Stremio to cache on your device (from the settings panel) you can watch the videos later without a connection.","WEBSITE_MAINPAGE_FAQ_014_H1":"Nothing works, help me!","WEBSITE_MAINPAGE_FAQ_014_P1":"Are you sure you have installed addons? If yes, check with our ${1}help center${2}.","WEBSITE_MAINPAGE_FAQ_015_H1":"How does Stremio sustain it\'s development operations?","WEBSITE_MAINPAGE_FAQ_015_P1":"We run non-intrusive ads occassionally, but we\'re considering moving to a donation model.","WEBSITE_MAINPAGE_FAQ_015_P2":"For more questions, go to our ${1}help center${2}.","HELP_LEARN_MORE":"Help us learn more about you.","LIFESTYLE":"Lifestyle","SPORTS":"Sports","FOOD_HEALTH":"Food & health","BEAUTY_FASHION":"Beauty & Fashion","NEWS":"News","GAMING":"Gaming","SCIENCE_EDUCATION":"Science & education","MUSIC":"Music","TRAVEL":"Travel","LATE_NIGHT":"Late Night","REALITY":"Reality","COMEDY":"Comedy","DIY":"How to DIY","TECH":"Tech","CINEMA":"Cinema","CONTINUE":"Continue","SLOW_LOADING":"SLOW LOADING?","I_GIVE_UP":"I GIVE UP","LEARN_MORE":"Learn more","POOR_SOURCE":"This source is poorly available or your internet connection is not fast enough","PICK_CATEGORIES_ERR":"You have to pick at least 3 categories","ADJUST_TIMING":"Adjust timing with ","ADJUST_SIZE":"Adjust size with ","SEARCH_ANYTHING":"You Can Search Anything...","ALL_CATEGORIES":"All","SEARCH_CATEGORIES":"Movies, Series, YouTube & TV","SEARCH_PERSONS":"Actors, Directors & Writers","SEARCH_PROTOCOLS":"HTTP & Magnet Links","SEARCH_TYPES":"IMDB / TVDB links","WATCHED":"Watched","SHOW_LESS":"Show less","LAST_SEARCHES":"Last searches","CLEAR_HISTORY":"Clear history","CHOOSE_SOME":"CHOOSE SOME OF THIS:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Web Remote could not be loaded","STREMIO_OFFLINE":"Stremio is offline","STREMIO_EXPENSIVE_CONNECTION":"We\'ve detected that you are using a mobile data connection, do you want to continue?","USE_DATA":"Use data","WARNING":"Warning","MORE_INFO":"More Info ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Loading ...","STREMIO_TV_BACK_TO_LANGUAGES":"Back to languages","STREMIO_TV_REMOTE":"Remote","STREMIO_TV_GO_TO":"Go to:","STREMIO_TV_OR_SCAN":"or scan:","STREMIO_TV_ADDON_INSTRUCTIONS":"Please follow the instructions in order to install your preferred addons.","STREMIO_TV_LIVE_TV":"Live TV","STREMIO_TV_RESUME_WATCHING":"Resume Watching","STREMIO_TV_LOADING_BACKGROUND":"Loading Background","STREMIO_TV_CHECKING_AUTHENTICATION":"Checking Authentication","STREMIO_TV_LOADING_BOARD":"Loading Board","STREMIO_TV_LOGIN_HEADER_LINE_1":"We want our users to have the best possible personalized experience with our software.","STREMIO_TV_LOGIN_HEADER_LINE_2":"It is for this reason that we kindly ask you to make and/or login to your account.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Thank you for understanding,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"The Stremio Team","STREMIO_TV_REMOTE_INSTRUCTIONS":"In order to use the Web Remote with your Smartphone / Tablet / Desktop:","STREMIO_TV_WIFI_SETUP":"Wi-Fi Setup","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle did not detect a internet connection.","STREMIO_TV_WIFI_DETAILS_1":"Connect to:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Use password:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Open a web browser with the link:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Default","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"By Last Watched","STREMIO_TV_LIBRARY_SORT_NAME":"By Name","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"By Times Watched","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Season ${1}","STREMIO_TV_STREAMS_LOADING":"Loaded ${1} / ${2} addons...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} addon is still loading...","STREMIO_TV_PLAYER_SETTINGS":"Player settings","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Subtitles delay","STREMIO_TV_PLAYER_AUDIO_DELAY":"Audio delay","STREMIO_TV_PLAYER_VIDEO_SCALING":"Video scaling","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Unsupported stream source","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Failed opening external link","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Not adjustable in audio passthrough mode","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Play with ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Play with libVLC player","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Switching to libVLC player due to a playback error","STREMIO_TV_ADDONS_TITLE":"Use Stremio on your Phone or PC to install or configure addons and press \\"Sync Addons\\"","STREMIO_TV_ADDONS_SUBTITLE":"Note: make sure you are using the same Stremio account","STREMIO_TV_ADDONS_SYNC_ADDONS":"Sync Addons","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Addons successfully synchronized","STREMIO_TV_ADDONS_SYNC_FAILED":"Failed to synchronize addons","STREMIO_TV_META_LINK_FAILED":"Failed opening meta link","STREMIO_TV_CATALOG_LOADING":"Catalog still loading...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Interface language updated","STREMIO_TV_SETTINGS_THEME_UPDATED":"Theme updated","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Default Player","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"External Player","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Preferred Language","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Secondary Preferred Language","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tunnelled Playback","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Possible playback issues on some devices","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Some video formats might not work","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Frame rate matching","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Disabled","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Frame Rate only","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Frame Rate and Resolution","STREMIO_TV_SETTINGS_NO_CACHING":"No caching","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Default","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Soft","STREMIO_TV_SETTINGS_PROFILE_FAST":"Fast","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Ultra Fast","STREMIO_TV_SETTINGS_SERVER_URL":"Streaming server url","STREMIO_TV_SETTINGS_SERVER_VERSION":"Server version","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Unknown","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio version","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Edit server url","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Enter a streaming server url","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Show statistics while loading","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"To read Stremio\'s Privacy Policy, visit:","STREMIO_TV_SETTINGS_TOS_TEXT":"To read Stremio\'s Terms and Conditions, visit:","STREMIO_TV_NAV_SEARCH":"Search","STREMIO_TV_NAV_HOME":"Home","STREMIO_TV_NAV_DISCOVER":"Discover","STREMIO_TV_NAV_LIBRARY":"Library","STREMIO_TV_NAV_MOVIES":"Movies","STREMIO_TV_NAV_SERIES":"Series","STREMIO_TV_NAV_CHANNELS":"Channels","STREMIO_TV_NAV_TV":"Live TV","STREMIO_TV_NAV_SETTINGS":"Settings","STREMIO_TV_NAV_ADDONS":"Addons","STREMIO_TV_LOGIN_TITLE":"Link Account","STREMIO_TV_LOGIN_EXPIRES_IN":"Expires in","STREMIO_TV_LOGIN_STEP_ONE":"Scan QR Code above or go to","STREMIO_TV_LOGIN_STEP_TWO":"Log in to your Stremio account","STREMIO_TV_LOGIN_NEW_LINK":"Request a new link","STREMIO_TV_LOGIN_LINK_REFRESHED":"Login code refreshed","STREMIO_TV_SEARCH_PLACEHOLDER":"Type something","STREMIO_TV_SEARCH_NO_ADDONS":"No addons were requested for catalogs!","STREMIO_TV_SEARCH_BUTTON":"Search","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Search History","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"You can search for Titles, Actors, Channels and more...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Clear Search History","STREMIO_TV_FILTERS_DESCRIPTION":"Choose from one of the filters below","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Filters","SETTINGS":"Settings","ACCOUNT":"Account","LOGOUT":"Logout","THEMES":"Themes","PLAYBACK":"Playback","PLAYBACK_SPEED":"Playback Speed","AUDIO_TRACKS":"Audio Tracks","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Videos","SERVER":"Server","LINKS":"Links","ABOUT":"About","INTERFACE":"Interface","ANIMATIONS":"Animations","STATUS":"Status","LANGUAGE":"Language","SIZE":"Size","DELAY":"Delay","BOLD":"Bold","OPACITY":"Opacity","TEXT_COLOR":"Text Color","OUTLINE_COLOR":"Outline Color","BACKGROUND_COLOR":"Background Color","BACKGROUND_BLUR":"Background Blur","SEEK_TIME_DURATION":"Seek Time Duration","AUTO_PLAY":"Auto-Play Next Episode","PLAY_NOW":"Play Now","MARK_AS_WATCHED":"Mark as Watched","MARK_AS_UNWATCHED":"Mark as Unwatched","REWIND_TO_BEGINNING":"Rewind to Beginning","CONTINUE_WATCHING":"Continue Watching","ALL":"All","SECONDS":"seconds","ON":"ON","OFF":"OFF","RELOAD":"Reload","EDIT_URL":"Edit URL","URL":"URL","NONE":"None","EMBEDDED":"Embedded","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Switch Devices","REMOTE_VIDEOS":"Videos","REMOTE_ADJUST_TIMING":"Adjust timing","REMOTE_ADJUST_SIZE":"Adjust size","REMOTE_COULD_NOT_BE_LOADED":"Web Remote could not be loaded","REMOTE_RETRY":"Retry","TORRENT_PROFILE_DEFAULT":"Default","TORRENT_PROFILE_SOFT":"Soft","TORRENT_PROFILE_FAST":"Fast","TORRENT_PROFILE_ULTRA_FAST":"Ultra Fast","MB_S":"MB/s","FAQ_001_H1":"What is Stremio?","FAQ_001_P1":"Stremio is a media center software designed for video entertainment with ease of use in mind. Stremio allows you to organize & watch your own collection of movies, series, channels and live TV.","FAQ_001_P2":"Stremio collect the content it shows you from your local disk and our addons system.","FAQ_001_P3":"It will also notify you when new episodes/videos/movies you\'re interested in come out, and provide movie recommendations for you.","FAQ_02_H1":"How does Stremio compare to Kodi and Plex?","FAQ_02_P1":"We are inspired by those two pieces of software. But we have different goals - Stremio is specifically targeted towards entertainment video, and strives to become the mainstream solution for that by being very easy to use.","FAQ_02_P2":"Stremio will never be as customizable and feature-rich as Kodi and Plex, but it is significantly easier to use. Just ${1} get it and see ${2} :)","FAQ_03_H1":"How does Stremio compare to Netflix?","FAQ_03_P1":"Again, Netflix is one of our inspirations. We strive to achieve the user experience of Netflix, plus a lot of added goodies. But most importantly, we\'re giving you the freedom to manage your own library and add new content sources with our addon system.","FAQ_03_P2":"That makes Stremio infinitely extendable, so when you use Stremio, you\'re never limited to the content Netflix decides to license. For example, through Stremio you can watch content from ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} and even ${9}Netflix${10} itself!","FAQ_04_H1":"How does Stremio compare to Flipboard?","FAQ_04_P1":"We don’t get that question that often, except when talking to start-up people :)","FAQ_04_P2":"Stremio is by design a content aggregator, which essentially makes it Flipboard for video. This is very apparent in our Board section, which gives you catalogues and new episode/new video notifications for what you follow, just like Flipboard.","FAQ_05_H1":"How does Stremio compare to Popcorn Time?","FAQ_05_P1":"Stremio and Popcorn Time are similar in user interface, because there aren’t many ways to do video entertainment catalogues right :)","FAQ_05_P2":"But while Popcorn Time is focused on streaming torrents from specific sources, Stremio is unrestricted and is merely a content aggregator - it’s not locked into a specific content source.","FAQ_05_P3":"Furthermore, we do not provide any torrent addons by default, so Stremio does not cover the Popcorn Time use-case with official functionality.","FAQ_05_P4":"Another notable difference is that Popcorn Time is completely open source, while Stremio is ${1} partially open source${2}.","FAQ_06_H1":"Will you add this movie/series?","FAQ_06_P1":"No, sorry :(","FAQ_06_P2":"As is mentioned in most of the other questions, Stremio does not provide any content by itself - everything is added through the addons system. In case you have a content request, you can use the “Report” button in the Player, which will send an email to the author of the addon you’re currently using.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Will you create addon for X?","FAQ_08_P1":"It\'s entirely possible.","FAQ_08_P2":"If you have an idea for an addon, drop us a line at ${1}office@stremio.com${2}, but please make sure your addon idea will not infringe on any copyrights or terms of use.","FAQ_08_P3":"At the moment, the next things on our roadmap are addons for FandangoNOW, Filmon.tv video on demand and Crunchyroll.","FAQ_09_H1":"Does Stremio use BitTorrent?","FAQ_09_P1":"Yes, Stremio supports BitTorrent as a streaming protocol. You can use that either with a torrent addon, or by drag-and-dropping a .torrent file into Stremio, or by pasting a magnet link into the Search Bar.","FAQ_09_P2":"Please note that the only official addon using BitTorrent is ${1}Vodo${2}, which provides indie content, all permitted to be distributed with BitTorrent.","FAQ_09_P3":"We do not support use of any third-party addons which may enable copyright infringement.","FAQ_10_H1":"What can I watch in Stremio with the official addons?","FAQ_10_P1":"By default, you can watch Filmon.tv, YouTube and Vodo content within Stremio itself, with it’s embedded player. Additionally, we have an addon for Twitch.tv and a few others.","FAQ_10_P2":"This combined provides a selection of:","FAQ_10_L1":"Popular TV channels, provided by Filmon.tv - for example E4, BBC, Bollyworld TV","FAQ_10_L2":"Everything from YouTube - for example BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Indie movies with Vodo","FAQ_10_L4":"Online gaming broadcasts with Twitch.tv","FAQ_10_P3":"Additionally, there are many content sources provided with Guidebox and the Netflix addons, which <b>do not</b> play entirely inside Stremio, but would redirect to the given service. For example, the Guidebox addon would give you a selection of movies you can stream in the US for free, from services like TubiTV and Crackle.","FAQ_11_H1":"Stremio won\'t install, what should I do?","FAQ_11_P1":"If you\'re on Windows, try ${1}this alternative installer${2}.","FAQ_11_P2":"If you\'re on Mac OS X, please be aware that we don\'t support anything older than OS X Mavericks (10.9).","FAQ_11_P3":"If you\'re on Linux, be aware that we only support 64 bit (x64) Linux at the moment.","FAQ_11_P4":"If you still can\'t resolve your problem, please write us at our ${1}Facebook group${2}.","FAQ_12_H1":"Why does my anti-virus complain? Is Stremio safe?","FAQ_12_P1":"We assure you Stremio is ${1}100% clean${2}.","FAQ_12_P2":"Your antivirus is complaining because we include advertising in our installer, which some anti-virus programs recognize as ad-ware.","FAQ_12_P3":"If you\'re still unsure, you can try our ${1}alternative installer${2}.","FAQ_13_H1":"How can I make an addon?","FAQ_13_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_13_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_13_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_14_H1":"How are addons published?","FAQ_14_P1":"When you create an addon and host, and put a <b>endpoint</b> field in your manifest, which points to a working addon address, the addon will automatically publish itself to our ${1}Addon catalogue${2}.","FAQ_14_P2":"This happens because the server part of the stremio-addons module automatically makes a call to our API to announce the addon. When our API validates your <b>endpoint</b> as a valid addon, it will start showing in the catalogue.","FAQ_15_H1":"Can I run Stremio in my browser?","FAQ_15_P1":"Not at the moment, but this is coming!","FAQ_15_P2":"If you\'re curious to see an Alpha, you can see it here: ${1}alpha4.strem.io${2}. Keep in mind streaming is disabled on this alpha. We support Chrome, Firefox, Opera and Edge.","FAQ_16_H1":"Casting to TV doesn\'t work / subtitles don\'t work","FAQ_16_P1":"Casting to TV uses the DLNA technology which is very inconsistent between different TV brands and models. For that reason, we do not have the ability to test it in every case, so it\'s far from perfect. Despite this, we\'re working on improving it constantly but we cannot give you a time estimate on when DLNA will start working properly with your TV.","FAQ_16_P2":"If you don\'t even see your TV in the casting menu, please try disabling your network connection and re-enabling it (on Windows, right click the Network and use Enable/Disable), as well as restarting your router, TV and PC.","FAQ_16_P3":"If you are still encountering issues, you can help us by sending your TV brand and model information at ${1}office@stremio.com${2}.","FAQ_16_P4":"In the meantime, we recommend Chromecast, which we support very well, or simply plugging in your TV to your PC with an HDMI cable.","FAQ_17_H1":"Stremio freezes and/or crashes, what can I do?","FAQ_17_P1":"First of all, if you\'re using Windows 7 with AVG anti-virus: we have a problem with that combination. The problem is in AVG itself, and there\'s no reasonable way to resolve it on our end. Unfortunately, exceptions or disabling the anti-virus won\'t work. The only solution is to replace AVG with something else.","FAQ_17_P2":"If that\'s not the issue, but you\'re still using Windows, please update to the latest service pack and update/re-install your GPU drivers, then try again.","FAQ_17_P3":"If you\'re problem is still not resolved, or you\'re using a Mac or Linux, please write us reporting the exact details of the problem at ${1}our Facebook group${2}.","FAQ_18_H1":"How can I make an addon?","FAQ_18_P1":"For starters, we recommend you check our ${1}addons system module${2} on GitHub.","FAQ_18_P2":"Afterwards, you can follow the ${1}Hello World tutorial${2}.","FAQ_18_P3":"If you don\'t have any programming skills, please post your idea on ${1}the Reddit community${2} and contact us with your addon idea on ${3}office@stremio.com${4}.","FAQ_19_H1":"Why is Stremio taking disk space?","FAQ_19_P1":"Stremio has a <b>local cache</b> to temporarily keep the video files you stream.","FAQ_19_P2":"This has two benefits: first, it allows Stremio to pre-buffer the video ahead so as to ensure smoother streaming. Second, it keeps the videos in the local cache so you can continue watching them offline.","FAQ_19_P3":"How much Stremio keeps depends on the <b>Cache</b> setting in the Settings panel. Stremio may keep up to the set amount (e.g. 2GB) on your disk, unless the currently streamed video is larger than that, in which case it has to allocate enough storage to keep it until you\'re streaming it.","FAQ_20_H1":"Where is the cache folder?","FAQ_20_P1":"On Windows, it\'s stremio-cache in the drive you picked in Settings (e.g. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"On MacOS, it\'s \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"On Linux, it\'s \\"~/.stremio/stremio-cache\\" or \\"~/stremio-cache\\"","FAQ_21_H1":"I get \\"Streaming server is not found\\" error, what can I do?","FAQ_21_P1":"If you get this error, it means one of few things:","FAQ_21_P2":"1) You are trying to use an addon backed by YouTube/BitTorrent source, through our ${1}web version${2}. In this case, you should install our desktop version from ${3}our website${4}.","FAQ_21_P3":"2) Something is wrong with your Stremio installation. In this case, try re-installing our latest desktop version from ${1}the website${2}. If this does not help, try disabling anti-virus programs and firewalls, restarting your PC and trying again. If this does not work too, please write us at our ${3}our Facebook group${4}.","FAQ_22_H1":"I cannot see/use most addons on iOS","FAQ_22_P1":"Because of restrictions in the Apple App Store terms and conditions, we have restricted the iOS application only to a particular set of addons.","FAQ_22_P2":"But rest assured - there will be more addons for iOS in the future, and we may also add an integration that will allow you to use all Stremio addons thanks to connecting the iOS app to the Stremio Streaming Server."}')},14205:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Film","TYPE_series":"Dizi","TYPE_tv":"TV kanalı","TYPE_channel":"Kanal","TYPE_other":"Diğer","TYPE_movie_PL":"Filmler","TYPE_series_PL":"Diziler","TYPE_tv_PL":"TV kanalları","TYPE_channel_PL":"Kanallar","TYPE_other_PL":"Diğer","TYPE_ALL":"Tümü","TYPE":"Tür","CATALOG_com_linvo_cinemeta_top":"Beğenilenler","CATALOG_com_linvo_cinemeta_imdbRating":"Öne Çıkanlar","CATALOG_com_linvo_cinemeta_year":"Yeniler","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Kamu Malı Filmler","VIDEO":"Görüntü","BACK":"Geri","MORE":"Daha fazla","DONE":"Bitti","COPY":"Kopyala","SUCCESS":"Başarılı","ERROR":"Hata","SETTINGS_CASTING_MODE_PICKER":"Yayın modu","CASTING_MODE_HLSV2":"Varsayılan","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Kod dönüştürme yok","Discover":"Keşfet","Board":"Pano","Library":"Kitaplık","My Library":"Kitaplığım","Calendar":"Takvim","NOTIFICATION_ONLINE":"Şu an çevrimiçisiniz","NOTIFICATION_OFFLINE":"Şu anda çevrimdışısınız","INTERNET_CONNECTION":"Ağ bağlantısı","STORAGE_FULL_TITLE":"Dikkat: Depolama dolu!","STORAGE_FULL_TEXT":"Stremio, ayarlarınızı, tercihlerinizi veya oturum açma bilgilerinizi kaydedemeyecektir. Stremio\'yu yeniden başlatmayı veya yeniden yüklemeyi düşünün.","SEARCH":"ara","SEARCH_NO_RESULTS":"Sonuçlar bulunamadı","SEARCH_EXPLANATION_CONTENT":"Filmler, diziler, YouTube ve TV kanallarını arayın","SEARCH_EXPLANATION_PEOPLE":"Aktörler, yönetmenler, yazarları arayın","SEARCH_PASTE_LINKS":"HTTP ve Magnet bağlantılarını yapıştırın","SEARCH_OR_PASTE_LINK":"Arayın ya da bağlantıyı yapıştırın","SEARCH_SUGGESTIONS":"Arama Önerileri","ADD_TO_LIB":"Kitaplığa Ekle","REMOVE_FROM_LIB":"Kitaplıktan Kaldır","ADDED_TO_LIB":"Kitaplığa Eklendi","REMOVED_FROM_LIB":"Kitaplıktan Kaldırıldı","TRAILER":"Fragman","WATCH_TRAILER":"Fragmanı İzle","WATCH_NOW":"Şimdi İzle","SHOW":"Göster","SHOW_MOVIE":"Filmi Göster","WATCH_RANDOM":"Rastgele İzle","IMDB_RATING":"IMDB Puanı","YEAR":"Yıl","DIRECTOR":"Yönetmen","WRITER":"Yazar","LEAD_ACTORS":"Başroller","CAST":"Oyuncular","CREW":"Ekip","SHOW_MORE_CAST":"Daha fazlasını göster »","AIRED":"Yayın tarihi","SEASONS":"Sezonlar","GENRE":"Tür","GENRE_ALL":"Tüm türler","CATALOG":"Katalog","SUMMARY":"Özet","SHOW_MORE":"Daha Fazla Göster","SIMILAR":"Benzer","UPCOMING":"Yaklaşan","TBA":"Duyurulacak","ENDED":"Biten","DURATION":"Süre","FEATURED":"Öne çıkanlar","METADATA":"Üstveri","CATEGORY":"kategori","LINKS_GENRES":"Türü","LINKS_CAST":"Oyuncular","LINKS_DIRECTORS":"Yönetmenler","SEARCH_VIDEOS":"görüntüleri arayın","SEARCH_PLACEHOLDER":"arayın veya URL yapıştırın","ADDON":"eklenti","ADDONS":"Eklentiler","OFFICIAL":"resmi","ADDONS_OFFICIAL":"Resmi Stremio Eklentileri","ADDONS_POPULAR":"Bölgenizde beğenilen","ADDON_FREE":"ücretsiz","ADDON_PEERED":"denk gelen","ADDON_SUBSCRIPTION":"abonelik","ADDON_STREAM_GEORESTRICTED":"bölgenizde mevcut değil","ADDON_STREAM_OFFLINECACHE":"Çevrimdışı Önbellek","ADDON_STREAM_LOCALFILE":"Yerel Dosya","SHARE_ADDON":"Eklentiyi paylaş","AVAILABLE_STREAMS":"Mevcut Akışlar","NO_STREAM":"Akışlar bulunamadı","ALL_ADDONS":"Tümü","INSTALL_MORE_ADDONS":"Daha fazla akış için lütfen daha fazla eklenti yükleyin","STREAM_NOT_SUPPORTED":"Seçilen akış bu platformda desteklenmiyor.","ADDON_CATALOGUE":"Tüm eklentileri göster »","ADDON_CATALOGUE_MORE":"Eklentileri yükle","REPO_ADDED":"Depo eklendi","ADDON_REPO_EXIST_ERR":"Bu eklenti koleksiyonu zaten var","ADDON_REPO_ERR":"Koleksiyon eklenirken hata meydana geldi","ADDON_ADD_ERR":"Eklenti eklenirken hata meydana geldi","ERR_ADDON_PROTECTED":"Eklenti kaldırılamıyor, korumalı","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Bir şeyler ters gitti - kimlik doğrulaması başarısız olabilir","ERR_NOT_COLLECTION_URL":"Bir koleksiyon URL\'si değil","ERR_NOT_ADDON_URL":"Bir eklenti URL\'si değil","ERR_DETECTFROMURL":"Bu URL\'den eklenti/koleksiyon bulunamıyor","ADDON_DUPLICATE_WARNING":"Uyarı: yinelenen eklenti","ADDON_COLLECTION_SET_FAILED":"Yüklü eklentilerin hesabınıza eşitlenmesi başarısız oldu","SETTINGS_DATA_EXPORT":"Kullanıcı verilerini dışa aktar","ADDON_PULL_FAILED":"Yüklü eklentilerin hesabınızdan eşitlenmesi başarısız oldu","REFRESH_ON_CLICK":"Yeniden denemek için tıklayın","ADDON_LOADING_MANIFEST":"Eklenti bildirisi yükleniyor","ADDON_LOADING_MANIFEST_FROM":"{{origin}} üzerinden eklenti bildirisi yükleniyor","ADDON_LOADING_MANIFEST_FAILED":"{{origin}} üzerinden eklenti bildirisini alma başarısız oldu","STILL_IN_THEATER":"Film hala gösterimde","WATCH_IN_CINEMA":"Yerel sinemanızda izleyin","IN_THEATER":"Sinemada","GET_TICKETS":"Bilet al","UPCOMING_EPISODE":"Yaklaşan bölüm","UPCOMING_EPISODE_MESSAGE":"Bu bölümün yayınlanacağı tarih","MISSING_DATE_EPISODE":"Eksik bölüm tarihi","MISSING_DATE_EPISODE_MESSAGE":"Bu bölüm henüz yayınlanmamış olabilir","CHANNEL_NOT_SCRAPED":"Bu kanal henüz uygun değil.<br>Lütfen birkaç dakika içinde yine geri gelin.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Mevcut olduğunda bildirim almak için kitaplığınıza ekleyin.","GET_NOTIFIED_WHEN_AVAILABLE":"Mevcut olduğunda bilgilendirileceksiniz.","WARNING_STREAMING_SERVER":"Uyarı: yerel akış sunucusu bulunamadı. Yerel dosyalardan, YouTube ve BitTorrent\'den akış kullanılamayacaktır.","WARNING_STREAMING_SERVER_DISMISS":"Vazgeç","WARNING_STREAMING_SERVER_LATER":"Sonra","DECODER_WARNING":"Uyarı: bu görüntü, donanımınız tarafından desteklenmiyor olabilir. Oynatma yavaş olabilir, unutmayın.","GENERIC_ERROR_MESSAGE":"Bir şeyler yanlış gitti!","TRY_AGAIN":"Tekrar dene","CLEAR_DATA":"Verileri temizle","PLAYER_ERROR":"Eyvah, Oynatıcı Hatası","PLAYER_ERROR_LOOKSLIKE":"Benzediği durum","PLAYER_ORIENTATION":"Oynatıcı yönü","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Kilitli","PLAYER_ORIENTATION_SENSOR_SHORT":"Sensör","PLAYER_ORIENTATION_LANDSCAPE":"Oynatıcı yönü yatay olarak kilitli","PLAYER_ORIENTATION_SENSOR":"Oynatıcı yönü otomatik (sensör)","PLAYER_PLAYBACK_SPEED":"Oynatma Hızı","PLAYER_PLAYBACK_ERROR":"Oynatma hatası, lütfen tekrar deneyin","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Bilinmeyen hata","PLAYER_PLAYBACK_ERROR_DEFAULT":"Üzgünüz, bu görüntü {{productName}} tarafından oynatılamaz.","PLAYER_SUBTITLES_LANGUAGES":"Altyazı Dilleri","PLAYER_SUBTITLES_VARIANTS":"Altyazı Çeşitleri","PLAYER_SUBTITLES_SETTINGS":"Altyazı Ayarları","PLAYER_SUBTITLES_DISABLED":"Altyazılar etkisizleştirildi","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Dikey Konum","PLAYER_SUBTITLES_LOADED":"Altyazılar yüklendi","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Gömülü altyazılar yüklendi","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Özel altyazılar yüklendi","PLAYER_SUBTITLES_LOADED_LOCAL":"Yerel altyazılar yüklendi","PLAYER_SUBTITLES_LOADED_ORIGIN":"Altyazılar, {{origin}} kaynağından yüklendi","PLAYER_PLAY":"Oynat","PLAYER_PAUSE":"Duraklat","PLAYER_NEXT_VIDEO":"Sonraki Görüntü","PLAYER_MUTE":"Sesi Kapat","PLAYER_UNMUTE":"Sesi Aç","PLAYER_OPEN_IN_EXTERNAL":"Harici oynatıcıda aç","PLAYER_OPEN_IN_NPLAYER":"nPlayer\'da aç","PLAYER_PLAY_IN":"{{device}} içinde oynat","PLAYER_LIVE":"Canlı","PLAYER_NEXT_VIDEO_TITLE":"Sıradaki gelen","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Sıradaki","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Vazgeç","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Şimdi izle","PLAYER_COPY_STREAM_SUCCESS":"Akış bağlantısı panonuza kopyalandı","PLAYER_COPY_STREAM_ERROR":"Akış bağlantısını kopyalama başarısız oldu","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"İndirme bağlantısı panonuza kopyalandı","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"İndirme bağlantısını kopyalama başarısız oldu","PLAYER_STATISTICS":"İstatistikler","PLAYER_PEERS":"Kişi","PLAYER_SPEED":"Hız","PLAYER_COMPLETED":"Tamamlanan","PLAYER_INFO_HASH":"Bilgi adreslemesi","STREAMING_FROM":"yayının geldiği yer","CASTING_TO":"Yayınlandığı yer","NETWORK_STATUS":"Ağ durumu","STREAM_SPEED":"Yayın hızı:","STREAM_BUFFERED":"Arabelleğe alınan:","PEERS_INFO":"Kişi Bilgileri","PEERS_ACTIVE":"Etkin:","PEERS_CONNECTED":"Bağlandı:","PEERS_WAITING":"Bekleniyor:","TRANSCODING_WARNING":"Uyarı: görüntü kodu dönüştürülüyor.","STREAM_LOADING":"yükleniyor...","PLAYING_LOCAL":"yerel dosyadan oynatılıyor","PLAYING_CACHE":"önbellekten oynatılıyor","WRONG_SUBS":"Altyazı yanlış mı?","ERR_SUBS_LOADING_TITLE":"Altyazı yüklenirken hata oldu","ERR_SUBS_LOADING":"Altyazıları yükleme başarısız: bu kullandığınız eklenti ya da ağ bağlantınız ile ilgili bir sorun olabilir","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Aşağıdaki altyazı eklentileri başarısız oldu","ERR_CASTING_UPDATE_TITLE":"Yayınlama cihazı bilgisi güncellenemedi: akış sunucusu çevrimdışı olabilir","CHOOSE_DEVICE":"İzleyeceğiniz bir cihaz seçin","NO_CAST_DEVICES":"Kullanılabilir yayınlama cihazları yok.","NO_SETTINGS":"Kullanılabilir ayarlar yok.","NO_OPTIONS":"Kullanılabilir seçenekler yok","PHONE_TABLET":"Telefon / Tablet","DISABLED_LABEL":"{{label}} yapılandırılabilir değil","SUBTITLES":"Altyazılar","SUBTITLES_CHANGE":"Altyazıyı şunun için değiştir: ","SUBTITLES_CHANGE_NONE":"Bu dil için başka altyazı yok, üzgünüz.","SUBTITLES_CHANGE_ACIVE":"Şu anda #{{subtitlesDialog.activeIdx + 1}} altyazısı etkinleştirildi. #{{subtitlesDialog.pickedIdx + 1}} altyazısını etkinleştirmek için \\"Devam\\" düğmesine tıklayın.","SUBTITLES_OR":"Alternatif olarak,","SUBTITLES_ADJUST_DELAY":"Altyazı gecikmesini ayarlayın:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Veya oynatırken ayarlamak için <span>G</span> / <span>H</span> tuşlarını kullanın.","SUBTITLES_ADJUST_DELAY_TIP":"İPUCU: oynatırken ayarlamak için <span>G</span> / <span>H</span> tuşlarını kullanabilirsiniz.","SUBTITLES_DELAY":"Altyazı gecikmesi:","SUBTITLES_LOADING":"Altyazılar yükleniyor...","SUBTITLES_UNAVAILABLE":"Kullanılabilir harici altyazı yok","SUBTITLES_DISABLED":"Etkisizleştirildi","EXTERNAL_PLAYER_DISABLED":"Etkisizleştirildi","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Seçime İzin Ver","EXTERNAL_PLAYER_HINT":"İpucu: Her zaman harici oynatıcı ile açmaya izin veren bir ayar vardır.","DONT_SHOW_AGAIN":"Bir daha gösterme","SERVICE_INSTALL":"Yükle","AUDIO":"Ses","DEFAULT_LANGUAGE":"Varsayılan Dil","DEFAULT_SECONDARY_LANGUAGE":"Varsayılan İkincil Dil","SEASON":"Sezon","SEASON_NUMBER":"Sezon {{season}}","PREV_SEASON":"Önceki sezon","NEXT_SEASON":"Gelecek sezon","EPISODE":"Bölüm","EPISODE_ABBREVIATION":"EP","SPECIAL":"Özel","SORT":"sırala","SORT_BY":"Sıralama şekli:","FILTER":"süz","SORT_TRENDING":"çok izlenen","SORT_RECENT":"en yeni","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"puan","SORT_WATCHED":"izlenen","SORT_YEAR":"yıl","SELECT":"Seç","SELECT_TYPE":"Tür seçin","SELECT_SORT":"Sıralama seçin","SELECT_CATALOG":"Katalog seçin","NO_CATALOG_SELECTED":"Seçilen katalog yok!","CATALOG_FILTERS":"Katalog süzgeçleri","ALL_FILTERS":"Tüm süzgeçler","SELECT_GENRE":"Tür seçin","SORT_LASTWATCHED":"son izlenen","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"en çok izlenen","SORT_NOTWATCHED":"izlenmeyen","New for You":"Sizin için Yeni","New Episodes":"Yeni Bölümler","New Videos":"Yeni Görüntüler","Recommendations":"Önerilenler","LIBRARY_RESUME":"Devam","LIBRARY_PLAY":"Oynat","LIBRARY_DETAILS":"Ayrıntılar","LIBRARY_RESUME_DISMISS":"Vazgeç","LIBRARY_CLEAR_PROGRESS":"İlerlemeyi Temizle","LIBRARY_REMOVE":"Kaldır","LIBRARY_NOT_LOGGED_IN":"Kitaplık yalnızca oturum açmış kullanıcılar tarafından kullanılabilir","LIBRARY_NOT_LOADED":"Kitaplık yüklenmedi!","LIBRARY_EMPTY":"Boş Kitaplık","CALENDAR_NOT_LOGGED_IN":"Takvim yalnızca oturum açmış kullanıcılar tarafından kullanılabilir","NOT_LOGGED_IN_CLOUD":"En sevdiğiniz filmlere ve TV programlarına istediğiniz zaman, istediğiniz yerden erişin","NOT_LOGGED_IN_RECOMMENDATIONS":"Görüntüleme geçmişinize göre uyarlanmış öneriler","NOT_LOGGED_IN_NOTIFICATIONS":"Bir daha asla bir bölümü kaçırmayın","NOT_LOGGED_IN_CALENDAR":"Kişisel izleme takviminizi planlayın","CALENDAR_NO_NEW_EPISODES":"Bu gün için yeni bölümler yok","DISCOVER_FEATURED":"Öne Çıkanlar","DISCOVER_TOP":"En İyiler","DISCOVER_OSCAR":"Oscar Kazananlar","DISCOVER_WARNING_TITLE":"Eyvah!","DISCOVER_EMPTY_CATALOG":"Bu eklenti boş içerik döndürdü.","DISCOVER_ADULT_WARNING":"Bu içerik yalnızca yetişkinler için görünürdür. 18 yaşından büyük müsünüz?","DISCOVER_NOADDON_WARNING":"Uyarı: bu tür için etkin Stremio eklentisi yok. Kaydedilen öğeler gösteriliyor, burada hiç birşey güncellenmeyecek.","DISCOVER_LOAD_ERR":"İçerik yüklenmedi, hata meydana geldi.","DISCOVER_ADDON_UNINSTALLED":"Bu içerik artık mevcut değil, eklentiyi kaldırmış olabilirsiniz.","UNINSTALL_THIS_ADDON":"Bu eklentiyi kaldır","ERR_ADDON_NOT_INSTALLED":"Bu eklenti yüklü değil. Şimdi yüklensin mi?","DETAIL_RECEIVE_NOTIF_SERIES":"Yeni bölümler için bildirim alın","DETAIL_RECEIVE_NOTIF_VIDEOS":"Yeni görüntüler için bildirim alın","SIDEBAR_SHOW_STREAMS":"Akışları Göster","RELAUNCH":"Şimdi yeniden başlat!","UPGRADE":"Yeni sürüm mevcut! En son Stremio sürümüne yükseltin","RELOAD_UI":"Kullanıcı arayüzünü yeniden yükleyin","MANUAL_UPDATE_TITLE":"Stremio sürümünüzü güncelleyin","MANUAL_UPDATE_LINE1":"Son derece önerilmeyen eski bir Stremio sürümü kullanıyorsunuz.","MANUAL_UPDATE_LINE2":"Lütfen en kısa sürede güncelleyin.","BUTTON_UPDATE_LATTER":"Şimdi değil","BUTTON_UPDATE_NOW":"Güncelle","UPDATER_TITLE":"Stremio\'nun yeni bir sürümü mevcut","UPDATER_INSTALL_BUTTON":"Şimdi yükle","ANONYMOUS_USER":"İsimsiz kullanıcı","DONT_HAVE_ACC":"Bir hesabınız yok mu?","HAVE_ACC":"Zaten bir hesabınız var mı?","PASSWORD":"Parola","PASSWORD_CONFIRM":"Parolayı doğrula","EMAIL":"E-posta","FB_LOGIN":"Facebook ile devam et","APPLE_LOGIN":"Apple ile devam et","FB_NOTHINGSHARED":"İzniniz olmadan hiçbir şey paylaşılmaz.","FB_NOPOST":"Sizin adınıza herhangi bir şey göndermeyeceğiz","OR":"ya da","I_ACCEPT":"Kabul ediyorum: ","I_ACCEPT_BY_CLICKING":"Yukarıdaki düğmeye tıklayarak, kabul ettiğimi doğruladıklarım: ","TOS":"Şartlar ve Koşullar","MUST_ACCEPT_TERMS":"Şartları kabul etmek zorundasınız","PASSWORDS_NOMATCH":"Parolalar eşleşmiyor","SIGN_UP":"Kaydol","SIGN_UP_EMAIL":"E-posta ile kaydol","CLICK_TO_SIGN_UP":"Kaydolmak için buraya tıklayın.","LOG_IN":"Oturum aç","LOG_OUT":"Oturumu kapat","EXIT_FULLSCREEN":"Tam ekran modundan çık","ENTER_FULLSCREEN":"Tam ekran moduna geç","PLAY_URL_MAGNET_LINK":"URL/Magnet bağlantısını oynat","HELP_FEEDBACK":"Yardım ve Geri Bildirim","TERMS_OF_SERVICE":"Kullanım Şartları","PRIVACY_POLICY":"Gizlilik İlkesi","ABOUT_STREMIO":"Stremio Hakkında","USER_PANEL":"Kullanıcı Paneli","LOGIN_LABEL":"Oturum aç","GUEST_LOGIN":"Misafir oturumu aç","GUEST_LOGIN_NOTICE":"Misafir Oturumu Açma önerilmez. Normal oturum açmayı kullanmak, Stremio\'nun kitaplığınızı eşitlemesini, en sevdiğiniz diziler/kanallar için bildirimler almasını sağlar. Devam etmek istediğinize emin misiniz?","GUEST_LOGIN_NOTICE_2":"Misafir Oturumu Açma önerilmez - önemli Stremio özellikleri olan Kitaplık ve Pano bildirimlerini eşitlemeyeceksiniz. Devam etmek istediğinize emin misiniz?","CLICK_HERE":"buraya tıklayın","WRONG_PASSWORD":"Yanlış e-posta veya parola. Parolanızı unuttuğunuz durumda, ","SET_A_PASS":"bir parola belirleyin","RESET_PASSWORD":"Parolayı sıfırla","PASSWORD_RESET":"Parola sıfırlama","FORGOT_PASSWORD":"Parolanızı mı unuttunuz?","EMAIL_USED_WITH_FB":"Bu e-posta bir Facebook oturumu açılması ile kullanılmış.","INVALID_EMAIL":"Lütfen geçerli bir e-posta adresi girin","INVALID_PASSWORD":"Lütfen geçerli bir parola girin","CONN_ERR":"Bağlantı hatası - lütfen daha sonra tekrar deneyin.\\n\\nEğer bu devam ederse, güvenlik duvarını/antivirüs yazılımını etkisizleştirin (özellikle Bitdefender\'ı).","IMPORT_FROM_GUEST":"Misafir hesabınızdan Kitaplığa aktarın","RECEIVE_UPDATES_EMAIL":"Stremio\'dan e-postanıza güncellemeleri alın","LOGIN_FAILED":"Oturumu açma başarısız oldu.","SIGNUP_FAILED":"Kaydolma başarısız oldu.","SEARCH_FAILED":"Arama başarısız oldu","EMAIL_USED":"Bu e-posta zaten kullanımda.","WAITING_FB_LOGIN":"Facebook ile oturum açılıyor...","EXTERNAL_OPENING_YOUTUBE":"Stremio\'dan ayrılıyorsunuz ve YouTube\'u açıyorsunuz. Emin misiniz?","EXTERNAL_OPENING_APP":"Başka bir uygulama açmak için Stremio\'dan ayrılıyorsunuz. Emin misiniz?","EXTERNAL_PLAYER_TITLE":"Harici oynatıcıda oynat","EXTERNAL_REMEMBER_PLAYER":"Seçiminizi hatırlamak ister misiniz","EXTERNAL_ALWAYS_PLAY":"Evet","EXTERNAL_ONLY_ONCE":"Hayır","BEST_FIT":"En Uygun","FIT_SCREEN":"Ekrana Sığdır","FILL":"Doldur","16:9":"16:9","4:3":"4:3","Original":"Orijinal","INTRO_TASTE":"Bize nelerden hoşlandığınızı söyleyin","INTRO_TASTE_LONG":"Bize ne izlemek istediğinizi söyleyin","INTRO_TASTE_PICK":"{{interestsRemaining}} ilgi alanı seçin","INTRO_TASTE_PICK_MORE":"{{interestsRemaining}} ilgi alanı daha seçin","INTRO_TASTE_HELP_US":"Hakkınızda daha fazla bilgi edinmemize yardımcı olun.","INTRO_TASTE_CHOOSE_THESE":"Bunlardan bazılarını seçin:","INTRO_TASTE_CHOOSE_MIN":"En az 3 kategori seçin","INTRO_TASTE_CHOOSE_MIN_ERR":"En az 3 kategori seçmek zorundasınız!","INTRO_TASTE_LIFESTYLE":"Yaşam stili","INTRO_TASTE_SPORTS":"Spor","INTRO_TASTE_FOOD_HEALTH":"Yemek ve Sağlık","INTRO_TASTE_BEAUTY_FASHION":"Güzellik ve Moda","INTRO_TASTE_NEWS":"Haber","INTRO_TASTE_GAMING":"Oyun","INTRO_TASTE_SCIENCE_EDU":"Bilim ve Eğitim","INTRO_TASTE_MUSIC":"Müzik","INTRO_TASTE_TRAVEL":"Seyahat","INTRO_TASTE_LATE_NIGHT":"Gece Gösterisi","INTRO_TASTE_REALITY":"Gerçeklik","INTRO_TASTE_COMEDY":"Komedi","INTRO_TASTE_DIY":"Nasıl Kendin Yaparsın","INTRO_TASTE_TECH":"Teknoloji","INTRO_TASTE_CINEMA":"Sinema","NO_ADDONS":"Hiçbir eklenti yüklenmedi!","NO_ADDONS_FOR_TYPE":"Bu tür için hiçbir eklenti yüklenmedi!","ADDON_NOT_SUPPORTED":"Seçilen eklenti bu platformda desteklenmiyor.","ADDON_DISCLAIMER":"Üçüncü taraf eklentileri kullanmak her zaman sizin sorumluluğunuza ve bulunduğunuz yargı bölgesinin geçerli yasasına tabi olacaktır.","ADDON_ACTIVATE":"Bu eklenti etkinleştirilsin mi?","ADDON_REPO_ADD":"Eklenti koleksiyon URL\'si","ADDON_ADD":"Ekle","INSTALL_ADDON":"Eklentiyi yükle","ADD_ADDON":"Eklenti ekle","ADD_ADDON_DESCRIPTION":"Yüklü eklentiler altında görünecek harici bir bağlantı aracılığıyla bir eklenti ekleyebilirsiniz.","PASTE_ADDON_URL":"Eklenti URL\'sini yapıştırın","ADDONS_FILTERS":"Eklentiler süzgeçleri","WHATS_NEW":"Yeni neler var","BUTTON_CONTINUE":"Devam","BUTTON_ACTIVATE":"Etkinleştir","BUTTON_ACTIVATED":"Etkinleştirildi","BUTTON_CANCEL":"İptal","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Gönder","BUTTON_SEND":"Gönder","BUTTON_DISMISS_ALL":"Tümünden Vazgeç","BUTTON_VIEW_ALL":"Tümünü Görüntüle","BUTTON_SEE_ALL":"Tümünü Gör","BUTTON_COLOR_TRANSPARENT":"Şeffaf","BUTTON_PREV":"Önceki","BUTTON_NEXT":"Sonraki","BUTTON_CLOSE":"Kapat","OPEN_IN_BROWSER":"Tarayıcıda aç","LIB_EMPTY":"Kitaplığınız boş görünüyor. Ne kadar kullanışlı olduğunu öğrenin :) ","HOW_START":"İşte nasıl başlayabileceğiniz:","LIB_EMPTY_CAL":"Takviminiz, Kitaplığınızdaki dizileri gösterir.","HOW_START_CAL":"İşte nasıl dizi ekleyebileceğiniz:","LIB_EMPTY_BOARD":"Pano, Kitaplığınızla ilgili bildirimleri ve önerileri gösterir.","HOW_START_BOARD_WAIT":"Lütfen Kitaplığınıza birkaç dizi veya kanal ekleyin, işlememiz için bize birkaç dakika verin :)","HOW_START_BOARD":"İşte nasıl dizi ve filmleri ekleyebileceğiniz:","IMPORT_FB":"<span>Facebook</span>\'tan beğendiğiniz şeyleri içe aktarın","IMPORT_TRAKT":"<span>Trakt</span>\'tan ortam kitaplığınızı içe aktarın","IMPORT_DISCOVER":"<span>Keşfet</span>\'ten ilginç şeyler bulun","IMPORT_DISK":"<span>Yerel diskinizde</span> bulunan filmleri veya dizileri içe aktar","PLEASE_CREATE_ACC":"Kitaplık eşitlemeyi ve Panoyu etkinleştirmek için lütfen <u>bir hesap oluşturun</u>.","IMPORT_DISCOVER_SIGNUP":"Kaydolun ve <span>Keşfet</span>\'ten ilginç şeyler bulun","IMPORT_DISK_SIGNUP":"Kaydolun ve <span>yerel diskinizde</span> bulunan filmleri veya dizileri içe aktarın","LIB_EMPTY_CLOUD":"Bulut kitaplığı","LIB_EMPTY_CLOUD_DESC":"Kişisel bulut kitaplığı tüm cihazlarla eşitlensin","LIB_EMPTY_EARLY":"Erkenci","LIB_EMPTY_EARLY_DESC":"Yeni bölümler için bildirim alın","LIB_EMPTY_PERSONAL":"Kişisel","LIB_EMPTY_PERSONAL_DESC":"Kişisel öneriler alın","LIB_EMPTY_CALENDAR_DESC":"Kişisel izleme takviminizi planlayın","LIB_EMPTY_ALL":"Tüm bunları almak için kaydolun:","LIB_EMPTY_BEST":"Stremio\'dan en iyi şekilde yararlanmak için kaydolun","LIB_EMPTY_OTHER":"Takvim ve diğer harika özellikleri etkinleştirmek için kaydolun","CALENDAR_ADDED":"Stremio takvimi, varsayılan masaüstü takviminize eklendi.","CALENDAR_ADDED_MSG":"Eğer bu işe yaramazsa, lütfen bu URL\'yi takvim uygulamanıza el ile ekleyin","TRAKT_EXPIRED":"Trakt kimlik doğrulamasının süresi doldu, lütfen Ayarlar\'a gidin ve yeniden kimlik doğrulaması yapın","TRAKT_REQUIRES_LOGIN":"Trakt hatası","TRAKT_REQUIRES_LOGIN_MSG":"Oturum açmanız gerekli","TRAKT_IMPORT_WATCHED":"İçe Aktar","THEME":"Tema","THEME_DEFAULT":"Varsayılan","THEME_ADAPTIVE":"Uyarlanabilir","CHOOSE_COLOR":"Bir renk seçin:","SETTINGS_APP_VERSION":"Uygulama Sürümü","SETTINGS_BUILD_VERSION":"Yapım Sürümü","SETTINGS_SERVER_VERSION":"Sunucu Sürümü","SETTINGS_SHELL_VERSION":"Kabuk Sürümü","SETTINGS_SOURCE_CODE":"Kaynak kodu","SETTINGS_LABEL":"Ayarlar","SETTINGS_NAV_GENERAL":"Genel","SETTINGS_NAV_PLAYER":"Oynatıcı","SETTINGS_NAV_STREAMING":"Yayın Akışı","SETTINGS_NAV_SHORTCUTS":"Kısayollar","SETTINGS_SHORTCUT_RELOAD_APP":"Uygulamayı Yeniden Yükle","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Ayarları Aç","SETTINGS_SHORTCUT_SWITCH_TABS":"Sekmeleri Değiştir","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Sekmeler Arasında İleri Yönde Dön","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Sekmeler Arasında Geri Yönde Dön","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Menüler Arasında Gezin","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Aramaya Git","SETTINGS_SHORTCUT_EXIT_BACK":"Çık / Geri Dön","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Oynatma Hızı Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_MENU_VIDEOS":"Görüntü Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Altyazı Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_MENU_AUDIO":"Ses Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_MENU_INFO":"Bilgi Menüsünü Aç/Kapat","SETTINGS_SHORTCUT_FULLSCREEN":"Tam Ekranı Aç/Kapat","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Denetimleri Göster","SETTINGS_SHORTCUT_PLAY_PAUSE":"Oynat / Duraklat","SETTINGS_SHORTCUT_VOLUME_UP":"Sesi Artır","SETTINGS_SHORTCUT_VOLUME_DOWN":"Sesi Azalt","SETTINGS_SHORTCUT_SEEK_NEXT":"Sonrakine Atlat","SETTINGS_SHORTCUT_SEEK_PREV":"Öncekine Atlat","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Geriye Doğru Atlat","SETTINGS_SHORTCUT_SEEK_FORWARD":"İleriye Doğru Atlat","SETTINGS_SHORTCUT_PLAY_NEXT":"Sonrakini Oynat","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Altyazı Boyutunu Artır","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Altyazı Boyutunu Azalt","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Altyazı Gecikmesini Artır","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Altyazı Gecikmesini Azalt","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Altyazı Gecikmesini Ayarla","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Kenar Çubuğunu Aç/Kapat","SETTINGS_SHORTCUT_OR":"veya","SETTINGS_SHORTCUT_TO":">","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Boşluk","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Kimliği Doğrula","SETTINGS_FACEBOOK_IMPORT":"İçe Aktar","SETTINGS_CALENDAR_SUBSCRIBE":"Abone Ol","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Takvim uygulaması açıldı. Lütfen takvime el ile abone olun.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Takvim dosyası indirildi. Lütfen bunu takvim uygulamanıza aktarın.","SETTINGS_INTERFACE_LANGUAGE":"Arayüz Dili","SETTINGS_LAUNCH_STARTUP":"Başlangıçta çalıştır","SETTINGS_VLC_DEFAULT":"VLC ile oynat","SETTINGS_UI_LANGUAGE":"Kullanıcı Arayüzü Dili","SETTINGS_UI_ZOOM":"Arayüzü yakınlaştır","SETTINGS_FULLSCREEN_EXIT":"Esc tuşuyla tam ekrandan çık","SETTINGS_GAMEPAD":"Gamepad desteğini etkinleştir","SETTINGS_CLOSE_WINDOW":"Pencere kapatıldığında uygulamayı kapat","SETTINGS_SUBTITLES_LANGUAGE":"Varsayılan Altyazı Dili","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"İkincil Altyazı Dili","SETTINGS_SUBTITLES_SIZE":"Varsayılan Altyazı Boyutu","SETTINGS_SUBTITLES_BACKGROUND":"Altyazı arka planı","SETTINGS_SUBTITLES_COLOR":"Altyazı rengi","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Altyazı anahat rengi","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Altyazı arka plan rengi","SETTINGS_SEEK_KEY":"Ok tuşlarıyla atlanacak süre","SETTINGS_SEEK_KEY_SHIFT":"Shift tuşu basılı tutulduğunda Ok tuşlarıyla atlanacak süre","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Geri sarma ve İleri sarma süresi","SETTINGS_BINGE":"Sonraki bölümü otomatik oynat","SETTINGS_NEXT_VIDEO":"Sonraki bölümü başlatmak için bildirim göster","SETTINGS_NEXT_VIDEO_TRIGGER":"Bir sonraki bölüm bildiriminin gösterilme süresi:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Sonraki görüntü açılır pencere süresi","SETTINGS_PLAY_IN_BACKGROUND":"Arka planda oynat","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Harici oynatıcıda oynat","SETTINGS_RESIZE":"Oynatmadan önce pencereyi otomatik yeniden boyutlandır","SETTINGS_OVERRIDE_SERVER":"Yayın akış sunucusu URL\'sini geçersiz kıl (gelişmiş)","SETTINGS_SERVER_ADD_URL":"URL ekle","SETTINGS_SERVER_URL":"Yayın akış sunucusu URL\'si: ","SETTINGS_SERVER_AVAILABLE":"Yayın akış sunucusu kullanılabilir.","SETTINGS_SERVER_UNAVAILABLE":"Yayın akış sunucusu kullanılabilir değil.","SETTINGS_SERVER_STATUS_ONLINE":"Çevrimiçi","SETTINGS_SERVER_STATUS_ERROR":"Hata","SETTINGS_SERVER_CONFIGURE_TITLE":"Yayın akış sunucusu URL\'sini yapılandırın","SETTINGS_SERVER_CONFIGURE_INPUT":"Bir yayın akış sunucusu URL\'si girin","SETTINGS_SERVER_CACHE_SIZE":"Önbellek boyutu","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent profili","SETTINGS_HTTPS_ENDPOINT":"Yayın akışı HTTPS uç noktası: ","SETTINGS_TRANSCODE_PROFILE":"Kod dönüştürme profili","SETTINGS_USE_BETA":"Her zaman en son Beta\'yı kullan","SETTINGS_IMPORT_FB":"Facebook\'tan içe aktar","SETTINGS_IMPORT_DISK":"Yerel diskten içe aktar","SETTINGS_IMPORT_TRAKT":"Trakt\'tan içe aktar","SETTINGS_PAUSE_MINIMIZED":"Simge durumunda oynatmayı duraklat","SETTINGS_HWDEC":"Donanım hızlandırmalı kod çözme","SETTINGS_BACKGROUND":"Arka planda oynatma","SETTINGS_SUBSCRIBE_CALENDAR":"Takvime abone ol","SETTINGS_REQ_EXPORT":"Veriyi dışa aktarmayı iste","SETTINGS_ACC_DELETE":"Hesap silme iste","SETTINGS_CHANGE_PASSWORD":"Parolayı değiştir","SETTINGS_TOS":"Kullanım şartları","SETTINGS_SUPPORT":"Destekle iletişime geç","SETTING_LANGUAGE":"Dil","SETTINGS_BLUR_UNWATCHED_IMAGE":"İzlenmemiş bölümlerin resmini bulanıklaştır","SETTINGS_QUIT_ON_CLOSE":"Kapatmada çık","SETTINGS_TRAKT":"Trakt Skroblama","SETTINGS_TRAKT_RE_AUTH":"Yeniden kimlik doğrula","SETTINGS_TRAKT_LOGOUT":"Trakt.tv oturumunu kapat","SETTINGS_TRAKT_LOGOUT_2":"Trakt oturumunu kapat","SETTINGS_SCAN_FOR_REMOTE":"Uzaktan açmak için QR kodu tara","SETTINGS_DESKTOP_NOTIFICATIONS":"Masaüstü bildirimleri","SETTINGS_DATA_SAVER":"Veri tasarrufu","SETTINGS_LANGUAGE_INTERFACE":"arayüz","SETTINGS_LANGUAGE_SUBS":"varsayılan altyazılar","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Ses İzini Otomatik Seç","SETTINGS_DEFAULT_AUDIO_TRACK":"Varsayılan Ses İzi","SETTINGS_SECONDARY_AUDIO_TRACK":"İkincil Ses İzi","SETTINGS_SURROUND_SOUND":"Çevresel ses","SETTINGS_ACCOUNT":"hesap","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"sürüm","SETTINGS_ABOUT":"Hakkında","SETTINGS_MPV_WINDOW":"Oynatıcıyı ayrı bir pencerede başlat (gelişmiş)","SETTINGS_PLAY_IN_EXTERNAL":"Görüntüyü her zaman harici oynatıcıda başlat","SETTINGS_STORAGE_BUTTON":"Yerel Depolamayı Temizle","SETTINGS_STORAGE_MODAL_TITLE":"Emin misiniz?","SETTINGS_STORAGE_MODAL_MESSAGE":"Bu, yerel depolamayı temizleyecek ve oturumunuzu kapatacak.","SETTINGS_HWDEC_PICKER":"Donanım hızlandırmalı kod çözme ayarını seçin","SETTINGS_HW_AUTOMATIC":"Otomatik","SETTINGS_HW_DISABLED":"Etkisizleştirildi","SETTINGS_HW_ACCELERATED":"Kod çözme hızlandırması","SETTINGS_HW_FULL":"Tam hızlandırma","SETTINGS_HW_LEGACY":"Eski","SETTINGS_DISABLED":"Etkisizleştirildi","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Ağ bağlantısı bildirimi","SETTINGS_ANALYTICS":"Çözümlemelere izin ver","SETTINGS_REMOTE_URL":"Uzak URL","SETTINGS_COPY_REMOTE_URL":"Uzak URL\'yi kopyala","SETTINGS_REMOTE_URL_COPIED":"Uzak URL panonuza kopyalandı","SETTINGS_SECTION_SUBTITLES":"Altyazılar","SETTINGS_SECTION_AUDIO":"Ses","SETTINGS_SECTION_CONTROLS":"Denetimler","SETTINGS_SECTION_AUTO_PLAY":"Otomatik Oynat","SETTINGS_SECTION_ADVANCED":"Gelişmiş","SUBSPICKER_AUDIO":"Ses","SUBSPICKER_SUBTITLES":"Eklenti Altyazıları","SUBSPICKER_BLACK_BACKGROUND":"Siyah arka plan rengi kullan","SUBSPICKER_VERTICAL_OFFSET":"Dikey Uzaklık","SUBSPICKER_SIZE":"Boyut","SUBSPICKER_DELAY":"Gecikme","SUBSPICKER_EMBEDDED_SUBS":"Gömülü Altyazılar","MOBILE_PRIVACY_POLICY":"Gizlilik İlkesi","MOBILE_CRASH_REPORTING":"Çökme Bildirimi","MOBILE_ZOOM_TO_FILL":"Ekranı Doldurmak için yakınlaştır","MOBILE_PASSTHROUGH":"Dijital ses çıkışı (içinden geçiş)","MOBILE_RUN_LOW_BATTERY":"Düşük pilde çalıştır","MOBILE_RUN_FOREGROUND":"Ön Plan Hizmeti olarak çalıştır","MOBILE_PERFORMANCE":"PERFORMANS VE KARARLILIK","MOBILE_SERVER_ONLINE":"Çevrimiçi","MOBILE_SERVER_OFFLINE":"Çevrimdışı","MOBILE_QR_EXPIRES":"QR Kod süresi sona erme zamanı ","MOBILE_LOG_INTO":"Stremio hesabınıza oturum açın ","MOBILE_SCAN_QR":"Yukarıdaki QR kodu tarayın veya ","MOBILE_LINK_ACCOUNT":"Hesabı Bağla","MOBILE_SPEEDPICKER_CANCEL":"İptal","MOBILE_SPEEDPICKER_LABEL":"Oynatma Hızını Seçin","MOBILE_EMPTY_LIBRARY":"Kitaplığınız boş","MOBILE_NO_ADDON_ACTIVE":"Bu tür için etkin Stremio eklentisi yok.","MOBILE_ORGANIZER_WARNING":"Stremio Organizer uygulaması sınırlı işlevsellik sağlar. Oynatılabilir akışların listesi ve tam Stremio deneyimi için Stremio\'yu masaüstünde kullanın.","MOBILE_ADDON_LOADING":"hala yükleniyor","MOBILE_ADDONS_LOADING":"eklentiler hala yükleniyor","MOBILE_ADDON":"Eklenti","MOBILE_CONFIGURE_ADDON":"Eklentinizi yapılandırın","MOBILE_CONFIGURE_ADDON_LABEL":"Eklentiyi Yapılandır","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer uygulaması sınırlı eklenti seçimi sağlar. Tam Stremio deneyimi için Stremio\'yu masaüstünde kullanın.","MOBILE_DISCONNECT":"Bağlantıyı kes","MOBILE_LOOKING_FOR_DEVICES":"Cihazlar aranıyor...","MOBILE_CAST_TO":"Yayın yeri","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Hesabı Silin","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Yasal yükümlülüklerden dolayı hesap silme işlemi anında gerçekleşmez. Hesabınızın silinmesini talep ettikten sonra, gelecekte yeni bir Stremio hesabı oluşturmak için farklı bir e-posta adresi/facebook profili kullanmak zorunda kalacaksınız.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Hesap Silmeyi Onaylayın","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Hesabınız Facebook kullanılarak oluşturuldu. Hesabınızı silmek için lütfen www.stremio.com/login adresindeki kullanıcı portalımızı kullanın.","MOBILE_DELETE_ACCOUNT_MESSAGE":"Hesap silme işlemini onaylamak için lütfen parolanızı girin.","MOBILE_DELETE_ACCOUNT_BUTTON":"Hesabı Sil","NAVIGATION_ON":"Açık","NAVIGATION_OFF":"Kapalı","READ_AND_AGREE":"Stremio\'yu okudum ve kabul ediyorum","MARKETING_AGREE":"Stremio\'dan pazarlama haberleri almayı kabul ediyorum","QUIT":"Çıkış","CONNECTED":"Bağlandı","AUTHENTICATE":"Kimliği Doğrula","AUTHENTICATING":"Kimlik doğrulanıyor...","CACHING":"Önbellekleme","SETTINGS_CACHING_DRIVE":"Önbellekleme sürücüsü","ENABLE_LOCAL_FILES_ADDON":"Yerel dosyalar eklentisini etkinleştir (yeniden başlatma gerektirir)","LOCAL_ADDON_NOT_ENABLED":"Yerel eklenti etkinleştirilmemiş. Ayarlara gitmek ve etkinleştirmek için buraya tıklayın","ENABLE_REMOTE_HTTPS_CONN":"Uzak HTTPS bağlantılarını etkinleştir","TORRENT_PROFILE":"Torrent Profili","DATA_CACHING":"Veri Önbellekleme","MAGNET_PARSING":"Magnet bağlantısı ayrıştırılıyor","January":"Ocak","February":"Şubat","March":"Mart","April":"Nisan","May":"Mayıs","June":"Haziran","July":"Temmuz","August":"Ağustos","September":"Eylül","October":"Ekim","November":"Kasım","December":"Aralık","Monday":"Pazartesi","Tuesday":"Salı","Wednesday":"Çarşamba","Thursday":"Perşembe","Friday":"Cuma","Saturday":"Cumartesi","Sunday":"Pazar","Action":"Aksiyon","Comedy":"Komedi","War":"Savaş","Family":"Aile","Animation":"Animasyon","Adventure":"Macera","Fantasy":"Fantastik","Crime":"Suç","Mystery":"Gizem","Romance":"Romantik","Drama":"Dram","Horror":"Korku","Thriller":"Gerilim","Sci-Fi":"Bilim Kurgu","Music":"Müzik","Biography":"Biyografi","Documentary":"Belgesel","Sport":"Spor","Musical":"Müzikal","Western":"Batılı","Film-Noir":"Kara Film","News":"Haber","History":"Tarih","Game-Show":"Oyun-Gösteri","Reality-TV":"Gerçeklik-TV","Talk-Show":"Sohbet Programı","Film & Entertainment":"Film ve Eğlence","Gaming":"Kumar","From TV":"Televizyondan","Lifestyle":"Yaşam","Science & Education":"Bilim ve Eğitim","Cooking & Health":"Yemek Pişirme ve Sağlık","Beauty & Fashion":"Güzellik ve Moda","Sports":"Spor","News & Politics":"Haber ve Politika","How-to & DIY":"Nasıl Yapılır ve Kendin Yaparsın","Tech":"Teknoloji","Automotive":"Otomotiv","Causes & Non-Profits":"Nedenler ve Kâr Amacı Gütmeyenler","Movies":"Filmler","Uk Live Tv":"İngiliz Canlı TV","Fashion":"Moda","Business News Radio":"İş Haberleri Radyosu","Business Tv":"İş Televizyonu","Cars & Auto":"Otomobil ve Otomotiv","Comedy Radio":"Komedi Radyosu","Lifestyle Radio":"Yaşam Stili Radyosu","News Tv":"Haber TV","Food And Wine":"Yemek ve Şarap","Latino Tv":"Latin TV","Shopping Tv":"Alışveriş Televizyonu","Religion":"Din","Kids":"Çocuklar","Body & Soul":"Vücut ve Ruh","Education":"Eğitim","Indian Tv":"Hindistan TV","Extreme Sports":"Ekstrem Sporlar","Middle Eastern Tv":"Ortadoğu TV","Celebrity Tv":"Magazin TV","Science Tv":"Bilim TV","Bikini babe":"Bikini güzelleri","Outdoors":"Açık Hava","German Tv":"Alman TV","French Tv":"Fransız TV","Italian Tv":"İtalyan TV","Gamer Tv":"Oyuncu TV","Travel":"Gezi","Asian Tv":"Asya TV","Entertainment":"Eğlence","News Radio":"Haber Radyosu","Music Radio":"Müzik Radyosu","Language Learning":"Dil Öğrenme","Science Radio":"Bilim Radyosu","Tech Radio":"Teknoloji Radyosu","Science & Technology Vod":"Bilim ve Teknoloji Seç-İzle","new video":"yeni görüntü","new episode":"yeni bölüm","new movie":"yeni film","recommended":"önerilen","we recommend":"önerdiklerimiz","offer of the day":"günün teklifi","news":"haberler","music video":"klip","CTX_SHOW_HOTKEYS":"Kısayol tuşlarını göster","CTX_DISMISS_NOTIF":"Bildirimleri yoksay","CTX_DISMISS_ALL":"Tümünü yoksay","CTX_SHARE":"Paylaş","CTX_COPY_SHARE_LINK":"Paylaşma bağlantısını kopyala","CTX_COPY_MAGNET_LINK":"Magnet bağlantısını kopyala","CTX_COPY_STREAM_LINK":"Akış bağlantısını kopyala","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Görüntü indirme bağlantısını kopyala","CTX_DOWNLOAD_VIDEO":"Bu görüntüyü indir","CTX_DOWNLOAD_SUBS":"Altyazıları indir","CTX_VIEW_ON_YOUTUBE":"YouTube\'da görüntüle","CTX_SHOW":"Göster","CTX_PLAY":"Oynat","CTX_PLAY_IN":"Oynat","CTX_PLAY_ON":"Oynat","CTX_WATCH_ON":"İzle","CTX_WATCH":"İzle","CTX_WATCHED":"İzlendi","CTX_WATCH_BEGINNING":"Baştan izle","CTX_WATCH_MOBILE":"Mobil bir cihazda izle","CTX_REWIND":"En başa al","CTX_MARK_WATCHED":"İzlendi olarak işaretle","CTX_MARK_NON_WATCHED":"İzlenmedi olarak işaretle","CTX_MARK_UNWATCHED":"izlenmedi olarak işaretle","CTX_MARK_REST":"Geri kalanını izlendi olarak işaretle","CTX_UNMARK_REST":"Geri kalanını izlenmedi olarak işaretle","CTX_RECEIVE_NEW_NOTIF":"Yeni bildirimleri al","CTX_ENABLE_NEW_NOTIF":"Bildirimleri etkinleştir","CTX_DISABLE_NEW_NOTIF":"Bildirimleri etkisizleştir","CTX_REMOVE_CACHE":"Önbellekten kaldır","CTX_REMOVE_CACHE_EP":"Bölümü önbellekten kaldır","CTX_OPEN_CONTAINING":"İçerdiği klasörü aç","CTX_REMOVE":"Kitaplıktan kaldır","CTX_AVAILABLE_OFFLINE":"Çevrimdışı Kullanılabilir","CTX_PAUSED":"Duraklatıldı","CTX_ALWAYS_ON_TOP":"Her zaman üstte","CTX_FULLSCREEN":"Tam ekran","CTX_WRONG_SUBS":"Altyazı yanlış mı?","CTX_REPORT_ISSUES":"Sorun bildir","CTX_COPY":"Kopyala","CTX_COPY_TO_CLIPBOARD":"Panoya kopyala","CTX_PASTE":"Yapıştır","CTX_CLEAR":"Temizle","CTX_CLEAR_RECENT_SEARCHES":"Son arananları temizle","HELLO_THERE":"Merhaba","HOPE_YOU_ENJOY":"Stremio\'dan keyif aldığınızı ve şimdiden en sevdiğiniz uygulamalardan biri olduğunu umuyoruz!","WHO_ARE_WE":"Biz kimiz? Biz bunun arkasındaki takımız - bu ürünü daha iyi ve daha iyi hale getirmek için son 3 yıldır her gün çok çalışan iki adamız.","SUPPORT_US":"Eğer Stremio\'yu kullanmaktan keyif alıyorsanız, Stremio sizin için değerliyse - duyurun!","SPREAD_THE_WORD":"Hemen arkadaşlarınızla paylaşın, Stremio\'yu herkese duyurun","MORE_PEOPLE":"Stremio\'yu ne kadar çok kişi kullanırsa, o kadar iyi olacaktır!","SEND_A_LINK":"Veya web sitemize bir bağlantı gönderin","TIP_LOCALFILES":"İpucu: yerel görüntü dosyalarınızı Stremio\'ya sürükleyip bırakabilirsiniz","ADDON_MY":"Eklentilerim","ADDON_COMMUNITY":"Topluluk Eklentileri","ADDON_OFFICIAL":"Resmi Eklentiler","ADDON_REPOS":"Eklenti koleksiyonları","ADDON_SEARCH":"Eklentileri ara","ADDON_INSTALL":"Yükle","ADDON_CONFIGURE":"Yapılandır","ADDON_UNINSTALL":"Kaldır","ADDON_UPGRADE":"Yükselt","ADDON_INSTALLED":"Yüklenmiş","ADDON_INSTALLED_MSG":"Eklenti yüklendi!","ADDON_UPGRADED_MSG":"Eklenti yükseltildi!","ADDON_UNKNOWN":"Bilinmiyor","ADDON_ERR":"Eklenti yükleme hatası!","ADDON_DISCONNECTED":"Bağlantı kesildi","ADDON_APP_MISSING":"bu kaynak için uygulama yüklü değil. Şimdi yüklemek istiyor musunuz?","ADDON_APP_INSTALL":"Şimdi Yükle","ADDON_PAGE":"Eklenti Sayfası","ADDON_TOP_CONTENT":"Bu Eklentiden en iyisi","ADDON_PROVIDES":"Bu eklentinin size vereceği:","ADDON_WATCH":"Şimdi #{types} izleyin!","ADDON_WATCH_FREE":"Şimdi ÜCRETSİZ #{types} izleyin!","ADDON_ADDON":"Eklenti","ADDON_SUPPORTED_TYPES":"Desteklenen türler","ADDON_SUPPORTED_CATALOGS":"Desteklenen kataloglar","ADDON_PROVIDES_DISCOVER":"Keşfet\'te daha fazla #{types}","ADDON_PROVIDES_STREAMS":"#{types} izleyin","ADDON_PROVIDES_STREAMS_FREE":"ÜCRETSİZ #{types} izleyin","ADDON_PROVIDES_SUBTITLES":"#{types} için altyazılar","ADDON_CANTDETECT":"Çalışan bir Stremio algılayamadık, bu yüzden hangi eklentileri yüklediğinizi tespit edemedik.","ADDON_VERSION_SHORT":"s.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent akışı, App Store kurallarından dolayı bu cihazda desteklenmiyor","ERR_NO_META":"Hiçbir bilgi bulunamayan konu ","ERR_NO_META_SELECTED":"Hiç üstveri seçilmedi!","ERR_NO_META_FOUND":"Hiç üstveri bulunamadı!","ERR_NO_ADDONS_FOR_META":"Bu üstveri için hiçbir eklenti istenmedi!","ERR_NO_ADDONS_FOR_STREAMS":"Akışlar için hiçbir eklenti istenmedi!","ERR_NO_VIDEOS_FOR_META":"Bu üstveri için bulunan görüntüler yok!","ERR_GETTING_META":"Bu konuda bilgi alınırken hata oldu.","ERR_CANT_PARSE_MAGNET":"Magnet ayrıştırılamıyor","ERR_NO_MAGNET_INFOHASH":"Magnet için geçerli bir adresleme bilgisi yok","ERR_NO_FILE_PATH":"Dosya yolu olmayan istek gönderilemiyor","ERR_NO_TORRENT":"Dönen torrent yok","ERR_NO_SUPPORTERD_FILES":"Desteklenen dosyalar bulunamadı","ERR_OPENING_FILES":"Harici dosyalar açılamadı","ERR_INVALID_LINK":"Geçersiz bağlantı","ERR_REGISTERED_ONLY":"Bu seçenek yalnızca kayıtlı kullanıcılar için mevcuttur.","ERR_CLIPBOARD":"Panodan oynatılamıyor","ERR_CLIPBOARD_READ":"Bu platformda pano okunamıyor","ERR_CLIPBOARD_GENERIC":"Panoda oynatılabilir URL bulunamadı. Lütfen bir görüntü için URL\'yi (örn. bir magnet bağlantısı) kopyalayın.","BOARD_CONTINUE_WATCHING":"İzlemeye devam edin","BOARD_CONTINUE_WATCHING_NOT_LOADED":"İzlemeye Devam Edin yüklenemedi!","BOARD_CONTINUE_WATCHING_EMPTY":"İzlemeye Devam Edin Boş","BOARD_EXPLANATION_RECOMMENDATIONS":"Filmler sizin için özel olarak seçildi.<br />Bu film örnek bir öneridir.","BOARD_EXPLANATION_EPISODES":"En sevdiğiniz Dizilerin yeni bölümleri buraya gelir.<br />Takip ettiğiniz dizileri Kitaplığınıza ekleyin.","BOARD_EXPLANATION_VIDEOS":"En sevdiğiniz Kanalların yeni bölümleri buraya gelir.<br />Takip ettiğiniz YouTube kanallarını Kitaplığınıza ekleyin.","WEBSITE_ENJOYED_BY":"Dünya çapında 30 milyondan fazla kullanıcı tarafından beğenildi","WEBSITE_STREAMING_ENHANCED":"Gelişmiş Yayın Akışı","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio, güvenli, modern ve kusursuz bir eğlence deneyimi sunar. Kullanımı kolay arayüzü ve 4K HDR desteği de dahil olmak üzere çeşitli içerik kitaplığı ile kullanıcılar, en sevdikleri filmlerin ve TV programlarının keyfini tüm cihazlarında çıkarabilir. Ve güvenlik taahhüdü ile Stremio, endişesiz, yüksek kalitede bir yayın akışı deneyimi için nihai seçimdir.","WEBSITE_AVAILABLE_ON":"Kullanılabildiği yerler:","WEBSITE_WATCH_AND_ENJOY":"İzleyin ve Keyfini Çıkarın.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio bunu çok kolay hale getirir","WEBSITE_ALL_FEATURES":"Tüm özellikler","WEBSITE_EASY_TO_USE":"Kullanımı Kolay","WEBSITE_EASY_TO_USE_DETAILS":"Stremio, kullanıcı dostu ve kullanımı kolay olacak şekilde tasarlanmıştır. Temiz ve sezgisel arayüzü ile kolayca gezinebilir ve izlemek istediğiniz içeriği bulabilirsiniz.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Cihazlar Arasında Sorunsuz","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Geniş platform yelpazesinde (Windows, Mac, Linux, Android ve daha fazlası dahil) kullanılabilen Stremio, ilerlemenizi tüm cihazlarınızda takip edecektir. Her yeni cihazda uygulamayı yeniden yapılandırmak zorunda kalmadan oturum açın ve izlemeye devam edin.","WEBSITE_ALL_DOWNLOADS":"Tüm İndirmeler","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Yüksek Çözünürlüklü Görüntü Desteği","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"4K HDR içeriği de dahil olmak üzere çoğu görüntü biçimini destekleyen bütünleşik bir görüntü oynatıcı, mevcut en yüksek kalitenin keyfini çıkarmanızı sağlar.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Çeşitli İçerik Kitaplığı","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio, Netflix, Amazon Prime Video, Hulu, YouTube ve çok daha fazlası gibi çok sayıda yaygın görüntü kaynağıyla bütünleşir.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Ücretsiz Bir Hesap Oluşturun","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Özel Görüntüleme Deneyimi","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio, temayı değiştirerek, eklentiler ekleyerek veya kaldırarak ve daha fazlasını yaparak arayüzün görünümünü ve verdiği hissi özelleştirmenizi sağlar.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Çok Dilde Altyazı Desteği","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Stremio tüm dillerde altyazıları desteklediğinden artık tüm sevilen içeriğinizin keyfini tercih ettiğiniz dilde çıkarabilirsiniz.","WEBSITE_ALL_STREMIO_FEATURES":"Tüm Stremio özellikleri","WEBSITE_TRY_STREMIO_TITLE_P1":"Stremio’yu Şimdi","WEBSITE_TRY_STREMIO_TITLE_P2":"TV’nizde Deneyin","WEBSITE_YOU_CAN_NOW_WATCH":"Artık tüm sevilen TV programlarını Android TV cihazlarınızda izleyebilirsiniz. Stremio TV uygulaması, kolaylıkla bir film gecesinin keyfini çıkarmanızı sağlar.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Artık tüm sevilen TV programlarını Akıllı TV’nizde veya Android TV’nizde izleyebilirsiniz. Stremio TV uygulamaları, kolaylıkla bir film gecesinin keyfini çıkarmanızı sağlar.","WEBSITE_STREMIO_FOR_SMART_TV":"Akıllı TV için Stremio","WEBSITE_PLAY_STORE_REVIEW":"Muhtemelen cihazınızda bulunabilecek en iyi ve en kullanışlı uygulama. Uzun yıllardır özellikle Android TV’mde günlük olarak kullandığım uygulamalardan biri. Yararlı işlevler sağlayan güçlü bir toplulukla iyi yapılmış. Tebrikler. Böyle İyi çalışmaya devam edin.","WEBSITE_REVIEWS":"inceleme","WEBSITE_GET_STREMIO_FOR_FREE":"Ücretsiz Alın","WEBSITE_GET_STREMIO_NOW":"Stremio’yu Hemen Alın","WEBSITE_STREMIO_FEATURES":"Stremio Özellikleri","WEBSITE_STREMIO_FEATURES_DETAILS":"Stremio’nun gelişmiş özellikleriyle bir profesyonel gibi yayın yapın ve tüm sevdiğiniz ortamlara sorunsuz erişimin keyfini çıkarın","WEBSITE_DISCOVER_MORE":"Daha fazlasını keşfedin.","WEBSITE_DISCOVER_MORE_DETAILS":"İzleyecek şeyler asla bitmez","WEBSITE_COMMUNITY_DRIVEN":"Topluluk odaklı","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio, eklentiler oluşturarak ve paylaşarak yazılımın geliştirilmesine katkıda bulunan geniş ve etkin bir kullanıcı topluluğuna sahiptir.","WEBSITE_GET_INVOLVED":"Dahil olun","WEBSITE_NEW_THEATER_EXPERIENCE":"Yeni Gösterim Deneyimi","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio’nun yeni adanmış TV uygulaması, Android TV cihazlarınızda bir film gecesinin keyfini çıkarmanızı sağlar.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio’nun yeni adanmış TV uygulamaları, Akıllı TV’nizde veya Android TV cihazlarınızda bir film gecesinin keyfini çıkarmanızı sağlar.","WEBSITE_FREE_AND_SECURE":"Ücretsiz ve Güvenli","WEBSITE_STREAMING":"Yayın Akışı","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio, kullanıcılar için benzersiz güvenlik ve gizlilik sunar. Eklentileri uzaktan çalıştırma benzersiz özelliği ile Stremio, diğer platformlara kıyasla en sevdiğiniz içeriği yayınlamak için daha güvenli bir yol sağlar. Güvenliğiniz ve gizliliğiniz en önemli önceliklerdir ve platform, tüm verilerinizin korunmasını sağlar.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Stremio ile güvenlik ve gizlilik endişelerine veda edin ve sonsuz eğlence dünyasına merhaba deyin.","WEBSITE_INFORMATION_PROVIDED_BY":"Bilgileri sağlayan","WEBSITE_CONTRIBUTE_DESC":"ve Stremio’yu daha da iyi hale getirmemize yardımcı olun","WEBSITE_COMMUNITY_DESC":"Gerçekten harika bir yayın akışı deneyimi yaratmanın en iyi yolunun, topluluğumuzu sürece dahil etmek olduğuna inanıyoruz. İster bir programcı, ister bir sanatçı veya sadece bir hayran olun - Stremio’nun büyümesine yardımcı olabilirsiniz.","WEBSITE_COMMUNITY_DESC_2":"O halde bugün bize katılın ve Stremio topluluğunun bir parçası olun ve yayın akışının geleceğini şekillendirmeye devam edin.","WEBSITE_WAYS_TO_GET_INVOLVED":"Stremio topluluğuna","WEBSITE_IN_THE_STREMIO_COMMUNITY":"Dahil Olmanın Yolları","WEBSITE_SHARE_YOUR_THOUGHTS":"Düşüncelerinizi paylaşın","WEBSITE_REPORT_BUGS":"Hataları bildirin","WEBSITE_SUGGEST_FEATURES":"özellikler önerin","WEBSITE_AND_PROVIDE_FEEDBACK":"ve sosyal medya kanallarımızdan geri bildirim sağlayın.","WEBSITE_BETA_TESTING_PROGRAM":"Beta deneme programı","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Stremio topluluğunda beta deneme programımıza katılın (düzenli olarak davet göndeririz).","WEBSITE_JOIN_NOW":"Şimdi katılın!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Resmi Stremio Toplulukları","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Resmi Olmayan Stremio Toplulukları","WEBSITE_BECOME":"Gönüllü çevirmen","WEBSITE_A_VOLUNTEER_TRANSLATOR":"olun","WEBSITE_ARE_YOU_A_DEVELOPER":"Bir Geliştirici Misiniz?","WEBSITE_CONTRIBUTE_CODE":"Açık kaynak projelerimize kod yazarak katkıda bulunabilirsiniz. GitHub’da katkıda bulunabilecek kişiler arayan birkaç projemiz var. Eğer yardım etmekle ilgileniyorsanız, şunlara göz atın:","WEBSITE_STREMIO_ON_GITHUB":"GitHub’da Stremio","WEBSITE_CREATE_ADDON_DESC":"Stremio’nun işlevselliğini geliştirmek için bir eklenti oluşturun (kullanımı kolay bir API’ye sahibiz):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Eklenti SDK’sı","WEBSITE_INTERN_DEVELOPER":"Birlikte büyüyebilmemiz için stajyer geliştirici olarak bize katılma fırsatı da sağlıyoruz.","WEBSITE_APPLY_AS_AN_INTERN":"Stajyer olarak başvurun","WEBSITE_CALLING_ALL_ARTISTS":"Tüm Sanatçılara Sesleniyoruz!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Hayran çiziminizi çevrimiçi galerimize yükleyerek yaratıcılığınızı ve Stremio’ya olan sevginizi gösterin. İster çizim, ister boyama veya dijital tasarım olsun, Stremio markasına benzersiz yaklaşımınızı görmek istiyoruz. Sanat tutkunları topluluğumuza katılın ve çalışmalarınızı dünyanın dört bir yanındaki diğer Stremio hayranlarıyla paylaşın.","WEBSITE_STREMIO_FANART_GALLERY":"Stremio Fanart Galerisi","WEBSITE_INTERN_DESIGNER":"Ekibimizin bir parçası olun ve heyecan verici staj fırsatlarımızla yaratıcılığınızı yeni zirvelere taşıyın.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Herkese Açık Filmler Projesi","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Stremio’da, herkese açık ve sahipsiz görüntüleri belirleyerek film ve televizyon tarihini korumaya kararlıyız. Topluluğumuzla birlikte çalışarak, bu klasik sanat eserlerinin herkes tarafından erişilebilir olmasını ve gelecek nesillerin keyif alması için korunmasını sağlayabiliriz.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Siz de bu projede yer almak istiyorsanız bizimle iletişime geçmekten çekinmeyin.","WEBSITE_JOIN_THE_PROJECT":"Projeye Katılın","WEBSITE_BE_PART_OF_OUR_MISSION":"Misyonumuzun bir parçası olun","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Stremio ekibine katılmakla ilgilenir misiniz? Tutkulu profesyoneller için tamamen uzaktan çalışma sunuyoruz. Açık pozisyonlarımıza göz atın.","WEBSITE_OPEN_POSITIONS":"AÇIK POZİSYONLAR","WEBSITE_DESCRIPTION":"TANIMI","WEBSITE_LEARN_MORE":"Daha fazla bilgi edinin","WEBSITE_COMPANY":"Şirket","WEBSITE_CONTACTS":"İletişim","WEBSITE_NEED_HELP":"Yardıma mı ihtiyacınız var?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS’ta Stremio için Web Kılavuzu","WEBSITE_LINK_ART_V2":"Fanart Galerisi","WEBSITE_PARTNERS":"Ortaklar","WEBSITE_SLOGAN_WATCH":"Anında İzleyin","WEBSITE_SLOGAN_ALL":"Keyif Aldığınız Tüm Görüntü İçeriği Tek Bir Yerde","WEBSITE_SLOGAN_NEW":"Tüm İzleyebileceğiniz","WEBSITE_SLOGAN_NEW_NEW":"Akış Özgürlüğü","WEBSITE_WATCH_FROM":"İzleyeceğiniz yer","WEBSITE_DOWNLOAD":"Şimdi İndir","WEBSITE_DOWNLOAD_FOR":"Şimdi İndireceğiniz","WEBSITE_IS_DESKTOP":"Stremio bir masaüstü uygulamasıdır, bu sayfayı PC\'nizde açın ve indirin","WEBSITE_DESKTOP_DEMO_VID":"Masaüstü tanıtımı","WEBSITE_PAGE_HOME":"Giriş","WEBSITE_PAGE_FEATURES":"Özellikler","WEBSITE_PAGE_ADDONS":"Eklentiler","WEBSITE_PAGE_TECH":"Teknoloji","WEBSITE_PAGE_CREATE_ADDON":"Eklenti Oluşturun","WEBSITE_PAGE_CONTACTS":"İletişim","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Lütfen istediğiniz yeni parolanızı aşağıya girin.","WEBSITE_RESET_PASSWORD_WARNING":"${1} için parolayı sıfırlamak istediğinize emin misiniz?","WEBSITE_TYPE_movie":"Filmler","WEBSITE_TYPE_series_PL":"Diziler","WEBSITE_TYPE_tv":"Canlı TV","WEBSITE_TYPE_channel":"Kanallar","WEBSITE_STREMIO_WHAT_IS":"Stremio, en sevdiğiniz görüntüleri, filmleri, dizileri ve TV kanallarını düzenlemenize ve anında izlemenize yardımcı olan bir uygulamadır.","WEBSITE_FEATURES_WATCH":"HD olarak Anında İzleyin","WEBSITE_FEATURES_WATCH_DETAIL":"En sevdiğiniz filmlere, TV Programlarına, görüntülere ve TV kanallarına tıklayın ve oynatın.","WEBSITE_FEATURES_SUBS":"Otomatik Altyazılar","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio diliniz için eşitlenmiş altyazıları otomatik olarak seçer.","WEBSITE_FEATURES_SUBS_LABEL":"Sıra sende, şef.","WEBSITE_FEATURES_CAST":"TV ve mobil cihazlarda oynat","WEBSITE_FEATURES_CAST_DETAIL":"Apple TV, Chromecast, Akıllı TV (DLNA/UPnP) ve mobil cihazlarda yayınlayın.","WEBSITE_LIB":"Tüm Cihazlarınızda Eşitlenen Kişisel Kitaplığınızın Keyfini Çıkarın","WEBSITE_LIB_COLLECT":"Stremio\'dan toplayın","WEBSITE_LIB_IMPORT":"Facebook\'tan içe aktarın","WEBSITE_LIB_LOCAL":"Yerel sürücünüzden ekleyin","WEBSITE_BOARD":"Pano - Bildirimler ve Öneriler için tek durak yeri","WEBSITE_BOARD_RECOMMEND":"Önerilen TV Programı","WEBSITE_BOARD_TRENDING":"Çok İzlenen Film","WEBSITE_BOARD_NEW":"Yeni Görüntü","WEBSITE_BOARD_EPISODE":"Yeni Bölüm","WEBSITE_BOARD_1":"İzlemek için ilginç bir şeyler mi arıyorsun? Zevkinize göre öneriler al!","WEBSITE_BOARD_2":"En sevdiğin TV programında veya YouTube kanalında yeni bir bölüm çıktıkça haberdar ol!","WEBSITE_BOARD_YOUTUBE":"YouTube kanallarının yeni videoları","WEBSITE_BOARD_EPISODES":"Takip ettiğiniz dizilerin yeni bölümleri","WEBSITE_ADDONS":"İçerik Eklentileri","WEBSITE_TECH_DETAIL":"Teknolojiyi seviyoruz, deli bilimi seviyoruz!\\nStremio aşağıdaki açık kaynak teknolojilerini kullanıyor:","WEBSITE_TECH_WCJS":"WebChimera.js, Stremio\'nun iyi bir performans ile herhangi bir video formatını oynatmasına izin verir.","WEBSITE_TECH_WCJS_EXTRA":"Biz temel projeye katılımcılarıyız","WEBSITE_TECH_ELECTRON":"Electron, Stremio\'yu inşa etmek için yenilikçi bir platform sağlar.","WEBSITE_TECH_ELECTRON_EXTRA":"Proje katılımcılarıyız","WEBSITE_TECH_LINVODB":"Verilerinizi sağlayan bir veritabanı teknolojisi düzenlenmiştir ve oturum açtığınız her yerde kullanılabilir.","WEBSITE_TECH_LINVODB_EXTRA":"Şirket içi teknoloji","WEBSITE_CREATE_ADDON":"Kendi eklentinizi oluşturun","WEBSITE_CREATE_ADDON_DETAIL":"Video içeriği sunan bir hizmetin var mı? Sizin eklenti oluşturarak Stremio\'nun özelliklerinden yararlanmanıza yardımcı olacağız.","WEBSITE_CREATE_ADDON_BENEFITS":"Stremio Eklentisi Yaratmanın Faydaları","WEBSITE_P2P_BEAUTY":"Uçtan uca akışının güzelliği","WEBSITE_P2P_1":"İsteğe bağlı veya canlı akışla güvenilir ve satın alınabilir Full HD/4K video","WEBSITE_P2P_2":"Mükemmel bir kullanıcı deneyimi sağlayan dağıtım platformu","WEBSITE_P2P_3":"Tam ihtiyaçlarınızı karşılayan bir eklenti oluşturacağız","WEBSITE_P2P_CONTACT":"İlgilendiniz mi? <a href=\'mailto:office@stremio.com\'>Bize ulaşabilirsiniz</a>.","WEBSITE_P2P_CONTACT_EXTRA":"İçeriğinizi Stremio ile entegre etmenize yardımcı olmaktan mutluluk duyacağız!","WEBSITE_P2P":"Bir süre sonra, oyunun adını değiştiren bir teknoloji gelir. Herhangi bir kullanım durumuna uyum sağlamak için mükemmel performans ve çok yönlülük sağlayan P2P video akışı motoru kurmaya zaman ve çaba harcadık.\\nDRM özellikli P2P video, talep üzerine veya canlı akış için bize ulaşın.","WEBSITE_THOUGHTS":"Paylaştığımız düşünceler:","WEBSITE_SPREAD":"Stremio kelimesini herkese duyurun:","WEBSITE_CONTACT":"Eğer bizimle iletişime geçmek istiyorsanız, devam edin","WEBSITE_OPENSOURCE":"Açık kaynak projelerimiz için gitmeniz gereken yer","WEBSITE_BITCOIN":"Bitcoin bağışla:","WEBSITE_FAQ":"Sıkça sorulan sorular","WEBSITE_FAQ_SHORT":"SSS","WEBSITE_QUESTIONS":"Sorular","WEBSITE_TOS":"Kullanım şartları","WEBSITE_LEGAL":"Yasal","WEBSITE_PAGE_ABOUT":"Hakkında","WEBSITE_PAGE_BECOME_PARTNER":"Ortak ol","WEBSITE_ALL_YOU_CAN_WATCH":"Tamamını İzleyebilirsin","WEBSITE_FREEDOM_TO_STREAM":"İzleme Özgürlüğü","WEBSITE_WHAT_IS_STREMIO":"Stremio nedir?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio, video içerik toplama için tek duraklı bir merkezdir. Sahip olduğunuz herhangi bir cihaz üzerinden her türlü kaynaktan video keşfedin, düzenleyin ve izleyin.","WEBSITE_WHAT_IS_STREMIO_P2":"Filmler, TV programları, diziler, canlı televizyonlar ya da YouTube ve Twitch.tv gibi web kanalları. Bunların hepsini Stremio\'da bulabilirsiniz.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio, video eğlence için tek noktadan çözüm sunan modern bir medya merkezidir. Kurulumu kolay eklentilerden video içeriğini keşfeder, izler ve düzenlersiniz.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Filmler, TV programları, canlı TV veya web kanalları. Tüm bunları Stremio\'da bulabilirsiniz.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Tüm Medya cihazlarınızda keyfini çıkarın","WEBSITE_DEVICES_COLLECT":"Stremio\'dan toplayın","WEBSITE_DEVICES_IMPORT_FB":"Facebook\'tan içe aktarın","WEBSITE_DEVICES_LOCAL":"Yerel sürücünüzden ekleyin","WEBSITE_JOIN_THE_PARTY_NOW":"Şimdi partiye katılın","WEBSITE_DEVICES_ALL":"Tüm cihazlarınızda kullanımı kolay;","WEBSITE_EXTENDABLE_CATALOG":"Sonsuz genişletilebilir video kataloğu;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Medyanızı düzenlemek için harika özellikler;","WEBSITE_AS_SEEN_ON":"Görüldüğü gibi","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Hakkımızda","WEBSITE_LINK_TECHNOLOGY":"Teknoloji","WEBSITE_LINK_APPS":"Uygulamalar","WEBSITE_LINK_DOWNLOADS":"İndirmeler","WEBSITE_MORE":"Daha fazlası","WEBSITE_LINK_ADDONS":"Eklentiler","WEBSITE_LINK_ADDON_SDK":"Eklenti SDK","WEBSITE_LINK_CONTRIBUTE":"Katkıda bulun","WEBSITE_LINK_COMMUNITY":"Topluluk","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... ve Daha fazlası","WEBSITE_LINK_HELP":"Yardım merkezi","WEBSITE_LINK_CONTACTS":"İş görüşmeleri","WEBSITE_LINK_TOS":"Şartlar ve koşullar","WEBSITE_LINK_PRAVACY":"Gizlilik ilkesi","WEBSITE_SUBSCRIBE":"Abone ol","WEBSITE_NEWSLETTER":"Şaşırtıcı şeyler için haber bültenimize kaydolun","WEBSITE_PLACEHOLDER_EMAIL":"E-posta adresin","WEBSITE_COMMUNITY":"Topluluk","WEBSITE_LINK_PRAVACY_LEGAL":"Gizlilik ve yasal","WEBSITE_WHY":"Neden yapıyoruz?","WEBSITE_WHY_P1":"Stremio\'da her gün çalışmaya başlıyoruz, çünkü talep üzerine video endüstrisi için önemli bir sorunu çözmek istiyoruz. Her dakika yayınlanan yeni birçok içerik var ve bununlar içinde yol bulmanız neredeyse imkânsız.","WEBSITE_WHY_P2":"İnsanlara bu muazzam video eğlence dünyasında gezinmelerine ve keyif alacakları yeni içerikler keşfetmelerine yardımcı oluyoruz. Uygulamalarımız filmleri, dizileri, canlı televizyonlarını, web kanallarını ve daha fazlasını bir araya getirir. Kullanıcıların sevdikleri başlıkları ve yayıncıları bulmalarını inanılmaz derecede kolaylaştırmayı amaçlıyoruz.","WEBSITE_WHY_P3":"Hizmetimizi herhangi bir cihazda, istediğiniz zaman kullanabilir ve Stremio\'yu ihtiyacınız olan tek video eğlence merkezi haline getirebilirsiniz.","WEBSITE_TEAM":"TAKIM","WEBSITE_TEAM_P":"Stremio ekibi küçük ama güçlü: arkadaki 10 kişi ile, X dilinde kod yazıyoruz ve yazılım geliştirme, UI ve UX tasarım, pazarlama ve reklamcılık dahil iş dünyası ve girişimler konularında uzmanlıklar paylaşıyoruz.","WEBSITE_FEATURES":"Özellikler","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Yeni içeriği kolayca keşfedin","WEBSITE_FEATURES_DISCOVER_P":"İzlenecek yeni filmleri, TV programlarını, dizileri ve kanalları kolayca keşfedin. Kategoriye, türüne, derecelendirmeye, yeniliğe vb. göre göz atın veya bulmak için sadece bir isim yazın. Stremio yeni video içeriği bulmayı çok kolay hale getiriyor.","WEBSITE_FEATURES_ALL_CONTENT":"Tüm video içeriğiniz tek bir ekranda","WEBSITE_FEATURES_ALL_CONTENT_P1":"Hangi filmleri, dizileri veya videoları tamamlamadığınızı görün ve izlemeye devam edin. Yeni bölümler ve sürümler için bildirim alın. Görüntüleme alışkanlıklarınıza göre alacağınız önerilere göz atın.","WEBSITE_FEATURES_LIBRARY":"Video kitaplığınızı düzenleyin","WEBSITE_FEATURES_LIBRARY_P1":"Tek bir tıklama ile Stremio kitaplığınıza herhangi bir başlık ekleyin ve içeriklerinizi türe, yeniliğe ya da alfabetik olarak düzenlenmiş bir şekilde bulun.","WEBSITE_FEATURES_CALENDAR":"İzlediğiniz her şeyi takip edin","WEBSITE_FEATURES_CALENDAR_P1":"Kitaplığınıza eklediğiniz tüm filmlerin ve dizilerin takvim görselleştirmesini alın. Stremio takviminizi dışa aktarın ve eşitleyin, böylece yeni bir bölümün veya bir ilk gösterimin ne zaman geleceğini bilirsiniz.","WEBSITE_FEATURES_BIG_SCREEN":"Video içeriğinizin keyfini daha büyük bir ekranda çıkarın","WEBSITE_FEATURES_BIG_SCREEN_P1":"İzlediğiniz her şeyi tek bir tıklama ile ister telefon, ister tablet, isterseniz TV\'den başka bir cihaza aktarın.","WEBSITE_FEATURES_SOURCES":"Birçok farklı kaynaktan video izleyin","WEBSITE_FEATURES_SOURCES_P":"Tek bir şık, kullanımı kolay uygulama ile birçok farklı sağlayıcıdan elde edilen videonun keyfini çıkarmak için resmi ve topluluk eklentilerini yükleyin.","WEBSITE_CREATE_AN_ADDON":"Bir eklenti oluşturun","WEBSITE_FEATURES_SYNC":"Kitaplığınızı farklı cihazlar arasında eşitleyin ve oynatmaya devam edin","WEBSITE_FEATURES_SYNC_P1":"Tüm cihazlarınıza hesabınızla oturum açın ve eşitlenmiş kitaplığınızın, eklentilerinizin, oynatma ve takviminizin keyfini çıkarın.","WEBSITE_FEATURES_EXTENDABLE":"Eklentilerle genişletilebilir video kataloğu","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio eklenti kataloğu, çeşitli video içeriğini yüklemek ve izlemek için bir dizi eklenti sağlar. Bu eklenti kataloğu; filmler, programlar, canlı TV, spor, haberler, podcast\'ler, web kanalları, video oyunları ve daha fazlasını içerir.","WEBSITE_FEATURES_AUTO_SUBS":"Otomatik altyazılar","WEBSITE_FEATURES_AUTO_SUBS_P1":"Altyazı eklentilerimizle, tercih ettiğiniz dil için otomatik olarak seçilen seçenekleri elde edersiniz.","WEBSITE_FEATURES_CHROMECAST":"Chromecast ile yayınlayın","WEBSITE_FEATURES_CHROMECAST_P1":"Video içeriğinizin keyfini daha büyük bir ekranda çıkarın veya izlediğiniz her şeyi başka bir cihaza yayınlayın.","WEBSITE_FEATURES_KEEP_TRACK":"En sevdiğiniz TV programlarını ve web kanallarını takip edin","WEBSITE_FEATURES_KEEP_TRACK_P1":"En sevdiğiniz dizilerin ve web kanallarının yeni bölümleri için bir takvim görselleştirmesi ve bildirimler alın.","WEBSITE_FEATURES_POWER_USER":"Güçlü kullanıcı özellikleri","WEBSITE_FEATURES_POWER_USER_P1":"Harici oynatıcıda oynatın","WEBSITE_FEATURES_POWER_USER_P2":"Torrent dosyasından veya magnet bağlantısından oynatın","WEBSITE_FEATURES_POWER_USER_P3":"Facebook beğenilerinden veya yerel diskten kitaplığınıza aktarın","WEBSITE_ADD_ONS":"Eklentiler","WEBSITE_ADD_ONS_P1":"Stremio\'nun sağladığı tüm video içeriği, bir eklenti sistemi aracılığıyla sağlanır - hiçbir içerik veya içerik sağlayıcısı uygulamaya yerleştirilmemiştir.","WEBSITE_ADD_ONS_P2":"İki eklenti grubu mevcut: resmi eklentiler ve topluluk eklentileri","WEBSITE_ADD_ONS_P3":"Resmi olanlar Stremio tarafından geliştirilir ve barındırılır. Buna karşın topluluk eklentileri, onları barındıran topluluk üyelerimiz tarafından oluşturulur.","WEBSITE_ADDONS_OFFICIAL":"Resmi eklentiler","WEBSITE_ADDONS_WATCHUB":"En sevdiğiniz filmleri, dizileri ve şovları iTunes, Hulu, Amazon ve diğer İngiltere/ABD hizmetleri gibi sağlayıcılardan izleyin.","WEBSITE_ADDONS_YOUTUBE":"En sevdiğiniz YouTube kanallarını reklamsız izleyin ve yeni yüklemeler için bildirimler alın.","WEBSITE_ADDONS_FILMON":"Canlı TV, film ve sosyal televizyonu ücretsiz izleyin. 600 TV kanalı, 45.000 ücretsiz film, belgesel ve daha fazlası.","WEBSITE_ADDONS_OPENSUBTITLES":"Film ve diziler için, birçok dilde her gün güncellenen binlerce altyazı çevirisi.","WEBSITE_ADDONS_COMMUNITY":"Topluluk eklentileri","WEBSITE_ADDONS_FILMON_VOD":"Filmon.tv\'den talep üzerine video izleyin.","WEBSITE_ADDONS_TWICH":"Twitch.tv\'den canlı akış izleyin - e-spor endüstrisi için bir video akış platformu.","WEBSITE_ADDONS_VODO":"Bağımsız filmleri kesinlikle ücretsiz izleyin.","WEBSITE_ADDONS_NETFLIX":"Netflix filmlerini ve web dizilerini izleyin.","WEBSITE_ADDONS_CREATE":"Eklenti oluşturun","WEBSITE_ADDONS_CREATE_P1":"İsterseniz kendi eklentinizi geliştirebilirsiniz. Bu şekilde, kendiniz ve topluluğumu içim yeni video içeriklerine erişim verebilir ve dünya çapında milyonlarca kullanıcıdan oluşan yeni bir hedef kitleye ulaşabilirsiniz.","WEBSITE_ADDONS_START_CREATE":"Başlarken, Stremio eklenti SDK sayfasını ziyaret edin:","WEBSITE_DOWNLOADS":"İndirmeler","WEBSITE_DOWNLOADS_P1":"En uygun performans için Stremio uygulamalarının mevcut en son sürümünü kullanmanızı öneririz. Ancak herhangi bir nedenle daha eski bir sürümü kullanmak isterseniz buradan indirebilirsiniz.","WEBSITE_DOWNLOADS_P1_SHORT":"En uygun performans için Stremio uygulamalarının mevcut en son sürümünü kullanmanızı öneririz.","WEBSITE_DOWNLOADS_FOR_WIN":"Windows için Stremio","WEBSITE_DOWNLOADS_FOR_MAC":"macOS için Stremio","WEBSITE_DOWNLOADS_FOR_LINUX":"Linux için Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID":"Android için Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Android TV için Stremio","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Android Mobil için Stremio","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Steam Deck için Stremio","WEBSITE_DOWNLOADS_FOR_IOS":"iOS için Stremio (sınırlı sürüm)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Samsung TV için Stremio","WEBSITE_DOWNLOADS_FOR_LG_TV":"LG TV için Stremio","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Sony TV için Stremio (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Philips TV için Stremio (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Philips TV için Stremio","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Hisense TV için Stremio","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Oculus Quest için Stremio","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Meta Quest için Stremio","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Vision Pro için Stremio","WEBSITE_DOWNLOADS_FOR_XBOX":"Xbox için Stremio","WEBSITE_DOWNLOADS_FOR_RPI":"Raspberry Pi için Stremio","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot Uygulaması","WEBSITE_DOWNLOADS_FOR_BROWSER":"Tarayıcı için Stremio","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"2019+ Samsung TV modellerinin Uygulama Mağazasında Stremio’yu arayın","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"2020+ LG TV modellerinin Uygulama Mağazasında Stremio’yu arayın","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Android çalıştıran Sony TV’deki Play Store uygulamasında Stremio’yu arayın","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Android çalıştıran Philips TV’deki Play Store uygulamasında Stremio’yu arayın","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"TitanOS çalıştıran Philips TV’deki uygulama mağazasında Stremio’yu arayın (sınırlı sürüm)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Xbox cihazınızın Uygulama Mağazasında Stremio’yu arayın","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"RPI’da Stremio OS Kılavuzu","WEBSITE_LINK_GUIDE":"Kılavuz","WEBSITE_DOWNLOAD_SERVICE":"Stremio Hizmetini İndirin","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Hizmeti, Stremio Web için eşlik eden bir uygulamadır. Stremio Hizmetinin mevcut en son sürümünü kullanmanızı öneririz.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Windows için Stremio Hizmeti","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"macOS için Stremio Hizmeti","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Linux için Stremio Hizmeti","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Docker için Stremio Hizmeti","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Docker için Stremio","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Daha Fazla İndirme Seçeneği","WEBSITE_DOWNLOAD_NEW":"Yeni!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Stremio Web’i yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Samsung TV için Stremio’yu yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"LG TV için Stremio’yu yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Xbox için Stremio’yu yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Raspberry Pi için Stremio’yu yayımladık","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"Windows için Stremio 5\'i yayımladık","WEBSITE_CONTRIBUTE":"Projeye katkıda bulunun","WEBSITE_CONTRIBUTE_P1":"Stremio platformu, açık kaynak kodludur ve şu anda kaynağı olmayan içerik için kolayca bir eklenti oluşturabilirsiniz.","WEBSITE_CONTRIBUTE_WHY":"Neden bir eklenti oluşturmalısınız?","WEBSITE_CONTRIBUTE_WHY_P1":"Video içeriğiniz için yeni kitleye ulaşın","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio\'nun kullanıcı tabanı hızla büyüyor. Lansmanının ilk yılında Stremio, dünyada 1 milyon kullanıcı kazandı ve platformun ikinci yılında bu sayı 2,5 milyona yükseldi.","WEBSITE_CONTRIBUTE_WHY_P3":"Eklentiniz ile bu kitleye kolayca ulaşabilir ve video içeriğinizi onlara dağıtabilirsiniz.","WEBSITE_CONTRIBUTE_ALL":"En sevdiğiniz filmleri, videoları, dizileri ve kanalları tek bir yerden izleyin","WEBSITE_CONTRIBUTE_ALL_P1":"Stremio’da henüz bulunmayan belirli bir türdeki içeriğin hayranı mısınız? Bunun için bir eklenti oluşturun ve piyasadaki en büyük ve en kolay kullanımlı eğlence merkezlerinden birinde en sevdiğiniz görüntüleri izlemenin keyfini çıkarın.","WEBSITE_CONTRIBUTE_ALL_P2":"Üstüne üstlük, sizinle benzer şekilde düşünen diğer Stremio topluluğu üyelerinin sonsuz şükranlarını alırsınız.","WEBSITE_CONTRIBUTE_MONETIZE":"Eklentinizi para kazanılabilir hale getirin ve onun yardımıyla para kazanın","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Stremio için yeni bir eklenti geliştirdikten sonra, birkaç farklı yolla kolaylıkla para kazanabilirsiniz. Bunu düşünüyorsanız, ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" adresinden bizimle iletişime geçmekten çekinmeyin. Eklentiden para kazanma seçenekleri konusunda danışmanlık sunmaktan ve size tavsiyelerde bulunmaktan memnuniyet duyarız.","WEBSITE_CONTRIBUTE_TRANSLATE":"Gönüllü çevirmen olun","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Farklı dillerde Stremio uygulamalarının keyfini çıkarmak istiyorsanız, gönüllü çevirmenler topluluğumuza katılabilirsiniz. Onlar, Stremio\'nun sürümlerini birçok farklı dilde eklememize yardımcı oluyorlar.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Başlamak için sabırsızlanıyor musunuz?","WEBSITE_TRANSALTE_STREMIO":"Stremio\'yu Çevirin","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Resmi topluluklar","WEBSITE_COMMUNITY_OFFICIALS_P1":"Büyüyen Stremio topluluğunun bir parçası olun. Bizi sosyal medyada takip edin ve \'Merhaba\' demekten çekinmeyin; hayranlarımızı dinlemeyi çok seviyoruz! ","WEBSITE_COMMUNITY_UNOFFICIALS":"Resmi olmayan topluluklar","STREMIO_COMMUNITY_NL":"Stremio Hollanda","STREMIO_COMMUNITY_BRASIL":"Stremio Brezilya","STREMIO_COMMUNITY_GERMANY":"Stremio Almanya","STREMIO_COMMUNITY_BELGIUM":"Stremio Belçika","STREMIO_COMMUNITY_FRANCE":"Stremio Fransa","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portekiz","STREMIO_COMMUNITY_ITALY":"Stremio İtalya","STREMIO_COMMUNITY_UK":"Stremio İngiltere","STREMIO_COMMUNITY_USA":"Stremio ABD","STREMIO_COMMUNITY_MEXICO":"Stremio Meksika","STREMIO_COMMUNITY_ADDONS":"Stremio Eklentileri","STREMIO_COMMUNITY_ADDON":"Stremio Eklentisi","STREMIO_COMMUNITY_AWESOME":"Müthiş Stremio","WEBSITE_COMMUNITY_PARTNERS":"Ortaklar ve destekçiler","WEBSITE_COMMUNITY_GOODIES":"Stremio şekerlemeleri","WEBSITE_COMMUNITY_WALLPAPERS":"Duvar kağıtları","WEBSITE_COMMUNITY_ART":"Topluluk Sanat Galerisi","WEBSITE_LINK_ART":"Topluluk sanat galerisi","WEBSITE_CONTACT_US":"Bize ulaşın","WEBSITE_CONTACT_US_P1":"Eğer herhangi bir sorunuz, yorumunuz veya öneriniz varsa, aşağıdaki iletişim formu aracılığıyla bizimle iletişime geçmekten çekinmeyin.","WEBSITE_CONTACT_US_P2":"Bulgaristan’da bulunduğumuz için saat dilimi farklılıklarından dolayı sorunuzun yanıtlanmasında gecikmeler olabileceğini unutmayın.","WEBSITE_CONTACT_US_SUCCESS":"İletiniz gönderildi. Size en kısa sürede geri döneceğiz.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Lütfen geçerli bir e-posta adresi girin!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Sorunuz ne ile ilgili?","WEBSITE_CONTACT_US_Q_OS":"İşletim Sisteminiz nedir?","WEBSITE_CONTACT_US_PH_EMAIL":"E-posta adresiniz","WEBSITE_CONTACT_US_PH_MESSAGE":"İletiniz","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"GÖNDER","WEBSITE_CONTACT_US_Q_1":"Nasıl yüklenir?","WEBSITE_CONTACT_US_Q_2":"Nasıl kaldırılır?","WEBSITE_CONTACT_US_Q_3":"(HTML) Lazanya nasıl yapılır?","WEBSITE_CONTACT_US_Q_4":"Eklentiler","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Teknoloji","WEBSITE_TECHNOLOGY_P1":"Teknolojiyi ve çılgın bilimi seviyoruz. </br> İşte Stremio\'ya güç veren şeyler (hepsi açık kaynaklı).","WEBSITE_TECHNOLOGY_P_QT":"Platformlar arası yazılım geliştirmenin en iyi hali.","WEBSITE_TECHNOLOGY_P_MPV":"Ücretsiz, açık kaynaklı ve platformlar arası bir ortam oynatıcı.","WEBSITE_TECHNOLOGY_P_RN":"React Native, yalnızca JavaScript kullanarak mobil uygulamalar oluşturmanızı sağlar.","WEBSITE_TECHNOLOGY_P_VLC":"Çokluortam almak için uygulamaya gömülü ortam çatısı.","WEBSITE_TECHNOLOGY_P_REALM":"Realm, bir mobil platformdur ve SQLite ve Core Data’nın yerine geçmiştir.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js açık kaynaklı, platformlar arası bir JavaScript çalışma zamanı ortamıdır.","WEBSITE_TECHNOLOGY_P_RUST":"Rust, özellikle güvenli eşzamanlılık olmak üzere güvenliğe odaklanan çok paradigmalı bir sistem programlama dilidir.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Projeye katkıda bulunun","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Stremio\'ya katkıda bulunmanın ve ürünün daha da iyi olmasına yardımcı olmanın iki yolu vardır.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Platformu çevirerek değerli dil becerilerinizi bağışlayabilirsiniz...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"ya da","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... topluluk eklentileri oluşturmak için kodlama becerilerinizi kullanabilirsiniz. ","WEBSITE_TRANSLATE_STREMIO":"Stremio\'yu Çevirin","WEBSITE_404_OH_NO":"Olamaz! Aradığınız sayfa burada değil...","WEBSITE_GO_HOME":"Girişe git","WEBSITE_LINK_OTHER_DOWNLOADS":"Diğer indirmeler","WEBSITE_FAQ_ABR":"SSS","WEBSITE_SUPPORT":"Destek","WEBSITE_DOWNLOAD_4_0_BETA":"Stremio 4 beta\'yı Hemen indirin","WEBSITE_GET_FOR_DESKTOP":"Masaüstü için alın","WEBSITE_LINK_ADDON_COMPETITION":"Eklenti yarışması","WEBSITE_LINK_ART_CONTEST":"Sanat yarışması","WEBSITE_MY_ACCOUNT":"Hesabım","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremio nedir?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio, istediğiniz her şeyi izleme özgürlüğü sunan modern bir medya merkezidir.","WEBSITE_MAINPAGE_FAQ_002_H1":"Nasıl çalışır?","WEBSITE_MAINPAGE_FAQ_002_P1":"Stremio\'yu cihazınıza yükleyip bir hesap oluşturduktan sonra, yapmanız gereken tek şey eklenti kataloğunu ziyaret etmek ve istediğiniz eklentiyi yüklemektir!","WEBSITE_MAINPAGE_FAQ_002_P2":"Bundan sonra, içeriği keşfetmeye başlamak için Keşfet veya Pano bölümlerine gidebilirsiniz.","WEBSITE_MAINPAGE_FAQ_003_H1":"Burada ne izleyebilirim?","WEBSITE_MAINPAGE_FAQ_003_P1":"Çok şey var: Filmler, TV programları, Web kanalları, Spor, TV kanallarını izleyin ya da podcast\'leri ve daha fazlasını dinleyin. Eklenti sistemimiz sayesinde çeşitli içeriklere erişebilirsiniz.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio açık kaynaklı mı?","WEBSITE_MAINPAGE_FAQ_004_P1":"Evet, şu bağlantıları gözden geçirebilirsiniz: ${1}masaüstü uygulaması${2} ve ${3}GitHub kuruluşu${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio güvenli mi?","WEBSITE_MAINPAGE_FAQ_005_P1":"Evet, Stremio açık kaynak kodlu bir yazılım olduğundan, kod herkes tarafından denetlenebilir ve kendiniz de kodunu inceleyebilirsiniz.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio’nun eklenti sistemi de kullanıcının güvenliği göz önünde bulundurularak oluşturulmuştur. Eklentiler yerel olarak herhangi bir kod çalıştırmaz, dolayısıyla cihazınız için herhangi bir risk oluşturmaz.","WEBSITE_MAINPAGE_FAQ_006_H1":"Mahremiyetime ne dersiniz?","WEBSITE_MAINPAGE_FAQ_006_P1":"Kullanıcıların gizliliğine saygı duyuyoruz ve hesabınızı oluşturmak ve eşitlemek için gerekli en az temel veri dışında herhangi bir kişisel veri toplamıyoruz.","WEBSITE_MAINPAGE_FAQ_006_P2":"Ayrıca kaydolma sırasında herhangi bir veri gerektirmeyen ${1}Misafir modu${2} vardır: bu modda, arka tarafa çağrı yapılmaz. Ancak, kitaplığınızı cihazlar arasında eşitleyebilmek gibi yararlı özelliklerin ödün vermeniz gerekir.","WEBSITE_MAINPAGE_FAQ_007_H1":"Televizyonuma yayınlayabilir miyim?","WEBSITE_MAINPAGE_FAQ_007_P1":"Evet, Chromecast\'i destekliyoruz ve hem masaüstü hem de mobil uygulamalardan (Android) yayınlayabilirsiniz.","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio\'nun kaç eklentisi var?","WEBSITE_MAINPAGE_FAQ_008_P1":"2019 sonu itibariyla, 50\'nin üzerinde. Daha fazla bilgi için eklenti kataloğumuza bakın.","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio eklenti kataloğundakinin ötesine genişletilebilir mi?","WEBSITE_MAINPAGE_FAQ_009_P1":"Evet, şunları gözden geçirebilirsiniz: ${1}PimpMyStremio${2}, ${3}Reddit toplulukları${4}, ${5}Stremio İndirici${6} vb.","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio hangi cihazları destekliyor?","WEBSITE_MAINPAGE_FAQ_010_P1":"Windows, Mac ve Linux için masaüstü uygulamalarımız mevcut. Mobil cihazlar için, Android ve iOS\'u destekliyoruz. Ancak iOS\'un işlevsellik açısından sınırlı olduğunu unutmayın (çoğu eklentiyi desteklemez).","WEBSITE_MAINPAGE_FAQ_010_P2":"NVIDIA Shield ve Amazon Fire Stick gibi Stremio\'yu çalıştırabileceğiniz birçok Android tabanlı cihaz var. Ancak bunları resmi olarak desteklemiyoruz.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Windows, Mac ve Linux için masaüstü uygulamalarımız var. Ayrıca Android Mobil ve Android TV için adanmış uygulamalarımız da bulunmaktadır. İşlevselliği daha sınırlı olmasına rağmen iOS ve iPadOS için Stremio Web’i kullanmanızı öneririz.","WEBSITE_MAINPAGE_FAQ_011_H1":"Stremio\'ya bazı içerikler ekleyebilir misiniz?","WEBSITE_MAINPAGE_FAQ_011_P1":"Üzgünüz, kendimiz içerik sağlamıyoruz, ancak ne kadar çok Stremio eklentisi yüklerseniz o kadar fazla içerik bulabilirsiniz.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio magnet bağlantılarını oynatabilir mi?","WEBSITE_MAINPAGE_FAQ_012_P1":"Evet. Ayrıca normal HTTP bağlantılarını ve torrent dosyalarını da oynatabilir (sürükleyin ve bırakın).","WEBSITE_MAINPAGE_FAQ_013_H1":"Bir video indirip çevrimdışı izleyebilir miyim?","WEBSITE_MAINPAGE_FAQ_013_P1":"Çevrimdışı kullanım gelecek bir özelliktir. Ancak Stremio\'nun cihazınızda önbelleklemesine izin verirseniz (ayarlar panelinden) videoyu daha sonra bağlantı olmadan izleyebilirsiniz.","WEBSITE_MAINPAGE_FAQ_014_H1":"Hiçbir şey çalışmıyor, yardım edin!","WEBSITE_MAINPAGE_FAQ_014_P1":"Eklentileri yüklediğinizden emin misiniz? Cevabınız evetse, ${1}yardım merkezimize${2} danışın.","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio geliştirme faaliyetlerini nasıl sürdürüyor?","WEBSITE_MAINPAGE_FAQ_015_P1":"Nadiren rahatsız edici olmayan reklamlar yayınlıyoruz, ancak bir bağış modeline geçmeyi düşünüyoruz.","WEBSITE_MAINPAGE_FAQ_015_P2":"Daha fazla soru için ${1}yardım merkezimize${2} gidin.","HELP_LEARN_MORE":"Hakkınızda daha fazla bilgi edinmemize yardımcı olun.","LIFESTYLE":"Yaşam stili","SPORTS":"Spor","FOOD_HEALTH":"Yemek ve Sağlık","BEAUTY_FASHION":"Güzellik ve Moda","NEWS":"Haber","GAMING":"Oyun","SCIENCE_EDUCATION":"Bilim ve Eğitim","MUSIC":"Müzik","TRAVEL":"Seyahat","LATE_NIGHT":"Gece Gösterisi","REALITY":"Gerçeklik","COMEDY":"Komedi","DIY":"Nasıl Kendin Yaparsın","TECH":"Teknoloji","CINEMA":"Sinema","CONTINUE":"Devam","SLOW_LOADING":"YAVAŞ MI YÜKLENİYOR?","I_GIVE_UP":"VAZGEÇTİM","LEARN_MORE":"Daha fazla bilgi edinin","POOR_SOURCE":"Bu kaynak yetersiz veya internet bağlantınız yeterince hızlı değil","PICK_CATEGORIES_ERR":"En az 3 kategori seçmek zorundasınız","ADJUST_TIMING":"Ayarlanacak zaman ","ADJUST_SIZE":"Ayarlanacak boyut ","SEARCH_ANYTHING":"Her Şeyi Arayabilirsiniz...","ALL_CATEGORIES":"Tümü","SEARCH_CATEGORIES":"Filmler, Diziler, YouTube ve TV","SEARCH_PERSONS":"Aktörler, Yönetmenler ve Yazarlar","SEARCH_PROTOCOLS":"HTTP ve Magnet Bağlantıları","SEARCH_TYPES":"IMDB / TVDB Bağlantıları","WATCHED":"İzlendi","SHOW_LESS":"Daha az göster","LAST_SEARCHES":"Son aramalar","CLEAR_HISTORY":"Geçmişi temizle","CHOOSE_SOME":"BUNLARDAN BAZILARINI SEÇİN:","PAGE_NOT_FOUND":"Sayfa bulunamadı!","NO_WEB_REMOTE":"Web Uzaktan Kumandası yüklenemedi","STREMIO_OFFLINE":"Stremio çevrimdışı","STREMIO_EXPENSIVE_CONNECTION":"Mobil veri bağlantısı kullandığınızı algıladık, devam etmek istiyor musunuz?","USE_DATA":"Veriyi kullan","WARNING":"Uyarı","MORE_INFO":"Daha Fazla Bilgi ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Yükleniyor ...","STREMIO_TV_BACK_TO_LANGUAGES":"Dillere geri dön","STREMIO_TV_REMOTE":"Uzaktan Kumanda","STREMIO_TV_GO_TO":"Git:","STREMIO_TV_OR_SCAN":"ve tara:","STREMIO_TV_ADDON_INSTRUCTIONS":"Tercih ettiğiniz eklentileri yüklemek için lütfen talimatları takip edin.","STREMIO_TV_LIVE_TV":"Canlı TV","STREMIO_TV_RESUME_WATCHING":"İzlemeye Devam Et","STREMIO_TV_LOADING_BACKGROUND":"Arka planda yükleniyor","STREMIO_TV_CHECKING_AUTHENTICATION":"Kimlik doğrulama denetleniyor","STREMIO_TV_LOADING_BOARD":"Pano yükleniyor","STREMIO_TV_LOGIN_HEADER_LINE_1":"Kullanıcılarımızın yazılımımızla mümkün olan en iyi kişiselleştirilmiş deneyime sahip olmalarını istiyoruz.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Bu nedenle, hesabınızı oluşturmanızı ve/veya hesabınıza oturum açmanızı rica ederiz.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Anlayışınız için teşekkür ederiz,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio Ekibi","STREMIO_TV_REMOTE_INSTRUCTIONS":"Web Uzaktan Kumandayı Akıllı Telefon / Tablet / Masaüstünüzle kullanmak için:","STREMIO_TV_WIFI_SETUP":"Kablosuz Kurulumu","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle bir internet bağlantısı algılayamadı.","STREMIO_TV_WIFI_DETAILS_1":"Şuna bağlan:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Parola kullan:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Bağlantıyı bir web tarayıcısı ile aç:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Varsayılan","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Son İzlenene Göre","STREMIO_TV_LIBRARY_SORT_NAME":"Ada Göre","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Ada Göre Azalan","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"İzlenme Sayısına Göre","STREMIO_TV_LIBRARY_SORT_WATCHED":"İzlenene Göre","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"İzlenmeyene Göre","STREMIO_TV_DETAILS_SEASON_NUMBER":"Sezon ${1}","STREMIO_TV_STREAMS_LOADING":"${1} / ${2} eklenti yüklendi...","STREMIO_TV_STREAMS_STILL_LOADING":"${1} eklentisi hala yükleniyor...","STREMIO_TV_PLAYER_SETTINGS":"Oynatıcı ayarları","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Altyazı gecikmesi","STREMIO_TV_PLAYER_AUDIO_DELAY":"Ses gecikmesi","STREMIO_TV_PLAYER_VIDEO_SCALING":"Görüntü ölçeği","STREMIO_TV_PLAYER_CHAPTERS":"Bölümler","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Atla ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Desteklenmeyen akış kaynağı","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Harici bağlantıyı açma başarısız","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Ses içinden geçiş modunda ayarlanamaz","STREMIO_TV_PLAYER_PLAY_IN_EXO":"ExoPlayer ile oynat","STREMIO_TV_PLAYER_PLAY_IN_VLC":"libVLC player ile oynat","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Oynatma hatasından dolayı libVLC player\'a geçiliyor","STREMIO_TV_ADDONS_TITLE":"Eklentileri yüklemek veya yapılandırmak için Telefonunuzda veya PC\'nizde Stremio\'yu kullanın ve \\"Eklentileri Eşitle\\"ye basın","STREMIO_TV_ADDONS_SUBTITLE":"Not: Aynı Stremio hesabını kullandığınızdan emin olun.","STREMIO_TV_ADDONS_SYNC_ADDONS":"Eklentileri Eşitle","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Eklentiler başarılı olarak eşitlendi","STREMIO_TV_ADDONS_SYNC_FAILED":"Eklentileri eşitleme başarısız oldu","STREMIO_TV_META_LINK_FAILED":"Üst bağlantıyı açma başarısız oldu","STREMIO_TV_CATALOG_LOADING":"Katalog hala yükleniyor...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Arayüz dili güncellendi","STREMIO_TV_SETTINGS_THEME_UPDATED":"Tema güncellendi","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Varsayılan Oynatıcı","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Harici Oynatıcı","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Tercih Edilen Dil","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"İkincil Tercih Edilen Dil","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Tünelli Oynatma","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Bazı cihazlarda olası oynatma sorunları","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Bazı görüntü biçimleri çalışmayabilir","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Kare hızı eşleme","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Etkisizleştirildi","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Yalnızca Kare Hızı","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Kare Hızı ve Çözünürlük","STREMIO_TV_SETTINGS_NO_CACHING":"Önbellekleme yok","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Varsayılan","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Yavaş","STREMIO_TV_SETTINGS_PROFILE_FAST":"Hızlı","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Çok Hızlı","STREMIO_TV_SETTINGS_SERVER_URL":"Yayın akışı sunucusu URL\'si","STREMIO_TV_SETTINGS_SERVER_VERSION":"Sunucu sürümü","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Bilinmiyor","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio sürümü","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Sunucu URL\'sini düzenle","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Bir yayın akışı sunucusu URL\'si girin","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Yüklenirken istatistikleri göster","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Stremio\'nun Gizlilik İlkesini okumak için şu adresi ziyaret edin:","STREMIO_TV_SETTINGS_TOS_TEXT":"Stremio\'nun Şartlar ve Koşullarını okumak için şu adresi ziyaret edin:","STREMIO_TV_NAV_SEARCH":"Ara","STREMIO_TV_NAV_HOME":"Giriş","STREMIO_TV_NAV_DISCOVER":"Keşfet","STREMIO_TV_NAV_LIBRARY":"Kitaplık","STREMIO_TV_NAV_MOVIES":"Filmler","STREMIO_TV_NAV_SERIES":"Diziler","STREMIO_TV_NAV_CHANNELS":"Kanallar","STREMIO_TV_NAV_TV":"Canlı TV","STREMIO_TV_NAV_SETTINGS":"Ayarlar","STREMIO_TV_NAV_ADDONS":"Eklentiler","STREMIO_TV_LOGIN_TITLE":"Hesabı Bağla","STREMIO_TV_LOGIN_EXPIRES_IN":"Sona erme tarihi","STREMIO_TV_LOGIN_STEP_ONE":"Yukarıdaki QR Kodu tarayın veya","STREMIO_TV_LOGIN_STEP_TWO":"Stremio hesabınıza oturum açın","STREMIO_TV_LOGIN_NEW_LINK":"Yeni bir bağlantı isteyin","STREMIO_TV_LOGIN_LINK_REFRESHED":"Oturum açma kodu yenilendi","STREMIO_TV_SEARCH_PLACEHOLDER":"Bir şeyler yazın","STREMIO_TV_SEARCH_NO_ADDONS":"Kataloglar için herhangi bir eklenti istenmedi!","STREMIO_TV_SEARCH_BUTTON":"Ara","STREMIO_TV_SEARCH_KEY_DEL":"Sil","STREMIO_TV_SEARCH_KEY_SPACE":"Boşluk","STREMIO_TV_SEARCH_KEY_CLEAR":"Temizle","STREMIO_TV_SEARCH_HISTORY_TITLE":"Geçmişi Temizle","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Başlıklar, Aktörler, Kanallar ve daha fazlasını arayabilirsiniz...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Arama Geçmişini Temizle","STREMIO_TV_FILTERS_DESCRIPTION":"Aşağıdaki süzgeçlerden birini seçin","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Yayın Akışı Sunucusu Çevrimdışı. Sunucu Ayarlarını Gözden Geçirin.","FILTERS":"Süzgeçler","SETTINGS":"Ayarlar","ACCOUNT":"Hesap","LOGOUT":"Oturumu Kapat","THEMES":"Temalar","PLAYBACK":"Oynatma","PLAYBACK_SPEED":"Oynatma Hızı","AUDIO_TRACKS":"Ses İzleri","UNKNOWN_TRACK_LANG":"Bilinmiyor","VIDEOS":"Görüntüler","SERVER":"Sunucu","LINKS":"Bağlantılar","ABOUT":"Hakkında","INTERFACE":"Arayüz","ANIMATIONS":"Animasyonlar","STATUS":"Durum","LANGUAGE":"Dil","SIZE":"Boyut","DELAY":"Gecikme","BOLD":"Kalın","OPACITY":"Geçirgenlik","TEXT_COLOR":"Metin Rengi","OUTLINE_COLOR":"Anahat Rengi","BACKGROUND_COLOR":"Arka Plan Rengi","BACKGROUND_BLUR":"Arka Plan Bulanıklığı","SEEK_TIME_DURATION":"Atlama Süresi","AUTO_PLAY":"Sonraki Bölümü otomatik oynat","PLAY_NOW":"Şimdi Oynat","MARK_AS_WATCHED":"İzlendi olarak İşaretle","MARK_AS_UNWATCHED":"İzlenmedi olarak İşaretle","REWIND_TO_BEGINNING":"En Başa Al","CONTINUE_WATCHING":"İzlemeye Devam Et","ALL":"Tümü","SECONDS":"saniye","ON":"AÇIK","OFF":"KAPALI","RELOAD":"Yeniden Yükle","EDIT_URL":"URL\'yi Düzenle","URL":"URL","NONE":"Hiçbiri","EMBEDDED":"Gömülü","LOCAL":"Yerel","REMOTE_SWITCH_DEVICES":"Cihazları Değiştir","REMOTE_VIDEOS":"Görüntüler","REMOTE_ADJUST_TIMING":"Zamanlamayı ayarla","REMOTE_ADJUST_SIZE":"Boyutu ayarla","REMOTE_COULD_NOT_BE_LOADED":"Web Uzaktan Kumandası yüklenemedi","REMOTE_RETRY":"Yeniden Dene","TORRENT_PROFILE_DEFAULT":"Varsayılan","TORRENT_PROFILE_SOFT":"Yavaş","TORRENT_PROFILE_FAST":"Hızlı","TORRENT_PROFILE_ULTRA_FAST":"Çok Hızlı","MB_S":"MB/s","FAQ_001_H1":"Stremio nedir?","FAQ_001_P1":"Stremio, video eğlencesi için kullanım kolaylığı düşüncesiyle tasarlanmış bir medya merkezi yazılımıdır. Stremio organize etmenize izin verir & kendi film, dizi, kanal ve canlı TV koleksiyonunuzu izleyin.","FAQ_001_P2":"Stremio, size gösterilen içeriği yerel diskinizden ve eklentiler sisteminden toplar.","FAQ_001_P3":"İlgilerinize göre yeni bölümler/videolar/filmler çıktığında da sizi uyarır ve size özel film önerileri sunar.","FAQ_02_H1":"Stremio\'nun Kodi ve Plex\'ten ne farkı var?","FAQ_02_P1":"Bu iki yazılımdan ilham aldık. Ancak farklı hedeflerimiz var - Stremio özellikle eğlence videolarını hedef alıyor ve kullanımının çok kolay olması nedeniyle ana çözüm olma yolunu arıyor.","FAQ_02_P2":"Stremio, Kodi ve Plex kadar özelleştirilebilir ve zengin özellikli olmayacak, ancak kullanımı çok daha kolay. Sadece ${1} al ve ${2} gör :)","FAQ_03_H1":"Stremio\'nun Netflix\'ten farkı nedir?","FAQ_03_P1":"Yine, Netflix ilham kaynağımızdan biridir. Netflix\'in kullanıcı deneyimine ek olarak bir çok eklenti elde etmeye çalışıyoruz. Ama en önemlisi, kendi kütüphanenizi yönetme ve eklenti sistemimizle yeni içerik kaynaklarını ekleme özgürlüğünü sunuyoruz.","FAQ_03_P2":"Stremio\'yu sınırsız olarak genişletebilirsiniz. Bu nedenle Stremio\'yu kullandığınızda, Netflix\'in lisansını alabildiği içerikle asla sınırlı kalmazsınız. Örneğin, Stremio aracılığıyla ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} ve hatta ${9}Netflix${10}\'in kendisinden içerik izleyebilirsiniz!","FAQ_04_H1":"Stremio\'nun Flipboard\'dan farkı nedir?","FAQ_04_P1":"Bu soruyu sıkça görmüyoruz, yeni başlayanlarla konuşurken hariç :)","FAQ_04_P2":"Stremio, tasarım gereği videonun Flipboard olmasını sağlayan bir içerik toplayıcısıdır. Bu, Pano bölümünde çok açık bir şekilde görülmektedir; Flipboard gibi takip ettikleriniz için size kataloglar ve yeni bölüm/yeni video bildirimleri sunar.","FAQ_05_H1":"Stremio\'nun Popcorn Time\'dan farkı nedir?","FAQ_05_P1":"Stremio ve Popcorn Time, kullanıcı arabirimi olarak benzer, çünkü video eğlence kataloglarını doğru yapmanın başka bir yolu yok :)","FAQ_05_P2":"Ancak, Popcorn Time, belirli kaynaklardaki torrentleri akış yapmaya odaklanırken, Stremio sınırsızdır ve yalnızca bir içerik toplayıcısıdır - belirli bir içerik kaynağına kilitlenmez.","FAQ_05_P3":"Ayrıca, varsayılan olarak herhangi bir torrent eklentisi sağlamıyoruz. Bu nedenle Stremio, resmi işlevselliği olan Popcorn Time kullanım durumunu kapsamamaktadır.","FAQ_05_P4":"Bir diğer önemli fark ise, Popcorn Zamanı tamamen açık kaynaklı, Stremio ise ${1} kısmen açık kaynaklıdır${2}.","FAQ_06_H1":"Bu filmi/diziyi ekler misiniz?","FAQ_06_P1":"Hayır, üzgünüz :(","FAQ_06_P2":"Diğer sorularda birçok kez belirtildiği gibi, Stremio kendisi tarafından herhangi bir içerik sağlamaz; her şey eklentiler sistemi aracılığıyla eklenir. Bir içerik isteğiniz var ise Oynatıcı içindeki “Sorun bildir” düğmesini kullanabilirsiniz: Bu kullanmakta olduğunuz eklentinin oluşturucusuna bir e-posta gönderecektir.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"X için eklenti oluşturur musunuz?","FAQ_08_P1":"Bu tamamen mümkündür.","FAQ_08_P2":"Bir eklenti ile ilgili bir fikriniz varsa, bize ${1}office@stremio.com${2} adresinden birkaç satır yazın, ancak lütfen eklenti fikrinizin herhangi bir telif hakkı veya kullanım şartlarını ihlal etmediğinden emin olun.","FAQ_08_P3":"Şu anda, yol haritamızda bulunan sonraki şeyler; FandangoNOW, Filmon.tv, talep üzerine video, Crunchyroll için eklenti.","FAQ_09_H1":"Stremio, BitTorrent kullanıyor mu?","FAQ_09_P1":"Evet, Stremio bir akış protokolü olarak BitTorrent\'i destekliyor. Bunu bir torrent eklentisiyle veya bir .torrent dosyasını Stremio\'ya sürükleyip bırakarak ya da Arama Çubuğuna bir magnet bağlantısı yapıştırarak kullanabilirsiniz.","FAQ_09_P2":"BitTorrent\'i kullanan tek resmi eklentinin, indie içerik sağlayan ve tamamının BitTorrent ile dağıtılmasına izin veren ${1}Vodo${2} olduğunu lütfen unutmayın.","FAQ_09_P3":"Telif hakkı ihlaline neden olabilecek üçüncü taraf eklentilerinin kullanılmasını desteklemiyoruz.","FAQ_10_H1":"Stremio\'da resmi eklentilerle neleri izleyebilirim?","FAQ_10_P1":"Varsayılan olarak, Filmon.tv, YouTube ve Vodo içeriğini gömülü oynatıcı ile Stremio\'nun içinde izleyebilirsiniz. Ayrıca, Twitch.tv ve diğerleri için bir eklentimiz var.","FAQ_10_P2":"Bu birleştirilmiş bir seçim sağlar:","FAQ_10_L1":"Beğenilen TV kanalları, Filmon.tv tarafından sağlanır - örneğin E4, BBC, Bollyworld TV","FAQ_10_L2":"YouTube\'dan her şey - örneğin BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Vodo ile Indie filmleri","FAQ_10_L4":"Twitch.tv ile çevrimiçi oyun yayınları","FAQ_10_P3":"Buna ek olarak, Guidebox ve Netflix eklentileri ile sağlanan, tamamen, Stremio\'da <b>oynatılmayan</b>, ancak verilen hizmete yönlendiren birçok içerik kaynağı vardır. Örneğin, Guidebox eklentisi, TubiTV ve Crackle gibi hizmetlerden ABD\'de ücretsiz olarak yayın yapabileceğiniz bir film seçimi yapacaktır.","FAQ_11_H1":"Stremio yüklenmiyor, ne yapabilirim?","FAQ_11_P1":"Windows kullanıyorsanız, bu ${1}alternatif yükleyiciyi${2} deneyin","FAQ_11_P2":"Mac OS X kullanıyorsanız, lütfen OS X Mavericks(10.9)\'den daha eski hiçbir şeyi desteklemediğimizi unutmayın.","FAQ_11_P3":"Linux kullanıyorsanız, şu anda yalnızca 64 bit (x64) Linux\'u desteklediğimizin farkında olun.","FAQ_11_P4":"Sorununuzu yine de çözemezseniz, lütfen ${1}Facebook grubumuza${2} yazın.","FAQ_12_H1":"Antivirüs programım neden uyarı veriyor? Stremio güvenli mi?","FAQ_12_P1":"Stremio\'nun ${1}100% temiz${2} olduğundan emin olun.","FAQ_12_P2":"Virüsten koruma yazılımınız şikayetçi. Çünkü bazı antivirüs programlarının reklam yazılımı olarak tanıdığı reklamcıyı yükleyicimize dahil ediyoruz.","FAQ_12_P3":"Hala emin değilseniz, bizim ${1}alternatif yükleyicimizi${2} deneyebilirsiniz.","FAQ_13_H1":"Nasıl eklenti oluşturabilirim?","FAQ_13_P1":"Yeni başlayanlar için, GitHub\'daki ${1}eklentiler sistemi modülüne${2} göz atmanızı öneririz.","FAQ_13_P2":"Ardından, ${1}Merhaba dünya dersini${2} takip edebilirsiniz.","FAQ_13_P3":"Herhangi bir programlama becerisine sahip değilseniz, lütfen fikrinizi bize ${1}Reddit topluluğundan${2} ya da ${3}office@stremio.com${4} adresinden bildirebilirsiniz.","FAQ_14_H1":"Eklentiler nasıl yayınlanır?","FAQ_14_P1":"Bir eklenti ve sunucu oluştururken ve bildiriminize çalışan bir eklenti adresini işaret eden bir <b>bitiş noktası</ b> alanı koyduğunuzda, eklenti kendisini ${1}Eklenti kataloğumuzda${2} otomatik olarak yayınlayacaktır.","FAQ_14_P2":"Bu durum, stremio-addons modülünün sunucu parçası, eklentiyi duyurmak için API\'yı otomatik olarak çağırır. API\'mız, <b>bitiş noktası</ b> değerini geçerli bir eklenti olarak doğruladığında, katalogda gösterilmeye başlayacaktır.","FAQ_15_H1":"Tarayıcımda Stremio\'yu çalıştırabilir miyim?","FAQ_15_P1":"Şu an değil, ama bu geliyor!","FAQ_15_P2":"Bir Alfa görmekten hoşlanıyorsanız, burada görebilirsiniz: ${1}alpha4.strem.io${2}. Bu alfa üzerinde akışın devre dışı olduğunu unutmayın. Chrome, Firefox, Opera ve Edge\'i destekliyoruz.","FAQ_16_H1":"TV\'ye yayın yapma çalışmıyor/altyazı çalışmıyor","FAQ_16_P1":"TV\'ye yayın yapmak, farklı TV markaları ve modelleri arasında tutarsız olan DLNA teknolojisini kullanıyor. Bu nedenle, her durumda test etme yeteneğine sahip değiliz, bu yüzden mükemmel olmaktan çok uzak. Buna rağmen, sürekli olarak geliştirmeye çalışıyoruz ancak DLNA\'nın TV\'nizle ne zaman düzgün bir şekilde çalışmaya başlayacağına dair size bir zaman tahmini veremiyoruz.","FAQ_16_P2":"Yayın yapma menüsünde TV\'nizi göremiyorsanız, lütfen yönlendiricinizi, TV\'yi ve PC\'nizi yeniden başlatmanın yanı sıra ağ bağlantınızı devre dışı bırakmayı ve yeniden etkinleştirmeyi deneyin (Windows\'ta, Ağ\'a sağ tıklayın ve Etkinleştir/Devre Dışı Bırak\'ı kullanın).","FAQ_16_P3":"Hala bir sorunla karşılaşıyorsanız, TV markanızı ve model bilgilerinizi ${1}office@stremio.com${2} adresine göndererek bize yardımcı olabilirsiniz.","FAQ_16_P4":"Bu arada, çok iyi desteklediğimiz Chromecast\'i öneriyoruz ya da TV\'nizi bir HDMI kablosu ile bilgisayarınıza takmanız yeterlidir.","FAQ_17_H1":"Stremio donuyor ya da çöküyor, ne yapabilirim?","FAQ_17_P1":"Her şeyden önce, Windows 7\'yi AVG anti-virüs ile kullanıyorsanız: bu kombinasyonda bir sorunumuz var. Sorun AVG\'nin kendi içindedir ve bizim tarafımızdan çözülmesinin makul bir yolu yoktur. Ne yazık ki, istisnalar veya anti-virüs devre dışı bırakmak işe yaramaz. Tek çözüm, AVG\'yi başka bir şeyle değiştirmektir.","FAQ_17_P2":"Sorun bu değilse de, ancak hala Windows kullanıyorsanız, lütfen en son hizmet paketine güncelleyin ve GPU sürücülerinizi güncelleyin/yeniden yükleyin, sonra tekrar deneyin.","FAQ_17_P3":"Sorun hala devam ediyorsa veya Mac veya Linux kullanıyorsanız, lütfen sorunun ayrıntılarını bize ${1}Facebook grubumuzdan${2} yazabilirsiniz.","FAQ_18_H1":"Bir eklentiyi nasıl yapabilirim?","FAQ_18_P1":"Yeni başlayanlar için, GitHub\'daki ${1}eklentiler sistemi modülüne${2} göz atmanızı öneririz.","FAQ_18_P2":"Ardından, ${1}Merhaba dünya dersini${2} takip edebilirsiniz.","FAQ_18_P3":"Herhangi bir programlama becerisine sahip değilseniz, lütfen fikrinizi bize ${1}Reddit topluluğundan${2} ya da ${3}office@stremio.com${4} adresinden bildirebilirsiniz.","FAQ_19_H1":"Stremio neden disk alanı kaplıyor?","FAQ_19_P1":"Stremio\'da aktarılan video dosyalarını geçici olarak saklamak için <b>yerel önbellek</b> vardır.","FAQ_19_P2":"Bu iki avantaja sahiptir: Birincisi, Stremio\'nun akışını daha pürüzsüzleştirmek için videoyu ön yüklemeye olanak tanır. İkincisi, videoları yerel önbellekte tutar, böylece onları çevrimdışı izlemeye devam edebilirsiniz.","FAQ_19_P3":"Stremio\'nun ne kadar yer tuttuğu Ayarlar panelindeki <b>Önbellek</b> ayarına bağlıdır. Şu anda akışlı video bundan daha büyük olmadığı sürece, Stremio diskinizde belirlenen miktara (ör. 2GB) kadar tutabilir, bu durumda onu korumak için yeterli miktarda saklama alanı ayırmanız gerekir.","FAQ_20_H1":"Önbellek klasörü nerede?","FAQ_20_P1":"Windows\'ta, Ayarlar\'da seçtiğiniz sürücüdeki stremio-cache (ör. \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"MacOS\'ta, burada \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Linux\'ta, burada \\"~/.stremio/stremio-cache\\" ya da \\"~/stremio-cache\\"","FAQ_21_H1":"\\"Akış sunucusu bulunamadı\\" hatası alıyorum, ne yapabilirim?","FAQ_21_P1":"Bu hatayı alırsanız, bu birkaç şeyden biri anlamına gelir:","FAQ_21_P2":"1) ${1}Web sürümümüz${2} aracılığıyla YouTube / BitTorrent kaynağı tarafından desteklenen bir eklenti kullanmaya çalışıyorsunuz. Bu durumda, ${3}web sitemizden${4} masaüstü sürümümüzü yüklemelisiniz.","FAQ_21_P3":"2) Stremio kurulumunuzda bir sorun var. Bu durumda, ${1}web sitesinden${2} en yeni masaüstü sürümünü yeniden yüklemeyi deneyin. Bu işe yaramazsa, anti-virüs programları ve güvenlik duvarları devre dışı bırakarak PC\'nizi yeniden başlatın ve tekrar deneyin. Bu da işe yaramazsa, lütfen ${3}Facebook grubumuzdan${4} bize yazın.","FAQ_22_H1":"iOS\'ta çoğu eklentiyi göremiyorum/kullanamıyorum","FAQ_22_P1":"Çünkü, Apple\'ın App Store şartlar ve koşullarındaki kısıtlamalar nedeniyle iOS uygulamasını yalnızca belirli bir eklenti grubuyla sınırladık.","FAQ_22_P2":"Ancak gelecekte iOS için daha fazla eklenti olacak ve ayrıca iOS uygulamasını Stremio akış sunucusuna bağlayarak tüm Stremio eklentilerini kullanmanızı sağlayacak bir entegrasyon da ekleyebiliriz."}')},36043:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Фільм","TYPE_series":"Серіали","TYPE_tv":"Телеканали","TYPE_channel":"Канал","TYPE_other":"Інше","TYPE_movie_PL":"Фільми","TYPE_series_PL":"Серіали","TYPE_tv_PL":"Телеканали","TYPE_channel_PL":"Канали","TYPE_other_PL":"Інше","TYPE_ALL":"Все","TYPE":"Type","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"Відео","BACK":"Назад","MORE":"Більше","DONE":"Готово","COPY":"Копіювати","SUCCESS":"Успіх","ERROR":"Помилка","SETTINGS_CASTING_MODE_PICKER":"Режим трансляції","CASTING_MODE_HLSV2":"За замовчуванням","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Без перекодування","Discover":"Новинки","Board":"Дошка","Library":"Бібліотека","My Library":"Моя бібліотека","Calendar":"Календар","NOTIFICATION_ONLINE":"Ви в мережі","NOTIFICATION_OFFLINE":"Ви поза мережею","INTERNET_CONNECTION":"Мережне підключення","STORAGE_FULL_TITLE":"Попередження: сховище заповнено!","STORAGE_FULL_TEXT":"Stremio не зможе зберегти ваші налаштування, параметри чи інформацію для входу. Подумайте про перезапуск або перевстановлення Stremio.","SEARCH":"пошук","SEARCH_NO_RESULTS":"Результатів не знайдено","SEARCH_EXPLANATION_CONTENT":"Шукайте фільми, серіали, YouTube і телеканали","SEARCH_EXPLANATION_PEOPLE":"Шукайте акторів, режисерів та сценаристів","SEARCH_PASTE_LINKS":"Вставте посилання HTTP та Magnet","SEARCH_OR_PASTE_LINK":"Знайдіть або вставте посилання","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"Додати до бібліотеки","REMOVE_FROM_LIB":"Видалити з бібліотеки","ADDED_TO_LIB":"Додано до бібліотеки","REMOVED_FROM_LIB":"Вилучено з бібліотеки","TRAILER":"Трейлер","WATCH_TRAILER":"Переглянути трейлер","WATCH_NOW":"Дивитися зараз","SHOW":"Показати","SHOW_MOVIE":"Показати фільм","WATCH_RANDOM":"Дивитися випадкові","IMDB_RATING":"Рейтинг IMDb","YEAR":"Рік","DIRECTOR":"Режисер","WRITER":"Сценарист","LEAD_ACTORS":"У головних ролях","CAST":"Актори","CREW":"Команда","SHOW_MORE_CAST":"Показати більше »","AIRED":"Ефір","SEASONS":"Сезонів","GENRE":"Жанр","GENRE_ALL":"All genres","CATALOG":"Каталог","SUMMARY":"Зведення","SHOW_MORE":"Показати більше","SIMILAR":"Подібні","UPCOMING":"Майбутні","TBA":"TBA","ENDED":"Закінчено","DURATION":"Тривалість","FEATURED":"Рекомендовані","METADATA":"Метадані","CATEGORY":"категорія","LINKS_GENRES":"Жанри","LINKS_CAST":"Актори","LINKS_DIRECTORS":"Режисери","SEARCH_VIDEOS":"пошук відео","SEARCH_PLACEHOLDER":"шукайте або вставте URL-адреси","ADDON":"доповнення","ADDONS":"Доповнення","OFFICIAL":"офіційний","ADDONS_OFFICIAL":"Офіційні доповнення Stremio","ADDONS_POPULAR":"Популярні у вашому регіоні","ADDON_FREE":"безоплатні","ADDON_PEERED":"P2P","ADDON_SUBSCRIPTION":"підписка","ADDON_STREAM_GEORESTRICTED":"недоступне у вашому регіоні","ADDON_STREAM_OFFLINECACHE":"Офлайн-кеш","ADDON_STREAM_LOCALFILE":"Локальний файл","SHARE_ADDON":"Поділитися доповненням","AVAILABLE_STREAMS":"Доступні трансляції","NO_STREAM":"Трансляцій не знайдено","ALL_ADDONS":"Все","INSTALL_MORE_ADDONS":"Щоб отримати більше трансляцій, встановіть більше доповнень","STREAM_NOT_SUPPORTED":"Обрана трансляція не підтримується на цій платформі.","ADDON_CATALOGUE":"Показати всі доповнення »","ADDON_CATALOGUE_MORE":"Встановити доповнення","REPO_ADDED":"Додано репозиторій","ADDON_REPO_EXIST_ERR":"Ця колекція доповнень уже існує","ADDON_REPO_ERR":"Під час додавання колекції сталася помилка","ADDON_ADD_ERR":"Під час додавання доповнення сталася помилка","ERR_ADDON_PROTECTED":"Не вдається видалити доповнення, воно захищене","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Щось пішло не так – можливо, автентифікація не вдалася","ERR_NOT_COLLECTION_URL":"Це не URL-адреса колекції","ERR_NOT_ADDON_URL":"Недійсна URL-адреса доповнення","ERR_DETECTFROMURL":"Не вдається знайти доповнення/колекції за цією URL-адресою","ADDON_DUPLICATE_WARNING":"Попередження: дубльоване доповнення","ADDON_COLLECTION_SET_FAILED":"Не вдалося синхронізувати встановлені доповнення з вашим обліковим записом","SETTINGS_DATA_EXPORT":"Експортувати дані користувача","ADDON_PULL_FAILED":"Не вдалося синхронізувати встановлені доповнення з вашого облікового запису","REFRESH_ON_CLICK":"Натисніть, щоб повторити","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Фільм досі в кінотеатрах","WATCH_IN_CINEMA":"Подивіться у місцевому кінотеатрі","IN_THEATER":"У кіно","GET_TICKETS":"Придбати квитки","UPCOMING_EPISODE":"Наступні серії","UPCOMING_EPISODE_MESSAGE":"Ця серія вийде в ефір","MISSING_DATE_EPISODE":"Відсутня дата серії","MISSING_DATE_EPISODE_MESSAGE":"Можливо, ця серія ще не вийшла в ефір","CHANNEL_NOT_SCRAPED":"Цей канал ще не завантажено. <br> Будь ласка, поверніться за кілька хвилин.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Додайте його до своєї бібліотеки для отримання сповіщення доступності.","GET_NOTIFIED_WHEN_AVAILABLE":"Ви отримаєте сповіщення, як тільки він стане доступним.","WARNING_STREAMING_SERVER":"Попередження: локальний потоковий сервер не знайдено. Потокове передавання з локальних файлів YouTube і BitTorrent не будуть доступні.","WARNING_STREAMING_SERVER_DISMISS":"Закрити","WARNING_STREAMING_SERVER_LATER":"Пізніше","DECODER_WARNING":"Попередження: це відео може не підтримуватися вашим обладнанням. Майте на увазі, що відтворення може бути повільним.","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"Ой, помилка програвача","PLAYER_ERROR_LOOKSLIKE":"Схоже, що","PLAYER_ORIENTATION":"Орієнтація програвача","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Заблоковано","PLAYER_ORIENTATION_SENSOR_SHORT":"Датчик","PLAYER_ORIENTATION_LANDSCAPE":"Орієнтація програвача заблокована на альбомній","PLAYER_ORIENTATION_SENSOR":"Автоматична орієнтація програвача (датчик)","PLAYER_PLAYBACK_SPEED":"Швидкість відтворення","PLAYER_PLAYBACK_ERROR":"Помилка відтворення, повторіть спробу","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Невідома помилка","PLAYER_PLAYBACK_ERROR_DEFAULT":"{{productName}} не може відтворити це відео.","PLAYER_SUBTITLES_LANGUAGES":"Мови субтитрів","PLAYER_SUBTITLES_VARIANTS":"Варіанти субтитрів","PLAYER_SUBTITLES_SETTINGS":"Налаштування субтитрів","PLAYER_SUBTITLES_DISABLED":"Субтитри вимкнено","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Вертикальне положення","PLAYER_SUBTITLES_LOADED":"Субтитри завантажено","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Вбудовані субтитри завантажено","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Ексклюзивні субтитри завантажено","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Субтитри завантажено з {{origin}}","PLAYER_PLAY":"Грати","PLAYER_PAUSE":"Пауза","PLAYER_NEXT_VIDEO":"Наступне відео","PLAYER_MUTE":"Вимкнути звук","PLAYER_UNMUTE":"Увімкнути звук","PLAYER_OPEN_IN_EXTERNAL":"Відкрити у зовнішньому плеєрі","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Грати на {{device}}","PLAYER_LIVE":"Наживо","PLAYER_NEXT_VIDEO_TITLE":"Далі буде","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Закрити","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Дивитися зараз","PLAYER_COPY_STREAM_SUCCESS":"Посилання на трансляцію скопійовано в буфер обміну","PLAYER_COPY_STREAM_ERROR":"Не вдалося скопіювати посилання на трансляцію","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"транслюється з","CASTING_TO":"Транслюється до","NETWORK_STATUS":"Стан мережі","STREAM_SPEED":"Швидкість потоку:","STREAM_BUFFERED":"Буферизовано:","PEERS_INFO":"Інформація про вузли","PEERS_ACTIVE":"Активний:","PEERS_CONNECTED":"Підключено:","PEERS_WAITING":"Очікування:","TRANSCODING_WARNING":"Попередження: перекодування відео.","STREAM_LOADING":"завантаження...","PLAYING_LOCAL":"відтворення з локального файлу","PLAYING_CACHE":"відтворення з кешу","WRONG_SUBS":"Неправильні субтитри?","ERR_SUBS_LOADING_TITLE":"Помилка завантаження субтитрів","ERR_SUBS_LOADING":"Помилка завантаження субтитрів: це може бути із-за доповнення, яке ви використовуєте або з вашим мережевим підключенням","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Наступні доповнення субтитрів дали збій","ERR_CASTING_UPDATE_TITLE":"Не вдалося оновити інформацію про пристрій для трансляції: сервер потокового передавання може бути поза мережею","CHOOSE_DEVICE":"Виберіть пристрій для перегляду","NO_CAST_DEVICES":"Немає доступних пристроїв для трансляції.","NO_SETTINGS":"Немає доступних налаштувань.","NO_OPTIONS":"No options available","PHONE_TABLET":"Телефон / Планшет","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Субтитри","SUBTITLES_CHANGE":"Змінити субтитри для ","SUBTITLES_CHANGE_NONE":"На жаль, немає інших субтитрів для цієї мови.","SUBTITLES_CHANGE_ACIVE":"Наразі субтитри #{{subtitlesDialog.activeIdx + 1}} активовані. Натисніть «Продовжити», щоб активувати субтитри #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Або,","SUBTITLES_ADJUST_DELAY":"Налаштуйте затримку субтитрів:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Або використовуйте <span> G </span> / <span> H </span> під час відтворення, щоб налаштувати.","SUBTITLES_ADJUST_DELAY_TIP":"ПОРАДА: ви можете використовувати <span> G </span> / <span> H </span> під час відтворення для налаштування.","SUBTITLES_DELAY":"Затримка субтитрів:","SUBTITLES_LOADING":"Завантаження субтитрів...","SUBTITLES_UNAVAILABLE":"Немає доступних зовнішніх субтитрів","SUBTITLES_DISABLED":"Вимкнено","EXTERNAL_PLAYER_DISABLED":"Вимкнено","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Дозволити вибір","EXTERNAL_PLAYER_HINT":"Підказка: існує налаштування, яке дозволяє завжди відкривати за допомогою зовнішнього програвача","DONT_SHOW_AGAIN":"Більше не показувати","SERVICE_INSTALL":"Встановити","AUDIO":"Аудіо","DEFAULT_LANGUAGE":"Мова за замовчуванням","DEFAULT_SECONDARY_LANGUAGE":"Додаткова мова за умовчанням","SEASON":"Сезон","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Серія","EPISODE_ABBREVIATION":"EP","SPECIAL":"Особливий","SORT":"сортувати","SORT_BY":"Сортувати за","FILTER":"фільтр","SORT_TRENDING":"трендові","SORT_RECENT":"нещодавні","SORT_ALPHABET":"а-я","SORT_ALPHABET_REVERSE":"я-а","SORT_RATING":"рейтинг","SORT_WATCHED":"переглянуті","SORT_YEAR":"рік","SELECT":"Select","SELECT_TYPE":"Виберіть тип","SELECT_SORT":"Виберіть сортування","SELECT_CATALOG":"Виберіть каталог","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Виберіть жанр","SORT_LASTWATCHED":"За останніми переглянутими","SORT_NAME":"За назвою","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"За тривалістю переглядів","SORT_NOTWATCHED":"not watched","New for You":"Нове для Вас","New Episodes":"Нові серії","New Videos":"Нові відео","Recommendations":"Рекомендації","LIBRARY_RESUME":"Відновити","LIBRARY_PLAY":"Грати","LIBRARY_DETAILS":"Деталі","LIBRARY_RESUME_DISMISS":"Закрити","LIBRARY_CLEAR_PROGRESS":"Очистити прогрес","LIBRARY_REMOVE":"Видалити","LIBRARY_NOT_LOGGED_IN":"Бібліотека доступна лише для авторизованих користувачів","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Календар доступний лише для авторизованих користувачів","NOT_LOGGED_IN_CLOUD":"Отримуйте доступ до улюблених фільмів і телешоу в будь-який час і будь-де","NOT_LOGGED_IN_RECOMMENDATIONS":"Рекомендації, адаптовані до вашої історії переглядів","NOT_LOGGED_IN_NOTIFICATIONS":"Ніколи більше не пропускайте жодної серії","NOT_LOGGED_IN_CALENDAR":"Заплануйте свій особистий календар перегляду","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Рекомендовані","DISCOVER_TOP":"Топ","DISCOVER_OSCAR":"Переможці премії «Оскар»","DISCOVER_WARNING_TITLE":"Ой!","DISCOVER_EMPTY_CATALOG":"Це доповнення видало порожній вміст.","DISCOVER_ADULT_WARNING":"Вміст доступний лише для дорослих. Тобі 18+?","DISCOVER_NOADDON_WARNING":"Попередження: для цього типу немає активного доповнення Stremio. Показано збережені елементи, тут нічого не оновиться.","DISCOVER_LOAD_ERR":"Вміст не завантажився, сталася помилка.","DISCOVER_ADDON_UNINSTALLED":"Цей вміст більше не доступний, можливо, ви видалили доповнення.","UNINSTALL_THIS_ADDON":"Видалити це доповнення","ERR_ADDON_NOT_INSTALLED":"Це доповнення не встановлене. Встановити зараз?","DETAIL_RECEIVE_NOTIF_SERIES":"Отримувати сповіщення про нові серії","DETAIL_RECEIVE_NOTIF_VIDEOS":"Отримувати сповіщення про нові відео","SIDEBAR_SHOW_STREAMS":"Показати трансляції","RELAUNCH":"Перезапустіть зараз!","UPGRADE":"Нова версія доступна! Оновіть до останньої версії Stremio","RELOAD_UI":"Перезавантажте інтерфейс користувача","MANUAL_UPDATE_TITLE":"Оновіть версію Stremio","MANUAL_UPDATE_LINE1":"Ви використовуєте застарілу та не рекомендовану версію Stremio.","MANUAL_UPDATE_LINE2":"Будь ласка, оновіть якомога швидше.","BUTTON_UPDATE_LATTER":"Не зараз","BUTTON_UPDATE_NOW":"Оновити","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Анонімний користувач","DONT_HAVE_ACC":"Немає облікового запису?","HAVE_ACC":"Вже маєте обліковий запис?","PASSWORD":"Пароль","PASSWORD_CONFIRM":"Підтвердьте пароль","EMAIL":"Електронна пошта","FB_LOGIN":"Продовжити з Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Нічого не передається без вашого дозволу","FB_NOPOST":"Ми не будемо публікувати від вашого імені","OR":"або","I_ACCEPT":"Я приймаю","I_ACCEPT_BY_CLICKING":"Натискаючи кнопку вище, я підтверджую, що приймаю","TOS":"Правила та умови","MUST_ACCEPT_TERMS":"Вам потрібно прийняти умови","PASSWORDS_NOMATCH":"Паролі не збігаються","SIGN_UP":"Зареєструватися","SIGN_UP_EMAIL":"Зареєструйтеся за допомогою е-пошти","CLICK_TO_SIGN_UP":"Натисніть тут, щоб зареєструватися.","LOG_IN":"Увійти","LOG_OUT":"Вийти","EXIT_FULLSCREEN":"Вийти з повноекранного режиму","ENTER_FULLSCREEN":"Увійдіть в повноекранний режим","PLAY_URL_MAGNET_LINK":"Відтворити URL-адресу/магнітне посилання","HELP_FEEDBACK":"Довідка та відгуки","TERMS_OF_SERVICE":"Умови надання послуг","PRIVACY_POLICY":"Політика конфіденційності","ABOUT_STREMIO":"Про Stremio","USER_PANEL":"Панель користувача","LOGIN_LABEL":"Логін","GUEST_LOGIN":"Гостьовий вхід","GUEST_LOGIN_NOTICE":"Гостьовий вхід не рекомендується. Використання звичайного входу дозволяє Stremio синхронізувати вашу бібліотеку, отримувати сповіщення про улюблені серіали/канали. Справді продовжити?","GUEST_LOGIN_NOTICE_2":"Гостьовий вхід не рекомендується – у вас не буде синхронізованих сповіщень Бібліотеки та Дошки, які є життєво важливими функціями Stremio. Ви впевнені, що хочете продовжити?","CLICK_HERE":"натисніть тут","WRONG_PASSWORD":"Неправильна адреса електронної пошти або пароль. Якщо ви забули свій пароль,","SET_A_PASS":"встановіть пароль","RESET_PASSWORD":"Скинути пароль","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Забули пароль?","EMAIL_USED_WITH_FB":"Ця електронна адреса була використана для входу у Facebook.","INVALID_EMAIL":"Будь ласка, введіть дійсну адресу електронної пошти","INVALID_PASSWORD":"Введіть дійсний пароль","CONN_ERR":"Помилка підключення. Спробуйте пізніше. \\n\\nЯкщо це не зникне, вимкніть брандмауери/антивірусне програмне забезпечення (особливо Bitdefender).","IMPORT_FROM_GUEST":"Імпортувати бібліотеку з гостьового облікового запису","RECEIVE_UPDATES_EMAIL":"Отримувати оновлення на свою електронну пошту від Stremio","LOGIN_FAILED":"Помилка входу.","SIGNUP_FAILED":"Помилка реєстрації.","SEARCH_FAILED":"Помилка пошуку","EMAIL_USED":"Ця електронна адреса вже використовується.","WAITING_FB_LOGIN":"Вхід через Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Відтворити у зовнішньому програвачі","EXTERNAL_REMEMBER_PLAYER":"Ви хочете запам\'ятати свій вибір","EXTERNAL_ALWAYS_PLAY":"Так","EXTERNAL_ONLY_ONCE":"Ні","BEST_FIT":"Найкраще припсування","FIT_SCREEN":"Припасувати","FILL":"Заповнити","16:9":"16:9","4:3":"4:3","Original":"Оригінальний","INTRO_TASTE":"Розкажіть про те, що вам подобається","INTRO_TASTE_LONG":"Розкажіть про те, що б ви хотіли подивитися","INTRO_TASTE_PICK":"Виберіть {{interestsRemaining}} інтересів","INTRO_TASTE_PICK_MORE":"Виберіть ще {{interestsRemaining}} інтересів","INTRO_TASTE_HELP_US":"Допоможіть нам дізнатися більше про вас.","INTRO_TASTE_CHOOSE_THESE":"Виберіть деякі з цих:","INTRO_TASTE_CHOOSE_MIN":"Виберіть принаймні 3 категорії","INTRO_TASTE_CHOOSE_MIN_ERR":"Потрібно вибрати щонайменше 3 категорії!","INTRO_TASTE_LIFESTYLE":"Спосіб життя","INTRO_TASTE_SPORTS":"Спорт","INTRO_TASTE_FOOD_HEALTH":"Їжа та здоров\'я","INTRO_TASTE_BEAUTY_FASHION":"Краса та мода","INTRO_TASTE_NEWS":"Новини","INTRO_TASTE_GAMING":"Ігри","INTRO_TASTE_SCIENCE_EDU":"Наука та освіта","INTRO_TASTE_MUSIC":"Музика","INTRO_TASTE_TRAVEL":"Подорожі","INTRO_TASTE_LATE_NIGHT":"Вечірнє шоу","INTRO_TASTE_REALITY":"Реаліті-шоу","INTRO_TASTE_COMEDY":"Комедії","INTRO_TASTE_DIY":"Своїми руками","INTRO_TASTE_TECH":"Техно","INTRO_TASTE_CINEMA":"Кінотеатр","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Вибране доповнення не підтримується на цій платформі.","ADDON_DISCLAIMER":"Використання сторонніх доповнень завжди підлягає вашій відповідальності та чинному законодавству юрисдикції, у якій ви перебуваєте.","ADDON_ACTIVATE":"Активувати це доповнення?","ADDON_REPO_ADD":"URL колекції доповнення","ADDON_ADD":"Додати","INSTALL_ADDON":"Install addon","ADD_ADDON":"Додати доповнення","ADD_ADDON_DESCRIPTION":"Ви можете додати доповнення за зовнішнім посиланням, яке з’явиться в розділі «Встановлені доповнення».","PASTE_ADDON_URL":"Вставте URL-адресу доповнення","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Що нового","BUTTON_CONTINUE":"Продовжити","BUTTON_ACTIVATE":"Активувати","BUTTON_ACTIVATED":"Активовано","BUTTON_CANCEL":"Скасувати","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Надіслати","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Закрити все","BUTTON_VIEW_ALL":"подивитись все","BUTTON_SEE_ALL":"Переглянути все","BUTTON_COLOR_TRANSPARENT":"Прозорий","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Відкрити в браузері","LIB_EMPTY":"Ваша бібліотека виглядає порожньою. Дізнайтеся, наскільки це корисно :) ","HOW_START":"Ось як ви можете почати:","LIB_EMPTY_CAL":"Ваш Календар показує серії у вашій бібліотеці.","HOW_START_CAL":"Ось як ви можете додати серію:","LIB_EMPTY_BOARD":"Дошка показує сповіщення і рекомендації щодо вашої бібліотеки.","HOW_START_BOARD_WAIT":"Будь ласка, додайте кілька серіалів або каналів до своєї бібліотеки і дайте нам кілька хвилин на обробку :)","HOW_START_BOARD":"Ось як ви можете додати серіали та фільми сюди:","IMPORT_FB":"Імпортувати вподобані речі з <span>Facebook</span>","IMPORT_TRAKT":"Імпортувати медіатеки з <span>Тракт</span>","IMPORT_DISCOVER":"Знайдіть цікаві речі з <span> Discover </span>","IMPORT_DISK":"Імпотувати фільми або шоу, які є на вашому <span>локальному диску</span>","PLEASE_CREATE_ACC":"Будь ласка, <u>створіть обліковий запис</u>, щоб увімкнути синхронізацію Бібліотеки та Дошку.","IMPORT_DISCOVER_SIGNUP":"Зареєструйтеся та знайдіть цікаві речі з <span>Discover</span>","IMPORT_DISK_SIGNUP":"Зареєструйтеся та імпортуйте фільми або шоу з <span>локального диску</span>","LIB_EMPTY_CLOUD":"Хмарна бібліотека","LIB_EMPTY_CLOUD_DESC":"Персональна хмарна бібліотека синхронізована на всіх пристроях","LIB_EMPTY_EARLY":"Рання пташка","LIB_EMPTY_EARLY_DESC":"Отримувати сповіщення про нові серії","LIB_EMPTY_PERSONAL":"Особистий","LIB_EMPTY_PERSONAL_DESC":"Отримайте особисті рекомендації","LIB_EMPTY_CALENDAR_DESC":"Заплануйте свій особистий календар перегляду","LIB_EMPTY_ALL":"Зареєструйтеся, щоб отримати все це:","LIB_EMPTY_BEST":"Зареєструйтеся, щоб отримати найкраще від Stremio","LIB_EMPTY_OTHER":"Зареєструйтеся, щоб увімкнути Календар та інші цікаві функції","CALENDAR_ADDED":"Календар Stremio додано до вашого настільного календаря за замовчуванням.","CALENDAR_ADDED_MSG":"Якщо це не спрацює, додайте цю URL-адресу до програми календаря вручну","TRAKT_EXPIRED":"Термін автентифікації Trakt закінчився, перейдіть у Налаштування та повторіть автентифікацію","TRAKT_REQUIRES_LOGIN":"Помилка тракту","TRAKT_REQUIRES_LOGIN_MSG":"Вам потрібно увійти","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Налаштування","SETTINGS_NAV_GENERAL":"Генеральний","SETTINGS_NAV_PLAYER":"Гравець","SETTINGS_NAV_STREAMING":"Потокове","SETTINGS_NAV_SHORTCUTS":"Ярлики","SETTINGS_SHORTCUT_RELOAD_APP":"Перезавантажте додаток","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Відкрити Налаштування","SETTINGS_SHORTCUT_SWITCH_TABS":"Перемикнути вкладок","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Перехід через вкладки вперед","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Перехід через вкладки назад","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Навігація між меню","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Перейти до Пошуку","SETTINGS_SHORTCUT_EXIT_BACK":"Вийти / Повернутися","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Перемикання меню швидкості відтворення","SETTINGS_SHORTCUT_MENU_VIDEOS":"Перемкнути меню «Відео».","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Перемкнути меню субтитрів","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Перемкнути інформаційне меню","SETTINGS_SHORTCUT_FULLSCREEN":"Увімкнути на повний екран","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Показати керування","SETTINGS_SHORTCUT_PLAY_PAUSE":"Грати / Пауза","SETTINGS_SHORTCUT_VOLUME_UP":"Гучніше","SETTINGS_SHORTCUT_VOLUME_DOWN":"Тихіше","SETTINGS_SHORTCUT_SEEK_NEXT":"Шукати вперед","SETTINGS_SHORTCUT_SEEK_PREV":"Шукати Назад","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Перейти назад","SETTINGS_SHORTCUT_SEEK_FORWARD":"Перейти вперед","SETTINGS_SHORTCUT_PLAY_NEXT":"Грати далі","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Збільшити розмір субтитрів","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Зменшити розмір субтитрів","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Збільшити затримку субтитрів","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Зменшити затримку субтитрів","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Показати бічну панель","SETTINGS_SHORTCUT_OR":"або","SETTINGS_SHORTCUT_TO":"до","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Пробіл","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Автентифікувати","SETTINGS_FACEBOOK_IMPORT":"Імпорт","SETTINGS_CALENDAR_SUBSCRIBE":"Підпишіться","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Мова інтерфейсу","SETTINGS_LAUNCH_STARTUP":"Запуск при запуску","SETTINGS_VLC_DEFAULT":"Грайте з VLC","SETTINGS_UI_LANGUAGE":"Мова інтерфейсу користувача","SETTINGS_UI_ZOOM":"Interface zoom","SETTINGS_FULLSCREEN_EXIT":"Клавіша Escape Вихід на весь екран","SETTINGS_GAMEPAD":"Увімкнути підтримку геймпада","SETTINGS_CLOSE_WINDOW":"Закрийте програму, коли вікно закрито","SETTINGS_SUBTITLES_LANGUAGE":"Мова субтитрів за замовчуванням","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Розмір субтитрів за замовчуванням","SETTINGS_SUBTITLES_BACKGROUND":"Фон субтитрів","SETTINGS_SUBTITLES_COLOR":"Колір субтитрів","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Колір контуру субтитрів","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Колір фону субтитрів","SETTINGS_SEEK_KEY":"Клавіші зі стрілками шукають час","SETTINGS_SEEK_KEY_SHIFT":"Клавіші зі стрілками шукають час, коли утримується клавіша Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Тривалість перемотування назад і вперед","SETTINGS_BINGE":"Автоматичне відтворення наступної серії","SETTINGS_NEXT_VIDEO":"Показати сповіщення, щоб почати наступну серію","SETTINGS_NEXT_VIDEO_TRIGGER":"Показати сповіщення про наступну серію для:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Тривалість наступного спливного відео","SETTINGS_PLAY_IN_BACKGROUND":"Грати у фоновому режимі","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Перегляд у зовнішньому програвачі","SETTINGS_RESIZE":"Автоматичне змінення розміру вікна перед відтворенням","SETTINGS_OVERRIDE_SERVER":"Замінити URL-адресу потокового сервера (просунуте)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"URL-адреса потокового сервера:","SETTINGS_SERVER_AVAILABLE":"Потоковий сервер доступний.","SETTINGS_SERVER_UNAVAILABLE":"Потоковий сервер недоступний.","SETTINGS_SERVER_STATUS_ONLINE":"В мережі","SETTINGS_SERVER_STATUS_ERROR":"Помилка","SETTINGS_SERVER_CONFIGURE_TITLE":"Налаштувати URL-адресу потокового сервера","SETTINGS_SERVER_CONFIGURE_INPUT":"Введіть URL-адресу потокового сервера","SETTINGS_SERVER_CACHE_SIZE":"Розмір кешу","SETTINGS_SERVER_TORRENT_PROFILE":"Торент профіль","SETTINGS_HTTPS_ENDPOINT":"HTTPS адреса потоку:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"Завжди використовуйте останню бета-версію","SETTINGS_IMPORT_FB":"Імпортувати із Facebook","SETTINGS_IMPORT_DISK":"Імпортувати з локального диска","SETTINGS_IMPORT_TRAKT":"Імпортувати із Trakt","SETTINGS_PAUSE_MINIMIZED":"Призупинити відтворення, коли згорнуто","SETTINGS_HWDEC":"Декодування з апаратним прискоренням","SETTINGS_BACKGROUND":"Фонове відтворення","SETTINGS_SUBSCRIBE_CALENDAR":"Підписатися на календар","SETTINGS_REQ_EXPORT":"Запит на експорт даних","SETTINGS_ACC_DELETE":"Запит на видалення облікового запису","SETTINGS_CHANGE_PASSWORD":"Змінити пароль","SETTINGS_TOS":"Умови використання","SETTINGS_SUPPORT":"Зв\'яжіться зі службою підтримки","SETTING_LANGUAGE":"Мова","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Скроблінг Trakt","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Вийти із Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Вийти із Trakt","SETTINGS_SCAN_FOR_REMOTE":"Відскануйте QR-код, щоб відкрити пульт","SETTINGS_DESKTOP_NOTIFICATIONS":"Сповіщення на робочому столі","SETTINGS_DATA_SAVER":"Заощадження даних","SETTINGS_LANGUAGE_INTERFACE":"інтерфейс","SETTINGS_LANGUAGE_SUBS":"субтитри за замовчуванням","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Автоматичний вибір звукової доріжки","SETTINGS_DEFAULT_AUDIO_TRACK":"Аудіодоріжка за замовчуванням","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"обліковий запис","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"версія","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"Запуск програвача в окремому вікні (просунуте)","SETTINGS_PLAY_IN_EXTERNAL":"Завжди запускати відео у зовнішньому програвачі","SETTINGS_STORAGE_BUTTON":"Очистити локальне сховище","SETTINGS_STORAGE_MODAL_TITLE":"Ви впевнені?","SETTINGS_STORAGE_MODAL_MESSAGE":"Це очистить локальне сховище та виведе вас із системи.","SETTINGS_HWDEC_PICKER":"Виберіть налаштування декодування з апаратним прискоренням","SETTINGS_HW_AUTOMATIC":"Автоматичне","SETTINGS_HW_DISABLED":"Вимкнено","SETTINGS_HW_ACCELERATED":"Прискорення декодування","SETTINGS_HW_FULL":"Повне прискорення","SETTINGS_HW_LEGACY":"Спадщина","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"Субтитри","SETTINGS_SECTION_AUDIO":"Аудіо","SETTINGS_SECTION_CONTROLS":"Елементи керування","SETTINGS_SECTION_AUTO_PLAY":"Автоматичне відтворення","SETTINGS_SECTION_ADVANCED":"Просунутий","SUBSPICKER_AUDIO":"Аудіо","SUBSPICKER_SUBTITLES":"Субтитри додатків","SUBSPICKER_BLACK_BACKGROUND":"Використовуйте чорний колір тла","SUBSPICKER_VERTICAL_OFFSET":"Вертикальне зміщення","SUBSPICKER_SIZE":"Розмір","SUBSPICKER_DELAY":"Затримка","SUBSPICKER_EMBEDDED_SUBS":"Вбудовані субтитри","MOBILE_PRIVACY_POLICY":"Політика конфіденційності","MOBILE_CRASH_REPORTING":"Звіт про збої","MOBILE_ZOOM_TO_FILL":"Збільшити на весь екран","MOBILE_PASSTHROUGH":"Цифровий аудіовихід (прохідний)","MOBILE_RUN_LOW_BATTERY":"Працювати від низького заряду батареї","MOBILE_RUN_FOREGROUND":"Запускати як передову службу","MOBILE_PERFORMANCE":"ЕФЕКТИВНІСТЬ ТА СТАБІЛЬНІСТЬ","MOBILE_SERVER_ONLINE":"Онлайн","MOBILE_SERVER_OFFLINE":"Офлайн","MOBILE_QR_EXPIRES":"QR-код діє через","MOBILE_LOG_INTO":"Увійдіть у свій обліковий запис Stremio","MOBILE_SCAN_QR":"Відскануйте QR-код вище або перейдіть до","MOBILE_LINK_ACCOUNT":"Пов’язати обліковий запис","MOBILE_SPEEDPICKER_CANCEL":"Скасувати","MOBILE_SPEEDPICKER_LABEL":"Виберіть швидкість відтворення","MOBILE_EMPTY_LIBRARY":"Ваша бібліотека порожня","MOBILE_NO_ADDON_ACTIVE":"Немає активного доповненняа Stremio для цього типу.","MOBILE_ORGANIZER_WARNING":"Програма Stremio Organizer надає обмежену функціональність. Щоб отримати список доступних для відтворення потоків і повний досвід Stremio, використовуйте Stremio на комп’ютері.","MOBILE_ADDON_LOADING":"ще завантажується","MOBILE_ADDONS_LOADING":"доповнення досі завантажуються","MOBILE_ADDON":"Доповнення","MOBILE_CONFIGURE_ADDON":"Налаштуйте своє доповнення","MOBILE_CONFIGURE_ADDON_LABEL":"Налаштувати доповнення","MOBILE_ORGANIZER_ADDONS_WARNING":"Додаток Stremio Organizer надає обмежений вибір доповнень. Для повного використання програми використовуйте Stremio на ПК.","MOBILE_DISCONNECT":"Відключити","MOBILE_LOOKING_FOR_DEVICES":"Пошук пристроїв...","MOBILE_CAST_TO":"Транслювати на","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Видалити акаунт","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Видалення облікового запису не відбувається миттєво через юридичні зобов’язання. Після запиту на видалення вашого облікового запису вам доведеться використовувати іншу адресу електронної пошти/профіль Facebook, щоб у майбутньому створити новий обліковий запис Stremio.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Підтвердити видалення облікового запису","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Ваш обліковий запис створено за допомогою Facebook. Щоб видалити свій обліковий запис, скористайтеся нашим порталом користувачів за адресою www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Будь ласка, введіть свій пароль, щоб підтвердити видалення облікового запису.","MOBILE_DELETE_ACCOUNT_BUTTON":"Видалити акаунт","NAVIGATION_ON":"Увімкнено","NAVIGATION_OFF":"Вимкнено","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Я погоджуюся отримувати маркетингові повідомлення від Stremio","QUIT":"Вийти","CONNECTED":"Підключено","AUTHENTICATE":"Аутентифікація","AUTHENTICATING":"Authenticating...","CACHING":"Кешування","SETTINGS_CACHING_DRIVE":"Кешуючий диск","ENABLE_LOCAL_FILES_ADDON":"Увімкнути доповнення локальних файлів (потрібно перезавантажити)","LOCAL_ADDON_NOT_ENABLED":"Локальне доповнення не ввімкнено. Натисніть тут, щоб перейти до налаштувань і ввімкнути його","ENABLE_REMOTE_HTTPS_CONN":"Увімкнути віддалені з’єднання HTTPS","TORRENT_PROFILE":"Торрент профіль","DATA_CACHING":"Кешування даних","MAGNET_PARSING":"Розбір магнітного посилання","January":"Січень","February":"Лютий","March":"Березень","April":"Квітень","May":"Травень","June":"Червень","July":"Липень","August":"Серпень","September":"Вересень","October":"Жовтень","November":"Листопад","December":"Грудень","Monday":"Понеділок","Tuesday":"Вівторок","Wednesday":"Середа","Thursday":"Четвер","Friday":"П’ятниця","Saturday":"Субота","Sunday":"Неділя","Action":"Бойовик","Comedy":"Комедія","War":"Про війну","Family":"Сімейні","Animation":"Анімовані","Adventure":"Пригоди","Fantasy":"Фантастика","Crime":"Кримінальні","Mystery":"Таємничі","Romance":"Романтика","Drama":"Драма","Horror":"Жах","Thriller":"Трилер","Sci-Fi":"Наукова фантастика","Music":"Музика","Biography":"Біографія","Documentary":"Документальний фільм","Sport":"Спорт","Musical":"Мюзикл","Western":"Вестерн","Film-Noir":"Фільм-Нуар","News":"Новини","History":"Історичний","Game-Show":"Теле вікторина","Reality-TV":"Реаліті-ТБ","Talk-Show":"Ток-шоу","Film & Entertainment":"Фільми та розваги","Gaming":"Ігри","From TV":"З телевізора","Lifestyle":"Спосіб життя","Science & Education":"Наука та освіта","Cooking & Health":"Кулінарія та здоров\'я","Beauty & Fashion":"Краса та мода","Sports":"Спорт","News & Politics":"Новини та політика","How-to & DIY":"Своїми руками","Tech":"Техно","Automotive":"Автомобільний","Causes & Non-Profits":"Причини та неприбуткові організації","Movies":"Фільми","Uk Live Tv":"Телебачення Великобританії наживо","Fashion":"Мода","Business News Radio":"Радіо новин бізнесу","Business Tv":"Бізнес ТБ","Cars & Auto":"Автомобілі та авто","Comedy Radio":"Комедійне радіо","Lifestyle Radio":"Радіо Lifestyle","News Tv":"ТБ Новини","Food And Wine":"Їжа та вино","Latino Tv":"Латиноамериканське ТБ","Shopping Tv":"Шопінг","Religion":"Релігія","Kids":"Дитяче","Body & Soul":"Тіло і душа","Education":"Освіта","Indian Tv":"Індійське ТБ","Extreme Sports":"Екстримальні види спорту","Middle Eastern Tv":"Близькосхідне ТБ","Celebrity Tv":"ТБ про знаменитостей","Science Tv":"Наукове ТБ","Bikini babe":"Бікіні красуня","Outdoors":"На відкритому повітрі","German Tv":"Німецьке ТБ","French Tv":"Французьке ТБ","Italian Tv":"Італійське ТБ","Gamer Tv":"Геймерське ТБ","Travel":"Подорожі","Asian Tv":"Азіатське ТБ","Entertainment":"Розваги","News Radio":"Радіо новини","Music Radio":"Музичне радіо","Language Learning":"Вивчення мови","Science Radio":"Наукове радіо","Tech Radio":"Техно радіо","Science & Technology Vod":"Наука та технології VOD","new video":"нове відео","new episode":"нова серія","new movie":"новий фільм","recommended":"рекомендовано","we recommend":"ми рекомендуємо","offer of the day":"пропозиція дня","news":"новини","music video":"музичне відео","CTX_SHOW_HOTKEYS":"Показати гарячі клавіші","CTX_DISMISS_NOTIF":"Закрити сповіщення","CTX_DISMISS_ALL":"Закрити все","CTX_SHARE":"Поділитися","CTX_COPY_SHARE_LINK":"Скопюівати посилання на доступ","CTX_COPY_MAGNET_LINK":"Скопюівати магнітне посилання","CTX_COPY_STREAM_LINK":"Копіювати посилання на трансляцію","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Завантажити це відео","CTX_DOWNLOAD_SUBS":"Завантажити субтитри","CTX_VIEW_ON_YOUTUBE":"Переглянути на YouTube","CTX_SHOW":"Показати","CTX_PLAY":"Грати","CTX_PLAY_IN":"Грати в","CTX_PLAY_ON":"Грати на","CTX_WATCH_ON":"Дивитися на","CTX_WATCH":"Дивитися","CTX_WATCHED":"Переглянуті","CTX_WATCH_BEGINNING":"Дивитися з початку","CTX_WATCH_MOBILE":"Дивитися на мобільному пристрої","CTX_REWIND":"Перемотати назад на початок","CTX_MARK_WATCHED":"Позначити як переглянуте","CTX_MARK_NON_WATCHED":"Позначити як непереглянуте","CTX_MARK_UNWATCHED":"Позначити як непереглянуте","CTX_MARK_REST":"Позначити решту як переглянуті","CTX_UNMARK_REST":"Позначити решту як непереглянуті","CTX_RECEIVE_NEW_NOTIF":"Отримувати нові сповіщення","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"Видалити з кешу","CTX_REMOVE_CACHE_EP":"Видалити серію з кешу","CTX_OPEN_CONTAINING":"Відкрити папку, в якій знаходиться","CTX_REMOVE":"Видалити з бібліотеки","CTX_AVAILABLE_OFFLINE":"Доступно офлайн","CTX_PAUSED":"Призупинено","CTX_ALWAYS_ON_TOP":"Завжди зверху","CTX_FULLSCREEN":"Повноекранний","CTX_WRONG_SUBS":"Неправильні субтитри?","CTX_REPORT_ISSUES":"Повідомити про проблему","CTX_COPY":"Копіювати","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Вставити","CTX_CLEAR":"Очистити","CTX_CLEAR_RECENT_SEARCHES":"Очистити останні пошукові запити","HELLO_THERE":"Привіт","HOPE_YOU_ENJOY":"Сподіваємося, що вам сподобається Stremio і це вже одна з ваших улюблених програм!","WHO_ARE_WE":"Хто ми? Ми — команда, яка стоїть за цим. Двоє хлопців, які наполегливо працюють щодня протягом останніх 3 років, щоб зробити цей продукт кращим.","SUPPORT_US":"Якщо вам подобається користуватися Stremio, якщо Stremio для вас цінний – розкажіть про нього!","SPREAD_THE_WORD":"Поділіться з друзями зараз, розкажіть про Stremio","MORE_PEOPLE":"Чим більше людей використовує Stremio, тим буде краще всім!","SEND_A_LINK":"Або надішліть посилання на наш сайт","TIP_LOCALFILES":"Порада: ви можете перетягувати локальні відеофайли в Stremio","ADDON_MY":"Мої доповнення","ADDON_COMMUNITY":"Доповнення спільноти","ADDON_OFFICIAL":"Офіційні доповнення","ADDON_REPOS":"Колекції доповнень","ADDON_SEARCH":"Пошук доповнень","ADDON_INSTALL":"Встановити","ADDON_CONFIGURE":"Налаштувати","ADDON_UNINSTALL":"Видалити","ADDON_UPGRADE":"Оновити","ADDON_INSTALLED":"Встановлено","ADDON_INSTALLED_MSG":"Доповнення встановлено!","ADDON_UPGRADED_MSG":"Доповнення оновлено!","ADDON_UNKNOWN":"Невідоме","ADDON_ERR":"Помилка встановлення доповнення!","ADDON_DISCONNECTED":"Відключено","ADDON_APP_MISSING":"доповнення для цього джерела не встановлено. Ви хочете встановити його зараз?","ADDON_APP_INSTALL":"Встановити зараз","ADDON_PAGE":"Сторінка доповнення","ADDON_TOP_CONTENT":"Найкраще з цього доповнення","ADDON_PROVIDES":"Це доповнення надасть вам:","ADDON_WATCH":"Дивитися #{types} зараз!","ADDON_WATCH_FREE":"Дивіться #{types} БЕЗКОШТОВНО зараз!","ADDON_ADDON":"Доповнення","ADDON_SUPPORTED_TYPES":"Підтримувані типи","ADDON_SUPPORTED_CATALOGS":"Підтримувані каталоги","ADDON_PROVIDES_DISCOVER":"Більше #{types} у Discover","ADDON_PROVIDES_STREAMS":"Переглянути #{types}","ADDON_PROVIDES_STREAMS_FREE":"Дивіться #{types} БЕЗКОШТОВНО","ADDON_PROVIDES_SUBTITLES":"Субтитри для #{types}","ADDON_CANTDETECT":"Нам не вдалося виявити запущений Stremio, тому ми не змогли визначити які доповнення ви встановили.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Інформації про це не знайдено","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Помилка отримання інформації про це.","ERR_CANT_PARSE_MAGNET":"Не вдається розібрати магніт","ERR_NO_MAGNET_INFOHASH":"Немає дійсного хешу інформації для примагнічування","ERR_NO_FILE_PATH":"Неможливо надіслати запит без шляху до файлу","ERR_NO_TORRENT":"Торрент не знайдено","ERR_NO_SUPPORTERD_FILES":"Не знайдено підтримуваних файлів","ERR_OPENING_FILES":"Не вдалося відкрити зовнішні файли","ERR_INVALID_LINK":"Недійсне посилання","ERR_REGISTERED_ONLY":"Ця опція доступна лише для зареєстрованих користувачів.","ERR_CLIPBOARD":"Неможливо відтворити з буфера обміну","ERR_CLIPBOARD_READ":"Неможливо прочитати буфер обміну на цій платформі","ERR_CLIPBOARD_GENERIC":"У буфері обміну не знайдено URL-адреси для відтворення. Будь ласка, скопіюйте URL-адресу (наприклад, магнітне посилання) до відео.","BOARD_CONTINUE_WATCHING":"Продовжити перегляд","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Фільми, підібрані спеціально для вас.<br />Цей фільм є зразком рекомендації.","BOARD_EXPLANATION_EPISODES":"Нові серії вашого улюбленого серіалу з’являються тут.<br />Додайте до своєї Бібліотеки серії, за якими стежите.","BOARD_EXPLANATION_VIDEOS":"Сюди надходять нові серії ваших улюблених Каналів.<br />Додайте до своєї Бібліотеки канали YouTube, за якими стежите.","WEBSITE_ENJOYED_BY":"Ним користуються понад 30 мільйонів користувачів по всьому світу","WEBSITE_STREAMING_ENHANCED":"Покращений потоковий зв\'язок","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio пропонує безпечний, сучасний та безперебійний розважальний досвід. Завдяки простому у використанні інтерфейсу та різноманітній бібліотеці контенту, включаючи підтримку 4K HDR, користувачі можуть насолоджуватися улюбленими фільмами та телешоу на всіх своїх пристроях. А завдяки своїй прихильності до безпеки, Stremio є найкращим вибором для безтурботного перегляду високоякісного потокового контенту.","WEBSITE_AVAILABLE_ON":"Доступно на","WEBSITE_WATCH_AND_ENJOY":"Дивіться і насолоджуйтеся.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio робить це простіше простого","WEBSITE_ALL_FEATURES":"Всі функції","WEBSITE_EASY_TO_USE":"Простий у використанні","WEBSITE_EASY_TO_USE_DETAILS":"Stremio розроблений таким чином, щоб бути зручним і простим у використанні. Завдяки чистому та інтуїтивно зрозумілому інтерфейсу ви можете легко орієнтуватися та знаходити контент, який хочете переглянути.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Безшовна робота на різних пристроях","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Доступний для широкого спектру платформ (включаючи Windows, Mac, Linux, Android та інші), Stremio відстежуватиме ваш прогрес на всіх ваших пристроях. Просто увійдіть в систему і продовжуйте спостерігати без необхідності налаштовувати додаток на кожному новому пристрої.","WEBSITE_ALL_DOWNLOADS":"Всі завантаження","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Підтримка відео високої чіткості","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Вбудований відеоплеєр, що підтримує більшість відеоформатів, включно з 4K HDR, дозволить вам насолоджуватися найвищою доступною якістю.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Бібліотека різноманітного контенту","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio інтегрується з великою кількістю популярних джерел відео, таких як Netflix, Amazon Prime Video, Hulu, YouTube та багато інших.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Створіть безкоштовний обліковий запис","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Індивідуальний досвід перегляду","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio дозволяє вам налаштовувати зовнішній вигляд інтерфейсу, змінюючи тему, додаючи або видаляючи аддони тощо.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Підтримка багатомовних субтитрів","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"You can now enjoy all the favorite content in your preferred language as Stremio supports subtitles in all languages.","WEBSITE_ALL_STREMIO_FEATURES":"Тепер ви можете насолоджуватися улюбленим контентом улюбленою мовою, оскільки Stremio підтримує субтитри всіма мовами.","WEBSITE_TRY_STREMIO_TITLE_P1":"Спробуйте Стреміо","WEBSITE_TRY_STREMIO_TITLE_P2":"Зараз у вашому телевізорі","WEBSITE_YOU_CAN_NOW_WATCH":"Тепер ви можете дивитися всі улюблені телепередачі на своїх пристроях Android TV. Додаток Stremio TV дозволить вам з легкістю насолодитися вечором кіно.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Тепер ви можете дивитися всі улюблені телепередачі на своєму Smart TV або Android TV. Додатки Stremio TV дозволять вам з легкістю насолодитися вечором кіно.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio для Smart TV","WEBSITE_PLAY_STORE_REVIEW":"Напевно, найкращий і найкорисніший додаток, який можна мати на своєму пристрої. Це одна з програм, яку я використовую щодня, особливо на своєму Android TV вже багато років. Добре зроблений з сильною спільнотою, що надає корисні функції. Молодці. Продовжуйте в тому ж дусі.","WEBSITE_REVIEWS":"відгуки","WEBSITE_GET_STREMIO_FOR_FREE":"Отримайте Stremio безкоштовно","WEBSITE_GET_STREMIO_NOW":"Отримайте Stremio зараз","WEBSITE_STREMIO_FEATURES":"Особливості Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Стріміть як професіонал з розширеними функціями Stremio і насолоджуйтеся безперешкодним доступом до всіх улюблених медіа","WEBSITE_DISCOVER_MORE":"Дізнайтеся більше.","WEBSITE_DISCOVER_MORE_DETAILS":"Ніколи не вичерпується те, що можна подивитись","WEBSITE_COMMUNITY_DRIVEN":"Управляється громадою","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio має велику та активну спільноту користувачів, які роблять свій внесок у розвиток програмного забезпечення, створюючи та обмінюючись аддонами.","WEBSITE_GET_INVOLVED":"Долучайтеся.","WEBSITE_NEW_THEATER_EXPERIENCE":"Новий театральний досвід","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Новий спеціальний додаток Stremio для телевізора дозволить вам насолоджуватися переглядом фільмів на ваших пристроях Android TV.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Нові спеціальні телевізійні програми Stremio дозволять вам насолоджуватися переглядом фільмів на пристроях Smart TV або Android TV.","WEBSITE_FREE_AND_SECURE":"Вільно та безпечно","WEBSITE_STREAMING":"Потокове","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio пропонує неперевершену безпеку та конфіденційність для користувачів. Завдяки унікальній функції віддаленого запуску аддонів, Stremio забезпечує більш безпечний спосіб трансляції вашого улюбленого контенту порівняно з іншими платформами. Ваша безпека і конфіденційність є головними пріоритетами, і платформа гарантує, що всі ваші дані будуть захищені.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Попрощайтеся з турботами про безпеку та конфіденційність і привітайтеся зі світом нескінченних розваг зі Stremio","WEBSITE_INFORMATION_PROVIDED_BY":"Інформація надана","WEBSITE_CONTRIBUTE_DESC":"до проекту та допоможіть нам зробити Stremio ще кращим","WEBSITE_COMMUNITY_DESC":"Ми віримо, що найкращий спосіб створити дійсно дивовижний потоковий досвід - це залучити до процесу нашу спільноту. Незалежно від того, чи ви програміст, художник або просто фанат - ви можете допомогти Stremio розвиватися.","WEBSITE_COMMUNITY_DESC_2":"Тож приєднуйтесь до нас сьогодні, станьте частиною спільноти Stremio і продовжуйте формувати майбутнє стрімінгу.","WEBSITE_WAYS_TO_GET_INVOLVED":"Як долучитися до участі","WEBSITE_IN_THE_STREMIO_COMMUNITY":"у спільноті Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Поділіться своїми думками","WEBSITE_REPORT_BUGS":"Повідомляти про помилки","WEBSITE_SUGGEST_FEATURES":"запропонувати функції","WEBSITE_AND_PROVIDE_FEEDBACK":"та залишайте відгуки на наших каналах у соціальних мережах.","WEBSITE_BETA_TESTING_PROGRAM":"Програма бета-тестування","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Візьміть участь у нашій програмі бета-тестування (ми регулярно розсилаємо запрошення) у спільноті Stremio.","WEBSITE_JOIN_NOW":"Приєднуйтесь зараз!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Офіційні спільноти Stremio","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Неофіційні спільноти Стреміо","WEBSITE_BECOME":"Стань","WEBSITE_A_VOLUNTEER_TRANSLATOR":"перекладач-волонтер","WEBSITE_ARE_YOU_A_DEVELOPER":"Ви розробник?","WEBSITE_CONTRIBUTE_CODE":"Ви можете внести свій код до наших проектів з відкритим вихідним кодом. У нас є кілька проектів на GitHub, які шукають дописувачів. Якщо ви зацікавлені в допомозі, перевірте їх:","WEBSITE_STREMIO_ON_GITHUB":"Stremio на GitHub","WEBSITE_CREATE_ADDON_DESC":"Створіть аддон для розширення функціональності Stremio (у нас є простий у використанні API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Ми також надаємо можливість приєднатися до нас в якості стажера-розробника, щоб ми могли розвиватися разом.","WEBSITE_APPLY_AS_AN_INTERN":"Подати заявку на стажування","WEBSITE_CALLING_ALL_ARTISTS":"До всіх художників!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Продемонструйте свою творчість і любов до Stremio, завантаживши фан-арт в нашу онлайн-галерею. Незалежно від того, чи це малюнок, картина або цифровий дизайн, ми хочемо побачити ваш унікальний погляд на бренд Stremio. Приєднуйтесь до нашої спільноти ентузіастів мистецтва та діліться своїми роботами з іншими шанувальниками Stremio по всьому світу.","WEBSITE_STREMIO_FANART_GALLERY":"Галерея Stremio Fanart","WEBSITE_INTERN_DESIGNER":"Станьте частиною нашої команди та підніміть свій творчий потенціал на нові висоти завдяки нашим захоплюючим можливостям стажування.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Проєкт Фільми у суспільному надбанні","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"У Stremio ми прагнемо зберегти історію кіно і телебачення, виявляючи відео, що є суспільним надбанням, та осиротілі відеоматеріали. Працюючи разом з нашою спільнотою, ми можемо гарантувати, що ці класичні твори мистецтва будуть доступні кожному і збережені для майбутніх поколінь.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Не соромтеся звертатися до нас, якщо ви хочете долучитися до цього проекту.","WEBSITE_JOIN_THE_PROJECT":"Приєднуйтесь до проекту","WEBSITE_BE_PART_OF_OUR_MISSION":"Станьте частиною нашої місії","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Бажаєте приєднатися до команди Stremio? Ми пропонуємо повністю віддалену роботу для захоплених професіоналів. Ознайомтеся з нашими відкритими вакансіями.","WEBSITE_OPEN_POSITIONS":"ВІДКРИТІ ПОЗИЦІЇ","WEBSITE_DESCRIPTION":"ОПИС","WEBSITE_LEARN_MORE":"Дізнайтеся більше","WEBSITE_COMPANY":"Компанія","WEBSITE_CONTACTS":"Контакти","WEBSITE_NEED_HELP":"Потрібна допомога?","WEBSITE_STREMIO_WEB_ON_IOS":"Посібник для Stremio Web на iOS","WEBSITE_LINK_ART_V2":"Галерея Fanart","WEBSITE_PARTNERS":"Партнери","WEBSITE_SLOGAN_WATCH":"Дивіться миттєво","WEBSITE_SLOGAN_ALL":"Весь відеовміст, який вам подобається в одному місці","WEBSITE_SLOGAN_NEW":"Все, що ви можете дивитися","WEBSITE_SLOGAN_NEW_NEW":"Свобода Перегляду","WEBSITE_WATCH_FROM":"Дивитися з","WEBSITE_DOWNLOAD":"Завантажити зараз","WEBSITE_DOWNLOAD_FOR":"Завантажити зараз для","WEBSITE_IS_DESKTOP":"Stremio — це настільна програма, відкрийте цю сторінку на своєму ПК та завантажте її","WEBSITE_DESKTOP_DEMO_VID":"Демонстрація робочого столу","WEBSITE_PAGE_HOME":"Додому","WEBSITE_PAGE_FEATURES":"Особливості","WEBSITE_PAGE_ADDONS":"Доповнення","WEBSITE_PAGE_TECH":"Технології","WEBSITE_PAGE_CREATE_ADDON":"Створити доповнення","WEBSITE_PAGE_CONTACTS":"Контакти","WEBSITE_PAGE_BLOG":"Блог","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"Фільми","WEBSITE_TYPE_series_PL":"Серіали","WEBSITE_TYPE_tv":"ТБ наживо","WEBSITE_TYPE_channel":"Канали","WEBSITE_STREMIO_WHAT_IS":"Stremio — це програма, яка допоможе вам упорядкувати та миттєво дивитися улюблені відео, фільми, серіали та телеканали.","WEBSITE_FEATURES_WATCH":"Дивіться миттєво в HD","WEBSITE_FEATURES_WATCH_DETAIL":"Натисніть і відтворіть улюблені фільми, телешоу, відео та телеканали.","WEBSITE_FEATURES_SUBS":"Автоматичні субтитри","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio автоматично вибирає синхронізовані субтитри для вашої мови.","WEBSITE_FEATURES_SUBS_LABEL":"Ваш хід, шефе.","WEBSITE_FEATURES_CAST":"Грайте на телевізорі та мобільних пристроях","WEBSITE_FEATURES_CAST_DETAIL":"Транслюйте на AppleTV, Chromecast, Smart TV (DLNA/UPnP) і мобільні пристрої.","WEBSITE_LIB":"Насолоджуйтесь синхронізацією особистої бібліотеки на всіх ваших пристроях","WEBSITE_LIB_COLLECT":"Зберіть зі Stremio","WEBSITE_LIB_IMPORT":"Імпорт із Facebook","WEBSITE_LIB_LOCAL":"Додайте з локального диска","WEBSITE_BOARD":"Дошка - ваше єдине місце для сповіщень та рекомендацій","WEBSITE_BOARD_RECOMMEND":"Рекомендоване телешоу","WEBSITE_BOARD_TRENDING":"Популярний фільм","WEBSITE_BOARD_NEW":"Нове відео","WEBSITE_BOARD_EPISODE":"Нова серія","WEBSITE_BOARD_1":"Шукаєте щось цікаве для перегляду? Отримайте рекомендації на свій смак!","WEBSITE_BOARD_2":"Отримуйте сповіщення, коли виходить нова серія вашого улюбленого телешоу чи каналу YouTube!","WEBSITE_BOARD_YOUTUBE":"Нові відео YouTube каналів","WEBSITE_BOARD_EPISODES":"Нові серії серіалів, за якими ви стежите","WEBSITE_ADDONS":"Доповнення вмісту","WEBSITE_TECH_DETAIL":"Ми любимо технології, ми любимо божевільну науку!\\nStremio використовує такі технології з відкритим кодом:","WEBSITE_TECH_WCJS":"WebChimera.js дозволяє Stremio відтворювати будь-який формат відео з хорошою продуктивністю.","WEBSITE_TECH_WCJS_EXTRA":"Ми є основними учасниками проекту","WEBSITE_TECH_ELECTRON":"Electron надає інноваційну платформу для створення Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Ми є учасниками проекту","WEBSITE_TECH_LINVODB":"Технологія баз даних, яка забезпечує організацію та доступність ваших даних у будь-якому місці, де ви входите.","WEBSITE_TECH_LINVODB_EXTRA":"Вбудовані технології","WEBSITE_CREATE_ADDON":"Створіть власне доповнення","WEBSITE_CREATE_ADDON_DETAIL":"У вас є послуга з надання відеоконтенту? Ми допоможемо вам скористатися можливостями Stremio, створивши власне доповнення","WEBSITE_CREATE_ADDON_BENEFITS":"Переваги створення доповнення для Stremio","WEBSITE_P2P_BEAUTY":"Краса P2P передавання","WEBSITE_P2P_1":"Надійне та доступне відео у форматі Full HD / 4K на замовлення або в прямому ефірі","WEBSITE_P2P_2":"Платформа розповсюдження забезпечує чудовий досвід користувача","WEBSITE_P2P_3":"Ми створимо доповнення, який точно відповідає вашим потребам","WEBSITE_P2P_CONTACT":"Цікаво? Ви можете <a href=\'mailto:office@stremio.com\'> зв’язатися з нами </a> .","WEBSITE_P2P_CONTACT_EXTRA":"Ми будемо раді допомогти вам інтегрувати ваш контент зі Stremio!","WEBSITE_P2P":"Час від часу з’являється технологія, яка змінює назву гри. Ми доклали масу часу та зусиль у створення нашого механізму потокового потокового відео (P2P), який забезпечує чудову продуктивність та універсальність для адаптації до будь-якого випадку використання.\\n Зв’яжіться з нами, щоб отримати відео P2P з підтримкою DRM на вимогу або пряму трансляцію.","WEBSITE_THOUGHTS":"Думками, якими ми ділимося:","WEBSITE_SPREAD":"Розкажіть про Stremio:","WEBSITE_CONTACT":"Зв\'яжіться з нами, ми будемо раді почути від вас!","WEBSITE_OPENSOURCE":"Щоб переглянути наші проекти з відкритим кодом, перейдіть до нашого","WEBSITE_BITCOIN":"Пожертвуйте біткойн:","WEBSITE_FAQ":"Часті запитання","WEBSITE_FAQ_SHORT":"FAQ","WEBSITE_QUESTIONS":"Запитання","WEBSITE_TOS":"Умови користування","WEBSITE_LEGAL":"Юридичний","WEBSITE_PAGE_ABOUT":"Про","WEBSITE_PAGE_BECOME_PARTNER":"Стати партнером","WEBSITE_ALL_YOU_CAN_WATCH":"Свобода дивитися\\n Все що ти хочеш.","WEBSITE_FREEDOM_TO_STREAM":"Свобода Перегляду","WEBSITE_WHAT_IS_STREMIO":"Що таке stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio — це єдиний центр для агрегації відеоконтенту. Знаходьте, упорядковуйте та дивіться відео з усіх джерел на будь-якому пристрої, яким ви володієте.","WEBSITE_WHAT_IS_STREMIO_P2":"Фільми, телешоу, серіали, пряме телебачення або веб-канали, як-от YouTube і Twitch.tv – все це можна знайти на Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio — це сучасний медіа-центр, який є єдиним рішенням для ваших відеорозваг. Ви відкриваєте, переглядаєте й упорядковуєте відеовміст із простих для встановлення додатків.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Фільми, телешоу, телевізійні програми в прямому ефірі або веб-канали - знайдіть все це на Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Насолоджуйтесь на всіх своїх мультимедійних пристроях","WEBSITE_DEVICES_COLLECT":"Зберіть зі Stremio","WEBSITE_DEVICES_IMPORT_FB":"Імпорт із Facebook","WEBSITE_DEVICES_LOCAL":"Додати з локального диска","WEBSITE_JOIN_THE_PARTY_NOW":"Приєднуйтесь до вечірки зараз","WEBSITE_DEVICES_ALL":"Простий у використанні на всіх ваших пристроях;","WEBSITE_EXTENDABLE_CATALOG":"Каталог відео, що безмежно розширюється;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Чудові функції для організації ваших медіа;","WEBSITE_AS_SEEN_ON":"Як бачили на","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Про нас","WEBSITE_LINK_TECHNOLOGY":"Технологія","WEBSITE_LINK_APPS":"Програми","WEBSITE_LINK_DOWNLOADS":"Завантаження","WEBSITE_MORE":"Більше","WEBSITE_LINK_ADDONS":"Доповнення","WEBSITE_LINK_ADDON_SDK":"Доповнення SDK","WEBSITE_LINK_CONTRIBUTE":"Допомогти","WEBSITE_LINK_COMMUNITY":"Спільнота","WEBSITE_LINK_BLOG":"Блог","WEBSITE_MORE_MORE":"... і більше","WEBSITE_LINK_HELP":"Центр допомоги","WEBSITE_LINK_CONTACTS":"Бізнес запити","WEBSITE_LINK_TOS":"Правила та умови","WEBSITE_LINK_PRAVACY":"Політика конфіденційності","WEBSITE_SUBSCRIBE":"Підписатися","WEBSITE_NEWSLETTER":"Приєднуйтесь до нашої розсилки, щоб отримати дивовижні речі","WEBSITE_PLACEHOLDER_EMAIL":"Ваша електронна пошта","WEBSITE_COMMUNITY":"Спільнота","WEBSITE_LINK_PRAVACY_LEGAL":"Конфіденційність і право","WEBSITE_WHY":"Чому ми це робимо","WEBSITE_WHY_P1":"У Stremio ми щодня приходимо на роботу, тому що хочемо вирішити важливу проблему для індустрії відео за запитом. Щохвилини публікується стільки нового вмісту, що практично неможливо розібратися з ним.","WEBSITE_WHY_P2":"Ми допомагаємо людям орієнтуватися у цьому величезному світі відеорозваг і відкривати для себе новий вміст. Наші програми об’єднують фільми, серіали, телепередачі в прямому ефірі, веб-канали тощо. Ми прагнемо зробити так, щоб користувачам було неймовірно легко знаходити назви та трансляції, які їм подобаються.","WEBSITE_WHY_P3":"Ви можете користуватися нашим сервісом на будь-якому пристрої та в будь-який час, що робить Stremio єдиним центром відеорозваг, який вам коли-небудь знадобиться.","WEBSITE_TEAM":"КОМАНДА","WEBSITE_TEAM_P":"Команда Stremio невелика, але потужна: нас десятеро і ми кодуємо різними мовами, ділимося досвідом у розробці програмного забезпечення, дизайні інтерфейсу та UX, маркетингу та рекламі, а також бізнесу та стартапів.","WEBSITE_FEATURES":"Можливості","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Легко відкривайте новий вміст","WEBSITE_FEATURES_DISCOVER_P":"Легко знаходьте нові фільми, телешоу, серіали та канали для перегляду. Переглядайте за категорією, жанром, рейтингом, новизною тощо або просто введіть назву, щоб знайти. Stremio робить пошук нового відеоконтенту простим.","WEBSITE_FEATURES_ALL_CONTENT":"Весь ваш відеовміст на одному екрані","WEBSITE_FEATURES_ALL_CONTENT_P1":"Перегляньте які фільми, серіали чи відео ви не закінчили і продовжуйте дивитися їх; отримуйте сповіщення про нові серії та випуски; переглядайте рекомендації на основі ваших звичок перегляду.","WEBSITE_FEATURES_LIBRARY":"Упорядкуйте свою відеотеку","WEBSITE_FEATURES_LIBRARY_P1":"Додайте будь-яке медіа до своєї бібліотеки Stremio одним клацанням миші та знайдіть свій вміст, акуратно впорядкований за типом, новизною або за алфавітом.","WEBSITE_FEATURES_CALENDAR":"Слідкуйте за всім, що дивитеся","WEBSITE_FEATURES_CALENDAR_P1":"Отримайте візуалізацію календаря всіх фільмів і серіалів, які ви додаєте до бібліотеки. Експортуйте свій календар Stremio та синхронізуйте його, щоб завжди знати коли має вийти нова серія або прем’єра.","WEBSITE_FEATURES_BIG_SCREEN":"Насолоджуйтесь своїм відеоконтентом на більшому екрані","WEBSITE_FEATURES_BIG_SCREEN_P1":"Транслюйте все, що ви дивитеся на інший пристрій – телефон, планшет або телевізор одним клацанням миші.","WEBSITE_FEATURES_SOURCES":"Дивіться відео з різних джерел","WEBSITE_FEATURES_SOURCES_P":"Встановіть офіційні або доповнення спільноти, щоб насолоджуватися відео, отриманими від багатьох різних постачальників – все в одному елегантному, простому додатку.","WEBSITE_CREATE_AN_ADDON":"Створити доповнення","WEBSITE_FEATURES_SYNC":"Синхронізуйте свою бібліотеку на різних пристроях і відновлюйте відтворення","WEBSITE_FEATURES_SYNC_P1":"Увійдіть у свій обліковий запис на всіх своїх пристроях і насолоджуйтесь синхронізованою бібліотекою, доповненнями, відтворенням і календарем.","WEBSITE_FEATURES_EXTENDABLE":"Розширюваний каталог відео за доповненнями","WEBSITE_FEATURES_EXTENDABLE_P1":"Каталог Stremio містить ряд доповнень для встановлення та перегляду різноманітного відеовмісту. Сюди входять фільми, шоу, телепередачі в прямому ефірі, спорт, новини, подкасти, веб-канали, відеоігри тощо.","WEBSITE_FEATURES_AUTO_SUBS":"Автоматичні субтитри","WEBSITE_FEATURES_AUTO_SUBS_P1":"За допомогою наших доповнень субтитрів ви отримуєте автоматично вибрані параметри для бажаної мови.","WEBSITE_FEATURES_CHROMECAST":"Трансляція на Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Насолоджуйтесь своїм відеовмістом на більшому екрані або просто передайте те, що дивитеся на інший пристрій.","WEBSITE_FEATURES_KEEP_TRACK":"Відстежуйте свої улюблені телешоу та веб-канали","WEBSITE_FEATURES_KEEP_TRACK_P1":"Отримуйте візуалізацію календаря та сповіщення про нові серії улюблених серіалів і веб-каналів.","WEBSITE_FEATURES_POWER_USER":"Функції досвідченого користувача","WEBSITE_FEATURES_POWER_USER_P1":"Перегляд у зовнішньому програвачі","WEBSITE_FEATURES_POWER_USER_P2":"Перегляд з торрент-файлу або магнітного посилання","WEBSITE_FEATURES_POWER_USER_P3":"Імпортуйте у свою бібліотеку з вподобайок Facebook або локального диска","WEBSITE_ADD_ONS":"Доповненя","WEBSITE_ADD_ONS_P1":"Весь відео-вміст, який надає Stremio, отримується через систему доповнень — у програму не вбудовано жодного вмісту чи постачальника.","WEBSITE_ADD_ONS_P2":"Доступні дві групи доповнень: офіційні та спільноти.","WEBSITE_ADD_ONS_P3":"Офіційні розробляються та розміщуються Stremio, тоді як доповнення спільноти створюються членами нашої спільноти, які також розміщують їх.","WEBSITE_ADDONS_OFFICIAL":"Офіційні доповнення","WEBSITE_ADDONS_WATCHUB":"Транслюйте свої улюблені фільми, серіали та шоу з iTunes, Hulu, Amazon та інших сервісів Великобританії та США.","WEBSITE_ADDONS_YOUTUBE":"Дивіться улюблені канали YouTube без реклами та отримуйте сповіщення про нові відео від авторів з ваших підписок.","WEBSITE_ADDONS_FILMON":"Дивіться телепередачі в прямому ефірі, фільми та соціальне телебачення безкоштовно. 600 телеканалів, 45 000 безкоштовних фільмів, документальних фільмів тощо.","WEBSITE_ADDONS_OPENSUBTITLES":"Субтитри для фільмів і телепередач кількома мовами, тисячі перекладених субтитрів додаються щодня.","WEBSITE_ADDONS_COMMUNITY":"Доповнення спільноти","WEBSITE_ADDONS_FILMON_VOD":"Дивіться відео на вимогу від Filmon.tv","WEBSITE_ADDONS_TWICH":"Дивіться прямі трансляції з Twitch.tv - платформи з відео індустрії кіберспорту.","WEBSITE_ADDONS_VODO":"Дивіться інді-фільми абсолютно безкоштовно.","WEBSITE_ADDONS_NETFLIX":"Дивіться фільми та веб-серіали Netflix.","WEBSITE_ADDONS_CREATE":"Створити доповнення","WEBSITE_ADDONS_CREATE_P1":"За бажанням ви можете створити власне доповнення. Таким чином, ви можете надати собі та нашій спільноті доступ до нового відеоконтенту та охопити нову цільову аудиторію, яка складається з мільйонів користувачів по всьому світі.","WEBSITE_ADDONS_START_CREATE":"Щоб почати, відвідайте сторінку Stremio Addon SDK:","WEBSITE_DOWNLOADS":"Завантаження","WEBSITE_DOWNLOADS_P1":"Для оптимальної продуктивності ми рекомендуємо використовувати останню доступну версію програм Stremio. Однак якщо з якихось причин ви хочете використовувати старішу версію, ви можете завантажити її тут.","WEBSITE_DOWNLOADS_P1_SHORT":"For optimal performance, we recommend that you use the latest available version of the Stremio apps.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio для Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio для macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio для Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio для Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio для Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio для Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio для Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio для iOS (обмежена версія)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Завантажте службу Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service — це супутня програма для Stremio Web. Ми рекомендуємо використовувати останню доступну версію Stremio Service.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Служба Stremio для Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Служба Stremio для macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Служба Stremio для Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Служба Stremio для Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Додаткові параметри завантаження","WEBSITE_DOWNLOAD_NEW":"Новинка!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Ми випустили Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Допомогти","WEBSITE_CONTRIBUTE_P1":"Платформа Stremio з відкритим вихідним кодом і ви можете легко створити доповнення для нового контенту.","WEBSITE_CONTRIBUTE_WHY":"Навіщо створювати доповнення?","WEBSITE_CONTRIBUTE_WHY_P1":"Охопіть нову аудиторію для свого відеоконтенту","WEBSITE_CONTRIBUTE_WHY_P2":"База користувачів Stremio стрімко зростає – за перший рік після запуску Stremio набрав 1 мільйон користувачів у всьому світі, а на другий рік існування платформи ця кількість зросла до 2,5 мільйонів.","WEBSITE_CONTRIBUTE_WHY_P3":"За допомогою свого доповнення ви можете легко охопити цю аудиторію та поширити їй свій відеовміст.","WEBSITE_CONTRIBUTE_ALL":"Дивіться улюблені фільми, відео, серіали та канали в одному місці.","WEBSITE_CONTRIBUTE_ALL_P1":"Ви шанувальник певного типу контенту, який ще не доступний на Stremio? Створіть для нього доповнення та насолоджуйтеся переглядом улюблених відео в одному з найбільших і найпростіших у використанні центрів розваг на ринку.","WEBSITE_CONTRIBUTE_ALL_P2":"Крім того, ви отримаєте нескінченну вдячність інших членів спільноти Stremio-однодумців.","WEBSITE_CONTRIBUTE_MONETIZE":"Монетизуйте своє доповнення і заробляйте гроші з його допомогою","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Як тільки ви створите нове доповнення для Stremio, зможете легко монетизувати його різними способами. Якщо ви думаєте про це, не соромтеся зв’язатися з нами за адресою","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":"- ми будемо раді проконсультувати вас та порадити варіанти монетизації доповнень.","WEBSITE_CONTRIBUTE_TRANSLATE":"Станьте волонтером-перекладачем","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Якщо ви хочете користуватися додатками Stremio різними мовами, ви можете приєднатися до нашої спільноти волонтерів-перекладачів. Вони допомагають нам додавати версії Stremio багатьма різними мовами.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Ви хочете почати?","WEBSITE_TRANSALTE_STREMIO":"Перекладіть Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Офіційні спільноти","WEBSITE_COMMUNITY_OFFICIALS_P1":"Станьте частиною спільноти Stremio, що розвивається. Слідкуйте за нами в соціальних мережах і не соромтеся привітатися – ми любимо чути від наших шанувальників!","WEBSITE_COMMUNITY_UNOFFICIALS":"Неофіційні спільноти","STREMIO_COMMUNITY_NL":"Стреміо Нідерланди","STREMIO_COMMUNITY_BRASIL":"Стреміо Бразилія","STREMIO_COMMUNITY_GERMANY":"Stremio Німеччина","STREMIO_COMMUNITY_BELGIUM":"Stremio Бельгія","STREMIO_COMMUNITY_FRANCE":"Стреміо Франція","STREMIO_COMMUNITY_PORTUGAL":"Стреміо Португалія","STREMIO_COMMUNITY_ITALY":"Стреміо Італія","STREMIO_COMMUNITY_UK":"Stremio Великобританія","STREMIO_COMMUNITY_USA":"Стреміо США","STREMIO_COMMUNITY_MEXICO":"Стреміо Мексика","STREMIO_COMMUNITY_ADDONS":"Доповнення Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Чудовий Стреміо","WEBSITE_COMMUNITY_PARTNERS":"Партнери та прихильники","WEBSITE_COMMUNITY_GOODIES":"Смаки Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Шпалери","WEBSITE_COMMUNITY_ART":"Художня галерея спільноти","WEBSITE_LINK_ART":"Художня галерея спільноти","WEBSITE_CONTACT_US":"Зв\'яжіться з нами","WEBSITE_CONTACT_US_P1":"Якщо у вас виникли запитання, коментарі чи пропозиції, не соромтеся зв’язатися з нами за допомогою контактної форми нижче.","WEBSITE_CONTACT_US_P2":"Майте на увазі, що ми знаходимося в Болгарії, тому у розгляді вашого запиту може виникнути затримка через різницю в часових поясах.","WEBSITE_CONTACT_US_SUCCESS":"Ваше повідомлення було відправлене. Ми зв’яжемося з вами якнайшвидше.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Будь ласка, введіть дійсну адресу електронної пошти!","WEBSITE_CONTACT_US_Q_RELATED_TO":"З чим пов’язане ваше питання?","WEBSITE_CONTACT_US_Q_OS":"Яка ваша операційна система?","WEBSITE_CONTACT_US_PH_EMAIL":"Ваша електронна адреса","WEBSITE_CONTACT_US_PH_MESSAGE":"Повідомлення","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"НАДІСЛАТИ","WEBSITE_CONTACT_US_Q_1":"Як встановити?","WEBSITE_CONTACT_US_Q_2":"Як видалити?","WEBSITE_CONTACT_US_Q_3":"(HTML) Як приготувати лазанью?","WEBSITE_CONTACT_US_Q_4":"Доповнення","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Технологія","WEBSITE_TECHNOLOGY_P1":"Ми любимо технології та божевільну науку.</br>Ось що використовує Stremio (це все з відкритим кодом).","WEBSITE_TECHNOLOGY_P_QT":"Кросплатформна розробка програмного забезпечення в кращому вигляді.","WEBSITE_TECHNOLOGY_P_MPV":"Безкоштовний мультиплатформний медіапрогравач з відкритим кодом.","WEBSITE_TECHNOLOGY_P_RN":"React Native дозволяє створювати мобільні додатки, використовуючи лише JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Медіа-фреймворк, вбудований у програму для отримання мультимедіа.","WEBSITE_TECHNOLOGY_P_REALM":"Realm — це мобільна платформа та заміна SQLite та Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js — це кросплатформне середовище виконання JavaScript з відкритим кодом.","WEBSITE_TECHNOLOGY_P_RUST":"Rust — це багатопарадигмальна мова системного програмування, орієнтована на безпеку, особливо на безпечну паралельність.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Допоможіть проекту","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Ви можете зробити свій внесок у Stremio і допомогти нам зробити продукт ще кращим двома способами.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Ви можете пожертвувати свої цінні мовні навички, переклавши платформу...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"або","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... ви можете використати свої навички програмування для створення доповнень спільноти.","WEBSITE_TRANSLATE_STREMIO":"Перекласти Stremio","WEBSITE_404_OH_NO":"Ой-ой! Сторінки, яку ви шукаєте, тут немає...","WEBSITE_GO_HOME":"На головну","WEBSITE_LINK_OTHER_DOWNLOADS":"Інші завантаження","WEBSITE_FAQ_ABR":"ЧАП","WEBSITE_SUPPORT":"Підтримка","WEBSITE_DOWNLOAD_4_0_BETA":"Завантажити Stremio 4 бета зараз","WEBSITE_GET_FOR_DESKTOP":"Отримати для ПК","WEBSITE_LINK_ADDON_COMPETITION":"Конкурс доповнень","WEBSITE_LINK_ART_CONTEST":"Мистецький конкурс","WEBSITE_MY_ACCOUNT":"Мій обліковий запис","WEBSITE_MAINPAGE_FAQ_001_H1":"Що таке Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio – це сучасний медіа-центр, який дає вам свободу дивитися все, що ви хочете.","WEBSITE_MAINPAGE_FAQ_002_H1":"Як це працює?","WEBSITE_MAINPAGE_FAQ_002_P1":"Після того, як ви встановите Stremio на своєму пристрої та створите обліковий запис, вам залишиться відвідати каталог доповнень і встановити будь-який на ваш смак і готово!","WEBSITE_MAINPAGE_FAQ_002_P2":"Після цього ви можете перейти до розділів Новинки або Дошка для перегляду контенту.","WEBSITE_MAINPAGE_FAQ_003_H1":"Що тут можна подивитися?","WEBSITE_MAINPAGE_FAQ_003_P1":"Багато чого: фільми, телешоу, веб-канали, спорт, телеканали, слухати подкасти тощо. Завдяки нашій системі доповнень ви можете отримати доступ до різноманітного вмісту.","WEBSITE_MAINPAGE_FAQ_004_H1":"Чи Stremio з відкритим кодом?","WEBSITE_MAINPAGE_FAQ_004_P1":"Так, ви можете перевірити наступні посилання: $ {1}desktop додаток $ {2} і $ {3}GitHub організації $ {4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Чи безпечний Stremio?","WEBSITE_MAINPAGE_FAQ_005_P1":"Так: оскільки це програма з відкритим кодом, доступний для загального перегляду і ви можете перевірити його самостійно.","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"Як щодо моєї конфіденційності?","WEBSITE_MAINPAGE_FAQ_006_P1":"Ми поважаємо конфіденційність користувачів і не збираємо жодних персональних даних, крім необхідного мінімуму для створення та синхронізації вашого облікового запису.","WEBSITE_MAINPAGE_FAQ_006_P2":"Існує також ${1}Гостьовий режим${2} під час реєстрації, який не вимагає ніяких даних взагалі: в цьому режимі, не здійсюється ніяких запитів на наш сервер. Однак це відбувається за рахунок корисних функцій, таких як можливість синхронізувати бібліотеку на різних пристроях.","WEBSITE_MAINPAGE_FAQ_007_H1":"Чи можу я транслювати на свій телевізор?","WEBSITE_MAINPAGE_FAQ_007_P1":"Так, ми підтримуємо Chromecast, і ви можете транслювати як із настільних, так і з мобільних програм (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Скільки доповнень у Stremio?","WEBSITE_MAINPAGE_FAQ_008_P1":"Станом на кінець 2019 року понад 50 — для отримання додаткової інформації перегляньте наш каталог доповненняів.","WEBSITE_MAINPAGE_FAQ_009_H1":"Чи можна розширити Stremio за рамки того, що є в каталозі доповнень?","WEBSITE_MAINPAGE_FAQ_009_P1":"Так, ви повинні перевірити ці: $ {1} PimpMyStremio$ {2} , $ {3} спільноти Reddit$ {4} , $ {5} Stremio Downloader$ {6} тощо.","WEBSITE_MAINPAGE_FAQ_010_H1":"Які пристрої підтримує Stremio?","WEBSITE_MAINPAGE_FAQ_010_P1":"У нас є настільні програми для Windows, Mac і Linux. Для мобільних пристроїв ми підтримуємо Android та iOS, хоча пам’ятайте, що функціональність iOS обмежена (не підтримує більшість доповнень).","WEBSITE_MAINPAGE_FAQ_010_P2":"Існує багато пристроїв на базі Android, на яких можна запустити Stremio, наприклад NVIDIA Shield і Amazon Fire Stick, але ми не підтримуємо їх офіційно.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"Чи можете ви додати певний вміст до Stremio?","WEBSITE_MAINPAGE_FAQ_011_P1":"На жаль, ми самі не надаємо вмісту, але чим більше доповнень Stremio ви встановили, тим більше вмісту ви зможете знайти.","WEBSITE_MAINPAGE_FAQ_012_H1":"Чи може Stremio відтворювати магнітні посилання?","WEBSITE_MAINPAGE_FAQ_012_P1":"Так, він також може відтворювати звичайні HTTP-посилання та торрент-файли (перетягування).","WEBSITE_MAINPAGE_FAQ_013_H1":"Чи можу я завантажити відео та подивитися офлайн?","WEBSITE_MAINPAGE_FAQ_013_P1":"Майбутня функція доступна в автономному режимі, але якщо ви дозволите Stremio кешувати на своєму пристрої (з панелі налаштувань), ви зможете переглядати відео пізніше без з’єднання.","WEBSITE_MAINPAGE_FAQ_014_H1":"Нічого не працює, допоможіть мені!","WEBSITE_MAINPAGE_FAQ_014_P1":"Ви впевнені, що встановили доповнення? Якщо так, то зв\'яжіться з нашим $ {1} Довідковий центр $ {2} .","WEBSITE_MAINPAGE_FAQ_015_H1":"Як Stremio підтримує свою діяльність з розвитку?","WEBSITE_MAINPAGE_FAQ_015_P1":"Ми розміщуємо ненав’язливу рекламу через $ {1} AdEx$ {2} , компанію, створену тією ж командою засновників, яка зосереджується на прозорій рекламі, що зберігає конфіденційність.","WEBSITE_MAINPAGE_FAQ_015_P2":"За всім питанням, перейдіть на наш $ {1} Довідковий центр $ {2} .","HELP_LEARN_MORE":"Допоможіть нам дізнатися більше про вас.","LIFESTYLE":"Спосіб життя","SPORTS":"Спорт","FOOD_HEALTH":"Їжа та здоров\'я","BEAUTY_FASHION":"Краса та мода","NEWS":"Новини","GAMING":"Ігри","SCIENCE_EDUCATION":"Наука та освіта","MUSIC":"Музика","TRAVEL":"Подорожі","LATE_NIGHT":"Пізня ніч","REALITY":"Реаліті-шоу","COMEDY":"Комедії","DIY":"Своїми руками","TECH":"Техно","CINEMA":"Кінотеатр","CONTINUE":"Продовжити","SLOW_LOADING":"ПОВІЛЬНЕ ЗАВАНТАЖЕННЯ?","I_GIVE_UP":"Я ЗДАЮСЯ","LEARN_MORE":"Дізнатися більше","POOR_SOURCE":"Це джерело недоступне або ваше інтернет-з\'єднання недостатньо швидке","PICK_CATEGORIES_ERR":"Ви повинні вибрати принаймні 3 категорії","ADJUST_TIMING":"Налаштуйте час за допомогою","ADJUST_SIZE":"Відрегулюйте розмір за допомогою","SEARCH_ANYTHING":"Ви можете шукати будь-що...","ALL_CATEGORIES":"Все","SEARCH_CATEGORIES":"Фільми, серіали, YouTube і ТБ","SEARCH_PERSONS":"Актори, режисери та сценаристи","SEARCH_PROTOCOLS":"HTTP і магнітні посилання","SEARCH_TYPES":"Посилання IMDB / TVDB","WATCHED":"Переглянуті","SHOW_LESS":"Показати менше","LAST_SEARCHES":"Останні пошуки","CLEAR_HISTORY":"Очистити історію","CHOOSE_SOME":"ОБЕРІТЬ ДЕЩО З ЦЬОГО:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Не вдалося завантажити веб-пульт","STREMIO_OFFLINE":"Stremio не в мережі","STREMIO_EXPENSIVE_CONNECTION":"Ми виявили, що ви використовуєте мобільні дані. Продовжити?","USE_DATA":"Використання даних","WARNING":"Увага","MORE_INFO":"Більше інформації ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Завантаження ...","STREMIO_TV_BACK_TO_LANGUAGES":"Назад до мов","STREMIO_TV_REMOTE":"Пульт","STREMIO_TV_GO_TO":"Йти до:","STREMIO_TV_OR_SCAN":"або сканувати:","STREMIO_TV_ADDON_INSTRUCTIONS":"Будь ласка, дотримуйтесь інструкцій, щоб встановити бажані доповнення.","STREMIO_TV_LIVE_TV":"ТБ наживо","STREMIO_TV_RESUME_WATCHING":"Відновити перегляд","STREMIO_TV_LOADING_BACKGROUND":"Завантаження фону","STREMIO_TV_CHECKING_AUTHENTICATION":"Перевірка автентифікації","STREMIO_TV_LOADING_BOARD":"Завантаження Дошки","STREMIO_TV_LOGIN_HEADER_LINE_1":"Ми хочемо, щоб наші користувачі мали найкращий персоналізований досвід роботи з нашою програмою.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Саме з цієї причини ми просимо вас зробити та/або увійти до свого облікового запису.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Дякуємо за розуміння,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Команда Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Щоб використовувати веб-пульт зі смартфоном/планшетом/комп’ютером:","STREMIO_TV_WIFI_SETUP":"Налаштування Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle не виявив підключення до Інтернету.","STREMIO_TV_WIFI_DETAILS_1":"Підключитися до:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Використати пароль:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Відкрийте веб-браузер за посиланням:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"За замовчуванням","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"За останніми переглядами","STREMIO_TV_LIBRARY_SORT_NAME":"За назвою","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"За кількістю переглядів","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"Сезон $ {1}","STREMIO_TV_STREAMS_LOADING":"Завантажено $ {1} / $ {2} доповнень...","STREMIO_TV_STREAMS_STILL_LOADING":"Доповнення $ {1} досі завантажується...","STREMIO_TV_PLAYER_SETTINGS":"Налаштування програвача","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Затримка субтитрів","STREMIO_TV_PLAYER_AUDIO_DELAY":"Затримка звуку","STREMIO_TV_PLAYER_VIDEO_SCALING":"Масштабування відео","STREMIO_TV_PLAYER_CHAPTERS":"Розділи","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Пропустити $ {1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Непідтримуване джерело потоку","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Не вдалося відкрити зовнішнє посилання","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Не регулюється в режимі пропуску аудіо","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Перегляд з ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Перегляд з програвачом libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Перехід на програвач libVLC через помилку відтворення","STREMIO_TV_ADDONS_TITLE":"Використовуйте Stremio на своєму телефоні чи ПК, щоб установити або налаштувати доповнення, і натисніть «Синхронізувати доповнення»","STREMIO_TV_ADDONS_SUBTITLE":"Примітка: переконайтеся, що ви використовуєте той самий обліковий запис Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Синхронізація доповнень","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Доповнення успішно синхронізовано","STREMIO_TV_ADDONS_SYNC_FAILED":"Не вдалося синхронізувати доповнення","STREMIO_TV_META_LINK_FAILED":"Не вдалося відкрити метапосилання","STREMIO_TV_CATALOG_LOADING":"Каталог досі завантажується...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Мова інтерфейсу оновлена","STREMIO_TV_SETTINGS_THEME_UPDATED":"Тема оновлена","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Програвач за замовчуванням","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Зовнішній програвач","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Бажана мова","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Додаткова бажана мова","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Тунельне відтворення","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Можливі проблеми з відтворенням на деяких пристроях","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Деякі формати відео можуть не працювати","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Узгодження частоти кадрів","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Вимкнено","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Лише частота кадрів","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Частота кадрів і роздільна здатність","STREMIO_TV_SETTINGS_NO_CACHING":"Без кешування","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"За замовчуванням","STREMIO_TV_SETTINGS_PROFILE_SOFT":"М\'який","STREMIO_TV_SETTINGS_PROFILE_FAST":"Швидкий","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Надшвидкий","STREMIO_TV_SETTINGS_SERVER_URL":"URL-адреса потокового сервера","STREMIO_TV_SETTINGS_SERVER_VERSION":"Версія сервера","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Невідоме","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Версія Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Редагувати URL-адресу сервера","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Введіть URL-адресу потокового сервера","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Показувати статистику під час завантаження","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Політика конфіденційності Stremio:","STREMIO_TV_SETTINGS_TOS_TEXT":"Загальні положення та умови Stremio:","STREMIO_TV_NAV_SEARCH":"Пошук","STREMIO_TV_NAV_HOME":"Головна","STREMIO_TV_NAV_DISCOVER":"Новинки","STREMIO_TV_NAV_LIBRARY":"Бібліотека","STREMIO_TV_NAV_MOVIES":"фільми","STREMIO_TV_NAV_SERIES":"Серіали","STREMIO_TV_NAV_CHANNELS":"Канали","STREMIO_TV_NAV_TV":"ТБ наживо","STREMIO_TV_NAV_SETTINGS":"Налаштування","STREMIO_TV_NAV_ADDONS":"Доповнення","STREMIO_TV_LOGIN_TITLE":"Пов’язати обліковий запис","STREMIO_TV_LOGIN_EXPIRES_IN":"Термін дії закінчується через","STREMIO_TV_LOGIN_STEP_ONE":"Відскануйте QR-код вище або перейдіть до","STREMIO_TV_LOGIN_STEP_TWO":"Увійдіть у свій обліковий запис Stremio","STREMIO_TV_LOGIN_NEW_LINK":"Запит на нове посилання","STREMIO_TV_LOGIN_LINK_REFRESHED":"Код входу оновлено","STREMIO_TV_SEARCH_PLACEHOLDER":"Введіть щось","STREMIO_TV_SEARCH_NO_ADDONS":"Для каталогів не було запитів про доповнення!","STREMIO_TV_SEARCH_BUTTON":"Пошук","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"космос","STREMIO_TV_SEARCH_KEY_CLEAR":"Очистити","STREMIO_TV_SEARCH_HISTORY_TITLE":"Історія пошуку","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Ви можете шукати назви, акторів, канали тощо...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Очистити історію пошуку","STREMIO_TV_FILTERS_DESCRIPTION":"Виберіть один із фільтрів наведених нижче","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Streaming Server Is Offline. Check Server Settings.","FILTERS":"Фільтри","SETTINGS":"Налаштування","ACCOUNT":"Обліковий запис","LOGOUT":"Вийти","THEMES":"Теми","PLAYBACK":"Відтворення","PLAYBACK_SPEED":"Швидкість відтворення","AUDIO_TRACKS":"Аудіодоріжки","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"Відео","SERVER":"Сервер","LINKS":"Посилання","ABOUT":"Про","INTERFACE":"Інтерфейс","ANIMATIONS":"Анімації","STATUS":"Статус","LANGUAGE":"Мова","SIZE":"Розмір","DELAY":"Затримка","BOLD":"Жирний","OPACITY":"Opacity","TEXT_COLOR":"Колір тексту","OUTLINE_COLOR":"Колір контуру","BACKGROUND_COLOR":"Колір фону","BACKGROUND_BLUR":"Розмиття фону","SEEK_TIME_DURATION":"Тривалість часу пошуку","AUTO_PLAY":"Автовідтворення наступної серії","PLAY_NOW":"Грати зараз","MARK_AS_WATCHED":"Позначити як переглянуте","MARK_AS_UNWATCHED":"Позначити як непереглянуте","REWIND_TO_BEGINNING":"Перемотати на початок","CONTINUE_WATCHING":"Продовжити перегляд","ALL":"Все","SECONDS":"секунд","ON":"УВІМКНЕНО","OFF":"ВИМКНЕНО","RELOAD":"Перезавантажити","EDIT_URL":"Редагувати URL","URL":"URL","NONE":"Жодного","EMBEDDED":"Вбудований","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Перемикнути пристрої","REMOTE_VIDEOS":"Відео","REMOTE_ADJUST_TIMING":"Налаштувати затримку","REMOTE_ADJUST_SIZE":"Налаштувати розмір","REMOTE_COULD_NOT_BE_LOADED":"Не вдалося завантажити веб-пульт","REMOTE_RETRY":"Повторити","TORRENT_PROFILE_DEFAULT":"За замовчуванням","TORRENT_PROFILE_SOFT":"М\'який","TORRENT_PROFILE_FAST":"Швидкий","TORRENT_PROFILE_ULTRA_FAST":"Надшвидкий","MB_S":"MB/s","FAQ_001_H1":"Що таке Stremio?","FAQ_001_P1":"Stremio — це програма медіа-центр, розроблена для відеорозваг і зручного використання. Stremio дозволяє вам організувати і дивитися власну колекцію фільмів, серіалів, веб-каналів і ТБ наживо.","FAQ_001_P2":"Stremio збирає і покащує вміст з вашого локального диска та нашої системи доповнень.","FAQ_001_P3":"Програма також повідомить вас коли вийдуть нові серіали/відео/фільми, які вас цікавлять і надасть вам рекомендації.","FAQ_02_H1":"Як Stremio порівнюється з Kodi і Plex?","FAQ_02_P1":"Нас надихають ці дві програми. Але у нас різні цілі – Stremio спеціально націлена на розважальні відео і прагне стати основним рішенням для цього, яка дуже проста у використанні.","FAQ_02_P2":"Stremio ніколи не буде таким налаштовуваним і багатим на функції, як Kodi і Plex, але вона значно простішА у використанні. Просто ${1} встановіть і побачите самі ${2} :)","FAQ_03_H1":"Як Stremio порівнюється з Netflix?","FAQ_03_P1":"Знову ж таки, Netflix є одним із наших джерел натхнення. Ми прагнемо досягти користувацького досвіду Netflix, а також безліч додаткових переваг. Але найголовніше те, що ми даємо вам свободу керувати власною бібліотекою та додавати нові джерела вмісту за допомогою нашої системи доповнень.","FAQ_03_P2":"Завдяки цьому Stremio можна безмежно розширювати, тож коли ви використовуєте Stremio, ви ніколи не обмежуєтесь вмістом, який Netflix вирішує ліцензувати. Наприклад, через Stremio ви можете дивитися вміст із ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} і навіть сам ${9}Netflix${10}!","FAQ_04_H1":"Як Stremio порівнюється з Flipboard?","FAQ_04_P1":"Ми не так часто отримуємо це запитання, за винятком розмови з людьми зі старт-апів :)","FAQ_04_P2":"Stremio за своєю конструкцією є агрегатором контенту, що по суті робить його Flipboard для відео. Це дуже помітно в нашому розділі «Дошка», який надає вам каталоги та сповіщення про нові серіали/нові відео, на які підписані, як і на Flipboard.","FAQ_05_H1":"Як Stremio порівнюється з Popcorn Time?","FAQ_05_P1":"Stremio і Popcorn Time схожі за інтерфейсом користувача, тому що не так багато способів правильно створити каталоги відео розваг :)","FAQ_05_P2":"Але в той час як Popcorn Time зосереджена на потоковій передачі торрентів з певних джерел, Stremio не обмежений і є лише агрегатором вмісту - він не прив\'язаний до певного джерела.","FAQ_05_P3":"Крім того, за замовчуванням ми не надаємо жодних торрент-доповнень, тому Stremio не охоплює варіант використання Popcorn Time з офіційною функціональністю.","FAQ_05_P4":"Ще одна помітна відмінність полягає в тому, що Popcorn Time повністю з відкритим кодом, тоді як Stremio має ${1}частково відкритий код${2}.","FAQ_06_H1":"Ви додасте цей фільм/серіал?","FAQ_06_P1":"Ні, вибачте :(","FAQ_06_P2":"Як зазначається в більшості інших відповідях, Stremio не надає ніякого вмісту сама по собі – все додається через систему доповнень. Якщо у вас є запит на вміст, ви можете скористатися кнопкою «Повідомити» у програвачі, яка надішле електронний лист автору доповнення, яке ви зараз використовуєте.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Чи створите ви доповнення для X?","FAQ_08_P1":"Це цілком можливо.","FAQ_08_P2":"Якщо у вас є ідея доповнення, напишіть нам на ${1}office@stremio.com${2}, але переконайтеся, що ваша ідея доповнення не порушує жодних авторських прав або умов використання.","FAQ_08_P3":"На даний момент наступні речі в нашій дорожній карті — це доповнення для FandangoNOW, Filmon.tv Video on Demand та Crunchyroll.","FAQ_09_H1":"Чи використовує Stremio BitTorrent?","FAQ_09_P1":"Так, Stremio підтримує BitTorrent як протокол потокової передачі. Ви можете використовувати його або з доповнення для торента, або перетягнути файл .torrent в Stremio, або вставити магнітне посилання в панель пошуку.","FAQ_09_P2":"Зверніть увагу, що єдиним офіційним доповненням, що використовує BitTorrent, є ${1}Vodo${2}, який надає інді-контент, який дозволено розповсюджувати за допомогою BitTorrent.","FAQ_09_P3":"Ми не підтримуємо використання будь-яких сторонніх доповнень, які можуть призвести до порушення авторських прав.","FAQ_10_H1":"Що я можу дивитися в Stremio з офіційними доповненнями?","FAQ_10_P1":"За замовчуванням ви можете дивитися вміст Filmon.tv, YouTube і Vodo у самому Stremio за допомогою вбудованого програвача. Крім того, у нас є доповнення для Twitch.tv та кількох інших.","FAQ_10_P2":"Це поєднання забезпечує вибір:","FAQ_10_L1":"Популярні телеканали, надані Filmon.tv - наприклад E4, BBC, Bollyworld TV","FAQ_10_L2":"Усе з YouTube – наприклад, BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Інді-фільми з Vodo","FAQ_10_L4":"Онлайн-трансляції ігор за допомогою Twitch.tv","FAQ_10_P3":"Крім того, існує багато джерел вмісту, що надаються з Guidebox і додатками Netflix, які <b>не</b> повністю відтворюються всередині Stremio, але переспрямовують на дану службу. Наприклад, додаток Guidebox надасть вам добірку фільмів, які ви можете безкоштовно транслювати в США через такі сервіси, як TubiTV і Crackle.","FAQ_11_H1":"Stremio не встановлюється, що мені робити?","FAQ_11_P1":"Якщо ви використовуєте Windows, спробуйте $ {1}цей альтернативний інсталятор${2} .","FAQ_11_P2":"Якщо ви використовуєте Mac OS X, пам’ятайте, що ми не підтримуємо нічого старішого за OS X Mavericks (10.9).","FAQ_11_P3":"Якщо ви використовуєте Linux, майте на увазі, що наразі ми підтримуємо лише 64-розрядну (x64) Linux.","FAQ_11_P4":"Якщо ви все ще не можете вирішити свою проблему, будь ласка, напишіть нам у нашу ${1}Facebook групу${2}.","FAQ_12_H1":"Чому мій антивірус скаржиться? Чи безпечний Stremio?","FAQ_12_P1":"Ми запевняємо вас, що Stremio ${1}100% безпечний${2}.","FAQ_12_P2":"Ваш антивірус скаржиться, оскільки ми включаємо рекламу в наш інсталятор, який деякі антивірусні програми розпізнають як рекламне програмне забезпечення.","FAQ_12_P3":"Якщо ви все ще НЕ впевнені, ви можете спробувати наш ${1}альтернативний інсталятор${2} .","FAQ_13_H1":"Як я можу створити доповнення?","FAQ_13_P1":"Для початку ми рекомендуємо вам перевірити наш ${1}модуль системи доповнення${2} на GitHub.","FAQ_13_P2":"Після цього ви зможете скористатися {1}Hello World${2}.","FAQ_13_P3":"Якщо у вас немає навичок програмування, будь ласка, опублікуйте свою ідею у ${1}Reddit спільноті${2} та напишіть нам про вашу ідею доповнення на ${3}office@stremio.com${4}.","FAQ_14_H1":"Як публікуються доповнення?","FAQ_14_P1":"Коли ви створюєте доповнення та хост і розміщуєте поле <b>кінцевої точки</b> у своєму маніфесті, яке вказує на робочу адресу доповнення, програма автоматично опублікує себе в нашому ${1}Каталозі доповнень${2}.","FAQ_14_P2":"Це відбувається тому, що серверна частина модуля stremio-addons автоматично здійснює виклик до нашого API, щоб оголосити доповнення. Коли наш API перевірить вашу <b>кінцеву точку</b> як дійсне доповнення, воно почне відображатися в каталозі.","FAQ_15_H1":"Чи можу я запустити Stremio у своєму браузері?","FAQ_15_P1":"Не зараз, але це планується!","FAQ_15_P2":"Якщо вам цікаво побачити альфа-версію, ви можете побачити її тут: ${1}alpha4.strem.io${2}. Майте на увазі, що трансляція вимкнена на цій альфа-версії. Ми підтримуємо Chrome, Firefox, Opera та Edge.","FAQ_16_H1":"Трансляція на телевізор не працює / субтитри не працюють","FAQ_16_P1":"Трансляція на телевізор використовує технологію DLNA, яка дуже несумісна між різними брендами та моделями телевізорів. З цієї причини ми не маємо можливості перевірити кожен випадок. Незважаючи на це, ми постійно працюємо над його вдосконаленням, але не можемо з точністю сказати коли DLNA почне з вашим телевізором належним чином працювати.","FAQ_16_P2":"Якщо ви навіть не бачите свій телевізор у меню трансляції, спробуйте вимкнути мережеве з’єднання та знову ввімкнути його (у Windows клацніть правою кнопкою миші на Мережі та виберіть Увімкнути/Вимкнути), а також перезавантажте маршрутизатор, телевізор та ПК.","FAQ_16_P3":"Якщо у вас все ще виникають проблеми, ви можете допомогти нам надіславши інформацію про бренд і модель вашого телевізора на адресу ${1}office@stremio.com${2}.","FAQ_16_P4":"Тим часом ми рекомендуємо Chromecast, який ми дуже добре підтримуємо або ж просто підключіть телевізор до комп’ютера за допомогою кабелю HDMI.","FAQ_17_H1":"Stremio зависає та/або завершує роботу, що я можу зробити?","FAQ_17_P1":"Перш за все, якщо ви використовуєте Windows 7 з антивірусом AVG: у нас проблема з цією комбінацією. Проблема в самому AVG, і немає розумного способу її вирішити з нашого боку. На жаль, винятки або відключення антивірусу не працюватимуть. Єдине рішення - замінити AVG на щось інше.","FAQ_17_P2":"Якщо проблема не в цьому, але ви все ще використовуєте Windows, оновіть ОС до останнього пакета оновлень і оновіть/перевстановіть драйвери графічного процесора, а потім повторіть спробу.","FAQ_17_P3":"Якщо ваша проблема все ще не вирішена або ви користуєтеся комп’ютером Mac або Linux, напишіть нам та повідомте точну інформацію про проблему в ${1}нашій групі Facebook${2}.","FAQ_18_H1":"Як я можу створити доповнення?","FAQ_18_P1":"Для початку ми рекомендуємо вам перевірити наш ${1}модуль системи доповнення${2} на GitHub.","FAQ_18_P2":"Після цього ви зможете скористатися {1}Hello World${2}.","FAQ_18_P3":"Якщо у вас немає навичок програмування, будь ласка, опублікуйте свою ідею у ${1}Reddit спільноті${2} та напишіть нам про вашу ідею доповнення на ${3}office@stremio.com${4}.","FAQ_19_H1":"Чому Stremio займає місце на диску?","FAQ_19_P1":"Stremio має <b>локальний кеш</b> для тимчасового зберігання відеофайлів, які ви транслюєте.","FAQ_19_P2":"Це має дві переваги: по-перше, дозволяє Stremio попередньо буферизувати відео, щоб забезпечити більш плавне відтворення. По-друге, зберігає відео в локальному кеші, щоб ви могли продовжувати перегляд офлайн.","FAQ_19_P3":"Скільки зберігає Stremio залежить від параметра <b>Кеш</b> в панелі налаштувань. Stremio може підтримувати встановлений обсяг на вашому диску (наприклад, 2 Гб), якщо поточне відео не перевищує цього розміру і в цьому випадку має виділити достатньо пам’яті аби зберегти його поки транслюєте.","FAQ_20_H1":"Де знаходиться папка кешу?","FAQ_20_P1":"У Windows це stremio-cache на диску, який ви вибрали в налаштуваннях (наприклад, \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"У MacOS це \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"У Linux це \\"~/.stremio/stremio-cache\\" або \\"~/stremio-cache\\"","FAQ_21_H1":"Я отримую помилку \\"Потоковий сервер не знайдено\\", що я можу зробити?","FAQ_21_P1":"Якщо ви отримуєте цю помилку, це означає одне з наступних:","FAQ_21_P2":"1) Ви намагаєтеся використовувати доповнення з джерела YouTube / BitTorrent через нашу ${1}веб версію${2}. У цьому випадку вам слід встановити настільну версію з ${3}нашого веб-сайту${4}.","FAQ_21_P3":"2) Щось не так з встановленням Stremio. У цьому випадку спробуйте повторно встановити нашу останню настільну версію з ${1}веб-сайту${2}. Якщо це не допомогло, спробуйте вимкнути антивірусні програми та брандмауери, перезавантажити ПК і повторити спробу. Якщо це не спрацювало, будь ласка, напишіть ${3}в нашу Facebook групу${4}.","FAQ_22_H1":"Я не можу бачити/використовувати більшість доповнень на iOS","FAQ_22_P1":"Через обмеження в положеннях і умовах Apple App Store ми обмежили програму iOS лише певним набором доповнень.","FAQ_22_P2":"Але будьте впевнені: у майбутньому буде більше доповнень для iOS і ми також можемо додати інтеграцію, яка дозволить вам використовувати всі доповнення Stremio завдяки підключенню програми iOS до Stremio Streaming Server."}')},88078:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"Phim","TYPE_series":"Loạt phim","TYPE_tv":"Kênh TV","TYPE_channel":"Kênh","TYPE_other":"Khác","TYPE_movie_PL":"Phim","TYPE_series_PL":"Loạt phim","TYPE_tv_PL":"Kênh TV","TYPE_channel_PL":"Kênh","TYPE_other_PL":"Khác","TYPE_ALL":"Tất cả","TYPE":"Loại","CATALOG_com_linvo_cinemeta_top":"Phổ biến","CATALOG_com_linvo_cinemeta_imdbRating":"Đặc sắc","CATALOG_com_linvo_cinemeta_year":"Mới","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Phim thuộc phạm vi công cộng","VIDEO":"Video","BACK":"Quay lại","MORE":"Nhiều hơn","DONE":"Xong","COPY":"Sao chép","SUCCESS":"Thành công","ERROR":"Lỗi","SETTINGS_CASTING_MODE_PICKER":"Chế độ truyền","CASTING_MODE_HLSV2":"Mặc định","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"Không chuyển mã","Discover":"Khám phá","Board":"Bảng","Library":"Thư viện","My Library":"Thư viện của tôi","Calendar":"Lịch","NOTIFICATION_ONLINE":"Bạn hiện đang trực tuyến","NOTIFICATION_OFFLINE":"Bạn hiện đang ngoại tuyến","INTERNET_CONNECTION":"Kết nối mạng","STORAGE_FULL_TITLE":"Cảnh báo: Bộ nhớ đầy!","STORAGE_FULL_TEXT":"Stremio sẽ không thể lưu thiết đặt, tùy chọn hoặc thông tin đăng nhập của bạn. Cân nhắc khởi động lại hoặc cài đặt lại Stremio.","SEARCH":"tìm kiếm","SEARCH_NO_RESULTS":"Không tìm thấy kết quả","SEARCH_EXPLANATION_CONTENT":"Tìm kiếm phim, loạt phim, YouTube và các kênh TV","SEARCH_EXPLANATION_PEOPLE":"Tìm kiếm diễn viên, đạo diễn và biên kịch","SEARCH_PASTE_LINKS":"Dán liên kết HTTP và Nam châm","SEARCH_OR_PASTE_LINK":"Tìm kiếm hoặc dán liên kết","SEARCH_SUGGESTIONS":"Đề xuất tìm kiếm","ADD_TO_LIB":"Thêm vào thư viện","REMOVE_FROM_LIB":"Loại khỏi Thư viện","ADDED_TO_LIB":"Đã thêm vào thư viện","REMOVED_FROM_LIB":"Đã loại khỏi Thư viện","TRAILER":"Đoạn giới thiệu","WATCH_TRAILER":"Xem đoạn giới thiệu","WATCH_NOW":"Xem ngay","SHOW":"Hiển thị","SHOW_MOVIE":"Hiển thị phim","WATCH_RANDOM":"Xem ngẫu nhiên","IMDB_RATING":"Xếp hạng IMDb","YEAR":"Năm","DIRECTOR":"Đạo diễn","WRITER":"Biên kịch","LEAD_ACTORS":"Diễn viên chính","CAST":"Dàn diễn viên","CREW":"Đoàn làm phim","SHOW_MORE_CAST":"Hiện nhiều hơn »","AIRED":"Đã phát sóng","SEASONS":"Các phần","GENRE":"Thể loại","GENRE_ALL":"Mọi thể loại","CATALOG":"Danh mục","SUMMARY":"Tóm tắt","SHOW_MORE":"Hiện nhiều hơn","SIMILAR":"Tương tự","UPCOMING":"Sắp tới","TBA":"TBA","ENDED":"Đã kết thúc","DURATION":"Thời lượng","FEATURED":"Đặc sắc","METADATA":"Siêu dữ liệu","CATEGORY":"loại","LINKS_GENRES":"Thể loại","LINKS_CAST":"Dàn diễn viên","LINKS_DIRECTORS":"Đạo diễn","SEARCH_VIDEOS":"tìm kiếm video","SEARCH_PLACEHOLDER":"tìm kiếm hoặc dán URL","ADDON":"add-on","ADDONS":"Add-on","OFFICIAL":"chính thức","ADDONS_OFFICIAL":"Add-on chính thức của Stremio","ADDONS_POPULAR":"Phổ biến trong khu vực của bạn","ADDON_FREE":"miễn phí","ADDON_PEERED":"ngang hàng","ADDON_SUBSCRIPTION":"đăng ký","ADDON_STREAM_GEORESTRICTED":"không có sẵn trong khu vực của bạn","ADDON_STREAM_OFFLINECACHE":"Bộ nhớ đệm ngoại tuyến","ADDON_STREAM_LOCALFILE":"Tệp cục bộ","SHARE_ADDON":"Chia sẻ add-on","AVAILABLE_STREAMS":"Luồng khả dụng","NO_STREAM":"Không tìm thấy luồng nào","ALL_ADDONS":"Tất cả","INSTALL_MORE_ADDONS":"Để có nhiều luồng hơn, vui lòng cài đặt thêm add-on","STREAM_NOT_SUPPORTED":"Luồng đã chọn không được hỗ trợ trên nền tảng này.","ADDON_CATALOGUE":"Hiển thị tất cả add-on »","ADDON_CATALOGUE_MORE":"Cài đặt add-on","REPO_ADDED":"Đã thêm kho lưu trữ","ADDON_REPO_EXIST_ERR":"Bộ sưu tập các add-on này đã tồn tại","ADDON_REPO_ERR":"Đã xảy ra lỗi khi thêm bộ sưu tập","ADDON_ADD_ERR":"Đã xảy ra lỗi khi thêm add-on","ERR_ADDON_PROTECTED":"Không thể gỡ cài đặt add-on, nó được bảo vệ","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"Đã xảy ra lỗi - xác thực có thể không thành công","ERR_NOT_COLLECTION_URL":"Không phải URL bộ sưu tập","ERR_NOT_ADDON_URL":"URL add-on không hợp lệ","ERR_DETECTFROMURL":"Không thể tìm thấy add-on/bộ sưu tập từ URL này","ADDON_DUPLICATE_WARNING":"Cảnh báo: add-on trùng lặp","ADDON_COLLECTION_SET_FAILED":"Không thể đồng bộ hóa các add-on đã cài đặt với tài khoản của bạn","SETTINGS_DATA_EXPORT":"Xuất dữ liệu người dùng","ADDON_PULL_FAILED":"Không thể đồng bộ hóa các add-on đã cài đặt từ tài khoản của bạn","REFRESH_ON_CLICK":"Nhấp để thử lại","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"Phim còn chiếu rạp","WATCH_IN_CINEMA":"Xem tại rạp chiếu phim địa phương của bạn","IN_THEATER":"Trong rạp chiếu phim","GET_TICKETS":"Lấy vé","UPCOMING_EPISODE":"Tập sắp tới","UPCOMING_EPISODE_MESSAGE":"Tập này sẽ được phát sóng vào","MISSING_DATE_EPISODE":"Thiếu ngày tập","MISSING_DATE_EPISODE_MESSAGE":"Tập này có thể chưa phát sóng","CHANNEL_NOT_SCRAPED":"Kênh này chưa được xóa.<br>Vui lòng quay lại sau vài phút.","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"Thêm nó vào thư viện của bạn để nhận thông báo khi nó có sẵn.","GET_NOTIFIED_WHEN_AVAILABLE":"Bạn sẽ nhận được thông báo khi nó khả dụng.","WARNING_STREAMING_SERVER":"Cảnh báo: không tìm thấy máy chủ truyền trực tuyến cục bộ. Truyền trực tuyến từ các tệp cục bộ, YouTube và BitTorrent sẽ không khả dụng.","WARNING_STREAMING_SERVER_DISMISS":"Bỏ qua","WARNING_STREAMING_SERVER_LATER":"Sau đó","DECODER_WARNING":"Cảnh báo: phần cứng của bạn có thể không hỗ trợ video này. Xin lưu ý rằng quá trình phát lại có thể chậm.","GENERIC_ERROR_MESSAGE":"Có gì đó không ổn!","TRY_AGAIN":"Thử lại","CLEAR_DATA":"Xóa dữ liệu","PLAYER_ERROR":"Rất tiếc, Lỗi Trình phát","PLAYER_ERROR_LOOKSLIKE":"Nó có vẻ như","PLAYER_ORIENTATION":"Định hướng trình phát","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"Đã khóa","PLAYER_ORIENTATION_SENSOR_SHORT":"Cảm biến","PLAYER_ORIENTATION_LANDSCAPE":"Hướng trình phát bị khóa ở chế độ ngang","PLAYER_ORIENTATION_SENSOR":"Tự động định hướng trình phát (cảm biến)","PLAYER_PLAYBACK_SPEED":"Tốc độ phát lại","PLAYER_PLAYBACK_ERROR":"Lỗi phát lại, vui lòng thử lại","PLAYER_PLAYBACK_ERROR_UNKNOWN":"Lỗi không rõ","PLAYER_PLAYBACK_ERROR_DEFAULT":"Xin lỗi, {{productName}} không thể phát video này.","PLAYER_SUBTITLES_LANGUAGES":"Ngôn ngữ phụ đề","PLAYER_SUBTITLES_VARIANTS":"Biến thể phụ đề","PLAYER_SUBTITLES_SETTINGS":"Thiết đặt phụ đề","PLAYER_SUBTITLES_DISABLED":"Phụ đề bị tắt","PLAYER_SUBTITLES_VERTICAL_POSIITON":"Vị trí thẳng đứng","PLAYER_SUBTITLES_LOADED":"Đã tải phụ đề","PLAYER_SUBTITLES_LOADED_EMBEDDED":"Đã tải phụ đề nhúng","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"Đã tải phụ đề độc quyền","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"Đã tải phụ đề từ {{origin}}","PLAYER_PLAY":"Phát","PLAYER_PAUSE":"Tạm ngừng","PLAYER_NEXT_VIDEO":"Video tiếp theo","PLAYER_MUTE":"Tắt tiếng","PLAYER_UNMUTE":"Bật tiếng","PLAYER_OPEN_IN_EXTERNAL":"Mở trong trình phát bên ngoài","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"Phát trên {{device}}","PLAYER_LIVE":"Trực tiếp","PLAYER_NEXT_VIDEO_TITLE":"Sắp tới","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"Bỏ qua","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"Xem ngay","PLAYER_COPY_STREAM_SUCCESS":"Liên kết luồng đã được sao chép vào clipboard của bạn","PLAYER_COPY_STREAM_ERROR":"Không thể sao chép liên kết luồng","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"truyền trực tuyến từ","CASTING_TO":"Truyền tới","NETWORK_STATUS":"Tình trạng mạng","STREAM_SPEED":"Tốc độ truyền phát:","STREAM_BUFFERED":"Đã đệm:","PEERS_INFO":"Thông tin đồng nghiệp","PEERS_ACTIVE":"Hoạt động:","PEERS_CONNECTED":"Đã kết nối:","PEERS_WAITING":"Chờ:","TRANSCODING_WARNING":"Cảnh báo: chuyển mã video.","STREAM_LOADING":"đang tải...","PLAYING_LOCAL":"phát từ tệp cục bộ","PLAYING_CACHE":"phát từ bộ nhớ đệm","WRONG_SUBS":"Phụ đề sai?","ERR_SUBS_LOADING_TITLE":"Lỗi khi tải phụ đề","ERR_SUBS_LOADING":"Tải phụ đề không thành công: đây có thể là sự cố với add-on bạn đang sử dụng hoặc với kết nối mạng của bạn","WARN_FOLLOWING_SUB_ADDONS_FAILED":"Các add-on phụ đề sau không thành công","ERR_CASTING_UPDATE_TITLE":"Không thể cập nhật thông tin thiết bị truyền: máy chủ truyền trực tuyến có thể đang ngoại tuyến","CHOOSE_DEVICE":"Chọn thiết bị để xem","NO_CAST_DEVICES":"Không có thiết bị truyền nào.","NO_SETTINGS":"Không có cài đặt nào.","NO_OPTIONS":"No options available","PHONE_TABLET":"Điện thoại / Máy tính bảng","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"Phụ đề","SUBTITLES_CHANGE":"Thay đổi phụ đề cho ","SUBTITLES_CHANGE_NONE":"Không có phụ đề nào khác cho ngôn ngữ này, xin lỗi.","SUBTITLES_CHANGE_ACIVE":"Hiện tại phụ đề #{{subtitlesDialog.activeIdx + 1}} đã được kích hoạt. Nhấp vào \\"Tiếp tục\\" để kích hoạt phụ đề #{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"Ngoài ra,","SUBTITLES_ADJUST_DELAY":"Điều chỉnh độ trễ của phụ đề:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"Hoặc sử dụng các phím <span>G</span> / <span>H</span> trong khi phát để điều chỉnh.","SUBTITLES_ADJUST_DELAY_TIP":"MẸO: bạn có thể sử dụng các phím <span>G</span> / <span>H</span> trong khi phát để điều chỉnh.","SUBTITLES_DELAY":"Độ trễ phụ đề:","SUBTITLES_LOADING":"Đang tải phụ đề...","SUBTITLES_UNAVAILABLE":"Không có phụ đề bên ngoài","SUBTITLES_DISABLED":"Đã tắt","EXTERNAL_PLAYER_DISABLED":"Đã tắt","EXTERNAL_PLAYER_ALLOW_CHOOSING":"Cho phép chọn","EXTERNAL_PLAYER_HINT":"Gợi ý: Có một cài đặt cho phép luôn mở bằng trình phát bên ngoài","DONT_SHOW_AGAIN":"Không hiện lại","SERVICE_INSTALL":"Cài đặt","AUDIO":"Âm thanh","DEFAULT_LANGUAGE":"Ngôn ngữ mặc định","DEFAULT_SECONDARY_LANGUAGE":"Ngôn ngữ mặc định thứ hai","SEASON":"Mùa phim","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"Tập phim","EPISODE_ABBREVIATION":"T","SPECIAL":"Đặc biệt","SORT":"Sắp xếp","SORT_BY":"Sắp xếp theo","FILTER":"lọc","SORT_TRENDING":"xu hướng","SORT_RECENT":"gần đây","SORT_ALPHABET":"a-z","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"xếp hạng","SORT_WATCHED":"đã xem","SORT_YEAR":"năm","SELECT":"Select","SELECT_TYPE":"Chọn đối tượng","SELECT_SORT":"Chọn sắp xếp","SELECT_CATALOG":"Chọn danh mục","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"Chọn thể loại","SORT_LASTWATCHED":"Theo lần xem cuối cùng","SORT_NAME":"a-z","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"xem nhiều nhất","SORT_NOTWATCHED":"chưa xem","New for You":"Mới ra dành cho bạn","New Episodes":"Tập mới","New Videos":"Video mới","Recommendations":"Khuyến nghị","LIBRARY_RESUME":"Xem tiếp","LIBRARY_PLAY":"Phát","LIBRARY_DETAILS":"Chi tiết","LIBRARY_RESUME_DISMISS":"Bỏ qua","LIBRARY_CLEAR_PROGRESS":"Làm sạch tiến trình","LIBRARY_REMOVE":"Loại bỏ","LIBRARY_NOT_LOGGED_IN":"Thư viện chỉ khả dụng cho người dùng đã đăng nhập","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"Lịch chỉ khả dụng cho người dùng đã đăng nhập","NOT_LOGGED_IN_CLOUD":"Truy cập các bộ phim và chương trình TV yêu thích của bạn mọi lúc, mọi nơi","NOT_LOGGED_IN_RECOMMENDATIONS":"Đề xuất phù hợp với lịch sử xem của bạn","NOT_LOGGED_IN_NOTIFICATIONS":"Không bao giờ bỏ lỡ một tập nào nữa","NOT_LOGGED_IN_CALENDAR":"Sắp xếp lịch xem cá nhân của bạn","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"Đặc sắc","DISCOVER_TOP":"Hàng đầu","DISCOVER_OSCAR":"Thắng giải Oscar","DISCOVER_WARNING_TITLE":"Ối!","DISCOVER_EMPTY_CATALOG":"Add-on này trả về nội dung trống.","DISCOVER_ADULT_WARNING":"Nội dung chỉ hiển thị cho người lớn. Bạn có trên 18 tuổi không?","DISCOVER_NOADDON_WARNING":"Cảnh báo: không có add-on Stremio nào hoạt động cho loại này. Hiển thị các mục đã lưu, không có gì ở đây sẽ cập nhật.","DISCOVER_LOAD_ERR":"Nội dung không tải được, đã xảy ra lỗi.","DISCOVER_ADDON_UNINSTALLED":"Nội dung này không còn nữa, bạn có thể đã gỡ bỏ add-on.","UNINSTALL_THIS_ADDON":"Gỡ bỏ add-on này","ERR_ADDON_NOT_INSTALLED":"Add-on này chưa được cài đặt. Cài đặt ngay?","DETAIL_RECEIVE_NOTIF_SERIES":"Nhận thông báo về các tập mới","DETAIL_RECEIVE_NOTIF_VIDEOS":"Nhận thông báo về video mới","SIDEBAR_SHOW_STREAMS":"Hiển thị luồng","RELAUNCH":"Tái khởi chạy ngay bây giờ!","UPGRADE":"Đã có phiên bản mới! Nâng cấp lên phiên bản Stremio mới nhất","RELOAD_UI":"Tải lại giao diện người dùng","MANUAL_UPDATE_TITLE":"Cập nhật phiên bản Stremio của bạn","MANUAL_UPDATE_LINE1":"Bạn đang chạy một phiên bản cũ của Stremio, phiên bản này rất không được khuyến nghị.","MANUAL_UPDATE_LINE2":"Vui lòng cập nhật càng sớm càng tốt.","BUTTON_UPDATE_LATTER":"Không phải bây giờ","BUTTON_UPDATE_NOW":"Cập nhật","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"Người dùng ẩn danh","DONT_HAVE_ACC":"Chưa có tài khoản?","HAVE_ACC":"Sẵn sàng để tạo một tài khoản?","PASSWORD":"Mật khẩu","PASSWORD_CONFIRM":"Xác nhận mật khẩu","EMAIL":"E-mail","FB_LOGIN":"Tiếp tục với Facebook","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"Không có gì được chia sẻ mà không có sự cho phép của bạn","FB_NOPOST":"Chúng tôi sẽ không đăng bất cứ điều gì thay mặt bạn","OR":"hoặc","I_ACCEPT":"Tôi chấp nhận","I_ACCEPT_BY_CLICKING":"Bằng cách nhấp vào nút ở trên, tôi chứng nhận rằng tôi chấp nhận ","TOS":"Các điều khoản và điều kiện","MUST_ACCEPT_TERMS":"Bạn phải chấp nhận các điều khoản","PASSWORDS_NOMATCH":"Mật khẩu không khớp","SIGN_UP":"Đăng ký","SIGN_UP_EMAIL":"Đăng ký với email","CLICK_TO_SIGN_UP":"Nhấn vào đây để đăng ký.","LOG_IN":"Đăng nhập","LOG_OUT":"Đăng xuất","EXIT_FULLSCREEN":"Thoát chế độ toàn màn hình","ENTER_FULLSCREEN":"Vào chế độ toàn màn hình","PLAY_URL_MAGNET_LINK":"Phát URL/Liên kết nam châm","HELP_FEEDBACK":"Trợ giúp & Phản hồi","TERMS_OF_SERVICE":"Điều khoản dịch vụ","PRIVACY_POLICY":"Chính sách bảo mật","ABOUT_STREMIO":"Giới thiệu về Stremio","USER_PANEL":"Bảng điều khiển người dùng","LOGIN_LABEL":"Đăng nhập","GUEST_LOGIN":"Đăng nhập của khách","GUEST_LOGIN_NOTICE":"Đăng nhập với tư cách khách không được khuyến nghị. Sử dụng thông tin đăng nhập thông thường cho phép Stremio đồng bộ hóa Thư viện của bạn, nhận thông báo cho các bộ/kênh yêu thích. Bạn có chắc chắn muốn tiếp tục không?","GUEST_LOGIN_NOTICE_2":"Đăng nhập với tư cách khách không được khuyến nghị - bạn sẽ không đồng bộ hóa thông báo Thư viện và Bảng, đây là những tính năng quan trọng của Stremio. Bạn có chắc chắn muốn tiếp tục không?","CLICK_HERE":"bấm vào đây","WRONG_PASSWORD":"Sai email hoặc mật khẩu. Trong trường hợp bạn quên mật khẩu, ","SET_A_PASS":"đặt mật khẩu","RESET_PASSWORD":"Đặt lại mật khẩu","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"Quên mật khẩu?","EMAIL_USED_WITH_FB":"Email này đã được sử dụng với thông tin đăng nhập Facebook.","INVALID_EMAIL":"Vui lòng nhập địa chỉ email hợp lệ","INVALID_PASSWORD":"Vui lòng nhập mật khẩu hợp lệ","CONN_ERR":"Lỗi kết nối - vui lòng thử lại sau.\\n\\nNếu lỗi này vẫn tiếp diễn, hãy tắt tường lửa/phần mềm diệt vi-rút (đặc biệt là Bitdefender).","IMPORT_FROM_GUEST":"Nhập thư viện từ tài khoản khách của bạn","RECEIVE_UPDATES_EMAIL":"Nhận thông tin cập nhật cho email của bạn từ Stremio","LOGIN_FAILED":"Đăng nhập thất bại.","SIGNUP_FAILED":"Đăng ký thất bại.","SEARCH_FAILED":"Tìm kiếm không thành công","EMAIL_USED":"Email này đã được sử dụng.","WAITING_FB_LOGIN":"Đăng nhập bằng Facebook...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"Phát trong trình phát ngoài","EXTERNAL_REMEMBER_PLAYER":"Bạn có muốn ghi nhớ lựa chọn của mình không","EXTERNAL_ALWAYS_PLAY":"Đúng","EXTERNAL_ONLY_ONCE":"Không","BEST_FIT":"Phù hợp nhất","FIT_SCREEN":"Vừa với màn hình","FILL":"Lấp đầy","16:9":"16:9","4:3":"4:3","Original":"Nguyên bản","INTRO_TASTE":"Nói cho chúng tôi biết bạn thích gì","INTRO_TASTE_LONG":"Nói cho chúng tôi biết bạn muốn xem gì","INTRO_TASTE_PICK":"Chọn sở thích {{interestsRemaining}}","INTRO_TASTE_PICK_MORE":"Chọn thêm {{interestsRemaining}} sở thích","INTRO_TASTE_HELP_US":"Giúp chúng tôi hiểu thêm về bạn.","INTRO_TASTE_CHOOSE_THESE":"Chọn một số trong số này:","INTRO_TASTE_CHOOSE_MIN":"Chọn ít nhất 3 danh mục","INTRO_TASTE_CHOOSE_MIN_ERR":"Bạn phải chọn ít nhất 3 danh mục!","INTRO_TASTE_LIFESTYLE":"Phong cách sống","INTRO_TASTE_SPORTS":"Thể thao","INTRO_TASTE_FOOD_HEALTH":"Thực phẩm & Sức khỏe","INTRO_TASTE_BEAUTY_FASHION":"Làm đẹp & Thời trang","INTRO_TASTE_NEWS":"Tin tức","INTRO_TASTE_GAMING":"Trò chơi","INTRO_TASTE_SCIENCE_EDU":"Khoa học & Giáo dục","INTRO_TASTE_MUSIC":"Âm nhạc","INTRO_TASTE_TRAVEL":"Du lịch","INTRO_TASTE_LATE_NIGHT":"Chương trình đêm khuya","INTRO_TASTE_REALITY":"Thực tế","INTRO_TASTE_COMEDY":"Hài kịch","INTRO_TASTE_DIY":"Cách tự làm","INTRO_TASTE_TECH":"Công nghệ","INTRO_TASTE_CINEMA":"Rạp chiếu phim","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"Add-on đã chọn không được hỗ trợ trên nền tảng này.","ADDON_DISCLAIMER":"Dùng add-on của bên thứ ba sẽ luôn phải tuân theo trách nhiệm của bạn và luật điều chỉnh của khu vực tài phán mà bạn sinh sống.","ADDON_ACTIVATE":"Kích hoạt add-on này?","ADDON_REPO_ADD":"URL bộ sưu tập add-on","ADDON_ADD":"Thêm","INSTALL_ADDON":"Cài đặt add-on","ADD_ADDON":"Thêm add-on","ADD_ADDON_DESCRIPTION":"Bạn có thể thêm một add-on thông qua một liên kết bên ngoài, liên kết này sẽ xuất hiện trong phần add-on đã cài đặt.","PASTE_ADDON_URL":"Dán URL add-on","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"Có gì mới","BUTTON_CONTINUE":"Tiếp tục","BUTTON_ACTIVATE":"Kích hoạt","BUTTON_ACTIVATED":"Đã kích hoạt","BUTTON_CANCEL":"Hủy bỏ","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"Nộp","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"Bỏ qua hết","BUTTON_VIEW_ALL":"xem hết","BUTTON_SEE_ALL":"Thấy hết","BUTTON_COLOR_TRANSPARENT":"Trong suốt","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"Mở trong trình duyệt","LIB_EMPTY":"Thư viện của bạn trông trống rỗng. Tìm hiểu xem nó hữu ích như thế nào :) ","HOW_START":"Đây là cách bạn có thể bắt đầu:","LIB_EMPTY_CAL":"Lịch của bạn hiển thị loạt phim trong Thư viện của bạn.","HOW_START_CAL":"Đây là cách bạn có thể thêm bộ phim:","LIB_EMPTY_BOARD":"Bảng hiển thị các thông báo & đề xuất liên quan đến Thư viện của bạn.","HOW_START_BOARD_WAIT":"Vui lòng thêm một vài loạt phim hoặc kênh vào Thư viện của bạn, hãy cho chúng tôi vài phút để xử lý :)","HOW_START_BOARD":"Đây là cách bạn có thể thêm loạt phim & phim vào đó:","IMPORT_FB":"Nhập nội dung bạn thích từ <span>Facebook</span>","IMPORT_TRAKT":"Nhập thư viện phương tiện của bạn từ <span>Trakt</span>","IMPORT_DISCOVER":"Tìm nội dung thú vị từ <span>Khám phá</span>","IMPORT_DISK":"Nhập phim hoặc chương trình bạn có trên <span>đĩa cục bộ</span>","PLEASE_CREATE_ACC":"Vui lòng <u>tạo tài khoản</u> để bật Đồng bộ hóa thư viện & Bảng.","IMPORT_DISCOVER_SIGNUP":"Đăng ký và tìm nội dung thú vị từ <span>Khám phá</span>","IMPORT_DISK_SIGNUP":"Đăng ký và nhập phim hoặc chương trình bạn có trên <span>đĩa cục bộ</span> của mình","LIB_EMPTY_CLOUD":"Thư viện đám mây","LIB_EMPTY_CLOUD_DESC":"Thư viện đám mây cá nhân được đồng bộ hóa trên tất cả các thiết bị","LIB_EMPTY_EARLY":"Chim non","LIB_EMPTY_EARLY_DESC":"Nhận thông báo về các tập mới","LIB_EMPTY_PERSONAL":"Cá nhân","LIB_EMPTY_PERSONAL_DESC":"Nhận đề xuất cá nhân","LIB_EMPTY_CALENDAR_DESC":"Sắp xếp lịch xem cá nhân của bạn","LIB_EMPTY_ALL":"Đăng ký để nhận được tất cả những thứ này:","LIB_EMPTY_BEST":"Đăng ký để tận dụng tốt nhất Stremio","LIB_EMPTY_OTHER":"Đăng ký để bật Lịch và các tính năng thú vị khác","CALENDAR_ADDED":"Lịch Stremio đã được thêm vào lịch màn hình mặc định của bạn.","CALENDAR_ADDED_MSG":"Nếu cách này không hiệu quả, vui lòng thêm URL này vào ứng dụng lịch của bạn theo cách thủ công","TRAKT_EXPIRED":"Xác thực Trakt đã hết hạn, vui lòng đi tới Thiết đặt và xác thực lại","TRAKT_REQUIRES_LOGIN":"Lỗi Trakt","TRAKT_REQUIRES_LOGIN_MSG":"Bạn cần đăng nhập","TRAKT_IMPORT_WATCHED":"Nhập","THEME":"Chủ đề","THEME_DEFAULT":"Mặc định","THEME_ADAPTIVE":"Thích ứng","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"Thiết đặt","SETTINGS_NAV_GENERAL":"Tổng quan","SETTINGS_NAV_PLAYER":"Trình phát","SETTINGS_NAV_STREAMING":"Truyền trực tuyến","SETTINGS_NAV_SHORTCUTS":"Lối tắt","SETTINGS_SHORTCUT_RELOAD_APP":"Tải lại ứng dụng","SETTINGS_SHORTCUT_OPEN_SETTINGS":"Mở thiết đặt","SETTINGS_SHORTCUT_SWITCH_TABS":"Chuyển tab","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"Xoay tới các tab phía trước","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"Xoay về các tab phía sau","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"Điều hướng giữa các menu","SETTINGS_SHORTCUT_GO_TO_SEARCH":"Đi tới Tìm kiếm","SETTINGS_SHORTCUT_EXIT_BACK":"Thoát/Quay lại","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"Chuyển đổi menu tốc độ phát lại","SETTINGS_SHORTCUT_MENU_VIDEOS":"Chuyển đổi Menu Video","SETTINGS_SHORTCUT_MENU_SUBTITLES":"Chuyển đổi menu phụ đề","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"Chuyển đổi menu thông tin","SETTINGS_SHORTCUT_FULLSCREEN":"Chuyển đổi toàn màn hình","SETTINGS_SHORTCUT_SHOW_CONTROLS":"Hiển thị điều khiển","SETTINGS_SHORTCUT_PLAY_PAUSE":"Phát / Tạm dừng","SETTINGS_SHORTCUT_VOLUME_UP":"Tăng âm lượng","SETTINGS_SHORTCUT_VOLUME_DOWN":"Giảm âm lượng","SETTINGS_SHORTCUT_SEEK_NEXT":"Nhảy tới","SETTINGS_SHORTCUT_SEEK_PREV":"Nhảy lùi","SETTINGS_SHORTCUT_SEEK_BACKWARD":"Tua về sau","SETTINGS_SHORTCUT_SEEK_FORWARD":"Tua về trước","SETTINGS_SHORTCUT_PLAY_NEXT":"Phát kế tiếp","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"Tăng kích thước phụ đề","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"Giảm kích thước phụ đề","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"Tăng độ trễ phụ đề","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"Giảm độ trễ phụ đề","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"Chuyển đổi thanh bên","SETTINGS_SHORTCUT_OR":"hoặc","SETTINGS_SHORTCUT_TO":"đến","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"Space","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"Xác thực","SETTINGS_FACEBOOK_IMPORT":"Nhập vào","SETTINGS_CALENDAR_SUBSCRIBE":"Đăng ký","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"Ngôn ngữ giao diện","SETTINGS_LAUNCH_STARTUP":"Khởi chạy khi khởi động","SETTINGS_VLC_DEFAULT":"Phát bằng VLC","SETTINGS_UI_LANGUAGE":"Ngôn ngữ giao diện người dùng","SETTINGS_UI_ZOOM":"Thu phóng giao diện","SETTINGS_FULLSCREEN_EXIT":"Phím Esc thoát toàn màn hình","SETTINGS_GAMEPAD":"Bật hỗ trợ gamepad","SETTINGS_CLOSE_WINDOW":"Đóng ứng dụng khi đóng cửa sổ","SETTINGS_SUBTITLES_LANGUAGE":"Ngôn ngữ phụ đề mặc định","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"Kích thước phụ đề mặc định","SETTINGS_SUBTITLES_BACKGROUND":"Nền phụ đề","SETTINGS_SUBTITLES_COLOR":"Màu phụ đề","SETTINGS_SUBTITLES_COLOR_OUTLINE":"Màu đường viền phụ đề","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"Màu nền phụ đề","SETTINGS_SEEK_KEY":"Nút mũi tên tua thời lượng","SETTINGS_SEEK_KEY_SHIFT":"Nút mũi tên tua thời lượng khi giữ phím Shift","SETTINGS_REWIND_FAST_FORWARD_DURATION":"Thời lượng Tua lại & Tua nhanh","SETTINGS_BINGE":"Tự động phát tập tiếp theo","SETTINGS_NEXT_VIDEO":"Hiển thị thông báo để bắt đầu tập tiếp theo","SETTINGS_NEXT_VIDEO_TRIGGER":"Hiển thị thông báo tập tiếp theo cho:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"Thời lượng bật lên của video tiếp theo","SETTINGS_PLAY_IN_BACKGROUND":"Phát trong nền","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"Phát trong trình phát ngoài","SETTINGS_RESIZE":"Tự động thay đổi kích thước cửa sổ trước khi phát","SETTINGS_OVERRIDE_SERVER":"Ghi đè URL máy chủ truyền trực tuyến (nâng cao)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"URL máy chủ truyền trực tuyến: ","SETTINGS_SERVER_AVAILABLE":"Máy chủ truyền trực tuyến khả dụng.","SETTINGS_SERVER_UNAVAILABLE":"Máy chủ truyền trực tuyến không khả dụng.","SETTINGS_SERVER_STATUS_ONLINE":"Trực tuyến","SETTINGS_SERVER_STATUS_ERROR":"Lỗi","SETTINGS_SERVER_CONFIGURE_TITLE":"Định cấu hình url máy chủ truyền trực tuyến","SETTINGS_SERVER_CONFIGURE_INPUT":"Nhập url máy chủ truyền trực tuyến","SETTINGS_SERVER_CACHE_SIZE":"Kích thước bộ nhớ đệm","SETTINGS_SERVER_TORRENT_PROFILE":"Hồ sơ torrent","SETTINGS_HTTPS_ENDPOINT":"Truyền trực tuyến máy cuối HTTPS: ","SETTINGS_TRANSCODE_PROFILE":"Hồ sơ chuyển mã","SETTINGS_USE_BETA":"Luôn sử dụng bản Beta mới nhất","SETTINGS_IMPORT_FB":"Nhập từ facebook","SETTINGS_IMPORT_DISK":"Nhập từ đĩa cục bộ","SETTINGS_IMPORT_TRAKT":"Nhập từ Trakt","SETTINGS_PAUSE_MINIMIZED":"Tạm dừng phát lại khi thu nhỏ","SETTINGS_HWDEC":"Giải mã tăng tốc phần cứng","SETTINGS_BACKGROUND":"Phát lại trong nền","SETTINGS_SUBSCRIBE_CALENDAR":"Đăng ký lịch","SETTINGS_REQ_EXPORT":"Yêu cầu xuất dữ liệu","SETTINGS_ACC_DELETE":"Yêu cầu xóa tài khoản","SETTINGS_CHANGE_PASSWORD":"Đổi mật khẩu","SETTINGS_TOS":"Điều khoản dịch vụ","SETTINGS_SUPPORT":"Liên hệ hỗ trợ","SETTING_LANGUAGE":"Ngôn ngữ","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt Thống kê","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"Đăng xuất khỏi Trakt.tv","SETTINGS_TRAKT_LOGOUT_2":"Đăng xuất khỏi Trakt","SETTINGS_SCAN_FOR_REMOTE":"Quét mã QR để mở điều khiển từ xa","SETTINGS_DESKTOP_NOTIFICATIONS":"Thông báo trên màn hình","SETTINGS_DATA_SAVER":"Trình tiết kiệm dữ liệu","SETTINGS_LANGUAGE_INTERFACE":"giao diện","SETTINGS_LANGUAGE_SUBS":"phụ đề mặc định","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"Tự động chọn luồng âm thanh","SETTINGS_DEFAULT_AUDIO_TRACK":"Luồng âm thanh mặc định","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Âm thanh vòm","SETTINGS_ACCOUNT":"tài khoản","SETTINGS_PLATFORM":"Nền tảng","SETTINGS_VERSION":"phiên bản","SETTINGS_ABOUT":"Giới thiệu","SETTINGS_MPV_WINDOW":"Khởi chạy trình phát trong cửa sổ riêng (nâng cao)","SETTINGS_PLAY_IN_EXTERNAL":"Luôn bắt đầu video trong trình phát bên ngoài","SETTINGS_STORAGE_BUTTON":"Xóa bộ nhớ cục bộ","SETTINGS_STORAGE_MODAL_TITLE":"Bạn có chắc không ?","SETTINGS_STORAGE_MODAL_MESSAGE":"Thao tác này sẽ xóa bộ nhớ cục bộ và đăng xuất bạn.","SETTINGS_HWDEC_PICKER":"Chọn thiết đặt giải mã tăng tốc phần cứng","SETTINGS_HW_AUTOMATIC":"Tự động","SETTINGS_HW_DISABLED":"Đã tắt","SETTINGS_HW_ACCELERATED":"Giải mã tăng tốc","SETTINGS_HW_FULL":"Tăng tốc tối đa","SETTINGS_HW_LEGACY":"Tương thích ngược","SETTINGS_DISABLED":"Đã tắt","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Thông báo kết nối mạng","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"URL từ xa","SETTINGS_COPY_REMOTE_URL":"Sao chép URL từ xa","SETTINGS_REMOTE_URL_COPIED":"URL từ xa đã được sao chép vào clipboard của bạn","SETTINGS_SECTION_SUBTITLES":"Phụ đề","SETTINGS_SECTION_AUDIO":"Âm thanh","SETTINGS_SECTION_CONTROLS":"Điều khiển","SETTINGS_SECTION_AUTO_PLAY":"Tự động phát","SETTINGS_SECTION_ADVANCED":"Nâng cao","SUBSPICKER_AUDIO":"Âm thanh","SUBSPICKER_SUBTITLES":"Add-on phụ đề","SUBSPICKER_BLACK_BACKGROUND":"Sử dụng nền màu đen","SUBSPICKER_VERTICAL_OFFSET":"Bù đắp theo chiều dọc","SUBSPICKER_SIZE":"Kích cỡ","SUBSPICKER_DELAY":"Độ trễ","SUBSPICKER_EMBEDDED_SUBS":"Phụ đề nhúng","MOBILE_PRIVACY_POLICY":"Chính sách bảo mật","MOBILE_CRASH_REPORTING":"Báo cáo sự cố","MOBILE_ZOOM_TO_FILL":"Thu phóng để lấp đầy màn hình","MOBILE_PASSTHROUGH":"Đầu ra âm thanh kỹ thuật số (passthrough)","MOBILE_RUN_LOW_BATTERY":"Chạy khi pin yếu","MOBILE_RUN_FOREGROUND":"Chạy dưới dạng dịch vụ thấy được","MOBILE_PERFORMANCE":"HIỆU SUẤT & ỔN ĐỊNH","MOBILE_SERVER_ONLINE":"Trực tuyến","MOBILE_SERVER_OFFLINE":"Ngoại tuyến","MOBILE_QR_EXPIRES":"Mã QR hết hạn sau ","MOBILE_LOG_INTO":"Đăng nhập vào tài khoản Stremio của bạn","MOBILE_SCAN_QR":"Quét mã QR ở trên hoặc truy cập ","MOBILE_LINK_ACCOUNT":"Liên kết tài khoản","MOBILE_SPEEDPICKER_CANCEL":"Hủy bỏ","MOBILE_SPEEDPICKER_LABEL":"Chọn tốc độ phát lại","MOBILE_EMPTY_LIBRARY":"Thư viện của bạn trống","MOBILE_NO_ADDON_ACTIVE":"Không có add-on Stremio nào hoạt động cho loại này.","MOBILE_ORGANIZER_WARNING":"Ứng dụng Stremio Organizer cung cấp chức năng hạn chế. Để có danh sách các luồng có thể phát và trải nghiệm Stremio đầy đủ, hãy sử dụng Stremio trên máy tính để bàn.","MOBILE_ADDON_LOADING":"vẫn đang tải","MOBILE_ADDONS_LOADING":"add-on vẫn đang tải","MOBILE_ADDON":"Add-on","MOBILE_CONFIGURE_ADDON":"Định cấu hình add-on của bạn","MOBILE_CONFIGURE_ADDON_LABEL":"Cấu hình add-on","MOBILE_ORGANIZER_ADDONS_WARNING":"Ứng dụng Stremio Organizer cung cấp một số lựa chọn add-on hạn chế. Để có trải nghiệm Stremio đầy đủ, hãy sử dụng Stremio trên máy tính để bàn.","MOBILE_DISCONNECT":"Ngắt kết nối","MOBILE_LOOKING_FOR_DEVICES":"Đang tìm thiết bị...","MOBILE_CAST_TO":"Truyền tới","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"Xóa tài khoản","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"Việc xóa tài khoản không xảy ra ngay lập tức do các nghĩa vụ pháp lý. Sau khi yêu cầu xóa tài khoản của mình, bạn sẽ phải sử dụng địa chỉ email/hồ sơ facebook khác để tạo tài khoản Stremio mới trong tương lai.","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"Xác nhận xóa tài khoản","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"Tài khoản của bạn đã được tạo bằng Facebook. Để xóa tài khoản của bạn, vui lòng sử dụng cổng thông tin người dùng của chúng tôi tại www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"Vui lòng cung cấp mật khẩu của bạn để xác nhận xóa tài khoản.","MOBILE_DELETE_ACCOUNT_BUTTON":"Xóa tài khoản","NAVIGATION_ON":"Mở","NAVIGATION_OFF":"Tắt","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"Tôi đồng ý nhận thông tin tiếp thị từ Stremio","QUIT":"Từ bỏ","CONNECTED":"Đã kết nối","AUTHENTICATE":"Xác thực","AUTHENTICATING":"Authenticating...","CACHING":"Bộ nhớ đệm","SETTINGS_CACHING_DRIVE":"Ổ đĩa đệm","ENABLE_LOCAL_FILES_ADDON":"Kích hoạt add-on tệp cục bộ (yêu cầu khởi động lại)","LOCAL_ADDON_NOT_ENABLED":"Add-on cục bộ chưa được bật. Nhấp vào đây để đi tới thiết đặt và bật nó","ENABLE_REMOTE_HTTPS_CONN":"Bật kết nối HTTPS từ xa","TORRENT_PROFILE":"Hồ sơ torrent","DATA_CACHING":"Bộ nhớ đệm dữ liệu","MAGNET_PARSING":"Phân tích một liên kết nam châm","January":"Tháng Một","February":"Tháng Hai","March":"Tháng Ba","April":"Tháng Tư","May":"Tháng Năm","June":"Tháng Sáu","July":"Tháng Bảy","August":"Tháng Tám","September":"Tháng Chín","October":"Tháng Mười","November":"Tháng Mười Một","December":"Tháng Mười Hai","Monday":"Thứ Hai","Tuesday":"Thứ Ba","Wednesday":"Thứ Tư","Thursday":"Thứ Năm","Friday":"Thứ Sáu","Saturday":"Thứ Bảy","Sunday":"Chủ Nhật","Action":"Hành động","Comedy":"Hài kịch","War":"Chiến tranh","Family":"Gia đình","Animation":"Hoạt hình","Adventure":"Phiêu lưu","Fantasy":"Tưởng tượng","Crime":"Tội phạm","Mystery":"Bí ẩn","Romance":"Lãng mạn","Drama":"Kịch","Horror":"Kinh dị","Thriller":"Giật gân","Sci-Fi":"Khoa học viễn tưởng","Music":"Âm nhạc","Biography":"Tiểu sử","Documentary":"Tài liệu","Sport":"Thể thao","Musical":"Âm nhạc","Western":"Viễn Tây","Film-Noir":"Phim đen","News":"Tin tức","History":"Lịch sử","Game-Show":"Trò chơi truyền hình","Reality-TV":"Truyền hình thực tế","Talk-Show":"Tọa đàm","Film & Entertainment":"Phim & Giải trí","Gaming":"Trò chơi","From TV":"Từ TV","Lifestyle":"Phong cách sống","Science & Education":"Khoa học & Giáo dục","Cooking & Health":"Nấu ăn & Sức khỏe","Beauty & Fashion":"Làm đẹp & Thời trang","Sports":"Thể thao","News & Politics":"Tin tức & Chính trị","How-to & DIY":"Hướng dẫn & Tự làm","Tech":"Công nghệ","Automotive":"Ô tô","Causes & Non-Profits":"Chính nghĩa & Phi lợi nhuận","Movies":"Phim","Uk Live Tv":"Truyền hình trực tiếp Vương quốc Anh","Fashion":"Thời trang","Business News Radio":"Radio tin tức kinh doanh","Business Tv":"Truyền hình kinh doanh","Cars & Auto":"Xe hơi & Ô tô","Comedy Radio":"Radio hài kịch","Lifestyle Radio":"Radio phong cách sống","News Tv":"Truyền hình tin tức","Food And Wine":"Thức ăn Và rượu","Latino Tv":"Truyền hình Latinh","Shopping Tv":"Truyền hình Mua sắm","Religion":"Tôn giáo","Kids":"Trẻ em","Body & Soul":"Thể xác & Linh hồn","Education":"Giáo dục","Indian Tv":"Truyền hình Ấn Độ","Extreme Sports":"Thể thao mạo hiểm","Middle Eastern Tv":"Truyền hình Trung Đông","Celebrity Tv":"Truyền hình Người nổi tiếng","Science Tv":"Truyền hình khoa học","Bikini babe":"Bikini em yêu","Outdoors":"Ngoài trời","German Tv":"Truyền hình Đức","French Tv":"Truyền hình Pháp","Italian Tv":"Truyền hình Ý","Gamer Tv":"Truyền hình game thủ","Travel":"Du lịch","Asian Tv":"Truyền hình Châu Á","Entertainment":"Giải trí","News Radio":"Radio tin tức","Music Radio":"Radio âm nhạc","Language Learning":"Học ngôn ngữ","Science Radio":"Radio khoa học","Tech Radio":"Radio công nghệ","Science & Technology Vod":"Khoa học & Công nghệ Video theo yêu cầu","new video":"video mới","new episode":"tập mới","new movie":"phim mới","recommended":"khuyến khích","we recommend":"chúng tôi đề nghị","offer of the day":"đề nghị trong ngày","news":"tin tức","music video":"video âm nhạc","CTX_SHOW_HOTKEYS":"Hiển thị phím nóng","CTX_DISMISS_NOTIF":"Bỏ qua thông báo","CTX_DISMISS_ALL":"Bỏ qua tất cả","CTX_SHARE":"Chia sẻ","CTX_COPY_SHARE_LINK":"Sao chép liên kết chia sẻ","CTX_COPY_MAGNET_LINK":"Sao chép liên kết nam châm","CTX_COPY_STREAM_LINK":"Sao chép liên kết luồng","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"Tải video này","CTX_DOWNLOAD_SUBS":"Tải xuống phụ đề","CTX_VIEW_ON_YOUTUBE":"Xem trên YouTube","CTX_SHOW":"Hiển thị","CTX_PLAY":"Phát","CTX_PLAY_IN":"Phát trong","CTX_PLAY_ON":"Phát trên","CTX_WATCH_ON":"Xem trên","CTX_WATCH":"Xem","CTX_WATCHED":"Đã xem","CTX_WATCH_BEGINNING":"Xem từ đầu","CTX_WATCH_MOBILE":"Xem trên thiết bị di động","CTX_REWIND":"Tua lại từ đầu","CTX_MARK_WATCHED":"Đánh dấu là đã xem","CTX_MARK_NON_WATCHED":"Đánh dấu là chưa xem","CTX_MARK_UNWATCHED":"Đánh dấu là chưa xem","CTX_MARK_REST":"Đánh dấu phần còn lại là đã xem","CTX_UNMARK_REST":"Đánh dấu phần còn lại là chưa xem","CTX_RECEIVE_NEW_NOTIF":"Nhận thông báo mới","CTX_ENABLE_NEW_NOTIF":"Bật thông báo","CTX_DISABLE_NEW_NOTIF":"Tắt thông báo","CTX_REMOVE_CACHE":"Loại khỏi bộ nhớ cache","CTX_REMOVE_CACHE_EP":"Loại tập phim khỏi bộ nhớ đệm","CTX_OPEN_CONTAINING":"Mở thư mục chứa","CTX_REMOVE":"Loại khỏi thư viện","CTX_AVAILABLE_OFFLINE":"Ngoại tuyến sẵn sàng","CTX_PAUSED":"Đã tạm dừng","CTX_ALWAYS_ON_TOP":"Luôn luôn trên đầu trang","CTX_FULLSCREEN":"Toàn màn hình","CTX_WRONG_SUBS":"Phụ đề sai?","CTX_REPORT_ISSUES":"Báo cáo phát hành","CTX_COPY":"Sao chép","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"Dán","CTX_CLEAR":"Xóa","CTX_CLEAR_RECENT_SEARCHES":"Xóa các tìm kiếm gần đây","HELLO_THERE":"Chào đằng ấy","HOPE_YOU_ENJOY":"Chúng tôi hy vọng bạn thích Stremio và nó đã là một trong những ứng dụng yêu thích của bạn!","WHO_ARE_WE":"Chúng tôi là ai? Chúng tôi là đội ngũ đằng sau nó - hai người làm việc chăm chỉ mỗi ngày trong 3 năm qua để làm cho sản phẩm này ngày càng tốt hơn.","SUPPORT_US":"Nếu bạn thích sử dụng Stremio, nếu Stremio có giá trị đối với bạn - hãy quảng bá!","SPREAD_THE_WORD":"Chia sẻ với bạn bè của bạn ngay bây giờ, quảng bá về Stremio","MORE_PEOPLE":"Càng nhiều người sử dụng Stremio, nó càng trở nên tốt hơn!","SEND_A_LINK":"Hoặc gửi liên kết đến trang web của chúng tôi","TIP_LOCALFILES":"Mẹo: bạn có thể kéo và thả các tệp video cục bộ vào Stremio","ADDON_MY":"Add-on của tôi","ADDON_COMMUNITY":"Add-on cộng đồng","ADDON_OFFICIAL":"Add-on chính thức","ADDON_REPOS":"Bộ sưu tập add-on","ADDON_SEARCH":"Tìm kiếm add-on","ADDON_INSTALL":"Cài đặt","ADDON_CONFIGURE":"Cấu hình","ADDON_UNINSTALL":"Gỡ cài đặt","ADDON_UPGRADE":"Nâng cấp","ADDON_INSTALLED":"Đã cài đặt","ADDON_INSTALLED_MSG":"Add-on đã cài đặt!","ADDON_UPGRADED_MSG":"Add-on đã nâng cấp!","ADDON_UNKNOWN":"Không xác định","ADDON_ERR":"Lỗi cài đặt add-on!","ADDON_DISCONNECTED":"Đã ngắt kết nối","ADDON_APP_MISSING":"ứng dụng cho nguồn này chưa được cài đặt. Bạn có muốn cài đặt nó ngay bây giờ không?","ADDON_APP_INSTALL":"Cài đặt ngay","ADDON_PAGE":"Trang add-on","ADDON_TOP_CONTENT":"Tốt nhất từ Add-on này","ADDON_PROVIDES":"Add-on này sẽ cung cấp cho bạn:","ADDON_WATCH":"Xem #{types} ngay bây giờ!","ADDON_WATCH_FREE":"Xem #{types} MIỄN PHÍ ngay bây giờ!","ADDON_ADDON":"Add-on","ADDON_SUPPORTED_TYPES":"Các loại được hỗ trợ","ADDON_SUPPORTED_CATALOGS":"Danh mục được hỗ trợ","ADDON_PROVIDES_DISCOVER":"Nhiều #{types} hơn trong Khám phá","ADDON_PROVIDES_STREAMS":"Xem #{types}","ADDON_PROVIDES_STREAMS_FREE":"Xem #{types} MIỄN PHÍ","ADDON_PROVIDES_SUBTITLES":"Phụ đề cho #{types}","ADDON_CANTDETECT":"Chúng tôi không thể phát hiện Stremio đang chạy, vì vậy chúng tôi không thể phát hiện những add-on mà bạn đã cài đặt.","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"Không tìm thấy thông tin nào về điều này","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"Lỗi khi truy xuất thông tin về điều này.","ERR_CANT_PARSE_MAGNET":"Không thể phân tích cú pháp nam châm","ERR_NO_MAGNET_INFOHASH":"Không có hàm băm thông tin hợp lệ cho nam châm","ERR_NO_FILE_PATH":"Không thể gửi yêu cầu mà không có đường dẫn đến tệp","ERR_NO_TORRENT":"Không có torrent nào trả về","ERR_NO_SUPPORTERD_FILES":"Không tìm thấy tệp được hỗ trợ","ERR_OPENING_FILES":"Không thể mở tệp bên ngoài","ERR_INVALID_LINK":"Liên kết không hợp lệ","ERR_REGISTERED_ONLY":"Tùy chọn này chỉ khả dụng cho người dùng đã đăng ký.","ERR_CLIPBOARD":"Không thể phát từ clipboard","ERR_CLIPBOARD_READ":"Không thể đọc clipboard trên nền tảng này","ERR_CLIPBOARD_GENERIC":"Không tìm thấy URL có thể phát trong clipboard. Vui lòng sao chép URL (ví dụ: liên kết nam châm) vào video.","BOARD_CONTINUE_WATCHING":"Tiếp tục xem","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"Những bộ phim được chọn đặc biệt dành cho bạn.<br/>Phim này là một đề xuất mẫu.","BOARD_EXPLANATION_EPISODES":"Các tập mới của Loạt phim yêu thích của bạn đến đây.<br/>Thêm loạt phim bạn theo dõi vào Thư viện.","BOARD_EXPLANATION_VIDEOS":"Các tập mới của các Kênh yêu thích của bạn đến đây.<br/>Thêm các kênh YouTube mà bạn theo dõi vào Thư viện.","WEBSITE_ENJOYED_BY":"Được hơn 30 triệu người dùng trên toàn thế giới yêu thích","WEBSITE_STREAMING_ENHANCED":"Phát trực tuyến nâng cao","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio mang đến trải nghiệm giải trí an toàn, hiện đại và liền mạch. Với giao diện dễ sử dụng và thư viện nội dung đa dạng, bao gồm hỗ trợ 4K HDR, người dùng có thể thưởng thức các bộ phim và chương trình TV yêu thích trên tất cả các thiết bị của mình. Và với cam kết về bảo mật của nó, Stremio là sự lựa chọn tối ưu để có trải nghiệm phát trực tuyến chất lượng cao, an tâm.","WEBSITE_AVAILABLE_ON":"Có sẵn trên","WEBSITE_WATCH_AND_ENJOY":"Xem & thưởng thức.","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio biến nó thành một miếng bánh","WEBSITE_ALL_FEATURES":"Tất cả tính năng","WEBSITE_EASY_TO_USE":"Dễ sử dụng","WEBSITE_EASY_TO_USE_DETAILS":"Stremio được thiết kế thân thiện với người dùng và dễ sử dụng. Với giao diện gọn gàng và trực quan, bạn có thể dễ dàng điều hướng và tìm thấy nội dung mình muốn xem.","WEBSITE_SEAMLESS_ACROSS_DEVICES":"Liền mạch xuyên suốt các thiết bị","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Có sẵn cho nhiều nền tảng (bao gồm Windows, Mac, Linux, Android và hơn thế nữa), Stremio sẽ theo dõi tiến trình của bạn trên tất cả các thiết bị. Chỉ cần đăng nhập và tiếp tục xem mà không cần phải định cấu hình lại ứng dụng trên mỗi thiết bị mới.","WEBSITE_ALL_DOWNLOADS":"Tất cả nội dung tải xuống","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"Hỗ trợ video độ nét cao","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"Trình phát video tích hợp hỗ trợ hầu hết các định dạng video, bao gồm cả nội dung 4K HDR, cho phép bạn tận hưởng chất lượng cao nhất hiện có.","WEBSITE_DIVERSE_CONTENT_LIBRARY":"Thư viện nội dung phong phú","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio tích hợp với nhiều nguồn video phổ biến, chẳng hạn như Netflix, Amazon Prime Video, Hulu, YouTube và nhiều nguồn khác.","WEBSITE_CREATE_A_FREE_ACCOUNT":"Tạo một tài khoản miễn phí","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"Trải nghiệm xem phù hợp","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio cho phép bạn tùy chỉnh giao diện bằng cách thay đổi chủ đề, thêm hoặc xóa add-on, v.v.","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"Hỗ trợ phụ đề đa ngôn ngữ","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"Giờ đây, bạn có thể thưởng thức tất cả nội dung yêu thích bằng ngôn ngữ ưa thích của mình vì Stremio hỗ trợ phụ đề ở tất cả các ngôn ngữ.","WEBSITE_ALL_STREMIO_FEATURES":"Tất cả tính năng của Stremio","WEBSITE_TRY_STREMIO_TITLE_P1":"Thử Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"Trên TV của bạn bây giờ","WEBSITE_YOU_CAN_NOW_WATCH":"Giờ đây, bạn có thể xem tất cả các chương trình truyền hình yêu thích trên thiết bị Android TV của mình. Ứng dụng Stremio TV cho phép bạn tận hưởng một đêm xem phim một cách dễ dàng.","WEBSITE_YOU_CAN_NOW_WATCH_2":"Giờ đây, bạn có thể xem tất cả các chương trình truyền hình yêu thích trên TV thông minh hoặc Android TV. Ứng dụng Stremio TV cho phép bạn tận hưởng một đêm xem phim một cách dễ dàng.","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio cho TV thông minh","WEBSITE_PLAY_STORE_REVIEW":"Có lẽ là ứng dụng tốt nhất và hữu ích nhất cần có trong thiết bị của bạn. Đây là một trong những ứng dụng tôi sử dụng hàng ngày, đặc biệt là trên Android TV của tôi trong nhiều năm nay. Được phát triển tốt với một cộng đồng mạnh mẽ cung cấp các chức năng hữu ích. Làm tốt lắm. Hãy tiếp tục phát huy công việc tốt.","WEBSITE_REVIEWS":"đánh giá","WEBSITE_GET_STREMIO_FOR_FREE":"Nhận Stremio miễn phí","WEBSITE_GET_STREMIO_NOW":"Tải Stremio ngay","WEBSITE_STREMIO_FEATURES":"Tính năng Stremio","WEBSITE_STREMIO_FEATURES_DETAILS":"Truyền phát như một chuyên gia với các tính năng nâng cao của Stremio và tận hưởng khả năng truy cập liền mạch vào tất cả phương tiện yêu thích của bạn","WEBSITE_DISCOVER_MORE":"Khám phá nhiều hơn.","WEBSITE_DISCOVER_MORE_DETAILS":"Không bao giờ hết nội dung để xem","WEBSITE_COMMUNITY_DRIVEN":"Dựa vào cộng đồng","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio có một cộng đồng người dùng rộng lớn và tích cực, những người đóng góp vào sự phát triển của phần mềm bằng cách tạo và chia sẻ các add-on.","WEBSITE_GET_INVOLVED":"Tham gia vào","WEBSITE_NEW_THEATER_EXPERIENCE":"Trải nghiệm sân khấu mới","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Ứng dụng TV chuyên dụng mới của Stremio cho phép bạn tận hưởng một đêm xem phim trên thiết bị Android TV của mình.","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Các ứng dụng TV chuyên dụng mới của Stremio cho phép bạn tận hưởng một đêm xem phim trên các thiết bị Smart TV hoặc Android TV.","WEBSITE_FREE_AND_SECURE":"Tự do & Bảo mật","WEBSITE_STREAMING":"Truyền phát","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio mang đến sự bảo mật và quyền riêng tư chưa từng có cho người dùng. Với tính năng độc đáo là chạy các add-on từ xa, Stremio cung cấp một cách an toàn hơn để truyền phát nội dung yêu thích của bạn so với các nền tảng khác. Bảo mật và quyền riêng tư của bạn là ưu tiên hàng đầu và nền tảng này đảm bảo rằng tất cả dữ liệu của bạn được bảo vệ.","WEBSITE_FREE_AND_SECURE_DETAILS_2":"Hãy tạm biệt những lo lắng về bảo mật và quyền riêng tư và chào đón thế giới giải trí bất tận với Stremio.","WEBSITE_INFORMATION_PROVIDED_BY":"Thông tin được cung cấp bởi","WEBSITE_CONTRIBUTE_DESC":"tới dự án và giúp chúng tôi cải tiến Stremio tốt hơn nữa","WEBSITE_COMMUNITY_DESC":"Chúng tôi tin rằng cách tốt nhất để tạo ra trải nghiệm phát trực tuyến thực sự tuyệt vời là thu hút cộng đồng của chúng tôi tham gia vào quá trình này. Cho dù bạn là lập trình viên, nghệ sĩ hay chỉ là người hâm mộ - bạn đều có thể giúp Stremio phát triển.","WEBSITE_COMMUNITY_DESC_2":"Vì vậy, hãy tham gia với chúng tôi ngay hôm nay và trở thành một phần của cộng đồng Stremio cũng như tiếp tục định hình tương lai của dịch vụ phát trực tuyến.","WEBSITE_WAYS_TO_GET_INVOLVED":"Các cách để tham gia","WEBSITE_IN_THE_STREMIO_COMMUNITY":"trong cộng đồng Stremio","WEBSITE_SHARE_YOUR_THOUGHTS":"Chia sẻ những suy nghĩ của bạn","WEBSITE_REPORT_BUGS":"Báo cáo lỗi","WEBSITE_SUGGEST_FEATURES":"đề xuất tính năng","WEBSITE_AND_PROVIDE_FEEDBACK":"và cung cấp phản hồi trên các kênh truyền thông xã hội của chúng tôi.","WEBSITE_BETA_TESTING_PROGRAM":"Chương trình thử nghiệm beta","WEBSITE_BETA_TESTING_PROGRAM_DESC":"Tham gia chương trình thử nghiệm beta của chúng tôi (chúng tôi gửi lời mời thường xuyên) trong cộng đồng Stremio.","WEBSITE_JOIN_NOW":"Tham gia ngay!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Cộng đồng Stremio chính thức","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Cộng đồng Stremio không chính thức","WEBSITE_BECOME":"Trở nên","WEBSITE_A_VOLUNTEER_TRANSLATOR":"một dịch giả tình nguyện","WEBSITE_ARE_YOU_A_DEVELOPER":"Bạn có phải là nhà phát triển?","WEBSITE_CONTRIBUTE_CODE":"Bạn có thể đóng góp mã cho các dự án nguồn mở của chúng tôi. Chúng tôi có một số dự án trên GitHub đang tìm kiếm cộng tác viên. Nếu bạn muốn trợ giúp, hãy xem qua chúng:","WEBSITE_STREMIO_ON_GITHUB":"Stremio trên GitHub","WEBSITE_CREATE_ADDON_DESC":"Tạo một add-on để nâng cao chức năng của Stremio (chúng tôi có API dễ sử dụng):","WEBSITE_STREMIO_ADDON_SDK":"Stremio Addon SDK","WEBSITE_INTERN_DEVELOPER":"Chúng tôi cũng mang đến cơ hội tham gia cùng chúng tôi với tư cách là nhà phát triển thực tập để chúng ta có thể cùng nhau phát triển.","WEBSITE_APPLY_AS_AN_INTERN":"Đăng ký làm thực tập sinh","WEBSITE_CALLING_ALL_ARTISTS":"Kêu gọi tất cả các nghệ sĩ!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"Thể hiện sự sáng tạo và tình yêu của bạn dành cho Stremio bằng cách tải tác phẩm nghệ thuật của người hâm mộ (fanart) lên thư viện trực tuyến của chúng tôi. Cho dù đó là một bức vẽ, tranh vẽ hay thiết kế kỹ thuật số, chúng tôi muốn thấy sự độc đáo của bạn đối với thương hiệu Stremio. Hãy tham gia cộng đồng những người đam mê nghệ thuật của chúng tôi và chia sẻ công việc của bạn với những người hâm mộ Stremio trên khắp thế giới.","WEBSITE_STREMIO_FANART_GALLERY":"Phòng trưng bày tác phẩm nghệ thuật của người hâm mộ (fanart) Stremio","WEBSITE_INTERN_DESIGNER":"Trở thành thành viên của nhóm chúng tôi và đưa khả năng sáng tạo của bạn lên tầm cao mới với các cơ hội thực tập thú vị của chúng tôi.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"Dự án phim thuộc phạm vi công cộng","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"Tại Stremio, chúng tôi cam kết bảo tồn lịch sử điện ảnh và truyền hình bằng cách xác định phạm vi công cộng và các video mồ côi. Bằng cách hợp tác với cộng đồng của mình, chúng tôi có thể đảm bảo rằng mọi người đều có thể tiếp cận những tác phẩm nghệ thuật cổ điển này và bảo vệ nó cho các thế hệ tương lai thưởng thức.","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"Hãy liên hệ với chúng tôi nếu bạn muốn tham gia vào dự án đó.","WEBSITE_JOIN_THE_PROJECT":"Tham gia dự án","WEBSITE_BE_PART_OF_OUR_MISSION":"Hãy là một phần sứ mệnh của chúng tôi","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"Bạn muốn tham gia nhóm Stremio? Chúng tôi cung cấp công việc hoàn toàn từ xa cho những chuyên gia đầy nhiệt huyết. Hãy xem các vị trí đang tuyển dụng của chúng tôi.","WEBSITE_OPEN_POSITIONS":"VỊ TRÍ MỞ","WEBSITE_DESCRIPTION":"MÔ TẢ","WEBSITE_LEARN_MORE":"Tìm hiểu thêm","WEBSITE_COMPANY":"Công ty","WEBSITE_CONTACTS":"Liên lạc","WEBSITE_NEED_HELP":"Cần giúp đỡ?","WEBSITE_STREMIO_WEB_ON_IOS":"Hướng dẫn về Stremio Web trên iOS","WEBSITE_LINK_ART_V2":"Phòng trưng bày Fanart","WEBSITE_PARTNERS":"Đối tác","WEBSITE_SLOGAN_WATCH":"Xem ngay lập tức","WEBSITE_SLOGAN_ALL":"Tất cả Nội dung Video Bạn Thưởng thức ở Một Nơi","WEBSITE_SLOGAN_NEW":"Tất cả những gì bạn có thể xem","WEBSITE_SLOGAN_NEW_NEW":"Tự do truyền trực tuyến","WEBSITE_WATCH_FROM":"Xem từ","WEBSITE_DOWNLOAD":"Tải ngay","WEBSITE_DOWNLOAD_FOR":"Tải xuống ngay cho","WEBSITE_IS_DESKTOP":"Stremio là một ứng dụng dành cho máy tính để bàn, hãy mở trang này trên PC của bạn và tải xuống","WEBSITE_DESKTOP_DEMO_VID":"Bản trình diễn máy tính để bàn","WEBSITE_PAGE_HOME":"Trang chủ","WEBSITE_PAGE_FEATURES":"Đặc trưng","WEBSITE_PAGE_ADDONS":"Các add-on","WEBSITE_PAGE_TECH":"Công nghệ","WEBSITE_PAGE_CREATE_ADDON":"Tạo add-on","WEBSITE_PAGE_CONTACTS":"Liên lạc","WEBSITE_PAGE_BLOG":"Blog","WEBSITE_RESET_PASSWORD_MESSAGE":"Vui lòng nhập mật khẩu mới mà bạn mong muốn bên dưới.","WEBSITE_RESET_PASSWORD_WARNING":"Bạn có chắc chắn muốn đặt lại mật khẩu cho ${1} không?","WEBSITE_TYPE_movie":"Phim","WEBSITE_TYPE_series_PL":"Loạt phim","WEBSITE_TYPE_tv":"Truyền hình trực tiếp","WEBSITE_TYPE_channel":"Kênh","WEBSITE_STREMIO_WHAT_IS":"Stremio là một ứng dụng giúp bạn sắp xếp và xem ngay các video, phim, phim TV và kênh TV yêu thích của mình.","WEBSITE_FEATURES_WATCH":"Xem tức thì ở chế độ HD","WEBSITE_FEATURES_WATCH_DETAIL":"Nhấp và phát các bộ phim, Chương trình TV, video và kênh TV yêu thích của bạn.","WEBSITE_FEATURES_SUBS":"Phụ đề tự động","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio tự động chọn phụ đề được đồng bộ hóa cho ngôn ngữ của bạn.","WEBSITE_FEATURES_SUBS_LABEL":"Động thái của bạn, trưởng.","WEBSITE_FEATURES_CAST":"Phát trên TV & thiết bị di động","WEBSITE_FEATURES_CAST_DETAIL":"Truyền tới AppleTV, Chromecast, TV thông minh (DLNA/UPnP) và thiết bị di động.","WEBSITE_LIB":"Tận hưởng thư viện cá nhân của bạn được đồng bộ hóa trên tất cả các thiết bị của bạn","WEBSITE_LIB_COLLECT":"Thu thập từ Stremio","WEBSITE_LIB_IMPORT":"Nhập từ facebook","WEBSITE_LIB_LOCAL":"Thêm từ ổ đĩa cục bộ của bạn","WEBSITE_BOARD":"Bảng - Điểm dừng chân của bạn dành cho Thông báo và Đề xuất","WEBSITE_BOARD_RECOMMEND":"Chương trình TV được đề xuất","WEBSITE_BOARD_TRENDING":"Phim thịnh hành","WEBSITE_BOARD_NEW":"Video mới","WEBSITE_BOARD_EPISODE":"Tập mới","WEBSITE_BOARD_1":"Bạn đang tìm nội dung thú vị để xem? Nhận đề xuất dựa trên sở thích của bạn!","WEBSITE_BOARD_2":"Nhận thông báo khi có tập mới của chương trình TV hoặc kênh YouTube yêu thích của bạn!","WEBSITE_BOARD_YOUTUBE":"Video mới của các kênh YouTube","WEBSITE_BOARD_EPISODES":"Các tập mới của loạt phim bạn theo dõi","WEBSITE_ADDONS":"Add-on nội dung","WEBSITE_TECH_DETAIL":"Chúng tôi yêu công nghệ, chúng tôi yêu khoa học điên rồ!\\nStremio đang sử dụng các công nghệ nguồn mở sau:","WEBSITE_TECH_WCJS":"WebChimera.js cho phép Stremio phát mọi định dạng video với hiệu suất tốt.","WEBSITE_TECH_WCJS_EXTRA":"Chúng tôi là những người đóng góp cốt lõi cho dự án","WEBSITE_TECH_ELECTRON":"Electron cung cấp một nền tảng sáng tạo để xây dựng Stremio.","WEBSITE_TECH_ELECTRON_EXTRA":"Chúng tôi là những người đóng góp cho dự án","WEBSITE_TECH_LINVODB":"Công nghệ cơ sở dữ liệu đảm bảo dữ liệu của bạn được sắp xếp và có sẵn ở mọi nơi bạn đăng nhập.","WEBSITE_TECH_LINVODB_EXTRA":"Công nghệ nội bộ","WEBSITE_CREATE_ADDON":"Tạo add-on của bạn","WEBSITE_CREATE_ADDON_DETAIL":"Bạn có dịch vụ cung cấp nội dung video không? Chúng tôi sẽ giúp bạn hưởng lợi từ các tính năng của Stremio bằng cách tạo Add-on của bạn.","WEBSITE_CREATE_ADDON_BENEFITS":"Lợi ích của việc tạo Add-on cho Stremio","WEBSITE_P2P_BEAUTY":"Vẻ đẹp của truyền trực tuyến ngang hàng","WEBSITE_P2P_1":"Video HD đầy đủ / 4K đáng tin cậy và giá cả phải chăng theo yêu cầu hoặc phát trực tiếp","WEBSITE_P2P_2":"Nền tảng phân phối cung cấp trải nghiệm người dùng tuyệt vời","WEBSITE_P2P_3":"Chúng tôi sẽ tạo một add-on đáp ứng nhu cầu chính xác của bạn","WEBSITE_P2P_CONTACT":"Bạn quan tâm? Bạn có thể <a href=\'mailto:office@stremio.com\'>liên hệ với chúng tôi</a>.","WEBSITE_P2P_CONTACT_EXTRA":"Chúng tôi rất sẵn lòng giúp bạn tích hợp nội dung của mình với Stremio!","WEBSITE_P2P":"Thỉnh thoảng, có một công nghệ làm thay đổi tên của trò chơi. Chúng tôi đã đầu tư rất nhiều thời gian và công sức vào việc xây dựng công cụ truyền phát video ngang hàng (P2P) mang lại hiệu suất tuyệt vời và tính linh hoạt để thích ứng với mọi mục đích sử dụng.\\nHãy liên hệ với chúng tôi để có video P2P hỗ trợ DRM theo yêu cầu hoặc phát trực tiếp.","WEBSITE_THOUGHTS":"Những suy nghĩ chúng ta chia sẻ:","WEBSITE_SPREAD":"Quảng bá về Stremio:","WEBSITE_CONTACT":"Liên hệ với chúng tôi, chúng tôi rất vui khi nhận được phản hồi từ bạn!","WEBSITE_OPENSOURCE":"Dành cho các dự án nguồn mở của chúng tôi, đến với chúng tôi","WEBSITE_BITCOIN":"Quyên góp bitcoin:","WEBSITE_FAQ":"Các câu hỏi thường gặp","WEBSITE_FAQ_SHORT":"Hỏi đáp thường gặp","WEBSITE_QUESTIONS":"Câu hỏi","WEBSITE_TOS":"Điều khoản sử dụng","WEBSITE_LEGAL":"Hợp pháp","WEBSITE_PAGE_ABOUT":"Giới thiệu","WEBSITE_PAGE_BECOME_PARTNER":"Trở thành đối tác","WEBSITE_ALL_YOU_CAN_WATCH":"Tự do xem\\nMọi thứ bạn muốn.","WEBSITE_FREEDOM_TO_STREAM":"Tự do truyền trực tuyến","WEBSITE_WHAT_IS_STREMIO":"Stremio là gì?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio là trung tâm một cửa để tổng hợp nội dung video. Khám phá, sắp xếp và xem video từ tất cả các loại nguồn trên bất kỳ thiết bị nào mà bạn sở hữu.","WEBSITE_WHAT_IS_STREMIO_P2":"Phim, chương trình TV, loạt phim, TV trực tiếp hoặc các kênh web như YouTube và Twitch.tv - bạn có thể tìm thấy tất cả những thứ này trên Stremio.","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio là một trung tâm truyền thông hiện đại, là giải pháp một cửa cho hoạt động giải trí video của bạn. Bạn khám phá, xem và sắp xếp nội dung video từ các add-on dễ cài đặt.","WEBSITE_WHAT_IS_STREMIO_P2_V2":"Phim, chương trình TV, TV trực tiếp hoặc kênh web - tìm thấy tất cả nội dung này trên Stremio.","WEBSITE_ENJOI_ON_ALL_DEVICES":"Thưởng thức trên tất cả các thiết bị Phương tiện truyền thông của bạn","WEBSITE_DEVICES_COLLECT":"Thu thập từ Stremio","WEBSITE_DEVICES_IMPORT_FB":"Nhập từ facebook","WEBSITE_DEVICES_LOCAL":"Thêm từ ổ đĩa cục bộ","WEBSITE_JOIN_THE_PARTY_NOW":"Nhập tiệc ngay thôi","WEBSITE_DEVICES_ALL":"Dễ sử dụng trên mọi thiết bị của bạn;","WEBSITE_EXTENDABLE_CATALOG":"Danh mục video có thể mở rộng vô hạn;","WEBSITE_ORGANIZE_YOUR_MEDIA":"Các tính năng tuyệt vời để sắp xếp phương tiện của bạn;","WEBSITE_AS_SEEN_ON":"Như được thấy trên","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"Về chúng tôi","WEBSITE_LINK_TECHNOLOGY":"Công nghệ","WEBSITE_LINK_APPS":"Ứng dụng","WEBSITE_LINK_DOWNLOADS":"Tải xuống","WEBSITE_MORE":"Hơn nữa","WEBSITE_LINK_ADDONS":"Add-on","WEBSITE_LINK_ADDON_SDK":"Add-on SDK","WEBSITE_LINK_CONTRIBUTE":"Đóng góp","WEBSITE_LINK_COMMUNITY":"Cộng đồng","WEBSITE_LINK_BLOG":"Blog","WEBSITE_MORE_MORE":"... & Hơn nữa","WEBSITE_LINK_HELP":"Trung tâm trợ giúp","WEBSITE_LINK_CONTACTS":"Yêu cầu kinh doanh","WEBSITE_LINK_TOS":"Điều khoản và điều kiện","WEBSITE_LINK_PRAVACY":"Chính sách bảo mật","WEBSITE_SUBSCRIBE":"Đăng ký","WEBSITE_NEWSLETTER":"Tham gia Bản tin của chúng tôi để có những thứ tuyệt vời","WEBSITE_PLACEHOLDER_EMAIL":"Email của bạn","WEBSITE_COMMUNITY":"Cộng đồng","WEBSITE_LINK_PRAVACY_LEGAL":"Quyền riêng tư & pháp lý","WEBSITE_WHY":"Tại sao chúng tôi làm điều đó","WEBSITE_WHY_P1":"Tại Stremio, chúng tôi đến làm việc mỗi ngày vì chúng tôi muốn giải quyết một vấn đề quan trọng đối với ngành công nghiệp video theo yêu cầu. Có rất nhiều nội dung mới được xuất bản mỗi phút khiến bạn hầu như không thể tìm được đường đi.","WEBSITE_WHY_P2":"Chúng tôi giúp mọi người điều hướng trong thế giới giải trí video rộng lớn đó và khám phá nội dung mới để thưởng thức. Các ứng dụng của chúng tôi tập hợp các bộ phim, loạt phim, truyền hình trực tiếp, kênh web, v.v. Chúng tôi nỗ lực hết mình để giúp người dùng tìm thấy tiêu đề và đài truyền hình một cách cực kỳ dễ dàng mà họ yêu thích.","WEBSITE_WHY_P3":"Bạn có thể sử dụng dịch vụ của chúng tôi trên bất kỳ thiết bị nào và bất kỳ lúc nào, khiến Stremio trở thành trung tâm giải trí video duy nhất mà bạn cần.","WEBSITE_TEAM":"ĐỘI","WEBSITE_TEAM_P":"Nhóm Stremio nhỏ nhưng mạnh mẽ: giữa mười người chúng tôi, chúng tôi viết mã bằng ngôn ngữ X và chia sẻ kiến thức chuyên môn về phát triển phần mềm, thiết kế UI và UX, tiếp thị và quảng cáo cũng như kinh doanh và khởi nghiệp.","WEBSITE_FEATURES":"Đặc trưng","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"Khám phá nội dung mới một cách dễ dàng","WEBSITE_FEATURES_DISCOVER_P":"Dễ dàng khám phá các bộ phim, chương trình TV, loạt phim và kênh mới để xem. Duyệt theo danh mục, thể loại, xếp hạng, lần gần đây, v.v. hoặc chỉ cần nhập tên để tìm. Stremio biến việc tìm kiếm nội dung video mới trở nên dễ dàng.","WEBSITE_FEATURES_ALL_CONTENT":"Tất cả nội dung video của bạn trên một màn hình","WEBSITE_FEATURES_ALL_CONTENT_P1":"Xem những bộ phim, loạt phim hoặc video bạn chưa xem hết và tiếp tục xem chúng; nhận thông báo về các tập và bản phát hành mới; đồng thời duyệt qua các đề xuất mà bạn sẽ nhận được dựa trên thói quen xem của mình.","WEBSITE_FEATURES_LIBRARY":"Sắp xếp thư viện video của bạn","WEBSITE_FEATURES_LIBRARY_P1":"Thêm bất kỳ tiêu đề nào vào thư viện Stremio của bạn chỉ bằng một cú nhấp chuột và tìm theo cách của bạn xung quanh nội dung của bạn, được sắp xếp gọn gàng theo loại, lần xuất hiện gần đây hoặc thứ tự bảng chữ cái.","WEBSITE_FEATURES_CALENDAR":"Theo dõi mọi thứ bạn xem","WEBSITE_FEATURES_CALENDAR_P1":"Nhận hình ảnh lịch của tất cả phim và loạt phim bạn thêm vào thư viện của mình. Xuất lịch Stremio của bạn và đồng bộ hóa lịch để bạn luôn biết khi nào có tập mới hoặc buổi chiếu sớm.","WEBSITE_FEATURES_BIG_SCREEN":"Thưởng thức nội dung video của bạn trên màn hình lớn hơn","WEBSITE_FEATURES_BIG_SCREEN_P1":"Truyền nội dung bạn đang xem sang thiết bị khác - có thể là điện thoại, máy tính bảng hoặc TV chỉ bằng một cú nhấp chuột.","WEBSITE_FEATURES_SOURCES":"Xem video từ nhiều nguồn khác nhau","WEBSITE_FEATURES_SOURCES_P":"Cài đặt các add-on chính thức và cộng đồng để thưởng thức video có nguồn gốc từ nhiều nhà cung cấp khác nhau - tất cả trong một ứng dụng đẹp mắt, dễ sử dụng.","WEBSITE_CREATE_AN_ADDON":"Tạo một add-on","WEBSITE_FEATURES_SYNC":"Đồng bộ hóa thư viện của bạn trên các thiết bị khác nhau và tiếp tục phát lại","WEBSITE_FEATURES_SYNC_P1":"Đăng nhập bằng tài khoản của bạn trên tất cả các thiết bị và tận hưởng thư viện, add-on, phát lại và lịch được đồng bộ hóa.","WEBSITE_FEATURES_EXTENDABLE":"Danh mục video có thể mở rộng bằng add-on","WEBSITE_FEATURES_EXTENDABLE_P1":"Danh mục add-on Stremio cung cấp một số add-on để cài đặt và xem nhiều loại nội dung video từ đó. Nội dung này bao gồm phim, chương trình, truyền hình trực tiếp, thể thao, tin tức, podcast, kênh web, trò chơi điện tử, v.v.","WEBSITE_FEATURES_AUTO_SUBS":"Phụ đề tự động","WEBSITE_FEATURES_AUTO_SUBS_P1":"Với add-on phụ đề của chúng tôi, bạn sẽ có các tùy chọn được chọn tự động cho ngôn ngữ ưa thích của mình.","WEBSITE_FEATURES_CHROMECAST":"Truyền tới Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"Thưởng thức nội dung video của bạn trên màn hình lớn hơn hoặc chỉ truyền nội dung bạn đang xem sang thiết bị khác.","WEBSITE_FEATURES_KEEP_TRACK":"Theo dõi các chương trình TV và kênh Web yêu thích của bạn","WEBSITE_FEATURES_KEEP_TRACK_P1":"Nhận hình ảnh lịch và thông báo về các tập mới của loạt phim và kênh web yêu thích của bạn.","WEBSITE_FEATURES_POWER_USER":"Tính năng người dùng cao cấp","WEBSITE_FEATURES_POWER_USER_P1":"Phát trong trình phát bên ngoài","WEBSITE_FEATURES_POWER_USER_P2":"Phát từ tệp torrent hoặc liên kết nam châm","WEBSITE_FEATURES_POWER_USER_P3":"Nhập vào thư viện của bạn từ lượt thích trên Facebook hoặc đĩa cục bộ","WEBSITE_ADD_ONS":"Add-on","WEBSITE_ADD_ONS_P1":"Tất cả nội dung video mà Stremio cung cấp đều có nguồn thông qua hệ thống add-on - không có nội dung hoặc nhà cung cấp nội dung nào được tích hợp vào ứng dụng.","WEBSITE_ADD_ONS_P2":"Có hai nhóm add-on: add-on chính thức và add-on cộng đồng.","WEBSITE_ADD_ONS_P3":"Các add-on chính thức được phát triển và lưu trữ bởi Stremio, trong khi các add-on cộng đồng được tạo bởi các thành viên cộng đồng của chúng tôi, những người cũng lưu trữ chúng.","WEBSITE_ADDONS_OFFICIAL":"Add-on chính thức","WEBSITE_ADDONS_WATCHUB":"Truyền trực tuyến các bộ phim, loạt phim và chương trình yêu thích của bạn từ các nhà cung cấp như iTunes, Hulu, Amazon và các dịch vụ khác của Vương quốc Anh/Hoa Kỳ.","WEBSITE_ADDONS_YOUTUBE":"Xem các kênh YouTube yêu thích của bạn không có quảng cáo và nhận thông báo về video mới tải lên từ những người đóng góp mà bạn theo dõi.","WEBSITE_ADDONS_FILMON":"Xem truyền hình trực tiếp, phim và truyền hình xã hội miễn phí. 600 kênh truyền hình, 45.000 phim, phim tài liệu miễn phí và hơn thế nữa.","WEBSITE_ADDONS_OPENSUBTITLES":"Phụ đề phim và chương trình TV bằng nhiều ngôn ngữ, hàng nghìn phụ đề đã dịch được tải lên mỗi ngày.","WEBSITE_ADDONS_COMMUNITY":"Add-on cộng đồng","WEBSITE_ADDONS_FILMON_VOD":"Xem video theo yêu cầu từ Filmon.tv","WEBSITE_ADDONS_TWICH":"Xem các luồng trực tiếp từ Twitch.tv - một nền tảng truyền trực tuyến video cho ngành thể thao điện tử.","WEBSITE_ADDONS_VODO":"Xem phim độc lập hoàn toàn miễn phí.","WEBSITE_ADDONS_NETFLIX":"Xem phim và loạt phim web của Netflix.","WEBSITE_ADDONS_CREATE":"Tạo một add-on","WEBSITE_ADDONS_CREATE_P1":"Nếu muốn, bạn có thể phát triển add-on của riêng mình. Bằng cách này, bạn có thể cấp cho mình và cộng đồng của chúng tôi quyền truy cập vào nội dung video mới, đồng thời tiếp cận đối tượng mới, được nhắm mục tiêu gồm hàng triệu người dùng trên khắp thế giới.","WEBSITE_ADDONS_START_CREATE":"Để bắt đầu, hãy truy cập trang Stremio Add-on SDK:","WEBSITE_DOWNLOADS":"Tải xuống","WEBSITE_DOWNLOADS_P1":"Để có hiệu suất tối ưu, chúng tôi khuyên bạn nên sử dụng phiên bản mới nhất hiện có của ứng dụng Stremio. Tuy nhiên, nếu vì lý do nào đó, bạn muốn sử dụng phiên bản cũ hơn, bạn có thể tải xuống phiên bản này tại đây.","WEBSITE_DOWNLOADS_P1_SHORT":"Để có hiệu suất tối ưu, chúng tôi khuyên bạn nên sử dụng phiên bản mới nhất hiện có của ứng dụng Stremio.","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio cho Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio cho macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio cho Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio cho Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio cho Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio dành cho thiết bị di động Android","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio cho Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio cho iOS (phiên bản giới hạn)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio cho Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio cho LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio cho Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio cho Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio cho Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio cho trình duyệt","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Tìm kiếm Stremio trong App Store của các mẫu TV Samsung 2019+","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Tìm kiếm Stremio trong App Store của các mẫu TV LG 2020+","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Tìm kiếm Stremio trong App Store trên thiết bị Xbox của bạn","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"Tải xuống dịch vụ Stremio","WEBSITE_DOWNLOAD_SERVICE_P1":"Dịch vụ Stremio là một ứng dụng đồng hành cho Stremio Web. Chúng tôi khuyên bạn nên sử dụng phiên bản mới nhất hiện có của Dịch vụ Stremio.","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Dịch vụ Stremio cho Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Dịch vụ Stremio cho macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Dịch vụ Stremio cho Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Dịch vụ Stremio cho Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"Nhiều tùy chọn tải xuống hơn","WEBSITE_DOWNLOAD_NEW":"Mới!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"Chúng tôi đã phát hành Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"Chúng tôi đã phát hành Stremio cho TV Samsung","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"Chúng tôi đã phát hành Stremio cho TV LG","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"Chúng tôi đã phát hành Stremio cho Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"Chúng tôi đã phát hành Stremio cho Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"Đóng góp","WEBSITE_CONTRIBUTE_P1":"Nền tảng Stremio là nguồn mở và bạn có thể dễ dàng tạo add-on cho nội dung hiện chưa có nguồn.","WEBSITE_CONTRIBUTE_WHY":"Tại sao bạn nên tạo một add-on?","WEBSITE_CONTRIBUTE_WHY_P1":"Tiếp cận khán giả mới cho nội dung video của bạn","WEBSITE_CONTRIBUTE_WHY_P2":"Cơ sở người dùng của Stremio đang tăng lên nhanh chóng - trong năm đầu tiên kể từ khi ra mắt, Stremio đã có được 1 triệu người dùng trên toàn thế giới và trong năm thứ hai nền tảng tồn tại, con số này đã tăng lên 2 triệu rưỡi.","WEBSITE_CONTRIBUTE_WHY_P3":"Với add-on của mình, bạn có thể dễ dàng tiếp cận đối tượng này và phân phối nội dung video của mình tới họ.","WEBSITE_CONTRIBUTE_ALL":"Xem phim, video, loạt phim và kênh yêu thích của bạn ở một nơi duy nhất.","WEBSITE_CONTRIBUTE_ALL_P1":"Bạn là người yêu thích một loại nội dung cụ thể chưa có trên Stremio? Hãy tạo một add-on cho nội dung đó và thưởng thức các video yêu thích của bạn tại một trong những trung tâm giải trí lớn nhất và dễ sử dụng nhất trên thị trường.","WEBSITE_CONTRIBUTE_ALL_P2":"Trên hết, bạn sẽ nhận được lòng biết ơn vô tận của các thành viên cộng đồng Stremio có cùng chí hướng.","WEBSITE_CONTRIBUTE_MONETIZE":"Kiếm tiền từ add-on của bạn và kiếm tiền với sự trợ giúp của nó","WEBSITE_CONTRIBUTE_MONETIZE_P1":"Sau khi bạn phát triển một add-on mới cho Stremio, bạn có thể dễ dàng kiếm tiền từ nó thông qua một số cách khác nhau. Nếu bạn đang cân nhắc điều này, vui lòng liên hệ với chúng tôi tại ","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":" - chúng tôi rất sẵn lòng tư vấn và tư vấn cho bạn về các tùy chọn kiếm tiền từ add-on.","WEBSITE_CONTRIBUTE_TRANSLATE":"Trở thành một dịch giả tình nguyện","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"Nếu bạn muốn thưởng thức các ứng dụng Stremio bằng các ngôn ngữ khác nhau, bạn có thể tham gia cộng đồng dịch giả tình nguyện của chúng tôi. Họ giúp chúng tôi thêm các phiên bản Stremio bằng nhiều ngôn ngữ khác nhau.","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"Bạn có muốn bắt đầu không?","WEBSITE_TRANSALTE_STREMIO":"Dịch Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"Cộng đồng chính thức","WEBSITE_COMMUNITY_OFFICIALS_P1":"Trở thành một phần của cộng đồng Stremio đang phát triển. Theo dõi chúng tôi trên mạng xã hội và đừng ngại nói xin chào - chúng tôi rất thích nghe ý kiến từ người hâm mộ của mình!","WEBSITE_COMMUNITY_UNOFFICIALS":"Cộng đồng không chính thức","STREMIO_COMMUNITY_NL":"Stremio Hà Lan","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Đức","STREMIO_COMMUNITY_BELGIUM":"Stremio Bỉ","STREMIO_COMMUNITY_FRANCE":"Stremio Pháp","STREMIO_COMMUNITY_PORTUGAL":"Stremio Bồ Đào Nha","STREMIO_COMMUNITY_ITALY":"Stremio Ý","STREMIO_COMMUNITY_UK":"Stremio Vương quốc Anh","STREMIO_COMMUNITY_USA":"Stremio Hoa Kỳ","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Add-on Stremio","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Stremio tuyệt vời","WEBSITE_COMMUNITY_PARTNERS":"Đối tác và người ủng hộ","WEBSITE_COMMUNITY_GOODIES":"Món ngon Stremio","WEBSITE_COMMUNITY_WALLPAPERS":"Hình nền","WEBSITE_COMMUNITY_ART":"Phòng trưng bày Nghệ thuật Cộng đồng","WEBSITE_LINK_ART":"Phòng trưng bày nghệ thuật cộng đồng","WEBSITE_CONTACT_US":"Liên hệ chúng tôi","WEBSITE_CONTACT_US_P1":"Nếu bạn có bất kỳ câu hỏi, nhận xét hoặc đề xuất nào, vui lòng liên hệ với chúng tôi qua biểu mẫu liên hệ bên dưới.","WEBSITE_CONTACT_US_P2":"Hãy nhớ rằng chúng tôi đang ở Bulgari nên có thể có sự chậm trễ trong việc giải quyết truy vấn của bạn do chênh lệch múi giờ.","WEBSITE_CONTACT_US_SUCCESS":"Tin nhắn của bạn đã được gửi. Chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"Vui lòng nhập email hợp lệ!","WEBSITE_CONTACT_US_Q_RELATED_TO":"Câu hỏi của bạn liên quan đến điều gì?","WEBSITE_CONTACT_US_Q_OS":"Hệ điều hành của bạn là gì?","WEBSITE_CONTACT_US_PH_EMAIL":"Email của bạn","WEBSITE_CONTACT_US_PH_MESSAGE":"Tin nhắn","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"GỬI","WEBSITE_CONTACT_US_Q_1":"Cài đặt như thế nào?","WEBSITE_CONTACT_US_Q_2":"Gỡ cài đặt như thế nào?","WEBSITE_CONTACT_US_Q_3":"(HTML) Cách làm Lasagna?","WEBSITE_CONTACT_US_Q_4":"Add-on","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"Công nghệ","WEBSITE_TECHNOLOGY_P1":"Chúng tôi yêu công nghệ và khoa học điên rồ. </br>Đây là sức mạnh của Stremio (tất cả đều là mã nguồn mở).","WEBSITE_TECHNOLOGY_P_QT":"Phát triển phần mềm đa nền tảng ở mức tốt nhất.","WEBSITE_TECHNOLOGY_P_MPV":"Trình phát phương tiện đa nền tảng, mã nguồn mở và miễn phí.","WEBSITE_TECHNOLOGY_P_RN":"React Native cho phép bạn tạo ứng dụng dành cho thiết bị di động chỉ dùng JavaScript.","WEBSITE_TECHNOLOGY_P_VLC":"Khung phương tiện được nhúng vào ứng dụng để tải đa phương tiện.","WEBSITE_TECHNOLOGY_P_REALM":"Realm là một nền tảng di động và là sự thay thế cho SQLite & Core Data.","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js là một môi trường thực thi JavaScript mã nguồn mở, đa nền tảng.","WEBSITE_TECHNOLOGY_P_RUST":"Rust là ngôn ngữ lập trình hệ thống đa mô hình tập trung vào tính an toàn, đặc biệt là tính đồng thời an toàn.","WEBSITE_TECHNOLOGY_CONTRIBUTE":"Đóng góp cho dự án","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"Có hai cách để bạn có thể đóng góp cho Stremio và giúp chúng tôi làm cho sản phẩm trở nên tốt hơn nữa.","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"Bạn có thể đóng góp các kỹ năng ngôn ngữ có giá trị của mình bằng cách dịch nền tảng...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"hoặc","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... bạn có thể sử dụng các kỹ năng viết mã của mình để tạo các add-on cho cộng đồng.","WEBSITE_TRANSLATE_STREMIO":"Dịch Stremio","WEBSITE_404_OH_NO":"Uh-oh! Trang bạn đang tìm không có ở đây...","WEBSITE_GO_HOME":"Về nhà","WEBSITE_LINK_OTHER_DOWNLOADS":"Tải xuống khác","WEBSITE_FAQ_ABR":"Hỏi đáp thường gặp","WEBSITE_SUPPORT":"Ủng hộ","WEBSITE_DOWNLOAD_4_0_BETA":"Tải xuống Stremio 4 beta ngay","WEBSITE_GET_FOR_DESKTOP":"Tải cho máy tính để bàn","WEBSITE_LINK_ADDON_COMPETITION":"Cuộc thi add-on","WEBSITE_LINK_ART_CONTEST":"Cuộc thi nghệ thuật","WEBSITE_MY_ACCOUNT":"Tài khoản của tôi","WEBSITE_MAINPAGE_FAQ_001_H1":"Stremio là gì?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio là một trung tâm truyền thông hiện đại cho phép bạn tự do xem mọi thứ mình muốn.","WEBSITE_MAINPAGE_FAQ_002_H1":"Làm thế nào nó hoạt động?","WEBSITE_MAINPAGE_FAQ_002_P1":"Sau khi bạn cài đặt Stremio trên thiết bị của mình và tạo một tài khoản, tất cả những gì bạn phải làm là truy cập vào danh mục add-on và cài đặt bất kỳ add-on nào bạn muốn, thế là xong!","WEBSITE_MAINPAGE_FAQ_002_P2":"Sau đó, bạn có thể chuyển đến phần Khám phá hoặc Bảng để bắt đầu khám phá nội dung.","WEBSITE_MAINPAGE_FAQ_003_H1":"Tôi có thể xem gì ở đây?","WEBSITE_MAINPAGE_FAQ_003_P1":"Rất nhiều: Phim, chương trình TV, kênh Web, Thể thao, kênh TV, nghe Podcast, v.v. Nhờ hệ thống add-on của chúng tôi, bạn có thể truy cập nhiều nội dung khác nhau.","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio có phải là mã nguồn mở không?","WEBSITE_MAINPAGE_FAQ_004_P1":"Có, bạn có thể kiểm tra các liên kết sau: ${1}desktop app${2} và ${3}GitHub organization${4}.","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio có an toàn không?","WEBSITE_MAINPAGE_FAQ_005_P1":"Có: vì đây là phần mềm mã nguồn mở nên mã này có thể được kiểm tra công khai và bạn có thể tự mình xem lại.","WEBSITE_MAINPAGE_FAQ_005_P2":"Hệ thống tiện ích bổ sung của Stremio cũng được tạo ra với mục đích bảo mật cho người dùng. Các tiện ích bổ sung không chạy bất kỳ mã cục bộ nào nên chúng không gây rủi ro cho thiết bị của bạn.","WEBSITE_MAINPAGE_FAQ_006_H1":"Còn quyền riêng tư của tôi thì sao?","WEBSITE_MAINPAGE_FAQ_006_P1":"Chúng tôi tôn trọng quyền riêng tư của người dùng và không thu thập bất kỳ dữ liệu cá nhân nào ngoài dữ liệu tối thiểu cần thiết để tạo và đồng bộ hóa tài khoản của bạn.","WEBSITE_MAINPAGE_FAQ_006_P2":"Ngoài ra còn có một ${1}Chế độ khách${2} khi đăng ký, chế độ này không yêu cầu bất kỳ dữ liệu nào: trong chế độ này, không có cuộc gọi nào được thực hiện tới chương trình phụ trợ của chúng tôi. Tuy nhiên, nó phải trả giá bằng các tính năng hữu ích, chẳng hạn như có thể đồng bộ hóa thư viện của bạn trên các thiết bị.","WEBSITE_MAINPAGE_FAQ_007_H1":"Tôi có thể truyền tới TV của mình không?","WEBSITE_MAINPAGE_FAQ_007_P1":"Có, chúng tôi hỗ trợ Chromecast và bạn có thể truyền cả từ máy tính để bàn và ứng dụng dành cho thiết bị di động (Android).","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio có bao nhiêu add-on?","WEBSITE_MAINPAGE_FAQ_008_P1":"Tính đến cuối năm 2019, hơn 50 - để biết thêm thông tin, hãy xem danh mục add-on của chúng tôi.","WEBSITE_MAINPAGE_FAQ_009_H1":"Có thể mở rộng Stremio ngoài danh mục add-on không?","WEBSITE_MAINPAGE_FAQ_009_P1":"Có, bạn nên kiểm tra những thứ sau: ${1}PimpMyStremio${2}, ${3}Cộng đồng Reddit${4}, ${5}Trình tải xuống Stremio${6}, v.v.","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio hỗ trợ những thiết bị nào?","WEBSITE_MAINPAGE_FAQ_010_P1":"Chúng tôi có các ứng dụng dành cho máy tính để bàn dành cho Windows, Mac và Linux. Đối với thiết bị di động, chúng tôi hỗ trợ Android và iOS, mặc dù hãy nhớ rằng iOS bị hạn chế về chức năng (không hỗ trợ hầu hết các add-on).","WEBSITE_MAINPAGE_FAQ_010_P2":"Có nhiều thiết bị dựa trên Android mà bạn có thể chạy Stremio trên đó, chẳng hạn như NVIDIA Shield và Amazon Fire Stick, nhưng chúng tôi không hỗ trợ chúng một cách chính thức.","WEBSITE_MAINPAGE_FAQ_010_P1_2":"Chúng tôi có các ứng dụng dành cho máy tính để bàn dành cho Windows, Mac và Linux. Chúng tôi cũng có các ứng dụng dành riêng cho Điện thoại Android và Tivi Android. Đối với iOS và iPadOS, chúng tôi khuyên bạn nên sử dụng Stremio Web, mặc dù bị hạn chế hơn về chức năng.","WEBSITE_MAINPAGE_FAQ_011_H1":"Bạn có thể thêm một số nội dung nhất định vào Stremio không?","WEBSITE_MAINPAGE_FAQ_011_P1":"Xin lỗi, bản thân chúng tôi không cung cấp nội dung, nhưng bạn càng cài đặt nhiều add-on Stremio, bạn càng có thể tìm thấy nhiều nội dung hơn.","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio có thể chơi liên kết nam châm không?","WEBSITE_MAINPAGE_FAQ_012_P1":"Có, và nó cũng có thể phát các liên kết HTTP và tệp torrent thông thường (kéo và thả).","WEBSITE_MAINPAGE_FAQ_013_H1":"Tôi có thể tải video xuống và xem ngoại tuyến không?","WEBSITE_MAINPAGE_FAQ_013_P1":"Khả dụng ngoại tuyến là một tính năng sắp ra mắt, nhưng nếu bạn cho phép Stremio lưu vào bộ nhớ cache trên thiết bị của mình (từ bảng thiết đặt), thì bạn có thể xem video sau mà không cần kết nối.","WEBSITE_MAINPAGE_FAQ_014_H1":"Không có tác dụng gì, giúp tôi với!","WEBSITE_MAINPAGE_FAQ_014_P1":"Bạn có chắc là mình đã cài đặt add-on không? Nếu có, hãy kiểm tra với ${1}trung tâm trợ giúp${2} của chúng tôi.","WEBSITE_MAINPAGE_FAQ_015_H1":"Làm thế nào để Stremio duy trì hoạt động phát triển của nó?","WEBSITE_MAINPAGE_FAQ_015_P1":"Chúng tôi thỉnh thoảng chạy quảng cáo không xâm lấn, nhưng chúng tôi đang cân nhắc chuyển sang mô hình quyên góp.","WEBSITE_MAINPAGE_FAQ_015_P2":"Để biết thêm câu hỏi, hãy truy cập ${1}trung tâm trợ giúp${2} của chúng tôi.","HELP_LEARN_MORE":"Giúp chúng tôi tìm hiểu thêm về bạn.","LIFESTYLE":"Phong cách sống","SPORTS":"Thể thao","FOOD_HEALTH":"Thực phẩm & sức khỏe","BEAUTY_FASHION":"Làm đẹp & Thời trang","NEWS":"Tin tức","GAMING":"Trò chơi","SCIENCE_EDUCATION":"Khoa học & giáo dục","MUSIC":"Âm nhạc","TRAVEL":"Du lịch","LATE_NIGHT":"Đêm khuya","REALITY":"Thực tế","COMEDY":"Hài kịch","DIY":"Cách tự làm","TECH":"Công nghệ","CINEMA":"Rạp chiếu phim","CONTINUE":"Tiếp tục","SLOW_LOADING":"TẢI CHẬM?","I_GIVE_UP":"TÔI TỪ BỎ","LEARN_MORE":"Tìm hiểu thêm","POOR_SOURCE":"Nguồn này kém khả dụng hoặc kết nối internet của bạn không đủ nhanh","PICK_CATEGORIES_ERR":"Bạn phải chọn ít nhất 3 danh mục","ADJUST_TIMING":"Điều chỉnh thời gian với ","ADJUST_SIZE":"Điều chỉnh kích thước với ","SEARCH_ANYTHING":"Bạn có thể tìm kiếm mọi thứ...","ALL_CATEGORIES":"Tất cả","SEARCH_CATEGORIES":"Phim, Loạt phim, YouTube và TV","SEARCH_PERSONS":"Diễn viên, Đạo diễn & Biên kịch","SEARCH_PROTOCOLS":"HTTP & Liên kết nam châm","SEARCH_TYPES":"Liên kết IMDB / TVDB","WATCHED":"Đã xem","SHOW_LESS":"Hiện ít hơn","LAST_SEARCHES":"Tìm kiếm cuối cùng","CLEAR_HISTORY":"Xóa lịch sử","CHOOSE_SOME":"CHỌN MỘT SỐ ĐIỀU NÀY:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"Công cụ Web từ xa không tải được","STREMIO_OFFLINE":"Stremio đang ngoại tuyến","STREMIO_EXPENSIVE_CONNECTION":"Chúng tôi đã phát hiện ra rằng bạn đang sử dụng kết nối dữ liệu di động, bạn có muốn tiếp tục không?","USE_DATA":"Sử dụng dữ liệu","WARNING":"Cảnh báo","MORE_INFO":"Thêm thông tin ...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"Đang tải ...","STREMIO_TV_BACK_TO_LANGUAGES":"Quay lại ngôn ngữ","STREMIO_TV_REMOTE":"Từ xa","STREMIO_TV_GO_TO":"Đi đến:","STREMIO_TV_OR_SCAN":"hoặc quét:","STREMIO_TV_ADDON_INSTRUCTIONS":"Vui lòng làm theo hướng dẫn để cài đặt các add-on ưa thích của bạn.","STREMIO_TV_LIVE_TV":"Truyền hình trực tiếp","STREMIO_TV_RESUME_WATCHING":"Tiếp tục Xem","STREMIO_TV_LOADING_BACKGROUND":"Đang tải trong nền","STREMIO_TV_CHECKING_AUTHENTICATION":"Kiểm tra xác thực","STREMIO_TV_LOADING_BOARD":"Đang tải Bảng","STREMIO_TV_LOGIN_HEADER_LINE_1":"Chúng tôi muốn người dùng có trải nghiệm được cá nhân hóa tốt nhất có thể với phần mềm của chúng tôi.","STREMIO_TV_LOGIN_HEADER_LINE_2":"Vì lý do này mà chúng tôi đề nghị bạn tạo và/hoặc đăng nhập vào tài khoản của mình.","STREMIO_TV_LOGIN_FOOTER_LINE_1":"Cảm ơn bạn đã hiểu,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Nhóm Stremio","STREMIO_TV_REMOTE_INSTRUCTIONS":"Để sử dụng Web Từ xa với Điện thoại thông minh / Máy tính bảng / Máy tính để bàn của bạn:","STREMIO_TV_WIFI_SETUP":"Thiết lập Wi-Fi","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle không phát hiện thấy kết nối internet.","STREMIO_TV_WIFI_DETAILS_1":"Kết nối với:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"Sử dụng mật khẩu:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"Mở trình duyệt web bằng liên kết:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"Mặc định","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"Theo lần xem cuối cùng","STREMIO_TV_LIBRARY_SORT_NAME":"Theo tên","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"Theo tên giảm dần","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"Theo số lần đã xem","STREMIO_TV_LIBRARY_SORT_WATCHED":"Theo Đã xem","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"Theo Chưa xem","STREMIO_TV_DETAILS_SEASON_NUMBER":"Mùa ${1}","STREMIO_TV_STREAMS_LOADING":"Đã tải ${1} / ${2} add-on...","STREMIO_TV_STREAMS_STILL_LOADING":"add-on ${1} vẫn đang tải...","STREMIO_TV_PLAYER_SETTINGS":"Thiết đặt trình phát","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"Độ trễ phụ đề","STREMIO_TV_PLAYER_AUDIO_DELAY":"Độ trễ âm thanh","STREMIO_TV_PLAYER_VIDEO_SCALING":"Thu phóng video","STREMIO_TV_PLAYER_CHAPTERS":"Chương","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Bỏ qua ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"Nguồn luồng không được hỗ trợ","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"Mở liên kết ngoài không thành công","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"Không thể điều chỉnh ở chế độ truyền âm thanh","STREMIO_TV_PLAYER_PLAY_IN_EXO":"Phát bằng ExoPlayer","STREMIO_TV_PLAYER_PLAY_IN_VLC":"Phát bằng trình phát libVLC","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"Chuyển sang trình phát libVLC do lỗi phát lại","STREMIO_TV_ADDONS_TITLE":"Sử dụng Stremio trên Điện thoại hoặc PC của bạn để cài đặt hoặc định cấu hình add-on và nhấn \\"Đồng bộ hóa Add-on\\"","STREMIO_TV_ADDONS_SUBTITLE":"Lưu ý: đảm bảo rằng bạn đang sử dụng cùng một tài khoản Stremio","STREMIO_TV_ADDONS_SYNC_ADDONS":"Đồng bộ hóa Add-on","STREMIO_TV_ADDONS_SYNC_SUCCESS":"Add-on được đồng bộ hóa thành công","STREMIO_TV_ADDONS_SYNC_FAILED":"Không thể đồng bộ hóa add-on","STREMIO_TV_META_LINK_FAILED":"Mở siêu liên kết không thành công","STREMIO_TV_CATALOG_LOADING":"Danh mục vẫn đang tải...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"Ngôn ngữ giao diện được cập nhật","STREMIO_TV_SETTINGS_THEME_UPDATED":"Đã cập nhật chủ đề","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"Trình phát mặc định","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"Trình phát bên ngoài","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"Ngôn ngữ ưa thích","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"Ngôn ngữ ưa thích thứ hai","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"Phát lại trong đường hầm","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"Có thể xảy ra sự cố phát lại trên một số thiết bị","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"Một số định dạng video có thể không hoạt động","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"Khớp tốc độ khung hình","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"Đã tắt","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"Chỉ tốc độ khung hình","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"Tốc độ khung hình và độ phân giải","STREMIO_TV_SETTINGS_NO_CACHING":"Không có bộ nhớ đệm","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"Mặc định","STREMIO_TV_SETTINGS_PROFILE_SOFT":"Vừa","STREMIO_TV_SETTINGS_PROFILE_FAST":"Nhanh","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"Siêu nhanh","STREMIO_TV_SETTINGS_SERVER_URL":"Url máy chủ truyền trực tuyến","STREMIO_TV_SETTINGS_SERVER_VERSION":"Phiên bản máy chủ","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"Không xác định","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Phiên bản Stremio","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"Chỉnh sửa url máy chủ","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"Nhập url máy chủ truyền trực tuyến","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"Hiển thị số liệu thống kê trong khi tải","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"Để đọc Chính sách quyền riêng tư của Stremio, hãy truy cập:","STREMIO_TV_SETTINGS_TOS_TEXT":"Để đọc Điều khoản và điều kiện của Stremio, hãy truy cập:","STREMIO_TV_NAV_SEARCH":"Tìm kiếm","STREMIO_TV_NAV_HOME":"Trang chủ","STREMIO_TV_NAV_DISCOVER":"Khám phá","STREMIO_TV_NAV_LIBRARY":"Thư viện","STREMIO_TV_NAV_MOVIES":"Phim","STREMIO_TV_NAV_SERIES":"Loạt phim","STREMIO_TV_NAV_CHANNELS":"Kênh truyền hình","STREMIO_TV_NAV_TV":"Truyền hình trực tiếp","STREMIO_TV_NAV_SETTINGS":"Thiết đặt","STREMIO_TV_NAV_ADDONS":"Add-on","STREMIO_TV_LOGIN_TITLE":"Liên kết tài khoản","STREMIO_TV_LOGIN_EXPIRES_IN":"Hết hạn sau","STREMIO_TV_LOGIN_STEP_ONE":"Quét mã QR ở trên hoặc truy cập","STREMIO_TV_LOGIN_STEP_TWO":"Đăng nhập vào tài khoản Stremio của bạn","STREMIO_TV_LOGIN_NEW_LINK":"Yêu cầu liên kết mới","STREMIO_TV_LOGIN_LINK_REFRESHED":"Mã đăng nhập được làm mới","STREMIO_TV_SEARCH_PLACEHOLDER":"Nhập gì đó","STREMIO_TV_SEARCH_NO_ADDONS":"Không có add-on nào được yêu cầu cho danh mục!","STREMIO_TV_SEARCH_BUTTON":"Tìm kiếm","STREMIO_TV_SEARCH_KEY_DEL":"Del","STREMIO_TV_SEARCH_KEY_SPACE":"Space","STREMIO_TV_SEARCH_KEY_CLEAR":"Clear","STREMIO_TV_SEARCH_HISTORY_TITLE":"Lịch sử tìm kiếm","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"Bạn có thể tìm kiếm Tiêu đề, Diễn viên, Kênh và hơn thế nữa...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"Xóa lịch sử tìm kiếm","STREMIO_TV_FILTERS_DESCRIPTION":"Chọn từ một trong các bộ lọc bên dưới","STREMIO_TV_STREAMING_SERVER_OFFLINE":"Máy chủ phát trực tuyến đang ngoại tuyến. Kiểm tra thiết đặt máy chủ.","FILTERS":"Bộ lọc","SETTINGS":"Thiết đặt","ACCOUNT":"Tài khoản","LOGOUT":"Đăng xuất","THEMES":"Chủ đề","PLAYBACK":"Phát lại","PLAYBACK_SPEED":"Tốc độ phát lại","AUDIO_TRACKS":"Luồng âm thanh","UNKNOWN_TRACK_LANG":"không rõ","VIDEOS":"Video","SERVER":"Máy chủ","LINKS":"Liên kết","ABOUT":"Giới thiệu","INTERFACE":"Giao diện","ANIMATIONS":"Hoạt hình","STATUS":"Trạng thái","LANGUAGE":"Ngôn ngữ","SIZE":"Kích cỡ","DELAY":"Độ trễ","BOLD":"In đậm","OPACITY":"Độ mờ","TEXT_COLOR":"Màu văn bản","OUTLINE_COLOR":"Màu đường viền","BACKGROUND_COLOR":"Màu nền","BACKGROUND_BLUR":"Làm mờ nền","SEEK_TIME_DURATION":"Thời lượng tua","AUTO_PLAY":"Tự động phát tập tiếp theo","PLAY_NOW":"Phát ngay","MARK_AS_WATCHED":"Đánh dấu là đã xem","MARK_AS_UNWATCHED":"Đánh dấu là Chưa xem","REWIND_TO_BEGINNING":"Tua lại từ đầu","CONTINUE_WATCHING":"Tiếp tục xem","ALL":"Tất cả","SECONDS":"giây","ON":"MỞ","OFF":"TẮT","RELOAD":"Tải lại","EDIT_URL":"Chỉnh sửa URL","URL":"URL","NONE":"Không","EMBEDDED":"Đã nhúng","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"Chuyển đổi thiết bị","REMOTE_VIDEOS":"Video","REMOTE_ADJUST_TIMING":"Điều chỉnh thời gian","REMOTE_ADJUST_SIZE":"Điều chỉnh kích thước","REMOTE_COULD_NOT_BE_LOADED":"Công cụ Web từ xa không tải được","REMOTE_RETRY":"Thử lại","TORRENT_PROFILE_DEFAULT":"Mặc định","TORRENT_PROFILE_SOFT":"Vừa","TORRENT_PROFILE_FAST":"Nhanh","TORRENT_PROFILE_ULTRA_FAST":"Siêu nhanh","MB_S":"MB/s","FAQ_001_H1":"Stremio là gì?","FAQ_001_P1":"Stremio là phần mềm trung tâm truyền thông được thiết kế để giải trí video dễ sử dụng. Stremio cho phép bạn sắp xếp & xem bộ sưu tập phim, loạt phim, kênh và chương trình truyền hình trực tiếp của riêng mình.","FAQ_001_P2":"Stremio thu thập nội dung mà nó hiển thị cho bạn từ đĩa cục bộ của bạn và hệ thống add-on của chúng tôi.","FAQ_001_P3":"Nó cũng sẽ thông báo cho bạn khi các tập/video/phim mới mà bạn quan tâm ra mắt và cung cấp các đề xuất phim cho bạn.","FAQ_02_H1":"So sánh Stremio với Kodi và Plex như thế nào?","FAQ_02_P1":"Chúng tôi lấy cảm hứng từ hai phần mềm đó. Nhưng chúng tôi có các mục tiêu khác nhau - Stremio được nhắm mục tiêu cụ thể đến video giải trí và cố gắng trở thành giải pháp chính cho điều đó bằng cách rất dễ sử dụng.","FAQ_02_P2":"Stremio sẽ không bao giờ có thể tùy chỉnh và giàu tính năng như Kodi và Plex, nhưng nó dễ sử dụng hơn đáng kể. Chỉ cần ${1} lấy nó và thấy ${2}:)","FAQ_03_H1":"So sánh Stremio với Netflix như thế nào?","FAQ_03_P1":"Một lần nữa, Netflix là một trong những nguồn cảm hứng của chúng tôi. Chúng tôi cố gắng đạt được trải nghiệm người dùng của Netflix, cùng với nhiều tính năng bổ sung. Nhưng quan trọng nhất, chúng tôi cho phép bạn tự do quản lý thư viện của riêng mình và thêm các nguồn nội dung mới bằng hệ thống add-on.","FAQ_03_P2":"Điều đó làm cho Stremio có thể mở rộng vô tận, vì vậy khi sử dụng Stremio, bạn không bao giờ bị giới hạn ở nội dung mà Netflix quyết định cấp phép. Ví dụ: thông qua Stremio, bạn có thể xem nội dung từ ${1} Filmon.tv ${2}, ${3} Twitch.tv${4}, ${5}YouTube${6}, ${7}Vodo${8} và thậm chí ${9} chính Netflix${10}!","FAQ_04_H1":"So sánh Stremio với Flipboard như thế nào?","FAQ_04_P1":"Chúng tôi không thường xuyên nhận được câu hỏi đó, trừ khi nói chuyện với những người khởi nghiệp :)","FAQ_04_P2":"Theo thiết kế, Stremio là một công cụ tổng hợp nội dung, về cơ bản biến nó thành Flipboard cho video. Điều này thể hiện rất rõ ràng trong phần Bảng của chúng tôi. Phần này cung cấp cho bạn danh mục và tập mới/thông báo video mới cho nội dung bạn theo dõi, giống như Flipboard.","FAQ_05_H1":"So sánh Stremio với Popcorn Time như thế nào?","FAQ_05_P1":"Stremio và Popcorn Time giống nhau về giao diện người dùng, vì không có nhiều cách để làm danh mục giải trí video đúng không :)","FAQ_05_P2":"Nhưng trong khi Popcorn Time tập trung vào truyền trực tuyến torrent từ các nguồn cụ thể, thì Stremio không bị hạn chế và chỉ đơn thuần là một công cụ tổng hợp nội dung - nó không bị khóa vào một nguồn nội dung cụ thể.","FAQ_05_P3":"Hơn nữa, theo mặc định, chúng tôi không cung cấp bất kỳ add-on torrent nào, vì vậy Stremio không bao gồm trường hợp sử dụng Popcorn Time với chức năng chính thức.","FAQ_05_P4":"Một điểm khác biệt đáng chú ý nữa là Popcorn Time là nguồn mở hoàn toàn, trong khi Stremio là ${1} nguồn mở một phần${2}.","FAQ_06_H1":"Bạn sẽ thêm phim/loạt phim này chứ?","FAQ_06_P1":"Không, xin lỗi:(","FAQ_06_P2":"Như đã đề cập trong hầu hết các câu hỏi khác, Stremio không tự cung cấp bất kỳ nội dung nào - mọi thứ được thêm thông qua hệ thống add-on. Trong trường hợp bạn có yêu cầu về nội dung, bạn có thể sử dụng nút “Báo cáo” trong Trình phát, nút này sẽ gửi email tới tác giả của add-on bạn hiện đang sử dụng.","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"Bạn sẽ tạo add-on cho X chứ?","FAQ_08_P1":"Hoàn toàn có thể.","FAQ_08_P2":"Nếu bạn có ý tưởng về add-on, hãy gửi thư cho chúng tôi theo địa chỉ ${1}office@stremio.com${2}, nhưng vui lòng đảm bảo rằng ý tưởng add-on của bạn sẽ không vi phạm bất kỳ bản quyền hoặc điều khoản sử dụng nào.","FAQ_08_P3":"Hiện tại, những thứ tiếp theo trong lộ trình của chúng tôi là các add-on cho FandangoNOW, video theo yêu cầu của Filmon.tv và Crunchyroll.","FAQ_09_H1":"Stremio có sử dụng BitTorrent không?","FAQ_09_P1":"Có, Stremio hỗ trợ BitTorrent dưới dạng giao thức truyền trực tuyến. Bạn có thể sử dụng giao thức đó với add-on torrent hoặc bằng cách kéo và thả tệp .torrent vào Stremio hoặc bằng cách dán liên kết nam châm vào Thanh tìm kiếm.","FAQ_09_P2":"Xin lưu ý rằng add-on chính thức duy nhất sử dụng BitTorrent là ${1}Vodo${2}, cung cấp nội dung độc lập, tất cả đều được phép phân phối với BitTorrent.","FAQ_09_P3":"Chúng tôi không hỗ trợ việc sử dụng bất kỳ add-on nào của bên thứ ba có thể dẫn đến vi phạm bản quyền.","FAQ_10_H1":"Tôi có thể xem gì trong Stremio với các add-on chính thức?","FAQ_10_P1":"Theo mặc định, bạn có thể xem nội dung Filmon.tv, YouTube và Vodo trong chính Stremio, với trình phát được nhúng. Ngoài ra, chúng tôi có một add-on cho Twitch.tv và một số tiện ích khác.","FAQ_10_P2":"Sự kết hợp này cung cấp một lựa chọn gồm:","FAQ_10_L1":"Các kênh TV nổi tiếng do Filmon.tv cung cấp - ví dụ E4, BBC, Bollyworld TV","FAQ_10_L2":"Mọi thứ từ YouTube - ví dụ: BBC News, Top Gear, Vevo, PewDiePie","FAQ_10_L3":"Phim độc lập với Vodo","FAQ_10_L4":"Phát sóng trò chơi trực tuyến với Twitch.tv","FAQ_10_P3":"Ngoài ra, có nhiều nguồn nội dung được cung cấp cùng với Guidebox và add-on Netflix <b>không</b> phát hoàn toàn bên trong Stremio mà sẽ chuyển hướng đến dịch vụ nhất định. Ví dụ: add-on Guidebox sẽ cung cấp cho bạn một lựa chọn phim bạn có thể truyền trực tuyến miễn phí ở Hoa Kỳ, từ các dịch vụ như TubiTV và Crackle.","FAQ_11_H1":"Stremio không cài đặt, tôi nên làm gì?","FAQ_11_P1":"Nếu bạn đang dùng Windows, hãy thử ${1}trình cài đặt thay thế này${2}.","FAQ_11_P2":"Nếu bạn đang dùng Mac OS X, xin lưu ý rằng chúng tôi không hỗ trợ bất kỳ thứ gì cũ hơn OS X Mavericks (10.9).","FAQ_11_P3":"Nếu bạn đang sử dụng Linux, hãy lưu ý rằng chúng tôi hiện chỉ hỗ trợ Linux 64 bit (x64).","FAQ_11_P4":"Nếu bạn vẫn không thể giải quyết vấn đề của mình, vui lòng viết thư cho chúng tôi tại ${1}nhóm Facebook${2} của chúng tôi.","FAQ_12_H1":"Tại sao phần mềm chống vi-rút của tôi phàn nàn? Stremio có an toàn không?","FAQ_12_P1":"Chúng tôi đảm bảo với bạn rằng Stremio ${1}sạch 100%${2}.","FAQ_12_P2":"Phần mềm chống vi-rút của bạn đang phàn nàn vì chúng tôi bao gồm quảng cáo trong trình cài đặt của chúng tôi mà một số chương trình chống vi-rút nhận ra là phần mềm quảng cáo.","FAQ_12_P3":"Nếu vẫn không chắc chắn, bạn có thể dùng thử ${1}trình cài đặt thay thế${2} của chúng tôi.","FAQ_13_H1":"Tôi có thể tạo add-on bằng cách nào?","FAQ_13_P1":"Đối với người mới bắt đầu, chúng tôi khuyên bạn nên kiểm tra ${1}mô-đun hệ thống add-on${2} của chúng tôi trên GitHub.","FAQ_13_P2":"Sau đó, bạn có thể làm theo ${1}Hướng dẫn Hello World${2}.","FAQ_13_P3":"Nếu bạn không có bất kỳ kỹ năng lập trình nào, vui lòng đăng ý tưởng của bạn trên ${1}cộng đồng Reddit${2} và liên hệ với chúng tôi về ý tưởng add-on của bạn trên ${3}office@stremio.com${4}.","FAQ_14_H1":"Add-on được xuất bản như thế nào?","FAQ_14_P1":"Khi bạn tạo một add-on và máy chủ lưu trữ, đồng thời đặt trường <b>endpoint</b> trong tệp kê khai của bạn, trường này trỏ đến một địa chỉ add-on đang hoạt động, add-on đó sẽ tự động xuất bản chính nó lên ${1}danh mục Add-on${2} của chúng tôi.","FAQ_14_P2":"Điều này xảy ra vì phần máy chủ của mô-đun stremio-add-on tự động gọi API của chúng tôi để thông báo về add-on. Khi API của chúng tôi xác thực <b>endpoint</b> của bạn là một add-on hợp lệ, nó sẽ bắt đầu hiển thị trong danh mục .","FAQ_15_H1":"Tôi có thể chạy Stremio trong trình duyệt của mình không?","FAQ_15_P1":"Không phải lúc này, nhưng điều này đang đến!","FAQ_15_P2":"Nếu muốn xem bản Alpha, bạn có thể xem tại đây: ${1}alpha4.strem.io${2}. Lưu ý rằng tính năng truyền trực tuyến bị tắt trên bản alpha này. Chúng tôi hỗ trợ Chrome, Firefox, Opera và Edge .","FAQ_16_H1":"Truyền tới TV không hoạt động / phụ đề không hoạt động","FAQ_16_P1":"Truyền tới TV sử dụng công nghệ DLNA rất không nhất quán giữa các thương hiệu và kiểu TV khác nhau. Vì lý do đó, chúng tôi không có khả năng kiểm tra nó trong mọi trường hợp, vì vậy nó còn lâu mới hoàn hảo. Mặc dù vậy, chúng tôi đang nghiên cứu liên tục cải thiện nhưng chúng tôi không thể cung cấp cho bạn ước tính thời gian khi nào DLNA sẽ bắt đầu hoạt động bình thường với TV của bạn.","FAQ_16_P2":"Nếu bạn thậm chí không thấy TV của mình trong menu truyền, vui lòng thử tắt kết nối mạng của bạn và bật lại (trên Windows, nhấp chuột phải vào Mạng và sử dụng Bật/Tắt), cũng như khởi động lại bộ định tuyến, TV và PC.","FAQ_16_P3":"Nếu bạn vẫn gặp sự cố, bạn có thể giúp chúng tôi bằng cách gửi thông tin về thương hiệu và mẫu TV của bạn tại ${1}office@stremio.com${2}.","FAQ_16_P4":"Trong thời gian chờ đợi, chúng tôi khuyên dùng Chromecast, dịch vụ mà chúng tôi hỗ trợ rất tốt hoặc chỉ cần cắm TV của bạn vào PC bằng cáp HDMI.","FAQ_17_H1":"Stremio bị treo và/hoặc gặp sự cố, tôi có thể làm gì?","FAQ_17_P1":"Trước hết, nếu bạn đang sử dụng Windows 7 với phần mềm chống vi-rút AVG: chúng tôi gặp sự cố với sự kết hợp đó. Sự cố nằm ở chính AVG và không có cách hợp lý nào để giải quyết vấn đề đó từ phía chúng tôi. Thật không may, ngoại lệ hoặc vô hiệu hóa phần mềm chống vi-rút sẽ không hoạt động. Giải pháp duy nhất là thay thế AVG bằng một thứ khác.","FAQ_17_P2":"Nếu đó không phải là vấn đề, nhưng bạn vẫn đang sử dụng Windows, vui lòng cập nhật lên gói dịch vụ mới nhất và cập nhật/cài đặt lại trình điều khiển GPU của bạn, sau đó thử lại.","FAQ_17_P3":"Nếu sự cố của bạn vẫn chưa được giải quyết hoặc bạn đang sử dụng Mac hoặc Linux, vui lòng viết thư cho chúng tôi để báo cáo chi tiết chính xác về sự cố tại ${1}nhóm Facebook của chúng tôi${2}.","FAQ_18_H1":"Tôi có thể tạo add-on bằng cách nào?","FAQ_18_P1":"Đối với người mới bắt đầu, chúng tôi khuyên bạn nên kiểm tra ${1}mô-đun hệ thống add-on${2} của chúng tôi trên GitHub.","FAQ_18_P2":"Sau đó, bạn có thể làm theo ${1}Hướng dẫn Hello World${2}.","FAQ_18_P3":"Nếu bạn không có bất kỳ kỹ năng lập trình nào, vui lòng đăng ý tưởng của bạn trên ${1}cộng đồng Reddit${2} và liên hệ với chúng tôi về ý tưởng add-on của bạn trên ${3}office@stremio.com${4}.","FAQ_19_H1":"Tại sao Stremio chiếm dung lượng ổ đĩa?","FAQ_19_P1":"Stremio có <b>bộ nhớ đệm cục bộ</b> để tạm thời giữ các tệp video mà bạn truyền trực tuyến.","FAQ_19_P2":"Điều này có hai lợi ích: thứ nhất, nó cho phép Stremio tạo bộ nhớ đệm trước cho video ở phía trước để đảm bảo truyền phát mượt mà hơn. Thứ hai, nó giữ video trong bộ nhớ đệm cục bộ để bạn có thể xem tiếp khi ngoại tuyến.","FAQ_19_P3":"Mức lưu trữ của Stremio tùy thuộc vào thiết đặt <b>Bộ nhớ đệm</b> trong bảng Thiết đặt. Stremio có thể giữ tối đa lượng đã đặt (ví dụ: 2GB) trên ổ đĩa của bạn, trừ khi video hiện đang truyền trực tuyến lớn hơn mức đó, trong đó trường hợp nó phải phân bổ đủ bộ nhớ để giữ cho đến khi bạn truyền trực tuyến.","FAQ_20_H1":"Thư mục bộ nhớ đệm ở đâu?","FAQ_20_P1":"Trên Windows, đó là stremio-cache trong ổ đĩa bạn đã chọn trong Thiết đặt (ví dụ: \\"E:\\\\stremio-cache\\")","FAQ_20_P2":"Trên MacOS, đó là \\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"Trên Linux, đó là \\"~/.stremio/stremio-cache\\" hoặc \\"~/stremio-cache\\"","FAQ_21_H1":"Tôi gặp lỗi \\"Không tìm thấy máy chủ truyền trực tuyến\\", tôi có thể làm gì?","FAQ_21_P1":"Nếu bạn gặp lỗi này, điều đó có nghĩa là một trong số những điều sau:","FAQ_21_P2":"1) Bạn đang cố gắng sử dụng một add-on được hỗ trợ bởi nguồn YouTube/BitTorrent, thông qua ${1}phiên bản web${2} của chúng tôi. Trong trường hợp này, bạn nên cài đặt phiên bản dành cho máy tính để bàn của chúng tôi từ ${3}trang web của chúng tôi${4 }.","FAQ_21_P3":"2) Đã xảy ra lỗi với cài đặt Stremio của bạn. Trong trường hợp này, hãy thử cài đặt lại phiên bản mới nhất dành cho máy tính để bàn của chúng tôi từ ${1}trang web${2}. Nếu cách này không hiệu quả, hãy thử tắt tường lửa và chương trình chống vi-rút, khởi động lại PC của bạn và thử lại. Nếu cách này cũng không hoạt động, vui lòng viết thư cho chúng tôi tại ${3}nhóm Facebook của chúng tôi${4}.","FAQ_22_H1":"Tôi không thể xem/sử dụng hầu hết các add-on trên iOS","FAQ_22_P1":"Do các hạn chế trong các điều khoản và điều kiện của Apple App Store, chúng tôi đã giới hạn ứng dụng iOS chỉ cho một bộ add-on cụ thể.","FAQ_22_P2":"Nhưng hãy yên tâm - sẽ có nhiều add-on cho iOS trong tương lai và chúng tôi cũng có thể thêm tích hợp cho phép bạn sử dụng tất cả các add-on Stremio nhờ kết nối ứng dụng iOS với Máy chủ truyền trực tuyến Stremio."}')},87970:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"电影","TYPE_series":"剧集","TYPE_tv":"电视频道","TYPE_channel":"频道","TYPE_other":"其他","TYPE_movie_PL":"电影","TYPE_series_PL":"剧集","TYPE_tv_PL":"电视频道","TYPE_channel_PL":"频道","TYPE_other_PL":"其他","TYPE_ALL":"全部","TYPE":"类型","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"视频","BACK":"返回","MORE":"更多","DONE":"完成","COPY":"复制","SUCCESS":"成功","ERROR":"错误","SETTINGS_CASTING_MODE_PICKER":"投屏模式","CASTING_MODE_HLSV2":"默认","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"不转码","Discover":"发现","Board":"首页","Library":"库","My Library":"我的库","Calendar":"日历","NOTIFICATION_ONLINE":"您当前处于在线状态","NOTIFICATION_OFFLINE":"您当前处于离线状态","INTERNET_CONNECTION":"网络连接","STORAGE_FULL_TITLE":"警告:储存空间已满!","STORAGE_FULL_TEXT":"Stremio将无法保存您的设置、首选项或登录信息,考虑重新启动或重新安装Stremio。","SEARCH":"搜索","SEARCH_NO_RESULTS":"未找到结果","SEARCH_EXPLANATION_CONTENT":"搜索电影、剧集、YouTube和电视频道","SEARCH_EXPLANATION_PEOPLE":"搜索演员、导演和编剧","SEARCH_PASTE_LINKS":"粘贴HTTP和Magnet链接","SEARCH_OR_PASTE_LINK":"搜索或粘贴链接","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"添加到库中","REMOVE_FROM_LIB":"从库中删除","ADDED_TO_LIB":"添加到库中","REMOVED_FROM_LIB":"从库中删除","TRAILER":"预告片","WATCH_TRAILER":"观看预告片","WATCH_NOW":"立即观看","SHOW":"查看","SHOW_MOVIE":"查看电影","WATCH_RANDOM":"随机观看","IMDB_RATING":"IMDb评分","YEAR":"年份","DIRECTOR":"导演","WRITER":"编剧","LEAD_ACTORS":"主演","CAST":"全部演员","CREW":"全部工作人员","SHOW_MORE_CAST":"显示更多 »","AIRED":"播出时间","SEASONS":"季","GENRE":"类型","GENRE_ALL":"所有流派","CATALOG":"目录","SUMMARY":"简介","SHOW_MORE":"显示更多","SIMILAR":"相似","UPCOMING":"即将上映","TBA":"TBA","ENDED":"已完结","DURATION":"时长","FEATURED":"功能","METADATA":"元数据","CATEGORY":"类别","LINKS_GENRES":"流派","LINKS_CAST":"演员","LINKS_DIRECTORS":"导演","SEARCH_VIDEOS":"搜索视频","SEARCH_PLACEHOLDER":"搜索或粘贴URL","ADDON":"插件","ADDONS":"插件","OFFICIAL":"官方","ADDONS_OFFICIAL":"官方Stremio插件","ADDONS_POPULAR":"在您所在的地区很受欢迎","ADDON_FREE":"免费","ADDON_PEERED":"连接","ADDON_SUBSCRIPTION":"订阅","ADDON_STREAM_GEORESTRICTED":"在您所在的地区不提供","ADDON_STREAM_OFFLINECACHE":"离线缓存","ADDON_STREAM_LOCALFILE":"本地文件","SHARE_ADDON":"分享插件","AVAILABLE_STREAMS":"可用流媒体","NO_STREAM":"未找到流媒体","ALL_ADDONS":"全部","INSTALL_MORE_ADDONS":"要获取更多流媒体,请安装更多插件","STREAM_NOT_SUPPORTED":"此平台不支持所选流媒体。","ADDON_CATALOGUE":"显示所有插件 »","ADDON_CATALOGUE_MORE":"安装插件","REPO_ADDED":"已添加存储库","ADDON_REPO_EXIST_ERR":"此插件集合已存在","ADDON_REPO_ERR":"添加集合时出错","ADDON_ADD_ERR":"添加插件时出错","ERR_ADDON_PROTECTED":"无法卸载插件,它受到保护","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"出了一些问题——身份验证可能失败","ERR_NOT_COLLECTION_URL":"不是集合URL","ERR_NOT_ADDON_URL":"不是有效的插件URL","ERR_DETECTFROMURL":"再此URL中找不到插件/集合","ADDON_DUPLICATE_WARNING":"警告:重复的插件","ADDON_COLLECTION_SET_FAILED":"将已安装的插件同步到您的账户失败","SETTINGS_DATA_EXPORT":"导出用户数据","ADDON_PULL_FAILED":"从您的帐户同步已安装的插件失败","REFRESH_ON_CLICK":"点击重试","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"电影还在影院上映","WATCH_IN_CINEMA":"请到您本地的影院观看","IN_THEATER":"在影院上映","GET_TICKETS":"购票","UPCOMING_EPISODE":"下一集","UPCOMING_EPISODE_MESSAGE":"这一集即将播出","MISSING_DATE_EPISODE":"缺失的一集日期","MISSING_DATE_EPISODE_MESSAGE":"这一集可能还没有播出","CHANNEL_NOT_SCRAPED":"这个频道还没有被削刮,请过几分钟再来。","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"将其添加到库中,以便在可用时收到通知。","GET_NOTIFIED_WHEN_AVAILABLE":"一旦可用,您将会收到通知。","WARNING_STREAMING_SERVER":"警告:找不到本地流媒体服务器,来自本地文件、YouTube、和BitTorrent的流媒体将不可用。","WARNING_STREAMING_SERVER_DISMISS":"忽略","WARNING_STREAMING_SERVER_LATER":"推迟","DECODER_WARNING":"警告:您的硬件可能不支持此视频,请记住,播放可能会很慢。","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"糟糕,播放器错误","PLAYER_ERROR_LOOKSLIKE":"看起来似乎","PLAYER_ORIENTATION":"播放器方向","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"锁定","PLAYER_ORIENTATION_SENSOR_SHORT":"传感器","PLAYER_ORIENTATION_LANDSCAPE":"播放器方向锁定横向","PLAYER_ORIENTATION_SENSOR":"播放器方向自动(传感器)","PLAYER_PLAYBACK_SPEED":"播放速度","PLAYER_PLAYBACK_ERROR":"播放错误,请重试","PLAYER_PLAYBACK_ERROR_UNKNOWN":"未知错误","PLAYER_PLAYBACK_ERROR_DEFAULT":"抱歉,{{productName}}无法播放此视频。","PLAYER_SUBTITLES_LANGUAGES":"字幕语言","PLAYER_SUBTITLES_VARIANTS":"字幕变形","PLAYER_SUBTITLES_SETTINGS":"字幕设置","PLAYER_SUBTITLES_DISABLED":"字幕已关闭","PLAYER_SUBTITLES_VERTICAL_POSIITON":"垂直位置","PLAYER_SUBTITLES_LOADED":"已加载字幕","PLAYER_SUBTITLES_LOADED_EMBEDDED":"已加载嵌入字幕","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"已加载外部字幕","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"已加载{{origin}}字幕","PLAYER_PLAY":"播放","PLAYER_PAUSE":"暂停","PLAYER_NEXT_VIDEO":"下一个视频","PLAYER_MUTE":"静音","PLAYER_UNMUTE":"取消静音","PLAYER_OPEN_IN_EXTERNAL":"在外部播放器中打开","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"在{{device}}上播放","PLAYER_LIVE":"直播","PLAYER_NEXT_VIDEO_TITLE":"下个视频","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"关闭","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"现在观看","PLAYER_COPY_STREAM_SUCCESS":"流媒体链接已复制到您的剪贴板","PLAYER_COPY_STREAM_ERROR":"复制流媒体链接失败","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"流媒体","CASTING_TO":"投屏到","NETWORK_STATUS":"网络状态","STREAM_SPEED":"串流速度:","STREAM_BUFFERED":"已缓冲:","PEERS_INFO":"节点信息","PEERS_ACTIVE":"活跃:","PEERS_CONNECTED":"已连接:","PEERS_WAITING":"等待:","TRANSCODING_WARNING":"警告:转码视频。","STREAM_LOADING":"加载...","PLAYING_LOCAL":"从本地文件播放","PLAYING_CACHE":"从缓存播放","WRONG_SUBS":"字幕错误?","ERR_SUBS_LOADING_TITLE":"加载字幕时出错","ERR_SUBS_LOADING":"字幕加载失败:这可能是您正在使用的插件或网络连接的问题","WARN_FOLLOWING_SUB_ADDONS_FAILED":"以下字幕插件失败","ERR_CASTING_UPDATE_TITLE":"无法更新投屏设备信息:流媒体服务器可能离线","CHOOSE_DEVICE":"选择在哪个设备上播放","NO_CAST_DEVICES":"无可用投屏设备。","NO_SETTINGS":"无可用设置。","NO_OPTIONS":"No options available","PHONE_TABLET":"手机/平板电脑","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"字幕","SUBTITLES_CHANGE":"调整字幕","SUBTITLES_CHANGE_NONE":"抱歉,这种语言没有其他字幕。","SUBTITLES_CHANGE_ACIVE":"当前字幕#{{subtitlesDialog.activeIdx + 1}}被激活,点击\\"继续\\"激活字幕#{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"或者,","SUBTITLES_ADJUST_DELAY":"调整字幕延迟:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"或在播放时使用<span>G</span> / <span>H</span>键进行调整。","SUBTITLES_ADJUST_DELAY_TIP":"提示:您可以在播放时使用<span>G</span> / <span>H</span>键进行调整。","SUBTITLES_DELAY":"字幕延迟:","SUBTITLES_LOADING":"加载字幕...","SUBTITLES_UNAVAILABLE":"没有可用的外部字幕","SUBTITLES_DISABLED":"关闭","EXTERNAL_PLAYER_DISABLED":"关闭","EXTERNAL_PLAYER_ALLOW_CHOOSING":"允许选择","EXTERNAL_PLAYER_HINT":"提示:有一个设置允许总是在外部播放器中打开","DONT_SHOW_AGAIN":"不再显示","SERVICE_INSTALL":"安装","AUDIO":"音频","DEFAULT_LANGUAGE":"默认语言","DEFAULT_SECONDARY_LANGUAGE":"默认第二语言","SEASON":"季","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"集","EPISODE_ABBREVIATION":"情节提要","SPECIAL":"特别篇","SORT":"排序","SORT_BY":"排序按照","FILTER":"筛选","SORT_TRENDING":"热门","SORT_RECENT":"最近","SORT_ALPHABET":"首字母","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"评分","SORT_WATCHED":"已观看","SORT_YEAR":"年份","SELECT":"Select","SELECT_TYPE":"选择类型","SELECT_SORT":"选择排序","SELECT_CATALOG":"选择目录","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"选择流派","SORT_LASTWATCHED":"按上次观看","SORT_NAME":"按名称","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"按观看次数","SORT_NOTWATCHED":"not watched","New for You":"新的","New Episodes":"新剧集","New Videos":"新视频","Recommendations":"推荐","LIBRARY_RESUME":"简介","LIBRARY_PLAY":"播放","LIBRARY_DETAILS":"详情","LIBRARY_RESUME_DISMISS":"清除","LIBRARY_CLEAR_PROGRESS":"清除进度","LIBRARY_REMOVE":"移除","LIBRARY_NOT_LOGGED_IN":"库仅适用于已登录的用户","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"日历仅适用于已登录的用户","NOT_LOGGED_IN_CLOUD":"随时随地访问您喜爱的电影和剧集","NOT_LOGGED_IN_RECOMMENDATIONS":"根据您的观看历史量身定制的建议","NOT_LOGGED_IN_NOTIFICATIONS":"再也不要错过任何一集","NOT_LOGGED_IN_CALENDAR":"定制个人观看日历","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"功能","DISCOVER_TOP":"热门","DISCOVER_OSCAR":"奥斯卡获奖作品","DISCOVER_WARNING_TITLE":"糟糕!","DISCOVER_EMPTY_CATALOG":"此插件返回空内容。","DISCOVER_ADULT_WARNING":"此内容仅对成人可见,您是否已满18周岁?","DISCOVER_NOADDON_WARNING":"警告:此类型没有可用的Stremio插件,显示已保存的项目,此处不会更新任何内容。","DISCOVER_LOAD_ERR":"内容未加载,发生错误。","DISCOVER_ADDON_UNINSTALLED":"此内容不再可用,您可能已卸载插件。","UNINSTALL_THIS_ADDON":"卸载此插件","ERR_ADDON_NOT_INSTALLED":"未安装此插件,立即安装?","DETAIL_RECEIVE_NOTIF_SERIES":"接受新剧集的通知","DETAIL_RECEIVE_NOTIF_VIDEOS":"接受新视频的通知","SIDEBAR_SHOW_STREAMS":"显示流媒体","RELAUNCH":"立即重新启动!","UPGRADE":"新版本可用!升级至Stremio的最新版本","RELOAD_UI":"重新加载用户界面","MANUAL_UPDATE_TITLE":"更新您的Stremio版本","MANUAL_UPDATE_LINE1":"您运行的是一个过时的Stremio版本,这是非常不推荐的。","MANUAL_UPDATE_LINE2":"请尽快更新。","BUTTON_UPDATE_LATTER":"不是现在","BUTTON_UPDATE_NOW":"更新","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"匿名用户","DONT_HAVE_ACC":"还没有账户?","HAVE_ACC":"已经有账户了?","PASSWORD":"密码","PASSWORD_CONFIRM":"确认密码","EMAIL":"电子邮箱","FB_LOGIN":"使用Facebook登录","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"未经您的允许,任何内容都不会被共享","FB_NOPOST":"我们不会替您发送任何东西","OR":"或","I_ACCEPT":"我接受","I_ACCEPT_BY_CLICKING":"通过点击上面的按钮,我声明我接受","TOS":"条款和条件","MUST_ACCEPT_TERMS":"您必须接受条款","PASSWORDS_NOMATCH":"密码不匹配","SIGN_UP":"注册","SIGN_UP_EMAIL":"使用电子邮箱注册","CLICK_TO_SIGN_UP":"点击此处注册。","LOG_IN":"登录","LOG_OUT":"注销","EXIT_FULLSCREEN":"退出全屏模式","ENTER_FULLSCREEN":"进入全屏模式","PLAY_URL_MAGNET_LINK":"播放URL/Magnet链接","HELP_FEEDBACK":"帮助和反馈","TERMS_OF_SERVICE":"服务条款","PRIVACY_POLICY":"隐私政策","ABOUT_STREMIO":"关于Stremio","USER_PANEL":"用户面板","LOGIN_LABEL":"Login","GUEST_LOGIN":"访客登录","GUEST_LOGIN_NOTICE":"不建议访客登录,使用常规登录允许Stremio同步您的库,接受喜爱的剧集/频道的通知。您确定要继续吗?","GUEST_LOGIN_NOTICE_2":"不建议访客登录,您将没有同步的库和首页通知,这是Stremio的重要功能。您确定要继续吗?","CLICK_HERE":"点击此处","WRONG_PASSWORD":"错误的电子邮箱或密码,如果您忘了密码,","SET_A_PASS":"设置密码","RESET_PASSWORD":"重置密码","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"忘记密码?","EMAIL_USED_WITH_FB":"此电子邮箱与Facebook登陆一起使用。","INVALID_EMAIL":"请输入有效的电子邮箱地址","INVALID_PASSWORD":"请输入有效的密码","CONN_ERR":"连接错误,请稍后再试。\\n\\n如果问题仍然存在,请禁用防火墙/杀毒软件(特别是Bitdefender)。","IMPORT_FROM_GUEST":"从访客账户导入库","RECEIVE_UPDATES_EMAIL":"从Stremio接受电子邮件更新","LOGIN_FAILED":"登陆失败。","SIGNUP_FAILED":"注册失败。","SEARCH_FAILED":"搜索失败","EMAIL_USED":"此电子邮箱已被使用。","WAITING_FB_LOGIN":"使用Facebook登录...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"在外部播放器中播放","EXTERNAL_REMEMBER_PLAYER":"您想记住您的选择吗","EXTERNAL_ALWAYS_PLAY":"是","EXTERNAL_ONLY_ONCE":"不是","BEST_FIT":"最佳","FIT_SCREEN":"适合屏幕","FILL":"填充","16:9":"16:9","4:3":"4:3","Original":"原始","INTRO_TASTE":"告诉我们您喜欢什么","INTRO_TASTE_LONG":"告诉我们您想看什么","INTRO_TASTE_PICK":"选择{{interestsRemaining}}兴趣","INTRO_TASTE_PICK_MORE":"选择{{interestsRemaining}}更多兴趣","INTRO_TASTE_HELP_US":"帮助我们了解更多有关您的信息。","INTRO_TASTE_CHOOSE_THESE":"选择其中一些:","INTRO_TASTE_CHOOSE_MIN":"至少选3个类别","INTRO_TASTE_CHOOSE_MIN_ERR":"您必须至少选择3个类别!","INTRO_TASTE_LIFESTYLE":"生活方式","INTRO_TASTE_SPORTS":"体育","INTRO_TASTE_FOOD_HEALTH":"饮食与健康","INTRO_TASTE_BEAUTY_FASHION":"美丽与时尚","INTRO_TASTE_NEWS":"新闻","INTRO_TASTE_GAMING":"游戏","INTRO_TASTE_SCIENCE_EDU":"科学与教育","INTRO_TASTE_MUSIC":"音乐","INTRO_TASTE_TRAVEL":"旅行","INTRO_TASTE_LATE_NIGHT":"深夜秀","INTRO_TASTE_REALITY":"真人","INTRO_TASTE_COMEDY":"喜剧","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"技术","INTRO_TASTE_CINEMA":"影院","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"此平台不支持选定的插件。","ADDON_DISCLAIMER":"使用第三方插件将始终受到您的责任和您所在的司法管辖区的法律的约束。","ADDON_ACTIVATE":"激活此插件?","ADDON_REPO_ADD":"插件集合URL","ADDON_ADD":"添加","INSTALL_ADDON":"Install addon","ADD_ADDON":"添加插件","ADD_ADDON_DESCRIPTION":"您可以通过外部链接添加插件,该链接将显示在“已安装的插件”下。","PASTE_ADDON_URL":"粘贴插件URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"最新消息","BUTTON_CONTINUE":"继续","BUTTON_ACTIVATE":"激活","BUTTON_ACTIVATED":"已激活","BUTTON_CANCEL":"取消","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"提交","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"清除全部","BUTTON_VIEW_ALL":"查看全部","BUTTON_SEE_ALL":"查看全部","BUTTON_COLOR_TRANSPARENT":"透明度","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"在浏览器中打开","LIB_EMPTY":"您的库看起来是空的,看看它有多有用:)","HOW_START":"您可以从这里开始:","LIB_EMPTY_CAL":"您的日历显示您库中的剧集。","HOW_START_CAL":"下面是如何添加剧集:","LIB_EMPTY_BOARD":"主页显示与您的库相关的通知&推荐。","HOW_START_BOARD_WAIT":"请在您的库中添加一些剧集或频道给我们几分钟来处理:)","HOW_START_BOARD":"下面是如何向其中添加剧集&电影:","IMPORT_FB":"从<span>Facebook</span>导入您喜欢的东西","IMPORT_TRAKT":"从<span>Trakt</span>导入媒体库","IMPORT_DISCOVER":"从<span>发现</span>中找到有趣的东西","IMPORT_DISK":"导入<span>本地磁盘</span>上的电影或节目","PLEASE_CREATE_ACC":"请<u>创建一个账户</u>以启用库同步&主页。","IMPORT_DISCOVER_SIGNUP":"注册并从<span>发现</span>中找到有趣的东西","IMPORT_DISK_SIGNUP":"注册并导入<span>本地磁盘</span>上的电影或节目","LIB_EMPTY_CLOUD":"云端库","LIB_EMPTY_CLOUD_DESC":"在所有设备上同步个人云端库","LIB_EMPTY_EARLY":"第一时间","LIB_EMPTY_EARLY_DESC":"接收新剧集的通知","LIB_EMPTY_PERSONAL":"个性化","LIB_EMPTY_PERSONAL_DESC":"获取个性化推荐","LIB_EMPTY_CALENDAR_DESC":"安排您的个性化观看日历","LIB_EMPTY_ALL":"注册以获取所有这些:","LIB_EMPTY_BEST":"注册以获得最佳的Stremio","LIB_EMPTY_OTHER":"注册以启用日历和其他炫酷功能","CALENDAR_ADDED":"Stremio日历已添加到默认桌面日历中。","CALENDAR_ADDED_MSG":"如果这不起作用,请手动将此URL添加到日历应用程序中","TRAKT_EXPIRED":"Trakt验证已过期,请转到设置并重新验证","TRAKT_REQUIRES_LOGIN":"Trakt错误","TRAKT_REQUIRES_LOGIN_MSG":"您需要登录","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"设置","SETTINGS_NAV_GENERAL":"常规","SETTINGS_NAV_PLAYER":"播放器","SETTINGS_NAV_STREAMING":"流媒体","SETTINGS_NAV_SHORTCUTS":"快捷键","SETTINGS_SHORTCUT_RELOAD_APP":"重新加载应用程序","SETTINGS_SHORTCUT_OPEN_SETTINGS":"打开设置","SETTINGS_SHORTCUT_SWITCH_TABS":"切换标签","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"向前循环标签","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"向后循环标签","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"在菜单之间导航","SETTINGS_SHORTCUT_GO_TO_SEARCH":"转到搜索","SETTINGS_SHORTCUT_EXIT_BACK":"退出/返回","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"切换播放速度菜单","SETTINGS_SHORTCUT_MENU_VIDEOS":"切换视频菜单","SETTINGS_SHORTCUT_MENU_SUBTITLES":"切换字幕菜单","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"切换信息菜单","SETTINGS_SHORTCUT_FULLSCREEN":"切换全屏","SETTINGS_SHORTCUT_SHOW_CONTROLS":"显示控件","SETTINGS_SHORTCUT_PLAY_PAUSE":"播放/暂停","SETTINGS_SHORTCUT_VOLUME_UP":"增大音量","SETTINGS_SHORTCUT_VOLUME_DOWN":"降低音量","SETTINGS_SHORTCUT_SEEK_NEXT":"寻找下一个","SETTINGS_SHORTCUT_SEEK_PREV":"寻找上一个","SETTINGS_SHORTCUT_SEEK_BACKWARD":"向后搜索","SETTINGS_SHORTCUT_SEEK_FORWARD":"向前搜索","SETTINGS_SHORTCUT_PLAY_NEXT":"播放下一个","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"增加字幕大小","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"减小字幕大小","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"增加字幕延迟","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"减少字幕延迟","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"切换侧边栏","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"空格","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"已验证","SETTINGS_FACEBOOK_IMPORT":"导入","SETTINGS_CALENDAR_SUBSCRIBE":"订阅","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"用户界面语言","SETTINGS_LAUNCH_STARTUP":"开机时启动","SETTINGS_VLC_DEFAULT":"使用VLC播放","SETTINGS_UI_LANGUAGE":"用户界面语言","SETTINGS_UI_ZOOM":"用户界面缩放","SETTINGS_FULLSCREEN_EXIT":"Esc键退出全屏","SETTINGS_GAMEPAD":"启用游戏手柄支持","SETTINGS_CLOSE_WINDOW":"关闭窗口时结束应用程序","SETTINGS_SUBTITLES_LANGUAGE":"默认字幕语言","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"默认字幕大小","SETTINGS_SUBTITLES_BACKGROUND":"字幕背景","SETTINGS_SUBTITLES_COLOR":"字幕颜色","SETTINGS_SUBTITLES_COLOR_OUTLINE":"字幕轮廓颜色","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"字幕背景颜色","SETTINGS_SEEK_KEY":"方向键控制进度","SETTINGS_SEEK_KEY_SHIFT":"按住Shift键时方向键控制进度","SETTINGS_REWIND_FAST_FORWARD_DURATION":"回放和快进持续时间","SETTINGS_BINGE":"自动播放下一集","SETTINGS_NEXT_VIDEO":"显示播放下一集的通知","SETTINGS_NEXT_VIDEO_TRIGGER":"显示下一集的通知:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"下一个视频弹出持续时间","SETTINGS_PLAY_IN_BACKGROUND":"在后台播放","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"在外部播放器中播放","SETTINGS_RESIZE":"播放前自动调整窗口大小","SETTINGS_OVERRIDE_SERVER":"覆盖流媒体服务器URL(高级)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"流媒体服务器URL:","SETTINGS_SERVER_AVAILABLE":"流媒体服务器可用。","SETTINGS_SERVER_UNAVAILABLE":"流媒体服务器不可用。","SETTINGS_SERVER_STATUS_ONLINE":"在线","SETTINGS_SERVER_STATUS_ERROR":"错误","SETTINGS_SERVER_CONFIGURE_TITLE":"配置流媒体服务器url","SETTINGS_SERVER_CONFIGURE_INPUT":"输入流媒体服务器url","SETTINGS_SERVER_CACHE_SIZE":"缓存大小","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent配置","SETTINGS_HTTPS_ENDPOINT":"流媒体HTTPS结点:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"始终使用最新的测试版","SETTINGS_IMPORT_FB":"从Facebook导入","SETTINGS_IMPORT_DISK":"从本地磁盘导入","SETTINGS_IMPORT_TRAKT":"从Trakt导入","SETTINGS_PAUSE_MINIMIZED":"最小化时暂停播放","SETTINGS_HWDEC":"硬件解码加速","SETTINGS_BACKGROUND":"后台播放","SETTINGS_SUBSCRIBE_CALENDAR":"订阅到日历","SETTINGS_REQ_EXPORT":"请求导出数据","SETTINGS_ACC_DELETE":"请求删除账户","SETTINGS_CHANGE_PASSWORD":"更改密码","SETTINGS_TOS":"服务条款","SETTINGS_SUPPORT":"联系支持人员","SETTING_LANGUAGE":"语言","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt自动跟踪","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"从Trakt.tv注销","SETTINGS_TRAKT_LOGOUT_2":"从Trakt注销","SETTINGS_SCAN_FOR_REMOTE":"扫描二维码打开遥控器","SETTINGS_DESKTOP_NOTIFICATIONS":"桌面通知","SETTINGS_DATA_SAVER":"移动数据警告","SETTINGS_LANGUAGE_INTERFACE":"界面","SETTINGS_LANGUAGE_SUBS":"默认字幕","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"自动选择音频","SETTINGS_DEFAULT_AUDIO_TRACK":"默认音频","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"账户","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"版本","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"在单独窗口中启动播放器(高级)","SETTINGS_PLAY_IN_EXTERNAL":"总是在外部播放器中打开视频","SETTINGS_STORAGE_BUTTON":"清除本地存储","SETTINGS_STORAGE_MODAL_TITLE":"您确定吗?","SETTINGS_STORAGE_MODAL_MESSAGE":"这将清除本地存储并使您注销","SETTINGS_HWDEC_PICKER":"选择硬件加速解码设置","SETTINGS_HW_AUTOMATIC":"自动","SETTINGS_HW_DISABLED":"关闭","SETTINGS_HW_ACCELERATED":"解码加速","SETTINGS_HW_FULL":"全加速","SETTINGS_HW_LEGACY":"旧版","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"字幕","SETTINGS_SECTION_AUDIO":"音频","SETTINGS_SECTION_CONTROLS":"控件","SETTINGS_SECTION_AUTO_PLAY":"自动播放","SETTINGS_SECTION_ADVANCED":"高级","SUBSPICKER_AUDIO":"音频","SUBSPICKER_SUBTITLES":"插件字幕","SUBSPICKER_BLACK_BACKGROUND":"使用黑色背景色","SUBSPICKER_VERTICAL_OFFSET":"垂直偏移量","SUBSPICKER_SIZE":"大小","SUBSPICKER_DELAY":"延迟","SUBSPICKER_EMBEDDED_SUBS":"内嵌字幕","MOBILE_PRIVACY_POLICY":"隐私政策","MOBILE_CRASH_REPORTING":"崩溃报告","MOBILE_ZOOM_TO_FILL":"缩放填充屏幕","MOBILE_PASSTHROUGH":"数字音频输出(直通)","MOBILE_RUN_LOW_BATTERY":"电池电量低时运行","MOBILE_RUN_FOREGROUND":"作为前台服务运行","MOBILE_PERFORMANCE":"性能&稳定性","MOBILE_SERVER_ONLINE":"在线","MOBILE_SERVER_OFFLINE":"离线","MOBILE_QR_EXPIRES":"二维码到期时间","MOBILE_LOG_INTO":"登陆到您的Stremio账户","MOBILE_SCAN_QR":"扫描上面的二维码或转到","MOBILE_LINK_ACCOUNT":"链接账户","MOBILE_SPEEDPICKER_CANCEL":"取消","MOBILE_SPEEDPICKER_LABEL":"选择播放速度","MOBILE_EMPTY_LIBRARY":"您的库为空","MOBILE_NO_ADDON_ACTIVE":"没有活动的此类型Stremio插件。","MOBILE_ORGANIZER_WARNING":"Stremio Organizer应用程序提供的功能有限,要获得可播放流的列表和完整的Stremio体验,请使用Stremio桌面客户端。","MOBILE_ADDON_LOADING":"仍在加载","MOBILE_ADDONS_LOADING":"插件仍在加载","MOBILE_ADDON":"插件","MOBILE_CONFIGURE_ADDON":"配置插件","MOBILE_CONFIGURE_ADDON_LABEL":"配置插件","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer应用程序仅提供有限的插件,要获得完整的Stremio体验,请使用Stremio桌面客户端。","MOBILE_DISCONNECT":"断开连接","MOBILE_LOOKING_FOR_DEVICES":"正在查找设备...","MOBILE_CAST_TO":"投屏到","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"删除帐户","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"由于法律义务,账户删除不是即时的。在请求删除您的帐户后,您将不得不使用不同的电子邮件地址/脸书个人资料在未来创建一个新的Stremio帐户。","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"确认帐户删除","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"您的帐户是使用Facebook创建的。要删除您的帐户,请使用我们的用户门户网站www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"请提供您的密码以确认帐户删除。","MOBILE_DELETE_ACCOUNT_BUTTON":"删除帐户","NAVIGATION_ON":"开启","NAVIGATION_OFF":"关闭","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"我同意接收Stremio的营销通知","QUIT":"退出","CONNECTED":"已连接","AUTHENTICATE":"验证","AUTHENTICATING":"Authenticating...","CACHING":"缓存","SETTINGS_CACHING_DRIVE":"缓存磁盘","ENABLE_LOCAL_FILES_ADDON":"启用本地文件插件(需要重新启动)","LOCAL_ADDON_NOT_ENABLED":"未启用本地插件,单击此处转到设置并启用它","ENABLE_REMOTE_HTTPS_CONN":"启用远程HTTPS连接","TORRENT_PROFILE":"Torrent配置","DATA_CACHING":"数据缓存","MAGNET_PARSING":"分析Magnet链接","January":"一月","February":"二月","March":"三月","April":"四月","May":"五月","June":"六月","July":"七月","August":"八月","September":"九月","October":"十月","November":"十一月","December":"十二月","Monday":"星期一","Tuesday":"星期二","Wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期天","Action":"动作","Comedy":"喜剧","War":"战争","Family":"家庭","Animation":"动画","Adventure":"冒险","Fantasy":"幻想","Crime":"犯罪","Mystery":"神秘","Romance":"浪漫","Drama":"剧情","Horror":"恐怖","Thriller":"惊悚","Sci-Fi":"科幻","Music":"音乐","Biography":"传记","Documentary":"纪录","Sport":"运动","Musical":"音乐剧","Western":"西部","Film-Noir":"黑色电影","News":"新闻","History":"历史","Game-Show":"游戏节目","Reality-TV":"真人秀","Talk-Show":"脱口秀","Film & Entertainment":"电影与娱乐","Gaming":"游戏","From TV":"电视","Lifestyle":"生活方式","Science & Education":"科学与教育","Cooking & Health":"烹饪与健康","Beauty & Fashion":"美丽与时尚","Sports":"体育","News & Politics":"新闻与政治","How-to & DIY":"DIY","Tech":"技术","Automotive":"汽车","Causes & Non-Profits":"事业与公益","Movies":"影视","Uk Live Tv":"英国直播电视台","Fashion":"流行","Business News Radio":"商业新闻电台","Business Tv":"商业电视","Cars & Auto":"汽车与自动化","Comedy Radio":"喜剧电台","Lifestyle Radio":"生活方式电台","News Tv":"新闻电视","Food And Wine":"食物与酒","Latino Tv":"拉丁语电视台","Shopping Tv":"购物电视台","Religion":"宗教","Kids":"儿童","Body & Soul":"身体与灵魂","Education":"教育","Indian Tv":"印度电视台","Extreme Sports":"极限运动","Middle Eastern Tv":"中东电视台","Celebrity Tv":"名人电视台","Science Tv":"科学电视台","Bikini babe":"比基尼宝贝","Outdoors":"户外","German Tv":"德国电视台","French Tv":"法国电视台","Italian Tv":"意大利电视台","Gamer Tv":"伽马电视台","Travel":"旅行","Asian Tv":"亚洲电视台","Entertainment":"游戏娱乐","News Radio":"新闻电台","Music Radio":"音乐电台","Language Learning":"语言学习","Science Radio":"科学电台","Tech Radio":"科技电台","Science & Technology Vod":"科技视频点播","new video":"新视频","new episode":"新一集","new movie":"新电影","recommended":"推荐","we recommend":"我们建议","offer of the day":"当日优惠","news":"新闻","music video":"音乐视频","CTX_SHOW_HOTKEYS":"显示快捷键","CTX_DISMISS_NOTIF":"清除通知","CTX_DISMISS_ALL":"全部清除","CTX_SHARE":"分享","CTX_COPY_SHARE_LINK":"复制分享链接","CTX_COPY_MAGNET_LINK":"复制Magnet链接","CTX_COPY_STREAM_LINK":"复制流媒体链接","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"下载此视频","CTX_DOWNLOAD_SUBS":"下载字幕","CTX_VIEW_ON_YOUTUBE":"在YouTube上观看","CTX_SHOW":"显示","CTX_PLAY":"播放","CTX_PLAY_IN":"播放","CTX_PLAY_ON":"正在播放","CTX_WATCH_ON":"正在观看","CTX_WATCH":"观看","CTX_WATCHED":"已观看","CTX_WATCH_BEGINNING":"从头开始观看","CTX_WATCH_MOBILE":"在移动设备上观看","CTX_REWIND":"回到开头","CTX_MARK_WATCHED":"标记为已观看","CTX_MARK_NON_WATCHED":"标记为未观看","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"将其余部分标记为已观看","CTX_UNMARK_REST":"将其余部分标记为未观看","CTX_RECEIVE_NEW_NOTIF":"接受新通知","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"从缓存中删除","CTX_REMOVE_CACHE_EP":"从缓存中删除集","CTX_OPEN_CONTAINING":"打开所在文件夹","CTX_REMOVE":"从库中删除","CTX_AVAILABLE_OFFLINE":"离线可用","CTX_PAUSED":"暂停","CTX_ALWAYS_ON_TOP":"置顶","CTX_FULLSCREEN":"全屏","CTX_WRONG_SUBS":"错误的字幕?","CTX_REPORT_ISSUES":"报告问题","CTX_COPY":"复制","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"粘贴","CTX_CLEAR":"清除","CTX_CLEAR_RECENT_SEARCHES":"清除最近搜索记录","HELLO_THERE":"您好","HOPE_YOU_ENJOY":"我们希望您喜欢Stremio,也许它已经是您最喜欢的应用之一了!","WHO_ARE_WE":"我们是谁?我们是它背后的团队。在过去三年里的每天,我们两个努力工作使这个产品越来越好。","SUPPORT_US":"如果您喜欢Stremio,如果Stremio对您来说很有价值,请传播它!","SPREAD_THE_WORD":"现在与您的朋友分享传播关于Stremio的信息","MORE_PEOPLE":"使用Stremio的人越多,效果就越好!","SEND_A_LINK":"或发送一个链接到我们的网站","TIP_LOCALFILES":"提示:您可以将本地视频文件拖放到Stremio中","ADDON_MY":"我的插件","ADDON_COMMUNITY":"社区插件","ADDON_OFFICIAL":"官方插件","ADDON_REPOS":"插件集合","ADDON_SEARCH":"搜索插件","ADDON_INSTALL":"安装","ADDON_CONFIGURE":"配置","ADDON_UNINSTALL":"卸载","ADDON_UPGRADE":"更新","ADDON_INSTALLED":"已安装","ADDON_INSTALLED_MSG":"插件已安装!","ADDON_UPGRADED_MSG":"插件已更新!","ADDON_UNKNOWN":"未知","ADDON_ERR":"插件安装错误!","ADDON_DISCONNECTED":"已断开连接","ADDON_APP_MISSING":"未安装此源的应用程序,您想现在安装吗?","ADDON_APP_INSTALL":"立即安装","ADDON_PAGE":"插件页","ADDON_TOP_CONTENT":"最好从这个插件","ADDON_PROVIDES":"这个插件会给您:","ADDON_WATCH":"立即观看#{types}!","ADDON_WATCH_FREE":"立即免费观看#{types}!","ADDON_ADDON":"插件","ADDON_SUPPORTED_TYPES":"支持的类型","ADDON_SUPPORTED_CATALOGS":"支持的目录","ADDON_PROVIDES_DISCOVER":"发现中的更多#{types}","ADDON_PROVIDES_STREAMS":"观看#{types}","ADDON_PROVIDES_STREAMS_FREE":"免费观看#{types}","ADDON_PROVIDES_SUBTITLES":"#{types}的字幕","ADDON_CANTDETECT":"我们无法检测到正在运行的Stremio,因此我们无法检测您安装了哪些插件。","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"找不到有关于此的信息","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"检索有关于此的信息时出错","ERR_CANT_PARSE_MAGNET":"无法分析Magnet","ERR_NO_MAGNET_INFOHASH":"Magnet缺少有效的Hash","ERR_NO_FILE_PATH":"没有文件路径无法发送请求","ERR_NO_TORRENT":"没有Torrent返回","ERR_NO_SUPPORTERD_FILES":"找不到支持的文件","ERR_OPENING_FILES":"无法打开外部文件","ERR_INVALID_LINK":"无效链接","ERR_REGISTERED_ONLY":"此选项仅适用于已注册用户。","ERR_CLIPBOARD":"无法从剪切板播放","ERR_CLIPBOARD_READ":"无法读取此平台上的剪切板","ERR_CLIPBOARD_GENERIC":"在剪切板中找不到可播放的URL. 请将URL(例如Magnet链接)复制到视频。","BOARD_CONTINUE_WATCHING":"继续观看","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"专门为您挑选的电影。<br />这部电影是一个推荐样例。","BOARD_EXPLANATION_EPISODES":"这里是您最喜爱的剧集的新一集。<br />将您关注的剧集添加到库中。","BOARD_EXPLANATION_VIDEOS":"这里是您最喜爱的频道的新一集。<br />将您关注的YouTube频道添加到库中。","WEBSITE_ENJOYED_BY":"在全球拥有超过3000万用户","WEBSITE_STREAMING_ENHANCED":"流媒体增强","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio提供安全、现代、无缝的娱乐体验。凭借其易于使用的界面和多样化的内容库,包括4K HDR支持,用户可以在所有设备上欣赏他们喜爱的电影和电视节目。Stremio致力于安全,是无忧、高质量流媒体体验的终极选择。","WEBSITE_AVAILABLE_ON":"可用时间","WEBSITE_WATCH_AND_ENJOY":"观看并享受。","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio让它变得小菜一碟","WEBSITE_ALL_FEATURES":"全部功能","WEBSITE_EASY_TO_USE":"易于使用","WEBSITE_EASY_TO_USE_DETAILS":"Stremio的设计是用户友好和易于使用。凭借其干净直观的界面,您可以轻松导航并找到想要观看的内容。","WEBSITE_SEAMLESS_ACROSS_DEVICES":"无缝跨设备","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Stremio可用于各种平台(包括Windows、Mac、Linux、Android等),它将跟踪您在所有设备上的进度。只需登录并继续观看,无需在每个新设备上再次配置应用程序。","WEBSITE_ALL_DOWNLOADS":"全部下载","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"高清晰度视频支持","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"集成视频播放器支持大多数视频格式,包括4K HDR内容,让您享受可用的最高质量。","WEBSITE_DIVERSE_CONTENT_LIBRARY":"多样化的内容库","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio集成了大量流行的视频来源,如Netflix、Amazon Prime video、Hulu、YouTube等。","WEBSITE_CREATE_A_FREE_ACCOUNT":"创建免费帐户","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"量身定制的观看体验","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio允许您通过更改主题、添加或删除插件等方式自定义界面的外观。","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"多语言字幕支持","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"由于Stremio支持所有语言的字幕,您现在可以用您喜欢的语言欣赏所有喜爱的内容。","WEBSITE_ALL_STREMIO_FEATURES":"Stremio的全部功能","WEBSITE_TRY_STREMIO_TITLE_P1":"尝试Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"现在在你的电视上","WEBSITE_YOU_CAN_NOW_WATCH":"您现在可以在Android电视设备上观看所有喜爱的电视节目。Stremio电视应用程序让您轻松享受电影之夜。","WEBSITE_YOU_CAN_NOW_WATCH_2":"现在,您可以在智能电视或安卓电视上观看所有喜爱的电视节目。Stremio电视应用程序让您轻松享受电影之夜。","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"可能是您设备中最好、最有用的应用程序。这是我每天使用的应用程序之一,尤其是多年来在我的安卓电视上。制作精良,拥有强大的社区,提供有用的功能。干得好。继续努力。","WEBSITE_REVIEWS":"评论","WEBSITE_GET_STREMIO_FOR_FREE":"免费获取Stremio","WEBSITE_GET_STREMIO_NOW":"立即获取Stremio","WEBSITE_STREMIO_FEATURES":"Stremio功能","WEBSITE_STREMIO_FEATURES_DETAILS":"借助Stremio的高级功能,像专业人士一样进行流媒体播放,享受对所有喜爱媒体的无缝访问","WEBSITE_DISCOVER_MORE":"发现更多。","WEBSITE_DISCOVER_MORE_DETAILS":"永远不要无聊地没有东西可看","WEBSITE_COMMUNITY_DRIVEN":"社区驱动","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio拥有一个庞大而活跃的用户社区,他们通过创建和共享插件为软件的开发做出贡献。","WEBSITE_GET_INVOLVED":"参与进来","WEBSITE_NEW_THEATER_EXPERIENCE":"新剧场体验","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio的新专用电视应用程序让您在Android电视设备上享受电影之夜。","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio的新专用电视应用程序让您在智能电视或安卓电视设备上享受电影之夜。","WEBSITE_FREE_AND_SECURE":"免费和安全","WEBSITE_STREAMING":"流式传输","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio为用户提供无与伦比的安全性和隐私。Stremio具有远程运行插件的独特功能,与其他平台相比,它提供了一种更安全的方式来流式传输您喜爱的内容。您的安全和隐私是首要任务,平台确保您的所有数据都得到保护。","WEBSITE_FREE_AND_SECURE_DETAILS_2":"告别对安全和隐私的担忧,与Stremio一起向无尽娱乐的世界问好。","WEBSITE_INFORMATION_PROVIDED_BY":"信息来源于","WEBSITE_CONTRIBUTE_DESC":"帮助我们让Stremio变得更好","WEBSITE_COMMUNITY_DESC":"我们相信,创造真正令人惊叹的流媒体体验的最佳方式是让我们的社区参与到这个过程中。无论你是程序员、艺术家还是粉丝,你都可以帮助Stremio成长。","WEBSITE_COMMUNITY_DESC_2":"所以,今天就加入我们,成为Stremio社区的一员,继续塑造流媒体的未来。","WEBSITE_WAYS_TO_GET_INVOLVED":"参与方式","WEBSITE_IN_THE_STREMIO_COMMUNITY":"在Stremio社区","WEBSITE_SHARE_YOUR_THOUGHTS":"分享你的想法","WEBSITE_REPORT_BUGS":"报告Bug","WEBSITE_SUGGEST_FEATURES":"建议功能","WEBSITE_AND_PROVIDE_FEEDBACK":"并在我们的社交媒体渠道上提供反馈。","WEBSITE_BETA_TESTING_PROGRAM":"Beta测试程序","WEBSITE_BETA_TESTING_PROGRAM_DESC":"在Stremio社区参与我们的测试计划(我们定期发出邀请)。","WEBSITE_JOIN_NOW":"立即加入!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Stremio官方社区","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Stremio非官方社区","WEBSITE_BECOME":"成为","WEBSITE_A_VOLUNTEER_TRANSLATOR":"一位志愿翻译者","WEBSITE_ARE_YOU_A_DEVELOPER":"你是开发者吗?","WEBSITE_CONTRIBUTE_CODE":"您可以为我们的开源项目贡献代码。我们在GitHub上有几个项目正在寻找贡献者。如果你有兴趣帮忙,可以去看看:","WEBSITE_STREMIO_ON_GITHUB":"GitHub上的Stremio","WEBSITE_CREATE_ADDON_DESC":"创建一个插件以增强Stremio的功能(我们有一个易于使用的API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio插件SDK","WEBSITE_INTERN_DEVELOPER":"我们还提供了作为实习生开发人员加入我们的机会,这样我们就可以一起成长。","WEBSITE_APPLY_AS_AN_INTERN":"以实习生身份申请","WEBSITE_CALLING_ALL_ARTISTS":"呼叫所有艺术家!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"通过将您的粉丝艺术上传到我们的在线画廊,展示您对Stremio的创造力和热爱。无论是绘画、绘画还是数字设计,我们都希望看到您对Stremio品牌的独特见解。加入我们的艺术爱好者社区,与世界各地的Stremio粉丝分享您的作品。","WEBSITE_STREMIO_FANART_GALLERY":"Stremio粉丝艺术画廊","WEBSITE_INTERN_DESIGNER":"通过我们激动人心的实习机会,成为我们团队的一员,将您的创造力提升到新的高度。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"公共领域电影项目","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"在Stremio,我们致力于通过识别公共领域和孤儿视频来保护电影和电视的历史。通过与我们的社区合作,我们可以确保这些经典艺术作品对每个人都是可访问的,并为后代所保护以供享受。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"如果您想参与该项目,请随时与我们联系。","WEBSITE_JOIN_THE_PROJECT":"加入项目","WEBSITE_BE_PART_OF_OUR_MISSION":"成为我们使命的一部分","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"有兴趣加入斯特雷米奥队吗?我们为充满激情的专业人士提供完全远程工作。查看我们的空缺职位。","WEBSITE_OPEN_POSITIONS":"空缺职位","WEBSITE_DESCRIPTION":"说明","WEBSITE_LEARN_MORE":"了解更多","WEBSITE_COMPANY":"公司","WEBSITE_CONTACTS":"联系人","WEBSITE_NEED_HELP":"需要帮助?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS版Stremio Web指南","WEBSITE_LINK_ART_V2":"粉丝艺术画廊","WEBSITE_PARTNERS":"合作伙伴","WEBSITE_SLOGAN_WATCH":"立即观看","WEBSITE_SLOGAN_ALL":"一站式视频娱乐解决方案","WEBSITE_SLOGAN_NEW":"您能观看一切","WEBSITE_SLOGAN_NEW_NEW":"自由串流","WEBSITE_WATCH_FROM":"观看","WEBSITE_DOWNLOAD":"立即下载","WEBSITE_DOWNLOAD_FOR":"立即下载","WEBSITE_IS_DESKTOP":"Stremio是一个桌面应用程序,请在PC上打开此页并下载","WEBSITE_DESKTOP_DEMO_VID":"桌面演示","WEBSITE_PAGE_HOME":"首页","WEBSITE_PAGE_FEATURES":"功能","WEBSITE_PAGE_ADDONS":"插件","WEBSITE_PAGE_TECH":"技术","WEBSITE_PAGE_CREATE_ADDON":"创建插件","WEBSITE_PAGE_CONTACTS":"联络","WEBSITE_PAGE_BLOG":"博客","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"电影","WEBSITE_TYPE_series_PL":"剧集","WEBSITE_TYPE_tv":"直播电视","WEBSITE_TYPE_channel":"频道","WEBSITE_STREMIO_WHAT_IS":"Stremio是一款帮助您管理和随时观看您喜爱的视频、电影、剧集和电视频道的应用程序","WEBSITE_FEATURES_WATCH":"立即观看高清视频","WEBSITE_FEATURES_WATCH_DETAIL":"点击并播放您喜爱的电影、剧集、视频和电视频道。","WEBSITE_FEATURES_SUBS":"自动加载字幕","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio会自动为您的语言选择同步字幕。","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"在电视和移动设备上播放","WEBSITE_FEATURES_CAST_DETAIL":"适用于AppleTV、Chromecast、智能电视(DLNA/UPnP)和移动设备。","WEBSITE_LIB":"享受在所有设备上同步的个人库","WEBSITE_LIB_COLLECT":"从Stremio收集","WEBSITE_LIB_IMPORT":"从Facebook导入","WEBSITE_LIB_LOCAL":"从本地磁盘添加","WEBSITE_BOARD":"首页 - 通知和推荐的一站式场所","WEBSITE_BOARD_RECOMMEND":"推荐电视节目","WEBSITE_BOARD_TRENDING":"流行电影","WEBSITE_BOARD_NEW":"新视频","WEBSITE_BOARD_EPISODE":"新一集","WEBSITE_BOARD_1":"想看些有趣的东西吗?根据您的喜好得到推荐!","WEBSITE_BOARD_2":"当您最喜爱的电视节目或YouTube频道的新一集播出时获得通知!","WEBSITE_BOARD_YOUTUBE":"YouTube频道的新视频","WEBSITE_BOARD_EPISODES":"您关注的剧集的新一集","WEBSITE_ADDONS":"内容插件","WEBSITE_TECH_DETAIL":"我们热爱科技,我们热爱疯狂的科学!\\nStremio使用了以下开源技术:","WEBSITE_TECH_WCJS":"WebChimera.js允许Stremio以良好的性能播放任何视频格式。","WEBSITE_TECH_WCJS_EXTRA":"我们是项目的核心贡献者","WEBSITE_TECH_ELECTRON":"Electron为Stremio提供了一个创新平台。","WEBSITE_TECH_ELECTRON_EXTRA":"我们是项目贡献者","WEBSITE_TECH_LINVODB":"一种数据库技术,确保您的数据在任何地方登录都受管理和可用。","WEBSITE_TECH_LINVODB_EXTRA":"内部技术","WEBSITE_CREATE_ADDON":"创建您的插件","WEBSITE_CREATE_ADDON_DETAIL":"您有提供视频内容的服务吗?我们将通过创建插件来帮助您从Stremio的功能中获益。","WEBSITE_CREATE_ADDON_BENEFITS":"为Stremio创建插件的好处","WEBSITE_P2P_BEAUTY":"点对点流媒体之美","WEBSITE_P2P_1":"可靠且价格合理的全高清/4K视频点播或流媒体直播","WEBSITE_P2P_2":"提供良好用户体验的分销平台","WEBSITE_P2P_3":"我们将创建一个插件来满足您的确切需要","WEBSITE_P2P_CONTACT":"有兴趣吗?欢迎您通过<a href=\'mailto:office@stremio.com\'>联系我们</a>.","WEBSITE_P2P_CONTACT_EXTRA":"我们很乐意帮助您将您的内容集成到Stremio!","WEBSITE_P2P":"偶然间出现了一种改变游戏名称的技术。 我们投入了大量的时间和精力来构建我们的点对点(P2P)视频流媒体引擎,该引擎可提供出色的性能和多功能性,以适应任何用例。\\n请联系我们以获取支持DRM的P2P视频点播或实时流媒体。","WEBSITE_THOUGHTS":"我们分享的想法:","WEBSITE_SPREAD":"传播关于Stremio的信息:","WEBSITE_CONTACT":"联系我们,我们很高兴收到您的来信!","WEBSITE_OPENSOURCE":"有关我们的开源项目,请转到:","WEBSITE_BITCOIN":"捐赠比特币:","WEBSITE_FAQ":"常见问题","WEBSITE_FAQ_SHORT":"常见问题","WEBSITE_QUESTIONS":"问题","WEBSITE_TOS":"使用条款","WEBSITE_LEGAL":"法律","WEBSITE_PAGE_ABOUT":"关于","WEBSITE_PAGE_BECOME_PARTNER":"成为合作伙伴","WEBSITE_ALL_YOU_CAN_WATCH":"自由观看\\n您想看的一切。","WEBSITE_FREEDOM_TO_STREAM":"自由串流","WEBSITE_WHAT_IS_STREMIO":"什么是Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio是一个一站式视频内容聚合中心。在您拥有的任何设备上发现,管理和观看来自各种来源的视频。","WEBSITE_WHAT_IS_STREMIO_P2":"电影、电视节目、剧集、电视直播或网络频道例如YouTube或Twitch.tv等,您可以在Stremio上找到所有这些内容。","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio是一个现代化的媒体中心,为您的视频娱乐提供一站式解决方案。您可以通过易于安装的插件发现,观看和整理视频内容。","WEBSITE_WHAT_IS_STREMIO_P2_V2":"电影、电视节目、直播电视或网络频道——在Stremio上找到所有这些。","WEBSITE_ENJOI_ON_ALL_DEVICES":"在所有媒体设备上享受","WEBSITE_DEVICES_COLLECT":"从Stremio收集","WEBSITE_DEVICES_IMPORT_FB":"从Facebook导入","WEBSITE_DEVICES_LOCAL":"从本地磁盘添加","WEBSITE_JOIN_THE_PARTY_NOW":"立即加入聚会","WEBSITE_DEVICES_ALL":"易于在所有设备上使用;","WEBSITE_EXTENDABLE_CATALOG":"可无限扩展的视频目录;","WEBSITE_ORGANIZE_YOUR_MEDIA":"强大的媒体管理功能;","WEBSITE_AS_SEEN_ON":"如图所示","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"关于我们","WEBSITE_LINK_TECHNOLOGY":"技术","WEBSITE_LINK_APPS":"应用程序","WEBSITE_LINK_DOWNLOADS":"下载","WEBSITE_MORE":"更多","WEBSITE_LINK_ADDONS":"插件","WEBSITE_LINK_ADDON_SDK":"插件SDK","WEBSITE_LINK_CONTRIBUTE":"贡献","WEBSITE_LINK_COMMUNITY":"社区","WEBSITE_LINK_BLOG":"博客","WEBSITE_MORE_MORE":"... & 更多","WEBSITE_LINK_HELP":"帮助中心","WEBSITE_LINK_CONTACTS":"业务查询","WEBSITE_LINK_TOS":"条款和条件","WEBSITE_LINK_PRAVACY":"隐私政策","WEBSITE_SUBSCRIBE":"订阅","WEBSITE_NEWSLETTER":"加入我们的实时通讯,了解精彩的内容","WEBSITE_PLACEHOLDER_EMAIL":"您的电子邮箱","WEBSITE_COMMUNITY":"社区","WEBSITE_LINK_PRAVACY_LEGAL":"隐私与法律","WEBSITE_WHY":"我们为什么这样做","WEBSITE_WHY_P1":"在Stremio,我们每天都工作,因为我们想解决视频点播行业的一个重要问题。每分钟都有这么多的新内容发布,几乎不可能找到解决的方法。","WEBSITE_WHY_P2":"我们帮助人们浏览这个巨大的视频娱乐世界,发现新的内容来享受。我们的应用程序汇集了电影、剧集、电视直播、网络频道等。我们致力于让用户非常容易地找到他们喜欢的标题和广播。","WEBSITE_WHY_P3":"您可以随时在任何设备上使用我们的服务,使Stremio成为您唯一需要的视频娱乐中心。","WEBSITE_TEAM":"团队","WEBSITE_TEAM_P":"Stremio团队虽小但很强大:我们10个人用X语言编写代码,分享软件开发、UI和UX设计、营销和广告、商业和初创企业方面的专业知识。","WEBSITE_FEATURES":"功能","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"轻松发现新内容","WEBSITE_FEATURES_DISCOVER_P":"轻松发现要观看的新电影、电视节目、剧集和频道。按类别、流派、评分、时间等浏览,或者只需键入一个名称即可找到。Stremio让寻找新的视频内容变得轻而易举。","WEBSITE_FEATURES_ALL_CONTENT":"一块屏幕显示所有视频内容","WEBSITE_FEATURES_ALL_CONTENT_P1":"查看您未看完的电影、剧集或视频,并继续观看;获得新剧集和版本的通知;浏览根据您的观看习惯获得的推荐。","WEBSITE_FEATURES_LIBRARY":"管理您的视频库","WEBSITE_FEATURES_LIBRARY_P1":"只需点击一下,即可将任何标题添加到您的Stremio库中,并按类型、时间或字母顺序整齐地排列内容。","WEBSITE_FEATURES_CALENDAR":"记录您所观看的一切","WEBSITE_FEATURES_CALENDAR_P1":"获取添加到库中的所有电影和系列的日历可视化。导出您的Stremio日历并同步它,这样您就可以随时知道新的一集或首映何时到来。","WEBSITE_FEATURES_BIG_SCREEN":"在大屏幕上欣赏您的视频内容","WEBSITE_FEATURES_BIG_SCREEN_P1":"将您正在观看的任何内容都投屏到另一台设备上,无论是手机、平板电脑还是电视,只需点击一下即可。","WEBSITE_FEATURES_SOURCES":"观看不同来源的视频","WEBSITE_FEATURES_SOURCES_P":"安装官方和社区插件,欣赏来自多个不同供应商的视频。","WEBSITE_CREATE_AN_ADDON":"创建插件","WEBSITE_FEATURES_SYNC":"跨设备同步库并恢复播放","WEBSITE_FEATURES_SYNC_P1":"使用您的帐户在所有设备上登录,享受同步的库、插件、播放和日历。","WEBSITE_FEATURES_EXTENDABLE":"通过插件扩展视频目录","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio插件目录提供了许多插件,可以从中安装和观看各种视频内容。这包括电影、节目、电视直播、体育、新闻、播客、网络频道、视频游戏等。","WEBSITE_FEATURES_AUTO_SUBS":"自动加载字幕","WEBSITE_FEATURES_AUTO_SUBS_P1":"通过我们的字幕插件,您可以自动选择您喜欢的语言。","WEBSITE_FEATURES_CHROMECAST":"投屏到Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"在更大的屏幕上欣赏您的视频内容,或者将您正在观看的内容投屏到其他设备上。","WEBSITE_FEATURES_KEEP_TRACK":"跟踪您最喜爱的电视节目和网络频道","WEBSITE_FEATURES_KEEP_TRACK_P1":"获取您最喜爱的剧集和网络频道的新一集的日历可视化和通知。","WEBSITE_FEATURES_POWER_USER":"超级用户功能","WEBSITE_FEATURES_POWER_USER_P1":"在外部播放器中播放","WEBSITE_FEATURES_POWER_USER_P2":"从Torrent文件或Magnet链接播放","WEBSITE_FEATURES_POWER_USER_P3":"从Facebook喜爱或本地磁盘导入您的库","WEBSITE_ADD_ONS":"插件","WEBSITE_ADD_ONS_P1":"Stremio提供的所有视频内容都是通过插件系统获取的,应用程序中没有内置任何内容或内容提供商。","WEBSITE_ADD_ONS_P2":"有两组插件可用:官方和社区插件。","WEBSITE_ADD_ONS_P3":"官方插件由Stremio开发和托管,而社区插件由我们的社区成员创建和托管。","WEBSITE_ADDONS_OFFICIAL":"官方插件","WEBSITE_ADDONS_WATCHUB":"从iTunes、Hulu、Amazon和其他英国/美国服务提供商处流式播放您喜爱的电影、剧集和节目。","WEBSITE_ADDONS_YOUTUBE":"观看您喜爱的YouTube频道,获得您关注的贡献者的新上传通知。","WEBSITE_ADDONS_FILMON":"免费观看直播电视、电影和社交电视。600个电视频道,45000部免费电影,纪录片以及更多","WEBSITE_ADDONS_OPENSUBTITLES":"多语种影视字幕,每天上传上千个翻译字幕。","WEBSITE_ADDONS_COMMUNITY":"社区插件","WEBSITE_ADDONS_FILMON_VOD":"观看来自Filmon.tv的点播视频。","WEBSITE_ADDONS_TWICH":"观看来自Twitch.tv(电子竞技行业的视频流媒体平台)的直播。","WEBSITE_ADDONS_VODO":"观看完全免费的独立电影。","WEBSITE_ADDONS_NETFLIX":"观看Netflix的电影和网剧。","WEBSITE_ADDONS_CREATE":"创建插件","WEBSITE_ADDONS_CREATE_P1":"如果您愿意,您可以开发自己的插件。通过这种方式,您可以让自己和我们的社区访问新的视频内容,并接触到全球数百万用户的新目标受众。","WEBSITE_ADDONS_START_CREATE":"要开始,请访问Stremio插件SDK页面:","WEBSITE_DOWNLOADS":"下载","WEBSITE_DOWNLOADS_P1":"为了获得最佳性能,我们建议您使用最新版本的Stremio应用程序。但是,如果出于某种原因,您想使用旧版本,可以在此处下载。","WEBSITE_DOWNLOADS_P1_SHORT":"为了获得最佳性能,我们建议您使用最新版本的Stremio应用程序,","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS(限制版本)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"下载Stremio服务","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service是Stremio Web的配套应用程序。我们建议使用最新版本的Stremio Service。","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"更多下载选项","WEBSITE_DOWNLOAD_NEW":"新!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"我们发布了Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"贡献","WEBSITE_CONTRIBUTE_P1":"Stremio平台是开源的,您可以轻松地为当前没有来源的内容创建一个插件。","WEBSITE_CONTRIBUTE_WHY":"为什么要创建插件?","WEBSITE_CONTRIBUTE_WHY_P1":"为您的视频内容吸引新观众","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio的用户群体正在快速增长,在推出的第一年,Stremio在全球获得了100万用户,在该平台存在的第二年,这个数字增长到250万。","WEBSITE_CONTRIBUTE_WHY_P3":"用插件,您可以轻松接触这些观众并向他们分发您的视频内容。","WEBSITE_CONTRIBUTE_ALL":"在一处观看您喜爱的电影、视频、剧集和频道。","WEBSITE_CONTRIBUTE_ALL_P1":"您是Stremio上尚未提供的特定类型内容的粉丝?为它创建一个插件,在市场上最大、最易使用的娱乐中心之一欣赏您喜爱的视频。","WEBSITE_CONTRIBUTE_ALL_P2":"除此之外,您还会得到其他志同道合的Stremio社区成员的无尽感激。","WEBSITE_CONTRIBUTE_MONETIZE":"通过插件营利,并在其帮助下赚钱","WEBSITE_CONTRIBUTE_MONETIZE_P1":"一旦您为Stremio开发了一个新的插件,您就可以通过多种不同的方式轻松地靠其营利。如果您正在考虑此问题,请随时与我们联系","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":",我们很乐意就插件营利选项向您提供咨询和建议。","WEBSITE_CONTRIBUTE_TRANSLATE":"成为一名志愿翻译者","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"如果您想享受不同语言的Stremio应用程序,您可以加入我们的志愿翻译者社区。他们帮助我们添加多种不同语言的Stremio版本。","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"您想开始吗?","WEBSITE_TRANSALTE_STREMIO":"翻译Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"官方社区","WEBSITE_COMMUNITY_OFFICIALS_P1":"成为不断增长的Stremio社区的一部分。在社交媒体上关注我们,不要害羞地打招呼,我们喜欢听到粉丝的声音!","WEBSITE_COMMUNITY_UNOFFICIALS":"非官方社区","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"合作伙伴和支持者","WEBSITE_COMMUNITY_GOODIES":"Stremio特典","WEBSITE_COMMUNITY_WALLPAPERS":"壁纸","WEBSITE_COMMUNITY_ART":"社区艺术画廊","WEBSITE_LINK_ART":"社区艺术画廊","WEBSITE_CONTACT_US":"联系我们","WEBSITE_CONTACT_US_P1":"如果您有任何问题、意见或建议,请随时通过下面的联系方式与我们联系。","WEBSITE_CONTACT_US_P2":"请记住,我们位于保加利亚,因此可能会由于时区差异而延迟处理您的问题。","WEBSITE_CONTACT_US_SUCCESS":"您的信息已发送。我们会在方便的时候尽快给您回复。","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"请输入有效的电子邮箱!","WEBSITE_CONTACT_US_Q_RELATED_TO":"您的问题与什么有关?","WEBSITE_CONTACT_US_Q_OS":"您的操作系统是什么?","WEBSITE_CONTACT_US_PH_EMAIL":"您的电子邮箱","WEBSITE_CONTACT_US_PH_MESSAGE":"短信","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"发送","WEBSITE_CONTACT_US_Q_1":"如何安装?","WEBSITE_CONTACT_US_Q_2":"如何卸载?","WEBSITE_CONTACT_US_Q_3":"(HTML)如何制作千层面?","WEBSITE_CONTACT_US_Q_4":"插件","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"技术","WEBSITE_TECHNOLOGY_P1":"我们热爱科技,热爱科学。</br>这是Stremio的动力(它都是开源的)。","WEBSITE_TECHNOLOGY_P_QT":"最佳跨平台软件开发工具。","WEBSITE_TECHNOLOGY_P_MPV":"一款免费、开源、跨平台的媒体播放器。","WEBSITE_TECHNOLOGY_P_RN":"React Native允许您仅使用JavaScript构建移动应用程序。","WEBSITE_TECHNOLOGY_P_VLC":"嵌入到应用程序中获取多媒体的媒体框架。","WEBSITE_TECHNOLOGY_P_REALM":"Realm是一个移动平台,是SQLite和Core Data的替代品。","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js是一个开源、跨平台的JavaScript运行环境。","WEBSITE_TECHNOLOGY_P_RUST":"Rust是一种多范式系统编程语言,关注安全性,尤其是安全并发性。","WEBSITE_TECHNOLOGY_CONTRIBUTE":"为项目贡献力量","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"您可以通过两种方式为Stremio做贡献,帮助我们将产品做得更好。","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"您可以通过翻译平台来贡献您宝贵的语言技能...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"或","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... 您可以利用您的编程技巧来创建社区插件。","WEBSITE_TRANSLATE_STREMIO":"翻译Stremio","WEBSITE_404_OH_NO":"糟糕!您要找的页面不在这里...","WEBSITE_GO_HOME":"回到主页","WEBSITE_LINK_OTHER_DOWNLOADS":"其他下载","WEBSITE_FAQ_ABR":"常见问题","WEBSITE_SUPPORT":"支持","WEBSITE_DOWNLOAD_4_0_BETA":"立即下载Stremio 4测试版","WEBSITE_GET_FOR_DESKTOP":"获取桌面","WEBSITE_LINK_ADDON_COMPETITION":"插件比赛","WEBSITE_LINK_ART_CONTEST":"艺术比赛","WEBSITE_MY_ACCOUNT":"我的账户","WEBSITE_MAINPAGE_FAQ_001_H1":"什么是Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio是一个现代化的媒体中心,让您可以自由观看任何您想要的东西。","WEBSITE_MAINPAGE_FAQ_002_H1":"它是如何工作的?","WEBSITE_MAINPAGE_FAQ_002_P1":"一旦您在设备上安装了Stremio并创建了一个帐户,您所要做的就是访问插件目录并安装任何您想要的插件,就可以开始了!","WEBSITE_MAINPAGE_FAQ_002_P2":"之后,您可以进入“发现”或“板”部分,开始探索内容。","WEBSITE_MAINPAGE_FAQ_003_H1":"我可以在这里看什么?","WEBSITE_MAINPAGE_FAQ_003_P1":"很多:电影、电视节目、网络频道、体育、电视频道、收听播客等等。感谢我们的插件系统,您可以访问各种内容。","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio是开源的吗?","WEBSITE_MAINPAGE_FAQ_004_P1":"是的,您可以查看以下链接:${1}桌面应用${2}和${3}GitHub组织${4}。","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio安全吗?","WEBSITE_MAINPAGE_FAQ_005_P1":"是:因为它是开源软件,所以代码可以公开审核,您可以自己查看。","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"我的隐私如何?","WEBSITE_MAINPAGE_FAQ_006_P1":"我们尊重用户隐私,除了创建和同步您的帐户所必需的最低限度外,不收集任何个人数据。","WEBSITE_MAINPAGE_FAQ_006_P2":"注册时还有一个${1}访客模式${2},它不需要任何数据:在这种模式下,不会调用我们的后端。然而,这是以牺牲有用的功能为代价的,比如能够跨设备同步您的库。","WEBSITE_MAINPAGE_FAQ_007_H1":"我可以投屏到电视吗?","WEBSITE_MAINPAGE_FAQ_007_P1":"是的,我们支持Chromecast,您可以从桌面和移动应用程序(Android)进行强制转换。","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio有多少插件?","WEBSITE_MAINPAGE_FAQ_008_P1":"截至2019年末,超过50个。有关更多信息,请查看我们的插件目录。","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio是否可以扩展到插件目录之外?","WEBSITE_MAINPAGE_FAQ_009_P1":"是的,您应该查看这些:${1}PimpMyStremio${2},${3}Reddit communities${4},${5}Stremio Downloader${6},等等。","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio支持哪些设备?","WEBSITE_MAINPAGE_FAQ_010_P1":"我们有适用于Windows、Mac和Linux的桌面应用程序。对于移动设备,我们支持Android和iOS,但请记住iOS的功能有限(不支持大多数插件)。","WEBSITE_MAINPAGE_FAQ_010_P2":"有很多基于Android的设备可以在上面运行Stremio,比如NVIDIA Shield和Amazon Fire Stick,但我们并不正式支持它们。","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"您们能为Stremio添加某些内容吗?","WEBSITE_MAINPAGE_FAQ_011_P1":"抱歉,我们本身不提供任何内容,但是您安装的Stremio插件越多,您可以找到的内容就越多。","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio可以播放Magnet链接吗?","WEBSITE_MAINPAGE_FAQ_012_P1":"是的,它还可以播放正常的HTTP链接和Torrent文件(拖放)。","WEBSITE_MAINPAGE_FAQ_013_H1":"我可以下载视频并离线观看吗?","WEBSITE_MAINPAGE_FAQ_013_P1":"离线可用是一项即将推出的功能,但如果您允许Stremio在设备上缓存(从“设置”面板),您可以稍后在没有连接的情况下观看视频。","WEBSITE_MAINPAGE_FAQ_014_H1":"什么都不能用,帮帮我!","WEBSITE_MAINPAGE_FAQ_014_P1":"您确定已安装插件吗?如果是,请与我们的${1}帮助中心${2}联系","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio如何维持其开发运营?","WEBSITE_MAINPAGE_FAQ_015_P1":"我们偶尔会播放非侵入性广告,但我们正在考虑转向捐赠模式。","WEBSITE_MAINPAGE_FAQ_015_P2":"有关更多问题,请访问我们的${1}帮助中心${2}。","HELP_LEARN_MORE":"帮助我们了解更多有关您的信息。","LIFESTYLE":"生活方式","SPORTS":"体育","FOOD_HEALTH":"饮食与健康","BEAUTY_FASHION":"美丽与时尚","NEWS":"新闻","GAMING":"游戏","SCIENCE_EDUCATION":"科学与教育","MUSIC":"音乐","TRAVEL":"旅行","LATE_NIGHT":"深夜","REALITY":"真人","COMEDY":"喜剧","DIY":"DIY","TECH":"技术","CINEMA":"影院","CONTINUE":"继续","SLOW_LOADING":"加载缓慢?","I_GIVE_UP":"我放弃了","LEARN_MORE":"了解更多","POOR_SOURCE":"此源不可用或您的网络连接不够快","PICK_CATEGORIES_ERR":"您必须至少选择3个类别","ADJUST_TIMING":"调整时间","ADJUST_SIZE":"调整大小","SEARCH_ANYTHING":"您可以搜索一切...","ALL_CATEGORIES":"全部","SEARCH_CATEGORIES":"电影、剧集、YouTube和电视","SEARCH_PERSONS":"演员、导演和编剧","SEARCH_PROTOCOLS":"HTTP或Magnet链接","SEARCH_TYPES":"IMDB/TVDB链接","WATCHED":"已观看","SHOW_LESS":"显示较少","LAST_SEARCHES":"上次搜索","CLEAR_HISTORY":"清除历史记录","CHOOSE_SOME":"选择其中一些:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"无法加载Web Remote","STREMIO_OFFLINE":"Stremio离线","STREMIO_EXPENSIVE_CONNECTION":"我们检测到您正在使用移动数据连接,是否继续?","USE_DATA":"使用移动数据","WARNING":"警告","MORE_INFO":"更多信息...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"加载...","STREMIO_TV_BACK_TO_LANGUAGES":"返回语言","STREMIO_TV_REMOTE":"远程","STREMIO_TV_GO_TO":"去往:","STREMIO_TV_OR_SCAN":"或扫描:","STREMIO_TV_ADDON_INSTRUCTIONS":"请按照说明安装您喜欢的插件。","STREMIO_TV_LIVE_TV":"直播电视","STREMIO_TV_RESUME_WATCHING":"继续观看","STREMIO_TV_LOADING_BACKGROUND":"加载背景","STREMIO_TV_CHECKING_AUTHENTICATION":"正在检测身份验证","STREMIO_TV_LOADING_BOARD":"加载主页","STREMIO_TV_LOGIN_HEADER_LINE_1":"我们希望用户在使用我们的软件时有最好的个性化体验,","STREMIO_TV_LOGIN_HEADER_LINE_2":"正是出于这个原因,我们恳请您建立和/或登录您的账户,","STREMIO_TV_LOGIN_FOOTER_LINE_1":"感谢您的理解,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio团队","STREMIO_TV_REMOTE_INSTRUCTIONS":"为了在您的智能手机/平板电脑/桌面使用Web Remote:","STREMIO_TV_WIFI_SETUP":"Wi-Fi设置","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle未检测到互联网连接。","STREMIO_TV_WIFI_DETAILS_1":"连接到:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"使用密码:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"在浏览器中打开链接:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"默认","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"按最近观看","STREMIO_TV_LIBRARY_SORT_NAME":"按名字","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"按观看次数","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"季${1}","STREMIO_TV_STREAMS_LOADING":"已加载${1}/${2}插件...","STREMIO_TV_STREAMS_STILL_LOADING":"${1}插件仍在加载...","STREMIO_TV_PLAYER_SETTINGS":"播放器设置","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"字幕延迟","STREMIO_TV_PLAYER_AUDIO_DELAY":"音频延迟","STREMIO_TV_PLAYER_VIDEO_SCALING":"视频缩放","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"不支持的流媒体源","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"打开外部链接失败","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"在音频直通模式下不可调整","STREMIO_TV_PLAYER_PLAY_IN_EXO":"使用ExoPlayer播放","STREMIO_TV_PLAYER_PLAY_IN_VLC":"使用libVLC player播放","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"由于播放错误而切换到libVLC player","STREMIO_TV_ADDONS_TITLE":"在手机或PC上使用Stremio安装或配置插件,然后按\\"同步插件\\"","STREMIO_TV_ADDONS_SUBTITLE":"注意:确保您使用的是相同的Stremio帐户","STREMIO_TV_ADDONS_SYNC_ADDONS":"同步插件","STREMIO_TV_ADDONS_SYNC_SUCCESS":"插件成功同步","STREMIO_TV_ADDONS_SYNC_FAILED":"插件同步失败","STREMIO_TV_META_LINK_FAILED":"打开元链接失败","STREMIO_TV_CATALOG_LOADING":"目录仍在加载...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"界面语言已更新","STREMIO_TV_SETTINGS_THEME_UPDATED":"主题已更新","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"默认播放器","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"外部播放器","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"首选语言","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"次要首选语言","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"隧道播放","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"某些设备上可能存在播放问题","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"某些视频格式可能无法播放","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"帧速率匹配","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"关闭","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"仅帧速率","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"帧速率和分辨率","STREMIO_TV_SETTINGS_NO_CACHING":"无缓存","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"默认","STREMIO_TV_SETTINGS_PROFILE_SOFT":"慢","STREMIO_TV_SETTINGS_PROFILE_FAST":"快","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"超快","STREMIO_TV_SETTINGS_SERVER_URL":"流媒体服务器URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"服务器版本","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"未知","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio版本","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"编辑服务器URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"输入流媒体服务器URL","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"加载时显示统计信息","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"要阅读Stremio的隐私政策,请访问:","STREMIO_TV_SETTINGS_TOS_TEXT":"要阅读Stremio的条款和条件,请访问:","STREMIO_TV_NAV_SEARCH":"搜索","STREMIO_TV_NAV_HOME":"主页","STREMIO_TV_NAV_DISCOVER":"发现","STREMIO_TV_NAV_LIBRARY":"库","STREMIO_TV_NAV_MOVIES":"电影","STREMIO_TV_NAV_SERIES":"剧集","STREMIO_TV_NAV_CHANNELS":"频道","STREMIO_TV_NAV_TV":"电视直播","STREMIO_TV_NAV_SETTINGS":"设置","STREMIO_TV_NAV_ADDONS":"插件","STREMIO_TV_LOGIN_TITLE":"链接账户","STREMIO_TV_LOGIN_EXPIRES_IN":"过期日期到","STREMIO_TV_LOGIN_STEP_ONE":"扫描上方的二维码或转到","STREMIO_TV_LOGIN_STEP_TWO":"登录您的Stremio帐户","STREMIO_TV_LOGIN_NEW_LINK":"请求新链接","STREMIO_TV_LOGIN_LINK_REFRESHED":"登录代码已刷新","STREMIO_TV_SEARCH_PLACEHOLDER":"输入一些东西","STREMIO_TV_SEARCH_NO_ADDONS":"没有为目录请求插件!","STREMIO_TV_SEARCH_BUTTON":"搜索","STREMIO_TV_SEARCH_KEY_DEL":"删除","STREMIO_TV_SEARCH_KEY_SPACE":"空格","STREMIO_TV_SEARCH_KEY_CLEAR":"清除","STREMIO_TV_SEARCH_HISTORY_TITLE":"搜索历史","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"您可以搜索标题、演员、频道...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"清除搜索历史","STREMIO_TV_FILTERS_DESCRIPTION":"从以下过滤器中选择一个","STREMIO_TV_STREAMING_SERVER_OFFLINE":"流媒体服务器离线,检查服务器设置。","FILTERS":"过滤器","SETTINGS":"设置","ACCOUNT":"账户","LOGOUT":"注销","THEMES":"主题","PLAYBACK":"播放","PLAYBACK_SPEED":"播放速度","AUDIO_TRACKS":"音轨","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"视频","SERVER":"服务器","LINKS":"链接","ABOUT":"关于","INTERFACE":"界面","ANIMATIONS":"动画","STATUS":"状态","LANGUAGE":"语言","SIZE":"大小","DELAY":"延迟","BOLD":"粗体","OPACITY":"Opacity","TEXT_COLOR":"文本颜色","OUTLINE_COLOR":"轮廓颜色","BACKGROUND_COLOR":"背景颜色","BACKGROUND_BLUR":"背景模糊","SEEK_TIME_DURATION":"寻找持续时间","AUTO_PLAY":"自动播放下一集","PLAY_NOW":"现在播放","MARK_AS_WATCHED":"标记为已观看","MARK_AS_UNWATCHED":"标记为未观看","REWIND_TO_BEGINNING":"倒回开始","CONTINUE_WATCHING":"继续观看","ALL":"全部","SECONDS":"秒","ON":"开","OFF":"关","RELOAD":"重新加载","EDIT_URL":"编辑URL","URL":"URL","NONE":"无","EMBEDDED":"内嵌","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"开关设备","REMOTE_VIDEOS":"视频","REMOTE_ADJUST_TIMING":"调整时间","REMOTE_ADJUST_SIZE":"调整大小","REMOTE_COULD_NOT_BE_LOADED":"无法加载Web Remote","REMOTE_RETRY":"重试","TORRENT_PROFILE_DEFAULT":"默认","TORRENT_PROFILE_SOFT":"慢","TORRENT_PROFILE_FAST":"快","TORRENT_PROFILE_ULTRA_FAST":"超快","MB_S":"MB/s","FAQ_001_H1":"什么是Stremio?","FAQ_001_P1":"Stremio是专为视频娱乐而设计的多媒体中心软件,易于使用。Stremio允许您管理和观看自己的电影,剧集,频道和实况电视收藏。","FAQ_001_P2":"Stremio从本地磁盘和插件系统中收集显示给您的内容。","FAQ_001_P3":"它还会在您感兴趣的新剧集/视频/电影播出时通知您,并为您提供电影推荐。","FAQ_02_H1":"Stremio与Kodi和Plex相比如何?","FAQ_02_P1":"我们受到这两种软件的启发。但是我们有不同的目标——Stremio专门针对娱乐视频,并通过易于使用成为其主流解决方案。","FAQ_02_P2":"Stremio将永远不会像Kodi和Plex那样具有可定制性和丰富的功能,但它更易于使用。只需${1}就可以获取它,并查看${2}:)","FAQ_03_H1":"Stremio与Netflix相比如何?","FAQ_03_P1":"同样,Netflix是我们的灵感之一。我们努力实现Netflix的用户体验,再加上许多附加的好处。但最重要的是,我们让您可以自由管理自己的库,并使用我们的插件系统添加新的内容源。","FAQ_03_P2":"这使得Stremio可以无限扩展,因此当您使用Stremio时,您永远不会局限于Netflix决定许可的内容。例如,您可以通过Stremio观看${1}中的内容电影电视${2}, ${3} Twitch.tv${4},${5}YouTube${6},${7}Vodo${8}甚至${9}Netflix${10}本身!","FAQ_04_H1":"Stremio与Flipboard相比如何?","FAQ_04_P1":"我们不常听到这个问题,除非与初创企业的人交谈:)","FAQ_04_P2":"Stremio是通过设计一个内容聚合器来实现的,它本质上就是视频的Flipboard。这一点在我们的首页部分非常明显,它为您提供目录和新的插曲/新的视频通知,让您了解您所关注的内容,就像Flipboard一样。","FAQ_05_H1":"Stremio与Popcorn Time相比如何?","FAQ_05_P1":"Stremio和Popcorn Time在用户界面上很相似,因为没有很多方法可以正确制作视频娱乐目录:)","FAQ_05_P2":"Popcorn Time主要集中在特定来源的流媒体上,但Stremio是不受限制的,只是一个内容聚合器,它没有锁定到特定的内容源。","FAQ_05_P3":"此外,我们默认不提供任何Torrent插件,因此Stremio不提供官方功能的Popcorn Time用例。","FAQ_05_P4":"另一个显著的区别是Popcorn Time是完全开源的,而Stremio是${1}部分开源的${2}。","FAQ_06_H1":"是否要添加此电影/系列?","FAQ_06_P1":"不,对不起 :(","FAQ_06_P2":"正如大多数其他问题中提到的,Stremio本身不提供任何内容,所有内容都是通过插件系统添加的。如果您有内容请求,您可以使用播放器中的“报告”按钮,它将向您当前使用的插件的作者发送电子邮件。","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"能否为X创建插件?","FAQ_08_P1":"完全有可能。","FAQ_08_P2":"如果您有一个插件的想法,请在${1}office@stremio.com${2}给我们留言,但请确保您的插件想法不会侵犯任何版权或使用条款。","FAQ_08_P3":"目前,我们路线图上的下一件事是FandangoNOW,Filmon.tv video on demand和Crunchyroll的插件。","FAQ_09_H1":"Stremio是否使用BitTorrent?","FAQ_09_P1":"是的,Stremio支持BitTorrent作为流媒体协议。您可以将其与Torrent插件一起使用,也可以将.Torrent文件拖放到Stremio中,或者将磁铁链接粘贴到搜索栏中。","FAQ_09_P2":"请注意,使用BitTorrent的唯一官方插件是${1}Vodo${2},它提供独立内容,所有内容都允许与BitTorrent一起分发。","FAQ_09_P3":"我们不支持使用任何可能导致版权侵权的第三方插件。","FAQ_10_H1":"我可以在Stremio中通过官方插件观看什么节目?","FAQ_10_P1":"默认情况下,您可以在Stremio与它的嵌入式播放器观看Filmon.tv,YouTube和Vodo的内容。另外,我们还有一个Twitch.tv插件,以及其他一些插件。","FAQ_10_P2":"此组合提供以下选项:","FAQ_10_L1":"Filmon.tv上的热门电视频道,例如E4、BBC、Bollyworld TV","FAQ_10_L2":"YouTube上的所有内容,例如BBC News、Top Gear、Vevo、PewDiePie","FAQ_10_L3":"Vodo上的独立电影","FAQ_10_L4":"Twitch.tv上的在线游戏广播","FAQ_10_P3":"此外,Guidebox和Netflix插件提供了许多内容源,它们不完全在Stremio中播放,而是重定向到给定的服务。例如,Guidebox插件将为您提供可在美国免费播放的精选电影,这些电影来自TubiTV和Crackle等服务。","FAQ_11_H1":"Stremio无法安装,我该怎么办?","FAQ_11_P1":"如果您在Windows上,请尝试${1}此替代安装程序${2}。","FAQ_11_P2":"如果您使用的是Mac OS X,请注意,我们不支持任何比OS X Mavericks(10.9)更旧的版本。","FAQ_11_P3":"如果您使用的是Linux,请注意,我们目前只支持64位(x64)Linux。","FAQ_11_P4":"如果您仍然无法解决您的问题,请写信给我们的${1}Facebook群组${2}。","FAQ_12_H1":"为什么我的杀毒软件会报毒?Stremio安全吗?","FAQ_12_P1":"我们向您保证Stremio是${1}100%安全的${2}。","FAQ_12_P2":"您的杀毒软件报毒是因为我们的安装程序中包含广告,一些杀毒软件将其识别为广告软件。","FAQ_12_P3":"如果您仍然不确定,可以尝试我们的${1}替代安装程序${2}。","FAQ_13_H1":"如何制作插件?","FAQ_13_P1":"对于初学者,我们建议您查看GitHub上的${1}插件系统模块${2}。","FAQ_13_P2":"之后,您可以按照${1}Hello World教程${2}进行操作。","FAQ_13_P3":"如果您没有任何编程技能,请在${1}Reddit社区${2}上发布您的想法,并在${3}office@stremio.com${4}上与我们联系您的插件想法。","FAQ_14_H1":"插件是如何发布的?","FAQ_14_P1":"当您创建一个插件和主机,并在清单中放置一个指向工作插件地址的<b>终端节点</b>字段时,该插件将自动发布到我们的${1}插件目录${2}。","FAQ_14_P2":"发生这种情况是因为Stremio插件模块的服务器部分会自动调用我们的API来声明插件。当我们的API验证您的<b>终端节点</b>为有效的插件时,它将开始显示在目录中。","FAQ_15_H1":"我可以在浏览器中运行Stremio吗?","FAQ_15_P1":"目前还没有,但即将到来!","FAQ_15_P2":"如果您想看到Alpha版本,可以在这里看到:${1}alpha4.strem.io${2}. 请记住,此Alpha版本上已禁用流式处理。我们支持Chrome、Firefox、Opera和Edge","FAQ_16_H1":"电视投屏不起作用/字幕不起作用","FAQ_16_P1":"电视投屏使用DLNA技术,这在不同的电视品牌和型号之间非常不一致。由于这个原因,我们没有能力在每种情况下都测试它,所以它还远远不够完美。尽管如此,我们仍在不断改进,但我们无法为您提供DLNA能够在您的电视上开始正常工作的预计时间。","FAQ_16_P2":"如果您在“投屏”菜单中看不到您的电视,请尝试禁用网络连接并重新启用它(在Windows上,右键单击网络并使用“启用/禁用”),以及重新启动路由器、电视和PC。","FAQ_16_P3":"如果您仍然遇到问题,您可以通过将您的电视品牌和型号信息发送到${1}来帮助我们”office@stremio.com${2}。","FAQ_16_P4":"同时,我们推荐Chromecast,我们非常支持Chromecast,或者直接用HDMI线将电视与PC连接。","FAQ_17_H1":"Stremio卡死和/或崩溃,我能做什么?","FAQ_17_P1":"首先,如果您使用的是带有AVG杀毒软件的Windows 7,这种组合会产生问题。问题出在AVG本身,我们这边没有合理的办法解决。不幸的是,去除或禁用杀毒软件将不起作用。唯一的解决办法是用别的东西代替AVG","FAQ_17_P2":"如果不是这个问题,但您仍在使用Windows,请更新到最新的service pack并更新/重新安装您的GPU驱动程序,然后重试。","FAQ_17_P3":"如果您的问题仍未解决,或者您使用的是Mac或Linux,请写信给我们,在${1}我们的Facebook群组${2}报告问题的确切细节。","FAQ_18_H1":"如何制作插件?","FAQ_18_P1":"对于初学者,我们建议您查看GitHub上的${1}插件系统模块${2}。","FAQ_18_P2":"之后,您可以按照${1}Hello World教程${2}进行操作。","FAQ_18_P3":"如果您没有任何编程技能,请在${1}Reddit社区${2}上发布您的想法,并在${3}上与我们联系您的插件想法。”office@stremio.com${4}。","FAQ_19_H1":"为什么Stremio占用磁盘空间?","FAQ_19_P1":"Stremio有一个<b>本地缓存</b>来临时保存您流式传输的视频文件。","FAQ_19_P2":"这有两个好处:第一,它允许Stremio预先缓冲视频,以确保流媒体更流畅。其次,它将视频保存在本地缓存中,以便您可以继续离线观看。","FAQ_19_P3":"Stremio保留了多少取决于“设置”面板中的<b>缓存设置。Stremio可能会在您的磁盘上保留到设置的数量(例如2GB),除非当前流式传输的视频大于该数量,在这种情况下,必须分配足够的存储来保留它,直到您结束流式传输。","FAQ_20_H1":"缓存文件夹在哪里?","FAQ_20_P1":"在Windows上,Stremio缓存位于您在设置中选择的驱动器中(例如\\"E:\\\\stremio-cache\\")","FAQ_20_P2":"在MacOS上,它位于\\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"在Linux上,它位于\\"~/.stremio/stremio-cache\\"或\\"~/stremio-cache\\"","FAQ_21_H1":"我得到\\"流媒体服务器未找到\\"错误,我能做什么?","FAQ_21_P1":"如果出现此错误,则表示以下几点之一:","FAQ_21_P2":"1)您正试图通过我们的${1}web版本${2}使用一个由YouTube/BitTorrent源代码支持的插件。在这种情况下,您应该从${3}我们的网站${4}安装我们的桌面版本","FAQ_21_P3":"2)Stremio安装有问题。在这种情况下,请尝试从${1}网站${2}重新安装我们的最新桌面版本。如果这没有帮助,请尝试禁用杀毒软件和防火墙,重新启动电脑,然后重试。如果这依然不起作用,请写信给我们的${3}Facebook群组${4}","FAQ_22_H1":"我无法在iOS上看到/使用大多数插件","FAQ_22_P1":"由于Apple App Store条款和条件中的限制,我们限制iOS应用程序只能使用一组特定的插件。","FAQ_22_P2":"不过,请放心,将来会有更多的iOS插件,我们还可能添加一个集成,通过将iOS应用程序连接到Stremio流媒体服务器,您将可以使用所有Stremio插件。"}')},33630:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"電影","TYPE_series":"劇集","TYPE_tv":"電視頻道","TYPE_channel":"頻道","TYPE_other":"其他","TYPE_movie_PL":"電影","TYPE_series_PL":"劇集","TYPE_tv_PL":"電視頻道","TYPE_channel_PL":"頻道","TYPE_other_PL":"其他","TYPE_ALL":"全部","TYPE":"類型","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"視頻","BACK":"返回","MORE":"更多","DONE":"完成","COPY":"複製","SUCCESS":"成功","ERROR":"錯誤","SETTINGS_CASTING_MODE_PICKER":"投屏模式","CASTING_MODE_HLSV2":"默認","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"不轉碼","Discover":"發現","Board":"首頁","Library":"庫","My Library":"我的庫","Calendar":"日曆","NOTIFICATION_ONLINE":"您當前處於在線狀態","NOTIFICATION_OFFLINE":"您當前處於離線狀態","INTERNET_CONNECTION":"網絡連接","STORAGE_FULL_TITLE":"警告:儲存空間已滿!","STORAGE_FULL_TEXT":"Stremio將無法保存您的設置、首選項或登錄信息,考慮重新啓動或重新安裝Stremio。","SEARCH":"搜索","SEARCH_NO_RESULTS":"未找到結果","SEARCH_EXPLANATION_CONTENT":"搜索電影、劇集、YouTube和電視頻道","SEARCH_EXPLANATION_PEOPLE":"搜索演員、導演和編劇","SEARCH_PASTE_LINKS":"粘貼HTTP和Magnet鏈接","SEARCH_OR_PASTE_LINK":"搜索或粘貼鏈接","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"添加到庫中","REMOVE_FROM_LIB":"從庫中刪除","ADDED_TO_LIB":"添加到庫中","REMOVED_FROM_LIB":"從庫中刪除","TRAILER":"預告片","WATCH_TRAILER":"觀看預告片","WATCH_NOW":"立即觀看","SHOW":"查看","SHOW_MOVIE":"查看電影","WATCH_RANDOM":"隨機觀看","IMDB_RATING":"IMDb評分","YEAR":"年份","DIRECTOR":"導演","WRITER":"編劇","LEAD_ACTORS":"主演","CAST":"全部演員","CREW":"全部工作人員","SHOW_MORE_CAST":"顯示更多 »","AIRED":"播出時間","SEASONS":"季","GENRE":"類型","GENRE_ALL":"所有流派","CATALOG":"目錄","SUMMARY":"簡介","SHOW_MORE":"顯示更多","SIMILAR":"相似","UPCOMING":"即將上映","TBA":"TBA","ENDED":"已完結","DURATION":"時長","FEATURED":"功能","METADATA":"元數據","CATEGORY":"類別","LINKS_GENRES":"流派","LINKS_CAST":"演員","LINKS_DIRECTORS":"導演","SEARCH_VIDEOS":"搜索視頻","SEARCH_PLACEHOLDER":"搜索或粘貼URL","ADDON":"插件","ADDONS":"插件","OFFICIAL":"官方","ADDONS_OFFICIAL":"官方Stremio插件","ADDONS_POPULAR":"在您所在的地區很受歡迎","ADDON_FREE":"免費","ADDON_PEERED":"連接","ADDON_SUBSCRIPTION":"訂閲","ADDON_STREAM_GEORESTRICTED":"在您所在的地區不提供","ADDON_STREAM_OFFLINECACHE":"離線緩存","ADDON_STREAM_LOCALFILE":"本地文件","SHARE_ADDON":"分享插件","AVAILABLE_STREAMS":"可用流媒體","NO_STREAM":"未找到流媒體","ALL_ADDONS":"全部","INSTALL_MORE_ADDONS":"要獲取更多流媒體,請安裝更多插件","STREAM_NOT_SUPPORTED":"此平台不支持所選流媒體。","ADDON_CATALOGUE":"顯示所有插件 »","ADDON_CATALOGUE_MORE":"安裝插件","REPO_ADDED":"已添加存儲庫","ADDON_REPO_EXIST_ERR":"此插件集合已存在","ADDON_REPO_ERR":"添加集合時出錯","ADDON_ADD_ERR":"添加插件時出錯","ERR_ADDON_PROTECTED":"無法卸載插件,它受到保護","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"出了一些問題——身份驗證可能失敗","ERR_NOT_COLLECTION_URL":"不是集合URL","ERR_NOT_ADDON_URL":"不是有效的插件URL","ERR_DETECTFROMURL":"再此URL中找不到插件/集合","ADDON_DUPLICATE_WARNING":"警告:重複的插件","ADDON_COLLECTION_SET_FAILED":"將已安裝的插件同步到您的賬户失敗","SETTINGS_DATA_EXPORT":"導出用户數據","ADDON_PULL_FAILED":"從您的帳户同步已安裝的插件失敗","REFRESH_ON_CLICK":"點擊重試","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"電影還在影院上映","WATCH_IN_CINEMA":"請到您本地的影院觀看","IN_THEATER":"在影院上映","GET_TICKETS":"購票","UPCOMING_EPISODE":"下一集","UPCOMING_EPISODE_MESSAGE":"這一集即將播出","MISSING_DATE_EPISODE":"缺失的一集日期","MISSING_DATE_EPISODE_MESSAGE":"這一集可能還沒有播出","CHANNEL_NOT_SCRAPED":"這個頻道還沒有被削刮,請過幾分鐘再來。","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"將其添加到庫中,以便在可用時收到通知。","GET_NOTIFIED_WHEN_AVAILABLE":"一旦可用,您將會收到通知。","WARNING_STREAMING_SERVER":"警告:找不到本地流媒體服務器,來自本地文件、YouTube、和BitTorrent的流媒體將不可用。","WARNING_STREAMING_SERVER_DISMISS":"忽略","WARNING_STREAMING_SERVER_LATER":"推遲","DECODER_WARNING":"警告:您的硬件可能不支持此視頻,請記住,播放可能會很慢。","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"糟糕,播放器錯誤","PLAYER_ERROR_LOOKSLIKE":"看起來似乎","PLAYER_ORIENTATION":"播放器方向","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"鎖定","PLAYER_ORIENTATION_SENSOR_SHORT":"傳感器","PLAYER_ORIENTATION_LANDSCAPE":"播放器方向鎖定橫向","PLAYER_ORIENTATION_SENSOR":"播放器方向自動(傳感器)","PLAYER_PLAYBACK_SPEED":"播放速度","PLAYER_PLAYBACK_ERROR":"播放錯誤,請重試","PLAYER_PLAYBACK_ERROR_UNKNOWN":"未知錯誤","PLAYER_PLAYBACK_ERROR_DEFAULT":"抱歉,{{productName}}無法播放此視頻。","PLAYER_SUBTITLES_LANGUAGES":"字幕語言","PLAYER_SUBTITLES_VARIANTS":"字幕變形","PLAYER_SUBTITLES_SETTINGS":"字幕設置","PLAYER_SUBTITLES_DISABLED":"字幕已關閉","PLAYER_SUBTITLES_VERTICAL_POSIITON":"垂直位置","PLAYER_SUBTITLES_LOADED":"已加載字幕","PLAYER_SUBTITLES_LOADED_EMBEDDED":"已加載嵌入字幕","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"已加載外部字幕","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"已加載{{origin}}字幕","PLAYER_PLAY":"播放","PLAYER_PAUSE":"暫停","PLAYER_NEXT_VIDEO":"下一個視頻","PLAYER_MUTE":"靜音","PLAYER_UNMUTE":"取消靜音","PLAYER_OPEN_IN_EXTERNAL":"在外部播放器中打開","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"在{{device}}上播放","PLAYER_LIVE":"直播","PLAYER_NEXT_VIDEO_TITLE":"下個視頻","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"關閉","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"現在觀看","PLAYER_COPY_STREAM_SUCCESS":"流媒體鏈接已複製到您的剪貼板","PLAYER_COPY_STREAM_ERROR":"複製流媒體鏈接失敗","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"流媒體","CASTING_TO":"投屏到","NETWORK_STATUS":"網絡狀態","STREAM_SPEED":"串流速度:","STREAM_BUFFERED":"已緩衝:","PEERS_INFO":"節點信息","PEERS_ACTIVE":"活躍:","PEERS_CONNECTED":"已連接:","PEERS_WAITING":"等待:","TRANSCODING_WARNING":"警告:轉碼視頻。","STREAM_LOADING":"加載...","PLAYING_LOCAL":"從本地文件播放","PLAYING_CACHE":"從緩存播放","WRONG_SUBS":"字幕錯誤?","ERR_SUBS_LOADING_TITLE":"加載字幕時出錯","ERR_SUBS_LOADING":"字幕加載失敗:這可能是您正在使用的插件或網絡連接的問題","WARN_FOLLOWING_SUB_ADDONS_FAILED":"以下字幕插件失敗","ERR_CASTING_UPDATE_TITLE":"無法更新投屏設備信息:流媒體服務器可能離線","CHOOSE_DEVICE":"選擇在哪個設備上播放","NO_CAST_DEVICES":"無可用投屏設備。","NO_SETTINGS":"無可用設置。","NO_OPTIONS":"No options available","PHONE_TABLET":"手機/平板電腦","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"字幕","SUBTITLES_CHANGE":"調整字幕","SUBTITLES_CHANGE_NONE":"抱歉,這種語言沒有其他字幕。","SUBTITLES_CHANGE_ACIVE":"當前字幕#{{subtitlesDialog.activeIdx + 1}}被激活,點擊\\"繼續\\"激活字幕#{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"或者,","SUBTITLES_ADJUST_DELAY":"調整字幕延遲:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"或在播放時使用<span>G</span> / <span>H</span>鍵進行調整。","SUBTITLES_ADJUST_DELAY_TIP":"提示:您可以在播放時使用<span>G</span> / <span>H</span>鍵進行調整。","SUBTITLES_DELAY":"字幕延遲:","SUBTITLES_LOADING":"加載字幕...","SUBTITLES_UNAVAILABLE":"沒有可用的外部字幕","SUBTITLES_DISABLED":"關閉","EXTERNAL_PLAYER_DISABLED":"關閉","EXTERNAL_PLAYER_ALLOW_CHOOSING":"允許選擇","EXTERNAL_PLAYER_HINT":"提示:有一個設置允許總是在外部播放器中打開","DONT_SHOW_AGAIN":"不再顯示","SERVICE_INSTALL":"安裝","AUDIO":"音頻","DEFAULT_LANGUAGE":"默認語言","DEFAULT_SECONDARY_LANGUAGE":"默認第二語言","SEASON":"季","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"集","EPISODE_ABBREVIATION":"情節提要","SPECIAL":"特別篇","SORT":"排序","SORT_BY":"排序按照","FILTER":"篩選","SORT_TRENDING":"熱門","SORT_RECENT":"最近","SORT_ALPHABET":"首字母","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"評分","SORT_WATCHED":"已觀看","SORT_YEAR":"年份","SELECT":"Select","SELECT_TYPE":"選擇類型","SELECT_SORT":"選擇排序","SELECT_CATALOG":"選擇目錄","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"選擇流派","SORT_LASTWATCHED":"按上次觀看","SORT_NAME":"按名稱","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"按觀看次數","SORT_NOTWATCHED":"not watched","New for You":"新的","New Episodes":"新劇集","New Videos":"新視頻","Recommendations":"推薦","LIBRARY_RESUME":"簡介","LIBRARY_PLAY":"播放","LIBRARY_DETAILS":"詳情","LIBRARY_RESUME_DISMISS":"清除","LIBRARY_CLEAR_PROGRESS":"清除進度","LIBRARY_REMOVE":"移除","LIBRARY_NOT_LOGGED_IN":"庫僅適用於已登錄的用户","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"日曆僅適用於已登錄的用户","NOT_LOGGED_IN_CLOUD":"隨時隨地訪問您喜愛的電影和劇集","NOT_LOGGED_IN_RECOMMENDATIONS":"根據您的觀看歷史量身定製的建議","NOT_LOGGED_IN_NOTIFICATIONS":"再也不要錯過任何一集","NOT_LOGGED_IN_CALENDAR":"定製個人觀看日曆","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"功能","DISCOVER_TOP":"熱門","DISCOVER_OSCAR":"奧斯卡獲獎作品","DISCOVER_WARNING_TITLE":"糟糕!","DISCOVER_EMPTY_CATALOG":"此插件返回空內容。","DISCOVER_ADULT_WARNING":"此內容僅對成人可見,您是否已滿18週歲?","DISCOVER_NOADDON_WARNING":"警告:此類型沒有可用的Stremio插件,顯示已保存的項目,此處不會更新任何內容。","DISCOVER_LOAD_ERR":"內容未加載,發生錯誤。","DISCOVER_ADDON_UNINSTALLED":"此內容不再可用,您可能已卸載插件。","UNINSTALL_THIS_ADDON":"卸載此插件","ERR_ADDON_NOT_INSTALLED":"未安裝此插件,立即安裝?","DETAIL_RECEIVE_NOTIF_SERIES":"接受新劇集的通知","DETAIL_RECEIVE_NOTIF_VIDEOS":"接受新視頻的通知","SIDEBAR_SHOW_STREAMS":"顯示流媒體","RELAUNCH":"立即重新啓動!","UPGRADE":"新版本可用!升級至Stremio的最新版本","RELOAD_UI":"重新加載用户界面","MANUAL_UPDATE_TITLE":"更新您的Stremio版本","MANUAL_UPDATE_LINE1":"您運行的是一個過時的Stremio版本,這是非常不推薦的。","MANUAL_UPDATE_LINE2":"請儘快更新。","BUTTON_UPDATE_LATTER":"不是現在","BUTTON_UPDATE_NOW":"更新","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"匿名用户","DONT_HAVE_ACC":"還沒有賬户?","HAVE_ACC":"已經有賬户了?","PASSWORD":"密碼","PASSWORD_CONFIRM":"確認密碼","EMAIL":"電子郵箱","FB_LOGIN":"使用Facebook登錄","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"未經您的允許,任何內容都不會被共享","FB_NOPOST":"我們不會替您發送任何東西","OR":"或","I_ACCEPT":"我接受","I_ACCEPT_BY_CLICKING":"通過點擊上面的按鈕,我聲明我接受","TOS":"條款和條件","MUST_ACCEPT_TERMS":"您必須接受條款","PASSWORDS_NOMATCH":"密碼不匹配","SIGN_UP":"註冊","SIGN_UP_EMAIL":"使用電子郵箱註冊","CLICK_TO_SIGN_UP":"點擊此處註冊。","LOG_IN":"登錄","LOG_OUT":"註銷","EXIT_FULLSCREEN":"退出全屏模式","ENTER_FULLSCREEN":"進入全屏模式","PLAY_URL_MAGNET_LINK":"播放URL/Magnet鏈接","HELP_FEEDBACK":"幫助和反饋","TERMS_OF_SERVICE":"服務條款","PRIVACY_POLICY":"隱私政策","ABOUT_STREMIO":"關於Stremio","USER_PANEL":"用户面板","LOGIN_LABEL":"Login","GUEST_LOGIN":"訪客登錄","GUEST_LOGIN_NOTICE":"不建議訪客登錄,使用常規登錄允許Stremio同步您的庫,接受喜愛的劇集/頻道的通知。您確定要繼續嗎?","GUEST_LOGIN_NOTICE_2":"不建議訪客登錄,您將沒有同步的庫和首頁通知,這是Stremio的重要功能。您確定要繼續嗎?","CLICK_HERE":"點擊此處","WRONG_PASSWORD":"錯誤的電子郵箱或密碼,如果您忘了密碼,","SET_A_PASS":"設置密碼","RESET_PASSWORD":"重置密碼","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"忘記密碼?","EMAIL_USED_WITH_FB":"此電子郵箱與Facebook登陸一起使用。","INVALID_EMAIL":"請輸入有效的電子郵箱地址","INVALID_PASSWORD":"請輸入有效的密碼","CONN_ERR":"連接錯誤,請稍後再試。\\n\\n如果問題仍然存在,請禁用防火牆/殺毒軟件(特別是Bitdefender)。","IMPORT_FROM_GUEST":"從訪客賬户導入庫","RECEIVE_UPDATES_EMAIL":"從Stremio接受電子郵件更新","LOGIN_FAILED":"登陸失敗。","SIGNUP_FAILED":"註冊失敗。","SEARCH_FAILED":"搜索失敗","EMAIL_USED":"此電子郵箱已被使用。","WAITING_FB_LOGIN":"使用Facebook登錄...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"在外部播放器中播放","EXTERNAL_REMEMBER_PLAYER":"您想記住您的選擇嗎","EXTERNAL_ALWAYS_PLAY":"是","EXTERNAL_ONLY_ONCE":"不是","BEST_FIT":"最佳","FIT_SCREEN":"適合屏幕","FILL":"填充","16:9":"16:9","4:3":"4:3","Original":"原始","INTRO_TASTE":"告訴我們您喜歡什麼","INTRO_TASTE_LONG":"告訴我們您想看什麼","INTRO_TASTE_PICK":"選擇{{interestsRemaining}}興趣","INTRO_TASTE_PICK_MORE":"選擇{{interestsRemaining}}更多興趣","INTRO_TASTE_HELP_US":"幫助我們瞭解更多有關您的信息。","INTRO_TASTE_CHOOSE_THESE":"選擇其中一些:","INTRO_TASTE_CHOOSE_MIN":"至少選3個類別","INTRO_TASTE_CHOOSE_MIN_ERR":"您必須至少選擇3個類別!","INTRO_TASTE_LIFESTYLE":"生活方式","INTRO_TASTE_SPORTS":"體育","INTRO_TASTE_FOOD_HEALTH":"飲食與健康","INTRO_TASTE_BEAUTY_FASHION":"美麗與時尚","INTRO_TASTE_NEWS":"新聞","INTRO_TASTE_GAMING":"遊戲","INTRO_TASTE_SCIENCE_EDU":"科學與教育","INTRO_TASTE_MUSIC":"音樂","INTRO_TASTE_TRAVEL":"旅行","INTRO_TASTE_LATE_NIGHT":"深夜秀","INTRO_TASTE_REALITY":"真人","INTRO_TASTE_COMEDY":"喜劇","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"技術","INTRO_TASTE_CINEMA":"影院","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"此平台不支持選定的插件。","ADDON_DISCLAIMER":"使用第三方插件將始終受到您的責任和您所在的司法管轄區的法律的約束。","ADDON_ACTIVATE":"激活此插件?","ADDON_REPO_ADD":"插件集合URL","ADDON_ADD":"添加","INSTALL_ADDON":"Install addon","ADD_ADDON":"添加插件","ADD_ADDON_DESCRIPTION":"您可以通過外部鏈接添加插件,該鏈接將顯示在“已安裝的插件”下。","PASTE_ADDON_URL":"粘貼插件URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"最新消息","BUTTON_CONTINUE":"繼續","BUTTON_ACTIVATE":"激活","BUTTON_ACTIVATED":"已激活","BUTTON_CANCEL":"取消","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"提交","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"清除全部","BUTTON_VIEW_ALL":"查看全部","BUTTON_SEE_ALL":"查看全部","BUTTON_COLOR_TRANSPARENT":"透明度","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"在瀏覽器中打開","LIB_EMPTY":"您的庫看起來是空的,看看它有多有用:)","HOW_START":"您可以從這裏開始:","LIB_EMPTY_CAL":"您的日曆顯示您庫中的劇集。","HOW_START_CAL":"下面是如何添加劇集:","LIB_EMPTY_BOARD":"主頁顯示與您的庫相關的通知&推薦。","HOW_START_BOARD_WAIT":"請在您的庫中添加一些劇集或頻道給我們幾分鐘來處理:)","HOW_START_BOARD":"下面是如何向其中添加劇集&電影:","IMPORT_FB":"從<span>Facebook</span>導入您喜歡的東西","IMPORT_TRAKT":"從<span>Trakt</span>導入媒體庫","IMPORT_DISCOVER":"從<span>發現</span>中找到有趣的東西","IMPORT_DISK":"導入<span>本地磁盤</span>上的電影或節目","PLEASE_CREATE_ACC":"請<u>創建一個賬户</u>以啓用庫同步&主頁。","IMPORT_DISCOVER_SIGNUP":"註冊並從<span>發現</span>中找到有趣的東西","IMPORT_DISK_SIGNUP":"註冊並導入<span>本地磁盤</span>上的電影或節目","LIB_EMPTY_CLOUD":"雲端庫","LIB_EMPTY_CLOUD_DESC":"在所有設備上同步個人雲端庫","LIB_EMPTY_EARLY":"第一時間","LIB_EMPTY_EARLY_DESC":"接收新劇集的通知","LIB_EMPTY_PERSONAL":"個性化","LIB_EMPTY_PERSONAL_DESC":"獲取個性化推薦","LIB_EMPTY_CALENDAR_DESC":"安排您的個性化觀看日曆","LIB_EMPTY_ALL":"註冊以獲取所有這些:","LIB_EMPTY_BEST":"註冊以獲得最佳的Stremio","LIB_EMPTY_OTHER":"註冊以啓用日曆和其他炫酷功能","CALENDAR_ADDED":"Stremio日曆已添加到默認桌面日曆中。","CALENDAR_ADDED_MSG":"如果這不起作用,請手動將此URL添加到日曆應用程序中","TRAKT_EXPIRED":"Trakt驗證已過期,請轉到設置並重新驗證","TRAKT_REQUIRES_LOGIN":"Trakt錯誤","TRAKT_REQUIRES_LOGIN_MSG":"您需要登錄","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"設置","SETTINGS_NAV_GENERAL":"常規","SETTINGS_NAV_PLAYER":"播放器","SETTINGS_NAV_STREAMING":"流媒體","SETTINGS_NAV_SHORTCUTS":"快捷鍵","SETTINGS_SHORTCUT_RELOAD_APP":"重新加載應用程序","SETTINGS_SHORTCUT_OPEN_SETTINGS":"打開設置","SETTINGS_SHORTCUT_SWITCH_TABS":"切換標籤","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"向前循環標籤","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"向後循環標籤","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"在菜單之間導航","SETTINGS_SHORTCUT_GO_TO_SEARCH":"轉到搜索","SETTINGS_SHORTCUT_EXIT_BACK":"退出/返回","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"切換播放速度菜單","SETTINGS_SHORTCUT_MENU_VIDEOS":"切換視頻菜單","SETTINGS_SHORTCUT_MENU_SUBTITLES":"切換字幕菜單","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"切換信息菜單","SETTINGS_SHORTCUT_FULLSCREEN":"切換全屏","SETTINGS_SHORTCUT_SHOW_CONTROLS":"顯示控件","SETTINGS_SHORTCUT_PLAY_PAUSE":"播放/暫停","SETTINGS_SHORTCUT_VOLUME_UP":"增大音量","SETTINGS_SHORTCUT_VOLUME_DOWN":"降低音量","SETTINGS_SHORTCUT_SEEK_NEXT":"尋找下一個","SETTINGS_SHORTCUT_SEEK_PREV":"尋找上一個","SETTINGS_SHORTCUT_SEEK_BACKWARD":"向後搜索","SETTINGS_SHORTCUT_SEEK_FORWARD":"向前搜索","SETTINGS_SHORTCUT_PLAY_NEXT":"播放下一個","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"增加字幕大小","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"減小字幕大小","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"增加字幕延遲","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"減少字幕延遲","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"切換側邊欄","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"空格","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"已驗證","SETTINGS_FACEBOOK_IMPORT":"導入","SETTINGS_CALENDAR_SUBSCRIBE":"訂閲","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"用户界面語言","SETTINGS_LAUNCH_STARTUP":"開機時啓動","SETTINGS_VLC_DEFAULT":"使用VLC播放","SETTINGS_UI_LANGUAGE":"用户界面語言","SETTINGS_UI_ZOOM":"用户界面縮放","SETTINGS_FULLSCREEN_EXIT":"Esc鍵退出全屏","SETTINGS_GAMEPAD":"啓用遊戲手柄支持","SETTINGS_CLOSE_WINDOW":"關閉窗口時結束應用程序","SETTINGS_SUBTITLES_LANGUAGE":"默認字幕語言","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"默認字幕大小","SETTINGS_SUBTITLES_BACKGROUND":"字幕背景","SETTINGS_SUBTITLES_COLOR":"字幕顏色","SETTINGS_SUBTITLES_COLOR_OUTLINE":"字幕輪廓顏色","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"字幕背景顏色","SETTINGS_SEEK_KEY":"方向鍵控制進度","SETTINGS_SEEK_KEY_SHIFT":"按住Shift鍵時方向鍵控制進度","SETTINGS_REWIND_FAST_FORWARD_DURATION":"回放和快進持續時間","SETTINGS_BINGE":"自動播放下一集","SETTINGS_NEXT_VIDEO":"顯示播放下一集的通知","SETTINGS_NEXT_VIDEO_TRIGGER":"顯示下一集的通知:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"下一個視頻彈出持續時間","SETTINGS_PLAY_IN_BACKGROUND":"在後台播放","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"在外部播放器中播放","SETTINGS_RESIZE":"播放前自動調整窗口大小","SETTINGS_OVERRIDE_SERVER":"覆蓋流媒體服務器URL(高級)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"流媒體服務器URL:","SETTINGS_SERVER_AVAILABLE":"流媒體服務器可用。","SETTINGS_SERVER_UNAVAILABLE":"流媒體服務器不可用。","SETTINGS_SERVER_STATUS_ONLINE":"在線","SETTINGS_SERVER_STATUS_ERROR":"錯誤","SETTINGS_SERVER_CONFIGURE_TITLE":"配置流媒體服務器url","SETTINGS_SERVER_CONFIGURE_INPUT":"輸入流媒體服務器url","SETTINGS_SERVER_CACHE_SIZE":"緩存大小","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent配置","SETTINGS_HTTPS_ENDPOINT":"流媒體HTTPS結點:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"始終使用最新的測試版","SETTINGS_IMPORT_FB":"從Facebook導入","SETTINGS_IMPORT_DISK":"從本地磁盤導入","SETTINGS_IMPORT_TRAKT":"從Trakt導入","SETTINGS_PAUSE_MINIMIZED":"最小化時暫停播放","SETTINGS_HWDEC":"硬件解碼加速","SETTINGS_BACKGROUND":"後台播放","SETTINGS_SUBSCRIBE_CALENDAR":"訂閲到日曆","SETTINGS_REQ_EXPORT":"請求導出數據","SETTINGS_ACC_DELETE":"請求刪除賬户","SETTINGS_CHANGE_PASSWORD":"更改密碼","SETTINGS_TOS":"服務條款","SETTINGS_SUPPORT":"聯繫支持人員","SETTING_LANGUAGE":"語言","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt自動跟蹤","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"從Trakt.tv註銷","SETTINGS_TRAKT_LOGOUT_2":"從Trakt註銷","SETTINGS_SCAN_FOR_REMOTE":"掃描二維碼打開遙控器","SETTINGS_DESKTOP_NOTIFICATIONS":"桌面通知","SETTINGS_DATA_SAVER":"移動數據警告","SETTINGS_LANGUAGE_INTERFACE":"界面","SETTINGS_LANGUAGE_SUBS":"默認字幕","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"自動選擇音頻","SETTINGS_DEFAULT_AUDIO_TRACK":"默認音頻","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"賬户","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"版本","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"在單獨窗口中啓動播放器(高級)","SETTINGS_PLAY_IN_EXTERNAL":"總是在外部播放器中打開視頻","SETTINGS_STORAGE_BUTTON":"清除本地存儲","SETTINGS_STORAGE_MODAL_TITLE":"您確定嗎?","SETTINGS_STORAGE_MODAL_MESSAGE":"這將清除本地存儲並使您註銷","SETTINGS_HWDEC_PICKER":"選擇硬件加速解碼設置","SETTINGS_HW_AUTOMATIC":"自動","SETTINGS_HW_DISABLED":"關閉","SETTINGS_HW_ACCELERATED":"解碼加速","SETTINGS_HW_FULL":"全加速","SETTINGS_HW_LEGACY":"舊版","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"字幕","SETTINGS_SECTION_AUDIO":"音頻","SETTINGS_SECTION_CONTROLS":"控件","SETTINGS_SECTION_AUTO_PLAY":"自動播放","SETTINGS_SECTION_ADVANCED":"高級","SUBSPICKER_AUDIO":"音頻","SUBSPICKER_SUBTITLES":"插件字幕","SUBSPICKER_BLACK_BACKGROUND":"使用黑色背景色","SUBSPICKER_VERTICAL_OFFSET":"垂直偏移量","SUBSPICKER_SIZE":"大小","SUBSPICKER_DELAY":"延遲","SUBSPICKER_EMBEDDED_SUBS":"內嵌字幕","MOBILE_PRIVACY_POLICY":"隱私政策","MOBILE_CRASH_REPORTING":"崩潰報告","MOBILE_ZOOM_TO_FILL":"縮放填充屏幕","MOBILE_PASSTHROUGH":"數字音頻輸出(直通)","MOBILE_RUN_LOW_BATTERY":"電池電量低時運行","MOBILE_RUN_FOREGROUND":"作為前台服務運行","MOBILE_PERFORMANCE":"性能&穩定性","MOBILE_SERVER_ONLINE":"在線","MOBILE_SERVER_OFFLINE":"離線","MOBILE_QR_EXPIRES":"二維碼到期時間","MOBILE_LOG_INTO":"登陸到您的Stremio賬户","MOBILE_SCAN_QR":"掃描上面的二維碼或轉到","MOBILE_LINK_ACCOUNT":"鏈接賬户","MOBILE_SPEEDPICKER_CANCEL":"取消","MOBILE_SPEEDPICKER_LABEL":"選擇播放速度","MOBILE_EMPTY_LIBRARY":"您的庫為空","MOBILE_NO_ADDON_ACTIVE":"沒有活動的此類型Stremio插件。","MOBILE_ORGANIZER_WARNING":"Stremio Organizer應用程序提供的功能有限,要獲得可播放流的列表和完整的Stremio體驗,請使用Stremio桌面客户端。","MOBILE_ADDON_LOADING":"仍在加載","MOBILE_ADDONS_LOADING":"插件仍在加載","MOBILE_ADDON":"插件","MOBILE_CONFIGURE_ADDON":"配置插件","MOBILE_CONFIGURE_ADDON_LABEL":"配置插件","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer應用程序僅提供有限的插件,要獲得完整的Stremio體驗,請使用Stremio桌面客户端。","MOBILE_DISCONNECT":"斷開連接","MOBILE_LOOKING_FOR_DEVICES":"正在查找設備...","MOBILE_CAST_TO":"投屏到","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"刪除帳户","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"由於法律義務,賬户刪除不是即時的。在請求刪除您的帳户後,您將不得不使用不同的電子郵件地址/臉書個人資料在未來創建一個新的Stremio帳户。","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"確認帳户刪除","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"您的帳户是使用Facebook創建的。要刪除您的帳户,請使用我們的用户門户網站www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"請提供您的密碼以確認帳户刪除。","MOBILE_DELETE_ACCOUNT_BUTTON":"刪除帳户","NAVIGATION_ON":"開啓","NAVIGATION_OFF":"關閉","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"我同意接收Stremio的營銷通知","QUIT":"退出","CONNECTED":"已連接","AUTHENTICATE":"驗證","AUTHENTICATING":"Authenticating...","CACHING":"緩存","SETTINGS_CACHING_DRIVE":"緩存磁盤","ENABLE_LOCAL_FILES_ADDON":"啓用本地文件插件(需要重新啓動)","LOCAL_ADDON_NOT_ENABLED":"未啓用本地插件,單擊此處轉到設置並啓用它","ENABLE_REMOTE_HTTPS_CONN":"啓用遠程HTTPS連接","TORRENT_PROFILE":"Torrent配置","DATA_CACHING":"數據緩存","MAGNET_PARSING":"分析Magnet鏈接","January":"一月","February":"二月","March":"三月","April":"四月","May":"五月","June":"六月","July":"七月","August":"八月","September":"九月","October":"十月","November":"十一月","December":"十二月","Monday":"星期一","Tuesday":"星期二","Wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期天","Action":"動作","Comedy":"喜劇","War":"戰爭","Family":"家庭","Animation":"動畫","Adventure":"冒險","Fantasy":"幻想","Crime":"犯罪","Mystery":"神秘","Romance":"浪漫","Drama":"劇情","Horror":"恐怖","Thriller":"驚悚","Sci-Fi":"科幻","Music":"音樂","Biography":"傳記","Documentary":"紀錄","Sport":"運動","Musical":"音樂劇","Western":"西部","Film-Noir":"黑色電影","News":"新聞","History":"歷史","Game-Show":"遊戲節目","Reality-TV":"真人秀","Talk-Show":"脱口秀","Film & Entertainment":"電影與娛樂","Gaming":"遊戲","From TV":"電視","Lifestyle":"生活方式","Science & Education":"科學與教育","Cooking & Health":"烹飪與健康","Beauty & Fashion":"美麗與時尚","Sports":"體育","News & Politics":"新聞與政治","How-to & DIY":"DIY","Tech":"技術","Automotive":"汽車","Causes & Non-Profits":"事業與公益","Movies":"影視","Uk Live Tv":"英國直播電視台","Fashion":"流行","Business News Radio":"商業新聞電台","Business Tv":"商業電視","Cars & Auto":"汽車與自動化","Comedy Radio":"喜劇電台","Lifestyle Radio":"生活方式電台","News Tv":"新聞電視","Food And Wine":"食物與酒","Latino Tv":"拉丁語電視台","Shopping Tv":"購物電視台","Religion":"宗教","Kids":"兒童","Body & Soul":"身體與靈魂","Education":"教育","Indian Tv":"印度電視台","Extreme Sports":"極限運動","Middle Eastern Tv":"中東電視台","Celebrity Tv":"名人電視台","Science Tv":"科學電視台","Bikini babe":"比基尼寶貝","Outdoors":"户外","German Tv":"德國電視台","French Tv":"法國電視台","Italian Tv":"意大利電視台","Gamer Tv":"伽馬電視台","Travel":"旅行","Asian Tv":"亞洲電視台","Entertainment":"遊戲娛樂","News Radio":"新聞電台","Music Radio":"音樂電台","Language Learning":"語言學習","Science Radio":"科學電台","Tech Radio":"科技電台","Science & Technology Vod":"科技視頻點播","new video":"新視頻","new episode":"新一集","new movie":"新電影","recommended":"推薦","we recommend":"我們建議","offer of the day":"當日優惠","news":"新聞","music video":"音樂視頻","CTX_SHOW_HOTKEYS":"顯示快捷鍵","CTX_DISMISS_NOTIF":"清除通知","CTX_DISMISS_ALL":"全部清除","CTX_SHARE":"分享","CTX_COPY_SHARE_LINK":"複製分享鏈接","CTX_COPY_MAGNET_LINK":"複製Magnet鏈接","CTX_COPY_STREAM_LINK":"複製流媒體鏈接","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"下載此視頻","CTX_DOWNLOAD_SUBS":"下載字幕","CTX_VIEW_ON_YOUTUBE":"在YouTube上觀看","CTX_SHOW":"顯示","CTX_PLAY":"播放","CTX_PLAY_IN":"播放","CTX_PLAY_ON":"正在播放","CTX_WATCH_ON":"正在觀看","CTX_WATCH":"觀看","CTX_WATCHED":"已觀看","CTX_WATCH_BEGINNING":"從頭開始觀看","CTX_WATCH_MOBILE":"在移動設備上觀看","CTX_REWIND":"回到開頭","CTX_MARK_WATCHED":"標記為已觀看","CTX_MARK_NON_WATCHED":"標記為未觀看","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"將其餘部分標記為已觀看","CTX_UNMARK_REST":"將其餘部分標記為未觀看","CTX_RECEIVE_NEW_NOTIF":"接受新通知","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"從緩存中刪除","CTX_REMOVE_CACHE_EP":"從緩存中刪除集","CTX_OPEN_CONTAINING":"打開所在文件夾","CTX_REMOVE":"從庫中刪除","CTX_AVAILABLE_OFFLINE":"離線可用","CTX_PAUSED":"暫停","CTX_ALWAYS_ON_TOP":"置頂","CTX_FULLSCREEN":"全屏","CTX_WRONG_SUBS":"錯誤的字幕?","CTX_REPORT_ISSUES":"報告問題","CTX_COPY":"複製","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"粘貼","CTX_CLEAR":"清除","CTX_CLEAR_RECENT_SEARCHES":"清除最近搜索記錄","HELLO_THERE":"您好","HOPE_YOU_ENJOY":"我們希望您喜歡Stremio,也許它已經是您最喜歡的應用之一了!","WHO_ARE_WE":"我們是誰?我們是它背後的團隊。在過去三年裏的每天,我們兩個努力工作使這個產品越來越好。","SUPPORT_US":"如果您喜歡Stremio,如果Stremio對您來説很有價值,請傳播它!","SPREAD_THE_WORD":"現在與您的朋友分享傳播關於Stremio的信息","MORE_PEOPLE":"使用Stremio的人越多,效果就越好!","SEND_A_LINK":"或發送一個鏈接到我們的網站","TIP_LOCALFILES":"提示:您可以將本地視頻文件拖放到Stremio中","ADDON_MY":"我的插件","ADDON_COMMUNITY":"社區插件","ADDON_OFFICIAL":"官方插件","ADDON_REPOS":"插件集合","ADDON_SEARCH":"搜索插件","ADDON_INSTALL":"安裝","ADDON_CONFIGURE":"配置","ADDON_UNINSTALL":"卸載","ADDON_UPGRADE":"更新","ADDON_INSTALLED":"已安裝","ADDON_INSTALLED_MSG":"插件已安裝!","ADDON_UPGRADED_MSG":"插件已更新!","ADDON_UNKNOWN":"未知","ADDON_ERR":"插件安裝錯誤!","ADDON_DISCONNECTED":"已斷開連接","ADDON_APP_MISSING":"未安裝此源的應用程序,您想現在安裝嗎?","ADDON_APP_INSTALL":"立即安裝","ADDON_PAGE":"插件頁","ADDON_TOP_CONTENT":"最好從這個插件","ADDON_PROVIDES":"這個插件會給您:","ADDON_WATCH":"立即觀看#{types}!","ADDON_WATCH_FREE":"立即免費觀看#{types}!","ADDON_ADDON":"插件","ADDON_SUPPORTED_TYPES":"支持的類型","ADDON_SUPPORTED_CATALOGS":"支持的目錄","ADDON_PROVIDES_DISCOVER":"發現中的更多#{types}","ADDON_PROVIDES_STREAMS":"觀看#{types}","ADDON_PROVIDES_STREAMS_FREE":"免費觀看#{types}","ADDON_PROVIDES_SUBTITLES":"#{types}的字幕","ADDON_CANTDETECT":"我們無法檢測到正在運行的Stremio,因此我們無法檢測您安裝了哪些插件。","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"找不到有關於此的信息","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"檢索有關於此的信息時出錯","ERR_CANT_PARSE_MAGNET":"無法分析Magnet","ERR_NO_MAGNET_INFOHASH":"Magnet缺少有效的Hash","ERR_NO_FILE_PATH":"沒有文件路徑無法發送請求","ERR_NO_TORRENT":"沒有Torrent返回","ERR_NO_SUPPORTERD_FILES":"找不到支持的文件","ERR_OPENING_FILES":"無法打開外部文件","ERR_INVALID_LINK":"無效鏈接","ERR_REGISTERED_ONLY":"此選項僅適用於已註冊用户。","ERR_CLIPBOARD":"無法從剪切板播放","ERR_CLIPBOARD_READ":"無法讀取此平台上的剪切板","ERR_CLIPBOARD_GENERIC":"在剪切板中找不到可播放的URL. 請將URL(例如Magnet鏈接)複製到視頻。","BOARD_CONTINUE_WATCHING":"繼續觀看","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"專門為您挑選的電影。<br />這部電影是一個推薦樣例。","BOARD_EXPLANATION_EPISODES":"這裏是您最喜愛的劇集的新一集。<br />將您關注的劇集添加到庫中。","BOARD_EXPLANATION_VIDEOS":"這裏是您最喜愛的頻道的新一集。<br />將您關注的YouTube頻道添加到庫中。","WEBSITE_ENJOYED_BY":"在全球擁有超過3000萬用户","WEBSITE_STREAMING_ENHANCED":"流媒體增強","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio提供安全、現代、無縫的娛樂體驗。憑藉其易於使用的界面和多樣化的內容庫,包括4K HDR支持,用户可以在所有設備上欣賞他們喜愛的電影和電視節目。Stremio致力於安全,是無憂、高質量流媒體體驗的終極選擇。","WEBSITE_AVAILABLE_ON":"可用時間","WEBSITE_WATCH_AND_ENJOY":"觀看並享受。","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio讓它變得小菜一碟","WEBSITE_ALL_FEATURES":"全部功能","WEBSITE_EASY_TO_USE":"易於使用","WEBSITE_EASY_TO_USE_DETAILS":"Stremio的設計是用户友好和易於使用。憑藉其乾淨直觀的界面,您可以輕鬆導航並找到想要觀看的內容。","WEBSITE_SEAMLESS_ACROSS_DEVICES":"無縫跨設備","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Stremio可用於各種平台(包括Windows、Mac、Linux、Android等),它將跟蹤您在所有設備上的進度。只需登錄並繼續觀看,無需在每個新設備上再次配置應用程序。","WEBSITE_ALL_DOWNLOADS":"全部下載","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"高清晰度視頻支持","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"集成視頻播放器支持大多數視頻格式,包括4K HDR內容,讓您享受可用的最高質量。","WEBSITE_DIVERSE_CONTENT_LIBRARY":"多樣化的內容庫","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio集成了大量流行的視頻來源,如Netflix、Amazon Prime video、Hulu、YouTube等。","WEBSITE_CREATE_A_FREE_ACCOUNT":"創建免費帳户","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"量身定製的觀看體驗","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio允許您通過更改主題、添加或刪除插件等方式自定義界面的外觀。","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"多語言字幕支持","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"由於Stremio支持所有語言的字幕,您現在可以用您喜歡的語言欣賞所有喜愛的內容。","WEBSITE_ALL_STREMIO_FEATURES":"Stremio的全部功能","WEBSITE_TRY_STREMIO_TITLE_P1":"嘗試Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"現在在你的電視上","WEBSITE_YOU_CAN_NOW_WATCH":"您現在可以在Android電視設備上觀看所有喜愛的電視節目。Stremio電視應用程序讓您輕鬆享受電影之夜。","WEBSITE_YOU_CAN_NOW_WATCH_2":"現在,您可以在智能電視或安卓電視上觀看所有喜愛的電視節目。Stremio電視應用程序讓您輕鬆享受電影之夜。","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"可能是您設備中最好、最有用的應用程序。這是我每天使用的應用程序之一,尤其是多年來在我的安卓電視上。製作精良,擁有強大的社區,提供有用的功能。幹得好。繼續努力。","WEBSITE_REVIEWS":"評論","WEBSITE_GET_STREMIO_FOR_FREE":"免費獲取Stremio","WEBSITE_GET_STREMIO_NOW":"立即獲取Stremio","WEBSITE_STREMIO_FEATURES":"Stremio功能","WEBSITE_STREMIO_FEATURES_DETAILS":"藉助Stremio的高級功能,像專業人士一樣進行流媒體播放,享受對所有喜愛媒體的無縫訪問","WEBSITE_DISCOVER_MORE":"發現更多。","WEBSITE_DISCOVER_MORE_DETAILS":"永遠不要無聊地沒有東西可看","WEBSITE_COMMUNITY_DRIVEN":"社區驅動","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio擁有一個龐大而活躍的用户社區,他們通過創建和共享插件為軟件的開發做出貢獻。","WEBSITE_GET_INVOLVED":"參與進來","WEBSITE_NEW_THEATER_EXPERIENCE":"新劇場體驗","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio的新專用電視應用程序讓您在Android電視設備上享受電影之夜。","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio的新專用電視應用程序讓您在智能電視或安卓電視設備上享受電影之夜。","WEBSITE_FREE_AND_SECURE":"免費和安全","WEBSITE_STREAMING":"流式傳輸","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio為用户提供無與倫比的安全性和隱私。Stremio具有遠程運行插件的獨特功能,與其他平台相比,它提供了一種更安全的方式來流式傳輸您喜愛的內容。您的安全和隱私是首要任務,平台確保您的所有數據都得到保護。","WEBSITE_FREE_AND_SECURE_DETAILS_2":"告別對安全和隱私的擔憂,與Stremio一起向無盡娛樂的世界問好。","WEBSITE_INFORMATION_PROVIDED_BY":"信息來源於","WEBSITE_CONTRIBUTE_DESC":"幫助我們讓Stremio變得更好","WEBSITE_COMMUNITY_DESC":"我們相信,創造真正令人驚歎的流媒體體驗的最佳方式是讓我們的社區參與到這個過程中。無論你是程序員、藝術家還是粉絲,你都可以幫助Stremio成長。","WEBSITE_COMMUNITY_DESC_2":"所以,今天就加入我們,成為Stremio社區的一員,繼續塑造流媒體的未來。","WEBSITE_WAYS_TO_GET_INVOLVED":"參與方式","WEBSITE_IN_THE_STREMIO_COMMUNITY":"在Stremio社區","WEBSITE_SHARE_YOUR_THOUGHTS":"分享你的想法","WEBSITE_REPORT_BUGS":"報告Bug","WEBSITE_SUGGEST_FEATURES":"建議功能","WEBSITE_AND_PROVIDE_FEEDBACK":"並在我們的社交媒體渠道上提供反饋。","WEBSITE_BETA_TESTING_PROGRAM":"Beta測試程序","WEBSITE_BETA_TESTING_PROGRAM_DESC":"在Stremio社區參與我們的測試計劃(我們定期發出邀請)。","WEBSITE_JOIN_NOW":"立即加入!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Stremio官方社區","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Stremio非官方社區","WEBSITE_BECOME":"成為","WEBSITE_A_VOLUNTEER_TRANSLATOR":"一位志願翻譯者","WEBSITE_ARE_YOU_A_DEVELOPER":"你是開發者嗎?","WEBSITE_CONTRIBUTE_CODE":"您可以為我們的開源項目貢獻代碼。我們在GitHub上有幾個項目正在尋找貢獻者。如果你有興趣幫忙,可以去看看:","WEBSITE_STREMIO_ON_GITHUB":"GitHub上的Stremio","WEBSITE_CREATE_ADDON_DESC":"創建一個插件以增強Stremio的功能(我們有一個易於使用的API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio插件SDK","WEBSITE_INTERN_DEVELOPER":"我們還提供了作為實習生開發人員加入我們的機會,這樣我們就可以一起成長。","WEBSITE_APPLY_AS_AN_INTERN":"以實習生身份申請","WEBSITE_CALLING_ALL_ARTISTS":"呼叫所有藝術家!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"通過將您的粉絲藝術上傳到我們的在線畫廊,展示您對Stremio的創造力和熱愛。無論是繪畫、繪畫還是數字設計,我們都希望看到您對Stremio品牌的獨特見解。加入我們的藝術愛好者社區,與世界各地的Stremio粉絲分享您的作品。","WEBSITE_STREMIO_FANART_GALLERY":"Stremio粉絲藝術畫廊","WEBSITE_INTERN_DESIGNER":"通過我們激動人心的實習機會,成為我們團隊的一員,將您的創造力提升到新的高度。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"公共領域電影項目","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"在Stremio,我們致力於通過識別公共領域和孤兒視頻來保護電影和電視的歷史。通過與我們的社區合作,我們可以確保這些經典藝術作品對每個人都是可訪問的,併為後代所保護以供享受。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"如果您想參與該項目,請隨時與我們聯繫。","WEBSITE_JOIN_THE_PROJECT":"加入項目","WEBSITE_BE_PART_OF_OUR_MISSION":"成為我們使命的一部分","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"有興趣加入斯特雷米奧隊嗎?我們為充滿激情的專業人士提供完全遠程工作。查看我們的空缺職位。","WEBSITE_OPEN_POSITIONS":"空缺職位","WEBSITE_DESCRIPTION":"説明","WEBSITE_LEARN_MORE":"瞭解更多","WEBSITE_COMPANY":"公司","WEBSITE_CONTACTS":"聯繫人","WEBSITE_NEED_HELP":"需要幫助?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS版Stremio Web指南","WEBSITE_LINK_ART_V2":"粉絲藝術畫廊","WEBSITE_PARTNERS":"合作伙伴","WEBSITE_SLOGAN_WATCH":"立即觀看","WEBSITE_SLOGAN_ALL":"一站式視頻娛樂解決方案","WEBSITE_SLOGAN_NEW":"您能觀看一切","WEBSITE_SLOGAN_NEW_NEW":"自由串流","WEBSITE_WATCH_FROM":"觀看","WEBSITE_DOWNLOAD":"立即下載","WEBSITE_DOWNLOAD_FOR":"立即下載","WEBSITE_IS_DESKTOP":"Stremio是一個桌面應用程序,請在PC上打開此頁並下載","WEBSITE_DESKTOP_DEMO_VID":"桌面演示","WEBSITE_PAGE_HOME":"首頁","WEBSITE_PAGE_FEATURES":"功能","WEBSITE_PAGE_ADDONS":"插件","WEBSITE_PAGE_TECH":"技術","WEBSITE_PAGE_CREATE_ADDON":"創建插件","WEBSITE_PAGE_CONTACTS":"聯絡","WEBSITE_PAGE_BLOG":"博客","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"電影","WEBSITE_TYPE_series_PL":"劇集","WEBSITE_TYPE_tv":"直播電視","WEBSITE_TYPE_channel":"頻道","WEBSITE_STREMIO_WHAT_IS":"Stremio是一款幫助您管理和隨時觀看您喜愛的視頻、電影、劇集和電視頻道的應用程序","WEBSITE_FEATURES_WATCH":"立即觀看高清視頻","WEBSITE_FEATURES_WATCH_DETAIL":"點擊並播放您喜愛的電影、劇集、視頻和電視頻道。","WEBSITE_FEATURES_SUBS":"自動加載字幕","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio會自動為您的語言選擇同步字幕。","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"在電視和移動設備上播放","WEBSITE_FEATURES_CAST_DETAIL":"適用於AppleTV、Chromecast、智能電視(DLNA/UPnP)和移動設備。","WEBSITE_LIB":"享受在所有設備上同步的個人庫","WEBSITE_LIB_COLLECT":"從Stremio收集","WEBSITE_LIB_IMPORT":"從Facebook導入","WEBSITE_LIB_LOCAL":"從本地磁盤添加","WEBSITE_BOARD":"首頁 - 通知和推薦的一站式場所","WEBSITE_BOARD_RECOMMEND":"推薦電視節目","WEBSITE_BOARD_TRENDING":"流行電影","WEBSITE_BOARD_NEW":"新視頻","WEBSITE_BOARD_EPISODE":"新一集","WEBSITE_BOARD_1":"想看些有趣的東西嗎?根據您的喜好得到推薦!","WEBSITE_BOARD_2":"當您最喜愛的電視節目或YouTube頻道的新一集播出時獲得通知!","WEBSITE_BOARD_YOUTUBE":"YouTube頻道的新視頻","WEBSITE_BOARD_EPISODES":"您關注的劇集的新一集","WEBSITE_ADDONS":"內容插件","WEBSITE_TECH_DETAIL":"我們熱愛科技,我們熱愛瘋狂的科學!\\nStremio使用了以下開源技術:","WEBSITE_TECH_WCJS":"WebChimera.js允許Stremio以良好的性能播放任何視頻格式。","WEBSITE_TECH_WCJS_EXTRA":"我們是項目的核心貢獻者","WEBSITE_TECH_ELECTRON":"Electron為Stremio提供了一個創新平台。","WEBSITE_TECH_ELECTRON_EXTRA":"我們是項目貢獻者","WEBSITE_TECH_LINVODB":"一種數據庫技術,確保您的數據在任何地方登錄都受管理和可用。","WEBSITE_TECH_LINVODB_EXTRA":"內部技術","WEBSITE_CREATE_ADDON":"創建您的插件","WEBSITE_CREATE_ADDON_DETAIL":"您有提供視頻內容的服務嗎?我們將通過創建插件來幫助您從Stremio的功能中獲益。","WEBSITE_CREATE_ADDON_BENEFITS":"為Stremio創建插件的好處","WEBSITE_P2P_BEAUTY":"點對點流媒體之美","WEBSITE_P2P_1":"可靠且價格合理的全高清/4K視頻點播或流媒體直播","WEBSITE_P2P_2":"提供良好用户體驗的分銷平台","WEBSITE_P2P_3":"我們將創建一個插件來滿足您的確切需要","WEBSITE_P2P_CONTACT":"有興趣嗎?歡迎您通過<a href=\'mailto:office@stremio.com\'>聯繫我們</a>.","WEBSITE_P2P_CONTACT_EXTRA":"我們很樂意幫助您將您的內容集成到Stremio!","WEBSITE_P2P":"偶然間出現了一種改變遊戲名稱的技術。 我們投入了大量的時間和精力來構建我們的點對點(P2P)視頻流媒體引擎,該引擎可提供出色的性能和多功能性,以適應任何用例。\\n請聯繫我們以獲取支持DRM的P2P視頻點播或實時流媒體。","WEBSITE_THOUGHTS":"我們分享的想法:","WEBSITE_SPREAD":"傳播關於Stremio的信息:","WEBSITE_CONTACT":"聯繫我們,我們很高興收到您的來信!","WEBSITE_OPENSOURCE":"有關我們的開源項目,請轉到:","WEBSITE_BITCOIN":"捐贈比特幣:","WEBSITE_FAQ":"常見問題","WEBSITE_FAQ_SHORT":"常見問題","WEBSITE_QUESTIONS":"問題","WEBSITE_TOS":"使用條款","WEBSITE_LEGAL":"法律","WEBSITE_PAGE_ABOUT":"關於","WEBSITE_PAGE_BECOME_PARTNER":"成為合作伙伴","WEBSITE_ALL_YOU_CAN_WATCH":"自由觀看\\n您想看的一切。","WEBSITE_FREEDOM_TO_STREAM":"自由串流","WEBSITE_WHAT_IS_STREMIO":"什麼是Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio是一個一站式視頻內容聚合中心。在您擁有的任何設備上發現,管理和觀看來自各種來源的視頻。","WEBSITE_WHAT_IS_STREMIO_P2":"電影、電視節目、劇集、電視直播或網絡頻道例如YouTube或Twitch.tv等,您可以在Stremio上找到所有這些內容。","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio是一個現代化的媒體中心,為您的視頻娛樂提供一站式解決方案。您可以通過易於安裝的插件發現,觀看和整理視頻內容。","WEBSITE_WHAT_IS_STREMIO_P2_V2":"電影、電視節目、直播電視或網絡頻道——在Stremio上找到所有這些。","WEBSITE_ENJOI_ON_ALL_DEVICES":"在所有媒體設備上享受","WEBSITE_DEVICES_COLLECT":"從Stremio收集","WEBSITE_DEVICES_IMPORT_FB":"從Facebook導入","WEBSITE_DEVICES_LOCAL":"從本地磁盤添加","WEBSITE_JOIN_THE_PARTY_NOW":"立即加入聚會","WEBSITE_DEVICES_ALL":"易於在所有設備上使用;","WEBSITE_EXTENDABLE_CATALOG":"可無限擴展的視頻目錄;","WEBSITE_ORGANIZE_YOUR_MEDIA":"強大的媒體管理功能;","WEBSITE_AS_SEEN_ON":"如圖所示","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"關於我們","WEBSITE_LINK_TECHNOLOGY":"技術","WEBSITE_LINK_APPS":"應用程序","WEBSITE_LINK_DOWNLOADS":"下載","WEBSITE_MORE":"更多","WEBSITE_LINK_ADDONS":"插件","WEBSITE_LINK_ADDON_SDK":"插件SDK","WEBSITE_LINK_CONTRIBUTE":"貢獻","WEBSITE_LINK_COMMUNITY":"社區","WEBSITE_LINK_BLOG":"博客","WEBSITE_MORE_MORE":"... & 更多","WEBSITE_LINK_HELP":"幫助中心","WEBSITE_LINK_CONTACTS":"業務查詢","WEBSITE_LINK_TOS":"條款和條件","WEBSITE_LINK_PRAVACY":"隱私政策","WEBSITE_SUBSCRIBE":"訂閲","WEBSITE_NEWSLETTER":"加入我們的實時通訊,瞭解精彩的內容","WEBSITE_PLACEHOLDER_EMAIL":"您的電子郵箱","WEBSITE_COMMUNITY":"社區","WEBSITE_LINK_PRAVACY_LEGAL":"隱私與法律","WEBSITE_WHY":"我們為什麼這樣做","WEBSITE_WHY_P1":"在Stremio,我們每天都工作,因為我們想解決視頻點播行業的一個重要問題。每分鐘都有這麼多的新內容發佈,幾乎不可能找到解決的方法。","WEBSITE_WHY_P2":"我們幫助人們瀏覽這個巨大的視頻娛樂世界,發現新的內容來享受。我們的應用程序彙集了電影、劇集、電視直播、網絡頻道等。我們致力於讓用户非常容易地找到他們喜歡的標題和廣播。","WEBSITE_WHY_P3":"您可以隨時在任何設備上使用我們的服務,使Stremio成為您唯一需要的視頻娛樂中心。","WEBSITE_TEAM":"團隊","WEBSITE_TEAM_P":"Stremio團隊雖小但很強大:我們10個人用X語言編寫代碼,分享軟件開發、UI和UX設計、營銷和廣告、商業和初創企業方面的專業知識。","WEBSITE_FEATURES":"功能","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"輕鬆發現新內容","WEBSITE_FEATURES_DISCOVER_P":"輕鬆發現要觀看的新電影、電視節目、劇集和頻道。按類別、流派、評分、時間等瀏覽,或者只需鍵入一個名稱即可找到。Stremio讓尋找新的視頻內容變得輕而易舉。","WEBSITE_FEATURES_ALL_CONTENT":"一塊屏幕顯示所有視頻內容","WEBSITE_FEATURES_ALL_CONTENT_P1":"查看您未看完的電影、劇集或視頻,並繼續觀看;獲得新劇集和版本的通知;瀏覽根據您的觀看習慣獲得的推薦。","WEBSITE_FEATURES_LIBRARY":"管理您的視頻庫","WEBSITE_FEATURES_LIBRARY_P1":"只需點擊一下,即可將任何標題添加到您的Stremio庫中,並按類型、時間或字母順序整齊地排列內容。","WEBSITE_FEATURES_CALENDAR":"記錄您所觀看的一切","WEBSITE_FEATURES_CALENDAR_P1":"獲取添加到庫中的所有電影和系列的日曆可視化。導出您的Stremio日曆並同步它,這樣您就可以隨時知道新的一集或首映何時到來。","WEBSITE_FEATURES_BIG_SCREEN":"在大屏幕上欣賞您的視頻內容","WEBSITE_FEATURES_BIG_SCREEN_P1":"將您正在觀看的任何內容都投屏到另一台設備上,無論是手機、平板電腦還是電視,只需點擊一下即可。","WEBSITE_FEATURES_SOURCES":"觀看不同來源的視頻","WEBSITE_FEATURES_SOURCES_P":"安裝官方和社區插件,欣賞來自多個不同供應商的視頻。","WEBSITE_CREATE_AN_ADDON":"創建插件","WEBSITE_FEATURES_SYNC":"跨設備同步庫並恢復播放","WEBSITE_FEATURES_SYNC_P1":"使用您的帳户在所有設備上登錄,享受同步的庫、插件、播放和日曆。","WEBSITE_FEATURES_EXTENDABLE":"通過插件擴展視頻目錄","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio插件目錄提供了許多插件,可以從中安裝和觀看各種視頻內容。這包括電影、節目、電視直播、體育、新聞、播客、網絡頻道、視頻遊戲等。","WEBSITE_FEATURES_AUTO_SUBS":"自動加載字幕","WEBSITE_FEATURES_AUTO_SUBS_P1":"通過我們的字幕插件,您可以自動選擇您喜歡的語言。","WEBSITE_FEATURES_CHROMECAST":"投屏到Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"在更大的屏幕上欣賞您的視頻內容,或者將您正在觀看的內容投屏到其他設備上。","WEBSITE_FEATURES_KEEP_TRACK":"跟蹤您最喜愛的電視節目和網絡頻道","WEBSITE_FEATURES_KEEP_TRACK_P1":"獲取您最喜愛的劇集和網絡頻道的新一集的日曆可視化和通知。","WEBSITE_FEATURES_POWER_USER":"超級用户功能","WEBSITE_FEATURES_POWER_USER_P1":"在外部播放器中播放","WEBSITE_FEATURES_POWER_USER_P2":"從Torrent文件或Magnet鏈接播放","WEBSITE_FEATURES_POWER_USER_P3":"從Facebook喜愛或本地磁盤導入您的庫","WEBSITE_ADD_ONS":"插件","WEBSITE_ADD_ONS_P1":"Stremio提供的所有視頻內容都是通過插件系統獲取的,應用程序中沒有內置任何內容或內容提供商。","WEBSITE_ADD_ONS_P2":"有兩組插件可用:官方和社區插件。","WEBSITE_ADD_ONS_P3":"官方插件由Stremio開發和託管,而社區插件由我們的社區成員創建和託管。","WEBSITE_ADDONS_OFFICIAL":"官方插件","WEBSITE_ADDONS_WATCHUB":"從iTunes、Hulu、Amazon和其他英國/美國服務提供商處流式播放您喜愛的電影、劇集和節目。","WEBSITE_ADDONS_YOUTUBE":"觀看您喜愛的YouTube頻道,獲得您關注的貢獻者的新上傳通知。","WEBSITE_ADDONS_FILMON":"免費觀看直播電視、電影和社交電視。600個電視頻道,45000部免費電影,紀錄片以及更多","WEBSITE_ADDONS_OPENSUBTITLES":"多語種影視字幕,每天上傳上千個翻譯字幕。","WEBSITE_ADDONS_COMMUNITY":"社區插件","WEBSITE_ADDONS_FILMON_VOD":"觀看來自Filmon.tv的點播視頻。","WEBSITE_ADDONS_TWICH":"觀看來自Twitch.tv(電子競技行業的視頻流媒體平台)的直播。","WEBSITE_ADDONS_VODO":"觀看完全免費的獨立電影。","WEBSITE_ADDONS_NETFLIX":"觀看Netflix的電影和網劇。","WEBSITE_ADDONS_CREATE":"創建插件","WEBSITE_ADDONS_CREATE_P1":"如果您願意,您可以開發自己的插件。通過這種方式,您可以讓自己和我們的社區訪問新的視頻內容,並接觸到全球數百萬用户的新目標受眾。","WEBSITE_ADDONS_START_CREATE":"要開始,請訪問Stremio插件SDK頁面:","WEBSITE_DOWNLOADS":"下載","WEBSITE_DOWNLOADS_P1":"為了獲得最佳性能,我們建議您使用最新版本的Stremio應用程序。但是,如果出於某種原因,您想使用舊版本,可以在此處下載。","WEBSITE_DOWNLOADS_P1_SHORT":"為了獲得最佳性能,我們建議您使用最新版本的Stremio應用程序,","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS(限制版本)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"下載Stremio服務","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service是Stremio Web的配套應用程序。我們建議使用最新版本的Stremio Service。","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"更多下載選項","WEBSITE_DOWNLOAD_NEW":"新!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"我們發佈了Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"貢獻","WEBSITE_CONTRIBUTE_P1":"Stremio平台是開源的,您可以輕鬆地為當前沒有來源的內容創建一個插件。","WEBSITE_CONTRIBUTE_WHY":"為什麼要創建插件?","WEBSITE_CONTRIBUTE_WHY_P1":"為您的視頻內容吸引新觀眾","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio的用户羣體正在快速增長,在推出的第一年,Stremio在全球獲得了100萬用户,在該平台存在的第二年,這個數字增長到250萬。","WEBSITE_CONTRIBUTE_WHY_P3":"用插件,您可以輕鬆接觸這些觀眾並向他們分發您的視頻內容。","WEBSITE_CONTRIBUTE_ALL":"在一處觀看您喜愛的電影、視頻、劇集和頻道。","WEBSITE_CONTRIBUTE_ALL_P1":"您是Stremio上尚未提供的特定類型內容的粉絲?為它創建一個插件,在市場上最大、最易使用的娛樂中心之一欣賞您喜愛的視頻。","WEBSITE_CONTRIBUTE_ALL_P2":"除此之外,您還會得到其他志同道合的Stremio社區成員的無盡感激。","WEBSITE_CONTRIBUTE_MONETIZE":"通過插件營利,並在其幫助下賺錢","WEBSITE_CONTRIBUTE_MONETIZE_P1":"一旦您為Stremio開發了一個新的插件,您就可以通過多種不同的方式輕鬆地靠其營利。如果您正在考慮此問題,請隨時與我們聯繫","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":",我們很樂意就插件營利選項向您提供諮詢和建議。","WEBSITE_CONTRIBUTE_TRANSLATE":"成為一名志願翻譯者","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"如果您想享受不同語言的Stremio應用程序,您可以加入我們的志願翻譯者社區。他們幫助我們添加多種不同語言的Stremio版本。","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"您想開始嗎?","WEBSITE_TRANSALTE_STREMIO":"翻譯Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"官方社區","WEBSITE_COMMUNITY_OFFICIALS_P1":"成為不斷增長的Stremio社區的一部分。在社交媒體上關注我們,不要害羞地打招呼,我們喜歡聽到粉絲的聲音!","WEBSITE_COMMUNITY_UNOFFICIALS":"非官方社區","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"合作伙伴和支持者","WEBSITE_COMMUNITY_GOODIES":"Stremio特典","WEBSITE_COMMUNITY_WALLPAPERS":"壁紙","WEBSITE_COMMUNITY_ART":"社區藝術畫廊","WEBSITE_LINK_ART":"社區藝術畫廊","WEBSITE_CONTACT_US":"聯繫我們","WEBSITE_CONTACT_US_P1":"如果您有任何問題、意見或建議,請隨時通過下面的聯繫方式與我們聯繫。","WEBSITE_CONTACT_US_P2":"請記住,我們位於保加利亞,因此可能會由於時區差異而延遲處理您的問題。","WEBSITE_CONTACT_US_SUCCESS":"您的信息已發送。我們會在方便的時候儘快給您回覆。","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"請輸入有效的電子郵箱!","WEBSITE_CONTACT_US_Q_RELATED_TO":"您的問題與什麼有關?","WEBSITE_CONTACT_US_Q_OS":"您的操作系統是什麼?","WEBSITE_CONTACT_US_PH_EMAIL":"您的電子郵箱","WEBSITE_CONTACT_US_PH_MESSAGE":"短信","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"發送","WEBSITE_CONTACT_US_Q_1":"如何安裝?","WEBSITE_CONTACT_US_Q_2":"如何卸載?","WEBSITE_CONTACT_US_Q_3":"(HTML)如何製作千層麪?","WEBSITE_CONTACT_US_Q_4":"插件","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"技術","WEBSITE_TECHNOLOGY_P1":"我們熱愛科技,熱愛科學。</br>這是Stremio的動力(它都是開源的)。","WEBSITE_TECHNOLOGY_P_QT":"最佳跨平台軟件開發工具。","WEBSITE_TECHNOLOGY_P_MPV":"一款免費、開源、跨平台的媒體播放器。","WEBSITE_TECHNOLOGY_P_RN":"React Native允許您僅使用JavaScript構建移動應用程序。","WEBSITE_TECHNOLOGY_P_VLC":"嵌入到應用程序中獲取多媒體的媒體框架。","WEBSITE_TECHNOLOGY_P_REALM":"Realm是一個移動平台,是SQLite和Core Data的替代品。","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js是一個開源、跨平台的JavaScript運行環境。","WEBSITE_TECHNOLOGY_P_RUST":"Rust是一種多範式系統編程語言,關注安全性,尤其是安全併發性。","WEBSITE_TECHNOLOGY_CONTRIBUTE":"為項目貢獻力量","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"您可以通過兩種方式為Stremio做貢獻,幫助我們將產品做得更好。","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"您可以通過翻譯平台來貢獻您寶貴的語言技能...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"或","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... 您可以利用您的編程技巧來創建社區插件。","WEBSITE_TRANSLATE_STREMIO":"翻譯Stremio","WEBSITE_404_OH_NO":"糟糕!您要找的頁面不在這裏...","WEBSITE_GO_HOME":"回到主頁","WEBSITE_LINK_OTHER_DOWNLOADS":"其他下載","WEBSITE_FAQ_ABR":"常見問題","WEBSITE_SUPPORT":"支持","WEBSITE_DOWNLOAD_4_0_BETA":"立即下載Stremio 4測試版","WEBSITE_GET_FOR_DESKTOP":"獲取桌面","WEBSITE_LINK_ADDON_COMPETITION":"插件比賽","WEBSITE_LINK_ART_CONTEST":"藝術比賽","WEBSITE_MY_ACCOUNT":"我的賬户","WEBSITE_MAINPAGE_FAQ_001_H1":"什麼是Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio是一個現代化的媒體中心,讓您可以自由觀看任何您想要的東西。","WEBSITE_MAINPAGE_FAQ_002_H1":"它是如何工作的?","WEBSITE_MAINPAGE_FAQ_002_P1":"一旦您在設備上安裝了Stremio並創建了一個帳户,您所要做的就是訪問插件目錄並安裝任何您想要的插件,就可以開始了!","WEBSITE_MAINPAGE_FAQ_002_P2":"之後,您可以進入“發現”或“板”部分,開始探索內容。","WEBSITE_MAINPAGE_FAQ_003_H1":"我可以在這裏看什麼?","WEBSITE_MAINPAGE_FAQ_003_P1":"很多:電影、電視節目、網絡頻道、體育、電視頻道、收聽播客等等。感謝我們的插件系統,您可以訪問各種內容。","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio是開源的嗎?","WEBSITE_MAINPAGE_FAQ_004_P1":"是的,您可以查看以下鏈接:${1}桌面應用${2}和${3}GitHub組織${4}。","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio安全嗎?","WEBSITE_MAINPAGE_FAQ_005_P1":"是:因為它是開源軟件,所以代碼可以公開審核,您可以自己查看。","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"我的隱私如何?","WEBSITE_MAINPAGE_FAQ_006_P1":"我們尊重用户隱私,除了創建和同步您的帳户所必需的最低限度外,不收集任何個人數據。","WEBSITE_MAINPAGE_FAQ_006_P2":"註冊時還有一個${1}訪客模式${2},它不需要任何數據:在這種模式下,不會調用我們的後端。然而,這是以犧牲有用的功能為代價的,比如能夠跨設備同步您的庫。","WEBSITE_MAINPAGE_FAQ_007_H1":"我可以投屏到電視嗎?","WEBSITE_MAINPAGE_FAQ_007_P1":"是的,我們支持Chromecast,您可以從桌面和移動應用程序(Android)進行強制轉換。","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio有多少插件?","WEBSITE_MAINPAGE_FAQ_008_P1":"截至2019年末,超過50個。有關更多信息,請查看我們的插件目錄。","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio是否可以擴展到插件目錄之外?","WEBSITE_MAINPAGE_FAQ_009_P1":"是的,您應該查看這些:${1}PimpMyStremio${2},${3}Reddit communities${4},${5}Stremio Downloader${6},等等。","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio支持哪些設備?","WEBSITE_MAINPAGE_FAQ_010_P1":"我們有適用於Windows、Mac和Linux的桌面應用程序。對於移動設備,我們支持Android和iOS,但請記住iOS的功能有限(不支持大多數插件)。","WEBSITE_MAINPAGE_FAQ_010_P2":"有很多基於Android的設備可以在上面運行Stremio,比如NVIDIA Shield和Amazon Fire Stick,但我們並不正式支持它們。","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"您們能為Stremio添加某些內容嗎?","WEBSITE_MAINPAGE_FAQ_011_P1":"抱歉,我們本身不提供任何內容,但是您安裝的Stremio插件越多,您可以找到的內容就越多。","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio可以播放Magnet鏈接嗎?","WEBSITE_MAINPAGE_FAQ_012_P1":"是的,它還可以播放正常的HTTP鏈接和Torrent文件(拖放)。","WEBSITE_MAINPAGE_FAQ_013_H1":"我可以下載視頻並離線觀看嗎?","WEBSITE_MAINPAGE_FAQ_013_P1":"離線可用是一項即將推出的功能,但如果您允許Stremio在設備上緩存(從“設置”面板),您可以稍後在沒有連接的情況下觀看視頻。","WEBSITE_MAINPAGE_FAQ_014_H1":"什麼都不能用,幫幫我!","WEBSITE_MAINPAGE_FAQ_014_P1":"您確定已安裝插件嗎?如果是,請與我們的${1}幫助中心${2}聯繫","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio如何維持其開發運營?","WEBSITE_MAINPAGE_FAQ_015_P1":"我們偶爾會播放非侵入性廣告,但我們正在考慮轉向捐贈模式。","WEBSITE_MAINPAGE_FAQ_015_P2":"有關更多問題,請訪問我們的${1}幫助中心${2}。","HELP_LEARN_MORE":"幫助我們瞭解更多有關您的信息。","LIFESTYLE":"生活方式","SPORTS":"體育","FOOD_HEALTH":"飲食與健康","BEAUTY_FASHION":"美麗與時尚","NEWS":"新聞","GAMING":"遊戲","SCIENCE_EDUCATION":"科學與教育","MUSIC":"音樂","TRAVEL":"旅行","LATE_NIGHT":"深夜","REALITY":"真人","COMEDY":"喜劇","DIY":"DIY","TECH":"技術","CINEMA":"影院","CONTINUE":"繼續","SLOW_LOADING":"加載緩慢?","I_GIVE_UP":"我放棄了","LEARN_MORE":"瞭解更多","POOR_SOURCE":"此源不可用或您的網絡連接不夠快","PICK_CATEGORIES_ERR":"您必須至少選擇3個類別","ADJUST_TIMING":"調整時間","ADJUST_SIZE":"調整大小","SEARCH_ANYTHING":"您可以搜索一切...","ALL_CATEGORIES":"全部","SEARCH_CATEGORIES":"電影、劇集、YouTube和電視","SEARCH_PERSONS":"演員、導演和編劇","SEARCH_PROTOCOLS":"HTTP或Magnet鏈接","SEARCH_TYPES":"IMDB/TVDB鏈接","WATCHED":"已觀看","SHOW_LESS":"顯示較少","LAST_SEARCHES":"上次搜索","CLEAR_HISTORY":"清除歷史記錄","CHOOSE_SOME":"選擇其中一些:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"無法加載Web Remote","STREMIO_OFFLINE":"Stremio離線","STREMIO_EXPENSIVE_CONNECTION":"我們檢測到您正在使用移動數據連接,是否繼續?","USE_DATA":"使用移動數據","WARNING":"警告","MORE_INFO":"更多信息...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"加載...","STREMIO_TV_BACK_TO_LANGUAGES":"返回語言","STREMIO_TV_REMOTE":"遠程","STREMIO_TV_GO_TO":"去往:","STREMIO_TV_OR_SCAN":"或掃描:","STREMIO_TV_ADDON_INSTRUCTIONS":"請按照説明安裝您喜歡的插件。","STREMIO_TV_LIVE_TV":"直播電視","STREMIO_TV_RESUME_WATCHING":"繼續觀看","STREMIO_TV_LOADING_BACKGROUND":"加載背景","STREMIO_TV_CHECKING_AUTHENTICATION":"正在檢測身份驗證","STREMIO_TV_LOADING_BOARD":"加載主頁","STREMIO_TV_LOGIN_HEADER_LINE_1":"我們希望用户在使用我們的軟件時有最好的個性化體驗,","STREMIO_TV_LOGIN_HEADER_LINE_2":"正是出於這個原因,我們懇請您建立和/或登錄您的賬户,","STREMIO_TV_LOGIN_FOOTER_LINE_1":"感謝您的理解,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio團隊","STREMIO_TV_REMOTE_INSTRUCTIONS":"為了在您的智能手機/平板電腦/桌面使用Web Remote:","STREMIO_TV_WIFI_SETUP":"Wi-Fi設置","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle未檢測到互聯網連接。","STREMIO_TV_WIFI_DETAILS_1":"連接到:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"使用密碼:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"在瀏覽器中打開鏈接:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"默認","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"按最近觀看","STREMIO_TV_LIBRARY_SORT_NAME":"按名字","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"按觀看次數","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"季${1}","STREMIO_TV_STREAMS_LOADING":"已加載${1}/${2}插件...","STREMIO_TV_STREAMS_STILL_LOADING":"${1}插件仍在加載...","STREMIO_TV_PLAYER_SETTINGS":"播放器設置","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"字幕延遲","STREMIO_TV_PLAYER_AUDIO_DELAY":"音頻延遲","STREMIO_TV_PLAYER_VIDEO_SCALING":"視頻縮放","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"不支持的流媒體源","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"打開外部鏈接失敗","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"在音頻直通模式下不可調整","STREMIO_TV_PLAYER_PLAY_IN_EXO":"使用ExoPlayer播放","STREMIO_TV_PLAYER_PLAY_IN_VLC":"使用libVLC player播放","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"由於播放錯誤而切換到libVLC player","STREMIO_TV_ADDONS_TITLE":"在手機或PC上使用Stremio安裝或配置插件,然後按\\"同步插件\\"","STREMIO_TV_ADDONS_SUBTITLE":"注意:確保您使用的是相同的Stremio帳户","STREMIO_TV_ADDONS_SYNC_ADDONS":"同步插件","STREMIO_TV_ADDONS_SYNC_SUCCESS":"插件成功同步","STREMIO_TV_ADDONS_SYNC_FAILED":"插件同步失敗","STREMIO_TV_META_LINK_FAILED":"打開元鏈接失敗","STREMIO_TV_CATALOG_LOADING":"目錄仍在加載...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"界面語言已更新","STREMIO_TV_SETTINGS_THEME_UPDATED":"主題已更新","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"默認播放器","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"外部播放器","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"首選語言","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"次要首選語言","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"隧道播放","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"某些設備上可能存在播放問題","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"某些視頻格式可能無法播放","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"幀速率匹配","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"關閉","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"僅幀速率","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"幀速率和分辨率","STREMIO_TV_SETTINGS_NO_CACHING":"無緩存","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"默認","STREMIO_TV_SETTINGS_PROFILE_SOFT":"慢","STREMIO_TV_SETTINGS_PROFILE_FAST":"快","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"超快","STREMIO_TV_SETTINGS_SERVER_URL":"流媒體服務器URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"服務器版本","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"未知","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio版本","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"編輯服務器URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"輸入流媒體服務器URL","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"加載時顯示統計信息","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"要閲讀Stremio的隱私政策,請訪問:","STREMIO_TV_SETTINGS_TOS_TEXT":"要閲讀Stremio的條款和條件,請訪問:","STREMIO_TV_NAV_SEARCH":"搜索","STREMIO_TV_NAV_HOME":"主頁","STREMIO_TV_NAV_DISCOVER":"發現","STREMIO_TV_NAV_LIBRARY":"庫","STREMIO_TV_NAV_MOVIES":"電影","STREMIO_TV_NAV_SERIES":"劇集","STREMIO_TV_NAV_CHANNELS":"頻道","STREMIO_TV_NAV_TV":"電視直播","STREMIO_TV_NAV_SETTINGS":"設置","STREMIO_TV_NAV_ADDONS":"插件","STREMIO_TV_LOGIN_TITLE":"鏈接賬户","STREMIO_TV_LOGIN_EXPIRES_IN":"過期日期到","STREMIO_TV_LOGIN_STEP_ONE":"掃描上方的二維碼或轉到","STREMIO_TV_LOGIN_STEP_TWO":"登錄您的Stremio帳户","STREMIO_TV_LOGIN_NEW_LINK":"請求新鏈接","STREMIO_TV_LOGIN_LINK_REFRESHED":"登錄代碼已刷新","STREMIO_TV_SEARCH_PLACEHOLDER":"輸入一些東西","STREMIO_TV_SEARCH_NO_ADDONS":"沒有為目錄請求插件!","STREMIO_TV_SEARCH_BUTTON":"搜索","STREMIO_TV_SEARCH_KEY_DEL":"刪除","STREMIO_TV_SEARCH_KEY_SPACE":"空格","STREMIO_TV_SEARCH_KEY_CLEAR":"清除","STREMIO_TV_SEARCH_HISTORY_TITLE":"搜索歷史","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"您可以搜索標題、演員、頻道...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"清除搜索歷史","STREMIO_TV_FILTERS_DESCRIPTION":"從以下過濾器中選擇一個","STREMIO_TV_STREAMING_SERVER_OFFLINE":"流媒體服務器離線,檢查服務器設置。","FILTERS":"過濾器","SETTINGS":"設置","ACCOUNT":"賬户","LOGOUT":"註銷","THEMES":"主題","PLAYBACK":"播放","PLAYBACK_SPEED":"播放速度","AUDIO_TRACKS":"音軌","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"視頻","SERVER":"服務器","LINKS":"鏈接","ABOUT":"關於","INTERFACE":"界面","ANIMATIONS":"動畫","STATUS":"狀態","LANGUAGE":"語言","SIZE":"大小","DELAY":"延遲","BOLD":"粗體","OPACITY":"Opacity","TEXT_COLOR":"文本顏色","OUTLINE_COLOR":"輪廓顏色","BACKGROUND_COLOR":"背景顏色","BACKGROUND_BLUR":"背景模糊","SEEK_TIME_DURATION":"尋找持續時間","AUTO_PLAY":"自動播放下一集","PLAY_NOW":"現在播放","MARK_AS_WATCHED":"標記為已觀看","MARK_AS_UNWATCHED":"標記為未觀看","REWIND_TO_BEGINNING":"倒回開始","CONTINUE_WATCHING":"繼續觀看","ALL":"全部","SECONDS":"秒","ON":"開","OFF":"關","RELOAD":"重新加載","EDIT_URL":"編輯URL","URL":"URL","NONE":"無","EMBEDDED":"內嵌","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"開關設備","REMOTE_VIDEOS":"視頻","REMOTE_ADJUST_TIMING":"調整時間","REMOTE_ADJUST_SIZE":"調整大小","REMOTE_COULD_NOT_BE_LOADED":"無法加載Web Remote","REMOTE_RETRY":"重試","TORRENT_PROFILE_DEFAULT":"默認","TORRENT_PROFILE_SOFT":"慢","TORRENT_PROFILE_FAST":"快","TORRENT_PROFILE_ULTRA_FAST":"超快","MB_S":"MB/s","FAQ_001_H1":"什麼是Stremio?","FAQ_001_P1":"Stremio是專為視頻娛樂而設計的多媒體中心軟件,易於使用。Stremio允許您管理和觀看自己的電影,劇集,頻道和實況電視收藏。","FAQ_001_P2":"Stremio從本地磁盤和插件系統中收集顯示給您的內容。","FAQ_001_P3":"它還會在您感興趣的新劇集/視頻/電影播出時通知您,併為您提供電影推薦。","FAQ_02_H1":"Stremio與Kodi和Plex相比如何?","FAQ_02_P1":"我們受到這兩種軟件的啓發。但是我們有不同的目標——Stremio專門針對娛樂視頻,並通過易於使用成為其主流解決方案。","FAQ_02_P2":"Stremio將永遠不會像Kodi和Plex那樣具有可定製性和豐富的功能,但它更易於使用。只需${1}就可以獲取它,並查看${2}:)","FAQ_03_H1":"Stremio與Netflix相比如何?","FAQ_03_P1":"同樣,Netflix是我們的靈感之一。我們努力實現Netflix的用户體驗,再加上許多附加的好處。但最重要的是,我們讓您可以自由管理自己的庫,並使用我們的插件系統添加新的內容源。","FAQ_03_P2":"這使得Stremio可以無限擴展,因此當您使用Stremio時,您永遠不會侷限於Netflix決定許可的內容。例如,您可以通過Stremio觀看${1}中的內容電影電視${2}, ${3} Twitch.tv${4},${5}YouTube${6},${7}Vodo${8}甚至${9}Netflix${10}本身!","FAQ_04_H1":"Stremio與Flipboard相比如何?","FAQ_04_P1":"我們不常聽到這個問題,除非與初創企業的人交談:)","FAQ_04_P2":"Stremio是通過設計一個內容聚合器來實現的,它本質上就是視頻的Flipboard。這一點在我們的首頁部分非常明顯,它為您提供目錄和新的插曲/新的視頻通知,讓您瞭解您所關注的內容,就像Flipboard一樣。","FAQ_05_H1":"Stremio與Popcorn Time相比如何?","FAQ_05_P1":"Stremio和Popcorn Time在用户界面上很相似,因為沒有很多方法可以正確製作視頻娛樂目錄:)","FAQ_05_P2":"Popcorn Time主要集中在特定來源的流媒體上,但Stremio是不受限制的,只是一個內容聚合器,它沒有鎖定到特定的內容源。","FAQ_05_P3":"此外,我們默認不提供任何Torrent插件,因此Stremio不提供官方功能的Popcorn Time用例。","FAQ_05_P4":"另一個顯著的區別是Popcorn Time是完全開源的,而Stremio是${1}部分開源的${2}。","FAQ_06_H1":"是否要添加此電影/系列?","FAQ_06_P1":"不,對不起 :(","FAQ_06_P2":"正如大多數其他問題中提到的,Stremio本身不提供任何內容,所有內容都是通過插件系統添加的。如果您有內容請求,您可以使用播放器中的“報告”按鈕,它將向您當前使用的插件的作者發送電子郵件。","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"能否為X創建插件?","FAQ_08_P1":"完全有可能。","FAQ_08_P2":"如果您有一個插件的想法,請在${1}office@stremio.com${2}給我們留言,但請確保您的插件想法不會侵犯任何版權或使用條款。","FAQ_08_P3":"目前,我們路線圖上的下一件事是FandangoNOW,Filmon.tv video on demand和Crunchyroll的插件。","FAQ_09_H1":"Stremio是否使用BitTorrent?","FAQ_09_P1":"是的,Stremio支持BitTorrent作為流媒體協議。您可以將其與Torrent插件一起使用,也可以將.Torrent文件拖放到Stremio中,或者將磁鐵鏈接粘貼到搜索欄中。","FAQ_09_P2":"請注意,使用BitTorrent的唯一官方插件是${1}Vodo${2},它提供獨立內容,所有內容都允許與BitTorrent一起分發。","FAQ_09_P3":"我們不支持使用任何可能導致版權侵權的第三方插件。","FAQ_10_H1":"我可以在Stremio中通過官方插件觀看什麼節目?","FAQ_10_P1":"默認情況下,您可以在Stremio與它的嵌入式播放器觀看Filmon.tv,YouTube和Vodo的內容。另外,我們還有一個Twitch.tv插件,以及其他一些插件。","FAQ_10_P2":"此組合提供以下選項:","FAQ_10_L1":"Filmon.tv上的熱門電視頻道,例如E4、BBC、Bollyworld TV","FAQ_10_L2":"YouTube上的所有內容,例如BBC News、Top Gear、Vevo、PewDiePie","FAQ_10_L3":"Vodo上的獨立電影","FAQ_10_L4":"Twitch.tv上的在線遊戲廣播","FAQ_10_P3":"此外,Guidebox和Netflix插件提供了許多內容源,它們不完全在Stremio中播放,而是重定向到給定的服務。例如,Guidebox插件將為您提供可在美國免費播放的精選電影,這些電影來自TubiTV和Crackle等服務。","FAQ_11_H1":"Stremio無法安裝,我該怎麼辦?","FAQ_11_P1":"如果您在Windows上,請嘗試${1}此替代安裝程序${2}。","FAQ_11_P2":"如果您使用的是Mac OS X,請注意,我們不支持任何比OS X Mavericks(10.9)更舊的版本。","FAQ_11_P3":"如果您使用的是Linux,請注意,我們目前只支持64位(x64)Linux。","FAQ_11_P4":"如果您仍然無法解決您的問題,請寫信給我們的${1}Facebook羣組${2}。","FAQ_12_H1":"為什麼我的殺毒軟件會報毒?Stremio安全嗎?","FAQ_12_P1":"我們向您保證Stremio是${1}100%安全的${2}。","FAQ_12_P2":"您的殺毒軟件報毒是因為我們的安裝程序中包含廣告,一些殺毒軟件將其識別為廣告軟件。","FAQ_12_P3":"如果您仍然不確定,可以嘗試我們的${1}替代安裝程序${2}。","FAQ_13_H1":"如何製作插件?","FAQ_13_P1":"對於初學者,我們建議您查看GitHub上的${1}插件系統模塊${2}。","FAQ_13_P2":"之後,您可以按照${1}Hello World教程${2}進行操作。","FAQ_13_P3":"如果您沒有任何編程技能,請在${1}Reddit社區${2}上發佈您的想法,並在${3}office@stremio.com${4}上與我們聯繫您的插件想法。","FAQ_14_H1":"插件是如何發佈的?","FAQ_14_P1":"當您創建一個插件和主機,並在清單中放置一個指向工作插件地址的<b>終端節點</b>字段時,該插件將自動發佈到我們的${1}插件目錄${2}。","FAQ_14_P2":"發生這種情況是因為Stremio插件模塊的服務器部分會自動調用我們的API來聲明插件。當我們的API驗證您的<b>終端節點</b>為有效的插件時,它將開始顯示在目錄中。","FAQ_15_H1":"我可以在瀏覽器中運行Stremio嗎?","FAQ_15_P1":"目前還沒有,但即將到來!","FAQ_15_P2":"如果您想看到Alpha版本,可以在這裏看到:${1}alpha4.strem.io${2}. 請記住,此Alpha版本上已禁用流式處理。我們支持Chrome、Firefox、Opera和Edge","FAQ_16_H1":"電視投屏不起作用/字幕不起作用","FAQ_16_P1":"電視投屏使用DLNA技術,這在不同的電視品牌和型號之間非常不一致。由於這個原因,我們沒有能力在每種情況下都測試它,所以它還遠遠不夠完美。儘管如此,我們仍在不斷改進,但我們無法為您提供DLNA能夠在您的電視上開始正常工作的預計時間。","FAQ_16_P2":"如果您在“投屏”菜單中看不到您的電視,請嘗試禁用網絡連接並重新啓用它(在Windows上,右鍵單擊網絡並使用“啓用/禁用”),以及重新啓動路由器、電視和PC。","FAQ_16_P3":"如果您仍然遇到問題,您可以通過將您的電視品牌和型號信息發送到${1}來幫助我們”office@stremio.com${2}。","FAQ_16_P4":"同時,我們推薦Chromecast,我們非常支持Chromecast,或者直接用HDMI線將電視與PC連接。","FAQ_17_H1":"Stremio卡死和/或崩潰,我能做什麼?","FAQ_17_P1":"首先,如果您使用的是帶有AVG殺毒軟件的Windows 7,這種組合會產生問題。問題出在AVG本身,我們這邊沒有合理的辦法解決。不幸的是,去除或禁用殺毒軟件將不起作用。唯一的解決辦法是用別的東西代替AVG","FAQ_17_P2":"如果不是這個問題,但您仍在使用Windows,請更新到最新的service pack並更新/重新安裝您的GPU驅動程序,然後重試。","FAQ_17_P3":"如果您的問題仍未解決,或者您使用的是Mac或Linux,請寫信給我們,在${1}我們的Facebook羣組${2}報告問題的確切細節。","FAQ_18_H1":"如何製作插件?","FAQ_18_P1":"對於初學者,我們建議您查看GitHub上的${1}插件系統模塊${2}。","FAQ_18_P2":"之後,您可以按照${1}Hello World教程${2}進行操作。","FAQ_18_P3":"如果您沒有任何編程技能,請在${1}Reddit社區${2}上發佈您的想法,並在${3}上與我們聯繫您的插件想法。”office@stremio.com${4}。","FAQ_19_H1":"為什麼Stremio佔用磁盤空間?","FAQ_19_P1":"Stremio有一個<b>本地緩存</b>來臨時保存您流式傳輸的視頻文件。","FAQ_19_P2":"這有兩個好處:第一,它允許Stremio預先緩衝視頻,以確保流媒體更流暢。其次,它將視頻保存在本地緩存中,以便您可以繼續離線觀看。","FAQ_19_P3":"Stremio保留了多少取決於“設置”面板中的<b>緩存設置。Stremio可能會在您的磁盤上保留到設置的數量(例如2GB),除非當前流式傳輸的視頻大於該數量,在這種情況下,必須分配足夠的存儲來保留它,直到您結束流式傳輸。","FAQ_20_H1":"緩存文件夾在哪裏?","FAQ_20_P1":"在Windows上,Stremio緩存位於您在設置中選擇的驅動器中(例如\\"E:\\\\stremio-cache\\")","FAQ_20_P2":"在MacOS上,它位於\\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"在Linux上,它位於\\"~/.stremio/stremio-cache\\"或\\"~/stremio-cache\\"","FAQ_21_H1":"我得到\\"流媒體服務器未找到\\"錯誤,我能做什麼?","FAQ_21_P1":"如果出現此錯誤,則表示以下幾點之一:","FAQ_21_P2":"1)您正試圖通過我們的${1}web版本${2}使用一個由YouTube/BitTorrent源代碼支持的插件。在這種情況下,您應該從${3}我們的網站${4}安裝我們的桌面版本","FAQ_21_P3":"2)Stremio安裝有問題。在這種情況下,請嘗試從${1}網站${2}重新安裝我們的最新桌面版本。如果這沒有幫助,請嘗試禁用殺毒軟件和防火牆,重新啓動電腦,然後重試。如果這依然不起作用,請寫信給我們的${3}Facebook羣組${4}","FAQ_22_H1":"我無法在iOS上看到/使用大多數插件","FAQ_22_P1":"由於Apple App Store條款和條件中的限制,我們限制iOS應用程序只能使用一組特定的插件。","FAQ_22_P2":"不過,請放心,將來會有更多的iOS插件,我們還可能添加一個集成,通過將iOS應用程序連接到Stremio流媒體服務器,您將可以使用所有Stremio插件。"}')},92182:e=>{"use strict";e.exports=JSON.parse('{"TYPE_movie":"電影","TYPE_series":"劇集","TYPE_tv":"電影片道","TYPE_channel":"頻道","TYPE_other":"其他","TYPE_movie_PL":"電影","TYPE_series_PL":"劇集","TYPE_tv_PL":"電影片道","TYPE_channel_PL":"頻道","TYPE_other_PL":"其他","TYPE_ALL":"全部","TYPE":"型別","CATALOG_com_linvo_cinemeta_top":"Popular","CATALOG_com_linvo_cinemeta_imdbRating":"Featured","CATALOG_com_linvo_cinemeta_year":"New","CATALOG_org_stremio_pubdomainmovies_publicdomainmovies":"Public Domain Movies","VIDEO":"影片","BACK":"返回","MORE":"更多","DONE":"完成","COPY":"複製","SUCCESS":"成功","ERROR":"錯誤","SETTINGS_CASTING_MODE_PICKER":"投屏模式","CASTING_MODE_HLSV2":"預設","CASTING_MODE_VLC":"libVLC","CASTING_MODE_NO_TRANSCODING":"不轉碼","Discover":"發現","Board":"首頁","Library":"庫","My Library":"我的庫","Calendar":"日曆","NOTIFICATION_ONLINE":"您當前處於線上狀態","NOTIFICATION_OFFLINE":"您當前處於離線狀態","INTERNET_CONNECTION":"網路連線","STORAGE_FULL_TITLE":"警告:儲存空間已滿!","STORAGE_FULL_TEXT":"Stremio將無法儲存您的設定、首選項或登入資訊,考慮重新啟動或重新安裝Stremio。","SEARCH":"搜尋","SEARCH_NO_RESULTS":"未找到結果","SEARCH_EXPLANATION_CONTENT":"搜尋電影、劇集、YouTube和電影片道","SEARCH_EXPLANATION_PEOPLE":"搜尋演員、導演和編劇","SEARCH_PASTE_LINKS":"貼上HTTP和Magnet連結","SEARCH_OR_PASTE_LINK":"搜尋或貼上連結","SEARCH_SUGGESTIONS":"Search Suggestions","ADD_TO_LIB":"新增到庫中","REMOVE_FROM_LIB":"從庫中刪除","ADDED_TO_LIB":"新增到庫中","REMOVED_FROM_LIB":"從庫中刪除","TRAILER":"預告片","WATCH_TRAILER":"觀看預告片","WATCH_NOW":"立即觀看","SHOW":"檢視","SHOW_MOVIE":"檢視電影","WATCH_RANDOM":"隨機觀看","IMDB_RATING":"IMDb評分","YEAR":"年份","DIRECTOR":"導演","WRITER":"編劇","LEAD_ACTORS":"主演","CAST":"全部演員","CREW":"全部工作人員","SHOW_MORE_CAST":"顯示更多 »","AIRED":"播出時間","SEASONS":"季","GENRE":"型別","GENRE_ALL":"所有流派","CATALOG":"目錄","SUMMARY":"簡介","SHOW_MORE":"顯示更多","SIMILAR":"相似","UPCOMING":"即將上映","TBA":"TBA","ENDED":"已完結","DURATION":"時長","FEATURED":"功能","METADATA":"後設資料","CATEGORY":"類別","LINKS_GENRES":"流派","LINKS_CAST":"演員","LINKS_DIRECTORS":"導演","SEARCH_VIDEOS":"搜尋影片","SEARCH_PLACEHOLDER":"搜尋或貼上URL","ADDON":"外掛","ADDONS":"外掛","OFFICIAL":"官方","ADDONS_OFFICIAL":"官方Stremio外掛","ADDONS_POPULAR":"在您所在的地區很受歡迎","ADDON_FREE":"免費","ADDON_PEERED":"連線","ADDON_SUBSCRIPTION":"訂閱","ADDON_STREAM_GEORESTRICTED":"在您所在的地區不提供","ADDON_STREAM_OFFLINECACHE":"離線快取","ADDON_STREAM_LOCALFILE":"本地檔案","SHARE_ADDON":"分享外掛","AVAILABLE_STREAMS":"可用流媒體","NO_STREAM":"未找到流媒體","ALL_ADDONS":"全部","INSTALL_MORE_ADDONS":"要獲取更多流媒體,請安裝更多外掛","STREAM_NOT_SUPPORTED":"此平臺不支援所選流媒體。","ADDON_CATALOGUE":"顯示所有外掛 »","ADDON_CATALOGUE_MORE":"安裝外掛","REPO_ADDED":"已新增儲存庫","ADDON_REPO_EXIST_ERR":"此外掛集合已存在","ADDON_REPO_ERR":"新增集合時出錯","ADDON_ADD_ERR":"新增外掛時出錯","ERR_ADDON_PROTECTED":"無法解除安裝外掛,它受到保護","ERR_ADDON_INTERNAL_SOMETHING_WRONG":"出了一些問題——身份驗證可能失敗","ERR_NOT_COLLECTION_URL":"不是集合URL","ERR_NOT_ADDON_URL":"不是有效的外掛URL","ERR_DETECTFROMURL":"再此URL中找不到外掛/集合","ADDON_DUPLICATE_WARNING":"警告:重複的外掛","ADDON_COLLECTION_SET_FAILED":"將已安裝的外掛同步到您的賬戶失敗","SETTINGS_DATA_EXPORT":"匯出使用者資料","ADDON_PULL_FAILED":"從您的帳戶同步已安裝的外掛失敗","REFRESH_ON_CLICK":"點選重試","ADDON_LOADING_MANIFEST":"Loading addon manifest","ADDON_LOADING_MANIFEST_FROM":"Loading addon manifest from {{origin}}","ADDON_LOADING_MANIFEST_FAILED":"Failed to get addon manifest from {{origin}}","STILL_IN_THEATER":"電影還在影院上映","WATCH_IN_CINEMA":"請到您本地的影院觀看","IN_THEATER":"在影院上映","GET_TICKETS":"購票","UPCOMING_EPISODE":"下一集","UPCOMING_EPISODE_MESSAGE":"這一集即將播出","MISSING_DATE_EPISODE":"缺失的一集日期","MISSING_DATE_EPISODE_MESSAGE":"這一集可能還沒有播出","CHANNEL_NOT_SCRAPED":"這個頻道還沒有被削刮,請過幾分鐘再來。","ADD_TO_LIBRARY_TO_GET_NOTIFIED":"將其新增到庫中,以便在可用時收到通知。","GET_NOTIFIED_WHEN_AVAILABLE":"一旦可用,您將會收到通知。","WARNING_STREAMING_SERVER":"警告:找不到本地流媒體伺服器,來自本地檔案、YouTube、和BitTorrent的流媒體將不可用。","WARNING_STREAMING_SERVER_DISMISS":"忽略","WARNING_STREAMING_SERVER_LATER":"推遲","DECODER_WARNING":"警告:您的硬體可能不支援此影片,請記住,播放可能會很慢。","GENERIC_ERROR_MESSAGE":"Something went wrong!","TRY_AGAIN":"Try again","CLEAR_DATA":"Clear data","PLAYER_ERROR":"糟糕,播放器錯誤","PLAYER_ERROR_LOOKSLIKE":"看起來似乎","PLAYER_ORIENTATION":"播放器方向","PLAYER_ORIENTATION_LANDSCAPE_SHORT":"鎖定","PLAYER_ORIENTATION_SENSOR_SHORT":"感測器","PLAYER_ORIENTATION_LANDSCAPE":"播放器方向鎖定橫向","PLAYER_ORIENTATION_SENSOR":"播放器方向自動(感測器)","PLAYER_PLAYBACK_SPEED":"播放速度","PLAYER_PLAYBACK_ERROR":"播放錯誤,請重試","PLAYER_PLAYBACK_ERROR_UNKNOWN":"未知錯誤","PLAYER_PLAYBACK_ERROR_DEFAULT":"抱歉,{{productName}}無法播放此影片。","PLAYER_SUBTITLES_LANGUAGES":"字幕語言","PLAYER_SUBTITLES_VARIANTS":"字幕變形","PLAYER_SUBTITLES_SETTINGS":"字幕設定","PLAYER_SUBTITLES_DISABLED":"字幕已關閉","PLAYER_SUBTITLES_VERTICAL_POSIITON":"垂直位置","PLAYER_SUBTITLES_LOADED":"已載入字幕","PLAYER_SUBTITLES_LOADED_EMBEDDED":"已載入嵌入字幕","PLAYER_SUBTITLES_LOADED_EXCLUSIVE":"已載入外部字幕","PLAYER_SUBTITLES_LOADED_LOCAL":"Local subtitles loaded","PLAYER_SUBTITLES_LOADED_ORIGIN":"已載入{{origin}}字幕","PLAYER_PLAY":"播放","PLAYER_PAUSE":"暫停","PLAYER_NEXT_VIDEO":"下一個影片","PLAYER_MUTE":"靜音","PLAYER_UNMUTE":"取消靜音","PLAYER_OPEN_IN_EXTERNAL":"在外部播放器中開啟","PLAYER_OPEN_IN_NPLAYER":"Open in nPlayer","PLAYER_PLAY_IN":"在{{device}}上播放","PLAYER_LIVE":"直播","PLAYER_NEXT_VIDEO_TITLE":"下個影片","PLAYER_NEXT_VIDEO_TITLE_SHORT":"Next on","PLAYER_NEXT_VIDEO_BUTTON_DISMISS":"關閉","PLAYER_NEXT_VIDEO_BUTTON_WATCH":"現在觀看","PLAYER_COPY_STREAM_SUCCESS":"流媒體連結已複製到您的剪貼簿","PLAYER_COPY_STREAM_ERROR":"複製流媒體連結失敗","PLAYER_COPY_DOWNLOAD_LINK_SUCCESS":"Download link was copied to your clipboard","PLAYER_COPY_DOWNLOAD_LINK_ERROR":"Failed to copy download link","PLAYER_STATISTICS":"Statistics","PLAYER_PEERS":"Peers","PLAYER_SPEED":"Speed","PLAYER_COMPLETED":"Completed","PLAYER_INFO_HASH":"Info hash","STREAMING_FROM":"流媒體","CASTING_TO":"投屏到","NETWORK_STATUS":"網路狀態","STREAM_SPEED":"串流速度:","STREAM_BUFFERED":"已緩衝:","PEERS_INFO":"節點資訊","PEERS_ACTIVE":"活躍:","PEERS_CONNECTED":"已連線:","PEERS_WAITING":"等待:","TRANSCODING_WARNING":"警告:轉碼影片。","STREAM_LOADING":"載入...","PLAYING_LOCAL":"從本地檔案播放","PLAYING_CACHE":"從快取播放","WRONG_SUBS":"字幕錯誤?","ERR_SUBS_LOADING_TITLE":"載入字幕時出錯","ERR_SUBS_LOADING":"字幕載入失敗:這可能是您正在使用的外掛或網路連線的問題","WARN_FOLLOWING_SUB_ADDONS_FAILED":"以下字幕外掛失敗","ERR_CASTING_UPDATE_TITLE":"無法更新投屏裝置資訊:流媒體伺服器可能離線","CHOOSE_DEVICE":"選擇在哪個裝置上播放","NO_CAST_DEVICES":"無可用投屏裝置。","NO_SETTINGS":"無可用設定。","NO_OPTIONS":"No options available","PHONE_TABLET":"手機/平板電腦","DISABLED_LABEL":"{{label}} is not configurable","SUBTITLES":"字幕","SUBTITLES_CHANGE":"調整字幕","SUBTITLES_CHANGE_NONE":"抱歉,這種語言沒有其他字幕。","SUBTITLES_CHANGE_ACIVE":"當前字幕#{{subtitlesDialog.activeIdx + 1}}被啟用,點選\\"繼續\\"啟用字幕#{{subtitlesDialog.pickedIdx + 1}}.","SUBTITLES_OR":"或者,","SUBTITLES_ADJUST_DELAY":"調整字幕延遲:","SUBTITLES_ADJUST_DELAY_SHORTCUT":"或在播放時使用<span>G</span> / <span>H</span>鍵進行調整。","SUBTITLES_ADJUST_DELAY_TIP":"提示:您可以在播放時使用<span>G</span> / <span>H</span>鍵進行調整。","SUBTITLES_DELAY":"字幕延遲:","SUBTITLES_LOADING":"載入字幕...","SUBTITLES_UNAVAILABLE":"沒有可用的外部字幕","SUBTITLES_DISABLED":"關閉","EXTERNAL_PLAYER_DISABLED":"關閉","EXTERNAL_PLAYER_ALLOW_CHOOSING":"允許選擇","EXTERNAL_PLAYER_HINT":"提示:有一個設定允許總是在外部播放器中開啟","DONT_SHOW_AGAIN":"不再顯示","SERVICE_INSTALL":"安裝","AUDIO":"音訊","DEFAULT_LANGUAGE":"預設語言","DEFAULT_SECONDARY_LANGUAGE":"預設第二語言","SEASON":"季","SEASON_NUMBER":"Season {{season}}","PREV_SEASON":"Previous season","NEXT_SEASON":"Next season","EPISODE":"集","EPISODE_ABBREVIATION":"情節提要","SPECIAL":"特別篇","SORT":"排序","SORT_BY":"排序按照","FILTER":"篩選","SORT_TRENDING":"熱門","SORT_RECENT":"最近","SORT_ALPHABET":"首字母","SORT_ALPHABET_REVERSE":"z-a","SORT_RATING":"評分","SORT_WATCHED":"已觀看","SORT_YEAR":"年份","SELECT":"Select","SELECT_TYPE":"選擇型別","SELECT_SORT":"選擇排序","SELECT_CATALOG":"選擇目錄","NO_CATALOG_SELECTED":"No catalog selected!","CATALOG_FILTERS":"Catalog filters","ALL_FILTERS":"All filters","SELECT_GENRE":"選擇流派","SORT_LASTWATCHED":"按上次觀看","SORT_NAME":"按名稱","SORT_NAMEREVERSE":"z-a","SORT_TIMESWATCHED":"按觀看次數","SORT_NOTWATCHED":"not watched","New for You":"新的","New Episodes":"新劇集","New Videos":"新影片","Recommendations":"推薦","LIBRARY_RESUME":"簡介","LIBRARY_PLAY":"播放","LIBRARY_DETAILS":"詳情","LIBRARY_RESUME_DISMISS":"清除","LIBRARY_CLEAR_PROGRESS":"清除進度","LIBRARY_REMOVE":"移除","LIBRARY_NOT_LOGGED_IN":"庫僅適用於已登入的使用者","LIBRARY_NOT_LOADED":"Library not loaded!","LIBRARY_EMPTY":"Empty Library","CALENDAR_NOT_LOGGED_IN":"日曆僅適用於已登入的使用者","NOT_LOGGED_IN_CLOUD":"隨時隨地訪問您喜愛的電影和劇集","NOT_LOGGED_IN_RECOMMENDATIONS":"根據您的觀看歷史量身定製的建議","NOT_LOGGED_IN_NOTIFICATIONS":"再也不要錯過任何一集","NOT_LOGGED_IN_CALENDAR":"定製個人觀看日曆","CALENDAR_NO_NEW_EPISODES":"No new episodes for this day","DISCOVER_FEATURED":"功能","DISCOVER_TOP":"熱門","DISCOVER_OSCAR":"奧斯卡獲獎作品","DISCOVER_WARNING_TITLE":"糟糕!","DISCOVER_EMPTY_CATALOG":"此外掛返回空內容。","DISCOVER_ADULT_WARNING":"此內容僅對成人可見,您是否已滿18週歲?","DISCOVER_NOADDON_WARNING":"警告:此型別沒有可用的Stremio外掛,顯示已儲存的專案,此處不會更新任何內容。","DISCOVER_LOAD_ERR":"內容未載入,發生錯誤。","DISCOVER_ADDON_UNINSTALLED":"此內容不再可用,您可能已解除安裝外掛。","UNINSTALL_THIS_ADDON":"解除安裝此外掛","ERR_ADDON_NOT_INSTALLED":"未安裝此外掛,立即安裝?","DETAIL_RECEIVE_NOTIF_SERIES":"接受新劇集的通知","DETAIL_RECEIVE_NOTIF_VIDEOS":"接受新影片的通知","SIDEBAR_SHOW_STREAMS":"顯示流媒體","RELAUNCH":"立即重新啟動!","UPGRADE":"新版本可用!升級至Stremio的最新版本","RELOAD_UI":"重新載入使用者介面","MANUAL_UPDATE_TITLE":"更新您的Stremio版本","MANUAL_UPDATE_LINE1":"您執行的是一個過時的Stremio版本,這是非常不推薦的。","MANUAL_UPDATE_LINE2":"請儘快更新。","BUTTON_UPDATE_LATTER":"不是現在","BUTTON_UPDATE_NOW":"更新","UPDATER_TITLE":"A new version of Stremio is available","UPDATER_INSTALL_BUTTON":"Install now","ANONYMOUS_USER":"匿名使用者","DONT_HAVE_ACC":"還沒有賬戶?","HAVE_ACC":"已經有賬戶了?","PASSWORD":"密碼","PASSWORD_CONFIRM":"確認密碼","EMAIL":"電子郵箱","FB_LOGIN":"使用Facebook登入","APPLE_LOGIN":"Continue with Apple","FB_NOTHINGSHARED":"未經您的允許,任何內容都不會被共享","FB_NOPOST":"我們不會替您傳送任何東西","OR":"或","I_ACCEPT":"我接受","I_ACCEPT_BY_CLICKING":"透過點選上面的按鈕,我宣告我接受","TOS":"條款和條件","MUST_ACCEPT_TERMS":"您必須接受條款","PASSWORDS_NOMATCH":"密碼不匹配","SIGN_UP":"註冊","SIGN_UP_EMAIL":"使用電子郵箱註冊","CLICK_TO_SIGN_UP":"點選此處註冊。","LOG_IN":"登入","LOG_OUT":"登出","EXIT_FULLSCREEN":"退出全屏模式","ENTER_FULLSCREEN":"進入全屏模式","PLAY_URL_MAGNET_LINK":"播放URL/Magnet連結","HELP_FEEDBACK":"幫助和反饋","TERMS_OF_SERVICE":"服務條款","PRIVACY_POLICY":"隱私政策","ABOUT_STREMIO":"關於Stremio","USER_PANEL":"使用者面板","LOGIN_LABEL":"Login","GUEST_LOGIN":"訪客登入","GUEST_LOGIN_NOTICE":"不建議訪客登入,使用常規登入允許Stremio同步您的庫,接受喜愛的劇集/頻道的通知。您確定要繼續嗎?","GUEST_LOGIN_NOTICE_2":"不建議訪客登入,您將沒有同步的庫和首頁通知,這是Stremio的重要功能。您確定要繼續嗎?","CLICK_HERE":"點選此處","WRONG_PASSWORD":"錯誤的電子郵箱或密碼,如果您忘了密碼,","SET_A_PASS":"設定密碼","RESET_PASSWORD":"重置密碼","PASSWORD_RESET":"Password reset","FORGOT_PASSWORD":"忘記密碼?","EMAIL_USED_WITH_FB":"此電子郵箱與Facebook登陸一起使用。","INVALID_EMAIL":"請輸入有效的電子郵箱地址","INVALID_PASSWORD":"請輸入有效的密碼","CONN_ERR":"連線錯誤,請稍後再試。\\n\\n如果問題仍然存在,請禁用防火牆/防毒軟體(特別是Bitdefender)。","IMPORT_FROM_GUEST":"從訪客賬戶匯入庫","RECEIVE_UPDATES_EMAIL":"從Stremio接受電子郵件更新","LOGIN_FAILED":"登陸失敗。","SIGNUP_FAILED":"註冊失敗。","SEARCH_FAILED":"搜尋失敗","EMAIL_USED":"此電子郵箱已被使用。","WAITING_FB_LOGIN":"使用Facebook登入...","EXTERNAL_OPENING_YOUTUBE":"You are leaving Stremio and opening YouTube. Are you sure?","EXTERNAL_OPENING_APP":"You are leaving Stremio to open another app. Are you sure?","EXTERNAL_PLAYER_TITLE":"在外部播放器中播放","EXTERNAL_REMEMBER_PLAYER":"您想記住您的選擇嗎","EXTERNAL_ALWAYS_PLAY":"是","EXTERNAL_ONLY_ONCE":"不是","BEST_FIT":"最佳","FIT_SCREEN":"適合螢幕","FILL":"填充","16:9":"16:9","4:3":"4:3","Original":"原始","INTRO_TASTE":"告訴我們您喜歡什麼","INTRO_TASTE_LONG":"告訴我們您想看什麼","INTRO_TASTE_PICK":"選擇{{interestsRemaining}}興趣","INTRO_TASTE_PICK_MORE":"選擇{{interestsRemaining}}更多興趣","INTRO_TASTE_HELP_US":"幫助我們瞭解更多有關您的資訊。","INTRO_TASTE_CHOOSE_THESE":"選擇其中一些:","INTRO_TASTE_CHOOSE_MIN":"至少選3個類別","INTRO_TASTE_CHOOSE_MIN_ERR":"您必須至少選擇3個類別!","INTRO_TASTE_LIFESTYLE":"生活方式","INTRO_TASTE_SPORTS":"體育","INTRO_TASTE_FOOD_HEALTH":"飲食與健康","INTRO_TASTE_BEAUTY_FASHION":"美麗與時尚","INTRO_TASTE_NEWS":"新聞","INTRO_TASTE_GAMING":"遊戲","INTRO_TASTE_SCIENCE_EDU":"科學與教育","INTRO_TASTE_MUSIC":"音樂","INTRO_TASTE_TRAVEL":"旅行","INTRO_TASTE_LATE_NIGHT":"深夜秀","INTRO_TASTE_REALITY":"真人","INTRO_TASTE_COMEDY":"喜劇","INTRO_TASTE_DIY":"DIY","INTRO_TASTE_TECH":"技術","INTRO_TASTE_CINEMA":"影院","NO_ADDONS":"No addons were installed!","NO_ADDONS_FOR_TYPE":"No addons were installed for this type!","ADDON_NOT_SUPPORTED":"此平臺不支援選定的外掛。","ADDON_DISCLAIMER":"使用第三方外掛將始終受到您的責任和您所在的司法管轄區的法律的約束。","ADDON_ACTIVATE":"啟用此外掛?","ADDON_REPO_ADD":"外掛集合URL","ADDON_ADD":"新增","INSTALL_ADDON":"Install addon","ADD_ADDON":"新增外掛","ADD_ADDON_DESCRIPTION":"您可以透過外部連結新增外掛,該連結將顯示在“已安裝的外掛”下。","PASTE_ADDON_URL":"貼上外掛URL","ADDONS_FILTERS":"Addons filters","WHATS_NEW":"最新訊息","BUTTON_CONTINUE":"繼續","BUTTON_ACTIVATE":"啟用","BUTTON_ACTIVATED":"已啟用","BUTTON_CANCEL":"取消","BUTTON_CONFIRM":"Confirm","BUTTON_SUBMIT":"提交","BUTTON_SEND":"Send","BUTTON_DISMISS_ALL":"清除全部","BUTTON_VIEW_ALL":"檢視全部","BUTTON_SEE_ALL":"檢視全部","BUTTON_COLOR_TRANSPARENT":"透明度","BUTTON_PREV":"Prev","BUTTON_NEXT":"Next","BUTTON_CLOSE":"Close","OPEN_IN_BROWSER":"在瀏覽器中開啟","LIB_EMPTY":"您的庫看起來是空的,看看它有多有用:)","HOW_START":"您可以從這裡開始:","LIB_EMPTY_CAL":"您的日曆顯示您庫中的劇集。","HOW_START_CAL":"下面是如何新增劇集:","LIB_EMPTY_BOARD":"主頁顯示與您的庫相關的通知&推薦。","HOW_START_BOARD_WAIT":"請在您的庫中新增一些劇集或頻道給我們幾分鐘來處理:)","HOW_START_BOARD":"下面是如何向其中新增劇集&電影:","IMPORT_FB":"從<span>Facebook</span>匯入您喜歡的東西","IMPORT_TRAKT":"從<span>Trakt</span>匯入媒體庫","IMPORT_DISCOVER":"從<span>發現</span>中找到有趣的東西","IMPORT_DISK":"匯入<span>本地磁碟</span>上的電影或節目","PLEASE_CREATE_ACC":"請<u>建立一個賬戶</u>以啟用庫同步&主頁。","IMPORT_DISCOVER_SIGNUP":"註冊並從<span>發現</span>中找到有趣的東西","IMPORT_DISK_SIGNUP":"註冊並匯入<span>本地磁碟</span>上的電影或節目","LIB_EMPTY_CLOUD":"雲端庫","LIB_EMPTY_CLOUD_DESC":"在所有裝置上同步個人雲端庫","LIB_EMPTY_EARLY":"第一時間","LIB_EMPTY_EARLY_DESC":"接收新劇集的通知","LIB_EMPTY_PERSONAL":"個性化","LIB_EMPTY_PERSONAL_DESC":"獲取個性化推薦","LIB_EMPTY_CALENDAR_DESC":"安排您的個性化觀看日曆","LIB_EMPTY_ALL":"註冊以獲取所有這些:","LIB_EMPTY_BEST":"註冊以獲得最佳的Stremio","LIB_EMPTY_OTHER":"註冊以啟用日曆和其他炫酷功能","CALENDAR_ADDED":"Stremio日曆已新增到預設桌面日曆中。","CALENDAR_ADDED_MSG":"如果這不起作用,請手動將此URL新增到日曆應用程式中","TRAKT_EXPIRED":"Trakt驗證已過期,請轉到設定並重新驗證","TRAKT_REQUIRES_LOGIN":"Trakt錯誤","TRAKT_REQUIRES_LOGIN_MSG":"您需要登入","TRAKT_IMPORT_WATCHED":"Import","THEME":"Theme","THEME_DEFAULT":"Default","THEME_ADAPTIVE":"Adaptive","CHOOSE_COLOR":"Choose a color:","SETTINGS_APP_VERSION":"App Version","SETTINGS_BUILD_VERSION":"Build Version","SETTINGS_SERVER_VERSION":"Server Version","SETTINGS_SHELL_VERSION":"Shell Version","SETTINGS_SOURCE_CODE":"Source code","SETTINGS_LABEL":"設定","SETTINGS_NAV_GENERAL":"常規","SETTINGS_NAV_PLAYER":"播放器","SETTINGS_NAV_STREAMING":"流媒體","SETTINGS_NAV_SHORTCUTS":"快捷鍵","SETTINGS_SHORTCUT_RELOAD_APP":"重新載入應用程式","SETTINGS_SHORTCUT_OPEN_SETTINGS":"開啟設定","SETTINGS_SHORTCUT_SWITCH_TABS":"切換標籤","SETTINGS_SHORTCUT_CYCLE_TABS_FORWARD":"向前迴圈標籤","SETTINGS_SHORTCUT_CYCLE_TABS_BACKWARD":"向後迴圈標籤","SETTINGS_SHORTCUT_NAVIGATE_MENUS":"在選單之間導航","SETTINGS_SHORTCUT_GO_TO_SEARCH":"轉到搜尋","SETTINGS_SHORTCUT_EXIT_BACK":"退出/返回","SETTINGS_SHORTCUT_MENU_PLAYBACK_SPEED":"切換播放速度選單","SETTINGS_SHORTCUT_MENU_VIDEOS":"切換影片選單","SETTINGS_SHORTCUT_MENU_SUBTITLES":"切換字幕選單","SETTINGS_SHORTCUT_MENU_AUDIO":"Toggle Audio Menu","SETTINGS_SHORTCUT_MENU_INFO":"切換資訊選單","SETTINGS_SHORTCUT_FULLSCREEN":"切換全屏","SETTINGS_SHORTCUT_SHOW_CONTROLS":"顯示控制元件","SETTINGS_SHORTCUT_PLAY_PAUSE":"播放/暫停","SETTINGS_SHORTCUT_VOLUME_UP":"增大音量","SETTINGS_SHORTCUT_VOLUME_DOWN":"降低音量","SETTINGS_SHORTCUT_SEEK_NEXT":"尋找下一個","SETTINGS_SHORTCUT_SEEK_PREV":"尋找上一個","SETTINGS_SHORTCUT_SEEK_BACKWARD":"向後搜尋","SETTINGS_SHORTCUT_SEEK_FORWARD":"向前搜尋","SETTINGS_SHORTCUT_PLAY_NEXT":"播放下一個","SETTINGS_SHORTCUT_INCREASE_SUB_SIZE":"增加字幕大小","SETTINGS_SHORTCUT_DECREASE_SUB_SIZE":"減小字幕大小","SETTINGS_SHORTCUT_INCREASE_SUB_DELAY":"增加字幕延遲","SETTINGS_SHORTCUT_DECREASE_SUB_DELAY":"減少字幕延遲","SETTINGS_SHORTCUT_SUBTITLES_DELAY":"Adjust Subtitles Delay","SETTINGS_SHORTCUT_SUBTITLES_SIZE":"Adjust Subtitles Size","SETTINGS_SHORTCUT_TOGGLE_SIDEBAR":"切換側邊欄","SETTINGS_SHORTCUT_OR":"or","SETTINGS_SHORTCUT_TO":"to","SETTINGS_SHORTCUT_AND":"and","SETTINGS_SHORTCUT_SPACE":"空格","SETTINGS_SHORTCUT_SHIFT":"Shift","SETTINGS_SHORTCUT_ESC":"Esc","SETTINGS_TRAKT_AUTHENTICATE":"已驗證","SETTINGS_FACEBOOK_IMPORT":"匯入","SETTINGS_CALENDAR_SUBSCRIBE":"訂閱","SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST":"Calendar app was opened. Please subscribe to the calendar manually.","SETTINGS_SUBSCRIBE_CALENDAR_TOAST":"Calendar file was downloaded. Please import it to your calendar app.","SETTINGS_INTERFACE_LANGUAGE":"使用者介面語言","SETTINGS_LAUNCH_STARTUP":"開機時啟動","SETTINGS_VLC_DEFAULT":"使用VLC播放","SETTINGS_UI_LANGUAGE":"使用者介面語言","SETTINGS_UI_ZOOM":"使用者介面縮放","SETTINGS_FULLSCREEN_EXIT":"Esc鍵退出全屏","SETTINGS_GAMEPAD":"啟用遊戲手柄支援","SETTINGS_CLOSE_WINDOW":"關閉視窗時結束應用程式","SETTINGS_SUBTITLES_LANGUAGE":"預設字幕語言","SETTINGS_SECONDARY_SUBTITLES_LANGUAGE":"Secondary Subtitles Language","SETTINGS_SUBTITLES_SIZE":"預設字幕大小","SETTINGS_SUBTITLES_BACKGROUND":"字幕背景","SETTINGS_SUBTITLES_COLOR":"字幕顏色","SETTINGS_SUBTITLES_COLOR_OUTLINE":"字幕輪廓顏色","SETTINGS_SUBTITLES_COLOR_BACKGROUND":"字幕背景顏色","SETTINGS_SEEK_KEY":"方向鍵控制進度","SETTINGS_SEEK_KEY_SHIFT":"按住Shift鍵時方向鍵控制進度","SETTINGS_REWIND_FAST_FORWARD_DURATION":"回放和快進持續時間","SETTINGS_BINGE":"自動播放下一集","SETTINGS_NEXT_VIDEO":"顯示播放下一集的通知","SETTINGS_NEXT_VIDEO_TRIGGER":"顯示下一集的通知:","SETTINGS_NEXT_VIDEO_POPUP_DURATION":"下一個影片彈出持續時間","SETTINGS_PLAY_IN_BACKGROUND":"在後臺播放","SETTINGS_PLAY_IN_EXTERNAL_PLAYER":"在外部播放器中播放","SETTINGS_RESIZE":"播放前自動調整視窗大小","SETTINGS_OVERRIDE_SERVER":"覆蓋流媒體伺服器URL(高階)","SETTINGS_SERVER_ADD_URL":"Add URL","SETTINGS_SERVER_URL":"流媒體伺服器URL:","SETTINGS_SERVER_AVAILABLE":"流媒體伺服器可用。","SETTINGS_SERVER_UNAVAILABLE":"流媒體伺服器不可用。","SETTINGS_SERVER_STATUS_ONLINE":"線上","SETTINGS_SERVER_STATUS_ERROR":"錯誤","SETTINGS_SERVER_CONFIGURE_TITLE":"配置流媒體伺服器url","SETTINGS_SERVER_CONFIGURE_INPUT":"輸入流媒體伺服器url","SETTINGS_SERVER_CACHE_SIZE":"快取大小","SETTINGS_SERVER_TORRENT_PROFILE":"Torrent配置","SETTINGS_HTTPS_ENDPOINT":"流媒體HTTPS結點:","SETTINGS_TRANSCODE_PROFILE":"Transcode profile","SETTINGS_USE_BETA":"始終使用最新的測試版","SETTINGS_IMPORT_FB":"從Facebook匯入","SETTINGS_IMPORT_DISK":"從本地磁碟匯入","SETTINGS_IMPORT_TRAKT":"從Trakt匯入","SETTINGS_PAUSE_MINIMIZED":"最小化時暫停播放","SETTINGS_HWDEC":"硬體解碼加速","SETTINGS_BACKGROUND":"後臺播放","SETTINGS_SUBSCRIBE_CALENDAR":"訂閱到日曆","SETTINGS_REQ_EXPORT":"請求匯出資料","SETTINGS_ACC_DELETE":"請求刪除賬戶","SETTINGS_CHANGE_PASSWORD":"更改密碼","SETTINGS_TOS":"服務條款","SETTINGS_SUPPORT":"聯絡支援人員","SETTING_LANGUAGE":"語言","SETTINGS_BLUR_UNWATCHED_IMAGE":"Blur unwatched episodes image","SETTINGS_QUIT_ON_CLOSE":"Quit on close","SETTINGS_TRAKT":"Trakt自動跟蹤","SETTINGS_TRAKT_RE_AUTH":"Re-authenticate","SETTINGS_TRAKT_LOGOUT":"從Trakt.tv登出","SETTINGS_TRAKT_LOGOUT_2":"從Trakt登出","SETTINGS_SCAN_FOR_REMOTE":"掃描二維碼開啟遙控器","SETTINGS_DESKTOP_NOTIFICATIONS":"桌面通知","SETTINGS_DATA_SAVER":"移動資料警告","SETTINGS_LANGUAGE_INTERFACE":"介面","SETTINGS_LANGUAGE_SUBS":"預設字幕","SETTINGS_ENABLE_DEFAULT_AUDIO_TRACK":"自動選擇音訊","SETTINGS_DEFAULT_AUDIO_TRACK":"預設音訊","SETTINGS_SECONDARY_AUDIO_TRACK":"Secondary Audio Track","SETTINGS_SURROUND_SOUND":"Surround sound","SETTINGS_ACCOUNT":"賬戶","SETTINGS_PLATFORM":"Platform","SETTINGS_VERSION":"版本","SETTINGS_ABOUT":"About","SETTINGS_MPV_WINDOW":"在單獨視窗中啟動播放器(高階)","SETTINGS_PLAY_IN_EXTERNAL":"總是在外部播放器中開啟影片","SETTINGS_STORAGE_BUTTON":"清除本地儲存","SETTINGS_STORAGE_MODAL_TITLE":"您確定嗎?","SETTINGS_STORAGE_MODAL_MESSAGE":"這將清除本地儲存並使您登出","SETTINGS_HWDEC_PICKER":"選擇硬體加速解碼設定","SETTINGS_HW_AUTOMATIC":"自動","SETTINGS_HW_DISABLED":"關閉","SETTINGS_HW_ACCELERATED":"解碼加速","SETTINGS_HW_FULL":"全加速","SETTINGS_HW_LEGACY":"舊版","SETTINGS_DISABLED":"Disabled","SETTINGS_NETWORK_CONNECTION_NOTIFICATION":"Network connection notification","SETTINGS_ANALYTICS":"Allow analytics","SETTINGS_REMOTE_URL":"Remote URL","SETTINGS_COPY_REMOTE_URL":"Copy remote URL","SETTINGS_REMOTE_URL_COPIED":"Remote URL has been copied to your clipboard","SETTINGS_SECTION_SUBTITLES":"字幕","SETTINGS_SECTION_AUDIO":"音訊","SETTINGS_SECTION_CONTROLS":"控制元件","SETTINGS_SECTION_AUTO_PLAY":"自動播放","SETTINGS_SECTION_ADVANCED":"高階","SUBSPICKER_AUDIO":"音訊","SUBSPICKER_SUBTITLES":"外掛字幕","SUBSPICKER_BLACK_BACKGROUND":"使用黑色背景色","SUBSPICKER_VERTICAL_OFFSET":"垂直偏移量","SUBSPICKER_SIZE":"大小","SUBSPICKER_DELAY":"延遲","SUBSPICKER_EMBEDDED_SUBS":"內嵌字幕","MOBILE_PRIVACY_POLICY":"隱私政策","MOBILE_CRASH_REPORTING":"崩潰報告","MOBILE_ZOOM_TO_FILL":"縮放填充螢幕","MOBILE_PASSTHROUGH":"數字音訊輸出(直通)","MOBILE_RUN_LOW_BATTERY":"電池電量低時執行","MOBILE_RUN_FOREGROUND":"作為前臺服務執行","MOBILE_PERFORMANCE":"效能&穩定性","MOBILE_SERVER_ONLINE":"線上","MOBILE_SERVER_OFFLINE":"離線","MOBILE_QR_EXPIRES":"二維碼到期時間","MOBILE_LOG_INTO":"登陸到您的Stremio賬戶","MOBILE_SCAN_QR":"掃描上面的二維碼或轉到","MOBILE_LINK_ACCOUNT":"連結賬戶","MOBILE_SPEEDPICKER_CANCEL":"取消","MOBILE_SPEEDPICKER_LABEL":"選擇播放速度","MOBILE_EMPTY_LIBRARY":"您的庫為空","MOBILE_NO_ADDON_ACTIVE":"沒有活動的此型別Stremio外掛。","MOBILE_ORGANIZER_WARNING":"Stremio Organizer應用程式提供的功能有限,要獲得可播放流的列表和完整的Stremio體驗,請使用Stremio桌面客戶端。","MOBILE_ADDON_LOADING":"仍在載入","MOBILE_ADDONS_LOADING":"外掛仍在載入","MOBILE_ADDON":"外掛","MOBILE_CONFIGURE_ADDON":"配置外掛","MOBILE_CONFIGURE_ADDON_LABEL":"配置外掛","MOBILE_ORGANIZER_ADDONS_WARNING":"Stremio Organizer應用程式僅提供有限的外掛,要獲得完整的Stremio體驗,請使用Stremio桌面客戶端。","MOBILE_DISCONNECT":"斷開連線","MOBILE_LOOKING_FOR_DEVICES":"正在查詢裝置...","MOBILE_CAST_TO":"投屏到","MOBILE_DELETE_ACCOUNT_ALERT_TITLE":"刪除帳戶","MOBILE_DELETE_ACCOUNT_ALERT_MESSAGE":"由於法律義務,賬戶刪除不是即時的。在請求刪除您的帳戶後,您將不得不使用不同的電子郵件地址/臉書個人資料在未來建立一個新的Stremio帳戶。","MOBILE_DELETE_ACCOUNT_DIALOG_TITLE":"確認帳戶刪除","MOBILE_DELETE_FB_ACCOUNT_MESSAGE":"您的帳戶是使用Facebook建立的。要刪除您的帳戶,請使用我們的使用者入口網站www.stremio.com/login","MOBILE_DELETE_ACCOUNT_MESSAGE":"請提供您的密碼以確認帳戶刪除。","MOBILE_DELETE_ACCOUNT_BUTTON":"刪除帳戶","NAVIGATION_ON":"開啟","NAVIGATION_OFF":"關閉","READ_AND_AGREE":"I have read and agree with the Stremio","MARKETING_AGREE":"我同意接收Stremio的營銷通知","QUIT":"退出","CONNECTED":"已連線","AUTHENTICATE":"驗證","AUTHENTICATING":"Authenticating...","CACHING":"快取","SETTINGS_CACHING_DRIVE":"快取磁碟","ENABLE_LOCAL_FILES_ADDON":"啟用本地檔案外掛(需要重新啟動)","LOCAL_ADDON_NOT_ENABLED":"未啟用本地外掛,單擊此處轉到設定並啟用它","ENABLE_REMOTE_HTTPS_CONN":"啟用遠端HTTPS連線","TORRENT_PROFILE":"Torrent配置","DATA_CACHING":"資料快取","MAGNET_PARSING":"分析Magnet連結","January":"一月","February":"二月","March":"三月","April":"四月","May":"五月","June":"六月","July":"七月","August":"八月","September":"九月","October":"十月","November":"十一月","December":"十二月","Monday":"星期一","Tuesday":"星期二","Wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期天","Action":"動作","Comedy":"喜劇","War":"戰爭","Family":"家庭","Animation":"動畫","Adventure":"冒險","Fantasy":"幻想","Crime":"犯罪","Mystery":"神秘","Romance":"浪漫","Drama":"劇情","Horror":"恐怖","Thriller":"驚悚","Sci-Fi":"科幻","Music":"音樂","Biography":"傳記","Documentary":"紀錄","Sport":"運動","Musical":"音樂劇","Western":"西部","Film-Noir":"黑色電影","News":"新聞","History":"歷史","Game-Show":"遊戲節目","Reality-TV":"真人秀","Talk-Show":"脫口秀","Film & Entertainment":"電影與娛樂","Gaming":"遊戲","From TV":"電視","Lifestyle":"生活方式","Science & Education":"科學與教育","Cooking & Health":"烹飪與健康","Beauty & Fashion":"美麗與時尚","Sports":"體育","News & Politics":"新聞與政治","How-to & DIY":"DIY","Tech":"技術","Automotive":"汽車","Causes & Non-Profits":"事業與公益","Movies":"影視","Uk Live Tv":"英國直播電視臺","Fashion":"流行","Business News Radio":"商業新聞電臺","Business Tv":"商業電視","Cars & Auto":"汽車與自動化","Comedy Radio":"喜劇電臺","Lifestyle Radio":"生活方式電臺","News Tv":"新聞電視","Food And Wine":"食物與酒","Latino Tv":"拉丁語電視臺","Shopping Tv":"購物電視臺","Religion":"宗教","Kids":"兒童","Body & Soul":"身體與靈魂","Education":"教育","Indian Tv":"印度電視臺","Extreme Sports":"極限運動","Middle Eastern Tv":"中東電視臺","Celebrity Tv":"名人電視臺","Science Tv":"科學電視臺","Bikini babe":"比基尼寶貝","Outdoors":"戶外","German Tv":"德國電視臺","French Tv":"法國電視臺","Italian Tv":"義大利電視臺","Gamer Tv":"伽馬電視臺","Travel":"旅行","Asian Tv":"亞洲電視臺","Entertainment":"遊戲娛樂","News Radio":"新聞電臺","Music Radio":"音樂電臺","Language Learning":"語言學習","Science Radio":"科學電臺","Tech Radio":"科技電臺","Science & Technology Vod":"科技影片點播","new video":"新影片","new episode":"新一集","new movie":"新電影","recommended":"推薦","we recommend":"我們建議","offer of the day":"當日優惠","news":"新聞","music video":"音樂影片","CTX_SHOW_HOTKEYS":"顯示快捷鍵","CTX_DISMISS_NOTIF":"清除通知","CTX_DISMISS_ALL":"全部清除","CTX_SHARE":"分享","CTX_COPY_SHARE_LINK":"複製分享連結","CTX_COPY_MAGNET_LINK":"複製Magnet連結","CTX_COPY_STREAM_LINK":"複製流媒體連結","CTX_COPY_VIDEO_DOWNLOAD_LINK":"Copy video download link","CTX_DOWNLOAD_VIDEO":"下載此影片","CTX_DOWNLOAD_SUBS":"下載字幕","CTX_VIEW_ON_YOUTUBE":"在YouTube上觀看","CTX_SHOW":"顯示","CTX_PLAY":"播放","CTX_PLAY_IN":"播放","CTX_PLAY_ON":"正在播放","CTX_WATCH_ON":"正在觀看","CTX_WATCH":"觀看","CTX_WATCHED":"已觀看","CTX_WATCH_BEGINNING":"從頭開始觀看","CTX_WATCH_MOBILE":"在移動裝置上觀看","CTX_REWIND":"回到開頭","CTX_MARK_WATCHED":"標記為已觀看","CTX_MARK_NON_WATCHED":"標記為未觀看","CTX_MARK_UNWATCHED":"Mark as unwatched","CTX_MARK_REST":"將其餘部分標記為已觀看","CTX_UNMARK_REST":"將其餘部分標記為未觀看","CTX_RECEIVE_NEW_NOTIF":"接受新通知","CTX_ENABLE_NEW_NOTIF":"Enable notifications","CTX_DISABLE_NEW_NOTIF":"Disable notifications","CTX_REMOVE_CACHE":"從快取中刪除","CTX_REMOVE_CACHE_EP":"從快取中刪除集","CTX_OPEN_CONTAINING":"開啟所在資料夾","CTX_REMOVE":"從庫中刪除","CTX_AVAILABLE_OFFLINE":"離線可用","CTX_PAUSED":"暫停","CTX_ALWAYS_ON_TOP":"置頂","CTX_FULLSCREEN":"全屏","CTX_WRONG_SUBS":"錯誤的字幕?","CTX_REPORT_ISSUES":"報告問題","CTX_COPY":"複製","CTX_COPY_TO_CLIPBOARD":"Copy to clipboard","CTX_PASTE":"貼上","CTX_CLEAR":"清除","CTX_CLEAR_RECENT_SEARCHES":"清除最近搜尋記錄","HELLO_THERE":"您好","HOPE_YOU_ENJOY":"我們希望您喜歡Stremio,也許它已經是您最喜歡的應用之一了!","WHO_ARE_WE":"我們是誰?我們是它背後的團隊。在過去三年裡的每天,我們兩個努力工作使這個產品越來越好。","SUPPORT_US":"如果您喜歡Stremio,如果Stremio對您來說很有價值,請傳播它!","SPREAD_THE_WORD":"現在與您的朋友分享傳播關於Stremio的資訊","MORE_PEOPLE":"使用Stremio的人越多,效果就越好!","SEND_A_LINK":"或傳送一個連結到我們的網站","TIP_LOCALFILES":"提示:您可以將本地影片檔案拖放到Stremio中","ADDON_MY":"我的外掛","ADDON_COMMUNITY":"社群外掛","ADDON_OFFICIAL":"官方外掛","ADDON_REPOS":"外掛集合","ADDON_SEARCH":"搜尋外掛","ADDON_INSTALL":"安裝","ADDON_CONFIGURE":"配置","ADDON_UNINSTALL":"解除安裝","ADDON_UPGRADE":"更新","ADDON_INSTALLED":"已安裝","ADDON_INSTALLED_MSG":"外掛已安裝!","ADDON_UPGRADED_MSG":"外掛已更新!","ADDON_UNKNOWN":"未知","ADDON_ERR":"外掛安裝錯誤!","ADDON_DISCONNECTED":"已斷開連線","ADDON_APP_MISSING":"未安裝此源的應用程式,您想現在安裝嗎?","ADDON_APP_INSTALL":"立即安裝","ADDON_PAGE":"外掛頁","ADDON_TOP_CONTENT":"最好從這個外掛","ADDON_PROVIDES":"這個外掛會給您:","ADDON_WATCH":"立即觀看#{types}!","ADDON_WATCH_FREE":"立即免費觀看#{types}!","ADDON_ADDON":"外掛","ADDON_SUPPORTED_TYPES":"支援的型別","ADDON_SUPPORTED_CATALOGS":"支援的目錄","ADDON_PROVIDES_DISCOVER":"發現中的更多#{types}","ADDON_PROVIDES_STREAMS":"觀看#{types}","ADDON_PROVIDES_STREAMS_FREE":"免費觀看#{types}","ADDON_PROVIDES_SUBTITLES":"#{types}的字幕","ADDON_CANTDETECT":"我們無法檢測到正在執行的Stremio,因此我們無法檢測您安裝了哪些外掛。","ADDON_VERSION_SHORT":"v.{{version}}","ERR_APPLE_TORRENT_NOT_SUPPORTED":"Torrent streaming is not supported on this device due to App Store rules","ERR_NO_META":"找不到有關於此的資訊","ERR_NO_META_SELECTED":"No meta was selected!","ERR_NO_META_FOUND":"No metadata was found!","ERR_NO_ADDONS_FOR_META":"No addons were requested for this meta!","ERR_NO_ADDONS_FOR_STREAMS":"No addons were requested for streams!","ERR_NO_VIDEOS_FOR_META":"No videos found for this meta!","ERR_GETTING_META":"檢索有關於此的資訊時出錯","ERR_CANT_PARSE_MAGNET":"無法分析Magnet","ERR_NO_MAGNET_INFOHASH":"Magnet缺少有效的Hash","ERR_NO_FILE_PATH":"沒有檔案路徑無法傳送請求","ERR_NO_TORRENT":"沒有Torrent返回","ERR_NO_SUPPORTERD_FILES":"找不到支援的檔案","ERR_OPENING_FILES":"無法開啟外部檔案","ERR_INVALID_LINK":"無效連結","ERR_REGISTERED_ONLY":"此選項僅適用於已註冊使用者。","ERR_CLIPBOARD":"無法從剪下板播放","ERR_CLIPBOARD_READ":"無法讀取此平臺上的剪下板","ERR_CLIPBOARD_GENERIC":"在剪下板中找不到可播放的URL. 請將URL(例如Magnet連結)複製到影片。","BOARD_CONTINUE_WATCHING":"繼續觀看","BOARD_CONTINUE_WATCHING_NOT_LOADED":"Continue Watching not loaded!","BOARD_CONTINUE_WATCHING_EMPTY":"Empty Continue Watching","BOARD_EXPLANATION_RECOMMENDATIONS":"專門為您挑選的電影。<br />這部電影是一個推薦樣例。","BOARD_EXPLANATION_EPISODES":"這裡是您最喜愛的劇集的新一集。<br />將您關注的劇集新增到庫中。","BOARD_EXPLANATION_VIDEOS":"這裡是您最喜愛的頻道的新一集。<br />將您關注的YouTube頻道新增到庫中。","WEBSITE_ENJOYED_BY":"在全球擁有超過3000萬使用者","WEBSITE_STREAMING_ENHANCED":"流媒體增強","WEBSITE_STREAMING_ENHANCED_DETAILS":"Stremio提供安全、現代、無縫的娛樂體驗。憑藉其易於使用的介面和多樣化的內容庫,包括4K HDR支援,使用者可以在所有裝置上欣賞他們喜愛的電影和電視節目。Stremio致力於安全,是無憂、高質量流媒體體驗的終極選擇。","WEBSITE_AVAILABLE_ON":"可用時間","WEBSITE_WATCH_AND_ENJOY":"觀看並享受。","WEBSITE_STREMIO_MAKES_IT_A_PIECE_OF_CAKE":"Stremio讓它變得小菜一碟","WEBSITE_ALL_FEATURES":"全部功能","WEBSITE_EASY_TO_USE":"易於使用","WEBSITE_EASY_TO_USE_DETAILS":"Stremio的設計是使用者友好和易於使用。憑藉其乾淨直觀的介面,您可以輕鬆導航並找到想要觀看的內容。","WEBSITE_SEAMLESS_ACROSS_DEVICES":"無縫跨裝置","WEBSITE_SEAMLESS_ACROSS_DEVICES_DETAILS":"Stremio可用於各種平臺(包括Windows、Mac、Linux、Android等),它將跟蹤您在所有裝置上的進度。只需登入並繼續觀看,無需在每個新裝置上再次配置應用程式。","WEBSITE_ALL_DOWNLOADS":"全部下載","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT":"高畫質晰度影片支援","WEBSITE_HIGH_DEFINITION_VIDEO_SUPPORT_DETAILS":"整合影片播放器支援大多數影片格式,包括4K HDR內容,讓您享受可用的最高質量。","WEBSITE_DIVERSE_CONTENT_LIBRARY":"多樣化的內容庫","WEBSITE_DIVERSE_CONTENT_LIBRARY_DETAILS":"Stremio整合了大量流行的影片來源,如Netflix、Amazon Prime video、Hulu、YouTube等。","WEBSITE_CREATE_A_FREE_ACCOUNT":"建立免費帳戶","WEBSITE_TAILORED_VIEWING_EXPERIENCE":"量身定製的觀看體驗","WEBSITE_TAILORED_VIEWING_EXPERIENCE_DETAILS":"Stremio允許您透過更改主題、新增或刪除外掛等方式自定義介面的外觀。","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT":"多語言字幕支援","WEBSITE_MULTILINGUAL_SUBTITLE_SUPPORT_DETAILS":"由於Stremio支援所有語言的字幕,您現在可以用您喜歡的語言欣賞所有喜愛的內容。","WEBSITE_ALL_STREMIO_FEATURES":"Stremio的全部功能","WEBSITE_TRY_STREMIO_TITLE_P1":"嘗試Stremio","WEBSITE_TRY_STREMIO_TITLE_P2":"現在在你的電視上","WEBSITE_YOU_CAN_NOW_WATCH":"您現在可以在Android電視裝置上觀看所有喜愛的電視節目。Stremio電視應用程式讓您輕鬆享受電影之夜。","WEBSITE_YOU_CAN_NOW_WATCH_2":"現在,您可以在智慧電視或安卓電視上觀看所有喜愛的電視節目。Stremio電視應用程式讓您輕鬆享受電影之夜。","WEBSITE_STREMIO_FOR_SMART_TV":"Stremio for Smart TV","WEBSITE_PLAY_STORE_REVIEW":"可能是您裝置中最好、最有用的應用程式。這是我每天使用的應用程式之一,尤其是多年來在我的安卓電視上。製作精良,擁有強大的社群,提供有用的功能。幹得好。繼續努力。","WEBSITE_REVIEWS":"評論","WEBSITE_GET_STREMIO_FOR_FREE":"免費獲取Stremio","WEBSITE_GET_STREMIO_NOW":"立即獲取Stremio","WEBSITE_STREMIO_FEATURES":"Stremio功能","WEBSITE_STREMIO_FEATURES_DETAILS":"藉助Stremio的高階功能,像專業人士一樣進行流媒體播放,享受對所有喜愛媒體的無縫訪問","WEBSITE_DISCOVER_MORE":"發現更多。","WEBSITE_DISCOVER_MORE_DETAILS":"永遠不要無聊地沒有東西可看","WEBSITE_COMMUNITY_DRIVEN":"社群驅動","WEBSITE_COMMUNITY_DRIVEN_DETAILS":"Stremio擁有一個龐大而活躍的使用者社群,他們透過建立和共享外掛為軟體的開發做出貢獻。","WEBSITE_GET_INVOLVED":"參與進來","WEBSITE_NEW_THEATER_EXPERIENCE":"新劇場體驗","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS":"Stremio的新專用電視應用程式讓您在Android電視裝置上享受電影之夜。","WEBSITE_NEW_THEATER_EXPERIENCE_DETAILS_2":"Stremio的新專用電視應用程式讓您在智慧電視或安卓電視裝置上享受電影之夜。","WEBSITE_FREE_AND_SECURE":"免費和安全","WEBSITE_STREAMING":"流式傳輸","WEBSITE_FREE_AND_SECURE_DETAILS":"Stremio為使用者提供無與倫比的安全性和隱私。Stremio具有遠端執行外掛的獨特功能,與其他平臺相比,它提供了一種更安全的方式來流式傳輸您喜愛的內容。您的安全和隱私是首要任務,平臺確保您的所有資料都得到保護。","WEBSITE_FREE_AND_SECURE_DETAILS_2":"告別對安全和隱私的擔憂,與Stremio一起向無盡娛樂的世界問好。","WEBSITE_INFORMATION_PROVIDED_BY":"資訊來源於","WEBSITE_CONTRIBUTE_DESC":"幫助我們讓Stremio變得更好","WEBSITE_COMMUNITY_DESC":"我們相信,創造真正令人驚歎的流媒體體驗的最佳方式是讓我們的社群參與到這個過程中。無論你是程式設計師、藝術家還是粉絲,你都可以幫助Stremio成長。","WEBSITE_COMMUNITY_DESC_2":"所以,今天就加入我們,成為Stremio社群的一員,繼續塑造流媒體的未來。","WEBSITE_WAYS_TO_GET_INVOLVED":"參與方式","WEBSITE_IN_THE_STREMIO_COMMUNITY":"在Stremio社群","WEBSITE_SHARE_YOUR_THOUGHTS":"分享你的想法","WEBSITE_REPORT_BUGS":"報告Bug","WEBSITE_SUGGEST_FEATURES":"建議功能","WEBSITE_AND_PROVIDE_FEEDBACK":"並在我們的社交媒體渠道上提供反饋。","WEBSITE_BETA_TESTING_PROGRAM":"Beta測試程式","WEBSITE_BETA_TESTING_PROGRAM_DESC":"在Stremio社群參與我們的測試計劃(我們定期發出邀請)。","WEBSITE_JOIN_NOW":"立即加入!","WEBSITE_OFFICIAL_STREMIO_COMMUNITIES":"Stremio官方社群","WEBSITE_UNOFFICIAL_STREMIO_COMMUNITIES":"Stremio非官方社群","WEBSITE_BECOME":"成為","WEBSITE_A_VOLUNTEER_TRANSLATOR":"一位志願翻譯者","WEBSITE_ARE_YOU_A_DEVELOPER":"你是開發者嗎?","WEBSITE_CONTRIBUTE_CODE":"您可以為我們的開源專案貢獻程式碼。我們在GitHub上有幾個專案正在尋找貢獻者。如果你有興趣幫忙,可以去看看:","WEBSITE_STREMIO_ON_GITHUB":"GitHub上的Stremio","WEBSITE_CREATE_ADDON_DESC":"建立一個外掛以增強Stremio的功能(我們有一個易於使用的API):","WEBSITE_STREMIO_ADDON_SDK":"Stremio外掛SDK","WEBSITE_INTERN_DEVELOPER":"我們還提供了作為實習生開發人員加入我們的機會,這樣我們就可以一起成長。","WEBSITE_APPLY_AS_AN_INTERN":"以實習生身份申請","WEBSITE_CALLING_ALL_ARTISTS":"呼叫所有藝術家!","WEBSITE_CALLING_ALL_ARTISTS_DESC":"透過將您的粉絲藝術上傳到我們的線上畫廊,展示您對Stremio的創造力和熱愛。無論是繪畫、繪畫還是數字設計,我們都希望看到您對Stremio品牌的獨特見解。加入我們的藝術愛好者社群,與世界各地的Stremio粉絲分享您的作品。","WEBSITE_STREMIO_FANART_GALLERY":"Stremio粉絲藝術畫廊","WEBSITE_INTERN_DESIGNER":"透過我們激動人心的實習機會,成為我們團隊的一員,將您的創造力提升到新的高度。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT":"公共領域電影專案","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC":"在Stremio,我們致力於透過識別公共領域和孤兒影片來保護電影和電視的歷史。透過與我們的社群合作,我們可以確保這些經典藝術作品對每個人都是可訪問的,併為後代所保護以供享受。","WEBSITE_PUBLIC_DOMAIN_MOVIES_PROJECT_DESC_2":"如果您想參與該專案,請隨時與我們聯絡。","WEBSITE_JOIN_THE_PROJECT":"加入專案","WEBSITE_BE_PART_OF_OUR_MISSION":"成為我們使命的一部分","WEBSITE_BE_PART_OF_OUR_MISSION_DESC":"有興趣加入斯特雷米奧隊嗎?我們為充滿激情的專業人士提供完全遠端工作。檢視我們的空缺職位。","WEBSITE_OPEN_POSITIONS":"空缺職位","WEBSITE_DESCRIPTION":"說明","WEBSITE_LEARN_MORE":"瞭解更多","WEBSITE_COMPANY":"公司","WEBSITE_CONTACTS":"聯絡人","WEBSITE_NEED_HELP":"需要幫助?","WEBSITE_STREMIO_WEB_ON_IOS":"iOS版Stremio Web指南","WEBSITE_LINK_ART_V2":"粉絲藝術畫廊","WEBSITE_PARTNERS":"合作伙伴","WEBSITE_SLOGAN_WATCH":"立即觀看","WEBSITE_SLOGAN_ALL":"一站式影片娛樂解決方案","WEBSITE_SLOGAN_NEW":"您能觀看一切","WEBSITE_SLOGAN_NEW_NEW":"自由串流","WEBSITE_WATCH_FROM":"觀看","WEBSITE_DOWNLOAD":"立即下載","WEBSITE_DOWNLOAD_FOR":"立即下載","WEBSITE_IS_DESKTOP":"Stremio是一個桌面應用程式,請在PC上開啟此頁並下載","WEBSITE_DESKTOP_DEMO_VID":"桌面演示","WEBSITE_PAGE_HOME":"首頁","WEBSITE_PAGE_FEATURES":"功能","WEBSITE_PAGE_ADDONS":"外掛","WEBSITE_PAGE_TECH":"技術","WEBSITE_PAGE_CREATE_ADDON":"建立外掛","WEBSITE_PAGE_CONTACTS":"聯絡","WEBSITE_PAGE_BLOG":"部落格","WEBSITE_RESET_PASSWORD_MESSAGE":"Please enter your desired new password below.","WEBSITE_RESET_PASSWORD_WARNING":"Are you sure you want to reset the password for ${1}?","WEBSITE_TYPE_movie":"電影","WEBSITE_TYPE_series_PL":"劇集","WEBSITE_TYPE_tv":"直播電視","WEBSITE_TYPE_channel":"頻道","WEBSITE_STREMIO_WHAT_IS":"Stremio是一款幫助您管理和隨時觀看您喜愛的影片、電影、劇集和電影片道的應用程式","WEBSITE_FEATURES_WATCH":"立即觀看高畫質影片","WEBSITE_FEATURES_WATCH_DETAIL":"點選並播放您喜愛的電影、劇集、影片和電影片道。","WEBSITE_FEATURES_SUBS":"自動載入字幕","WEBSITE_FEATURES_SUBS_DETAIL":"Stremio會自動為您的語言選擇同步字幕。","WEBSITE_FEATURES_SUBS_LABEL":"Your move, chief.","WEBSITE_FEATURES_CAST":"在電視和移動裝置上播放","WEBSITE_FEATURES_CAST_DETAIL":"適用於AppleTV、Chromecast、智慧電視(DLNA/UPnP)和移動裝置。","WEBSITE_LIB":"享受在所有裝置上同步的個人庫","WEBSITE_LIB_COLLECT":"從Stremio收集","WEBSITE_LIB_IMPORT":"從Facebook匯入","WEBSITE_LIB_LOCAL":"從本地磁碟新增","WEBSITE_BOARD":"首頁 - 通知和推薦的一站式場所","WEBSITE_BOARD_RECOMMEND":"推薦電視節目","WEBSITE_BOARD_TRENDING":"流行電影","WEBSITE_BOARD_NEW":"新影片","WEBSITE_BOARD_EPISODE":"新一集","WEBSITE_BOARD_1":"想看些有趣的東西嗎?根據您的喜好得到推薦!","WEBSITE_BOARD_2":"當您最喜愛的電視節目或YouTube頻道的新一集播出時獲得通知!","WEBSITE_BOARD_YOUTUBE":"YouTube頻道的新影片","WEBSITE_BOARD_EPISODES":"您關注的劇集的新一集","WEBSITE_ADDONS":"內容外掛","WEBSITE_TECH_DETAIL":"我們熱愛科技,我們熱愛瘋狂的科學!\\nStremio使用了以下開源技術:","WEBSITE_TECH_WCJS":"WebChimera.js允許Stremio以良好的效能播放任何影片格式。","WEBSITE_TECH_WCJS_EXTRA":"我們是專案的核心貢獻者","WEBSITE_TECH_ELECTRON":"Electron為Stremio提供了一個創新平臺。","WEBSITE_TECH_ELECTRON_EXTRA":"我們是專案貢獻者","WEBSITE_TECH_LINVODB":"一種資料庫技術,確保您的資料在任何地方登入都受管理和可用。","WEBSITE_TECH_LINVODB_EXTRA":"內部技術","WEBSITE_CREATE_ADDON":"建立您的外掛","WEBSITE_CREATE_ADDON_DETAIL":"您有提供影片內容的服務嗎?我們將透過建立外掛來幫助您從Stremio的功能中獲益。","WEBSITE_CREATE_ADDON_BENEFITS":"為Stremio建立外掛的好處","WEBSITE_P2P_BEAUTY":"點對點流媒體之美","WEBSITE_P2P_1":"可靠且價格合理的全高畫質/4K影片點播或流媒體直播","WEBSITE_P2P_2":"提供良好使用者體驗的分銷平臺","WEBSITE_P2P_3":"我們將建立一個外掛來滿足您的確切需要","WEBSITE_P2P_CONTACT":"有興趣嗎?歡迎您透過<a href=\'mailto:office@stremio.com\'>聯絡我們</a>.","WEBSITE_P2P_CONTACT_EXTRA":"我們很樂意幫助您將您的內容整合到Stremio!","WEBSITE_P2P":"偶然間出現了一種改變遊戲名稱的技術。 我們投入了大量的時間和精力來構建我們的點對點(P2P)影片流媒體引擎,該引擎可提供出色的效能和多功能性,以適應任何用例。\\n請聯絡我們以獲取支援DRM的P2P影片點播或實時流媒體。","WEBSITE_THOUGHTS":"我們分享的想法:","WEBSITE_SPREAD":"傳播關於Stremio的資訊:","WEBSITE_CONTACT":"聯絡我們,我們很高興收到您的來信!","WEBSITE_OPENSOURCE":"有關我們的開源專案,請轉到:","WEBSITE_BITCOIN":"捐贈比特幣:","WEBSITE_FAQ":"常見問題","WEBSITE_FAQ_SHORT":"常見問題","WEBSITE_QUESTIONS":"問題","WEBSITE_TOS":"使用條款","WEBSITE_LEGAL":"法律","WEBSITE_PAGE_ABOUT":"關於","WEBSITE_PAGE_BECOME_PARTNER":"成為合作伙伴","WEBSITE_ALL_YOU_CAN_WATCH":"自由觀看\\n您想看的一切。","WEBSITE_FREEDOM_TO_STREAM":"自由串流","WEBSITE_WHAT_IS_STREMIO":"什麼是Stremio?","WEBSITE_WHAT_IS_STREMIO_P1":"Stremio是一個一站式影片內容聚合中心。在您擁有的任何裝置上發現,管理和觀看來自各種來源的影片。","WEBSITE_WHAT_IS_STREMIO_P2":"電影、電視節目、劇集、電視直播或網路頻道例如YouTube或Twitch.tv等,您可以在Stremio上找到所有這些內容。","WEBSITE_WHAT_IS_STREMIO_P1_V2":"Stremio是一個現代化的媒體中心,為您的影片娛樂提供一站式解決方案。您可以透過易於安裝的外掛發現,觀看和整理影片內容。","WEBSITE_WHAT_IS_STREMIO_P2_V2":"電影、電視節目、直播電視或網路頻道——在Stremio上找到所有這些。","WEBSITE_ENJOI_ON_ALL_DEVICES":"在所有媒體裝置上享受","WEBSITE_DEVICES_COLLECT":"從Stremio收集","WEBSITE_DEVICES_IMPORT_FB":"從Facebook匯入","WEBSITE_DEVICES_LOCAL":"從本地磁碟新增","WEBSITE_JOIN_THE_PARTY_NOW":"立即加入聚會","WEBSITE_DEVICES_ALL":"易於在所有裝置上使用;","WEBSITE_EXTENDABLE_CATALOG":"可無限擴充套件的影片目錄;","WEBSITE_ORGANIZE_YOUR_MEDIA":"強大的媒體管理功能;","WEBSITE_AS_SEEN_ON":"如圖所示","WEBSITE_STREMIO":"Stremio","WEBSITE_LINK_ABOUT_US":"關於我們","WEBSITE_LINK_TECHNOLOGY":"技術","WEBSITE_LINK_APPS":"應用程式","WEBSITE_LINK_DOWNLOADS":"下載","WEBSITE_MORE":"更多","WEBSITE_LINK_ADDONS":"外掛","WEBSITE_LINK_ADDON_SDK":"外掛SDK","WEBSITE_LINK_CONTRIBUTE":"貢獻","WEBSITE_LINK_COMMUNITY":"社群","WEBSITE_LINK_BLOG":"部落格","WEBSITE_MORE_MORE":"... & 更多","WEBSITE_LINK_HELP":"幫助中心","WEBSITE_LINK_CONTACTS":"業務查詢","WEBSITE_LINK_TOS":"條款和條件","WEBSITE_LINK_PRAVACY":"隱私政策","WEBSITE_SUBSCRIBE":"訂閱","WEBSITE_NEWSLETTER":"加入我們的實時通訊,瞭解精彩的內容","WEBSITE_PLACEHOLDER_EMAIL":"您的電子郵箱","WEBSITE_COMMUNITY":"社群","WEBSITE_LINK_PRAVACY_LEGAL":"隱私與法律","WEBSITE_WHY":"我們為什麼這樣做","WEBSITE_WHY_P1":"在Stremio,我們每天都工作,因為我們想解決影片點播行業的一個重要問題。每分鐘都有這麼多的新內容釋出,幾乎不可能找到解決的方法。","WEBSITE_WHY_P2":"我們幫助人們瀏覽這個巨大的影片娛樂世界,發現新的內容來享受。我們的應用程式彙集了電影、劇集、電視直播、網路頻道等。我們致力於讓使用者非常容易地找到他們喜歡的標題和廣播。","WEBSITE_WHY_P3":"您可以隨時在任何裝置上使用我們的服務,使Stremio成為您唯一需要的影片娛樂中心。","WEBSITE_TEAM":"團隊","WEBSITE_TEAM_P":"Stremio團隊雖小但很強大:我們10個人用X語言編寫程式碼,分享軟體開發、UI和UX設計、營銷和廣告、商業和初創企業方面的專業知識。","WEBSITE_FEATURES":"功能","WEBSITE_FEATURES_P1":"","WEBSITE_FEATURES_DISCOVER":"輕鬆發現新內容","WEBSITE_FEATURES_DISCOVER_P":"輕鬆發現要觀看的新電影、電視節目、劇集和頻道。按類別、流派、評分、時間等瀏覽,或者只需鍵入一個名稱即可找到。Stremio讓尋找新的影片內容變得輕而易舉。","WEBSITE_FEATURES_ALL_CONTENT":"一塊螢幕顯示所有影片內容","WEBSITE_FEATURES_ALL_CONTENT_P1":"檢視您未看完的電影、劇集或影片,並繼續觀看;獲得新劇集和版本的通知;瀏覽根據您的觀看習慣獲得的推薦。","WEBSITE_FEATURES_LIBRARY":"管理您的影片庫","WEBSITE_FEATURES_LIBRARY_P1":"只需點選一下,即可將任何標題新增到您的Stremio庫中,並按型別、時間或字母順序整齊地排列內容。","WEBSITE_FEATURES_CALENDAR":"記錄您所觀看的一切","WEBSITE_FEATURES_CALENDAR_P1":"獲取新增到庫中的所有電影和系列的日曆視覺化。匯出您的Stremio日曆並同步它,這樣您就可以隨時知道新的一集或首映何時到來。","WEBSITE_FEATURES_BIG_SCREEN":"在大螢幕上欣賞您的影片內容","WEBSITE_FEATURES_BIG_SCREEN_P1":"將您正在觀看的任何內容都投屏到另一臺裝置上,無論是手機、平板電腦還是電視,只需點選一下即可。","WEBSITE_FEATURES_SOURCES":"觀看不同來源的影片","WEBSITE_FEATURES_SOURCES_P":"安裝官方和社群外掛,欣賞來自多個不同供應商的影片。","WEBSITE_CREATE_AN_ADDON":"建立外掛","WEBSITE_FEATURES_SYNC":"跨裝置同步庫並恢復播放","WEBSITE_FEATURES_SYNC_P1":"使用您的帳戶在所有裝置上登入,享受同步的庫、外掛、播放和日曆。","WEBSITE_FEATURES_EXTENDABLE":"透過外掛擴充套件影片目錄","WEBSITE_FEATURES_EXTENDABLE_P1":"Stremio外掛目錄提供了許多外掛,可以從中安裝和觀看各種影片內容。這包括電影、節目、電視直播、體育、新聞、播客、網路頻道、影片遊戲等。","WEBSITE_FEATURES_AUTO_SUBS":"自動載入字幕","WEBSITE_FEATURES_AUTO_SUBS_P1":"透過我們的字幕外掛,您可以自動選擇您喜歡的語言。","WEBSITE_FEATURES_CHROMECAST":"投屏到Chromecast","WEBSITE_FEATURES_CHROMECAST_P1":"在更大的螢幕上欣賞您的影片內容,或者將您正在觀看的內容投屏到其他裝置上。","WEBSITE_FEATURES_KEEP_TRACK":"跟蹤您最喜愛的電視節目和網路頻道","WEBSITE_FEATURES_KEEP_TRACK_P1":"獲取您最喜愛的劇集和網路頻道的新一集的日曆視覺化和通知。","WEBSITE_FEATURES_POWER_USER":"超級使用者功能","WEBSITE_FEATURES_POWER_USER_P1":"在外部播放器中播放","WEBSITE_FEATURES_POWER_USER_P2":"從Torrent檔案或Magnet連結播放","WEBSITE_FEATURES_POWER_USER_P3":"從Facebook喜愛或本地磁碟匯入您的庫","WEBSITE_ADD_ONS":"外掛","WEBSITE_ADD_ONS_P1":"Stremio提供的所有影片內容都是透過外掛系統獲取的,應用程式中沒有內建任何內容或內容提供商。","WEBSITE_ADD_ONS_P2":"有兩組外掛可用:官方和社群外掛。","WEBSITE_ADD_ONS_P3":"官方外掛由Stremio開發和託管,而社群外掛由我們的社群成員建立和託管。","WEBSITE_ADDONS_OFFICIAL":"官方外掛","WEBSITE_ADDONS_WATCHUB":"從iTunes、Hulu、Amazon和其他英國/美國服務提供商處流式播放您喜愛的電影、劇集和節目。","WEBSITE_ADDONS_YOUTUBE":"觀看您喜愛的YouTube頻道,獲得您關注的貢獻者的新上傳通知。","WEBSITE_ADDONS_FILMON":"免費觀看直播電視、電影和社交電視。600個電影片道,45000部免費電影,紀錄片以及更多","WEBSITE_ADDONS_OPENSUBTITLES":"多語種影視字幕,每天上傳上千個翻譯字幕。","WEBSITE_ADDONS_COMMUNITY":"社群外掛","WEBSITE_ADDONS_FILMON_VOD":"觀看來自Filmon.tv的點播影片。","WEBSITE_ADDONS_TWICH":"觀看來自Twitch.tv(電子競技行業的影片流媒體平臺)的直播。","WEBSITE_ADDONS_VODO":"觀看完全免費的獨立電影。","WEBSITE_ADDONS_NETFLIX":"觀看Netflix的電影和網劇。","WEBSITE_ADDONS_CREATE":"建立外掛","WEBSITE_ADDONS_CREATE_P1":"如果您願意,您可以開發自己的外掛。透過這種方式,您可以讓自己和我們的社群訪問新的影片內容,並接觸到全球數百萬使用者的新目標受眾。","WEBSITE_ADDONS_START_CREATE":"要開始,請訪問Stremio外掛SDK頁面:","WEBSITE_DOWNLOADS":"下載","WEBSITE_DOWNLOADS_P1":"為了獲得最佳效能,我們建議您使用最新版本的Stremio應用程式。但是,如果出於某種原因,您想使用舊版本,可以在此處下載。","WEBSITE_DOWNLOADS_P1_SHORT":"為了獲得最佳效能,我們建議您使用最新版本的Stremio應用程式,","WEBSITE_DOWNLOADS_FOR_WIN":"Stremio for Windows","WEBSITE_DOWNLOADS_FOR_MAC":"Stremio for macOS","WEBSITE_DOWNLOADS_FOR_LINUX":"Stremio for Linux","WEBSITE_DOWNLOADS_FOR_ANDROID":"Stremio for Android","WEBSITE_DOWNLOADS_FOR_ANDROID_TV":"Stremio for Android TV","WEBSITE_DOWNLOADS_FOR_ANDROID_MOBILE":"Stremio for Android Mobile","WEBSITE_DOWNLOADS_FOR_STEAM_DECK":"Stremio for Steam Deck","WEBSITE_DOWNLOADS_FOR_IOS":"Stremio for iOS(限制版本)","WEBSITE_DOWNLOADS_FOR_SAMSUNG_TV":"Stremio for Samsung TV","WEBSITE_DOWNLOADS_FOR_LG_TV":"Stremio for LG TV","WEBSITE_DOWNLOADS_FOR_SONY_TV_ANDROID":"Stremio for Sony TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV_ANDROID":"Stremio for Philips TV (Android)","WEBSITE_DOWNLOADS_FOR_PHILIPS_TV":"Stremio for Philips TV","WEBSITE_DOWNLOADS_FOR_HISENSE_TV":"Stremio for Hisense TV","WEBSITE_DOWNLOADS_FOR_OCULUS_QUEST":"Stremio for Oculus Quest","WEBSITE_DOWNLOADS_FOR_META_QUEST":"Stremio for Meta Quest","WEBSITE_DOWNLOADS_FOR_VISION_PRO":"Stremio for Vision Pro","WEBSITE_DOWNLOADS_FOR_XBOX":"Stremio for Xbox","WEBSITE_DOWNLOADS_FOR_RPI":"Stremio for Raspberry Pi","WEBSITE_DOWNLOADS_LAUNCH_ON_BOOT":"Stremio Launch on Boot App","WEBSITE_DOWNLOADS_FOR_BROWSER":"Stremio for Browser","WEBSITE_DOWNLOADS_STREMIO_OS":"Stremio OS","WEBSITE_DOWNLOADS_SEARCH_ON_SAMSUNG":"Search for Stremio in the App Store of 2019+ Samsung TV models","WEBSITE_DOWNLOADS_SEARCH_ON_LG":"Search for Stremio in the App Store of 2020+ LG TV models","WEBSITE_DOWNLOADS_SEARCH_ON_SONY_ANDROID":"Search for Stremio in the Play Store app on Sony TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_ANDROID":"Search for Stremio in the Play Store app on Philips TV running Android","WEBSITE_DOWNLOADS_SEARCH_ON_PHILIPS_TITANOS_LIMITED":"Search for Stremio in the app store on Philips TV running TitanOS (limited version)","WEBSITE_DOWNLOADS_SEARCH_ON_XBOX":"Search for Stremio in the App Store of your Xbox device","WEBSITE_DOWNLOADS_GUIDE_FOR_STREMIO_ON_RPI":"Guide for Stremio OS on RPI","WEBSITE_LINK_GUIDE":"Guide","WEBSITE_DOWNLOAD_SERVICE":"下載Stremio服務","WEBSITE_DOWNLOAD_SERVICE_P1":"Stremio Service是Stremio Web的配套應用程式。我們建議使用最新版本的Stremio Service。","WEBSITE_DOWNLOAD_SERVICE_FOR_WIN":"Stremio Service for Windows","WEBSITE_DOWNLOAD_SERVICE_FOR_MAC":"Stremio Service For macOS","WEBSITE_DOWNLOAD_SERVICE_FOR_LINUX":"Stremio Service for Linux","WEBSITE_DOWNLOAD_SERVICE_FOR_DOCKER":"Stremio Service for Docker","WEBSITE_DOWNLOAD_STREMIO_FOR_DOCKER":"Stremio for Docker","WEBSITE_DOWNLOAD_MORE_DOWNLOAD_OPTIONS":"更多下載選項","WEBSITE_DOWNLOAD_NEW":"新!","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_WEB":"我們釋出了Stremio Web","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_SAMSUNG_TV":"We released Stremio for Samsung TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_LG_TV":"We released Stremio for LG TV","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_XBOX":"We released Stremio for Xbox","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_RPI":"We released Stremio for Raspberry Pi","WEBSITE_DOWNLOAD_WE_RELEASED_STREMIO_5_WINDOWS":"We released Stremio 5 for Windows","WEBSITE_CONTRIBUTE":"貢獻","WEBSITE_CONTRIBUTE_P1":"Stremio平臺是開源的,您可以輕鬆地為當前沒有來源的內容建立一個外掛。","WEBSITE_CONTRIBUTE_WHY":"為什麼要建立外掛?","WEBSITE_CONTRIBUTE_WHY_P1":"為您的影片內容吸引新觀眾","WEBSITE_CONTRIBUTE_WHY_P2":"Stremio的使用者群體正在快速增長,在推出的第一年,Stremio在全球獲得了100萬使用者,在該平臺存在的第二年,這個數字增長到250萬。","WEBSITE_CONTRIBUTE_WHY_P3":"用外掛,您可以輕鬆接觸這些觀眾並向他們分發您的影片內容。","WEBSITE_CONTRIBUTE_ALL":"在一處觀看您喜愛的電影、影片、劇集和頻道。","WEBSITE_CONTRIBUTE_ALL_P1":"您是Stremio上尚未提供的特定型別內容的粉絲?為它建立一個外掛,在市場上最大、最易使用的娛樂中心之一欣賞您喜愛的影片。","WEBSITE_CONTRIBUTE_ALL_P2":"除此之外,您還會得到其他志同道合的Stremio社群成員的無盡感激。","WEBSITE_CONTRIBUTE_MONETIZE":"透過外掛營利,並在其幫助下賺錢","WEBSITE_CONTRIBUTE_MONETIZE_P1":"一旦您為Stremio開發了一個新的外掛,您就可以透過多種不同的方式輕鬆地靠其營利。如果您正在考慮此問題,請隨時與我們聯絡","WEBSITE_CONTRIBUTE_MONETIZE_E":"addons@stremio.com","WEBSITE_CONTRIBUTE_MONETIZE_P2":",我們很樂意就外掛營利選項向您提供諮詢和建議。","WEBSITE_CONTRIBUTE_TRANSLATE":"成為一名志願翻譯者","WEBSITE_CONTRIBUTE_TRANSLATE_P1":"如果您想享受不同語言的Stremio應用程式,您可以加入我們的志願翻譯者社群。他們幫助我們新增多種不同語言的Stremio版本。","WEBSITE_CONTRIBUTE_TRANSLATE_P2":"您想開始嗎?","WEBSITE_TRANSALTE_STREMIO":"翻譯Stremio","WEBSITE_COMMUNITY_P1":"","WEBSITE_COMMUNITY_OFFICIALS":"官方社群","WEBSITE_COMMUNITY_OFFICIALS_P1":"成為不斷增長的Stremio社群的一部分。在社交媒體上關注我們,不要害羞地打招呼,我們喜歡聽到粉絲的聲音!","WEBSITE_COMMUNITY_UNOFFICIALS":"非官方社群","STREMIO_COMMUNITY_NL":"Stremio Netherlands","STREMIO_COMMUNITY_BRASIL":"Stremio Brasil","STREMIO_COMMUNITY_GERMANY":"Stremio Germany","STREMIO_COMMUNITY_BELGIUM":"Stremio Belgium","STREMIO_COMMUNITY_FRANCE":"Stremio France","STREMIO_COMMUNITY_PORTUGAL":"Stremio Portugal","STREMIO_COMMUNITY_ITALY":"Stremio Italy","STREMIO_COMMUNITY_UK":"Stremio UK","STREMIO_COMMUNITY_USA":"Stremio USA","STREMIO_COMMUNITY_MEXICO":"Stremio Mexico","STREMIO_COMMUNITY_ADDONS":"Stremio Addons","STREMIO_COMMUNITY_ADDON":"Stremio Addon","STREMIO_COMMUNITY_AWESOME":"Awesome Stremio","WEBSITE_COMMUNITY_PARTNERS":"合作伙伴和支持者","WEBSITE_COMMUNITY_GOODIES":"Stremio特典","WEBSITE_COMMUNITY_WALLPAPERS":"桌布","WEBSITE_COMMUNITY_ART":"社群藝術畫廊","WEBSITE_LINK_ART":"社群藝術畫廊","WEBSITE_CONTACT_US":"聯絡我們","WEBSITE_CONTACT_US_P1":"如果您有任何問題、意見或建議,請隨時透過下面的聯絡方式與我們聯絡。","WEBSITE_CONTACT_US_P2":"請記住,我們位於保加利亞,因此可能會由於時區差異而延遲處理您的問題。","WEBSITE_CONTACT_US_SUCCESS":"您的資訊已傳送。我們會在方便的時候儘快給您回覆。","WEBSITE_CONTACT_US_ERR_INV_EMAIL":"請輸入有效的電子郵箱!","WEBSITE_CONTACT_US_Q_RELATED_TO":"您的問題與什麼有關?","WEBSITE_CONTACT_US_Q_OS":"您的作業系統是什麼?","WEBSITE_CONTACT_US_PH_EMAIL":"您的電子郵箱","WEBSITE_CONTACT_US_PH_MESSAGE":"簡訊","WEBSITE_CONTACT_US_PH_MESSAGE_BTN":"傳送","WEBSITE_CONTACT_US_Q_1":"如何安裝?","WEBSITE_CONTACT_US_Q_2":"如何解除安裝?","WEBSITE_CONTACT_US_Q_3":"(HTML)如何製作千層麵?","WEBSITE_CONTACT_US_Q_4":"外掛","WEBSITE_CONTACT_US_OS_1":"Windows","WEBSITE_CONTACT_US_OS_2":"macOS","WEBSITE_CONTACT_US_OS_3":"Linux","WEBSITE_CONTACT_US_OS_4":"Android","WEBSITE_CONTACT_US_OS_5":"iOS","WEBSITE_TECHNOLOGY":"技術","WEBSITE_TECHNOLOGY_P1":"我們熱愛科技,熱愛科學。</br>這是Stremio的動力(它都是開源的)。","WEBSITE_TECHNOLOGY_P_QT":"最佳跨平臺軟體開發工具。","WEBSITE_TECHNOLOGY_P_MPV":"一款免費、開源、跨平臺的媒體播放器。","WEBSITE_TECHNOLOGY_P_RN":"React Native允許您僅使用JavaScript構建移動應用程式。","WEBSITE_TECHNOLOGY_P_VLC":"嵌入到應用程式中獲取多媒體的媒體框架。","WEBSITE_TECHNOLOGY_P_REALM":"Realm是一個移動平臺,是SQLite和Core Data的替代品。","WEBSITE_TECHNOLOGY_P_NODEJS":"Node.js是一個開源、跨平臺的JavaScript執行環境。","WEBSITE_TECHNOLOGY_P_RUST":"Rust是一種多正規化系統程式語言,關注安全性,尤其是安全併發性。","WEBSITE_TECHNOLOGY_CONTRIBUTE":"為專案貢獻力量","WEBSITE_TECHNOLOGY_CONTRIBUTE_P1":"您可以透過兩種方式為Stremio做貢獻,幫助我們將產品做得更好。","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_TRANSALTE":"您可以透過翻譯平臺來貢獻您寶貴的語言技能...","WEBSITE_TECHNOLOGY_CONTRIBUTE_OR":"或","WEBSITE_TECHNOLOGY_CONTRIBUTE_P_CREATE":"... 您可以利用您的程式設計技巧來建立社群外掛。","WEBSITE_TRANSLATE_STREMIO":"翻譯Stremio","WEBSITE_404_OH_NO":"糟糕!您要找的頁面不在這裡...","WEBSITE_GO_HOME":"回到主頁","WEBSITE_LINK_OTHER_DOWNLOADS":"其他下載","WEBSITE_FAQ_ABR":"常見問題","WEBSITE_SUPPORT":"支援","WEBSITE_DOWNLOAD_4_0_BETA":"立即下載Stremio 4測試版","WEBSITE_GET_FOR_DESKTOP":"獲取桌面","WEBSITE_LINK_ADDON_COMPETITION":"外掛比賽","WEBSITE_LINK_ART_CONTEST":"藝術比賽","WEBSITE_MY_ACCOUNT":"我的賬戶","WEBSITE_MAINPAGE_FAQ_001_H1":"什麼是Stremio?","WEBSITE_MAINPAGE_FAQ_001_P1":"Stremio是一個現代化的媒體中心,讓您可以自由觀看任何您想要的東西。","WEBSITE_MAINPAGE_FAQ_002_H1":"它是如何工作的?","WEBSITE_MAINPAGE_FAQ_002_P1":"一旦您在裝置上安裝了Stremio並建立了一個帳戶,您所要做的就是訪問外掛目錄並安裝任何您想要的外掛,就可以開始了!","WEBSITE_MAINPAGE_FAQ_002_P2":"之後,您可以進入“發現”或“板”部分,開始探索內容。","WEBSITE_MAINPAGE_FAQ_003_H1":"我可以在這裡看什麼?","WEBSITE_MAINPAGE_FAQ_003_P1":"很多:電影、電視節目、網路頻道、體育、電影片道、收聽播客等等。感謝我們的外掛系統,您可以訪問各種內容。","WEBSITE_MAINPAGE_FAQ_004_H1":"Stremio是開源的嗎?","WEBSITE_MAINPAGE_FAQ_004_P1":"是的,您可以檢視以下連結:${1}桌面應用${2}和${3}GitHub組織${4}。","WEBSITE_MAINPAGE_FAQ_005_H1":"Stremio安全嗎?","WEBSITE_MAINPAGE_FAQ_005_P1":"是:因為它是開源軟體,所以程式碼可以公開稽核,您可以自己檢視。","WEBSITE_MAINPAGE_FAQ_005_P2":"Stremio\'s addon system was also created with the user\'s security in mind. The addons do not run any code locally, so they pose no risks to your device.","WEBSITE_MAINPAGE_FAQ_006_H1":"我的隱私如何?","WEBSITE_MAINPAGE_FAQ_006_P1":"我們尊重使用者隱私,除了建立和同步您的帳戶所必需的最低限度外,不收集任何個人資料。","WEBSITE_MAINPAGE_FAQ_006_P2":"註冊時還有一個${1}訪客模式${2},它不需要任何資料:在這種模式下,不會呼叫我們的後端。然而,這是以犧牲有用的功能為代價的,比如能夠跨裝置同步您的庫。","WEBSITE_MAINPAGE_FAQ_007_H1":"我可以投屏到電視嗎?","WEBSITE_MAINPAGE_FAQ_007_P1":"是的,我們支援Chromecast,您可以從桌面和移動應用程式(Android)進行強制轉換。","WEBSITE_MAINPAGE_FAQ_008_H1":"Stremio有多少外掛?","WEBSITE_MAINPAGE_FAQ_008_P1":"截至2019年末,超過50個。有關更多資訊,請檢視我們的外掛目錄。","WEBSITE_MAINPAGE_FAQ_009_H1":"Stremio是否可以擴充套件到外掛目錄之外?","WEBSITE_MAINPAGE_FAQ_009_P1":"是的,您應該檢視這些:${1}PimpMyStremio${2},${3}Reddit communities${4},${5}Stremio Downloader${6},等等。","WEBSITE_MAINPAGE_FAQ_010_H1":"Stremio支援哪些裝置?","WEBSITE_MAINPAGE_FAQ_010_P1":"我們有適用於Windows、Mac和Linux的桌面應用程式。對於移動裝置,我們支援Android和iOS,但請記住iOS的功能有限(不支援大多數外掛)。","WEBSITE_MAINPAGE_FAQ_010_P2":"有很多基於Android的裝置可以在上面執行Stremio,比如NVIDIA Shield和Amazon Fire Stick,但我們並不正式支援它們。","WEBSITE_MAINPAGE_FAQ_010_P1_2":"We have desktop apps for Windows, Mac and Linux. We also have dedicated apps for Android Mobile and Android TV. For iOS and iPadOS we suggest using Stremio Web, although it is more limited in functionality.","WEBSITE_MAINPAGE_FAQ_011_H1":"您們能為Stremio新增某些內容嗎?","WEBSITE_MAINPAGE_FAQ_011_P1":"抱歉,我們本身不提供任何內容,但是您安裝的Stremio外掛越多,您可以找到的內容就越多。","WEBSITE_MAINPAGE_FAQ_012_H1":"Stremio可以播放Magnet連結嗎?","WEBSITE_MAINPAGE_FAQ_012_P1":"是的,它還可以播放正常的HTTP連結和Torrent檔案(拖放)。","WEBSITE_MAINPAGE_FAQ_013_H1":"我可以下載影片並離線觀看嗎?","WEBSITE_MAINPAGE_FAQ_013_P1":"離線可用是一項即將推出的功能,但如果您允許Stremio在裝置上快取(從“設定”面板),您可以稍後在沒有連線的情況下觀看影片。","WEBSITE_MAINPAGE_FAQ_014_H1":"什麼都不能用,幫幫我!","WEBSITE_MAINPAGE_FAQ_014_P1":"您確定已安裝外掛嗎?如果是,請與我們的${1}幫助中心${2}聯絡","WEBSITE_MAINPAGE_FAQ_015_H1":"Stremio如何維持其開發運營?","WEBSITE_MAINPAGE_FAQ_015_P1":"我們偶爾會播放非侵入性廣告,但我們正在考慮轉向捐贈模式。","WEBSITE_MAINPAGE_FAQ_015_P2":"有關更多問題,請訪問我們的${1}幫助中心${2}。","HELP_LEARN_MORE":"幫助我們瞭解更多有關您的資訊。","LIFESTYLE":"生活方式","SPORTS":"體育","FOOD_HEALTH":"飲食與健康","BEAUTY_FASHION":"美麗與時尚","NEWS":"新聞","GAMING":"遊戲","SCIENCE_EDUCATION":"科學與教育","MUSIC":"音樂","TRAVEL":"旅行","LATE_NIGHT":"深夜","REALITY":"真人","COMEDY":"喜劇","DIY":"DIY","TECH":"技術","CINEMA":"影院","CONTINUE":"繼續","SLOW_LOADING":"載入緩慢?","I_GIVE_UP":"我放棄了","LEARN_MORE":"瞭解更多","POOR_SOURCE":"此源不可用或您的網路連線不夠快","PICK_CATEGORIES_ERR":"您必須至少選擇3個類別","ADJUST_TIMING":"調整時間","ADJUST_SIZE":"調整大小","SEARCH_ANYTHING":"您可以搜尋一切...","ALL_CATEGORIES":"全部","SEARCH_CATEGORIES":"電影、劇集、YouTube和電視","SEARCH_PERSONS":"演員、導演和編劇","SEARCH_PROTOCOLS":"HTTP或Magnet連結","SEARCH_TYPES":"IMDB/TVDB連結","WATCHED":"已觀看","SHOW_LESS":"顯示較少","LAST_SEARCHES":"上次搜尋","CLEAR_HISTORY":"清除歷史記錄","CHOOSE_SOME":"選擇其中一些:","PAGE_NOT_FOUND":"Page not found!","NO_WEB_REMOTE":"無法載入Web Remote","STREMIO_OFFLINE":"Stremio離線","STREMIO_EXPENSIVE_CONNECTION":"我們檢測到您正在使用移動資料連線,是否繼續?","USE_DATA":"使用移動資料","WARNING":"警告","MORE_INFO":"更多資訊...","STREMIO_TV_STREMIO":"Stremio","STREMIO_TV_LOADING":"載入...","STREMIO_TV_BACK_TO_LANGUAGES":"返回語言","STREMIO_TV_REMOTE":"遠端","STREMIO_TV_GO_TO":"去往:","STREMIO_TV_OR_SCAN":"或掃描:","STREMIO_TV_ADDON_INSTRUCTIONS":"請按照說明安裝您喜歡的外掛。","STREMIO_TV_LIVE_TV":"直播電視","STREMIO_TV_RESUME_WATCHING":"繼續觀看","STREMIO_TV_LOADING_BACKGROUND":"載入背景","STREMIO_TV_CHECKING_AUTHENTICATION":"正在檢測身份驗證","STREMIO_TV_LOADING_BOARD":"載入主頁","STREMIO_TV_LOGIN_HEADER_LINE_1":"我們希望使用者在使用我們的軟體時有最好的個性化體驗,","STREMIO_TV_LOGIN_HEADER_LINE_2":"正是出於這個原因,我們懇請您建立和/或登入您的賬戶,","STREMIO_TV_LOGIN_FOOTER_LINE_1":"感謝您的理解,","STREMIO_TV_LOGIN_FOOTER_LINE_2":"Stremio團隊","STREMIO_TV_REMOTE_INSTRUCTIONS":"為了在您的智慧手機/平板電腦/桌面使用Web Remote:","STREMIO_TV_WIFI_SETUP":"Wi-Fi設定","STREMIO_TV_WIFI_HEADER_LINE_1":"Stremio Circle未檢測到網際網路連線。","STREMIO_TV_WIFI_DETAILS_1":"連線到:","STREMIO_TV_WIFI_DETAILS_2":"stremio-circle","STREMIO_TV_WIFI_DETAILS_3":"使用密碼:","STREMIO_TV_WIFI_DETAILS_4":"stremiocircle","STREMIO_TV_WIFI_DETAILS_5":"在瀏覽器中開啟連結:","STREMIO_TV_DISCOVER_GENRE_DEFAULT":"預設","STREMIO_TV_LIBRARY_SORT_LAST_WATCHED":"按最近觀看","STREMIO_TV_LIBRARY_SORT_NAME":"按名字","STREMIO_TV_LIBRARY_SORT_NAME_REVERSE":"By Name Descending","STREMIO_TV_LIBRARY_SORT_TIMES_WATCHED":"按觀看次數","STREMIO_TV_LIBRARY_SORT_WATCHED":"By Watched","STREMIO_TV_LIBRARY_SORT_NOT_WATCHED":"By Not Watched","STREMIO_TV_DETAILS_SEASON_NUMBER":"季${1}","STREMIO_TV_STREAMS_LOADING":"已載入${1}/${2}外掛...","STREMIO_TV_STREAMS_STILL_LOADING":"${1}外掛仍在載入...","STREMIO_TV_PLAYER_SETTINGS":"播放器設定","STREMIO_TV_PLAYER_SUBTITLES_DELAY":"字幕延遲","STREMIO_TV_PLAYER_AUDIO_DELAY":"音訊延遲","STREMIO_TV_PLAYER_VIDEO_SCALING":"影片縮放","STREMIO_TV_PLAYER_CHAPTERS":"Chapters","STREMIO_TV_PLAYER_BUTTON_SKIP_CHAPTER":"Skip ${1}","STREMIO_TV_PLAYER_UNSUPPORTED_STREAM":"不支援的流媒體源","STREMIO_TV_PLAYER_FAILED_EXTERNAL_LINK":"開啟外部連結失敗","STREMIO_TV_PLAYER_SPEED_NOT_ADJUSTABLE":"在音訊直通模式下不可調整","STREMIO_TV_PLAYER_PLAY_IN_EXO":"使用ExoPlayer播放","STREMIO_TV_PLAYER_PLAY_IN_VLC":"使用libVLC player播放","STREMIO_TV_PLAYER_SWITCH_TO_VLC_DUE_ERROR":"由於播放錯誤而切換到libVLC player","STREMIO_TV_ADDONS_TITLE":"在手機或PC上使用Stremio安裝或配置外掛,然後按\\"同步外掛\\"","STREMIO_TV_ADDONS_SUBTITLE":"注意:確保您使用的是相同的Stremio帳戶","STREMIO_TV_ADDONS_SYNC_ADDONS":"同步外掛","STREMIO_TV_ADDONS_SYNC_SUCCESS":"外掛成功同步","STREMIO_TV_ADDONS_SYNC_FAILED":"外掛同步失敗","STREMIO_TV_META_LINK_FAILED":"開啟元連結失敗","STREMIO_TV_CATALOG_LOADING":"目錄仍在載入...","STREMIO_TV_SETTINGS_LANGUAGE_UPDATED":"介面語言已更新","STREMIO_TV_SETTINGS_THEME_UPDATED":"主題已更新","STREMIO_TV_SETTINGS_DEFAULT_PLAYER":"預設播放器","STREMIO_TV_SETTINGS_EXTERNAL_PLAYER":"外部播放器","STREMIO_TV_SETTINGS_PREFERRED_LANGUAGE":"首選語言","STREMIO_TV_SETTINGS_SECONDARY_PREFERRED_LANGUAGE":"次要首選語言","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK":"隧道播放","STREMIO_TV_SETTINGS_TUNNELLED_PLAYBACK_HINT":"某些裝置上可能存在播放問題","STREMIO_TV_SETTINGS_HW_DECODING_HINT":"某些影片格式可能無法播放","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_STRATEGY":"幀速率匹配","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_DISABLED":"關閉","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_ONLY":"僅幀速率","STREMIO_TV_SETTINGS_FRAME_RATE_MATCHING_FRAME_RATE_AND_RESOLUTION":"幀速率和解析度","STREMIO_TV_SETTINGS_NO_CACHING":"無快取","STREMIO_TV_SETTINGS_PROFILE_DEFAULT":"預設","STREMIO_TV_SETTINGS_PROFILE_SOFT":"慢","STREMIO_TV_SETTINGS_PROFILE_FAST":"快","STREMIO_TV_SETTINGS_PROFILE_ULTRA_FAST":"超快","STREMIO_TV_SETTINGS_SERVER_URL":"流媒體伺服器URL","STREMIO_TV_SETTINGS_SERVER_VERSION":"伺服器版本","STREMIO_TV_SETTINGS_SERVER_UNKNOWN":"未知","STREMIO_TV_SETTINGS_STREMIO_VERSION":"Stremio版本","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_TITLE":"編輯伺服器URL","STREMIO_TV_SETTINGS_SERVER_MODAL_EDIT_DESCRIPTION":"輸入流媒體伺服器URL","STREMIO_TV_SETTINGS_SERVER_LOADING_STATISTICS":"載入時顯示統計資訊","STREMIO_TV_SETTINGS_PRIVACY_POLICY_TEXT":"要閱讀Stremio的隱私政策,請訪問:","STREMIO_TV_SETTINGS_TOS_TEXT":"要閱讀Stremio的條款和條件,請訪問:","STREMIO_TV_NAV_SEARCH":"搜尋","STREMIO_TV_NAV_HOME":"主頁","STREMIO_TV_NAV_DISCOVER":"發現","STREMIO_TV_NAV_LIBRARY":"庫","STREMIO_TV_NAV_MOVIES":"電影","STREMIO_TV_NAV_SERIES":"劇集","STREMIO_TV_NAV_CHANNELS":"頻道","STREMIO_TV_NAV_TV":"電視直播","STREMIO_TV_NAV_SETTINGS":"設定","STREMIO_TV_NAV_ADDONS":"外掛","STREMIO_TV_LOGIN_TITLE":"連結賬戶","STREMIO_TV_LOGIN_EXPIRES_IN":"過期日期到","STREMIO_TV_LOGIN_STEP_ONE":"掃描上方的二維碼或轉到","STREMIO_TV_LOGIN_STEP_TWO":"登入您的Stremio帳戶","STREMIO_TV_LOGIN_NEW_LINK":"請求新連結","STREMIO_TV_LOGIN_LINK_REFRESHED":"登入程式碼已重新整理","STREMIO_TV_SEARCH_PLACEHOLDER":"輸入一些東西","STREMIO_TV_SEARCH_NO_ADDONS":"沒有為目錄請求外掛!","STREMIO_TV_SEARCH_BUTTON":"搜尋","STREMIO_TV_SEARCH_KEY_DEL":"刪除","STREMIO_TV_SEARCH_KEY_SPACE":"空格","STREMIO_TV_SEARCH_KEY_CLEAR":"清除","STREMIO_TV_SEARCH_HISTORY_TITLE":"搜尋歷史","STREMIO_TV_SEARCH_HISTORY_DESCRIPTION":"您可以搜尋標題、演員、頻道...","STREMIO_TV_SEARCH_HISTORY_CLEAR":"清除搜尋歷史","STREMIO_TV_FILTERS_DESCRIPTION":"從以下過濾器中選擇一個","STREMIO_TV_STREAMING_SERVER_OFFLINE":"流媒體伺服器離線,檢查伺服器設定。","FILTERS":"過濾器","SETTINGS":"設定","ACCOUNT":"賬戶","LOGOUT":"登出","THEMES":"主題","PLAYBACK":"播放","PLAYBACK_SPEED":"播放速度","AUDIO_TRACKS":"音軌","UNKNOWN_TRACK_LANG":"Unknown","VIDEOS":"影片","SERVER":"伺服器","LINKS":"連結","ABOUT":"關於","INTERFACE":"介面","ANIMATIONS":"動畫","STATUS":"狀態","LANGUAGE":"語言","SIZE":"大小","DELAY":"延遲","BOLD":"粗體","OPACITY":"Opacity","TEXT_COLOR":"文字顏色","OUTLINE_COLOR":"輪廓顏色","BACKGROUND_COLOR":"背景顏色","BACKGROUND_BLUR":"背景模糊","SEEK_TIME_DURATION":"尋找持續時間","AUTO_PLAY":"自動播放下一集","PLAY_NOW":"現在播放","MARK_AS_WATCHED":"標記為已觀看","MARK_AS_UNWATCHED":"標記為未觀看","REWIND_TO_BEGINNING":"倒回開始","CONTINUE_WATCHING":"繼續觀看","ALL":"全部","SECONDS":"秒","ON":"開","OFF":"關","RELOAD":"重新載入","EDIT_URL":"編輯URL","URL":"URL","NONE":"無","EMBEDDED":"內嵌","LOCAL":"Local","REMOTE_SWITCH_DEVICES":"開關裝置","REMOTE_VIDEOS":"影片","REMOTE_ADJUST_TIMING":"調整時間","REMOTE_ADJUST_SIZE":"調整大小","REMOTE_COULD_NOT_BE_LOADED":"無法載入Web Remote","REMOTE_RETRY":"重試","TORRENT_PROFILE_DEFAULT":"預設","TORRENT_PROFILE_SOFT":"慢","TORRENT_PROFILE_FAST":"快","TORRENT_PROFILE_ULTRA_FAST":"超快","MB_S":"MB/s","FAQ_001_H1":"什麼是Stremio?","FAQ_001_P1":"Stremio是專為影片娛樂而設計的多媒體中心軟體,易於使用。Stremio允許您管理和觀看自己的電影,劇集,頻道和實況電視收藏。","FAQ_001_P2":"Stremio從本地磁碟和外掛系統中收集顯示給您的內容。","FAQ_001_P3":"它還會在您感興趣的新劇集/影片/電影播出時通知您,併為您提供電影推薦。","FAQ_02_H1":"Stremio與Kodi和Plex相比如何?","FAQ_02_P1":"我們受到這兩種軟體的啟發。但是我們有不同的目標——Stremio專門針對娛樂影片,並透過易於使用成為其主流解決方案。","FAQ_02_P2":"Stremio將永遠不會像Kodi和Plex那樣具有可定製性和豐富的功能,但它更易於使用。只需${1}就可以獲取它,並檢視${2}:)","FAQ_03_H1":"Stremio與Netflix相比如何?","FAQ_03_P1":"同樣,Netflix是我們的靈感之一。我們努力實現Netflix的使用者體驗,再加上許多附加的好處。但最重要的是,我們讓您可以自由管理自己的庫,並使用我們的外掛系統新增新的內容源。","FAQ_03_P2":"這使得Stremio可以無限擴充套件,因此當您使用Stremio時,您永遠不會侷限於Netflix決定許可的內容。例如,您可以透過Stremio觀看${1}中的內容電影電視${2}, ${3} Twitch.tv${4},${5}YouTube${6},${7}Vodo${8}甚至${9}Netflix${10}本身!","FAQ_04_H1":"Stremio與Flipboard相比如何?","FAQ_04_P1":"我們不常聽到這個問題,除非與初創企業的人交談:)","FAQ_04_P2":"Stremio是透過設計一個內容聚合器來實現的,它本質上就是影片的Flipboard。這一點在我們的首頁部分非常明顯,它為您提供目錄和新的插曲/新的影片通知,讓您瞭解您所關注的內容,就像Flipboard一樣。","FAQ_05_H1":"Stremio與Popcorn Time相比如何?","FAQ_05_P1":"Stremio和Popcorn Time在使用者介面上很相似,因為沒有很多方法可以正確製作影片娛樂目錄:)","FAQ_05_P2":"Popcorn Time主要集中在特定來源的流媒體上,但Stremio是不受限制的,只是一個內容聚合器,它沒有鎖定到特定的內容源。","FAQ_05_P3":"此外,我們預設不提供任何Torrent外掛,因此Stremio不提供官方功能的Popcorn Time用例。","FAQ_05_P4":"另一個顯著的區別是Popcorn Time是完全開源的,而Stremio是${1}部分開源的${2}。","FAQ_06_H1":"是否要新增此電影/系列?","FAQ_06_P1":"不,對不起 :(","FAQ_06_P2":"正如大多數其他問題中提到的,Stremio本身不提供任何內容,所有內容都是透過外掛系統新增的。如果您有內容請求,您可以使用播放器中的“報告”按鈕,它將向您當前使用的外掛的作者傳送電子郵件。","FAQ_07_H1":"","FAQ_07_P1":"","FAQ_07_P2":"","FAQ_08_H1":"能否為X建立外掛?","FAQ_08_P1":"完全有可能。","FAQ_08_P2":"如果您有一個外掛的想法,請在${1}office@stremio.com${2}給我們留言,但請確保您的外掛想法不會侵犯任何版權或使用條款。","FAQ_08_P3":"目前,我們路線圖上的下一件事是FandangoNOW,Filmon.tv video on demand和Crunchyroll的外掛。","FAQ_09_H1":"Stremio是否使用BitTorrent?","FAQ_09_P1":"是的,Stremio支援BitTorrent作為流媒體協議。您可以將其與Torrent外掛一起使用,也可以將.Torrent檔案拖放到Stremio中,或者將磁鐵連結貼上到搜尋欄中。","FAQ_09_P2":"請注意,使用BitTorrent的唯一官方外掛是${1}Vodo${2},它提供獨立內容,所有內容都允許與BitTorrent一起分發。","FAQ_09_P3":"我們不支援使用任何可能導致版權侵權的第三方外掛。","FAQ_10_H1":"我可以在Stremio中透過官方外掛觀看什麼節目?","FAQ_10_P1":"預設情況下,您可以在Stremio與它的嵌入式播放器觀看Filmon.tv,YouTube和Vodo的內容。另外,我們還有一個Twitch.tv外掛,以及其他一些外掛。","FAQ_10_P2":"此組合提供以下選項:","FAQ_10_L1":"Filmon.tv上的熱門電影片道,例如E4、BBC、Bollyworld TV","FAQ_10_L2":"YouTube上的所有內容,例如BBC News、Top Gear、Vevo、PewDiePie","FAQ_10_L3":"Vodo上的獨立電影","FAQ_10_L4":"Twitch.tv上的線上遊戲廣播","FAQ_10_P3":"此外,Guidebox和Netflix外掛提供了許多內容源,它們不完全在Stremio中播放,而是重定向到給定的服務。例如,Guidebox外掛將為您提供可在美國免費播放的精選電影,這些電影來自TubiTV和Crackle等服務。","FAQ_11_H1":"Stremio無法安裝,我該怎麼辦?","FAQ_11_P1":"如果您在Windows上,請嘗試${1}此替代安裝程式${2}。","FAQ_11_P2":"如果您使用的是Mac OS X,請注意,我們不支援任何比OS X Mavericks(10.9)更舊的版本。","FAQ_11_P3":"如果您使用的是Linux,請注意,我們目前只支援64位(x64)Linux。","FAQ_11_P4":"如果您仍然無法解決您的問題,請寫信給我們的${1}Facebook群組${2}。","FAQ_12_H1":"為什麼我的防毒軟體會報毒?Stremio安全嗎?","FAQ_12_P1":"我們向您保證Stremio是${1}100%安全的${2}。","FAQ_12_P2":"您的防毒軟體報毒是因為我們的安裝程式中包含廣告,一些防毒軟體將其識別為廣告軟體。","FAQ_12_P3":"如果您仍然不確定,可以嘗試我們的${1}替代安裝程式${2}。","FAQ_13_H1":"如何製作外掛?","FAQ_13_P1":"對於初學者,我們建議您檢視GitHub上的${1}外掛系統模組${2}。","FAQ_13_P2":"之後,您可以按照${1}Hello World教程${2}進行操作。","FAQ_13_P3":"如果您沒有任何程式設計技能,請在${1}Reddit社群${2}上釋出您的想法,並在${3}office@stremio.com${4}上與我們聯絡您的外掛想法。","FAQ_14_H1":"外掛是如何釋出的?","FAQ_14_P1":"當您建立一個外掛和主機,並在清單中放置一個指向工作外掛地址的<b>終端節點</b>欄位時,該外掛將自動釋出到我們的${1}外掛目錄${2}。","FAQ_14_P2":"發生這種情況是因為Stremio外掛模組的伺服器部分會自動呼叫我們的API來宣告外掛。當我們的API驗證您的<b>終端節點</b>為有效的外掛時,它將開始顯示在目錄中。","FAQ_15_H1":"我可以在瀏覽器中執行Stremio嗎?","FAQ_15_P1":"目前還沒有,但即將到來!","FAQ_15_P2":"如果您想看到Alpha版本,可以在這裡看到:${1}alpha4.strem.io${2}. 請記住,此Alpha版本上已禁用流式處理。我們支援Chrome、Firefox、Opera和Edge","FAQ_16_H1":"電視投屏不起作用/字幕不起作用","FAQ_16_P1":"電視投屏使用DLNA技術,這在不同的電視品牌和型號之間非常不一致。由於這個原因,我們沒有能力在每種情況下都測試它,所以它還遠遠不夠完美。儘管如此,我們仍在不斷改進,但我們無法為您提供DLNA能夠在您的電視上開始正常工作的預計時間。","FAQ_16_P2":"如果您在“投屏”選單中看不到您的電視,請嘗試禁用網路連線並重新啟用它(在Windows上,右鍵單擊網路並使用“啟用/禁用”),以及重新啟動路由器、電視和PC。","FAQ_16_P3":"如果您仍然遇到問題,您可以透過將您的電視品牌和型號資訊傳送到${1}來幫助我們”office@stremio.com${2}。","FAQ_16_P4":"同時,我們推薦Chromecast,我們非常支援Chromecast,或者直接用HDMI線將電視與PC連線。","FAQ_17_H1":"Stremio卡死和/或崩潰,我能做什麼?","FAQ_17_P1":"首先,如果您使用的是帶有AVG防毒軟體的Windows 7,這種組合會產生問題。問題出在AVG本身,我們這邊沒有合理的辦法解決。不幸的是,去除或禁用防毒軟體將不起作用。唯一的解決辦法是用別的東西代替AVG","FAQ_17_P2":"如果不是這個問題,但您仍在使用Windows,請更新到最新的service pack並更新/重新安裝您的GPU驅動程式,然後重試。","FAQ_17_P3":"如果您的問題仍未解決,或者您使用的是Mac或Linux,請寫信給我們,在${1}我們的Facebook群組${2}報告問題的確切細節。","FAQ_18_H1":"如何製作外掛?","FAQ_18_P1":"對於初學者,我們建議您檢視GitHub上的${1}外掛系統模組${2}。","FAQ_18_P2":"之後,您可以按照${1}Hello World教程${2}進行操作。","FAQ_18_P3":"如果您沒有任何程式設計技能,請在${1}Reddit社群${2}上釋出您的想法,並在${3}上與我們聯絡您的外掛想法。”office@stremio.com${4}。","FAQ_19_H1":"為什麼Stremio佔用磁碟空間?","FAQ_19_P1":"Stremio有一個<b>本地快取</b>來臨時儲存您流式傳輸的影片檔案。","FAQ_19_P2":"這有兩個好處:第一,它允許Stremio預先緩衝影片,以確保流媒體更流暢。其次,它將影片儲存在本地快取中,以便您可以繼續離線觀看。","FAQ_19_P3":"Stremio保留了多少取決於“設定”面板中的<b>快取設定。Stremio可能會在您的磁碟上保留到設定的數量(例如2GB),除非當前流式傳輸的影片大於該數量,在這種情況下,必須分配足夠的儲存來保留它,直到您結束流式傳輸。","FAQ_20_H1":"快取資料夾在哪裡?","FAQ_20_P1":"在Windows上,Stremio快取位於您在設定中選擇的驅動器中(例如\\"E:\\\\stremio-cache\\")","FAQ_20_P2":"在MacOS上,它位於\\"~/Library/Application Support/Stremio/stremio-cache\\"","FAQ_20_P3":"在Linux上,它位於\\"~/.stremio/stremio-cache\\"或\\"~/stremio-cache\\"","FAQ_21_H1":"我得到\\"流媒體伺服器未找到\\"錯誤,我能做什麼?","FAQ_21_P1":"如果出現此錯誤,則表示以下幾點之一:","FAQ_21_P2":"1)您正試圖透過我們的${1}web版本${2}使用一個由YouTube/BitTorrent原始碼支援的外掛。在這種情況下,您應該從${3}我們的網站${4}安裝我們的桌面版本","FAQ_21_P3":"2)Stremio安裝有問題。在這種情況下,請嘗試從${1}網站${2}重新安裝我們的最新桌面版本。如果這沒有幫助,請嘗試禁用防毒軟體和防火牆,重新啟動電腦,然後重試。如果這依然不起作用,請寫信給我們的${3}Facebook群組${4}","FAQ_22_H1":"我無法在iOS上看到/使用大多數外掛","FAQ_22_P1":"由於Apple App Store條款和條件中的限制,我們限制iOS應用程式只能使用一組特定的外掛。","FAQ_22_P2":"不過,請放心,將來會有更多的iOS外掛,我們還可能新增一個整合,透過將iOS應用程式連線到Stremio流媒體伺服器,您將可以使用所有Stremio外掛。"}')},96859:e=>{"use strict";e.exports=JSON.parse('[{"name":"العربية","codes":["ar-AR","ara"]},{"name":"български език","codes":["bg-BG","bul"]},{"name":"বাংলা","codes":["bn-Bd","ben"]},{"name":"català","codes":["ca-CA","cat"]},{"name":"čeština","codes":["cs-CZ","ces"]},{"name":"dansk","codes":["da-DK","dan"]},{"name":"Deutsch","codes":["de-DE","deu"]},{"name":"ελληνικά","codes":["el-GR","ell"]},{"name":"English","codes":["en-US","eng"]},{"name":"Esperanto","codes":["eo-EO","epo"]},{"name":"español","codes":["es-ES","spa"]},{"name":"euskara","codes":["eu-ES","eus"]},{"name":"فارسی","codes":["fa-IR","fas"]},{"name":"Français","codes":["fr-FR","fre"]},{"name":"עברית","codes":["he-IL","heb"]},{"name":"हिन्दी","codes":["hi-IN","hin"]},{"name":"hrvatski jezik","codes":["hr-HR","hrv"]},{"name":"magyar","codes":["hu-HU","hun"]},{"name":"Bahasa Indonesia","codes":["id-ID","ind"]},{"name":"italiano","codes":["it-IT","ita"]},{"name":"日本語 (にほんご)","codes":["ja-JP","jpn"]},{"name":"한국어","codes":["ko-KR","kor"]},{"name":"македонски јазик","codes":["mk-MK","mkd"]},{"name":"ဗမာစာ","codes":["my-BM","mya"]},{"name":"Norsk bokmål","codes":["nb-NO","nob"]},{"name":"Nederlands","codes":["nl-NL","nld"]},{"name":"Norsk nynorsk","codes":["nn-NO","nno"]},{"name":"język polski","codes":["pl-PL","pol"]},{"name":"português Brazil","codes":["pt-BR","por"]},{"name":"português","codes":["pt-PT","por"]},{"name":"русский язык","codes":["ru-RU","rus"]},{"name":"Svenska","codes":["sv-SE","swe"]},{"name":"slovenski jezik","codes":["sl-SL","slv"]},{"name":"српски језик","codes":["sr-RS","srp"]},{"name":"తెలుగు","codes":["te-IN","tel"]},{"name":"Türkçe","codes":["tr-TR","tur"]},{"name":"українська мова","codes":["uk-UA","ukr"]},{"name":"Tiếng Việt","codes":["vi-VN","vie"]},{"name":"中文(中华人民共和国)","codes":["zh-CN","zho"]},{"name":"中文(香港特别行政區)","codes":["zh-HK","zho"]},{"name":"中文(台灣)","codes":["zh-TW","zho"]}]')},293:e=>{"use strict";e.exports=JSON.parse('{"abk":"аҧсуа бызшәа","aar":"Afaraf","afr":"Afrikaans","aka":"Akan","sqi":"gjuha shqipe","amh":"አማርኛ","ara":"العربية","arg":"aragonés","hye":"Հայերեն","asm":"অসমীয়া","ava":"авар мацӀ","ave":"avesta","aym":"aymar aru","aze":"azərbaycan dili","bam":"bamanankan","bak":"башҡорт теле","eus":"euskara","bel":"беларуская мова","ben":"বাংলা","bih":"भोजपुरी","bis":"Bislama","bos":"bosanski jezik","bre":"brezhoneg","bul":"български език","mya":"ဗမာစာ","cat":"català","cha":"Chamoru","che":"нохчийн мотт","nya":"chiCheŵa","zho":"中文 (Zhōngwén)","chv":"чӑваш чӗлхи","cor":"Kernewek","cos":"corsu","cre":"ᓀᐦᐃᔭᐍᐏᐣ","hrv":"hrvatski jezik","ces":"čeština","dan":"dansk","div":"ދިވެހި","nld":"Nederlands","dzo":"རྫོང་ཁ","eng":"English","epo":"Esperanto","est":"eesti","ewe":"Eʋegbe","fao":"føroyskt","fij":"vosa Vakaviti","fin":"suomi","fre":"français","ful":"Fulfulde","glg":"galego","kat":"ქართული","ger":"Deutsch","ell":"ελληνικά","grn":"Avañe\'ẽ","guj":"ગુજરાતી","hat":"Kreyòl ayisyen","hau":"Hausa","heb":"עברית","her":"Otjiherero","hin":"हिन्दी","hmo":"Hiri Motu","hun":"magyar","ina":"Interlingua","ind":"Bahasa Indonesia","ile":"Interlingue","gle":"Gaeilge","ibo":"Asụsụ Igbo","ipk":"Iñupiaq","ido":"Ido","isl":"Íslenska","ita":"italiano","iku":"ᐃᓄᒃᑎᑐᑦ","jpn":"日本語 (にほんご)","jav":"basa Jawa","kal":"kalaallisut","kan":"ಕನ್ನಡ","kau":"Kanuri","kas":"कश्मीरी","kaz":"қазақ тілі","khm":"ខ្មែរ","kik":"Gĩkũyũ","kin":"Ikinyarwanda","kir":"Кыргызча","kom":"коми кыв","kon":"KiKongo","kor":"한국어 (韓國語)","kur":"Kurdî","kua":"Kuanyama","lat":"latine","ltz":"Lëtzebuergesch","lug":"Luganda","lim":"Limburgs","lin":"Lingála","lao":"ພາສາລາວ","lit":"lietuvių kalba","lub":"Tshiluba","lav":"latviešu valoda","glv":"Gaelg","mkd":"македонски јазик","mlg":"fiteny malagasy","msa":"bahasa Melayu","mal":"മലയാളം","mlt":"Malti","mri":"te reo Māori","mar":"मराठी","mah":"Kajin M̧ajeļ","mon":"монгол","nau":"Ekakairũ Naoero","nav":"Diné bizaad","nob":"Norsk bokmål","nde":"isiNdebele","nep":"नेपाली","ndo":"Owambo","nno":"Norsk nynorsk","nor":"Norsk","iii":"ꆈꌠ꒿ Nuosuhxop","nbl":"isiNdebele","oci":"occitan","oji":"ᐊᓂᔑᓈᐯᒧᐎᓐ","chu":"ѩзыкъ словѣньскъ","orm":"Afaan Oromoo","ori":"ଓଡ଼ିଆ","oss":"ирон æвзаг","pan":"ਪੰਜਾਬੀ","pli":"पाऴि","fas":"فارسی","pol":"język polski","pus":"پښتو","por":"português","pob":"português Brazil","que":"Runa Simi","roh":"rumantsch grischun","run":"Ikirundi","ron":"limba română","rus":"русский язык","san":"संस्कृतम्","srd":"sardu","snd":"सिन्धी","sme":"Davvisámegiella","smo":"gagana fa\'a Samoa","sag":"yângâ tî sängö","srp":"српски језик","gla":"Gàidhlig","sna":"chiShona","sin":"සිංහල","slk":"slovenčina","slv":"slovenski jezik","som":"Soomaaliga","sot":"Sesotho","spa":"español","sun":"Basa Sunda","swa":"Kiswahili","ssw":"SiSwati","swe":"Svenska","tam":"தமிழ்","tel":"తెలుగు","tgk":"тоҷикӣ","tha":"ไทย","tir":"ትግርኛ","bod":"བོད་ཡིག","tuk":"Türkmen","tgl":"Wikang Tagalog","tsn":"Setswana","ton":"faka Tonga","tur":"Türkçe","tso":"Xitsonga","tat":"татар теле","twi":"Twi","tah":"Reo Tahiti","uig":"Uyƣurqə","ukr":"українська мова","urd":"اردو","uzb":"O\'zbek","ven":"Tshivenḓa","vie":"Tiếng Việt","vol":"Volapük","wln":"walon","cym":"Cymraeg","wol":"Wollof","fry":"Frysk","xho":"isiXhosa","yid":"ייִדיש","yor":"Yorùbá","zha":"Saɯ cueŋƅ","zul":"isiZulu"}')}},i={};function o(e){var t=i[e];if(void 0!==t)return t.exports;var n=i[e]={id:e,loaded:!1,exports:{}};return a[e].call(n.exports,n,n.exports,o),n.loaded=!0,n.exports}function n(e,t){return(function(e){if(Array.isArray(e))return e})(e)||(function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var i,o,n,r,E=[],_=!0,T=!1;try{if(n=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;_=!1}else for(;!(_=(i=n.call(a)).done)&&(E.push(i.value),E.length!==t);_=!0);}catch(e){T=!0,o=e}finally{try{if(!_&&null!=a.return&&(r=a.return(),Object(r)!==r))return}finally{if(T)throw o}}return E}})(e,t)||(function(e,t){if(e){if("string"==typeof e)return r(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?r(e,t):void 0}})(e,t)||(function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var a in t)o.o(t,a)&&!o.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},o.g=(function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}})(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;o.g.importScripts&&(e=o.g.location+"");var t=o.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var a=t.getElementsByTagName("script");if(a.length)for(var i=a.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=a[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e+"../../"})();var E,_=o(9856).parse((null===(e=window.navigator)||void 0===e?void 0:e.userAgent)||"");"desktop"===(null==_||null===(t=_.platform)||void 0===t?void 0:t.type)&&(null===(E=document.querySelector('meta[name="viewport"]'))||void 0===E||E.setAttribute("content",""));var T=o(30758),s=o(99576),S=o(68305),l=o(50266).initReactI18next,I=o(60257),A=o(20074),u=Object.fromEntries(Object.entries(I()).map(function(e){var t=n(e,2);return[t[0],{translation:t[1]}]}));S.use(l).init({resources:u,lng:"en-US",fallbackLng:"en-US",interpolation:{escapeValue:!1}}),s.createRoot(document.getElementById("app")).render(T.createElement(A,null)),"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("service-worker.js").catch(function(e){console.error("SW registration failed: ",e)})})})(); +//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/main.js.map b/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/main.js.map new file mode 100644 index 000000000..cca111f03 --- /dev/null +++ b/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/main.js.map @@ -0,0 +1 @@ +{"version":3,"file":"4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/main.js","mappings":"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","sources":["webpack://stremio/./node_modules/.pnpm/@stremio+stremio-core-web@0.50.0/node_modules/@stremio/stremio-core-web/bridge.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/ChromecastSenderVideo/ChromecastSenderVideo.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/ChromecastSenderVideo/index.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/HTMLVideo/HTMLVideo.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/HTMLVideo/getContentType.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/HTMLVideo/hlsConfig.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/HTMLVideo/index.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/IFrameVideo/IFrameVideo.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/IFrameVideo/index.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/ShellVideo/ShellVideo.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/ShellVideo/index.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/StremioVideo/StremioVideo.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/StremioVideo/index.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/StremioVideo/selectVideoImplementation.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/TitanVideo/TitanVideo.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/TitanVideo/index.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/TizenVideo/AVPlay.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/TizenVideo/TizenVideo.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/TizenVideo/index.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/VidaaVideo/VidaaVideo.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/VidaaVideo/index.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/WebOsVideo/WebOsVideo.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/WebOsVideo/index.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/YouTubeVideo/YouTubeVideo.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/YouTubeVideo/index.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/error.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/index.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/mediaCapabilities.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/platform.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/supportsTranscoding.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/tracksData.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/withHTMLSubtitles/binarySearchUpperBound.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/withHTMLSubtitles/index.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/withHTMLSubtitles/subtitlesConverter.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/withHTMLSubtitles/subtitlesParser.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/withHTMLSubtitles/subtitlesRenderer.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/withHTMLSubtitles/withHTMLSubtitles.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/withStreamingServer/convertStream.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/withStreamingServer/createTorrent.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/withStreamingServer/fetchVideoParams.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/withStreamingServer/index.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/withStreamingServer/isPlayerLoaded.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/withStreamingServer/withStreamingServer.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/withVideoParams/index.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-video@0.0.62/node_modules/@stremio/stremio-video/src/withVideoParams/withVideoParams.js","webpack://stremio/./node_modules/.pnpm/a-color-picker@1.2.1/node_modules/a-color-picker/dist/acolorpicker.js","webpack://stremio/./node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js","webpack://stremio/./node_modules/.pnpm/bep53-range@1.1.1/node_modules/bep53-range/index.js","webpack://stremio/./node_modules/.pnpm/bowser@2.11.0/node_modules/bowser/es5.js","webpack://stremio/./node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js","webpack://stremio/./node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js","webpack://stremio/./node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js","webpack://stremio/./node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js","webpack://stremio/./node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js","webpack://stremio/./node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js","webpack://stremio/./node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js","webpack://stremio/./node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js","webpack://stremio/./node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js","webpack://stremio/./node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js","webpack://stremio/./node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js","webpack://stremio/./node_modules/.pnpm/color-string@1.9.1/node_modules/color-string/index.js","webpack://stremio/./node_modules/.pnpm/color@4.2.3/node_modules/color/index.js","webpack://stremio/./node_modules/.pnpm/deep-freeze@0.0.1/node_modules/deep-freeze/index.js","webpack://stremio/./node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js","webpack://stremio/./node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js","webpack://stremio/./node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js","webpack://stremio/./node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js","webpack://stremio/./node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js","webpack://stremio/./node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js","webpack://stremio/./node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js","webpack://stremio/./node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js","webpack://stremio/./node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js","webpack://stremio/./node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js","webpack://stremio/./node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js","webpack://stremio/./node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.js","webpack://stremio/./node_modules/.pnpm/filter-invalid-dom-props@3.0.1/node_modules/filter-invalid-dom-props/dist/index.js","webpack://stremio/./node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js","webpack://stremio/./node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js","webpack://stremio/./node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js","webpack://stremio/./node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js","webpack://stremio/./node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js","webpack://stremio/./node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js","webpack://stremio/./node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js","webpack://stremio/./node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js","webpack://stremio/./node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js","webpack://stremio/./node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js","webpack://stremio/./node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js","webpack://stremio/./node_modules/.pnpm/hat@0.0.3/node_modules/hat/index.js","webpack://stremio/./node_modules/.pnpm/hls.js@https+++github.com+Stremio+hls.js+releases+download+v1.5.4-patch2+hls.js-1.5.4-p_ad892d0a0a4c57920ee0408afb7d32b4/node_modules/hls.js/dist/hls.js","webpack://stremio/./node_modules/.pnpm/i18next@24.2.3_typescript@5.9.2/node_modules/i18next/dist/cjs/i18next.js","webpack://stremio/./node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js","webpack://stremio/./node_modules/.pnpm/is-arrayish@0.3.4/node_modules/is-arrayish/index.js","webpack://stremio/./node_modules/.pnpm/langs@https+++codeload.github.com+Stremio+nodejs-langs+tar.gz+24daad4e78c324fcc88d6673d_3e212d87ee0cd391da5714d0f8461b3f/node_modules/langs/data.js","webpack://stremio/./node_modules/.pnpm/langs@https+++codeload.github.com+Stremio+nodejs-langs+tar.gz+24daad4e78c324fcc88d6673d_3e212d87ee0cd391da5714d0f8461b3f/node_modules/langs/index.js","webpack://stremio/./node_modules/.pnpm/lodash.clonedeep@4.5.0/node_modules/lodash.clonedeep/index.js","webpack://stremio/./node_modules/.pnpm/lodash.debounce@4.0.8/node_modules/lodash.debounce/index.js","webpack://stremio/./node_modules/.pnpm/lodash.intersection@4.4.0/node_modules/lodash.intersection/index.js","webpack://stremio/./node_modules/.pnpm/lodash.isequal@4.5.0/node_modules/lodash.isequal/index.js","webpack://stremio/./node_modules/.pnpm/lodash.throttle@4.1.1/node_modules/lodash.throttle/index.js","webpack://stremio/./node_modules/.pnpm/magnet-uri@6.2.0/node_modules/magnet-uri/index.js","webpack://stremio/./node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js","webpack://stremio/./node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js","webpack://stremio/./node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js","webpack://stremio/./node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js","webpack://stremio/./node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js","webpack://stremio/./node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js","webpack://stremio/./node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js","webpack://stremio/./node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js","webpack://stremio/./src/App/ErrorDialog/styles.less?c3a4","webpack://stremio/./src/App/UpdaterBanner/UpdaterBanner.less?8542","webpack://stremio/./src/App/styles.less?41b6","webpack://stremio/./src/common/Toast/ToastItem/styles.less?6ed4","webpack://stremio/./src/common/Tooltips/Tooltip/styles.less?e986","webpack://stremio/./src/common/Tooltips/TooltipItem/styles.less?0ff8","webpack://stremio/./src/components/AddonDetailsModal/AddonDetails/styles.less?3fc6","webpack://stremio/./src/components/AddonDetailsModal/styles.less?df01","webpack://stremio/./src/components/BottomSheet/BottomSheet.less?73fb","webpack://stremio/./src/components/Button/Button.less?2a6b","webpack://stremio/./src/components/Checkbox/Checkbox.less?3690","webpack://stremio/./src/components/Chips/Chip/Chip.less?80e1","webpack://stremio/./src/components/Chips/Chips.less?3c0e","webpack://stremio/./src/components/ColorInput/ColorInput.less?4f6c","webpack://stremio/./src/components/ColorInput/ColorPicker/styles.less?ef1b","webpack://stremio/./src/components/ContextMenu/ContextMenu.less?46b4","webpack://stremio/./src/components/EventModal/styles.less?0f0f","webpack://stremio/./src/components/HorizontalScroll/HorizontalScroll.less?61d0","webpack://stremio/./src/components/MainNavBars/MainNavBars.less?77d1","webpack://stremio/./src/components/MetaItem/styles.less?fbcc","webpack://stremio/./src/components/MetaPreview/ActionButton/styles.less?2f30","webpack://stremio/./src/components/MetaPreview/MetaLinks/styles.less?3a75","webpack://stremio/./src/components/MetaPreview/MetaPreviewPlaceholder/styles.less?397d","webpack://stremio/./src/components/MetaPreview/Ratings/Ratings.less?3e10","webpack://stremio/./src/components/MetaPreview/styles.less?66eb","webpack://stremio/./src/components/MetaRow/MetaRowPlaceholder/styles.less?f600","webpack://stremio/./src/components/MetaRow/styles.less?7216","webpack://stremio/./src/components/ModalDialog/styles.less?ef77","webpack://stremio/./src/components/Multiselect/styles.less?c12f","webpack://stremio/./src/components/MultiselectMenu/Dropdown/Dropdown.less?e68a","webpack://stremio/./src/components/MultiselectMenu/Dropdown/Option/Option.less?e30c","webpack://stremio/./src/components/MultiselectMenu/MultiselectMenu.less?9988","webpack://stremio/./src/components/NavBar/HorizontalNavBar/NavMenu/styles.less?91c8","webpack://stremio/./src/components/NavBar/HorizontalNavBar/SearchBar/styles.less?a0b0","webpack://stremio/./src/components/NavBar/HorizontalNavBar/styles.less?c10d","webpack://stremio/./src/components/NavBar/VerticalNavBar/NavTabButton/styles.less?04ac","webpack://stremio/./src/components/NavBar/VerticalNavBar/styles.less?e66f","webpack://stremio/./src/components/NumberInput/NumberInput.less?7bed","webpack://stremio/./src/components/Popup/styles.less?1f30","webpack://stremio/./src/components/RadioButton/RadioButton.less?08e7","webpack://stremio/./src/components/SearchBar/SearchBarPlaceholder/styles.less?58a4","webpack://stremio/./src/components/SearchBar/styles.less?4563","webpack://stremio/./src/components/SharePrompt/styles.less?ad39","webpack://stremio/./src/components/Slider/styles.less?4fd3","webpack://stremio/./src/components/TextInput/styles.less?ccc5","webpack://stremio/./src/components/Toggle/Toggle.less?fed6","webpack://stremio/./src/components/Video/VideoPlaceholder/styles.less?34b2","webpack://stremio/./src/components/Video/styles.less?af9e","webpack://stremio/./src/routes/Addons/Addon/styles.less?f887","webpack://stremio/./src/routes/Addons/AddonPlaceholder/AddonPlaceholder.less?9376","webpack://stremio/./src/routes/Addons/styles.less?4340","webpack://stremio/./src/routes/Board/StreamingServerWarning/StreamingServerWarning.less?88cc","webpack://stremio/./src/routes/Board/styles.less?9554","webpack://stremio/./src/routes/Calendar/Calendar.less?4ea7","webpack://stremio/./src/routes/Calendar/Details/Details.less?5e9f","webpack://stremio/./src/routes/Calendar/List/Item/Item.less?448f","webpack://stremio/./src/routes/Calendar/List/List.less?084f","webpack://stremio/./src/routes/Calendar/Placeholder/Placeholder.less?1119","webpack://stremio/./src/routes/Calendar/Selector/Selector.less?dd74","webpack://stremio/./src/routes/Calendar/Table/Cell/Cell.less?6fb2","webpack://stremio/./src/routes/Calendar/Table/Table.less?a710","webpack://stremio/./src/routes/Discover/styles.less?33ec","webpack://stremio/./src/routes/Intro/PasswordResetModal/styles.less?e291","webpack://stremio/./src/routes/Intro/styles.less?ac0e","webpack://stremio/./src/routes/Library/Placeholder/Placeholder.less?b86c","webpack://stremio/./src/routes/Library/styles.less?8af0","webpack://stremio/./src/routes/MetaDetails/EpisodePicker/EpisodePicker.less?31c8","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/PlayIconCircleCentered/styles.less?6518","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/styles.less?9487","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/styles.less?f459","webpack://stremio/./src/routes/MetaDetails/StreamsList/styles.less?f885","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBarPlaceholder/styles.less?0e0c","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/styles.less?e87c","webpack://stremio/./src/routes/MetaDetails/VideosList/styles.less?a30c","webpack://stremio/./src/routes/MetaDetails/styles.less?fc85","webpack://stremio/./src/routes/NotFound/styles.less?11ea","webpack://stremio/./src/routes/Player/AudioMenu/AudioMenu.less?61e4","webpack://stremio/./src/routes/Player/BufferingLoader/styles.less?dcd4","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/styles.less?5316","webpack://stremio/./src/routes/Player/ControlBar/VolumeSlider/styles.less?eac8","webpack://stremio/./src/routes/Player/ControlBar/styles.less?dfb1","webpack://stremio/./src/routes/Player/Error/styles.less?1421","webpack://stremio/./src/routes/Player/Indicator/Indicator.less?fbac","webpack://stremio/./src/routes/Player/NextVideoPopup/styles.less?a115","webpack://stremio/./src/routes/Player/OptionsMenu/Option/styles.less?c55e","webpack://stremio/./src/routes/Player/OptionsMenu/styles.less?0fe3","webpack://stremio/./src/routes/Player/SideDrawer/SideDrawer.less?1b34","webpack://stremio/./src/routes/Player/SideDrawerButton/SideDrawerButton.less?188c","webpack://stremio/./src/routes/Player/SpeedMenu/Option/styles.less?8fa5","webpack://stremio/./src/routes/Player/SpeedMenu/styles.less?184f","webpack://stremio/./src/routes/Player/StatisticsMenu/styles.less?91f9","webpack://stremio/./src/routes/Player/SubtitlesMenu/Stepper/Stepper.less?6b1f","webpack://stremio/./src/routes/Player/SubtitlesMenu/styles.less?5be4","webpack://stremio/./src/routes/Player/Video/styles.less?19b6","webpack://stremio/./src/routes/Player/VolumeChangeIndicator/styles.less?f96e","webpack://stremio/./src/routes/Player/styles.less?cfd7","webpack://stremio/./src/routes/Search/styles.less?dd8b","webpack://stremio/./src/routes/Settings/General/General.less?aa71","webpack://stremio/./src/routes/Settings/General/User/User.less?a1ee","webpack://stremio/./src/routes/Settings/Info/Info.less?e477","webpack://stremio/./src/routes/Settings/Menu/Menu.less?e2bc","webpack://stremio/./src/routes/Settings/Settings.less?661c","webpack://stremio/./src/routes/Settings/Shortcuts/Shortcuts.less?9d81","webpack://stremio/./src/routes/Settings/Streaming/Streaming.less?472d","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/AddItem/AddItem.less?2117","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/Item/Item.less?0c23","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/URLsManager.less?2ba4","webpack://stremio/./src/routes/Settings/components/Category/Category.less?f8a7","webpack://stremio/./src/routes/Settings/components/Link/Link.less?89df","webpack://stremio/./src/routes/Settings/components/Option/Option.less?6061","webpack://stremio/./src/routes/Settings/components/Section/Section.less?5bf4","webpack://stremio/./node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js","webpack://stremio/./node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithThrowingShims.js","webpack://stremio/./node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js","webpack://stremio/./node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://stremio/./node_modules/.pnpm/punycode@1.3.2/node_modules/punycode/punycode.js","webpack://stremio/./node_modules/.pnpm/punycode@1.4.1/node_modules/punycode/punycode.js","webpack://stremio/./node_modules/.pnpm/qs@6.14.0/node_modules/qs/lib/formats.js","webpack://stremio/./node_modules/.pnpm/qs@6.14.0/node_modules/qs/lib/index.js","webpack://stremio/./node_modules/.pnpm/qs@6.14.0/node_modules/qs/lib/parse.js","webpack://stremio/./node_modules/.pnpm/qs@6.14.0/node_modules/qs/lib/stringify.js","webpack://stremio/./node_modules/.pnpm/qs@6.14.0/node_modules/qs/lib/utils.js","webpack://stremio/./node_modules/.pnpm/querystring@0.2.0/node_modules/querystring/decode.js","webpack://stremio/./node_modules/.pnpm/querystring@0.2.0/node_modules/querystring/encode.js","webpack://stremio/./node_modules/.pnpm/querystring@0.2.0/node_modules/querystring/index.js","webpack://stremio/./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js","webpack://stremio/./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/client.js","webpack://stremio/./node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/index.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/constants.js","webpack://stremio/./node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@18.3.24_react@18.3.1/node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack://stremio/./node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@18.3.24_react@18.3.1/node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack://stremio/./node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@18.3.24_react@18.3.1/node_modules/use-callback-ref/dist/es2015/useRef.js","webpack://stremio/./node_modules/.pnpm/react-focus-lock@2.13.2_@types+react@18.3.24_react@18.3.1/node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack://stremio/./node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs","webpack://stremio/./node_modules/.pnpm/use-sidecar@1.1.3_@types+react@18.3.24_react@18.3.1/node_modules/use-sidecar/dist/es2015/medium.js","webpack://stremio/./node_modules/.pnpm/react-focus-lock@2.13.2_@types+react@18.3.24_react@18.3.1/node_modules/react-focus-lock/dist/es2015/medium.js","webpack://stremio/./node_modules/.pnpm/react-focus-lock@2.13.2_@types+react@18.3.24_react@18.3.1/node_modules/react-focus-lock/dist/es2015/scope.js","webpack://stremio/./node_modules/.pnpm/react-focus-lock@2.13.2_@types+react@18.3.24_react@18.3.1/node_modules/react-focus-lock/dist/es2015/Lock.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://stremio/./node_modules/.pnpm/react-clientside-effect@1.2.8_react@18.3.1/node_modules/react-clientside-effect/lib/index.es.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/array.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/is.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/getActiveElement.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/safe.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/focusInside.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/commands.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/correctFocus.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/solver.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/auto-focus.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/utils/parenting.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/focusSolver.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/moveFocusInside.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/return-focus.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/sibling.js","webpack://stremio/./node_modules/.pnpm/react-focus-lock@2.13.2_@types+react@18.3.24_react@18.3.1/node_modules/react-focus-lock/dist/es2015/util.js","webpack://stremio/./node_modules/.pnpm/react-focus-lock@2.13.2_@types+react@18.3.24_react@18.3.1/node_modules/react-focus-lock/dist/es2015/Trap.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack://stremio/./node_modules/.pnpm/focus-lock@1.3.6/node_modules/focus-lock/dist/es2015/focusables.js","webpack://stremio/./node_modules/.pnpm/react-focus-lock@2.13.2_@types+react@18.3.24_react@18.3.1/node_modules/react-focus-lock/dist/es2015/Combination.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://stremio/./node_modules/.pnpm/react-focus-lock@2.13.2_@types+react@18.3.24_react@18.3.1/node_modules/react-focus-lock/dist/es2015/index.js","webpack://stremio/./node_modules/.pnpm/react-is@18.3.1/node_modules/react-is/cjs/react-is.production.min.js","webpack://stremio/./node_modules/.pnpm/react-is@18.3.1/node_modules/react-is/index.js","webpack://stremio/./node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js","webpack://stremio/./node_modules/.pnpm/react@18.3.1/node_modules/react/index.js","webpack://stremio/./node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js","webpack://stremio/./node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/index.js","webpack://stremio/./node_modules/.pnpm/side-channel-list@1.0.0/node_modules/side-channel-list/index.js","webpack://stremio/./node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js","webpack://stremio/./node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js","webpack://stremio/./node_modules/.pnpm/side-channel@1.1.0/node_modules/side-channel/index.js","webpack://stremio/./node_modules/.pnpm/simple-swizzle@0.2.4/node_modules/simple-swizzle/index.js","webpack://stremio/./node_modules/.pnpm/spatial-navigation-polyfill@https+++codeload.github.com+Stremio+spatial-navigation+tar._2ad1fbf839905378110c8ffc8063031f/node_modules/spatial-navigation-polyfill/polyfill/spatial-navigation-polyfill.js","webpack://stremio/./node_modules/.pnpm/stremio-translations@https+++codeload.github.com+Stremio+stremio-translations+tar.gz+ab_95f011574caeed1611dc328062f8fded/node_modules/stremio-translations/index.js","webpack://stremio/./node_modules/.pnpm/thirty-two@1.0.2/node_modules/thirty-two/lib/thirty-two/index.js","webpack://stremio/./node_modules/.pnpm/thirty-two@1.0.2/node_modules/thirty-two/lib/thirty-two/thirty-two.js","webpack://stremio/./src/App/App.js","webpack://stremio/./src/App/DeepLinkHandler.js","webpack://stremio/./src/App/ErrorDialog/ErrorDialog.js","webpack://stremio/./src/App/ErrorDialog/index.js","webpack://stremio/./src/App/SearchParamsHandler.js","webpack://stremio/./src/App/ServicesToaster.js","webpack://stremio/./src/App/index.js","webpack://stremio/./src/App/routerViewsConfig.js","webpack://stremio/./src/App/withProtectedRoutes.js","webpack://stremio/./src/common/CONSTANTS.js","webpack://stremio/./src/common/CoreSuspender.js","webpack://stremio/./src/common/Toast/ToastContext.js","webpack://stremio/./src/common/Toast/ToastItem/ToastItem.js","webpack://stremio/./src/common/Toast/ToastItem/index.js","webpack://stremio/./src/common/Toast/ToastProvider.js","webpack://stremio/./src/common/Toast/index.js","webpack://stremio/./src/common/Toast/useToast.js","webpack://stremio/./src/common/Tooltips/Tooltip/Tooltip.js","webpack://stremio/./src/common/Tooltips/Tooltip/index.js","webpack://stremio/./src/common/Tooltips/TooltipContext.js","webpack://stremio/./src/common/Tooltips/TooltipItem/TooltipItem.js","webpack://stremio/./src/common/Tooltips/TooltipItem/index.js","webpack://stremio/./src/common/Tooltips/TooltipProvider.js","webpack://stremio/./src/common/Tooltips/index.js","webpack://stremio/./src/common/Tooltips/useTooltip.js","webpack://stremio/./src/common/comparatorWithPriorities.js","webpack://stremio/./src/common/getVisibleChildrenRange.js","webpack://stremio/./src/common/index.js","webpack://stremio/./src/common/routesRegexp.js","webpack://stremio/./src/common/useAnimationFrame.js","webpack://stremio/./src/common/useBinaryState.js","webpack://stremio/./src/common/useLiveRef.js","webpack://stremio/./src/common/useModelState.js","webpack://stremio/./src/common/useNotifications.js","webpack://stremio/./src/common/useOnScrollToBottom.js","webpack://stremio/./src/common/usePWA.js","webpack://stremio/./src/common/useProfile.js","webpack://stremio/./src/common/useStreamingServer.js","webpack://stremio/./src/common/useTorrent.js","webpack://stremio/./src/common/useTranslate.js","webpack://stremio/./src/components/AddonDetailsModal/AddonDetails/AddonDetails.js","webpack://stremio/./src/components/AddonDetailsModal/AddonDetails/index.js","webpack://stremio/./src/components/AddonDetailsModal/AddonDetailsModal.js","webpack://stremio/./src/components/AddonDetailsModal/index.js","webpack://stremio/./src/components/AddonDetailsModal/useAddonDetails.js","webpack://stremio/./src/components/ColorInput/ColorPicker/ColorPicker.js","webpack://stremio/./src/components/ColorInput/ColorPicker/index.js","webpack://stremio/./src/components/ContinueWatchingItem/ContinueWatchingItem.js","webpack://stremio/./src/components/ContinueWatchingItem/index.js","webpack://stremio/./src/components/DelayedRenderer/DelayedRenderer.js","webpack://stremio/./src/components/DelayedRenderer/index.js","webpack://stremio/./src/components/EventModal/EventModal.js","webpack://stremio/./src/components/EventModal/index.js","webpack://stremio/./src/components/EventModal/useEvents.js","webpack://stremio/./src/components/LibItem/LibItem.js","webpack://stremio/./src/components/LibItem/index.js","webpack://stremio/./src/components/MetaItem/MetaItem.js","webpack://stremio/./src/components/MetaItem/index.js","webpack://stremio/./src/components/MetaPreview/ActionButton/ActionButton.js","webpack://stremio/./src/components/MetaPreview/ActionButton/index.js","webpack://stremio/./src/components/MetaPreview/MetaLinks/MetaLinks.js","webpack://stremio/./src/components/MetaPreview/MetaLinks/index.js","webpack://stremio/./src/components/MetaPreview/MetaPreview.js","webpack://stremio/./src/components/MetaPreview/MetaPreviewPlaceholder/MetaPreviewPlaceholder.js","webpack://stremio/./src/components/MetaPreview/MetaPreviewPlaceholder/index.js","webpack://stremio/./src/components/MetaPreview/index.js","webpack://stremio/./src/components/MetaRow/MetaRow.js","webpack://stremio/./src/components/MetaRow/MetaRowPlaceholder/MetaRowPlaceholder.js","webpack://stremio/./src/components/MetaRow/MetaRowPlaceholder/index.js","webpack://stremio/./src/components/MetaRow/index.js","webpack://stremio/./src/components/ModalDialog/ModalDialog.js","webpack://stremio/./src/components/ModalDialog/index.js","webpack://stremio/./src/components/Multiselect/Multiselect.js","webpack://stremio/./src/components/Multiselect/index.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/HorizontalNavBar.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/NavMenu/NavMenu.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/NavMenu/NavMenuContent.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/NavMenu/index.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/SearchBar/SearchBar.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/SearchBar/index.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/SearchBar/useLocalSearch.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/SearchBar/useSearchHistory.js","webpack://stremio/./src/components/NavBar/HorizontalNavBar/index.js","webpack://stremio/./src/components/NavBar/VerticalNavBar/NavTabButton/NavTabButton.js","webpack://stremio/./src/components/NavBar/VerticalNavBar/NavTabButton/index.js","webpack://stremio/./src/components/NavBar/VerticalNavBar/VerticalNavBar.js","webpack://stremio/./src/components/NavBar/VerticalNavBar/index.js","webpack://stremio/./src/components/NavBar/index.js","webpack://stremio/./src/components/Popup/Popup.js","webpack://stremio/./src/components/Popup/index.js","webpack://stremio/./src/components/SearchBar/SearchBar.js","webpack://stremio/./src/components/SearchBar/SearchBarPlaceholder/SearchBarPlaceholder.js","webpack://stremio/./src/components/SearchBar/SearchBarPlaceholder/index.js","webpack://stremio/./src/components/SearchBar/index.js","webpack://stremio/./src/components/SharePrompt/SharePrompt.js","webpack://stremio/./src/components/SharePrompt/index.js","webpack://stremio/./src/components/Slider/Slider.js","webpack://stremio/./src/components/Slider/index.js","webpack://stremio/./src/components/Video/Video.js","webpack://stremio/./src/components/Video/VideoPlaceholder/VideoPlaceholder.js","webpack://stremio/./src/components/Video/VideoPlaceholder/index.js","webpack://stremio/./src/components/Video/index.js","webpack://stremio/./src/router/Modal/Modal.js","webpack://stremio/./src/router/Modal/index.js","webpack://stremio/./src/router/ModalsContainerContext/ModalsContainerContext.js","webpack://stremio/./src/router/ModalsContainerContext/ModalsContainerProvider.js","webpack://stremio/./src/router/ModalsContainerContext/index.js","webpack://stremio/./src/router/ModalsContainerContext/useModalsContainer.js","webpack://stremio/./src/router/Route/Route.js","webpack://stremio/./src/router/Route/index.js","webpack://stremio/./src/router/RouteFocusedContext/RouteFocusedContext.js","webpack://stremio/./src/router/RouteFocusedContext/index.js","webpack://stremio/./src/router/RouteFocusedContext/useRouteFocused.js","webpack://stremio/./src/router/Router/Router.js","webpack://stremio/./src/router/Router/index.js","webpack://stremio/./src/router/Router/routeConfigForPath.js","webpack://stremio/./src/router/Router/urlParamsForPath.js","webpack://stremio/./src/router/index.js","webpack://stremio/./src/routes/Addons/Addon/Addon.js","webpack://stremio/./src/routes/Addons/Addon/index.js","webpack://stremio/./src/routes/Addons/Addons.js","webpack://stremio/./src/routes/Addons/index.js","webpack://stremio/./src/routes/Addons/useAddonDetailsTransportUrl.js","webpack://stremio/./src/routes/Addons/useInstalledAddons.js","webpack://stremio/./src/routes/Addons/useRemoteAddons.js","webpack://stremio/./src/routes/Addons/useSelectableInputs.js","webpack://stremio/./src/routes/Board/Board.js","webpack://stremio/./src/routes/Board/index.js","webpack://stremio/./src/routes/Board/useBoard.js","webpack://stremio/./src/routes/Board/useContinueWatchingPreview.js","webpack://stremio/./src/routes/Discover/Discover.js","webpack://stremio/./src/routes/Discover/index.js","webpack://stremio/./src/routes/Discover/useDiscover.js","webpack://stremio/./src/routes/Discover/useSelectableInputs.js","webpack://stremio/./src/routes/Intro/CredentialsTextInput/CredentialsTextInput.js","webpack://stremio/./src/routes/Intro/CredentialsTextInput/index.js","webpack://stremio/./src/routes/Intro/Intro.js","webpack://stremio/./src/routes/Intro/PasswordResetModal/PasswordResetModal.js","webpack://stremio/./src/routes/Intro/PasswordResetModal/index.js","webpack://stremio/./src/routes/Intro/index.js","webpack://stremio/./src/routes/Library/Library.js","webpack://stremio/./src/routes/Library/index.js","webpack://stremio/./src/routes/Library/useLibrary.js","webpack://stremio/./src/routes/Library/useSelectableInputs.js","webpack://stremio/./src/routes/MetaDetails/MetaDetails.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/Stream.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/PlayIconCircleCentered/PlayIconCircleCentered.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/PlayIconCircleCentered/index.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/StreamPlaceholder.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/index.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/index.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/StreamsList.js","webpack://stremio/./src/routes/MetaDetails/StreamsList/index.js","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBar.js","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBarPlaceholder/SeasonsBarPlaceholder.js","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBarPlaceholder/index.js","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/index.js","webpack://stremio/./src/routes/MetaDetails/VideosList/VideosList.js","webpack://stremio/./src/routes/MetaDetails/VideosList/index.js","webpack://stremio/./src/routes/MetaDetails/index.js","webpack://stremio/./src/routes/MetaDetails/useMetaDetails.js","webpack://stremio/./src/routes/MetaDetails/useMetaExtensionTabs.js","webpack://stremio/./src/routes/MetaDetails/useSeason.js","webpack://stremio/./src/routes/NotFound/NotFound.js","webpack://stremio/./src/routes/NotFound/index.js","webpack://stremio/./src/routes/Player/BufferingLoader/BufferingLoader.js","webpack://stremio/./src/routes/Player/BufferingLoader/index.js","webpack://stremio/./src/routes/Player/ControlBar/ControlBar.js","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/SeekBar.js","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/formatTime.js","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/index.js","webpack://stremio/./src/routes/Player/ControlBar/VolumeSlider/VolumeSlider.js","webpack://stremio/./src/routes/Player/ControlBar/VolumeSlider/index.js","webpack://stremio/./src/routes/Player/ControlBar/index.js","webpack://stremio/./src/routes/Player/Error/Error.js","webpack://stremio/./src/routes/Player/Error/index.js","webpack://stremio/./src/routes/Player/NextVideoPopup/NextVideoPopup.js","webpack://stremio/./src/routes/Player/NextVideoPopup/index.js","webpack://stremio/./src/routes/Player/OptionsMenu/Option/Option.js","webpack://stremio/./src/routes/Player/OptionsMenu/Option/index.js","webpack://stremio/./src/routes/Player/OptionsMenu/OptionsMenu.js","webpack://stremio/./src/routes/Player/OptionsMenu/index.js","webpack://stremio/./src/routes/Player/Player.js","webpack://stremio/./src/routes/Player/SpeedMenu/Option/Option.js","webpack://stremio/./src/routes/Player/SpeedMenu/Option/index.js","webpack://stremio/./src/routes/Player/SpeedMenu/SpeedMenu.js","webpack://stremio/./src/routes/Player/SpeedMenu/index.js","webpack://stremio/./src/routes/Player/StatisticsMenu/StatisticsMenu.js","webpack://stremio/./src/routes/Player/StatisticsMenu/index.js","webpack://stremio/./src/routes/Player/SubtitlesMenu/SubtitlesMenu.js","webpack://stremio/./src/routes/Player/SubtitlesMenu/index.js","webpack://stremio/./src/routes/Player/Video/Video.js","webpack://stremio/./src/routes/Player/Video/index.js","webpack://stremio/./src/routes/Player/VolumeChangeIndicator/VolumeChangeIndicator.js","webpack://stremio/./src/routes/Player/VolumeChangeIndicator/index.js","webpack://stremio/./src/routes/Player/index.js","webpack://stremio/./src/routes/Player/usePlayer.js","webpack://stremio/./src/routes/Player/useStatistics.js","webpack://stremio/./src/routes/Player/useVideo.js","webpack://stremio/./src/routes/Search/Search.js","webpack://stremio/./src/routes/Search/index.js","webpack://stremio/./src/routes/Search/useSearch.js","webpack://stremio/./src/routes/Settings/General/useDataExport.js","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/useStreamingServerUrls.js","webpack://stremio/./src/routes/index.js","webpack://stremio/./src/services/Chromecast/Chromecast.js","webpack://stremio/./src/services/Chromecast/ChromecastTransport.js","webpack://stremio/./src/services/Chromecast/index.js","webpack://stremio/./src/services/Core/Core.js","webpack://stremio/./src/services/Core/CoreTransport.js","webpack://stremio/./src/services/Core/index.js","webpack://stremio/./src/services/DragAndDrop/DragAndDrop.js","webpack://stremio/./src/services/DragAndDrop/index.js","webpack://stremio/./src/services/KeyboardShortcuts/KeyboardShortcuts.js","webpack://stremio/./src/services/KeyboardShortcuts/index.js","webpack://stremio/./src/services/ServicesContext/ServicesContext.js","webpack://stremio/./src/services/ServicesContext/ServicesProvider.js","webpack://stremio/./src/services/ServicesContext/index.js","webpack://stremio/./src/services/ServicesContext/useServices.js","webpack://stremio/./src/services/Shell/Shell.js","webpack://stremio/./src/services/Shell/ShellTransport.js","webpack://stremio/./src/services/Shell/index.js","webpack://stremio/./src/services/index.js","webpack://stremio/./src/App/UpdaterBanner/UpdaterBanner.tsx","webpack://stremio/./src/App/UpdaterBanner/index.ts","webpack://stremio/./src/common/FileDrop/FileDrop.tsx","webpack://stremio/./src/common/FileDrop/index.ts","webpack://stremio/./src/common/FileDrop/onFileDrop.ts","webpack://stremio/./src/common/FileDrop/utils.ts","webpack://stremio/./src/common/Platform/Platform.tsx","webpack://stremio/./src/common/Platform/device.ts","webpack://stremio/./src/common/Platform/index.ts","webpack://stremio/./src/common/languages.ts","webpack://stremio/./src/common/useFullscreen.ts","webpack://stremio/./src/common/useInterval.ts","webpack://stremio/./src/common/useLanguageSorting.ts","webpack://stremio/./src/common/useOrientation.ts","webpack://stremio/./src/common/useOutsideClick.ts","webpack://stremio/./src/common/useSettings.ts","webpack://stremio/./src/common/useShell.ts","webpack://stremio/./src/common/useTimeout.ts","webpack://stremio/./src/components/BottomSheet/BottomSheet.tsx","webpack://stremio/./src/components/BottomSheet/index.ts","webpack://stremio/./src/components/Button/Button.tsx","webpack://stremio/./src/components/Button/index.ts","webpack://stremio/./src/components/Checkbox/Checkbox.tsx","webpack://stremio/./src/components/Checkbox/index.ts","webpack://stremio/./src/components/Chips/Chip/Chip.tsx","webpack://stremio/./src/components/Chips/Chip/index.ts","webpack://stremio/./src/components/Chips/Chips.tsx","webpack://stremio/./src/components/Chips/index.ts","webpack://stremio/./src/components/ColorInput/ColorInput.tsx","webpack://stremio/./src/components/ColorInput/index.ts","webpack://stremio/./src/components/ContextMenu/ContextMenu.tsx","webpack://stremio/./src/components/ContextMenu/index.ts","webpack://stremio/./src/components/HorizontalScroll/HorizontalScroll.tsx","webpack://stremio/./src/components/HorizontalScroll/index.ts","webpack://stremio/./src/components/Image/Image.tsx","webpack://stremio/./src/components/Image/index.ts","webpack://stremio/./src/components/MainNavBars/MainNavBars.tsx","webpack://stremio/./src/components/MainNavBars/index.ts","webpack://stremio/./src/components/MetaPreview/Ratings/Ratings.tsx","webpack://stremio/./src/components/MetaPreview/Ratings/index.ts","webpack://stremio/./src/components/MetaPreview/Ratings/useRating.ts","webpack://stremio/./src/components/MultiselectMenu/Dropdown/Dropdown.tsx","webpack://stremio/./src/components/MultiselectMenu/Dropdown/Option/Option.tsx","webpack://stremio/./src/components/MultiselectMenu/Dropdown/Option/index.ts","webpack://stremio/./src/components/MultiselectMenu/Dropdown/index.ts","webpack://stremio/./src/components/MultiselectMenu/MultiselectMenu.tsx","webpack://stremio/./src/components/MultiselectMenu/index.ts","webpack://stremio/./src/components/NumberInput/NumberInput.tsx","webpack://stremio/./src/components/NumberInput/index.ts","webpack://stremio/./src/components/RadioButton/RadioButton.tsx","webpack://stremio/./src/components/RadioButton/index.ts","webpack://stremio/./src/components/TextInput/TextInput.tsx","webpack://stremio/./src/components/TextInput/index.ts","webpack://stremio/./src/components/Toggle/Toggle.tsx","webpack://stremio/./src/components/Toggle/index.ts","webpack://stremio/./src/components/Transition/Transition.tsx","webpack://stremio/./src/components/Transition/index.ts","webpack://stremio/./src/components/index.ts","webpack://stremio/./src/routes/Addons/AddonPlaceholder/AddonPlaceholder.tsx","webpack://stremio/./src/routes/Addons/AddonPlaceholder/index.ts","webpack://stremio/./src/routes/Board/StreamingServerWarning/StreamingServerWarning.tsx","webpack://stremio/./src/routes/Board/StreamingServerWarning/index.ts","webpack://stremio/./src/routes/Calendar/Calendar.tsx","webpack://stremio/./src/routes/Calendar/Details/Details.tsx","webpack://stremio/./src/routes/Calendar/Details/index.ts","webpack://stremio/./src/routes/Calendar/List/Item/Item.tsx","webpack://stremio/./src/routes/Calendar/List/Item/ItemPlaceholder.tsx","webpack://stremio/./src/routes/Calendar/List/Item/index.ts","webpack://stremio/./src/routes/Calendar/List/List.tsx","webpack://stremio/./src/routes/Calendar/List/index.ts","webpack://stremio/./src/routes/Calendar/Placeholder/Placeholder.tsx","webpack://stremio/./src/routes/Calendar/Placeholder/index.ts","webpack://stremio/./src/routes/Calendar/Selector/Selector.tsx","webpack://stremio/./src/routes/Calendar/Selector/index.ts","webpack://stremio/./src/routes/Calendar/Table/Cell/Cell.tsx","webpack://stremio/./src/routes/Calendar/Table/Table.tsx","webpack://stremio/./src/routes/Calendar/Table/index.ts","webpack://stremio/./src/routes/Calendar/index.ts","webpack://stremio/./src/routes/Calendar/useCalendar.ts","webpack://stremio/./src/routes/Calendar/useCalendarDate.ts","webpack://stremio/./src/routes/Intro/useAppleLogin.ts","webpack://stremio/./src/routes/Intro/useFacebookLogin.ts","webpack://stremio/./src/routes/Library/Placeholder/Placeholder.tsx","webpack://stremio/./src/routes/Library/Placeholder/index.ts","webpack://stremio/./src/routes/MetaDetails/EpisodePicker/EpisodePicker.tsx","webpack://stremio/./src/routes/MetaDetails/EpisodePicker/index.ts","webpack://stremio/./src/routes/Player/AudioMenu/AudioMenu.tsx","webpack://stremio/./src/routes/Player/AudioMenu/index.ts","webpack://stremio/./src/routes/Player/Indicator/Indicator.tsx","webpack://stremio/./src/routes/Player/SideDrawer/SideDrawer.tsx","webpack://stremio/./src/routes/Player/SideDrawer/index.ts","webpack://stremio/./src/routes/Player/SideDrawerButton/SideDrawerButton.tsx","webpack://stremio/./src/routes/Player/SideDrawerButton/index.ts","webpack://stremio/./src/routes/Player/SubtitlesMenu/Stepper/Stepper.tsx","webpack://stremio/./src/routes/Player/SubtitlesMenu/Stepper/index.ts","webpack://stremio/./src/routes/Settings/General/General.tsx","webpack://stremio/./src/routes/Settings/General/User/User.tsx","webpack://stremio/./src/routes/Settings/General/User/index.ts","webpack://stremio/./src/routes/Settings/General/index.ts","webpack://stremio/./src/routes/Settings/General/useGeneralOptions.ts","webpack://stremio/./src/routes/Settings/Info/Info.tsx","webpack://stremio/./src/routes/Settings/Info/index.ts","webpack://stremio/./src/routes/Settings/Menu/Menu.tsx","webpack://stremio/./src/routes/Settings/Menu/index.ts","webpack://stremio/./src/routes/Settings/Player/Player.tsx","webpack://stremio/./src/routes/Settings/Player/index.ts","webpack://stremio/./src/routes/Settings/Player/usePlayerOptions.ts","webpack://stremio/./src/routes/Settings/Settings.tsx","webpack://stremio/./src/routes/Settings/Shortcuts/Shortcuts.tsx","webpack://stremio/./src/routes/Settings/Shortcuts/index.ts","webpack://stremio/./src/routes/Settings/Streaming/Streaming.tsx","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/AddItem/AddItem.tsx","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/AddItem/index.ts","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/Item/Item.tsx","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/Item/index.ts","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/URLsManager.tsx","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/index.ts","webpack://stremio/./src/routes/Settings/Streaming/index.ts","webpack://stremio/./src/routes/Settings/Streaming/useStreamingOptions.ts","webpack://stremio/./src/routes/Settings/components/Category/Category.tsx","webpack://stremio/./src/routes/Settings/components/Category/index.ts","webpack://stremio/./src/routes/Settings/components/Link/Link.tsx","webpack://stremio/./src/routes/Settings/components/Link/index.ts","webpack://stremio/./src/routes/Settings/components/Option/Option.tsx","webpack://stremio/./src/routes/Settings/components/Option/index.ts","webpack://stremio/./src/routes/Settings/components/Section/Section.tsx","webpack://stremio/./src/routes/Settings/components/Section/index.ts","webpack://stremio/./src/routes/Settings/components/index.ts","webpack://stremio/./src/routes/Settings/constants.ts","webpack://stremio/./src/routes/Settings/index.ts","webpack://stremio/./node_modules/.pnpm/url@0.11.0/node_modules/url/url.js","webpack://stremio/./node_modules/.pnpm/url@0.11.0/node_modules/url/util.js","webpack://stremio/./node_modules/.pnpm/url@0.11.4/node_modules/url/url.js","webpack://stremio/./node_modules/.pnpm/use-long-press@3.3.0_react@18.3.1/node_modules/use-long-press/index.js","webpack://stremio/./node_modules/.pnpm/void-elements@3.1.0/node_modules/void-elements/index.js","webpack://stremio/./node_modules/.pnpm/vtt.js@https+++codeload.github.com+jaruba+vtt.js+tar.gz+84d33d157848407d790d78423dacc41a096294f0/node_modules/vtt.js/lib/index.js","webpack://stremio/./node_modules/.pnpm/vtt.js@https+++codeload.github.com+jaruba+vtt.js+tar.gz+84d33d157848407d790d78423dacc41a096294f0/node_modules/vtt.js/lib/vtt.js","webpack://stremio/./node_modules/.pnpm/vtt.js@https+++codeload.github.com+jaruba+vtt.js+tar.gz+84d33d157848407d790d78423dacc41a096294f0/node_modules/vtt.js/lib/vttcue-extended.js","webpack://stremio/./node_modules/.pnpm/vtt.js@https+++codeload.github.com+jaruba+vtt.js+tar.gz+84d33d157848407d790d78423dacc41a096294f0/node_modules/vtt.js/lib/vttcue.js","webpack://stremio/./node_modules/.pnpm/vtt.js@https+++codeload.github.com+jaruba+vtt.js+tar.gz+84d33d157848407d790d78423dacc41a096294f0/node_modules/vtt.js/lib/vttregion-extended.js","webpack://stremio/./node_modules/.pnpm/vtt.js@https+++codeload.github.com+jaruba+vtt.js+tar.gz+84d33d157848407d790d78423dacc41a096294f0/node_modules/vtt.js/lib/vttregion.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.24.1/node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.24.1/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.24.1/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.24.1/node_modules/@babel/runtime/helpers/typeof.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.24.1/node_modules/@babel/runtime/regenerator/index.js","webpack://stremio/./node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-icons@5.7.1/node_modules/@stremio/stremio-icons/react/dist/index.js","webpack://stremio/./node_modules/.pnpm/html-parse-stringify@3.0.1/node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://stremio/./node_modules/.pnpm/react-i18next@15.7.4_i18next@24.2.3_typescript@5.9.2__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.9.2/node_modules/react-i18next/dist/es/utils.js","webpack://stremio/./node_modules/.pnpm/react-i18next@15.7.4_i18next@24.2.3_typescript@5.9.2__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.9.2/node_modules/react-i18next/dist/es/unescape.js","webpack://stremio/./node_modules/.pnpm/react-i18next@15.7.4_i18next@24.2.3_typescript@5.9.2__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.9.2/node_modules/react-i18next/dist/es/defaults.js","webpack://stremio/./node_modules/.pnpm/react-i18next@15.7.4_i18next@24.2.3_typescript@5.9.2__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.9.2/node_modules/react-i18next/dist/es/i18nInstance.js","webpack://stremio/./node_modules/.pnpm/react-i18next@15.7.4_i18next@24.2.3_typescript@5.9.2__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.9.2/node_modules/react-i18next/dist/es/TransWithoutContext.js","webpack://stremio/./node_modules/.pnpm/react-i18next@15.7.4_i18next@24.2.3_typescript@5.9.2__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.9.2/node_modules/react-i18next/dist/es/initReactI18next.js","webpack://stremio/./node_modules/.pnpm/react-i18next@15.7.4_i18next@24.2.3_typescript@5.9.2__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.9.2/node_modules/react-i18next/dist/es/context.js","webpack://stremio/./node_modules/.pnpm/react-i18next@15.7.4_i18next@24.2.3_typescript@5.9.2__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.9.2/node_modules/react-i18next/dist/es/Trans.js","webpack://stremio/./node_modules/.pnpm/react-i18next@15.7.4_i18next@24.2.3_typescript@5.9.2__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.9.2/node_modules/react-i18next/dist/es/useTranslation.js","webpack://stremio/./node_modules/.pnpm/react-i18next@15.7.4_i18next@24.2.3_typescript@5.9.2__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.9.2/node_modules/react-i18next/dist/es/withTranslation.js","webpack://stremio/./node_modules/.pnpm/react-i18next@15.7.4_i18next@24.2.3_typescript@5.9.2__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.9.2/node_modules/react-i18next/dist/es/Translation.js","webpack://stremio/./node_modules/.pnpm/react-i18next@15.7.4_i18next@24.2.3_typescript@5.9.2__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.9.2/node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://stremio/./node_modules/.pnpm/react-i18next@15.7.4_i18next@24.2.3_typescript@5.9.2__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.9.2/node_modules/react-i18next/dist/es/useSSR.js","webpack://stremio/./node_modules/.pnpm/react-i18next@15.7.4_i18next@24.2.3_typescript@5.9.2__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.9.2/node_modules/react-i18next/dist/es/withSSR.js","webpack://stremio/./node_modules/.pnpm/react-i18next@15.7.4_i18next@24.2.3_typescript@5.9.2__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.9.2/node_modules/react-i18next/dist/es/index.js","webpack://stremio/webpack/bootstrap","webpack://stremio/webpack/runtime/compat get default export","webpack://stremio/webpack/runtime/define property getters","webpack://stremio/webpack/runtime/global","webpack://stremio/webpack/runtime/hasOwnProperty shorthand","webpack://stremio/webpack/runtime/make namespace object","webpack://stremio/webpack/runtime/node module decorator","webpack://stremio/webpack/runtime/publicPath","webpack://stremio/./src/index.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\nfunction getId() {\n return Math.random().toString(32).slice(2);\n}\nfunction Bridge(scope, handler) {\n handler.addEventListener('message', /*#__PURE__*/function () {\n var _ref2 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref) {\n var request, id, path, args, value, data, thisArg;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n request = _ref.data.request;\n if (request) {\n _context.next = 3;\n break;\n }\n return _context.abrupt(\"return\");\n case 3:\n id = request.id, path = request.path, args = request.args;\n _context.prev = 4;\n value = path.reduce(function (value, prop) {\n return value[prop];\n }, scope);\n if (!(typeof value === 'function')) {\n _context.next = 13;\n break;\n }\n thisArg = path.slice(0, path.length - 1).reduce(function (value, prop) {\n return value[prop];\n }, scope);\n _context.next = 10;\n return value.apply(thisArg, args);\n case 10:\n data = _context.sent;\n _context.next = 16;\n break;\n case 13:\n _context.next = 15;\n return value;\n case 15:\n data = _context.sent;\n case 16:\n handler.postMessage({\n response: {\n id: id,\n result: {\n data: data\n }\n }\n });\n _context.next = 22;\n break;\n case 19:\n _context.prev = 19;\n _context.t0 = _context[\"catch\"](4);\n handler.postMessage({\n response: {\n id: id,\n result: {\n error: _context.t0\n }\n }\n });\n case 22:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[4, 19]]);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n this.call = /*#__PURE__*/function () {\n var _ref3 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(path, args) {\n var id;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n id = getId();\n return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n var onMessage = function onMessage(_ref4) {\n var response = _ref4.data.response;\n if (!response || response.id !== id) return;\n handler.removeEventListener('message', onMessage);\n if ('error' in response.result) {\n reject(response.result.error);\n } else {\n resolve(response.result.data);\n }\n };\n handler.addEventListener('message', onMessage);\n handler.postMessage({\n request: {\n id: id,\n path: path,\n args: args\n }\n });\n }));\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x2, _x3) {\n return _ref3.apply(this, arguments);\n };\n }();\n}\nmodule.exports = Bridge;\n","var EventEmitter = require('eventemitter3');\nvar ERROR = require('../error');\n\nfunction ChromecastSenderVideo(options) {\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var chromecastTransport = options.chromecastTransport;\n if (!chromecastTransport) {\n throw new Error('Chromecast transport required');\n }\n\n var device = chromecastTransport.getCastDevice();\n if (device === null) {\n throw new Error('Chromecast session must be started');\n }\n\n var deviceNameContainerElement = document.createElement('div');\n deviceNameContainerElement.style.display = 'flex';\n deviceNameContainerElement.style.flexDirection = 'row';\n deviceNameContainerElement.style.alignItems = 'center';\n deviceNameContainerElement.style.justifyContent = 'center';\n deviceNameContainerElement.style.width = '100%';\n deviceNameContainerElement.style.height = '100%';\n deviceNameContainerElement.style.backgroundColor = 'black';\n var deviceNameLabelElement = document.createElement('div');\n deviceNameLabelElement.style.flex = 'none';\n deviceNameLabelElement.style.maxWidth = '80%';\n deviceNameLabelElement.style.fontSize = '5vmin';\n deviceNameLabelElement.style.lineHeight = '1.2em';\n deviceNameLabelElement.style.maxHeight = '3.6em';\n deviceNameLabelElement.style.textAlign = 'center';\n deviceNameLabelElement.style.color = '#FFFFFF90';\n deviceNameLabelElement.innerText = 'Casting to ' + device.friendlyName;\n deviceNameContainerElement.appendChild(deviceNameLabelElement);\n containerElement.appendChild(deviceNameContainerElement);\n chromecastTransport.on('message', onMessage);\n chromecastTransport.on('message-error', onMessageReceivedError);\n\n var events = new EventEmitter();\n var destroyed = false;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n buffered: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOutlineColor: false,\n volume: false,\n muted: false,\n playbackSpeed: false,\n videoParams: false,\n extraSubtitlesTracks: false,\n selectedExtraSubtitlesTrackId: false,\n extraSubtitlesDelay: false,\n extraSubtitlesSize: false,\n extraSubtitlesOffset: false,\n extraSubtitlesTextColor: false,\n extraSubtitlesBackgroundColor: false,\n extraSubtitlesOutlineColor: false\n };\n\n function onMessageSendError(error, action) {\n events.emit('error', Object.assign({}, ERROR.CHROMECAST_SENDER_VIDEO.MESSAGE_SEND_FAILED, {\n error: error,\n action: action\n }));\n }\n function onMessageReceivedError(error) {\n events.emit('error', Object.assign({}, ERROR.CHROMECAST_SENDER_VIDEO.INVALID_MESSAGE_RECEIVED, {\n error: error\n }));\n }\n function onMessage(message) {\n if (!message || typeof message.event !== 'string') {\n onMessageReceivedError(new Error('Invalid message: ' + message));\n return;\n }\n\n var args = Array.isArray(message.args) ? message.args : [];\n events.emit.apply(events, [message.event].concat(args));\n }\n function onPropChanged(propName, propValue) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, propValue);\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n observedProps[propName] = true;\n }\n }\n function command(commandName) {\n switch (commandName) {\n case 'destroy': {\n destroyed = true;\n onPropChanged('stream', null);\n onPropChanged('loaded', null);\n onPropChanged('paused', null);\n onPropChanged('time', null);\n onPropChanged('duration', null);\n onPropChanged('buffering', null);\n onPropChanged('buffered', null);\n onPropChanged('audioTracks', []);\n onPropChanged('selectedAudioTrackId', []);\n onPropChanged('subtitlesTracks', []);\n onPropChanged('selectedSubtitlesTrackId', null);\n onPropChanged('subtitlesOffset', null);\n onPropChanged('subtitlesSize', null);\n onPropChanged('subtitlesTextColor', null);\n onPropChanged('subtitlesBackgroundColor', null);\n onPropChanged('subtitlesOutlineColor', null);\n onPropChanged('volume', null);\n onPropChanged('muted', null);\n onPropChanged('playbackSpeed', null);\n onPropChanged('videoParams', null);\n onPropChanged('extraSubtitlesTracks', []);\n onPropChanged('selectedExtraSubtitlesTrackId', null);\n onPropChanged('extraSubtitlesDelay', null);\n onPropChanged('extraSubtitlesSize', null);\n onPropChanged('extraSubtitlesOffset', null);\n onPropChanged('extraSubtitlesTextColor', null);\n onPropChanged('extraSubtitlesBackgroundColor', null);\n onPropChanged('extraSubtitlesOutlineColor', null);\n events.removeAllListeners();\n chromecastTransport.off('message', onMessage);\n containerElement.removeChild(deviceNameContainerElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n chromecastTransport.sendMessage(action).catch(function(error) {\n onMessageSendError(error, action);\n });\n return;\n }\n case 'setProp': {\n chromecastTransport.sendMessage(action).catch(function(error) {\n onMessageSendError(error, action);\n });\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n chromecastTransport.sendMessage(action).catch(function(error) {\n onMessageSendError(error, action);\n });\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nChromecastSenderVideo.canPlayStream = function() {\n return Promise.resolve(true);\n};\n\nChromecastSenderVideo.manifest = {\n name: 'ChromecastSenderVideo',\n external: true,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'volume', 'muted', 'playbackSpeed', 'videoParams', 'extraSubtitlesTracks', 'selectedExtraSubtitlesTrackId', 'extraSubtitlesDelay', 'extraSubtitlesSize', 'extraSubtitlesOffset', 'extraSubtitlesTextColor', 'extraSubtitlesBackgroundColor', 'extraSubtitlesOutlineColor'],\n commands: ['load', 'unload', 'destroy', 'addExtraSubtitlesTracks'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded', 'extraSubtitlesTrackLoaded', 'implementationChanged']\n};\n\nmodule.exports = ChromecastSenderVideo;\n","var ChromecastSenderVideo = require('./ChromecastSenderVideo');\n\nmodule.exports = ChromecastSenderVideo;\n","var EventEmitter = require('eventemitter3');\nvar Hls = require('hls.js');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar Color = require('color');\nvar ERROR = require('../error');\nvar getContentType = require('./getContentType');\nvar HLS_CONFIG = require('./hlsConfig');\n\nfunction HTMLVideo(options) {\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var styleElement = document.createElement('style');\n containerElement.appendChild(styleElement);\n styleElement.sheet.insertRule('video::cue { font-size: 4vmin; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0); text-shadow: -0.15rem -0.15rem 0.15rem rgb(34, 34, 34), 0px -0.15rem 0.15rem rgb(34, 34, 34), 0.15rem -0.15rem 0.15rem rgb(34, 34, 34), -0.15rem 0px 0.15rem rgb(34, 34, 34), 0.15rem 0px 0.15rem rgb(34, 34, 34), -0.15rem 0.15rem 0.15rem rgb(34, 34, 34), 0px 0.15rem 0.15rem rgb(34, 34, 34), 0.15rem 0.15rem 0.15rem rgb(34, 34, 34); }');\n var videoElement = document.createElement('video');\n videoElement.style.width = '100%';\n videoElement.style.height = '100%';\n videoElement.style.backgroundColor = 'black';\n videoElement.controls = false;\n videoElement.playsInline = true;\n videoElement.onerror = function() {\n onVideoError();\n };\n videoElement.onended = function() {\n onEnded();\n };\n videoElement.onpause = function() {\n onPropChanged('paused');\n };\n videoElement.onplay = function() {\n onPropChanged('paused');\n };\n videoElement.ontimeupdate = function() {\n onPropChanged('time');\n onPropChanged('buffered');\n };\n videoElement.ondurationchange = function() {\n onPropChanged('duration');\n };\n videoElement.onwaiting = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onseeking = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onseeked = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onstalled = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onplaying = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.oncanplay = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.canplaythrough = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onloadedmetadata = function() {\n onPropChanged('loaded');\n };\n videoElement.onloadeddata = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onvolumechange = function() {\n onPropChanged('volume');\n onPropChanged('muted');\n };\n videoElement.onratechange = function() {\n onPropChanged('playbackSpeed');\n };\n videoElement.textTracks.onchange = function() {\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onCueChange();\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = onCueChange;\n });\n };\n containerElement.appendChild(videoElement);\n\n var hls = null;\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var subtitlesOffset = 0;\n var subtitlesOpacity = 1;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n buffered: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOutlineColor: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n volume: false,\n muted: false,\n playbackSpeed: false\n };\n\n function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState >= videoElement.HAVE_METADATA;\n }\n case 'paused': {\n if (stream === null) {\n return null;\n }\n\n return !!videoElement.paused;\n }\n case 'time': {\n if (stream === null || videoElement.currentTime === null || !isFinite(videoElement.currentTime)) {\n return null;\n }\n\n return Math.floor(videoElement.currentTime * 1000);\n }\n case 'duration': {\n if (stream === null || videoElement.duration === null || !isFinite(videoElement.duration)) {\n return null;\n }\n\n return Math.floor(videoElement.duration * 1000);\n }\n case 'buffering': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState < videoElement.HAVE_FUTURE_DATA;\n }\n case 'buffered': {\n if (stream === null) {\n return null;\n }\n\n var time = videoElement.currentTime !== null && isFinite(videoElement.currentTime) ? videoElement.currentTime : 0;\n for (var i = 0; i < videoElement.buffered.length; i++) {\n if (videoElement.buffered.start(i) <= time && time <= videoElement.buffered.end(i)) {\n return Math.floor(videoElement.buffered.end(i) * 1000);\n }\n }\n\n return Math.floor(time * 1000);\n }\n case 'subtitlesTracks': {\n if (stream === null) {\n return [];\n }\n\n return Array.from(videoElement.textTracks)\n .map(function(track, index) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(index),\n lang: track.language,\n label: track.label || null,\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null) {\n return null;\n }\n\n return Array.from(videoElement.textTracks)\n .reduce(function(result, track, index) {\n if (result === null && track.mode === 'showing') {\n return 'EMBEDDED_' + String(index);\n }\n\n return result;\n }, null);\n }\n case 'subtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOffset;\n }\n case 'subtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return parseInt(styleElement.sheet.cssRules[0].style.fontSize, 10) * 25;\n }\n case 'subtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return styleElement.sheet.cssRules[0].style.color;\n }\n case 'subtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return styleElement.sheet.cssRules[0].style.backgroundColor;\n }\n case 'subtitlesOutlineColor': {\n if (destroyed) {\n return null;\n }\n\n return styleElement.sheet.cssRules[0].style.textShadow.slice(0, styleElement.sheet.cssRules[0].style.textShadow.indexOf(')') + 1);\n }\n case 'subtitlesOpacity': {\n if (destroyed) {\n return null;\n }\n\n return Math.round(subtitlesOpacity * 100);\n }\n case 'audioTracks': {\n if (hls === null || !Array.isArray(hls.audioTracks)) {\n return [];\n }\n\n return hls.audioTracks\n .map(function(track) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(track.id),\n lang: typeof track.lang === 'string' && track.lang.length > 0 ?\n track.lang\n :\n typeof track.name === 'string' && track.name.length > 0 ?\n track.name\n :\n String(track.id),\n label: typeof track.name === 'string' && track.name.length > 0 ?\n track.name\n :\n typeof track.lang === 'string' && track.lang.length > 0 ?\n track.lang\n :\n String(track.id),\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedAudioTrackId': {\n if (hls === null || hls.audioTrack === null || !isFinite(hls.audioTrack) || hls.audioTrack === -1) {\n return null;\n }\n\n return 'EMBEDDED_' + String(hls.audioTrack);\n }\n case 'volume': {\n if (destroyed || videoElement.volume === null || !isFinite(videoElement.volume)) {\n return null;\n }\n\n return Math.floor(videoElement.volume * 100);\n }\n case 'muted': {\n if (destroyed) {\n return null;\n }\n\n return !!videoElement.muted;\n }\n case 'playbackSpeed': {\n if (destroyed || videoElement.playbackRate === null || !isFinite(videoElement.playbackRate)) {\n return null;\n }\n\n return videoElement.playbackRate;\n }\n default: {\n return null;\n }\n }\n }\n function onCueChange() {\n Array.from(videoElement.textTracks).forEach(function(track) {\n Array.from(track.cues || []).forEach(function(cue) {\n cue.snapToLines = false;\n cue.line = 100 - subtitlesOffset;\n });\n });\n }\n function onVideoError() {\n if (destroyed) {\n return;\n }\n\n var error;\n switch (videoElement.error.code) {\n case 1: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_ABORTED;\n break;\n }\n case 2: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_NETWORK;\n break;\n }\n case 3: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_DECODE;\n break;\n }\n case 4: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;\n break;\n }\n default: {\n error = ERROR.UNKNOWN_ERROR;\n }\n }\n onError(Object.assign({}, error, {\n critical: true,\n error: videoElement.error\n }));\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n propValue ? videoElement.pause() : videoElement.play();\n onPropChanged('paused');\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n videoElement.currentTime = parseInt(propValue, 10) / 1000;\n onPropChanged('time');\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n Array.from(videoElement.textTracks)\n .forEach(function(track, index) {\n track.mode = 'EMBEDDED_' + String(index) === propValue ? 'showing' : 'disabled';\n });\n var selecterdSubtitlesTrack = getProp('subtitlesTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n if (selecterdSubtitlesTrack) {\n onPropChanged('selectedSubtitlesTrackId');\n events.emit('subtitlesTrackLoaded', selecterdSubtitlesTrack);\n }\n }\n\n break;\n }\n case 'subtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n subtitlesOffset = Math.max(0, Math.min(100, parseInt(propValue, 10)));\n onCueChange();\n onPropChanged('subtitlesOffset');\n }\n\n break;\n }\n case 'subtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n styleElement.sheet.cssRules[0].style.fontSize = Math.floor(Math.max(0, parseInt(propValue, 10)) / 25) + 'vmin';\n onPropChanged('subtitlesSize');\n }\n\n break;\n }\n case 'subtitlesTextColor': {\n if (typeof propValue === 'string') {\n try {\n styleElement.sheet.cssRules[0].style.color = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('HTMLVideo', error);\n }\n\n onPropChanged('subtitlesTextColor');\n }\n\n break;\n }\n case 'subtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n try {\n styleElement.sheet.cssRules[0].style.backgroundColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('HTMLVideo', error);\n }\n\n onPropChanged('subtitlesBackgroundColor');\n }\n\n break;\n }\n case 'subtitlesOutlineColor': {\n if (typeof propValue === 'string') {\n try {\n var outlineColor = Color(propValue).rgb().string();\n styleElement.sheet.cssRules[0].style.textShadow = '-0.15rem -0.15rem 0.15rem ' + outlineColor + ', 0px -0.15rem 0.15rem ' + outlineColor + ', 0.15rem -0.15rem 0.15rem ' + outlineColor + ', -0.15rem 0px 0.15rem ' + outlineColor + ', 0.15rem 0px 0.15rem ' + outlineColor + ', -0.15rem 0.15rem 0.15rem ' + outlineColor + ', 0px 0.15rem 0.15rem ' + outlineColor + ', 0.15rem 0.15rem 0.15rem ' + outlineColor;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('HTMLVideo', error);\n }\n\n onPropChanged('subtitlesOutlineColor');\n }\n\n break;\n }\n case 'subtitlesOpacity': {\n if (typeof propValue === 'number') {\n try {\n subtitlesOpacity = Math.min(Math.max(propValue / 100, 0), 1);\n styleElement.sheet.cssRules[0].style.opacity = subtitlesOpacity + '';\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('VVideo with HTML Subtitles', error);\n }\n\n onPropChanged('subtitlesOpacity');\n }\n\n break;\n }\n case 'selectedAudioTrackId': {\n if (hls !== null) {\n var selecterdAudioTrack = getProp('audioTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n hls.audioTrack = selecterdAudioTrack ? parseInt(selecterdAudioTrack.id.split('_').pop(), 10) : -1;\n if (selecterdAudioTrack) {\n onPropChanged('selectedAudioTrackId');\n events.emit('audioTrackLoaded', selecterdAudioTrack);\n }\n }\n\n break;\n }\n case 'volume': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.muted = false;\n videoElement.volume = Math.max(0, Math.min(100, parseInt(propValue, 10))) / 100;\n onPropChanged('muted');\n onPropChanged('volume');\n }\n\n break;\n }\n case 'muted': {\n videoElement.muted = !!propValue;\n onPropChanged('muted');\n break;\n }\n case 'playbackSpeed': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.playbackRate = parseFloat(propValue);\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n stream = commandArgs.stream;\n onPropChanged('stream');\n onPropChanged('loaded');\n videoElement.autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;\n videoElement.currentTime = commandArgs.time !== null && isFinite(commandArgs.time) ? parseInt(commandArgs.time, 10) / 1000 : 0;\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('buffered');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n getContentType(stream)\n .then(function(contentType) {\n if (stream !== commandArgs.stream) {\n return;\n }\n\n if (contentType === 'application/vnd.apple.mpegurl' && Hls.isSupported()) {\n hls = new Hls(HLS_CONFIG);\n hls.on(Hls.Events.AUDIO_TRACKS_UPDATED, function() {\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n });\n hls.on(Hls.Events.AUDIO_TRACK_SWITCHED, function() {\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n });\n hls.loadSource(stream.url);\n hls.attachMedia(videoElement);\n } else {\n videoElement.src = stream.url;\n }\n })\n .catch(function() {\n if (stream !== commandArgs.stream) {\n return;\n }\n\n videoElement.src = stream.url;\n });\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n stream = null;\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = null;\n });\n if (hls !== null) {\n hls.removeAllListeners();\n hls.detachMedia(videoElement);\n hls.destroy();\n hls = null;\n }\n videoElement.removeAttribute('src');\n videoElement.load();\n videoElement.currentTime = 0;\n onPropChanged('stream');\n onPropChanged('loaded');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('buffered');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n onPropChanged('subtitlesOffset');\n onPropChanged('subtitlesSize');\n onPropChanged('subtitlesTextColor');\n onPropChanged('subtitlesBackgroundColor');\n onPropChanged('subtitlesOutlineColor');\n onPropChanged('subtitlesOpacity');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n events.removeAllListeners();\n videoElement.onerror = null;\n videoElement.onended = null;\n videoElement.onpause = null;\n videoElement.onplay = null;\n videoElement.ontimeupdate = null;\n videoElement.ondurationchange = null;\n videoElement.onwaiting = null;\n videoElement.onseeking = null;\n videoElement.onseeked = null;\n videoElement.onstalled = null;\n videoElement.onplaying = null;\n videoElement.oncanplay = null;\n videoElement.canplaythrough = null;\n videoElement.onloadeddata = null;\n videoElement.onvolumechange = null;\n videoElement.onratechange = null;\n videoElement.textTracks.onchange = null;\n containerElement.removeChild(videoElement);\n containerElement.removeChild(styleElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nHTMLVideo.canPlayStream = function(stream) {\n if (!stream || (stream.behaviorHints && stream.behaviorHints.notWebReady)) {\n return Promise.resolve(false);\n }\n\n return getContentType(stream)\n .then(function(contentType) {\n var video = document.createElement('video');\n return !!video.canPlayType(contentType) || (contentType === 'application/vnd.apple.mpegurl' && Hls.isSupported());\n })\n .catch(function() {\n return false;\n });\n};\n\nHTMLVideo.manifest = {\n name: 'HTMLVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'subtitlesOpacity', 'volume', 'muted', 'playbackSpeed'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']\n};\n\nmodule.exports = HTMLVideo;\n","function getContentType(stream) {\n if (!stream || typeof stream.url !== 'string') {\n return Promise.reject(new Error('Invalid stream parameter!'));\n }\n\n if (stream.behaviorHints && stream.behaviorHints.proxyHeaders && stream.behaviorHints.proxyHeaders.response && typeof stream.behaviorHints.proxyHeaders.response['content-type'] === 'string') {\n return Promise.resolve(stream.behaviorHints.proxyHeaders.response['content-type']);\n }\n\n return fetch(stream.url, { method: 'HEAD' })\n .then(function(resp) {\n if (resp.ok) {\n return resp.headers.get('content-type');\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n });\n}\n\nmodule.exports = getContentType;\n","module.exports = {\n debug: false,\n enableWorker: true,\n lowLatencyMode: false,\n backBufferLength: 30,\n maxBufferLength: 50,\n maxMaxBufferLength: 80,\n maxFragLookUpTolerance: 0,\n maxBufferHole: 0,\n appendErrorMaxRetry: 20,\n nudgeMaxRetry: 20,\n manifestLoadingTimeOut: 30000,\n manifestLoadingMaxRetry: 10,\n fragLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 120000,\n timeoutRetry: {\n maxNumRetry: 20,\n retryDelayMs: 0,\n maxRetryDelayMs: 15\n },\n errorRetry: {\n maxNumRetry: 6,\n retryDelayMs: 1000,\n maxRetryDelayMs: 15\n }\n }\n }\n // liveDurationInfinity: false\n};\n","var HTMLVideo = require('./HTMLVideo');\n\nmodule.exports = HTMLVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\n\nfunction IFrameVideo(options) {\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var iframeElement = document.createElement('iframe');\n iframeElement.style.width = '100%';\n iframeElement.style.height = '100%';\n iframeElement.style.border = 0;\n iframeElement.style.backgroundColor = 'black';\n iframeElement.allowFullscreen = false;\n iframeElement.allow = 'autoplay';\n containerElement.appendChild(iframeElement);\n\n var events = new EventEmitter();\n var destroyed = false;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n buffered: false,\n volume: false,\n muted: false,\n playbackSpeed: false\n };\n\n function onMessage(event) {\n if (event.source !== iframeElement.contentWindow) {\n return;\n }\n\n var data = event.data || event.message;\n if (!data || typeof data.event !== 'string') {\n return;\n }\n\n var eventName = data.event;\n var args = Array.isArray(data.args) ? data.args : [];\n events.emit.apply(events, [eventName].concat(args));\n }\n function sendMessage(action) {\n iframeElement.contentWindow.postMessage(action, '*');\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onPropChanged(propName, propValue) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, propValue);\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n observedProps[propName] = true;\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.playerFrameUrl === 'string') {\n window.addEventListener('message', onMessage, false);\n iframeElement.onload = function() {\n sendMessage({\n type: 'command',\n commandName: commandName,\n commandArgs: commandArgs\n });\n };\n iframeElement.src = commandArgs.stream.playerFrameUrl;\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n\n return true;\n }\n case 'unload': {\n window.removeEventListener('message', onMessage);\n iframeElement.onload = null;\n iframeElement.removeAttribute('src');\n onPropChanged('stream', null);\n onPropChanged('loaded', null);\n onPropChanged('paused', null);\n onPropChanged('time', null);\n onPropChanged('duration', null);\n onPropChanged('buffering', null);\n onPropChanged('buffered', null);\n onPropChanged('volume', null);\n onPropChanged('muted', null);\n onPropChanged('playbackSpeed', null);\n return true;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n events.removeAllListeners();\n containerElement.removeChild(iframeElement);\n return true;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n sendMessage(action);\n return;\n }\n case 'setProp': {\n sendMessage(action);\n return;\n }\n case 'command': {\n if (!command(action.commandName, action.commandArgs)) {\n sendMessage(action);\n }\n\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nIFrameVideo.canPlayStream = function(stream) {\n return Promise.resolve(stream && typeof stream.playerFrameUrl === 'string');\n};\n\nIFrameVideo.manifest = {\n name: 'IFrameVideo',\n external: true,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'volume', 'muted', 'playbackSpeed', 'extraSubtitlesTracks', 'selectedExtraSubtitlesTrackId', 'extraSubtitlesDelay', 'extraSubtitlesSize', 'extraSubtitlesOffset', 'extraSubtitlesTextColor', 'extraSubtitlesBackgroundColor', 'extraSubtitlesOutlineColor'],\n commands: ['load', 'unload', 'destroy', 'addExtraSubtitlesTracks'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded', 'extraSubtitlesTrackLoaded', 'implementationChanged']\n};\n\nmodule.exports = IFrameVideo;\n","var IFrameVideo = require('./IFrameVideo');\n\nmodule.exports = IFrameVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\n\nvar SUBS_SCALE_FACTOR = 0.0066;\n\nvar stremioToMPVProps = {\n 'loaded': 'loaded',\n 'stream': null,\n 'paused': 'pause',\n 'time': 'time-pos',\n 'duration': 'duration',\n 'buffering': 'buffering',\n 'volume': 'volume',\n 'muted': 'mute',\n 'playbackSpeed': 'speed',\n 'audioTracks': 'audioTracks',\n 'selectedAudioTrackId': 'aid',\n 'subtitlesTracks': 'subtitlesTracks',\n 'selectedSubtitlesTrackId': 'sid',\n 'subtitlesSize': 'sub-scale',\n 'subtitlesOffset': 'sub-pos',\n 'subtitlesDelay': 'sub-delay',\n 'subtitlesTextColor': 'sub-color',\n 'subtitlesBackgroundColor': 'sub-back-color',\n 'subtitlesOutlineColor': 'sub-border-color',\n};\n\nfunction parseVersion(version) {\n return version.split('.').slice(0, 2).map(function (v) { return parseInt(v); });\n}\n\nfunction versionGTE(a, b) {\n var versionA = parseVersion(a);\n var versionB = parseVersion(b);\n if (versionA[0] > versionB[0]) return true;\n if (versionA[0] < versionB[0]) return false;\n return versionA[1] >= versionB[1];\n}\n\nfunction ShellVideo(options) {\n options = options || {};\n\n var ipc = options.shellTransport;\n var observedProps = {};\n var props = {};\n var stremioProps = {};\n Object.keys(stremioToMPVProps).forEach(function(key) {\n if(stremioToMPVProps[key]) {\n stremioProps[stremioToMPVProps[key]] = key;\n }\n });\n var resolveMPVVersion;\n var waitForMPVVersion = new Promise(function (resolve) {\n resolveMPVVersion = resolve;\n });\n command('unload');\n\n ipc.send('mpv-command', ['stop']);\n ipc.send('mpv-observe-prop', 'path');\n\n ipc.send('mpv-observe-prop', 'time-pos');\n ipc.send('mpv-observe-prop', 'volume');\n ipc.send('mpv-observe-prop', 'pause');\n ipc.send('mpv-observe-prop', 'seeking');\n ipc.send('mpv-observe-prop', 'eof-reached');\n\n ipc.send('mpv-observe-prop', 'duration');\n ipc.send('mpv-observe-prop', 'metadata');\n ipc.send('mpv-observe-prop', 'video-params'); // video width/height\n ipc.send('mpv-observe-prop', 'track-list');\n\n ipc.send('mpv-observe-prop', 'paused-for-cache');\n ipc.send('mpv-observe-prop', 'cache-buffering-state');\n\n ipc.send('mpv-observe-prop', 'aid');\n ipc.send('mpv-observe-prop', 'vid');\n ipc.send('mpv-observe-prop', 'sid');\n ipc.send('mpv-observe-prop', 'sub-scale');\n ipc.send('mpv-observe-prop', 'sub-pos');\n ipc.send('mpv-observe-prop', 'sub-delay');\n ipc.send('mpv-observe-prop', 'speed');\n\n ipc.send('mpv-observe-prop', 'mpv-version');\n ipc.send('mpv-observe-prop', 'ffmpeg-version');\n\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n\n var avgDuration = 0;\n var minClipDuration = 30;\n\n function setBackground(visible) {\n // This is a bit of a hack but there is no better way so far\n var bg = visible ? '' : 'transparent';\n for(var container = options.containerElement; container; container = container.parentElement) {\n container.style.background = bg;\n }\n if (((window || {}).document || {}).getElementsByTagName) {\n var body = window.document.getElementsByTagName('body');\n if ((body || [])[0]) {\n body[0].style.background = bg;\n }\n }\n }\n function logProp(args) {\n // eslint-disable-next-line no-console\n console.log(args.name+': '+args.data);\n }\n function embeddedProp(args) {\n return args.data && args.data !== 'no' ? 'EMBEDDED_' + args.data.toString() : null;\n }\n\n var last_time = 0;\n ipc.on('mpv-prop-change', function(args) {\n switch (args.name) {\n case 'mpv-version':\n resolveMPVVersion(args.data);\n props[args.name] = logProp(args);\n break;\n case 'ffmpeg-version': {\n props[args.name] = logProp(args);\n break;\n }\n case 'duration': {\n var intDuration = args.data | 0;\n // Accumulate average duration over time. if it is greater than minClipDuration\n // and equal to the currently reported duration, it is returned as video length.\n // If the reported duration changes over time the average duration is always\n // smaller than the currently reported one so we set the video length to 0 as\n // this is a live stream.\n props[args.name] = args.data >= minClipDuration && (!avgDuration || intDuration === avgDuration) ? Math.round(args.data * 1000) : null;\n // The average duration is calculated using right bit shifting by one of the sum of\n // the previous average and the currently reported value. This method is not very precise\n // as we get integer value but we avoid floating point errors. JS uses 32 bit values\n // for bitwise maths so the maximum supported video duration is 1073741823 (2 ^ 30 - 1)\n // which is around 34 years of playback time.\n avgDuration = avgDuration ? (avgDuration + intDuration) >> 1 : intDuration;\n props.loaded = intDuration > 0;\n if(props.loaded) {\n setBackground(false);\n onPropChanged('loaded');\n }\n break;\n }\n case 'time-pos': {\n props[args.name] = Math.round(args.data*1000);\n break;\n }\n case 'sub-scale': {\n props[args.name] = Math.round(args.data / SUBS_SCALE_FACTOR);\n break;\n }\n case 'sub-pos': {\n props[args.name] = 100 - args.data;\n break;\n }\n case 'sub-delay': {\n props[args.name] = Math.round(args.data*1000);\n break;\n }\n case 'volume': {\n if (typeof args.data === 'number' && isFinite(args.data)) {\n props[args.name] = args.data;\n onPropChanged('volume');\n }\n break;\n }\n case 'paused-for-cache':\n case 'seeking':\n {\n if(props.buffering !== args.data) {\n props.buffering = args.data;\n onPropChanged('buffering');\n }\n break;\n }\n case 'aid':\n case 'sid':\n case 'vid': {\n props[args.name] = embeddedProp(args);\n break;\n }\n // In that case onPropChanged() is manually invoked as track-list contains all\n // the tracks but we have different event for each track type\n case 'track-list': {\n props.audioTracks = args.data.filter(function(x) { return x.type === 'audio'; })\n .map(function(x, index) {\n return {\n id: 'EMBEDDED_' + x.id,\n lang: x.lang === undefined ? 'Track' + (index + 1) : x.lang,\n label: x.title === undefined || x.lang === undefined ? '' : x.title || x.lang,\n origin: 'EMBEDDED',\n embedded: true,\n mode: x.id === props.aid ? 'showing' : 'disabled',\n };\n });\n onPropChanged('audioTracks');\n\n props.subtitlesTracks = args.data\n .filter(function(x) { return x.type === 'sub'; })\n .map(function(x, index) {\n return {\n id: 'EMBEDDED_' + x.id,\n lang: x.lang === undefined ? 'Track ' + (index + 1) : x.lang,\n label: x.title === undefined || x.lang === undefined ? '' : x.title || x.lang,\n origin: 'EMBEDDED',\n embedded: true,\n mode: x.id === props.sid ? 'showing' : 'disabled',\n };\n });\n onPropChanged('subtitlesTracks');\n break;\n }\n default: {\n props[args.name] = args.data;\n break;\n }\n }\n\n // Cap time update to update only when a second passes\n var current_time = args.name === 'time-pos' ? Math.floor(props['time-pos'] / 1000) : null;\n if((!current_time || last_time !== current_time)&& stremioProps[args.name]) {\n if(current_time) {\n last_time = current_time;\n }\n onPropChanged(stremioProps[args.name]);\n }\n });\n ipc.on('mpv-event-ended', function(args) {\n if (args.error) onError(args.error);\n else onEnded();\n });\n\n function getProp(propName) {\n if(stremioToMPVProps[propName]) return props[stremioToMPVProps[propName]];\n // eslint-disable-next-line no-console\n console.log('Unsupported prop requested', propName);\n return null;\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n ipc.send('mpv-set-prop', ['pause', propValue]);\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n ipc.send('mpv-set-prop', ['time-pos', propValue/1000]);\n }\n\n break;\n }\n case 'playbackSpeed': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n ipc.send('mpv-set-prop', ['speed', propValue]);\n }\n break;\n }\n case 'volume': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n props.mute = false;\n ipc.send('mpv-set-prop', ['mute', 'no']);\n ipc.send('mpv-set-prop', ['volume', propValue]);\n onPropChanged('muted');\n onPropChanged('volume');\n }\n break;\n }\n case 'muted': {\n if (stream !== null) {\n ipc.send('mpv-set-prop', ['mute', propValue ? 'yes' : 'no']);\n props.mute = propValue;\n onPropChanged('muted');\n }\n break;\n }\n case 'selectedAudioTrackId': {\n if (stream !== null) {\n var actualId = propValue.slice('EMBEDDED_'.length);\n ipc.send('mpv-set-prop', ['aid', actualId]);\n }\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n if(propValue) {\n var actualId = propValue.slice('EMBEDDED_'.length);\n ipc.send('mpv-set-prop', ['sid', actualId]);\n events.emit('subtitlesTrackLoaded', propValue);\n } else {\n // turn off subs\n ipc.send('mpv-set-prop', ['sid', 'no']);\n props.sid = null;\n }\n }\n onPropChanged('selectedSubtitlesTrackId');\n break;\n }\n case 'subtitlesSize': {\n ipc.send('mpv-set-prop', [stremioToMPVProps[propName], propValue * SUBS_SCALE_FACTOR]);\n break;\n }\n case 'subtitlesDelay': {\n ipc.send('mpv-set-prop', [stremioToMPVProps[propName], propValue]);\n break;\n }\n case 'subtitlesOffset': {\n ipc.send('mpv-set-prop', [stremioToMPVProps[propName], 100 - propValue]);\n break;\n }\n case 'subtitlesTextColor':\n case 'subtitlesBackgroundColor':\n case 'subtitlesOutlineColor':\n {\n // MPV accepts color in #AARRGGBB\n var argb = propValue.replace(/^#(\\w{6})(\\w{2})$/, '#$2$1');\n ipc.send('mpv-set-prop', [stremioToMPVProps[propName], argb]);\n break;\n }\n default: {\n // eslint-disable-next-line no-console\n console.log('Unhandled setProp for', propName);\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n waitForMPVVersion.then(function (mpvVersion) {\n stream = commandArgs.stream;\n onPropChanged('stream');\n\n ipc.send('mpv-set-prop', ['sub-ass-override', 'strip']);\n\n // Hardware decoding\n var hwdecValue = commandArgs.hardwareDecoding ? 'auto-copy' : 'no';\n ipc.send('mpv-set-prop', ['hwdec', hwdecValue]);\n\n // opengl-cb is an alias for the new name \"libmpv\", as shown in mpv's video/out/vo.c aliases\n // opengl is an alias for the new name \"gpu\"\n // When on Windows we use d3d for the rendering in separate window\n var windowRenderer = navigator.platform === 'Win32' ? 'direct3d' : 'opengl';\n var videoOutput = options.mpvSeparateWindow ? windowRenderer : 'opengl-cb';\n var separateWindow = options.mpvSeparateWindow ? 'yes' : 'no';\n ipc.send('mpv-set-prop', ['vo', videoOutput]);\n ipc.send('mpv-set-prop', ['osc', separateWindow]);\n ipc.send('mpv-set-prop', ['input-default-bindings', separateWindow]);\n ipc.send('mpv-set-prop', ['input-vo-keyboard', separateWindow]);\n\n var startAt = Math.floor(parseInt(commandArgs.time, 10) / 1000) || 0;\n if (startAt !== 0) {\n if (versionGTE(mpvVersion, '0.39')) {\n ipc.send('mpv-command', ['loadfile', stream.url, 'replace', '-1', 'start=+' + startAt]);\n } else {\n ipc.send('mpv-command', ['loadfile', stream.url, 'replace', 'start=+' + startAt]);\n }\n } else {\n ipc.send('mpv-command', ['loadfile', stream.url]);\n }\n ipc.send('mpv-set-prop', ['pause', false]);\n ipc.send('mpv-set-prop', ['speed', props.speed]);\n if (props.aid) {\n if (typeof props.aid === 'string' && props.aid.startsWith('EMBEDDED_')) {\n ipc.send('mpv-set-prop', ['aid', props.aid.slice('EMBEDDED_'.length)]);\n } else {\n ipc.send('mpv-set-prop', ['aid', props.aid]);\n }\n }\n ipc.send('mpv-set-prop', ['mute', 'no']);\n\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('muted');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n });\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n props = {\n loaded: false,\n pause: false,\n mute: false,\n speed: 1,\n subtitlesTracks: [],\n audioTracks: [],\n buffering: false,\n aid: null,\n sid: null,\n };\n avgDuration = 0;\n ipc.send('mpv-command', ['stop']);\n onPropChanged('loaded');\n onPropChanged('stream');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('muted');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n setBackground(true);\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n events.removeAllListeners();\n break;\n }\n }\n }\n\n this.on = function (eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function (action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n break;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(\n action.commandName,\n action.commandArgs\n );\n return;\n }\n }\n }\n };\n}\nShellVideo.canPlayStream = function() {\n return Promise.resolve(true);\n};\n\nShellVideo.manifest = {\n name: 'ShellVideo',\n external: false,\n props: Object.keys(stremioToMPVProps),\n commands: ['load', 'unload', 'destroy'],\n events: [\n 'propValue',\n 'propChanged',\n 'ended',\n 'error',\n 'subtitlesTrackLoaded',\n ],\n};\n\nmodule.exports = ShellVideo;\n","var ShellVideo = require('./ShellVideo');\n\nmodule.exports = ShellVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar selectVideoImplementation = require('./selectVideoImplementation');\nvar platform = require('../platform');\nvar ERROR = require('../error');\n\nfunction StremioVideo() {\n var video = null;\n var events = new EventEmitter();\n var destroyed = false;\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action, options) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n options = options || {};\n if (action.type === 'command' && action.commandName === 'load' && action.commandArgs) {\n if (action.commandArgs.platform) {\n platform.set(action.commandArgs.platform);\n }\n var Video = selectVideoImplementation(action.commandArgs, options);\n if (video !== null && video.constructor !== Video) {\n video.dispatch({ type: 'command', commandName: 'destroy' });\n video = null;\n }\n if (video === null) {\n if (Video === null) {\n events.emit('error', Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n error: new Error('No video implementation was selected'),\n critical: true,\n stream: action.commandArgs.stream\n }));\n return;\n }\n\n video = new Video(options);\n video.on('ended', function() {\n events.emit('ended');\n });\n video.on('error', function(args) {\n events.emit('error', args);\n });\n video.on('propValue', function(propName, propValue) {\n events.emit('propValue', propName, propValue);\n });\n video.on('propChanged', function(propName, propValue) {\n events.emit('propChanged', propName, propValue);\n });\n video.on('subtitlesTrackLoaded', function(track) {\n events.emit('subtitlesTrackLoaded', track);\n });\n video.on('audioTrackLoaded', function(track) {\n events.emit('audioTrackLoaded', track);\n });\n video.on('extraSubtitlesTrackLoaded', function(track) {\n events.emit('extraSubtitlesTrackLoaded', track);\n });\n video.on('extraSubtitlesTrackAdded', function(track) {\n events.emit('extraSubtitlesTrackAdded', track);\n });\n if (Video.manifest.external) {\n video.on('implementationChanged', function(manifest) {\n events.emit('implementationChanged', manifest);\n });\n } else {\n events.emit('implementationChanged', Video.manifest);\n }\n }\n }\n\n if (video !== null) {\n try {\n video.dispatch(action);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(video.constructor.manifest.name, error);\n }\n }\n\n if (action.type === 'command' && action.commandName === 'destroy') {\n video = null;\n }\n\n return;\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n this.destroy = function() {\n destroyed = true;\n if (video !== null) {\n video.dispatch({ type: 'command', commandName: 'destroy' });\n video = null;\n }\n\n events.removeAllListeners();\n };\n}\n\nStremioVideo.ERROR = ERROR;\n\nmodule.exports = StremioVideo;\n","var StremioVideo = require('./StremioVideo');\n\nmodule.exports = StremioVideo;\n","var ChromecastSenderVideo = require('../ChromecastSenderVideo');\nvar ShellVideo = require('../ShellVideo');\nvar HTMLVideo = require('../HTMLVideo');\nvar TizenVideo = require('../TizenVideo');\nvar TitanVideo = require('../TitanVideo');\nvar VidaaVideo = require('../VidaaVideo');\nvar WebOsVideo = require('../WebOsVideo');\nvar IFrameVideo = require('../IFrameVideo');\nvar YouTubeVideo = require('../YouTubeVideo');\nvar withStreamingServer = require('../withStreamingServer');\nvar withHTMLSubtitles = require('../withHTMLSubtitles');\nvar withVideoParams = require('../withVideoParams');\n\nfunction selectVideoImplementation(commandArgs, options) {\n if (!commandArgs.stream || typeof commandArgs.stream.externalUrl === 'string') {\n return null;\n }\n\n if (options.chromecastTransport && options.chromecastTransport.getCastState() === cast.framework.CastState.CONNECTED) {\n return ChromecastSenderVideo;\n }\n\n if (typeof commandArgs.stream.ytId === 'string') {\n return withVideoParams(withHTMLSubtitles(YouTubeVideo));\n }\n\n if (typeof commandArgs.stream.playerFrameUrl === 'string') {\n return withVideoParams(IFrameVideo);\n }\n\n if (options.shellTransport) {\n return withStreamingServer(withHTMLSubtitles(ShellVideo));\n }\n\n if (typeof commandArgs.streamingServerURL === 'string') {\n if (commandArgs.platform === 'Tizen') {\n return withStreamingServer(withHTMLSubtitles(TizenVideo));\n }\n if (commandArgs.platform === 'webOS') {\n return withStreamingServer(withHTMLSubtitles(WebOsVideo));\n }\n if (commandArgs.platform === 'Titan' || commandArgs.platform === 'NetTV') {\n return withStreamingServer(withHTMLSubtitles(TitanVideo));\n }\n if (commandArgs.platform === 'Vidaa') {\n return withStreamingServer(withHTMLSubtitles(VidaaVideo));\n }\n return withStreamingServer(withHTMLSubtitles(HTMLVideo));\n }\n\n if (typeof commandArgs.stream.url === 'string') {\n if (commandArgs.platform === 'Tizen') {\n return withVideoParams(withHTMLSubtitles(TizenVideo));\n }\n if (commandArgs.platform === 'webOS') {\n return withVideoParams(withHTMLSubtitles(WebOsVideo));\n }\n if (commandArgs.platform === 'Titan' || commandArgs.platform === 'NetTV') {\n return withVideoParams(withHTMLSubtitles(TitanVideo));\n }\n if (commandArgs.platform === 'Vidaa') {\n return withVideoParams(withHTMLSubtitles(VidaaVideo));\n }\n return withVideoParams(withHTMLSubtitles(HTMLVideo));\n }\n\n return null;\n}\n\nmodule.exports = selectVideoImplementation;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar Color = require('color');\nvar ERROR = require('../error');\n\nvar SSA_DESCRIPTORS_REGEX = /^\\{(\\\\an[1-8])+\\}/i;\n\nfunction TitanVideo(options) {\n options = options || {};\n\n var size = 100;\n var offset = 0;\n var textColor = 'rgb(255, 255, 255)';\n var backgroundColor = 'rgba(0, 0, 0, 0)';\n var outlineColor = 'rgb(34, 34, 34)';\n var subtitlesOpacity = 1;\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var videoElement = document.createElement('video');\n videoElement.style.width = '100%';\n videoElement.style.height = '100%';\n videoElement.style.backgroundColor = 'black';\n videoElement.controls = false;\n videoElement.playsInline = true;\n videoElement.onerror = function() {\n onVideoError();\n };\n videoElement.onended = function() {\n onEnded();\n };\n videoElement.onpause = function() {\n onPropChanged('paused');\n };\n videoElement.onplay = function() {\n onPropChanged('paused');\n };\n videoElement.ontimeupdate = function() {\n onPropChanged('time');\n };\n videoElement.ondurationchange = function() {\n onPropChanged('duration');\n };\n videoElement.onwaiting = function() {\n onPropChanged('buffering');\n };\n videoElement.onseeking = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n };\n videoElement.onseeked = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n };\n videoElement.onstalled = function() {\n onPropChanged('buffering');\n };\n videoElement.onplaying = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n };\n videoElement.oncanplay = function() {\n onPropChanged('buffering');\n };\n videoElement.canplaythrough = function() {\n onPropChanged('buffering');\n };\n videoElement.onloadedmetadata = function() {\n onPropChanged('loaded');\n };\n videoElement.onloadeddata = function() {\n onPropChanged('buffering');\n };\n videoElement.onvolumechange = function() {\n onPropChanged('volume');\n onPropChanged('muted');\n };\n videoElement.onratechange = function() {\n onPropChanged('playbackSpeed');\n };\n videoElement.textTracks.onchange = function() {\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n };\n containerElement.appendChild(videoElement);\n\n var subtitlesElement = document.createElement('div');\n subtitlesElement.style.position = 'absolute';\n subtitlesElement.style.right = '0';\n subtitlesElement.style.bottom = '0';\n subtitlesElement.style.left = '0';\n subtitlesElement.style.zIndex = '1';\n subtitlesElement.style.textAlign = 'center';\n containerElement.style.position = 'relative';\n containerElement.style.zIndex = '0';\n containerElement.appendChild(subtitlesElement);\n\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOutlineColor: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n volume: false,\n muted: false,\n playbackSpeed: false\n };\n\n var lastSub;\n var disabledSubs = false;\n\n async function refreshSubtitle() {\n if (lastSub) {\n renderSubtitle(lastSub.text, 'show');\n }\n }\n\n async function renderSubtitle(text, visibility) {\n if (disabledSubs) return;\n if (visibility === 'hide') {\n while (subtitlesElement.hasChildNodes()) {\n subtitlesElement.removeChild(subtitlesElement.lastChild);\n }\n lastSub = null;\n return;\n }\n\n lastSub = {\n text: text,\n };\n\n while (subtitlesElement.hasChildNodes()) {\n subtitlesElement.removeChild(subtitlesElement.lastChild);\n }\n\n subtitlesElement.style.bottom = offset + '%';\n subtitlesElement.style.opacity = subtitlesOpacity;\n\n var cueNode = document.createElement('span');\n cueNode.innerHTML = text;\n cueNode.style.display = 'inline-block';\n cueNode.style.padding = '0.2em';\n cueNode.style.fontSize = Math.floor(size / 25) + 'vmin';\n cueNode.style.color = textColor;\n cueNode.style.backgroundColor = backgroundColor;\n cueNode.style.textShadow = '1px 1px 0.1em ' + outlineColor;\n cueNode.style.whiteSpace = 'pre-wrap';\n\n subtitlesElement.appendChild(cueNode);\n subtitlesElement.appendChild(document.createElement('br'));\n\n }\n\n function renderCue(ev) {\n var cues = (ev.target || {}).activeCues;\n if (!cues.length) {\n renderSubtitle('', 'hide');\n } else {\n if (cues.length > 3) {\n // most probably SSA/ASS subs glitch\n ev.target.removeEventListener('cuechange', renderCue);\n renderSubtitle('', 'hide');\n return;\n }\n var text = '';\n for (var i in cues) {\n var cue = cues[i];\n if (cue.text) {\n var cleanedText = cue.text.replace(SSA_DESCRIPTORS_REGEX, '');\n text += (text ? '\\n' : '') + cleanedText;\n }\n }\n renderSubtitle(text, 'show');\n }\n }\n\n function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState >= videoElement.HAVE_METADATA;\n }\n case 'paused': {\n if (stream === null) {\n return null;\n }\n\n return !!videoElement.paused;\n }\n case 'time': {\n if (stream === null || videoElement.currentTime === null || !isFinite(videoElement.currentTime)) {\n return null;\n }\n\n return Math.floor(videoElement.currentTime * 1000);\n }\n case 'duration': {\n if (stream === null || videoElement.duration === null || !isFinite(videoElement.duration)) {\n return null;\n }\n\n return Math.floor(videoElement.duration * 1000);\n }\n case 'buffering': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState < videoElement.HAVE_FUTURE_DATA;\n }\n case 'subtitlesTracks': {\n if (stream === null) {\n return [];\n }\n\n if (!videoElement.textTracks || !Array.from(videoElement.textTracks).length) {\n return [];\n }\n\n return Array.from(videoElement.textTracks)\n .filter(function(track) {\n return track.kind === 'subtitles';\n })\n .map(function(track, index) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(index),\n lang: track.language,\n label: track.label || null,\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null) {\n return null;\n }\n\n if (!videoElement.textTracks || !Array.from(videoElement.textTracks).length) {\n return null;\n }\n\n return Array.from(videoElement.textTracks)\n .reduce(function(result, track, index) {\n if (result === null && track.mode === 'hidden') {\n return 'EMBEDDED_' + String(index);\n }\n\n return result;\n }, null);\n }\n case 'subtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return offset;\n }\n case 'subtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return size;\n }\n case 'subtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return textColor;\n }\n case 'subtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return backgroundColor;\n }\n case 'subtitlesOutlineColor': {\n if (destroyed) {\n return null;\n }\n\n return outlineColor;\n }\n case 'subtitlesOpacity': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOpacity;\n }\n case 'audioTracks': {\n if (stream === null) {\n return [];\n }\n\n if (!videoElement.audioTracks || !Array.from(videoElement.audioTracks).length) {\n return [];\n }\n\n return Array.from(videoElement.audioTracks)\n .map(function(track, index) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(index),\n lang: track.language,\n label: track.label || null,\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedAudioTrackId': {\n\n if (stream === null) {\n return null;\n }\n\n if (!videoElement.audioTracks || !Array.from(videoElement.audioTracks).length) {\n return null;\n }\n\n return Array.from(videoElement.audioTracks)\n .reduce(function(result, track, index) {\n if (result === null && track.enabled) {\n return 'EMBEDDED_' + String(index);\n }\n\n return result;\n }, null);\n }\n case 'volume': {\n if (destroyed || videoElement.volume === null || !isFinite(videoElement.volume)) {\n return null;\n }\n\n return Math.floor(videoElement.volume * 100);\n }\n case 'muted': {\n if (destroyed) {\n return null;\n }\n\n return !!videoElement.muted;\n }\n case 'playbackSpeed': {\n if (destroyed || videoElement.playbackRate === null || !isFinite(videoElement.playbackRate)) {\n return null;\n }\n\n return videoElement.playbackRate;\n }\n default: {\n return null;\n }\n }\n }\n function onVideoError() {\n if (destroyed) {\n return;\n }\n\n var error;\n switch (videoElement.error.code) {\n case 1: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_ABORTED;\n break;\n }\n case 2: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_NETWORK;\n break;\n }\n case 3: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_DECODE;\n break;\n }\n case 4: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;\n break;\n }\n default: {\n error = ERROR.UNKNOWN_ERROR;\n }\n }\n onError(Object.assign({}, error, {\n critical: true,\n error: videoElement.error\n }));\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n propValue ? videoElement.pause() : videoElement.play();\n onPropChanged('paused');\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n renderSubtitle('', 'hide');\n videoElement.currentTime = parseInt(propValue, 10) / 1000;\n onPropChanged('time');\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n Array.from(videoElement.textTracks)\n .forEach(function(track, index) {\n if (track.mode === 'hidden') {\n track.removeEventListener('cuechange', renderCue);\n }\n track.mode = 'EMBEDDED_' + String(index) === propValue ? 'hidden' : 'disabled';\n if (track.mode === 'hidden') {\n track.addEventListener('cuechange', renderCue);\n }\n });\n var selectedSubtitlesTrack = getProp('subtitlesTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n\n renderSubtitle('', 'hide');\n\n if (selectedSubtitlesTrack) {\n onPropChanged('selectedSubtitlesTrackId');\n events.emit('subtitlesTrackLoaded', selectedSubtitlesTrack);\n }\n }\n\n break;\n }\n case 'subtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n offset = Math.max(0, Math.min(100, parseInt(propValue, 10)));\n refreshSubtitle();\n onPropChanged('subtitlesOffset');\n }\n\n break;\n }\n case 'subtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n size = Math.max(0, parseInt(propValue, 10));\n refreshSubtitle();\n onPropChanged('subtitlesSize');\n }\n\n break;\n }\n case 'subtitlesTextColor': {\n if (typeof propValue === 'string') {\n try {\n textColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n onPropChanged('subtitlesTextColor');\n }\n\n break;\n }\n case 'subtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n try {\n backgroundColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesBackgroundColor');\n }\n\n break;\n }\n case 'subtitlesOutlineColor': {\n if (typeof propValue === 'string') {\n try {\n outlineColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesOutlineColor');\n }\n\n break;\n }\n case 'subtitlesOpacity': {\n if (typeof propValue === 'number') {\n try {\n subtitlesOpacity = Math.min(Math.max(propValue / 100, 0), 1);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesOpacity');\n }\n\n break;\n }\n case 'selectedAudioTrackId': {\n if (stream !== null) {\n for (var index = 0; index < videoElement.audioTracks.length; index++) {\n videoElement.audioTracks[index].enabled = !!('EMBEDDED_' + String(index) === propValue);\n }\n }\n\n var selectedAudioTrack = getProp('audioTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n\n if (selectedAudioTrack) {\n onPropChanged('selectedAudioTrackId');\n events.emit('audioTrackLoaded', selectedAudioTrack);\n }\n\n break;\n }\n case 'volume': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.muted = false;\n videoElement.volume = Math.max(0, Math.min(100, parseInt(propValue, 10))) / 100;\n onPropChanged('muted');\n onPropChanged('volume');\n }\n\n break;\n }\n case 'muted': {\n videoElement.muted = !!propValue;\n onPropChanged('muted');\n break;\n }\n case 'playbackSpeed': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.playbackRate = parseFloat(propValue);\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n stream = commandArgs.stream;\n onPropChanged('stream');\n onPropChanged('loaded');\n videoElement.autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;\n videoElement.currentTime = commandArgs.time !== null && isFinite(commandArgs.time) ? parseInt(commandArgs.time, 10) / 1000 : 0;\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n if (videoElement.textTracks) {\n videoElement.textTracks.onaddtrack = function() {\n videoElement.textTracks.onaddtrack = null;\n setTimeout(function() {\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n });\n };\n }\n if (videoElement.audioTracks) {\n videoElement.audioTracks.onaddtrack = function() {\n videoElement.audioTracks.onaddtrack = null;\n setTimeout(function() {\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n });\n };\n }\n videoElement.src = stream.url;\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n stream = null;\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = null;\n });\n videoElement.removeAttribute('src');\n videoElement.load();\n videoElement.currentTime = 0;\n onPropChanged('stream');\n onPropChanged('loaded');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n onPropChanged('subtitlesOffset');\n onPropChanged('subtitlesSize');\n onPropChanged('subtitlesTextColor');\n onPropChanged('subtitlesBackgroundColor');\n onPropChanged('subtitlesOutlineColor');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n events.removeAllListeners();\n videoElement.onerror = null;\n videoElement.onended = null;\n videoElement.onpause = null;\n videoElement.onplay = null;\n videoElement.ontimeupdate = null;\n videoElement.ondurationchange = null;\n videoElement.onwaiting = null;\n videoElement.onseeking = null;\n videoElement.onseeked = null;\n videoElement.onstalled = null;\n videoElement.onplaying = null;\n videoElement.oncanplay = null;\n videoElement.canplaythrough = null;\n videoElement.onloadeddata = null;\n videoElement.onvolumechange = null;\n videoElement.onratechange = null;\n videoElement.textTracks.onchange = null;\n containerElement.removeChild(videoElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nTitanVideo.canPlayStream = function(stream) {\n if (!stream) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n};\n\nTitanVideo.manifest = {\n name: 'TitanVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'subtitlesOpacity', 'volume', 'muted', 'playbackSpeed'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']\n};\n\nmodule.exports = TitanVideo;\n","var TitanVideo = require('./TitanVideo');\n\nmodule.exports = TitanVideo;\n","const SCOPE = 'AVPlay';\n\nconst createAVPlay = (transport) => {\n const getState = () => {\n return transport.request(SCOPE, 'getState');\n };\n\n const getCurrentTime = () => {\n return transport.request(SCOPE, 'getCurrentTime');\n };\n\n const getDuration = () => {\n return transport.request(SCOPE, 'getDuration');\n };\n\n const getTotalTrackInfo = () => {\n return transport.request(SCOPE, 'getTotalTrackInfo');\n };\n\n const getCurrentStreamInfo = () => {\n return transport.request(SCOPE, 'getCurrentStreamInfo');\n };\n\n const open = (path) => {\n return transport.request(SCOPE, 'open', path);\n };\n\n const prepareAsync = async (successHandler, errorHandler) => {\n const [handler, handlerResult] = await transport.request(SCOPE, 'prepareAsync', 'handler:success', 'handler:error');\n if (handler === 'handler:success') successHandler();\n if (handler === 'handler:error') errorHandler(...handlerResult);\n };\n\n const pause = () => {\n return transport.request(SCOPE, 'pause');\n };\n\n const play = () => {\n return transport.request(SCOPE, 'play');\n };\n\n const stop = () => {\n return transport.request(SCOPE, 'stop');\n };\n\n const seekTo = (time) => {\n return transport.request(SCOPE, 'seekTo', time);\n };\n\n const setSpeed = (rate) => {\n return transport.request(SCOPE, 'setSpeed', rate);\n };\n\n const setSelectTrack = (type, id) => {\n return transport.request(SCOPE, 'setSelectTrack', type, id);\n };\n\n const setDisplayRect = (x, y, width, height) => {\n return transport.request(SCOPE, 'setDisplayRect', x, y, width, height);\n };\n\n const setDisplayMethod = (method) => {\n return transport.request(SCOPE, 'setDisplayMethod', method);\n };\n\n const setListener = (listener) => {\n const handlers = Object.keys(listener).map((name) => `handler:${name}`);\n const onHandlerResponse = (handler, handlerResult) => {\n const name = handler.replace('handler:', '');\n if (listener[name]) {\n handlerResult ? listener[name](...handlerResult) : listener[name]();\n }\n };\n\n transport.listen(SCOPE, 'setListener', onHandlerResponse, ...handlers);\n };\n\n return {\n getState,\n getCurrentTime,\n getDuration,\n getTotalTrackInfo,\n getCurrentStreamInfo,\n open,\n prepareAsync,\n pause,\n play,\n stop,\n seekTo,\n setSpeed,\n setSelectTrack,\n setDisplayRect,\n setDisplayMethod,\n setListener,\n };\n};\n\nmodule.exports = createAVPlay;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar Color = require('color');\nvar ERROR = require('../error');\nvar getTracksData = require('../tracksData');\nvar createAVPlay = require('./AVPlay');\n\nvar SSA_DESCRIPTORS_REGEX = /^\\{(\\\\an[1-8])+\\}/i;\n\nfunction TizenVideo(options) {\n options = options || {};\n\n var isBuffering = true;\n var videoSpeed = 1;\n var currentSubTrack = null;\n var currentAudioTrack = null;\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var AVPlay = createAVPlay(options.transport);\n\n var promiseAudioTrackChange = false;\n\n var size = 100;\n var offset = 0;\n var textColor = 'rgb(255, 255, 255)';\n var backgroundColor = 'rgba(0, 0, 0, 0)';\n var outlineColor = 'rgb(34, 34, 34)';\n var subtitlesOpacity = 1;\n\n var objElement = document.createElement('object');\n objElement.type = 'application/avplayer';\n objElement.style.width = '100%';\n objElement.style.height = '100%';\n objElement.style.backgroundColor = 'black';\n\n var lastSub;\n var disabledSubs = false;\n\n async function refreshSubtitle() {\n if (lastSub) {\n var currentTime = await getProp('time');\n var lastSubDurationDiff = lastSub.duration - (currentTime - lastSub.now);\n if (lastSubDurationDiff > 0) renderSubtitle(lastSubDurationDiff, lastSub.text);\n }\n }\n\n async function renderSubtitle(duration, text) {\n if (disabledSubs) return;\n var now = await getProp('time');\n var cleanedText = text.replace(SSA_DESCRIPTORS_REGEX, '');\n\n // we ignore custom delay here, it's not needed for embedded subs\n lastSub = {\n duration: duration,\n text: cleanedText,\n now: now,\n };\n if (subtitleTimeout) {\n clearTimeout(subtitleTimeout);\n subtitleTimeout = false;\n }\n\n while (subtitlesElement.hasChildNodes()) {\n subtitlesElement.removeChild(subtitlesElement.lastChild);\n }\n\n subtitlesElement.style.bottom = offset + '%';\n subtitlesElement.style.opacity = subtitlesOpacity;\n\n var cueNode = document.createElement('span');\n cueNode.innerHTML = cleanedText;\n cueNode.style.display = 'inline-block';\n cueNode.style.padding = '0.2em';\n cueNode.style.fontSize = Math.floor(size / 25) + 'vmin';\n cueNode.style.color = textColor;\n cueNode.style.backgroundColor = backgroundColor;\n cueNode.style.textShadow = '1px 1px 0.1em ' + outlineColor;\n\n subtitlesElement.appendChild(cueNode);\n subtitlesElement.appendChild(document.createElement('br'));\n\n if (duration) {\n subtitleTimeout = setTimeout(function() {\n while (subtitlesElement.hasChildNodes()) {\n subtitlesElement.removeChild(subtitlesElement.lastChild);\n }\n }, parseInt(duration * videoSpeed));\n }\n }\n\n var subtitleTimeout = false;\n\n AVPlay.setListener({\n onbufferingstart: function() {\n isBuffering = true;\n onPropChanged('buffering');\n },\n onbufferingprogress: function() {\n isBuffering = true;\n onPropChanged('buffering');\n },\n onbufferingcomplete: function() {\n isBuffering = false;\n onPropChanged('buffering');\n },\n oncurrentplaytime: function() {\n onPropChanged('time');\n },\n onsubtitlechange: function(duration, text) {\n renderSubtitle(duration, text);\n },\n onstreamcompleted: function() {\n onEnded();\n }\n });\n\n containerElement.appendChild(objElement);\n\n var subtitlesElement = document.createElement('div');\n subtitlesElement.style.position = 'absolute';\n subtitlesElement.style.right = '0';\n subtitlesElement.style.bottom = '0';\n subtitlesElement.style.left = '0';\n subtitlesElement.style.zIndex = '1';\n subtitlesElement.style.textAlign = 'center';\n containerElement.style.position = 'relative';\n containerElement.style.zIndex = '0';\n containerElement.appendChild(subtitlesElement);\n\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var retries = 0;\n var maxRetries = 5;\n var isLoaded = null;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOutlineColor: false,\n subtitlesOpacity: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n playbackSpeed: false\n };\n\n var gotTraktData = false;\n var tracksData = { audio: [], subs: [] };\n\n function retrieveExtendedTracks() {\n if (!gotTraktData && stream !== null) {\n gotTraktData = true;\n getTracksData(stream.url, function(resp) {\n if (resp) {\n tracksData = resp;\n }\n if (((tracksData || {}).subs || []).length) {\n onPropChanged('subtitlesTracks');\n }\n if (((tracksData || {}).audio || []).length) {\n onPropChanged('audioTracks');\n }\n });\n }\n }\n\n async function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n return isLoaded;\n }\n case 'paused': {\n if (stream === null) {\n return null;\n }\n\n var state = await AVPlay.getState();\n var isPaused = !!(state === 'PAUSED');\n\n if (!isPaused && promiseAudioTrackChange) {\n AVPlay.setSelectTrack('AUDIO', parseInt(promiseAudioTrackChange.replace('EMBEDDED_', '')));\n promiseAudioTrackChange = false;\n }\n\n return isPaused;\n }\n case 'time': {\n var currentTime = await AVPlay.getCurrentTime();\n if (stream === null || currentTime === null || !isFinite(currentTime)) {\n return null;\n }\n\n return Math.floor(currentTime);\n }\n case 'duration': {\n var duration = await AVPlay.getDuration();\n if (stream === null || duration === null || !isFinite(duration)) {\n return null;\n }\n\n return Math.floor(duration);\n }\n case 'buffering': {\n if (stream === null) {\n return null;\n }\n\n return isBuffering;\n }\n case 'subtitlesTracks': {\n if (stream === null) {\n return [];\n }\n\n var totalTrackInfo = await AVPlay.getTotalTrackInfo();\n var textTracks = [];\n\n for (var i = 0; i < totalTrackInfo.length; i++) {\n if (totalTrackInfo[i].type === 'TEXT') {\n var textTrack = totalTrackInfo[i];\n var textTrackId = 'EMBEDDED_' + String(textTrack.index);\n if (!currentSubTrack && !textTracks.length) {\n currentSubTrack = textTrackId;\n }\n var extra = {};\n try {\n extra = JSON.parse(textTrack.extra_info);\n } catch(e) {}\n var textTrackLang = typeof extra.track_lang === 'string' && extra.track_lang.length > 0 ? extra.track_lang.trim() : null;\n var textTrackLabel = null;\n if (((tracksData || {}).subs || []).length) {\n var extendedTrackData = tracksData.subs.find(function(el) {\n return (el || {}).id-1 === textTrack.index;\n });\n if (extendedTrackData) {\n textTrackLang = extendedTrackData.lang || 'eng';\n textTrackLabel = extendedTrackData.label || null;\n }\n }\n textTracks.push({\n id: textTrackId,\n lang: textTrackLang,\n label: textTrackLabel,\n origin: 'EMBEDDED',\n embedded: true,\n mode: !disabledSubs && textTrackId === currentSubTrack ? 'showing' : 'disabled',\n });\n }\n }\n\n return textTracks;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null || disabledSubs) {\n return null;\n }\n\n var currentTracks = await AVPlay.getCurrentStreamInfo();\n var currentIndex;\n\n for (var i = 0; i < currentTracks.length; i++) {\n if (currentTracks[i].type === 'TEXT') {\n currentIndex = currentTracks[i].index;\n\n break;\n }\n }\n\n return currentIndex ? 'EMBEDDED_' + String(currentIndex) : null;\n\n }\n case 'subtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return offset;\n }\n case 'subtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return size;\n }\n case 'subtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return textColor;\n }\n case 'subtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return backgroundColor;\n }\n case 'subtitlesOutlineColor': {\n if (destroyed) {\n return null;\n }\n\n return outlineColor;\n }\n case 'subtitlesOpacity': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOpacity;\n }\n case 'audioTracks': {\n if (stream === null) {\n return [];\n }\n\n var totalTrackInfo = await AVPlay.getTotalTrackInfo();\n var audioTracks = [];\n\n for (var i = 0; i < totalTrackInfo.length; i++) {\n if (totalTrackInfo[i].type === 'AUDIO') {\n var audioTrack = totalTrackInfo[i];\n var audioTrackId = 'EMBEDDED_' + String(audioTrack.index);\n if (!currentAudioTrack && !audioTracks.length) {\n currentAudioTrack = audioTrackId;\n }\n var extra = {};\n try {\n extra = JSON.parse(audioTrack.extra_info);\n } catch(e) {}\n var audioTrackLang = typeof extra.language === 'string' && extra.language.length > 0 ? extra.language : null;\n var audioTrackLabel = null;\n if (((tracksData || {}).audio || []).length) {\n var extendedTrackData = tracksData.audio.find(function(el) {\n return (el || {}).id-1 === audioTrack.index;\n });\n if (extendedTrackData) {\n audioTrackLang = extendedTrackData.lang || 'eng';\n audioTrackLabel = extendedTrackData.label || null;\n }\n }\n audioTracks.push({\n id: audioTrackId,\n lang: audioTrackLang,\n label: audioTrackLabel,\n origin: 'EMBEDDED',\n embedded: true,\n mode: audioTrackId === currentAudioTrack ? 'showing' : 'disabled',\n });\n }\n }\n\n return audioTracks;\n }\n case 'selectedAudioTrackId': {\n if (stream === null) {\n return null;\n }\n\n if (promiseAudioTrackChange) {\n return promiseAudioTrackChange;\n }\n\n var currentTracks = await AVPlay.getCurrentStreamInfo();\n var currentIndex = false;\n\n for (var i = 0; i < currentTracks.length; i++) {\n if (currentTracks[i].type === 'AUDIO') {\n currentIndex = currentTracks[i].index;\n\n break;\n }\n }\n\n return currentIndex !== false ? 'EMBEDDED_' + String(currentIndex) : null;\n }\n case 'playbackSpeed': {\n if (destroyed || videoSpeed === null || !isFinite(videoSpeed)) {\n return null;\n }\n\n return videoSpeed;\n }\n default: {\n return null;\n }\n }\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n async function onPropChanged(propName) {\n if (observedProps[propName]) {\n var propValue = await getProp(propName);\n events.emit('propChanged', propName, propValue);\n }\n }\n async function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n var propValue = await getProp(propName);\n events.emit('propValue', propName, propValue);\n observedProps[propName] = true;\n }\n }\n async function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n var willPause = !!propValue;\n willPause ? AVPlay.pause() : AVPlay.play();\n if (willPause) {\n if (subtitleTimeout) {\n clearTimeout(subtitleTimeout);\n }\n } else {\n refreshSubtitle();\n }\n }\n\n onPropChanged('paused');\n\n // the paused state is usually correct, but i have seen it not change on tizen 3\n // which causes all kinds of issues in the UI: (only happens with some videos)\n var lastKnownProp = await getProp('paused');\n\n setTimeout(async function() {\n if (await getProp('paused') !== lastKnownProp) {\n onPropChanged('paused');\n }\n }, 1000);\n\n break;\n }\n case 'time': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n AVPlay.seekTo(parseInt(propValue, 10));\n renderSubtitle(1, '');\n onPropChanged('time');\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n if ((currentSubTrack || '').indexOf('EMBEDDED_') === 0) {\n if ((propValue || '').indexOf('EMBEDDED_') === -1) {\n renderSubtitle(1, '');\n disabledSubs = true;\n onPropChanged('selectedSubtitlesTrackId');\n return;\n }\n disabledSubs = false;\n\n currentSubTrack = propValue;\n\n var subtitlesTracks = await getProp('subtitlesTracks');\n var selectedSubtitlesTrack = subtitlesTracks\n .find(function(track) {\n return track.id === propValue;\n });\n\n AVPlay.setSelectTrack('TEXT', parseInt(currentSubTrack.replace('EMBEDDED_', '')));\n\n if (selectedSubtitlesTrack) {\n events.emit('subtitlesTrackLoaded', selectedSubtitlesTrack);\n onPropChanged('selectedSubtitlesTrackId');\n }\n } else if (!propValue) {\n renderSubtitle(1, '');\n disabledSubs = true;\n onPropChanged('selectedSubtitlesTrackId');\n }\n }\n\n break;\n }\n case 'subtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n offset = Math.max(0, Math.min(100, parseInt(propValue, 10)));\n refreshSubtitle();\n onPropChanged('subtitlesOffset');\n }\n\n break;\n }\n case 'subtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n size = Math.max(0, parseInt(propValue, 10));\n refreshSubtitle();\n onPropChanged('subtitlesSize');\n }\n\n break;\n }\n case 'subtitlesTextColor': {\n if (typeof propValue === 'string') {\n try {\n textColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n onPropChanged('subtitlesTextColor');\n }\n\n break;\n }\n case 'subtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n try {\n backgroundColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesBackgroundColor');\n }\n\n break;\n }\n case 'subtitlesOutlineColor': {\n if (typeof propValue === 'string') {\n try {\n outlineColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesOutlineColor');\n }\n\n break;\n }\n case 'subtitlesOpacity': {\n if (typeof propValue === 'number') {\n try {\n subtitlesOpacity = Math.min(Math.max(propValue / 100, 0), 1);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Tizen player with HTML Subtitles', error);\n }\n\n refreshSubtitle();\n\n onPropChanged('subtitlesOpacity');\n }\n\n break;\n }\n case 'selectedAudioTrackId': {\n if (stream !== null) {\n currentAudioTrack = propValue;\n\n var audioTracks = await getProp('audioTracks');\n var selectedAudioTrack = audioTracks\n .find(function(track) {\n return track.id === propValue;\n });\n\n if (await getProp('paused')) {\n // issues before this logic:\n // tizen 3 does not allow changing audio track when paused\n // tizen 5 does, but it will only change getProp('selectedAudioTrackId') after playback starts\n\n // will be changed on next play event, until then we will overwrite the result of getProp('selectedAudioTrackId')\n promiseAudioTrackChange = propValue;\n onPropChanged('selectedAudioTrackId');\n } else {\n AVPlay.setSelectTrack('AUDIO', parseInt(currentAudioTrack.replace('EMBEDDED_', '')));\n }\n if (selectedAudioTrack) {\n events.emit('audioTrackLoaded', selectedAudioTrack);\n onPropChanged('selectedAudioTrackId');\n }\n }\n\n break;\n }\n case 'playbackSpeed': {\n if (propValue !== null && isFinite(propValue)) {\n videoSpeed = parseFloat(propValue);\n\n try {\n AVPlay.setSpeed(videoSpeed);\n } catch (e) {}\n\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n stream = commandArgs.stream;\n\n if (stream !== commandArgs.stream) {\n return;\n }\n onPropChanged('buffering');\n\n var tizenVersion = false;\n\n var TIZEN_MATCHES = navigator.userAgent.match(/Tizen (\\d+\\.\\d+)/i);\n\n if (TIZEN_MATCHES && TIZEN_MATCHES[1]) {\n tizenVersion = parseFloat(TIZEN_MATCHES[1]);\n }\n\n if (!tizenVersion || tizenVersion >= 6) {\n retrieveExtendedTracks();\n }\n\n AVPlay.open(stream.url);\n AVPlay.setDisplayRect(0, 0, window.innerWidth, window.innerHeight);\n AVPlay.setDisplayMethod('PLAYER_DISPLAY_MODE_LETTER_BOX');\n AVPlay.seekTo(commandArgs.time !== null && isFinite(commandArgs.time) ? parseInt(commandArgs.time, 10) : 0);\n\n function onPrepareSuccess() {\n onPropChanged('duration');\n AVPlay.play();\n\n isLoaded = true;\n onPropChanged('loaded');\n onPropChanged('stream');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n }\n\n function onPrepareError(error) {\n if (retries < maxRetries) {\n retries++;\n try {\n AVPlay.stop();\n } catch(e) {}\n command('load', commandArgs);\n } else {\n onError(Object.assign({}, ERROR.STREAM_FAILED_TO_LOAD, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null,\n error: error,\n }));\n }\n }\n\n AVPlay.prepareAsync(onPrepareSuccess, onPrepareError);\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n stream = null;\n AVPlay.stop();\n isLoaded = false;\n onPropChanged('loaded');\n onPropChanged('stream');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n AVPlay.stop();\n onPropChanged('subtitlesOffset');\n onPropChanged('subtitlesSize');\n onPropChanged('subtitlesTextColor');\n onPropChanged('subtitlesBackgroundColor');\n onPropChanged('subtitlesOutlineColor');\n onPropChanged('subtitlesOpacity');\n onPropChanged('playbackSpeed');\n events.removeAllListeners();\n containerElement.removeChild(objElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nTizenVideo.canPlayStream = function() {\n return Promise.resolve(true);\n};\n\nTizenVideo.manifest = {\n name: 'TizenVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOutlineColor', 'subtitlesOpacity', 'playbackSpeed'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']\n};\n\nmodule.exports = TizenVideo;\n","var TizenVideo = require('./TizenVideo');\n\nmodule.exports = TizenVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\n\nvar SSA_DESCRIPTORS_REGEX = /^\\{(\\\\an[1-8])+\\}/i;\n\nfunction VidaaVideo(options) {\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var videoElement = document.createElement('video');\n videoElement.style.width = '100%';\n videoElement.style.height = '100%';\n videoElement.style.backgroundColor = 'black';\n videoElement.controls = false;\n videoElement.playsInline = true;\n videoElement.onerror = function() {\n onVideoError();\n };\n videoElement.onended = function() {\n onEnded();\n };\n videoElement.onpause = function() {\n onPropChanged('paused');\n };\n videoElement.onplay = function() {\n onPropChanged('paused');\n };\n videoElement.ontimeupdate = function() {\n onPropChanged('time');\n };\n videoElement.ondurationchange = function() {\n onPropChanged('duration');\n };\n videoElement.onwaiting = function() {\n onPropChanged('buffering');\n };\n videoElement.onseeking = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n };\n videoElement.onseeked = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n };\n videoElement.onstalled = function() {\n onPropChanged('buffering');\n };\n videoElement.onplaying = function() {\n onPropChanged('time');\n onPropChanged('buffering');\n };\n videoElement.oncanplay = function() {\n onPropChanged('buffering');\n };\n videoElement.canplaythrough = function() {\n onPropChanged('buffering');\n };\n videoElement.onloadedmetadata = function() {\n onPropChanged('loaded');\n };\n videoElement.onloadeddata = function() {\n onPropChanged('buffering');\n };\n videoElement.onvolumechange = function() {\n onPropChanged('volume');\n onPropChanged('muted');\n };\n videoElement.onratechange = function() {\n onPropChanged('playbackSpeed');\n };\n videoElement.textTracks.onchange = function() {\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onCueChange();\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = onCueChange;\n });\n };\n containerElement.appendChild(videoElement);\n\n var subtitlesElement = document.createElement('div');\n subtitlesElement.style.position = 'absolute';\n subtitlesElement.style.right = '0';\n subtitlesElement.style.bottom = '0';\n subtitlesElement.style.left = '0';\n subtitlesElement.style.zIndex = '1';\n subtitlesElement.style.textAlign = 'center';\n containerElement.style.position = 'relative';\n containerElement.style.zIndex = '0';\n containerElement.appendChild(subtitlesElement);\n\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n volume: false,\n muted: false,\n playbackSpeed: false\n };\n\n function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState >= videoElement.HAVE_METADATA;\n }\n case 'paused': {\n if (stream === null) {\n return null;\n }\n\n return !!videoElement.paused;\n }\n case 'time': {\n if (stream === null || videoElement.currentTime === null || !isFinite(videoElement.currentTime)) {\n return null;\n }\n\n return Math.floor(videoElement.currentTime * 1000);\n }\n case 'duration': {\n if (stream === null || videoElement.duration === null || !isFinite(videoElement.duration)) {\n return null;\n }\n\n return Math.floor(videoElement.duration * 1000);\n }\n case 'buffering': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState < videoElement.HAVE_FUTURE_DATA;\n }\n case 'subtitlesTracks': {\n if (stream === null) {\n return [];\n }\n\n return Array.from(videoElement.textTracks)\n .map(function(track, index) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(index),\n lang: track.language,\n label: track.label || null,\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null) {\n return null;\n }\n\n return Array.from(videoElement.textTracks)\n .reduce(function(result, track, index) {\n if (result === null && track.mode === 'showing') {\n return 'EMBEDDED_' + String(index);\n }\n\n return result;\n }, null);\n }\n case 'audioTracks': {\n if (stream === null) {\n return [];\n }\n\n if (!videoElement.audioTracks || !Array.from(videoElement.audioTracks).length) {\n return [];\n }\n\n return Array.from(videoElement.audioTracks)\n .map(function(track, index) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(index),\n lang: track.language,\n label: track.label || null,\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedAudioTrackId': {\n\n if (stream === null) {\n return null;\n }\n\n if (!videoElement.audioTracks || !Array.from(videoElement.audioTracks).length) {\n return null;\n }\n\n return Array.from(videoElement.audioTracks)\n .reduce(function(result, track, index) {\n if (result === null && track.enabled) {\n return 'EMBEDDED_' + String(index);\n }\n\n return result;\n }, null);\n }\n case 'volume': {\n if (destroyed || videoElement.volume === null || !isFinite(videoElement.volume)) {\n return null;\n }\n\n return Math.floor(videoElement.volume * 100);\n }\n case 'muted': {\n if (destroyed) {\n return null;\n }\n\n return !!videoElement.muted;\n }\n case 'playbackSpeed': {\n if (destroyed || videoElement.playbackRate === null || !isFinite(videoElement.playbackRate)) {\n return null;\n }\n\n return videoElement.playbackRate;\n }\n default: {\n return null;\n }\n }\n }\n function onCueChange() {\n Array.from(videoElement.textTracks).forEach(function(track) {\n Array.from(track.cues || []).forEach(function(cue) {\n cue.snapToLines = false;\n cue.line = 100;\n });\n });\n }\n function onVideoError() {\n if (destroyed) {\n return;\n }\n\n var error;\n switch (videoElement.error.code) {\n case 1: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_ABORTED;\n break;\n }\n case 2: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_NETWORK;\n break;\n }\n case 3: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_DECODE;\n break;\n }\n case 4: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;\n break;\n }\n default: {\n error = ERROR.UNKNOWN_ERROR;\n }\n }\n onError(Object.assign({}, error, {\n critical: true,\n error: videoElement.error\n }));\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n propValue ? videoElement.pause() : videoElement.play();\n onPropChanged('paused');\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n videoElement.currentTime = parseInt(propValue, 10) / 1000;\n onPropChanged('time');\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n Array.from(videoElement.textTracks)\n .forEach(function(track, index) {\n track.mode = 'EMBEDDED_' + String(index) === propValue ? 'showing' : 'disabled';\n });\n var selecterdSubtitlesTrack = getProp('subtitlesTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n if (selecterdSubtitlesTrack) {\n onPropChanged('selectedSubtitlesTrackId');\n events.emit('subtitlesTrackLoaded', selecterdSubtitlesTrack);\n }\n }\n\n break;\n }\n case 'selectedAudioTrackId': {\n if (stream !== null) {\n for (var index = 0; index < videoElement.audioTracks.length; index++) {\n videoElement.audioTracks[index].enabled = !!('EMBEDDED_' + String(index) === propValue);\n }\n }\n\n var selectedAudioTrack = getProp('audioTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n\n if (selectedAudioTrack) {\n onPropChanged('selectedAudioTrackId');\n events.emit('audioTrackLoaded', selectedAudioTrack);\n }\n\n break;\n }\n case 'volume': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.muted = false;\n videoElement.volume = Math.max(0, Math.min(100, parseInt(propValue, 10))) / 100;\n onPropChanged('muted');\n onPropChanged('volume');\n }\n\n break;\n }\n case 'muted': {\n videoElement.muted = !!propValue;\n onPropChanged('muted');\n break;\n }\n case 'playbackSpeed': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.playbackRate = parseFloat(propValue);\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n stream = commandArgs.stream;\n onPropChanged('stream');\n onPropChanged('loaded');\n videoElement.autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;\n videoElement.currentTime = commandArgs.time !== null && isFinite(commandArgs.time) ? parseInt(commandArgs.time, 10) / 1000 : 0;\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n if (videoElement.textTracks) {\n videoElement.textTracks.onaddtrack = function() {\n videoElement.textTracks.onaddtrack = null;\n setTimeout(function() {\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n });\n };\n }\n if (videoElement.audioTracks) {\n videoElement.audioTracks.onaddtrack = function() {\n videoElement.audioTracks.onaddtrack = null;\n setTimeout(function() {\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n });\n };\n }\n videoElement.src = stream.url;\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n stream = null;\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = null;\n });\n videoElement.removeAttribute('src');\n videoElement.load();\n videoElement.currentTime = 0;\n onPropChanged('stream');\n onPropChanged('loaded');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n events.removeAllListeners();\n videoElement.onerror = null;\n videoElement.onended = null;\n videoElement.onpause = null;\n videoElement.onplay = null;\n videoElement.ontimeupdate = null;\n videoElement.ondurationchange = null;\n videoElement.onwaiting = null;\n videoElement.onseeking = null;\n videoElement.onseeked = null;\n videoElement.onstalled = null;\n videoElement.onplaying = null;\n videoElement.oncanplay = null;\n videoElement.canplaythrough = null;\n videoElement.onloadeddata = null;\n videoElement.onvolumechange = null;\n videoElement.onratechange = null;\n videoElement.textTracks.onchange = null;\n containerElement.removeChild(videoElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nVidaaVideo.canPlayStream = function(stream) {\n if (!stream) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n};\n\nVidaaVideo.manifest = {\n name: 'VidaaVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'volume', 'muted', 'playbackSpeed'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']\n};\n\nmodule.exports = VidaaVideo;\n","var VidaaVideo = require('./VidaaVideo');\n\nmodule.exports = VidaaVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\nvar getTracksData = require('../tracksData');\n\nfunction luna(params, call, fail, method) {\n if (call) params.onSuccess = call || function() {};\n\n params.onFailure = function (result) {\n // eslint-disable-next-line no-console\n console.log('WebOS', (params.method || method) + ' [fail][' + result.errorCode + '] ' + result.errorText );\n\n // eslint-disable-next-line no-console\n console.log('fail result', JSON.stringify(result));\n\n if (fail) fail();\n };\n\n window.webOS.service.request(method || 'luna://com.webos.media', params);\n}\n\nfunction launchVideoApp(params, success, failure) {\n window.webOS.service.request('luna://com.webos.applicationManager', {\n method: 'launch',\n parameters: {\n 'id': params.id,\n 'params': {\n 'payload':[\n {\n 'fullPath': params.url,\n 'artist':'',\n 'subtitle':'',\n 'dlnaInfo':{\n 'flagVal':4096,\n 'cleartextSize':'-1',\n 'contentLength':'-1',\n 'opVal':1,\n 'protocolInfo':'http-get:*:video/x-matroska:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000',\n 'duration':0\n },\n 'mediaType':'VIDEO',\n 'thumbnail':'',\n 'deviceType':'DMR',\n 'album':'',\n 'fileName': params.name,\n 'lastPlayPosition': params.position\n }\n ]\n }\n },\n onSuccess: function () {\n success && success();\n },\n onFailure: function () {\n failure && failure(new Error('Failed to launch' + params.id));\n\n if (params.id === 'com.webos.app.photovideo') {\n params.id = 'com.webos.app.smartshare';\n launchVideoApp(params, success, failure);\n } else if(params.id === 'com.webos.app.smartshare') {\n params.id = 'com.webos.app.mediadiscovery';\n launchVideoApp(params, success, failure);\n }\n }\n });\n}\n\nvar webOsColors = ['none', 'black', 'white', 'yellow', 'red', 'green', 'blue'];\nvar stremioColors = {\n // rgba\n 'rgba(0, 0, 0, 0)': 'none',\n 'rgba(0, 0, 0, 255)': 'black',\n 'rgba(255, 255, 255, 255)': 'white',\n 'rgba(255, 255, 0, 255)': 'yellow',\n 'rgba(255, 0, 0, 255)': 'red',\n 'rgba(0, 255, 0, 255)': 'green',\n 'rgba(0, 0, 255, 255)': 'blue',\n // rgba case 2\n 'rgba(0, 0, 0, 1)': 'black',\n 'rgba(255, 255, 255, 1)': 'white',\n 'rgba(255, 255, 0, 1)': 'yellow',\n 'rgba(255, 0, 0, 1)': 'red',\n 'rgba(0, 255, 0, 1)': 'green',\n 'rgba(0, 0, 255, 1)': 'blue',\n // rgb\n 'rgb(0, 0, 0)': 'black',\n 'rgb(255, 255, 255)': 'white',\n 'rgb(255, 255, 0)': 'yellow',\n 'rgb(255, 0, 0)': 'red',\n 'rgb(0, 255, 0)': 'green',\n 'rgb(0, 0, 255)': 'blue',\n // 8-digit hex\n '#000000FF': 'black',\n '#FFFFFFFF': 'white',\n '#FFFF00FF': 'yellow',\n '#FF0000FF': 'red',\n '#00FF00FF': 'green',\n '#0000FFFF': 'blue',\n // 6-digit hex\n '#000000': 'black',\n '#FFFFFF': 'white',\n '#FFFF00': 'yellow',\n '#FF0000': 'red',\n '#00FF00': 'green',\n '#0000FF': 'blue'\n};\n\nfunction stremioSubOffsets(offset) {\n if (offset <= 0) {\n return -3;\n } else if (offset <= 5) {\n return -2;\n } else if (offset <= 10) {\n return 0;\n } else if (offset <= 15) {\n return 2;\n } else if (offset <= 20) {\n return 4;\n }\n return false;\n}\n\nfunction stremioSubSizes(size) {\n // there is also: 0 (tiny)\n if (size <= 100) {\n return 1;\n } else if (size <= 125) {\n // not used because of 50% step\n return 2;\n } else if (size <= 150) {\n return 3;\n } else if (size <= 200) {\n return 4;\n }\n return false;\n}\n\nvar device = {\n unsupportedAudio: ['DTS', 'TRUEHD'],\n unsupportedSubs: ['HDMV/PGS', 'VOBSUB']\n};\n\nvar fetchedDeviceInfo = false;\n\nfunction retrieveDeviceInfo() {\n if (fetchedDeviceInfo) {\n return;\n }\n window.webOS.service.request('luna://com.webos.service.config', {\n method: 'getConfigs',\n parameters: {\n 'configNames': [\n 'tv.model.edidType'\n ]\n },\n onSuccess: function (result) {\n if (((result || {}).configs || {})['tv.model.edidType']) {\n fetchedDeviceInfo = true;\n var edidType = result.configs['tv.model.edidType'].toLowerCase();\n if (edidType.includes('dts')) {\n device.unsupportedAudio = device.unsupportedAudio.filter(function(e) {\n return e !== 'DTS';\n });\n }\n if (edidType.includes('truehd')) {\n device.unsupportedAudio = device.unsupportedAudio.filter(function(e) {\n return e !== 'TRUEHD';\n });\n }\n }\n },\n onFailure: function (err) {\n // eslint-disable-next-line no-console\n console.log('could not get deviceInfo', err);\n }\n });\n}\n\nfunction WebOsVideo(options) {\n\n options = options || {};\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var isLoaded = null;\n\n var subSize = 75;\n\n var disabledSubs = true;\n\n var currentSubTrack = false;\n\n var currentAudioTrack = false;\n\n var textTracks = [];\n\n var audioTracks = [];\n\n var count_message = 0;\n\n var subStyles = {\n color: 'white',\n font_size: 1,\n bg_color: 'none',\n position: -1,\n bg_opacity: 0,\n char_opacity: 255\n };\n\n var toggleSubtitles = function (status) {\n if (!videoElement.mediaId) return;\n\n disabledSubs = !status;\n\n luna({\n method: 'setSubtitleEnable',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'enable': status\n }\n });\n };\n\n var styleElement = document.createElement('style');\n containerElement.appendChild(styleElement);\n styleElement.sheet.insertRule('video::cue { font-size: 4vmin; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0); text-shadow: rgb(34, 34, 34) 1px 1px 0.1em; }');\n var videoElement = document.createElement('video');\n videoElement.style.width = '100%';\n videoElement.style.height = '100%';\n videoElement.style.backgroundColor = 'black';\n // videoElement.crossOrigin = 'anonymous';\n videoElement.controls = false;\n videoElement.onerror = function() {\n onVideoError();\n };\n videoElement.onended = function() {\n onEnded();\n };\n videoElement.onpause = function() {\n onPropChanged('paused');\n };\n videoElement.onplay = function() {\n onPropChanged('paused');\n };\n videoElement.ontimeupdate = function() {\n onPropChanged('time');\n onPropChanged('buffered');\n };\n videoElement.ondurationchange = function() {\n onPropChanged('duration');\n };\n videoElement.onwaiting = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onseeking = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onseeked = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onstalled = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onplaying = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n if (!isLoaded) {\n isLoaded = true;\n onPropChanged('loaded');\n }\n };\n videoElement.oncanplay = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.canplaythrough = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onloadeddata = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n };\n videoElement.onloadedmetadata = function() {\n onPropChanged('buffering');\n onPropChanged('buffered');\n setProp('time', startTime);\n };\n videoElement.onvolumechange = function() {\n onPropChanged('volume');\n onPropChanged('muted');\n };\n videoElement.onratechange = function() {\n onPropChanged('playbackSpeed');\n };\n videoElement.textTracks.onchange = function() {\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onCueChange();\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = onCueChange;\n });\n };\n containerElement.appendChild(videoElement);\n\n var lastSubColor = null;\n var lastSubBgColor = null;\n var lastPlaybackSpeed = 1;\n\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var startTime = null;\n var subtitlesOffset = 0;\n var subtitlesOpacity = 100;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n buffered: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false,\n subtitlesOffset: false,\n subtitlesSize: false,\n subtitlesTextColor: false,\n subtitlesBackgroundColor: false,\n subtitlesOpacity: false,\n audioTracks: false,\n selectedAudioTrackId: false,\n volume: false,\n muted: false,\n playbackSpeed: false\n };\n\n var gotTraktData = false;\n var tracksData = { audio: [], subs: [] };\n\n function retrieveExtendedTracks() {\n if (!gotTraktData && stream !== null) {\n gotTraktData = true;\n getTracksData(stream.url, function(resp) {\n var nrSubs = 0;\n var nrAudio = 0;\n textTracks = [];\n audioTracks = [];\n if (resp) {\n tracksData = resp;\n }\n if (((tracksData || {}).subs || []).length) {\n tracksData.subs.forEach(function(track) {\n if (device.unsupportedSubs.includes(track.codec || '')) {\n return;\n }\n var textTrackId = nrSubs;\n nrSubs++;\n if (!currentSubTrack && !textTracks.length) {\n currentSubTrack = textTrackId;\n }\n textTracks.push({\n id: 'EMBEDDED_' + textTrackId,\n lang: track.lang || 'eng',\n label: track.label || null,\n origin: 'EMBEDDED',\n embedded: true,\n mode: textTrackId === currentSubTrack ? 'showing' : 'disabled',\n });\n });\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n }\n if (((tracksData || {}).audio || []).length) {\n tracksData.audio.forEach(function(track) {\n if (device.unsupportedAudio.includes(track.codec || '')) {\n return;\n }\n var audioTrackId = nrAudio;\n nrAudio++;\n if (!currentAudioTrack && !audioTracks.length) {\n currentAudioTrack = audioTrackId;\n }\n audioTracks.push({\n id: 'EMBEDDED_' + audioTrackId,\n lang: track.lang || 'eng',\n label: track.label || null,\n origin: 'EMBEDDED',\n embedded: true,\n mode: audioTrackId === currentAudioTrack ? 'showing' : 'disabled',\n });\n });\n currentAudioTrack = 'EMBEDDED_0';\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n }\n });\n }\n }\n\n function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n return isLoaded;\n }\n case 'paused': {\n if (stream === null) {\n return null;\n }\n\n return !!videoElement.paused;\n }\n case 'time': {\n if (stream === null || videoElement.currentTime === null || !isFinite(videoElement.currentTime)) {\n return null;\n }\n\n return Math.floor(videoElement.currentTime * 1000);\n }\n case 'duration': {\n if (stream === null || videoElement.duration === null || !isFinite(videoElement.duration)) {\n return null;\n }\n\n return Math.floor(videoElement.duration * 1000);\n }\n case 'buffering': {\n if (stream === null) {\n return null;\n }\n\n return videoElement.readyState < videoElement.HAVE_FUTURE_DATA;\n }\n case 'buffered': {\n if (stream === null) {\n return null;\n }\n\n var time = videoElement.currentTime !== null && isFinite(videoElement.currentTime) ? videoElement.currentTime : 0;\n for (var i = 0; i < videoElement.buffered.length; i++) {\n if (videoElement.buffered.start(i) <= time && time <= videoElement.buffered.end(i)) {\n return Math.floor(videoElement.buffered.end(i) * 1000);\n }\n }\n\n return Math.floor(time * 1000);\n }\n case 'subtitlesTracks': {\n if (stream === null) {\n return [];\n }\n\n return textTracks;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null || disabledSubs) {\n return null;\n }\n\n return currentSubTrack;\n }\n case 'subtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOffset;\n }\n case 'subtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return subSize;\n }\n case 'subtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return lastSubColor || 'rgb(255, 255, 255)';\n }\n case 'subtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return lastSubBgColor || 'rgba(0, 0, 0, 0)';\n }\n case 'subtitlesOpacity': {\n if (destroyed) {\n return null;\n }\n\n return subtitlesOpacity || 100;\n }\n case 'audioTracks': {\n return audioTracks;\n }\n case 'selectedAudioTrackId': {\n return currentAudioTrack;\n }\n case 'volume': {\n if (destroyed || videoElement.volume === null || !isFinite(videoElement.volume)) {\n return null;\n }\n\n return Math.floor(videoElement.volume * 100);\n }\n case 'muted': {\n if (destroyed) {\n return null;\n }\n\n return !!videoElement.muted;\n }\n case 'playbackSpeed': {\n if (destroyed || lastPlaybackSpeed === null || !isFinite(lastPlaybackSpeed)) {\n return null;\n }\n\n return lastPlaybackSpeed;\n }\n default: {\n return null;\n }\n }\n }\n function onCueChange() {\n Array.from(videoElement.textTracks).forEach(function(track) {\n Array.from(track.cues || []).forEach(function(cue) {\n cue.snapToLines = false;\n cue.line = 100 - subtitlesOffset;\n });\n });\n }\n function onVideoError() {\n if (destroyed) {\n return;\n }\n\n var error;\n switch ((videoElement.error || {}).code) {\n case 1: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_ABORTED;\n break;\n }\n case 2: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_NETWORK;\n break;\n }\n case 3: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_DECODE;\n launchVideoApp({\n id: 'com.webos.app.photovideo',\n url: stream.url,\n name: 'Stremio',\n position: -1,\n }, null, function(e) {\n // eslint-disable-next-line no-console\n console.error(e);\n });\n break;\n }\n case 4: {\n error = ERROR.HTML_VIDEO.MEDIA_ERR_SRC_NOT_SUPPORTED;\n launchVideoApp({\n id: 'com.webos.app.photovideo',\n url: stream.url,\n name: 'Stremio',\n position: -1,\n }, null, function(e) {\n // eslint-disable-next-line no-console\n console.error(e);\n });\n break;\n }\n default: {\n error = ERROR.UNKNOWN_ERROR;\n }\n }\n onError(Object.assign({}, error, {\n critical: true,\n error: videoElement.error\n }));\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n propValue ? videoElement.pause() : videoElement.play();\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && videoElement.readyState >= videoElement.HAVE_METADATA && propValue !== null && isFinite(propValue)) {\n try {\n videoElement.currentTime = parseInt(propValue, 10) / 1000;\n onPropChanged('time');\n } catch(e) {\n // console.log('webos video change time error');\n // console.error(e);\n }\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (videoElement.mediaId && stream !== null) {\n if ((propValue || '').indexOf('EMBEDDED_') === 0) {\n toggleSubtitles(true);\n\n subStyles.bg_opacity = subStyles.bg_color === 'none' ? 0 : 255;\n\n [\n 'setSubtitleCharacterColor',\n 'setSubtitleBackgroundColor',\n 'setSubtitlePosition',\n 'setSubtitleFontSize',\n 'setSubtitleBackgroundOpacity',\n 'setSubtitleCharacterOpacity'\n ].forEach(function(key) {\n luna({\n method: key,\n parameters: {\n mediaId: videoElement.mediaId,\n charColor: subStyles.color,\n bgColor: subStyles.bg_color === 'none' ? 'black' : subStyles.bg_color,\n position: subStyles.position,\n fontSize: subStyles.font_size,\n bgOpacity: subStyles.bg_opacity,\n charOpacity: subStyles.char_opacity\n }\n });\n });\n\n // eslint-disable-next-line no-console\n console.log('WebOS', 'change subtitles for id: ', videoElement.mediaId, ' index:', propValue);\n\n currentSubTrack = propValue;\n var trackIndex = parseInt(propValue.replace('EMBEDDED_', ''));\n // eslint-disable-next-line no-console\n console.log('set subs to track idx: ' + trackIndex);\n setTimeout(function() {\n var successCb = function() {\n var selectedSubtitlesTrack = getProp('subtitlesTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n textTracks = textTracks.map(function(track) {\n track.mode = track.id === currentSubTrack ? 'showing' : 'disabled';\n return track;\n });\n if (selectedSubtitlesTrack) {\n events.emit('subtitlesTrackLoaded', selectedSubtitlesTrack);\n onPropChanged('selectedSubtitlesTrackId');\n }\n };\n luna({\n method: 'selectTrack',\n parameters: {\n 'type': 'text',\n 'mediaId': videoElement.mediaId,\n 'index': trackIndex\n }\n }, successCb, successCb);\n }, 500);\n }\n }\n\n if ((propValue || '').indexOf('EMBEDDED_') === -1) {\n currentSubTrack = null;\n onPropChanged('selectedSubtitlesTrackId');\n toggleSubtitles(false);\n }\n\n break;\n }\n case 'subtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n subtitlesOffset = propValue;\n var nextOffset = stremioSubOffsets(Math.max(0, Math.min(100, parseInt(subtitlesOffset, 10))));\n if (nextOffset === false) { // use default\n nextOffset = -2;\n }\n subStyles.position = nextOffset;\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitlePosition',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'position': nextOffset,\n }\n });\n }\n\n onPropChanged('subtitlesOffset');\n }\n\n break;\n }\n case 'subtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n subSize = propValue;\n var nextSubSize = stremioSubSizes(Math.max(0, parseInt(subSize, 10)));\n if (nextSubSize === false) { // use default\n nextSubSize = 1;\n }\n subStyles.font_size = nextSubSize;\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitleFontSize',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'fontSize': nextSubSize,\n }\n });\n }\n\n onPropChanged('subtitlesSize');\n }\n\n break;\n }\n case 'subtitlesTextColor': {\n if (typeof propValue === 'string') {\n // we use setSubtitleCharacterColor instead of setSubtitleColor\n // because it has the same color options as the sub background\n var nextColor = 'white';\n if (stremioColors[propValue] && webOsColors.indexOf(stremioColors[propValue]) > -1) {\n nextColor = stremioColors[propValue];\n }\n subStyles.color = nextColor;\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitleCharacterColor',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'charColor': nextColor,\n }\n });\n }\n lastSubColor = propValue;\n onPropChanged('subtitlesTextColor');\n }\n\n break;\n }\n case 'subtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n if (stremioColors[propValue] && webOsColors.indexOf(stremioColors[propValue]) > -1) {\n subStyles.bg_color = stremioColors[propValue];\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitleBackgroundColor',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'bgColor': stremioColors[propValue] === 'none' ? 'black' : stremioColors[propValue],\n }\n });\n if (stremioColors[propValue] === 'none') {\n luna({\n method: 'setSubtitleBackgroundOpacity',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'bgOpacity': 0,\n }\n });\n } else {\n luna({\n method: 'setSubtitleBackgroundOpacity',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'bgOpacity': 255,\n }\n });\n }\n }\n }\n lastSubBgColor = propValue;\n onPropChanged('subtitlesBackgroundColor');\n }\n\n break;\n }\n case 'subtitlesOpacity': {\n if (typeof propValue === 'number') {\n var nextSubOpacity = Math.floor(propValue / 100 * 255);\n subStyles.char_opacity = nextSubOpacity;\n if (videoElement.mediaId) {\n luna({\n method: 'setSubtitleCharacterOpacity',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'charOpacity': nextSubOpacity,\n }\n });\n }\n\n subtitlesOpacity = propValue;\n onPropChanged('subtitlesOpacity');\n }\n\n break;\n }\n case 'selectedAudioTrackId': {\n if ((propValue || '').indexOf('EMBEDDED_') === 0) {\n currentAudioTrack = propValue;\n var trackIndex = parseInt(propValue.replace('EMBEDDED_', ''));\n if (videoElement.mediaId) {\n luna({\n method: 'selectTrack',\n parameters: {\n 'type': 'audio',\n 'mediaId': videoElement.mediaId,\n 'index': trackIndex\n }\n }, function() {\n var selectedAudioTrack = getProp('audioTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n\n audioTracks = audioTracks.map(function(track) {\n track.mode = track.id === currentAudioTrack ? 'showing' : 'disabled';\n return track;\n });\n\n if (selectedAudioTrack) {\n events.emit('audioTrackLoaded', selectedAudioTrack);\n onPropChanged('selectedAudioTrackId');\n }\n });\n }\n if (videoElement && videoElement.audioTracks) {\n for (var i = 0; i < videoElement.audioTracks.length; i++) {\n videoElement.audioTracks[i].enabled = false;\n }\n\n if(videoElement.audioTracks[trackIndex]) {\n videoElement.audioTracks[trackIndex].enabled = true;\n }\n }\n\n }\n\n break;\n }\n case 'volume': {\n if (propValue !== null && isFinite(propValue)) {\n videoElement.muted = false;\n videoElement.volume = Math.max(0, Math.min(100, parseInt(propValue, 10))) / 100;\n }\n\n break;\n }\n case 'muted': {\n videoElement.muted = !!propValue;\n break;\n }\n case 'playbackSpeed': {\n if (propValue !== null && isFinite(propValue)) {\n lastPlaybackSpeed = parseFloat(propValue);\n if (videoElement.mediaId) {\n luna({\n method: 'setPlayRate',\n parameters: {\n 'mediaId': videoElement.mediaId,\n 'playRate': lastPlaybackSpeed,\n 'audioOutput': true,\n }\n });\n }\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n // not sure about this\n // command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.url === 'string') {\n stream = commandArgs.stream;\n startTime = commandArgs.time;\n\n onPropChanged('stream');\n videoElement.autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;\n\n onPropChanged('loaded');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('buffered');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n\n var count = 0;\n\n var initMediaId = function (cb) {\n function retrieveMediaId() {\n if (videoElement.mediaId) {\n clearInterval(timer);\n retrieveExtendedTracks();\n retrieveDeviceInfo();\n cb();\n return;\n }\n count++;\n if (count > 4) {\n // console.log('failed to get media id');\n clearInterval(timer);\n retrieveExtendedTracks();\n retrieveDeviceInfo();\n cb();\n }\n }\n var timer = setInterval(retrieveMediaId, 300);\n };\n\n var startVideo = function () {\n // console.log('startVideo');\n // not needed?\n // videoElement.src = stream.url;\n\n try {\n videoElement.load();\n } catch(e) {\n // console.log('can\\'t load video');\n // console.error(e);\n }\n\n try {\n // console.log('try play');\n videoElement.play();\n } catch(e) {\n // console.log('can\\'t start video');\n // console.error(e);\n }\n };\n\n videoElement.src = stream.url;\n\n initMediaId(startVideo);\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n break;\n }\n case 'unload': {\n stream = null;\n startTime = null;\n Array.from(videoElement.textTracks).forEach(function(track) {\n track.oncuechange = null;\n });\n videoElement.removeAttribute('src');\n videoElement.load();\n // not sure about this:\n // try {\n // videoElement.currentTime = 0;\n // } catch(e) {\n // console.log('webos video unload error');\n // console.error(e);\n // }\n onPropChanged('stream');\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('buffered');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n onPropChanged('audioTracks');\n onPropChanged('selectedAudioTrackId');\n // not sure about this:\n // unload(function() {});\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n onPropChanged('subtitlesOffset');\n onPropChanged('subtitlesSize');\n onPropChanged('subtitlesTextColor');\n onPropChanged('subtitlesBackgroundColor');\n onPropChanged('subtitlesOpacity');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n events.removeAllListeners();\n videoElement.onerror = null;\n videoElement.onended = null;\n videoElement.onpause = null;\n videoElement.onplay = null;\n videoElement.ontimeupdate = null;\n videoElement.ondurationchange = null;\n videoElement.onwaiting = null;\n videoElement.onseeking = null;\n videoElement.onseeked = null;\n videoElement.onstalled = null;\n videoElement.onplaying = null;\n videoElement.oncanplay = null;\n videoElement.canplaythrough = null;\n videoElement.onloadeddata = null;\n videoElement.onloadedmetadata = null;\n videoElement.onvolumechange = null;\n videoElement.onratechange = null;\n videoElement.textTracks.onchange = null;\n containerElement.removeChild(videoElement);\n containerElement.removeChild(styleElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nWebOsVideo.canPlayStream = function() { // function(stream)\n return Promise.resolve(true);\n};\n\nWebOsVideo.manifest = {\n name: 'WebOsVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'buffered', 'audioTracks', 'selectedAudioTrackId', 'subtitlesTracks', 'selectedSubtitlesTrackId', 'subtitlesOffset', 'subtitlesSize', 'subtitlesTextColor', 'subtitlesBackgroundColor', 'subtitlesOpacity', 'volume', 'muted', 'playbackSpeed'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded', 'audioTrackLoaded']\n};\n\nmodule.exports = WebOsVideo;\n","var WebOsVideo = require('./WebOsVideo');\n\nmodule.exports = WebOsVideo;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar ERROR = require('../error');\n\nfunction YouTubeVideo(options) {\n options = options || {};\n\n var timeChangedTimeout = options.timeChangedTimeout !== null && isFinite(options.timeChangedTimeout) ? parseInt(options.timeChangedTimeout, 10) : 100;\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var apiScriptElement = document.createElement('script');\n apiScriptElement.type = 'text/javascript';\n apiScriptElement.src = 'https://www.youtube.com/iframe_api';\n apiScriptElement.onload = onAPILoaded;\n apiScriptElement.onerror = onAPIError;\n containerElement.appendChild(apiScriptElement);\n var videoContainerElement = document.createElement('div');\n videoContainerElement.style.width = '100%';\n videoContainerElement.style.height = '100%';\n videoContainerElement.style.backgroundColor = 'black';\n containerElement.appendChild(videoContainerElement);\n var timeChangedIntervalId = window.setInterval(function() {\n onPropChanged('time');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n }, timeChangedTimeout);\n\n var video = null;\n var ready = false;\n var pendingLoadArgs = null;\n var events = new EventEmitter();\n var destroyed = false;\n var stream = null;\n var selectedSubtitlesTrackId = null;\n var observedProps = {\n stream: false,\n loaded: false,\n paused: false,\n time: false,\n duration: false,\n buffering: false,\n volume: false,\n muted: false,\n playbackSpeed: false,\n subtitlesTracks: false,\n selectedSubtitlesTrackId: false\n };\n\n function onAPIError() {\n if (destroyed) {\n return;\n }\n\n onError(Object.assign({}, ERROR.YOUTUBE_VIDEO.API_LOAD_FAILED, {\n critical: true\n }));\n }\n function onAPILoaded() {\n if (destroyed) {\n return;\n }\n\n if (!YT || typeof YT.ready !== 'function') {\n onAPIError();\n return;\n }\n\n YT.ready(function() {\n if (destroyed) {\n return;\n }\n\n if (!YT || !YT.PlayerState || typeof YT.Player !== 'function') {\n onAPIError();\n return;\n }\n\n video = new YT.Player(videoContainerElement, {\n width: '100%',\n height: '100%',\n playerVars: {\n autoplay: 1,\n cc_load_policy: 3,\n controls: 0,\n disablekb: 1,\n enablejsapi: 1,\n fs: 0,\n iv_load_policy: 3,\n loop: 0,\n modestbranding: 1,\n playsinline: 1,\n rel: 0\n },\n events: {\n onError: onVideoError,\n onReady: onVideoReady,\n onApiChange: onVideoAPIChange,\n onStateChange: onVideoStateChange\n }\n });\n });\n }\n function onVideoError(videoError) {\n if (destroyed) {\n return;\n }\n\n var error;\n switch (videoError.data) {\n case 2: {\n error = ERROR.YOUTUBE_VIDEO.INVALID_PARAMETER;\n break;\n }\n case 5: {\n error = ERROR.YOUTUBE_VIDEO.HTML5_VIDEO;\n break;\n }\n case 100: {\n error = ERROR.YOUTUBE_VIDEO.VIDEO_NOT_FOUND;\n break;\n }\n case 101:\n case 150: {\n error = ERROR.YOUTUBE_VIDEO.VIDEO_NOT_EMBEDDABLE;\n break;\n }\n default: {\n error = ERROR.UNKNOWN_ERROR;\n }\n }\n onError(Object.assign({}, error, {\n critical: true,\n error: videoError\n }));\n }\n function onVideoReady() {\n if (destroyed) {\n return;\n }\n\n ready = true;\n if (pendingLoadArgs !== null) {\n command('load', pendingLoadArgs);\n pendingLoadArgs = null;\n }\n }\n function onVideoAPIChange() {\n if (destroyed) {\n return;\n }\n\n if (typeof video.loadModule === 'function') {\n video.loadModule('captions');\n }\n if (typeof video.setOption === 'function') {\n video.setOption('captions', 'track', {});\n }\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n }\n function onVideoStateChange(state) {\n onPropChanged('buffering');\n switch (state.data) {\n case YT.PlayerState.ENDED: {\n onEnded();\n break;\n }\n case YT.PlayerState.CUED:\n case YT.PlayerState.UNSTARTED:\n case YT.PlayerState.PAUSED:\n case YT.PlayerState.PLAYING: {\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n break;\n }\n }\n }\n function getProp(propName) {\n switch (propName) {\n case 'stream': {\n return stream;\n }\n case 'loaded': {\n if (stream === null) {\n return null;\n }\n\n return true;\n }\n case 'paused': {\n if (stream === null || typeof video.getPlayerState !== 'function') {\n return null;\n }\n\n return video.getPlayerState() !== YT.PlayerState.PLAYING;\n }\n case 'time': {\n if (stream === null || typeof video.getCurrentTime !== 'function' || video.getCurrentTime() === null || !isFinite(video.getCurrentTime())) {\n return null;\n }\n\n return Math.floor(video.getCurrentTime() * 1000);\n }\n case 'duration': {\n if (stream === null || typeof video.getDuration !== 'function' || video.getDuration() === null || !isFinite(video.getDuration())) {\n return null;\n }\n\n return Math.floor(video.getDuration() * 1000);\n }\n case 'buffering': {\n if (stream === null || typeof video.getPlayerState !== 'function') {\n return null;\n }\n\n return video.getPlayerState() === YT.PlayerState.BUFFERING;\n }\n case 'volume': {\n if (stream === null || typeof video.getVolume !== 'function' || video.getVolume() === null || !isFinite(video.getVolume())) {\n return null;\n }\n\n return video.getVolume();\n }\n case 'muted': {\n if (stream === null || typeof video.isMuted !== 'function') {\n return null;\n }\n\n return video.isMuted();\n }\n case 'playbackSpeed': {\n if (stream === null || typeof video.getPlaybackRate !== 'function' || video.getPlaybackRate() === null || !isFinite(video.getPlaybackRate())) {\n return null;\n }\n\n return video.getPlaybackRate();\n }\n case 'subtitlesTracks': {\n if (stream === null || typeof video.getOption !== 'function') {\n return [];\n }\n\n return (video.getOption('captions', 'tracklist') || [])\n .filter(function(track) {\n return track && typeof track.languageCode === 'string';\n })\n .map(function(track, index) {\n return Object.freeze({\n id: 'EMBEDDED_' + String(index),\n lang: track.languageCode,\n label: typeof track.displayName === 'string' ? track.displayName : track.languageCode,\n origin: 'EMBEDDED',\n embedded: true\n });\n });\n }\n case 'selectedSubtitlesTrackId': {\n if (stream === null) {\n return null;\n }\n\n return selectedSubtitlesTrackId;\n }\n default: {\n return null;\n }\n }\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onEnded() {\n events.emit('ended');\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName));\n }\n }\n function observeProp(propName) {\n if (observedProps.hasOwnProperty(propName)) {\n events.emit('propValue', propName, getProp(propName));\n observedProps[propName] = true;\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'paused': {\n if (stream !== null) {\n propValue ?\n typeof video.pauseVideo === 'function' && video.pauseVideo()\n :\n typeof video.playVideo === 'function' && video.playVideo();\n }\n\n break;\n }\n case 'time': {\n if (stream !== null && typeof video.seekTo === 'function' && propValue !== null && isFinite(propValue)) {\n video.seekTo(parseInt(propValue, 10) / 1000);\n }\n\n break;\n }\n case 'volume': {\n if (stream !== null && propValue !== null && isFinite(propValue)) {\n if (typeof video.unMute === 'function') {\n video.unMute();\n }\n if (typeof video.setVolume === 'function') {\n video.setVolume(Math.max(0, Math.min(100, parseInt(propValue, 10))));\n }\n onPropChanged('muted');\n onPropChanged('volume');\n }\n\n break;\n }\n case 'muted': {\n if (stream !== null) {\n propValue ?\n typeof video.mute === 'function' && video.mute()\n :\n typeof video.unMute === 'function' && video.unMute();\n onPropChanged('muted');\n }\n\n break;\n }\n case 'playbackSpeed': {\n if (stream !== null && typeof video.setPlaybackRate === 'function' && isFinite(propValue)) {\n video.setPlaybackRate(propValue);\n onPropChanged('playbackSpeed');\n }\n\n break;\n }\n case 'selectedSubtitlesTrackId': {\n if (stream !== null) {\n selectedSubtitlesTrackId = null;\n var selecterdTrack = getProp('subtitlesTracks')\n .find(function(track) {\n return track.id === propValue;\n });\n if (typeof video.setOption === 'function') {\n if (selecterdTrack) {\n selectedSubtitlesTrackId = selecterdTrack.id;\n video.setOption('captions', 'track', {\n languageCode: selecterdTrack.lang\n });\n events.emit('subtitlesTrackLoaded', selecterdTrack);\n } else {\n video.setOption('captions', 'track', {});\n }\n }\n onPropChanged('selectedSubtitlesTrackId');\n }\n\n break;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n command('unload');\n if (commandArgs && commandArgs.stream && typeof commandArgs.stream.ytId === 'string') {\n if (ready) {\n stream = commandArgs.stream;\n onPropChanged('stream');\n onPropChanged('loaded');\n var autoplay = typeof commandArgs.autoplay === 'boolean' ? commandArgs.autoplay : true;\n var time = commandArgs.time !== null && isFinite(commandArgs.time) ? parseInt(commandArgs.time, 10) / 1000 : 0;\n if (autoplay && typeof video.loadVideoById === 'function') {\n video.loadVideoById({\n videoId: commandArgs.stream.ytId,\n startSeconds: time\n });\n } else if (typeof video.cueVideoById === 'function') {\n video.cueVideoById({\n videoId: commandArgs.stream.ytId,\n startSeconds: time\n });\n }\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n } else {\n pendingLoadArgs = commandArgs;\n }\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null\n }));\n }\n\n break;\n }\n case 'unload': {\n pendingLoadArgs = null;\n stream = null;\n onPropChanged('stream');\n onPropChanged('loaded');\n selectedSubtitlesTrackId = null;\n if (ready && typeof video.stopVideo === 'function') {\n video.stopVideo();\n }\n onPropChanged('paused');\n onPropChanged('time');\n onPropChanged('duration');\n onPropChanged('buffering');\n onPropChanged('volume');\n onPropChanged('muted');\n onPropChanged('playbackSpeed');\n onPropChanged('subtitlesTracks');\n onPropChanged('selectedSubtitlesTrackId');\n break;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n events.removeAllListeners();\n clearInterval(timeChangedIntervalId);\n if (ready && typeof video.destroy === 'function') {\n video.destroy();\n }\n containerElement.removeChild(apiScriptElement);\n containerElement.removeChild(videoContainerElement);\n break;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n observeProp(action.propName);\n return;\n }\n case 'setProp': {\n setProp(action.propName, action.propValue);\n return;\n }\n case 'command': {\n command(action.commandName, action.commandArgs);\n return;\n }\n }\n }\n\n throw new Error('Invalid action dispatched: ' + JSON.stringify(action));\n };\n}\n\nYouTubeVideo.canPlayStream = function(stream) {\n return Promise.resolve(stream && typeof stream.ytId === 'string');\n};\n\nYouTubeVideo.manifest = {\n name: 'YouTubeVideo',\n external: false,\n props: ['stream', 'loaded', 'paused', 'time', 'duration', 'buffering', 'volume', 'muted', 'playbackSpeed', 'subtitlesTracks', 'selectedSubtitlesTrackId'],\n commands: ['load', 'unload', 'destroy'],\n events: ['propValue', 'propChanged', 'ended', 'error', 'subtitlesTrackLoaded']\n};\n\nmodule.exports = YouTubeVideo;\n","var YouTubeVideo = require('./YouTubeVideo');\n\nmodule.exports = YouTubeVideo;\n","var ERROR = {\n CHROMECAST_SENDER_VIDEO: {\n INVALID_MESSAGE_RECEIVED: {\n code: 100,\n message: 'Invalid message received'\n },\n MESSAGE_SEND_FAILED: {\n code: 101,\n message: 'Failed to send message'\n }\n },\n YOUTUBE_VIDEO: {\n API_LOAD_FAILED: {\n code: 90,\n message: 'YouTube player iframe API failed to load',\n },\n INVALID_PARAMETER: {\n code: 91,\n message: 'The request contains an invalid parameter value'\n },\n HTML5_VIDEO: {\n code: 92,\n message: 'The requested content cannot be played in an HTML5 player'\n },\n VIDEO_NOT_FOUND: {\n code: 93,\n message: 'The video requested was not found'\n },\n VIDEO_NOT_EMBEDDABLE: {\n code: 94,\n message: 'The owner of the requested video does not allow it to be played in embedded players'\n }\n },\n HTML_VIDEO: {\n MEDIA_ERR_ABORTED: {\n code: 80,\n message: 'Fetching process aborted'\n },\n MEDIA_ERR_NETWORK: {\n code: 81,\n message: 'Error occurred when downloading'\n },\n MEDIA_ERR_DECODE: {\n code: 82,\n message: 'Error occurred when decoding'\n },\n MEDIA_ERR_SRC_NOT_SUPPORTED: {\n code: 83,\n message: 'Video is not supported'\n }\n },\n WITH_HTML_SUBTITLES: {\n LOAD_FAILED: {\n code: 70,\n message: 'Failed to load external subtitles'\n }\n },\n WITH_STREAMING_SERVER: {\n CONVERT_FAILED: {\n code: 60,\n message: 'Your device does not support the stream'\n }\n },\n UNKNOWN_ERROR: {\n code: 1,\n message: 'Unknown error'\n },\n UNSUPPORTED_STREAM: {\n code: 2,\n message: 'Stream is not supported'\n },\n STREAM_FAILED_TO_LOAD: {\n code: 3,\n message: 'Stream failed to load'\n }\n};\n\nmodule.exports = ERROR;\n","var StremioVideo = require('./StremioVideo');\n\nmodule.exports = StremioVideo;\n","var VIDEO_CODEC_CONFIGS = [\n {\n codec: 'h264',\n force: window.chrome || window.cast,\n mime: 'video/mp4; codecs=\"avc1.42E01E\"',\n },\n {\n codec: 'h265',\n // Disabled because chrome only has partial support for h265/hvec,\n // force: window.chrome || window.cast,\n mime: 'video/mp4; codecs=\"hev1.1.6.L150.B0\"',\n aliases: ['hevc']\n },\n {\n codec: 'vp8',\n mime: 'video/mp4; codecs=\"vp8\"'\n },\n {\n codec: 'vp9',\n mime: 'video/mp4; codecs=\"vp9\"'\n }\n];\n\nvar AUDIO_CODEC_CONFIGS = [\n {\n codec: 'aac',\n mime: 'audio/mp4; codecs=\"mp4a.40.2\"'\n },\n {\n codec: 'mp3',\n mime: 'audio/mp4; codecs=\"mp3\"'\n },\n {\n codec: 'ac3',\n mime: 'audio/mp4; codecs=\"ac-3\"'\n },\n {\n codec: 'eac3',\n mime: 'audio/mp4; codecs=\"ec-3\"'\n },\n {\n codec: 'vorbis',\n mime: 'audio/mp4; codecs=\"vorbis\"'\n },\n {\n codec: 'opus',\n mime: 'audio/mp4; codecs=\"opus\"'\n }\n];\n\nfunction canPlay(config, options) {\n return config.force || typeof options.mediaElement.canPlayType === 'function' && options.mediaElement.canPlayType(config.mime)\n ? [config.codec].concat(config.aliases || [])\n : [];\n}\n\nfunction getMaxAudioChannels() {\n if (/firefox/i.test(window.navigator.userAgent)) {\n return 6;\n }\n\n if (!window.AudioContext || window.chrome || window.cast) {\n return 2;\n }\n\n var maxChannelCount = new AudioContext().destination.maxChannelCount;\n return maxChannelCount > 0 ? maxChannelCount : 2;\n}\n\nfunction getMediaCapabilities() {\n var mediaElement = document.createElement('video');\n var formats = ['mp4'];\n if (window.chrome || window.cast) {\n formats.push('matroska,webm');\n }\n var videoCodecs = VIDEO_CODEC_CONFIGS\n .map(function(config) {\n return canPlay(config, { mediaElement: mediaElement });\n })\n .reduce(function(result, value) {\n return result.concat(value);\n }, []);\n var audioCodecs = AUDIO_CODEC_CONFIGS\n .map(function(config) {\n return canPlay(config, { mediaElement: mediaElement });\n })\n .reduce(function(result, value) {\n return result.concat(value);\n }, []);\n var maxAudioChannels = getMaxAudioChannels();\n return {\n formats: formats,\n videoCodecs: videoCodecs,\n audioCodecs: audioCodecs,\n maxAudioChannels: maxAudioChannels\n };\n}\n\nmodule.exports = getMediaCapabilities();\n","var platform = null;\n\nmodule.exports = {\n set: function(val) { platform = val; },\n get: function() { return platform; }\n};\n","var platform = require('./platform');\n\nfunction supportsTranscoding() {\n if (['Tizen', 'webOS', 'Titan', 'NetTV'].includes(platform.get()) || typeof window.qt !== 'undefined') {\n return Promise.resolve(false);\n }\n return Promise.resolve(true);\n}\n\nmodule.exports = supportsTranscoding;\n","module.exports = function(url, cb) {\n fetch('http://127.0.0.1:11470/tracks/'+encodeURIComponent(url)).then(function(resp) {\n return resp.json();\n }).then(function(tracks) {\n var audioTracks = tracks.filter(function(el) { return (el || {}).type === 'audio'; });\n var subsTracks = tracks.filter(function(el) { return (el || {}).type === 'text'; });\n cb({ audio: audioTracks, subs: subsTracks });\n }).catch(function(err) {\n // eslint-disable-next-line no-console\n console.error(err);\n cb(false);\n });\n};\n","function binarySearchUpperBound(array, value) {\n if (value < array[0] || array[array.length - 1] < value) {\n return -1;\n }\n\n var left = 0;\n var right = array.length - 1;\n var index = -1;\n while (left <= right) {\n var middle = Math.floor((left + right) / 2);\n if (array[middle] > value) {\n right = middle - 1;\n } else if (array[middle] < value) {\n left = middle + 1;\n } else {\n index = middle;\n left = middle + 1;\n }\n }\n\n return index !== -1 ? index : right;\n}\n\nmodule.exports = binarySearchUpperBound;\n","var withHTMLSubtitles = require('./withHTMLSubtitles');\n\nmodule.exports = withHTMLSubtitles;\n","// from: https://github.com/silviapfeiffer/silviapfeiffer.github.io/blob/master/index.html#L150-L216\n\nfunction srt2webvtt(data) {\n // remove dos newlines\n var srt = data.replace(/\\r+/g, '');\n // trim white space start and end\n srt = srt.replace(/^\\s+|\\s+$/g, '');\n // get cues\n var cuelist = srt.split('\\n\\n');\n var result = '';\n if (cuelist.length > 0) {\n result += 'WEBVTT\\n\\n';\n for (var i = 0; i < cuelist.length; i = i + 1) {\n result += convertSrtCue(cuelist[i]);\n }\n }\n return result;\n}\n\nfunction convertSrtCue(caption) {\n // remove all html tags for security reasons\n caption = caption.replace(/<[a-zA-Z/][^>]*>/g, '');\n\n var cue = '';\n var s = caption.split(/\\n/);\n // concatenate muilt-line string separated in array into one\n while (s.length > 3) {\n for (var i = 3; i < s.length; i++) {\n s[2] += '\\n' + s[i];\n }\n s.splice(3, s.length - 3);\n }\n var line = 0;\n // detect identifier\n if (!s[0].match(/\\d+:\\d+:\\d+/) && s[1].match(/\\d+:\\d+:\\d+/)) {\n cue += s[0].match(/\\w+/) + '\\n';\n line += 1;\n }\n // get time strings\n if (s[line].match(/\\d+:\\d+:\\d+/)) {\n // convert time string\n var m = s[1].match(/(\\d+):(\\d+):(\\d+)(?:,(\\d+))?\\s*--?>\\s*(\\d+):(\\d+):(\\d+)(?:,(\\d+))?/);\n if (m) {\n cue += m[1] + ':' + m[2] + ':' + m[3] + '.' + m[4] + ' --> '\n + m[5] + ':' + m[6] + ':' + m[7] + '.' + m[8] + '\\n';\n line += 1;\n } else {\n // Unrecognized timestring\n return '';\n }\n } else {\n // file format error or comment lines\n return '';\n }\n // get cue text\n if (s[line]) {\n cue += s[line] + '\\n\\n';\n }\n return cue;\n}\n\nmodule.exports = {\n convert: function(text) {\n // presume all to be SRT if not WEBVTT\n if (text.includes('WEBVTT')) {\n return text;\n }\n\n try {\n return srt2webvtt(text);\n } catch (error) {\n throw new Error('Failed to convert srt to webvtt: ' + error.message);\n }\n }\n};\n","var VTTJS = require('vtt.js');\nvar binarySearchUpperBound = require('./binarySearchUpperBound');\n\nvar CRITICAL_ERROR_CODE = 0;\n\nfunction parse(text) {\n return new Promise(function(resolve, reject) {\n var parser = new VTTJS.WebVTT.Parser(window, VTTJS.WebVTT.StringDecoder());\n var errors = [];\n var cues = [];\n var cuesByTime = {};\n\n parser.oncue = function(c) {\n var cue = {\n startTime: (c.startTime * 1000) | 0,\n endTime: (c.endTime * 1000) | 0,\n text: c.text\n };\n cues.push(cue);\n cuesByTime[cue.startTime] = cuesByTime[cue.startTime] || [];\n cuesByTime[cue.endTime] = cuesByTime[cue.endTime] || [];\n };\n\n parser.onparsingerror = function(error) {\n if (error.code === CRITICAL_ERROR_CODE) {\n parser.oncue = null;\n parser.onparsingerror = null;\n parser.onflush = null;\n reject(error);\n } else {\n console.warn('Subtitles parsing error', error);\n errors.push(error);\n }\n };\n\n parser.onflush = function() {\n cuesByTime.times = Object.keys(cuesByTime)\n .map(function(time) {\n return parseInt(time, 10);\n })\n .sort(function(t1, t2) {\n return t1 - t2;\n });\n for (var i = 0; i < cues.length; i++) {\n cuesByTime[cues[i].startTime].push(cues[i]);\n var startTimeIndex = binarySearchUpperBound(cuesByTime.times, cues[i].startTime);\n for (var j = startTimeIndex + 1; j < cuesByTime.times.length; j++) {\n if (cues[i].endTime <= cuesByTime.times[j]) {\n break;\n }\n\n cuesByTime[cuesByTime.times[j]].push(cues[i]);\n }\n }\n\n for (var k = 0; k < cuesByTime.times.length; k++) {\n cuesByTime[cuesByTime.times[k]].sort(function(c1, c2) {\n return c1.startTime - c2.startTime ||\n c1.endTime - c2.endTime;\n });\n }\n\n parser.oncue = null;\n parser.onparsingerror = null;\n parser.onflush = null;\n // we may have multiple parsing errors here, but will only respond with the first\n // if subtitle cues are available, we will not reject the promise\n if (cues.length === 0 && errors.length) {\n reject(errors[0]);\n } else if (cuesByTime.times.length === 0) {\n reject(new Error('Missing subtitle track cues'));\n } else {\n resolve(cuesByTime);\n }\n };\n\n parser.parse(text);\n });\n}\n\nmodule.exports = {\n parse: parse\n};\n","var VTTJS = require('vtt.js');\nvar binarySearchUpperBound = require('./binarySearchUpperBound');\n\nfunction render(cuesByTime, time) {\n var nodes = [];\n var timeIndex = binarySearchUpperBound(cuesByTime.times, time);\n if (timeIndex !== -1) {\n var cuesForTime = cuesByTime[cuesByTime.times[timeIndex]];\n for (var i = 0; i < cuesForTime.length; i++) {\n var node = VTTJS.WebVTT.convertCueToDOMTree(window, cuesForTime[i].text);\n nodes.push(node);\n }\n }\n\n return nodes;\n}\n\nmodule.exports = {\n render: render\n};\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar Color = require('color');\nvar ERROR = require('../error');\nvar subtitlesParser = require('./subtitlesParser');\nvar subtitlesRenderer = require('./subtitlesRenderer');\nvar subtitlesConverter = require('./subtitlesConverter');\n\nfunction withHTMLSubtitles(Video) {\n function VideoWithHTMLSubtitles(options) {\n options = options || {};\n\n var video = new Video(options);\n video.on('error', onVideoError);\n video.on('propValue', onVideoPropEvent.bind(null, 'propValue'));\n video.on('propChanged', onVideoPropEvent.bind(null, 'propChanged'));\n Video.manifest.events\n .filter(function(eventName) {\n return !['error', 'propValue', 'propChanged'].includes(eventName);\n })\n .forEach(function(eventName) {\n video.on(eventName, onOtherVideoEvent(eventName));\n });\n\n var containerElement = options.containerElement;\n if (!(containerElement instanceof HTMLElement)) {\n throw new Error('Container element required to be instance of HTMLElement');\n }\n\n var subtitlesElement = document.createElement('div');\n subtitlesElement.style.position = 'absolute';\n subtitlesElement.style.right = '0';\n subtitlesElement.style.bottom = '0';\n subtitlesElement.style.left = '0';\n subtitlesElement.style.zIndex = '1';\n subtitlesElement.style.textAlign = 'center';\n containerElement.style.position = 'relative';\n containerElement.style.zIndex = '0';\n containerElement.appendChild(subtitlesElement);\n\n var videoState = {\n time: null\n };\n var cuesByTime = null;\n var events = new EventEmitter();\n var destroyed = false;\n var tracks = [];\n var selectedTrackId = null;\n var delay = null;\n var size = 100;\n var offset = 0;\n var textColor = 'rgb(255, 255, 255)';\n var backgroundColor = 'rgba(0, 0, 0, 0)';\n var outlineColor = 'rgb(34, 34, 34)';\n var opacity = 1;\n\n var observedProps = {\n extraSubtitlesTracks: false,\n selectedExtraSubtitlesTrackId: false,\n extraSubtitlesDelay: false,\n extraSubtitlesSize: false,\n extraSubtitlesOffset: false,\n extraSubtitlesTextColor: false,\n extraSubtitlesBackgroundColor: false,\n extraSubtitlesOutlineColor: false,\n extraSubtitlesOpacity: false\n };\n\n function renderSubtitles() {\n while (subtitlesElement.hasChildNodes()) {\n subtitlesElement.removeChild(subtitlesElement.lastChild);\n }\n\n if (cuesByTime === null || videoState.time === null || !isFinite(videoState.time)) {\n return;\n }\n\n subtitlesElement.style.bottom = offset + '%';\n subtitlesElement.style.opacity = opacity;\n subtitlesRenderer.render(cuesByTime, videoState.time - delay).forEach(function(cueNode) {\n cueNode.style.display = 'inline-block';\n cueNode.style.padding = '0.2em';\n cueNode.style.whiteSpace = 'pre-wrap';\n var fontSizeMultiplier = window.screen720p ? 1.538 : 1;\n cueNode.style.fontSize = Math.floor((size / 25) * fontSizeMultiplier) + 'vmin';\n cueNode.style.color = textColor;\n cueNode.style.backgroundColor = backgroundColor;\n cueNode.style.textShadow = '-0.15rem -0.15rem 0.15rem ' + outlineColor + ', 0px -0.15rem 0.15rem ' + outlineColor + ', 0.15rem -0.15rem 0.15rem ' + outlineColor + ', -0.15rem 0px 0.15rem ' + outlineColor + ', 0.15rem 0px 0.15rem ' + outlineColor + ', -0.15rem 0.15rem 0.15rem ' + outlineColor + ', 0px 0.15rem 0.15rem ' + outlineColor + ', 0.15rem 0.15rem 0.15rem ' + outlineColor;\n subtitlesElement.appendChild(cueNode);\n subtitlesElement.appendChild(document.createElement('br'));\n });\n }\n function onVideoError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onVideoPropEvent(eventName, propName, propValue) {\n switch (propName) {\n case 'time': {\n videoState.time = propValue;\n renderSubtitles();\n break;\n }\n }\n\n events.emit(eventName, propName, getProp(propName, propValue));\n }\n function onOtherVideoEvent(eventName) {\n return function() {\n events.emit.apply(events, [eventName].concat(Array.from(arguments)));\n };\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName, null));\n }\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n video.dispatch({ type: 'command', commandName: 'unload' });\n }\n }\n function getProp(propName, videoPropValue) {\n switch (propName) {\n case 'extraSubtitlesTracks': {\n if (destroyed) {\n return [];\n }\n\n return tracks.slice();\n }\n case 'selectedExtraSubtitlesTrackId': {\n if (destroyed) {\n return null;\n }\n\n return selectedTrackId;\n }\n case 'extraSubtitlesDelay': {\n if (destroyed) {\n return null;\n }\n\n return delay;\n }\n case 'extraSubtitlesSize': {\n if (destroyed) {\n return null;\n }\n\n return size;\n }\n case 'extraSubtitlesOffset': {\n if (destroyed) {\n return null;\n }\n\n return offset;\n }\n case 'extraSubtitlesTextColor': {\n if (destroyed) {\n return null;\n }\n\n return textColor;\n }\n case 'extraSubtitlesBackgroundColor': {\n if (destroyed) {\n return null;\n }\n\n return backgroundColor;\n }\n case 'extraSubtitlesOutlineColor': {\n if (destroyed) {\n return null;\n }\n\n return outlineColor;\n }\n case 'extraSubtitlesOpacity': {\n if (destroyed) {\n return null;\n }\n\n return opacity;\n }\n default: {\n return videoPropValue;\n }\n }\n }\n function observeProp(propName) {\n switch (propName) {\n case 'extraSubtitlesTracks':\n case 'selectedExtraSubtitlesTrackId':\n case 'extraSubtitlesDelay':\n case 'extraSubtitlesSize':\n case 'extraSubtitlesOffset':\n case 'extraSubtitlesTextColor':\n case 'extraSubtitlesBackgroundColor':\n case 'extraSubtitlesOutlineColor':\n case 'extraSubtitlesOpacity': {\n events.emit('propValue', propName, getProp(propName, null));\n observedProps[propName] = true;\n return true;\n }\n default: {\n return false;\n }\n }\n }\n function setProp(propName, propValue) {\n switch (propName) {\n case 'selectedExtraSubtitlesTrackId': {\n cuesByTime = null;\n selectedTrackId = null;\n delay = null;\n var selectedTrack = tracks.find(function(track) {\n return track.id === propValue;\n });\n if (selectedTrack) {\n selectedTrackId = selectedTrack.id;\n delay = 0;\n\n function getSubtitlesData(track, isFallback) {\n var url = isFallback ? track.fallbackUrl : track.url;\n\n if (typeof url === 'string') {\n return fetch(url)\n .then(function(resp) {\n if (resp.ok) {\n return resp.text();\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n });\n }\n\n if (track.buffer instanceof ArrayBuffer) {\n try {\n const uInt8Array = new Uint8Array(track.buffer);\n const text = new TextDecoder().decode(uInt8Array);\n return Promise.resolve(text);\n } catch(e) {\n return Promise.reject(e);\n }\n }\n\n return Promise.reject('No `url` or `buffer` field available for this track');\n }\n\n function loadSubtitles(track, isFallback) {\n getSubtitlesData(track, isFallback)\n .then(function(text) {\n return subtitlesConverter.convert(text);\n })\n .then(function(text) {\n return subtitlesParser.parse(text);\n })\n .then(function(result) {\n if (selectedTrackId !== selectedTrack.id) {\n return;\n }\n\n cuesByTime = result;\n renderSubtitles();\n events.emit('extraSubtitlesTrackLoaded', selectedTrack);\n })\n .catch(function(error) {\n if (selectedTrackId !== selectedTrack.id) {\n return;\n }\n\n if (!isFallback && typeof selectedTrack.fallbackUrl === 'string') {\n loadSubtitles(selectedTrack, true);\n return;\n }\n\n onError(Object.assign({}, ERROR.WITH_HTML_SUBTITLES.LOAD_FAILED, {\n error: error,\n track: selectedTrack,\n critical: false\n }));\n });\n }\n loadSubtitles(selectedTrack);\n }\n renderSubtitles();\n onPropChanged('selectedExtraSubtitlesTrackId');\n onPropChanged('extraSubtitlesDelay');\n return true;\n }\n case 'extraSubtitlesDelay': {\n if (selectedTrackId !== null && propValue !== null && isFinite(propValue)) {\n delay = parseInt(propValue, 10);\n renderSubtitles();\n onPropChanged('extraSubtitlesDelay');\n }\n\n return true;\n }\n case 'extraSubtitlesSize': {\n if (propValue !== null && isFinite(propValue)) {\n size = Math.max(0, parseInt(propValue, 10));\n renderSubtitles();\n onPropChanged('extraSubtitlesSize');\n }\n\n return true;\n }\n case 'extraSubtitlesOffset': {\n if (propValue !== null && isFinite(propValue)) {\n offset = Math.max(0, Math.min(100, parseInt(propValue, 10)));\n renderSubtitles();\n onPropChanged('extraSubtitlesOffset');\n }\n\n return true;\n }\n case 'extraSubtitlesTextColor': {\n if (typeof propValue === 'string') {\n try {\n textColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('withHTMLSubtitles', error);\n }\n\n renderSubtitles();\n onPropChanged('extraSubtitlesTextColor');\n }\n\n return true;\n }\n case 'extraSubtitlesBackgroundColor': {\n if (typeof propValue === 'string') {\n try {\n backgroundColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('withHTMLSubtitles', error);\n }\n\n renderSubtitles();\n onPropChanged('extraSubtitlesBackgroundColor');\n }\n\n return true;\n }\n case 'extraSubtitlesOutlineColor': {\n if (typeof propValue === 'string') {\n try {\n outlineColor = Color(propValue).rgb().string();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('withHTMLSubtitles', error);\n }\n\n renderSubtitles();\n onPropChanged('extraSubtitlesOutlineColor');\n }\n\n return true;\n }\n case 'extraSubtitlesOpacity': {\n if (typeof propValue === 'number') {\n try {\n opacity = Math.min(Math.max(propValue / 100, 0), 1);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('withHTMLSubtitles', error);\n }\n\n renderSubtitles();\n onPropChanged('extraSubtitlesOpacity');\n }\n\n return true;\n }\n default: {\n return false;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'addExtraSubtitlesTracks': {\n if (commandArgs && Array.isArray(commandArgs.tracks)) {\n tracks = tracks\n .concat(commandArgs.tracks)\n .filter(function(track, index, tracks) {\n return track &&\n typeof track.id === 'string' &&\n typeof track.lang === 'string' &&\n typeof track.label === 'string' &&\n typeof track.origin === 'string' &&\n !track.embedded &&\n index === tracks.findIndex(function(t) { return t.id === track.id; });\n });\n onPropChanged('extraSubtitlesTracks');\n }\n\n return true;\n }\n case 'addLocalSubtitles': {\n if (commandArgs && typeof commandArgs.filename === 'string' && commandArgs.buffer instanceof ArrayBuffer) {\n var id = 'LOCAL_' + tracks\n .filter(function(track) { return track.local; })\n .length;\n\n var track = {\n id: id,\n url: null,\n buffer: commandArgs.buffer,\n lang: 'local',\n label: commandArgs.filename,\n origin: 'LOCAL',\n local: true,\n embedded: false,\n };\n\n tracks.push(track);\n\n onPropChanged('extraSubtitlesTracks');\n events.emit('extraSubtitlesTrackAdded', track);\n }\n\n return true;\n }\n case 'load': {\n command('unload');\n if (commandArgs.stream && Array.isArray(commandArgs.stream.subtitles)) {\n command('addExtraSubtitlesTracks', {\n tracks: commandArgs.stream.subtitles.map(function(track) {\n return Object.assign({}, track, {\n origin: 'EXCLUSIVE',\n exclusive: true,\n embedded: false\n });\n })\n });\n }\n\n return false;\n }\n case 'unload': {\n cuesByTime = null;\n tracks = [];\n selectedTrackId = null;\n delay = null;\n renderSubtitles();\n onPropChanged('extraSubtitlesTracks');\n onPropChanged('selectedExtraSubtitlesTrackId');\n onPropChanged('extraSubtitlesDelay');\n return false;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n onPropChanged('extraSubtitlesSize');\n onPropChanged('extraSubtitlesOffset');\n onPropChanged('extraSubtitlesTextColor');\n onPropChanged('extraSubtitlesBackgroundColor');\n onPropChanged('extraSubtitlesOutlineColor');\n onPropChanged('extraSubtitlesOpacity');\n video.dispatch({ type: 'command', commandName: 'destroy' });\n events.removeAllListeners();\n containerElement.removeChild(subtitlesElement);\n return true;\n }\n default: {\n return false;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n if (observeProp(action.propName)) {\n return;\n }\n\n break;\n }\n case 'setProp': {\n if (setProp(action.propName, action.propValue)) {\n return;\n }\n\n break;\n }\n case 'command': {\n if (command(action.commandName, action.commandArgs)) {\n return;\n }\n\n break;\n }\n }\n }\n\n video.dispatch(action);\n };\n }\n\n VideoWithHTMLSubtitles.canPlayStream = function(stream) {\n return Video.canPlayStream(stream);\n };\n\n VideoWithHTMLSubtitles.manifest = {\n name: Video.manifest.name + 'WithHTMLSubtitles',\n external: Video.manifest.external,\n props: Video.manifest.props.concat(['extraSubtitlesTracks', 'selectedExtraSubtitlesTrackId', 'extraSubtitlesDelay', 'extraSubtitlesSize', 'extraSubtitlesOffset', 'extraSubtitlesTextColor', 'extraSubtitlesBackgroundColor', 'extraSubtitlesOutlineColor', 'extraSubtitlesOpacity'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n commands: Video.manifest.commands.concat(['load', 'unload', 'destroy', 'addExtraSubtitlesTracks', 'addLocalSubtitles'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n events: Video.manifest.events.concat(['propValue', 'propChanged', 'error', 'extraSubtitlesTrackLoaded', 'extraSubtitlesTrackAdded'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; })\n };\n\n return VideoWithHTMLSubtitles;\n}\n\nmodule.exports = withHTMLSubtitles;\n","var url = require('url');\nvar magnet = require('magnet-uri');\nvar createTorrent = require('./createTorrent');\n\nfunction buildProxyUrl(streamingServerURL, streamURL, requestHeaders, responseHeaders) {\n var parsedStreamURL = new URL(streamURL);\n var proxyOptions = new URLSearchParams();\n proxyOptions.set('d', parsedStreamURL.origin);\n Object.entries(requestHeaders).forEach(function(entry) {\n proxyOptions.append('h', entry[0] + ':' + entry[1]);\n });\n Object.entries(responseHeaders).forEach(function(entry) {\n proxyOptions.append('r', entry[0] + ':' + entry[1]);\n });\n return url.resolve(streamingServerURL, '/proxy/' + proxyOptions.toString() + parsedStreamURL.pathname) + parsedStreamURL.search;\n}\n\nfunction convertStream(streamingServerURL, stream, seriesInfo, streamingServerSettings) {\n return new Promise(function(resolve, reject) {\n if (typeof stream.url === 'string') {\n if (stream.url.indexOf('magnet:') === 0) {\n var parsedMagnetURI;\n try {\n parsedMagnetURI = magnet.decode(stream.url);\n if (!parsedMagnetURI || typeof parsedMagnetURI.infoHash !== 'string') {\n throw new Error('Failed to decode magnet url');\n }\n } catch (error) {\n reject(error);\n return;\n }\n\n var sources = Array.isArray(parsedMagnetURI.announce) ?\n parsedMagnetURI.announce.map(function(source) {\n return 'tracker:' + source;\n })\n :\n [];\n createTorrent(streamingServerURL, parsedMagnetURI.infoHash, null, sources, seriesInfo)\n .then(function(torrent) {\n resolve({ url: torrent.url, infoHash: torrent.infoHash, fileIdx: torrent.fileIdx });\n })\n .catch(function(error) {\n reject(error);\n });\n } else {\n var proxyStreamsEnabled = streamingServerSettings && streamingServerSettings.proxyStreamsEnabled;\n var proxyHeaders = stream.behaviorHints && stream.behaviorHints.proxyHeaders;\n if (proxyStreamsEnabled || proxyHeaders) {\n var requestHeaders = proxyHeaders && proxyHeaders.request ? proxyHeaders.request : {};\n var responseHeaders = proxyHeaders && proxyHeaders.response ? proxyHeaders.response : {};\n resolve({ url: buildProxyUrl(streamingServerURL, stream.url, requestHeaders, responseHeaders) });\n } else {\n resolve({ url: stream.url });\n }\n }\n\n return;\n }\n\n if (typeof stream.infoHash === 'string') {\n createTorrent(streamingServerURL, stream.infoHash, stream.fileIdx, stream.announce, seriesInfo)\n .then(function(torrent) {\n resolve({ url: torrent.url, infoHash: torrent.infoHash, fileIdx: torrent.fileIdx });\n })\n .catch(function(error) {\n reject(error);\n });\n\n return;\n }\n\n reject(new Error('Stream cannot be converted'));\n });\n}\n\nmodule.exports = convertStream;\n","var url = require('url');\n\nfunction buildTorrent(streamingServerURL, infoHash, fileIdx, sources) {\n var query = Array.isArray(sources) && sources.length > 0 ?\n '?' + new URLSearchParams(sources.map(function(source) {\n return ['tr', source];\n }))\n :\n '';\n return {\n url: url.resolve(streamingServerURL, '/' + encodeURIComponent(infoHash) + '/' + encodeURIComponent(fileIdx)) + query,\n infoHash: infoHash,\n fileIdx: fileIdx,\n sources: sources\n };\n}\n\nfunction createTorrent(streamingServerURL, infoHash, fileIdx, sources, seriesInfo) {\n if ((!Array.isArray(sources) || sources.length === 0) && (fileIdx !== null && isFinite(fileIdx))) {\n return Promise.resolve(buildTorrent(streamingServerURL, infoHash, fileIdx, sources));\n }\n\n var body = {\n torrent: {\n infoHash: infoHash,\n }\n };\n\n if (Array.isArray(sources) && sources.length > 0) {\n body.peerSearch = {\n sources: ['dht:' + infoHash].concat(sources).filter(function(source, index, sources) {\n return sources.indexOf(source) === index;\n }),\n min: 40,\n max: 200\n };\n }\n\n if (fileIdx === null || !isFinite(fileIdx)) {\n body.guessFileIdx = {};\n if (seriesInfo) {\n if (seriesInfo.season !== null && isFinite(seriesInfo.season)) {\n body.guessFileIdx.season = seriesInfo.season;\n }\n if (seriesInfo.episode !== null && isFinite(seriesInfo.episode)) {\n body.guessFileIdx.episode = seriesInfo.episode;\n }\n }\n } else {\n body.guessFileIdx = false;\n }\n\n return fetch(url.resolve(streamingServerURL, '/' + encodeURIComponent(infoHash) + '/create'), {\n method: 'POST',\n headers: {\n 'content-type': 'application/json'\n },\n body: JSON.stringify(body)\n }).then(function(resp) {\n if (resp.ok) {\n return resp.json();\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n }).then(function(resp) {\n return buildTorrent(streamingServerURL, infoHash, body.guessFileIdx ? resp.guessedFileIdx : fileIdx, body.peerSearch ? body.peerSearch.sources : []);\n });\n}\n\nmodule.exports = createTorrent;\n","var url = require('url');\n\nfunction fetchOpensubtitlesParams(streamingServerURL, mediaURL, behaviorHints) {\n var hash = behaviorHints && typeof behaviorHints.videoHash === 'string' ? behaviorHints.videoHash : null;\n var size = behaviorHints && isFinite(behaviorHints.videoSize) ? behaviorHints.videoSize : null;\n if (typeof hash === 'string' && size !== null && isFinite(size)) {\n return Promise.resolve({ hash: hash, size: size });\n }\n\n var queryParams = new URLSearchParams([['videoUrl', mediaURL]]);\n return fetch(url.resolve(streamingServerURL, '/opensubHash?' + queryParams.toString()))\n .then(function(resp) {\n if (resp.ok) {\n return resp.json();\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n })\n .then(function(resp) {\n if (resp.error) {\n throw new Error(resp.error);\n }\n\n return {\n hash: typeof hash === 'string' ?\n hash\n :\n resp.result && typeof resp.result.hash === 'string' ?\n resp.result.hash\n :\n null,\n size: size !== null && isFinite(size) ?\n size\n :\n resp.result && typeof resp.result.size ?\n resp.result.size\n :\n null\n };\n });\n}\n\nfunction fetchFilename(streamingServerURL, mediaURL, infoHash, fileIdx, behaviorHints) {\n if (behaviorHints && typeof behaviorHints.filename === 'string') {\n return Promise.resolve(behaviorHints.filename);\n }\n\n if (infoHash) {\n return fetch(url.resolve(streamingServerURL, '/' + encodeURIComponent(infoHash) + '/' + encodeURIComponent(fileIdx) + '/stats.json'))\n .then(function(resp) {\n if (resp.ok) {\n return resp.json();\n }\n\n throw new Error(resp.status + ' (' + resp.statusText + ')');\n })\n .then(function(resp) {\n if (!resp || typeof resp.streamName !== 'string') {\n throw new Error('Could not retrieve filename from torrent');\n }\n\n return resp.streamName;\n });\n }\n\n return Promise.resolve(decodeURIComponent(mediaURL.split('/').pop()));\n}\n\nfunction fetchVideoParams(streamingServerURL, mediaURL, infoHash, fileIdx, behaviorHints) {\n return Promise.allSettled([\n fetchOpensubtitlesParams(streamingServerURL, mediaURL, behaviorHints),\n fetchFilename(streamingServerURL, mediaURL, infoHash, fileIdx, behaviorHints)\n ]).then(function(results) {\n var result = { hash: null, size: null, filename: null };\n\n if (results[0].status === 'fulfilled') {\n result.hash = results[0].value.hash;\n result.size = results[0].value.size;\n } else if (results[0].reason) {\n // eslint-disable-next-line no-console\n console.error(results[0].reason);\n }\n\n if (results[1].status === 'fulfilled') {\n result.filename = results[1].value;\n } else if (results[1].reason) {\n // eslint-disable-next-line no-console\n console.error(results[1].reason);\n }\n\n return result;\n });\n}\n\nmodule.exports = fetchVideoParams;\n","var withStreamingServer = require('./withStreamingServer');\n\nmodule.exports = withStreamingServer;\n","function isPlayerLoaded(video, props) {\n if (!props.includes('loaded')) {\n return Promise.resolve(true);\n }\n return new Promise(function(resolve, reject) {\n var isLoaded = null;\n video.on('propChanged', function(propName, propValue) {\n if (propName === 'loaded' && propValue !== null && isLoaded === null) {\n isLoaded = propValue;\n if (propValue === true) {\n resolve(true);\n } else if (propValue === false) {\n reject(Error('Player failed to load, will not retrieve video params'));\n }\n }\n });\n video.dispatch({\n type: 'observeProp',\n propName: 'loaded'\n });\n });\n}\n\nmodule.exports = isPlayerLoaded;\n","var EventEmitter = require('eventemitter3');\nvar url = require('url');\nvar hat = require('hat');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\nvar mediaCapabilities = require('../mediaCapabilities');\nvar convertStream = require('./convertStream');\nvar fetchVideoParams = require('./fetchVideoParams');\nvar isPlayerLoaded = require('./isPlayerLoaded');\nvar supportsTranscoding = require('../supportsTranscoding');\nvar ERROR = require('../error');\n\nfunction withStreamingServer(Video) {\n function VideoWithStreamingServer(options) {\n options = options || {};\n\n var video = new Video(options);\n video.on('error', onVideoError);\n video.on('propValue', onVideoPropEvent.bind(null, 'propValue'));\n video.on('propChanged', onVideoPropEvent.bind(null, 'propChanged'));\n Video.manifest.events\n .filter(function(eventName) {\n return !['error', 'propValue', 'propChanged'].includes(eventName);\n })\n .forEach(function(eventName) {\n video.on(eventName, onOtherVideoEvent(eventName));\n });\n\n var self = this;\n var loadArgs = null;\n var loaded = false;\n var actionsQueue = [];\n var videoParams = null;\n var events = new EventEmitter();\n var destroyed = false;\n var observedProps = {\n stream: false,\n videoParams: false\n };\n\n function flushActionsQueue() {\n while (actionsQueue.length > 0) {\n var action = actionsQueue.shift();\n self.dispatch.call(self, action);\n }\n }\n function onVideoError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n }\n }\n function onVideoPropEvent(eventName, propName, propValue) {\n events.emit(eventName, propName, getProp(propName, propValue));\n }\n function onOtherVideoEvent(eventName) {\n return function() {\n events.emit.apply(events, [eventName].concat(Array.from(arguments)));\n };\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName, null));\n }\n }\n function onError(error) {\n events.emit('error', error);\n if (error.critical) {\n command('unload');\n video.dispatch({ type: 'command', commandName: 'unload' });\n }\n }\n function getProp(propName, videoPropValue) {\n switch (propName) {\n case 'stream': {\n return loadArgs !== null ? loadArgs.stream : null;\n }\n case 'videoParams': {\n return videoParams;\n }\n default: {\n return videoPropValue;\n }\n }\n }\n function observeProp(propName) {\n switch (propName) {\n case 'stream':\n case 'videoParams': {\n events.emit('propValue', propName, getProp(propName, null));\n observedProps[propName] = true;\n return true;\n }\n default: {\n return false;\n }\n }\n }\n function command(commandName, commandArgs) {\n switch (commandName) {\n case 'load': {\n if (commandArgs && commandArgs.stream && typeof commandArgs.streamingServerURL === 'string') {\n command('unload');\n video.dispatch({ type: 'command', commandName: 'unload' });\n loadArgs = commandArgs;\n onPropChanged('stream');\n convertStream(commandArgs.streamingServerURL, commandArgs.stream, commandArgs.seriesInfo, commandArgs.streamingServerSettings)\n .then(function(result) {\n var mediaURL = result.url;\n var infoHash = result.infoHash;\n var fileIdx = result.fileIdx;\n var formats = Array.isArray(commandArgs.formats) ?\n commandArgs.formats\n :\n mediaCapabilities.formats;\n var videoCodecs = Array.isArray(commandArgs.videoCodecs) ?\n commandArgs.videoCodecs\n :\n mediaCapabilities.videoCodecs;\n var audioCodecs = Array.isArray(commandArgs.audioCodecs) ?\n commandArgs.audioCodecs\n :\n mediaCapabilities.audioCodecs;\n var maxAudioChannels = commandArgs.maxAudioChannels !== null && isFinite(commandArgs.maxAudioChannels) ?\n commandArgs.maxAudioChannels\n :\n mediaCapabilities.maxAudioChannels;\n var canPlayStreamOptions = Object.assign({}, commandArgs, {\n formats: formats,\n videoCodecs: videoCodecs,\n audioCodecs: audioCodecs,\n maxAudioChannels: maxAudioChannels\n });\n return (commandArgs.forceTranscoding ? Promise.resolve(false) : VideoWithStreamingServer.canPlayStream({ url: mediaURL }, canPlayStreamOptions))\n .catch(function(error) {\n console.warn('Media probe error', error);\n return false;\n })\n .then(function(canPlay) {\n if (canPlay) {\n return {\n mediaURL: mediaURL,\n infoHash: infoHash,\n fileIdx: fileIdx,\n stream: {\n url: mediaURL\n }\n };\n }\n\n var id = hat();\n var queryParams = new URLSearchParams([['mediaURL', mediaURL]]);\n if (commandArgs.forceTranscoding) {\n queryParams.set('forceTranscoding', '1');\n }\n\n videoCodecs.forEach(function(videoCodec) {\n queryParams.append('videoCodecs', videoCodec);\n });\n\n audioCodecs.forEach(function(audioCodec) {\n queryParams.append('audioCodecs', audioCodec);\n });\n\n queryParams.set('maxAudioChannels', maxAudioChannels);\n\n return {\n mediaURL: mediaURL,\n infoHash: infoHash,\n fileIdx: fileIdx,\n stream: {\n url: url.resolve(commandArgs.streamingServerURL, '/hlsv2/' + id + '/master.m3u8?' + queryParams.toString()),\n subtitles: Array.isArray(commandArgs.stream.subtitles) ?\n commandArgs.stream.subtitles.map(function(track) {\n return Object.assign({}, track, {\n url: typeof track.url === 'string' ?\n url.resolve(commandArgs.streamingServerURL, '/subtitles.vtt?' + new URLSearchParams([['from', track.url]]).toString())\n :\n track.url\n });\n })\n :\n [],\n behaviorHints: {\n headers: {\n 'content-type': 'application/vnd.apple.mpegurl'\n }\n }\n }\n };\n });\n })\n .then(function(result) {\n if (commandArgs !== loadArgs) {\n return;\n }\n\n video.dispatch({\n type: 'command',\n commandName: 'load',\n commandArgs: Object.assign({}, commandArgs, {\n stream: result.stream\n })\n });\n loaded = true;\n flushActionsQueue();\n\n isPlayerLoaded(video, Video.manifest.props)\n .then(function() {\n return fetchVideoParams(commandArgs.streamingServerURL, result.mediaURL, result.infoHash, result.fileIdx, commandArgs.stream.behaviorHints);\n })\n .then(function(result) {\n if (commandArgs !== loadArgs) {\n return;\n }\n\n videoParams = result;\n onPropChanged('videoParams');\n })\n .catch(function(error) {\n if (commandArgs !== loadArgs) {\n return;\n }\n\n // eslint-disable-next-line no-console\n console.error(error);\n videoParams = { hash: null, size: null, filename: null };\n onPropChanged('videoParams');\n });\n })\n .catch(function(error) {\n if (commandArgs !== loadArgs) {\n return;\n }\n\n onError(Object.assign({}, ERROR.WITH_STREAMING_SERVER.CONVERT_FAILED, {\n error: error,\n critical: true,\n stream: commandArgs.stream,\n streamingServerURL: commandArgs.streamingServerURL\n }));\n });\n } else {\n onError(Object.assign({}, ERROR.UNSUPPORTED_STREAM, {\n critical: true,\n stream: commandArgs ? commandArgs.stream : null,\n streamingServerURL: commandArgs && typeof commandArgs.streamingServerURL === 'string' ? commandArgs.streamingServerURL : null\n }));\n }\n\n return true;\n }\n case 'addExtraSubtitlesTracks': {\n if (loadArgs && commandArgs && Array.isArray(commandArgs.tracks)) {\n if (loaded) {\n video.dispatch({\n type: 'command',\n commandName: 'addExtraSubtitlesTracks',\n commandArgs: Object.assign({}, commandArgs, {\n tracks: commandArgs.tracks.map(function(track) {\n return Object.assign({}, track, {\n // fallback is used in case server conversion fails (if server is offline)\n fallbackUrl: track.url,\n url: typeof track.url === 'string' ?\n url.resolve(loadArgs.streamingServerURL, '/subtitles.vtt?' + new URLSearchParams([['from', track.url]]).toString())\n :\n track.url\n });\n })\n })\n });\n } else {\n actionsQueue.push({\n type: 'command',\n commandName: 'addExtraSubtitlesTracks',\n commandArgs: commandArgs\n });\n }\n }\n\n return true;\n }\n case 'unload': {\n loadArgs = null;\n loaded = false;\n actionsQueue = [];\n videoParams = null;\n onPropChanged('stream');\n onPropChanged('videoParams');\n return false;\n }\n case 'destroy': {\n command('unload');\n destroyed = true;\n video.dispatch({ type: 'command', commandName: 'destroy' });\n events.removeAllListeners();\n return true;\n }\n default: {\n if (!loaded) {\n actionsQueue.push({\n type: 'command',\n commandName: commandName,\n commandArgs: commandArgs\n });\n\n return true;\n }\n\n return false;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n if (observeProp(action.propName)) {\n return;\n }\n\n break;\n }\n case 'command': {\n if (command(action.commandName, action.commandArgs)) {\n return;\n }\n\n break;\n }\n }\n }\n\n video.dispatch(action);\n };\n }\n\n VideoWithStreamingServer.canPlayStream = function(stream, options) {\n return supportsTranscoding()\n .then(function(supported) {\n if (!supported) {\n // we cannot probe the video in this case\n return Video.canPlayStream(stream);\n }\n // probing normally gives more accurate results\n var queryParams = new URLSearchParams([['mediaURL', stream.url]]);\n return fetch(url.resolve(options.streamingServerURL, '/hlsv2/probe?' + queryParams.toString()))\n .then(function(resp) {\n return resp.json();\n })\n .then(function(probe) {\n var isFormatSupported = options.formats.some(function(format) {\n return probe.format.name.indexOf(format) !== -1;\n });\n var areStreamsSupported = probe.streams.every(function(stream) {\n if (stream.track === 'audio') {\n return stream.channels <= options.maxAudioChannels &&\n options.audioCodecs.indexOf(stream.codec) !== -1;\n } else if (stream.track === 'video') {\n return options.videoCodecs.indexOf(stream.codec) !== -1;\n }\n\n return true;\n });\n return isFormatSupported && areStreamsSupported;\n })\n .catch(function() {\n // this uses content-type header in HTMLVideo which\n // is unreliable, check can also fail due to CORS\n return Video.canPlayStream(stream);\n });\n });\n };\n\n VideoWithStreamingServer.manifest = {\n name: Video.manifest.name + 'WithStreamingServer',\n external: Video.manifest.external,\n props: Video.manifest.props.concat(['stream', 'videoParams'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n commands: Video.manifest.commands.concat(['load', 'unload', 'destroy', 'addExtraSubtitlesTracks'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n events: Video.manifest.events.concat(['propValue', 'propChanged', 'error'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; })\n };\n\n return VideoWithStreamingServer;\n}\n\nmodule.exports = withStreamingServer;\n","var withVideoParams = require('./withVideoParams');\n\nmodule.exports = withVideoParams;\n","var EventEmitter = require('eventemitter3');\nvar cloneDeep = require('lodash.clonedeep');\nvar deepFreeze = require('deep-freeze');\n\nfunction withVideoParams(Video) {\n function VideoWithVideoParams(options) {\n options = options || {};\n\n var video = new Video(options);\n video.on('propValue', onVideoPropEvent.bind(null, 'propValue'));\n video.on('propChanged', onVideoPropEvent.bind(null, 'propChanged'));\n Video.manifest.events\n .filter(function(eventName) {\n return !['propValue', 'propChanged'].includes(eventName);\n })\n .forEach(function(eventName) {\n video.on(eventName, onOtherVideoEvent(eventName));\n });\n\n var stream = null;\n var events = new EventEmitter();\n var destroyed = false;\n var observedProps = {\n videoParams: false\n };\n\n function onVideoPropEvent(eventName, propName, propValue) {\n if (propName !== 'videoParams') {\n events.emit(eventName, propName, getProp(propName, propValue));\n }\n if (propName === 'stream') {\n stream = propValue;\n onPropChanged('videoParams');\n }\n }\n function onOtherVideoEvent(eventName) {\n return function() {\n events.emit.apply(events, [eventName].concat(Array.from(arguments)));\n };\n }\n function onPropChanged(propName) {\n if (observedProps[propName]) {\n events.emit('propChanged', propName, getProp(propName, null));\n }\n }\n function getProp(propName, videoPropValue) {\n switch (propName) {\n case 'videoParams': {\n if (stream === null) {\n return null;\n }\n\n var hash = stream.behaviorHints && typeof stream.behaviorHints.videoHash === 'string' ? stream.behaviorHints.videoHash : null;\n var size = stream.behaviorHints && stream.behaviorHints.videoSize !== null && isFinite(stream.behaviorHints.videoSize) ? stream.behaviorHints.videoSize : null;\n var filename = stream.behaviorHints && typeof stream.behaviorHints.filename === 'string' ? stream.behaviorHints.filename : null;\n return { hash: hash, size: size, filename: filename };\n }\n default: {\n return videoPropValue;\n }\n }\n }\n function observeProp(propName) {\n switch (propName) {\n case 'videoParams': {\n events.emit('propValue', propName, getProp(propName, null));\n observedProps[propName] = true;\n return true;\n }\n default: {\n return false;\n }\n }\n }\n function command(commandName) {\n switch (commandName) {\n case 'destroy': {\n destroyed = true;\n video.dispatch({ type: 'command', commandName: 'destroy' });\n events.removeAllListeners();\n return true;\n }\n default: {\n return false;\n }\n }\n }\n\n this.on = function(eventName, listener) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n events.on(eventName, listener);\n };\n this.dispatch = function(action) {\n if (destroyed) {\n throw new Error('Video is destroyed');\n }\n\n if (action) {\n action = deepFreeze(cloneDeep(action));\n switch (action.type) {\n case 'observeProp': {\n if (observeProp(action.propName)) {\n return;\n }\n\n break;\n }\n case 'command': {\n if (command(action.commandName, action.commandArgs)) {\n return;\n }\n\n break;\n }\n }\n }\n\n video.dispatch(action);\n };\n }\n\n VideoWithVideoParams.canPlayStream = function(stream, options) {\n return Video.canPlayStream(stream, options);\n };\n\n VideoWithVideoParams.manifest = {\n name: Video.manifest.name + 'WithVideoParams',\n external: Video.manifest.external,\n props: Video.manifest.props.concat(['videoParams'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n commands: Video.manifest.commands.concat(['destroy'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; }),\n events: Video.manifest.events.concat(['propValue', 'propChanged'])\n .filter(function(value, index, array) { return array.indexOf(value) === index; })\n };\n\n return VideoWithVideoParams;\n}\n\nmodule.exports = withVideoParams;\n","/*!\n * a-color-picker (https://github.com/narsenico/a-color-picker)\n * \n * Copyright (c) 2017-2018, Gianfranco Caldi.\n * Released under the MIT License.\n */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"AColorPicker\",[],t):\"object\"==typeof exports?exports.AColorPicker=t():e.AColorPicker=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){var t={};function r(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)r.d(i,o,function(t){return e[t]}.bind(null,o));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=1)}([function(e,t,r){\"use strict\";\n/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */var i=r(3);function o(e){return!0===i(e)&&\"[object Object]\"===Object.prototype.toString.call(e)}e.exports=function(e){var t,r;return!1!==o(e)&&\"function\"==typeof(t=e.constructor)&&!1!==o(r=t.prototype)&&!1!==r.hasOwnProperty(\"isPrototypeOf\")}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.VERSION=t.PALETTE_MATERIAL_CHROME=t.PALETTE_MATERIAL_500=t.COLOR_NAMES=t.getLuminance=t.intToRgb=t.rgbToInt=t.rgbToHsv=t.rgbToHsl=t.hslToRgb=t.rgbToHex=t.parseColor=t.parseColorToHsla=t.parseColorToHsl=t.parseColorToRgba=t.parseColorToRgb=t.from=t.createPicker=void 0;var i=function(){function e(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,r,i){return r&&e(t.prototype,r),i&&e(t,i),t}}(),o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],i=!0,o=!1,n=void 0;try{for(var s,a=e[Symbol.iterator]();!(i=(s=a.next()).done)&&(r.push(s.value),!t||r.length!==t);i=!0);}catch(e){o=!0,n=e}finally{try{!i&&a.return&&a.return()}finally{if(o)throw n}}return r}(e,t);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")},n=r(2),s=l(r(0)),a=l(r(4));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function u(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}\n/*!\n * a-color-picker\n * https://github.com/narsenico/a-color-picker\n *\n * Copyright (c) 2017-2019, Gianfranco Caldi.\n * Released under the MIT License.\n */var h=\"undefined\"!=typeof window&&window.navigator.userAgent.indexOf(\"Edge\")>-1,p=\"undefined\"!=typeof window&&window.navigator.userAgent.indexOf(\"rv:\")>-1,d={id:null,attachTo:\"body\",showHSL:!0,showRGB:!0,showHEX:!0,showAlpha:!1,color:\"#ff0000\",palette:null,paletteEditable:!1,useAlphaInPalette:\"auto\",slBarSize:[232,150],hueBarSize:[150,11],alphaBarSize:[150,11]},f=\"COLOR\",g=\"RGBA_USER\",b=\"HSLA_USER\";function v(e,t,r){return e?e instanceof HTMLElement?e:e instanceof NodeList?e[0]:\"string\"==typeof e?document.querySelector(e):e.jquery?e.get(0):r?t:null:t}function m(e){var t=e.getContext(\"2d\"),r=+e.width,i=+e.height,s=t.createLinearGradient(1,1,1,i-1);return s.addColorStop(0,\"white\"),s.addColorStop(1,\"black\"),{setHue:function(e){var o=t.createLinearGradient(1,0,r-1,0);o.addColorStop(0,\"hsla(\"+e+\", 100%, 50%, 0)\"),o.addColorStop(1,\"hsla(\"+e+\", 100%, 50%, 1)\"),t.fillStyle=s,t.fillRect(0,0,r,i),t.fillStyle=o,t.globalCompositeOperation=\"multiply\",t.fillRect(0,0,r,i),t.globalCompositeOperation=\"source-over\"},grabColor:function(e,r){return t.getImageData(e,r,1,1).data},findColor:function(e,t,s){var a=(0,n.rgbToHsv)(e,t,s),l=o(a,3),c=l[1],u=l[2];return[c*r,i-u*i]}}}function A(e,t,r){return null===e?t:/^\\s*$/.test(e)?r:!!/true|yes|1/i.test(e)||!/false|no|0/i.test(e)&&t}function y(e,t,r){if(null===e)return t;if(/^\\s*$/.test(e))return r;var i=e.split(\",\").map(Number);return 2===i.length&&i[0]&&i[1]?i:t}var k=function(){function e(t,r){if(c(this,e),r?(t=v(t),this.options=Object.assign({},d,r)):t&&(0,s.default)(t)?(this.options=Object.assign({},d,t),t=v(this.options.attachTo)):(this.options=Object.assign({},d),t=v((0,n.nvl)(t,this.options.attachTo))),!t)throw new Error(\"Container not found: \"+this.options.attachTo);!function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"acp-\";if(t.hasAttribute(r+\"show-hsl\")&&(e.showHSL=A(t.getAttribute(r+\"show-hsl\"),d.showHSL,!0)),t.hasAttribute(r+\"show-rgb\")&&(e.showRGB=A(t.getAttribute(r+\"show-rgb\"),d.showRGB,!0)),t.hasAttribute(r+\"show-hex\")&&(e.showHEX=A(t.getAttribute(r+\"show-hex\"),d.showHEX,!0)),t.hasAttribute(r+\"show-alpha\")&&(e.showAlpha=A(t.getAttribute(r+\"show-alpha\"),d.showAlpha,!0)),t.hasAttribute(r+\"palette-editable\")&&(e.paletteEditable=A(t.getAttribute(r+\"palette-editable\"),d.paletteEditable,!0)),t.hasAttribute(r+\"sl-bar-size\")&&(e.slBarSize=y(t.getAttribute(r+\"sl-bar-size\"),d.slBarSize,[232,150])),t.hasAttribute(r+\"hue-bar-size\")&&(e.hueBarSize=y(t.getAttribute(r+\"hue-bar-size\"),d.hueBarSize,[150,11]),e.alphaBarSize=e.hueBarSize),t.hasAttribute(r+\"palette\")){var i=t.getAttribute(r+\"palette\");switch(i){case\"PALETTE_MATERIAL_500\":e.palette=n.PALETTE_MATERIAL_500;break;case\"PALETTE_MATERIAL_CHROME\":case\"\":e.palette=n.PALETTE_MATERIAL_CHROME;break;default:e.palette=i.split(/[;|]/)}}t.hasAttribute(r+\"color\")&&(e.color=t.getAttribute(r+\"color\"))}(this.options,t),this.H=0,this.S=0,this.L=0,this.R=0,this.G=0,this.B=0,this.A=1,this.palette={},this.element=document.createElement(\"div\"),this.options.id&&(this.element.id=this.options.id),this.element.className=\"a-color-picker\",this.element.innerHTML=a.default,t.appendChild(this.element);var i=this.element.querySelector(\".a-color-picker-h\");this.setupHueCanvas(i),this.hueBarHelper=m(i),this.huePointer=this.element.querySelector(\".a-color-picker-h+.a-color-picker-dot\");var o=this.element.querySelector(\".a-color-picker-sl\");this.setupSlCanvas(o),this.slBarHelper=m(o),this.slPointer=this.element.querySelector(\".a-color-picker-sl+.a-color-picker-dot\"),this.preview=this.element.querySelector(\".a-color-picker-preview\"),this.setupClipboard(this.preview.querySelector(\".a-color-picker-clipbaord\")),this.options.showHSL?(this.setupInput(this.inputH=this.element.querySelector(\".a-color-picker-hsl>input[nameref=H]\")),this.setupInput(this.inputS=this.element.querySelector(\".a-color-picker-hsl>input[nameref=S]\")),this.setupInput(this.inputL=this.element.querySelector(\".a-color-picker-hsl>input[nameref=L]\"))):this.element.querySelector(\".a-color-picker-hsl\").remove(),this.options.showRGB?(this.setupInput(this.inputR=this.element.querySelector(\".a-color-picker-rgb>input[nameref=R]\")),this.setupInput(this.inputG=this.element.querySelector(\".a-color-picker-rgb>input[nameref=G]\")),this.setupInput(this.inputB=this.element.querySelector(\".a-color-picker-rgb>input[nameref=B]\"))):this.element.querySelector(\".a-color-picker-rgb\").remove(),this.options.showHEX?this.setupInput(this.inputRGBHEX=this.element.querySelector(\"input[nameref=RGBHEX]\")):this.element.querySelector(\".a-color-picker-rgbhex\").remove(),this.options.paletteEditable||this.options.palette&&this.options.palette.length>0?this.setPalette(this.paletteRow=this.element.querySelector(\".a-color-picker-palette\")):(this.paletteRow=this.element.querySelector(\".a-color-picker-palette\"),this.paletteRow.remove()),this.options.showAlpha?(this.setupAlphaCanvas(this.element.querySelector(\".a-color-picker-a\")),this.alphaPointer=this.element.querySelector(\".a-color-picker-a+.a-color-picker-dot\")):this.element.querySelector(\".a-color-picker-alpha\").remove(),this.element.style.width=this.options.slBarSize[0]+\"px\",this.onValueChanged(f,this.options.color)}return i(e,[{key:\"setupHueCanvas\",value:function(e){var t=this;e.width=this.options.hueBarSize[0],e.height=this.options.hueBarSize[1];for(var r=e.getContext(\"2d\"),i=r.createLinearGradient(0,0,this.options.hueBarSize[0],0),o=0;o<=1;o+=1/360)i.addColorStop(o,\"hsl(\"+360*o+\", 100%, 50%)\");r.fillStyle=i,r.fillRect(0,0,this.options.hueBarSize[0],this.options.hueBarSize[1]);var s=function(r){var i=(0,n.limit)(r.clientX-e.getBoundingClientRect().left,0,t.options.hueBarSize[0]),o=Math.round(360*i/t.options.hueBarSize[0]);t.huePointer.style.left=i-7+\"px\",t.onValueChanged(\"H\",o)},a=function e(){document.removeEventListener(\"mousemove\",s),document.removeEventListener(\"mouseup\",e)};e.addEventListener(\"mousedown\",function(e){s(e),document.addEventListener(\"mousemove\",s),document.addEventListener(\"mouseup\",a)})}},{key:\"setupSlCanvas\",value:function(e){var t=this;e.width=this.options.slBarSize[0],e.height=this.options.slBarSize[1];var r=function(r){var i=(0,n.limit)(r.clientX-e.getBoundingClientRect().left,0,t.options.slBarSize[0]-1),o=(0,n.limit)(r.clientY-e.getBoundingClientRect().top,0,t.options.slBarSize[1]-1),s=t.slBarHelper.grabColor(i,o);t.slPointer.style.left=i-7+\"px\",t.slPointer.style.top=o-7+\"px\",t.onValueChanged(\"RGB\",s)},i=function e(){document.removeEventListener(\"mousemove\",r),document.removeEventListener(\"mouseup\",e)};e.addEventListener(\"mousedown\",function(e){r(e),document.addEventListener(\"mousemove\",r),document.addEventListener(\"mouseup\",i)})}},{key:\"setupAlphaCanvas\",value:function(e){var t=this;e.width=this.options.alphaBarSize[0],e.height=this.options.alphaBarSize[1];var r=e.getContext(\"2d\"),i=r.createLinearGradient(0,0,e.width-1,0);i.addColorStop(0,\"hsla(0, 0%, 50%, 0)\"),i.addColorStop(1,\"hsla(0, 0%, 50%, 1)\"),r.fillStyle=i,r.fillRect(0,0,this.options.alphaBarSize[0],this.options.alphaBarSize[1]);var o=function(r){var i=(0,n.limit)(r.clientX-e.getBoundingClientRect().left,0,t.options.alphaBarSize[0]),o=+(i/t.options.alphaBarSize[0]).toFixed(2);t.alphaPointer.style.left=i-7+\"px\",t.onValueChanged(\"ALPHA\",o)},s=function e(){document.removeEventListener(\"mousemove\",o),document.removeEventListener(\"mouseup\",e)};e.addEventListener(\"mousedown\",function(e){o(e),document.addEventListener(\"mousemove\",o),document.addEventListener(\"mouseup\",s)})}},{key:\"setupInput\",value:function(e){var t=this,r=+e.min,i=+e.max,o=e.getAttribute(\"nameref\");e.hasAttribute(\"select-on-focus\")&&e.addEventListener(\"focus\",function(){e.select()}),\"text\"===e.type?e.addEventListener(\"change\",function(){t.onValueChanged(o,e.value)}):((h||p)&&e.addEventListener(\"keydown\",function(s){\"Up\"===s.key?(e.value=(0,n.limit)(+e.value+1,r,i),t.onValueChanged(o,e.value),s.returnValue=!1):\"Down\"===s.key&&(e.value=(0,n.limit)(+e.value-1,r,i),t.onValueChanged(o,e.value),s.returnValue=!1)}),e.addEventListener(\"change\",function(){var s=+e.value;t.onValueChanged(o,(0,n.limit)(s,r,i))}))}},{key:\"setupClipboard\",value:function(e){var t=this;e.title=\"click to copy\",e.addEventListener(\"click\",function(){e.value=(0,n.parseColor)([t.R,t.G,t.B,t.A],\"hexcss4\"),e.select(),document.execCommand(\"copy\")})}},{key:\"setPalette\",value:function(e){var t=this,r=\"auto\"===this.options.useAlphaInPalette?this.options.showAlpha:this.options.useAlphaInPalette,i=null;switch(this.options.palette){case\"PALETTE_MATERIAL_500\":i=n.PALETTE_MATERIAL_500;break;case\"PALETTE_MATERIAL_CHROME\":i=n.PALETTE_MATERIAL_CHROME;break;default:i=(0,n.ensureArray)(this.options.palette)}if(this.options.paletteEditable||i.length>0){var o=function(r,i,o){var n=e.querySelector('.a-color-picker-palette-color[data-color=\"'+r+'\"]')||document.createElement(\"div\");n.className=\"a-color-picker-palette-color\",n.style.backgroundColor=r,n.setAttribute(\"data-color\",r),n.title=r,e.insertBefore(n,i),t.palette[r]=!0,o&&t.onPaletteColorAdd(r)},s=function(r,i){r?(e.removeChild(r),t.palette[r.getAttribute(\"data-color\")]=!1,i&&t.onPaletteColorRemove(r.getAttribute(\"data-color\"))):(e.querySelectorAll(\".a-color-picker-palette-color[data-color]\").forEach(function(t){e.removeChild(t)}),Object.keys(t.palette).forEach(function(e){t.palette[e]=!1}),i&&t.onPaletteColorRemove())};if(i.map(function(e){return(0,n.parseColor)(e,r?\"rgbcss4\":\"hex\")}).filter(function(e){return!!e}).forEach(function(e){return o(e)}),this.options.paletteEditable){var a=document.createElement(\"div\");a.className=\"a-color-picker-palette-color a-color-picker-palette-add\",a.innerHTML=\"+\",e.appendChild(a),e.addEventListener(\"click\",function(e){/a-color-picker-palette-add/.test(e.target.className)?e.shiftKey?s(null,!0):o(r?(0,n.parseColor)([t.R,t.G,t.B,t.A],\"rgbcss4\"):(0,n.rgbToHex)(t.R,t.G,t.B),e.target,!0):/a-color-picker-palette-color/.test(e.target.className)&&(e.shiftKey?s(e.target,!0):t.onValueChanged(f,e.target.getAttribute(\"data-color\")))})}else e.addEventListener(\"click\",function(e){/a-color-picker-palette-color/.test(e.target.className)&&t.onValueChanged(f,e.target.getAttribute(\"data-color\"))})}else e.style.display=\"none\"}},{key:\"updatePalette\",value:function(e){this.paletteRow.innerHTML=\"\",this.palette={},this.paletteRow.parentElement||this.element.appendChild(this.paletteRow),this.options.palette=e,this.setPalette(this.paletteRow)}},{key:\"onValueChanged\",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{silent:!1};switch(e){case\"H\":this.H=t;var i=(0,n.hslToRgb)(this.H,this.S,this.L),s=o(i,3);this.R=s[0],this.G=s[1],this.B=s[2],this.slBarHelper.setHue(t),this.updatePointerH(this.H),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"S\":this.S=t;var a=(0,n.hslToRgb)(this.H,this.S,this.L),l=o(a,3);this.R=l[0],this.G=l[1],this.B=l[2],this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"L\":this.L=t;var c=(0,n.hslToRgb)(this.H,this.S,this.L),u=o(c,3);this.R=u[0],this.G=u[1],this.B=u[2],this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"R\":this.R=t;var h=(0,n.rgbToHsl)(this.R,this.G,this.B),p=o(h,3);this.H=p[0],this.S=p[1],this.L=p[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"G\":this.G=t;var d=(0,n.rgbToHsl)(this.R,this.G,this.B),v=o(d,3);this.H=v[0],this.S=v[1],this.L=v[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"B\":this.B=t;var m=(0,n.rgbToHsl)(this.R,this.G,this.B),A=o(m,3);this.H=A[0],this.S=A[1],this.L=A[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGBHEX(this.R,this.G,this.B);break;case\"RGB\":var y=o(t,3);this.R=y[0],this.G=y[1],this.B=y[2];var k=(0,n.rgbToHsl)(this.R,this.G,this.B),F=o(k,3);this.H=F[0],this.S=F[1],this.L=F[2],this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B);break;case g:var E=o(t,4);this.R=E[0],this.G=E[1],this.B=E[2],this.A=E[3];var H=(0,n.rgbToHsl)(this.R,this.G,this.B),B=o(H,3);this.H=B[0],this.S=B[1],this.L=B[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case b:var R=o(t,4);this.H=R[0],this.S=R[1],this.L=R[2],this.A=R[3];var C=(0,n.hslToRgb)(this.H,this.S,this.L),S=o(C,3);this.R=S[0],this.G=S[1],this.B=S[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case\"RGBHEX\":var L=(0,n.cssColorToRgb)(t)||[this.R,this.G,this.B],w=o(L,3);this.R=w[0],this.G=w[1],this.B=w[2];var T=(0,n.rgbToHsl)(this.R,this.G,this.B),x=o(T,3);this.H=x[0],this.S=x[1],this.L=x[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B);break;case f:var G=(0,n.parseColor)(t,\"rgba\")||[0,0,0,1],I=o(G,4);this.R=I[0],this.G=I[1],this.B=I[2],this.A=I[3];var P=(0,n.rgbToHsl)(this.R,this.G,this.B),D=o(P,3);this.H=D[0],this.S=D[1],this.L=D[2],this.slBarHelper.setHue(this.H),this.updatePointerH(this.H),this.updatePointerSL(this.H,this.S,this.L),this.updateInputHSL(this.H,this.S,this.L),this.updateInputRGB(this.R,this.G,this.B),this.updateInputRGBHEX(this.R,this.G,this.B),this.updatePointerA(this.A);break;case\"ALPHA\":this.A=t}1===this.A?this.preview.style.backgroundColor=\"rgb(\"+this.R+\",\"+this.G+\",\"+this.B+\")\":this.preview.style.backgroundColor=\"rgba(\"+this.R+\",\"+this.G+\",\"+this.B+\",\"+this.A+\")\",r&&r.silent||this.onchange&&this.onchange(this.preview.style.backgroundColor)}},{key:\"onPaletteColorAdd\",value:function(e){this.oncoloradd&&this.oncoloradd(e)}},{key:\"onPaletteColorRemove\",value:function(e){this.oncolorremove&&this.oncolorremove(e)}},{key:\"updateInputHSL\",value:function(e,t,r){this.options.showHSL&&(this.inputH.value=e,this.inputS.value=t,this.inputL.value=r)}},{key:\"updateInputRGB\",value:function(e,t,r){this.options.showRGB&&(this.inputR.value=e,this.inputG.value=t,this.inputB.value=r)}},{key:\"updateInputRGBHEX\",value:function(e,t,r){this.options.showHEX&&(this.inputRGBHEX.value=(0,n.rgbToHex)(e,t,r))}},{key:\"updatePointerH\",value:function(e){var t=this.options.hueBarSize[0]*e/360;this.huePointer.style.left=t-7+\"px\"}},{key:\"updatePointerSL\",value:function(e,t,r){var i=(0,n.hslToRgb)(e,t,r),s=o(i,3),a=s[0],l=s[1],c=s[2],u=this.slBarHelper.findColor(a,l,c),h=o(u,2),p=h[0],d=h[1];p>=0&&(this.slPointer.style.left=p-7+\"px\",this.slPointer.style.top=d-7+\"px\")}},{key:\"updatePointerA\",value:function(e){if(this.options.showAlpha){var t=this.options.alphaBarSize[0]*e;this.alphaPointer.style.left=t-7+\"px\"}}}]),e}(),F=function(){function e(t){c(this,e),this.name=t,this.listeners=[]}return i(e,[{key:\"on\",value:function(e){e&&this.listeners.push(e)}},{key:\"off\",value:function(e){this.listeners=e?this.listeners.filter(function(t){return t!==e}):[]}},{key:\"emit\",value:function(e,t){for(var r=this.listeners.slice(0),i=0;i<r.length;i++)r[i].apply(t,e)}}]),e}();function E(e,t){var r=new k(e,t),i={change:new F(\"change\"),coloradd:new F(\"coloradd\"),colorremove:new F(\"colorremove\")},s=!0,a={},l={get element(){return r.element},get rgb(){return[r.R,r.G,r.B]},set rgb(e){var t=o(e,3),i=t[0],s=t[1],a=t[2],l=[(0,n.limit)(i,0,255),(0,n.limit)(s,0,255),(0,n.limit)(a,0,255)];i=l[0],s=l[1],a=l[2],r.onValueChanged(g,[i,s,a,1])},get hsl(){return[r.H,r.S,r.L]},set hsl(e){var t=o(e,3),i=t[0],s=t[1],a=t[2],l=[(0,n.limit)(i,0,360),(0,n.limit)(s,0,100),(0,n.limit)(a,0,100)];i=l[0],s=l[1],a=l[2],r.onValueChanged(b,[i,s,a,1])},get rgbhex(){return this.all.hex},get rgba(){return[r.R,r.G,r.B,r.A]},set rgba(e){var t=o(e,4),i=t[0],s=t[1],a=t[2],l=t[3],c=[(0,n.limit)(i,0,255),(0,n.limit)(s,0,255),(0,n.limit)(a,0,255),(0,n.limit)(l,0,1)];i=c[0],s=c[1],a=c[2],l=c[3],r.onValueChanged(g,[i,s,a,l])},get hsla(){return[r.H,r.S,r.L,r.A]},set hsla(e){var t=o(e,4),i=t[0],s=t[1],a=t[2],l=t[3],c=[(0,n.limit)(i,0,360),(0,n.limit)(s,0,100),(0,n.limit)(a,0,100),(0,n.limit)(l,0,1)];i=c[0],s=c[1],a=c[2],l=c[3],r.onValueChanged(b,[i,s,a,l])},get color(){return this.all.toString()},set color(e){r.onValueChanged(f,e)},setColor:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];r.onValueChanged(f,e,{silent:t})},get all(){if(s){var e=[r.R,r.G,r.B,r.A],t=r.A<1?\"rgba(\"+r.R+\",\"+r.G+\",\"+r.B+\",\"+r.A+\")\":n.rgbToHex.apply(void 0,e);(a=(0,n.parseColor)(e,a)).toString=function(){return t},s=!1}return Object.assign({},a)},get onchange(){return i.change&&i.change.listeners[0]},set onchange(e){this.off(\"change\").on(\"change\",e)},get oncoloradd(){return i.coloradd&&i.coloradd.listeners[0]},set oncoloradd(e){this.off(\"coloradd\").on(\"coloradd\",e)},get oncolorremove(){return i.colorremove&&i.colorremove.listeners[0]},set oncolorremove(e){this.off(\"colorremove\").on(\"colorremove\",e)},get palette(){return Object.keys(r.palette).filter(function(e){return r.palette[e]})},set palette(e){r.updatePalette(e)},show:function(){r.element.classList.remove(\"hidden\")},hide:function(){r.element.classList.add(\"hidden\")},toggle:function(){r.element.classList.toggle(\"hidden\")},on:function(e,t){return e&&i[e]&&i[e].on(t),this},off:function(e,t){return e&&i[e]&&i[e].off(t),this},destroy:function(){i.change.off(),i.coloradd.off(),i.colorremove.off(),r.element.remove(),i=null,r=null}};return r.onchange=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];s=!0,i.change.emit([l].concat(t),l)},r.oncoloradd=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];i.coloradd.emit([l].concat(t),l)},r.oncolorremove=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];i.colorremove.emit([l].concat(t),l)},r.element.ctrl=l,l}if(\"undefined\"!=typeof window&&!document.querySelector('head>style[data-source=\"a-color-picker\"]')){var H=r(5).toString(),B=document.createElement(\"style\");B.setAttribute(\"type\",\"text/css\"),B.setAttribute(\"data-source\",\"a-color-picker\"),B.innerHTML=H,document.querySelector(\"head\").appendChild(B)}t.createPicker=E,t.from=function(e,t){var r=function(e){return e?Array.isArray(e)?e:e instanceof HTMLElement?[e]:e instanceof NodeList?[].concat(u(e)):\"string\"==typeof e?[].concat(u(document.querySelectorAll(e))):e.jquery?e.get():[]:[]}(e).map(function(e,r){var i=E(e,t);return i.index=r,i});return r.on=function(e,t){return r.forEach(function(r){return r.on(e,t)}),this},r.off=function(e){return r.forEach(function(t){return t.off(e)}),this},r},t.parseColorToRgb=n.parseColorToRgb,t.parseColorToRgba=n.parseColorToRgba,t.parseColorToHsl=n.parseColorToHsl,t.parseColorToHsla=n.parseColorToHsla,t.parseColor=n.parseColor,t.rgbToHex=n.rgbToHex,t.hslToRgb=n.hslToRgb,t.rgbToHsl=n.rgbToHsl,t.rgbToHsv=n.rgbToHsv,t.rgbToInt=n.rgbToInt,t.intToRgb=n.intToRgb,t.getLuminance=n.getLuminance,t.COLOR_NAMES=n.COLOR_NAMES,t.PALETTE_MATERIAL_500=n.PALETTE_MATERIAL_500,t.PALETTE_MATERIAL_CHROME=n.PALETTE_MATERIAL_CHROME,t.VERSION=\"1.2.1\"},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.nvl=t.ensureArray=t.limit=t.getLuminance=t.parseColor=t.parseColorToHsla=t.parseColorToHsl=t.cssHslaToHsla=t.cssHslToHsl=t.parseColorToRgba=t.parseColorToRgb=t.cssRgbaToRgba=t.cssRgbToRgb=t.cssColorToRgba=t.cssColorToRgb=t.intToRgb=t.rgbToInt=t.rgbToHsv=t.rgbToHsl=t.hslToRgb=t.rgbToHex=t.PALETTE_MATERIAL_CHROME=t.PALETTE_MATERIAL_500=t.COLOR_NAMES=void 0;var i=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],i=!0,o=!1,n=void 0;try{for(var s,a=e[Symbol.iterator]();!(i=(s=a.next()).done)&&(r.push(s.value),!t||r.length!==t);i=!0);}catch(e){o=!0,n=e}finally{try{!i&&a.return&&a.return()}finally{if(o)throw n}}return r}(e,t);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")},o=function(e){return e&&e.__esModule?e:{default:e}}(r(0));function n(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}var s={aliceblue:\"#F0F8FF\",antiquewhite:\"#FAEBD7\",aqua:\"#00FFFF\",aquamarine:\"#7FFFD4\",azure:\"#F0FFFF\",beige:\"#F5F5DC\",bisque:\"#FFE4C4\",black:\"#000000\",blanchedalmond:\"#FFEBCD\",blue:\"#0000FF\",blueviolet:\"#8A2BE2\",brown:\"#A52A2A\",burlywood:\"#DEB887\",cadetblue:\"#5F9EA0\",chartreuse:\"#7FFF00\",chocolate:\"#D2691E\",coral:\"#FF7F50\",cornflowerblue:\"#6495ED\",cornsilk:\"#FFF8DC\",crimson:\"#DC143C\",cyan:\"#00FFFF\",darkblue:\"#00008B\",darkcyan:\"#008B8B\",darkgoldenrod:\"#B8860B\",darkgray:\"#A9A9A9\",darkgrey:\"#A9A9A9\",darkgreen:\"#006400\",darkkhaki:\"#BDB76B\",darkmagenta:\"#8B008B\",darkolivegreen:\"#556B2F\",darkorange:\"#FF8C00\",darkorchid:\"#9932CC\",darkred:\"#8B0000\",darksalmon:\"#E9967A\",darkseagreen:\"#8FBC8F\",darkslateblue:\"#483D8B\",darkslategray:\"#2F4F4F\",darkslategrey:\"#2F4F4F\",darkturquoise:\"#00CED1\",darkviolet:\"#9400D3\",deeppink:\"#FF1493\",deepskyblue:\"#00BFFF\",dimgray:\"#696969\",dimgrey:\"#696969\",dodgerblue:\"#1E90FF\",firebrick:\"#B22222\",floralwhite:\"#FFFAF0\",forestgreen:\"#228B22\",fuchsia:\"#FF00FF\",gainsboro:\"#DCDCDC\",ghostwhite:\"#F8F8FF\",gold:\"#FFD700\",goldenrod:\"#DAA520\",gray:\"#808080\",grey:\"#808080\",green:\"#008000\",greenyellow:\"#ADFF2F\",honeydew:\"#F0FFF0\",hotpink:\"#FF69B4\",\"indianred \":\"#CD5C5C\",\"indigo \":\"#4B0082\",ivory:\"#FFFFF0\",khaki:\"#F0E68C\",lavender:\"#E6E6FA\",lavenderblush:\"#FFF0F5\",lawngreen:\"#7CFC00\",lemonchiffon:\"#FFFACD\",lightblue:\"#ADD8E6\",lightcoral:\"#F08080\",lightcyan:\"#E0FFFF\",lightgoldenrodyellow:\"#FAFAD2\",lightgray:\"#D3D3D3\",lightgrey:\"#D3D3D3\",lightgreen:\"#90EE90\",lightpink:\"#FFB6C1\",lightsalmon:\"#FFA07A\",lightseagreen:\"#20B2AA\",lightskyblue:\"#87CEFA\",lightslategray:\"#778899\",lightslategrey:\"#778899\",lightsteelblue:\"#B0C4DE\",lightyellow:\"#FFFFE0\",lime:\"#00FF00\",limegreen:\"#32CD32\",linen:\"#FAF0E6\",magenta:\"#FF00FF\",maroon:\"#800000\",mediumaquamarine:\"#66CDAA\",mediumblue:\"#0000CD\",mediumorchid:\"#BA55D3\",mediumpurple:\"#9370DB\",mediumseagreen:\"#3CB371\",mediumslateblue:\"#7B68EE\",mediumspringgreen:\"#00FA9A\",mediumturquoise:\"#48D1CC\",mediumvioletred:\"#C71585\",midnightblue:\"#191970\",mintcream:\"#F5FFFA\",mistyrose:\"#FFE4E1\",moccasin:\"#FFE4B5\",navajowhite:\"#FFDEAD\",navy:\"#000080\",oldlace:\"#FDF5E6\",olive:\"#808000\",olivedrab:\"#6B8E23\",orange:\"#FFA500\",orangered:\"#FF4500\",orchid:\"#DA70D6\",palegoldenrod:\"#EEE8AA\",palegreen:\"#98FB98\",paleturquoise:\"#AFEEEE\",palevioletred:\"#DB7093\",papayawhip:\"#FFEFD5\",peachpuff:\"#FFDAB9\",peru:\"#CD853F\",pink:\"#FFC0CB\",plum:\"#DDA0DD\",powderblue:\"#B0E0E6\",purple:\"#800080\",rebeccapurple:\"#663399\",red:\"#FF0000\",rosybrown:\"#BC8F8F\",royalblue:\"#4169E1\",saddlebrown:\"#8B4513\",salmon:\"#FA8072\",sandybrown:\"#F4A460\",seagreen:\"#2E8B57\",seashell:\"#FFF5EE\",sienna:\"#A0522D\",silver:\"#C0C0C0\",skyblue:\"#87CEEB\",slateblue:\"#6A5ACD\",slategray:\"#708090\",slategrey:\"#708090\",snow:\"#FFFAFA\",springgreen:\"#00FF7F\",steelblue:\"#4682B4\",tan:\"#D2B48C\",teal:\"#008080\",thistle:\"#D8BFD8\",tomato:\"#FF6347\",turquoise:\"#40E0D0\",violet:\"#EE82EE\",wheat:\"#F5DEB3\",white:\"#FFFFFF\",whitesmoke:\"#F5F5F5\",yellow:\"#FFFF00\",yellowgreen:\"#9ACD32\"};function a(e,t,r){return e=+e,isNaN(e)?t:e<t?t:e>r?r:e}function l(e,t){return null==e?t:e}function c(e,t,r){var i=[a(e,0,255),a(t,0,255),a(r,0,255)];return\"#\"+(\"000000\"+((e=i[0])<<16|(t=i[1])<<8|(r=i[2])).toString(16)).slice(-6)}function u(e,t,r){var i=void 0,o=void 0,n=void 0,s=[a(e,0,360)/360,a(t,0,100)/100,a(r,0,100)/100];if(e=s[0],r=s[2],0==(t=s[1]))i=o=n=r;else{var l=function(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e},c=r<.5?r*(1+t):r+t-r*t,u=2*r-c;i=l(u,c,e+1/3),o=l(u,c,e),n=l(u,c,e-1/3)}return[255*i,255*o,255*n].map(Math.round)}function h(e,t,r){var i=[a(e,0,255)/255,a(t,0,255)/255,a(r,0,255)/255];e=i[0],t=i[1],r=i[2];var o=Math.max(e,t,r),n=Math.min(e,t,r),s=void 0,l=void 0,c=(o+n)/2;if(o==n)s=l=0;else{var u=o-n;switch(l=c>.5?u/(2-o-n):u/(o+n),o){case e:s=(t-r)/u+(t<r?6:0);break;case t:s=(r-e)/u+2;break;case r:s=(e-t)/u+4}s/=6}return[360*s,100*l,100*c].map(Math.round)}function p(e,t,r){return e<<16|t<<8|r}function d(e){if(e){var t=s[e.toString().toLowerCase()],r=/^\\s*#?((([0-9A-F])([0-9A-F])([0-9A-F]))|(([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})))\\s*$/i.exec(t||e)||[],o=i(r,10),n=o[3],a=o[4],l=o[5],c=o[7],u=o[8],h=o[9];if(void 0!==n)return[parseInt(n+n,16),parseInt(a+a,16),parseInt(l+l,16)];if(void 0!==c)return[parseInt(c,16),parseInt(u,16),parseInt(h,16)]}}function f(e){if(e){var t=s[e.toString().toLowerCase()],r=/^\\s*#?((([0-9A-F])([0-9A-F])([0-9A-F])([0-9A-F])?)|(([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})?))\\s*$/i.exec(t||e)||[],o=i(r,12),n=o[3],a=o[4],l=o[5],c=o[6],u=o[8],h=o[9],p=o[10],d=o[11];if(void 0!==n)return[parseInt(n+n,16),parseInt(a+a,16),parseInt(l+l,16),c?+(parseInt(c+c,16)/255).toFixed(2):1];if(void 0!==u)return[parseInt(u,16),parseInt(h,16),parseInt(p,16),d?+(parseInt(d,16)/255).toFixed(2):1]}}function g(e){if(e){var t=/^rgb\\((\\d+)[\\s,](\\d+)[\\s,](\\d+)\\)/i.exec(e)||[],r=i(t,4),o=r[0],n=r[1],s=r[2],l=r[3];return o?[a(n,0,255),a(s,0,255),a(l,0,255)]:void 0}}function b(e){if(e){var t=/^rgba?\\((\\d+)\\s*[\\s,]\\s*(\\d+)\\s*[\\s,]\\s*(\\d+)(\\s*[\\s,]\\s*(\\d*(.\\d+)?))?\\)/i.exec(e)||[],r=i(t,6),o=r[0],n=r[1],s=r[2],c=r[3],u=r[5];return o?[a(n,0,255),a(s,0,255),a(c,0,255),a(l(u,1),0,1)]:void 0}}function v(e){if(Array.isArray(e))return[a(e[0],0,255),a(e[1],0,255),a(e[2],0,255),a(l(e[3],1),0,1)];var t=f(e)||b(e);return t&&3===t.length&&t.push(1),t}function m(e){if(e){var t=/^hsl\\((\\d+)[\\s,](\\d+)[\\s,](\\d+)\\)/i.exec(e)||[],r=i(t,4),o=r[0],n=r[1],s=r[2],l=r[3];return o?[a(n,0,360),a(s,0,100),a(l,0,100)]:void 0}}function A(e){if(e){var t=/^hsla?\\((\\d+)\\s*[\\s,]\\s*(\\d+)\\s*[\\s,]\\s*(\\d+)(\\s*[\\s,]\\s*(\\d*(.\\d+)?))?\\)/i.exec(e)||[],r=i(t,6),o=r[0],n=r[1],s=r[2],c=r[3],u=r[5];return o?[a(n,0,255),a(s,0,255),a(c,0,255),a(l(u,1),0,1)]:void 0}}function y(e){if(Array.isArray(e))return[a(e[0],0,360),a(e[1],0,100),a(e[2],0,100),a(l(e[3],1),0,1)];var t=A(e);return t&&3===t.length&&t.push(1),t}function k(e,t){switch(t){case\"rgb\":default:return e.slice(0,3);case\"rgbcss\":return\"rgb(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\")\";case\"rgbcss4\":return\"rgb(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\", \"+e[3]+\")\";case\"rgba\":return e;case\"rgbacss\":return\"rgba(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\", \"+e[3]+\")\";case\"hsl\":return h.apply(void 0,n(e));case\"hslcss\":return\"hsl(\"+(e=h.apply(void 0,n(e)))[0]+\", \"+e[1]+\", \"+e[2]+\")\";case\"hslcss4\":var r=h.apply(void 0,n(e));return\"hsl(\"+r[0]+\", \"+r[1]+\", \"+r[2]+\", \"+e[3]+\")\";case\"hsla\":return[].concat(n(h.apply(void 0,n(e))),[e[3]]);case\"hslacss\":var i=h.apply(void 0,n(e));return\"hsla(\"+i[0]+\", \"+i[1]+\", \"+i[2]+\", \"+e[3]+\")\";case\"hex\":return c.apply(void 0,n(e));case\"hexcss4\":return c.apply(void 0,n(e))+(\"00\"+parseInt(255*e[3]).toString(16)).slice(-2);case\"int\":return p.apply(void 0,n(e))}}t.COLOR_NAMES=s,t.PALETTE_MATERIAL_500=[\"#F44336\",\"#E91E63\",\"#E91E63\",\"#9C27B0\",\"#9C27B0\",\"#673AB7\",\"#673AB7\",\"#3F51B5\",\"#3F51B5\",\"#2196F3\",\"#2196F3\",\"#03A9F4\",\"#03A9F4\",\"#00BCD4\",\"#00BCD4\",\"#009688\",\"#009688\",\"#4CAF50\",\"#4CAF50\",\"#8BC34A\",\"#8BC34A\",\"#CDDC39\",\"#CDDC39\",\"#FFEB3B\",\"#FFEB3B\",\"#FFC107\",\"#FFC107\",\"#FF9800\",\"#FF9800\",\"#FF5722\",\"#FF5722\",\"#795548\",\"#795548\",\"#9E9E9E\",\"#9E9E9E\",\"#607D8B\",\"#607D8B\"],t.PALETTE_MATERIAL_CHROME=[\"#f44336\",\"#e91e63\",\"#9c27b0\",\"#673ab7\",\"#3f51b5\",\"#2196f3\",\"#03a9f4\",\"#00bcd4\",\"#009688\",\"#4caf50\",\"#8bc34a\",\"#cddc39\",\"#ffeb3b\",\"#ffc107\",\"#ff9800\",\"#ff5722\",\"#795548\",\"#9e9e9e\",\"#607d8b\"],t.rgbToHex=c,t.hslToRgb=u,t.rgbToHsl=h,t.rgbToHsv=function(e,t,r){var i=[a(e,0,255)/255,a(t,0,255)/255,a(r,0,255)/255];e=i[0],t=i[1],r=i[2];var o,n=Math.max(e,t,r),s=Math.min(e,t,r),l=void 0,c=n,u=n-s;if(o=0===n?0:u/n,n==s)l=0;else{switch(n){case e:l=(t-r)/u+(t<r?6:0);break;case t:l=(r-e)/u+2;break;case r:l=(e-t)/u+4}l/=6}return[l,o,c]},t.rgbToInt=p,t.intToRgb=function(e){return[e>>16&255,e>>8&255,255&e]},t.cssColorToRgb=d,t.cssColorToRgba=f,t.cssRgbToRgb=g,t.cssRgbaToRgba=b,t.parseColorToRgb=function(e){return Array.isArray(e)?e=[a(e[0],0,255),a(e[1],0,255),a(e[2],0,255)]:d(e)||g(e)},t.parseColorToRgba=v,t.cssHslToHsl=m,t.cssHslaToHsla=A,t.parseColorToHsl=function(e){return Array.isArray(e)?e=[a(e[0],0,360),a(e[1],0,100),a(e[2],0,100)]:m(e)},t.parseColorToHsla=y,t.parseColor=function(e,t){if(t=t||\"rgb\",null!=e){var r=void 0;if((r=v(e))||(r=y(e))&&(r=[].concat(n(u.apply(void 0,n(r))),[r[3]])))return(0,o.default)(t)?[\"rgb\",\"rgbcss\",\"rgbcss4\",\"rgba\",\"rgbacss\",\"hsl\",\"hslcss\",\"hslcss4\",\"hsla\",\"hslacss\",\"hex\",\"hexcss4\",\"int\"].reduce(function(e,t){return e[t]=k(r,t),e},t||{}):k(r,t.toString().toLowerCase())}},t.getLuminance=function(e,t,r){return.2126*(e=(e/=255)<.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.7152*(t=(t/=255)<.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.0722*((r/=255)<.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))},t.limit=a,t.ensureArray=function(e){return e?Array.from(e):[]},t.nvl=l},function(e,t,r){\"use strict\";\n/*!\n * isobject <https://github.com/jonschlinkert/isobject>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */e.exports=function(e){return null!=e&&\"object\"==typeof e&&!1===Array.isArray(e)}},function(e,t){e.exports='<div class=\"a-color-picker-row a-color-picker-stack a-color-picker-row-top\"> <canvas class=\"a-color-picker-sl a-color-picker-transparent\"></canvas> <div class=a-color-picker-dot></div> </div> <div class=a-color-picker-row> <div class=\"a-color-picker-stack a-color-picker-transparent a-color-picker-circle\"> <div class=a-color-picker-preview> <input class=a-color-picker-clipbaord type=text> </div> </div> <div class=a-color-picker-column> <div class=\"a-color-picker-cell a-color-picker-stack\"> <canvas class=a-color-picker-h></canvas> <div class=a-color-picker-dot></div> </div> <div class=\"a-color-picker-cell a-color-picker-alpha a-color-picker-stack\" show-on-alpha> <canvas class=\"a-color-picker-a a-color-picker-transparent\"></canvas> <div class=a-color-picker-dot></div> </div> </div> </div> <div class=\"a-color-picker-row a-color-picker-hsl\" show-on-hsl> <label>H</label> <input nameref=H type=number maxlength=3 min=0 max=360 value=0> <label>S</label> <input nameref=S type=number maxlength=3 min=0 max=100 value=0> <label>L</label> <input nameref=L type=number maxlength=3 min=0 max=100 value=0> </div> <div class=\"a-color-picker-row a-color-picker-rgb\" show-on-rgb> <label>R</label> <input nameref=R type=number maxlength=3 min=0 max=255 value=0> <label>G</label> <input nameref=G type=number maxlength=3 min=0 max=255 value=0> <label>B</label> <input nameref=B type=number maxlength=3 min=0 max=255 value=0> </div> <div class=\"a-color-picker-row a-color-picker-rgbhex a-color-picker-single-input\" show-on-single-input> <label>HEX</label> <input nameref=RGBHEX type=text select-on-focus> </div> <div class=\"a-color-picker-row a-color-picker-palette\"></div>'},function(e,t,r){var i=r(6);e.exports=\"string\"==typeof i?i:i.toString()},function(e,t,r){(e.exports=r(7)(!1)).push([e.i,\"/*!\\n * a-color-picker\\n * https://github.com/narsenico/a-color-picker\\n *\\n * Copyright (c) 2017-2018, Gianfranco Caldi.\\n * Released under the MIT License.\\n */.a-color-picker{background-color:#fff;padding:0;display:inline-flex;flex-direction:column;user-select:none;width:232px;font:400 10px Helvetica,Arial,sans-serif;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 4px rgba(0,0,0,.25)}.a-color-picker,.a-color-picker-row,.a-color-picker input{box-sizing:border-box}.a-color-picker-row{padding:15px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;user-select:none}.a-color-picker-row-top{padding:0}.a-color-picker-row:not(:first-child){border-top:1px solid #f5f5f5}.a-color-picker-column{display:flex;flex-direction:column}.a-color-picker-cell{flex:1 1 auto;margin-bottom:4px}.a-color-picker-cell:last-child{margin-bottom:0}.a-color-picker-stack{position:relative}.a-color-picker-dot{position:absolute;width:14px;height:14px;top:0;left:0;background:#fff;pointer-events:none;border-radius:50px;z-index:1000;box-shadow:0 1px 2px rgba(0,0,0,.75)}.a-color-picker-a,.a-color-picker-h,.a-color-picker-sl{cursor:cell}.a-color-picker-a+.a-color-picker-dot,.a-color-picker-h+.a-color-picker-dot{top:-2px}.a-color-picker-a,.a-color-picker-h{border-radius:2px}.a-color-picker-preview{box-sizing:border-box;width:30px;height:30px;user-select:none;border-radius:15px}.a-color-picker-circle{border-radius:50px;border:1px solid #eee}.a-color-picker-hsl,.a-color-picker-rgb,.a-color-picker-single-input{justify-content:space-evenly}.a-color-picker-hsl>label,.a-color-picker-rgb>label,.a-color-picker-single-input>label{padding:0 8px;flex:0 0 auto;color:#969696}.a-color-picker-hsl>input,.a-color-picker-rgb>input,.a-color-picker-single-input>input{text-align:center;padding:2px 0;width:0;flex:1 1 auto;border:1px solid #e0e0e0;line-height:20px}.a-color-picker-hsl>input::-webkit-inner-spin-button,.a-color-picker-rgb>input::-webkit-inner-spin-button,.a-color-picker-single-input>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.a-color-picker-hsl>input:focus,.a-color-picker-rgb>input:focus,.a-color-picker-single-input>input:focus{border-color:#04a9f4;outline:none}.a-color-picker-transparent{background-image:linear-gradient(-45deg,#cdcdcd 25%,transparent 0),linear-gradient(45deg,#cdcdcd 25%,transparent 0),linear-gradient(-45deg,transparent 75%,#cdcdcd 0),linear-gradient(45deg,transparent 75%,#cdcdcd 0);background-size:11px 11px;background-position:0 0,0 -5.5px,-5.5px 5.5px,5.5px 0}.a-color-picker-sl{border-radius:3px 3px 0 0}.a-color-picker.hide-alpha [show-on-alpha],.a-color-picker.hide-hsl [show-on-hsl],.a-color-picker.hide-rgb [show-on-rgb],.a-color-picker.hide-single-input [show-on-single-input]{display:none}.a-color-picker-clipbaord{width:100%;height:100%;opacity:0;cursor:pointer}.a-color-picker-palette{flex-flow:wrap;flex-direction:row;justify-content:flex-start;padding:10px}.a-color-picker-palette-color{width:15px;height:15px;flex:0 1 15px;margin:3px;box-sizing:border-box;cursor:pointer;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.a-color-picker-palette-add{text-align:center;line-height:13px;color:#607d8b}.a-color-picker.hidden{display:none}\",\"\"])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=function(e,t){var r=e[1]||\"\",i=e[3];if(!i)return r;if(t&&\"function\"==typeof btoa){var o=function(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}(i),n=i.sources.map(function(e){return\"/*# sourceURL=\"+i.sourceRoot+e+\" */\"});return[r].concat(n).concat([o]).join(\"\\n\")}return[r].join(\"\\n\")}(t,e);return t[2]?\"@media \"+t[2]+\"{\"+r+\"}\":r}).join(\"\")},t.i=function(e,r){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var i={},o=0;o<this.length;o++){var n=this[o][0];\"number\"==typeof n&&(i[n]=!0)}for(o=0;o<e.length;o++){var s=e[o];\"number\"==typeof s[0]&&i[s[0]]||(r&&!s[2]?s[2]=r:r&&(s[2]=\"(\"+s[2]+\") and (\"+r+\")\"),t.push(s))}},t}}])});","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","module.exports = parseRange\nmodule.exports.parse = parseRange\nmodule.exports.compose = composeRange\n\nfunction composeRange (range) {\n return range\n .reduce((acc, cur, idx, arr) => {\n if (idx === 0 || cur !== arr[idx - 1] + 1) acc.push([])\n acc[acc.length - 1].push(cur)\n return acc\n }, [])\n .map((cur) => {\n return cur.length > 1 ? `${cur[0]}-${cur[cur.length - 1]}` : `${cur[0]}`\n })\n}\n\nfunction parseRange (range) {\n const generateRange = (start, end = start) => Array.from({ length: end - start + 1 }, (cur, idx) => idx + start)\n\n return range\n .reduce((acc, cur, idx, arr) => {\n const r = cur.split('-').map(cur => parseInt(cur))\n return acc.concat(generateRange(...r))\n }, [])\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.bowser=t():e.bowser=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=90)}({17:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\"\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\"\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(\".0\");return e.map(n.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]<u[1][a])return-1}},e.map=function(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r+=1)n.push(t(e[r]));return n},e.find=function(e,t){var r,n;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(r=0,n=e.length;r<n;r+=1){var i=e[r];if(t(i,r))return i}},e.assign=function(e){for(var t,r,n=e,i=arguments.length,s=new Array(i>1?i-1:0),a=1;a<i;a++)s[a-1]=arguments[a];if(Object.assign)return Object.assign.apply(Object,[e].concat(s));var o=function(){var e=s[t];\"object\"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){n[t]=e[t]}))};for(t=0,r=s.length;t<r;t+=1)o();return e},e.getBrowserAlias=function(e){return n.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return n.BROWSER_MAP[e]||\"\"},e}();t.default=i,e.exports=t.default},18:function(e,t,r){\"use strict\";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0;t.BROWSER_ALIASES_MAP={\"Amazon Silk\":\"amazon_silk\",\"Android Browser\":\"android\",Bada:\"bada\",BlackBerry:\"blackberry\",Chrome:\"chrome\",Chromium:\"chromium\",Electron:\"electron\",Epiphany:\"epiphany\",Firefox:\"firefox\",Focus:\"focus\",Generic:\"generic\",\"Google Search\":\"google_search\",Googlebot:\"googlebot\",\"Internet Explorer\":\"ie\",\"K-Meleon\":\"k_meleon\",Maxthon:\"maxthon\",\"Microsoft Edge\":\"edge\",\"MZ Browser\":\"mz\",\"NAVER Whale Browser\":\"naver\",Opera:\"opera\",\"Opera Coast\":\"opera_coast\",PhantomJS:\"phantomjs\",Puffin:\"puffin\",QupZilla:\"qupzilla\",QQ:\"qq\",QQLite:\"qqlite\",Safari:\"safari\",Sailfish:\"sailfish\",\"Samsung Internet for Android\":\"samsung_internet\",SeaMonkey:\"seamonkey\",Sleipnir:\"sleipnir\",Swing:\"swing\",Tizen:\"tizen\",\"UC Browser\":\"uc\",Vivaldi:\"vivaldi\",\"WebOS Browser\":\"webos\",WeChat:\"wechat\",\"Yandex Browser\":\"yandex\",Roku:\"roku\"};t.BROWSER_MAP={amazon_silk:\"Amazon Silk\",android:\"Android Browser\",bada:\"Bada\",blackberry:\"BlackBerry\",chrome:\"Chrome\",chromium:\"Chromium\",electron:\"Electron\",epiphany:\"Epiphany\",firefox:\"Firefox\",focus:\"Focus\",generic:\"Generic\",googlebot:\"Googlebot\",google_search:\"Google Search\",ie:\"Internet Explorer\",k_meleon:\"K-Meleon\",maxthon:\"Maxthon\",edge:\"Microsoft Edge\",mz:\"MZ Browser\",naver:\"NAVER Whale Browser\",opera:\"Opera\",opera_coast:\"Opera Coast\",phantomjs:\"PhantomJS\",puffin:\"Puffin\",qupzilla:\"QupZilla\",qq:\"QQ Browser\",qqlite:\"QQ Browser Lite\",safari:\"Safari\",sailfish:\"Sailfish\",samsung_internet:\"Samsung Internet for Android\",seamonkey:\"SeaMonkey\",sleipnir:\"Sleipnir\",swing:\"Swing\",tizen:\"Tizen\",uc:\"UC Browser\",vivaldi:\"Vivaldi\",webos:\"WebOS Browser\",wechat:\"WeChat\",yandex:\"Yandex Browser\"};t.PLATFORMS_MAP={tablet:\"tablet\",mobile:\"mobile\",desktop:\"desktop\",tv:\"tv\"};t.OS_MAP={WindowsPhone:\"Windows Phone\",Windows:\"Windows\",MacOS:\"macOS\",iOS:\"iOS\",Android:\"Android\",WebOS:\"WebOS\",BlackBerry:\"BlackBerry\",Bada:\"Bada\",Tizen:\"Tizen\",Linux:\"Linux\",ChromeOS:\"Chrome OS\",PlayStation4:\"PlayStation 4\",Roku:\"Roku\"};t.ENGINE_MAP={EdgeHTML:\"EdgeHTML\",Blink:\"Blink\",Trident:\"Trident\",Presto:\"Presto\",Gecko:\"Gecko\",WebKit:\"WebKit\"}},90:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(91))&&n.__esModule?n:{default:n},s=r(18);function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var o=function(){function e(){}var t,r,n;return e.getParser=function(e,t){if(void 0===t&&(t=!1),\"string\"!=typeof e)throw new Error(\"UserAgent should be a string\");return new i.default(e,t)},e.parse=function(e){return new i.default(e).getResult()},t=e,n=[{key:\"BROWSER_MAP\",get:function(){return s.BROWSER_MAP}},{key:\"ENGINE_MAP\",get:function(){return s.ENGINE_MAP}},{key:\"OS_MAP\",get:function(){return s.OS_MAP}},{key:\"PLATFORMS_MAP\",get:function(){return s.PLATFORMS_MAP}}],(r=null)&&a(t.prototype,r),n&&a(t,n),e}();t.default=o,e.exports=t.default},91:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=u(r(92)),i=u(r(93)),s=u(r(94)),a=u(r(95)),o=u(r(17));function u(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||\"\"===e)throw new Error(\"UserAgent parameter can't be empty\");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=o.default.find(n.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||\"\":this.getBrowser().name||\"\"},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=o.default.find(i.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||\"\":t||\"\"},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||\"\":t||\"\"},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=o.default.find(s.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||\"\":this.getEngine().name||\"\"},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=o.default.find(a.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return o.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,r={},n=0,i={},s=0;if(Object.keys(e).forEach((function(t){var a=e[t];\"string\"==typeof a?(i[t]=a,s+=1):\"object\"==typeof a&&(r[t]=a,n+=1)})),n>0){var a=Object.keys(r),u=o.default.find(a,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(r=e.substr(1),\"=\"===e[1]?(n=!0,r=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?r=e.substr(1):\"~\"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\\/(\\d+(\\.?_?\\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},r=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},r=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},r=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},r=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},r=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},r=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},r=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},r=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},r=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},r=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},r=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},r=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},r=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},r=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},r=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},r=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},r=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},r=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},r=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},r=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\"Android Browser\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",r={type:s.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(r.model=t),r}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})}));","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBindBasic = require('call-bind-apply-helpers');\n\n/** @type {(thisArg: string, searchString: string, position?: number) => number} */\nvar $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);\n\n/** @type {import('.')} */\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\t/* eslint no-extra-parens: 0 */\n\n\tvar intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing));\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBindBasic(/** @type {const} */ ([intrinsic]));\n\t}\n\treturn intrinsic;\n};\n","/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\nvar colorNames = require('color-name');\nvar swizzle = require('simple-swizzle');\nvar hasOwnProperty = Object.hasOwnProperty;\n\nvar reverseNames = Object.create(null);\n\n// create a list of reverse color names\nfor (var name in colorNames) {\n\tif (hasOwnProperty.call(colorNames, name)) {\n\t\treverseNames[colorNames[name]] = name;\n\t}\n}\n\nvar cs = module.exports = {\n\tto: {},\n\tget: {}\n};\n\ncs.get = function (string) {\n\tvar prefix = string.substring(0, 3).toLowerCase();\n\tvar val;\n\tvar model;\n\tswitch (prefix) {\n\t\tcase 'hsl':\n\t\t\tval = cs.get.hsl(string);\n\t\t\tmodel = 'hsl';\n\t\t\tbreak;\n\t\tcase 'hwb':\n\t\t\tval = cs.get.hwb(string);\n\t\t\tmodel = 'hwb';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval = cs.get.rgb(string);\n\t\t\tmodel = 'rgb';\n\t\t\tbreak;\n\t}\n\n\tif (!val) {\n\t\treturn null;\n\t}\n\n\treturn {model: model, value: val};\n};\n\ncs.get.rgb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar abbr = /^#([a-f0-9]{3,4})$/i;\n\tvar hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;\n\tvar rgba = /^rgba?\\(\\s*([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar keyword = /^(\\w+)$/;\n\n\tvar rgb = [0, 0, 0, 1];\n\tvar match;\n\tvar i;\n\tvar hexAlpha;\n\n\tif (match = string.match(hex)) {\n\t\thexAlpha = match[2];\n\t\tmatch = match[1];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\t// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19\n\t\t\tvar i2 = i * 2;\n\t\t\trgb[i] = parseInt(match.slice(i2, i2 + 2), 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(abbr)) {\n\t\tmatch = match[1];\n\t\thexAlpha = match[3];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i] + match[i], 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(rgba)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i + 1], 0);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(per)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(keyword)) {\n\t\tif (match[1] === 'transparent') {\n\t\t\treturn [0, 0, 0, 0];\n\t\t}\n\n\t\tif (!hasOwnProperty.call(colorNames, match[1])) {\n\t\t\treturn null;\n\t\t}\n\n\t\trgb = colorNames[match[1]];\n\t\trgb[3] = 1;\n\n\t\treturn rgb;\n\t} else {\n\t\treturn null;\n\t}\n\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] = clamp(rgb[i], 0, 255);\n\t}\n\trgb[3] = clamp(rgb[3], 0, 1);\n\n\treturn rgb;\n};\n\ncs.get.hsl = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hsl = /^hsla?\\(\\s*([+-]?(?:\\d{0,3}\\.)?\\d+)(?:deg)?\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*(?:[,|\\/]\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hsl);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar s = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar l = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\n\t\treturn [h, s, l, a];\n\t}\n\n\treturn null;\n};\n\ncs.get.hwb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hwb = /^hwb\\(\\s*([+-]?\\d{0,3}(?:\\.\\d+)?)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hwb);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar w = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar b = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\treturn [h, w, b, a];\n\t}\n\n\treturn null;\n};\n\ncs.to.hex = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn (\n\t\t'#' +\n\t\thexDouble(rgba[0]) +\n\t\thexDouble(rgba[1]) +\n\t\thexDouble(rgba[2]) +\n\t\t(rgba[3] < 1\n\t\t\t? (hexDouble(Math.round(rgba[3] * 255)))\n\t\t\t: '')\n\t);\n};\n\ncs.to.rgb = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'\n\t\t: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';\n};\n\ncs.to.rgb.percent = function () {\n\tvar rgba = swizzle(arguments);\n\n\tvar r = Math.round(rgba[0] / 255 * 100);\n\tvar g = Math.round(rgba[1] / 255 * 100);\n\tvar b = Math.round(rgba[2] / 255 * 100);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'\n\t\t: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';\n};\n\ncs.to.hsl = function () {\n\tvar hsla = swizzle(arguments);\n\treturn hsla.length < 4 || hsla[3] === 1\n\t\t? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'\n\t\t: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';\n};\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\ncs.to.hwb = function () {\n\tvar hwba = swizzle(arguments);\n\n\tvar a = '';\n\tif (hwba.length >= 4 && hwba[3] !== 1) {\n\t\ta = ', ' + hwba[3];\n\t}\n\n\treturn 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';\n};\n\ncs.to.keyword = function (rgb) {\n\treturn reverseNames[rgb.slice(0, 3)];\n};\n\n// helpers\nfunction clamp(num, min, max) {\n\treturn Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n\tvar str = Math.round(num).toString(16).toUpperCase();\n\treturn (str.length < 2) ? '0' + str : str;\n}\n","const colorString = require('color-string');\nconst convert = require('color-convert');\n\nconst skippedModels = [\n\t// To be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// Gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// Shouldn't really be in color-convert either...\n\t'hex',\n];\n\nconst hashedModelKeys = {};\nfor (const model of Object.keys(convert)) {\n\thashedModelKeys[[...convert[model].labels].sort().join('')] = model;\n}\n\nconst limiters = {};\n\nfunction Color(object, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(object, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tlet i;\n\tlet channels;\n\n\tif (object == null) { // eslint-disable-line no-eq-null,eqeqeq\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (object instanceof Color) {\n\t\tthis.model = object.model;\n\t\tthis.color = [...object.color];\n\t\tthis.valpha = object.valpha;\n\t} else if (typeof object === 'string') {\n\t\tconst result = colorString.get(object);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + object);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (object.length > 0) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tconst newArray = Array.prototype.slice.call(object, 0, channels);\n\t\tthis.color = zeroArray(newArray, channels);\n\t\tthis.valpha = typeof object[channels] === 'number' ? object[channels] : 1;\n\t} else if (typeof object === 'number') {\n\t\t// This is always RGB - can be converted later on.\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(object >> 16) & 0xFF,\n\t\t\t(object >> 8) & 0xFF,\n\t\t\tobject & 0xFF,\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tconst keys = Object.keys(object);\n\t\tif ('alpha' in object) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof object.alpha === 'number' ? object.alpha : 0;\n\t\t}\n\n\t\tconst hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(object));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tconst {labels} = convert[this.model];\n\t\tconst color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(object[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// Perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tconst limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString() {\n\t\treturn this.string();\n\t},\n\n\ttoJSON() {\n\t\treturn this[this.model]();\n\t},\n\n\tstring(places) {\n\t\tlet self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString(places) {\n\t\tconst self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray() {\n\t\treturn this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];\n\t},\n\n\tobject() {\n\t\tconst result = {};\n\t\tconst {channels} = convert[this.model];\n\t\tconst {labels} = convert[this.model];\n\n\t\tfor (let i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray() {\n\t\tconst rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject() {\n\t\tconst rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround(places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model);\n\t},\n\n\talpha(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color([...this.color, Math.max(0, Math.min(1, value))], this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// Rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, value => ((value % 360) + 360) % 360),\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(95.047)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(108.833)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\thexa(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\tconst rgbArray = this.rgb().round().color;\n\n\t\tlet alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();\n\t\tif (alphaHex.length === 1) {\n\t\t\talphaHex = '0' + alphaHex;\n\t\t}\n\n\t\treturn colorString.to.hex(rgbArray) + alphaHex;\n\t},\n\n\trgbNumber() {\n\t\tconst rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity() {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tconst rgb = this.rgb().color;\n\n\t\tconst lum = [];\n\t\tfor (const [i, element] of rgb.entries()) {\n\t\t\tconst chan = element / 255;\n\t\t\tlum[i] = (chan <= 0.04045) ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast(color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tconst lum1 = this.luminosity();\n\t\tconst lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel(color2) {\n\t\t// https://www.w3.org/TR/WCAG/#contrast-enhanced\n\t\tconst contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark() {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tconst rgb = this.rgb().color;\n\t\tconst yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight() {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate() {\n\t\tconst rgb = this.rgb();\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tlighten(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale() {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tconst rgb = this.rgb().color;\n\t\tconst value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(value, value, value);\n\t},\n\n\tfade(ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer(ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate(degrees) {\n\t\tconst hsl = this.hsl();\n\t\tlet hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix(mixinColor, weight) {\n\t\t// Ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\n\t\tconst color1 = mixinColor.rgb();\n\t\tconst color2 = this.rgb();\n\t\tconst p = weight === undefined ? 0.5 : weight;\n\n\t\tconst w = 2 * p - 1;\n\t\tconst a = color1.alpha() - color2.alpha();\n\n\t\tconst w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2;\n\t\tconst w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n};\n\n// Model conversion methods and static constructors\nfor (const model of Object.keys(convert)) {\n\tif (skippedModels.includes(model)) {\n\t\tcontinue;\n\t}\n\n\tconst {channels} = convert[model];\n\n\t// Conversion methods\n\tColor.prototype[model] = function (...args) {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (args.length > 0) {\n\t\t\treturn new Color(args, model);\n\t\t}\n\n\t\treturn new Color([...assertArray(convert[this.model][model].raw(this.color)), this.valpha], model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (...args) {\n\t\tlet color = args[0];\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(args, channels);\n\t\t}\n\n\t\treturn new Color(color, model);\n\t};\n}\n\nfunction roundTo(number, places) {\n\treturn Number(number.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (number) {\n\t\treturn roundTo(number, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tfor (const m of model) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t}\n\n\tmodel = model[0];\n\n\treturn function (value) {\n\t\tlet result;\n\n\t\tif (value !== undefined) {\n\t\t\tif (modifier) {\n\t\t\t\tvalue = modifier(value);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = value;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\n\nfunction zeroArray(array, length) {\n\tfor (let i = 0; i < length; i++) {\n\t\tif (typeof array[i] !== 'number') {\n\t\t\tarray[i] = 0;\n\t\t}\n\t}\n\n\treturn array;\n}\n\nmodule.exports = Color;\n","module.exports = function deepFreeze (o) {\n Object.freeze(o);\n\n Object.getOwnPropertyNames(o).forEach(function (prop) {\n if (o.hasOwnProperty(prop)\n && o[prop] !== null\n && (typeof o[prop] === \"object\" || typeof o[prop] === \"function\")\n && !Object.isFrozen(o[prop])) {\n deepFreeze(o[prop]);\n }\n });\n \n return o;\n};\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = filterInvalidDOMProps;\nvar eventProps = {\n\tonCopy: true,\n\tonCut: true,\n\tonPaste: true,\n\tonLoad: true,\n\tonError: true,\n\tonWheel: true,\n\tonScroll: true,\n\tonCompositionEnd: true,\n\tonCompositionStart: true,\n\tonCompositionUpdate: true,\n\tonKeyDown: true,\n\tonKeyPress: true,\n\tonKeyUp: true,\n\tonFocus: true,\n\tonBlur: true,\n\tonChange: true,\n\tonInput: true,\n\tonSubmit: true,\n\tonClick: true,\n\tonContextMenu: true,\n\tonDoubleClick: true,\n\tonDrag: true,\n\tonDragEnd: true,\n\tonDragEnter: true,\n\tonDragExit: true,\n\tonDragLeave: true,\n\tonDragOver: true,\n\tonDragStart: true,\n\tonDrop: true,\n\tonMouseDown: true,\n\tonMouseEnter: true,\n\tonMouseLeave: true,\n\tonMouseMove: true,\n\tonMouseOut: true,\n\tonMouseOver: true,\n\tonMouseUp: true,\n\tonSelect: true,\n\tonTouchCancel: true,\n\tonTouchEnd: true,\n\tonTouchMove: true,\n\tonTouchStart: true,\n\tonAnimationStart: true,\n\tonAnimationEnd: true,\n\tonAnimationIteration: true,\n\tonTransitionEnd: true\n};\n\nvar htmlAttributes = {\n\tabbr: \"abbr\",\n\taccept: \"accept\",\n\tacceptCharset: \"accept-charset\",\n\taccessKey: \"accesskey\",\n\taction: \"action\",\n\tallowFullScreen: \"allowfullscreen\",\n\tallowTransparency: \"allowtransparency\",\n\talt: \"alt\",\n\tasync: \"async\",\n\tautoComplete: \"autocomplete\",\n\tautoFocus: \"autofocus\",\n\tautoPlay: \"autoplay\",\n\tcellPadding: \"cellpadding\",\n\tcellSpacing: \"cellspacing\",\n\tchallenge: \"challenge\",\n\tcharset: \"charset\",\n\tchecked: \"checked\",\n\tcite: \"cite\",\n\tclass: \"class\",\n\tclassName: \"class\",\n\tcols: \"cols\",\n\tcolSpan: \"colspan\",\n\tcommand: \"command\",\n\tcontent: \"content\",\n\tcontentEditable: \"contenteditable\",\n\tcontextMenu: \"contextmenu\",\n\tcontrols: \"controls\",\n\tcoords: \"coords\",\n\tcrossOrigin: \"crossorigin\",\n\tdata: \"data\",\n\tdateTime: \"datetime\",\n\tdefault: \"default\",\n\tdefer: \"defer\",\n\tdir: \"dir\",\n\tdisabled: \"disabled\",\n\tdownload: \"download\",\n\tdraggable: \"draggable\",\n\tdropzone: \"dropzone\",\n\tencType: \"enctype\",\n\tfor: \"for\",\n\tform: \"form\",\n\tformAction: \"formaction\",\n\tformEncType: \"formenctype\",\n\tformMethod: \"formmethod\",\n\tformNoValidate: \"formnovalidate\",\n\tformTarget: \"formtarget\",\n\tframeBorder: \"frameBorder\",\n\theaders: \"headers\",\n\theight: \"height\",\n\thidden: \"hidden\",\n\thigh: \"high\",\n\thref: \"href\",\n\threfLang: \"hreflang\",\n\thtmlFor: \"for\",\n\thttpEquiv: \"http-equiv\",\n\ticon: \"icon\",\n\tid: \"id\",\n\tinputMode: \"inputmode\",\n\tisMap: \"ismap\",\n\titemId: \"itemid\",\n\titemProp: \"itemprop\",\n\titemRef: \"itemref\",\n\titemScope: \"itemscope\",\n\titemType: \"itemtype\",\n\tkind: \"kind\",\n\tlabel: \"label\",\n\tlang: \"lang\",\n\tlist: \"list\",\n\tloop: \"loop\",\n\tmanifest: \"manifest\",\n\tmax: \"max\",\n\tmaxLength: \"maxlength\",\n\tmedia: \"media\",\n\tmediaGroup: \"mediagroup\",\n\tmethod: \"method\",\n\tmin: \"min\",\n\tminLength: \"minlength\",\n\tmultiple: \"multiple\",\n\tmuted: \"muted\",\n\tname: \"name\",\n\tnoValidate: \"novalidate\",\n\topen: \"open\",\n\toptimum: \"optimum\",\n\tpattern: \"pattern\",\n\tping: \"ping\",\n\tplaceholder: \"placeholder\",\n\tposter: \"poster\",\n\tpreload: \"preload\",\n\tradioGroup: \"radiogroup\",\n\treadOnly: \"readonly\",\n\trel: \"rel\",\n\trequired: \"required\",\n\trole: \"role\",\n\trows: \"rows\",\n\trowSpan: \"rowspan\",\n\tsandbox: \"sandbox\",\n\tscope: \"scope\",\n\tscoped: \"scoped\",\n\tscrolling: \"scrolling\",\n\tseamless: \"seamless\",\n\tselected: \"selected\",\n\tshape: \"shape\",\n\tsize: \"size\",\n\tsizes: \"sizes\",\n\tsortable: \"sortable\",\n\tspan: \"span\",\n\tspellCheck: \"spellcheck\",\n\tsrc: \"src\",\n\tsrcDoc: \"srcdoc\",\n\tsrcSet: \"srcset\",\n\tstart: \"start\",\n\tstep: \"step\",\n\tstyle: \"style\",\n\ttabIndex: \"tabindex\",\n\ttarget: \"target\",\n\ttitle: \"title\",\n\ttranslate: \"translate\",\n\ttype: \"type\",\n\ttypeMustMatch: \"typemustmatch\",\n\tuseMap: \"usemap\",\n\tvalue: \"value\",\n\twidth: \"width\",\n\twmode: \"wmode\",\n\twrap: \"wrap\"\n};\n\nfunction isValidDOMProp(prop) {\n\treturn eventProps[prop] || htmlAttributes[prop] || /^(data|aria)-/.test(prop);\n}\n\nfunction filterInvalidDOMProps(props) {\n\tvar domProps = {};\n\tfor (var prop in props) {\n\t\tif (props.hasOwnProperty(prop) && isValidDOMProp(prop)) {\n\t\t\tdomProps[prop] = props[prop];\n\t\t}\n\t}\n\treturn domProps;\n}","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","var hat = module.exports = function (bits, base) {\n if (!base) base = 16;\n if (bits === undefined) bits = 128;\n if (bits <= 0) return '0';\n \n var digits = Math.log(Math.pow(2, bits)) / Math.log(base);\n for (var i = 2; digits === Infinity; i *= 2) {\n digits = Math.log(Math.pow(2, bits / i)) / Math.log(base) * i;\n }\n \n var rem = digits - Math.floor(digits);\n \n var res = '';\n \n for (var i = 0; i < Math.floor(digits); i++) {\n var x = Math.floor(Math.random() * base).toString(base);\n res = x + res;\n }\n \n if (rem) {\n var b = Math.pow(base, rem);\n var x = Math.floor(Math.random() * b).toString(base);\n res = x + res;\n }\n \n var parsed = parseInt(res, base);\n if (parsed !== Infinity && parsed >= Math.pow(2, bits)) {\n return hat(bits, base)\n }\n else return res;\n};\n\nhat.rack = function (bits, base, expandBy) {\n var fn = function (data) {\n var iters = 0;\n do {\n if (iters ++ > 10) {\n if (expandBy) bits += expandBy;\n else throw new Error('too many ID collisions, use more bits')\n }\n \n var id = hat(bits, base);\n } while (Object.hasOwnProperty.call(hats, id));\n \n hats[id] = data;\n return id;\n };\n var hats = fn.hats = {};\n \n fn.get = function (id) {\n return fn.hats[id];\n };\n \n fn.set = function (id, value) {\n fn.hats[id] = value;\n return fn;\n };\n \n fn.bits = bits || 128;\n fn.base = base || 16;\n return fn;\n};\n","(function __HLS_WORKER_BUNDLE__(__IN_WORKER__){\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Hls = factory());\n})(this, (function () { 'use strict';\n\n function ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n }\n function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n }\n function _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n }\n function _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : String(i);\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n function _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n }\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n }\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n function _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n }\n function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n }\n function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n }\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function getDefaultExportFromCjs (x) {\n \treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n }\n\n var urlToolkit = {exports: {}};\n\n (function (module, exports) {\n \t// see https://tools.ietf.org/html/rfc1808\n\n \t(function (root) {\n \t var URL_REGEX =\n \t /^(?=((?:[a-zA-Z0-9+\\-.]+:)?))\\1(?=((?:\\/\\/[^\\/?#]*)?))\\2(?=((?:(?:[^?#\\/]*\\/)*[^;?#\\/]*)?))\\3((?:;[^?#]*)?)(\\?[^#]*)?(#[^]*)?$/;\n \t var FIRST_SEGMENT_REGEX = /^(?=([^\\/?#]*))\\1([^]*)$/;\n \t var SLASH_DOT_REGEX = /(?:\\/|^)\\.(?=\\/)/g;\n \t var SLASH_DOT_DOT_REGEX = /(?:\\/|^)\\.\\.\\/(?!\\.\\.\\/)[^\\/]*(?=\\/)/g;\n\n \t var URLToolkit = {\n \t // If opts.alwaysNormalize is true then the path will always be normalized even when it starts with / or //\n \t // E.g\n \t // With opts.alwaysNormalize = false (default, spec compliant)\n \t // http://a.com/b/cd + /e/f/../g => http://a.com/e/f/../g\n \t // With opts.alwaysNormalize = true (not spec compliant)\n \t // http://a.com/b/cd + /e/f/../g => http://a.com/e/g\n \t buildAbsoluteURL: function (baseURL, relativeURL, opts) {\n \t opts = opts || {};\n \t // remove any remaining space and CRLF\n \t baseURL = baseURL.trim();\n \t relativeURL = relativeURL.trim();\n \t if (!relativeURL) {\n \t // 2a) If the embedded URL is entirely empty, it inherits the\n \t // entire base URL (i.e., is set equal to the base URL)\n \t // and we are done.\n \t if (!opts.alwaysNormalize) {\n \t return baseURL;\n \t }\n \t var basePartsForNormalise = URLToolkit.parseURL(baseURL);\n \t if (!basePartsForNormalise) {\n \t throw new Error('Error trying to parse base URL.');\n \t }\n \t basePartsForNormalise.path = URLToolkit.normalizePath(\n \t basePartsForNormalise.path\n \t );\n \t return URLToolkit.buildURLFromParts(basePartsForNormalise);\n \t }\n \t var relativeParts = URLToolkit.parseURL(relativeURL);\n \t if (!relativeParts) {\n \t throw new Error('Error trying to parse relative URL.');\n \t }\n \t if (relativeParts.scheme) {\n \t // 2b) If the embedded URL starts with a scheme name, it is\n \t // interpreted as an absolute URL and we are done.\n \t if (!opts.alwaysNormalize) {\n \t return relativeURL;\n \t }\n \t relativeParts.path = URLToolkit.normalizePath(relativeParts.path);\n \t return URLToolkit.buildURLFromParts(relativeParts);\n \t }\n \t var baseParts = URLToolkit.parseURL(baseURL);\n \t if (!baseParts) {\n \t throw new Error('Error trying to parse base URL.');\n \t }\n \t if (!baseParts.netLoc && baseParts.path && baseParts.path[0] !== '/') {\n \t // If netLoc missing and path doesn't start with '/', assume everthing before the first '/' is the netLoc\n \t // This causes 'example.com/a' to be handled as '//example.com/a' instead of '/example.com/a'\n \t var pathParts = FIRST_SEGMENT_REGEX.exec(baseParts.path);\n \t baseParts.netLoc = pathParts[1];\n \t baseParts.path = pathParts[2];\n \t }\n \t if (baseParts.netLoc && !baseParts.path) {\n \t baseParts.path = '/';\n \t }\n \t var builtParts = {\n \t // 2c) Otherwise, the embedded URL inherits the scheme of\n \t // the base URL.\n \t scheme: baseParts.scheme,\n \t netLoc: relativeParts.netLoc,\n \t path: null,\n \t params: relativeParts.params,\n \t query: relativeParts.query,\n \t fragment: relativeParts.fragment,\n \t };\n \t if (!relativeParts.netLoc) {\n \t // 3) If the embedded URL's <net_loc> is non-empty, we skip to\n \t // Step 7. Otherwise, the embedded URL inherits the <net_loc>\n \t // (if any) of the base URL.\n \t builtParts.netLoc = baseParts.netLoc;\n \t // 4) If the embedded URL path is preceded by a slash \"/\", the\n \t // path is not relative and we skip to Step 7.\n \t if (relativeParts.path[0] !== '/') {\n \t if (!relativeParts.path) {\n \t // 5) If the embedded URL path is empty (and not preceded by a\n \t // slash), then the embedded URL inherits the base URL path\n \t builtParts.path = baseParts.path;\n \t // 5a) if the embedded URL's <params> is non-empty, we skip to\n \t // step 7; otherwise, it inherits the <params> of the base\n \t // URL (if any) and\n \t if (!relativeParts.params) {\n \t builtParts.params = baseParts.params;\n \t // 5b) if the embedded URL's <query> is non-empty, we skip to\n \t // step 7; otherwise, it inherits the <query> of the base\n \t // URL (if any) and we skip to step 7.\n \t if (!relativeParts.query) {\n \t builtParts.query = baseParts.query;\n \t }\n \t }\n \t } else {\n \t // 6) The last segment of the base URL's path (anything\n \t // following the rightmost slash \"/\", or the entire path if no\n \t // slash is present) is removed and the embedded URL's path is\n \t // appended in its place.\n \t var baseURLPath = baseParts.path;\n \t var newPath =\n \t baseURLPath.substring(0, baseURLPath.lastIndexOf('/') + 1) +\n \t relativeParts.path;\n \t builtParts.path = URLToolkit.normalizePath(newPath);\n \t }\n \t }\n \t }\n \t if (builtParts.path === null) {\n \t builtParts.path = opts.alwaysNormalize\n \t ? URLToolkit.normalizePath(relativeParts.path)\n \t : relativeParts.path;\n \t }\n \t return URLToolkit.buildURLFromParts(builtParts);\n \t },\n \t parseURL: function (url) {\n \t var parts = URL_REGEX.exec(url);\n \t if (!parts) {\n \t return null;\n \t }\n \t return {\n \t scheme: parts[1] || '',\n \t netLoc: parts[2] || '',\n \t path: parts[3] || '',\n \t params: parts[4] || '',\n \t query: parts[5] || '',\n \t fragment: parts[6] || '',\n \t };\n \t },\n \t normalizePath: function (path) {\n \t // The following operations are\n \t // then applied, in order, to the new path:\n \t // 6a) All occurrences of \"./\", where \".\" is a complete path\n \t // segment, are removed.\n \t // 6b) If the path ends with \".\" as a complete path segment,\n \t // that \".\" is removed.\n \t path = path.split('').reverse().join('').replace(SLASH_DOT_REGEX, '');\n \t // 6c) All occurrences of \"<segment>/../\", where <segment> is a\n \t // complete path segment not equal to \"..\", are removed.\n \t // Removal of these path segments is performed iteratively,\n \t // removing the leftmost matching pattern on each iteration,\n \t // until no matching pattern remains.\n \t // 6d) If the path ends with \"<segment>/..\", where <segment> is a\n \t // complete path segment not equal to \"..\", that\n \t // \"<segment>/..\" is removed.\n \t while (\n \t path.length !== (path = path.replace(SLASH_DOT_DOT_REGEX, '')).length\n \t ) {}\n \t return path.split('').reverse().join('');\n \t },\n \t buildURLFromParts: function (parts) {\n \t return (\n \t parts.scheme +\n \t parts.netLoc +\n \t parts.path +\n \t parts.params +\n \t parts.query +\n \t parts.fragment\n \t );\n \t },\n \t };\n\n \t module.exports = URLToolkit;\n \t})(); \n } (urlToolkit));\n\n var urlToolkitExports = urlToolkit.exports;\n\n // https://caniuse.com/mdn-javascript_builtins_number_isfinite\n var isFiniteNumber = Number.isFinite || function (value) {\n return typeof value === 'number' && isFinite(value);\n };\n\n // https://caniuse.com/mdn-javascript_builtins_number_issafeinteger\n var isSafeInteger = Number.isSafeInteger || function (value) {\n return typeof value === 'number' && Math.abs(value) <= MAX_SAFE_INTEGER;\n };\n var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\n\n var Events = /*#__PURE__*/function (Events) {\n Events[\"MEDIA_ATTACHING\"] = \"hlsMediaAttaching\";\n Events[\"MEDIA_ATTACHED\"] = \"hlsMediaAttached\";\n Events[\"MEDIA_DETACHING\"] = \"hlsMediaDetaching\";\n Events[\"MEDIA_DETACHED\"] = \"hlsMediaDetached\";\n Events[\"BUFFER_RESET\"] = \"hlsBufferReset\";\n Events[\"BUFFER_CODECS\"] = \"hlsBufferCodecs\";\n Events[\"BUFFER_CREATED\"] = \"hlsBufferCreated\";\n Events[\"BUFFER_APPENDING\"] = \"hlsBufferAppending\";\n Events[\"BUFFER_APPENDED\"] = \"hlsBufferAppended\";\n Events[\"BUFFER_EOS\"] = \"hlsBufferEos\";\n Events[\"BUFFER_FLUSHING\"] = \"hlsBufferFlushing\";\n Events[\"BUFFER_FLUSHED\"] = \"hlsBufferFlushed\";\n Events[\"MANIFEST_LOADING\"] = \"hlsManifestLoading\";\n Events[\"MANIFEST_LOADED\"] = \"hlsManifestLoaded\";\n Events[\"MANIFEST_PARSED\"] = \"hlsManifestParsed\";\n Events[\"LEVEL_SWITCHING\"] = \"hlsLevelSwitching\";\n Events[\"LEVEL_SWITCHED\"] = \"hlsLevelSwitched\";\n Events[\"LEVEL_LOADING\"] = \"hlsLevelLoading\";\n Events[\"LEVEL_LOADED\"] = \"hlsLevelLoaded\";\n Events[\"LEVEL_UPDATED\"] = \"hlsLevelUpdated\";\n Events[\"LEVEL_PTS_UPDATED\"] = \"hlsLevelPtsUpdated\";\n Events[\"LEVELS_UPDATED\"] = \"hlsLevelsUpdated\";\n Events[\"AUDIO_TRACKS_UPDATED\"] = \"hlsAudioTracksUpdated\";\n Events[\"AUDIO_TRACK_SWITCHING\"] = \"hlsAudioTrackSwitching\";\n Events[\"AUDIO_TRACK_SWITCHED\"] = \"hlsAudioTrackSwitched\";\n Events[\"AUDIO_TRACK_LOADING\"] = \"hlsAudioTrackLoading\";\n Events[\"AUDIO_TRACK_LOADED\"] = \"hlsAudioTrackLoaded\";\n Events[\"SUBTITLE_TRACKS_UPDATED\"] = \"hlsSubtitleTracksUpdated\";\n Events[\"SUBTITLE_TRACKS_CLEARED\"] = \"hlsSubtitleTracksCleared\";\n Events[\"SUBTITLE_TRACK_SWITCH\"] = \"hlsSubtitleTrackSwitch\";\n Events[\"SUBTITLE_TRACK_LOADING\"] = \"hlsSubtitleTrackLoading\";\n Events[\"SUBTITLE_TRACK_LOADED\"] = \"hlsSubtitleTrackLoaded\";\n Events[\"SUBTITLE_FRAG_PROCESSED\"] = \"hlsSubtitleFragProcessed\";\n Events[\"CUES_PARSED\"] = \"hlsCuesParsed\";\n Events[\"NON_NATIVE_TEXT_TRACKS_FOUND\"] = \"hlsNonNativeTextTracksFound\";\n Events[\"INIT_PTS_FOUND\"] = \"hlsInitPtsFound\";\n Events[\"FRAG_LOADING\"] = \"hlsFragLoading\";\n Events[\"FRAG_LOAD_EMERGENCY_ABORTED\"] = \"hlsFragLoadEmergencyAborted\";\n Events[\"FRAG_LOADED\"] = \"hlsFragLoaded\";\n Events[\"FRAG_DECRYPTED\"] = \"hlsFragDecrypted\";\n Events[\"FRAG_PARSING_INIT_SEGMENT\"] = \"hlsFragParsingInitSegment\";\n Events[\"FRAG_PARSING_USERDATA\"] = \"hlsFragParsingUserdata\";\n Events[\"FRAG_PARSING_METADATA\"] = \"hlsFragParsingMetadata\";\n Events[\"FRAG_PARSED\"] = \"hlsFragParsed\";\n Events[\"FRAG_BUFFERED\"] = \"hlsFragBuffered\";\n Events[\"FRAG_CHANGED\"] = \"hlsFragChanged\";\n Events[\"FPS_DROP\"] = \"hlsFpsDrop\";\n Events[\"FPS_DROP_LEVEL_CAPPING\"] = \"hlsFpsDropLevelCapping\";\n Events[\"MAX_AUTO_LEVEL_UPDATED\"] = \"hlsMaxAutoLevelUpdated\";\n Events[\"ERROR\"] = \"hlsError\";\n Events[\"DESTROYING\"] = \"hlsDestroying\";\n Events[\"KEY_LOADING\"] = \"hlsKeyLoading\";\n Events[\"KEY_LOADED\"] = \"hlsKeyLoaded\";\n Events[\"LIVE_BACK_BUFFER_REACHED\"] = \"hlsLiveBackBufferReached\";\n Events[\"BACK_BUFFER_REACHED\"] = \"hlsBackBufferReached\";\n Events[\"STEERING_MANIFEST_LOADED\"] = \"hlsSteeringManifestLoaded\";\n return Events;\n }({});\n\n /**\n * Defines each Event type and payload by Event name. Used in {@link hls.js#HlsEventEmitter} to strongly type the event listener API.\n */\n\n var ErrorTypes = /*#__PURE__*/function (ErrorTypes) {\n ErrorTypes[\"NETWORK_ERROR\"] = \"networkError\";\n ErrorTypes[\"MEDIA_ERROR\"] = \"mediaError\";\n ErrorTypes[\"KEY_SYSTEM_ERROR\"] = \"keySystemError\";\n ErrorTypes[\"MUX_ERROR\"] = \"muxError\";\n ErrorTypes[\"OTHER_ERROR\"] = \"otherError\";\n return ErrorTypes;\n }({});\n var ErrorDetails = /*#__PURE__*/function (ErrorDetails) {\n ErrorDetails[\"KEY_SYSTEM_NO_KEYS\"] = \"keySystemNoKeys\";\n ErrorDetails[\"KEY_SYSTEM_NO_ACCESS\"] = \"keySystemNoAccess\";\n ErrorDetails[\"KEY_SYSTEM_NO_SESSION\"] = \"keySystemNoSession\";\n ErrorDetails[\"KEY_SYSTEM_NO_CONFIGURED_LICENSE\"] = \"keySystemNoConfiguredLicense\";\n ErrorDetails[\"KEY_SYSTEM_LICENSE_REQUEST_FAILED\"] = \"keySystemLicenseRequestFailed\";\n ErrorDetails[\"KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED\"] = \"keySystemServerCertificateRequestFailed\";\n ErrorDetails[\"KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED\"] = \"keySystemServerCertificateUpdateFailed\";\n ErrorDetails[\"KEY_SYSTEM_SESSION_UPDATE_FAILED\"] = \"keySystemSessionUpdateFailed\";\n ErrorDetails[\"KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED\"] = \"keySystemStatusOutputRestricted\";\n ErrorDetails[\"KEY_SYSTEM_STATUS_INTERNAL_ERROR\"] = \"keySystemStatusInternalError\";\n ErrorDetails[\"MANIFEST_LOAD_ERROR\"] = \"manifestLoadError\";\n ErrorDetails[\"MANIFEST_LOAD_TIMEOUT\"] = \"manifestLoadTimeOut\";\n ErrorDetails[\"MANIFEST_PARSING_ERROR\"] = \"manifestParsingError\";\n ErrorDetails[\"MANIFEST_INCOMPATIBLE_CODECS_ERROR\"] = \"manifestIncompatibleCodecsError\";\n ErrorDetails[\"LEVEL_EMPTY_ERROR\"] = \"levelEmptyError\";\n ErrorDetails[\"LEVEL_LOAD_ERROR\"] = \"levelLoadError\";\n ErrorDetails[\"LEVEL_LOAD_TIMEOUT\"] = \"levelLoadTimeOut\";\n ErrorDetails[\"LEVEL_PARSING_ERROR\"] = \"levelParsingError\";\n ErrorDetails[\"LEVEL_SWITCH_ERROR\"] = \"levelSwitchError\";\n ErrorDetails[\"AUDIO_TRACK_LOAD_ERROR\"] = \"audioTrackLoadError\";\n ErrorDetails[\"AUDIO_TRACK_LOAD_TIMEOUT\"] = \"audioTrackLoadTimeOut\";\n ErrorDetails[\"SUBTITLE_LOAD_ERROR\"] = \"subtitleTrackLoadError\";\n ErrorDetails[\"SUBTITLE_TRACK_LOAD_TIMEOUT\"] = \"subtitleTrackLoadTimeOut\";\n ErrorDetails[\"FRAG_LOAD_ERROR\"] = \"fragLoadError\";\n ErrorDetails[\"FRAG_LOAD_TIMEOUT\"] = \"fragLoadTimeOut\";\n ErrorDetails[\"FRAG_DECRYPT_ERROR\"] = \"fragDecryptError\";\n ErrorDetails[\"FRAG_PARSING_ERROR\"] = \"fragParsingError\";\n ErrorDetails[\"FRAG_GAP\"] = \"fragGap\";\n ErrorDetails[\"REMUX_ALLOC_ERROR\"] = \"remuxAllocError\";\n ErrorDetails[\"KEY_LOAD_ERROR\"] = \"keyLoadError\";\n ErrorDetails[\"KEY_LOAD_TIMEOUT\"] = \"keyLoadTimeOut\";\n ErrorDetails[\"BUFFER_ADD_CODEC_ERROR\"] = \"bufferAddCodecError\";\n ErrorDetails[\"BUFFER_INCOMPATIBLE_CODECS_ERROR\"] = \"bufferIncompatibleCodecsError\";\n ErrorDetails[\"BUFFER_APPEND_ERROR\"] = \"bufferAppendError\";\n ErrorDetails[\"BUFFER_APPENDING_ERROR\"] = \"bufferAppendingError\";\n ErrorDetails[\"BUFFER_STALLED_ERROR\"] = \"bufferStalledError\";\n ErrorDetails[\"BUFFER_FULL_ERROR\"] = \"bufferFullError\";\n ErrorDetails[\"BUFFER_SEEK_OVER_HOLE\"] = \"bufferSeekOverHole\";\n ErrorDetails[\"BUFFER_NUDGE_ON_STALL\"] = \"bufferNudgeOnStall\";\n ErrorDetails[\"INTERNAL_EXCEPTION\"] = \"internalException\";\n ErrorDetails[\"INTERNAL_ABORTED\"] = \"aborted\";\n ErrorDetails[\"UNKNOWN\"] = \"unknown\";\n return ErrorDetails;\n }({});\n\n var noop = function noop() {};\n var fakeLogger = {\n trace: noop,\n debug: noop,\n log: noop,\n warn: noop,\n info: noop,\n error: noop\n };\n var exportedLogger = fakeLogger;\n\n // let lastCallTime;\n // function formatMsgWithTimeInfo(type, msg) {\n // const now = Date.now();\n // const diff = lastCallTime ? '+' + (now - lastCallTime) : '0';\n // lastCallTime = now;\n // msg = (new Date(now)).toISOString() + ' | [' + type + '] > ' + msg + ' ( ' + diff + ' ms )';\n // return msg;\n // }\n\n function consolePrintFn(type) {\n var func = self.console[type];\n if (func) {\n return func.bind(self.console, \"[\" + type + \"] >\");\n }\n return noop;\n }\n function exportLoggerFunctions(debugConfig) {\n for (var _len = arguments.length, functions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n functions[_key - 1] = arguments[_key];\n }\n functions.forEach(function (type) {\n exportedLogger[type] = debugConfig[type] ? debugConfig[type].bind(debugConfig) : consolePrintFn(type);\n });\n }\n function enableLogs(debugConfig, id) {\n // check that console is available\n if (typeof console === 'object' && debugConfig === true || typeof debugConfig === 'object') {\n exportLoggerFunctions(debugConfig,\n // Remove out from list here to hard-disable a log-level\n // 'trace',\n 'debug', 'log', 'info', 'warn', 'error');\n // Some browsers don't allow to use bind on console object anyway\n // fallback to default if needed\n try {\n exportedLogger.log(\"Debug logs enabled for \\\"\" + id + \"\\\" in hls.js version \" + \"1.5.5-0.canary.9893\");\n } catch (e) {\n exportedLogger = fakeLogger;\n }\n } else {\n exportedLogger = fakeLogger;\n }\n }\n var logger = exportedLogger;\n\n var DECIMAL_RESOLUTION_REGEX = /^(\\d+)x(\\d+)$/;\n var ATTR_LIST_REGEX = /(.+?)=(\".*?\"|.*?)(?:,|$)/g;\n\n // adapted from https://github.com/kanongil/node-m3u8parse/blob/master/attrlist.js\n var AttrList = /*#__PURE__*/function () {\n function AttrList(attrs) {\n if (typeof attrs === 'string') {\n attrs = AttrList.parseAttrList(attrs);\n }\n _extends(this, attrs);\n }\n var _proto = AttrList.prototype;\n _proto.decimalInteger = function decimalInteger(attrName) {\n var intValue = parseInt(this[attrName], 10);\n if (intValue > Number.MAX_SAFE_INTEGER) {\n return Infinity;\n }\n return intValue;\n };\n _proto.hexadecimalInteger = function hexadecimalInteger(attrName) {\n if (this[attrName]) {\n var stringValue = (this[attrName] || '0x').slice(2);\n stringValue = (stringValue.length & 1 ? '0' : '') + stringValue;\n var value = new Uint8Array(stringValue.length / 2);\n for (var i = 0; i < stringValue.length / 2; i++) {\n value[i] = parseInt(stringValue.slice(i * 2, i * 2 + 2), 16);\n }\n return value;\n } else {\n return null;\n }\n };\n _proto.hexadecimalIntegerAsNumber = function hexadecimalIntegerAsNumber(attrName) {\n var intValue = parseInt(this[attrName], 16);\n if (intValue > Number.MAX_SAFE_INTEGER) {\n return Infinity;\n }\n return intValue;\n };\n _proto.decimalFloatingPoint = function decimalFloatingPoint(attrName) {\n return parseFloat(this[attrName]);\n };\n _proto.optionalFloat = function optionalFloat(attrName, defaultValue) {\n var value = this[attrName];\n return value ? parseFloat(value) : defaultValue;\n };\n _proto.enumeratedString = function enumeratedString(attrName) {\n return this[attrName];\n };\n _proto.bool = function bool(attrName) {\n return this[attrName] === 'YES';\n };\n _proto.decimalResolution = function decimalResolution(attrName) {\n var res = DECIMAL_RESOLUTION_REGEX.exec(this[attrName]);\n if (res === null) {\n return undefined;\n }\n return {\n width: parseInt(res[1], 10),\n height: parseInt(res[2], 10)\n };\n };\n AttrList.parseAttrList = function parseAttrList(input) {\n var match;\n var attrs = {};\n var quote = '\"';\n ATTR_LIST_REGEX.lastIndex = 0;\n while ((match = ATTR_LIST_REGEX.exec(input)) !== null) {\n var value = match[2];\n if (value.indexOf(quote) === 0 && value.lastIndexOf(quote) === value.length - 1) {\n value = value.slice(1, -1);\n }\n var name = match[1].trim();\n attrs[name] = value;\n }\n return attrs;\n };\n _createClass(AttrList, [{\n key: \"clientAttrs\",\n get: function get() {\n return Object.keys(this).filter(function (attr) {\n return attr.substring(0, 2) === 'X-';\n });\n }\n }]);\n return AttrList;\n }();\n\n // Avoid exporting const enum so that these values can be inlined\n\n function isDateRangeCueAttribute(attrName) {\n return attrName !== \"ID\" && attrName !== \"CLASS\" && attrName !== \"START-DATE\" && attrName !== \"DURATION\" && attrName !== \"END-DATE\" && attrName !== \"END-ON-NEXT\";\n }\n function isSCTE35Attribute(attrName) {\n return attrName === \"SCTE35-OUT\" || attrName === \"SCTE35-IN\";\n }\n var DateRange = /*#__PURE__*/function () {\n function DateRange(dateRangeAttr, dateRangeWithSameId) {\n this.attr = void 0;\n this._startDate = void 0;\n this._endDate = void 0;\n this._badValueForSameId = void 0;\n if (dateRangeWithSameId) {\n var previousAttr = dateRangeWithSameId.attr;\n for (var key in previousAttr) {\n if (Object.prototype.hasOwnProperty.call(dateRangeAttr, key) && dateRangeAttr[key] !== previousAttr[key]) {\n logger.warn(\"DATERANGE tag attribute: \\\"\" + key + \"\\\" does not match for tags with ID: \\\"\" + dateRangeAttr.ID + \"\\\"\");\n this._badValueForSameId = key;\n break;\n }\n }\n // Merge DateRange tags with the same ID\n dateRangeAttr = _extends(new AttrList({}), previousAttr, dateRangeAttr);\n }\n this.attr = dateRangeAttr;\n this._startDate = new Date(dateRangeAttr[\"START-DATE\"]);\n if (\"END-DATE\" in this.attr) {\n var endDate = new Date(this.attr[\"END-DATE\"]);\n if (isFiniteNumber(endDate.getTime())) {\n this._endDate = endDate;\n }\n }\n }\n _createClass(DateRange, [{\n key: \"id\",\n get: function get() {\n return this.attr.ID;\n }\n }, {\n key: \"class\",\n get: function get() {\n return this.attr.CLASS;\n }\n }, {\n key: \"startDate\",\n get: function get() {\n return this._startDate;\n }\n }, {\n key: \"endDate\",\n get: function get() {\n if (this._endDate) {\n return this._endDate;\n }\n var duration = this.duration;\n if (duration !== null) {\n return new Date(this._startDate.getTime() + duration * 1000);\n }\n return null;\n }\n }, {\n key: \"duration\",\n get: function get() {\n if (\"DURATION\" in this.attr) {\n var duration = this.attr.decimalFloatingPoint(\"DURATION\");\n if (isFiniteNumber(duration)) {\n return duration;\n }\n } else if (this._endDate) {\n return (this._endDate.getTime() - this._startDate.getTime()) / 1000;\n }\n return null;\n }\n }, {\n key: \"plannedDuration\",\n get: function get() {\n if (\"PLANNED-DURATION\" in this.attr) {\n return this.attr.decimalFloatingPoint(\"PLANNED-DURATION\");\n }\n return null;\n }\n }, {\n key: \"endOnNext\",\n get: function get() {\n return this.attr.bool(\"END-ON-NEXT\");\n }\n }, {\n key: \"isValid\",\n get: function get() {\n return !!this.id && !this._badValueForSameId && isFiniteNumber(this.startDate.getTime()) && (this.duration === null || this.duration >= 0) && (!this.endOnNext || !!this.class);\n }\n }]);\n return DateRange;\n }();\n\n var LoadStats = function LoadStats() {\n this.aborted = false;\n this.loaded = 0;\n this.retry = 0;\n this.total = 0;\n this.chunkCount = 0;\n this.bwEstimate = 0;\n this.loading = {\n start: 0,\n first: 0,\n end: 0\n };\n this.parsing = {\n start: 0,\n end: 0\n };\n this.buffering = {\n start: 0,\n first: 0,\n end: 0\n };\n };\n\n var ElementaryStreamTypes = {\n AUDIO: \"audio\",\n VIDEO: \"video\",\n AUDIOVIDEO: \"audiovideo\"\n };\n var BaseSegment = /*#__PURE__*/function () {\n function BaseSegment(baseurl) {\n var _this$elementaryStrea;\n this._byteRange = null;\n this._url = null;\n // baseurl is the URL to the playlist\n this.baseurl = void 0;\n // relurl is the portion of the URL that comes from inside the playlist.\n this.relurl = void 0;\n // Holds the types of data this fragment supports\n this.elementaryStreams = (_this$elementaryStrea = {}, _this$elementaryStrea[ElementaryStreamTypes.AUDIO] = null, _this$elementaryStrea[ElementaryStreamTypes.VIDEO] = null, _this$elementaryStrea[ElementaryStreamTypes.AUDIOVIDEO] = null, _this$elementaryStrea);\n this.baseurl = baseurl;\n }\n\n // setByteRange converts a EXT-X-BYTERANGE attribute into a two element array\n var _proto = BaseSegment.prototype;\n _proto.setByteRange = function setByteRange(value, previous) {\n var params = value.split('@', 2);\n var start;\n if (params.length === 1) {\n start = (previous == null ? void 0 : previous.byteRangeEndOffset) || 0;\n } else {\n start = parseInt(params[1]);\n }\n this._byteRange = [start, parseInt(params[0]) + start];\n };\n _createClass(BaseSegment, [{\n key: \"byteRange\",\n get: function get() {\n if (!this._byteRange) {\n return [];\n }\n return this._byteRange;\n }\n }, {\n key: \"byteRangeStartOffset\",\n get: function get() {\n return this.byteRange[0];\n }\n }, {\n key: \"byteRangeEndOffset\",\n get: function get() {\n return this.byteRange[1];\n }\n }, {\n key: \"url\",\n get: function get() {\n if (!this._url && this.baseurl && this.relurl) {\n this._url = urlToolkitExports.buildAbsoluteURL(this.baseurl, this.relurl, {\n alwaysNormalize: true\n });\n }\n return this._url || '';\n },\n set: function set(value) {\n this._url = value;\n }\n }]);\n return BaseSegment;\n }();\n\n /**\n * Object representing parsed data from an HLS Segment. Found in {@link hls.js#LevelDetails.fragments}.\n */\n var Fragment = /*#__PURE__*/function (_BaseSegment) {\n _inheritsLoose(Fragment, _BaseSegment);\n function Fragment(type, baseurl) {\n var _this;\n _this = _BaseSegment.call(this, baseurl) || this;\n _this._decryptdata = null;\n _this.rawProgramDateTime = null;\n _this.programDateTime = null;\n _this.tagList = [];\n // EXTINF has to be present for a m3u8 to be considered valid\n _this.duration = 0;\n // sn notates the sequence number for a segment, and if set to a string can be 'initSegment'\n _this.sn = 0;\n // levelkeys are the EXT-X-KEY tags that apply to this segment for decryption\n // core difference from the private field _decryptdata is the lack of the initialized IV\n // _decryptdata will set the IV for this segment based on the segment number in the fragment\n _this.levelkeys = void 0;\n // A string representing the fragment type\n _this.type = void 0;\n // A reference to the loader. Set while the fragment is loading, and removed afterwards. Used to abort fragment loading\n _this.loader = null;\n // A reference to the key loader. Set while the key is loading, and removed afterwards. Used to abort key loading\n _this.keyLoader = null;\n // The level/track index to which the fragment belongs\n _this.level = -1;\n // The continuity counter of the fragment\n _this.cc = 0;\n // The starting Presentation Time Stamp (PTS) of the fragment. Set after transmux complete.\n _this.startPTS = void 0;\n // The ending Presentation Time Stamp (PTS) of the fragment. Set after transmux complete.\n _this.endPTS = void 0;\n // The starting Decode Time Stamp (DTS) of the fragment. Set after transmux complete.\n _this.startDTS = void 0;\n // The ending Decode Time Stamp (DTS) of the fragment. Set after transmux complete.\n _this.endDTS = void 0;\n // The start time of the fragment, as listed in the manifest. Updated after transmux complete.\n _this.start = 0;\n // Set by `updateFragPTSDTS` in level-helper\n _this.deltaPTS = void 0;\n // The maximum starting Presentation Time Stamp (audio/video PTS) of the fragment. Set after transmux complete.\n _this.maxStartPTS = void 0;\n // The minimum ending Presentation Time Stamp (audio/video PTS) of the fragment. Set after transmux complete.\n _this.minEndPTS = void 0;\n // Load/parse timing information\n _this.stats = new LoadStats();\n // Init Segment bytes (unset for media segments)\n _this.data = void 0;\n // A flag indicating whether the segment was downloaded in order to test bitrate, and was not buffered\n _this.bitrateTest = false;\n // #EXTINF segment title\n _this.title = null;\n // The Media Initialization Section for this segment\n _this.initSegment = null;\n // Fragment is the last fragment in the media playlist\n _this.endList = void 0;\n // Fragment is marked by an EXT-X-GAP tag indicating that it does not contain media data and should not be loaded\n _this.gap = void 0;\n // Deprecated\n _this.urlId = 0;\n _this.type = type;\n return _this;\n }\n var _proto2 = Fragment.prototype;\n _proto2.setKeyFormat = function setKeyFormat(keyFormat) {\n if (this.levelkeys) {\n var _key = this.levelkeys[keyFormat];\n if (_key && !this._decryptdata) {\n this._decryptdata = _key.getDecryptData(this.sn);\n }\n }\n };\n _proto2.abortRequests = function abortRequests() {\n var _this$loader, _this$keyLoader;\n (_this$loader = this.loader) == null ? void 0 : _this$loader.abort();\n (_this$keyLoader = this.keyLoader) == null ? void 0 : _this$keyLoader.abort();\n };\n _proto2.setElementaryStreamInfo = function setElementaryStreamInfo(type, startPTS, endPTS, startDTS, endDTS, partial) {\n if (partial === void 0) {\n partial = false;\n }\n var elementaryStreams = this.elementaryStreams;\n var info = elementaryStreams[type];\n if (!info) {\n elementaryStreams[type] = {\n startPTS: startPTS,\n endPTS: endPTS,\n startDTS: startDTS,\n endDTS: endDTS,\n partial: partial\n };\n return;\n }\n info.startPTS = Math.min(info.startPTS, startPTS);\n info.endPTS = Math.max(info.endPTS, endPTS);\n info.startDTS = Math.min(info.startDTS, startDTS);\n info.endDTS = Math.max(info.endDTS, endDTS);\n };\n _proto2.clearElementaryStreamInfo = function clearElementaryStreamInfo() {\n var elementaryStreams = this.elementaryStreams;\n elementaryStreams[ElementaryStreamTypes.AUDIO] = null;\n elementaryStreams[ElementaryStreamTypes.VIDEO] = null;\n elementaryStreams[ElementaryStreamTypes.AUDIOVIDEO] = null;\n };\n _createClass(Fragment, [{\n key: \"decryptdata\",\n get: function get() {\n var levelkeys = this.levelkeys;\n if (!levelkeys && !this._decryptdata) {\n return null;\n }\n if (!this._decryptdata && this.levelkeys && !this.levelkeys.NONE) {\n var _key2 = this.levelkeys.identity;\n if (_key2) {\n this._decryptdata = _key2.getDecryptData(this.sn);\n } else {\n var keyFormats = Object.keys(this.levelkeys);\n if (keyFormats.length === 1) {\n return this._decryptdata = this.levelkeys[keyFormats[0]].getDecryptData(this.sn);\n }\n }\n }\n return this._decryptdata;\n }\n }, {\n key: \"end\",\n get: function get() {\n return this.start + this.duration;\n }\n }, {\n key: \"endProgramDateTime\",\n get: function get() {\n if (this.programDateTime === null) {\n return null;\n }\n if (!isFiniteNumber(this.programDateTime)) {\n return null;\n }\n var duration = !isFiniteNumber(this.duration) ? 0 : this.duration;\n return this.programDateTime + duration * 1000;\n }\n }, {\n key: \"encrypted\",\n get: function get() {\n var _this$_decryptdata;\n // At the m3u8-parser level we need to add support for manifest signalled keyformats\n // when we want the fragment to start reporting that it is encrypted.\n // Currently, keyFormat will only be set for identity keys\n if ((_this$_decryptdata = this._decryptdata) != null && _this$_decryptdata.encrypted) {\n return true;\n } else if (this.levelkeys) {\n var keyFormats = Object.keys(this.levelkeys);\n var len = keyFormats.length;\n if (len > 1 || len === 1 && this.levelkeys[keyFormats[0]].encrypted) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Fragment;\n }(BaseSegment);\n\n /**\n * Object representing parsed data from an HLS Partial Segment. Found in {@link hls.js#LevelDetails.partList}.\n */\n var Part = /*#__PURE__*/function (_BaseSegment2) {\n _inheritsLoose(Part, _BaseSegment2);\n function Part(partAttrs, frag, baseurl, index, previous) {\n var _this2;\n _this2 = _BaseSegment2.call(this, baseurl) || this;\n _this2.fragOffset = 0;\n _this2.duration = 0;\n _this2.gap = false;\n _this2.independent = false;\n _this2.relurl = void 0;\n _this2.fragment = void 0;\n _this2.index = void 0;\n _this2.stats = new LoadStats();\n _this2.duration = partAttrs.decimalFloatingPoint('DURATION');\n _this2.gap = partAttrs.bool('GAP');\n _this2.independent = partAttrs.bool('INDEPENDENT');\n _this2.relurl = partAttrs.enumeratedString('URI');\n _this2.fragment = frag;\n _this2.index = index;\n var byteRange = partAttrs.enumeratedString('BYTERANGE');\n if (byteRange) {\n _this2.setByteRange(byteRange, previous);\n }\n if (previous) {\n _this2.fragOffset = previous.fragOffset + previous.duration;\n }\n return _this2;\n }\n _createClass(Part, [{\n key: \"start\",\n get: function get() {\n return this.fragment.start + this.fragOffset;\n }\n }, {\n key: \"end\",\n get: function get() {\n return this.start + this.duration;\n }\n }, {\n key: \"loaded\",\n get: function get() {\n var elementaryStreams = this.elementaryStreams;\n return !!(elementaryStreams.audio || elementaryStreams.video || elementaryStreams.audiovideo);\n }\n }]);\n return Part;\n }(BaseSegment);\n\n var DEFAULT_TARGET_DURATION = 10;\n\n /**\n * Object representing parsed data from an HLS Media Playlist. Found in {@link hls.js#Level.details}.\n */\n var LevelDetails = /*#__PURE__*/function () {\n function LevelDetails(baseUrl) {\n this.PTSKnown = false;\n this.alignedSliding = false;\n this.averagetargetduration = void 0;\n this.endCC = 0;\n this.endSN = 0;\n this.fragments = void 0;\n this.fragmentHint = void 0;\n this.partList = null;\n this.dateRanges = void 0;\n this.live = true;\n this.ageHeader = 0;\n this.advancedDateTime = void 0;\n this.updated = true;\n this.advanced = true;\n this.availabilityDelay = void 0;\n // Manifest reload synchronization\n this.misses = 0;\n this.startCC = 0;\n this.startSN = 0;\n this.startTimeOffset = null;\n this.targetduration = 0;\n this.totalduration = 0;\n this.type = null;\n this.url = void 0;\n this.m3u8 = '';\n this.version = null;\n this.canBlockReload = false;\n this.canSkipUntil = 0;\n this.canSkipDateRanges = false;\n this.skippedSegments = 0;\n this.recentlyRemovedDateranges = void 0;\n this.partHoldBack = 0;\n this.holdBack = 0;\n this.partTarget = 0;\n this.preloadHint = void 0;\n this.renditionReports = void 0;\n this.tuneInGoal = 0;\n this.deltaUpdateFailed = void 0;\n this.driftStartTime = 0;\n this.driftEndTime = 0;\n this.driftStart = 0;\n this.driftEnd = 0;\n this.encryptedFragments = void 0;\n this.playlistParsingError = null;\n this.variableList = null;\n this.hasVariableRefs = false;\n this.fragments = [];\n this.encryptedFragments = [];\n this.dateRanges = {};\n this.url = baseUrl;\n }\n var _proto = LevelDetails.prototype;\n _proto.reloaded = function reloaded(previous) {\n if (!previous) {\n this.advanced = true;\n this.updated = true;\n return;\n }\n var partSnDiff = this.lastPartSn - previous.lastPartSn;\n var partIndexDiff = this.lastPartIndex - previous.lastPartIndex;\n this.updated = this.endSN !== previous.endSN || !!partIndexDiff || !!partSnDiff || !this.live;\n this.advanced = this.endSN > previous.endSN || partSnDiff > 0 || partSnDiff === 0 && partIndexDiff > 0;\n if (this.updated || this.advanced) {\n this.misses = Math.floor(previous.misses * 0.6);\n } else {\n this.misses = previous.misses + 1;\n }\n this.availabilityDelay = previous.availabilityDelay;\n };\n _createClass(LevelDetails, [{\n key: \"hasProgramDateTime\",\n get: function get() {\n if (this.fragments.length) {\n return isFiniteNumber(this.fragments[this.fragments.length - 1].programDateTime);\n }\n return false;\n }\n }, {\n key: \"levelTargetDuration\",\n get: function get() {\n return this.averagetargetduration || this.targetduration || DEFAULT_TARGET_DURATION;\n }\n }, {\n key: \"drift\",\n get: function get() {\n var runTime = this.driftEndTime - this.driftStartTime;\n if (runTime > 0) {\n var runDuration = this.driftEnd - this.driftStart;\n return runDuration * 1000 / runTime;\n }\n return 1;\n }\n }, {\n key: \"edge\",\n get: function get() {\n return this.partEnd || this.fragmentEnd;\n }\n }, {\n key: \"partEnd\",\n get: function get() {\n var _this$partList;\n if ((_this$partList = this.partList) != null && _this$partList.length) {\n return this.partList[this.partList.length - 1].end;\n }\n return this.fragmentEnd;\n }\n }, {\n key: \"fragmentEnd\",\n get: function get() {\n var _this$fragments;\n if ((_this$fragments = this.fragments) != null && _this$fragments.length) {\n return this.fragments[this.fragments.length - 1].end;\n }\n return 0;\n }\n }, {\n key: \"age\",\n get: function get() {\n if (this.advancedDateTime) {\n return Math.max(Date.now() - this.advancedDateTime, 0) / 1000;\n }\n return 0;\n }\n }, {\n key: \"lastPartIndex\",\n get: function get() {\n var _this$partList2;\n if ((_this$partList2 = this.partList) != null && _this$partList2.length) {\n return this.partList[this.partList.length - 1].index;\n }\n return -1;\n }\n }, {\n key: \"lastPartSn\",\n get: function get() {\n var _this$partList3;\n if ((_this$partList3 = this.partList) != null && _this$partList3.length) {\n return this.partList[this.partList.length - 1].fragment.sn;\n }\n return this.endSN;\n }\n }]);\n return LevelDetails;\n }();\n\n function base64Decode(base64encodedStr) {\n return Uint8Array.from(atob(base64encodedStr), function (c) {\n return c.charCodeAt(0);\n });\n }\n\n function getKeyIdBytes(str) {\n var keyIdbytes = strToUtf8array(str).subarray(0, 16);\n var paddedkeyIdbytes = new Uint8Array(16);\n paddedkeyIdbytes.set(keyIdbytes, 16 - keyIdbytes.length);\n return paddedkeyIdbytes;\n }\n function changeEndianness(keyId) {\n var swap = function swap(array, from, to) {\n var cur = array[from];\n array[from] = array[to];\n array[to] = cur;\n };\n swap(keyId, 0, 3);\n swap(keyId, 1, 2);\n swap(keyId, 4, 5);\n swap(keyId, 6, 7);\n }\n function convertDataUriToArrayBytes(uri) {\n // data:[<media type][;attribute=value][;base64],<data>\n var colonsplit = uri.split(':');\n var keydata = null;\n if (colonsplit[0] === 'data' && colonsplit.length === 2) {\n var semicolonsplit = colonsplit[1].split(';');\n var commasplit = semicolonsplit[semicolonsplit.length - 1].split(',');\n if (commasplit.length === 2) {\n var isbase64 = commasplit[0] === 'base64';\n var data = commasplit[1];\n if (isbase64) {\n semicolonsplit.splice(-1, 1); // remove from processing\n keydata = base64Decode(data);\n } else {\n keydata = getKeyIdBytes(data);\n }\n }\n }\n return keydata;\n }\n function strToUtf8array(str) {\n return Uint8Array.from(unescape(encodeURIComponent(str)), function (c) {\n return c.charCodeAt(0);\n });\n }\n\n /** returns `undefined` is `self` is missing, e.g. in node */\n var optionalSelf = typeof self !== 'undefined' ? self : undefined;\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Navigator/requestMediaKeySystemAccess\n */\n var KeySystems = {\n CLEARKEY: \"org.w3.clearkey\",\n FAIRPLAY: \"com.apple.fps\",\n PLAYREADY: \"com.microsoft.playready\",\n WIDEVINE: \"com.widevine.alpha\"\n };\n\n // Playlist #EXT-X-KEY KEYFORMAT values\n var KeySystemFormats = {\n CLEARKEY: \"org.w3.clearkey\",\n FAIRPLAY: \"com.apple.streamingkeydelivery\",\n PLAYREADY: \"com.microsoft.playready\",\n WIDEVINE: \"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed\"\n };\n function keySystemFormatToKeySystemDomain(format) {\n switch (format) {\n case KeySystemFormats.FAIRPLAY:\n return KeySystems.FAIRPLAY;\n case KeySystemFormats.PLAYREADY:\n return KeySystems.PLAYREADY;\n case KeySystemFormats.WIDEVINE:\n return KeySystems.WIDEVINE;\n case KeySystemFormats.CLEARKEY:\n return KeySystems.CLEARKEY;\n }\n }\n\n // System IDs for which we can extract a key ID from \"encrypted\" event PSSH\n var KeySystemIds = {\n WIDEVINE: \"edef8ba979d64acea3c827dcd51d21ed\"\n };\n function keySystemIdToKeySystemDomain(systemId) {\n if (systemId === KeySystemIds.WIDEVINE) {\n return KeySystems.WIDEVINE;\n // } else if (systemId === KeySystemIds.PLAYREADY) {\n // return KeySystems.PLAYREADY;\n // } else if (systemId === KeySystemIds.CENC || systemId === KeySystemIds.CLEARKEY) {\n // return KeySystems.CLEARKEY;\n }\n }\n function keySystemDomainToKeySystemFormat(keySystem) {\n switch (keySystem) {\n case KeySystems.FAIRPLAY:\n return KeySystemFormats.FAIRPLAY;\n case KeySystems.PLAYREADY:\n return KeySystemFormats.PLAYREADY;\n case KeySystems.WIDEVINE:\n return KeySystemFormats.WIDEVINE;\n case KeySystems.CLEARKEY:\n return KeySystemFormats.CLEARKEY;\n }\n }\n function getKeySystemsForConfig(config) {\n var drmSystems = config.drmSystems,\n widevineLicenseUrl = config.widevineLicenseUrl;\n var keySystemsToAttempt = drmSystems ? [KeySystems.FAIRPLAY, KeySystems.WIDEVINE, KeySystems.PLAYREADY, KeySystems.CLEARKEY].filter(function (keySystem) {\n return !!drmSystems[keySystem];\n }) : [];\n if (!keySystemsToAttempt[KeySystems.WIDEVINE] && widevineLicenseUrl) {\n keySystemsToAttempt.push(KeySystems.WIDEVINE);\n }\n return keySystemsToAttempt;\n }\n var requestMediaKeySystemAccess = function (_optionalSelf$navigat) {\n if (optionalSelf != null && (_optionalSelf$navigat = optionalSelf.navigator) != null && _optionalSelf$navigat.requestMediaKeySystemAccess) {\n return self.navigator.requestMediaKeySystemAccess.bind(self.navigator);\n } else {\n return null;\n }\n }();\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaKeySystemConfiguration\n */\n function getSupportedMediaKeySystemConfigurations(keySystem, audioCodecs, videoCodecs, drmSystemOptions) {\n var initDataTypes;\n switch (keySystem) {\n case KeySystems.FAIRPLAY:\n initDataTypes = ['cenc', 'sinf'];\n break;\n case KeySystems.WIDEVINE:\n case KeySystems.PLAYREADY:\n initDataTypes = ['cenc'];\n break;\n case KeySystems.CLEARKEY:\n initDataTypes = ['cenc', 'keyids'];\n break;\n default:\n throw new Error(\"Unknown key-system: \" + keySystem);\n }\n return createMediaKeySystemConfigurations(initDataTypes, audioCodecs, videoCodecs, drmSystemOptions);\n }\n function createMediaKeySystemConfigurations(initDataTypes, audioCodecs, videoCodecs, drmSystemOptions) {\n var baseConfig = {\n initDataTypes: initDataTypes,\n persistentState: drmSystemOptions.persistentState || 'optional',\n distinctiveIdentifier: drmSystemOptions.distinctiveIdentifier || 'optional',\n sessionTypes: drmSystemOptions.sessionTypes || [drmSystemOptions.sessionType || 'temporary'],\n audioCapabilities: audioCodecs.map(function (codec) {\n return {\n contentType: \"audio/mp4; codecs=\\\"\" + codec + \"\\\"\",\n robustness: drmSystemOptions.audioRobustness || '',\n encryptionScheme: drmSystemOptions.audioEncryptionScheme || null\n };\n }),\n videoCapabilities: videoCodecs.map(function (codec) {\n return {\n contentType: \"video/mp4; codecs=\\\"\" + codec + \"\\\"\",\n robustness: drmSystemOptions.videoRobustness || '',\n encryptionScheme: drmSystemOptions.videoEncryptionScheme || null\n };\n })\n };\n return [baseConfig];\n }\n\n function sliceUint8(array, start, end) {\n // @ts-expect-error This polyfills IE11 usage of Uint8Array slice.\n // It always exists in the TypeScript definition so fails, but it fails at runtime on IE11.\n return Uint8Array.prototype.slice ? array.slice(start, end) : new Uint8Array(Array.prototype.slice.call(array, start, end));\n }\n\n // breaking up those two types in order to clarify what is happening in the decoding path.\n\n /**\n * Returns true if an ID3 header can be found at offset in data\n * @param data - The data to search\n * @param offset - The offset at which to start searching\n */\n var isHeader$2 = function isHeader(data, offset) {\n /*\n * http://id3.org/id3v2.3.0\n * [0] = 'I'\n * [1] = 'D'\n * [2] = '3'\n * [3,4] = {Version}\n * [5] = {Flags}\n * [6-9] = {ID3 Size}\n *\n * An ID3v2 tag can be detected with the following pattern:\n * $49 44 33 yy yy xx zz zz zz zz\n * Where yy is less than $FF, xx is the 'flags' byte and zz is less than $80\n */\n if (offset + 10 <= data.length) {\n // look for 'ID3' identifier\n if (data[offset] === 0x49 && data[offset + 1] === 0x44 && data[offset + 2] === 0x33) {\n // check version is within range\n if (data[offset + 3] < 0xff && data[offset + 4] < 0xff) {\n // check size is within range\n if (data[offset + 6] < 0x80 && data[offset + 7] < 0x80 && data[offset + 8] < 0x80 && data[offset + 9] < 0x80) {\n return true;\n }\n }\n }\n }\n return false;\n };\n\n /**\n * Returns true if an ID3 footer can be found at offset in data\n * @param data - The data to search\n * @param offset - The offset at which to start searching\n */\n var isFooter = function isFooter(data, offset) {\n /*\n * The footer is a copy of the header, but with a different identifier\n */\n if (offset + 10 <= data.length) {\n // look for '3DI' identifier\n if (data[offset] === 0x33 && data[offset + 1] === 0x44 && data[offset + 2] === 0x49) {\n // check version is within range\n if (data[offset + 3] < 0xff && data[offset + 4] < 0xff) {\n // check size is within range\n if (data[offset + 6] < 0x80 && data[offset + 7] < 0x80 && data[offset + 8] < 0x80 && data[offset + 9] < 0x80) {\n return true;\n }\n }\n }\n }\n return false;\n };\n\n /**\n * Returns any adjacent ID3 tags found in data starting at offset, as one block of data\n * @param data - The data to search in\n * @param offset - The offset at which to start searching\n * @returns the block of data containing any ID3 tags found\n * or *undefined* if no header is found at the starting offset\n */\n var getID3Data = function getID3Data(data, offset) {\n var front = offset;\n var length = 0;\n while (isHeader$2(data, offset)) {\n // ID3 header is 10 bytes\n length += 10;\n var size = readSize(data, offset + 6);\n length += size;\n if (isFooter(data, offset + 10)) {\n // ID3 footer is 10 bytes\n length += 10;\n }\n offset += length;\n }\n if (length > 0) {\n return data.subarray(front, front + length);\n }\n return undefined;\n };\n var readSize = function readSize(data, offset) {\n var size = 0;\n size = (data[offset] & 0x7f) << 21;\n size |= (data[offset + 1] & 0x7f) << 14;\n size |= (data[offset + 2] & 0x7f) << 7;\n size |= data[offset + 3] & 0x7f;\n return size;\n };\n var canParse$2 = function canParse(data, offset) {\n return isHeader$2(data, offset) && readSize(data, offset + 6) + 10 <= data.length - offset;\n };\n\n /**\n * Searches for the Elementary Stream timestamp found in the ID3 data chunk\n * @param data - Block of data containing one or more ID3 tags\n */\n var getTimeStamp = function getTimeStamp(data) {\n var frames = getID3Frames(data);\n for (var i = 0; i < frames.length; i++) {\n var frame = frames[i];\n if (isTimeStampFrame(frame)) {\n return readTimeStamp(frame);\n }\n }\n return undefined;\n };\n\n /**\n * Returns true if the ID3 frame is an Elementary Stream timestamp frame\n */\n var isTimeStampFrame = function isTimeStampFrame(frame) {\n return frame && frame.key === 'PRIV' && frame.info === 'com.apple.streaming.transportStreamTimestamp';\n };\n var getFrameData = function getFrameData(data) {\n /*\n Frame ID $xx xx xx xx (four characters)\n Size $xx xx xx xx\n Flags $xx xx\n */\n var type = String.fromCharCode(data[0], data[1], data[2], data[3]);\n var size = readSize(data, 4);\n\n // skip frame id, size, and flags\n var offset = 10;\n return {\n type: type,\n size: size,\n data: data.subarray(offset, offset + size)\n };\n };\n\n /**\n * Returns an array of ID3 frames found in all the ID3 tags in the id3Data\n * @param id3Data - The ID3 data containing one or more ID3 tags\n */\n var getID3Frames = function getID3Frames(id3Data) {\n var offset = 0;\n var frames = [];\n while (isHeader$2(id3Data, offset)) {\n var size = readSize(id3Data, offset + 6);\n // skip past ID3 header\n offset += 10;\n var end = offset + size;\n // loop through frames in the ID3 tag\n while (offset + 8 < end) {\n var frameData = getFrameData(id3Data.subarray(offset));\n var frame = decodeFrame(frameData);\n if (frame) {\n frames.push(frame);\n }\n\n // skip frame header and frame data\n offset += frameData.size + 10;\n }\n if (isFooter(id3Data, offset)) {\n offset += 10;\n }\n }\n return frames;\n };\n var decodeFrame = function decodeFrame(frame) {\n if (frame.type === 'PRIV') {\n return decodePrivFrame(frame);\n } else if (frame.type[0] === 'W') {\n return decodeURLFrame(frame);\n }\n return decodeTextFrame(frame);\n };\n var decodePrivFrame = function decodePrivFrame(frame) {\n /*\n Format: <text string>\\0<binary data>\n */\n if (frame.size < 2) {\n return undefined;\n }\n var owner = utf8ArrayToStr(frame.data, true);\n var privateData = new Uint8Array(frame.data.subarray(owner.length + 1));\n return {\n key: frame.type,\n info: owner,\n data: privateData.buffer\n };\n };\n var decodeTextFrame = function decodeTextFrame(frame) {\n if (frame.size < 2) {\n return undefined;\n }\n if (frame.type === 'TXXX') {\n /*\n Format:\n [0] = {Text Encoding}\n [1-?] = {Description}\\0{Value}\n */\n var index = 1;\n var description = utf8ArrayToStr(frame.data.subarray(index), true);\n index += description.length + 1;\n var value = utf8ArrayToStr(frame.data.subarray(index));\n return {\n key: frame.type,\n info: description,\n data: value\n };\n }\n /*\n Format:\n [0] = {Text Encoding}\n [1-?] = {Value}\n */\n var text = utf8ArrayToStr(frame.data.subarray(1));\n return {\n key: frame.type,\n data: text\n };\n };\n var decodeURLFrame = function decodeURLFrame(frame) {\n if (frame.type === 'WXXX') {\n /*\n Format:\n [0] = {Text Encoding}\n [1-?] = {Description}\\0{URL}\n */\n if (frame.size < 2) {\n return undefined;\n }\n var index = 1;\n var description = utf8ArrayToStr(frame.data.subarray(index), true);\n index += description.length + 1;\n var value = utf8ArrayToStr(frame.data.subarray(index));\n return {\n key: frame.type,\n info: description,\n data: value\n };\n }\n /*\n Format:\n [0-?] = {URL}\n */\n var url = utf8ArrayToStr(frame.data);\n return {\n key: frame.type,\n data: url\n };\n };\n var readTimeStamp = function readTimeStamp(timeStampFrame) {\n if (timeStampFrame.data.byteLength === 8) {\n var data = new Uint8Array(timeStampFrame.data);\n // timestamp is 33 bit expressed as a big-endian eight-octet number,\n // with the upper 31 bits set to zero.\n var pts33Bit = data[3] & 0x1;\n var timestamp = (data[4] << 23) + (data[5] << 15) + (data[6] << 7) + data[7];\n timestamp /= 45;\n if (pts33Bit) {\n timestamp += 47721858.84;\n } // 2^32 / 90\n\n return Math.round(timestamp);\n }\n return undefined;\n };\n\n // http://stackoverflow.com/questions/8936984/uint8array-to-string-in-javascript/22373197\n // http://www.onicos.com/staff/iz/amuse/javascript/expert/utf.txt\n /* utf.js - UTF-8 <=> UTF-16 convertion\n *\n * Copyright (C) 1999 Masanao Izumo <iz@onicos.co.jp>\n * Version: 1.0\n * LastModified: Dec 25 1999\n * This library is free. You can redistribute it and/or modify it.\n */\n var utf8ArrayToStr = function utf8ArrayToStr(array, exitOnNull) {\n if (exitOnNull === void 0) {\n exitOnNull = false;\n }\n var decoder = getTextDecoder();\n if (decoder) {\n var decoded = decoder.decode(array);\n if (exitOnNull) {\n // grab up to the first null\n var idx = decoded.indexOf('\\0');\n return idx !== -1 ? decoded.substring(0, idx) : decoded;\n }\n\n // remove any null characters\n return decoded.replace(/\\0/g, '');\n }\n var len = array.length;\n var c;\n var char2;\n var char3;\n var out = '';\n var i = 0;\n while (i < len) {\n c = array[i++];\n if (c === 0x00 && exitOnNull) {\n return out;\n } else if (c === 0x00 || c === 0x03) {\n // If the character is 3 (END_OF_TEXT) or 0 (NULL) then skip it\n continue;\n }\n switch (c >> 4) {\n case 0:\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n case 6:\n case 7:\n // 0xxxxxxx\n out += String.fromCharCode(c);\n break;\n case 12:\n case 13:\n // 110x xxxx 10xx xxxx\n char2 = array[i++];\n out += String.fromCharCode((c & 0x1f) << 6 | char2 & 0x3f);\n break;\n case 14:\n // 1110 xxxx 10xx xxxx 10xx xxxx\n char2 = array[i++];\n char3 = array[i++];\n out += String.fromCharCode((c & 0x0f) << 12 | (char2 & 0x3f) << 6 | (char3 & 0x3f) << 0);\n break;\n }\n }\n return out;\n };\n var decoder;\n function getTextDecoder() {\n // On Play Station 4, TextDecoder is defined but partially implemented.\n // Manual decoding option is preferable\n if (navigator.userAgent.includes('PlayStation 4')) {\n return;\n }\n if (!decoder && typeof self.TextDecoder !== 'undefined') {\n decoder = new self.TextDecoder('utf-8');\n }\n return decoder;\n }\n\n /**\n * hex dump helper class\n */\n\n var Hex = {\n hexDump: function hexDump(array) {\n var str = '';\n for (var i = 0; i < array.length; i++) {\n var h = array[i].toString(16);\n if (h.length < 2) {\n h = '0' + h;\n }\n str += h;\n }\n return str;\n }\n };\n\n var UINT32_MAX$1 = Math.pow(2, 32) - 1;\n var push = [].push;\n\n // We are using fixed track IDs for driving the MP4 remuxer\n // instead of following the TS PIDs.\n // There is no reason not to do this and some browsers/SourceBuffer-demuxers\n // may not like if there are TrackID \"switches\"\n // See https://github.com/video-dev/hls.js/issues/1331\n // Here we are mapping our internal track types to constant MP4 track IDs\n // With MSE currently one can only have one track of each, and we are muxing\n // whatever video/audio rendition in them.\n var RemuxerTrackIdConfig = {\n video: 1,\n audio: 2,\n id3: 3,\n text: 4\n };\n function bin2str(data) {\n return String.fromCharCode.apply(null, data);\n }\n function readUint16(buffer, offset) {\n var val = buffer[offset] << 8 | buffer[offset + 1];\n return val < 0 ? 65536 + val : val;\n }\n function readUint32(buffer, offset) {\n var val = readSint32(buffer, offset);\n return val < 0 ? 4294967296 + val : val;\n }\n function readUint64(buffer, offset) {\n var result = readUint32(buffer, offset);\n result *= Math.pow(2, 32);\n result += readUint32(buffer, offset + 4);\n return result;\n }\n function readSint32(buffer, offset) {\n return buffer[offset] << 24 | buffer[offset + 1] << 16 | buffer[offset + 2] << 8 | buffer[offset + 3];\n }\n function writeUint32(buffer, offset, value) {\n buffer[offset] = value >> 24;\n buffer[offset + 1] = value >> 16 & 0xff;\n buffer[offset + 2] = value >> 8 & 0xff;\n buffer[offset + 3] = value & 0xff;\n }\n\n // Find \"moof\" box\n function hasMoofData(data) {\n var end = data.byteLength;\n for (var i = 0; i < end;) {\n var size = readUint32(data, i);\n if (size > 8 && data[i + 4] === 0x6d && data[i + 5] === 0x6f && data[i + 6] === 0x6f && data[i + 7] === 0x66) {\n return true;\n }\n i = size > 1 ? i + size : end;\n }\n return false;\n }\n\n // Find the data for a box specified by its path\n function findBox(data, path) {\n var results = [];\n if (!path.length) {\n // short-circuit the search for empty paths\n return results;\n }\n var end = data.byteLength;\n for (var i = 0; i < end;) {\n var size = readUint32(data, i);\n var type = bin2str(data.subarray(i + 4, i + 8));\n var endbox = size > 1 ? i + size : end;\n if (type === path[0]) {\n if (path.length === 1) {\n // this is the end of the path and we've found the box we were\n // looking for\n results.push(data.subarray(i + 8, endbox));\n } else {\n // recursively search for the next box along the path\n var subresults = findBox(data.subarray(i + 8, endbox), path.slice(1));\n if (subresults.length) {\n push.apply(results, subresults);\n }\n }\n }\n i = endbox;\n }\n\n // we've finished searching all of data\n return results;\n }\n function parseSegmentIndex(sidx) {\n var references = [];\n var version = sidx[0];\n\n // set initial offset, we skip the reference ID (not needed)\n var index = 8;\n var timescale = readUint32(sidx, index);\n index += 4;\n var earliestPresentationTime = 0;\n var firstOffset = 0;\n if (version === 0) {\n earliestPresentationTime = readUint32(sidx, index);\n firstOffset = readUint32(sidx, index + 4);\n index += 8;\n } else {\n earliestPresentationTime = readUint64(sidx, index);\n firstOffset = readUint64(sidx, index + 8);\n index += 16;\n }\n\n // skip reserved\n index += 2;\n var startByte = sidx.length + firstOffset;\n var referencesCount = readUint16(sidx, index);\n index += 2;\n for (var i = 0; i < referencesCount; i++) {\n var referenceIndex = index;\n var referenceInfo = readUint32(sidx, referenceIndex);\n referenceIndex += 4;\n var referenceSize = referenceInfo & 0x7fffffff;\n var referenceType = (referenceInfo & 0x80000000) >>> 31;\n if (referenceType === 1) {\n logger.warn('SIDX has hierarchical references (not supported)');\n return null;\n }\n var subsegmentDuration = readUint32(sidx, referenceIndex);\n referenceIndex += 4;\n references.push({\n referenceSize: referenceSize,\n subsegmentDuration: subsegmentDuration,\n // unscaled\n info: {\n duration: subsegmentDuration / timescale,\n start: startByte,\n end: startByte + referenceSize - 1\n }\n });\n startByte += referenceSize;\n\n // Skipping 1 bit for |startsWithSap|, 3 bits for |sapType|, and 28 bits\n // for |sapDelta|.\n referenceIndex += 4;\n\n // skip to next ref\n index = referenceIndex;\n }\n return {\n earliestPresentationTime: earliestPresentationTime,\n timescale: timescale,\n version: version,\n referencesCount: referencesCount,\n references: references\n };\n }\n\n /**\n * Parses an MP4 initialization segment and extracts stream type and\n * timescale values for any declared tracks. Timescale values indicate the\n * number of clock ticks per second to assume for time-based values\n * elsewhere in the MP4.\n *\n * To determine the start time of an MP4, you need two pieces of\n * information: the timescale unit and the earliest base media decode\n * time. Multiple timescales can be specified within an MP4 but the\n * base media decode time is always expressed in the timescale from\n * the media header box for the track:\n * ```\n * moov > trak > mdia > mdhd.timescale\n * moov > trak > mdia > hdlr\n * ```\n * @param initSegment the bytes of the init segment\n * @returns a hash of track type to timescale values or null if\n * the init segment is malformed.\n */\n\n function parseInitSegment(initSegment) {\n var result = [];\n var traks = findBox(initSegment, ['moov', 'trak']);\n for (var i = 0; i < traks.length; i++) {\n var trak = traks[i];\n var tkhd = findBox(trak, ['tkhd'])[0];\n if (tkhd) {\n var version = tkhd[0];\n var trackId = readUint32(tkhd, version === 0 ? 12 : 20);\n var mdhd = findBox(trak, ['mdia', 'mdhd'])[0];\n if (mdhd) {\n version = mdhd[0];\n var timescale = readUint32(mdhd, version === 0 ? 12 : 20);\n var hdlr = findBox(trak, ['mdia', 'hdlr'])[0];\n if (hdlr) {\n var hdlrType = bin2str(hdlr.subarray(8, 12));\n var type = {\n soun: ElementaryStreamTypes.AUDIO,\n vide: ElementaryStreamTypes.VIDEO\n }[hdlrType];\n if (type) {\n // Parse codec details\n var stsd = findBox(trak, ['mdia', 'minf', 'stbl', 'stsd'])[0];\n var stsdData = parseStsd(stsd);\n result[trackId] = {\n timescale: timescale,\n type: type\n };\n result[type] = _objectSpread2({\n timescale: timescale,\n id: trackId\n }, stsdData);\n }\n }\n }\n }\n }\n var trex = findBox(initSegment, ['moov', 'mvex', 'trex']);\n trex.forEach(function (trex) {\n var trackId = readUint32(trex, 4);\n var track = result[trackId];\n if (track) {\n track.default = {\n duration: readUint32(trex, 12),\n flags: readUint32(trex, 20)\n };\n }\n });\n return result;\n }\n function parseStsd(stsd) {\n var sampleEntries = stsd.subarray(8);\n var sampleEntriesEnd = sampleEntries.subarray(8 + 78);\n var fourCC = bin2str(sampleEntries.subarray(4, 8));\n var codec = fourCC;\n var encrypted = fourCC === 'enca' || fourCC === 'encv';\n if (encrypted) {\n var encBox = findBox(sampleEntries, [fourCC])[0];\n var encBoxChildren = encBox.subarray(fourCC === 'enca' ? 28 : 78);\n var sinfs = findBox(encBoxChildren, ['sinf']);\n sinfs.forEach(function (sinf) {\n var schm = findBox(sinf, ['schm'])[0];\n if (schm) {\n var scheme = bin2str(schm.subarray(4, 8));\n if (scheme === 'cbcs' || scheme === 'cenc') {\n var frma = findBox(sinf, ['frma'])[0];\n if (frma) {\n // for encrypted content codec fourCC will be in frma\n codec = bin2str(frma);\n }\n }\n }\n });\n }\n switch (codec) {\n case 'avc1':\n case 'avc2':\n case 'avc3':\n case 'avc4':\n {\n // extract profile + compatibility + level out of avcC box\n var avcCBox = findBox(sampleEntriesEnd, ['avcC'])[0];\n codec += '.' + toHex(avcCBox[1]) + toHex(avcCBox[2]) + toHex(avcCBox[3]);\n break;\n }\n case 'mp4a':\n {\n var codecBox = findBox(sampleEntries, [fourCC])[0];\n var esdsBox = findBox(codecBox.subarray(28), ['esds'])[0];\n if (esdsBox && esdsBox.length > 12) {\n var i = 4;\n // ES Descriptor tag\n if (esdsBox[i++] !== 0x03) {\n break;\n }\n i = skipBERInteger(esdsBox, i);\n i += 2; // skip es_id;\n var flags = esdsBox[i++];\n if (flags & 0x80) {\n i += 2; // skip dependency es_id\n }\n if (flags & 0x40) {\n i += esdsBox[i++]; // skip URL\n }\n // Decoder config descriptor\n if (esdsBox[i++] !== 0x04) {\n break;\n }\n i = skipBERInteger(esdsBox, i);\n var objectType = esdsBox[i++];\n if (objectType === 0x40) {\n codec += '.' + toHex(objectType);\n } else {\n break;\n }\n i += 12;\n // Decoder specific info\n if (esdsBox[i++] !== 0x05) {\n break;\n }\n i = skipBERInteger(esdsBox, i);\n var firstByte = esdsBox[i++];\n var audioObjectType = (firstByte & 0xf8) >> 3;\n if (audioObjectType === 31) {\n audioObjectType += 1 + ((firstByte & 0x7) << 3) + ((esdsBox[i] & 0xe0) >> 5);\n }\n codec += '.' + audioObjectType;\n }\n break;\n }\n case 'hvc1':\n case 'hev1':\n {\n var hvcCBox = findBox(sampleEntriesEnd, ['hvcC'])[0];\n var profileByte = hvcCBox[1];\n var profileSpace = ['', 'A', 'B', 'C'][profileByte >> 6];\n var generalProfileIdc = profileByte & 0x1f;\n var profileCompat = readUint32(hvcCBox, 2);\n var tierFlag = (profileByte & 0x20) >> 5 ? 'H' : 'L';\n var levelIDC = hvcCBox[12];\n var constraintIndicator = hvcCBox.subarray(6, 12);\n codec += '.' + profileSpace + generalProfileIdc;\n codec += '.' + profileCompat.toString(16).toUpperCase();\n codec += '.' + tierFlag + levelIDC;\n var constraintString = '';\n for (var _i = constraintIndicator.length; _i--;) {\n var _byte = constraintIndicator[_i];\n if (_byte || constraintString) {\n var encodedByte = _byte.toString(16).toUpperCase();\n constraintString = '.' + encodedByte + constraintString;\n }\n }\n codec += constraintString;\n break;\n }\n case 'dvh1':\n case 'dvhe':\n {\n var dvcCBox = findBox(sampleEntriesEnd, ['dvcC'])[0];\n var profile = dvcCBox[2] >> 1 & 0x7f;\n var level = dvcCBox[2] << 5 & 0x20 | dvcCBox[3] >> 3 & 0x1f;\n codec += '.' + addLeadingZero(profile) + '.' + addLeadingZero(level);\n break;\n }\n case 'vp09':\n {\n var vpcCBox = findBox(sampleEntriesEnd, ['vpcC'])[0];\n var _profile = vpcCBox[4];\n var _level = vpcCBox[5];\n var bitDepth = vpcCBox[6] >> 4 & 0x0f;\n codec += '.' + addLeadingZero(_profile) + '.' + addLeadingZero(_level) + '.' + addLeadingZero(bitDepth);\n break;\n }\n case 'av01':\n {\n var av1CBox = findBox(sampleEntriesEnd, ['av1C'])[0];\n var _profile2 = av1CBox[1] >>> 5;\n var _level2 = av1CBox[1] & 0x1f;\n var _tierFlag = av1CBox[2] >>> 7 ? 'H' : 'M';\n var highBitDepth = (av1CBox[2] & 0x40) >> 6;\n var twelveBit = (av1CBox[2] & 0x20) >> 5;\n var _bitDepth = _profile2 === 2 && highBitDepth ? twelveBit ? 12 : 10 : highBitDepth ? 10 : 8;\n var monochrome = (av1CBox[2] & 0x10) >> 4;\n var chromaSubsamplingX = (av1CBox[2] & 0x08) >> 3;\n var chromaSubsamplingY = (av1CBox[2] & 0x04) >> 2;\n var chromaSamplePosition = av1CBox[2] & 0x03;\n // TODO: parse color_description_present_flag\n // default it to BT.709/limited range for now\n // more info https://aomediacodec.github.io/av1-isobmff/#av1codecconfigurationbox-syntax\n var colorPrimaries = 1;\n var transferCharacteristics = 1;\n var matrixCoefficients = 1;\n var videoFullRangeFlag = 0;\n codec += '.' + _profile2 + '.' + addLeadingZero(_level2) + _tierFlag + '.' + addLeadingZero(_bitDepth) + '.' + monochrome + '.' + chromaSubsamplingX + chromaSubsamplingY + chromaSamplePosition + '.' + addLeadingZero(colorPrimaries) + '.' + addLeadingZero(transferCharacteristics) + '.' + addLeadingZero(matrixCoefficients) + '.' + videoFullRangeFlag;\n break;\n }\n }\n return {\n codec: codec,\n encrypted: encrypted\n };\n }\n function skipBERInteger(bytes, i) {\n var limit = i + 5;\n while (bytes[i++] & 0x80 && i < limit) {}\n return i;\n }\n function toHex(x) {\n return ('0' + x.toString(16).toUpperCase()).slice(-2);\n }\n function addLeadingZero(num) {\n return (num < 10 ? '0' : '') + num;\n }\n function patchEncyptionData(initSegment, decryptdata) {\n if (!initSegment || !decryptdata) {\n return initSegment;\n }\n var keyId = decryptdata.keyId;\n if (keyId && decryptdata.isCommonEncryption) {\n var traks = findBox(initSegment, ['moov', 'trak']);\n traks.forEach(function (trak) {\n var stsd = findBox(trak, ['mdia', 'minf', 'stbl', 'stsd'])[0];\n\n // skip the sample entry count\n var sampleEntries = stsd.subarray(8);\n var encBoxes = findBox(sampleEntries, ['enca']);\n var isAudio = encBoxes.length > 0;\n if (!isAudio) {\n encBoxes = findBox(sampleEntries, ['encv']);\n }\n encBoxes.forEach(function (enc) {\n var encBoxChildren = isAudio ? enc.subarray(28) : enc.subarray(78);\n var sinfBoxes = findBox(encBoxChildren, ['sinf']);\n sinfBoxes.forEach(function (sinf) {\n var tenc = parseSinf(sinf);\n if (tenc) {\n // Look for default key id (keyID offset is always 8 within the tenc box):\n var tencKeyId = tenc.subarray(8, 24);\n if (!tencKeyId.some(function (b) {\n return b !== 0;\n })) {\n logger.log(\"[eme] Patching keyId in 'enc\" + (isAudio ? 'a' : 'v') + \">sinf>>tenc' box: \" + Hex.hexDump(tencKeyId) + \" -> \" + Hex.hexDump(keyId));\n tenc.set(keyId, 8);\n }\n }\n });\n });\n });\n }\n return initSegment;\n }\n function parseSinf(sinf) {\n var schm = findBox(sinf, ['schm'])[0];\n if (schm) {\n var scheme = bin2str(schm.subarray(4, 8));\n if (scheme === 'cbcs' || scheme === 'cenc') {\n return findBox(sinf, ['schi', 'tenc'])[0];\n }\n }\n logger.error(\"[eme] missing 'schm' box\");\n return null;\n }\n\n /**\n * Determine the base media decode start time, in seconds, for an MP4\n * fragment. If multiple fragments are specified, the earliest time is\n * returned.\n *\n * The base media decode time can be parsed from track fragment\n * metadata:\n * ```\n * moof > traf > tfdt.baseMediaDecodeTime\n * ```\n * It requires the timescale value from the mdhd to interpret.\n *\n * @param initData - a hash of track type to timescale values\n * @param fmp4 - the bytes of the mp4 fragment\n * @returns the earliest base media decode start time for the\n * fragment, in seconds\n */\n function getStartDTS(initData, fmp4) {\n // we need info from two children of each track fragment box\n return findBox(fmp4, ['moof', 'traf']).reduce(function (result, traf) {\n var tfdt = findBox(traf, ['tfdt'])[0];\n var version = tfdt[0];\n var start = findBox(traf, ['tfhd']).reduce(function (result, tfhd) {\n // get the track id from the tfhd\n var id = readUint32(tfhd, 4);\n var track = initData[id];\n if (track) {\n var baseTime = readUint32(tfdt, 4);\n if (version === 1) {\n // If value is too large, assume signed 64-bit. Negative track fragment decode times are invalid, but they exist in the wild.\n // This prevents large values from being used for initPTS, which can cause playlist sync issues.\n // https://github.com/video-dev/hls.js/issues/5303\n if (baseTime === UINT32_MAX$1) {\n logger.warn(\"[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time\");\n return result;\n }\n baseTime *= UINT32_MAX$1 + 1;\n baseTime += readUint32(tfdt, 8);\n }\n // assume a 90kHz clock if no timescale was specified\n var scale = track.timescale || 90e3;\n // convert base time to seconds\n var startTime = baseTime / scale;\n if (isFiniteNumber(startTime) && (result === null || startTime < result)) {\n return startTime;\n }\n }\n return result;\n }, null);\n if (start !== null && isFiniteNumber(start) && (result === null || start < result)) {\n return start;\n }\n return result;\n }, null);\n }\n\n /*\n For Reference:\n aligned(8) class TrackFragmentHeaderBox\n extends FullBox(‘tfhd’, 0, tf_flags){\n unsigned int(32) track_ID;\n // all the following are optional fields\n unsigned int(64) base_data_offset;\n unsigned int(32) sample_description_index;\n unsigned int(32) default_sample_duration;\n unsigned int(32) default_sample_size;\n unsigned int(32) default_sample_flags\n }\n */\n function getDuration(data, initData) {\n var sidxMinStart = Infinity;\n var sidxMaxEnd = 0;\n var sidxDuration = 0;\n var sidxs = findBox(data, ['sidx']);\n for (var i = 0; i < sidxs.length; i++) {\n var sidx = parseSegmentIndex(sidxs[i]);\n if (sidx != null && sidx.references) {\n sidxMinStart = Math.min(sidxMinStart, sidx.earliestPresentationTime / sidx.timescale);\n var subSegmentDuration = sidx.references.reduce(function (dur, ref) {\n return dur + ref.info.duration || 0;\n }, 0);\n sidxMaxEnd = Math.max(sidxMaxEnd, subSegmentDuration + sidx.earliestPresentationTime / sidx.timescale);\n sidxDuration = sidxMaxEnd - sidxMinStart;\n }\n }\n if (sidxDuration && isFiniteNumber(sidxDuration)) {\n return sidxDuration;\n }\n var rawDuration = 0;\n var videoDuration = 0;\n var audioDuration = 0;\n var trafs = findBox(data, ['moof', 'traf']);\n for (var _i2 = 0; _i2 < trafs.length; _i2++) {\n var traf = trafs[_i2];\n // There is only one tfhd & trun per traf\n // This is true for CMAF style content, and we should perhaps check the ftyp\n // and only look for a single trun then, but for ISOBMFF we should check\n // for multiple track runs.\n var tfhd = findBox(traf, ['tfhd'])[0];\n // get the track id from the tfhd\n var id = readUint32(tfhd, 4);\n var track = initData[id];\n if (!track) {\n continue;\n }\n var trackDefault = track.default;\n var tfhdFlags = readUint32(tfhd, 0) | (trackDefault == null ? void 0 : trackDefault.flags);\n var sampleDuration = trackDefault == null ? void 0 : trackDefault.duration;\n if (tfhdFlags & 0x000008) {\n // 0x000008 indicates the presence of the default_sample_duration field\n if (tfhdFlags & 0x000002) {\n // 0x000002 indicates the presence of the sample_description_index field, which precedes default_sample_duration\n // If present, the default_sample_duration exists at byte offset 12\n sampleDuration = readUint32(tfhd, 12);\n } else {\n // Otherwise, the duration is at byte offset 8\n sampleDuration = readUint32(tfhd, 8);\n }\n }\n // assume a 90kHz clock if no timescale was specified\n var timescale = track.timescale || 90e3;\n var truns = findBox(traf, ['trun']);\n for (var j = 0; j < truns.length; j++) {\n rawDuration = computeRawDurationFromSamples(truns[j]);\n if (!rawDuration && sampleDuration) {\n var sampleCount = readUint32(truns[j], 4);\n rawDuration = sampleDuration * sampleCount;\n }\n if (track.type === ElementaryStreamTypes.VIDEO) {\n videoDuration += rawDuration / timescale;\n } else if (track.type === ElementaryStreamTypes.AUDIO) {\n audioDuration += rawDuration / timescale;\n }\n }\n }\n if (videoDuration) {\n return videoDuration;\n }\n return audioDuration;\n }\n\n /*\n For Reference:\n aligned(8) class TrackRunBox\n extends FullBox(‘trun’, version, tr_flags) {\n unsigned int(32) sample_count;\n // the following are optional fields\n signed int(32) data_offset;\n unsigned int(32) first_sample_flags;\n // all fields in the following array are optional\n {\n unsigned int(32) sample_duration;\n unsigned int(32) sample_size;\n unsigned int(32) sample_flags\n if (version == 0)\n { unsigned int(32)\n else\n { signed int(32)\n }[ sample_count ]\n }\n */\n function computeRawDurationFromSamples(trun) {\n var flags = readUint32(trun, 0);\n // Flags are at offset 0, non-optional sample_count is at offset 4. Therefore we start 8 bytes in.\n // Each field is an int32, which is 4 bytes\n var offset = 8;\n // data-offset-present flag\n if (flags & 0x000001) {\n offset += 4;\n }\n // first-sample-flags-present flag\n if (flags & 0x000004) {\n offset += 4;\n }\n var duration = 0;\n var sampleCount = readUint32(trun, 4);\n for (var i = 0; i < sampleCount; i++) {\n // sample-duration-present flag\n if (flags & 0x000100) {\n var sampleDuration = readUint32(trun, offset);\n duration += sampleDuration;\n offset += 4;\n }\n // sample-size-present flag\n if (flags & 0x000200) {\n offset += 4;\n }\n // sample-flags-present flag\n if (flags & 0x000400) {\n offset += 4;\n }\n // sample-composition-time-offsets-present flag\n if (flags & 0x000800) {\n offset += 4;\n }\n }\n return duration;\n }\n function offsetStartDTS(initData, fmp4, timeOffset) {\n findBox(fmp4, ['moof', 'traf']).forEach(function (traf) {\n findBox(traf, ['tfhd']).forEach(function (tfhd) {\n // get the track id from the tfhd\n var id = readUint32(tfhd, 4);\n var track = initData[id];\n if (!track) {\n return;\n }\n // assume a 90kHz clock if no timescale was specified\n var timescale = track.timescale || 90e3;\n // get the base media decode time from the tfdt\n findBox(traf, ['tfdt']).forEach(function (tfdt) {\n var version = tfdt[0];\n var offset = timeOffset * timescale;\n if (offset) {\n var baseMediaDecodeTime = readUint32(tfdt, 4);\n if (version === 0) {\n baseMediaDecodeTime -= offset;\n baseMediaDecodeTime = Math.max(baseMediaDecodeTime, 0);\n writeUint32(tfdt, 4, baseMediaDecodeTime);\n } else {\n baseMediaDecodeTime *= Math.pow(2, 32);\n baseMediaDecodeTime += readUint32(tfdt, 8);\n baseMediaDecodeTime -= offset;\n baseMediaDecodeTime = Math.max(baseMediaDecodeTime, 0);\n var upper = Math.floor(baseMediaDecodeTime / (UINT32_MAX$1 + 1));\n var lower = Math.floor(baseMediaDecodeTime % (UINT32_MAX$1 + 1));\n writeUint32(tfdt, 4, upper);\n writeUint32(tfdt, 8, lower);\n }\n }\n });\n });\n });\n }\n\n // TODO: Check if the last moof+mdat pair is part of the valid range\n function segmentValidRange(data) {\n var segmentedRange = {\n valid: null,\n remainder: null\n };\n var moofs = findBox(data, ['moof']);\n if (moofs.length < 2) {\n segmentedRange.remainder = data;\n return segmentedRange;\n }\n var last = moofs[moofs.length - 1];\n // Offset by 8 bytes; findBox offsets the start by as much\n segmentedRange.valid = sliceUint8(data, 0, last.byteOffset - 8);\n segmentedRange.remainder = sliceUint8(data, last.byteOffset - 8);\n return segmentedRange;\n }\n function appendUint8Array(data1, data2) {\n var temp = new Uint8Array(data1.length + data2.length);\n temp.set(data1);\n temp.set(data2, data1.length);\n return temp;\n }\n function parseSamples(timeOffset, track) {\n var seiSamples = [];\n var videoData = track.samples;\n var timescale = track.timescale;\n var trackId = track.id;\n var isHEVCFlavor = false;\n var moofs = findBox(videoData, ['moof']);\n moofs.map(function (moof) {\n var moofOffset = moof.byteOffset - 8;\n var trafs = findBox(moof, ['traf']);\n trafs.map(function (traf) {\n // get the base media decode time from the tfdt\n var baseTime = findBox(traf, ['tfdt']).map(function (tfdt) {\n var version = tfdt[0];\n var result = readUint32(tfdt, 4);\n if (version === 1) {\n result *= Math.pow(2, 32);\n result += readUint32(tfdt, 8);\n }\n return result / timescale;\n })[0];\n if (baseTime !== undefined) {\n timeOffset = baseTime;\n }\n return findBox(traf, ['tfhd']).map(function (tfhd) {\n var id = readUint32(tfhd, 4);\n var tfhdFlags = readUint32(tfhd, 0) & 0xffffff;\n var baseDataOffsetPresent = (tfhdFlags & 0x000001) !== 0;\n var sampleDescriptionIndexPresent = (tfhdFlags & 0x000002) !== 0;\n var defaultSampleDurationPresent = (tfhdFlags & 0x000008) !== 0;\n var defaultSampleDuration = 0;\n var defaultSampleSizePresent = (tfhdFlags & 0x000010) !== 0;\n var defaultSampleSize = 0;\n var defaultSampleFlagsPresent = (tfhdFlags & 0x000020) !== 0;\n var tfhdOffset = 8;\n if (id === trackId) {\n if (baseDataOffsetPresent) {\n tfhdOffset += 8;\n }\n if (sampleDescriptionIndexPresent) {\n tfhdOffset += 4;\n }\n if (defaultSampleDurationPresent) {\n defaultSampleDuration = readUint32(tfhd, tfhdOffset);\n tfhdOffset += 4;\n }\n if (defaultSampleSizePresent) {\n defaultSampleSize = readUint32(tfhd, tfhdOffset);\n tfhdOffset += 4;\n }\n if (defaultSampleFlagsPresent) {\n tfhdOffset += 4;\n }\n if (track.type === 'video') {\n isHEVCFlavor = isHEVC(track.codec);\n }\n findBox(traf, ['trun']).map(function (trun) {\n var version = trun[0];\n var flags = readUint32(trun, 0) & 0xffffff;\n var dataOffsetPresent = (flags & 0x000001) !== 0;\n var dataOffset = 0;\n var firstSampleFlagsPresent = (flags & 0x000004) !== 0;\n var sampleDurationPresent = (flags & 0x000100) !== 0;\n var sampleDuration = 0;\n var sampleSizePresent = (flags & 0x000200) !== 0;\n var sampleSize = 0;\n var sampleFlagsPresent = (flags & 0x000400) !== 0;\n var sampleCompositionOffsetsPresent = (flags & 0x000800) !== 0;\n var compositionOffset = 0;\n var sampleCount = readUint32(trun, 4);\n var trunOffset = 8; // past version, flags, and sample count\n\n if (dataOffsetPresent) {\n dataOffset = readUint32(trun, trunOffset);\n trunOffset += 4;\n }\n if (firstSampleFlagsPresent) {\n trunOffset += 4;\n }\n var sampleOffset = dataOffset + moofOffset;\n for (var ix = 0; ix < sampleCount; ix++) {\n if (sampleDurationPresent) {\n sampleDuration = readUint32(trun, trunOffset);\n trunOffset += 4;\n } else {\n sampleDuration = defaultSampleDuration;\n }\n if (sampleSizePresent) {\n sampleSize = readUint32(trun, trunOffset);\n trunOffset += 4;\n } else {\n sampleSize = defaultSampleSize;\n }\n if (sampleFlagsPresent) {\n trunOffset += 4;\n }\n if (sampleCompositionOffsetsPresent) {\n if (version === 0) {\n compositionOffset = readUint32(trun, trunOffset);\n } else {\n compositionOffset = readSint32(trun, trunOffset);\n }\n trunOffset += 4;\n }\n if (track.type === ElementaryStreamTypes.VIDEO) {\n var naluTotalSize = 0;\n while (naluTotalSize < sampleSize) {\n var naluSize = readUint32(videoData, sampleOffset);\n sampleOffset += 4;\n if (isSEIMessage(isHEVCFlavor, videoData[sampleOffset])) {\n var data = videoData.subarray(sampleOffset, sampleOffset + naluSize);\n parseSEIMessageFromNALu(data, isHEVCFlavor ? 2 : 1, timeOffset + compositionOffset / timescale, seiSamples);\n }\n sampleOffset += naluSize;\n naluTotalSize += naluSize + 4;\n }\n }\n timeOffset += sampleDuration / timescale;\n }\n });\n }\n });\n });\n });\n return seiSamples;\n }\n function isHEVC(codec) {\n if (!codec) {\n return false;\n }\n var delimit = codec.indexOf('.');\n var baseCodec = delimit < 0 ? codec : codec.substring(0, delimit);\n return baseCodec === 'hvc1' || baseCodec === 'hev1' ||\n // Dolby Vision\n baseCodec === 'dvh1' || baseCodec === 'dvhe';\n }\n function isSEIMessage(isHEVCFlavor, naluHeader) {\n if (isHEVCFlavor) {\n var naluType = naluHeader >> 1 & 0x3f;\n return naluType === 39 || naluType === 40;\n } else {\n var _naluType = naluHeader & 0x1f;\n return _naluType === 6;\n }\n }\n function parseSEIMessageFromNALu(unescapedData, headerSize, pts, samples) {\n var data = discardEPB(unescapedData);\n var seiPtr = 0;\n // skip nal header\n seiPtr += headerSize;\n var payloadType = 0;\n var payloadSize = 0;\n var b = 0;\n while (seiPtr < data.length) {\n payloadType = 0;\n do {\n if (seiPtr >= data.length) {\n break;\n }\n b = data[seiPtr++];\n payloadType += b;\n } while (b === 0xff);\n\n // Parse payload size.\n payloadSize = 0;\n do {\n if (seiPtr >= data.length) {\n break;\n }\n b = data[seiPtr++];\n payloadSize += b;\n } while (b === 0xff);\n var leftOver = data.length - seiPtr;\n // Create a variable to process the payload\n var payPtr = seiPtr;\n\n // Increment the seiPtr to the end of the payload\n if (payloadSize < leftOver) {\n seiPtr += payloadSize;\n } else if (payloadSize > leftOver) {\n // Some type of corruption has happened?\n logger.error(\"Malformed SEI payload. \" + payloadSize + \" is too small, only \" + leftOver + \" bytes left to parse.\");\n // We might be able to parse some data, but let's be safe and ignore it.\n break;\n }\n if (payloadType === 4) {\n var countryCode = data[payPtr++];\n if (countryCode === 181) {\n var providerCode = readUint16(data, payPtr);\n payPtr += 2;\n if (providerCode === 49) {\n var userStructure = readUint32(data, payPtr);\n payPtr += 4;\n if (userStructure === 0x47413934) {\n var userDataType = data[payPtr++];\n\n // Raw CEA-608 bytes wrapped in CEA-708 packet\n if (userDataType === 3) {\n var firstByte = data[payPtr++];\n var totalCCs = 0x1f & firstByte;\n var enabled = 0x40 & firstByte;\n var totalBytes = enabled ? 2 + totalCCs * 3 : 0;\n var byteArray = new Uint8Array(totalBytes);\n if (enabled) {\n byteArray[0] = firstByte;\n for (var i = 1; i < totalBytes; i++) {\n byteArray[i] = data[payPtr++];\n }\n }\n samples.push({\n type: userDataType,\n payloadType: payloadType,\n pts: pts,\n bytes: byteArray\n });\n }\n }\n }\n }\n } else if (payloadType === 5) {\n if (payloadSize > 16) {\n var uuidStrArray = [];\n for (var _i3 = 0; _i3 < 16; _i3++) {\n var _b = data[payPtr++].toString(16);\n uuidStrArray.push(_b.length == 1 ? '0' + _b : _b);\n if (_i3 === 3 || _i3 === 5 || _i3 === 7 || _i3 === 9) {\n uuidStrArray.push('-');\n }\n }\n var length = payloadSize - 16;\n var userDataBytes = new Uint8Array(length);\n for (var _i4 = 0; _i4 < length; _i4++) {\n userDataBytes[_i4] = data[payPtr++];\n }\n samples.push({\n payloadType: payloadType,\n pts: pts,\n uuid: uuidStrArray.join(''),\n userData: utf8ArrayToStr(userDataBytes),\n userDataBytes: userDataBytes\n });\n }\n }\n }\n }\n\n /**\n * remove Emulation Prevention bytes from a RBSP\n */\n function discardEPB(data) {\n var length = data.byteLength;\n var EPBPositions = [];\n var i = 1;\n\n // Find all `Emulation Prevention Bytes`\n while (i < length - 2) {\n if (data[i] === 0 && data[i + 1] === 0 && data[i + 2] === 0x03) {\n EPBPositions.push(i + 2);\n i += 2;\n } else {\n i++;\n }\n }\n\n // If no Emulation Prevention Bytes were found just return the original\n // array\n if (EPBPositions.length === 0) {\n return data;\n }\n\n // Create a new array to hold the NAL unit data\n var newLength = length - EPBPositions.length;\n var newData = new Uint8Array(newLength);\n var sourceIndex = 0;\n for (i = 0; i < newLength; sourceIndex++, i++) {\n if (sourceIndex === EPBPositions[0]) {\n // Skip this byte\n sourceIndex++;\n // Remove this position index\n EPBPositions.shift();\n }\n newData[i] = data[sourceIndex];\n }\n return newData;\n }\n function parseEmsg(data) {\n var version = data[0];\n var schemeIdUri = '';\n var value = '';\n var timeScale = 0;\n var presentationTimeDelta = 0;\n var presentationTime = 0;\n var eventDuration = 0;\n var id = 0;\n var offset = 0;\n if (version === 0) {\n while (bin2str(data.subarray(offset, offset + 1)) !== '\\0') {\n schemeIdUri += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n schemeIdUri += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n while (bin2str(data.subarray(offset, offset + 1)) !== '\\0') {\n value += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n value += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n timeScale = readUint32(data, 12);\n presentationTimeDelta = readUint32(data, 16);\n eventDuration = readUint32(data, 20);\n id = readUint32(data, 24);\n offset = 28;\n } else if (version === 1) {\n offset += 4;\n timeScale = readUint32(data, offset);\n offset += 4;\n var leftPresentationTime = readUint32(data, offset);\n offset += 4;\n var rightPresentationTime = readUint32(data, offset);\n offset += 4;\n presentationTime = Math.pow(2, 32) * leftPresentationTime + rightPresentationTime;\n if (!isSafeInteger(presentationTime)) {\n presentationTime = Number.MAX_SAFE_INTEGER;\n logger.warn('Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box');\n }\n eventDuration = readUint32(data, offset);\n offset += 4;\n id = readUint32(data, offset);\n offset += 4;\n while (bin2str(data.subarray(offset, offset + 1)) !== '\\0') {\n schemeIdUri += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n schemeIdUri += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n while (bin2str(data.subarray(offset, offset + 1)) !== '\\0') {\n value += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n value += bin2str(data.subarray(offset, offset + 1));\n offset += 1;\n }\n var payload = data.subarray(offset, data.byteLength);\n return {\n schemeIdUri: schemeIdUri,\n value: value,\n timeScale: timeScale,\n presentationTime: presentationTime,\n presentationTimeDelta: presentationTimeDelta,\n eventDuration: eventDuration,\n id: id,\n payload: payload\n };\n }\n function mp4Box(type) {\n for (var _len = arguments.length, payload = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n payload[_key - 1] = arguments[_key];\n }\n var len = payload.length;\n var size = 8;\n var i = len;\n while (i--) {\n size += payload[i].byteLength;\n }\n var result = new Uint8Array(size);\n result[0] = size >> 24 & 0xff;\n result[1] = size >> 16 & 0xff;\n result[2] = size >> 8 & 0xff;\n result[3] = size & 0xff;\n result.set(type, 4);\n for (i = 0, size = 8; i < len; i++) {\n result.set(payload[i], size);\n size += payload[i].byteLength;\n }\n return result;\n }\n function mp4pssh(systemId, keyids, data) {\n if (systemId.byteLength !== 16) {\n throw new RangeError('Invalid system id');\n }\n var version;\n var kids;\n if (keyids) {\n version = 1;\n kids = new Uint8Array(keyids.length * 16);\n for (var ix = 0; ix < keyids.length; ix++) {\n var k = keyids[ix]; // uint8array\n if (k.byteLength !== 16) {\n throw new RangeError('Invalid key');\n }\n kids.set(k, ix * 16);\n }\n } else {\n version = 0;\n kids = new Uint8Array();\n }\n var kidCount;\n if (version > 0) {\n kidCount = new Uint8Array(4);\n if (keyids.length > 0) {\n new DataView(kidCount.buffer).setUint32(0, keyids.length, false);\n }\n } else {\n kidCount = new Uint8Array();\n }\n var dataSize = new Uint8Array(4);\n if (data && data.byteLength > 0) {\n new DataView(dataSize.buffer).setUint32(0, data.byteLength, false);\n }\n return mp4Box([112, 115, 115, 104], new Uint8Array([version, 0x00, 0x00, 0x00 // Flags\n ]), systemId,\n // 16 bytes\n kidCount, kids, dataSize, data || new Uint8Array());\n }\n function parsePssh(initData) {\n if (!(initData instanceof ArrayBuffer) || initData.byteLength < 32) {\n return null;\n }\n var result = {\n version: 0,\n systemId: '',\n kids: null,\n data: null\n };\n var view = new DataView(initData);\n var boxSize = view.getUint32(0);\n if (initData.byteLength !== boxSize && boxSize > 44) {\n return null;\n }\n var type = view.getUint32(4);\n if (type !== 0x70737368) {\n return null;\n }\n result.version = view.getUint32(8) >>> 24;\n if (result.version > 1) {\n return null;\n }\n result.systemId = Hex.hexDump(new Uint8Array(initData, 12, 16));\n var dataSizeOrKidCount = view.getUint32(28);\n if (result.version === 0) {\n if (boxSize - 32 < dataSizeOrKidCount) {\n return null;\n }\n result.data = new Uint8Array(initData, 32, dataSizeOrKidCount);\n } else if (result.version === 1) {\n result.kids = [];\n for (var i = 0; i < dataSizeOrKidCount; i++) {\n result.kids.push(new Uint8Array(initData, 32 + i * 16, 16));\n }\n }\n return result;\n }\n\n var keyUriToKeyIdMap = {};\n var LevelKey = /*#__PURE__*/function () {\n LevelKey.clearKeyUriToKeyIdMap = function clearKeyUriToKeyIdMap() {\n keyUriToKeyIdMap = {};\n };\n function LevelKey(method, uri, format, formatversions, iv) {\n if (formatversions === void 0) {\n formatversions = [1];\n }\n if (iv === void 0) {\n iv = null;\n }\n this.uri = void 0;\n this.method = void 0;\n this.keyFormat = void 0;\n this.keyFormatVersions = void 0;\n this.encrypted = void 0;\n this.isCommonEncryption = void 0;\n this.iv = null;\n this.key = null;\n this.keyId = null;\n this.pssh = null;\n this.method = method;\n this.uri = uri;\n this.keyFormat = format;\n this.keyFormatVersions = formatversions;\n this.iv = iv;\n this.encrypted = method ? method !== 'NONE' : false;\n this.isCommonEncryption = this.encrypted && method !== 'AES-128';\n }\n var _proto = LevelKey.prototype;\n _proto.isSupported = function isSupported() {\n // If it's Segment encryption or No encryption, just select that key system\n if (this.method) {\n if (this.method === 'AES-128' || this.method === 'NONE') {\n return true;\n }\n if (this.keyFormat === 'identity') {\n // Maintain support for clear SAMPLE-AES with MPEG-3 TS\n return this.method === 'SAMPLE-AES';\n } else {\n switch (this.keyFormat) {\n case KeySystemFormats.FAIRPLAY:\n case KeySystemFormats.WIDEVINE:\n case KeySystemFormats.PLAYREADY:\n case KeySystemFormats.CLEARKEY:\n return ['ISO-23001-7', 'SAMPLE-AES', 'SAMPLE-AES-CENC', 'SAMPLE-AES-CTR'].indexOf(this.method) !== -1;\n }\n }\n }\n return false;\n };\n _proto.getDecryptData = function getDecryptData(sn) {\n if (!this.encrypted || !this.uri) {\n return null;\n }\n if (this.method === 'AES-128' && this.uri && !this.iv) {\n if (typeof sn !== 'number') {\n // We are fetching decryption data for a initialization segment\n // If the segment was encrypted with AES-128\n // It must have an IV defined. We cannot substitute the Segment Number in.\n if (this.method === 'AES-128' && !this.iv) {\n logger.warn(\"missing IV for initialization segment with method=\\\"\" + this.method + \"\\\" - compliance issue\");\n }\n // Explicitly set sn to resulting value from implicit conversions 'initSegment' values for IV generation.\n sn = 0;\n }\n var iv = createInitializationVector(sn);\n var decryptdata = new LevelKey(this.method, this.uri, 'identity', this.keyFormatVersions, iv);\n return decryptdata;\n }\n\n // Initialize keyId if possible\n var keyBytes = convertDataUriToArrayBytes(this.uri);\n if (keyBytes) {\n switch (this.keyFormat) {\n case KeySystemFormats.WIDEVINE:\n this.pssh = keyBytes;\n // In case of widevine keyID is embedded in PSSH box. Read Key ID.\n if (keyBytes.length >= 22) {\n this.keyId = keyBytes.subarray(keyBytes.length - 22, keyBytes.length - 6);\n }\n break;\n case KeySystemFormats.PLAYREADY:\n {\n var PlayReadyKeySystemUUID = new Uint8Array([0x9a, 0x04, 0xf0, 0x79, 0x98, 0x40, 0x42, 0x86, 0xab, 0x92, 0xe6, 0x5b, 0xe0, 0x88, 0x5f, 0x95]);\n this.pssh = mp4pssh(PlayReadyKeySystemUUID, null, keyBytes);\n var keyBytesUtf16 = new Uint16Array(keyBytes.buffer, keyBytes.byteOffset, keyBytes.byteLength / 2);\n var keyByteStr = String.fromCharCode.apply(null, Array.from(keyBytesUtf16));\n\n // Parse Playready WRMHeader XML\n var xmlKeyBytes = keyByteStr.substring(keyByteStr.indexOf('<'), keyByteStr.length);\n var parser = new DOMParser();\n var xmlDoc = parser.parseFromString(xmlKeyBytes, 'text/xml');\n var keyData = xmlDoc.getElementsByTagName('KID')[0];\n if (keyData) {\n var keyId = keyData.childNodes[0] ? keyData.childNodes[0].nodeValue : keyData.getAttribute('VALUE');\n if (keyId) {\n var keyIdArray = base64Decode(keyId).subarray(0, 16);\n // KID value in PRO is a base64-encoded little endian GUID interpretation of UUID\n // KID value in ‘tenc’ is a big endian UUID GUID interpretation of UUID\n changeEndianness(keyIdArray);\n this.keyId = keyIdArray;\n }\n }\n break;\n }\n default:\n {\n var keydata = keyBytes.subarray(0, 16);\n if (keydata.length !== 16) {\n var padded = new Uint8Array(16);\n padded.set(keydata, 16 - keydata.length);\n keydata = padded;\n }\n this.keyId = keydata;\n break;\n }\n }\n }\n\n // Default behavior: assign a new keyId for each uri\n if (!this.keyId || this.keyId.byteLength !== 16) {\n var _keyId = keyUriToKeyIdMap[this.uri];\n if (!_keyId) {\n var val = Object.keys(keyUriToKeyIdMap).length % Number.MAX_SAFE_INTEGER;\n _keyId = new Uint8Array(16);\n var dv = new DataView(_keyId.buffer, 12, 4); // Just set the last 4 bytes\n dv.setUint32(0, val);\n keyUriToKeyIdMap[this.uri] = _keyId;\n }\n this.keyId = _keyId;\n }\n return this;\n };\n return LevelKey;\n }();\n function createInitializationVector(segmentNumber) {\n var uint8View = new Uint8Array(16);\n for (var i = 12; i < 16; i++) {\n uint8View[i] = segmentNumber >> 8 * (15 - i) & 0xff;\n }\n return uint8View;\n }\n\n var VARIABLE_REPLACEMENT_REGEX = /\\{\\$([a-zA-Z0-9-_]+)\\}/g;\n function hasVariableReferences(str) {\n return VARIABLE_REPLACEMENT_REGEX.test(str);\n }\n function substituteVariablesInAttributes(parsed, attr, attributeNames) {\n if (parsed.variableList !== null || parsed.hasVariableRefs) {\n for (var i = attributeNames.length; i--;) {\n var name = attributeNames[i];\n var value = attr[name];\n if (value) {\n attr[name] = substituteVariables(parsed, value);\n }\n }\n }\n }\n function substituteVariables(parsed, value) {\n if (parsed.variableList !== null || parsed.hasVariableRefs) {\n var variableList = parsed.variableList;\n return value.replace(VARIABLE_REPLACEMENT_REGEX, function (variableReference) {\n var variableName = variableReference.substring(2, variableReference.length - 1);\n var variableValue = variableList == null ? void 0 : variableList[variableName];\n if (variableValue === undefined) {\n parsed.playlistParsingError || (parsed.playlistParsingError = new Error(\"Missing preceding EXT-X-DEFINE tag for Variable Reference: \\\"\" + variableName + \"\\\"\"));\n return variableReference;\n }\n return variableValue;\n });\n }\n return value;\n }\n function addVariableDefinition(parsed, attr, parentUrl) {\n var variableList = parsed.variableList;\n if (!variableList) {\n parsed.variableList = variableList = {};\n }\n var NAME;\n var VALUE;\n if ('QUERYPARAM' in attr) {\n NAME = attr.QUERYPARAM;\n try {\n var searchParams = new self.URL(parentUrl).searchParams;\n if (searchParams.has(NAME)) {\n VALUE = searchParams.get(NAME);\n } else {\n throw new Error(\"\\\"\" + NAME + \"\\\" does not match any query parameter in URI: \\\"\" + parentUrl + \"\\\"\");\n }\n } catch (error) {\n parsed.playlistParsingError || (parsed.playlistParsingError = new Error(\"EXT-X-DEFINE QUERYPARAM: \" + error.message));\n }\n } else {\n NAME = attr.NAME;\n VALUE = attr.VALUE;\n }\n if (NAME in variableList) {\n parsed.playlistParsingError || (parsed.playlistParsingError = new Error(\"EXT-X-DEFINE duplicate Variable Name declarations: \\\"\" + NAME + \"\\\"\"));\n } else {\n variableList[NAME] = VALUE || '';\n }\n }\n function importVariableDefinition(parsed, attr, sourceVariableList) {\n var IMPORT = attr.IMPORT;\n if (sourceVariableList && IMPORT in sourceVariableList) {\n var variableList = parsed.variableList;\n if (!variableList) {\n parsed.variableList = variableList = {};\n }\n variableList[IMPORT] = sourceVariableList[IMPORT];\n } else {\n parsed.playlistParsingError || (parsed.playlistParsingError = new Error(\"EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: \\\"\" + IMPORT + \"\\\"\"));\n }\n }\n\n /**\n * MediaSource helper\n */\n\n function getMediaSource(preferManagedMediaSource) {\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n if (typeof self === 'undefined') return undefined;\n var mms = (preferManagedMediaSource || !self.MediaSource) && self.ManagedMediaSource;\n return mms || self.MediaSource || self.WebKitMediaSource;\n }\n\n // from http://mp4ra.org/codecs.html\n // values indicate codec selection preference (lower is higher priority)\n var sampleEntryCodesISO = {\n audio: {\n a3ds: 1,\n 'ac-3': 0.95,\n 'ac-4': 1,\n alac: 0.9,\n alaw: 1,\n dra1: 1,\n 'dts+': 1,\n 'dts-': 1,\n dtsc: 1,\n dtse: 1,\n dtsh: 1,\n 'ec-3': 0.9,\n enca: 1,\n fLaC: 0.9,\n // MP4-RA listed codec entry for FLAC\n flac: 0.9,\n // legacy browser codec name for FLAC\n FLAC: 0.9,\n // some manifests may list \"FLAC\" with Apple's tools\n g719: 1,\n g726: 1,\n m4ae: 1,\n mha1: 1,\n mha2: 1,\n mhm1: 1,\n mhm2: 1,\n mlpa: 1,\n mp4a: 1,\n 'raw ': 1,\n Opus: 1,\n opus: 1,\n // browsers expect this to be lowercase despite MP4RA says 'Opus'\n samr: 1,\n sawb: 1,\n sawp: 1,\n sevc: 1,\n sqcp: 1,\n ssmv: 1,\n twos: 1,\n ulaw: 1\n },\n video: {\n avc1: 1,\n avc2: 1,\n avc3: 1,\n avc4: 1,\n avcp: 1,\n av01: 0.8,\n drac: 1,\n dva1: 1,\n dvav: 1,\n dvh1: 0.7,\n dvhe: 0.7,\n encv: 1,\n hev1: 0.75,\n hvc1: 0.75,\n mjp2: 1,\n mp4v: 1,\n mvc1: 1,\n mvc2: 1,\n mvc3: 1,\n mvc4: 1,\n resv: 1,\n rv60: 1,\n s263: 1,\n svc1: 1,\n svc2: 1,\n 'vc-1': 1,\n vp08: 1,\n vp09: 0.9\n },\n text: {\n stpp: 1,\n wvtt: 1\n }\n };\n function isCodecType(codec, type) {\n var typeCodes = sampleEntryCodesISO[type];\n return !!typeCodes && !!typeCodes[codec.slice(0, 4)];\n }\n function areCodecsMediaSourceSupported(codecs, type, preferManagedMediaSource) {\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n return !codecs.split(',').some(function (codec) {\n return !isCodecMediaSourceSupported(codec, type, preferManagedMediaSource);\n });\n }\n function isCodecMediaSourceSupported(codec, type, preferManagedMediaSource) {\n var _MediaSource$isTypeSu;\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n var MediaSource = getMediaSource(preferManagedMediaSource);\n return (_MediaSource$isTypeSu = MediaSource == null ? void 0 : MediaSource.isTypeSupported(mimeTypeForCodec(codec, type))) != null ? _MediaSource$isTypeSu : false;\n }\n function mimeTypeForCodec(codec, type) {\n return type + \"/mp4;codecs=\\\"\" + codec + \"\\\"\";\n }\n function videoCodecPreferenceValue(videoCodec) {\n if (videoCodec) {\n var fourCC = videoCodec.substring(0, 4);\n return sampleEntryCodesISO.video[fourCC];\n }\n return 2;\n }\n function codecsSetSelectionPreferenceValue(codecSet) {\n return codecSet.split(',').reduce(function (num, fourCC) {\n var preferenceValue = sampleEntryCodesISO.video[fourCC];\n if (preferenceValue) {\n return (preferenceValue * 2 + num) / (num ? 3 : 2);\n }\n return (sampleEntryCodesISO.audio[fourCC] + num) / (num ? 2 : 1);\n }, 0);\n }\n var CODEC_COMPATIBLE_NAMES = {};\n function getCodecCompatibleNameLower(lowerCaseCodec, preferManagedMediaSource) {\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n if (CODEC_COMPATIBLE_NAMES[lowerCaseCodec]) {\n return CODEC_COMPATIBLE_NAMES[lowerCaseCodec];\n }\n\n // Idealy fLaC and Opus would be first (spec-compliant) but\n // some browsers will report that fLaC is supported then fail.\n // see: https://bugs.chromium.org/p/chromium/issues/detail?id=1422728\n var codecsToCheck = {\n flac: ['flac', 'fLaC', 'FLAC'],\n opus: ['opus', 'Opus']\n }[lowerCaseCodec];\n for (var i = 0; i < codecsToCheck.length; i++) {\n if (isCodecMediaSourceSupported(codecsToCheck[i], 'audio', preferManagedMediaSource)) {\n CODEC_COMPATIBLE_NAMES[lowerCaseCodec] = codecsToCheck[i];\n return codecsToCheck[i];\n }\n }\n return lowerCaseCodec;\n }\n var AUDIO_CODEC_REGEXP = /flac|opus/i;\n function getCodecCompatibleName(codec, preferManagedMediaSource) {\n if (preferManagedMediaSource === void 0) {\n preferManagedMediaSource = true;\n }\n return codec.replace(AUDIO_CODEC_REGEXP, function (m) {\n return getCodecCompatibleNameLower(m.toLowerCase(), preferManagedMediaSource);\n });\n }\n function pickMostCompleteCodecName(parsedCodec, levelCodec) {\n // Parsing of mp4a codecs strings in mp4-tools from media is incomplete as of d8c6c7a\n // so use level codec is parsed codec is unavailable or incomplete\n if (parsedCodec && parsedCodec !== 'mp4a') {\n return parsedCodec;\n }\n return levelCodec;\n }\n function convertAVC1ToAVCOTI(codec) {\n // Convert avc1 codec string from RFC-4281 to RFC-6381 for MediaSource.isTypeSupported\n var avcdata = codec.split('.');\n if (avcdata.length > 2) {\n var result = avcdata.shift() + '.';\n result += parseInt(avcdata.shift()).toString(16);\n result += ('000' + parseInt(avcdata.shift()).toString(16)).slice(-4);\n return result;\n }\n return codec;\n }\n\n var MASTER_PLAYLIST_REGEX = /#EXT-X-STREAM-INF:([^\\r\\n]*)(?:[\\r\\n](?:#[^\\r\\n]*)?)*([^\\r\\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\\r\\n]*)[\\r\\n]+/g;\n var MASTER_PLAYLIST_MEDIA_REGEX = /#EXT-X-MEDIA:(.*)/g;\n var IS_MEDIA_PLAYLIST = /^#EXT(?:INF|-X-TARGETDURATION):/m; // Handle empty Media Playlist (first EXTINF not signaled, but TARGETDURATION present)\n\n var LEVEL_PLAYLIST_REGEX_FAST = new RegExp([/#EXTINF:\\s*(\\d*(?:\\.\\d+)?)(?:,(.*)\\s+)?/.source,\n // duration (#EXTINF:<duration>,<title>), group 1 => duration, group 2 => title\n /(?!#) *(\\S[\\S ]*)/.source,\n // segment URI, group 3 => the URI (note newline is not eaten)\n /#EXT-X-BYTERANGE:*(.+)/.source,\n // next segment's byterange, group 4 => range spec (x@y)\n /#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,\n // next segment's program date/time group 5 => the datetime spec\n /#.*/.source // All other non-segment oriented tags will match with all groups empty\n ].join('|'), 'g');\n var LEVEL_PLAYLIST_REGEX_SLOW = new RegExp([/#(EXTM3U)/.source, /#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source, /#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\\d+)/.source, /#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source, /(#)([^:]*):(.*)/.source, /(#)(.*)(?:.*)\\r?\\n?/.source].join('|'));\n var M3U8Parser = /*#__PURE__*/function () {\n function M3U8Parser() {}\n M3U8Parser.findGroup = function findGroup(groups, mediaGroupId) {\n for (var i = 0; i < groups.length; i++) {\n var group = groups[i];\n if (group.id === mediaGroupId) {\n return group;\n }\n }\n };\n M3U8Parser.resolve = function resolve(url, baseUrl) {\n return urlToolkitExports.buildAbsoluteURL(baseUrl, url, {\n alwaysNormalize: true\n });\n };\n M3U8Parser.isMediaPlaylist = function isMediaPlaylist(str) {\n return IS_MEDIA_PLAYLIST.test(str);\n };\n M3U8Parser.parseMasterPlaylist = function parseMasterPlaylist(string, baseurl) {\n var hasVariableRefs = hasVariableReferences(string) ;\n var parsed = {\n contentSteering: null,\n levels: [],\n playlistParsingError: null,\n sessionData: null,\n sessionKeys: null,\n startTimeOffset: null,\n variableList: null,\n hasVariableRefs: hasVariableRefs\n };\n var levelsWithKnownCodecs = [];\n MASTER_PLAYLIST_REGEX.lastIndex = 0;\n var result;\n while ((result = MASTER_PLAYLIST_REGEX.exec(string)) != null) {\n if (result[1]) {\n var _level$unknownCodecs;\n // '#EXT-X-STREAM-INF' is found, parse level tag in group 1\n var attrs = new AttrList(result[1]);\n {\n substituteVariablesInAttributes(parsed, attrs, ['CODECS', 'SUPPLEMENTAL-CODECS', 'ALLOWED-CPC', 'PATHWAY-ID', 'STABLE-VARIANT-ID', 'AUDIO', 'VIDEO', 'SUBTITLES', 'CLOSED-CAPTIONS', 'NAME']);\n }\n var uri = substituteVariables(parsed, result[2]) ;\n var level = {\n attrs: attrs,\n bitrate: attrs.decimalInteger('BANDWIDTH') || attrs.decimalInteger('AVERAGE-BANDWIDTH'),\n name: attrs.NAME,\n url: M3U8Parser.resolve(uri, baseurl)\n };\n var resolution = attrs.decimalResolution('RESOLUTION');\n if (resolution) {\n level.width = resolution.width;\n level.height = resolution.height;\n }\n setCodecs(attrs.CODECS, level);\n if (!((_level$unknownCodecs = level.unknownCodecs) != null && _level$unknownCodecs.length)) {\n levelsWithKnownCodecs.push(level);\n }\n parsed.levels.push(level);\n } else if (result[3]) {\n var tag = result[3];\n var attributes = result[4];\n switch (tag) {\n case 'SESSION-DATA':\n {\n // #EXT-X-SESSION-DATA\n var sessionAttrs = new AttrList(attributes);\n {\n substituteVariablesInAttributes(parsed, sessionAttrs, ['DATA-ID', 'LANGUAGE', 'VALUE', 'URI']);\n }\n var dataId = sessionAttrs['DATA-ID'];\n if (dataId) {\n if (parsed.sessionData === null) {\n parsed.sessionData = {};\n }\n parsed.sessionData[dataId] = sessionAttrs;\n }\n break;\n }\n case 'SESSION-KEY':\n {\n // #EXT-X-SESSION-KEY\n var sessionKey = parseKey(attributes, baseurl, parsed);\n if (sessionKey.encrypted && sessionKey.isSupported()) {\n if (parsed.sessionKeys === null) {\n parsed.sessionKeys = [];\n }\n parsed.sessionKeys.push(sessionKey);\n } else {\n logger.warn(\"[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: \\\"\" + attributes + \"\\\"\");\n }\n break;\n }\n case 'DEFINE':\n {\n // #EXT-X-DEFINE\n {\n var variableAttributes = new AttrList(attributes);\n substituteVariablesInAttributes(parsed, variableAttributes, ['NAME', 'VALUE', 'QUERYPARAM']);\n addVariableDefinition(parsed, variableAttributes, baseurl);\n }\n break;\n }\n case 'CONTENT-STEERING':\n {\n // #EXT-X-CONTENT-STEERING\n var contentSteeringAttributes = new AttrList(attributes);\n {\n substituteVariablesInAttributes(parsed, contentSteeringAttributes, ['SERVER-URI', 'PATHWAY-ID']);\n }\n parsed.contentSteering = {\n uri: M3U8Parser.resolve(contentSteeringAttributes['SERVER-URI'], baseurl),\n pathwayId: contentSteeringAttributes['PATHWAY-ID'] || '.'\n };\n break;\n }\n case 'START':\n {\n // #EXT-X-START\n parsed.startTimeOffset = parseStartTimeOffset(attributes);\n break;\n }\n }\n }\n }\n // Filter out levels with unknown codecs if it does not remove all levels\n var stripUnknownCodecLevels = levelsWithKnownCodecs.length > 0 && levelsWithKnownCodecs.length < parsed.levels.length;\n parsed.levels = stripUnknownCodecLevels ? levelsWithKnownCodecs : parsed.levels;\n if (parsed.levels.length === 0) {\n parsed.playlistParsingError = new Error('no levels found in manifest');\n }\n return parsed;\n };\n M3U8Parser.parseMasterPlaylistMedia = function parseMasterPlaylistMedia(string, baseurl, parsed) {\n var result;\n var results = {};\n var levels = parsed.levels;\n var groupsByType = {\n AUDIO: levels.map(function (level) {\n return {\n id: level.attrs.AUDIO,\n audioCodec: level.audioCodec\n };\n }),\n SUBTITLES: levels.map(function (level) {\n return {\n id: level.attrs.SUBTITLES,\n textCodec: level.textCodec\n };\n }),\n 'CLOSED-CAPTIONS': []\n };\n var id = 0;\n MASTER_PLAYLIST_MEDIA_REGEX.lastIndex = 0;\n while ((result = MASTER_PLAYLIST_MEDIA_REGEX.exec(string)) !== null) {\n var attrs = new AttrList(result[1]);\n var type = attrs.TYPE;\n if (type) {\n var groups = groupsByType[type];\n var medias = results[type] || [];\n results[type] = medias;\n {\n substituteVariablesInAttributes(parsed, attrs, ['URI', 'GROUP-ID', 'LANGUAGE', 'ASSOC-LANGUAGE', 'STABLE-RENDITION-ID', 'NAME', 'INSTREAM-ID', 'CHARACTERISTICS', 'CHANNELS']);\n }\n var lang = attrs.LANGUAGE;\n var assocLang = attrs['ASSOC-LANGUAGE'];\n var channels = attrs.CHANNELS;\n var characteristics = attrs.CHARACTERISTICS;\n var instreamId = attrs['INSTREAM-ID'];\n var media = {\n attrs: attrs,\n bitrate: 0,\n id: id++,\n groupId: attrs['GROUP-ID'] || '',\n name: attrs.NAME || lang || '',\n type: type,\n default: attrs.bool('DEFAULT'),\n autoselect: attrs.bool('AUTOSELECT'),\n forced: attrs.bool('FORCED'),\n lang: lang,\n url: attrs.URI ? M3U8Parser.resolve(attrs.URI, baseurl) : ''\n };\n if (assocLang) {\n media.assocLang = assocLang;\n }\n if (channels) {\n media.channels = channels;\n }\n if (characteristics) {\n media.characteristics = characteristics;\n }\n if (instreamId) {\n media.instreamId = instreamId;\n }\n if (groups != null && groups.length) {\n // If there are audio or text groups signalled in the manifest, let's look for a matching codec string for this track\n // If we don't find the track signalled, lets use the first audio groups codec we have\n // Acting as a best guess\n var groupCodec = M3U8Parser.findGroup(groups, media.groupId) || groups[0];\n assignCodec(media, groupCodec, 'audioCodec');\n assignCodec(media, groupCodec, 'textCodec');\n }\n medias.push(media);\n }\n }\n return results;\n };\n M3U8Parser.parseLevelPlaylist = function parseLevelPlaylist(string, baseurl, id, type, levelUrlId, multivariantVariableList) {\n var level = new LevelDetails(baseurl);\n var fragments = level.fragments;\n // The most recent init segment seen (applies to all subsequent segments)\n var currentInitSegment = null;\n var currentSN = 0;\n var currentPart = 0;\n var totalduration = 0;\n var discontinuityCounter = 0;\n var prevFrag = null;\n var frag = new Fragment(type, baseurl);\n var result;\n var i;\n var levelkeys;\n var firstPdtIndex = -1;\n var createNextFrag = false;\n var nextByteRange = null;\n LEVEL_PLAYLIST_REGEX_FAST.lastIndex = 0;\n level.m3u8 = string;\n level.hasVariableRefs = hasVariableReferences(string) ;\n while ((result = LEVEL_PLAYLIST_REGEX_FAST.exec(string)) !== null) {\n if (createNextFrag) {\n createNextFrag = false;\n frag = new Fragment(type, baseurl);\n // setup the next fragment for part loading\n frag.start = totalduration;\n frag.sn = currentSN;\n frag.cc = discontinuityCounter;\n frag.level = id;\n if (currentInitSegment) {\n frag.initSegment = currentInitSegment;\n frag.rawProgramDateTime = currentInitSegment.rawProgramDateTime;\n currentInitSegment.rawProgramDateTime = null;\n if (nextByteRange) {\n frag.setByteRange(nextByteRange);\n nextByteRange = null;\n }\n }\n }\n var duration = result[1];\n if (duration) {\n // INF\n frag.duration = parseFloat(duration);\n // avoid sliced strings https://github.com/video-dev/hls.js/issues/939\n var title = (' ' + result[2]).slice(1);\n frag.title = title || null;\n frag.tagList.push(title ? ['INF', duration, title] : ['INF', duration]);\n } else if (result[3]) {\n // url\n if (isFiniteNumber(frag.duration)) {\n frag.start = totalduration;\n if (levelkeys) {\n setFragLevelKeys(frag, levelkeys, level);\n }\n frag.sn = currentSN;\n frag.level = id;\n frag.cc = discontinuityCounter;\n fragments.push(frag);\n // avoid sliced strings https://github.com/video-dev/hls.js/issues/939\n var uri = (' ' + result[3]).slice(1);\n frag.relurl = substituteVariables(level, uri) ;\n assignProgramDateTime(frag, prevFrag);\n prevFrag = frag;\n totalduration += frag.duration;\n currentSN++;\n currentPart = 0;\n createNextFrag = true;\n }\n } else if (result[4]) {\n // X-BYTERANGE\n var data = (' ' + result[4]).slice(1);\n if (prevFrag) {\n frag.setByteRange(data, prevFrag);\n } else {\n frag.setByteRange(data);\n }\n } else if (result[5]) {\n // PROGRAM-DATE-TIME\n // avoid sliced strings https://github.com/video-dev/hls.js/issues/939\n frag.rawProgramDateTime = (' ' + result[5]).slice(1);\n frag.tagList.push(['PROGRAM-DATE-TIME', frag.rawProgramDateTime]);\n if (firstPdtIndex === -1) {\n firstPdtIndex = fragments.length;\n }\n } else {\n result = result[0].match(LEVEL_PLAYLIST_REGEX_SLOW);\n if (!result) {\n logger.warn('No matches on slow regex match for level playlist!');\n continue;\n }\n for (i = 1; i < result.length; i++) {\n if (typeof result[i] !== 'undefined') {\n break;\n }\n }\n\n // avoid sliced strings https://github.com/video-dev/hls.js/issues/939\n var tag = (' ' + result[i]).slice(1);\n var value1 = (' ' + result[i + 1]).slice(1);\n var value2 = result[i + 2] ? (' ' + result[i + 2]).slice(1) : '';\n switch (tag) {\n case 'PLAYLIST-TYPE':\n level.type = value1.toUpperCase();\n break;\n case 'MEDIA-SEQUENCE':\n currentSN = level.startSN = parseInt(value1);\n break;\n case 'SKIP':\n {\n var skipAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, skipAttrs, ['RECENTLY-REMOVED-DATERANGES']);\n }\n var skippedSegments = skipAttrs.decimalInteger('SKIPPED-SEGMENTS');\n if (isFiniteNumber(skippedSegments)) {\n level.skippedSegments = skippedSegments;\n // This will result in fragments[] containing undefined values, which we will fill in with `mergeDetails`\n for (var _i = skippedSegments; _i--;) {\n fragments.unshift(null);\n }\n currentSN += skippedSegments;\n }\n var recentlyRemovedDateranges = skipAttrs.enumeratedString('RECENTLY-REMOVED-DATERANGES');\n if (recentlyRemovedDateranges) {\n level.recentlyRemovedDateranges = recentlyRemovedDateranges.split('\\t');\n }\n break;\n }\n case 'TARGETDURATION':\n level.targetduration = Math.max(parseInt(value1), 1);\n break;\n case 'VERSION':\n level.version = parseInt(value1);\n break;\n case 'INDEPENDENT-SEGMENTS':\n case 'EXTM3U':\n break;\n case 'ENDLIST':\n level.live = false;\n break;\n case '#':\n if (value1 || value2) {\n frag.tagList.push(value2 ? [value1, value2] : [value1]);\n }\n break;\n case 'DISCONTINUITY':\n discontinuityCounter++;\n frag.tagList.push(['DIS']);\n break;\n case 'GAP':\n frag.gap = true;\n frag.tagList.push([tag]);\n break;\n case 'BITRATE':\n frag.tagList.push([tag, value1]);\n break;\n case 'DATERANGE':\n {\n var dateRangeAttr = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, dateRangeAttr, ['ID', 'CLASS', 'START-DATE', 'END-DATE', 'SCTE35-CMD', 'SCTE35-OUT', 'SCTE35-IN']);\n substituteVariablesInAttributes(level, dateRangeAttr, dateRangeAttr.clientAttrs);\n }\n var dateRange = new DateRange(dateRangeAttr, level.dateRanges[dateRangeAttr.ID]);\n if (dateRange.isValid || level.skippedSegments) {\n level.dateRanges[dateRange.id] = dateRange;\n } else {\n logger.warn(\"Ignoring invalid DATERANGE tag: \\\"\" + value1 + \"\\\"\");\n }\n // Add to fragment tag list for backwards compatibility (< v1.2.0)\n frag.tagList.push(['EXT-X-DATERANGE', value1]);\n break;\n }\n case 'DEFINE':\n {\n {\n var variableAttributes = new AttrList(value1);\n substituteVariablesInAttributes(level, variableAttributes, ['NAME', 'VALUE', 'IMPORT', 'QUERYPARAM']);\n if ('IMPORT' in variableAttributes) {\n importVariableDefinition(level, variableAttributes, multivariantVariableList);\n } else {\n addVariableDefinition(level, variableAttributes, baseurl);\n }\n }\n break;\n }\n case 'DISCONTINUITY-SEQUENCE':\n discontinuityCounter = parseInt(value1);\n break;\n case 'KEY':\n {\n var levelKey = parseKey(value1, baseurl, level);\n if (levelKey.isSupported()) {\n if (levelKey.method === 'NONE') {\n levelkeys = undefined;\n break;\n }\n if (!levelkeys) {\n levelkeys = {};\n }\n if (levelkeys[levelKey.keyFormat]) {\n levelkeys = _extends({}, levelkeys);\n }\n levelkeys[levelKey.keyFormat] = levelKey;\n } else {\n logger.warn(\"[Keys] Ignoring invalid EXT-X-KEY tag: \\\"\" + value1 + \"\\\"\");\n }\n break;\n }\n case 'START':\n level.startTimeOffset = parseStartTimeOffset(value1);\n break;\n case 'MAP':\n {\n var mapAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, mapAttrs, ['BYTERANGE', 'URI']);\n }\n if (frag.duration) {\n // Initial segment tag is after segment duration tag.\n // #EXTINF: 6.0\n // #EXT-X-MAP:URI=\"init.mp4\n var init = new Fragment(type, baseurl);\n setInitSegment(init, mapAttrs, id, levelkeys);\n currentInitSegment = init;\n frag.initSegment = currentInitSegment;\n if (currentInitSegment.rawProgramDateTime && !frag.rawProgramDateTime) {\n frag.rawProgramDateTime = currentInitSegment.rawProgramDateTime;\n }\n } else {\n // Initial segment tag is before segment duration tag\n // Handle case where EXT-X-MAP is declared after EXT-X-BYTERANGE\n var end = frag.byteRangeEndOffset;\n if (end) {\n var start = frag.byteRangeStartOffset;\n nextByteRange = end - start + \"@\" + start;\n } else {\n nextByteRange = null;\n }\n setInitSegment(frag, mapAttrs, id, levelkeys);\n currentInitSegment = frag;\n createNextFrag = true;\n }\n break;\n }\n case 'SERVER-CONTROL':\n {\n var serverControlAttrs = new AttrList(value1);\n level.canBlockReload = serverControlAttrs.bool('CAN-BLOCK-RELOAD');\n level.canSkipUntil = serverControlAttrs.optionalFloat('CAN-SKIP-UNTIL', 0);\n level.canSkipDateRanges = level.canSkipUntil > 0 && serverControlAttrs.bool('CAN-SKIP-DATERANGES');\n level.partHoldBack = serverControlAttrs.optionalFloat('PART-HOLD-BACK', 0);\n level.holdBack = serverControlAttrs.optionalFloat('HOLD-BACK', 0);\n break;\n }\n case 'PART-INF':\n {\n var partInfAttrs = new AttrList(value1);\n level.partTarget = partInfAttrs.decimalFloatingPoint('PART-TARGET');\n break;\n }\n case 'PART':\n {\n var partList = level.partList;\n if (!partList) {\n partList = level.partList = [];\n }\n var previousFragmentPart = currentPart > 0 ? partList[partList.length - 1] : undefined;\n var index = currentPart++;\n var partAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, partAttrs, ['BYTERANGE', 'URI']);\n }\n var part = new Part(partAttrs, frag, baseurl, index, previousFragmentPart);\n partList.push(part);\n frag.duration += part.duration;\n break;\n }\n case 'PRELOAD-HINT':\n {\n var preloadHintAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, preloadHintAttrs, ['URI']);\n }\n level.preloadHint = preloadHintAttrs;\n break;\n }\n case 'RENDITION-REPORT':\n {\n var renditionReportAttrs = new AttrList(value1);\n {\n substituteVariablesInAttributes(level, renditionReportAttrs, ['URI']);\n }\n level.renditionReports = level.renditionReports || [];\n level.renditionReports.push(renditionReportAttrs);\n break;\n }\n default:\n logger.warn(\"line parsed but not handled: \" + result);\n break;\n }\n }\n }\n if (prevFrag && !prevFrag.relurl) {\n fragments.pop();\n totalduration -= prevFrag.duration;\n if (level.partList) {\n level.fragmentHint = prevFrag;\n }\n } else if (level.partList) {\n assignProgramDateTime(frag, prevFrag);\n frag.cc = discontinuityCounter;\n level.fragmentHint = frag;\n if (levelkeys) {\n setFragLevelKeys(frag, levelkeys, level);\n }\n }\n var fragmentLength = fragments.length;\n var firstFragment = fragments[0];\n var lastFragment = fragments[fragmentLength - 1];\n totalduration += level.skippedSegments * level.targetduration;\n if (totalduration > 0 && fragmentLength && lastFragment) {\n level.averagetargetduration = totalduration / fragmentLength;\n var lastSn = lastFragment.sn;\n level.endSN = lastSn !== 'initSegment' ? lastSn : 0;\n if (!level.live) {\n lastFragment.endList = true;\n }\n if (firstFragment) {\n level.startCC = firstFragment.cc;\n }\n } else {\n level.endSN = 0;\n level.startCC = 0;\n }\n if (level.fragmentHint) {\n totalduration += level.fragmentHint.duration;\n }\n level.totalduration = totalduration;\n level.endCC = discontinuityCounter;\n\n /**\n * Backfill any missing PDT values\n * \"If the first EXT-X-PROGRAM-DATE-TIME tag in a Playlist appears after\n * one or more Media Segment URIs, the client SHOULD extrapolate\n * backward from that tag (using EXTINF durations and/or media\n * timestamps) to associate dates with those segments.\"\n * We have already extrapolated forward, but all fragments up to the first instance of PDT do not have their PDTs\n * computed.\n */\n if (firstPdtIndex > 0) {\n backfillProgramDateTimes(fragments, firstPdtIndex);\n }\n return level;\n };\n return M3U8Parser;\n }();\n function parseKey(keyTagAttributes, baseurl, parsed) {\n var _keyAttrs$METHOD, _keyAttrs$KEYFORMAT;\n // https://tools.ietf.org/html/rfc8216#section-4.3.2.4\n var keyAttrs = new AttrList(keyTagAttributes);\n {\n substituteVariablesInAttributes(parsed, keyAttrs, ['KEYFORMAT', 'KEYFORMATVERSIONS', 'URI', 'IV', 'URI']);\n }\n var decryptmethod = (_keyAttrs$METHOD = keyAttrs.METHOD) != null ? _keyAttrs$METHOD : '';\n var decrypturi = keyAttrs.URI;\n var decryptiv = keyAttrs.hexadecimalInteger('IV');\n var decryptkeyformatversions = keyAttrs.KEYFORMATVERSIONS;\n // From RFC: This attribute is OPTIONAL; its absence indicates an implicit value of \"identity\".\n var decryptkeyformat = (_keyAttrs$KEYFORMAT = keyAttrs.KEYFORMAT) != null ? _keyAttrs$KEYFORMAT : 'identity';\n if (decrypturi && keyAttrs.IV && !decryptiv) {\n logger.error(\"Invalid IV: \" + keyAttrs.IV);\n }\n // If decrypturi is a URI with a scheme, then baseurl will be ignored\n // No uri is allowed when METHOD is NONE\n var resolvedUri = decrypturi ? M3U8Parser.resolve(decrypturi, baseurl) : '';\n var keyFormatVersions = (decryptkeyformatversions ? decryptkeyformatversions : '1').split('/').map(Number).filter(Number.isFinite);\n return new LevelKey(decryptmethod, resolvedUri, decryptkeyformat, keyFormatVersions, decryptiv);\n }\n function parseStartTimeOffset(startAttributes) {\n var startAttrs = new AttrList(startAttributes);\n var startTimeOffset = startAttrs.decimalFloatingPoint('TIME-OFFSET');\n if (isFiniteNumber(startTimeOffset)) {\n return startTimeOffset;\n }\n return null;\n }\n function setCodecs(codecsAttributeValue, level) {\n var codecs = (codecsAttributeValue || '').split(/[ ,]+/).filter(function (c) {\n return c;\n });\n ['video', 'audio', 'text'].forEach(function (type) {\n var filtered = codecs.filter(function (codec) {\n return isCodecType(codec, type);\n });\n if (filtered.length) {\n // Comma separated list of all codecs for type\n level[type + \"Codec\"] = filtered.join(',');\n // Remove known codecs so that only unknownCodecs are left after iterating through each type\n codecs = codecs.filter(function (codec) {\n return filtered.indexOf(codec) === -1;\n });\n }\n });\n level.unknownCodecs = codecs;\n }\n function assignCodec(media, groupItem, codecProperty) {\n var codecValue = groupItem[codecProperty];\n if (codecValue) {\n media[codecProperty] = codecValue;\n }\n }\n function backfillProgramDateTimes(fragments, firstPdtIndex) {\n var fragPrev = fragments[firstPdtIndex];\n for (var i = firstPdtIndex; i--;) {\n var frag = fragments[i];\n // Exit on delta-playlist skipped segments\n if (!frag) {\n return;\n }\n frag.programDateTime = fragPrev.programDateTime - frag.duration * 1000;\n fragPrev = frag;\n }\n }\n function assignProgramDateTime(frag, prevFrag) {\n if (frag.rawProgramDateTime) {\n frag.programDateTime = Date.parse(frag.rawProgramDateTime);\n } else if (prevFrag != null && prevFrag.programDateTime) {\n frag.programDateTime = prevFrag.endProgramDateTime;\n }\n if (!isFiniteNumber(frag.programDateTime)) {\n frag.programDateTime = null;\n frag.rawProgramDateTime = null;\n }\n }\n function setInitSegment(frag, mapAttrs, id, levelkeys) {\n frag.relurl = mapAttrs.URI;\n if (mapAttrs.BYTERANGE) {\n frag.setByteRange(mapAttrs.BYTERANGE);\n }\n frag.level = id;\n frag.sn = 'initSegment';\n if (levelkeys) {\n frag.levelkeys = levelkeys;\n }\n frag.initSegment = null;\n }\n function setFragLevelKeys(frag, levelkeys, level) {\n frag.levelkeys = levelkeys;\n var encryptedFragments = level.encryptedFragments;\n if ((!encryptedFragments.length || encryptedFragments[encryptedFragments.length - 1].levelkeys !== levelkeys) && Object.keys(levelkeys).some(function (format) {\n return levelkeys[format].isCommonEncryption;\n })) {\n encryptedFragments.push(frag);\n }\n }\n\n var PlaylistContextType = {\n MANIFEST: \"manifest\",\n LEVEL: \"level\",\n AUDIO_TRACK: \"audioTrack\",\n SUBTITLE_TRACK: \"subtitleTrack\"\n };\n var PlaylistLevelType = {\n MAIN: \"main\",\n AUDIO: \"audio\",\n SUBTITLE: \"subtitle\"\n };\n\n function mapContextToLevelType(context) {\n var type = context.type;\n switch (type) {\n case PlaylistContextType.AUDIO_TRACK:\n return PlaylistLevelType.AUDIO;\n case PlaylistContextType.SUBTITLE_TRACK:\n return PlaylistLevelType.SUBTITLE;\n default:\n return PlaylistLevelType.MAIN;\n }\n }\n function getResponseUrl(response, context) {\n var url = response.url;\n // responseURL not supported on some browsers (it is used to detect URL redirection)\n // data-uri mode also not supported (but no need to detect redirection)\n if (url === undefined || url.indexOf('data:') === 0) {\n // fallback to initial URL\n url = context.url;\n }\n return url;\n }\n var PlaylistLoader = /*#__PURE__*/function () {\n function PlaylistLoader(hls) {\n this.hls = void 0;\n this.loaders = Object.create(null);\n this.variableList = null;\n this.hls = hls;\n this.registerListeners();\n }\n var _proto = PlaylistLoader.prototype;\n _proto.startLoad = function startLoad(startPosition) {};\n _proto.stopLoad = function stopLoad() {\n this.destroyInternalLoaders();\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.on(Events.AUDIO_TRACK_LOADING, this.onAudioTrackLoading, this);\n hls.on(Events.SUBTITLE_TRACK_LOADING, this.onSubtitleTrackLoading, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.off(Events.AUDIO_TRACK_LOADING, this.onAudioTrackLoading, this);\n hls.off(Events.SUBTITLE_TRACK_LOADING, this.onSubtitleTrackLoading, this);\n }\n\n /**\n * Returns defaults or configured loader-type overloads (pLoader and loader config params)\n */;\n _proto.createInternalLoader = function createInternalLoader(context) {\n var config = this.hls.config;\n var PLoader = config.pLoader;\n var Loader = config.loader;\n var InternalLoader = PLoader || Loader;\n var loader = new InternalLoader(config);\n this.loaders[context.type] = loader;\n return loader;\n };\n _proto.getInternalLoader = function getInternalLoader(context) {\n return this.loaders[context.type];\n };\n _proto.resetInternalLoader = function resetInternalLoader(contextType) {\n if (this.loaders[contextType]) {\n delete this.loaders[contextType];\n }\n }\n\n /**\n * Call `destroy` on all internal loader instances mapped (one per context type)\n */;\n _proto.destroyInternalLoaders = function destroyInternalLoaders() {\n for (var contextType in this.loaders) {\n var loader = this.loaders[contextType];\n if (loader) {\n loader.destroy();\n }\n this.resetInternalLoader(contextType);\n }\n };\n _proto.destroy = function destroy() {\n this.variableList = null;\n this.unregisterListeners();\n this.destroyInternalLoaders();\n };\n _proto.onManifestLoading = function onManifestLoading(event, data) {\n var url = data.url;\n this.variableList = null;\n this.load({\n id: null,\n level: 0,\n responseType: 'text',\n type: PlaylistContextType.MANIFEST,\n url: url,\n deliveryDirectives: null\n });\n };\n _proto.onLevelLoading = function onLevelLoading(event, data) {\n var id = data.id,\n level = data.level,\n pathwayId = data.pathwayId,\n url = data.url,\n deliveryDirectives = data.deliveryDirectives;\n this.load({\n id: id,\n level: level,\n pathwayId: pathwayId,\n responseType: 'text',\n type: PlaylistContextType.LEVEL,\n url: url,\n deliveryDirectives: deliveryDirectives\n });\n };\n _proto.onAudioTrackLoading = function onAudioTrackLoading(event, data) {\n var id = data.id,\n groupId = data.groupId,\n url = data.url,\n deliveryDirectives = data.deliveryDirectives;\n this.load({\n id: id,\n groupId: groupId,\n level: null,\n responseType: 'text',\n type: PlaylistContextType.AUDIO_TRACK,\n url: url,\n deliveryDirectives: deliveryDirectives\n });\n };\n _proto.onSubtitleTrackLoading = function onSubtitleTrackLoading(event, data) {\n var id = data.id,\n groupId = data.groupId,\n url = data.url,\n deliveryDirectives = data.deliveryDirectives;\n this.load({\n id: id,\n groupId: groupId,\n level: null,\n responseType: 'text',\n type: PlaylistContextType.SUBTITLE_TRACK,\n url: url,\n deliveryDirectives: deliveryDirectives\n });\n };\n _proto.load = function load(context) {\n var _context$deliveryDire,\n _this = this;\n var config = this.hls.config;\n\n // logger.debug(`[playlist-loader]: Loading playlist of type ${context.type}, level: ${context.level}, id: ${context.id}`);\n\n // Check if a loader for this context already exists\n var loader = this.getInternalLoader(context);\n if (loader) {\n var loaderContext = loader.context;\n if (loaderContext && loaderContext.url === context.url && loaderContext.level === context.level) {\n // same URL can't overlap\n logger.trace('[playlist-loader]: playlist request ongoing');\n return;\n }\n logger.log(\"[playlist-loader]: aborting previous loader for type: \" + context.type);\n loader.abort();\n }\n\n // apply different configs for retries depending on\n // context (manifest, level, audio/subs playlist)\n var loadPolicy;\n if (context.type === PlaylistContextType.MANIFEST) {\n loadPolicy = config.manifestLoadPolicy.default;\n } else {\n loadPolicy = _extends({}, config.playlistLoadPolicy.default, {\n timeoutRetry: null,\n errorRetry: null\n });\n }\n loader = this.createInternalLoader(context);\n\n // Override level/track timeout for LL-HLS requests\n // (the default of 10000ms is counter productive to blocking playlist reload requests)\n if (isFiniteNumber((_context$deliveryDire = context.deliveryDirectives) == null ? void 0 : _context$deliveryDire.part)) {\n var levelDetails;\n if (context.type === PlaylistContextType.LEVEL && context.level !== null) {\n levelDetails = this.hls.levels[context.level].details;\n } else if (context.type === PlaylistContextType.AUDIO_TRACK && context.id !== null) {\n levelDetails = this.hls.audioTracks[context.id].details;\n } else if (context.type === PlaylistContextType.SUBTITLE_TRACK && context.id !== null) {\n levelDetails = this.hls.subtitleTracks[context.id].details;\n }\n if (levelDetails) {\n var partTarget = levelDetails.partTarget;\n var targetDuration = levelDetails.targetduration;\n if (partTarget && targetDuration) {\n var maxLowLatencyPlaylistRefresh = Math.max(partTarget * 3, targetDuration * 0.8) * 1000;\n loadPolicy = _extends({}, loadPolicy, {\n maxTimeToFirstByteMs: Math.min(maxLowLatencyPlaylistRefresh, loadPolicy.maxTimeToFirstByteMs),\n maxLoadTimeMs: Math.min(maxLowLatencyPlaylistRefresh, loadPolicy.maxTimeToFirstByteMs)\n });\n }\n }\n }\n var legacyRetryCompatibility = loadPolicy.errorRetry || loadPolicy.timeoutRetry || {};\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: legacyRetryCompatibility.maxNumRetry || 0,\n retryDelay: legacyRetryCompatibility.retryDelayMs || 0,\n maxRetryDelay: legacyRetryCompatibility.maxRetryDelayMs || 0\n };\n var loaderCallbacks = {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n var loader = _this.getInternalLoader(context);\n _this.resetInternalLoader(context.type);\n var string = response.data;\n\n // Validate if it is an M3U8 at all\n if (string.indexOf('#EXTM3U') !== 0) {\n _this.handleManifestParsingError(response, context, new Error('no EXTM3U delimiter'), networkDetails || null, stats);\n return;\n }\n stats.parsing.start = performance.now();\n if (M3U8Parser.isMediaPlaylist(string)) {\n _this.handleTrackOrLevelPlaylist(response, stats, context, networkDetails || null, loader);\n } else {\n _this.handleMasterPlaylist(response, stats, context, networkDetails);\n }\n },\n onError: function onError(response, context, networkDetails, stats) {\n _this.handleNetworkError(context, networkDetails, false, response, stats);\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this.handleNetworkError(context, networkDetails, true, undefined, stats);\n }\n };\n\n // logger.debug(`[playlist-loader]: Calling internal loader delegate for URL: ${context.url}`);\n\n loader.load(context, loaderConfig, loaderCallbacks);\n };\n _proto.handleMasterPlaylist = function handleMasterPlaylist(response, stats, context, networkDetails) {\n var hls = this.hls;\n var string = response.data;\n var url = getResponseUrl(response, context);\n var parsedResult = M3U8Parser.parseMasterPlaylist(string, url);\n if (parsedResult.playlistParsingError) {\n this.handleManifestParsingError(response, context, parsedResult.playlistParsingError, networkDetails, stats);\n return;\n }\n var contentSteering = parsedResult.contentSteering,\n levels = parsedResult.levels,\n sessionData = parsedResult.sessionData,\n sessionKeys = parsedResult.sessionKeys,\n startTimeOffset = parsedResult.startTimeOffset,\n variableList = parsedResult.variableList;\n this.variableList = variableList;\n var _M3U8Parser$parseMast = M3U8Parser.parseMasterPlaylistMedia(string, url, parsedResult),\n _M3U8Parser$parseMast2 = _M3U8Parser$parseMast.AUDIO,\n audioTracks = _M3U8Parser$parseMast2 === void 0 ? [] : _M3U8Parser$parseMast2,\n subtitles = _M3U8Parser$parseMast.SUBTITLES,\n captions = _M3U8Parser$parseMast['CLOSED-CAPTIONS'];\n if (audioTracks.length) {\n // check if we have found an audio track embedded in main playlist (audio track without URI attribute)\n var embeddedAudioFound = audioTracks.some(function (audioTrack) {\n return !audioTrack.url;\n });\n\n // if no embedded audio track defined, but audio codec signaled in quality level,\n // we need to signal this main audio track this could happen with playlists with\n // alt audio rendition in which quality levels (main)\n // contains both audio+video. but with mixed audio track not signaled\n if (!embeddedAudioFound && levels[0].audioCodec && !levels[0].attrs.AUDIO) {\n logger.log('[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one');\n audioTracks.unshift({\n type: 'main',\n name: 'main',\n groupId: 'main',\n default: false,\n autoselect: false,\n forced: false,\n id: -1,\n attrs: new AttrList({}),\n bitrate: 0,\n url: ''\n });\n }\n }\n hls.trigger(Events.MANIFEST_LOADED, {\n levels: levels,\n audioTracks: audioTracks,\n subtitles: subtitles,\n captions: captions,\n contentSteering: contentSteering,\n url: url,\n stats: stats,\n networkDetails: networkDetails,\n sessionData: sessionData,\n sessionKeys: sessionKeys,\n startTimeOffset: startTimeOffset,\n variableList: variableList\n });\n };\n _proto.handleTrackOrLevelPlaylist = function handleTrackOrLevelPlaylist(response, stats, context, networkDetails, loader) {\n var hls = this.hls;\n var id = context.id,\n level = context.level,\n type = context.type;\n var url = getResponseUrl(response, context);\n var levelUrlId = 0;\n var levelId = isFiniteNumber(level) ? level : isFiniteNumber(id) ? id : 0;\n var levelType = mapContextToLevelType(context);\n var levelDetails = M3U8Parser.parseLevelPlaylist(response.data, url, levelId, levelType, levelUrlId, this.variableList);\n\n // We have done our first request (Manifest-type) and receive\n // not a master playlist but a chunk-list (track/level)\n // We fire the manifest-loaded event anyway with the parsed level-details\n // by creating a single-level structure for it.\n if (type === PlaylistContextType.MANIFEST) {\n var singleLevel = {\n attrs: new AttrList({}),\n bitrate: 0,\n details: levelDetails,\n name: '',\n url: url\n };\n hls.trigger(Events.MANIFEST_LOADED, {\n levels: [singleLevel],\n audioTracks: [],\n url: url,\n stats: stats,\n networkDetails: networkDetails,\n sessionData: null,\n sessionKeys: null,\n contentSteering: null,\n startTimeOffset: null,\n variableList: null\n });\n }\n\n // save parsing time\n stats.parsing.end = performance.now();\n\n // extend the context with the new levelDetails property\n context.levelDetails = levelDetails;\n this.handlePlaylistLoaded(levelDetails, response, stats, context, networkDetails, loader);\n };\n _proto.handleManifestParsingError = function handleManifestParsingError(response, context, error, networkDetails, stats) {\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.MANIFEST_PARSING_ERROR,\n fatal: context.type === PlaylistContextType.MANIFEST,\n url: response.url,\n err: error,\n error: error,\n reason: error.message,\n response: response,\n context: context,\n networkDetails: networkDetails,\n stats: stats\n });\n };\n _proto.handleNetworkError = function handleNetworkError(context, networkDetails, timeout, response, stats) {\n if (timeout === void 0) {\n timeout = false;\n }\n var message = \"A network \" + (timeout ? 'timeout' : 'error' + (response ? ' (status ' + response.code + ')' : '')) + \" occurred while loading \" + context.type;\n if (context.type === PlaylistContextType.LEVEL) {\n message += \": \" + context.level + \" id: \" + context.id;\n } else if (context.type === PlaylistContextType.AUDIO_TRACK || context.type === PlaylistContextType.SUBTITLE_TRACK) {\n message += \" id: \" + context.id + \" group-id: \\\"\" + context.groupId + \"\\\"\";\n }\n var error = new Error(message);\n logger.warn(\"[playlist-loader]: \" + message);\n var details = ErrorDetails.UNKNOWN;\n var fatal = false;\n var loader = this.getInternalLoader(context);\n switch (context.type) {\n case PlaylistContextType.MANIFEST:\n details = timeout ? ErrorDetails.MANIFEST_LOAD_TIMEOUT : ErrorDetails.MANIFEST_LOAD_ERROR;\n fatal = true;\n break;\n case PlaylistContextType.LEVEL:\n details = timeout ? ErrorDetails.LEVEL_LOAD_TIMEOUT : ErrorDetails.LEVEL_LOAD_ERROR;\n fatal = false;\n break;\n case PlaylistContextType.AUDIO_TRACK:\n details = timeout ? ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT : ErrorDetails.AUDIO_TRACK_LOAD_ERROR;\n fatal = false;\n break;\n case PlaylistContextType.SUBTITLE_TRACK:\n details = timeout ? ErrorDetails.SUBTITLE_TRACK_LOAD_TIMEOUT : ErrorDetails.SUBTITLE_LOAD_ERROR;\n fatal = false;\n break;\n }\n if (loader) {\n this.resetInternalLoader(context.type);\n }\n var errorData = {\n type: ErrorTypes.NETWORK_ERROR,\n details: details,\n fatal: fatal,\n url: context.url,\n loader: loader,\n context: context,\n error: error,\n networkDetails: networkDetails,\n stats: stats\n };\n if (response) {\n var url = (networkDetails == null ? void 0 : networkDetails.url) || context.url;\n errorData.response = _objectSpread2({\n url: url,\n data: undefined\n }, response);\n }\n this.hls.trigger(Events.ERROR, errorData);\n };\n _proto.handlePlaylistLoaded = function handlePlaylistLoaded(levelDetails, response, stats, context, networkDetails, loader) {\n var hls = this.hls;\n var type = context.type,\n level = context.level,\n id = context.id,\n groupId = context.groupId,\n deliveryDirectives = context.deliveryDirectives;\n var url = getResponseUrl(response, context);\n var parent = mapContextToLevelType(context);\n var levelIndex = typeof context.level === 'number' && parent === PlaylistLevelType.MAIN ? level : undefined;\n if (!levelDetails.fragments.length) {\n var _error = new Error('No Segments found in Playlist');\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.LEVEL_EMPTY_ERROR,\n fatal: false,\n url: url,\n error: _error,\n reason: _error.message,\n response: response,\n context: context,\n level: levelIndex,\n parent: parent,\n networkDetails: networkDetails,\n stats: stats\n });\n return;\n }\n if (!levelDetails.targetduration) {\n levelDetails.playlistParsingError = new Error('Missing Target Duration');\n }\n var error = levelDetails.playlistParsingError;\n if (error) {\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.LEVEL_PARSING_ERROR,\n fatal: false,\n url: url,\n error: error,\n reason: error.message,\n response: response,\n context: context,\n level: levelIndex,\n parent: parent,\n networkDetails: networkDetails,\n stats: stats\n });\n return;\n }\n if (levelDetails.live && loader) {\n if (loader.getCacheAge) {\n levelDetails.ageHeader = loader.getCacheAge() || 0;\n }\n if (!loader.getCacheAge || isNaN(levelDetails.ageHeader)) {\n levelDetails.ageHeader = 0;\n }\n }\n switch (type) {\n case PlaylistContextType.MANIFEST:\n case PlaylistContextType.LEVEL:\n hls.trigger(Events.LEVEL_LOADED, {\n details: levelDetails,\n level: levelIndex || 0,\n id: id || 0,\n stats: stats,\n networkDetails: networkDetails,\n deliveryDirectives: deliveryDirectives\n });\n break;\n case PlaylistContextType.AUDIO_TRACK:\n hls.trigger(Events.AUDIO_TRACK_LOADED, {\n details: levelDetails,\n id: id || 0,\n groupId: groupId || '',\n stats: stats,\n networkDetails: networkDetails,\n deliveryDirectives: deliveryDirectives\n });\n break;\n case PlaylistContextType.SUBTITLE_TRACK:\n hls.trigger(Events.SUBTITLE_TRACK_LOADED, {\n details: levelDetails,\n id: id || 0,\n groupId: groupId || '',\n stats: stats,\n networkDetails: networkDetails,\n deliveryDirectives: deliveryDirectives\n });\n break;\n }\n };\n return PlaylistLoader;\n }();\n\n function sendAddTrackEvent(track, videoEl) {\n var event;\n try {\n event = new Event('addtrack');\n } catch (err) {\n // for IE11\n event = document.createEvent('Event');\n event.initEvent('addtrack', false, false);\n }\n event.track = track;\n videoEl.dispatchEvent(event);\n }\n function addCueToTrack(track, cue) {\n // Sometimes there are cue overlaps on segmented vtts so the same\n // cue can appear more than once in different vtt files.\n // This avoid showing duplicated cues with same timecode and text.\n var mode = track.mode;\n if (mode === 'disabled') {\n track.mode = 'hidden';\n }\n if (track.cues && !track.cues.getCueById(cue.id)) {\n try {\n track.addCue(cue);\n if (!track.cues.getCueById(cue.id)) {\n throw new Error(\"addCue is failed for: \" + cue);\n }\n } catch (err) {\n logger.debug(\"[texttrack-utils]: \" + err);\n try {\n var textTrackCue = new self.TextTrackCue(cue.startTime, cue.endTime, cue.text);\n textTrackCue.id = cue.id;\n track.addCue(textTrackCue);\n } catch (err2) {\n logger.debug(\"[texttrack-utils]: Legacy TextTrackCue fallback failed: \" + err2);\n }\n }\n }\n if (mode === 'disabled') {\n track.mode = mode;\n }\n }\n function clearCurrentCues(track) {\n // When track.mode is disabled, track.cues will be null.\n // To guarantee the removal of cues, we need to temporarily\n // change the mode to hidden\n var mode = track.mode;\n if (mode === 'disabled') {\n track.mode = 'hidden';\n }\n if (track.cues) {\n for (var i = track.cues.length; i--;) {\n track.removeCue(track.cues[i]);\n }\n }\n if (mode === 'disabled') {\n track.mode = mode;\n }\n }\n function removeCuesInRange(track, start, end, predicate) {\n var mode = track.mode;\n if (mode === 'disabled') {\n track.mode = 'hidden';\n }\n if (track.cues && track.cues.length > 0) {\n var cues = getCuesInRange(track.cues, start, end);\n for (var i = 0; i < cues.length; i++) {\n if (!predicate || predicate(cues[i])) {\n track.removeCue(cues[i]);\n }\n }\n }\n if (mode === 'disabled') {\n track.mode = mode;\n }\n }\n\n // Find first cue starting after given time.\n // Modified version of binary search O(log(n)).\n function getFirstCueIndexAfterTime(cues, time) {\n // If first cue starts after time, start there\n if (time < cues[0].startTime) {\n return 0;\n }\n // If the last cue ends before time there is no overlap\n var len = cues.length - 1;\n if (time > cues[len].endTime) {\n return -1;\n }\n var left = 0;\n var right = len;\n while (left <= right) {\n var mid = Math.floor((right + left) / 2);\n if (time < cues[mid].startTime) {\n right = mid - 1;\n } else if (time > cues[mid].startTime && left < len) {\n left = mid + 1;\n } else {\n // If it's not lower or higher, it must be equal.\n return mid;\n }\n }\n // At this point, left and right have swapped.\n // No direct match was found, left or right element must be the closest. Check which one has the smallest diff.\n return cues[left].startTime - time < time - cues[right].startTime ? left : right;\n }\n function getCuesInRange(cues, start, end) {\n var cuesFound = [];\n var firstCueInRange = getFirstCueIndexAfterTime(cues, start);\n if (firstCueInRange > -1) {\n for (var i = firstCueInRange, len = cues.length; i < len; i++) {\n var _cue = cues[i];\n if (_cue.startTime >= start && _cue.endTime <= end) {\n cuesFound.push(_cue);\n } else if (_cue.startTime > end) {\n return cuesFound;\n }\n }\n }\n return cuesFound;\n }\n function filterSubtitleTracks(textTrackList) {\n var tracks = [];\n for (var i = 0; i < textTrackList.length; i++) {\n var track = textTrackList[i];\n // Edge adds a track without a label; we don't want to use it\n if ((track.kind === 'subtitles' || track.kind === 'captions') && track.label) {\n tracks.push(textTrackList[i]);\n }\n }\n return tracks;\n }\n\n var MetadataSchema = {\n audioId3: \"org.id3\",\n dateRange: \"com.apple.quicktime.HLS\",\n emsg: \"https://aomedia.org/emsg/ID3\"\n };\n\n var MIN_CUE_DURATION = 0.25;\n function getCueClass() {\n if (typeof self === 'undefined') return undefined;\n return self.VTTCue || self.TextTrackCue;\n }\n function createCueWithDataFields(Cue, startTime, endTime, data, type) {\n var cue = new Cue(startTime, endTime, '');\n try {\n cue.value = data;\n if (type) {\n cue.type = type;\n }\n } catch (e) {\n cue = new Cue(startTime, endTime, JSON.stringify(type ? _objectSpread2({\n type: type\n }, data) : data));\n }\n return cue;\n }\n\n // VTTCue latest draft allows an infinite duration, fallback\n // to MAX_VALUE if necessary\n var MAX_CUE_ENDTIME = function () {\n var Cue = getCueClass();\n try {\n Cue && new Cue(0, Number.POSITIVE_INFINITY, '');\n } catch (e) {\n return Number.MAX_VALUE;\n }\n return Number.POSITIVE_INFINITY;\n }();\n function dateRangeDateToTimelineSeconds(date, offset) {\n return date.getTime() / 1000 - offset;\n }\n function hexToArrayBuffer(str) {\n return Uint8Array.from(str.replace(/^0x/, '').replace(/([\\da-fA-F]{2}) ?/g, '0x$1 ').replace(/ +$/, '').split(' ')).buffer;\n }\n var ID3TrackController = /*#__PURE__*/function () {\n function ID3TrackController(hls) {\n this.hls = void 0;\n this.id3Track = null;\n this.media = null;\n this.dateRangeCuesAppended = {};\n this.hls = hls;\n this._registerListeners();\n }\n var _proto = ID3TrackController.prototype;\n _proto.destroy = function destroy() {\n this._unregisterListeners();\n this.id3Track = null;\n this.media = null;\n this.dateRangeCuesAppended = {};\n // @ts-ignore\n this.hls = null;\n };\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.FRAG_PARSING_METADATA, this.onFragParsingMetadata, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.FRAG_PARSING_METADATA, this.onFragParsingMetadata, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n }\n\n // Add ID3 metatadata text track.\n ;\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n this.media = data.media;\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n if (!this.id3Track) {\n return;\n }\n clearCurrentCues(this.id3Track);\n this.id3Track = null;\n this.media = null;\n this.dateRangeCuesAppended = {};\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.dateRangeCuesAppended = {};\n };\n _proto.createTrack = function createTrack(media) {\n var track = this.getID3Track(media.textTracks);\n track.mode = 'hidden';\n return track;\n };\n _proto.getID3Track = function getID3Track(textTracks) {\n if (!this.media) {\n return;\n }\n for (var i = 0; i < textTracks.length; i++) {\n var textTrack = textTracks[i];\n if (textTrack.kind === 'metadata' && textTrack.label === 'id3') {\n // send 'addtrack' when reusing the textTrack for metadata,\n // same as what we do for captions\n sendAddTrackEvent(textTrack, this.media);\n return textTrack;\n }\n }\n return this.media.addTextTrack('metadata', 'id3');\n };\n _proto.onFragParsingMetadata = function onFragParsingMetadata(event, data) {\n if (!this.media) {\n return;\n }\n var _this$hls$config = this.hls.config,\n enableEmsgMetadataCues = _this$hls$config.enableEmsgMetadataCues,\n enableID3MetadataCues = _this$hls$config.enableID3MetadataCues;\n if (!enableEmsgMetadataCues && !enableID3MetadataCues) {\n return;\n }\n var samples = data.samples;\n\n // create track dynamically\n if (!this.id3Track) {\n this.id3Track = this.createTrack(this.media);\n }\n var Cue = getCueClass();\n if (!Cue) {\n return;\n }\n for (var i = 0; i < samples.length; i++) {\n var type = samples[i].type;\n if (type === MetadataSchema.emsg && !enableEmsgMetadataCues || !enableID3MetadataCues) {\n continue;\n }\n var frames = getID3Frames(samples[i].data);\n if (frames) {\n var startTime = samples[i].pts;\n var endTime = startTime + samples[i].duration;\n if (endTime > MAX_CUE_ENDTIME) {\n endTime = MAX_CUE_ENDTIME;\n }\n var timeDiff = endTime - startTime;\n if (timeDiff <= 0) {\n endTime = startTime + MIN_CUE_DURATION;\n }\n for (var j = 0; j < frames.length; j++) {\n var frame = frames[j];\n // Safari doesn't put the timestamp frame in the TextTrack\n if (!isTimeStampFrame(frame)) {\n // add a bounds to any unbounded cues\n this.updateId3CueEnds(startTime, type);\n var cue = createCueWithDataFields(Cue, startTime, endTime, frame, type);\n if (cue) {\n this.id3Track.addCue(cue);\n }\n }\n }\n }\n }\n };\n _proto.updateId3CueEnds = function updateId3CueEnds(startTime, type) {\n var _this$id3Track;\n var cues = (_this$id3Track = this.id3Track) == null ? void 0 : _this$id3Track.cues;\n if (cues) {\n for (var i = cues.length; i--;) {\n var cue = cues[i];\n if (cue.type === type && cue.startTime < startTime && cue.endTime === MAX_CUE_ENDTIME) {\n cue.endTime = startTime;\n }\n }\n }\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, _ref) {\n var startOffset = _ref.startOffset,\n endOffset = _ref.endOffset,\n type = _ref.type;\n var id3Track = this.id3Track,\n hls = this.hls;\n if (!hls) {\n return;\n }\n var _hls$config = hls.config,\n enableEmsgMetadataCues = _hls$config.enableEmsgMetadataCues,\n enableID3MetadataCues = _hls$config.enableID3MetadataCues;\n if (id3Track && (enableEmsgMetadataCues || enableID3MetadataCues)) {\n var predicate;\n if (type === 'audio') {\n predicate = function predicate(cue) {\n return cue.type === MetadataSchema.audioId3 && enableID3MetadataCues;\n };\n } else if (type === 'video') {\n predicate = function predicate(cue) {\n return cue.type === MetadataSchema.emsg && enableEmsgMetadataCues;\n };\n } else {\n predicate = function predicate(cue) {\n return cue.type === MetadataSchema.audioId3 && enableID3MetadataCues || cue.type === MetadataSchema.emsg && enableEmsgMetadataCues;\n };\n }\n removeCuesInRange(id3Track, startOffset, endOffset, predicate);\n }\n };\n _proto.onLevelUpdated = function onLevelUpdated(event, _ref2) {\n var _this = this;\n var details = _ref2.details;\n if (!this.media || !details.hasProgramDateTime || !this.hls.config.enableDateRangeMetadataCues) {\n return;\n }\n var dateRangeCuesAppended = this.dateRangeCuesAppended,\n id3Track = this.id3Track;\n var dateRanges = details.dateRanges;\n var ids = Object.keys(dateRanges);\n // Remove cues from track not found in details.dateRanges\n if (id3Track) {\n var idsToRemove = Object.keys(dateRangeCuesAppended).filter(function (id) {\n return !ids.includes(id);\n });\n var _loop = function _loop() {\n var id = idsToRemove[i];\n Object.keys(dateRangeCuesAppended[id].cues).forEach(function (key) {\n id3Track.removeCue(dateRangeCuesAppended[id].cues[key]);\n });\n delete dateRangeCuesAppended[id];\n };\n for (var i = idsToRemove.length; i--;) {\n _loop();\n }\n }\n // Exit if the playlist does not have Date Ranges or does not have Program Date Time\n var lastFragment = details.fragments[details.fragments.length - 1];\n if (ids.length === 0 || !isFiniteNumber(lastFragment == null ? void 0 : lastFragment.programDateTime)) {\n return;\n }\n if (!this.id3Track) {\n this.id3Track = this.createTrack(this.media);\n }\n var dateTimeOffset = lastFragment.programDateTime / 1000 - lastFragment.start;\n var Cue = getCueClass();\n var _loop2 = function _loop2() {\n var id = ids[_i];\n var dateRange = dateRanges[id];\n var startTime = dateRangeDateToTimelineSeconds(dateRange.startDate, dateTimeOffset);\n\n // Process DateRanges to determine end-time (known DURATION, END-DATE, or END-ON-NEXT)\n var appendedDateRangeCues = dateRangeCuesAppended[id];\n var cues = (appendedDateRangeCues == null ? void 0 : appendedDateRangeCues.cues) || {};\n var durationKnown = (appendedDateRangeCues == null ? void 0 : appendedDateRangeCues.durationKnown) || false;\n var endTime = MAX_CUE_ENDTIME;\n var endDate = dateRange.endDate;\n if (endDate) {\n endTime = dateRangeDateToTimelineSeconds(endDate, dateTimeOffset);\n durationKnown = true;\n } else if (dateRange.endOnNext && !durationKnown) {\n var nextDateRangeWithSameClass = ids.reduce(function (candidateDateRange, id) {\n if (id !== dateRange.id) {\n var otherDateRange = dateRanges[id];\n if (otherDateRange.class === dateRange.class && otherDateRange.startDate > dateRange.startDate && (!candidateDateRange || dateRange.startDate < candidateDateRange.startDate)) {\n return otherDateRange;\n }\n }\n return candidateDateRange;\n }, null);\n if (nextDateRangeWithSameClass) {\n endTime = dateRangeDateToTimelineSeconds(nextDateRangeWithSameClass.startDate, dateTimeOffset);\n durationKnown = true;\n }\n }\n\n // Create TextTrack Cues for each MetadataGroup Item (select DateRange attribute)\n // This is to emulate Safari HLS playback handling of DateRange tags\n var attributes = Object.keys(dateRange.attr);\n for (var j = 0; j < attributes.length; j++) {\n var key = attributes[j];\n if (!isDateRangeCueAttribute(key)) {\n continue;\n }\n var cue = cues[key];\n if (cue) {\n if (durationKnown && !appendedDateRangeCues.durationKnown) {\n cue.endTime = endTime;\n }\n } else if (Cue) {\n var data = dateRange.attr[key];\n if (isSCTE35Attribute(key)) {\n data = hexToArrayBuffer(data);\n }\n var _cue = createCueWithDataFields(Cue, startTime, endTime, {\n key: key,\n data: data\n }, MetadataSchema.dateRange);\n if (_cue) {\n _cue.id = id;\n _this.id3Track.addCue(_cue);\n cues[key] = _cue;\n }\n }\n }\n\n // Keep track of processed DateRanges by ID for updating cues with new DateRange tag attributes\n dateRangeCuesAppended[id] = {\n cues: cues,\n dateRange: dateRange,\n durationKnown: durationKnown\n };\n };\n for (var _i = 0; _i < ids.length; _i++) {\n _loop2();\n }\n };\n return ID3TrackController;\n }();\n\n var LatencyController = /*#__PURE__*/function () {\n function LatencyController(hls) {\n var _this = this;\n this.hls = void 0;\n this.config = void 0;\n this.media = null;\n this.levelDetails = null;\n this.currentTime = 0;\n this.stallCount = 0;\n this._latency = null;\n this.timeupdateHandler = function () {\n return _this.timeupdate();\n };\n this.hls = hls;\n this.config = hls.config;\n this.registerListeners();\n }\n var _proto = LatencyController.prototype;\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.onMediaDetaching();\n this.levelDetails = null;\n // @ts-ignore\n this.hls = this.timeupdateHandler = null;\n };\n _proto.registerListeners = function registerListeners() {\n this.hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n this.hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n this.hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n this.hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n this.hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n this.hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n this.hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n this.hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n this.hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n this.hls.off(Events.ERROR, this.onError, this);\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n this.media = data.media;\n this.media.addEventListener('timeupdate', this.timeupdateHandler);\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n if (this.media) {\n this.media.removeEventListener('timeupdate', this.timeupdateHandler);\n this.media = null;\n }\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.levelDetails = null;\n this._latency = null;\n this.stallCount = 0;\n };\n _proto.onLevelUpdated = function onLevelUpdated(event, _ref) {\n var details = _ref.details;\n this.levelDetails = details;\n if (details.advanced) {\n this.timeupdate();\n }\n if (!details.live && this.media) {\n this.media.removeEventListener('timeupdate', this.timeupdateHandler);\n }\n };\n _proto.onError = function onError(event, data) {\n var _this$levelDetails;\n if (data.details !== ErrorDetails.BUFFER_STALLED_ERROR) {\n return;\n }\n this.stallCount++;\n if ((_this$levelDetails = this.levelDetails) != null && _this$levelDetails.live) {\n logger.warn('[playback-rate-controller]: Stall detected, adjusting target latency');\n }\n };\n _proto.timeupdate = function timeupdate() {\n var media = this.media,\n levelDetails = this.levelDetails;\n if (!media || !levelDetails) {\n return;\n }\n this.currentTime = media.currentTime;\n var latency = this.computeLatency();\n if (latency === null) {\n return;\n }\n this._latency = latency;\n\n // Adapt playbackRate to meet target latency in low-latency mode\n var _this$config = this.config,\n lowLatencyMode = _this$config.lowLatencyMode,\n maxLiveSyncPlaybackRate = _this$config.maxLiveSyncPlaybackRate;\n if (!lowLatencyMode || maxLiveSyncPlaybackRate === 1 || !levelDetails.live) {\n return;\n }\n var targetLatency = this.targetLatency;\n if (targetLatency === null) {\n return;\n }\n var distanceFromTarget = latency - targetLatency;\n // Only adjust playbackRate when within one target duration of targetLatency\n // and more than one second from under-buffering.\n // Playback further than one target duration from target can be considered DVR playback.\n var liveMinLatencyDuration = Math.min(this.maxLatency, targetLatency + levelDetails.targetduration);\n var inLiveRange = distanceFromTarget < liveMinLatencyDuration;\n if (inLiveRange && distanceFromTarget > 0.05 && this.forwardBufferLength > 1) {\n var max = Math.min(2, Math.max(1.0, maxLiveSyncPlaybackRate));\n var rate = Math.round(2 / (1 + Math.exp(-0.75 * distanceFromTarget - this.edgeStalled)) * 20) / 20;\n media.playbackRate = Math.min(max, Math.max(1, rate));\n } else if (media.playbackRate !== 1 && media.playbackRate !== 0) {\n media.playbackRate = 1;\n }\n };\n _proto.estimateLiveEdge = function estimateLiveEdge() {\n var levelDetails = this.levelDetails;\n if (levelDetails === null) {\n return null;\n }\n return levelDetails.edge + levelDetails.age;\n };\n _proto.computeLatency = function computeLatency() {\n var liveEdge = this.estimateLiveEdge();\n if (liveEdge === null) {\n return null;\n }\n return liveEdge - this.currentTime;\n };\n _createClass(LatencyController, [{\n key: \"latency\",\n get: function get() {\n return this._latency || 0;\n }\n }, {\n key: \"maxLatency\",\n get: function get() {\n var config = this.config,\n levelDetails = this.levelDetails;\n if (config.liveMaxLatencyDuration !== undefined) {\n return config.liveMaxLatencyDuration;\n }\n return levelDetails ? config.liveMaxLatencyDurationCount * levelDetails.targetduration : 0;\n }\n }, {\n key: \"targetLatency\",\n get: function get() {\n var levelDetails = this.levelDetails;\n if (levelDetails === null) {\n return null;\n }\n var holdBack = levelDetails.holdBack,\n partHoldBack = levelDetails.partHoldBack,\n targetduration = levelDetails.targetduration;\n var _this$config2 = this.config,\n liveSyncDuration = _this$config2.liveSyncDuration,\n liveSyncDurationCount = _this$config2.liveSyncDurationCount,\n lowLatencyMode = _this$config2.lowLatencyMode;\n var userConfig = this.hls.userConfig;\n var targetLatency = lowLatencyMode ? partHoldBack || holdBack : holdBack;\n if (userConfig.liveSyncDuration || userConfig.liveSyncDurationCount || targetLatency === 0) {\n targetLatency = liveSyncDuration !== undefined ? liveSyncDuration : liveSyncDurationCount * targetduration;\n }\n var maxLiveSyncOnStallIncrease = targetduration;\n var liveSyncOnStallIncrease = 1.0;\n return targetLatency + Math.min(this.stallCount * liveSyncOnStallIncrease, maxLiveSyncOnStallIncrease);\n }\n }, {\n key: \"liveSyncPosition\",\n get: function get() {\n var liveEdge = this.estimateLiveEdge();\n var targetLatency = this.targetLatency;\n var levelDetails = this.levelDetails;\n if (liveEdge === null || targetLatency === null || levelDetails === null) {\n return null;\n }\n var edge = levelDetails.edge;\n var syncPosition = liveEdge - targetLatency - this.edgeStalled;\n var min = edge - levelDetails.totalduration;\n var max = edge - (this.config.lowLatencyMode && levelDetails.partTarget || levelDetails.targetduration);\n return Math.min(Math.max(min, syncPosition), max);\n }\n }, {\n key: \"drift\",\n get: function get() {\n var levelDetails = this.levelDetails;\n if (levelDetails === null) {\n return 1;\n }\n return levelDetails.drift;\n }\n }, {\n key: \"edgeStalled\",\n get: function get() {\n var levelDetails = this.levelDetails;\n if (levelDetails === null) {\n return 0;\n }\n var maxLevelUpdateAge = (this.config.lowLatencyMode && levelDetails.partTarget || levelDetails.targetduration) * 3;\n return Math.max(levelDetails.age - maxLevelUpdateAge, 0);\n }\n }, {\n key: \"forwardBufferLength\",\n get: function get() {\n var media = this.media,\n levelDetails = this.levelDetails;\n if (!media || !levelDetails) {\n return 0;\n }\n var bufferedRanges = media.buffered.length;\n return (bufferedRanges ? media.buffered.end(bufferedRanges - 1) : levelDetails.edge) - this.currentTime;\n }\n }]);\n return LatencyController;\n }();\n\n var HdcpLevels = ['NONE', 'TYPE-0', 'TYPE-1', null];\n function isHdcpLevel(value) {\n return HdcpLevels.indexOf(value) > -1;\n }\n var VideoRangeValues = ['SDR', 'PQ', 'HLG'];\n function isVideoRange(value) {\n return !!value && VideoRangeValues.indexOf(value) > -1;\n }\n var HlsSkip = {\n No: \"\",\n Yes: \"YES\",\n v2: \"v2\"\n };\n function getSkipValue(details, msn) {\n var canSkipUntil = details.canSkipUntil,\n canSkipDateRanges = details.canSkipDateRanges,\n endSN = details.endSN;\n var snChangeGoal = msn !== undefined ? msn - endSN : 0;\n if (canSkipUntil && snChangeGoal < canSkipUntil) {\n if (canSkipDateRanges) {\n return HlsSkip.v2;\n }\n return HlsSkip.Yes;\n }\n return HlsSkip.No;\n }\n var HlsUrlParameters = /*#__PURE__*/function () {\n function HlsUrlParameters(msn, part, skip) {\n this.msn = void 0;\n this.part = void 0;\n this.skip = void 0;\n this.msn = msn;\n this.part = part;\n this.skip = skip;\n }\n var _proto = HlsUrlParameters.prototype;\n _proto.addDirectives = function addDirectives(uri) {\n var url = new self.URL(uri);\n if (this.msn !== undefined) {\n url.searchParams.set('_HLS_msn', this.msn.toString());\n }\n if (this.part !== undefined) {\n url.searchParams.set('_HLS_part', this.part.toString());\n }\n if (this.skip) {\n url.searchParams.set('_HLS_skip', this.skip);\n }\n return url.href;\n };\n return HlsUrlParameters;\n }();\n var Level = /*#__PURE__*/function () {\n function Level(data) {\n this._attrs = void 0;\n this.audioCodec = void 0;\n this.bitrate = void 0;\n this.codecSet = void 0;\n this.url = void 0;\n this.frameRate = void 0;\n this.height = void 0;\n this.id = void 0;\n this.name = void 0;\n this.videoCodec = void 0;\n this.width = void 0;\n this.details = void 0;\n this.fragmentError = 0;\n this.loadError = 0;\n this.loaded = void 0;\n this.realBitrate = 0;\n this.supportedPromise = void 0;\n this.supportedResult = void 0;\n this._avgBitrate = 0;\n this._audioGroups = void 0;\n this._subtitleGroups = void 0;\n // Deprecated (retained for backwards compatibility)\n this._urlId = 0;\n this.url = [data.url];\n this._attrs = [data.attrs];\n this.bitrate = data.bitrate;\n if (data.details) {\n this.details = data.details;\n }\n this.id = data.id || 0;\n this.name = data.name;\n this.width = data.width || 0;\n this.height = data.height || 0;\n this.frameRate = data.attrs.optionalFloat('FRAME-RATE', 0);\n this._avgBitrate = data.attrs.decimalInteger('AVERAGE-BANDWIDTH');\n this.audioCodec = data.audioCodec;\n this.videoCodec = data.videoCodec;\n this.codecSet = [data.videoCodec, data.audioCodec].filter(function (c) {\n return !!c;\n }).map(function (s) {\n return s.substring(0, 4);\n }).join(',');\n this.addGroupId('audio', data.attrs.AUDIO);\n this.addGroupId('text', data.attrs.SUBTITLES);\n }\n var _proto2 = Level.prototype;\n _proto2.hasAudioGroup = function hasAudioGroup(groupId) {\n return hasGroup(this._audioGroups, groupId);\n };\n _proto2.hasSubtitleGroup = function hasSubtitleGroup(groupId) {\n return hasGroup(this._subtitleGroups, groupId);\n };\n _proto2.addGroupId = function addGroupId(type, groupId) {\n if (!groupId) {\n return;\n }\n if (type === 'audio') {\n var audioGroups = this._audioGroups;\n if (!audioGroups) {\n audioGroups = this._audioGroups = [];\n }\n if (audioGroups.indexOf(groupId) === -1) {\n audioGroups.push(groupId);\n }\n } else if (type === 'text') {\n var subtitleGroups = this._subtitleGroups;\n if (!subtitleGroups) {\n subtitleGroups = this._subtitleGroups = [];\n }\n if (subtitleGroups.indexOf(groupId) === -1) {\n subtitleGroups.push(groupId);\n }\n }\n }\n\n // Deprecated methods (retained for backwards compatibility)\n ;\n _proto2.addFallback = function addFallback() {};\n _createClass(Level, [{\n key: \"maxBitrate\",\n get: function get() {\n return Math.max(this.realBitrate, this.bitrate);\n }\n }, {\n key: \"averageBitrate\",\n get: function get() {\n return this._avgBitrate || this.realBitrate || this.bitrate;\n }\n }, {\n key: \"attrs\",\n get: function get() {\n return this._attrs[0];\n }\n }, {\n key: \"codecs\",\n get: function get() {\n return this.attrs.CODECS || '';\n }\n }, {\n key: \"pathwayId\",\n get: function get() {\n return this.attrs['PATHWAY-ID'] || '.';\n }\n }, {\n key: \"videoRange\",\n get: function get() {\n return this.attrs['VIDEO-RANGE'] || 'SDR';\n }\n }, {\n key: \"score\",\n get: function get() {\n return this.attrs.optionalFloat('SCORE', 0);\n }\n }, {\n key: \"uri\",\n get: function get() {\n return this.url[0] || '';\n }\n }, {\n key: \"audioGroups\",\n get: function get() {\n return this._audioGroups;\n }\n }, {\n key: \"subtitleGroups\",\n get: function get() {\n return this._subtitleGroups;\n }\n }, {\n key: \"urlId\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }, {\n key: \"audioGroupIds\",\n get: function get() {\n return this.audioGroups ? [this.audioGroupId] : undefined;\n }\n }, {\n key: \"textGroupIds\",\n get: function get() {\n return this.subtitleGroups ? [this.textGroupId] : undefined;\n }\n }, {\n key: \"audioGroupId\",\n get: function get() {\n var _this$audioGroups;\n return (_this$audioGroups = this.audioGroups) == null ? void 0 : _this$audioGroups[0];\n }\n }, {\n key: \"textGroupId\",\n get: function get() {\n var _this$subtitleGroups;\n return (_this$subtitleGroups = this.subtitleGroups) == null ? void 0 : _this$subtitleGroups[0];\n }\n }]);\n return Level;\n }();\n function hasGroup(groups, groupId) {\n if (!groupId || !groups) {\n return false;\n }\n return groups.indexOf(groupId) !== -1;\n }\n\n function updateFromToPTS(fragFrom, fragTo) {\n var fragToPTS = fragTo.startPTS;\n // if we know startPTS[toIdx]\n if (isFiniteNumber(fragToPTS)) {\n // update fragment duration.\n // it helps to fix drifts between playlist reported duration and fragment real duration\n var duration = 0;\n var frag;\n if (fragTo.sn > fragFrom.sn) {\n duration = fragToPTS - fragFrom.start;\n frag = fragFrom;\n } else {\n duration = fragFrom.start - fragToPTS;\n frag = fragTo;\n }\n if (frag.duration !== duration) {\n frag.duration = duration;\n }\n // we dont know startPTS[toIdx]\n } else if (fragTo.sn > fragFrom.sn) {\n var contiguous = fragFrom.cc === fragTo.cc;\n // TODO: With part-loading end/durations we need to confirm the whole fragment is loaded before using (or setting) minEndPTS\n if (contiguous && fragFrom.minEndPTS) {\n fragTo.start = fragFrom.start + (fragFrom.minEndPTS - fragFrom.start);\n } else {\n fragTo.start = fragFrom.start + fragFrom.duration;\n }\n } else {\n fragTo.start = Math.max(fragFrom.start - fragTo.duration, 0);\n }\n }\n function updateFragPTSDTS(details, frag, startPTS, endPTS, startDTS, endDTS) {\n var parsedMediaDuration = endPTS - startPTS;\n if (parsedMediaDuration <= 0) {\n logger.warn('Fragment should have a positive duration', frag);\n endPTS = startPTS + frag.duration;\n endDTS = startDTS + frag.duration;\n }\n var maxStartPTS = startPTS;\n var minEndPTS = endPTS;\n var fragStartPts = frag.startPTS;\n var fragEndPts = frag.endPTS;\n if (isFiniteNumber(fragStartPts)) {\n // delta PTS between audio and video\n var deltaPTS = Math.abs(fragStartPts - startPTS);\n if (!isFiniteNumber(frag.deltaPTS)) {\n frag.deltaPTS = deltaPTS;\n } else {\n frag.deltaPTS = Math.max(deltaPTS, frag.deltaPTS);\n }\n maxStartPTS = Math.max(startPTS, fragStartPts);\n startPTS = Math.min(startPTS, fragStartPts);\n startDTS = Math.min(startDTS, frag.startDTS);\n minEndPTS = Math.min(endPTS, fragEndPts);\n endPTS = Math.max(endPTS, fragEndPts);\n endDTS = Math.max(endDTS, frag.endDTS);\n }\n var drift = startPTS - frag.start;\n if (frag.start !== 0) {\n frag.start = startPTS;\n }\n frag.duration = endPTS - frag.start;\n frag.startPTS = startPTS;\n frag.maxStartPTS = maxStartPTS;\n frag.startDTS = startDTS;\n frag.endPTS = endPTS;\n frag.minEndPTS = minEndPTS;\n frag.endDTS = endDTS;\n var sn = frag.sn; // 'initSegment'\n // exit if sn out of range\n if (!details || sn < details.startSN || sn > details.endSN) {\n return 0;\n }\n var i;\n var fragIdx = sn - details.startSN;\n var fragments = details.fragments;\n // update frag reference in fragments array\n // rationale is that fragments array might not contain this frag object.\n // this will happen if playlist has been refreshed between frag loading and call to updateFragPTSDTS()\n // if we don't update frag, we won't be able to propagate PTS info on the playlist\n // resulting in invalid sliding computation\n fragments[fragIdx] = frag;\n // adjust fragment PTS/duration from seqnum-1 to frag 0\n for (i = fragIdx; i > 0; i--) {\n updateFromToPTS(fragments[i], fragments[i - 1]);\n }\n\n // adjust fragment PTS/duration from seqnum to last frag\n for (i = fragIdx; i < fragments.length - 1; i++) {\n updateFromToPTS(fragments[i], fragments[i + 1]);\n }\n if (details.fragmentHint) {\n updateFromToPTS(fragments[fragments.length - 1], details.fragmentHint);\n }\n details.PTSKnown = details.alignedSliding = true;\n return drift;\n }\n function mergeDetails(oldDetails, newDetails) {\n // Track the last initSegment processed. Initialize it to the last one on the timeline.\n var currentInitSegment = null;\n var oldFragments = oldDetails.fragments;\n for (var i = oldFragments.length - 1; i >= 0; i--) {\n var oldInit = oldFragments[i].initSegment;\n if (oldInit) {\n currentInitSegment = oldInit;\n break;\n }\n }\n if (oldDetails.fragmentHint) {\n // prevent PTS and duration from being adjusted on the next hint\n delete oldDetails.fragmentHint.endPTS;\n }\n // check if old/new playlists have fragments in common\n // loop through overlapping SN and update startPTS , cc, and duration if any found\n var ccOffset = 0;\n var PTSFrag;\n mapFragmentIntersection(oldDetails, newDetails, function (oldFrag, newFrag) {\n if (oldFrag.relurl) {\n // Do not compare CC if the old fragment has no url. This is a level.fragmentHint used by LL-HLS parts.\n // It maybe be off by 1 if it was created before any parts or discontinuity tags were appended to the end\n // of the playlist.\n ccOffset = oldFrag.cc - newFrag.cc;\n }\n if (isFiniteNumber(oldFrag.startPTS) && isFiniteNumber(oldFrag.endPTS)) {\n newFrag.start = newFrag.startPTS = oldFrag.startPTS;\n newFrag.startDTS = oldFrag.startDTS;\n newFrag.maxStartPTS = oldFrag.maxStartPTS;\n newFrag.endPTS = oldFrag.endPTS;\n newFrag.endDTS = oldFrag.endDTS;\n newFrag.minEndPTS = oldFrag.minEndPTS;\n newFrag.duration = oldFrag.endPTS - oldFrag.startPTS;\n if (newFrag.duration) {\n PTSFrag = newFrag;\n }\n\n // PTS is known when any segment has startPTS and endPTS\n newDetails.PTSKnown = newDetails.alignedSliding = true;\n }\n newFrag.elementaryStreams = oldFrag.elementaryStreams;\n newFrag.loader = oldFrag.loader;\n newFrag.stats = oldFrag.stats;\n if (oldFrag.initSegment) {\n newFrag.initSegment = oldFrag.initSegment;\n currentInitSegment = oldFrag.initSegment;\n }\n });\n if (currentInitSegment) {\n var fragmentsToCheck = newDetails.fragmentHint ? newDetails.fragments.concat(newDetails.fragmentHint) : newDetails.fragments;\n fragmentsToCheck.forEach(function (frag) {\n var _currentInitSegment;\n if (frag && (!frag.initSegment || frag.initSegment.relurl === ((_currentInitSegment = currentInitSegment) == null ? void 0 : _currentInitSegment.relurl))) {\n frag.initSegment = currentInitSegment;\n }\n });\n }\n if (newDetails.skippedSegments) {\n newDetails.deltaUpdateFailed = newDetails.fragments.some(function (frag) {\n return !frag;\n });\n if (newDetails.deltaUpdateFailed) {\n logger.warn('[level-helper] Previous playlist missing segments skipped in delta playlist');\n for (var _i = newDetails.skippedSegments; _i--;) {\n newDetails.fragments.shift();\n }\n newDetails.startSN = newDetails.fragments[0].sn;\n newDetails.startCC = newDetails.fragments[0].cc;\n } else if (newDetails.canSkipDateRanges) {\n newDetails.dateRanges = mergeDateRanges(oldDetails.dateRanges, newDetails.dateRanges, newDetails.recentlyRemovedDateranges);\n }\n }\n var newFragments = newDetails.fragments;\n if (ccOffset) {\n logger.warn('discontinuity sliding from playlist, take drift into account');\n for (var _i2 = 0; _i2 < newFragments.length; _i2++) {\n newFragments[_i2].cc += ccOffset;\n }\n }\n if (newDetails.skippedSegments) {\n newDetails.startCC = newDetails.fragments[0].cc;\n }\n\n // Merge parts\n mapPartIntersection(oldDetails.partList, newDetails.partList, function (oldPart, newPart) {\n newPart.elementaryStreams = oldPart.elementaryStreams;\n newPart.stats = oldPart.stats;\n });\n\n // if at least one fragment contains PTS info, recompute PTS information for all fragments\n if (PTSFrag) {\n updateFragPTSDTS(newDetails, PTSFrag, PTSFrag.startPTS, PTSFrag.endPTS, PTSFrag.startDTS, PTSFrag.endDTS);\n } else {\n // ensure that delta is within oldFragments range\n // also adjust sliding in case delta is 0 (we could have old=[50-60] and new=old=[50-61])\n // in that case we also need to adjust start offset of all fragments\n adjustSliding(oldDetails, newDetails);\n }\n if (newFragments.length) {\n newDetails.totalduration = newDetails.edge - newFragments[0].start;\n }\n newDetails.driftStartTime = oldDetails.driftStartTime;\n newDetails.driftStart = oldDetails.driftStart;\n var advancedDateTime = newDetails.advancedDateTime;\n if (newDetails.advanced && advancedDateTime) {\n var edge = newDetails.edge;\n if (!newDetails.driftStart) {\n newDetails.driftStartTime = advancedDateTime;\n newDetails.driftStart = edge;\n }\n newDetails.driftEndTime = advancedDateTime;\n newDetails.driftEnd = edge;\n } else {\n newDetails.driftEndTime = oldDetails.driftEndTime;\n newDetails.driftEnd = oldDetails.driftEnd;\n newDetails.advancedDateTime = oldDetails.advancedDateTime;\n }\n }\n function mergeDateRanges(oldDateRanges, deltaDateRanges, recentlyRemovedDateranges) {\n var dateRanges = _extends({}, oldDateRanges);\n if (recentlyRemovedDateranges) {\n recentlyRemovedDateranges.forEach(function (id) {\n delete dateRanges[id];\n });\n }\n Object.keys(deltaDateRanges).forEach(function (id) {\n var dateRange = new DateRange(deltaDateRanges[id].attr, dateRanges[id]);\n if (dateRange.isValid) {\n dateRanges[id] = dateRange;\n } else {\n logger.warn(\"Ignoring invalid Playlist Delta Update DATERANGE tag: \\\"\" + JSON.stringify(deltaDateRanges[id].attr) + \"\\\"\");\n }\n });\n return dateRanges;\n }\n function mapPartIntersection(oldParts, newParts, intersectionFn) {\n if (oldParts && newParts) {\n var delta = 0;\n for (var i = 0, len = oldParts.length; i <= len; i++) {\n var _oldPart = oldParts[i];\n var _newPart = newParts[i + delta];\n if (_oldPart && _newPart && _oldPart.index === _newPart.index && _oldPart.fragment.sn === _newPart.fragment.sn) {\n intersectionFn(_oldPart, _newPart);\n } else {\n delta--;\n }\n }\n }\n }\n function mapFragmentIntersection(oldDetails, newDetails, intersectionFn) {\n var skippedSegments = newDetails.skippedSegments;\n var start = Math.max(oldDetails.startSN, newDetails.startSN) - newDetails.startSN;\n var end = (oldDetails.fragmentHint ? 1 : 0) + (skippedSegments ? newDetails.endSN : Math.min(oldDetails.endSN, newDetails.endSN)) - newDetails.startSN;\n var delta = newDetails.startSN - oldDetails.startSN;\n var newFrags = newDetails.fragmentHint ? newDetails.fragments.concat(newDetails.fragmentHint) : newDetails.fragments;\n var oldFrags = oldDetails.fragmentHint ? oldDetails.fragments.concat(oldDetails.fragmentHint) : oldDetails.fragments;\n for (var i = start; i <= end; i++) {\n var _oldFrag = oldFrags[delta + i];\n var _newFrag = newFrags[i];\n if (skippedSegments && !_newFrag && i < skippedSegments) {\n // Fill in skipped segments in delta playlist\n _newFrag = newDetails.fragments[i] = _oldFrag;\n }\n if (_oldFrag && _newFrag) {\n intersectionFn(_oldFrag, _newFrag);\n }\n }\n }\n function adjustSliding(oldDetails, newDetails) {\n var delta = newDetails.startSN + newDetails.skippedSegments - oldDetails.startSN;\n var oldFragments = oldDetails.fragments;\n if (delta < 0 || delta >= oldFragments.length) {\n return;\n }\n addSliding(newDetails, oldFragments[delta].start);\n }\n function addSliding(details, start) {\n if (start) {\n var fragments = details.fragments;\n for (var i = details.skippedSegments; i < fragments.length; i++) {\n fragments[i].start += start;\n }\n if (details.fragmentHint) {\n details.fragmentHint.start += start;\n }\n }\n }\n function computeReloadInterval(newDetails, distanceToLiveEdgeMs) {\n if (distanceToLiveEdgeMs === void 0) {\n distanceToLiveEdgeMs = Infinity;\n }\n var reloadInterval = 1000 * newDetails.targetduration;\n if (newDetails.updated) {\n // Use last segment duration when shorter than target duration and near live edge\n var fragments = newDetails.fragments;\n var liveEdgeMaxTargetDurations = 4;\n if (fragments.length && reloadInterval * liveEdgeMaxTargetDurations > distanceToLiveEdgeMs) {\n var lastSegmentDuration = fragments[fragments.length - 1].duration * 1000;\n if (lastSegmentDuration < reloadInterval) {\n reloadInterval = lastSegmentDuration;\n }\n }\n } else {\n // estimate = 'miss half average';\n // follow HLS Spec, If the client reloads a Playlist file and finds that it has not\n // changed then it MUST wait for a period of one-half the target\n // duration before retrying.\n reloadInterval /= 2;\n }\n return Math.round(reloadInterval);\n }\n function getFragmentWithSN(level, sn, fragCurrent) {\n if (!(level != null && level.details)) {\n return null;\n }\n var levelDetails = level.details;\n var fragment = levelDetails.fragments[sn - levelDetails.startSN];\n if (fragment) {\n return fragment;\n }\n fragment = levelDetails.fragmentHint;\n if (fragment && fragment.sn === sn) {\n return fragment;\n }\n if (sn < levelDetails.startSN && fragCurrent && fragCurrent.sn === sn) {\n return fragCurrent;\n }\n return null;\n }\n function getPartWith(level, sn, partIndex) {\n var _level$details;\n if (!(level != null && level.details)) {\n return null;\n }\n return findPart((_level$details = level.details) == null ? void 0 : _level$details.partList, sn, partIndex);\n }\n function findPart(partList, sn, partIndex) {\n if (partList) {\n for (var i = partList.length; i--;) {\n var part = partList[i];\n if (part.index === partIndex && part.fragment.sn === sn) {\n return part;\n }\n }\n }\n return null;\n }\n function reassignFragmentLevelIndexes(levels) {\n levels.forEach(function (level, index) {\n var details = level.details;\n if (details != null && details.fragments) {\n details.fragments.forEach(function (fragment) {\n fragment.level = index;\n });\n }\n });\n }\n\n function isTimeoutError(error) {\n switch (error.details) {\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n case ErrorDetails.KEY_LOAD_TIMEOUT:\n case ErrorDetails.LEVEL_LOAD_TIMEOUT:\n case ErrorDetails.MANIFEST_LOAD_TIMEOUT:\n return true;\n }\n return false;\n }\n function getRetryConfig(loadPolicy, error) {\n var isTimeout = isTimeoutError(error);\n return loadPolicy.default[(isTimeout ? 'timeout' : 'error') + \"Retry\"];\n }\n function getRetryDelay(retryConfig, retryCount) {\n // exponential backoff capped to max retry delay\n var backoffFactor = retryConfig.backoff === 'linear' ? 1 : Math.pow(2, retryCount);\n return Math.min(backoffFactor * retryConfig.retryDelayMs, retryConfig.maxRetryDelayMs);\n }\n function getLoaderConfigWithoutReties(loderConfig) {\n return _objectSpread2(_objectSpread2({}, loderConfig), {\n errorRetry: null,\n timeoutRetry: null\n });\n }\n function shouldRetry(retryConfig, retryCount, isTimeout, loaderResponse) {\n if (!retryConfig) {\n return false;\n }\n var httpStatus = loaderResponse == null ? void 0 : loaderResponse.code;\n var retry = retryCount < retryConfig.maxNumRetry && (retryForHttpStatus(httpStatus) || !!isTimeout);\n return retryConfig.shouldRetry ? retryConfig.shouldRetry(retryConfig, retryCount, isTimeout, loaderResponse, retry) : retry;\n }\n function retryForHttpStatus(httpStatus) {\n // Do not retry on status 4xx, status 0 (CORS error), or undefined (decrypt/gap/parse error)\n return httpStatus === 0 && navigator.onLine === false || !!httpStatus && (httpStatus < 400 || httpStatus > 499);\n }\n\n var BinarySearch = {\n /**\n * Searches for an item in an array which matches a certain condition.\n * This requires the condition to only match one item in the array,\n * and for the array to be ordered.\n *\n * @param list The array to search.\n * @param comparisonFn\n * Called and provided a candidate item as the first argument.\n * Should return:\n * > -1 if the item should be located at a lower index than the provided item.\n * > 1 if the item should be located at a higher index than the provided item.\n * > 0 if the item is the item you're looking for.\n *\n * @returns the object if found, otherwise returns null\n */\n search: function search(list, comparisonFn) {\n var minIndex = 0;\n var maxIndex = list.length - 1;\n var currentIndex = null;\n var currentElement = null;\n while (minIndex <= maxIndex) {\n currentIndex = (minIndex + maxIndex) / 2 | 0;\n currentElement = list[currentIndex];\n var comparisonResult = comparisonFn(currentElement);\n if (comparisonResult > 0) {\n minIndex = currentIndex + 1;\n } else if (comparisonResult < 0) {\n maxIndex = currentIndex - 1;\n } else {\n return currentElement;\n }\n }\n return null;\n }\n };\n\n /**\n * Returns first fragment whose endPdt value exceeds the given PDT, or null.\n * @param fragments - The array of candidate fragments\n * @param PDTValue - The PDT value which must be exceeded\n * @param maxFragLookUpTolerance - The amount of time that a fragment's start/end can be within in order to be considered contiguous\n */\n function findFragmentByPDT(fragments, PDTValue, maxFragLookUpTolerance) {\n if (PDTValue === null || !Array.isArray(fragments) || !fragments.length || !isFiniteNumber(PDTValue)) {\n return null;\n }\n\n // if less than start\n var startPDT = fragments[0].programDateTime;\n if (PDTValue < (startPDT || 0)) {\n return null;\n }\n var endPDT = fragments[fragments.length - 1].endProgramDateTime;\n if (PDTValue >= (endPDT || 0)) {\n return null;\n }\n maxFragLookUpTolerance = maxFragLookUpTolerance || 0;\n for (var seg = 0; seg < fragments.length; ++seg) {\n var frag = fragments[seg];\n if (pdtWithinToleranceTest(PDTValue, maxFragLookUpTolerance, frag)) {\n return frag;\n }\n }\n return null;\n }\n\n /**\n * Finds a fragment based on the SN of the previous fragment; or based on the needs of the current buffer.\n * This method compensates for small buffer gaps by applying a tolerance to the start of any candidate fragment, thus\n * breaking any traps which would cause the same fragment to be continuously selected within a small range.\n * @param fragPrevious - The last frag successfully appended\n * @param fragments - The array of candidate fragments\n * @param bufferEnd - The end of the contiguous buffered range the playhead is currently within\n * @param maxFragLookUpTolerance - The amount of time that a fragment's start/end can be within in order to be considered contiguous\n * @returns a matching fragment or null\n */\n function findFragmentByPTS(fragPrevious, fragments, bufferEnd, maxFragLookUpTolerance) {\n if (bufferEnd === void 0) {\n bufferEnd = 0;\n }\n if (maxFragLookUpTolerance === void 0) {\n maxFragLookUpTolerance = 0;\n }\n var fragNext = null;\n if (fragPrevious) {\n fragNext = fragments[fragPrevious.sn - fragments[0].sn + 1] || null;\n // check for buffer-end rounding error\n var bufferEdgeError = fragPrevious.endDTS - bufferEnd;\n if (bufferEdgeError > 0 && bufferEdgeError < 0.0000015) {\n bufferEnd += 0.0000015;\n }\n } else if (bufferEnd === 0 && fragments[0].start === 0) {\n fragNext = fragments[0];\n }\n // Prefer the next fragment if it's within tolerance\n if (fragNext && (!fragPrevious || fragPrevious.level === fragNext.level) && fragmentWithinToleranceTest(bufferEnd, maxFragLookUpTolerance, fragNext) === 0) {\n return fragNext;\n }\n // We might be seeking past the tolerance so find the best match\n var foundFragment = BinarySearch.search(fragments, fragmentWithinToleranceTest.bind(null, bufferEnd, maxFragLookUpTolerance));\n if (foundFragment && (foundFragment !== fragPrevious || !fragNext)) {\n return foundFragment;\n }\n // If no match was found return the next fragment after fragPrevious, or null\n return fragNext;\n }\n\n /**\n * The test function used by the findFragmentBySn's BinarySearch to look for the best match to the current buffer conditions.\n * @param candidate - The fragment to test\n * @param bufferEnd - The end of the current buffered range the playhead is currently within\n * @param maxFragLookUpTolerance - The amount of time that a fragment's start can be within in order to be considered contiguous\n * @returns 0 if it matches, 1 if too low, -1 if too high\n */\n function fragmentWithinToleranceTest(bufferEnd, maxFragLookUpTolerance, candidate) {\n if (bufferEnd === void 0) {\n bufferEnd = 0;\n }\n if (maxFragLookUpTolerance === void 0) {\n maxFragLookUpTolerance = 0;\n }\n // eagerly accept an accurate match (no tolerance)\n if (candidate.start <= bufferEnd && candidate.start + candidate.duration > bufferEnd) {\n return 0;\n }\n // offset should be within fragment boundary - config.maxFragLookUpTolerance\n // this is to cope with situations like\n // bufferEnd = 9.991\n // frag[Ø] : [0,10]\n // frag[1] : [10,20]\n // bufferEnd is within frag[0] range ... although what we are expecting is to return frag[1] here\n // frag start frag start+duration\n // |-----------------------------|\n // <---> <--->\n // ...--------><-----------------------------><---------....\n // previous frag matching fragment next frag\n // return -1 return 0 return 1\n // logger.log(`level/sn/start/end/bufEnd:${level}/${candidate.sn}/${candidate.start}/${(candidate.start+candidate.duration)}/${bufferEnd}`);\n // Set the lookup tolerance to be small enough to detect the current segment - ensures we don't skip over very small segments\n var candidateLookupTolerance = Math.min(maxFragLookUpTolerance, candidate.duration + (candidate.deltaPTS ? candidate.deltaPTS : 0));\n if (candidate.start + candidate.duration - candidateLookupTolerance <= bufferEnd) {\n return 1;\n } else if (candidate.start - candidateLookupTolerance > bufferEnd && candidate.start) {\n // if maxFragLookUpTolerance will have negative value then don't return -1 for first element\n return -1;\n }\n return 0;\n }\n\n /**\n * The test function used by the findFragmentByPdt's BinarySearch to look for the best match to the current buffer conditions.\n * This function tests the candidate's program date time values, as represented in Unix time\n * @param candidate - The fragment to test\n * @param pdtBufferEnd - The Unix time representing the end of the current buffered range\n * @param maxFragLookUpTolerance - The amount of time that a fragment's start can be within in order to be considered contiguous\n * @returns true if contiguous, false otherwise\n */\n function pdtWithinToleranceTest(pdtBufferEnd, maxFragLookUpTolerance, candidate) {\n var candidateLookupTolerance = Math.min(maxFragLookUpTolerance, candidate.duration + (candidate.deltaPTS ? candidate.deltaPTS : 0)) * 1000;\n\n // endProgramDateTime can be null, default to zero\n var endProgramDateTime = candidate.endProgramDateTime || 0;\n return endProgramDateTime - candidateLookupTolerance > pdtBufferEnd;\n }\n function findFragWithCC(fragments, cc) {\n return BinarySearch.search(fragments, function (candidate) {\n if (candidate.cc < cc) {\n return 1;\n } else if (candidate.cc > cc) {\n return -1;\n } else {\n return 0;\n }\n });\n }\n\n var NetworkErrorAction = {\n DoNothing: 0,\n SendEndCallback: 1,\n SendAlternateToPenaltyBox: 2,\n RemoveAlternatePermanently: 3,\n InsertDiscontinuity: 4,\n RetryRequest: 5\n };\n var ErrorActionFlags = {\n None: 0,\n MoveAllAlternatesMatchingHost: 1,\n MoveAllAlternatesMatchingHDCP: 2,\n SwitchToSDR: 4\n }; // Reserved for future use\n var ErrorController = /*#__PURE__*/function () {\n function ErrorController(hls) {\n this.hls = void 0;\n this.playlistError = 0;\n this.penalizedRenditions = {};\n this.log = void 0;\n this.warn = void 0;\n this.error = void 0;\n this.hls = hls;\n this.log = logger.log.bind(logger, \"[info]:\");\n this.warn = logger.warn.bind(logger, \"[warning]:\");\n this.error = logger.error.bind(logger, \"[error]:\");\n this.registerListeners();\n }\n var _proto = ErrorController.prototype;\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.ERROR, this.onError, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n if (!hls) {\n return;\n }\n hls.off(Events.ERROR, this.onError, this);\n hls.off(Events.ERROR, this.onErrorOut, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n // @ts-ignore\n this.hls = null;\n this.penalizedRenditions = {};\n };\n _proto.startLoad = function startLoad(startPosition) {};\n _proto.stopLoad = function stopLoad() {\n this.playlistError = 0;\n };\n _proto.getVariantLevelIndex = function getVariantLevelIndex(frag) {\n return (frag == null ? void 0 : frag.type) === PlaylistLevelType.MAIN ? frag.level : this.hls.loadLevel;\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.playlistError = 0;\n this.penalizedRenditions = {};\n };\n _proto.onLevelUpdated = function onLevelUpdated() {\n this.playlistError = 0;\n };\n _proto.onError = function onError(event, data) {\n var _data$frag, _data$level;\n if (data.fatal) {\n return;\n }\n var hls = this.hls;\n var context = data.context;\n switch (data.details) {\n case ErrorDetails.FRAG_LOAD_ERROR:\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n case ErrorDetails.KEY_LOAD_ERROR:\n case ErrorDetails.KEY_LOAD_TIMEOUT:\n data.errorAction = this.getFragRetryOrSwitchAction(data);\n return;\n case ErrorDetails.FRAG_PARSING_ERROR:\n // ignore empty segment errors marked as gap\n if ((_data$frag = data.frag) != null && _data$frag.gap) {\n data.errorAction = {\n action: NetworkErrorAction.DoNothing,\n flags: ErrorActionFlags.None\n };\n return;\n }\n // falls through\n case ErrorDetails.FRAG_GAP:\n case ErrorDetails.FRAG_DECRYPT_ERROR:\n {\n // Switch level if possible, otherwise allow retry count to reach max error retries\n data.errorAction = this.getFragRetryOrSwitchAction(data);\n data.errorAction.action = NetworkErrorAction.SendAlternateToPenaltyBox;\n return;\n }\n case ErrorDetails.LEVEL_EMPTY_ERROR:\n case ErrorDetails.LEVEL_PARSING_ERROR:\n {\n var _data$context, _data$context$levelDe;\n // Only retry when empty and live\n var levelIndex = data.parent === PlaylistLevelType.MAIN ? data.level : hls.loadLevel;\n if (data.details === ErrorDetails.LEVEL_EMPTY_ERROR && !!((_data$context = data.context) != null && (_data$context$levelDe = _data$context.levelDetails) != null && _data$context$levelDe.live)) {\n data.errorAction = this.getPlaylistRetryOrSwitchAction(data, levelIndex);\n } else {\n // Escalate to fatal if not retrying or switching\n data.levelRetry = false;\n data.errorAction = this.getLevelSwitchAction(data, levelIndex);\n }\n }\n return;\n case ErrorDetails.LEVEL_LOAD_ERROR:\n case ErrorDetails.LEVEL_LOAD_TIMEOUT:\n if (typeof (context == null ? void 0 : context.level) === 'number') {\n data.errorAction = this.getPlaylistRetryOrSwitchAction(data, context.level);\n }\n return;\n case ErrorDetails.AUDIO_TRACK_LOAD_ERROR:\n case ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT:\n case ErrorDetails.SUBTITLE_LOAD_ERROR:\n case ErrorDetails.SUBTITLE_TRACK_LOAD_TIMEOUT:\n if (context) {\n var level = hls.levels[hls.loadLevel];\n if (level && (context.type === PlaylistContextType.AUDIO_TRACK && level.hasAudioGroup(context.groupId) || context.type === PlaylistContextType.SUBTITLE_TRACK && level.hasSubtitleGroup(context.groupId))) {\n // Perform Pathway switch or Redundant failover if possible for fastest recovery\n // otherwise allow playlist retry count to reach max error retries\n data.errorAction = this.getPlaylistRetryOrSwitchAction(data, hls.loadLevel);\n data.errorAction.action = NetworkErrorAction.SendAlternateToPenaltyBox;\n data.errorAction.flags = ErrorActionFlags.MoveAllAlternatesMatchingHost;\n return;\n }\n }\n return;\n case ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:\n {\n var _level = hls.levels[hls.loadLevel];\n var restrictedHdcpLevel = _level == null ? void 0 : _level.attrs['HDCP-LEVEL'];\n if (restrictedHdcpLevel) {\n data.errorAction = {\n action: NetworkErrorAction.SendAlternateToPenaltyBox,\n flags: ErrorActionFlags.MoveAllAlternatesMatchingHDCP,\n hdcpLevel: restrictedHdcpLevel\n };\n } else {\n this.keySystemError(data);\n }\n }\n return;\n case ErrorDetails.BUFFER_ADD_CODEC_ERROR:\n case ErrorDetails.REMUX_ALLOC_ERROR:\n case ErrorDetails.BUFFER_APPEND_ERROR:\n data.errorAction = this.getLevelSwitchAction(data, (_data$level = data.level) != null ? _data$level : hls.loadLevel);\n return;\n case ErrorDetails.INTERNAL_EXCEPTION:\n case ErrorDetails.BUFFER_APPENDING_ERROR:\n case ErrorDetails.BUFFER_FULL_ERROR:\n case ErrorDetails.LEVEL_SWITCH_ERROR:\n case ErrorDetails.BUFFER_STALLED_ERROR:\n case ErrorDetails.BUFFER_SEEK_OVER_HOLE:\n case ErrorDetails.BUFFER_NUDGE_ON_STALL:\n data.errorAction = {\n action: NetworkErrorAction.DoNothing,\n flags: ErrorActionFlags.None\n };\n return;\n }\n if (data.type === ErrorTypes.KEY_SYSTEM_ERROR) {\n this.keySystemError(data);\n }\n };\n _proto.keySystemError = function keySystemError(data) {\n var levelIndex = this.getVariantLevelIndex(data.frag);\n // Do not retry level. Escalate to fatal if switching levels fails.\n data.levelRetry = false;\n data.errorAction = this.getLevelSwitchAction(data, levelIndex);\n };\n _proto.getPlaylistRetryOrSwitchAction = function getPlaylistRetryOrSwitchAction(data, levelIndex) {\n var hls = this.hls;\n var retryConfig = getRetryConfig(hls.config.playlistLoadPolicy, data);\n var retryCount = this.playlistError++;\n var retry = shouldRetry(retryConfig, retryCount, isTimeoutError(data), data.response);\n if (retry) {\n return {\n action: NetworkErrorAction.RetryRequest,\n flags: ErrorActionFlags.None,\n retryConfig: retryConfig,\n retryCount: retryCount\n };\n }\n var errorAction = this.getLevelSwitchAction(data, levelIndex);\n if (retryConfig) {\n errorAction.retryConfig = retryConfig;\n errorAction.retryCount = retryCount;\n }\n return errorAction;\n };\n _proto.getFragRetryOrSwitchAction = function getFragRetryOrSwitchAction(data) {\n var hls = this.hls;\n // Share fragment error count accross media options (main, audio, subs)\n // This allows for level based rendition switching when media option assets fail\n var variantLevelIndex = this.getVariantLevelIndex(data.frag);\n var level = hls.levels[variantLevelIndex];\n var _hls$config = hls.config,\n fragLoadPolicy = _hls$config.fragLoadPolicy,\n keyLoadPolicy = _hls$config.keyLoadPolicy;\n var retryConfig = getRetryConfig(data.details.startsWith('key') ? keyLoadPolicy : fragLoadPolicy, data);\n var fragmentErrors = hls.levels.reduce(function (acc, level) {\n return acc + level.fragmentError;\n }, 0);\n // Switch levels when out of retried or level index out of bounds\n if (level) {\n if (data.details !== ErrorDetails.FRAG_GAP) {\n level.fragmentError++;\n }\n var retry = shouldRetry(retryConfig, fragmentErrors, isTimeoutError(data), data.response);\n if (retry) {\n return {\n action: NetworkErrorAction.RetryRequest,\n flags: ErrorActionFlags.None,\n retryConfig: retryConfig,\n retryCount: fragmentErrors\n };\n }\n }\n // Reach max retry count, or Missing level reference\n // Switch to valid index\n var errorAction = this.getLevelSwitchAction(data, variantLevelIndex);\n // Add retry details to allow skipping of FRAG_PARSING_ERROR\n if (retryConfig) {\n errorAction.retryConfig = retryConfig;\n errorAction.retryCount = fragmentErrors;\n }\n return errorAction;\n };\n _proto.getLevelSwitchAction = function getLevelSwitchAction(data, levelIndex) {\n var hls = this.hls;\n if (levelIndex === null || levelIndex === undefined) {\n levelIndex = hls.loadLevel;\n }\n var level = this.hls.levels[levelIndex];\n if (level) {\n var _data$frag2, _data$context2;\n var errorDetails = data.details;\n level.loadError++;\n if (errorDetails === ErrorDetails.BUFFER_APPEND_ERROR) {\n level.fragmentError++;\n }\n // Search for next level to retry\n var nextLevel = -1;\n var levels = hls.levels,\n loadLevel = hls.loadLevel,\n minAutoLevel = hls.minAutoLevel,\n maxAutoLevel = hls.maxAutoLevel;\n if (!hls.autoLevelEnabled) {\n hls.loadLevel = -1;\n }\n var fragErrorType = (_data$frag2 = data.frag) == null ? void 0 : _data$frag2.type;\n // Find alternate audio codec if available on audio codec error\n var isAudioCodecError = fragErrorType === PlaylistLevelType.AUDIO && errorDetails === ErrorDetails.FRAG_PARSING_ERROR || data.sourceBufferName === 'audio' && (errorDetails === ErrorDetails.BUFFER_ADD_CODEC_ERROR || errorDetails === ErrorDetails.BUFFER_APPEND_ERROR);\n var findAudioCodecAlternate = isAudioCodecError && levels.some(function (_ref) {\n var audioCodec = _ref.audioCodec;\n return level.audioCodec !== audioCodec;\n });\n // Find alternate video codec if available on video codec error\n var isVideoCodecError = data.sourceBufferName === 'video' && (errorDetails === ErrorDetails.BUFFER_ADD_CODEC_ERROR || errorDetails === ErrorDetails.BUFFER_APPEND_ERROR);\n var findVideoCodecAlternate = isVideoCodecError && levels.some(function (_ref2) {\n var codecSet = _ref2.codecSet,\n audioCodec = _ref2.audioCodec;\n return level.codecSet !== codecSet && level.audioCodec === audioCodec;\n });\n var _ref3 = (_data$context2 = data.context) != null ? _data$context2 : {},\n playlistErrorType = _ref3.type,\n playlistErrorGroupId = _ref3.groupId;\n var _loop = function _loop() {\n var candidate = (i + loadLevel) % levels.length;\n if (candidate !== loadLevel && candidate >= minAutoLevel && candidate <= maxAutoLevel && levels[candidate].loadError === 0) {\n var _level$audioGroups, _level$subtitleGroups;\n var levelCandidate = levels[candidate];\n // Skip level switch if GAP tag is found in next level at same position\n if (errorDetails === ErrorDetails.FRAG_GAP && data.frag) {\n var levelDetails = levels[candidate].details;\n if (levelDetails) {\n var fragCandidate = findFragmentByPTS(data.frag, levelDetails.fragments, data.frag.start);\n if (fragCandidate != null && fragCandidate.gap) {\n return 0; // continue\n }\n }\n } else if (playlistErrorType === PlaylistContextType.AUDIO_TRACK && levelCandidate.hasAudioGroup(playlistErrorGroupId) || playlistErrorType === PlaylistContextType.SUBTITLE_TRACK && levelCandidate.hasSubtitleGroup(playlistErrorGroupId)) {\n // For audio/subs playlist errors find another group ID or fallthrough to redundant fail-over\n return 0; // continue\n } else if (fragErrorType === PlaylistLevelType.AUDIO && (_level$audioGroups = level.audioGroups) != null && _level$audioGroups.some(function (groupId) {\n return levelCandidate.hasAudioGroup(groupId);\n }) || fragErrorType === PlaylistLevelType.SUBTITLE && (_level$subtitleGroups = level.subtitleGroups) != null && _level$subtitleGroups.some(function (groupId) {\n return levelCandidate.hasSubtitleGroup(groupId);\n }) || findAudioCodecAlternate && level.audioCodec === levelCandidate.audioCodec || !findAudioCodecAlternate && level.audioCodec !== levelCandidate.audioCodec || findVideoCodecAlternate && level.codecSet === levelCandidate.codecSet) {\n // For video/audio/subs frag errors find another group ID or fallthrough to redundant fail-over\n return 0; // continue\n }\n nextLevel = candidate;\n return 1; // break\n }\n },\n _ret;\n for (var i = levels.length; i--;) {\n _ret = _loop();\n if (_ret === 0) continue;\n if (_ret === 1) break;\n }\n if (nextLevel > -1 && hls.loadLevel !== nextLevel) {\n data.levelRetry = true;\n this.playlistError = 0;\n return {\n action: NetworkErrorAction.SendAlternateToPenaltyBox,\n flags: ErrorActionFlags.None,\n nextAutoLevel: nextLevel\n };\n }\n }\n // No levels to switch / Manual level selection / Level not found\n // Resolve with Pathway switch, Redundant fail-over, or stay on lowest Level\n return {\n action: NetworkErrorAction.SendAlternateToPenaltyBox,\n flags: ErrorActionFlags.MoveAllAlternatesMatchingHost\n };\n };\n _proto.onErrorOut = function onErrorOut(event, data) {\n var _data$errorAction;\n switch ((_data$errorAction = data.errorAction) == null ? void 0 : _data$errorAction.action) {\n case NetworkErrorAction.DoNothing:\n break;\n case NetworkErrorAction.SendAlternateToPenaltyBox:\n this.sendAlternateToPenaltyBox(data);\n if (!data.errorAction.resolved && data.details !== ErrorDetails.FRAG_GAP) {\n data.fatal = true;\n } else if (/MediaSource readyState: ended/.test(data.error.message)) {\n this.warn(\"MediaSource ended after \\\"\" + data.sourceBufferName + \"\\\" sourceBuffer append error. Attempting to recover from media error.\");\n this.hls.recoverMediaError();\n }\n break;\n }\n if (data.fatal) {\n this.hls.stopLoad();\n return;\n }\n };\n _proto.sendAlternateToPenaltyBox = function sendAlternateToPenaltyBox(data) {\n var hls = this.hls;\n var errorAction = data.errorAction;\n if (!errorAction) {\n return;\n }\n var flags = errorAction.flags,\n hdcpLevel = errorAction.hdcpLevel,\n nextAutoLevel = errorAction.nextAutoLevel;\n switch (flags) {\n case ErrorActionFlags.None:\n this.switchLevel(data, nextAutoLevel);\n break;\n case ErrorActionFlags.MoveAllAlternatesMatchingHDCP:\n if (hdcpLevel) {\n hls.maxHdcpLevel = HdcpLevels[HdcpLevels.indexOf(hdcpLevel) - 1];\n errorAction.resolved = true;\n }\n this.warn(\"Restricting playback to HDCP-LEVEL of \\\"\" + hls.maxHdcpLevel + \"\\\" or lower\");\n break;\n }\n // If not resolved by previous actions try to switch to next level\n if (!errorAction.resolved) {\n this.switchLevel(data, nextAutoLevel);\n }\n };\n _proto.switchLevel = function switchLevel(data, levelIndex) {\n if (levelIndex !== undefined && data.errorAction) {\n this.warn(\"switching to level \" + levelIndex + \" after \" + data.details);\n this.hls.nextAutoLevel = levelIndex;\n data.errorAction.resolved = true;\n // Stream controller is responsible for this but won't switch on false start\n this.hls.nextLoadLevel = this.hls.nextAutoLevel;\n }\n };\n return ErrorController;\n }();\n\n var BasePlaylistController = /*#__PURE__*/function () {\n function BasePlaylistController(hls, logPrefix) {\n this.hls = void 0;\n this.timer = -1;\n this.requestScheduled = -1;\n this.canLoad = false;\n this.log = void 0;\n this.warn = void 0;\n this.log = logger.log.bind(logger, logPrefix + \":\");\n this.warn = logger.warn.bind(logger, logPrefix + \":\");\n this.hls = hls;\n }\n var _proto = BasePlaylistController.prototype;\n _proto.destroy = function destroy() {\n this.clearTimer();\n // @ts-ignore\n this.hls = this.log = this.warn = null;\n };\n _proto.clearTimer = function clearTimer() {\n if (this.timer !== -1) {\n self.clearTimeout(this.timer);\n this.timer = -1;\n }\n };\n _proto.startLoad = function startLoad() {\n this.canLoad = true;\n this.requestScheduled = -1;\n this.loadPlaylist();\n };\n _proto.stopLoad = function stopLoad() {\n this.canLoad = false;\n this.clearTimer();\n };\n _proto.switchParams = function switchParams(playlistUri, previous) {\n var renditionReports = previous == null ? void 0 : previous.renditionReports;\n if (renditionReports) {\n var foundIndex = -1;\n for (var i = 0; i < renditionReports.length; i++) {\n var attr = renditionReports[i];\n var uri = void 0;\n try {\n uri = new self.URL(attr.URI, previous.url).href;\n } catch (error) {\n logger.warn(\"Could not construct new URL for Rendition Report: \" + error);\n uri = attr.URI || '';\n }\n // Use exact match. Otherwise, the last partial match, if any, will be used\n // (Playlist URI includes a query string that the Rendition Report does not)\n if (uri === playlistUri) {\n foundIndex = i;\n break;\n } else if (uri === playlistUri.substring(0, uri.length)) {\n foundIndex = i;\n }\n }\n if (foundIndex !== -1) {\n var _attr = renditionReports[foundIndex];\n var msn = parseInt(_attr['LAST-MSN']) || (previous == null ? void 0 : previous.lastPartSn);\n var part = parseInt(_attr['LAST-PART']) || (previous == null ? void 0 : previous.lastPartIndex);\n if (this.hls.config.lowLatencyMode) {\n var currentGoal = Math.min(previous.age - previous.partTarget, previous.targetduration);\n if (part >= 0 && currentGoal > previous.partTarget) {\n part += 1;\n }\n }\n return new HlsUrlParameters(msn, part >= 0 ? part : undefined, HlsSkip.No);\n }\n }\n };\n _proto.loadPlaylist = function loadPlaylist(hlsUrlParameters) {\n if (this.requestScheduled === -1) {\n this.requestScheduled = self.performance.now();\n }\n // Loading is handled by the subclasses\n };\n _proto.shouldLoadPlaylist = function shouldLoadPlaylist(playlist) {\n return this.canLoad && !!playlist && !!playlist.url && (!playlist.details || playlist.details.live);\n };\n _proto.shouldReloadPlaylist = function shouldReloadPlaylist(playlist) {\n return this.timer === -1 && this.requestScheduled === -1 && this.shouldLoadPlaylist(playlist);\n };\n _proto.playlistLoaded = function playlistLoaded(index, data, previousDetails) {\n var _this = this;\n var details = data.details,\n stats = data.stats;\n\n // Set last updated date-time\n var now = self.performance.now();\n var elapsed = stats.loading.first ? Math.max(0, now - stats.loading.first) : 0;\n details.advancedDateTime = Date.now() - elapsed;\n\n // if current playlist is a live playlist, arm a timer to reload it\n if (details.live || previousDetails != null && previousDetails.live) {\n details.reloaded(previousDetails);\n if (previousDetails) {\n this.log(\"live playlist \" + index + \" \" + (details.advanced ? 'REFRESHED ' + details.lastPartSn + '-' + details.lastPartIndex : details.updated ? 'UPDATED' : 'MISSED'));\n }\n // Merge live playlists to adjust fragment starts and fill in delta playlist skipped segments\n if (previousDetails && details.fragments.length > 0) {\n mergeDetails(previousDetails, details);\n }\n if (!this.canLoad || !details.live) {\n return;\n }\n var deliveryDirectives;\n var msn = undefined;\n var part = undefined;\n if (details.canBlockReload && details.endSN && details.advanced) {\n // Load level with LL-HLS delivery directives\n var lowLatencyMode = this.hls.config.lowLatencyMode;\n var lastPartSn = details.lastPartSn;\n var endSn = details.endSN;\n var lastPartIndex = details.lastPartIndex;\n var hasParts = lastPartIndex !== -1;\n var lastPart = lastPartSn === endSn;\n // When low latency mode is disabled, we'll skip part requests once the last part index is found\n var nextSnStartIndex = lowLatencyMode ? 0 : lastPartIndex;\n if (hasParts) {\n msn = lastPart ? endSn + 1 : lastPartSn;\n part = lastPart ? nextSnStartIndex : lastPartIndex + 1;\n } else {\n msn = endSn + 1;\n }\n // Low-Latency CDN Tune-in: \"age\" header and time since load indicates we're behind by more than one part\n // Update directives to obtain the Playlist that has the estimated additional duration of media\n var lastAdvanced = details.age;\n var cdnAge = lastAdvanced + details.ageHeader;\n var currentGoal = Math.min(cdnAge - details.partTarget, details.targetduration * 1.5);\n if (currentGoal > 0) {\n if (previousDetails && currentGoal > previousDetails.tuneInGoal) {\n // If we attempted to get the next or latest playlist update, but currentGoal increased,\n // then we either can't catchup, or the \"age\" header cannot be trusted.\n this.warn(\"CDN Tune-in goal increased from: \" + previousDetails.tuneInGoal + \" to: \" + currentGoal + \" with playlist age: \" + details.age);\n currentGoal = 0;\n } else {\n var segments = Math.floor(currentGoal / details.targetduration);\n msn += segments;\n if (part !== undefined) {\n var parts = Math.round(currentGoal % details.targetduration / details.partTarget);\n part += parts;\n }\n this.log(\"CDN Tune-in age: \" + details.ageHeader + \"s last advanced \" + lastAdvanced.toFixed(2) + \"s goal: \" + currentGoal + \" skip sn \" + segments + \" to part \" + part);\n }\n details.tuneInGoal = currentGoal;\n }\n deliveryDirectives = this.getDeliveryDirectives(details, data.deliveryDirectives, msn, part);\n if (lowLatencyMode || !lastPart) {\n this.loadPlaylist(deliveryDirectives);\n return;\n }\n } else if (details.canBlockReload || details.canSkipUntil) {\n deliveryDirectives = this.getDeliveryDirectives(details, data.deliveryDirectives, msn, part);\n }\n var bufferInfo = this.hls.mainForwardBufferInfo;\n var position = bufferInfo ? bufferInfo.end - bufferInfo.len : 0;\n var distanceToLiveEdgeMs = (details.edge - position) * 1000;\n var reloadInterval = computeReloadInterval(details, distanceToLiveEdgeMs);\n if (details.updated && now > this.requestScheduled + reloadInterval) {\n this.requestScheduled = stats.loading.start;\n }\n if (msn !== undefined && details.canBlockReload) {\n this.requestScheduled = stats.loading.first + reloadInterval - (details.partTarget * 1000 || 1000);\n } else if (this.requestScheduled === -1 || this.requestScheduled + reloadInterval < now) {\n this.requestScheduled = now;\n } else if (this.requestScheduled - now <= 0) {\n this.requestScheduled += reloadInterval;\n }\n var estimatedTimeUntilUpdate = this.requestScheduled - now;\n estimatedTimeUntilUpdate = Math.max(0, estimatedTimeUntilUpdate);\n this.log(\"reload live playlist \" + index + \" in \" + Math.round(estimatedTimeUntilUpdate) + \" ms\");\n // this.log(\n // `live reload ${details.updated ? 'REFRESHED' : 'MISSED'}\n // reload in ${estimatedTimeUntilUpdate / 1000}\n // round trip ${(stats.loading.end - stats.loading.start) / 1000}\n // diff ${\n // (reloadInterval -\n // (estimatedTimeUntilUpdate +\n // stats.loading.end -\n // stats.loading.start)) /\n // 1000\n // }\n // reload interval ${reloadInterval / 1000}\n // target duration ${details.targetduration}\n // distance to edge ${distanceToLiveEdgeMs / 1000}`\n // );\n\n this.timer = self.setTimeout(function () {\n return _this.loadPlaylist(deliveryDirectives);\n }, estimatedTimeUntilUpdate);\n } else {\n this.clearTimer();\n }\n };\n _proto.getDeliveryDirectives = function getDeliveryDirectives(details, previousDeliveryDirectives, msn, part) {\n var skip = getSkipValue(details, msn);\n if (previousDeliveryDirectives != null && previousDeliveryDirectives.skip && details.deltaUpdateFailed) {\n msn = previousDeliveryDirectives.msn;\n part = previousDeliveryDirectives.part;\n skip = HlsSkip.No;\n }\n return new HlsUrlParameters(msn, part, skip);\n };\n _proto.checkRetry = function checkRetry(errorEvent) {\n var _this2 = this;\n var errorDetails = errorEvent.details;\n var isTimeout = isTimeoutError(errorEvent);\n var errorAction = errorEvent.errorAction;\n var _ref = errorAction || {},\n action = _ref.action,\n _ref$retryCount = _ref.retryCount,\n retryCount = _ref$retryCount === void 0 ? 0 : _ref$retryCount,\n retryConfig = _ref.retryConfig;\n var retry = !!errorAction && !!retryConfig && (action === NetworkErrorAction.RetryRequest || !errorAction.resolved && action === NetworkErrorAction.SendAlternateToPenaltyBox);\n if (retry) {\n var _errorEvent$context;\n this.requestScheduled = -1;\n if (retryCount >= retryConfig.maxNumRetry) {\n return false;\n }\n if (isTimeout && (_errorEvent$context = errorEvent.context) != null && _errorEvent$context.deliveryDirectives) {\n // The LL-HLS request already timed out so retry immediately\n this.warn(\"Retrying playlist loading \" + (retryCount + 1) + \"/\" + retryConfig.maxNumRetry + \" after \\\"\" + errorDetails + \"\\\" without delivery-directives\");\n this.loadPlaylist();\n } else {\n var delay = getRetryDelay(retryConfig, retryCount);\n // Schedule level/track reload\n this.timer = self.setTimeout(function () {\n return _this2.loadPlaylist();\n }, delay);\n this.warn(\"Retrying playlist loading \" + (retryCount + 1) + \"/\" + retryConfig.maxNumRetry + \" after \\\"\" + errorDetails + \"\\\" in \" + delay + \"ms\");\n }\n // `levelRetry = true` used to inform other controllers that a retry is happening\n errorEvent.levelRetry = true;\n errorAction.resolved = true;\n }\n return retry;\n };\n return BasePlaylistController;\n }();\n\n /*\n * compute an Exponential Weighted moving average\n * - https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average\n * - heavily inspired from shaka-player\n */\n var EWMA = /*#__PURE__*/function () {\n // About half of the estimated value will be from the last |halfLife| samples by weight.\n function EWMA(halfLife, estimate, weight) {\n if (estimate === void 0) {\n estimate = 0;\n }\n if (weight === void 0) {\n weight = 0;\n }\n this.halfLife = void 0;\n this.alpha_ = void 0;\n this.estimate_ = void 0;\n this.totalWeight_ = void 0;\n this.halfLife = halfLife;\n // Larger values of alpha expire historical data more slowly.\n this.alpha_ = halfLife ? Math.exp(Math.log(0.5) / halfLife) : 0;\n this.estimate_ = estimate;\n this.totalWeight_ = weight;\n }\n var _proto = EWMA.prototype;\n _proto.sample = function sample(weight, value) {\n var adjAlpha = Math.pow(this.alpha_, weight);\n this.estimate_ = value * (1 - adjAlpha) + adjAlpha * this.estimate_;\n this.totalWeight_ += weight;\n };\n _proto.getTotalWeight = function getTotalWeight() {\n return this.totalWeight_;\n };\n _proto.getEstimate = function getEstimate() {\n if (this.alpha_) {\n var zeroFactor = 1 - Math.pow(this.alpha_, this.totalWeight_);\n if (zeroFactor) {\n return this.estimate_ / zeroFactor;\n }\n }\n return this.estimate_;\n };\n return EWMA;\n }();\n\n /*\n * EWMA Bandwidth Estimator\n * - heavily inspired from shaka-player\n * Tracks bandwidth samples and estimates available bandwidth.\n * Based on the minimum of two exponentially-weighted moving averages with\n * different half-lives.\n */\n\n var EwmaBandWidthEstimator = /*#__PURE__*/function () {\n function EwmaBandWidthEstimator(slow, fast, defaultEstimate, defaultTTFB) {\n if (defaultTTFB === void 0) {\n defaultTTFB = 100;\n }\n this.defaultEstimate_ = void 0;\n this.minWeight_ = void 0;\n this.minDelayMs_ = void 0;\n this.slow_ = void 0;\n this.fast_ = void 0;\n this.defaultTTFB_ = void 0;\n this.ttfb_ = void 0;\n this.defaultEstimate_ = defaultEstimate;\n this.minWeight_ = 0.001;\n this.minDelayMs_ = 50;\n this.slow_ = new EWMA(slow);\n this.fast_ = new EWMA(fast);\n this.defaultTTFB_ = defaultTTFB;\n this.ttfb_ = new EWMA(slow);\n }\n var _proto = EwmaBandWidthEstimator.prototype;\n _proto.update = function update(slow, fast) {\n var slow_ = this.slow_,\n fast_ = this.fast_,\n ttfb_ = this.ttfb_;\n if (slow_.halfLife !== slow) {\n this.slow_ = new EWMA(slow, slow_.getEstimate(), slow_.getTotalWeight());\n }\n if (fast_.halfLife !== fast) {\n this.fast_ = new EWMA(fast, fast_.getEstimate(), fast_.getTotalWeight());\n }\n if (ttfb_.halfLife !== slow) {\n this.ttfb_ = new EWMA(slow, ttfb_.getEstimate(), ttfb_.getTotalWeight());\n }\n };\n _proto.sample = function sample(durationMs, numBytes) {\n durationMs = Math.max(durationMs, this.minDelayMs_);\n var numBits = 8 * numBytes;\n // weight is duration in seconds\n var durationS = durationMs / 1000;\n // value is bandwidth in bits/s\n var bandwidthInBps = numBits / durationS;\n this.fast_.sample(durationS, bandwidthInBps);\n this.slow_.sample(durationS, bandwidthInBps);\n };\n _proto.sampleTTFB = function sampleTTFB(ttfb) {\n // weight is frequency curve applied to TTFB in seconds\n // (longer times have less weight with expected input under 1 second)\n var seconds = ttfb / 1000;\n var weight = Math.sqrt(2) * Math.exp(-Math.pow(seconds, 2) / 2);\n this.ttfb_.sample(weight, Math.max(ttfb, 5));\n };\n _proto.canEstimate = function canEstimate() {\n return this.fast_.getTotalWeight() >= this.minWeight_;\n };\n _proto.getEstimate = function getEstimate() {\n if (this.canEstimate()) {\n // console.log('slow estimate:'+ Math.round(this.slow_.getEstimate()));\n // console.log('fast estimate:'+ Math.round(this.fast_.getEstimate()));\n // Take the minimum of these two estimates. This should have the effect of\n // adapting down quickly, but up more slowly.\n return Math.min(this.fast_.getEstimate(), this.slow_.getEstimate());\n } else {\n return this.defaultEstimate_;\n }\n };\n _proto.getEstimateTTFB = function getEstimateTTFB() {\n if (this.ttfb_.getTotalWeight() >= this.minWeight_) {\n return this.ttfb_.getEstimate();\n } else {\n return this.defaultTTFB_;\n }\n };\n _proto.destroy = function destroy() {};\n return EwmaBandWidthEstimator;\n }();\n\n var SUPPORTED_INFO_DEFAULT = {\n supported: true,\n configurations: [],\n decodingInfoResults: [{\n supported: true,\n powerEfficient: true,\n smooth: true\n }]\n };\n var SUPPORTED_INFO_CACHE = {};\n function requiresMediaCapabilitiesDecodingInfo(level, audioTracksByGroup, currentVideoRange, currentFrameRate, currentBw, audioPreference) {\n // Only test support when configuration is exceeds minimum options\n var audioGroups = level.audioCodec ? level.audioGroups : null;\n var audioCodecPreference = audioPreference == null ? void 0 : audioPreference.audioCodec;\n var channelsPreference = audioPreference == null ? void 0 : audioPreference.channels;\n var maxChannels = channelsPreference ? parseInt(channelsPreference) : audioCodecPreference ? Infinity : 2;\n var audioChannels = null;\n if (audioGroups != null && audioGroups.length) {\n try {\n if (audioGroups.length === 1 && audioGroups[0]) {\n audioChannels = audioTracksByGroup.groups[audioGroups[0]].channels;\n } else {\n audioChannels = audioGroups.reduce(function (acc, groupId) {\n if (groupId) {\n var audioTrackGroup = audioTracksByGroup.groups[groupId];\n if (!audioTrackGroup) {\n throw new Error(\"Audio track group \" + groupId + \" not found\");\n }\n // Sum all channel key values\n Object.keys(audioTrackGroup.channels).forEach(function (key) {\n acc[key] = (acc[key] || 0) + audioTrackGroup.channels[key];\n });\n }\n return acc;\n }, {\n 2: 0\n });\n }\n } catch (error) {\n return true;\n }\n }\n return level.videoCodec !== undefined && (level.width > 1920 && level.height > 1088 || level.height > 1920 && level.width > 1088 || level.frameRate > Math.max(currentFrameRate, 30) || level.videoRange !== 'SDR' && level.videoRange !== currentVideoRange || level.bitrate > Math.max(currentBw, 8e6)) || !!audioChannels && isFiniteNumber(maxChannels) && Object.keys(audioChannels).some(function (channels) {\n return parseInt(channels) > maxChannels;\n });\n }\n function getMediaDecodingInfoPromise(level, audioTracksByGroup, mediaCapabilities) {\n var videoCodecs = level.videoCodec;\n var audioCodecs = level.audioCodec;\n if (!videoCodecs || !audioCodecs || !mediaCapabilities) {\n return Promise.resolve(SUPPORTED_INFO_DEFAULT);\n }\n var baseVideoConfiguration = {\n width: level.width,\n height: level.height,\n bitrate: Math.ceil(Math.max(level.bitrate * 0.9, level.averageBitrate)),\n // Assume a framerate of 30fps since MediaCapabilities will not accept Level default of 0.\n framerate: level.frameRate || 30\n };\n var videoRange = level.videoRange;\n if (videoRange !== 'SDR') {\n baseVideoConfiguration.transferFunction = videoRange.toLowerCase();\n }\n var configurations = videoCodecs.split(',').map(function (videoCodec) {\n return {\n type: 'media-source',\n video: _objectSpread2(_objectSpread2({}, baseVideoConfiguration), {}, {\n contentType: mimeTypeForCodec(videoCodec, 'video')\n })\n };\n });\n if (audioCodecs && level.audioGroups) {\n level.audioGroups.forEach(function (audioGroupId) {\n var _audioTracksByGroup$g;\n if (!audioGroupId) {\n return;\n }\n (_audioTracksByGroup$g = audioTracksByGroup.groups[audioGroupId]) == null ? void 0 : _audioTracksByGroup$g.tracks.forEach(function (audioTrack) {\n if (audioTrack.groupId === audioGroupId) {\n var channels = audioTrack.channels || '';\n var channelsNumber = parseFloat(channels);\n if (isFiniteNumber(channelsNumber) && channelsNumber > 2) {\n configurations.push.apply(configurations, audioCodecs.split(',').map(function (audioCodec) {\n return {\n type: 'media-source',\n audio: {\n contentType: mimeTypeForCodec(audioCodec, 'audio'),\n channels: '' + channelsNumber\n // spatialRendering:\n // audioCodec === 'ec-3' && channels.indexOf('JOC'),\n }\n };\n }));\n }\n }\n });\n });\n }\n return Promise.all(configurations.map(function (configuration) {\n // Cache MediaCapabilities promises\n var decodingInfoKey = getMediaDecodingInfoKey(configuration);\n return SUPPORTED_INFO_CACHE[decodingInfoKey] || (SUPPORTED_INFO_CACHE[decodingInfoKey] = mediaCapabilities.decodingInfo(configuration));\n })).then(function (decodingInfoResults) {\n return {\n supported: !decodingInfoResults.some(function (info) {\n return !info.supported;\n }),\n configurations: configurations,\n decodingInfoResults: decodingInfoResults\n };\n }).catch(function (error) {\n return {\n supported: false,\n configurations: configurations,\n decodingInfoResults: [],\n error: error\n };\n });\n }\n function getMediaDecodingInfoKey(config) {\n var audio = config.audio,\n video = config.video;\n var mediaConfig = video || audio;\n if (mediaConfig) {\n var codec = mediaConfig.contentType.split('\"')[1];\n if (video) {\n return \"r\" + video.height + \"x\" + video.width + \"f\" + Math.ceil(video.framerate) + (video.transferFunction || 'sd') + \"_\" + codec + \"_\" + Math.ceil(video.bitrate / 1e5);\n }\n if (audio) {\n return \"c\" + audio.channels + (audio.spatialRendering ? 's' : 'n') + \"_\" + codec;\n }\n }\n return '';\n }\n\n /**\n * @returns Whether we can detect and validate HDR capability within the window context\n */\n function isHdrSupported() {\n if (typeof matchMedia === 'function') {\n var mediaQueryList = matchMedia('(dynamic-range: high)');\n var badQuery = matchMedia('bad query');\n if (mediaQueryList.media !== badQuery.media) {\n return mediaQueryList.matches === true;\n }\n }\n return false;\n }\n\n /**\n * Sanitizes inputs to return the active video selection options for HDR/SDR.\n * When both inputs are null:\n *\n * `{ preferHDR: false, allowedVideoRanges: [] }`\n *\n * When `currentVideoRange` non-null, maintain the active range:\n *\n * `{ preferHDR: currentVideoRange !== 'SDR', allowedVideoRanges: [currentVideoRange] }`\n *\n * When VideoSelectionOption non-null:\n *\n * - Allow all video ranges if `allowedVideoRanges` unspecified.\n * - If `preferHDR` is non-null use the value to filter `allowedVideoRanges`.\n * - Else check window for HDR support and set `preferHDR` to the result.\n *\n * @param currentVideoRange\n * @param videoPreference\n */\n function getVideoSelectionOptions(currentVideoRange, videoPreference) {\n var preferHDR = false;\n var allowedVideoRanges = [];\n if (currentVideoRange) {\n preferHDR = currentVideoRange !== 'SDR';\n allowedVideoRanges = [currentVideoRange];\n }\n if (videoPreference) {\n allowedVideoRanges = videoPreference.allowedVideoRanges || VideoRangeValues.slice(0);\n preferHDR = videoPreference.preferHDR !== undefined ? videoPreference.preferHDR : isHdrSupported();\n if (preferHDR) {\n allowedVideoRanges = allowedVideoRanges.filter(function (range) {\n return range !== 'SDR';\n });\n } else {\n allowedVideoRanges = ['SDR'];\n }\n }\n return {\n preferHDR: preferHDR,\n allowedVideoRanges: allowedVideoRanges\n };\n }\n\n function getStartCodecTier(codecTiers, currentVideoRange, currentBw, audioPreference, videoPreference) {\n var codecSets = Object.keys(codecTiers);\n var channelsPreference = audioPreference == null ? void 0 : audioPreference.channels;\n var audioCodecPreference = audioPreference == null ? void 0 : audioPreference.audioCodec;\n var preferStereo = channelsPreference && parseInt(channelsPreference) === 2;\n // Use first level set to determine stereo, and minimum resolution and framerate\n var hasStereo = true;\n var hasCurrentVideoRange = false;\n var minHeight = Infinity;\n var minFramerate = Infinity;\n var minBitrate = Infinity;\n var selectedScore = 0;\n var videoRanges = [];\n var _getVideoSelectionOpt = getVideoSelectionOptions(currentVideoRange, videoPreference),\n preferHDR = _getVideoSelectionOpt.preferHDR,\n allowedVideoRanges = _getVideoSelectionOpt.allowedVideoRanges;\n var _loop = function _loop() {\n var tier = codecTiers[codecSets[i]];\n hasStereo = tier.channels[2] > 0;\n minHeight = Math.min(minHeight, tier.minHeight);\n minFramerate = Math.min(minFramerate, tier.minFramerate);\n minBitrate = Math.min(minBitrate, tier.minBitrate);\n var matchingVideoRanges = allowedVideoRanges.filter(function (range) {\n return tier.videoRanges[range] > 0;\n });\n if (matchingVideoRanges.length > 0) {\n hasCurrentVideoRange = true;\n videoRanges = matchingVideoRanges;\n }\n };\n for (var i = codecSets.length; i--;) {\n _loop();\n }\n minHeight = isFiniteNumber(minHeight) ? minHeight : 0;\n minFramerate = isFiniteNumber(minFramerate) ? minFramerate : 0;\n var maxHeight = Math.max(1080, minHeight);\n var maxFramerate = Math.max(30, minFramerate);\n minBitrate = isFiniteNumber(minBitrate) ? minBitrate : currentBw;\n currentBw = Math.max(minBitrate, currentBw);\n // If there are no variants with matching preference, set currentVideoRange to undefined\n if (!hasCurrentVideoRange) {\n currentVideoRange = undefined;\n videoRanges = [];\n }\n var codecSet = codecSets.reduce(function (selected, candidate) {\n // Remove candiates which do not meet bitrate, default audio, stereo or channels preference, 1080p or lower, 30fps or lower, or SDR/HDR selection if present\n var candidateTier = codecTiers[candidate];\n if (candidate === selected) {\n return selected;\n }\n if (candidateTier.minBitrate > currentBw) {\n logStartCodecCandidateIgnored(candidate, \"min bitrate of \" + candidateTier.minBitrate + \" > current estimate of \" + currentBw);\n return selected;\n }\n if (!candidateTier.hasDefaultAudio) {\n logStartCodecCandidateIgnored(candidate, \"no renditions with default or auto-select sound found\");\n return selected;\n }\n if (audioCodecPreference && candidate.indexOf(audioCodecPreference.substring(0, 4)) % 5 !== 0) {\n logStartCodecCandidateIgnored(candidate, \"audio codec preference \\\"\" + audioCodecPreference + \"\\\" not found\");\n return selected;\n }\n if (channelsPreference && !preferStereo) {\n if (!candidateTier.channels[channelsPreference]) {\n logStartCodecCandidateIgnored(candidate, \"no renditions with \" + channelsPreference + \" channel sound found (channels options: \" + Object.keys(candidateTier.channels) + \")\");\n return selected;\n }\n } else if ((!audioCodecPreference || preferStereo) && hasStereo && candidateTier.channels['2'] === 0) {\n logStartCodecCandidateIgnored(candidate, \"no renditions with stereo sound found\");\n return selected;\n }\n if (candidateTier.minHeight > maxHeight) {\n logStartCodecCandidateIgnored(candidate, \"min resolution of \" + candidateTier.minHeight + \" > maximum of \" + maxHeight);\n return selected;\n }\n if (candidateTier.minFramerate > maxFramerate) {\n logStartCodecCandidateIgnored(candidate, \"min framerate of \" + candidateTier.minFramerate + \" > maximum of \" + maxFramerate);\n return selected;\n }\n if (!videoRanges.some(function (range) {\n return candidateTier.videoRanges[range] > 0;\n })) {\n logStartCodecCandidateIgnored(candidate, \"no variants with VIDEO-RANGE of \" + JSON.stringify(videoRanges) + \" found\");\n return selected;\n }\n if (candidateTier.maxScore < selectedScore) {\n logStartCodecCandidateIgnored(candidate, \"max score of \" + candidateTier.maxScore + \" < selected max of \" + selectedScore);\n return selected;\n }\n // Remove candiates with less preferred codecs or more errors\n if (selected && (codecsSetSelectionPreferenceValue(candidate) >= codecsSetSelectionPreferenceValue(selected) || candidateTier.fragmentError > codecTiers[selected].fragmentError)) {\n return selected;\n }\n selectedScore = candidateTier.maxScore;\n return candidate;\n }, undefined);\n return {\n codecSet: codecSet,\n videoRanges: videoRanges,\n preferHDR: preferHDR,\n minFramerate: minFramerate,\n minBitrate: minBitrate\n };\n }\n function logStartCodecCandidateIgnored(codeSet, reason) {\n logger.log(\"[abr] start candidates with \\\"\" + codeSet + \"\\\" ignored because \" + reason);\n }\n function getAudioTracksByGroup(allAudioTracks) {\n return allAudioTracks.reduce(function (audioTracksByGroup, track) {\n var trackGroup = audioTracksByGroup.groups[track.groupId];\n if (!trackGroup) {\n trackGroup = audioTracksByGroup.groups[track.groupId] = {\n tracks: [],\n channels: {\n 2: 0\n },\n hasDefault: false,\n hasAutoSelect: false\n };\n }\n trackGroup.tracks.push(track);\n var channelsKey = track.channels || '2';\n trackGroup.channels[channelsKey] = (trackGroup.channels[channelsKey] || 0) + 1;\n trackGroup.hasDefault = trackGroup.hasDefault || track.default;\n trackGroup.hasAutoSelect = trackGroup.hasAutoSelect || track.autoselect;\n if (trackGroup.hasDefault) {\n audioTracksByGroup.hasDefaultAudio = true;\n }\n if (trackGroup.hasAutoSelect) {\n audioTracksByGroup.hasAutoSelectAudio = true;\n }\n return audioTracksByGroup;\n }, {\n hasDefaultAudio: false,\n hasAutoSelectAudio: false,\n groups: {}\n });\n }\n function getCodecTiers(levels, audioTracksByGroup, minAutoLevel, maxAutoLevel) {\n return levels.slice(minAutoLevel, maxAutoLevel + 1).reduce(function (tiers, level) {\n if (!level.codecSet) {\n return tiers;\n }\n var audioGroups = level.audioGroups;\n var tier = tiers[level.codecSet];\n if (!tier) {\n tiers[level.codecSet] = tier = {\n minBitrate: Infinity,\n minHeight: Infinity,\n minFramerate: Infinity,\n maxScore: 0,\n videoRanges: {\n SDR: 0\n },\n channels: {\n '2': 0\n },\n hasDefaultAudio: !audioGroups,\n fragmentError: 0\n };\n }\n tier.minBitrate = Math.min(tier.minBitrate, level.bitrate);\n var lesserWidthOrHeight = Math.min(level.height, level.width);\n tier.minHeight = Math.min(tier.minHeight, lesserWidthOrHeight);\n tier.minFramerate = Math.min(tier.minFramerate, level.frameRate);\n tier.maxScore = Math.max(tier.maxScore, level.score);\n tier.fragmentError += level.fragmentError;\n tier.videoRanges[level.videoRange] = (tier.videoRanges[level.videoRange] || 0) + 1;\n if (audioGroups) {\n audioGroups.forEach(function (audioGroupId) {\n if (!audioGroupId) {\n return;\n }\n var audioGroup = audioTracksByGroup.groups[audioGroupId];\n // Default audio is any group with DEFAULT=YES, or if missing then any group with AUTOSELECT=YES, or all variants\n tier.hasDefaultAudio = tier.hasDefaultAudio || audioTracksByGroup.hasDefaultAudio ? audioGroup.hasDefault : audioGroup.hasAutoSelect || !audioTracksByGroup.hasDefaultAudio && !audioTracksByGroup.hasAutoSelectAudio;\n Object.keys(audioGroup.channels).forEach(function (channels) {\n tier.channels[channels] = (tier.channels[channels] || 0) + audioGroup.channels[channels];\n });\n });\n }\n return tiers;\n }, {});\n }\n function findMatchingOption(option, tracks, matchPredicate) {\n if ('attrs' in option) {\n var index = tracks.indexOf(option);\n if (index !== -1) {\n return index;\n }\n }\n for (var i = 0; i < tracks.length; i++) {\n var _track = tracks[i];\n if (matchesOption(option, _track, matchPredicate)) {\n return i;\n }\n }\n return -1;\n }\n function matchesOption(option, track, matchPredicate) {\n var groupId = option.groupId,\n name = option.name,\n lang = option.lang,\n assocLang = option.assocLang,\n characteristics = option.characteristics,\n isDefault = option.default;\n var forced = option.forced;\n return (groupId === undefined || track.groupId === groupId) && (name === undefined || track.name === name) && (lang === undefined || track.lang === lang) && (lang === undefined || track.assocLang === assocLang) && (isDefault === undefined || track.default === isDefault) && (forced === undefined || track.forced === forced) && (characteristics === undefined || characteristicsMatch(characteristics, track.characteristics)) && (matchPredicate === undefined || matchPredicate(option, track));\n }\n function characteristicsMatch(characteristicsA, characteristicsB) {\n if (characteristicsB === void 0) {\n characteristicsB = '';\n }\n var arrA = characteristicsA.split(',');\n var arrB = characteristicsB.split(',');\n // Expects each item to be unique:\n return arrA.length === arrB.length && !arrA.some(function (el) {\n return arrB.indexOf(el) === -1;\n });\n }\n function audioMatchPredicate(option, track) {\n var audioCodec = option.audioCodec,\n channels = option.channels;\n return (audioCodec === undefined || (track.audioCodec || '').substring(0, 4) === audioCodec.substring(0, 4)) && (channels === undefined || channels === (track.channels || '2'));\n }\n function findClosestLevelWithAudioGroup(option, levels, allAudioTracks, searchIndex, matchPredicate) {\n var currentLevel = levels[searchIndex];\n // Are there variants with same URI as current level?\n // If so, find a match that does not require any level URI change\n var variants = levels.reduce(function (variantMap, level, index) {\n var uri = level.uri;\n var renditions = variantMap[uri] || (variantMap[uri] = []);\n renditions.push(index);\n return variantMap;\n }, {});\n var renditions = variants[currentLevel.uri];\n if (renditions.length > 1) {\n searchIndex = Math.max.apply(Math, renditions);\n }\n // Find best match\n var currentVideoRange = currentLevel.videoRange;\n var currentFrameRate = currentLevel.frameRate;\n var currentVideoCodec = currentLevel.codecSet.substring(0, 4);\n var matchingVideo = searchDownAndUpList(levels, searchIndex, function (level) {\n if (level.videoRange !== currentVideoRange || level.frameRate !== currentFrameRate || level.codecSet.substring(0, 4) !== currentVideoCodec) {\n return false;\n }\n var audioGroups = level.audioGroups;\n var tracks = allAudioTracks.filter(function (track) {\n return !audioGroups || audioGroups.indexOf(track.groupId) !== -1;\n });\n return findMatchingOption(option, tracks, matchPredicate) > -1;\n });\n if (matchingVideo > -1) {\n return matchingVideo;\n }\n return searchDownAndUpList(levels, searchIndex, function (level) {\n var audioGroups = level.audioGroups;\n var tracks = allAudioTracks.filter(function (track) {\n return !audioGroups || audioGroups.indexOf(track.groupId) !== -1;\n });\n return findMatchingOption(option, tracks, matchPredicate) > -1;\n });\n }\n function searchDownAndUpList(arr, searchIndex, predicate) {\n for (var i = searchIndex; i; i--) {\n if (predicate(arr[i])) {\n return i;\n }\n }\n for (var _i = searchIndex + 1; _i < arr.length; _i++) {\n if (predicate(arr[_i])) {\n return _i;\n }\n }\n return -1;\n }\n\n var AbrController = /*#__PURE__*/function () {\n function AbrController(_hls) {\n var _this = this;\n this.hls = void 0;\n this.lastLevelLoadSec = 0;\n this.lastLoadedFragLevel = -1;\n this.firstSelection = -1;\n this._nextAutoLevel = -1;\n this.nextAutoLevelKey = '';\n this.audioTracksByGroup = null;\n this.codecTiers = null;\n this.timer = -1;\n this.fragCurrent = null;\n this.partCurrent = null;\n this.bitrateTestDelay = 0;\n this.bwEstimator = void 0;\n /*\n This method monitors the download rate of the current fragment, and will downswitch if that fragment will not load\n quickly enough to prevent underbuffering\n */\n this._abandonRulesCheck = function () {\n var frag = _this.fragCurrent,\n part = _this.partCurrent,\n hls = _this.hls;\n var autoLevelEnabled = hls.autoLevelEnabled,\n media = hls.media;\n if (!frag || !media) {\n return;\n }\n var now = performance.now();\n var stats = part ? part.stats : frag.stats;\n var duration = part ? part.duration : frag.duration;\n var timeLoading = now - stats.loading.start;\n var minAutoLevel = hls.minAutoLevel;\n // If frag loading is aborted, complete, or from lowest level, stop timer and return\n if (stats.aborted || stats.loaded && stats.loaded === stats.total || frag.level <= minAutoLevel) {\n _this.clearTimer();\n // reset forced auto level value so that next level will be selected\n _this._nextAutoLevel = -1;\n return;\n }\n\n // This check only runs if we're in ABR mode and actually playing\n if (!autoLevelEnabled || media.paused || !media.playbackRate || !media.readyState) {\n return;\n }\n var bufferInfo = hls.mainForwardBufferInfo;\n if (bufferInfo === null) {\n return;\n }\n var ttfbEstimate = _this.bwEstimator.getEstimateTTFB();\n var playbackRate = Math.abs(media.playbackRate);\n // To maintain stable adaptive playback, only begin monitoring frag loading after half or more of its playback duration has passed\n if (timeLoading <= Math.max(ttfbEstimate, 1000 * (duration / (playbackRate * 2)))) {\n return;\n }\n\n // bufferStarvationDelay is an estimate of the amount time (in seconds) it will take to exhaust the buffer\n var bufferStarvationDelay = bufferInfo.len / playbackRate;\n var ttfb = stats.loading.first ? stats.loading.first - stats.loading.start : -1;\n var loadedFirstByte = stats.loaded && ttfb > -1;\n var bwEstimate = _this.getBwEstimate();\n var levels = hls.levels;\n var level = levels[frag.level];\n var expectedLen = stats.total || Math.max(stats.loaded, Math.round(duration * level.averageBitrate / 8));\n var timeStreaming = loadedFirstByte ? timeLoading - ttfb : timeLoading;\n if (timeStreaming < 1 && loadedFirstByte) {\n timeStreaming = Math.min(timeLoading, stats.loaded * 8 / bwEstimate);\n }\n var loadRate = loadedFirstByte ? stats.loaded * 1000 / timeStreaming : 0;\n // fragLoadDelay is an estimate of the time (in seconds) it will take to buffer the remainder of the fragment\n var fragLoadedDelay = loadRate ? (expectedLen - stats.loaded) / loadRate : expectedLen * 8 / bwEstimate + ttfbEstimate / 1000;\n // Only downswitch if the time to finish loading the current fragment is greater than the amount of buffer left\n if (fragLoadedDelay <= bufferStarvationDelay) {\n return;\n }\n var bwe = loadRate ? loadRate * 8 : bwEstimate;\n var fragLevelNextLoadedDelay = Number.POSITIVE_INFINITY;\n var nextLoadLevel;\n // Iterate through lower level and try to find the largest one that avoids rebuffering\n for (nextLoadLevel = frag.level - 1; nextLoadLevel > minAutoLevel; nextLoadLevel--) {\n // compute time to load next fragment at lower level\n // 8 = bits per byte (bps/Bps)\n var levelNextBitrate = levels[nextLoadLevel].maxBitrate;\n fragLevelNextLoadedDelay = _this.getTimeToLoadFrag(ttfbEstimate / 1000, bwe, duration * levelNextBitrate, !levels[nextLoadLevel].details);\n if (fragLevelNextLoadedDelay < bufferStarvationDelay) {\n break;\n }\n }\n // Only emergency switch down if it takes less time to load a new fragment at lowest level instead of continuing\n // to load the current one\n if (fragLevelNextLoadedDelay >= fragLoadedDelay) {\n return;\n }\n\n // if estimated load time of new segment is completely unreasonable, ignore and do not emergency switch down\n if (fragLevelNextLoadedDelay > duration * 10) {\n return;\n }\n hls.nextLoadLevel = hls.nextAutoLevel = nextLoadLevel;\n if (loadedFirstByte) {\n // If there has been loading progress, sample bandwidth using loading time offset by minimum TTFB time\n _this.bwEstimator.sample(timeLoading - Math.min(ttfbEstimate, ttfb), stats.loaded);\n } else {\n // If there has been no loading progress, sample TTFB\n _this.bwEstimator.sampleTTFB(timeLoading);\n }\n var nextLoadLevelBitrate = levels[nextLoadLevel].maxBitrate;\n if (_this.getBwEstimate() * _this.hls.config.abrBandWidthUpFactor > nextLoadLevelBitrate) {\n _this.resetEstimator(nextLoadLevelBitrate);\n }\n _this.clearTimer();\n logger.warn(\"[abr] Fragment \" + frag.sn + (part ? ' part ' + part.index : '') + \" of level \" + frag.level + \" is loading too slowly;\\n Time to underbuffer: \" + bufferStarvationDelay.toFixed(3) + \" s\\n Estimated load time for current fragment: \" + fragLoadedDelay.toFixed(3) + \" s\\n Estimated load time for down switch fragment: \" + fragLevelNextLoadedDelay.toFixed(3) + \" s\\n TTFB estimate: \" + (ttfb | 0) + \" ms\\n Current BW estimate: \" + (isFiniteNumber(bwEstimate) ? bwEstimate | 0 : 'Unknown') + \" bps\\n New BW estimate: \" + (_this.getBwEstimate() | 0) + \" bps\\n Switching to level \" + nextLoadLevel + \" @ \" + (nextLoadLevelBitrate | 0) + \" bps\");\n hls.trigger(Events.FRAG_LOAD_EMERGENCY_ABORTED, {\n frag: frag,\n part: part,\n stats: stats\n });\n };\n this.hls = _hls;\n this.bwEstimator = this.initEstimator();\n this.registerListeners();\n }\n var _proto = AbrController.prototype;\n _proto.resetEstimator = function resetEstimator(abrEwmaDefaultEstimate) {\n if (abrEwmaDefaultEstimate) {\n logger.log(\"setting initial bwe to \" + abrEwmaDefaultEstimate);\n this.hls.config.abrEwmaDefaultEstimate = abrEwmaDefaultEstimate;\n }\n this.firstSelection = -1;\n this.bwEstimator = this.initEstimator();\n };\n _proto.initEstimator = function initEstimator() {\n var config = this.hls.config;\n return new EwmaBandWidthEstimator(config.abrEwmaSlowVoD, config.abrEwmaFastVoD, config.abrEwmaDefaultEstimate);\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.FRAG_LOADING, this.onFragLoading, this);\n hls.on(Events.FRAG_LOADED, this.onFragLoaded, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.on(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.on(Events.MAX_AUTO_LEVEL_UPDATED, this.onMaxAutoLevelUpdated, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n if (!hls) {\n return;\n }\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.FRAG_LOADING, this.onFragLoading, this);\n hls.off(Events.FRAG_LOADED, this.onFragLoaded, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.off(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.off(Events.MAX_AUTO_LEVEL_UPDATED, this.onMaxAutoLevelUpdated, this);\n hls.off(Events.ERROR, this.onError, this);\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.clearTimer();\n // @ts-ignore\n this.hls = this._abandonRulesCheck = null;\n this.fragCurrent = this.partCurrent = null;\n };\n _proto.onManifestLoading = function onManifestLoading(event, data) {\n this.lastLoadedFragLevel = -1;\n this.firstSelection = -1;\n this.lastLevelLoadSec = 0;\n this.fragCurrent = this.partCurrent = null;\n this.onLevelsUpdated();\n this.clearTimer();\n };\n _proto.onLevelsUpdated = function onLevelsUpdated() {\n if (this.lastLoadedFragLevel > -1 && this.fragCurrent) {\n this.lastLoadedFragLevel = this.fragCurrent.level;\n }\n this._nextAutoLevel = -1;\n this.onMaxAutoLevelUpdated();\n this.codecTiers = null;\n this.audioTracksByGroup = null;\n };\n _proto.onMaxAutoLevelUpdated = function onMaxAutoLevelUpdated() {\n this.firstSelection = -1;\n this.nextAutoLevelKey = '';\n };\n _proto.onFragLoading = function onFragLoading(event, data) {\n var frag = data.frag;\n if (this.ignoreFragment(frag)) {\n return;\n }\n if (!frag.bitrateTest) {\n var _data$part;\n this.fragCurrent = frag;\n this.partCurrent = (_data$part = data.part) != null ? _data$part : null;\n }\n this.clearTimer();\n this.timer = self.setInterval(this._abandonRulesCheck, 100);\n };\n _proto.onLevelSwitching = function onLevelSwitching(event, data) {\n this.clearTimer();\n };\n _proto.onError = function onError(event, data) {\n if (data.fatal) {\n return;\n }\n switch (data.details) {\n case ErrorDetails.BUFFER_ADD_CODEC_ERROR:\n case ErrorDetails.BUFFER_APPEND_ERROR:\n // Reset last loaded level so that a new selection can be made after calling recoverMediaError\n this.lastLoadedFragLevel = -1;\n this.firstSelection = -1;\n break;\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n {\n var frag = data.frag;\n var fragCurrent = this.fragCurrent,\n part = this.partCurrent;\n if (frag && fragCurrent && frag.sn === fragCurrent.sn && frag.level === fragCurrent.level) {\n var now = performance.now();\n var stats = part ? part.stats : frag.stats;\n var timeLoading = now - stats.loading.start;\n var ttfb = stats.loading.first ? stats.loading.first - stats.loading.start : -1;\n var loadedFirstByte = stats.loaded && ttfb > -1;\n if (loadedFirstByte) {\n var ttfbEstimate = this.bwEstimator.getEstimateTTFB();\n this.bwEstimator.sample(timeLoading - Math.min(ttfbEstimate, ttfb), stats.loaded);\n } else {\n this.bwEstimator.sampleTTFB(timeLoading);\n }\n }\n break;\n }\n }\n };\n _proto.getTimeToLoadFrag = function getTimeToLoadFrag(timeToFirstByteSec, bandwidth, fragSizeBits, isSwitch) {\n var fragLoadSec = timeToFirstByteSec + fragSizeBits / bandwidth;\n var playlistLoadSec = isSwitch ? this.lastLevelLoadSec : 0;\n return fragLoadSec + playlistLoadSec;\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n var config = this.hls.config;\n var loading = data.stats.loading;\n var timeLoadingMs = loading.end - loading.start;\n if (isFiniteNumber(timeLoadingMs)) {\n this.lastLevelLoadSec = timeLoadingMs / 1000;\n }\n if (data.details.live) {\n this.bwEstimator.update(config.abrEwmaSlowLive, config.abrEwmaFastLive);\n } else {\n this.bwEstimator.update(config.abrEwmaSlowVoD, config.abrEwmaFastVoD);\n }\n };\n _proto.onFragLoaded = function onFragLoaded(event, _ref) {\n var frag = _ref.frag,\n part = _ref.part;\n var stats = part ? part.stats : frag.stats;\n if (frag.type === PlaylistLevelType.MAIN) {\n this.bwEstimator.sampleTTFB(stats.loading.first - stats.loading.start);\n }\n if (this.ignoreFragment(frag)) {\n return;\n }\n // stop monitoring bw once frag loaded\n this.clearTimer();\n // reset forced auto level value so that next level will be selected\n if (frag.level === this._nextAutoLevel) {\n this._nextAutoLevel = -1;\n }\n this.firstSelection = -1;\n\n // compute level average bitrate\n if (this.hls.config.abrMaxWithRealBitrate) {\n var duration = part ? part.duration : frag.duration;\n var level = this.hls.levels[frag.level];\n var loadedBytes = (level.loaded ? level.loaded.bytes : 0) + stats.loaded;\n var loadedDuration = (level.loaded ? level.loaded.duration : 0) + duration;\n level.loaded = {\n bytes: loadedBytes,\n duration: loadedDuration\n };\n level.realBitrate = Math.round(8 * loadedBytes / loadedDuration);\n }\n if (frag.bitrateTest) {\n var fragBufferedData = {\n stats: stats,\n frag: frag,\n part: part,\n id: frag.type\n };\n this.onFragBuffered(Events.FRAG_BUFFERED, fragBufferedData);\n frag.bitrateTest = false;\n } else {\n // store level id after successful fragment load for playback\n this.lastLoadedFragLevel = frag.level;\n }\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n var frag = data.frag,\n part = data.part;\n var stats = part != null && part.stats.loaded ? part.stats : frag.stats;\n if (stats.aborted) {\n return;\n }\n if (this.ignoreFragment(frag)) {\n return;\n }\n // Use the difference between parsing and request instead of buffering and request to compute fragLoadingProcessing;\n // rationale is that buffer appending only happens once media is attached. This can happen when config.startFragPrefetch\n // is used. If we used buffering in that case, our BW estimate sample will be very large.\n var processingMs = stats.parsing.end - stats.loading.start - Math.min(stats.loading.first - stats.loading.start, this.bwEstimator.getEstimateTTFB());\n this.bwEstimator.sample(processingMs, stats.loaded);\n stats.bwEstimate = this.getBwEstimate();\n if (frag.bitrateTest) {\n this.bitrateTestDelay = processingMs / 1000;\n } else {\n this.bitrateTestDelay = 0;\n }\n };\n _proto.ignoreFragment = function ignoreFragment(frag) {\n // Only count non-alt-audio frags which were actually buffered in our BW calculations\n return frag.type !== PlaylistLevelType.MAIN || frag.sn === 'initSegment';\n };\n _proto.clearTimer = function clearTimer() {\n if (this.timer > -1) {\n self.clearInterval(this.timer);\n this.timer = -1;\n }\n };\n _proto.getAutoLevelKey = function getAutoLevelKey() {\n var _this$hls$mainForward;\n return this.getBwEstimate() + \"_\" + ((_this$hls$mainForward = this.hls.mainForwardBufferInfo) == null ? void 0 : _this$hls$mainForward.len);\n };\n _proto.getNextABRAutoLevel = function getNextABRAutoLevel() {\n var fragCurrent = this.fragCurrent,\n partCurrent = this.partCurrent,\n hls = this.hls;\n var maxAutoLevel = hls.maxAutoLevel,\n config = hls.config,\n minAutoLevel = hls.minAutoLevel,\n media = hls.media;\n var currentFragDuration = partCurrent ? partCurrent.duration : fragCurrent ? fragCurrent.duration : 0;\n\n // playbackRate is the absolute value of the playback rate; if media.playbackRate is 0, we use 1 to load as\n // if we're playing back at the normal rate.\n var playbackRate = media && media.playbackRate !== 0 ? Math.abs(media.playbackRate) : 1.0;\n var avgbw = this.getBwEstimate();\n // bufferStarvationDelay is the wall-clock time left until the playback buffer is exhausted.\n var bufferInfo = hls.mainForwardBufferInfo;\n var bufferStarvationDelay = (bufferInfo ? bufferInfo.len : 0) / playbackRate;\n var bwFactor = config.abrBandWidthFactor;\n var bwUpFactor = config.abrBandWidthUpFactor;\n\n // First, look to see if we can find a level matching with our avg bandwidth AND that could also guarantee no rebuffering at all\n if (bufferStarvationDelay) {\n var _bestLevel = this.findBestLevel(avgbw, minAutoLevel, maxAutoLevel, bufferStarvationDelay, 0, bwFactor, bwUpFactor);\n if (_bestLevel >= 0) {\n return _bestLevel;\n }\n }\n // not possible to get rid of rebuffering... try to find level that will guarantee less than maxStarvationDelay of rebuffering\n var maxStarvationDelay = currentFragDuration ? Math.min(currentFragDuration, config.maxStarvationDelay) : config.maxStarvationDelay;\n if (!bufferStarvationDelay) {\n // in case buffer is empty, let's check if previous fragment was loaded to perform a bitrate test\n var bitrateTestDelay = this.bitrateTestDelay;\n if (bitrateTestDelay) {\n // if it is the case, then we need to adjust our max starvation delay using maxLoadingDelay config value\n // max video loading delay used in automatic start level selection :\n // in that mode ABR controller will ensure that video loading time (ie the time to fetch the first fragment at lowest quality level +\n // the time to fetch the fragment at the appropriate quality level is less than ```maxLoadingDelay``` )\n // cap maxLoadingDelay and ensure it is not bigger 'than bitrate test' frag duration\n var maxLoadingDelay = currentFragDuration ? Math.min(currentFragDuration, config.maxLoadingDelay) : config.maxLoadingDelay;\n maxStarvationDelay = maxLoadingDelay - bitrateTestDelay;\n logger.info(\"[abr] bitrate test took \" + Math.round(1000 * bitrateTestDelay) + \"ms, set first fragment max fetchDuration to \" + Math.round(1000 * maxStarvationDelay) + \" ms\");\n // don't use conservative factor on bitrate test\n bwFactor = bwUpFactor = 1;\n }\n }\n var bestLevel = this.findBestLevel(avgbw, minAutoLevel, maxAutoLevel, bufferStarvationDelay, maxStarvationDelay, bwFactor, bwUpFactor);\n logger.info(\"[abr] \" + (bufferStarvationDelay ? 'rebuffering expected' : 'buffer is empty') + \", optimal quality level \" + bestLevel);\n if (bestLevel > -1) {\n return bestLevel;\n }\n // If no matching level found, see if min auto level would be a better option\n var minLevel = hls.levels[minAutoLevel];\n var autoLevel = hls.levels[hls.loadLevel];\n if ((minLevel == null ? void 0 : minLevel.bitrate) < (autoLevel == null ? void 0 : autoLevel.bitrate)) {\n return minAutoLevel;\n }\n // or if bitrate is not lower, continue to use loadLevel\n return hls.loadLevel;\n };\n _proto.getBwEstimate = function getBwEstimate() {\n return this.bwEstimator.canEstimate() ? this.bwEstimator.getEstimate() : this.hls.config.abrEwmaDefaultEstimate;\n };\n _proto.findBestLevel = function findBestLevel(currentBw, minAutoLevel, maxAutoLevel, bufferStarvationDelay, maxStarvationDelay, bwFactor, bwUpFactor) {\n var _level$details,\n _this2 = this;\n var maxFetchDuration = bufferStarvationDelay + maxStarvationDelay;\n var lastLoadedFragLevel = this.lastLoadedFragLevel;\n var selectionBaseLevel = lastLoadedFragLevel === -1 ? this.hls.firstLevel : lastLoadedFragLevel;\n var fragCurrent = this.fragCurrent,\n partCurrent = this.partCurrent;\n var _this$hls = this.hls,\n levels = _this$hls.levels,\n allAudioTracks = _this$hls.allAudioTracks,\n loadLevel = _this$hls.loadLevel,\n config = _this$hls.config;\n if (levels.length === 1) {\n return 0;\n }\n var level = levels[selectionBaseLevel];\n var live = !!(level != null && (_level$details = level.details) != null && _level$details.live);\n var firstSelection = loadLevel === -1 || lastLoadedFragLevel === -1;\n var currentCodecSet;\n var currentVideoRange = 'SDR';\n var currentFrameRate = (level == null ? void 0 : level.frameRate) || 0;\n var audioPreference = config.audioPreference,\n videoPreference = config.videoPreference;\n var audioTracksByGroup = this.audioTracksByGroup || (this.audioTracksByGroup = getAudioTracksByGroup(allAudioTracks));\n if (firstSelection) {\n if (this.firstSelection !== -1) {\n return this.firstSelection;\n }\n var codecTiers = this.codecTiers || (this.codecTiers = getCodecTiers(levels, audioTracksByGroup, minAutoLevel, maxAutoLevel));\n var startTier = getStartCodecTier(codecTiers, currentVideoRange, currentBw, audioPreference, videoPreference);\n var codecSet = startTier.codecSet,\n videoRanges = startTier.videoRanges,\n minFramerate = startTier.minFramerate,\n minBitrate = startTier.minBitrate,\n preferHDR = startTier.preferHDR;\n currentCodecSet = codecSet;\n currentVideoRange = preferHDR ? videoRanges[videoRanges.length - 1] : videoRanges[0];\n currentFrameRate = minFramerate;\n currentBw = Math.max(currentBw, minBitrate);\n logger.log(\"[abr] picked start tier \" + JSON.stringify(startTier));\n } else {\n currentCodecSet = level == null ? void 0 : level.codecSet;\n currentVideoRange = level == null ? void 0 : level.videoRange;\n }\n var currentFragDuration = partCurrent ? partCurrent.duration : fragCurrent ? fragCurrent.duration : 0;\n var ttfbEstimateSec = this.bwEstimator.getEstimateTTFB() / 1000;\n var levelsSkipped = [];\n var _loop = function _loop() {\n var _levelInfo$supportedR;\n var levelInfo = levels[i];\n var upSwitch = i > selectionBaseLevel;\n if (!levelInfo) {\n return 0; // continue\n }\n if (config.useMediaCapabilities && !levelInfo.supportedResult && !levelInfo.supportedPromise) {\n var mediaCapabilities = navigator.mediaCapabilities;\n if (typeof (mediaCapabilities == null ? void 0 : mediaCapabilities.decodingInfo) === 'function' && requiresMediaCapabilitiesDecodingInfo(levelInfo, audioTracksByGroup, currentVideoRange, currentFrameRate, currentBw, audioPreference)) {\n levelInfo.supportedPromise = getMediaDecodingInfoPromise(levelInfo, audioTracksByGroup, mediaCapabilities);\n levelInfo.supportedPromise.then(function (decodingInfo) {\n levelInfo.supportedResult = decodingInfo;\n var levels = _this2.hls.levels;\n var index = levels.indexOf(levelInfo);\n if (decodingInfo.error) {\n logger.warn(\"[abr] MediaCapabilities decodingInfo error: \\\"\" + decodingInfo.error + \"\\\" for level \" + index + \" \" + JSON.stringify(decodingInfo));\n } else if (!decodingInfo.supported) {\n logger.warn(\"[abr] Unsupported MediaCapabilities decodingInfo result for level \" + index + \" \" + JSON.stringify(decodingInfo));\n if (index > -1 && levels.length > 1) {\n logger.log(\"[abr] Removing unsupported level \" + index);\n _this2.hls.removeLevel(index);\n }\n }\n });\n } else {\n levelInfo.supportedResult = SUPPORTED_INFO_DEFAULT;\n }\n }\n\n // skip candidates which change codec-family or video-range,\n // and which decrease or increase frame-rate for up and down-switch respectfully\n if (currentCodecSet && levelInfo.codecSet !== currentCodecSet || currentVideoRange && levelInfo.videoRange !== currentVideoRange || upSwitch && currentFrameRate > levelInfo.frameRate || !upSwitch && currentFrameRate > 0 && currentFrameRate < levelInfo.frameRate || levelInfo.supportedResult && !((_levelInfo$supportedR = levelInfo.supportedResult.decodingInfoResults) != null && _levelInfo$supportedR[0].smooth)) {\n levelsSkipped.push(i);\n return 0; // continue\n }\n var levelDetails = levelInfo.details;\n var avgDuration = (partCurrent ? levelDetails == null ? void 0 : levelDetails.partTarget : levelDetails == null ? void 0 : levelDetails.averagetargetduration) || currentFragDuration;\n var adjustedbw;\n // follow algorithm captured from stagefright :\n // https://android.googlesource.com/platform/frameworks/av/+/master/media/libstagefright/httplive/LiveSession.cpp\n // Pick the highest bandwidth stream below or equal to estimated bandwidth.\n // consider only 80% of the available bandwidth, but if we are switching up,\n // be even more conservative (70%) to avoid overestimating and immediately\n // switching back.\n if (!upSwitch) {\n adjustedbw = bwFactor * currentBw;\n } else {\n adjustedbw = bwUpFactor * currentBw;\n }\n\n // Use average bitrate when starvation delay (buffer length) is gt or eq two segment durations and rebuffering is not expected (maxStarvationDelay > 0)\n var bitrate = currentFragDuration && bufferStarvationDelay >= currentFragDuration * 2 && maxStarvationDelay === 0 ? levels[i].averageBitrate : levels[i].maxBitrate;\n var fetchDuration = _this2.getTimeToLoadFrag(ttfbEstimateSec, adjustedbw, bitrate * avgDuration, levelDetails === undefined);\n var canSwitchWithinTolerance =\n // if adjusted bw is greater than level bitrate AND\n adjustedbw >= bitrate && (\n // no level change, or new level has no error history\n i === lastLoadedFragLevel || levelInfo.loadError === 0 && levelInfo.fragmentError === 0) && (\n // fragment fetchDuration unknown OR live stream OR fragment fetchDuration less than max allowed fetch duration, then this level matches\n // we don't account for max Fetch Duration for live streams, this is to avoid switching down when near the edge of live sliding window ...\n // special case to support startLevel = -1 (bitrateTest) on live streams : in that case we should not exit loop so that findBestLevel will return -1\n fetchDuration <= ttfbEstimateSec || !isFiniteNumber(fetchDuration) || live && !_this2.bitrateTestDelay || fetchDuration < maxFetchDuration);\n if (canSwitchWithinTolerance) {\n var forcedAutoLevel = _this2.forcedAutoLevel;\n if (i !== loadLevel && (forcedAutoLevel === -1 || forcedAutoLevel !== loadLevel)) {\n if (levelsSkipped.length) {\n logger.trace(\"[abr] Skipped level(s) \" + levelsSkipped.join(',') + \" of \" + maxAutoLevel + \" max with CODECS and VIDEO-RANGE:\\\"\" + levels[levelsSkipped[0]].codecs + \"\\\" \" + levels[levelsSkipped[0]].videoRange + \"; not compatible with \\\"\" + level.codecs + \"\\\" \" + currentVideoRange);\n }\n logger.info(\"[abr] switch candidate:\" + selectionBaseLevel + \"->\" + i + \" adjustedbw(\" + Math.round(adjustedbw) + \")-bitrate=\" + Math.round(adjustedbw - bitrate) + \" ttfb:\" + ttfbEstimateSec.toFixed(1) + \" avgDuration:\" + avgDuration.toFixed(1) + \" maxFetchDuration:\" + maxFetchDuration.toFixed(1) + \" fetchDuration:\" + fetchDuration.toFixed(1) + \" firstSelection:\" + firstSelection + \" codecSet:\" + currentCodecSet + \" videoRange:\" + currentVideoRange + \" hls.loadLevel:\" + loadLevel);\n }\n if (firstSelection) {\n _this2.firstSelection = i;\n }\n // as we are looping from highest to lowest, this will return the best achievable quality level\n return {\n v: i\n };\n }\n },\n _ret;\n for (var i = maxAutoLevel; i >= minAutoLevel; i--) {\n _ret = _loop();\n if (_ret === 0) continue;\n if (_ret) return _ret.v;\n }\n // not enough time budget even with quality level 0 ... rebuffering might happen\n return -1;\n };\n _createClass(AbrController, [{\n key: \"firstAutoLevel\",\n get: function get() {\n var _this$hls2 = this.hls,\n maxAutoLevel = _this$hls2.maxAutoLevel,\n minAutoLevel = _this$hls2.minAutoLevel;\n var bwEstimate = this.getBwEstimate();\n var maxStartDelay = this.hls.config.maxStarvationDelay;\n var abrAutoLevel = this.findBestLevel(bwEstimate, minAutoLevel, maxAutoLevel, 0, maxStartDelay, 1, 1);\n if (abrAutoLevel > -1) {\n return abrAutoLevel;\n }\n var firstLevel = this.hls.firstLevel;\n var clamped = Math.min(Math.max(firstLevel, minAutoLevel), maxAutoLevel);\n logger.warn(\"[abr] Could not find best starting auto level. Defaulting to first in playlist \" + firstLevel + \" clamped to \" + clamped);\n return clamped;\n }\n }, {\n key: \"forcedAutoLevel\",\n get: function get() {\n if (this.nextAutoLevelKey) {\n return -1;\n }\n return this._nextAutoLevel;\n }\n\n // return next auto level\n }, {\n key: \"nextAutoLevel\",\n get: function get() {\n var forcedAutoLevel = this.forcedAutoLevel;\n var bwEstimator = this.bwEstimator;\n var useEstimate = bwEstimator.canEstimate();\n var loadedFirstFrag = this.lastLoadedFragLevel > -1;\n // in case next auto level has been forced, and bw not available or not reliable, return forced value\n if (forcedAutoLevel !== -1 && (!useEstimate || !loadedFirstFrag || this.nextAutoLevelKey === this.getAutoLevelKey())) {\n return forcedAutoLevel;\n }\n\n // compute next level using ABR logic\n var nextABRAutoLevel = useEstimate && loadedFirstFrag ? this.getNextABRAutoLevel() : this.firstAutoLevel;\n\n // use forced auto level while it hasn't errored more than ABR selection\n if (forcedAutoLevel !== -1) {\n var levels = this.hls.levels;\n if (levels.length > Math.max(forcedAutoLevel, nextABRAutoLevel) && levels[forcedAutoLevel].loadError <= levels[nextABRAutoLevel].loadError) {\n return forcedAutoLevel;\n }\n }\n\n // save result until state has changed\n this._nextAutoLevel = nextABRAutoLevel;\n this.nextAutoLevelKey = this.getAutoLevelKey();\n return nextABRAutoLevel;\n },\n set: function set(nextLevel) {\n var _this$hls3 = this.hls,\n maxAutoLevel = _this$hls3.maxAutoLevel,\n minAutoLevel = _this$hls3.minAutoLevel;\n var value = Math.min(Math.max(nextLevel, minAutoLevel), maxAutoLevel);\n if (this._nextAutoLevel !== value) {\n this.nextAutoLevelKey = '';\n this._nextAutoLevel = value;\n }\n }\n }]);\n return AbrController;\n }();\n\n /**\n * @ignore\n * Sub-class specialization of EventHandler base class.\n *\n * TaskLoop allows to schedule a task function being called (optionnaly repeatedly) on the main loop,\n * scheduled asynchroneously, avoiding recursive calls in the same tick.\n *\n * The task itself is implemented in `doTick`. It can be requested and called for single execution\n * using the `tick` method.\n *\n * It will be assured that the task execution method (`tick`) only gets called once per main loop \"tick\",\n * no matter how often it gets requested for execution. Execution in further ticks will be scheduled accordingly.\n *\n * If further execution requests have already been scheduled on the next tick, it can be checked with `hasNextTick`,\n * and cancelled with `clearNextTick`.\n *\n * The task can be scheduled as an interval repeatedly with a period as parameter (see `setInterval`, `clearInterval`).\n *\n * Sub-classes need to implement the `doTick` method which will effectively have the task execution routine.\n *\n * Further explanations:\n *\n * The baseclass has a `tick` method that will schedule the doTick call. It may be called synchroneously\n * only for a stack-depth of one. On re-entrant calls, sub-sequent calls are scheduled for next main loop ticks.\n *\n * When the task execution (`tick` method) is called in re-entrant way this is detected and\n * we are limiting the task execution per call stack to exactly one, but scheduling/post-poning further\n * task processing on the next main loop iteration (also known as \"next tick\" in the Node/JS runtime lingo).\n */\n var TaskLoop = /*#__PURE__*/function () {\n function TaskLoop() {\n this._boundTick = void 0;\n this._tickTimer = null;\n this._tickInterval = null;\n this._tickCallCount = 0;\n this._boundTick = this.tick.bind(this);\n }\n var _proto = TaskLoop.prototype;\n _proto.destroy = function destroy() {\n this.onHandlerDestroying();\n this.onHandlerDestroyed();\n };\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n // clear all timers before unregistering from event bus\n this.clearNextTick();\n this.clearInterval();\n };\n _proto.onHandlerDestroyed = function onHandlerDestroyed() {};\n _proto.hasInterval = function hasInterval() {\n return !!this._tickInterval;\n };\n _proto.hasNextTick = function hasNextTick() {\n return !!this._tickTimer;\n }\n\n /**\n * @param millis - Interval time (ms)\n * @eturns True when interval has been scheduled, false when already scheduled (no effect)\n */;\n _proto.setInterval = function setInterval(millis) {\n if (!this._tickInterval) {\n this._tickCallCount = 0;\n this._tickInterval = self.setInterval(this._boundTick, millis);\n return true;\n }\n return false;\n }\n\n /**\n * @returns True when interval was cleared, false when none was set (no effect)\n */;\n _proto.clearInterval = function clearInterval() {\n if (this._tickInterval) {\n self.clearInterval(this._tickInterval);\n this._tickInterval = null;\n return true;\n }\n return false;\n }\n\n /**\n * @returns True when timeout was cleared, false when none was set (no effect)\n */;\n _proto.clearNextTick = function clearNextTick() {\n if (this._tickTimer) {\n self.clearTimeout(this._tickTimer);\n this._tickTimer = null;\n return true;\n }\n return false;\n }\n\n /**\n * Will call the subclass doTick implementation in this main loop tick\n * or in the next one (via setTimeout(,0)) in case it has already been called\n * in this tick (in case this is a re-entrant call).\n */;\n _proto.tick = function tick() {\n this._tickCallCount++;\n if (this._tickCallCount === 1) {\n this.doTick();\n // re-entrant call to tick from previous doTick call stack\n // -> schedule a call on the next main loop iteration to process this task processing request\n if (this._tickCallCount > 1) {\n // make sure only one timer exists at any time at max\n this.tickImmediate();\n }\n this._tickCallCount = 0;\n }\n };\n _proto.tickImmediate = function tickImmediate() {\n this.clearNextTick();\n this._tickTimer = self.setTimeout(this._boundTick, 0);\n }\n\n /**\n * For subclass to implement task logic\n * @abstract\n */;\n _proto.doTick = function doTick() {};\n return TaskLoop;\n }();\n\n var FragmentState = {\n NOT_LOADED: \"NOT_LOADED\",\n APPENDING: \"APPENDING\",\n PARTIAL: \"PARTIAL\",\n OK: \"OK\"\n };\n var FragmentTracker = /*#__PURE__*/function () {\n function FragmentTracker(hls) {\n this.activePartLists = Object.create(null);\n this.endListFragments = Object.create(null);\n this.fragments = Object.create(null);\n this.timeRanges = Object.create(null);\n this.bufferPadding = 0.2;\n this.hls = void 0;\n this.hasGaps = false;\n this.hls = hls;\n this._registerListeners();\n }\n var _proto = FragmentTracker.prototype;\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.BUFFER_APPENDED, this.onBufferAppended, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.on(Events.FRAG_LOADED, this.onFragLoaded, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.BUFFER_APPENDED, this.onBufferAppended, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.off(Events.FRAG_LOADED, this.onFragLoaded, this);\n };\n _proto.destroy = function destroy() {\n this._unregisterListeners();\n // @ts-ignore\n this.fragments =\n // @ts-ignore\n this.activePartLists =\n // @ts-ignore\n this.endListFragments = this.timeRanges = null;\n }\n\n /**\n * Return a Fragment or Part with an appended range that matches the position and levelType\n * Otherwise, return null\n */;\n _proto.getAppendedFrag = function getAppendedFrag(position, levelType) {\n var activeParts = this.activePartLists[levelType];\n if (activeParts) {\n for (var i = activeParts.length; i--;) {\n var activePart = activeParts[i];\n if (!activePart) {\n break;\n }\n var appendedPTS = activePart.end;\n if (activePart.start <= position && appendedPTS !== null && position <= appendedPTS) {\n return activePart;\n }\n }\n }\n return this.getBufferedFrag(position, levelType);\n }\n\n /**\n * Return a buffered Fragment that matches the position and levelType.\n * A buffered Fragment is one whose loading, parsing and appending is done (completed or \"partial\" meaning aborted).\n * If not found any Fragment, return null\n */;\n _proto.getBufferedFrag = function getBufferedFrag(position, levelType) {\n var fragments = this.fragments;\n var keys = Object.keys(fragments);\n for (var i = keys.length; i--;) {\n var fragmentEntity = fragments[keys[i]];\n if ((fragmentEntity == null ? void 0 : fragmentEntity.body.type) === levelType && fragmentEntity.buffered) {\n var frag = fragmentEntity.body;\n if (frag.start <= position && position <= frag.end) {\n return frag;\n }\n }\n }\n return null;\n }\n\n /**\n * Partial fragments effected by coded frame eviction will be removed\n * The browser will unload parts of the buffer to free up memory for new buffer data\n * Fragments will need to be reloaded when the buffer is freed up, removing partial fragments will allow them to reload(since there might be parts that are still playable)\n */;\n _proto.detectEvictedFragments = function detectEvictedFragments(elementaryStream, timeRange, playlistType, appendedPart) {\n var _this = this;\n if (this.timeRanges) {\n this.timeRanges[elementaryStream] = timeRange;\n }\n // Check if any flagged fragments have been unloaded\n // excluding anything newer than appendedPartSn\n var appendedPartSn = (appendedPart == null ? void 0 : appendedPart.fragment.sn) || -1;\n Object.keys(this.fragments).forEach(function (key) {\n var fragmentEntity = _this.fragments[key];\n if (!fragmentEntity) {\n return;\n }\n if (appendedPartSn >= fragmentEntity.body.sn) {\n return;\n }\n if (!fragmentEntity.buffered && !fragmentEntity.loaded) {\n if (fragmentEntity.body.type === playlistType) {\n _this.removeFragment(fragmentEntity.body);\n }\n return;\n }\n var esData = fragmentEntity.range[elementaryStream];\n if (!esData) {\n return;\n }\n esData.time.some(function (time) {\n var isNotBuffered = !_this.isTimeBuffered(time.startPTS, time.endPTS, timeRange);\n if (isNotBuffered) {\n // Unregister partial fragment as it needs to load again to be reused\n _this.removeFragment(fragmentEntity.body);\n }\n return isNotBuffered;\n });\n });\n }\n\n /**\n * Checks if the fragment passed in is loaded in the buffer properly\n * Partially loaded fragments will be registered as a partial fragment\n */;\n _proto.detectPartialFragments = function detectPartialFragments(data) {\n var _this2 = this;\n var timeRanges = this.timeRanges;\n var frag = data.frag,\n part = data.part;\n if (!timeRanges || frag.sn === 'initSegment') {\n return;\n }\n var fragKey = getFragmentKey(frag);\n var fragmentEntity = this.fragments[fragKey];\n if (!fragmentEntity || fragmentEntity.buffered && frag.gap) {\n return;\n }\n var isFragHint = !frag.relurl;\n Object.keys(timeRanges).forEach(function (elementaryStream) {\n var streamInfo = frag.elementaryStreams[elementaryStream];\n if (!streamInfo) {\n return;\n }\n var timeRange = timeRanges[elementaryStream];\n var partial = isFragHint || streamInfo.partial === true;\n fragmentEntity.range[elementaryStream] = _this2.getBufferedTimes(frag, part, partial, timeRange);\n });\n fragmentEntity.loaded = null;\n if (Object.keys(fragmentEntity.range).length) {\n fragmentEntity.buffered = true;\n var endList = fragmentEntity.body.endList = frag.endList || fragmentEntity.body.endList;\n if (endList) {\n this.endListFragments[fragmentEntity.body.type] = fragmentEntity;\n }\n if (!isPartial(fragmentEntity)) {\n // Remove older fragment parts from lookup after frag is tracked as buffered\n this.removeParts(frag.sn - 1, frag.type);\n }\n } else {\n // remove fragment if nothing was appended\n this.removeFragment(fragmentEntity.body);\n }\n };\n _proto.removeParts = function removeParts(snToKeep, levelType) {\n var activeParts = this.activePartLists[levelType];\n if (!activeParts) {\n return;\n }\n this.activePartLists[levelType] = activeParts.filter(function (part) {\n return part.fragment.sn >= snToKeep;\n });\n };\n _proto.fragBuffered = function fragBuffered(frag, force) {\n var fragKey = getFragmentKey(frag);\n var fragmentEntity = this.fragments[fragKey];\n if (!fragmentEntity && force) {\n fragmentEntity = this.fragments[fragKey] = {\n body: frag,\n appendedPTS: null,\n loaded: null,\n buffered: false,\n range: Object.create(null)\n };\n if (frag.gap) {\n this.hasGaps = true;\n }\n }\n if (fragmentEntity) {\n fragmentEntity.loaded = null;\n fragmentEntity.buffered = true;\n }\n };\n _proto.getBufferedTimes = function getBufferedTimes(fragment, part, partial, timeRange) {\n var buffered = {\n time: [],\n partial: partial\n };\n var startPTS = fragment.start;\n var endPTS = fragment.end;\n var minEndPTS = fragment.minEndPTS || endPTS;\n var maxStartPTS = fragment.maxStartPTS || startPTS;\n for (var i = 0; i < timeRange.length; i++) {\n var startTime = timeRange.start(i) - this.bufferPadding;\n var endTime = timeRange.end(i) + this.bufferPadding;\n if (maxStartPTS >= startTime && minEndPTS <= endTime) {\n // Fragment is entirely contained in buffer\n // No need to check the other timeRange times since it's completely playable\n buffered.time.push({\n startPTS: Math.max(startPTS, timeRange.start(i)),\n endPTS: Math.min(endPTS, timeRange.end(i))\n });\n break;\n } else if (startPTS < endTime && endPTS > startTime) {\n var start = Math.max(startPTS, timeRange.start(i));\n var end = Math.min(endPTS, timeRange.end(i));\n if (end > start) {\n buffered.partial = true;\n // Check for intersection with buffer\n // Get playable sections of the fragment\n buffered.time.push({\n startPTS: start,\n endPTS: end\n });\n }\n } else if (endPTS <= startTime) {\n // No need to check the rest of the timeRange as it is in order\n break;\n }\n }\n return buffered;\n }\n\n /**\n * Gets the partial fragment for a certain time\n */;\n _proto.getPartialFragment = function getPartialFragment(time) {\n var bestFragment = null;\n var timePadding;\n var startTime;\n var endTime;\n var bestOverlap = 0;\n var bufferPadding = this.bufferPadding,\n fragments = this.fragments;\n Object.keys(fragments).forEach(function (key) {\n var fragmentEntity = fragments[key];\n if (!fragmentEntity) {\n return;\n }\n if (isPartial(fragmentEntity)) {\n startTime = fragmentEntity.body.start - bufferPadding;\n endTime = fragmentEntity.body.end + bufferPadding;\n if (time >= startTime && time <= endTime) {\n // Use the fragment that has the most padding from start and end time\n timePadding = Math.min(time - startTime, endTime - time);\n if (bestOverlap <= timePadding) {\n bestFragment = fragmentEntity.body;\n bestOverlap = timePadding;\n }\n }\n }\n });\n return bestFragment;\n };\n _proto.isEndListAppended = function isEndListAppended(type) {\n var lastFragmentEntity = this.endListFragments[type];\n return lastFragmentEntity !== undefined && (lastFragmentEntity.buffered || isPartial(lastFragmentEntity));\n };\n _proto.getState = function getState(fragment) {\n var fragKey = getFragmentKey(fragment);\n var fragmentEntity = this.fragments[fragKey];\n if (fragmentEntity) {\n if (!fragmentEntity.buffered) {\n return FragmentState.APPENDING;\n } else if (isPartial(fragmentEntity)) {\n return FragmentState.PARTIAL;\n } else {\n return FragmentState.OK;\n }\n }\n return FragmentState.NOT_LOADED;\n };\n _proto.isTimeBuffered = function isTimeBuffered(startPTS, endPTS, timeRange) {\n var startTime;\n var endTime;\n for (var i = 0; i < timeRange.length; i++) {\n startTime = timeRange.start(i) - this.bufferPadding;\n endTime = timeRange.end(i) + this.bufferPadding;\n if (startPTS >= startTime && endPTS <= endTime) {\n return true;\n }\n if (endPTS <= startTime) {\n // No need to check the rest of the timeRange as it is in order\n return false;\n }\n }\n return false;\n };\n _proto.onFragLoaded = function onFragLoaded(event, data) {\n var frag = data.frag,\n part = data.part;\n // don't track initsegment (for which sn is not a number)\n // don't track frags used for bitrateTest, they're irrelevant.\n if (frag.sn === 'initSegment' || frag.bitrateTest) {\n return;\n }\n\n // Fragment entity `loaded` FragLoadedData is null when loading parts\n var loaded = part ? null : data;\n var fragKey = getFragmentKey(frag);\n this.fragments[fragKey] = {\n body: frag,\n appendedPTS: null,\n loaded: loaded,\n buffered: false,\n range: Object.create(null)\n };\n };\n _proto.onBufferAppended = function onBufferAppended(event, data) {\n var _this3 = this;\n var frag = data.frag,\n part = data.part,\n timeRanges = data.timeRanges;\n if (frag.sn === 'initSegment') {\n return;\n }\n var playlistType = frag.type;\n if (part) {\n var activeParts = this.activePartLists[playlistType];\n if (!activeParts) {\n this.activePartLists[playlistType] = activeParts = [];\n }\n activeParts.push(part);\n }\n // Store the latest timeRanges loaded in the buffer\n this.timeRanges = timeRanges;\n Object.keys(timeRanges).forEach(function (elementaryStream) {\n var timeRange = timeRanges[elementaryStream];\n _this3.detectEvictedFragments(elementaryStream, timeRange, playlistType, part);\n });\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n this.detectPartialFragments(data);\n };\n _proto.hasFragment = function hasFragment(fragment) {\n var fragKey = getFragmentKey(fragment);\n return !!this.fragments[fragKey];\n };\n _proto.hasParts = function hasParts(type) {\n var _this$activePartLists;\n return !!((_this$activePartLists = this.activePartLists[type]) != null && _this$activePartLists.length);\n };\n _proto.removeFragmentsInRange = function removeFragmentsInRange(start, end, playlistType, withGapOnly, unbufferedOnly) {\n var _this4 = this;\n if (withGapOnly && !this.hasGaps) {\n return;\n }\n Object.keys(this.fragments).forEach(function (key) {\n var fragmentEntity = _this4.fragments[key];\n if (!fragmentEntity) {\n return;\n }\n var frag = fragmentEntity.body;\n if (frag.type !== playlistType || withGapOnly && !frag.gap) {\n return;\n }\n if (frag.start < end && frag.end > start && (fragmentEntity.buffered || unbufferedOnly)) {\n _this4.removeFragment(frag);\n }\n });\n };\n _proto.removeFragment = function removeFragment(fragment) {\n var fragKey = getFragmentKey(fragment);\n fragment.stats.loaded = 0;\n fragment.clearElementaryStreamInfo();\n var activeParts = this.activePartLists[fragment.type];\n if (activeParts) {\n var snToRemove = fragment.sn;\n this.activePartLists[fragment.type] = activeParts.filter(function (part) {\n return part.fragment.sn !== snToRemove;\n });\n }\n delete this.fragments[fragKey];\n if (fragment.endList) {\n delete this.endListFragments[fragment.type];\n }\n };\n _proto.removeAllFragments = function removeAllFragments() {\n this.fragments = Object.create(null);\n this.endListFragments = Object.create(null);\n this.activePartLists = Object.create(null);\n this.hasGaps = false;\n };\n return FragmentTracker;\n }();\n function isPartial(fragmentEntity) {\n var _fragmentEntity$range, _fragmentEntity$range2, _fragmentEntity$range3;\n return fragmentEntity.buffered && (fragmentEntity.body.gap || ((_fragmentEntity$range = fragmentEntity.range.video) == null ? void 0 : _fragmentEntity$range.partial) || ((_fragmentEntity$range2 = fragmentEntity.range.audio) == null ? void 0 : _fragmentEntity$range2.partial) || ((_fragmentEntity$range3 = fragmentEntity.range.audiovideo) == null ? void 0 : _fragmentEntity$range3.partial));\n }\n function getFragmentKey(fragment) {\n return fragment.type + \"_\" + fragment.level + \"_\" + fragment.sn;\n }\n\n /**\n * Provides methods dealing with buffer length retrieval for example.\n *\n * In general, a helper around HTML5 MediaElement TimeRanges gathered from `buffered` property.\n *\n * Also @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/buffered\n */\n\n var noopBuffered = {\n length: 0,\n start: function start() {\n return 0;\n },\n end: function end() {\n return 0;\n }\n };\n var BufferHelper = /*#__PURE__*/function () {\n function BufferHelper() {}\n /**\n * Return true if `media`'s buffered include `position`\n */\n BufferHelper.isBuffered = function isBuffered(media, position) {\n try {\n if (media) {\n var buffered = BufferHelper.getBuffered(media);\n for (var i = 0; i < buffered.length; i++) {\n if (position >= buffered.start(i) && position <= buffered.end(i)) {\n return true;\n }\n }\n }\n } catch (error) {\n // this is to catch\n // InvalidStateError: Failed to read the 'buffered' property from 'SourceBuffer':\n // This SourceBuffer has been removed from the parent media source\n }\n return false;\n };\n BufferHelper.bufferInfo = function bufferInfo(media, pos, maxHoleDuration) {\n try {\n if (media) {\n var vbuffered = BufferHelper.getBuffered(media);\n var buffered = [];\n var i;\n for (i = 0; i < vbuffered.length; i++) {\n buffered.push({\n start: vbuffered.start(i),\n end: vbuffered.end(i)\n });\n }\n return this.bufferedInfo(buffered, pos, maxHoleDuration);\n }\n } catch (error) {\n // this is to catch\n // InvalidStateError: Failed to read the 'buffered' property from 'SourceBuffer':\n // This SourceBuffer has been removed from the parent media source\n }\n return {\n len: 0,\n start: pos,\n end: pos,\n nextStart: undefined\n };\n };\n BufferHelper.bufferedInfo = function bufferedInfo(buffered, pos, maxHoleDuration) {\n pos = Math.max(0, pos);\n // sort on buffer.start/smaller end (IE does not always return sorted buffered range)\n buffered.sort(function (a, b) {\n var diff = a.start - b.start;\n if (diff) {\n return diff;\n } else {\n return b.end - a.end;\n }\n });\n var buffered2 = [];\n if (maxHoleDuration) {\n // there might be some small holes between buffer time range\n // consider that holes smaller than maxHoleDuration are irrelevant and build another\n // buffer time range representations that discards those holes\n for (var i = 0; i < buffered.length; i++) {\n var buf2len = buffered2.length;\n if (buf2len) {\n var buf2end = buffered2[buf2len - 1].end;\n // if small hole (value between 0 or maxHoleDuration ) or overlapping (negative)\n if (buffered[i].start - buf2end < maxHoleDuration) {\n // merge overlapping time ranges\n // update lastRange.end only if smaller than item.end\n // e.g. [ 1, 15] with [ 2,8] => [ 1,15] (no need to modify lastRange.end)\n // whereas [ 1, 8] with [ 2,15] => [ 1,15] ( lastRange should switch from [1,8] to [1,15])\n if (buffered[i].end > buf2end) {\n buffered2[buf2len - 1].end = buffered[i].end;\n }\n } else {\n // big hole\n buffered2.push(buffered[i]);\n }\n } else {\n // first value\n buffered2.push(buffered[i]);\n }\n }\n } else {\n buffered2 = buffered;\n }\n var bufferLen = 0;\n\n // bufferStartNext can possibly be undefined based on the conditional logic below\n var bufferStartNext;\n\n // bufferStart and bufferEnd are buffer boundaries around current video position\n var bufferStart = pos;\n var bufferEnd = pos;\n for (var _i = 0; _i < buffered2.length; _i++) {\n var start = buffered2[_i].start;\n var end = buffered2[_i].end;\n // logger.log('buf start/end:' + buffered.start(i) + '/' + buffered.end(i));\n if (pos + maxHoleDuration >= start && pos < end) {\n // play position is inside this buffer TimeRange, retrieve end of buffer position and buffer length\n bufferStart = start;\n bufferEnd = end;\n bufferLen = bufferEnd - pos;\n } else if (pos + maxHoleDuration < start) {\n bufferStartNext = start;\n break;\n }\n }\n return {\n len: bufferLen,\n start: bufferStart || 0,\n end: bufferEnd || 0,\n nextStart: bufferStartNext\n };\n }\n\n /**\n * Safe method to get buffered property.\n * SourceBuffer.buffered may throw if SourceBuffer is removed from it's MediaSource\n */;\n BufferHelper.getBuffered = function getBuffered(media) {\n try {\n return media.buffered;\n } catch (e) {\n logger.log('failed to get media.buffered', e);\n return noopBuffered;\n }\n };\n return BufferHelper;\n }();\n\n var ChunkMetadata = function ChunkMetadata(level, sn, id, size, part, partial) {\n if (size === void 0) {\n size = 0;\n }\n if (part === void 0) {\n part = -1;\n }\n if (partial === void 0) {\n partial = false;\n }\n this.level = void 0;\n this.sn = void 0;\n this.part = void 0;\n this.id = void 0;\n this.size = void 0;\n this.partial = void 0;\n this.transmuxing = getNewPerformanceTiming();\n this.buffering = {\n audio: getNewPerformanceTiming(),\n video: getNewPerformanceTiming(),\n audiovideo: getNewPerformanceTiming()\n };\n this.level = level;\n this.sn = sn;\n this.id = id;\n this.size = size;\n this.part = part;\n this.partial = partial;\n };\n function getNewPerformanceTiming() {\n return {\n start: 0,\n executeStart: 0,\n executeEnd: 0,\n end: 0\n };\n }\n\n function findFirstFragWithCC(fragments, cc) {\n for (var i = 0, len = fragments.length; i < len; i++) {\n var _fragments$i;\n if (((_fragments$i = fragments[i]) == null ? void 0 : _fragments$i.cc) === cc) {\n return fragments[i];\n }\n }\n return null;\n }\n function shouldAlignOnDiscontinuities(lastFrag, switchDetails, details) {\n if (switchDetails) {\n if (details.endCC > details.startCC || lastFrag && lastFrag.cc < details.startCC) {\n return true;\n }\n }\n return false;\n }\n\n // Find the first frag in the previous level which matches the CC of the first frag of the new level\n function findDiscontinuousReferenceFrag(prevDetails, curDetails) {\n var prevFrags = prevDetails.fragments;\n var curFrags = curDetails.fragments;\n if (!curFrags.length || !prevFrags.length) {\n logger.log('No fragments to align');\n return;\n }\n var prevStartFrag = findFirstFragWithCC(prevFrags, curFrags[0].cc);\n if (!prevStartFrag || prevStartFrag && !prevStartFrag.startPTS) {\n logger.log('No frag in previous level to align on');\n return;\n }\n return prevStartFrag;\n }\n function adjustFragmentStart(frag, sliding) {\n if (frag) {\n var start = frag.start + sliding;\n frag.start = frag.startPTS = start;\n frag.endPTS = start + frag.duration;\n }\n }\n function adjustSlidingStart(sliding, details) {\n // Update segments\n var fragments = details.fragments;\n for (var i = 0, len = fragments.length; i < len; i++) {\n adjustFragmentStart(fragments[i], sliding);\n }\n // Update LL-HLS parts at the end of the playlist\n if (details.fragmentHint) {\n adjustFragmentStart(details.fragmentHint, sliding);\n }\n details.alignedSliding = true;\n }\n\n /**\n * Using the parameters of the last level, this function computes PTS' of the new fragments so that they form a\n * contiguous stream with the last fragments.\n * The PTS of a fragment lets Hls.js know where it fits into a stream - by knowing every PTS, we know which fragment to\n * download at any given time. PTS is normally computed when the fragment is demuxed, so taking this step saves us time\n * and an extra download.\n * @param lastFrag\n * @param lastLevel\n * @param details\n */\n function alignStream(lastFrag, switchDetails, details) {\n if (!switchDetails) {\n return;\n }\n alignDiscontinuities(lastFrag, details, switchDetails);\n if (!details.alignedSliding && switchDetails) {\n // If the PTS wasn't figured out via discontinuity sequence that means there was no CC increase within the level.\n // Aligning via Program Date Time should therefore be reliable, since PDT should be the same within the same\n // discontinuity sequence.\n alignMediaPlaylistByPDT(details, switchDetails);\n }\n if (!details.alignedSliding && switchDetails && !details.skippedSegments) {\n // Try to align on sn so that we pick a better start fragment.\n // Do not perform this on playlists with delta updates as this is only to align levels on switch\n // and adjustSliding only adjusts fragments after skippedSegments.\n adjustSliding(switchDetails, details);\n }\n }\n\n /**\n * Computes the PTS if a new level's fragments using the PTS of a fragment in the last level which shares the same\n * discontinuity sequence.\n * @param lastFrag - The last Fragment which shares the same discontinuity sequence\n * @param lastLevel - The details of the last loaded level\n * @param details - The details of the new level\n */\n function alignDiscontinuities(lastFrag, details, switchDetails) {\n if (shouldAlignOnDiscontinuities(lastFrag, switchDetails, details)) {\n var referenceFrag = findDiscontinuousReferenceFrag(switchDetails, details);\n if (referenceFrag && isFiniteNumber(referenceFrag.start)) {\n logger.log(\"Adjusting PTS using last level due to CC increase within current level \" + details.url);\n adjustSlidingStart(referenceFrag.start, details);\n }\n }\n }\n\n /**\n * Ensures appropriate time-alignment between renditions based on PDT.\n * This function assumes the timelines represented in `refDetails` are accurate, including the PDTs\n * for the last discontinuity sequence number shared by both playlists when present,\n * and uses the \"wallclock\"/PDT timeline as a cross-reference to `details`, adjusting the presentation\n * times/timelines of `details` accordingly.\n * Given the asynchronous nature of fetches and initial loads of live `main` and audio/subtitle tracks,\n * the primary purpose of this function is to ensure the \"local timelines\" of audio/subtitle tracks\n * are aligned to the main/video timeline, using PDT as the cross-reference/\"anchor\" that should\n * be consistent across playlists, per the HLS spec.\n * @param details - The details of the rendition you'd like to time-align (e.g. an audio rendition).\n * @param refDetails - The details of the reference rendition with start and PDT times for alignment.\n */\n function alignMediaPlaylistByPDT(details, refDetails) {\n if (!details.hasProgramDateTime || !refDetails.hasProgramDateTime) {\n return;\n }\n var fragments = details.fragments;\n var refFragments = refDetails.fragments;\n if (!fragments.length || !refFragments.length) {\n return;\n }\n\n // Calculate a delta to apply to all fragments according to the delta in PDT times and start times\n // of a fragment in the reference details, and a fragment in the target details of the same discontinuity.\n // If a fragment of the same discontinuity was not found use the middle fragment of both.\n var refFrag;\n var frag;\n var targetCC = Math.min(refDetails.endCC, details.endCC);\n if (refDetails.startCC < targetCC && details.startCC < targetCC) {\n refFrag = findFirstFragWithCC(refFragments, targetCC);\n frag = findFirstFragWithCC(fragments, targetCC);\n }\n if (!refFrag || !frag) {\n refFrag = refFragments[Math.floor(refFragments.length / 2)];\n frag = findFirstFragWithCC(fragments, refFrag.cc) || fragments[Math.floor(fragments.length / 2)];\n }\n var refPDT = refFrag.programDateTime;\n var targetPDT = frag.programDateTime;\n if (!refPDT || !targetPDT) {\n return;\n }\n var delta = (targetPDT - refPDT) / 1000 - (frag.start - refFrag.start);\n adjustSlidingStart(delta, details);\n }\n\n var MIN_CHUNK_SIZE = Math.pow(2, 17); // 128kb\n var FragmentLoader = /*#__PURE__*/function () {\n function FragmentLoader(config) {\n this.config = void 0;\n this.loader = null;\n this.partLoadTimeout = -1;\n this.config = config;\n }\n var _proto = FragmentLoader.prototype;\n _proto.destroy = function destroy() {\n if (this.loader) {\n this.loader.destroy();\n this.loader = null;\n }\n };\n _proto.abort = function abort() {\n if (this.loader) {\n // Abort the loader for current fragment. Only one may load at any given time\n this.loader.abort();\n }\n };\n _proto.load = function load(frag, _onProgress) {\n var _this = this;\n var url = frag.url;\n if (!url) {\n return Promise.reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_ERROR,\n fatal: false,\n frag: frag,\n error: new Error(\"Fragment does not have a \" + (url ? 'part list' : 'url')),\n networkDetails: null\n }));\n }\n this.abort();\n var config = this.config;\n var FragmentILoader = config.fLoader;\n var DefaultILoader = config.loader;\n return new Promise(function (resolve, reject) {\n if (_this.loader) {\n _this.loader.destroy();\n }\n if (frag.gap) {\n if (frag.tagList.some(function (tags) {\n return tags[0] === 'GAP';\n })) {\n reject(createGapLoadError(frag));\n return;\n } else {\n // Reset temporary treatment as GAP tag\n frag.gap = false;\n }\n }\n var loader = _this.loader = frag.loader = FragmentILoader ? new FragmentILoader(config) : new DefaultILoader(config);\n var loaderContext = createLoaderContext(frag);\n var loadPolicy = getLoaderConfigWithoutReties(config.fragLoadPolicy.default);\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: 0,\n retryDelay: 0,\n maxRetryDelay: 0,\n highWaterMark: frag.sn === 'initSegment' ? Infinity : MIN_CHUNK_SIZE\n };\n // Assign frag stats to the loader's stats reference\n frag.stats = loader.stats;\n loader.load(loaderContext, loaderConfig, {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n _this.resetLoader(frag, loader);\n var payload = response.data;\n if (context.resetIV && frag.decryptdata) {\n frag.decryptdata.iv = new Uint8Array(payload.slice(0, 16));\n payload = payload.slice(16);\n }\n resolve({\n frag: frag,\n part: null,\n payload: payload,\n networkDetails: networkDetails\n });\n },\n onError: function onError(response, context, networkDetails, stats) {\n _this.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_ERROR,\n fatal: false,\n frag: frag,\n response: _objectSpread2({\n url: url,\n data: undefined\n }, response),\n error: new Error(\"HTTP Error \" + response.code + \" \" + response.text),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onAbort: function onAbort(stats, context, networkDetails) {\n _this.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.INTERNAL_ABORTED,\n fatal: false,\n frag: frag,\n error: new Error('Aborted'),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_TIMEOUT,\n fatal: false,\n frag: frag,\n error: new Error(\"Timeout after \" + loaderConfig.timeout + \"ms\"),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onProgress: function onProgress(stats, context, data, networkDetails) {\n if (_onProgress) {\n _onProgress({\n frag: frag,\n part: null,\n payload: data,\n networkDetails: networkDetails\n });\n }\n }\n });\n });\n };\n _proto.loadPart = function loadPart(frag, part, onProgress) {\n var _this2 = this;\n this.abort();\n var config = this.config;\n var FragmentILoader = config.fLoader;\n var DefaultILoader = config.loader;\n return new Promise(function (resolve, reject) {\n if (_this2.loader) {\n _this2.loader.destroy();\n }\n if (frag.gap || part.gap) {\n reject(createGapLoadError(frag, part));\n return;\n }\n var loader = _this2.loader = frag.loader = FragmentILoader ? new FragmentILoader(config) : new DefaultILoader(config);\n var loaderContext = createLoaderContext(frag, part);\n // Should we define another load policy for parts?\n var loadPolicy = getLoaderConfigWithoutReties(config.fragLoadPolicy.default);\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: 0,\n retryDelay: 0,\n maxRetryDelay: 0,\n highWaterMark: MIN_CHUNK_SIZE\n };\n // Assign part stats to the loader's stats reference\n part.stats = loader.stats;\n loader.load(loaderContext, loaderConfig, {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n _this2.resetLoader(frag, loader);\n _this2.updateStatsFromPart(frag, part);\n var partLoadedData = {\n frag: frag,\n part: part,\n payload: response.data,\n networkDetails: networkDetails\n };\n onProgress(partLoadedData);\n resolve(partLoadedData);\n },\n onError: function onError(response, context, networkDetails, stats) {\n _this2.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_ERROR,\n fatal: false,\n frag: frag,\n part: part,\n response: _objectSpread2({\n url: loaderContext.url,\n data: undefined\n }, response),\n error: new Error(\"HTTP Error \" + response.code + \" \" + response.text),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onAbort: function onAbort(stats, context, networkDetails) {\n frag.stats.aborted = part.stats.aborted;\n _this2.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.INTERNAL_ABORTED,\n fatal: false,\n frag: frag,\n part: part,\n error: new Error('Aborted'),\n networkDetails: networkDetails,\n stats: stats\n }));\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this2.resetLoader(frag, loader);\n reject(new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: ErrorDetails.FRAG_LOAD_TIMEOUT,\n fatal: false,\n frag: frag,\n part: part,\n error: new Error(\"Timeout after \" + loaderConfig.timeout + \"ms\"),\n networkDetails: networkDetails,\n stats: stats\n }));\n }\n });\n });\n };\n _proto.updateStatsFromPart = function updateStatsFromPart(frag, part) {\n var fragStats = frag.stats;\n var partStats = part.stats;\n var partTotal = partStats.total;\n fragStats.loaded += partStats.loaded;\n if (partTotal) {\n var estTotalParts = Math.round(frag.duration / part.duration);\n var estLoadedParts = Math.min(Math.round(fragStats.loaded / partTotal), estTotalParts);\n var estRemainingParts = estTotalParts - estLoadedParts;\n var estRemainingBytes = estRemainingParts * Math.round(fragStats.loaded / estLoadedParts);\n fragStats.total = fragStats.loaded + estRemainingBytes;\n } else {\n fragStats.total = Math.max(fragStats.loaded, fragStats.total);\n }\n var fragLoading = fragStats.loading;\n var partLoading = partStats.loading;\n if (fragLoading.start) {\n // add to fragment loader latency\n fragLoading.first += partLoading.first - partLoading.start;\n } else {\n fragLoading.start = partLoading.start;\n fragLoading.first = partLoading.first;\n }\n fragLoading.end = partLoading.end;\n };\n _proto.resetLoader = function resetLoader(frag, loader) {\n frag.loader = null;\n if (this.loader === loader) {\n self.clearTimeout(this.partLoadTimeout);\n this.loader = null;\n }\n loader.destroy();\n };\n return FragmentLoader;\n }();\n function createLoaderContext(frag, part) {\n if (part === void 0) {\n part = null;\n }\n var segment = part || frag;\n var loaderContext = {\n frag: frag,\n part: part,\n responseType: 'arraybuffer',\n url: segment.url,\n headers: {},\n rangeStart: 0,\n rangeEnd: 0\n };\n var start = segment.byteRangeStartOffset;\n var end = segment.byteRangeEndOffset;\n if (isFiniteNumber(start) && isFiniteNumber(end)) {\n var _frag$decryptdata;\n var byteRangeStart = start;\n var byteRangeEnd = end;\n if (frag.sn === 'initSegment' && ((_frag$decryptdata = frag.decryptdata) == null ? void 0 : _frag$decryptdata.method) === 'AES-128') {\n // MAP segment encrypted with method 'AES-128', when served with HTTP Range,\n // has the unencrypted size specified in the range.\n // Ref: https://tools.ietf.org/html/draft-pantos-hls-rfc8216bis-08#section-6.3.6\n var fragmentLen = end - start;\n if (fragmentLen % 16) {\n byteRangeEnd = end + (16 - fragmentLen % 16);\n }\n if (start !== 0) {\n loaderContext.resetIV = true;\n byteRangeStart = start - 16;\n }\n }\n loaderContext.rangeStart = byteRangeStart;\n loaderContext.rangeEnd = byteRangeEnd;\n }\n return loaderContext;\n }\n function createGapLoadError(frag, part) {\n var error = new Error(\"GAP \" + (frag.gap ? 'tag' : 'attribute') + \" found\");\n var errorData = {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_GAP,\n fatal: false,\n frag: frag,\n error: error,\n networkDetails: null\n };\n if (part) {\n errorData.part = part;\n }\n (part ? part : frag).stats.aborted = true;\n return new LoadError(errorData);\n }\n var LoadError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(LoadError, _Error);\n function LoadError(data) {\n var _this3;\n _this3 = _Error.call(this, data.error.message) || this;\n _this3.data = void 0;\n _this3.data = data;\n return _this3;\n }\n return LoadError;\n }( /*#__PURE__*/_wrapNativeSuper(Error));\n\n var AESCrypto = /*#__PURE__*/function () {\n function AESCrypto(subtle, iv) {\n this.subtle = void 0;\n this.aesIV = void 0;\n this.subtle = subtle;\n this.aesIV = iv;\n }\n var _proto = AESCrypto.prototype;\n _proto.decrypt = function decrypt(data, key) {\n return this.subtle.decrypt({\n name: 'AES-CBC',\n iv: this.aesIV\n }, key, data);\n };\n return AESCrypto;\n }();\n\n var FastAESKey = /*#__PURE__*/function () {\n function FastAESKey(subtle, key) {\n this.subtle = void 0;\n this.key = void 0;\n this.subtle = subtle;\n this.key = key;\n }\n var _proto = FastAESKey.prototype;\n _proto.expandKey = function expandKey() {\n return this.subtle.importKey('raw', this.key, {\n name: 'AES-CBC'\n }, false, ['encrypt', 'decrypt']);\n };\n return FastAESKey;\n }();\n\n // PKCS7\n function removePadding(array) {\n var outputBytes = array.byteLength;\n var paddingBytes = outputBytes && new DataView(array.buffer).getUint8(outputBytes - 1);\n if (paddingBytes) {\n return sliceUint8(array, 0, outputBytes - paddingBytes);\n }\n return array;\n }\n var AESDecryptor = /*#__PURE__*/function () {\n function AESDecryptor() {\n this.rcon = [0x0, 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];\n this.subMix = [new Uint32Array(256), new Uint32Array(256), new Uint32Array(256), new Uint32Array(256)];\n this.invSubMix = [new Uint32Array(256), new Uint32Array(256), new Uint32Array(256), new Uint32Array(256)];\n this.sBox = new Uint32Array(256);\n this.invSBox = new Uint32Array(256);\n this.key = new Uint32Array(0);\n this.ksRows = 0;\n this.keySize = 0;\n this.keySchedule = void 0;\n this.invKeySchedule = void 0;\n this.initTable();\n }\n\n // Using view.getUint32() also swaps the byte order.\n var _proto = AESDecryptor.prototype;\n _proto.uint8ArrayToUint32Array_ = function uint8ArrayToUint32Array_(arrayBuffer) {\n var view = new DataView(arrayBuffer);\n var newArray = new Uint32Array(4);\n for (var i = 0; i < 4; i++) {\n newArray[i] = view.getUint32(i * 4);\n }\n return newArray;\n };\n _proto.initTable = function initTable() {\n var sBox = this.sBox;\n var invSBox = this.invSBox;\n var subMix = this.subMix;\n var subMix0 = subMix[0];\n var subMix1 = subMix[1];\n var subMix2 = subMix[2];\n var subMix3 = subMix[3];\n var invSubMix = this.invSubMix;\n var invSubMix0 = invSubMix[0];\n var invSubMix1 = invSubMix[1];\n var invSubMix2 = invSubMix[2];\n var invSubMix3 = invSubMix[3];\n var d = new Uint32Array(256);\n var x = 0;\n var xi = 0;\n var i = 0;\n for (i = 0; i < 256; i++) {\n if (i < 128) {\n d[i] = i << 1;\n } else {\n d[i] = i << 1 ^ 0x11b;\n }\n }\n for (i = 0; i < 256; i++) {\n var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;\n sx = sx >>> 8 ^ sx & 0xff ^ 0x63;\n sBox[x] = sx;\n invSBox[sx] = x;\n\n // Compute multiplication\n var x2 = d[x];\n var x4 = d[x2];\n var x8 = d[x4];\n\n // Compute sub/invSub bytes, mix columns tables\n var t = d[sx] * 0x101 ^ sx * 0x1010100;\n subMix0[x] = t << 24 | t >>> 8;\n subMix1[x] = t << 16 | t >>> 16;\n subMix2[x] = t << 8 | t >>> 24;\n subMix3[x] = t;\n\n // Compute inv sub bytes, inv mix columns tables\n t = x8 * 0x1010101 ^ x4 * 0x10001 ^ x2 * 0x101 ^ x * 0x1010100;\n invSubMix0[sx] = t << 24 | t >>> 8;\n invSubMix1[sx] = t << 16 | t >>> 16;\n invSubMix2[sx] = t << 8 | t >>> 24;\n invSubMix3[sx] = t;\n\n // Compute next counter\n if (!x) {\n x = xi = 1;\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]];\n xi ^= d[d[xi]];\n }\n }\n };\n _proto.expandKey = function expandKey(keyBuffer) {\n // convert keyBuffer to Uint32Array\n var key = this.uint8ArrayToUint32Array_(keyBuffer);\n var sameKey = true;\n var offset = 0;\n while (offset < key.length && sameKey) {\n sameKey = key[offset] === this.key[offset];\n offset++;\n }\n if (sameKey) {\n return;\n }\n this.key = key;\n var keySize = this.keySize = key.length;\n if (keySize !== 4 && keySize !== 6 && keySize !== 8) {\n throw new Error('Invalid aes key size=' + keySize);\n }\n var ksRows = this.ksRows = (keySize + 6 + 1) * 4;\n var ksRow;\n var invKsRow;\n var keySchedule = this.keySchedule = new Uint32Array(ksRows);\n var invKeySchedule = this.invKeySchedule = new Uint32Array(ksRows);\n var sbox = this.sBox;\n var rcon = this.rcon;\n var invSubMix = this.invSubMix;\n var invSubMix0 = invSubMix[0];\n var invSubMix1 = invSubMix[1];\n var invSubMix2 = invSubMix[2];\n var invSubMix3 = invSubMix[3];\n var prev;\n var t;\n for (ksRow = 0; ksRow < ksRows; ksRow++) {\n if (ksRow < keySize) {\n prev = keySchedule[ksRow] = key[ksRow];\n continue;\n }\n t = prev;\n if (ksRow % keySize === 0) {\n // Rot word\n t = t << 8 | t >>> 24;\n\n // Sub word\n t = sbox[t >>> 24] << 24 | sbox[t >>> 16 & 0xff] << 16 | sbox[t >>> 8 & 0xff] << 8 | sbox[t & 0xff];\n\n // Mix Rcon\n t ^= rcon[ksRow / keySize | 0] << 24;\n } else if (keySize > 6 && ksRow % keySize === 4) {\n // Sub word\n t = sbox[t >>> 24] << 24 | sbox[t >>> 16 & 0xff] << 16 | sbox[t >>> 8 & 0xff] << 8 | sbox[t & 0xff];\n }\n keySchedule[ksRow] = prev = (keySchedule[ksRow - keySize] ^ t) >>> 0;\n }\n for (invKsRow = 0; invKsRow < ksRows; invKsRow++) {\n ksRow = ksRows - invKsRow;\n if (invKsRow & 3) {\n t = keySchedule[ksRow];\n } else {\n t = keySchedule[ksRow - 4];\n }\n if (invKsRow < 4 || ksRow <= 4) {\n invKeySchedule[invKsRow] = t;\n } else {\n invKeySchedule[invKsRow] = invSubMix0[sbox[t >>> 24]] ^ invSubMix1[sbox[t >>> 16 & 0xff]] ^ invSubMix2[sbox[t >>> 8 & 0xff]] ^ invSubMix3[sbox[t & 0xff]];\n }\n invKeySchedule[invKsRow] = invKeySchedule[invKsRow] >>> 0;\n }\n }\n\n // Adding this as a method greatly improves performance.\n ;\n _proto.networkToHostOrderSwap = function networkToHostOrderSwap(word) {\n return word << 24 | (word & 0xff00) << 8 | (word & 0xff0000) >> 8 | word >>> 24;\n };\n _proto.decrypt = function decrypt(inputArrayBuffer, offset, aesIV) {\n var nRounds = this.keySize + 6;\n var invKeySchedule = this.invKeySchedule;\n var invSBOX = this.invSBox;\n var invSubMix = this.invSubMix;\n var invSubMix0 = invSubMix[0];\n var invSubMix1 = invSubMix[1];\n var invSubMix2 = invSubMix[2];\n var invSubMix3 = invSubMix[3];\n var initVector = this.uint8ArrayToUint32Array_(aesIV);\n var initVector0 = initVector[0];\n var initVector1 = initVector[1];\n var initVector2 = initVector[2];\n var initVector3 = initVector[3];\n var inputInt32 = new Int32Array(inputArrayBuffer);\n var outputInt32 = new Int32Array(inputInt32.length);\n var t0, t1, t2, t3;\n var s0, s1, s2, s3;\n var inputWords0, inputWords1, inputWords2, inputWords3;\n var ksRow, i;\n var swapWord = this.networkToHostOrderSwap;\n while (offset < inputInt32.length) {\n inputWords0 = swapWord(inputInt32[offset]);\n inputWords1 = swapWord(inputInt32[offset + 1]);\n inputWords2 = swapWord(inputInt32[offset + 2]);\n inputWords3 = swapWord(inputInt32[offset + 3]);\n s0 = inputWords0 ^ invKeySchedule[0];\n s1 = inputWords3 ^ invKeySchedule[1];\n s2 = inputWords2 ^ invKeySchedule[2];\n s3 = inputWords1 ^ invKeySchedule[3];\n ksRow = 4;\n\n // Iterate through the rounds of decryption\n for (i = 1; i < nRounds; i++) {\n t0 = invSubMix0[s0 >>> 24] ^ invSubMix1[s1 >> 16 & 0xff] ^ invSubMix2[s2 >> 8 & 0xff] ^ invSubMix3[s3 & 0xff] ^ invKeySchedule[ksRow];\n t1 = invSubMix0[s1 >>> 24] ^ invSubMix1[s2 >> 16 & 0xff] ^ invSubMix2[s3 >> 8 & 0xff] ^ invSubMix3[s0 & 0xff] ^ invKeySchedule[ksRow + 1];\n t2 = invSubMix0[s2 >>> 24] ^ invSubMix1[s3 >> 16 & 0xff] ^ invSubMix2[s0 >> 8 & 0xff] ^ invSubMix3[s1 & 0xff] ^ invKeySchedule[ksRow + 2];\n t3 = invSubMix0[s3 >>> 24] ^ invSubMix1[s0 >> 16 & 0xff] ^ invSubMix2[s1 >> 8 & 0xff] ^ invSubMix3[s2 & 0xff] ^ invKeySchedule[ksRow + 3];\n // Update state\n s0 = t0;\n s1 = t1;\n s2 = t2;\n s3 = t3;\n ksRow = ksRow + 4;\n }\n\n // Shift rows, sub bytes, add round key\n t0 = invSBOX[s0 >>> 24] << 24 ^ invSBOX[s1 >> 16 & 0xff] << 16 ^ invSBOX[s2 >> 8 & 0xff] << 8 ^ invSBOX[s3 & 0xff] ^ invKeySchedule[ksRow];\n t1 = invSBOX[s1 >>> 24] << 24 ^ invSBOX[s2 >> 16 & 0xff] << 16 ^ invSBOX[s3 >> 8 & 0xff] << 8 ^ invSBOX[s0 & 0xff] ^ invKeySchedule[ksRow + 1];\n t2 = invSBOX[s2 >>> 24] << 24 ^ invSBOX[s3 >> 16 & 0xff] << 16 ^ invSBOX[s0 >> 8 & 0xff] << 8 ^ invSBOX[s1 & 0xff] ^ invKeySchedule[ksRow + 2];\n t3 = invSBOX[s3 >>> 24] << 24 ^ invSBOX[s0 >> 16 & 0xff] << 16 ^ invSBOX[s1 >> 8 & 0xff] << 8 ^ invSBOX[s2 & 0xff] ^ invKeySchedule[ksRow + 3];\n\n // Write\n outputInt32[offset] = swapWord(t0 ^ initVector0);\n outputInt32[offset + 1] = swapWord(t3 ^ initVector1);\n outputInt32[offset + 2] = swapWord(t2 ^ initVector2);\n outputInt32[offset + 3] = swapWord(t1 ^ initVector3);\n\n // reset initVector to last 4 unsigned int\n initVector0 = inputWords0;\n initVector1 = inputWords1;\n initVector2 = inputWords2;\n initVector3 = inputWords3;\n offset = offset + 4;\n }\n return outputInt32.buffer;\n };\n return AESDecryptor;\n }();\n\n var CHUNK_SIZE = 16; // 16 bytes, 128 bits\n var Decrypter = /*#__PURE__*/function () {\n function Decrypter(config, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$removePKCS7Paddi = _ref.removePKCS7Padding,\n removePKCS7Padding = _ref$removePKCS7Paddi === void 0 ? true : _ref$removePKCS7Paddi;\n this.logEnabled = true;\n this.removePKCS7Padding = void 0;\n this.subtle = null;\n this.softwareDecrypter = null;\n this.key = null;\n this.fastAesKey = null;\n this.remainderData = null;\n this.currentIV = null;\n this.currentResult = null;\n this.useSoftware = void 0;\n this.useSoftware = config.enableSoftwareAES;\n this.removePKCS7Padding = removePKCS7Padding;\n // built in decryptor expects PKCS7 padding\n if (removePKCS7Padding) {\n try {\n var browserCrypto = self.crypto;\n if (browserCrypto) {\n this.subtle = browserCrypto.subtle || browserCrypto.webkitSubtle;\n }\n } catch (e) {\n /* no-op */\n }\n }\n if (this.subtle === null) {\n this.useSoftware = true;\n }\n }\n var _proto = Decrypter.prototype;\n _proto.destroy = function destroy() {\n this.subtle = null;\n this.softwareDecrypter = null;\n this.key = null;\n this.fastAesKey = null;\n this.remainderData = null;\n this.currentIV = null;\n this.currentResult = null;\n };\n _proto.isSync = function isSync() {\n return this.useSoftware;\n };\n _proto.flush = function flush() {\n var currentResult = this.currentResult,\n remainderData = this.remainderData;\n if (!currentResult || remainderData) {\n this.reset();\n return null;\n }\n var data = new Uint8Array(currentResult);\n this.reset();\n if (this.removePKCS7Padding) {\n return removePadding(data);\n }\n return data;\n };\n _proto.reset = function reset() {\n this.currentResult = null;\n this.currentIV = null;\n this.remainderData = null;\n if (this.softwareDecrypter) {\n this.softwareDecrypter = null;\n }\n };\n _proto.decrypt = function decrypt(data, key, iv) {\n var _this = this;\n if (this.useSoftware) {\n return new Promise(function (resolve, reject) {\n _this.softwareDecrypt(new Uint8Array(data), key, iv);\n var decryptResult = _this.flush();\n if (decryptResult) {\n resolve(decryptResult.buffer);\n } else {\n reject(new Error('[softwareDecrypt] Failed to decrypt data'));\n }\n });\n }\n return this.webCryptoDecrypt(new Uint8Array(data), key, iv);\n }\n\n // Software decryption is progressive. Progressive decryption may not return a result on each call. Any cached\n // data is handled in the flush() call\n ;\n _proto.softwareDecrypt = function softwareDecrypt(data, key, iv) {\n var currentIV = this.currentIV,\n currentResult = this.currentResult,\n remainderData = this.remainderData;\n this.logOnce('JS AES decrypt');\n // The output is staggered during progressive parsing - the current result is cached, and emitted on the next call\n // This is done in order to strip PKCS7 padding, which is found at the end of each segment. We only know we've reached\n // the end on flush(), but by that time we have already received all bytes for the segment.\n // Progressive decryption does not work with WebCrypto\n\n if (remainderData) {\n data = appendUint8Array(remainderData, data);\n this.remainderData = null;\n }\n\n // Byte length must be a multiple of 16 (AES-128 = 128 bit blocks = 16 bytes)\n var currentChunk = this.getValidChunk(data);\n if (!currentChunk.length) {\n return null;\n }\n if (currentIV) {\n iv = currentIV;\n }\n var softwareDecrypter = this.softwareDecrypter;\n if (!softwareDecrypter) {\n softwareDecrypter = this.softwareDecrypter = new AESDecryptor();\n }\n softwareDecrypter.expandKey(key);\n var result = currentResult;\n this.currentResult = softwareDecrypter.decrypt(currentChunk.buffer, 0, iv);\n this.currentIV = sliceUint8(currentChunk, -16).buffer;\n if (!result) {\n return null;\n }\n return result;\n };\n _proto.webCryptoDecrypt = function webCryptoDecrypt(data, key, iv) {\n var _this2 = this;\n var subtle = this.subtle;\n if (this.key !== key || !this.fastAesKey) {\n this.key = key;\n this.fastAesKey = new FastAESKey(subtle, key);\n }\n return this.fastAesKey.expandKey().then(function (aesKey) {\n // decrypt using web crypto\n if (!subtle) {\n return Promise.reject(new Error('web crypto not initialized'));\n }\n _this2.logOnce('WebCrypto AES decrypt');\n var crypto = new AESCrypto(subtle, new Uint8Array(iv));\n return crypto.decrypt(data.buffer, aesKey);\n }).catch(function (err) {\n logger.warn(\"[decrypter]: WebCrypto Error, disable WebCrypto API, \" + err.name + \": \" + err.message);\n return _this2.onWebCryptoError(data, key, iv);\n });\n };\n _proto.onWebCryptoError = function onWebCryptoError(data, key, iv) {\n this.useSoftware = true;\n this.logEnabled = true;\n this.softwareDecrypt(data, key, iv);\n var decryptResult = this.flush();\n if (decryptResult) {\n return decryptResult.buffer;\n }\n throw new Error('WebCrypto and softwareDecrypt: failed to decrypt data');\n };\n _proto.getValidChunk = function getValidChunk(data) {\n var currentChunk = data;\n var splitPoint = data.length - data.length % CHUNK_SIZE;\n if (splitPoint !== data.length) {\n currentChunk = sliceUint8(data, 0, splitPoint);\n this.remainderData = sliceUint8(data, splitPoint);\n }\n return currentChunk;\n };\n _proto.logOnce = function logOnce(msg) {\n if (!this.logEnabled) {\n return;\n }\n logger.log(\"[decrypter]: \" + msg);\n this.logEnabled = false;\n };\n return Decrypter;\n }();\n\n /**\n * TimeRanges to string helper\n */\n\n var TimeRanges = {\n toString: function toString(r) {\n var log = '';\n var len = r.length;\n for (var i = 0; i < len; i++) {\n log += \"[\" + r.start(i).toFixed(3) + \"-\" + r.end(i).toFixed(3) + \"]\";\n }\n return log;\n }\n };\n\n var State = {\n STOPPED: 'STOPPED',\n IDLE: 'IDLE',\n KEY_LOADING: 'KEY_LOADING',\n FRAG_LOADING: 'FRAG_LOADING',\n FRAG_LOADING_WAITING_RETRY: 'FRAG_LOADING_WAITING_RETRY',\n WAITING_TRACK: 'WAITING_TRACK',\n PARSING: 'PARSING',\n PARSED: 'PARSED',\n ENDED: 'ENDED',\n ERROR: 'ERROR',\n WAITING_INIT_PTS: 'WAITING_INIT_PTS',\n WAITING_LEVEL: 'WAITING_LEVEL'\n };\n var BaseStreamController = /*#__PURE__*/function (_TaskLoop) {\n _inheritsLoose(BaseStreamController, _TaskLoop);\n function BaseStreamController(hls, fragmentTracker, keyLoader, logPrefix, playlistType) {\n var _this;\n _this = _TaskLoop.call(this) || this;\n _this.hls = void 0;\n _this.fragPrevious = null;\n _this.fragCurrent = null;\n _this.fragmentTracker = void 0;\n _this.transmuxer = null;\n _this._state = State.STOPPED;\n _this.playlistType = void 0;\n _this.media = null;\n _this.mediaBuffer = null;\n _this.config = void 0;\n _this.bitrateTest = false;\n _this.lastCurrentTime = 0;\n _this.nextLoadPosition = 0;\n _this.startPosition = 0;\n _this.startTimeOffset = null;\n _this.loadedmetadata = false;\n _this.retryDate = 0;\n _this.levels = null;\n _this.fragmentLoader = void 0;\n _this.keyLoader = void 0;\n _this.levelLastLoaded = null;\n _this.startFragRequested = false;\n _this.decrypter = void 0;\n _this.initPTS = [];\n _this.onvseeking = null;\n _this.onvended = null;\n _this.logPrefix = '';\n _this.log = void 0;\n _this.warn = void 0;\n _this.playlistType = playlistType;\n _this.logPrefix = logPrefix;\n _this.log = logger.log.bind(logger, logPrefix + \":\");\n _this.warn = logger.warn.bind(logger, logPrefix + \":\");\n _this.hls = hls;\n _this.fragmentLoader = new FragmentLoader(hls.config);\n _this.keyLoader = keyLoader;\n _this.fragmentTracker = fragmentTracker;\n _this.config = hls.config;\n _this.decrypter = new Decrypter(hls.config);\n hls.on(Events.MANIFEST_LOADED, _this.onManifestLoaded, _assertThisInitialized(_this));\n return _this;\n }\n var _proto = BaseStreamController.prototype;\n _proto.doTick = function doTick() {\n this.onTickEnd();\n };\n _proto.onTickEnd = function onTickEnd() {}\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ;\n _proto.startLoad = function startLoad(startPosition) {};\n _proto.stopLoad = function stopLoad() {\n this.fragmentLoader.abort();\n this.keyLoader.abort(this.playlistType);\n var frag = this.fragCurrent;\n if (frag != null && frag.loader) {\n frag.abortRequests();\n this.fragmentTracker.removeFragment(frag);\n }\n this.resetTransmuxer();\n this.fragCurrent = null;\n this.fragPrevious = null;\n this.clearInterval();\n this.clearNextTick();\n this.state = State.STOPPED;\n };\n _proto._streamEnded = function _streamEnded(bufferInfo, levelDetails) {\n // If playlist is live, there is another buffered range after the current range, nothing buffered, media is detached,\n // of nothing loading/loaded return false\n if (levelDetails.live || bufferInfo.nextStart || !bufferInfo.end || !this.media) {\n return false;\n }\n var partList = levelDetails.partList;\n // Since the last part isn't guaranteed to correspond to the last playlist segment for Low-Latency HLS,\n // check instead if the last part is buffered.\n if (partList != null && partList.length) {\n var lastPart = partList[partList.length - 1];\n\n // Checking the midpoint of the part for potential margin of error and related issues.\n // NOTE: Technically I believe parts could yield content that is < the computed duration (including potential a duration of 0)\n // and still be spec-compliant, so there may still be edge cases here. Likewise, there could be issues in end of stream\n // part mismatches for independent audio and video playlists/segments.\n var lastPartBuffered = BufferHelper.isBuffered(this.media, lastPart.start + lastPart.duration / 2);\n return lastPartBuffered;\n }\n var playlistType = levelDetails.fragments[levelDetails.fragments.length - 1].type;\n return this.fragmentTracker.isEndListAppended(playlistType);\n };\n _proto.getLevelDetails = function getLevelDetails() {\n if (this.levels && this.levelLastLoaded !== null) {\n var _this$levelLastLoaded;\n return (_this$levelLastLoaded = this.levelLastLoaded) == null ? void 0 : _this$levelLastLoaded.details;\n }\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n var media = this.media = this.mediaBuffer = data.media;\n this.onvseeking = this.onMediaSeeking.bind(this);\n this.onvended = this.onMediaEnded.bind(this);\n media.addEventListener('seeking', this.onvseeking);\n media.addEventListener('ended', this.onvended);\n var config = this.config;\n if (this.levels && config.autoStartLoad && this.state === State.STOPPED) {\n this.startLoad(config.startPosition);\n }\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n var media = this.media;\n if (media != null && media.ended) {\n this.log('MSE detaching and video ended, reset startPosition');\n this.startPosition = this.lastCurrentTime = 0;\n }\n\n // remove video listeners\n if (media && this.onvseeking && this.onvended) {\n media.removeEventListener('seeking', this.onvseeking);\n media.removeEventListener('ended', this.onvended);\n this.onvseeking = this.onvended = null;\n }\n if (this.keyLoader) {\n this.keyLoader.detach();\n }\n this.media = this.mediaBuffer = null;\n this.loadedmetadata = false;\n this.fragmentTracker.removeAllFragments();\n this.stopLoad();\n };\n _proto.onMediaSeeking = function onMediaSeeking() {\n var config = this.config,\n fragCurrent = this.fragCurrent,\n media = this.media,\n mediaBuffer = this.mediaBuffer,\n state = this.state;\n var currentTime = media ? media.currentTime : 0;\n var bufferInfo = BufferHelper.bufferInfo(mediaBuffer ? mediaBuffer : media, currentTime, config.maxBufferHole);\n this.log(\"media seeking to \" + (isFiniteNumber(currentTime) ? currentTime.toFixed(3) : currentTime) + \", state: \" + state);\n if (this.state === State.ENDED) {\n this.resetLoadingState();\n } else if (fragCurrent) {\n // Seeking while frag load is in progress\n var tolerance = config.maxFragLookUpTolerance;\n var fragStartOffset = fragCurrent.start - tolerance;\n var fragEndOffset = fragCurrent.start + fragCurrent.duration + tolerance;\n // if seeking out of buffered range or into new one\n if (!bufferInfo.len || fragEndOffset < bufferInfo.start || fragStartOffset > bufferInfo.end) {\n var pastFragment = currentTime > fragEndOffset;\n // if the seek position is outside the current fragment range\n if (currentTime < fragStartOffset || pastFragment) {\n if (pastFragment && fragCurrent.loader) {\n this.log('seeking outside of buffer while fragment load in progress, cancel fragment load');\n fragCurrent.abortRequests();\n this.resetLoadingState();\n }\n this.fragPrevious = null;\n }\n }\n }\n if (media) {\n // Remove gap fragments\n this.fragmentTracker.removeFragmentsInRange(currentTime, Infinity, this.playlistType, true);\n this.lastCurrentTime = currentTime;\n }\n\n // in case seeking occurs although no media buffered, adjust startPosition and nextLoadPosition to seek target\n if (!this.loadedmetadata && !bufferInfo.len) {\n this.nextLoadPosition = this.startPosition = currentTime;\n }\n\n // Async tick to speed up processing\n this.tickImmediate();\n };\n _proto.onMediaEnded = function onMediaEnded() {\n // reset startPosition and lastCurrentTime to restart playback @ stream beginning\n this.startPosition = this.lastCurrentTime = 0;\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, data) {\n this.startTimeOffset = data.startTimeOffset;\n this.initPTS = [];\n };\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n this.hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n this.stopLoad();\n _TaskLoop.prototype.onHandlerDestroying.call(this);\n // @ts-ignore\n this.hls = null;\n };\n _proto.onHandlerDestroyed = function onHandlerDestroyed() {\n this.state = State.STOPPED;\n if (this.fragmentLoader) {\n this.fragmentLoader.destroy();\n }\n if (this.keyLoader) {\n this.keyLoader.destroy();\n }\n if (this.decrypter) {\n this.decrypter.destroy();\n }\n this.hls = this.log = this.warn = this.decrypter = this.keyLoader = this.fragmentLoader = this.fragmentTracker = null;\n _TaskLoop.prototype.onHandlerDestroyed.call(this);\n };\n _proto.loadFragment = function loadFragment(frag, level, targetBufferTime) {\n this._loadFragForPlayback(frag, level, targetBufferTime);\n };\n _proto._loadFragForPlayback = function _loadFragForPlayback(frag, level, targetBufferTime) {\n var _this2 = this;\n var progressCallback = function progressCallback(data) {\n if (_this2.fragContextChanged(frag)) {\n _this2.warn(\"Fragment \" + frag.sn + (data.part ? ' p: ' + data.part.index : '') + \" of level \" + frag.level + \" was dropped during download.\");\n _this2.fragmentTracker.removeFragment(frag);\n return;\n }\n frag.stats.chunkCount++;\n _this2._handleFragmentLoadProgress(data);\n };\n this._doFragLoad(frag, level, targetBufferTime, progressCallback).then(function (data) {\n if (!data) {\n // if we're here we probably needed to backtrack or are waiting for more parts\n return;\n }\n var state = _this2.state;\n if (_this2.fragContextChanged(frag)) {\n if (state === State.FRAG_LOADING || !_this2.fragCurrent && state === State.PARSING) {\n _this2.fragmentTracker.removeFragment(frag);\n _this2.state = State.IDLE;\n }\n return;\n }\n if ('payload' in data) {\n _this2.log(\"Loaded fragment \" + frag.sn + \" of level \" + frag.level);\n _this2.hls.trigger(Events.FRAG_LOADED, data);\n }\n\n // Pass through the whole payload; controllers not implementing progressive loading receive data from this callback\n _this2._handleFragmentLoadComplete(data);\n }).catch(function (reason) {\n if (_this2.state === State.STOPPED || _this2.state === State.ERROR) {\n return;\n }\n _this2.warn(reason);\n _this2.resetFragmentLoading(frag);\n });\n };\n _proto.clearTrackerIfNeeded = function clearTrackerIfNeeded(frag) {\n var _this$mediaBuffer;\n var fragmentTracker = this.fragmentTracker;\n var fragState = fragmentTracker.getState(frag);\n if (fragState === FragmentState.APPENDING) {\n // Lower the buffer size and try again\n var playlistType = frag.type;\n var bufferedInfo = this.getFwdBufferInfo(this.mediaBuffer, playlistType);\n var minForwardBufferLength = Math.max(frag.duration, bufferedInfo ? bufferedInfo.len : this.config.maxBufferLength);\n if (this.reduceMaxBufferLength(minForwardBufferLength)) {\n fragmentTracker.removeFragment(frag);\n }\n } else if (((_this$mediaBuffer = this.mediaBuffer) == null ? void 0 : _this$mediaBuffer.buffered.length) === 0) {\n // Stop gap for bad tracker / buffer flush behavior\n fragmentTracker.removeAllFragments();\n } else if (fragmentTracker.hasParts(frag.type)) {\n // In low latency mode, remove fragments for which only some parts were buffered\n fragmentTracker.detectPartialFragments({\n frag: frag,\n part: null,\n stats: frag.stats,\n id: frag.type\n });\n if (fragmentTracker.getState(frag) === FragmentState.PARTIAL) {\n fragmentTracker.removeFragment(frag);\n }\n }\n };\n _proto.checkLiveUpdate = function checkLiveUpdate(details) {\n if (details.updated && !details.live) {\n // Live stream ended, update fragment tracker\n var lastFragment = details.fragments[details.fragments.length - 1];\n this.fragmentTracker.detectPartialFragments({\n frag: lastFragment,\n part: null,\n stats: lastFragment.stats,\n id: lastFragment.type\n });\n }\n if (!details.fragments[0]) {\n details.deltaUpdateFailed = true;\n }\n };\n _proto.flushMainBuffer = function flushMainBuffer(startOffset, endOffset, type) {\n if (type === void 0) {\n type = null;\n }\n if (!(startOffset - endOffset)) {\n return;\n }\n // When alternate audio is playing, the audio-stream-controller is responsible for the audio buffer. Otherwise,\n // passing a null type flushes both buffers\n var flushScope = {\n startOffset: startOffset,\n endOffset: endOffset,\n type: type\n };\n this.hls.trigger(Events.BUFFER_FLUSHING, flushScope);\n };\n _proto._loadInitSegment = function _loadInitSegment(frag, level) {\n var _this3 = this;\n this._doFragLoad(frag, level).then(function (data) {\n if (!data || _this3.fragContextChanged(frag) || !_this3.levels) {\n throw new Error('init load aborted');\n }\n return data;\n }).then(function (data) {\n var hls = _this3.hls;\n var payload = data.payload;\n var decryptData = frag.decryptdata;\n\n // check to see if the payload needs to be decrypted\n if (payload && payload.byteLength > 0 && decryptData != null && decryptData.key && decryptData.iv && decryptData.method === 'AES-128') {\n var startTime = self.performance.now();\n // decrypt init segment data\n return _this3.decrypter.decrypt(new Uint8Array(payload), decryptData.key.buffer, decryptData.iv.buffer).catch(function (err) {\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_DECRYPT_ERROR,\n fatal: false,\n error: err,\n reason: err.message,\n frag: frag\n });\n throw err;\n }).then(function (decryptedData) {\n var endTime = self.performance.now();\n hls.trigger(Events.FRAG_DECRYPTED, {\n frag: frag,\n payload: decryptedData,\n stats: {\n tstart: startTime,\n tdecrypt: endTime\n }\n });\n data.payload = decryptedData;\n return _this3.completeInitSegmentLoad(data);\n });\n }\n return _this3.completeInitSegmentLoad(data);\n }).catch(function (reason) {\n if (_this3.state === State.STOPPED || _this3.state === State.ERROR) {\n return;\n }\n _this3.warn(reason);\n _this3.resetFragmentLoading(frag);\n });\n };\n _proto.completeInitSegmentLoad = function completeInitSegmentLoad(data) {\n var levels = this.levels;\n if (!levels) {\n throw new Error('init load aborted, missing levels');\n }\n var stats = data.frag.stats;\n this.state = State.IDLE;\n data.frag.data = new Uint8Array(data.payload);\n stats.parsing.start = stats.buffering.start = self.performance.now();\n stats.parsing.end = stats.buffering.end = self.performance.now();\n this.tick();\n };\n _proto.fragContextChanged = function fragContextChanged(frag) {\n var fragCurrent = this.fragCurrent;\n return !frag || !fragCurrent || frag.sn !== fragCurrent.sn || frag.level !== fragCurrent.level;\n };\n _proto.fragBufferedComplete = function fragBufferedComplete(frag, part) {\n var _frag$startPTS, _frag$endPTS, _this$fragCurrent, _this$fragPrevious;\n var media = this.mediaBuffer ? this.mediaBuffer : this.media;\n this.log(\"Buffered \" + frag.type + \" sn: \" + frag.sn + (part ? ' part: ' + part.index : '') + \" of \" + (this.playlistType === PlaylistLevelType.MAIN ? 'level' : 'track') + \" \" + frag.level + \" (frag:[\" + ((_frag$startPTS = frag.startPTS) != null ? _frag$startPTS : NaN).toFixed(3) + \"-\" + ((_frag$endPTS = frag.endPTS) != null ? _frag$endPTS : NaN).toFixed(3) + \"] > buffer:\" + (media ? TimeRanges.toString(BufferHelper.getBuffered(media)) : '(detached)') + \")\");\n if (frag.sn !== 'initSegment') {\n var _this$levels;\n if (frag.type !== PlaylistLevelType.SUBTITLE) {\n var el = frag.elementaryStreams;\n if (!Object.keys(el).some(function (type) {\n return !!el[type];\n })) {\n // empty segment\n this.state = State.IDLE;\n return;\n }\n }\n var level = (_this$levels = this.levels) == null ? void 0 : _this$levels[frag.level];\n if (level != null && level.fragmentError) {\n this.log(\"Resetting level fragment error count of \" + level.fragmentError + \" on frag buffered\");\n level.fragmentError = 0;\n }\n }\n this.state = State.IDLE;\n if (!media) {\n return;\n }\n if (!this.loadedmetadata && frag.type == PlaylistLevelType.MAIN && media.buffered.length && ((_this$fragCurrent = this.fragCurrent) == null ? void 0 : _this$fragCurrent.sn) === ((_this$fragPrevious = this.fragPrevious) == null ? void 0 : _this$fragPrevious.sn)) {\n this.loadedmetadata = true;\n this.seekToStartPos();\n }\n this.tick();\n };\n _proto.seekToStartPos = function seekToStartPos() {};\n _proto._handleFragmentLoadComplete = function _handleFragmentLoadComplete(fragLoadedEndData) {\n var transmuxer = this.transmuxer;\n if (!transmuxer) {\n return;\n }\n var frag = fragLoadedEndData.frag,\n part = fragLoadedEndData.part,\n partsLoaded = fragLoadedEndData.partsLoaded;\n // If we did not load parts, or loaded all parts, we have complete (not partial) fragment data\n var complete = !partsLoaded || partsLoaded.length === 0 || partsLoaded.some(function (fragLoaded) {\n return !fragLoaded;\n });\n var chunkMeta = new ChunkMetadata(frag.level, frag.sn, frag.stats.chunkCount + 1, 0, part ? part.index : -1, !complete);\n transmuxer.flush(chunkMeta);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ;\n _proto._handleFragmentLoadProgress = function _handleFragmentLoadProgress(frag) {};\n _proto._doFragLoad = function _doFragLoad(frag, level, targetBufferTime, progressCallback) {\n var _frag$decryptdata,\n _this4 = this;\n if (targetBufferTime === void 0) {\n targetBufferTime = null;\n }\n var details = level == null ? void 0 : level.details;\n if (!this.levels || !details) {\n throw new Error(\"frag load aborted, missing level\" + (details ? '' : ' detail') + \"s\");\n }\n var keyLoadingPromise = null;\n if (frag.encrypted && !((_frag$decryptdata = frag.decryptdata) != null && _frag$decryptdata.key)) {\n this.log(\"Loading key for \" + frag.sn + \" of [\" + details.startSN + \"-\" + details.endSN + \"], \" + (this.logPrefix === '[stream-controller]' ? 'level' : 'track') + \" \" + frag.level);\n this.state = State.KEY_LOADING;\n this.fragCurrent = frag;\n keyLoadingPromise = this.keyLoader.load(frag).then(function (keyLoadedData) {\n if (!_this4.fragContextChanged(keyLoadedData.frag)) {\n _this4.hls.trigger(Events.KEY_LOADED, keyLoadedData);\n if (_this4.state === State.KEY_LOADING) {\n _this4.state = State.IDLE;\n }\n return keyLoadedData;\n }\n });\n this.hls.trigger(Events.KEY_LOADING, {\n frag: frag\n });\n if (this.fragCurrent === null) {\n keyLoadingPromise = Promise.reject(new Error(\"frag load aborted, context changed in KEY_LOADING\"));\n }\n } else if (!frag.encrypted && details.encryptedFragments.length) {\n this.keyLoader.loadClear(frag, details.encryptedFragments);\n }\n targetBufferTime = Math.max(frag.start, targetBufferTime || 0);\n if (this.config.lowLatencyMode && frag.sn !== 'initSegment') {\n var partList = details.partList;\n if (partList && progressCallback) {\n if (targetBufferTime > frag.end && details.fragmentHint) {\n frag = details.fragmentHint;\n }\n var partIndex = this.getNextPart(partList, frag, targetBufferTime);\n if (partIndex > -1) {\n var part = partList[partIndex];\n this.log(\"Loading part sn: \" + frag.sn + \" p: \" + part.index + \" cc: \" + frag.cc + \" of playlist [\" + details.startSN + \"-\" + details.endSN + \"] parts [0-\" + partIndex + \"-\" + (partList.length - 1) + \"] \" + (this.logPrefix === '[stream-controller]' ? 'level' : 'track') + \": \" + frag.level + \", target: \" + parseFloat(targetBufferTime.toFixed(3)));\n this.nextLoadPosition = part.start + part.duration;\n this.state = State.FRAG_LOADING;\n var _result;\n if (keyLoadingPromise) {\n _result = keyLoadingPromise.then(function (keyLoadedData) {\n if (!keyLoadedData || _this4.fragContextChanged(keyLoadedData.frag)) {\n return null;\n }\n return _this4.doFragPartsLoad(frag, part, level, progressCallback);\n }).catch(function (error) {\n return _this4.handleFragLoadError(error);\n });\n } else {\n _result = this.doFragPartsLoad(frag, part, level, progressCallback).catch(function (error) {\n return _this4.handleFragLoadError(error);\n });\n }\n this.hls.trigger(Events.FRAG_LOADING, {\n frag: frag,\n part: part,\n targetBufferTime: targetBufferTime\n });\n if (this.fragCurrent === null) {\n return Promise.reject(new Error(\"frag load aborted, context changed in FRAG_LOADING parts\"));\n }\n return _result;\n } else if (!frag.url || this.loadedEndOfParts(partList, targetBufferTime)) {\n // Fragment hint has no parts\n return Promise.resolve(null);\n }\n }\n }\n this.log(\"Loading fragment \" + frag.sn + \" cc: \" + frag.cc + \" \" + (details ? 'of [' + details.startSN + '-' + details.endSN + '] ' : '') + (this.logPrefix === '[stream-controller]' ? 'level' : 'track') + \": \" + frag.level + \", target: \" + parseFloat(targetBufferTime.toFixed(3)));\n // Don't update nextLoadPosition for fragments which are not buffered\n if (isFiniteNumber(frag.sn) && !this.bitrateTest) {\n this.nextLoadPosition = frag.start + frag.duration;\n }\n this.state = State.FRAG_LOADING;\n\n // Load key before streaming fragment data\n var dataOnProgress = this.config.progressive;\n var result;\n if (dataOnProgress && keyLoadingPromise) {\n result = keyLoadingPromise.then(function (keyLoadedData) {\n if (!keyLoadedData || _this4.fragContextChanged(keyLoadedData == null ? void 0 : keyLoadedData.frag)) {\n return null;\n }\n return _this4.fragmentLoader.load(frag, progressCallback);\n }).catch(function (error) {\n return _this4.handleFragLoadError(error);\n });\n } else {\n // load unencrypted fragment data with progress event,\n // or handle fragment result after key and fragment are finished loading\n result = Promise.all([this.fragmentLoader.load(frag, dataOnProgress ? progressCallback : undefined), keyLoadingPromise]).then(function (_ref) {\n var fragLoadedData = _ref[0];\n if (!dataOnProgress && fragLoadedData && progressCallback) {\n progressCallback(fragLoadedData);\n }\n return fragLoadedData;\n }).catch(function (error) {\n return _this4.handleFragLoadError(error);\n });\n }\n this.hls.trigger(Events.FRAG_LOADING, {\n frag: frag,\n targetBufferTime: targetBufferTime\n });\n if (this.fragCurrent === null) {\n return Promise.reject(new Error(\"frag load aborted, context changed in FRAG_LOADING\"));\n }\n return result;\n };\n _proto.doFragPartsLoad = function doFragPartsLoad(frag, fromPart, level, progressCallback) {\n var _this5 = this;\n return new Promise(function (resolve, reject) {\n var _level$details;\n var partsLoaded = [];\n var initialPartList = (_level$details = level.details) == null ? void 0 : _level$details.partList;\n var loadPart = function loadPart(part) {\n _this5.fragmentLoader.loadPart(frag, part, progressCallback).then(function (partLoadedData) {\n partsLoaded[part.index] = partLoadedData;\n var loadedPart = partLoadedData.part;\n _this5.hls.trigger(Events.FRAG_LOADED, partLoadedData);\n var nextPart = getPartWith(level, frag.sn, part.index + 1) || findPart(initialPartList, frag.sn, part.index + 1);\n if (nextPart) {\n loadPart(nextPart);\n } else {\n return resolve({\n frag: frag,\n part: loadedPart,\n partsLoaded: partsLoaded\n });\n }\n }).catch(reject);\n };\n loadPart(fromPart);\n });\n };\n _proto.handleFragLoadError = function handleFragLoadError(error) {\n if ('data' in error) {\n var data = error.data;\n if (error.data && data.details === ErrorDetails.INTERNAL_ABORTED) {\n this.handleFragLoadAborted(data.frag, data.part);\n } else {\n this.hls.trigger(Events.ERROR, data);\n }\n } else {\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.OTHER_ERROR,\n details: ErrorDetails.INTERNAL_EXCEPTION,\n err: error,\n error: error,\n fatal: true\n });\n }\n return null;\n };\n _proto._handleTransmuxerFlush = function _handleTransmuxerFlush(chunkMeta) {\n var context = this.getCurrentContext(chunkMeta);\n if (!context || this.state !== State.PARSING) {\n if (!this.fragCurrent && this.state !== State.STOPPED && this.state !== State.ERROR) {\n this.state = State.IDLE;\n }\n return;\n }\n var frag = context.frag,\n part = context.part,\n level = context.level;\n var now = self.performance.now();\n frag.stats.parsing.end = now;\n if (part) {\n part.stats.parsing.end = now;\n }\n this.updateLevelTiming(frag, part, level, chunkMeta.partial);\n };\n _proto.getCurrentContext = function getCurrentContext(chunkMeta) {\n var levels = this.levels,\n fragCurrent = this.fragCurrent;\n var levelIndex = chunkMeta.level,\n sn = chunkMeta.sn,\n partIndex = chunkMeta.part;\n if (!(levels != null && levels[levelIndex])) {\n this.warn(\"Levels object was unset while buffering fragment \" + sn + \" of level \" + levelIndex + \". The current chunk will not be buffered.\");\n return null;\n }\n var level = levels[levelIndex];\n var part = partIndex > -1 ? getPartWith(level, sn, partIndex) : null;\n var frag = part ? part.fragment : getFragmentWithSN(level, sn, fragCurrent);\n if (!frag) {\n return null;\n }\n if (fragCurrent && fragCurrent !== frag) {\n frag.stats = fragCurrent.stats;\n }\n return {\n frag: frag,\n part: part,\n level: level\n };\n };\n _proto.bufferFragmentData = function bufferFragmentData(data, frag, part, chunkMeta, noBacktracking) {\n var _buffer;\n if (!data || this.state !== State.PARSING) {\n return;\n }\n var data1 = data.data1,\n data2 = data.data2;\n var buffer = data1;\n if (data1 && data2) {\n // Combine the moof + mdat so that we buffer with a single append\n buffer = appendUint8Array(data1, data2);\n }\n if (!((_buffer = buffer) != null && _buffer.length)) {\n return;\n }\n var segment = {\n type: data.type,\n frag: frag,\n part: part,\n chunkMeta: chunkMeta,\n parent: frag.type,\n data: buffer\n };\n this.hls.trigger(Events.BUFFER_APPENDING, segment);\n if (data.dropped && data.independent && !part) {\n if (noBacktracking) {\n return;\n }\n // Clear buffer so that we reload previous segments sequentially if required\n this.flushBufferGap(frag);\n }\n };\n _proto.flushBufferGap = function flushBufferGap(frag) {\n var media = this.media;\n if (!media) {\n return;\n }\n // If currentTime is not buffered, clear the back buffer so that we can backtrack as much as needed\n if (!BufferHelper.isBuffered(media, media.currentTime)) {\n this.flushMainBuffer(0, frag.start);\n return;\n }\n // Remove back-buffer without interrupting playback to allow back tracking\n var currentTime = media.currentTime;\n var bufferInfo = BufferHelper.bufferInfo(media, currentTime, 0);\n var fragDuration = frag.duration;\n var segmentFraction = Math.min(this.config.maxFragLookUpTolerance * 2, fragDuration * 0.25);\n var start = Math.max(Math.min(frag.start - segmentFraction, bufferInfo.end - segmentFraction), currentTime + segmentFraction);\n if (frag.start - start > segmentFraction) {\n this.flushMainBuffer(start, frag.start);\n }\n };\n _proto.getFwdBufferInfo = function getFwdBufferInfo(bufferable, type) {\n var pos = this.getLoadPosition();\n if (!isFiniteNumber(pos)) {\n return null;\n }\n return this.getFwdBufferInfoAtPos(bufferable, pos, type);\n };\n _proto.getFwdBufferInfoAtPos = function getFwdBufferInfoAtPos(bufferable, pos, type) {\n var maxBufferHole = this.config.maxBufferHole;\n var bufferInfo = BufferHelper.bufferInfo(bufferable, pos, maxBufferHole);\n // Workaround flaw in getting forward buffer when maxBufferHole is smaller than gap at current pos\n if (bufferInfo.len === 0 && bufferInfo.nextStart !== undefined) {\n var bufferedFragAtPos = this.fragmentTracker.getBufferedFrag(pos, type);\n if (bufferedFragAtPos && bufferInfo.nextStart < bufferedFragAtPos.end) {\n return BufferHelper.bufferInfo(bufferable, pos, Math.max(bufferInfo.nextStart, maxBufferHole));\n }\n }\n return bufferInfo;\n };\n _proto.getMaxBufferLength = function getMaxBufferLength(levelBitrate) {\n var config = this.config;\n var maxBufLen;\n if (levelBitrate) {\n maxBufLen = Math.max(8 * config.maxBufferSize / levelBitrate, config.maxBufferLength);\n } else {\n maxBufLen = config.maxBufferLength;\n }\n return Math.min(maxBufLen, config.maxMaxBufferLength);\n };\n _proto.reduceMaxBufferLength = function reduceMaxBufferLength(threshold) {\n var config = this.config;\n var minLength = threshold || config.maxBufferLength;\n if (config.maxMaxBufferLength >= minLength) {\n // reduce max buffer length as it might be too high. we do this to avoid loop flushing ...\n config.maxMaxBufferLength /= 2;\n this.warn(\"Reduce max buffer length to \" + config.maxMaxBufferLength + \"s\");\n return true;\n }\n return false;\n };\n _proto.getAppendedFrag = function getAppendedFrag(position, playlistType) {\n var fragOrPart = this.fragmentTracker.getAppendedFrag(position, PlaylistLevelType.MAIN);\n if (fragOrPart && 'fragment' in fragOrPart) {\n return fragOrPart.fragment;\n }\n return fragOrPart;\n };\n _proto.getNextFragment = function getNextFragment(pos, levelDetails) {\n var fragments = levelDetails.fragments;\n var fragLen = fragments.length;\n if (!fragLen) {\n return null;\n }\n\n // find fragment index, contiguous with end of buffer position\n var config = this.config;\n var start = fragments[0].start;\n var frag;\n if (levelDetails.live) {\n var initialLiveManifestSize = config.initialLiveManifestSize;\n if (fragLen < initialLiveManifestSize) {\n this.warn(\"Not enough fragments to start playback (have: \" + fragLen + \", need: \" + initialLiveManifestSize + \")\");\n return null;\n }\n // The real fragment start times for a live stream are only known after the PTS range for that level is known.\n // In order to discover the range, we load the best matching fragment for that level and demux it.\n // Do not load using live logic if the starting frag is requested - we want to use getFragmentAtPosition() so that\n // we get the fragment matching that start time\n if (!levelDetails.PTSKnown && !this.startFragRequested && this.startPosition === -1 || pos < start) {\n frag = this.getInitialLiveFragment(levelDetails, fragments);\n this.startPosition = this.nextLoadPosition = frag ? this.hls.liveSyncPosition || frag.start : pos;\n }\n } else if (pos <= start) {\n // VoD playlist: if loadPosition before start of playlist, load first fragment\n frag = fragments[0];\n }\n\n // If we haven't run into any special cases already, just load the fragment most closely matching the requested position\n if (!frag) {\n var end = config.lowLatencyMode ? levelDetails.partEnd : levelDetails.fragmentEnd;\n frag = this.getFragmentAtPosition(pos, end, levelDetails);\n }\n return this.mapToInitFragWhenRequired(frag);\n };\n _proto.isLoopLoading = function isLoopLoading(frag, targetBufferTime) {\n var trackerState = this.fragmentTracker.getState(frag);\n return (trackerState === FragmentState.OK || trackerState === FragmentState.PARTIAL && !!frag.gap) && this.nextLoadPosition > targetBufferTime;\n };\n _proto.getNextFragmentLoopLoading = function getNextFragmentLoopLoading(frag, levelDetails, bufferInfo, playlistType, maxBufLen) {\n var gapStart = frag.gap;\n var nextFragment = this.getNextFragment(this.nextLoadPosition, levelDetails);\n if (nextFragment === null) {\n return nextFragment;\n }\n frag = nextFragment;\n if (gapStart && frag && !frag.gap && bufferInfo.nextStart) {\n // Media buffered after GAP tags should not make the next buffer timerange exceed forward buffer length\n var nextbufferInfo = this.getFwdBufferInfoAtPos(this.mediaBuffer ? this.mediaBuffer : this.media, bufferInfo.nextStart, playlistType);\n if (nextbufferInfo !== null && bufferInfo.len + nextbufferInfo.len >= maxBufLen) {\n // Returning here might result in not finding an audio and video candiate to skip to\n this.log(\"buffer full after gaps in \\\"\" + playlistType + \"\\\" playlist starting at sn: \" + frag.sn);\n return null;\n }\n }\n return frag;\n };\n _proto.mapToInitFragWhenRequired = function mapToInitFragWhenRequired(frag) {\n // If an initSegment is present, it must be buffered first\n if (frag != null && frag.initSegment && !(frag != null && frag.initSegment.data) && !this.bitrateTest) {\n return frag.initSegment;\n }\n return frag;\n };\n _proto.getNextPart = function getNextPart(partList, frag, targetBufferTime) {\n var nextPart = -1;\n var contiguous = false;\n var independentAttrOmitted = true;\n for (var i = 0, len = partList.length; i < len; i++) {\n var part = partList[i];\n independentAttrOmitted = independentAttrOmitted && !part.independent;\n if (nextPart > -1 && targetBufferTime < part.start) {\n break;\n }\n var loaded = part.loaded;\n if (loaded) {\n nextPart = -1;\n } else if ((contiguous || part.independent || independentAttrOmitted) && part.fragment === frag) {\n nextPart = i;\n }\n contiguous = loaded;\n }\n return nextPart;\n };\n _proto.loadedEndOfParts = function loadedEndOfParts(partList, targetBufferTime) {\n var lastPart = partList[partList.length - 1];\n return lastPart && targetBufferTime > lastPart.start && lastPart.loaded;\n }\n\n /*\n This method is used find the best matching first fragment for a live playlist. This fragment is used to calculate the\n \"sliding\" of the playlist, which is its offset from the start of playback. After sliding we can compute the real\n start and end times for each fragment in the playlist (after which this method will not need to be called).\n */;\n _proto.getInitialLiveFragment = function getInitialLiveFragment(levelDetails, fragments) {\n var fragPrevious = this.fragPrevious;\n var frag = null;\n if (fragPrevious) {\n if (levelDetails.hasProgramDateTime) {\n // Prefer using PDT, because it can be accurate enough to choose the correct fragment without knowing the level sliding\n this.log(\"Live playlist, switching playlist, load frag with same PDT: \" + fragPrevious.programDateTime);\n frag = findFragmentByPDT(fragments, fragPrevious.endProgramDateTime, this.config.maxFragLookUpTolerance);\n }\n if (!frag) {\n // SN does not need to be accurate between renditions, but depending on the packaging it may be so.\n var targetSN = fragPrevious.sn + 1;\n if (targetSN >= levelDetails.startSN && targetSN <= levelDetails.endSN) {\n var fragNext = fragments[targetSN - levelDetails.startSN];\n // Ensure that we're staying within the continuity range, since PTS resets upon a new range\n if (fragPrevious.cc === fragNext.cc) {\n frag = fragNext;\n this.log(\"Live playlist, switching playlist, load frag with next SN: \" + frag.sn);\n }\n }\n // It's important to stay within the continuity range if available; otherwise the fragments in the playlist\n // will have the wrong start times\n if (!frag) {\n frag = findFragWithCC(fragments, fragPrevious.cc);\n if (frag) {\n this.log(\"Live playlist, switching playlist, load frag with same CC: \" + frag.sn);\n }\n }\n }\n } else {\n // Find a new start fragment when fragPrevious is null\n var liveStart = this.hls.liveSyncPosition;\n if (liveStart !== null) {\n frag = this.getFragmentAtPosition(liveStart, this.bitrateTest ? levelDetails.fragmentEnd : levelDetails.edge, levelDetails);\n }\n }\n return frag;\n }\n\n /*\n This method finds the best matching fragment given the provided position.\n */;\n _proto.getFragmentAtPosition = function getFragmentAtPosition(bufferEnd, end, levelDetails) {\n var config = this.config;\n var fragPrevious = this.fragPrevious;\n var fragments = levelDetails.fragments,\n endSN = levelDetails.endSN;\n var fragmentHint = levelDetails.fragmentHint;\n var tolerance = config.maxFragLookUpTolerance;\n var partList = levelDetails.partList;\n var loadingParts = !!(config.lowLatencyMode && partList != null && partList.length && fragmentHint);\n if (loadingParts && fragmentHint && !this.bitrateTest) {\n // Include incomplete fragment with parts at end\n fragments = fragments.concat(fragmentHint);\n endSN = fragmentHint.sn;\n }\n var frag;\n if (bufferEnd < end) {\n var lookupTolerance = bufferEnd > end - tolerance ? 0 : tolerance;\n // Remove the tolerance if it would put the bufferEnd past the actual end of stream\n // Uses buffer and sequence number to calculate switch segment (required if using EXT-X-DISCONTINUITY-SEQUENCE)\n frag = findFragmentByPTS(fragPrevious, fragments, bufferEnd, lookupTolerance);\n } else {\n // reach end of playlist\n frag = fragments[fragments.length - 1];\n }\n if (frag) {\n var curSNIdx = frag.sn - levelDetails.startSN;\n // Move fragPrevious forward to support forcing the next fragment to load\n // when the buffer catches up to a previously buffered range.\n var fragState = this.fragmentTracker.getState(frag);\n if (fragState === FragmentState.OK || fragState === FragmentState.PARTIAL && frag.gap) {\n fragPrevious = frag;\n }\n if (fragPrevious && frag.sn === fragPrevious.sn && (!loadingParts || partList[0].fragment.sn > frag.sn)) {\n // Force the next fragment to load if the previous one was already selected. This can occasionally happen with\n // non-uniform fragment durations\n var sameLevel = fragPrevious && frag.level === fragPrevious.level;\n if (sameLevel) {\n var nextFrag = fragments[curSNIdx + 1];\n if (frag.sn < endSN && this.fragmentTracker.getState(nextFrag) !== FragmentState.OK) {\n frag = nextFrag;\n } else {\n frag = null;\n }\n }\n }\n }\n return frag;\n };\n _proto.synchronizeToLiveEdge = function synchronizeToLiveEdge(levelDetails) {\n var config = this.config,\n media = this.media;\n if (!media) {\n return;\n }\n var liveSyncPosition = this.hls.liveSyncPosition;\n var currentTime = media.currentTime;\n var start = levelDetails.fragments[0].start;\n var end = levelDetails.edge;\n var withinSlidingWindow = currentTime >= start - config.maxFragLookUpTolerance && currentTime <= end;\n // Continue if we can seek forward to sync position or if current time is outside of sliding window\n if (liveSyncPosition !== null && media.duration > liveSyncPosition && (currentTime < liveSyncPosition || !withinSlidingWindow)) {\n // Continue if buffer is starving or if current time is behind max latency\n var maxLatency = config.liveMaxLatencyDuration !== undefined ? config.liveMaxLatencyDuration : config.liveMaxLatencyDurationCount * levelDetails.targetduration;\n if (!withinSlidingWindow && media.readyState < 4 || currentTime < end - maxLatency) {\n if (!this.loadedmetadata) {\n this.nextLoadPosition = liveSyncPosition;\n }\n // Only seek if ready and there is not a significant forward buffer available for playback\n if (media.readyState) {\n this.warn(\"Playback: \" + currentTime.toFixed(3) + \" is located too far from the end of live sliding playlist: \" + end + \", reset currentTime to : \" + liveSyncPosition.toFixed(3));\n media.currentTime = liveSyncPosition;\n }\n }\n }\n };\n _proto.alignPlaylists = function alignPlaylists(details, previousDetails, switchDetails) {\n // FIXME: If not for `shouldAlignOnDiscontinuities` requiring fragPrevious.cc,\n // this could all go in level-helper mergeDetails()\n var length = details.fragments.length;\n if (!length) {\n this.warn(\"No fragments in live playlist\");\n return 0;\n }\n var slidingStart = details.fragments[0].start;\n var firstLevelLoad = !previousDetails;\n var aligned = details.alignedSliding && isFiniteNumber(slidingStart);\n if (firstLevelLoad || !aligned && !slidingStart) {\n var fragPrevious = this.fragPrevious;\n alignStream(fragPrevious, switchDetails, details);\n var alignedSlidingStart = details.fragments[0].start;\n this.log(\"Live playlist sliding: \" + alignedSlidingStart.toFixed(2) + \" start-sn: \" + (previousDetails ? previousDetails.startSN : 'na') + \"->\" + details.startSN + \" prev-sn: \" + (fragPrevious ? fragPrevious.sn : 'na') + \" fragments: \" + length);\n return alignedSlidingStart;\n }\n return slidingStart;\n };\n _proto.waitForCdnTuneIn = function waitForCdnTuneIn(details) {\n // Wait for Low-Latency CDN Tune-in to get an updated playlist\n var advancePartLimit = 3;\n return details.live && details.canBlockReload && details.partTarget && details.tuneInGoal > Math.max(details.partHoldBack, details.partTarget * advancePartLimit);\n };\n _proto.setStartPosition = function setStartPosition(details, sliding) {\n // compute start position if set to -1. use it straight away if value is defined\n var startPosition = this.startPosition;\n if (startPosition < sliding) {\n startPosition = -1;\n }\n if (startPosition === -1 || this.lastCurrentTime === -1) {\n // Use Playlist EXT-X-START:TIME-OFFSET when set\n // Prioritize Multivariant Playlist offset so that main, audio, and subtitle stream-controller start times match\n var offsetInMultivariantPlaylist = this.startTimeOffset !== null;\n var startTimeOffset = offsetInMultivariantPlaylist ? this.startTimeOffset : details.startTimeOffset;\n if (startTimeOffset !== null && isFiniteNumber(startTimeOffset)) {\n startPosition = sliding + startTimeOffset;\n if (startTimeOffset < 0) {\n startPosition += details.totalduration;\n }\n startPosition = Math.min(Math.max(sliding, startPosition), sliding + details.totalduration);\n this.log(\"Start time offset \" + startTimeOffset + \" found in \" + (offsetInMultivariantPlaylist ? 'multivariant' : 'media') + \" playlist, adjust startPosition to \" + startPosition);\n this.startPosition = startPosition;\n } else if (details.live) {\n // Leave this.startPosition at -1, so that we can use `getInitialLiveFragment` logic when startPosition has\n // not been specified via the config or an as an argument to startLoad (#3736).\n startPosition = this.hls.liveSyncPosition || sliding;\n } else {\n this.startPosition = startPosition = 0;\n }\n this.lastCurrentTime = startPosition;\n }\n this.nextLoadPosition = startPosition;\n };\n _proto.getLoadPosition = function getLoadPosition() {\n var media = this.media;\n // if we have not yet loaded any fragment, start loading from start position\n var pos = 0;\n if (this.loadedmetadata && media) {\n pos = media.currentTime;\n } else if (this.nextLoadPosition) {\n pos = this.nextLoadPosition;\n }\n return pos;\n };\n _proto.handleFragLoadAborted = function handleFragLoadAborted(frag, part) {\n if (this.transmuxer && frag.sn !== 'initSegment' && frag.stats.aborted) {\n this.warn(\"Fragment \" + frag.sn + (part ? ' part ' + part.index : '') + \" of level \" + frag.level + \" was aborted\");\n this.resetFragmentLoading(frag);\n }\n };\n _proto.resetFragmentLoading = function resetFragmentLoading(frag) {\n if (!this.fragCurrent || !this.fragContextChanged(frag) && this.state !== State.FRAG_LOADING_WAITING_RETRY) {\n this.state = State.IDLE;\n }\n };\n _proto.onFragmentOrKeyLoadError = function onFragmentOrKeyLoadError(filterType, data) {\n if (data.chunkMeta && !data.frag) {\n var context = this.getCurrentContext(data.chunkMeta);\n if (context) {\n data.frag = context.frag;\n }\n }\n var frag = data.frag;\n // Handle frag error related to caller's filterType\n if (!frag || frag.type !== filterType || !this.levels) {\n return;\n }\n if (this.fragContextChanged(frag)) {\n var _this$fragCurrent2;\n this.warn(\"Frag load error must match current frag to retry \" + frag.url + \" > \" + ((_this$fragCurrent2 = this.fragCurrent) == null ? void 0 : _this$fragCurrent2.url));\n return;\n }\n var gapTagEncountered = data.details === ErrorDetails.FRAG_GAP;\n if (gapTagEncountered) {\n this.fragmentTracker.fragBuffered(frag, true);\n }\n // keep retrying until the limit will be reached\n var errorAction = data.errorAction;\n var _ref2 = errorAction || {},\n action = _ref2.action,\n _ref2$retryCount = _ref2.retryCount,\n retryCount = _ref2$retryCount === void 0 ? 0 : _ref2$retryCount,\n retryConfig = _ref2.retryConfig;\n if (errorAction && action === NetworkErrorAction.RetryRequest && retryConfig) {\n this.resetStartWhenNotLoaded(this.levelLastLoaded);\n var delay = getRetryDelay(retryConfig, retryCount);\n this.warn(\"Fragment \" + frag.sn + \" of \" + filterType + \" \" + frag.level + \" errored with \" + data.details + \", retrying loading \" + (retryCount + 1) + \"/\" + retryConfig.maxNumRetry + \" in \" + delay + \"ms\");\n errorAction.resolved = true;\n this.retryDate = self.performance.now() + delay;\n this.state = State.FRAG_LOADING_WAITING_RETRY;\n } else if (retryConfig && errorAction) {\n this.resetFragmentErrors(filterType);\n if (retryCount < retryConfig.maxNumRetry) {\n // Network retry is skipped when level switch is preferred\n if (!gapTagEncountered && action !== NetworkErrorAction.RemoveAlternatePermanently) {\n errorAction.resolved = true;\n }\n } else {\n logger.warn(data.details + \" reached or exceeded max retry (\" + retryCount + \")\");\n return;\n }\n } else if ((errorAction == null ? void 0 : errorAction.action) === NetworkErrorAction.SendAlternateToPenaltyBox) {\n this.state = State.WAITING_LEVEL;\n } else {\n this.state = State.ERROR;\n }\n // Perform next async tick sooner to speed up error action resolution\n this.tickImmediate();\n };\n _proto.reduceLengthAndFlushBuffer = function reduceLengthAndFlushBuffer(data) {\n // if in appending state\n if (this.state === State.PARSING || this.state === State.PARSED) {\n var playlistType = data.parent;\n var bufferedInfo = this.getFwdBufferInfo(this.mediaBuffer, playlistType);\n // 0.5 : tolerance needed as some browsers stalls playback before reaching buffered end\n // reduce max buf len if current position is buffered\n var buffered = bufferedInfo && bufferedInfo.len > 0.5;\n if (buffered) {\n this.reduceMaxBufferLength(bufferedInfo.len);\n }\n var flushBuffer = !buffered;\n if (flushBuffer) {\n // current position is not buffered, but browser is still complaining about buffer full error\n // this happens on IE/Edge, refer to https://github.com/video-dev/hls.js/pull/708\n // in that case flush the whole audio buffer to recover\n this.warn(\"Buffer full error while media.currentTime is not buffered, flush \" + playlistType + \" buffer\");\n }\n if (data.frag) {\n this.fragmentTracker.removeFragment(data.frag);\n this.nextLoadPosition = data.frag.start;\n }\n this.resetLoadingState();\n return flushBuffer;\n }\n return false;\n };\n _proto.resetFragmentErrors = function resetFragmentErrors(filterType) {\n if (filterType === PlaylistLevelType.AUDIO) {\n // Reset current fragment since audio track audio is essential and may not have a fail-over track\n this.fragCurrent = null;\n }\n // Fragment errors that result in a level switch or redundant fail-over\n // should reset the stream controller state to idle\n if (!this.loadedmetadata) {\n this.startFragRequested = false;\n }\n if (this.state !== State.STOPPED) {\n this.state = State.IDLE;\n }\n };\n _proto.afterBufferFlushed = function afterBufferFlushed(media, bufferType, playlistType) {\n if (!media) {\n return;\n }\n // After successful buffer flushing, filter flushed fragments from bufferedFrags use mediaBuffered instead of media\n // (so that we will check against video.buffered ranges in case of alt audio track)\n var bufferedTimeRanges = BufferHelper.getBuffered(media);\n this.fragmentTracker.detectEvictedFragments(bufferType, bufferedTimeRanges, playlistType);\n if (this.state === State.ENDED) {\n this.resetLoadingState();\n }\n };\n _proto.resetLoadingState = function resetLoadingState() {\n this.log('Reset loading state');\n this.fragCurrent = null;\n this.fragPrevious = null;\n this.state = State.IDLE;\n };\n _proto.resetStartWhenNotLoaded = function resetStartWhenNotLoaded(level) {\n // if loadedmetadata is not set, it means that first frag request failed\n // in that case, reset startFragRequested flag\n if (!this.loadedmetadata) {\n this.startFragRequested = false;\n var details = level ? level.details : null;\n if (details != null && details.live) {\n // Update the start position and return to IDLE to recover live start\n this.startPosition = -1;\n this.setStartPosition(details, 0);\n this.resetLoadingState();\n } else {\n this.nextLoadPosition = this.startPosition;\n }\n }\n };\n _proto.resetWhenMissingContext = function resetWhenMissingContext(chunkMeta) {\n this.warn(\"The loading context changed while buffering fragment \" + chunkMeta.sn + \" of level \" + chunkMeta.level + \". This chunk will not be buffered.\");\n this.removeUnbufferedFrags();\n this.resetStartWhenNotLoaded(this.levelLastLoaded);\n this.resetLoadingState();\n };\n _proto.removeUnbufferedFrags = function removeUnbufferedFrags(start) {\n if (start === void 0) {\n start = 0;\n }\n this.fragmentTracker.removeFragmentsInRange(start, Infinity, this.playlistType, false, true);\n };\n _proto.updateLevelTiming = function updateLevelTiming(frag, part, level, partial) {\n var _this6 = this,\n _this$transmuxer;\n var details = level.details;\n if (!details) {\n this.warn('level.details undefined');\n return;\n }\n var parsed = Object.keys(frag.elementaryStreams).reduce(function (result, type) {\n var info = frag.elementaryStreams[type];\n if (info) {\n var parsedDuration = info.endPTS - info.startPTS;\n if (parsedDuration <= 0) {\n // Destroy the transmuxer after it's next time offset failed to advance because duration was <= 0.\n // The new transmuxer will be configured with a time offset matching the next fragment start,\n // preventing the timeline from shifting.\n _this6.warn(\"Could not parse fragment \" + frag.sn + \" \" + type + \" duration reliably (\" + parsedDuration + \")\");\n return result || false;\n }\n var drift = partial ? 0 : updateFragPTSDTS(details, frag, info.startPTS, info.endPTS, info.startDTS, info.endDTS);\n _this6.hls.trigger(Events.LEVEL_PTS_UPDATED, {\n details: details,\n level: level,\n drift: drift,\n type: type,\n frag: frag,\n start: info.startPTS,\n end: info.endPTS\n });\n return true;\n }\n return result;\n }, false);\n if (!parsed && ((_this$transmuxer = this.transmuxer) == null ? void 0 : _this$transmuxer.error) === null) {\n var error = new Error(\"Found no media in fragment \" + frag.sn + \" of level \" + frag.level + \" resetting transmuxer to fallback to playlist timing\");\n if (level.fragmentError === 0) {\n // Mark and track the odd empty segment as a gap to avoid reloading\n level.fragmentError++;\n frag.gap = true;\n this.fragmentTracker.removeFragment(frag);\n this.fragmentTracker.fragBuffered(frag, true);\n }\n this.warn(error.message);\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: false,\n error: error,\n frag: frag,\n reason: \"Found no media in msn \" + frag.sn + \" of level \\\"\" + level.url + \"\\\"\"\n });\n if (!this.hls) {\n return;\n }\n this.resetTransmuxer();\n // For this error fallthrough. Marking parsed will allow advancing to next fragment.\n }\n this.state = State.PARSED;\n this.hls.trigger(Events.FRAG_PARSED, {\n frag: frag,\n part: part\n });\n };\n _proto.resetTransmuxer = function resetTransmuxer() {\n if (this.transmuxer) {\n this.transmuxer.destroy();\n this.transmuxer = null;\n }\n };\n _proto.recoverWorkerError = function recoverWorkerError(data) {\n if (data.event === 'demuxerWorker') {\n this.fragmentTracker.removeAllFragments();\n this.resetTransmuxer();\n this.resetStartWhenNotLoaded(this.levelLastLoaded);\n this.resetLoadingState();\n }\n };\n _createClass(BaseStreamController, [{\n key: \"state\",\n get: function get() {\n return this._state;\n },\n set: function set(nextState) {\n var previousState = this._state;\n if (previousState !== nextState) {\n this._state = nextState;\n this.log(previousState + \"->\" + nextState);\n }\n }\n }]);\n return BaseStreamController;\n }(TaskLoop);\n\n var ChunkCache = /*#__PURE__*/function () {\n function ChunkCache() {\n this.chunks = [];\n this.dataLength = 0;\n }\n var _proto = ChunkCache.prototype;\n _proto.push = function push(chunk) {\n this.chunks.push(chunk);\n this.dataLength += chunk.length;\n };\n _proto.flush = function flush() {\n var chunks = this.chunks,\n dataLength = this.dataLength;\n var result;\n if (!chunks.length) {\n return new Uint8Array(0);\n } else if (chunks.length === 1) {\n result = chunks[0];\n } else {\n result = concatUint8Arrays(chunks, dataLength);\n }\n this.reset();\n return result;\n };\n _proto.reset = function reset() {\n this.chunks.length = 0;\n this.dataLength = 0;\n };\n return ChunkCache;\n }();\n function concatUint8Arrays(chunks, dataLength) {\n var result = new Uint8Array(dataLength);\n var offset = 0;\n for (var i = 0; i < chunks.length; i++) {\n var chunk = chunks[i];\n result.set(chunk, offset);\n offset += chunk.length;\n }\n return result;\n }\n\n function dummyTrack(type, inputTimeScale) {\n if (type === void 0) {\n type = '';\n }\n if (inputTimeScale === void 0) {\n inputTimeScale = 90000;\n }\n return {\n type: type,\n id: -1,\n pid: -1,\n inputTimeScale: inputTimeScale,\n sequenceNumber: -1,\n samples: [],\n dropped: 0\n };\n }\n\n var BaseAudioDemuxer = /*#__PURE__*/function () {\n function BaseAudioDemuxer() {\n this._audioTrack = void 0;\n this._id3Track = void 0;\n this.frameIndex = 0;\n this.cachedData = null;\n this.basePTS = null;\n this.initPTS = null;\n this.lastPTS = null;\n }\n var _proto = BaseAudioDemuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n this._id3Track = {\n type: 'id3',\n id: 3,\n pid: -1,\n inputTimeScale: 90000,\n sequenceNumber: 0,\n samples: [],\n dropped: 0\n };\n };\n _proto.resetTimeStamp = function resetTimeStamp(deaultTimestamp) {\n this.initPTS = deaultTimestamp;\n this.resetContiguity();\n };\n _proto.resetContiguity = function resetContiguity() {\n this.basePTS = null;\n this.lastPTS = null;\n this.frameIndex = 0;\n };\n _proto.canParse = function canParse(data, offset) {\n return false;\n };\n _proto.appendFrame = function appendFrame(track, data, offset) {}\n\n // feed incoming data to the front of the parsing pipeline\n ;\n _proto.demux = function demux(data, timeOffset) {\n if (this.cachedData) {\n data = appendUint8Array(this.cachedData, data);\n this.cachedData = null;\n }\n var id3Data = getID3Data(data, 0);\n var offset = id3Data ? id3Data.length : 0;\n var lastDataIndex;\n var track = this._audioTrack;\n var id3Track = this._id3Track;\n var timestamp = id3Data ? getTimeStamp(id3Data) : undefined;\n var length = data.length;\n if (this.basePTS === null || this.frameIndex === 0 && isFiniteNumber(timestamp)) {\n this.basePTS = initPTSFn(timestamp, timeOffset, this.initPTS);\n this.lastPTS = this.basePTS;\n }\n if (this.lastPTS === null) {\n this.lastPTS = this.basePTS;\n }\n\n // more expressive than alternative: id3Data?.length\n if (id3Data && id3Data.length > 0) {\n id3Track.samples.push({\n pts: this.lastPTS,\n dts: this.lastPTS,\n data: id3Data,\n type: MetadataSchema.audioId3,\n duration: Number.POSITIVE_INFINITY\n });\n }\n while (offset < length) {\n if (this.canParse(data, offset)) {\n var frame = this.appendFrame(track, data, offset);\n if (frame) {\n this.frameIndex++;\n this.lastPTS = frame.sample.pts;\n offset += frame.length;\n lastDataIndex = offset;\n } else {\n offset = length;\n }\n } else if (canParse$2(data, offset)) {\n // after a ID3.canParse, a call to ID3.getID3Data *should* always returns some data\n id3Data = getID3Data(data, offset);\n id3Track.samples.push({\n pts: this.lastPTS,\n dts: this.lastPTS,\n data: id3Data,\n type: MetadataSchema.audioId3,\n duration: Number.POSITIVE_INFINITY\n });\n offset += id3Data.length;\n lastDataIndex = offset;\n } else {\n offset++;\n }\n if (offset === length && lastDataIndex !== length) {\n var partialData = sliceUint8(data, lastDataIndex);\n if (this.cachedData) {\n this.cachedData = appendUint8Array(this.cachedData, partialData);\n } else {\n this.cachedData = partialData;\n }\n }\n }\n return {\n audioTrack: track,\n videoTrack: dummyTrack(),\n id3Track: id3Track,\n textTrack: dummyTrack()\n };\n };\n _proto.demuxSampleAes = function demuxSampleAes(data, keyData, timeOffset) {\n return Promise.reject(new Error(\"[\" + this + \"] This demuxer does not support Sample-AES decryption\"));\n };\n _proto.flush = function flush(timeOffset) {\n // Parse cache in case of remaining frames.\n var cachedData = this.cachedData;\n if (cachedData) {\n this.cachedData = null;\n this.demux(cachedData, 0);\n }\n return {\n audioTrack: this._audioTrack,\n videoTrack: dummyTrack(),\n id3Track: this._id3Track,\n textTrack: dummyTrack()\n };\n };\n _proto.destroy = function destroy() {};\n return BaseAudioDemuxer;\n }();\n /**\n * Initialize PTS\n * <p>\n * use timestamp unless it is undefined, NaN or Infinity\n * </p>\n */\n var initPTSFn = function initPTSFn(timestamp, timeOffset, initPTS) {\n if (isFiniteNumber(timestamp)) {\n return timestamp * 90;\n }\n var init90kHz = initPTS ? initPTS.baseTime * 90000 / initPTS.timescale : 0;\n return timeOffset * 90000 + init90kHz;\n };\n\n /**\n * ADTS parser helper\n * @link https://wiki.multimedia.cx/index.php?title=ADTS\n */\n function getAudioConfig(observer, data, offset, audioCodec) {\n var adtsObjectType;\n var adtsExtensionSamplingIndex;\n var adtsChannelConfig;\n var config;\n var userAgent = navigator.userAgent.toLowerCase();\n var manifestCodec = audioCodec;\n var adtsSamplingRates = [96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350];\n // byte 2\n adtsObjectType = ((data[offset + 2] & 0xc0) >>> 6) + 1;\n var adtsSamplingIndex = (data[offset + 2] & 0x3c) >>> 2;\n if (adtsSamplingIndex > adtsSamplingRates.length - 1) {\n var error = new Error(\"invalid ADTS sampling index:\" + adtsSamplingIndex);\n observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: true,\n error: error,\n reason: error.message\n });\n return;\n }\n adtsChannelConfig = (data[offset + 2] & 0x01) << 2;\n // byte 3\n adtsChannelConfig |= (data[offset + 3] & 0xc0) >>> 6;\n logger.log(\"manifest codec:\" + audioCodec + \", ADTS type:\" + adtsObjectType + \", samplingIndex:\" + adtsSamplingIndex);\n // firefox: freq less than 24kHz = AAC SBR (HE-AAC)\n if (/firefox/i.test(userAgent)) {\n if (adtsSamplingIndex >= 6) {\n adtsObjectType = 5;\n config = new Array(4);\n // HE-AAC uses SBR (Spectral Band Replication) , high frequencies are constructed from low frequencies\n // there is a factor 2 between frame sample rate and output sample rate\n // multiply frequency by 2 (see table below, equivalent to substract 3)\n adtsExtensionSamplingIndex = adtsSamplingIndex - 3;\n } else {\n adtsObjectType = 2;\n config = new Array(2);\n adtsExtensionSamplingIndex = adtsSamplingIndex;\n }\n // Android : always use AAC\n } else if (userAgent.indexOf('android') !== -1) {\n adtsObjectType = 2;\n config = new Array(2);\n adtsExtensionSamplingIndex = adtsSamplingIndex;\n } else {\n /* for other browsers (Chrome/Vivaldi/Opera ...)\n always force audio type to be HE-AAC SBR, as some browsers do not support audio codec switch properly (like Chrome ...)\n */\n adtsObjectType = 5;\n config = new Array(4);\n // if (manifest codec is HE-AAC or HE-AACv2) OR (manifest codec not specified AND frequency less than 24kHz)\n if (audioCodec && (audioCodec.indexOf('mp4a.40.29') !== -1 || audioCodec.indexOf('mp4a.40.5') !== -1) || !audioCodec && adtsSamplingIndex >= 6) {\n // HE-AAC uses SBR (Spectral Band Replication) , high frequencies are constructed from low frequencies\n // there is a factor 2 between frame sample rate and output sample rate\n // multiply frequency by 2 (see table below, equivalent to substract 3)\n adtsExtensionSamplingIndex = adtsSamplingIndex - 3;\n } else {\n // if (manifest codec is AAC) AND (frequency less than 24kHz AND nb channel is 1) OR (manifest codec not specified and mono audio)\n // Chrome fails to play back with low frequency AAC LC mono when initialized with HE-AAC. This is not a problem with stereo.\n if (audioCodec && audioCodec.indexOf('mp4a.40.2') !== -1 && (adtsSamplingIndex >= 6 && adtsChannelConfig === 1 || /vivaldi/i.test(userAgent)) || !audioCodec && adtsChannelConfig === 1) {\n adtsObjectType = 2;\n config = new Array(2);\n }\n adtsExtensionSamplingIndex = adtsSamplingIndex;\n }\n }\n /* refer to http://wiki.multimedia.cx/index.php?title=MPEG-4_Audio#Audio_Specific_Config\n ISO 14496-3 (AAC).pdf - Table 1.13 — Syntax of AudioSpecificConfig()\n Audio Profile / Audio Object Type\n 0: Null\n 1: AAC Main\n 2: AAC LC (Low Complexity)\n 3: AAC SSR (Scalable Sample Rate)\n 4: AAC LTP (Long Term Prediction)\n 5: SBR (Spectral Band Replication)\n 6: AAC Scalable\n sampling freq\n 0: 96000 Hz\n 1: 88200 Hz\n 2: 64000 Hz\n 3: 48000 Hz\n 4: 44100 Hz\n 5: 32000 Hz\n 6: 24000 Hz\n 7: 22050 Hz\n 8: 16000 Hz\n 9: 12000 Hz\n 10: 11025 Hz\n 11: 8000 Hz\n 12: 7350 Hz\n 13: Reserved\n 14: Reserved\n 15: frequency is written explictly\n Channel Configurations\n These are the channel configurations:\n 0: Defined in AOT Specifc Config\n 1: 1 channel: front-center\n 2: 2 channels: front-left, front-right\n */\n // audioObjectType = profile => profile, the MPEG-4 Audio Object Type minus 1\n config[0] = adtsObjectType << 3;\n // samplingFrequencyIndex\n config[0] |= (adtsSamplingIndex & 0x0e) >> 1;\n config[1] |= (adtsSamplingIndex & 0x01) << 7;\n // channelConfiguration\n config[1] |= adtsChannelConfig << 3;\n if (adtsObjectType === 5) {\n // adtsExtensionSamplingIndex\n config[1] |= (adtsExtensionSamplingIndex & 0x0e) >> 1;\n config[2] = (adtsExtensionSamplingIndex & 0x01) << 7;\n // adtsObjectType (force to 2, chrome is checking that object type is less than 5 ???\n // https://chromium.googlesource.com/chromium/src.git/+/master/media/formats/mp4/aac.cc\n config[2] |= 2 << 2;\n config[3] = 0;\n }\n return {\n config: config,\n samplerate: adtsSamplingRates[adtsSamplingIndex],\n channelCount: adtsChannelConfig,\n codec: 'mp4a.40.' + adtsObjectType,\n manifestCodec: manifestCodec\n };\n }\n function isHeaderPattern$1(data, offset) {\n return data[offset] === 0xff && (data[offset + 1] & 0xf6) === 0xf0;\n }\n function getHeaderLength(data, offset) {\n return data[offset + 1] & 0x01 ? 7 : 9;\n }\n function getFullFrameLength(data, offset) {\n return (data[offset + 3] & 0x03) << 11 | data[offset + 4] << 3 | (data[offset + 5] & 0xe0) >>> 5;\n }\n function canGetFrameLength(data, offset) {\n return offset + 5 < data.length;\n }\n function isHeader$1(data, offset) {\n // Look for ADTS header | 1111 1111 | 1111 X00X | where X can be either 0 or 1\n // Layer bits (position 14 and 15) in header should be always 0 for ADTS\n // More info https://wiki.multimedia.cx/index.php?title=ADTS\n return offset + 1 < data.length && isHeaderPattern$1(data, offset);\n }\n function canParse$1(data, offset) {\n return canGetFrameLength(data, offset) && isHeaderPattern$1(data, offset) && getFullFrameLength(data, offset) <= data.length - offset;\n }\n function probe$1(data, offset) {\n // same as isHeader but we also check that ADTS frame follows last ADTS frame\n // or end of data is reached\n if (isHeader$1(data, offset)) {\n // ADTS header Length\n var headerLength = getHeaderLength(data, offset);\n if (offset + headerLength >= data.length) {\n return false;\n }\n // ADTS frame Length\n var frameLength = getFullFrameLength(data, offset);\n if (frameLength <= headerLength) {\n return false;\n }\n var newOffset = offset + frameLength;\n return newOffset === data.length || isHeader$1(data, newOffset);\n }\n return false;\n }\n function initTrackConfig(track, observer, data, offset, audioCodec) {\n if (!track.samplerate) {\n var config = getAudioConfig(observer, data, offset, audioCodec);\n if (!config) {\n return;\n }\n track.config = config.config;\n track.samplerate = config.samplerate;\n track.channelCount = config.channelCount;\n track.codec = config.codec;\n track.manifestCodec = config.manifestCodec;\n logger.log(\"parsed codec:\" + track.codec + \", rate:\" + config.samplerate + \", channels:\" + config.channelCount);\n }\n }\n function getFrameDuration(samplerate) {\n return 1024 * 90000 / samplerate;\n }\n function parseFrameHeader(data, offset) {\n // The protection skip bit tells us if we have 2 bytes of CRC data at the end of the ADTS header\n var headerLength = getHeaderLength(data, offset);\n if (offset + headerLength <= data.length) {\n // retrieve frame size\n var frameLength = getFullFrameLength(data, offset) - headerLength;\n if (frameLength > 0) {\n // logger.log(`AAC frame, offset/length/total/pts:${offset+headerLength}/${frameLength}/${data.byteLength}`);\n return {\n headerLength: headerLength,\n frameLength: frameLength\n };\n }\n }\n }\n function appendFrame$1(track, data, offset, pts, frameIndex) {\n var frameDuration = getFrameDuration(track.samplerate);\n var stamp = pts + frameIndex * frameDuration;\n var header = parseFrameHeader(data, offset);\n var unit;\n if (header) {\n var frameLength = header.frameLength,\n headerLength = header.headerLength;\n var _length = headerLength + frameLength;\n var missing = Math.max(0, offset + _length - data.length);\n // logger.log(`AAC frame ${frameIndex}, pts:${stamp} length@offset/total: ${frameLength}@${offset+headerLength}/${data.byteLength} missing: ${missing}`);\n if (missing) {\n unit = new Uint8Array(_length - headerLength);\n unit.set(data.subarray(offset + headerLength, data.length), 0);\n } else {\n unit = data.subarray(offset + headerLength, offset + _length);\n }\n var _sample = {\n unit: unit,\n pts: stamp\n };\n if (!missing) {\n track.samples.push(_sample);\n }\n return {\n sample: _sample,\n length: _length,\n missing: missing\n };\n }\n // overflow incomplete header\n var length = data.length - offset;\n unit = new Uint8Array(length);\n unit.set(data.subarray(offset, data.length), 0);\n var sample = {\n unit: unit,\n pts: stamp\n };\n return {\n sample: sample,\n length: length,\n missing: -1\n };\n }\n\n /**\n * MPEG parser helper\n */\n\n var chromeVersion$1 = null;\n var BitratesMap = [32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160];\n var SamplingRateMap = [44100, 48000, 32000, 22050, 24000, 16000, 11025, 12000, 8000];\n var SamplesCoefficients = [\n // MPEG 2.5\n [0,\n // Reserved\n 72,\n // Layer3\n 144,\n // Layer2\n 12 // Layer1\n ],\n // Reserved\n [0,\n // Reserved\n 0,\n // Layer3\n 0,\n // Layer2\n 0 // Layer1\n ],\n // MPEG 2\n [0,\n // Reserved\n 72,\n // Layer3\n 144,\n // Layer2\n 12 // Layer1\n ],\n // MPEG 1\n [0,\n // Reserved\n 144,\n // Layer3\n 144,\n // Layer2\n 12 // Layer1\n ]];\n var BytesInSlot = [0,\n // Reserved\n 1,\n // Layer3\n 1,\n // Layer2\n 4 // Layer1\n ];\n function appendFrame(track, data, offset, pts, frameIndex) {\n // Using http://www.datavoyage.com/mpgscript/mpeghdr.htm as a reference\n if (offset + 24 > data.length) {\n return;\n }\n var header = parseHeader(data, offset);\n if (header && offset + header.frameLength <= data.length) {\n var frameDuration = header.samplesPerFrame * 90000 / header.sampleRate;\n var stamp = pts + frameIndex * frameDuration;\n var sample = {\n unit: data.subarray(offset, offset + header.frameLength),\n pts: stamp,\n dts: stamp\n };\n track.config = [];\n track.channelCount = header.channelCount;\n track.samplerate = header.sampleRate;\n track.samples.push(sample);\n return {\n sample: sample,\n length: header.frameLength,\n missing: 0\n };\n }\n }\n function parseHeader(data, offset) {\n var mpegVersion = data[offset + 1] >> 3 & 3;\n var mpegLayer = data[offset + 1] >> 1 & 3;\n var bitRateIndex = data[offset + 2] >> 4 & 15;\n var sampleRateIndex = data[offset + 2] >> 2 & 3;\n if (mpegVersion !== 1 && bitRateIndex !== 0 && bitRateIndex !== 15 && sampleRateIndex !== 3) {\n var paddingBit = data[offset + 2] >> 1 & 1;\n var channelMode = data[offset + 3] >> 6;\n var columnInBitrates = mpegVersion === 3 ? 3 - mpegLayer : mpegLayer === 3 ? 3 : 4;\n var bitRate = BitratesMap[columnInBitrates * 14 + bitRateIndex - 1] * 1000;\n var columnInSampleRates = mpegVersion === 3 ? 0 : mpegVersion === 2 ? 1 : 2;\n var sampleRate = SamplingRateMap[columnInSampleRates * 3 + sampleRateIndex];\n var channelCount = channelMode === 3 ? 1 : 2; // If bits of channel mode are `11` then it is a single channel (Mono)\n var sampleCoefficient = SamplesCoefficients[mpegVersion][mpegLayer];\n var bytesInSlot = BytesInSlot[mpegLayer];\n var samplesPerFrame = sampleCoefficient * 8 * bytesInSlot;\n var frameLength = Math.floor(sampleCoefficient * bitRate / sampleRate + paddingBit) * bytesInSlot;\n if (chromeVersion$1 === null) {\n var userAgent = navigator.userAgent || '';\n var result = userAgent.match(/Chrome\\/(\\d+)/i);\n chromeVersion$1 = result ? parseInt(result[1]) : 0;\n }\n var needChromeFix = !!chromeVersion$1 && chromeVersion$1 <= 87;\n if (needChromeFix && mpegLayer === 2 && bitRate >= 224000 && channelMode === 0) {\n // Work around bug in Chromium by setting channelMode to dual-channel (01) instead of stereo (00)\n data[offset + 3] = data[offset + 3] | 0x80;\n }\n return {\n sampleRate: sampleRate,\n channelCount: channelCount,\n frameLength: frameLength,\n samplesPerFrame: samplesPerFrame\n };\n }\n }\n function isHeaderPattern(data, offset) {\n return data[offset] === 0xff && (data[offset + 1] & 0xe0) === 0xe0 && (data[offset + 1] & 0x06) !== 0x00;\n }\n function isHeader(data, offset) {\n // Look for MPEG header | 1111 1111 | 111X XYZX | where X can be either 0 or 1 and Y or Z should be 1\n // Layer bits (position 14 and 15) in header should be always different from 0 (Layer I or Layer II or Layer III)\n // More info http://www.mp3-tech.org/programmer/frame_header.html\n return offset + 1 < data.length && isHeaderPattern(data, offset);\n }\n function canParse(data, offset) {\n var headerSize = 4;\n return isHeaderPattern(data, offset) && headerSize <= data.length - offset;\n }\n function probe(data, offset) {\n // same as isHeader but we also check that MPEG frame follows last MPEG frame\n // or end of data is reached\n if (offset + 1 < data.length && isHeaderPattern(data, offset)) {\n // MPEG header Length\n var headerLength = 4;\n // MPEG frame Length\n var header = parseHeader(data, offset);\n var frameLength = headerLength;\n if (header != null && header.frameLength) {\n frameLength = header.frameLength;\n }\n var newOffset = offset + frameLength;\n return newOffset === data.length || isHeader(data, newOffset);\n }\n return false;\n }\n\n var AACDemuxer = /*#__PURE__*/function (_BaseAudioDemuxer) {\n _inheritsLoose(AACDemuxer, _BaseAudioDemuxer);\n function AACDemuxer(observer, config) {\n var _this;\n _this = _BaseAudioDemuxer.call(this) || this;\n _this.observer = void 0;\n _this.config = void 0;\n _this.observer = observer;\n _this.config = config;\n return _this;\n }\n var _proto = AACDemuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n _BaseAudioDemuxer.prototype.resetInitSegment.call(this, initSegment, audioCodec, videoCodec, trackDuration);\n this._audioTrack = {\n container: 'audio/adts',\n type: 'audio',\n id: 2,\n pid: -1,\n sequenceNumber: 0,\n segmentCodec: 'aac',\n samples: [],\n manifestCodec: audioCodec,\n duration: trackDuration,\n inputTimeScale: 90000,\n dropped: 0\n };\n }\n\n // Source for probe info - https://wiki.multimedia.cx/index.php?title=ADTS\n ;\n AACDemuxer.probe = function probe$2(data) {\n if (!data) {\n return false;\n }\n\n // Check for the ADTS sync word\n // Look for ADTS header | 1111 1111 | 1111 X00X | where X can be either 0 or 1\n // Layer bits (position 14 and 15) in header should be always 0 for ADTS\n // More info https://wiki.multimedia.cx/index.php?title=ADTS\n var id3Data = getID3Data(data, 0);\n var offset = (id3Data == null ? void 0 : id3Data.length) || 0;\n if (probe(data, offset)) {\n return false;\n }\n for (var length = data.length; offset < length; offset++) {\n if (probe$1(data, offset)) {\n logger.log('ADTS sync word found !');\n return true;\n }\n }\n return false;\n };\n _proto.canParse = function canParse(data, offset) {\n return canParse$1(data, offset);\n };\n _proto.appendFrame = function appendFrame(track, data, offset) {\n initTrackConfig(track, this.observer, data, offset, track.manifestCodec);\n var frame = appendFrame$1(track, data, offset, this.basePTS, this.frameIndex);\n if (frame && frame.missing === 0) {\n return frame;\n }\n };\n return AACDemuxer;\n }(BaseAudioDemuxer);\n\n var emsgSchemePattern = /\\/emsg[-/]ID3/i;\n var MP4Demuxer = /*#__PURE__*/function () {\n function MP4Demuxer(observer, config) {\n this.remainderData = null;\n this.timeOffset = 0;\n this.config = void 0;\n this.videoTrack = void 0;\n this.audioTrack = void 0;\n this.id3Track = void 0;\n this.txtTrack = void 0;\n this.config = config;\n }\n var _proto = MP4Demuxer.prototype;\n _proto.resetTimeStamp = function resetTimeStamp() {};\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n var videoTrack = this.videoTrack = dummyTrack('video', 1);\n var audioTrack = this.audioTrack = dummyTrack('audio', 1);\n var captionTrack = this.txtTrack = dummyTrack('text', 1);\n this.id3Track = dummyTrack('id3', 1);\n this.timeOffset = 0;\n if (!(initSegment != null && initSegment.byteLength)) {\n return;\n }\n var initData = parseInitSegment(initSegment);\n if (initData.video) {\n var _initData$video = initData.video,\n id = _initData$video.id,\n timescale = _initData$video.timescale,\n codec = _initData$video.codec;\n videoTrack.id = id;\n videoTrack.timescale = captionTrack.timescale = timescale;\n videoTrack.codec = codec;\n }\n if (initData.audio) {\n var _initData$audio = initData.audio,\n _id = _initData$audio.id,\n _timescale = _initData$audio.timescale,\n _codec = _initData$audio.codec;\n audioTrack.id = _id;\n audioTrack.timescale = _timescale;\n audioTrack.codec = _codec;\n }\n captionTrack.id = RemuxerTrackIdConfig.text;\n videoTrack.sampleDuration = 0;\n videoTrack.duration = audioTrack.duration = trackDuration;\n };\n _proto.resetContiguity = function resetContiguity() {\n this.remainderData = null;\n };\n MP4Demuxer.probe = function probe(data) {\n return hasMoofData(data);\n };\n _proto.demux = function demux(data, timeOffset) {\n this.timeOffset = timeOffset;\n // Load all data into the avc track. The CMAF remuxer will look for the data in the samples object; the rest of the fields do not matter\n var videoSamples = data;\n var videoTrack = this.videoTrack;\n var textTrack = this.txtTrack;\n if (this.config.progressive) {\n // Split the bytestream into two ranges: one encompassing all data up until the start of the last moof, and everything else.\n // This is done to guarantee that we're sending valid data to MSE - when demuxing progressively, we have no guarantee\n // that the fetch loader gives us flush moof+mdat pairs. If we push jagged data to MSE, it will throw an exception.\n if (this.remainderData) {\n videoSamples = appendUint8Array(this.remainderData, data);\n }\n var segmentedData = segmentValidRange(videoSamples);\n this.remainderData = segmentedData.remainder;\n videoTrack.samples = segmentedData.valid || new Uint8Array();\n } else {\n videoTrack.samples = videoSamples;\n }\n var id3Track = this.extractID3Track(videoTrack, timeOffset);\n textTrack.samples = parseSamples(timeOffset, videoTrack);\n return {\n videoTrack: videoTrack,\n audioTrack: this.audioTrack,\n id3Track: id3Track,\n textTrack: this.txtTrack\n };\n };\n _proto.flush = function flush() {\n var timeOffset = this.timeOffset;\n var videoTrack = this.videoTrack;\n var textTrack = this.txtTrack;\n videoTrack.samples = this.remainderData || new Uint8Array();\n this.remainderData = null;\n var id3Track = this.extractID3Track(videoTrack, this.timeOffset);\n textTrack.samples = parseSamples(timeOffset, videoTrack);\n return {\n videoTrack: videoTrack,\n audioTrack: dummyTrack(),\n id3Track: id3Track,\n textTrack: dummyTrack()\n };\n };\n _proto.extractID3Track = function extractID3Track(videoTrack, timeOffset) {\n var id3Track = this.id3Track;\n if (videoTrack.samples.length) {\n var emsgs = findBox(videoTrack.samples, ['emsg']);\n if (emsgs) {\n emsgs.forEach(function (data) {\n var emsgInfo = parseEmsg(data);\n if (emsgSchemePattern.test(emsgInfo.schemeIdUri)) {\n var pts = isFiniteNumber(emsgInfo.presentationTime) ? emsgInfo.presentationTime / emsgInfo.timeScale : timeOffset + emsgInfo.presentationTimeDelta / emsgInfo.timeScale;\n var duration = emsgInfo.eventDuration === 0xffffffff ? Number.POSITIVE_INFINITY : emsgInfo.eventDuration / emsgInfo.timeScale;\n // Safari takes anything <= 0.001 seconds and maps it to Infinity\n if (duration <= 0.001) {\n duration = Number.POSITIVE_INFINITY;\n }\n var payload = emsgInfo.payload;\n id3Track.samples.push({\n data: payload,\n len: payload.byteLength,\n dts: pts,\n pts: pts,\n type: MetadataSchema.emsg,\n duration: duration\n });\n }\n });\n }\n }\n return id3Track;\n };\n _proto.demuxSampleAes = function demuxSampleAes(data, keyData, timeOffset) {\n return Promise.reject(new Error('The MP4 demuxer does not support SAMPLE-AES decryption'));\n };\n _proto.destroy = function destroy() {};\n return MP4Demuxer;\n }();\n\n var getAudioBSID = function getAudioBSID(data, offset) {\n // check the bsid to confirm ac-3 | ec-3\n var bsid = 0;\n var numBits = 5;\n offset += numBits;\n var temp = new Uint32Array(1); // unsigned 32 bit for temporary storage\n var mask = new Uint32Array(1); // unsigned 32 bit mask value\n var _byte = new Uint8Array(1); // unsigned 8 bit for temporary storage\n while (numBits > 0) {\n _byte[0] = data[offset];\n // read remaining bits, upto 8 bits at a time\n var bits = Math.min(numBits, 8);\n var shift = 8 - bits;\n mask[0] = 0xff000000 >>> 24 + shift << shift;\n temp[0] = (_byte[0] & mask[0]) >> shift;\n bsid = !bsid ? temp[0] : bsid << bits | temp[0];\n offset += 1;\n numBits -= bits;\n }\n return bsid;\n };\n\n var AC3Demuxer = /*#__PURE__*/function (_BaseAudioDemuxer) {\n _inheritsLoose(AC3Demuxer, _BaseAudioDemuxer);\n function AC3Demuxer(observer) {\n var _this;\n _this = _BaseAudioDemuxer.call(this) || this;\n _this.observer = void 0;\n _this.observer = observer;\n return _this;\n }\n var _proto = AC3Demuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n _BaseAudioDemuxer.prototype.resetInitSegment.call(this, initSegment, audioCodec, videoCodec, trackDuration);\n this._audioTrack = {\n container: 'audio/ac-3',\n type: 'audio',\n id: 2,\n pid: -1,\n sequenceNumber: 0,\n segmentCodec: 'ac3',\n samples: [],\n manifestCodec: audioCodec,\n duration: trackDuration,\n inputTimeScale: 90000,\n dropped: 0\n };\n };\n _proto.canParse = function canParse(data, offset) {\n return offset + 64 < data.length;\n };\n _proto.appendFrame = function appendFrame(track, data, offset) {\n var frameLength = _appendFrame(track, data, offset, this.basePTS, this.frameIndex);\n if (frameLength !== -1) {\n var sample = track.samples[track.samples.length - 1];\n return {\n sample: sample,\n length: frameLength,\n missing: 0\n };\n }\n };\n AC3Demuxer.probe = function probe(data) {\n if (!data) {\n return false;\n }\n var id3Data = getID3Data(data, 0);\n if (!id3Data) {\n return false;\n }\n\n // look for the ac-3 sync bytes\n var offset = id3Data.length;\n if (data[offset] === 0x0b && data[offset + 1] === 0x77 && getTimeStamp(id3Data) !== undefined &&\n // check the bsid to confirm ac-3\n getAudioBSID(data, offset) < 16) {\n return true;\n }\n return false;\n };\n return AC3Demuxer;\n }(BaseAudioDemuxer);\n function _appendFrame(track, data, start, pts, frameIndex) {\n if (start + 8 > data.length) {\n return -1; // not enough bytes left\n }\n if (data[start] !== 0x0b || data[start + 1] !== 0x77) {\n return -1; // invalid magic\n }\n\n // get sample rate\n var samplingRateCode = data[start + 4] >> 6;\n if (samplingRateCode >= 3) {\n return -1; // invalid sampling rate\n }\n var samplingRateMap = [48000, 44100, 32000];\n var sampleRate = samplingRateMap[samplingRateCode];\n\n // get frame size\n var frameSizeCode = data[start + 4] & 0x3f;\n var frameSizeMap = [64, 69, 96, 64, 70, 96, 80, 87, 120, 80, 88, 120, 96, 104, 144, 96, 105, 144, 112, 121, 168, 112, 122, 168, 128, 139, 192, 128, 140, 192, 160, 174, 240, 160, 175, 240, 192, 208, 288, 192, 209, 288, 224, 243, 336, 224, 244, 336, 256, 278, 384, 256, 279, 384, 320, 348, 480, 320, 349, 480, 384, 417, 576, 384, 418, 576, 448, 487, 672, 448, 488, 672, 512, 557, 768, 512, 558, 768, 640, 696, 960, 640, 697, 960, 768, 835, 1152, 768, 836, 1152, 896, 975, 1344, 896, 976, 1344, 1024, 1114, 1536, 1024, 1115, 1536, 1152, 1253, 1728, 1152, 1254, 1728, 1280, 1393, 1920, 1280, 1394, 1920];\n var frameLength = frameSizeMap[frameSizeCode * 3 + samplingRateCode] * 2;\n if (start + frameLength > data.length) {\n return -1;\n }\n\n // get channel count\n var channelMode = data[start + 6] >> 5;\n var skipCount = 0;\n if (channelMode === 2) {\n skipCount += 2;\n } else {\n if (channelMode & 1 && channelMode !== 1) {\n skipCount += 2;\n }\n if (channelMode & 4) {\n skipCount += 2;\n }\n }\n var lfeon = (data[start + 6] << 8 | data[start + 7]) >> 12 - skipCount & 1;\n var channelsMap = [2, 1, 2, 3, 3, 4, 4, 5];\n var channelCount = channelsMap[channelMode] + lfeon;\n\n // build dac3 box\n var bsid = data[start + 5] >> 3;\n var bsmod = data[start + 5] & 7;\n var config = new Uint8Array([samplingRateCode << 6 | bsid << 1 | bsmod >> 2, (bsmod & 3) << 6 | channelMode << 3 | lfeon << 2 | frameSizeCode >> 4, frameSizeCode << 4 & 0xe0]);\n var frameDuration = 1536 / sampleRate * 90000;\n var stamp = pts + frameIndex * frameDuration;\n var unit = data.subarray(start, start + frameLength);\n track.config = config;\n track.channelCount = channelCount;\n track.samplerate = sampleRate;\n track.samples.push({\n unit: unit,\n pts: stamp\n });\n return frameLength;\n }\n\n var BaseVideoParser = /*#__PURE__*/function () {\n function BaseVideoParser() {\n this.VideoSample = null;\n }\n var _proto = BaseVideoParser.prototype;\n _proto.createVideoSample = function createVideoSample(key, pts, dts, debug) {\n return {\n key: key,\n frame: false,\n pts: pts,\n dts: dts,\n units: [],\n debug: debug,\n length: 0\n };\n };\n _proto.getLastNalUnit = function getLastNalUnit(samples) {\n var _VideoSample;\n var VideoSample = this.VideoSample;\n var lastUnit;\n // try to fallback to previous sample if current one is empty\n if (!VideoSample || VideoSample.units.length === 0) {\n VideoSample = samples[samples.length - 1];\n }\n if ((_VideoSample = VideoSample) != null && _VideoSample.units) {\n var units = VideoSample.units;\n lastUnit = units[units.length - 1];\n }\n return lastUnit;\n };\n _proto.pushAccessUnit = function pushAccessUnit(VideoSample, videoTrack) {\n if (VideoSample.units.length && VideoSample.frame) {\n // if sample does not have PTS/DTS, patch with last sample PTS/DTS\n if (VideoSample.pts === undefined) {\n var samples = videoTrack.samples;\n var nbSamples = samples.length;\n if (nbSamples) {\n var lastSample = samples[nbSamples - 1];\n VideoSample.pts = lastSample.pts;\n VideoSample.dts = lastSample.dts;\n } else {\n // dropping samples, no timestamp found\n videoTrack.dropped++;\n return;\n }\n }\n videoTrack.samples.push(VideoSample);\n }\n if (VideoSample.debug.length) {\n logger.log(VideoSample.pts + '/' + VideoSample.dts + ':' + VideoSample.debug);\n }\n };\n return BaseVideoParser;\n }();\n\n /**\n * Parser for exponential Golomb codes, a variable-bitwidth number encoding scheme used by h264.\n */\n\n var ExpGolomb = /*#__PURE__*/function () {\n function ExpGolomb(data) {\n this.data = void 0;\n this.bytesAvailable = void 0;\n this.word = void 0;\n this.bitsAvailable = void 0;\n this.data = data;\n // the number of bytes left to examine in this.data\n this.bytesAvailable = data.byteLength;\n // the current word being examined\n this.word = 0; // :uint\n // the number of bits left to examine in the current word\n this.bitsAvailable = 0; // :uint\n }\n\n // ():void\n var _proto = ExpGolomb.prototype;\n _proto.loadWord = function loadWord() {\n var data = this.data;\n var bytesAvailable = this.bytesAvailable;\n var position = data.byteLength - bytesAvailable;\n var workingBytes = new Uint8Array(4);\n var availableBytes = Math.min(4, bytesAvailable);\n if (availableBytes === 0) {\n throw new Error('no bytes available');\n }\n workingBytes.set(data.subarray(position, position + availableBytes));\n this.word = new DataView(workingBytes.buffer).getUint32(0);\n // track the amount of this.data that has been processed\n this.bitsAvailable = availableBytes * 8;\n this.bytesAvailable -= availableBytes;\n }\n\n // (count:int):void\n ;\n _proto.skipBits = function skipBits(count) {\n var skipBytes; // :int\n count = Math.min(count, this.bytesAvailable * 8 + this.bitsAvailable);\n if (this.bitsAvailable > count) {\n this.word <<= count;\n this.bitsAvailable -= count;\n } else {\n count -= this.bitsAvailable;\n skipBytes = count >> 3;\n count -= skipBytes << 3;\n this.bytesAvailable -= skipBytes;\n this.loadWord();\n this.word <<= count;\n this.bitsAvailable -= count;\n }\n }\n\n // (size:int):uint\n ;\n _proto.readBits = function readBits(size) {\n var bits = Math.min(this.bitsAvailable, size); // :uint\n var valu = this.word >>> 32 - bits; // :uint\n if (size > 32) {\n logger.error('Cannot read more than 32 bits at a time');\n }\n this.bitsAvailable -= bits;\n if (this.bitsAvailable > 0) {\n this.word <<= bits;\n } else if (this.bytesAvailable > 0) {\n this.loadWord();\n } else {\n throw new Error('no bits available');\n }\n bits = size - bits;\n if (bits > 0 && this.bitsAvailable) {\n return valu << bits | this.readBits(bits);\n } else {\n return valu;\n }\n }\n\n // ():uint\n ;\n _proto.skipLZ = function skipLZ() {\n var leadingZeroCount; // :uint\n for (leadingZeroCount = 0; leadingZeroCount < this.bitsAvailable; ++leadingZeroCount) {\n if ((this.word & 0x80000000 >>> leadingZeroCount) !== 0) {\n // the first bit of working word is 1\n this.word <<= leadingZeroCount;\n this.bitsAvailable -= leadingZeroCount;\n return leadingZeroCount;\n }\n }\n // we exhausted word and still have not found a 1\n this.loadWord();\n return leadingZeroCount + this.skipLZ();\n }\n\n // ():void\n ;\n _proto.skipUEG = function skipUEG() {\n this.skipBits(1 + this.skipLZ());\n }\n\n // ():void\n ;\n _proto.skipEG = function skipEG() {\n this.skipBits(1 + this.skipLZ());\n }\n\n // ():uint\n ;\n _proto.readUEG = function readUEG() {\n var clz = this.skipLZ(); // :uint\n return this.readBits(clz + 1) - 1;\n }\n\n // ():int\n ;\n _proto.readEG = function readEG() {\n var valu = this.readUEG(); // :int\n if (0x01 & valu) {\n // the number is odd if the low order bit is set\n return 1 + valu >>> 1; // add 1 to make it even, and divide by 2\n } else {\n return -1 * (valu >>> 1); // divide by two then make it negative\n }\n }\n\n // Some convenience functions\n // :Boolean\n ;\n _proto.readBoolean = function readBoolean() {\n return this.readBits(1) === 1;\n }\n\n // ():int\n ;\n _proto.readUByte = function readUByte() {\n return this.readBits(8);\n }\n\n // ():int\n ;\n _proto.readUShort = function readUShort() {\n return this.readBits(16);\n }\n\n // ():int\n ;\n _proto.readUInt = function readUInt() {\n return this.readBits(32);\n }\n\n /**\n * Advance the ExpGolomb decoder past a scaling list. The scaling\n * list is optionally transmitted as part of a sequence parameter\n * set and is not relevant to transmuxing.\n * @param count the number of entries in this scaling list\n * @see Recommendation ITU-T H.264, Section 7.3.2.1.1.1\n */;\n _proto.skipScalingList = function skipScalingList(count) {\n var lastScale = 8;\n var nextScale = 8;\n var deltaScale;\n for (var j = 0; j < count; j++) {\n if (nextScale !== 0) {\n deltaScale = this.readEG();\n nextScale = (lastScale + deltaScale + 256) % 256;\n }\n lastScale = nextScale === 0 ? lastScale : nextScale;\n }\n }\n\n /**\n * Read a sequence parameter set and return some interesting video\n * properties. A sequence parameter set is the H264 metadata that\n * describes the properties of upcoming video frames.\n * @returns an object with configuration parsed from the\n * sequence parameter set, including the dimensions of the\n * associated video frames.\n */;\n _proto.readSPS = function readSPS() {\n var frameCropLeftOffset = 0;\n var frameCropRightOffset = 0;\n var frameCropTopOffset = 0;\n var frameCropBottomOffset = 0;\n var numRefFramesInPicOrderCntCycle;\n var scalingListCount;\n var i;\n var readUByte = this.readUByte.bind(this);\n var readBits = this.readBits.bind(this);\n var readUEG = this.readUEG.bind(this);\n var readBoolean = this.readBoolean.bind(this);\n var skipBits = this.skipBits.bind(this);\n var skipEG = this.skipEG.bind(this);\n var skipUEG = this.skipUEG.bind(this);\n var skipScalingList = this.skipScalingList.bind(this);\n readUByte();\n var profileIdc = readUByte(); // profile_idc\n readBits(5); // profileCompat constraint_set[0-4]_flag, u(5)\n skipBits(3); // reserved_zero_3bits u(3),\n readUByte(); // level_idc u(8)\n skipUEG(); // seq_parameter_set_id\n // some profiles have more optional data we don't need\n if (profileIdc === 100 || profileIdc === 110 || profileIdc === 122 || profileIdc === 244 || profileIdc === 44 || profileIdc === 83 || profileIdc === 86 || profileIdc === 118 || profileIdc === 128) {\n var chromaFormatIdc = readUEG();\n if (chromaFormatIdc === 3) {\n skipBits(1);\n } // separate_colour_plane_flag\n\n skipUEG(); // bit_depth_luma_minus8\n skipUEG(); // bit_depth_chroma_minus8\n skipBits(1); // qpprime_y_zero_transform_bypass_flag\n if (readBoolean()) {\n // seq_scaling_matrix_present_flag\n scalingListCount = chromaFormatIdc !== 3 ? 8 : 12;\n for (i = 0; i < scalingListCount; i++) {\n if (readBoolean()) {\n // seq_scaling_list_present_flag[ i ]\n if (i < 6) {\n skipScalingList(16);\n } else {\n skipScalingList(64);\n }\n }\n }\n }\n }\n skipUEG(); // log2_max_frame_num_minus4\n var picOrderCntType = readUEG();\n if (picOrderCntType === 0) {\n readUEG(); // log2_max_pic_order_cnt_lsb_minus4\n } else if (picOrderCntType === 1) {\n skipBits(1); // delta_pic_order_always_zero_flag\n skipEG(); // offset_for_non_ref_pic\n skipEG(); // offset_for_top_to_bottom_field\n numRefFramesInPicOrderCntCycle = readUEG();\n for (i = 0; i < numRefFramesInPicOrderCntCycle; i++) {\n skipEG();\n } // offset_for_ref_frame[ i ]\n }\n skipUEG(); // max_num_ref_frames\n skipBits(1); // gaps_in_frame_num_value_allowed_flag\n var picWidthInMbsMinus1 = readUEG();\n var picHeightInMapUnitsMinus1 = readUEG();\n var frameMbsOnlyFlag = readBits(1);\n if (frameMbsOnlyFlag === 0) {\n skipBits(1);\n } // mb_adaptive_frame_field_flag\n\n skipBits(1); // direct_8x8_inference_flag\n if (readBoolean()) {\n // frame_cropping_flag\n frameCropLeftOffset = readUEG();\n frameCropRightOffset = readUEG();\n frameCropTopOffset = readUEG();\n frameCropBottomOffset = readUEG();\n }\n var pixelRatio = [1, 1];\n if (readBoolean()) {\n // vui_parameters_present_flag\n if (readBoolean()) {\n // aspect_ratio_info_present_flag\n var aspectRatioIdc = readUByte();\n switch (aspectRatioIdc) {\n case 1:\n pixelRatio = [1, 1];\n break;\n case 2:\n pixelRatio = [12, 11];\n break;\n case 3:\n pixelRatio = [10, 11];\n break;\n case 4:\n pixelRatio = [16, 11];\n break;\n case 5:\n pixelRatio = [40, 33];\n break;\n case 6:\n pixelRatio = [24, 11];\n break;\n case 7:\n pixelRatio = [20, 11];\n break;\n case 8:\n pixelRatio = [32, 11];\n break;\n case 9:\n pixelRatio = [80, 33];\n break;\n case 10:\n pixelRatio = [18, 11];\n break;\n case 11:\n pixelRatio = [15, 11];\n break;\n case 12:\n pixelRatio = [64, 33];\n break;\n case 13:\n pixelRatio = [160, 99];\n break;\n case 14:\n pixelRatio = [4, 3];\n break;\n case 15:\n pixelRatio = [3, 2];\n break;\n case 16:\n pixelRatio = [2, 1];\n break;\n case 255:\n {\n pixelRatio = [readUByte() << 8 | readUByte(), readUByte() << 8 | readUByte()];\n break;\n }\n }\n }\n }\n return {\n width: Math.ceil((picWidthInMbsMinus1 + 1) * 16 - frameCropLeftOffset * 2 - frameCropRightOffset * 2),\n height: (2 - frameMbsOnlyFlag) * (picHeightInMapUnitsMinus1 + 1) * 16 - (frameMbsOnlyFlag ? 2 : 4) * (frameCropTopOffset + frameCropBottomOffset),\n pixelRatio: pixelRatio\n };\n };\n _proto.readSliceType = function readSliceType() {\n // skip NALu type\n this.readUByte();\n // discard first_mb_in_slice\n this.readUEG();\n // return slice_type\n return this.readUEG();\n };\n return ExpGolomb;\n }();\n\n var AvcVideoParser = /*#__PURE__*/function (_BaseVideoParser) {\n _inheritsLoose(AvcVideoParser, _BaseVideoParser);\n function AvcVideoParser() {\n return _BaseVideoParser.apply(this, arguments) || this;\n }\n var _proto = AvcVideoParser.prototype;\n _proto.parseAVCPES = function parseAVCPES(track, textTrack, pes, last, duration) {\n var _this = this;\n var units = this.parseAVCNALu(track, pes.data);\n var VideoSample = this.VideoSample;\n var push;\n var spsfound = false;\n // free pes.data to save up some memory\n pes.data = null;\n\n // if new NAL units found and last sample still there, let's push ...\n // this helps parsing streams with missing AUD (only do this if AUD never found)\n if (VideoSample && units.length && !track.audFound) {\n this.pushAccessUnit(VideoSample, track);\n VideoSample = this.VideoSample = this.createVideoSample(false, pes.pts, pes.dts, '');\n }\n units.forEach(function (unit) {\n var _VideoSample2;\n switch (unit.type) {\n // NDR\n case 1:\n {\n var iskey = false;\n push = true;\n var data = unit.data;\n // only check slice type to detect KF in case SPS found in same packet (any keyframe is preceded by SPS ...)\n if (spsfound && data.length > 4) {\n // retrieve slice type by parsing beginning of NAL unit (follow H264 spec, slice_header definition) to detect keyframe embedded in NDR\n var sliceType = new ExpGolomb(data).readSliceType();\n // 2 : I slice, 4 : SI slice, 7 : I slice, 9: SI slice\n // SI slice : A slice that is coded using intra prediction only and using quantisation of the prediction samples.\n // An SI slice can be coded such that its decoded samples can be constructed identically to an SP slice.\n // I slice: A slice that is not an SI slice that is decoded using intra prediction only.\n // if (sliceType === 2 || sliceType === 7) {\n if (sliceType === 2 || sliceType === 4 || sliceType === 7 || sliceType === 9) {\n iskey = true;\n }\n }\n if (iskey) {\n var _VideoSample;\n // if we have non-keyframe data already, that cannot belong to the same frame as a keyframe, so force a push\n if ((_VideoSample = VideoSample) != null && _VideoSample.frame && !VideoSample.key) {\n _this.pushAccessUnit(VideoSample, track);\n VideoSample = _this.VideoSample = null;\n }\n }\n if (!VideoSample) {\n VideoSample = _this.VideoSample = _this.createVideoSample(true, pes.pts, pes.dts, '');\n }\n VideoSample.frame = true;\n VideoSample.key = iskey;\n break;\n // IDR\n }\n case 5:\n push = true;\n // handle PES not starting with AUD\n // if we have frame data already, that cannot belong to the same frame, so force a push\n if ((_VideoSample2 = VideoSample) != null && _VideoSample2.frame && !VideoSample.key) {\n _this.pushAccessUnit(VideoSample, track);\n VideoSample = _this.VideoSample = null;\n }\n if (!VideoSample) {\n VideoSample = _this.VideoSample = _this.createVideoSample(true, pes.pts, pes.dts, '');\n }\n VideoSample.key = true;\n VideoSample.frame = true;\n break;\n // SEI\n case 6:\n {\n push = true;\n parseSEIMessageFromNALu(unit.data, 1, pes.pts, textTrack.samples);\n break;\n // SPS\n }\n case 7:\n {\n var _track$pixelRatio, _track$pixelRatio2;\n push = true;\n spsfound = true;\n var sps = unit.data;\n var expGolombDecoder = new ExpGolomb(sps);\n var config = expGolombDecoder.readSPS();\n if (!track.sps || track.width !== config.width || track.height !== config.height || ((_track$pixelRatio = track.pixelRatio) == null ? void 0 : _track$pixelRatio[0]) !== config.pixelRatio[0] || ((_track$pixelRatio2 = track.pixelRatio) == null ? void 0 : _track$pixelRatio2[1]) !== config.pixelRatio[1]) {\n track.width = config.width;\n track.height = config.height;\n track.pixelRatio = config.pixelRatio;\n track.sps = [sps];\n track.duration = duration;\n var codecarray = sps.subarray(1, 4);\n var codecstring = 'avc1.';\n for (var i = 0; i < 3; i++) {\n var h = codecarray[i].toString(16);\n if (h.length < 2) {\n h = '0' + h;\n }\n codecstring += h;\n }\n track.codec = codecstring;\n }\n break;\n }\n // PPS\n case 8:\n push = true;\n track.pps = [unit.data];\n break;\n // AUD\n case 9:\n push = true;\n track.audFound = true;\n if (VideoSample) {\n _this.pushAccessUnit(VideoSample, track);\n }\n VideoSample = _this.VideoSample = _this.createVideoSample(false, pes.pts, pes.dts, '');\n break;\n // Filler Data\n case 12:\n push = true;\n break;\n default:\n push = false;\n if (VideoSample) {\n VideoSample.debug += 'unknown NAL ' + unit.type + ' ';\n }\n break;\n }\n if (VideoSample && push) {\n var _units = VideoSample.units;\n _units.push(unit);\n }\n });\n // if last PES packet, push samples\n if (last && VideoSample) {\n this.pushAccessUnit(VideoSample, track);\n this.VideoSample = null;\n }\n };\n _proto.parseAVCNALu = function parseAVCNALu(track, array) {\n var len = array.byteLength;\n var state = track.naluState || 0;\n var lastState = state;\n var units = [];\n var i = 0;\n var value;\n var overflow;\n var unitType;\n var lastUnitStart = -1;\n var lastUnitType = 0;\n // logger.log('PES:' + Hex.hexDump(array));\n\n if (state === -1) {\n // special use case where we found 3 or 4-byte start codes exactly at the end of previous PES packet\n lastUnitStart = 0;\n // NALu type is value read from offset 0\n lastUnitType = array[0] & 0x1f;\n state = 0;\n i = 1;\n }\n while (i < len) {\n value = array[i++];\n // optimization. state 0 and 1 are the predominant case. let's handle them outside of the switch/case\n if (!state) {\n state = value ? 0 : 1;\n continue;\n }\n if (state === 1) {\n state = value ? 0 : 2;\n continue;\n }\n // here we have state either equal to 2 or 3\n if (!value) {\n state = 3;\n } else if (value === 1) {\n overflow = i - state - 1;\n if (lastUnitStart >= 0) {\n var unit = {\n data: array.subarray(lastUnitStart, overflow),\n type: lastUnitType\n };\n // logger.log('pushing NALU, type/size:' + unit.type + '/' + unit.data.byteLength);\n units.push(unit);\n } else {\n // lastUnitStart is undefined => this is the first start code found in this PES packet\n // first check if start code delimiter is overlapping between 2 PES packets,\n // ie it started in last packet (lastState not zero)\n // and ended at the beginning of this PES packet (i <= 4 - lastState)\n var lastUnit = this.getLastNalUnit(track.samples);\n if (lastUnit) {\n if (lastState && i <= 4 - lastState) {\n // start delimiter overlapping between PES packets\n // strip start delimiter bytes from the end of last NAL unit\n // check if lastUnit had a state different from zero\n if (lastUnit.state) {\n // strip last bytes\n lastUnit.data = lastUnit.data.subarray(0, lastUnit.data.byteLength - lastState);\n }\n }\n // If NAL units are not starting right at the beginning of the PES packet, push preceding data into previous NAL unit.\n\n if (overflow > 0) {\n // logger.log('first NALU found with overflow:' + overflow);\n lastUnit.data = appendUint8Array(lastUnit.data, array.subarray(0, overflow));\n lastUnit.state = 0;\n }\n }\n }\n // check if we can read unit type\n if (i < len) {\n unitType = array[i] & 0x1f;\n // logger.log('find NALU @ offset:' + i + ',type:' + unitType);\n lastUnitStart = i;\n lastUnitType = unitType;\n state = 0;\n } else {\n // not enough byte to read unit type. let's read it on next PES parsing\n state = -1;\n }\n } else {\n state = 0;\n }\n }\n if (lastUnitStart >= 0 && state >= 0) {\n var _unit = {\n data: array.subarray(lastUnitStart, len),\n type: lastUnitType,\n state: state\n };\n units.push(_unit);\n // logger.log('pushing NALU, type/size/state:' + unit.type + '/' + unit.data.byteLength + '/' + state);\n }\n // no NALu found\n if (units.length === 0) {\n // append pes.data to previous NAL unit\n var _lastUnit = this.getLastNalUnit(track.samples);\n if (_lastUnit) {\n _lastUnit.data = appendUint8Array(_lastUnit.data, array);\n }\n }\n track.naluState = state;\n return units;\n };\n return AvcVideoParser;\n }(BaseVideoParser);\n\n /**\n * SAMPLE-AES decrypter\n */\n\n var SampleAesDecrypter = /*#__PURE__*/function () {\n function SampleAesDecrypter(observer, config, keyData) {\n this.keyData = void 0;\n this.decrypter = void 0;\n this.keyData = keyData;\n this.decrypter = new Decrypter(config, {\n removePKCS7Padding: false\n });\n }\n var _proto = SampleAesDecrypter.prototype;\n _proto.decryptBuffer = function decryptBuffer(encryptedData) {\n return this.decrypter.decrypt(encryptedData, this.keyData.key.buffer, this.keyData.iv.buffer);\n }\n\n // AAC - encrypt all full 16 bytes blocks starting from offset 16\n ;\n _proto.decryptAacSample = function decryptAacSample(samples, sampleIndex, callback) {\n var _this = this;\n var curUnit = samples[sampleIndex].unit;\n if (curUnit.length <= 16) {\n // No encrypted portion in this sample (first 16 bytes is not\n // encrypted, see https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/HLS_Sample_Encryption/Encryption/Encryption.html),\n return;\n }\n var encryptedData = curUnit.subarray(16, curUnit.length - curUnit.length % 16);\n var encryptedBuffer = encryptedData.buffer.slice(encryptedData.byteOffset, encryptedData.byteOffset + encryptedData.length);\n this.decryptBuffer(encryptedBuffer).then(function (decryptedBuffer) {\n var decryptedData = new Uint8Array(decryptedBuffer);\n curUnit.set(decryptedData, 16);\n if (!_this.decrypter.isSync()) {\n _this.decryptAacSamples(samples, sampleIndex + 1, callback);\n }\n });\n };\n _proto.decryptAacSamples = function decryptAacSamples(samples, sampleIndex, callback) {\n for (;; sampleIndex++) {\n if (sampleIndex >= samples.length) {\n callback();\n return;\n }\n if (samples[sampleIndex].unit.length < 32) {\n continue;\n }\n this.decryptAacSample(samples, sampleIndex, callback);\n if (!this.decrypter.isSync()) {\n return;\n }\n }\n }\n\n // AVC - encrypt one 16 bytes block out of ten, starting from offset 32\n ;\n _proto.getAvcEncryptedData = function getAvcEncryptedData(decodedData) {\n var encryptedDataLen = Math.floor((decodedData.length - 48) / 160) * 16 + 16;\n var encryptedData = new Int8Array(encryptedDataLen);\n var outputPos = 0;\n for (var inputPos = 32; inputPos < decodedData.length - 16; inputPos += 160, outputPos += 16) {\n encryptedData.set(decodedData.subarray(inputPos, inputPos + 16), outputPos);\n }\n return encryptedData;\n };\n _proto.getAvcDecryptedUnit = function getAvcDecryptedUnit(decodedData, decryptedData) {\n var uint8DecryptedData = new Uint8Array(decryptedData);\n var inputPos = 0;\n for (var outputPos = 32; outputPos < decodedData.length - 16; outputPos += 160, inputPos += 16) {\n decodedData.set(uint8DecryptedData.subarray(inputPos, inputPos + 16), outputPos);\n }\n return decodedData;\n };\n _proto.decryptAvcSample = function decryptAvcSample(samples, sampleIndex, unitIndex, callback, curUnit) {\n var _this2 = this;\n var decodedData = discardEPB(curUnit.data);\n var encryptedData = this.getAvcEncryptedData(decodedData);\n this.decryptBuffer(encryptedData.buffer).then(function (decryptedBuffer) {\n curUnit.data = _this2.getAvcDecryptedUnit(decodedData, decryptedBuffer);\n if (!_this2.decrypter.isSync()) {\n _this2.decryptAvcSamples(samples, sampleIndex, unitIndex + 1, callback);\n }\n });\n };\n _proto.decryptAvcSamples = function decryptAvcSamples(samples, sampleIndex, unitIndex, callback) {\n if (samples instanceof Uint8Array) {\n throw new Error('Cannot decrypt samples of type Uint8Array');\n }\n for (;; sampleIndex++, unitIndex = 0) {\n if (sampleIndex >= samples.length) {\n callback();\n return;\n }\n var curUnits = samples[sampleIndex].units;\n for (;; unitIndex++) {\n if (unitIndex >= curUnits.length) {\n break;\n }\n var curUnit = curUnits[unitIndex];\n if (curUnit.data.length <= 48 || curUnit.type !== 1 && curUnit.type !== 5) {\n continue;\n }\n this.decryptAvcSample(samples, sampleIndex, unitIndex, callback, curUnit);\n if (!this.decrypter.isSync()) {\n return;\n }\n }\n }\n };\n return SampleAesDecrypter;\n }();\n\n var PACKET_LENGTH = 188;\n var TSDemuxer = /*#__PURE__*/function () {\n function TSDemuxer(observer, config, typeSupported) {\n this.observer = void 0;\n this.config = void 0;\n this.typeSupported = void 0;\n this.sampleAes = null;\n this.pmtParsed = false;\n this.audioCodec = void 0;\n this.videoCodec = void 0;\n this._duration = 0;\n this._pmtId = -1;\n this._videoTrack = void 0;\n this._audioTrack = void 0;\n this._id3Track = void 0;\n this._txtTrack = void 0;\n this.aacOverFlow = null;\n this.remainderData = null;\n this.videoParser = void 0;\n this.observer = observer;\n this.config = config;\n this.typeSupported = typeSupported;\n this.videoParser = new AvcVideoParser();\n }\n TSDemuxer.probe = function probe(data) {\n var syncOffset = TSDemuxer.syncOffset(data);\n if (syncOffset > 0) {\n logger.warn(\"MPEG2-TS detected but first sync word found @ offset \" + syncOffset);\n }\n return syncOffset !== -1;\n };\n TSDemuxer.syncOffset = function syncOffset(data) {\n var length = data.length;\n var scanwindow = Math.min(PACKET_LENGTH * 5, length - PACKET_LENGTH) + 1;\n var i = 0;\n while (i < scanwindow) {\n // a TS init segment should contain at least 2 TS packets: PAT and PMT, each starting with 0x47\n var foundPat = false;\n var packetStart = -1;\n var tsPackets = 0;\n for (var j = i; j < length; j += PACKET_LENGTH) {\n if (data[j] === 0x47 && (length - j === PACKET_LENGTH || data[j + PACKET_LENGTH] === 0x47)) {\n tsPackets++;\n if (packetStart === -1) {\n packetStart = j;\n // First sync word found at offset, increase scan length (#5251)\n if (packetStart !== 0) {\n scanwindow = Math.min(packetStart + PACKET_LENGTH * 99, data.length - PACKET_LENGTH) + 1;\n }\n }\n if (!foundPat) {\n foundPat = parsePID(data, j) === 0;\n }\n // Sync word found at 0 with 3 packets, or found at offset least 2 packets up to scanwindow (#5501)\n if (foundPat && tsPackets > 1 && (packetStart === 0 && tsPackets > 2 || j + PACKET_LENGTH > scanwindow)) {\n return packetStart;\n }\n } else if (tsPackets) {\n // Exit if sync word found, but does not contain contiguous packets\n return -1;\n } else {\n break;\n }\n }\n i++;\n }\n return -1;\n }\n\n /**\n * Creates a track model internal to demuxer used to drive remuxing input\n */;\n TSDemuxer.createTrack = function createTrack(type, duration) {\n return {\n container: type === 'video' || type === 'audio' ? 'video/mp2t' : undefined,\n type: type,\n id: RemuxerTrackIdConfig[type],\n pid: -1,\n inputTimeScale: 90000,\n sequenceNumber: 0,\n samples: [],\n dropped: 0,\n duration: type === 'audio' ? duration : undefined\n };\n }\n\n /**\n * Initializes a new init segment on the demuxer/remuxer interface. Needed for discontinuities/track-switches (or at stream start)\n * Resets all internal track instances of the demuxer.\n */;\n var _proto = TSDemuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n this.pmtParsed = false;\n this._pmtId = -1;\n this._videoTrack = TSDemuxer.createTrack('video');\n this._audioTrack = TSDemuxer.createTrack('audio', trackDuration);\n this._id3Track = TSDemuxer.createTrack('id3');\n this._txtTrack = TSDemuxer.createTrack('text');\n this._audioTrack.segmentCodec = 'aac';\n\n // flush any partial content\n this.aacOverFlow = null;\n this.remainderData = null;\n this.audioCodec = audioCodec;\n this.videoCodec = videoCodec;\n this._duration = trackDuration;\n };\n _proto.resetTimeStamp = function resetTimeStamp() {};\n _proto.resetContiguity = function resetContiguity() {\n var _audioTrack = this._audioTrack,\n _videoTrack = this._videoTrack,\n _id3Track = this._id3Track;\n if (_audioTrack) {\n _audioTrack.pesData = null;\n }\n if (_videoTrack) {\n _videoTrack.pesData = null;\n }\n if (_id3Track) {\n _id3Track.pesData = null;\n }\n this.aacOverFlow = null;\n this.remainderData = null;\n };\n _proto.demux = function demux(data, timeOffset, isSampleAes, flush) {\n if (isSampleAes === void 0) {\n isSampleAes = false;\n }\n if (flush === void 0) {\n flush = false;\n }\n if (!isSampleAes) {\n this.sampleAes = null;\n }\n var pes;\n var videoTrack = this._videoTrack;\n var audioTrack = this._audioTrack;\n var id3Track = this._id3Track;\n var textTrack = this._txtTrack;\n var videoPid = videoTrack.pid;\n var videoData = videoTrack.pesData;\n var audioPid = audioTrack.pid;\n var id3Pid = id3Track.pid;\n var audioData = audioTrack.pesData;\n var id3Data = id3Track.pesData;\n var unknownPID = null;\n var pmtParsed = this.pmtParsed;\n var pmtId = this._pmtId;\n var len = data.length;\n if (this.remainderData) {\n data = appendUint8Array(this.remainderData, data);\n len = data.length;\n this.remainderData = null;\n }\n if (len < PACKET_LENGTH && !flush) {\n this.remainderData = data;\n return {\n audioTrack: audioTrack,\n videoTrack: videoTrack,\n id3Track: id3Track,\n textTrack: textTrack\n };\n }\n var syncOffset = Math.max(0, TSDemuxer.syncOffset(data));\n len -= (len - syncOffset) % PACKET_LENGTH;\n if (len < data.byteLength && !flush) {\n this.remainderData = new Uint8Array(data.buffer, len, data.buffer.byteLength - len);\n }\n\n // loop through TS packets\n var tsPacketErrors = 0;\n for (var start = syncOffset; start < len; start += PACKET_LENGTH) {\n if (data[start] === 0x47) {\n var stt = !!(data[start + 1] & 0x40);\n var pid = parsePID(data, start);\n var atf = (data[start + 3] & 0x30) >> 4;\n\n // if an adaption field is present, its length is specified by the fifth byte of the TS packet header.\n var offset = void 0;\n if (atf > 1) {\n offset = start + 5 + data[start + 4];\n // continue if there is only adaptation field\n if (offset === start + PACKET_LENGTH) {\n continue;\n }\n } else {\n offset = start + 4;\n }\n switch (pid) {\n case videoPid:\n if (stt) {\n if (videoData && (pes = parsePES(videoData))) {\n this.videoParser.parseAVCPES(videoTrack, textTrack, pes, false, this._duration);\n }\n videoData = {\n data: [],\n size: 0\n };\n }\n if (videoData) {\n videoData.data.push(data.subarray(offset, start + PACKET_LENGTH));\n videoData.size += start + PACKET_LENGTH - offset;\n }\n break;\n case audioPid:\n if (stt) {\n if (audioData && (pes = parsePES(audioData))) {\n switch (audioTrack.segmentCodec) {\n case 'aac':\n this.parseAACPES(audioTrack, pes);\n break;\n case 'mp3':\n this.parseMPEGPES(audioTrack, pes);\n break;\n case 'ac3':\n {\n this.parseAC3PES(audioTrack, pes);\n }\n break;\n }\n }\n audioData = {\n data: [],\n size: 0\n };\n }\n if (audioData) {\n audioData.data.push(data.subarray(offset, start + PACKET_LENGTH));\n audioData.size += start + PACKET_LENGTH - offset;\n }\n break;\n case id3Pid:\n if (stt) {\n if (id3Data && (pes = parsePES(id3Data))) {\n this.parseID3PES(id3Track, pes);\n }\n id3Data = {\n data: [],\n size: 0\n };\n }\n if (id3Data) {\n id3Data.data.push(data.subarray(offset, start + PACKET_LENGTH));\n id3Data.size += start + PACKET_LENGTH - offset;\n }\n break;\n case 0:\n if (stt) {\n offset += data[offset] + 1;\n }\n pmtId = this._pmtId = parsePAT(data, offset);\n // logger.log('PMT PID:' + this._pmtId);\n break;\n case pmtId:\n {\n if (stt) {\n offset += data[offset] + 1;\n }\n var parsedPIDs = parsePMT(data, offset, this.typeSupported, isSampleAes);\n\n // only update track id if track PID found while parsing PMT\n // this is to avoid resetting the PID to -1 in case\n // track PID transiently disappears from the stream\n // this could happen in case of transient missing audio samples for example\n // NOTE this is only the PID of the track as found in TS,\n // but we are not using this for MP4 track IDs.\n videoPid = parsedPIDs.videoPid;\n if (videoPid > 0) {\n videoTrack.pid = videoPid;\n videoTrack.segmentCodec = parsedPIDs.segmentVideoCodec;\n }\n audioPid = parsedPIDs.audioPid;\n if (audioPid > 0) {\n audioTrack.pid = audioPid;\n audioTrack.segmentCodec = parsedPIDs.segmentAudioCodec;\n }\n id3Pid = parsedPIDs.id3Pid;\n if (id3Pid > 0) {\n id3Track.pid = id3Pid;\n }\n if (unknownPID !== null && !pmtParsed) {\n logger.warn(\"MPEG-TS PMT found at \" + start + \" after unknown PID '\" + unknownPID + \"'. Backtracking to sync byte @\" + syncOffset + \" to parse all TS packets.\");\n unknownPID = null;\n // we set it to -188, the += 188 in the for loop will reset start to 0\n start = syncOffset - 188;\n }\n pmtParsed = this.pmtParsed = true;\n break;\n }\n case 0x11:\n case 0x1fff:\n break;\n default:\n unknownPID = pid;\n break;\n }\n } else {\n tsPacketErrors++;\n }\n }\n if (tsPacketErrors > 0) {\n var error = new Error(\"Found \" + tsPacketErrors + \" TS packet/s that do not start with 0x47\");\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: false,\n error: error,\n reason: error.message\n });\n }\n videoTrack.pesData = videoData;\n audioTrack.pesData = audioData;\n id3Track.pesData = id3Data;\n var demuxResult = {\n audioTrack: audioTrack,\n videoTrack: videoTrack,\n id3Track: id3Track,\n textTrack: textTrack\n };\n if (flush) {\n this.extractRemainingSamples(demuxResult);\n }\n return demuxResult;\n };\n _proto.flush = function flush() {\n var remainderData = this.remainderData;\n this.remainderData = null;\n var result;\n if (remainderData) {\n result = this.demux(remainderData, -1, false, true);\n } else {\n result = {\n videoTrack: this._videoTrack,\n audioTrack: this._audioTrack,\n id3Track: this._id3Track,\n textTrack: this._txtTrack\n };\n }\n this.extractRemainingSamples(result);\n if (this.sampleAes) {\n return this.decrypt(result, this.sampleAes);\n }\n return result;\n };\n _proto.extractRemainingSamples = function extractRemainingSamples(demuxResult) {\n var audioTrack = demuxResult.audioTrack,\n videoTrack = demuxResult.videoTrack,\n id3Track = demuxResult.id3Track,\n textTrack = demuxResult.textTrack;\n var videoData = videoTrack.pesData;\n var audioData = audioTrack.pesData;\n var id3Data = id3Track.pesData;\n // try to parse last PES packets\n var pes;\n if (videoData && (pes = parsePES(videoData))) {\n this.videoParser.parseAVCPES(videoTrack, textTrack, pes, true, this._duration);\n videoTrack.pesData = null;\n } else {\n // either avcData null or PES truncated, keep it for next frag parsing\n videoTrack.pesData = videoData;\n }\n if (audioData && (pes = parsePES(audioData))) {\n switch (audioTrack.segmentCodec) {\n case 'aac':\n this.parseAACPES(audioTrack, pes);\n break;\n case 'mp3':\n this.parseMPEGPES(audioTrack, pes);\n break;\n case 'ac3':\n {\n this.parseAC3PES(audioTrack, pes);\n }\n break;\n }\n audioTrack.pesData = null;\n } else {\n if (audioData != null && audioData.size) {\n logger.log('last AAC PES packet truncated,might overlap between fragments');\n }\n\n // either audioData null or PES truncated, keep it for next frag parsing\n audioTrack.pesData = audioData;\n }\n if (id3Data && (pes = parsePES(id3Data))) {\n this.parseID3PES(id3Track, pes);\n id3Track.pesData = null;\n } else {\n // either id3Data null or PES truncated, keep it for next frag parsing\n id3Track.pesData = id3Data;\n }\n };\n _proto.demuxSampleAes = function demuxSampleAes(data, keyData, timeOffset) {\n var demuxResult = this.demux(data, timeOffset, true, !this.config.progressive);\n var sampleAes = this.sampleAes = new SampleAesDecrypter(this.observer, this.config, keyData);\n return this.decrypt(demuxResult, sampleAes);\n };\n _proto.decrypt = function decrypt(demuxResult, sampleAes) {\n return new Promise(function (resolve) {\n var audioTrack = demuxResult.audioTrack,\n videoTrack = demuxResult.videoTrack;\n if (audioTrack.samples && audioTrack.segmentCodec === 'aac') {\n sampleAes.decryptAacSamples(audioTrack.samples, 0, function () {\n if (videoTrack.samples) {\n sampleAes.decryptAvcSamples(videoTrack.samples, 0, 0, function () {\n resolve(demuxResult);\n });\n } else {\n resolve(demuxResult);\n }\n });\n } else if (videoTrack.samples) {\n sampleAes.decryptAvcSamples(videoTrack.samples, 0, 0, function () {\n resolve(demuxResult);\n });\n }\n });\n };\n _proto.destroy = function destroy() {\n this._duration = 0;\n };\n _proto.parseAACPES = function parseAACPES(track, pes) {\n var startOffset = 0;\n var aacOverFlow = this.aacOverFlow;\n var data = pes.data;\n if (aacOverFlow) {\n this.aacOverFlow = null;\n var frameMissingBytes = aacOverFlow.missing;\n var sampleLength = aacOverFlow.sample.unit.byteLength;\n // logger.log(`AAC: append overflowing ${sampleLength} bytes to beginning of new PES`);\n if (frameMissingBytes === -1) {\n data = appendUint8Array(aacOverFlow.sample.unit, data);\n } else {\n var frameOverflowBytes = sampleLength - frameMissingBytes;\n aacOverFlow.sample.unit.set(data.subarray(0, frameMissingBytes), frameOverflowBytes);\n track.samples.push(aacOverFlow.sample);\n startOffset = aacOverFlow.missing;\n }\n }\n // look for ADTS header (0xFFFx)\n var offset;\n var len;\n for (offset = startOffset, len = data.length; offset < len - 1; offset++) {\n if (isHeader$1(data, offset)) {\n break;\n }\n }\n // if ADTS header does not start straight from the beginning of the PES payload, raise an error\n if (offset !== startOffset) {\n var reason;\n var recoverable = offset < len - 1;\n if (recoverable) {\n reason = \"AAC PES did not start with ADTS header,offset:\" + offset;\n } else {\n reason = 'No ADTS header found in AAC PES';\n }\n var error = new Error(reason);\n logger.warn(\"parsing error: \" + reason);\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: false,\n levelRetry: recoverable,\n error: error,\n reason: reason\n });\n if (!recoverable) {\n return;\n }\n }\n initTrackConfig(track, this.observer, data, offset, this.audioCodec);\n var pts;\n if (pes.pts !== undefined) {\n pts = pes.pts;\n } else if (aacOverFlow) {\n // if last AAC frame is overflowing, we should ensure timestamps are contiguous:\n // first sample PTS should be equal to last sample PTS + frameDuration\n var frameDuration = getFrameDuration(track.samplerate);\n pts = aacOverFlow.sample.pts + frameDuration;\n } else {\n logger.warn('[tsdemuxer]: AAC PES unknown PTS');\n return;\n }\n\n // scan for aac samples\n var frameIndex = 0;\n var frame;\n while (offset < len) {\n frame = appendFrame$1(track, data, offset, pts, frameIndex);\n offset += frame.length;\n if (!frame.missing) {\n frameIndex++;\n for (; offset < len - 1; offset++) {\n if (isHeader$1(data, offset)) {\n break;\n }\n }\n } else {\n this.aacOverFlow = frame;\n break;\n }\n }\n };\n _proto.parseMPEGPES = function parseMPEGPES(track, pes) {\n var data = pes.data;\n var length = data.length;\n var frameIndex = 0;\n var offset = 0;\n var pts = pes.pts;\n if (pts === undefined) {\n logger.warn('[tsdemuxer]: MPEG PES unknown PTS');\n return;\n }\n while (offset < length) {\n if (isHeader(data, offset)) {\n var frame = appendFrame(track, data, offset, pts, frameIndex);\n if (frame) {\n offset += frame.length;\n frameIndex++;\n } else {\n // logger.log('Unable to parse Mpeg audio frame');\n break;\n }\n } else {\n // nothing found, keep looking\n offset++;\n }\n }\n };\n _proto.parseAC3PES = function parseAC3PES(track, pes) {\n {\n var data = pes.data;\n var pts = pes.pts;\n if (pts === undefined) {\n logger.warn('[tsdemuxer]: AC3 PES unknown PTS');\n return;\n }\n var length = data.length;\n var frameIndex = 0;\n var offset = 0;\n var parsed;\n while (offset < length && (parsed = _appendFrame(track, data, offset, pts, frameIndex++)) > 0) {\n offset += parsed;\n }\n }\n };\n _proto.parseID3PES = function parseID3PES(id3Track, pes) {\n if (pes.pts === undefined) {\n logger.warn('[tsdemuxer]: ID3 PES unknown PTS');\n return;\n }\n var id3Sample = _extends({}, pes, {\n type: this._videoTrack ? MetadataSchema.emsg : MetadataSchema.audioId3,\n duration: Number.POSITIVE_INFINITY\n });\n id3Track.samples.push(id3Sample);\n };\n return TSDemuxer;\n }();\n function parsePID(data, offset) {\n // pid is a 13-bit field starting at the last bit of TS[1]\n return ((data[offset + 1] & 0x1f) << 8) + data[offset + 2];\n }\n function parsePAT(data, offset) {\n // skip the PSI header and parse the first PMT entry\n return (data[offset + 10] & 0x1f) << 8 | data[offset + 11];\n }\n function parsePMT(data, offset, typeSupported, isSampleAes) {\n var result = {\n audioPid: -1,\n videoPid: -1,\n id3Pid: -1,\n segmentVideoCodec: 'avc',\n segmentAudioCodec: 'aac'\n };\n var sectionLength = (data[offset + 1] & 0x0f) << 8 | data[offset + 2];\n var tableEnd = offset + 3 + sectionLength - 4;\n // to determine where the table is, we have to figure out how\n // long the program info descriptors are\n var programInfoLength = (data[offset + 10] & 0x0f) << 8 | data[offset + 11];\n // advance the offset to the first entry in the mapping table\n offset += 12 + programInfoLength;\n while (offset < tableEnd) {\n var pid = parsePID(data, offset);\n var esInfoLength = (data[offset + 3] & 0x0f) << 8 | data[offset + 4];\n switch (data[offset]) {\n case 0xcf:\n // SAMPLE-AES AAC\n if (!isSampleAes) {\n logEncryptedSamplesFoundInUnencryptedStream('ADTS AAC');\n break;\n }\n /* falls through */\n case 0x0f:\n // ISO/IEC 13818-7 ADTS AAC (MPEG-2 lower bit-rate audio)\n // logger.log('AAC PID:' + pid);\n if (result.audioPid === -1) {\n result.audioPid = pid;\n }\n break;\n\n // Packetized metadata (ID3)\n case 0x15:\n // logger.log('ID3 PID:' + pid);\n if (result.id3Pid === -1) {\n result.id3Pid = pid;\n }\n break;\n case 0xdb:\n // SAMPLE-AES AVC\n if (!isSampleAes) {\n logEncryptedSamplesFoundInUnencryptedStream('H.264');\n break;\n }\n /* falls through */\n case 0x1b:\n // ITU-T Rec. H.264 and ISO/IEC 14496-10 (lower bit-rate video)\n // logger.log('AVC PID:' + pid);\n if (result.videoPid === -1) {\n result.videoPid = pid;\n result.segmentVideoCodec = 'avc';\n }\n break;\n\n // ISO/IEC 11172-3 (MPEG-1 audio)\n // or ISO/IEC 13818-3 (MPEG-2 halved sample rate audio)\n case 0x03:\n case 0x04:\n // logger.log('MPEG PID:' + pid);\n if (!typeSupported.mpeg && !typeSupported.mp3) {\n logger.log('MPEG audio found, not supported in this browser');\n } else if (result.audioPid === -1) {\n result.audioPid = pid;\n result.segmentAudioCodec = 'mp3';\n }\n break;\n case 0xc1:\n // SAMPLE-AES AC3\n if (!isSampleAes) {\n logEncryptedSamplesFoundInUnencryptedStream('AC-3');\n break;\n }\n /* falls through */\n case 0x81:\n {\n if (!typeSupported.ac3) {\n logger.log('AC-3 audio found, not supported in this browser');\n } else if (result.audioPid === -1) {\n result.audioPid = pid;\n result.segmentAudioCodec = 'ac3';\n }\n }\n break;\n case 0x06:\n // stream_type 6 can mean a lot of different things in case of DVB.\n // We need to look at the descriptors. Right now, we're only interested\n // in AC-3 audio, so we do the descriptor parsing only when we don't have\n // an audio PID yet.\n if (result.audioPid === -1 && esInfoLength > 0) {\n var parsePos = offset + 5;\n var remaining = esInfoLength;\n while (remaining > 2) {\n var descriptorId = data[parsePos];\n switch (descriptorId) {\n case 0x6a:\n // DVB Descriptor for AC-3\n {\n if (typeSupported.ac3 !== true) {\n logger.log('AC-3 audio found, not supported in this browser for now');\n } else {\n result.audioPid = pid;\n result.segmentAudioCodec = 'ac3';\n }\n }\n break;\n }\n var descriptorLen = data[parsePos + 1] + 2;\n parsePos += descriptorLen;\n remaining -= descriptorLen;\n }\n }\n break;\n case 0xc2: // SAMPLE-AES EC3\n /* falls through */\n case 0x87:\n logger.warn('Unsupported EC-3 in M2TS found');\n break;\n case 0x24:\n logger.warn('Unsupported HEVC in M2TS found');\n break;\n }\n // move to the next table entry\n // skip past the elementary stream descriptors, if present\n offset += esInfoLength + 5;\n }\n return result;\n }\n function logEncryptedSamplesFoundInUnencryptedStream(type) {\n logger.log(type + \" with AES-128-CBC encryption found in unencrypted stream\");\n }\n function parsePES(stream) {\n var i = 0;\n var frag;\n var pesLen;\n var pesHdrLen;\n var pesPts;\n var pesDts;\n var data = stream.data;\n // safety check\n if (!stream || stream.size === 0) {\n return null;\n }\n\n // we might need up to 19 bytes to read PES header\n // if first chunk of data is less than 19 bytes, let's merge it with following ones until we get 19 bytes\n // usually only one merge is needed (and this is rare ...)\n while (data[0].length < 19 && data.length > 1) {\n data[0] = appendUint8Array(data[0], data[1]);\n data.splice(1, 1);\n }\n // retrieve PTS/DTS from first fragment\n frag = data[0];\n var pesPrefix = (frag[0] << 16) + (frag[1] << 8) + frag[2];\n if (pesPrefix === 1) {\n pesLen = (frag[4] << 8) + frag[5];\n // if PES parsed length is not zero and greater than total received length, stop parsing. PES might be truncated\n // minus 6 : PES header size\n if (pesLen && pesLen > stream.size - 6) {\n return null;\n }\n var pesFlags = frag[7];\n if (pesFlags & 0xc0) {\n /* PES header described here : http://dvd.sourceforge.net/dvdinfo/pes-hdr.html\n as PTS / DTS is 33 bit we cannot use bitwise operator in JS,\n as Bitwise operators treat their operands as a sequence of 32 bits */\n pesPts = (frag[9] & 0x0e) * 536870912 +\n // 1 << 29\n (frag[10] & 0xff) * 4194304 +\n // 1 << 22\n (frag[11] & 0xfe) * 16384 +\n // 1 << 14\n (frag[12] & 0xff) * 128 +\n // 1 << 7\n (frag[13] & 0xfe) / 2;\n if (pesFlags & 0x40) {\n pesDts = (frag[14] & 0x0e) * 536870912 +\n // 1 << 29\n (frag[15] & 0xff) * 4194304 +\n // 1 << 22\n (frag[16] & 0xfe) * 16384 +\n // 1 << 14\n (frag[17] & 0xff) * 128 +\n // 1 << 7\n (frag[18] & 0xfe) / 2;\n if (pesPts - pesDts > 60 * 90000) {\n logger.warn(Math.round((pesPts - pesDts) / 90000) + \"s delta between PTS and DTS, align them\");\n pesPts = pesDts;\n }\n } else {\n pesDts = pesPts;\n }\n }\n pesHdrLen = frag[8];\n // 9 bytes : 6 bytes for PES header + 3 bytes for PES extension\n var payloadStartOffset = pesHdrLen + 9;\n if (stream.size <= payloadStartOffset) {\n return null;\n }\n stream.size -= payloadStartOffset;\n // reassemble PES packet\n var pesData = new Uint8Array(stream.size);\n for (var j = 0, dataLen = data.length; j < dataLen; j++) {\n frag = data[j];\n var len = frag.byteLength;\n if (payloadStartOffset) {\n if (payloadStartOffset > len) {\n // trim full frag if PES header bigger than frag\n payloadStartOffset -= len;\n continue;\n } else {\n // trim partial frag if PES header smaller than frag\n frag = frag.subarray(payloadStartOffset);\n len -= payloadStartOffset;\n payloadStartOffset = 0;\n }\n }\n pesData.set(frag, i);\n i += len;\n }\n if (pesLen) {\n // payload size : remove PES header + PES extension\n pesLen -= pesHdrLen + 3;\n }\n return {\n data: pesData,\n pts: pesPts,\n dts: pesDts,\n len: pesLen\n };\n }\n return null;\n }\n\n var MP3Demuxer = /*#__PURE__*/function (_BaseAudioDemuxer) {\n _inheritsLoose(MP3Demuxer, _BaseAudioDemuxer);\n function MP3Demuxer() {\n return _BaseAudioDemuxer.apply(this, arguments) || this;\n }\n var _proto = MP3Demuxer.prototype;\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, trackDuration) {\n _BaseAudioDemuxer.prototype.resetInitSegment.call(this, initSegment, audioCodec, videoCodec, trackDuration);\n this._audioTrack = {\n container: 'audio/mpeg',\n type: 'audio',\n id: 2,\n pid: -1,\n sequenceNumber: 0,\n segmentCodec: 'mp3',\n samples: [],\n manifestCodec: audioCodec,\n duration: trackDuration,\n inputTimeScale: 90000,\n dropped: 0\n };\n };\n MP3Demuxer.probe = function probe$1(data) {\n if (!data) {\n return false;\n }\n\n // check if data contains ID3 timestamp and MPEG sync word\n // Look for MPEG header | 1111 1111 | 111X XYZX | where X can be either 0 or 1 and Y or Z should be 1\n // Layer bits (position 14 and 15) in header should be always different from 0 (Layer I or Layer II or Layer III)\n // More info http://www.mp3-tech.org/programmer/frame_header.html\n var id3Data = getID3Data(data, 0);\n var offset = (id3Data == null ? void 0 : id3Data.length) || 0;\n\n // Check for ac-3|ec-3 sync bytes and return false if present\n if (id3Data && data[offset] === 0x0b && data[offset + 1] === 0x77 && getTimeStamp(id3Data) !== undefined &&\n // check the bsid to confirm ac-3 or ec-3 (not mp3)\n getAudioBSID(data, offset) <= 16) {\n return false;\n }\n for (var length = data.length; offset < length; offset++) {\n if (probe(data, offset)) {\n logger.log('MPEG Audio sync word found !');\n return true;\n }\n }\n return false;\n };\n _proto.canParse = function canParse$1(data, offset) {\n return canParse(data, offset);\n };\n _proto.appendFrame = function appendFrame$1(track, data, offset) {\n if (this.basePTS === null) {\n return;\n }\n return appendFrame(track, data, offset, this.basePTS, this.frameIndex);\n };\n return MP3Demuxer;\n }(BaseAudioDemuxer);\n\n /**\n * AAC helper\n */\n var AAC = /*#__PURE__*/function () {\n function AAC() {}\n AAC.getSilentFrame = function getSilentFrame(codec, channelCount) {\n switch (codec) {\n case 'mp4a.40.2':\n if (channelCount === 1) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x23, 0x80]);\n } else if (channelCount === 2) {\n return new Uint8Array([0x21, 0x00, 0x49, 0x90, 0x02, 0x19, 0x00, 0x23, 0x80]);\n } else if (channelCount === 3) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x8e]);\n } else if (channelCount === 4) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x80, 0x2c, 0x80, 0x08, 0x02, 0x38]);\n } else if (channelCount === 5) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x82, 0x30, 0x04, 0x99, 0x00, 0x21, 0x90, 0x02, 0x38]);\n } else if (channelCount === 6) {\n return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x82, 0x30, 0x04, 0x99, 0x00, 0x21, 0x90, 0x02, 0x00, 0xb2, 0x00, 0x20, 0x08, 0xe0]);\n }\n break;\n // handle HE-AAC below (mp4a.40.5 / mp4a.40.29)\n default:\n if (channelCount === 1) {\n // ffmpeg -y -f lavfi -i \"aevalsrc=0:d=0.05\" -c:a libfdk_aac -profile:a aac_he -b:a 4k output.aac && hexdump -v -e '16/1 \"0x%x,\" \"\\n\"' -v output.aac\n return new Uint8Array([0x1, 0x40, 0x22, 0x80, 0xa3, 0x4e, 0xe6, 0x80, 0xba, 0x8, 0x0, 0x0, 0x0, 0x1c, 0x6, 0xf1, 0xc1, 0xa, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e]);\n } else if (channelCount === 2) {\n // ffmpeg -y -f lavfi -i \"aevalsrc=0|0:d=0.05\" -c:a libfdk_aac -profile:a aac_he_v2 -b:a 4k output.aac && hexdump -v -e '16/1 \"0x%x,\" \"\\n\"' -v output.aac\n return new Uint8Array([0x1, 0x40, 0x22, 0x80, 0xa3, 0x5e, 0xe6, 0x80, 0xba, 0x8, 0x0, 0x0, 0x0, 0x0, 0x95, 0x0, 0x6, 0xf1, 0xa1, 0xa, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e]);\n } else if (channelCount === 3) {\n // ffmpeg -y -f lavfi -i \"aevalsrc=0|0|0:d=0.05\" -c:a libfdk_aac -profile:a aac_he_v2 -b:a 4k output.aac && hexdump -v -e '16/1 \"0x%x,\" \"\\n\"' -v output.aac\n return new Uint8Array([0x1, 0x40, 0x22, 0x80, 0xa3, 0x5e, 0xe6, 0x80, 0xba, 0x8, 0x0, 0x0, 0x0, 0x0, 0x95, 0x0, 0x6, 0xf1, 0xa1, 0xa, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e]);\n }\n break;\n }\n return undefined;\n };\n return AAC;\n }();\n\n /**\n * Generate MP4 Box\n */\n\n var UINT32_MAX = Math.pow(2, 32) - 1;\n var MP4 = /*#__PURE__*/function () {\n function MP4() {}\n MP4.init = function init() {\n MP4.types = {\n avc1: [],\n // codingname\n avcC: [],\n btrt: [],\n dinf: [],\n dref: [],\n esds: [],\n ftyp: [],\n hdlr: [],\n mdat: [],\n mdhd: [],\n mdia: [],\n mfhd: [],\n minf: [],\n moof: [],\n moov: [],\n mp4a: [],\n '.mp3': [],\n dac3: [],\n 'ac-3': [],\n mvex: [],\n mvhd: [],\n pasp: [],\n sdtp: [],\n stbl: [],\n stco: [],\n stsc: [],\n stsd: [],\n stsz: [],\n stts: [],\n tfdt: [],\n tfhd: [],\n traf: [],\n trak: [],\n trun: [],\n trex: [],\n tkhd: [],\n vmhd: [],\n smhd: []\n };\n var i;\n for (i in MP4.types) {\n if (MP4.types.hasOwnProperty(i)) {\n MP4.types[i] = [i.charCodeAt(0), i.charCodeAt(1), i.charCodeAt(2), i.charCodeAt(3)];\n }\n }\n var videoHdlr = new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00,\n // pre_defined\n 0x76, 0x69, 0x64, 0x65,\n // handler_type: 'vide'\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x00 // name: 'VideoHandler'\n ]);\n var audioHdlr = new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00,\n // pre_defined\n 0x73, 0x6f, 0x75, 0x6e,\n // handler_type: 'soun'\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x00 // name: 'SoundHandler'\n ]);\n MP4.HDLR_TYPES = {\n video: videoHdlr,\n audio: audioHdlr\n };\n var dref = new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x01,\n // entry_count\n 0x00, 0x00, 0x00, 0x0c,\n // entry_size\n 0x75, 0x72, 0x6c, 0x20,\n // 'url' type\n 0x00,\n // version 0\n 0x00, 0x00, 0x01 // entry_flags\n ]);\n var stco = new Uint8Array([0x00,\n // version\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00 // entry_count\n ]);\n MP4.STTS = MP4.STSC = MP4.STCO = stco;\n MP4.STSZ = new Uint8Array([0x00,\n // version\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00,\n // sample_size\n 0x00, 0x00, 0x00, 0x00 // sample_count\n ]);\n MP4.VMHD = new Uint8Array([0x00,\n // version\n 0x00, 0x00, 0x01,\n // flags\n 0x00, 0x00,\n // graphicsmode\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // opcolor\n ]);\n MP4.SMHD = new Uint8Array([0x00,\n // version\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00,\n // balance\n 0x00, 0x00 // reserved\n ]);\n MP4.STSD = new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x01]); // entry_count\n\n var majorBrand = new Uint8Array([105, 115, 111, 109]); // isom\n var avc1Brand = new Uint8Array([97, 118, 99, 49]); // avc1\n var minorVersion = new Uint8Array([0, 0, 0, 1]);\n MP4.FTYP = MP4.box(MP4.types.ftyp, majorBrand, minorVersion, majorBrand, avc1Brand);\n MP4.DINF = MP4.box(MP4.types.dinf, MP4.box(MP4.types.dref, dref));\n };\n MP4.box = function box(type) {\n var size = 8;\n for (var _len = arguments.length, payload = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n payload[_key - 1] = arguments[_key];\n }\n var i = payload.length;\n var len = i;\n // calculate the total size we need to allocate\n while (i--) {\n size += payload[i].byteLength;\n }\n var result = new Uint8Array(size);\n result[0] = size >> 24 & 0xff;\n result[1] = size >> 16 & 0xff;\n result[2] = size >> 8 & 0xff;\n result[3] = size & 0xff;\n result.set(type, 4);\n // copy the payload into the result\n for (i = 0, size = 8; i < len; i++) {\n // copy payload[i] array @ offset size\n result.set(payload[i], size);\n size += payload[i].byteLength;\n }\n return result;\n };\n MP4.hdlr = function hdlr(type) {\n return MP4.box(MP4.types.hdlr, MP4.HDLR_TYPES[type]);\n };\n MP4.mdat = function mdat(data) {\n return MP4.box(MP4.types.mdat, data);\n };\n MP4.mdhd = function mdhd(timescale, duration) {\n duration *= timescale;\n var upperWordDuration = Math.floor(duration / (UINT32_MAX + 1));\n var lowerWordDuration = Math.floor(duration % (UINT32_MAX + 1));\n return MP4.box(MP4.types.mdhd, new Uint8Array([0x01,\n // version 1\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,\n // creation_time\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,\n // modification_time\n timescale >> 24 & 0xff, timescale >> 16 & 0xff, timescale >> 8 & 0xff, timescale & 0xff,\n // timescale\n upperWordDuration >> 24, upperWordDuration >> 16 & 0xff, upperWordDuration >> 8 & 0xff, upperWordDuration & 0xff, lowerWordDuration >> 24, lowerWordDuration >> 16 & 0xff, lowerWordDuration >> 8 & 0xff, lowerWordDuration & 0xff, 0x55, 0xc4,\n // 'und' language (undetermined)\n 0x00, 0x00]));\n };\n MP4.mdia = function mdia(track) {\n return MP4.box(MP4.types.mdia, MP4.mdhd(track.timescale, track.duration), MP4.hdlr(track.type), MP4.minf(track));\n };\n MP4.mfhd = function mfhd(sequenceNumber) {\n return MP4.box(MP4.types.mfhd, new Uint8Array([0x00, 0x00, 0x00, 0x00,\n // flags\n sequenceNumber >> 24, sequenceNumber >> 16 & 0xff, sequenceNumber >> 8 & 0xff, sequenceNumber & 0xff // sequence_number\n ]));\n };\n MP4.minf = function minf(track) {\n if (track.type === 'audio') {\n return MP4.box(MP4.types.minf, MP4.box(MP4.types.smhd, MP4.SMHD), MP4.DINF, MP4.stbl(track));\n } else {\n return MP4.box(MP4.types.minf, MP4.box(MP4.types.vmhd, MP4.VMHD), MP4.DINF, MP4.stbl(track));\n }\n };\n MP4.moof = function moof(sn, baseMediaDecodeTime, track) {\n return MP4.box(MP4.types.moof, MP4.mfhd(sn), MP4.traf(track, baseMediaDecodeTime));\n };\n MP4.moov = function moov(tracks) {\n var i = tracks.length;\n var boxes = [];\n while (i--) {\n boxes[i] = MP4.trak(tracks[i]);\n }\n return MP4.box.apply(null, [MP4.types.moov, MP4.mvhd(tracks[0].timescale, tracks[0].duration)].concat(boxes).concat(MP4.mvex(tracks)));\n };\n MP4.mvex = function mvex(tracks) {\n var i = tracks.length;\n var boxes = [];\n while (i--) {\n boxes[i] = MP4.trex(tracks[i]);\n }\n return MP4.box.apply(null, [MP4.types.mvex].concat(boxes));\n };\n MP4.mvhd = function mvhd(timescale, duration) {\n duration *= timescale;\n var upperWordDuration = Math.floor(duration / (UINT32_MAX + 1));\n var lowerWordDuration = Math.floor(duration % (UINT32_MAX + 1));\n var bytes = new Uint8Array([0x01,\n // version 1\n 0x00, 0x00, 0x00,\n // flags\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,\n // creation_time\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,\n // modification_time\n timescale >> 24 & 0xff, timescale >> 16 & 0xff, timescale >> 8 & 0xff, timescale & 0xff,\n // timescale\n upperWordDuration >> 24, upperWordDuration >> 16 & 0xff, upperWordDuration >> 8 & 0xff, upperWordDuration & 0xff, lowerWordDuration >> 24, lowerWordDuration >> 16 & 0xff, lowerWordDuration >> 8 & 0xff, lowerWordDuration & 0xff, 0x00, 0x01, 0x00, 0x00,\n // 1.0 rate\n 0x01, 0x00,\n // 1.0 volume\n 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,\n // transformation: unity matrix\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // pre_defined\n 0xff, 0xff, 0xff, 0xff // next_track_ID\n ]);\n return MP4.box(MP4.types.mvhd, bytes);\n };\n MP4.sdtp = function sdtp(track) {\n var samples = track.samples || [];\n var bytes = new Uint8Array(4 + samples.length);\n var i;\n var flags;\n // leave the full box header (4 bytes) all zero\n // write the sample table\n for (i = 0; i < samples.length; i++) {\n flags = samples[i].flags;\n bytes[i + 4] = flags.dependsOn << 4 | flags.isDependedOn << 2 | flags.hasRedundancy;\n }\n return MP4.box(MP4.types.sdtp, bytes);\n };\n MP4.stbl = function stbl(track) {\n return MP4.box(MP4.types.stbl, MP4.stsd(track), MP4.box(MP4.types.stts, MP4.STTS), MP4.box(MP4.types.stsc, MP4.STSC), MP4.box(MP4.types.stsz, MP4.STSZ), MP4.box(MP4.types.stco, MP4.STCO));\n };\n MP4.avc1 = function avc1(track) {\n var sps = [];\n var pps = [];\n var i;\n var data;\n var len;\n // assemble the SPSs\n\n for (i = 0; i < track.sps.length; i++) {\n data = track.sps[i];\n len = data.byteLength;\n sps.push(len >>> 8 & 0xff);\n sps.push(len & 0xff);\n\n // SPS\n sps = sps.concat(Array.prototype.slice.call(data));\n }\n\n // assemble the PPSs\n for (i = 0; i < track.pps.length; i++) {\n data = track.pps[i];\n len = data.byteLength;\n pps.push(len >>> 8 & 0xff);\n pps.push(len & 0xff);\n pps = pps.concat(Array.prototype.slice.call(data));\n }\n var avcc = MP4.box(MP4.types.avcC, new Uint8Array([0x01,\n // version\n sps[3],\n // profile\n sps[4],\n // profile compat\n sps[5],\n // level\n 0xfc | 3,\n // lengthSizeMinusOne, hard-coded to 4 bytes\n 0xe0 | track.sps.length // 3bit reserved (111) + numOfSequenceParameterSets\n ].concat(sps).concat([track.pps.length // numOfPictureParameterSets\n ]).concat(pps))); // \"PPS\"\n var width = track.width;\n var height = track.height;\n var hSpacing = track.pixelRatio[0];\n var vSpacing = track.pixelRatio[1];\n return MP4.box(MP4.types.avc1, new Uint8Array([0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x01,\n // data_reference_index\n 0x00, 0x00,\n // pre_defined\n 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // pre_defined\n width >> 8 & 0xff, width & 0xff,\n // width\n height >> 8 & 0xff, height & 0xff,\n // height\n 0x00, 0x48, 0x00, 0x00,\n // horizresolution\n 0x00, 0x48, 0x00, 0x00,\n // vertresolution\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x01,\n // frame_count\n 0x12, 0x64, 0x61, 0x69, 0x6c,\n // dailymotion/hls.js\n 0x79, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x68, 0x6c, 0x73, 0x2e, 0x6a, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // compressorname\n 0x00, 0x18,\n // depth = 24\n 0x11, 0x11]),\n // pre_defined = -1\n avcc, MP4.box(MP4.types.btrt, new Uint8Array([0x00, 0x1c, 0x9c, 0x80,\n // bufferSizeDB\n 0x00, 0x2d, 0xc6, 0xc0,\n // maxBitrate\n 0x00, 0x2d, 0xc6, 0xc0])),\n // avgBitrate\n MP4.box(MP4.types.pasp, new Uint8Array([hSpacing >> 24,\n // hSpacing\n hSpacing >> 16 & 0xff, hSpacing >> 8 & 0xff, hSpacing & 0xff, vSpacing >> 24,\n // vSpacing\n vSpacing >> 16 & 0xff, vSpacing >> 8 & 0xff, vSpacing & 0xff])));\n };\n MP4.esds = function esds(track) {\n var configlen = track.config.length;\n return new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n\n 0x03,\n // descriptor_type\n 0x17 + configlen,\n // length\n 0x00, 0x01,\n // es_id\n 0x00,\n // stream_priority\n\n 0x04,\n // descriptor_type\n 0x0f + configlen,\n // length\n 0x40,\n // codec : mpeg4_audio\n 0x15,\n // stream_type\n 0x00, 0x00, 0x00,\n // buffer_size\n 0x00, 0x00, 0x00, 0x00,\n // maxBitrate\n 0x00, 0x00, 0x00, 0x00,\n // avgBitrate\n\n 0x05 // descriptor_type\n ].concat([configlen]).concat(track.config).concat([0x06, 0x01, 0x02])); // GASpecificConfig)); // length + audio config descriptor\n };\n MP4.audioStsd = function audioStsd(track) {\n var samplerate = track.samplerate;\n return new Uint8Array([0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x01,\n // data_reference_index\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, track.channelCount,\n // channelcount\n 0x00, 0x10,\n // sampleSize:16bits\n 0x00, 0x00, 0x00, 0x00,\n // reserved2\n samplerate >> 8 & 0xff, samplerate & 0xff,\n //\n 0x00, 0x00]);\n };\n MP4.mp4a = function mp4a(track) {\n return MP4.box(MP4.types.mp4a, MP4.audioStsd(track), MP4.box(MP4.types.esds, MP4.esds(track)));\n };\n MP4.mp3 = function mp3(track) {\n return MP4.box(MP4.types['.mp3'], MP4.audioStsd(track));\n };\n MP4.ac3 = function ac3(track) {\n return MP4.box(MP4.types['ac-3'], MP4.audioStsd(track), MP4.box(MP4.types.dac3, track.config));\n };\n MP4.stsd = function stsd(track) {\n if (track.type === 'audio') {\n if (track.segmentCodec === 'mp3' && track.codec === 'mp3') {\n return MP4.box(MP4.types.stsd, MP4.STSD, MP4.mp3(track));\n }\n if (track.segmentCodec === 'ac3') {\n return MP4.box(MP4.types.stsd, MP4.STSD, MP4.ac3(track));\n }\n return MP4.box(MP4.types.stsd, MP4.STSD, MP4.mp4a(track));\n } else {\n return MP4.box(MP4.types.stsd, MP4.STSD, MP4.avc1(track));\n }\n };\n MP4.tkhd = function tkhd(track) {\n var id = track.id;\n var duration = track.duration * track.timescale;\n var width = track.width;\n var height = track.height;\n var upperWordDuration = Math.floor(duration / (UINT32_MAX + 1));\n var lowerWordDuration = Math.floor(duration % (UINT32_MAX + 1));\n return MP4.box(MP4.types.tkhd, new Uint8Array([0x01,\n // version 1\n 0x00, 0x00, 0x07,\n // flags\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,\n // creation_time\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,\n // modification_time\n id >> 24 & 0xff, id >> 16 & 0xff, id >> 8 & 0xff, id & 0xff,\n // track_ID\n 0x00, 0x00, 0x00, 0x00,\n // reserved\n upperWordDuration >> 24, upperWordDuration >> 16 & 0xff, upperWordDuration >> 8 & 0xff, upperWordDuration & 0xff, lowerWordDuration >> 24, lowerWordDuration >> 16 & 0xff, lowerWordDuration >> 8 & 0xff, lowerWordDuration & 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n // reserved\n 0x00, 0x00,\n // layer\n 0x00, 0x00,\n // alternate_group\n 0x00, 0x00,\n // non-audio track volume\n 0x00, 0x00,\n // reserved\n 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,\n // transformation: unity matrix\n width >> 8 & 0xff, width & 0xff, 0x00, 0x00,\n // width\n height >> 8 & 0xff, height & 0xff, 0x00, 0x00 // height\n ]));\n };\n MP4.traf = function traf(track, baseMediaDecodeTime) {\n var sampleDependencyTable = MP4.sdtp(track);\n var id = track.id;\n var upperWordBaseMediaDecodeTime = Math.floor(baseMediaDecodeTime / (UINT32_MAX + 1));\n var lowerWordBaseMediaDecodeTime = Math.floor(baseMediaDecodeTime % (UINT32_MAX + 1));\n return MP4.box(MP4.types.traf, MP4.box(MP4.types.tfhd, new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n id >> 24, id >> 16 & 0xff, id >> 8 & 0xff, id & 0xff // track_ID\n ])), MP4.box(MP4.types.tfdt, new Uint8Array([0x01,\n // version 1\n 0x00, 0x00, 0x00,\n // flags\n upperWordBaseMediaDecodeTime >> 24, upperWordBaseMediaDecodeTime >> 16 & 0xff, upperWordBaseMediaDecodeTime >> 8 & 0xff, upperWordBaseMediaDecodeTime & 0xff, lowerWordBaseMediaDecodeTime >> 24, lowerWordBaseMediaDecodeTime >> 16 & 0xff, lowerWordBaseMediaDecodeTime >> 8 & 0xff, lowerWordBaseMediaDecodeTime & 0xff])), MP4.trun(track, sampleDependencyTable.length + 16 +\n // tfhd\n 20 +\n // tfdt\n 8 +\n // traf header\n 16 +\n // mfhd\n 8 +\n // moof header\n 8),\n // mdat header\n sampleDependencyTable);\n }\n\n /**\n * Generate a track box.\n * @param track a track definition\n */;\n MP4.trak = function trak(track) {\n track.duration = track.duration || 0xffffffff;\n return MP4.box(MP4.types.trak, MP4.tkhd(track), MP4.mdia(track));\n };\n MP4.trex = function trex(track) {\n var id = track.id;\n return MP4.box(MP4.types.trex, new Uint8Array([0x00,\n // version 0\n 0x00, 0x00, 0x00,\n // flags\n id >> 24, id >> 16 & 0xff, id >> 8 & 0xff, id & 0xff,\n // track_ID\n 0x00, 0x00, 0x00, 0x01,\n // default_sample_description_index\n 0x00, 0x00, 0x00, 0x00,\n // default_sample_duration\n 0x00, 0x00, 0x00, 0x00,\n // default_sample_size\n 0x00, 0x01, 0x00, 0x01 // default_sample_flags\n ]));\n };\n MP4.trun = function trun(track, offset) {\n var samples = track.samples || [];\n var len = samples.length;\n var arraylen = 12 + 16 * len;\n var array = new Uint8Array(arraylen);\n var i;\n var sample;\n var duration;\n var size;\n var flags;\n var cts;\n offset += 8 + arraylen;\n array.set([track.type === 'video' ? 0x01 : 0x00,\n // version 1 for video with signed-int sample_composition_time_offset\n 0x00, 0x0f, 0x01,\n // flags\n len >>> 24 & 0xff, len >>> 16 & 0xff, len >>> 8 & 0xff, len & 0xff,\n // sample_count\n offset >>> 24 & 0xff, offset >>> 16 & 0xff, offset >>> 8 & 0xff, offset & 0xff // data_offset\n ], 0);\n for (i = 0; i < len; i++) {\n sample = samples[i];\n duration = sample.duration;\n size = sample.size;\n flags = sample.flags;\n cts = sample.cts;\n array.set([duration >>> 24 & 0xff, duration >>> 16 & 0xff, duration >>> 8 & 0xff, duration & 0xff,\n // sample_duration\n size >>> 24 & 0xff, size >>> 16 & 0xff, size >>> 8 & 0xff, size & 0xff,\n // sample_size\n flags.isLeading << 2 | flags.dependsOn, flags.isDependedOn << 6 | flags.hasRedundancy << 4 | flags.paddingValue << 1 | flags.isNonSync, flags.degradPrio & 0xf0 << 8, flags.degradPrio & 0x0f,\n // sample_flags\n cts >>> 24 & 0xff, cts >>> 16 & 0xff, cts >>> 8 & 0xff, cts & 0xff // sample_composition_time_offset\n ], 12 + 16 * i);\n }\n return MP4.box(MP4.types.trun, array);\n };\n MP4.initSegment = function initSegment(tracks) {\n if (!MP4.types) {\n MP4.init();\n }\n var movie = MP4.moov(tracks);\n var result = appendUint8Array(MP4.FTYP, movie);\n return result;\n };\n return MP4;\n }();\n MP4.types = void 0;\n MP4.HDLR_TYPES = void 0;\n MP4.STTS = void 0;\n MP4.STSC = void 0;\n MP4.STCO = void 0;\n MP4.STSZ = void 0;\n MP4.VMHD = void 0;\n MP4.SMHD = void 0;\n MP4.STSD = void 0;\n MP4.FTYP = void 0;\n MP4.DINF = void 0;\n\n var MPEG_TS_CLOCK_FREQ_HZ = 90000;\n function toTimescaleFromBase(baseTime, destScale, srcBase, round) {\n if (srcBase === void 0) {\n srcBase = 1;\n }\n if (round === void 0) {\n round = false;\n }\n var result = baseTime * destScale * srcBase; // equivalent to `(value * scale) / (1 / base)`\n return round ? Math.round(result) : result;\n }\n function toTimescaleFromScale(baseTime, destScale, srcScale, round) {\n if (srcScale === void 0) {\n srcScale = 1;\n }\n if (round === void 0) {\n round = false;\n }\n return toTimescaleFromBase(baseTime, destScale, 1 / srcScale, round);\n }\n function toMsFromMpegTsClock(baseTime, round) {\n if (round === void 0) {\n round = false;\n }\n return toTimescaleFromBase(baseTime, 1000, 1 / MPEG_TS_CLOCK_FREQ_HZ, round);\n }\n function toMpegTsClockFromTimescale(baseTime, srcScale) {\n if (srcScale === void 0) {\n srcScale = 1;\n }\n return toTimescaleFromBase(baseTime, MPEG_TS_CLOCK_FREQ_HZ, 1 / srcScale);\n }\n\n var MAX_SILENT_FRAME_DURATION = 10 * 1000; // 10 seconds\n var AAC_SAMPLES_PER_FRAME = 1024;\n var MPEG_AUDIO_SAMPLE_PER_FRAME = 1152;\n var AC3_SAMPLES_PER_FRAME = 1536;\n var chromeVersion = null;\n var safariWebkitVersion = null;\n var MP4Remuxer = /*#__PURE__*/function () {\n function MP4Remuxer(observer, config, typeSupported, vendor) {\n this.observer = void 0;\n this.config = void 0;\n this.typeSupported = void 0;\n this.ISGenerated = false;\n this._initPTS = null;\n this._initDTS = null;\n this.nextAvcDts = null;\n this.nextAudioPts = null;\n this.videoSampleDuration = null;\n this.isAudioContiguous = false;\n this.isVideoContiguous = false;\n this.videoTrackConfig = void 0;\n this.observer = observer;\n this.config = config;\n this.typeSupported = typeSupported;\n this.ISGenerated = false;\n if (chromeVersion === null) {\n var userAgent = navigator.userAgent || '';\n var result = userAgent.match(/Chrome\\/(\\d+)/i);\n chromeVersion = result ? parseInt(result[1]) : 0;\n }\n if (safariWebkitVersion === null) {\n var _result = navigator.userAgent.match(/Safari\\/(\\d+)/i);\n safariWebkitVersion = _result ? parseInt(_result[1]) : 0;\n }\n }\n var _proto = MP4Remuxer.prototype;\n _proto.destroy = function destroy() {\n // @ts-ignore\n this.config = this.videoTrackConfig = this._initPTS = this._initDTS = null;\n };\n _proto.resetTimeStamp = function resetTimeStamp(defaultTimeStamp) {\n logger.log('[mp4-remuxer]: initPTS & initDTS reset');\n this._initPTS = this._initDTS = defaultTimeStamp;\n };\n _proto.resetNextTimestamp = function resetNextTimestamp() {\n logger.log('[mp4-remuxer]: reset next timestamp');\n this.isVideoContiguous = false;\n this.isAudioContiguous = false;\n };\n _proto.resetInitSegment = function resetInitSegment() {\n logger.log('[mp4-remuxer]: ISGenerated flag reset');\n this.ISGenerated = false;\n this.videoTrackConfig = undefined;\n };\n _proto.getVideoStartPts = function getVideoStartPts(videoSamples) {\n var rolloverDetected = false;\n var startPTS = videoSamples.reduce(function (minPTS, sample) {\n var delta = sample.pts - minPTS;\n if (delta < -4294967296) {\n // 2^32, see PTSNormalize for reasoning, but we're hitting a rollover here, and we don't want that to impact the timeOffset calculation\n rolloverDetected = true;\n return normalizePts(minPTS, sample.pts);\n } else if (delta > 0) {\n return minPTS;\n } else {\n return sample.pts;\n }\n }, videoSamples[0].pts);\n if (rolloverDetected) {\n logger.debug('PTS rollover detected');\n }\n return startPTS;\n };\n _proto.remux = function remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset, flush, playlistType) {\n var video;\n var audio;\n var initSegment;\n var text;\n var id3;\n var independent;\n var audioTimeOffset = timeOffset;\n var videoTimeOffset = timeOffset;\n\n // If we're remuxing audio and video progressively, wait until we've received enough samples for each track before proceeding.\n // This is done to synchronize the audio and video streams. We know if the current segment will have samples if the \"pid\"\n // parameter is greater than -1. The pid is set when the PMT is parsed, which contains the tracks list.\n // However, if the initSegment has already been generated, or we've reached the end of a segment (flush),\n // then we can remux one track without waiting for the other.\n var hasAudio = audioTrack.pid > -1;\n var hasVideo = videoTrack.pid > -1;\n var length = videoTrack.samples.length;\n var enoughAudioSamples = audioTrack.samples.length > 0;\n var enoughVideoSamples = flush && length > 0 || length > 1;\n var canRemuxAvc = (!hasAudio || enoughAudioSamples) && (!hasVideo || enoughVideoSamples) || this.ISGenerated || flush;\n if (canRemuxAvc) {\n if (this.ISGenerated) {\n var _videoTrack$pixelRati, _config$pixelRatio, _videoTrack$pixelRati2, _config$pixelRatio2;\n var config = this.videoTrackConfig;\n if (config && (videoTrack.width !== config.width || videoTrack.height !== config.height || ((_videoTrack$pixelRati = videoTrack.pixelRatio) == null ? void 0 : _videoTrack$pixelRati[0]) !== ((_config$pixelRatio = config.pixelRatio) == null ? void 0 : _config$pixelRatio[0]) || ((_videoTrack$pixelRati2 = videoTrack.pixelRatio) == null ? void 0 : _videoTrack$pixelRati2[1]) !== ((_config$pixelRatio2 = config.pixelRatio) == null ? void 0 : _config$pixelRatio2[1]))) {\n this.resetInitSegment();\n }\n } else {\n initSegment = this.generateIS(audioTrack, videoTrack, timeOffset, accurateTimeOffset);\n }\n var isVideoContiguous = this.isVideoContiguous;\n var firstKeyFrameIndex = -1;\n var firstKeyFramePTS;\n if (enoughVideoSamples) {\n firstKeyFrameIndex = findKeyframeIndex(videoTrack.samples);\n if (!isVideoContiguous && this.config.forceKeyFrameOnDiscontinuity) {\n independent = true;\n if (firstKeyFrameIndex > 0) {\n logger.warn(\"[mp4-remuxer]: Dropped \" + firstKeyFrameIndex + \" out of \" + length + \" video samples due to a missing keyframe\");\n var startPTS = this.getVideoStartPts(videoTrack.samples);\n videoTrack.samples = videoTrack.samples.slice(firstKeyFrameIndex);\n videoTrack.dropped += firstKeyFrameIndex;\n videoTimeOffset += (videoTrack.samples[0].pts - startPTS) / videoTrack.inputTimeScale;\n firstKeyFramePTS = videoTimeOffset;\n } else if (firstKeyFrameIndex === -1) {\n logger.warn(\"[mp4-remuxer]: No keyframe found out of \" + length + \" video samples\");\n independent = false;\n }\n }\n }\n if (this.ISGenerated) {\n if (enoughAudioSamples && enoughVideoSamples) {\n // timeOffset is expected to be the offset of the first timestamp of this fragment (first DTS)\n // if first audio DTS is not aligned with first video DTS then we need to take that into account\n // when providing timeOffset to remuxAudio / remuxVideo. if we don't do that, there might be a permanent / small\n // drift between audio and video streams\n var _startPTS = this.getVideoStartPts(videoTrack.samples);\n var tsDelta = normalizePts(audioTrack.samples[0].pts, _startPTS) - _startPTS;\n var audiovideoTimestampDelta = tsDelta / videoTrack.inputTimeScale;\n audioTimeOffset += Math.max(0, audiovideoTimestampDelta);\n videoTimeOffset += Math.max(0, -audiovideoTimestampDelta);\n }\n\n // Purposefully remuxing audio before video, so that remuxVideo can use nextAudioPts, which is calculated in remuxAudio.\n if (enoughAudioSamples) {\n // if initSegment was generated without audio samples, regenerate it again\n if (!audioTrack.samplerate) {\n logger.warn('[mp4-remuxer]: regenerate InitSegment as audio detected');\n initSegment = this.generateIS(audioTrack, videoTrack, timeOffset, accurateTimeOffset);\n }\n audio = this.remuxAudio(audioTrack, audioTimeOffset, this.isAudioContiguous, accurateTimeOffset, hasVideo || enoughVideoSamples || playlistType === PlaylistLevelType.AUDIO ? videoTimeOffset : undefined);\n if (enoughVideoSamples) {\n var audioTrackLength = audio ? audio.endPTS - audio.startPTS : 0;\n // if initSegment was generated without video samples, regenerate it again\n if (!videoTrack.inputTimeScale) {\n logger.warn('[mp4-remuxer]: regenerate InitSegment as video detected');\n initSegment = this.generateIS(audioTrack, videoTrack, timeOffset, accurateTimeOffset);\n }\n video = this.remuxVideo(videoTrack, videoTimeOffset, isVideoContiguous, audioTrackLength);\n }\n } else if (enoughVideoSamples) {\n video = this.remuxVideo(videoTrack, videoTimeOffset, isVideoContiguous, 0);\n }\n if (video) {\n video.firstKeyFrame = firstKeyFrameIndex;\n video.independent = firstKeyFrameIndex !== -1;\n video.firstKeyFramePTS = firstKeyFramePTS;\n }\n }\n }\n\n // Allow ID3 and text to remux, even if more audio/video samples are required\n if (this.ISGenerated && this._initPTS && this._initDTS) {\n if (id3Track.samples.length) {\n id3 = flushTextTrackMetadataCueSamples(id3Track, timeOffset, this._initPTS, this._initDTS);\n }\n if (textTrack.samples.length) {\n text = flushTextTrackUserdataCueSamples(textTrack, timeOffset, this._initPTS);\n }\n }\n return {\n audio: audio,\n video: video,\n initSegment: initSegment,\n independent: independent,\n text: text,\n id3: id3\n };\n };\n _proto.generateIS = function generateIS(audioTrack, videoTrack, timeOffset, accurateTimeOffset) {\n var audioSamples = audioTrack.samples;\n var videoSamples = videoTrack.samples;\n var typeSupported = this.typeSupported;\n var tracks = {};\n var _initPTS = this._initPTS;\n var computePTSDTS = !_initPTS || accurateTimeOffset;\n var container = 'audio/mp4';\n var initPTS;\n var initDTS;\n var timescale;\n if (computePTSDTS) {\n initPTS = initDTS = Infinity;\n }\n if (audioTrack.config && audioSamples.length) {\n // let's use audio sampling rate as MP4 time scale.\n // rationale is that there is a integer nb of audio frames per audio sample (1024 for AAC)\n // using audio sampling rate here helps having an integer MP4 frame duration\n // this avoids potential rounding issue and AV sync issue\n audioTrack.timescale = audioTrack.samplerate;\n switch (audioTrack.segmentCodec) {\n case 'mp3':\n if (typeSupported.mpeg) {\n // Chrome and Safari\n container = 'audio/mpeg';\n audioTrack.codec = '';\n } else if (typeSupported.mp3) {\n // Firefox\n audioTrack.codec = 'mp3';\n }\n break;\n case 'ac3':\n audioTrack.codec = 'ac-3';\n break;\n }\n tracks.audio = {\n id: 'audio',\n container: container,\n codec: audioTrack.codec,\n initSegment: audioTrack.segmentCodec === 'mp3' && typeSupported.mpeg ? new Uint8Array(0) : MP4.initSegment([audioTrack]),\n metadata: {\n channelCount: audioTrack.channelCount\n }\n };\n if (computePTSDTS) {\n timescale = audioTrack.inputTimeScale;\n if (!_initPTS || timescale !== _initPTS.timescale) {\n // remember first PTS of this demuxing context. for audio, PTS = DTS\n initPTS = initDTS = audioSamples[0].pts - Math.round(timescale * timeOffset);\n } else {\n computePTSDTS = false;\n }\n }\n }\n if (videoTrack.sps && videoTrack.pps && videoSamples.length) {\n // let's use input time scale as MP4 video timescale\n // we use input time scale straight away to avoid rounding issues on frame duration / cts computation\n videoTrack.timescale = videoTrack.inputTimeScale;\n tracks.video = {\n id: 'main',\n container: 'video/mp4',\n codec: videoTrack.codec,\n initSegment: MP4.initSegment([videoTrack]),\n metadata: {\n width: videoTrack.width,\n height: videoTrack.height\n }\n };\n if (computePTSDTS) {\n timescale = videoTrack.inputTimeScale;\n if (!_initPTS || timescale !== _initPTS.timescale) {\n var startPTS = this.getVideoStartPts(videoSamples);\n var startOffset = Math.round(timescale * timeOffset);\n initDTS = Math.min(initDTS, normalizePts(videoSamples[0].dts, startPTS) - startOffset);\n initPTS = Math.min(initPTS, startPTS - startOffset);\n } else {\n computePTSDTS = false;\n }\n }\n this.videoTrackConfig = {\n width: videoTrack.width,\n height: videoTrack.height,\n pixelRatio: videoTrack.pixelRatio\n };\n }\n if (Object.keys(tracks).length) {\n this.ISGenerated = true;\n if (computePTSDTS) {\n this._initPTS = {\n baseTime: initPTS,\n timescale: timescale\n };\n this._initDTS = {\n baseTime: initDTS,\n timescale: timescale\n };\n } else {\n initPTS = timescale = undefined;\n }\n return {\n tracks: tracks,\n initPTS: initPTS,\n timescale: timescale\n };\n }\n };\n _proto.remuxVideo = function remuxVideo(track, timeOffset, contiguous, audioTrackLength) {\n var timeScale = track.inputTimeScale;\n var inputSamples = track.samples;\n var outputSamples = [];\n var nbSamples = inputSamples.length;\n var initPTS = this._initPTS;\n var nextAvcDts = this.nextAvcDts;\n var offset = 8;\n var mp4SampleDuration = this.videoSampleDuration;\n var firstDTS;\n var lastDTS;\n var minPTS = Number.POSITIVE_INFINITY;\n var maxPTS = Number.NEGATIVE_INFINITY;\n var sortSamples = false;\n\n // if parsed fragment is contiguous with last one, let's use last DTS value as reference\n if (!contiguous || nextAvcDts === null) {\n var pts = timeOffset * timeScale;\n var cts = inputSamples[0].pts - normalizePts(inputSamples[0].dts, inputSamples[0].pts);\n if (chromeVersion && nextAvcDts !== null && Math.abs(pts - cts - nextAvcDts) < 15000) {\n // treat as contigous to adjust samples that would otherwise produce video buffer gaps in Chrome\n contiguous = true;\n } else {\n // if not contiguous, let's use target timeOffset\n nextAvcDts = pts - cts;\n }\n }\n\n // PTS is coded on 33bits, and can loop from -2^32 to 2^32\n // PTSNormalize will make PTS/DTS value monotonic, we use last known DTS value as reference value\n var initTime = initPTS.baseTime * timeScale / initPTS.timescale;\n for (var i = 0; i < nbSamples; i++) {\n var sample = inputSamples[i];\n sample.pts = normalizePts(sample.pts - initTime, nextAvcDts);\n sample.dts = normalizePts(sample.dts - initTime, nextAvcDts);\n if (sample.dts < inputSamples[i > 0 ? i - 1 : i].dts) {\n sortSamples = true;\n }\n }\n\n // sort video samples by DTS then PTS then demux id order\n if (sortSamples) {\n inputSamples.sort(function (a, b) {\n var deltadts = a.dts - b.dts;\n var deltapts = a.pts - b.pts;\n return deltadts || deltapts;\n });\n }\n\n // Get first/last DTS\n firstDTS = inputSamples[0].dts;\n lastDTS = inputSamples[inputSamples.length - 1].dts;\n\n // Sample duration (as expected by trun MP4 boxes), should be the delta between sample DTS\n // set this constant duration as being the avg delta between consecutive DTS.\n var inputDuration = lastDTS - firstDTS;\n var averageSampleDuration = inputDuration ? Math.round(inputDuration / (nbSamples - 1)) : mp4SampleDuration || track.inputTimeScale / 30;\n\n // if fragment are contiguous, detect hole/overlapping between fragments\n if (contiguous) {\n // check timestamp continuity across consecutive fragments (this is to remove inter-fragment gap/hole)\n var delta = firstDTS - nextAvcDts;\n var foundHole = delta > averageSampleDuration;\n var foundOverlap = delta < -1;\n if (foundHole || foundOverlap) {\n if (foundHole) {\n logger.warn(\"AVC: \" + toMsFromMpegTsClock(delta, true) + \" ms (\" + delta + \"dts) hole between fragments detected at \" + timeOffset.toFixed(3));\n } else {\n logger.warn(\"AVC: \" + toMsFromMpegTsClock(-delta, true) + \" ms (\" + delta + \"dts) overlapping between fragments detected at \" + timeOffset.toFixed(3));\n }\n if (!foundOverlap || nextAvcDts >= inputSamples[0].pts || chromeVersion) {\n firstDTS = nextAvcDts;\n var firstPTS = inputSamples[0].pts - delta;\n if (foundHole) {\n inputSamples[0].dts = firstDTS;\n inputSamples[0].pts = firstPTS;\n } else {\n for (var _i = 0; _i < inputSamples.length; _i++) {\n if (inputSamples[_i].dts > firstPTS) {\n break;\n }\n inputSamples[_i].dts -= delta;\n inputSamples[_i].pts -= delta;\n }\n }\n logger.log(\"Video: Initial PTS/DTS adjusted: \" + toMsFromMpegTsClock(firstPTS, true) + \"/\" + toMsFromMpegTsClock(firstDTS, true) + \", delta: \" + toMsFromMpegTsClock(delta, true) + \" ms\");\n }\n }\n }\n firstDTS = Math.max(0, firstDTS);\n var nbNalu = 0;\n var naluLen = 0;\n var dtsStep = firstDTS;\n for (var _i2 = 0; _i2 < nbSamples; _i2++) {\n // compute total/avc sample length and nb of NAL units\n var _sample = inputSamples[_i2];\n var units = _sample.units;\n var nbUnits = units.length;\n var sampleLen = 0;\n for (var j = 0; j < nbUnits; j++) {\n sampleLen += units[j].data.length;\n }\n naluLen += sampleLen;\n nbNalu += nbUnits;\n _sample.length = sampleLen;\n\n // ensure sample monotonic DTS\n if (_sample.dts < dtsStep) {\n _sample.dts = dtsStep;\n dtsStep += averageSampleDuration / 4 | 0 || 1;\n } else {\n dtsStep = _sample.dts;\n }\n minPTS = Math.min(_sample.pts, minPTS);\n maxPTS = Math.max(_sample.pts, maxPTS);\n }\n lastDTS = inputSamples[nbSamples - 1].dts;\n\n /* concatenate the video data and construct the mdat in place\n (need 8 more bytes to fill length and mpdat type) */\n var mdatSize = naluLen + 4 * nbNalu + 8;\n var mdat;\n try {\n mdat = new Uint8Array(mdatSize);\n } catch (err) {\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MUX_ERROR,\n details: ErrorDetails.REMUX_ALLOC_ERROR,\n fatal: false,\n error: err,\n bytes: mdatSize,\n reason: \"fail allocating video mdat \" + mdatSize\n });\n return;\n }\n var view = new DataView(mdat.buffer);\n view.setUint32(0, mdatSize);\n mdat.set(MP4.types.mdat, 4);\n var stretchedLastFrame = false;\n var minDtsDelta = Number.POSITIVE_INFINITY;\n var minPtsDelta = Number.POSITIVE_INFINITY;\n var maxDtsDelta = Number.NEGATIVE_INFINITY;\n var maxPtsDelta = Number.NEGATIVE_INFINITY;\n for (var _i3 = 0; _i3 < nbSamples; _i3++) {\n var _VideoSample = inputSamples[_i3];\n var VideoSampleUnits = _VideoSample.units;\n var mp4SampleLength = 0;\n // convert NALU bitstream to MP4 format (prepend NALU with size field)\n for (var _j = 0, _nbUnits = VideoSampleUnits.length; _j < _nbUnits; _j++) {\n var unit = VideoSampleUnits[_j];\n var unitData = unit.data;\n var unitDataLen = unit.data.byteLength;\n view.setUint32(offset, unitDataLen);\n offset += 4;\n mdat.set(unitData, offset);\n offset += unitDataLen;\n mp4SampleLength += 4 + unitDataLen;\n }\n\n // expected sample duration is the Decoding Timestamp diff of consecutive samples\n var ptsDelta = void 0;\n if (_i3 < nbSamples - 1) {\n mp4SampleDuration = inputSamples[_i3 + 1].dts - _VideoSample.dts;\n ptsDelta = inputSamples[_i3 + 1].pts - _VideoSample.pts;\n } else {\n var config = this.config;\n var lastFrameDuration = _i3 > 0 ? _VideoSample.dts - inputSamples[_i3 - 1].dts : averageSampleDuration;\n ptsDelta = _i3 > 0 ? _VideoSample.pts - inputSamples[_i3 - 1].pts : averageSampleDuration;\n if (config.stretchShortVideoTrack && this.nextAudioPts !== null) {\n // In some cases, a segment's audio track duration may exceed the video track duration.\n // Since we've already remuxed audio, and we know how long the audio track is, we look to\n // see if the delta to the next segment is longer than maxBufferHole.\n // If so, playback would potentially get stuck, so we artificially inflate\n // the duration of the last frame to minimize any potential gap between segments.\n var gapTolerance = Math.floor(config.maxBufferHole * timeScale);\n var deltaToFrameEnd = (audioTrackLength ? minPTS + audioTrackLength * timeScale : this.nextAudioPts) - _VideoSample.pts;\n if (deltaToFrameEnd > gapTolerance) {\n // We subtract lastFrameDuration from deltaToFrameEnd to try to prevent any video\n // frame overlap. maxBufferHole should be >> lastFrameDuration anyway.\n mp4SampleDuration = deltaToFrameEnd - lastFrameDuration;\n if (mp4SampleDuration < 0) {\n mp4SampleDuration = lastFrameDuration;\n } else {\n stretchedLastFrame = true;\n }\n logger.log(\"[mp4-remuxer]: It is approximately \" + deltaToFrameEnd / 90 + \" ms to the next segment; using duration \" + mp4SampleDuration / 90 + \" ms for the last video frame.\");\n } else {\n mp4SampleDuration = lastFrameDuration;\n }\n } else {\n mp4SampleDuration = lastFrameDuration;\n }\n }\n var compositionTimeOffset = Math.round(_VideoSample.pts - _VideoSample.dts);\n minDtsDelta = Math.min(minDtsDelta, mp4SampleDuration);\n maxDtsDelta = Math.max(maxDtsDelta, mp4SampleDuration);\n minPtsDelta = Math.min(minPtsDelta, ptsDelta);\n maxPtsDelta = Math.max(maxPtsDelta, ptsDelta);\n outputSamples.push(new Mp4Sample(_VideoSample.key, mp4SampleDuration, mp4SampleLength, compositionTimeOffset));\n }\n if (outputSamples.length) {\n if (chromeVersion) {\n if (chromeVersion < 70) {\n // Chrome workaround, mark first sample as being a Random Access Point (keyframe) to avoid sourcebuffer append issue\n // https://code.google.com/p/chromium/issues/detail?id=229412\n var flags = outputSamples[0].flags;\n flags.dependsOn = 2;\n flags.isNonSync = 0;\n }\n } else if (safariWebkitVersion) {\n // Fix for \"CNN special report, with CC\" in test-streams (Safari browser only)\n // Ignore DTS when frame durations are irregular. Safari MSE does not handle this leading to gaps.\n if (maxPtsDelta - minPtsDelta < maxDtsDelta - minDtsDelta && averageSampleDuration / maxDtsDelta < 0.025 && outputSamples[0].cts === 0) {\n logger.warn('Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.');\n var dts = firstDTS;\n for (var _i4 = 0, len = outputSamples.length; _i4 < len; _i4++) {\n var nextDts = dts + outputSamples[_i4].duration;\n var _pts = dts + outputSamples[_i4].cts;\n if (_i4 < len - 1) {\n var nextPts = nextDts + outputSamples[_i4 + 1].cts;\n outputSamples[_i4].duration = nextPts - _pts;\n } else {\n outputSamples[_i4].duration = _i4 ? outputSamples[_i4 - 1].duration : averageSampleDuration;\n }\n outputSamples[_i4].cts = 0;\n dts = nextDts;\n }\n }\n }\n }\n // next AVC sample DTS should be equal to last sample DTS + last sample duration (in PES timescale)\n mp4SampleDuration = stretchedLastFrame || !mp4SampleDuration ? averageSampleDuration : mp4SampleDuration;\n this.nextAvcDts = nextAvcDts = lastDTS + mp4SampleDuration;\n this.videoSampleDuration = mp4SampleDuration;\n this.isVideoContiguous = true;\n var moof = MP4.moof(track.sequenceNumber++, firstDTS, _extends({}, track, {\n samples: outputSamples\n }));\n var type = 'video';\n var data = {\n data1: moof,\n data2: mdat,\n startPTS: minPTS / timeScale,\n endPTS: (maxPTS + mp4SampleDuration) / timeScale,\n startDTS: firstDTS / timeScale,\n endDTS: nextAvcDts / timeScale,\n type: type,\n hasAudio: false,\n hasVideo: true,\n nb: outputSamples.length,\n dropped: track.dropped\n };\n track.samples = [];\n track.dropped = 0;\n return data;\n };\n _proto.getSamplesPerFrame = function getSamplesPerFrame(track) {\n switch (track.segmentCodec) {\n case 'mp3':\n return MPEG_AUDIO_SAMPLE_PER_FRAME;\n case 'ac3':\n return AC3_SAMPLES_PER_FRAME;\n default:\n return AAC_SAMPLES_PER_FRAME;\n }\n };\n _proto.remuxAudio = function remuxAudio(track, timeOffset, contiguous, accurateTimeOffset, videoTimeOffset) {\n var inputTimeScale = track.inputTimeScale;\n var mp4timeScale = track.samplerate ? track.samplerate : inputTimeScale;\n var scaleFactor = inputTimeScale / mp4timeScale;\n var mp4SampleDuration = this.getSamplesPerFrame(track);\n var inputSampleDuration = mp4SampleDuration * scaleFactor;\n var initPTS = this._initPTS;\n var rawMPEG = track.segmentCodec === 'mp3' && this.typeSupported.mpeg;\n var outputSamples = [];\n var alignedWithVideo = videoTimeOffset !== undefined;\n var inputSamples = track.samples;\n var offset = rawMPEG ? 0 : 8;\n var nextAudioPts = this.nextAudioPts || -1;\n\n // window.audioSamples ? window.audioSamples.push(inputSamples.map(s => s.pts)) : (window.audioSamples = [inputSamples.map(s => s.pts)]);\n\n // for audio samples, also consider consecutive fragments as being contiguous (even if a level switch occurs),\n // for sake of clarity:\n // consecutive fragments are frags with\n // - less than 100ms gaps between new time offset (if accurate) and next expected PTS OR\n // - less than 20 audio frames distance\n // contiguous fragments are consecutive fragments from same quality level (same level, new SN = old SN + 1)\n // this helps ensuring audio continuity\n // and this also avoids audio glitches/cut when switching quality, or reporting wrong duration on first audio frame\n var timeOffsetMpegTS = timeOffset * inputTimeScale;\n var initTime = initPTS.baseTime * inputTimeScale / initPTS.timescale;\n this.isAudioContiguous = contiguous = contiguous || inputSamples.length && nextAudioPts > 0 && (accurateTimeOffset && Math.abs(timeOffsetMpegTS - nextAudioPts) < 9000 || Math.abs(normalizePts(inputSamples[0].pts - initTime, timeOffsetMpegTS) - nextAudioPts) < 20 * inputSampleDuration);\n\n // compute normalized PTS\n inputSamples.forEach(function (sample) {\n sample.pts = normalizePts(sample.pts - initTime, timeOffsetMpegTS);\n });\n if (!contiguous || nextAudioPts < 0) {\n // filter out sample with negative PTS that are not playable anyway\n // if we don't remove these negative samples, they will shift all audio samples forward.\n // leading to audio overlap between current / next fragment\n inputSamples = inputSamples.filter(function (sample) {\n return sample.pts >= 0;\n });\n\n // in case all samples have negative PTS, and have been filtered out, return now\n if (!inputSamples.length) {\n return;\n }\n if (videoTimeOffset === 0) {\n // Set the start to 0 to match video so that start gaps larger than inputSampleDuration are filled with silence\n nextAudioPts = 0;\n } else if (accurateTimeOffset && !alignedWithVideo) {\n // When not seeking, not live, and LevelDetails.PTSKnown, use fragment start as predicted next audio PTS\n nextAudioPts = Math.max(0, timeOffsetMpegTS);\n } else {\n // if frags are not contiguous and if we cant trust time offset, let's use first sample PTS as next audio PTS\n nextAudioPts = inputSamples[0].pts;\n }\n }\n\n // If the audio track is missing samples, the frames seem to get \"left-shifted\" within the\n // resulting mp4 segment, causing sync issues and leaving gaps at the end of the audio segment.\n // In an effort to prevent this from happening, we inject frames here where there are gaps.\n // When possible, we inject a silent frame; when that's not possible, we duplicate the last\n // frame.\n\n if (track.segmentCodec === 'aac') {\n var maxAudioFramesDrift = this.config.maxAudioFramesDrift;\n for (var i = 0, nextPts = nextAudioPts; i < inputSamples.length; i++) {\n // First, let's see how far off this frame is from where we expect it to be\n var sample = inputSamples[i];\n var pts = sample.pts;\n var delta = pts - nextPts;\n var duration = Math.abs(1000 * delta / inputTimeScale);\n\n // When remuxing with video, if we're overlapping by more than a duration, drop this sample to stay in sync\n if (delta <= -maxAudioFramesDrift * inputSampleDuration && alignedWithVideo) {\n if (i === 0) {\n logger.warn(\"Audio frame @ \" + (pts / inputTimeScale).toFixed(3) + \"s overlaps nextAudioPts by \" + Math.round(1000 * delta / inputTimeScale) + \" ms.\");\n this.nextAudioPts = nextAudioPts = nextPts = pts;\n }\n } // eslint-disable-line brace-style\n\n // Insert missing frames if:\n // 1: We're more than maxAudioFramesDrift frame away\n // 2: Not more than MAX_SILENT_FRAME_DURATION away\n // 3: currentTime (aka nextPtsNorm) is not 0\n // 4: remuxing with video (videoTimeOffset !== undefined)\n else if (delta >= maxAudioFramesDrift * inputSampleDuration && duration < MAX_SILENT_FRAME_DURATION && alignedWithVideo) {\n var missing = Math.round(delta / inputSampleDuration);\n // Adjust nextPts so that silent samples are aligned with media pts. This will prevent media samples from\n // later being shifted if nextPts is based on timeOffset and delta is not a multiple of inputSampleDuration.\n nextPts = pts - missing * inputSampleDuration;\n if (nextPts < 0) {\n missing--;\n nextPts += inputSampleDuration;\n }\n if (i === 0) {\n this.nextAudioPts = nextAudioPts = nextPts;\n }\n logger.warn(\"[mp4-remuxer]: Injecting \" + missing + \" audio frame @ \" + (nextPts / inputTimeScale).toFixed(3) + \"s due to \" + Math.round(1000 * delta / inputTimeScale) + \" ms gap.\");\n for (var j = 0; j < missing; j++) {\n var newStamp = Math.max(nextPts, 0);\n var fillFrame = AAC.getSilentFrame(track.manifestCodec || track.codec, track.channelCount);\n if (!fillFrame) {\n logger.log('[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead.');\n fillFrame = sample.unit.subarray();\n }\n inputSamples.splice(i, 0, {\n unit: fillFrame,\n pts: newStamp\n });\n nextPts += inputSampleDuration;\n i++;\n }\n }\n sample.pts = nextPts;\n nextPts += inputSampleDuration;\n }\n }\n var firstPTS = null;\n var lastPTS = null;\n var mdat;\n var mdatSize = 0;\n var sampleLength = inputSamples.length;\n while (sampleLength--) {\n mdatSize += inputSamples[sampleLength].unit.byteLength;\n }\n for (var _j2 = 0, _nbSamples = inputSamples.length; _j2 < _nbSamples; _j2++) {\n var audioSample = inputSamples[_j2];\n var unit = audioSample.unit;\n var _pts2 = audioSample.pts;\n if (lastPTS !== null) {\n // If we have more than one sample, set the duration of the sample to the \"real\" duration; the PTS diff with\n // the previous sample\n var prevSample = outputSamples[_j2 - 1];\n prevSample.duration = Math.round((_pts2 - lastPTS) / scaleFactor);\n } else {\n if (contiguous && track.segmentCodec === 'aac') {\n // set PTS/DTS to expected PTS/DTS\n _pts2 = nextAudioPts;\n }\n // remember first PTS of our audioSamples\n firstPTS = _pts2;\n if (mdatSize > 0) {\n /* concatenate the audio data and construct the mdat in place\n (need 8 more bytes to fill length and mdat type) */\n mdatSize += offset;\n try {\n mdat = new Uint8Array(mdatSize);\n } catch (err) {\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MUX_ERROR,\n details: ErrorDetails.REMUX_ALLOC_ERROR,\n fatal: false,\n error: err,\n bytes: mdatSize,\n reason: \"fail allocating audio mdat \" + mdatSize\n });\n return;\n }\n if (!rawMPEG) {\n var view = new DataView(mdat.buffer);\n view.setUint32(0, mdatSize);\n mdat.set(MP4.types.mdat, 4);\n }\n } else {\n // no audio samples\n return;\n }\n }\n mdat.set(unit, offset);\n var unitLen = unit.byteLength;\n offset += unitLen;\n // Default the sample's duration to the computed mp4SampleDuration, which will either be 1024 for AAC or 1152 for MPEG\n // In the case that we have 1 sample, this will be the duration. If we have more than one sample, the duration\n // becomes the PTS diff with the previous sample\n outputSamples.push(new Mp4Sample(true, mp4SampleDuration, unitLen, 0));\n lastPTS = _pts2;\n }\n\n // We could end up with no audio samples if all input samples were overlapping with the previously remuxed ones\n var nbSamples = outputSamples.length;\n if (!nbSamples) {\n return;\n }\n\n // The next audio sample PTS should be equal to last sample PTS + duration\n var lastSample = outputSamples[outputSamples.length - 1];\n this.nextAudioPts = nextAudioPts = lastPTS + scaleFactor * lastSample.duration;\n\n // Set the track samples from inputSamples to outputSamples before remuxing\n var moof = rawMPEG ? new Uint8Array(0) : MP4.moof(track.sequenceNumber++, firstPTS / scaleFactor, _extends({}, track, {\n samples: outputSamples\n }));\n\n // Clear the track samples. This also clears the samples array in the demuxer, since the reference is shared\n track.samples = [];\n var start = firstPTS / inputTimeScale;\n var end = nextAudioPts / inputTimeScale;\n var type = 'audio';\n var audioData = {\n data1: moof,\n data2: mdat,\n startPTS: start,\n endPTS: end,\n startDTS: start,\n endDTS: end,\n type: type,\n hasAudio: true,\n hasVideo: false,\n nb: nbSamples\n };\n this.isAudioContiguous = true;\n return audioData;\n };\n _proto.remuxEmptyAudio = function remuxEmptyAudio(track, timeOffset, contiguous, videoData) {\n var inputTimeScale = track.inputTimeScale;\n var mp4timeScale = track.samplerate ? track.samplerate : inputTimeScale;\n var scaleFactor = inputTimeScale / mp4timeScale;\n var nextAudioPts = this.nextAudioPts;\n // sync with video's timestamp\n var initDTS = this._initDTS;\n var init90kHz = initDTS.baseTime * 90000 / initDTS.timescale;\n var startDTS = (nextAudioPts !== null ? nextAudioPts : videoData.startDTS * inputTimeScale) + init90kHz;\n var endDTS = videoData.endDTS * inputTimeScale + init90kHz;\n // one sample's duration value\n var frameDuration = scaleFactor * AAC_SAMPLES_PER_FRAME;\n // samples count of this segment's duration\n var nbSamples = Math.ceil((endDTS - startDTS) / frameDuration);\n // silent frame\n var silentFrame = AAC.getSilentFrame(track.manifestCodec || track.codec, track.channelCount);\n logger.warn('[mp4-remuxer]: remux empty Audio');\n // Can't remux if we can't generate a silent frame...\n if (!silentFrame) {\n logger.trace('[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec');\n return;\n }\n var samples = [];\n for (var i = 0; i < nbSamples; i++) {\n var stamp = startDTS + i * frameDuration;\n samples.push({\n unit: silentFrame,\n pts: stamp,\n dts: stamp\n });\n }\n track.samples = samples;\n return this.remuxAudio(track, timeOffset, contiguous, false);\n };\n return MP4Remuxer;\n }();\n function normalizePts(value, reference) {\n var offset;\n if (reference === null) {\n return value;\n }\n if (reference < value) {\n // - 2^33\n offset = -8589934592;\n } else {\n // + 2^33\n offset = 8589934592;\n }\n /* PTS is 33bit (from 0 to 2^33 -1)\n if diff between value and reference is bigger than half of the amplitude (2^32) then it means that\n PTS looping occured. fill the gap */\n while (Math.abs(value - reference) > 4294967296) {\n value += offset;\n }\n return value;\n }\n function findKeyframeIndex(samples) {\n for (var i = 0; i < samples.length; i++) {\n if (samples[i].key) {\n return i;\n }\n }\n return -1;\n }\n function flushTextTrackMetadataCueSamples(track, timeOffset, initPTS, initDTS) {\n var length = track.samples.length;\n if (!length) {\n return;\n }\n var inputTimeScale = track.inputTimeScale;\n for (var index = 0; index < length; index++) {\n var sample = track.samples[index];\n // setting id3 pts, dts to relative time\n // using this._initPTS and this._initDTS to calculate relative time\n sample.pts = normalizePts(sample.pts - initPTS.baseTime * inputTimeScale / initPTS.timescale, timeOffset * inputTimeScale) / inputTimeScale;\n sample.dts = normalizePts(sample.dts - initDTS.baseTime * inputTimeScale / initDTS.timescale, timeOffset * inputTimeScale) / inputTimeScale;\n }\n var samples = track.samples;\n track.samples = [];\n return {\n samples: samples\n };\n }\n function flushTextTrackUserdataCueSamples(track, timeOffset, initPTS) {\n var length = track.samples.length;\n if (!length) {\n return;\n }\n var inputTimeScale = track.inputTimeScale;\n for (var index = 0; index < length; index++) {\n var sample = track.samples[index];\n // setting text pts, dts to relative time\n // using this._initPTS and this._initDTS to calculate relative time\n sample.pts = normalizePts(sample.pts - initPTS.baseTime * inputTimeScale / initPTS.timescale, timeOffset * inputTimeScale) / inputTimeScale;\n }\n track.samples.sort(function (a, b) {\n return a.pts - b.pts;\n });\n var samples = track.samples;\n track.samples = [];\n return {\n samples: samples\n };\n }\n var Mp4Sample = function Mp4Sample(isKeyframe, duration, size, cts) {\n this.size = void 0;\n this.duration = void 0;\n this.cts = void 0;\n this.flags = void 0;\n this.duration = duration;\n this.size = size;\n this.cts = cts;\n this.flags = {\n isLeading: 0,\n isDependedOn: 0,\n hasRedundancy: 0,\n degradPrio: 0,\n dependsOn: isKeyframe ? 2 : 1,\n isNonSync: isKeyframe ? 0 : 1\n };\n };\n\n var PassThroughRemuxer = /*#__PURE__*/function () {\n function PassThroughRemuxer() {\n this.emitInitSegment = false;\n this.audioCodec = void 0;\n this.videoCodec = void 0;\n this.initData = void 0;\n this.initPTS = null;\n this.initTracks = void 0;\n this.lastEndTime = null;\n }\n var _proto = PassThroughRemuxer.prototype;\n _proto.destroy = function destroy() {};\n _proto.resetTimeStamp = function resetTimeStamp(defaultInitPTS) {\n this.initPTS = defaultInitPTS;\n this.lastEndTime = null;\n };\n _proto.resetNextTimestamp = function resetNextTimestamp() {\n this.lastEndTime = null;\n };\n _proto.resetInitSegment = function resetInitSegment(initSegment, audioCodec, videoCodec, decryptdata) {\n this.audioCodec = audioCodec;\n this.videoCodec = videoCodec;\n this.generateInitSegment(patchEncyptionData(initSegment, decryptdata));\n this.emitInitSegment = true;\n };\n _proto.generateInitSegment = function generateInitSegment(initSegment) {\n var audioCodec = this.audioCodec,\n videoCodec = this.videoCodec;\n if (!(initSegment != null && initSegment.byteLength)) {\n this.initTracks = undefined;\n this.initData = undefined;\n return;\n }\n var initData = this.initData = parseInitSegment(initSegment);\n\n // Get codec from initSegment or fallback to default\n if (initData.audio) {\n audioCodec = getParsedTrackCodec(initData.audio, ElementaryStreamTypes.AUDIO);\n }\n if (initData.video) {\n videoCodec = getParsedTrackCodec(initData.video, ElementaryStreamTypes.VIDEO);\n }\n var tracks = {};\n if (initData.audio && initData.video) {\n tracks.audiovideo = {\n container: 'video/mp4',\n codec: audioCodec + ',' + videoCodec,\n initSegment: initSegment,\n id: 'main'\n };\n } else if (initData.audio) {\n tracks.audio = {\n container: 'audio/mp4',\n codec: audioCodec,\n initSegment: initSegment,\n id: 'audio'\n };\n } else if (initData.video) {\n tracks.video = {\n container: 'video/mp4',\n codec: videoCodec,\n initSegment: initSegment,\n id: 'main'\n };\n } else {\n logger.warn('[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes.');\n }\n this.initTracks = tracks;\n };\n _proto.remux = function remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset) {\n var _initData, _initData2;\n var initPTS = this.initPTS,\n lastEndTime = this.lastEndTime;\n var result = {\n audio: undefined,\n video: undefined,\n text: textTrack,\n id3: id3Track,\n initSegment: undefined\n };\n\n // If we haven't yet set a lastEndDTS, or it was reset, set it to the provided timeOffset. We want to use the\n // lastEndDTS over timeOffset whenever possible; during progressive playback, the media source will not update\n // the media duration (which is what timeOffset is provided as) before we need to process the next chunk.\n if (!isFiniteNumber(lastEndTime)) {\n lastEndTime = this.lastEndTime = timeOffset || 0;\n }\n\n // The binary segment data is added to the videoTrack in the mp4demuxer. We don't check to see if the data is only\n // audio or video (or both); adding it to video was an arbitrary choice.\n var data = videoTrack.samples;\n if (!(data != null && data.length)) {\n return result;\n }\n var initSegment = {\n initPTS: undefined,\n timescale: 1\n };\n var initData = this.initData;\n if (!((_initData = initData) != null && _initData.length)) {\n this.generateInitSegment(data);\n initData = this.initData;\n }\n if (!((_initData2 = initData) != null && _initData2.length)) {\n // We can't remux if the initSegment could not be generated\n logger.warn('[passthrough-remuxer.ts]: Failed to generate initSegment.');\n return result;\n }\n if (this.emitInitSegment) {\n initSegment.tracks = this.initTracks;\n this.emitInitSegment = false;\n }\n var duration = getDuration(data, initData);\n var startDTS = getStartDTS(initData, data);\n var decodeTime = startDTS === null ? timeOffset : startDTS;\n if (isInvalidInitPts(initPTS, decodeTime, timeOffset, duration) || initSegment.timescale !== initPTS.timescale && accurateTimeOffset) {\n initSegment.initPTS = decodeTime - timeOffset;\n if (initPTS && initPTS.timescale === 1) {\n logger.warn(\"Adjusting initPTS by \" + (initSegment.initPTS - initPTS.baseTime));\n }\n this.initPTS = initPTS = {\n baseTime: initSegment.initPTS,\n timescale: 1\n };\n }\n var startTime = audioTrack ? decodeTime - initPTS.baseTime / initPTS.timescale : lastEndTime;\n var endTime = startTime + duration;\n offsetStartDTS(initData, data, initPTS.baseTime / initPTS.timescale);\n if (duration > 0) {\n this.lastEndTime = endTime;\n } else {\n logger.warn('Duration parsed from mp4 should be greater than zero');\n this.resetNextTimestamp();\n }\n var hasAudio = !!initData.audio;\n var hasVideo = !!initData.video;\n var type = '';\n if (hasAudio) {\n type += 'audio';\n }\n if (hasVideo) {\n type += 'video';\n }\n var track = {\n data1: data,\n startPTS: startTime,\n startDTS: startTime,\n endPTS: endTime,\n endDTS: endTime,\n type: type,\n hasAudio: hasAudio,\n hasVideo: hasVideo,\n nb: 1,\n dropped: 0\n };\n result.audio = track.type === 'audio' ? track : undefined;\n result.video = track.type !== 'audio' ? track : undefined;\n result.initSegment = initSegment;\n result.id3 = flushTextTrackMetadataCueSamples(id3Track, timeOffset, initPTS, initPTS);\n if (textTrack.samples.length) {\n result.text = flushTextTrackUserdataCueSamples(textTrack, timeOffset, initPTS);\n }\n return result;\n };\n return PassThroughRemuxer;\n }();\n function isInvalidInitPts(initPTS, startDTS, timeOffset, duration) {\n if (initPTS === null) {\n return true;\n }\n // InitPTS is invalid when distance from program would be more than segment duration or a minimum of one second\n var minDuration = Math.max(duration, 1);\n var startTime = startDTS - initPTS.baseTime / initPTS.timescale;\n return Math.abs(startTime - timeOffset) > minDuration;\n }\n function getParsedTrackCodec(track, type) {\n var parsedCodec = track == null ? void 0 : track.codec;\n if (parsedCodec && parsedCodec.length > 4) {\n return parsedCodec;\n }\n if (type === ElementaryStreamTypes.AUDIO) {\n if (parsedCodec === 'ec-3' || parsedCodec === 'ac-3' || parsedCodec === 'alac') {\n return parsedCodec;\n }\n if (parsedCodec === 'fLaC' || parsedCodec === 'Opus') {\n // Opting not to get `preferManagedMediaSource` from player config for isSupported() check for simplicity\n var preferManagedMediaSource = false;\n return getCodecCompatibleName(parsedCodec, preferManagedMediaSource);\n }\n var result = 'mp4a.40.5';\n logger.info(\"Parsed audio codec \\\"\" + parsedCodec + \"\\\" or audio object type not handled. Using \\\"\" + result + \"\\\"\");\n return result;\n }\n // Provide defaults based on codec type\n // This allows for some playback of some fmp4 playlists without CODECS defined in manifest\n logger.warn(\"Unhandled video codec \\\"\" + parsedCodec + \"\\\"\");\n if (parsedCodec === 'hvc1' || parsedCodec === 'hev1') {\n return 'hvc1.1.6.L120.90';\n }\n if (parsedCodec === 'av01') {\n return 'av01.0.04M.08';\n }\n return 'avc1.42e01e';\n }\n\n var now;\n // performance.now() not available on WebWorker, at least on Safari Desktop\n try {\n now = self.performance.now.bind(self.performance);\n } catch (err) {\n logger.debug('Unable to use Performance API on this environment');\n now = optionalSelf == null ? void 0 : optionalSelf.Date.now;\n }\n var muxConfig = [{\n demux: MP4Demuxer,\n remux: PassThroughRemuxer\n }, {\n demux: TSDemuxer,\n remux: MP4Remuxer\n }, {\n demux: AACDemuxer,\n remux: MP4Remuxer\n }, {\n demux: MP3Demuxer,\n remux: MP4Remuxer\n }];\n {\n muxConfig.splice(2, 0, {\n demux: AC3Demuxer,\n remux: MP4Remuxer\n });\n }\n var Transmuxer = /*#__PURE__*/function () {\n function Transmuxer(observer, typeSupported, config, vendor, id) {\n this.async = false;\n this.observer = void 0;\n this.typeSupported = void 0;\n this.config = void 0;\n this.vendor = void 0;\n this.id = void 0;\n this.demuxer = void 0;\n this.remuxer = void 0;\n this.decrypter = void 0;\n this.probe = void 0;\n this.decryptionPromise = null;\n this.transmuxConfig = void 0;\n this.currentTransmuxState = void 0;\n this.observer = observer;\n this.typeSupported = typeSupported;\n this.config = config;\n this.vendor = vendor;\n this.id = id;\n }\n var _proto = Transmuxer.prototype;\n _proto.configure = function configure(transmuxConfig) {\n this.transmuxConfig = transmuxConfig;\n if (this.decrypter) {\n this.decrypter.reset();\n }\n };\n _proto.push = function push(data, decryptdata, chunkMeta, state) {\n var _this = this;\n var stats = chunkMeta.transmuxing;\n stats.executeStart = now();\n var uintData = new Uint8Array(data);\n var currentTransmuxState = this.currentTransmuxState,\n transmuxConfig = this.transmuxConfig;\n if (state) {\n this.currentTransmuxState = state;\n }\n var _ref = state || currentTransmuxState,\n contiguous = _ref.contiguous,\n discontinuity = _ref.discontinuity,\n trackSwitch = _ref.trackSwitch,\n accurateTimeOffset = _ref.accurateTimeOffset,\n timeOffset = _ref.timeOffset,\n initSegmentChange = _ref.initSegmentChange;\n var audioCodec = transmuxConfig.audioCodec,\n videoCodec = transmuxConfig.videoCodec,\n defaultInitPts = transmuxConfig.defaultInitPts,\n duration = transmuxConfig.duration,\n initSegmentData = transmuxConfig.initSegmentData;\n var keyData = getEncryptionType(uintData, decryptdata);\n if (keyData && keyData.method === 'AES-128') {\n var decrypter = this.getDecrypter();\n // Software decryption is synchronous; webCrypto is not\n if (decrypter.isSync()) {\n // Software decryption is progressive. Progressive decryption may not return a result on each call. Any cached\n // data is handled in the flush() call\n var decryptedData = decrypter.softwareDecrypt(uintData, keyData.key.buffer, keyData.iv.buffer);\n // For Low-Latency HLS Parts, decrypt in place, since part parsing is expected on push progress\n var loadingParts = chunkMeta.part > -1;\n if (loadingParts) {\n decryptedData = decrypter.flush();\n }\n if (!decryptedData) {\n stats.executeEnd = now();\n return emptyResult(chunkMeta);\n }\n uintData = new Uint8Array(decryptedData);\n } else {\n this.decryptionPromise = decrypter.webCryptoDecrypt(uintData, keyData.key.buffer, keyData.iv.buffer).then(function (decryptedData) {\n // Calling push here is important; if flush() is called while this is still resolving, this ensures that\n // the decrypted data has been transmuxed\n var result = _this.push(decryptedData, null, chunkMeta);\n _this.decryptionPromise = null;\n return result;\n });\n return this.decryptionPromise;\n }\n }\n var resetMuxers = this.needsProbing(discontinuity, trackSwitch);\n if (resetMuxers) {\n var error = this.configureTransmuxer(uintData);\n if (error) {\n logger.warn(\"[transmuxer] \" + error.message);\n this.observer.emit(Events.ERROR, Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n fatal: false,\n error: error,\n reason: error.message\n });\n stats.executeEnd = now();\n return emptyResult(chunkMeta);\n }\n }\n if (discontinuity || trackSwitch || initSegmentChange || resetMuxers) {\n this.resetInitSegment(initSegmentData, audioCodec, videoCodec, duration, decryptdata);\n }\n if (discontinuity || initSegmentChange || resetMuxers) {\n this.resetInitialTimestamp(defaultInitPts);\n }\n if (!contiguous) {\n this.resetContiguity();\n }\n var result = this.transmux(uintData, keyData, timeOffset, accurateTimeOffset, chunkMeta);\n var currentState = this.currentTransmuxState;\n currentState.contiguous = true;\n currentState.discontinuity = false;\n currentState.trackSwitch = false;\n stats.executeEnd = now();\n return result;\n }\n\n // Due to data caching, flush calls can produce more than one TransmuxerResult (hence the Array type)\n ;\n _proto.flush = function flush(chunkMeta) {\n var _this2 = this;\n var stats = chunkMeta.transmuxing;\n stats.executeStart = now();\n var decrypter = this.decrypter,\n currentTransmuxState = this.currentTransmuxState,\n decryptionPromise = this.decryptionPromise;\n if (decryptionPromise) {\n // Upon resolution, the decryption promise calls push() and returns its TransmuxerResult up the stack. Therefore\n // only flushing is required for async decryption\n return decryptionPromise.then(function () {\n return _this2.flush(chunkMeta);\n });\n }\n var transmuxResults = [];\n var timeOffset = currentTransmuxState.timeOffset;\n if (decrypter) {\n // The decrypter may have data cached, which needs to be demuxed. In this case we'll have two TransmuxResults\n // This happens in the case that we receive only 1 push call for a segment (either for non-progressive downloads,\n // or for progressive downloads with small segments)\n var decryptedData = decrypter.flush();\n if (decryptedData) {\n // Push always returns a TransmuxerResult if decryptdata is null\n transmuxResults.push(this.push(decryptedData, null, chunkMeta));\n }\n }\n var demuxer = this.demuxer,\n remuxer = this.remuxer;\n if (!demuxer || !remuxer) {\n // If probing failed, then Hls.js has been given content its not able to handle\n stats.executeEnd = now();\n return [emptyResult(chunkMeta)];\n }\n var demuxResultOrPromise = demuxer.flush(timeOffset);\n if (isPromise(demuxResultOrPromise)) {\n // Decrypt final SAMPLE-AES samples\n return demuxResultOrPromise.then(function (demuxResult) {\n _this2.flushRemux(transmuxResults, demuxResult, chunkMeta);\n return transmuxResults;\n });\n }\n this.flushRemux(transmuxResults, demuxResultOrPromise, chunkMeta);\n return transmuxResults;\n };\n _proto.flushRemux = function flushRemux(transmuxResults, demuxResult, chunkMeta) {\n var audioTrack = demuxResult.audioTrack,\n videoTrack = demuxResult.videoTrack,\n id3Track = demuxResult.id3Track,\n textTrack = demuxResult.textTrack;\n var _this$currentTransmux = this.currentTransmuxState,\n accurateTimeOffset = _this$currentTransmux.accurateTimeOffset,\n timeOffset = _this$currentTransmux.timeOffset;\n logger.log(\"[transmuxer.ts]: Flushed fragment \" + chunkMeta.sn + (chunkMeta.part > -1 ? ' p: ' + chunkMeta.part : '') + \" of level \" + chunkMeta.level);\n var remuxResult = this.remuxer.remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset, true, this.id);\n transmuxResults.push({\n remuxResult: remuxResult,\n chunkMeta: chunkMeta\n });\n chunkMeta.transmuxing.executeEnd = now();\n };\n _proto.resetInitialTimestamp = function resetInitialTimestamp(defaultInitPts) {\n var demuxer = this.demuxer,\n remuxer = this.remuxer;\n if (!demuxer || !remuxer) {\n return;\n }\n demuxer.resetTimeStamp(defaultInitPts);\n remuxer.resetTimeStamp(defaultInitPts);\n };\n _proto.resetContiguity = function resetContiguity() {\n var demuxer = this.demuxer,\n remuxer = this.remuxer;\n if (!demuxer || !remuxer) {\n return;\n }\n demuxer.resetContiguity();\n remuxer.resetNextTimestamp();\n };\n _proto.resetInitSegment = function resetInitSegment(initSegmentData, audioCodec, videoCodec, trackDuration, decryptdata) {\n var demuxer = this.demuxer,\n remuxer = this.remuxer;\n if (!demuxer || !remuxer) {\n return;\n }\n demuxer.resetInitSegment(initSegmentData, audioCodec, videoCodec, trackDuration);\n remuxer.resetInitSegment(initSegmentData, audioCodec, videoCodec, decryptdata);\n };\n _proto.destroy = function destroy() {\n if (this.demuxer) {\n this.demuxer.destroy();\n this.demuxer = undefined;\n }\n if (this.remuxer) {\n this.remuxer.destroy();\n this.remuxer = undefined;\n }\n };\n _proto.transmux = function transmux(data, keyData, timeOffset, accurateTimeOffset, chunkMeta) {\n var result;\n if (keyData && keyData.method === 'SAMPLE-AES') {\n result = this.transmuxSampleAes(data, keyData, timeOffset, accurateTimeOffset, chunkMeta);\n } else {\n result = this.transmuxUnencrypted(data, timeOffset, accurateTimeOffset, chunkMeta);\n }\n return result;\n };\n _proto.transmuxUnencrypted = function transmuxUnencrypted(data, timeOffset, accurateTimeOffset, chunkMeta) {\n var _demux = this.demuxer.demux(data, timeOffset, false, !this.config.progressive),\n audioTrack = _demux.audioTrack,\n videoTrack = _demux.videoTrack,\n id3Track = _demux.id3Track,\n textTrack = _demux.textTrack;\n var remuxResult = this.remuxer.remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset, false, this.id);\n return {\n remuxResult: remuxResult,\n chunkMeta: chunkMeta\n };\n };\n _proto.transmuxSampleAes = function transmuxSampleAes(data, decryptData, timeOffset, accurateTimeOffset, chunkMeta) {\n var _this3 = this;\n return this.demuxer.demuxSampleAes(data, decryptData, timeOffset).then(function (demuxResult) {\n var remuxResult = _this3.remuxer.remux(demuxResult.audioTrack, demuxResult.videoTrack, demuxResult.id3Track, demuxResult.textTrack, timeOffset, accurateTimeOffset, false, _this3.id);\n return {\n remuxResult: remuxResult,\n chunkMeta: chunkMeta\n };\n });\n };\n _proto.configureTransmuxer = function configureTransmuxer(data) {\n var config = this.config,\n observer = this.observer,\n typeSupported = this.typeSupported,\n vendor = this.vendor;\n // probe for content type\n var mux;\n for (var i = 0, len = muxConfig.length; i < len; i++) {\n var _muxConfig$i$demux;\n if ((_muxConfig$i$demux = muxConfig[i].demux) != null && _muxConfig$i$demux.probe(data)) {\n mux = muxConfig[i];\n break;\n }\n }\n if (!mux) {\n return new Error('Failed to find demuxer by probing fragment data');\n }\n // so let's check that current remuxer and demuxer are still valid\n var demuxer = this.demuxer;\n var remuxer = this.remuxer;\n var Remuxer = mux.remux;\n var Demuxer = mux.demux;\n if (!remuxer || !(remuxer instanceof Remuxer)) {\n this.remuxer = new Remuxer(observer, config, typeSupported, vendor);\n }\n if (!demuxer || !(demuxer instanceof Demuxer)) {\n this.demuxer = new Demuxer(observer, config, typeSupported);\n this.probe = Demuxer.probe;\n }\n };\n _proto.needsProbing = function needsProbing(discontinuity, trackSwitch) {\n // in case of continuity change, or track switch\n // we might switch from content type (AAC container to TS container, or TS to fmp4 for example)\n return !this.demuxer || !this.remuxer || discontinuity || trackSwitch;\n };\n _proto.getDecrypter = function getDecrypter() {\n var decrypter = this.decrypter;\n if (!decrypter) {\n decrypter = this.decrypter = new Decrypter(this.config);\n }\n return decrypter;\n };\n return Transmuxer;\n }();\n function getEncryptionType(data, decryptData) {\n var encryptionType = null;\n if (data.byteLength > 0 && (decryptData == null ? void 0 : decryptData.key) != null && decryptData.iv !== null && decryptData.method != null) {\n encryptionType = decryptData;\n }\n return encryptionType;\n }\n var emptyResult = function emptyResult(chunkMeta) {\n return {\n remuxResult: {},\n chunkMeta: chunkMeta\n };\n };\n function isPromise(p) {\n return 'then' in p && p.then instanceof Function;\n }\n var TransmuxConfig = function TransmuxConfig(audioCodec, videoCodec, initSegmentData, duration, defaultInitPts) {\n this.audioCodec = void 0;\n this.videoCodec = void 0;\n this.initSegmentData = void 0;\n this.duration = void 0;\n this.defaultInitPts = void 0;\n this.audioCodec = audioCodec;\n this.videoCodec = videoCodec;\n this.initSegmentData = initSegmentData;\n this.duration = duration;\n this.defaultInitPts = defaultInitPts || null;\n };\n var TransmuxState = function TransmuxState(discontinuity, contiguous, accurateTimeOffset, trackSwitch, timeOffset, initSegmentChange) {\n this.discontinuity = void 0;\n this.contiguous = void 0;\n this.accurateTimeOffset = void 0;\n this.trackSwitch = void 0;\n this.timeOffset = void 0;\n this.initSegmentChange = void 0;\n this.discontinuity = discontinuity;\n this.contiguous = contiguous;\n this.accurateTimeOffset = accurateTimeOffset;\n this.trackSwitch = trackSwitch;\n this.timeOffset = timeOffset;\n this.initSegmentChange = initSegmentChange;\n };\n\n var eventemitter3 = {exports: {}};\n\n (function (module) {\n\n \tvar has = Object.prototype.hasOwnProperty\n \t , prefix = '~';\n\n \t/**\n \t * Constructor to create a storage for our `EE` objects.\n \t * An `Events` instance is a plain object whose properties are event names.\n \t *\n \t * @constructor\n \t * @private\n \t */\n \tfunction Events() {}\n\n \t//\n \t// We try to not inherit from `Object.prototype`. In some engines creating an\n \t// instance in this way is faster than calling `Object.create(null)` directly.\n \t// If `Object.create(null)` is not supported we prefix the event names with a\n \t// character to make sure that the built-in object properties are not\n \t// overridden or used as an attack vector.\n \t//\n \tif (Object.create) {\n \t Events.prototype = Object.create(null);\n\n \t //\n \t // This hack is needed because the `__proto__` property is still inherited in\n \t // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n \t //\n \t if (!new Events().__proto__) prefix = false;\n \t}\n\n \t/**\n \t * Representation of a single event listener.\n \t *\n \t * @param {Function} fn The listener function.\n \t * @param {*} context The context to invoke the listener with.\n \t * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n \t * @constructor\n \t * @private\n \t */\n \tfunction EE(fn, context, once) {\n \t this.fn = fn;\n \t this.context = context;\n \t this.once = once || false;\n \t}\n\n \t/**\n \t * Add a listener for a given event.\n \t *\n \t * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n \t * @param {(String|Symbol)} event The event name.\n \t * @param {Function} fn The listener function.\n \t * @param {*} context The context to invoke the listener with.\n \t * @param {Boolean} once Specify if the listener is a one-time listener.\n \t * @returns {EventEmitter}\n \t * @private\n \t */\n \tfunction addListener(emitter, event, fn, context, once) {\n \t if (typeof fn !== 'function') {\n \t throw new TypeError('The listener must be a function');\n \t }\n\n \t var listener = new EE(fn, context || emitter, once)\n \t , evt = prefix ? prefix + event : event;\n\n \t if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n \t else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n \t else emitter._events[evt] = [emitter._events[evt], listener];\n\n \t return emitter;\n \t}\n\n \t/**\n \t * Clear event by name.\n \t *\n \t * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n \t * @param {(String|Symbol)} evt The Event name.\n \t * @private\n \t */\n \tfunction clearEvent(emitter, evt) {\n \t if (--emitter._eventsCount === 0) emitter._events = new Events();\n \t else delete emitter._events[evt];\n \t}\n\n \t/**\n \t * Minimal `EventEmitter` interface that is molded against the Node.js\n \t * `EventEmitter` interface.\n \t *\n \t * @constructor\n \t * @public\n \t */\n \tfunction EventEmitter() {\n \t this._events = new Events();\n \t this._eventsCount = 0;\n \t}\n\n \t/**\n \t * Return an array listing the events for which the emitter has registered\n \t * listeners.\n \t *\n \t * @returns {Array}\n \t * @public\n \t */\n \tEventEmitter.prototype.eventNames = function eventNames() {\n \t var names = []\n \t , events\n \t , name;\n\n \t if (this._eventsCount === 0) return names;\n\n \t for (name in (events = this._events)) {\n \t if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n \t }\n\n \t if (Object.getOwnPropertySymbols) {\n \t return names.concat(Object.getOwnPropertySymbols(events));\n \t }\n\n \t return names;\n \t};\n\n \t/**\n \t * Return the listeners registered for a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @returns {Array} The registered listeners.\n \t * @public\n \t */\n \tEventEmitter.prototype.listeners = function listeners(event) {\n \t var evt = prefix ? prefix + event : event\n \t , handlers = this._events[evt];\n\n \t if (!handlers) return [];\n \t if (handlers.fn) return [handlers.fn];\n\n \t for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n \t ee[i] = handlers[i].fn;\n \t }\n\n \t return ee;\n \t};\n\n \t/**\n \t * Return the number of listeners listening to a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @returns {Number} The number of listeners.\n \t * @public\n \t */\n \tEventEmitter.prototype.listenerCount = function listenerCount(event) {\n \t var evt = prefix ? prefix + event : event\n \t , listeners = this._events[evt];\n\n \t if (!listeners) return 0;\n \t if (listeners.fn) return 1;\n \t return listeners.length;\n \t};\n\n \t/**\n \t * Calls each of the listeners registered for a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @returns {Boolean} `true` if the event had listeners, else `false`.\n \t * @public\n \t */\n \tEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n \t var evt = prefix ? prefix + event : event;\n\n \t if (!this._events[evt]) return false;\n\n \t var listeners = this._events[evt]\n \t , len = arguments.length\n \t , args\n \t , i;\n\n \t if (listeners.fn) {\n \t if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n \t switch (len) {\n \t case 1: return listeners.fn.call(listeners.context), true;\n \t case 2: return listeners.fn.call(listeners.context, a1), true;\n \t case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n \t case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n \t case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n \t case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n \t }\n\n \t for (i = 1, args = new Array(len -1); i < len; i++) {\n \t args[i - 1] = arguments[i];\n \t }\n\n \t listeners.fn.apply(listeners.context, args);\n \t } else {\n \t var length = listeners.length\n \t , j;\n\n \t for (i = 0; i < length; i++) {\n \t if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n \t switch (len) {\n \t case 1: listeners[i].fn.call(listeners[i].context); break;\n \t case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n \t case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n \t case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n \t default:\n \t if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n \t args[j - 1] = arguments[j];\n \t }\n\n \t listeners[i].fn.apply(listeners[i].context, args);\n \t }\n \t }\n \t }\n\n \t return true;\n \t};\n\n \t/**\n \t * Add a listener for a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @param {Function} fn The listener function.\n \t * @param {*} [context=this] The context to invoke the listener with.\n \t * @returns {EventEmitter} `this`.\n \t * @public\n \t */\n \tEventEmitter.prototype.on = function on(event, fn, context) {\n \t return addListener(this, event, fn, context, false);\n \t};\n\n \t/**\n \t * Add a one-time listener for a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @param {Function} fn The listener function.\n \t * @param {*} [context=this] The context to invoke the listener with.\n \t * @returns {EventEmitter} `this`.\n \t * @public\n \t */\n \tEventEmitter.prototype.once = function once(event, fn, context) {\n \t return addListener(this, event, fn, context, true);\n \t};\n\n \t/**\n \t * Remove the listeners of a given event.\n \t *\n \t * @param {(String|Symbol)} event The event name.\n \t * @param {Function} fn Only remove the listeners that match this function.\n \t * @param {*} context Only remove the listeners that have this context.\n \t * @param {Boolean} once Only remove one-time listeners.\n \t * @returns {EventEmitter} `this`.\n \t * @public\n \t */\n \tEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n \t var evt = prefix ? prefix + event : event;\n\n \t if (!this._events[evt]) return this;\n \t if (!fn) {\n \t clearEvent(this, evt);\n \t return this;\n \t }\n\n \t var listeners = this._events[evt];\n\n \t if (listeners.fn) {\n \t if (\n \t listeners.fn === fn &&\n \t (!once || listeners.once) &&\n \t (!context || listeners.context === context)\n \t ) {\n \t clearEvent(this, evt);\n \t }\n \t } else {\n \t for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n \t if (\n \t listeners[i].fn !== fn ||\n \t (once && !listeners[i].once) ||\n \t (context && listeners[i].context !== context)\n \t ) {\n \t events.push(listeners[i]);\n \t }\n \t }\n\n \t //\n \t // Reset the array, or remove it completely if we have no more listeners.\n \t //\n \t if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n \t else clearEvent(this, evt);\n \t }\n\n \t return this;\n \t};\n\n \t/**\n \t * Remove all listeners, or those of the specified event.\n \t *\n \t * @param {(String|Symbol)} [event] The event name.\n \t * @returns {EventEmitter} `this`.\n \t * @public\n \t */\n \tEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n \t var evt;\n\n \t if (event) {\n \t evt = prefix ? prefix + event : event;\n \t if (this._events[evt]) clearEvent(this, evt);\n \t } else {\n \t this._events = new Events();\n \t this._eventsCount = 0;\n \t }\n\n \t return this;\n \t};\n\n \t//\n \t// Alias methods names because people roll like that.\n \t//\n \tEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n \tEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n \t//\n \t// Expose the prefix.\n \t//\n \tEventEmitter.prefixed = prefix;\n\n \t//\n \t// Allow `EventEmitter` to be imported as module namespace.\n \t//\n \tEventEmitter.EventEmitter = EventEmitter;\n\n \t//\n \t// Expose the module.\n \t//\n \t{\n \t module.exports = EventEmitter;\n \t} \n } (eventemitter3));\n\n var eventemitter3Exports = eventemitter3.exports;\n var EventEmitter = /*@__PURE__*/getDefaultExportFromCjs(eventemitter3Exports);\n\n if (typeof __IN_WORKER__ !== 'undefined' && __IN_WORKER__) {\n startWorker(self);\n }\n function startWorker(self) {\n var observer = new EventEmitter();\n var forwardMessage = function forwardMessage(ev, data) {\n self.postMessage({\n event: ev,\n data: data\n });\n };\n\n // forward events to main thread\n observer.on(Events.FRAG_DECRYPTED, forwardMessage);\n observer.on(Events.ERROR, forwardMessage);\n\n // forward logger events to main thread\n var forwardWorkerLogs = function forwardWorkerLogs() {\n var _loop = function _loop(logFn) {\n var func = function func(message) {\n forwardMessage('workerLog', {\n logType: logFn,\n message: message\n });\n };\n logger[logFn] = func;\n };\n for (var logFn in logger) {\n _loop(logFn);\n }\n };\n self.addEventListener('message', function (ev) {\n var data = ev.data;\n switch (data.cmd) {\n case 'init':\n {\n var config = JSON.parse(data.config);\n self.transmuxer = new Transmuxer(observer, data.typeSupported, config, data.vendor, data.id);\n enableLogs(config.debug, data.id);\n forwardWorkerLogs();\n forwardMessage('init', null);\n break;\n }\n case 'configure':\n {\n self.transmuxer.configure(data.config);\n break;\n }\n case 'demux':\n {\n var transmuxResult = self.transmuxer.push(data.data, data.decryptdata, data.chunkMeta, data.state);\n if (isPromise(transmuxResult)) {\n self.transmuxer.async = true;\n transmuxResult.then(function (data) {\n emitTransmuxComplete(self, data);\n }).catch(function (error) {\n forwardMessage(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n chunkMeta: data.chunkMeta,\n fatal: false,\n error: error,\n err: error,\n reason: \"transmuxer-worker push error\"\n });\n });\n } else {\n self.transmuxer.async = false;\n emitTransmuxComplete(self, transmuxResult);\n }\n break;\n }\n case 'flush':\n {\n var id = data.chunkMeta;\n var _transmuxResult = self.transmuxer.flush(id);\n var asyncFlush = isPromise(_transmuxResult);\n if (asyncFlush || self.transmuxer.async) {\n if (!isPromise(_transmuxResult)) {\n _transmuxResult = Promise.resolve(_transmuxResult);\n }\n _transmuxResult.then(function (results) {\n handleFlushResult(self, results, id);\n }).catch(function (error) {\n forwardMessage(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n chunkMeta: data.chunkMeta,\n fatal: false,\n error: error,\n err: error,\n reason: \"transmuxer-worker flush error\"\n });\n });\n } else {\n handleFlushResult(self, _transmuxResult, id);\n }\n break;\n }\n }\n });\n }\n function emitTransmuxComplete(self, transmuxResult) {\n if (isEmptyResult(transmuxResult.remuxResult)) {\n return false;\n }\n var transferable = [];\n var _transmuxResult$remux = transmuxResult.remuxResult,\n audio = _transmuxResult$remux.audio,\n video = _transmuxResult$remux.video;\n if (audio) {\n addToTransferable(transferable, audio);\n }\n if (video) {\n addToTransferable(transferable, video);\n }\n self.postMessage({\n event: 'transmuxComplete',\n data: transmuxResult\n }, transferable);\n return true;\n }\n\n // Converts data to a transferable object https://developers.google.com/web/updates/2011/12/Transferable-Objects-Lightning-Fast)\n // in order to minimize message passing overhead\n function addToTransferable(transferable, track) {\n if (track.data1) {\n transferable.push(track.data1.buffer);\n }\n if (track.data2) {\n transferable.push(track.data2.buffer);\n }\n }\n function handleFlushResult(self, results, chunkMeta) {\n var parsed = results.reduce(function (parsed, result) {\n return emitTransmuxComplete(self, result) || parsed;\n }, false);\n if (!parsed) {\n // Emit at least one \"transmuxComplete\" message even if media is not found to update stream-controller state to PARSING\n self.postMessage({\n event: 'transmuxComplete',\n data: results[0]\n });\n }\n self.postMessage({\n event: 'flush',\n data: chunkMeta\n });\n }\n function isEmptyResult(remuxResult) {\n return !remuxResult.audio && !remuxResult.video && !remuxResult.text && !remuxResult.id3 && !remuxResult.initSegment;\n }\n\n // ensure the worker ends up in the bundle\n // If the worker should not be included this gets aliased to empty.js\n function hasUMDWorker() {\n return typeof __HLS_WORKER_BUNDLE__ === 'function';\n }\n function injectWorker() {\n var blob = new self.Blob([\"var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(\" + __HLS_WORKER_BUNDLE__.toString() + \")(true);\"], {\n type: 'text/javascript'\n });\n var objectURL = self.URL.createObjectURL(blob);\n var worker = new self.Worker(objectURL);\n return {\n worker: worker,\n objectURL: objectURL\n };\n }\n function loadWorker(path) {\n var scriptURL = new self.URL(path, self.location.href).href;\n var worker = new self.Worker(scriptURL);\n return {\n worker: worker,\n scriptURL: scriptURL\n };\n }\n\n var TransmuxerInterface = /*#__PURE__*/function () {\n function TransmuxerInterface(hls, id, onTransmuxComplete, onFlush) {\n var _this = this;\n this.error = null;\n this.hls = void 0;\n this.id = void 0;\n this.observer = void 0;\n this.frag = null;\n this.part = null;\n this.useWorker = void 0;\n this.workerContext = null;\n this.onwmsg = void 0;\n this.transmuxer = null;\n this.onTransmuxComplete = void 0;\n this.onFlush = void 0;\n var config = hls.config;\n this.hls = hls;\n this.id = id;\n this.useWorker = !!config.enableWorker;\n this.onTransmuxComplete = onTransmuxComplete;\n this.onFlush = onFlush;\n var forwardMessage = function forwardMessage(ev, data) {\n data = data || {};\n data.frag = _this.frag;\n data.id = _this.id;\n if (ev === Events.ERROR) {\n _this.error = data.error;\n }\n _this.hls.trigger(ev, data);\n };\n\n // forward events to main thread\n this.observer = new EventEmitter();\n this.observer.on(Events.FRAG_DECRYPTED, forwardMessage);\n this.observer.on(Events.ERROR, forwardMessage);\n var MediaSource = getMediaSource(config.preferManagedMediaSource) || {\n isTypeSupported: function isTypeSupported() {\n return false;\n }\n };\n var m2tsTypeSupported = {\n mpeg: MediaSource.isTypeSupported('audio/mpeg'),\n mp3: MediaSource.isTypeSupported('audio/mp4; codecs=\"mp3\"'),\n ac3: MediaSource.isTypeSupported('audio/mp4; codecs=\"ac-3\"') \n };\n\n // navigator.vendor is not always available in Web Worker\n // refer to https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/navigator\n var vendor = navigator.vendor;\n if (this.useWorker && typeof Worker !== 'undefined') {\n var canCreateWorker = config.workerPath || hasUMDWorker();\n if (canCreateWorker) {\n try {\n if (config.workerPath) {\n logger.log(\"loading Web Worker \" + config.workerPath + \" for \\\"\" + id + \"\\\"\");\n this.workerContext = loadWorker(config.workerPath);\n } else {\n logger.log(\"injecting Web Worker for \\\"\" + id + \"\\\"\");\n this.workerContext = injectWorker();\n }\n this.onwmsg = function (ev) {\n return _this.onWorkerMessage(ev);\n };\n var worker = this.workerContext.worker;\n worker.addEventListener('message', this.onwmsg);\n worker.onerror = function (event) {\n var error = new Error(event.message + \" (\" + event.filename + \":\" + event.lineno + \")\");\n config.enableWorker = false;\n logger.warn(\"Error in \\\"\" + id + \"\\\" Web Worker, fallback to inline\");\n _this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.OTHER_ERROR,\n details: ErrorDetails.INTERNAL_EXCEPTION,\n fatal: false,\n event: 'demuxerWorker',\n error: error\n });\n };\n worker.postMessage({\n cmd: 'init',\n typeSupported: m2tsTypeSupported,\n vendor: vendor,\n id: id,\n config: JSON.stringify(config)\n });\n } catch (err) {\n logger.warn(\"Error setting up \\\"\" + id + \"\\\" Web Worker, fallback to inline\", err);\n this.resetWorker();\n this.error = null;\n this.transmuxer = new Transmuxer(this.observer, m2tsTypeSupported, config, vendor, id);\n }\n return;\n }\n }\n this.transmuxer = new Transmuxer(this.observer, m2tsTypeSupported, config, vendor, id);\n }\n var _proto = TransmuxerInterface.prototype;\n _proto.resetWorker = function resetWorker() {\n if (this.workerContext) {\n var _this$workerContext = this.workerContext,\n worker = _this$workerContext.worker,\n objectURL = _this$workerContext.objectURL;\n if (objectURL) {\n // revoke the Object URL that was used to create transmuxer worker, so as not to leak it\n self.URL.revokeObjectURL(objectURL);\n }\n worker.removeEventListener('message', this.onwmsg);\n worker.onerror = null;\n worker.terminate();\n this.workerContext = null;\n }\n };\n _proto.destroy = function destroy() {\n if (this.workerContext) {\n this.resetWorker();\n this.onwmsg = undefined;\n } else {\n var transmuxer = this.transmuxer;\n if (transmuxer) {\n transmuxer.destroy();\n this.transmuxer = null;\n }\n }\n var observer = this.observer;\n if (observer) {\n observer.removeAllListeners();\n }\n this.frag = null;\n // @ts-ignore\n this.observer = null;\n // @ts-ignore\n this.hls = null;\n };\n _proto.push = function push(data, initSegmentData, audioCodec, videoCodec, frag, part, duration, accurateTimeOffset, chunkMeta, defaultInitPTS) {\n var _frag$initSegment,\n _lastFrag$initSegment,\n _this2 = this;\n chunkMeta.transmuxing.start = self.performance.now();\n var transmuxer = this.transmuxer;\n var timeOffset = part ? part.start : frag.start;\n // TODO: push \"clear-lead\" decrypt data for unencrypted fragments in streams with encrypted ones\n var decryptdata = frag.decryptdata;\n var lastFrag = this.frag;\n var discontinuity = !(lastFrag && frag.cc === lastFrag.cc);\n var trackSwitch = !(lastFrag && chunkMeta.level === lastFrag.level);\n var snDiff = lastFrag ? chunkMeta.sn - lastFrag.sn : -1;\n var partDiff = this.part ? chunkMeta.part - this.part.index : -1;\n var progressive = snDiff === 0 && chunkMeta.id > 1 && chunkMeta.id === (lastFrag == null ? void 0 : lastFrag.stats.chunkCount);\n var contiguous = !trackSwitch && (snDiff === 1 || snDiff === 0 && (partDiff === 1 || progressive && partDiff <= 0));\n var now = self.performance.now();\n if (trackSwitch || snDiff || frag.stats.parsing.start === 0) {\n frag.stats.parsing.start = now;\n }\n if (part && (partDiff || !contiguous)) {\n part.stats.parsing.start = now;\n }\n var initSegmentChange = !(lastFrag && ((_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.url) === ((_lastFrag$initSegment = lastFrag.initSegment) == null ? void 0 : _lastFrag$initSegment.url));\n var state = new TransmuxState(discontinuity, contiguous, accurateTimeOffset, trackSwitch, timeOffset, initSegmentChange);\n if (!contiguous || discontinuity || initSegmentChange) {\n logger.log(\"[transmuxer-interface, \" + frag.type + \"]: Starting new transmux session for sn: \" + chunkMeta.sn + \" p: \" + chunkMeta.part + \" level: \" + chunkMeta.level + \" id: \" + chunkMeta.id + \"\\n discontinuity: \" + discontinuity + \"\\n trackSwitch: \" + trackSwitch + \"\\n contiguous: \" + contiguous + \"\\n accurateTimeOffset: \" + accurateTimeOffset + \"\\n timeOffset: \" + timeOffset + \"\\n initSegmentChange: \" + initSegmentChange);\n var config = new TransmuxConfig(audioCodec, videoCodec, initSegmentData, duration, defaultInitPTS);\n this.configureTransmuxer(config);\n }\n this.frag = frag;\n this.part = part;\n\n // Frags with sn of 'initSegment' are not transmuxed\n if (this.workerContext) {\n // post fragment payload as transferable objects for ArrayBuffer (no copy)\n this.workerContext.worker.postMessage({\n cmd: 'demux',\n data: data,\n decryptdata: decryptdata,\n chunkMeta: chunkMeta,\n state: state\n }, data instanceof ArrayBuffer ? [data] : []);\n } else if (transmuxer) {\n var _transmuxResult = transmuxer.push(data, decryptdata, chunkMeta, state);\n if (isPromise(_transmuxResult)) {\n transmuxer.async = true;\n _transmuxResult.then(function (data) {\n _this2.handleTransmuxComplete(data);\n }).catch(function (error) {\n _this2.transmuxerError(error, chunkMeta, 'transmuxer-interface push error');\n });\n } else {\n transmuxer.async = false;\n this.handleTransmuxComplete(_transmuxResult);\n }\n }\n };\n _proto.flush = function flush(chunkMeta) {\n var _this3 = this;\n chunkMeta.transmuxing.start = self.performance.now();\n var transmuxer = this.transmuxer;\n if (this.workerContext) {\n this.workerContext.worker.postMessage({\n cmd: 'flush',\n chunkMeta: chunkMeta\n });\n } else if (transmuxer) {\n var _transmuxResult2 = transmuxer.flush(chunkMeta);\n var asyncFlush = isPromise(_transmuxResult2);\n if (asyncFlush || transmuxer.async) {\n if (!isPromise(_transmuxResult2)) {\n _transmuxResult2 = Promise.resolve(_transmuxResult2);\n }\n _transmuxResult2.then(function (data) {\n _this3.handleFlushResult(data, chunkMeta);\n }).catch(function (error) {\n _this3.transmuxerError(error, chunkMeta, 'transmuxer-interface flush error');\n });\n } else {\n this.handleFlushResult(_transmuxResult2, chunkMeta);\n }\n }\n };\n _proto.transmuxerError = function transmuxerError(error, chunkMeta, reason) {\n if (!this.hls) {\n return;\n }\n this.error = error;\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_PARSING_ERROR,\n chunkMeta: chunkMeta,\n fatal: false,\n error: error,\n err: error,\n reason: reason\n });\n };\n _proto.handleFlushResult = function handleFlushResult(results, chunkMeta) {\n var _this4 = this;\n results.forEach(function (result) {\n _this4.handleTransmuxComplete(result);\n });\n this.onFlush(chunkMeta);\n };\n _proto.onWorkerMessage = function onWorkerMessage(ev) {\n var data = ev.data;\n var hls = this.hls;\n switch (data.event) {\n case 'init':\n {\n var _this$workerContext2;\n var objectURL = (_this$workerContext2 = this.workerContext) == null ? void 0 : _this$workerContext2.objectURL;\n if (objectURL) {\n // revoke the Object URL that was used to create transmuxer worker, so as not to leak it\n self.URL.revokeObjectURL(objectURL);\n }\n break;\n }\n case 'transmuxComplete':\n {\n this.handleTransmuxComplete(data.data);\n break;\n }\n case 'flush':\n {\n this.onFlush(data.data);\n break;\n }\n\n // pass logs from the worker thread to the main logger\n case 'workerLog':\n if (logger[data.data.logType]) {\n logger[data.data.logType](data.data.message);\n }\n break;\n default:\n {\n data.data = data.data || {};\n data.data.frag = this.frag;\n data.data.id = this.id;\n hls.trigger(data.event, data.data);\n break;\n }\n }\n };\n _proto.configureTransmuxer = function configureTransmuxer(config) {\n var transmuxer = this.transmuxer;\n if (this.workerContext) {\n this.workerContext.worker.postMessage({\n cmd: 'configure',\n config: config\n });\n } else if (transmuxer) {\n transmuxer.configure(config);\n }\n };\n _proto.handleTransmuxComplete = function handleTransmuxComplete(result) {\n result.chunkMeta.transmuxing.end = self.performance.now();\n this.onTransmuxComplete(result);\n };\n return TransmuxerInterface;\n }();\n\n function subtitleOptionsIdentical(trackList1, trackList2) {\n if (trackList1.length !== trackList2.length) {\n return false;\n }\n for (var i = 0; i < trackList1.length; i++) {\n if (!mediaAttributesIdentical(trackList1[i].attrs, trackList2[i].attrs)) {\n return false;\n }\n }\n return true;\n }\n function mediaAttributesIdentical(attrs1, attrs2, customAttributes) {\n // Media options with the same rendition ID must be bit identical\n var stableRenditionId = attrs1['STABLE-RENDITION-ID'];\n if (stableRenditionId && !customAttributes) {\n return stableRenditionId === attrs2['STABLE-RENDITION-ID'];\n }\n // When rendition ID is not present, compare attributes\n return !(customAttributes || ['LANGUAGE', 'NAME', 'CHARACTERISTICS', 'AUTOSELECT', 'DEFAULT', 'FORCED', 'ASSOC-LANGUAGE']).some(function (subtitleAttribute) {\n return attrs1[subtitleAttribute] !== attrs2[subtitleAttribute];\n });\n }\n function subtitleTrackMatchesTextTrack(subtitleTrack, textTrack) {\n return textTrack.label.toLowerCase() === subtitleTrack.name.toLowerCase() && (!textTrack.language || textTrack.language.toLowerCase() === (subtitleTrack.lang || '').toLowerCase());\n }\n\n var TICK_INTERVAL$2 = 100; // how often to tick in ms\n var AudioStreamController = /*#__PURE__*/function (_BaseStreamController) {\n _inheritsLoose(AudioStreamController, _BaseStreamController);\n function AudioStreamController(hls, fragmentTracker, keyLoader) {\n var _this;\n _this = _BaseStreamController.call(this, hls, fragmentTracker, keyLoader, '[audio-stream-controller]', PlaylistLevelType.AUDIO) || this;\n _this.videoBuffer = null;\n _this.videoTrackCC = -1;\n _this.waitingVideoCC = -1;\n _this.bufferedTrack = null;\n _this.switchingTrack = null;\n _this.trackId = -1;\n _this.waitingData = null;\n _this.mainDetails = null;\n _this.flushing = false;\n _this.bufferFlushed = false;\n _this.cachedTrackLoadedData = null;\n _this._registerListeners();\n return _this;\n }\n var _proto = AudioStreamController.prototype;\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n this._unregisterListeners();\n _BaseStreamController.prototype.onHandlerDestroying.call(this);\n this.mainDetails = null;\n this.bufferedTrack = null;\n this.switchingTrack = null;\n };\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.AUDIO_TRACKS_UPDATED, this.onAudioTracksUpdated, this);\n hls.on(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);\n hls.on(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);\n hls.on(Events.ERROR, this.onError, this);\n hls.on(Events.BUFFER_RESET, this.onBufferReset, this);\n hls.on(Events.BUFFER_CREATED, this.onBufferCreated, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.on(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);\n hls.on(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.AUDIO_TRACKS_UPDATED, this.onAudioTracksUpdated, this);\n hls.off(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);\n hls.off(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);\n hls.off(Events.ERROR, this.onError, this);\n hls.off(Events.BUFFER_RESET, this.onBufferReset, this);\n hls.off(Events.BUFFER_CREATED, this.onBufferCreated, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.off(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);\n hls.off(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n }\n\n // INIT_PTS_FOUND is triggered when the video track parsed in the stream-controller has a new PTS value\n ;\n _proto.onInitPtsFound = function onInitPtsFound(event, _ref) {\n var frag = _ref.frag,\n id = _ref.id,\n initPTS = _ref.initPTS,\n timescale = _ref.timescale;\n // Always update the new INIT PTS\n // Can change due level switch\n if (id === 'main') {\n var cc = frag.cc;\n this.initPTS[frag.cc] = {\n baseTime: initPTS,\n timescale: timescale\n };\n this.log(\"InitPTS for cc: \" + cc + \" found from main: \" + initPTS);\n this.videoTrackCC = cc;\n // If we are waiting, tick immediately to unblock audio fragment transmuxing\n if (this.state === State.WAITING_INIT_PTS) {\n this.tick();\n }\n }\n };\n _proto.startLoad = function startLoad(startPosition) {\n if (!this.levels) {\n this.startPosition = startPosition;\n this.state = State.STOPPED;\n return;\n }\n var lastCurrentTime = this.lastCurrentTime;\n this.stopLoad();\n this.setInterval(TICK_INTERVAL$2);\n if (lastCurrentTime > 0 && startPosition === -1) {\n this.log(\"Override startPosition with lastCurrentTime @\" + lastCurrentTime.toFixed(3));\n startPosition = lastCurrentTime;\n this.state = State.IDLE;\n } else {\n this.loadedmetadata = false;\n this.state = State.WAITING_TRACK;\n }\n this.nextLoadPosition = this.startPosition = this.lastCurrentTime = startPosition;\n this.tick();\n };\n _proto.doTick = function doTick() {\n switch (this.state) {\n case State.IDLE:\n this.doTickIdle();\n break;\n case State.WAITING_TRACK:\n {\n var _levels$trackId;\n var levels = this.levels,\n trackId = this.trackId;\n var details = levels == null ? void 0 : (_levels$trackId = levels[trackId]) == null ? void 0 : _levels$trackId.details;\n if (details) {\n if (this.waitForCdnTuneIn(details)) {\n break;\n }\n this.state = State.WAITING_INIT_PTS;\n }\n break;\n }\n case State.FRAG_LOADING_WAITING_RETRY:\n {\n var _this$media;\n var now = performance.now();\n var retryDate = this.retryDate;\n // if current time is gt than retryDate, or if media seeking let's switch to IDLE state to retry loading\n if (!retryDate || now >= retryDate || (_this$media = this.media) != null && _this$media.seeking) {\n var _levels = this.levels,\n _trackId = this.trackId;\n this.log('RetryDate reached, switch back to IDLE state');\n this.resetStartWhenNotLoaded((_levels == null ? void 0 : _levels[_trackId]) || null);\n this.state = State.IDLE;\n }\n break;\n }\n case State.WAITING_INIT_PTS:\n {\n // Ensure we don't get stuck in the WAITING_INIT_PTS state if the waiting frag CC doesn't match any initPTS\n var waitingData = this.waitingData;\n if (waitingData) {\n var frag = waitingData.frag,\n part = waitingData.part,\n cache = waitingData.cache,\n complete = waitingData.complete;\n if (this.initPTS[frag.cc] !== undefined) {\n this.waitingData = null;\n this.waitingVideoCC = -1;\n this.state = State.FRAG_LOADING;\n var payload = cache.flush();\n var data = {\n frag: frag,\n part: part,\n payload: payload,\n networkDetails: null\n };\n this._handleFragmentLoadProgress(data);\n if (complete) {\n _BaseStreamController.prototype._handleFragmentLoadComplete.call(this, data);\n }\n } else if (this.videoTrackCC !== this.waitingVideoCC) {\n // Drop waiting fragment if videoTrackCC has changed since waitingFragment was set and initPTS was not found\n this.log(\"Waiting fragment cc (\" + frag.cc + \") cancelled because video is at cc \" + this.videoTrackCC);\n this.clearWaitingFragment();\n } else {\n // Drop waiting fragment if an earlier fragment is needed\n var pos = this.getLoadPosition();\n var bufferInfo = BufferHelper.bufferInfo(this.mediaBuffer, pos, this.config.maxBufferHole);\n var waitingFragmentAtPosition = fragmentWithinToleranceTest(bufferInfo.end, this.config.maxFragLookUpTolerance, frag);\n if (waitingFragmentAtPosition < 0) {\n this.log(\"Waiting fragment cc (\" + frag.cc + \") @ \" + frag.start + \" cancelled because another fragment at \" + bufferInfo.end + \" is needed\");\n this.clearWaitingFragment();\n }\n }\n } else {\n this.state = State.IDLE;\n }\n }\n }\n this.onTickEnd();\n };\n _proto.clearWaitingFragment = function clearWaitingFragment() {\n var waitingData = this.waitingData;\n if (waitingData) {\n this.fragmentTracker.removeFragment(waitingData.frag);\n this.waitingData = null;\n this.waitingVideoCC = -1;\n this.state = State.IDLE;\n }\n };\n _proto.resetLoadingState = function resetLoadingState() {\n this.clearWaitingFragment();\n _BaseStreamController.prototype.resetLoadingState.call(this);\n };\n _proto.onTickEnd = function onTickEnd() {\n var media = this.media;\n if (!(media != null && media.readyState)) {\n // Exit early if we don't have media or if the media hasn't buffered anything yet (readyState 0)\n return;\n }\n this.lastCurrentTime = media.currentTime;\n };\n _proto.doTickIdle = function doTickIdle() {\n var hls = this.hls,\n levels = this.levels,\n media = this.media,\n trackId = this.trackId;\n var config = hls.config;\n\n // 1. if video not attached AND\n // start fragment already requested OR start frag prefetch not enabled\n // 2. if tracks or track not loaded and selected\n // then exit loop\n // => if media not attached but start frag prefetch is enabled and start frag not requested yet, we will not exit loop\n if (!media && (this.startFragRequested || !config.startFragPrefetch) || !(levels != null && levels[trackId])) {\n return;\n }\n var levelInfo = levels[trackId];\n var trackDetails = levelInfo.details;\n if (!trackDetails || trackDetails.live && this.levelLastLoaded !== levelInfo || this.waitForCdnTuneIn(trackDetails)) {\n this.state = State.WAITING_TRACK;\n return;\n }\n var bufferable = this.mediaBuffer ? this.mediaBuffer : this.media;\n if (this.bufferFlushed && bufferable) {\n this.bufferFlushed = false;\n this.afterBufferFlushed(bufferable, ElementaryStreamTypes.AUDIO, PlaylistLevelType.AUDIO);\n }\n var bufferInfo = this.getFwdBufferInfo(bufferable, PlaylistLevelType.AUDIO);\n if (bufferInfo === null) {\n return;\n }\n var bufferedTrack = this.bufferedTrack,\n switchingTrack = this.switchingTrack;\n if (!switchingTrack && this._streamEnded(bufferInfo, trackDetails)) {\n hls.trigger(Events.BUFFER_EOS, {\n type: 'audio'\n });\n this.state = State.ENDED;\n return;\n }\n var mainBufferInfo = this.getFwdBufferInfo(this.videoBuffer ? this.videoBuffer : this.media, PlaylistLevelType.MAIN);\n var bufferLen = bufferInfo.len;\n var maxBufLen = this.getMaxBufferLength(mainBufferInfo == null ? void 0 : mainBufferInfo.len);\n var fragments = trackDetails.fragments;\n var start = fragments[0].start;\n var targetBufferTime = this.flushing ? this.getLoadPosition() : bufferInfo.end;\n if (switchingTrack && media) {\n var pos = this.getLoadPosition();\n // STABLE\n if (bufferedTrack && !mediaAttributesIdentical(switchingTrack.attrs, bufferedTrack.attrs)) {\n targetBufferTime = pos;\n }\n // if currentTime (pos) is less than alt audio playlist start time, it means that alt audio is ahead of currentTime\n if (trackDetails.PTSKnown && pos < start) {\n // if everything is buffered from pos to start or if audio buffer upfront, let's seek to start\n if (bufferInfo.end > start || bufferInfo.nextStart) {\n this.log('Alt audio track ahead of main track, seek to start of alt audio track');\n media.currentTime = start + 0.05;\n }\n }\n }\n\n // if buffer length is less than maxBufLen, or near the end, find a fragment to load\n if (bufferLen >= maxBufLen && !switchingTrack && targetBufferTime < fragments[fragments.length - 1].start) {\n return;\n }\n var frag = this.getNextFragment(targetBufferTime, trackDetails);\n var atGap = false;\n // Avoid loop loading by using nextLoadPosition set for backtracking and skipping consecutive GAP tags\n if (frag && this.isLoopLoading(frag, targetBufferTime)) {\n atGap = !!frag.gap;\n frag = this.getNextFragmentLoopLoading(frag, trackDetails, bufferInfo, PlaylistLevelType.MAIN, maxBufLen);\n }\n if (!frag) {\n this.bufferFlushed = true;\n return;\n }\n\n // Buffer audio up to one target duration ahead of main buffer\n var atBufferSyncLimit = mainBufferInfo && frag.start > mainBufferInfo.end + trackDetails.targetduration;\n if (atBufferSyncLimit ||\n // Or wait for main buffer after buffing some audio\n !(mainBufferInfo != null && mainBufferInfo.len) && bufferInfo.len) {\n // Check fragment-tracker for main fragments since GAP segments do not show up in bufferInfo\n var mainFrag = this.getAppendedFrag(frag.start, PlaylistLevelType.MAIN);\n if (mainFrag === null) {\n return;\n }\n // Bridge gaps in main buffer\n atGap || (atGap = !!mainFrag.gap || !!atBufferSyncLimit && mainBufferInfo.len === 0);\n if (atBufferSyncLimit && !atGap || atGap && bufferInfo.nextStart && bufferInfo.nextStart < mainFrag.end) {\n return;\n }\n }\n this.loadFragment(frag, levelInfo, targetBufferTime);\n };\n _proto.getMaxBufferLength = function getMaxBufferLength(mainBufferLength) {\n var maxConfigBuffer = _BaseStreamController.prototype.getMaxBufferLength.call(this);\n if (!mainBufferLength) {\n return maxConfigBuffer;\n }\n return Math.min(Math.max(maxConfigBuffer, mainBufferLength), this.config.maxMaxBufferLength);\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n this.videoBuffer = null;\n this.bufferFlushed = this.flushing = false;\n _BaseStreamController.prototype.onMediaDetaching.call(this);\n };\n _proto.onAudioTracksUpdated = function onAudioTracksUpdated(event, _ref2) {\n var audioTracks = _ref2.audioTracks;\n // Reset tranxmuxer is essential for large context switches (Content Steering)\n this.resetTransmuxer();\n this.levels = audioTracks.map(function (mediaPlaylist) {\n return new Level(mediaPlaylist);\n });\n };\n _proto.onAudioTrackSwitching = function onAudioTrackSwitching(event, data) {\n // if any URL found on new audio track, it is an alternate audio track\n var altAudio = !!data.url;\n this.trackId = data.id;\n var fragCurrent = this.fragCurrent;\n if (fragCurrent) {\n fragCurrent.abortRequests();\n this.removeUnbufferedFrags(fragCurrent.start);\n }\n this.resetLoadingState();\n // destroy useless transmuxer when switching audio to main\n if (!altAudio) {\n this.resetTransmuxer();\n } else {\n // switching to audio track, start timer if not already started\n this.setInterval(TICK_INTERVAL$2);\n }\n\n // should we switch tracks ?\n if (altAudio) {\n this.switchingTrack = data;\n // main audio track are handled by stream-controller, just do something if switching to alt audio track\n this.state = State.IDLE;\n this.flushAudioIfNeeded(data);\n } else {\n this.switchingTrack = null;\n this.bufferedTrack = data;\n this.state = State.STOPPED;\n }\n this.tick();\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.fragmentTracker.removeAllFragments();\n this.startPosition = this.lastCurrentTime = 0;\n this.bufferFlushed = this.flushing = false;\n this.levels = this.mainDetails = this.waitingData = this.bufferedTrack = this.cachedTrackLoadedData = this.switchingTrack = null;\n this.startFragRequested = false;\n this.trackId = this.videoTrackCC = this.waitingVideoCC = -1;\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n this.mainDetails = data.details;\n if (this.cachedTrackLoadedData !== null) {\n this.hls.trigger(Events.AUDIO_TRACK_LOADED, this.cachedTrackLoadedData);\n this.cachedTrackLoadedData = null;\n }\n };\n _proto.onAudioTrackLoaded = function onAudioTrackLoaded(event, data) {\n var _track$details;\n if (this.mainDetails == null) {\n this.cachedTrackLoadedData = data;\n return;\n }\n var levels = this.levels;\n var newDetails = data.details,\n trackId = data.id;\n if (!levels) {\n this.warn(\"Audio tracks were reset while loading level \" + trackId);\n return;\n }\n this.log(\"Audio track \" + trackId + \" loaded [\" + newDetails.startSN + \",\" + newDetails.endSN + \"]\" + (newDetails.lastPartSn ? \"[part-\" + newDetails.lastPartSn + \"-\" + newDetails.lastPartIndex + \"]\" : '') + \",duration:\" + newDetails.totalduration);\n var track = levels[trackId];\n var sliding = 0;\n if (newDetails.live || (_track$details = track.details) != null && _track$details.live) {\n this.checkLiveUpdate(newDetails);\n var mainDetails = this.mainDetails;\n if (newDetails.deltaUpdateFailed || !mainDetails) {\n return;\n }\n if (!track.details && newDetails.hasProgramDateTime && mainDetails.hasProgramDateTime) {\n // Make sure our audio rendition is aligned with the \"main\" rendition, using\n // pdt as our reference times.\n alignMediaPlaylistByPDT(newDetails, mainDetails);\n sliding = newDetails.fragments[0].start;\n } else {\n var _this$levelLastLoaded;\n sliding = this.alignPlaylists(newDetails, track.details, (_this$levelLastLoaded = this.levelLastLoaded) == null ? void 0 : _this$levelLastLoaded.details);\n }\n }\n track.details = newDetails;\n this.levelLastLoaded = track;\n\n // compute start position if we are aligned with the main playlist\n if (!this.startFragRequested && (this.mainDetails || !newDetails.live)) {\n this.setStartPosition(this.mainDetails || newDetails, sliding);\n }\n // only switch back to IDLE state if we were waiting for track to start downloading a new fragment\n if (this.state === State.WAITING_TRACK && !this.waitForCdnTuneIn(newDetails)) {\n this.state = State.IDLE;\n }\n\n // trigger handler right now\n this.tick();\n };\n _proto._handleFragmentLoadProgress = function _handleFragmentLoadProgress(data) {\n var _frag$initSegment;\n var frag = data.frag,\n part = data.part,\n payload = data.payload;\n var config = this.config,\n trackId = this.trackId,\n levels = this.levels;\n if (!levels) {\n this.warn(\"Audio tracks were reset while fragment load was in progress. Fragment \" + frag.sn + \" of level \" + frag.level + \" will not be buffered\");\n return;\n }\n var track = levels[trackId];\n if (!track) {\n this.warn('Audio track is undefined on fragment load progress');\n return;\n }\n var details = track.details;\n if (!details) {\n this.warn('Audio track details undefined on fragment load progress');\n this.removeUnbufferedFrags(frag.start);\n return;\n }\n var audioCodec = config.defaultAudioCodec || track.audioCodec || 'mp4a.40.2';\n var transmuxer = this.transmuxer;\n if (!transmuxer) {\n transmuxer = this.transmuxer = new TransmuxerInterface(this.hls, PlaylistLevelType.AUDIO, this._handleTransmuxComplete.bind(this), this._handleTransmuxerFlush.bind(this));\n }\n\n // Check if we have video initPTS\n // If not we need to wait for it\n var initPTS = this.initPTS[frag.cc];\n var initSegmentData = (_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.data;\n if (initPTS !== undefined) {\n // this.log(`Transmuxing ${sn} of [${details.startSN} ,${details.endSN}],track ${trackId}`);\n // time Offset is accurate if level PTS is known, or if playlist is not sliding (not live)\n var accurateTimeOffset = false; // details.PTSKnown || !details.live;\n var partIndex = part ? part.index : -1;\n var partial = partIndex !== -1;\n var chunkMeta = new ChunkMetadata(frag.level, frag.sn, frag.stats.chunkCount, payload.byteLength, partIndex, partial);\n transmuxer.push(payload, initSegmentData, audioCodec, '', frag, part, details.totalduration, accurateTimeOffset, chunkMeta, initPTS);\n } else {\n this.log(\"Unknown video PTS for cc \" + frag.cc + \", waiting for video PTS before demuxing audio frag \" + frag.sn + \" of [\" + details.startSN + \" ,\" + details.endSN + \"],track \" + trackId);\n var _this$waitingData = this.waitingData = this.waitingData || {\n frag: frag,\n part: part,\n cache: new ChunkCache(),\n complete: false\n },\n cache = _this$waitingData.cache;\n cache.push(new Uint8Array(payload));\n this.waitingVideoCC = this.videoTrackCC;\n this.state = State.WAITING_INIT_PTS;\n }\n };\n _proto._handleFragmentLoadComplete = function _handleFragmentLoadComplete(fragLoadedData) {\n if (this.waitingData) {\n this.waitingData.complete = true;\n return;\n }\n _BaseStreamController.prototype._handleFragmentLoadComplete.call(this, fragLoadedData);\n };\n _proto.onBufferReset = function onBufferReset( /* event: Events.BUFFER_RESET */\n ) {\n // reset reference to sourcebuffers\n this.mediaBuffer = this.videoBuffer = null;\n this.loadedmetadata = false;\n };\n _proto.onBufferCreated = function onBufferCreated(event, data) {\n var audioTrack = data.tracks.audio;\n if (audioTrack) {\n this.mediaBuffer = audioTrack.buffer || null;\n }\n if (data.tracks.video) {\n this.videoBuffer = data.tracks.video.buffer || null;\n }\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n var frag = data.frag,\n part = data.part;\n if (frag.type !== PlaylistLevelType.AUDIO) {\n if (!this.loadedmetadata && frag.type === PlaylistLevelType.MAIN) {\n var bufferable = this.videoBuffer || this.media;\n if (bufferable) {\n var bufferedTimeRanges = BufferHelper.getBuffered(bufferable);\n if (bufferedTimeRanges.length) {\n this.loadedmetadata = true;\n }\n }\n }\n return;\n }\n if (this.fragContextChanged(frag)) {\n // If a level switch was requested while a fragment was buffering, it will emit the FRAG_BUFFERED event upon completion\n // Avoid setting state back to IDLE or concluding the audio switch; otherwise, the switched-to track will not buffer\n this.warn(\"Fragment \" + frag.sn + (part ? ' p: ' + part.index : '') + \" of level \" + frag.level + \" finished buffering, but was aborted. state: \" + this.state + \", audioSwitch: \" + (this.switchingTrack ? this.switchingTrack.name : 'false'));\n return;\n }\n if (frag.sn !== 'initSegment') {\n this.fragPrevious = frag;\n var track = this.switchingTrack;\n if (track) {\n this.bufferedTrack = track;\n this.switchingTrack = null;\n this.hls.trigger(Events.AUDIO_TRACK_SWITCHED, _objectSpread2({}, track));\n }\n }\n this.fragBufferedComplete(frag, part);\n };\n _proto.onError = function onError(event, data) {\n var _data$context;\n if (data.fatal) {\n this.state = State.ERROR;\n return;\n }\n switch (data.details) {\n case ErrorDetails.FRAG_GAP:\n case ErrorDetails.FRAG_PARSING_ERROR:\n case ErrorDetails.FRAG_DECRYPT_ERROR:\n case ErrorDetails.FRAG_LOAD_ERROR:\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n case ErrorDetails.KEY_LOAD_ERROR:\n case ErrorDetails.KEY_LOAD_TIMEOUT:\n this.onFragmentOrKeyLoadError(PlaylistLevelType.AUDIO, data);\n break;\n case ErrorDetails.AUDIO_TRACK_LOAD_ERROR:\n case ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT:\n case ErrorDetails.LEVEL_PARSING_ERROR:\n // in case of non fatal error while loading track, if not retrying to load track, switch back to IDLE\n if (!data.levelRetry && this.state === State.WAITING_TRACK && ((_data$context = data.context) == null ? void 0 : _data$context.type) === PlaylistContextType.AUDIO_TRACK) {\n this.state = State.IDLE;\n }\n break;\n case ErrorDetails.BUFFER_APPEND_ERROR:\n case ErrorDetails.BUFFER_FULL_ERROR:\n if (!data.parent || data.parent !== 'audio') {\n return;\n }\n if (data.details === ErrorDetails.BUFFER_APPEND_ERROR) {\n this.resetLoadingState();\n return;\n }\n if (this.reduceLengthAndFlushBuffer(data)) {\n this.bufferedTrack = null;\n _BaseStreamController.prototype.flushMainBuffer.call(this, 0, Number.POSITIVE_INFINITY, 'audio');\n }\n break;\n case ErrorDetails.INTERNAL_EXCEPTION:\n this.recoverWorkerError(data);\n break;\n }\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, _ref3) {\n var type = _ref3.type;\n if (type !== ElementaryStreamTypes.VIDEO) {\n this.flushing = true;\n }\n };\n _proto.onBufferFlushed = function onBufferFlushed(event, _ref4) {\n var type = _ref4.type;\n if (type !== ElementaryStreamTypes.VIDEO) {\n this.flushing = false;\n this.bufferFlushed = true;\n if (this.state === State.ENDED) {\n this.state = State.IDLE;\n }\n var mediaBuffer = this.mediaBuffer || this.media;\n if (mediaBuffer) {\n this.afterBufferFlushed(mediaBuffer, type, PlaylistLevelType.AUDIO);\n this.tick();\n }\n }\n };\n _proto._handleTransmuxComplete = function _handleTransmuxComplete(transmuxResult) {\n var _id3$samples;\n var id = 'audio';\n var hls = this.hls;\n var remuxResult = transmuxResult.remuxResult,\n chunkMeta = transmuxResult.chunkMeta;\n var context = this.getCurrentContext(chunkMeta);\n if (!context) {\n this.resetWhenMissingContext(chunkMeta);\n return;\n }\n var frag = context.frag,\n part = context.part,\n level = context.level;\n var details = level.details;\n var audio = remuxResult.audio,\n text = remuxResult.text,\n id3 = remuxResult.id3,\n initSegment = remuxResult.initSegment;\n\n // Check if the current fragment has been aborted. We check this by first seeing if we're still playing the current level.\n // If we are, subsequently check if the currently loading fragment (fragCurrent) has changed.\n if (this.fragContextChanged(frag) || !details) {\n this.fragmentTracker.removeFragment(frag);\n return;\n }\n this.state = State.PARSING;\n if (this.switchingTrack && audio) {\n this.completeAudioSwitch(this.switchingTrack);\n }\n if (initSegment != null && initSegment.tracks) {\n var mapFragment = frag.initSegment || frag;\n this._bufferInitSegment(level, initSegment.tracks, mapFragment, chunkMeta);\n hls.trigger(Events.FRAG_PARSING_INIT_SEGMENT, {\n frag: mapFragment,\n id: id,\n tracks: initSegment.tracks\n });\n // Only flush audio from old audio tracks when PTS is known on new audio track\n }\n if (audio) {\n var startPTS = audio.startPTS,\n endPTS = audio.endPTS,\n startDTS = audio.startDTS,\n endDTS = audio.endDTS;\n if (part) {\n part.elementaryStreams[ElementaryStreamTypes.AUDIO] = {\n startPTS: startPTS,\n endPTS: endPTS,\n startDTS: startDTS,\n endDTS: endDTS\n };\n }\n frag.setElementaryStreamInfo(ElementaryStreamTypes.AUDIO, startPTS, endPTS, startDTS, endDTS);\n this.bufferFragmentData(audio, frag, part, chunkMeta);\n }\n if (id3 != null && (_id3$samples = id3.samples) != null && _id3$samples.length) {\n var emittedID3 = _extends({\n id: id,\n frag: frag,\n details: details\n }, id3);\n hls.trigger(Events.FRAG_PARSING_METADATA, emittedID3);\n }\n if (text) {\n var emittedText = _extends({\n id: id,\n frag: frag,\n details: details\n }, text);\n hls.trigger(Events.FRAG_PARSING_USERDATA, emittedText);\n }\n };\n _proto._bufferInitSegment = function _bufferInitSegment(currentLevel, tracks, frag, chunkMeta) {\n if (this.state !== State.PARSING) {\n return;\n }\n // delete any video track found on audio transmuxer\n if (tracks.video) {\n delete tracks.video;\n }\n\n // include levelCodec in audio and video tracks\n var track = tracks.audio;\n if (!track) {\n return;\n }\n track.id = 'audio';\n var variantAudioCodecs = currentLevel.audioCodec;\n this.log(\"Init audio buffer, container:\" + track.container + \", codecs[level/parsed]=[\" + variantAudioCodecs + \"/\" + track.codec + \"]\");\n // SourceBuffer will use track.levelCodec if defined\n if (variantAudioCodecs && variantAudioCodecs.split(',').length === 1) {\n track.levelCodec = variantAudioCodecs;\n }\n this.hls.trigger(Events.BUFFER_CODECS, tracks);\n var initSegment = track.initSegment;\n if (initSegment != null && initSegment.byteLength) {\n var segment = {\n type: 'audio',\n frag: frag,\n part: null,\n chunkMeta: chunkMeta,\n parent: frag.type,\n data: initSegment\n };\n this.hls.trigger(Events.BUFFER_APPENDING, segment);\n }\n // trigger handler right now\n this.tickImmediate();\n };\n _proto.loadFragment = function loadFragment(frag, track, targetBufferTime) {\n // only load if fragment is not loaded or if in audio switch\n var fragState = this.fragmentTracker.getState(frag);\n this.fragCurrent = frag;\n\n // we force a frag loading in audio switch as fragment tracker might not have evicted previous frags in case of quick audio switch\n if (this.switchingTrack || fragState === FragmentState.NOT_LOADED || fragState === FragmentState.PARTIAL) {\n var _track$details2;\n if (frag.sn === 'initSegment') {\n this._loadInitSegment(frag, track);\n } else if ((_track$details2 = track.details) != null && _track$details2.live && !this.initPTS[frag.cc]) {\n this.log(\"Waiting for video PTS in continuity counter \" + frag.cc + \" of live stream before loading audio fragment \" + frag.sn + \" of level \" + this.trackId);\n this.state = State.WAITING_INIT_PTS;\n var mainDetails = this.mainDetails;\n if (mainDetails && mainDetails.fragments[0].start !== track.details.fragments[0].start) {\n alignMediaPlaylistByPDT(track.details, mainDetails);\n }\n } else {\n this.startFragRequested = true;\n _BaseStreamController.prototype.loadFragment.call(this, frag, track, targetBufferTime);\n }\n } else {\n this.clearTrackerIfNeeded(frag);\n }\n };\n _proto.flushAudioIfNeeded = function flushAudioIfNeeded(switchingTrack) {\n var media = this.media,\n bufferedTrack = this.bufferedTrack;\n var bufferedAttributes = bufferedTrack == null ? void 0 : bufferedTrack.attrs;\n var switchAttributes = switchingTrack.attrs;\n if (media && bufferedAttributes && (bufferedAttributes.CHANNELS !== switchAttributes.CHANNELS || bufferedTrack.name !== switchingTrack.name || bufferedTrack.lang !== switchingTrack.lang)) {\n this.log('Switching audio track : flushing all audio');\n _BaseStreamController.prototype.flushMainBuffer.call(this, 0, Number.POSITIVE_INFINITY, 'audio');\n this.bufferedTrack = null;\n }\n };\n _proto.completeAudioSwitch = function completeAudioSwitch(switchingTrack) {\n var hls = this.hls;\n this.flushAudioIfNeeded(switchingTrack);\n this.bufferedTrack = switchingTrack;\n this.switchingTrack = null;\n hls.trigger(Events.AUDIO_TRACK_SWITCHED, _objectSpread2({}, switchingTrack));\n };\n return AudioStreamController;\n }(BaseStreamController);\n\n var AudioTrackController = /*#__PURE__*/function (_BasePlaylistControll) {\n _inheritsLoose(AudioTrackController, _BasePlaylistControll);\n function AudioTrackController(hls) {\n var _this;\n _this = _BasePlaylistControll.call(this, hls, '[audio-track-controller]') || this;\n _this.tracks = [];\n _this.groupIds = null;\n _this.tracksInGroup = [];\n _this.trackId = -1;\n _this.currentTrack = null;\n _this.selectDefaultTrack = true;\n _this.registerListeners();\n return _this;\n }\n var _proto = AudioTrackController.prototype;\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.on(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.on(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.off(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.off(Events.AUDIO_TRACK_LOADED, this.onAudioTrackLoaded, this);\n hls.off(Events.ERROR, this.onError, this);\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.tracks.length = 0;\n this.tracksInGroup.length = 0;\n this.currentTrack = null;\n _BasePlaylistControll.prototype.destroy.call(this);\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.tracks = [];\n this.tracksInGroup = [];\n this.groupIds = null;\n this.currentTrack = null;\n this.trackId = -1;\n this.selectDefaultTrack = true;\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n this.tracks = data.audioTracks || [];\n };\n _proto.onAudioTrackLoaded = function onAudioTrackLoaded(event, data) {\n var id = data.id,\n groupId = data.groupId,\n details = data.details;\n var trackInActiveGroup = this.tracksInGroup[id];\n if (!trackInActiveGroup || trackInActiveGroup.groupId !== groupId) {\n this.warn(\"Audio track with id:\" + id + \" and group:\" + groupId + \" not found in active group \" + (trackInActiveGroup == null ? void 0 : trackInActiveGroup.groupId));\n return;\n }\n var curDetails = trackInActiveGroup.details;\n trackInActiveGroup.details = data.details;\n this.log(\"Audio track \" + id + \" \\\"\" + trackInActiveGroup.name + \"\\\" lang:\" + trackInActiveGroup.lang + \" group:\" + groupId + \" loaded [\" + details.startSN + \"-\" + details.endSN + \"]\");\n if (id === this.trackId) {\n this.playlistLoaded(id, data, curDetails);\n }\n };\n _proto.onLevelLoading = function onLevelLoading(event, data) {\n this.switchLevel(data.level);\n };\n _proto.onLevelSwitching = function onLevelSwitching(event, data) {\n this.switchLevel(data.level);\n };\n _proto.switchLevel = function switchLevel(levelIndex) {\n var levelInfo = this.hls.levels[levelIndex];\n if (!levelInfo) {\n return;\n }\n var audioGroups = levelInfo.audioGroups || null;\n var currentGroups = this.groupIds;\n var currentTrack = this.currentTrack;\n if (!audioGroups || (currentGroups == null ? void 0 : currentGroups.length) !== (audioGroups == null ? void 0 : audioGroups.length) || audioGroups != null && audioGroups.some(function (groupId) {\n return (currentGroups == null ? void 0 : currentGroups.indexOf(groupId)) === -1;\n })) {\n this.groupIds = audioGroups;\n this.trackId = -1;\n this.currentTrack = null;\n var audioTracks = this.tracks.filter(function (track) {\n return !audioGroups || audioGroups.indexOf(track.groupId) !== -1;\n });\n if (audioTracks.length) {\n // Disable selectDefaultTrack if there are no default tracks\n if (this.selectDefaultTrack && !audioTracks.some(function (track) {\n return track.default;\n })) {\n this.selectDefaultTrack = false;\n }\n // track.id should match hls.audioTracks index\n audioTracks.forEach(function (track, i) {\n track.id = i;\n });\n } else if (!currentTrack && !this.tracksInGroup.length) {\n // Do not dispatch AUDIO_TRACKS_UPDATED when there were and are no tracks\n return;\n }\n this.tracksInGroup = audioTracks;\n\n // Find preferred track\n var audioPreference = this.hls.config.audioPreference;\n if (!currentTrack && audioPreference) {\n var groupIndex = findMatchingOption(audioPreference, audioTracks, audioMatchPredicate);\n if (groupIndex > -1) {\n currentTrack = audioTracks[groupIndex];\n } else {\n var allIndex = findMatchingOption(audioPreference, this.tracks);\n currentTrack = this.tracks[allIndex];\n }\n }\n\n // Select initial track\n var trackId = this.findTrackId(currentTrack);\n if (trackId === -1 && currentTrack) {\n trackId = this.findTrackId(null);\n }\n\n // Dispatch events and load track if needed\n var audioTracksUpdated = {\n audioTracks: audioTracks\n };\n this.log(\"Updating audio tracks, \" + audioTracks.length + \" track(s) found in group(s): \" + (audioGroups == null ? void 0 : audioGroups.join(',')));\n this.hls.trigger(Events.AUDIO_TRACKS_UPDATED, audioTracksUpdated);\n var selectedTrackId = this.trackId;\n if (trackId !== -1 && selectedTrackId === -1) {\n this.setAudioTrack(trackId);\n } else if (audioTracks.length && selectedTrackId === -1) {\n var _this$groupIds;\n var error = new Error(\"No audio track selected for current audio group-ID(s): \" + ((_this$groupIds = this.groupIds) == null ? void 0 : _this$groupIds.join(',')) + \" track count: \" + audioTracks.length);\n this.warn(error.message);\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.AUDIO_TRACK_LOAD_ERROR,\n fatal: true,\n error: error\n });\n }\n } else if (this.shouldReloadPlaylist(currentTrack)) {\n // Retry playlist loading if no playlist is or has been loaded yet\n this.setAudioTrack(this.trackId);\n }\n };\n _proto.onError = function onError(event, data) {\n if (data.fatal || !data.context) {\n return;\n }\n if (data.context.type === PlaylistContextType.AUDIO_TRACK && data.context.id === this.trackId && (!this.groupIds || this.groupIds.indexOf(data.context.groupId) !== -1)) {\n this.requestScheduled = -1;\n this.checkRetry(data);\n }\n };\n _proto.setAudioOption = function setAudioOption(audioOption) {\n var hls = this.hls;\n hls.config.audioPreference = audioOption;\n if (audioOption) {\n var allAudioTracks = this.allAudioTracks;\n this.selectDefaultTrack = false;\n if (allAudioTracks.length) {\n // First see if current option matches (no switch op)\n var currentTrack = this.currentTrack;\n if (currentTrack && matchesOption(audioOption, currentTrack, audioMatchPredicate)) {\n return currentTrack;\n }\n // Find option in available tracks (tracksInGroup)\n var groupIndex = findMatchingOption(audioOption, this.tracksInGroup, audioMatchPredicate);\n if (groupIndex > -1) {\n var track = this.tracksInGroup[groupIndex];\n this.setAudioTrack(groupIndex);\n return track;\n } else if (currentTrack) {\n // Find option in nearest level audio group\n var searchIndex = hls.loadLevel;\n if (searchIndex === -1) {\n searchIndex = hls.firstAutoLevel;\n }\n var switchIndex = findClosestLevelWithAudioGroup(audioOption, hls.levels, allAudioTracks, searchIndex, audioMatchPredicate);\n if (switchIndex === -1) {\n // could not find matching variant\n return null;\n }\n // and switch level to acheive the audio group switch\n hls.nextLoadLevel = switchIndex;\n }\n if (audioOption.channels || audioOption.audioCodec) {\n // Could not find a match with codec / channels predicate\n // Find a match without channels or codec\n var withoutCodecAndChannelsMatch = findMatchingOption(audioOption, allAudioTracks);\n if (withoutCodecAndChannelsMatch > -1) {\n return allAudioTracks[withoutCodecAndChannelsMatch];\n }\n }\n }\n }\n return null;\n };\n _proto.setAudioTrack = function setAudioTrack(newId) {\n var tracks = this.tracksInGroup;\n\n // check if level idx is valid\n if (newId < 0 || newId >= tracks.length) {\n this.warn(\"Invalid audio track id: \" + newId);\n return;\n }\n\n // stopping live reloading timer if any\n this.clearTimer();\n this.selectDefaultTrack = false;\n var lastTrack = this.currentTrack;\n var track = tracks[newId];\n var trackLoaded = track.details && !track.details.live;\n if (newId === this.trackId && track === lastTrack && trackLoaded) {\n return;\n }\n this.log(\"Switching to audio-track \" + newId + \" \\\"\" + track.name + \"\\\" lang:\" + track.lang + \" group:\" + track.groupId + \" channels:\" + track.channels);\n this.trackId = newId;\n this.currentTrack = track;\n this.hls.trigger(Events.AUDIO_TRACK_SWITCHING, _objectSpread2({}, track));\n // Do not reload track unless live\n if (trackLoaded) {\n return;\n }\n var hlsUrlParameters = this.switchParams(track.url, lastTrack == null ? void 0 : lastTrack.details);\n this.loadPlaylist(hlsUrlParameters);\n };\n _proto.findTrackId = function findTrackId(currentTrack) {\n var audioTracks = this.tracksInGroup;\n for (var i = 0; i < audioTracks.length; i++) {\n var track = audioTracks[i];\n if (this.selectDefaultTrack && !track.default) {\n continue;\n }\n if (!currentTrack || matchesOption(currentTrack, track, audioMatchPredicate)) {\n return i;\n }\n }\n if (currentTrack) {\n var name = currentTrack.name,\n lang = currentTrack.lang,\n assocLang = currentTrack.assocLang,\n characteristics = currentTrack.characteristics,\n audioCodec = currentTrack.audioCodec,\n channels = currentTrack.channels;\n for (var _i = 0; _i < audioTracks.length; _i++) {\n var _track = audioTracks[_i];\n if (matchesOption({\n name: name,\n lang: lang,\n assocLang: assocLang,\n characteristics: characteristics,\n audioCodec: audioCodec,\n channels: channels\n }, _track, audioMatchPredicate)) {\n return _i;\n }\n }\n for (var _i2 = 0; _i2 < audioTracks.length; _i2++) {\n var _track2 = audioTracks[_i2];\n if (mediaAttributesIdentical(currentTrack.attrs, _track2.attrs, ['LANGUAGE', 'ASSOC-LANGUAGE', 'CHARACTERISTICS'])) {\n return _i2;\n }\n }\n for (var _i3 = 0; _i3 < audioTracks.length; _i3++) {\n var _track3 = audioTracks[_i3];\n if (mediaAttributesIdentical(currentTrack.attrs, _track3.attrs, ['LANGUAGE'])) {\n return _i3;\n }\n }\n }\n return -1;\n };\n _proto.loadPlaylist = function loadPlaylist(hlsUrlParameters) {\n var audioTrack = this.currentTrack;\n if (this.shouldLoadPlaylist(audioTrack) && audioTrack) {\n _BasePlaylistControll.prototype.loadPlaylist.call(this);\n var id = audioTrack.id;\n var groupId = audioTrack.groupId;\n var url = audioTrack.url;\n if (hlsUrlParameters) {\n try {\n url = hlsUrlParameters.addDirectives(url);\n } catch (error) {\n this.warn(\"Could not construct new URL with HLS Delivery Directives: \" + error);\n }\n }\n // track not retrieved yet, or live playlist we need to (re)load it\n this.log(\"loading audio-track playlist \" + id + \" \\\"\" + audioTrack.name + \"\\\" lang:\" + audioTrack.lang + \" group:\" + groupId);\n this.clearTimer();\n this.hls.trigger(Events.AUDIO_TRACK_LOADING, {\n url: url,\n id: id,\n groupId: groupId,\n deliveryDirectives: hlsUrlParameters || null\n });\n }\n };\n _createClass(AudioTrackController, [{\n key: \"allAudioTracks\",\n get: function get() {\n return this.tracks;\n }\n }, {\n key: \"audioTracks\",\n get: function get() {\n return this.tracksInGroup;\n }\n }, {\n key: \"audioTrack\",\n get: function get() {\n return this.trackId;\n },\n set: function set(newId) {\n // If audio track is selected from API then don't choose from the manifest default track\n this.selectDefaultTrack = false;\n this.setAudioTrack(newId);\n }\n }]);\n return AudioTrackController;\n }(BasePlaylistController);\n\n var TICK_INTERVAL$1 = 500; // how often to tick in ms\n\n var SubtitleStreamController = /*#__PURE__*/function (_BaseStreamController) {\n _inheritsLoose(SubtitleStreamController, _BaseStreamController);\n function SubtitleStreamController(hls, fragmentTracker, keyLoader) {\n var _this;\n _this = _BaseStreamController.call(this, hls, fragmentTracker, keyLoader, '[subtitle-stream-controller]', PlaylistLevelType.SUBTITLE) || this;\n _this.currentTrackId = -1;\n _this.tracksBuffered = [];\n _this.mainDetails = null;\n _this._registerListeners();\n return _this;\n }\n var _proto = SubtitleStreamController.prototype;\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n this._unregisterListeners();\n _BaseStreamController.prototype.onHandlerDestroying.call(this);\n this.mainDetails = null;\n };\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.ERROR, this.onError, this);\n hls.on(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);\n hls.on(Events.SUBTITLE_TRACK_SWITCH, this.onSubtitleTrackSwitch, this);\n hls.on(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);\n hls.on(Events.SUBTITLE_FRAG_PROCESSED, this.onSubtitleFragProcessed, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.ERROR, this.onError, this);\n hls.off(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);\n hls.off(Events.SUBTITLE_TRACK_SWITCH, this.onSubtitleTrackSwitch, this);\n hls.off(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);\n hls.off(Events.SUBTITLE_FRAG_PROCESSED, this.onSubtitleFragProcessed, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto.startLoad = function startLoad(startPosition) {\n this.stopLoad();\n this.state = State.IDLE;\n this.setInterval(TICK_INTERVAL$1);\n this.nextLoadPosition = this.startPosition = this.lastCurrentTime = startPosition;\n this.tick();\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.mainDetails = null;\n this.fragmentTracker.removeAllFragments();\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n this.tracksBuffered = [];\n _BaseStreamController.prototype.onMediaDetaching.call(this);\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n this.mainDetails = data.details;\n };\n _proto.onSubtitleFragProcessed = function onSubtitleFragProcessed(event, data) {\n var frag = data.frag,\n success = data.success;\n this.fragPrevious = frag;\n this.state = State.IDLE;\n if (!success) {\n return;\n }\n var buffered = this.tracksBuffered[this.currentTrackId];\n if (!buffered) {\n return;\n }\n\n // Create/update a buffered array matching the interface used by BufferHelper.bufferedInfo\n // so we can re-use the logic used to detect how much has been buffered\n var timeRange;\n var fragStart = frag.start;\n for (var i = 0; i < buffered.length; i++) {\n if (fragStart >= buffered[i].start && fragStart <= buffered[i].end) {\n timeRange = buffered[i];\n break;\n }\n }\n var fragEnd = frag.start + frag.duration;\n if (timeRange) {\n timeRange.end = fragEnd;\n } else {\n timeRange = {\n start: fragStart,\n end: fragEnd\n };\n buffered.push(timeRange);\n }\n this.fragmentTracker.fragBuffered(frag);\n this.fragBufferedComplete(frag, null);\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, data) {\n var startOffset = data.startOffset,\n endOffset = data.endOffset;\n if (startOffset === 0 && endOffset !== Number.POSITIVE_INFINITY) {\n var endOffsetSubtitles = endOffset - 1;\n if (endOffsetSubtitles <= 0) {\n return;\n }\n data.endOffsetSubtitles = Math.max(0, endOffsetSubtitles);\n this.tracksBuffered.forEach(function (buffered) {\n for (var i = 0; i < buffered.length;) {\n if (buffered[i].end <= endOffsetSubtitles) {\n buffered.shift();\n continue;\n } else if (buffered[i].start < endOffsetSubtitles) {\n buffered[i].start = endOffsetSubtitles;\n } else {\n break;\n }\n i++;\n }\n });\n this.fragmentTracker.removeFragmentsInRange(startOffset, endOffsetSubtitles, PlaylistLevelType.SUBTITLE);\n }\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n if (!this.loadedmetadata && data.frag.type === PlaylistLevelType.MAIN) {\n var _this$media;\n if ((_this$media = this.media) != null && _this$media.buffered.length) {\n this.loadedmetadata = true;\n }\n }\n }\n\n // If something goes wrong, proceed to next frag, if we were processing one.\n ;\n _proto.onError = function onError(event, data) {\n var frag = data.frag;\n if ((frag == null ? void 0 : frag.type) === PlaylistLevelType.SUBTITLE) {\n if (this.fragCurrent) {\n this.fragCurrent.abortRequests();\n }\n if (this.state !== State.STOPPED) {\n this.state = State.IDLE;\n }\n }\n }\n\n // Got all new subtitle levels.\n ;\n _proto.onSubtitleTracksUpdated = function onSubtitleTracksUpdated(event, _ref) {\n var _this2 = this;\n var subtitleTracks = _ref.subtitleTracks;\n if (!this.levels || subtitleOptionsIdentical(this.levels, subtitleTracks)) {\n this.levels = subtitleTracks.map(function (mediaPlaylist) {\n return new Level(mediaPlaylist);\n });\n return;\n }\n this.tracksBuffered = [];\n this.levels = subtitleTracks.map(function (mediaPlaylist) {\n var level = new Level(mediaPlaylist);\n _this2.tracksBuffered[level.id] = [];\n return level;\n });\n this.fragmentTracker.removeFragmentsInRange(0, Number.POSITIVE_INFINITY, PlaylistLevelType.SUBTITLE);\n this.fragPrevious = null;\n this.mediaBuffer = null;\n };\n _proto.onSubtitleTrackSwitch = function onSubtitleTrackSwitch(event, data) {\n var _this$levels;\n this.currentTrackId = data.id;\n if (!((_this$levels = this.levels) != null && _this$levels.length) || this.currentTrackId === -1) {\n this.clearInterval();\n return;\n }\n\n // Check if track has the necessary details to load fragments\n var currentTrack = this.levels[this.currentTrackId];\n if (currentTrack != null && currentTrack.details) {\n this.mediaBuffer = this.mediaBufferTimeRanges;\n } else {\n this.mediaBuffer = null;\n }\n if (currentTrack) {\n this.setInterval(TICK_INTERVAL$1);\n }\n }\n\n // Got a new set of subtitle fragments.\n ;\n _proto.onSubtitleTrackLoaded = function onSubtitleTrackLoaded(event, data) {\n var _track$details;\n var currentTrackId = this.currentTrackId,\n levels = this.levels;\n var newDetails = data.details,\n trackId = data.id;\n if (!levels) {\n this.warn(\"Subtitle tracks were reset while loading level \" + trackId);\n return;\n }\n var track = levels[currentTrackId];\n if (trackId >= levels.length || trackId !== currentTrackId || !track) {\n return;\n }\n this.log(\"Subtitle track \" + trackId + \" loaded [\" + newDetails.startSN + \",\" + newDetails.endSN + \"]\" + (newDetails.lastPartSn ? \"[part-\" + newDetails.lastPartSn + \"-\" + newDetails.lastPartIndex + \"]\" : '') + \",duration:\" + newDetails.totalduration);\n this.mediaBuffer = this.mediaBufferTimeRanges;\n var sliding = 0;\n if (newDetails.live || (_track$details = track.details) != null && _track$details.live) {\n var mainDetails = this.mainDetails;\n if (newDetails.deltaUpdateFailed || !mainDetails) {\n return;\n }\n var mainSlidingStartFragment = mainDetails.fragments[0];\n if (!track.details) {\n if (newDetails.hasProgramDateTime && mainDetails.hasProgramDateTime) {\n alignMediaPlaylistByPDT(newDetails, mainDetails);\n sliding = newDetails.fragments[0].start;\n } else if (mainSlidingStartFragment) {\n // line up live playlist with main so that fragments in range are loaded\n sliding = mainSlidingStartFragment.start;\n addSliding(newDetails, sliding);\n }\n } else {\n var _this$levelLastLoaded;\n sliding = this.alignPlaylists(newDetails, track.details, (_this$levelLastLoaded = this.levelLastLoaded) == null ? void 0 : _this$levelLastLoaded.details);\n if (sliding === 0 && mainSlidingStartFragment) {\n // realign with main when there is no overlap with last refresh\n sliding = mainSlidingStartFragment.start;\n addSliding(newDetails, sliding);\n }\n }\n }\n track.details = newDetails;\n this.levelLastLoaded = track;\n if (!this.startFragRequested && (this.mainDetails || !newDetails.live)) {\n this.setStartPosition(this.mainDetails || newDetails, sliding);\n }\n\n // trigger handler right now\n this.tick();\n\n // If playlist is misaligned because of bad PDT or drift, delete details to resync with main on reload\n if (newDetails.live && !this.fragCurrent && this.media && this.state === State.IDLE) {\n var foundFrag = findFragmentByPTS(null, newDetails.fragments, this.media.currentTime, 0);\n if (!foundFrag) {\n this.warn('Subtitle playlist not aligned with playback');\n track.details = undefined;\n }\n }\n };\n _proto._handleFragmentLoadComplete = function _handleFragmentLoadComplete(fragLoadedData) {\n var _this3 = this;\n var frag = fragLoadedData.frag,\n payload = fragLoadedData.payload;\n var decryptData = frag.decryptdata;\n var hls = this.hls;\n if (this.fragContextChanged(frag)) {\n return;\n }\n // check to see if the payload needs to be decrypted\n if (payload && payload.byteLength > 0 && decryptData != null && decryptData.key && decryptData.iv && decryptData.method === 'AES-128') {\n var startTime = performance.now();\n // decrypt the subtitles\n this.decrypter.decrypt(new Uint8Array(payload), decryptData.key.buffer, decryptData.iv.buffer).catch(function (err) {\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.FRAG_DECRYPT_ERROR,\n fatal: false,\n error: err,\n reason: err.message,\n frag: frag\n });\n throw err;\n }).then(function (decryptedData) {\n var endTime = performance.now();\n hls.trigger(Events.FRAG_DECRYPTED, {\n frag: frag,\n payload: decryptedData,\n stats: {\n tstart: startTime,\n tdecrypt: endTime\n }\n });\n }).catch(function (err) {\n _this3.warn(err.name + \": \" + err.message);\n _this3.state = State.IDLE;\n });\n }\n };\n _proto.doTick = function doTick() {\n if (!this.media) {\n this.state = State.IDLE;\n return;\n }\n if (this.state === State.IDLE) {\n var currentTrackId = this.currentTrackId,\n levels = this.levels;\n var track = levels == null ? void 0 : levels[currentTrackId];\n if (!track || !levels.length || !track.details) {\n return;\n }\n var config = this.config;\n var currentTime = this.getLoadPosition();\n var bufferedInfo = BufferHelper.bufferedInfo(this.tracksBuffered[this.currentTrackId] || [], currentTime, config.maxBufferHole);\n var targetBufferTime = bufferedInfo.end,\n bufferLen = bufferedInfo.len;\n var mainBufferInfo = this.getFwdBufferInfo(this.media, PlaylistLevelType.MAIN);\n var trackDetails = track.details;\n var maxBufLen = this.getMaxBufferLength(mainBufferInfo == null ? void 0 : mainBufferInfo.len) + trackDetails.levelTargetDuration;\n if (bufferLen > maxBufLen) {\n return;\n }\n var fragments = trackDetails.fragments;\n var fragLen = fragments.length;\n var end = trackDetails.edge;\n var foundFrag = null;\n var fragPrevious = this.fragPrevious;\n if (targetBufferTime < end) {\n var tolerance = config.maxFragLookUpTolerance;\n var lookupTolerance = targetBufferTime > end - tolerance ? 0 : tolerance;\n foundFrag = findFragmentByPTS(fragPrevious, fragments, Math.max(fragments[0].start, targetBufferTime), lookupTolerance);\n if (!foundFrag && fragPrevious && fragPrevious.start < fragments[0].start) {\n foundFrag = fragments[0];\n }\n } else {\n foundFrag = fragments[fragLen - 1];\n }\n if (!foundFrag) {\n return;\n }\n foundFrag = this.mapToInitFragWhenRequired(foundFrag);\n if (foundFrag.sn !== 'initSegment') {\n // Load earlier fragment in same discontinuity to make up for misaligned playlists and cues that extend beyond end of segment\n var curSNIdx = foundFrag.sn - trackDetails.startSN;\n var prevFrag = fragments[curSNIdx - 1];\n if (prevFrag && prevFrag.cc === foundFrag.cc && this.fragmentTracker.getState(prevFrag) === FragmentState.NOT_LOADED) {\n foundFrag = prevFrag;\n }\n }\n if (this.fragmentTracker.getState(foundFrag) === FragmentState.NOT_LOADED) {\n // only load if fragment is not loaded\n this.loadFragment(foundFrag, track, targetBufferTime);\n }\n }\n };\n _proto.getMaxBufferLength = function getMaxBufferLength(mainBufferLength) {\n var maxConfigBuffer = _BaseStreamController.prototype.getMaxBufferLength.call(this);\n if (!mainBufferLength) {\n return maxConfigBuffer;\n }\n return Math.max(maxConfigBuffer, mainBufferLength);\n };\n _proto.loadFragment = function loadFragment(frag, level, targetBufferTime) {\n this.fragCurrent = frag;\n if (frag.sn === 'initSegment') {\n this._loadInitSegment(frag, level);\n } else {\n this.startFragRequested = true;\n _BaseStreamController.prototype.loadFragment.call(this, frag, level, targetBufferTime);\n }\n };\n _createClass(SubtitleStreamController, [{\n key: \"mediaBufferTimeRanges\",\n get: function get() {\n return new BufferableInstance(this.tracksBuffered[this.currentTrackId] || []);\n }\n }]);\n return SubtitleStreamController;\n }(BaseStreamController);\n var BufferableInstance = function BufferableInstance(timeranges) {\n this.buffered = void 0;\n var getRange = function getRange(name, index, length) {\n index = index >>> 0;\n if (index > length - 1) {\n throw new DOMException(\"Failed to execute '\" + name + \"' on 'TimeRanges': The index provided (\" + index + \") is greater than the maximum bound (\" + length + \")\");\n }\n return timeranges[index][name];\n };\n this.buffered = {\n get length() {\n return timeranges.length;\n },\n end: function end(index) {\n return getRange('end', index, timeranges.length);\n },\n start: function start(index) {\n return getRange('start', index, timeranges.length);\n }\n };\n };\n\n var SubtitleTrackController = /*#__PURE__*/function (_BasePlaylistControll) {\n _inheritsLoose(SubtitleTrackController, _BasePlaylistControll);\n function SubtitleTrackController(hls) {\n var _this;\n _this = _BasePlaylistControll.call(this, hls, '[subtitle-track-controller]') || this;\n _this.media = null;\n _this.tracks = [];\n _this.groupIds = null;\n _this.tracksInGroup = [];\n _this.trackId = -1;\n _this.currentTrack = null;\n _this.selectDefaultTrack = true;\n _this.queuedDefaultTrack = -1;\n _this.asyncPollTrackChange = function () {\n return _this.pollTrackChange(0);\n };\n _this.useTextTrackPolling = false;\n _this.subtitlePollingInterval = -1;\n _this._subtitleDisplay = true;\n _this.onTextTracksChanged = function () {\n if (!_this.useTextTrackPolling) {\n self.clearInterval(_this.subtitlePollingInterval);\n }\n // Media is undefined when switching streams via loadSource()\n if (!_this.media || !_this.hls.config.renderTextTracksNatively) {\n return;\n }\n var textTrack = null;\n var tracks = filterSubtitleTracks(_this.media.textTracks);\n for (var i = 0; i < tracks.length; i++) {\n if (tracks[i].mode === 'hidden') {\n // Do not break in case there is a following track with showing.\n textTrack = tracks[i];\n } else if (tracks[i].mode === 'showing') {\n textTrack = tracks[i];\n break;\n }\n }\n\n // Find internal track index for TextTrack\n var trackId = _this.findTrackForTextTrack(textTrack);\n if (_this.subtitleTrack !== trackId) {\n _this.setSubtitleTrack(trackId);\n }\n };\n _this.registerListeners();\n return _this;\n }\n var _proto = SubtitleTrackController.prototype;\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.tracks.length = 0;\n this.tracksInGroup.length = 0;\n this.currentTrack = null;\n this.onTextTracksChanged = this.asyncPollTrackChange = null;\n _BasePlaylistControll.prototype.destroy.call(this);\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.on(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.on(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.off(Events.LEVEL_SWITCHING, this.onLevelSwitching, this);\n hls.off(Events.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this);\n hls.off(Events.ERROR, this.onError, this);\n }\n\n // Listen for subtitle track change, then extract the current track ID.\n ;\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n this.media = data.media;\n if (!this.media) {\n return;\n }\n if (this.queuedDefaultTrack > -1) {\n this.subtitleTrack = this.queuedDefaultTrack;\n this.queuedDefaultTrack = -1;\n }\n this.useTextTrackPolling = !(this.media.textTracks && 'onchange' in this.media.textTracks);\n if (this.useTextTrackPolling) {\n this.pollTrackChange(500);\n } else {\n this.media.textTracks.addEventListener('change', this.asyncPollTrackChange);\n }\n };\n _proto.pollTrackChange = function pollTrackChange(timeout) {\n self.clearInterval(this.subtitlePollingInterval);\n this.subtitlePollingInterval = self.setInterval(this.onTextTracksChanged, timeout);\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n if (!this.media) {\n return;\n }\n self.clearInterval(this.subtitlePollingInterval);\n if (!this.useTextTrackPolling) {\n this.media.textTracks.removeEventListener('change', this.asyncPollTrackChange);\n }\n if (this.trackId > -1) {\n this.queuedDefaultTrack = this.trackId;\n }\n var textTracks = filterSubtitleTracks(this.media.textTracks);\n // Clear loaded cues on media detachment from tracks\n textTracks.forEach(function (track) {\n clearCurrentCues(track);\n });\n // Disable all subtitle tracks before detachment so when reattached only tracks in that content are enabled.\n this.subtitleTrack = -1;\n this.media = null;\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.tracks = [];\n this.groupIds = null;\n this.tracksInGroup = [];\n this.trackId = -1;\n this.currentTrack = null;\n this.selectDefaultTrack = true;\n }\n\n // Fired whenever a new manifest is loaded.\n ;\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n this.tracks = data.subtitleTracks;\n };\n _proto.onSubtitleTrackLoaded = function onSubtitleTrackLoaded(event, data) {\n var id = data.id,\n groupId = data.groupId,\n details = data.details;\n var trackInActiveGroup = this.tracksInGroup[id];\n if (!trackInActiveGroup || trackInActiveGroup.groupId !== groupId) {\n this.warn(\"Subtitle track with id:\" + id + \" and group:\" + groupId + \" not found in active group \" + (trackInActiveGroup == null ? void 0 : trackInActiveGroup.groupId));\n return;\n }\n var curDetails = trackInActiveGroup.details;\n trackInActiveGroup.details = data.details;\n this.log(\"Subtitle track \" + id + \" \\\"\" + trackInActiveGroup.name + \"\\\" lang:\" + trackInActiveGroup.lang + \" group:\" + groupId + \" loaded [\" + details.startSN + \"-\" + details.endSN + \"]\");\n if (id === this.trackId) {\n this.playlistLoaded(id, data, curDetails);\n }\n };\n _proto.onLevelLoading = function onLevelLoading(event, data) {\n this.switchLevel(data.level);\n };\n _proto.onLevelSwitching = function onLevelSwitching(event, data) {\n this.switchLevel(data.level);\n };\n _proto.switchLevel = function switchLevel(levelIndex) {\n var levelInfo = this.hls.levels[levelIndex];\n if (!levelInfo) {\n return;\n }\n var subtitleGroups = levelInfo.subtitleGroups || null;\n var currentGroups = this.groupIds;\n var currentTrack = this.currentTrack;\n if (!subtitleGroups || (currentGroups == null ? void 0 : currentGroups.length) !== (subtitleGroups == null ? void 0 : subtitleGroups.length) || subtitleGroups != null && subtitleGroups.some(function (groupId) {\n return (currentGroups == null ? void 0 : currentGroups.indexOf(groupId)) === -1;\n })) {\n this.groupIds = subtitleGroups;\n this.trackId = -1;\n this.currentTrack = null;\n var subtitleTracks = this.tracks.filter(function (track) {\n return !subtitleGroups || subtitleGroups.indexOf(track.groupId) !== -1;\n });\n if (subtitleTracks.length) {\n // Disable selectDefaultTrack if there are no default tracks\n if (this.selectDefaultTrack && !subtitleTracks.some(function (track) {\n return track.default;\n })) {\n this.selectDefaultTrack = false;\n }\n // track.id should match hls.audioTracks index\n subtitleTracks.forEach(function (track, i) {\n track.id = i;\n });\n } else if (!currentTrack && !this.tracksInGroup.length) {\n // Do not dispatch SUBTITLE_TRACKS_UPDATED when there were and are no tracks\n return;\n }\n this.tracksInGroup = subtitleTracks;\n\n // Find preferred track\n var subtitlePreference = this.hls.config.subtitlePreference;\n if (!currentTrack && subtitlePreference) {\n this.selectDefaultTrack = false;\n var groupIndex = findMatchingOption(subtitlePreference, subtitleTracks);\n if (groupIndex > -1) {\n currentTrack = subtitleTracks[groupIndex];\n } else {\n var allIndex = findMatchingOption(subtitlePreference, this.tracks);\n currentTrack = this.tracks[allIndex];\n }\n }\n\n // Select initial track\n var trackId = this.findTrackId(currentTrack);\n if (trackId === -1 && currentTrack) {\n trackId = this.findTrackId(null);\n }\n\n // Dispatch events and load track if needed\n var subtitleTracksUpdated = {\n subtitleTracks: subtitleTracks\n };\n this.log(\"Updating subtitle tracks, \" + subtitleTracks.length + \" track(s) found in \\\"\" + (subtitleGroups == null ? void 0 : subtitleGroups.join(',')) + \"\\\" group-id\");\n this.hls.trigger(Events.SUBTITLE_TRACKS_UPDATED, subtitleTracksUpdated);\n if (trackId !== -1 && this.trackId === -1) {\n this.setSubtitleTrack(trackId);\n }\n } else if (this.shouldReloadPlaylist(currentTrack)) {\n // Retry playlist loading if no playlist is or has been loaded yet\n this.setSubtitleTrack(this.trackId);\n }\n };\n _proto.findTrackId = function findTrackId(currentTrack) {\n var tracks = this.tracksInGroup;\n var selectDefault = this.selectDefaultTrack;\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n if (selectDefault && !track.default || !selectDefault && !currentTrack) {\n continue;\n }\n if (!currentTrack || matchesOption(track, currentTrack)) {\n return i;\n }\n }\n if (currentTrack) {\n for (var _i = 0; _i < tracks.length; _i++) {\n var _track = tracks[_i];\n if (mediaAttributesIdentical(currentTrack.attrs, _track.attrs, ['LANGUAGE', 'ASSOC-LANGUAGE', 'CHARACTERISTICS'])) {\n return _i;\n }\n }\n for (var _i2 = 0; _i2 < tracks.length; _i2++) {\n var _track2 = tracks[_i2];\n if (mediaAttributesIdentical(currentTrack.attrs, _track2.attrs, ['LANGUAGE'])) {\n return _i2;\n }\n }\n }\n return -1;\n };\n _proto.findTrackForTextTrack = function findTrackForTextTrack(textTrack) {\n if (textTrack) {\n var tracks = this.tracksInGroup;\n for (var i = 0; i < tracks.length; i++) {\n var track = tracks[i];\n if (subtitleTrackMatchesTextTrack(track, textTrack)) {\n return i;\n }\n }\n }\n return -1;\n };\n _proto.onError = function onError(event, data) {\n if (data.fatal || !data.context) {\n return;\n }\n if (data.context.type === PlaylistContextType.SUBTITLE_TRACK && data.context.id === this.trackId && (!this.groupIds || this.groupIds.indexOf(data.context.groupId) !== -1)) {\n this.checkRetry(data);\n }\n };\n _proto.setSubtitleOption = function setSubtitleOption(subtitleOption) {\n this.hls.config.subtitlePreference = subtitleOption;\n if (subtitleOption) {\n var allSubtitleTracks = this.allSubtitleTracks;\n this.selectDefaultTrack = false;\n if (allSubtitleTracks.length) {\n // First see if current option matches (no switch op)\n var currentTrack = this.currentTrack;\n if (currentTrack && matchesOption(subtitleOption, currentTrack)) {\n return currentTrack;\n }\n // Find option in current group\n var groupIndex = findMatchingOption(subtitleOption, this.tracksInGroup);\n if (groupIndex > -1) {\n var track = this.tracksInGroup[groupIndex];\n this.setSubtitleTrack(groupIndex);\n return track;\n } else if (currentTrack) {\n // If this is not the initial selection return null\n // option should have matched one in active group\n return null;\n } else {\n // Find the option in all tracks for initial selection\n var allIndex = findMatchingOption(subtitleOption, allSubtitleTracks);\n if (allIndex > -1) {\n return allSubtitleTracks[allIndex];\n }\n }\n }\n }\n return null;\n };\n _proto.loadPlaylist = function loadPlaylist(hlsUrlParameters) {\n _BasePlaylistControll.prototype.loadPlaylist.call(this);\n var currentTrack = this.currentTrack;\n if (this.shouldLoadPlaylist(currentTrack) && currentTrack) {\n var id = currentTrack.id;\n var groupId = currentTrack.groupId;\n var url = currentTrack.url;\n if (hlsUrlParameters) {\n try {\n url = hlsUrlParameters.addDirectives(url);\n } catch (error) {\n this.warn(\"Could not construct new URL with HLS Delivery Directives: \" + error);\n }\n }\n this.log(\"Loading subtitle playlist for id \" + id);\n this.hls.trigger(Events.SUBTITLE_TRACK_LOADING, {\n url: url,\n id: id,\n groupId: groupId,\n deliveryDirectives: hlsUrlParameters || null\n });\n }\n }\n\n /**\n * Disables the old subtitleTrack and sets current mode on the next subtitleTrack.\n * This operates on the DOM textTracks.\n * A value of -1 will disable all subtitle tracks.\n */;\n _proto.toggleTrackModes = function toggleTrackModes() {\n var media = this.media;\n if (!media) {\n return;\n }\n var textTracks = filterSubtitleTracks(media.textTracks);\n var currentTrack = this.currentTrack;\n var nextTrack;\n if (currentTrack) {\n nextTrack = textTracks.filter(function (textTrack) {\n return subtitleTrackMatchesTextTrack(currentTrack, textTrack);\n })[0];\n if (!nextTrack) {\n this.warn(\"Unable to find subtitle TextTrack with name \\\"\" + currentTrack.name + \"\\\" and language \\\"\" + currentTrack.lang + \"\\\"\");\n }\n }\n [].slice.call(textTracks).forEach(function (track) {\n if (track.mode !== 'disabled' && track !== nextTrack) {\n track.mode = 'disabled';\n }\n });\n if (nextTrack) {\n var mode = this.subtitleDisplay ? 'showing' : 'hidden';\n if (nextTrack.mode !== mode) {\n nextTrack.mode = mode;\n }\n }\n }\n\n /**\n * This method is responsible for validating the subtitle index and periodically reloading if live.\n * Dispatches the SUBTITLE_TRACK_SWITCH event, which instructs the subtitle-stream-controller to load the selected track.\n */;\n _proto.setSubtitleTrack = function setSubtitleTrack(newId) {\n var tracks = this.tracksInGroup;\n\n // setting this.subtitleTrack will trigger internal logic\n // if media has not been attached yet, it will fail\n // we keep a reference to the default track id\n // and we'll set subtitleTrack when onMediaAttached is triggered\n if (!this.media) {\n this.queuedDefaultTrack = newId;\n return;\n }\n\n // exit if track id as already set or invalid\n if (newId < -1 || newId >= tracks.length || !isFiniteNumber(newId)) {\n this.warn(\"Invalid subtitle track id: \" + newId);\n return;\n }\n\n // stopping live reloading timer if any\n this.clearTimer();\n this.selectDefaultTrack = false;\n var lastTrack = this.currentTrack;\n var track = tracks[newId] || null;\n this.trackId = newId;\n this.currentTrack = track;\n this.toggleTrackModes();\n if (!track) {\n // switch to -1\n this.hls.trigger(Events.SUBTITLE_TRACK_SWITCH, {\n id: newId\n });\n return;\n }\n var trackLoaded = !!track.details && !track.details.live;\n if (newId === this.trackId && track === lastTrack && trackLoaded) {\n return;\n }\n this.log(\"Switching to subtitle-track \" + newId + (track ? \" \\\"\" + track.name + \"\\\" lang:\" + track.lang + \" group:\" + track.groupId : ''));\n var id = track.id,\n _track$groupId = track.groupId,\n groupId = _track$groupId === void 0 ? '' : _track$groupId,\n name = track.name,\n type = track.type,\n url = track.url;\n this.hls.trigger(Events.SUBTITLE_TRACK_SWITCH, {\n id: id,\n groupId: groupId,\n name: name,\n type: type,\n url: url\n });\n var hlsUrlParameters = this.switchParams(track.url, lastTrack == null ? void 0 : lastTrack.details);\n this.loadPlaylist(hlsUrlParameters);\n };\n _createClass(SubtitleTrackController, [{\n key: \"subtitleDisplay\",\n get: function get() {\n return this._subtitleDisplay;\n },\n set: function set(value) {\n this._subtitleDisplay = value;\n if (this.trackId > -1) {\n this.toggleTrackModes();\n }\n }\n }, {\n key: \"allSubtitleTracks\",\n get: function get() {\n return this.tracks;\n }\n\n /** get alternate subtitle tracks list from playlist **/\n }, {\n key: \"subtitleTracks\",\n get: function get() {\n return this.tracksInGroup;\n }\n\n /** get/set index of the selected subtitle track (based on index in subtitle track lists) **/\n }, {\n key: \"subtitleTrack\",\n get: function get() {\n return this.trackId;\n },\n set: function set(newId) {\n this.selectDefaultTrack = false;\n this.setSubtitleTrack(newId);\n }\n }]);\n return SubtitleTrackController;\n }(BasePlaylistController);\n\n var BufferOperationQueue = /*#__PURE__*/function () {\n function BufferOperationQueue(sourceBufferReference) {\n this.buffers = void 0;\n this.queues = {\n video: [],\n audio: [],\n audiovideo: []\n };\n this.buffers = sourceBufferReference;\n }\n var _proto = BufferOperationQueue.prototype;\n _proto.append = function append(operation, type, pending) {\n var queue = this.queues[type];\n queue.push(operation);\n if (queue.length === 1 && !pending) {\n this.executeNext(type);\n }\n };\n _proto.insertAbort = function insertAbort(operation, type) {\n var queue = this.queues[type];\n queue.unshift(operation);\n this.executeNext(type);\n };\n _proto.appendBlocker = function appendBlocker(type) {\n var execute;\n var promise = new Promise(function (resolve) {\n execute = resolve;\n });\n var operation = {\n execute: execute,\n onStart: function onStart() {},\n onComplete: function onComplete() {},\n onError: function onError() {}\n };\n this.append(operation, type);\n return promise;\n };\n _proto.executeNext = function executeNext(type) {\n var queue = this.queues[type];\n if (queue.length) {\n var operation = queue[0];\n try {\n // Operations are expected to result in an 'updateend' event being fired. If not, the queue will lock. Operations\n // which do not end with this event must call _onSBUpdateEnd manually\n operation.execute();\n } catch (error) {\n logger.warn(\"[buffer-operation-queue]: Exception executing \\\"\" + type + \"\\\" SourceBuffer operation: \" + error);\n operation.onError(error);\n\n // Only shift the current operation off, otherwise the updateend handler will do this for us\n var sb = this.buffers[type];\n if (!(sb != null && sb.updating)) {\n this.shiftAndExecuteNext(type);\n }\n }\n }\n };\n _proto.shiftAndExecuteNext = function shiftAndExecuteNext(type) {\n this.queues[type].shift();\n this.executeNext(type);\n };\n _proto.current = function current(type) {\n return this.queues[type][0];\n };\n return BufferOperationQueue;\n }();\n\n var VIDEO_CODEC_PROFILE_REPLACE = /(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\\.[^.,]+)+/;\n var BufferController = /*#__PURE__*/function () {\n function BufferController(hls) {\n var _this = this;\n // The level details used to determine duration, target-duration and live\n this.details = null;\n // cache the self generated object url to detect hijack of video tag\n this._objectUrl = null;\n // A queue of buffer operations which require the SourceBuffer to not be updating upon execution\n this.operationQueue = void 0;\n // References to event listeners for each SourceBuffer, so that they can be referenced for event removal\n this.listeners = void 0;\n this.hls = void 0;\n // The number of BUFFER_CODEC events received before any sourceBuffers are created\n this.bufferCodecEventsExpected = 0;\n // The total number of BUFFER_CODEC events received\n this._bufferCodecEventsTotal = 0;\n // A reference to the attached media element\n this.media = null;\n // A reference to the active media source\n this.mediaSource = null;\n // Last MP3 audio chunk appended\n this.lastMpegAudioChunk = null;\n this.appendSource = void 0;\n // counters\n this.appendErrors = {\n audio: 0,\n video: 0,\n audiovideo: 0\n };\n this.tracks = {};\n this.pendingTracks = {};\n this.sourceBuffer = void 0;\n this.log = void 0;\n this.warn = void 0;\n this.error = void 0;\n this._onEndStreaming = function (event) {\n if (!_this.hls) {\n return;\n }\n _this.hls.pauseBuffering();\n };\n this._onStartStreaming = function (event) {\n if (!_this.hls) {\n return;\n }\n _this.hls.resumeBuffering();\n };\n // Keep as arrow functions so that we can directly reference these functions directly as event listeners\n this._onMediaSourceOpen = function () {\n var media = _this.media,\n mediaSource = _this.mediaSource;\n _this.log('Media source opened');\n if (media) {\n media.removeEventListener('emptied', _this._onMediaEmptied);\n _this.updateMediaElementDuration();\n _this.hls.trigger(Events.MEDIA_ATTACHED, {\n media: media,\n mediaSource: mediaSource\n });\n }\n if (mediaSource) {\n // once received, don't listen anymore to sourceopen event\n mediaSource.removeEventListener('sourceopen', _this._onMediaSourceOpen);\n }\n _this.checkPendingTracks();\n };\n this._onMediaSourceClose = function () {\n _this.log('Media source closed');\n };\n this._onMediaSourceEnded = function () {\n _this.log('Media source ended');\n };\n this._onMediaEmptied = function () {\n var mediaSrc = _this.mediaSrc,\n _objectUrl = _this._objectUrl;\n if (mediaSrc !== _objectUrl) {\n logger.error(\"Media element src was set while attaching MediaSource (\" + _objectUrl + \" > \" + mediaSrc + \")\");\n }\n };\n this.hls = hls;\n var logPrefix = '[buffer-controller]';\n this.appendSource = hls.config.preferManagedMediaSource;\n this.log = logger.log.bind(logger, logPrefix);\n this.warn = logger.warn.bind(logger, logPrefix);\n this.error = logger.error.bind(logger, logPrefix);\n this._initSourceBuffer();\n this.registerListeners();\n }\n var _proto = BufferController.prototype;\n _proto.hasSourceTypes = function hasSourceTypes() {\n return this.getSourceBufferTypes().length > 0 || Object.keys(this.pendingTracks).length > 0;\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.details = null;\n this.lastMpegAudioChunk = null;\n // @ts-ignore\n this.hls = null;\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.BUFFER_RESET, this.onBufferReset, this);\n hls.on(Events.BUFFER_APPENDING, this.onBufferAppending, this);\n hls.on(Events.BUFFER_CODECS, this.onBufferCodecs, this);\n hls.on(Events.BUFFER_EOS, this.onBufferEos, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.on(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n hls.on(Events.FRAG_PARSED, this.onFragParsed, this);\n hls.on(Events.FRAG_CHANGED, this.onFragChanged, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.BUFFER_RESET, this.onBufferReset, this);\n hls.off(Events.BUFFER_APPENDING, this.onBufferAppending, this);\n hls.off(Events.BUFFER_CODECS, this.onBufferCodecs, this);\n hls.off(Events.BUFFER_EOS, this.onBufferEos, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n hls.off(Events.LEVEL_UPDATED, this.onLevelUpdated, this);\n hls.off(Events.FRAG_PARSED, this.onFragParsed, this);\n hls.off(Events.FRAG_CHANGED, this.onFragChanged, this);\n };\n _proto._initSourceBuffer = function _initSourceBuffer() {\n this.sourceBuffer = {};\n this.operationQueue = new BufferOperationQueue(this.sourceBuffer);\n this.listeners = {\n audio: [],\n video: [],\n audiovideo: []\n };\n this.appendErrors = {\n audio: 0,\n video: 0,\n audiovideo: 0\n };\n this.lastMpegAudioChunk = null;\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.bufferCodecEventsExpected = this._bufferCodecEventsTotal = 0;\n this.details = null;\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n // in case of alt audio 2 BUFFER_CODECS events will be triggered, one per stream controller\n // sourcebuffers will be created all at once when the expected nb of tracks will be reached\n // in case alt audio is not used, only one BUFFER_CODEC event will be fired from main stream controller\n // it will contain the expected nb of source buffers, no need to compute it\n var codecEvents = 2;\n if (data.audio && !data.video || !data.altAudio || !true) {\n codecEvents = 1;\n }\n this.bufferCodecEventsExpected = this._bufferCodecEventsTotal = codecEvents;\n this.log(this.bufferCodecEventsExpected + \" bufferCodec event(s) expected\");\n };\n _proto.onMediaAttaching = function onMediaAttaching(event, data) {\n var media = this.media = data.media;\n var MediaSource = getMediaSource(this.appendSource);\n if (media && MediaSource) {\n var _ms$constructor;\n var ms = this.mediaSource = new MediaSource();\n this.log(\"created media source: \" + ((_ms$constructor = ms.constructor) == null ? void 0 : _ms$constructor.name));\n // MediaSource listeners are arrow functions with a lexical scope, and do not need to be bound\n ms.addEventListener('sourceopen', this._onMediaSourceOpen);\n ms.addEventListener('sourceended', this._onMediaSourceEnded);\n ms.addEventListener('sourceclose', this._onMediaSourceClose);\n ms.addEventListener('startstreaming', this._onStartStreaming);\n ms.addEventListener('endstreaming', this._onEndStreaming);\n\n // cache the locally generated object url\n var objectUrl = this._objectUrl = self.URL.createObjectURL(ms);\n // link video and media Source\n if (this.appendSource) {\n try {\n media.removeAttribute('src');\n // ManagedMediaSource will not open without disableRemotePlayback set to false or source alternatives\n var MMS = self.ManagedMediaSource;\n media.disableRemotePlayback = media.disableRemotePlayback || MMS && ms instanceof MMS;\n removeSourceChildren(media);\n addSource(media, objectUrl);\n media.load();\n } catch (error) {\n media.src = objectUrl;\n }\n } else {\n media.src = objectUrl;\n }\n media.addEventListener('emptied', this._onMediaEmptied);\n }\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n var media = this.media,\n mediaSource = this.mediaSource,\n _objectUrl = this._objectUrl;\n if (mediaSource) {\n this.log('media source detaching');\n if (mediaSource.readyState === 'open') {\n try {\n // endOfStream could trigger exception if any sourcebuffer is in updating state\n // we don't really care about checking sourcebuffer state here,\n // as we are anyway detaching the MediaSource\n // let's just avoid this exception to propagate\n mediaSource.endOfStream();\n } catch (err) {\n this.warn(\"onMediaDetaching: \" + err.message + \" while calling endOfStream\");\n }\n }\n // Clean up the SourceBuffers by invoking onBufferReset\n this.onBufferReset();\n mediaSource.removeEventListener('sourceopen', this._onMediaSourceOpen);\n mediaSource.removeEventListener('sourceended', this._onMediaSourceEnded);\n mediaSource.removeEventListener('sourceclose', this._onMediaSourceClose);\n mediaSource.removeEventListener('startstreaming', this._onStartStreaming);\n mediaSource.removeEventListener('endstreaming', this._onEndStreaming);\n\n // Detach properly the MediaSource from the HTMLMediaElement as\n // suggested in https://github.com/w3c/media-source/issues/53.\n if (media) {\n media.removeEventListener('emptied', this._onMediaEmptied);\n if (_objectUrl) {\n self.URL.revokeObjectURL(_objectUrl);\n }\n\n // clean up video tag src only if it's our own url. some external libraries might\n // hijack the video tag and change its 'src' without destroying the Hls instance first\n if (this.mediaSrc === _objectUrl) {\n media.removeAttribute('src');\n if (this.appendSource) {\n removeSourceChildren(media);\n }\n media.load();\n } else {\n this.warn('media|source.src was changed by a third party - skip cleanup');\n }\n }\n this.mediaSource = null;\n this.media = null;\n this._objectUrl = null;\n this.bufferCodecEventsExpected = this._bufferCodecEventsTotal;\n this.pendingTracks = {};\n this.tracks = {};\n }\n this.hls.trigger(Events.MEDIA_DETACHED, undefined);\n };\n _proto.onBufferReset = function onBufferReset() {\n var _this2 = this;\n this.getSourceBufferTypes().forEach(function (type) {\n _this2.resetBuffer(type);\n });\n this._initSourceBuffer();\n };\n _proto.resetBuffer = function resetBuffer(type) {\n var sb = this.sourceBuffer[type];\n try {\n if (sb) {\n var _this$mediaSource;\n this.removeBufferListeners(type);\n // Synchronously remove the SB from the map before the next call in order to prevent an async function from\n // accessing it\n this.sourceBuffer[type] = undefined;\n if ((_this$mediaSource = this.mediaSource) != null && _this$mediaSource.sourceBuffers.length) {\n this.mediaSource.removeSourceBuffer(sb);\n }\n }\n } catch (err) {\n this.warn(\"onBufferReset \" + type, err);\n }\n };\n _proto.onBufferCodecs = function onBufferCodecs(event, data) {\n var _this3 = this;\n var sourceBufferCount = this.getSourceBufferTypes().length;\n var trackNames = Object.keys(data);\n trackNames.forEach(function (trackName) {\n if (sourceBufferCount) {\n // check if SourceBuffer codec needs to change\n var track = _this3.tracks[trackName];\n if (track && typeof track.buffer.changeType === 'function') {\n var _trackCodec;\n var _data$trackName = data[trackName],\n id = _data$trackName.id,\n codec = _data$trackName.codec,\n levelCodec = _data$trackName.levelCodec,\n container = _data$trackName.container,\n metadata = _data$trackName.metadata;\n var currentCodecFull = pickMostCompleteCodecName(track.codec, track.levelCodec);\n var currentCodec = currentCodecFull == null ? void 0 : currentCodecFull.replace(VIDEO_CODEC_PROFILE_REPLACE, '$1');\n var trackCodec = pickMostCompleteCodecName(codec, levelCodec);\n var nextCodec = (_trackCodec = trackCodec) == null ? void 0 : _trackCodec.replace(VIDEO_CODEC_PROFILE_REPLACE, '$1');\n if (trackCodec && currentCodec !== nextCodec) {\n if (trackName.slice(0, 5) === 'audio') {\n trackCodec = getCodecCompatibleName(trackCodec, _this3.hls.config.preferManagedMediaSource);\n }\n var mimeType = container + \";codecs=\" + trackCodec;\n _this3.appendChangeType(trackName, mimeType);\n _this3.log(\"switching codec \" + currentCodecFull + \" to \" + trackCodec);\n _this3.tracks[trackName] = {\n buffer: track.buffer,\n codec: codec,\n container: container,\n levelCodec: levelCodec,\n metadata: metadata,\n id: id\n };\n }\n }\n } else {\n // if source buffer(s) not created yet, appended buffer tracks in this.pendingTracks\n _this3.pendingTracks[trackName] = data[trackName];\n }\n });\n\n // if sourcebuffers already created, do nothing ...\n if (sourceBufferCount) {\n return;\n }\n var bufferCodecEventsExpected = Math.max(this.bufferCodecEventsExpected - 1, 0);\n if (this.bufferCodecEventsExpected !== bufferCodecEventsExpected) {\n this.log(bufferCodecEventsExpected + \" bufferCodec event(s) expected \" + trackNames.join(','));\n this.bufferCodecEventsExpected = bufferCodecEventsExpected;\n }\n if (this.mediaSource && this.mediaSource.readyState === 'open') {\n this.checkPendingTracks();\n }\n };\n _proto.appendChangeType = function appendChangeType(type, mimeType) {\n var _this4 = this;\n var operationQueue = this.operationQueue;\n var operation = {\n execute: function execute() {\n var sb = _this4.sourceBuffer[type];\n if (sb) {\n _this4.log(\"changing \" + type + \" sourceBuffer type to \" + mimeType);\n sb.changeType(mimeType);\n }\n operationQueue.shiftAndExecuteNext(type);\n },\n onStart: function onStart() {},\n onComplete: function onComplete() {},\n onError: function onError(error) {\n _this4.warn(\"Failed to change \" + type + \" SourceBuffer type\", error);\n }\n };\n operationQueue.append(operation, type, !!this.pendingTracks[type]);\n };\n _proto.onBufferAppending = function onBufferAppending(event, eventData) {\n var _this5 = this;\n var hls = this.hls,\n operationQueue = this.operationQueue,\n tracks = this.tracks;\n var data = eventData.data,\n type = eventData.type,\n frag = eventData.frag,\n part = eventData.part,\n chunkMeta = eventData.chunkMeta;\n var chunkStats = chunkMeta.buffering[type];\n var bufferAppendingStart = self.performance.now();\n chunkStats.start = bufferAppendingStart;\n var fragBuffering = frag.stats.buffering;\n var partBuffering = part ? part.stats.buffering : null;\n if (fragBuffering.start === 0) {\n fragBuffering.start = bufferAppendingStart;\n }\n if (partBuffering && partBuffering.start === 0) {\n partBuffering.start = bufferAppendingStart;\n }\n\n // TODO: Only update timestampOffset when audio/mpeg fragment or part is not contiguous with previously appended\n // Adjusting `SourceBuffer.timestampOffset` (desired point in the timeline where the next frames should be appended)\n // in Chrome browser when we detect MPEG audio container and time delta between level PTS and `SourceBuffer.timestampOffset`\n // is greater than 100ms (this is enough to handle seek for VOD or level change for LIVE videos).\n // More info here: https://github.com/video-dev/hls.js/issues/332#issuecomment-257986486\n var audioTrack = tracks.audio;\n var checkTimestampOffset = false;\n if (type === 'audio' && (audioTrack == null ? void 0 : audioTrack.container) === 'audio/mpeg') {\n checkTimestampOffset = !this.lastMpegAudioChunk || chunkMeta.id === 1 || this.lastMpegAudioChunk.sn !== chunkMeta.sn;\n this.lastMpegAudioChunk = chunkMeta;\n }\n var fragStart = frag.start;\n var operation = {\n execute: function execute() {\n chunkStats.executeStart = self.performance.now();\n if (checkTimestampOffset) {\n var sb = _this5.sourceBuffer[type];\n if (sb) {\n var delta = fragStart - sb.timestampOffset;\n if (Math.abs(delta) >= 0.1) {\n _this5.log(\"Updating audio SourceBuffer timestampOffset to \" + fragStart + \" (delta: \" + delta + \") sn: \" + frag.sn + \")\");\n sb.timestampOffset = fragStart;\n }\n }\n }\n _this5.appendExecutor(data, type);\n },\n onStart: function onStart() {\n // logger.debug(`[buffer-controller]: ${type} SourceBuffer updatestart`);\n },\n onComplete: function onComplete() {\n // logger.debug(`[buffer-controller]: ${type} SourceBuffer updateend`);\n var end = self.performance.now();\n chunkStats.executeEnd = chunkStats.end = end;\n if (fragBuffering.first === 0) {\n fragBuffering.first = end;\n }\n if (partBuffering && partBuffering.first === 0) {\n partBuffering.first = end;\n }\n var sourceBuffer = _this5.sourceBuffer;\n var timeRanges = {};\n for (var _type in sourceBuffer) {\n timeRanges[_type] = BufferHelper.getBuffered(sourceBuffer[_type]);\n }\n _this5.appendErrors[type] = 0;\n if (type === 'audio' || type === 'video') {\n _this5.appendErrors.audiovideo = 0;\n } else {\n _this5.appendErrors.audio = 0;\n _this5.appendErrors.video = 0;\n }\n _this5.hls.trigger(Events.BUFFER_APPENDED, {\n type: type,\n frag: frag,\n part: part,\n chunkMeta: chunkMeta,\n parent: frag.type,\n timeRanges: timeRanges\n });\n },\n onError: function onError(error) {\n // in case any error occured while appending, put back segment in segments table\n var event = {\n type: ErrorTypes.MEDIA_ERROR,\n parent: frag.type,\n details: ErrorDetails.BUFFER_APPEND_ERROR,\n sourceBufferName: type,\n frag: frag,\n part: part,\n chunkMeta: chunkMeta,\n error: error,\n err: error,\n fatal: false\n };\n if (error.code === DOMException.QUOTA_EXCEEDED_ERR) {\n // QuotaExceededError: http://www.w3.org/TR/html5/infrastructure.html#quotaexceedederror\n // let's stop appending any segments, and report BUFFER_FULL_ERROR error\n event.details = ErrorDetails.BUFFER_FULL_ERROR;\n } else {\n var appendErrorCount = ++_this5.appendErrors[type];\n event.details = ErrorDetails.BUFFER_APPEND_ERROR;\n /* with UHD content, we could get loop of quota exceeded error until\n browser is able to evict some data from sourcebuffer. Retrying can help recover.\n */\n _this5.warn(\"Failed \" + appendErrorCount + \"/\" + hls.config.appendErrorMaxRetry + \" times to append segment in \\\"\" + type + \"\\\" sourceBuffer\");\n if (appendErrorCount >= hls.config.appendErrorMaxRetry) {\n event.fatal = true;\n }\n }\n hls.trigger(Events.ERROR, event);\n }\n };\n operationQueue.append(operation, type, !!this.pendingTracks[type]);\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, data) {\n var _this6 = this;\n var operationQueue = this.operationQueue;\n var flushOperation = function flushOperation(type) {\n return {\n execute: _this6.removeExecutor.bind(_this6, type, data.startOffset, data.endOffset),\n onStart: function onStart() {\n // logger.debug(`[buffer-controller]: Started flushing ${data.startOffset} -> ${data.endOffset} for ${type} Source Buffer`);\n },\n onComplete: function onComplete() {\n // logger.debug(`[buffer-controller]: Finished flushing ${data.startOffset} -> ${data.endOffset} for ${type} Source Buffer`);\n _this6.hls.trigger(Events.BUFFER_FLUSHED, {\n type: type\n });\n },\n onError: function onError(error) {\n _this6.warn(\"Failed to remove from \" + type + \" SourceBuffer\", error);\n }\n };\n };\n if (data.type) {\n operationQueue.append(flushOperation(data.type), data.type);\n } else {\n this.getSourceBufferTypes().forEach(function (type) {\n operationQueue.append(flushOperation(type), type);\n });\n }\n };\n _proto.onFragParsed = function onFragParsed(event, data) {\n var _this7 = this;\n var frag = data.frag,\n part = data.part;\n var buffersAppendedTo = [];\n var elementaryStreams = part ? part.elementaryStreams : frag.elementaryStreams;\n if (elementaryStreams[ElementaryStreamTypes.AUDIOVIDEO]) {\n buffersAppendedTo.push('audiovideo');\n } else {\n if (elementaryStreams[ElementaryStreamTypes.AUDIO]) {\n buffersAppendedTo.push('audio');\n }\n if (elementaryStreams[ElementaryStreamTypes.VIDEO]) {\n buffersAppendedTo.push('video');\n }\n }\n var onUnblocked = function onUnblocked() {\n var now = self.performance.now();\n frag.stats.buffering.end = now;\n if (part) {\n part.stats.buffering.end = now;\n }\n var stats = part ? part.stats : frag.stats;\n _this7.hls.trigger(Events.FRAG_BUFFERED, {\n frag: frag,\n part: part,\n stats: stats,\n id: frag.type\n });\n };\n if (buffersAppendedTo.length === 0) {\n this.warn(\"Fragments must have at least one ElementaryStreamType set. type: \" + frag.type + \" level: \" + frag.level + \" sn: \" + frag.sn);\n }\n this.blockBuffers(onUnblocked, buffersAppendedTo);\n };\n _proto.onFragChanged = function onFragChanged(event, data) {\n this.trimBuffers();\n }\n\n // on BUFFER_EOS mark matching sourcebuffer(s) as ended and trigger checkEos()\n // an undefined data.type will mark all buffers as EOS.\n ;\n _proto.onBufferEos = function onBufferEos(event, data) {\n var _this8 = this;\n var ended = this.getSourceBufferTypes().reduce(function (acc, type) {\n var sb = _this8.sourceBuffer[type];\n if (sb && (!data.type || data.type === type)) {\n sb.ending = true;\n if (!sb.ended) {\n sb.ended = true;\n _this8.log(type + \" sourceBuffer now EOS\");\n }\n }\n return acc && !!(!sb || sb.ended);\n }, true);\n if (ended) {\n this.log(\"Queueing mediaSource.endOfStream()\");\n this.blockBuffers(function () {\n _this8.getSourceBufferTypes().forEach(function (type) {\n var sb = _this8.sourceBuffer[type];\n if (sb) {\n sb.ending = false;\n }\n });\n var mediaSource = _this8.mediaSource;\n if (!mediaSource || mediaSource.readyState !== 'open') {\n if (mediaSource) {\n _this8.log(\"Could not call mediaSource.endOfStream(). mediaSource.readyState: \" + mediaSource.readyState);\n }\n return;\n }\n _this8.log(\"Calling mediaSource.endOfStream()\");\n // Allow this to throw and be caught by the enqueueing function\n mediaSource.endOfStream();\n });\n }\n };\n _proto.onLevelUpdated = function onLevelUpdated(event, _ref) {\n var details = _ref.details;\n if (!details.fragments.length) {\n return;\n }\n this.details = details;\n if (this.getSourceBufferTypes().length) {\n this.blockBuffers(this.updateMediaElementDuration.bind(this));\n } else {\n this.updateMediaElementDuration();\n }\n };\n _proto.trimBuffers = function trimBuffers() {\n var hls = this.hls,\n details = this.details,\n media = this.media;\n if (!media || details === null) {\n return;\n }\n var sourceBufferTypes = this.getSourceBufferTypes();\n if (!sourceBufferTypes.length) {\n return;\n }\n var config = hls.config;\n var currentTime = media.currentTime;\n var targetDuration = details.levelTargetDuration;\n\n // Support for deprecated liveBackBufferLength\n var backBufferLength = details.live && config.liveBackBufferLength !== null ? config.liveBackBufferLength : config.backBufferLength;\n if (isFiniteNumber(backBufferLength) && backBufferLength > 0) {\n var maxBackBufferLength = Math.max(backBufferLength, targetDuration);\n var targetBackBufferPosition = Math.floor(currentTime / targetDuration) * targetDuration - maxBackBufferLength;\n this.flushBackBuffer(currentTime, targetDuration, targetBackBufferPosition);\n }\n if (isFiniteNumber(config.frontBufferFlushThreshold) && config.frontBufferFlushThreshold > 0) {\n var frontBufferLength = Math.max(config.maxBufferLength, config.frontBufferFlushThreshold);\n var maxFrontBufferLength = Math.max(frontBufferLength, targetDuration);\n var targetFrontBufferPosition = Math.floor(currentTime / targetDuration) * targetDuration + maxFrontBufferLength;\n this.flushFrontBuffer(currentTime, targetDuration, targetFrontBufferPosition);\n }\n };\n _proto.flushBackBuffer = function flushBackBuffer(currentTime, targetDuration, targetBackBufferPosition) {\n var _this9 = this;\n var details = this.details,\n sourceBuffer = this.sourceBuffer;\n var sourceBufferTypes = this.getSourceBufferTypes();\n sourceBufferTypes.forEach(function (type) {\n var sb = sourceBuffer[type];\n if (sb) {\n var buffered = BufferHelper.getBuffered(sb);\n // when target buffer start exceeds actual buffer start\n if (buffered.length > 0 && targetBackBufferPosition > buffered.start(0)) {\n _this9.hls.trigger(Events.BACK_BUFFER_REACHED, {\n bufferEnd: targetBackBufferPosition\n });\n\n // Support for deprecated event:\n if (details != null && details.live) {\n _this9.hls.trigger(Events.LIVE_BACK_BUFFER_REACHED, {\n bufferEnd: targetBackBufferPosition\n });\n } else if (sb.ended && buffered.end(buffered.length - 1) - currentTime < targetDuration * 2) {\n _this9.log(\"Cannot flush \" + type + \" back buffer while SourceBuffer is in ended state\");\n return;\n }\n _this9.hls.trigger(Events.BUFFER_FLUSHING, {\n startOffset: 0,\n endOffset: targetBackBufferPosition,\n type: type\n });\n }\n }\n });\n };\n _proto.flushFrontBuffer = function flushFrontBuffer(currentTime, targetDuration, targetFrontBufferPosition) {\n var _this10 = this;\n var sourceBuffer = this.sourceBuffer;\n var sourceBufferTypes = this.getSourceBufferTypes();\n sourceBufferTypes.forEach(function (type) {\n var sb = sourceBuffer[type];\n if (sb) {\n var buffered = BufferHelper.getBuffered(sb);\n var numBufferedRanges = buffered.length;\n // The buffer is either empty or contiguous\n if (numBufferedRanges < 2) {\n return;\n }\n var bufferStart = buffered.start(numBufferedRanges - 1);\n var bufferEnd = buffered.end(numBufferedRanges - 1);\n // No flush if we can tolerate the current buffer length or the current buffer range we would flush is contiguous with current position\n if (targetFrontBufferPosition > bufferStart || currentTime >= bufferStart && currentTime <= bufferEnd) {\n return;\n } else if (sb.ended && currentTime - bufferEnd < 2 * targetDuration) {\n _this10.log(\"Cannot flush \" + type + \" front buffer while SourceBuffer is in ended state\");\n return;\n }\n _this10.hls.trigger(Events.BUFFER_FLUSHING, {\n startOffset: bufferStart,\n endOffset: Infinity,\n type: type\n });\n }\n });\n }\n\n /**\n * Update Media Source duration to current level duration or override to Infinity if configuration parameter\n * 'liveDurationInfinity` is set to `true`\n * More details: https://github.com/video-dev/hls.js/issues/355\n */;\n _proto.updateMediaElementDuration = function updateMediaElementDuration() {\n if (!this.details || !this.media || !this.mediaSource || this.mediaSource.readyState !== 'open') {\n return;\n }\n var details = this.details,\n hls = this.hls,\n media = this.media,\n mediaSource = this.mediaSource;\n var levelDuration = details.fragments[0].start + details.totalduration;\n var mediaDuration = media.duration;\n var msDuration = isFiniteNumber(mediaSource.duration) ? mediaSource.duration : 0;\n if (details.live && hls.config.liveDurationInfinity) {\n // Override duration to Infinity\n mediaSource.duration = Infinity;\n this.updateSeekableRange(details);\n } else if (levelDuration > msDuration && levelDuration > mediaDuration || !isFiniteNumber(mediaDuration)) {\n // levelDuration was the last value we set.\n // not using mediaSource.duration as the browser may tweak this value\n // only update Media Source duration if its value increase, this is to avoid\n // flushing already buffered portion when switching between quality level\n this.log(\"Updating Media Source duration to \" + levelDuration.toFixed(3));\n mediaSource.duration = levelDuration;\n }\n };\n _proto.updateSeekableRange = function updateSeekableRange(levelDetails) {\n var mediaSource = this.mediaSource;\n var fragments = levelDetails.fragments;\n var len = fragments.length;\n if (len && levelDetails.live && mediaSource != null && mediaSource.setLiveSeekableRange) {\n var start = Math.max(0, fragments[0].start);\n var end = Math.max(start, start + levelDetails.totalduration);\n this.log(\"Media Source duration is set to \" + mediaSource.duration + \". Setting seekable range to \" + start + \"-\" + end + \".\");\n mediaSource.setLiveSeekableRange(start, end);\n }\n };\n _proto.checkPendingTracks = function checkPendingTracks() {\n var bufferCodecEventsExpected = this.bufferCodecEventsExpected,\n operationQueue = this.operationQueue,\n pendingTracks = this.pendingTracks;\n\n // Check if we've received all of the expected bufferCodec events. When none remain, create all the sourceBuffers at once.\n // This is important because the MSE spec allows implementations to throw QuotaExceededErrors if creating new sourceBuffers after\n // data has been appended to existing ones.\n // 2 tracks is the max (one for audio, one for video). If we've reach this max go ahead and create the buffers.\n var pendingTracksCount = Object.keys(pendingTracks).length;\n if (pendingTracksCount && (!bufferCodecEventsExpected || pendingTracksCount === 2 || 'audiovideo' in pendingTracks)) {\n // ok, let's create them now !\n this.createSourceBuffers(pendingTracks);\n this.pendingTracks = {};\n // append any pending segments now !\n var buffers = this.getSourceBufferTypes();\n if (buffers.length) {\n this.hls.trigger(Events.BUFFER_CREATED, {\n tracks: this.tracks\n });\n buffers.forEach(function (type) {\n operationQueue.executeNext(type);\n });\n } else {\n var error = new Error('could not create source buffer for media codec(s)');\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_INCOMPATIBLE_CODECS_ERROR,\n fatal: true,\n error: error,\n reason: error.message\n });\n }\n }\n };\n _proto.createSourceBuffers = function createSourceBuffers(tracks) {\n var _this11 = this;\n var sourceBuffer = this.sourceBuffer,\n mediaSource = this.mediaSource;\n if (!mediaSource) {\n throw Error('createSourceBuffers called when mediaSource was null');\n }\n var _loop = function _loop(trackName) {\n if (!sourceBuffer[trackName]) {\n var track = tracks[trackName];\n if (!track) {\n throw Error(\"source buffer exists for track \" + trackName + \", however track does not\");\n }\n // use levelCodec as first priority\n var codec = track.levelCodec || track.codec;\n if (codec) {\n if (trackName.slice(0, 5) === 'audio') {\n codec = getCodecCompatibleName(codec, _this11.hls.config.preferManagedMediaSource);\n }\n }\n var mimeType = track.container + \";codecs=\" + codec;\n _this11.log(\"creating sourceBuffer(\" + mimeType + \")\");\n try {\n var sb = sourceBuffer[trackName] = mediaSource.addSourceBuffer(mimeType);\n var sbName = trackName;\n _this11.addBufferListener(sbName, 'updatestart', _this11._onSBUpdateStart);\n _this11.addBufferListener(sbName, 'updateend', _this11._onSBUpdateEnd);\n _this11.addBufferListener(sbName, 'error', _this11._onSBUpdateError);\n // ManagedSourceBuffer bufferedchange event\n _this11.addBufferListener(sbName, 'bufferedchange', function (type, event) {\n // If media was ejected check for a change. Added ranges are redundant with changes on 'updateend' event.\n var removedRanges = event.removedRanges;\n if (removedRanges != null && removedRanges.length) {\n _this11.hls.trigger(Events.BUFFER_FLUSHED, {\n type: trackName\n });\n }\n });\n _this11.tracks[trackName] = {\n buffer: sb,\n codec: codec,\n container: track.container,\n levelCodec: track.levelCodec,\n metadata: track.metadata,\n id: track.id\n };\n } catch (err) {\n _this11.error(\"error while trying to add sourceBuffer: \" + err.message);\n _this11.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_ADD_CODEC_ERROR,\n fatal: false,\n error: err,\n sourceBufferName: trackName,\n mimeType: mimeType\n });\n }\n }\n };\n for (var trackName in tracks) {\n _loop(trackName);\n }\n };\n _proto._onSBUpdateStart = function _onSBUpdateStart(type) {\n var operationQueue = this.operationQueue;\n var operation = operationQueue.current(type);\n operation.onStart();\n };\n _proto._onSBUpdateEnd = function _onSBUpdateEnd(type) {\n var _this$mediaSource2;\n if (((_this$mediaSource2 = this.mediaSource) == null ? void 0 : _this$mediaSource2.readyState) === 'closed') {\n this.resetBuffer(type);\n return;\n }\n var operationQueue = this.operationQueue;\n var operation = operationQueue.current(type);\n operation.onComplete();\n operationQueue.shiftAndExecuteNext(type);\n };\n _proto._onSBUpdateError = function _onSBUpdateError(type, event) {\n var _this$mediaSource3;\n var error = new Error(type + \" SourceBuffer error. MediaSource readyState: \" + ((_this$mediaSource3 = this.mediaSource) == null ? void 0 : _this$mediaSource3.readyState));\n this.error(\"\" + error, event);\n // according to http://www.w3.org/TR/media-source/#sourcebuffer-append-error\n // SourceBuffer errors are not necessarily fatal; if so, the HTMLMediaElement will fire an error event\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_APPENDING_ERROR,\n sourceBufferName: type,\n error: error,\n fatal: false\n });\n // updateend is always fired after error, so we'll allow that to shift the current operation off of the queue\n var operation = this.operationQueue.current(type);\n if (operation) {\n operation.onError(error);\n }\n }\n\n // This method must result in an updateend event; if remove is not called, _onSBUpdateEnd must be called manually\n ;\n _proto.removeExecutor = function removeExecutor(type, startOffset, endOffset) {\n var media = this.media,\n mediaSource = this.mediaSource,\n operationQueue = this.operationQueue,\n sourceBuffer = this.sourceBuffer;\n var sb = sourceBuffer[type];\n if (!media || !mediaSource || !sb) {\n this.warn(\"Attempting to remove from the \" + type + \" SourceBuffer, but it does not exist\");\n operationQueue.shiftAndExecuteNext(type);\n return;\n }\n var mediaDuration = isFiniteNumber(media.duration) ? media.duration : Infinity;\n var msDuration = isFiniteNumber(mediaSource.duration) ? mediaSource.duration : Infinity;\n var removeStart = Math.max(0, startOffset);\n var removeEnd = Math.min(endOffset, mediaDuration, msDuration);\n if (removeEnd > removeStart && (!sb.ending || sb.ended)) {\n sb.ended = false;\n this.log(\"Removing [\" + removeStart + \",\" + removeEnd + \"] from the \" + type + \" SourceBuffer\");\n sb.remove(removeStart, removeEnd);\n } else {\n // Cycle the queue\n operationQueue.shiftAndExecuteNext(type);\n }\n }\n\n // This method must result in an updateend event; if append is not called, _onSBUpdateEnd must be called manually\n ;\n _proto.appendExecutor = function appendExecutor(data, type) {\n var sb = this.sourceBuffer[type];\n if (!sb) {\n if (!this.pendingTracks[type]) {\n throw new Error(\"Attempting to append to the \" + type + \" SourceBuffer, but it does not exist\");\n }\n return;\n }\n sb.ended = false;\n sb.appendBuffer(data);\n }\n\n // Enqueues an operation to each SourceBuffer queue which, upon execution, resolves a promise. When all promises\n // resolve, the onUnblocked function is executed. Functions calling this method do not need to unblock the queue\n // upon completion, since we already do it here\n ;\n _proto.blockBuffers = function blockBuffers(onUnblocked, buffers) {\n var _this12 = this;\n if (buffers === void 0) {\n buffers = this.getSourceBufferTypes();\n }\n if (!buffers.length) {\n this.log('Blocking operation requested, but no SourceBuffers exist');\n Promise.resolve().then(onUnblocked);\n return;\n }\n var operationQueue = this.operationQueue;\n\n // logger.debug(`[buffer-controller]: Blocking ${buffers} SourceBuffer`);\n var blockingOperations = buffers.map(function (type) {\n return operationQueue.appendBlocker(type);\n });\n Promise.all(blockingOperations).then(function () {\n // logger.debug(`[buffer-controller]: Blocking operation resolved; unblocking ${buffers} SourceBuffer`);\n onUnblocked();\n buffers.forEach(function (type) {\n var sb = _this12.sourceBuffer[type];\n // Only cycle the queue if the SB is not updating. There's a bug in Chrome which sets the SB updating flag to\n // true when changing the MediaSource duration (https://bugs.chromium.org/p/chromium/issues/detail?id=959359&can=2&q=mediasource%20duration)\n // While this is a workaround, it's probably useful to have around\n if (!(sb != null && sb.updating)) {\n operationQueue.shiftAndExecuteNext(type);\n }\n });\n });\n };\n _proto.getSourceBufferTypes = function getSourceBufferTypes() {\n return Object.keys(this.sourceBuffer);\n };\n _proto.addBufferListener = function addBufferListener(type, event, fn) {\n var buffer = this.sourceBuffer[type];\n if (!buffer) {\n return;\n }\n var listener = fn.bind(this, type);\n this.listeners[type].push({\n event: event,\n listener: listener\n });\n buffer.addEventListener(event, listener);\n };\n _proto.removeBufferListeners = function removeBufferListeners(type) {\n var buffer = this.sourceBuffer[type];\n if (!buffer) {\n return;\n }\n this.listeners[type].forEach(function (l) {\n buffer.removeEventListener(l.event, l.listener);\n });\n };\n _createClass(BufferController, [{\n key: \"mediaSrc\",\n get: function get() {\n var _this$media;\n var media = ((_this$media = this.media) == null ? void 0 : _this$media.firstChild) || this.media;\n return media == null ? void 0 : media.src;\n }\n }]);\n return BufferController;\n }();\n function removeSourceChildren(node) {\n var sourceChildren = node.querySelectorAll('source');\n [].slice.call(sourceChildren).forEach(function (source) {\n node.removeChild(source);\n });\n }\n function addSource(media, url) {\n var source = self.document.createElement('source');\n source.type = 'video/mp4';\n source.src = url;\n media.appendChild(source);\n }\n\n /**\n *\n * This code was ported from the dash.js project at:\n * https://github.com/Dash-Industry-Forum/dash.js/blob/development/externals/cea608-parser.js\n * https://github.com/Dash-Industry-Forum/dash.js/commit/8269b26a761e0853bb21d78780ed945144ecdd4d#diff-71bc295a2d6b6b7093a1d3290d53a4b2\n *\n * The original copyright appears below:\n *\n * The copyright in this software is being made available under the BSD License,\n * included below. This software may be subject to other third party and contributor\n * rights, including patent rights, and no such rights are granted under this license.\n *\n * Copyright (c) 2015-2016, DASH Industry Forum.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification,\n * are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation and/or\n * other materials provided with the distribution.\n * 2. Neither the name of Dash Industry Forum nor the names of its\n * contributors may be used to endorse or promote products derived from this software\n * without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY\n * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\n * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */\n /**\n * Exceptions from regular ASCII. CodePoints are mapped to UTF-16 codes\n */\n\n var specialCea608CharsCodes = {\n 0x2a: 0xe1,\n // lowercase a, acute accent\n 0x5c: 0xe9,\n // lowercase e, acute accent\n 0x5e: 0xed,\n // lowercase i, acute accent\n 0x5f: 0xf3,\n // lowercase o, acute accent\n 0x60: 0xfa,\n // lowercase u, acute accent\n 0x7b: 0xe7,\n // lowercase c with cedilla\n 0x7c: 0xf7,\n // division symbol\n 0x7d: 0xd1,\n // uppercase N tilde\n 0x7e: 0xf1,\n // lowercase n tilde\n 0x7f: 0x2588,\n // Full block\n // THIS BLOCK INCLUDES THE 16 EXTENDED (TWO-BYTE) LINE 21 CHARACTERS\n // THAT COME FROM HI BYTE=0x11 AND LOW BETWEEN 0x30 AND 0x3F\n // THIS MEANS THAT \\x50 MUST BE ADDED TO THE VALUES\n 0x80: 0xae,\n // Registered symbol (R)\n 0x81: 0xb0,\n // degree sign\n 0x82: 0xbd,\n // 1/2 symbol\n 0x83: 0xbf,\n // Inverted (open) question mark\n 0x84: 0x2122,\n // Trademark symbol (TM)\n 0x85: 0xa2,\n // Cents symbol\n 0x86: 0xa3,\n // Pounds sterling\n 0x87: 0x266a,\n // Music 8'th note\n 0x88: 0xe0,\n // lowercase a, grave accent\n 0x89: 0x20,\n // transparent space (regular)\n 0x8a: 0xe8,\n // lowercase e, grave accent\n 0x8b: 0xe2,\n // lowercase a, circumflex accent\n 0x8c: 0xea,\n // lowercase e, circumflex accent\n 0x8d: 0xee,\n // lowercase i, circumflex accent\n 0x8e: 0xf4,\n // lowercase o, circumflex accent\n 0x8f: 0xfb,\n // lowercase u, circumflex accent\n // THIS BLOCK INCLUDES THE 32 EXTENDED (TWO-BYTE) LINE 21 CHARACTERS\n // THAT COME FROM HI BYTE=0x12 AND LOW BETWEEN 0x20 AND 0x3F\n 0x90: 0xc1,\n // capital letter A with acute\n 0x91: 0xc9,\n // capital letter E with acute\n 0x92: 0xd3,\n // capital letter O with acute\n 0x93: 0xda,\n // capital letter U with acute\n 0x94: 0xdc,\n // capital letter U with diaresis\n 0x95: 0xfc,\n // lowercase letter U with diaeresis\n 0x96: 0x2018,\n // opening single quote\n 0x97: 0xa1,\n // inverted exclamation mark\n 0x98: 0x2a,\n // asterisk\n 0x99: 0x2019,\n // closing single quote\n 0x9a: 0x2501,\n // box drawings heavy horizontal\n 0x9b: 0xa9,\n // copyright sign\n 0x9c: 0x2120,\n // Service mark\n 0x9d: 0x2022,\n // (round) bullet\n 0x9e: 0x201c,\n // Left double quotation mark\n 0x9f: 0x201d,\n // Right double quotation mark\n 0xa0: 0xc0,\n // uppercase A, grave accent\n 0xa1: 0xc2,\n // uppercase A, circumflex\n 0xa2: 0xc7,\n // uppercase C with cedilla\n 0xa3: 0xc8,\n // uppercase E, grave accent\n 0xa4: 0xca,\n // uppercase E, circumflex\n 0xa5: 0xcb,\n // capital letter E with diaresis\n 0xa6: 0xeb,\n // lowercase letter e with diaresis\n 0xa7: 0xce,\n // uppercase I, circumflex\n 0xa8: 0xcf,\n // uppercase I, with diaresis\n 0xa9: 0xef,\n // lowercase i, with diaresis\n 0xaa: 0xd4,\n // uppercase O, circumflex\n 0xab: 0xd9,\n // uppercase U, grave accent\n 0xac: 0xf9,\n // lowercase u, grave accent\n 0xad: 0xdb,\n // uppercase U, circumflex\n 0xae: 0xab,\n // left-pointing double angle quotation mark\n 0xaf: 0xbb,\n // right-pointing double angle quotation mark\n // THIS BLOCK INCLUDES THE 32 EXTENDED (TWO-BYTE) LINE 21 CHARACTERS\n // THAT COME FROM HI BYTE=0x13 AND LOW BETWEEN 0x20 AND 0x3F\n 0xb0: 0xc3,\n // Uppercase A, tilde\n 0xb1: 0xe3,\n // Lowercase a, tilde\n 0xb2: 0xcd,\n // Uppercase I, acute accent\n 0xb3: 0xcc,\n // Uppercase I, grave accent\n 0xb4: 0xec,\n // Lowercase i, grave accent\n 0xb5: 0xd2,\n // Uppercase O, grave accent\n 0xb6: 0xf2,\n // Lowercase o, grave accent\n 0xb7: 0xd5,\n // Uppercase O, tilde\n 0xb8: 0xf5,\n // Lowercase o, tilde\n 0xb9: 0x7b,\n // Open curly brace\n 0xba: 0x7d,\n // Closing curly brace\n 0xbb: 0x5c,\n // Backslash\n 0xbc: 0x5e,\n // Caret\n 0xbd: 0x5f,\n // Underscore\n 0xbe: 0x7c,\n // Pipe (vertical line)\n 0xbf: 0x223c,\n // Tilde operator\n 0xc0: 0xc4,\n // Uppercase A, umlaut\n 0xc1: 0xe4,\n // Lowercase A, umlaut\n 0xc2: 0xd6,\n // Uppercase O, umlaut\n 0xc3: 0xf6,\n // Lowercase o, umlaut\n 0xc4: 0xdf,\n // Esszett (sharp S)\n 0xc5: 0xa5,\n // Yen symbol\n 0xc6: 0xa4,\n // Generic currency sign\n 0xc7: 0x2503,\n // Box drawings heavy vertical\n 0xc8: 0xc5,\n // Uppercase A, ring\n 0xc9: 0xe5,\n // Lowercase A, ring\n 0xca: 0xd8,\n // Uppercase O, stroke\n 0xcb: 0xf8,\n // Lowercase o, strok\n 0xcc: 0x250f,\n // Box drawings heavy down and right\n 0xcd: 0x2513,\n // Box drawings heavy down and left\n 0xce: 0x2517,\n // Box drawings heavy up and right\n 0xcf: 0x251b // Box drawings heavy up and left\n };\n\n /**\n * Utils\n */\n var getCharForByte = function getCharForByte(_byte) {\n var charCode = _byte;\n if (specialCea608CharsCodes.hasOwnProperty(_byte)) {\n charCode = specialCea608CharsCodes[_byte];\n }\n return String.fromCharCode(charCode);\n };\n var NR_ROWS = 15;\n var NR_COLS = 100;\n // Tables to look up row from PAC data\n var rowsLowCh1 = {\n 0x11: 1,\n 0x12: 3,\n 0x15: 5,\n 0x16: 7,\n 0x17: 9,\n 0x10: 11,\n 0x13: 12,\n 0x14: 14\n };\n var rowsHighCh1 = {\n 0x11: 2,\n 0x12: 4,\n 0x15: 6,\n 0x16: 8,\n 0x17: 10,\n 0x13: 13,\n 0x14: 15\n };\n var rowsLowCh2 = {\n 0x19: 1,\n 0x1a: 3,\n 0x1d: 5,\n 0x1e: 7,\n 0x1f: 9,\n 0x18: 11,\n 0x1b: 12,\n 0x1c: 14\n };\n var rowsHighCh2 = {\n 0x19: 2,\n 0x1a: 4,\n 0x1d: 6,\n 0x1e: 8,\n 0x1f: 10,\n 0x1b: 13,\n 0x1c: 15\n };\n var backgroundColors = ['white', 'green', 'blue', 'cyan', 'red', 'yellow', 'magenta', 'black', 'transparent'];\n var CaptionsLogger = /*#__PURE__*/function () {\n function CaptionsLogger() {\n this.time = null;\n this.verboseLevel = 0;\n }\n var _proto = CaptionsLogger.prototype;\n _proto.log = function log(severity, msg) {\n if (this.verboseLevel >= severity) {\n var m = typeof msg === 'function' ? msg() : msg;\n logger.log(this.time + \" [\" + severity + \"] \" + m);\n }\n };\n return CaptionsLogger;\n }();\n var numArrayToHexArray = function numArrayToHexArray(numArray) {\n var hexArray = [];\n for (var j = 0; j < numArray.length; j++) {\n hexArray.push(numArray[j].toString(16));\n }\n return hexArray;\n };\n var PenState = /*#__PURE__*/function () {\n function PenState() {\n this.foreground = 'white';\n this.underline = false;\n this.italics = false;\n this.background = 'black';\n this.flash = false;\n }\n var _proto2 = PenState.prototype;\n _proto2.reset = function reset() {\n this.foreground = 'white';\n this.underline = false;\n this.italics = false;\n this.background = 'black';\n this.flash = false;\n };\n _proto2.setStyles = function setStyles(styles) {\n var attribs = ['foreground', 'underline', 'italics', 'background', 'flash'];\n for (var i = 0; i < attribs.length; i++) {\n var style = attribs[i];\n if (styles.hasOwnProperty(style)) {\n this[style] = styles[style];\n }\n }\n };\n _proto2.isDefault = function isDefault() {\n return this.foreground === 'white' && !this.underline && !this.italics && this.background === 'black' && !this.flash;\n };\n _proto2.equals = function equals(other) {\n return this.foreground === other.foreground && this.underline === other.underline && this.italics === other.italics && this.background === other.background && this.flash === other.flash;\n };\n _proto2.copy = function copy(newPenState) {\n this.foreground = newPenState.foreground;\n this.underline = newPenState.underline;\n this.italics = newPenState.italics;\n this.background = newPenState.background;\n this.flash = newPenState.flash;\n };\n _proto2.toString = function toString() {\n return 'color=' + this.foreground + ', underline=' + this.underline + ', italics=' + this.italics + ', background=' + this.background + ', flash=' + this.flash;\n };\n return PenState;\n }();\n /**\n * Unicode character with styling and background.\n * @constructor\n */\n var StyledUnicodeChar = /*#__PURE__*/function () {\n function StyledUnicodeChar() {\n this.uchar = ' ';\n this.penState = new PenState();\n }\n var _proto3 = StyledUnicodeChar.prototype;\n _proto3.reset = function reset() {\n this.uchar = ' ';\n this.penState.reset();\n };\n _proto3.setChar = function setChar(uchar, newPenState) {\n this.uchar = uchar;\n this.penState.copy(newPenState);\n };\n _proto3.setPenState = function setPenState(newPenState) {\n this.penState.copy(newPenState);\n };\n _proto3.equals = function equals(other) {\n return this.uchar === other.uchar && this.penState.equals(other.penState);\n };\n _proto3.copy = function copy(newChar) {\n this.uchar = newChar.uchar;\n this.penState.copy(newChar.penState);\n };\n _proto3.isEmpty = function isEmpty() {\n return this.uchar === ' ' && this.penState.isDefault();\n };\n return StyledUnicodeChar;\n }();\n /**\n * CEA-608 row consisting of NR_COLS instances of StyledUnicodeChar.\n * @constructor\n */\n var Row = /*#__PURE__*/function () {\n function Row(logger) {\n this.chars = [];\n this.pos = 0;\n this.currPenState = new PenState();\n this.cueStartTime = null;\n this.logger = void 0;\n for (var i = 0; i < NR_COLS; i++) {\n this.chars.push(new StyledUnicodeChar());\n }\n this.logger = logger;\n }\n var _proto4 = Row.prototype;\n _proto4.equals = function equals(other) {\n for (var i = 0; i < NR_COLS; i++) {\n if (!this.chars[i].equals(other.chars[i])) {\n return false;\n }\n }\n return true;\n };\n _proto4.copy = function copy(other) {\n for (var i = 0; i < NR_COLS; i++) {\n this.chars[i].copy(other.chars[i]);\n }\n };\n _proto4.isEmpty = function isEmpty() {\n var empty = true;\n for (var i = 0; i < NR_COLS; i++) {\n if (!this.chars[i].isEmpty()) {\n empty = false;\n break;\n }\n }\n return empty;\n }\n\n /**\n * Set the cursor to a valid column.\n */;\n _proto4.setCursor = function setCursor(absPos) {\n if (this.pos !== absPos) {\n this.pos = absPos;\n }\n if (this.pos < 0) {\n this.logger.log(3, 'Negative cursor position ' + this.pos);\n this.pos = 0;\n } else if (this.pos > NR_COLS) {\n this.logger.log(3, 'Too large cursor position ' + this.pos);\n this.pos = NR_COLS;\n }\n }\n\n /**\n * Move the cursor relative to current position.\n */;\n _proto4.moveCursor = function moveCursor(relPos) {\n var newPos = this.pos + relPos;\n if (relPos > 1) {\n for (var i = this.pos + 1; i < newPos + 1; i++) {\n this.chars[i].setPenState(this.currPenState);\n }\n }\n this.setCursor(newPos);\n }\n\n /**\n * Backspace, move one step back and clear character.\n */;\n _proto4.backSpace = function backSpace() {\n this.moveCursor(-1);\n this.chars[this.pos].setChar(' ', this.currPenState);\n };\n _proto4.insertChar = function insertChar(_byte2) {\n var _this = this;\n if (_byte2 >= 0x90) {\n // Extended char\n this.backSpace();\n }\n var _char = getCharForByte(_byte2);\n if (this.pos >= NR_COLS) {\n this.logger.log(0, function () {\n return 'Cannot insert ' + _byte2.toString(16) + ' (' + _char + ') at position ' + _this.pos + '. Skipping it!';\n });\n return;\n }\n this.chars[this.pos].setChar(_char, this.currPenState);\n this.moveCursor(1);\n };\n _proto4.clearFromPos = function clearFromPos(startPos) {\n var i;\n for (i = startPos; i < NR_COLS; i++) {\n this.chars[i].reset();\n }\n };\n _proto4.clear = function clear() {\n this.clearFromPos(0);\n this.pos = 0;\n this.currPenState.reset();\n };\n _proto4.clearToEndOfRow = function clearToEndOfRow() {\n this.clearFromPos(this.pos);\n };\n _proto4.getTextString = function getTextString() {\n var chars = [];\n var empty = true;\n for (var i = 0; i < NR_COLS; i++) {\n var _char2 = this.chars[i].uchar;\n if (_char2 !== ' ') {\n empty = false;\n }\n chars.push(_char2);\n }\n if (empty) {\n return '';\n } else {\n return chars.join('');\n }\n };\n _proto4.setPenStyles = function setPenStyles(styles) {\n this.currPenState.setStyles(styles);\n var currChar = this.chars[this.pos];\n currChar.setPenState(this.currPenState);\n };\n return Row;\n }();\n\n /**\n * Keep a CEA-608 screen of 32x15 styled characters\n * @constructor\n */\n var CaptionScreen = /*#__PURE__*/function () {\n function CaptionScreen(logger) {\n this.rows = [];\n this.currRow = NR_ROWS - 1;\n this.nrRollUpRows = null;\n this.lastOutputScreen = null;\n this.logger = void 0;\n for (var i = 0; i < NR_ROWS; i++) {\n this.rows.push(new Row(logger));\n }\n this.logger = logger;\n }\n var _proto5 = CaptionScreen.prototype;\n _proto5.reset = function reset() {\n for (var i = 0; i < NR_ROWS; i++) {\n this.rows[i].clear();\n }\n this.currRow = NR_ROWS - 1;\n };\n _proto5.equals = function equals(other) {\n var equal = true;\n for (var i = 0; i < NR_ROWS; i++) {\n if (!this.rows[i].equals(other.rows[i])) {\n equal = false;\n break;\n }\n }\n return equal;\n };\n _proto5.copy = function copy(other) {\n for (var i = 0; i < NR_ROWS; i++) {\n this.rows[i].copy(other.rows[i]);\n }\n };\n _proto5.isEmpty = function isEmpty() {\n var empty = true;\n for (var i = 0; i < NR_ROWS; i++) {\n if (!this.rows[i].isEmpty()) {\n empty = false;\n break;\n }\n }\n return empty;\n };\n _proto5.backSpace = function backSpace() {\n var row = this.rows[this.currRow];\n row.backSpace();\n };\n _proto5.clearToEndOfRow = function clearToEndOfRow() {\n var row = this.rows[this.currRow];\n row.clearToEndOfRow();\n }\n\n /**\n * Insert a character (without styling) in the current row.\n */;\n _proto5.insertChar = function insertChar(_char3) {\n var row = this.rows[this.currRow];\n row.insertChar(_char3);\n };\n _proto5.setPen = function setPen(styles) {\n var row = this.rows[this.currRow];\n row.setPenStyles(styles);\n };\n _proto5.moveCursor = function moveCursor(relPos) {\n var row = this.rows[this.currRow];\n row.moveCursor(relPos);\n };\n _proto5.setCursor = function setCursor(absPos) {\n this.logger.log(2, 'setCursor: ' + absPos);\n var row = this.rows[this.currRow];\n row.setCursor(absPos);\n };\n _proto5.setPAC = function setPAC(pacData) {\n this.logger.log(2, function () {\n return 'pacData = ' + JSON.stringify(pacData);\n });\n var newRow = pacData.row - 1;\n if (this.nrRollUpRows && newRow < this.nrRollUpRows - 1) {\n newRow = this.nrRollUpRows - 1;\n }\n\n // Make sure this only affects Roll-up Captions by checking this.nrRollUpRows\n if (this.nrRollUpRows && this.currRow !== newRow) {\n // clear all rows first\n for (var i = 0; i < NR_ROWS; i++) {\n this.rows[i].clear();\n }\n\n // Copy this.nrRollUpRows rows from lastOutputScreen and place it in the newRow location\n // topRowIndex - the start of rows to copy (inclusive index)\n var topRowIndex = this.currRow + 1 - this.nrRollUpRows;\n // We only copy if the last position was already shown.\n // We use the cueStartTime value to check this.\n var lastOutputScreen = this.lastOutputScreen;\n if (lastOutputScreen) {\n var prevLineTime = lastOutputScreen.rows[topRowIndex].cueStartTime;\n var time = this.logger.time;\n if (prevLineTime !== null && time !== null && prevLineTime < time) {\n for (var _i = 0; _i < this.nrRollUpRows; _i++) {\n this.rows[newRow - this.nrRollUpRows + _i + 1].copy(lastOutputScreen.rows[topRowIndex + _i]);\n }\n }\n }\n }\n this.currRow = newRow;\n var row = this.rows[this.currRow];\n if (pacData.indent !== null) {\n var indent = pacData.indent;\n var prevPos = Math.max(indent - 1, 0);\n row.setCursor(pacData.indent);\n pacData.color = row.chars[prevPos].penState.foreground;\n }\n var styles = {\n foreground: pacData.color,\n underline: pacData.underline,\n italics: pacData.italics,\n background: 'black',\n flash: false\n };\n this.setPen(styles);\n }\n\n /**\n * Set background/extra foreground, but first do back_space, and then insert space (backwards compatibility).\n */;\n _proto5.setBkgData = function setBkgData(bkgData) {\n this.logger.log(2, function () {\n return 'bkgData = ' + JSON.stringify(bkgData);\n });\n this.backSpace();\n this.setPen(bkgData);\n this.insertChar(0x20); // Space\n };\n _proto5.setRollUpRows = function setRollUpRows(nrRows) {\n this.nrRollUpRows = nrRows;\n };\n _proto5.rollUp = function rollUp() {\n var _this2 = this;\n if (this.nrRollUpRows === null) {\n this.logger.log(3, 'roll_up but nrRollUpRows not set yet');\n return; // Not properly setup\n }\n this.logger.log(1, function () {\n return _this2.getDisplayText();\n });\n var topRowIndex = this.currRow + 1 - this.nrRollUpRows;\n var topRow = this.rows.splice(topRowIndex, 1)[0];\n topRow.clear();\n this.rows.splice(this.currRow, 0, topRow);\n this.logger.log(2, 'Rolling up');\n // this.logger.log(VerboseLevel.TEXT, this.get_display_text())\n }\n\n /**\n * Get all non-empty rows with as unicode text.\n */;\n _proto5.getDisplayText = function getDisplayText(asOneRow) {\n asOneRow = asOneRow || false;\n var displayText = [];\n var text = '';\n var rowNr = -1;\n for (var i = 0; i < NR_ROWS; i++) {\n var rowText = this.rows[i].getTextString();\n if (rowText) {\n rowNr = i + 1;\n if (asOneRow) {\n displayText.push('Row ' + rowNr + \": '\" + rowText + \"'\");\n } else {\n displayText.push(rowText.trim());\n }\n }\n }\n if (displayText.length > 0) {\n if (asOneRow) {\n text = '[' + displayText.join(' | ') + ']';\n } else {\n text = displayText.join('\\n');\n }\n }\n return text;\n };\n _proto5.getTextAndFormat = function getTextAndFormat() {\n return this.rows;\n };\n return CaptionScreen;\n }();\n\n // var modes = ['MODE_ROLL-UP', 'MODE_POP-ON', 'MODE_PAINT-ON', 'MODE_TEXT'];\n var Cea608Channel = /*#__PURE__*/function () {\n function Cea608Channel(channelNumber, outputFilter, logger) {\n this.chNr = void 0;\n this.outputFilter = void 0;\n this.mode = void 0;\n this.verbose = void 0;\n this.displayedMemory = void 0;\n this.nonDisplayedMemory = void 0;\n this.lastOutputScreen = void 0;\n this.currRollUpRow = void 0;\n this.writeScreen = void 0;\n this.cueStartTime = void 0;\n this.logger = void 0;\n this.chNr = channelNumber;\n this.outputFilter = outputFilter;\n this.mode = null;\n this.verbose = 0;\n this.displayedMemory = new CaptionScreen(logger);\n this.nonDisplayedMemory = new CaptionScreen(logger);\n this.lastOutputScreen = new CaptionScreen(logger);\n this.currRollUpRow = this.displayedMemory.rows[NR_ROWS - 1];\n this.writeScreen = this.displayedMemory;\n this.mode = null;\n this.cueStartTime = null; // Keeps track of where a cue started.\n this.logger = logger;\n }\n var _proto6 = Cea608Channel.prototype;\n _proto6.reset = function reset() {\n this.mode = null;\n this.displayedMemory.reset();\n this.nonDisplayedMemory.reset();\n this.lastOutputScreen.reset();\n this.outputFilter.reset();\n this.currRollUpRow = this.displayedMemory.rows[NR_ROWS - 1];\n this.writeScreen = this.displayedMemory;\n this.mode = null;\n this.cueStartTime = null;\n };\n _proto6.getHandler = function getHandler() {\n return this.outputFilter;\n };\n _proto6.setHandler = function setHandler(newHandler) {\n this.outputFilter = newHandler;\n };\n _proto6.setPAC = function setPAC(pacData) {\n this.writeScreen.setPAC(pacData);\n };\n _proto6.setBkgData = function setBkgData(bkgData) {\n this.writeScreen.setBkgData(bkgData);\n };\n _proto6.setMode = function setMode(newMode) {\n if (newMode === this.mode) {\n return;\n }\n this.mode = newMode;\n this.logger.log(2, function () {\n return 'MODE=' + newMode;\n });\n if (this.mode === 'MODE_POP-ON') {\n this.writeScreen = this.nonDisplayedMemory;\n } else {\n this.writeScreen = this.displayedMemory;\n this.writeScreen.reset();\n }\n if (this.mode !== 'MODE_ROLL-UP') {\n this.displayedMemory.nrRollUpRows = null;\n this.nonDisplayedMemory.nrRollUpRows = null;\n }\n this.mode = newMode;\n };\n _proto6.insertChars = function insertChars(chars) {\n var _this3 = this;\n for (var i = 0; i < chars.length; i++) {\n this.writeScreen.insertChar(chars[i]);\n }\n var screen = this.writeScreen === this.displayedMemory ? 'DISP' : 'NON_DISP';\n this.logger.log(2, function () {\n return screen + ': ' + _this3.writeScreen.getDisplayText(true);\n });\n if (this.mode === 'MODE_PAINT-ON' || this.mode === 'MODE_ROLL-UP') {\n this.logger.log(1, function () {\n return 'DISPLAYED: ' + _this3.displayedMemory.getDisplayText(true);\n });\n this.outputDataUpdate();\n }\n };\n _proto6.ccRCL = function ccRCL() {\n // Resume Caption Loading (switch mode to Pop On)\n this.logger.log(2, 'RCL - Resume Caption Loading');\n this.setMode('MODE_POP-ON');\n };\n _proto6.ccBS = function ccBS() {\n // BackSpace\n this.logger.log(2, 'BS - BackSpace');\n if (this.mode === 'MODE_TEXT') {\n return;\n }\n this.writeScreen.backSpace();\n if (this.writeScreen === this.displayedMemory) {\n this.outputDataUpdate();\n }\n };\n _proto6.ccAOF = function ccAOF() {\n // Reserved (formerly Alarm Off)\n };\n _proto6.ccAON = function ccAON() {\n // Reserved (formerly Alarm On)\n };\n _proto6.ccDER = function ccDER() {\n // Delete to End of Row\n this.logger.log(2, 'DER- Delete to End of Row');\n this.writeScreen.clearToEndOfRow();\n this.outputDataUpdate();\n };\n _proto6.ccRU = function ccRU(nrRows) {\n // Roll-Up Captions-2,3,or 4 Rows\n this.logger.log(2, 'RU(' + nrRows + ') - Roll Up');\n this.writeScreen = this.displayedMemory;\n this.setMode('MODE_ROLL-UP');\n this.writeScreen.setRollUpRows(nrRows);\n };\n _proto6.ccFON = function ccFON() {\n // Flash On\n this.logger.log(2, 'FON - Flash On');\n this.writeScreen.setPen({\n flash: true\n });\n };\n _proto6.ccRDC = function ccRDC() {\n // Resume Direct Captioning (switch mode to PaintOn)\n this.logger.log(2, 'RDC - Resume Direct Captioning');\n this.setMode('MODE_PAINT-ON');\n };\n _proto6.ccTR = function ccTR() {\n // Text Restart in text mode (not supported, however)\n this.logger.log(2, 'TR');\n this.setMode('MODE_TEXT');\n };\n _proto6.ccRTD = function ccRTD() {\n // Resume Text Display in Text mode (not supported, however)\n this.logger.log(2, 'RTD');\n this.setMode('MODE_TEXT');\n };\n _proto6.ccEDM = function ccEDM() {\n // Erase Displayed Memory\n this.logger.log(2, 'EDM - Erase Displayed Memory');\n this.displayedMemory.reset();\n this.outputDataUpdate(true);\n };\n _proto6.ccCR = function ccCR() {\n // Carriage Return\n this.logger.log(2, 'CR - Carriage Return');\n this.writeScreen.rollUp();\n this.outputDataUpdate(true);\n };\n _proto6.ccENM = function ccENM() {\n // Erase Non-Displayed Memory\n this.logger.log(2, 'ENM - Erase Non-displayed Memory');\n this.nonDisplayedMemory.reset();\n };\n _proto6.ccEOC = function ccEOC() {\n var _this4 = this;\n // End of Caption (Flip Memories)\n this.logger.log(2, 'EOC - End Of Caption');\n if (this.mode === 'MODE_POP-ON') {\n var tmp = this.displayedMemory;\n this.displayedMemory = this.nonDisplayedMemory;\n this.nonDisplayedMemory = tmp;\n this.writeScreen = this.nonDisplayedMemory;\n this.logger.log(1, function () {\n return 'DISP: ' + _this4.displayedMemory.getDisplayText();\n });\n }\n this.outputDataUpdate(true);\n };\n _proto6.ccTO = function ccTO(nrCols) {\n // Tab Offset 1,2, or 3 columns\n this.logger.log(2, 'TO(' + nrCols + ') - Tab Offset');\n this.writeScreen.moveCursor(nrCols);\n };\n _proto6.ccMIDROW = function ccMIDROW(secondByte) {\n // Parse MIDROW command\n var styles = {\n flash: false\n };\n styles.underline = secondByte % 2 === 1;\n styles.italics = secondByte >= 0x2e;\n if (!styles.italics) {\n var colorIndex = Math.floor(secondByte / 2) - 0x10;\n var colors = ['white', 'green', 'blue', 'cyan', 'red', 'yellow', 'magenta'];\n styles.foreground = colors[colorIndex];\n } else {\n styles.foreground = 'white';\n }\n this.logger.log(2, 'MIDROW: ' + JSON.stringify(styles));\n this.writeScreen.setPen(styles);\n };\n _proto6.outputDataUpdate = function outputDataUpdate(dispatch) {\n if (dispatch === void 0) {\n dispatch = false;\n }\n var time = this.logger.time;\n if (time === null) {\n return;\n }\n if (this.outputFilter) {\n if (this.cueStartTime === null && !this.displayedMemory.isEmpty()) {\n // Start of a new cue\n this.cueStartTime = time;\n } else {\n if (!this.displayedMemory.equals(this.lastOutputScreen)) {\n this.outputFilter.newCue(this.cueStartTime, time, this.lastOutputScreen);\n if (dispatch && this.outputFilter.dispatchCue) {\n this.outputFilter.dispatchCue();\n }\n this.cueStartTime = this.displayedMemory.isEmpty() ? null : time;\n }\n }\n this.lastOutputScreen.copy(this.displayedMemory);\n }\n };\n _proto6.cueSplitAtTime = function cueSplitAtTime(t) {\n if (this.outputFilter) {\n if (!this.displayedMemory.isEmpty()) {\n if (this.outputFilter.newCue) {\n this.outputFilter.newCue(this.cueStartTime, t, this.displayedMemory);\n }\n this.cueStartTime = t;\n }\n }\n };\n return Cea608Channel;\n }(); // Will be 1 or 2 when parsing captions\n var Cea608Parser = /*#__PURE__*/function () {\n function Cea608Parser(field, out1, out2) {\n this.channels = void 0;\n this.currentChannel = 0;\n this.cmdHistory = createCmdHistory();\n this.logger = void 0;\n var logger = this.logger = new CaptionsLogger();\n this.channels = [null, new Cea608Channel(field, out1, logger), new Cea608Channel(field + 1, out2, logger)];\n }\n var _proto7 = Cea608Parser.prototype;\n _proto7.getHandler = function getHandler(channel) {\n return this.channels[channel].getHandler();\n };\n _proto7.setHandler = function setHandler(channel, newHandler) {\n this.channels[channel].setHandler(newHandler);\n }\n\n /**\n * Add data for time t in forms of list of bytes (unsigned ints). The bytes are treated as pairs.\n */;\n _proto7.addData = function addData(time, byteList) {\n var cmdFound;\n var a;\n var b;\n var charsFound = false;\n this.logger.time = time;\n for (var i = 0; i < byteList.length; i += 2) {\n a = byteList[i] & 0x7f;\n b = byteList[i + 1] & 0x7f;\n if (a === 0 && b === 0) {\n continue;\n } else {\n this.logger.log(3, '[' + numArrayToHexArray([byteList[i], byteList[i + 1]]) + '] -> (' + numArrayToHexArray([a, b]) + ')');\n }\n cmdFound = this.parseCmd(a, b);\n if (!cmdFound) {\n cmdFound = this.parseMidrow(a, b);\n }\n if (!cmdFound) {\n cmdFound = this.parsePAC(a, b);\n }\n if (!cmdFound) {\n cmdFound = this.parseBackgroundAttributes(a, b);\n }\n if (!cmdFound) {\n charsFound = this.parseChars(a, b);\n if (charsFound) {\n var currChNr = this.currentChannel;\n if (currChNr && currChNr > 0) {\n var channel = this.channels[currChNr];\n channel.insertChars(charsFound);\n } else {\n this.logger.log(2, 'No channel found yet. TEXT-MODE?');\n }\n }\n }\n if (!cmdFound && !charsFound) {\n this.logger.log(2, \"Couldn't parse cleaned data \" + numArrayToHexArray([a, b]) + ' orig: ' + numArrayToHexArray([byteList[i], byteList[i + 1]]));\n }\n }\n }\n\n /**\n * Parse Command.\n * @returns True if a command was found\n */;\n _proto7.parseCmd = function parseCmd(a, b) {\n var cmdHistory = this.cmdHistory;\n var cond1 = (a === 0x14 || a === 0x1c || a === 0x15 || a === 0x1d) && b >= 0x20 && b <= 0x2f;\n var cond2 = (a === 0x17 || a === 0x1f) && b >= 0x21 && b <= 0x23;\n if (!(cond1 || cond2)) {\n return false;\n }\n if (hasCmdRepeated(a, b, cmdHistory)) {\n setLastCmd(null, null, cmdHistory);\n this.logger.log(3, 'Repeated command (' + numArrayToHexArray([a, b]) + ') is dropped');\n return true;\n }\n var chNr = a === 0x14 || a === 0x15 || a === 0x17 ? 1 : 2;\n var channel = this.channels[chNr];\n if (a === 0x14 || a === 0x15 || a === 0x1c || a === 0x1d) {\n if (b === 0x20) {\n channel.ccRCL();\n } else if (b === 0x21) {\n channel.ccBS();\n } else if (b === 0x22) {\n channel.ccAOF();\n } else if (b === 0x23) {\n channel.ccAON();\n } else if (b === 0x24) {\n channel.ccDER();\n } else if (b === 0x25) {\n channel.ccRU(2);\n } else if (b === 0x26) {\n channel.ccRU(3);\n } else if (b === 0x27) {\n channel.ccRU(4);\n } else if (b === 0x28) {\n channel.ccFON();\n } else if (b === 0x29) {\n channel.ccRDC();\n } else if (b === 0x2a) {\n channel.ccTR();\n } else if (b === 0x2b) {\n channel.ccRTD();\n } else if (b === 0x2c) {\n channel.ccEDM();\n } else if (b === 0x2d) {\n channel.ccCR();\n } else if (b === 0x2e) {\n channel.ccENM();\n } else if (b === 0x2f) {\n channel.ccEOC();\n }\n } else {\n // a == 0x17 || a == 0x1F\n channel.ccTO(b - 0x20);\n }\n setLastCmd(a, b, cmdHistory);\n this.currentChannel = chNr;\n return true;\n }\n\n /**\n * Parse midrow styling command\n */;\n _proto7.parseMidrow = function parseMidrow(a, b) {\n var chNr = 0;\n if ((a === 0x11 || a === 0x19) && b >= 0x20 && b <= 0x2f) {\n if (a === 0x11) {\n chNr = 1;\n } else {\n chNr = 2;\n }\n if (chNr !== this.currentChannel) {\n this.logger.log(0, 'Mismatch channel in midrow parsing');\n return false;\n }\n var channel = this.channels[chNr];\n if (!channel) {\n return false;\n }\n channel.ccMIDROW(b);\n this.logger.log(3, 'MIDROW (' + numArrayToHexArray([a, b]) + ')');\n return true;\n }\n return false;\n }\n\n /**\n * Parse Preable Access Codes (Table 53).\n * @returns {Boolean} Tells if PAC found\n */;\n _proto7.parsePAC = function parsePAC(a, b) {\n var row;\n var cmdHistory = this.cmdHistory;\n var case1 = (a >= 0x11 && a <= 0x17 || a >= 0x19 && a <= 0x1f) && b >= 0x40 && b <= 0x7f;\n var case2 = (a === 0x10 || a === 0x18) && b >= 0x40 && b <= 0x5f;\n if (!(case1 || case2)) {\n return false;\n }\n if (hasCmdRepeated(a, b, cmdHistory)) {\n setLastCmd(null, null, cmdHistory);\n return true; // Repeated commands are dropped (once)\n }\n var chNr = a <= 0x17 ? 1 : 2;\n if (b >= 0x40 && b <= 0x5f) {\n row = chNr === 1 ? rowsLowCh1[a] : rowsLowCh2[a];\n } else {\n // 0x60 <= b <= 0x7F\n row = chNr === 1 ? rowsHighCh1[a] : rowsHighCh2[a];\n }\n var channel = this.channels[chNr];\n if (!channel) {\n return false;\n }\n channel.setPAC(this.interpretPAC(row, b));\n setLastCmd(a, b, cmdHistory);\n this.currentChannel = chNr;\n return true;\n }\n\n /**\n * Interpret the second byte of the pac, and return the information.\n * @returns pacData with style parameters\n */;\n _proto7.interpretPAC = function interpretPAC(row, _byte3) {\n var pacIndex;\n var pacData = {\n color: null,\n italics: false,\n indent: null,\n underline: false,\n row: row\n };\n if (_byte3 > 0x5f) {\n pacIndex = _byte3 - 0x60;\n } else {\n pacIndex = _byte3 - 0x40;\n }\n pacData.underline = (pacIndex & 1) === 1;\n if (pacIndex <= 0xd) {\n pacData.color = ['white', 'green', 'blue', 'cyan', 'red', 'yellow', 'magenta', 'white'][Math.floor(pacIndex / 2)];\n } else if (pacIndex <= 0xf) {\n pacData.italics = true;\n pacData.color = 'white';\n } else {\n pacData.indent = Math.floor((pacIndex - 0x10) / 2) * 4;\n }\n return pacData; // Note that row has zero offset. The spec uses 1.\n }\n\n /**\n * Parse characters.\n * @returns An array with 1 to 2 codes corresponding to chars, if found. null otherwise.\n */;\n _proto7.parseChars = function parseChars(a, b) {\n var channelNr;\n var charCodes = null;\n var charCode1 = null;\n if (a >= 0x19) {\n channelNr = 2;\n charCode1 = a - 8;\n } else {\n channelNr = 1;\n charCode1 = a;\n }\n if (charCode1 >= 0x11 && charCode1 <= 0x13) {\n // Special character\n var oneCode;\n if (charCode1 === 0x11) {\n oneCode = b + 0x50;\n } else if (charCode1 === 0x12) {\n oneCode = b + 0x70;\n } else {\n oneCode = b + 0x90;\n }\n this.logger.log(2, \"Special char '\" + getCharForByte(oneCode) + \"' in channel \" + channelNr);\n charCodes = [oneCode];\n } else if (a >= 0x20 && a <= 0x7f) {\n charCodes = b === 0 ? [a] : [a, b];\n }\n if (charCodes) {\n var hexCodes = numArrayToHexArray(charCodes);\n this.logger.log(3, 'Char codes = ' + hexCodes.join(','));\n setLastCmd(a, b, this.cmdHistory);\n }\n return charCodes;\n }\n\n /**\n * Parse extended background attributes as well as new foreground color black.\n * @returns True if background attributes are found\n */;\n _proto7.parseBackgroundAttributes = function parseBackgroundAttributes(a, b) {\n var case1 = (a === 0x10 || a === 0x18) && b >= 0x20 && b <= 0x2f;\n var case2 = (a === 0x17 || a === 0x1f) && b >= 0x2d && b <= 0x2f;\n if (!(case1 || case2)) {\n return false;\n }\n var index;\n var bkgData = {};\n if (a === 0x10 || a === 0x18) {\n index = Math.floor((b - 0x20) / 2);\n bkgData.background = backgroundColors[index];\n if (b % 2 === 1) {\n bkgData.background = bkgData.background + '_semi';\n }\n } else if (b === 0x2d) {\n bkgData.background = 'transparent';\n } else {\n bkgData.foreground = 'black';\n if (b === 0x2f) {\n bkgData.underline = true;\n }\n }\n var chNr = a <= 0x17 ? 1 : 2;\n var channel = this.channels[chNr];\n channel.setBkgData(bkgData);\n setLastCmd(a, b, this.cmdHistory);\n return true;\n }\n\n /**\n * Reset state of parser and its channels.\n */;\n _proto7.reset = function reset() {\n for (var i = 0; i < Object.keys(this.channels).length; i++) {\n var channel = this.channels[i];\n if (channel) {\n channel.reset();\n }\n }\n this.cmdHistory = createCmdHistory();\n }\n\n /**\n * Trigger the generation of a cue, and the start of a new one if displayScreens are not empty.\n */;\n _proto7.cueSplitAtTime = function cueSplitAtTime(t) {\n for (var i = 0; i < this.channels.length; i++) {\n var channel = this.channels[i];\n if (channel) {\n channel.cueSplitAtTime(t);\n }\n }\n };\n return Cea608Parser;\n }();\n function setLastCmd(a, b, cmdHistory) {\n cmdHistory.a = a;\n cmdHistory.b = b;\n }\n function hasCmdRepeated(a, b, cmdHistory) {\n return cmdHistory.a === a && cmdHistory.b === b;\n }\n function createCmdHistory() {\n return {\n a: null,\n b: null\n };\n }\n\n var OutputFilter = /*#__PURE__*/function () {\n function OutputFilter(timelineController, trackName) {\n this.timelineController = void 0;\n this.cueRanges = [];\n this.trackName = void 0;\n this.startTime = null;\n this.endTime = null;\n this.screen = null;\n this.timelineController = timelineController;\n this.trackName = trackName;\n }\n var _proto = OutputFilter.prototype;\n _proto.dispatchCue = function dispatchCue() {\n if (this.startTime === null) {\n return;\n }\n this.timelineController.addCues(this.trackName, this.startTime, this.endTime, this.screen, this.cueRanges);\n this.startTime = null;\n };\n _proto.newCue = function newCue(startTime, endTime, screen) {\n if (this.startTime === null || this.startTime > startTime) {\n this.startTime = startTime;\n }\n this.endTime = endTime;\n this.screen = screen;\n this.timelineController.createCaptionsTrack(this.trackName);\n };\n _proto.reset = function reset() {\n this.cueRanges = [];\n this.startTime = null;\n };\n return OutputFilter;\n }();\n\n /**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an 'AS IS' BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n var VTTCue = (function () {\n if (optionalSelf != null && optionalSelf.VTTCue) {\n return self.VTTCue;\n }\n var AllowedDirections = ['', 'lr', 'rl'];\n var AllowedAlignments = ['start', 'middle', 'end', 'left', 'right'];\n function isAllowedValue(allowed, value) {\n if (typeof value !== 'string') {\n return false;\n }\n // necessary for assuring the generic conforms to the Array interface\n if (!Array.isArray(allowed)) {\n return false;\n }\n // reset the type so that the next narrowing works well\n var lcValue = value.toLowerCase();\n // use the allow list to narrow the type to a specific subset of strings\n if (~allowed.indexOf(lcValue)) {\n return lcValue;\n }\n return false;\n }\n function findDirectionSetting(value) {\n return isAllowedValue(AllowedDirections, value);\n }\n function findAlignSetting(value) {\n return isAllowedValue(AllowedAlignments, value);\n }\n function extend(obj) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n var i = 1;\n for (; i < arguments.length; i++) {\n var cobj = arguments[i];\n for (var p in cobj) {\n obj[p] = cobj[p];\n }\n }\n return obj;\n }\n function VTTCue(startTime, endTime, text) {\n var cue = this;\n var baseObj = {\n enumerable: true\n };\n /**\n * Shim implementation specific properties. These properties are not in\n * the spec.\n */\n\n // Lets us know when the VTTCue's data has changed in such a way that we need\n // to recompute its display state. This lets us compute its display state\n // lazily.\n cue.hasBeenReset = false;\n\n /**\n * VTTCue and TextTrackCue properties\n * http://dev.w3.org/html5/webvtt/#vttcue-interface\n */\n\n var _id = '';\n var _pauseOnExit = false;\n var _startTime = startTime;\n var _endTime = endTime;\n var _text = text;\n var _region = null;\n var _vertical = '';\n var _snapToLines = true;\n var _line = 'auto';\n var _lineAlign = 'start';\n var _position = 50;\n var _positionAlign = 'middle';\n var _size = 50;\n var _align = 'middle';\n Object.defineProperty(cue, 'id', extend({}, baseObj, {\n get: function get() {\n return _id;\n },\n set: function set(value) {\n _id = '' + value;\n }\n }));\n Object.defineProperty(cue, 'pauseOnExit', extend({}, baseObj, {\n get: function get() {\n return _pauseOnExit;\n },\n set: function set(value) {\n _pauseOnExit = !!value;\n }\n }));\n Object.defineProperty(cue, 'startTime', extend({}, baseObj, {\n get: function get() {\n return _startTime;\n },\n set: function set(value) {\n if (typeof value !== 'number') {\n throw new TypeError('Start time must be set to a number.');\n }\n _startTime = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'endTime', extend({}, baseObj, {\n get: function get() {\n return _endTime;\n },\n set: function set(value) {\n if (typeof value !== 'number') {\n throw new TypeError('End time must be set to a number.');\n }\n _endTime = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'text', extend({}, baseObj, {\n get: function get() {\n return _text;\n },\n set: function set(value) {\n _text = '' + value;\n this.hasBeenReset = true;\n }\n }));\n\n // todo: implement VTTRegion polyfill?\n Object.defineProperty(cue, 'region', extend({}, baseObj, {\n get: function get() {\n return _region;\n },\n set: function set(value) {\n _region = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'vertical', extend({}, baseObj, {\n get: function get() {\n return _vertical;\n },\n set: function set(value) {\n var setting = findDirectionSetting(value);\n // Have to check for false because the setting an be an empty string.\n if (setting === false) {\n throw new SyntaxError('An invalid or illegal string was specified.');\n }\n _vertical = setting;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'snapToLines', extend({}, baseObj, {\n get: function get() {\n return _snapToLines;\n },\n set: function set(value) {\n _snapToLines = !!value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'line', extend({}, baseObj, {\n get: function get() {\n return _line;\n },\n set: function set(value) {\n if (typeof value !== 'number' && value !== 'auto') {\n throw new SyntaxError('An invalid number or illegal string was specified.');\n }\n _line = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'lineAlign', extend({}, baseObj, {\n get: function get() {\n return _lineAlign;\n },\n set: function set(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError('An invalid or illegal string was specified.');\n }\n _lineAlign = setting;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'position', extend({}, baseObj, {\n get: function get() {\n return _position;\n },\n set: function set(value) {\n if (value < 0 || value > 100) {\n throw new Error('Position must be between 0 and 100.');\n }\n _position = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'positionAlign', extend({}, baseObj, {\n get: function get() {\n return _positionAlign;\n },\n set: function set(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError('An invalid or illegal string was specified.');\n }\n _positionAlign = setting;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'size', extend({}, baseObj, {\n get: function get() {\n return _size;\n },\n set: function set(value) {\n if (value < 0 || value > 100) {\n throw new Error('Size must be between 0 and 100.');\n }\n _size = value;\n this.hasBeenReset = true;\n }\n }));\n Object.defineProperty(cue, 'align', extend({}, baseObj, {\n get: function get() {\n return _align;\n },\n set: function set(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError('An invalid or illegal string was specified.');\n }\n _align = setting;\n this.hasBeenReset = true;\n }\n }));\n\n /**\n * Other <track> spec defined properties\n */\n\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#text-track-cue-display-state\n cue.displayState = undefined;\n }\n\n /**\n * VTTCue methods\n */\n\n VTTCue.prototype.getCueAsHTML = function () {\n // Assume WebVTT.convertCueToDOMTree is on the global.\n var WebVTT = self.WebVTT;\n return WebVTT.convertCueToDOMTree(self, this.text);\n };\n // this is a polyfill hack\n return VTTCue;\n })();\n\n /*\n * Source: https://github.com/mozilla/vtt.js/blob/master/dist/vtt.js\n */\n\n var StringDecoder = /*#__PURE__*/function () {\n function StringDecoder() {}\n var _proto = StringDecoder.prototype;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _proto.decode = function decode(data, options) {\n if (!data) {\n return '';\n }\n if (typeof data !== 'string') {\n throw new Error('Error - expected string data.');\n }\n return decodeURIComponent(encodeURIComponent(data));\n };\n return StringDecoder;\n }(); // Try to parse input as a time stamp.\n function parseTimeStamp(input) {\n function computeSeconds(h, m, s, f) {\n return (h | 0) * 3600 + (m | 0) * 60 + (s | 0) + parseFloat(f || 0);\n }\n var m = input.match(/^(?:(\\d+):)?(\\d{2}):(\\d{2})(\\.\\d+)?/);\n if (!m) {\n return null;\n }\n if (parseFloat(m[2]) > 59) {\n // Timestamp takes the form of [hours]:[minutes].[milliseconds]\n // First position is hours as it's over 59.\n return computeSeconds(m[2], m[3], 0, m[4]);\n }\n // Timestamp takes the form of [hours (optional)]:[minutes]:[seconds].[milliseconds]\n return computeSeconds(m[1], m[2], m[3], m[4]);\n }\n\n // A settings object holds key/value pairs and will ignore anything but the first\n // assignment to a specific key.\n var Settings = /*#__PURE__*/function () {\n function Settings() {\n this.values = Object.create(null);\n }\n var _proto2 = Settings.prototype;\n // Only accept the first assignment to any key.\n _proto2.set = function set(k, v) {\n if (!this.get(k) && v !== '') {\n this.values[k] = v;\n }\n }\n // Return the value for a key, or a default value.\n // If 'defaultKey' is passed then 'dflt' is assumed to be an object with\n // a number of possible default values as properties where 'defaultKey' is\n // the key of the property that will be chosen; otherwise it's assumed to be\n // a single value.\n ;\n _proto2.get = function get(k, dflt, defaultKey) {\n if (defaultKey) {\n return this.has(k) ? this.values[k] : dflt[defaultKey];\n }\n return this.has(k) ? this.values[k] : dflt;\n }\n // Check whether we have a value for a key.\n ;\n _proto2.has = function has(k) {\n return k in this.values;\n }\n // Accept a setting if its one of the given alternatives.\n ;\n _proto2.alt = function alt(k, v, a) {\n for (var n = 0; n < a.length; ++n) {\n if (v === a[n]) {\n this.set(k, v);\n break;\n }\n }\n }\n // Accept a setting if its a valid (signed) integer.\n ;\n _proto2.integer = function integer(k, v) {\n if (/^-?\\d+$/.test(v)) {\n // integer\n this.set(k, parseInt(v, 10));\n }\n }\n // Accept a setting if its a valid percentage.\n ;\n _proto2.percent = function percent(k, v) {\n if (/^([\\d]{1,3})(\\.[\\d]*)?%$/.test(v)) {\n var percent = parseFloat(v);\n if (percent >= 0 && percent <= 100) {\n this.set(k, percent);\n return true;\n }\n }\n return false;\n };\n return Settings;\n }(); // Helper function to parse input into groups separated by 'groupDelim', and\n // interpret each group as a key/value pair separated by 'keyValueDelim'.\n function parseOptions(input, callback, keyValueDelim, groupDelim) {\n var groups = groupDelim ? input.split(groupDelim) : [input];\n for (var i in groups) {\n if (typeof groups[i] !== 'string') {\n continue;\n }\n var kv = groups[i].split(keyValueDelim);\n if (kv.length !== 2) {\n continue;\n }\n var _k = kv[0];\n var _v = kv[1];\n callback(_k, _v);\n }\n }\n var defaults = new VTTCue(0, 0, '');\n // 'middle' was changed to 'center' in the spec: https://github.com/w3c/webvtt/pull/244\n // Safari doesn't yet support this change, but FF and Chrome do.\n var center = defaults.align === 'middle' ? 'middle' : 'center';\n function parseCue(input, cue, regionList) {\n // Remember the original input if we need to throw an error.\n var oInput = input;\n // 4.1 WebVTT timestamp\n function consumeTimeStamp() {\n var ts = parseTimeStamp(input);\n if (ts === null) {\n throw new Error('Malformed timestamp: ' + oInput);\n }\n\n // Remove time stamp from input.\n input = input.replace(/^[^\\sa-zA-Z-]+/, '');\n return ts;\n }\n\n // 4.4.2 WebVTT cue settings\n function consumeCueSettings(input, cue) {\n var settings = new Settings();\n parseOptions(input, function (k, v) {\n var vals;\n switch (k) {\n case 'region':\n // Find the last region we parsed with the same region id.\n for (var i = regionList.length - 1; i >= 0; i--) {\n if (regionList[i].id === v) {\n settings.set(k, regionList[i].region);\n break;\n }\n }\n break;\n case 'vertical':\n settings.alt(k, v, ['rl', 'lr']);\n break;\n case 'line':\n vals = v.split(',');\n settings.integer(k, vals[0]);\n if (settings.percent(k, vals[0])) {\n settings.set('snapToLines', false);\n }\n settings.alt(k, vals[0], ['auto']);\n if (vals.length === 2) {\n settings.alt('lineAlign', vals[1], ['start', center, 'end']);\n }\n break;\n case 'position':\n vals = v.split(',');\n settings.percent(k, vals[0]);\n if (vals.length === 2) {\n settings.alt('positionAlign', vals[1], ['start', center, 'end', 'line-left', 'line-right', 'auto']);\n }\n break;\n case 'size':\n settings.percent(k, v);\n break;\n case 'align':\n settings.alt(k, v, ['start', center, 'end', 'left', 'right']);\n break;\n }\n }, /:/, /\\s/);\n\n // Apply default values for any missing fields.\n cue.region = settings.get('region', null);\n cue.vertical = settings.get('vertical', '');\n var line = settings.get('line', 'auto');\n if (line === 'auto' && defaults.line === -1) {\n // set numeric line number for Safari\n line = -1;\n }\n cue.line = line;\n cue.lineAlign = settings.get('lineAlign', 'start');\n cue.snapToLines = settings.get('snapToLines', true);\n cue.size = settings.get('size', 100);\n cue.align = settings.get('align', center);\n var position = settings.get('position', 'auto');\n if (position === 'auto' && defaults.position === 50) {\n // set numeric position for Safari\n position = cue.align === 'start' || cue.align === 'left' ? 0 : cue.align === 'end' || cue.align === 'right' ? 100 : 50;\n }\n cue.position = position;\n }\n function skipWhitespace() {\n input = input.replace(/^\\s+/, '');\n }\n\n // 4.1 WebVTT cue timings.\n skipWhitespace();\n cue.startTime = consumeTimeStamp(); // (1) collect cue start time\n skipWhitespace();\n if (input.slice(0, 3) !== '-->') {\n // (3) next characters must match '-->'\n throw new Error(\"Malformed time stamp (time stamps must be separated by '-->'): \" + oInput);\n }\n input = input.slice(3);\n skipWhitespace();\n cue.endTime = consumeTimeStamp(); // (5) collect cue end time\n\n // 4.1 WebVTT cue settings list.\n skipWhitespace();\n consumeCueSettings(input, cue);\n }\n function fixLineBreaks(input) {\n return input.replace(/<br(?: \\/)?>/gi, '\\n');\n }\n var VTTParser = /*#__PURE__*/function () {\n function VTTParser() {\n this.state = 'INITIAL';\n this.buffer = '';\n this.decoder = new StringDecoder();\n this.regionList = [];\n this.cue = null;\n this.oncue = void 0;\n this.onparsingerror = void 0;\n this.onflush = void 0;\n }\n var _proto3 = VTTParser.prototype;\n _proto3.parse = function parse(data) {\n var _this = this;\n\n // If there is no data then we won't decode it, but will just try to parse\n // whatever is in buffer already. This may occur in circumstances, for\n // example when flush() is called.\n if (data) {\n // Try to decode the data that we received.\n _this.buffer += _this.decoder.decode(data, {\n stream: true\n });\n }\n function collectNextLine() {\n var buffer = _this.buffer;\n var pos = 0;\n buffer = fixLineBreaks(buffer);\n while (pos < buffer.length && buffer[pos] !== '\\r' && buffer[pos] !== '\\n') {\n ++pos;\n }\n var line = buffer.slice(0, pos);\n // Advance the buffer early in case we fail below.\n if (buffer[pos] === '\\r') {\n ++pos;\n }\n if (buffer[pos] === '\\n') {\n ++pos;\n }\n _this.buffer = buffer.slice(pos);\n return line;\n }\n\n // 3.2 WebVTT metadata header syntax\n function parseHeader(input) {\n parseOptions(input, function (k, v) {\n // switch (k) {\n // case 'region':\n // 3.3 WebVTT region metadata header syntax\n // console.log('parse region', v);\n // parseRegion(v);\n // break;\n // }\n }, /:/);\n }\n\n // 5.1 WebVTT file parsing.\n try {\n var line = '';\n if (_this.state === 'INITIAL') {\n // We can't start parsing until we have the first line.\n if (!/\\r\\n|\\n/.test(_this.buffer)) {\n return this;\n }\n line = collectNextLine();\n // strip of UTF-8 BOM if any\n // https://en.wikipedia.org/wiki/Byte_order_mark#UTF-8\n var m = line.match(/^()?WEBVTT([ \\t].*)?$/);\n if (!(m != null && m[0])) {\n throw new Error('Malformed WebVTT signature.');\n }\n _this.state = 'HEADER';\n }\n var alreadyCollectedLine = false;\n while (_this.buffer) {\n // We can't parse a line until we have the full line.\n if (!/\\r\\n|\\n/.test(_this.buffer)) {\n return this;\n }\n if (!alreadyCollectedLine) {\n line = collectNextLine();\n } else {\n alreadyCollectedLine = false;\n }\n switch (_this.state) {\n case 'HEADER':\n // 13-18 - Allow a header (metadata) under the WEBVTT line.\n if (/:/.test(line)) {\n parseHeader(line);\n } else if (!line) {\n // An empty line terminates the header and starts the body (cues).\n _this.state = 'ID';\n }\n continue;\n case 'NOTE':\n // Ignore NOTE blocks.\n if (!line) {\n _this.state = 'ID';\n }\n continue;\n case 'ID':\n // Check for the start of NOTE blocks.\n if (/^NOTE($|[ \\t])/.test(line)) {\n _this.state = 'NOTE';\n break;\n }\n // 19-29 - Allow any number of line terminators, then initialize new cue values.\n if (!line) {\n continue;\n }\n _this.cue = new VTTCue(0, 0, '');\n _this.state = 'CUE';\n // 30-39 - Check if self line contains an optional identifier or timing data.\n if (line.indexOf('-->') === -1) {\n _this.cue.id = line;\n continue;\n }\n // Process line as start of a cue.\n /* falls through */\n case 'CUE':\n // 40 - Collect cue timings and settings.\n if (!_this.cue) {\n _this.state = 'BADCUE';\n continue;\n }\n try {\n parseCue(line, _this.cue, _this.regionList);\n } catch (e) {\n // In case of an error ignore rest of the cue.\n _this.cue = null;\n _this.state = 'BADCUE';\n continue;\n }\n _this.state = 'CUETEXT';\n continue;\n case 'CUETEXT':\n {\n var hasSubstring = line.indexOf('-->') !== -1;\n // 34 - If we have an empty line then report the cue.\n // 35 - If we have the special substring '-->' then report the cue,\n // but do not collect the line as we need to process the current\n // one as a new cue.\n if (!line || hasSubstring && (alreadyCollectedLine = true)) {\n // We are done parsing self cue.\n if (_this.oncue && _this.cue) {\n _this.oncue(_this.cue);\n }\n _this.cue = null;\n _this.state = 'ID';\n continue;\n }\n if (_this.cue === null) {\n continue;\n }\n if (_this.cue.text) {\n _this.cue.text += '\\n';\n }\n _this.cue.text += line;\n }\n continue;\n case 'BADCUE':\n // 54-62 - Collect and discard the remaining cue.\n if (!line) {\n _this.state = 'ID';\n }\n }\n }\n } catch (e) {\n // If we are currently parsing a cue, report what we have.\n if (_this.state === 'CUETEXT' && _this.cue && _this.oncue) {\n _this.oncue(_this.cue);\n }\n _this.cue = null;\n // Enter BADWEBVTT state if header was not parsed correctly otherwise\n // another exception occurred so enter BADCUE state.\n _this.state = _this.state === 'INITIAL' ? 'BADWEBVTT' : 'BADCUE';\n }\n return this;\n };\n _proto3.flush = function flush() {\n var _this = this;\n try {\n // Finish decoding the stream.\n // _this.buffer += _this.decoder.decode();\n // Synthesize the end of the current cue or region.\n if (_this.cue || _this.state === 'HEADER') {\n _this.buffer += '\\n\\n';\n _this.parse();\n }\n // If we've flushed, parsed, and we're still on the INITIAL state then\n // that means we don't have enough of the stream to parse the first\n // line.\n if (_this.state === 'INITIAL' || _this.state === 'BADWEBVTT') {\n throw new Error('Malformed WebVTT signature.');\n }\n } catch (e) {\n if (_this.onparsingerror) {\n _this.onparsingerror(e);\n }\n }\n if (_this.onflush) {\n _this.onflush();\n }\n return this;\n };\n return VTTParser;\n }();\n\n var LINEBREAKS = /\\r\\n|\\n\\r|\\n|\\r/g;\n\n // String.prototype.startsWith is not supported in IE11\n var startsWith = function startsWith(inputString, searchString, position) {\n if (position === void 0) {\n position = 0;\n }\n return inputString.slice(position, position + searchString.length) === searchString;\n };\n var cueString2millis = function cueString2millis(timeString) {\n var ts = parseInt(timeString.slice(-3));\n var secs = parseInt(timeString.slice(-6, -4));\n var mins = parseInt(timeString.slice(-9, -7));\n var hours = timeString.length > 9 ? parseInt(timeString.substring(0, timeString.indexOf(':'))) : 0;\n if (!isFiniteNumber(ts) || !isFiniteNumber(secs) || !isFiniteNumber(mins) || !isFiniteNumber(hours)) {\n throw Error(\"Malformed X-TIMESTAMP-MAP: Local:\" + timeString);\n }\n ts += 1000 * secs;\n ts += 60 * 1000 * mins;\n ts += 60 * 60 * 1000 * hours;\n return ts;\n };\n\n // From https://github.com/darkskyapp/string-hash\n var hash = function hash(text) {\n var hash = 5381;\n var i = text.length;\n while (i) {\n hash = hash * 33 ^ text.charCodeAt(--i);\n }\n return (hash >>> 0).toString();\n };\n\n // Create a unique hash id for a cue based on start/end times and text.\n // This helps timeline-controller to avoid showing repeated captions.\n function generateCueId(startTime, endTime, text) {\n return hash(startTime.toString()) + hash(endTime.toString()) + hash(text);\n }\n var calculateOffset = function calculateOffset(vttCCs, cc, presentationTime) {\n var currCC = vttCCs[cc];\n var prevCC = vttCCs[currCC.prevCC];\n\n // This is the first discontinuity or cues have been processed since the last discontinuity\n // Offset = current discontinuity time\n if (!prevCC || !prevCC.new && currCC.new) {\n vttCCs.ccOffset = vttCCs.presentationOffset = currCC.start;\n currCC.new = false;\n return;\n }\n\n // There have been discontinuities since cues were last parsed.\n // Offset = time elapsed\n while ((_prevCC = prevCC) != null && _prevCC.new) {\n var _prevCC;\n vttCCs.ccOffset += currCC.start - prevCC.start;\n currCC.new = false;\n currCC = prevCC;\n prevCC = vttCCs[currCC.prevCC];\n }\n vttCCs.presentationOffset = presentationTime;\n };\n function parseWebVTT(vttByteArray, initPTS, vttCCs, cc, timeOffset, callBack, errorCallBack) {\n var parser = new VTTParser();\n // Convert byteArray into string, replacing any somewhat exotic linefeeds with \"\\n\", then split on that character.\n // Uint8Array.prototype.reduce is not implemented in IE11\n var vttLines = utf8ArrayToStr(new Uint8Array(vttByteArray)).trim().replace(LINEBREAKS, '\\n').split('\\n');\n var cues = [];\n var init90kHz = initPTS ? toMpegTsClockFromTimescale(initPTS.baseTime, initPTS.timescale) : 0;\n var cueTime = '00:00.000';\n var timestampMapMPEGTS = 0;\n var timestampMapLOCAL = 0;\n var parsingError;\n var inHeader = true;\n parser.oncue = function (cue) {\n // Adjust cue timing; clamp cues to start no earlier than - and drop cues that don't end after - 0 on timeline.\n var currCC = vttCCs[cc];\n var cueOffset = vttCCs.ccOffset;\n\n // Calculate subtitle PTS offset\n var webVttMpegTsMapOffset = (timestampMapMPEGTS - init90kHz) / 90000;\n\n // Update offsets for new discontinuities\n if (currCC != null && currCC.new) {\n if (timestampMapLOCAL !== undefined) {\n // When local time is provided, offset = discontinuity start time - local time\n cueOffset = vttCCs.ccOffset = currCC.start;\n } else {\n calculateOffset(vttCCs, cc, webVttMpegTsMapOffset);\n }\n }\n if (webVttMpegTsMapOffset) {\n if (!initPTS) {\n parsingError = new Error('Missing initPTS for VTT MPEGTS');\n return;\n }\n // If we have MPEGTS, offset = presentation time + discontinuity offset\n cueOffset = webVttMpegTsMapOffset - vttCCs.presentationOffset;\n }\n var duration = cue.endTime - cue.startTime;\n var startTime = normalizePts((cue.startTime + cueOffset - timestampMapLOCAL) * 90000, timeOffset * 90000) / 90000;\n cue.startTime = Math.max(startTime, 0);\n cue.endTime = Math.max(startTime + duration, 0);\n\n //trim trailing webvtt block whitespaces\n var text = cue.text.trim();\n\n // Fix encoding of special characters\n cue.text = decodeURIComponent(encodeURIComponent(text));\n\n // If the cue was not assigned an id from the VTT file (line above the content), create one.\n if (!cue.id) {\n cue.id = generateCueId(cue.startTime, cue.endTime, text);\n }\n if (cue.endTime > 0) {\n cues.push(cue);\n }\n };\n parser.onparsingerror = function (error) {\n parsingError = error;\n };\n parser.onflush = function () {\n if (parsingError) {\n errorCallBack(parsingError);\n return;\n }\n callBack(cues);\n };\n\n // Go through contents line by line.\n vttLines.forEach(function (line) {\n if (inHeader) {\n // Look for X-TIMESTAMP-MAP in header.\n if (startsWith(line, 'X-TIMESTAMP-MAP=')) {\n // Once found, no more are allowed anyway, so stop searching.\n inHeader = false;\n // Extract LOCAL and MPEGTS.\n line.slice(16).split(',').forEach(function (timestamp) {\n if (startsWith(timestamp, 'LOCAL:')) {\n cueTime = timestamp.slice(6);\n } else if (startsWith(timestamp, 'MPEGTS:')) {\n timestampMapMPEGTS = parseInt(timestamp.slice(7));\n }\n });\n try {\n // Convert cue time to seconds\n timestampMapLOCAL = cueString2millis(cueTime) / 1000;\n } catch (error) {\n parsingError = error;\n }\n // Return without parsing X-TIMESTAMP-MAP line.\n return;\n } else if (line === '') {\n inHeader = false;\n }\n }\n // Parse line by default.\n parser.parse(line + '\\n');\n });\n parser.flush();\n }\n\n var IMSC1_CODEC = 'stpp.ttml.im1t';\n\n // Time format: h:m:s:frames(.subframes)\n var HMSF_REGEX = /^(\\d{2,}):(\\d{2}):(\\d{2}):(\\d{2})\\.?(\\d+)?$/;\n\n // Time format: hours, minutes, seconds, milliseconds, frames, ticks\n var TIME_UNIT_REGEX = /^(\\d*(?:\\.\\d*)?)(h|m|s|ms|f|t)$/;\n var textAlignToLineAlign = {\n left: 'start',\n center: 'center',\n right: 'end',\n start: 'start',\n end: 'end'\n };\n function parseIMSC1(payload, initPTS, callBack, errorCallBack) {\n var results = findBox(new Uint8Array(payload), ['mdat']);\n if (results.length === 0) {\n errorCallBack(new Error('Could not parse IMSC1 mdat'));\n return;\n }\n var ttmlList = results.map(function (mdat) {\n return utf8ArrayToStr(mdat);\n });\n var syncTime = toTimescaleFromScale(initPTS.baseTime, 1, initPTS.timescale);\n try {\n ttmlList.forEach(function (ttml) {\n return callBack(parseTTML(ttml, syncTime));\n });\n } catch (error) {\n errorCallBack(error);\n }\n }\n function parseTTML(ttml, syncTime) {\n var parser = new DOMParser();\n var xmlDoc = parser.parseFromString(ttml, 'text/xml');\n var tt = xmlDoc.getElementsByTagName('tt')[0];\n if (!tt) {\n throw new Error('Invalid ttml');\n }\n var defaultRateInfo = {\n frameRate: 30,\n subFrameRate: 1,\n frameRateMultiplier: 0,\n tickRate: 0\n };\n var rateInfo = Object.keys(defaultRateInfo).reduce(function (result, key) {\n result[key] = tt.getAttribute(\"ttp:\" + key) || defaultRateInfo[key];\n return result;\n }, {});\n var trim = tt.getAttribute('xml:space') !== 'preserve';\n var styleElements = collectionToDictionary(getElementCollection(tt, 'styling', 'style'));\n var regionElements = collectionToDictionary(getElementCollection(tt, 'layout', 'region'));\n var cueElements = getElementCollection(tt, 'body', '[begin]');\n return [].map.call(cueElements, function (cueElement) {\n var cueText = getTextContent(cueElement, trim);\n if (!cueText || !cueElement.hasAttribute('begin')) {\n return null;\n }\n var startTime = parseTtmlTime(cueElement.getAttribute('begin'), rateInfo);\n var duration = parseTtmlTime(cueElement.getAttribute('dur'), rateInfo);\n var endTime = parseTtmlTime(cueElement.getAttribute('end'), rateInfo);\n if (startTime === null) {\n throw timestampParsingError(cueElement);\n }\n if (endTime === null) {\n if (duration === null) {\n throw timestampParsingError(cueElement);\n }\n endTime = startTime + duration;\n }\n var cue = new VTTCue(startTime - syncTime, endTime - syncTime, cueText);\n cue.id = generateCueId(cue.startTime, cue.endTime, cue.text);\n var region = regionElements[cueElement.getAttribute('region')];\n var style = styleElements[cueElement.getAttribute('style')];\n\n // Apply styles to cue\n var styles = getTtmlStyles(region, style, styleElements);\n var textAlign = styles.textAlign;\n if (textAlign) {\n // cue.positionAlign not settable in FF~2016\n var lineAlign = textAlignToLineAlign[textAlign];\n if (lineAlign) {\n cue.lineAlign = lineAlign;\n }\n cue.align = textAlign;\n }\n _extends(cue, styles);\n return cue;\n }).filter(function (cue) {\n return cue !== null;\n });\n }\n function getElementCollection(fromElement, parentName, childName) {\n var parent = fromElement.getElementsByTagName(parentName)[0];\n if (parent) {\n return [].slice.call(parent.querySelectorAll(childName));\n }\n return [];\n }\n function collectionToDictionary(elementsWithId) {\n return elementsWithId.reduce(function (dict, element) {\n var id = element.getAttribute('xml:id');\n if (id) {\n dict[id] = element;\n }\n return dict;\n }, {});\n }\n function getTextContent(element, trim) {\n return [].slice.call(element.childNodes).reduce(function (str, node, i) {\n var _node$childNodes;\n if (node.nodeName === 'br' && i) {\n return str + '\\n';\n }\n if ((_node$childNodes = node.childNodes) != null && _node$childNodes.length) {\n return getTextContent(node, trim);\n } else if (trim) {\n return str + node.textContent.trim().replace(/\\s+/g, ' ');\n }\n return str + node.textContent;\n }, '');\n }\n function getTtmlStyles(region, style, styleElements) {\n var ttsNs = 'http://www.w3.org/ns/ttml#styling';\n var regionStyle = null;\n var styleAttributes = ['displayAlign', 'textAlign', 'color', 'backgroundColor', 'fontSize', 'fontFamily'\n // 'fontWeight',\n // 'lineHeight',\n // 'wrapOption',\n // 'fontStyle',\n // 'direction',\n // 'writingMode'\n ];\n var regionStyleName = region != null && region.hasAttribute('style') ? region.getAttribute('style') : null;\n if (regionStyleName && styleElements.hasOwnProperty(regionStyleName)) {\n regionStyle = styleElements[regionStyleName];\n }\n return styleAttributes.reduce(function (styles, name) {\n var value = getAttributeNS(style, ttsNs, name) || getAttributeNS(region, ttsNs, name) || getAttributeNS(regionStyle, ttsNs, name);\n if (value) {\n styles[name] = value;\n }\n return styles;\n }, {});\n }\n function getAttributeNS(element, ns, name) {\n if (!element) {\n return null;\n }\n return element.hasAttributeNS(ns, name) ? element.getAttributeNS(ns, name) : null;\n }\n function timestampParsingError(node) {\n return new Error(\"Could not parse ttml timestamp \" + node);\n }\n function parseTtmlTime(timeAttributeValue, rateInfo) {\n if (!timeAttributeValue) {\n return null;\n }\n var seconds = parseTimeStamp(timeAttributeValue);\n if (seconds === null) {\n if (HMSF_REGEX.test(timeAttributeValue)) {\n seconds = parseHoursMinutesSecondsFrames(timeAttributeValue, rateInfo);\n } else if (TIME_UNIT_REGEX.test(timeAttributeValue)) {\n seconds = parseTimeUnits(timeAttributeValue, rateInfo);\n }\n }\n return seconds;\n }\n function parseHoursMinutesSecondsFrames(timeAttributeValue, rateInfo) {\n var m = HMSF_REGEX.exec(timeAttributeValue);\n var frames = (m[4] | 0) + (m[5] | 0) / rateInfo.subFrameRate;\n return (m[1] | 0) * 3600 + (m[2] | 0) * 60 + (m[3] | 0) + frames / rateInfo.frameRate;\n }\n function parseTimeUnits(timeAttributeValue, rateInfo) {\n var m = TIME_UNIT_REGEX.exec(timeAttributeValue);\n var value = Number(m[1]);\n var unit = m[2];\n switch (unit) {\n case 'h':\n return value * 3600;\n case 'm':\n return value * 60;\n case 'ms':\n return value * 1000;\n case 'f':\n return value / rateInfo.frameRate;\n case 't':\n return value / rateInfo.tickRate;\n }\n return value;\n }\n\n var TimelineController = /*#__PURE__*/function () {\n function TimelineController(hls) {\n this.hls = void 0;\n this.media = null;\n this.config = void 0;\n this.enabled = true;\n this.Cues = void 0;\n this.textTracks = [];\n this.tracks = [];\n this.initPTS = [];\n this.unparsedVttFrags = [];\n this.captionsTracks = {};\n this.nonNativeCaptionsTracks = {};\n this.cea608Parser1 = void 0;\n this.cea608Parser2 = void 0;\n this.lastCc = -1;\n // Last video (CEA-608) fragment CC\n this.lastSn = -1;\n // Last video (CEA-608) fragment MSN\n this.lastPartIndex = -1;\n // Last video (CEA-608) fragment Part Index\n this.prevCC = -1;\n // Last subtitle fragment CC\n this.vttCCs = newVTTCCs();\n this.captionsProperties = void 0;\n this.hls = hls;\n this.config = hls.config;\n this.Cues = hls.config.cueHandler;\n this.captionsProperties = {\n textTrack1: {\n label: this.config.captionsTextTrack1Label,\n languageCode: this.config.captionsTextTrack1LanguageCode\n },\n textTrack2: {\n label: this.config.captionsTextTrack2Label,\n languageCode: this.config.captionsTextTrack2LanguageCode\n },\n textTrack3: {\n label: this.config.captionsTextTrack3Label,\n languageCode: this.config.captionsTextTrack3LanguageCode\n },\n textTrack4: {\n label: this.config.captionsTextTrack4Label,\n languageCode: this.config.captionsTextTrack4LanguageCode\n }\n };\n hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.on(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);\n hls.on(Events.FRAG_LOADING, this.onFragLoading, this);\n hls.on(Events.FRAG_LOADED, this.onFragLoaded, this);\n hls.on(Events.FRAG_PARSING_USERDATA, this.onFragParsingUserdata, this);\n hls.on(Events.FRAG_DECRYPTED, this.onFragDecrypted, this);\n hls.on(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);\n hls.on(Events.SUBTITLE_TRACKS_CLEARED, this.onSubtitleTracksCleared, this);\n hls.on(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n }\n var _proto = TimelineController.prototype;\n _proto.destroy = function destroy() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.off(Events.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this);\n hls.off(Events.FRAG_LOADING, this.onFragLoading, this);\n hls.off(Events.FRAG_LOADED, this.onFragLoaded, this);\n hls.off(Events.FRAG_PARSING_USERDATA, this.onFragParsingUserdata, this);\n hls.off(Events.FRAG_DECRYPTED, this.onFragDecrypted, this);\n hls.off(Events.INIT_PTS_FOUND, this.onInitPtsFound, this);\n hls.off(Events.SUBTITLE_TRACKS_CLEARED, this.onSubtitleTracksCleared, this);\n hls.off(Events.BUFFER_FLUSHING, this.onBufferFlushing, this);\n // @ts-ignore\n this.hls = this.config = null;\n this.cea608Parser1 = this.cea608Parser2 = undefined;\n };\n _proto.initCea608Parsers = function initCea608Parsers() {\n if (this.config.enableCEA708Captions && (!this.cea608Parser1 || !this.cea608Parser2)) {\n var channel1 = new OutputFilter(this, 'textTrack1');\n var channel2 = new OutputFilter(this, 'textTrack2');\n var channel3 = new OutputFilter(this, 'textTrack3');\n var channel4 = new OutputFilter(this, 'textTrack4');\n this.cea608Parser1 = new Cea608Parser(1, channel1, channel2);\n this.cea608Parser2 = new Cea608Parser(3, channel3, channel4);\n }\n };\n _proto.addCues = function addCues(trackName, startTime, endTime, screen, cueRanges) {\n // skip cues which overlap more than 50% with previously parsed time ranges\n var merged = false;\n for (var i = cueRanges.length; i--;) {\n var cueRange = cueRanges[i];\n var overlap = intersection(cueRange[0], cueRange[1], startTime, endTime);\n if (overlap >= 0) {\n cueRange[0] = Math.min(cueRange[0], startTime);\n cueRange[1] = Math.max(cueRange[1], endTime);\n merged = true;\n if (overlap / (endTime - startTime) > 0.5) {\n return;\n }\n }\n }\n if (!merged) {\n cueRanges.push([startTime, endTime]);\n }\n if (this.config.renderTextTracksNatively) {\n var track = this.captionsTracks[trackName];\n this.Cues.newCue(track, startTime, endTime, screen);\n } else {\n var cues = this.Cues.newCue(null, startTime, endTime, screen);\n this.hls.trigger(Events.CUES_PARSED, {\n type: 'captions',\n cues: cues,\n track: trackName\n });\n }\n }\n\n // Triggered when an initial PTS is found; used for synchronisation of WebVTT.\n ;\n _proto.onInitPtsFound = function onInitPtsFound(event, _ref) {\n var _this = this;\n var frag = _ref.frag,\n id = _ref.id,\n initPTS = _ref.initPTS,\n timescale = _ref.timescale;\n var unparsedVttFrags = this.unparsedVttFrags;\n if (id === 'main') {\n this.initPTS[frag.cc] = {\n baseTime: initPTS,\n timescale: timescale\n };\n }\n\n // Due to asynchronous processing, initial PTS may arrive later than the first VTT fragments are loaded.\n // Parse any unparsed fragments upon receiving the initial PTS.\n if (unparsedVttFrags.length) {\n this.unparsedVttFrags = [];\n unparsedVttFrags.forEach(function (frag) {\n _this.onFragLoaded(Events.FRAG_LOADED, frag);\n });\n }\n };\n _proto.getExistingTrack = function getExistingTrack(label, language) {\n var media = this.media;\n if (media) {\n for (var i = 0; i < media.textTracks.length; i++) {\n var textTrack = media.textTracks[i];\n if (canReuseVttTextTrack(textTrack, {\n name: label,\n lang: language,\n attrs: {}\n })) {\n return textTrack;\n }\n }\n }\n return null;\n };\n _proto.createCaptionsTrack = function createCaptionsTrack(trackName) {\n if (this.config.renderTextTracksNatively) {\n this.createNativeTrack(trackName);\n } else {\n this.createNonNativeTrack(trackName);\n }\n };\n _proto.createNativeTrack = function createNativeTrack(trackName) {\n if (this.captionsTracks[trackName]) {\n return;\n }\n var captionsProperties = this.captionsProperties,\n captionsTracks = this.captionsTracks,\n media = this.media;\n var _captionsProperties$t = captionsProperties[trackName],\n label = _captionsProperties$t.label,\n languageCode = _captionsProperties$t.languageCode;\n // Enable reuse of existing text track.\n var existingTrack = this.getExistingTrack(label, languageCode);\n if (!existingTrack) {\n var textTrack = this.createTextTrack('captions', label, languageCode);\n if (textTrack) {\n // Set a special property on the track so we know it's managed by Hls.js\n textTrack[trackName] = true;\n captionsTracks[trackName] = textTrack;\n }\n } else {\n captionsTracks[trackName] = existingTrack;\n clearCurrentCues(captionsTracks[trackName]);\n sendAddTrackEvent(captionsTracks[trackName], media);\n }\n };\n _proto.createNonNativeTrack = function createNonNativeTrack(trackName) {\n if (this.nonNativeCaptionsTracks[trackName]) {\n return;\n }\n // Create a list of a single track for the provider to consume\n var trackProperties = this.captionsProperties[trackName];\n if (!trackProperties) {\n return;\n }\n var label = trackProperties.label;\n var track = {\n _id: trackName,\n label: label,\n kind: 'captions',\n default: trackProperties.media ? !!trackProperties.media.default : false,\n closedCaptions: trackProperties.media\n };\n this.nonNativeCaptionsTracks[trackName] = track;\n this.hls.trigger(Events.NON_NATIVE_TEXT_TRACKS_FOUND, {\n tracks: [track]\n });\n };\n _proto.createTextTrack = function createTextTrack(kind, label, lang) {\n var media = this.media;\n if (!media) {\n return;\n }\n return media.addTextTrack(kind, label, lang);\n };\n _proto.onMediaAttaching = function onMediaAttaching(event, data) {\n this.media = data.media;\n this._cleanTracks();\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n var captionsTracks = this.captionsTracks;\n Object.keys(captionsTracks).forEach(function (trackName) {\n clearCurrentCues(captionsTracks[trackName]);\n delete captionsTracks[trackName];\n });\n this.nonNativeCaptionsTracks = {};\n };\n _proto.onManifestLoading = function onManifestLoading() {\n // Detect discontinuity in video fragment (CEA-608) parsing\n this.lastCc = -1;\n this.lastSn = -1;\n this.lastPartIndex = -1;\n // Detect discontinuity in subtitle manifests\n this.prevCC = -1;\n this.vttCCs = newVTTCCs();\n // Reset tracks\n this._cleanTracks();\n this.tracks = [];\n this.captionsTracks = {};\n this.nonNativeCaptionsTracks = {};\n this.textTracks = [];\n this.unparsedVttFrags = [];\n this.initPTS = [];\n if (this.cea608Parser1 && this.cea608Parser2) {\n this.cea608Parser1.reset();\n this.cea608Parser2.reset();\n }\n };\n _proto._cleanTracks = function _cleanTracks() {\n // clear outdated subtitles\n var media = this.media;\n if (!media) {\n return;\n }\n var textTracks = media.textTracks;\n if (textTracks) {\n for (var i = 0; i < textTracks.length; i++) {\n clearCurrentCues(textTracks[i]);\n }\n }\n };\n _proto.onSubtitleTracksUpdated = function onSubtitleTracksUpdated(event, data) {\n var _this2 = this;\n var tracks = data.subtitleTracks || [];\n var hasIMSC1 = tracks.some(function (track) {\n return track.textCodec === IMSC1_CODEC;\n });\n if (this.config.enableWebVTT || hasIMSC1 && this.config.enableIMSC1) {\n var listIsIdentical = subtitleOptionsIdentical(this.tracks, tracks);\n if (listIsIdentical) {\n this.tracks = tracks;\n return;\n }\n this.textTracks = [];\n this.tracks = tracks;\n if (this.config.renderTextTracksNatively) {\n var media = this.media;\n var inUseTracks = media ? filterSubtitleTracks(media.textTracks) : null;\n this.tracks.forEach(function (track, index) {\n // Reuse tracks with the same label and lang, but do not reuse 608/708 tracks\n var textTrack;\n if (inUseTracks) {\n var inUseTrack = null;\n for (var i = 0; i < inUseTracks.length; i++) {\n if (inUseTracks[i] && canReuseVttTextTrack(inUseTracks[i], track)) {\n inUseTrack = inUseTracks[i];\n inUseTracks[i] = null;\n break;\n }\n }\n if (inUseTrack) {\n textTrack = inUseTrack;\n }\n }\n if (textTrack) {\n clearCurrentCues(textTrack);\n } else {\n var textTrackKind = captionsOrSubtitlesFromCharacteristics(track);\n textTrack = _this2.createTextTrack(textTrackKind, track.name, track.lang);\n if (textTrack) {\n textTrack.mode = 'disabled';\n }\n }\n if (textTrack) {\n _this2.textTracks.push(textTrack);\n }\n });\n // Warn when video element has captions or subtitle TextTracks carried over from another source\n if (inUseTracks != null && inUseTracks.length) {\n var unusedTextTracks = inUseTracks.filter(function (t) {\n return t !== null;\n }).map(function (t) {\n return t.label;\n });\n if (unusedTextTracks.length) {\n logger.warn(\"Media element contains unused subtitle tracks: \" + unusedTextTracks.join(', ') + \". Replace media element for each source to clear TextTracks and captions menu.\");\n }\n }\n } else if (this.tracks.length) {\n // Create a list of tracks for the provider to consume\n var tracksList = this.tracks.map(function (track) {\n return {\n label: track.name,\n kind: track.type.toLowerCase(),\n default: track.default,\n subtitleTrack: track\n };\n });\n this.hls.trigger(Events.NON_NATIVE_TEXT_TRACKS_FOUND, {\n tracks: tracksList\n });\n }\n }\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, data) {\n var _this3 = this;\n if (this.config.enableCEA708Captions && data.captions) {\n data.captions.forEach(function (captionsTrack) {\n var instreamIdMatch = /(?:CC|SERVICE)([1-4])/.exec(captionsTrack.instreamId);\n if (!instreamIdMatch) {\n return;\n }\n var trackName = \"textTrack\" + instreamIdMatch[1];\n var trackProperties = _this3.captionsProperties[trackName];\n if (!trackProperties) {\n return;\n }\n trackProperties.label = captionsTrack.name;\n if (captionsTrack.lang) {\n // optional attribute\n trackProperties.languageCode = captionsTrack.lang;\n }\n trackProperties.media = captionsTrack;\n });\n }\n };\n _proto.closedCaptionsForLevel = function closedCaptionsForLevel(frag) {\n var level = this.hls.levels[frag.level];\n return level == null ? void 0 : level.attrs['CLOSED-CAPTIONS'];\n };\n _proto.onFragLoading = function onFragLoading(event, data) {\n this.initCea608Parsers();\n var cea608Parser1 = this.cea608Parser1,\n cea608Parser2 = this.cea608Parser2,\n lastCc = this.lastCc,\n lastSn = this.lastSn,\n lastPartIndex = this.lastPartIndex;\n if (!this.enabled || !cea608Parser1 || !cea608Parser2) {\n return;\n }\n // if this frag isn't contiguous, clear the parser so cues with bad start/end times aren't added to the textTrack\n if (data.frag.type === PlaylistLevelType.MAIN) {\n var _data$part$index, _data$part;\n var _data$frag = data.frag,\n cc = _data$frag.cc,\n sn = _data$frag.sn;\n var partIndex = (_data$part$index = data == null ? void 0 : (_data$part = data.part) == null ? void 0 : _data$part.index) != null ? _data$part$index : -1;\n if (!(sn === lastSn + 1 || sn === lastSn && partIndex === lastPartIndex + 1 || cc === lastCc)) {\n cea608Parser1.reset();\n cea608Parser2.reset();\n }\n this.lastCc = cc;\n this.lastSn = sn;\n this.lastPartIndex = partIndex;\n }\n };\n _proto.onFragLoaded = function onFragLoaded(event, data) {\n var frag = data.frag,\n payload = data.payload;\n if (frag.type === PlaylistLevelType.SUBTITLE) {\n // If fragment is subtitle type, parse as WebVTT.\n if (payload.byteLength) {\n var decryptData = frag.decryptdata;\n // fragment after decryption has a stats object\n var decrypted = ('stats' in data);\n // If the subtitles are not encrypted, parse VTTs now. Otherwise, we need to wait.\n if (decryptData == null || !decryptData.encrypted || decrypted) {\n var trackPlaylistMedia = this.tracks[frag.level];\n var vttCCs = this.vttCCs;\n if (!vttCCs[frag.cc]) {\n vttCCs[frag.cc] = {\n start: frag.start,\n prevCC: this.prevCC,\n new: true\n };\n this.prevCC = frag.cc;\n }\n if (trackPlaylistMedia && trackPlaylistMedia.textCodec === IMSC1_CODEC) {\n this._parseIMSC1(frag, payload);\n } else {\n this._parseVTTs(data);\n }\n }\n } else {\n // In case there is no payload, finish unsuccessfully.\n this.hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: false,\n frag: frag,\n error: new Error('Empty subtitle payload')\n });\n }\n }\n };\n _proto._parseIMSC1 = function _parseIMSC1(frag, payload) {\n var _this4 = this;\n var hls = this.hls;\n parseIMSC1(payload, this.initPTS[frag.cc], function (cues) {\n _this4._appendCues(cues, frag.level);\n hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: true,\n frag: frag\n });\n }, function (error) {\n logger.log(\"Failed to parse IMSC1: \" + error);\n hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: false,\n frag: frag,\n error: error\n });\n });\n };\n _proto._parseVTTs = function _parseVTTs(data) {\n var _frag$initSegment,\n _this5 = this;\n var frag = data.frag,\n payload = data.payload;\n // We need an initial synchronisation PTS. Store fragments as long as none has arrived\n var initPTS = this.initPTS,\n unparsedVttFrags = this.unparsedVttFrags;\n var maxAvCC = initPTS.length - 1;\n if (!initPTS[frag.cc] && maxAvCC === -1) {\n unparsedVttFrags.push(data);\n return;\n }\n var hls = this.hls;\n // Parse the WebVTT file contents.\n var payloadWebVTT = (_frag$initSegment = frag.initSegment) != null && _frag$initSegment.data ? appendUint8Array(frag.initSegment.data, new Uint8Array(payload)) : payload;\n parseWebVTT(payloadWebVTT, this.initPTS[frag.cc], this.vttCCs, frag.cc, frag.start, function (cues) {\n _this5._appendCues(cues, frag.level);\n hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: true,\n frag: frag\n });\n }, function (error) {\n var missingInitPTS = error.message === 'Missing initPTS for VTT MPEGTS';\n if (missingInitPTS) {\n unparsedVttFrags.push(data);\n } else {\n _this5._fallbackToIMSC1(frag, payload);\n }\n // Something went wrong while parsing. Trigger event with success false.\n logger.log(\"Failed to parse VTT cue: \" + error);\n if (missingInitPTS && maxAvCC > frag.cc) {\n return;\n }\n hls.trigger(Events.SUBTITLE_FRAG_PROCESSED, {\n success: false,\n frag: frag,\n error: error\n });\n });\n };\n _proto._fallbackToIMSC1 = function _fallbackToIMSC1(frag, payload) {\n var _this6 = this;\n // If textCodec is unknown, try parsing as IMSC1. Set textCodec based on the result\n var trackPlaylistMedia = this.tracks[frag.level];\n if (!trackPlaylistMedia.textCodec) {\n parseIMSC1(payload, this.initPTS[frag.cc], function () {\n trackPlaylistMedia.textCodec = IMSC1_CODEC;\n _this6._parseIMSC1(frag, payload);\n }, function () {\n trackPlaylistMedia.textCodec = 'wvtt';\n });\n }\n };\n _proto._appendCues = function _appendCues(cues, fragLevel) {\n var hls = this.hls;\n if (this.config.renderTextTracksNatively) {\n var textTrack = this.textTracks[fragLevel];\n // WebVTTParser.parse is an async method and if the currently selected text track mode is set to \"disabled\"\n // before parsing is done then don't try to access currentTrack.cues.getCueById as cues will be null\n // and trying to access getCueById method of cues will throw an exception\n // Because we check if the mode is disabled, we can force check `cues` below. They can't be null.\n if (!textTrack || textTrack.mode === 'disabled') {\n return;\n }\n cues.forEach(function (cue) {\n return addCueToTrack(textTrack, cue);\n });\n } else {\n var currentTrack = this.tracks[fragLevel];\n if (!currentTrack) {\n return;\n }\n var track = currentTrack.default ? 'default' : 'subtitles' + fragLevel;\n hls.trigger(Events.CUES_PARSED, {\n type: 'subtitles',\n cues: cues,\n track: track\n });\n }\n };\n _proto.onFragDecrypted = function onFragDecrypted(event, data) {\n var frag = data.frag;\n if (frag.type === PlaylistLevelType.SUBTITLE) {\n this.onFragLoaded(Events.FRAG_LOADED, data);\n }\n };\n _proto.onSubtitleTracksCleared = function onSubtitleTracksCleared() {\n this.tracks = [];\n this.captionsTracks = {};\n };\n _proto.onFragParsingUserdata = function onFragParsingUserdata(event, data) {\n this.initCea608Parsers();\n var cea608Parser1 = this.cea608Parser1,\n cea608Parser2 = this.cea608Parser2;\n if (!this.enabled || !cea608Parser1 || !cea608Parser2) {\n return;\n }\n var frag = data.frag,\n samples = data.samples;\n if (frag.type === PlaylistLevelType.MAIN && this.closedCaptionsForLevel(frag) === 'NONE') {\n return;\n }\n // If the event contains captions (found in the bytes property), push all bytes into the parser immediately\n // It will create the proper timestamps based on the PTS value\n for (var i = 0; i < samples.length; i++) {\n var ccBytes = samples[i].bytes;\n if (ccBytes) {\n var ccdatas = this.extractCea608Data(ccBytes);\n cea608Parser1.addData(samples[i].pts, ccdatas[0]);\n cea608Parser2.addData(samples[i].pts, ccdatas[1]);\n }\n }\n };\n _proto.onBufferFlushing = function onBufferFlushing(event, _ref2) {\n var startOffset = _ref2.startOffset,\n endOffset = _ref2.endOffset,\n endOffsetSubtitles = _ref2.endOffsetSubtitles,\n type = _ref2.type;\n var media = this.media;\n if (!media || media.currentTime < endOffset) {\n return;\n }\n // Clear 608 caption cues from the captions TextTracks when the video back buffer is flushed\n // Forward cues are never removed because we can loose streamed 608 content from recent fragments\n if (!type || type === 'video') {\n var captionsTracks = this.captionsTracks;\n Object.keys(captionsTracks).forEach(function (trackName) {\n return removeCuesInRange(captionsTracks[trackName], startOffset, endOffset);\n });\n }\n if (this.config.renderTextTracksNatively) {\n // Clear VTT/IMSC1 subtitle cues from the subtitle TextTracks when the back buffer is flushed\n if (startOffset === 0 && endOffsetSubtitles !== undefined) {\n var textTracks = this.textTracks;\n Object.keys(textTracks).forEach(function (trackName) {\n return removeCuesInRange(textTracks[trackName], startOffset, endOffsetSubtitles);\n });\n }\n }\n };\n _proto.extractCea608Data = function extractCea608Data(byteArray) {\n var actualCCBytes = [[], []];\n var count = byteArray[0] & 0x1f;\n var position = 2;\n for (var j = 0; j < count; j++) {\n var tmpByte = byteArray[position++];\n var ccbyte1 = 0x7f & byteArray[position++];\n var ccbyte2 = 0x7f & byteArray[position++];\n if (ccbyte1 === 0 && ccbyte2 === 0) {\n continue;\n }\n var ccValid = (0x04 & tmpByte) !== 0; // Support all four channels\n if (ccValid) {\n var ccType = 0x03 & tmpByte;\n if (0x00 /* CEA608 field1*/ === ccType || 0x01 /* CEA608 field2*/ === ccType) {\n // Exclude CEA708 CC data.\n actualCCBytes[ccType].push(ccbyte1);\n actualCCBytes[ccType].push(ccbyte2);\n }\n }\n }\n return actualCCBytes;\n };\n return TimelineController;\n }();\n function captionsOrSubtitlesFromCharacteristics(track) {\n if (track.characteristics) {\n if (/transcribes-spoken-dialog/gi.test(track.characteristics) && /describes-music-and-sound/gi.test(track.characteristics)) {\n return 'captions';\n }\n }\n return 'subtitles';\n }\n function canReuseVttTextTrack(inUseTrack, manifestTrack) {\n return !!inUseTrack && inUseTrack.kind === captionsOrSubtitlesFromCharacteristics(manifestTrack) && subtitleTrackMatchesTextTrack(manifestTrack, inUseTrack);\n }\n function intersection(x1, x2, y1, y2) {\n return Math.min(x2, y2) - Math.max(x1, y1);\n }\n function newVTTCCs() {\n return {\n ccOffset: 0,\n presentationOffset: 0,\n 0: {\n start: 0,\n prevCC: -1,\n new: true\n }\n };\n }\n\n var CapLevelController = /*#__PURE__*/function () {\n function CapLevelController(hls) {\n this.hls = void 0;\n this.autoLevelCapping = void 0;\n this.firstLevel = void 0;\n this.media = void 0;\n this.restrictedLevels = void 0;\n this.timer = void 0;\n this.clientRect = void 0;\n this.streamController = void 0;\n this.hls = hls;\n this.autoLevelCapping = Number.POSITIVE_INFINITY;\n this.firstLevel = -1;\n this.media = null;\n this.restrictedLevels = [];\n this.timer = undefined;\n this.clientRect = null;\n this.registerListeners();\n }\n var _proto = CapLevelController.prototype;\n _proto.setStreamController = function setStreamController(streamController) {\n this.streamController = streamController;\n };\n _proto.destroy = function destroy() {\n if (this.hls) {\n this.unregisterListener();\n }\n if (this.timer) {\n this.stopCapping();\n }\n this.media = null;\n this.clientRect = null;\n // @ts-ignore\n this.hls = this.streamController = null;\n };\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.FPS_DROP_LEVEL_CAPPING, this.onFpsDropLevelCapping, this);\n hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.on(Events.BUFFER_CODECS, this.onBufferCodecs, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n };\n _proto.unregisterListener = function unregisterListener() {\n var hls = this.hls;\n hls.off(Events.FPS_DROP_LEVEL_CAPPING, this.onFpsDropLevelCapping, this);\n hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.off(Events.BUFFER_CODECS, this.onBufferCodecs, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n };\n _proto.onFpsDropLevelCapping = function onFpsDropLevelCapping(event, data) {\n // Don't add a restricted level more than once\n var level = this.hls.levels[data.droppedLevel];\n if (this.isLevelAllowed(level)) {\n this.restrictedLevels.push({\n bitrate: level.bitrate,\n height: level.height,\n width: level.width\n });\n }\n };\n _proto.onMediaAttaching = function onMediaAttaching(event, data) {\n this.media = data.media instanceof HTMLVideoElement ? data.media : null;\n this.clientRect = null;\n if (this.timer && this.hls.levels.length) {\n this.detectPlayerSize();\n }\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n var hls = this.hls;\n this.restrictedLevels = [];\n this.firstLevel = data.firstLevel;\n if (hls.config.capLevelToPlayerSize && data.video) {\n // Start capping immediately if the manifest has signaled video codecs\n this.startCapping();\n }\n };\n _proto.onLevelsUpdated = function onLevelsUpdated(event, data) {\n if (this.timer && isFiniteNumber(this.autoLevelCapping)) {\n this.detectPlayerSize();\n }\n }\n\n // Only activate capping when playing a video stream; otherwise, multi-bitrate audio-only streams will be restricted\n // to the first level\n ;\n _proto.onBufferCodecs = function onBufferCodecs(event, data) {\n var hls = this.hls;\n if (hls.config.capLevelToPlayerSize && data.video) {\n // If the manifest did not signal a video codec capping has been deferred until we're certain video is present\n this.startCapping();\n }\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n this.stopCapping();\n };\n _proto.detectPlayerSize = function detectPlayerSize() {\n if (this.media) {\n if (this.mediaHeight <= 0 || this.mediaWidth <= 0) {\n this.clientRect = null;\n return;\n }\n var levels = this.hls.levels;\n if (levels.length) {\n var hls = this.hls;\n var maxLevel = this.getMaxLevel(levels.length - 1);\n if (maxLevel !== this.autoLevelCapping) {\n logger.log(\"Setting autoLevelCapping to \" + maxLevel + \": \" + levels[maxLevel].height + \"p@\" + levels[maxLevel].bitrate + \" for media \" + this.mediaWidth + \"x\" + this.mediaHeight);\n }\n hls.autoLevelCapping = maxLevel;\n if (hls.autoLevelCapping > this.autoLevelCapping && this.streamController) {\n // if auto level capping has a higher value for the previous one, flush the buffer using nextLevelSwitch\n // usually happen when the user go to the fullscreen mode.\n this.streamController.nextLevelSwitch();\n }\n this.autoLevelCapping = hls.autoLevelCapping;\n }\n }\n }\n\n /*\n * returns level should be the one with the dimensions equal or greater than the media (player) dimensions (so the video will be downscaled)\n */;\n _proto.getMaxLevel = function getMaxLevel(capLevelIndex) {\n var _this = this;\n var levels = this.hls.levels;\n if (!levels.length) {\n return -1;\n }\n var validLevels = levels.filter(function (level, index) {\n return _this.isLevelAllowed(level) && index <= capLevelIndex;\n });\n this.clientRect = null;\n return CapLevelController.getMaxLevelByMediaSize(validLevels, this.mediaWidth, this.mediaHeight);\n };\n _proto.startCapping = function startCapping() {\n if (this.timer) {\n // Don't reset capping if started twice; this can happen if the manifest signals a video codec\n return;\n }\n this.autoLevelCapping = Number.POSITIVE_INFINITY;\n self.clearInterval(this.timer);\n this.timer = self.setInterval(this.detectPlayerSize.bind(this), 1000);\n this.detectPlayerSize();\n };\n _proto.stopCapping = function stopCapping() {\n this.restrictedLevels = [];\n this.firstLevel = -1;\n this.autoLevelCapping = Number.POSITIVE_INFINITY;\n if (this.timer) {\n self.clearInterval(this.timer);\n this.timer = undefined;\n }\n };\n _proto.getDimensions = function getDimensions() {\n if (this.clientRect) {\n return this.clientRect;\n }\n var media = this.media;\n var boundsRect = {\n width: 0,\n height: 0\n };\n if (media) {\n var clientRect = media.getBoundingClientRect();\n boundsRect.width = clientRect.width;\n boundsRect.height = clientRect.height;\n if (!boundsRect.width && !boundsRect.height) {\n // When the media element has no width or height (equivalent to not being in the DOM),\n // then use its width and height attributes (media.width, media.height)\n boundsRect.width = clientRect.right - clientRect.left || media.width || 0;\n boundsRect.height = clientRect.bottom - clientRect.top || media.height || 0;\n }\n }\n this.clientRect = boundsRect;\n return boundsRect;\n };\n _proto.isLevelAllowed = function isLevelAllowed(level) {\n var restrictedLevels = this.restrictedLevels;\n return !restrictedLevels.some(function (restrictedLevel) {\n return level.bitrate === restrictedLevel.bitrate && level.width === restrictedLevel.width && level.height === restrictedLevel.height;\n });\n };\n CapLevelController.getMaxLevelByMediaSize = function getMaxLevelByMediaSize(levels, width, height) {\n if (!(levels != null && levels.length)) {\n return -1;\n }\n\n // Levels can have the same dimensions but differing bandwidths - since levels are ordered, we can look to the next\n // to determine whether we've chosen the greatest bandwidth for the media's dimensions\n var atGreatestBandwidth = function atGreatestBandwidth(curLevel, nextLevel) {\n if (!nextLevel) {\n return true;\n }\n return curLevel.width !== nextLevel.width || curLevel.height !== nextLevel.height;\n };\n\n // If we run through the loop without breaking, the media's dimensions are greater than every level, so default to\n // the max level\n var maxLevelIndex = levels.length - 1;\n // Prevent changes in aspect-ratio from causing capping to toggle back and forth\n var squareSize = Math.max(width, height);\n for (var i = 0; i < levels.length; i += 1) {\n var level = levels[i];\n if ((level.width >= squareSize || level.height >= squareSize) && atGreatestBandwidth(level, levels[i + 1])) {\n maxLevelIndex = i;\n break;\n }\n }\n return maxLevelIndex;\n };\n _createClass(CapLevelController, [{\n key: \"mediaWidth\",\n get: function get() {\n return this.getDimensions().width * this.contentScaleFactor;\n }\n }, {\n key: \"mediaHeight\",\n get: function get() {\n return this.getDimensions().height * this.contentScaleFactor;\n }\n }, {\n key: \"contentScaleFactor\",\n get: function get() {\n var pixelRatio = 1;\n if (!this.hls.config.ignoreDevicePixelRatio) {\n try {\n pixelRatio = self.devicePixelRatio;\n } catch (e) {\n /* no-op */\n }\n }\n return pixelRatio;\n }\n }]);\n return CapLevelController;\n }();\n\n var FPSController = /*#__PURE__*/function () {\n function FPSController(hls) {\n this.hls = void 0;\n this.isVideoPlaybackQualityAvailable = false;\n this.timer = void 0;\n this.media = null;\n this.lastTime = void 0;\n this.lastDroppedFrames = 0;\n this.lastDecodedFrames = 0;\n // stream controller must be provided as a dependency!\n this.streamController = void 0;\n this.hls = hls;\n this.registerListeners();\n }\n var _proto = FPSController.prototype;\n _proto.setStreamController = function setStreamController(streamController) {\n this.streamController = streamController;\n };\n _proto.registerListeners = function registerListeners() {\n this.hls.on(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n this.hls.off(Events.MEDIA_ATTACHING, this.onMediaAttaching, this);\n };\n _proto.destroy = function destroy() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n this.unregisterListeners();\n this.isVideoPlaybackQualityAvailable = false;\n this.media = null;\n };\n _proto.onMediaAttaching = function onMediaAttaching(event, data) {\n var config = this.hls.config;\n if (config.capLevelOnFPSDrop) {\n var media = data.media instanceof self.HTMLVideoElement ? data.media : null;\n this.media = media;\n if (media && typeof media.getVideoPlaybackQuality === 'function') {\n this.isVideoPlaybackQualityAvailable = true;\n }\n self.clearInterval(this.timer);\n this.timer = self.setInterval(this.checkFPSInterval.bind(this), config.fpsDroppedMonitoringPeriod);\n }\n };\n _proto.checkFPS = function checkFPS(video, decodedFrames, droppedFrames) {\n var currentTime = performance.now();\n if (decodedFrames) {\n if (this.lastTime) {\n var currentPeriod = currentTime - this.lastTime;\n var currentDropped = droppedFrames - this.lastDroppedFrames;\n var currentDecoded = decodedFrames - this.lastDecodedFrames;\n var droppedFPS = 1000 * currentDropped / currentPeriod;\n var hls = this.hls;\n hls.trigger(Events.FPS_DROP, {\n currentDropped: currentDropped,\n currentDecoded: currentDecoded,\n totalDroppedFrames: droppedFrames\n });\n if (droppedFPS > 0) {\n // logger.log('checkFPS : droppedFPS/decodedFPS:' + droppedFPS/(1000 * currentDecoded / currentPeriod));\n if (currentDropped > hls.config.fpsDroppedMonitoringThreshold * currentDecoded) {\n var currentLevel = hls.currentLevel;\n logger.warn('drop FPS ratio greater than max allowed value for currentLevel: ' + currentLevel);\n if (currentLevel > 0 && (hls.autoLevelCapping === -1 || hls.autoLevelCapping >= currentLevel)) {\n currentLevel = currentLevel - 1;\n hls.trigger(Events.FPS_DROP_LEVEL_CAPPING, {\n level: currentLevel,\n droppedLevel: hls.currentLevel\n });\n hls.autoLevelCapping = currentLevel;\n this.streamController.nextLevelSwitch();\n }\n }\n }\n }\n this.lastTime = currentTime;\n this.lastDroppedFrames = droppedFrames;\n this.lastDecodedFrames = decodedFrames;\n }\n };\n _proto.checkFPSInterval = function checkFPSInterval() {\n var video = this.media;\n if (video) {\n if (this.isVideoPlaybackQualityAvailable) {\n var videoPlaybackQuality = video.getVideoPlaybackQuality();\n this.checkFPS(video, videoPlaybackQuality.totalVideoFrames, videoPlaybackQuality.droppedVideoFrames);\n } else {\n // HTMLVideoElement doesn't include the webkit types\n this.checkFPS(video, video.webkitDecodedFrameCount, video.webkitDroppedFrameCount);\n }\n }\n };\n return FPSController;\n }();\n\n var LOGGER_PREFIX = '[eme]';\n /**\n * Controller to deal with encrypted media extensions (EME)\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Encrypted_Media_Extensions_API\n *\n * @class\n * @constructor\n */\n var EMEController = /*#__PURE__*/function () {\n function EMEController(hls) {\n this.hls = void 0;\n this.config = void 0;\n this.media = null;\n this.keyFormatPromise = null;\n this.keySystemAccessPromises = {};\n this._requestLicenseFailureCount = 0;\n this.mediaKeySessions = [];\n this.keyIdToKeySessionPromise = {};\n this.setMediaKeysQueue = EMEController.CDMCleanupPromise ? [EMEController.CDMCleanupPromise] : [];\n this.onMediaEncrypted = this._onMediaEncrypted.bind(this);\n this.onWaitingForKey = this._onWaitingForKey.bind(this);\n this.debug = logger.debug.bind(logger, LOGGER_PREFIX);\n this.log = logger.log.bind(logger, LOGGER_PREFIX);\n this.warn = logger.warn.bind(logger, LOGGER_PREFIX);\n this.error = logger.error.bind(logger, LOGGER_PREFIX);\n this.hls = hls;\n this.config = hls.config;\n this.registerListeners();\n }\n var _proto = EMEController.prototype;\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.onMediaDetached();\n // Remove any references that could be held in config options or callbacks\n var config = this.config;\n config.requestMediaKeySystemAccessFunc = null;\n config.licenseXhrSetup = config.licenseResponseCallback = undefined;\n config.drmSystems = config.drmSystemOptions = {};\n // @ts-ignore\n this.hls = this.onMediaEncrypted = this.onWaitingForKey = this.keyIdToKeySessionPromise = null;\n // @ts-ignore\n this.config = null;\n };\n _proto.registerListeners = function registerListeners() {\n this.hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n this.hls.on(Events.MEDIA_DETACHED, this.onMediaDetached, this);\n this.hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n this.hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n this.hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n this.hls.off(Events.MEDIA_DETACHED, this.onMediaDetached, this);\n this.hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n this.hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n };\n _proto.getLicenseServerUrl = function getLicenseServerUrl(keySystem) {\n var _this$config = this.config,\n drmSystems = _this$config.drmSystems,\n widevineLicenseUrl = _this$config.widevineLicenseUrl;\n var keySystemConfiguration = drmSystems[keySystem];\n if (keySystemConfiguration) {\n return keySystemConfiguration.licenseUrl;\n }\n\n // For backward compatibility\n if (keySystem === KeySystems.WIDEVINE && widevineLicenseUrl) {\n return widevineLicenseUrl;\n }\n throw new Error(\"no license server URL configured for key-system \\\"\" + keySystem + \"\\\"\");\n };\n _proto.getServerCertificateUrl = function getServerCertificateUrl(keySystem) {\n var drmSystems = this.config.drmSystems;\n var keySystemConfiguration = drmSystems[keySystem];\n if (keySystemConfiguration) {\n return keySystemConfiguration.serverCertificateUrl;\n } else {\n this.log(\"No Server Certificate in config.drmSystems[\\\"\" + keySystem + \"\\\"]\");\n }\n };\n _proto.attemptKeySystemAccess = function attemptKeySystemAccess(keySystemsToAttempt) {\n var _this = this;\n var levels = this.hls.levels;\n var uniqueCodec = function uniqueCodec(value, i, a) {\n return !!value && a.indexOf(value) === i;\n };\n var audioCodecs = levels.map(function (level) {\n return level.audioCodec;\n }).filter(uniqueCodec);\n var videoCodecs = levels.map(function (level) {\n return level.videoCodec;\n }).filter(uniqueCodec);\n if (audioCodecs.length + videoCodecs.length === 0) {\n videoCodecs.push('avc1.42e01e');\n }\n return new Promise(function (resolve, reject) {\n var attempt = function attempt(keySystems) {\n var keySystem = keySystems.shift();\n _this.getMediaKeysPromise(keySystem, audioCodecs, videoCodecs).then(function (mediaKeys) {\n return resolve({\n keySystem: keySystem,\n mediaKeys: mediaKeys\n });\n }).catch(function (error) {\n if (keySystems.length) {\n attempt(keySystems);\n } else if (error instanceof EMEKeyError) {\n reject(error);\n } else {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_NO_ACCESS,\n error: error,\n fatal: true\n }, error.message));\n }\n });\n };\n attempt(keySystemsToAttempt);\n });\n };\n _proto.requestMediaKeySystemAccess = function requestMediaKeySystemAccess$1(keySystem, supportedConfigurations) {\n var requestMediaKeySystemAccessFunc = this.config.requestMediaKeySystemAccessFunc;\n if (!(typeof requestMediaKeySystemAccessFunc === 'function')) {\n var errMessage = \"Configured requestMediaKeySystemAccess is not a function \" + requestMediaKeySystemAccessFunc;\n if (requestMediaKeySystemAccess === null && self.location.protocol === 'http:') {\n errMessage = \"navigator.requestMediaKeySystemAccess is not available over insecure protocol \" + location.protocol;\n }\n return Promise.reject(new Error(errMessage));\n }\n return requestMediaKeySystemAccessFunc(keySystem, supportedConfigurations);\n };\n _proto.getMediaKeysPromise = function getMediaKeysPromise(keySystem, audioCodecs, videoCodecs) {\n var _this2 = this;\n // This can throw, but is caught in event handler callpath\n var mediaKeySystemConfigs = getSupportedMediaKeySystemConfigurations(keySystem, audioCodecs, videoCodecs, this.config.drmSystemOptions);\n var keySystemAccessPromises = this.keySystemAccessPromises[keySystem];\n var keySystemAccess = keySystemAccessPromises == null ? void 0 : keySystemAccessPromises.keySystemAccess;\n if (!keySystemAccess) {\n this.log(\"Requesting encrypted media \\\"\" + keySystem + \"\\\" key-system access with config: \" + JSON.stringify(mediaKeySystemConfigs));\n keySystemAccess = this.requestMediaKeySystemAccess(keySystem, mediaKeySystemConfigs);\n var _keySystemAccessPromises = this.keySystemAccessPromises[keySystem] = {\n keySystemAccess: keySystemAccess\n };\n keySystemAccess.catch(function (error) {\n _this2.log(\"Failed to obtain access to key-system \\\"\" + keySystem + \"\\\": \" + error);\n });\n return keySystemAccess.then(function (mediaKeySystemAccess) {\n _this2.log(\"Access for key-system \\\"\" + mediaKeySystemAccess.keySystem + \"\\\" obtained\");\n var certificateRequest = _this2.fetchServerCertificate(keySystem);\n _this2.log(\"Create media-keys for \\\"\" + keySystem + \"\\\"\");\n _keySystemAccessPromises.mediaKeys = mediaKeySystemAccess.createMediaKeys().then(function (mediaKeys) {\n _this2.log(\"Media-keys created for \\\"\" + keySystem + \"\\\"\");\n return certificateRequest.then(function (certificate) {\n if (certificate) {\n return _this2.setMediaKeysServerCertificate(mediaKeys, keySystem, certificate);\n }\n return mediaKeys;\n });\n });\n _keySystemAccessPromises.mediaKeys.catch(function (error) {\n _this2.error(\"Failed to create media-keys for \\\"\" + keySystem + \"\\\"}: \" + error);\n });\n return _keySystemAccessPromises.mediaKeys;\n });\n }\n return keySystemAccess.then(function () {\n return keySystemAccessPromises.mediaKeys;\n });\n };\n _proto.createMediaKeySessionContext = function createMediaKeySessionContext(_ref) {\n var decryptdata = _ref.decryptdata,\n keySystem = _ref.keySystem,\n mediaKeys = _ref.mediaKeys;\n this.log(\"Creating key-system session \\\"\" + keySystem + \"\\\" keyId: \" + Hex.hexDump(decryptdata.keyId || []));\n var mediaKeysSession = mediaKeys.createSession();\n var mediaKeySessionContext = {\n decryptdata: decryptdata,\n keySystem: keySystem,\n mediaKeys: mediaKeys,\n mediaKeysSession: mediaKeysSession,\n keyStatus: 'status-pending'\n };\n this.mediaKeySessions.push(mediaKeySessionContext);\n return mediaKeySessionContext;\n };\n _proto.renewKeySession = function renewKeySession(mediaKeySessionContext) {\n var decryptdata = mediaKeySessionContext.decryptdata;\n if (decryptdata.pssh) {\n var keySessionContext = this.createMediaKeySessionContext(mediaKeySessionContext);\n var _keyId = this.getKeyIdString(decryptdata);\n var scheme = 'cenc';\n this.keyIdToKeySessionPromise[_keyId] = this.generateRequestWithPreferredKeySession(keySessionContext, scheme, decryptdata.pssh, 'expired');\n } else {\n this.warn(\"Could not renew expired session. Missing pssh initData.\");\n }\n this.removeSession(mediaKeySessionContext);\n };\n _proto.getKeyIdString = function getKeyIdString(decryptdata) {\n if (!decryptdata) {\n throw new Error('Could not read keyId of undefined decryptdata');\n }\n if (decryptdata.keyId === null) {\n throw new Error('keyId is null');\n }\n return Hex.hexDump(decryptdata.keyId);\n };\n _proto.updateKeySession = function updateKeySession(mediaKeySessionContext, data) {\n var _mediaKeySessionConte;\n var keySession = mediaKeySessionContext.mediaKeysSession;\n this.log(\"Updating key-session \\\"\" + keySession.sessionId + \"\\\" for keyID \" + Hex.hexDump(((_mediaKeySessionConte = mediaKeySessionContext.decryptdata) == null ? void 0 : _mediaKeySessionConte.keyId) || []) + \"\\n } (data length: \" + (data ? data.byteLength : data) + \")\");\n return keySession.update(data);\n };\n _proto.selectKeySystemFormat = function selectKeySystemFormat(frag) {\n var keyFormats = Object.keys(frag.levelkeys || {});\n if (!this.keyFormatPromise) {\n this.log(\"Selecting key-system from fragment (sn: \" + frag.sn + \" \" + frag.type + \": \" + frag.level + \") key formats \" + keyFormats.join(', '));\n this.keyFormatPromise = this.getKeyFormatPromise(keyFormats);\n }\n return this.keyFormatPromise;\n };\n _proto.getKeyFormatPromise = function getKeyFormatPromise(keyFormats) {\n var _this3 = this;\n return new Promise(function (resolve, reject) {\n var keySystemsInConfig = getKeySystemsForConfig(_this3.config);\n var keySystemsToAttempt = keyFormats.map(keySystemFormatToKeySystemDomain).filter(function (value) {\n return !!value && keySystemsInConfig.indexOf(value) !== -1;\n });\n return _this3.getKeySystemSelectionPromise(keySystemsToAttempt).then(function (_ref2) {\n var keySystem = _ref2.keySystem;\n var keySystemFormat = keySystemDomainToKeySystemFormat(keySystem);\n if (keySystemFormat) {\n resolve(keySystemFormat);\n } else {\n reject(new Error(\"Unable to find format for key-system \\\"\" + keySystem + \"\\\"\"));\n }\n }).catch(reject);\n });\n };\n _proto.loadKey = function loadKey(data) {\n var _this4 = this;\n var decryptdata = data.keyInfo.decryptdata;\n var keyId = this.getKeyIdString(decryptdata);\n var keyDetails = \"(keyId: \" + keyId + \" format: \\\"\" + decryptdata.keyFormat + \"\\\" method: \" + decryptdata.method + \" uri: \" + decryptdata.uri + \")\";\n this.log(\"Starting session for key \" + keyDetails);\n var keySessionContextPromise = this.keyIdToKeySessionPromise[keyId];\n if (!keySessionContextPromise) {\n keySessionContextPromise = this.keyIdToKeySessionPromise[keyId] = this.getKeySystemForKeyPromise(decryptdata).then(function (_ref3) {\n var keySystem = _ref3.keySystem,\n mediaKeys = _ref3.mediaKeys;\n _this4.throwIfDestroyed();\n _this4.log(\"Handle encrypted media sn: \" + data.frag.sn + \" \" + data.frag.type + \": \" + data.frag.level + \" using key \" + keyDetails);\n return _this4.attemptSetMediaKeys(keySystem, mediaKeys).then(function () {\n _this4.throwIfDestroyed();\n var keySessionContext = _this4.createMediaKeySessionContext({\n keySystem: keySystem,\n mediaKeys: mediaKeys,\n decryptdata: decryptdata\n });\n var scheme = 'cenc';\n return _this4.generateRequestWithPreferredKeySession(keySessionContext, scheme, decryptdata.pssh, 'playlist-key');\n });\n });\n keySessionContextPromise.catch(function (error) {\n return _this4.handleError(error);\n });\n }\n return keySessionContextPromise;\n };\n _proto.throwIfDestroyed = function throwIfDestroyed(message) {\n if (!this.hls) {\n throw new Error('invalid state');\n }\n };\n _proto.handleError = function handleError(error) {\n if (!this.hls) {\n return;\n }\n this.error(error.message);\n if (error instanceof EMEKeyError) {\n this.hls.trigger(Events.ERROR, error.data);\n } else {\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_NO_KEYS,\n error: error,\n fatal: true\n });\n }\n };\n _proto.getKeySystemForKeyPromise = function getKeySystemForKeyPromise(decryptdata) {\n var keyId = this.getKeyIdString(decryptdata);\n var mediaKeySessionContext = this.keyIdToKeySessionPromise[keyId];\n if (!mediaKeySessionContext) {\n var keySystem = keySystemFormatToKeySystemDomain(decryptdata.keyFormat);\n var keySystemsToAttempt = keySystem ? [keySystem] : getKeySystemsForConfig(this.config);\n return this.attemptKeySystemAccess(keySystemsToAttempt);\n }\n return mediaKeySessionContext;\n };\n _proto.getKeySystemSelectionPromise = function getKeySystemSelectionPromise(keySystemsToAttempt) {\n if (!keySystemsToAttempt.length) {\n keySystemsToAttempt = getKeySystemsForConfig(this.config);\n }\n if (keySystemsToAttempt.length === 0) {\n throw new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_NO_CONFIGURED_LICENSE,\n fatal: true\n }, \"Missing key-system license configuration options \" + JSON.stringify({\n drmSystems: this.config.drmSystems\n }));\n }\n return this.attemptKeySystemAccess(keySystemsToAttempt);\n };\n _proto._onMediaEncrypted = function _onMediaEncrypted(event) {\n var _this5 = this;\n var initDataType = event.initDataType,\n initData = event.initData;\n this.debug(\"\\\"\" + event.type + \"\\\" event: init data type: \\\"\" + initDataType + \"\\\"\");\n\n // Ignore event when initData is null\n if (initData === null) {\n return;\n }\n var keyId;\n var keySystemDomain;\n if (initDataType === 'sinf' && this.config.drmSystems[KeySystems.FAIRPLAY]) {\n // Match sinf keyId to playlist skd://keyId=\n var json = bin2str(new Uint8Array(initData));\n try {\n var sinf = base64Decode(JSON.parse(json).sinf);\n var tenc = parseSinf(new Uint8Array(sinf));\n if (!tenc) {\n return;\n }\n keyId = tenc.subarray(8, 24);\n keySystemDomain = KeySystems.FAIRPLAY;\n } catch (error) {\n this.warn('Failed to parse sinf \"encrypted\" event message initData');\n return;\n }\n } else {\n // Support clear-lead key-session creation (otherwise depend on playlist keys)\n var psshInfo = parsePssh(initData);\n if (psshInfo === null) {\n return;\n }\n if (psshInfo.version === 0 && psshInfo.systemId === KeySystemIds.WIDEVINE && psshInfo.data) {\n keyId = psshInfo.data.subarray(8, 24);\n }\n keySystemDomain = keySystemIdToKeySystemDomain(psshInfo.systemId);\n }\n if (!keySystemDomain || !keyId) {\n return;\n }\n var keyIdHex = Hex.hexDump(keyId);\n var keyIdToKeySessionPromise = this.keyIdToKeySessionPromise,\n mediaKeySessions = this.mediaKeySessions;\n var keySessionContextPromise = keyIdToKeySessionPromise[keyIdHex];\n var _loop = function _loop() {\n // Match playlist key\n var keyContext = mediaKeySessions[i];\n var decryptdata = keyContext.decryptdata;\n if (decryptdata.pssh || !decryptdata.keyId) {\n return 0; // continue\n }\n var oldKeyIdHex = Hex.hexDump(decryptdata.keyId);\n if (keyIdHex === oldKeyIdHex || decryptdata.uri.replace(/-/g, '').indexOf(keyIdHex) !== -1) {\n keySessionContextPromise = keyIdToKeySessionPromise[oldKeyIdHex];\n delete keyIdToKeySessionPromise[oldKeyIdHex];\n decryptdata.pssh = new Uint8Array(initData);\n decryptdata.keyId = keyId;\n keySessionContextPromise = keyIdToKeySessionPromise[keyIdHex] = keySessionContextPromise.then(function () {\n return _this5.generateRequestWithPreferredKeySession(keyContext, initDataType, initData, 'encrypted-event-key-match');\n });\n return 1; // break\n }\n },\n _ret;\n for (var i = 0; i < mediaKeySessions.length; i++) {\n _ret = _loop();\n if (_ret === 0) continue;\n if (_ret === 1) break;\n }\n if (!keySessionContextPromise) {\n // Clear-lead key (not encountered in playlist)\n keySessionContextPromise = keyIdToKeySessionPromise[keyIdHex] = this.getKeySystemSelectionPromise([keySystemDomain]).then(function (_ref4) {\n var _keySystemToKeySystem;\n var keySystem = _ref4.keySystem,\n mediaKeys = _ref4.mediaKeys;\n _this5.throwIfDestroyed();\n var decryptdata = new LevelKey('ISO-23001-7', keyIdHex, (_keySystemToKeySystem = keySystemDomainToKeySystemFormat(keySystem)) != null ? _keySystemToKeySystem : '');\n decryptdata.pssh = new Uint8Array(initData);\n decryptdata.keyId = keyId;\n return _this5.attemptSetMediaKeys(keySystem, mediaKeys).then(function () {\n _this5.throwIfDestroyed();\n var keySessionContext = _this5.createMediaKeySessionContext({\n decryptdata: decryptdata,\n keySystem: keySystem,\n mediaKeys: mediaKeys\n });\n return _this5.generateRequestWithPreferredKeySession(keySessionContext, initDataType, initData, 'encrypted-event-no-match');\n });\n });\n }\n keySessionContextPromise.catch(function (error) {\n return _this5.handleError(error);\n });\n };\n _proto._onWaitingForKey = function _onWaitingForKey(event) {\n this.log(\"\\\"\" + event.type + \"\\\" event\");\n };\n _proto.attemptSetMediaKeys = function attemptSetMediaKeys(keySystem, mediaKeys) {\n var _this6 = this;\n var queue = this.setMediaKeysQueue.slice();\n this.log(\"Setting media-keys for \\\"\" + keySystem + \"\\\"\");\n // Only one setMediaKeys() can run at one time, and multiple setMediaKeys() operations\n // can be queued for execution for multiple key sessions.\n var setMediaKeysPromise = Promise.all(queue).then(function () {\n if (!_this6.media) {\n throw new Error('Attempted to set mediaKeys without media element attached');\n }\n return _this6.media.setMediaKeys(mediaKeys);\n });\n this.setMediaKeysQueue.push(setMediaKeysPromise);\n return setMediaKeysPromise.then(function () {\n _this6.log(\"Media-keys set for \\\"\" + keySystem + \"\\\"\");\n queue.push(setMediaKeysPromise);\n _this6.setMediaKeysQueue = _this6.setMediaKeysQueue.filter(function (p) {\n return queue.indexOf(p) === -1;\n });\n });\n };\n _proto.generateRequestWithPreferredKeySession = function generateRequestWithPreferredKeySession(context, initDataType, initData, reason) {\n var _this$config$drmSyste,\n _this$config$drmSyste2,\n _this7 = this;\n var generateRequestFilter = (_this$config$drmSyste = this.config.drmSystems) == null ? void 0 : (_this$config$drmSyste2 = _this$config$drmSyste[context.keySystem]) == null ? void 0 : _this$config$drmSyste2.generateRequest;\n if (generateRequestFilter) {\n try {\n var mappedInitData = generateRequestFilter.call(this.hls, initDataType, initData, context);\n if (!mappedInitData) {\n throw new Error('Invalid response from configured generateRequest filter');\n }\n initDataType = mappedInitData.initDataType;\n initData = context.decryptdata.pssh = mappedInitData.initData ? new Uint8Array(mappedInitData.initData) : null;\n } catch (error) {\n var _this$hls;\n this.warn(error.message);\n if ((_this$hls = this.hls) != null && _this$hls.config.debug) {\n throw error;\n }\n }\n }\n if (initData === null) {\n this.log(\"Skipping key-session request for \\\"\" + reason + \"\\\" (no initData)\");\n return Promise.resolve(context);\n }\n var keyId = this.getKeyIdString(context.decryptdata);\n this.log(\"Generating key-session request for \\\"\" + reason + \"\\\": \" + keyId + \" (init data type: \" + initDataType + \" length: \" + (initData ? initData.byteLength : null) + \")\");\n var licenseStatus = new EventEmitter();\n var onmessage = context._onmessage = function (event) {\n var keySession = context.mediaKeysSession;\n if (!keySession) {\n licenseStatus.emit('error', new Error('invalid state'));\n return;\n }\n var messageType = event.messageType,\n message = event.message;\n _this7.log(\"\\\"\" + messageType + \"\\\" message event for session \\\"\" + keySession.sessionId + \"\\\" message size: \" + message.byteLength);\n if (messageType === 'license-request' || messageType === 'license-renewal') {\n _this7.renewLicense(context, message).catch(function (error) {\n _this7.handleError(error);\n licenseStatus.emit('error', error);\n });\n } else if (messageType === 'license-release') {\n if (context.keySystem === KeySystems.FAIRPLAY) {\n _this7.updateKeySession(context, strToUtf8array('acknowledged'));\n _this7.removeSession(context);\n }\n } else {\n _this7.warn(\"unhandled media key message type \\\"\" + messageType + \"\\\"\");\n }\n };\n var onkeystatuseschange = context._onkeystatuseschange = function (event) {\n var keySession = context.mediaKeysSession;\n if (!keySession) {\n licenseStatus.emit('error', new Error('invalid state'));\n return;\n }\n _this7.onKeyStatusChange(context);\n var keyStatus = context.keyStatus;\n licenseStatus.emit('keyStatus', keyStatus);\n if (keyStatus === 'expired') {\n _this7.warn(context.keySystem + \" expired for key \" + keyId);\n _this7.renewKeySession(context);\n }\n };\n context.mediaKeysSession.addEventListener('message', onmessage);\n context.mediaKeysSession.addEventListener('keystatuseschange', onkeystatuseschange);\n var keyUsablePromise = new Promise(function (resolve, reject) {\n licenseStatus.on('error', reject);\n licenseStatus.on('keyStatus', function (keyStatus) {\n if (keyStatus.startsWith('usable')) {\n resolve();\n } else if (keyStatus === 'output-restricted') {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,\n fatal: false\n }, 'HDCP level output restricted'));\n } else if (keyStatus === 'internal-error') {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_STATUS_INTERNAL_ERROR,\n fatal: true\n }, \"key status changed to \\\"\" + keyStatus + \"\\\"\"));\n } else if (keyStatus === 'expired') {\n reject(new Error('key expired while generating request'));\n } else {\n _this7.warn(\"unhandled key status change \\\"\" + keyStatus + \"\\\"\");\n }\n });\n });\n return context.mediaKeysSession.generateRequest(initDataType, initData).then(function () {\n var _context$mediaKeysSes;\n _this7.log(\"Request generated for key-session \\\"\" + ((_context$mediaKeysSes = context.mediaKeysSession) == null ? void 0 : _context$mediaKeysSes.sessionId) + \"\\\" keyId: \" + keyId);\n }).catch(function (error) {\n throw new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_NO_SESSION,\n error: error,\n fatal: false\n }, \"Error generating key-session request: \" + error);\n }).then(function () {\n return keyUsablePromise;\n }).catch(function (error) {\n licenseStatus.removeAllListeners();\n _this7.removeSession(context);\n throw error;\n }).then(function () {\n licenseStatus.removeAllListeners();\n return context;\n });\n };\n _proto.onKeyStatusChange = function onKeyStatusChange(mediaKeySessionContext) {\n var _this8 = this;\n mediaKeySessionContext.mediaKeysSession.keyStatuses.forEach(function (status, keyId) {\n _this8.log(\"key status change \\\"\" + status + \"\\\" for keyStatuses keyId: \" + Hex.hexDump('buffer' in keyId ? new Uint8Array(keyId.buffer, keyId.byteOffset, keyId.byteLength) : new Uint8Array(keyId)) + \" session keyId: \" + Hex.hexDump(new Uint8Array(mediaKeySessionContext.decryptdata.keyId || [])) + \" uri: \" + mediaKeySessionContext.decryptdata.uri);\n mediaKeySessionContext.keyStatus = status;\n });\n };\n _proto.fetchServerCertificate = function fetchServerCertificate(keySystem) {\n var config = this.config;\n var Loader = config.loader;\n var certLoader = new Loader(config);\n var url = this.getServerCertificateUrl(keySystem);\n if (!url) {\n return Promise.resolve();\n }\n this.log(\"Fetching server certificate for \\\"\" + keySystem + \"\\\"\");\n return new Promise(function (resolve, reject) {\n var loaderContext = {\n responseType: 'arraybuffer',\n url: url\n };\n var loadPolicy = config.certLoadPolicy.default;\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: 0,\n retryDelay: 0,\n maxRetryDelay: 0\n };\n var loaderCallbacks = {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n resolve(response.data);\n },\n onError: function onError(response, contex, networkDetails, stats) {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,\n fatal: true,\n networkDetails: networkDetails,\n response: _objectSpread2({\n url: loaderContext.url,\n data: undefined\n }, response)\n }, \"\\\"\" + keySystem + \"\\\" certificate request failed (\" + url + \"). Status: \" + response.code + \" (\" + response.text + \")\"));\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,\n fatal: true,\n networkDetails: networkDetails,\n response: {\n url: loaderContext.url,\n data: undefined\n }\n }, \"\\\"\" + keySystem + \"\\\" certificate request timed out (\" + url + \")\"));\n },\n onAbort: function onAbort(stats, context, networkDetails) {\n reject(new Error('aborted'));\n }\n };\n certLoader.load(loaderContext, loaderConfig, loaderCallbacks);\n });\n };\n _proto.setMediaKeysServerCertificate = function setMediaKeysServerCertificate(mediaKeys, keySystem, cert) {\n var _this9 = this;\n return new Promise(function (resolve, reject) {\n mediaKeys.setServerCertificate(cert).then(function (success) {\n _this9.log(\"setServerCertificate \" + (success ? 'success' : 'not supported by CDM') + \" (\" + (cert == null ? void 0 : cert.byteLength) + \") on \\\"\" + keySystem + \"\\\"\");\n resolve(mediaKeys);\n }).catch(function (error) {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,\n error: error,\n fatal: true\n }, error.message));\n });\n });\n };\n _proto.renewLicense = function renewLicense(context, keyMessage) {\n var _this10 = this;\n return this.requestLicense(context, new Uint8Array(keyMessage)).then(function (data) {\n return _this10.updateKeySession(context, new Uint8Array(data)).catch(function (error) {\n throw new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_SESSION_UPDATE_FAILED,\n error: error,\n fatal: true\n }, error.message);\n });\n });\n };\n _proto.unpackPlayReadyKeyMessage = function unpackPlayReadyKeyMessage(xhr, licenseChallenge) {\n // On Edge, the raw license message is UTF-16-encoded XML. We need\n // to unpack the Challenge element (base64-encoded string containing the\n // actual license request) and any HttpHeader elements (sent as request\n // headers).\n // For PlayReady CDMs, we need to dig the Challenge out of the XML.\n var xmlString = String.fromCharCode.apply(null, new Uint16Array(licenseChallenge.buffer));\n if (!xmlString.includes('PlayReadyKeyMessage')) {\n // This does not appear to be a wrapped message as on Edge. Some\n // clients do not need this unwrapping, so we will assume this is one of\n // them. Note that \"xml\" at this point probably looks like random\n // garbage, since we interpreted UTF-8 as UTF-16.\n xhr.setRequestHeader('Content-Type', 'text/xml; charset=utf-8');\n return licenseChallenge;\n }\n var keyMessageXml = new DOMParser().parseFromString(xmlString, 'application/xml');\n // Set request headers.\n var headers = keyMessageXml.querySelectorAll('HttpHeader');\n if (headers.length > 0) {\n var header;\n for (var i = 0, len = headers.length; i < len; i++) {\n var _header$querySelector, _header$querySelector2;\n header = headers[i];\n var name = (_header$querySelector = header.querySelector('name')) == null ? void 0 : _header$querySelector.textContent;\n var _value = (_header$querySelector2 = header.querySelector('value')) == null ? void 0 : _header$querySelector2.textContent;\n if (name && _value) {\n xhr.setRequestHeader(name, _value);\n }\n }\n }\n var challengeElement = keyMessageXml.querySelector('Challenge');\n var challengeText = challengeElement == null ? void 0 : challengeElement.textContent;\n if (!challengeText) {\n throw new Error(\"Cannot find <Challenge> in key message\");\n }\n return strToUtf8array(atob(challengeText));\n };\n _proto.setupLicenseXHR = function setupLicenseXHR(xhr, url, keysListItem, licenseChallenge) {\n var _this11 = this;\n var licenseXhrSetup = this.config.licenseXhrSetup;\n if (!licenseXhrSetup) {\n xhr.open('POST', url, true);\n return Promise.resolve({\n xhr: xhr,\n licenseChallenge: licenseChallenge\n });\n }\n return Promise.resolve().then(function () {\n if (!keysListItem.decryptdata) {\n throw new Error('Key removed');\n }\n return licenseXhrSetup.call(_this11.hls, xhr, url, keysListItem, licenseChallenge);\n }).catch(function (error) {\n if (!keysListItem.decryptdata) {\n // Key session removed. Cancel license request.\n throw error;\n }\n // let's try to open before running setup\n xhr.open('POST', url, true);\n return licenseXhrSetup.call(_this11.hls, xhr, url, keysListItem, licenseChallenge);\n }).then(function (licenseXhrSetupResult) {\n // if licenseXhrSetup did not yet call open, let's do it now\n if (!xhr.readyState) {\n xhr.open('POST', url, true);\n }\n var finalLicenseChallenge = licenseXhrSetupResult ? licenseXhrSetupResult : licenseChallenge;\n return {\n xhr: xhr,\n licenseChallenge: finalLicenseChallenge\n };\n });\n };\n _proto.requestLicense = function requestLicense(keySessionContext, licenseChallenge) {\n var _this12 = this;\n var keyLoadPolicy = this.config.keyLoadPolicy.default;\n return new Promise(function (resolve, reject) {\n var url = _this12.getLicenseServerUrl(keySessionContext.keySystem);\n _this12.log(\"Sending license request to URL: \" + url);\n var xhr = new XMLHttpRequest();\n xhr.responseType = 'arraybuffer';\n xhr.onreadystatechange = function () {\n if (!_this12.hls || !keySessionContext.mediaKeysSession) {\n return reject(new Error('invalid state'));\n }\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n _this12._requestLicenseFailureCount = 0;\n var data = xhr.response;\n _this12.log(\"License received \" + (data instanceof ArrayBuffer ? data.byteLength : data));\n var licenseResponseCallback = _this12.config.licenseResponseCallback;\n if (licenseResponseCallback) {\n try {\n data = licenseResponseCallback.call(_this12.hls, xhr, url, keySessionContext);\n } catch (error) {\n _this12.error(error);\n }\n }\n resolve(data);\n } else {\n var retryConfig = keyLoadPolicy.errorRetry;\n var maxNumRetry = retryConfig ? retryConfig.maxNumRetry : 0;\n _this12._requestLicenseFailureCount++;\n if (_this12._requestLicenseFailureCount > maxNumRetry || xhr.status >= 400 && xhr.status < 500) {\n reject(new EMEKeyError({\n type: ErrorTypes.KEY_SYSTEM_ERROR,\n details: ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,\n fatal: true,\n networkDetails: xhr,\n response: {\n url: url,\n data: undefined,\n code: xhr.status,\n text: xhr.statusText\n }\n }, \"License Request XHR failed (\" + url + \"). Status: \" + xhr.status + \" (\" + xhr.statusText + \")\"));\n } else {\n var attemptsLeft = maxNumRetry - _this12._requestLicenseFailureCount + 1;\n _this12.warn(\"Retrying license request, \" + attemptsLeft + \" attempts left\");\n _this12.requestLicense(keySessionContext, licenseChallenge).then(resolve, reject);\n }\n }\n }\n };\n if (keySessionContext.licenseXhr && keySessionContext.licenseXhr.readyState !== XMLHttpRequest.DONE) {\n keySessionContext.licenseXhr.abort();\n }\n keySessionContext.licenseXhr = xhr;\n _this12.setupLicenseXHR(xhr, url, keySessionContext, licenseChallenge).then(function (_ref5) {\n var xhr = _ref5.xhr,\n licenseChallenge = _ref5.licenseChallenge;\n if (keySessionContext.keySystem == KeySystems.PLAYREADY) {\n licenseChallenge = _this12.unpackPlayReadyKeyMessage(xhr, licenseChallenge);\n }\n xhr.send(licenseChallenge);\n });\n });\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n if (!this.config.emeEnabled) {\n return;\n }\n var media = data.media;\n\n // keep reference of media\n this.media = media;\n media.addEventListener('encrypted', this.onMediaEncrypted);\n media.addEventListener('waitingforkey', this.onWaitingForKey);\n };\n _proto.onMediaDetached = function onMediaDetached() {\n var _this13 = this;\n var media = this.media;\n var mediaKeysList = this.mediaKeySessions;\n if (media) {\n media.removeEventListener('encrypted', this.onMediaEncrypted);\n media.removeEventListener('waitingforkey', this.onWaitingForKey);\n this.media = null;\n }\n this._requestLicenseFailureCount = 0;\n this.setMediaKeysQueue = [];\n this.mediaKeySessions = [];\n this.keyIdToKeySessionPromise = {};\n LevelKey.clearKeyUriToKeyIdMap();\n\n // Close all sessions and remove media keys from the video element.\n var keySessionCount = mediaKeysList.length;\n EMEController.CDMCleanupPromise = Promise.all(mediaKeysList.map(function (mediaKeySessionContext) {\n return _this13.removeSession(mediaKeySessionContext);\n }).concat(media == null ? void 0 : media.setMediaKeys(null).catch(function (error) {\n _this13.log(\"Could not clear media keys: \" + error);\n }))).then(function () {\n if (keySessionCount) {\n _this13.log('finished closing key sessions and clearing media keys');\n mediaKeysList.length = 0;\n }\n }).catch(function (error) {\n _this13.log(\"Could not close sessions and clear media keys: \" + error);\n });\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.keyFormatPromise = null;\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, _ref6) {\n var sessionKeys = _ref6.sessionKeys;\n if (!sessionKeys || !this.config.emeEnabled) {\n return;\n }\n if (!this.keyFormatPromise) {\n var keyFormats = sessionKeys.reduce(function (formats, sessionKey) {\n if (formats.indexOf(sessionKey.keyFormat) === -1) {\n formats.push(sessionKey.keyFormat);\n }\n return formats;\n }, []);\n this.log(\"Selecting key-system from session-keys \" + keyFormats.join(', '));\n this.keyFormatPromise = this.getKeyFormatPromise(keyFormats);\n }\n };\n _proto.removeSession = function removeSession(mediaKeySessionContext) {\n var _this14 = this;\n var mediaKeysSession = mediaKeySessionContext.mediaKeysSession,\n licenseXhr = mediaKeySessionContext.licenseXhr;\n if (mediaKeysSession) {\n this.log(\"Remove licenses and keys and close session \" + mediaKeysSession.sessionId);\n if (mediaKeySessionContext._onmessage) {\n mediaKeysSession.removeEventListener('message', mediaKeySessionContext._onmessage);\n mediaKeySessionContext._onmessage = undefined;\n }\n if (mediaKeySessionContext._onkeystatuseschange) {\n mediaKeysSession.removeEventListener('keystatuseschange', mediaKeySessionContext._onkeystatuseschange);\n mediaKeySessionContext._onkeystatuseschange = undefined;\n }\n if (licenseXhr && licenseXhr.readyState !== XMLHttpRequest.DONE) {\n licenseXhr.abort();\n }\n mediaKeySessionContext.mediaKeysSession = mediaKeySessionContext.decryptdata = mediaKeySessionContext.licenseXhr = undefined;\n var index = this.mediaKeySessions.indexOf(mediaKeySessionContext);\n if (index > -1) {\n this.mediaKeySessions.splice(index, 1);\n }\n return mediaKeysSession.remove().catch(function (error) {\n _this14.log(\"Could not remove session: \" + error);\n }).then(function () {\n return mediaKeysSession.close();\n }).catch(function (error) {\n _this14.log(\"Could not close session: \" + error);\n });\n }\n };\n return EMEController;\n }();\n EMEController.CDMCleanupPromise = void 0;\n var EMEKeyError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(EMEKeyError, _Error);\n function EMEKeyError(data, message) {\n var _this15;\n _this15 = _Error.call(this, message) || this;\n _this15.data = void 0;\n data.error || (data.error = new Error(message));\n _this15.data = data;\n data.err = data.error;\n return _this15;\n }\n return EMEKeyError;\n }( /*#__PURE__*/_wrapNativeSuper(Error));\n\n /**\n * Common Media Object Type\n *\n * @group CMCD\n * @group CMSD\n *\n * @beta\n */\n var CmObjectType;\n (function (CmObjectType) {\n /**\n * text file, such as a manifest or playlist\n */\n CmObjectType[\"MANIFEST\"] = \"m\";\n /**\n * audio only\n */\n CmObjectType[\"AUDIO\"] = \"a\";\n /**\n * video only\n */\n CmObjectType[\"VIDEO\"] = \"v\";\n /**\n * muxed audio and video\n */\n CmObjectType[\"MUXED\"] = \"av\";\n /**\n * init segment\n */\n CmObjectType[\"INIT\"] = \"i\";\n /**\n * caption or subtitle\n */\n CmObjectType[\"CAPTION\"] = \"c\";\n /**\n * ISOBMFF timed text track\n */\n CmObjectType[\"TIMED_TEXT\"] = \"tt\";\n /**\n * cryptographic key, license or certificate.\n */\n CmObjectType[\"KEY\"] = \"k\";\n /**\n * other\n */\n CmObjectType[\"OTHER\"] = \"o\";\n })(CmObjectType || (CmObjectType = {}));\n\n /**\n * Common Media Streaming Format\n *\n * @group CMCD\n * @group CMSD\n *\n * @beta\n */\n var CmStreamingFormat;\n (function (CmStreamingFormat) {\n /**\n * MPEG DASH\n */\n CmStreamingFormat[\"DASH\"] = \"d\";\n /**\n * HTTP Live Streaming (HLS)\n */\n CmStreamingFormat[\"HLS\"] = \"h\";\n /**\n * Smooth Streaming\n */\n CmStreamingFormat[\"SMOOTH\"] = \"s\";\n /**\n * Other\n */\n CmStreamingFormat[\"OTHER\"] = \"o\";\n })(CmStreamingFormat || (CmStreamingFormat = {}));\n\n /**\n * CMCD header fields.\n *\n * @group CMCD\n *\n * @beta\n */\n var CmcdHeaderField;\n (function (CmcdHeaderField) {\n /**\n * keys whose values vary with the object being requested.\n */\n CmcdHeaderField[\"OBJECT\"] = \"CMCD-Object\";\n /**\n * keys whose values vary with each request.\n */\n CmcdHeaderField[\"REQUEST\"] = \"CMCD-Request\";\n /**\n * keys whose values are expected to be invariant over the life of the session.\n */\n CmcdHeaderField[\"SESSION\"] = \"CMCD-Session\";\n /**\n * keys whose values do not vary with every request or object.\n */\n CmcdHeaderField[\"STATUS\"] = \"CMCD-Status\";\n })(CmcdHeaderField || (CmcdHeaderField = {}));\n\n var _CmcdHeaderMap;\n /**\n * The map of CMCD header fields to official CMCD keys.\n *\n * @internal\n *\n * @group CMCD\n */\n var CmcdHeaderMap = (_CmcdHeaderMap = {}, _CmcdHeaderMap[CmcdHeaderField.OBJECT] = ['br', 'd', 'ot', 'tb'], _CmcdHeaderMap[CmcdHeaderField.REQUEST] = ['bl', 'dl', 'mtp', 'nor', 'nrr', 'su'], _CmcdHeaderMap[CmcdHeaderField.SESSION] = ['cid', 'pr', 'sf', 'sid', 'st', 'v'], _CmcdHeaderMap[CmcdHeaderField.STATUS] = ['bs', 'rtp'], _CmcdHeaderMap);\n\n /**\n * Structured Field Item\n *\n * @group Structured Field\n *\n * @beta\n */\n var SfItem = function SfItem(value, params) {\n this.value = void 0;\n this.params = void 0;\n if (Array.isArray(value)) {\n value = value.map(function (v) {\n return v instanceof SfItem ? v : new SfItem(v);\n });\n }\n this.value = value;\n this.params = params;\n };\n\n /**\n * A class to represent structured field tokens when `Symbol` is not available.\n *\n * @group Structured Field\n *\n * @beta\n */\n var SfToken = function SfToken(description) {\n this.description = void 0;\n this.description = description;\n };\n\n var DICT = 'Dict';\n\n function format(value) {\n if (Array.isArray(value)) {\n return JSON.stringify(value);\n }\n if (value instanceof Map) {\n return 'Map{}';\n }\n if (value instanceof Set) {\n return 'Set{}';\n }\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n return String(value);\n }\n function throwError(action, src, type, cause) {\n return new Error(\"failed to \" + action + \" \\\"\" + format(src) + \"\\\" as \" + type, {\n cause: cause\n });\n }\n\n var BARE_ITEM = 'Bare Item';\n\n var BOOLEAN = 'Boolean';\n\n var BYTES = 'Byte Sequence';\n\n var DECIMAL = 'Decimal';\n\n var INTEGER = 'Integer';\n\n function isInvalidInt(value) {\n return value < -999999999999999 || 999999999999999 < value;\n }\n\n var STRING_REGEX = /[\\x00-\\x1f\\x7f]+/; // eslint-disable-line no-control-regex\n\n var TOKEN = 'Token';\n\n var KEY = 'Key';\n\n function serializeError(src, type, cause) {\n return throwError('serialize', src, type, cause);\n }\n\n // 4.1.9. Serializing a Boolean\n //\n // Given a Boolean as input_boolean, return an ASCII string suitable for\n // use in a HTTP field value.\n //\n // 1. If input_boolean is not a boolean, fail serialization.\n //\n // 2. Let output be an empty string.\n //\n // 3. Append \"?\" to output.\n //\n // 4. If input_boolean is true, append \"1\" to output.\n //\n // 5. If input_boolean is false, append \"0\" to output.\n //\n // 6. Return output.\n function serializeBoolean(value) {\n if (typeof value !== 'boolean') {\n throw serializeError(value, BOOLEAN);\n }\n return value ? '?1' : '?0';\n }\n\n /**\n * Encodes binary data to base64\n *\n * @param binary - The binary data to encode\n * @returns The base64 encoded string\n *\n * @group Utils\n *\n * @beta\n */\n function base64encode(binary) {\n return btoa(String.fromCharCode.apply(String, binary));\n }\n\n // 4.1.8. Serializing a Byte Sequence\n //\n // Given a Byte Sequence as input_bytes, return an ASCII string suitable\n // for use in a HTTP field value.\n //\n // 1. If input_bytes is not a sequence of bytes, fail serialization.\n //\n // 2. Let output be an empty string.\n //\n // 3. Append \":\" to output.\n //\n // 4. Append the result of base64-encoding input_bytes as per\n // [RFC4648], Section 4, taking account of the requirements below.\n //\n // 5. Append \":\" to output.\n //\n // 6. Return output.\n //\n // The encoded data is required to be padded with \"=\", as per [RFC4648],\n // Section 3.2.\n //\n // Likewise, encoded data SHOULD have pad bits set to zero, as per\n // [RFC4648], Section 3.5, unless it is not possible to do so due to\n // implementation constraints.\n function serializeByteSequence(value) {\n if (ArrayBuffer.isView(value) === false) {\n throw serializeError(value, BYTES);\n }\n return \":\" + base64encode(value) + \":\";\n }\n\n // 4.1.4. Serializing an Integer\n //\n // Given an Integer as input_integer, return an ASCII string suitable\n // for use in a HTTP field value.\n //\n // 1. If input_integer is not an integer in the range of\n // -999,999,999,999,999 to 999,999,999,999,999 inclusive, fail\n // serialization.\n //\n // 2. Let output be an empty string.\n //\n // 3. If input_integer is less than (but not equal to) 0, append \"-\" to\n // output.\n //\n // 4. Append input_integer's numeric value represented in base 10 using\n // only decimal digits to output.\n //\n // 5. Return output.\n function serializeInteger(value) {\n if (isInvalidInt(value)) {\n throw serializeError(value, INTEGER);\n }\n return value.toString();\n }\n\n // 4.1.10. Serializing a Date\n //\n // Given a Date as input_integer, return an ASCII string suitable for\n // use in an HTTP field value.\n // 1. Let output be \"@\".\n // 2. Append to output the result of running Serializing an Integer\n // with input_date (Section 4.1.4).\n // 3. Return output.\n function serializeDate(value) {\n return \"@\" + serializeInteger(value.getTime() / 1000);\n }\n\n /**\n * This implements the rounding procedure described in step 2 of the \"Serializing a Decimal\" specification.\n * This rounding style is known as \"even rounding\", \"banker's rounding\", or \"commercial rounding\".\n *\n * @param value - The value to round\n * @param precision - The number of decimal places to round to\n * @returns The rounded value\n *\n * @group Utils\n *\n * @beta\n */\n function roundToEven(value, precision) {\n if (value < 0) {\n return -roundToEven(-value, precision);\n }\n var decimalShift = Math.pow(10, precision);\n var isEquidistant = Math.abs(value * decimalShift % 1 - 0.5) < Number.EPSILON;\n if (isEquidistant) {\n // If the tail of the decimal place is 'equidistant' we round to the nearest even value\n var flooredValue = Math.floor(value * decimalShift);\n return (flooredValue % 2 === 0 ? flooredValue : flooredValue + 1) / decimalShift;\n } else {\n // Otherwise, proceed as normal\n return Math.round(value * decimalShift) / decimalShift;\n }\n }\n\n // 4.1.5. Serializing a Decimal\n //\n // Given a decimal number as input_decimal, return an ASCII string\n // suitable for use in a HTTP field value.\n //\n // 1. If input_decimal is not a decimal number, fail serialization.\n //\n // 2. If input_decimal has more than three significant digits to the\n // right of the decimal point, round it to three decimal places,\n // rounding the final digit to the nearest value, or to the even\n // value if it is equidistant.\n //\n // 3. If input_decimal has more than 12 significant digits to the left\n // of the decimal point after rounding, fail serialization.\n //\n // 4. Let output be an empty string.\n //\n // 5. If input_decimal is less than (but not equal to) 0, append \"-\"\n // to output.\n //\n // 6. Append input_decimal's integer component represented in base 10\n // (using only decimal digits) to output; if it is zero, append\n // \"0\".\n //\n // 7. Append \".\" to output.\n //\n // 8. If input_decimal's fractional component is zero, append \"0\" to\n // output.\n //\n // 9. Otherwise, append the significant digits of input_decimal's\n // fractional component represented in base 10 (using only decimal\n // digits) to output.\n //\n // 10. Return output.\n function serializeDecimal(value) {\n var roundedValue = roundToEven(value, 3); // round to 3 decimal places\n if (Math.floor(Math.abs(roundedValue)).toString().length > 12) {\n throw serializeError(value, DECIMAL);\n }\n var stringValue = roundedValue.toString();\n return stringValue.includes('.') ? stringValue : stringValue + \".0\";\n }\n\n var STRING = 'String';\n\n // 4.1.6. Serializing a String\n //\n // Given a String as input_string, return an ASCII string suitable for\n // use in a HTTP field value.\n //\n // 1. Convert input_string into a sequence of ASCII characters; if\n // conversion fails, fail serialization.\n //\n // 2. If input_string contains characters in the range %x00-1f or %x7f\n // (i.e., not in VCHAR or SP), fail serialization.\n //\n // 3. Let output be the string DQUOTE.\n //\n // 4. For each character char in input_string:\n //\n // 1. If char is \"\\\" or DQUOTE:\n //\n // 1. Append \"\\\" to output.\n //\n // 2. Append char to output.\n //\n // 5. Append DQUOTE to output.\n //\n // 6. Return output.\n function serializeString(value) {\n if (STRING_REGEX.test(value)) {\n throw serializeError(value, STRING);\n }\n return \"\\\"\" + value.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, \"\\\\\\\"\") + \"\\\"\";\n }\n\n function symbolToStr(symbol) {\n return symbol.description || symbol.toString().slice(7, -1);\n }\n\n function serializeToken(token) {\n var value = symbolToStr(token);\n if (/^([a-zA-Z*])([!#$%&'*+\\-.^_`|~\\w:/]*)$/.test(value) === false) {\n throw serializeError(value, TOKEN);\n }\n return value;\n }\n\n // 4.1.3.1. Serializing a Bare Item\n //\n // Given an Item as input_item, return an ASCII string suitable for use\n // in a HTTP field value.\n //\n // 1. If input_item is an Integer, return the result of running\n // Serializing an Integer (Section 4.1.4) with input_item.\n //\n // 2. If input_item is a Decimal, return the result of running\n // Serializing a Decimal (Section 4.1.5) with input_item.\n //\n // 3. If input_item is a String, return the result of running\n // Serializing a String (Section 4.1.6) with input_item.\n //\n // 4. If input_item is a Token, return the result of running\n // Serializing a Token (Section 4.1.7) with input_item.\n //\n // 5. If input_item is a Boolean, return the result of running\n // Serializing a Boolean (Section 4.1.9) with input_item.\n //\n // 6. If input_item is a Byte Sequence, return the result of running\n // Serializing a Byte Sequence (Section 4.1.8) with input_item.\n //\n // 7. If input_item is a Date, return the result of running Serializing\n // a Date (Section 4.1.10) with input_item.\n //\n // 8. Otherwise, fail serialization.\n function serializeBareItem(value) {\n switch (typeof value) {\n case 'number':\n if (!isFiniteNumber(value)) {\n throw serializeError(value, BARE_ITEM);\n }\n if (Number.isInteger(value)) {\n return serializeInteger(value);\n }\n return serializeDecimal(value);\n case 'string':\n return serializeString(value);\n case 'symbol':\n return serializeToken(value);\n case 'boolean':\n return serializeBoolean(value);\n case 'object':\n if (value instanceof Date) {\n return serializeDate(value);\n }\n if (value instanceof Uint8Array) {\n return serializeByteSequence(value);\n }\n if (value instanceof SfToken) {\n return serializeToken(value);\n }\n default:\n // fail\n throw serializeError(value, BARE_ITEM);\n }\n }\n\n // 4.1.1.3. Serializing a Key\n //\n // Given a key as input_key, return an ASCII string suitable for use in\n // a HTTP field value.\n //\n // 1. Convert input_key into a sequence of ASCII characters; if\n // conversion fails, fail serialization.\n //\n // 2. If input_key contains characters not in lcalpha, DIGIT, \"_\", \"-\",\n // \".\", or \"*\" fail serialization.\n //\n // 3. If the first character of input_key is not lcalpha or \"*\", fail\n // serialization.\n //\n // 4. Let output be an empty string.\n //\n // 5. Append input_key to output.\n //\n // 6. Return output.\n function serializeKey(value) {\n if (/^[a-z*][a-z0-9\\-_.*]*$/.test(value) === false) {\n throw serializeError(value, KEY);\n }\n return value;\n }\n\n // 4.1.1.2. Serializing Parameters\n //\n // Given an ordered Dictionary as input_parameters (each member having a\n // param_name and a param_value), return an ASCII string suitable for\n // use in a HTTP field value.\n //\n // 1. Let output be an empty string.\n //\n // 2. For each param_name with a value of param_value in\n // input_parameters:\n //\n // 1. Append \";\" to output.\n //\n // 2. Append the result of running Serializing a Key\n // (Section 4.1.1.3) with param_name to output.\n //\n // 3. If param_value is not Boolean true:\n //\n // 1. Append \"=\" to output.\n //\n // 2. Append the result of running Serializing a bare Item\n // (Section 4.1.3.1) with param_value to output.\n //\n // 3. Return output.\n function serializeParams(params) {\n if (params == null) {\n return '';\n }\n return Object.entries(params).map(function (_ref) {\n var key = _ref[0],\n value = _ref[1];\n if (value === true) {\n return \";\" + serializeKey(key); // omit true\n }\n return \";\" + serializeKey(key) + \"=\" + serializeBareItem(value);\n }).join('');\n }\n\n // 4.1.3. Serializing an Item\n //\n // Given an Item as bare_item and Parameters as item_parameters, return\n // an ASCII string suitable for use in a HTTP field value.\n //\n // 1. Let output be an empty string.\n //\n // 2. Append the result of running Serializing a Bare Item\n // Section 4.1.3.1 with bare_item to output.\n //\n // 3. Append the result of running Serializing Parameters\n // Section 4.1.1.2 with item_parameters to output.\n //\n // 4. Return output.\n function serializeItem(value) {\n if (value instanceof SfItem) {\n return \"\" + serializeBareItem(value.value) + serializeParams(value.params);\n } else {\n return serializeBareItem(value);\n }\n }\n\n // 4.1.1.1. Serializing an Inner List\n //\n // Given an array of (member_value, parameters) tuples as inner_list,\n // and parameters as list_parameters, return an ASCII string suitable\n // for use in a HTTP field value.\n //\n // 1. Let output be the string \"(\".\n //\n // 2. For each (member_value, parameters) of inner_list:\n //\n // 1. Append the result of running Serializing an Item\n // (Section 4.1.3) with (member_value, parameters) to output.\n //\n // 2. If more values remain in inner_list, append a single SP to\n // output.\n //\n // 3. Append \")\" to output.\n //\n // 4. Append the result of running Serializing Parameters\n // (Section 4.1.1.2) with list_parameters to output.\n //\n // 5. Return output.\n function serializeInnerList(value) {\n return \"(\" + value.value.map(serializeItem).join(' ') + \")\" + serializeParams(value.params);\n }\n\n // 4.1.2. Serializing a Dictionary\n //\n // Given an ordered Dictionary as input_dictionary (each member having a\n // member_name and a tuple value of (member_value, parameters)), return\n // an ASCII string suitable for use in a HTTP field value.\n //\n // 1. Let output be an empty string.\n //\n // 2. For each member_name with a value of (member_value, parameters)\n // in input_dictionary:\n //\n // 1. Append the result of running Serializing a Key\n // (Section 4.1.1.3) with member's member_name to output.\n //\n // 2. If member_value is Boolean true:\n //\n // 1. Append the result of running Serializing Parameters\n // (Section 4.1.1.2) with parameters to output.\n //\n // 3. Otherwise:\n //\n // 1. Append \"=\" to output.\n //\n // 2. If member_value is an array, append the result of running\n // Serializing an Inner List (Section 4.1.1.1) with\n // (member_value, parameters) to output.\n //\n // 3. Otherwise, append the result of running Serializing an\n // Item (Section 4.1.3) with (member_value, parameters) to\n // output.\n //\n // 4. If more members remain in input_dictionary:\n //\n // 1. Append \",\" to output.\n //\n // 2. Append a single SP to output.\n //\n // 3. Return output.\n function serializeDict(dict, options) {\n var _options;\n if (options === void 0) {\n options = {\n whitespace: true\n };\n }\n if (typeof dict !== 'object') {\n throw serializeError(dict, DICT);\n }\n var entries = dict instanceof Map ? dict.entries() : Object.entries(dict);\n var optionalWhiteSpace = (_options = options) != null && _options.whitespace ? ' ' : '';\n return Array.from(entries).map(function (_ref) {\n var key = _ref[0],\n item = _ref[1];\n if (item instanceof SfItem === false) {\n item = new SfItem(item);\n }\n var output = serializeKey(key);\n if (item.value === true) {\n output += serializeParams(item.params);\n } else {\n output += '=';\n if (Array.isArray(item.value)) {\n output += serializeInnerList(item);\n } else {\n output += serializeItem(item);\n }\n }\n return output;\n }).join(\",\" + optionalWhiteSpace);\n }\n\n /**\n * Encode an object into a structured field dictionary\n *\n * @param input - The structured field dictionary to encode\n * @returns The structured field string\n *\n * @group Structured Field\n *\n * @beta\n */\n function encodeSfDict(value, options) {\n return serializeDict(value, options);\n }\n\n /**\n * Checks if the given key is a token field.\n *\n * @param key - The key to check.\n *\n * @returns `true` if the key is a token field.\n *\n * @internal\n *\n * @group CMCD\n */\n var isTokenField = function isTokenField(key) {\n return key === 'ot' || key === 'sf' || key === 'st';\n };\n\n var isValid = function isValid(value) {\n if (typeof value === 'number') {\n return isFiniteNumber(value);\n }\n return value != null && value !== '' && value !== false;\n };\n\n /**\n * Constructs a relative path from a URL.\n *\n * @param url - The destination URL\n * @param base - The base URL\n * @returns The relative path\n *\n * @group Utils\n *\n * @beta\n */\n function urlToRelativePath(url, base) {\n var to = new URL(url);\n var from = new URL(base);\n if (to.origin !== from.origin) {\n return url;\n }\n var toPath = to.pathname.split('/').slice(1);\n var fromPath = from.pathname.split('/').slice(1, -1);\n // remove common parents\n while (toPath[0] === fromPath[0]) {\n toPath.shift();\n fromPath.shift();\n }\n // add back paths\n while (fromPath.length) {\n fromPath.shift();\n toPath.unshift('..');\n }\n return toPath.join('/');\n }\n\n /**\n * Generate a random v4 UUID\n *\n * @returns A random v4 UUID\n *\n * @group Utils\n *\n * @beta\n */\n function uuid() {\n try {\n return crypto.randomUUID();\n } catch (error) {\n try {\n var url = URL.createObjectURL(new Blob());\n var _uuid = url.toString();\n URL.revokeObjectURL(url);\n return _uuid.slice(_uuid.lastIndexOf('/') + 1);\n } catch (error) {\n var dt = new Date().getTime();\n var _uuid2 = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = (dt + Math.random() * 16) % 16 | 0;\n dt = Math.floor(dt / 16);\n return (c == 'x' ? r : r & 0x3 | 0x8).toString(16);\n });\n return _uuid2;\n }\n }\n }\n\n var toRounded = function toRounded(value) {\n return Math.round(value);\n };\n var toUrlSafe = function toUrlSafe(value, options) {\n if (options != null && options.baseUrl) {\n value = urlToRelativePath(value, options.baseUrl);\n }\n return encodeURIComponent(value);\n };\n var toHundred = function toHundred(value) {\n return toRounded(value / 100) * 100;\n };\n /**\n * The default formatters for CMCD values.\n *\n * @group CMCD\n *\n * @beta\n */\n var CmcdFormatters = {\n /**\n * Bitrate (kbps) rounded integer\n */\n br: toRounded,\n /**\n * Duration (milliseconds) rounded integer\n */\n d: toRounded,\n /**\n * Buffer Length (milliseconds) rounded nearest 100ms\n */\n bl: toHundred,\n /**\n * Deadline (milliseconds) rounded nearest 100ms\n */\n dl: toHundred,\n /**\n * Measured Throughput (kbps) rounded nearest 100kbps\n */\n mtp: toHundred,\n /**\n * Next Object Request URL encoded\n */\n nor: toUrlSafe,\n /**\n * Requested maximum throughput (kbps) rounded nearest 100kbps\n */\n rtp: toHundred,\n /**\n * Top Bitrate (kbps) rounded integer\n */\n tb: toRounded\n };\n\n /**\n * Internal CMCD processing function.\n *\n * @param obj - The CMCD object to process.\n * @param map - The mapping function to use.\n * @param options - Options for encoding.\n *\n * @internal\n *\n * @group CMCD\n */\n function processCmcd(obj, options) {\n var results = {};\n if (obj == null || typeof obj !== 'object') {\n return results;\n }\n var keys = Object.keys(obj).sort();\n var formatters = _extends({}, CmcdFormatters, options == null ? void 0 : options.formatters);\n var filter = options == null ? void 0 : options.filter;\n keys.forEach(function (key) {\n if (filter != null && filter(key)) {\n return;\n }\n var value = obj[key];\n var formatter = formatters[key];\n if (formatter) {\n value = formatter(value, options);\n }\n // Version should only be reported if not equal to 1.\n if (key === 'v' && value === 1) {\n return;\n }\n // Playback rate should only be sent if not equal to 1.\n if (key == 'pr' && value === 1) {\n return;\n }\n // ignore invalid values\n if (!isValid(value)) {\n return;\n }\n if (isTokenField(key) && typeof value === 'string') {\n value = new SfToken(value);\n }\n results[key] = value;\n });\n return results;\n }\n\n /**\n * Encode a CMCD object to a string.\n *\n * @param cmcd - The CMCD object to encode.\n * @param options - Options for encoding.\n *\n * @returns The encoded CMCD string.\n *\n * @group CMCD\n *\n * @beta\n */\n function encodeCmcd(cmcd, options) {\n if (options === void 0) {\n options = {};\n }\n if (!cmcd) {\n return '';\n }\n return encodeSfDict(processCmcd(cmcd, options), _extends({\n whitespace: false\n }, options));\n }\n\n /**\n * Convert a CMCD data object to request headers\n *\n * @param cmcd - The CMCD data object to convert.\n * @param options - Options for encoding the CMCD object.\n *\n * @returns The CMCD header shards.\n *\n * @group CMCD\n *\n * @beta\n */\n function toCmcdHeaders(cmcd, options) {\n var _options;\n if (options === void 0) {\n options = {};\n }\n if (!cmcd) {\n return {};\n }\n var entries = Object.entries(cmcd);\n var headerMap = Object.entries(CmcdHeaderMap).concat(Object.entries(((_options = options) == null ? void 0 : _options.customHeaderMap) || {}));\n var shards = entries.reduce(function (acc, entry) {\n var _headerMap$find, _acc$field;\n var key = entry[0],\n value = entry[1];\n var field = ((_headerMap$find = headerMap.find(function (entry) {\n return entry[1].includes(key);\n })) == null ? void 0 : _headerMap$find[0]) || CmcdHeaderField.REQUEST;\n (_acc$field = acc[field]) != null ? _acc$field : acc[field] = {};\n acc[field][key] = value;\n return acc;\n }, {});\n return Object.entries(shards).reduce(function (acc, _ref) {\n var field = _ref[0],\n value = _ref[1];\n acc[field] = encodeCmcd(value, options);\n return acc;\n }, {});\n }\n\n /**\n * Append CMCD query args to a header object.\n *\n * @param headers - The headers to append to.\n * @param cmcd - The CMCD object to append.\n * @param customHeaderMap - A map of custom CMCD keys to header fields.\n *\n * @returns The headers with the CMCD header shards appended.\n *\n * @group CMCD\n *\n * @beta\n */\n function appendCmcdHeaders(headers, cmcd, options) {\n return _extends(headers, toCmcdHeaders(cmcd, options));\n }\n\n /**\n * CMCD parameter name.\n *\n * @group CMCD\n *\n * @beta\n */\n var CMCD_PARAM = 'CMCD';\n\n /**\n * Convert a CMCD data object to a query arg.\n *\n * @param cmcd - The CMCD object to convert.\n * @param options - Options for encoding the CMCD object.\n *\n * @returns The CMCD query arg.\n *\n * @group CMCD\n *\n * @beta\n */\n function toCmcdQuery(cmcd, options) {\n if (options === void 0) {\n options = {};\n }\n if (!cmcd) {\n return '';\n }\n var params = encodeCmcd(cmcd, options);\n return CMCD_PARAM + \"=\" + encodeURIComponent(params);\n }\n\n var REGEX = /CMCD=[^&#]+/;\n /**\n * Append CMCD query args to a URL.\n *\n * @param url - The URL to append to.\n * @param cmcd - The CMCD object to append.\n * @param options - Options for encoding the CMCD object.\n *\n * @returns The URL with the CMCD query args appended.\n *\n * @group CMCD\n *\n * @beta\n */\n function appendCmcdQuery(url, cmcd, options) {\n // TODO: Replace with URLSearchParams once we drop Safari < 10.1 & Chrome < 49 support.\n // https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams\n var query = toCmcdQuery(cmcd, options);\n if (!query) {\n return url;\n }\n if (REGEX.test(url)) {\n return url.replace(REGEX, query);\n }\n var separator = url.includes('?') ? '&' : '?';\n return \"\" + url + separator + query;\n }\n\n /**\n * Controller to deal with Common Media Client Data (CMCD)\n * @see https://cdn.cta.tech/cta/media/media/resources/standards/pdfs/cta-5004-final.pdf\n */\n var CMCDController = /*#__PURE__*/function () {\n // eslint-disable-line no-restricted-globals\n\n function CMCDController(hls) {\n var _this = this;\n this.hls = void 0;\n this.config = void 0;\n this.media = void 0;\n this.sid = void 0;\n this.cid = void 0;\n this.useHeaders = false;\n this.includeKeys = void 0;\n this.initialized = false;\n this.starved = false;\n this.buffering = true;\n this.audioBuffer = void 0;\n // eslint-disable-line no-restricted-globals\n this.videoBuffer = void 0;\n this.onWaiting = function () {\n if (_this.initialized) {\n _this.starved = true;\n }\n _this.buffering = true;\n };\n this.onPlaying = function () {\n if (!_this.initialized) {\n _this.initialized = true;\n }\n _this.buffering = false;\n };\n /**\n * Apply CMCD data to a manifest request.\n */\n this.applyPlaylistData = function (context) {\n try {\n _this.apply(context, {\n ot: CmObjectType.MANIFEST,\n su: !_this.initialized\n });\n } catch (error) {\n logger.warn('Could not generate manifest CMCD data.', error);\n }\n };\n /**\n * Apply CMCD data to a segment request\n */\n this.applyFragmentData = function (context) {\n try {\n var fragment = context.frag;\n var level = _this.hls.levels[fragment.level];\n var ot = _this.getObjectType(fragment);\n var data = {\n d: fragment.duration * 1000,\n ot: ot\n };\n if (ot === CmObjectType.VIDEO || ot === CmObjectType.AUDIO || ot == CmObjectType.MUXED) {\n data.br = level.bitrate / 1000;\n data.tb = _this.getTopBandwidth(ot) / 1000;\n data.bl = _this.getBufferLength(ot);\n }\n _this.apply(context, data);\n } catch (error) {\n logger.warn('Could not generate segment CMCD data.', error);\n }\n };\n this.hls = hls;\n var config = this.config = hls.config;\n var cmcd = config.cmcd;\n if (cmcd != null) {\n config.pLoader = this.createPlaylistLoader();\n config.fLoader = this.createFragmentLoader();\n this.sid = cmcd.sessionId || uuid();\n this.cid = cmcd.contentId;\n this.useHeaders = cmcd.useHeaders === true;\n this.includeKeys = cmcd.includeKeys;\n this.registerListeners();\n }\n }\n var _proto = CMCDController.prototype;\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHED, this.onMediaDetached, this);\n hls.on(Events.BUFFER_CREATED, this.onBufferCreated, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHED, this.onMediaDetached, this);\n hls.off(Events.BUFFER_CREATED, this.onBufferCreated, this);\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.onMediaDetached();\n\n // @ts-ignore\n this.hls = this.config = this.audioBuffer = this.videoBuffer = null;\n // @ts-ignore\n this.onWaiting = this.onPlaying = null;\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n this.media = data.media;\n this.media.addEventListener('waiting', this.onWaiting);\n this.media.addEventListener('playing', this.onPlaying);\n };\n _proto.onMediaDetached = function onMediaDetached() {\n if (!this.media) {\n return;\n }\n this.media.removeEventListener('waiting', this.onWaiting);\n this.media.removeEventListener('playing', this.onPlaying);\n\n // @ts-ignore\n this.media = null;\n };\n _proto.onBufferCreated = function onBufferCreated(event, data) {\n var _data$tracks$audio, _data$tracks$video;\n this.audioBuffer = (_data$tracks$audio = data.tracks.audio) == null ? void 0 : _data$tracks$audio.buffer;\n this.videoBuffer = (_data$tracks$video = data.tracks.video) == null ? void 0 : _data$tracks$video.buffer;\n };\n /**\n * Create baseline CMCD data\n */\n _proto.createData = function createData() {\n var _this$media;\n return {\n v: 1,\n sf: CmStreamingFormat.HLS,\n sid: this.sid,\n cid: this.cid,\n pr: (_this$media = this.media) == null ? void 0 : _this$media.playbackRate,\n mtp: this.hls.bandwidthEstimate / 1000\n };\n }\n\n /**\n * Apply CMCD data to a request.\n */;\n _proto.apply = function apply(context, data) {\n if (data === void 0) {\n data = {};\n }\n // apply baseline data\n _extends(data, this.createData());\n var isVideo = data.ot === CmObjectType.INIT || data.ot === CmObjectType.VIDEO || data.ot === CmObjectType.MUXED;\n if (this.starved && isVideo) {\n data.bs = true;\n data.su = true;\n this.starved = false;\n }\n if (data.su == null) {\n data.su = this.buffering;\n }\n\n // TODO: Implement rtp, nrr, nor, dl\n\n var includeKeys = this.includeKeys;\n if (includeKeys) {\n data = Object.keys(data).reduce(function (acc, key) {\n includeKeys.includes(key) && (acc[key] = data[key]);\n return acc;\n }, {});\n }\n if (this.useHeaders) {\n if (!context.headers) {\n context.headers = {};\n }\n appendCmcdHeaders(context.headers, data);\n } else {\n context.url = appendCmcdQuery(context.url, data);\n }\n };\n /**\n * The CMCD object type.\n */\n _proto.getObjectType = function getObjectType(fragment) {\n var type = fragment.type;\n if (type === 'subtitle') {\n return CmObjectType.TIMED_TEXT;\n }\n if (fragment.sn === 'initSegment') {\n return CmObjectType.INIT;\n }\n if (type === 'audio') {\n return CmObjectType.AUDIO;\n }\n if (type === 'main') {\n if (!this.hls.audioTracks.length) {\n return CmObjectType.MUXED;\n }\n return CmObjectType.VIDEO;\n }\n return undefined;\n }\n\n /**\n * Get the highest bitrate.\n */;\n _proto.getTopBandwidth = function getTopBandwidth(type) {\n var bitrate = 0;\n var levels;\n var hls = this.hls;\n if (type === CmObjectType.AUDIO) {\n levels = hls.audioTracks;\n } else {\n var max = hls.maxAutoLevel;\n var len = max > -1 ? max + 1 : hls.levels.length;\n levels = hls.levels.slice(0, len);\n }\n for (var _iterator = _createForOfIteratorHelperLoose(levels), _step; !(_step = _iterator()).done;) {\n var level = _step.value;\n if (level.bitrate > bitrate) {\n bitrate = level.bitrate;\n }\n }\n return bitrate > 0 ? bitrate : NaN;\n }\n\n /**\n * Get the buffer length for a media type in milliseconds\n */;\n _proto.getBufferLength = function getBufferLength(type) {\n var media = this.hls.media;\n var buffer = type === CmObjectType.AUDIO ? this.audioBuffer : this.videoBuffer;\n if (!buffer || !media) {\n return NaN;\n }\n var info = BufferHelper.bufferInfo(buffer, media.currentTime, this.config.maxBufferHole);\n return info.len * 1000;\n }\n\n /**\n * Create a playlist loader\n */;\n _proto.createPlaylistLoader = function createPlaylistLoader() {\n var pLoader = this.config.pLoader;\n var apply = this.applyPlaylistData;\n var Ctor = pLoader || this.config.loader;\n return /*#__PURE__*/function () {\n function CmcdPlaylistLoader(config) {\n this.loader = void 0;\n this.loader = new Ctor(config);\n }\n var _proto2 = CmcdPlaylistLoader.prototype;\n _proto2.destroy = function destroy() {\n this.loader.destroy();\n };\n _proto2.abort = function abort() {\n this.loader.abort();\n };\n _proto2.load = function load(context, config, callbacks) {\n apply(context);\n this.loader.load(context, config, callbacks);\n };\n _createClass(CmcdPlaylistLoader, [{\n key: \"stats\",\n get: function get() {\n return this.loader.stats;\n }\n }, {\n key: \"context\",\n get: function get() {\n return this.loader.context;\n }\n }]);\n return CmcdPlaylistLoader;\n }();\n }\n\n /**\n * Create a playlist loader\n */;\n _proto.createFragmentLoader = function createFragmentLoader() {\n var fLoader = this.config.fLoader;\n var apply = this.applyFragmentData;\n var Ctor = fLoader || this.config.loader;\n return /*#__PURE__*/function () {\n function CmcdFragmentLoader(config) {\n this.loader = void 0;\n this.loader = new Ctor(config);\n }\n var _proto3 = CmcdFragmentLoader.prototype;\n _proto3.destroy = function destroy() {\n this.loader.destroy();\n };\n _proto3.abort = function abort() {\n this.loader.abort();\n };\n _proto3.load = function load(context, config, callbacks) {\n apply(context);\n this.loader.load(context, config, callbacks);\n };\n _createClass(CmcdFragmentLoader, [{\n key: \"stats\",\n get: function get() {\n return this.loader.stats;\n }\n }, {\n key: \"context\",\n get: function get() {\n return this.loader.context;\n }\n }]);\n return CmcdFragmentLoader;\n }();\n };\n return CMCDController;\n }();\n\n var PATHWAY_PENALTY_DURATION_MS = 300000;\n var ContentSteeringController = /*#__PURE__*/function () {\n function ContentSteeringController(hls) {\n this.hls = void 0;\n this.log = void 0;\n this.loader = null;\n this.uri = null;\n this.pathwayId = '.';\n this.pathwayPriority = null;\n this.timeToLoad = 300;\n this.reloadTimer = -1;\n this.updated = 0;\n this.started = false;\n this.enabled = true;\n this.levels = null;\n this.audioTracks = null;\n this.subtitleTracks = null;\n this.penalizedPathways = {};\n this.hls = hls;\n this.log = logger.log.bind(logger, \"[content-steering]:\");\n this.registerListeners();\n }\n var _proto = ContentSteeringController.prototype;\n _proto.registerListeners = function registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto.unregisterListeners = function unregisterListeners() {\n var hls = this.hls;\n if (!hls) {\n return;\n }\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.ERROR, this.onError, this);\n };\n _proto.startLoad = function startLoad() {\n this.started = true;\n this.clearTimeout();\n if (this.enabled && this.uri) {\n if (this.updated) {\n var ttl = this.timeToLoad * 1000 - (performance.now() - this.updated);\n if (ttl > 0) {\n this.scheduleRefresh(this.uri, ttl);\n return;\n }\n }\n this.loadSteeringManifest(this.uri);\n }\n };\n _proto.stopLoad = function stopLoad() {\n this.started = false;\n if (this.loader) {\n this.loader.destroy();\n this.loader = null;\n }\n this.clearTimeout();\n };\n _proto.clearTimeout = function clearTimeout() {\n if (this.reloadTimer !== -1) {\n self.clearTimeout(this.reloadTimer);\n this.reloadTimer = -1;\n }\n };\n _proto.destroy = function destroy() {\n this.unregisterListeners();\n this.stopLoad();\n // @ts-ignore\n this.hls = null;\n this.levels = this.audioTracks = this.subtitleTracks = null;\n };\n _proto.removeLevel = function removeLevel(levelToRemove) {\n var levels = this.levels;\n if (levels) {\n this.levels = levels.filter(function (level) {\n return level !== levelToRemove;\n });\n }\n };\n _proto.onManifestLoading = function onManifestLoading() {\n this.stopLoad();\n this.enabled = true;\n this.timeToLoad = 300;\n this.updated = 0;\n this.uri = null;\n this.pathwayId = '.';\n this.levels = this.audioTracks = this.subtitleTracks = null;\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, data) {\n var contentSteering = data.contentSteering;\n if (contentSteering === null) {\n return;\n }\n this.pathwayId = contentSteering.pathwayId;\n this.uri = contentSteering.uri;\n if (this.started) {\n this.startLoad();\n }\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n this.audioTracks = data.audioTracks;\n this.subtitleTracks = data.subtitleTracks;\n };\n _proto.onError = function onError(event, data) {\n var errorAction = data.errorAction;\n if ((errorAction == null ? void 0 : errorAction.action) === NetworkErrorAction.SendAlternateToPenaltyBox && errorAction.flags === ErrorActionFlags.MoveAllAlternatesMatchingHost) {\n var levels = this.levels;\n var pathwayPriority = this.pathwayPriority;\n var errorPathway = this.pathwayId;\n if (data.context) {\n var _data$context = data.context,\n groupId = _data$context.groupId,\n _pathwayId = _data$context.pathwayId,\n type = _data$context.type;\n if (groupId && levels) {\n errorPathway = this.getPathwayForGroupId(groupId, type, errorPathway);\n } else if (_pathwayId) {\n errorPathway = _pathwayId;\n }\n }\n if (!(errorPathway in this.penalizedPathways)) {\n this.penalizedPathways[errorPathway] = performance.now();\n }\n if (!pathwayPriority && levels) {\n // If PATHWAY-PRIORITY was not provided, list pathways for error handling\n pathwayPriority = levels.reduce(function (pathways, level) {\n if (pathways.indexOf(level.pathwayId) === -1) {\n pathways.push(level.pathwayId);\n }\n return pathways;\n }, []);\n }\n if (pathwayPriority && pathwayPriority.length > 1) {\n this.updatePathwayPriority(pathwayPriority);\n errorAction.resolved = this.pathwayId !== errorPathway;\n }\n if (!errorAction.resolved) {\n logger.warn(\"Could not resolve \" + data.details + \" (\\\"\" + data.error.message + \"\\\") with content-steering for Pathway: \" + errorPathway + \" levels: \" + (levels ? levels.length : levels) + \" priorities: \" + JSON.stringify(pathwayPriority) + \" penalized: \" + JSON.stringify(this.penalizedPathways));\n }\n }\n };\n _proto.filterParsedLevels = function filterParsedLevels(levels) {\n // Filter levels to only include those that are in the initial pathway\n this.levels = levels;\n var pathwayLevels = this.getLevelsForPathway(this.pathwayId);\n if (pathwayLevels.length === 0) {\n var _pathwayId2 = levels[0].pathwayId;\n this.log(\"No levels found in Pathway \" + this.pathwayId + \". Setting initial Pathway to \\\"\" + _pathwayId2 + \"\\\"\");\n pathwayLevels = this.getLevelsForPathway(_pathwayId2);\n this.pathwayId = _pathwayId2;\n }\n if (pathwayLevels.length !== levels.length) {\n this.log(\"Found \" + pathwayLevels.length + \"/\" + levels.length + \" levels in Pathway \\\"\" + this.pathwayId + \"\\\"\");\n return pathwayLevels;\n }\n return levels;\n };\n _proto.getLevelsForPathway = function getLevelsForPathway(pathwayId) {\n if (this.levels === null) {\n return [];\n }\n return this.levels.filter(function (level) {\n return pathwayId === level.pathwayId;\n });\n };\n _proto.updatePathwayPriority = function updatePathwayPriority(pathwayPriority) {\n this.pathwayPriority = pathwayPriority;\n var levels;\n\n // Evaluate if we should remove the pathway from the penalized list\n var penalizedPathways = this.penalizedPathways;\n var now = performance.now();\n Object.keys(penalizedPathways).forEach(function (pathwayId) {\n if (now - penalizedPathways[pathwayId] > PATHWAY_PENALTY_DURATION_MS) {\n delete penalizedPathways[pathwayId];\n }\n });\n for (var i = 0; i < pathwayPriority.length; i++) {\n var _pathwayId3 = pathwayPriority[i];\n if (_pathwayId3 in penalizedPathways) {\n continue;\n }\n if (_pathwayId3 === this.pathwayId) {\n return;\n }\n var selectedIndex = this.hls.nextLoadLevel;\n var selectedLevel = this.hls.levels[selectedIndex];\n levels = this.getLevelsForPathway(_pathwayId3);\n if (levels.length > 0) {\n this.log(\"Setting Pathway to \\\"\" + _pathwayId3 + \"\\\"\");\n this.pathwayId = _pathwayId3;\n reassignFragmentLevelIndexes(levels);\n this.hls.trigger(Events.LEVELS_UPDATED, {\n levels: levels\n });\n // Set LevelController's level to trigger LEVEL_SWITCHING which loads playlist if needed\n var levelAfterChange = this.hls.levels[selectedIndex];\n if (selectedLevel && levelAfterChange && this.levels) {\n if (levelAfterChange.attrs['STABLE-VARIANT-ID'] !== selectedLevel.attrs['STABLE-VARIANT-ID'] && levelAfterChange.bitrate !== selectedLevel.bitrate) {\n this.log(\"Unstable Pathways change from bitrate \" + selectedLevel.bitrate + \" to \" + levelAfterChange.bitrate);\n }\n this.hls.nextLoadLevel = selectedIndex;\n }\n break;\n }\n }\n };\n _proto.getPathwayForGroupId = function getPathwayForGroupId(groupId, type, defaultPathway) {\n var levels = this.getLevelsForPathway(defaultPathway).concat(this.levels || []);\n for (var i = 0; i < levels.length; i++) {\n if (type === PlaylistContextType.AUDIO_TRACK && levels[i].hasAudioGroup(groupId) || type === PlaylistContextType.SUBTITLE_TRACK && levels[i].hasSubtitleGroup(groupId)) {\n return levels[i].pathwayId;\n }\n }\n return defaultPathway;\n };\n _proto.clonePathways = function clonePathways(pathwayClones) {\n var _this = this;\n var levels = this.levels;\n if (!levels) {\n return;\n }\n var audioGroupCloneMap = {};\n var subtitleGroupCloneMap = {};\n pathwayClones.forEach(function (pathwayClone) {\n var cloneId = pathwayClone.ID,\n baseId = pathwayClone['BASE-ID'],\n uriReplacement = pathwayClone['URI-REPLACEMENT'];\n if (levels.some(function (level) {\n return level.pathwayId === cloneId;\n })) {\n return;\n }\n var clonedVariants = _this.getLevelsForPathway(baseId).map(function (baseLevel) {\n var attributes = new AttrList(baseLevel.attrs);\n attributes['PATHWAY-ID'] = cloneId;\n var clonedAudioGroupId = attributes.AUDIO && attributes.AUDIO + \"_clone_\" + cloneId;\n var clonedSubtitleGroupId = attributes.SUBTITLES && attributes.SUBTITLES + \"_clone_\" + cloneId;\n if (clonedAudioGroupId) {\n audioGroupCloneMap[attributes.AUDIO] = clonedAudioGroupId;\n attributes.AUDIO = clonedAudioGroupId;\n }\n if (clonedSubtitleGroupId) {\n subtitleGroupCloneMap[attributes.SUBTITLES] = clonedSubtitleGroupId;\n attributes.SUBTITLES = clonedSubtitleGroupId;\n }\n var url = performUriReplacement(baseLevel.uri, attributes['STABLE-VARIANT-ID'], 'PER-VARIANT-URIS', uriReplacement);\n var clonedLevel = new Level({\n attrs: attributes,\n audioCodec: baseLevel.audioCodec,\n bitrate: baseLevel.bitrate,\n height: baseLevel.height,\n name: baseLevel.name,\n url: url,\n videoCodec: baseLevel.videoCodec,\n width: baseLevel.width\n });\n if (baseLevel.audioGroups) {\n for (var i = 1; i < baseLevel.audioGroups.length; i++) {\n clonedLevel.addGroupId('audio', baseLevel.audioGroups[i] + \"_clone_\" + cloneId);\n }\n }\n if (baseLevel.subtitleGroups) {\n for (var _i = 1; _i < baseLevel.subtitleGroups.length; _i++) {\n clonedLevel.addGroupId('text', baseLevel.subtitleGroups[_i] + \"_clone_\" + cloneId);\n }\n }\n return clonedLevel;\n });\n levels.push.apply(levels, clonedVariants);\n cloneRenditionGroups(_this.audioTracks, audioGroupCloneMap, uriReplacement, cloneId);\n cloneRenditionGroups(_this.subtitleTracks, subtitleGroupCloneMap, uriReplacement, cloneId);\n });\n };\n _proto.loadSteeringManifest = function loadSteeringManifest(uri) {\n var _this2 = this;\n var config = this.hls.config;\n var Loader = config.loader;\n if (this.loader) {\n this.loader.destroy();\n }\n this.loader = new Loader(config);\n var url;\n try {\n url = new self.URL(uri);\n } catch (error) {\n this.enabled = false;\n this.log(\"Failed to parse Steering Manifest URI: \" + uri);\n return;\n }\n if (url.protocol !== 'data:') {\n var throughput = (this.hls.bandwidthEstimate || config.abrEwmaDefaultEstimate) | 0;\n url.searchParams.set('_HLS_pathway', this.pathwayId);\n url.searchParams.set('_HLS_throughput', '' + throughput);\n }\n var context = {\n responseType: 'json',\n url: url.href\n };\n var loadPolicy = config.steeringManifestLoadPolicy.default;\n var legacyRetryCompatibility = loadPolicy.errorRetry || loadPolicy.timeoutRetry || {};\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: legacyRetryCompatibility.maxNumRetry || 0,\n retryDelay: legacyRetryCompatibility.retryDelayMs || 0,\n maxRetryDelay: legacyRetryCompatibility.maxRetryDelayMs || 0\n };\n var callbacks = {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n _this2.log(\"Loaded steering manifest: \\\"\" + url + \"\\\"\");\n var steeringData = response.data;\n if (steeringData.VERSION !== 1) {\n _this2.log(\"Steering VERSION \" + steeringData.VERSION + \" not supported!\");\n return;\n }\n _this2.updated = performance.now();\n _this2.timeToLoad = steeringData.TTL;\n var reloadUri = steeringData['RELOAD-URI'],\n pathwayClones = steeringData['PATHWAY-CLONES'],\n pathwayPriority = steeringData['PATHWAY-PRIORITY'];\n if (reloadUri) {\n try {\n _this2.uri = new self.URL(reloadUri, url).href;\n } catch (error) {\n _this2.enabled = false;\n _this2.log(\"Failed to parse Steering Manifest RELOAD-URI: \" + reloadUri);\n return;\n }\n }\n _this2.scheduleRefresh(_this2.uri || context.url);\n if (pathwayClones) {\n _this2.clonePathways(pathwayClones);\n }\n var loadedSteeringData = {\n steeringManifest: steeringData,\n url: url.toString()\n };\n _this2.hls.trigger(Events.STEERING_MANIFEST_LOADED, loadedSteeringData);\n if (pathwayPriority) {\n _this2.updatePathwayPriority(pathwayPriority);\n }\n },\n onError: function onError(error, context, networkDetails, stats) {\n _this2.log(\"Error loading steering manifest: \" + error.code + \" \" + error.text + \" (\" + context.url + \")\");\n _this2.stopLoad();\n if (error.code === 410) {\n _this2.enabled = false;\n _this2.log(\"Steering manifest \" + context.url + \" no longer available\");\n return;\n }\n var ttl = _this2.timeToLoad * 1000;\n if (error.code === 429) {\n var loader = _this2.loader;\n if (typeof (loader == null ? void 0 : loader.getResponseHeader) === 'function') {\n var retryAfter = loader.getResponseHeader('Retry-After');\n if (retryAfter) {\n ttl = parseFloat(retryAfter) * 1000;\n }\n }\n _this2.log(\"Steering manifest \" + context.url + \" rate limited\");\n return;\n }\n _this2.scheduleRefresh(_this2.uri || context.url, ttl);\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this2.log(\"Timeout loading steering manifest (\" + context.url + \")\");\n _this2.scheduleRefresh(_this2.uri || context.url);\n }\n };\n this.log(\"Requesting steering manifest: \" + url);\n this.loader.load(context, loaderConfig, callbacks);\n };\n _proto.scheduleRefresh = function scheduleRefresh(uri, ttlMs) {\n var _this3 = this;\n if (ttlMs === void 0) {\n ttlMs = this.timeToLoad * 1000;\n }\n this.clearTimeout();\n this.reloadTimer = self.setTimeout(function () {\n var _this3$hls;\n var media = (_this3$hls = _this3.hls) == null ? void 0 : _this3$hls.media;\n if (media && !media.ended) {\n _this3.loadSteeringManifest(uri);\n return;\n }\n _this3.scheduleRefresh(uri, _this3.timeToLoad * 1000);\n }, ttlMs);\n };\n return ContentSteeringController;\n }();\n function cloneRenditionGroups(tracks, groupCloneMap, uriReplacement, cloneId) {\n if (!tracks) {\n return;\n }\n Object.keys(groupCloneMap).forEach(function (audioGroupId) {\n var clonedTracks = tracks.filter(function (track) {\n return track.groupId === audioGroupId;\n }).map(function (track) {\n var clonedTrack = _extends({}, track);\n clonedTrack.details = undefined;\n clonedTrack.attrs = new AttrList(clonedTrack.attrs);\n clonedTrack.url = clonedTrack.attrs.URI = performUriReplacement(track.url, track.attrs['STABLE-RENDITION-ID'], 'PER-RENDITION-URIS', uriReplacement);\n clonedTrack.groupId = clonedTrack.attrs['GROUP-ID'] = groupCloneMap[audioGroupId];\n clonedTrack.attrs['PATHWAY-ID'] = cloneId;\n return clonedTrack;\n });\n tracks.push.apply(tracks, clonedTracks);\n });\n }\n function performUriReplacement(uri, stableId, perOptionKey, uriReplacement) {\n var host = uriReplacement.HOST,\n params = uriReplacement.PARAMS,\n perOptionUris = uriReplacement[perOptionKey];\n var perVariantUri;\n if (stableId) {\n perVariantUri = perOptionUris == null ? void 0 : perOptionUris[stableId];\n if (perVariantUri) {\n uri = perVariantUri;\n }\n }\n var url = new self.URL(uri);\n if (host && !perVariantUri) {\n url.host = host;\n }\n if (params) {\n Object.keys(params).sort().forEach(function (key) {\n if (key) {\n url.searchParams.set(key, params[key]);\n }\n });\n }\n return url.href;\n }\n\n var AGE_HEADER_LINE_REGEX = /^age:\\s*[\\d.]+\\s*$/im;\n var XhrLoader = /*#__PURE__*/function () {\n function XhrLoader(config) {\n this.xhrSetup = void 0;\n this.requestTimeout = void 0;\n this.retryTimeout = void 0;\n this.retryDelay = void 0;\n this.config = null;\n this.callbacks = null;\n this.context = null;\n this.loader = null;\n this.stats = void 0;\n this.xhrSetup = config ? config.xhrSetup || null : null;\n this.stats = new LoadStats();\n this.retryDelay = 0;\n }\n var _proto = XhrLoader.prototype;\n _proto.destroy = function destroy() {\n this.callbacks = null;\n this.abortInternal();\n this.loader = null;\n this.config = null;\n this.context = null;\n this.xhrSetup = null;\n // @ts-ignore\n this.stats = null;\n };\n _proto.abortInternal = function abortInternal() {\n var loader = this.loader;\n self.clearTimeout(this.requestTimeout);\n self.clearTimeout(this.retryTimeout);\n if (loader) {\n loader.onreadystatechange = null;\n loader.onprogress = null;\n if (loader.readyState !== 4) {\n this.stats.aborted = true;\n loader.abort();\n }\n }\n };\n _proto.abort = function abort() {\n var _this$callbacks;\n this.abortInternal();\n if ((_this$callbacks = this.callbacks) != null && _this$callbacks.onAbort) {\n this.callbacks.onAbort(this.stats, this.context, this.loader);\n }\n };\n _proto.load = function load(context, config, callbacks) {\n if (this.stats.loading.start) {\n throw new Error('Loader can only be used once.');\n }\n this.stats.loading.start = self.performance.now();\n this.context = context;\n this.config = config;\n this.callbacks = callbacks;\n this.loadInternal();\n };\n _proto.loadInternal = function loadInternal() {\n var _this = this;\n var config = this.config,\n context = this.context;\n if (!config || !context) {\n return;\n }\n var xhr = this.loader = new self.XMLHttpRequest();\n var stats = this.stats;\n stats.loading.first = 0;\n stats.loaded = 0;\n stats.aborted = false;\n var xhrSetup = this.xhrSetup;\n if (xhrSetup) {\n Promise.resolve().then(function () {\n if (_this.stats.aborted) return;\n return xhrSetup(xhr, context.url);\n }).catch(function (error) {\n xhr.open('GET', context.url, true);\n return xhrSetup(xhr, context.url);\n }).then(function () {\n if (_this.stats.aborted) return;\n _this.openAndSendXhr(xhr, context, config);\n }).catch(function (error) {\n // IE11 throws an exception on xhr.open if attempting to access an HTTP resource over HTTPS\n _this.callbacks.onError({\n code: xhr.status,\n text: error.message\n }, context, xhr, stats);\n return;\n });\n } else {\n this.openAndSendXhr(xhr, context, config);\n }\n };\n _proto.openAndSendXhr = function openAndSendXhr(xhr, context, config) {\n if (!xhr.readyState) {\n xhr.open('GET', context.url, true);\n }\n var headers = context.headers;\n var _config$loadPolicy = config.loadPolicy,\n maxTimeToFirstByteMs = _config$loadPolicy.maxTimeToFirstByteMs,\n maxLoadTimeMs = _config$loadPolicy.maxLoadTimeMs;\n if (headers) {\n for (var header in headers) {\n xhr.setRequestHeader(header, headers[header]);\n }\n }\n if (context.rangeEnd) {\n xhr.setRequestHeader('Range', 'bytes=' + context.rangeStart + '-' + (context.rangeEnd - 1));\n }\n xhr.onreadystatechange = this.readystatechange.bind(this);\n xhr.onprogress = this.loadprogress.bind(this);\n xhr.responseType = context.responseType;\n // setup timeout before we perform request\n self.clearTimeout(this.requestTimeout);\n config.timeout = maxTimeToFirstByteMs && isFiniteNumber(maxTimeToFirstByteMs) ? maxTimeToFirstByteMs : maxLoadTimeMs;\n this.requestTimeout = self.setTimeout(this.loadtimeout.bind(this), config.timeout);\n xhr.send();\n };\n _proto.readystatechange = function readystatechange() {\n var context = this.context,\n xhr = this.loader,\n stats = this.stats;\n if (!context || !xhr) {\n return;\n }\n var readyState = xhr.readyState;\n var config = this.config;\n\n // don't proceed if xhr has been aborted\n if (stats.aborted) {\n return;\n }\n\n // >= HEADERS_RECEIVED\n if (readyState >= 2) {\n if (stats.loading.first === 0) {\n stats.loading.first = Math.max(self.performance.now(), stats.loading.start);\n // readyState >= 2 AND readyState !==4 (readyState = HEADERS_RECEIVED || LOADING) rearm timeout as xhr not finished yet\n if (config.timeout !== config.loadPolicy.maxLoadTimeMs) {\n self.clearTimeout(this.requestTimeout);\n config.timeout = config.loadPolicy.maxLoadTimeMs;\n this.requestTimeout = self.setTimeout(this.loadtimeout.bind(this), config.loadPolicy.maxLoadTimeMs - (stats.loading.first - stats.loading.start));\n }\n }\n if (readyState === 4) {\n self.clearTimeout(this.requestTimeout);\n xhr.onreadystatechange = null;\n xhr.onprogress = null;\n var _status = xhr.status;\n // http status between 200 to 299 are all successful\n var useResponse = xhr.responseType !== 'text';\n if (_status >= 200 && _status < 300 && (useResponse && xhr.response || xhr.responseText !== null)) {\n stats.loading.end = Math.max(self.performance.now(), stats.loading.first);\n var data = useResponse ? xhr.response : xhr.responseText;\n var len = xhr.responseType === 'arraybuffer' ? data.byteLength : data.length;\n stats.loaded = stats.total = len;\n stats.bwEstimate = stats.total * 8000 / (stats.loading.end - stats.loading.first);\n if (!this.callbacks) {\n return;\n }\n var onProgress = this.callbacks.onProgress;\n if (onProgress) {\n onProgress(stats, context, data, xhr);\n }\n if (!this.callbacks) {\n return;\n }\n var response = {\n url: xhr.responseURL,\n data: data,\n code: _status\n };\n this.callbacks.onSuccess(response, stats, context, xhr);\n } else {\n var retryConfig = config.loadPolicy.errorRetry;\n var retryCount = stats.retry;\n // if max nb of retries reached or if http status between 400 and 499 (such error cannot be recovered, retrying is useless), return error\n var _response = {\n url: context.url,\n data: undefined,\n code: _status\n };\n if (shouldRetry(retryConfig, retryCount, false, _response)) {\n this.retry(retryConfig);\n } else {\n logger.error(_status + \" while loading \" + context.url);\n this.callbacks.onError({\n code: _status,\n text: xhr.statusText\n }, context, xhr, stats);\n }\n }\n }\n }\n };\n _proto.loadtimeout = function loadtimeout() {\n var _this$config;\n var retryConfig = (_this$config = this.config) == null ? void 0 : _this$config.loadPolicy.timeoutRetry;\n var retryCount = this.stats.retry;\n if (shouldRetry(retryConfig, retryCount, true)) {\n this.retry(retryConfig);\n } else {\n var _this$context;\n logger.warn(\"timeout while loading \" + ((_this$context = this.context) == null ? void 0 : _this$context.url));\n var callbacks = this.callbacks;\n if (callbacks) {\n this.abortInternal();\n callbacks.onTimeout(this.stats, this.context, this.loader);\n }\n }\n };\n _proto.retry = function retry(retryConfig) {\n var context = this.context,\n stats = this.stats;\n this.retryDelay = getRetryDelay(retryConfig, stats.retry);\n stats.retry++;\n logger.warn((status ? 'HTTP Status ' + status : 'Timeout') + \" while loading \" + (context == null ? void 0 : context.url) + \", retrying \" + stats.retry + \"/\" + retryConfig.maxNumRetry + \" in \" + this.retryDelay + \"ms\");\n // abort and reset internal state\n this.abortInternal();\n this.loader = null;\n // schedule retry\n self.clearTimeout(this.retryTimeout);\n this.retryTimeout = self.setTimeout(this.loadInternal.bind(this), this.retryDelay);\n };\n _proto.loadprogress = function loadprogress(event) {\n var stats = this.stats;\n stats.loaded = event.loaded;\n if (event.lengthComputable) {\n stats.total = event.total;\n }\n };\n _proto.getCacheAge = function getCacheAge() {\n var result = null;\n if (this.loader && AGE_HEADER_LINE_REGEX.test(this.loader.getAllResponseHeaders())) {\n var ageHeader = this.loader.getResponseHeader('age');\n result = ageHeader ? parseFloat(ageHeader) : null;\n }\n return result;\n };\n _proto.getResponseHeader = function getResponseHeader(name) {\n if (this.loader && new RegExp(\"^\" + name + \":\\\\s*[\\\\d.]+\\\\s*$\", 'im').test(this.loader.getAllResponseHeaders())) {\n return this.loader.getResponseHeader(name);\n }\n return null;\n };\n return XhrLoader;\n }();\n\n function fetchSupported() {\n if (\n // @ts-ignore\n self.fetch && self.AbortController && self.ReadableStream && self.Request) {\n try {\n new self.ReadableStream({}); // eslint-disable-line no-new\n return true;\n } catch (e) {\n /* noop */\n }\n }\n return false;\n }\n var BYTERANGE = /(\\d+)-(\\d+)\\/(\\d+)/;\n var FetchLoader = /*#__PURE__*/function () {\n function FetchLoader(config /* HlsConfig */) {\n this.fetchSetup = void 0;\n this.requestTimeout = void 0;\n this.request = null;\n this.response = null;\n this.controller = void 0;\n this.context = null;\n this.config = null;\n this.callbacks = null;\n this.stats = void 0;\n this.loader = null;\n this.fetchSetup = config.fetchSetup || getRequest;\n this.controller = new self.AbortController();\n this.stats = new LoadStats();\n }\n var _proto = FetchLoader.prototype;\n _proto.destroy = function destroy() {\n this.loader = this.callbacks = this.context = this.config = this.request = null;\n this.abortInternal();\n this.response = null;\n // @ts-ignore\n this.fetchSetup = this.controller = this.stats = null;\n };\n _proto.abortInternal = function abortInternal() {\n if (this.controller && !this.stats.loading.end) {\n this.stats.aborted = true;\n this.controller.abort();\n }\n };\n _proto.abort = function abort() {\n var _this$callbacks;\n this.abortInternal();\n if ((_this$callbacks = this.callbacks) != null && _this$callbacks.onAbort) {\n this.callbacks.onAbort(this.stats, this.context, this.response);\n }\n };\n _proto.load = function load(context, config, callbacks) {\n var _this = this;\n var stats = this.stats;\n if (stats.loading.start) {\n throw new Error('Loader can only be used once.');\n }\n stats.loading.start = self.performance.now();\n var initParams = getRequestParameters(context, this.controller.signal);\n var onProgress = callbacks.onProgress;\n var isArrayBuffer = context.responseType === 'arraybuffer';\n var LENGTH = isArrayBuffer ? 'byteLength' : 'length';\n var _config$loadPolicy = config.loadPolicy,\n maxTimeToFirstByteMs = _config$loadPolicy.maxTimeToFirstByteMs,\n maxLoadTimeMs = _config$loadPolicy.maxLoadTimeMs;\n this.context = context;\n this.config = config;\n this.callbacks = callbacks;\n this.request = this.fetchSetup(context, initParams);\n self.clearTimeout(this.requestTimeout);\n config.timeout = maxTimeToFirstByteMs && isFiniteNumber(maxTimeToFirstByteMs) ? maxTimeToFirstByteMs : maxLoadTimeMs;\n this.requestTimeout = self.setTimeout(function () {\n _this.abortInternal();\n callbacks.onTimeout(stats, context, _this.response);\n }, config.timeout);\n self.fetch(this.request).then(function (response) {\n _this.response = _this.loader = response;\n var first = Math.max(self.performance.now(), stats.loading.start);\n self.clearTimeout(_this.requestTimeout);\n config.timeout = maxLoadTimeMs;\n _this.requestTimeout = self.setTimeout(function () {\n _this.abortInternal();\n callbacks.onTimeout(stats, context, _this.response);\n }, maxLoadTimeMs - (first - stats.loading.start));\n if (!response.ok) {\n var status = response.status,\n statusText = response.statusText;\n throw new FetchError(statusText || 'fetch, bad network response', status, response);\n }\n stats.loading.first = first;\n stats.total = getContentLength(response.headers) || stats.total;\n if (onProgress && isFiniteNumber(config.highWaterMark)) {\n return _this.loadProgressively(response, stats, context, config.highWaterMark, onProgress);\n }\n if (isArrayBuffer) {\n return response.arrayBuffer();\n }\n if (context.responseType === 'json') {\n return response.json();\n }\n return response.text();\n }).then(function (responseData) {\n var response = _this.response;\n if (!response) {\n throw new Error('loader destroyed');\n }\n self.clearTimeout(_this.requestTimeout);\n stats.loading.end = Math.max(self.performance.now(), stats.loading.first);\n var total = responseData[LENGTH];\n if (total) {\n stats.loaded = stats.total = total;\n }\n var loaderResponse = {\n url: response.url,\n data: responseData,\n code: response.status\n };\n if (onProgress && !isFiniteNumber(config.highWaterMark)) {\n onProgress(stats, context, responseData, response);\n }\n callbacks.onSuccess(loaderResponse, stats, context, response);\n }).catch(function (error) {\n self.clearTimeout(_this.requestTimeout);\n if (stats.aborted) {\n return;\n }\n // CORS errors result in an undefined code. Set it to 0 here to align with XHR's behavior\n // when destroying, 'error' itself can be undefined\n var code = !error ? 0 : error.code || 0;\n var text = !error ? null : error.message;\n callbacks.onError({\n code: code,\n text: text\n }, context, error ? error.details : null, stats);\n });\n };\n _proto.getCacheAge = function getCacheAge() {\n var result = null;\n if (this.response) {\n var ageHeader = this.response.headers.get('age');\n result = ageHeader ? parseFloat(ageHeader) : null;\n }\n return result;\n };\n _proto.getResponseHeader = function getResponseHeader(name) {\n return this.response ? this.response.headers.get(name) : null;\n };\n _proto.loadProgressively = function loadProgressively(response, stats, context, highWaterMark, onProgress) {\n if (highWaterMark === void 0) {\n highWaterMark = 0;\n }\n var chunkCache = new ChunkCache();\n var reader = response.body.getReader();\n var pump = function pump() {\n return reader.read().then(function (data) {\n if (data.done) {\n if (chunkCache.dataLength) {\n onProgress(stats, context, chunkCache.flush(), response);\n }\n return Promise.resolve(new ArrayBuffer(0));\n }\n var chunk = data.value;\n var len = chunk.length;\n stats.loaded += len;\n if (len < highWaterMark || chunkCache.dataLength) {\n // The current chunk is too small to to be emitted or the cache already has data\n // Push it to the cache\n chunkCache.push(chunk);\n if (chunkCache.dataLength >= highWaterMark) {\n // flush in order to join the typed arrays\n onProgress(stats, context, chunkCache.flush(), response);\n }\n } else {\n // If there's nothing cached already, and the chache is large enough\n // just emit the progress event\n onProgress(stats, context, chunk, response);\n }\n return pump();\n }).catch(function () {\n /* aborted */\n return Promise.reject();\n });\n };\n return pump();\n };\n return FetchLoader;\n }();\n function getRequestParameters(context, signal) {\n var initParams = {\n method: 'GET',\n mode: 'cors',\n credentials: 'same-origin',\n signal: signal,\n headers: new self.Headers(_extends({}, context.headers))\n };\n if (context.rangeEnd) {\n initParams.headers.set('Range', 'bytes=' + context.rangeStart + '-' + String(context.rangeEnd - 1));\n }\n return initParams;\n }\n function getByteRangeLength(byteRangeHeader) {\n var result = BYTERANGE.exec(byteRangeHeader);\n if (result) {\n return parseInt(result[2]) - parseInt(result[1]) + 1;\n }\n }\n function getContentLength(headers) {\n var contentRange = headers.get('Content-Range');\n if (contentRange) {\n var byteRangeLength = getByteRangeLength(contentRange);\n if (isFiniteNumber(byteRangeLength)) {\n return byteRangeLength;\n }\n }\n var contentLength = headers.get('Content-Length');\n if (contentLength) {\n return parseInt(contentLength);\n }\n }\n function getRequest(context, initParams) {\n return new self.Request(context.url, initParams);\n }\n var FetchError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(FetchError, _Error);\n function FetchError(message, code, details) {\n var _this2;\n _this2 = _Error.call(this, message) || this;\n _this2.code = void 0;\n _this2.details = void 0;\n _this2.code = code;\n _this2.details = details;\n return _this2;\n }\n return FetchError;\n }( /*#__PURE__*/_wrapNativeSuper(Error));\n\n var WHITESPACE_CHAR = /\\s/;\n var Cues = {\n newCue: function newCue(track, startTime, endTime, captionScreen) {\n var result = [];\n var row;\n // the type data states this is VTTCue, but it can potentially be a TextTrackCue on old browsers\n var cue;\n var indenting;\n var indent;\n var text;\n var Cue = self.VTTCue || self.TextTrackCue;\n for (var r = 0; r < captionScreen.rows.length; r++) {\n row = captionScreen.rows[r];\n indenting = true;\n indent = 0;\n text = '';\n if (!row.isEmpty()) {\n var _track$cues;\n for (var c = 0; c < row.chars.length; c++) {\n if (WHITESPACE_CHAR.test(row.chars[c].uchar) && indenting) {\n indent++;\n } else {\n text += row.chars[c].uchar;\n indenting = false;\n }\n }\n // To be used for cleaning-up orphaned roll-up captions\n row.cueStartTime = startTime;\n\n // Give a slight bump to the endTime if it's equal to startTime to avoid a SyntaxError in IE\n if (startTime === endTime) {\n endTime += 0.0001;\n }\n if (indent >= 16) {\n indent--;\n } else {\n indent++;\n }\n var cueText = fixLineBreaks(text.trim());\n var id = generateCueId(startTime, endTime, cueText);\n\n // If this cue already exists in the track do not push it\n if (!(track != null && (_track$cues = track.cues) != null && _track$cues.getCueById(id))) {\n cue = new Cue(startTime, endTime, cueText);\n cue.id = id;\n cue.line = r + 1;\n cue.align = 'left';\n // Clamp the position between 10 and 80 percent (CEA-608 PAC indent code)\n // https://dvcs.w3.org/hg/text-tracks/raw-file/default/608toVTT/608toVTT.html#positioning-in-cea-608\n // Firefox throws an exception and captions break with out of bounds 0-100 values\n cue.position = 10 + Math.min(80, Math.floor(indent * 8 / 32) * 10);\n result.push(cue);\n }\n }\n }\n if (track && result.length) {\n // Sort bottom cues in reverse order so that they render in line order when overlapping in Chrome\n result.sort(function (cueA, cueB) {\n if (cueA.line === 'auto' || cueB.line === 'auto') {\n return 0;\n }\n if (cueA.line > 8 && cueB.line > 8) {\n return cueB.line - cueA.line;\n }\n return cueA.line - cueB.line;\n });\n result.forEach(function (cue) {\n return addCueToTrack(track, cue);\n });\n }\n return result;\n }\n };\n\n /**\n * @deprecated use fragLoadPolicy.default\n */\n\n /**\n * @deprecated use manifestLoadPolicy.default and playlistLoadPolicy.default\n */\n\n var defaultLoadPolicy = {\n maxTimeToFirstByteMs: 8000,\n maxLoadTimeMs: 20000,\n timeoutRetry: null,\n errorRetry: null\n };\n\n /**\n * @ignore\n * If possible, keep hlsDefaultConfig shallow\n * It is cloned whenever a new Hls instance is created, by keeping the config\n * shallow the properties are cloned, and we don't end up manipulating the default\n */\n var hlsDefaultConfig = _objectSpread2(_objectSpread2({\n autoStartLoad: true,\n // used by stream-controller\n startPosition: -1,\n // used by stream-controller\n defaultAudioCodec: undefined,\n // used by stream-controller\n debug: false,\n // used by logger\n capLevelOnFPSDrop: false,\n // used by fps-controller\n capLevelToPlayerSize: false,\n // used by cap-level-controller\n ignoreDevicePixelRatio: false,\n // used by cap-level-controller\n preferManagedMediaSource: true,\n initialLiveManifestSize: 1,\n // used by stream-controller\n maxBufferLength: 30,\n // used by stream-controller\n backBufferLength: Infinity,\n // used by buffer-controller\n frontBufferFlushThreshold: Infinity,\n maxBufferSize: 60 * 1000 * 1000,\n // used by stream-controller\n maxBufferHole: 0.1,\n // used by stream-controller\n highBufferWatchdogPeriod: 2,\n // used by stream-controller\n nudgeOffset: 0.1,\n // used by stream-controller\n nudgeMaxRetry: 3,\n // used by stream-controller\n maxFragLookUpTolerance: 0.25,\n // used by stream-controller\n liveSyncDurationCount: 3,\n // used by latency-controller\n liveMaxLatencyDurationCount: Infinity,\n // used by latency-controller\n liveSyncDuration: undefined,\n // used by latency-controller\n liveMaxLatencyDuration: undefined,\n // used by latency-controller\n maxLiveSyncPlaybackRate: 1,\n // used by latency-controller\n liveDurationInfinity: false,\n // used by buffer-controller\n /**\n * @deprecated use backBufferLength\n */\n liveBackBufferLength: null,\n // used by buffer-controller\n maxMaxBufferLength: 600,\n // used by stream-controller\n enableWorker: true,\n // used by transmuxer\n workerPath: null,\n // used by transmuxer\n enableSoftwareAES: true,\n // used by decrypter\n startLevel: undefined,\n // used by level-controller\n startFragPrefetch: false,\n // used by stream-controller\n fpsDroppedMonitoringPeriod: 5000,\n // used by fps-controller\n fpsDroppedMonitoringThreshold: 0.2,\n // used by fps-controller\n appendErrorMaxRetry: 3,\n // used by buffer-controller\n loader: XhrLoader,\n // loader: FetchLoader,\n fLoader: undefined,\n // used by fragment-loader\n pLoader: undefined,\n // used by playlist-loader\n xhrSetup: undefined,\n // used by xhr-loader\n licenseXhrSetup: undefined,\n // used by eme-controller\n licenseResponseCallback: undefined,\n // used by eme-controller\n abrController: AbrController,\n bufferController: BufferController,\n capLevelController: CapLevelController,\n errorController: ErrorController,\n fpsController: FPSController,\n stretchShortVideoTrack: false,\n // used by mp4-remuxer\n maxAudioFramesDrift: 1,\n // used by mp4-remuxer\n forceKeyFrameOnDiscontinuity: true,\n // used by ts-demuxer\n abrEwmaFastLive: 3,\n // used by abr-controller\n abrEwmaSlowLive: 9,\n // used by abr-controller\n abrEwmaFastVoD: 3,\n // used by abr-controller\n abrEwmaSlowVoD: 9,\n // used by abr-controller\n abrEwmaDefaultEstimate: 5e5,\n // 500 kbps // used by abr-controller\n abrEwmaDefaultEstimateMax: 5e6,\n // 5 mbps\n abrBandWidthFactor: 0.95,\n // used by abr-controller\n abrBandWidthUpFactor: 0.7,\n // used by abr-controller\n abrMaxWithRealBitrate: false,\n // used by abr-controller\n maxStarvationDelay: 4,\n // used by abr-controller\n maxLoadingDelay: 4,\n // used by abr-controller\n minAutoBitrate: 0,\n // used by hls\n emeEnabled: false,\n // used by eme-controller\n widevineLicenseUrl: undefined,\n // used by eme-controller\n drmSystems: {},\n // used by eme-controller\n drmSystemOptions: {},\n // used by eme-controller\n requestMediaKeySystemAccessFunc: requestMediaKeySystemAccess ,\n // used by eme-controller\n testBandwidth: true,\n progressive: false,\n lowLatencyMode: true,\n cmcd: undefined,\n enableDateRangeMetadataCues: true,\n enableEmsgMetadataCues: true,\n enableID3MetadataCues: true,\n useMediaCapabilities: true,\n certLoadPolicy: {\n default: defaultLoadPolicy\n },\n keyLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 8000,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 1,\n retryDelayMs: 1000,\n maxRetryDelayMs: 20000,\n backoff: 'linear'\n },\n errorRetry: {\n maxNumRetry: 8,\n retryDelayMs: 1000,\n maxRetryDelayMs: 20000,\n backoff: 'linear'\n }\n }\n },\n manifestLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: Infinity,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 2,\n retryDelayMs: 0,\n maxRetryDelayMs: 0\n },\n errorRetry: {\n maxNumRetry: 1,\n retryDelayMs: 1000,\n maxRetryDelayMs: 8000\n }\n }\n },\n playlistLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 2,\n retryDelayMs: 0,\n maxRetryDelayMs: 0\n },\n errorRetry: {\n maxNumRetry: 2,\n retryDelayMs: 1000,\n maxRetryDelayMs: 8000\n }\n }\n },\n fragLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 120000,\n timeoutRetry: {\n maxNumRetry: 4,\n retryDelayMs: 0,\n maxRetryDelayMs: 0\n },\n errorRetry: {\n maxNumRetry: 6,\n retryDelayMs: 1000,\n maxRetryDelayMs: 8000\n }\n }\n },\n steeringManifestLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 2,\n retryDelayMs: 0,\n maxRetryDelayMs: 0\n },\n errorRetry: {\n maxNumRetry: 1,\n retryDelayMs: 1000,\n maxRetryDelayMs: 8000\n }\n } \n },\n // These default settings are deprecated in favor of the above policies\n // and are maintained for backwards compatibility\n manifestLoadingTimeOut: 10000,\n manifestLoadingMaxRetry: 1,\n manifestLoadingRetryDelay: 1000,\n manifestLoadingMaxRetryTimeout: 64000,\n levelLoadingTimeOut: 10000,\n levelLoadingMaxRetry: 4,\n levelLoadingRetryDelay: 1000,\n levelLoadingMaxRetryTimeout: 64000,\n fragLoadingTimeOut: 20000,\n fragLoadingMaxRetry: 6,\n fragLoadingRetryDelay: 1000,\n fragLoadingMaxRetryTimeout: 64000\n }, timelineConfig()), {}, {\n subtitleStreamController: SubtitleStreamController ,\n subtitleTrackController: SubtitleTrackController ,\n timelineController: TimelineController ,\n audioStreamController: AudioStreamController ,\n audioTrackController: AudioTrackController ,\n emeController: EMEController ,\n cmcdController: CMCDController ,\n contentSteeringController: ContentSteeringController \n });\n function timelineConfig() {\n return {\n cueHandler: Cues,\n // used by timeline-controller\n enableWebVTT: true,\n // used by timeline-controller\n enableIMSC1: true,\n // used by timeline-controller\n enableCEA708Captions: true,\n // used by timeline-controller\n captionsTextTrack1Label: 'English',\n // used by timeline-controller\n captionsTextTrack1LanguageCode: 'en',\n // used by timeline-controller\n captionsTextTrack2Label: 'Spanish',\n // used by timeline-controller\n captionsTextTrack2LanguageCode: 'es',\n // used by timeline-controller\n captionsTextTrack3Label: 'Unknown CC',\n // used by timeline-controller\n captionsTextTrack3LanguageCode: '',\n // used by timeline-controller\n captionsTextTrack4Label: 'Unknown CC',\n // used by timeline-controller\n captionsTextTrack4LanguageCode: '',\n // used by timeline-controller\n renderTextTracksNatively: true\n };\n }\n\n /**\n * @ignore\n */\n function mergeConfig(defaultConfig, userConfig) {\n if ((userConfig.liveSyncDurationCount || userConfig.liveMaxLatencyDurationCount) && (userConfig.liveSyncDuration || userConfig.liveMaxLatencyDuration)) {\n throw new Error(\"Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration\");\n }\n if (userConfig.liveMaxLatencyDurationCount !== undefined && (userConfig.liveSyncDurationCount === undefined || userConfig.liveMaxLatencyDurationCount <= userConfig.liveSyncDurationCount)) {\n throw new Error('Illegal hls.js config: \"liveMaxLatencyDurationCount\" must be greater than \"liveSyncDurationCount\"');\n }\n if (userConfig.liveMaxLatencyDuration !== undefined && (userConfig.liveSyncDuration === undefined || userConfig.liveMaxLatencyDuration <= userConfig.liveSyncDuration)) {\n throw new Error('Illegal hls.js config: \"liveMaxLatencyDuration\" must be greater than \"liveSyncDuration\"');\n }\n var defaultsCopy = deepCpy(defaultConfig);\n\n // Backwards compatibility with deprecated config values\n var deprecatedSettingTypes = ['manifest', 'level', 'frag'];\n var deprecatedSettings = ['TimeOut', 'MaxRetry', 'RetryDelay', 'MaxRetryTimeout'];\n deprecatedSettingTypes.forEach(function (type) {\n var policyName = (type === 'level' ? 'playlist' : type) + \"LoadPolicy\";\n var policyNotSet = userConfig[policyName] === undefined;\n var report = [];\n deprecatedSettings.forEach(function (setting) {\n var deprecatedSetting = type + \"Loading\" + setting;\n var value = userConfig[deprecatedSetting];\n if (value !== undefined && policyNotSet) {\n report.push(deprecatedSetting);\n var settings = defaultsCopy[policyName].default;\n userConfig[policyName] = {\n default: settings\n };\n switch (setting) {\n case 'TimeOut':\n settings.maxLoadTimeMs = value;\n settings.maxTimeToFirstByteMs = value;\n break;\n case 'MaxRetry':\n settings.errorRetry.maxNumRetry = value;\n settings.timeoutRetry.maxNumRetry = value;\n break;\n case 'RetryDelay':\n settings.errorRetry.retryDelayMs = value;\n settings.timeoutRetry.retryDelayMs = value;\n break;\n case 'MaxRetryTimeout':\n settings.errorRetry.maxRetryDelayMs = value;\n settings.timeoutRetry.maxRetryDelayMs = value;\n break;\n }\n }\n });\n if (report.length) {\n logger.warn(\"hls.js config: \\\"\" + report.join('\", \"') + \"\\\" setting(s) are deprecated, use \\\"\" + policyName + \"\\\": \" + JSON.stringify(userConfig[policyName]));\n }\n });\n return _objectSpread2(_objectSpread2({}, defaultsCopy), userConfig);\n }\n function deepCpy(obj) {\n if (obj && typeof obj === 'object') {\n if (Array.isArray(obj)) {\n return obj.map(deepCpy);\n }\n return Object.keys(obj).reduce(function (result, key) {\n result[key] = deepCpy(obj[key]);\n return result;\n }, {});\n }\n return obj;\n }\n\n /**\n * @ignore\n */\n function enableStreamingMode(config) {\n var currentLoader = config.loader;\n if (currentLoader !== FetchLoader && currentLoader !== XhrLoader) {\n // If a developer has configured their own loader, respect that choice\n logger.log('[config]: Custom loader detected, cannot enable progressive streaming');\n config.progressive = false;\n } else {\n var canStreamProgressively = fetchSupported();\n if (canStreamProgressively) {\n config.loader = FetchLoader;\n config.progressive = true;\n config.enableSoftwareAES = true;\n logger.log('[config]: Progressive streaming enabled, using FetchLoader');\n }\n }\n }\n\n var chromeOrFirefox;\n var LevelController = /*#__PURE__*/function (_BasePlaylistControll) {\n _inheritsLoose(LevelController, _BasePlaylistControll);\n function LevelController(hls, contentSteeringController) {\n var _this;\n _this = _BasePlaylistControll.call(this, hls, '[level-controller]') || this;\n _this._levels = [];\n _this._firstLevel = -1;\n _this._maxAutoLevel = -1;\n _this._startLevel = void 0;\n _this.currentLevel = null;\n _this.currentLevelIndex = -1;\n _this.manualLevelIndex = -1;\n _this.steering = void 0;\n _this.onParsedComplete = void 0;\n _this.steering = contentSteeringController;\n _this._registerListeners();\n return _this;\n }\n var _proto = LevelController.prototype;\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.on(Events.ERROR, this.onError, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_LOADED, this.onManifestLoaded, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n hls.off(Events.ERROR, this.onError, this);\n };\n _proto.destroy = function destroy() {\n this._unregisterListeners();\n this.steering = null;\n this.resetLevels();\n _BasePlaylistControll.prototype.destroy.call(this);\n };\n _proto.stopLoad = function stopLoad() {\n var levels = this._levels;\n\n // clean up live level details to force reload them, and reset load errors\n levels.forEach(function (level) {\n level.loadError = 0;\n level.fragmentError = 0;\n });\n _BasePlaylistControll.prototype.stopLoad.call(this);\n };\n _proto.resetLevels = function resetLevels() {\n this._startLevel = undefined;\n this.manualLevelIndex = -1;\n this.currentLevelIndex = -1;\n this.currentLevel = null;\n this._levels = [];\n this._maxAutoLevel = -1;\n };\n _proto.onManifestLoading = function onManifestLoading(event, data) {\n this.resetLevels();\n };\n _proto.onManifestLoaded = function onManifestLoaded(event, data) {\n var preferManagedMediaSource = this.hls.config.preferManagedMediaSource;\n var levels = [];\n var redundantSet = {};\n var generatePathwaySet = {};\n var resolutionFound = false;\n var videoCodecFound = false;\n var audioCodecFound = false;\n data.levels.forEach(function (levelParsed) {\n var _audioCodec, _videoCodec;\n var attributes = levelParsed.attrs;\n\n // erase audio codec info if browser does not support mp4a.40.34.\n // demuxer will autodetect codec and fallback to mpeg/audio\n var audioCodec = levelParsed.audioCodec,\n videoCodec = levelParsed.videoCodec;\n if (((_audioCodec = audioCodec) == null ? void 0 : _audioCodec.indexOf('mp4a.40.34')) !== -1) {\n chromeOrFirefox || (chromeOrFirefox = /chrome|firefox/i.test(navigator.userAgent));\n if (chromeOrFirefox) {\n levelParsed.audioCodec = audioCodec = undefined;\n }\n }\n if (audioCodec) {\n levelParsed.audioCodec = audioCodec = getCodecCompatibleName(audioCodec, preferManagedMediaSource);\n }\n if (((_videoCodec = videoCodec) == null ? void 0 : _videoCodec.indexOf('avc1')) === 0) {\n videoCodec = levelParsed.videoCodec = convertAVC1ToAVCOTI(videoCodec);\n }\n\n // only keep levels with supported audio/video codecs\n var width = levelParsed.width,\n height = levelParsed.height,\n unknownCodecs = levelParsed.unknownCodecs;\n resolutionFound || (resolutionFound = !!(width && height));\n videoCodecFound || (videoCodecFound = !!videoCodec);\n audioCodecFound || (audioCodecFound = !!audioCodec);\n if (unknownCodecs != null && unknownCodecs.length || audioCodec && !areCodecsMediaSourceSupported(audioCodec, 'audio', preferManagedMediaSource) || videoCodec && !areCodecsMediaSourceSupported(videoCodec, 'video', preferManagedMediaSource)) {\n return;\n }\n var CODECS = attributes.CODECS,\n FRAMERATE = attributes['FRAME-RATE'],\n HDCP = attributes['HDCP-LEVEL'],\n PATHWAY = attributes['PATHWAY-ID'],\n RESOLUTION = attributes.RESOLUTION,\n VIDEO_RANGE = attributes['VIDEO-RANGE'];\n var contentSteeringPrefix = (PATHWAY || '.') + \"-\";\n var levelKey = \"\" + contentSteeringPrefix + levelParsed.bitrate + \"-\" + RESOLUTION + \"-\" + FRAMERATE + \"-\" + CODECS + \"-\" + VIDEO_RANGE + \"-\" + HDCP;\n if (!redundantSet[levelKey]) {\n var level = new Level(levelParsed);\n redundantSet[levelKey] = level;\n generatePathwaySet[levelKey] = 1;\n levels.push(level);\n } else if (redundantSet[levelKey].uri !== levelParsed.url && !levelParsed.attrs['PATHWAY-ID']) {\n // Assign Pathway IDs to Redundant Streams (default Pathways is \".\". Redundant Streams \"..\", \"...\", and so on.)\n // Content Steering controller to handles Pathway fallback on error\n var pathwayCount = generatePathwaySet[levelKey] += 1;\n levelParsed.attrs['PATHWAY-ID'] = new Array(pathwayCount + 1).join('.');\n var _level = new Level(levelParsed);\n redundantSet[levelKey] = _level;\n levels.push(_level);\n } else {\n redundantSet[levelKey].addGroupId('audio', attributes.AUDIO);\n redundantSet[levelKey].addGroupId('text', attributes.SUBTITLES);\n }\n });\n this.filterAndSortMediaOptions(levels, data, resolutionFound, videoCodecFound, audioCodecFound);\n };\n _proto.filterAndSortMediaOptions = function filterAndSortMediaOptions(filteredLevels, data, resolutionFound, videoCodecFound, audioCodecFound) {\n var _this2 = this;\n var audioTracks = [];\n var subtitleTracks = [];\n var levels = filteredLevels;\n\n // remove audio-only and invalid video-range levels if we also have levels with video codecs or RESOLUTION signalled\n if ((resolutionFound || videoCodecFound) && audioCodecFound) {\n levels = levels.filter(function (_ref) {\n var videoCodec = _ref.videoCodec,\n videoRange = _ref.videoRange,\n width = _ref.width,\n height = _ref.height;\n return (!!videoCodec || !!(width && height)) && isVideoRange(videoRange);\n });\n }\n if (levels.length === 0) {\n // Dispatch error after MANIFEST_LOADED is done propagating\n Promise.resolve().then(function () {\n if (_this2.hls) {\n if (data.levels.length) {\n _this2.warn(\"One or more CODECS in variant not supported: \" + JSON.stringify(data.levels[0].attrs));\n }\n var error = new Error('no level with compatible codecs found in manifest');\n _this2.hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.MANIFEST_INCOMPATIBLE_CODECS_ERROR,\n fatal: true,\n url: data.url,\n error: error,\n reason: error.message\n });\n }\n });\n return;\n }\n if (data.audioTracks) {\n var preferManagedMediaSource = this.hls.config.preferManagedMediaSource;\n audioTracks = data.audioTracks.filter(function (track) {\n return !track.audioCodec || areCodecsMediaSourceSupported(track.audioCodec, 'audio', preferManagedMediaSource);\n });\n // Assign ids after filtering as array indices by group-id\n assignTrackIdsByGroup(audioTracks);\n }\n if (data.subtitles) {\n subtitleTracks = data.subtitles;\n assignTrackIdsByGroup(subtitleTracks);\n }\n // start bitrate is the first bitrate of the manifest\n var unsortedLevels = levels.slice(0);\n // sort levels from lowest to highest\n levels.sort(function (a, b) {\n if (a.attrs['HDCP-LEVEL'] !== b.attrs['HDCP-LEVEL']) {\n return (a.attrs['HDCP-LEVEL'] || '') > (b.attrs['HDCP-LEVEL'] || '') ? 1 : -1;\n }\n // sort on height before bitrate for cap-level-controller\n if (resolutionFound && a.height !== b.height) {\n return a.height - b.height;\n }\n if (a.frameRate !== b.frameRate) {\n return a.frameRate - b.frameRate;\n }\n if (a.videoRange !== b.videoRange) {\n return VideoRangeValues.indexOf(a.videoRange) - VideoRangeValues.indexOf(b.videoRange);\n }\n if (a.videoCodec !== b.videoCodec) {\n var valueA = videoCodecPreferenceValue(a.videoCodec);\n var valueB = videoCodecPreferenceValue(b.videoCodec);\n if (valueA !== valueB) {\n return valueB - valueA;\n }\n }\n if (a.uri === b.uri && a.codecSet !== b.codecSet) {\n var _valueA = codecsSetSelectionPreferenceValue(a.codecSet);\n var _valueB = codecsSetSelectionPreferenceValue(b.codecSet);\n if (_valueA !== _valueB) {\n return _valueB - _valueA;\n }\n }\n if (a.averageBitrate !== b.averageBitrate) {\n return a.averageBitrate - b.averageBitrate;\n }\n return 0;\n });\n var firstLevelInPlaylist = unsortedLevels[0];\n if (this.steering) {\n levels = this.steering.filterParsedLevels(levels);\n if (levels.length !== unsortedLevels.length) {\n for (var i = 0; i < unsortedLevels.length; i++) {\n if (unsortedLevels[i].pathwayId === levels[0].pathwayId) {\n firstLevelInPlaylist = unsortedLevels[i];\n break;\n }\n }\n }\n }\n this._levels = levels;\n\n // find index of first level in sorted levels\n for (var _i = 0; _i < levels.length; _i++) {\n if (levels[_i] === firstLevelInPlaylist) {\n var _this$hls$userConfig;\n this._firstLevel = _i;\n var firstLevelBitrate = firstLevelInPlaylist.bitrate;\n var bandwidthEstimate = this.hls.bandwidthEstimate;\n this.log(\"manifest loaded, \" + levels.length + \" level(s) found, first bitrate: \" + firstLevelBitrate);\n // Update default bwe to first variant bitrate as long it has not been configured or set\n if (((_this$hls$userConfig = this.hls.userConfig) == null ? void 0 : _this$hls$userConfig.abrEwmaDefaultEstimate) === undefined) {\n var startingBwEstimate = Math.min(firstLevelBitrate, this.hls.config.abrEwmaDefaultEstimateMax);\n if (startingBwEstimate > bandwidthEstimate && bandwidthEstimate === hlsDefaultConfig.abrEwmaDefaultEstimate) {\n this.hls.bandwidthEstimate = startingBwEstimate;\n }\n }\n break;\n }\n }\n\n // Audio is only alternate if manifest include a URI along with the audio group tag,\n // and this is not an audio-only stream where levels contain audio-only\n var audioOnly = audioCodecFound && !videoCodecFound;\n var edata = {\n levels: levels,\n audioTracks: audioTracks,\n subtitleTracks: subtitleTracks,\n sessionData: data.sessionData,\n sessionKeys: data.sessionKeys,\n firstLevel: this._firstLevel,\n stats: data.stats,\n audio: audioCodecFound,\n video: videoCodecFound,\n altAudio: !audioOnly && audioTracks.some(function (t) {\n return !!t.url;\n })\n };\n this.hls.trigger(Events.MANIFEST_PARSED, edata);\n\n // Initiate loading after all controllers have received MANIFEST_PARSED\n if (this.hls.config.autoStartLoad || this.hls.forceStartLoad) {\n this.hls.startLoad(this.hls.config.startPosition);\n }\n };\n _proto.onError = function onError(event, data) {\n if (data.fatal || !data.context) {\n return;\n }\n if (data.context.type === PlaylistContextType.LEVEL && data.context.level === this.level) {\n this.checkRetry(data);\n }\n }\n\n // reset errors on the successful load of a fragment\n ;\n _proto.onFragBuffered = function onFragBuffered(event, _ref2) {\n var frag = _ref2.frag;\n if (frag !== undefined && frag.type === PlaylistLevelType.MAIN) {\n var el = frag.elementaryStreams;\n if (!Object.keys(el).some(function (type) {\n return !!el[type];\n })) {\n return;\n }\n var level = this._levels[frag.level];\n if (level != null && level.loadError) {\n this.log(\"Resetting level error count of \" + level.loadError + \" on frag buffered\");\n level.loadError = 0;\n }\n }\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n var _data$deliveryDirecti2;\n var level = data.level,\n details = data.details;\n var curLevel = this._levels[level];\n if (!curLevel) {\n var _data$deliveryDirecti;\n this.warn(\"Invalid level index \" + level);\n if ((_data$deliveryDirecti = data.deliveryDirectives) != null && _data$deliveryDirecti.skip) {\n details.deltaUpdateFailed = true;\n }\n return;\n }\n\n // only process level loaded events matching with expected level\n if (level === this.currentLevelIndex) {\n // reset level load error counter on successful level loaded only if there is no issues with fragments\n if (curLevel.fragmentError === 0) {\n curLevel.loadError = 0;\n }\n this.playlistLoaded(level, data, curLevel.details);\n } else if ((_data$deliveryDirecti2 = data.deliveryDirectives) != null && _data$deliveryDirecti2.skip) {\n // received a delta playlist update that cannot be merged\n details.deltaUpdateFailed = true;\n }\n };\n _proto.loadPlaylist = function loadPlaylist(hlsUrlParameters) {\n _BasePlaylistControll.prototype.loadPlaylist.call(this);\n var currentLevelIndex = this.currentLevelIndex;\n var currentLevel = this.currentLevel;\n if (currentLevel && this.shouldLoadPlaylist(currentLevel)) {\n var url = currentLevel.uri;\n if (hlsUrlParameters) {\n try {\n url = hlsUrlParameters.addDirectives(url);\n } catch (error) {\n this.warn(\"Could not construct new URL with HLS Delivery Directives: \" + error);\n }\n }\n var pathwayId = currentLevel.attrs['PATHWAY-ID'];\n this.log(\"Loading level index \" + currentLevelIndex + ((hlsUrlParameters == null ? void 0 : hlsUrlParameters.msn) !== undefined ? ' at sn ' + hlsUrlParameters.msn + ' part ' + hlsUrlParameters.part : '') + \" with\" + (pathwayId ? ' Pathway ' + pathwayId : '') + \" \" + url);\n\n // console.log('Current audio track group ID:', this.hls.audioTracks[this.hls.audioTrack].groupId);\n // console.log('New video quality level audio group id:', levelObject.attrs.AUDIO, level);\n this.clearTimer();\n this.hls.trigger(Events.LEVEL_LOADING, {\n url: url,\n level: currentLevelIndex,\n pathwayId: currentLevel.attrs['PATHWAY-ID'],\n id: 0,\n // Deprecated Level urlId\n deliveryDirectives: hlsUrlParameters || null\n });\n }\n };\n _proto.removeLevel = function removeLevel(levelIndex) {\n var _this3 = this,\n _this$currentLevel;\n var levels = this._levels.filter(function (level, index) {\n if (index !== levelIndex) {\n return true;\n }\n if (_this3.steering) {\n _this3.steering.removeLevel(level);\n }\n if (level === _this3.currentLevel) {\n _this3.currentLevel = null;\n _this3.currentLevelIndex = -1;\n if (level.details) {\n level.details.fragments.forEach(function (f) {\n return f.level = -1;\n });\n }\n }\n return false;\n });\n reassignFragmentLevelIndexes(levels);\n this._levels = levels;\n if (this.currentLevelIndex > -1 && (_this$currentLevel = this.currentLevel) != null && _this$currentLevel.details) {\n this.currentLevelIndex = this.currentLevel.details.fragments[0].level;\n }\n this.hls.trigger(Events.LEVELS_UPDATED, {\n levels: levels\n });\n };\n _proto.onLevelsUpdated = function onLevelsUpdated(event, _ref3) {\n var levels = _ref3.levels;\n this._levels = levels;\n };\n _proto.checkMaxAutoUpdated = function checkMaxAutoUpdated() {\n var _this$hls = this.hls,\n autoLevelCapping = _this$hls.autoLevelCapping,\n maxAutoLevel = _this$hls.maxAutoLevel,\n maxHdcpLevel = _this$hls.maxHdcpLevel;\n if (this._maxAutoLevel !== maxAutoLevel) {\n this._maxAutoLevel = maxAutoLevel;\n this.hls.trigger(Events.MAX_AUTO_LEVEL_UPDATED, {\n autoLevelCapping: autoLevelCapping,\n levels: this.levels,\n maxAutoLevel: maxAutoLevel,\n minAutoLevel: this.hls.minAutoLevel,\n maxHdcpLevel: maxHdcpLevel\n });\n }\n };\n _createClass(LevelController, [{\n key: \"levels\",\n get: function get() {\n if (this._levels.length === 0) {\n return null;\n }\n return this._levels;\n }\n }, {\n key: \"level\",\n get: function get() {\n return this.currentLevelIndex;\n },\n set: function set(newLevel) {\n var levels = this._levels;\n if (levels.length === 0) {\n return;\n }\n // check if level idx is valid\n if (newLevel < 0 || newLevel >= levels.length) {\n // invalid level id given, trigger error\n var error = new Error('invalid level idx');\n var fatal = newLevel < 0;\n this.hls.trigger(Events.ERROR, {\n type: ErrorTypes.OTHER_ERROR,\n details: ErrorDetails.LEVEL_SWITCH_ERROR,\n level: newLevel,\n fatal: fatal,\n error: error,\n reason: error.message\n });\n if (fatal) {\n return;\n }\n newLevel = Math.min(newLevel, levels.length - 1);\n }\n var lastLevelIndex = this.currentLevelIndex;\n var lastLevel = this.currentLevel;\n var lastPathwayId = lastLevel ? lastLevel.attrs['PATHWAY-ID'] : undefined;\n var level = levels[newLevel];\n var pathwayId = level.attrs['PATHWAY-ID'];\n this.currentLevelIndex = newLevel;\n this.currentLevel = level;\n if (lastLevelIndex === newLevel && level.details && lastLevel && lastPathwayId === pathwayId) {\n return;\n }\n this.log(\"Switching to level \" + newLevel + \" (\" + (level.height ? level.height + 'p ' : '') + (level.videoRange ? level.videoRange + ' ' : '') + (level.codecSet ? level.codecSet + ' ' : '') + \"@\" + level.bitrate + \")\" + (pathwayId ? ' with Pathway ' + pathwayId : '') + \" from level \" + lastLevelIndex + (lastPathwayId ? ' with Pathway ' + lastPathwayId : ''));\n var levelSwitchingData = {\n level: newLevel,\n attrs: level.attrs,\n details: level.details,\n bitrate: level.bitrate,\n averageBitrate: level.averageBitrate,\n maxBitrate: level.maxBitrate,\n realBitrate: level.realBitrate,\n width: level.width,\n height: level.height,\n codecSet: level.codecSet,\n audioCodec: level.audioCodec,\n videoCodec: level.videoCodec,\n audioGroups: level.audioGroups,\n subtitleGroups: level.subtitleGroups,\n loaded: level.loaded,\n loadError: level.loadError,\n fragmentError: level.fragmentError,\n name: level.name,\n id: level.id,\n uri: level.uri,\n url: level.url,\n urlId: 0,\n audioGroupIds: level.audioGroupIds,\n textGroupIds: level.textGroupIds\n };\n this.hls.trigger(Events.LEVEL_SWITCHING, levelSwitchingData);\n // check if we need to load playlist for this level\n var levelDetails = level.details;\n if (!levelDetails || levelDetails.live) {\n // level not retrieved yet, or live playlist we need to (re)load it\n var hlsUrlParameters = this.switchParams(level.uri, lastLevel == null ? void 0 : lastLevel.details);\n this.loadPlaylist(hlsUrlParameters);\n }\n }\n }, {\n key: \"manualLevel\",\n get: function get() {\n return this.manualLevelIndex;\n },\n set: function set(newLevel) {\n this.manualLevelIndex = newLevel;\n if (this._startLevel === undefined) {\n this._startLevel = newLevel;\n }\n if (newLevel !== -1) {\n this.level = newLevel;\n }\n }\n }, {\n key: \"firstLevel\",\n get: function get() {\n return this._firstLevel;\n },\n set: function set(newLevel) {\n this._firstLevel = newLevel;\n }\n }, {\n key: \"startLevel\",\n get: function get() {\n // Setting hls.startLevel (this._startLevel) overrides config.startLevel\n if (this._startLevel === undefined) {\n var configStartLevel = this.hls.config.startLevel;\n if (configStartLevel !== undefined) {\n return configStartLevel;\n }\n return this.hls.firstAutoLevel;\n }\n return this._startLevel;\n },\n set: function set(newLevel) {\n this._startLevel = newLevel;\n }\n }, {\n key: \"nextLoadLevel\",\n get: function get() {\n if (this.manualLevelIndex !== -1) {\n return this.manualLevelIndex;\n } else {\n return this.hls.nextAutoLevel;\n }\n },\n set: function set(nextLevel) {\n this.level = nextLevel;\n if (this.manualLevelIndex === -1) {\n this.hls.nextAutoLevel = nextLevel;\n }\n }\n }]);\n return LevelController;\n }(BasePlaylistController);\n function assignTrackIdsByGroup(tracks) {\n var groups = {};\n tracks.forEach(function (track) {\n var groupId = track.groupId || '';\n track.id = groups[groupId] = groups[groupId] || 0;\n groups[groupId]++;\n });\n }\n\n var KeyLoader = /*#__PURE__*/function () {\n function KeyLoader(config) {\n this.config = void 0;\n this.keyUriToKeyInfo = {};\n this.emeController = null;\n this.config = config;\n }\n var _proto = KeyLoader.prototype;\n _proto.abort = function abort(type) {\n for (var uri in this.keyUriToKeyInfo) {\n var loader = this.keyUriToKeyInfo[uri].loader;\n if (loader) {\n var _loader$context;\n if (type && type !== ((_loader$context = loader.context) == null ? void 0 : _loader$context.frag.type)) {\n return;\n }\n loader.abort();\n }\n }\n };\n _proto.detach = function detach() {\n for (var uri in this.keyUriToKeyInfo) {\n var keyInfo = this.keyUriToKeyInfo[uri];\n // Remove cached EME keys on detach\n if (keyInfo.mediaKeySessionContext || keyInfo.decryptdata.isCommonEncryption) {\n delete this.keyUriToKeyInfo[uri];\n }\n }\n };\n _proto.destroy = function destroy() {\n this.detach();\n for (var uri in this.keyUriToKeyInfo) {\n var loader = this.keyUriToKeyInfo[uri].loader;\n if (loader) {\n loader.destroy();\n }\n }\n this.keyUriToKeyInfo = {};\n };\n _proto.createKeyLoadError = function createKeyLoadError(frag, details, error, networkDetails, response) {\n if (details === void 0) {\n details = ErrorDetails.KEY_LOAD_ERROR;\n }\n return new LoadError({\n type: ErrorTypes.NETWORK_ERROR,\n details: details,\n fatal: false,\n frag: frag,\n response: response,\n error: error,\n networkDetails: networkDetails\n });\n };\n _proto.loadClear = function loadClear(loadingFrag, encryptedFragments) {\n var _this = this;\n if (this.emeController && this.config.emeEnabled) {\n // access key-system with nearest key on start (loaidng frag is unencrypted)\n var sn = loadingFrag.sn,\n cc = loadingFrag.cc;\n var _loop = function _loop() {\n var frag = encryptedFragments[i];\n if (cc <= frag.cc && (sn === 'initSegment' || frag.sn === 'initSegment' || sn < frag.sn)) {\n _this.emeController.selectKeySystemFormat(frag).then(function (keySystemFormat) {\n frag.setKeyFormat(keySystemFormat);\n });\n return 1; // break\n }\n };\n for (var i = 0; i < encryptedFragments.length; i++) {\n if (_loop()) break;\n }\n }\n };\n _proto.load = function load(frag) {\n var _this2 = this;\n if (!frag.decryptdata && frag.encrypted && this.emeController) {\n // Multiple keys, but none selected, resolve in eme-controller\n return this.emeController.selectKeySystemFormat(frag).then(function (keySystemFormat) {\n return _this2.loadInternal(frag, keySystemFormat);\n });\n }\n return this.loadInternal(frag);\n };\n _proto.loadInternal = function loadInternal(frag, keySystemFormat) {\n var _keyInfo, _keyInfo2;\n if (keySystemFormat) {\n frag.setKeyFormat(keySystemFormat);\n }\n var decryptdata = frag.decryptdata;\n if (!decryptdata) {\n var error = new Error(keySystemFormat ? \"Expected frag.decryptdata to be defined after setting format \" + keySystemFormat : 'Missing decryption data on fragment in onKeyLoading');\n return Promise.reject(this.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, error));\n }\n var uri = decryptdata.uri;\n if (!uri) {\n return Promise.reject(this.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, new Error(\"Invalid key URI: \\\"\" + uri + \"\\\"\")));\n }\n var keyInfo = this.keyUriToKeyInfo[uri];\n if ((_keyInfo = keyInfo) != null && _keyInfo.decryptdata.key) {\n decryptdata.key = keyInfo.decryptdata.key;\n return Promise.resolve({\n frag: frag,\n keyInfo: keyInfo\n });\n }\n // Return key load promise as long as it does not have a mediakey session with an unusable key status\n if ((_keyInfo2 = keyInfo) != null && _keyInfo2.keyLoadPromise) {\n var _keyInfo$mediaKeySess;\n switch ((_keyInfo$mediaKeySess = keyInfo.mediaKeySessionContext) == null ? void 0 : _keyInfo$mediaKeySess.keyStatus) {\n case undefined:\n case 'status-pending':\n case 'usable':\n case 'usable-in-future':\n return keyInfo.keyLoadPromise.then(function (keyLoadedData) {\n // Return the correct fragment with updated decryptdata key and loaded keyInfo\n decryptdata.key = keyLoadedData.keyInfo.decryptdata.key;\n return {\n frag: frag,\n keyInfo: keyInfo\n };\n });\n }\n // If we have a key session and status and it is not pending or usable, continue\n // This will go back to the eme-controller for expired keys to get a new keyLoadPromise\n }\n\n // Load the key or return the loading promise\n keyInfo = this.keyUriToKeyInfo[uri] = {\n decryptdata: decryptdata,\n keyLoadPromise: null,\n loader: null,\n mediaKeySessionContext: null\n };\n switch (decryptdata.method) {\n case 'ISO-23001-7':\n case 'SAMPLE-AES':\n case 'SAMPLE-AES-CENC':\n case 'SAMPLE-AES-CTR':\n if (decryptdata.keyFormat === 'identity') {\n // loadKeyHTTP handles http(s) and data URLs\n return this.loadKeyHTTP(keyInfo, frag);\n }\n return this.loadKeyEME(keyInfo, frag);\n case 'AES-128':\n return this.loadKeyHTTP(keyInfo, frag);\n default:\n return Promise.reject(this.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, new Error(\"Key supplied with unsupported METHOD: \\\"\" + decryptdata.method + \"\\\"\")));\n }\n };\n _proto.loadKeyEME = function loadKeyEME(keyInfo, frag) {\n var keyLoadedData = {\n frag: frag,\n keyInfo: keyInfo\n };\n if (this.emeController && this.config.emeEnabled) {\n var keySessionContextPromise = this.emeController.loadKey(keyLoadedData);\n if (keySessionContextPromise) {\n return (keyInfo.keyLoadPromise = keySessionContextPromise.then(function (keySessionContext) {\n keyInfo.mediaKeySessionContext = keySessionContext;\n return keyLoadedData;\n })).catch(function (error) {\n // Remove promise for license renewal or retry\n keyInfo.keyLoadPromise = null;\n throw error;\n });\n }\n }\n return Promise.resolve(keyLoadedData);\n };\n _proto.loadKeyHTTP = function loadKeyHTTP(keyInfo, frag) {\n var _this3 = this;\n var config = this.config;\n var Loader = config.loader;\n var keyLoader = new Loader(config);\n frag.keyLoader = keyInfo.loader = keyLoader;\n return keyInfo.keyLoadPromise = new Promise(function (resolve, reject) {\n var loaderContext = {\n keyInfo: keyInfo,\n frag: frag,\n responseType: 'arraybuffer',\n url: keyInfo.decryptdata.uri\n };\n\n // maxRetry is 0 so that instead of retrying the same key on the same variant multiple times,\n // key-loader will trigger an error and rely on stream-controller to handle retry logic.\n // this will also align retry logic with fragment-loader\n var loadPolicy = config.keyLoadPolicy.default;\n var loaderConfig = {\n loadPolicy: loadPolicy,\n timeout: loadPolicy.maxLoadTimeMs,\n maxRetry: 0,\n retryDelay: 0,\n maxRetryDelay: 0\n };\n var loaderCallbacks = {\n onSuccess: function onSuccess(response, stats, context, networkDetails) {\n var frag = context.frag,\n keyInfo = context.keyInfo,\n uri = context.url;\n if (!frag.decryptdata || keyInfo !== _this3.keyUriToKeyInfo[uri]) {\n return reject(_this3.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, new Error('after key load, decryptdata unset or changed'), networkDetails));\n }\n keyInfo.decryptdata.key = frag.decryptdata.key = new Uint8Array(response.data);\n\n // detach fragment key loader on load success\n frag.keyLoader = null;\n keyInfo.loader = null;\n resolve({\n frag: frag,\n keyInfo: keyInfo\n });\n },\n onError: function onError(response, context, networkDetails, stats) {\n _this3.resetLoader(context);\n reject(_this3.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_ERROR, new Error(\"HTTP Error \" + response.code + \" loading key \" + response.text), networkDetails, _objectSpread2({\n url: loaderContext.url,\n data: undefined\n }, response)));\n },\n onTimeout: function onTimeout(stats, context, networkDetails) {\n _this3.resetLoader(context);\n reject(_this3.createKeyLoadError(frag, ErrorDetails.KEY_LOAD_TIMEOUT, new Error('key loading timed out'), networkDetails));\n },\n onAbort: function onAbort(stats, context, networkDetails) {\n _this3.resetLoader(context);\n reject(_this3.createKeyLoadError(frag, ErrorDetails.INTERNAL_ABORTED, new Error('key loading aborted'), networkDetails));\n }\n };\n keyLoader.load(loaderContext, loaderConfig, loaderCallbacks);\n });\n };\n _proto.resetLoader = function resetLoader(context) {\n var frag = context.frag,\n keyInfo = context.keyInfo,\n uri = context.url;\n var loader = keyInfo.loader;\n if (frag.keyLoader === loader) {\n frag.keyLoader = null;\n keyInfo.loader = null;\n }\n delete this.keyUriToKeyInfo[uri];\n if (loader) {\n loader.destroy();\n }\n };\n return KeyLoader;\n }();\n\n function getSourceBuffer() {\n return self.SourceBuffer || self.WebKitSourceBuffer;\n }\n function isMSESupported() {\n var mediaSource = getMediaSource();\n if (!mediaSource) {\n return false;\n }\n\n // if SourceBuffer is exposed ensure its API is valid\n // Older browsers do not expose SourceBuffer globally so checking SourceBuffer.prototype is impossible\n var sourceBuffer = getSourceBuffer();\n return !sourceBuffer || sourceBuffer.prototype && typeof sourceBuffer.prototype.appendBuffer === 'function' && typeof sourceBuffer.prototype.remove === 'function';\n }\n function isSupported() {\n if (!isMSESupported()) {\n return false;\n }\n var mediaSource = getMediaSource();\n return typeof (mediaSource == null ? void 0 : mediaSource.isTypeSupported) === 'function' && (['avc1.42E01E,mp4a.40.2', 'av01.0.01M.08', 'vp09.00.50.08'].some(function (codecsForVideoContainer) {\n return mediaSource.isTypeSupported(mimeTypeForCodec(codecsForVideoContainer, 'video'));\n }) || ['mp4a.40.2', 'fLaC'].some(function (codecForAudioContainer) {\n return mediaSource.isTypeSupported(mimeTypeForCodec(codecForAudioContainer, 'audio'));\n }));\n }\n function changeTypeSupported() {\n var _sourceBuffer$prototy;\n var sourceBuffer = getSourceBuffer();\n return typeof (sourceBuffer == null ? void 0 : (_sourceBuffer$prototy = sourceBuffer.prototype) == null ? void 0 : _sourceBuffer$prototy.changeType) === 'function';\n }\n\n var STALL_MINIMUM_DURATION_MS = 250;\n var MAX_START_GAP_JUMP = 2.0;\n var SKIP_BUFFER_HOLE_STEP_SECONDS = 0.1;\n var SKIP_BUFFER_RANGE_START = 0.05;\n var GapController = /*#__PURE__*/function () {\n function GapController(config, media, fragmentTracker, hls) {\n this.config = void 0;\n this.media = null;\n this.fragmentTracker = void 0;\n this.hls = void 0;\n this.nudgeRetry = 0;\n this.stallReported = false;\n this.stalled = null;\n this.moved = false;\n this.seeking = false;\n this.config = config;\n this.media = media;\n this.fragmentTracker = fragmentTracker;\n this.hls = hls;\n }\n var _proto = GapController.prototype;\n _proto.destroy = function destroy() {\n this.media = null;\n // @ts-ignore\n this.hls = this.fragmentTracker = null;\n }\n\n /**\n * Checks if the playhead is stuck within a gap, and if so, attempts to free it.\n * A gap is an unbuffered range between two buffered ranges (or the start and the first buffered range).\n *\n * @param lastCurrentTime - Previously read playhead position\n */;\n _proto.poll = function poll(lastCurrentTime, activeFrag) {\n var config = this.config,\n media = this.media,\n stalled = this.stalled;\n if (media === null) {\n return;\n }\n var currentTime = media.currentTime,\n seeking = media.seeking;\n var seeked = this.seeking && !seeking;\n var beginSeek = !this.seeking && seeking;\n this.seeking = seeking;\n\n // The playhead is moving, no-op\n if (currentTime !== lastCurrentTime) {\n this.moved = true;\n if (!seeking) {\n this.nudgeRetry = 0;\n }\n if (stalled !== null) {\n // The playhead is now moving, but was previously stalled\n if (this.stallReported) {\n var _stalledDuration = self.performance.now() - stalled;\n logger.warn(\"playback not stuck anymore @\" + currentTime + \", after \" + Math.round(_stalledDuration) + \"ms\");\n this.stallReported = false;\n }\n this.stalled = null;\n }\n return;\n }\n\n // Clear stalled state when beginning or finishing seeking so that we don't report stalls coming out of a seek\n if (beginSeek || seeked) {\n this.stalled = null;\n return;\n }\n\n // The playhead should not be moving\n if (media.paused && !seeking || media.ended || media.playbackRate === 0 || !BufferHelper.getBuffered(media).length) {\n this.nudgeRetry = 0;\n return;\n }\n var bufferInfo = BufferHelper.bufferInfo(media, currentTime, 0);\n var nextStart = bufferInfo.nextStart || 0;\n if (seeking) {\n // Waiting for seeking in a buffered range to complete\n var hasEnoughBuffer = bufferInfo.len > MAX_START_GAP_JUMP;\n // Next buffered range is too far ahead to jump to while still seeking\n var noBufferGap = !nextStart || activeFrag && activeFrag.start <= currentTime || nextStart - currentTime > MAX_START_GAP_JUMP && !this.fragmentTracker.getPartialFragment(currentTime);\n if (hasEnoughBuffer || noBufferGap) {\n return;\n }\n // Reset moved state when seeking to a point in or before a gap\n this.moved = false;\n }\n\n // Skip start gaps if we haven't played, but the last poll detected the start of a stall\n // The addition poll gives the browser a chance to jump the gap for us\n if (!this.moved && this.stalled !== null) {\n var _level$details;\n // There is no playable buffer (seeked, waiting for buffer)\n var isBuffered = bufferInfo.len > 0;\n if (!isBuffered && !nextStart) {\n return;\n }\n // Jump start gaps within jump threshold\n var startJump = Math.max(nextStart, bufferInfo.start || 0) - currentTime;\n\n // When joining a live stream with audio tracks, account for live playlist window sliding by allowing\n // a larger jump over start gaps caused by the audio-stream-controller buffering a start fragment\n // that begins over 1 target duration after the video start position.\n var level = this.hls.levels ? this.hls.levels[this.hls.currentLevel] : null;\n var isLive = level == null ? void 0 : (_level$details = level.details) == null ? void 0 : _level$details.live;\n var maxStartGapJump = isLive ? level.details.targetduration * 2 : MAX_START_GAP_JUMP;\n var partialOrGap = this.fragmentTracker.getPartialFragment(currentTime);\n if (startJump > 0 && (startJump <= maxStartGapJump || partialOrGap)) {\n if (!media.paused) {\n this._trySkipBufferHole(partialOrGap);\n }\n return;\n }\n }\n\n // Start tracking stall time\n var tnow = self.performance.now();\n if (stalled === null) {\n this.stalled = tnow;\n return;\n }\n var stalledDuration = tnow - stalled;\n if (!seeking && stalledDuration >= STALL_MINIMUM_DURATION_MS) {\n // Report stalling after trying to fix\n this._reportStall(bufferInfo);\n if (!this.media) {\n return;\n }\n }\n var bufferedWithHoles = BufferHelper.bufferInfo(media, currentTime, config.maxBufferHole);\n this._tryFixBufferStall(bufferedWithHoles, stalledDuration);\n }\n\n /**\n * Detects and attempts to fix known buffer stalling issues.\n * @param bufferInfo - The properties of the current buffer.\n * @param stalledDurationMs - The amount of time Hls.js has been stalling for.\n * @private\n */;\n _proto._tryFixBufferStall = function _tryFixBufferStall(bufferInfo, stalledDurationMs) {\n var config = this.config,\n fragmentTracker = this.fragmentTracker,\n media = this.media;\n if (media === null) {\n return;\n }\n var currentTime = media.currentTime;\n var partial = fragmentTracker.getPartialFragment(currentTime);\n if (partial) {\n // Try to skip over the buffer hole caused by a partial fragment\n // This method isn't limited by the size of the gap between buffered ranges\n var targetTime = this._trySkipBufferHole(partial);\n // we return here in this case, meaning\n // the branch below only executes when we haven't seeked to a new position\n if (targetTime || !this.media) {\n return;\n }\n }\n\n // if we haven't had to skip over a buffer hole of a partial fragment\n // we may just have to \"nudge\" the playlist as the browser decoding/rendering engine\n // needs to cross some sort of threshold covering all source-buffers content\n // to start playing properly.\n if ((bufferInfo.len > config.maxBufferHole || bufferInfo.nextStart && bufferInfo.nextStart - currentTime < config.maxBufferHole) && stalledDurationMs > config.highBufferWatchdogPeriod * 1000) {\n logger.warn('Trying to nudge playhead over buffer-hole');\n // Try to nudge currentTime over a buffer hole if we've been stalling for the configured amount of seconds\n // We only try to jump the hole if it's under the configured size\n // Reset stalled so to rearm watchdog timer\n this.stalled = null;\n this._tryNudgeBuffer();\n }\n }\n\n /**\n * Triggers a BUFFER_STALLED_ERROR event, but only once per stall period.\n * @param bufferLen - The playhead distance from the end of the current buffer segment.\n * @private\n */;\n _proto._reportStall = function _reportStall(bufferInfo) {\n var hls = this.hls,\n media = this.media,\n stallReported = this.stallReported;\n if (!stallReported && media) {\n // Report stalled error once\n this.stallReported = true;\n var error = new Error(\"Playback stalling at @\" + media.currentTime + \" due to low buffer (\" + JSON.stringify(bufferInfo) + \")\");\n logger.warn(error.message);\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_STALLED_ERROR,\n fatal: false,\n error: error,\n buffer: bufferInfo.len\n });\n }\n }\n\n /**\n * Attempts to fix buffer stalls by jumping over known gaps caused by partial fragments\n * @param partial - The partial fragment found at the current time (where playback is stalling).\n * @private\n */;\n _proto._trySkipBufferHole = function _trySkipBufferHole(partial) {\n var config = this.config,\n hls = this.hls,\n media = this.media;\n if (media === null) {\n return 0;\n }\n\n // Check if currentTime is between unbuffered regions of partial fragments\n var currentTime = media.currentTime;\n var bufferInfo = BufferHelper.bufferInfo(media, currentTime, 0);\n var startTime = currentTime < bufferInfo.start ? bufferInfo.start : bufferInfo.nextStart;\n if (startTime) {\n var bufferStarved = bufferInfo.len <= config.maxBufferHole;\n var waiting = bufferInfo.len > 0 && bufferInfo.len < 1 && media.readyState < 3;\n var gapLength = startTime - currentTime;\n if (gapLength > 0 && (bufferStarved || waiting)) {\n // Only allow large gaps to be skipped if it is a start gap, or all fragments in skip range are partial\n if (gapLength > config.maxBufferHole) {\n var fragmentTracker = this.fragmentTracker;\n var startGap = false;\n if (currentTime === 0) {\n var startFrag = fragmentTracker.getAppendedFrag(0, PlaylistLevelType.MAIN);\n if (startFrag && startTime < startFrag.end) {\n startGap = true;\n }\n }\n if (!startGap) {\n var startProvisioned = partial || fragmentTracker.getAppendedFrag(currentTime, PlaylistLevelType.MAIN);\n if (startProvisioned) {\n var moreToLoad = false;\n var pos = startProvisioned.end;\n while (pos < startTime) {\n var provisioned = fragmentTracker.getPartialFragment(pos);\n if (provisioned) {\n pos += provisioned.duration;\n } else {\n moreToLoad = true;\n break;\n }\n }\n if (moreToLoad) {\n return 0;\n }\n }\n }\n }\n var targetTime = Math.max(startTime + SKIP_BUFFER_RANGE_START, currentTime + SKIP_BUFFER_HOLE_STEP_SECONDS);\n logger.warn(\"skipping hole, adjusting currentTime from \" + currentTime + \" to \" + targetTime);\n this.moved = true;\n this.stalled = null;\n media.currentTime = targetTime;\n if (partial && !partial.gap) {\n var error = new Error(\"fragment loaded with buffer holes, seeking from \" + currentTime + \" to \" + targetTime);\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_SEEK_OVER_HOLE,\n fatal: false,\n error: error,\n reason: error.message,\n frag: partial\n });\n }\n return targetTime;\n }\n }\n return 0;\n }\n\n /**\n * Attempts to fix buffer stalls by advancing the mediaElement's current time by a small amount.\n * @private\n */;\n _proto._tryNudgeBuffer = function _tryNudgeBuffer() {\n var config = this.config,\n hls = this.hls,\n media = this.media,\n nudgeRetry = this.nudgeRetry;\n if (media === null) {\n return;\n }\n var currentTime = media.currentTime;\n this.nudgeRetry++;\n if (nudgeRetry < config.nudgeMaxRetry) {\n var targetTime = currentTime + (nudgeRetry + 1) * config.nudgeOffset;\n // playback stalled in buffered area ... let's nudge currentTime to try to overcome this\n var error = new Error(\"Nudging 'currentTime' from \" + currentTime + \" to \" + targetTime);\n logger.warn(error.message);\n media.currentTime = targetTime;\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_NUDGE_ON_STALL,\n error: error,\n fatal: false\n });\n } else {\n var _error = new Error(\"Playhead still not moving while enough data buffered @\" + currentTime + \" after \" + config.nudgeMaxRetry + \" nudges\");\n logger.error(_error.message);\n hls.trigger(Events.ERROR, {\n type: ErrorTypes.MEDIA_ERROR,\n details: ErrorDetails.BUFFER_STALLED_ERROR,\n error: _error,\n fatal: true\n });\n }\n };\n return GapController;\n }();\n\n var TICK_INTERVAL = 100; // how often to tick in ms\n var StreamController = /*#__PURE__*/function (_BaseStreamController) {\n _inheritsLoose(StreamController, _BaseStreamController);\n function StreamController(hls, fragmentTracker, keyLoader) {\n var _this;\n _this = _BaseStreamController.call(this, hls, fragmentTracker, keyLoader, '[stream-controller]', PlaylistLevelType.MAIN) || this;\n _this.audioCodecSwap = false;\n _this.gapController = null;\n _this.level = -1;\n _this._forceStartLoad = false;\n _this.altAudio = false;\n _this.audioOnly = false;\n _this.fragPlaying = null;\n _this.onvplaying = null;\n _this.onvseeked = null;\n _this.fragLastKbps = 0;\n _this.couldBacktrack = false;\n _this.backtrackFragment = null;\n _this.audioCodecSwitch = false;\n _this.videoBuffer = null;\n _this._registerListeners();\n return _this;\n }\n var _proto = StreamController.prototype;\n _proto._registerListeners = function _registerListeners() {\n var hls = this.hls;\n hls.on(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.on(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.on(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.on(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.on(Events.LEVEL_LOADING, this.onLevelLoading, this);\n hls.on(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.on(Events.FRAG_LOAD_EMERGENCY_ABORTED, this.onFragLoadEmergencyAborted, this);\n hls.on(Events.ERROR, this.onError, this);\n hls.on(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);\n hls.on(Events.AUDIO_TRACK_SWITCHED, this.onAudioTrackSwitched, this);\n hls.on(Events.BUFFER_CREATED, this.onBufferCreated, this);\n hls.on(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);\n hls.on(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.on(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto._unregisterListeners = function _unregisterListeners() {\n var hls = this.hls;\n hls.off(Events.MEDIA_ATTACHED, this.onMediaAttached, this);\n hls.off(Events.MEDIA_DETACHING, this.onMediaDetaching, this);\n hls.off(Events.MANIFEST_LOADING, this.onManifestLoading, this);\n hls.off(Events.MANIFEST_PARSED, this.onManifestParsed, this);\n hls.off(Events.LEVEL_LOADED, this.onLevelLoaded, this);\n hls.off(Events.FRAG_LOAD_EMERGENCY_ABORTED, this.onFragLoadEmergencyAborted, this);\n hls.off(Events.ERROR, this.onError, this);\n hls.off(Events.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this);\n hls.off(Events.AUDIO_TRACK_SWITCHED, this.onAudioTrackSwitched, this);\n hls.off(Events.BUFFER_CREATED, this.onBufferCreated, this);\n hls.off(Events.BUFFER_FLUSHED, this.onBufferFlushed, this);\n hls.off(Events.LEVELS_UPDATED, this.onLevelsUpdated, this);\n hls.off(Events.FRAG_BUFFERED, this.onFragBuffered, this);\n };\n _proto.onHandlerDestroying = function onHandlerDestroying() {\n this._unregisterListeners();\n _BaseStreamController.prototype.onHandlerDestroying.call(this);\n };\n _proto.startLoad = function startLoad(startPosition) {\n if (this.levels) {\n var lastCurrentTime = this.lastCurrentTime,\n hls = this.hls;\n this.stopLoad();\n this.setInterval(TICK_INTERVAL);\n this.level = -1;\n if (!this.startFragRequested) {\n // determine load level\n var startLevel = hls.startLevel;\n if (startLevel === -1) {\n if (hls.config.testBandwidth && this.levels.length > 1) {\n // -1 : guess start Level by doing a bitrate test by loading first fragment of lowest quality level\n startLevel = 0;\n this.bitrateTest = true;\n } else {\n startLevel = hls.firstAutoLevel;\n }\n }\n // set new level to playlist loader : this will trigger start level load\n // hls.nextLoadLevel remains until it is set to a new value or until a new frag is successfully loaded\n hls.nextLoadLevel = startLevel;\n this.level = hls.loadLevel;\n this.loadedmetadata = false;\n }\n // if startPosition undefined but lastCurrentTime set, set startPosition to last currentTime\n if (lastCurrentTime > 0 && startPosition === -1) {\n this.log(\"Override startPosition with lastCurrentTime @\" + lastCurrentTime.toFixed(3));\n startPosition = lastCurrentTime;\n }\n this.state = State.IDLE;\n this.nextLoadPosition = this.startPosition = this.lastCurrentTime = startPosition;\n this.tick();\n } else {\n this._forceStartLoad = true;\n this.state = State.STOPPED;\n }\n };\n _proto.stopLoad = function stopLoad() {\n this._forceStartLoad = false;\n _BaseStreamController.prototype.stopLoad.call(this);\n };\n _proto.doTick = function doTick() {\n switch (this.state) {\n case State.WAITING_LEVEL:\n {\n var levels = this.levels,\n level = this.level;\n var currentLevel = levels == null ? void 0 : levels[level];\n var details = currentLevel == null ? void 0 : currentLevel.details;\n if (details && (!details.live || this.levelLastLoaded === currentLevel)) {\n if (this.waitForCdnTuneIn(details)) {\n break;\n }\n this.state = State.IDLE;\n break;\n } else if (this.hls.nextLoadLevel !== this.level) {\n this.state = State.IDLE;\n break;\n }\n break;\n }\n case State.FRAG_LOADING_WAITING_RETRY:\n {\n var _this$media;\n var now = self.performance.now();\n var retryDate = this.retryDate;\n // if current time is gt than retryDate, or if media seeking let's switch to IDLE state to retry loading\n if (!retryDate || now >= retryDate || (_this$media = this.media) != null && _this$media.seeking) {\n var _levels = this.levels,\n _level = this.level;\n var _currentLevel = _levels == null ? void 0 : _levels[_level];\n this.resetStartWhenNotLoaded(_currentLevel || null);\n this.state = State.IDLE;\n }\n }\n break;\n }\n if (this.state === State.IDLE) {\n this.doTickIdle();\n }\n this.onTickEnd();\n };\n _proto.onTickEnd = function onTickEnd() {\n _BaseStreamController.prototype.onTickEnd.call(this);\n this.checkBuffer();\n this.checkFragmentChanged();\n };\n _proto.doTickIdle = function doTickIdle() {\n var hls = this.hls,\n levelLastLoaded = this.levelLastLoaded,\n levels = this.levels,\n media = this.media;\n var config = hls.config,\n level = hls.nextLoadLevel;\n\n // if start level not parsed yet OR\n // if video not attached AND start fragment already requested OR start frag prefetch not enabled\n // exit loop, as we either need more info (level not parsed) or we need media to be attached to load new fragment\n if (levelLastLoaded === null || !media && (this.startFragRequested || !config.startFragPrefetch)) {\n return;\n }\n\n // If the \"main\" level is audio-only but we are loading an alternate track in the same group, do not load anything\n if (this.altAudio && this.audioOnly) {\n return;\n }\n if (!(levels != null && levels[level])) {\n return;\n }\n var levelInfo = levels[level];\n\n // if buffer length is less than maxBufLen try to load a new fragment\n\n var bufferInfo = this.getMainFwdBufferInfo();\n if (bufferInfo === null) {\n return;\n }\n var lastDetails = this.getLevelDetails();\n if (lastDetails && this._streamEnded(bufferInfo, lastDetails)) {\n var data = {};\n if (this.altAudio) {\n data.type = 'video';\n }\n this.hls.trigger(Events.BUFFER_EOS, data);\n this.state = State.ENDED;\n return;\n }\n\n // set next load level : this will trigger a playlist load if needed\n if (hls.loadLevel !== level && hls.manualLevel === -1) {\n this.log(\"Adapting to level \" + level + \" from level \" + this.level);\n }\n this.level = hls.nextLoadLevel = level;\n var levelDetails = levelInfo.details;\n // if level info not retrieved yet, switch state and wait for level retrieval\n // if live playlist, ensure that new playlist has been refreshed to avoid loading/try to load\n // a useless and outdated fragment (that might even introduce load error if it is already out of the live playlist)\n if (!levelDetails || this.state === State.WAITING_LEVEL || levelDetails.live && this.levelLastLoaded !== levelInfo) {\n this.level = level;\n this.state = State.WAITING_LEVEL;\n return;\n }\n var bufferLen = bufferInfo.len;\n\n // compute max Buffer Length that we could get from this load level, based on level bitrate. don't buffer more than 60 MB and more than 30s\n var maxBufLen = this.getMaxBufferLength(levelInfo.maxBitrate);\n\n // Stay idle if we are still with buffer margins\n if (bufferLen >= maxBufLen) {\n return;\n }\n if (this.backtrackFragment && this.backtrackFragment.start > bufferInfo.end) {\n this.backtrackFragment = null;\n }\n var targetBufferTime = this.backtrackFragment ? this.backtrackFragment.start : bufferInfo.end;\n var frag = this.getNextFragment(targetBufferTime, levelDetails);\n // Avoid backtracking by loading an earlier segment in streams with segments that do not start with a key frame (flagged by `couldBacktrack`)\n if (this.couldBacktrack && !this.fragPrevious && frag && frag.sn !== 'initSegment' && this.fragmentTracker.getState(frag) !== FragmentState.OK) {\n var _this$backtrackFragme;\n var backtrackSn = ((_this$backtrackFragme = this.backtrackFragment) != null ? _this$backtrackFragme : frag).sn;\n var fragIdx = backtrackSn - levelDetails.startSN;\n var backtrackFrag = levelDetails.fragments[fragIdx - 1];\n if (backtrackFrag && frag.cc === backtrackFrag.cc) {\n frag = backtrackFrag;\n this.fragmentTracker.removeFragment(backtrackFrag);\n }\n } else if (this.backtrackFragment && bufferInfo.len) {\n this.backtrackFragment = null;\n }\n // Avoid loop loading by using nextLoadPosition set for backtracking and skipping consecutive GAP tags\n if (frag && this.isLoopLoading(frag, targetBufferTime)) {\n var gapStart = frag.gap;\n if (!gapStart) {\n // Cleanup the fragment tracker before trying to find the next unbuffered fragment\n var type = this.audioOnly && !this.altAudio ? ElementaryStreamTypes.AUDIO : ElementaryStreamTypes.VIDEO;\n var mediaBuffer = (type === ElementaryStreamTypes.VIDEO ? this.videoBuffer : this.mediaBuffer) || this.media;\n if (mediaBuffer) {\n this.afterBufferFlushed(mediaBuffer, type, PlaylistLevelType.MAIN);\n }\n }\n frag = this.getNextFragmentLoopLoading(frag, levelDetails, bufferInfo, PlaylistLevelType.MAIN, maxBufLen);\n }\n if (!frag) {\n return;\n }\n if (frag.initSegment && !frag.initSegment.data && !this.bitrateTest) {\n frag = frag.initSegment;\n }\n this.loadFragment(frag, levelInfo, targetBufferTime);\n };\n _proto.loadFragment = function loadFragment(frag, level, targetBufferTime) {\n // Check if fragment is not loaded\n var fragState = this.fragmentTracker.getState(frag);\n this.fragCurrent = frag;\n if (fragState === FragmentState.NOT_LOADED || fragState === FragmentState.PARTIAL) {\n if (frag.sn === 'initSegment') {\n this._loadInitSegment(frag, level);\n } else if (this.bitrateTest) {\n this.log(\"Fragment \" + frag.sn + \" of level \" + frag.level + \" is being downloaded to test bitrate and will not be buffered\");\n this._loadBitrateTestFrag(frag, level);\n } else {\n this.startFragRequested = true;\n _BaseStreamController.prototype.loadFragment.call(this, frag, level, targetBufferTime);\n }\n } else {\n this.clearTrackerIfNeeded(frag);\n }\n };\n _proto.getBufferedFrag = function getBufferedFrag(position) {\n return this.fragmentTracker.getBufferedFrag(position, PlaylistLevelType.MAIN);\n };\n _proto.followingBufferedFrag = function followingBufferedFrag(frag) {\n if (frag) {\n // try to get range of next fragment (500ms after this range)\n return this.getBufferedFrag(frag.end + 0.5);\n }\n return null;\n }\n\n /*\n on immediate level switch :\n - pause playback if playing\n - cancel any pending load request\n - and trigger a buffer flush\n */;\n _proto.immediateLevelSwitch = function immediateLevelSwitch() {\n this.abortCurrentFrag();\n this.flushMainBuffer(0, Number.POSITIVE_INFINITY);\n }\n\n /**\n * try to switch ASAP without breaking video playback:\n * in order to ensure smooth but quick level switching,\n * we need to find the next flushable buffer range\n * we should take into account new segment fetch time\n */;\n _proto.nextLevelSwitch = function nextLevelSwitch() {\n var levels = this.levels,\n media = this.media;\n // ensure that media is defined and that metadata are available (to retrieve currentTime)\n if (media != null && media.readyState) {\n var fetchdelay;\n var fragPlayingCurrent = this.getAppendedFrag(media.currentTime);\n if (fragPlayingCurrent && fragPlayingCurrent.start > 1) {\n // flush buffer preceding current fragment (flush until current fragment start offset)\n // minus 1s to avoid video freezing, that could happen if we flush keyframe of current video ...\n this.flushMainBuffer(0, fragPlayingCurrent.start - 1);\n }\n var levelDetails = this.getLevelDetails();\n if (levelDetails != null && levelDetails.live) {\n var bufferInfo = this.getMainFwdBufferInfo();\n // Do not flush in live stream with low buffer\n if (!bufferInfo || bufferInfo.len < levelDetails.targetduration * 2) {\n return;\n }\n }\n if (!media.paused && levels) {\n // add a safety delay of 1s\n var nextLevelId = this.hls.nextLoadLevel;\n var nextLevel = levels[nextLevelId];\n var fragLastKbps = this.fragLastKbps;\n if (fragLastKbps && this.fragCurrent) {\n fetchdelay = this.fragCurrent.duration * nextLevel.maxBitrate / (1000 * fragLastKbps) + 1;\n } else {\n fetchdelay = 0;\n }\n } else {\n fetchdelay = 0;\n }\n // this.log('fetchdelay:'+fetchdelay);\n // find buffer range that will be reached once new fragment will be fetched\n var bufferedFrag = this.getBufferedFrag(media.currentTime + fetchdelay);\n if (bufferedFrag) {\n // we can flush buffer range following this one without stalling playback\n var nextBufferedFrag = this.followingBufferedFrag(bufferedFrag);\n if (nextBufferedFrag) {\n // if we are here, we can also cancel any loading/demuxing in progress, as they are useless\n this.abortCurrentFrag();\n // start flush position is in next buffered frag. Leave some padding for non-independent segments and smoother playback.\n var maxStart = nextBufferedFrag.maxStartPTS ? nextBufferedFrag.maxStartPTS : nextBufferedFrag.start;\n var fragDuration = nextBufferedFrag.duration;\n var startPts = Math.max(bufferedFrag.end, maxStart + Math.min(Math.max(fragDuration - this.config.maxFragLookUpTolerance, fragDuration * (this.couldBacktrack ? 0.5 : 0.125)), fragDuration * (this.couldBacktrack ? 0.75 : 0.25)));\n this.flushMainBuffer(startPts, Number.POSITIVE_INFINITY);\n }\n }\n }\n };\n _proto.abortCurrentFrag = function abortCurrentFrag() {\n var fragCurrent = this.fragCurrent;\n this.fragCurrent = null;\n this.backtrackFragment = null;\n if (fragCurrent) {\n fragCurrent.abortRequests();\n this.fragmentTracker.removeFragment(fragCurrent);\n }\n switch (this.state) {\n case State.KEY_LOADING:\n case State.FRAG_LOADING:\n case State.FRAG_LOADING_WAITING_RETRY:\n case State.PARSING:\n case State.PARSED:\n this.state = State.IDLE;\n break;\n }\n this.nextLoadPosition = this.getLoadPosition();\n };\n _proto.flushMainBuffer = function flushMainBuffer(startOffset, endOffset) {\n _BaseStreamController.prototype.flushMainBuffer.call(this, startOffset, endOffset, this.altAudio ? 'video' : null);\n };\n _proto.onMediaAttached = function onMediaAttached(event, data) {\n _BaseStreamController.prototype.onMediaAttached.call(this, event, data);\n var media = data.media;\n this.onvplaying = this.onMediaPlaying.bind(this);\n this.onvseeked = this.onMediaSeeked.bind(this);\n media.addEventListener('playing', this.onvplaying);\n media.addEventListener('seeked', this.onvseeked);\n this.gapController = new GapController(this.config, media, this.fragmentTracker, this.hls);\n };\n _proto.onMediaDetaching = function onMediaDetaching() {\n var media = this.media;\n if (media && this.onvplaying && this.onvseeked) {\n media.removeEventListener('playing', this.onvplaying);\n media.removeEventListener('seeked', this.onvseeked);\n this.onvplaying = this.onvseeked = null;\n this.videoBuffer = null;\n }\n this.fragPlaying = null;\n if (this.gapController) {\n this.gapController.destroy();\n this.gapController = null;\n }\n _BaseStreamController.prototype.onMediaDetaching.call(this);\n };\n _proto.onMediaPlaying = function onMediaPlaying() {\n // tick to speed up FRAG_CHANGED triggering\n this.tick();\n };\n _proto.onMediaSeeked = function onMediaSeeked() {\n var media = this.media;\n var currentTime = media ? media.currentTime : null;\n if (isFiniteNumber(currentTime)) {\n this.log(\"Media seeked to \" + currentTime.toFixed(3));\n }\n\n // If seeked was issued before buffer was appended do not tick immediately\n var bufferInfo = this.getMainFwdBufferInfo();\n if (bufferInfo === null || bufferInfo.len === 0) {\n this.warn(\"Main forward buffer length on \\\"seeked\\\" event \" + (bufferInfo ? bufferInfo.len : 'empty') + \")\");\n return;\n }\n\n // tick to speed up FRAG_CHANGED triggering\n this.tick();\n };\n _proto.onManifestLoading = function onManifestLoading() {\n // reset buffer on manifest loading\n this.log('Trigger BUFFER_RESET');\n this.hls.trigger(Events.BUFFER_RESET, undefined);\n this.fragmentTracker.removeAllFragments();\n this.couldBacktrack = false;\n this.startPosition = this.lastCurrentTime = this.fragLastKbps = 0;\n this.levels = this.fragPlaying = this.backtrackFragment = this.levelLastLoaded = null;\n this.altAudio = this.audioOnly = this.startFragRequested = false;\n };\n _proto.onManifestParsed = function onManifestParsed(event, data) {\n // detect if we have different kind of audio codecs used amongst playlists\n var aac = false;\n var heaac = false;\n data.levels.forEach(function (level) {\n var codec = level.audioCodec;\n if (codec) {\n aac = aac || codec.indexOf('mp4a.40.2') !== -1;\n heaac = heaac || codec.indexOf('mp4a.40.5') !== -1;\n }\n });\n this.audioCodecSwitch = aac && heaac && !changeTypeSupported();\n if (this.audioCodecSwitch) {\n this.log('Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC');\n }\n this.levels = data.levels;\n this.startFragRequested = false;\n };\n _proto.onLevelLoading = function onLevelLoading(event, data) {\n var levels = this.levels;\n if (!levels || this.state !== State.IDLE) {\n return;\n }\n var level = levels[data.level];\n if (!level.details || level.details.live && this.levelLastLoaded !== level || this.waitForCdnTuneIn(level.details)) {\n this.state = State.WAITING_LEVEL;\n }\n };\n _proto.onLevelLoaded = function onLevelLoaded(event, data) {\n var _curLevel$details;\n var levels = this.levels;\n var newLevelId = data.level;\n var newDetails = data.details;\n var duration = newDetails.totalduration;\n if (!levels) {\n this.warn(\"Levels were reset while loading level \" + newLevelId);\n return;\n }\n this.log(\"Level \" + newLevelId + \" loaded [\" + newDetails.startSN + \",\" + newDetails.endSN + \"]\" + (newDetails.lastPartSn ? \"[part-\" + newDetails.lastPartSn + \"-\" + newDetails.lastPartIndex + \"]\" : '') + \", cc [\" + newDetails.startCC + \", \" + newDetails.endCC + \"] duration:\" + duration);\n var curLevel = levels[newLevelId];\n var fragCurrent = this.fragCurrent;\n if (fragCurrent && (this.state === State.FRAG_LOADING || this.state === State.FRAG_LOADING_WAITING_RETRY)) {\n if (fragCurrent.level !== data.level && fragCurrent.loader) {\n this.abortCurrentFrag();\n }\n }\n var sliding = 0;\n if (newDetails.live || (_curLevel$details = curLevel.details) != null && _curLevel$details.live) {\n var _this$levelLastLoaded;\n this.checkLiveUpdate(newDetails);\n if (newDetails.deltaUpdateFailed) {\n return;\n }\n sliding = this.alignPlaylists(newDetails, curLevel.details, (_this$levelLastLoaded = this.levelLastLoaded) == null ? void 0 : _this$levelLastLoaded.details);\n }\n // override level info\n curLevel.details = newDetails;\n this.levelLastLoaded = curLevel;\n this.hls.trigger(Events.LEVEL_UPDATED, {\n details: newDetails,\n level: newLevelId\n });\n\n // only switch back to IDLE state if we were waiting for level to start downloading a new fragment\n if (this.state === State.WAITING_LEVEL) {\n if (this.waitForCdnTuneIn(newDetails)) {\n // Wait for Low-Latency CDN Tune-in\n return;\n }\n this.state = State.IDLE;\n }\n if (!this.startFragRequested) {\n this.setStartPosition(newDetails, sliding);\n } else if (newDetails.live) {\n this.synchronizeToLiveEdge(newDetails);\n }\n\n // trigger handler right now\n this.tick();\n };\n _proto._handleFragmentLoadProgress = function _handleFragmentLoadProgress(data) {\n var _frag$initSegment;\n var frag = data.frag,\n part = data.part,\n payload = data.payload;\n var levels = this.levels;\n if (!levels) {\n this.warn(\"Levels were reset while fragment load was in progress. Fragment \" + frag.sn + \" of level \" + frag.level + \" will not be buffered\");\n return;\n }\n var currentLevel = levels[frag.level];\n var details = currentLevel.details;\n if (!details) {\n this.warn(\"Dropping fragment \" + frag.sn + \" of level \" + frag.level + \" after level details were reset\");\n this.fragmentTracker.removeFragment(frag);\n return;\n }\n var videoCodec = currentLevel.videoCodec;\n\n // time Offset is accurate if level PTS is known, or if playlist is not sliding (not live)\n var accurateTimeOffset = details.PTSKnown || !details.live;\n var initSegmentData = (_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.data;\n var audioCodec = this._getAudioCodec(currentLevel);\n\n // transmux the MPEG-TS data to ISO-BMFF segments\n // this.log(`Transmuxing ${frag.sn} of [${details.startSN} ,${details.endSN}],level ${frag.level}, cc ${frag.cc}`);\n var transmuxer = this.transmuxer = this.transmuxer || new TransmuxerInterface(this.hls, PlaylistLevelType.MAIN, this._handleTransmuxComplete.bind(this), this._handleTransmuxerFlush.bind(this));\n var partIndex = part ? part.index : -1;\n var partial = partIndex !== -1;\n var chunkMeta = new ChunkMetadata(frag.level, frag.sn, frag.stats.chunkCount, payload.byteLength, partIndex, partial);\n var initPTS = this.initPTS[frag.cc];\n transmuxer.push(payload, initSegmentData, audioCodec, videoCodec, frag, part, details.totalduration, accurateTimeOffset, chunkMeta, initPTS);\n };\n _proto.onAudioTrackSwitching = function onAudioTrackSwitching(event, data) {\n // if any URL found on new audio track, it is an alternate audio track\n var fromAltAudio = this.altAudio;\n var altAudio = !!data.url;\n // if we switch on main audio, ensure that main fragment scheduling is synced with media.buffered\n // don't do anything if we switch to alt audio: audio stream controller is handling it.\n // we will just have to change buffer scheduling on audioTrackSwitched\n if (!altAudio) {\n if (this.mediaBuffer !== this.media) {\n this.log('Switching on main audio, use media.buffered to schedule main fragment loading');\n this.mediaBuffer = this.media;\n var fragCurrent = this.fragCurrent;\n // we need to refill audio buffer from main: cancel any frag loading to speed up audio switch\n if (fragCurrent) {\n this.log('Switching to main audio track, cancel main fragment load');\n fragCurrent.abortRequests();\n this.fragmentTracker.removeFragment(fragCurrent);\n }\n // destroy transmuxer to force init segment generation (following audio switch)\n this.resetTransmuxer();\n // switch to IDLE state to load new fragment\n this.resetLoadingState();\n } else if (this.audioOnly) {\n // Reset audio transmuxer so when switching back to main audio we're not still appending where we left off\n this.resetTransmuxer();\n }\n var hls = this.hls;\n // If switching from alt to main audio, flush all audio and trigger track switched\n if (fromAltAudio) {\n hls.trigger(Events.BUFFER_FLUSHING, {\n startOffset: 0,\n endOffset: Number.POSITIVE_INFINITY,\n type: null\n });\n this.fragmentTracker.removeAllFragments();\n }\n hls.trigger(Events.AUDIO_TRACK_SWITCHED, data);\n }\n };\n _proto.onAudioTrackSwitched = function onAudioTrackSwitched(event, data) {\n var trackId = data.id;\n var altAudio = !!this.hls.audioTracks[trackId].url;\n if (altAudio) {\n var videoBuffer = this.videoBuffer;\n // if we switched on alternate audio, ensure that main fragment scheduling is synced with video sourcebuffer buffered\n if (videoBuffer && this.mediaBuffer !== videoBuffer) {\n this.log('Switching on alternate audio, use video.buffered to schedule main fragment loading');\n this.mediaBuffer = videoBuffer;\n }\n }\n this.altAudio = altAudio;\n this.tick();\n };\n _proto.onBufferCreated = function onBufferCreated(event, data) {\n var tracks = data.tracks;\n var mediaTrack;\n var name;\n var alternate = false;\n for (var type in tracks) {\n var track = tracks[type];\n if (track.id === 'main') {\n name = type;\n mediaTrack = track;\n // keep video source buffer reference\n if (type === 'video') {\n var videoTrack = tracks[type];\n if (videoTrack) {\n this.videoBuffer = videoTrack.buffer;\n }\n }\n } else {\n alternate = true;\n }\n }\n if (alternate && mediaTrack) {\n this.log(\"Alternate track found, use \" + name + \".buffered to schedule main fragment loading\");\n this.mediaBuffer = mediaTrack.buffer;\n } else {\n this.mediaBuffer = this.media;\n }\n };\n _proto.onFragBuffered = function onFragBuffered(event, data) {\n var frag = data.frag,\n part = data.part;\n if (frag && frag.type !== PlaylistLevelType.MAIN) {\n return;\n }\n if (this.fragContextChanged(frag)) {\n // If a level switch was requested while a fragment was buffering, it will emit the FRAG_BUFFERED event upon completion\n // Avoid setting state back to IDLE, since that will interfere with a level switch\n this.warn(\"Fragment \" + frag.sn + (part ? ' p: ' + part.index : '') + \" of level \" + frag.level + \" finished buffering, but was aborted. state: \" + this.state);\n if (this.state === State.PARSED) {\n this.state = State.IDLE;\n }\n return;\n }\n var stats = part ? part.stats : frag.stats;\n this.fragLastKbps = Math.round(8 * stats.total / (stats.buffering.end - stats.loading.first));\n if (frag.sn !== 'initSegment') {\n this.fragPrevious = frag;\n }\n this.fragBufferedComplete(frag, part);\n };\n _proto.onError = function onError(event, data) {\n var _data$context;\n if (data.fatal) {\n this.state = State.ERROR;\n return;\n }\n switch (data.details) {\n case ErrorDetails.FRAG_GAP:\n case ErrorDetails.FRAG_PARSING_ERROR:\n case ErrorDetails.FRAG_DECRYPT_ERROR:\n case ErrorDetails.FRAG_LOAD_ERROR:\n case ErrorDetails.FRAG_LOAD_TIMEOUT:\n case ErrorDetails.KEY_LOAD_ERROR:\n case ErrorDetails.KEY_LOAD_TIMEOUT:\n this.onFragmentOrKeyLoadError(PlaylistLevelType.MAIN, data);\n break;\n case ErrorDetails.LEVEL_LOAD_ERROR:\n case ErrorDetails.LEVEL_LOAD_TIMEOUT:\n case ErrorDetails.LEVEL_PARSING_ERROR:\n // in case of non fatal error while loading level, if level controller is not retrying to load level, switch back to IDLE\n if (!data.levelRetry && this.state === State.WAITING_LEVEL && ((_data$context = data.context) == null ? void 0 : _data$context.type) === PlaylistContextType.LEVEL) {\n this.state = State.IDLE;\n }\n break;\n case ErrorDetails.BUFFER_APPEND_ERROR:\n case ErrorDetails.BUFFER_FULL_ERROR:\n if (!data.parent || data.parent !== 'main') {\n return;\n }\n if (data.details === ErrorDetails.BUFFER_APPEND_ERROR) {\n this.resetLoadingState();\n return;\n }\n if (this.reduceLengthAndFlushBuffer(data)) {\n this.flushMainBuffer(0, Number.POSITIVE_INFINITY);\n }\n break;\n case ErrorDetails.INTERNAL_EXCEPTION:\n this.recoverWorkerError(data);\n break;\n }\n }\n\n // Checks the health of the buffer and attempts to resolve playback stalls.\n ;\n _proto.checkBuffer = function checkBuffer() {\n var media = this.media,\n gapController = this.gapController;\n if (!media || !gapController || !media.readyState) {\n // Exit early if we don't have media or if the media hasn't buffered anything yet (readyState 0)\n return;\n }\n if (this.loadedmetadata || !BufferHelper.getBuffered(media).length) {\n // Resolve gaps using the main buffer, whose ranges are the intersections of the A/V sourcebuffers\n var activeFrag = this.state !== State.IDLE ? this.fragCurrent : null;\n gapController.poll(this.lastCurrentTime, activeFrag);\n }\n this.lastCurrentTime = media.currentTime;\n };\n _proto.onFragLoadEmergencyAborted = function onFragLoadEmergencyAborted() {\n this.state = State.IDLE;\n // if loadedmetadata is not set, it means that we are emergency switch down on first frag\n // in that case, reset startFragRequested flag\n if (!this.loadedmetadata) {\n this.startFragRequested = false;\n this.nextLoadPosition = this.startPosition;\n }\n this.tickImmediate();\n };\n _proto.onBufferFlushed = function onBufferFlushed(event, _ref) {\n var type = _ref.type;\n if (type !== ElementaryStreamTypes.AUDIO || this.audioOnly && !this.altAudio) {\n var mediaBuffer = (type === ElementaryStreamTypes.VIDEO ? this.videoBuffer : this.mediaBuffer) || this.media;\n this.afterBufferFlushed(mediaBuffer, type, PlaylistLevelType.MAIN);\n this.tick();\n }\n };\n _proto.onLevelsUpdated = function onLevelsUpdated(event, data) {\n if (this.level > -1 && this.fragCurrent) {\n this.level = this.fragCurrent.level;\n }\n this.levels = data.levels;\n };\n _proto.swapAudioCodec = function swapAudioCodec() {\n this.audioCodecSwap = !this.audioCodecSwap;\n }\n\n /**\n * Seeks to the set startPosition if not equal to the mediaElement's current time.\n */;\n _proto.seekToStartPos = function seekToStartPos() {\n var media = this.media;\n if (!media) {\n return;\n }\n var currentTime = media.currentTime;\n var startPosition = this.startPosition;\n // only adjust currentTime if different from startPosition or if startPosition not buffered\n // at that stage, there should be only one buffered range, as we reach that code after first fragment has been buffered\n if (startPosition >= 0 && currentTime < startPosition) {\n if (media.seeking) {\n this.log(\"could not seek to \" + startPosition + \", already seeking at \" + currentTime);\n return;\n }\n var buffered = BufferHelper.getBuffered(media);\n var bufferStart = buffered.length ? buffered.start(0) : 0;\n var delta = bufferStart - startPosition;\n if (delta > 0 && (delta < this.config.maxBufferHole || delta < this.config.maxFragLookUpTolerance)) {\n this.log(\"adjusting start position by \" + delta + \" to match buffer start\");\n startPosition += delta;\n this.startPosition = startPosition;\n }\n this.log(\"seek to target start position \" + startPosition + \" from current time \" + currentTime);\n media.currentTime = startPosition;\n }\n };\n _proto._getAudioCodec = function _getAudioCodec(currentLevel) {\n var audioCodec = this.config.defaultAudioCodec || currentLevel.audioCodec;\n if (this.audioCodecSwap && audioCodec) {\n this.log('Swapping audio codec');\n if (audioCodec.indexOf('mp4a.40.5') !== -1) {\n audioCodec = 'mp4a.40.2';\n } else {\n audioCodec = 'mp4a.40.5';\n }\n }\n return audioCodec;\n };\n _proto._loadBitrateTestFrag = function _loadBitrateTestFrag(frag, level) {\n var _this2 = this;\n frag.bitrateTest = true;\n this._doFragLoad(frag, level).then(function (data) {\n var hls = _this2.hls;\n if (!data || _this2.fragContextChanged(frag)) {\n return;\n }\n level.fragmentError = 0;\n _this2.state = State.IDLE;\n _this2.startFragRequested = false;\n _this2.bitrateTest = false;\n var stats = frag.stats;\n // Bitrate tests fragments are neither parsed nor buffered\n stats.parsing.start = stats.parsing.end = stats.buffering.start = stats.buffering.end = self.performance.now();\n hls.trigger(Events.FRAG_LOADED, data);\n frag.bitrateTest = false;\n });\n };\n _proto._handleTransmuxComplete = function _handleTransmuxComplete(transmuxResult) {\n var _id3$samples;\n var id = 'main';\n var hls = this.hls;\n var remuxResult = transmuxResult.remuxResult,\n chunkMeta = transmuxResult.chunkMeta;\n var context = this.getCurrentContext(chunkMeta);\n if (!context) {\n this.resetWhenMissingContext(chunkMeta);\n return;\n }\n var frag = context.frag,\n part = context.part,\n level = context.level;\n var video = remuxResult.video,\n text = remuxResult.text,\n id3 = remuxResult.id3,\n initSegment = remuxResult.initSegment;\n var details = level.details;\n // The audio-stream-controller handles audio buffering if Hls.js is playing an alternate audio track\n var audio = this.altAudio ? undefined : remuxResult.audio;\n\n // Check if the current fragment has been aborted. We check this by first seeing if we're still playing the current level.\n // If we are, subsequently check if the currently loading fragment (fragCurrent) has changed.\n if (this.fragContextChanged(frag)) {\n this.fragmentTracker.removeFragment(frag);\n return;\n }\n this.state = State.PARSING;\n if (initSegment) {\n if (initSegment != null && initSegment.tracks) {\n var mapFragment = frag.initSegment || frag;\n this._bufferInitSegment(level, initSegment.tracks, mapFragment, chunkMeta);\n hls.trigger(Events.FRAG_PARSING_INIT_SEGMENT, {\n frag: mapFragment,\n id: id,\n tracks: initSegment.tracks\n });\n }\n\n // This would be nice if Number.isFinite acted as a typeguard, but it doesn't. See: https://github.com/Microsoft/TypeScript/issues/10038\n var initPTS = initSegment.initPTS;\n var timescale = initSegment.timescale;\n if (isFiniteNumber(initPTS)) {\n this.initPTS[frag.cc] = {\n baseTime: initPTS,\n timescale: timescale\n };\n hls.trigger(Events.INIT_PTS_FOUND, {\n frag: frag,\n id: id,\n initPTS: initPTS,\n timescale: timescale\n });\n }\n }\n\n // Avoid buffering if backtracking this fragment\n if (video && details && frag.sn !== 'initSegment') {\n var prevFrag = details.fragments[frag.sn - 1 - details.startSN];\n var isFirstFragment = frag.sn === details.startSN;\n var isFirstInDiscontinuity = !prevFrag || frag.cc > prevFrag.cc;\n if (remuxResult.independent !== false) {\n var startPTS = video.startPTS,\n endPTS = video.endPTS,\n startDTS = video.startDTS,\n endDTS = video.endDTS;\n if (part) {\n part.elementaryStreams[video.type] = {\n startPTS: startPTS,\n endPTS: endPTS,\n startDTS: startDTS,\n endDTS: endDTS\n };\n } else {\n if (video.firstKeyFrame && video.independent && chunkMeta.id === 1 && !isFirstInDiscontinuity) {\n this.couldBacktrack = true;\n }\n if (video.dropped && video.independent) {\n // Backtrack if dropped frames create a gap after currentTime\n\n var bufferInfo = this.getMainFwdBufferInfo();\n var targetBufferTime = (bufferInfo ? bufferInfo.end : this.getLoadPosition()) + this.config.maxBufferHole;\n var startTime = video.firstKeyFramePTS ? video.firstKeyFramePTS : startPTS;\n if (!isFirstFragment && targetBufferTime < startTime - this.config.maxBufferHole && !isFirstInDiscontinuity) {\n this.backtrack(frag);\n return;\n } else if (isFirstInDiscontinuity) {\n // Mark segment with a gap to avoid loop loading\n frag.gap = true;\n }\n // Set video stream start to fragment start so that truncated samples do not distort the timeline, and mark it partial\n frag.setElementaryStreamInfo(video.type, frag.start, endPTS, frag.start, endDTS, true);\n } else if (isFirstFragment && startPTS > MAX_START_GAP_JUMP) {\n // Mark segment with a gap to skip large start gap\n frag.gap = true;\n }\n }\n frag.setElementaryStreamInfo(video.type, startPTS, endPTS, startDTS, endDTS);\n if (this.backtrackFragment) {\n this.backtrackFragment = frag;\n }\n this.bufferFragmentData(video, frag, part, chunkMeta, isFirstFragment || isFirstInDiscontinuity);\n } else if (isFirstFragment || isFirstInDiscontinuity) {\n // Mark segment with a gap to avoid loop loading\n frag.gap = true;\n } else {\n this.backtrack(frag);\n return;\n }\n }\n if (audio) {\n var _startPTS = audio.startPTS,\n _endPTS = audio.endPTS,\n _startDTS = audio.startDTS,\n _endDTS = audio.endDTS;\n if (part) {\n part.elementaryStreams[ElementaryStreamTypes.AUDIO] = {\n startPTS: _startPTS,\n endPTS: _endPTS,\n startDTS: _startDTS,\n endDTS: _endDTS\n };\n }\n frag.setElementaryStreamInfo(ElementaryStreamTypes.AUDIO, _startPTS, _endPTS, _startDTS, _endDTS);\n this.bufferFragmentData(audio, frag, part, chunkMeta);\n }\n if (details && id3 != null && (_id3$samples = id3.samples) != null && _id3$samples.length) {\n var emittedID3 = {\n id: id,\n frag: frag,\n details: details,\n samples: id3.samples\n };\n hls.trigger(Events.FRAG_PARSING_METADATA, emittedID3);\n }\n if (details && text) {\n var emittedText = {\n id: id,\n frag: frag,\n details: details,\n samples: text.samples\n };\n hls.trigger(Events.FRAG_PARSING_USERDATA, emittedText);\n }\n };\n _proto._bufferInitSegment = function _bufferInitSegment(currentLevel, tracks, frag, chunkMeta) {\n var _this3 = this;\n if (this.state !== State.PARSING) {\n return;\n }\n this.audioOnly = !!tracks.audio && !tracks.video;\n\n // if audio track is expected to come from audio stream controller, discard any coming from main\n if (this.altAudio && !this.audioOnly) {\n delete tracks.audio;\n }\n // include levelCodec in audio and video tracks\n var audio = tracks.audio,\n video = tracks.video,\n audiovideo = tracks.audiovideo;\n if (audio) {\n var audioCodec = currentLevel.audioCodec;\n var ua = navigator.userAgent.toLowerCase();\n if (this.audioCodecSwitch) {\n if (audioCodec) {\n if (audioCodec.indexOf('mp4a.40.5') !== -1) {\n audioCodec = 'mp4a.40.2';\n } else {\n audioCodec = 'mp4a.40.5';\n }\n }\n // In the case that AAC and HE-AAC audio codecs are signalled in manifest,\n // force HE-AAC, as it seems that most browsers prefers it.\n // don't force HE-AAC if mono stream, or in Firefox\n if (audio.metadata.channelCount !== 1 && ua.indexOf('firefox') === -1) {\n audioCodec = 'mp4a.40.5';\n }\n }\n // HE-AAC is broken on Android, always signal audio codec as AAC even if variant manifest states otherwise\n if (audioCodec && audioCodec.indexOf('mp4a.40.5') !== -1 && ua.indexOf('android') !== -1 && audio.container !== 'audio/mpeg') {\n // Exclude mpeg audio\n audioCodec = 'mp4a.40.2';\n this.log(\"Android: force audio codec to \" + audioCodec);\n }\n if (currentLevel.audioCodec && currentLevel.audioCodec !== audioCodec) {\n this.log(\"Swapping manifest audio codec \\\"\" + currentLevel.audioCodec + \"\\\" for \\\"\" + audioCodec + \"\\\"\");\n }\n audio.levelCodec = audioCodec;\n audio.id = 'main';\n this.log(\"Init audio buffer, container:\" + audio.container + \", codecs[selected/level/parsed]=[\" + (audioCodec || '') + \"/\" + (currentLevel.audioCodec || '') + \"/\" + audio.codec + \"]\");\n }\n if (video) {\n video.levelCodec = currentLevel.videoCodec;\n video.id = 'main';\n this.log(\"Init video buffer, container:\" + video.container + \", codecs[level/parsed]=[\" + (currentLevel.videoCodec || '') + \"/\" + video.codec + \"]\");\n }\n if (audiovideo) {\n this.log(\"Init audiovideo buffer, container:\" + audiovideo.container + \", codecs[level/parsed]=[\" + currentLevel.codecs + \"/\" + audiovideo.codec + \"]\");\n }\n this.hls.trigger(Events.BUFFER_CODECS, tracks);\n // loop through tracks that are going to be provided to bufferController\n Object.keys(tracks).forEach(function (trackName) {\n var track = tracks[trackName];\n var initSegment = track.initSegment;\n if (initSegment != null && initSegment.byteLength) {\n _this3.hls.trigger(Events.BUFFER_APPENDING, {\n type: trackName,\n data: initSegment,\n frag: frag,\n part: null,\n chunkMeta: chunkMeta,\n parent: frag.type\n });\n }\n });\n // trigger handler right now\n this.tickImmediate();\n };\n _proto.getMainFwdBufferInfo = function getMainFwdBufferInfo() {\n return this.getFwdBufferInfo(this.mediaBuffer ? this.mediaBuffer : this.media, PlaylistLevelType.MAIN);\n };\n _proto.backtrack = function backtrack(frag) {\n this.couldBacktrack = true;\n // Causes findFragments to backtrack through fragments to find the keyframe\n this.backtrackFragment = frag;\n this.resetTransmuxer();\n this.flushBufferGap(frag);\n this.fragmentTracker.removeFragment(frag);\n this.fragPrevious = null;\n this.nextLoadPosition = frag.start;\n this.state = State.IDLE;\n };\n _proto.checkFragmentChanged = function checkFragmentChanged() {\n var video = this.media;\n var fragPlayingCurrent = null;\n if (video && video.readyState > 1 && video.seeking === false) {\n var currentTime = video.currentTime;\n /* if video element is in seeked state, currentTime can only increase.\n (assuming that playback rate is positive ...)\n As sometimes currentTime jumps back to zero after a\n media decode error, check this, to avoid seeking back to\n wrong position after a media decode error\n */\n\n if (BufferHelper.isBuffered(video, currentTime)) {\n fragPlayingCurrent = this.getAppendedFrag(currentTime);\n } else if (BufferHelper.isBuffered(video, currentTime + 0.1)) {\n /* ensure that FRAG_CHANGED event is triggered at startup,\n when first video frame is displayed and playback is paused.\n add a tolerance of 100ms, in case current position is not buffered,\n check if current pos+100ms is buffered and use that buffer range\n for FRAG_CHANGED event reporting */\n fragPlayingCurrent = this.getAppendedFrag(currentTime + 0.1);\n }\n if (fragPlayingCurrent) {\n this.backtrackFragment = null;\n var fragPlaying = this.fragPlaying;\n var fragCurrentLevel = fragPlayingCurrent.level;\n if (!fragPlaying || fragPlayingCurrent.sn !== fragPlaying.sn || fragPlaying.level !== fragCurrentLevel) {\n this.fragPlaying = fragPlayingCurrent;\n this.hls.trigger(Events.FRAG_CHANGED, {\n frag: fragPlayingCurrent\n });\n if (!fragPlaying || fragPlaying.level !== fragCurrentLevel) {\n this.hls.trigger(Events.LEVEL_SWITCHED, {\n level: fragCurrentLevel\n });\n }\n }\n }\n }\n };\n _createClass(StreamController, [{\n key: \"nextLevel\",\n get: function get() {\n var frag = this.nextBufferedFrag;\n if (frag) {\n return frag.level;\n }\n return -1;\n }\n }, {\n key: \"currentFrag\",\n get: function get() {\n var media = this.media;\n if (media) {\n return this.fragPlaying || this.getAppendedFrag(media.currentTime);\n }\n return null;\n }\n }, {\n key: \"currentProgramDateTime\",\n get: function get() {\n var media = this.media;\n if (media) {\n var currentTime = media.currentTime;\n var frag = this.currentFrag;\n if (frag && isFiniteNumber(currentTime) && isFiniteNumber(frag.programDateTime)) {\n var epocMs = frag.programDateTime + (currentTime - frag.start) * 1000;\n return new Date(epocMs);\n }\n }\n return null;\n }\n }, {\n key: \"currentLevel\",\n get: function get() {\n var frag = this.currentFrag;\n if (frag) {\n return frag.level;\n }\n return -1;\n }\n }, {\n key: \"nextBufferedFrag\",\n get: function get() {\n var frag = this.currentFrag;\n if (frag) {\n return this.followingBufferedFrag(frag);\n }\n return null;\n }\n }, {\n key: \"forceStartLoad\",\n get: function get() {\n return this._forceStartLoad;\n }\n }]);\n return StreamController;\n }(BaseStreamController);\n\n /**\n * The `Hls` class is the core of the HLS.js library used to instantiate player instances.\n * @public\n */\n var Hls = /*#__PURE__*/function () {\n /**\n * Check if the required MediaSource Extensions are available.\n */\n Hls.isMSESupported = function isMSESupported$1() {\n return isMSESupported();\n }\n\n /**\n * Check if MediaSource Extensions are available and isTypeSupported checks pass for any baseline codecs.\n */;\n Hls.isSupported = function isSupported$1() {\n return isSupported();\n }\n\n /**\n * Get the MediaSource global used for MSE playback (ManagedMediaSource, MediaSource, or WebKitMediaSource).\n */;\n Hls.getMediaSource = function getMediaSource$1() {\n return getMediaSource();\n };\n /**\n * Creates an instance of an HLS client that can attach to exactly one `HTMLMediaElement`.\n * @param userConfig - Configuration options applied over `Hls.DefaultConfig`\n */\n function Hls(userConfig) {\n if (userConfig === void 0) {\n userConfig = {};\n }\n /**\n * The runtime configuration used by the player. At instantiation this is combination of `hls.userConfig` merged over `Hls.DefaultConfig`.\n */\n this.config = void 0;\n /**\n * The configuration object provided on player instantiation.\n */\n this.userConfig = void 0;\n this.coreComponents = void 0;\n this.networkControllers = void 0;\n this.started = false;\n this._emitter = new EventEmitter();\n this._autoLevelCapping = -1;\n this._maxHdcpLevel = null;\n this.abrController = void 0;\n this.bufferController = void 0;\n this.capLevelController = void 0;\n this.latencyController = void 0;\n this.levelController = void 0;\n this.streamController = void 0;\n this.audioTrackController = void 0;\n this.subtitleTrackController = void 0;\n this.emeController = void 0;\n this.cmcdController = void 0;\n this._media = null;\n this.url = null;\n this.triggeringException = void 0;\n enableLogs(userConfig.debug || false, 'Hls instance');\n var config = this.config = mergeConfig(Hls.DefaultConfig, userConfig);\n this.userConfig = userConfig;\n if (config.progressive) {\n enableStreamingMode(config);\n }\n\n // core controllers and network loaders\n var ConfigAbrController = config.abrController,\n ConfigBufferController = config.bufferController,\n ConfigCapLevelController = config.capLevelController,\n ConfigErrorController = config.errorController,\n ConfigFpsController = config.fpsController;\n var errorController = new ConfigErrorController(this);\n var abrController = this.abrController = new ConfigAbrController(this);\n var bufferController = this.bufferController = new ConfigBufferController(this);\n var capLevelController = this.capLevelController = new ConfigCapLevelController(this);\n var fpsController = new ConfigFpsController(this);\n var playListLoader = new PlaylistLoader(this);\n var id3TrackController = new ID3TrackController(this);\n var ConfigContentSteeringController = config.contentSteeringController;\n // ConentSteeringController is defined before LevelController to receive Multivariant Playlist events first\n var contentSteering = ConfigContentSteeringController ? new ConfigContentSteeringController(this) : null;\n var levelController = this.levelController = new LevelController(this, contentSteering);\n // FragmentTracker must be defined before StreamController because the order of event handling is important\n var fragmentTracker = new FragmentTracker(this);\n var keyLoader = new KeyLoader(this.config);\n var streamController = this.streamController = new StreamController(this, fragmentTracker, keyLoader);\n\n // Cap level controller uses streamController to flush the buffer\n capLevelController.setStreamController(streamController);\n // fpsController uses streamController to switch when frames are being dropped\n fpsController.setStreamController(streamController);\n var networkControllers = [playListLoader, levelController, streamController];\n if (contentSteering) {\n networkControllers.splice(1, 0, contentSteering);\n }\n this.networkControllers = networkControllers;\n var coreComponents = [abrController, bufferController, capLevelController, fpsController, id3TrackController, fragmentTracker];\n this.audioTrackController = this.createController(config.audioTrackController, networkControllers);\n var AudioStreamControllerClass = config.audioStreamController;\n if (AudioStreamControllerClass) {\n networkControllers.push(new AudioStreamControllerClass(this, fragmentTracker, keyLoader));\n }\n // subtitleTrackController must be defined before subtitleStreamController because the order of event handling is important\n this.subtitleTrackController = this.createController(config.subtitleTrackController, networkControllers);\n var SubtitleStreamControllerClass = config.subtitleStreamController;\n if (SubtitleStreamControllerClass) {\n networkControllers.push(new SubtitleStreamControllerClass(this, fragmentTracker, keyLoader));\n }\n this.createController(config.timelineController, coreComponents);\n keyLoader.emeController = this.emeController = this.createController(config.emeController, coreComponents);\n this.cmcdController = this.createController(config.cmcdController, coreComponents);\n this.latencyController = this.createController(LatencyController, coreComponents);\n this.coreComponents = coreComponents;\n\n // Error controller handles errors before and after all other controllers\n // This listener will be invoked after all other controllers error listeners\n networkControllers.push(errorController);\n var onErrorOut = errorController.onErrorOut;\n if (typeof onErrorOut === 'function') {\n this.on(Events.ERROR, onErrorOut, errorController);\n }\n }\n var _proto = Hls.prototype;\n _proto.createController = function createController(ControllerClass, components) {\n if (ControllerClass) {\n var controllerInstance = new ControllerClass(this);\n if (components) {\n components.push(controllerInstance);\n }\n return controllerInstance;\n }\n return null;\n }\n\n // Delegate the EventEmitter through the public API of Hls.js\n ;\n _proto.on = function on(event, listener, context) {\n if (context === void 0) {\n context = this;\n }\n this._emitter.on(event, listener, context);\n };\n _proto.once = function once(event, listener, context) {\n if (context === void 0) {\n context = this;\n }\n this._emitter.once(event, listener, context);\n };\n _proto.removeAllListeners = function removeAllListeners(event) {\n this._emitter.removeAllListeners(event);\n };\n _proto.off = function off(event, listener, context, once) {\n if (context === void 0) {\n context = this;\n }\n this._emitter.off(event, listener, context, once);\n };\n _proto.listeners = function listeners(event) {\n return this._emitter.listeners(event);\n };\n _proto.emit = function emit(event, name, eventObject) {\n return this._emitter.emit(event, name, eventObject);\n };\n _proto.trigger = function trigger(event, eventObject) {\n if (this.config.debug) {\n return this.emit(event, event, eventObject);\n } else {\n try {\n return this.emit(event, event, eventObject);\n } catch (error) {\n logger.error('An internal error happened while handling event ' + event + '. Error message: \"' + error.message + '\". Here is a stacktrace:', error);\n // Prevent recursion in error event handlers that throw #5497\n if (!this.triggeringException) {\n this.triggeringException = true;\n var fatal = event === Events.ERROR;\n this.trigger(Events.ERROR, {\n type: ErrorTypes.OTHER_ERROR,\n details: ErrorDetails.INTERNAL_EXCEPTION,\n fatal: fatal,\n event: event,\n error: error\n });\n this.triggeringException = false;\n }\n }\n }\n return false;\n };\n _proto.listenerCount = function listenerCount(event) {\n return this._emitter.listenerCount(event);\n }\n\n /**\n * Dispose of the instance\n */;\n _proto.destroy = function destroy() {\n logger.log('destroy');\n this.trigger(Events.DESTROYING, undefined);\n this.detachMedia();\n this.removeAllListeners();\n this._autoLevelCapping = -1;\n this.url = null;\n this.networkControllers.forEach(function (component) {\n return component.destroy();\n });\n this.networkControllers.length = 0;\n this.coreComponents.forEach(function (component) {\n return component.destroy();\n });\n this.coreComponents.length = 0;\n // Remove any references that could be held in config options or callbacks\n var config = this.config;\n config.xhrSetup = config.fetchSetup = undefined;\n // @ts-ignore\n this.userConfig = null;\n }\n\n /**\n * Attaches Hls.js to a media element\n */;\n _proto.attachMedia = function attachMedia(media) {\n logger.log('attachMedia');\n this._media = media;\n this.trigger(Events.MEDIA_ATTACHING, {\n media: media\n });\n }\n\n /**\n * Detach Hls.js from the media\n */;\n _proto.detachMedia = function detachMedia() {\n logger.log('detachMedia');\n this.trigger(Events.MEDIA_DETACHING, undefined);\n this._media = null;\n }\n\n /**\n * Set the source URL. Can be relative or absolute.\n */;\n _proto.loadSource = function loadSource(url) {\n this.stopLoad();\n var media = this.media;\n var loadedSource = this.url;\n var loadingSource = this.url = urlToolkitExports.buildAbsoluteURL(self.location.href, url, {\n alwaysNormalize: true\n });\n this._autoLevelCapping = -1;\n this._maxHdcpLevel = null;\n logger.log(\"loadSource:\" + loadingSource);\n if (media && loadedSource && (loadedSource !== loadingSource || this.bufferController.hasSourceTypes())) {\n this.detachMedia();\n this.attachMedia(media);\n }\n // when attaching to a source URL, trigger a playlist load\n this.trigger(Events.MANIFEST_LOADING, {\n url: url\n });\n }\n\n /**\n * Start loading data from the stream source.\n * Depending on default config, client starts loading automatically when a source is set.\n *\n * @param startPosition - Set the start position to stream from.\n * Defaults to -1 (None: starts from earliest point)\n */;\n _proto.startLoad = function startLoad(startPosition) {\n if (startPosition === void 0) {\n startPosition = -1;\n }\n logger.log(\"startLoad(\" + startPosition + \")\");\n this.started = true;\n this.networkControllers.forEach(function (controller) {\n controller.startLoad(startPosition);\n });\n }\n\n /**\n * Stop loading of any stream data.\n */;\n _proto.stopLoad = function stopLoad() {\n logger.log('stopLoad');\n this.started = false;\n this.networkControllers.forEach(function (controller) {\n controller.stopLoad();\n });\n }\n\n /**\n * Resumes stream controller segment loading if previously started.\n */;\n _proto.resumeBuffering = function resumeBuffering() {\n if (this.started) {\n this.networkControllers.forEach(function (controller) {\n if ('fragmentLoader' in controller) {\n controller.startLoad(-1);\n }\n });\n }\n }\n\n /**\n * Stops stream controller segment loading without changing 'started' state like stopLoad().\n * This allows for media buffering to be paused without interupting playlist loading.\n */;\n _proto.pauseBuffering = function pauseBuffering() {\n this.networkControllers.forEach(function (controller) {\n if ('fragmentLoader' in controller) {\n controller.stopLoad();\n }\n });\n }\n\n /**\n * Swap through possible audio codecs in the stream (for example to switch from stereo to 5.1)\n */;\n _proto.swapAudioCodec = function swapAudioCodec() {\n logger.log('swapAudioCodec');\n this.streamController.swapAudioCodec();\n }\n\n /**\n * When the media-element fails, this allows to detach and then re-attach it\n * as one call (convenience method).\n *\n * Automatic recovery of media-errors by this process is configurable.\n */;\n _proto.recoverMediaError = function recoverMediaError() {\n logger.log('recoverMediaError');\n var media = this._media;\n this.detachMedia();\n if (media) {\n this.attachMedia(media);\n }\n };\n _proto.removeLevel = function removeLevel(levelIndex) {\n this.levelController.removeLevel(levelIndex);\n }\n\n /**\n * @returns an array of levels (variants) sorted by HDCP-LEVEL, RESOLUTION (height), FRAME-RATE, CODECS, VIDEO-RANGE, and BANDWIDTH\n */;\n /**\n * Find and select the best matching audio track, making a level switch when a Group change is necessary.\n * Updates `hls.config.audioPreference`. Returns the selected track, or null when no matching track is found.\n */\n _proto.setAudioOption = function setAudioOption(audioOption) {\n var _this$audioTrackContr;\n return (_this$audioTrackContr = this.audioTrackController) == null ? void 0 : _this$audioTrackContr.setAudioOption(audioOption);\n }\n /**\n * Find and select the best matching subtitle track, making a level switch when a Group change is necessary.\n * Updates `hls.config.subtitlePreference`. Returns the selected track, or null when no matching track is found.\n */;\n _proto.setSubtitleOption = function setSubtitleOption(subtitleOption) {\n var _this$subtitleTrackCo;\n (_this$subtitleTrackCo = this.subtitleTrackController) == null ? void 0 : _this$subtitleTrackCo.setSubtitleOption(subtitleOption);\n return null;\n }\n\n /**\n * Get the complete list of audio tracks across all media groups\n */;\n _createClass(Hls, [{\n key: \"levels\",\n get: function get() {\n var levels = this.levelController.levels;\n return levels ? levels : [];\n }\n\n /**\n * Index of quality level (variant) currently played\n */\n }, {\n key: \"currentLevel\",\n get: function get() {\n return this.streamController.currentLevel;\n }\n\n /**\n * Set quality level index immediately. This will flush the current buffer to replace the quality asap. That means playback will interrupt at least shortly to re-buffer and re-sync eventually. Set to -1 for automatic level selection.\n */,\n set: function set(newLevel) {\n logger.log(\"set currentLevel:\" + newLevel);\n this.levelController.manualLevel = newLevel;\n this.streamController.immediateLevelSwitch();\n }\n\n /**\n * Index of next quality level loaded as scheduled by stream controller.\n */\n }, {\n key: \"nextLevel\",\n get: function get() {\n return this.streamController.nextLevel;\n }\n\n /**\n * Set quality level index for next loaded data.\n * This will switch the video quality asap, without interrupting playback.\n * May abort current loading of data, and flush parts of buffer (outside currently played fragment region).\n * @param newLevel - Pass -1 for automatic level selection\n */,\n set: function set(newLevel) {\n logger.log(\"set nextLevel:\" + newLevel);\n this.levelController.manualLevel = newLevel;\n this.streamController.nextLevelSwitch();\n }\n\n /**\n * Return the quality level of the currently or last (of none is loaded currently) segment\n */\n }, {\n key: \"loadLevel\",\n get: function get() {\n return this.levelController.level;\n }\n\n /**\n * Set quality level index for next loaded data in a conservative way.\n * This will switch the quality without flushing, but interrupt current loading.\n * Thus the moment when the quality switch will appear in effect will only be after the already existing buffer.\n * @param newLevel - Pass -1 for automatic level selection\n */,\n set: function set(newLevel) {\n logger.log(\"set loadLevel:\" + newLevel);\n this.levelController.manualLevel = newLevel;\n }\n\n /**\n * get next quality level loaded\n */\n }, {\n key: \"nextLoadLevel\",\n get: function get() {\n return this.levelController.nextLoadLevel;\n }\n\n /**\n * Set quality level of next loaded segment in a fully \"non-destructive\" way.\n * Same as `loadLevel` but will wait for next switch (until current loading is done).\n */,\n set: function set(level) {\n this.levelController.nextLoadLevel = level;\n }\n\n /**\n * Return \"first level\": like a default level, if not set,\n * falls back to index of first level referenced in manifest\n */\n }, {\n key: \"firstLevel\",\n get: function get() {\n return Math.max(this.levelController.firstLevel, this.minAutoLevel);\n }\n\n /**\n * Sets \"first-level\", see getter.\n */,\n set: function set(newLevel) {\n logger.log(\"set firstLevel:\" + newLevel);\n this.levelController.firstLevel = newLevel;\n }\n\n /**\n * Return the desired start level for the first fragment that will be loaded.\n * The default value of -1 indicates automatic start level selection.\n * Setting hls.nextAutoLevel without setting a startLevel will result in\n * the nextAutoLevel value being used for one fragment load.\n */\n }, {\n key: \"startLevel\",\n get: function get() {\n var startLevel = this.levelController.startLevel;\n if (startLevel === -1 && this.abrController.forcedAutoLevel > -1) {\n return this.abrController.forcedAutoLevel;\n }\n return startLevel;\n }\n\n /**\n * set start level (level of first fragment that will be played back)\n * if not overrided by user, first level appearing in manifest will be used as start level\n * if -1 : automatic start level selection, playback will start from level matching download bandwidth\n * (determined from download of first segment)\n */,\n set: function set(newLevel) {\n logger.log(\"set startLevel:\" + newLevel);\n // if not in automatic start level detection, ensure startLevel is greater than minAutoLevel\n if (newLevel !== -1) {\n newLevel = Math.max(newLevel, this.minAutoLevel);\n }\n this.levelController.startLevel = newLevel;\n }\n\n /**\n * Whether level capping is enabled.\n * Default value is set via `config.capLevelToPlayerSize`.\n */\n }, {\n key: \"capLevelToPlayerSize\",\n get: function get() {\n return this.config.capLevelToPlayerSize;\n }\n\n /**\n * Enables or disables level capping. If disabled after previously enabled, `nextLevelSwitch` will be immediately called.\n */,\n set: function set(shouldStartCapping) {\n var newCapLevelToPlayerSize = !!shouldStartCapping;\n if (newCapLevelToPlayerSize !== this.config.capLevelToPlayerSize) {\n if (newCapLevelToPlayerSize) {\n this.capLevelController.startCapping(); // If capping occurs, nextLevelSwitch will happen based on size.\n } else {\n this.capLevelController.stopCapping();\n this.autoLevelCapping = -1;\n this.streamController.nextLevelSwitch(); // Now we're uncapped, get the next level asap.\n }\n this.config.capLevelToPlayerSize = newCapLevelToPlayerSize;\n }\n }\n\n /**\n * Capping/max level value that should be used by automatic level selection algorithm (`ABRController`)\n */\n }, {\n key: \"autoLevelCapping\",\n get: function get() {\n return this._autoLevelCapping;\n }\n\n /**\n * Returns the current bandwidth estimate in bits per second, when available. Otherwise, `NaN` is returned.\n */,\n set:\n /**\n * Capping/max level value that should be used by automatic level selection algorithm (`ABRController`)\n */\n function set(newLevel) {\n if (this._autoLevelCapping !== newLevel) {\n logger.log(\"set autoLevelCapping:\" + newLevel);\n this._autoLevelCapping = newLevel;\n this.levelController.checkMaxAutoUpdated();\n }\n }\n }, {\n key: \"bandwidthEstimate\",\n get: function get() {\n var bwEstimator = this.abrController.bwEstimator;\n if (!bwEstimator) {\n return NaN;\n }\n return bwEstimator.getEstimate();\n },\n set: function set(abrEwmaDefaultEstimate) {\n this.abrController.resetEstimator(abrEwmaDefaultEstimate);\n }\n\n /**\n * get time to first byte estimate\n * @type {number}\n */\n }, {\n key: \"ttfbEstimate\",\n get: function get() {\n var bwEstimator = this.abrController.bwEstimator;\n if (!bwEstimator) {\n return NaN;\n }\n return bwEstimator.getEstimateTTFB();\n }\n }, {\n key: \"maxHdcpLevel\",\n get: function get() {\n return this._maxHdcpLevel;\n },\n set: function set(value) {\n if (isHdcpLevel(value) && this._maxHdcpLevel !== value) {\n this._maxHdcpLevel = value;\n this.levelController.checkMaxAutoUpdated();\n }\n }\n\n /**\n * True when automatic level selection enabled\n */\n }, {\n key: \"autoLevelEnabled\",\n get: function get() {\n return this.levelController.manualLevel === -1;\n }\n\n /**\n * Level set manually (if any)\n */\n }, {\n key: \"manualLevel\",\n get: function get() {\n return this.levelController.manualLevel;\n }\n\n /**\n * min level selectable in auto mode according to config.minAutoBitrate\n */\n }, {\n key: \"minAutoLevel\",\n get: function get() {\n var levels = this.levels,\n minAutoBitrate = this.config.minAutoBitrate;\n if (!levels) return 0;\n var len = levels.length;\n for (var i = 0; i < len; i++) {\n if (levels[i].maxBitrate >= minAutoBitrate) {\n return i;\n }\n }\n return 0;\n }\n\n /**\n * max level selectable in auto mode according to autoLevelCapping\n */\n }, {\n key: \"maxAutoLevel\",\n get: function get() {\n var levels = this.levels,\n autoLevelCapping = this.autoLevelCapping,\n maxHdcpLevel = this.maxHdcpLevel;\n var maxAutoLevel;\n if (autoLevelCapping === -1 && levels != null && levels.length) {\n maxAutoLevel = levels.length - 1;\n } else {\n maxAutoLevel = autoLevelCapping;\n }\n if (maxHdcpLevel) {\n for (var i = maxAutoLevel; i--;) {\n var hdcpLevel = levels[i].attrs['HDCP-LEVEL'];\n if (hdcpLevel && hdcpLevel <= maxHdcpLevel) {\n return i;\n }\n }\n }\n return maxAutoLevel;\n }\n }, {\n key: \"firstAutoLevel\",\n get: function get() {\n return this.abrController.firstAutoLevel;\n }\n\n /**\n * next automatically selected quality level\n */\n }, {\n key: \"nextAutoLevel\",\n get: function get() {\n return this.abrController.nextAutoLevel;\n }\n\n /**\n * this setter is used to force next auto level.\n * this is useful to force a switch down in auto mode:\n * in case of load error on level N, hls.js can set nextAutoLevel to N-1 for example)\n * forced value is valid for one fragment. upon successful frag loading at forced level,\n * this value will be resetted to -1 by ABR controller.\n */,\n set: function set(nextLevel) {\n this.abrController.nextAutoLevel = nextLevel;\n }\n\n /**\n * get the datetime value relative to media.currentTime for the active level Program Date Time if present\n */\n }, {\n key: \"playingDate\",\n get: function get() {\n return this.streamController.currentProgramDateTime;\n }\n }, {\n key: \"mainForwardBufferInfo\",\n get: function get() {\n return this.streamController.getMainFwdBufferInfo();\n }\n }, {\n key: \"allAudioTracks\",\n get: function get() {\n var audioTrackController = this.audioTrackController;\n return audioTrackController ? audioTrackController.allAudioTracks : [];\n }\n\n /**\n * Get the list of selectable audio tracks\n */\n }, {\n key: \"audioTracks\",\n get: function get() {\n var audioTrackController = this.audioTrackController;\n return audioTrackController ? audioTrackController.audioTracks : [];\n }\n\n /**\n * index of the selected audio track (index in audio track lists)\n */\n }, {\n key: \"audioTrack\",\n get: function get() {\n var audioTrackController = this.audioTrackController;\n return audioTrackController ? audioTrackController.audioTrack : -1;\n }\n\n /**\n * selects an audio track, based on its index in audio track lists\n */,\n set: function set(audioTrackId) {\n var audioTrackController = this.audioTrackController;\n if (audioTrackController) {\n audioTrackController.audioTrack = audioTrackId;\n }\n }\n\n /**\n * get the complete list of subtitle tracks across all media groups\n */\n }, {\n key: \"allSubtitleTracks\",\n get: function get() {\n var subtitleTrackController = this.subtitleTrackController;\n return subtitleTrackController ? subtitleTrackController.allSubtitleTracks : [];\n }\n\n /**\n * get alternate subtitle tracks list from playlist\n */\n }, {\n key: \"subtitleTracks\",\n get: function get() {\n var subtitleTrackController = this.subtitleTrackController;\n return subtitleTrackController ? subtitleTrackController.subtitleTracks : [];\n }\n\n /**\n * index of the selected subtitle track (index in subtitle track lists)\n */\n }, {\n key: \"subtitleTrack\",\n get: function get() {\n var subtitleTrackController = this.subtitleTrackController;\n return subtitleTrackController ? subtitleTrackController.subtitleTrack : -1;\n },\n set:\n /**\n * select an subtitle track, based on its index in subtitle track lists\n */\n function set(subtitleTrackId) {\n var subtitleTrackController = this.subtitleTrackController;\n if (subtitleTrackController) {\n subtitleTrackController.subtitleTrack = subtitleTrackId;\n }\n }\n\n /**\n * Whether subtitle display is enabled or not\n */\n }, {\n key: \"media\",\n get: function get() {\n return this._media;\n }\n }, {\n key: \"subtitleDisplay\",\n get: function get() {\n var subtitleTrackController = this.subtitleTrackController;\n return subtitleTrackController ? subtitleTrackController.subtitleDisplay : false;\n }\n\n /**\n * Enable/disable subtitle display rendering\n */,\n set: function set(value) {\n var subtitleTrackController = this.subtitleTrackController;\n if (subtitleTrackController) {\n subtitleTrackController.subtitleDisplay = value;\n }\n }\n\n /**\n * get mode for Low-Latency HLS loading\n */\n }, {\n key: \"lowLatencyMode\",\n get: function get() {\n return this.config.lowLatencyMode;\n }\n\n /**\n * Enable/disable Low-Latency HLS part playlist and segment loading, and start live streams at playlist PART-HOLD-BACK rather than HOLD-BACK.\n */,\n set: function set(mode) {\n this.config.lowLatencyMode = mode;\n }\n\n /**\n * Position (in seconds) of live sync point (ie edge of live position minus safety delay defined by ```hls.config.liveSyncDuration```)\n * @returns null prior to loading live Playlist\n */\n }, {\n key: \"liveSyncPosition\",\n get: function get() {\n return this.latencyController.liveSyncPosition;\n }\n\n /**\n * Estimated position (in seconds) of live edge (ie edge of live playlist plus time sync playlist advanced)\n * @returns 0 before first playlist is loaded\n */\n }, {\n key: \"latency\",\n get: function get() {\n return this.latencyController.latency;\n }\n\n /**\n * maximum distance from the edge before the player seeks forward to ```hls.liveSyncPosition```\n * configured using ```liveMaxLatencyDurationCount``` (multiple of target duration) or ```liveMaxLatencyDuration```\n * @returns 0 before first playlist is loaded\n */\n }, {\n key: \"maxLatency\",\n get: function get() {\n return this.latencyController.maxLatency;\n }\n\n /**\n * target distance from the edge as calculated by the latency controller\n */\n }, {\n key: \"targetLatency\",\n get: function get() {\n return this.latencyController.targetLatency;\n }\n\n /**\n * the rate at which the edge of the current live playlist is advancing or 1 if there is none\n */\n }, {\n key: \"drift\",\n get: function get() {\n return this.latencyController.drift;\n }\n\n /**\n * set to true when startLoad is called before MANIFEST_PARSED event\n */\n }, {\n key: \"forceStartLoad\",\n get: function get() {\n return this.streamController.forceStartLoad;\n }\n }], [{\n key: \"version\",\n get:\n /**\n * Get the video-dev/hls.js package version.\n */\n function get() {\n return \"1.5.5-0.canary.9893\";\n }\n }, {\n key: \"Events\",\n get: function get() {\n return Events;\n }\n }, {\n key: \"ErrorTypes\",\n get: function get() {\n return ErrorTypes;\n }\n }, {\n key: \"ErrorDetails\",\n get: function get() {\n return ErrorDetails;\n }\n\n /**\n * Get the default configuration applied to new instances.\n */\n }, {\n key: \"DefaultConfig\",\n get: function get() {\n if (!Hls.defaultConfig) {\n return hlsDefaultConfig;\n }\n return Hls.defaultConfig;\n }\n\n /**\n * Replace the default configuration applied to new instances.\n */,\n set: function set(defaultConfig) {\n Hls.defaultConfig = defaultConfig;\n }\n }]);\n return Hls;\n }();\n Hls.defaultConfig = void 0;\n\n return Hls;\n\n}));\n})(false);\n//# sourceMappingURL=hls.js.map\n","'use strict';\n\nconst isString = obj => typeof obj === 'string';\nconst defer = () => {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n};\nconst makeString = object => {\n if (object == null) return '';\n return '' + object;\n};\nconst copy = (a, s, t) => {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n};\nconst lastOfPathSeparatorRegExp = /###/g;\nconst cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key;\nconst canNotTraverseDeeper = object => !object || isString(object);\nconst getLastOfPath = (object, path, Empty) => {\n const stack = !isString(path) ? path : path.split('.');\n let stackIndex = 0;\n while (stackIndex < stack.length - 1) {\n if (canNotTraverseDeeper(object)) return {};\n const key = cleanKey(stack[stackIndex]);\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n ++stackIndex;\n }\n if (canNotTraverseDeeper(object)) return {};\n return {\n obj: object,\n k: cleanKey(stack[stackIndex])\n };\n};\nconst setPath = (object, path, newValue) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n if (obj !== undefined || path.length === 1) {\n obj[k] = newValue;\n return;\n }\n let e = path[path.length - 1];\n let p = path.slice(0, path.length - 1);\n let last = getLastOfPath(object, p, Object);\n while (last.obj === undefined && p.length) {\n e = `${p[p.length - 1]}.${e}`;\n p = p.slice(0, p.length - 1);\n last = getLastOfPath(object, p, Object);\n if (last?.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') {\n last.obj = undefined;\n }\n }\n last.obj[`${last.k}.${e}`] = newValue;\n};\nconst pushPath = (object, path, newValue, concat) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n obj[k].push(newValue);\n};\nconst getPath = (object, path) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n if (!Object.prototype.hasOwnProperty.call(obj, k)) return undefined;\n return obj[k];\n};\nconst getPathWithDefaults = (data, defaultData, key) => {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n};\nconst deepExtend = (target, source, overwrite) => {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n};\nconst regexEscape = str => str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nconst escape = data => {\n if (isString(data)) {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n};\nclass RegExpCache {\n constructor(capacity) {\n this.capacity = capacity;\n this.regExpMap = new Map();\n this.regExpQueue = [];\n }\n getRegExp(pattern) {\n const regExpFromCache = this.regExpMap.get(pattern);\n if (regExpFromCache !== undefined) {\n return regExpFromCache;\n }\n const regExpNew = new RegExp(pattern);\n if (this.regExpQueue.length === this.capacity) {\n this.regExpMap.delete(this.regExpQueue.shift());\n }\n this.regExpMap.set(pattern, regExpNew);\n this.regExpQueue.push(pattern);\n return regExpNew;\n }\n}\nconst chars = [' ', ',', '?', '!', ';'];\nconst looksLikeObjectPathRegExpCache = new RegExpCache(20);\nconst looksLikeObjectPath = (key, nsSeparator, keySeparator) => {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n};\nconst deepFind = function (obj, path) {\n let keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) {\n if (!Object.prototype.hasOwnProperty.call(obj, path)) return undefined;\n return obj[path];\n }\n const tokens = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < tokens.length;) {\n if (!current || typeof current !== 'object') {\n return undefined;\n }\n let next;\n let nextPath = '';\n for (let j = i; j < tokens.length; ++j) {\n if (j !== i) {\n nextPath += keySeparator;\n }\n nextPath += tokens[j];\n next = current[nextPath];\n if (next !== undefined) {\n if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) {\n continue;\n }\n i += j - i + 1;\n break;\n }\n }\n current = next;\n }\n return current;\n};\nconst getCleanedCode = code => code?.replace('_', '-');\n\nconst consoleLogger = {\n type: 'logger',\n log(args) {\n this.output('log', args);\n },\n warn(args) {\n this.output('warn', args);\n },\n error(args) {\n this.output('error', args);\n },\n output(type, args) {\n console?.[type]?.apply?.(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.init(concreteLogger, options);\n }\n init(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n if (!this.observers[event]) this.observers[event] = new Map();\n const numListeners = this.observers[event].get(listener) || 0;\n this.observers[event].set(listener, numListeners + 1);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event].delete(listener);\n }\n emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n const cloned = Array.from(this.observers[event].entries());\n cloned.forEach(_ref => {\n let [observer, numTimesAdded] = _ref;\n for (let i = 0; i < numTimesAdded; i++) {\n observer(...args);\n }\n });\n }\n if (this.observers['*']) {\n const cloned = Array.from(this.observers['*'].entries());\n cloned.forEach(_ref2 => {\n let [observer, numTimesAdded] = _ref2;\n for (let i = 0; i < numTimesAdded; i++) {\n observer.apply(observer, [event, ...args]);\n }\n });\n }\n }\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path;\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n } else {\n path = [lng, ns];\n if (key) {\n if (Array.isArray(key)) {\n path.push(...key);\n } else if (isString(key) && keySeparator) {\n path.push(...key.split(keySeparator));\n } else {\n path.push(key);\n }\n }\n }\n const result = getPath(this.data, path);\n if (!result && !ns && !key && lng.indexOf('.') > -1) {\n lng = path[0];\n ns = path[1];\n key = path.slice(2).join('.');\n }\n if (result || !ignoreJSONStructure || !isString(key)) return result;\n return deepFind(this.data?.[lng]?.[ns], key, keySeparator);\n }\n addResource(lng, ns, key, value) {\n let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (const m in resources) {\n if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false,\n skipCopy: false\n };\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources));\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n value = this.processors[processor]?.process(value, key, options, translator) ?? value;\n });\n return value;\n }\n};\n\nconst checkedLoadedFor = {};\nconst shouldHandleAsObject = res => !isString(res) && typeof res !== 'boolean' && typeof res !== 'number';\nclass Translator extends EventEmitter {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key == null) {\n return false;\n }\n const resolved = this.resolve(key, options);\n return resolved?.res !== undefined;\n }\n extractFromKey(key, options) {\n let nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let namespaces = options.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n translate(keys, options, lastKey) {\n if (typeof options !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof options === 'object') options = {\n ...options\n };\n if (!options) options = {};\n if (keys == null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], options);\n const namespace = namespaces[namespaces.length - 1];\n const lng = options.lng || this.language;\n const appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng?.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n const nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(options)\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(options)\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, options);\n let res = resolved?.res;\n const resUsedKey = resolved?.usedKey || key;\n const resExactUsedKey = resolved?.exactUsedKey || key;\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const needsPluralHandling = options.count !== undefined && !isString(options.count);\n const hasDefaultValue = Translator.hasDefaultValue(options);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n const defaultValueSuffixOrdinalFallback = options.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, {\n ordinal: false\n }) : '';\n const needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0;\n const defaultValue = needsZeroSuffixLookup && options[`defaultValue${this.options.pluralSeparator}zero`] || options[`defaultValue${defaultValueSuffix}`] || options[`defaultValue${defaultValueSuffixOrdinalFallback}`] || options.defaultValue;\n let resForObjHndl = res;\n if (handleAsObjectInI18nFormat && !res && hasDefaultValue) {\n resForObjHndl = defaultValue;\n }\n const handleAsObject = shouldHandleAsObject(resForObjHndl);\n const resType = Object.prototype.toString.apply(resForObjHndl);\n if (handleAsObjectInI18nFormat && resForObjHndl && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(resForObjHndl))) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, resForObjHndl, {\n ...options,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n resolved.usedParams = this.getUsedParamsDetails(options);\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = Array.isArray(resForObjHndl);\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in resForObjHndl) {\n if (Object.prototype.hasOwnProperty.call(resForObjHndl, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n if (hasDefaultValue && !res) {\n copy[m] = this.translate(deepKey, {\n ...options,\n defaultValue: shouldHandleAsObject(defaultValue) ? defaultValue[m] : undefined,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n } else {\n copy[m] = this.translate(deepKey, {\n ...options,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n }\n if (copy[m] === deepKey) copy[m] = resForObjHndl[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...options,\n keySeparator: false\n });\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (this.backendConnector?.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n const suffixes = this.pluralResolver.getSuffixes(language, options);\n if (needsZeroSuffixLookup && options[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) {\n suffixes.push(`${this.options.pluralSeparator}zero`);\n }\n suffixes.forEach(suffix => {\n send([language], key + suffix, options[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = `${namespace}:${key}`;\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}:${key}` : key, usedDefault ? res : undefined);\n }\n }\n if (returnDetails) {\n resolved.res = res;\n resolved.usedParams = this.getUsedParamsDetails(options);\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, options, resolved, lastKey) {\n var _this = this;\n if (this.i18nFormat?.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...options\n }, options.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init({\n ...options,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...options.interpolation\n }\n }\n });\n const skipOnVariables = isString(res) && (options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = options.replace && !isString(options.replace) ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, options.lng || this.language || resolved.usedLng, options);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && resolved && resolved.res) options.lng = this.language || resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey?.[0] === args[0] && !options.context) {\n _this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return _this.translate(...args, key);\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n const postProcess = options.postProcess || this.options.postProcess;\n const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess;\n if (res != null && postProcessorNames?.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: {\n ...resolved,\n usedParams: this.getUsedParamsDetails(options)\n },\n ...options\n } : options, this);\n }\n return res;\n }\n resolve(keys) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (isString(keys)) keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, options);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = options.count !== undefined && !isString(options.count);\n const needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0;\n const needsContextHandling = options.context !== undefined && (isString(options.context) || typeof options.context === 'number') && options.context !== '';\n const codes = options.lngs ? options.lngs : this.languageUtils.toResolveHierarchy(options.lng || this.language, options.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat?.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, options.count, options);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator}${options.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat?.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n getUsedParamsDetails() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation'];\n const useOptionsReplaceForData = options.replace && !isString(options.replace);\n let data = useOptionsReplaceForData ? options.replace : options;\n if (useOptionsReplaceForData && typeof options.count !== 'undefined') {\n data.count = options.count;\n }\n if (this.options.interpolation.defaultVariables) {\n data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n }\n if (!useOptionsReplaceForData) {\n data = {\n ...data\n };\n for (const key of optionsKeys) {\n delete data[key];\n }\n }\n return data;\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (isString(code) && code.indexOf('-') > -1) {\n let formattedCode;\n try {\n formattedCode = Intl.getCanonicalLocales(code)[0];\n } catch (e) {}\n if (formattedCode && this.options.lowerCaseLng) {\n formattedCode = formattedCode.toLowerCase();\n }\n if (formattedCode) return formattedCode;\n if (this.options.lowerCaseLng) {\n return code.toLowerCase();\n }\n return code;\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng;\n if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (isString(fallbacks)) fallbacks = [fallbacks];\n if (Array.isArray(fallbacks)) return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (isString(code)) {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nconst dummyRule = {\n select: count => count === 1 ? 'one' : 'other',\n resolvedOptions: () => ({\n pluralCategories: ['one', 'other']\n })\n};\nclass PluralResolver {\n constructor(languageUtils) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.pluralRulesCache = {};\n }\n addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n clearCache() {\n this.pluralRulesCache = {};\n }\n getRule(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code);\n const type = options.ordinal ? 'ordinal' : 'cardinal';\n const cacheKey = JSON.stringify({\n cleanedCode,\n type\n });\n if (cacheKey in this.pluralRulesCache) {\n return this.pluralRulesCache[cacheKey];\n }\n let rule;\n try {\n rule = new Intl.PluralRules(cleanedCode, {\n type\n });\n } catch (err) {\n if (!Intl) {\n this.logger.error('No Intl support, please use an Intl polyfill!');\n return dummyRule;\n }\n if (!code.match(/-|_/)) return dummyRule;\n const lngPart = this.languageUtils.getLanguagePartFromCode(code);\n rule = this.getRule(lngPart, options);\n }\n this.pluralRulesCache[cacheKey] = rule;\n return rule;\n }\n needsPlural(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n return rule?.resolvedOptions().pluralCategories.length > 1;\n }\n getPluralFormsOfKey(code, key) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n if (!rule) return [];\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n getSuffix(code, count) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const rule = this.getRule(code, options);\n if (rule) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return this.getSuffix('dev', count, options);\n }\n}\n\nconst deepFindWithDefaults = function (data, defaultData, key) {\n let keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n let ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && isString(key)) {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n};\nconst regexSafe = val => val.replace(/\\$/g, '$$$$');\nclass Interpolator {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options?.interpolation?.format || (value => value);\n this.init(options);\n }\n init() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const {\n escape: escape$1,\n escapeValue,\n useRawValueToEscape,\n prefix,\n prefixEscaped,\n suffix,\n suffixEscaped,\n formatSeparator,\n unescapeSuffix,\n unescapePrefix,\n nestingPrefix,\n nestingPrefixEscaped,\n nestingSuffix,\n nestingSuffixEscaped,\n nestingOptionsSeparator,\n maxReplaces,\n alwaysFormat\n } = options.interpolation;\n this.escape = escape$1 !== undefined ? escape$1 : escape;\n this.escapeValue = escapeValue !== undefined ? escapeValue : true;\n this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false;\n this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{';\n this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}';\n this.formatSeparator = formatSeparator || ',';\n this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || '';\n this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = nestingOptionsSeparator || ',';\n this.maxReplaces = maxReplaces || 1000;\n this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const getOrResetRegExp = (existingRegExp, pattern) => {\n if (existingRegExp?.source === pattern) {\n existingRegExp.lastIndex = 0;\n return existingRegExp;\n }\n return new RegExp(pattern, 'g');\n };\n this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`);\n this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`);\n this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}(.+?)${this.nestingSuffix}`);\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options?.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = isString(temp) ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (!isString(value) && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let match;\n let value;\n let clonedOptions;\n const handleHasOptions = (key, inheritedOptions) => {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${sep}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if ((matchedSingleQuotes?.length ?? 0) % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue;\n return key;\n };\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n let doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n const r = match[1].split(this.formatSeparator).map(elem => elem.trim());\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && !isString(value)) return value;\n if (!isString(value)) value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nconst parseFormatStr = formatStr => {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (opt) {\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n const trimmedKey = key.trim();\n if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val;\n if (val === 'false') formatOptions[trimmedKey] = false;\n if (val === 'true') formatOptions[trimmedKey] = true;\n if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10);\n }\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n};\nconst createCachedFormatter = fn => {\n const cache = {};\n return (val, lng, options) => {\n let optForCache = options;\n if (options && options.interpolationkey && options.formatParams && options.formatParams[options.interpolationkey] && options[options.interpolationkey]) {\n optForCache = {\n ...optForCache,\n [options.interpolationkey]: undefined\n };\n }\n const key = lng + JSON.stringify(optForCache);\n let formatter = cache[key];\n if (!formatter) {\n formatter = fn(getCleanedCode(lng), options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n};\nclass Formatter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n this.init(options);\n }\n init(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n this.formatSeparator = options.interpolation.formatSeparator || ',';\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const formats = format.split(this.formatSeparator);\n if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) {\n const lastIndex = formats.findIndex(f => f.indexOf(')') > -1);\n formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator);\n }\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options?.formatParams?.[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nconst removePending = (q, name) => {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n};\nclass Connector extends EventEmitter {\n constructor(backend, store, services) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n this.backend?.init?.(services, options.backend, options);\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (!err && data) {\n this.store.addResourceBundle(lng, ns, data, undefined, undefined, {\n skipCopy: true\n });\n }\n this.state[name] = err ? -1 : 2;\n if (err && data) this.state[name] = 0;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName) {\n let tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n let wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n let callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages);\n if (isString(namespaces)) namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name) {\n let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n let clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : () => {};\n if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend?.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nconst get = () => ({\n debug: false,\n initAsync: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: args => {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (isString(args[1])) ret.defaultValue = args[1];\n if (isString(args[2])) ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: value => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n});\nconst transformOptions = options => {\n if (isString(options.ns)) options.ns = [options.ns];\n if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng];\n if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs?.indexOf?.('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n if (typeof options.initImmediate === 'boolean') options.initAsync = options.initImmediate;\n return options;\n};\n\nconst noop = () => {};\nconst bindMemberFunctions = inst => {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n};\nclass I18n extends EventEmitter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initAsync) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init() {\n var _this = this;\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n this.isInitializing = true;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (options.defaultNS == null && options.ns) {\n if (isString(options.ns)) {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n const createClassOnDemand = ClassOrObject => {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n };\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = function () {\n return _this.store[fcName](...arguments);\n };\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = function () {\n _this.store[fcName](...arguments);\n return _this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n this.isInitializing = false;\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initAsync) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n let usedCallback = callback;\n const usedLng = isString(language) ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng?.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n if (lng === 'cimode') return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (l === 'cimode') return;\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n this.options.preload?.forEach?.(l => append(l));\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (typeof lngs === 'function') {\n callback = lngs;\n lngs = undefined;\n }\n if (typeof ns === 'function') {\n callback = ns;\n ns = undefined;\n }\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n changeLanguage(lng, callback) {\n var _this2 = this;\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this2.t(...arguments);\n });\n if (callback) callback(err, function () {\n return _this2.t(...arguments);\n });\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const l = isString(lngs) ? lngs : this.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n this.services.languageDetector?.cacheUserLanguage?.(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n var _this3 = this;\n const fixedT = function (key, opts) {\n let options;\n if (typeof opts !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this3.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = {\n ...opts\n };\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n if (options.keyPrefix !== '') options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = _this3.options.keySeparator || '.';\n let resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => `${options.keyPrefix}${keySeparator}${k}`);\n } else {\n resultKey = options.keyPrefix ? `${options.keyPrefix}${keySeparator}${key}` : key;\n }\n return _this3.t(resultKey, options);\n };\n if (isString(lng)) {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.translator?.translate(...args);\n }\n exists() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n return this.translator?.exists(...args);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 0 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (isString(ns)) ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (isString(lngs)) lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng));\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n const languageUtils = this.services?.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n cloneInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n const clonedData = Object.keys(this.store.data).reduce((prev, l) => {\n prev[l] = {\n ...this.store.data[l]\n };\n return Object.keys(prev[l]).reduce((acc, n) => {\n acc[n] = {\n ...prev[l][n]\n };\n return acc;\n }, {});\n }, {});\n clone.store = new ResourceStore(clonedData, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', function (event) {\n for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {\n args[_key6 - 1] = arguments[_key6];\n }\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nmodule.exports = instance;\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","module.exports = function isArrayish(obj) {\n\tif (!obj || typeof obj === 'string') {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && (obj.splice instanceof Function ||\n\t\t\t(Object.getOwnPropertyDescriptor(obj, (obj.length - 1)) && obj.constructor.name !== 'String')));\n};\n","module.exports = [\n {\"name\":\"Abkhaz\", \"local\":\"Аҧсуа\", \"1\":\"ab\", \"2\":\"abk\", \"2T\":\"abk\", \"2B\":\"abk\", \"3\":\"abk\"},\n {\"name\":\"Afar\", \"local\":\"Afaraf\", \"1\":\"aa\", \"2\":\"aar\", \"2T\":\"aar\", \"2B\":\"aar\", \"3\":\"aar\"},\n {\"name\":\"Afrikaans\", \"local\":\"Afrikaans\", \"1\":\"af\", \"2\":\"afr\", \"2T\":\"afr\", \"2B\":\"afr\", \"3\":\"afr\"},\n {\"name\":\"Akan\", \"local\":\"Akan\", \"1\":\"ak\", \"2\":\"aka\", \"2T\":\"aka\", \"2B\":\"aka\", \"3\":\"aka\"},\n {\"name\":\"Albanian\", \"local\":\"Shqip\", \"1\":\"sq\", \"2\":\"sqi\", \"2T\":\"sqi\", \"2B\":\"alb\", \"3\":\"sqi\"},\n {\"name\":\"Amharic\", \"local\":\"አማርኛ\", \"1\":\"am\", \"2\":\"amh\", \"2T\":\"amh\", \"2B\":\"amh\", \"3\":\"amh\"},\n {\"name\":\"Arabic\", \"local\":\"العربية\", \"1\":\"ar\", \"2\":\"ara\", \"2T\":\"ara\", \"2B\":\"ara\", \"3\":\"ara\"},\n {\"name\":\"Aragonese\", \"local\":\"Aragonés\", \"1\":\"an\", \"2\":\"arg\", \"2T\":\"arg\", \"2B\":\"arg\", \"3\":\"arg\"},\n {\"name\":\"Armenian\", \"local\":\"Հայերեն\", \"1\":\"hy\", \"2\":\"hye\", \"2T\":\"hye\", \"2B\":\"arm\", \"3\":\"hye\"},\n {\"name\":\"Assamese\", \"local\":\"অসমীয়া\", \"1\":\"as\", \"2\":\"asm\", \"2T\":\"asm\", \"2B\":\"asm\", \"3\":\"asm\"},\n {\"name\":\"Avaric\", \"local\":\"Авар\", \"1\":\"av\", \"2\":\"ava\", \"2T\":\"ava\", \"2B\":\"ava\", \"3\":\"ava\"},\n {\"name\":\"Avestan\", \"local\":\"avesta\", \"1\":\"ae\", \"2\":\"ave\", \"2T\":\"ave\", \"2B\":\"ave\", \"3\":\"ave\"},\n {\"name\":\"Aymara\", \"local\":\"Aymar\", \"1\":\"ay\", \"2\":\"aym\", \"2T\":\"aym\", \"2B\":\"aym\", \"3\":\"aym\"},\n {\"name\":\"Azerbaijani\", \"local\":\"Azərbaycanca\", \"1\":\"az\", \"2\":\"aze\", \"2T\":\"aze\", \"2B\":\"aze\", \"3\":\"aze\"},\n {\"name\":\"Bambara\", \"local\":\"Bamanankan\", \"1\":\"bm\", \"2\":\"bam\", \"2T\":\"bam\", \"2B\":\"bam\", \"3\":\"bam\"},\n {\"name\":\"Bashkir\", \"local\":\"Башҡортса\", \"1\":\"ba\", \"2\":\"bak\", \"2T\":\"bak\", \"2B\":\"bak\", \"3\":\"bak\"},\n {\"name\":\"Basque\", \"local\":\"Euskara\", \"1\":\"eu\", \"2\":\"eus\", \"2T\":\"eus\", \"2B\":\"baq\", \"3\":\"eus\"},\n {\"name\":\"Belarusian\", \"local\":\"Беларуская\", \"1\":\"be\", \"2\":\"bel\", \"2T\":\"bel\", \"2B\":\"bel\", \"3\":\"bel\"},\n {\"name\":\"Bengali\", \"local\":\"বাংলা\", \"1\":\"bn\", \"2\":\"ben\", \"2T\":\"ben\", \"2B\":\"ben\", \"3\":\"ben\", \"locale\": \"bn-BD\"},\n {\"name\":\"Bihari\", \"local\":\"भोजपुरी\", \"1\":\"bh\", \"2\":\"bih\", \"2T\":\"bih\", \"2B\":\"bih\", \"3\":\"bih\"},\n {\"name\":\"Bislama\", \"local\":\"Bislama\", \"1\":\"bi\", \"2\":\"bis\", \"2T\":\"bis\", \"2B\":\"bis\", \"3\":\"bis\"},\n {\"name\":\"Bosnian\", \"local\":\"Bosanski\", \"1\":\"bs\", \"2\":\"bos\", \"2T\":\"bos\", \"2B\":\"bos\", \"3\":\"bos\"},\n {\"name\":\"Breton\", \"local\":\"Brezhoneg\", \"1\":\"br\", \"2\":\"bre\", \"2T\":\"bre\", \"2B\":\"bre\", \"3\":\"bre\"},\n {\"name\":\"Bulgarian\", \"local\":\"Български\", \"1\":\"bg\", \"2\":\"bul\", \"2T\":\"bul\", \"2B\":\"bul\", \"3\":\"bul\"},\n {\"name\":\"Burmese\", \"local\":\"မြန်မာဘာသာ\", \"1\":\"my\", \"2\":\"mya\", \"2T\":\"mya\", \"2B\":\"bur\", \"3\":\"mya\"},\n {\"name\":\"Catalan\", \"local\":\"Català\", \"1\":\"ca\", \"2\":\"cat\", \"2T\":\"cat\", \"2B\":\"cat\", \"3\":\"cat\"},\n {\"name\":\"Chamorro\", \"local\":\"Chamoru\", \"1\":\"ch\", \"2\":\"cha\", \"2T\":\"cha\", \"2B\":\"cha\", \"3\":\"cha\"},\n {\"name\":\"Chechen\", \"local\":\"Нохчийн\", \"1\":\"ce\", \"2\":\"che\", \"2T\":\"che\", \"2B\":\"che\", \"3\":\"che\"},\n {\"name\":\"Chichewa\", \"local\":\"Chichewa\", \"1\":\"ny\", \"2\":\"nya\", \"2T\":\"nya\", \"2B\":\"nya\", \"3\":\"nya\"},\n {\"name\":\"Chinese\", \"local\":\"中文\", \"1\":\"zh\", \"2\":\"zho\", \"2T\":\"zho\", \"2B\":\"chi\", \"3\":\"zho\", \"locale\": \"zh-CN\"},\n {\"name\":\"Chinese (Simplified)\", \"local\":\"中文(簡體)\", \"1\":\"zh\", \"2\":\"zhe\", \"2T\":\"zhe\", \"2B\":\"chi\", \"3\":\"zhe\", \"locale\": \"zh-Hans\"},\n {\"name\":\"Chinese (Traditional)\", \"local\":\"中文(繁體)\", \"1\":\"zh\", \"2\":\"zht\", \"2T\":\"zht\", \"2B\":\"chi\", \"3\":\"zht\", \"locale\": \"zh-Hant\"},\n {\"name\":\"Chuvash\", \"local\":\"Чӑвашла\", \"1\":\"cv\", \"2\":\"chv\", \"2T\":\"chv\", \"2B\":\"chv\", \"3\":\"chv\"},\n {\"name\":\"Cornish\", \"local\":\"Kernewek\", \"1\":\"kw\", \"2\":\"cor\", \"2T\":\"cor\", \"2B\":\"cor\", \"3\":\"cor\"},\n {\"name\":\"Corsican\", \"local\":\"Corsu\", \"1\":\"co\", \"2\":\"cos\", \"2T\":\"cos\", \"2B\":\"cos\", \"3\":\"cos\"},\n {\"name\":\"Cree\", \"local\":\"ᓀᐦᐃᔭᐍᐏᐣ\", \"1\":\"cr\", \"2\":\"cre\", \"2T\":\"cre\", \"2B\":\"cre\", \"3\":\"cre\"},\n {\"name\":\"Croatian\", \"local\":\"Hrvatski\", \"1\":\"hr\", \"2\":\"hrv\", \"2T\":\"hrv\", \"2B\":\"hrv\", \"3\":\"hrv\"},\n {\"name\":\"Czech\", \"local\":\"Čeština\", \"1\":\"cs\", \"2\":\"ces\", \"2T\":\"ces\", \"2B\":\"cze\", \"3\":\"ces\"},\n {\"name\":\"Danish\", \"local\":\"Dansk\", \"1\":\"da\", \"2\":\"dan\", \"2T\":\"dan\", \"2B\":\"dan\", \"3\":\"dan\"},\n {\"name\":\"Divehi\", \"local\":\"Divehi\", \"1\":\"dv\", \"2\":\"div\", \"2T\":\"div\", \"2B\":\"div\", \"3\":\"div\"},\n {\"name\":\"Dutch\", \"local\":\"Nederlands\", \"1\":\"nl\", \"2\":\"nld\", \"2T\":\"nld\", \"2B\":\"dut\", \"3\":\"nld\"},\n {\"name\":\"Dzongkha\", \"local\":\"རྫོང་ཁ\", \"1\":\"dz\", \"2\":\"dzo\", \"2T\":\"dzo\", \"2B\":\"dzo\", \"3\":\"dzo\"},\n {\"name\":\"English\", \"local\":\"English\", \"1\":\"en\", \"2\":\"eng\", \"2T\":\"eng\", \"2B\":\"eng\", \"3\":\"eng\", \"locale\": \"en-US\"},\n {\"name\":\"Esperanto\", \"local\":\"Esperanto\", \"1\":\"eo\", \"2\":\"epo\", \"2T\":\"epo\", \"2B\":\"epo\", \"3\":\"epo\"},\n {\"name\":\"Estonian\", \"local\":\"Eesti\", \"1\":\"et\", \"2\":\"est\", \"2T\":\"est\", \"2B\":\"est\", \"3\":\"est\", \"locale\": \"et-EE\"},\n {\"name\":\"Ewe\", \"local\":\"Eʋegbe\", \"1\":\"ee\", \"2\":\"ewe\", \"2T\":\"ewe\", \"2B\":\"ewe\", \"3\":\"ewe\"},\n {\"name\":\"Faroese\", \"local\":\"Føroyskt\", \"1\":\"fo\", \"2\":\"fao\", \"2T\":\"fao\", \"2B\":\"fao\", \"3\":\"fao\"},\n {\"name\":\"Fijian\", \"local\":\"Na Vosa Vaka-Viti\", \"1\":\"fj\", \"2\":\"fij\", \"2T\":\"fij\", \"2B\":\"fij\", \"3\":\"fij\"},\n {\"name\":\"Finnish\", \"local\":\"Suomi\", \"1\":\"fi\", \"2\":\"fin\", \"2T\":\"fin\", \"2B\":\"fin\", \"3\":\"fin\"},\n {\"name\":\"French\", \"local\":\"Français\", \"1\":\"fr\", \"2\":\"fra\", \"2T\":\"fra\", \"2B\":\"fre\", \"3\":\"fra\", \"locale\": \"fr-FR\"},\n {\"name\":\"Fula\", \"local\":\"Fulfulde\", \"1\":\"ff\", \"2\":\"ful\", \"2T\":\"ful\", \"2B\":\"ful\", \"3\":\"ful\"},\n {\"name\":\"Galician\", \"local\":\"Galego\", \"1\":\"gl\", \"2\":\"glg\", \"2T\":\"glg\", \"2B\":\"glg\", \"3\":\"glg\"},\n {\"name\":\"Georgian\", \"local\":\"ქართული\", \"1\":\"ka\", \"2\":\"kat\", \"2T\":\"kat\", \"2B\":\"geo\", \"3\":\"kat\"},\n {\"name\":\"German\", \"local\":\"Deutsch\", \"1\":\"de\", \"2\":\"deu\", \"2T\":\"deu\", \"2B\":\"ger\", \"3\":\"deu\"},\n {\"name\":\"Greek\", \"local\":\"Ελληνικά\", \"1\":\"el\", \"2\":\"ell\", \"2T\":\"ell\", \"2B\":\"gre\", \"3\":\"ell\"},\n {\"name\":\"Guaraní\", \"local\":\"Avañe'ẽ\", \"1\":\"gn\", \"2\":\"grn\", \"2T\":\"grn\", \"2B\":\"grn\", \"3\":\"grn\"},\n {\"name\":\"Gujarati\", \"local\":\"ગુજરાતી\", \"1\":\"gu\", \"2\":\"guj\", \"2T\":\"guj\", \"2B\":\"guj\", \"3\":\"guj\"},\n {\"name\":\"Haitian\", \"local\":\"Kreyòl Ayisyen\", \"1\":\"ht\", \"2\":\"hat\", \"2T\":\"hat\", \"2B\":\"hat\", \"3\":\"hat\"},\n {\"name\":\"Hausa\", \"local\":\"هَوُسَ\", \"1\":\"ha\", \"2\":\"hau\", \"2T\":\"hau\", \"2B\":\"hau\", \"3\":\"hau\"},\n {\"name\":\"Hebrew\", \"local\":\"עברית\", \"1\":\"he\", \"2\":\"heb\", \"2T\":\"heb\", \"2B\":\"heb\", \"3\":\"heb\"},\n {\"name\":\"Herero\", \"local\":\"Otjiherero\", \"1\":\"hz\", \"2\":\"her\", \"2T\":\"her\", \"2B\":\"her\", \"3\":\"her\"},\n {\"name\":\"Hindi\", \"local\":\"हिन्दी\", \"1\":\"hi\", \"2\":\"hin\", \"2T\":\"hin\", \"2B\":\"hin\", \"3\":\"hin\"},\n {\"name\":\"Hiri Motu\", \"local\":\"Hiri Motu\", \"1\":\"ho\", \"2\":\"hmo\", \"2T\":\"hmo\", \"2B\":\"hmo\", \"3\":\"hmo\"},\n {\"name\":\"Hungarian\", \"local\":\"Magyar\", \"1\":\"hu\", \"2\":\"hun\", \"2T\":\"hun\", \"2B\":\"hun\", \"3\":\"hun\"},\n {\"name\":\"Interlingua\", \"local\":\"Interlingua\", \"1\":\"ia\", \"2\":\"ina\", \"2T\":\"ina\", \"2B\":\"ina\", \"3\":\"ina\"},\n {\"name\":\"Indonesian\", \"local\":\"Bahasa Indonesia\", \"1\":\"id\", \"2\":\"ind\", \"2T\":\"ind\", \"2B\":\"ind\", \"3\":\"ind\"},\n {\"name\":\"Interlingue\", \"local\":\"Interlingue\", \"1\":\"ie\", \"2\":\"ile\", \"2T\":\"ile\", \"2B\":\"ile\", \"3\":\"ile\"},\n {\"name\":\"Irish\", \"local\":\"Gaeilge\", \"1\":\"ga\", \"2\":\"gle\", \"2T\":\"gle\", \"2B\":\"gle\", \"3\":\"gle\"},\n {\"name\":\"Igbo\", \"local\":\"Igbo\", \"1\":\"ig\", \"2\":\"ibo\", \"2T\":\"ibo\", \"2B\":\"ibo\", \"3\":\"ibo\"},\n {\"name\":\"Inupiaq\", \"local\":\"Iñupiak\", \"1\":\"ik\", \"2\":\"ipk\", \"2T\":\"ipk\", \"2B\":\"ipk\", \"3\":\"ipk\"},\n {\"name\":\"Ido\", \"local\":\"Ido\", \"1\":\"io\", \"2\":\"ido\", \"2T\":\"ido\", \"2B\":\"ido\", \"3\":\"ido\"},\n {\"name\":\"Icelandic\", \"local\":\"Íslenska\", \"1\":\"is\", \"2\":\"isl\", \"2T\":\"isl\", \"2B\":\"ice\", \"3\":\"isl\"},\n {\"name\":\"Italian\", \"local\":\"Italiano\", \"1\":\"it\", \"2\":\"ita\", \"2T\":\"ita\", \"2B\":\"ita\", \"3\":\"ita\", \"locale\": \"it-IT\"},\n {\"name\":\"Inuktitut\", \"local\":\"ᐃᓄᒃᑎᑐᑦ\", \"1\":\"iu\", \"2\":\"iku\", \"2T\":\"iku\", \"2B\":\"iku\", \"3\":\"iku\"},\n {\"name\":\"Japanese\", \"local\":\"日本語\", \"1\":\"ja\", \"2\":\"jpn\", \"2T\":\"jpn\", \"2B\":\"jpn\", \"3\":\"jpn\", \"locale\": \"ja-JP\"},\n {\"name\":\"Javanese\", \"local\":\"Basa Jawa\", \"1\":\"jv\", \"2\":\"jav\", \"2T\":\"jav\", \"2B\":\"jav\", \"3\":\"jav\"},\n {\"name\":\"Kalaallisut\", \"local\":\"Kalaallisut\", \"1\":\"kl\", \"2\":\"kal\", \"2T\":\"kal\", \"2B\":\"kal\", \"3\":\"kal\"},\n {\"name\":\"Kannada\", \"local\":\"ಕನ್ನಡ\", \"1\":\"kn\", \"2\":\"kan\", \"2T\":\"kan\", \"2B\":\"kan\", \"3\":\"kan\"},\n {\"name\":\"Kanuri\", \"local\":\"Kanuri\", \"1\":\"kr\", \"2\":\"kau\", \"2T\":\"kau\", \"2B\":\"kau\", \"3\":\"kau\"},\n {\"name\":\"Kashmiri\", \"local\":\"كشميري\", \"1\":\"ks\", \"2\":\"kas\", \"2T\":\"kas\", \"2B\":\"kas\", \"3\":\"kas\"},\n {\"name\":\"Kazakh\", \"local\":\"Қазақша\", \"1\":\"kk\", \"2\":\"kaz\", \"2T\":\"kaz\", \"2B\":\"kaz\", \"3\":\"kaz\"},\n {\"name\":\"Khmer\", \"local\":\"ភាសាខ្មែរ\", \"1\":\"km\", \"2\":\"khm\", \"2T\":\"khm\", \"2B\":\"khm\", \"3\":\"khm\"},\n {\"name\":\"Kikuyu\", \"local\":\"Gĩkũyũ\", \"1\":\"ki\", \"2\":\"kik\", \"2T\":\"kik\", \"2B\":\"kik\", \"3\":\"kik\"},\n {\"name\":\"Kinyarwanda\", \"local\":\"Kinyarwanda\", \"1\":\"rw\", \"2\":\"kin\", \"2T\":\"kin\", \"2B\":\"kin\", \"3\":\"kin\"},\n {\"name\":\"Kyrgyz\", \"local\":\"Кыргызча\", \"1\":\"ky\", \"2\":\"kir\", \"2T\":\"kir\", \"2B\":\"kir\", \"3\":\"kir\"},\n {\"name\":\"Komi\", \"local\":\"Коми\", \"1\":\"kv\", \"2\":\"kom\", \"2T\":\"kom\", \"2B\":\"kom\", \"3\":\"kom\"},\n {\"name\":\"Kongo\", \"local\":\"Kongo\", \"1\":\"kg\", \"2\":\"kon\", \"2T\":\"kon\", \"2B\":\"kon\", \"3\":\"kon\"},\n {\"name\":\"Korean\", \"local\":\"한국어\", \"1\":\"ko\", \"2\":\"kor\", \"2T\":\"kor\", \"2B\":\"kor\", \"3\":\"kor\"},\n {\"name\":\"Kurdish\", \"local\":\"Kurdî\", \"1\":\"ku\", \"2\":\"kur\", \"2T\":\"kur\", \"2B\":\"kur\", \"3\":\"kur\"},\n {\"name\":\"Kwanyama\", \"local\":\"Kuanyama\", \"1\":\"kj\", \"2\":\"kua\", \"2T\":\"kua\", \"2B\":\"kua\", \"3\":\"kua\"},\n {\"name\":\"Latin\", \"local\":\"Latina\", \"1\":\"la\", \"2\":\"lat\", \"2T\":\"lat\", \"2B\":\"lat\", \"3\":\"lat\"},\n {\"name\":\"Luxembourgish\", \"local\":\"Lëtzebuergesch\", \"1\":\"lb\", \"2\":\"ltz\", \"2T\":\"ltz\", \"2B\":\"ltz\", \"3\":\"ltz\"},\n {\"name\":\"Ganda\", \"local\":\"Luganda\", \"1\":\"lg\", \"2\":\"lug\", \"2T\":\"lug\", \"2B\":\"lug\", \"3\":\"lug\"},\n {\"name\":\"Limburgish\", \"local\":\"Limburgs\", \"1\":\"li\", \"2\":\"lim\", \"2T\":\"lim\", \"2B\":\"lim\", \"3\":\"lim\"},\n {\"name\":\"Lingala\", \"local\":\"Lingála\", \"1\":\"ln\", \"2\":\"lin\", \"2T\":\"lin\", \"2B\":\"lin\", \"3\":\"lin\"},\n {\"name\":\"Lao\", \"local\":\"ພາສາລາວ\", \"1\":\"lo\", \"2\":\"lao\", \"2T\":\"lao\", \"2B\":\"lao\", \"3\":\"lao\"},\n {\"name\":\"Lithuanian\", \"local\":\"Lietuvių\", \"1\":\"lt\", \"2\":\"lit\", \"2T\":\"lit\", \"2B\":\"lit\", \"3\":\"lit\"},\n {\"name\":\"Luba-Katanga\", \"local\":\"Tshiluba\", \"1\":\"lu\", \"2\":\"lub\", \"2T\":\"lub\", \"2B\":\"lub\", \"3\":\"lub\"},\n {\"name\":\"Latvian\", \"local\":\"Latviešu\", \"1\":\"lv\", \"2\":\"lav\", \"2T\":\"lav\", \"2B\":\"lav\", \"3\":\"lav\"},\n {\"name\":\"Manx\", \"local\":\"Gaelg\", \"1\":\"gv\", \"2\":\"glv\", \"2T\":\"glv\", \"2B\":\"glv\", \"3\":\"glv\"},\n {\"name\":\"Macedonian\", \"local\":\"Македонски\", \"1\":\"mk\", \"2\":\"mkd\", \"2T\":\"mkd\", \"2B\":\"mac\", \"3\":\"mkd\"},\n {\"name\":\"Malagasy\", \"local\":\"Malagasy\", \"1\":\"mg\", \"2\":\"mlg\", \"2T\":\"mlg\", \"2B\":\"mlg\", \"3\":\"mlg\"},\n {\"name\":\"Malay\", \"local\":\"Bahasa Melayu\", \"1\":\"ms\", \"2\":\"msa\", \"2T\":\"msa\", \"2B\":\"may\", \"3\":\"msa\"},\n {\"name\":\"Malayalam\", \"local\":\"മലയാളം\", \"1\":\"ml\", \"2\":\"mal\", \"2T\":\"mal\", \"2B\":\"mal\", \"3\":\"mal\"},\n {\"name\":\"Maltese\", \"local\":\"Malti\", \"1\":\"mt\", \"2\":\"mlt\", \"2T\":\"mlt\", \"2B\":\"mlt\", \"3\":\"mlt\"},\n {\"name\":\"Māori\", \"local\":\"Māori\", \"1\":\"mi\", \"2\":\"mri\", \"2T\":\"mri\", \"2B\":\"mao\", \"3\":\"mri\"},\n {\"name\":\"Marathi\", \"local\":\"मराठी\", \"1\":\"mr\", \"2\":\"mar\", \"2T\":\"mar\", \"2B\":\"mar\", \"3\":\"mar\"},\n {\"name\":\"Marshallese\", \"local\":\"Kajin M̧ajeļ\", \"1\":\"mh\", \"2\":\"mah\", \"2T\":\"mah\", \"2B\":\"mah\", \"3\":\"mah\"},\n {\"name\":\"Mongolian\", \"local\":\"Монгол\", \"1\":\"mn\", \"2\":\"mon\", \"2T\":\"mon\", \"2B\":\"mon\", \"3\":\"mon\"},\n {\"name\":\"Nauru\", \"local\":\"Dorerin Naoero\", \"1\":\"na\", \"2\":\"nau\", \"2T\":\"nau\", \"2B\":\"nau\", \"3\":\"nau\"},\n {\"name\":\"Navajo\", \"local\":\"Diné Bizaad\", \"1\":\"nv\", \"2\":\"nav\", \"2T\":\"nav\", \"2B\":\"nav\", \"3\":\"nav\"},\n {\"name\":\"Northern Ndebele\", \"local\":\"isiNdebele\", \"1\":\"nd\", \"2\":\"nde\", \"2T\":\"nde\", \"2B\":\"nde\", \"3\":\"nde\"},\n {\"name\":\"Nepali\", \"local\":\"नेपाली\", \"1\":\"ne\", \"2\":\"nep\", \"2T\":\"nep\", \"2B\":\"nep\", \"3\":\"nep\"},\n {\"name\":\"Ndonga\", \"local\":\"Owambo\", \"1\":\"ng\", \"2\":\"ndo\", \"2T\":\"ndo\", \"2B\":\"ndo\", \"3\":\"ndo\"},\n {\"name\":\"Norwegian Bokmål\", \"local\":\"Norsk (Bokmål)\", \"1\":\"nb\", \"2\":\"nob\", \"2T\":\"nob\", \"2B\":\"nob\", \"3\":\"nob\", \"locale\": \"nb-NO\"},\n {\"name\":\"Norwegian Nynorsk\", \"local\":\"Norsk (Nynorsk)\", \"1\":\"nn\", \"2\":\"nno\", \"2T\":\"nno\", \"2B\":\"nno\", \"3\":\"nno\", \"locale\": \"nn-NO\"},\n {\"name\":\"Norwegian\", \"local\":\"Norsk\", \"1\":\"no\", \"2\":\"nor\", \"2T\":\"nor\", \"2B\":\"nor\", \"3\":\"nor\", \"locale\": \"no-NO\"},\n {\"name\":\"Nuosu\", \"local\":\"ꆈꌠ꒿ Nuosuhxop\", \"1\":\"ii\", \"2\":\"iii\", \"2T\":\"iii\", \"2B\":\"iii\", \"3\":\"iii\"},\n {\"name\":\"Southern Ndebele\", \"local\":\"isiNdebele\", \"1\":\"nr\", \"2\":\"nbl\", \"2T\":\"nbl\", \"2B\":\"nbl\", \"3\":\"nbl\"},\n {\"name\":\"Occitan\", \"local\":\"Occitan\", \"1\":\"oc\", \"2\":\"oci\", \"2T\":\"oci\", \"2B\":\"oci\", \"3\":\"oci\"},\n {\"name\":\"Ojibwe\", \"local\":\"ᐊᓂᔑᓈᐯᒧᐎᓐ\", \"1\":\"oj\", \"2\":\"oji\", \"2T\":\"oji\", \"2B\":\"oji\", \"3\":\"oji\"},\n {\"name\":\"Old Church Slavonic\", \"local\":\"Словѣ́ньскъ\", \"1\":\"cu\", \"2\":\"chu\", \"2T\":\"chu\", \"2B\":\"chu\", \"3\":\"chu\"},\n {\"name\":\"Oromo\", \"local\":\"Afaan Oromoo\", \"1\":\"om\", \"2\":\"orm\", \"2T\":\"orm\", \"2B\":\"orm\", \"3\":\"orm\"},\n {\"name\":\"Oriya\", \"local\":\"ଓଡି଼ଆ\", \"1\":\"or\", \"2\":\"ori\", \"2T\":\"ori\", \"2B\":\"ori\", \"3\":\"ori\"},\n {\"name\":\"Ossetian\", \"local\":\"Ирон æвзаг\", \"1\":\"os\", \"2\":\"oss\", \"2T\":\"oss\", \"2B\":\"oss\", \"3\":\"oss\"},\n {\"name\":\"Panjabi\", \"local\":\"ਪੰਜਾਬੀ\", \"1\":\"pa\", \"2\":\"pan\", \"2T\":\"pan\", \"2B\":\"pan\", \"3\":\"pan\", \"locale\": \"pa-IN\"},\n {\"name\":\"Pāli\", \"local\":\"पाऴि\", \"1\":\"pi\", \"2\":\"pli\", \"2T\":\"pli\", \"2B\":\"pli\", \"3\":\"pli\"},\n {\"name\":\"Persian\", \"local\":\"فارسی\", \"1\":\"fa\", \"2\":\"fas\", \"2T\":\"fas\", \"2B\":\"per\", \"3\":\"fas\"},\n {\"name\":\"Polish\", \"local\":\"Polski\", \"1\":\"pl\", \"2\":\"pol\", \"2T\":\"pol\", \"2B\":\"pol\", \"3\":\"pol\"},\n {\"name\":\"Pashto\", \"local\":\"پښتو\", \"1\":\"ps\", \"2\":\"pus\", \"2T\":\"pus\", \"2B\":\"pus\", \"3\":\"pus\"},\n {\"name\":\"Portuguese\", \"local\":\"Português\", \"1\":\"pt\", \"2\":\"por\", \"2T\":\"por\", \"2B\":\"por\", \"3\":\"por\", \"locale\": \"pt-PT\"},\n {\"name\":\"Portuguese (Brazil)\", \"local\":\"Português (Brasil)\", \"1\":\"pb\", \"2\":\"pob\", \"2T\":\"pob\", \"2B\":\"pob\", \"3\":\"pob\", \"locale\": \"pt-BR\"},\n {\"name\":\"Quechua\", \"local\":\"Runa Simi\", \"1\":\"qu\", \"2\":\"que\", \"2T\":\"que\", \"2B\":\"que\", \"3\":\"que\"},\n {\"name\":\"Romansh\", \"local\":\"Rumantsch\", \"1\":\"rm\", \"2\":\"roh\", \"2T\":\"roh\", \"2B\":\"roh\", \"3\":\"roh\"},\n {\"name\":\"Kirundi\", \"local\":\"Kirundi\", \"1\":\"rn\", \"2\":\"run\", \"2T\":\"run\", \"2B\":\"run\", \"3\":\"run\"},\n {\"name\":\"Romanian\", \"local\":\"Română\", \"1\":\"ro\", \"2\":\"ron\", \"2T\":\"ron\", \"2B\":\"rum\", \"3\":\"ron\"},\n {\"name\":\"Russian\", \"local\":\"Русский\", \"1\":\"ru\", \"2\":\"rus\", \"2T\":\"rus\", \"2B\":\"rus\", \"3\":\"rus\"},\n {\"name\":\"Sanskrit\", \"local\":\"संस्कृतम्\", \"1\":\"sa\", \"2\":\"san\", \"2T\":\"san\", \"2B\":\"san\", \"3\":\"san\"},\n {\"name\":\"Sardinian\", \"local\":\"Sardu\", \"1\":\"sc\", \"2\":\"srd\", \"2T\":\"srd\", \"2B\":\"srd\", \"3\":\"srd\"},\n {\"name\":\"Sindhi\", \"local\":\"سنڌي‎\", \"1\":\"sd\", \"2\":\"snd\", \"2T\":\"snd\", \"2B\":\"snd\", \"3\":\"snd\"},\n {\"name\":\"Northern Sami\", \"local\":\"Sámegiella\", \"1\":\"se\", \"2\":\"sme\", \"2T\":\"sme\", \"2B\":\"sme\", \"3\":\"sme\"},\n {\"name\":\"Samoan\", \"local\":\"Gagana Sāmoa\", \"1\":\"sm\", \"2\":\"smo\", \"2T\":\"smo\", \"2B\":\"smo\", \"3\":\"smo\"},\n {\"name\":\"Sango\", \"local\":\"Sängö\", \"1\":\"sg\", \"2\":\"sag\", \"2T\":\"sag\", \"2B\":\"sag\", \"3\":\"sag\"},\n {\"name\":\"Serbian\", \"local\":\"Српски\", \"1\":\"sr\", \"2\":\"srp\", \"2T\":\"srp\", \"2B\":\"srp\", \"3\":\"srp\"},\n {\"name\":\"Gaelic\", \"local\":\"Gàidhlig\", \"1\":\"gd\", \"2\":\"gla\", \"2T\":\"gla\", \"2B\":\"gla\", \"3\":\"gla\"},\n {\"name\":\"Shona\", \"local\":\"ChiShona\", \"1\":\"sn\", \"2\":\"sna\", \"2T\":\"sna\", \"2B\":\"sna\", \"3\":\"sna\"},\n {\"name\":\"Sinhala\", \"local\":\"සිංහල\", \"1\":\"si\", \"2\":\"sin\", \"2T\":\"sin\", \"2B\":\"sin\", \"3\":\"sin\"},\n {\"name\":\"Slovak\", \"local\":\"Slovenčina\", \"1\":\"sk\", \"2\":\"slk\", \"2T\":\"slk\", \"2B\":\"slo\", \"3\":\"slk\"},\n {\"name\":\"Slovene\", \"local\":\"Slovenščina\", \"1\":\"sl\", \"2\":\"slv\", \"2T\":\"slv\", \"2B\":\"slv\", \"3\":\"slv\"},\n {\"name\":\"Somali\", \"local\":\"Soomaaliga\", \"1\":\"so\", \"2\":\"som\", \"2T\":\"som\", \"2B\":\"som\", \"3\":\"som\"},\n {\"name\":\"Southern Sotho\", \"local\":\"Sesotho\", \"1\":\"st\", \"2\":\"sot\", \"2T\":\"sot\", \"2B\":\"sot\", \"3\":\"sot\"},\n {\"name\":\"Spanish\", \"local\":\"Español\", \"1\":\"es\", \"2\":\"spa\", \"2T\":\"spa\", \"2B\":\"spa\", \"3\":\"spa\", \"locale\": \"es-ES\"},\n {\"name\":\"Spanish (Latin America)\", \"local\":\"Español (América Latina)\", \"1\":\"es\", \"2\":\"spl\", \"2T\":\"spl\", \"2B\":\"spl\", \"3\":\"spl\", \"locale\": \"es-419\"},\n {\"name\":\"Sundanese\", \"local\":\"Basa Sunda\", \"1\":\"su\", \"2\":\"sun\", \"2T\":\"sun\", \"2B\":\"sun\", \"3\":\"sun\"},\n {\"name\":\"Swahili\", \"local\":\"Kiswahili\", \"1\":\"sw\", \"2\":\"swa\", \"2T\":\"swa\", \"2B\":\"swa\", \"3\":\"swa\"},\n {\"name\":\"Swati\", \"local\":\"SiSwati\", \"1\":\"ss\", \"2\":\"ssw\", \"2T\":\"ssw\", \"2B\":\"ssw\", \"3\":\"ssw\"},\n {\"name\":\"Swedish\", \"local\":\"Svenska\", \"1\":\"sv\", \"2\":\"swe\", \"2T\":\"swe\", \"2B\":\"swe\", \"3\":\"swe\"},\n {\"name\":\"Tamil\", \"local\":\"தமிழ்\", \"1\":\"ta\", \"2\":\"tam\", \"2T\":\"tam\", \"2B\":\"tam\", \"3\":\"tam\"},\n {\"name\":\"Telugu\", \"local\":\"తెలుగు\", \"1\":\"te\", \"2\":\"tel\", \"2T\":\"tel\", \"2B\":\"tel\", \"3\":\"tel\"},\n {\"name\":\"Tajik\", \"local\":\"Тоҷикӣ\", \"1\":\"tg\", \"2\":\"tgk\", \"2T\":\"tgk\", \"2B\":\"tgk\", \"3\":\"tgk\"},\n {\"name\":\"Thai\", \"local\":\"ภาษาไทย\", \"1\":\"th\", \"2\":\"tha\", \"2T\":\"tha\", \"2B\":\"tha\", \"3\":\"tha\"},\n {\"name\":\"Tigrinya\", \"local\":\"ትግርኛ\", \"1\":\"ti\", \"2\":\"tir\", \"2T\":\"tir\", \"2B\":\"tir\", \"3\":\"tir\"},\n {\"name\":\"Tibetan Standard\", \"local\":\"བོད་ཡིག\", \"1\":\"bo\", \"2\":\"bod\", \"2T\":\"bod\", \"2B\":\"tib\", \"3\":\"bod\"},\n {\"name\":\"Turkmen\", \"local\":\"Türkmençe\", \"1\":\"tk\", \"2\":\"tuk\", \"2T\":\"tuk\", \"2B\":\"tuk\", \"3\":\"tuk\"},\n {\"name\":\"Tagalog\", \"local\":\"Tagalog\", \"1\":\"tl\", \"2\":\"tgl\", \"2T\":\"tgl\", \"2B\":\"tgl\", \"3\":\"tgl\"},\n {\"name\":\"Tswana\", \"local\":\"Setswana\", \"1\":\"tn\", \"2\":\"tsn\", \"2T\":\"tsn\", \"2B\":\"tsn\", \"3\":\"tsn\"},\n {\"name\":\"Tonga\", \"local\":\"faka Tonga\", \"1\":\"to\", \"2\":\"ton\", \"2T\":\"ton\", \"2B\":\"ton\", \"3\":\"ton\"},\n {\"name\":\"Turkish\", \"local\":\"Türkçe\", \"1\":\"tr\", \"2\":\"tur\", \"2T\":\"tur\", \"2B\":\"tur\", \"3\":\"tur\"},\n {\"name\":\"Tsonga\", \"local\":\"Xitsonga\", \"1\":\"ts\", \"2\":\"tso\", \"2T\":\"tso\", \"2B\":\"tso\", \"3\":\"tso\"},\n {\"name\":\"Tatar\", \"local\":\"Татарча\", \"1\":\"tt\", \"2\":\"tat\", \"2T\":\"tat\", \"2B\":\"tat\", \"3\":\"tat\"},\n {\"name\":\"Twi\", \"local\":\"Twi\", \"1\":\"tw\", \"2\":\"twi\", \"2T\":\"twi\", \"2B\":\"twi\", \"3\":\"twi\"},\n {\"name\":\"Tahitian\", \"local\":\"Reo Mā’ohi\", \"1\":\"ty\", \"2\":\"tah\", \"2T\":\"tah\", \"2B\":\"tah\", \"3\":\"tah\"},\n {\"name\":\"Uyghur\", \"local\":\"ئۇيغۇرچه\", \"1\":\"ug\", \"2\":\"uig\", \"2T\":\"uig\", \"2B\":\"uig\", \"3\":\"uig\"},\n {\"name\":\"Ukrainian\", \"local\":\"Українська\", \"1\":\"uk\", \"2\":\"ukr\", \"2T\":\"ukr\", \"2B\":\"ukr\", \"3\":\"ukr\"},\n {\"name\":\"Urdu\", \"local\":\"اردو\", \"1\":\"ur\", \"2\":\"urd\", \"2T\":\"urd\", \"2B\":\"urd\", \"3\":\"urd\"},\n {\"name\":\"Uzbek\", \"local\":\"O‘zbek\", \"1\":\"uz\", \"2\":\"uzb\", \"2T\":\"uzb\", \"2B\":\"uzb\", \"3\":\"uzb\"},\n {\"name\":\"Venda\", \"local\":\"Tshivenḓa\", \"1\":\"ve\", \"2\":\"ven\", \"2T\":\"ven\", \"2B\":\"ven\", \"3\":\"ven\"},\n {\"name\":\"Vietnamese\", \"local\":\"Tiếng Việt\", \"1\":\"vi\", \"2\":\"vie\", \"2T\":\"vie\", \"2B\":\"vie\", \"3\":\"vie\"},\n {\"name\":\"Volapük\", \"local\":\"Volapük\", \"1\":\"vo\", \"2\":\"vol\", \"2T\":\"vol\", \"2B\":\"vol\", \"3\":\"vol\"},\n {\"name\":\"Walloon\", \"local\":\"Walon\", \"1\":\"wa\", \"2\":\"wln\", \"2T\":\"wln\", \"2B\":\"wln\", \"3\":\"wln\"},\n {\"name\":\"Welsh\", \"local\":\"Cymraeg\", \"1\":\"cy\", \"2\":\"cym\", \"2T\":\"cym\", \"2B\":\"wel\", \"3\":\"cym\"},\n {\"name\":\"Wolof\", \"local\":\"Wolof\", \"1\":\"wo\", \"2\":\"wol\", \"2T\":\"wol\", \"2B\":\"wol\", \"3\":\"wol\"},\n {\"name\":\"Western Frisian\", \"local\":\"Frysk\", \"1\":\"fy\", \"2\":\"fry\", \"2T\":\"fry\", \"2B\":\"fry\", \"3\":\"fry\"},\n {\"name\":\"Xhosa\", \"local\":\"isiXhosa\", \"1\":\"xh\", \"2\":\"xho\", \"2T\":\"xho\", \"2B\":\"xho\", \"3\":\"xho\"},\n {\"name\":\"Yiddish\", \"local\":\"ייִדיש\", \"1\":\"yi\", \"2\":\"yid\", \"2T\":\"yid\", \"2B\":\"yid\", \"3\":\"yid\"},\n {\"name\":\"Yoruba\", \"local\":\"Yorùbá\", \"1\":\"yo\", \"2\":\"yor\", \"2T\":\"yor\", \"2B\":\"yor\", \"3\":\"yor\"},\n {\"name\":\"Zhuang\", \"local\":\"Cuengh\", \"1\":\"za\", \"2\":\"zha\", \"2T\":\"zha\", \"2B\":\"zha\", \"3\":\"zha\"},\n {\"name\":\"Zulu\", \"local\":\"isiZulu\", \"1\":\"zu\", \"2\":\"zul\", \"2T\":\"zul\", \"2B\":\"zul\", \"3\":\"zul\"}\n];\n","var data = require('./data');\n\nvar langs = {\n all: allLanguages,\n has: hasLanguage,\n codes: getCodes,\n names: getNames,\n where: findBy\n};\n\nmodule.exports = langs;\n\n// allLanguages :: -> Language[]\nfunction allLanguages() {\n return data;\n}\n\n// hasLanguage :: String, String -> Boolean\nfunction hasLanguage(crit, val) {\n return void(0) !== findBy(crit, val);\n}\n\n// getCodes :: String -> String[]\nfunction getCodes(type) {\n if (isValidType(type)) {\n return forAll(data, function getCodesIterator(row) {\n return row[type];\n });\n }\n}\n\n// getNames :: Boolean -> String[]\nfunction getNames(local) {\n return forAll(data, function getNamesIterator(row) {\n return local ? row.local : row.name;\n });\n}\n\n// findBy :: String, String -> Language\nfunction findBy(crit, val) {\n for (var i = 0; i < data.length; i++) {\n if (val === data[i][crit]) {\n return data[i];\n }\n }\n}\n\n// forAll :: Array, Function -> Array\nfunction forAll(arr, fn) {\n var out = [], i;\n for (i = 0; i < arr.length; i++) {\n out.push(fn(arr[i], i));\n }\n\n return out;\n}\n\n// isValidType :: String -> Boolean\nfunction isValidType(type) {\n var types = [1, 2, 3, '1', '2', '2B', '2T', '3'];\n return -1 !== types.indexOf(type);\n}\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, true, true);\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = cloneDeep;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array ? array.length : 0;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\n/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return baseFindIndex(array, baseIsNaN, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a cache value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\nfunction baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\nfunction castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order of result values is determined by the\n * order they occur in the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\nvar intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n});\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = intersection;\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","/*! magnet-uri. MIT License. WebTorrent LLC <https://webtorrent.io/opensource> */\nmodule.exports = magnetURIDecode\nmodule.exports.decode = magnetURIDecode\nmodule.exports.encode = magnetURIEncode\n\nconst base32 = require('thirty-two')\nconst bep53Range = require('bep53-range')\n\n/**\n * Parse a magnet URI and return an object of keys/values\n *\n * @param {string} uri\n * @return {Object} parsed uri\n */\nfunction magnetURIDecode (uri) {\n const result = {}\n\n // Support 'magnet:' and 'stream-magnet:' uris\n const data = uri.split('magnet:?')[1]\n\n const params = (data && data.length >= 0)\n ? data.split('&')\n : []\n\n params.forEach(param => {\n const keyval = param.split('=')\n\n // This keyval is invalid, skip it\n if (keyval.length !== 2) return\n\n const key = keyval[0]\n let val = keyval[1]\n\n // Clean up torrent name\n if (key === 'dn') val = decodeURIComponent(val).replace(/\\+/g, ' ')\n\n // Address tracker (tr), exact source (xs), and acceptable source (as) are encoded\n // URIs, so decode them\n if (key === 'tr' || key === 'xs' || key === 'as' || key === 'ws') {\n val = decodeURIComponent(val)\n }\n\n // Return keywords as an array\n if (key === 'kt') val = decodeURIComponent(val).split('+')\n\n // Cast file index (ix) to a number\n if (key === 'ix') val = Number(val)\n\n // bep53\n if (key === 'so') val = bep53Range.parse(decodeURIComponent(val).split(','))\n\n // If there are repeated parameters, return an array of values\n if (result[key]) {\n if (!Array.isArray(result[key])) {\n result[key] = [result[key]]\n }\n\n result[key].push(val)\n } else {\n result[key] = val\n }\n })\n\n // Convenience properties for parity with `parse-torrent-file` module\n let m\n if (result.xt) {\n const xts = Array.isArray(result.xt) ? result.xt : [result.xt]\n xts.forEach(xt => {\n if ((m = xt.match(/^urn:btih:(.{40})/))) {\n result.infoHash = m[1].toLowerCase()\n } else if ((m = xt.match(/^urn:btih:(.{32})/))) {\n const decodedStr = base32.decode(m[1])\n result.infoHash = Buffer.from(decodedStr, 'binary').toString('hex')\n } else if ((m = xt.match(/^urn:btmh:1220(.{64})/))) {\n result.infoHashV2 = m[1].toLowerCase()\n }\n })\n }\n\n if (result.xs) {\n const xss = Array.isArray(result.xs) ? result.xs : [result.xs]\n xss.forEach(xs => {\n if ((m = xs.match(/^urn:btpk:(.{64})/))) {\n result.publicKey = m[1].toLowerCase()\n }\n })\n }\n\n if (result.infoHash) result.infoHashBuffer = Buffer.from(result.infoHash, 'hex')\n if (result.infoHashV2) result.infoHashV2Buffer = Buffer.from(result.infoHashV2, 'hex')\n if (result.publicKey) result.publicKeyBuffer = Buffer.from(result.publicKey, 'hex')\n\n if (result.dn) result.name = result.dn\n if (result.kt) result.keywords = result.kt\n\n result.announce = []\n if (typeof result.tr === 'string' || Array.isArray(result.tr)) {\n result.announce = result.announce.concat(result.tr)\n }\n\n result.urlList = []\n if (typeof result.as === 'string' || Array.isArray(result.as)) {\n result.urlList = result.urlList.concat(result.as)\n }\n if (typeof result.ws === 'string' || Array.isArray(result.ws)) {\n result.urlList = result.urlList.concat(result.ws)\n }\n\n result.peerAddresses = []\n if (typeof result['x.pe'] === 'string' || Array.isArray(result['x.pe'])) {\n result.peerAddresses = result.peerAddresses.concat(result['x.pe'])\n }\n\n // remove duplicates by converting to Set and back\n result.announce = Array.from(new Set(result.announce))\n result.urlList = Array.from(new Set(result.urlList))\n result.peerAddresses = Array.from(new Set(result.peerAddresses))\n\n return result\n}\n\nfunction magnetURIEncode (obj) {\n obj = Object.assign({}, obj) // clone obj, so we can mutate it\n\n // support using convenience names, in addition to spec names\n // (example: `infoHash` for `xt`, `name` for `dn`)\n\n // Deduplicate xt by using a set\n let xts = new Set()\n if (obj.xt && typeof obj.xt === 'string') xts.add(obj.xt)\n if (obj.xt && Array.isArray(obj.xt)) xts = new Set(obj.xt)\n if (obj.infoHashBuffer) xts.add(`urn:btih:${obj.infoHashBuffer.toString('hex')}`)\n if (obj.infoHash) xts.add(`urn:btih:${obj.infoHash}`)\n if (obj.infoHashV2Buffer) xts.add(obj.xt = `urn:btmh:1220${obj.infoHashV2Buffer.toString('hex')}`)\n if (obj.infoHashV2) xts.add(`urn:btmh:1220${obj.infoHashV2}`)\n const xtsDeduped = Array.from(xts)\n if (xtsDeduped.length === 1) obj.xt = xtsDeduped[0]\n if (xtsDeduped.length > 1) obj.xt = xtsDeduped\n\n if (obj.publicKeyBuffer) obj.xs = `urn:btpk:${obj.publicKeyBuffer.toString('hex')}`\n if (obj.publicKey) obj.xs = `urn:btpk:${obj.publicKey}`\n if (obj.name) obj.dn = obj.name\n if (obj.keywords) obj.kt = obj.keywords\n if (obj.announce) obj.tr = obj.announce\n if (obj.urlList) {\n obj.ws = obj.urlList\n delete obj.as\n }\n if (obj.peerAddresses) obj['x.pe'] = obj.peerAddresses\n\n let result = 'magnet:?'\n Object.keys(obj)\n .filter(key => key.length === 2 || key === 'x.pe')\n .forEach((key, i) => {\n const values = Array.isArray(obj[key]) ? obj[key] : [obj[key]]\n values.forEach((val, j) => {\n if ((i > 0 || j > 0) && ((key !== 'kt' && key !== 'so') || j === 0)) result += '&'\n\n if (key === 'dn') val = encodeURIComponent(val).replace(/%20/g, '+')\n if (key === 'tr' || key === 'as' || key === 'ws') {\n val = encodeURIComponent(val)\n }\n // Don't URI encode BEP46 keys\n if (key === 'xs' && !val.startsWith('urn:btpk:')) {\n val = encodeURIComponent(val)\n }\n if (key === 'kt') val = encodeURIComponent(val)\n if (key === 'so') return\n\n if (key === 'kt' && j > 0) result += `+${val}`\n else result += `${key}=${val}`\n })\n if (key === 'so') result += `${key}=${bep53Range.compose(values)}`\n })\n\n return result\n}\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"error-container\":\"error-container-OJnoc\",\"error-image\":\"error-image-qU9Qo\",\"error-message\":\"error-message-kW59Z\",\"buttons-container\":\"buttons-container-tQonN\",\"button-container\":\"button-container-vLSQK\",\"label\":\"label-Up_te\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"updater-banner\":\"updater-banner-MjMLN\",\"button\":\"button-ixcOU\",\"close\":\"close-Quid9\",\"icon\":\"icon-N2Lyd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fade-in\":\"fade-in-pFkt_\",\"fade-in-no-motion\":\"fade-in-no-motion-lYmxL\",\"slide-up\":\"slide-up-lSxrC\",\"toasts-container\":\"toasts-container-oKECy\",\"tooltip-container\":\"tooltip-container-Qpse8\",\"file-drop-container\":\"file-drop-container-gHJoy\",\"updater-banner-container\":\"updater-banner-container-Bk1mq\",\"router\":\"router-_65XU\",\"loader-container\":\"loader-container-vwvnb\",\"error-container\":\"error-container-VZXwH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toast-item-container\":\"toast-item-container-nG0uk\",\"success\":\"success-eIDTa\",\"icon-container\":\"icon-container-rjAiH\",\"icon\":\"icon-Y4I_O\",\"error\":\"error-quyOd\",\"info\":\"info-KEWq8\",\"info-container\":\"info-container-xD9V6\",\"title-container\":\"title-container-VFReJ\",\"message-container\":\"message-container-znkCj\",\"close-button-container\":\"close-button-container-YtyYE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip-placeholder\":\"tooltip-placeholder-niioe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip-item\":\"tooltip-item-gfYXu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addon-details-container\":\"addon-details-container-tUlp2\",\"title-container\":\"title-container-Ca076\",\"logo\":\"logo-Nynh9\",\"icon\":\"icon-ZYXtC\",\"name-container\":\"name-container-XxPAj\",\"name\":\"name-i0o3Y\",\"version\":\"version-FdUq6\",\"section-container\":\"section-container-N6QHW\",\"section-header\":\"section-header-tbXCb\",\"section-label\":\"section-label-_R7gz\",\"transport-url-label\":\"transport-url-label-upr4V\",\"disclaimer-label\":\"disclaimer-label-I7kvM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addon-details-modal-container\":\"addon-details-modal-container-aBFaQ\",\"addon-details-container\":\"addon-details-container-VdGrt\",\"addon-details-message-container\":\"addon-details-message-container-X2sRf\",\"cancel-button\":\"cancel-button-zuUX6\",\"cancel-button-label\":\"cancel-button-label-ZOQUJ\",\"uninstall-button\":\"uninstall-button-iLxLs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bottom-sheet\":\"bottom-sheet-VtqY2\",\"backdrop\":\"backdrop-Doe6y\",\"container\":\"container-yiLtz\",\"dragging\":\"dragging-ML0cp\",\"heading\":\"heading-xf2ct\",\"handle\":\"handle-TCLds\",\"title\":\"title-QtERv\",\"content\":\"content-ElxXl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button-container\":\"button-container-zVLH6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox\":\"checkbox-_AF32\",\"label\":\"label-UHMAy\",\"link\":\"link-ih0xx\",\"checkbox-container\":\"checkbox-container-O5cy3\",\"checkbox-icon\":\"checkbox-icon-viDqg\",\"disabled\":\"disabled-oxpfi\",\"error\":\"error-LWgU0\",\"checked\":\"checked-cf9YT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chip\":\"chip-L3r9A\",\"active\":\"active-jnhyP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chips\":\"chips-Uw41c\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"color-input-container\":\"color-input-container-FAQiP\",\"transparent-label-container\":\"transparent-label-container-uuGMx\",\"transparent-label\":\"transparent-label-NxKvi\",\"color-picker-container\":\"color-picker-container-szQfD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"color-picker-container\":\"color-picker-container-Cny5U\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"context-menu-container\":\"context-menu-container-TdwXy\",\"context-menu\":\"context-menu-kWx7C\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"event-modal\":\"event-modal-lIGmX\",\"body-container\":\"body-container-x9t4v\",\"image\":\"image-iUBVI\",\"info-container\":\"info-container-ewqxH\",\"title-container\":\"title-container-tBMsA\",\"title\":\"title-lE2cq\",\"label\":\"label-KwjpM\",\"addon-container\":\"addon-container-YNNkt\",\"icon\":\"icon-n54me\",\"name\":\"name-DVEMC\",\"action-button\":\"action-button-QSvOg\",\"button-label\":\"button-label-hRZRW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"horizontal-scroll\":\"horizontal-scroll-pGtUW\",\"left\":\"left-MCk5v\",\"right\":\"right-bxsRb\",\"center\":\"center-J9E02\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main-nav-bars-container\":\"main-nav-bars-container-wNjS5\",\"horizontal-nav-bar\":\"horizontal-nav-bar-ji5GB\",\"vertical-nav-bar\":\"vertical-nav-bar-qGRze\",\"nav-content-container\":\"nav-content-container-zl9hQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-item-container\":\"meta-item-container-Tj0Ib\",\"poster-container\":\"poster-container-qkw48\",\"dismiss-icon-layer\":\"dismiss-icon-layer-BWztF\",\"poster-image-layer\":\"poster-image-layer-KimPZ\",\"play-icon-layer\":\"play-icon-layer-vpQIo\",\"play-icon-outer\":\"play-icon-outer-r3iKR\",\"play-icon-background\":\"play-icon-background-Uazjh\",\"title-bar-container\":\"title-bar-container-1Ba0x\",\"menu-label-container\":\"menu-label-container-ChuX8\",\"poster-shape-poster\":\"poster-shape-poster-MEhNx\",\"poster-shape-square\":\"poster-shape-square-meMeN\",\"poster-shape-landscape\":\"poster-shape-landscape-kF6i8\",\"dismiss-icon\":\"dismiss-icon-db3fv\",\"dismiss-icon-backdrop\":\"dismiss-icon-backdrop-MkuLQ\",\"watched-icon-layer\":\"watched-icon-layer-bi3DO\",\"watched-icon\":\"watched-icon-zuUdK\",\"poster-image\":\"poster-image-NiV7O\",\"placeholder-icon\":\"placeholder-icon-xttvb\",\"play-icon\":\"play-icon-QmEEA\",\"progress-bar-layer\":\"progress-bar-layer-LVYYi\",\"progress-bar\":\"progress-bar-w1rNN\",\"progress-bar-background\":\"progress-bar-background-kyRgp\",\"new-videos\":\"new-videos-cwuD9\",\"layer\":\"layer-dQmEe\",\"icon\":\"icon-gh1t9\",\"label\":\"label-ZZ2m7\",\"title-label\":\"title-label-VnEAc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"action-button-container\":\"action-button-container-sVyRr\",\"icon-container\":\"icon-container-rQBA0\",\"icon\":\"icon-RouVG\",\"label-container\":\"label-container-xslEF\",\"label\":\"label-WCWIO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-links-container\":\"meta-links-container-dh69_\",\"label-container\":\"label-container-dYN2B\",\"links-container\":\"links-container-C8Mw9\",\"link-container\":\"link-container-gHxPW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-preview-placeholder-container\":\"meta-preview-placeholder-container-IVU4R\",\"meta-info-container\":\"meta-info-container-zVaVX\",\"logo-container\":\"logo-container-CES89\",\"duration-release-info-container\":\"duration-release-info-container-JQE0f\",\"duration-container\":\"duration-container-tVH7K\",\"release-info-container\":\"release-info-container-dbZja\",\"genres-container\":\"genres-container-MkCtO\",\"genres-header-container\":\"genres-header-container-XNnjL\",\"genre-label-container\":\"genre-label-container-r3gbk\",\"action-buttons-container\":\"action-buttons-container-FHoD2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ratings-container\":\"ratings-container-eQRLs\",\"icon-container\":\"icon-container-kow_q\",\"icon\":\"icon-QwGlD\",\"disabled\":\"disabled-W7ks1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-preview-container\":\"meta-preview-container-o22hc\",\"compact\":\"compact-ii1zu\",\"meta-info-container\":\"meta-info-container-ub8AH\",\"logo\":\"logo-X3hTV\",\"logo-placeholder\":\"logo-placeholder-rE1ld\",\"runtime-release-info-container\":\"runtime-release-info-container-BGd_r\",\"runtime-label\":\"runtime-label-TzAGI\",\"release-info-label\":\"release-info-label-LPJMB\",\"description-container\":\"description-container-yi8iU\",\"action-buttons-container\":\"action-buttons-container-XbKVa\",\"action-button\":\"action-button-XIZa3\",\"background-image-layer\":\"background-image-layer-kk_WI\",\"background-image\":\"background-image-9zToE\",\"imdb-button-container\":\"imdb-button-container-gGjxp\",\"label\":\"label-MXv72\",\"icon\":\"icon-N_uIU\",\"label-container\":\"label-container-_VXZt\",\"meta-links\":\"meta-links-Xiao3\",\"show-button\":\"show-button-_yuOF\",\"ratings\":\"ratings-zUtHH\",\"share-prompt\":\"share-prompt-QbhIA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-row-placeholder-container\":\"meta-row-placeholder-container-x8ykQ\",\"header-container\":\"header-container-LRLpi\",\"title-container\":\"title-container-RuV2b\",\"see-all-container\":\"see-all-container-GtLII\",\"label\":\"label-FP9bt\",\"icon\":\"icon-U2Gj8\",\"meta-items-container\":\"meta-items-container-M4vN4\",\"meta-item\":\"meta-item-iOgzp\",\"poster-container\":\"poster-container-WX2KD\",\"title-bar-container\":\"title-bar-container-U0ZAT\",\"title-label\":\"title-label-mb1GR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"meta-row-container\":\"meta-row-container-xtlB1\",\"header-container\":\"header-container-tR3Ev\",\"title-container\":\"title-container-Mkwnq\",\"see-all-container\":\"see-all-container-MoOtW\",\"label\":\"label-bytni\",\"icon\":\"icon-Sj7HO\",\"message-container\":\"message-container-KWmlO\",\"meta-items-container\":\"meta-items-container-qcuUA\",\"meta-item\":\"meta-item-QFHCh\",\"poster-shape-poster\":\"poster-shape-poster-LKBza\",\"poster-shape-square\":\"poster-shape-square-g5a1z\",\"poster-shape-landscape\":\"poster-shape-landscape-KmmRZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal-container\":\"modal-container-OuxEF\",\"modal-dialog-container\":\"modal-dialog-container-DZMKq\",\"modal-dialog-background\":\"modal-dialog-background-vZpB_\",\"close-button-container\":\"close-button-container-cmxAp\",\"icon\":\"icon-OYzlV\",\"modal-dialog-content\":\"modal-dialog-content-Xgv7Z\",\"title-container\":\"title-container-v2mmF\",\"body-container\":\"body-container-H80dD\",\"buttons-container\":\"buttons-container-e_JoR\",\"action-button\":\"action-button-eprQG\",\"label\":\"label-wbfsE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label-container\":\"label-container-dhjQS\",\"icon\":\"icon-jg2il\",\"label\":\"label-AR_l8\",\"modal-container\":\"modal-container-WaYOG\",\"menu-container\":\"menu-container-qiz0X\",\"option-container\":\"option-container-mO9yW\",\"no-options-container\":\"no-options-container-z47Tg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"dropdown-MWaxp\",\"open\":\"open-yuN4f\",\"back-button\":\"back-button-dGLHu\",\"back-button-icon\":\"back-button-icon-VdHBJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"option-HcOSE\",\"label\":\"label-IR8xX\",\"icon\":\"icon-I_g2q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"multiselect-menu\":\"multiselect-menu-qMdaj\",\"disabled\":\"disabled-RaqL9\",\"multiselect-button\":\"multiselect-button-XXdgA\",\"label\":\"label-SoEGc\",\"icon\":\"icon-gQU96\",\"open\":\"open-TvFQd\",\"active\":\"active-gKhO5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"nav-menu-popup-label\":\"nav-menu-popup-label-XmUBo\",\"nav-menu-container\":\"nav-menu-container-Pl25j\",\"with-warning\":\"with-warning-SNmXK\",\"user-info-container\":\"user-info-container-uigVE\",\"avatar-container\":\"avatar-container-f6ino\",\"user-info-details\":\"user-info-details-XJ5OH\",\"email-container\":\"email-container-LNcms\",\"email-label\":\"email-label-IFT0d\",\"logout-button-container\":\"logout-button-container-prHdW\",\"logout-label\":\"logout-label-HhwtK\",\"nav-menu-section\":\"nav-menu-section-j87xd\",\"nav-menu-option-container\":\"nav-menu-option-container-Qj9Xh\",\"icon\":\"icon-MRjOP\",\"nav-menu-option-label\":\"nav-menu-option-label-d7fgK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search-bar-container\":\"search-bar-container-asfq1\",\"search-input\":\"search-input-IQ0ZW\",\"placeholder-label\":\"placeholder-label-XyrN_\",\"submit-button-container\":\"submit-button-container-MImNa\",\"icon\":\"icon-TkvAO\",\"menu-container\":\"menu-container-GcXNG\",\"label\":\"label-J908i\",\"title\":\"title-s74ty\",\"search-history-clear\":\"search-history-clear-ap0h8\",\"items\":\"items-P1xS5\",\"item\":\"item-TgYCX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"horizontal-nav-bar-container\":\"horizontal-nav-bar-container-Y_zvK\",\"logo-container\":\"logo-container-jteMT\",\"logo\":\"logo-oPx1q\",\"back-button-container\":\"back-button-container-lDB1N\",\"title\":\"title-DGh6h\",\"search-bar\":\"search-bar-h60ja\",\"buttons-container\":\"buttons-container-Oc5z1\",\"button-container\":\"button-container-xT9_L\",\"icon\":\"icon-T8MU6\",\"menu-button-container\":\"menu-button-container-DtW4v\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"nav-tab-button-container\":\"nav-tab-button-container-dYhs0\",\"label\":\"label-BCz2f\",\"icon\":\"icon-TzPrK\",\"logo\":\"logo-xJBE9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"vertical-nav-bar-container\":\"vertical-nav-bar-container-UPAkA\",\"nav-tab-button\":\"nav-tab-button-tW6qT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"number-input\":\"number-input-igJ35\",\"button\":\"button-GWY2o\",\"icon\":\"icon-EndAk\",\"number-display\":\"number-display-hLJ72\",\"label\":\"label-y4qDZ\",\"value\":\"value-Y2xdx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label-container\":\"label-container-XOyzm\",\"menu-container\":\"menu-container-B6cqK\",\"menu-direction-top-left\":\"menu-direction-top-left-ongjn\",\"menu-direction-bottom-left\":\"menu-direction-bottom-left-Dvtqk\",\"menu-direction-top-right\":\"menu-direction-top-right-tmrFG\",\"menu-direction-bottom-right\":\"menu-direction-bottom-right-aJ89V\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"radio-button\":\"radio-button-SGEc1\",\"radio-container\":\"radio-container-wPddo\",\"inner-circle\":\"inner-circle-vdtUP\",\"disabled\":\"disabled-ZzMU9\",\"error\":\"error-_vY0h\",\"selected\":\"selected-M_zHA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search-bar-container\":\"search-bar-container-sTkGP\",\"search-input\":\"search-input-Q18HV\",\"icon\":\"icon-M3jX0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search-bar-container\":\"search-bar-container-p4tSt\",\"search-input\":\"search-input-bAgAh\",\"icon\":\"icon-QOYfJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"share-prompt-container\":\"share-prompt-container-EXOaj\",\"buttons-container\":\"buttons-container-fiSbJ\",\"button-container\":\"button-container-KJoeC\",\"icon\":\"icon-OX8pK\",\"facebook-button\":\"facebook-button-La6ud\",\"x-button\":\"x-button-pA7ym\",\"reddit-button\":\"reddit-button-sd07c\",\"url-container\":\"url-container-OKpfh\",\"url-text-input\":\"url-text-input-nqDsC\",\"copy-button\":\"copy-button-XmXGg\",\"label\":\"label-gMoQ8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"active-slider-within\":\"active-slider-within-NcgYf\",\"slider-container\":\"slider-container-nJz5F\",\"layer\":\"layer-aC5Vt\",\"track\":\"track-gItfW\",\"audio-boost\":\"audio-boost-AyRq0\",\"track-before\":\"track-before-kJzIb\",\"track-after\":\"track-after-pUXC0\",\"thumb\":\"thumb-PiTF5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text-input\":\"text-input-hnLiz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toggle-container\":\"toggle-container-lZfHP\",\"toggle\":\"toggle-toOWM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"video-placeholder-container\":\"video-placeholder-container-DgoIs\",\"info-container\":\"info-container-BATmf\",\"name-container\":\"name-container-N4C39\",\"released-container\":\"released-container-egHHb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"video-container\":\"video-container-ezBpK\",\"thumbnail-container\":\"thumbnail-container-Zm8Cl\",\"thumbnail\":\"thumbnail-J81W3\",\"blurred\":\"blurred-ZmA2z\",\"placeholder-icon\":\"placeholder-icon-GNOI3\",\"progress-bar-container\":\"progress-bar-container-w8eFT\",\"progress-bar\":\"progress-bar-E23CT\",\"progress-bar-background\":\"progress-bar-background-Q7aEH\",\"info-container\":\"info-container-xyynk\",\"title-container\":\"title-container-NcfV9\",\"flex-row-container\":\"flex-row-container-CAyQu\",\"released-container\":\"released-container-XLPqf\",\"upcoming-watched-container\":\"upcoming-watched-container-msCaq\",\"upcoming-container\":\"upcoming-container-LXfQ7\",\"watched-container\":\"watched-container-gvzs3\",\"flag-icon\":\"flag-icon-RDrvf\",\"flag-label\":\"flag-label-zJloD\",\"context-menu-content\":\"context-menu-content-ItIFy\",\"context-menu-option-container\":\"context-menu-option-container-KNVWj\",\"context-menu-option-label\":\"context-menu-option-label-dy2nc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addon-container\":\"addon-container-lC5KN\",\"logo-container\":\"logo-container-ZcSSC\",\"logo\":\"logo-WrsGF\",\"icon\":\"icon-GxVbY\",\"info-container\":\"info-container-AdMB6\",\"name-container\":\"name-container-qIAg8\",\"version-container\":\"version-container-zdPyN\",\"types-container\":\"types-container-DaOrg\",\"description-container\":\"description-container-v7Jhe\",\"buttons-container\":\"buttons-container-g0xXr\",\"action-buttons-container\":\"action-buttons-container-xMVmz\",\"install-button-container\":\"install-button-container-yfcq5\",\"configure-button-container\":\"configure-button-container-VwVAQ\",\"uninstall-button-container\":\"uninstall-button-container-oV4Yo\",\"share-button-container\":\"share-button-container-s3gwP\",\"label\":\"label-OnWh2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addon-container\":\"addon-container-A53Om\",\"content\":\"content-gjK8A\",\"logo-container\":\"logo-container-uixVa\",\"info-container\":\"info-container-EuwPe\",\"placeholder-pill\":\"placeholder-pill-OmvfW\",\"buttons-container\":\"buttons-container-_S1YF\",\"action-buttons-container\":\"action-buttons-container-bYZoV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"addons-container\":\"addons-container-ogGYu\",\"addons-content\":\"addons-content-zhFBl\",\"addons-list-container\":\"addons-list-container-Ovr2Z\",\"selectable-inputs-container\":\"selectable-inputs-container-tUul1\",\"add-button-container\":\"add-button-container-SkafT\",\"icon\":\"icon-HsyZS\",\"add-button-label\":\"add-button-label-NN6bu\",\"select-input-container\":\"select-input-container-KqG8N\",\"spacing\":\"spacing-wH1w5\",\"search-bar\":\"search-bar-k7MXd\",\"filter-button\":\"filter-button-lLJ1X\",\"filter-icon\":\"filter-icon-LUDTS\",\"message-container\":\"message-container-GBw0P\",\"addon\":\"addon-whmdO\",\"filters-modal\":\"filters-modal-w6oWY\",\"add-addon-modal-container\":\"add-addon-modal-container-KR5ny\",\"notice\":\"notice-UQkO1\",\"addon-url-input\":\"addon-url-input-ucetZ\",\"cancel-button\":\"cancel-button-R2AxR\",\"share-modal-container\":\"share-modal-container-DkzPM\",\"title-container\":\"title-container-La49g\",\"logo\":\"logo-PmYDP\",\"name-container\":\"name-container-m_Sz0\",\"name\":\"name-YD0xd\",\"version\":\"version-wuAFB\",\"share-prompt-container\":\"share-prompt-container-vaK4P\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"warning-container\":\"warning-container-_GJlx\",\"warning-statement\":\"warning-statement-MQjVq\",\"actions\":\"actions-IOe34\",\"action\":\"action-t06kj\",\"label\":\"label-PkwRv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"board-container\":\"board-container-DTN_b\",\"board-content-container\":\"board-content-container-ToQTz\",\"board-content\":\"board-content-nPWv1\",\"board-row\":\"board-row-CoJrZ\",\"board-warning-container\":\"board-warning-container-a4m04\",\"board-row-poster\":\"board-row-poster-QPQqC\",\"board-row-square\":\"board-row-square-pgaZ3\",\"continue-watching-row\":\"continue-watching-row-ZiNSa\",\"board-row-landscape\":\"board-row-landscape-FRGXx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"calendar\":\"calendar-cH2jw\",\"content\":\"content-wBwrQ\",\"main\":\"main-vWt7d\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"details\":\"details-EuHwi\",\"video\":\"video-BIs3a\",\"name\":\"name-vpn8u\",\"info\":\"info-n1Tz1\",\"icon\":\"icon-Di3yP\",\"placeholder\":\"placeholder-Kigxt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"item\":\"item-PwXPg\",\"heading\":\"heading-aqSxF\",\"body\":\"body-pUnX4\",\"video\":\"video-XnjiE\",\"name\":\"name-tepO3\",\"info\":\"info-dnUvu\",\"icon\":\"icon-bz23A\",\"placeholder\":\"placeholder-NxxV1\",\"text\":\"text-x3anZ\",\"today\":\"today-JJfHO\",\"active\":\"active-ymNy0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"list\":\"list-fa_2a\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"placeholder\":\"placeholder-pCQTz\",\"title\":\"title-bE4zd\",\"image-container\":\"image-container-DOkaE\",\"image\":\"image-qgtvg\",\"overview\":\"overview-RGglv\",\"point\":\"point-iTc1_\",\"icon\":\"icon-Y5Zkw\",\"text\":\"text-Pa9GN\",\"button-container\":\"button-container-fBjqZ\",\"button\":\"button-DsyS9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selector\":\"selector-uRGQ6\",\"prev\":\"prev-__2gh\",\"next\":\"next-t6hvT\",\"label\":\"label-xSEWG\",\"icon\":\"icon-ixEYr\",\"selected\":\"selected-lBBwk\",\"year\":\"year-jHuog\",\"month\":\"month-VlFJ6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cell\":\"cell-l3eWl\",\"heading\":\"heading-TYXvp\",\"day\":\"day-nttmc\",\"items\":\"items-ZZ9Jt\",\"item\":\"item-qsUNQ\",\"icon\":\"icon-F3Uu8\",\"poster\":\"poster-goLqZ\",\"more\":\"more-gGKzA\",\"today\":\"today-G8kuO\",\"active\":\"active-KC8sV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"table\":\"table-QbfK0\",\"week\":\"week-mTZNI\",\"day\":\"day-LPW9e\",\"long\":\"long-UpX3r\",\"short\":\"short-MoF9_\",\"grid\":\"grid-cUaUg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"discover-container\":\"discover-container-L6OGL\",\"discover-content\":\"discover-content-CRsRg\",\"catalog-container\":\"catalog-container-VNK_T\",\"meta-items-container\":\"meta-items-container-n8vNz\",\"selectable-inputs-container\":\"selectable-inputs-container-IRz50\",\"select-input\":\"select-input-CHDbe\",\"filter-container\":\"filter-container-BVkqT\",\"filter-button\":\"filter-button-GU_n0\",\"filter-icon\":\"filter-icon-zlFnX\",\"missing-addon-warning-container\":\"missing-addon-warning-container-IXGuv\",\"warning-label\":\"warning-label-f19Jg\",\"install-button\":\"install-button-SmJe1\",\"label\":\"label-ToW4S\",\"message-container\":\"message-container-Zv9eF\",\"image\":\"image-txC9E\",\"message-label\":\"message-label-mRyRX\",\"meta-item-placeholder\":\"meta-item-placeholder-wxG4I\",\"poster-container\":\"poster-container-Dch4R\",\"title-bar-container\":\"title-bar-container-dtDnk\",\"title-label\":\"title-label-vHdQd\",\"meta-preview-container\":\"meta-preview-container-CoWs5\",\"selectable-inputs-modal\":\"selectable-inputs-modal-ChpOa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"password-reset-modal-container\":\"password-reset-modal-container-KzJPQ\",\"credentials-text-input\":\"credentials-text-input-ncrIR\",\"error-message\":\"error-message-DkekN\",\"cancel-button\":\"cancel-button-AneJE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"intro-container\":\"intro-container-tkNS6\",\"background-container\":\"background-container-aYKCH\",\"heading-container\":\"heading-container-oI70m\",\"logo-container\":\"logo-container-W49kt\",\"logo\":\"logo-WJ36F\",\"title-container\":\"title-container-CbIkM\",\"slogan-container\":\"slogan-container-UlcYd\",\"content-container\":\"content-container-A1Drn\",\"form-button\":\"form-button-vyqqj\",\"icon\":\"icon-L_6b6\",\"label\":\"label-uHD7L\",\"uppercase\":\"uppercase-UbR3f\",\"submit-button\":\"submit-button-x3L8z\",\"guest-login-button\":\"guest-login-button-D8DWZ\",\"signup-form-button\":\"signup-form-button-UGmSk\",\"login-form-button\":\"login-form-button-DqJUV\",\"form-container\":\"form-container-HMlEh\",\"credentials-text-input\":\"credentials-text-input-QMCZz\",\"forgot-password-link-container\":\"forgot-password-link-container-ygZqb\",\"forgot-password-link\":\"forgot-password-link-NxNUD\",\"error-message\":\"error-message-cKdzB\",\"options-container\":\"options-container-qxboQ\",\"facebook-button\":\"facebook-button-LZ_kG\",\"apple-button\":\"apple-button-V5nEI\",\"loading-modal-container\":\"loading-modal-container-eLyTm\",\"loader-container\":\"loader-container-oe8rU\",\"flash\":\"flash-wUFXY\",\"button\":\"button-ryGtP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"placeholder\":\"placeholder-XbuMS\",\"title\":\"title-eBwtZ\",\"image-container\":\"image-container-YnqQ_\",\"image\":\"image-yTheT\",\"overview\":\"overview-nYi3n\",\"point\":\"point-vQhRj\",\"icon\":\"icon-RD7Oa\",\"text\":\"text-NNOtt\",\"button-container\":\"button-container-HU08c\",\"button\":\"button-GHZkA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"library-container\":\"library-container-zM_bj\",\"library-content\":\"library-content-PgX4O\",\"meta-items-container\":\"meta-items-container-IKrND\",\"selectable-inputs-container\":\"selectable-inputs-container-hR3or\",\"select-input-container\":\"select-input-container-H1VZ1\",\"message-container\":\"message-container-MhY5t\",\"image\":\"image-csRHm\",\"message-label\":\"message-label-UExl3\",\"selectable-inputs-modal\":\"selectable-inputs-modal-rHlo7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button-container\":\"button-container-PmUa2\",\"label\":\"label-sAyL4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"background\":\"background-Xro_t\",\"icon\":\"icon-UFaeB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stream-placeholder-container\":\"stream-placeholder-container-T1nxv\",\"addon-container\":\"addon-container-pm1P0\",\"addon-name\":\"addon-name-zAOKP\",\"info-container\":\"info-container-Z1Dl6\",\"description-container\":\"description-container-ZOMcn\",\"play-icon\":\"play-icon-MXqj3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stream-container\":\"stream-container-JPdah\",\"icon\":\"icon-rAZvO\",\"info-container\":\"info-container-TihQo\",\"thumbnail\":\"thumbnail-whoms\",\"placeholder-icon\":\"placeholder-icon-znYz0\",\"addon-name\":\"addon-name-tC8PX\",\"progress-bar-container\":\"progress-bar-container-ADRp_\",\"progress-bar\":\"progress-bar-XrEBL\",\"progress-bar-background\":\"progress-bar-background-HueVQ\",\"description-container\":\"description-container-vW_De\",\"menu-icon\":\"menu-icon-JD2rP\",\"context-menu-content\":\"context-menu-content-Xe_lN\",\"context-menu-title\":\"context-menu-title-aoWE4\",\"context-menu-option-container\":\"context-menu-option-container-BZGla\",\"context-menu-option-label\":\"context-menu-option-label-EbNNz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"streams-list-container\":\"streams-list-container-xYMJo\",\"message-container\":\"message-container-f9_L4\",\"search\":\"search-Bo8nu\",\"image\":\"image-rIyu6\",\"label\":\"label-luvnO\",\"addons-loading-container\":\"addons-loading-container-Vkwp3\",\"addons-loading\":\"addons-loading-zhdQr\",\"addons-loading-bar\":\"addons-loading-bar-MqT59\",\"select-choices-wrapper\":\"select-choices-wrapper-xGzfs\",\"back-button-container\":\"back-button-container-cJ4bk\",\"icon\":\"icon-SoFgF\",\"episode-title\":\"episode-title-dln_c\",\"select-input-container\":\"select-input-container-irGn_\",\"streams-container\":\"streams-container-bbSc4\",\"install-button-container\":\"install-button-container-Q60yJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"seasons-bar-placeholder-container\":\"seasons-bar-placeholder-container-M81RN\",\"prev-season-button\":\"prev-season-button-TCbOq\",\"next-season-button\":\"next-season-button-oGnlT\",\"icon\":\"icon-UzQjF\",\"label\":\"label-lmBnj\",\"seasons-popup-label-container\":\"seasons-popup-label-container-r2UDB\",\"seasons-popup-label\":\"seasons-popup-label-xBinL\",\"seasons-popup-icon\":\"seasons-popup-icon-p1T5d\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"seasons-bar-container\":\"seasons-bar-container-nOZjG\",\"prev-season-button\":\"prev-season-button-bs1GQ\",\"next-season-button\":\"next-season-button-RrYAq\",\"disabled\":\"disabled-WJy2x\",\"label\":\"label-uJbfD\",\"icon\":\"icon-_ZBEE\",\"seasons-popup-label-container\":\"seasons-popup-label-container-fZcu4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"videos-list-container\":\"videos-list-container-NepX5\",\"message-container\":\"message-container-_hhmQ\",\"episode-picker\":\"episode-picker-JPpsC\",\"image\":\"image-_xAbP\",\"label\":\"label-Ff1_X\",\"notifications-toggle\":\"notifications-toggle-PaWY3\",\"seasons-bar\":\"seasons-bar-Ma8vp\",\"search-bar\":\"search-bar-mZHWa\",\"videos-container\":\"videos-container-msX8s\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"metadetails-container\":\"metadetails-container-K_Dqa\",\"background-image-layer\":\"background-image-layer-wJa90\",\"background-image\":\"background-image-tSjYu\",\"nav-bar\":\"nav-bar-MH6Vk\",\"metadetails-content\":\"metadetails-content-Uz5EV\",\"vertical-nav-bar\":\"vertical-nav-bar-B39nq\",\"meta-message-container\":\"meta-message-container-MJZN5\",\"image\":\"image-R1LcJ\",\"message-label\":\"message-label-Uz4_P\",\"meta-preview\":\"meta-preview-ES0h3\",\"spacing\":\"spacing-rgIYg\",\"videos-list\":\"videos-list-nE0LJ\",\"streams-list\":\"streams-list-Y1lCM\",\"meta-extension-modal-container\":\"meta-extension-modal-container-gHjqy\",\"meta-extension-modal-iframe\":\"meta-extension-modal-iframe-GGHlm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"not-found-container\":\"not-found-container-Q1qsP\",\"nav-bar\":\"nav-bar-Eu3_y\",\"not-found-content\":\"not-found-content-z_Eza\",\"not-found-image\":\"not-found-image-Qab4G\",\"not-found-label\":\"not-found-label-mmwyZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"audio-menu\":\"audio-menu-qB4SQ\",\"container\":\"container-lNRgG\",\"header\":\"header-yT4vp\",\"list\":\"list-lt_h8\",\"option\":\"option-COcvW\",\"info\":\"info-BPG2q\",\"lang\":\"lang-EXxoG\",\"label\":\"label-_DvDN\",\"icon\":\"icon-DebLV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buffering-loader-container\":\"buffering-loader-container-P7S0m\",\"buffering-loader\":\"buffering-loader-fMSpb\",\"fadeInOut\":\"fadeInOut-WS5RD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"seek-bar-container\":\"seek-bar-container-JGGTa\",\"label\":\"label-QFbsS\",\"slider\":\"slider-hBDOf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"volume-slider\":\"volume-slider-G_xAt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"control-bar-container\":\"control-bar-container-xsWA7\",\"seek-bar\":\"seek-bar-I7WeY\",\"control-bar-buttons-container\":\"control-bar-buttons-container-SWhkU\",\"control-bar-button\":\"control-bar-button-FQUsj\",\"icon\":\"icon-qy6I6\",\"volume-slider\":\"volume-slider-U9jfo\",\"spacing\":\"spacing-p8NJQ\",\"control-bar-buttons-menu-button\":\"control-bar-buttons-menu-button-h0MWd\",\"control-bar-buttons-menu-container\":\"control-bar-buttons-menu-container-M6L0_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"error\":\"error-ty_iB\",\"error-label\":\"error-label-lyLDv\",\"error-sub\":\"error-sub-rdwAf\",\"playlist-button\":\"playlist-button-tZTCo\",\"icon\":\"icon-fIGRf\",\"label\":\"label-Z7jSJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"indicator-container\":\"indicator-container-wgAZn\",\"indicator\":\"indicator-jM65y\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"next-video-popup-container\":\"next-video-popup-container-H4wnL\",\"slide-fade-in\":\"slide-fade-in-rk2M8\",\"poster-container\":\"poster-container-tXZjA\",\"poster-image\":\"poster-image-2D6wg\",\"blurred\":\"blurred-rcoS5\",\"placeholder-icon\":\"placeholder-icon-fu1rK\",\"info-container\":\"info-container-KLOMx\",\"details-container\":\"details-container-bUOTZ\",\"name\":\"name-sIiDL\",\"label\":\"label-zOq_w\",\"title\":\"title-Z5Kgo\",\"buttons-container\":\"buttons-container-iYrpZ\",\"spacing\":\"spacing-iFwsN\",\"button-container\":\"button-container-i4F7t\",\"play-button\":\"play-button-Dluk6\",\"icon\":\"icon-N3Ewm\",\"dismiss\":\"dismiss-IvEL_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option-container\":\"option-container-m_jZq\",\"icon\":\"icon-krR0X\",\"label\":\"label-cmqqu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"options-menu-container\":\"options-menu-container-qlzLt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"side-drawer\":\"side-drawer-r9EuA\",\"close-button\":\"close-button-ruzkn\",\"icon\":\"icon-k44IU\",\"info\":\"info-hhNTg\",\"side-drawer-meta-preview\":\"side-drawer-meta-preview-pB8v6\",\"series-content\":\"series-content-VkYHB\",\"videos\":\"videos-nRM2D\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"side-drawer-button\":\"side-drawer-button-lVLKS\",\"icon\":\"icon-g5Oo_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"option-_O96j\",\"icon\":\"icon-kqaPF\",\"label\":\"label-FEOiu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"speed-menu-container\":\"speed-menu-container-ABjzc\",\"title\":\"title-Hu2Dm\",\"options-container\":\"options-container-DNn3D\",\"option\":\"option-GcPlB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"statistics-menu-container\":\"statistics-menu-container-DhiHn\",\"title\":\"title-NCwWH\",\"label\":\"label-h6nN_\",\"value\":\"value-E8Ftb\",\"stats\":\"stats-Tr37t\",\"stat\":\"stat-zoq5A\",\"info-hash\":\"info-hash-GT1Cv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stepper\":\"stepper-OL8zv\",\"header\":\"header-fEtxa\",\"content\":\"content-A6qIn\",\"button\":\"button-fisbt\",\"icon\":\"icon-zdvuT\",\"value\":\"value-Z6LnU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"subtitles-menu-container\":\"subtitles-menu-container-PxBRZ\",\"languages-container\":\"languages-container-NS7H9\",\"variants-container\":\"variants-container-XglzH\",\"subtitles-settings-container\":\"subtitles-settings-container-LhRGS\",\"languages-header\":\"languages-header-jGNcK\",\"variants-header\":\"variants-header-TsVSR\",\"settings-header\":\"settings-header-eaWnm\",\"languages-list\":\"languages-list-sxIwI\",\"variants-list\":\"variants-list-yZo6B\",\"language-option\":\"language-option-O1Yr9\",\"variant-option\":\"variant-option-t7_LA\",\"language-label\":\"language-label-FjjqA\",\"variant-label\":\"variant-label-opjnP\",\"variant-origin\":\"variant-origin-SVnd1\",\"icon\":\"icon-I1Ruh\",\"info\":\"info-mxjJh\",\"no-variants-container\":\"no-variants-container-q6u1Q\",\"no-variants-label\":\"no-variants-label-RmDKZ\",\"settings-list\":\"settings-list-mhZV6\",\"spacing\":\"spacing-AWJpt\",\"stepper\":\"stepper-FTDeY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"video-container\":\"video-container-v9_vA\",\"video\":\"video-tkpQm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"volume-change-indicator\":\"volume-change-indicator-EWypD\",\"volume-icon\":\"volume-icon-zn9zT\",\"volume-slider\":\"volume-slider-FKN0X\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"player-container\":\"player-container-wIELK\",\"overlayHidden\":\"overlayHidden-gyjIy\",\"nav-bar-layer\":\"nav-bar-layer-r9HT5\",\"control-bar-layer\":\"control-bar-layer-m2jto\",\"menu-layer\":\"menu-layer-HZFG9\",\"side-drawer-button-layer\":\"side-drawer-button-layer-RrB8k\",\"layer\":\"layer-qalDW\",\"buffering-layer\":\"buffering-layer-ZZCYp\",\"error-layer\":\"error-layer-RCEZC\",\"background-layer\":\"background-layer-ldsp8\",\"image\":\"image-XxZuJ\",\"indicator-layer\":\"indicator-layer-EpiA6\",\"side-drawer-layer\":\"side-drawer-layer-CZtJ1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search-container\":\"search-container-uXEFf\",\"search-content\":\"search-content-LX6un\",\"search-row\":\"search-row-EQLaD\",\"search-hints-wrapper\":\"search-hints-wrapper-IjhmE\",\"search-hints-title-container\":\"search-hints-title-container-MXt8W\",\"search-hints-title\":\"search-hints-title-cigX3\",\"search-hints-container\":\"search-hints-container-FHpPM\",\"search-hint-container\":\"search-hint-container-kd8iX\",\"icon\":\"icon-fOZZl\",\"label\":\"label-l6wxz\",\"message-container\":\"message-container-YAunr\",\"image\":\"image-Xuwya\",\"message-label\":\"message-label-K8LPz\",\"search-row-poster\":\"search-row-poster-m7CUE\",\"search-row-square\":\"search-row-square-VesJA\",\"search-row-landscape\":\"search-row-landscape-o3Lfv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"trakt-container\":\"trakt-container-wWlM8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"user\":\"user-qhCA4\",\"user-info-content\":\"user-info-content-uzAvu\",\"avatar-container\":\"avatar-container-DeGD6\",\"email-logout-container\":\"email-logout-container-YPJlN\",\"email-label-container\":\"email-label-container-NEqIq\",\"email-label\":\"email-label-LXltS\",\"user-panel-container\":\"user-panel-container-WxLTU\",\"user-panel-label\":\"user-panel-label-KmZCD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"info\":\"info-nBG5H\",\"label\":\"label-ldqPK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menu\":\"menu-xeE06\",\"button\":\"button-DNmYL\",\"selected\":\"selected-S7SeK\",\"spacing\":\"spacing-PVpEn\",\"version-info-label\":\"version-info-label-rSTCy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"settings-container\":\"settings-container-_g1tS\",\"settings-content\":\"settings-content-co5eU\",\"sections-container\":\"sections-container-ZaZpD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"shortcut-container\":\"shortcut-container-iOrn9\",\"label\":\"label-UWwT7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"configure-input-container\":\"configure-input-container-IqUdN\",\"label\":\"label-bkapj\",\"configure-button-container\":\"configure-button-container-tJJ5b\",\"icon\":\"icon-DoVQm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"add-item\":\"add-item-EBrwa\",\"input\":\"input-iITch\",\"actions\":\"actions-a9mxc\",\"add\":\"add-IsY_6\",\"cancel\":\"cancel-gSD5_\",\"icon\":\"icon-lYjLQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"item\":\"item-A9qrP\",\"content\":\"content-SRbPn\",\"selectable\":\"selectable-qF2vl\",\"label\":\"label-WLvfI\",\"actions\":\"actions-QcMQ_\",\"status\":\"status-crByJ\",\"icon\":\"icon-aswqE\",\"ready\":\"ready-VKkmT\",\"error\":\"error-sL3We\",\"delete\":\"delete-mV6G_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"wrapper-mdG7D\",\"header\":\"header-epxi0\",\"label\":\"label-Yi3xl\",\"content\":\"content-XG6N_\",\"item\":\"item-hsmmX\",\"footer\":\"footer-Bo7gV\",\"add-url\":\"add-url-fEacA\",\"icon\":\"icon-L0f3e\",\"reload\":\"reload-OVkwB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"category\":\"category-GP0hI\",\"heading\":\"heading-XePFl\",\"label\":\"label-N_O2v\",\"icon\":\"icon-oZoyV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"link-FrL1t\",\"label\":\"label-PJvSJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"option-vFOAS\",\"heading\":\"heading-dYMDt\",\"content\":\"content-P2T0i\",\"icon\":\"icon-fE4hv\",\"label\":\"label-qI6Vh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"section\":\"section-hcYuV\",\"label\":\"label-wXG3e\"};","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nvar quotes = {\n __proto__: null,\n 'double': '\"',\n single: \"'\"\n};\nvar quoteREs = {\n __proto__: null,\n 'double': /([\"\\\\])/g,\n single: /(['\\\\])/g\n};\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && !has(quotes, opts.quoteStyle)) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other\n /* eslint-env browser */\n if (typeof window !== 'undefined' && obj === window) {\n return '{ [object Window] }';\n }\n if (\n (typeof globalThis !== 'undefined' && obj === globalThis)\n || (typeof global !== 'undefined' && obj === global)\n ) {\n return '{ [object globalThis] }';\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var style = opts.quoteStyle || defaultStyle;\n var quoteChar = quotes[style];\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction canTrustToString(obj) {\n return !toStringTag || !(typeof obj === 'object' && (toStringTag in obj || typeof obj[toStringTag] !== 'undefined'));\n}\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && canTrustToString(obj); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && canTrustToString(obj); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && canTrustToString(obj); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && canTrustToString(obj); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && canTrustToString(obj); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && canTrustToString(obj); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && canTrustToString(obj); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n var quoteRE = quoteREs[opts.quoteStyle || 'single'];\n quoteRE.lastIndex = 0;\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, quoteRE, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/*! https://mths.be/punycode v1.3.2 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * http://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.3.2',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowEmptyArrays: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decodeDotInKeys: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n duplicates: 'combine',\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictDepth: false,\n strictNullHandling: false,\n throwOnLimitExceeded: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options, currentArrayLength) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n if (options.throwOnLimitExceeded && currentArrayLength >= options.arrayLimit) {\n throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (options.arrayLimit === 1 ? '' : 's') + ' allowed in an array.');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = { __proto__: null };\n\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n cleanStr = cleanStr.replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(\n options.delimiter,\n options.throwOnLimitExceeded ? limit + 1 : limit\n );\n\n if (options.throwOnLimitExceeded && parts.length > limit) {\n throw new RangeError('Parameter limit exceeded. Only ' + limit + ' parameter' + (limit === 1 ? '' : 's') + ' allowed.');\n }\n\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key;\n var val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n\n val = utils.maybeMap(\n parseArrayValue(\n part.slice(pos + 1),\n options,\n isArray(obj[key]) ? obj[key].length : 0\n ),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(String(val));\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n var existing = has.call(obj, key);\n if (existing && options.duplicates === 'combine') {\n obj[key] = utils.combine(obj[key], val);\n } else if (!existing || options.duplicates === 'last') {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var currentArrayLength = 0;\n if (chain.length > 0 && chain[chain.length - 1] === '[]') {\n var parentKey = chain.slice(0, -1).join('');\n currentArrayLength = Array.isArray(val) && val[parentKey] ? val[parentKey].length : 0;\n }\n\n var leaf = valuesParsed ? val : parseArrayValue(val, options, currentArrayLength);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = options.allowEmptyArrays && (leaf === '' || (options.strictNullHandling && leaf === null))\n ? []\n : utils.combine([], leaf);\n } else {\n obj = options.plainObjects ? { __proto__: null } : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, '.') : cleanRoot;\n var index = parseInt(decodedRoot, 10);\n if (!options.parseArrays && decodedRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== decodedRoot\n && String(index) === decodedRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (decodedRoot !== '__proto__') {\n obj[decodedRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, check strictDepth option for throw, else just add whatever is left\n\n if (segment) {\n if (options.strictDepth === true) {\n throw new RangeError('Input depth exceeded depth option of ' + options.depth + ' and strictDepth is true');\n }\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n\n if (typeof opts.decodeDotInKeys !== 'undefined' && typeof opts.decodeDotInKeys !== 'boolean') {\n throw new TypeError('`decodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n\n if (opts.decoder !== null && typeof opts.decoder !== 'undefined' && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n if (typeof opts.throwOnLimitExceeded !== 'undefined' && typeof opts.throwOnLimitExceeded !== 'boolean') {\n throw new TypeError('`throwOnLimitExceeded` option must be a boolean');\n }\n\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n var duplicates = typeof opts.duplicates === 'undefined' ? defaults.duplicates : opts.duplicates;\n\n if (duplicates !== 'combine' && duplicates !== 'first' && duplicates !== 'last') {\n throw new TypeError('The duplicates option must be either combine, first, or last');\n }\n\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.decodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n return {\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decodeDotInKeys: typeof opts.decodeDotInKeys === 'boolean' ? opts.decodeDotInKeys : defaults.decodeDotInKeys,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n duplicates: duplicates,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictDepth: typeof opts.strictDepth === 'boolean' ? !!opts.strictDepth : defaults.strictDepth,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling,\n throwOnLimitExceeded: typeof opts.throwOnLimitExceeded === 'boolean' ? opts.throwOnLimitExceeded : false\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? { __proto__: null } : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? { __proto__: null } : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n allowEmptyArrays: false,\n arrayFormat: 'indices',\n charset: 'utf-8',\n charsetSentinel: false,\n commaRoundTrip: false,\n delimiter: '&',\n encode: true,\n encodeDotInKeys: false,\n encoder: utils.encode,\n encodeValuesOnly: false,\n filter: void undefined,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n allowEmptyArrays,\n strictNullHandling,\n skipNulls,\n encodeDotInKeys,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var encodedPrefix = encodeDotInKeys ? String(prefix).replace(/\\./g, '%2E') : String(prefix);\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + '[]' : encodedPrefix;\n\n if (allowEmptyArrays && isArray(obj) && obj.length === 0) {\n return adjustedPrefix + '[]';\n }\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && key && typeof key.value !== 'undefined'\n ? key.value\n : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var encodedKey = allowDots && encodeDotInKeys ? String(key).replace(/\\./g, '%2E') : String(key);\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + encodedKey : '[' + encodedKey + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n allowEmptyArrays,\n strictNullHandling,\n skipNulls,\n encodeDotInKeys,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n\n if (typeof opts.encodeDotInKeys !== 'undefined' && typeof opts.encodeDotInKeys !== 'boolean') {\n throw new TypeError('`encodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n var arrayFormat;\n if (opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if ('indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = defaults.arrayFormat;\n }\n\n if ('commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n arrayFormat: arrayFormat,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n commaRoundTrip: !!opts.commaRoundTrip,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encodeDotInKeys: typeof opts.encodeDotInKeys === 'boolean' ? opts.encodeDotInKeys : defaults.encodeDotInKeys,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat];\n var commaRoundTrip = generateArrayPrefix === 'comma' && options.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n var value = obj[key];\n\n if (options.skipNulls && value === null) {\n continue;\n }\n pushToArray(keys, stringify(\n value,\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.allowEmptyArrays,\n options.strictNullHandling,\n options.skipNulls,\n options.encodeDotInKeys,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? { __proto__: null } : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object' && typeof source !== 'function') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if (\n (options && (options.plainObjects || options.allowPrototypes))\n || !has.call(Object.prototype, source)\n ) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, defaultDecoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar limit = 1024;\n\n/* eslint operator-linebreak: [2, \"before\"] */\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var j = 0; j < string.length; j += limit) {\n var segment = string.length >= limit ? string.slice(j, j + limit) : string;\n var arr = [];\n\n for (var i = 0; i < segment.length; ++i) {\n var c = segment.charCodeAt(i);\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n arr[arr.length] = segment.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n arr[arr.length] = hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n arr[arr.length] = hexTable[0xC0 | (c >> 6)]\n + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n arr[arr.length] = hexTable[0xE0 | (c >> 12)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (segment.charCodeAt(i) & 0x3FF));\n\n arr[arr.length] = hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n out += arr.join('');\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;\nfunction Lg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction Mg(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function Ng(a){var b=a._init;return b(a._payload)}\nfunction Og(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Pg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Qg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&Ng(f)===b.type))return d=e(b,c.props),d.ref=Lg(a,b,c),d.return=a,d;d=Rg(c.type,c.key,c.props,null,a.mode,d);d.ref=Lg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=Sg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Tg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=Qg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=Rg(b.type,b.key,b.props,null,a.mode,c),\nc.ref=Lg(a,null,b),c.return=a,c;case wa:return b=Sg(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Tg(b,a.mode,c,null),b.return=a,b;Mg(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);Mg(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);Mg(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var th={},uh=Uf(th),vh=Uf(th),wh=Uf(th);function xh(a){if(a===th)throw Error(p(174));return a}\nfunction yh(a,b){G(wh,b);G(vh,a);G(uh,th);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(uh);G(uh,b)}function zh(){E(uh);E(vh);E(wh)}function Ah(a){xh(wh.current);var b=xh(uh.current);var c=lb(b,a.type);b!==c&&(G(vh,a),G(uh,c))}function Bh(a){vh.current===a&&(E(uh),E(vh))}var L=Uf(0);\nfunction Ch(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Dh=[];\nfunction Eh(){for(var a=0;a<Dh.length;a++)Dh[a]._workInProgressVersionPrimary=null;Dh.length=0}var Fh=ua.ReactCurrentDispatcher,Gh=ua.ReactCurrentBatchConfig,Hh=0,M=null,N=null,O=null,Ih=!1,Jh=!1,Kh=0,Lh=0;function P(){throw Error(p(321));}function Mh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Nh(a,b,c,d,e,f){Hh=f;M=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Fh.current=null===a||null===a.memoizedState?Oh:Ph;a=c(d,e);if(Jh){f=0;do{Jh=!1;Kh=0;if(25<=f)throw Error(p(301));f+=1;O=N=null;b.updateQueue=null;Fh.current=Qh;a=c(d,e)}while(Jh)}Fh.current=Rh;b=null!==N&&null!==N.next;Hh=0;O=N=M=null;Ih=!1;if(b)throw Error(p(300));return a}function Sh(){var a=0!==Kh;Kh=0;return a}\nfunction Th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===O?M.memoizedState=O=a:O=O.next=a;return O}function Uh(){if(null===N){var a=M.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===O?M.memoizedState:O.next;if(null!==b)O=b,N=a;else{if(null===a)throw Error(p(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===O?M.memoizedState=O=a:O=O.next=a}return O}\nfunction Vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Wh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Hh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;M.lanes|=m;rh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(dh=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,M.lanes|=f,rh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction Xh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(dh=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function Yh(){}\nfunction Zh(a,b){var c=M,d=Uh(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,dh=!0);d=d.queue;$h(ai.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==O&&O.memoizedState.tag&1){c.flags|=2048;bi(9,ci.bind(null,c,d,e,b),void 0,null);if(null===Q)throw Error(p(349));0!==(Hh&30)||di(c,b,e)}return e}function di(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction ci(a,b,c,d){b.value=c;b.getSnapshot=d;ei(b)&&fi(a)}function ai(a,b,c){return c(function(){ei(b)&&fi(a)})}function ei(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function fi(a){var b=ih(a,1);null!==b&&gi(b,a,1,-1)}\nfunction hi(a){var b=Th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Vh,lastRenderedState:a};b.queue=a;a=a.dispatch=ii.bind(null,M,a);return[b.memoizedState,a]}\nfunction bi(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function ji(){return Uh().memoizedState}function ki(a,b,c,d){var e=Th();M.flags|=a;e.memoizedState=bi(1|b,c,void 0,void 0===d?null:d)}\nfunction li(a,b,c,d){var e=Uh();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&Mh(d,g.deps)){e.memoizedState=bi(b,c,f,d);return}}M.flags|=a;e.memoizedState=bi(1|b,c,f,d)}function mi(a,b){return ki(8390656,8,a,b)}function $h(a,b){return li(2048,8,a,b)}function ni(a,b){return li(4,2,a,b)}function oi(a,b){return li(4,4,a,b)}\nfunction pi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function qi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return li(4,4,pi.bind(null,b,a),c)}function ri(){}function si(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction ti(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function ui(a,b,c){if(0===(Hh&21))return a.baseState&&(a.baseState=!1,dh=!0),a.memoizedState=c;He(c,b)||(c=yc(),M.lanes|=c,rh|=c,a.baseState=!0);return b}function vi(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Lh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},\nuseDebugValue:ri,useDeferredValue:function(a){var b=Uh();return ui(b,N.memoizedState,a)},useTransition:function(){var a=Wh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(a){var b=Uh();return null===\nN?b.memoizedState=a:ui(b,N.memoizedState,a)},useTransition:function(){var a=Xh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function Di(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Ei={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=R(),d=\nyi(a),e=mh(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=nh(a,e,d);null!==b&&(gi(b,a,d,c),oh(b,a,d))}};function Fi(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction Gi(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=eh(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Ei;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Hi(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Ei.enqueueReplaceState(b,b.state,null)}\nfunction Ii(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs={};kh(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=eh(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Di(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Ei.enqueueReplaceState(e,e.state,null),qh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}function Ji(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}\nfunction Ki(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function Li(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Mi=\"function\"===typeof WeakMap?WeakMap:Map;function Ni(a,b,c){c=mh(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Oi||(Oi=!0,Pi=d);Li(a,b)};return c}\nfunction Qi(a,b,c){c=mh(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Li(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Li(a,b);\"function\"!==typeof d&&(null===Ri?Ri=new Set([this]):Ri.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Si(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Mi;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ti.bind(null,a,b,c),b.then(a,a))}function Ui(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Vi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=mh(-1,1),b.tag=2,nh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Wi=ua.ReactCurrentOwner,dh=!1;function Xi(a,b,c,d){b.child=null===a?Vg(b,null,c,d):Ug(b,a.child,c,d)}\nfunction Yi(a,b,c,d,e){c=c.render;var f=b.ref;ch(b,e);d=Nh(a,b,c,d,f,e);c=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&c&&vg(b);b.flags|=1;Xi(a,b,d,e);return b.child}\nfunction $i(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!aj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,bj(a,b,f,d,e);a=Rg(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return Zi(a,b,e)}b.flags|=1;a=Pg(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction bj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(dh=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(dh=!0);else return b.lanes=a.lanes,Zi(a,b,e)}return cj(a,b,c,d,e)}\nfunction dj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(ej,fj),fj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(ej,fj);fj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(ej,fj),fj|=d;Xi(a,b,e,c);return b.child}function gj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);ch(b,e);c=Nh(a,b,c,d,f,e);d=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&d&&vg(b);b.flags|=1;Xi(a,b,c,e);return b.child}\nfunction hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;ch(b,e);if(null===b.stateNode)ij(a,b),Gi(b,c,d),Ii(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=eh(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&Hi(b,g,d,l);jh=!1;var r=b.memoizedState;g.state=r;qh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||jh?(\"function\"===typeof m&&(Di(b,c,m,d),k=b.memoizedState),(h=jh||Fi(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;lh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Ci(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=eh(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&Hi(b,g,d,k);jh=!1;r=b.memoizedState;g.state=r;qh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||jh?(\"function\"===typeof y&&(Di(b,c,y,d),n=b.memoizedState),(l=jh||Fi(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return jj(a,b,c,d,f,e)}\nfunction jj(a,b,c,d,e,f){gj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),Zi(a,b,f);d=b.stateNode;Wi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Ug(b,a.child,null,f),b.child=Ug(b,null,h,f)):Xi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function kj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);yh(a,b.containerInfo)}\nfunction lj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Xi(a,b,c,d);return b.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction oj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(L,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=pj(g,d,0,null),a=Tg(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=nj(c),b.memoizedState=mj,a):qj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return rj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=Pg(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=Pg(h,f):(f=Tg(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?nj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=mj;return d}f=a.child;a=f.sibling;d=Pg(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction qj(a,b){b=pj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function sj(a,b,c,d){null!==d&&Jg(d);Ug(b,a.child,null,c);a=qj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction rj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Ki(Error(p(422))),sj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=pj({mode:\"visible\",children:d.children},e,0,null);f=Tg(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Ug(b,a.child,null,g);b.child.memoizedState=nj(g);b.memoizedState=mj;return f}if(0===(b.mode&1))return sj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Ki(f,d,void 0);return sj(a,b,g,d)}h=0!==(g&a.childLanes);if(dh||h){d=Q;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,ih(a,e),gi(d,a,e,-1))}tj();d=Ki(Error(p(421)));return sj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=uj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=qj(b,d.children);b.flags|=4096;return b}function vj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);bh(a.return,b,c)}\nfunction wj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Xi(a,b,d.children,c);d=L.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&vj(a,c,b);else if(19===a.tag)vj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(L,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Ch(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);wj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Ch(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}wj(b,!0,c,null,f);break;case \"together\":wj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction ij(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Zi(a,b,c){null!==a&&(b.dependencies=a.dependencies);rh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=Pg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Pg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction yj(a,b,c){switch(b.tag){case 3:kj(b);Ig();break;case 5:Ah(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:yh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Wg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(L,L.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return oj(a,b,c);G(L,L.current&1);a=Zi(a,b,c);return null!==a?a.sibling:null}G(L,L.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return xj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(L,L.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,dj(a,b,c)}return Zi(a,b,c)}var zj,Aj,Bj,Cj;\nzj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Aj=function(){};\nBj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;xh(uh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Cj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Dj(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Ej(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;zh();E(Wf);E(H);Eh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Fj(zg),zg=null));Aj(a,b);S(b);return null;case 5:Bh(b);var e=xh(wh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Bj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Cj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=xh(wh.current);xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(L);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Fj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(L.current&1)?0===T&&(T=3):tj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return zh(),\nAj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return ah(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(L);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Dj(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Ch(a);if(null!==g){b.flags|=128;Dj(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(L,L.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Gj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Xj=!1;break a;case 3:X=h.stateNode.containerInfo;Xj=!0;break a;case 4:X=h.stateNode.containerInfo;Xj=!0;break a}h=h.return}if(null===X)throw Error(p(160));Zj(f,g,e);X=null;Xj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)dk(b,a),b=b.sibling}\nfunction dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:ck(b,a);ek(a);if(d&4){try{Pj(3,a,a.return),Qj(3,a)}catch(t){W(a,a.return,t)}try{Pj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);break;case 5:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:ck(b,a);ek(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:ck(b,a);ek(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:ck(b,a);ek(a);break;case 13:ck(b,a);ek(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(fk=B()));d&4&&ak(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,ck(b,a),U=l):ck(b,a);ek(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Pj(4,r,r.return);break;case 1:Lj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Lj(r,r.return);break;case 22:if(null!==r.memoizedState){gk(q);continue}}null!==y?(y.return=r,V=y):gk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:ck(b,a);ek(a);d&4&&ak(a);break;case 21:break;default:ck(b,\na),ek(a)}}function ek(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Tj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Uj(a);Wj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Uj(a);Vj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function hk(a,b,c){V=a;ik(a,b,c)}\nfunction ik(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Jj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Jj;var l=U;Jj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?jk(e):null!==k?(k.return=g,V=k):jk(e);for(;null!==f;)V=f,ik(f,b,c),f=f.sibling;V=e;Jj=h;U=l}kk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):kk(a,b,c)}}\nfunction kk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Qj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Ci(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&sh(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}sh(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Rj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function gk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction jk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Qj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Rj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Rj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar lk=Math.ceil,mk=ua.ReactCurrentDispatcher,nk=ua.ReactCurrentOwner,ok=ua.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,fj=0,ej=Uf(0),T=0,pk=null,rh=0,qk=0,rk=0,sk=null,tk=null,fk=0,Gj=Infinity,uk=null,Oi=!1,Pi=null,Ri=null,vk=!1,wk=null,xk=0,yk=0,zk=null,Ak=-1,Bk=0;function R(){return 0!==(K&6)?B():-1!==Ak?Ak:Ak=B()}\nfunction yi(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Bk&&(Bk=yc()),Bk;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==Q)a===Q&&(0===(K&2)&&(qk|=c),4===T&&Ck(a,Z)),Dk(a,d),1===c&&0===K&&0===(b.mode&1)&&(Gj=B()+500,fg&&jg())}\nfunction Dk(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===Q?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Ek.bind(null,a)):hg(Ek.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Fk(c,Gk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Gk(a,b){Ak=-1;Bk=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Hk()&&a.callbackNode!==c)return null;var d=uc(a,a===Q?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Ik(a,d);else{b=d;var e=K;K|=2;var f=Jk();if(Q!==a||Z!==b)uk=null,Gj=B()+500,Kk(a,b);do try{Lk();break}catch(h){Mk(a,h)}while(1);$g();mk.current=f;K=e;null!==Y?b=0:(Q=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Nk(a,e)));if(1===b)throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;if(6===b)Ck(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Ok(e)&&(b=Ik(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Nk(a,f))),1===b))throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Pk(a,tk,uk);break;case 3:Ck(a,d);if((d&130023424)===d&&(b=fk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){R();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),b);break}Pk(a,tk,uk);break;case 4:Ck(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),d);break}Pk(a,tk,uk);break;case 5:Pk(a,tk,uk);break;default:throw Error(p(329));}}}Dk(a,B());return a.callbackNode===c?Gk.bind(null,a):null}\nfunction Nk(a,b){var c=sk;a.current.memoizedState.isDehydrated&&(Kk(a,b).flags|=256);a=Ik(a,b);2!==a&&(b=tk,tk=c,null!==b&&Fj(b));return a}function Fj(a){null===tk?tk=a:tk.push.apply(tk,a)}\nfunction Ok(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Ck(a,b){b&=~rk;b&=~qk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Ek(a){if(0!==(K&6))throw Error(p(327));Hk();var b=uc(a,0);if(0===(b&1))return Dk(a,B()),null;var c=Ik(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Nk(a,d))}if(1===c)throw c=pk,Kk(a,0),Ck(a,b),Dk(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Pk(a,tk,uk);Dk(a,B());return null}\nfunction Qk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Gj=B()+500,fg&&jg())}}function Rk(a){null!==wk&&0===wk.tag&&0===(K&6)&&Hk();var b=K;K|=1;var c=ok.transition,d=C;try{if(ok.transition=null,C=1,a)return a()}finally{C=d,ok.transition=c,K=b,0===(K&6)&&jg()}}function Hj(){fj=ej.current;E(ej)}\nfunction Kk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:zh();E(Wf);E(H);Eh();break;case 5:Bh(d);break;case 4:zh();break;case 13:E(L);break;case 19:E(L);break;case 10:ah(d.type._context);break;case 22:case 23:Hj()}c=c.return}Q=a;Y=a=Pg(a.current,null);Z=fj=b;T=0;pk=null;rk=qk=rh=0;tk=sk=null;if(null!==fh){for(b=\n0;b<fh.length;b++)if(c=fh[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}fh=null}return a}\nfunction Mk(a,b){do{var c=Y;try{$g();Fh.current=Rh;if(Ih){for(var d=M.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Ih=!1}Hh=0;O=N=M=null;Jh=!1;Kh=0;nk.current=null;if(null===c||null===c.return){T=1;pk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Ui(g);if(null!==y){y.flags&=-257;Vi(y,g,h,f,b);y.mode&1&&Si(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Si(f,l,b);tj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Ui(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Vi(J,g,h,f,b);Jg(Ji(k,h));break a}}f=k=Ji(k,h);4!==T&&(T=2);null===sk?sk=[f]:sk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Ni(f,k,b);ph(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Ri||!Ri.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Qi(f,h,b);ph(f,F);break a}}f=f.return}while(null!==f)}Sk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Jk(){var a=mk.current;mk.current=Rh;return null===a?Rh:a}\nfunction tj(){if(0===T||3===T||2===T)T=4;null===Q||0===(rh&268435455)&&0===(qk&268435455)||Ck(Q,Z)}function Ik(a,b){var c=K;K|=2;var d=Jk();if(Q!==a||Z!==b)uk=null,Kk(a,b);do try{Tk();break}catch(e){Mk(a,e)}while(1);$g();K=c;mk.current=d;if(null!==Y)throw Error(p(261));Q=null;Z=0;return T}function Tk(){for(;null!==Y;)Uk(Y)}function Lk(){for(;null!==Y&&!cc();)Uk(Y)}function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps;null===b?Sk(a):Y=b;nk.current=null}\nfunction Sk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Ej(c,b,fj),null!==c){Y=c;return}}else{c=Ij(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,Wk(a,b,c,d)}finally{ok.transition=e,C=d}return null}\nfunction Wk(a,b,c,d){do Hk();while(null!==wk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===Q&&(Y=Q=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||vk||(vk=!0,Fk(hc,function(){Hk();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=ok.transition;ok.transition=null;\nvar g=C;C=1;var h=K;K|=4;nk.current=null;Oj(a,c);dk(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;hk(c,a,e);dc();K=h;C=g;ok.transition=f}else a.current=c;vk&&(vk=!1,wk=a,xk=e);f=a.pendingLanes;0===f&&(Ri=null);mc(c.stateNode,d);Dk(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Oi)throw Oi=!1,a=Pi,Pi=null,a;0!==(xk&1)&&0!==a.tag&&Hk();f=a.pendingLanes;0!==(f&1)?a===zk?yk++:(yk=0,zk=a):yk=0;jg();return null}\nfunction Hk(){if(null!==wk){var a=Dc(xk),b=ok.transition,c=C;try{ok.transition=null;C=16>a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Pj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Sj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Pj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Qj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,ok.transition=b}}return!1}function Xk(a,b,c){b=Ji(c,b);b=Ni(a,b,1);a=nh(a,b,1);b=R();null!==a&&(Ac(a,1,b),Dk(a,b))}\nfunction W(a,b,c){if(3===a.tag)Xk(a,a,c);else for(;null!==b;){if(3===b.tag){Xk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ri||!Ri.has(d))){a=Ji(c,a);a=Qi(b,a,1);b=nh(b,a,1);a=R();null!==b&&(Ac(b,1,a),Dk(b,a));break}}b=b.return}}\nfunction Ti(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=R();a.pingedLanes|=a.suspendedLanes&c;Q===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction dl(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction el(a,b,c,d,e,f,g,h,k){a=bl(c,d,!0,a,e,f,g,h,k);a.context=dl(null);c=a.current;d=R();e=yi(c);f=mh(d,e);f.callback=void 0!==b&&null!==b?b:null;nh(c,f,e);a.current.lanes=e;Ac(a,e,d);Dk(a,d);return a}function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);c=dl(c);null===b.context?b.context=c:b.pendingContext=c;b=mh(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=nh(e,b,g);null!==a&&(gi(a,e,g,f),oh(a,e,g));return g}\nfunction gl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function hl(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function il(a,b){hl(a,b);(a=a.alternate)&&hl(a,b)}function jl(){return null}var kl=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ll(a){this._internalRoot=a}\nml.prototype.render=ll.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));fl(a,b,null,null)};ml.prototype.unmount=ll.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Rk(function(){fl(null,a,null,null)});b[uf]=null}};function ml(a){this._internalRoot=a}\nml.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function nl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function pl(){}\nfunction ql(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=gl(g);f.call(a)}}var g=el(b,d,a,0,null,!1,!1,\"\",pl);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Rk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=gl(k);h.call(a)}}var k=bl(a,0,!1,null,null,!1,!1,\"\",pl);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Rk(function(){fl(b,k,c,d)});return k}\nfunction rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=gl(g);h.call(a)}}fl(b,g,a,e)}else g=ql(c,b,a,e,d);return gl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Dk(b,B()),0===(K&6)&&(Gj=B()+500,jg()))}break;case 13:Rk(function(){var b=ih(a,1);if(null!==b){var c=R();gi(b,a,1,c)}}),il(a,1)}};\nFc=function(a){if(13===a.tag){var b=ih(a,134217728);if(null!==b){var c=R();gi(b,a,134217728,c)}il(a,134217728)}};Gc=function(a){if(13===a.tag){var b=yi(a),c=ih(a,b);if(null!==c){var d=R();gi(c,a,b,d)}il(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Qk;Hb=Rk;\nvar sl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},tl={findFiberByHostInstance:Wc,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"};\nvar ul={bundleType:tl.bundleType,version:tl.version,rendererPackageName:tl.rendererPackageName,rendererConfig:tl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:tl.findFiberByHostInstance||\njl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var vl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vl.isDisabled&&vl.supportsFiber)try{kc=vl.inject(ul),lc=vl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!nl(b))throw Error(p(200));return cl(a,b,null,c)};exports.createRoot=function(a,b){if(!nl(a))throw Error(p(299));var c=!1,d=\"\",e=kl;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=bl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ll(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Rk(a)};exports.hydrate=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!nl(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=kl;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=el(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new ml(b)};exports.render=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!ol(a))throw Error(p(40));return a._reactRootContainer?(Rk(function(){rl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Qk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!ol(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return rl(a,b,c,!1,d)};exports.version=\"18.3.1-next-f1338f8080-20240426\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","/**\n * defines a focus group\n */\nexport var FOCUS_GROUP = 'data-focus-lock';\n/**\n * disables element discovery inside a group marked by key\n */\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\n/**\n * allows uncontrolled focus within the marked area, effectively disabling focus lock for it's content\n */\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\n/**\n * instructs autofocus engine to pick default autofocus inside a given node\n * can be set on the element or container\n */\nexport var FOCUS_AUTO = 'data-autofocus-inside';\n/**\n * instructs autofocus to ignore elements within a given node\n * can be set on the element or container\n */\nexport var FOCUS_NO_AUTOFOCUS = 'data-no-autofocus';\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n","import * as React from 'react';\nimport { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nvar currentValues = new WeakMap();\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return <div ref={domRef}>...</div>\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n var callbackRef = useCallbackRef(defaultValue || null, function (newValue) {\n return refs.forEach(function (ref) { return assignRef(ref, newValue); });\n });\n // handle refs changes - added or removed\n useIsomorphicLayoutEffect(function () {\n var oldValue = currentValues.get(callbackRef);\n if (oldValue) {\n var prevRefs_1 = new Set(oldValue);\n var nextRefs_1 = new Set(refs);\n var current_1 = callbackRef.current;\n prevRefs_1.forEach(function (ref) {\n if (!nextRefs_1.has(ref)) {\n assignRef(ref, null);\n }\n });\n nextRefs_1.forEach(function (ref) {\n if (!prevRefs_1.has(ref)) {\n assignRef(ref, current_1);\n }\n });\n }\n currentValues.set(callbackRef, refs);\n }, [refs]);\n return callbackRef;\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () { return ({\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }); })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nexport var hiddenGuard = {\n width: '1px',\n height: '0px',\n padding: 0,\n overflow: 'hidden',\n position: 'fixed',\n top: '1px',\n left: '1px'\n};\nvar InFocusGuard = function InFocusGuard(_ref) {\n var _ref$children = _ref.children,\n children = _ref$children === void 0 ? null : _ref$children;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }), children, children && /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-last\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }));\n};\nInFocusGuard.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node\n} : {};\nexport default InFocusGuard;","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options);\n return medium;\n}\n","import { createMedium, createSidecarMedium } from 'use-sidecar';\nexport var mediumFocus = createMedium({}, function (_ref) {\n var target = _ref.target,\n currentTarget = _ref.currentTarget;\n return {\n target: target,\n currentTarget: currentTarget\n };\n});\nexport var mediumBlur = createMedium();\nexport var mediumEffect = createMedium();\nexport var mediumSidecar = createSidecarMedium({\n async: true,\n ssr: typeof document !== 'undefined'\n});","import { createContext } from 'react';\nexport var focusScope = /*#__PURE__*/createContext(undefined);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { node, bool, string, any, arrayOf, oneOfType, object, func } from 'prop-types';\nimport * as constants from 'focus-lock/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { hiddenGuard } from './FocusGuard';\nimport { mediumFocus, mediumBlur, mediumSidecar } from './medium';\nimport { focusScope } from './scope';\nvar emptyArray = [];\nvar FocusLock = /*#__PURE__*/React.forwardRef(function FocusLockUI(props, parentRef) {\n var _extends2;\n var _React$useState = React.useState(),\n realObserved = _React$useState[0],\n setObserved = _React$useState[1];\n var observed = React.useRef();\n var isActive = React.useRef(false);\n var originalFocusedElement = React.useRef(null);\n var _React$useState2 = React.useState({}),\n update = _React$useState2[1];\n var children = props.children,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$noFocusGuards = props.noFocusGuards,\n noFocusGuards = _props$noFocusGuards === void 0 ? false : _props$noFocusGuards,\n _props$persistentFocu = props.persistentFocus,\n persistentFocus = _props$persistentFocu === void 0 ? false : _props$persistentFocu,\n _props$crossFrame = props.crossFrame,\n crossFrame = _props$crossFrame === void 0 ? true : _props$crossFrame,\n _props$autoFocus = props.autoFocus,\n autoFocus = _props$autoFocus === void 0 ? true : _props$autoFocus,\n allowTextSelection = props.allowTextSelection,\n group = props.group,\n className = props.className,\n whiteList = props.whiteList,\n hasPositiveIndices = props.hasPositiveIndices,\n _props$shards = props.shards,\n shards = _props$shards === void 0 ? emptyArray : _props$shards,\n _props$as = props.as,\n Container = _props$as === void 0 ? 'div' : _props$as,\n _props$lockProps = props.lockProps,\n containerProps = _props$lockProps === void 0 ? {} : _props$lockProps,\n SideCar = props.sideCar,\n _props$returnFocus = props.returnFocus,\n shouldReturnFocus = _props$returnFocus === void 0 ? false : _props$returnFocus,\n focusOptions = props.focusOptions,\n onActivationCallback = props.onActivation,\n onDeactivationCallback = props.onDeactivation;\n var _React$useState3 = React.useState({}),\n id = _React$useState3[0];\n var onActivation = React.useCallback(function (_ref) {\n var captureFocusRestore = _ref.captureFocusRestore;\n if (!originalFocusedElement.current) {\n var _document;\n var activeElement = (_document = document) == null ? void 0 : _document.activeElement;\n originalFocusedElement.current = activeElement;\n if (activeElement !== document.body) {\n originalFocusedElement.current = captureFocusRestore(activeElement);\n }\n }\n if (observed.current && onActivationCallback) {\n onActivationCallback(observed.current);\n }\n isActive.current = true;\n update();\n }, [onActivationCallback]);\n var onDeactivation = React.useCallback(function () {\n isActive.current = false;\n if (onDeactivationCallback) {\n onDeactivationCallback(observed.current);\n }\n update();\n }, [onDeactivationCallback]);\n var returnFocus = React.useCallback(function (allowDefer) {\n var focusRestore = originalFocusedElement.current;\n if (focusRestore) {\n var returnFocusTo = (typeof focusRestore === 'function' ? focusRestore() : focusRestore) || document.body;\n var howToReturnFocus = typeof shouldReturnFocus === 'function' ? shouldReturnFocus(returnFocusTo) : shouldReturnFocus;\n if (howToReturnFocus) {\n var returnFocusOptions = typeof howToReturnFocus === 'object' ? howToReturnFocus : undefined;\n originalFocusedElement.current = null;\n if (allowDefer) {\n Promise.resolve().then(function () {\n return returnFocusTo.focus(returnFocusOptions);\n });\n } else {\n returnFocusTo.focus(returnFocusOptions);\n }\n }\n }\n }, [shouldReturnFocus]);\n var onFocus = React.useCallback(function (event) {\n if (isActive.current) {\n mediumFocus.useMedium(event);\n }\n }, []);\n var onBlur = mediumBlur.useMedium;\n var setObserveNode = React.useCallback(function (newObserved) {\n if (observed.current !== newObserved) {\n observed.current = newObserved;\n setObserved(newObserved);\n }\n }, []);\n if (process.env.NODE_ENV !== 'production') {\n if (typeof allowTextSelection !== 'undefined') {\n console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n React.useEffect(function () {\n if (!observed.current && typeof Container !== 'string') {\n console.error('FocusLock: could not obtain ref to internal node');\n }\n }, []);\n }\n var lockProps = _extends((_extends2 = {}, _extends2[constants.FOCUS_DISABLED] = disabled && 'disabled', _extends2[constants.FOCUS_GROUP] = group, _extends2), containerProps);\n var hasLeadingGuards = noFocusGuards !== true;\n var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';\n var mergedRef = useMergeRefs([parentRef, setObserveNode]);\n var focusScopeValue = React.useMemo(function () {\n return {\n observed: observed,\n shards: shards,\n enabled: !disabled,\n active: isActive.current\n };\n }, [disabled, isActive.current, shards, realObserved]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, hasLeadingGuards && [\n /*#__PURE__*/\n React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }), hasPositiveIndices ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-nearest\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 1,\n style: hiddenGuard\n }) : null], !disabled && /*#__PURE__*/React.createElement(SideCar, {\n id: id,\n sideCar: mediumSidecar,\n observed: realObserved,\n disabled: disabled,\n persistentFocus: persistentFocus,\n crossFrame: crossFrame,\n autoFocus: autoFocus,\n whiteList: whiteList,\n shards: shards,\n onActivation: onActivation,\n onDeactivation: onDeactivation,\n returnFocus: returnFocus,\n focusOptions: focusOptions,\n noFocusGuards: noFocusGuards\n }), /*#__PURE__*/React.createElement(Container, _extends({\n ref: mergedRef\n }, lockProps, {\n className: className,\n onBlur: onBlur,\n onFocus: onFocus\n }), /*#__PURE__*/React.createElement(focusScope.Provider, {\n value: focusScopeValue\n }, children)), hasTailingGuards && /*#__PURE__*/React.createElement(\"div\", {\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }));\n});\nFocusLock.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: node,\n disabled: bool,\n returnFocus: oneOfType([bool, object, func]),\n focusOptions: object,\n noFocusGuards: bool,\n hasPositiveIndices: bool,\n allowTextSelection: bool,\n autoFocus: bool,\n persistentFocus: bool,\n crossFrame: bool,\n group: string,\n className: string,\n whiteList: func,\n shards: arrayOf(any),\n as: oneOfType([string, func, object]),\n lockProps: object,\n onActivation: func,\n onDeactivation: func,\n sideCar: any.isRequired\n} : {};\nexport default FocusLock;","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { PureComponent } from 'react';\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n handleStateChangeOnClient(state);\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n return SideEffect;\n };\n}\n\nexport default withSideEffect;\n","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","/*\nIE11 support\n */\nexport var toArray = function (a) {\n var ret = Array(a.length);\n for (var i = 0; i < a.length; ++i) {\n ret[i] = a[i];\n }\n return ret;\n};\nexport var asArray = function (a) { return (Array.isArray(a) ? a : [a]); };\nexport var getFirst = function (a) { return (Array.isArray(a) ? a[0] : a); };\n","import { FOCUS_NO_AUTOFOCUS } from '../constants';\nvar isElementHidden = function (node) {\n // we can measure only \"elements\"\n // consider others as \"visible\"\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return false;\n }\n var computedStyle = window.getComputedStyle(node, null);\n if (!computedStyle || !computedStyle.getPropertyValue) {\n return false;\n }\n return (computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden');\n};\nvar getParentNode = function (node) {\n // DOCUMENT_FRAGMENT_NODE can also point on ShadowRoot. In this case .host will point on the next node\n return node.parentNode && node.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node.parentNode.host\n : node.parentNode;\n};\nvar isTopNode = function (node) {\n // @ts-ignore\n return node === document || (node && node.nodeType === Node.DOCUMENT_NODE);\n};\nvar isInert = function (node) { return node.hasAttribute('inert'); };\n/**\n * @see https://github.com/testing-library/jest-dom/blob/main/src/to-be-visible.js\n */\nvar isVisibleUncached = function (node, checkParent) {\n return !node || isTopNode(node) || (!isElementHidden(node) && !isInert(node) && checkParent(getParentNode(node)));\n};\nexport var isVisibleCached = function (visibilityCache, node) {\n var cached = visibilityCache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isVisibleUncached(node, isVisibleCached.bind(undefined, visibilityCache));\n visibilityCache.set(node, result);\n return result;\n};\nvar isAutoFocusAllowedUncached = function (node, checkParent) {\n return node && !isTopNode(node) ? (isAutoFocusAllowed(node) ? checkParent(getParentNode(node)) : false) : true;\n};\nexport var isAutoFocusAllowedCached = function (cache, node) {\n var cached = cache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isAutoFocusAllowedUncached(node, isAutoFocusAllowedCached.bind(undefined, cache));\n cache.set(node, result);\n return result;\n};\nexport var getDataset = function (node) {\n // @ts-ignore\n return node.dataset;\n};\nexport var isHTMLButtonElement = function (node) { return node.tagName === 'BUTTON'; };\nexport var isHTMLInputElement = function (node) { return node.tagName === 'INPUT'; };\nexport var isRadioElement = function (node) {\n return isHTMLInputElement(node) && node.type === 'radio';\n};\nexport var notHiddenInput = function (node) {\n return !((isHTMLInputElement(node) || isHTMLButtonElement(node)) && (node.type === 'hidden' || node.disabled));\n};\nexport var isAutoFocusAllowed = function (node) {\n var attribute = node.getAttribute(FOCUS_NO_AUTOFOCUS);\n return ![true, 'true', ''].includes(attribute);\n};\nexport var isGuard = function (node) { var _a; return Boolean(node && ((_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.focusGuard)); };\nexport var isNotAGuard = function (node) { return !isGuard(node); };\nexport var isDefined = function (x) { return Boolean(x); };\n","import { toArray } from './array';\nexport var tabSort = function (a, b) {\n var aTab = Math.max(0, a.tabIndex);\n var bTab = Math.max(0, b.tabIndex);\n var tabDiff = aTab - bTab;\n var indexDiff = a.index - b.index;\n if (tabDiff) {\n if (!aTab) {\n return 1;\n }\n if (!bTab) {\n return -1;\n }\n }\n return tabDiff || indexDiff;\n};\nvar getTabIndex = function (node) {\n if (node.tabIndex < 0) {\n // all \"focusable\" elements are already preselected\n // but some might have implicit negative tabIndex\n // return 0 for <audio without tabIndex attribute - it is \"tabbable\"\n if (!node.hasAttribute('tabindex')) {\n return 0;\n }\n }\n return node.tabIndex;\n};\nexport var orderByTabIndex = function (nodes, filterNegative, keepGuards) {\n return toArray(nodes)\n .map(function (node, index) {\n var tabIndex = getTabIndex(node);\n return {\n node: node,\n index: index,\n tabIndex: keepGuards && tabIndex === -1 ? ((node.dataset || {}).focusGuard ? 0 : -1) : tabIndex,\n };\n })\n .filter(function (data) { return !filterNegative || data.tabIndex >= 0; })\n .sort(tabSort);\n};\n","import { FOCUS_AUTO } from '../constants';\nimport { toArray } from './array';\nimport { tabbables } from './tabbables';\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = \"\".concat(queryTabbables, \", [data-focus-guard]\");\nvar getFocusablesWithShadowDom = function (parent, withGuards) {\n return toArray((parent.shadowRoot || parent).children).reduce(function (acc, child) {\n return acc.concat(child.matches(withGuards ? queryGuardTabbables : queryTabbables) ? [child] : [], getFocusablesWithShadowDom(child));\n }, []);\n};\nvar getFocusablesWithIFrame = function (parent, withGuards) {\n var _a;\n // contentDocument of iframe will be null if current origin cannot access it\n if (parent instanceof HTMLIFrameElement && ((_a = parent.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {\n return getFocusables([parent.contentDocument.body], withGuards);\n }\n return [parent];\n};\nexport var getFocusables = function (parents, withGuards) {\n return parents.reduce(function (acc, parent) {\n var _a;\n var focusableWithShadowDom = getFocusablesWithShadowDom(parent, withGuards);\n var focusableWithIframes = (_a = []).concat.apply(_a, focusableWithShadowDom.map(function (node) { return getFocusablesWithIFrame(node, withGuards); }));\n return acc.concat(\n // add all tabbables inside and within shadow DOMs in DOM order\n focusableWithIframes, \n // add if node is tabbable itself\n parent.parentNode\n ? toArray(parent.parentNode.querySelectorAll(queryTabbables)).filter(function (node) { return node === parent; })\n : []);\n }, []);\n};\n/**\n * return a list of focusable nodes within an area marked as \"auto-focusable\"\n * @param parent\n */\nexport var getParentAutofocusables = function (parent) {\n var parentFocus = parent.querySelectorAll(\"[\".concat(FOCUS_AUTO, \"]\"));\n return toArray(parentFocus)\n .map(function (node) { return getFocusables([node]); })\n .reduce(function (acc, nodes) { return acc.concat(nodes); }, []);\n};\n","/**\n * list of the object to be considered as focusable\n */\nexport var tabbables = [\n 'button:enabled',\n 'select:enabled',\n 'textarea:enabled',\n 'input:enabled',\n // elements with explicit roles will also use explicit tabindex\n // '[role=\"button\"]',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[tabindex]',\n '[contenteditable]',\n '[autofocus]',\n];\n","import { toArray } from './array';\nimport { isAutoFocusAllowedCached, isVisibleCached, notHiddenInput } from './is';\nimport { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\n/**\n * given list of focusable elements keeps the ones user can interact with\n * @param nodes\n * @param visibilityCache\n */\nexport var filterFocusable = function (nodes, visibilityCache) {\n return toArray(nodes)\n .filter(function (node) { return isVisibleCached(visibilityCache, node); })\n .filter(function (node) { return notHiddenInput(node); });\n};\nexport var filterAutoFocusable = function (nodes, cache) {\n if (cache === void 0) { cache = new Map(); }\n return toArray(nodes).filter(function (node) { return isAutoFocusAllowedCached(cache, node); });\n};\n/**\n * !__WARNING__! Low level API.\n * @returns all tabbable nodes\n *\n * @see {@link getFocusableNodes} to get any focusable element\n *\n * @param topNodes - array of top level HTMLElements to search inside\n * @param visibilityCache - an cache to store intermediate measurements. Expected to be a fresh `new Map` on every call\n */\nexport var getTabbableNodes = function (topNodes, visibilityCache, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards), visibilityCache), true, withGuards);\n};\n/**\n * !__WARNING__! Low level API.\n *\n * @returns anything \"focusable\", not only tabbable. The difference is in `tabIndex=-1`\n * (without guards, as long as they are not expected to be ever focused)\n *\n * @see {@link getTabbableNodes} to get only tabble nodes element\n *\n * @param topNodes - array of top level HTMLElements to search inside\n * @param visibilityCache - an cache to store intermediate measurements. Expected to be a fresh `new Map` on every call\n */\nexport var getFocusableNodes = function (topNodes, visibilityCache) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes), visibilityCache), false);\n};\n/**\n * return list of nodes which are expected to be auto-focused\n * @param topNode\n * @param visibilityCache\n */\nexport var parentAutofocusables = function (topNode, visibilityCache) {\n return filterFocusable(getParentAutofocusables(topNode), visibilityCache);\n};\n/*\n * Determines if element is contained in scope, including nested shadow DOMs\n */\nexport var contains = function (scope, element) {\n if (scope.shadowRoot) {\n return contains(scope.shadowRoot, element);\n }\n else {\n if (Object.getPrototypeOf(scope).contains !== undefined &&\n Object.getPrototypeOf(scope).contains.call(scope, element)) {\n return true;\n }\n return toArray(scope.children).some(function (child) {\n var _a;\n if (child instanceof HTMLIFrameElement) {\n var iframeBody = (_a = child.contentDocument) === null || _a === void 0 ? void 0 : _a.body;\n if (iframeBody) {\n return contains(iframeBody, element);\n }\n return false;\n }\n return contains(child, element);\n });\n }\n};\n","/**\n * returns active element from document or from nested shadowdoms\n */\nimport { safeProbe } from './safe';\n/**\n * returns current active element. If the active element is a \"container\" itself(shadowRoot or iframe) returns active element inside it\n * @param [inDocument]\n */\nexport var getActiveElement = function (inDocument) {\n if (inDocument === void 0) { inDocument = document; }\n if (!inDocument || !inDocument.activeElement) {\n return undefined;\n }\n var activeElement = inDocument.activeElement;\n return (activeElement.shadowRoot\n ? getActiveElement(activeElement.shadowRoot)\n : activeElement instanceof HTMLIFrameElement && safeProbe(function () { return activeElement.contentWindow.document; })\n ? getActiveElement(activeElement.contentWindow.document)\n : activeElement);\n};\n","export var safeProbe = function (cb) {\n try {\n return cb();\n }\n catch (e) {\n return undefined;\n }\n};\n","import { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\n/**\n * in case of multiple nodes nested inside each other\n * keeps only top ones\n * this is O(nlogn)\n * @param nodes\n * @returns {*}\n */\nvar filterNested = function (nodes) {\n var contained = new Set();\n var l = nodes.length;\n for (var i = 0; i < l; i += 1) {\n for (var j = i + 1; j < l; j += 1) {\n var position = nodes[i].compareDocumentPosition(nodes[j]);\n /* eslint-disable no-bitwise */\n if ((position & Node.DOCUMENT_POSITION_CONTAINED_BY) > 0) {\n contained.add(j);\n }\n if ((position & Node.DOCUMENT_POSITION_CONTAINS) > 0) {\n contained.add(i);\n }\n /* eslint-enable */\n }\n }\n return nodes.filter(function (_, index) { return !contained.has(index); });\n};\n/**\n * finds top most parent for a node\n * @param node\n * @returns {*}\n */\nvar getTopParent = function (node) {\n return node.parentNode ? getTopParent(node.parentNode) : node;\n};\n/**\n * returns all \"focus containers\" inside a given node\n * @param node - node or nodes to look inside\n * @returns Element[]\n */\nexport var getAllAffectedNodes = function (node) {\n var nodes = asArray(node);\n return nodes.filter(Boolean).reduce(function (acc, currentNode) {\n var group = currentNode.getAttribute(FOCUS_GROUP);\n acc.push.apply(acc, (group\n ? filterNested(toArray(getTopParent(currentNode).querySelectorAll(\"[\".concat(FOCUS_GROUP, \"=\\\"\").concat(group, \"\\\"]:not([\").concat(FOCUS_DISABLED, \"=\\\"disabled\\\"])\"))))\n : [currentNode]));\n return acc;\n }, []);\n};\n","import { contains } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getFirst, toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\nvar focusInFrame = function (frame, activeElement) { return frame === activeElement; };\nvar focusInsideIframe = function (topNode, activeElement) {\n return Boolean(toArray(topNode.querySelectorAll('iframe')).some(function (node) { return focusInFrame(node, activeElement); }));\n};\n/**\n * @returns {Boolean} true, if the current focus is inside given node or nodes.\n * Supports nodes hidden inside shadowDom\n */\nexport var focusInside = function (topNode, activeElement) {\n // const activeElement = document && getActiveElement();\n if (activeElement === void 0) { activeElement = getActiveElement(getFirst(topNode).ownerDocument); }\n if (!activeElement || (activeElement.dataset && activeElement.dataset.focusGuard)) {\n return false;\n }\n return getAllAffectedNodes(topNode).some(function (node) {\n return contains(node, activeElement) || focusInsideIframe(node, activeElement);\n });\n};\n","export var focusOn = function (target, focusOptions) {\n if (!target) {\n // not clear how, but is possible https://github.com/theKashey/focus-lock/issues/53\n return;\n }\n if ('focus' in target) {\n target.focus(focusOptions);\n }\n if ('contentWindow' in target && target.contentWindow) {\n target.contentWindow.focus();\n }\n};\n","import { isRadioElement } from './is';\nvar findSelectedRadio = function (node, nodes) {\n return nodes\n .filter(isRadioElement)\n .filter(function (el) { return el.name === node.name; })\n .filter(function (el) { return el.checked; })[0] || node;\n};\nexport var correctNode = function (node, nodes) {\n if (isRadioElement(node) && node.name) {\n return findSelectedRadio(node, nodes);\n }\n return node;\n};\n/**\n * giving a set of radio inputs keeps only selected (tabbable) ones\n * @param nodes\n */\nexport var correctNodes = function (nodes) {\n // IE11 has no Set(array) constructor\n var resultSet = new Set();\n nodes.forEach(function (node) { return resultSet.add(correctNode(node, nodes)); });\n // using filter to support IE11\n return nodes.filter(function (node) { return resultSet.has(node); });\n};\n","import { correctNode } from './correctFocus';\nexport var pickFirstFocus = function (nodes) {\n if (nodes[0] && nodes.length > 1) {\n return correctNode(nodes[0], nodes);\n }\n return nodes[0];\n};\nexport var pickFocusable = function (nodes, node) {\n return nodes.indexOf(correctNode(node, nodes));\n};\n","import { correctNodes } from './utils/correctFocus';\nimport { pickFocusable } from './utils/firstFocus';\nimport { isGuard } from './utils/is';\nexport var NEW_FOCUS = 'NEW_FOCUS';\n/**\n * Main solver for the \"find next focus\" question\n * @param innerNodes - used to control \"return focus\"\n * @param innerTabbables - used to control \"autofocus\"\n * @param outerNodes\n * @param activeElement\n * @param lastNode\n * @returns {number|string|undefined|*}\n */\nexport var newFocus = function (innerNodes, innerTabbables, outerNodes, activeElement, lastNode) {\n var cnt = innerNodes.length;\n var firstFocus = innerNodes[0];\n var lastFocus = innerNodes[cnt - 1];\n var isOnGuard = isGuard(activeElement);\n // focus is inside\n if (activeElement && innerNodes.indexOf(activeElement) >= 0) {\n return undefined;\n }\n var activeIndex = activeElement !== undefined ? outerNodes.indexOf(activeElement) : -1;\n var lastIndex = lastNode ? outerNodes.indexOf(lastNode) : activeIndex;\n var lastNodeInside = lastNode ? innerNodes.indexOf(lastNode) : -1;\n // no active focus (or focus is on the body)\n if (activeIndex === -1) {\n // known fallback\n if (lastNodeInside !== -1) {\n return lastNodeInside;\n }\n return NEW_FOCUS;\n }\n // new focus, nothing to calculate\n if (lastNodeInside === -1) {\n return NEW_FOCUS;\n }\n var indexDiff = activeIndex - lastIndex;\n var firstNodeIndex = outerNodes.indexOf(firstFocus);\n var lastNodeIndex = outerNodes.indexOf(lastFocus);\n var correctedNodes = correctNodes(outerNodes);\n var currentFocusableIndex = activeElement !== undefined ? correctedNodes.indexOf(activeElement) : -1;\n var previousFocusableIndex = lastNode ? correctedNodes.indexOf(lastNode) : currentFocusableIndex;\n var tabbableNodes = correctedNodes.filter(function (node) { return node.tabIndex >= 0; });\n var currentTabbableIndex = activeElement !== undefined ? tabbableNodes.indexOf(activeElement) : -1;\n var previousTabbableIndex = lastNode ? tabbableNodes.indexOf(lastNode) : currentTabbableIndex;\n var focusIndexDiff = currentTabbableIndex >= 0 && previousTabbableIndex >= 0\n ? // old/new are tabbables, measure distance in tabbable space\n previousTabbableIndex - currentTabbableIndex\n : // or else measure in focusable space\n previousFocusableIndex - currentFocusableIndex;\n // old focus\n if (!indexDiff && lastNodeInside >= 0) {\n return lastNodeInside;\n }\n // no tabbable elements, autofocus is not possible\n if (innerTabbables.length === 0) {\n // an edge case with no tabbable elements\n // return the last focusable one\n // with some probability this will prevent focus from cycling across the lock, but there is no tabbale elements to cycle to\n return lastNodeInside;\n }\n var returnFirstNode = pickFocusable(innerNodes, innerTabbables[0]);\n var returnLastNode = pickFocusable(innerNodes, innerTabbables[innerTabbables.length - 1]);\n // first element\n if (activeIndex <= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnLastNode;\n }\n // last element\n if (activeIndex >= lastNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnFirstNode;\n }\n // jump out, but not on the guard\n if (indexDiff && Math.abs(focusIndexDiff) > 1) {\n return lastNodeInside;\n }\n // focus above lock\n if (activeIndex <= firstNodeIndex) {\n return returnLastNode;\n }\n // focus below lock\n if (activeIndex > lastNodeIndex) {\n return returnFirstNode;\n }\n // index is inside tab order, but outside Lock\n if (indexDiff) {\n if (Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n return (cnt + lastNodeInside + indexDiff) % cnt;\n }\n // do nothing\n return undefined;\n};\n","import { filterAutoFocusable } from './DOMutils';\nimport { pickFirstFocus } from './firstFocus';\nimport { getDataset } from './is';\nvar findAutoFocused = function (autoFocusables) {\n return function (node) {\n var _a;\n var autofocus = (_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.autofocus;\n return (\n // @ts-expect-error\n node.autofocus ||\n //\n (autofocus !== undefined && autofocus !== 'false') ||\n //\n autoFocusables.indexOf(node) >= 0);\n };\n};\nexport var pickAutofocus = function (nodesIndexes, orderedNodes, groups) {\n var nodes = nodesIndexes.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var autoFocusable = filterAutoFocusable(nodes.filter(findAutoFocused(groups)));\n if (autoFocusable && autoFocusable.length) {\n return pickFirstFocus(autoFocusable);\n }\n return pickFirstFocus(filterAutoFocusable(orderedNodes));\n};\n","import { parentAutofocusables } from './DOMutils';\nimport { contains } from './DOMutils';\nimport { asArray } from './array';\nvar getParents = function (node, parents) {\n if (parents === void 0) { parents = []; }\n parents.push(node);\n if (node.parentNode) {\n getParents(node.parentNode.host || node.parentNode, parents);\n }\n return parents;\n};\n/**\n * finds a parent for both nodeA and nodeB\n * @param nodeA\n * @param nodeB\n * @returns {boolean|*}\n */\nexport var getCommonParent = function (nodeA, nodeB) {\n var parentsA = getParents(nodeA);\n var parentsB = getParents(nodeB);\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < parentsA.length; i += 1) {\n var currentParent = parentsA[i];\n if (parentsB.indexOf(currentParent) >= 0) {\n return currentParent;\n }\n }\n return false;\n};\nexport var getTopCommonParent = function (baseActiveElement, leftEntry, rightEntries) {\n var activeElements = asArray(baseActiveElement);\n var leftEntries = asArray(leftEntry);\n var activeElement = activeElements[0];\n var topCommon = false;\n leftEntries.filter(Boolean).forEach(function (entry) {\n topCommon = getCommonParent(topCommon || entry, entry) || topCommon;\n rightEntries.filter(Boolean).forEach(function (subEntry) {\n var common = getCommonParent(activeElement, subEntry);\n if (common) {\n if (!topCommon || contains(common, topCommon)) {\n topCommon = common;\n }\n else {\n topCommon = getCommonParent(common, topCommon);\n }\n }\n });\n });\n // TODO: add assert here?\n return topCommon;\n};\n/**\n * return list of nodes which are expected to be autofocused inside a given top nodes\n * @param entries\n * @param visibilityCache\n */\nexport var allParentAutofocusables = function (entries, visibilityCache) {\n return entries.reduce(function (acc, node) { return acc.concat(parentAutofocusables(node, visibilityCache)); }, []);\n};\n","import { NEW_FOCUS, newFocus } from './solver';\nimport { getFocusableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { asArray, getFirst } from './utils/array';\nimport { pickAutofocus } from './utils/auto-focus';\nimport { getActiveElement } from './utils/getActiveElement';\nimport { isDefined, isNotAGuard } from './utils/is';\nimport { allParentAutofocusables, getTopCommonParent } from './utils/parenting';\nvar reorderNodes = function (srcNodes, dstNodes) {\n var remap = new Map();\n // no Set(dstNodes) for IE11 :(\n dstNodes.forEach(function (entity) { return remap.set(entity.node, entity); });\n // remap to dstNodes\n return srcNodes.map(function (node) { return remap.get(node); }).filter(isDefined);\n};\n/**\n * contains the main logic of the `focus-lock` package.\n *\n * ! you probably dont need this function !\n *\n * given top node(s) and the last active element returns the element to be focused next\n * @returns element which should be focused to move focus inside\n * @param topNode\n * @param lastNode\n */\nexport var focusSolver = function (topNode, lastNode) {\n var activeElement = getActiveElement(asArray(topNode).length > 0 ? document : getFirst(topNode).ownerDocument);\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n var visibilityCache = new Map();\n var anyFocusable = getFocusableNodes(entries, visibilityCache);\n var innerElements = anyFocusable.filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n });\n if (!innerElements[0]) {\n return undefined;\n }\n var outerNodes = getFocusableNodes([commonParent], visibilityCache).map(function (_a) {\n var node = _a.node;\n return node;\n });\n var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n // collect inner focusable and separately tabbables\n var innerFocusables = orderedInnerElements.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var innerTabbable = orderedInnerElements.filter(function (_a) {\n var tabIndex = _a.tabIndex;\n return tabIndex >= 0;\n }).map(function (_a) {\n var node = _a.node;\n return node;\n });\n var newId = newFocus(innerFocusables, innerTabbable, outerNodes, activeElement, lastNode);\n if (newId === NEW_FOCUS) {\n var focusNode = \n // first try only tabbable, and the fallback to all focusable, as long as at least one element should be picked for focus\n pickAutofocus(anyFocusable, innerTabbable, allParentAutofocusables(entries, visibilityCache)) ||\n pickAutofocus(anyFocusable, innerFocusables, allParentAutofocusables(entries, visibilityCache));\n if (focusNode) {\n return { node: focusNode };\n }\n else {\n console.warn('focus-lock: cannot find any node to move focus into');\n return undefined;\n }\n }\n if (newId === undefined) {\n return newId;\n }\n return orderedInnerElements[newId];\n};\n","import { focusOn } from './commands';\nimport { focusSolver } from './focusSolver';\nvar guardCount = 0;\nvar lockDisabled = false;\n/**\n * The main functionality of the focus-lock package\n *\n * Contains focus at a given node.\n * The last focused element will help to determine which element(first or last) should be focused.\n * The found element will be focused.\n *\n * This is one time action (move), not a persistent focus-lock\n *\n * HTML markers (see {@link import('./constants').FOCUS_AUTO} constants) can control autofocus\n * @see {@link focusSolver} for the same functionality without autofocus\n */\nexport var moveFocusInside = function (topNode, lastNode, options) {\n if (options === void 0) { options = {}; }\n var focusable = focusSolver(topNode, lastNode);\n // global local side effect to countain recursive lock activation and resolve focus-fighting\n if (lockDisabled) {\n return;\n }\n if (focusable) {\n /** +FOCUS-FIGHTING prevention **/\n if (guardCount > 2) {\n // we have recursive entered back the lock activation\n console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' +\n 'See https://github.com/theKashey/focus-lock/#focus-fighting');\n lockDisabled = true;\n setTimeout(function () {\n lockDisabled = false;\n }, 1);\n return;\n }\n guardCount++;\n focusOn(focusable.node, options.focusOptions);\n guardCount--;\n }\n};\n","import { getTabbableNodes } from './utils/DOMutils';\nfunction weakRef(value) {\n if (!value)\n return null;\n // #68 Safari 14.1 dont have it yet\n // FIXME: remove in 2025\n if (typeof WeakRef === 'undefined') {\n return function () { return value || null; };\n }\n var w = value ? new WeakRef(value) : null;\n return function () { return (w === null || w === void 0 ? void 0 : w.deref()) || null; };\n}\nexport var recordElementLocation = function (element) {\n if (!element) {\n return null;\n }\n var stack = [];\n var currentElement = element;\n while (currentElement && currentElement !== document.body) {\n stack.push({\n current: weakRef(currentElement),\n parent: weakRef(currentElement.parentElement),\n left: weakRef(currentElement.previousElementSibling),\n right: weakRef(currentElement.nextElementSibling),\n });\n currentElement = currentElement.parentElement;\n }\n return {\n element: weakRef(element),\n stack: stack,\n ownerDocument: element.ownerDocument,\n };\n};\nvar restoreFocusTo = function (location) {\n var _a, _b, _c, _d, _e;\n if (!location) {\n return undefined;\n }\n var stack = location.stack, ownerDocument = location.ownerDocument;\n var visibilityCache = new Map();\n for (var _i = 0, stack_1 = stack; _i < stack_1.length; _i++) {\n var line = stack_1[_i];\n var parent_1 = (_a = line.parent) === null || _a === void 0 ? void 0 : _a.call(line);\n // is it still here?\n if (parent_1 && ownerDocument.contains(parent_1)) {\n var left = (_b = line.left) === null || _b === void 0 ? void 0 : _b.call(line);\n var savedCurrent = line.current();\n var current = parent_1.contains(savedCurrent) ? savedCurrent : undefined;\n var right = (_c = line.right) === null || _c === void 0 ? void 0 : _c.call(line);\n var focusables = getTabbableNodes([parent_1], visibilityCache);\n var aim = \n // that is element itself\n (_e = (_d = current !== null && current !== void 0 ? current : \n // or something in it's place\n left === null || left === void 0 ? void 0 : left.nextElementSibling) !== null && _d !== void 0 ? _d : \n // or somebody to the right, still close enough\n right) !== null && _e !== void 0 ? _e : \n // or somebody to the left, something?\n left;\n while (aim) {\n for (var _f = 0, focusables_1 = focusables; _f < focusables_1.length; _f++) {\n var focusable = focusables_1[_f];\n if (aim === null || aim === void 0 ? void 0 : aim.contains(focusable.node)) {\n return focusable.node;\n }\n }\n aim = aim.nextElementSibling;\n }\n if (focusables.length) {\n // if parent contains a focusable - move there\n return focusables[0].node;\n }\n }\n }\n // nothing matched\n return undefined;\n};\n/**\n * Captures the current focused element to restore focus as close as possible in the future\n * Handles situations where the focused element is removed from the DOM or no longer focusable\n * moving focus to the closest focusable element\n * @param targetElement - element where focus should be restored\n * @returns a function returning a new element to focus\n */\nexport var captureFocusRestore = function (targetElement) {\n var location = recordElementLocation(targetElement);\n return function () {\n return restoreFocusTo(location);\n };\n};\n","import { focusOn } from './commands';\nimport { getTabbableNodes, contains, getFocusableNodes } from './utils/DOMutils';\nimport { asArray } from './utils/array';\n/**\n * for a given `element` in a given `scope` returns focusable siblings\n * @param element - base element\n * @param scope - common parent. Can be document, but better to narrow it down for performance reasons\n * @returns {prev,next} - references to a focusable element before and after\n * @returns undefined - if operation is not applicable\n */\nexport var getRelativeFocusable = function (element, scope, useTabbables) {\n if (!element || !scope) {\n console.error('no element or scope given');\n return {};\n }\n var shards = asArray(scope);\n if (shards.every(function (shard) { return !contains(shard, element); })) {\n console.error('Active element is not contained in the scope');\n return {};\n }\n var focusables = useTabbables\n ? getTabbableNodes(shards, new Map())\n : getFocusableNodes(shards, new Map());\n var current = focusables.findIndex(function (_a) {\n var node = _a.node;\n return node === element;\n });\n if (current === -1) {\n // an edge case, when anchor element is not found\n return undefined;\n }\n return {\n prev: focusables[current - 1],\n next: focusables[current + 1],\n first: focusables[0],\n last: focusables[focusables.length - 1],\n };\n};\nvar getBoundary = function (shards, useTabbables) {\n var set = useTabbables\n ? getTabbableNodes(asArray(shards), new Map())\n : getFocusableNodes(asArray(shards), new Map());\n return {\n first: set[0],\n last: set[set.length - 1],\n };\n};\nvar defaultOptions = function (options) {\n return Object.assign({\n scope: document.body,\n cycle: true,\n onlyTabbable: true,\n }, options);\n};\nvar moveFocus = function (fromElement, options, cb) {\n if (options === void 0) { options = {}; }\n var newOptions = defaultOptions(options);\n var solution = getRelativeFocusable(fromElement, newOptions.scope, newOptions.onlyTabbable);\n if (!solution) {\n return;\n }\n var target = cb(solution, newOptions.cycle);\n if (target) {\n focusOn(target.node, newOptions.focusOptions);\n }\n};\n/**\n * focuses next element in the tab-order\n * @param fromElement - common parent to scope active element search or tab cycle order\n * @param {FocusNextOptions} [options] - focus options\n */\nexport var focusNextElement = function (fromElement, options) {\n if (options === void 0) { options = {}; }\n moveFocus(fromElement, options, function (_a, cycle) {\n var next = _a.next, first = _a.first;\n return next || (cycle && first);\n });\n};\n/**\n * focuses prev element in the tab order\n * @param fromElement - common parent to scope active element search or tab cycle order\n * @param {FocusNextOptions} [options] - focus options\n */\nexport var focusPrevElement = function (fromElement, options) {\n if (options === void 0) { options = {}; }\n moveFocus(fromElement, options, function (_a, cycle) {\n var prev = _a.prev, last = _a.last;\n return prev || (cycle && last);\n });\n};\nvar pickBoundary = function (scope, options, what) {\n var _a;\n var boundary = getBoundary(scope, (_a = options.onlyTabbable) !== null && _a !== void 0 ? _a : true);\n var node = boundary[what];\n if (node) {\n focusOn(node.node, options.focusOptions);\n }\n};\n/**\n * focuses first element in the tab-order\n * @param {FocusNextOptions} options - focus options\n */\nexport var focusFirstElement = function (scope, options) {\n if (options === void 0) { options = {}; }\n pickBoundary(scope, options, 'first');\n};\n/**\n * focuses last element in the tab order\n * @param {FocusNextOptions} options - focus options\n */\nexport var focusLastElement = function (scope, options) {\n if (options === void 0) { options = {}; }\n pickBoundary(scope, options, 'last');\n};\n","export function deferAction(action) {\n setTimeout(action, 1);\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};\nexport var extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-clientside-effect';\nimport { moveFocusInside, focusInside, focusIsHidden, expandFocusableNodes, getFocusableNodes, focusNextElement, focusPrevElement, focusFirstElement, focusLastElement, captureFocusRestore } from 'focus-lock';\nimport { deferAction, extractRef } from './util';\nimport { mediumFocus, mediumBlur, mediumEffect } from './medium';\nvar focusOnBody = function focusOnBody() {\n return document && document.activeElement === document.body;\n};\nvar isFreeFocus = function isFreeFocus() {\n return focusOnBody() || focusIsHidden();\n};\nvar lastActiveTrap = null;\nvar lastActiveFocus = null;\nvar tryRestoreFocus = function tryRestoreFocus() {\n return null;\n};\nvar lastPortaledElement = null;\nvar focusWasOutsideWindow = false;\nvar windowFocused = false;\nvar defaultWhitelist = function defaultWhitelist() {\n return true;\n};\nvar focusWhitelisted = function focusWhitelisted(activeElement) {\n return (lastActiveTrap.whiteList || defaultWhitelist)(activeElement);\n};\nvar recordPortal = function recordPortal(observerNode, portaledElement) {\n lastPortaledElement = {\n observerNode: observerNode,\n portaledElement: portaledElement\n };\n};\nvar focusIsPortaledPair = function focusIsPortaledPair(element) {\n return lastPortaledElement && lastPortaledElement.portaledElement === element;\n};\nfunction autoGuard(startIndex, end, step, allNodes) {\n var lastGuard = null;\n var i = startIndex;\n do {\n var item = allNodes[i];\n if (item.guard) {\n if (item.node.dataset.focusAutoGuard) {\n lastGuard = item;\n }\n } else if (item.lockItem) {\n if (i !== startIndex) {\n return;\n }\n lastGuard = null;\n } else {\n break;\n }\n } while ((i += step) !== end);\n if (lastGuard) {\n lastGuard.node.tabIndex = 0;\n }\n}\nvar focusWasOutside = function focusWasOutside(crossFrameOption) {\n if (crossFrameOption) {\n return Boolean(focusWasOutsideWindow);\n }\n return focusWasOutsideWindow === 'meanwhile';\n};\nvar checkInHost = function checkInHost(check, el, boundary) {\n return el && (el.host === check && (!el.activeElement || boundary.contains(el.activeElement)) || el.parentNode && checkInHost(check, el.parentNode, boundary));\n};\nvar withinHost = function withinHost(activeElement, workingArea) {\n return workingArea.some(function (area) {\n return checkInHost(activeElement, area, area);\n });\n};\nvar getNodeFocusables = function getNodeFocusables(nodes) {\n return getFocusableNodes(nodes, new Map());\n};\nvar isNotFocusable = function isNotFocusable(node) {\n return !getNodeFocusables([node.parentNode]).some(function (el) {\n return el.node === node;\n });\n};\nvar activateTrap = function activateTrap() {\n var result = false;\n if (lastActiveTrap) {\n var _lastActiveTrap = lastActiveTrap,\n observed = _lastActiveTrap.observed,\n persistentFocus = _lastActiveTrap.persistentFocus,\n autoFocus = _lastActiveTrap.autoFocus,\n shards = _lastActiveTrap.shards,\n crossFrame = _lastActiveTrap.crossFrame,\n focusOptions = _lastActiveTrap.focusOptions,\n noFocusGuards = _lastActiveTrap.noFocusGuards;\n var workingNode = observed || lastPortaledElement && lastPortaledElement.portaledElement;\n if (focusOnBody() && lastActiveFocus) {\n if (!document.body.contains(lastActiveFocus) || isNotFocusable(lastActiveFocus)) {\n lastActiveFocus = null;\n var newTarget = tryRestoreFocus();\n if (newTarget) {\n newTarget.focus();\n }\n }\n }\n var activeElement = document && document.activeElement;\n if (workingNode) {\n var workingArea = [workingNode].concat(shards.map(extractRef).filter(Boolean));\n var shouldForceRestoreFocus = function shouldForceRestoreFocus() {\n if (!focusWasOutside(crossFrame) || !noFocusGuards || !lastActiveFocus || windowFocused) {\n return false;\n }\n var nodes = getNodeFocusables(workingArea);\n var lastIndex = nodes.findIndex(function (_ref) {\n var node = _ref.node;\n return node === lastActiveFocus;\n });\n return lastIndex === 0 || lastIndex === nodes.length - 1;\n };\n if (!activeElement || focusWhitelisted(activeElement)) {\n if (persistentFocus || shouldForceRestoreFocus() || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n if (workingNode && !(focusInside(workingArea) || activeElement && withinHost(activeElement, workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\n if (activeElement.blur) {\n activeElement.blur();\n }\n document.body.focus();\n } else {\n result = moveFocusInside(workingArea, lastActiveFocus, {\n focusOptions: focusOptions\n });\n lastPortaledElement = {};\n }\n }\n focusWasOutsideWindow = false;\n lastActiveFocus = document && document.activeElement;\n tryRestoreFocus = captureFocusRestore(lastActiveFocus);\n }\n }\n if (document && activeElement !== document.activeElement && document.querySelector('[data-focus-auto-guard]')) {\n var newActiveElement = document && document.activeElement;\n var allNodes = expandFocusableNodes(workingArea);\n var focusedIndex = allNodes.map(function (_ref2) {\n var node = _ref2.node;\n return node;\n }).indexOf(newActiveElement);\n if (focusedIndex > -1) {\n allNodes.filter(function (_ref3) {\n var guard = _ref3.guard,\n node = _ref3.node;\n return guard && node.dataset.focusAutoGuard;\n }).forEach(function (_ref4) {\n var node = _ref4.node;\n return node.removeAttribute('tabIndex');\n });\n autoGuard(focusedIndex, allNodes.length, +1, allNodes);\n autoGuard(focusedIndex, -1, -1, allNodes);\n }\n }\n }\n }\n return result;\n};\nvar onTrap = function onTrap(event) {\n if (activateTrap() && event) {\n event.stopPropagation();\n event.preventDefault();\n }\n};\nvar onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\nvar onFocus = function onFocus(event) {\n var source = event.target;\n var currentNode = event.currentTarget;\n if (!currentNode.contains(source)) {\n recordPortal(currentNode, source);\n }\n};\nvar FocusWatcher = function FocusWatcher() {\n return null;\n};\nvar FocusTrap = function FocusTrap(_ref5) {\n var children = _ref5.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n onBlur: onBlur,\n onFocus: onFocus\n }, children);\n};\nFocusTrap.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired\n} : {};\nvar onWindowFocus = function onWindowFocus() {\n windowFocused = true;\n};\nvar onWindowBlur = function onWindowBlur() {\n windowFocused = false;\n focusWasOutsideWindow = 'just';\n deferAction(function () {\n focusWasOutsideWindow = 'meanwhile';\n });\n};\nvar attachHandler = function attachHandler() {\n document.addEventListener('focusin', onTrap);\n document.addEventListener('focusout', onBlur);\n window.addEventListener('focus', onWindowFocus);\n window.addEventListener('blur', onWindowBlur);\n};\nvar detachHandler = function detachHandler() {\n document.removeEventListener('focusin', onTrap);\n document.removeEventListener('focusout', onBlur);\n window.removeEventListener('focus', onWindowFocus);\n window.removeEventListener('blur', onWindowBlur);\n};\nfunction reducePropsToState(propsList) {\n return propsList.filter(function (_ref6) {\n var disabled = _ref6.disabled;\n return !disabled;\n });\n}\nvar focusLockAPI = {\n moveFocusInside: moveFocusInside,\n focusInside: focusInside,\n focusNextElement: focusNextElement,\n focusPrevElement: focusPrevElement,\n focusFirstElement: focusFirstElement,\n focusLastElement: focusLastElement,\n captureFocusRestore: captureFocusRestore\n};\nfunction handleStateChangeOnClient(traps) {\n var trap = traps.slice(-1)[0];\n if (trap && !lastActiveTrap) {\n attachHandler();\n }\n var lastTrap = lastActiveTrap;\n var sameTrap = lastTrap && trap && trap.id === lastTrap.id;\n lastActiveTrap = trap;\n if (lastTrap && !sameTrap) {\n lastTrap.onDeactivation();\n if (!traps.filter(function (_ref7) {\n var id = _ref7.id;\n return id === lastTrap.id;\n }).length) {\n lastTrap.returnFocus(!trap);\n }\n }\n if (trap) {\n lastActiveFocus = null;\n if (!sameTrap || lastTrap.observed !== trap.observed) {\n trap.onActivation(focusLockAPI);\n }\n activateTrap(true);\n deferAction(activateTrap);\n } else {\n detachHandler();\n lastActiveFocus = null;\n }\n}\nmediumFocus.assignSyncMedium(onFocus);\nmediumBlur.assignMedium(onBlur);\nmediumEffect.assignMedium(function (cb) {\n return cb(focusLockAPI);\n});\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import { FOCUS_ALLOW } from './constants';\nimport { contains } from './utils/DOMutils';\nimport { toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\n/**\n * checks if focus is hidden FROM the focus-lock\n * ie contained inside a node focus-lock shall ignore\n *\n * This is a utility function coupled with {@link FOCUS_ALLOW} constant\n *\n * @returns {boolean} focus is currently is in \"allow\" area\n */\nexport var focusIsHidden = function (inDocument) {\n if (inDocument === void 0) { inDocument = document; }\n var activeElement = getActiveElement(inDocument);\n if (!activeElement) {\n return false;\n }\n // this does not support setting FOCUS_ALLOW within shadow dom\n return toArray(inDocument.querySelectorAll(\"[\".concat(FOCUS_ALLOW, \"]\"))).some(function (node) { return contains(node, activeElement); });\n};\n","import { getAllAffectedNodes } from './utils/all-affected';\nimport { isGuard, isNotAGuard } from './utils/is';\nimport { getTopCommonParent } from './utils/parenting';\nimport { orderByTabIndex } from './utils/tabOrder';\nimport { getFocusables } from './utils/tabUtils';\n/**\n * traverses all related nodes (including groups) returning a list of all nodes(outer and internal) with meta information\n * This is low-level API!\n * @returns list of focusable elements inside a given top(!) node.\n * @see {@link getFocusableNodes} providing a simpler API\n */\nexport var expandFocusableNodes = function (topNode) {\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(topNode, topNode, entries);\n var outerNodes = orderByTabIndex(getFocusables([commonParent], true), true, true);\n var innerElements = getFocusables(entries, false);\n return outerNodes.map(function (_a) {\n var node = _a.node, index = _a.index;\n return ({\n node: node,\n index: index,\n lockItem: innerElements.indexOf(node) >= 0,\n guard: isGuard(node),\n });\n });\n};\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport FocusLockUI from './Lock';\nimport FocusTrap from './Trap';\nvar FocusLockCombination = /*#__PURE__*/React.forwardRef(function FocusLockUICombination(props, ref) {\n return /*#__PURE__*/React.createElement(FocusLockUI, _extends({\n sideCar: FocusTrap,\n ref: ref\n }, props));\n});\nvar _ref = FocusLockUI.propTypes || {},\n sideCar = _ref.sideCar,\n propTypes = _objectWithoutPropertiesLoose(_ref, [\"sideCar\"]);\nFocusLockCombination.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nexport default FocusLockCombination;","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import FocusLock from './Combination';\nexport * from './UI';\nexport default FocusLock;","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","'use strict';\n\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\n\n/*\n* This function traverses the list returning the node corresponding to the given key.\n*\n* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list.\n* By doing so, all the recently used nodes can be accessed relatively quickly.\n*/\n/** @type {import('./list.d.ts').listGetNode} */\n// eslint-disable-next-line consistent-return\nvar listGetNode = function (list, key, isDelete) {\n\t/** @type {typeof list | NonNullable<(typeof list)['next']>} */\n\tvar prev = list;\n\t/** @type {(typeof list)['next']} */\n\tvar curr;\n\t// eslint-disable-next-line eqeqeq\n\tfor (; (curr = prev.next) != null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tif (!isDelete) {\n\t\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t\tcurr.next = /** @type {NonNullable<typeof list.next>} */ (list.next);\n\t\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\t}\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\n/** @type {import('./list.d.ts').listGet} */\nvar listGet = function (objects, key) {\n\tif (!objects) {\n\t\treturn void undefined;\n\t}\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\n/** @type {import('./list.d.ts').listSet} */\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = /** @type {import('./list.d.ts').ListNode<typeof value, typeof key>} */ ({ // eslint-disable-line no-param-reassign, no-extra-parens\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t});\n\t}\n};\n/** @type {import('./list.d.ts').listHas} */\nvar listHas = function (objects, key) {\n\tif (!objects) {\n\t\treturn false;\n\t}\n\treturn !!listGetNode(objects, key);\n};\n/** @type {import('./list.d.ts').listDelete} */\n// eslint-disable-next-line consistent-return\nvar listDelete = function (objects, key) {\n\tif (objects) {\n\t\treturn listGetNode(objects, key, true);\n\t}\n};\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannelList() {\n\t/** @typedef {ReturnType<typeof getSideChannelList>} Channel */\n\t/** @typedef {Parameters<Channel['get']>[0]} K */\n\t/** @typedef {Parameters<Channel['set']>[1]} V */\n\n\t/** @type {import('./list.d.ts').RootNode<V, K> | undefined} */ var $o;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\tvar root = $o && $o.next;\n\t\t\tvar deletedNode = listDelete($o, key);\n\t\t\tif (deletedNode && root && root === deletedNode) {\n\t\t\t\t$o = void undefined;\n\t\t\t}\n\t\t\treturn !!deletedNode;\n\t\t},\n\t\tget: function (key) {\n\t\t\treturn listGet($o, key);\n\t\t},\n\t\thas: function (key) {\n\t\t\treturn listHas($o, key);\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$o) {\n\t\t\t\t// Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head\n\t\t\t\t$o = {\n\t\t\t\t\tnext: void undefined\n\t\t\t\t};\n\t\t\t}\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\tlistSet(/** @type {NonNullable<typeof $o>} */ ($o), key, value);\n\t\t}\n\t};\n\t// @ts-expect-error TODO: figure out why this is erroring\n\treturn channel;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\nvar $Map = GetIntrinsic('%Map%', true);\n\n/** @type {<K, V>(thisArg: Map<K, V>, key: K) => V} */\nvar $mapGet = callBound('Map.prototype.get', true);\n/** @type {<K, V>(thisArg: Map<K, V>, key: K, value: V) => void} */\nvar $mapSet = callBound('Map.prototype.set', true);\n/** @type {<K, V>(thisArg: Map<K, V>, key: K) => boolean} */\nvar $mapHas = callBound('Map.prototype.has', true);\n/** @type {<K, V>(thisArg: Map<K, V>, key: K) => boolean} */\nvar $mapDelete = callBound('Map.prototype.delete', true);\n/** @type {<K, V>(thisArg: Map<K, V>) => number} */\nvar $mapSize = callBound('Map.prototype.size', true);\n\n/** @type {import('.')} */\nmodule.exports = !!$Map && /** @type {Exclude<import('.'), false>} */ function getSideChannelMap() {\n\t/** @typedef {ReturnType<typeof getSideChannelMap>} Channel */\n\t/** @typedef {Parameters<Channel['get']>[0]} K */\n\t/** @typedef {Parameters<Channel['set']>[1]} V */\n\n\t/** @type {Map<K, V> | undefined} */ var $m;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\tif ($m) {\n\t\t\t\tvar result = $mapDelete($m, key);\n\t\t\t\tif ($mapSize($m) === 0) {\n\t\t\t\t\t$m = void undefined;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($m) {\n\t\t\t\treturn $mapGet($m, key);\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($m) {\n\t\t\t\treturn $mapHas($m, key);\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$m) {\n\t\t\t\t// @ts-expect-error TS can't handle narrowing a variable inside a closure\n\t\t\t\t$m = new $Map();\n\t\t\t}\n\t\t\t$mapSet($m, key, value);\n\t\t}\n\t};\n\n\t// @ts-expect-error TODO: figure out why TS is erroring here\n\treturn channel;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bound');\nvar inspect = require('object-inspect');\nvar getSideChannelMap = require('side-channel-map');\n\nvar $TypeError = require('es-errors/type');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\n\n/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => V} */\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\n/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K, value: V) => void} */\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\n/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => boolean} */\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\n/** @type {<K extends object, V>(thisArg: WeakMap<K, V>, key: K) => boolean} */\nvar $weakMapDelete = callBound('WeakMap.prototype.delete', true);\n\n/** @type {import('.')} */\nmodule.exports = $WeakMap\n\t? /** @type {Exclude<import('.'), false>} */ function getSideChannelWeakMap() {\n\t\t/** @typedef {ReturnType<typeof getSideChannelWeakMap>} Channel */\n\t\t/** @typedef {Parameters<Channel['get']>[0]} K */\n\t\t/** @typedef {Parameters<Channel['set']>[1]} V */\n\n\t\t/** @type {WeakMap<K & object, V> | undefined} */ var $wm;\n\t\t/** @type {Channel | undefined} */ var $m;\n\n\t\t/** @type {Channel} */\n\t\tvar channel = {\n\t\t\tassert: function (key) {\n\t\t\t\tif (!channel.has(key)) {\n\t\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t\t}\n\t\t\t},\n\t\t\t'delete': function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapDelete($wm, key);\n\t\t\t\t\t}\n\t\t\t\t} else if (getSideChannelMap) {\n\t\t\t\t\tif ($m) {\n\t\t\t\t\t\treturn $m['delete'](key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tget: function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn $m && $m.get(key);\n\t\t\t},\n\t\t\thas: function (key) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif ($wm) {\n\t\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn !!$m && $m.has(key);\n\t\t\t},\n\t\t\tset: function (key, value) {\n\t\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\t\tif (!$wm) {\n\t\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t\t}\n\t\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t\t} else if (getSideChannelMap) {\n\t\t\t\t\tif (!$m) {\n\t\t\t\t\t\t$m = getSideChannelMap();\n\t\t\t\t\t}\n\t\t\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t\t\t/** @type {NonNullable<typeof $m>} */ ($m).set(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t// @ts-expect-error TODO: figure out why this is erroring\n\t\treturn channel;\n\t}\n\t: getSideChannelMap;\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\nvar inspect = require('object-inspect');\nvar getSideChannelList = require('side-channel-list');\nvar getSideChannelMap = require('side-channel-map');\nvar getSideChannelWeakMap = require('side-channel-weakmap');\n\nvar makeChannel = getSideChannelWeakMap || getSideChannelMap || getSideChannelList;\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannel() {\n\t/** @typedef {ReturnType<typeof getSideChannel>} Channel */\n\n\t/** @type {Channel | undefined} */ var $channelData;\n\n\t/** @type {Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\t'delete': function (key) {\n\t\t\treturn !!$channelData && $channelData['delete'](key);\n\t\t},\n\t\tget: function (key) {\n\t\t\treturn $channelData && $channelData.get(key);\n\t\t},\n\t\thas: function (key) {\n\t\t\treturn !!$channelData && $channelData.has(key);\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif (!$channelData) {\n\t\t\t\t$channelData = makeChannel();\n\t\t\t}\n\n\t\t\t$channelData.set(key, value);\n\t\t}\n\t};\n\t// @ts-expect-error TODO: figure out why this is erroring\n\treturn channel;\n};\n","'use strict';\n\nvar isArrayish = require('is-arrayish');\n\nvar concat = Array.prototype.concat;\nvar slice = Array.prototype.slice;\n\nvar swizzle = module.exports = function swizzle(args) {\n\tvar results = [];\n\n\tfor (var i = 0, len = args.length; i < len; i++) {\n\t\tvar arg = args[i];\n\n\t\tif (isArrayish(arg)) {\n\t\t\t// http://jsperf.com/javascript-array-concat-vs-push/98\n\t\t\tresults = concat.call(results, slice.call(arg));\n\t\t} else {\n\t\t\tresults.push(arg);\n\t\t}\n\t}\n\n\treturn results;\n};\n\nswizzle.wrap = function (fn) {\n\treturn function () {\n\t\treturn fn(swizzle(arguments));\n\t};\n};\n","/* Spatial Navigation Polyfill\n *\n * It follows W3C official specification\n * https://drafts.csswg.org/css-nav-1/\n *\n * Copyright (c) 2018-2019 LG Electronics Inc.\n * https://github.com/WICG/spatial-navigation/polyfill\n *\n * Licensed under the MIT license (MIT)\n */\n\n(function () {\n\n // The polyfill must not be executed, if it's already enabled via browser engine or browser extensions.\n if (window.navigate !== undefined) {\n return;\n }\n\n const ARROW_KEY_CODE = {37: 'left', 38: 'up', 39: 'right', 40: 'down'};\n const TAB_KEY_CODE = 9;\n let mapOfBoundRect = null;\n let startingPoint = null; // Indicates global variables for spatnav (starting position)\n\n /**\n * Initiate the spatial navigation features of the polyfill.\n * This function defines which input methods trigger the spatial navigation behavior.\n * @function initiateSpatialNavigation\n */\n function initiateSpatialNavigation() {\n /*\n * Bind the standards APIs to be exposed to the window object for authors\n */\n window.navigate = navigate;\n window.Element.prototype.spatialNavigationSearch = spatialNavigationSearch;\n window.Element.prototype.focusableAreas = focusableAreas;\n window.Element.prototype.getSpatialNavigationContainer = getSpatialNavigationContainer;\n\n /*\n * CSS.registerProperty() from the Properties and Values API\n * Reference: https://drafts.css-houdini.org/css-properties-values-api/#the-registerproperty-function\n */\n if (window.CSS && CSS.registerProperty) {\n if (window.getComputedStyle(document.documentElement).getPropertyValue('--spatial-navigation-contain') === '') {\n CSS.registerProperty({\n name: '--spatial-navigation-contain',\n syntax: 'auto | contain',\n inherits: false,\n initialValue: 'auto'\n });\n }\n\n if (window.getComputedStyle(document.documentElement).getPropertyValue('--spatial-navigation-action') === '') {\n CSS.registerProperty({\n name: '--spatial-navigation-action',\n syntax: 'auto | focus | scroll',\n inherits: false,\n initialValue: 'auto'\n });\n }\n\n if (window.getComputedStyle(document.documentElement).getPropertyValue('--spatial-navigation-function') === '') {\n CSS.registerProperty({\n name: '--spatial-navigation-function',\n syntax: 'normal | euclidean | grid',\n inherits: true,\n initialValue: 'normal'\n });\n }\n }\n\n /*\n * keydown EventListener :\n * If arrow key pressed, get the next focusing element and send it to focusing controller\n */\n window.addEventListener('keydown', e => {\n const currentKeyMode = (parent && parent.__spatialNavigation__.keyMode) || window.__spatialNavigation__.keyMode;\n const eventTarget = document.activeElement;\n const dir = ARROW_KEY_CODE[e.keyCode];\n\n if (e.keyCode === TAB_KEY_CODE)\n startingPoint = null;\n\n if (!currentKeyMode ||\n (currentKeyMode === 'NONE') ||\n ((currentKeyMode === 'SHIFTARROW') && !e.shiftKey) ||\n ((currentKeyMode === 'ARROW') && e.shiftKey))\n return;\n\n if (!e.defaultPrevented && !e.spatialNavigationPrevented) {\n let focusNavigableArrowKey = {left: true, up: true, right: true, down: true};\n\n // Edge case (text input, area) : Don't move focus, just navigate cursor in text area\n if ((eventTarget.nodeName === 'INPUT') || eventTarget.nodeName === 'TEXTAREA')\n focusNavigableArrowKey = handlingEditableElement(e);\n\n if (focusNavigableArrowKey[dir]) {\n e.preventDefault();\n mapOfBoundRect = new Map();\n\n navigate(dir);\n\n mapOfBoundRect = null;\n startingPoint = null;\n }\n }\n });\n\n /*\n * mouseup EventListener :\n * If the mouse click a point in the page, the point will be the starting point.\n * NOTE: Let UA set the spatial navigation starting point based on click\n */\n // document.addEventListener('mouseup', e => {\n // startingPoint = {x: e.clientX, y: e.clientY};\n // });\n }\n\n /**\n * Enable the author to trigger spatial navigation programmatically, as if the user had done so manually.\n * @see {@link https://drafts.csswg.org/css-nav-1/#dom-window-navigate}\n * @function navigate\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n */\n function navigate(dir) {\n // spatial navigation steps\n\n // 1\n const searchOrigin = findSearchOrigin();\n let eventTarget = searchOrigin;\n\n let elementFromPosition = null;\n\n // 2 Optional step, UA defined starting point\n if (startingPoint) {\n // if there is a starting point, set eventTarget as the element from position for getting the spatnav container\n elementFromPosition = document.elementFromPoint(startingPoint.x, startingPoint.y);\n\n // Use starting point if the starting point isn't inside the focusable element (but not container)\n // * Starting point is meaningfull when:\n // 1) starting point is inside the spatnav container\n // 2) starting point is inside the non-focusable element\n if(elementFromPosition === null) {\n elementFromPosition = document.body;\n }\n if (isFocusable(elementFromPosition) && !isContainer(elementFromPosition)) {\n startingPoint = null;\n } else if (isContainer(elementFromPosition)) {\n eventTarget = elementFromPosition;\n } else {\n eventTarget = elementFromPosition.getSpatialNavigationContainer();\n }\n }\n\n // 4\n if (eventTarget === document || eventTarget === document.documentElement) {\n eventTarget = document.body || document.documentElement;\n }\n\n // 5\n // At this point, spatialNavigationSearch can be applied.\n // If startingPoint is either a scroll container or the document,\n // find the best candidate within startingPoint\n let container = null;\n if ((isContainer(eventTarget) || eventTarget.nodeName === 'BODY') && !(eventTarget.nodeName === 'INPUT')) {\n container = eventTarget;\n\n if (eventTarget.nodeName === 'IFRAME')\n eventTarget = eventTarget.contentDocument.documentElement;\n\n let bestInsideCandidate = null;\n\n // 5-2\n if (getCSSSpatNavAction(eventTarget) === 'scroll') {\n if (scrollingController(eventTarget, dir)) return;\n } else if (getCSSSpatNavAction(eventTarget) === 'focus') {\n bestInsideCandidate = eventTarget.spatialNavigationSearch(dir, {container: eventTarget, candidates: getSpatialNavigationCandidates(eventTarget, {mode: 'all'}), inside: true});\n if (focusingController(bestInsideCandidate, dir)) return;\n } else if (getCSSSpatNavAction(eventTarget) === 'auto') {\n bestInsideCandidate = eventTarget.spatialNavigationSearch(dir, {container: eventTarget, inside: true});\n if (focusingController(bestInsideCandidate, dir) || scrollingController(eventTarget, dir)) return;\n }\n }\n\n // 6\n // Let container be the nearest ancestor of eventTarget\n container = container || eventTarget.getSpatialNavigationContainer();\n let parentContainer = (container.parentElement) ? container.getSpatialNavigationContainer() : null;\n\n // When the container is the viewport of a browsing context\n if (!parentContainer && ( window.location !== window.parent.location)) {\n parentContainer = window.parent.document.documentElement;\n }\n\n if (getCSSSpatNavAction(eventTarget) === 'scroll') {\n if (scrollingController(container, dir)) return;\n }\n else if (getCSSSpatNavAction(eventTarget) === 'focus') {\n navigateChain(eventTarget, container, parentContainer, dir, 'all');\n }\n else if (getCSSSpatNavAction(eventTarget) === 'auto') {\n navigateChain(eventTarget, container, parentContainer, dir, 'visible');\n }\n }\n\n /**\n * Move the focus to the best candidate or do nothing.\n * @function focusingController\n * @param bestCandidate {Node} - The best candidate of the spatial navigation\n * @param dir {SpatialNavigationDirection}- The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function focusingController(bestCandidate, dir) {\n // 10 & 11\n // When bestCandidate is found\n if (bestCandidate) {\n const container = bestCandidate.getSpatialNavigationContainer();\n const elementStyle = window.getComputedStyle(container, null);\n const overflowX = elementStyle.getPropertyValue('overflow-x');\n const overflowY = elementStyle.getPropertyValue('overflow-y');\n\n // Scrolling container or document when the next focusing element isn't entirely visible\n // This is for the browser compatability\n if (isScrollable(container, dir) && !isEntirelyVisible(bestCandidate));\n bestCandidate.scrollIntoView();\n\n // When bestCandidate is a focusable element and not a container : move focus\n /*\n * [event] navbeforefocus : Fired before spatial or sequential navigation changes the focus.\n */\n if (!createSpatNavEvents('beforefocus', bestCandidate, null, dir))\n return true;\n\n bestCandidate.focus();\n return true;\n }\n\n // When bestCandidate is not found within the scrollport of a container: Nothing\n return false;\n }\n\n /**\n * Directionally scroll the scrollable spatial navigation container if it can be manually scrolled more.\n * @function scrollingController\n * @param container {Node} - The spatial navigation container which can scroll\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function scrollingController(container, dir) {\n\n // If there is any scrollable area among parent elements and it can be manually scrolled, scroll the document\n if (isScrollable(container, dir) && !isScrollBoundary(container, dir)) {\n moveScroll(container, dir);\n return true;\n }\n\n // If the spatnav container is document and it can be scrolled, scroll the document\n if (!container.parentElement && !isHTMLScrollBoundary(container, dir)) {\n moveScroll(document.documentElement, dir);\n return true;\n }\n return false;\n }\n\n /**\n * Find the candidates within a spatial navigation container include delegable container.\n * This function does not search inside delegable container or focusable container.\n * In other words, this return candidates set is not included focusable elements inside delegable container or focusable container.\n *\n * @function getSpatialNavigationCandidates\n * @param container {Node} - The spatial navigation container\n * @param option {FocusableAreasOptions} - 'mode' attribute takes 'visible' or 'all' for searching the boundary of focusable elements.\n * Default value is 'visible'.\n * @returns {sequence<Node>} candidate elements within the container\n */\n function getSpatialNavigationCandidates (container, option = {mode: 'visible'}) {\n let candidates = [];\n\n if (container.childElementCount > 0) {\n if (!container.parentElement) {\n container = container.getElementsByTagName('body')[0] || document.body;\n }\n const children = container.children;\n for (const elem of children) {\n if (isDelegableContainer(elem)) {\n candidates.push(elem);\n } else if(isFocusable(elem)) {\n candidates.push(elem);\n\n if(!isContainer(elem) && elem.childElementCount) {\n candidates = candidates.concat(getSpatialNavigationCandidates(elem, {mode: 'all'}));\n }\n } else if (elem.childElementCount) {\n candidates = candidates.concat(getSpatialNavigationCandidates(elem, {mode: 'all'}));\n }\n }\n }\n return (option.mode === 'all') ? candidates : candidates.filter(isVisible);\n }\n\n /**\n * Find the candidates among focusable elements within a spatial navigation container from the search origin (currently focused element)\n * depending on the directional information.\n * @function getFilteredSpatialNavigationCandidates\n * @param element {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param candidates {sequence<Node>} - The candidates for spatial navigation without the directional information\n * @param container {Node} - The spatial navigation container\n * @returns {Node} The candidates for spatial navigation considering the directional information\n */\n function getFilteredSpatialNavigationCandidates (element, dir, candidates, container) {\n const targetElement = element;\n // Removed below line due to a bug. (iframe body rect is sometime weird.)\n // const targetElement = (element.nodeName === 'IFRAME') ? element.contentDocument.body : element;\n // If the container is unknown, get the closest container from the element\n container = container || targetElement.getSpatialNavigationContainer();\n\n // If the candidates is unknown, find candidates\n // 5-1\n candidates = (!candidates || candidates.length <= 0) ? getSpatialNavigationCandidates(container) : candidates;\n return filteredCandidates(targetElement, candidates, dir, container);\n }\n\n /**\n * Find the best candidate among the candidates within the container from the search origin (currently focused element)\n * @see {@link https://drafts.csswg.org/css-nav-1/#dom-element-spatialnavigationsearch}\n * @function spatialNavigationSearch\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param container {Node} - The spatial navigation container\n * @param inside {boolean} - Whether candidates should be elements outside of the target element or not.\n * @returns {Node} The best candidate which will gain the focus\n */\n function spatialNavigationSearch (dir, args) {\n const targetElement = this;\n let internalCandidates = [];\n let externalCandidates = [];\n let bestTarget;\n\n // Set default parameter value\n if (!args)\n args = {};\n const container = args.container || targetElement.getSpatialNavigationContainer();\n const candidates = (args.candidates && args.candidates.length > 0) ?\n args.candidates.filter((candidate) => container.contains(candidate)) : getSpatialNavigationCandidates(container);\n const inside = args.inside || false;\n\n // Find the best candidate\n // 5\n // If startingPoint is either a scroll container or the document,\n // find the best candidate within startingPoint\n if (candidates && candidates.length > 0) {\n\n // Divide internal or external candidates\n candidates.forEach(candidate => {\n (targetElement.contains(candidate) && targetElement !== candidate ? internalCandidates : externalCandidates).push(candidate);\n });\n if (!(args.candidates && args.candidates.length > 0) && (internalCandidates.length === 0)) {\n // If targetElement is focusable container or delegable container,\n // getFilteredSpatialNavigationCandidates not return internal candidate.\n internalCandidates = getSpatialNavigationCandidates(targetElement);\n }\n // Filter external Candidates\n if (externalCandidates.length > 0) {\n externalCandidates = getFilteredSpatialNavigationCandidates (targetElement, dir, externalCandidates, container);\n }\n\n if (inside && (isContainer(targetElement) || targetElement.nodeName === 'BODY') && !(targetElement.nodeName === 'INPUT')) {\n bestTarget = selectBestCandidateFromEdge(targetElement, internalCandidates, dir);\n }\n bestTarget = bestTarget || selectBestCandidate(targetElement, externalCandidates, dir);\n\n if (bestTarget && isDelegableContainer(bestTarget)) {\n // if best target is delegable container, then find descendants candidate inside delegable container.\n const innerTarget = getSpatialNavigationCandidates(bestTarget, {mode: 'all'});\n const descendantsBest = innerTarget.length > 0 ? targetElement.spatialNavigationSearch(dir, {candidates: innerTarget, container: bestTarget}) : null;\n if (descendantsBest) {\n bestTarget = descendantsBest;\n } else if (!isFocusable(bestTarget)) {\n // if there is no target inside bestTarget and delegable container is not focusable,\n // then try to find another best target without curren best target.\n candidates.splice(candidates.indexOf(bestTarget), 1);\n bestTarget = candidates.length ? targetElement.spatialNavigationSearch(dir, {candidates: candidates, container: container}) : null;\n }\n }\n return bestTarget;\n }\n\n return null;\n }\n\n /**\n * Get the filtered candidate among candidates.\n * @see {@link https://drafts.csswg.org/css-nav-1/#select-the-best-candidate}\n * @function filteredCandidates\n * @param currentElm {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param container {Node} - The spatial navigation container\n * @returns {sequence<Node>} The filtered candidates which are not the search origin and not in the given spatial navigation direction from the search origin\n */\n function filteredCandidates(currentElm, candidates, dir, container) {\n const originalContainer = currentElm.getSpatialNavigationContainer();\n let eventTargetRect;\n\n // If D(dir) is null, let candidates be the same as visibles\n if (dir === undefined)\n return candidates;\n\n // to do\n // Offscreen handling when originalContainer is not <HTML>\n if (originalContainer.parentElement && container !== originalContainer && !isVisible(currentElm))\n eventTargetRect = getBoundingClientRect(originalContainer);\n else eventTargetRect = getBoundingClientRect(currentElm);\n\n /*\n * Else, let candidates be the subset of the elements in visibles\n * whose principal box’s geometric center is within the closed half plane\n * whose boundary goes through the geometric center of starting point and is perpendicular to D.\n */\n if ((isContainer(currentElm) || currentElm.nodeName === 'BODY') && !(currentElm.nodeName === 'INPUT')) {\n return candidates.filter(candidate => {\n const candidateRect = getBoundingClientRect(candidate);\n return container.contains(candidate) &&\n ((currentElm.contains(candidate) && isInside(eventTargetRect, candidateRect) && candidate !== currentElm) ||\n isOutside(candidateRect, eventTargetRect, dir));\n });\n } else {\n return candidates.filter(candidate => {\n const candidateRect = getBoundingClientRect(candidate);\n const candidateBody = (candidate.nodeName === 'IFRAME') ? candidate.contentDocument.body : null;\n return container.contains(candidate) &&\n candidate !== currentElm && candidateBody !== currentElm &&\n isOutside(candidateRect, eventTargetRect, dir);\n });\n }\n }\n\n /**\n * Select the best candidate among given candidates.\n * @see {@link https://drafts.csswg.org/css-nav-1/#select-the-best-candidate}\n * @function selectBestCandidate\n * @param currentElm {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Node} The best candidate which will gain the focus\n */\n function selectBestCandidate(currentElm, candidates, dir) {\n const spatialNavigationFunction = getComputedStyle(currentElm).getPropertyValue('--spatial-navigation-function');\n const currentElmRect = getBoundingClientRect(currentElm);\n let distanceFunction;\n let alignedCandidates;\n\n switch (spatialNavigationFunction) {\n case 'grid':\n alignedCandidates = candidates.filter(elm => isAligned(currentElmRect, getBoundingClientRect(elm), dir));\n if (alignedCandidates.length > 0) {\n candidates = alignedCandidates;\n }\n distanceFunction = getAbsoluteDistance;\n break;\n case 'euclidean':\n distanceFunction = getEuclideanDistance;\n break;\n default:\n distanceFunction = getDistance;\n break;\n }\n return getClosestElement(currentElm, candidates, dir, distanceFunction);\n }\n\n /**\n * Select the best candidate among candidates by finding the closet candidate from the edge of the currently focused element (search origin).\n * @see {@link https://drafts.csswg.org/css-nav-1/#select-the-best-candidate (Step 5)}\n * @function selectBestCandidateFromEdge\n * @param currentElm {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Node} The best candidate which will gain the focus\n */\n function selectBestCandidateFromEdge(currentElm, candidates, dir) {\n if (startingPoint)\n return getClosestElement(currentElm, candidates, dir, getDistanceFromPoint);\n else\n return getClosestElement(currentElm, candidates, dir, getInnerDistance);\n }\n\n /**\n * Select the closest candidate from the currently focused element (search origin) among candidates by using the distance function.\n * @function getClosestElement\n * @param currentElm {Node} - The currently focused element which is defined as 'search origin' in the spec\n * @param candidates {sequence<Node>} - The candidates for spatial navigation\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param distanceFunction {function} - The distance function which measures the distance from the search origin to each candidate\n * @returns {Node} The candidate which is the closest one from the search origin\n */\n function getClosestElement(currentElm, candidates, dir, distanceFunction) {\n let eventTargetRect = null;\n if (( window.location !== window.parent.location ) && (currentElm.nodeName === 'BODY' || currentElm.nodeName === 'HTML')) {\n // If the eventTarget is iframe, then get rect of it based on its containing document\n // Set the iframe's position as (0,0) because the rects of elements inside the iframe don't know the real iframe's position.\n eventTargetRect = window.frameElement.getBoundingClientRect();\n eventTargetRect.x = 0;\n eventTargetRect.y = 0;\n }\n else \n eventTargetRect = currentElm.getBoundingClientRect();\n\n let minDistance = Number.POSITIVE_INFINITY;\n let minDistanceElements = [];\n\n if (candidates) {\n for (let i = 0; i < candidates.length; i++) {\n const distance = distanceFunction(eventTargetRect, getBoundingClientRect(candidates[i]), dir);\n\n // If the same distance, the candidate will be selected in the DOM order\n if (distance < minDistance) {\n minDistance = distance;\n minDistanceElements = [candidates[i]];\n } else if (distance === minDistance) {\n minDistanceElements.push(candidates[i]);\n }\n }\n }\n if (minDistanceElements.length === 0)\n return null;\n\n return (minDistanceElements.length > 1 && distanceFunction === getAbsoluteDistance) ?\n getClosestElement(currentElm, minDistanceElements, dir, getEuclideanDistance) : minDistanceElements[0];\n }\n\n /**\n * Get container of an element.\n * @see {@link https://drafts.csswg.org/css-nav-1/#dom-element-getspatialnavigationcontainer}\n * @module Element\n * @function getSpatialNavigationContainer\n * @returns {Node} The spatial navigation container\n */\n function getSpatialNavigationContainer() {\n let container = this;\n\n do {\n if (!container.parentElement) {\n if (window.location !== window.parent.location)\n container = window.parent.document.documentElement;\n else\n container = window.document.documentElement;\n break;\n }\n else {\n container = container.parentElement;\n }\n } while (!isContainer(container));\n return container;\n }\n\n /**\n * Find focusable elements within the spatial navigation container.\n * @see {@link https://drafts.csswg.org/css-nav-1/#dom-element-focusableareas}\n * @function focusableAreas\n * @param option {FocusableAreasOptions} - 'mode' attribute takes 'visible' or 'all' for searching the boundary of focusable elements.\n * Default value is 'visible'.\n * @returns {sequence<Node>} All focusable elements or only visible focusable elements within the container\n */\n function focusableAreas(option = {mode: 'visible'}) {\n const container = this.parentElement ? this : document.body;\n const focusables = Array.prototype.filter.call(container.getElementsByTagName('*'), isFocusable);\n return (option.mode === 'all') ? focusables : focusables.filter(isVisible);\n }\n\n /**\n * Create the NavigationEvent: navbeforefocus, navnotarget\n * @see {@link https://drafts.csswg.org/css-nav-1/#events-navigationevent}\n * @function createSpatNavEvents\n * @param option {string} - Type of the navigation event (beforefocus, notarget)\n * @param element {Node} - The target element of the event\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n */\n function createSpatNavEvents(eventType, containerElement, currentElement, direction) {\n if(['beforefocus', 'notarget'].includes(eventType)) {\n const data = {\n causedTarget: currentElement,\n dir: direction\n };\n const triggeredEvent = new CustomEvent('nav' + eventType, {bubbles: true, cancelable: true, detail: data});\n return containerElement.dispatchEvent(triggeredEvent);\n }\n }\n\n /**\n * Get the value of the CSS custom property of the element\n * @function readCssVar\n * @param element {Node}\n * @param varName {string} - The name of the css custom property without '--'\n * @returns {string} The value of the css custom property\n */\n function readCssVar(element, varName) {\n return window.getComputedStyle(element).getPropertyValue(`--${varName}`).trim();\n }\n\n /**\n * Decide whether or not the 'contain' value is given to 'spatial-navigation-contain' css property of an element\n * @function isCSSSpatNavContain\n * @param element {Node}\n * @returns {boolean}\n */\n function isCSSSpatNavContain(element) {\n return readCssVar(element, 'spatial-navigation-contain') === 'contain';\n }\n\n /**\n * Return the value of 'spatial-navigation-action' css property of an element\n * @function getCSSSpatNavAction\n * @param element {Node} - would be the spatial navigation container\n * @returns {string} auto | focus | scroll\n */\n function getCSSSpatNavAction(element) {\n return readCssVar(element, 'spatial-navigation-action') || 'auto';\n }\n\n /**\n * Only move the focus with spatial navigation. Manually scrolling isn't available.\n * @function navigateChain\n * @param eventTarget {Node} - currently focused element\n * @param container {SpatialNavigationContainer} - container\n * @param parentContainer {SpatialNavigationContainer} - parent container\n * @param option - visible || all\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n */\n function navigateChain(eventTarget, container, parentContainer, dir, option) {\n let currentOption = {candidates: getSpatialNavigationCandidates(container, {mode: option}), container};\n\n while (parentContainer) {\n if (focusingController(eventTarget.spatialNavigationSearch(dir, currentOption), dir)) {\n return;\n }\n else {\n if ((option === 'visible') && scrollingController(container, dir)) return;\n else {\n if (!createSpatNavEvents('notarget', container, eventTarget, dir)) return;\n\n // find the container\n if (container === document || container === document.documentElement) {\n if ( window.location !== window.parent.location ) {\n // The page is in an iframe. eventTarget needs to be reset because the position of the element in the iframe\n eventTarget = window.frameElement;\n container = window.parent.document.documentElement;\n\n if (container.parentElement)\n parentContainer = container.getSpatialNavigationContainer();\n else {\n parentContainer = null;\n break;\n }\n }\n }\n else {\n container = parentContainer;\n currentOption = {candidates: getSpatialNavigationCandidates(container, {mode: option}), container};\n\n if (container.parentElement)\n parentContainer = container.getSpatialNavigationContainer();\n else {\n parentContainer = null;\n break;\n }\n }\n }\n }\n }\n\n currentOption = {candidates: getSpatialNavigationCandidates(container, {mode: option}), container};\n\n // Behavior after 'navnotarget' - Getting out from the current spatnav container\n if ((!parentContainer && container) && focusingController(eventTarget.spatialNavigationSearch(dir, currentOption), dir)) return;\n\n if (!createSpatNavEvents('notarget', currentOption.container, eventTarget, dir)) return;\n\n if ((getCSSSpatNavAction(container) === 'auto') && (option === 'visible'))\n if (scrollingController(container, dir)) return;\n }\n\n /**\n * Find search origin\n * @see {@link https://drafts.csswg.org/css-nav-1/#nav}\n * @function findSearchOrigin\n * @returns {Node} The search origin for the spatial navigation\n */\n function findSearchOrigin() {\n let searchOrigin = document.activeElement;\n if (!searchOrigin ||\n (searchOrigin === document.body && !document.querySelector(':focus')) /* body isn't actually focused*/\n ) {\n searchOrigin = document;\n }\n return searchOrigin;\n }\n\n /**\n * Move the scroll of an element depending on the given spatial navigation directrion\n * (Assume that User Agent defined distance is '40px')\n * @see {@link https://drafts.csswg.org/css-nav-1/#directionally-scroll-an-element}\n * @function moveScroll\n * @param element {Node} - The scrollable element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @param offset {Number} - The explicit amount of offset for scrolling. Default value is 0.\n */\n function moveScroll(element, dir, offset = 0) {\n if (element) {\n switch (dir) {\n case 'left': element.scrollLeft -= (40 + offset); break;\n case 'right': element.scrollLeft += (40 + offset); break;\n case 'up': element.scrollTop -= (40 + offset); break;\n case 'down': element.scrollTop += (40 + offset); break;\n }\n }\n }\n\n /**\n * Decide whether an element is container or not.\n * @function isContainer\n * @param element {Node} element\n * @returns {boolean}\n */\n function isContainer(element) {\n return (!element.parentElement) ||\n (element.nodeName === 'IFRAME') ||\n (isScrollContainer(element)) ||\n (isCSSSpatNavContain(element));\n }\n\n /**\n * Decide whether an element is delegable container or not.\n * NOTE: THIS IS NON-NORMATIVE API. \n * @function isDelegableContainer\n * @param element {Node} element\n * @returns {boolean}\n */\n function isDelegableContainer(element) {\n return readCssVar(element, 'spatial-navigation-contain') === 'delegable';\n }\n\n /**\n * Decide whether an element is a scrollable container or not.\n * @see {@link https://drafts.csswg.org/css-overflow-3/#scroll-container}\n * @function isScrollContainer\n * @param element {Node}\n * @returns {boolean}\n */\n function isScrollContainer(element) {\n const elementStyle = window.getComputedStyle(element, null);\n const overflowX = elementStyle.getPropertyValue('overflow-x');\n const overflowY = elementStyle.getPropertyValue('overflow-y');\n\n return ((overflowX !== 'visible' && overflowX !== 'clip' && isOverflow(element, 'left')) ||\n (overflowY !== 'visible' && overflowY !== 'clip' && isOverflow(element, 'down'))) ?\n true : false;\n }\n\n /**\n * Decide whether this element is scrollable or not.\n * NOTE: If the value of 'overflow' is given to either 'visible', 'clip', or 'hidden', the element isn't scrollable.\n * If the value is 'hidden', the element can be only programmically scrollable. (https://drafts.csswg.org/css-overflow-3/#valdef-overflow-hidden)\n * @function isScrollable\n * @param element {Node}\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isScrollable(element, dir) { // element, dir\n if (element && typeof element === 'object') {\n if (dir && typeof dir === 'string') { // parameter: dir, element\n if (isOverflow(element, dir)) {\n // style property\n const elementStyle = window.getComputedStyle(element, null);\n const overflowX = elementStyle.getPropertyValue('overflow-x');\n const overflowY = elementStyle.getPropertyValue('overflow-y');\n\n switch (dir) {\n case 'left':\n /* falls through */\n case 'right':\n return (overflowX !== 'visible' && overflowX !== 'clip' && overflowX !== 'hidden');\n case 'up':\n /* falls through */\n case 'down':\n return (overflowY !== 'visible' && overflowY !== 'clip' && overflowY !== 'hidden');\n }\n }\n return false;\n } else { // parameter: element\n return (element.nodeName === 'HTML' || element.nodeName === 'BODY') ||\n (isScrollContainer(element) && isOverflow(element));\n }\n }\n }\n\n /**\n * Decide whether an element is overflow or not.\n * @function isOverflow\n * @param element {Node}\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isOverflow(element, dir) {\n if (element && typeof element === 'object') {\n if (dir && typeof dir === 'string') { // parameter: element, dir\n switch (dir) {\n case 'left':\n /* falls through */\n case 'right':\n return (element.scrollWidth > element.clientWidth);\n case 'up':\n /* falls through */\n case 'down':\n return (element.scrollHeight > element.clientHeight);\n }\n } else { // parameter: element\n return (element.scrollWidth > element.clientWidth || element.scrollHeight > element.clientHeight);\n }\n return false;\n }\n }\n\n /**\n * Decide whether the scrollbar of the browsing context reaches to the end or not.\n * @function isHTMLScrollBoundary\n * @param element {Node} - The top browsing context\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isHTMLScrollBoundary(element, dir) {\n let result = false;\n switch (dir) {\n case 'left':\n result = window.scrollX === 0;\n break;\n case 'right':\n result = (element.scrollWidth - element.scrollLeft - element.clientWidth) === 0;\n break;\n case 'up':\n result = window.scrollY === 0;\n break;\n case 'down':\n result = (element.scrollHeight - element.scrollTop - element.clientHeight) === 0;\n break;\n }\n return result;\n }\n\n /**\n * Decide whether the scrollbar of an element reaches to the end or not.\n * @function isScrollBoundary\n * @param element {Node}\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isScrollBoundary(element, dir) {\n if (isScrollable(element, dir)) {\n const winScrollY = element.scrollTop;\n const winScrollX = element.scrollLeft;\n\n const height = element.scrollHeight - element.clientHeight;\n const width = element.scrollWidth - element.clientWidth;\n\n switch (dir) {\n case 'left': return (winScrollX === 0);\n case 'right': return (Math.abs(winScrollX - width) <= 1);\n case 'up': return (winScrollY === 0);\n case 'down': return (Math.abs(winScrollY - height) <= 1);\n }\n }\n return false;\n }\n\n /**\n * Decide whether an element is focusable for spatial navigation.\n * 1. If element is the browsing context (document, iframe), then it's focusable,\n * 2. If the element is scrollable container (regardless of scrollable axis), then it's focusable,\n * 3. The value of tabIndex >= 0, then it's focusable,\n * 4. If the element is disabled, it isn't focusable,\n * 5. If the element is expressly inert, it isn't focusable,\n * 6. Whether the element is being rendered or not.\n *\n * @function isFocusable\n * @param element {Node}\n * @returns {boolean}\n *\n * @see {@link https://html.spec.whatwg.org/multipage/interaction.html#focusable-area}\n */\n function isFocusable(element) {\n if ((element.tabIndex < 0) || isAtagWithoutHref(element) || isActuallyDisabled(element) || isExpresslyInert(element) || !isBeingRendered(element))\n return false;\n else if ((!element.parentElement) || (isScrollable(element) && isOverflow(element)) || (element.tabIndex >= 0))\n return true;\n }\n\n /**\n * Decide whether an element is a tag without href attribute or not.\n *\n * @function isAtagWithoutHref\n * @param element {Node}\n * @returns {boolean}\n */\n function isAtagWithoutHref(element) {\n return (element.tagName === 'A' && element.getAttribute('href') === null && element.getAttribute('tabIndex') === null);\n }\n\n /**\n * Decide whether an element is actually disabled or not.\n *\n * @function isActuallyDisabled\n * @param element {Node}\n * @returns {boolean}\n *\n * @see {@link https://html.spec.whatwg.org/multipage/semantics-other.html#concept-element-disabled}\n */\n function isActuallyDisabled(element) {\n if (['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA', 'OPTGROUP', 'OPTION', 'FIELDSET'].includes(element.tagName))\n return (element.disabled);\n else\n return false;\n }\n\n /**\n * Decide whether the element is expressly inert or not.\n * @see {@link https://html.spec.whatwg.org/multipage/interaction.html#expressly-inert}\n * @function isExpresslyInert\n * @param element {Node}\n * @returns {boolean}\n */\n function isExpresslyInert(element) {\n return ((element.inert) && (!element.ownerDocument.documentElement.inert));\n }\n\n /**\n * Decide whether the element is being rendered or not.\n * 1. If an element has the style as \"visibility: hidden | collapse\" or \"display: none\", it is not being rendered.\n * 2. If an element has the style as \"opacity: 0\", it is not being rendered.(that is, invisible).\n * 3. If width and height of an element are explicitly set to 0, it is not being rendered.\n * 4. If a parent element is hidden, an element itself is not being rendered.\n * (CSS visibility property and display property are inherited.)\n * @see {@link https://html.spec.whatwg.org/multipage/rendering.html#being-rendered}\n * @function isBeingRendered\n * @param element {Node}\n * @returns {boolean}\n */\n function isBeingRendered(element) {\n if (!isVisibleStyleProperty(element.parentElement))\n return false;\n if (!isVisibleStyleProperty(element) || (element.style.opacity === 0) ||\n ((element.style.width === '0px' || element.style.width === 0) && (element.style.height === '0px' || element.style.height === 0)))\n return false;\n return true;\n }\n\n /**\n * Decide whether this element is partially or completely visible to user agent.\n * @function isVisible\n * @param element {Node}\n * @returns {boolean}\n */\n function isVisible(element) {\n return (!element.parentElement) || (isVisibleStyleProperty(element) && hitTest(element));\n }\n\n /**\n * Decide whether this element is completely visible in this viewport for the arrow direction.\n * @function isEntirelyVisible\n * @param element {Node}\n * @returns {boolean}\n */\n function isEntirelyVisible(element) {\n const rect = getBoundingClientRect(element);\n const containerRect = getBoundingClientRect(element.getSpatialNavigationContainer());\n\n // FIXME: when element is bigger than container?\n const entirelyVisible = !((rect.left < containerRect.left) ||\n (rect.right > containerRect.right) ||\n (rect.top < containerRect.top) ||\n (rect.bottom > containerRect.bottom));\n\n return entirelyVisible;\n }\n\n /**\n * Decide the style property of this element is specified whether it's visible or not.\n * @function isVisibleStyleProperty\n * @param element {CSSStyleDeclaration}\n * @returns {boolean}\n */\n function isVisibleStyleProperty(element) {\n const elementStyle = window.getComputedStyle(element, null);\n const thisVisibility = elementStyle.getPropertyValue('visibility');\n const thisDisplay = elementStyle.getPropertyValue('display');\n const invisibleStyle = ['hidden', 'collapse'];\n\n return (thisDisplay !== 'none' && !invisibleStyle.includes(thisVisibility));\n }\n\n /**\n * Decide whether this element is entirely or partially visible within the viewport.\n * @function hitTest\n * @param element {Node}\n * @returns {boolean}\n */\n function hitTest(element) {\n const elementRect = getBoundingClientRect(element);\n if (element.nodeName !== 'IFRAME' && (elementRect.top < 0 || elementRect.left < 0 ||\n elementRect.top > window.innerHeight || elementRect.left > window.innerWidth))\n return false;\n\n let offsetX = parseInt(element.offsetWidth) / 10;\n let offsetY = parseInt(element.offsetHeight) / 10;\n\n offsetX = isNaN(offsetX) ? 1 : offsetX;\n offsetY = isNaN(offsetY) ? 1 : offsetY;\n\n const hitTestPoint = {\n middle: [(elementRect.left + elementRect.right) / 2, (elementRect.top + elementRect.bottom) / 2],\n leftTop: [elementRect.left + offsetX, elementRect.top + offsetY],\n // For performance\n // leftBoottom: [elementRect.left + offsetX, elementRect.bottom - offsetY],\n // rightTop: [elementRect.right - offsetX, elementRect.top + offsetY],\n rightBottom: [elementRect.right - offsetX, elementRect.bottom - offsetY]\n };\n\n for(const point in hitTestPoint) {\n const elemFromPoint = document.elementFromPoint(...hitTestPoint[point]);\n if (element === elemFromPoint || element.contains(elemFromPoint)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Decide whether a child element is entirely or partially Included within container visually.\n * @function isInside\n * @param containerRect {DOMRect}\n * @param childRect {DOMRect}\n * @returns {boolean}\n */\n function isInside(containerRect, childRect) {\n const rightEdgeCheck = (containerRect.left <= childRect.right && containerRect.right >= childRect.right);\n const leftEdgeCheck = (containerRect.left <= childRect.left && containerRect.right >= childRect.left);\n const topEdgeCheck = (containerRect.top <= childRect.top && containerRect.bottom >= childRect.top);\n const bottomEdgeCheck = (containerRect.top <= childRect.bottom && containerRect.bottom >= childRect.bottom);\n return (rightEdgeCheck || leftEdgeCheck) && (topEdgeCheck || bottomEdgeCheck);\n }\n\n /**\n * Decide whether this element is entirely or partially visible within the viewport.\n * Note: rect1 is outside of rect2 for the dir\n * @function isOutside\n * @param rect1 {DOMRect}\n * @param rect2 {DOMRect}\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {boolean}\n */\n function isOutside(rect1, rect2, dir) {\n switch (dir) {\n case 'left':\n return isRightSide(rect2, rect1);\n case 'right':\n return isRightSide(rect1, rect2);\n case 'up':\n return isBelow(rect2, rect1);\n case 'down':\n return isBelow(rect1, rect2);\n default:\n return false;\n }\n }\n\n /* rect1 is right of rect2 */\n function isRightSide(rect1, rect2) {\n return rect1.left >= rect2.right || (rect1.left >= rect2.left && rect1.right > rect2.right && rect1.bottom > rect2.top && rect1.top < rect2.bottom);\n }\n\n /* rect1 is below of rect2 */\n function isBelow(rect1, rect2) {\n return rect1.top >= rect2.bottom || (rect1.top >= rect2.top && rect1.bottom > rect2.bottom && rect1.left < rect2.right && rect1.right > rect2.left);\n }\n\n /* rect1 is completely aligned or partially aligned for the direction */\n function isAligned(rect1, rect2, dir) {\n switch (dir) {\n case 'left' :\n /* falls through */\n case 'right' :\n return rect1.bottom > rect2.top && rect1.top < rect2.bottom;\n case 'up' :\n /* falls through */\n case 'down' :\n return rect1.right > rect2.left && rect1.left < rect2.right;\n default:\n return false;\n }\n }\n\n /**\n * Get distance between the search origin and a candidate element along the direction when candidate element is inside the search origin.\n * @see {@link https://drafts.csswg.org/css-nav-1/#find-the-shortest-distance}\n * @function getDistanceFromPoint\n * @param point {Point} - The search origin\n * @param element {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The euclidian distance between the spatial navigation container and an element inside it\n */\n function getDistanceFromPoint(point, element, dir) {\n point = startingPoint;\n // Get exit point, entry point -> {x: '', y: ''};\n const points = getEntryAndExitPoints(dir, point, element);\n\n // Find the points P1 inside the border box of starting point and P2 inside the border box of candidate\n // that minimize the distance between these two points\n const P1 = Math.abs(points.entryPoint.x - points.exitPoint.x);\n const P2 = Math.abs(points.entryPoint.y - points.exitPoint.y);\n\n // The result is euclidian distance between P1 and P2.\n return Math.sqrt(Math.pow(P1, 2) + Math.pow(P2, 2));\n }\n\n /**\n * Get distance between the search origin and a candidate element along the direction when candidate element is inside the search origin.\n * @see {@link https://drafts.csswg.org/css-nav-1/#find-the-shortest-distance}\n * @function getInnerDistance\n * @param rect1 {DOMRect} - The search origin\n * @param rect2 {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The euclidean distance between the spatial navigation container and an element inside it\n */\n function getInnerDistance(rect1, rect2, dir) {\n const baseEdgeForEachDirection = {left: 'right', right: 'left', up: 'bottom', down: 'top'};\n const baseEdge = baseEdgeForEachDirection[dir];\n\n return Math.abs(rect1[baseEdge] - rect2[baseEdge]);\n }\n\n /**\n * Get the distance between the search origin and a candidate element considering the direction.\n * @see {@link https://drafts.csswg.org/css-nav-1/#calculating-the-distance}\n * @function getDistance\n * @param searchOrigin {DOMRect || Point} - The search origin\n * @param candidateRect {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The distance scoring between two elements\n */\n function getDistance(searchOrigin, candidateRect, dir) {\n const kOrthogonalWeightForLeftRight = 30;\n const kOrthogonalWeightForUpDown = 2;\n\n let orthogonalBias = 0;\n let alignBias = 0;\n const alignWeight = 5.0;\n\n // Get exit point, entry point -> {x: '', y: ''};\n const points = getEntryAndExitPoints(dir, searchOrigin, candidateRect);\n\n // Find the points P1 inside the border box of starting point and P2 inside the border box of candidate\n // that minimize the distance between these two points\n const P1 = Math.abs(points.entryPoint.x - points.exitPoint.x);\n const P2 = Math.abs(points.entryPoint.y - points.exitPoint.y);\n\n // A: The euclidean distance between P1 and P2.\n const A = Math.sqrt(Math.pow(P1, 2) + Math.pow(P2, 2));\n let B, C;\n\n // B: The absolute distance in the direction which is orthogonal to dir between P1 and P2, or 0 if dir is null.\n // C: The intersection edges between a candidate and the starting point.\n\n // D: The square root of the area of intersection between the border boxes of candidate and starting point\n const intersectionRect = getIntersectionRect(searchOrigin, candidateRect);\n const D = intersectionRect.area;\n\n switch (dir) {\n case 'left':\n /* falls through */\n case 'right' :\n // If two elements are aligned, add align bias\n // else, add orthogonal bias\n if (isAligned(searchOrigin, candidateRect, dir))\n alignBias = Math.min(intersectionRect.height / searchOrigin.height , 1);\n else\n orthogonalBias = (searchOrigin.height / 2);\n\n B = (P2 + orthogonalBias) * kOrthogonalWeightForLeftRight;\n C = alignWeight * alignBias;\n break;\n\n case 'up' :\n /* falls through */\n case 'down' :\n // If two elements are aligned, add align bias\n // else, add orthogonal bias\n if (isAligned(searchOrigin, candidateRect, dir))\n alignBias = Math.min(intersectionRect.width / searchOrigin.width , 1);\n else\n orthogonalBias = (searchOrigin.width / 2);\n\n B = (P1 + orthogonalBias) * kOrthogonalWeightForUpDown;\n C = alignWeight * alignBias;\n break;\n\n default:\n B = 0;\n C = 0;\n break;\n }\n\n return (A + B - C - D);\n }\n\n /**\n * Get the euclidean distance between the search origin and a candidate element considering the direction.\n * @function getEuclideanDistance\n * @param rect1 {DOMRect} - The search origin\n * @param rect2 {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The distance scoring between two elements\n */\n function getEuclideanDistance(rect1, rect2, dir) {\n // Get exit point, entry point\n const points = getEntryAndExitPoints(dir, rect1, rect2);\n\n // Find the points P1 inside the border box of starting point and P2 inside the border box of candidate\n // that minimize the distance between these two points\n const P1 = Math.abs(points.entryPoint.x - points.exitPoint.x);\n const P2 = Math.abs(points.entryPoint.y - points.exitPoint.y);\n\n // Return the euclidean distance between P1 and P2.\n return Math.sqrt(Math.pow(P1, 2) + Math.pow(P2, 2));\n }\n\n /**\n * Get the absolute distance between the search origin and a candidate element considering the direction.\n * @function getAbsoluteDistance\n * @param rect1 {DOMRect} - The search origin\n * @param rect2 {DOMRect} - A candidate element\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD)\n * @returns {Number} The distance scoring between two elements\n */\n function getAbsoluteDistance(rect1, rect2, dir) {\n // Get exit point, entry point\n const points = getEntryAndExitPoints(dir, rect1, rect2);\n\n // Return the absolute distance in the dir direction between P1 and P.\n return ((dir === 'left') || (dir === 'right')) ?\n Math.abs(points.entryPoint.x - points.exitPoint.x) : Math.abs(points.entryPoint.y - points.exitPoint.y);\n }\n\n /**\n * Get entry point and exit point of two elements considering the direction.\n * @function getEntryAndExitPoints\n * @param dir {SpatialNavigationDirection} - The directional information for the spatial navigation (e.g. LRUD). Default value for dir is 'down'.\n * @param searchOrigin {DOMRect | Point} - The search origin which contains the exit point\n * @param candidateRect {DOMRect} - One of candidates which contains the entry point\n * @returns {Points} The exit point from the search origin and the entry point from a candidate\n */\n function getEntryAndExitPoints(dir = 'down', searchOrigin, candidateRect) {\n /**\n * User type definition for Point\n * @typeof {Object} Points\n * @property {Point} Points.entryPoint\n * @property {Point} Points.exitPoint\n */\n const points = {entryPoint: {x: 0, y: 0}, exitPoint:{x: 0, y: 0}};\n\n if (startingPoint) {\n points.exitPoint = searchOrigin;\n\n switch (dir) {\n case 'left':\n points.entryPoint.x = candidateRect.right;\n break;\n case 'up':\n points.entryPoint.y = candidateRect.bottom;\n break;\n case 'right':\n points.entryPoint.x = candidateRect.left;\n break;\n case 'down':\n points.entryPoint.y = candidateRect.top;\n break;\n }\n\n // Set orthogonal direction\n switch (dir) {\n case 'left':\n case 'right':\n if (startingPoint.y <= candidateRect.top) {\n points.entryPoint.y = candidateRect.top;\n } else if (startingPoint.y < candidateRect.bottom) {\n points.entryPoint.y = startingPoint.y;\n } else {\n points.entryPoint.y = candidateRect.bottom;\n }\n break;\n\n case 'up':\n case 'down':\n if (startingPoint.x <= candidateRect.left) {\n points.entryPoint.x = candidateRect.left;\n } else if (startingPoint.x < candidateRect.right) {\n points.entryPoint.x = startingPoint.x;\n } else {\n points.entryPoint.x = candidateRect.right;\n }\n break;\n }\n }\n else {\n // Set direction\n switch (dir) {\n case 'left':\n points.exitPoint.x = searchOrigin.left;\n points.entryPoint.x = (candidateRect.right < searchOrigin.left) ? candidateRect.right : searchOrigin.left;\n break;\n case 'up':\n points.exitPoint.y = searchOrigin.top;\n points.entryPoint.y = (candidateRect.bottom < searchOrigin.top) ? candidateRect.bottom : searchOrigin.top;\n break;\n case 'right':\n points.exitPoint.x = searchOrigin.right;\n points.entryPoint.x = (candidateRect.left > searchOrigin.right) ? candidateRect.left : searchOrigin.right;\n break;\n case 'down':\n points.exitPoint.y = searchOrigin.bottom;\n points.entryPoint.y = (candidateRect.top > searchOrigin.bottom) ? candidateRect.top : searchOrigin.bottom;\n break;\n }\n\n // Set orthogonal direction\n switch (dir) {\n case 'left':\n case 'right':\n if (isBelow(searchOrigin, candidateRect)) {\n points.exitPoint.y = searchOrigin.top;\n points.entryPoint.y = (candidateRect.bottom < searchOrigin.top) ? candidateRect.bottom : searchOrigin.top;\n } else if (isBelow(candidateRect, searchOrigin)) {\n points.exitPoint.y = searchOrigin.bottom;\n points.entryPoint.y = (candidateRect.top > searchOrigin.bottom) ? candidateRect.top : searchOrigin.bottom;\n } else {\n points.exitPoint.y = Math.max(searchOrigin.top, candidateRect.top);\n points.entryPoint.y = points.exitPoint.y;\n }\n break;\n\n case 'up':\n case 'down':\n if (isRightSide(searchOrigin, candidateRect)) {\n points.exitPoint.x = searchOrigin.left;\n points.entryPoint.x = (candidateRect.right < searchOrigin.left) ? candidateRect.right : searchOrigin.left;\n } else if (isRightSide(candidateRect, searchOrigin)) {\n points.exitPoint.x = searchOrigin.right;\n points.entryPoint.x = (candidateRect.left > searchOrigin.right) ? candidateRect.left : searchOrigin.right;\n } else {\n points.exitPoint.x = Math.max(searchOrigin.left, candidateRect.left);\n points.entryPoint.x = points.exitPoint.x;\n }\n break;\n }\n }\n\n return points;\n }\n\n /**\n * Find focusable elements within the container\n * @see {@link https://drafts.csswg.org/css-nav-1/#find-the-shortest-distance}\n * @function getIntersectionRect\n * @param rect1 {DOMRect} - The search origin which contains the exit point\n * @param rect2 {DOMRect} - One of candidates which contains the entry point\n * @returns {IntersectionArea} The intersection area between two elements.\n *\n * @typeof {Object} IntersectionArea\n * @property {Number} IntersectionArea.width\n * @property {Number} IntersectionArea.height\n */\n function getIntersectionRect(rect1, rect2) {\n const intersection_rect = {width: 0, height: 0, area: 0};\n\n const new_location = [Math.max(rect1.left, rect2.left), Math.max(rect1.top, rect2.top)];\n const new_max_point = [Math.min(rect1.right, rect2.right), Math.min(rect1.bottom, rect2.bottom)];\n\n intersection_rect.width = Math.abs(new_location[0] - new_max_point[0]);\n intersection_rect.height = Math.abs(new_location[1] - new_max_point[1]);\n\n if (!(new_location[0] >= new_max_point[0] || new_location[1] >= new_max_point[1])) {\n // intersecting-cases\n intersection_rect.area = Math.sqrt(intersection_rect.width * intersection_rect.height);\n }\n\n return intersection_rect;\n }\n\n /**\n * Handle the spatial navigation behavior for HTMLInputElement, HTMLTextAreaElement\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input|HTMLInputElement (MDN)}\n * @function handlingEditableElement\n * @param e {Event} - keydownEvent\n * @returns {boolean}\n */\n function handlingEditableElement(e) {\n const SPINNABLE_INPUT_TYPES = ['email', 'date', 'month', 'number', 'time', 'week'],\n TEXT_INPUT_TYPES = ['password', 'text', 'search', 'tel', 'url', null];\n const eventTarget = document.activeElement;\n const startPosition = eventTarget.selectionStart;\n const endPosition = eventTarget.selectionEnd;\n const focusNavigableArrowKey = {left: false, up: false, right: false, down: false};\n\n const dir = ARROW_KEY_CODE[e.keyCode];\n if (dir === undefined) {\n return focusNavigableArrowKey;\n }\n\n if (SPINNABLE_INPUT_TYPES.includes(eventTarget.getAttribute('type')) &&\n (dir === 'up' || dir === 'down')) {\n focusNavigableArrowKey[dir] = true;\n } else if (TEXT_INPUT_TYPES.includes(eventTarget.getAttribute('type')) || eventTarget.nodeName === 'TEXTAREA') {\n if (startPosition === endPosition) { // if there isn't any selected text\n if (startPosition === 0) {\n focusNavigableArrowKey.left = true;\n focusNavigableArrowKey.up = true;\n }\n if (endPosition === eventTarget.value.length) {\n focusNavigableArrowKey.right = true;\n focusNavigableArrowKey.down = true;\n }\n }\n } else { // HTMLDataListElement, HTMLSelectElement, HTMLOptGroup\n focusNavigableArrowKey[dir] = true;\n }\n\n return focusNavigableArrowKey;\n }\n\n /**\n * Get the DOMRect of an element\n * @function getBoundingClientRect\n * @param element {Node}\n * @returns {DOMRect}\n */\n function getBoundingClientRect(element) {\n // memoization\n let rect = mapOfBoundRect && mapOfBoundRect.get(element);\n if (!rect) {\n const boundingClientRect = element.getBoundingClientRect();\n rect = {\n top: Number(boundingClientRect.top.toFixed(2)),\n right: Number(boundingClientRect.right.toFixed(2)),\n bottom: Number(boundingClientRect.bottom.toFixed(2)),\n left: Number(boundingClientRect.left.toFixed(2)),\n width: Number(boundingClientRect.width.toFixed(2)),\n height: Number(boundingClientRect.height.toFixed(2))\n };\n mapOfBoundRect && mapOfBoundRect.set(element, rect);\n }\n return rect;\n }\n\n /**\n * Get the list of the experimental APIs\n * @function getExperimentalAPI\n */\n function getExperimentalAPI() {\n function canScroll(container, dir) {\n return (isScrollable(container, dir) && !isScrollBoundary(container, dir)) ||\n (!container.parentElement && !isHTMLScrollBoundary(container, dir));\n }\n\n function findTarget(findCandidate, element, dir, option) {\n let eventTarget = element;\n let bestNextTarget = null;\n\n // 4\n if (eventTarget === document || eventTarget === document.documentElement) {\n eventTarget = document.body || document.documentElement;\n }\n\n // 5\n // At this point, spatialNavigationSearch can be applied.\n // If startingPoint is either a scroll container or the document,\n // find the best candidate within startingPoint\n if ((isContainer(eventTarget) || eventTarget.nodeName === 'BODY') && !(eventTarget.nodeName === 'INPUT')) {\n if (eventTarget.nodeName === 'IFRAME')\n eventTarget = eventTarget.contentDocument.body;\n\n const candidates = getSpatialNavigationCandidates(eventTarget, option);\n\n // 5-2\n if (Array.isArray(candidates) && candidates.length > 0) {\n return findCandidate ? getFilteredSpatialNavigationCandidates(eventTarget, dir, candidates) : eventTarget.spatialNavigationSearch(dir, {candidates});\n }\n if (canScroll(eventTarget, dir)) {\n return findCandidate ? [] : eventTarget;\n }\n }\n\n // 6\n // Let container be the nearest ancestor of eventTarget\n let container = eventTarget.getSpatialNavigationContainer();\n let parentContainer = (container.parentElement) ? container.getSpatialNavigationContainer() : null;\n\n // When the container is the viewport of a browsing context\n if (!parentContainer && ( window.location !== window.parent.location)) {\n parentContainer = window.parent.document.documentElement;\n }\n\n // 7\n while (parentContainer) {\n const candidates = filteredCandidates(eventTarget, getSpatialNavigationCandidates(container, option), dir, container);\n\n if (Array.isArray(candidates) && candidates.length > 0) {\n bestNextTarget = eventTarget.spatialNavigationSearch(dir, {candidates, container});\n if (bestNextTarget) {\n return findCandidate ? candidates : bestNextTarget;\n }\n }\n\n // If there isn't any candidate and the best candidate among candidate:\n // 1) Scroll or 2) Find candidates of the ancestor container\n // 8 - if\n else if (canScroll(container, dir)) {\n return findCandidate ? [] : eventTarget;\n } else if (container === document || container === document.documentElement) {\n container = window.document.documentElement;\n\n // The page is in an iframe\n if ( window.location !== window.parent.location ) {\n\n // eventTarget needs to be reset because the position of the element in the IFRAME\n // is unuseful when the focus moves out of the iframe\n eventTarget = window.frameElement;\n container = window.parent.document.documentElement;\n if (container.parentElement)\n parentContainer = container.getSpatialNavigationContainer();\n else {\n parentContainer = null;\n break;\n }\n }\n } else {\n // avoiding when spatnav container with tabindex=-1\n if (isFocusable(container)) {\n eventTarget = container;\n }\n\n container = parentContainer;\n if (container.parentElement)\n parentContainer = container.getSpatialNavigationContainer();\n else {\n parentContainer = null;\n break;\n }\n }\n }\n\n if (!parentContainer && container) {\n // Getting out from the current spatnav container\n const candidates = filteredCandidates(eventTarget, getSpatialNavigationCandidates(container, option), dir, container);\n\n // 9\n if (Array.isArray(candidates) && candidates.length > 0) {\n bestNextTarget = eventTarget.spatialNavigationSearch(dir, {candidates, container});\n if (bestNextTarget) {\n return findCandidate ? candidates : bestNextTarget;\n }\n }\n }\n\n if (canScroll(container, dir)) {\n bestNextTarget = eventTarget;\n return bestNextTarget;\n }\n }\n\n return {\n isContainer,\n isScrollContainer,\n findCandidates: findTarget.bind(null, true),\n findNextTarget: findTarget.bind(null, false),\n getDistanceFromTarget: (element, candidateElement, dir) => {\n if ((isContainer(element) || element.nodeName === 'BODY') && !(element.nodeName === 'INPUT')) {\n if (getSpatialNavigationCandidates(element).includes(candidateElement)) {\n return getInnerDistance(getBoundingClientRect(element), getBoundingClientRect(candidateElement), dir);\n }\n }\n return getDistance(getBoundingClientRect(element), getBoundingClientRect(candidateElement), dir);\n }\n };\n }\n\n /**\n * Makes to use the experimental APIs.\n * @function enableExperimentalAPIs\n * @param option {boolean} - If it is true, the experimental APIs can be used or it cannot.\n */\n function enableExperimentalAPIs (option) {\n const currentKeyMode = window.__spatialNavigation__ && window.__spatialNavigation__.keyMode;\n window.__spatialNavigation__ = (option === false) ? getInitialAPIs() : Object.assign(getInitialAPIs(), getExperimentalAPI());\n window.__spatialNavigation__.keyMode = currentKeyMode;\n Object.seal(window.__spatialNavigation__);\n }\n\n /**\n * Set the environment for using the spatial navigation polyfill.\n * @function getInitialAPIs\n */\n function getInitialAPIs() {\n return {\n enableExperimentalAPIs,\n get keyMode() { return this._keymode ? this._keymode : 'ARROW'; },\n set keyMode(mode) { this._keymode = (['SHIFTARROW', 'ARROW', 'NONE'].includes(mode)) ? mode : 'ARROW'; },\n setStartingPoint: function (x, y) {startingPoint = (x && y) ? {x, y} : null;}\n };\n }\n\n window.addEventListener('load', () => {\n initiateSpatialNavigation();\n enableExperimentalAPIs(false);\n });\n})();\n","// No automatic generation: we don't want to depend on fs, as we want to keep this universal\n// ls *-*.json | while read line; do printf \"\\\"`printf $line | cut -d '.' -f1`\\\",\\n\"; done\n\nvar languages = [\n\t\"ar-AR\",\n\t\"bg-BG\",\n\t\"ca-CA\",\n\t\"cs-CZ\",\n\t\"da-DK\",\n\t\"de-DE\",\n\t\"el-GR\",\n\t\"en-US\",\n\t\"eo-EO\",\n\t\"es-ES\",\n\t\"eu-ES\",\n\t\"fa-IR\",\n\t\"fi-FI\",\n\t\"fr-FR\",\n\t\"he-IL\",\n\t\"hi-IN\",\n\t\"hr-HR\",\n\t\"hu-HU\",\n\t\"id-ID\",\n\t\"it-IT\",\n\t\"ja-JP\",\n\t\"ko-KR\",\n\t\"mk-MK\",\n\t\"my-BM\",\n\t\"nb-NO\",\n\t\"ne-NP\",\n\t\"nl-NL\",\n\t\"nn-NO\",\n\t\"pa-IN\",\n\t\"pl-PL\",\n\t\"pt-BR\",\n\t\"pt-PT\",\n\t\"ro-RO\",\n\t\"ru-RU\",\n\t\"sl-SL\",\n\t\"sr-RS\",\n\t\"sv-SE\",\n\t\"te-IN\",\n\t\"tr-TR\",\n\t\"uk-UA\",\n\t\"vi-VN\",\n\t\"zh-CN\",\n\t\"zh-HK\",\n\t\"zh-TW\",\n\t\"bn-BD\",\n\t\"et-EE\"\n];\n\nmodule.exports = function () {\n\treturn {\n \"ar-AR\": require(\"./ar-AR.json\"),\n \"bg-BG\": require(\"./bg-BG.json\"),\n \"ca-CA\": require(\"./ca-CA.json\"),\n \"cs-CZ\": require(\"./cs-CZ.json\"),\n \"da-DK\": require(\"./da-DK.json\"),\n \"de-DE\": require(\"./de-DE.json\"),\n \"el-GR\": require(\"./el-GR.json\"),\n \"en-US\": require(\"./en-US.json\"),\n \"eo-EO\": require(\"./eo-EO.json\"),\n \"es-ES\": require(\"./es-ES.json\"),\n \"eu-ES\": require(\"./eu-ES.json\"),\n \"fa-IR\": require(\"./fa-IR.json\"),\n \"fi-FI\": require(\"./fi-FI.json\"),\n \"fr-FR\": require(\"./fr-FR.json\"),\n \"he-IL\": require(\"./he-IL.json\"),\n \"hi-IN\": require(\"./hi-IN.json\"),\n \"hr-HR\": require(\"./hr-HR.json\"),\n \"hu-HU\": require(\"./hu-HU.json\"),\n \"id-ID\": require(\"./id-ID.json\"),\n \"it-IT\": require(\"./it-IT.json\"),\n \"ja-JP\": require(\"./ja-JP.json\"),\n \"ko-KR\": require(\"./ko-KR.json\"),\n \"mk-MK\": require(\"./mk-MK.json\"),\n \"my-BM\": require(\"./my-BM.json\"),\n \"nb-NO\": require(\"./nb-NO.json\"),\n \"ne-NP\": require(\"./ne-NP.json\"),\n \"nl-NL\": require(\"./nl-NL.json\"),\n \"nn-NO\": require(\"./nn-NO.json\"),\n \"pa-IN\": require(\"./pa-IN.json\"),\n \"pl-PL\": require(\"./pl-PL.json\"),\n \"pt-BR\": require(\"./pt-BR.json\"),\n \"pt-PT\": require(\"./pt-PT.json\"),\n \"ro-RO\": require(\"./ro-RO.json\"),\n \"ru-RU\": require(\"./ru-RU.json\"),\n \"sl-SL\": require(\"./sl-SL.json\"),\n \"sr-RS\": require(\"./sr-RS.json\"),\n \"sv-SE\": require(\"./sv-SE.json\"),\n \"te-IN\": require(\"./te-IN.json\"),\n \"tr-TR\": require(\"./tr-TR.json\"),\n \"uk-UA\": require(\"./uk-UA.json\"),\n \"vi-VN\": require(\"./vi-VN.json\"),\n \"zh-CN\": require(\"./zh-CN.json\"),\n \"zh-HK\": require(\"./zh-HK.json\"),\n \"zh-TW\": require(\"./zh-TW.json\"),\n \"bn-BD\": require(\"./bn-BD.json\"),\n \"et-EE\": require(\"./et-EE.json\"),\n };\n};\n\nmodule.exports.all = languages;\n","/* \nCopyright (c) 2011, Chris Umbel\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in \nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN \nTHE SOFTWARE.\n*/\n\nvar base32 = require('./thirty-two');\n\nexports.encode = base32.encode;\nexports.decode = base32.decode;\n","/*\nCopyright (c) 2011, Chris Umbel\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n'use strict';\n\nvar charTable = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\";\nvar byteTable = [\n 0xff, 0xff, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,\n 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,\n 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,\n 0x17, 0x18, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff,\n 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,\n 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,\n 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,\n 0x17, 0x18, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff\n];\n\nfunction quintetCount(buff) {\n var quintets = Math.floor(buff.length / 5);\n return buff.length % 5 === 0 ? quintets: quintets + 1;\n}\n\nexports.encode = function(plain) {\n if(!Buffer.isBuffer(plain)){\n \tplain = new Buffer(plain);\n }\n var i = 0;\n var j = 0;\n var shiftIndex = 0;\n var digit = 0;\n var encoded = new Buffer(quintetCount(plain) * 8);\n\n /* byte by byte isn't as pretty as quintet by quintet but tests a bit\n faster. will have to revisit. */\n while(i < plain.length) {\n var current = plain[i];\n\n if(shiftIndex > 3) {\n digit = current & (0xff >> shiftIndex);\n shiftIndex = (shiftIndex + 5) % 8;\n digit = (digit << shiftIndex) | ((i + 1 < plain.length) ?\n plain[i + 1] : 0) >> (8 - shiftIndex);\n i++;\n } else {\n digit = (current >> (8 - (shiftIndex + 5))) & 0x1f;\n shiftIndex = (shiftIndex + 5) % 8;\n if(shiftIndex === 0) i++;\n }\n\n encoded[j] = charTable.charCodeAt(digit);\n j++;\n }\n\n for(i = j; i < encoded.length; i++) {\n encoded[i] = 0x3d; //'='.charCodeAt(0)\n }\n\n return encoded;\n};\n\nexports.decode = function(encoded) {\n var shiftIndex = 0;\n var plainDigit = 0;\n var plainChar;\n var plainPos = 0;\n if(!Buffer.isBuffer(encoded)){\n \tencoded = new Buffer(encoded);\n }\n var decoded = new Buffer(Math.ceil(encoded.length * 5 / 8));\n\n /* byte by byte isn't as pretty as octet by octet but tests a bit\n faster. will have to revisit. */\n for(var i = 0; i < encoded.length; i++) {\n \tif(encoded[i] === 0x3d){ //'='\n \t\tbreak;\n \t}\n\n var encodedByte = encoded[i] - 0x30;\n\n if(encodedByte < byteTable.length) {\n plainDigit = byteTable[encodedByte];\n\n if(shiftIndex <= 3) {\n shiftIndex = (shiftIndex + 5) % 8;\n\n if(shiftIndex === 0) {\n plainChar |= plainDigit;\n decoded[plainPos] = plainChar;\n plainPos++;\n plainChar = 0;\n } else {\n plainChar |= 0xff & (plainDigit << (8 - shiftIndex));\n }\n } else {\n shiftIndex = (shiftIndex + 5) % 8;\n plainChar |= 0xff & (plainDigit >>> shiftIndex);\n decoded[plainPos] = plainChar;\n plainPos++;\n\n plainChar = 0xff & (plainDigit << (8 - shiftIndex));\n }\n } else {\n \tthrow new Error('Invalid input - it is not base32 encoded string');\n }\n }\n\n return decoded.slice(0, plainPos);\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nrequire('spatial-navigation-polyfill');\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst { Router } = require('stremio-router');\nconst { Core, Shell, Chromecast, DragAndDrop, KeyboardShortcuts, ServicesProvider } = require('stremio/services');\nconst { NotFound } = require('stremio/routes');\nconst { FileDropProvider, PlatformProvider, ToastProvider, TooltipProvider, CONSTANTS, withCoreSuspender, useShell } = require('stremio/common');\nconst ServicesToaster = require('./ServicesToaster');\nconst DeepLinkHandler = require('./DeepLinkHandler');\nconst SearchParamsHandler = require('./SearchParamsHandler');\nconst { default: UpdaterBanner } = require('./UpdaterBanner');\nconst ErrorDialog = require('./ErrorDialog');\nconst withProtectedRoutes = require('./withProtectedRoutes');\nconst routerViewsConfig = require('./routerViewsConfig');\nconst styles = require('./styles');\n\nconst RouterWithProtectedRoutes = withCoreSuspender(withProtectedRoutes(Router));\n\nconst App = () => {\n const { i18n } = useTranslation();\n const shell = useShell();\n const onPathNotMatch = React.useCallback(() => {\n return NotFound;\n }, []);\n const services = React.useMemo(() => {\n const core = new Core({\n appVersion: process.env.VERSION,\n shellVersion: null\n });\n return {\n core,\n shell: new Shell(),\n chromecast: new Chromecast(),\n keyboardShortcuts: new KeyboardShortcuts(),\n dragAndDrop: new DragAndDrop({ core })\n };\n }, []);\n const [initialized, setInitialized] = React.useState(false);\n React.useEffect(() => {\n let prevPath = window.location.hash.slice(1);\n const onLocationHashChange = () => {\n if (services.core.active) {\n services.core.transport.analytics({\n event: 'LocationPathChanged',\n args: { prevPath }\n });\n }\n prevPath = window.location.hash.slice(1);\n };\n window.addEventListener('hashchange', onLocationHashChange);\n return () => {\n window.removeEventListener('hashchange', onLocationHashChange);\n };\n }, []);\n React.useEffect(() => {\n const onCoreStateChanged = () => {\n setInitialized(\n (services.core.active || services.core.error instanceof Error) &&\n (services.shell.active || services.shell.error instanceof Error)\n );\n };\n const onShellStateChanged = () => {\n setInitialized(\n (services.core.active || services.core.error instanceof Error) &&\n (services.shell.active || services.shell.error instanceof Error)\n );\n };\n const onChromecastStateChange = () => {\n if (services.chromecast.active) {\n services.chromecast.transport.setOptions({\n receiverApplicationId: CONSTANTS.CHROMECAST_RECEIVER_APP_ID,\n autoJoinPolicy: chrome.cast.AutoJoinPolicy.PAGE_SCOPED,\n resumeSavedSession: false,\n language: null,\n androidReceiverCompatible: true\n });\n }\n };\n services.core.on('stateChanged', onCoreStateChanged);\n services.shell.on('stateChanged', onShellStateChanged);\n services.chromecast.on('stateChanged', onChromecastStateChange);\n services.core.start();\n services.shell.start();\n services.chromecast.start();\n services.keyboardShortcuts.start();\n services.dragAndDrop.start();\n window.services = services;\n return () => {\n services.core.stop();\n services.shell.stop();\n services.chromecast.stop();\n services.keyboardShortcuts.stop();\n services.dragAndDrop.stop();\n services.core.off('stateChanged', onCoreStateChanged);\n services.shell.off('stateChanged', onShellStateChanged);\n services.chromecast.off('stateChanged', onChromecastStateChange);\n };\n }, []);\n\n // Handle shell events\n React.useEffect(() => {\n const onOpenMedia = (data) => {\n try {\n const { protocol, hostname, pathname, searchParams } = new URL(data);\n if (protocol === CONSTANTS.PROTOCOL) {\n if (hostname.length) {\n const transportUrl = `https://${hostname}${pathname}`;\n window.location.href = `#/addons?addon=${encodeURIComponent(transportUrl)}`;\n } else {\n window.location.href = `#${pathname}?${searchParams.toString()}`;\n }\n }\n } catch (e) {\n console.error('Failed to open media:', e);\n }\n };\n\n shell.on('open-media', onOpenMedia);\n\n return () => {\n shell.off('open-media', onOpenMedia);\n };\n }, []);\n\n React.useEffect(() => {\n const onCoreEvent = ({ event, args }) => {\n switch (event) {\n case 'SettingsUpdated': {\n if (args && args.settings && typeof args.settings.interfaceLanguage === 'string') {\n i18n.changeLanguage(args.settings.interfaceLanguage);\n }\n\n if (args?.settings?.quitOnClose && shell.windowClosed) {\n shell.send('quit');\n }\n\n break;\n }\n }\n };\n const onCtxState = (state) => {\n if (state && state.profile && state.profile.settings && typeof state.profile.settings.interfaceLanguage === 'string') {\n i18n.changeLanguage(state.profile.settings.interfaceLanguage);\n }\n\n if (state?.profile?.settings?.quitOnClose && shell.windowClosed) {\n shell.send('quit');\n }\n };\n const onWindowFocus = () => {\n services.core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'PullAddonsFromAPI'\n }\n });\n services.core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'PullUserFromAPI',\n args: {}\n }\n });\n services.core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'SyncLibraryWithAPI'\n }\n });\n services.core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'PullNotifications'\n }\n });\n };\n if (services.core.active) {\n onWindowFocus();\n window.addEventListener('focus', onWindowFocus);\n services.core.transport.on('CoreEvent', onCoreEvent);\n services.core.transport\n .getState('ctx')\n .then(onCtxState)\n .catch(console.error);\n }\n return () => {\n if (services.core.active) {\n window.removeEventListener('focus', onWindowFocus);\n services.core.transport.off('CoreEvent', onCoreEvent);\n }\n };\n }, [initialized, shell.windowClosed]);\n return (\n <React.StrictMode>\n <ServicesProvider services={services}>\n {\n initialized ?\n services.core.error instanceof Error ?\n <ErrorDialog className={styles['error-container']} />\n :\n <PlatformProvider>\n <ToastProvider className={styles['toasts-container']}>\n <TooltipProvider className={styles['tooltip-container']}>\n <FileDropProvider className={styles['file-drop-container']}>\n <ServicesToaster />\n <DeepLinkHandler />\n <SearchParamsHandler />\n <UpdaterBanner className={styles['updater-banner-container']} />\n <RouterWithProtectedRoutes\n className={styles['router']}\n viewsConfig={routerViewsConfig}\n onPathNotMatch={onPathNotMatch}\n />\n </FileDropProvider>\n </TooltipProvider>\n </ToastProvider>\n </PlatformProvider>\n :\n <div className={styles['loader-container']} />\n }\n </ServicesProvider>\n </React.StrictMode>\n );\n};\n\nmodule.exports = App;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { withCoreSuspender, useStreamingServer } = require('stremio/common');\n\nconst DeepLinkHandler = () => {\n const streamingServer = useStreamingServer();\n React.useEffect(() => {\n if (streamingServer.torrent !== null) {\n const [, { type, content }] = streamingServer.torrent;\n if (type === 'Ready') {\n const [, deepLinks] = content;\n if (typeof deepLinks.metaDetailsVideos === 'string') {\n window.location = deepLinks.metaDetailsVideos;\n }\n }\n }\n }, [streamingServer.torrent]);\n return null;\n};\n\nmodule.exports = withCoreSuspender(DeepLinkHandler);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { Image, Button } = require('stremio/components');\nconst styles = require('./styles');\n\nconst ErrorDialog = ({ className }) => {\n const { t } = useTranslation();\n\n const [dataCleared, setDataCleared] = React.useState(false);\n const reload = React.useCallback(() => {\n window.location.reload();\n }, []);\n const clearData = React.useCallback(() => {\n window.localStorage.clear();\n setDataCleared(true);\n }, []);\n return (\n <div className={classnames(className, styles['error-container'])}>\n <Image\n className={styles['error-image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['error-message']}>\n { t('GENERIC_ERROR_MESSAGE') }\n </div>\n <div className={styles['buttons-container']}>\n <Button className={styles['button-container']} title={t('TRY_AGAIN')} onClick={reload}>\n <div className={styles['label']}>\n { t('TRY_AGAIN') }\n </div>\n </Button>\n <Button className={styles['button-container']} disabled={dataCleared} title={t('CLEAR_DATA')} onClick={clearData}>\n <div className={styles['label']}>\n { t('CLEAR_DATA') }\n </div>\n </Button>\n </div>\n </div>\n );\n};\n\nErrorDialog.displayName = 'ErrorDialog';\n\nErrorDialog.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = ErrorDialog;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ErrorDialog = require('./ErrorDialog');\n\nmodule.exports = ErrorDialog;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst isEqual = require('lodash.isequal');\nconst { withCoreSuspender, useProfile, useToast } = require('stremio/common');\nconst { useServices } = require('stremio/services');\n\nconst SearchParamsHandler = () => {\n const { core } = useServices();\n const profile = useProfile();\n const toast = useToast();\n\n const [searchParams, setSearchParams] = React.useState({});\n\n const onLocationChange = () => {\n const { origin, hash, search } = window.location;\n const { searchParams } = new URL(`${origin}${hash.replace('#', '')}${search}`);\n\n setSearchParams((previousSearchParams) => {\n const currentSearchParams = Object.fromEntries(searchParams.entries());\n return isEqual(previousSearchParams, currentSearchParams) ? previousSearchParams : currentSearchParams;\n });\n };\n\n React.useEffect(() => {\n const { streamingServerUrl } = searchParams;\n\n if (streamingServerUrl) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n streamingServerUrl,\n },\n },\n });\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'AddServerUrl',\n args: streamingServerUrl,\n },\n });\n toast.show({\n type: 'success',\n title: `Using streaming server at ${streamingServerUrl}`,\n timeout: 4000,\n });\n }\n }, [searchParams]);\n\n React.useEffect(() => {\n onLocationChange();\n window.addEventListener('hashchange', onLocationChange);\n return () => window.removeEventListener('hashchange', onLocationChange);\n }, []);\n\n return null;\n};\n\nmodule.exports = withCoreSuspender(SearchParamsHandler);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useToast } = require('stremio/common');\n\nconst ServicesToaster = () => {\n const { core, dragAndDrop } = useServices();\n const toast = useToast();\n React.useEffect(() => {\n const onCoreEvent = ({ event, args }) => {\n switch (event) {\n case 'Error': {\n if (args.source.event === 'UserPulledFromAPI' && args.source.args.uid === null) {\n break;\n }\n\n if (args.source.event === 'LibrarySyncWithAPIPlanned' && args.source.args.uid === null) {\n break;\n }\n\n if (args.error.type === 'Other' && args.error.code === 3 && args.source.event === 'AddonInstalled' && args.source.args.transport_url.startsWith('https://www.strem.io/trakt/addon')) {\n break;\n }\n\n toast.show({\n type: 'error',\n title: args.source.event,\n message: args.error.message,\n timeout: 4000,\n dataset: {\n type: 'CoreEvent'\n }\n });\n break;\n }\n case 'TorrentParsed': {\n toast.show({\n type: 'success',\n title: 'Torrent file parsed',\n timeout: 4000\n });\n break;\n }\n case 'MagnetParsed': {\n toast.show({\n type: 'success',\n title: 'Magnet link parsed',\n timeout: 4000\n });\n break;\n }\n case 'PlayingOnDevice': {\n toast.show({\n type: 'success',\n title: `Stream opened in ${args.device}`,\n timeout: 4000\n });\n break;\n }\n }\n };\n const onDragAndDropError = (error) => {\n toast.show({\n type: 'error',\n title: error.message,\n message: error.file?.name,\n timeout: 4000\n });\n };\n core.transport.on('CoreEvent', onCoreEvent);\n dragAndDrop.on('error', onDragAndDropError);\n return () => {\n core.transport.off('CoreEvent', onCoreEvent);\n dragAndDrop.off('error', onDragAndDropError);\n };\n }, []);\n return null;\n};\n\nmodule.exports = ServicesToaster;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst App = require('./App');\n\nmodule.exports = App;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst routes = require('stremio/routes');\nconst { routesRegexp } = require('stremio/common');\n\nconst routerViewsConfig = [\n [\n {\n ...routesRegexp.board,\n component: routes.Board\n }\n ],\n [\n {\n ...routesRegexp.intro,\n component: routes.Intro\n },\n {\n ...routesRegexp.discover,\n component: routes.Discover\n },\n {\n ...routesRegexp.library,\n component: routes.Library\n },\n {\n ...routesRegexp.calendar,\n component: routes.Calendar\n },\n {\n ...routesRegexp.continuewatching,\n component: routes.Library\n },\n {\n ...routesRegexp.search,\n component: routes.Search\n }\n ],\n [\n {\n ...routesRegexp.metadetails,\n component: routes.MetaDetails\n }\n ],\n [\n {\n ...routesRegexp.addons,\n component: routes.Addons\n },\n {\n ...routesRegexp.settings,\n component: routes.Settings\n }\n ],\n [\n {\n ...routesRegexp.player,\n component: routes.Player\n }\n ]\n];\n\nmodule.exports = routerViewsConfig;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { Intro } = require('stremio/routes');\nconst { useProfile } = require('stremio/common');\n\nconst withProtectedRoutes = (Component) => {\n return function withProtectedRoutes(props) {\n const profile = useProfile();\n const previousAuthRef = React.useRef(profile.auth);\n React.useEffect(() => {\n if (previousAuthRef.current !== null && profile.auth === null) {\n window.location = '#/intro';\n }\n previousAuthRef.current = profile.auth;\n }, [profile]);\n const onRouteChange = React.useCallback((routeConfig) => {\n if (profile.auth !== null && routeConfig.component === Intro) {\n window.location.replace('#/');\n return true;\n }\n }, [profile]);\n return (\n <Component {...props} onRouteChange={onRouteChange} />\n );\n };\n};\n\nmodule.exports = withProtectedRoutes;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst CHROMECAST_RECEIVER_APP_ID = '1634F54B';\nconst DEFAULT_STREAMING_SERVER_URL = 'http://127.0.0.1:11470/';\nconst SUBTITLES_SIZES = [75, 100, 125, 150, 175, 200, 250];\nconst SUBTITLES_FONTS = ['PlusJakartaSans', 'Arial', 'Halvetica', 'Times New Roman', 'Verdana', 'Courier', 'Lucida Console', 'sans-serif', 'serif', 'monospace'];\nconst SEEK_TIME_DURATIONS = [3000, 5000, 10000, 15000, 20000, 30000];\nconst NEXT_VIDEO_POPUP_DURATIONS = [0, 5000, 10000, 15000, 20000, 25000, 30000, 35000, 40000, 45000, 50000, 55000, 60000, 65000, 70000, 75000, 80000, 85000, 90000];\nconst CATALOG_PREVIEW_SIZE = 10;\nconst CATALOG_PAGE_SIZE = 100;\nconst NONE_EXTRA_VALUE = 'None';\nconst SKIP_EXTRA_NAME = 'skip';\nconst META_LINK_CATEGORY = 'meta';\nconst IMDB_LINK_CATEGORY = 'imdb';\nconst SHARE_LINK_CATEGORY = 'share';\nconst WRITERS_LINK_CATEGORY = 'Writers';\nconst TYPE_PRIORITIES = {\n movie: 10,\n series: 9,\n channel: 8,\n tv: 7,\n music: 6,\n radio: 5,\n podcast: 4,\n game: 3,\n book: 2,\n adult: 1,\n other: -Infinity\n};\nconst ICON_FOR_TYPE = new Map([\n ['movie', 'movies'],\n ['series', 'series'],\n ['channel', 'channels'],\n ['tv', 'tv'],\n ['book', 'ic_book'],\n ['game', 'ic_games'],\n ['music', 'ic_music'],\n ['adult', 'ic_adult'],\n ['radio', 'ic_radio'],\n ['podcast', 'ic_podcast'],\n ['other', 'movies'],\n]);\n\nconst MIME_SIGNATURES = {\n 'application/x-subrip': ['310D0A', '310A'],\n 'text/vtt': ['574542565454'],\n};\n\nconst SUPPORTED_LOCAL_SUBTITLES = [\n 'application/x-subrip',\n 'text/vtt',\n];\n\nconst EXTERNAL_PLAYERS = [\n {\n label: 'EXTERNAL_PLAYER_DISABLED',\n value: null,\n platforms: ['ios', 'visionos', 'android', 'windows', 'linux', 'macos'],\n },\n {\n label: 'EXTERNAL_PLAYER_ALLOW_CHOOSING',\n value: 'choose',\n platforms: ['android'],\n },\n {\n label: 'VLC',\n value: 'vlc',\n platforms: ['ios', 'visionos', 'android'],\n },\n {\n label: 'MPV',\n value: 'mpv',\n platforms: ['macos'],\n },\n {\n label: 'IINA',\n value: 'iina',\n platforms: ['macos'],\n },\n {\n label: 'MX Player',\n value: 'mxplayer',\n platforms: ['android'],\n },\n {\n label: 'Just Player',\n value: 'justplayer',\n platforms: ['android'],\n },\n {\n label: 'Outplayer',\n value: 'outplayer',\n platforms: ['ios', 'visionos'],\n },\n {\n label: 'Moonplayer (VisionOS)',\n value: 'moonplayer',\n platforms: ['visionos'],\n },\n {\n label: 'M3U Playlist',\n value: 'm3u',\n platforms: ['ios', 'visionos', 'android', 'windows', 'linux', 'macos'],\n },\n];\n\nconst WHITELISTED_HOSTS = ['stremio.com', 'strem.io', 'stremio.zendesk.com', 'google.com', 'youtube.com', 'twitch.tv', 'twitter.com', 'x.com', 'netflix.com', 'adex.network', 'amazon.com', 'forms.gle'];\n\nconst PROTOCOL = 'stremio:';\n\nmodule.exports = {\n CHROMECAST_RECEIVER_APP_ID,\n DEFAULT_STREAMING_SERVER_URL,\n SUBTITLES_SIZES,\n SUBTITLES_FONTS,\n SEEK_TIME_DURATIONS,\n NEXT_VIDEO_POPUP_DURATIONS,\n CATALOG_PREVIEW_SIZE,\n CATALOG_PAGE_SIZE,\n NONE_EXTRA_VALUE,\n SKIP_EXTRA_NAME,\n META_LINK_CATEGORY,\n IMDB_LINK_CATEGORY,\n SHARE_LINK_CATEGORY,\n WRITERS_LINK_CATEGORY,\n TYPE_PRIORITIES,\n ICON_FOR_TYPE,\n MIME_SIGNATURES,\n SUPPORTED_LOCAL_SUBTITLES,\n EXTERNAL_PLAYERS,\n WHITELISTED_HOSTS,\n PROTOCOL,\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\n\nconst CoreSuspenderContext = React.createContext(null);\n\nCoreSuspenderContext.displayName = 'CoreSuspenderContext';\n\nfunction wrapPromise(promise) {\n let status = 'pending';\n let result;\n const suspender = promise.then(\n (resp) => {\n status = 'success';\n result = resp;\n },\n (error) => {\n status = 'error';\n result = error;\n }\n );\n return {\n read() {\n if (status === 'pending') {\n throw suspender;\n } else if (status === 'error') {\n throw result;\n } else if (status === 'success') {\n return result;\n }\n }\n };\n}\n\nconst useCoreSuspender = () => {\n return React.useContext(CoreSuspenderContext);\n};\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst withCoreSuspender = (Component, Fallback = () => { }) => {\n return function withCoreSuspender(props) {\n const { core } = useServices();\n const parentSuspender = useCoreSuspender();\n const [render, setRender] = React.useState(parentSuspender === null);\n const statesRef = React.useRef({});\n const streamsRef = React.useRef({});\n const getState = React.useCallback((model) => {\n if (!statesRef.current[model]) {\n statesRef.current[model] = wrapPromise(core.transport.getState(model));\n }\n\n return statesRef.current[model].read();\n }, []);\n const decodeStream = React.useCallback((stream) => {\n if (!streamsRef.current[stream]) {\n streamsRef.current[stream] = wrapPromise(core.transport.decodeStream(stream));\n }\n\n return streamsRef.current[stream].read();\n }, []);\n const suspender = React.useMemo(() => ({ getState, decodeStream }), []);\n React.useLayoutEffect(() => {\n if (!render) {\n setRender(true);\n }\n }, []);\n return render ?\n <React.Suspense fallback={<Fallback {...props} />}>\n <CoreSuspenderContext.Provider value={suspender}>\n <Component {...props} />\n </CoreSuspenderContext.Provider>\n </React.Suspense>\n :\n null;\n };\n};\n\nmodule.exports = { withCoreSuspender, useCoreSuspender };\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n/* eslint-disable @typescript-eslint/no-empty-function */\n\nconst React = require('react');\n\nconst ToastContext = React.createContext({\n show: () => { },\n clear: () => { }\n});\n\nToastContext.displayName = 'ToastContext';\n\nmodule.exports = ToastContext;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/components');\nconst styles = require('./styles');\n\nconst ToastItem = ({ title, message, dataset, onSelect, onClose, ...props }) => {\n const { t } = useTranslation();\n const type = React.useMemo(() => {\n return ['success', 'alert', 'info', 'error'].includes(props.type) ?\n props.type\n :\n 'success';\n }, [props.type]);\n const icon = React.useMemo(() => {\n return typeof props.icon === 'string' ? props.icon :\n type === 'success' ? 'checkmark' :\n type === 'error' ? 'close' :\n type === 'info' ? 'about' :\n null;\n }, [type, props.icon]);\n const toastOnClick = React.useCallback((event) => {\n if (!event.nativeEvent.selectToastPrevented && typeof onSelect === 'function') {\n onSelect({\n type: 'select',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n if (!event.nativeEvent.closeToastPrevented && typeof onClose === 'function') {\n onClose({\n type: 'close',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onSelect, onClose]);\n const closeButtonOnClick = React.useCallback((event) => {\n event.nativeEvent.selectToastPrevented = true;\n if (typeof onClose === 'function') {\n onClose({\n type: 'close',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onClose]);\n return (\n <Button className={classnames(styles['toast-item-container'], styles[type])} tabIndex={-1} onClick={toastOnClick}>\n {\n typeof icon === 'string' && icon.length > 0 ?\n <div className={styles['icon-container']}>\n <Icon className={styles['icon']} name={icon} />\n </div>\n :\n null\n }\n <div className={styles['info-container']}>\n {\n typeof title === 'string' && title.length > 0 ?\n <div className={styles['title-container']}>{title}</div>\n :\n null\n }\n {\n typeof message === 'string' && message.length > 0 ?\n <div className={styles['message-container']}>{message}</div>\n :\n null\n }\n </div>\n <Button className={styles['close-button-container']} title={t('BUTTON_CLOSE')} tabIndex={-1} onClick={closeButtonOnClick}>\n <Icon className={styles['icon']} name={'close'} />\n </Button>\n </Button>\n );\n};\n\nToastItem.propTypes = {\n type: PropTypes.oneOf(['success', 'alert', 'info', 'error']),\n title: PropTypes.string,\n message: PropTypes.string,\n icon: PropTypes.string,\n dataset: PropTypes.object,\n onSelect: PropTypes.func,\n onClose: PropTypes.func\n};\n\nmodule.exports = ToastItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ToastItem = require('./ToastItem');\n\nmodule.exports = ToastItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst ToastItem = require('./ToastItem');\nconst ToastContext = require('./ToastContext');\n\nconst DEFAULT_TIMEOUT = 3000;\n\nconst ToastProvider = ({ className, children }) => {\n const [container, setContainer] = React.useState(null);\n const [items, dispatch] = React.useReducer(\n (items, action) => {\n switch (action.type) {\n case 'add':\n return items.concat(action.item);\n case 'remove':\n return items.filter((item) => item.id !== action.id);\n case 'clear':\n return [];\n default:\n return items;\n }\n },\n []\n );\n const itemOnClose = React.useCallback((event) => {\n clearTimeout(event.dataset.id);\n dispatch({ type: 'remove', id: event.dataset.id });\n }, []);\n const toast = React.useMemo(() => {\n const filters = [];\n return {\n addFilter: (filter) => {\n filters.push(filter);\n },\n removeFilter: (filter) => {\n const index = filters.indexOf(filter);\n if (index > -1) {\n filters.splice(index, 1);\n }\n },\n show: (item) => {\n if (filters.some((filter) => filter(item))) {\n return;\n }\n\n const timeout = typeof item.timeout === 'number' && !isNaN(item.timeout) ?\n item.timeout\n :\n DEFAULT_TIMEOUT;\n const id = setTimeout(() => {\n dispatch({ type: 'remove', id });\n }, timeout);\n dispatch({\n type: 'add',\n item: {\n ...item,\n id,\n dataset: {\n ...item.dataset,\n id\n },\n onClose: itemOnClose\n }\n });\n },\n clear: () => {\n dispatch({ type: 'clear' });\n }\n };\n }, []);\n return (\n <ToastContext.Provider value={toast}>\n {container instanceof HTMLElement ? children : null}\n <div ref={setContainer} className={className}>\n {items.map((item, index) => (\n <ToastItem key={index} {...item} />\n ))}\n </div>\n </ToastContext.Provider>\n );\n};\n\nToastProvider.propTypes = {\n className: PropTypes.string,\n children: PropTypes.node\n};\n\nmodule.exports = ToastProvider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ToastProvider = require('./ToastProvider');\nconst useToast = require('./useToast');\n\nmodule.exports = {\n ToastProvider,\n useToast\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ToastContext = require('./ToastContext');\n\nconst useToast = () => {\n return React.useContext(ToastContext);\n};\n\nmodule.exports = useToast;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst useTooltip = require('../useTooltip');\nconst styles = require('./styles');\n\nconst createId = () => (Math.random() + 1).toString(36).substring(7);\n\nconst Tooltip = ({ label, position, margin = 15 }) => {\n const tooltip = useTooltip();\n\n const id = React.useRef(createId());\n const element = React.useRef(null);\n\n const onMouseEnter = () => {\n tooltip.update(id.current, {\n active: true,\n });\n };\n\n const onMouseLeave = () => {\n tooltip.update(id.current, {\n active: false,\n });\n };\n\n React.useEffect(() => {\n tooltip.update(id.current, {\n label,\n });\n }, [label]);\n\n React.useLayoutEffect(() => {\n if (element.current && element.current.parentElement) {\n const parentElement = element.current.parentElement;\n tooltip.add({\n id: id.current,\n label,\n position,\n margin,\n parent: parentElement,\n });\n\n parentElement.addEventListener('mouseenter', onMouseEnter);\n parentElement.addEventListener('mouseleave', onMouseLeave);\n }\n\n return () => {\n if (element.current && element.current.parentElement) {\n const parentElement = element.current.parentElement;\n parentElement.removeEventListener('mouseenter', onMouseEnter);\n parentElement.removeEventListener('mouseleave', onMouseLeave);\n\n tooltip.remove(id.current);\n }\n };\n }, []);\n\n return (\n <div ref={element} className={styles['tooltip-placeholder']} />\n );\n};\n\nTooltip.propTypes = {\n label: PropTypes.string.isRequired,\n position: PropTypes.string.isRequired,\n margin: PropTypes.number,\n};\n\nmodule.exports = Tooltip;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Tooltip = require('./Tooltip');\n\nmodule.exports = Tooltip;\n\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { createContext } = require('react');\n\nconst TooltipContext = createContext(null);\n\nmodule.exports = TooltipContext;\n\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classNames = require('classnames');\nconst styles = require('./styles');\n\nconst TooltipItem = React.memo(({ className, active, label, position, margin, parent }) => {\n const ref = React.useRef(null);\n\n const [style, setStyle] = React.useState(null);\n\n React.useEffect(() => {\n if (!ref.current || !active) return setStyle(null);\n\n const tooltipBounds = ref.current.getBoundingClientRect();\n const parentBounds = parent.getBoundingClientRect();\n\n switch (position) {\n case 'top':\n return setStyle({\n top: `${parentBounds.top - tooltipBounds.height - margin}px`,\n left: `${(parentBounds.left + (parentBounds.width / 2)) - (tooltipBounds.width / 2)}px`,\n });\n case 'bottom':\n return setStyle({\n top: `${parentBounds.top + parentBounds.height + margin}px`,\n left: `${(parentBounds.left + (parentBounds.width / 2)) - (tooltipBounds.width / 2)}px`,\n });\n case 'left':\n return setStyle({\n top: `${parentBounds.top + (parentBounds.height / 2) - (tooltipBounds.height / 2)}px`,\n left: `${(parentBounds.left - tooltipBounds.width - margin)}px`,\n });\n case 'right':\n return setStyle({\n top: `${parentBounds.top + (parentBounds.height / 2) - (tooltipBounds.height / 2)}px`,\n left: `${(parentBounds.left + parentBounds.width + margin)}px`,\n });\n }\n }, [active, position, margin, parent, label]);\n\n return (\n <div ref={ref} className={classNames(className, styles['tooltip-item'], { 'active': active })} style={style}>\n { label }\n </div>\n );\n});\n\nTooltipItem.displayName = 'TooltipItem';\n\nTooltipItem.propTypes = {\n className: PropTypes.string,\n active: PropTypes.bool,\n label: PropTypes.string,\n position: PropTypes.string,\n margin: PropTypes.number,\n parent: PropTypes.instanceOf(HTMLElement),\n};\n\nmodule.exports = TooltipItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst TooltipItem = require('./TooltipItem');\n\nmodule.exports = TooltipItem;\n\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst TooltipContext = require('./TooltipContext');\nconst TooltipItem = require('./TooltipItem');\n\nconst TooltipProvider = ({ children, className }) => {\n const [tooltips, setTooltips] = React.useState([]);\n\n const add = (options) => {\n const tooltip = {\n ...options,\n active: false,\n };\n\n setTooltips((tooltips) => ([\n ...tooltips,\n tooltip,\n ]));\n };\n\n const remove = (id) => {\n setTooltips((tooltips) => (\n tooltips.filter((tooltip) => tooltip.id !== id)\n ));\n };\n\n const update = (id, state) => {\n setTooltips((tooltips) => (\n tooltips.map((tooltip) => {\n if (tooltip.id === id) {\n tooltip = {\n ...tooltip,\n ...state,\n };\n }\n return tooltip;\n })\n ));\n };\n\n return (\n <TooltipContext.Provider value={{ add, remove, update }}>\n { children }\n <div className={'tooltips-items-container'}>\n {\n tooltips.map(({ id, ...tooltip }) => (\n <TooltipItem\n key={id}\n className={className}\n {...tooltip}\n />\n ))\n }\n </div>\n </TooltipContext.Provider>\n );\n};\n\nTooltipProvider.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n};\n\nmodule.exports = TooltipProvider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst TooltipProvider = require('./TooltipProvider');\nconst Tooltip = require('./Tooltip');\n\nmodule.exports = {\n TooltipProvider,\n Tooltip,\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst TooltipContext = require('./TooltipContext');\n\nconst useTooltip = () => {\n return React.useContext(TooltipContext);\n};\n\nmodule.exports = useTooltip;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst comparatorWithPriorities = (priorities) => {\n return (a, b) => {\n if (isNaN(priorities[a]) && isNaN(priorities[b])) {\n return a.localeCompare(b);\n } else if (isNaN(priorities[a])) {\n if (priorities[b] === Number.NEGATIVE_INFINITY) {\n return -1;\n } else {\n return 1;\n }\n } else if (isNaN(priorities[b])) {\n if (priorities[a] === Number.NEGATIVE_INFINITY) {\n return 1;\n } else {\n return -1;\n }\n } else {\n return priorities[b] - priorities[a];\n }\n };\n};\n\nmodule.exports = comparatorWithPriorities;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst isChildVisible = (container, element) => {\n const elementTop = element.offsetTop;\n const elementBottom = element.offsetTop + element.clientHeight;\n const containerTop = container.scrollTop;\n const containerBottom = container.scrollTop + container.clientHeight;\n return (elementTop >= containerTop && elementBottom <= containerBottom) ||\n (elementTop < containerTop && containerTop < elementBottom) ||\n (elementTop < containerBottom && containerBottom < elementBottom);\n};\n\nconst getVisibleChildrenRange = (container) => {\n return Array.from(container.children).reduce((result, child, index) => {\n if (isChildVisible(container, child)) {\n if (result === null) {\n result = {\n start: index,\n end: index\n };\n } else {\n result.end = index;\n }\n }\n\n return result;\n }, null);\n};\n\nmodule.exports = getVisibleChildrenRange;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { FileDropProvider, onFileDrop } = require('./FileDrop');\nconst { PlatformProvider, usePlatform } = require('./Platform');\nconst { ToastProvider, useToast } = require('./Toast');\nconst { TooltipProvider, Tooltip } = require('./Tooltips');\nconst comparatorWithPriorities = require('./comparatorWithPriorities');\nconst CONSTANTS = require('./CONSTANTS');\nconst { withCoreSuspender, useCoreSuspender } = require('./CoreSuspender');\nconst getVisibleChildrenRange = require('./getVisibleChildrenRange');\nconst interfaceLanguages = require('./interfaceLanguages.json');\nconst languageNames = require('./languageNames.json');\nconst languages = require('./languages');\nconst routesRegexp = require('./routesRegexp');\nconst useAnimationFrame = require('./useAnimationFrame');\nconst useBinaryState = require('./useBinaryState');\nconst { default: useFullscreen } = require('./useFullscreen');\nconst { default: useInterval } = require('./useInterval');\nconst useLiveRef = require('./useLiveRef');\nconst useModelState = require('./useModelState');\nconst useNotifications = require('./useNotifications');\nconst useOnScrollToBottom = require('./useOnScrollToBottom');\nconst useProfile = require('./useProfile');\nconst { default: useSettings } = require('./useSettings');\nconst { default: useShell } = require('./useShell');\nconst useStreamingServer = require('./useStreamingServer');\nconst { default: useTimeout } = require('./useTimeout');\nconst useTorrent = require('./useTorrent');\nconst useTranslate = require('./useTranslate');\nconst { default: useOrientation } = require('./useOrientation');\nconst { default: useLanguageSorting } = require('./useLanguageSorting');\n\nmodule.exports = {\n FileDropProvider,\n onFileDrop,\n PlatformProvider,\n usePlatform,\n ToastProvider,\n useToast,\n TooltipProvider,\n Tooltip,\n comparatorWithPriorities,\n CONSTANTS,\n withCoreSuspender,\n useCoreSuspender,\n getVisibleChildrenRange,\n interfaceLanguages,\n languageNames,\n languages,\n routesRegexp,\n useAnimationFrame,\n useBinaryState,\n useFullscreen,\n useInterval,\n useLiveRef,\n useModelState,\n useNotifications,\n useOnScrollToBottom,\n useProfile,\n useSettings,\n useShell,\n useStreamingServer,\n useTimeout,\n useTorrent,\n useTranslate,\n useOrientation,\n useLanguageSorting,\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst routesRegexp = {\n intro: {\n regexp: /^\\/intro$/,\n urlParamsNames: []\n },\n board: {\n regexp: /^\\/?(?:board)?$/,\n urlParamsNames: []\n },\n discover: {\n regexp: /^\\/discover(?:\\/([^/]*)\\/([^/]*)\\/([^/]*))?$/,\n urlParamsNames: ['transportUrl', 'type', 'catalogId']\n },\n library: {\n regexp: /^\\/library(?:\\/([^/]*))?$/,\n urlParamsNames: ['type']\n },\n calendar: {\n regexp: /^\\/calendar(?:\\/([^/]*)\\/([^/]*))?$/,\n urlParamsNames: ['year', 'month']\n },\n continuewatching: {\n regexp: /^\\/continuewatching(?:\\/([^/]*))?$/,\n urlParamsNames: ['type']\n },\n search: {\n regexp: /^\\/search$/,\n urlParamsNames: []\n },\n metadetails: {\n regexp: /^\\/(?:metadetails|detail)\\/([^/]*)\\/([^/]*)(?:\\/([^/]*))?$/,\n urlParamsNames: ['type', 'id', 'videoId']\n },\n addons: {\n regexp: /^\\/addons(?:\\/([^/]*)(?:\\/([^/]*)\\/([^/]*))?)?$/,\n urlParamsNames: ['type', 'transportUrl', 'catalogId']\n },\n settings: {\n regexp: /^\\/settings$/,\n urlParamsNames: []\n },\n player: {\n regexp: /^\\/player\\/([^/]*)(?:\\/([^/]*)\\/([^/]*)\\/([^/]*)\\/([^/]*)\\/([^/]*))?$/,\n urlParamsNames: ['stream', 'streamTransportUrl', 'metaTransportUrl', 'type', 'id', 'videoId']\n }\n};\n\nmodule.exports = routesRegexp;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useAnimationFrame = () => {\n const animationFrameId = React.useRef(null);\n const cancel = React.useCallback(() => {\n cancelAnimationFrame(animationFrameId.current);\n animationFrameId.current = null;\n }, []);\n const request = React.useCallback((cb) => {\n cancel();\n animationFrameId.current = requestAnimationFrame(() => {\n cb();\n animationFrameId.current = null;\n });\n }, []);\n return [request, cancel];\n};\n\nmodule.exports = useAnimationFrame;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useBinaryState = (initialValue) => {\n const [value, setValue] = React.useState(!!initialValue);\n const on = React.useCallback(() => {\n setValue(true);\n }, []);\n const off = React.useCallback(() => {\n setValue(false);\n }, []);\n const toggle = React.useCallback(() => {\n setValue(!value);\n }, [value]);\n return [value, on, off, toggle];\n};\n\nmodule.exports = useBinaryState;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useLiveRef = (value) => {\n const ref = React.useRef();\n ref.current = value;\n return ref;\n};\n\nmodule.exports = useLiveRef;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst throttle = require('lodash.throttle');\nconst isEqual = require('lodash.isequal');\nconst intersection = require('lodash.intersection');\nconst { useCoreSuspender } = require('stremio/common/CoreSuspender');\nconst { useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\n\nconst useModelState = ({ action, ...args }) => {\n const { core } = useServices();\n const routeFocused = useRouteFocused();\n const mountedRef = React.useRef(false);\n const [model, timeout, map, deps] = React.useMemo(() => {\n return [args.model, args.timeout, args.map, args.deps];\n }, []);\n const { getState } = useCoreSuspender();\n const [state, setState] = React.useReducer(\n (prevState, nextState) => {\n return Object.keys(prevState).reduce((result, key) => {\n result[key] = isEqual(prevState[key], nextState[key]) ? prevState[key] : nextState[key];\n return result;\n }, {});\n },\n undefined,\n () => {\n if (typeof map === 'function') {\n return map(getState(model));\n } else {\n return getState(model);\n }\n }\n );\n React.useInsertionEffect(() => {\n if (action) {\n core.transport.dispatch(action, model);\n }\n }, [action]);\n React.useInsertionEffect(() => {\n return () => {\n core.transport.dispatch({ action: 'Unload' }, model);\n };\n }, []);\n React.useInsertionEffect(() => {\n const onNewState = async (models) => {\n if (models.indexOf(model) === -1 && (!Array.isArray(deps) || intersection(deps, models).length === 0)) {\n return;\n }\n\n const state = await core.transport.getState(model);\n if (typeof map === 'function') {\n setState(map(state));\n } else {\n setState(state);\n }\n };\n const onNewStateThrottled = throttle(onNewState, timeout);\n if (routeFocused) {\n core.transport.on('NewState', onNewStateThrottled);\n if (mountedRef.current) {\n onNewState([model]);\n }\n }\n return () => {\n onNewStateThrottled.cancel();\n core.transport.off('NewState', onNewStateThrottled);\n };\n }, [routeFocused]);\n React.useInsertionEffect(() => {\n mountedRef.current = true;\n }, []);\n return state;\n};\n\nmodule.exports = useModelState;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst useModelState = require('stremio/common/useModelState');\n\nconst map = (ctx) => ctx.notifications;\n\nconst useNotifications = () => {\n return useModelState({ model: 'ctx', map });\n};\n\nmodule.exports = useNotifications;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useOnScrollToBottom = (cb, threshold = 0) => {\n const triggeredRef = React.useRef(false);\n const onScroll = React.useCallback((event) => {\n if (event.target.scrollTop + event.target.clientHeight >= event.target.scrollHeight - threshold) {\n if (!triggeredRef.current) {\n triggeredRef.current = true;\n if (typeof cb === 'function') {\n cb(event);\n }\n }\n } else {\n triggeredRef.current = false;\n }\n }, [cb]);\n return onScroll;\n};\n\nmodule.exports = useOnScrollToBottom;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst usePWA = () => {\n const isPWA = React.useMemo(() => {\n const isIOSPWA = window.navigator.standalone;\n const isAndroidPWA = window.matchMedia('(display-mode: standalone)').matches;\n return [isIOSPWA, isAndroidPWA];\n }, []);\n return isPWA;\n};\n\nmodule.exports = usePWA;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst useModelState = require('stremio/common/useModelState');\n\nconst map = (ctx) => ({\n ...ctx.profile,\n settings: {\n ...ctx.profile.settings,\n streamingServerWarningDismissed: new Date(\n typeof ctx.profile.settings.streamingServerWarningDismissed === 'string' ?\n ctx.profile.settings.streamingServerWarningDismissed\n :\n NaN\n )\n }\n});\n\nconst useProfile = () => {\n return useModelState({ model: 'ctx', map });\n};\n\nmodule.exports = useProfile;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst useModelState = require('stremio/common/useModelState');\n\nconst useStreamingServer = () => {\n return useModelState({ model: 'streaming_server' });\n};\n\nmodule.exports = useStreamingServer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst magnet = require('magnet-uri');\nconst { useServices } = require('stremio/services');\nconst useToast = require('stremio/common/Toast/useToast');\nconst useStreamingServer = require('stremio/common/useStreamingServer');\n\nconst useTorrent = () => {\n const { core } = useServices();\n const streamingServer = useStreamingServer();\n const toast = useToast();\n const createTorrentTimeout = React.useRef(null);\n const createTorrentFromMagnet = React.useCallback((text) => {\n const parsed = magnet.decode(text);\n if (parsed && typeof parsed.infoHash === 'string') {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'CreateTorrent',\n args: text\n }\n });\n clearTimeout(createTorrentTimeout.current);\n createTorrentTimeout.current = setTimeout(() => {\n toast.show({\n type: 'error',\n title: 'It\\'s taking a long time to get metadata from the torrent.',\n timeout: 10000\n });\n }, 10000);\n }\n }, []);\n React.useEffect(() => {\n if (streamingServer.torrent !== null) {\n const [, { type }] = streamingServer.torrent;\n if (type === 'Ready') {\n clearTimeout(createTorrentTimeout.current);\n }\n }\n }, [streamingServer.torrent]);\n React.useEffect(() => {\n return () => clearTimeout(createTorrentTimeout.current);\n }, []);\n return {\n createTorrentFromMagnet\n };\n};\n\nmodule.exports = useTorrent;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { useCallback } = require('react');\nconst { useTranslation } = require('react-i18next');\n\nconst useTranslate = () => {\n const { t } = useTranslation();\n\n const string = useCallback((key) => t(key), [t]);\n\n const stringWithPrefix = useCallback((value, prefix, fallback = null) => {\n const key = `${prefix}${value}`;\n const defaultValue = fallback ?? value.charAt(0).toUpperCase() + value.slice(1);\n\n return t(key, {\n defaultValue,\n });\n }, [t]);\n\n const catalogTitle = useCallback(({ addon, id, name, type } = {}, withType = true) => {\n if (addon && id && name) {\n const partialKey = `${addon.manifest.id.split('.').join('_')}_${id}`;\n const translatedName = stringWithPrefix(partialKey, 'CATALOG_', name);\n\n if (type && withType) {\n const translatedType = stringWithPrefix(type, 'TYPE_');\n return `${translatedName} - ${translatedType}`;\n }\n\n return translatedName;\n }\n\n return null;\n }, [stringWithPrefix]);\n\n return {\n string,\n stringWithPrefix,\n catalogTitle,\n };\n};\n\nmodule.exports = useTranslate;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { default: Image } = require('stremio/components/Image');\nconst styles = require('./styles');\n\nconst AddonDetails = ({ className, id, name, version, logo, description, types, transportUrl, official }) => {\n const { t } = useTranslation();\n const renderLogoFallback = React.useCallback(() => (\n <Icon className={styles['icon']} name={'addons'} />\n ), []);\n return (\n <div className={classnames(className, styles['addon-details-container'])}>\n <div className={styles['title-container']}>\n <Image\n className={styles['logo']}\n src={logo}\n alt={' '}\n renderFallback={renderLogoFallback}\n />\n <div className={styles['name-container']}>\n <span className={styles['name']}>{typeof name === 'string' && name.length > 0 ? name : id}</span>\n {\n typeof version === 'string' && version.length > 0 ?\n <span className={styles['version']}>{t('ADDON_VERSION_SHORT', {version})}</span>\n :\n null\n }\n </div>\n </div>\n {\n typeof description === 'string' && description.length > 0 ?\n <div className={styles['section-container']}>\n <span className={styles['section-label']}>{description}</span>\n </div>\n :\n null\n }\n {\n typeof transportUrl === 'string' && transportUrl.length > 0 ?\n <div className={styles['section-container']}>\n <span className={styles['section-header']}>{`${t('URL')}:`}</span>\n <span className={classnames(styles['section-label'], styles['transport-url-label'])}>{transportUrl}</span>\n </div>\n :\n null\n }\n {\n Array.isArray(types) && types.length > 0 ?\n <div className={styles['section-container']}>\n <span className={styles['section-header']}>{`${t('ADDON_SUPPORTED_TYPES')}:`} </span>\n <span className={styles['section-label']}>\n {\n types.length === 1 ?\n types[0]\n :\n types.slice(0, -1).join(', ') + ' & ' + types[types.length - 1]\n }\n </span>\n </div>\n :\n null\n }\n {\n !official ?\n <div className={styles['section-container']}>\n <div className={classnames(styles['section-label'], styles['disclaimer-label'])}>{t('ADDON_DISCLAIMER')}</div>\n </div>\n :\n null\n }\n </div>\n );\n};\n\nAddonDetails.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n name: PropTypes.string,\n version: PropTypes.string,\n logo: PropTypes.string,\n description: PropTypes.string,\n types: PropTypes.arrayOf(PropTypes.string),\n transportUrl: PropTypes.string,\n official: PropTypes.bool,\n};\n\nmodule.exports = AddonDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst AddonDetails = require('./AddonDetails');\n\nmodule.exports = AddonDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst ModalDialog = require('stremio/components/ModalDialog');\nconst { withCoreSuspender } = require('stremio/common/CoreSuspender');\nconst { usePlatform } = require('stremio/common/Platform');\nconst { useServices } = require('stremio/services');\nconst AddonDetailsWithRemoteAndLocalAddon = withRemoteAndLocalAddon(require('./AddonDetails'));\nconst useAddonDetails = require('./useAddonDetails');\nconst styles = require('./styles');\n\nfunction withRemoteAndLocalAddon(AddonDetails) {\n const withRemoteAndLocalAddon = ({ remoteAddon, localAddon, ...props }) => {\n const addon = remoteAddon !== null && remoteAddon.content.type === 'Ready' ?\n remoteAddon.content.content\n :\n localAddon !== null ?\n localAddon\n :\n null;\n if (addon === null) {\n return null;\n }\n\n return (\n <AddonDetails\n {...props}\n id={addon.manifest.id}\n name={addon.manifest.name}\n version={addon.manifest.version}\n background={addon.manifest.background}\n logo={addon.manifest.logo}\n description={addon.manifest.description}\n types={addon.manifest.types}\n transportUrl={addon.transportUrl}\n official={addon.flags.official}\n />\n );\n };\n withRemoteAndLocalAddon.displayName = 'withRemoteAndLocalAddon';\n return withRemoteAndLocalAddon;\n}\n\nconst AddonDetailsModal = ({ transportUrl, onCloseRequest }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const platform = usePlatform();\n const addonDetails = useAddonDetails(transportUrl);\n const modalButtons = React.useMemo(() => {\n const cancelButton = {\n className: styles['cancel-button'],\n label: t('BUTTON_CANCEL'),\n props: {\n onClick: (event) => {\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'cancel',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }\n }\n };\n const configureButton = addonDetails.remoteAddon !== null &&\n addonDetails.remoteAddon.content.type === 'Ready' &&\n addonDetails.remoteAddon.content.content.manifest.behaviorHints.configurable ?\n {\n className: styles['configure-button'],\n label: t('ADDON_CONFIGURE'),\n props: {\n onClick: (event) => {\n platform.openExternal(transportUrl.replace('manifest.json', 'configure'));\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'configure',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }\n }\n }\n :\n null;\n const toggleButton = addonDetails.localAddon !== null ?\n {\n className: styles['uninstall-button'],\n label: t('ADDON_UNINSTALL'),\n props: {\n onClick: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UninstallAddon',\n args: addonDetails.localAddon\n }\n });\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'uninstall',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }\n }\n }\n :\n addonDetails.remoteAddon !== null &&\n addonDetails.remoteAddon.content.type === 'Ready' &&\n !addonDetails.remoteAddon.content.content.manifest.behaviorHints.configurationRequired ?\n {\n\n className: styles['install-button'],\n label: t('ADDON_INSTALL'),\n props: {\n onClick: (event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'InstallAddon',\n args: addonDetails.remoteAddon.content.content\n }\n });\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'install',\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }\n }\n }\n :\n null;\n return configureButton && toggleButton ? [cancelButton, configureButton, toggleButton] : configureButton ? [cancelButton, configureButton] : toggleButton ? [cancelButton, toggleButton] : [cancelButton];\n }, [addonDetails, onCloseRequest]);\n const modalBackground = React.useMemo(() => {\n return addonDetails.remoteAddon?.content.type === 'Ready' ? addonDetails.remoteAddon.content.content.manifest.background : null;\n }, [addonDetails.remoteAddon]);\n return (\n <ModalDialog className={styles['addon-details-modal-container']} title={t('STREMIO_COMMUNITY_ADDON')} buttons={modalButtons} background={modalBackground} onCloseRequest={onCloseRequest}>\n {\n addonDetails.selected === null ?\n <div className={styles['addon-details-message-container']}>\n {t('ADDON_LOADING_MANIFEST')}\n </div>\n :\n addonDetails.remoteAddon === null || addonDetails.remoteAddon.content.type === 'Loading' ?\n <div className={styles['addon-details-message-container']}>\n {t('ADDON_LOADING_MANIFEST_FROM', { origin: addonDetails.selected.transportUrl})}\n </div>\n :\n addonDetails.remoteAddon.content.type === 'Err' && addonDetails.localAddon === null ?\n <div className={styles['addon-details-message-container']}>\n {t('ADDON_LOADING_MANIFEST_FAILED', {origin: addonDetails.selected.transportUrl})}\n <div>{addonDetails.remoteAddon.content.content.message}</div>\n </div>\n :\n <AddonDetailsWithRemoteAndLocalAddon\n className={styles['addon-details-container']}\n remoteAddon={addonDetails.remoteAddon}\n localAddon={addonDetails.localAddon}\n />\n }\n </ModalDialog>\n );\n};\n\nAddonDetailsModal.propTypes = {\n transportUrl: PropTypes.string,\n onCloseRequest: PropTypes.func\n};\n\nconst AddonDetailsModalFallback = ({ onCloseRequest }) => {\n const { t } = useTranslation();\n return <ModalDialog\n className={styles['addon-details-modal-container']}\n title={t('STREMIO_COMMUNITY_ADDON')}\n onCloseRequest={onCloseRequest}\n >\n <div className={styles['addon-details-message-container']}>\n {t('ADDON_LOADING_MANIFEST')}\n </div>\n </ModalDialog>;\n};\n\nAddonDetailsModalFallback.propTypes = AddonDetailsModal.propTypes;\n\nmodule.exports = withCoreSuspender(AddonDetailsModal, AddonDetailsModalFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst AddonDetailsModal = require('./AddonDetailsModal');\n\nmodule.exports = AddonDetailsModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst useModelState = require('stremio/common/useModelState');\n\nconst useAddonDetails = (transportUrl) => {\n const action = React.useMemo(() => {\n if (typeof transportUrl === 'string') {\n return {\n action: 'Load',\n args: {\n model: 'AddonDetails',\n args: {\n transportUrl\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [transportUrl]);\n return useModelState({ model: 'addon_details', action });\n};\n\nmodule.exports = useAddonDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst AColorPicker = require('a-color-picker');\nconst styles = require('./styles');\n\nconst parseColor = (value) => {\n return AColorPicker.parseColor(value, 'hexcss4');\n};\n\nconst ColorPicker = ({ className, value, onInput }) => {\n const pickerRef = React.useRef(null);\n const pickerElementRef = React.useRef(null);\n React.useLayoutEffect(() => {\n pickerRef.current = AColorPicker.createPicker(pickerElementRef.current, {\n color: parseColor(value),\n showHSL: false,\n showHEX: false,\n showRGB: false,\n showAlpha: true\n });\n const pickerClipboard = pickerElementRef.current.querySelector('.a-color-picker-clipbaord');\n if (pickerClipboard instanceof HTMLElement) {\n pickerClipboard.tabIndex = -1;\n }\n }, []);\n React.useLayoutEffect(() => {\n if (typeof onInput === 'function') {\n pickerRef.current.on('change', (picker, value) => {\n onInput(parseColor(value));\n });\n }\n return () => {\n pickerRef.current.off('change');\n };\n }, [onInput]);\n React.useLayoutEffect(() => {\n const nextValue = parseColor(value);\n if (nextValue !== parseColor(pickerRef.current.color)) {\n pickerRef.current.color = nextValue;\n }\n }, [value]);\n return (\n <div ref={pickerElementRef} className={classnames(className, styles['color-picker-container'])} />\n );\n};\n\nColorPicker.propTypes = {\n className: PropTypes.string,\n value: PropTypes.string,\n onInput: PropTypes.func\n};\n\nmodule.exports = ColorPicker;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ColorPicker = require('./ColorPicker');\n\nmodule.exports = ColorPicker;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst { useServices } = require('stremio/services');\nconst LibItem = require('stremio/components/LibItem');\n\nconst ContinueWatchingItem = ({ _id, notifications, deepLinks, ...props }) => {\n const { core } = useServices();\n\n const onClick = React.useCallback(() => {\n if (deepLinks?.metaDetailsVideos ?? deepLinks?.metaDetailsStreams) {\n window.location = deepLinks?.metaDetailsVideos ?? deepLinks?.metaDetailsStreams;\n }\n }, [deepLinks]);\n\n const onPlayClick = React.useCallback((event) => {\n event.stopPropagation();\n if (deepLinks?.player ?? deepLinks?.metaDetailsStreams ?? deepLinks?.metaDetailsVideos) {\n window.location = deepLinks?.player ?? deepLinks?.metaDetailsStreams ?? deepLinks?.metaDetailsVideos;\n }\n }, [deepLinks]);\n\n const onDismissClick = React.useCallback((event) => {\n event.stopPropagation();\n if (typeof _id === 'string') {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RewindLibraryItem',\n args: _id\n }\n });\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'DismissNotificationItem',\n args: _id\n }\n });\n }\n }, [_id]);\n\n return (\n <LibItem\n {...props}\n _id={_id}\n posterChangeCursor={true}\n notifications={notifications}\n onClick={onClick}\n onPlayClick={onPlayClick}\n onDismissClick={onDismissClick}\n />\n );\n};\n\nContinueWatchingItem.propTypes = {\n _id: PropTypes.string,\n notifications: PropTypes.object,\n deepLinks: PropTypes.shape({\n metaDetailsVideos: PropTypes.string,\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n};\n\nmodule.exports = ContinueWatchingItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ContineWatchingItem = require('./ContinueWatchingItem');\n\nmodule.exports = ContineWatchingItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\n\nconst DelayedRenderer = ({ children, delay }) => {\n const [render, setRender] = React.useState(false);\n React.useEffect(() => {\n const timeout = setTimeout(() => {\n setRender(true);\n }, delay);\n return () => {\n clearTimeout(timeout);\n };\n }, []);\n return render ? children : null;\n};\n\nDelayedRenderer.propTypes = {\n children: PropTypes.node,\n delay: PropTypes.number,\n};\n\nmodule.exports = DelayedRenderer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst DelayedRenderer = require('./DelayedRenderer');\n\nmodule.exports = DelayedRenderer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst { default: Button } = require('stremio/components/Button');\nconst ModalDialog = require('stremio/components/ModalDialog');\nconst useEvents = require('./useEvents');\nconst styles = require('./styles');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\n\nconst EventModal = () => {\n const { t } = useTranslation();\n\n const { events, pullEvents, dismissEvent } = useEvents();\n\n const modal = React.useMemo(() => {\n return events?.modal?.type === 'Ready' ?\n events.modal.content\n :\n null;\n }, [events]);\n\n const onClose = React.useCallback(() => {\n modal?.id && dismissEvent(modal.id);\n }, [modal]);\n\n React.useEffect(() => {\n pullEvents();\n }, []);\n\n return (\n modal !== null ?\n <ModalDialog className={styles['event-modal']} onCloseRequest={onClose}>\n {\n modal.imageUrl ?\n <img className={styles['image']} src={modal.imageUrl} />\n :\n null\n }\n <div className={styles['info-container']}>\n <div className={styles['title-container']}>\n {\n modal.title ?\n <div className={styles['title']}>{modal.title}</div>\n :\n null\n }\n {\n modal.message ?\n <div className={styles['label']}>{modal.message}</div>\n :\n null\n }\n </div>\n {\n modal?.addon?.name ?\n <div className={styles['addon-container']}>\n <Icon className={styles['icon']} name={'addons'} />\n <div className={styles['name']}>\n { modal.addon.name }\n </div>\n </div>\n :\n null\n }\n {\n modal?.addon?.manifestUrl ?\n <Button className={styles['action-button']} href={`#/addons?addon=${encodeURIComponent(modal.addon.manifestUrl)}`} onClick={onClose}>\n <div className={styles['button-label']}>\n { t('INSTALL_ADDON') }\n </div>\n </Button>\n :\n modal.externalUrl ?\n <Button className={styles['action-button']} href={modal.externalUrl} target={'_blank'}>\n <div className={styles['button-label']}>\n { t('LEARN_MORE') }\n </div>\n </Button>\n :\n null\n }\n </div>\n </ModalDialog>\n :\n null\n );\n};\n\nmodule.exports = EventModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventModal = require('./EventModal');\n\nmodule.exports = EventModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst useModelState = require('stremio/common/useModelState');\nconst { useServices } = require('stremio/services');\n\nconst map = (ctx) => ({\n ...ctx.events,\n});\n\nconst useEvents = () => {\n const { core } = useServices();\n\n const pullEvents = () => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'GetEvents',\n },\n });\n };\n\n const dismissEvent = (id) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'DismissEvent',\n args: id,\n },\n });\n };\n\n const events = useModelState({ model: 'ctx', map });\n return { events, pullEvents, dismissEvent };\n};\n\nmodule.exports = useEvents;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst PropTypes = require('prop-types');\nconst MetaItem = require('stremio/components/MetaItem');\nconst { t } = require('i18next');\n\nconst LibItem = ({ _id, removable, notifications, watched, ...props }) => {\n\n const { core } = useServices();\n\n const newVideos = React.useMemo(() => {\n const count = notifications.items?.[_id]?.length ?? 0;\n return Math.min(Math.max(count, 0), 99);\n }, [_id, notifications]);\n\n const options = React.useMemo(() => {\n return [\n { label: 'LIBRARY_PLAY', value: 'play' },\n { label: 'LIBRARY_DETAILS', value: 'details' },\n { label: 'LIBRARY_RESUME_DISMISS', value: 'dismiss' },\n { label: watched ? 'CTX_MARK_UNWATCHED' : 'CTX_MARK_WATCHED', value: 'watched' },\n { label: 'LIBRARY_REMOVE', value: 'remove' },\n ].filter(({ value }) => {\n switch (value) {\n case 'play':\n return props.deepLinks && typeof props.deepLinks.player === 'string';\n case 'details':\n return props.deepLinks && (typeof props.deepLinks.metaDetailsVideos === 'string' || typeof props.deepLinks.metaDetailsStreams === 'string');\n case 'watched':\n return props.deepLinks && (typeof props.deepLinks.metaDetailsVideos === 'string' || typeof props.deepLinks.metaDetailsStreams === 'string');\n case 'dismiss':\n return typeof _id === 'string' && props.progress !== null && !isNaN(props.progress) && props.progress > 0;\n case 'remove':\n return typeof _id === 'string' && removable;\n }\n }).map((option) => ({\n ...option,\n label: t(option.label)\n }));\n }, [_id, removable, props.progress, props.deepLinks, watched]);\n\n const optionOnSelect = React.useCallback((event) => {\n if (typeof props.optionOnSelect === 'function') {\n props.optionOnSelect(event);\n }\n\n if (!event.nativeEvent.optionSelectPrevented) {\n switch (event.value) {\n case 'play': {\n if (props.deepLinks && typeof props.deepLinks.player === 'string') {\n window.location = props.deepLinks.player;\n }\n\n break;\n }\n case 'details': {\n if (props.deepLinks) {\n if (typeof props.deepLinks.metaDetailsVideos === 'string') {\n window.location = props.deepLinks.metaDetailsVideos;\n } else if (typeof props.deepLinks.metaDetailsStreams === 'string') {\n window.location = props.deepLinks.metaDetailsStreams;\n }\n }\n\n break;\n }\n case 'watched': {\n if (typeof _id === 'string') {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'LibraryItemMarkAsWatched',\n args: {\n id: _id,\n is_watched: !watched\n }\n }\n });\n }\n\n break;\n }\n case 'dismiss': {\n if (typeof _id === 'string') {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RewindLibraryItem',\n args: _id\n }\n });\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'DismissNotificationItem',\n args: _id\n }\n });\n }\n\n break;\n }\n case 'remove': {\n if (typeof _id === 'string') {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RemoveFromLibrary',\n args: _id\n }\n });\n }\n\n break;\n }\n }\n }\n }, [_id, props.deepLinks, props.optionOnSelect]);\n\n return (\n <MetaItem\n {...props}\n watched={watched}\n newVideos={newVideos}\n options={options}\n optionOnSelect={optionOnSelect}\n />\n );\n};\n\nLibItem.propTypes = {\n _id: PropTypes.string,\n removable: PropTypes.bool,\n progress: PropTypes.number,\n notifications: PropTypes.object,\n watched: PropTypes.bool,\n deepLinks: PropTypes.shape({\n metaDetailsVideos: PropTypes.string,\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n optionOnSelect: PropTypes.func\n};\n\nmodule.exports = LibItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst LibItem = require('./LibItem');\n\nmodule.exports = LibItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst filterInvalidDOMProps = require('filter-invalid-dom-props').default;\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { default: Button } = require('stremio/components/Button');\nconst { default: Image } = require('stremio/components/Image');\nconst Multiselect = require('stremio/components/Multiselect');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst { ICON_FOR_TYPE } = require('stremio/common/CONSTANTS');\nconst styles = require('./styles');\n\nconst MetaItem = React.memo(({ className, type, name, poster, posterShape, posterChangeCursor, progress, newVideos, options, deepLinks, dataset, optionOnSelect, onDismissClick, onPlayClick, watched, ...props }) => {\n const { t } = useTranslation();\n const [menuOpen, onMenuOpen, onMenuClose] = useBinaryState(false);\n const href = React.useMemo(() => {\n return deepLinks ?\n typeof deepLinks.player === 'string' ?\n deepLinks.player\n :\n typeof deepLinks.metaDetailsStreams === 'string' ?\n deepLinks.metaDetailsStreams\n :\n typeof deepLinks.metaDetailsVideos === 'string' ?\n deepLinks.metaDetailsVideos\n :\n null\n :\n null;\n }, [deepLinks]);\n const metaItemOnClick = React.useCallback((event) => {\n if (event.nativeEvent.selectPrevented) {\n event.preventDefault();\n } else if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n }, [props.onClick]);\n const menuOnClick = React.useCallback((event) => {\n event.nativeEvent.selectPrevented = true;\n }, []);\n const menuOnSelect = React.useCallback((event) => {\n if (typeof optionOnSelect === 'function') {\n optionOnSelect({\n type: 'select-option',\n value: event.value,\n dataset: dataset,\n reactEvent: event.reactEvent,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, optionOnSelect]);\n const renderPosterFallback = React.useCallback(() => (\n <Icon\n className={styles['placeholder-icon']}\n name={ICON_FOR_TYPE.has(type) ? ICON_FOR_TYPE.get(type) : ICON_FOR_TYPE.get('other')}\n />\n ), [type]);\n const renderMenuLabelContent = React.useCallback(() => (\n <Icon className={styles['icon']} name={'more-vertical'} />\n ), []);\n return (\n <Button title={name} href={href} {...filterInvalidDOMProps(props)} className={classnames(className, styles['meta-item-container'], styles['poster-shape-poster'], styles[`poster-shape-${posterShape}`], { 'active': menuOpen })} onClick={metaItemOnClick}>\n <div className={classnames(styles['poster-container'], { 'poster-change-cursor': posterChangeCursor })}>\n {\n onDismissClick ?\n <div title={t('LIBRARY_RESUME_DISMISS')} className={styles['dismiss-icon-layer']} onClick={onDismissClick}>\n <Icon className={styles['dismiss-icon']} name={'close'} />\n <div className={styles['dismiss-icon-backdrop']} />\n </div>\n :\n null\n }\n {\n watched ?\n <div className={styles['watched-icon-layer']}>\n <Icon className={styles['watched-icon']} name={'checkmark'} />\n </div>\n :\n null\n }\n <div className={styles['poster-image-layer']}>\n <Image\n className={styles['poster-image']}\n src={poster}\n alt={' '}\n renderFallback={renderPosterFallback}\n />\n </div>\n {\n onPlayClick ?\n <div title={t('CONTINUE_WATCHING')} className={styles['play-icon-layer']} onClick={onPlayClick}>\n <Icon className={styles['play-icon']} name={'play'} />\n <div className={styles['play-icon-outer']} />\n <div className={styles['play-icon-background']} />\n </div>\n :\n null\n }\n {\n progress > 0 ?\n <div className={styles['progress-bar-layer']}>\n <div className={styles['progress-bar']} style={{ width: `${progress}%` }} />\n <div className={styles['progress-bar-background']} />\n </div>\n :\n null\n }\n {\n newVideos > 0 ?\n <div className={styles['new-videos']}>\n <div className={styles['layer']} />\n <div className={styles['layer']} />\n <div className={styles['layer']}>\n <Icon className={styles['icon']} name={'add'} />\n <div className={styles['label']}>\n {newVideos}\n </div>\n </div>\n </div>\n :\n null\n }\n </div>\n {\n (typeof name === 'string' && name.length > 0) || (Array.isArray(options) && options.length > 0) ?\n <div className={styles['title-bar-container']}>\n <div className={styles['title-label']}>\n {typeof name === 'string' && name.length > 0 ? name : ''}\n </div>\n {\n Array.isArray(options) && options.length > 0 ?\n <Multiselect\n className={styles['menu-label-container']}\n renderLabelContent={renderMenuLabelContent}\n options={options}\n onOpen={onMenuOpen}\n onClose={onMenuClose}\n onSelect={menuOnSelect}\n tabIndex={-1}\n onClick={menuOnClick}\n />\n :\n null\n }\n </div>\n :\n null\n }\n </Button>\n );\n});\n\nMetaItem.displayName = 'MetaItem';\n\nMetaItem.propTypes = {\n className: PropTypes.string,\n type: PropTypes.string,\n name: PropTypes.string,\n poster: PropTypes.string,\n posterShape: PropTypes.oneOf(['poster', 'landscape', 'square']),\n posterChangeCursor: PropTypes.bool,\n progress: PropTypes.number,\n newVideos: PropTypes.number,\n options: PropTypes.array,\n deepLinks: PropTypes.shape({\n metaDetailsVideos: PropTypes.string,\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n dataset: PropTypes.object,\n optionOnSelect: PropTypes.func,\n onDismissClick: PropTypes.func,\n onPlayClick: PropTypes.func,\n onClick: PropTypes.func,\n watched: PropTypes.bool\n};\n\nmodule.exports = MetaItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaItem = require('./MetaItem');\n\nmodule.exports = MetaItem;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/components');\nconst styles = require('./styles');\nconst { Tooltip } = require('stremio/common/Tooltips');\n\nconst ActionButton = ({ className, icon, label, tooltip, ...props }) => {\n return (\n <Button title={tooltip ? '' : label} {...props} className={classnames(className, styles['action-button-container'], { 'wide': typeof label === 'string' && !tooltip })}>\n {\n tooltip === true ?\n <Tooltip label={label} position={'top'} />\n :\n null\n }\n {\n typeof icon === 'string' && icon.length > 0 ?\n <div className={styles['icon-container']}>\n <Icon className={styles['icon']} name={icon} />\n </div>\n :\n null\n }\n {\n !tooltip && typeof label === 'string' && label.length > 0 ?\n <div className={styles['label-container']}>\n <div className={styles['label']}>{label}</div>\n </div>\n :\n null\n }\n </Button>\n );\n};\n\nActionButton.propTypes = {\n className: PropTypes.string,\n icon: PropTypes.string,\n label: PropTypes.string,\n tooltip: PropTypes.bool\n};\n\nmodule.exports = ActionButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ActionButton = require('./ActionButton');\n\nmodule.exports = ActionButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { Button } = require('stremio/components');\nconst styles = require('./styles');\n\nconst MetaLinks = ({ className, label, links }) => {\n const { t } = useTranslation();\n return (\n <div className={classnames(className, styles['meta-links-container'])}>\n {\n typeof label === 'string' && label.length > 0 ?\n <div className={styles['label-container']}>\n {t(`LINKS_${label.toUpperCase()}`)}\n </div>\n :\n null\n }\n {\n Array.isArray(links) && links.length > 0 ?\n <div className={styles['links-container']}>\n {links.map(({ label, href }, index) => (\n <Button key={index} className={styles['link-container']} title={label} href={href}>\n { t(label) }\n </Button>\n ))}\n </div>\n :\n null\n }\n </div>\n );\n};\n\nMetaLinks.propTypes = {\n className: PropTypes.string,\n label: PropTypes.string,\n links: PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.string,\n href: PropTypes.string\n }))\n};\n\nmodule.exports = MetaLinks;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaLinks = require('./MetaLinks');\n\nmodule.exports = MetaLinks;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst UrlUtils = require('url');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { default: Button } = require('stremio/components/Button');\nconst { default: Image } = require('stremio/components/Image');\nconst ModalDialog = require('stremio/components/ModalDialog');\nconst SharePrompt = require('stremio/components/SharePrompt');\nconst CONSTANTS = require('stremio/common/CONSTANTS');\nconst routesRegexp = require('stremio/common/routesRegexp');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst ActionButton = require('./ActionButton');\nconst MetaLinks = require('./MetaLinks');\nconst MetaPreviewPlaceholder = require('./MetaPreviewPlaceholder');\nconst styles = require('./styles');\nconst { Ratings } = require('./Ratings');\n\nconst ALLOWED_LINK_REDIRECTS = [\n routesRegexp.search.regexp,\n routesRegexp.discover.regexp,\n routesRegexp.metadetails.regexp\n];\n\nconst MetaPreview = React.forwardRef(({ className, compact, name, logo, background, runtime, releaseInfo, released, description, deepLinks, links, trailerStreams, inLibrary, toggleInLibrary, ratingInfo }, ref) => {\n const { t } = useTranslation();\n const [shareModalOpen, openShareModal, closeShareModal] = useBinaryState(false);\n const linksGroups = React.useMemo(() => {\n return Array.isArray(links) ?\n links\n .filter((link) => link && typeof link.category === 'string' && typeof link.url === 'string')\n .reduce((linksGroups, { category, name, url }) => {\n const { protocol, path, pathname, hostname } = UrlUtils.parse(url);\n if (category === CONSTANTS.IMDB_LINK_CATEGORY) {\n if (hostname === 'imdb.com') {\n linksGroups.set(category, {\n label: name,\n href: `https://www.stremio.com/warning#${encodeURIComponent(url)}`\n });\n }\n } else if (category === CONSTANTS.SHARE_LINK_CATEGORY) {\n linksGroups.set(category, {\n label: name,\n href: url\n });\n } else {\n if (protocol === 'stremio:') {\n if (pathname !== null && ALLOWED_LINK_REDIRECTS.some((regexp) => pathname.match(regexp))) {\n if (!linksGroups.has(category)) {\n linksGroups.set(category, []);\n }\n linksGroups.get(category).push({\n label: name,\n href: `#${path}`\n });\n }\n } else if (typeof hostname === 'string' && hostname.length > 0) {\n if (!linksGroups.has(category)) {\n linksGroups.set(category, []);\n }\n linksGroups.get(category).push({\n label: name,\n href: `https://www.stremio.com/warning#${encodeURIComponent(url)}`\n });\n }\n }\n\n return linksGroups;\n }, new Map())\n :\n new Map();\n }, [links]);\n const showHref = React.useMemo(() => {\n return deepLinks ?\n typeof deepLinks.player === 'string' ?\n deepLinks.player\n :\n typeof deepLinks.metaDetailsStreams === 'string' ?\n deepLinks.metaDetailsStreams\n :\n typeof deepLinks.metaDetailsVideos === 'string' ?\n deepLinks.metaDetailsVideos\n :\n null\n :\n null;\n }, [deepLinks]);\n const trailerHref = React.useMemo(() => {\n if (!Array.isArray(trailerStreams) || trailerStreams.length === 0) {\n return null;\n }\n\n return trailerStreams[0].deepLinks.player;\n }, [trailerStreams]);\n const renderLogoFallback = React.useCallback(() => (\n <div className={styles['logo-placeholder']}>{name}</div>\n ), [name]);\n return (\n <div className={classnames(className, styles['meta-preview-container'], { [styles['compact']]: compact })} ref={ref}>\n {\n typeof background === 'string' && background.length > 0 ?\n <div className={styles['background-image-layer']}>\n <Image className={styles['background-image']} src={background} alt={' '} />\n </div>\n :\n null\n }\n <div className={styles['meta-info-container']}>\n {\n typeof logo === 'string' && logo.length > 0 ?\n <Image\n className={styles['logo']}\n src={logo}\n alt={' '}\n title={name}\n renderFallback={renderLogoFallback}\n />\n :\n renderLogoFallback()\n }\n {\n (typeof releaseInfo === 'string' && releaseInfo.length > 0) || (released instanceof Date && !isNaN(released.getTime())) || (typeof runtime === 'string' && runtime.length > 0) || linksGroups.has(CONSTANTS.IMDB_LINK_CATEGORY) ?\n <div className={styles['runtime-release-info-container']}>\n {\n typeof runtime === 'string' && runtime.length > 0 ?\n <div className={styles['runtime-label']}>{runtime}</div>\n :\n null\n }\n {\n typeof releaseInfo === 'string' && releaseInfo.length > 0 ?\n <div className={styles['release-info-label']}>{releaseInfo}</div>\n :\n released instanceof Date && !isNaN(released.getTime()) ?\n <div className={styles['release-info-label']}>{released.getFullYear()}</div>\n :\n null\n }\n {\n linksGroups.has(CONSTANTS.IMDB_LINK_CATEGORY) ?\n <Button\n className={styles['imdb-button-container']}\n title={linksGroups.get(CONSTANTS.IMDB_LINK_CATEGORY).label}\n href={linksGroups.get(CONSTANTS.IMDB_LINK_CATEGORY).href}\n target={'_blank'}\n {...(compact ? { tabIndex: -1 } : null)}\n >\n <div className={styles['label']}>{linksGroups.get(CONSTANTS.IMDB_LINK_CATEGORY).label}</div>\n <Icon className={styles['icon']} name={'imdb'} />\n </Button>\n :\n null\n }\n </div>\n :\n null\n }\n {\n compact && typeof description === 'string' && description.length > 0 ?\n <div className={styles['description-container']}>\n {description}\n </div>\n :\n null\n }\n {\n Array.from(linksGroups.keys())\n .filter((category) => {\n return category !== CONSTANTS.IMDB_LINK_CATEGORY &&\n category !== CONSTANTS.SHARE_LINK_CATEGORY &&\n category !== CONSTANTS.WRITERS_LINK_CATEGORY;\n })\n .map((category, index) => (\n <MetaLinks\n key={index}\n className={styles['meta-links']}\n label={category}\n links={linksGroups.get(category)}\n />\n ))\n }\n {\n !compact && typeof description === 'string' && description.length > 0 ?\n <div className={styles['description-container']}>\n <div className={styles['label-container']}>\n {t('SUMMARY')}\n </div>\n {description}\n </div>\n :\n null\n }\n </div>\n <div className={styles['action-buttons-container']}>\n {\n typeof toggleInLibrary === 'function' ?\n <ActionButton\n className={styles['action-button']}\n icon={inLibrary ? 'remove-from-library' : 'add-to-library'}\n label={inLibrary ? t('REMOVE_FROM_LIB') : t('ADD_TO_LIB')}\n tooltip={compact}\n tabIndex={compact ? -1 : 0}\n onClick={toggleInLibrary}\n />\n :\n null\n }\n {\n typeof trailerHref === 'string' ?\n <ActionButton\n className={styles['action-button']}\n icon={'trailer'}\n label={t('TRAILER')}\n tabIndex={compact ? -1 : 0}\n href={trailerHref}\n tooltip={compact}\n />\n :\n null\n }\n {\n typeof showHref === 'string' && compact ?\n <ActionButton\n className={classnames(styles['action-button'], styles['show-button'])}\n icon={'play'}\n label={t('SHOW')}\n tabIndex={compact ? -1 : 0}\n href={showHref}\n />\n :\n null\n }\n {\n !compact && ratingInfo !== null ?\n <Ratings\n ratingInfo={ratingInfo}\n className={styles['ratings']}\n />\n :\n null\n }\n {\n linksGroups.has(CONSTANTS.SHARE_LINK_CATEGORY) && !compact ?\n <React.Fragment>\n <ActionButton\n className={styles['action-button']}\n icon={'share'}\n label={t('CTX_SHARE')}\n tooltip={true}\n tabIndex={compact ? -1 : 0}\n onClick={openShareModal}\n />\n {\n shareModalOpen ?\n <ModalDialog title={t('CTX_SHARE')} onCloseRequest={closeShareModal}>\n <SharePrompt\n className={styles['share-prompt']}\n url={linksGroups.get(CONSTANTS.SHARE_LINK_CATEGORY).href}\n />\n </ModalDialog>\n :\n null\n }\n </React.Fragment>\n :\n null\n }\n </div>\n </div>\n );\n});\n\nMetaPreview.Placeholder = MetaPreviewPlaceholder;\n\nMetaPreview.propTypes = {\n className: PropTypes.string,\n compact: PropTypes.bool,\n name: PropTypes.string,\n logo: PropTypes.string,\n background: PropTypes.string,\n runtime: PropTypes.string,\n releaseInfo: PropTypes.string,\n released: PropTypes.instanceOf(Date),\n description: PropTypes.string,\n deepLinks: PropTypes.shape({\n metaDetailsVideos: PropTypes.string,\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n links: PropTypes.arrayOf(PropTypes.shape({\n category: PropTypes.string,\n name: PropTypes.string,\n url: PropTypes.string\n })),\n trailerStreams: PropTypes.array,\n inLibrary: PropTypes.bool,\n toggleInLibrary: PropTypes.func,\n ratingInfo: PropTypes.object,\n};\n\nmodule.exports = MetaPreview;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst styles = require('./styles');\n\nconst MetaPreviewPlaceholder = ({ className }) => {\n return (\n <div className={classnames(className, styles['meta-preview-placeholder-container'])}>\n <div className={styles['meta-info-container']}>\n <div className={styles['logo-container']} />\n <div className={styles['duration-release-info-container']}>\n <div className={styles['duration-container']} />\n <div className={styles['release-info-container']} />\n </div>\n <div className={styles['genres-container']}>\n <div className={styles['genres-header-container']} />\n <div className={styles['genre-label-container']} />\n </div>\n <div className={styles['genres-container']}>\n <div className={styles['genres-header-container']} />\n <div className={styles['genre-label-container']} />\n </div>\n <div className={styles['genres-container']}>\n <div className={styles['genres-header-container']} />\n <div className={styles['genre-label-container']} />\n </div>\n </div>\n <div className={styles['action-buttons-container']} />\n </div>\n );\n};\n\nMetaPreviewPlaceholder.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = MetaPreviewPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaPreviewPlaceholder = require('./MetaPreviewPlaceholder');\n\nmodule.exports = MetaPreviewPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaPreview = require('./MetaPreview');\n\nmodule.exports = MetaPreview;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ReactIs = require('react-is');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/components');\nconst CONSTANTS = require('stremio/common/CONSTANTS');\nconst useTranslate = require('stremio/common/useTranslate');\nconst MetaRowPlaceholder = require('./MetaRowPlaceholder');\nconst styles = require('./styles');\n\nconst MetaRow = ({ className, title, catalog, message, itemComponent, notifications }) => {\n const t = useTranslate();\n\n const catalogTitle = React.useMemo(() => {\n return title ?? t.catalogTitle(catalog);\n }, [title, catalog, t.catalogTitle]);\n\n const items = React.useMemo(() => {\n return catalog?.items ?? catalog?.content?.content;\n }, [catalog]);\n\n const href = React.useMemo(() => {\n return catalog?.deepLinks?.discover ?? catalog?.deepLinks?.library;\n }, [catalog]);\n\n return (\n <div className={classnames(className, styles['meta-row-container'])}>\n <div className={styles['header-container']}>\n {\n typeof catalogTitle === 'string' && catalogTitle.length > 0 ?\n <div className={styles['title-container']} title={catalogTitle}>{catalogTitle}</div>\n :\n null\n }\n {\n href ?\n <Button className={styles['see-all-container']} title={t.string('BUTTON_SEE_ALL')} href={href} tabIndex={-1}>\n <div className={styles['label']}>{ t.string('BUTTON_SEE_ALL') }</div>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </Button>\n :\n null\n }\n </div>\n {\n typeof message === 'string' && message.length > 0 ?\n <div className={styles['message-container']} title={message}>{message}</div>\n :\n <div className={styles['meta-items-container']}>\n {\n ReactIs.isValidElementType(itemComponent) ?\n items.slice(0, CONSTANTS.CATALOG_PREVIEW_SIZE).map((item, index) => {\n return React.createElement(itemComponent, {\n ...item,\n key: index,\n className: classnames(styles['meta-item'], styles['poster-shape-poster'], styles[`poster-shape-${item.posterShape}`]),\n notifications,\n });\n })\n :\n null\n }\n {Array(Math.max(0, CONSTANTS.CATALOG_PREVIEW_SIZE - items.length)).fill(null).map((_, index) => (\n <div key={index} className={classnames(styles['meta-item'], styles['poster-shape-poster'])} />\n ))}\n </div>\n }\n </div>\n );\n};\n\nMetaRow.Placeholder = MetaRowPlaceholder;\n\nMetaRow.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n message: PropTypes.string,\n catalog: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.string,\n addon: PropTypes.shape({\n manifest: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n }),\n }),\n content: PropTypes.shape({\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.shape({\n posterShape: PropTypes.string,\n })),\n ]),\n }),\n items: PropTypes.arrayOf(PropTypes.shape({\n posterShape: PropTypes.string,\n })),\n deepLinks: PropTypes.shape({\n discover: PropTypes.string,\n library: PropTypes.string,\n }),\n }),\n itemComponent: PropTypes.elementType,\n notifications: PropTypes.object,\n};\n\nmodule.exports = MetaRow;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/components');\nconst CONSTANTS = require('stremio/common/CONSTANTS');\nconst styles = require('./styles');\n\nconst MetaRowPlaceholder = ({ className, title, deepLinks }) => {\n const { t } = useTranslation();\n return (\n <div className={classnames(className, styles['meta-row-placeholder-container'])}>\n <div className={styles['header-container']}>\n <div className={styles['title-container']} title={typeof title === 'string' && title.length > 0 ? title : null}>\n {typeof title === 'string' && title.length > 0 ? title : null}\n </div>\n {\n deepLinks && typeof deepLinks.discover === 'string' ?\n <Button className={styles['see-all-container']} title={t('BUTTON_SEE_ALL')} href={deepLinks.discover} tabIndex={-1}>\n <div className={styles['label']}>{ t('BUTTON_SEE_ALL') }</div>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </Button>\n :\n null\n }\n </div>\n <div className={styles['meta-items-container']}>\n {Array(CONSTANTS.CATALOG_PREVIEW_SIZE).fill(null).map((_, index) => (\n <div key={index} className={styles['meta-item']}>\n <div className={styles['poster-container']} />\n <div className={styles['title-bar-container']}>\n <div className={styles['title-label']} />\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nMetaRowPlaceholder.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n deepLinks: PropTypes.shape({\n discover: PropTypes.string\n })\n};\n\nmodule.exports = MetaRowPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaRowPlaceholder = require('./MetaRowPlaceholder');\n\nmodule.exports = MetaRowPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaRow = require('./MetaRow');\n\nmodule.exports = MetaRow;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useRouteFocused, useModalsContainer } = require('stremio-router');\nconst { default: Button } = require('stremio/components/Button');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Modal } = require('stremio-router');\nconst styles = require('./styles');\n\nconst ModalDialog = ({ className, title, buttons, children, dataset, onCloseRequest, background, ...props }) => {\n const { t } = useTranslation();\n const routeFocused = useRouteFocused();\n const modalsContainer = useModalsContainer();\n const modalContainerRef = React.useRef(null);\n const closeButtonOnClick = React.useCallback((event) => {\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'close',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onCloseRequest]);\n const onModalContainerMouseDown = React.useCallback((event) => {\n if (!event.nativeEvent.closeModalDialogPrevented && typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'close',\n dataset: dataset,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [dataset, onCloseRequest]);\n const onModalDialogContainerMouseDown = React.useCallback((event) => {\n event.nativeEvent.closeModalDialogPrevented = true;\n }, []);\n React.useEffect(() => {\n const onKeyDown = (event) => {\n // its `-2` because focus lock render locking divs around its content\n if (event.code === 'Escape' && modalsContainer.childNodes[modalsContainer.childElementCount - 2] === modalContainerRef.current) {\n if (typeof onCloseRequest === 'function') {\n onCloseRequest({\n type: 'close',\n dataset: dataset,\n nativeEvent: event\n });\n }\n }\n };\n if (routeFocused) {\n window.addEventListener('keydown', onKeyDown);\n }\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [routeFocused, dataset, onCloseRequest]);\n return (\n <Modal ref={modalContainerRef} {...props} className={classnames(className, styles['modal-container'])} onMouseDown={onModalContainerMouseDown}>\n <div className={styles['modal-dialog-container']} onMouseDown={onModalDialogContainerMouseDown}>\n <div className={styles['modal-dialog-background']} style={{backgroundImage: `url('${background}')`}} />\n <Button className={styles['close-button-container']} title={t('BUTTON_CLOSE')} onClick={closeButtonOnClick}>\n <Icon className={styles['icon']} name={'close'} />\n </Button>\n <div className={styles['modal-dialog-content']}>\n {\n typeof title === 'string' && title.length > 0 ?\n <div className={styles['title-container']} title={title}>{title}</div>\n :\n null\n }\n <div className={styles['body-container']}>\n {children}\n </div>\n {\n Array.isArray(buttons) && buttons.length > 0 ?\n <div className={styles['buttons-container']}>\n {buttons.map(({ className, label, icon, props }, index) => (\n <Button title={label} {...props} key={index} className={classnames(className, styles['action-button'])}>\n {\n typeof icon === 'string' && icon.length > 0 ?\n <Icon className={styles['icon']} name={icon} />\n :\n null\n }\n {\n typeof label === 'string' && label.length > 0 ?\n <div className={styles['label']}>{label}</div>\n :\n null\n }\n </Button>\n ))}\n </div>\n :\n null\n }\n </div>\n </div>\n </Modal>\n );\n};\n\nModalDialog.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n background: PropTypes.string,\n buttons: PropTypes.arrayOf(PropTypes.shape({\n className: PropTypes.string,\n label: PropTypes.string,\n icon: PropTypes.string,\n props: PropTypes.object\n })),\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node\n ]),\n dataset: PropTypes.object,\n onCloseRequest: PropTypes.func\n};\n\nmodule.exports = ModalDialog;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ModalDialog = require('./ModalDialog');\n\nmodule.exports = ModalDialog;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/components');\nconst Popup = require('stremio/components/Popup');\nconst ModalDialog = require('stremio/components/ModalDialog');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst styles = require('./styles');\n\nconst Multiselect = ({ className, mode, direction, title, disabled, dataset, options, renderLabelContent, renderLabelText, onOpen, onClose, onSelect, ...props }) => {\n const { t } = useTranslation();\n const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);\n const filteredOptions = React.useMemo(() => {\n return Array.isArray(options) ?\n options.filter((option) => {\n return option && (typeof option.value === 'string' || option.value === null);\n })\n :\n [];\n }, [options]);\n const selected = React.useMemo(() => {\n return Array.isArray(props.selected) ?\n props.selected.filter((value) => {\n return typeof value === 'string' || value === null;\n })\n :\n [];\n }, [props.selected]);\n const labelOnClick = React.useCallback((event) => {\n if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n\n if (!event.nativeEvent.toggleMenuPrevented) {\n toggleMenu();\n }\n }, [props.onClick, toggleMenu]);\n const menuOnClick = React.useCallback((event) => {\n event.nativeEvent.toggleMenuPrevented = true;\n }, []);\n const menuOnKeyDown = React.useCallback((event) => {\n event.nativeEvent.buttonClickPrevented = true;\n }, []);\n const optionOnClick = React.useCallback((event) => {\n if (typeof onSelect === 'function') {\n onSelect({\n type: 'select',\n value: event.currentTarget.dataset.value,\n reactEvent: event,\n nativeEvent: event.nativeEvent,\n dataset: dataset\n });\n }\n\n if (!event.nativeEvent.closeMenuPrevented) {\n closeMenu();\n }\n }, [dataset, onSelect]);\n const mountedRef = React.useRef(false);\n React.useLayoutEffect(() => {\n if (mountedRef.current) {\n if (menuOpen) {\n if (typeof onOpen === 'function') {\n onOpen({\n type: 'open',\n dataset: dataset\n });\n }\n } else {\n if (typeof onClose === 'function') {\n onClose({\n type: 'close',\n dataset: dataset\n });\n }\n }\n }\n\n mountedRef.current = true;\n }, [menuOpen]);\n const renderLabel = React.useCallback(({ children, className, ...props }) => (\n <Button {...props} className={classnames(className, styles['label-container'], { 'active': menuOpen })} title={title} disabled={disabled} onClick={labelOnClick}>\n {\n typeof renderLabelContent === 'function' ?\n renderLabelContent()\n :\n <React.Fragment>\n <div className={styles['label']}>\n {\n typeof renderLabelText === 'function' ?\n renderLabelText()\n :\n selected.length > 0 ?\n selected.map((value) => {\n const option = filteredOptions.find((option) => option.value === value);\n return option && typeof option.label === 'string' ?\n option.label\n :\n value;\n }).join(', ')\n :\n title\n }\n </div>\n <Icon className={styles['icon']} name={'caret-down'} />\n </React.Fragment>\n }\n {children}\n </Button>\n ), [menuOpen, title, disabled, filteredOptions, selected, labelOnClick, renderLabelContent, renderLabelText]);\n const renderMenu = React.useCallback(() => (\n <div className={styles['menu-container']} onKeyDown={menuOnKeyDown} onClick={menuOnClick}>\n {\n filteredOptions.length > 0 ?\n filteredOptions.map(({ label, title, value }) => (\n <Button key={value} className={classnames(styles['option-container'], { 'selected': selected.includes(value) })} title={typeof title === 'string' ? title : typeof label === 'string' ? label : value} data-value={value} onClick={optionOnClick}>\n <div className={styles['label']}>{typeof label === 'string' ? label : value}</div>\n <div className={styles['icon']} />\n </Button>\n ))\n :\n <div className={styles['no-options-container']}>\n <div className={styles['label']}>{t('NO_OPTIONS')}</div>\n </div>\n }\n </div>\n ), [filteredOptions, selected, menuOnKeyDown, menuOnClick, optionOnClick]);\n const renderPopupLabel = React.useMemo(() => (labelProps) => {\n return renderLabel({\n ...labelProps,\n ...props,\n className: classnames(className, labelProps.className)\n });\n }, [props, className, renderLabel]);\n return mode === 'modal' ?\n renderLabel({\n ...props,\n className,\n children: menuOpen ?\n <ModalDialog className={styles['modal-container']} title={title} onCloseRequest={closeMenu} onKeyDown={menuOnKeyDown} onClick={menuOnClick}>\n {renderMenu()}\n </ModalDialog>\n :\n null\n })\n :\n <Popup\n open={menuOpen}\n direction={direction}\n onCloseRequest={closeMenu}\n renderLabel={renderPopupLabel}\n renderMenu={renderMenu}\n />;\n};\n\nMultiselect.propTypes = {\n className: PropTypes.string,\n mode: PropTypes.oneOf(['popup', 'modal']),\n direction: PropTypes.any,\n title: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.shape({\n value: PropTypes.string,\n title: PropTypes.string,\n label: PropTypes.string\n })),\n selected: PropTypes.arrayOf(PropTypes.string),\n disabled: PropTypes.bool,\n dataset: PropTypes.object,\n renderLabelContent: PropTypes.func,\n renderLabelText: PropTypes.func,\n onOpen: PropTypes.func,\n onClose: PropTypes.func,\n onSelect: PropTypes.func,\n onClick: PropTypes.func\n};\n\nmodule.exports = Multiselect;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Multiselect = require('./Multiselect');\n\nmodule.exports = Multiselect;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, Image } = require('stremio/components');\nconst { default: useFullscreen } = require('stremio/common/useFullscreen');\nconst usePWA = require('stremio/common/usePWA');\nconst SearchBar = require('./SearchBar');\nconst NavMenu = require('./NavMenu');\nconst styles = require('./styles');\nconst { t } = require('i18next');\n\nconst HorizontalNavBar = React.memo(({ className, route, query, title, backButton, searchBar, fullscreenButton, navMenu, ...props }) => {\n const backButtonOnClick = React.useCallback(() => {\n window.history.back();\n }, []);\n const [fullscreen, requestFullscreen, exitFullscreen] = useFullscreen();\n const [isIOSPWA] = usePWA();\n const renderNavMenuLabel = React.useCallback(({ ref, className, onClick, children, }) => (\n <Button ref={ref} className={classnames(className, styles['button-container'], styles['menu-button-container'])} tabIndex={-1} onClick={onClick}>\n <Icon className={styles['icon']} name={'person-outline'} />\n {children}\n </Button>\n ), []);\n return (\n <nav {...props} className={classnames(className, styles['horizontal-nav-bar-container'])}>\n {\n backButton ?\n <Button className={classnames(styles['button-container'], styles['back-button-container'])} tabIndex={-1} onClick={backButtonOnClick}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n </Button>\n :\n <div className={styles['logo-container']}>\n <Image\n className={styles['logo']}\n src={require('/images/stremio_symbol.png')}\n alt={' '}\n />\n </div>\n }\n {\n typeof title === 'string' && title.length > 0 ?\n <h2 className={styles['title']}>{title}</h2>\n :\n null\n }\n {\n searchBar && route !== 'addons' ?\n <SearchBar className={styles['search-bar']} query={query} active={route === 'search'} />\n :\n null\n }\n <div className={styles['buttons-container']}>\n {\n !isIOSPWA && fullscreenButton ?\n <Button className={styles['button-container']} title={fullscreen ? t('EXIT_FULLSCREEN') : t('ENTER_FULLSCREEN')} tabIndex={-1} onClick={fullscreen ? exitFullscreen : requestFullscreen}>\n <Icon className={styles['icon']} name={fullscreen ? 'minimize' : 'maximize'} />\n </Button>\n :\n null\n }\n {\n navMenu ?\n <NavMenu renderLabel={renderNavMenuLabel} />\n :\n null\n }\n </div>\n </nav>\n );\n});\n\nHorizontalNavBar.displayName = 'HorizontalNavBar';\n\nHorizontalNavBar.propTypes = {\n className: PropTypes.string,\n route: PropTypes.string,\n query: PropTypes.string,\n title: PropTypes.string,\n backButton: PropTypes.bool,\n searchBar: PropTypes.bool,\n fullscreenButton: PropTypes.bool,\n navMenu: PropTypes.bool\n};\n\nmodule.exports = HorizontalNavBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useRouteFocused } = require('stremio-router');\nconst Popup = require('stremio/components/Popup');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst NavMenuContent = require('./NavMenuContent');\nconst styles = require('./styles.less');\n\nconst NavMenu = (props) => {\n const routeFocused = useRouteFocused();\n const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);\n const popupLabelOnClick = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented) {\n toggleMenu();\n }\n }, [toggleMenu]);\n const popupMenuOnClick = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const renderLabel = React.useMemo(() => ({ ref, className, children }) => (\n props.renderLabel({\n ref,\n className: classnames(className, { 'active': menuOpen }),\n onClick: popupLabelOnClick,\n children,\n })\n ), [menuOpen, popupLabelOnClick, props.renderLabel]);\n const renderMenu = React.useCallback(() => (\n <NavMenuContent onClick={popupMenuOnClick} />\n ), []);\n React.useEffect(() => {\n if (!routeFocused) {\n closeMenu();\n }\n }, [routeFocused]);\n return (\n <Popup\n open={menuOpen}\n direction={'bottom-left'}\n onCloseRequest={closeMenu}\n renderLabel={renderLabel}\n renderMenu={renderMenu}\n className={styles['nav-menu-popup-label']}\n />\n );\n};\n\nNavMenu.propTypes = {\n renderLabel: PropTypes.func\n};\n\nmodule.exports = NavMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useServices } = require('stremio/services');\nconst { Button } = require('stremio/components');\nconst { default: useFullscreen } = require('stremio/common/useFullscreen');\nconst useProfile = require('stremio/common/useProfile');\nconst usePWA = require('stremio/common/usePWA');\nconst useTorrent = require('stremio/common/useTorrent');\nconst { withCoreSuspender } = require('stremio/common/CoreSuspender');\nconst useStreamingServer = require('stremio/common/useStreamingServer');\nconst styles = require('./styles');\n\nconst NavMenuContent = ({ onClick }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const profile = useProfile();\n const streamingServer = useStreamingServer();\n const { createTorrentFromMagnet } = useTorrent();\n const [fullscreen, requestFullscreen, exitFullscreen] = useFullscreen();\n const [isIOSPWA, isAndroidPWA] = usePWA();\n const streamingServerWarningDismissed = React.useMemo(() => {\n return streamingServer.settings !== null && streamingServer.settings.type === 'Ready' || (\n !isNaN(profile.settings.streamingServerWarningDismissed.getTime()) &&\n profile.settings.streamingServerWarningDismissed.getTime() > Date.now()\n );\n }, [profile.settings, streamingServer.settings]);\n const logoutButtonOnClick = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Logout'\n }\n });\n }, []);\n const onPlayMagnetLinkClick = React.useCallback(async () => {\n try {\n const clipboardText = await navigator.clipboard.readText();\n createTorrentFromMagnet(clipboardText);\n } catch(e) {\n console.error(e);\n }\n }, []);\n return (\n <div className={classnames(styles['nav-menu-container'], 'animation-fade-in', { [styles['with-warning']]: !streamingServerWarningDismissed } )} onClick={onClick}>\n <div className={styles['user-info-container']}>\n <div\n className={styles['avatar-container']}\n style={{\n backgroundImage: profile.auth === null ?\n `url('${require('/images/anonymous.png')}')`\n :\n profile.auth.user.avatar ?\n `url('${profile.auth.user.avatar}')`\n :\n `url('${require('/images/default_avatar.png')}')`\n }}\n />\n <div className={styles['user-info-details']}>\n <div className={styles['email-container']}>\n <div className={styles['email-label']}>{profile.auth === null ? t('ANONYMOUS_USER') : profile.auth.user.email}</div>\n </div>\n <Button className={styles['logout-button-container']} title={profile.auth === null ? `${t('LOG_IN')} / ${t('SIGN_UP')}` : t('LOG_OUT')} href={profile.auth === null ? '#/intro' : null} onClick={profile.auth !== null ? logoutButtonOnClick : null}>\n <div className={styles['logout-label']}>{profile.auth === null ? `${t('LOG_IN')} / ${t('SIGN_UP')}` : t('LOG_OUT')}</div>\n </Button>\n </div>\n </div>\n {\n !isIOSPWA && !isAndroidPWA ?\n <div className={styles['nav-menu-section']}>\n <Button className={styles['nav-menu-option-container']} title={fullscreen ? t('EXIT_FULLSCREEN') : t('ENTER_FULLSCREEN')} onClick={fullscreen ? exitFullscreen : requestFullscreen}>\n <Icon className={styles['icon']} name={fullscreen ? 'minimize' : 'maximize'} />\n <div className={styles['nav-menu-option-label']}>{fullscreen ? t('EXIT_FULLSCREEN') : t('ENTER_FULLSCREEN')}</div>\n </Button>\n </div>\n :\n null\n }\n <div className={styles['nav-menu-section']}>\n <Button className={styles['nav-menu-option-container']} title={ t('SETTINGS') } href={'#/settings'}>\n <Icon className={styles['icon']} name={'settings'} />\n <div className={styles['nav-menu-option-label']}>{ t('SETTINGS') }</div>\n </Button>\n <Button className={styles['nav-menu-option-container']} title={ t('ADDONS') } href={'#/addons'}>\n <Icon className={styles['icon']} name={'addons-outline'} />\n <div className={styles['nav-menu-option-label']}>{ t('ADDONS') }</div>\n </Button>\n <Button className={styles['nav-menu-option-container']} title={ t('PLAY_URL_MAGNET_LINK') } onClick={onPlayMagnetLinkClick}>\n <Icon className={styles['icon']} name={'magnet-link'} />\n <div className={styles['nav-menu-option-label']}>{ t('PLAY_URL_MAGNET_LINK') }</div>\n </Button>\n <Button className={styles['nav-menu-option-container']} title={ t('HELP_FEEDBACK') } href={'https://stremio.zendesk.com/'} target={'_blank'}>\n <Icon className={styles['icon']} name={'help'} />\n <div className={styles['nav-menu-option-label']}>{ t('HELP_FEEDBACK') }</div>\n </Button>\n </div>\n <div className={styles['nav-menu-section']}>\n <Button className={styles['nav-menu-option-container']} title={ t('TERMS_OF_SERVICE') } href={'https://www.stremio.com/tos'} target={'_blank'}>\n <div className={styles['nav-menu-option-label']}>{ t('TERMS_OF_SERVICE') }</div>\n </Button>\n <Button className={styles['nav-menu-option-container']} title={ t('PRIVACY_POLICY') } href={'https://www.stremio.com/privacy'} target={'_blank'}>\n <div className={styles['nav-menu-option-label']}>{ t('PRIVACY_POLICY') }</div>\n </Button>\n {\n profile.auth !== null ?\n <Button className={styles['nav-menu-option-container']} title={ t('USER_PANEL') } href={'https://www.stremio.com/acc-settings'} target={'_blank'}>\n <div className={styles['nav-menu-option-label']}>{ t('USER_PANEL') }</div>\n </Button>\n :\n null\n }\n </div>\n </div>\n );\n};\n\nNavMenuContent.propTypes = {\n onClick: PropTypes.func\n};\n\nconst NavMenuContentFallback = () => (\n <div className={styles['nav-menu-container']} />\n);\n\nmodule.exports = withCoreSuspender(NavMenuContent, NavMenuContentFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst NavMenu = require('./NavMenu');\n\nmodule.exports = NavMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useRouteFocused } = require('stremio-router');\nconst Button = require('stremio/components/Button').default;\nconst TextInput = require('stremio/components/TextInput').default;\nconst useTorrent = require('stremio/common/useTorrent');\nconst { withCoreSuspender } = require('stremio/common/CoreSuspender');\nconst useSearchHistory = require('./useSearchHistory');\nconst useLocalSearch = require('./useLocalSearch');\nconst styles = require('./styles');\nconst useBinaryState = require('stremio/common/useBinaryState');\n\nconst SearchBar = React.memo(({ className, query, active }) => {\n const { t } = useTranslation();\n const routeFocused = useRouteFocused();\n const searchHistory = useSearchHistory();\n const localSearch = useLocalSearch();\n const { createTorrentFromMagnet } = useTorrent();\n\n const [historyOpen, openHistory, closeHistory, ] = useBinaryState(query === null ? true : false);\n const [currentQuery, setCurrentQuery] = React.useState(query || '');\n\n const searchInputRef = React.useRef(null);\n const containerRef = React.useRef(null);\n\n const searchBarOnClick = React.useCallback(() => {\n if (!active) {\n window.location = '#/search';\n }\n }, [active]);\n\n const searchHistoryOnClose = React.useCallback((event) => {\n if (historyOpen && containerRef.current && !containerRef.current.contains(event.target)) {\n closeHistory();\n }\n }, [historyOpen]);\n\n React.useEffect(() => {\n document.addEventListener('mousedown', searchHistoryOnClose);\n return () => {\n document.removeEventListener('mousedown', searchHistoryOnClose);\n };\n }, [searchHistoryOnClose]);\n\n const queryInputOnChange = React.useCallback(() => {\n const value = searchInputRef.current.value;\n setCurrentQuery(value);\n openHistory();\n try {\n createTorrentFromMagnet(value);\n } catch (error) {\n console.error('Failed to create torrent from magnet:', error);\n }\n }, [createTorrentFromMagnet]);\n\n const queryInputOnSubmit = React.useCallback((event) => {\n event.preventDefault();\n const searchValue = `/search?search=${encodeURIComponent(event.target.value)}`;\n setCurrentQuery(searchValue);\n if (searchInputRef.current && searchValue) {\n window.location.hash = searchValue;\n closeHistory();\n }\n }, []);\n\n const queryInputClear = React.useCallback(() => {\n searchInputRef.current.value = '';\n setCurrentQuery('');\n window.location.hash = '/search';\n }, []);\n\n const updateLocalSearchDebounced = React.useCallback(debounce((query) => {\n localSearch.search(query);\n }, 250), []);\n\n React.useEffect(() => {\n updateLocalSearchDebounced(currentQuery);\n }, [currentQuery]);\n\n React.useEffect(() => {\n if (routeFocused && active) {\n searchInputRef.current.focus();\n }\n }, [routeFocused, active]);\n\n React.useEffect(() => {\n return () => {\n updateLocalSearchDebounced.cancel();\n };\n }, []);\n\n return (\n <div className={classnames(className, styles['search-bar-container'], { 'active': active })} onClick={searchBarOnClick} ref={containerRef}>\n {\n active ?\n <TextInput\n key={query}\n ref={searchInputRef}\n className={styles['search-input']}\n type={'text'}\n placeholder={t('SEARCH_OR_PASTE_LINK')}\n defaultValue={query}\n tabIndex={-1}\n onChange={queryInputOnChange}\n onSubmit={queryInputOnSubmit}\n onClick={openHistory}\n />\n :\n <div className={styles['search-input']}>\n <div className={styles['placeholder-label']}>{ t('SEARCH_OR_PASTE_LINK') }</div>\n </div>\n }\n {\n currentQuery.length > 0 ?\n <Button className={styles['submit-button-container']} onClick={queryInputClear}>\n <Icon className={styles['icon']} name={'close'} />\n </Button>\n :\n <Button className={styles['submit-button-container']}>\n <Icon className={styles['icon']} name={'search'} />\n </Button>\n }\n {\n historyOpen && (searchHistory?.items?.length || localSearch?.items?.length) ?\n <div className={styles['menu-container']}>\n {\n searchHistory?.items?.length > 0 ?\n <div className={styles['items']}>\n <div className={styles['title']}>\n <div className={styles['label']}>{ t('STREMIO_TV_SEARCH_HISTORY_TITLE') }</div>\n <button className={styles['search-history-clear']} onClick={searchHistory.clear}>\n { t('CLEAR_HISTORY') }\n </button>\n </div>\n {\n searchHistory.items.slice(0, 8).map(({ query, deepLinks }, index) => (\n <Button key={index} className={styles['item']} href={deepLinks.search} onClick={closeHistory}>\n {query}\n </Button>\n ))\n }\n </div>\n :\n null\n }\n {\n localSearch?.items?.length ?\n <div className={styles['items']}>\n <div className={styles['title']}>\n <div className={styles['label']}>{ t('SEARCH_SUGGESTIONS') }</div>\n </div>\n {\n localSearch.items.map(({ query, deepLinks }, index) => (\n <Button key={index} className={styles['item']} href={deepLinks.search} onClick={closeHistory}>\n {query}\n </Button>\n ))\n }\n </div>\n :\n null\n }\n </div>\n :\n null\n }\n </div>\n );\n});\n\nSearchBar.displayName = 'SearchBar';\n\nSearchBar.propTypes = {\n className: PropTypes.string,\n query: PropTypes.string,\n active: PropTypes.bool\n};\n\nconst SearchBarFallback = ({ className }) => {\n const { t } = useTranslation();\n return (\n <label className={classnames(className, styles['search-bar-container'])}>\n <div className={styles['search-input']}>\n <div className={styles['placeholder-label']}>{ t('SEARCH_OR_PASTE_LINK') }</div>\n </div>\n <Button className={styles['submit-button-container']} tabIndex={-1}>\n <Icon className={styles['icon']} name={'search'} />\n </Button>\n </label>\n );\n};\n\nSearchBarFallback.propTypes = SearchBar.propTypes;\n\nmodule.exports = withCoreSuspender(SearchBar, SearchBarFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SearchBar = require('./SearchBar');\n\nmodule.exports = SearchBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst useModelState = require('stremio/common/useModelState');\n\nconst useLocalSearch = () => {\n const { core } = useServices();\n\n const action = React.useMemo(() => ({\n action: 'Load',\n args: {\n model: 'LocalSearch',\n }\n }), []);\n\n const { items } = useModelState({ model: 'local_search', action });\n\n const search = React.useCallback((query) => {\n core.transport.dispatch({\n action: 'Search',\n args: {\n action: 'Search',\n args: {\n searchQuery: query,\n maxResults: 5\n }\n },\n });\n }, []);\n\n return {\n items,\n search,\n };\n};\n\nmodule.exports = useLocalSearch;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst useModelState = require('stremio/common/useModelState');\nconst { useServices } = require('stremio/services');\n\nconst useSearchHistory = () => {\n const { core } = useServices();\n const { searchHistory: items } = useModelState({ model: 'ctx' });\n\n const clear = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'ClearSearchHistory',\n },\n });\n }, []);\n\n return {\n items,\n clear,\n };\n};\n\nmodule.exports = useSearchHistory;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst HorizontalNavBar = require('./HorizontalNavBar');\n\nmodule.exports = HorizontalNavBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, Image } = require('stremio/components');\nconst styles = require('./styles');\n\nconst NavTabButton = ({ className, logo, icon, label, href, selected, onClick }) => {\n const renderLogoFallback = React.useCallback(() => (\n typeof icon === 'string' && icon.length > 0 ?\n <Icon className={styles['icon']} name={icon} />\n :\n null\n ), [icon]);\n const onDoubleClick = () => {\n const scrollableElements = document.querySelectorAll('div');\n\n scrollableElements.forEach((element) => {\n if (element.scrollTop > 0) {\n element.scrollTo({ top: 0, behavior: 'smooth' });\n }\n });\n };\n return (\n <Button className={classnames(className, styles['nav-tab-button-container'], { 'selected': selected })} title={label} tabIndex={-1} href={href} onClick={onClick} onDoubleClick={onDoubleClick}>\n {\n typeof logo === 'string' && logo.length > 0 ?\n <Image\n className={styles['logo']}\n src={logo}\n alt={' '}\n renderFallback={renderLogoFallback}\n />\n :\n typeof icon === 'string' && icon.length > 0 ?\n <Icon className={styles['icon']} name={selected ? icon : `${icon}-outline`} />\n :\n null\n }\n {\n typeof label === 'string' && label.length > 0 ?\n <div className={styles['label']}>{label}</div>\n :\n null\n }\n </Button>\n );\n};\n\nNavTabButton.propTypes = {\n className: PropTypes.string,\n logo: PropTypes.string,\n icon: PropTypes.string,\n label: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func\n};\n\nmodule.exports = NavTabButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst NavTabButton = require('./NavTabButton');\n\nmodule.exports = NavTabButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst NavTabButton = require('./NavTabButton');\nconst styles = require('./styles');\n\nconst VerticalNavBar = React.memo(({ className, selected, tabs }) => {\n const { t } = useTranslation();\n return (\n <nav className={classnames(className, styles['vertical-nav-bar-container'])}>\n {\n Array.isArray(tabs) ?\n tabs.map((tab, index) => (\n <NavTabButton\n key={index}\n className={styles['nav-tab-button']}\n selected={tab.id === selected}\n href={tab.href}\n logo={tab.logo}\n icon={tab.icon}\n label={t(tab.label)}\n onClick={tab.onClick}\n />\n ))\n :\n null\n }\n </nav>\n );\n});\n\nVerticalNavBar.displayName = 'VerticalNavBar';\n\nVerticalNavBar.propTypes = {\n className: PropTypes.string,\n selected: PropTypes.string,\n tabs: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n logo: PropTypes.string,\n icon: PropTypes.string,\n href: PropTypes.string,\n onClick: PropTypes.func\n }))\n};\n\nmodule.exports = VerticalNavBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VerticalNavBar = require('./VerticalNavBar');\n\nmodule.exports = VerticalNavBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst HorizontalNavBar = require('./HorizontalNavBar');\nconst VerticalNavBar = require('./VerticalNavBar');\n\nmodule.exports = {\n HorizontalNavBar,\n VerticalNavBar\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst FocusLock = require('react-focus-lock').default;\nconst { useRouteFocused } = require('stremio-router');\nconst styles = require('./styles');\n\nconst getAnchorElement = (element) => {\n if (element === document.documentElement) {\n return element;\n }\n\n const style = window.getComputedStyle(element);\n if (style.overflowY.indexOf('auto') !== -1 || style.overflowY.indexOf('scroll') !== -1) {\n return element;\n }\n\n return getAnchorElement(element.parentElement);\n};\n\nconst Popup = ({ open, direction, renderLabel, renderMenu, dataset, onCloseRequest, ...props }) => {\n const routeFocused = useRouteFocused();\n const labelRef = React.useRef(null);\n const menuRef = React.useRef(null);\n const [autoDirection, setAutoDirection] = React.useState(null);\n const menuOnMouseDown = React.useCallback((event) => {\n event.nativeEvent.closePopupPrevented = true;\n }, []);\n React.useEffect(() => {\n const onCloseEvent = (event) => {\n if (!event.closePopupPrevented && typeof onCloseRequest === 'function') {\n const closeEvent = {\n type: 'close',\n nativeEvent: event,\n dataset: dataset\n };\n switch (event.type) {\n case 'keydown':\n if (event.code === 'Escape') {\n onCloseRequest(closeEvent);\n }\n break;\n case 'mousedown':\n if (event.target !== document.documentElement && !labelRef.current.contains(event.target)) {\n onCloseRequest(closeEvent);\n }\n break;\n case 'pointerdown':\n if (event.target !== document.documentElement && !labelRef.current.contains(event.target)) {\n onCloseRequest(closeEvent);\n }\n break;\n }\n }\n };\n if (routeFocused && open) {\n window.addEventListener('keydown', onCloseEvent);\n window.addEventListener('mousedown', onCloseEvent);\n window.addEventListener('pointerdown', onCloseEvent);\n }\n return () => {\n window.removeEventListener('keydown', onCloseEvent);\n window.removeEventListener('mousedown', onCloseEvent);\n window.removeEventListener('pointerdown', onCloseEvent);\n };\n }, [routeFocused, open, onCloseRequest, dataset]);\n React.useLayoutEffect(() => {\n if (open) {\n const autoDirection = [];\n const anchor = getAnchorElement(labelRef.current);\n const anchorRect = anchor.getBoundingClientRect();\n\n const labelRect = labelRef.current.getBoundingClientRect();\n const menuRect = menuRef.current.getBoundingClientRect();\n const labelPosition = {\n left: labelRect.left - anchorRect.left,\n top: labelRect.top - anchorRect.top,\n right: (anchorRect.width + anchorRect.left) - (labelRect.left + labelRect.width),\n bottom: (anchorRect.height + anchorRect.top) - (labelRect.top + labelRect.height)\n };\n\n if (menuRect.height <= labelPosition.bottom) {\n autoDirection.push('bottom');\n } else if (menuRect.height <= labelPosition.top) {\n autoDirection.push('top');\n } else if (labelPosition.bottom >= labelPosition.top) {\n autoDirection.push('bottom');\n } else {\n autoDirection.push('top');\n }\n\n if (menuRect.width <= (labelPosition.right + labelRect.width)) {\n autoDirection.push('right');\n } else if (menuRect.width <= (labelPosition.left + labelRect.width)) {\n autoDirection.push('left');\n } else if (labelPosition.right > labelPosition.left) {\n autoDirection.push('right');\n } else {\n autoDirection.push('left');\n }\n\n setAutoDirection(autoDirection.join('-'));\n } else {\n setAutoDirection(null);\n }\n }, [open]);\n return renderLabel({\n ...props,\n ref: labelRef,\n className: classnames(styles['label-container'], props.className, { 'active': open }),\n children: open ?\n <FocusLock ref={menuRef} className={classnames(styles['menu-container'], { [styles[`menu-direction-${autoDirection}`]]: !direction }, { [styles[`menu-direction-${direction}`]]: direction })} autoFocus={false} lockProps={{ onMouseDown: menuOnMouseDown }}>\n {renderMenu()}\n </FocusLock>\n :\n null\n });\n};\n\nPopup.propTypes = {\n open: PropTypes.bool,\n direction: PropTypes.oneOf(['top-left', 'bottom-left', 'top-right', 'bottom-right']),\n renderLabel: PropTypes.func.isRequired,\n renderMenu: PropTypes.func.isRequired,\n dataset: PropTypes.object,\n onCloseRequest: PropTypes.func\n};\n\nmodule.exports = Popup;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Popup = require('./Popup');\n\nmodule.exports = Popup;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { default: TextInput } = require('stremio/components/TextInput');\nconst SearchBarPlaceholder = require('./SearchBarPlaceholder');\nconst styles = require('./styles');\n\nconst SearchBar = ({ className, title, value, onChange }) => {\n return (\n <label title={title} className={classnames(className, styles['search-bar-container'])}>\n <TextInput\n className={styles['search-input']}\n type={'text'}\n placeholder={title}\n value={value}\n onChange={onChange}\n />\n <Icon className={styles['icon']} name={'search'} />\n </label>\n );\n};\n\nSearchBar.Placeholder = SearchBarPlaceholder;\n\nSearchBar.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func\n};\n\nmodule.exports = SearchBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst styles = require('./styles');\n\nconst SearchBarPlaceholder = ({ className, title }) => {\n return (\n <div className={classnames(className, styles['search-bar-container'])}>\n <div className={styles['search-input']}>{title}</div>\n <Icon className={styles['icon']} name={'search'} />\n </div>\n );\n};\n\nSearchBarPlaceholder.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string\n};\n\nmodule.exports = SearchBarPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SearchBarPlaceholder = require('./SearchBarPlaceholder');\n\nmodule.exports = SearchBarPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SearchBar = require('./SearchBar');\n\nmodule.exports = SearchBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\nconst { Button } = require('stremio/components');\nconst { default: TextInput } = require('stremio/components/TextInput');\nconst useToast = require('stremio/common/Toast/useToast');\nconst styles = require('./styles');\n\nconst SharePrompt = ({ className, url }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const toast = useToast();\n const inputRef = React.useRef(null);\n const routeFocused = useRouteFocused();\n const selectInputContent = React.useCallback(() => {\n if (inputRef.current !== null) {\n inputRef.current.select();\n }\n }, []);\n const copyToClipboard = React.useCallback(() => {\n if (inputRef.current !== null) {\n inputRef.current.select();\n document.execCommand('copy');\n toast.show({\n type: 'success',\n title: 'Copied to clipboard',\n timeout: 3000,\n });\n }\n }, []);\n React.useEffect(() => {\n if (routeFocused && inputRef.current !== null) {\n inputRef.current.select();\n }\n }, [routeFocused]);\n React.useEffect(() => {\n core.transport.analytics({\n event: 'Share',\n args: {\n url: url\n }\n });\n }, [url]);\n return (\n <div className={classnames(className, styles['share-prompt-container'])}>\n <div className={styles['buttons-container']}>\n <Button className={classnames(styles['button-container'], styles['facebook-button'])} title={'Facebook'} href={`https://www.facebook.com/sharer/sharer.php?u=${url}`} target={'_blank'}>\n <Icon className={styles['icon']} name={'facebook'} />\n </Button>\n <Button className={classnames(styles['button-container'], styles['x-button'])} title={'X (Twitter)'} href={`https://twitter.com/intent/tweet?text=${url}`} target={'_blank'}>\n <Icon className={styles['icon']} name={'x'} />\n </Button>\n <Button className={classnames(styles['button-container'], styles['reddit-button'])} title={'Reddit'} href={`https://www.reddit.com/submit?url=${url}`} target={'_blank'}>\n <Icon className={styles['icon']} name={'reddit'} />\n </Button>\n </div>\n <div className={styles['url-container']}>\n <TextInput\n ref={inputRef}\n className={styles['url-text-input']}\n type={'text'}\n readOnly={true}\n defaultValue={url}\n onClick={selectInputContent}\n tabIndex={-1}\n />\n <Button className={styles['copy-button']} title={t('CTX_COPY_TO_CLIPBOARD')} onClick={copyToClipboard}>\n <Icon className={styles['icon']} name={'link'} />\n <div className={styles['label']}>{ t('COPY') }</div>\n </Button>\n </div>\n </div>\n );\n};\n\nSharePrompt.propTypes = {\n className: PropTypes.string,\n url: PropTypes.string\n};\n\nmodule.exports = SharePrompt;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SharePrompt = require('./SharePrompt');\n\nmodule.exports = SharePrompt;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useRouteFocused } = require('stremio-router');\nconst useAnimationFrame = require('stremio/common/useAnimationFrame');\nconst useLiveRef = require('stremio/common/useLiveRef');\nconst styles = require('./styles');\n\nconst Slider = ({ className, value, buffered, minimumValue, maximumValue, disabled, onSlide, onComplete, audioBoost }) => {\n const minimumValueRef = useLiveRef(minimumValue !== null && !isNaN(minimumValue) ? minimumValue : 0);\n const maximumValueRef = useLiveRef(maximumValue !== null && !isNaN(maximumValue) ? maximumValue : 100);\n const valueRef = useLiveRef(value !== null && !isNaN(value) ? Math.min(maximumValueRef.current, Math.max(minimumValueRef.current, value)) : 0);\n const bufferedRef = useLiveRef(buffered !== null && !isNaN(buffered) ? Math.min(maximumValueRef.current, Math.max(minimumValueRef.current, buffered)) : 0);\n const onSlideRef = useLiveRef(onSlide);\n const onCompleteRef = useLiveRef(onComplete);\n const sliderContainerRef = React.useRef(null);\n const routeFocused = useRouteFocused();\n const [requestThumbAnimation, cancelThumbAnimation] = useAnimationFrame();\n const calculateValueForMouseX = React.useCallback((mouseX) => {\n if (sliderContainerRef.current === null) {\n return 0;\n }\n\n const { x: sliderX, width: sliderWidth } = sliderContainerRef.current.getBoundingClientRect();\n const thumbStart = Math.min(Math.max(mouseX - sliderX, 0), sliderWidth);\n const value = (thumbStart / sliderWidth) * (maximumValueRef.current - minimumValueRef.current) + minimumValueRef.current;\n return value;\n }, []);\n const retainThumb = React.useCallback(() => {\n window.addEventListener('blur', onBlur);\n window.addEventListener('mouseup', onMouseUp);\n window.addEventListener('touchend', onTouchEnd);\n window.addEventListener('mousemove', onMouseMove);\n window.addEventListener('touchmove', onTouchMove);\n document.documentElement.className = classnames(document.documentElement.className, styles['active-slider-within']);\n }, []);\n const releaseThumb = React.useCallback(() => {\n cancelThumbAnimation();\n window.removeEventListener('blur', onBlur);\n window.removeEventListener('mouseup', onMouseUp);\n window.removeEventListener('touchend', onTouchEnd);\n window.removeEventListener('mousemove', onMouseMove);\n window.removeEventListener('touchmove', onTouchMove);\n const classList = document.documentElement.className.split(' ');\n const classIndex = classList.indexOf(styles['active-slider-within']);\n if (classIndex !== -1) {\n classList.splice(classIndex, 1);\n document.documentElement.className = classnames(classList);\n }\n }, []);\n const onBlur = React.useCallback(() => {\n if (typeof onSlideRef.current === 'function') {\n onSlideRef.current(valueRef.current);\n }\n\n if (typeof onCompleteRef.current === 'function') {\n onCompleteRef.current(valueRef.current);\n }\n\n releaseThumb();\n }, []);\n const onMouseUp = React.useCallback((event) => {\n const value = calculateValueForMouseX(event.clientX);\n if (typeof onCompleteRef.current === 'function') {\n onCompleteRef.current(value);\n }\n\n releaseThumb();\n }, []);\n const onMouseMove = React.useCallback((event) => {\n requestThumbAnimation(() => {\n const value = calculateValueForMouseX(event.clientX);\n if (typeof onSlideRef.current === 'function') {\n onSlideRef.current(value);\n }\n });\n }, []);\n const onMouseDown = React.useCallback((event) => {\n if (event.button !== 0) {\n return;\n }\n\n const value = calculateValueForMouseX(event.clientX);\n if (typeof onSlideRef.current === 'function') {\n onSlideRef.current(value);\n }\n\n retainThumb();\n }, []);\n const onTouchStart = React.useCallback((event) => {\n const touch = event.touches[0];\n const value = calculateValueForMouseX(touch.clientX);\n if (typeof onSlideRef.current === 'function') {\n onSlideRef.current(value);\n }\n\n retainThumb();\n event.preventDefault();\n }, []);\n const onTouchMove = React.useCallback((event) => {\n requestThumbAnimation(() => {\n const touch = event.touches[0];\n const value = calculateValueForMouseX(touch.clientX);\n if (typeof onSlideRef.current === 'function') {\n onSlideRef.current(value);\n }\n });\n\n event.preventDefault();\n }, []);\n const onTouchEnd = React.useCallback((event) => {\n const touch = event.changedTouches[0];\n const value = calculateValueForMouseX(touch.clientX);\n if (typeof onCompleteRef.current === 'function') {\n onCompleteRef.current(value);\n }\n\n releaseThumb();\n }, []);\n React.useLayoutEffect(() => {\n if (!routeFocused || disabled) {\n releaseThumb();\n }\n }, [routeFocused, disabled]);\n React.useLayoutEffect(() => {\n return () => {\n releaseThumb();\n };\n }, []);\n const thumbPosition = Math.max(0, Math.min(1, (valueRef.current - minimumValueRef.current) / (maximumValueRef.current - minimumValueRef.current)));\n const bufferedPosition = Math.max(0, Math.min(1, (bufferedRef.current - minimumValueRef.current) / (maximumValueRef.current - minimumValueRef.current)));\n return (\n <div ref={sliderContainerRef} className={classnames(className, styles['slider-container'], { 'disabled': disabled })} onMouseDown={onMouseDown} onTouchStart={onTouchStart}>\n <div className={styles['layer']}>\n <div className={classnames(styles['track'], { [styles['audio-boost']]: audioBoost })} />\n </div>\n <div className={styles['layer']}>\n <div className={styles['track-before']} style={{ width: `calc(100% * ${bufferedPosition})` }} />\n </div>\n <div className={styles['layer']}>\n <div\n className={classnames(styles['track-after'], { [styles['audio-boost']]: audioBoost })}\n style={{ '--mask-width': `calc(${thumbPosition} * 100%)` }}\n />\n </div>\n <div className={styles['layer']}>\n <div className={styles['thumb']} style={{ marginLeft: `calc(100% * ${thumbPosition})` }} />\n </div>\n </div>\n );\n};\n\nSlider.propTypes = {\n className: PropTypes.string,\n value: PropTypes.number,\n buffered: PropTypes.number,\n minimumValue: PropTypes.number,\n maximumValue: PropTypes.number,\n disabled: PropTypes.bool,\n onSlide: PropTypes.func,\n onComplete: PropTypes.func,\n audioBoost: PropTypes.bool\n};\n\nmodule.exports = Slider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Slider = require('./Slider');\n\nmodule.exports = Slider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useRouteFocused } = require('stremio-router');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, Image, Popup } = require('stremio/components');\nconst useBinaryState = require('stremio/common/useBinaryState');\nconst useProfile = require('stremio/common/useProfile');\nconst VideoPlaceholder = require('./VideoPlaceholder');\nconst styles = require('./styles');\n\nconst Video = React.forwardRef(({ className, id, title, thumbnail, season, episode, released, upcoming, watched, progress, scheduled, seasonWatched, deepLinks, onMarkVideoAsWatched, onMarkSeasonAsWatched, ...props }, ref) => {\n const routeFocused = useRouteFocused();\n const profile = useProfile();\n const { t } = useTranslation();\n const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);\n const popupLabelOnMouseUp = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented) {\n if (event.nativeEvent.ctrlKey || event.nativeEvent.button === 2) {\n event.preventDefault();\n toggleMenu();\n }\n }\n }, []);\n const popupLabelOnContextMenu = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented && !event.nativeEvent.ctrlKey) {\n event.preventDefault();\n }\n }, [toggleMenu]);\n const popupLabelOnLongPress = React.useCallback((event) => {\n if (event.nativeEvent.pointerType !== 'mouse' && !event.nativeEvent.togglePopupPrevented) {\n toggleMenu();\n }\n }, [toggleMenu]);\n const popupMenuOnPointerDown = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnContextMenu = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnClick = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnKeyDown = React.useCallback((event) => {\n event.nativeEvent.buttonClickPrevented = true;\n }, []);\n const toggleWatchedOnClick = React.useCallback((event) => {\n event.preventDefault();\n event.stopPropagation();\n closeMenu();\n onMarkVideoAsWatched({ id, released }, watched);\n }, [id, released, watched]);\n const toggleWatchedSeasonOnClick = React.useCallback((event) => {\n event.preventDefault();\n event.stopPropagation();\n closeMenu();\n onMarkSeasonAsWatched(season, seasonWatched);\n }, [season, seasonWatched, onMarkSeasonAsWatched]);\n const videoButtonOnClick = React.useCallback(() => {\n if (deepLinks) {\n if (typeof deepLinks.player === 'string') {\n window.location = deepLinks.player;\n } else if (typeof deepLinks.metaDetailsStreams === 'string') {\n window.location.replace(deepLinks.metaDetailsStreams);\n }\n }\n }, [deepLinks]);\n const renderLabel = React.useMemo(() => function renderLabel({ className, id, title, thumbnail, episode, released, upcoming, watched, progress, scheduled, children, ref: popupRef, ...props }) {\n const blurThumbnail = profile.settings.hideSpoilers && season && episode && !watched;\n const handleRef = React.useCallback((node) => {\n if (popupRef) {\n if (typeof popupRef === 'function') {\n popupRef(node);\n } else {\n popupRef.current = node;\n }\n }\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }, [popupRef]);\n\n return (\n <Button {...props} className={classnames(className, styles['video-container'])} title={title} ref={handleRef}>\n {\n typeof thumbnail === 'string' && thumbnail.length > 0 ?\n <div className={styles['thumbnail-container']}>\n <Image\n className={classnames(styles['thumbnail'], { [styles['blurred']]: blurThumbnail })}\n src={thumbnail}\n alt={' '}\n renderFallback={() => (\n <Icon\n className={styles['placeholder-icon']}\n name={'symbol'}\n />\n )}\n />\n {\n progress !== null && !isNaN(progress) && progress > 0 ?\n <div className={styles['progress-bar-container']}>\n <div className={styles['progress-bar']} style={{ width: `${progress}%` }} />\n <div className={styles['progress-bar-background']} />\n </div>\n :\n null\n }\n </div>\n :\n null\n }\n <div className={styles['info-container']}>\n <div className={styles['title-container']}>\n {episode !== null && !isNaN(episode) ? `${episode}. ` : null}\n {typeof title === 'string' && title.length > 0 ? title : id}\n </div>\n <div className={styles['flex-row-container']}>\n {\n released instanceof Date && !isNaN(released.getTime()) ?\n <div className={styles['released-container']}>\n {released.toLocaleString(profile.settings.interfaceLanguage, { year: 'numeric', month: 'short', day: 'numeric' })}\n </div>\n :\n scheduled ?\n <div className={styles['released-container']} title={t('TBA')}>\n {t('TBA')}\n </div>\n :\n null\n }\n <div className={styles['upcoming-watched-container']}>\n {\n upcoming && !watched ?\n <div className={styles['upcoming-container']}>\n <div className={styles['flag-label']}>{t('UPCOMING')}</div>\n </div>\n :\n null\n }\n {\n watched ?\n <div className={styles['watched-container']}>\n <Icon className={styles['flag-icon']} name={'eye'} />\n <div className={styles['flag-label']}>{t('CTX_WATCHED')}</div>\n </div>\n :\n null\n }\n </div>\n </div>\n </div>\n {children}\n </Button>\n );\n }, []);\n const renderMenu = React.useMemo(() => function renderMenu() {\n return (\n <div className={styles['context-menu-content']} onPointerDown={popupMenuOnPointerDown} onContextMenu={popupMenuOnContextMenu} onClick={popupMenuOnClick} onKeyDown={popupMenuOnKeyDown}>\n <Button className={styles['context-menu-option-container']} title={t('CTX_WATCH')}>\n <div className={styles['context-menu-option-label']}>{t('CTX_WATCH')}</div>\n </Button>\n <Button className={styles['context-menu-option-container']} title={watched ? t('CTX_MARK_NON_WATCHED') : t('CTX_MARK_WATCHED')} onClick={toggleWatchedOnClick}>\n <div className={styles['context-menu-option-label']}>{watched ? t('CTX_MARK_NON_WATCHED') : t('CTX_MARK_WATCHED')}</div>\n </Button>\n <Button className={styles['context-menu-option-container']} title={seasonWatched ? t('CTX_UNMARK_REST') : t('CTX_MARK_REST')} onClick={toggleWatchedSeasonOnClick}>\n <div className={styles['context-menu-option-label']}>{seasonWatched ? t('CTX_UNMARK_REST') : t('CTX_MARK_REST')}</div>\n </Button>\n </div>\n );\n }, [watched, seasonWatched, toggleWatchedOnClick]);\n React.useEffect(() => {\n if (!routeFocused) {\n closeMenu();\n }\n }, [routeFocused]);\n return (\n <Popup\n className={className}\n id={id}\n title={title}\n thumbnail={thumbnail}\n episode={episode}\n released={released}\n upcoming={upcoming}\n watched={watched}\n progress={progress}\n scheduled={scheduled}\n onClick={videoButtonOnClick}\n {...props}\n onMouseUp={popupLabelOnMouseUp}\n onLongPress={popupLabelOnLongPress}\n onContextMenu={popupLabelOnContextMenu}\n open={menuOpen}\n onCloseRequest={closeMenu}\n renderLabel={renderLabel}\n renderMenu={renderMenu}\n />\n );\n});\n\nVideo.Placeholder = VideoPlaceholder;\n\nVideo.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n title: PropTypes.string,\n thumbnail: PropTypes.string,\n season: PropTypes.number,\n episode: PropTypes.number,\n released: PropTypes.instanceOf(Date),\n upcoming: PropTypes.bool,\n watched: PropTypes.bool,\n progress: PropTypes.number,\n scheduled: PropTypes.bool,\n seasonWatched: PropTypes.bool,\n deepLinks: PropTypes.shape({\n metaDetailsStreams: PropTypes.string,\n player: PropTypes.string\n }),\n onMarkVideoAsWatched: PropTypes.func,\n onMarkSeasonAsWatched: PropTypes.func,\n};\n\nmodule.exports = Video;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst styles = require('./styles');\n\nconst VideoPlaceholder = ({ className }) => {\n return (\n <div className={classnames(className, styles['video-placeholder-container'])}>\n <div className={styles['info-container']}>\n <div className={styles['name-container']} />\n <div className={styles['released-container']} />\n </div>\n </div>\n );\n};\n\nVideoPlaceholder.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = VideoPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VideoPlaceholder = require('./VideoPlaceholder');\n\nmodule.exports = VideoPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Video = require('./Video');\n\nmodule.exports = Video;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ReactDOM = require('react-dom');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst FocusLock = require('react-focus-lock').default;\nconst { useModalsContainer } = require('../ModalsContainerContext');\n\nconst Modal = React.forwardRef(({ className, autoFocus, disabled, children, ...props }, ref) => {\n const modalsContainer = useModalsContainer();\n return ReactDOM.createPortal(\n <FocusLock ref={ref} className={classnames(className, 'modal-container')} autoFocus={!!autoFocus} disabled={!!disabled} lockProps={props}>\n {children}\n </FocusLock>,\n modalsContainer\n );\n});\n\nModal.displayName = 'Modal';\n\nModal.propTypes = {\n className: PropTypes.string,\n autoFocus: PropTypes.bool,\n disabled: PropTypes.bool,\n children: PropTypes.node\n};\n\nmodule.exports = Modal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Modal = require('./Modal');\n\nmodule.exports = Modal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst ModalsContainerContext = React.createContext(null);\n\nModalsContainerContext.displayName = 'ModalsContainerContext';\n\nmodule.exports = ModalsContainerContext;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst ModalsContainerContext = require('./ModalsContainerContext');\n\nconst ModalsContainerProvider = ({ children }) => {\n const [container, setContainer] = React.useState(null);\n return (\n <ModalsContainerContext.Provider value={container}>\n {container instanceof HTMLElement ? children : null}\n <div ref={setContainer} className={'modals-container'} />\n </ModalsContainerContext.Provider>\n );\n};\n\nModalsContainerProvider.propTypes = {\n children: PropTypes.node\n};\n\nmodule.exports = ModalsContainerProvider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ModalsContainerProvider = require('./ModalsContainerProvider');\nconst useModalsContainer = require('./useModalsContainer');\n\nmodule.exports = {\n ModalsContainerProvider,\n useModalsContainer\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ModalsContainerContext = require('./ModalsContainerContext');\n\nconst useModalsContainer = () => {\n return React.useContext(ModalsContainerContext);\n};\n\nmodule.exports = useModalsContainer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst { ModalsContainerProvider } = require('../ModalsContainerContext');\n\nconst Route = ({ children }) => {\n return (\n <div className={'route-container'}>\n <ModalsContainerProvider>\n <div className={'route-content'}>\n {children}\n </div>\n </ModalsContainerProvider>\n </div>\n );\n};\n\nRoute.propTypes = {\n children: PropTypes.node\n};\n\nmodule.exports = Route;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Route = require('./Route');\n\nmodule.exports = Route;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst RouteFocusedContext = React.createContext(true);\n\nRouteFocusedContext.displayName = 'RouteFocusedContext';\n\nmodule.exports = RouteFocusedContext;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst RouteFocusedContext = require('./RouteFocusedContext');\nconst useRouteFocused = require('./useRouteFocused');\n\nmodule.exports = {\n RouteFocusedProvider: RouteFocusedContext.Provider,\n useRouteFocused\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst RouteFocusedContext = require('./RouteFocusedContext');\n\nconst useRouteFocused = () => {\n return React.useContext(RouteFocusedContext);\n};\n\nmodule.exports = useRouteFocused;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ReactIs = require('react-is');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst UrlUtils = require('url');\nconst isEqual = require('lodash.isequal');\nconst { RouteFocusedProvider } = require('../RouteFocusedContext');\nconst Route = require('../Route');\nconst routeConfigForPath = require('./routeConfigForPath');\nconst urlParamsForPath = require('./urlParamsForPath');\n\nconst Router = ({ className, onPathNotMatch, onRouteChange, ...props }) => {\n const viewsConfig = React.useMemo(() => props.viewsConfig, []);\n const [views, setViews] = React.useState(() => {\n return Array(viewsConfig.length).fill(null);\n });\n React.useLayoutEffect(() => {\n const onLocationHashChange = () => {\n const { pathname, query } = UrlUtils.parse(window.location.hash.slice(1));\n const queryParams = new URLSearchParams(typeof query === 'string' ? query : '');\n const routeConfig = routeConfigForPath(viewsConfig, typeof pathname === 'string' ? pathname : '');\n if (routeConfig === null) {\n if (typeof onPathNotMatch === 'function') {\n const component = onPathNotMatch();\n if (ReactIs.isValidElementType(component)) {\n setViews((views) => {\n return views\n .slice(0, viewsConfig.length)\n .concat({\n key: '-1',\n component\n });\n });\n }\n }\n\n return;\n }\n\n const urlParams = urlParamsForPath(routeConfig, typeof pathname === 'string' ? pathname : '');\n const routeViewIndex = viewsConfig.findIndex((vc) => vc.includes(routeConfig));\n const routeIndex = viewsConfig[routeViewIndex].findIndex((rc) => rc === routeConfig);\n const handled = typeof onRouteChange === 'function' && onRouteChange(routeConfig, urlParams, queryParams);\n if (!handled) {\n setViews((views) => {\n return views\n .slice(0, viewsConfig.length)\n .map((view, index) => {\n if (index < routeViewIndex) {\n return view;\n } else if (index === routeViewIndex) {\n return {\n key: `${routeViewIndex}${routeIndex}`,\n component: routeConfig.component,\n urlParams: view !== null && isEqual(view.urlParams, urlParams) ?\n view.urlParams\n :\n urlParams,\n queryParams: view !== null && isEqual(Array.from(view.queryParams.entries()), Array.from(queryParams.entries())) ?\n view.queryParams\n :\n queryParams\n };\n } else {\n return null;\n }\n });\n });\n }\n };\n window.addEventListener('hashchange', onLocationHashChange);\n onLocationHashChange();\n return () => {\n window.removeEventListener('hashchange', onLocationHashChange);\n };\n }, [onPathNotMatch, onRouteChange]);\n return (\n <div className={classnames(className, 'routes-container')}>\n {\n views\n .filter((view) => view !== null)\n .map(({ key, component, urlParams, queryParams }, index, views) => (\n <RouteFocusedProvider key={key} value={index === views.length - 1}>\n <Route>\n {React.createElement(component, { urlParams, queryParams })}\n </Route>\n </RouteFocusedProvider>\n ))\n }\n </div>\n );\n};\n\nRouter.propTypes = {\n className: PropTypes.string,\n onPathNotMatch: PropTypes.func,\n onRouteChange: PropTypes.func,\n viewsConfig: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.exact({\n regexp: PropTypes.instanceOf(RegExp).isRequired,\n urlParamsNames: PropTypes.arrayOf(PropTypes.string).isRequired,\n component: PropTypes.elementType.isRequired\n }))).isRequired\n};\n\nmodule.exports = Router;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Router = require('./Router');\n\nmodule.exports = Router;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst routeConfigForPath = (viewsConfig, path) => {\n for (const viewConfig of viewsConfig) {\n for (const routeConfig of viewConfig) {\n if (path.match(routeConfig.regexp)) {\n return routeConfig;\n }\n }\n }\n\n return null;\n};\n\nmodule.exports = routeConfigForPath;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst urlParamsForPath = (routeConfig, path) => {\n const matches = path.match(routeConfig.regexp);\n return routeConfig.urlParamsNames.reduce((urlParams, name, index) => {\n if (Array.isArray(matches) && typeof matches[index + 1] === 'string') {\n urlParams[name] = decodeURIComponent(matches[index + 1]);\n } else {\n urlParams[name] = null;\n }\n\n return urlParams;\n }, { path });\n};\n\nmodule.exports = urlParamsForPath;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { useRouteFocused } = require('./RouteFocusedContext');\nconst { useModalsContainer } = require('./ModalsContainerContext');\nconst Modal = require('./Modal');\nconst Router = require('./Router');\n\nmodule.exports = {\n useRouteFocused,\n useModalsContainer,\n Modal,\n Router\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, Image } = require('stremio/components');\nconst styles = require('./styles');\n\nconst Addon = ({ className, id, name, version, logo, description, types, behaviorHints, installed, onInstall, onUninstall, onConfigure, onOpen, onShare, dataset }) => {\n const { t } = useTranslation();\n const onInstallClick = React.useCallback((event) => {\n event.stopPropagation();\n if (typeof onInstall === 'function') {\n onInstall({\n type: 'install',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onInstall, dataset]);\n const onUninstallClick = React.useCallback((event) => {\n event.stopPropagation();\n if (typeof onUninstall === 'function') {\n onUninstall({\n type: 'uninstall',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onUninstall, dataset]);\n const onOpenClick = React.useCallback((event) => {\n event.stopPropagation();\n if (typeof onOpen === 'function') {\n onOpen({\n type: 'open',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onOpen, dataset]);\n const configureButtonOnClick = React.useCallback((event) => {\n event.stopPropagation();\n if (typeof onConfigure === 'function') {\n onConfigure({\n type: 'configure',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onConfigure, dataset]);\n const shareButtonOnClick = React.useCallback((event) => {\n event.stopPropagation();\n if (typeof onShare === 'function') {\n onShare({\n type: 'share',\n nativeEvent: event.nativeEvent,\n reactEvent: event,\n dataset: dataset\n });\n }\n }, [onShare, dataset]);\n const onKeyDown = React.useCallback((event) => {\n if (event.key === 'Enter') {\n onOpenClick(event);\n }\n }, [onOpenClick]);\n const renderLogoFallback = React.useCallback(() => (\n <Icon className={styles['icon']} name={'addons'} />\n ), []);\n return (\n <Button className={classnames(className, styles['addon-container'])} onKeyDown={onKeyDown} onClick={onOpenClick}>\n <div className={styles['logo-container']}>\n <Image\n className={styles['logo']}\n src={logo}\n alt={' '}\n renderFallback={renderLogoFallback}\n />\n </div>\n <div className={styles['info-container']}>\n <div className={styles['name-container']} title={typeof name === 'string' && name.length > 0 ? name : id}>\n {typeof name === 'string' && name.length > 0 ? name : id}\n </div>\n {\n typeof version === 'string' && version.length > 0 ?\n <div className={styles['version-container']} title={t('ADDON_VERSION_SHORT', {version})}>{t('ADDON_VERSION_SHORT', {version})}</div>\n :\n null\n }\n {\n Array.isArray(types) && types.length > 0 ?\n <div className={styles['types-container']}>\n {\n types.length === 1 ?\n types.join('')\n :\n types.slice(0, -1).join(', ') + ' & ' + types[types.length - 1]\n }\n </div>\n :\n null\n }\n {\n typeof description === 'string' && description.length > 0 ?\n <div className={styles['description-container']} title={description}>{description}</div>\n :\n null\n }\n </div>\n <div className={styles['buttons-container']}>\n <div className={styles['action-buttons-container']}>\n {\n !behaviorHints.configurationRequired && behaviorHints.configurable ?\n <Button className={styles['configure-button-container']} title={t('ADDON_CONFIGURE')} tabIndex={-1} onClick={configureButtonOnClick}>\n <Icon className={styles['icon']} name={'settings'} />\n </Button>\n :\n null\n }\n <Button\n className={installed ? styles['uninstall-button-container'] : styles['install-button-container']}\n title={installed ? t('ADDON_UNINSTALL') : behaviorHints.configurationRequired ? t('ADDON_CONFIGURE') : t('ADDON_INSTALL')}\n tabIndex={-1}\n onClick={installed ? onUninstallClick : behaviorHints.configurationRequired ? configureButtonOnClick : onInstallClick}\n >\n <div className={styles['label']}>{installed ? t('ADDON_UNINSTALL') : behaviorHints.configurationRequired ? t('ADDON_CONFIGURE') : t('ADDON_INSTALL')}</div>\n </Button>\n </div>\n <Button className={styles['share-button-container']} title={t('SHARE_ADDON')} tabIndex={-1} onClick={shareButtonOnClick}>\n <Icon className={styles['icon']} name={'share'} />\n <div className={styles['label']}>{ t('SHARE_ADDON') }</div>\n </Button>\n </div>\n </Button>\n );\n};\n\nAddon.propTypes = {\n className: PropTypes.string,\n id: PropTypes.string,\n name: PropTypes.string,\n version: PropTypes.string,\n logo: PropTypes.string,\n description: PropTypes.string,\n types: PropTypes.arrayOf(PropTypes.string),\n behaviorHints: PropTypes.shape({\n adult: PropTypes.bool,\n configurable: PropTypes.bool,\n configurationRequired: PropTypes.bool,\n p2p: PropTypes.bool,\n }),\n installed: PropTypes.bool,\n onToggle: PropTypes.func,\n onInstall: PropTypes.func,\n onUninstall: PropTypes.func,\n onConfigure: PropTypes.func,\n onOpen: PropTypes.func,\n onShare: PropTypes.func,\n dataset: PropTypes.object\n};\n\nmodule.exports = Addon;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Addon = require('./Addon');\n\nmodule.exports = Addon;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { usePlatform, useBinaryState, withCoreSuspender } = require('stremio/common');\nconst { AddonDetailsModal, Button, Image, MainNavBars, ModalDialog, SearchBar, SharePrompt, TextInput, MultiselectMenu } = require('stremio/components');\nconst { useServices } = require('stremio/services');\nconst Addon = require('./Addon');\nconst useInstalledAddons = require('./useInstalledAddons');\nconst useRemoteAddons = require('./useRemoteAddons');\nconst useAddonDetailsTransportUrl = require('./useAddonDetailsTransportUrl');\nconst useSelectableInputs = require('./useSelectableInputs');\nconst styles = require('./styles');\nconst { AddonPlaceholder } = require('./AddonPlaceholder');\n\nconst Addons = ({ urlParams, queryParams }) => {\n const { t } = useTranslation();\n const platform = usePlatform();\n const { core } = useServices();\n const installedAddons = useInstalledAddons(urlParams);\n const remoteAddons = useRemoteAddons(urlParams);\n const [addonDetailsTransportUrl, setAddonDetailsTransportUrl] = useAddonDetailsTransportUrl(urlParams, queryParams);\n const selectInputs = useSelectableInputs(installedAddons, remoteAddons);\n const [filtersModalOpen, openFiltersModal, closeFiltersModal] = useBinaryState(false);\n const [addAddonModalOpen, openAddAddonModal, closeAddAddonModal] = useBinaryState(false);\n const addAddonUrlInputRef = React.useRef(null);\n const addAddonOnSubmit = React.useCallback(() => {\n if (addAddonUrlInputRef.current !== null) {\n setAddonDetailsTransportUrl(addAddonUrlInputRef.current.value);\n }\n }, [setAddonDetailsTransportUrl]);\n const addAddonModalButtons = React.useMemo(() => {\n return [\n {\n className: styles['cancel-button'],\n label: t('BUTTON_CANCEL'),\n props: {\n onClick: closeAddAddonModal\n }\n },\n {\n label: t('ADDON_ADD'),\n props: {\n onClick: addAddonOnSubmit\n }\n }\n ];\n }, [addAddonOnSubmit]);\n const [search, setSearch] = React.useState('');\n const searchInputOnChange = React.useCallback((event) => {\n setSearch(event.currentTarget.value);\n }, []);\n const [sharedAddon, setSharedAddon] = React.useState(null);\n const clearSharedAddon = React.useCallback(() => {\n setSharedAddon(null);\n }, []);\n const onAddonShare = React.useCallback((event) => {\n setSharedAddon(event.dataset.addon);\n }, []);\n const onAddonInstall = React.useCallback((event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'InstallAddon',\n args: event.dataset.addon,\n }\n });\n }, []);\n const onAddonUninstall = React.useCallback((event) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UninstallAddon',\n args: event.dataset.addon,\n }\n });\n }, []);\n const onAddonConfigure = React.useCallback((event) => {\n platform.openExternal(event.dataset.addon.transportUrl.replace('manifest.json', 'configure'));\n }, []);\n const onAddonOpen = React.useCallback((event) => {\n setAddonDetailsTransportUrl(event.dataset.addon.transportUrl);\n }, [setAddonDetailsTransportUrl]);\n const closeAddonDetails = React.useCallback(() => {\n setAddonDetailsTransportUrl(null);\n }, [setAddonDetailsTransportUrl]);\n const searchFilterPredicate = React.useCallback((addon) => {\n return search.length === 0 ||\n (\n (typeof addon.manifest.name === 'string' && addon.manifest.name.toLowerCase().includes(search.toLowerCase())) ||\n (typeof addon.manifest.description === 'string' && addon.manifest.description.toLowerCase().includes(search.toLowerCase()))\n );\n }, [search]);\n const renderLogoFallback = React.useCallback(() => (\n <Icon className={styles['icon']} name={'addons'} />\n ), []);\n React.useLayoutEffect(() => {\n closeAddAddonModal();\n setSearch('');\n clearSharedAddon();\n }, [urlParams, queryParams]);\n return (\n <MainNavBars className={styles['addons-container']} route={'addons'}>\n <div className={styles['addons-content']}>\n <div className={styles['selectable-inputs-container']}>\n {selectInputs.map((selectInput, index) => (\n <MultiselectMenu\n {...selectInput}\n key={index}\n className={styles['select-input-container']}\n />\n ))}\n <div className={styles['spacing']} />\n <Button className={styles['add-button-container']} title={t('ADD_ADDON')} onClick={openAddAddonModal}>\n <Icon className={styles['icon']} name={'add'} />\n <div className={styles['add-button-label']}>{t('ADD_ADDON')}</div>\n </Button>\n <SearchBar\n className={styles['search-bar']}\n title={t('ADDON_SEARCH')}\n value={search}\n onChange={searchInputOnChange}\n />\n <Button className={styles['filter-button']} title={t('ALL_FILTERS')} onClick={openFiltersModal}>\n <Icon className={styles['filter-icon']} name={'filters'} />\n </Button>\n </div>\n {\n installedAddons.selected !== null ?\n installedAddons.selectable.types.length === 0 ?\n <div className={styles['message-container']}>\n {t('NO_ADDONS')}\n </div>\n :\n installedAddons.catalog.length === 0 ?\n <div className={styles['message-container']}>\n {t('NO_ADDONS_FOR_TYPE')}\n </div>\n :\n <div className={styles['addons-list-container']}>\n {\n installedAddons.catalog\n .filter(searchFilterPredicate)\n .map((addon, index) => (\n <Addon\n key={index}\n className={classnames(styles['addon'], 'animation-fade-in')}\n id={addon.manifest.id}\n name={addon.manifest.name}\n version={addon.manifest.version}\n logo={addon.manifest.logo}\n description={addon.manifest.description}\n types={addon.manifest.types}\n behaviorHints={addon.manifest.behaviorHints}\n installed={addon.installed}\n onInstall={onAddonInstall}\n onUninstall={onAddonUninstall}\n onConfigure={onAddonConfigure}\n onOpen={onAddonOpen}\n onShare={onAddonShare}\n dataset={{ addon }}\n />\n ))\n }\n </div>\n :\n remoteAddons.selected !== null ?\n remoteAddons.catalog.content.type === 'Err' ?\n <div className={styles['message-container']}>\n {remoteAddons.catalog.content.content}\n </div>\n :\n remoteAddons.catalog.content.type === 'Loading' ?\n <div className={styles['addons-list-container']}>\n {Array.from({ length: 6 }).map((_, index) => (\n <AddonPlaceholder key={index} className={styles['addon']} />\n ))}\n </div>\n :\n <div className={styles['addons-list-container']}>\n {\n remoteAddons.catalog.content.content\n .filter(searchFilterPredicate)\n .map((addon, index) => (\n <Addon\n key={index}\n className={classnames(styles['addon'], 'animation-fade-in')}\n id={addon.manifest.id}\n name={addon.manifest.name}\n version={addon.manifest.version}\n logo={addon.manifest.logo}\n description={addon.manifest.description}\n types={addon.manifest.types}\n behaviorHints={addon.manifest.behaviorHints}\n installed={addon.installed}\n onInstall={onAddonInstall}\n onUninstall={onAddonUninstall}\n onConfigure={onAddonConfigure}\n onOpen={onAddonOpen}\n onShare={onAddonShare}\n dataset={{ addon }}\n />\n ))\n }\n </div>\n :\n <div className={styles['addons-list-container']}>\n {Array.from({ length: 6 }).map((_, index) => (\n <AddonPlaceholder key={index} className={styles['addon']} />\n ))}\n </div>\n }\n </div>\n {\n filtersModalOpen ?\n <ModalDialog title={t('ADDONS_FILTERS')} className={styles['filters-modal']} onCloseRequest={closeFiltersModal}>\n {selectInputs.map((selectInput, index) => (\n <MultiselectMenu\n {...selectInput}\n key={index}\n className={styles['select-input-container']}\n />\n ))}\n </ModalDialog>\n :\n null\n }\n {\n addAddonModalOpen ?\n <ModalDialog\n className={styles['add-addon-modal-container']}\n title={t('ADD_ADDON')}\n buttons={addAddonModalButtons}\n onCloseRequest={closeAddAddonModal}>\n <div className={styles['notice']}>{t('ADD_ADDON_DESCRIPTION')}</div>\n <TextInput\n ref={addAddonUrlInputRef}\n className={styles['addon-url-input']}\n type={'text'}\n placeholder={t('PASTE_ADDON_URL')}\n autoFocus={true}\n onSubmit={addAddonOnSubmit}\n />\n </ModalDialog>\n :\n null\n }\n {\n sharedAddon !== null ?\n <ModalDialog\n className={styles['share-modal-container']}\n title={t('SHARE_ADDON')}\n onCloseRequest={clearSharedAddon}>\n <div className={styles['title-container']}>\n <Image\n className={styles['logo']}\n src={sharedAddon.manifest.logo}\n alt={' '}\n renderFallback={renderLogoFallback}\n />\n <div className={styles['name-container']}>\n <span className={styles['name']}>{typeof sharedAddon.manifest.name === 'string' && sharedAddon.manifest.name.length > 0 ? sharedAddon.manifest.name : sharedAddon.manifest.id}</span>\n {\n typeof sharedAddon.manifest.version === 'string' && sharedAddon.manifest.version.length > 0 ?\n <span className={styles['version']}>{t('ADDON_VERSION_SHORT', { version: sharedAddon.manifest.version })}</span>\n :\n null\n }\n </div>\n </div>\n <SharePrompt\n className={styles['share-prompt-container']}\n url={sharedAddon.transportUrl}\n />\n </ModalDialog>\n :\n null\n }\n {\n typeof addonDetailsTransportUrl === 'string' ?\n <AddonDetailsModal\n transportUrl={addonDetailsTransportUrl}\n onCloseRequest={closeAddonDetails}\n />\n :\n null\n }\n </MainNavBars>\n );\n};\n\nAddons.propTypes = {\n urlParams: PropTypes.shape({\n path: PropTypes.string,\n transportUrl: PropTypes.string,\n catalogId: PropTypes.string,\n type: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst AddonsFallback = () => (\n <MainNavBars className={styles['addons-container']} route={'addons'} />\n);\n\nmodule.exports = withCoreSuspender(Addons, AddonsFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Addons = require('./Addons');\n\nmodule.exports = Addons;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useAddonDetailsTransportUrl = (urlParams, queryParams) => {\n const transportUrl = React.useMemo(() => {\n return queryParams.get('addon');\n }, [queryParams]);\n const setTransportUrl = React.useCallback((transportUrl) => {\n const nextQueryParams = new URLSearchParams(queryParams);\n if (typeof transportUrl === 'string') {\n nextQueryParams.set('addon', transportUrl);\n } else {\n nextQueryParams.delete('addon');\n }\n\n window.location.replace(`#${urlParams.path}?${nextQueryParams}`);\n }, [urlParams, queryParams]);\n return [transportUrl, setTransportUrl];\n};\n\nmodule.exports = useAddonDetailsTransportUrl;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useModelState } = require('stremio/common');\n\nconst useInstalledAddons = (urlParams) => {\n const action = React.useMemo(() => {\n if (typeof urlParams.transportUrl !== 'string' && typeof urlParams.catalogId !== 'string') {\n return {\n action: 'Load',\n args: {\n model: 'InstalledAddonsWithFilters',\n args: {\n request: {\n type: typeof urlParams.type === 'string' ? urlParams.type : null\n }\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [urlParams]);\n return useModelState({ model: 'installed_addons', action });\n};\n\nmodule.exports = useInstalledAddons;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useModelState } = require('stremio/common');\n\nconst useRemoteAddons = (urlParams) => {\n const action = React.useMemo(() => {\n if (typeof urlParams.type === 'string' && typeof urlParams.transportUrl === 'string' && typeof urlParams.catalogId === 'string') {\n return {\n action: 'Load',\n args: {\n model: 'CatalogWithFilters',\n args: {\n request: {\n base: urlParams.transportUrl,\n path: {\n resource: 'addon_catalog',\n type: urlParams.type,\n id: urlParams.catalogId,\n extra: []\n }\n }\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [urlParams]);\n return useModelState({ model: 'remote_addons', action, deps: ['ctx'] });\n};\n\nmodule.exports = useRemoteAddons;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslate } = require('stremio/common');\n\nconst mapSelectableInputs = (installedAddons, remoteAddons, t) => {\n const selectedCatalog = remoteAddons.selectable.catalogs.concat(installedAddons.selectable.catalogs).find(({ selected }) => selected);\n const catalogSelect = {\n options: remoteAddons.selectable.catalogs\n .concat(installedAddons.selectable.catalogs)\n .map(({ name, deepLinks }) => ({\n value: deepLinks.addons,\n label: t.stringWithPrefix(name.toUpperCase(), 'ADDON_'),\n title: t.stringWithPrefix(name.toUpperCase(), 'ADDON_'),\n })),\n value: selectedCatalog ? selectedCatalog.deepLinks.addons : undefined,\n title: remoteAddons.selected !== null ?\n () => {\n const selectableCatalog = remoteAddons.selectable.catalogs\n .find(({ id }) => id === remoteAddons.selected.request.path.id);\n return selectableCatalog ? t.stringWithPrefix(selectableCatalog.name, 'ADDON_') : remoteAddons.selected.request.path.id;\n }\n : null,\n onSelect: (value) => {\n window.location = value;\n }\n };\n const selectedType = installedAddons.selected !== null\n ? installedAddons.selectable.types.find(({ selected }) => selected)\n : remoteAddons.selectable.types.find(({ selected }) => selected);\n const typeSelect = {\n options: installedAddons.selected !== null ?\n installedAddons.selectable.types.map(({ type, deepLinks }) => ({\n value: deepLinks.addons,\n label: type !== null ? t.stringWithPrefix(type, 'TYPE_') : t.string('TYPE_ALL')\n }))\n :\n remoteAddons.selectable.types.map(({ type, deepLinks }) => ({\n value: deepLinks.addons,\n label: t.stringWithPrefix(type, 'TYPE_')\n })),\n value: selectedType ? selectedType.deepLinks.addons : undefined,\n title: () => {\n return installedAddons.selected !== null ?\n installedAddons.selected.request.type === null ?\n t.string('TYPE_ALL')\n :\n t.stringWithPrefix(installedAddons.selected.request.type, 'TYPE_')\n :\n remoteAddons.selected !== null ?\n t.stringWithPrefix(remoteAddons.selected.request.path.type, 'TYPE_')\n :\n typeSelect.title;\n },\n onSelect: (value) => {\n window.location = value;\n }\n };\n return [catalogSelect, typeSelect];\n};\n\nconst useSelectableInputs = (installedAddons, remoteAddons) => {\n const t = useTranslate();\n const selectableInputs = React.useMemo(() => {\n return mapSelectableInputs(installedAddons, remoteAddons, t);\n }, [installedAddons, remoteAddons]);\n return selectableInputs;\n};\n\nmodule.exports = useSelectableInputs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst useTranslate = require('stremio/common/useTranslate');\nconst { useStreamingServer, useNotifications, withCoreSuspender, getVisibleChildrenRange, useProfile } = require('stremio/common');\nconst { ContinueWatchingItem, EventModal, MainNavBars, MetaItem, MetaRow } = require('stremio/components');\nconst useBoard = require('./useBoard');\nconst useContinueWatchingPreview = require('./useContinueWatchingPreview');\nconst styles = require('./styles');\nconst { default: StreamingServerWarning } = require('./StreamingServerWarning');\n\nconst THRESHOLD = 5;\n\nconst Board = () => {\n const t = useTranslate();\n const streamingServer = useStreamingServer();\n const continueWatchingPreview = useContinueWatchingPreview();\n const [board, loadBoardRows] = useBoard();\n const notifications = useNotifications();\n const profile = useProfile();\n const boardCatalogsOffset = continueWatchingPreview.items.length > 0 ? 1 : 0;\n const scrollContainerRef = React.useRef();\n const streamingServerWarningDismissed = React.useMemo(() => {\n return streamingServer.settings !== null && streamingServer.settings.type === 'Ready' || (\n !isNaN(profile.settings.streamingServerWarningDismissed.getTime()) &&\n profile.settings.streamingServerWarningDismissed.getTime() > Date.now()\n );\n }, [profile.settings, streamingServer.settings]);\n const onVisibleRangeChange = React.useCallback(() => {\n const range = getVisibleChildrenRange(scrollContainerRef.current);\n if (range === null) {\n return;\n }\n\n const start = Math.max(0, range.start - boardCatalogsOffset - THRESHOLD);\n const end = range.end - boardCatalogsOffset + THRESHOLD;\n if (end < start) {\n return;\n }\n\n loadBoardRows({ start, end });\n }, [boardCatalogsOffset]);\n const onScroll = React.useCallback(debounce(onVisibleRangeChange, 250), [onVisibleRangeChange]);\n React.useLayoutEffect(() => {\n onVisibleRangeChange();\n }, [board.catalogs, onVisibleRangeChange]);\n return (\n <div className={styles['board-container']}>\n <EventModal />\n <MainNavBars className={styles['board-content-container']} route={'board'}>\n <div ref={scrollContainerRef} className={styles['board-content']} onScroll={onScroll}>\n {\n continueWatchingPreview.items.length > 0 ?\n <MetaRow\n className={classnames(styles['board-row'], styles['continue-watching-row'], 'animation-fade-in')}\n title={t.string('BOARD_CONTINUE_WATCHING')}\n catalog={continueWatchingPreview}\n itemComponent={ContinueWatchingItem}\n notifications={notifications}\n />\n :\n null\n }\n {board.catalogs.map((catalog, index) => {\n switch (catalog.content?.type) {\n case 'Ready': {\n return (\n <MetaRow\n key={index}\n className={classnames(styles['board-row'], styles[`board-row-${catalog.content.content[0].posterShape}`], 'animation-fade-in')}\n catalog={catalog}\n itemComponent={MetaItem}\n />\n );\n }\n case 'Err': {\n if (catalog.content.content !== 'EmptyContent') {\n return (\n <MetaRow\n key={index}\n className={classnames(styles['board-row'], 'animation-fade-in')}\n catalog={catalog}\n message={catalog.content.content}\n />\n );\n }\n return null;\n }\n default: {\n return (\n <MetaRow.Placeholder\n key={index}\n className={classnames(styles['board-row'], styles['board-row-poster'], 'animation-fade-in')}\n catalog={catalog}\n title={t.catalogTitle(catalog)}\n />\n );\n }\n }\n })}\n </div>\n </MainNavBars>\n {\n !streamingServerWarningDismissed ?\n <StreamingServerWarning className={styles['board-warning-container']} />\n :\n null\n }\n </div>\n );\n};\n\nconst BoardFallback = () => (\n <div className={styles['board-container']}>\n <MainNavBars className={styles['board-content-container']} route={'board'} />\n </div>\n);\n\nmodule.exports = withCoreSuspender(Board, BoardFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Board = require('./Board');\n\nmodule.exports = Board;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useModelState } = require('stremio/common');\n\nconst useBoard = () => {\n const { core } = useServices();\n const action = React.useMemo(() => ({\n action: 'Load',\n args: {\n model: 'CatalogsWithExtra',\n args: { extra: [] }\n }\n }), []);\n const loadRange = React.useCallback((range) => {\n core.transport.dispatch({\n action: 'CatalogsWithExtra',\n args: {\n action: 'LoadRange',\n args: range\n }\n }, 'board');\n }, []);\n const board = useModelState({ model: 'board', action });\n return [board, loadRange];\n};\n\nmodule.exports = useBoard;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst { useModelState } = require('stremio/common');\n\nconst useContinueWatchingPreview = () => {\n return useModelState({ model: 'continue_watching_preview' });\n};\n\nmodule.exports = useContinueWatchingPreview;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { useServices } = require('stremio/services');\nconst { CONSTANTS, useBinaryState, useOnScrollToBottom, withCoreSuspender } = require('stremio/common');\nconst { AddonDetailsModal, Button, DelayedRenderer, Image, MainNavBars, MetaItem, MetaPreview, ModalDialog, MultiselectMenu } = require('stremio/components');\nconst useDiscover = require('./useDiscover');\nconst useSelectableInputs = require('./useSelectableInputs');\nconst styles = require('./styles');\n\nconst SCROLL_TO_BOTTOM_THRESHOLD = 400;\n\nconst Discover = ({ urlParams, queryParams }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const [discover, loadNextPage] = useDiscover(urlParams, queryParams);\n const [selectInputs, hasNextPage] = useSelectableInputs(discover);\n const [inputsModalOpen, openInputsModal, closeInputsModal] = useBinaryState(false);\n const [addonModalOpen, openAddonModal, closeAddonModal] = useBinaryState(false);\n const [selectedMetaItemIndex, setSelectedMetaItemIndex] = React.useState(0);\n\n const metasContainerRef = React.useRef();\n const metaPreviewRef = React.useRef();\n\n React.useEffect(() => {\n if (discover.catalog?.content.type === 'Loading') {\n metasContainerRef.current.scrollTop = 0;\n }\n }, [discover.catalog]);\n React.useEffect(() => {\n if (hasNextPage && metasContainerRef.current) {\n const containerHeight = metasContainerRef.current.scrollHeight;\n const viewportHeight = metasContainerRef.current.clientHeight;\n if (containerHeight <= viewportHeight + SCROLL_TO_BOTTOM_THRESHOLD) {\n loadNextPage();\n }\n }\n }, [hasNextPage, loadNextPage]);\n const selectedMetaItem = React.useMemo(() => {\n return discover.catalog !== null &&\n discover.catalog.content.type === 'Ready' &&\n discover.catalog.content.content[selectedMetaItemIndex] ?\n discover.catalog.content.content[selectedMetaItemIndex]\n :\n null;\n }, [discover.catalog, selectedMetaItemIndex]);\n const addToLibrary = React.useCallback(() => {\n if (selectedMetaItem === null) {\n return;\n }\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'AddToLibrary',\n args: selectedMetaItem\n }\n });\n }, [selectedMetaItem]);\n const removeFromLibrary = React.useCallback(() => {\n if (selectedMetaItem === null) {\n return;\n }\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RemoveFromLibrary',\n args: selectedMetaItem.id\n }\n });\n }, [selectedMetaItem]);\n const metaItemsOnFocusCapture = React.useCallback((event) => {\n if (event.target.dataset.index !== null && !isNaN(event.target.dataset.index)) {\n setSelectedMetaItemIndex(parseInt(event.target.dataset.index, 10));\n }\n }, []);\n const metaItemOnClick = React.useCallback((event) => {\n const visible = window.getComputedStyle(metaPreviewRef.current).display !== 'none';\n if (event.currentTarget.dataset.index !== selectedMetaItemIndex.toString() && visible) {\n event.preventDefault();\n event.currentTarget.focus();\n }\n }, [selectedMetaItemIndex]);\n const onScrollToBottom = React.useCallback(() => {\n if (hasNextPage) {\n loadNextPage();\n }\n }, [hasNextPage, loadNextPage]);\n const onScroll = useOnScrollToBottom(onScrollToBottom, SCROLL_TO_BOTTOM_THRESHOLD);\n React.useEffect(() => {\n closeInputsModal();\n closeAddonModal();\n setSelectedMetaItemIndex(0);\n }, [discover.selected]);\n return (\n <MainNavBars className={styles['discover-container']} route={'discover'}>\n <div className={styles['discover-content']}>\n <div className={styles['catalog-container']}>\n <div className={styles['selectable-inputs-container']}>\n {selectInputs.map(({ title, options, value, onSelect }, index) => (\n <MultiselectMenu\n key={index}\n className={styles['select-input']}\n title={title}\n options={options}\n value={value}\n onSelect={onSelect}\n />\n ))}\n <div className={styles['filter-container']}>\n <Button className={styles['filter-button']} title={t('ALL_FILTERS')} onClick={openInputsModal}>\n <Icon className={styles['filter-icon']} name={'filters'} />\n </Button>\n </div>\n </div>\n {\n discover.catalog !== null && !discover.catalog.installed ?\n <div className={styles['missing-addon-warning-container']}>\n <div className={styles['warning-label']}>{t('ERR_ADDON_NOT_INSTALLED')}</div>\n <Button className={styles['install-button']} title={t('INSTALL_ADDON')} onClick={openAddonModal}>\n <div className={styles['label']}>{t('ADDON_INSTALL')}</div>\n </Button>\n </div>\n :\n null\n }\n {\n discover.catalog === null ?\n <DelayedRenderer delay={500}>\n <div className={styles['message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>{t('NO_CATALOG_SELECTED')}</div>\n </div>\n </DelayedRenderer>\n :\n discover.catalog.content.type === 'Err' ?\n <div className={styles['message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>{discover.catalog.content.content}</div>\n </div>\n :\n discover.catalog.content.type === 'Loading' ?\n <div ref={metasContainerRef} className={classnames(styles['meta-items-container'], 'animation-fade-in')}>\n {Array(CONSTANTS.CATALOG_PAGE_SIZE).fill(null).map((_, index) => (\n <div key={index} className={styles['meta-item-placeholder']}>\n <div className={styles['poster-container']} />\n <div className={styles['title-bar-container']}>\n <div className={styles['title-label']} />\n </div>\n </div>\n ))}\n </div>\n :\n <div ref={metasContainerRef} className={classnames(styles['meta-items-container'], 'animation-fade-in')} onScroll={onScroll} onFocusCapture={metaItemsOnFocusCapture}>\n {discover.catalog.content.content.map((metaItem, index) => (\n <MetaItem\n key={index}\n className={classnames({ 'selected': selectedMetaItemIndex === index })}\n type={metaItem.type}\n name={metaItem.name}\n poster={metaItem.poster}\n posterShape={metaItem.posterShape}\n playname={selectedMetaItemIndex === index}\n deepLinks={metaItem.deepLinks}\n watched={metaItem.watched}\n data-index={index}\n onClick={metaItemOnClick}\n />\n ))}\n </div>\n }\n </div>\n {\n selectedMetaItem !== null ?\n <MetaPreview\n className={styles['meta-preview-container']}\n compact={true}\n ref={metaPreviewRef}\n name={selectedMetaItem.name}\n logo={selectedMetaItem.logo}\n background={selectedMetaItem.poster}\n runtime={selectedMetaItem.runtime}\n releaseInfo={selectedMetaItem.releaseInfo}\n released={selectedMetaItem.released}\n description={selectedMetaItem.description}\n links={selectedMetaItem.links}\n deepLinks={selectedMetaItem.deepLinks}\n trailerStreams={selectedMetaItem.trailerStreams}\n inLibrary={selectedMetaItem.inLibrary}\n toggleInLibrary={selectedMetaItem.inLibrary ? removeFromLibrary : addToLibrary}\n metaId={selectedMetaItem.id}\n like={selectedMetaItem.like}\n />\n :\n discover.catalog !== null && discover.catalog.content.type === 'Loading' ?\n <div className={styles['meta-preview-container']} />\n :\n null\n }\n </div>\n {\n inputsModalOpen ?\n <ModalDialog title={t('CATALOG_FILTERS')} className={styles['selectable-inputs-modal']} onCloseRequest={closeInputsModal}>\n {selectInputs.map(({ title, options, value, onSelect }, index) => (\n <MultiselectMenu\n key={index}\n className={styles['select-input']}\n title={title}\n options={options}\n value={value}\n onSelect={onSelect}\n />\n ))}\n </ModalDialog>\n :\n null\n }\n {\n addonModalOpen && discover.selected !== null ?\n <AddonDetailsModal transportUrl={discover.selected.request.base} onCloseRequest={closeAddonModal} />\n :\n null\n }\n </MainNavBars>\n );\n};\n\nDiscover.propTypes = {\n urlParams: PropTypes.shape({\n transportUrl: PropTypes.string,\n type: PropTypes.string,\n catalogId: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst DiscoverFallback = () => (\n <MainNavBars className={styles['discover-container']} route={'discover'} />\n);\n\nmodule.exports = withCoreSuspender(Discover, DiscoverFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Discover = require('./Discover');\n\nmodule.exports = Discover;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst UrlUtils = require('url');\nconst { useServices } = require('stremio/services');\nconst { useModelState } = require('stremio/common');\n\nconst map = (discover) => ({\n ...discover,\n catalog: discover.catalog !== null && discover.catalog.content.type === 'Ready' ?\n {\n ...discover.catalog,\n content: {\n ...discover.catalog.content,\n content: discover.catalog.content.content.map((metaItem) => ({\n ...metaItem,\n released: new Date(typeof metaItem.released === 'string' ? metaItem.released : NaN),\n }))\n }\n }\n :\n discover.catalog\n});\n\nconst useDiscover = (urlParams, queryParams) => {\n const { core } = useServices();\n const loadNextPage = React.useCallback(() => {\n core.transport.dispatch({\n action: 'CatalogWithFilters',\n args: {\n action: 'LoadNextPage'\n }\n }, 'discover');\n }, []);\n const action = React.useMemo(() => {\n if (typeof urlParams.transportUrl === 'string' && typeof urlParams.type === 'string' && typeof urlParams.catalogId === 'string') {\n const { hostname } = UrlUtils.parse(urlParams.transportUrl);\n if (typeof hostname === 'string' && hostname.length > 0) {\n return {\n action: 'Load',\n args: {\n model: 'CatalogWithFilters',\n args: {\n request: {\n base: urlParams.transportUrl,\n path: {\n resource: 'catalog',\n type: urlParams.type,\n id: urlParams.catalogId,\n extra: Array.from(queryParams.entries())\n }\n }\n }\n }\n };\n }\n } else {\n return {\n action: 'Load',\n args: {\n model: 'CatalogWithFilters',\n args: null\n }\n };\n }\n\n return {\n action: 'Unload'\n };\n }, [urlParams, queryParams]);\n const discover = useModelState({ model: 'discover', action, map, deps: ['ctx'] });\n return [discover, loadNextPage];\n};\n\nmodule.exports = useDiscover;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslate } = require('stremio/common');\n\nconst mapSelectableInputs = (discover, t) => {\n const selectedType = discover.selectable.types.find(({ selected }) => selected);\n const typeSelect = {\n options: discover.selectable.types\n .map(({ type, deepLinks }) => ({\n value: deepLinks.discover,\n label: t.stringWithPrefix(type, 'TYPE_')\n })),\n value: selectedType\n ? selectedType.deepLinks.discover\n : undefined,\n title: discover.selected !== null\n ? () => t.stringWithPrefix(discover.selected.request.path.type, 'TYPE_')\n : t.string('SELECT_TYPE'),\n onSelect: (value) => {\n window.location = value;\n }\n };\n const catalogSelect = {\n options: discover.selectable.catalogs\n .map(({ id, name, addon, deepLinks }) => ({\n value: deepLinks.discover,\n label: t.catalogTitle({ addon, id, name }),\n title: `${name} (${addon.manifest.name})`\n })),\n value: discover.selectable.catalogs\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.discover),\n title: discover.selected !== null\n ? () => {\n const selectableCatalog = discover.selectable.catalogs\n .find(({ id }) => id === discover.selected.request.path.id);\n return selectableCatalog ? t.catalogTitle(selectableCatalog, false) : discover.selected.request.path.id;\n }\n :\n t.string('SELECT_CATALOG'),\n onSelect: (value) => {\n window.location =value;\n }\n };\n const extraSelects = discover.selectable.extra.map(({ name, isRequired, options }) => {\n const selectedExtra = options.find(({ selected }) => selected);\n return {\n isRequired: isRequired,\n options: options.map(({ value, deepLinks }) => ({\n label: typeof value === 'string' ? t.string(value) : t.string('NONE'),\n value: JSON.stringify({\n href: deepLinks.discover,\n value\n })\n })),\n value: JSON.stringify({\n href: selectedExtra.deepLinks.discover,\n value: selectedExtra.value,\n }),\n title: options.some(({ selected, value }) => selected && value === null) ?\n () => t.string(name.toUpperCase())\n : t.string(selectedExtra.value),\n onSelect: (value) => {\n const { href } = JSON.parse(value);\n window.location = href;\n }\n };\n });\n return [[typeSelect, catalogSelect, ...extraSelects], discover.selectable.nextPage];\n};\n\nconst useSelectableInputs = (discover) => {\n const t = useTranslate();\n const selectableInputs = React.useMemo(() => {\n return mapSelectableInputs(discover, t);\n }, [discover.selected, discover.selectable]);\n return selectableInputs;\n};\n\nmodule.exports = useSelectableInputs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst { TextInput } = require('stremio/components');\n\nconst CredentialsTextInput = React.forwardRef((props, ref) => {\n const onKeyDown = React.useCallback((event) => {\n if (typeof props.onKeyDown === 'function') {\n props.onKeyDown(event);\n }\n\n if (!event.nativeEvent.navigationPrevented) {\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {\n event.nativeEvent.spatialNavigationPrevented = true;\n }\n\n if (!event.shiftKey) {\n if (event.key === 'ArrowDown') {\n window.navigate('down');\n } else if (event.key === 'ArrowUp') {\n window.navigate('up');\n }\n }\n }\n }, [props.onKeyDown]);\n return (\n <TextInput {...props} ref={ref} onKeyDown={onKeyDown} />\n );\n});\n\nCredentialsTextInput.displayName = 'CredentialsTextInput';\n\nCredentialsTextInput.propTypes = {\n onKeyDown: PropTypes.func\n};\n\nmodule.exports = CredentialsTextInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst CredentialsTextInput = require('./CredentialsTextInput');\n\nmodule.exports = CredentialsTextInput;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Modal, useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\nconst { useBinaryState } = require('stremio/common');\nconst { Button, Image, Checkbox } = require('stremio/components');\nconst CredentialsTextInput = require('./CredentialsTextInput');\nconst PasswordResetModal = require('./PasswordResetModal');\nconst useFacebookLogin = require('./useFacebookLogin');\nconst { default: useAppleLogin } = require('./useAppleLogin');\n\nconst styles = require('./styles');\n\nconst SIGNUP_FORM = 'signup';\nconst LOGIN_FORM = 'login';\n\nconst Intro = ({ queryParams }) => {\n const { core } = useServices();\n const { t } = useTranslation();\n const routeFocused = useRouteFocused();\n const [startFacebookLogin, stopFacebookLogin] = useFacebookLogin();\n const [startAppleLogin, stopAppleLogin] = useAppleLogin();\n const emailRef = React.useRef(null);\n const passwordRef = React.useRef(null);\n const confirmPasswordRef = React.useRef(null);\n const termsRef = React.useRef(null);\n const privacyPolicyRef = React.useRef(null);\n const marketingRef = React.useRef(null);\n const errorRef = React.useRef(null);\n const [passwordRestModalOpen, openPasswordRestModal, closePasswordResetModal] = useBinaryState(false);\n const [loaderModalOpen, openLoaderModal, closeLoaderModal] = useBinaryState(false);\n const [state, dispatch] = React.useReducer(\n (state, action) => {\n switch (action.type) {\n case 'set-form':\n if (state.form !== action.form) {\n return {\n form: action.form,\n email: '',\n password: '',\n confirmPassword: '',\n termsAccepted: false,\n privacyPolicyAccepted: false,\n marketingAccepted: false,\n error: ''\n };\n }\n return state;\n case 'change-credentials':\n return {\n ...state,\n error: '',\n [action.name]: action.value\n };\n case 'toggle-checkbox':\n return {\n ...state,\n error: '',\n [action.name]: !state[action.name]\n };\n case 'error':\n return {\n ...state,\n error: action.error\n };\n default:\n return state;\n }\n },\n {\n form: [LOGIN_FORM, SIGNUP_FORM].includes(queryParams.get('form')) ? queryParams.get('form') : SIGNUP_FORM,\n email: '',\n password: '',\n confirmPassword: '',\n termsAccepted: false,\n privacyPolicyAccepted: false,\n marketingAccepted: false,\n error: ''\n }\n );\n const loginWithFacebook = React.useCallback(() => {\n openLoaderModal();\n startFacebookLogin()\n .then(({ email, password }) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Authenticate',\n args: {\n type: 'Login',\n email,\n password,\n facebook: true\n }\n }\n });\n })\n .catch((error) => {\n closeLoaderModal();\n dispatch({ type: 'error', error: error.message });\n });\n }, []);\n const cancelLoginWithFacebook = React.useCallback(() => {\n stopFacebookLogin();\n closeLoaderModal();\n }, []);\n const loginWithApple = React.useCallback(() => {\n openLoaderModal();\n startAppleLogin()\n .then(({ token, sub, email, name }) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Authenticate',\n args: {\n type: 'Apple',\n token,\n sub,\n email,\n name\n }\n }\n });\n })\n .catch((error) => {\n closeLoaderModal();\n dispatch({ type: 'error', error: error.message });\n });\n }, []);\n const cancelLoginWithApple = React.useCallback(() => {\n stopAppleLogin();\n closeLoaderModal();\n }, []);\n const loginWithEmail = React.useCallback(() => {\n if (typeof state.email !== 'string' || state.email.length === 0 || !emailRef.current.validity.valid) {\n dispatch({ type: 'error', error: t('INVALID_EMAIL') });\n return;\n }\n if (typeof state.password !== 'string' || state.password.length === 0) {\n dispatch({ type: 'error', error: t('INVALID_PASSWORD') });\n return;\n }\n openLoaderModal();\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Authenticate',\n args: {\n type: 'Login',\n email: state.email,\n password: state.password\n }\n }\n });\n }, [state.email, state.password]);\n const loginAsGuest = React.useCallback(() => {\n if (!state.termsAccepted) {\n dispatch({ type: 'error', error: t('MUST_ACCEPT_TERMS') });\n return;\n }\n window.location = '#/';\n }, [state.termsAccepted]);\n const signup = React.useCallback(() => {\n if (typeof state.email !== 'string' || state.email.length === 0 || !emailRef.current.validity.valid) {\n dispatch({ type: 'error', error: t('INVALID_EMAIL') });\n return;\n }\n if (typeof state.password !== 'string' || state.password.length === 0) {\n dispatch({ type: 'error', error: t('INVALID_PASSWORD') });\n return;\n }\n if (state.password !== state.confirmPassword) {\n dispatch({ type: 'error', error: t('PASSWORDS_NOMATCH') });\n return;\n }\n if (!state.termsAccepted) {\n dispatch({ type: 'error', error: t('MUST_ACCEPT_TERMS') });\n return;\n }\n if (!state.privacyPolicyAccepted) {\n dispatch({ type: 'error', error: 'You must accept the Privacy Policy' });\n return;\n }\n openLoaderModal();\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Authenticate',\n args: {\n type: 'Register',\n email: state.email,\n password: state.password,\n gdpr_consent: {\n tos: state.termsAccepted,\n privacy: state.privacyPolicyAccepted,\n marketing: state.marketingAccepted,\n from: 'web'\n }\n }\n }\n });\n }, [state.email, state.password, state.confirmPassword, state.termsAccepted, state.privacyPolicyAccepted, state.marketingAccepted]);\n const emailOnChange = React.useCallback((event) => {\n dispatch({\n type: 'change-credentials',\n name: 'email',\n value: event.currentTarget.value\n });\n }, []);\n const emailOnSubmit = React.useCallback(() => {\n passwordRef.current.focus();\n }, []);\n const passwordOnChange = React.useCallback((event) => {\n dispatch({\n type: 'change-credentials',\n name: 'password',\n value: event.currentTarget.value\n });\n }, []);\n const passwordOnSubmit = React.useCallback(() => {\n if (state.form === SIGNUP_FORM) {\n confirmPasswordRef.current.focus();\n } else {\n loginWithEmail();\n }\n }, [state.form, loginWithEmail]);\n const confirmPasswordOnChange = React.useCallback((event) => {\n dispatch({\n type: 'change-credentials',\n name: 'confirmPassword',\n value: event.currentTarget.value\n });\n }, []);\n const confirmPasswordOnSubmit = React.useCallback(() => {\n termsRef.current.focus();\n }, []);\n const toggleTermsAccepted = React.useCallback(() => {\n dispatch({ type: 'toggle-checkbox', name: 'termsAccepted' });\n }, []);\n const togglePrivacyPolicyAccepted = React.useCallback(() => {\n dispatch({ type: 'toggle-checkbox', name: 'privacyPolicyAccepted' });\n }, []);\n const toggleMarketingAccepted = React.useCallback(() => {\n dispatch({ type: 'toggle-checkbox', name: 'marketingAccepted' });\n }, []);\n const switchFormOnClick = React.useCallback(() => {\n const queryParams = new URLSearchParams([['form', state.form === SIGNUP_FORM ? LOGIN_FORM : SIGNUP_FORM]]);\n window.location = `#/intro?${queryParams.toString()}`;\n }, [state.form]);\n React.useEffect(() => {\n if ([LOGIN_FORM, SIGNUP_FORM].includes(queryParams.get('form'))) {\n dispatch({ type: 'set-form', form: queryParams.get('form') });\n }\n }, [queryParams]);\n React.useEffect(() => {\n if (routeFocused && typeof state.error === 'string' && state.error.length > 0) {\n errorRef.current.scrollIntoView();\n }\n }, [state.error]);\n React.useEffect(() => {\n if (routeFocused) {\n emailRef.current.focus();\n }\n }, [state.form, routeFocused]);\n React.useEffect(() => {\n const onCoreEvent = ({ event, args }) => {\n switch (event) {\n case 'UserAuthenticated': {\n closeLoaderModal();\n if (routeFocused) {\n window.location = '#/';\n }\n break;\n }\n case 'Error': {\n if (args.source.event === 'UserAuthenticated') {\n closeLoaderModal();\n }\n\n break;\n }\n }\n };\n core.transport.on('CoreEvent', onCoreEvent);\n return () => {\n core.transport.off('CoreEvent', onCoreEvent);\n };\n }, [routeFocused]);\n return (\n <div className={styles['intro-container']}>\n <div className={styles['background-container']} />\n <div className={styles['heading-container']}>\n <div className={styles['logo-container']}>\n <Image className={styles['logo']} src={require('/images/logo.png')} alt={' '} />\n </div>\n <div className={styles['title-container']}>\n {t('WEBSITE_SLOGAN_NEW_NEW')}\n </div>\n <div className={styles['slogan-container']}>\n {t('WEBSITE_SLOGAN_ALL')}\n </div>\n </div>\n <div className={styles['content-container']}>\n <div className={styles['form-container']}>\n <CredentialsTextInput\n ref={emailRef}\n className={styles['credentials-text-input']}\n type={'email'}\n placeholder={t('EMAIL')}\n value={state.email}\n onChange={emailOnChange}\n onSubmit={emailOnSubmit}\n />\n <CredentialsTextInput\n ref={passwordRef}\n className={styles['credentials-text-input']}\n type={'password'}\n placeholder={t('PASSWORD')}\n value={state.password}\n onChange={passwordOnChange}\n onSubmit={passwordOnSubmit}\n />\n {\n state.form === SIGNUP_FORM ?\n <React.Fragment>\n <CredentialsTextInput\n ref={confirmPasswordRef}\n className={styles['credentials-text-input']}\n type={'password'}\n placeholder={t('PASSWORD_CONFIRM')}\n value={state.confirmPassword}\n onChange={confirmPasswordOnChange}\n onSubmit={confirmPasswordOnSubmit}\n />\n <Checkbox\n ref={termsRef}\n label={t('READ_AND_AGREE')}\n link={t('TOS')}\n href={'https://www.stremio.com/tos'}\n checked={state.termsAccepted}\n onChange={toggleTermsAccepted}\n />\n <Checkbox\n ref={privacyPolicyRef}\n label={t('READ_AND_AGREE')}\n link={t('PRIVACY_POLICY')}\n href={'https://www.stremio.com/privacy'}\n checked={state.privacyPolicyAccepted}\n onChange={togglePrivacyPolicyAccepted}\n />\n <Checkbox\n ref={marketingRef}\n label={t('MARKETING_AGREE')}\n checked={state.marketingAccepted}\n onChange={toggleMarketingAccepted}\n />\n </React.Fragment>\n :\n <div className={styles['forgot-password-link-container']}>\n <Button className={styles['forgot-password-link']} onClick={openPasswordRestModal}>{t('FORGOT_PASSWORD')}</Button>\n </div>\n }\n {\n state.error && state.error.length > 0 ?\n <div ref={errorRef} className={styles['error-message']}>{state.error}</div>\n :\n null\n }\n <Button className={classnames(styles['form-button'], styles['submit-button'])} onClick={state.form === SIGNUP_FORM ? signup : loginWithEmail}>\n <div className={styles['label']}>{state.form === SIGNUP_FORM ? t('SIGN_UP') : t('LOG_IN')}</div>\n </Button>\n </div>\n <div className={styles['options-container']}>\n <Button className={classnames(styles['form-button'], styles['facebook-button'])} onClick={loginWithFacebook}>\n <Icon className={styles['icon']} name={'facebook'} />\n <div className={styles['label']}>{t('FB_LOGIN')}</div>\n </Button>\n <Button className={classnames(styles['form-button'], styles['apple-button'])} onClick={loginWithApple}>\n <Icon className={styles['icon']} name={'macos'} />\n <div className={styles['label']}>{t('APPLE_LOGIN')}</div>\n </Button>\n {\n state.form === SIGNUP_FORM ?\n <Button className={classnames(styles['form-button'], styles['login-form-button'])} onClick={switchFormOnClick}>\n <div className={classnames(styles['label'], styles['uppercase'])}>{t('LOG_IN')}</div>\n </Button>\n :\n null\n }\n {\n state.form === LOGIN_FORM ?\n <Button className={classnames(styles['form-button'], styles['signup-form-button'])} onClick={switchFormOnClick}>\n <div className={classnames(styles['label'], styles['uppercase'])}>{t('SIGN_UP_EMAIL')}</div>\n </Button>\n :\n null\n }\n {\n state.form === SIGNUP_FORM ?\n <Button className={classnames(styles['form-button'], styles['guest-login-button'])} onClick={loginAsGuest}>\n <div className={classnames(styles['label'], styles['uppercase'])}>{t('GUEST_LOGIN')}</div>\n </Button>\n :\n null\n }\n </div>\n </div>\n {\n passwordRestModalOpen ?\n <PasswordResetModal email={state.email} onCloseRequest={closePasswordResetModal} />\n :\n null\n }\n {\n loaderModalOpen ?\n <Modal className={styles['loading-modal-container']}>\n <div className={styles['loader-container']}>\n <Icon className={styles['icon']} name={'person'} />\n <div className={styles['label']}>{t('AUTHENTICATING')}</div>\n <Button className={styles['button']} onClick={cancelLoginWithFacebook && cancelLoginWithApple}>\n {t('BUTTON_CANCEL')}\n </Button>\n </div>\n </Modal>\n :\n null\n }\n </div>\n );\n};\n\nIntro.propTypes = {\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nmodule.exports = Intro;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst { useRouteFocused } = require('stremio-router');\nconst { usePlatform } = require('stremio/common');\nconst { ModalDialog } = require('stremio/components');\nconst CredentialsTextInput = require('../CredentialsTextInput');\nconst styles = require('./styles');\n\nconst PasswordResetModal = ({ email, onCloseRequest }) => {\n const { t } = useTranslation();\n const routeFocused = useRouteFocused();\n const platform = usePlatform();\n const [error, setError] = React.useState('');\n const emailRef = React.useRef(null);\n const goToPasswordReset = React.useCallback(() => {\n emailRef.current.value.length > 0 && emailRef.current.validity.valid ?\n platform.openExternal('https://www.strem.io/reset-password/' + emailRef.current.value, '_blank')\n :\n setError('Invalid email');\n }, []);\n const passwordResetModalButtons = React.useMemo(() => {\n return [\n {\n className: styles['cancel-button'],\n label: t('BUTTON_CANCEL'),\n props: {\n onClick: onCloseRequest\n }\n },\n {\n label: t('SEND'),\n props: {\n onClick: goToPasswordReset\n }\n }\n ];\n }, [onCloseRequest]);\n const emailOnChange = React.useCallback(() => {\n setError('');\n }, []);\n React.useEffect(() => {\n if (routeFocused) {\n emailRef.current.focus();\n }\n }, [routeFocused]);\n return (\n <ModalDialog className={styles['password-reset-modal-container']} title={t('PASSWORD_RESET')} buttons={passwordResetModalButtons} onCloseRequest={onCloseRequest}>\n <CredentialsTextInput\n ref={emailRef}\n className={styles['credentials-text-input']}\n type={'email'}\n placeholder={'Email'}\n defaultValue={typeof email === 'string' ? email : ''}\n onChange={emailOnChange}\n onSubmit={goToPasswordReset}\n />\n {\n error.length > 0 ?\n <div className={styles['error-message']}>{error}</div>\n :\n null\n }\n </ModalDialog>\n );\n};\n\nPasswordResetModal.propTypes = {\n email: PropTypes.string,\n onCloseRequest: PropTypes.func\n};\n\nmodule.exports = PasswordResetModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst PasswordResetModal = require('./PasswordResetModal');\n\nmodule.exports = PasswordResetModal;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Intro = require('./Intro');\n\nmodule.exports = Intro;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst NotFound = require('stremio/routes/NotFound');\nconst { useProfile, useNotifications, routesRegexp, useOnScrollToBottom, withCoreSuspender } = require('stremio/common');\nconst { DelayedRenderer, Chips, Image, MainNavBars, LibItem, MultiselectMenu } = require('stremio/components');\nconst { default: Placeholder } = require('./Placeholder');\nconst useLibrary = require('./useLibrary');\nconst useSelectableInputs = require('./useSelectableInputs');\nconst styles = require('./styles');\n\nconst SCROLL_TO_BOTTOM_TRESHOLD = 400;\n\nfunction withModel(Library) {\n const withModel = ({ urlParams, queryParams }) => {\n const model = React.useMemo(() => {\n return typeof urlParams.path === 'string' ?\n urlParams.path.match(routesRegexp.library.regexp) ?\n 'library'\n :\n urlParams.path.match(routesRegexp.continuewatching.regexp) ?\n 'continue_watching'\n :\n null\n :\n null;\n }, [urlParams.path]);\n if (model === null) {\n return (\n <NotFound />\n );\n }\n\n return (\n <Library\n key={model}\n model={model}\n urlParams={urlParams}\n queryParams={queryParams}\n />\n );\n };\n withModel.displayName = 'withModel';\n return withModel;\n}\n\nconst Library = ({ model, urlParams, queryParams }) => {\n const { t } = useTranslation();\n const profile = useProfile();\n const notifications = useNotifications();\n const [library, loadNextPage] = useLibrary(model, urlParams, queryParams);\n const [typeSelect, sortChips, hasNextPage] = useSelectableInputs(library);\n const scrollContainerRef = React.useRef(null);\n const onScrollToBottom = React.useCallback(() => {\n if (hasNextPage) {\n loadNextPage();\n }\n }, [hasNextPage, loadNextPage]);\n const onScroll = useOnScrollToBottom(onScrollToBottom, SCROLL_TO_BOTTOM_TRESHOLD);\n React.useLayoutEffect(() => {\n if (scrollContainerRef.current !== null && library.selected && library.selected.request.page === 1 && library.catalog.length !== 0) {\n scrollContainerRef.current.scrollTop = 0;\n }\n }, [profile.auth, library.selected]);\n React.useEffect(() => {\n if (!library.selected?.type && typeSelect.value) {\n window.location = typeSelect.value;\n }\n }, [typeSelect.value, library.selected]);\n return (\n <MainNavBars className={styles['library-container']} route={model}>\n {\n profile.auth !== null ?\n <div className={styles['library-content']}>\n <div className={styles['selectable-inputs-container']}>\n <MultiselectMenu {...typeSelect} className={styles['select-input-container']} />\n <Chips {...sortChips} className={styles['select-input-container']} />\n </div>\n {\n library.selected === null ?\n <DelayedRenderer delay={500}>\n <div className={styles['message-container']}>\n <Image\n className={styles['image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['message-label']}>{model === 'library' ? t('LIBRARY_NOT_LOADED') : t('BOARD_CONTINUE_WATCHING_NOT_LOADED')}</div>\n </div>\n </DelayedRenderer>\n :\n library.catalog.length === 0 ?\n <div className={styles['message-container']}>\n <Image\n className={styles['image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['message-label']}>{model === 'library' ? t('LIBRARY_EMPTY') : t('BOARD_CONTINUE_WATCHING_EMPTY')}</div>\n </div>\n :\n <div ref={scrollContainerRef} className={classnames(styles['meta-items-container'], 'animation-fade-in')} onScroll={onScroll}>\n {\n library.catalog.map((libItem, index) => (\n <LibItem {...libItem} notifications={notifications} removable={model === 'library'} key={index} />\n ))\n }\n </div>\n }\n </div>\n :\n <Placeholder />\n }\n </MainNavBars>\n );\n};\n\nLibrary.propTypes = {\n model: PropTypes.oneOf(['library', 'continue_watching']),\n urlParams: PropTypes.shape({\n type: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst LibraryFallback = ({ model }) => (\n <MainNavBars className={styles['library-container']} route={model} />\n);\n\nLibraryFallback.propTypes = Library.propTypes;\n\nmodule.exports = withModel(withCoreSuspender(Library, LibraryFallback));\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Library = require('./Library');\n\nmodule.exports = Library;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useModelState } = require('stremio/common');\n\nconst useLibrary = (model, urlParams, queryParams) => {\n const { core } = useServices();\n const loadNextPage = React.useCallback(() => {\n core.transport.dispatch({\n action: 'LibraryWithFilters',\n args: {\n action: 'LoadNextPage',\n }\n }, 'library');\n }, []);\n const action = React.useMemo(() => ({\n action: 'Load',\n args: {\n model: 'LibraryWithFilters',\n args: {\n request: {\n type: typeof urlParams.type === 'string' ? urlParams.type : null,\n sort: queryParams.has('sort') ? queryParams.get('sort') : undefined,\n }\n }\n }\n }), [urlParams, queryParams]);\n const library = useModelState({ model, action });\n return [library, loadNextPage];\n};\n\nmodule.exports = useLibrary;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslate } = require('stremio/common');\nconst mapSelectableInputs = (library, t) => {\n const selectedType = library.selectable.types.find(({ selected }) => selected) || library.selectable.types.find(({ type }) => type === null);\n const typeSelect = {\n options: library.selectable.types\n .map(({ type, deepLinks }) => ({\n value: deepLinks.library,\n label: type === null ? t.string('TYPE_ALL') : t.stringWithPrefix(type, 'TYPE_')\n })),\n value: selectedType?.deepLinks.library,\n onSelect: (value) => {\n window.location = value;\n }\n };\n const sortChips = {\n options: library.selectable.sorts\n .map(({ sort, deepLinks }) => ({\n value: deepLinks.library,\n label: t.stringWithPrefix(sort.toUpperCase(), 'SORT_')\n })),\n selected: library.selectable.sorts\n .filter(({ selected }) => selected)\n .map(({ deepLinks }) => deepLinks.library),\n onSelect: (value) => {\n window.location = value;\n }\n };\n return [typeSelect, sortChips, library.selectable.nextPage];\n};\n\nconst useSelectableInputs = (library) => {\n const t = useTranslate();\n const selectableInputs = React.useMemo(() => {\n return mapSelectableInputs(library, t);\n }, [library]);\n return selectableInputs;\n};\n\nmodule.exports = useSelectableInputs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useServices } = require('stremio/services');\nconst { withCoreSuspender } = require('stremio/common');\nconst { VerticalNavBar, HorizontalNavBar, DelayedRenderer, Image, MetaPreview, ModalDialog } = require('stremio/components');\nconst StreamsList = require('./StreamsList');\nconst VideosList = require('./VideosList');\nconst useMetaDetails = require('./useMetaDetails');\nconst useSeason = require('./useSeason');\nconst useMetaExtensionTabs = require('./useMetaExtensionTabs');\nconst styles = require('./styles');\n\nconst MetaDetails = ({ urlParams, queryParams }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const metaDetails = useMetaDetails(urlParams);\n const [season, setSeason] = useSeason(urlParams, queryParams);\n const [tabs, metaExtension, clearMetaExtension] = useMetaExtensionTabs(metaDetails.metaExtensions);\n const [metaPath, streamPath] = React.useMemo(() => {\n return metaDetails.selected !== null ?\n [metaDetails.selected.metaPath, metaDetails.selected.streamPath]\n :\n [null, null];\n }, [metaDetails.selected]);\n const video = React.useMemo(() => {\n return streamPath !== null && metaDetails.metaItem !== null && metaDetails.metaItem.content.type === 'Ready' ?\n metaDetails.metaItem.content.content.videos.reduce((result, video) => {\n if (video.id === streamPath.id) {\n return video;\n }\n\n return result;\n }, null)\n :\n null;\n }, [metaDetails.metaItem, streamPath]);\n const addToLibrary = React.useCallback(() => {\n if (metaDetails.metaItem === null || metaDetails.metaItem.content.type !== 'Ready') {\n return;\n }\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'AddToLibrary',\n args: metaDetails.metaItem.content.content\n }\n });\n }, [metaDetails]);\n const removeFromLibrary = React.useCallback(() => {\n if (metaDetails.metaItem === null || metaDetails.metaItem.content.type !== 'Ready') {\n return;\n }\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'RemoveFromLibrary',\n args: metaDetails.metaItem.content.content.id\n }\n });\n }, [metaDetails]);\n const toggleNotifications = React.useCallback(() => {\n if (metaDetails.libraryItem) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'ToggleLibraryItemNotifications',\n args: [metaDetails.libraryItem._id, !metaDetails.libraryItem.state.noNotif],\n }\n });\n }\n }, [metaDetails.libraryItem]);\n const seasonOnSelect = React.useCallback((event) => {\n setSeason(event.value);\n }, [setSeason]);\n const handleEpisodeSearch = React.useCallback((season, episode) => {\n const searchVideoHash = encodeURIComponent(`${urlParams.id}:${season}:${episode}`);\n const url = window.location.hash;\n const searchVideoPath = url.replace(encodeURIComponent(urlParams.videoId), searchVideoHash);\n window.location = searchVideoPath;\n }, [urlParams, window.location]);\n\n const renderBackgroundImageFallback = React.useCallback(() => null, []);\n const renderBackground = React.useMemo(() => !!(\n metaPath &&\n metaDetails?.metaItem &&\n metaDetails.metaItem.content.type !== 'Loading' &&\n typeof metaDetails.metaItem.content.content?.background === 'string' &&\n metaDetails.metaItem.content.content.background.length > 0\n ), [metaPath, metaDetails]);\n\n return (\n <div className={styles['metadetails-container']}>\n {\n renderBackground ?\n <div className={styles['background-image-layer']}>\n <Image\n className={styles['background-image']}\n src={metaDetails.metaItem.content.content.background}\n renderFallback={renderBackgroundImageFallback}\n alt={' '}\n />\n </div>\n :\n null\n }\n <HorizontalNavBar\n className={styles['nav-bar']}\n backButton={true}\n fullscreenButton={true}\n navMenu={true}\n />\n <div className={styles['metadetails-content']}>\n {\n tabs.length > 0 ?\n <VerticalNavBar\n className={styles['vertical-nav-bar']}\n tabs={tabs}\n selected={metaExtension !== null ? metaExtension.url : null}\n />\n :\n null\n }\n {\n metaPath === null ?\n <DelayedRenderer delay={500}>\n <div className={styles['meta-message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>{t('ERR_NO_META_SELECTED')}</div>\n </div>\n </DelayedRenderer>\n :\n metaDetails.metaItem === null ?\n <div className={styles['meta-message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>{t('ERR_NO_ADDONS_FOR_META')}</div>\n </div>\n :\n metaDetails.metaItem.content.type === 'Err' ?\n <div className={styles['meta-message-container']}>\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['message-label']}>{t('ERR_NO_META_FOUND')}</div>\n </div>\n :\n metaDetails.metaItem.content.type === 'Loading' ?\n <MetaPreview.Placeholder className={styles['meta-preview']} />\n :\n <React.Fragment>\n <MetaPreview\n className={classnames(styles['meta-preview'], 'animation-fade-in')}\n name={metaDetails.metaItem.content.content.name}\n logo={metaDetails.metaItem.content.content.logo}\n runtime={metaDetails.metaItem.content.content.runtime}\n releaseInfo={metaDetails.metaItem.content.content.releaseInfo}\n released={metaDetails.metaItem.content.content.released}\n description={\n video !== null && typeof video.overview === 'string' && video.overview.length > 0 ?\n video.overview\n :\n metaDetails.metaItem.content.content.description\n }\n links={metaDetails.metaItem.content.content.links}\n trailerStreams={metaDetails.metaItem.content.content.trailerStreams}\n inLibrary={metaDetails.metaItem.content.content.inLibrary}\n toggleInLibrary={metaDetails.metaItem.content.content.inLibrary ? removeFromLibrary : addToLibrary}\n metaId={metaDetails.metaItem.content.content.id}\n ratingInfo={metaDetails.ratingInfo}\n />\n </React.Fragment>\n }\n <div className={styles['spacing']} />\n {\n streamPath !== null ?\n <StreamsList\n className={styles['streams-list']}\n streams={metaDetails.streams}\n video={video}\n type={streamPath.type}\n onEpisodeSearch={handleEpisodeSearch}\n />\n :\n metaPath !== null ?\n <VideosList\n className={styles['videos-list']}\n metaItem={metaDetails.metaItem}\n libraryItem={metaDetails.libraryItem}\n season={season}\n seasonOnSelect={seasonOnSelect}\n toggleNotifications={toggleNotifications}\n />\n :\n null\n }\n </div>\n {\n metaExtension !== null ?\n <ModalDialog\n className={styles['meta-extension-modal-container']}\n title={metaExtension.name}\n onCloseRequest={clearMetaExtension}>\n <iframe\n className={styles['meta-extension-modal-iframe']}\n sandbox={'allow-forms allow-scripts allow-same-origin'}\n src={metaExtension.url}\n />\n </ModalDialog>\n :\n null\n }\n </div>\n );\n};\n\nMetaDetails.propTypes = {\n urlParams: PropTypes.shape({\n type: PropTypes.string,\n id: PropTypes.string,\n videoId: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst MetaDetailsFallback = () => (\n <div className={styles['metadetails-container']}>\n <HorizontalNavBar\n className={styles['nav-bar']}\n backButton={true}\n fullscreenButton={true}\n navMenu={true}\n />\n </div>\n);\n\nmodule.exports = withCoreSuspender(MetaDetails, MetaDetailsFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { t } = require('i18next');\nconst { useProfile, usePlatform, useToast, useBinaryState } = require('stremio/common');\nconst { Button, Image, Popup } = require('stremio/components');\nconst { useServices } = require('stremio/services');\nconst { useRouteFocused } = require('stremio-router');\nconst StreamPlaceholder = require('./StreamPlaceholder');\nconst styles = require('./styles');\n\nconst Stream = ({ className, videoId, videoReleased, addonName, name, description, thumbnail, progress, deepLinks, ...props }) => {\n const profile = useProfile();\n const toast = useToast();\n const platform = usePlatform();\n const { core } = useServices();\n const routeFocused = useRouteFocused();\n\n const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);\n\n const popupLabelOnMouseUp = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented) {\n if (event.nativeEvent.ctrlKey || event.nativeEvent.button === 2) {\n event.preventDefault();\n toggleMenu();\n }\n }\n }, []);\n const popupLabelOnContextMenu = React.useCallback((event) => {\n if (!event.nativeEvent.togglePopupPrevented && !event.nativeEvent.ctrlKey) {\n event.preventDefault();\n }\n }, [toggleMenu]);\n const popupLabelOnLongPress = React.useCallback((event) => {\n if (event.nativeEvent.pointerType !== 'mouse' && !event.nativeEvent.togglePopupPrevented) {\n toggleMenu();\n }\n }, [toggleMenu]);\n const popupMenuOnPointerDown = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnContextMenu = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnClick = React.useCallback((event) => {\n event.nativeEvent.togglePopupPrevented = true;\n }, []);\n const popupMenuOnKeyDown = React.useCallback((event) => {\n event.nativeEvent.buttonClickPrevented = true;\n }, []);\n\n const href = React.useMemo(() => {\n return deepLinks ?\n deepLinks.externalPlayer ?\n deepLinks.externalPlayer.web ?\n deepLinks.externalPlayer.web\n :\n deepLinks.externalPlayer.openPlayer ?\n deepLinks.externalPlayer.openPlayer[platform.name] ?\n deepLinks.externalPlayer.openPlayer[platform.name]\n :\n deepLinks.externalPlayer.playlist\n :\n deepLinks.player\n :\n deepLinks.player\n :\n null;\n }, [deepLinks]);\n\n const download = React.useMemo(() => {\n return href === deepLinks?.externalPlayer?.playlist ?\n deepLinks.externalPlayer.fileName\n :\n null;\n }, [href, deepLinks]);\n\n const target = React.useMemo(() => {\n return href === deepLinks?.externalPlayer?.web ?\n '_blank'\n :\n null;\n }, [href, deepLinks]);\n\n const streamLink = React.useMemo(() => {\n return deepLinks?.externalPlayer?.download;\n }, [deepLinks]);\n\n const markVideoAsWatched = React.useCallback(() => {\n if (typeof videoId === 'string') {\n core.transport.dispatch({\n action: 'MetaDetails',\n args: {\n action: 'MarkVideoAsWatched',\n args: [{ id: videoId, released: videoReleased }, true]\n }\n });\n }\n }, [videoId, videoReleased]);\n\n const onClick = React.useCallback((event) => {\n if (profile.settings.playerType !== null) {\n markVideoAsWatched();\n toast.show({\n type: 'success',\n title: 'Stream opened in external player',\n timeout: 4000\n });\n }\n\n if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n }, [props.onClick, profile.settings, markVideoAsWatched]);\n\n const copyStreamLink = React.useCallback((event) => {\n event.preventDefault();\n closeMenu();\n if (streamLink) {\n navigator.clipboard.writeText(streamLink)\n .then(() => {\n toast.show({\n type: 'success',\n title: t('PLAYER_COPY_STREAM_SUCCESS'),\n timeout: 4000\n });\n })\n .catch(() => {\n toast.show({\n type: 'error',\n title: t('PLAYER_COPY_STREAM_ERROR'),\n timeout: 4000,\n });\n });\n }\n }, [streamLink]);\n\n const renderThumbnailFallback = React.useCallback(() => (\n <Icon className={styles['placeholder-icon']} name={'ic_broken_link'} />\n ), []);\n\n const renderLabel = React.useMemo(() => function renderLabel({ className, children, ...props }) {\n return (\n <Button className={classnames(className, styles['stream-container'])} title={addonName} href={href} target={target} download={download} onClick={onClick} {...props}>\n <div className={styles['info-container']}>\n {\n typeof thumbnail === 'string' && thumbnail.length > 0 ?\n <div className={styles['thumbnail-container']} title={name || addonName}>\n <Image\n className={styles['thumbnail']}\n src={thumbnail}\n alt={' '}\n renderFallback={renderThumbnailFallback}\n />\n </div>\n :\n <div className={styles['addon-name-container']} title={name || addonName}>\n <div className={styles['addon-name']}>{name || addonName}</div>\n </div>\n }\n {\n progress !== null && !isNaN(progress) && progress > 0 ?\n <div className={styles['progress-bar-container']}>\n <div className={styles['progress-bar']} style={{ width: `${progress}%` }} />\n <div className={styles['progress-bar-background']} />\n </div>\n :\n null\n }\n </div>\n <div className={styles['description-container']} title={description}>{description}</div>\n <Icon className={styles['icon']} name={'play'} />\n {children}\n </Button>\n );\n }, [thumbnail, progress, addonName, name, description, href, target, download, onClick]);\n\n const renderMenu = React.useMemo(() => function renderMenu() {\n return (\n <div className={styles['context-menu-content']} onPointerDown={popupMenuOnPointerDown} onContextMenu={popupMenuOnContextMenu} onClick={popupMenuOnClick} onKeyDown={popupMenuOnKeyDown}>\n <div className={styles['context-menu-title']}>\n {description}\n </div>\n <Button className={styles['context-menu-option-container']} title={t('CTX_PLAY')}>\n <Icon className={styles['menu-icon']} name={'play'} />\n <div className={styles['context-menu-option-label']}>{t('CTX_PLAY')}</div>\n </Button>\n {\n streamLink &&\n <Button className={styles['context-menu-option-container']} title={t('CTX_COPY_STREAM_LINK')} onClick={copyStreamLink}>\n <Icon className={styles['menu-icon']} name={'link'} />\n <div className={styles['context-menu-option-label']}>{t('CTX_COPY_STREAM_LINK')}</div>\n </Button>\n }\n </div>\n );\n }, [copyStreamLink, onClick]);\n\n React.useEffect(() => {\n if (!routeFocused) {\n closeMenu();\n }\n }, [routeFocused]);\n\n return (\n <Popup\n className={className}\n onMouseUp={popupLabelOnMouseUp}\n onLongPress={popupLabelOnLongPress}\n onContextMenu={popupLabelOnContextMenu}\n open={menuOpen}\n onCloseRequest={closeMenu}\n renderLabel={renderLabel}\n renderMenu={renderMenu}\n />\n );\n};\n\nStream.Placeholder = StreamPlaceholder;\n\nStream.propTypes = {\n className: PropTypes.string,\n videoId: PropTypes.string,\n videoReleased: PropTypes.instanceOf(Date),\n addonName: PropTypes.string,\n name: PropTypes.string,\n description: PropTypes.string,\n thumbnail: PropTypes.string,\n progress: PropTypes.number,\n deepLinks: PropTypes.shape({\n player: PropTypes.string,\n externalPlayer: PropTypes.shape({\n download: PropTypes.string,\n streaming: PropTypes.string,\n playlist: PropTypes.string,\n fileName: PropTypes.string,\n web: PropTypes.string,\n openPlayer: PropTypes.shape({\n ios: PropTypes.string,\n android: PropTypes.string,\n windows: PropTypes.string,\n macos: PropTypes.string,\n linux: PropTypes.string,\n })\n })\n }),\n onClick: PropTypes.func\n};\n\nmodule.exports = Stream;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst styles = require('./styles');\n\nconst PlayIconCircleCentered = ({ className }) => {\n return (\n <svg className={className} viewBox={'0 0 100 100'}>\n <circle className={styles['background']} cx={'50'} cy={'50'} r={'50'} />\n <svg className={styles['icon']} x={'0'} y={'25'} width={'100'} height={'50'} viewBox={'0 0 37.14 32'}>\n <path d={'M 9.14,0 37.14,16 9.14,32 Z'} />\n </svg>\n </svg>\n );\n};\n\nPlayIconCircleCentered.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = PlayIconCircleCentered;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst PlayIconCircleCentered = require('./PlayIconCircleCentered');\n\nmodule.exports = PlayIconCircleCentered;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst PlayIconCircleCentered = require('./PlayIconCircleCentered');\nconst styles = require('./styles');\n\nconst StreamPlaceholder = ({ className }) => {\n return (\n <div className={classnames(className, styles['stream-placeholder-container'])}>\n <div className={styles['addon-container']}>\n <div className={styles['addon-name']} />\n </div>\n <div className={styles['info-container']}>\n <div className={styles['description-container']} />\n <div className={styles['description-container']} />\n </div>\n <PlayIconCircleCentered className={styles['play-icon']} />\n </div>\n );\n};\n\nStreamPlaceholder.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = StreamPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst StreamPlaceholder = require('./StreamPlaceholder');\n\nmodule.exports = StreamPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Stream = require('./Stream');\n\nmodule.exports = Stream;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, Image, MultiselectMenu } = require('stremio/components');\nconst { useServices } = require('stremio/services');\nconst Stream = require('./Stream');\nconst styles = require('./styles');\nconst { usePlatform, useProfile } = require('stremio/common');\nconst { default: SeasonEpisodePicker } = require('../EpisodePicker');\n\nconst ALL_ADDONS_KEY = 'ALL';\n\nconst StreamsList = ({ className, video, type, onEpisodeSearch, ...props }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const platform = usePlatform();\n const profile = useProfile();\n const streamsContainerRef = React.useRef(null);\n const [selectedAddon, setSelectedAddon] = React.useState(ALL_ADDONS_KEY);\n const onAddonSelected = React.useCallback((value) => {\n streamsContainerRef.current.scrollTo({ top: 0, left: 0, behavior: platform.name === 'ios' ? 'smooth' : 'instant' });\n setSelectedAddon(value);\n }, [platform]);\n const showInstallAddonsButton = React.useMemo(() => {\n return !profile || profile.auth === null || profile.auth?.user?.isNewUser === true && !video?.upcoming;\n }, [profile, video]);\n const backButtonOnClick = React.useCallback(() => {\n if (video.deepLinks && typeof video.deepLinks.metaDetailsVideos === 'string') {\n window.location.replace(video.deepLinks.metaDetailsVideos + (\n typeof video.season === 'number' ?\n `?${new URLSearchParams({ 'season': video.season })}`\n :\n null\n ));\n } else {\n window.history.back();\n }\n }, [video]);\n const countLoadingAddons = React.useMemo(() => {\n return props.streams.filter((stream) => stream.content.type === 'Loading').length;\n }, [props.streams]);\n const streamsByAddon = React.useMemo(() => {\n return props.streams\n .filter((streams) => streams.content.type === 'Ready')\n .reduce((streamsByAddon, streams) => {\n streamsByAddon[streams.addon.transportUrl] = {\n addon: streams.addon,\n streams: streams.content.content.map((stream) => ({\n ...stream,\n onClick: () => {\n core.transport.analytics({\n event: 'StreamClicked',\n args: {\n stream\n }\n });\n },\n addonName: streams.addon.manifest.name\n }))\n };\n\n return streamsByAddon;\n }, {});\n }, [props.streams]);\n const filteredStreams = React.useMemo(() => {\n return selectedAddon === ALL_ADDONS_KEY ?\n Object.values(streamsByAddon).map(({ streams }) => streams).flat(1)\n :\n streamsByAddon[selectedAddon] ?\n streamsByAddon[selectedAddon].streams\n :\n [];\n }, [streamsByAddon, selectedAddon]);\n const selectableOptions = React.useMemo(() => {\n return {\n options: [\n {\n value: ALL_ADDONS_KEY,\n label: t('ALL_ADDONS'),\n title: t('ALL_ADDONS')\n },\n ...Object.keys(streamsByAddon).map((transportUrl) => ({\n value: transportUrl,\n label: streamsByAddon[transportUrl].addon.manifest.name,\n title: streamsByAddon[transportUrl].addon.manifest.name,\n }))\n ],\n value: selectedAddon,\n onSelect: onAddonSelected\n };\n }, [streamsByAddon, selectedAddon]);\n\n const handleEpisodePicker = React.useCallback((season, episode) => {\n onEpisodeSearch(season, episode);\n }, [onEpisodeSearch]);\n\n return (\n <div className={classnames(className, styles['streams-list-container'])}>\n <div className={styles['select-choices-wrapper']}>\n {\n video ?\n <React.Fragment>\n <Button className={classnames(styles['button-container'], styles['back-button-container'])} tabIndex={-1} onClick={backButtonOnClick}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n </Button>\n <div className={styles['episode-title']}>\n {`S${video?.season}E${video?.episode} ${(video?.title)}`}\n </div>\n </React.Fragment>\n :\n null\n }\n {\n Object.keys(streamsByAddon).length > 1 ?\n <MultiselectMenu\n {...selectableOptions}\n className={styles['select-input-container']}\n />\n :\n null\n }\n </div>\n {\n props.streams.length === 0 ?\n <div className={styles['message-container']}>\n {\n type === 'series' ?\n <SeasonEpisodePicker className={styles['search']} onSubmit={handleEpisodePicker} />\n : null\n }\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['label']}>{t('ERR_NO_ADDONS_FOR_STREAMS')}</div>\n </div>\n :\n props.streams.every((streams) => streams.content.type === 'Err') ?\n <div className={styles['message-container']}>\n {\n type === 'series' ?\n <SeasonEpisodePicker className={styles['search']} onSubmit={handleEpisodePicker} />\n : null\n }\n {\n video?.upcoming ?\n <div className={styles['label']}>{t('UPCOMING')}...</div>\n : null\n }\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['label']}>{t('NO_STREAM')}</div>\n {\n showInstallAddonsButton ?\n <Button className={styles['install-button-container']} title={t('ADDON_CATALOGUE_MORE')} href={'#/addons'}>\n <Icon className={styles['icon']} name={'addons'} />\n <div className={styles['label']}>{t('ADDON_CATALOGUE_MORE')}</div>\n </Button>\n :\n null\n }\n </div>\n :\n filteredStreams.length === 0 ?\n <div className={styles['streams-container']}>\n <Stream.Placeholder />\n <Stream.Placeholder />\n </div>\n :\n <React.Fragment>\n {\n countLoadingAddons > 0 ?\n <div className={styles['addons-loading-container']}>\n <div className={styles['addons-loading']}>\n {countLoadingAddons} {t('MOBILE_ADDONS_LOADING')}\n </div>\n <span className={styles['addons-loading-bar']}></span>\n </div>\n :\n null\n }\n <div className={styles['streams-container']} ref={streamsContainerRef}>\n {filteredStreams.map((stream, index) => (\n <Stream\n key={index}\n videoId={video?.id}\n videoReleased={video?.released}\n addonName={stream.addonName}\n name={stream.name}\n description={stream.description}\n thumbnail={stream.thumbnail}\n progress={stream.progress}\n deepLinks={stream.deepLinks}\n onClick={stream.onClick}\n />\n ))}\n {\n showInstallAddonsButton ?\n <Button className={styles['install-button-container']} title={t('ADDON_CATALOGUE_MORE')} href={'#/addons'}>\n <Icon className={styles['icon']} name={'addons'} />\n <div className={styles['label']}>{t('ADDON_CATALOGUE_MORE')}</div>\n </Button>\n :\n null\n }\n </div>\n </React.Fragment>\n }\n </div>\n );\n};\n\nStreamsList.propTypes = {\n className: PropTypes.string,\n streams: PropTypes.arrayOf(PropTypes.object).isRequired,\n video: PropTypes.object,\n type: PropTypes.string,\n onEpisodeSearch: PropTypes.func\n};\n\nmodule.exports = StreamsList;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst StreamsList = require('./StreamsList');\n\nmodule.exports = StreamsList;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { t } = require('i18next');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button, MultiselectMenu } = require('stremio/components');\nconst SeasonsBarPlaceholder = require('./SeasonsBarPlaceholder');\nconst styles = require('./styles');\n\nconst SeasonsBar = ({ className, seasons, season, onSelect }) => {\n const options = React.useMemo(() => {\n return seasons.map((season) => ({\n value: String(season),\n label: season > 0 ? t('SEASON_NUMBER', { season }) : t('SPECIAL')\n }));\n }, [seasons]);\n const selectedSeason = React.useMemo(() => {\n return String(season);\n }, [season]);\n const prevNextButtonOnClick = React.useCallback((event) => {\n if (typeof onSelect === 'function') {\n const seasonIndex = seasons.indexOf(season);\n const valueIndex = event.currentTarget.dataset.action === 'next' ?\n seasonIndex + 1 < seasons.length ? seasonIndex + 1 : seasons.length - 1\n :\n seasonIndex - 1 >= 0 ? seasonIndex - 1 : 0;\n const value = seasons[valueIndex];\n onSelect({\n type: 'select',\n value: value,\n reactEvent: event,\n nativeEvent: event.nativeEvent\n });\n }\n }, [season, seasons, onSelect]);\n const seasonOnSelect = React.useCallback((value) => {\n if (typeof onSelect === 'function') {\n onSelect({\n type: 'select',\n value: value,\n reactEvent: event.reactEvent,\n nativeEvent: event.nativeEvent\n });\n }\n }, [onSelect]);\n\n const [prevDisabled, nextDisabled] = React.useMemo(() => {\n const currentIndex = seasons.indexOf(season);\n return [\n currentIndex === 0,\n currentIndex === seasons.length - 1\n ];\n }, [season, seasons]);\n\n return (\n <div className={classnames(className, styles['seasons-bar-container'])}>\n <Button className={classnames(styles['prev-season-button'], { 'disabled': prevDisabled })} title={t('PREV_SEASON')} data-action={'prev'} onClick={prevNextButtonOnClick}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n <div className={styles['label']}>{t('BUTTON_PREV')}</div>\n </Button>\n <MultiselectMenu\n className={styles['seasons-popup-label-container']}\n options={options}\n title={season > 0 ? t('SEASON_NUMBER', { season }) : t('SPECIAL')}\n value={selectedSeason}\n onSelect={seasonOnSelect}\n />\n <Button className={classnames(styles['next-season-button'], { 'disabled': nextDisabled })} title={t('NEXT_SEASON')} data-action={'next'} onClick={prevNextButtonOnClick}>\n <div className={styles['label']}>{t('BUTTON_NEXT')}</div>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </Button>\n </div>\n );\n};\n\nSeasonsBar.Placeholder = SeasonsBarPlaceholder;\n\nSeasonsBar.propTypes = {\n className: PropTypes.string,\n seasons: PropTypes.arrayOf(PropTypes.number).isRequired,\n season: PropTypes.number.isRequired,\n onSelect: PropTypes.func\n};\n\nmodule.exports = SeasonsBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst styles = require('./styles');\n\nconst SeasonsBarPlaceholder = ({ className }) => {\n const { t } = useTranslation();\n return (\n <div className={classnames(className, styles['seasons-bar-placeholder-container'])}>\n <div className={styles['prev-season-button']}>\n <Icon className={styles['icon']} name={'chevron-back'} />\n <div className={styles['label']}>{t('SEASON_PREV')}</div>\n </div>\n <div className={styles['seasons-popup-label-container']}>\n <div className={styles['seasons-popup-label']}>{t('SEASON_NUMBER', { season: 1 })}</div>\n <Icon className={styles['seasons-popup-icon']} name={'caret-down'} />\n </div>\n <div className={styles['next-season-button']}>\n <div className={styles['label']}>{t('SEASON_NEXT')}</div>\n <Icon className={styles['icon']} name={'chevron-forward'} />\n </div>\n </div>\n );\n};\n\nSeasonsBarPlaceholder.propTypes = {\n className: PropTypes.string\n};\n\nmodule.exports = SeasonsBarPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SeasonsBarPlaceholder = require('./SeasonsBarPlaceholder');\n\nmodule.exports = SeasonsBarPlaceholder;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SeasonsBar = require('./SeasonsBar');\n\nmodule.exports = SeasonsBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { t } = require('i18next');\nconst { useServices } = require('stremio/services');\nconst { useProfile } = require('stremio/common');\nconst { Image, SearchBar, Toggle, Video } = require('stremio/components');\nconst SeasonsBar = require('./SeasonsBar');\nconst { default: EpisodePicker } = require('../EpisodePicker');\nconst styles = require('./styles');\n\nconst VideosList = ({ className, metaItem, libraryItem, season, seasonOnSelect, toggleNotifications }) => {\n const { core } = useServices();\n const profile = useProfile();\n const showNotificationsToggle = React.useMemo(() => {\n return metaItem?.content?.content?.inLibrary && metaItem?.content?.content?.videos?.length;\n }, [metaItem]);\n const videos = React.useMemo(() => {\n return metaItem && metaItem.content.type === 'Ready' ?\n metaItem.content.content.videos\n :\n [];\n }, [metaItem]);\n const seasons = React.useMemo(() => {\n return videos\n .map(({ season }) => season)\n .filter((season, index, seasons) => {\n return season !== null &&\n !isNaN(season) &&\n typeof season === 'number' &&\n seasons.indexOf(season) === index;\n })\n .sort((a, b) => (a || Number.MAX_SAFE_INTEGER) - (b || Number.MAX_SAFE_INTEGER));\n }, [videos]);\n const selectedSeason = React.useMemo(() => {\n if (seasons.includes(season)) {\n return season;\n }\n\n const video = videos?.find((video) => video.id === libraryItem?.state.video_id);\n\n if (video && video.season && seasons.includes(video.season)) {\n return video.season;\n }\n\n const nonSpecialSeasons = seasons.filter((season) => season !== 0);\n if (nonSpecialSeasons.length > 0) {\n return nonSpecialSeasons[0];\n }\n\n if (seasons.length > 0) {\n return seasons[0];\n }\n\n return null;\n }, [seasons, season, videos, libraryItem]);\n const videosForSeason = React.useMemo(() => {\n return videos\n .filter((video) => {\n return selectedSeason === null || video.season === selectedSeason;\n })\n .sort((a, b) => {\n return a.episode - b.episode;\n });\n }, [videos, selectedSeason]);\n\n const seasonWatched = React.useMemo(() => {\n return videosForSeason.every((video) => video.watched);\n }, [videosForSeason]);\n\n const [search, setSearch] = React.useState('');\n const searchInputOnChange = React.useCallback((event) => {\n setSearch(event.currentTarget.value);\n }, []);\n\n const onMarkVideoAsWatched = (video, watched) => {\n core.transport.dispatch({\n action: 'MetaDetails',\n args: {\n action: 'MarkVideoAsWatched',\n args: [video, !watched]\n }\n });\n };\n\n const onMarkSeasonAsWatched = (season, watched) => {\n core.transport.dispatch({\n action: 'MetaDetails',\n args: {\n action: 'MarkSeasonAsWatched',\n args: [season, !watched]\n }\n });\n };\n\n const onSeasonSearch = (value) => {\n if (value) {\n seasonOnSelect({\n type: 'select',\n value,\n });\n }\n };\n\n return (\n <div className={classnames(className, styles['videos-list-container'])}>\n {\n !metaItem || metaItem.content.type === 'Loading' ?\n <React.Fragment>\n <SeasonsBar.Placeholder className={styles['seasons-bar']} />\n <SearchBar.Placeholder className={styles['search-bar']} title={t('SEARCH_VIDEOS')} />\n <div className={styles['videos-scroll-container']}>\n <Video.Placeholder />\n <Video.Placeholder />\n <Video.Placeholder />\n <Video.Placeholder />\n <Video.Placeholder />\n </div>\n </React.Fragment>\n :\n metaItem.content.type === 'Err' || videosForSeason.length === 0 ?\n <div className={styles['message-container']}>\n <EpisodePicker className={styles['episode-picker']} onSubmit={onSeasonSearch} />\n <Image className={styles['image']} src={require('/images/empty.png')} alt={' '} />\n <div className={styles['label']}>{t('ERR_NO_VIDEOS_FOR_META')}</div>\n </div>\n :\n <React.Fragment>\n {\n showNotificationsToggle && libraryItem ?\n <Toggle className={styles['notifications-toggle']} checked={!libraryItem.state.noNotif} onClick={toggleNotifications}>\n {t('DETAIL_RECEIVE_NOTIF_SERIES')}\n </Toggle>\n :\n null\n }\n {\n seasons.length > 0 ?\n <SeasonsBar\n className={styles['seasons-bar']}\n season={selectedSeason}\n seasons={seasons}\n onSelect={seasonOnSelect}\n />\n :\n null\n }\n <SearchBar\n className={styles['search-bar']}\n title={t('SEARCH_VIDEOS')}\n value={search}\n onChange={searchInputOnChange}\n />\n <div className={styles['videos-container']}>\n {\n videosForSeason\n .filter((video) => {\n return search.length === 0 ||\n (\n (typeof video.title === 'string' && video.title.toLowerCase().includes(search.toLowerCase())) ||\n (!isNaN(video.released.getTime()) && video.released.toLocaleString(profile.settings.interfaceLanguage, { year: '2-digit', month: 'short', day: 'numeric' }).toLowerCase().includes(search.toLowerCase()))\n );\n })\n .map((video, index) => (\n <Video\n key={index}\n id={video.id}\n title={video.title}\n thumbnail={video.thumbnail}\n season={video.season}\n episode={video.episode}\n released={video.released}\n upcoming={video.upcoming}\n watched={video.watched}\n progress={video.progress}\n deepLinks={video.deepLinks}\n scheduled={video.scheduled}\n seasonWatched={seasonWatched}\n onMarkVideoAsWatched={onMarkVideoAsWatched}\n onMarkSeasonAsWatched={onMarkSeasonAsWatched}\n />\n ))\n }\n </div>\n </React.Fragment>\n }\n </div>\n );\n};\n\nVideosList.propTypes = {\n className: PropTypes.string,\n metaItem: PropTypes.object,\n libraryItem: PropTypes.object,\n season: PropTypes.number,\n seasonOnSelect: PropTypes.func,\n toggleNotifications: PropTypes.func,\n};\n\nmodule.exports = VideosList;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VideosList = require('./VideosList');\n\nmodule.exports = VideosList;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst MetaDetails = require('./MetaDetails');\n\nmodule.exports = MetaDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useModelState } = require('stremio/common');\n\nconst map = (metaDetails) => ({\n ...metaDetails,\n metaItem: metaDetails.metaItem !== null && metaDetails.metaItem.content.type === 'Ready' ?\n {\n ...metaDetails.metaItem,\n content: {\n ...metaDetails.metaItem.content,\n content: {\n ...metaDetails.metaItem.content.content,\n released: new Date(\n typeof metaDetails.metaItem.content.content.released === 'string' ?\n metaDetails.metaItem.content.content.released\n :\n NaN\n ),\n videos: metaDetails.metaItem.content.content.videos.map((video) => ({\n ...video,\n released: new Date(\n typeof video.released === 'string' ?\n video.released\n :\n NaN\n ),\n }))\n }\n }\n }\n :\n metaDetails.metaItem\n});\n\nconst useMetaDetails = (urlParams) => {\n const action = React.useMemo(() => {\n if (typeof urlParams.type === 'string' && typeof urlParams.id === 'string') {\n return {\n action: 'Load',\n args: {\n model: 'MetaDetails',\n args: {\n metaPath: {\n resource: 'meta',\n type: urlParams.type,\n id: urlParams.id,\n extra: []\n },\n streamPath: typeof urlParams.videoId === 'string' ?\n {\n resource: 'stream',\n type: urlParams.type,\n id: urlParams.videoId,\n extra: []\n }\n :\n null,\n guessStream: true,\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [urlParams]);\n return useModelState({ model: 'meta_details', action, map });\n};\n\nmodule.exports = useMetaDetails;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useMetaExtensionTabs = (metaExtensions) => {\n const tabs = React.useMemo(() => {\n return metaExtensions\n .map((extension) => ({\n id: extension.url,\n label: extension.addon.manifest.name,\n logo: extension.addon.manifest.logo,\n icon: 'addons',\n onClick: () => setSelected(extension)\n }));\n }, [metaExtensions]);\n const [selected, setSelected] = React.useState(null);\n const clear = React.useCallback(() => {\n setSelected(null);\n }, []);\n return [tabs, selected, clear];\n};\n\nmodule.exports = useMetaExtensionTabs;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst useSeason = (urlParams, queryParams) => {\n const season = React.useMemo(() => {\n return queryParams.has('season') && !isNaN(queryParams.get('season')) ?\n parseInt(queryParams.get('season'), 10)\n :\n null;\n }, [queryParams]);\n const setSeason = React.useCallback((season) => {\n const nextQueryParams = new URLSearchParams(queryParams);\n nextQueryParams.set('season', season);\n window.location.replace(`#${urlParams.path}?${nextQueryParams}`);\n }, [urlParams, queryParams]);\n return [season, setSeason];\n};\n\nmodule.exports = useSeason;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst { HorizontalNavBar, Image } = require('stremio/components');\nconst styles = require('./styles');\n\nconst NotFound = () => {\n const { t } = useTranslation();\n return (\n <div className={styles['not-found-container']}>\n <HorizontalNavBar\n className={styles['nav-bar']}\n title={t('PAGE_NOT_FOUND')}\n backButton={true}\n fullscreenButton={true}\n navMenu={true}\n />\n <div className={styles['not-found-content']}>\n <Image\n className={styles['not-found-image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['not-found-label']}>{t('PAGE_NOT_FOUND')}</div>\n </div>\n </div>\n );\n};\n\nmodule.exports = NotFound;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst NotFound = require('./NotFound');\n\nmodule.exports = NotFound;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { Image } = require('stremio/components');\nconst styles = require('./styles');\n\nconst BufferingLoader = React.forwardRef(({ className, logo }, ref) => {\n return (\n <div ref={ref} className={classnames(className, styles['buffering-loader-container'])}>\n <Image\n className={styles['buffering-loader']}\n src={logo}\n alt={' '}\n fallbackSrc={require('/images/stremio_symbol.png')}\n />\n </div>\n );\n});\n\nBufferingLoader.propTypes = {\n className: PropTypes.string,\n logo: PropTypes.string,\n};\n\nmodule.exports = BufferingLoader;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst BufferingLoader = require('./BufferingLoader');\n\nmodule.exports = BufferingLoader;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/components');\nconst { useServices } = require('stremio/services');\nconst SeekBar = require('./SeekBar');\nconst VolumeSlider = require('./VolumeSlider');\nconst styles = require('./styles');\nconst { useBinaryState, usePlatform } = require('stremio/common');\nconst { t } = require('i18next');\n\nconst ControlBar = ({\n className,\n paused,\n time,\n duration,\n buffered,\n volume,\n muted,\n playbackSpeed,\n subtitlesTracks,\n audioTracks,\n metaItem,\n nextVideo,\n stream,\n statistics,\n onPlayRequested,\n onPauseRequested,\n onNextVideoRequested,\n onMuteRequested,\n onUnmuteRequested,\n onVolumeChangeRequested,\n onSeekRequested,\n onToggleSubtitlesMenu,\n onToggleAudioMenu,\n onToggleSpeedMenu,\n onToggleSideDrawer,\n onToggleOptionsMenu,\n onToggleStatisticsMenu,\n onTouchEnd,\n ...props\n}) => {\n const { chromecast } = useServices();\n const platform = usePlatform();\n const [chromecastServiceActive, setChromecastServiceActive] = React.useState(() => chromecast.active);\n const [buttonsMenuOpen, , , toggleButtonsMenu] = useBinaryState(false);\n const onSubtitlesButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.subtitlesMenuClosePrevented = true;\n }, []);\n const onAudioButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.audioMenuClosePrevented = true;\n }, []);\n const onSpeedButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.speedMenuClosePrevented = true;\n }, []);\n const onVideosButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.videosMenuClosePrevented = true;\n }, []);\n const onOptionsButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.optionsMenuClosePrevented = true;\n }, []);\n const onStatisticsButtonMouseDown = React.useCallback((event) => {\n event.nativeEvent.statisticsMenuClosePrevented = true;\n }, []);\n const onPlayPauseButtonClick = React.useCallback(() => {\n if (paused) {\n if (typeof onPlayRequested === 'function') {\n onPlayRequested();\n }\n } else {\n if (typeof onPauseRequested === 'function') {\n onPauseRequested();\n }\n }\n }, [paused, onPlayRequested, onPauseRequested]);\n const onNextVideoButtonClick = React.useCallback(() => {\n if (nextVideo !== null && typeof onNextVideoRequested === 'function') {\n onNextVideoRequested();\n }\n }, [nextVideo, onNextVideoRequested]);\n const onMuteButtonClick = React.useCallback(() => {\n if (muted) {\n if (typeof onUnmuteRequested === 'function') {\n onUnmuteRequested();\n }\n } else {\n if (typeof onMuteRequested === 'function') {\n onMuteRequested();\n }\n }\n }, [muted, onMuteRequested, onUnmuteRequested]);\n const onChromecastButtonClick = React.useCallback(() => {\n chromecast.transport.requestSession();\n }, []);\n React.useEffect(() => {\n const onStateChanged = () => {\n setChromecastServiceActive(chromecast.active);\n };\n chromecast.on('stateChanged', onStateChanged);\n return () => {\n chromecast.off('stateChanged', onStateChanged);\n };\n }, []);\n return (\n <div {...props} onTouchStart={props.onMouseOver} onTouchMove={props.onMouseMove} onTouchEnd={onTouchEnd} className={classnames(className, styles['control-bar-container'])}>\n <SeekBar\n className={styles['seek-bar']}\n time={time}\n duration={duration}\n buffered={buffered}\n onSeekRequested={onSeekRequested}\n />\n <div className={styles['control-bar-buttons-container']}>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': typeof paused !== 'boolean' })} title={paused ? t('PLAYER_PLAY') : t('PLAYER_PAUSE')} tabIndex={-1} onClick={onPlayPauseButtonClick}>\n <Icon className={styles['icon']} name={typeof paused !== 'boolean' || paused ? 'play' : 'pause'} />\n </Button>\n {\n nextVideo !== null ?\n <Button className={classnames(styles['control-bar-button'])} title={t('PLAYER_NEXT_VIDEO')} tabIndex={-1} onClick={onNextVideoButtonClick}>\n <Icon className={styles['icon']} name={'next'} />\n </Button>\n :\n null\n }\n <Button className={classnames(styles['control-bar-button'], { 'disabled': typeof muted !== 'boolean' })} title={muted ? t('PLAYER_UNMUTE') : t('PLAYER_MUTE')} tabIndex={-1} onClick={onMuteButtonClick}>\n <Icon\n className={styles['icon']}\n name={\n (typeof muted === 'boolean' && muted) ? 'volume-mute' :\n (volume === null || isNaN(volume)) ? 'volume-off' :\n volume === 0 ? 'volume-mute' :\n volume < 30 ? 'volume-low' :\n volume < 70 ? 'volume-medium' :\n 'volume-high'\n }\n />\n </Button>\n {\n !platform.isMobile ?\n <VolumeSlider\n className={styles['volume-slider']}\n volume={volume}\n muted={muted}\n onVolumeChangeRequested={onVolumeChangeRequested}\n />\n : null\n }\n <div className={styles['spacing']} />\n <Button className={styles['control-bar-buttons-menu-button']} onClick={toggleButtonsMenu}>\n <Icon className={styles['icon']} name={'more-vertical'} />\n </Button>\n <div className={classnames(styles['control-bar-buttons-menu-container'], { 'open': buttonsMenuOpen })}>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': statistics === null || statistics.type === 'Err' || stream === null || typeof stream.infoHash !== 'string' || typeof stream.fileIdx !== 'number' })} tabIndex={-1} onMouseDown={onStatisticsButtonMouseDown} onClick={onToggleStatisticsMenu}>\n <Icon className={styles['icon']} name={'network'} />\n </Button>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': playbackSpeed === null })} tabIndex={-1} onMouseDown={onSpeedButtonMouseDown} onClick={onToggleSpeedMenu}>\n <Icon className={styles['icon']} name={'speed'} />\n </Button>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': !chromecastServiceActive })} tabIndex={-1} onClick={onChromecastButtonClick}>\n <Icon className={styles['icon']} name={'cast'} />\n </Button>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': !Array.isArray(subtitlesTracks) || subtitlesTracks.length === 0 })} tabIndex={-1} onMouseDown={onSubtitlesButtonMouseDown} onClick={onToggleSubtitlesMenu}>\n <Icon className={styles['icon']} name={'subtitles'} />\n </Button>\n <Button className={classnames(styles['control-bar-button'], { 'disabled': !Array.isArray(audioTracks) || audioTracks.length === 0 })} tabIndex={-1} onMouseDown={onAudioButtonMouseDown} onClick={onToggleAudioMenu}>\n <Icon className={styles['icon']} name={'audio-tracks'} />\n </Button>\n {\n metaItem?.content?.videos?.length > 0 ?\n <Button className={styles['control-bar-button']} tabIndex={-1} onMouseDown={onVideosButtonMouseDown} onClick={onToggleSideDrawer}>\n <Icon className={styles['icon']} name={'episodes'} />\n </Button>\n :\n null\n }\n <Button className={classnames(styles['control-bar-button'], { 'disabled': !stream })} tabIndex={-1} onMouseDown={onOptionsButtonMouseDown} onClick={onToggleOptionsMenu}>\n <Icon className={styles['icon']} name={'more-horizontal'} />\n </Button>\n </div>\n </div>\n </div>\n );\n};\n\nControlBar.propTypes = {\n className: PropTypes.string,\n paused: PropTypes.bool,\n time: PropTypes.number,\n duration: PropTypes.number,\n buffered: PropTypes.number,\n volume: PropTypes.number,\n muted: PropTypes.bool,\n playbackSpeed: PropTypes.number,\n subtitlesTracks: PropTypes.array,\n audioTracks: PropTypes.array,\n metaItem: PropTypes.object,\n nextVideo: PropTypes.object,\n stream: PropTypes.object,\n statistics: PropTypes.object,\n onPlayRequested: PropTypes.func,\n onPauseRequested: PropTypes.func,\n onNextVideoRequested: PropTypes.func,\n onMuteRequested: PropTypes.func,\n onUnmuteRequested: PropTypes.func,\n onVolumeChangeRequested: PropTypes.func,\n onSeekRequested: PropTypes.func,\n onToggleSubtitlesMenu: PropTypes.func,\n onToggleAudioMenu: PropTypes.func,\n onToggleSpeedMenu: PropTypes.func,\n onToggleSideDrawer: PropTypes.func,\n onToggleOptionsMenu: PropTypes.func,\n onToggleStatisticsMenu: PropTypes.func,\n onMouseOver: PropTypes.func,\n onMouseMove: PropTypes.func,\n onTouchEnd: PropTypes.func,\n};\n\nmodule.exports = ControlBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst { useRouteFocused } = require('stremio-router');\nconst { useBinaryState } = require('stremio/common');\nconst { Button, Slider } = require('stremio/components');\nconst formatTime = require('./formatTime');\nconst styles = require('./styles');\n\nconst SeekBar = ({ className, time, duration, buffered, onSeekRequested }) => {\n const disabled = time === null || isNaN(time) || duration === null || isNaN(duration);\n const routeFocused = useRouteFocused();\n const [seekTime, setSeekTime] = React.useState(null);\n\n const [remainingTimeMode,,, toggleRemainingTimeMode] = useBinaryState(false);\n const resetTimeDebounced = React.useCallback(debounce(() => {\n setSeekTime(null);\n }, 1500), []);\n const onSlide = React.useCallback((time) => {\n resetTimeDebounced.cancel();\n setSeekTime(time);\n }, []);\n const onComplete = React.useCallback((time) => {\n resetTimeDebounced();\n setSeekTime(time);\n if (typeof onSeekRequested === 'function') {\n onSeekRequested(time);\n }\n }, [onSeekRequested]);\n React.useLayoutEffect(() => {\n if (!routeFocused || disabled) {\n resetTimeDebounced.cancel();\n setSeekTime(null);\n }\n }, [routeFocused, disabled]);\n React.useEffect(() => {\n return () => {\n resetTimeDebounced.cancel();\n };\n }, []);\n return (\n <div className={classnames(className, styles['seek-bar-container'], { 'active': seekTime !== null })}>\n <div className={styles['label']}>{formatTime(seekTime !== null ? seekTime : time)}</div>\n <Slider\n className={classnames(styles['slider'], { 'active': seekTime !== null })}\n value={\n !disabled ?\n seekTime !== null ? seekTime : time\n :\n 0\n }\n buffered={buffered}\n minimumValue={0}\n maximumValue={duration}\n disabled={disabled}\n onSlide={onSlide}\n onComplete={onComplete}\n />\n <Button onClick={toggleRemainingTimeMode} tabIndex={-1}>\n <div className={styles['label']}>\n {remainingTimeMode && duration !== null && !isNaN(duration)\n ? formatTime(duration - time, '-')\n : formatTime(duration) }\n </div>\n </Button>\n </div>\n );\n};\n\nSeekBar.propTypes = {\n className: PropTypes.string,\n time: PropTypes.number,\n duration: PropTypes.number,\n buffered: PropTypes.number,\n onSeekRequested: PropTypes.func\n};\n\nmodule.exports = SeekBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst formatUnit = (value) => {\n return ('0' + value).slice(-1 * Math.max(value.toString().length, 2));\n};\n\nconst formatTime = (time, prefix = '') => {\n if (time === null || isNaN(time)) {\n return '--:--:--';\n }\n\n const hours = Math.floor(time / (1000 * 60 * 60));\n const minutes = Math.floor((time / (1000 * 60)) % 60);\n const seconds = Math.floor((time / 1000) % 60);\n return `${formatUnit(hours)}:${formatUnit(minutes)}:${formatUnit(seconds)}${prefix}`;\n};\n\nmodule.exports = formatTime;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SeekBar = require('./SeekBar');\n\nmodule.exports = SeekBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst { useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\nconst { Slider } = require('stremio/components');\nconst styles = require('./styles');\n\nconst VolumeSlider = ({ className, volume, onVolumeChangeRequested, muted }) => {\n const { shell } = useServices();\n const disabled = volume === null || isNaN(volume);\n const routeFocused = useRouteFocused();\n const [slidingVolume, setSlidingVolume] = React.useState(null);\n const maxVolume = shell.active ? 200: 100;\n const resetVolumeDebounced = React.useCallback(debounce(() => {\n setSlidingVolume(null);\n }, 100), []);\n const onSlide = React.useCallback((volume) => {\n resetVolumeDebounced.cancel();\n setSlidingVolume(volume);\n if (typeof onVolumeChangeRequested === 'function') {\n onVolumeChangeRequested(volume);\n }\n }, [onVolumeChangeRequested]);\n const onComplete = React.useCallback((volume) => {\n resetVolumeDebounced();\n setSlidingVolume(volume);\n if (typeof onVolumeChangeRequested === 'function') {\n onVolumeChangeRequested(volume);\n }\n }, [onVolumeChangeRequested]);\n React.useLayoutEffect(() => {\n if (!routeFocused || disabled) {\n resetVolumeDebounced.cancel();\n setSlidingVolume(null);\n }\n }, [routeFocused, disabled]);\n React.useEffect(() => {\n return () => {\n resetVolumeDebounced.cancel();\n };\n }, []);\n return (\n <Slider\n className={classnames(className, styles['volume-slider'], { 'active': slidingVolume !== null })}\n value={\n !disabled ?\n !muted ?\n slidingVolume !== null ? slidingVolume : volume\n : 0\n :\n 100\n }\n minimumValue={0}\n maximumValue={maxVolume}\n disabled={disabled}\n onSlide={onSlide}\n onComplete={onComplete}\n audioBoost={!!shell.active}\n />\n );\n};\n\nVolumeSlider.propTypes = {\n className: PropTypes.string,\n volume: PropTypes.number,\n onVolumeChangeRequested: PropTypes.func,\n muted: PropTypes.bool,\n};\n\nmodule.exports = VolumeSlider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VolumeSlider = require('./VolumeSlider');\n\nmodule.exports = VolumeSlider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ControlBar = require('./ControlBar');\n\nmodule.exports = ControlBar;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst PropTypes = require('prop-types');\nconst classNames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/components');\nconst styles = require('./styles');\n\nconst Error = React.forwardRef(({ className, code, message, stream }, ref) => {\n const { t } = useTranslation();\n\n const [playlist, fileName] = React.useMemo(() => {\n return [\n stream?.deepLinks?.externalPlayer?.playlist,\n stream?.deepLinks?.externalPlayer?.fileName,\n ];\n }, [stream]);\n\n return (\n <div ref={ref} className={classNames(className, styles['error'])}>\n <div className={styles['error-label']} title={message}>{message}</div>\n {\n code === 2 ?\n <div className={styles['error-sub']} title={t('EXTERNAL_PLAYER_HINT')}>{t('EXTERNAL_PLAYER_HINT')}</div>\n :\n null\n }\n {\n playlist && fileName ?\n <Button\n className={styles['playlist-button']}\n title={t('PLAYER_OPEN_IN_EXTERNAL')}\n href={playlist}\n download={fileName}\n target={'_blank'}\n >\n <Icon className={styles['icon']} name={'ic_downloads'} />\n <div className={styles['label']}>{t('PLAYER_OPEN_IN_EXTERNAL')}</div>\n </Button>\n :\n null\n }\n </div>\n );\n});\n\nError.propTypes = {\n className: PropTypes.string,\n code: PropTypes.number,\n message: PropTypes.string,\n stream: PropTypes.object,\n};\n\nmodule.exports = Error;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Error = require('./Error');\n\nmodule.exports = Error;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { CONSTANTS, useProfile } = require('stremio/common');\nconst { Button, Image } = require('stremio/components');\nconst styles = require('./styles');\nconst { useTranslation } = require('react-i18next');\n\nconst NextVideoPopup = ({ className, metaItem, nextVideo, onDismiss, onNextVideoRequested }) => {\n const { t } = useTranslation();\n const profile = useProfile();\n const blurPosterImage = profile.settings.hideSpoilers && metaItem.type === 'series';\n const watchNowButtonRef = React.useRef(null);\n const [animationEnded, setAnimationEnded] = React.useState(false);\n const videoName = React.useMemo(() => {\n const title = nextVideo && nextVideo.title || metaItem && metaItem.title;\n return nextVideo !== null &&\n typeof nextVideo.season === 'number' &&\n typeof nextVideo.episode === 'number' ?\n `${title} (S${nextVideo.season}E${nextVideo.episode})`\n :\n title;\n }, [metaItem, nextVideo]);\n const onAnimationEnd = React.useCallback(() => {\n setAnimationEnded(true);\n }, []);\n const renderPosterFallback = React.useCallback(() => {\n return metaItem !== null && typeof metaItem.type === 'string' ?\n <Icon\n className={styles['placeholder-icon']}\n name={CONSTANTS.ICON_FOR_TYPE.has(metaItem.type) ? CONSTANTS.ICON_FOR_TYPE.get(metaItem.type) : CONSTANTS.ICON_FOR_TYPE.get('other')}\n />\n :\n null;\n }, [metaItem]);\n const onDismissButtonClick = React.useCallback(() => {\n if (typeof onDismiss === 'function') {\n onDismiss();\n }\n }, [onDismiss]);\n const onWatchNowButtonClick = React.useCallback(() => {\n if (typeof onNextVideoRequested === 'function') {\n onNextVideoRequested();\n }\n }, [onNextVideoRequested]);\n React.useLayoutEffect(() => {\n if (animationEnded === true && watchNowButtonRef.current !== null) {\n watchNowButtonRef.current.focus();\n }\n }, [animationEnded]);\n return (\n <div className={classnames(className, styles['next-video-popup-container'])} onAnimationEnd={onAnimationEnd}>\n <div className={styles['poster-container']}>\n <Image\n className={classnames(styles['poster-image'], { [styles['blurred']]: blurPosterImage })}\n src={nextVideo?.thumbnail}\n alt={' '}\n fallbackSrc={metaItem?.poster}\n renderFallback={renderPosterFallback}\n />\n </div>\n <div className={styles['info-container']}>\n <div className={styles['details-container']}>\n {\n typeof metaItem?.name === 'string' ?\n <div className={styles['name']}>\n <span className={styles['label']}>{t('PLAYER_NEXT_VIDEO_TITLE_SHORT')}</span> { metaItem.name }\n </div>\n :\n null\n }\n {\n typeof videoName === 'string' ?\n <div className={styles['title']}>\n { videoName }\n </div>\n :\n null\n }\n </div>\n <div className={styles['buttons-container']}>\n <Button className={classnames(styles['button-container'], styles['dismiss'])} onClick={onDismissButtonClick}>\n <Icon className={styles['icon']} name={'close'} />\n <div className={styles['label']}>{t('PLAYER_NEXT_VIDEO_BUTTON_DISMISS')}</div>\n </Button>\n <Button ref={watchNowButtonRef} className={classnames(styles['button-container'], styles['play-button'])} onClick={onWatchNowButtonClick}>\n <Icon className={styles['icon']} name={'play'} />\n <div className={styles['label']}>{t('PLAYER_NEXT_VIDEO_BUTTON_WATCH')}</div>\n </Button>\n </div>\n </div>\n </div>\n );\n};\n\nNextVideoPopup.propTypes = {\n className: PropTypes.string,\n metaItem: PropTypes.object,\n nextVideo: PropTypes.object,\n onDismiss: PropTypes.func,\n onNextVideoRequested: PropTypes.func\n};\n\nmodule.exports = NextVideoPopup;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst NextVideoPopup = require('./NextVideoPopup');\n\nmodule.exports = NextVideoPopup;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { Button } = require('stremio/components');\nconst styles = require('./styles');\n\nconst Option = ({ icon, label, deviceId, disabled, onClick }) => {\n const onButtonClick = React.useCallback(() => {\n if (typeof onClick === 'function') {\n onClick(deviceId);\n }\n }, [onClick, deviceId]);\n return (\n <Button className={classnames(styles['option-container'], { 'disabled': disabled })} disabled={disabled} onClick={onButtonClick}>\n <Icon className={styles['icon']} name={icon} />\n <div className={styles['label']}>{ label }</div>\n </Button>\n );\n};\n\nOption.propTypes = {\n icon: PropTypes.string,\n label: PropTypes.string,\n deviceId: PropTypes.string,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n};\n\nmodule.exports = Option;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Option = require('./Option');\n\nmodule.exports = Option;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst { usePlatform, useToast } = require('stremio/common');\nconst { useServices } = require('stremio/services');\nconst Option = require('./Option');\nconst styles = require('./styles');\n\nconst OptionsMenu = ({ className, stream, playbackDevices, extraSubtitlesTracks, selectedExtraSubtitlesTrackId }) => {\n const { t } = useTranslation();\n const { core } = useServices();\n const platform = usePlatform();\n const toast = useToast();\n const [streamingUrl, downloadUrl] = React.useMemo(() => {\n return stream !== null ?\n stream.deepLinks &&\n stream.deepLinks.externalPlayer &&\n [stream.deepLinks.externalPlayer.streaming, stream.deepLinks.externalPlayer.download]\n :\n [null, null];\n }, [stream]);\n const externalDevices = React.useMemo(() => {\n return playbackDevices.filter(({ type }) => type === 'external');\n }, [playbackDevices]);\n\n const subtitlesTrackUrl = React.useMemo(() => {\n const track = extraSubtitlesTracks?.find(({ id }) => id === selectedExtraSubtitlesTrackId);\n return track?.fallbackUrl ?? track?.url ?? null;\n }, [extraSubtitlesTracks, selectedExtraSubtitlesTrackId]);\n\n const onCopyStreamButtonClick = React.useCallback(() => {\n if (streamingUrl || downloadUrl) {\n navigator.clipboard.writeText(streamingUrl || downloadUrl)\n .then(() => {\n toast.show({\n type: 'success',\n title: 'Copied',\n message: t('PLAYER_COPY_STREAM_SUCCESS'),\n timeout: 3000\n });\n })\n .catch((e) => {\n console.error(e);\n toast.show({\n type: 'error',\n title: t('Error'),\n message: `${t('PLAYER_COPY_STREAM_ERROR')}: ${streamingUrl || downloadUrl}`,\n timeout: 3000\n });\n });\n }\n }, [streamingUrl, downloadUrl]);\n const onDownloadVideoButtonClick = React.useCallback(() => {\n if (streamingUrl || downloadUrl) {\n platform.openExternal(streamingUrl || downloadUrl);\n }\n }, [streamingUrl, downloadUrl]);\n\n const onDownloadSubtitlesClick = React.useCallback(() => {\n subtitlesTrackUrl && platform.openExternal(subtitlesTrackUrl);\n }, [subtitlesTrackUrl]);\n\n const onExternalDeviceRequested = React.useCallback((deviceId) => {\n if (streamingUrl) {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'PlayOnDevice',\n args: {\n device: deviceId,\n source: streamingUrl,\n }\n }\n });\n }\n }, [streamingUrl]);\n const onMouseDown = React.useCallback((event) => {\n event.nativeEvent.optionsMenuClosePrevented = true;\n }, []);\n\n return (\n <div className={classnames(className, styles['options-menu-container'])} onMouseDown={onMouseDown}>\n {\n streamingUrl || downloadUrl ?\n <Option\n icon={'link'}\n label={t('CTX_COPY_STREAM_LINK')}\n disabled={stream === null}\n onClick={onCopyStreamButtonClick}\n />\n :\n null\n }\n {\n streamingUrl || downloadUrl ?\n <Option\n icon={'download'}\n label={t('CTX_DOWNLOAD_VIDEO')}\n disabled={stream === null}\n onClick={onDownloadVideoButtonClick}\n />\n :\n null\n }\n {\n subtitlesTrackUrl ?\n <Option\n icon={'download'}\n label={t('CTX_DOWNLOAD_SUBS')}\n disabled={stream === null}\n onClick={onDownloadSubtitlesClick}\n />\n :\n null\n }\n {\n streamingUrl && externalDevices.map(({ id, name }) => (\n <Option\n key={id}\n icon={'vlc'}\n label={t('PLAYER_PLAY_IN', { device: name })}\n deviceId={id}\n disabled={stream === null}\n onClick={onExternalDeviceRequested}\n />\n ))\n }\n </div>\n );\n};\n\nOptionsMenu.propTypes = {\n className: PropTypes.string,\n stream: PropTypes.object,\n playbackDevices: PropTypes.array,\n extraSubtitlesTracks: PropTypes.array,\n selectedExtraSubtitlesTrackId: PropTypes.string,\n};\n\nmodule.exports = OptionsMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst OptionsMenu = require('./OptionsMenu');\n\nmodule.exports = OptionsMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst langs = require('langs');\nconst { useTranslation } = require('react-i18next');\nconst { useRouteFocused } = require('stremio-router');\nconst { useServices } = require('stremio/services');\nconst { onFileDrop, useSettings, useFullscreen, useBinaryState, useToast, useStreamingServer, withCoreSuspender, CONSTANTS, useShell } = require('stremio/common');\nconst { HorizontalNavBar, Transition, ContextMenu } = require('stremio/components');\nconst BufferingLoader = require('./BufferingLoader');\nconst VolumeChangeIndicator = require('./VolumeChangeIndicator');\nconst Error = require('./Error');\nconst ControlBar = require('./ControlBar');\nconst NextVideoPopup = require('./NextVideoPopup');\nconst StatisticsMenu = require('./StatisticsMenu');\nconst OptionsMenu = require('./OptionsMenu');\nconst SubtitlesMenu = require('./SubtitlesMenu');\nconst { default: AudioMenu } = require('./AudioMenu');\nconst SpeedMenu = require('./SpeedMenu');\nconst { default: SideDrawerButton } = require('./SideDrawerButton');\nconst { default: SideDrawer } = require('./SideDrawer');\nconst usePlayer = require('./usePlayer');\nconst useStatistics = require('./useStatistics');\nconst useVideo = require('./useVideo');\nconst styles = require('./styles');\nconst Video = require('./Video');\nconst { default: Indicator } = require('./Indicator/Indicator');\n\nconst Player = ({ urlParams, queryParams }) => {\n const { t } = useTranslation();\n const services = useServices();\n const shell = useShell();\n const forceTranscoding = React.useMemo(() => {\n return queryParams.has('forceTranscoding');\n }, [queryParams]);\n\n const [player, videoParamsChanged, timeChanged, seek, pausedChanged, ended, nextVideo] = usePlayer(urlParams);\n const [settings, updateSettings] = useSettings();\n const streamingServer = useStreamingServer();\n const statistics = useStatistics(player, streamingServer);\n const video = useVideo();\n const routeFocused = useRouteFocused();\n const toast = useToast();\n\n const [seeking, setSeeking] = React.useState(false);\n\n const [casting, setCasting] = React.useState(() => {\n return services.chromecast.active && services.chromecast.transport.getCastState() === cast.framework.CastState.CONNECTED;\n });\n const playbackDevices = React.useMemo(() => streamingServer.playbackDevices !== null && streamingServer.playbackDevices.type === 'Ready' ? streamingServer.playbackDevices.content : [], [streamingServer]);\n\n const bufferingRef = React.useRef();\n const errorRef = React.useRef();\n\n const [immersed, setImmersed] = React.useState(true);\n const setImmersedDebounced = React.useCallback(debounce(setImmersed, 3000), []);\n const [, , , toggleFullscreen] = useFullscreen();\n\n const [optionsMenuOpen, , closeOptionsMenu, toggleOptionsMenu] = useBinaryState(false);\n const [subtitlesMenuOpen, , closeSubtitlesMenu, toggleSubtitlesMenu] = useBinaryState(false);\n const [audioMenuOpen, , closeAudioMenu, toggleAudioMenu] = useBinaryState(false);\n const [speedMenuOpen, , closeSpeedMenu, toggleSpeedMenu] = useBinaryState(false);\n const [statisticsMenuOpen, , closeStatisticsMenu, toggleStatisticsMenu] = useBinaryState(false);\n const [nextVideoPopupOpen, openNextVideoPopup, closeNextVideoPopup] = useBinaryState(false);\n const [sideDrawerOpen, , closeSideDrawer, toggleSideDrawer] = useBinaryState(false);\n\n const menusOpen = React.useMemo(() => {\n return optionsMenuOpen || subtitlesMenuOpen || audioMenuOpen || speedMenuOpen || statisticsMenuOpen || sideDrawerOpen;\n }, [optionsMenuOpen, subtitlesMenuOpen, audioMenuOpen, speedMenuOpen, statisticsMenuOpen, sideDrawerOpen]);\n\n const closeMenus = React.useCallback(() => {\n closeOptionsMenu();\n closeSubtitlesMenu();\n closeAudioMenu();\n closeSpeedMenu();\n closeStatisticsMenu();\n closeSideDrawer();\n }, []);\n\n const overlayHidden = React.useMemo(() => {\n return immersed && !casting && video.state.paused !== null && !video.state.paused && !menusOpen && !nextVideoPopupOpen;\n }, [immersed, casting, video.state.paused, menusOpen, nextVideoPopupOpen]);\n\n const nextVideoPopupDismissed = React.useRef(false);\n const defaultSubtitlesSelected = React.useRef(false);\n const defaultAudioTrackSelected = React.useRef(false);\n const [error, setError] = React.useState(null);\n\n const isNavigating = React.useRef(false);\n\n const onImplementationChanged = React.useCallback(() => {\n video.setProp('subtitlesSize', settings.subtitlesSize);\n video.setProp('subtitlesOffset', settings.subtitlesOffset);\n video.setProp('subtitlesTextColor', settings.subtitlesTextColor);\n video.setProp('subtitlesBackgroundColor', settings.subtitlesBackgroundColor);\n video.setProp('subtitlesOutlineColor', settings.subtitlesOutlineColor);\n video.setProp('extraSubtitlesSize', settings.subtitlesSize);\n video.setProp('extraSubtitlesOffset', settings.subtitlesOffset);\n video.setProp('extraSubtitlesTextColor', settings.subtitlesTextColor);\n video.setProp('extraSubtitlesBackgroundColor', settings.subtitlesBackgroundColor);\n video.setProp('extraSubtitlesOutlineColor', settings.subtitlesOutlineColor);\n }, [settings.subtitlesSize, settings.subtitlesOffset, settings.subtitlesTextColor, settings.subtitlesBackgroundColor, settings.subtitlesOutlineColor]);\n\n const handleNextVideoNavigation = React.useCallback((deepLinks) => {\n if (deepLinks.player) {\n isNavigating.current = true;\n window.location.replace(deepLinks.player);\n } else if (deepLinks.metaDetailsStreams) {\n isNavigating.current = true;\n window.location.replace(deepLinks.metaDetailsStreams);\n }\n }, []);\n\n const onEnded = React.useCallback(() => {\n // here we need to explicitly check for isNavigating.current\n // the ended event can be called multiple times by MPV inside Shell\n if (isNavigating.current) {\n return;\n }\n\n ended();\n if (window.playerNextVideo !== null) {\n nextVideo();\n\n const deepLinks = window.playerNextVideo.deepLinks;\n handleNextVideoNavigation(deepLinks);\n } else {\n window.history.back();\n }\n }, []);\n\n const onError = React.useCallback((error) => {\n console.error('Player', error);\n if (error.critical) {\n setError(error);\n } else {\n toast.show({\n type: 'error',\n title: t('ERROR'),\n message: error.message,\n timeout: 3000\n });\n }\n }, []);\n\n const onSubtitlesTrackLoaded = React.useCallback(() => {\n toast.show({\n type: 'success',\n title: t('PLAYER_SUBTITLES_LOADED'),\n message: t('PLAYER_SUBTITLES_LOADED_EMBEDDED'),\n timeout: 3000\n });\n }, []);\n\n const onExtraSubtitlesTrackLoaded = React.useCallback((track) => {\n toast.show({\n type: 'success',\n title: t('PLAYER_SUBTITLES_LOADED'),\n message:\n track.exclusive ? t('PLAYER_SUBTITLES_LOADED_EXCLUSIVE') :\n track.local ? t('PLAYER_SUBTITLES_LOADED_LOCAL') :\n t('PLAYER_SUBTITLES_LOADED_ORIGIN', { origin: track.origin }),\n timeout: 3000\n });\n }, []);\n\n const onExtraSubtitlesTrackAdded = React.useCallback((track) => {\n if (track.local) {\n video.setExtraSubtitlesTrack(track.id);\n }\n }, []);\n\n const onPlayRequested = React.useCallback(() => {\n video.setProp('paused', false);\n setSeeking(false);\n }, []);\n\n const onPlayRequestedDebounced = React.useCallback(debounce(onPlayRequested, 200), []);\n\n const onPauseRequested = React.useCallback(() => {\n video.setProp('paused', true);\n }, []);\n\n const onPauseRequestedDebounced = React.useCallback(debounce(onPauseRequested, 200), []);\n const onMuteRequested = React.useCallback(() => {\n video.setProp('muted', true);\n }, []);\n\n const onUnmuteRequested = React.useCallback(() => {\n video.setProp('muted', false);\n }, []);\n\n const onVolumeChangeRequested = React.useCallback((volume) => {\n video.setProp('volume', volume);\n }, []);\n\n const onSeekRequested = React.useCallback((time) => {\n video.setProp('time', time);\n seek(time, video.state.duration, video.state.manifest?.name);\n }, [video.state.duration, video.state.manifest]);\n\n const onPlaybackSpeedChanged = React.useCallback((rate) => {\n video.setProp('playbackSpeed', rate);\n }, []);\n\n const onSubtitlesTrackSelected = React.useCallback((id) => {\n video.setSubtitlesTrack(id);\n }, []);\n\n const onExtraSubtitlesTrackSelected = React.useCallback((id) => {\n video.setExtraSubtitlesTrack(id);\n }, []);\n\n const onAudioTrackSelected = React.useCallback((id) => {\n video.setProp('selectedAudioTrackId', id);\n }, []);\n\n const onExtraSubtitlesDelayChanged = React.useCallback((delay) => {\n video.setProp('extraSubtitlesDelay', delay);\n }, []);\n\n const onIncreaseSubtitlesDelay = React.useCallback(() => {\n const delay = video.state.extraSubtitlesDelay + 250;\n onExtraSubtitlesDelayChanged(delay);\n }, [video.state.extraSubtitlesDelay, onExtraSubtitlesDelayChanged]);\n\n const onDecreaseSubtitlesDelay = React.useCallback(() => {\n const delay = video.state.extraSubtitlesDelay - 250;\n onExtraSubtitlesDelayChanged(delay);\n }, [video.state.extraSubtitlesDelay, onExtraSubtitlesDelayChanged]);\n\n const onSubtitlesSizeChanged = React.useCallback((size) => {\n updateSettings({ subtitlesSize: size });\n }, [updateSettings]);\n\n const onUpdateSubtitlesSize = React.useCallback((delta) => {\n const sizeIndex = CONSTANTS.SUBTITLES_SIZES.indexOf(video.state.subtitlesSize);\n const size = CONSTANTS.SUBTITLES_SIZES[Math.max(0, Math.min(CONSTANTS.SUBTITLES_SIZES.length - 1, sizeIndex + delta))];\n onSubtitlesSizeChanged(size);\n }, [video.state.subtitlesSize, onSubtitlesSizeChanged]);\n\n const onSubtitlesOffsetChanged = React.useCallback((offset) => {\n updateSettings({ subtitlesOffset: offset });\n }, [updateSettings]);\n\n const onDismissNextVideoPopup = React.useCallback(() => {\n closeNextVideoPopup();\n nextVideoPopupDismissed.current = true;\n }, []);\n\n const onNextVideoRequested = React.useCallback(() => {\n if (player.nextVideo !== null) {\n nextVideo();\n\n const deepLinks = player.nextVideo.deepLinks;\n handleNextVideoNavigation(deepLinks);\n }\n }, [player.nextVideo, handleNextVideoNavigation]);\n\n const onVideoClick = React.useCallback(() => {\n if (video.state.paused !== null) {\n if (video.state.paused) {\n onPlayRequestedDebounced();\n } else {\n onPauseRequestedDebounced();\n }\n }\n }, [video.state.paused]);\n\n const onVideoDoubleClick = React.useCallback(() => {\n onPlayRequestedDebounced.cancel();\n onPauseRequestedDebounced.cancel();\n toggleFullscreen();\n }, [toggleFullscreen]);\n\n const onContainerMouseDown = React.useCallback((event) => {\n if (!event.nativeEvent.optionsMenuClosePrevented) {\n closeOptionsMenu();\n }\n if (!event.nativeEvent.subtitlesMenuClosePrevented) {\n closeSubtitlesMenu();\n }\n if (!event.nativeEvent.audioMenuClosePrevented) {\n closeAudioMenu();\n }\n if (!event.nativeEvent.speedMenuClosePrevented) {\n closeSpeedMenu();\n }\n if (!event.nativeEvent.statisticsMenuClosePrevented) {\n closeStatisticsMenu();\n }\n\n closeSideDrawer();\n }, []);\n\n const onContainerMouseMove = React.useCallback((event) => {\n setImmersed(false);\n if (!event.nativeEvent.immersePrevented) {\n setImmersedDebounced(true);\n } else {\n setImmersedDebounced.cancel();\n }\n }, []);\n\n const onContainerMouseLeave = React.useCallback(() => {\n setImmersedDebounced.cancel();\n setImmersed(true);\n }, []);\n\n const onBarMouseMove = React.useCallback((event) => {\n event.nativeEvent.immersePrevented = true;\n }, []);\n\n onFileDrop(CONSTANTS.SUPPORTED_LOCAL_SUBTITLES, async (filename, buffer) => {\n video.addLocalSubtitles(filename, buffer);\n });\n\n React.useEffect(() => {\n setError(null);\n video.unload();\n\n if (player.selected && streamingServer.settings?.type !== 'Loading') {\n video.load({\n stream: {\n ...player.selected.stream,\n subtitles: Array.isArray(player.selected.stream.subtitles) ?\n player.selected.stream.subtitles.map((subtitles) => ({\n ...subtitles,\n label: subtitles.url\n }))\n :\n []\n },\n autoplay: true,\n time: player.libraryItem !== null &&\n player.selected.streamRequest !== null &&\n player.selected.streamRequest.path !== null &&\n player.libraryItem.state.video_id === player.selected.streamRequest.path.id ?\n player.libraryItem.state.timeOffset\n :\n 0,\n forceTranscoding: forceTranscoding || casting,\n maxAudioChannels: settings.surroundSound ? 32 : 2,\n hardwareDecoding: settings.hardwareDecoding,\n streamingServerURL: streamingServer.baseUrl ?\n casting ?\n streamingServer.baseUrl\n :\n streamingServer.selected.transportUrl\n :\n null,\n seriesInfo: player.seriesInfo,\n }, {\n chromecastTransport: services.chromecast.active ? services.chromecast.transport : null,\n shellTransport: services.shell.active ? services.shell.transport : null,\n });\n }\n }, [streamingServer.baseUrl, player.selected, forceTranscoding, casting]);\n React.useEffect(() => {\n if (video.state.stream !== null) {\n const tracks = player.subtitles.map((subtitles) => ({\n ...subtitles,\n label: subtitles.url\n }));\n video.addExtraSubtitlesTracks(tracks);\n }\n }, [player.subtitles, video.state.stream]);\n\n React.useEffect(() => {\n video.setProp('subtitlesSize', settings.subtitlesSize);\n video.setProp('extraSubtitlesSize', settings.subtitlesSize);\n }, [settings.subtitlesSize]);\n\n React.useEffect(() => {\n video.setProp('subtitlesOffset', settings.subtitlesOffset);\n video.setProp('extraSubtitlesOffset', settings.subtitlesOffset);\n }, [settings.subtitlesOffset]);\n\n React.useEffect(() => {\n video.setProp('subtitlesTextColor', settings.subtitlesTextColor);\n video.setProp('extraSubtitlesTextColor', settings.subtitlesTextColor);\n }, [settings.subtitlesTextColor]);\n\n React.useEffect(() => {\n video.setProp('subtitlesBackgroundColor', settings.subtitlesBackgroundColor);\n video.setProp('extraSubtitlesBackgroundColor', settings.subtitlesBackgroundColor);\n }, [settings.subtitlesBackgroundColor]);\n\n React.useEffect(() => {\n video.setProp('subtitlesOutlineColor', settings.subtitlesOutlineColor);\n video.setProp('extraSubtitlesOutlineColor', settings.subtitlesOutlineColor);\n }, [settings.subtitlesOutlineColor]);\n\n React.useEffect(() => {\n !seeking && timeChanged(video.state.time, video.state.duration, video.state.manifest?.name);\n }, [video.state.time, video.state.duration, video.state.manifest, seeking]);\n\n React.useEffect(() => {\n if (video.state.paused !== null) {\n pausedChanged(video.state.paused);\n }\n }, [video.state.paused]);\n\n React.useEffect(() => {\n videoParamsChanged(video.state.videoParams);\n }, [video.state.videoParams]);\n\n React.useEffect(() => {\n if (!!settings.bingeWatching && player.nextVideo !== null && !nextVideoPopupDismissed.current) {\n if (video.state.time !== null && video.state.duration !== null && video.state.time < video.state.duration && (video.state.duration - video.state.time) <= settings.nextVideoNotificationDuration) {\n openNextVideoPopup();\n } else {\n closeNextVideoPopup();\n }\n }\n if (player.nextVideo) {\n // This is a workaround for the fact that when we call onEnded nextVideo from the player is already set to null since core unloads the stream\n // we explicitly set it to a global variable so we can access it in the onEnded function\n // this is not a good solution but it works for now\n window.playerNextVideo = player.nextVideo;\n } else {\n window.playerNextVideo = null;\n }\n }, [player.nextVideo, video.state.time, video.state.duration]);\n\n React.useEffect(() => {\n if (!defaultSubtitlesSelected.current) {\n const findTrackByLang = (tracks, lang) => tracks.find((track) => track.lang === lang || langs.where('1', track.lang)?.[2] === lang);\n\n if (settings.subtitlesLanguage === null) {\n onSubtitlesTrackSelected(null);\n onExtraSubtitlesTrackSelected(null);\n defaultSubtitlesSelected.current = true;\n return;\n }\n\n const subtitlesTrack = findTrackByLang(video.state.subtitlesTracks, settings.subtitlesLanguage);\n const extraSubtitlesTrack = findTrackByLang(video.state.extraSubtitlesTracks, settings.subtitlesLanguage);\n\n if (subtitlesTrack && subtitlesTrack.id) {\n onSubtitlesTrackSelected(subtitlesTrack.id);\n defaultSubtitlesSelected.current = true;\n } else if (extraSubtitlesTrack && extraSubtitlesTrack.id) {\n onExtraSubtitlesTrackSelected(extraSubtitlesTrack.id);\n defaultSubtitlesSelected.current = true;\n }\n }\n }, [video.state.subtitlesTracks, video.state.extraSubtitlesTracks]);\n\n React.useEffect(() => {\n if (!defaultAudioTrackSelected.current) {\n const findTrackByLang = (tracks, lang) => tracks.find((track) => track.lang === lang || langs.where('1', track.lang)?.[2] === lang);\n const audioTrack = findTrackByLang(video.state.audioTracks, settings.audioLanguage);\n\n if (audioTrack && audioTrack.id) {\n onAudioTrackSelected(audioTrack.id);\n defaultAudioTrackSelected.current = true;\n }\n }\n }, [video.state.audioTracks]);\n\n React.useEffect(() => {\n defaultSubtitlesSelected.current = false;\n defaultAudioTrackSelected.current = false;\n nextVideoPopupDismissed.current = false;\n // we need a timeout here to make sure that previous page unloads and the new one loads\n // avoiding race conditions and flickering\n setTimeout(() => isNavigating.current = false, 1000);\n }, [video.state.stream]);\n\n React.useEffect(() => {\n if ((!Array.isArray(video.state.subtitlesTracks) || video.state.subtitlesTracks.length === 0) &&\n (!Array.isArray(video.state.extraSubtitlesTracks) || video.state.extraSubtitlesTracks.length === 0)) {\n closeSubtitlesMenu();\n }\n }, [video.state.subtitlesTracks, video.state.extraSubtitlesTracks]);\n\n React.useEffect(() => {\n if (!Array.isArray(video.state.audioTracks) || video.state.audioTracks.length === 0) {\n closeAudioMenu();\n }\n }, [video.state.audioTracks]);\n\n React.useEffect(() => {\n if (video.state.playbackSpeed === null) {\n closeSpeedMenu();\n }\n }, [video.state.playbackSpeed]);\n\n React.useEffect(() => {\n const toastFilter = (item) => item?.dataset?.type === 'CoreEvent';\n toast.addFilter(toastFilter);\n const onCastStateChange = () => {\n setCasting(services.chromecast.active && services.chromecast.transport.getCastState() === cast.framework.CastState.CONNECTED);\n };\n const onChromecastServiceStateChange = () => {\n onCastStateChange();\n if (services.chromecast.active) {\n services.chromecast.transport.on(\n cast.framework.CastContextEventType.CAST_STATE_CHANGED,\n onCastStateChange\n );\n }\n };\n const onCoreEvent = ({ event }) => {\n if (event === 'PlayingOnDevice') {\n onPauseRequested();\n }\n };\n services.chromecast.on('stateChanged', onChromecastServiceStateChange);\n services.core.transport.on('CoreEvent', onCoreEvent);\n onChromecastServiceStateChange();\n return () => {\n toast.removeFilter(toastFilter);\n services.chromecast.off('stateChanged', onChromecastServiceStateChange);\n services.core.transport.off('CoreEvent', onCoreEvent);\n if (services.chromecast.active) {\n services.chromecast.transport.off(\n cast.framework.CastContextEventType.CAST_STATE_CHANGED,\n onCastStateChange\n );\n }\n };\n }, []);\n\n React.useEffect(() => {\n if (settings.pauseOnMinimize && (shell.windowClosed || shell.windowHidden)) {\n onPauseRequested();\n }\n }, [settings.pauseOnMinimize, shell.windowClosed, shell.windowHidden]);\n\n // Media Session PlaybackState\n React.useEffect(() => {\n if (!navigator.mediaSession) return;\n\n const playbackState = !video.state.paused ? 'playing' : 'paused';\n navigator.mediaSession.playbackState = playbackState;\n\n return () => navigator.mediaSession.playbackState = 'none';\n }, [video.state.paused]);\n\n // Media Session Metadata\n React.useEffect(() => {\n if (!navigator.mediaSession) return;\n\n const metaItem = player.metaItem && player.metaItem.type === 'Ready' ? player.metaItem.content : null;\n const videoId = player.selected ? player.selected.streamRequest.path.id : null;\n const video = metaItem ? metaItem.videos.find(({ id }) => id === videoId) : null;\n\n const videoInfo = video && video.season && video.episode ? ` (${video.season}x${video.episode})`: null;\n const videoTitle = video ? `${video.title}${videoInfo}` : null;\n const metaTitle = metaItem ? metaItem.name : null;\n const imageUrl = metaItem ? metaItem.logo : null;\n\n const title = videoTitle ?? metaTitle;\n const artist = videoTitle ? metaTitle : undefined;\n const artwork = imageUrl ? [{ src: imageUrl }] : undefined;\n\n if (title) {\n navigator.mediaSession.metadata = new MediaMetadata({\n title,\n artist,\n artwork,\n });\n }\n }, [player.metaItem, player.selected]);\n\n // Media Session Actions\n React.useEffect(() => {\n if (!navigator.mediaSession) return;\n\n navigator.mediaSession.setActionHandler('play', onPlayRequested);\n navigator.mediaSession.setActionHandler('pause', onPauseRequested);\n\n const nexVideoCallback = player.nextVideo ? onNextVideoRequested : null;\n navigator.mediaSession.setActionHandler('nexttrack', nexVideoCallback);\n }, [player.nextVideo, onPlayRequested, onPauseRequested, onNextVideoRequested]);\n\n React.useLayoutEffect(() => {\n const onKeyDown = (event) => {\n switch (event.code) {\n case 'Space': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.paused !== null) {\n if (video.state.paused) {\n onPlayRequested();\n setSeeking(false);\n } else {\n onPauseRequested();\n }\n }\n\n break;\n }\n case 'ArrowRight': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.time !== null) {\n const seekDuration = event.shiftKey ? settings.seekShortTimeDuration : settings.seekTimeDuration;\n setSeeking(true);\n onSeekRequested(video.state.time + seekDuration);\n }\n\n break;\n }\n case 'ArrowLeft': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.time !== null) {\n const seekDuration = event.shiftKey ? settings.seekShortTimeDuration : settings.seekTimeDuration;\n setSeeking(true);\n onSeekRequested(video.state.time - seekDuration);\n }\n\n break;\n }\n case 'ArrowUp': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.volume !== null) {\n onVolumeChangeRequested(Math.min(video.state.volume + 5, 200));\n }\n\n break;\n }\n case 'ArrowDown': {\n if (!menusOpen && !nextVideoPopupOpen && video.state.volume !== null) {\n onVolumeChangeRequested(Math.max(video.state.volume - 5, 0));\n }\n\n break;\n }\n case 'KeyS': {\n closeMenus();\n if ((Array.isArray(video.state.subtitlesTracks) && video.state.subtitlesTracks.length > 0) ||\n (Array.isArray(video.state.extraSubtitlesTracks) && video.state.extraSubtitlesTracks.length > 0)) {\n toggleSubtitlesMenu();\n }\n\n break;\n }\n case 'KeyA': {\n closeMenus();\n if (Array.isArray(video.state.audioTracks) && video.state.audioTracks.length > 0) {\n toggleAudioMenu();\n }\n\n break;\n }\n case 'KeyI': {\n closeMenus();\n if (player.metaItem !== null && player.metaItem.type === 'Ready') {\n toggleSideDrawer();\n }\n\n break;\n }\n case 'KeyR': {\n closeMenus();\n if (video.state.playbackSpeed !== null) {\n toggleSpeedMenu();\n }\n\n break;\n }\n case 'KeyD': {\n closeMenus();\n if (streamingServer.statistics !== null && streamingServer.statistics.type !== 'Err' && player.selected && typeof player.selected.stream.infoHash === 'string' && typeof player.selected.stream.fileIdx === 'number') {\n toggleStatisticsMenu();\n }\n\n break;\n }\n case 'KeyG': {\n onDecreaseSubtitlesDelay();\n break;\n }\n case 'KeyH': {\n onIncreaseSubtitlesDelay();\n break;\n }\n case 'Minus': {\n onUpdateSubtitlesSize(-1);\n break;\n }\n case 'Equal': {\n onUpdateSubtitlesSize(1);\n break;\n }\n case 'Escape': {\n closeMenus();\n !settings.escExitFullscreen && window.history.back();\n break;\n }\n }\n };\n const onKeyUp = (event) => {\n if (event.code === 'ArrowRight' || event.code === 'ArrowLeft') {\n setSeeking(false);\n }\n };\n const onWheel = ({ deltaY }) => {\n if (menusOpen || video.state.volume === null) return;\n\n if (deltaY > 0) {\n onVolumeChangeRequested(Math.max(video.state.volume - 5, 0));\n } else {\n if (video.state.volume < 100) {\n onVolumeChangeRequested(Math.min(video.state.volume + 5, 100));\n }\n }\n };\n if (routeFocused) {\n window.addEventListener('keydown', onKeyDown);\n window.addEventListener('keyup', onKeyUp);\n window.addEventListener('wheel', onWheel);\n }\n return () => {\n window.removeEventListener('keydown', onKeyDown);\n window.removeEventListener('keyup', onKeyUp);\n window.removeEventListener('wheel', onWheel);\n };\n }, [\n player.metaItem,\n player.selected,\n streamingServer.statistics,\n settings.seekTimeDuration,\n settings.seekShortTimeDuration,\n settings.escExitFullscreen,\n routeFocused,\n menusOpen,\n nextVideoPopupOpen,\n video.state.paused,\n video.state.time,\n video.state.volume,\n video.state.audioTracks,\n video.state.subtitlesTracks,\n video.state.extraSubtitlesTracks,\n video.state.playbackSpeed,\n toggleSubtitlesMenu,\n toggleStatisticsMenu,\n toggleSideDrawer,\n onDecreaseSubtitlesDelay,\n onIncreaseSubtitlesDelay,\n onUpdateSubtitlesSize,\n ]);\n\n React.useEffect(() => {\n video.events.on('error', onError);\n video.events.on('ended', onEnded);\n video.events.on('subtitlesTrackLoaded', onSubtitlesTrackLoaded);\n video.events.on('extraSubtitlesTrackLoaded', onExtraSubtitlesTrackLoaded);\n video.events.on('extraSubtitlesTrackAdded', onExtraSubtitlesTrackAdded);\n video.events.on('implementationChanged', onImplementationChanged);\n\n return () => {\n video.events.off('error', onError);\n video.events.off('ended', onEnded);\n video.events.off('subtitlesTrackLoaded', onSubtitlesTrackLoaded);\n video.events.off('extraSubtitlesTrackLoaded', onExtraSubtitlesTrackLoaded);\n video.events.off('extraSubtitlesTrackAdded', onExtraSubtitlesTrackAdded);\n video.events.off('implementationChanged', onImplementationChanged);\n };\n }, []);\n\n React.useLayoutEffect(() => {\n return () => {\n setImmersedDebounced.cancel();\n onPlayRequestedDebounced.cancel();\n onPauseRequestedDebounced.cancel();\n };\n }, []);\n\n return (\n <div className={classnames(styles['player-container'], { [styles['overlayHidden']]: overlayHidden })}\n onMouseDown={onContainerMouseDown}\n onMouseMove={onContainerMouseMove}\n onMouseOver={onContainerMouseMove}\n onMouseLeave={onContainerMouseLeave}>\n <Video\n ref={video.containerRef}\n className={styles['layer']}\n onClick={onVideoClick}\n onDoubleClick={onVideoDoubleClick}\n />\n {\n !video.state.loaded ?\n <div className={classnames(styles['layer'], styles['background-layer'])}>\n <img className={styles['image']} src={player?.metaItem?.content?.background} />\n </div>\n :\n null\n }\n {\n (video.state.buffering || !video.state.loaded) && !error ?\n <BufferingLoader\n ref={bufferingRef}\n className={classnames(styles['layer'], styles['buffering-layer'])}\n logo={player?.metaItem?.content?.logo}\n />\n :\n null\n }\n {\n error !== null ?\n <Error\n ref={errorRef}\n className={classnames(styles['layer'], styles['error-layer'])}\n stream={video.state.stream}\n {...error}\n />\n :\n null\n }\n {\n menusOpen ?\n <div className={styles['layer']} />\n :\n null\n }\n {\n video.state.volume !== null && overlayHidden ?\n <VolumeChangeIndicator\n muted={video.state.muted}\n volume={video.state.volume}\n />\n :\n null\n }\n <ContextMenu on={[video.containerRef, bufferingRef, errorRef]} autoClose>\n <OptionsMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n stream={player?.selected?.stream}\n playbackDevices={playbackDevices}\n extraSubtitlesTracks={video.state.extraSubtitlesTracks}\n selectedExtraSubtitlesTrackId={video.state.selectedExtraSubtitlesTrackId}\n />\n </ContextMenu>\n <HorizontalNavBar\n className={classnames(styles['layer'], styles['nav-bar-layer'])}\n title={player.title !== null ? player.title : ''}\n backButton={true}\n fullscreenButton={true}\n onMouseMove={onBarMouseMove}\n onMouseOver={onBarMouseMove}\n />\n {\n player.metaItem?.type === 'Ready' ?\n <SideDrawerButton\n className={classnames(styles['layer'], styles['side-drawer-button-layer'])}\n onClick={toggleSideDrawer}\n />\n :\n null\n }\n <ControlBar\n className={classnames(styles['layer'], styles['control-bar-layer'])}\n paused={video.state.paused}\n time={video.state.time}\n duration={video.state.duration}\n buffered={video.state.buffered}\n volume={video.state.volume}\n muted={video.state.muted}\n playbackSpeed={video.state.playbackSpeed}\n subtitlesTracks={video.state.subtitlesTracks.concat(video.state.extraSubtitlesTracks)}\n audioTracks={video.state.audioTracks}\n metaItem={player.metaItem}\n nextVideo={player.nextVideo}\n stream={player.selected !== null ? player.selected.stream : null}\n statistics={statistics}\n onPlayRequested={onPlayRequested}\n onPauseRequested={onPauseRequested}\n onNextVideoRequested={onNextVideoRequested}\n onMuteRequested={onMuteRequested}\n onUnmuteRequested={onUnmuteRequested}\n onVolumeChangeRequested={onVolumeChangeRequested}\n onSeekRequested={onSeekRequested}\n onToggleOptionsMenu={toggleOptionsMenu}\n onToggleSubtitlesMenu={toggleSubtitlesMenu}\n onToggleAudioMenu={toggleAudioMenu}\n onToggleSpeedMenu={toggleSpeedMenu}\n onToggleStatisticsMenu={toggleStatisticsMenu}\n onToggleSideDrawer={toggleSideDrawer}\n onMouseMove={onBarMouseMove}\n onMouseOver={onBarMouseMove}\n onTouchEnd={onContainerMouseLeave}\n />\n <Indicator\n className={classnames(styles['layer'], styles['indicator-layer'])}\n videoState={video.state}\n disabled={subtitlesMenuOpen}\n />\n {\n nextVideoPopupOpen ?\n <NextVideoPopup\n className={classnames(styles['layer'], styles['menu-layer'])}\n metaItem={player.metaItem !== null && player.metaItem.type === 'Ready' ? player.metaItem.content : null}\n nextVideo={player.nextVideo}\n onDismiss={onDismissNextVideoPopup}\n onNextVideoRequested={onNextVideoRequested}\n />\n :\n null\n }\n {\n statisticsMenuOpen ?\n <StatisticsMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n {...statistics}\n />\n :\n null\n }\n <Transition when={sideDrawerOpen} name={'slide-left'}>\n <SideDrawer\n className={classnames(styles['layer'], styles['side-drawer-layer'])}\n metaItem={player.metaItem?.content}\n seriesInfo={player.seriesInfo}\n closeSideDrawer={closeSideDrawer}\n selected={player.selected?.streamRequest?.path.id}\n />\n </Transition>\n {\n subtitlesMenuOpen ?\n <SubtitlesMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n subtitlesTracks={video.state.subtitlesTracks}\n selectedSubtitlesTrackId={video.state.selectedSubtitlesTrackId}\n subtitlesOffset={video.state.subtitlesOffset}\n subtitlesSize={video.state.subtitlesSize}\n extraSubtitlesTracks={video.state.extraSubtitlesTracks}\n selectedExtraSubtitlesTrackId={video.state.selectedExtraSubtitlesTrackId}\n extraSubtitlesOffset={video.state.extraSubtitlesOffset}\n extraSubtitlesDelay={video.state.extraSubtitlesDelay}\n extraSubtitlesSize={video.state.extraSubtitlesSize}\n onSubtitlesTrackSelected={onSubtitlesTrackSelected}\n onExtraSubtitlesTrackSelected={onExtraSubtitlesTrackSelected}\n onSubtitlesOffsetChanged={onSubtitlesOffsetChanged}\n onSubtitlesSizeChanged={onSubtitlesSizeChanged}\n onExtraSubtitlesOffsetChanged={onSubtitlesOffsetChanged}\n onExtraSubtitlesDelayChanged={onExtraSubtitlesDelayChanged}\n onExtraSubtitlesSizeChanged={onSubtitlesSizeChanged}\n />\n :\n null\n }\n {\n audioMenuOpen ?\n <AudioMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n audioTracks={video.state.audioTracks}\n selectedAudioTrackId={video.state.selectedAudioTrackId}\n onAudioTrackSelected={onAudioTrackSelected}\n />\n :\n null\n }\n {\n speedMenuOpen ?\n <SpeedMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n playbackSpeed={video.state.playbackSpeed}\n onPlaybackSpeedChanged={onPlaybackSpeedChanged}\n />\n :\n null\n }\n {\n optionsMenuOpen ?\n <OptionsMenu\n className={classnames(styles['layer'], styles['menu-layer'])}\n stream={player.selected.stream}\n playbackDevices={playbackDevices}\n extraSubtitlesTracks={video.state.extraSubtitlesTracks}\n selectedExtraSubtitlesTrackId={video.state.selectedExtraSubtitlesTrackId}\n />\n :\n null\n }\n </div>\n );\n};\n\nPlayer.propTypes = {\n urlParams: PropTypes.shape({\n stream: PropTypes.string,\n streamTransportUrl: PropTypes.string,\n metaTransportUrl: PropTypes.string,\n type: PropTypes.string,\n id: PropTypes.string,\n videoId: PropTypes.string\n }),\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst PlayerFallback = () => (\n <div className={classnames(styles['player-container'])} />\n);\n\nmodule.exports = withCoreSuspender(Player, PlayerFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { Button } = require('stremio/components');\nconst styles = require('./styles');\n\nconst OptionButton = ({ className, value, selected, onSelect }) => {\n const onClick = React.useCallback(() => {\n if (typeof onSelect === 'function') {\n onSelect(value);\n }\n }, [onSelect, value]);\n return (\n <Button\n className={classnames(className, styles['option'], { 'selected': selected })}\n onClick={onClick}\n >\n <div className={styles['label']}>{ value }x</div>\n <div className={styles['icon']} />\n </Button>\n );\n};\n\nOptionButton.propTypes = {\n className: PropTypes.string,\n value: PropTypes.number,\n selected: PropTypes.bool,\n onSelect: PropTypes.func,\n};\n\nmodule.exports = OptionButton;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Option = require('./Option');\n\nmodule.exports = Option;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { useTranslation } = require('react-i18next');\nconst Option = require('./Option');\nconst styles = require('./styles');\n\nconst RATES = Array.from(Array(8).keys(), (n) => n * 0.25 + 0.25).reverse();\n\nconst SpeedMenu = ({ className, playbackSpeed, onPlaybackSpeedChanged }) => {\n const { t } = useTranslation();\n const onMouseDown = React.useCallback((event) => {\n event.nativeEvent.speedMenuClosePrevented = true;\n }, []);\n const onOptionSelect = React.useCallback((value) => {\n if (typeof onPlaybackSpeedChanged === 'function') {\n onPlaybackSpeedChanged(value);\n }\n }, [onPlaybackSpeedChanged]);\n return (\n <div className={classnames(className, styles['speed-menu-container'])} onMouseDown={onMouseDown}>\n <div className={styles['title']}>\n { t('PLAYBACK_SPEED') }\n </div>\n <div className={styles['options-container']}>\n {\n RATES.map((rate) => (\n <Option\n className={styles['option']}\n key={rate}\n value={rate}\n selected={rate === playbackSpeed}\n onSelect={onOptionSelect}\n />\n ))\n }\n </div>\n </div>\n );\n};\n\nSpeedMenu.propTypes = {\n className: PropTypes.string,\n playbackSpeed: PropTypes.number,\n onPlaybackSpeedChanged: PropTypes.func,\n};\n\nmodule.exports = SpeedMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SpeedMenu = require('./SpeedMenu');\n\nmodule.exports = SpeedMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useTranslation } = require('react-i18next');\nconst classNames = require('classnames');\nconst PropTypes = require('prop-types');\nconst styles = require('./styles.less');\n\nconst StatisticsMenu = ({ className, peers, speed, completed, infoHash }) => {\n const { t } = useTranslation();\n return (\n <div className={classNames(className, styles['statistics-menu-container'])}>\n <div className={styles['title']}>\n {t('PLAYER_STATISTICS')}\n </div>\n <div className={styles['stats']}>\n <div className={styles['stat']}>\n <div className={styles['label']}>\n {t('PLAYER_PEERS')}\n </div>\n <div className={styles['value']}>\n { peers }\n </div>\n </div>\n <div className={styles['stat']}>\n <div className={styles['label']}>\n {t('PLAYER_SPEED')}\n </div>\n <div className={styles['value']}>\n {`${speed} ${t('MB_S')}`}\n </div>\n </div>\n <div className={styles['stat']}>\n <div className={styles['label']}>\n {t('PLAYER_COMPLETED')}\n </div>\n <div className={styles['value']}>\n { Math.min(completed, 100) } %\n </div>\n </div>\n </div>\n <div className={styles['info-hash']}>\n <div className={styles['label']}>\n {t('PLAYER_INFO_HASH')}\n </div>\n <div className={styles['value']}>\n { infoHash }\n </div>\n </div>\n </div>\n );\n};\n\nStatisticsMenu.propTypes = {\n className: PropTypes.string,\n peers: PropTypes.number,\n speed: PropTypes.number,\n completed: PropTypes.number,\n infoHash: PropTypes.string,\n};\n\nmodule.exports = StatisticsMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst StatisticsMenu = require('./StatisticsMenu');\nmodule.exports = StatisticsMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst { comparatorWithPriorities, languages } = require('stremio/common');\nconst { SUBTITLES_SIZES } = require('stremio/common/CONSTANTS');\nconst { Button } = require('stremio/components');\nconst styles = require('./styles');\nconst { t } = require('i18next');\nconst { default: Stepper } = require('./Stepper');\n\nconst ORIGIN_PRIORITIES = {\n 'LOCAL': 3,\n 'EMBEDDED': 2,\n 'EXCLUSIVE': 1,\n};\nconst LANGUAGE_PRIORITIES = {\n 'local': 2,\n 'eng': 1,\n};\n\nconst SubtitlesMenu = React.memo((props) => {\n const subtitlesLanguages = React.useMemo(() => {\n return (Array.isArray(props.subtitlesTracks) ? props.subtitlesTracks : [])\n .concat(Array.isArray(props.extraSubtitlesTracks) ? props.extraSubtitlesTracks : [])\n .reduce((subtitlesLanguages, { lang }) => {\n if (!subtitlesLanguages.includes(lang)) {\n subtitlesLanguages.push(lang);\n }\n\n return subtitlesLanguages;\n }, [])\n .sort(comparatorWithPriorities(LANGUAGE_PRIORITIES));\n }, [props.subtitlesTracks, props.extraSubtitlesTracks]);\n const selectedSubtitlesLanguage = React.useMemo(() => {\n return typeof props.selectedSubtitlesTrackId === 'string' ?\n (Array.isArray(props.subtitlesTracks) ? props.subtitlesTracks : [])\n .reduce((selectedSubtitlesLanguage, { id, lang }) => {\n if (id === props.selectedSubtitlesTrackId) {\n return lang;\n }\n\n return selectedSubtitlesLanguage;\n }, null)\n :\n typeof props.selectedExtraSubtitlesTrackId === 'string' ?\n (Array.isArray(props.extraSubtitlesTracks) ? props.extraSubtitlesTracks : [])\n .reduce((selectedSubtitlesLanguage, { id, lang }) => {\n if (id === props.selectedExtraSubtitlesTrackId) {\n return lang;\n }\n\n return selectedSubtitlesLanguage;\n }, null)\n :\n null;\n }, [props.subtitlesTracks, props.extraSubtitlesTracks, props.selectedSubtitlesTrackId, props.selectedExtraSubtitlesTrackId]);\n const subtitlesTracksForLanguage = React.useMemo(() => {\n return (Array.isArray(props.subtitlesTracks) ? props.subtitlesTracks : [])\n .concat(Array.isArray(props.extraSubtitlesTracks) ? props.extraSubtitlesTracks : [])\n .filter(({ lang }) => lang === selectedSubtitlesLanguage)\n .sort((t1, t2) => comparatorWithPriorities(ORIGIN_PRIORITIES)(t1.origin, t2.origin));\n }, [props.subtitlesTracks, props.extraSubtitlesTracks, selectedSubtitlesLanguage]);\n const onMouseDown = React.useCallback((event) => {\n event.nativeEvent.subtitlesMenuClosePrevented = true;\n }, []);\n const subtitlesLanguageOnClick = React.useCallback((event) => {\n const track = (Array.isArray(props.subtitlesTracks) ? props.subtitlesTracks : [])\n .concat(Array.isArray(props.extraSubtitlesTracks) ? props.extraSubtitlesTracks : [])\n .filter(({ lang }) => lang === event.currentTarget.dataset.lang)\n .sort((t1, t2) => comparatorWithPriorities(ORIGIN_PRIORITIES)(t1.origin, t2.origin))\n .shift();\n if (!track) {\n if (typeof props.onSubtitlesTrackSelected === 'function') {\n props.onSubtitlesTrackSelected(null);\n }\n if (typeof props.onExtraSubtitlesTrackSelected === 'function') {\n props.onExtraSubtitlesTrackSelected(null);\n }\n } else if (track.embedded) {\n if (typeof props.onSubtitlesTrackSelected === 'function') {\n props.onSubtitlesTrackSelected(track.id);\n }\n } else {\n if (typeof props.onExtraSubtitlesTrackSelected === 'function') {\n props.onExtraSubtitlesTrackSelected(track.id);\n }\n }\n }, [props.subtitlesTracks, props.extraSubtitlesTracks, props.onSubtitlesTrackSelected, props.onExtraSubtitlesTrackSelected]);\n const subtitlesTrackOnClick = React.useCallback((event) => {\n if (event.currentTarget.dataset.embedded === 'true') {\n if (typeof props.onSubtitlesTrackSelected === 'function') {\n props.onSubtitlesTrackSelected(event.currentTarget.dataset.id);\n }\n } else {\n if (typeof props.onExtraSubtitlesTrackSelected === 'function') {\n props.onExtraSubtitlesTrackSelected(event.currentTarget.dataset.id);\n }\n }\n }, [props.onSubtitlesTrackSelected, props.onExtraSubtitlesTrackSelected]);\n const onSubtitlesDelayChanged = React.useCallback((value) => {\n if (typeof props.selectedExtraSubtitlesTrackId === 'string') {\n if (props.extraSubtitlesDelay !== null && !isNaN(props.extraSubtitlesDelay)) {\n if (typeof props.onExtraSubtitlesDelayChanged === 'function') {\n props.onExtraSubtitlesDelayChanged(value * 1000);\n }\n }\n }\n }, [props.selectedExtraSubtitlesTrackId, props.extraSubtitlesDelay, props.onExtraSubtitlesDelayChanged]);\n const onSubtitlesSizeChanged = React.useCallback((value) => {\n if (typeof props.selectedSubtitlesTrackId === 'string') {\n if (props.subtitlesSize !== null && !isNaN(props.subtitlesSize)) {\n if (typeof props.onSubtitlesSizeChanged === 'function') {\n props.onSubtitlesSizeChanged(value);\n }\n }\n } else if (typeof props.selectedExtraSubtitlesTrackId === 'string') {\n if (props.extraSubtitlesSize !== null && !isNaN(props.extraSubtitlesSize)) {\n if (typeof props.onExtraSubtitlesSizeChanged === 'function') {\n props.onExtraSubtitlesSizeChanged(value);\n }\n }\n }\n }, [props.selectedSubtitlesTrackId, props.selectedExtraSubtitlesTrackId, props.subtitlesSize, props.extraSubtitlesSize, props.onSubtitlesSizeChanged, props.onExtraSubtitlesSizeChanged]);\n const onSubtitlesOffsetChanged = React.useCallback((value) => {\n if (typeof props.selectedSubtitlesTrackId === 'string') {\n if (props.subtitlesOffset !== null && !isNaN(props.subtitlesOffset)) {\n if (typeof props.onSubtitlesOffsetChanged === 'function') {\n props.onSubtitlesOffsetChanged(value);\n }\n }\n } else if (typeof props.selectedExtraSubtitlesTrackId === 'string') {\n if (props.extraSubtitlesOffset !== null && !isNaN(props.extraSubtitlesOffset)) {\n if (typeof props.onExtraSubtitlesOffsetChanged === 'function') {\n props.onExtraSubtitlesOffsetChanged(value);\n }\n }\n }\n }, [props.selectedSubtitlesTrackId, props.selectedExtraSubtitlesTrackId, props.subtitlesOffset, props.extraSubtitlesOffset, props.onSubtitlesOffsetChanged, props.onExtraSubtitlesOffsetChanged]);\n return (\n <div className={classnames(props.className, styles['subtitles-menu-container'])} onMouseDown={onMouseDown}>\n <div className={styles['languages-container']}>\n <div className={styles['languages-header']}>{ t('PLAYER_SUBTITLES_LANGUAGES') }</div>\n <div className={styles['languages-list']}>\n <Button title={t('OFF')} className={classnames(styles['language-option'], { 'selected': selectedSubtitlesLanguage === null })} onClick={subtitlesLanguageOnClick}>\n <div className={styles['language-label']}>{ t('OFF') }</div>\n {\n selectedSubtitlesLanguage === null ?\n <div className={styles['icon']} />\n :\n null\n }\n </Button>\n {subtitlesLanguages.map((lang, index) => (\n <Button key={index} title={languages.label(lang)} className={classnames(styles['language-option'], { 'selected': selectedSubtitlesLanguage === lang })} data-lang={lang} onClick={subtitlesLanguageOnClick}>\n <div className={styles['language-label']}>\n {\n lang === 'local' ? t('LOCAL') : languages.label(lang)\n }\n </div>\n {\n selectedSubtitlesLanguage === lang ?\n <div className={styles['icon']} />\n :\n null\n }\n </Button>\n ))}\n </div>\n </div>\n <div className={styles['variants-container']}>\n <div className={styles['variants-header']}>{ t('PLAYER_SUBTITLES_VARIANTS') }</div>\n {\n subtitlesTracksForLanguage.length > 0 ?\n <div className={styles['variants-list']}>\n {subtitlesTracksForLanguage.map((track, index) => (\n <Button key={index} title={track.label} className={classnames(styles['variant-option'], { 'selected': props.selectedSubtitlesTrackId === track.id || props.selectedExtraSubtitlesTrackId === track.id })} data-id={track.id} data-origin={track.origin} data-embedded={track.embedded} onClick={subtitlesTrackOnClick}>\n <div className={styles['info']}>\n <div className={styles['variant-label']}>\n {\n languages.label(!track.label.startsWith('http') ? track.label : track.lang)\n }\n </div>\n <div className={styles['variant-origin']}>\n { t(track.origin) }\n </div>\n </div>\n {\n props.selectedSubtitlesTrackId === track.id || props.selectedExtraSubtitlesTrackId === track.id ?\n <div className={styles['icon']} />\n :\n null\n }\n </Button>\n ))}\n </div>\n :\n <div className={styles['no-variants-container']}>\n <div className={styles['no-variants-label']}>\n { t('PLAYER_SUBTITLES_DISABLED') }\n </div>\n </div>\n }\n </div>\n <div className={styles['subtitles-settings-container']}>\n <div className={styles['settings-header']}>{t('PLAYER_SUBTITLES_SETTINGS')}</div>\n <div className={styles['settings-list']}>\n <Stepper\n className={styles['stepper']}\n label={'DELAY'}\n value={props.extraSubtitlesDelay / 1000}\n unit={'s'}\n step={0.25}\n disabled={props.extraSubtitlesDelay === null}\n onChange={onSubtitlesDelayChanged}\n />\n <Stepper\n className={styles['stepper']}\n label={'SIZE'}\n value={props.selectedSubtitlesTrackId ? props.subtitlesSize : props.selectedExtraSubtitlesTrackId ? props.extraSubtitlesSize : null}\n unit={'%'}\n step={25}\n min={SUBTITLES_SIZES[0]}\n max={SUBTITLES_SIZES[SUBTITLES_SIZES.length - 1]}\n disabled={(props.selectedSubtitlesTrackId && props.subtitlesSize === null) || (props.selectedExtraSubtitlesTrackId && props.extraSubtitlesSize === null)}\n onChange={onSubtitlesSizeChanged}\n />\n <Stepper\n className={styles['stepper']}\n label={'PLAYER_SUBTITLES_VERTICAL_POSIITON'}\n value={props.selectedSubtitlesTrackId ? props.subtitlesOffset : props.selectedExtraSubtitlesTrackId ? props.extraSubtitlesOffset : null}\n unit={'%'}\n step={1}\n min={0}\n max={100}\n disabled={(props.selectedSubtitlesTrackId && props.subtitlesOffset === null) || (props.selectedExtraSubtitlesTrackId && props.extraSubtitlesOffset === null)}\n onChange={onSubtitlesOffsetChanged}\n />\n </div>\n </div>\n </div>\n );\n});\n\nSubtitlesMenu.displayName = 'MainNavBars';\n\nSubtitlesMenu.propTypes = {\n className: PropTypes.string,\n subtitlesTracks: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n lang: PropTypes.string.isRequired,\n origin: PropTypes.string.isRequired\n })),\n selectedSubtitlesTrackId: PropTypes.string,\n subtitlesOffset: PropTypes.number,\n subtitlesSize: PropTypes.number,\n extraSubtitlesTracks: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string.isRequired,\n lang: PropTypes.string.isRequired,\n origin: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired\n })),\n selectedExtraSubtitlesTrackId: PropTypes.string,\n extraSubtitlesOffset: PropTypes.number,\n extraSubtitlesDelay: PropTypes.number,\n extraSubtitlesSize: PropTypes.number,\n onSubtitlesTrackSelected: PropTypes.func,\n onExtraSubtitlesTrackSelected: PropTypes.func,\n onSubtitlesOffsetChanged: PropTypes.func,\n onSubtitlesSizeChanged: PropTypes.func,\n onExtraSubtitlesOffsetChanged: PropTypes.func,\n onExtraSubtitlesDelayChanged: PropTypes.func,\n onExtraSubtitlesSizeChanged: PropTypes.func\n};\n\nmodule.exports = SubtitlesMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst SubtitlesMenu = require('./SubtitlesMenu');\n\nmodule.exports = SubtitlesMenu;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst styles = require('./styles');\n\nconst Video = React.forwardRef(({ className, onClick, onDoubleClick }, ref) => {\n return (\n <div className={classnames(className, styles['video-container'])} onClick={onClick} onDoubleClick={onDoubleClick}>\n <div ref={ref} className={styles['video']} />\n </div>\n );\n});\n\nVideo.displayName = 'Video';\n\nVideo.propTypes = {\n className: PropTypes.string,\n onClick: PropTypes.func,\n onDoubleClick: PropTypes.func,\n};\n\nmodule.exports = Video;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Video = require('./Video');\n\nmodule.exports = Video;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst VolumeSlider = require('../ControlBar/VolumeSlider');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { default: classNames } = require('classnames');\nconst PropTypes = require('prop-types');\nconst styles = require('./styles');\nconst { useBinaryState } = require('stremio/common');\n\nconst VolumeChangeIndicator = React.memo(({ muted, volume }) => {\n const [volumeIndicatorOpen, openVolumeIndicator, closeVolumeIndicator] = useBinaryState(false);\n const volumeChangeTimeout = React.useRef(null);\n const prevVolume = React.useRef(volume);\n\n const iconName = React.useMemo(() => {\n return (typeof muted === 'boolean' && muted) ? 'volume-mute' :\n volume === null || isNaN(volume) ? 'volume-off' :\n volume === 0 ? 'volume-mute' :\n volume < 30 ? 'volume-low' :\n volume < 70 ? 'volume-medium' :\n 'volume-high';\n }, [muted, volume]);\n\n React.useEffect(() => {\n if (prevVolume.current !== volume) {\n openVolumeIndicator();\n if (volumeChangeTimeout.current) clearTimeout(volumeChangeTimeout.current);\n volumeChangeTimeout.current = setTimeout(closeVolumeIndicator, 1500);\n }\n\n prevVolume.current = volume;\n }, [volume]);\n\n React.useEffect(() => {\n return () => {\n if (volumeChangeTimeout.current) clearTimeout(volumeChangeTimeout.current);\n };\n }, []);\n\n return (\n <React.Fragment>\n {\n volumeIndicatorOpen ?\n <div className={classNames(styles['layer'], styles['volume-change-indicator'])}>\n <Icon name={iconName} className={styles['volume-icon']} />\n <VolumeSlider volume={volume} className={styles['volume-slider']} />\n </div>\n :\n null\n }\n </React.Fragment>\n );\n});\n\nVolumeChangeIndicator.displayName = 'VolumeChangeIndicator';\n\nmodule.exports = VolumeChangeIndicator;\n\nVolumeChangeIndicator.propTypes = {\n muted: PropTypes.bool,\n volume: PropTypes.number\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst VolumeChangeIndicator = require('./VolumeChangeIndicator');\n\nmodule.exports = VolumeChangeIndicator;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Player = require('./Player');\n\nmodule.exports = Player;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useModelState, useCoreSuspender } = require('stremio/common');\n\nconst map = (player) => ({\n ...player,\n metaItem: player.metaItem !== null && player.metaItem.type === 'Ready' ?\n {\n ...player.metaItem,\n content: {\n ...player.metaItem.content,\n released: new Date(\n typeof player.metaItem.content.released === 'string' ?\n player.metaItem.content.released\n :\n NaN\n ),\n videos: player.metaItem.content.videos.map((video) => ({\n ...video,\n released: new Date(\n typeof video.released === 'string' ?\n video.released\n :\n NaN\n ),\n }))\n }\n }\n :\n player.metaItem,\n});\n\nconst usePlayer = (urlParams) => {\n const { core } = useServices();\n const { decodeStream } = useCoreSuspender();\n const stream = decodeStream(urlParams.stream);\n const action = React.useMemo(() => {\n if (stream !== null) {\n return {\n action: 'Load',\n args: {\n model: 'Player',\n args: {\n stream,\n streamRequest: typeof urlParams.streamTransportUrl === 'string' && typeof urlParams.type === 'string' && typeof urlParams.videoId === 'string' ?\n {\n base: urlParams.streamTransportUrl,\n path: {\n resource: 'stream',\n type: urlParams.type,\n id: urlParams.videoId,\n extra: []\n }\n }\n :\n null,\n metaRequest: typeof urlParams.metaTransportUrl === 'string' && typeof urlParams.type === 'string' && typeof urlParams.id === 'string' ?\n {\n base: urlParams.metaTransportUrl,\n path: {\n resource: 'meta',\n type: urlParams.type,\n id: urlParams.id,\n extra: []\n }\n }\n :\n null,\n subtitlesPath: typeof urlParams.type === 'string' && typeof urlParams.videoId === 'string' ?\n {\n resource: 'subtitles',\n type: urlParams.type,\n id: urlParams.videoId,\n extra: []\n }\n :\n null\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [urlParams]);\n const videoParamsChanged = React.useCallback((videoParams) => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'VideoParamsChanged',\n args: { videoParams }\n }\n }, 'player');\n }, []);\n const timeChanged = React.useCallback((time, duration, device) => {\n if (typeof time === 'number' && typeof duration === 'number' && typeof device === 'string') {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'TimeChanged',\n args: {\n time: Math.max(0, Math.round(time)),\n duration: Math.max(0, Math.round(duration)),\n device,\n }\n }\n }, 'player');\n }\n }, []);\n\n const seek = React.useCallback((time, duration, device) => {\n if (typeof time === 'number' && typeof duration === 'number' && typeof device === 'string') {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'Seek',\n args: {\n time: Math.max(0, Math.round(time)),\n duration: Math.max(0, Math.round(duration)),\n device,\n }\n }\n }, 'player');\n }\n }, []);\n\n const ended = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'Ended'\n }\n }, 'player');\n }, []);\n const pausedChanged = React.useCallback((paused) => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'PausedChanged',\n args: { paused }\n }\n }, 'player');\n }, []);\n const nextVideo = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'NextVideo'\n }\n }, 'player');\n }, []);\n\n const player = useModelState({ model: 'player', action, map });\n return [player, videoParamsChanged, timeChanged, seek, pausedChanged, ended, nextVideo];\n};\n\nmodule.exports = usePlayer;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\n\nconst useStatistics = (player, streamingServer) => {\n const { core } = useServices();\n\n const stream = React.useMemo(() => {\n return player.selected?.stream ?\n player.selected.stream\n :\n null;\n }, [player.selected]);\n\n const infoHash = React.useMemo(() => {\n return stream?.infoHash ?\n stream?.infoHash\n :\n null;\n }, [stream]);\n\n const statistics = React.useMemo(() => {\n return streamingServer.statistics?.type === 'Ready' ?\n streamingServer.statistics.content\n :\n null;\n }, [streamingServer.statistics]);\n\n const peers = React.useMemo(() => {\n return statistics?.peers ?\n statistics.peers\n :\n 0;\n }, [statistics]);\n\n const speed = React.useMemo(() => {\n return statistics?.downloadSpeed ?\n parseFloat((statistics.downloadSpeed / 1000 / 1000).toFixed(2))\n :\n 0;\n }, [statistics]);\n\n const completed = React.useMemo(() => {\n return statistics?.streamProgress ?\n parseFloat((statistics.streamProgress * 100).toFixed(2))\n :\n 0;\n }, [statistics]);\n\n const getStatistics = React.useCallback(() => {\n if (stream) {\n const { infoHash, fileIdx } = stream;\n if (typeof infoHash === 'string' && typeof fileIdx === 'number') {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'GetStatistics',\n args: {\n infoHash,\n fileIdx,\n }\n }\n });\n }\n }\n }, [stream]);\n\n React.useEffect(() => {\n getStatistics();\n const interval = setInterval(getStatistics, 5000);\n return () => clearInterval(interval);\n }, [getStatistics]);\n\n return {\n infoHash,\n peers,\n speed,\n completed,\n };\n};\n\nmodule.exports = useStatistics;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst Video = require('@stremio/stremio-video');\nconst EventEmitter = require('eventemitter3');\n\nconst events = new EventEmitter();\n\nconst useVideo = () => {\n const video = React.useRef(null);\n const containerRef = React.useRef(null);\n\n const [state, setState] = React.useState({\n manifest: null,\n stream: null,\n paused: null,\n time: null,\n duration: null,\n buffering: null,\n buffered: null,\n volume: null,\n muted: null,\n playbackSpeed: null,\n videoParams: null,\n audioTracks: [],\n selectedAudioTrackId: null,\n subtitlesTracks: [],\n selectedSubtitlesTrackId: null,\n subtitlesOffset: null,\n subtitlesSize: null,\n subtitlesTextColor: null,\n subtitlesBackgroundColor: null,\n subtitlesOutlineColor: null,\n extraSubtitlesTracks: [],\n selectedExtraSubtitlesTrackId: null,\n extraSubtitlesSize: null,\n extraSubtitlesDelay: null,\n extraSubtitlesOffset: null,\n extraSubtitlesTextColor: null,\n extraSubtitlesBackgroundColor: null,\n extraSubtitlesOutlineColor: null,\n });\n\n const dispatch = (action, options) => {\n if (video.current && containerRef.current) {\n try {\n video.current.dispatch(action, {\n ...options,\n containerElement: containerRef.current,\n });\n } catch (error) {\n console.error('Video:', error);\n }\n }\n };\n\n const load = (args, options) => {\n dispatch({\n type: 'command',\n commandName: 'load',\n commandArgs: args\n }, options);\n };\n\n const unload = () => {\n dispatch({\n type: 'command',\n commandName: 'unload',\n });\n };\n\n const addExtraSubtitlesTracks = (tracks) => {\n dispatch({\n type: 'command',\n commandName: 'addExtraSubtitlesTracks',\n commandArgs: {\n tracks,\n },\n });\n };\n\n const addLocalSubtitles = (filename, buffer) => {\n dispatch({\n type: 'command',\n commandName: 'addLocalSubtitles',\n commandArgs: {\n filename,\n buffer,\n },\n });\n };\n\n const setProp = (name, value) => {\n dispatch({ type: 'setProp', propName: name, propValue: value });\n };\n\n const setSubtitlesTrack = (id) => {\n setProp('selectedSubtitlesTrackId', id);\n setProp('selectedExtraSubtitlesTrackId', null);\n };\n\n const setExtraSubtitlesTrack = (id) => {\n setProp('selectedSubtitlesTrackId', null);\n setProp('selectedExtraSubtitlesTrackId', id);\n };\n\n const onError = (error) => {\n events.emit('error', error);\n };\n\n const onEnded = () => {\n events.emit('ended');\n };\n\n const onSubtitlesTrackLoaded = (track) => {\n events.emit('subtitlesTrackLoaded', track);\n };\n\n const onExtraSubtitlesTrackLoaded = (track) => {\n events.emit('extraSubtitlesTrackLoaded', track);\n };\n\n const onExtraSubtitlesTrackAdded = (track) => {\n events.emit('extraSubtitlesTrackAdded', track);\n };\n\n const onPropChanged = (name, value) => {\n setState((state) => ({\n ...state,\n [name]: value\n }));\n };\n\n const onImplementationChanged = (manifest) => {\n manifest.props.forEach((propName) => dispatch(({ type: 'observeProp', propName })));\n setState((state) => ({\n ...state,\n manifest\n }));\n\n events.emit('implementationChanged', manifest);\n };\n\n React.useEffect(() => {\n video.current = new Video();\n video.current.on('error', onError);\n video.current.on('ended', onEnded);\n video.current.on('propChanged', onPropChanged);\n video.current.on('propValue', onPropChanged);\n video.current.on('implementationChanged', onImplementationChanged);\n video.current.on('subtitlesTrackLoaded', onSubtitlesTrackLoaded);\n video.current.on('extraSubtitlesTrackLoaded', onExtraSubtitlesTrackLoaded);\n video.current.on('extraSubtitlesTrackAdded', onExtraSubtitlesTrackAdded);\n\n return () => video.current.destroy();\n }, []);\n\n return {\n events,\n containerRef,\n state,\n load,\n unload,\n addExtraSubtitlesTracks,\n addLocalSubtitles,\n setProp,\n setSubtitlesTrack,\n setExtraSubtitlesTrack,\n };\n};\n\nmodule.exports = useVideo;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst classnames = require('classnames');\nconst debounce = require('lodash.debounce');\nconst useTranslate = require('stremio/common/useTranslate');\nconst { default: Icon } = require('@stremio/stremio-icons/react');\nconst { withCoreSuspender, getVisibleChildrenRange } = require('stremio/common');\nconst { Image, MainNavBars, MetaItem, MetaRow } = require('stremio/components');\nconst useSearch = require('./useSearch');\nconst styles = require('./styles');\n\nconst THRESHOLD = 100;\n\nconst Search = ({ queryParams }) => {\n const t = useTranslate();\n const [search, loadSearchRows] = useSearch(queryParams);\n const query = React.useMemo(() => {\n return search.selected !== null ?\n search.selected.extra.reduceRight((query, [name, value]) => {\n if (name === 'search') {\n return value;\n }\n\n return query;\n }, null)\n :\n null;\n }, [search.selected]);\n const scrollContainerRef = React.useRef();\n const onVisibleRangeChange = React.useCallback(() => {\n if (search.catalogs.length === 0) {\n return;\n }\n\n const range = getVisibleChildrenRange(scrollContainerRef.current, THRESHOLD);\n if (range === null) {\n return;\n }\n\n loadSearchRows(range);\n }, [search.catalogs]);\n const onScroll = React.useCallback(debounce(onVisibleRangeChange, 250), [onVisibleRangeChange]);\n React.useLayoutEffect(() => {\n onVisibleRangeChange();\n }, [search.catalogs, onVisibleRangeChange]);\n return (\n <MainNavBars className={styles['search-container']} route={'search'} query={query}>\n <div ref={scrollContainerRef} className={styles['search-content']} onScroll={onScroll}>\n {\n query === null ?\n <div className={classnames(styles['search-hints-wrapper'])}>\n <div className={classnames(styles['search-hints-title-container'], 'animation-fade-in')}>\n <div className={styles['search-hints-title']}>{t.string('SEARCH_ANYTHING')}</div>\n </div>\n <div className={classnames(styles['search-hints-container'], 'animation-fade-in')}>\n <div className={styles['search-hint-container']}>\n <Icon className={styles['icon']} name={'trailer'} />\n <div className={styles['label']}>{t.string('SEARCH_CATEGORIES')}</div>\n </div>\n <div className={styles['search-hint-container']}>\n <Icon className={styles['icon']} name={'actors'} />\n <div className={styles['label']}>{t.string('SEARCH_PERSONS')}</div>\n </div>\n <div className={styles['search-hint-container']}>\n <Icon className={styles['icon']} name={'link'} />\n <div className={styles['label']}>{t.string('SEARCH_PROTOCOLS')}</div>\n </div>\n <div className={styles['search-hint-container']}>\n <Icon className={styles['icon']} name={'imdb-outline'} />\n <div className={styles['label']}>{t.string('SEARCH_TYPES')}</div>\n </div>\n </div>\n </div>\n :\n search.catalogs.length === 0 ?\n <div className={styles['message-container']}>\n <Image\n className={styles['image']}\n src={require('/images/empty.png')}\n alt={' '}\n />\n <div className={styles['message-label']}>{ t.string('STREMIO_TV_SEARCH_NO_ADDONS') }</div>\n </div>\n :\n search.catalogs.map((catalog, index) => {\n switch (catalog.content?.type) {\n case 'Ready': {\n return (\n <MetaRow\n key={index}\n className={classnames(styles['search-row'], styles[`search-row-${catalog.content.content[0].posterShape}`], 'animation-fade-in')}\n catalog={catalog}\n itemComponent={MetaItem}\n />\n );\n }\n case 'Err': {\n if (catalog.content.content !== 'EmptyContent') {\n return (\n <MetaRow\n key={index}\n className={classnames(styles['search-row'], 'animation-fade-in')}\n catalog={catalog}\n message={catalog.content.content}\n />\n );\n }\n return null;\n }\n default: {\n return (\n <MetaRow.Placeholder\n key={index}\n className={classnames(styles['search-row'], styles['search-row-poster'], 'animation-fade-in')}\n catalog={catalog}\n title={t.catalogTitle(catalog)}\n />\n );\n }\n }\n })\n }\n </div>\n </MainNavBars>\n );\n};\n\nSearch.propTypes = {\n queryParams: PropTypes.instanceOf(URLSearchParams)\n};\n\nconst SearchFallback = ({ queryParams }) => (\n <MainNavBars className={styles['search-container']} route={'search'} query={queryParams.get('search') ?? queryParams.get('query')} />\n);\n\nSearchFallback.propTypes = Search.propTypes;\n\nmodule.exports = withCoreSuspender(Search, SearchFallback);\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Search = require('./Search');\n\nmodule.exports = Search;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useModelState } = require('stremio/common');\nconst { useServices } = require('stremio/services');\n\nconst useSearch = (queryParams) => {\n const { core } = useServices();\n // TODO: refactor this to be in stremio-core-web\n // React.useEffect(() => {\n // let timerId = setTimeout(emitSearchEvent, 500);\n // function emitSearchEvent() {\n // timerId = null;\n // const state = core.transport.getState('search');\n // if (state.selected !== null) {\n // const [, query] = state.selected.extra.find(([name]) => name === 'search');\n // const responses = state.catalogs.filter((catalog) => catalog.content?.type === 'Ready');\n // core.transport.analytics({\n // event: 'Search',\n // args: {\n // query,\n // responsesCount: responses.length\n // }\n // });\n // }\n // }\n // return () => {\n // if (timerId !== null) {\n // clearTimeout(timerId);\n // emitSearchEvent();\n // }\n // };\n // }, [queryParams.get('search')]);\n const action = React.useMemo(() => {\n const query = queryParams.get('search') ?? queryParams.get('query');\n if (query?.length > 0) {\n return {\n action: 'Load',\n args: {\n model: 'CatalogsWithExtra',\n args: {\n extra: [\n ['search', query]\n ]\n }\n }\n };\n } else {\n return {\n action: 'Unload'\n };\n }\n }, [queryParams]);\n const loadRange = React.useCallback((range) => {\n core.transport.dispatch({\n action: 'CatalogsWithExtra',\n args: {\n action: 'LoadRange',\n args: range\n }\n }, 'search');\n }, []);\n const search = useModelState({ model: 'search', action });\n return [search, loadRange];\n};\n\nmodule.exports = useSearch;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst { useServices } = require('stremio/services');\nconst { useModelState } = require('stremio/common');\n\nconst map = (dataExport) => ({\n ...dataExport,\n exportUrl: dataExport !== null && dataExport.exportUrl !== null && dataExport.exportUrl.type === 'Ready' ?\n dataExport.exportUrl.content\n :\n null\n});\n\nconst useDataExport = () => {\n const { core } = useServices();\n const loadDataExport = React.useCallback(() => {\n core.transport.dispatch({\n action: 'Load',\n args: {\n model: 'DataExport',\n }\n }, 'data_export');\n }, []);\n const dataExport = useModelState({ model: 'data_export', map });\n return [\n dataExport,\n loadDataExport\n ];\n};\n\nmodule.exports = useDataExport;\n","// Copyright (C) 2017-2024 Smart code 203358507\n\nimport { useCallback } from 'react';\nimport { useModelState, useToast } from 'stremio/common';\nimport useProfile from 'stremio/common/useProfile';\nimport { useServices } from 'stremio/services';\n\nconst useStreamingServerUrls = () => {\n const { core } = useServices();\n const profile = useProfile();\n const toast = useToast();\n const ctx = useModelState({ model: 'ctx' });\n const streamingServerUrls = ctx.streamingServerUrls;\n\n const addServerUrl = useCallback((url) => {\n const isValidUrl = (url) => {\n try {\n new URL(url);\n return true;\n } catch (_) {\n return false;\n }\n };\n\n if (isValidUrl(url)) {\n toast.show({\n type: 'success',\n title: 'New URL added',\n message: 'The new URL has been added successfully',\n timeout: 4000\n });\n\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'AddServerUrl',\n args: url,\n }\n });\n } else {\n toast.show({\n type: 'error',\n title: 'Invalid URL',\n message: 'Please provide a valid URL',\n timeout: 4000\n });\n }\n }, []);\n\n const deleteServerUrl = useCallback((url) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'DeleteServerUrl',\n args: url,\n }\n });\n }, []);\n const selectServerUrl = useCallback((url) => {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: {\n ...profile.settings,\n streamingServerUrl: url\n }\n }\n });\n }, [profile.settings]);\n const reloadServer = useCallback(() => {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'Reload'\n }\n });\n }, []);\n\n return {\n streamingServerUrls,\n addServerUrl,\n deleteServerUrl,\n selectServerUrl,\n reloadServer\n };\n};\n\nexport default useStreamingServerUrls;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Addons = require('./Addons');\nconst Board = require('./Board');\nconst Discover = require('./Discover');\nconst Library = require('./Library');\nconst Calendar = require('./Calendar').default;\nconst MetaDetails = require('./MetaDetails');\nconst NotFound = require('./NotFound');\nconst Search = require('./Search');\nconst { default: Settings } = require('./Settings');\nconst Player = require('./Player');\nconst Intro = require('./Intro');\n\nmodule.exports = {\n Addons,\n Board,\n Discover,\n Library,\n Calendar,\n MetaDetails,\n NotFound,\n Search,\n Settings,\n Player,\n Intro\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst ChromecastTransport = require('./ChromecastTransport');\n\nfunction Chromecast() {\n let active = false;\n let error = null;\n let starting = false;\n let transport = null;\n\n const events = new EventEmitter();\n\n function onTransportInit() {\n active = true;\n error = null;\n starting = false;\n onStateChanged();\n }\n function onTransportInitError(args) {\n console.error(args);\n active = false;\n error = new Error('Google Cast API not available', { cause: args });\n starting = false;\n onStateChanged();\n transport = null;\n }\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n },\n error: {\n configurable: false,\n enumerable: true,\n get: function() {\n return error;\n }\n },\n starting: {\n configurable: false,\n enumerable: true,\n get: function() {\n return starting;\n }\n },\n transport: {\n configurable: false,\n enumerable: true,\n get: function() {\n return transport;\n }\n }\n });\n\n this.start = function() {\n if (active || error instanceof Error || starting) {\n return;\n }\n\n starting = true;\n transport = new ChromecastTransport();\n transport.on('init', onTransportInit);\n transport.on('init-error', onTransportInitError);\n onStateChanged();\n };\n this.stop = function() {\n active = false;\n error = null;\n starting = false;\n onStateChanged();\n if (transport !== null) {\n transport.removeAllListeners();\n transport = null;\n }\n };\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n}\n\nmodule.exports = Chromecast;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst hat = require('hat');\n\nconst MESSAGE_NAMESPACE = 'urn:x-cast:com.stremio';\nconst CHUNK_SIZE = 20000;\n\nlet castAPIAvailable = null;\nconst castAPIEvents = new EventEmitter();\nwindow['__onGCastApiAvailable'] = function(available) {\n delete window['__onGCastApiAvailable'];\n castAPIAvailable = !!available;\n castAPIEvents.emit('availabilityChanged');\n};\n\nconst initialize = () => {\n return new Promise((resolve, reject) => {\n function onCastAPIAvailabilityChanged() {\n castAPIEvents.off('availabilityChanged', onCastAPIAvailabilityChanged);\n if (castAPIAvailable) {\n resolve();\n } else {\n reject(new Error('window.cast api not available', { cause: 'castAPIAvailable is null.' }));\n }\n }\n if (castAPIAvailable !== null) {\n onCastAPIAvailabilityChanged();\n } else {\n castAPIEvents.on('availabilityChanged', onCastAPIAvailabilityChanged);\n }\n });\n};\n\nfunction ChromecastTransport() {\n const events = new EventEmitter();\n const messages = {};\n\n initialize()\n .then(() => {\n cast.framework.CastContext.getInstance().addEventListener(\n cast.framework.CastContextEventType.CAST_STATE_CHANGED,\n onCastStateChanged\n );\n cast.framework.CastContext.getInstance().addEventListener(\n cast.framework.CastContextEventType.SESSION_STATE_CHANGED,\n onSesstionStateChanged\n );\n })\n .then(() => {\n try {\n events.emit('init');\n } catch (error) {\n console.error('ChromecastTransport', error);\n }\n })\n .catch((error) => {\n events.emit('init-error', error);\n });\n\n function onMessage(_, message) {\n try {\n const { id, chunk, index, length } = JSON.parse(message);\n messages[id] = messages[id] || [];\n messages[id][index] = chunk;\n if (Object.keys(messages[id]).length === length) {\n const parsedMessage = JSON.parse(messages[id].join(''));\n delete messages[id];\n events.emit('message', parsedMessage);\n }\n } catch (error) {\n events.emit('message-error', error);\n }\n }\n function onApplicationStatusChanged(event) {\n events.emit(cast.framework.CastSession.APPLICATION_STATUS_CHANGED, event);\n }\n function onApplicationMetadataChanged(event) {\n events.emit(cast.framework.CastSession.APPLICATION_METADATA_CHANGED, event);\n }\n function onActiveInputStateChanged(event) {\n events.emit(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED, event);\n }\n function onVolumeChanged(event) {\n events.emit(cast.framework.CastSession.VOLUME_CHANGED, event);\n }\n function onMediaSessionChanged(event) {\n events.emit(cast.framework.CastSession.MEDIA_SESSION, event);\n }\n function onCastStateChanged(event) {\n events.emit(cast.framework.CastContextEventType.CAST_STATE_CHANGED, event);\n }\n function onSesstionStateChanged(event) {\n events.emit(cast.framework.CastContextEventType.SESSION_STATE_CHANGED, event);\n switch (event.sessionState) {\n case cast.framework.SessionState.SESSION_STARTED: {\n event.session.addMessageListener(MESSAGE_NAMESPACE, onMessage);\n event.session.addEventListener(cast.framework.CastSession.APPLICATION_STATUS_CHANGED, onApplicationStatusChanged);\n event.session.addEventListener(cast.framework.CastSession.APPLICATION_METADATA_CHANGED, onApplicationMetadataChanged);\n event.session.addEventListener(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED, onActiveInputStateChanged);\n event.session.addEventListener(cast.framework.CastSession.VOLUME_CHANGED, onVolumeChanged);\n event.session.addEventListener(cast.framework.CastSession.MEDIA_SESSION, onMediaSessionChanged);\n break;\n }\n case cast.framework.SessionState.SESSION_ENDED: {\n event.session.removeMessageListener(MESSAGE_NAMESPACE, onMessage);\n event.session.removeEventListener(cast.framework.CastSession.APPLICATION_STATUS_CHANGED, onApplicationStatusChanged);\n event.session.removeEventListener(cast.framework.CastSession.APPLICATION_METADATA_CHANGED, onApplicationMetadataChanged);\n event.session.removeEventListener(cast.framework.CastSession.ACTIVE_INPUT_STATE_CHANGED, onActiveInputStateChanged);\n event.session.removeEventListener(cast.framework.CastSession.VOLUME_CHANGED, onVolumeChanged);\n event.session.removeEventListener(cast.framework.CastSession.MEDIA_SESSION, onMediaSessionChanged);\n break;\n }\n }\n }\n\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n this.removeAllListeners = function() {\n events.removeAllListeners();\n };\n this.getCastState = function() {\n return cast.framework.CastContext.getInstance().getCastState();\n };\n this.getSessionState = function() {\n return cast.framework.CastContext.getInstance().getSessionState();\n };\n this.getCastDevice = function() {\n const session = cast.framework.CastContext.getInstance().getCurrentSession();\n if (session !== null) {\n return session.getCastDevice();\n }\n\n return null;\n };\n this.setOptions = function(options) {\n cast.framework.CastContext.getInstance().setOptions(options);\n };\n this.requestSession = function() {\n return cast.framework.CastContext.getInstance().requestSession();\n };\n this.endCurrentSession = function(stopCasting) {\n cast.framework.CastContext.getInstance().endCurrentSession(stopCasting);\n };\n this.sendMessage = function(message) {\n const castSession = cast.framework.CastContext.getInstance().getCurrentSession();\n if (castSession !== null) {\n const serializedMessage = JSON.stringify(message);\n const chunksCount = Math.ceil(serializedMessage.length / CHUNK_SIZE);\n const chunks = [];\n for (let i = 0; i < chunksCount; i++) {\n const start = i * CHUNK_SIZE;\n const chunk = serializedMessage.slice(start, start + CHUNK_SIZE);\n chunks.push(chunk);\n }\n const id = hat();\n return Promise.all(chunks.map((chunk, index) => {\n return castSession.sendMessage(MESSAGE_NAMESPACE, {\n id,\n chunk,\n index,\n length: chunks.length\n });\n }));\n } else {\n return Promise.reject(new Error('Session not started', { cause: 'castSession is null.' }));\n }\n };\n}\n\nmodule.exports = ChromecastTransport;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Chromecast = require('./Chromecast');\n\nmodule.exports = Chromecast;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst CoreTransport = require('./CoreTransport');\n\nfunction Core(args) {\n let active = false;\n let error = null;\n let starting = false;\n let transport = null;\n\n const events = new EventEmitter();\n\n function onTransportInit() {\n active = true;\n error = null;\n starting = false;\n onStateChanged();\n }\n function onTransportError(args) {\n console.error(args);\n active = false;\n error = new Error('Stremio Core Transport initialization failed', { cause: args });\n starting = false;\n onStateChanged();\n transport = null;\n }\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n },\n error: {\n configurable: false,\n enumerable: true,\n get: function() {\n return error;\n }\n },\n starting: {\n configurable: false,\n enumerable: true,\n get: function() {\n return starting;\n }\n },\n transport: {\n configurable: false,\n enumerable: true,\n get: function() {\n return transport;\n }\n }\n });\n\n this.start = function() {\n if (active || error instanceof Error || starting) {\n return;\n }\n\n starting = true;\n transport = new CoreTransport(args);\n transport.on('init', onTransportInit);\n transport.on('error', onTransportError);\n onStateChanged();\n };\n this.stop = function() {\n active = false;\n error = null;\n starting = false;\n onStateChanged();\n if (transport !== null) {\n transport.removeAllListeners();\n transport = null;\n }\n };\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n}\n\nmodule.exports = Core;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst Bridge = require('@stremio/stremio-core-web/bridge');\n\nfunction CoreTransport(args) {\n const events = new EventEmitter();\n const worker = new Worker(`${process.env.COMMIT_HASH}/scripts/worker.js`);\n const bridge = new Bridge(window, worker);\n\n window.onCoreEvent = ({ name, args }) => {\n try {\n events.emit(name, args);\n } catch (error) {\n console.error('CoreTransport', error);\n }\n };\n\n bridge.call(['init'], [args])\n .then(() => {\n try {\n events.emit('init');\n } catch (error) {\n console.error('CoreTransport', error);\n }\n })\n .catch((error) => {\n events.emit('error', error);\n });\n\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n this.removeAllListeners = function() {\n events.removeAllListeners();\n };\n this.getState = async function(field) {\n return bridge.call(['getState'], [field]);\n };\n this.getDebugState = async function() {\n return bridge.call(['getDebugState'], []);\n };\n this.dispatch = async function(action, field) {\n return bridge.call(['dispatch'], [action, field, location.hash]);\n };\n this.analytics = async function(event) {\n return bridge.call(['analytics'], [event, location.hash]);\n };\n this.decodeStream = async function(stream) {\n return bridge.call(['decodeStream'], [stream]);\n };\n}\n\nmodule.exports = CoreTransport;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Core = require('./Core');\n\nmodule.exports = Core;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\n\nfunction DragAndDrop({ core }) {\n let active = false;\n\n const events = new EventEmitter();\n\n function onDragOver(event) {\n event.preventDefault();\n }\n async function onDrop(event) {\n event.preventDefault();\n if (event.dataTransfer.files instanceof FileList && event.dataTransfer.files.length > 0) {\n const file = event.dataTransfer.files[0];\n switch (file.type) {\n case 'application/x-bittorrent': {\n try {\n const torrent = await file.arrayBuffer();\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'CreateTorrent',\n args: Array.from(new Uint8Array(torrent))\n }\n });\n } catch (_error) {\n events.emit('error', {\n message: 'Failed to process file',\n file: {\n name: file.name,\n type: file.type\n }\n });\n }\n break;\n }\n case 'application/x-subrip':\n break;\n case 'text/vtt':\n break;\n case '':\n break;\n default: {\n events.emit('error', {\n message: 'Unsupported file',\n file: {\n name: file.name,\n type: file.type\n }\n });\n }\n }\n }\n }\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n }\n });\n\n this.start = function() {\n if (active) {\n return;\n }\n\n window.addEventListener('dragover', onDragOver);\n window.addEventListener('drop', onDrop);\n active = true;\n onStateChanged();\n };\n this.stop = function() {\n window.removeEventListener('dragover', onDragOver);\n window.removeEventListener('drop', onDrop);\n active = false;\n onStateChanged();\n };\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n}\n\nmodule.exports = DragAndDrop;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst DragAndDrop = require('./DragAndDrop');\n\nmodule.exports = DragAndDrop;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\n\nfunction KeyboardShortcuts() {\n let active = false;\n\n const events = new EventEmitter();\n\n function onKeyDown(event) {\n if (event.keyboardShortcutPrevented || event.target.tagName === 'INPUT' || event.ctrlKey || event.altKey || event.shiftKey || event.metaKey) {\n return;\n }\n\n switch (event.code) {\n case 'Digit0': {\n event.preventDefault();\n window.location = '#/search';\n break;\n }\n case 'Digit1': {\n event.preventDefault();\n window.location = '#/';\n break;\n }\n case 'Digit2': {\n event.preventDefault();\n window.location = '#/discover';\n break;\n }\n case 'Digit3': {\n event.preventDefault();\n window.location = '#/library';\n break;\n }\n case 'Digit4': {\n event.preventDefault();\n window.location = '#/calendar';\n break;\n }\n case 'Digit5': {\n event.preventDefault();\n window.location = '#/addons';\n break;\n }\n case 'Digit6': {\n event.preventDefault();\n window.location = '#/settings';\n break;\n }\n case 'Backspace': {\n event.preventDefault();\n if (event.ctrlKey) {\n window.history.forward();\n } else {\n window.history.back();\n }\n\n break;\n }\n }\n }\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n }\n });\n\n this.start = function() {\n if (active) {\n return;\n }\n\n window.addEventListener('keydown', onKeyDown);\n active = true;\n onStateChanged();\n };\n this.stop = function() {\n window.removeEventListener('keydown', onKeyDown);\n active = false;\n onStateChanged();\n };\n}\n\nmodule.exports = KeyboardShortcuts;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst KeyboardShortcuts = require('./KeyboardShortcuts');\n\nmodule.exports = KeyboardShortcuts;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\n\nconst ServicesContext = React.createContext({});\n\nServicesContext.displayName = 'ServicesContext';\n\nmodule.exports = ServicesContext;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst PropTypes = require('prop-types');\nconst ServicesContext = require('./ServicesContext');\n\nconst ServicesProvider = ({ services = {}, children }) => {\n return (\n <ServicesContext.Provider value={services}>\n {children}\n </ServicesContext.Provider>\n );\n};\n\nServicesProvider.propTypes = {\n services: PropTypes.object,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node\n ])\n};\n\nmodule.exports = ServicesProvider;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst ServicesProvider = require('./ServicesProvider');\nconst useServices = require('./useServices');\n\nmodule.exports = {\n ServicesProvider,\n useServices\n};\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst React = require('react');\nconst ServicesContext = require('./ServicesContext');\n\nconst useServices = () => {\n return React.useContext(ServicesContext);\n};\n\nmodule.exports = useServices;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\nconst ShellTransport = require('./ShellTransport');\n\nfunction Shell() {\n let active = false;\n let error = null;\n let starting = false;\n let transport = null;\n\n const events = new EventEmitter();\n\n function onStateChanged() {\n events.emit('stateChanged');\n }\n\n Object.defineProperties(this, {\n active: {\n configurable: false,\n enumerable: true,\n get: function() {\n return active;\n }\n },\n error: {\n configurable: false,\n enumerable: true,\n get: function() {\n return error;\n }\n },\n starting: {\n configurable: false,\n enumerable: true,\n get: function() {\n return starting;\n }\n },\n transport: {\n configurable: false,\n enumerable: true,\n get: function() {\n return transport;\n }\n }\n });\n\n this.start = function() {\n if (active || error instanceof Error || starting) {\n return;\n }\n\n active = false;\n starting = true;\n\n try {\n transport = new ShellTransport();\n active = true;\n error = null;\n starting = false;\n onStateChanged();\n } catch (e) {\n console.error(e);\n active = false;\n error = new Error('Failed to initialize shell transport', { cause: e });\n starting = false;\n onStateChanged();\n transport = null;\n }\n\n onStateChanged();\n };\n this.stop = function() {\n active = false;\n error = null;\n starting = false;\n onStateChanged();\n };\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n}\n\nmodule.exports = Shell;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst EventEmitter = require('eventemitter3');\n\nconst QtMsgTypes = {\n signal: 1,\n propertyUpdate: 2,\n init: 3,\n idle: 4,\n debug: 5,\n invokeMethod: 6,\n connectToSignal: 7,\n disconnectFromSignal: 8,\n setProperty: 9,\n response: 10,\n};\nconst QtObjId = 'transport'; // the ID of our transport object\n\nfunction ShellTransport() {\n const events = new EventEmitter();\n\n this.props = {};\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const shell = this;\n const transport = window.qt && window.qt.webChannelTransport;\n if (!transport) throw 'no viable transport found (qt.webChannelTransport)';\n\n let id = 0;\n function send(msg) {\n msg.id = id++;\n transport.send(JSON.stringify(msg));\n }\n\n transport.onmessage = function (message) {\n const msg = JSON.parse(message.data);\n if (msg.id === 0) {\n const obj = msg.data[QtObjId];\n\n obj.properties.slice(1).forEach(function (prop) {\n shell.props[prop[1]] = prop[3];\n });\n if (typeof shell.props.shellVersion === 'string') {\n shell.shellVersionArr = (\n shell.props.shellVersion.match(/(\\d+)\\.(\\d+)\\.(\\d+)/) || []\n )\n .slice(1, 4)\n .map(Number);\n }\n events.emit('received-props', shell.props);\n\n obj.signals.forEach(function (sig) {\n send({\n type: QtMsgTypes.connectToSignal,\n object: QtObjId,\n signal: sig[1],\n });\n });\n\n const onEvent = obj.methods.filter(function (x) {\n return x[0] === 'onEvent';\n })[0];\n\n shell.send = function (ev, args) {\n send({\n type: QtMsgTypes.invokeMethod,\n object: QtObjId,\n method: onEvent[1],\n args: [ev, args || {}],\n });\n };\n\n shell.send('app-ready', {}); // signal that we're ready to take events\n }\n\n if (msg.object === QtObjId && msg.type === QtMsgTypes.signal)\n events.emit(msg.args[0], msg.args[1]);\n };\n send({ type: QtMsgTypes.init });\n\n this.on = function(name, listener) {\n events.on(name, listener);\n };\n this.off = function(name, listener) {\n events.off(name, listener);\n };\n this.removeAllListeners = function() {\n events.removeAllListeners();\n };\n}\n\nmodule.exports = ShellTransport;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Shell = require('./Shell');\n\nmodule.exports = Shell;\n","// Copyright (C) 2017-2023 Smart code 203358507\n\nconst Chromecast = require('./Chromecast');\nconst Core = require('./Core');\nconst DragAndDrop = require('./DragAndDrop');\nconst KeyboardShortcuts = require('./KeyboardShortcuts');\nconst { ServicesProvider, useServices } = require('./ServicesContext');\nconst Shell = require('./Shell');\n\nmodule.exports = {\n Chromecast,\n Core,\n DragAndDrop,\n KeyboardShortcuts,\n ServicesProvider,\n useServices,\n Shell\n};\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar services_1 = require(\"stremio/services\");\nvar common_1 = require(\"stremio/common\");\nvar components_1 = require(\"stremio/components\");\nvar UpdaterBanner_less_1 = __importDefault(require(\"./UpdaterBanner.less\"));\nvar UpdaterBanner = function (_a) {\n var className = _a.className;\n var t = (0, react_i18next_1.useTranslation)().t;\n var shell = (0, services_1.useServices)().shell;\n var shellTransport = (0, common_1.useShell)();\n var _b = (0, common_1.useBinaryState)(false), visible = _b[0], show = _b[1], hide = _b[2];\n var onInstallClick = function () {\n shellTransport.send('autoupdater-notif-clicked');\n };\n (0, react_1.useEffect)(function () {\n shell.transport && shell.transport.on('autoupdater-show-notif', show);\n return function () {\n shell.transport && shell.transport.off('autoupdater-show-notif', show);\n };\n }, []);\n return (react_1.default.createElement(\"div\", { className: className },\n react_1.default.createElement(components_1.Transition, { when: visible, name: 'slide-up' },\n react_1.default.createElement(\"div\", { className: UpdaterBanner_less_1.default['updater-banner'] },\n react_1.default.createElement(\"div\", { className: UpdaterBanner_less_1.default['label'] }, t('UPDATER_TITLE')),\n react_1.default.createElement(components_1.Button, { className: UpdaterBanner_less_1.default['button'], onClick: onInstallClick }, t('UPDATER_INSTALL_BUTTON')),\n react_1.default.createElement(components_1.Button, { className: UpdaterBanner_less_1.default['close'], onClick: hide },\n react_1.default.createElement(react_2.default, { className: UpdaterBanner_less_1.default['icon'], name: 'close' }))))));\n};\nexports.default = UpdaterBanner;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar UpdaterBanner_1 = __importDefault(require(\"./UpdaterBanner\"));\nexports.default = UpdaterBanner_1.default;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useFileDrop = exports.FileDropProvider = void 0;\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar utils_1 = require(\"./utils\");\nvar FileDropContext = (0, react_1.createContext)({});\nvar FileDropProvider = function (_a) {\n var className = _a.className, children = _a.children;\n var _b = (0, react_1.useState)([]), listeners = _b[0], setListeners = _b[1];\n var _c = (0, react_1.useState)(false), active = _c[0], setActive = _c[1];\n var onDragOver = function (event) {\n event.preventDefault();\n setActive(true);\n };\n var onDragLeave = function () {\n setActive(false);\n };\n var onDrop = (0, react_1.useCallback)(function (event) {\n event.preventDefault();\n var dataTransfer = event.dataTransfer;\n if (dataTransfer && (dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.files.length) > 0) {\n var file_1 = dataTransfer.files[0];\n file_1\n .arrayBuffer()\n .then(function (buffer) {\n listeners\n .filter(function (_a) {\n var type = _a[0];\n return file_1.type ? type === file_1.type : (0, utils_1.isFileType)(buffer, type);\n })\n .forEach(function (_a) {\n var listerner = _a[1];\n return listerner(file_1.name, buffer);\n });\n });\n }\n setActive(false);\n }, [listeners]);\n var on = function (type, listener) {\n setListeners(function (listeners) {\n return __spreadArray(__spreadArray([], listeners, true), [[type, listener]], false);\n });\n };\n var off = function (type, listener) {\n setListeners(function (listeners) {\n return listeners.filter(function (_a) {\n var key = _a[0], value = _a[1];\n return key !== type && value !== listener;\n });\n });\n };\n (0, react_1.useEffect)(function () {\n window.addEventListener('dragover', onDragOver);\n window.addEventListener('dragleave', onDragLeave);\n window.addEventListener('drop', onDrop);\n return function () {\n window.removeEventListener('dragover', onDragOver);\n window.removeEventListener('dragleave', onDragLeave);\n window.removeEventListener('drop', onDrop);\n };\n }, [onDrop]);\n return (react_1.default.createElement(FileDropContext.Provider, { value: { on: on, off: off } },\n children,\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(className, { 'active': active }) })));\n};\nexports.FileDropProvider = FileDropProvider;\nvar useFileDrop = function () {\n return (0, react_1.useContext)(FileDropContext);\n};\nexports.useFileDrop = useFileDrop;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.onFileDrop = exports.useFileDrop = exports.FileDropProvider = void 0;\nvar FileDrop_1 = require(\"./FileDrop\");\nObject.defineProperty(exports, \"FileDropProvider\", { enumerable: true, get: function () { return FileDrop_1.FileDropProvider; } });\nObject.defineProperty(exports, \"useFileDrop\", { enumerable: true, get: function () { return FileDrop_1.useFileDrop; } });\nvar onFileDrop_1 = __importDefault(require(\"./onFileDrop\"));\nexports.onFileDrop = onFileDrop_1.default;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar FileDrop_1 = require(\"./FileDrop\");\nvar onFileDrop = function (types, listener) {\n var _a = (0, FileDrop_1.useFileDrop)(), on = _a.on, off = _a.off;\n (0, react_1.useEffect)(function () {\n types.forEach(function (type) { return on(type, listener); });\n return function () { return types.forEach(function (type) { return off(type, listener); }); };\n }, []);\n};\nexports.default = onFileDrop;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isFileType = void 0;\nvar CONSTANTS_1 = require(\"stremio/common/CONSTANTS\");\nvar SIGNATURES = CONSTANTS_1.MIME_SIGNATURES;\nvar isFileType = function (buffer, type) {\n var signatures = SIGNATURES[type];\n return signatures.some(function (signature) {\n var array = new Uint8Array(buffer);\n var signatureBuffer = Buffer.from(signature, 'hex');\n var bufferToCompare = array.subarray(0, signatureBuffer.length);\n return Buffer.compare(signatureBuffer, bufferToCompare) === 0;\n });\n};\nexports.isFileType = isFileType;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePlatform = exports.PlatformProvider = void 0;\nvar react_1 = __importStar(require(\"react\"));\nvar CONSTANTS_1 = require(\"stremio/common/CONSTANTS\");\nvar device_1 = require(\"./device\");\nvar PlatformContext = (0, react_1.createContext)({});\nvar PlatformProvider = function (_a) {\n var children = _a.children;\n var openExternal = function (url) {\n try {\n var hostname_1 = new URL(url).hostname;\n var isWhitelisted = CONSTANTS_1.WHITELISTED_HOSTS.some(function (host) { return hostname_1.endsWith(host); });\n var finalUrl = !isWhitelisted ? \"https://www.stremio.com/warning#\".concat(encodeURIComponent(url)) : url;\n window.open(finalUrl, '_blank');\n }\n catch (e) {\n console.error('Failed to parse external url:', e);\n }\n };\n return (react_1.default.createElement(PlatformContext.Provider, { value: { openExternal: openExternal, name: device_1.name, isMobile: device_1.isMobile } }, children));\n};\nexports.PlatformProvider = PlatformProvider;\nvar usePlatform = function () {\n return (0, react_1.useContext)(PlatformContext);\n};\nexports.usePlatform = usePlatform;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isMobile = exports.name = void 0;\nvar bowser_1 = __importDefault(require(\"bowser\"));\nvar APPLE_MOBILE_DEVICES = [\n 'iPad Simulator',\n 'iPhone Simulator',\n 'iPod Simulator',\n 'iPad',\n 'iPhone',\n 'iPod',\n];\nvar _a = globalThis.navigator, userAgent = _a.userAgent, platform = _a.platform, maxTouchPoints = _a.maxTouchPoints;\n// this detects ipad properly in safari\n// while bowser does not\nvar isIOS = APPLE_MOBILE_DEVICES.includes(platform) || (userAgent.includes('Mac') && 'ontouchend' in document);\n// Edge case: iPad is included in this function\n// Keep in mind maxTouchPoints for Vision Pro might change in the future\nvar isVisionOS = userAgent.includes('Macintosh') && maxTouchPoints === 5;\nvar bowser = bowser_1.default.getParser(userAgent);\nvar os = bowser.getOSName().toLowerCase();\nvar name = isVisionOS ? 'visionos' : isIOS ? 'ios' : os || 'unknown';\nexports.name = name;\nvar isMobile = ['ios', 'android'].includes(name);\nexports.isMobile = isMobile;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.usePlatform = exports.PlatformProvider = void 0;\nvar Platform_1 = require(\"./Platform\");\nObject.defineProperty(exports, \"PlatformProvider\", { enumerable: true, get: function () { return Platform_1.PlatformProvider; } });\nObject.defineProperty(exports, \"usePlatform\", { enumerable: true, get: function () { return Platform_1.usePlatform; } });\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.label = exports.find = exports.all = void 0;\nvar langs_1 = __importDefault(require(\"langs\"));\nvar all = langs_1.default.all().map(function (lang) { return (__assign(__assign({}, lang), { code: lang['2'], label: lang.local, alpha2: lang['1'], alpha3: [lang['2'], lang['2B'], lang['2T'], lang['3']], locale: lang['locale'] })); });\nexports.all = all;\nvar find = function (code) {\n return all.find(function (_a) {\n var alpha2 = _a.alpha2, alpha3 = _a.alpha3, locale = _a.locale;\n return __spreadArray(__spreadArray([alpha2], alpha3, true), [locale], false).includes(code);\n });\n};\nexports.find = find;\nvar label = function (code) {\n var _a;\n var language = find(code);\n return (_a = language === null || language === void 0 ? void 0 : language.label) !== null && _a !== void 0 ? _a : code;\n};\nexports.label = label;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar useShell_1 = __importDefault(require(\"./useShell\"));\nvar useSettings_1 = __importDefault(require(\"./useSettings\"));\nvar useFullscreen = function () {\n var shell = (0, useShell_1.default)();\n var settings = (0, useSettings_1.default)()[0];\n var _a = (0, react_1.useState)(false), fullscreen = _a[0], setFullscreen = _a[1];\n var requestFullscreen = (0, react_1.useCallback)(function () { return __awaiter(void 0, void 0, void 0, function () {\n var err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!shell.active) return [3 /*break*/, 1];\n shell.send('win-set-visibility', { fullscreen: true });\n return [3 /*break*/, 4];\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, document.documentElement.requestFullscreen()];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n err_1 = _a.sent();\n console.error('Error enabling fullscreen', err_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n }); }, []);\n var exitFullscreen = (0, react_1.useCallback)(function () {\n if (shell.active) {\n shell.send('win-set-visibility', { fullscreen: false });\n }\n else {\n if (document.fullscreenElement === document.documentElement) {\n document.exitFullscreen();\n }\n }\n }, []);\n var toggleFullscreen = (0, react_1.useCallback)(function () {\n fullscreen ? exitFullscreen() : requestFullscreen();\n }, [fullscreen]);\n (0, react_1.useEffect)(function () {\n var onWindowVisibilityChanged = function (state) {\n setFullscreen(state.isFullscreen === true);\n };\n var onFullscreenChange = function () {\n setFullscreen(document.fullscreenElement === document.documentElement);\n };\n var onKeyDown = function (event) {\n var activeElement = document.activeElement;\n var inputFocused = activeElement &&\n (activeElement.tagName === 'INPUT' ||\n activeElement.tagName === 'TEXTAREA' ||\n activeElement.tagName === 'SELECT' ||\n activeElement.isContentEditable);\n if (event.code === 'Escape' && settings.escExitFullscreen) {\n exitFullscreen();\n }\n if (event.code === 'KeyF' && !inputFocused) {\n toggleFullscreen();\n }\n if (event.code === 'F11' && shell.active) {\n toggleFullscreen();\n }\n };\n shell.on('win-visibility-changed', onWindowVisibilityChanged);\n document.addEventListener('keydown', onKeyDown);\n document.addEventListener('fullscreenchange', onFullscreenChange);\n return function () {\n shell.off('win-visibility-changed', onWindowVisibilityChanged);\n document.removeEventListener('keydown', onKeyDown);\n document.removeEventListener('fullscreenchange', onFullscreenChange);\n };\n }, [settings.escExitFullscreen, toggleFullscreen]);\n return [fullscreen, requestFullscreen, exitFullscreen, toggleFullscreen];\n};\nexports.default = useFullscreen;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar useInterval = function (duration) {\n var interval = (0, react_1.useRef)(null);\n var start = function (callback) {\n cancel();\n interval.current = setInterval(callback, duration);\n };\n var cancel = function () {\n interval.current && clearInterval(interval.current);\n interval.current = null;\n };\n (0, react_1.useEffect)(function () {\n return function () { return cancel(); };\n }, []);\n return {\n start: start,\n cancel: cancel,\n };\n};\nexports.default = useInterval;\n","\"use strict\";\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar interfaceLanguages_json_1 = __importDefault(require(\"stremio/common/interfaceLanguages.json\"));\nvar useLanguageSorting = function (options) {\n var userLangCode = (0, react_1.useMemo)(function () {\n var lang = interfaceLanguages_json_1.default.find(function (l) { return l.codes.includes(navigator.language || 'en-US'); });\n if (lang) {\n var threeLetter = lang.codes[1] || 'eng';\n var fullLocale = navigator.language || 'en-US';\n return [threeLetter, fullLocale];\n }\n return ['eng'];\n }, []);\n var isLanguageDropdown = (0, react_1.useMemo)(function () {\n return options === null || options === void 0 ? void 0 : options.some(function (opt) { return interfaceLanguages_json_1.default.some(function (l) { return l.name === opt.label; }); });\n }, [options]);\n var sortedOptions = (0, react_1.useMemo)(function () {\n var matchingIndex = options.findIndex(function (opt) {\n var lang = interfaceLanguages_json_1.default.find(function (l) { return l.name === opt.label; });\n return userLangCode.some(function (code) { return lang === null || lang === void 0 ? void 0 : lang.codes.includes(code); });\n });\n if (matchingIndex === -1) {\n return __spreadArray([], options, true).sort(function (a, b) { return a.label.localeCompare(b.label); });\n }\n var matchingOption = options[matchingIndex];\n var otherOptions = options.filter(function (_, idx) { return idx !== matchingIndex; }).sort(function (a, b) { return a.label.localeCompare(b.label); });\n return __spreadArray([matchingOption], otherOptions, true);\n }, [options, userLangCode, isLanguageDropdown]);\n return { userLangCode: userLangCode, isLanguageDropdown: isLanguageDropdown, sortedOptions: sortedOptions };\n};\nexports.default = useLanguageSorting;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar useOrientation = function () {\n var _a = (0, react_1.useState)(window.innerHeight), windowHeight = _a[0], setWindowHeight = _a[1];\n var _b = (0, react_1.useState)(window.innerWidth), windowWidth = _b[0], setWindowWidth = _b[1];\n var orientation = (0, react_1.useMemo)(function () {\n if (windowHeight > windowWidth) {\n return 'portrait';\n }\n else {\n return 'landscape';\n }\n }, [windowWidth, windowHeight]);\n (0, react_1.useEffect)(function () {\n var handleResize = function () {\n setWindowHeight(window.innerHeight);\n setWindowWidth(window.innerWidth);\n };\n window.addEventListener('resize', handleResize);\n return function () {\n window.removeEventListener('resize', handleResize);\n };\n }, [window.innerWidth, window.innerHeight]);\n return orientation;\n};\nexports.default = useOrientation;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar useOutsideClick = function (callback) {\n var ref = (0, react_1.useRef)(null);\n (0, react_1.useEffect)(function () {\n var handleClickOutside = function (event) {\n if (ref.current && !ref.current.contains(event.target)) {\n callback();\n }\n };\n document.addEventListener('mouseup', handleClickOutside);\n document.addEventListener('touchend', handleClickOutside);\n return function () {\n document.removeEventListener('mouseup', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n };\n }, [callback]);\n return ref;\n};\nexports.default = useOutsideClick;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar services_1 = require(\"stremio/services\");\nvar useProfile_1 = __importDefault(require(\"./useProfile\"));\nvar useSettings = function () {\n var core = (0, services_1.useServices)().core;\n var profile = (0, useProfile_1.default)();\n var updateSettings = (0, react_1.useCallback)(function (settings) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), settings)\n }\n });\n }, [profile]);\n return [profile.settings, updateSettings];\n};\nexports.default = useSettings;\n","\"use strict\";\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar eventemitter3_1 = __importDefault(require(\"eventemitter3\"));\nvar SHELL_EVENT_OBJECT = 'transport';\nvar transport = (_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.chrome) === null || _a === void 0 ? void 0 : _a.webview;\nvar events = new eventemitter3_1.default();\nvar ShellEventType;\n(function (ShellEventType) {\n ShellEventType[ShellEventType[\"SIGNAL\"] = 1] = \"SIGNAL\";\n ShellEventType[ShellEventType[\"INVOKE_METHOD\"] = 6] = \"INVOKE_METHOD\";\n})(ShellEventType || (ShellEventType = {}));\nvar createId = function () { return Math.floor(Math.random() * 9999) + 1; };\nvar useShell = function () {\n var _a = (0, react_1.useState)(false), windowClosed = _a[0], setWindowClosed = _a[1];\n var _b = (0, react_1.useState)(false), windowHidden = _b[0], setWindowHidden = _b[1];\n var on = function (name, listener) {\n events.on(name, listener);\n };\n var off = function (name, listener) {\n events.off(name, listener);\n };\n var send = function (method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n try {\n transport === null || transport === void 0 ? void 0 : transport.postMessage(JSON.stringify({\n id: createId(),\n type: ShellEventType.INVOKE_METHOD,\n object: SHELL_EVENT_OBJECT,\n method: 'onEvent',\n args: __spreadArray([method], args, true),\n }));\n }\n catch (e) {\n console.error('Shell', 'Failed to send event', e);\n }\n };\n (0, react_1.useEffect)(function () {\n var onWindowVisibilityChanged = function (data) {\n setWindowClosed(data.visible === false && data.visibility === 0);\n };\n var onWindowStateChanged = function (data) {\n setWindowHidden(data.state === 9);\n };\n on('win-visibility-changed', onWindowVisibilityChanged);\n on('win-state-changed', onWindowStateChanged);\n return function () {\n off('win-visibility-changed', onWindowVisibilityChanged);\n off('win-state-changed', onWindowStateChanged);\n };\n }, []);\n (0, react_1.useEffect)(function () {\n if (!transport)\n return;\n var onMessage = function (_a) {\n var data = _a.data;\n try {\n var _b = JSON.parse(data), type = _b.type, args = _b.args;\n if (type === ShellEventType.SIGNAL) {\n var methodName = args[0], methodArg = args[1];\n events.emit(methodName, methodArg);\n }\n }\n catch (e) {\n console.error('Shell', 'Failed to handle event', e);\n }\n };\n transport.addEventListener('message', onMessage);\n return function () { return transport.removeEventListener('message', onMessage); };\n }, []);\n return {\n active: !!transport,\n send: send,\n on: on,\n off: off,\n windowClosed: windowClosed,\n windowHidden: windowHidden,\n };\n};\nexports.default = useShell;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar useTimeout = function (duration) {\n var timeout = (0, react_1.useRef)(null);\n var start = function (callback) {\n cancel();\n timeout.current = setTimeout(callback, duration);\n };\n var cancel = function () {\n timeout.current && clearTimeout(timeout.current);\n timeout.current = null;\n };\n (0, react_1.useEffect)(function () {\n return function () { return cancel(); };\n }, []);\n return {\n start: start,\n cancel: cancel,\n };\n};\nexports.default = useTimeout;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_dom_1 = require(\"react-dom\");\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar useBinaryState_1 = __importDefault(require(\"stremio/common/useBinaryState\"));\nvar useOrientation_1 = __importDefault(require(\"stremio/common/useOrientation\"));\nvar BottomSheet_less_1 = __importDefault(require(\"./BottomSheet.less\"));\nvar CLOSE_THRESHOLD = 100;\nvar BottomSheet = function (_a) {\n var _b;\n var children = _a.children, title = _a.title, show = _a.show, onClose = _a.onClose;\n var containerRef = (0, react_1.useRef)(null);\n var orientation = (0, useOrientation_1.default)();\n var _c = (0, react_1.useState)(0), startOffset = _c[0], setStartOffset = _c[1];\n var _d = (0, react_1.useState)(0), offset = _d[0], setOffset = _d[1];\n var _e = (0, useBinaryState_1.default)(), opened = _e[0], open = _e[1], close = _e[2];\n var containerStyle = (0, react_1.useMemo)(function () { return ({\n transform: \"translateY(\".concat(offset, \"px)\")\n }); }, [offset]);\n var containerHeight = function () { var _a, _b; return (_b = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) !== null && _b !== void 0 ? _b : 0; };\n var onCloseRequest = function () { return setOffset(containerHeight()); };\n var onTouchStart = function (_a) {\n var touches = _a.touches;\n var clientY = touches[0].clientY;\n setStartOffset(clientY);\n };\n var onTouchMove = (0, react_1.useCallback)(function (_a) {\n var touches = _a.touches;\n var clientY = touches[0].clientY;\n setOffset(Math.max(0, clientY - startOffset));\n }, [startOffset]);\n var onTouchEnd = function () {\n setOffset(function (offset) { return offset > CLOSE_THRESHOLD ? containerHeight() : 0; });\n setStartOffset(0);\n };\n var onTransitionEnd = (0, react_1.useCallback)(function () {\n (offset === containerHeight()) && close();\n }, [offset]);\n (0, react_1.useEffect)(function () {\n setOffset(0);\n show ? open() : close();\n }, [show]);\n (0, react_1.useEffect)(function () {\n !opened && onClose();\n }, [opened]);\n (0, react_1.useEffect)(function () {\n opened && close();\n }, [orientation]);\n return opened && (0, react_dom_1.createPortal)((react_1.default.createElement(\"div\", { className: BottomSheet_less_1.default['bottom-sheet'] },\n react_1.default.createElement(\"div\", { className: BottomSheet_less_1.default['backdrop'], onClick: onCloseRequest }),\n react_1.default.createElement(\"div\", { ref: containerRef, className: (0, classnames_1.default)(BottomSheet_less_1.default['container'], (_b = {}, _b[BottomSheet_less_1.default['dragging']] = startOffset, _b), 'animation-slide-up'), style: containerStyle, onTouchStart: onTouchStart, onTouchMove: onTouchMove, onTouchEnd: onTouchEnd, onTransitionEnd: onTransitionEnd },\n react_1.default.createElement(\"div\", { className: BottomSheet_less_1.default['heading'] },\n react_1.default.createElement(\"div\", { className: BottomSheet_less_1.default['handle'] }),\n react_1.default.createElement(\"div\", { className: BottomSheet_less_1.default['title'] }, title)),\n react_1.default.createElement(\"div\", { className: BottomSheet_less_1.default['content'], onClick: onCloseRequest }, children)))), document.body);\n};\nexports.default = BottomSheet;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BottomSheet_1 = __importDefault(require(\"./BottomSheet\"));\nexports.default = BottomSheet_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar use_long_press_1 = require(\"use-long-press\");\nvar Button_less_1 = __importDefault(require(\"./Button.less\"));\nvar Button = (0, react_1.forwardRef)(function (_a, ref) {\n var className = _a.className, href = _a.href, disabled = _a.disabled, children = _a.children, onLongPress = _a.onLongPress, onDoubleClick = _a.onDoubleClick, props = __rest(_a, [\"className\", \"href\", \"disabled\", \"children\", \"onLongPress\", \"onDoubleClick\"]);\n var longPress = (0, use_long_press_1.useLongPress)(onLongPress, { detect: use_long_press_1.LongPressEventType.Pointer });\n var onKeyDown = (0, react_1.useCallback)(function (event) {\n if (typeof props.onKeyDown === 'function') {\n props.onKeyDown(event);\n }\n if (event.key === 'Enter') {\n event.preventDefault();\n // @ts-expect-error: Property 'buttonClickPrevented' does not exist on type 'KeyboardEvent'.\n if (!event.nativeEvent.buttonClickPrevented) {\n event.currentTarget.click();\n }\n }\n }, [props.onKeyDown]);\n var onMouseDown = (0, react_1.useCallback)(function (event) {\n if (typeof props.onMouseDown === 'function') {\n props.onMouseDown(event);\n }\n // @ts-expect-error: Property 'buttonBlurPrevented' does not exist on type 'MouseEvent'.\n if (!event.nativeEvent.buttonBlurPrevented) {\n event.preventDefault();\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n }\n }, [props.onMouseDown]);\n return (0, react_1.createElement)(typeof href === 'string' && href.length > 0 ? 'a' : 'div', __assign(__assign(__assign({ tabIndex: 0 }, props), { ref: ref, className: (0, classnames_1.default)(className, Button_less_1.default['button-container'], { 'disabled': disabled }), href: href, onKeyDown: onKeyDown, onMouseDown: onMouseDown, onDoubleClick: onDoubleClick }), longPress()), children);\n});\nexports.default = Button;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Button_1 = __importDefault(require(\"./Button\"));\nexports.default = Button_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Checkbox_less_1 = __importDefault(require(\"./Checkbox.less\"));\nvar Button_1 = __importDefault(require(\"../Button\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar Checkbox = react_1.default.forwardRef(function (_a, ref) {\n var _b, _c, _d;\n var name = _a.name, disabled = _a.disabled, className = _a.className, label = _a.label, href = _a.href, link = _a.link, onChange = _a.onChange, error = _a.error, checked = _a.checked;\n var handleSelect = (0, react_1.useCallback)(function (event) {\n if (!disabled && onChange) {\n onChange({\n type: 'select',\n checked: event.target.checked,\n reactEvent: event,\n nativeEvent: event.nativeEvent,\n });\n }\n }, [disabled, onChange]);\n var onKeyDown = (0, react_1.useCallback)(function (event) {\n if ((event.key === 'Enter' || event.key === ' ') && !disabled) {\n onChange && onChange({\n type: 'select',\n checked: !checked,\n reactEvent: event,\n nativeEvent: event.nativeEvent,\n });\n }\n }, [disabled, checked, onChange]);\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Checkbox_less_1.default['checkbox'], className) },\n react_1.default.createElement(\"label\", { className: Checkbox_less_1.default['label'], htmlFor: name },\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Checkbox_less_1.default['checkbox-container'], (_b = {}, _b[Checkbox_less_1.default['checked']] = checked, _b), (_c = {}, _c[Checkbox_less_1.default['disabled']] = disabled, _c), (_d = {}, _d[Checkbox_less_1.default['error']] = error, _d)), role: 'checkbox', tabIndex: disabled ? -1 : 0, \"aria-checked\": checked, onKeyDown: onKeyDown },\n react_1.default.createElement(\"input\", { ref: ref, id: name, type: 'checkbox', checked: checked, disabled: disabled, onChange: handleSelect, className: Checkbox_less_1.default['input'] }),\n checked ?\n react_1.default.createElement(react_2.default, { name: 'checkmark', className: Checkbox_less_1.default['checkbox-icon'] })\n : null),\n react_1.default.createElement(\"div\", null,\n react_1.default.createElement(\"span\", null, label),\n href && link ?\n react_1.default.createElement(Button_1.default, { className: Checkbox_less_1.default['link'], href: href, target: '_blank', tabIndex: -1 }, link)\n : null))));\n});\nexports.default = Checkbox;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Checkbox_1 = __importDefault(require(\"./Checkbox\"));\nexports.default = Checkbox_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar components_1 = require(\"stremio/components\");\nvar Chip_less_1 = __importDefault(require(\"./Chip.less\"));\nvar Chip = (0, react_1.memo)(function (_a) {\n var _b;\n var label = _a.label, value = _a.value, active = _a.active, onSelect = _a.onSelect;\n var ref = (0, react_1.useRef)(null);\n var onClick = (0, react_1.useCallback)(function (_a) {\n var currentTarget = _a.currentTarget;\n var value = currentTarget.dataset['value'];\n value && onSelect(value);\n }, [onselect]);\n (0, react_1.useEffect)(function () {\n var _a;\n active && ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({\n block: 'nearest',\n inline: 'center',\n behavior: 'smooth',\n }));\n }, [active]);\n return (react_1.default.createElement(components_1.Button, { ref: ref, key: value, className: (0, classnames_1.default)(Chip_less_1.default['chip'], (_b = {}, _b[Chip_less_1.default['active']] = active, _b)), tabIndex: -1, \"data-value\": value, onClick: onClick }, label));\n});\nexports.default = Chip;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Chip_1 = __importDefault(require(\"./Chip\"));\nexports.default = Chip_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar components_1 = require(\"stremio/components\");\nvar Chip_1 = __importDefault(require(\"./Chip\"));\nvar Chips_less_1 = __importDefault(require(\"./Chips.less\"));\nvar Chips = (0, react_1.memo)(function (_a) {\n var options = _a.options, selected = _a.selected, onSelect = _a.onSelect;\n return (react_1.default.createElement(components_1.HorizontalScroll, { className: Chips_less_1.default['chips'] }, options.map(function (_a) {\n var label = _a.label, value = _a.value;\n return (react_1.default.createElement(Chip_1.default, { key: value, label: label, value: value, active: selected.includes(value), onSelect: onSelect }));\n })));\n});\nexports.default = Chips;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Chips_1 = __importDefault(require(\"./Chips\"));\nexports.default = Chips_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar AColorPicker = __importStar(require(\"a-color-picker\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar components_1 = require(\"stremio/components\");\nvar ModalDialog_1 = __importDefault(require(\"stremio/components/ModalDialog\"));\nvar useBinaryState_1 = __importDefault(require(\"stremio/common/useBinaryState\"));\nvar ColorPicker_1 = __importDefault(require(\"./ColorPicker\"));\nvar ColorInput_less_1 = __importDefault(require(\"./ColorInput.less\"));\nvar parseColor = function (value) {\n var color = AColorPicker.parseColor(value, 'hexcss4');\n return typeof color === 'string' ? color : '#ffffffff';\n};\nvar ColorInput = function (_a) {\n var className = _a.className, value = _a.value, onChange = _a.onChange, props = __rest(_a, [\"className\", \"value\", \"onChange\"]);\n var t = (0, react_i18next_1.useTranslation)().t;\n var _b = (0, useBinaryState_1.default)(false), modalOpen = _b[0], openModal = _b[1], closeModal = _b[2];\n var _c = (0, react_1.useState)(function () {\n return parseColor(value);\n }), tempValue = _c[0], setTempValue = _c[1];\n var labelButtonStyle = (0, react_1.useMemo)(function () { return ({\n backgroundColor: value\n }); }, [value]);\n var isTransparent = (0, react_1.useMemo)(function () {\n return parseColor(value).endsWith('00');\n }, [value]);\n var labelButtonOnClick = (0, react_1.useCallback)(function (event) {\n if (typeof props.onClick === 'function') {\n props.onClick(event);\n }\n // @ts-expect-error: Property 'openModalPrevented' does not exist on type 'MouseEvent'.\n if (!event.nativeEvent.openModalPrevented) {\n openModal();\n }\n }, [props.onClick]);\n var modalDialogOnClick = (0, react_1.useCallback)(function (event) {\n // @ts-expect-error: Property 'openModalPrevented' does not exist on type 'MouseEvent'.\n event.nativeEvent.openModalPrevented = true;\n }, []);\n var modalButtons = (0, react_1.useMemo)(function () {\n var selectButtonOnClick = function () {\n if (typeof onChange === 'function') {\n onChange(tempValue);\n }\n closeModal();\n };\n return [\n {\n label: t('SELECT'),\n props: {\n 'data-autofocus': true,\n onClick: selectButtonOnClick\n }\n }\n ];\n }, [tempValue, onChange]);\n var colorPickerOnInput = (0, react_1.useCallback)(function (color) {\n setTempValue(parseColor(color));\n }, []);\n (0, react_1.useLayoutEffect)(function () {\n setTempValue(parseColor(value));\n }, [value, modalOpen]);\n return (react_1.default.createElement(components_1.Button, __assign({ title: isTransparent ? t('BUTTON_COLOR_TRANSPARENT') : value }, props, { style: labelButtonStyle, className: (0, classnames_1.default)(className, ColorInput_less_1.default['color-input-container']), onClick: labelButtonOnClick }),\n isTransparent ?\n react_1.default.createElement(\"div\", { className: ColorInput_less_1.default['transparent-label-container'] },\n react_1.default.createElement(\"div\", { className: ColorInput_less_1.default['transparent-label'] }, t('BUTTON_COLOR_TRANSPARENT')))\n :\n null,\n modalOpen ?\n react_1.default.createElement(ModalDialog_1.default, { title: t('CHOOSE_COLOR'), buttons: modalButtons, onCloseRequest: closeModal, onClick: modalDialogOnClick },\n react_1.default.createElement(ColorPicker_1.default, { className: ColorInput_less_1.default['color-picker-container'], value: tempValue, onInput: colorPickerOnInput }))\n :\n null));\n};\nexports.default = ColorInput;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ColorInput_1 = __importDefault(require(\"./ColorInput\"));\nexports.default = ColorInput_1.default;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_dom_1 = require(\"react-dom\");\nvar ContextMenu_less_1 = __importDefault(require(\"./ContextMenu.less\"));\nvar PADDING = 8;\nvar ContextMenu = function (_a) {\n var children = _a.children, on = _a.on, autoClose = _a.autoClose;\n var _b = (0, react_1.useState)(false), active = _b[0], setActive = _b[1];\n var _c = (0, react_1.useState)([0, 0]), position = _c[0], setPosition = _c[1];\n var _d = (0, react_1.useState)([0, 0]), containerSize = _d[0], setContainerSize = _d[1];\n var ref = (0, react_1.useCallback)(function (element) {\n element && setContainerSize([element.offsetWidth, element.offsetHeight]);\n }, []);\n var style = (0, react_1.useMemo)(function () {\n var _a = [window.innerWidth, window.innerHeight], viewportWidth = _a[0], viewportHeight = _a[1];\n var containerWidth = containerSize[0], containerHeight = containerSize[1];\n var x = position[0], y = position[1];\n var left = Math.max(PADDING, Math.min(x + containerWidth > viewportWidth - PADDING ? x - containerWidth : x, viewportWidth - containerWidth - PADDING));\n var top = Math.max(PADDING, Math.min(y + containerHeight > viewportHeight - PADDING ? y - containerHeight : y, viewportHeight - containerHeight - PADDING));\n return { top: top, left: left };\n }, [position, containerSize]);\n var close = function () {\n setPosition([0, 0]);\n setActive(false);\n };\n var stopPropagation = function (event) {\n event.stopPropagation();\n };\n var onContextMenu = function (event) {\n event.preventDefault();\n setPosition([event.clientX, event.clientY]);\n setActive(true);\n };\n var handleKeyDown = (0, react_1.useCallback)(function (event) { return event.key === 'Escape' && close(); }, []);\n var onClick = (0, react_1.useCallback)(function () {\n autoClose && close();\n }, [autoClose]);\n (0, react_1.useEffect)(function () {\n on.forEach(function (ref) { return ref.current && ref.current.addEventListener('contextmenu', onContextMenu); });\n document.addEventListener('keydown', handleKeyDown);\n return function () {\n on.forEach(function (ref) { return ref.current && ref.current.removeEventListener('contextmenu', onContextMenu); });\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [on]);\n return active && (0, react_dom_1.createPortal)((react_1.default.createElement(\"div\", { className: ContextMenu_less_1.default['context-menu-container'], onMouseDown: close, onTouchStart: close },\n react_1.default.createElement(\"div\", { ref: ref, className: ContextMenu_less_1.default['context-menu'], style: style, onMouseDown: stopPropagation, onTouchStart: stopPropagation, onClick: onClick }, children))), document.body);\n};\nexports.default = (0, react_1.memo)(ContextMenu);\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ContextMenu_1 = __importDefault(require(\"./ContextMenu\"));\nexports.default = ContextMenu_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar HorizontalScroll_less_1 = __importDefault(require(\"./HorizontalScroll.less\"));\nvar SCROLL_THRESHOLD = 1;\nvar HorizontalScroll = function (_a) {\n var className = _a.className, children = _a.children;\n var ref = (0, react_1.useRef)(null);\n var _b = (0, react_1.useState)('left'), scrollPosition = _b[0], setScrollPosition = _b[1];\n (0, react_1.useEffect)(function () {\n var _a;\n var onScroll = function (_a) {\n var target = _a.target;\n var _b = target, scrollLeft = _b.scrollLeft, scrollWidth = _b.scrollWidth, offsetWidth = _b.offsetWidth;\n setScrollPosition(function () { return ((scrollLeft - SCROLL_THRESHOLD) <= 0 ? 'left' :\n (scrollLeft + offsetWidth + SCROLL_THRESHOLD) >= scrollWidth ? 'right' :\n 'center'); });\n };\n (_a = ref.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', onScroll);\n return function () { var _a; return (_a = ref.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', onScroll); };\n }, []);\n return (react_1.default.createElement(\"div\", { ref: ref, className: (0, classnames_1.default)(HorizontalScroll_less_1.default['horizontal-scroll'], className, [HorizontalScroll_less_1.default[scrollPosition]]) }, children));\n};\nexports.default = HorizontalScroll;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar HorizontalScroll_1 = __importDefault(require(\"./HorizontalScroll\"));\nexports.default = HorizontalScroll_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar Image = function (_a) {\n var className = _a.className, src = _a.src, alt = _a.alt, fallbackSrc = _a.fallbackSrc, renderFallback = _a.renderFallback, props = __rest(_a, [\"className\", \"src\", \"alt\", \"fallbackSrc\", \"renderFallback\"]);\n var _b = (0, react_1.useState)(false), broken = _b[0], setBroken = _b[1];\n var onError = (0, react_1.useCallback)(function (event) {\n if (typeof props.onError === 'function') {\n props.onError(event);\n }\n setBroken(true);\n }, [props.onError]);\n (0, react_1.useLayoutEffect)(function () {\n setBroken(false);\n }, [src]);\n return (broken || typeof src !== 'string' || src.length === 0) && (typeof renderFallback === 'function' || typeof fallbackSrc === 'string') ?\n typeof renderFallback === 'function' ?\n renderFallback()\n :\n react_1.default.createElement(\"img\", __assign({}, props, { className: className, src: fallbackSrc, alt: alt, loading: 'lazy' }))\n :\n react_1.default.createElement(\"img\", __assign({}, props, { className: className, src: src, alt: alt, loading: 'lazy', onError: onError }));\n};\nexports.default = Image;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Image_1 = __importDefault(require(\"./Image\"));\nexports.default = Image_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar NavBar_1 = require(\"stremio/components/NavBar\");\nvar MainNavBars_less_1 = __importDefault(require(\"./MainNavBars.less\"));\nvar TABS = [\n { id: 'board', label: 'Board', icon: 'home', href: '#/' },\n { id: 'discover', label: 'Discover', icon: 'discover', href: '#/discover' },\n { id: 'library', label: 'Library', icon: 'library', href: '#/library' },\n { id: 'calendar', label: 'Calendar', icon: 'calendar', href: '#/calendar' },\n { id: 'addons', label: 'ADDONS', icon: 'addons', href: '#/addons' },\n { id: 'settings', label: 'SETTINGS', icon: 'settings', href: '#/settings' },\n];\nvar MainNavBars = (0, react_1.memo)(function (_a) {\n var className = _a.className, route = _a.route, query = _a.query, children = _a.children;\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(className, MainNavBars_less_1.default['main-nav-bars-container']) },\n react_1.default.createElement(NavBar_1.HorizontalNavBar, { className: MainNavBars_less_1.default['horizontal-nav-bar'], route: route, query: query, backButton: false, searchBar: true, fullscreenButton: true, navMenu: true }),\n react_1.default.createElement(NavBar_1.VerticalNavBar, { className: MainNavBars_less_1.default['vertical-nav-bar'], selected: route, tabs: TABS }),\n react_1.default.createElement(\"div\", { className: MainNavBars_less_1.default['nav-content-container'] }, children)));\n});\nexports.default = MainNavBars;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar MainNavBars_1 = __importDefault(require(\"./MainNavBars\"));\nexports.default = MainNavBars_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar useRating_1 = __importDefault(require(\"./useRating\"));\nvar Ratings_less_1 = __importDefault(require(\"./Ratings.less\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Ratings = function (_a) {\n var _b, _c;\n var ratingInfo = _a.ratingInfo, className = _a.className;\n var _d = (0, useRating_1.default)(ratingInfo), onLiked = _d.onLiked, onLoved = _d.onLoved, liked = _d.liked, loved = _d.loved;\n var disabled = (0, react_1.useMemo)(function () { return (ratingInfo === null || ratingInfo === void 0 ? void 0 : ratingInfo.type) !== 'Ready'; }, [ratingInfo]);\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Ratings_less_1.default['ratings-container'], className) },\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Ratings_less_1.default['icon-container'], (_b = {}, _b[Ratings_less_1.default['disabled']] = disabled, _b)), onClick: onLiked },\n react_1.default.createElement(react_2.default, { name: liked ? 'thumbs-up' : 'thumbs-up-outline', className: Ratings_less_1.default['icon'] })),\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Ratings_less_1.default['icon-container'], (_c = {}, _c[Ratings_less_1.default['disabled']] = disabled, _c)), onClick: onLoved },\n react_1.default.createElement(react_2.default, { name: loved ? 'heart' : 'heart-outline', className: Ratings_less_1.default['icon'] }))));\n};\nexports.default = Ratings;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Ratings = void 0;\nvar Ratings_1 = __importDefault(require(\"./Ratings\"));\nexports.Ratings = Ratings_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar services_1 = require(\"stremio/services\");\nvar useRating = function (ratingInfo) {\n var core = (0, services_1.useServices)().core;\n var setRating = (0, react_1.useCallback)(function (status) {\n core.transport.dispatch({\n action: 'MetaDetails',\n args: {\n action: 'Rate',\n args: status,\n },\n });\n }, []);\n var status = (0, react_1.useMemo)(function () {\n var content = (ratingInfo === null || ratingInfo === void 0 ? void 0 : ratingInfo.type) === 'Ready' ? ratingInfo.content : null;\n return content === null || content === void 0 ? void 0 : content.status;\n }, [ratingInfo]);\n var liked = (0, react_1.useMemo)(function () {\n return status === 'liked';\n }, [status]);\n var loved = (0, react_1.useMemo)(function () {\n return status === 'loved';\n }, [status]);\n var onLiked = (0, react_1.useCallback)(function () {\n setRating(status === 'liked' ? null : 'liked');\n }, [status]);\n var onLoved = (0, react_1.useCallback)(function () {\n setRating(status === 'loved' ? null : 'loved');\n }, [status]);\n return {\n onLiked: onLiked,\n onLoved: onLoved,\n liked: liked,\n loved: loved,\n };\n};\nexports.default = useRating;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar components_1 = require(\"stremio/components\");\nvar react_i18next_1 = require(\"react-i18next\");\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Option_1 = __importDefault(require(\"./Option\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar Dropdown_less_1 = __importDefault(require(\"./Dropdown.less\"));\nvar Dropdown = function (_a) {\n var _b;\n var level = _a.level, setLevel = _a.setLevel, options = _a.options, onSelect = _a.onSelect, value = _a.value, menuOpen = _a.menuOpen;\n var t = (0, react_i18next_1.useTranslation)().t;\n var optionsRef = (0, react_1.useRef)(new Map());\n var containerRef = (0, react_1.useRef)(null);\n var selectedOption = options.find(function (opt) { return opt.value === value; });\n var handleSetOptionRef = (0, react_1.useCallback)(function (optionValue) { return function (node) {\n if (node) {\n optionsRef.current.set(optionValue, node);\n }\n else {\n optionsRef.current.delete(optionValue);\n }\n }; }, []);\n var handleBackClick = (0, react_1.useCallback)(function () {\n setLevel(level - 1);\n }, [setLevel, level]);\n (0, react_1.useEffect)(function () {\n if (menuOpen && selectedOption && containerRef.current) {\n var selectedNode = optionsRef.current.get(selectedOption.value);\n if (selectedNode) {\n selectedNode.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest'\n });\n }\n }\n }, [menuOpen, selectedOption]);\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Dropdown_less_1.default['dropdown'], (_b = {}, _b[Dropdown_less_1.default['open']] = menuOpen, _b)), role: 'listbox', ref: containerRef },\n level > 0 ?\n react_1.default.createElement(components_1.Button, { className: Dropdown_less_1.default['back-button'], onClick: handleBackClick },\n react_1.default.createElement(react_2.default, { name: 'caret-left', className: Dropdown_less_1.default['back-button-icon'] }),\n t('BACK'))\n : null,\n options\n .filter(function (option) { return !option.hidden; })\n .map(function (option) { return (react_1.default.createElement(Option_1.default, { key: option.value, ref: handleSetOptionRef(option.value), option: option, onSelect: onSelect, selectedValue: value })); })));\n};\nexports.default = Dropdown;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar components_1 = require(\"stremio/components\");\nvar Option_less_1 = __importDefault(require(\"./Option.less\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar Option = (0, react_1.forwardRef)(function (_a, ref) {\n var _b;\n var option = _a.option, selectedValue = _a.selectedValue, onSelect = _a.onSelect;\n var selected = (0, react_1.useMemo)(function () { return (option === null || option === void 0 ? void 0 : option.value) === selectedValue; }, [option, selectedValue]);\n var handleClick = (0, react_1.useCallback)(function () {\n onSelect(option.value);\n }, [onSelect, option.value]);\n return (react_1.default.createElement(components_1.Button, { ref: ref, className: (0, classnames_1.default)(Option_less_1.default['option'], (_b = {}, _b[Option_less_1.default['selected']] = selected, _b)), key: option.id, onClick: handleClick, \"aria-selected\": selected },\n react_1.default.createElement(\"div\", { className: Option_less_1.default['label'] }, option.label),\n selected && !option.level ?\n react_1.default.createElement(\"div\", { className: Option_less_1.default['icon'] })\n : null,\n option.level ?\n react_1.default.createElement(react_2.default, { name: 'caret-right', className: Option_less_1.default['option-caret'] })\n : null));\n});\nOption.displayName = 'Option';\nexports.default = Option;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Option_1 = __importDefault(require(\"./Option\"));\nexports.default = Option_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Dropdown_1 = __importDefault(require(\"./Dropdown\"));\nexports.default = Dropdown_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar components_1 = require(\"stremio/components\");\nvar useBinaryState_1 = __importDefault(require(\"stremio/common/useBinaryState\"));\nvar Dropdown_1 = __importDefault(require(\"./Dropdown\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar MultiselectMenu_less_1 = __importDefault(require(\"./MultiselectMenu.less\"));\nvar useOutsideClick_1 = __importDefault(require(\"stremio/common/useOutsideClick\"));\nvar MultiselectMenu = function (_a) {\n var _b, _c, _d;\n var className = _a.className, title = _a.title, options = _a.options, value = _a.value, disabled = _a.disabled, onSelect = _a.onSelect;\n var _e = (0, useBinaryState_1.default)(false), menuOpen = _e[0], closeMenu = _e[2], toggleMenu = _e[3];\n var multiselectMenuRef = (0, useOutsideClick_1.default)(function () { return closeMenu(); });\n var _f = react_1.default.useState(0), level = _f[0], setLevel = _f[1];\n var selectedOption = options.find(function (opt) { return opt.value === value; });\n var onOptionSelect = function (selectedValue) {\n level ? setLevel(level + 1) : onSelect(selectedValue), closeMenu();\n };\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(MultiselectMenu_less_1.default['multiselect-menu'], (_b = {}, _b[MultiselectMenu_less_1.default['active']] = menuOpen, _b), className), ref: multiselectMenuRef },\n react_1.default.createElement(components_1.Button, { className: (0, classnames_1.default)(MultiselectMenu_less_1.default['multiselect-button'], (_c = {}, _c[MultiselectMenu_less_1.default['open']] = menuOpen, _c)), disabled: disabled, onClick: toggleMenu, tabIndex: 0, \"aria-haspopup\": 'listbox', \"aria-expanded\": menuOpen },\n react_1.default.createElement(\"div\", { className: MultiselectMenu_less_1.default['label'] }, typeof title === 'function'\n ? title()\n : title !== null && title !== void 0 ? title : selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label),\n react_1.default.createElement(react_2.default, { name: 'caret-down', className: (0, classnames_1.default)(MultiselectMenu_less_1.default['icon'], (_d = {}, _d[MultiselectMenu_less_1.default['open']] = menuOpen, _d)) })),\n menuOpen ?\n react_1.default.createElement(Dropdown_1.default, { level: level, setLevel: setLevel, options: options, onSelect: onOptionSelect, menuOpen: menuOpen, value: value })\n : null));\n};\nexports.default = MultiselectMenu;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar MultiselectMenu_1 = __importDefault(require(\"./MultiselectMenu\"));\nexports.default = MultiselectMenu_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar react_2 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar NumberInput_less_1 = __importDefault(require(\"./NumberInput.less\"));\nvar Button_1 = __importDefault(require(\"../Button\"));\nvar NumberInput = (0, react_2.forwardRef)(function (_a, ref) {\n var _b, _c;\n var _d;\n var _e = _a.defaultValue, defaultValue = _e === void 0 ? 0 : _e, showButtons = _a.showButtons, onKeyDown = _a.onKeyDown, onSubmit = _a.onSubmit, min = _a.min, max = _a.max, onChange = _a.onChange, props = __rest(_a, [\"defaultValue\", \"showButtons\", \"onKeyDown\", \"onSubmit\", \"min\", \"max\", \"onChange\"]);\n var _f = (0, react_2.useState)(defaultValue), value = _f[0], setValue = _f[1];\n var displayValue = (_d = props.value) !== null && _d !== void 0 ? _d : value;\n var handleKeyDown = (0, react_2.useCallback)(function (event) {\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);\n if (event.key === 'Enter') {\n onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(event);\n }\n }, [onKeyDown, onSubmit]);\n var handleValueChange = function (newValue) {\n if (props.value === undefined) {\n setValue(newValue);\n }\n onChange === null || onChange === void 0 ? void 0 : onChange({ target: { value: newValue.toString() } });\n };\n var handleIncrement = function () {\n handleValueChange(clampValueToRange((displayValue || 0) + 1));\n };\n var handleDecrement = function () {\n handleValueChange(clampValueToRange((displayValue || 0) - 1));\n };\n var clampValueToRange = function (value) {\n var minValue = min !== null && min !== void 0 ? min : 0;\n if (value < minValue) {\n return minValue;\n }\n if (max !== undefined && value > max) {\n return max;\n }\n return value;\n };\n var handleInputChange = (0, react_2.useCallback)(function (_a) {\n var valueAsNumber = _a.target.valueAsNumber;\n handleValueChange(clampValueToRange(valueAsNumber || 0));\n }, []);\n return (react_2.default.createElement(\"div\", { className: (0, classnames_1.default)(props.containerClassName, NumberInput_less_1.default['number-input']) },\n showButtons ?\n react_2.default.createElement(Button_1.default, { className: NumberInput_less_1.default['button'], onClick: handleDecrement, disabled: props.disabled || (min !== undefined ? displayValue <= min : false) },\n react_2.default.createElement(react_1.default, { className: NumberInput_less_1.default['icon'], name: 'remove' }))\n : null,\n react_2.default.createElement(\"div\", { className: (0, classnames_1.default)(NumberInput_less_1.default['number-display'], (_b = {}, _b[NumberInput_less_1.default['buttons-container']] = showButtons, _b)) },\n props.label ?\n react_2.default.createElement(\"div\", { className: NumberInput_less_1.default['label'] }, props.label)\n : null,\n react_2.default.createElement(\"input\", __assign({ ref: ref, type: 'number', tabIndex: 0, value: displayValue }, props, { className: (0, classnames_1.default)(props.className, NumberInput_less_1.default['value'], (_c = {}, _c[NumberInput_less_1.default.disabled] = props.disabled, _c)), onChange: handleInputChange, onKeyDown: handleKeyDown }))),\n showButtons ?\n react_2.default.createElement(Button_1.default, { className: NumberInput_less_1.default['button'], onClick: handleIncrement, disabled: props.disabled || (max !== undefined ? displayValue >= max : false) },\n react_2.default.createElement(react_1.default, { className: NumberInput_less_1.default['icon'], name: 'add' }))\n : null));\n});\nNumberInput.displayName = 'NumberInput';\nexports.default = (0, react_2.memo)(NumberInput);\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar NumberInput_1 = __importDefault(require(\"./NumberInput\"));\nexports.default = NumberInput_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar RadioButton_less_1 = __importDefault(require(\"./RadioButton.less\"));\nvar RadioButton = function (_a) {\n var _b, _c, _d;\n var disabled = _a.disabled, selected = _a.selected, className = _a.className, onChange = _a.onChange, error = _a.error;\n var handleSelect = (0, react_1.useCallback)(function (_a) {\n var target = _a.target;\n if (!disabled && onChange) {\n onChange(target.checked);\n }\n }, [disabled, onChange]);\n var onKeyDown = (0, react_1.useCallback)(function (_a) {\n var key = _a.key;\n if ((key === 'Enter' || key === ' ') && !disabled) {\n onChange && onChange(!selected);\n }\n }, [disabled, selected, onChange]);\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(RadioButton_less_1.default['radio-button'], className) },\n react_1.default.createElement(\"label\", null,\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(RadioButton_less_1.default['radio-container'], (_b = {}, _b[RadioButton_less_1.default['selected']] = selected, _b), (_c = {}, _c[RadioButton_less_1.default['disabled']] = disabled, _c), (_d = {}, _d[RadioButton_less_1.default['error']] = error, _d)), role: 'radio', tabIndex: disabled ? -1 : 0, \"aria-checked\": selected, onKeyDown: onKeyDown },\n react_1.default.createElement(\"input\", { type: 'radio', checked: selected, disabled: disabled, onChange: handleSelect, className: RadioButton_less_1.default['input'] }),\n react_1.default.createElement(\"span\", { className: RadioButton_less_1.default['inner-circle'] })))));\n};\nexports.default = RadioButton;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RadioButton_1 = __importDefault(require(\"./RadioButton\"));\nexports.default = RadioButton_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar styles_less_1 = __importDefault(require(\"./styles.less\"));\nvar TextInput = (0, react_1.forwardRef)(function (props, ref) {\n var onKeyDown = (0, react_1.useCallback)(function (event) {\n props.onKeyDown && props.onKeyDown(event);\n if (event.key === 'Enter') {\n props.onSubmit && props.onSubmit(event);\n }\n }, [props.onKeyDown, props.onSubmit]);\n return (react_1.default.createElement(\"input\", __assign({ size: 1, autoCorrect: 'off', autoCapitalize: 'off', autoComplete: 'off', spellCheck: false, tabIndex: 0 }, props, { ref: ref, className: (0, classnames_1.default)(props.className, styles_less_1.default['text-input'], { 'disabled': props.disabled }), onKeyDown: onKeyDown })));\n});\nTextInput.displayName = 'TextInput';\nexports.default = TextInput;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TextInput_1 = __importDefault(require(\"./TextInput\"));\nexports.default = TextInput_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar components_1 = require(\"stremio/components\");\nvar Toggle_less_1 = __importDefault(require(\"./Toggle.less\"));\nvar Toggle = (0, react_1.forwardRef)(function (_a, ref) {\n var className = _a.className, checked = _a.checked, children = _a.children, props = __rest(_a, [\"className\", \"checked\", \"children\"]);\n return (react_1.default.createElement(components_1.Button, __assign({}, props, { ref: ref, className: (0, classnames_1.default)(className, Toggle_less_1.default['toggle-container'], { 'checked': checked }) }),\n react_1.default.createElement(\"div\", { className: Toggle_less_1.default['toggle'] }),\n children));\n});\nToggle.displayName = 'Toggle';\nexports.default = Toggle;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Toggle_1 = __importDefault(require(\"./Toggle\"));\nexports.default = Toggle_1.default;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Transition = function (_a) {\n var children = _a.children, when = _a.when, name = _a.name;\n var _b = (0, react_1.useState)(null), element = _b[0], setElement = _b[1];\n var _c = (0, react_1.useState)(false), mounted = _c[0], setMounted = _c[1];\n var _d = (0, react_1.useState)('enter'), state = _d[0], setState = _d[1];\n var _e = (0, react_1.useState)(false), active = _e[0], setActive = _e[1];\n var callbackRef = (0, react_1.useCallback)(function (element) {\n setElement(element);\n }, []);\n var className = (0, react_1.useMemo)(function () {\n var animationClass = \"\".concat(name, \"-\").concat(state);\n var activeClass = active ? \"\".concat(name, \"-active\") : null;\n return children && (0, classnames_1.default)(children.props.className, animationClass, activeClass);\n }, [name, state, active, children]);\n var onTransitionEnd = (0, react_1.useCallback)(function () {\n state === 'exit' && setMounted(false);\n }, [state]);\n (0, react_1.useEffect)(function () {\n setState(when ? 'enter' : 'exit');\n when && setMounted(true);\n }, [when]);\n (0, react_1.useEffect)(function () {\n requestAnimationFrame(function () {\n setActive(!!element);\n });\n }, [element]);\n (0, react_1.useEffect)(function () {\n element === null || element === void 0 ? void 0 : element.addEventListener('transitionend', onTransitionEnd);\n return function () { return element === null || element === void 0 ? void 0 : element.removeEventListener('transitionend', onTransitionEnd); };\n }, [element, onTransitionEnd]);\n return (mounted && (0, react_1.cloneElement)(children, {\n ref: callbackRef,\n className: className,\n }));\n};\nexports.default = Transition;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Transition_1 = __importDefault(require(\"./Transition\"));\nexports.default = Transition_1.default;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Video = exports.Transition = exports.Toggle = exports.TextInput = exports.Slider = exports.SharePrompt = exports.SearchBar = exports.RadioButton = exports.Popup = exports.NumberInput = exports.VerticalNavBar = exports.HorizontalNavBar = exports.MultiselectMenu = exports.Multiselect = exports.ModalDialog = exports.MetaRow = exports.MetaPreview = exports.MetaItem = exports.MainNavBars = exports.LibItem = exports.Image = exports.HorizontalScroll = exports.EventModal = exports.DelayedRenderer = exports.ContinueWatchingItem = exports.ContextMenu = exports.ColorInput = exports.Chips = exports.Checkbox = exports.Button = exports.BottomSheet = exports.AddonDetailsModal = void 0;\nvar AddonDetailsModal_1 = __importDefault(require(\"./AddonDetailsModal\"));\nexports.AddonDetailsModal = AddonDetailsModal_1.default;\nvar BottomSheet_1 = __importDefault(require(\"./BottomSheet\"));\nexports.BottomSheet = BottomSheet_1.default;\nvar Button_1 = __importDefault(require(\"./Button\"));\nexports.Button = Button_1.default;\nvar Checkbox_1 = __importDefault(require(\"./Checkbox\"));\nexports.Checkbox = Checkbox_1.default;\nvar Chips_1 = __importDefault(require(\"./Chips\"));\nexports.Chips = Chips_1.default;\nvar ColorInput_1 = __importDefault(require(\"./ColorInput\"));\nexports.ColorInput = ColorInput_1.default;\nvar ContextMenu_1 = __importDefault(require(\"./ContextMenu\"));\nexports.ContextMenu = ContextMenu_1.default;\nvar ContinueWatchingItem_1 = __importDefault(require(\"./ContinueWatchingItem\"));\nexports.ContinueWatchingItem = ContinueWatchingItem_1.default;\nvar DelayedRenderer_1 = __importDefault(require(\"./DelayedRenderer\"));\nexports.DelayedRenderer = DelayedRenderer_1.default;\nvar EventModal_1 = __importDefault(require(\"./EventModal\"));\nexports.EventModal = EventModal_1.default;\nvar HorizontalScroll_1 = __importDefault(require(\"./HorizontalScroll\"));\nexports.HorizontalScroll = HorizontalScroll_1.default;\nvar Image_1 = __importDefault(require(\"./Image\"));\nexports.Image = Image_1.default;\nvar LibItem_1 = __importDefault(require(\"./LibItem\"));\nexports.LibItem = LibItem_1.default;\nvar MainNavBars_1 = __importDefault(require(\"./MainNavBars\"));\nexports.MainNavBars = MainNavBars_1.default;\nvar MetaItem_1 = __importDefault(require(\"./MetaItem\"));\nexports.MetaItem = MetaItem_1.default;\nvar MetaPreview_1 = __importDefault(require(\"./MetaPreview\"));\nexports.MetaPreview = MetaPreview_1.default;\nvar MetaRow_1 = __importDefault(require(\"./MetaRow\"));\nexports.MetaRow = MetaRow_1.default;\nvar ModalDialog_1 = __importDefault(require(\"./ModalDialog\"));\nexports.ModalDialog = ModalDialog_1.default;\nvar Multiselect_1 = __importDefault(require(\"./Multiselect\"));\nexports.Multiselect = Multiselect_1.default;\nvar MultiselectMenu_1 = __importDefault(require(\"./MultiselectMenu\"));\nexports.MultiselectMenu = MultiselectMenu_1.default;\nvar NavBar_1 = require(\"./NavBar\");\nObject.defineProperty(exports, \"HorizontalNavBar\", { enumerable: true, get: function () { return NavBar_1.HorizontalNavBar; } });\nObject.defineProperty(exports, \"VerticalNavBar\", { enumerable: true, get: function () { return NavBar_1.VerticalNavBar; } });\nvar NumberInput_1 = __importDefault(require(\"./NumberInput\"));\nexports.NumberInput = NumberInput_1.default;\nvar Popup_1 = __importDefault(require(\"./Popup\"));\nexports.Popup = Popup_1.default;\nvar RadioButton_1 = __importDefault(require(\"./RadioButton\"));\nexports.RadioButton = RadioButton_1.default;\nvar SearchBar_1 = __importDefault(require(\"./SearchBar\"));\nexports.SearchBar = SearchBar_1.default;\nvar SharePrompt_1 = __importDefault(require(\"./SharePrompt\"));\nexports.SharePrompt = SharePrompt_1.default;\nvar Slider_1 = __importDefault(require(\"./Slider\"));\nexports.Slider = Slider_1.default;\nvar TextInput_1 = __importDefault(require(\"./TextInput\"));\nexports.TextInput = TextInput_1.default;\nvar Toggle_1 = __importDefault(require(\"./Toggle\"));\nexports.Toggle = Toggle_1.default;\nvar Transition_1 = __importDefault(require(\"./Transition\"));\nexports.Transition = Transition_1.default;\nvar Video_1 = __importDefault(require(\"./Video\"));\nexports.Video = Video_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AddonPlaceholder = void 0;\nvar react_1 = __importDefault(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar AddonPlaceholder_less_1 = __importDefault(require(\"./AddonPlaceholder.less\"));\nvar AddonPlaceholder = function (_a) {\n var className = _a.className;\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(className, AddonPlaceholder_less_1.default['addon-container']) },\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['content'] },\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['logo-container'] },\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['placeholder-logo'] })),\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['info-container'] },\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['placeholder-pill'] }),\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['placeholder-pill'] }),\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['placeholder-pill'] }),\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['placeholder-pill'] }))),\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['buttons-container'] },\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['action-buttons-container'] },\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['placeholder-pill'] }),\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['placeholder-pill'] })),\n react_1.default.createElement(\"div\", { className: AddonPlaceholder_less_1.default['placeholder-pill'] }))));\n};\nexports.AddonPlaceholder = AddonPlaceholder;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AddonPlaceholder = void 0;\nvar AddonPlaceholder_1 = require(\"./AddonPlaceholder\");\nObject.defineProperty(exports, \"AddonPlaceholder\", { enumerable: true, get: function () { return AddonPlaceholder_1.AddonPlaceholder; } });\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar services_1 = require(\"stremio/services\");\nvar components_1 = require(\"stremio/components\");\nvar useProfile_1 = __importDefault(require(\"stremio/common/useProfile\"));\nvar CoreSuspender_1 = require(\"stremio/common/CoreSuspender\");\nvar StreamingServerWarning_less_1 = __importDefault(require(\"./StreamingServerWarning.less\"));\nvar StreamingServerWarning = function (_a) {\n var className = _a.className;\n var t = (0, react_i18next_1.useTranslation)().t;\n var core = (0, services_1.useServices)().core;\n var profile = (0, useProfile_1.default)();\n var createDismissalDate = function (months, years) {\n if (years === void 0) { years = 0; }\n var dismissalDate = new Date();\n if (months) {\n dismissalDate.setMonth(dismissalDate.getMonth() + months);\n }\n if (years) {\n dismissalDate.setFullYear(dismissalDate.getFullYear() + years);\n }\n return dismissalDate;\n };\n var updateSettings = (0, react_1.useCallback)(function (streamingServerWarningDismissed) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { streamingServerWarningDismissed: streamingServerWarningDismissed })\n }\n });\n }, [profile.settings]);\n var onLater = (0, react_1.useCallback)(function () {\n updateSettings(createDismissalDate(1));\n }, [updateSettings]);\n var onDismiss = (0, react_1.useCallback)(function () {\n updateSettings(createDismissalDate(0, 50));\n }, [updateSettings]);\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(className, StreamingServerWarning_less_1.default['warning-container']) },\n react_1.default.createElement(\"div\", { className: StreamingServerWarning_less_1.default['warning-statement'] }, t('SETTINGS_SERVER_UNAVAILABLE')),\n react_1.default.createElement(\"div\", { className: StreamingServerWarning_less_1.default['actions'] },\n react_1.default.createElement(\"a\", { href: 'https://www.stremio.com/download-service', target: '_blank', rel: 'noreferrer' },\n react_1.default.createElement(components_1.Button, { className: StreamingServerWarning_less_1.default['action'], title: t('SERVICE_INSTALL'), tabIndex: -1 },\n react_1.default.createElement(\"div\", { className: StreamingServerWarning_less_1.default['label'] }, t('SERVICE_INSTALL')))),\n react_1.default.createElement(components_1.Button, { className: StreamingServerWarning_less_1.default['action'], title: t('WARNING_STREAMING_SERVER_LATER'), onClick: onLater, tabIndex: -1 },\n react_1.default.createElement(\"div\", { className: StreamingServerWarning_less_1.default['label'] }, t('WARNING_STREAMING_SERVER_LATER'))),\n react_1.default.createElement(components_1.Button, { className: StreamingServerWarning_less_1.default['action'], title: t('DONT_SHOW_AGAIN'), onClick: onDismiss, tabIndex: -1 },\n react_1.default.createElement(\"div\", { className: StreamingServerWarning_less_1.default['label'] }, t('DONT_SHOW_AGAIN'))))));\n};\nexports.default = (0, CoreSuspender_1.withCoreSuspender)(StreamingServerWarning);\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar StreamingServerWarning_1 = __importDefault(require(\"./StreamingServerWarning\"));\nexports.default = StreamingServerWarning_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar common_1 = require(\"stremio/common\");\nvar components_1 = require(\"stremio/components\");\nvar Selector_1 = __importDefault(require(\"./Selector\"));\nvar Table_1 = __importDefault(require(\"./Table\"));\nvar List_1 = __importDefault(require(\"./List\"));\nvar Details_1 = __importDefault(require(\"./Details\"));\nvar Placeholder_1 = __importDefault(require(\"./Placeholder\"));\nvar useCalendar_1 = __importDefault(require(\"./useCalendar\"));\nvar useCalendarDate_1 = __importDefault(require(\"./useCalendarDate\"));\nvar Calendar_less_1 = __importDefault(require(\"./Calendar.less\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Calendar = function (_a) {\n var urlParams = _a.urlParams;\n var calendar = (0, useCalendar_1.default)(urlParams);\n var profile = (0, common_1.useProfile)();\n var toDayMonth = (0, useCalendarDate_1.default)(profile).toDayMonth;\n var _b = (0, react_1.useState)(null), selected = _b[0], setSelected = _b[1];\n var detailsTitle = (0, react_1.useMemo)(function () { return toDayMonth(selected); }, [selected, toDayMonth]);\n var onDetailsClose = function () {\n setSelected(null);\n };\n return (react_1.default.createElement(components_1.MainNavBars, { className: Calendar_less_1.default['calendar'], route: 'calendar' }, profile.auth !== null ?\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Calendar_less_1.default['content'], 'animation-fade-in') },\n react_1.default.createElement(\"div\", { className: Calendar_less_1.default['main'] },\n react_1.default.createElement(Selector_1.default, { selected: calendar.selected, selectable: calendar.selectable, profile: profile }),\n react_1.default.createElement(Table_1.default, { items: calendar.items, selected: selected, monthInfo: calendar.monthInfo, onChange: setSelected })),\n react_1.default.createElement(List_1.default, { items: calendar.items, selected: selected, monthInfo: calendar.monthInfo, profile: profile, onChange: setSelected }),\n react_1.default.createElement(components_1.BottomSheet, { title: detailsTitle, show: !!selected, onClose: onDetailsClose },\n react_1.default.createElement(Details_1.default, { selected: selected, items: calendar.items })))\n :\n react_1.default.createElement(Placeholder_1.default, null)));\n};\nvar CalendarFallback = function () { return (react_1.default.createElement(components_1.MainNavBars, { className: Calendar_less_1.default['calendar'] })); };\nexports.default = (0, common_1.withCoreSuspender)(Calendar, CalendarFallback);\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar components_1 = require(\"stremio/components\");\nvar Details_less_1 = __importDefault(require(\"./Details.less\"));\nvar Details = function (_a) {\n var selected = _a.selected, items = _a.items;\n var t = (0, react_i18next_1.useTranslation)().t;\n var videos = (0, react_1.useMemo)(function () {\n var _a, _b;\n return (_b = (_a = items.find(function (_a) {\n var date = _a.date;\n return date.day === (selected === null || selected === void 0 ? void 0 : selected.day);\n })) === null || _a === void 0 ? void 0 : _a.items) !== null && _b !== void 0 ? _b : [];\n }, [selected, items]);\n return (react_1.default.createElement(\"div\", { className: Details_less_1.default['details'] },\n videos.map(function (_a) {\n var id = _a.id, name = _a.name, season = _a.season, episode = _a.episode, deepLinks = _a.deepLinks;\n return (react_1.default.createElement(components_1.Button, { className: Details_less_1.default['video'], key: id, href: deepLinks.metaDetailsStreams },\n react_1.default.createElement(\"div\", { className: Details_less_1.default['name'] }, name),\n react_1.default.createElement(\"div\", { className: Details_less_1.default['info'] },\n \"S\",\n season,\n \"E\",\n episode),\n react_1.default.createElement(react_2.default, { className: Details_less_1.default['icon'], name: 'play' })));\n }),\n !videos.length ?\n react_1.default.createElement(\"div\", { className: Details_less_1.default['placeholder'] }, t('CALENDAR_NO_NEW_EPISODES'))\n :\n null));\n};\nexports.default = Details;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Details_1 = __importDefault(require(\"./Details\"));\nexports.default = Details_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar components_1 = require(\"stremio/components\");\nvar useCalendarDate_1 = __importDefault(require(\"../../useCalendarDate\"));\nvar Item_less_1 = __importDefault(require(\"./Item.less\"));\nvar Item = function (_a) {\n var _b;\n var selected = _a.selected, monthInfo = _a.monthInfo, date = _a.date, items = _a.items, profile = _a.profile, onClick = _a.onClick;\n var ref = (0, react_1.useRef)(null);\n var toDayMonth = (0, useCalendarDate_1.default)(profile).toDayMonth;\n var _c = (0, react_1.useMemo)(function () { return [\n date.day === (selected === null || selected === void 0 ? void 0 : selected.day),\n date.day === monthInfo.today,\n ]; }, [selected, monthInfo, date]), active = _c[0], today = _c[1];\n var onItemClick = function () {\n onClick && onClick(date);\n };\n (0, react_1.useEffect)(function () {\n var _a;\n active && ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({\n block: 'start',\n behavior: 'smooth',\n }));\n }, [active]);\n return (react_1.default.createElement(\"div\", { ref: ref, className: (0, classnames_1.default)(Item_less_1.default['item'], (_b = {}, _b[Item_less_1.default['active']] = active, _b[Item_less_1.default['today']] = today, _b)), key: date.day, onClick: onItemClick },\n react_1.default.createElement(\"div\", { className: Item_less_1.default['heading'] }, toDayMonth(date)),\n react_1.default.createElement(\"div\", { className: Item_less_1.default['body'] }, items.map(function (_a) {\n var id = _a.id, name = _a.name, season = _a.season, episode = _a.episode, deepLinks = _a.deepLinks;\n return (react_1.default.createElement(components_1.Button, { className: Item_less_1.default['video'], key: id, href: deepLinks.metaDetailsStreams },\n react_1.default.createElement(\"div\", { className: Item_less_1.default['name'] }, name),\n react_1.default.createElement(\"div\", { className: Item_less_1.default['info'] },\n \"S\",\n season,\n \"E\",\n episode),\n react_1.default.createElement(react_2.default, { className: Item_less_1.default['icon'], name: 'play' })));\n }))));\n};\nexports.default = Item;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar Item_less_1 = __importDefault(require(\"./Item.less\"));\nvar ItemPlaceholder = function () {\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Item_less_1.default['item'], Item_less_1.default['placeholder']) },\n react_1.default.createElement(\"div\", { className: Item_less_1.default['heading'] },\n react_1.default.createElement(\"div\", { className: Item_less_1.default['text'] })),\n react_1.default.createElement(\"div\", { className: Item_less_1.default['body'] },\n react_1.default.createElement(\"div\", { className: Item_less_1.default['video'] },\n react_1.default.createElement(\"div\", { className: Item_less_1.default['name'] }),\n react_1.default.createElement(\"div\", { className: Item_less_1.default['info'] })))));\n};\nexports.default = ItemPlaceholder;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ItemPlaceholder = exports.Item = void 0;\nvar Item_1 = __importDefault(require(\"./Item\"));\nexports.Item = Item_1.default;\nvar ItemPlaceholder_1 = __importDefault(require(\"./ItemPlaceholder\"));\nexports.ItemPlaceholder = ItemPlaceholder_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar Item_1 = require(\"./Item\");\nvar List_less_1 = __importDefault(require(\"./List.less\"));\nvar List = function (_a) {\n var items = _a.items, selected = _a.selected, monthInfo = _a.monthInfo, profile = _a.profile, onChange = _a.onChange;\n var filteredItems = (0, react_1.useMemo)(function () {\n return items.filter(function (_a) {\n var items = _a.items;\n return items.length;\n });\n }, [items]);\n return (react_1.default.createElement(\"div\", { className: List_less_1.default['list'] }, items.length === 0 ?\n [1, 2, 3].map(function (index) { return (react_1.default.createElement(Item_1.ItemPlaceholder, { key: index })); })\n :\n filteredItems.map(function (item) { return (react_1.default.createElement(Item_1.Item, __assign({ key: item.date.day }, item, { selected: selected, monthInfo: monthInfo, profile: profile, onClick: onChange }))); })));\n};\nexports.default = List;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar List_1 = __importDefault(require(\"./List\"));\nexports.default = List_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar components_1 = require(\"stremio/components\");\nvar Placeholder_less_1 = __importDefault(require(\"./Placeholder.less\"));\nvar Placeholder = function () {\n var t = (0, react_i18next_1.useTranslation)().t;\n return (react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['placeholder'] },\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['title'] }, t('CALENDAR_NOT_LOGGED_IN')),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['image-container'] },\n react_1.default.createElement(components_1.Image, { className: Placeholder_less_1.default['image'], src: require('/images/calendar_placeholder.png'), alt: ' ' })),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['overview'] },\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['point'] },\n react_1.default.createElement(react_2.default, { className: Placeholder_less_1.default['icon'], name: 'megaphone' }),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['text'] }, t('NOT_LOGGED_IN_NOTIFICATIONS'))),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['point'] },\n react_1.default.createElement(react_2.default, { className: Placeholder_less_1.default['icon'], name: 'calendar-thin' }),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['text'] }, t('NOT_LOGGED_IN_CALENDAR')))),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['button-container'] },\n react_1.default.createElement(components_1.Button, { className: Placeholder_less_1.default['button'], href: '#/intro?form=login' }, t('LOG_IN')))));\n};\nexports.default = Placeholder;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Placeholder_1 = __importDefault(require(\"./Placeholder\"));\nexports.default = Placeholder_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar components_1 = require(\"stremio/components\");\nvar useCalendarDate_1 = __importDefault(require(\"../useCalendarDate\"));\nvar Selector_less_1 = __importDefault(require(\"./Selector.less\"));\nvar Selector = function (_a) {\n var selected = _a.selected, selectable = _a.selectable, profile = _a.profile;\n var toMonth = (0, useCalendarDate_1.default)(profile).toMonth;\n var _b = (0, react_1.useMemo)(function () { return ([selectable.prev, selectable.next]); }, [selectable]), prev = _b[0], next = _b[1];\n var onPrev = (0, react_1.useCallback)(function () {\n window.location.href = prev.deepLinks.calendar;\n }, [prev]);\n var onNext = (0, react_1.useCallback)(function () {\n window.location.href = next.deepLinks.calendar;\n }, [next]);\n return (react_1.default.createElement(\"div\", { className: Selector_less_1.default['selector'] },\n react_1.default.createElement(components_1.Button, { className: Selector_less_1.default['prev'], onClick: onPrev },\n react_1.default.createElement(react_2.default, { className: Selector_less_1.default['icon'], name: 'chevron-back' }),\n react_1.default.createElement(\"div\", { className: Selector_less_1.default['label'] }, toMonth(prev, 'short'))),\n react_1.default.createElement(\"div\", { className: Selector_less_1.default['selected'] },\n react_1.default.createElement(\"div\", { className: Selector_less_1.default['year'] }, selected === null || selected === void 0 ? void 0 : selected.year),\n react_1.default.createElement(\"div\", { className: Selector_less_1.default['month'] }, toMonth(selected, 'long'))),\n react_1.default.createElement(components_1.Button, { className: Selector_less_1.default['next'], onClick: onNext },\n react_1.default.createElement(\"div\", { className: Selector_less_1.default['label'] }, toMonth(next, 'short')),\n react_1.default.createElement(react_2.default, { className: Selector_less_1.default['icon'], name: 'chevron-forward' }))));\n};\nexports.default = Selector;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Selector_1 = __importDefault(require(\"./Selector\"));\nexports.default = Selector_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar components_1 = require(\"stremio/components\");\nvar Cell_less_1 = __importDefault(require(\"./Cell.less\"));\nvar Cell = function (_a) {\n var _b;\n var selected = _a.selected, monthInfo = _a.monthInfo, date = _a.date, items = _a.items, onClick = _a.onClick;\n var _c = (0, react_1.useMemo)(function () { return [\n date.day === (selected === null || selected === void 0 ? void 0 : selected.day),\n date.day === monthInfo.today,\n ]; }, [selected, monthInfo, date]), active = _c[0], today = _c[1];\n var onCellClick = function () {\n onClick && onClick(date);\n };\n var onPosterClick = (0, react_1.useCallback)(function (event) {\n event.stopPropagation();\n }, []);\n return (react_1.default.createElement(components_1.Button, { className: (0, classnames_1.default)(Cell_less_1.default['cell'], (_b = {}, _b[Cell_less_1.default['active']] = active, _b[Cell_less_1.default['today']] = today, _b)), onClick: onCellClick },\n react_1.default.createElement(\"div\", { className: Cell_less_1.default['heading'] },\n react_1.default.createElement(\"div\", { className: Cell_less_1.default['day'] }, date.day)),\n react_1.default.createElement(components_1.HorizontalScroll, { className: Cell_less_1.default['items'] }, items.map(function (_a) {\n var id = _a.id, name = _a.name, poster = _a.poster, deepLinks = _a.deepLinks;\n return (react_1.default.createElement(components_1.Button, { key: id, className: Cell_less_1.default['item'], href: deepLinks.metaDetailsStreams, tabIndex: -1, onClick: onPosterClick },\n react_1.default.createElement(react_2.default, { className: Cell_less_1.default['icon'], name: 'play' }),\n react_1.default.createElement(components_1.Image, { className: Cell_less_1.default['poster'], src: poster, alt: name })));\n })),\n items.length > 0 ?\n react_1.default.createElement(react_2.default, { className: Cell_less_1.default['more'], name: 'more-horizontal' })\n :\n null));\n};\nexports.default = Cell;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar Table_less_1 = __importDefault(require(\"./Table.less\"));\nvar Cell_1 = __importDefault(require(\"./Cell/Cell\"));\nvar WEEK_DAYS = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\nvar Table = function (_a) {\n var items = _a.items, selected = _a.selected, monthInfo = _a.monthInfo, onChange = _a.onChange;\n var t = (0, react_i18next_1.useTranslation)().t;\n var cellsOffset = (0, react_1.useMemo)(function () {\n return Array.from(Array(monthInfo.firstWeekday).keys());\n }, [monthInfo]);\n return (react_1.default.createElement(\"div\", { className: Table_less_1.default['table'] },\n react_1.default.createElement(\"div\", { className: Table_less_1.default['week'] }, WEEK_DAYS.map(function (day) { return (react_1.default.createElement(\"div\", { className: Table_less_1.default['day'], key: day },\n react_1.default.createElement(\"span\", { className: Table_less_1.default['long'] }, t(day)),\n react_1.default.createElement(\"span\", { className: Table_less_1.default['short'] }, t(day).slice(0, 3)))); })),\n react_1.default.createElement(\"div\", { className: Table_less_1.default['grid'] },\n cellsOffset.map(function (day) { return (react_1.default.createElement(\"span\", { key: day })); }),\n items.map(function (item) { return (react_1.default.createElement(Cell_1.default, __assign({ key: item.date.day }, item, { selected: selected, monthInfo: monthInfo, onClick: onChange }))); }))));\n};\nexports.default = Table;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Table_1 = __importDefault(require(\"./Table\"));\nexports.default = Table_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Calendar_1 = __importDefault(require(\"./Calendar\"));\nexports.default = Calendar_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar common_1 = require(\"stremio/common\");\nvar useCalendar = function (urlParams) {\n var action = react_1.default.useMemo(function () {\n var args = urlParams.year && urlParams.month ? {\n year: parseInt(urlParams.year),\n month: parseInt(urlParams.month),\n day: urlParams.day ? parseInt(urlParams.day) : null,\n } : null;\n return {\n action: 'Load',\n args: {\n model: 'Calendar',\n args: args,\n },\n };\n }, [urlParams]);\n var calendar = (0, common_1.useModelState)({ model: 'calendar', action: action });\n return calendar;\n};\nexports.default = useCalendar;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar useCalendarDate = function (profile) {\n var toMonth = (0, react_1.useCallback)(function (calendarDate, format) {\n if (!calendarDate)\n return '';\n var date = new Date();\n date.setDate(1);\n date.setMonth(calendarDate.month - 1);\n return date.toLocaleString(profile.settings.interfaceLanguage, {\n month: format,\n });\n }, [profile.settings]);\n var toMonthYear = (0, react_1.useCallback)(function (calendarDate) {\n if (!calendarDate)\n return '';\n var date = new Date();\n date.setDate(1);\n date.setMonth(calendarDate.month - 1);\n date.setFullYear(calendarDate.year);\n return date.toLocaleString(profile.settings.interfaceLanguage, {\n month: 'long',\n year: 'numeric',\n });\n }, [profile.settings]);\n var toDayMonth = (0, react_1.useCallback)(function (calendarDate) {\n if (!calendarDate)\n return '';\n var date = new Date();\n date.setDate(calendarDate.day);\n date.setMonth(calendarDate.month - 1);\n return date.toLocaleString(profile.settings.interfaceLanguage, {\n day: 'numeric',\n month: 'short',\n });\n }, [profile.settings]);\n return {\n toMonth: toMonth,\n toMonthYear: toMonthYear,\n toDayMonth: toDayMonth,\n };\n};\nexports.default = useCalendarDate;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar common_1 = require(\"stremio/common\");\nvar hat_1 = __importDefault(require(\"hat\"));\nvar STREMIO_URL = 'https://www.strem.io';\nvar MAX_TRIES = 25;\nvar getCredentials = function (state) { return __awaiter(void 0, void 0, Promise, function () {\n var response, user, e_1;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 3, , 4]);\n return [4 /*yield*/, fetch(\"\".concat(STREMIO_URL, \"/login-apple-get-acc/\").concat(state))];\n case 1:\n response = _b.sent();\n return [4 /*yield*/, response.json()];\n case 2:\n user = (_b.sent()).user;\n return [2 /*return*/, Promise.resolve({\n token: user.token,\n sub: user.sub,\n email: user.email,\n // We might not receive a name from Apple, so we use an empty string as a fallback\n name: (_a = user.name) !== null && _a !== void 0 ? _a : '',\n })];\n case 3:\n e_1 = _b.sent();\n console.error('Failed to get credentials from Apple auth', e_1);\n return [2 /*return*/, Promise.reject(e_1)];\n case 4: return [2 /*return*/];\n }\n });\n}); };\nvar useAppleLogin = function () {\n var platform = (0, common_1.usePlatform)();\n var started = (0, react_1.useRef)(false);\n var timeout = (0, react_1.useRef)(null);\n var start = (0, react_1.useCallback)(function () { return new Promise(function (resolve, reject) {\n started.current = true;\n var state = (0, hat_1.default)(128);\n var tries = 0;\n platform.openExternal(\"\".concat(STREMIO_URL, \"/login-apple/\").concat(state));\n var waitForCredentials = function () {\n if (started.current) {\n timeout.current && clearTimeout(timeout.current);\n timeout.current = setTimeout(function () {\n if (tries >= MAX_TRIES)\n return reject(new Error('Failed to authenticate with Apple', { cause: 'Number of allowed tries exceeded!' }));\n tries++;\n getCredentials(state)\n .then(resolve)\n .catch(waitForCredentials);\n }, 2000);\n }\n };\n waitForCredentials();\n }); }, []);\n var stop = (0, react_1.useCallback)(function () {\n started.current = false;\n timeout.current && clearTimeout(timeout.current);\n }, []);\n (0, react_1.useEffect)(function () {\n return function () { return stop(); };\n }, []);\n return [\n start,\n stop,\n ];\n};\nexports.default = useAppleLogin;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar hat_1 = __importDefault(require(\"hat\"));\nvar common_1 = require(\"stremio/common\");\nvar STREMIO_URL = 'https://www.strem.io';\nvar MAX_TRIES = 25;\nvar getCredentials = function (state) { return __awaiter(void 0, void 0, void 0, function () {\n var response, user, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 3, , 4]);\n return [4 /*yield*/, fetch(\"\".concat(STREMIO_URL, \"/login-fb-get-acc/\").concat(state))];\n case 1:\n response = _a.sent();\n return [4 /*yield*/, response.json()];\n case 2:\n user = (_a.sent()).user;\n return [2 /*return*/, Promise.resolve({\n email: user.email,\n password: user.fbLoginToken,\n })];\n case 3:\n e_1 = _a.sent();\n console.error('Failed to get credentials from facebook auth', e_1);\n return [2 /*return*/, Promise.reject(e_1)];\n case 4: return [2 /*return*/];\n }\n });\n}); };\nvar useFacebookLogin = function () {\n var platform = (0, common_1.usePlatform)();\n var started = (0, react_1.useRef)(false);\n var timeout = (0, react_1.useRef)(null);\n var start = (0, react_1.useCallback)(function () { return new Promise(function (resolve, reject) {\n started.current = true;\n var state = (0, hat_1.default)(128);\n var tries = 0;\n platform.openExternal(\"\".concat(STREMIO_URL, \"/login-fb/\").concat(state));\n var waitForCredentials = function () {\n if (started.current) {\n timeout.current && clearTimeout(timeout.current);\n timeout.current = setTimeout(function () {\n if (tries >= MAX_TRIES)\n return reject(new Error('Failed to authenticate with facebook', { cause: 'Number of allowed tries exceeded!' }));\n tries++;\n getCredentials(state)\n .then(resolve)\n .catch(waitForCredentials);\n }, 1000);\n }\n };\n waitForCredentials();\n }); }, []);\n var stop = (0, react_1.useCallback)(function () {\n started.current = false;\n timeout.current && clearTimeout(timeout.current);\n }, []);\n (0, react_1.useEffect)(function () {\n return function () { return stop(); };\n }, []);\n return [\n start,\n stop,\n ];\n};\nmodule.exports = useFacebookLogin;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar components_1 = require(\"stremio/components\");\nvar Placeholder_less_1 = __importDefault(require(\"./Placeholder.less\"));\nvar Placeholder = function () {\n var t = (0, react_i18next_1.useTranslation)().t;\n return (react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['placeholder'] },\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['title'] }, t('LIBRARY_NOT_LOGGED_IN')),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['image-container'] },\n react_1.default.createElement(components_1.Image, { className: Placeholder_less_1.default['image'], src: require('/images/library_placeholder.png'), alt: ' ' })),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['overview'] },\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['point'] },\n react_1.default.createElement(react_2.default, { className: Placeholder_less_1.default['icon'], name: 'cloud-library' }),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['text'] }, t('NOT_LOGGED_IN_CLOUD'))),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['point'] },\n react_1.default.createElement(react_2.default, { className: Placeholder_less_1.default['icon'], name: 'actors' }),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['text'] }, t('NOT_LOGGED_IN_RECOMMENDATIONS')))),\n react_1.default.createElement(\"div\", { className: Placeholder_less_1.default['button-container'] },\n react_1.default.createElement(components_1.Button, { className: Placeholder_less_1.default['button'], href: '#/intro?form=login' }, t('LOG_IN')))));\n};\nexports.default = Placeholder;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Placeholder_1 = __importDefault(require(\"./Placeholder\"));\nexports.default = Placeholder_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar components_1 = require(\"stremio/components\");\nvar EpisodePicker_less_1 = __importDefault(require(\"./EpisodePicker.less\"));\nvar EpisodePicker = function (_a) {\n var className = _a.className, onSubmit = _a.onSubmit;\n var t = (0, react_i18next_1.useTranslation)().t;\n var _b = (0, react_1.useMemo)(function () {\n var splitPath = window.location.hash.split('/');\n var videoId = decodeURIComponent(splitPath[splitPath.length - 1]);\n var _a = videoId ? videoId.split(':') : [], pathSeason = _a[1], pathEpisode = _a[2];\n return {\n initialSeason: parseInt(pathSeason) || 0,\n initialEpisode: parseInt(pathEpisode) || 1\n };\n }, []), initialSeason = _b.initialSeason, initialEpisode = _b.initialEpisode;\n var _c = (0, react_1.useState)(initialSeason), season = _c[0], setSeason = _c[1];\n var _d = (0, react_1.useState)(initialEpisode), episode = _d[0], setEpisode = _d[1];\n var handleSeasonChange = (0, react_1.useCallback)(function (event) {\n setSeason(parseInt(event.target.value));\n }, []);\n var handleEpisodeChange = (0, react_1.useCallback)(function (event) {\n setEpisode(parseInt(event.target.value));\n }, []);\n var handleSubmit = function () {\n onSubmit(season, episode);\n };\n var disabled = season === initialSeason && episode === initialEpisode;\n return (react_1.default.createElement(\"div\", { className: className },\n react_1.default.createElement(components_1.NumberInput, { min: 0, label: t('SEASON'), defaultValue: season, onChange: handleSeasonChange, showButtons: true }),\n react_1.default.createElement(components_1.NumberInput, { min: 1, label: t('EPISODE'), defaultValue: episode, onChange: handleEpisodeChange, showButtons: true }),\n react_1.default.createElement(components_1.Button, { className: EpisodePicker_less_1.default['button-container'], onClick: handleSubmit, disabled: disabled },\n react_1.default.createElement(\"div\", { className: EpisodePicker_less_1.default['label'] }, t('SIDEBAR_SHOW_STREAMS')))));\n};\nexports.default = EpisodePicker;\n","\"use strict\";\n// Copyright (C) 2017-2025 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EpisodePicker_1 = __importDefault(require(\"./EpisodePicker\"));\nexports.default = EpisodePicker_1.default;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar common_1 = require(\"stremio/common\");\nvar components_1 = require(\"stremio/components\");\nvar AudioMenu_less_1 = __importDefault(require(\"./AudioMenu.less\"));\nvar AudioMenu = function (_a) {\n var className = _a.className, selectedAudioTrackId = _a.selectedAudioTrackId, audioTracks = _a.audioTracks, onAudioTrackSelected = _a.onAudioTrackSelected;\n var t = (0, react_i18next_1.useTranslation)().t;\n var onAudioTrackClick = (0, react_1.useCallback)(function (_a) {\n var currentTarget = _a.currentTarget;\n var id = currentTarget.getAttribute('data-id');\n onAudioTrackSelected && onAudioTrackSelected(id);\n }, [onAudioTrackSelected]);\n var onMouseDown = function (event) {\n // @ts-expect-error: Property 'audioMenuClosePrevented' does not exist on type 'MouseEvent'.\n event.nativeEvent.audioMenuClosePrevented = true;\n };\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(className, AudioMenu_less_1.default['audio-menu']), onMouseDown: onMouseDown },\n react_1.default.createElement(\"div\", { className: AudioMenu_less_1.default['container'] },\n react_1.default.createElement(\"div\", { className: AudioMenu_less_1.default['header'] }, t('AUDIO_TRACKS')),\n react_1.default.createElement(\"div\", { className: AudioMenu_less_1.default['list'] }, audioTracks.map(function (_a, index) {\n var id = _a.id, label = _a.label, lang = _a.lang;\n return (react_1.default.createElement(components_1.Button, { key: index, title: label, className: (0, classnames_1.default)(AudioMenu_less_1.default['option'], { 'selected': selectedAudioTrackId === id }), \"data-id\": id, onClick: onAudioTrackClick },\n react_1.default.createElement(\"div\", { className: AudioMenu_less_1.default['info'] },\n react_1.default.createElement(\"div\", { className: AudioMenu_less_1.default['lang'] }, common_1.languages.label(lang)),\n react_1.default.createElement(\"div\", { className: AudioMenu_less_1.default['label'] }, label)),\n selectedAudioTrackId === id ?\n react_1.default.createElement(\"div\", { className: AudioMenu_less_1.default['icon'] })\n :\n null));\n })))));\n};\nexports.default = AudioMenu;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AudioMenu_1 = __importDefault(require(\"./AudioMenu\"));\nexports.default = AudioMenu_1.default;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar i18next_1 = require(\"i18next\");\nvar components_1 = require(\"stremio/components\");\nvar common_1 = require(\"stremio/common\");\nvar Indicator_less_1 = __importDefault(require(\"./Indicator.less\"));\nvar PROPERTIES = {\n 'extraSubtitlesDelay': {\n label: 'SUBTITLES_DELAY',\n format: function (value) { return \"\".concat((value / 1000).toFixed(2), \"s\"); },\n },\n};\nvar Indicator = function (_a) {\n var className = _a.className, videoState = _a.videoState, disabled = _a.disabled;\n var timeout = (0, react_1.useRef)(null);\n var prevVideoState = (0, react_1.useRef)(videoState);\n var _b = (0, common_1.useBinaryState)(false), shown = _b[0], show = _b[1], hide = _b[2];\n var _c = (0, react_1.useState)(null), current = _c[0], setCurrent = _c[1];\n var label = (0, react_1.useMemo)(function () {\n var property = current && PROPERTIES[current];\n return property && (0, i18next_1.t)(property.label);\n }, [current]);\n var value = (0, react_1.useMemo)(function () {\n var property = current && PROPERTIES[current];\n var value = current && videoState[current];\n return property && value && property.format(value);\n }, [current, videoState]);\n (0, react_1.useEffect)(function () {\n for (var _i = 0, _a = Object.keys(PROPERTIES); _i < _a.length; _i++) {\n var property = _a[_i];\n var prev = prevVideoState.current[property];\n var next = videoState[property];\n if (next && next !== prev) {\n setCurrent(property);\n show();\n timeout.current && clearTimeout(timeout.current);\n timeout.current = setTimeout(hide, 1000);\n }\n }\n prevVideoState.current = videoState;\n }, [videoState]);\n return (react_1.default.createElement(components_1.Transition, { when: shown && !disabled, name: 'fade' },\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(className, Indicator_less_1.default['indicator-container']) },\n react_1.default.createElement(\"div\", { className: Indicator_less_1.default['indicator'] },\n react_1.default.createElement(\"div\", null,\n label,\n \" \",\n value)))));\n};\nexports.default = Indicator;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar services_1 = require(\"stremio/services\");\nvar common_1 = require(\"stremio/common\");\nvar components_1 = require(\"stremio/components\");\nvar SeasonsBar_1 = __importDefault(require(\"stremio/routes/MetaDetails/VideosList/SeasonsBar\"));\nvar SideDrawer_less_1 = __importDefault(require(\"./SideDrawer.less\"));\nvar SideDrawer = (0, react_1.memo)((0, react_1.forwardRef)(function (_a, ref) {\n var seriesInfo = _a.seriesInfo, className = _a.className, closeSideDrawer = _a.closeSideDrawer, selected = _a.selected, props = __rest(_a, [\"seriesInfo\", \"className\", \"closeSideDrawer\", \"selected\"]);\n var core = (0, services_1.useServices)().core;\n var _b = (0, react_1.useState)(seriesInfo === null || seriesInfo === void 0 ? void 0 : seriesInfo.season), season = _b[0], setSeason = _b[1];\n var selectedVideoRef = (0, react_1.useRef)(null);\n var metaItem = (0, react_1.useMemo)(function () {\n return seriesInfo ? __assign(__assign({}, props.metaItem), { links: props.metaItem.links.filter(function (_a) {\n var category = _a.category;\n return category === common_1.CONSTANTS.SHARE_LINK_CATEGORY;\n }) }) :\n props.metaItem;\n }, [props.metaItem]);\n var videos = (0, react_1.useMemo)(function () {\n return Array.isArray(metaItem.videos) ?\n metaItem.videos.filter(function (video) { return video.season === season; })\n :\n metaItem.videos;\n }, [metaItem, season]);\n var seasons = (0, react_1.useMemo)(function () {\n return props.metaItem.videos\n .map(function (_a) {\n var season = _a.season;\n return season;\n })\n .filter(function (season, index, seasons) {\n return seasons.indexOf(season) === index;\n })\n .sort(function (a, b) { return (a || Number.MAX_SAFE_INTEGER) - (b || Number.MAX_SAFE_INTEGER); });\n }, [props.metaItem.videos]);\n var seasonOnSelect = (0, react_1.useCallback)(function (event) {\n setSeason(parseInt(event.value));\n }, []);\n var seasonWatched = react_1.default.useMemo(function () {\n return videos.every(function (video) { return video.watched; });\n }, [videos]);\n var onMarkVideoAsWatched = (0, react_1.useCallback)(function (video, watched) {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'MarkVideoAsWatched',\n args: [video, !watched]\n }\n });\n }, []);\n var onMarkSeasonAsWatched = function (season, watched) {\n core.transport.dispatch({\n action: 'Player',\n args: {\n action: 'MarkSeasonAsWatched',\n args: [season, !watched]\n }\n });\n };\n var onMouseDown = function (event) {\n event.stopPropagation();\n };\n var onTransitionEnd = function () {\n var _a;\n (_a = selectedVideoRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({\n behavior: 'smooth',\n });\n };\n return (react_1.default.createElement(\"div\", { ref: ref, className: (0, classnames_1.default)(SideDrawer_less_1.default['side-drawer'], className), onMouseDown: onMouseDown, onTransitionEnd: onTransitionEnd },\n react_1.default.createElement(\"div\", { className: SideDrawer_less_1.default['close-button'], onClick: closeSideDrawer },\n react_1.default.createElement(react_2.default, { className: SideDrawer_less_1.default['icon'], name: 'chevron-forward' })),\n react_1.default.createElement(\"div\", { className: SideDrawer_less_1.default['info'] },\n react_1.default.createElement(components_1.MetaPreview, { className: SideDrawer_less_1.default['side-drawer-meta-preview'], compact: true, name: metaItem.name, logo: metaItem.logo, runtime: metaItem.runtime, releaseInfo: metaItem.releaseInfo, released: metaItem.released, description: metaItem.description, links: metaItem.links })),\n seriesInfo ?\n react_1.default.createElement(\"div\", { className: SideDrawer_less_1.default['series-content'] },\n react_1.default.createElement(SeasonsBar_1.default, { season: season, seasons: seasons, onSelect: seasonOnSelect }),\n react_1.default.createElement(\"div\", { className: SideDrawer_less_1.default['videos'] }, videos.map(function (video, index) { return (react_1.default.createElement(components_1.Video, { key: index, ref: video.id === selected ? selectedVideoRef : null, className: SideDrawer_less_1.default['video'], id: video.id, title: video.title, thumbnail: video.thumbnail, season: video.season, episode: video.episode, released: video.released, upcoming: video.upcoming, watched: video.watched, seasonWatched: seasonWatched, progress: video.progress, deepLinks: video.deepLinks, scheduled: video.scheduled, onMarkVideoAsWatched: onMarkVideoAsWatched, onMarkSeasonAsWatched: onMarkSeasonAsWatched })); })))\n : null));\n}));\nexports.default = SideDrawer;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SideDrawer_1 = __importDefault(require(\"./SideDrawer\"));\nexports.default = SideDrawer_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar SideDrawerButton_less_1 = __importDefault(require(\"./SideDrawerButton.less\"));\nvar SideDrawerButton = function (_a) {\n var className = _a.className, onClick = _a.onClick;\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(className, SideDrawerButton_less_1.default['side-drawer-button']), onClick: onClick },\n react_1.default.createElement(react_2.default, { name: 'chevron-back', className: SideDrawerButton_less_1.default['icon'] })));\n};\nexports.default = SideDrawerButton;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SideDrawerButton_1 = __importDefault(require(\"./SideDrawerButton\"));\nexports.default = SideDrawerButton_1.default;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar components_1 = require(\"stremio/components\");\nvar common_1 = require(\"stremio/common\");\nvar Stepper_less_1 = __importDefault(require(\"./Stepper.less\"));\nvar clamp = function (value, min, max) {\n var minClamped = typeof min === 'number' ? Math.max(value, min) : value;\n var maxClamped = typeof max === 'number' ? Math.min(minClamped, max) : minClamped;\n return maxClamped;\n};\nvar Stepper = function (_a) {\n var className = _a.className, label = _a.label, value = _a.value, unit = _a.unit, step = _a.step, min = _a.min, max = _a.max, disabled = _a.disabled, onChange = _a.onChange;\n var t = (0, react_i18next_1.useTranslation)().t;\n var localValue = (0, react_1.useRef)(value);\n var interval = (0, common_1.useInterval)(100);\n var timeout = (0, common_1.useTimeout)(250);\n var cancel = function () {\n interval.cancel();\n timeout.cancel();\n };\n var updateValue = (0, react_1.useCallback)(function (delta) {\n onChange(clamp(localValue.current + delta, min, max));\n }, [onChange]);\n var onDecrementMouseDown = (0, react_1.useCallback)(function () {\n cancel();\n timeout.start(function () { return interval.start(function () { return updateValue(-step); }); });\n }, [updateValue]);\n var onDecrementMouseUp = (0, react_1.useCallback)(function () {\n cancel();\n updateValue(-step);\n }, [updateValue]);\n var onIncrementMouseDown = (0, react_1.useCallback)(function () {\n cancel();\n timeout.start(function () { return interval.start(function () { return updateValue(step); }); });\n }, [updateValue]);\n var onIncrementMouseUp = (0, react_1.useCallback)(function () {\n cancel();\n updateValue(step);\n }, [updateValue]);\n (0, react_1.useEffect)(function () {\n localValue.current = value;\n }, [value]);\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Stepper_less_1.default['stepper'], className) },\n react_1.default.createElement(\"div\", { className: Stepper_less_1.default['header'] }, t(label)),\n react_1.default.createElement(\"div\", { className: Stepper_less_1.default['content'] },\n react_1.default.createElement(components_1.Button, { className: (0, classnames_1.default)(Stepper_less_1.default['button'], { 'disabled': disabled }), onMouseDown: onDecrementMouseDown, onMouseUp: onDecrementMouseUp, onMouseLeave: cancel },\n react_1.default.createElement(react_2.default, { className: Stepper_less_1.default['icon'], name: 'remove' })),\n react_1.default.createElement(\"div\", { className: Stepper_less_1.default['value'] }, disabled ? '--' : \"\".concat(value).concat(unit)),\n react_1.default.createElement(components_1.Button, { className: (0, classnames_1.default)(Stepper_less_1.default['button'], { 'disabled': disabled }), onMouseDown: onIncrementMouseDown, onMouseUp: onIncrementMouseUp, onMouseLeave: cancel },\n react_1.default.createElement(react_2.default, { className: Stepper_less_1.default['icon'], name: 'add' })))));\n};\nexports.default = Stepper;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Stepper_1 = __importDefault(require(\"./Stepper\"));\nexports.default = Stepper_1.default;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar components_1 = require(\"stremio/components\");\nvar services_1 = require(\"stremio/services\");\nvar common_1 = require(\"stremio/common\");\nvar components_2 = require(\"../components\");\nvar User_1 = __importDefault(require(\"./User\"));\nvar useDataExport_1 = __importDefault(require(\"./useDataExport\"));\nvar General_less_1 = __importDefault(require(\"./General.less\"));\nvar useGeneralOptions_1 = __importDefault(require(\"./useGeneralOptions\"));\nvar General = (0, react_1.forwardRef)(function (_a, ref) {\n var _b, _c, _d, _e, _f;\n var profile = _a.profile;\n var t = (0, react_i18next_1.useTranslation)().t;\n var _g = (0, services_1.useServices)(), core = _g.core, shell = _g.shell;\n var platform = (0, common_1.usePlatform)();\n var toast = (0, common_1.useToast)();\n var _h = (0, useDataExport_1.default)(), dataExport = _h[0], loadDataExport = _h[1];\n var _j = (0, useGeneralOptions_1.default)(profile), interfaceLanguageSelect = _j.interfaceLanguageSelect, quitOnCloseToggle = _j.quitOnCloseToggle, escExitFullscreenToggle = _j.escExitFullscreenToggle, hideSpoilersToggle = _j.hideSpoilersToggle;\n var _k = (0, react_1.useState)(false), traktAuthStarted = _k[0], setTraktAuthStarted = _k[1];\n var isTraktAuthenticated = (0, react_1.useMemo)(function () {\n var _a, _b;\n var trakt = (_b = (_a = profile === null || profile === void 0 ? void 0 : profile.auth) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.trakt;\n return trakt && (Date.now() / 1000) < (trakt.created_at + trakt.expires_in);\n }, [profile.auth]);\n var onExportData = (0, react_1.useCallback)(function () {\n loadDataExport();\n }, []);\n var onCalendarSubscribe = (0, react_1.useCallback)(function () {\n if (!profile.auth)\n return;\n var protocol = platform.name === 'ios' ? 'webcal' : 'https';\n var url = \"\".concat(protocol, \"://www.strem.io/calendar/\").concat(profile.auth.user._id, \".ics\");\n platform.openExternal(url);\n toast.show({\n type: 'success',\n title: platform.name === 'ios' ?\n t('SETTINGS_SUBSCRIBE_CALENDAR_IOS_TOAST') :\n t('SETTINGS_SUBSCRIBE_CALENDAR_TOAST'),\n timeout: 25000\n });\n // Stremio 4 emits not documented event subscribeCalendar\n }, [profile.auth]);\n var onToggleTrakt = (0, react_1.useCallback)(function () {\n if (!isTraktAuthenticated && profile.auth !== null && profile.auth.user !== null && typeof profile.auth.user._id === 'string') {\n platform.openExternal(\"https://www.strem.io/trakt/auth/\".concat(profile.auth.user._id));\n setTraktAuthStarted(true);\n }\n else {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'LogoutTrakt'\n }\n });\n }\n }, [isTraktAuthenticated, profile.auth]);\n (0, react_1.useEffect)(function () {\n if (dataExport.exportUrl) {\n platform.openExternal(dataExport.exportUrl);\n }\n }, [dataExport.exportUrl]);\n (0, react_1.useEffect)(function () {\n if (isTraktAuthenticated && traktAuthStarted) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'InstallTraktAddon'\n }\n });\n setTraktAuthStarted(false);\n }\n }, [isTraktAuthenticated, traktAuthStarted]);\n return react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(components_2.Section, { ref: ref },\n react_1.default.createElement(User_1.default, { profile: profile })),\n react_1.default.createElement(components_2.Section, null,\n ((_b = profile === null || profile === void 0 ? void 0 : profile.auth) === null || _b === void 0 ? void 0 : _b.user) &&\n react_1.default.createElement(components_2.Link, { label: t('SETTINGS_DATA_EXPORT'), onClick: onExportData }),\n ((_c = profile === null || profile === void 0 ? void 0 : profile.auth) === null || _c === void 0 ? void 0 : _c.user) &&\n react_1.default.createElement(components_2.Link, { label: t('SETTINGS_SUBSCRIBE_CALENDAR'), onClick: onCalendarSubscribe }),\n react_1.default.createElement(components_2.Link, { label: t('SETTINGS_SUPPORT'), href: 'https://stremio.zendesk.com/hc/en-us' }),\n react_1.default.createElement(components_2.Link, { label: t('SETTINGS_SOURCE_CODE'), href: \"https://github.com/stremio/stremio-web/tree/\".concat(process.env.COMMIT_HASH) }),\n react_1.default.createElement(components_2.Link, { label: t('TERMS_OF_SERVICE'), href: 'https://www.stremio.com/tos' }),\n react_1.default.createElement(components_2.Link, { label: t('PRIVACY_POLICY'), href: 'https://www.stremio.com/privacy' }),\n ((_d = profile === null || profile === void 0 ? void 0 : profile.auth) === null || _d === void 0 ? void 0 : _d.user) &&\n react_1.default.createElement(components_2.Link, { label: t('SETTINGS_ACC_DELETE'), href: 'https://stremio.zendesk.com/hc/en-us/articles/360021428911-How-to-delete-my-account' }),\n ((_f = (_e = profile === null || profile === void 0 ? void 0 : profile.auth) === null || _e === void 0 ? void 0 : _e.user) === null || _f === void 0 ? void 0 : _f.email) &&\n react_1.default.createElement(components_2.Link, { label: t('SETTINGS_CHANGE_PASSWORD'), href: \"https://www.strem.io/reset-password/\".concat(profile.auth.user.email) }),\n react_1.default.createElement(components_2.Option, { className: General_less_1.default['trakt-container'], icon: 'trakt', label: t('SETTINGS_TRAKT') },\n react_1.default.createElement(components_1.Button, { className: 'button', title: isTraktAuthenticated ? t('LOG_OUT') : t('SETTINGS_TRAKT_AUTHENTICATE'), disabled: profile.auth === null, tabIndex: -1, onClick: onToggleTrakt }, isTraktAuthenticated ? t('LOG_OUT') : t('SETTINGS_TRAKT_AUTHENTICATE')))),\n react_1.default.createElement(components_2.Section, null,\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_UI_LANGUAGE' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, interfaceLanguageSelect))),\n shell.active &&\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_QUIT_ON_CLOSE' },\n react_1.default.createElement(components_1.Toggle, __assign({ tabIndex: -1 }, quitOnCloseToggle))),\n shell.active &&\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_FULLSCREEN_EXIT' },\n react_1.default.createElement(components_1.Toggle, __assign({ tabIndex: -1 }, escExitFullscreenToggle))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_BLUR_UNWATCHED_IMAGE' },\n react_1.default.createElement(components_1.Toggle, __assign({ tabIndex: -1 }, hideSpoilersToggle)))));\n});\nexports.default = General;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar services_1 = require(\"stremio/services\");\nvar components_1 = require(\"../../components\");\nvar User_less_1 = __importDefault(require(\"./User.less\"));\nvar User = function (_a) {\n var profile = _a.profile;\n var t = (0, react_i18next_1.useTranslation)().t;\n var core = (0, services_1.useServices)().core;\n var avatar = (0, react_1.useMemo)(function () { return (!profile.auth ?\n \"url('\".concat(require('/images/anonymous.png'), \"')\")\n :\n profile.auth.user.avatar ?\n \"url('\".concat(profile.auth.user.avatar, \"')\")\n :\n \"url('\".concat(require('/images/default_avatar.png'), \"')\")); }, [profile.auth]);\n var onLogout = (0, react_1.useCallback)(function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'Logout'\n }\n });\n }, []);\n return (react_1.default.createElement(\"div\", { className: User_less_1.default['user'] },\n react_1.default.createElement(\"div\", { className: User_less_1.default['user-info-content'] },\n react_1.default.createElement(\"div\", { className: User_less_1.default['avatar-container'], style: { backgroundImage: avatar } }),\n react_1.default.createElement(\"div\", { className: User_less_1.default['email-logout-container'] },\n react_1.default.createElement(\"div\", { className: User_less_1.default['email-label-container'], title: profile.auth === null ? t('ANONYMOUS_USER') : profile.auth.user.email },\n react_1.default.createElement(\"div\", { className: User_less_1.default['email-label'] }, profile.auth === null ? t('ANONYMOUS_USER') : profile.auth.user.email)),\n profile.auth !== null ?\n react_1.default.createElement(components_1.Link, { label: t('LOG_OUT'), onClick: onLogout })\n :\n react_1.default.createElement(components_1.Link, { label: \"\".concat(t('LOG_IN'), \" / \").concat(t('SIGN_UP')), href: '#/intro', target: '_self' })))));\n};\nexports.default = User;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar User_1 = __importDefault(require(\"./User\"));\nexports.default = User_1.default;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar General_1 = __importDefault(require(\"./General\"));\nexports.default = General_1.default;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar common_1 = require(\"stremio/common\");\nvar services_1 = require(\"stremio/services\");\nvar useGeneralOptions = function (profile) {\n var core = (0, services_1.useServices)().core;\n var interfaceLanguageOptions = (0, react_1.useMemo)(function () {\n return common_1.interfaceLanguages.map(function (_a) {\n var name = _a.name, codes = _a.codes;\n return ({\n value: codes[0],\n label: name,\n });\n });\n }, []);\n var sortedOptions = (0, common_1.useLanguageSorting)(interfaceLanguageOptions).sortedOptions;\n var interfaceLanguageSelect = (0, react_1.useMemo)(function () {\n var _a, _b;\n return ({\n options: sortedOptions,\n value: ((_b = (_a = common_1.interfaceLanguages.find(function (_a) {\n var codes = _a.codes;\n return codes[1] === profile.settings.interfaceLanguage;\n })) === null || _a === void 0 ? void 0 : _a.codes) === null || _b === void 0 ? void 0 : _b[0]) ||\n profile.settings.interfaceLanguage,\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { interfaceLanguage: value })\n }\n });\n }\n });\n }, [profile.settings, sortedOptions]);\n var escExitFullscreenToggle = (0, react_1.useMemo)(function () { return ({\n checked: profile.settings.escExitFullscreen,\n onClick: function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { escExitFullscreen: !profile.settings.escExitFullscreen })\n }\n });\n }\n }); }, [profile.settings]);\n var quitOnCloseToggle = (0, react_1.useMemo)(function () { return ({\n checked: profile.settings.quitOnClose,\n onClick: function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { quitOnClose: !profile.settings.quitOnClose })\n }\n });\n }\n }); }, [profile.settings]);\n var hideSpoilersToggle = (0, react_1.useMemo)(function () { return ({\n checked: profile.settings.hideSpoilers,\n onClick: function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { hideSpoilers: !profile.settings.hideSpoilers })\n }\n });\n }\n }); }, [profile.settings]);\n return {\n interfaceLanguageSelect: interfaceLanguageSelect,\n escExitFullscreenToggle: escExitFullscreenToggle,\n quitOnCloseToggle: quitOnCloseToggle,\n hideSpoilersToggle: hideSpoilersToggle,\n };\n};\nexports.default = useGeneralOptions;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar services_1 = require(\"stremio/services\");\nvar components_1 = require(\"../components\");\nvar Info_less_1 = __importDefault(require(\"./Info.less\"));\nvar Info = function (_a) {\n var _b, _c;\n var streamingServer = _a.streamingServer;\n var shell = (0, services_1.useServices)().shell;\n var t = (0, react_i18next_1.useTranslation)().t;\n var settings = (0, react_1.useMemo)(function () {\n var _a;\n return (((_a = streamingServer === null || streamingServer === void 0 ? void 0 : streamingServer.settings) === null || _a === void 0 ? void 0 : _a.type) === 'Ready' ?\n streamingServer.settings.content : null);\n }, [streamingServer === null || streamingServer === void 0 ? void 0 : streamingServer.settings]);\n return (react_1.default.createElement(components_1.Section, { className: Info_less_1.default['info'] },\n react_1.default.createElement(components_1.Option, { label: t('SETTINGS_APP_VERSION') },\n react_1.default.createElement(\"div\", { className: Info_less_1.default['label'] }, process.env.VERSION)),\n react_1.default.createElement(components_1.Option, { label: t('SETTINGS_BUILD_VERSION') },\n react_1.default.createElement(\"div\", { className: Info_less_1.default['label'] }, process.env.COMMIT_HASH)),\n (settings === null || settings === void 0 ? void 0 : settings.serverVersion) &&\n react_1.default.createElement(components_1.Option, { label: t('SETTINGS_SERVER_VERSION') },\n react_1.default.createElement(\"div\", { className: Info_less_1.default['label'] }, settings.serverVersion)),\n typeof ((_c = (_b = shell === null || shell === void 0 ? void 0 : shell.transport) === null || _b === void 0 ? void 0 : _b.props) === null || _c === void 0 ? void 0 : _c.shellVersion) === 'string' &&\n react_1.default.createElement(components_1.Option, { label: t('SETTINGS_SHELL_VERSION') },\n react_1.default.createElement(\"div\", { className: Info_less_1.default['label'] }, shell.transport.props.shellVersion))));\n};\nexports.default = Info;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Info_1 = __importDefault(require(\"./Info\"));\nexports.default = Info_1.default;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar services_1 = require(\"stremio/services\");\nvar components_1 = require(\"stremio/components\");\nvar constants_1 = require(\"../constants\");\nvar Menu_less_1 = __importDefault(require(\"./Menu.less\"));\nvar Menu = function (_a) {\n var _b, _c, _d, _e;\n var _f, _g;\n var selected = _a.selected, streamingServer = _a.streamingServer, onSelect = _a.onSelect;\n var t = (0, react_i18next_1.useTranslation)().t;\n var shell = (0, services_1.useServices)().shell;\n var settings = (0, react_1.useMemo)(function () {\n var _a;\n return (((_a = streamingServer === null || streamingServer === void 0 ? void 0 : streamingServer.settings) === null || _a === void 0 ? void 0 : _a.type) === 'Ready' ?\n streamingServer.settings.content : null);\n }, [streamingServer === null || streamingServer === void 0 ? void 0 : streamingServer.settings]);\n return (react_1.default.createElement(\"div\", { className: Menu_less_1.default['menu'] },\n react_1.default.createElement(components_1.Button, { className: (0, classnames_1.default)(Menu_less_1.default['button'], (_b = {}, _b[Menu_less_1.default['selected']] = selected === constants_1.SECTIONS.GENERAL, _b)), title: t('SETTINGS_NAV_GENERAL'), \"data-section\": constants_1.SECTIONS.GENERAL, onClick: onSelect }, t('SETTINGS_NAV_GENERAL')),\n react_1.default.createElement(components_1.Button, { className: (0, classnames_1.default)(Menu_less_1.default['button'], (_c = {}, _c[Menu_less_1.default['selected']] = selected === constants_1.SECTIONS.PLAYER, _c)), title: t('SETTINGS_NAV_PLAYER'), \"data-section\": constants_1.SECTIONS.PLAYER, onClick: onSelect }, t('SETTINGS_NAV_PLAYER')),\n react_1.default.createElement(components_1.Button, { className: (0, classnames_1.default)(Menu_less_1.default['button'], (_d = {}, _d[Menu_less_1.default['selected']] = selected === constants_1.SECTIONS.STREAMING, _d)), title: t('SETTINGS_NAV_STREAMING'), \"data-section\": constants_1.SECTIONS.STREAMING, onClick: onSelect }, t('SETTINGS_NAV_STREAMING')),\n react_1.default.createElement(components_1.Button, { className: (0, classnames_1.default)(Menu_less_1.default['button'], (_e = {}, _e[Menu_less_1.default['selected']] = selected === constants_1.SECTIONS.SHORTCUTS, _e)), title: t('SETTINGS_NAV_SHORTCUTS'), \"data-section\": constants_1.SECTIONS.SHORTCUTS, onClick: onSelect }, t('SETTINGS_NAV_SHORTCUTS')),\n react_1.default.createElement(\"div\", { className: Menu_less_1.default['spacing'] }),\n react_1.default.createElement(\"div\", { className: Menu_less_1.default['version-info-label'], title: process.env.VERSION },\n t('SETTINGS_APP_VERSION'),\n \": \",\n process.env.VERSION),\n react_1.default.createElement(\"div\", { className: Menu_less_1.default['version-info-label'], title: process.env.COMMIT_HASH },\n t('SETTINGS_BUILD_VERSION'),\n \": \",\n process.env.COMMIT_HASH),\n (settings === null || settings === void 0 ? void 0 : settings.serverVersion) &&\n react_1.default.createElement(\"div\", { className: Menu_less_1.default['version-info-label'], title: settings.serverVersion },\n t('SETTINGS_SERVER_VERSION'),\n \": \",\n settings.serverVersion),\n typeof ((_g = (_f = shell === null || shell === void 0 ? void 0 : shell.transport) === null || _f === void 0 ? void 0 : _f.props) === null || _g === void 0 ? void 0 : _g.shellVersion) === 'string' &&\n react_1.default.createElement(\"div\", { className: Menu_less_1.default['version-info-label'], title: shell.transport.props.shellVersion },\n t('SETTINGS_SHELL_VERSION'),\n \": \",\n shell.transport.props.shellVersion)));\n};\nexports.default = Menu;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Menu_1 = __importDefault(require(\"./Menu\"));\nexports.default = Menu_1.default;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar components_1 = require(\"stremio/components\");\nvar services_1 = require(\"stremio/services\");\nvar components_2 = require(\"../components\");\nvar usePlayerOptions_1 = __importDefault(require(\"./usePlayerOptions\"));\nvar Player = (0, react_1.forwardRef)(function (_a, ref) {\n var profile = _a.profile;\n var shell = (0, services_1.useServices)().shell;\n var _b = (0, usePlayerOptions_1.default)(profile), subtitlesLanguageSelect = _b.subtitlesLanguageSelect, subtitlesSizeSelect = _b.subtitlesSizeSelect, subtitlesTextColorInput = _b.subtitlesTextColorInput, subtitlesBackgroundColorInput = _b.subtitlesBackgroundColorInput, subtitlesOutlineColorInput = _b.subtitlesOutlineColorInput, audioLanguageSelect = _b.audioLanguageSelect, surroundSoundToggle = _b.surroundSoundToggle, seekTimeDurationSelect = _b.seekTimeDurationSelect, seekShortTimeDurationSelect = _b.seekShortTimeDurationSelect, playInExternalPlayerSelect = _b.playInExternalPlayerSelect, nextVideoPopupDurationSelect = _b.nextVideoPopupDurationSelect, bingeWatchingToggle = _b.bingeWatchingToggle, playInBackgroundToggle = _b.playInBackgroundToggle, hardwareDecodingToggle = _b.hardwareDecodingToggle, pauseOnMinimizeToggle = _b.pauseOnMinimizeToggle;\n return (react_1.default.createElement(components_2.Section, { ref: ref, label: 'SETTINGS_NAV_PLAYER' },\n react_1.default.createElement(components_2.Category, { icon: 'subtitles', label: 'SETTINGS_SECTION_SUBTITLES' },\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SUBTITLES_LANGUAGE' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, subtitlesLanguageSelect))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SUBTITLES_SIZE' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, subtitlesSizeSelect))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SUBTITLES_COLOR' },\n react_1.default.createElement(components_1.ColorInput, __assign({ className: 'color-input' }, subtitlesTextColorInput))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SUBTITLES_COLOR_BACKGROUND' },\n react_1.default.createElement(components_1.ColorInput, __assign({ className: 'color-input' }, subtitlesBackgroundColorInput))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SUBTITLES_COLOR_OUTLINE' },\n react_1.default.createElement(components_1.ColorInput, __assign({ className: 'color-input' }, subtitlesOutlineColorInput)))),\n react_1.default.createElement(components_2.Category, { icon: 'volume-medium', label: 'SETTINGS_SECTION_AUDIO' },\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_DEFAULT_AUDIO_TRACK' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, audioLanguageSelect))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SURROUND_SOUND' },\n react_1.default.createElement(components_1.Toggle, __assign({ tabIndex: -1 }, surroundSoundToggle)))),\n react_1.default.createElement(components_2.Category, { icon: 'remote', label: 'SETTINGS_SECTION_CONTROLS' },\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SEEK_KEY' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, seekTimeDurationSelect))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SEEK_KEY_SHIFT' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, seekShortTimeDurationSelect))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_PLAY_IN_BACKGROUND' },\n react_1.default.createElement(components_1.Toggle, __assign({ disabled: true, tabIndex: -1 }, playInBackgroundToggle)))),\n react_1.default.createElement(components_2.Category, { icon: 'play', label: 'SETTINGS_SECTION_AUTO_PLAY' },\n react_1.default.createElement(components_2.Option, { label: 'AUTO_PLAY' },\n react_1.default.createElement(components_1.Toggle, __assign({ tabIndex: -1 }, bingeWatchingToggle))),\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_NEXT_VIDEO_POPUP_DURATION' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect', disabled: !profile.settings.bingeWatching }, nextVideoPopupDurationSelect)))),\n react_1.default.createElement(components_2.Category, { icon: 'glasses', label: 'SETTINGS_SECTION_ADVANCED' },\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_PLAY_IN_EXTERNAL_PLAYER' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, playInExternalPlayerSelect))),\n shell.active &&\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_HWDEC' },\n react_1.default.createElement(components_1.Toggle, __assign({ tabIndex: -1 }, hardwareDecodingToggle))),\n shell.active &&\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_PAUSE_MINIMIZED' },\n react_1.default.createElement(components_1.Toggle, __assign({ tabIndex: -1 }, pauseOnMinimizeToggle))))));\n});\nexports.default = Player;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Player_1 = __importDefault(require(\"./Player\"));\nexports.default = Player_1.default;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar react_i18next_1 = require(\"react-i18next\");\nvar services_1 = require(\"stremio/services\");\nvar common_1 = require(\"stremio/common\");\nvar LANGUAGES_NAMES = common_1.languageNames;\nvar usePlayerOptions = function (profile) {\n var t = (0, react_i18next_1.useTranslation)().t;\n var core = (0, services_1.useServices)().core;\n var platform = (0, common_1.usePlatform)();\n var languageOptions = (0, react_1.useMemo)(function () { return Object.keys(LANGUAGES_NAMES).map(function (code) { return ({\n value: code,\n label: LANGUAGES_NAMES[code]\n }); }); }, []);\n var sortedLanguageOptions = (0, common_1.useLanguageSorting)(languageOptions).sortedOptions;\n var subtitlesLanguageSelect = (0, react_1.useMemo)(function () { return ({\n options: __spreadArray([\n { value: null, label: t('NONE') }\n ], sortedLanguageOptions, true),\n value: profile.settings.subtitlesLanguage,\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { subtitlesLanguage: value })\n }\n });\n }\n }); }, [profile.settings, sortedLanguageOptions]);\n var subtitlesSizeSelect = (0, react_1.useMemo)(function () { return ({\n options: common_1.CONSTANTS.SUBTITLES_SIZES.map(function (size) { return ({\n value: \"\".concat(size),\n label: \"\".concat(size, \"%\")\n }); }),\n value: \"\".concat(profile.settings.subtitlesSize),\n title: function () {\n return \"\".concat(profile.settings.subtitlesSize, \"%\");\n },\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { subtitlesSize: parseInt(value, 10) })\n }\n });\n }\n }); }, [profile.settings]);\n var subtitlesTextColorInput = (0, react_1.useMemo)(function () { return ({\n value: profile.settings.subtitlesTextColor,\n onChange: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { subtitlesTextColor: value })\n }\n });\n }\n }); }, [profile.settings]);\n var subtitlesBackgroundColorInput = (0, react_1.useMemo)(function () { return ({\n value: profile.settings.subtitlesBackgroundColor,\n onChange: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { subtitlesBackgroundColor: value })\n }\n });\n }\n }); }, [profile.settings]);\n var subtitlesOutlineColorInput = (0, react_1.useMemo)(function () { return ({\n value: profile.settings.subtitlesOutlineColor,\n onChange: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { subtitlesOutlineColor: value })\n }\n });\n }\n }); }, [profile.settings]);\n var audioLanguageSelect = (0, react_1.useMemo)(function () { return ({\n options: sortedLanguageOptions,\n value: profile.settings.audioLanguage,\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { audioLanguage: value })\n }\n });\n }\n }); }, [profile.settings, sortedLanguageOptions]);\n var surroundSoundToggle = (0, react_1.useMemo)(function () { return ({\n checked: profile.settings.surroundSound,\n onClick: function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { surroundSound: !profile.settings.surroundSound })\n }\n });\n }\n }); }, [profile.settings]);\n var seekTimeDurationSelect = (0, react_1.useMemo)(function () { return ({\n options: common_1.CONSTANTS.SEEK_TIME_DURATIONS.map(function (size) { return ({\n value: \"\".concat(size),\n label: \"\".concat(size / 1000, \" \").concat(t('SECONDS'))\n }); }),\n value: \"\".concat(profile.settings.seekTimeDuration),\n title: function () {\n return \"\".concat(profile.settings.seekTimeDuration / 1000, \" \").concat(t('SECONDS'));\n },\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { seekTimeDuration: parseInt(value, 10) })\n }\n });\n }\n }); }, [profile.settings]);\n var seekShortTimeDurationSelect = (0, react_1.useMemo)(function () { return ({\n options: common_1.CONSTANTS.SEEK_TIME_DURATIONS.map(function (size) { return ({\n value: \"\".concat(size),\n label: \"\".concat(size / 1000, \" \").concat(t('SECONDS'))\n }); }),\n value: \"\".concat(profile.settings.seekShortTimeDuration),\n title: function () {\n return \"\".concat(profile.settings.seekShortTimeDuration / 1000, \" \").concat(t('SECONDS'));\n },\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { seekShortTimeDuration: parseInt(value, 10) })\n }\n });\n }\n }); }, [profile.settings]);\n var playInExternalPlayerSelect = (0, react_1.useMemo)(function () { return ({\n options: common_1.CONSTANTS.EXTERNAL_PLAYERS\n .filter(function (_a) {\n var platforms = _a.platforms;\n return platforms.includes(platform.name);\n })\n .map(function (_a) {\n var label = _a.label, value = _a.value;\n return ({\n value: value,\n label: t(label),\n });\n }),\n value: profile.settings.playerType,\n title: function () {\n var selectedOption = common_1.CONSTANTS.EXTERNAL_PLAYERS.find(function (_a) {\n var value = _a.value;\n return value === profile.settings.playerType;\n });\n return selectedOption ? t(selectedOption.label, { defaultValue: selectedOption.label }) : profile.settings.playerType;\n },\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { playerType: value })\n }\n });\n }\n }); }, [profile.settings]);\n var nextVideoPopupDurationSelect = (0, react_1.useMemo)(function () { return ({\n options: common_1.CONSTANTS.NEXT_VIDEO_POPUP_DURATIONS.map(function (duration) { return ({\n value: \"\".concat(duration),\n label: duration === 0 ? 'Disabled' : \"\".concat(duration / 1000, \" \").concat(t('SECONDS'))\n }); }),\n value: \"\".concat(profile.settings.nextVideoNotificationDuration),\n title: function () {\n return profile.settings.nextVideoNotificationDuration === 0 ?\n 'Disabled'\n :\n \"\".concat(profile.settings.nextVideoNotificationDuration / 1000, \" \").concat(t('SECONDS'));\n },\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { nextVideoNotificationDuration: parseInt(value, 10) })\n }\n });\n }\n }); }, [profile.settings]);\n var bingeWatchingToggle = (0, react_1.useMemo)(function () { return ({\n checked: profile.settings.bingeWatching,\n onClick: function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { bingeWatching: !profile.settings.bingeWatching })\n }\n });\n }\n }); }, [profile.settings]);\n var playInBackgroundToggle = (0, react_1.useMemo)(function () { return ({\n checked: profile.settings.playInBackground,\n onClick: function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { playInBackground: !profile.settings.playInBackground })\n }\n });\n }\n }); }, [profile.settings]);\n var hardwareDecodingToggle = (0, react_1.useMemo)(function () { return ({\n checked: profile.settings.hardwareDecoding,\n onClick: function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { hardwareDecoding: !profile.settings.hardwareDecoding })\n }\n });\n }\n }); }, [profile.settings]);\n var pauseOnMinimizeToggle = (0, react_1.useMemo)(function () { return ({\n checked: profile.settings.pauseOnMinimize,\n onClick: function () {\n core.transport.dispatch({\n action: 'Ctx',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, profile.settings), { pauseOnMinimize: !profile.settings.pauseOnMinimize })\n }\n });\n }\n }); }, [profile.settings]);\n return {\n subtitlesLanguageSelect: subtitlesLanguageSelect,\n subtitlesSizeSelect: subtitlesSizeSelect,\n subtitlesTextColorInput: subtitlesTextColorInput,\n subtitlesBackgroundColorInput: subtitlesBackgroundColorInput,\n subtitlesOutlineColorInput: subtitlesOutlineColorInput,\n audioLanguageSelect: audioLanguageSelect,\n surroundSoundToggle: surroundSoundToggle,\n seekTimeDurationSelect: seekTimeDurationSelect,\n seekShortTimeDurationSelect: seekShortTimeDurationSelect,\n playInExternalPlayerSelect: playInExternalPlayerSelect,\n nextVideoPopupDurationSelect: nextVideoPopupDurationSelect,\n bingeWatchingToggle: bingeWatchingToggle,\n playInBackgroundToggle: playInBackgroundToggle,\n hardwareDecodingToggle: hardwareDecodingToggle,\n pauseOnMinimizeToggle: pauseOnMinimizeToggle,\n };\n};\nexports.default = usePlayerOptions;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar lodash_throttle_1 = __importDefault(require(\"lodash.throttle\"));\nvar stremio_router_1 = require(\"stremio-router\");\nvar common_1 = require(\"stremio/common\");\nvar components_1 = require(\"stremio/components\");\nvar constants_1 = require(\"./constants\");\nvar Menu_1 = __importDefault(require(\"./Menu\"));\nvar General_1 = __importDefault(require(\"./General\"));\nvar Player_1 = __importDefault(require(\"./Player\"));\nvar Streaming_1 = __importDefault(require(\"./Streaming\"));\nvar Shortcuts_1 = __importDefault(require(\"./Shortcuts\"));\nvar Info_1 = __importDefault(require(\"./Info\"));\nvar Settings_less_1 = __importDefault(require(\"./Settings.less\"));\nvar Settings = function () {\n var routeFocused = (0, stremio_router_1.useRouteFocused)().routeFocused;\n var profile = (0, common_1.useProfile)();\n var streamingServer = (0, common_1.useStreamingServer)();\n var sectionsContainerRef = (0, react_1.useRef)(null);\n var generalSectionRef = (0, react_1.useRef)(null);\n var playerSectionRef = (0, react_1.useRef)(null);\n var streamingServerSectionRef = (0, react_1.useRef)(null);\n var shortcutsSectionRef = (0, react_1.useRef)(null);\n var sections = (0, react_1.useMemo)(function () { return ([\n { ref: generalSectionRef, id: constants_1.SECTIONS.GENERAL },\n { ref: playerSectionRef, id: constants_1.SECTIONS.PLAYER },\n { ref: streamingServerSectionRef, id: constants_1.SECTIONS.STREAMING },\n { ref: shortcutsSectionRef, id: constants_1.SECTIONS.SHORTCUTS },\n ]); }, []);\n var _a = (0, react_1.useState)(constants_1.SECTIONS.GENERAL), selectedSectionId = _a[0], setSelectedSectionId = _a[1];\n var updateSelectedSectionId = (0, react_1.useCallback)(function () {\n var container = sectionsContainerRef.current;\n if (container.scrollTop + container.clientHeight >= container.scrollHeight - 50) {\n setSelectedSectionId(sections[sections.length - 1].id);\n }\n else {\n for (var i = sections.length - 1; i >= 0; i--) {\n if (sections[i].ref.current.offsetTop - container.offsetTop <= container.scrollTop) {\n setSelectedSectionId(sections[i].id);\n break;\n }\n }\n }\n }, []);\n var onMenuSelect = (0, react_1.useCallback)(function (event) {\n var section = sections.find(function (section) {\n return section.id === event.currentTarget.dataset.section;\n });\n var container = sectionsContainerRef.current;\n section && container.scrollTo({\n top: section.ref.current.offsetTop - container.offsetTop,\n behavior: 'smooth'\n });\n }, []);\n var onContainerScroll = (0, react_1.useCallback)((0, lodash_throttle_1.default)(function () {\n updateSelectedSectionId();\n }, 50), []);\n (0, react_1.useLayoutEffect)(function () {\n if (routeFocused) {\n updateSelectedSectionId();\n }\n }, [routeFocused]);\n return (react_1.default.createElement(components_1.MainNavBars, { className: Settings_less_1.default['settings-container'], route: 'settings' },\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Settings_less_1.default['settings-content'], 'animation-fade-in') },\n react_1.default.createElement(Menu_1.default, { selected: selectedSectionId, streamingServer: streamingServer, onSelect: onMenuSelect }),\n react_1.default.createElement(\"div\", { ref: sectionsContainerRef, className: Settings_less_1.default['sections-container'], onScroll: onContainerScroll },\n react_1.default.createElement(General_1.default, { ref: generalSectionRef, profile: profile }),\n react_1.default.createElement(Player_1.default, { ref: playerSectionRef, profile: profile }),\n react_1.default.createElement(Streaming_1.default, { ref: streamingServerSectionRef, profile: profile, streamingServer: streamingServer }),\n react_1.default.createElement(Shortcuts_1.default, { ref: shortcutsSectionRef }),\n react_1.default.createElement(Info_1.default, { streamingServer: streamingServer })))));\n};\nvar SettingsFallback = function () { return (react_1.default.createElement(components_1.MainNavBars, { className: Settings_less_1.default['settings-container'], route: 'settings' })); };\nexports.default = (0, common_1.withCoreSuspender)(Settings, SettingsFallback);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar components_1 = require(\"../components\");\nvar Shortcuts_less_1 = __importDefault(require(\"./Shortcuts.less\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar Shortcuts = (0, react_1.forwardRef)(function (_, ref) {\n var t = (0, react_i18next_1.useTranslation)().t;\n return (react_1.default.createElement(components_1.Section, { ref: ref, label: 'SETTINGS_NAV_SHORTCUTS' },\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_PLAY_PAUSE' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, t('SETTINGS_SHORTCUT_SPACE')))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_SEEK_FORWARD' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"\\u2192\"),\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['label'] }, t('SETTINGS_SHORTCUT_OR')),\n react_1.default.createElement(\"kbd\", null,\n \"\\u21E7 \",\n t('SETTINGS_SHORTCUT_SHIFT')),\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['label'] }, \"+\"),\n react_1.default.createElement(\"kbd\", null, \"\\u2192\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_SEEK_BACKWARD' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"\\u2190\"),\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['label'] }, t('SETTINGS_SHORTCUT_OR')),\n react_1.default.createElement(\"kbd\", null,\n \"\\u21E7 \",\n t('SETTINGS_SHORTCUT_SHIFT')),\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['label'] }, \"+\"),\n react_1.default.createElement(\"kbd\", null, \"\\u2190\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_VOLUME_UP' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"\\u2191\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_VOLUME_DOWN' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"\\u2193\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_MENU_SUBTITLES' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"S\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_MENU_AUDIO' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"A\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_MENU_INFO' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"I\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_FULLSCREEN' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"F\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_SUBTITLES_SIZE' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"-\"),\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['label'] }, t('SETTINGS_SHORTCUT_AND')),\n react_1.default.createElement(\"kbd\", null, \"=\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_SUBTITLES_DELAY' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"G\"),\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['label'] }, t('SETTINGS_SHORTCUT_AND')),\n react_1.default.createElement(\"kbd\", null, \"H\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_NAVIGATE_MENUS' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"1\"),\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['label'] }, t('SETTINGS_SHORTCUT_TO')),\n react_1.default.createElement(\"kbd\", null, \"6\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_GO_TO_SEARCH' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, \"0\"))),\n react_1.default.createElement(components_1.Option, { label: 'SETTINGS_SHORTCUT_EXIT_BACK' },\n react_1.default.createElement(\"div\", { className: Shortcuts_less_1.default['shortcut-container'] },\n react_1.default.createElement(\"kbd\", null, t('SETTINGS_SHORTCUT_ESC'))))));\n});\nexports.default = Shortcuts;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Shortcuts_1 = __importDefault(require(\"./Shortcuts\"));\nexports.default = Shortcuts_1.default;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar components_1 = require(\"stremio/components\");\nvar common_1 = require(\"stremio/common\");\nvar components_2 = require(\"../components\");\nvar URLsManager_1 = __importDefault(require(\"./URLsManager\"));\nvar useStreamingOptions_1 = __importDefault(require(\"./useStreamingOptions\"));\nvar Streaming_less_1 = __importDefault(require(\"./Streaming.less\"));\nvar Streaming = (0, react_1.forwardRef)(function (_a, ref) {\n var profile = _a.profile, streamingServer = _a.streamingServer;\n var t = (0, react_i18next_1.useTranslation)().t;\n var toast = (0, common_1.useToast)();\n var _b = (0, useStreamingOptions_1.default)(streamingServer), streamingServerRemoteUrlInput = _b.streamingServerRemoteUrlInput, remoteEndpointSelect = _b.remoteEndpointSelect, cacheSizeSelect = _b.cacheSizeSelect, torrentProfileSelect = _b.torrentProfileSelect, transcodingProfileSelect = _b.transcodingProfileSelect;\n var onCopyRemoteUrl = (0, react_1.useCallback)(function () {\n if (streamingServer.remoteUrl) {\n navigator.clipboard.writeText(streamingServer.remoteUrl);\n toast.show({\n type: 'success',\n title: t('SETTINGS_REMOTE_URL_COPIED'),\n timeout: 2500,\n });\n }\n }, [streamingServer.remoteUrl]);\n return (react_1.default.createElement(components_2.Section, { ref: ref, label: 'SETTINGS_NAV_STREAMING' },\n react_1.default.createElement(URLsManager_1.default, null),\n streamingServerRemoteUrlInput.value !== null &&\n react_1.default.createElement(components_2.Option, { className: Streaming_less_1.default['configure-input-container'], label: 'SETTINGS_REMOTE_URL' },\n react_1.default.createElement(\"div\", { className: Streaming_less_1.default['label'], title: streamingServerRemoteUrlInput.value }, streamingServerRemoteUrlInput.value),\n react_1.default.createElement(components_1.Button, { className: Streaming_less_1.default['configure-button-container'], title: t('SETTINGS_COPY_REMOTE_URL'), onClick: onCopyRemoteUrl },\n react_1.default.createElement(react_2.default, { className: Streaming_less_1.default['icon'], name: 'link' }))),\n profile.auth !== null && profile.auth.user !== null && remoteEndpointSelect !== null &&\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_HTTPS_ENDPOINT' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, remoteEndpointSelect))),\n cacheSizeSelect !== null &&\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SERVER_CACHE_SIZE' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, cacheSizeSelect))),\n torrentProfileSelect !== null &&\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_SERVER_TORRENT_PROFILE' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, torrentProfileSelect))),\n transcodingProfileSelect !== null &&\n react_1.default.createElement(components_2.Option, { label: 'SETTINGS_TRANSCODE_PROFILE' },\n react_1.default.createElement(components_1.MultiselectMenu, __assign({ className: 'multiselect' }, transcodingProfileSelect)))));\n});\nexports.default = Streaming;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar components_1 = require(\"stremio/components\");\nvar AddItem_less_1 = __importDefault(require(\"./AddItem.less\"));\nvar AddItem = function (_a) {\n var onCancel = _a.onCancel, handleAddUrl = _a.handleAddUrl;\n var _b = (0, react_1.useState)(''), inputValue = _b[0], setInputValue = _b[1];\n var handleValueChange = (0, react_1.useCallback)(function (_a) {\n var target = _a.target;\n setInputValue(target.value);\n }, []);\n var onSumbit = (0, react_1.useCallback)(function () {\n handleAddUrl(inputValue);\n }, [inputValue]);\n return (react_1.default.createElement(\"div\", { className: AddItem_less_1.default['add-item'] },\n react_1.default.createElement(components_1.TextInput, { className: AddItem_less_1.default['input'], value: inputValue, onChange: handleValueChange, onSubmit: onSumbit, placeholder: 'Enter URL' }),\n react_1.default.createElement(\"div\", { className: AddItem_less_1.default['actions'] },\n react_1.default.createElement(components_1.Button, { className: AddItem_less_1.default['add'], onClick: onSumbit },\n react_1.default.createElement(react_2.default, { name: 'checkmark', className: AddItem_less_1.default['icon'] })),\n react_1.default.createElement(components_1.Button, { className: AddItem_less_1.default['cancel'], onClick: onCancel },\n react_1.default.createElement(react_2.default, { name: 'close', className: AddItem_less_1.default['icon'] })))));\n};\nexports.default = AddItem;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AddItem_1 = __importDefault(require(\"./AddItem\"));\nexports.default = AddItem_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar common_1 = require(\"stremio/common\");\nvar CONSTANTS_1 = require(\"stremio/common/CONSTANTS\");\nvar react_i18next_1 = require(\"react-i18next\");\nvar components_1 = require(\"stremio/components\");\nvar useStreamingServer_1 = __importDefault(require(\"stremio/common/useStreamingServer\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar Item_less_1 = __importDefault(require(\"./Item.less\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar useStreamingServerUrls_1 = __importDefault(require(\"../useStreamingServerUrls\"));\nvar Item = function (_a) {\n var _b, _c;\n var _d, _e;\n var url = _a.url;\n var t = (0, react_i18next_1.useTranslation)().t;\n var profile = (0, common_1.useProfile)();\n var streamingServer = (0, useStreamingServer_1.default)();\n var _f = (0, useStreamingServerUrls_1.default)(), deleteServerUrl = _f.deleteServerUrl, selectServerUrl = _f.selectServerUrl;\n var selected = (0, react_1.useMemo)(function () { return profile.settings.streamingServerUrl === url; }, [url, profile.settings]);\n var defaultUrl = (0, react_1.useMemo)(function () { return url === CONSTANTS_1.DEFAULT_STREAMING_SERVER_URL; }, [url]);\n var handleDelete = (0, react_1.useCallback)(function () {\n deleteServerUrl(url);\n selected && selectServerUrl(CONSTANTS_1.DEFAULT_STREAMING_SERVER_URL);\n }, [url, selected]);\n var handleSelect = (0, react_1.useCallback)(function () {\n selectServerUrl(url);\n }, [url]);\n return (react_1.default.createElement(\"div\", { className: Item_less_1.default['item'] },\n react_1.default.createElement(\"div\", { className: Item_less_1.default['content'] },\n react_1.default.createElement(components_1.RadioButton, { className: Item_less_1.default['selectable'], selected: selected, onChange: handleSelect, disabled: selected }),\n react_1.default.createElement(\"div\", { className: Item_less_1.default['label'] }, url)),\n react_1.default.createElement(\"div\", { className: Item_less_1.default['actions'] },\n selected ?\n react_1.default.createElement(\"div\", { className: Item_less_1.default['status'] },\n react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(Item_less_1.default['icon'], (_b = {}, _b[Item_less_1.default['ready']] = ((_d = streamingServer.settings) === null || _d === void 0 ? void 0 : _d.type) === 'Ready', _b), (_c = {}, _c[Item_less_1.default['error']] = ((_e = streamingServer.settings) === null || _e === void 0 ? void 0 : _e.type) === 'Err', _c)) }),\n react_1.default.createElement(\"div\", { className: Item_less_1.default['label'] }, streamingServer.settings === null ?\n 'NotLoaded'\n :\n streamingServer.settings.type === 'Ready' ?\n t('SETTINGS_SERVER_STATUS_ONLINE')\n :\n streamingServer.settings.type === 'Err' ?\n t('SETTINGS_SERVER_STATUS_ERROR')\n :\n streamingServer.settings.type))\n : null,\n !defaultUrl ?\n react_1.default.createElement(components_1.Button, { className: Item_less_1.default['delete'], onClick: handleDelete },\n react_1.default.createElement(react_2.default, { name: 'bin', className: Item_less_1.default['icon'] }))\n : null)));\n};\nexports.default = Item;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Item_1 = __importDefault(require(\"./Item\"));\nexports.default = Item_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar react_i18next_1 = require(\"react-i18next\");\nvar URLsManager_less_1 = __importDefault(require(\"./URLsManager.less\"));\nvar components_1 = require(\"stremio/components\");\nvar Item_1 = __importDefault(require(\"./Item\"));\nvar AddItem_1 = __importDefault(require(\"./AddItem\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar useStreamingServerUrls_1 = __importDefault(require(\"./useStreamingServerUrls\"));\nvar URLsManager = function () {\n var t = (0, react_i18next_1.useTranslation)().t;\n var _a = (0, react_1.useState)(false), addMode = _a[0], setAddMode = _a[1];\n var _b = (0, useStreamingServerUrls_1.default)(), streamingServerUrls = _b.streamingServerUrls, addServerUrl = _b.addServerUrl, reloadServer = _b.reloadServer;\n var onAdd = function () {\n setAddMode(true);\n };\n var onCancel = function () {\n setAddMode(false);\n };\n var handleAddUrl = (0, react_1.useCallback)(function (url) {\n addServerUrl(url);\n setAddMode(false);\n }, []);\n return (react_1.default.createElement(\"div\", { className: URLsManager_less_1.default['wrapper'] },\n react_1.default.createElement(\"div\", { className: URLsManager_less_1.default['header'] },\n react_1.default.createElement(\"div\", { className: URLsManager_less_1.default['label'] }, t('URL')),\n react_1.default.createElement(\"div\", { className: URLsManager_less_1.default['label'] }, t('STATUS'))),\n react_1.default.createElement(\"div\", { className: URLsManager_less_1.default['content'] },\n streamingServerUrls.map(function (item) { return (react_1.default.createElement(Item_1.default, __assign({ key: item.url }, item))); }),\n addMode ?\n react_1.default.createElement(AddItem_1.default, { onCancel: onCancel, handleAddUrl: handleAddUrl })\n : null),\n react_1.default.createElement(\"div\", { className: URLsManager_less_1.default['footer'] },\n react_1.default.createElement(components_1.Button, { title: t('SETTINGS_SERVER_ADD_URL'), className: URLsManager_less_1.default['add-url'], onClick: onAdd },\n react_1.default.createElement(react_2.default, { name: 'add', className: URLsManager_less_1.default['icon'] }),\n t('SETTINGS_SERVER_ADD_URL')),\n react_1.default.createElement(components_1.Button, { className: URLsManager_less_1.default['reload'], title: t('RELOAD'), onClick: reloadServer },\n react_1.default.createElement(react_2.default, { name: 'reset', className: URLsManager_less_1.default['icon'] }),\n react_1.default.createElement(\"div\", { className: URLsManager_less_1.default['label'] }, t('RELOAD'))))));\n};\nexports.default = URLsManager;\n","\"use strict\";\n// Copyright (C) 2017-2024 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar URLsManager_1 = __importDefault(require(\"./URLsManager\"));\nexports.default = URLsManager_1.default;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Streaming_1 = __importDefault(require(\"./Streaming\"));\nexports.default = Streaming_1.default;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar react_i18next_1 = require(\"react-i18next\");\nvar lodash_isequal_1 = __importDefault(require(\"lodash.isequal\"));\nvar services_1 = require(\"stremio/services\");\nvar CACHE_SIZES = [0, 2147483648, 5368709120, 10737418240, null];\nvar cacheSizeToString = function (size) {\n return size === null ?\n 'Infinite'\n :\n size === 0 ?\n 'No caching'\n :\n \"\".concat(Math.ceil(((size / 1024 / 1024 / 1024) + Number.EPSILON) * 100) / 100, \"GiB\");\n};\nvar TORRENT_PROFILES = {\n default: {\n btDownloadSpeedHardLimit: 3670016,\n btDownloadSpeedSoftLimit: 2621440,\n btHandshakeTimeout: 20000,\n btMaxConnections: 55,\n btMinPeersForStable: 5,\n btRequestTimeout: 4000\n },\n soft: {\n btDownloadSpeedHardLimit: 1677721.6,\n btDownloadSpeedSoftLimit: 1677721.6,\n btHandshakeTimeout: 20000,\n btMaxConnections: 35,\n btMinPeersForStable: 5,\n btRequestTimeout: 4000\n },\n fast: {\n btDownloadSpeedHardLimit: 39321600,\n btDownloadSpeedSoftLimit: 4194304,\n btHandshakeTimeout: 20000,\n btMaxConnections: 200,\n btMinPeersForStable: 10,\n btRequestTimeout: 4000\n },\n 'ultra fast': {\n btDownloadSpeedHardLimit: 78643200,\n btDownloadSpeedSoftLimit: 8388608,\n btHandshakeTimeout: 25000,\n btMaxConnections: 400,\n btMinPeersForStable: 10,\n btRequestTimeout: 6000\n }\n};\nvar useStreamingOptions = function (streamingServer) {\n var core = (0, services_1.useServices)().core;\n var t = (0, react_i18next_1.useTranslation)().t;\n // TODO combine those useMemo in one\n var settings = (0, react_1.useMemo)(function () {\n var _a;\n return (((_a = streamingServer === null || streamingServer === void 0 ? void 0 : streamingServer.settings) === null || _a === void 0 ? void 0 : _a.type) === 'Ready' ?\n streamingServer.settings.content : null);\n }, [streamingServer.settings]);\n var networkInfo = (0, react_1.useMemo)(function () {\n var _a;\n return (((_a = streamingServer === null || streamingServer === void 0 ? void 0 : streamingServer.networkInfo) === null || _a === void 0 ? void 0 : _a.type) === 'Ready' ?\n streamingServer.networkInfo.content : null);\n }, [streamingServer.networkInfo]);\n var deviceInfo = (0, react_1.useMemo)(function () {\n var _a;\n return (((_a = streamingServer === null || streamingServer === void 0 ? void 0 : streamingServer.deviceInfo) === null || _a === void 0 ? void 0 : _a.type) === 'Ready' ?\n streamingServer.deviceInfo.content : null);\n }, [streamingServer.deviceInfo]);\n var streamingServerRemoteUrlInput = (0, react_1.useMemo)(function () { return ({\n value: streamingServer.remoteUrl,\n }); }, [streamingServer.remoteUrl]);\n var remoteEndpointSelect = (0, react_1.useMemo)(function () {\n if (!settings || !networkInfo) {\n return null;\n }\n return {\n options: __spreadArray([\n {\n label: t('SETTINGS_DISABLED'),\n value: '',\n }\n ], networkInfo.availableInterfaces.map(function (address) { return ({\n label: address,\n value: address,\n }); }), true),\n value: settings.remoteHttps,\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, settings), { remoteHttps: value })\n }\n });\n }\n };\n }, [settings, networkInfo]);\n var cacheSizeSelect = (0, react_1.useMemo)(function () {\n if (!settings) {\n return null;\n }\n return {\n options: CACHE_SIZES.map(function (size) { return ({\n label: cacheSizeToString(size),\n value: JSON.stringify(size)\n }); }),\n value: JSON.stringify(settings.cacheSize),\n title: function () {\n return cacheSizeToString(settings.cacheSize);\n },\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, settings), { cacheSize: JSON.parse(value) })\n }\n });\n }\n };\n }, [settings]);\n var torrentProfileSelect = (0, react_1.useMemo)(function () {\n if (!settings) {\n return null;\n }\n var selectedTorrentProfile = {\n btDownloadSpeedHardLimit: settings.btDownloadSpeedHardLimit,\n btDownloadSpeedSoftLimit: settings.btDownloadSpeedSoftLimit,\n btHandshakeTimeout: settings.btHandshakeTimeout,\n btMaxConnections: settings.btMaxConnections,\n btMinPeersForStable: settings.btMinPeersForStable,\n btRequestTimeout: settings.btRequestTimeout\n };\n var isCustomTorrentProfileSelected = Object.values(TORRENT_PROFILES).every(function (torrentProfile) {\n return !(0, lodash_isequal_1.default)(torrentProfile, selectedTorrentProfile);\n });\n return {\n options: Object.keys(TORRENT_PROFILES)\n .map(function (profileName) { return ({\n label: t('TORRENT_PROFILE_' + profileName.replace(' ', '_').toUpperCase()),\n value: JSON.stringify(TORRENT_PROFILES[profileName])\n }); })\n .concat(isCustomTorrentProfileSelected ?\n [{\n label: 'custom',\n value: JSON.stringify(selectedTorrentProfile)\n }]\n :\n []),\n value: JSON.stringify(selectedTorrentProfile),\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, settings), JSON.parse(value))\n }\n });\n }\n };\n }, [settings]);\n var transcodingProfileSelect = (0, react_1.useMemo)(function () {\n if (!settings || !deviceInfo) {\n return null;\n }\n return {\n options: __spreadArray([\n {\n label: t('SETTINGS_DISABLED'),\n value: null,\n }\n ], deviceInfo.availableHardwareAccelerations.map(function (name) { return ({\n label: name,\n value: name,\n }); }), true),\n value: settings.transcodeProfile,\n onSelect: function (value) {\n core.transport.dispatch({\n action: 'StreamingServer',\n args: {\n action: 'UpdateSettings',\n args: __assign(__assign({}, settings), { transcodeProfile: value })\n }\n });\n }\n };\n }, [settings, deviceInfo]);\n return {\n streamingServerRemoteUrlInput: streamingServerRemoteUrlInput,\n remoteEndpointSelect: remoteEndpointSelect,\n cacheSizeSelect: cacheSizeSelect,\n torrentProfileSelect: torrentProfileSelect,\n transcodingProfileSelect: transcodingProfileSelect,\n };\n};\nexports.default = useStreamingOptions;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar i18next_1 = require(\"i18next\");\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar Category_less_1 = __importDefault(require(\"./Category.less\"));\nvar Category = function (_a) {\n var icon = _a.icon, label = _a.label, children = _a.children;\n return (react_1.default.createElement(\"div\", { className: Category_less_1.default['category'] },\n react_1.default.createElement(\"div\", { className: Category_less_1.default['heading'] },\n react_1.default.createElement(react_2.default, { className: Category_less_1.default['icon'], name: icon }),\n react_1.default.createElement(\"div\", { className: Category_less_1.default['label'] }, (0, i18next_1.t)(label))),\n children));\n};\nexports.default = Category;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Category_1 = __importDefault(require(\"./Category\"));\nexports.default = Category_1.default;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar components_1 = require(\"stremio/components\");\nvar Link_less_1 = __importDefault(require(\"./Link.less\"));\nvar Link = function (_a) {\n var label = _a.label, href = _a.href, target = _a.target, onClick = _a.onClick;\n return (react_1.default.createElement(components_1.Button, { className: Link_less_1.default['link'], title: label, target: target !== null && target !== void 0 ? target : '_blank', href: href, onClick: onClick },\n react_1.default.createElement(\"div\", { className: Link_less_1.default['label'] }, label)));\n};\nexports.default = Link;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Link_1 = __importDefault(require(\"./Link\"));\nexports.default = Link_1.default;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar i18next_1 = require(\"i18next\");\nvar Option_less_1 = __importDefault(require(\"./Option.less\"));\nvar react_2 = __importDefault(require(\"@stremio/stremio-icons/react\"));\nvar Option = function (_a) {\n var className = _a.className, icon = _a.icon, label = _a.label, children = _a.children;\n return (react_1.default.createElement(\"div\", { className: (0, classnames_1.default)(className, Option_less_1.default['option']) },\n react_1.default.createElement(\"div\", { className: Option_less_1.default['heading'] },\n icon &&\n react_1.default.createElement(react_2.default, { className: Option_less_1.default['icon'], name: icon }),\n react_1.default.createElement(\"div\", { className: Option_less_1.default['label'] }, (0, i18next_1.t)(label))),\n react_1.default.createElement(\"div\", { className: Option_less_1.default['content'] }, children)));\n};\nexports.default = Option;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Option_1 = __importDefault(require(\"./Option\"));\nexports.default = Option_1.default;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar i18next_1 = require(\"i18next\");\nvar Section_less_1 = __importDefault(require(\"./Section.less\"));\nvar Section = (0, react_1.forwardRef)(function (_a, ref) {\n var className = _a.className, label = _a.label, children = _a.children;\n return (react_1.default.createElement(\"div\", { ref: ref, className: (0, classnames_1.default)(className, Section_less_1.default['section']) },\n label &&\n react_1.default.createElement(\"div\", { className: Section_less_1.default['label'] }, (0, i18next_1.t)(label)),\n children));\n});\nexports.default = Section;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Section_1 = __importDefault(require(\"./Section\"));\nexports.default = Section_1.default;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Section = exports.Option = exports.Link = exports.Category = void 0;\nvar Category_1 = __importDefault(require(\"./Category\"));\nexports.Category = Category_1.default;\nvar Link_1 = __importDefault(require(\"./Link\"));\nexports.Link = Link_1.default;\nvar Option_1 = __importDefault(require(\"./Option\"));\nexports.Option = Option_1.default;\nvar Section_1 = __importDefault(require(\"./Section\"));\nexports.Section = Section_1.default;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SECTIONS = void 0;\nvar SECTIONS = {\n GENERAL: 'general',\n PLAYER: 'player',\n STREAMING: 'streaming',\n SHORTCUTS: 'shortcuts',\n};\nexports.SECTIONS = SECTIONS;\n","\"use strict\";\n// Copyright (C) 2017-2023 Smart code 203358507\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Settings_1 = __importDefault(require(\"./Settings\"));\nexports.default = Settings_1.default;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","/*\n * Copyright Joyent, Inc. and other Node contributors.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to permit\n * persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included\n * in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n * USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n'use strict';\n\nvar punycode = require('punycode/');\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n/*\n * define these here so at least they only have to be\n * compiled once on the first module load.\n */\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^?\\s]*)(\\?[^\\s]*)?$/,\n\n /*\n * RFC 2396: characters reserved for delimiting URLs.\n * We actually just auto-escape these.\n */\n delims = [\n '<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'\n ],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = [\n '{', '}', '|', '\\\\', '^', '`'\n ].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n /*\n * Characters that are never ever allowed in a hostname.\n * Note that any invalid chars are also handled, but these\n * are the ones that are *expected* to be seen, so we fast-path\n * them.\n */\n nonHostChars = [\n '%', '/', '?', ';', '#'\n ].concat(autoEscape),\n hostEndingChars = [\n '/', '?', '#'\n ],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n http: true,\n https: true,\n ftp: true,\n gopher: true,\n file: true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('qs');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && typeof url === 'object' && url instanceof Url) { return url; }\n\n var u = new Url();\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function (url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== 'string') {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n /*\n * Copy chrome, IE, opera backslash-handling behavior.\n * Back slashes before the query string get converted to forward slashes\n * See: https://code.google.com/p/chromium/issues/detail?id=25916\n */\n var queryIndex = url.indexOf('?'),\n splitter = queryIndex !== -1 && queryIndex < url.indexOf('#') ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n /*\n * trim before proceeding.\n * This is to support parse stuff like \" http://foo.com \\n\"\n */\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n /*\n * figure out if it's got a host\n * user@server is *always* interpreted as a hostname, and url\n * resolution will treat //foo/bar as host=foo,path=bar because that's\n * how the browser resolves relative URLs.\n */\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] && (slashes || (proto && !slashedProtocol[proto]))) {\n\n /*\n * there's a hostname.\n * the first instance of /, ?, ;, or # ends the host.\n *\n * If there is an @ in the hostname, then non-host chars *are* allowed\n * to the left of the last @ sign, unless some host-ending character\n * comes *before* the @-sign.\n * URLs are obnoxious.\n *\n * ex:\n * http://a@b@c/ => user:a@b host:c\n * http://a@b?@c => user:a host:c path:/?@c\n */\n\n /*\n * v0.12 TODO(isaacs): This is not quite how Chrome does things.\n * Review our test case against browsers more comprehensively.\n */\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n\n /*\n * at this point, either we have an explicit point where the\n * auth portion cannot go past, or the last @ char is the decider.\n */\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n /*\n * atSign must be in auth portion.\n * http://a@b/c@d => host:b auth:a path:/c@d\n */\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n /*\n * Now we have a portion which is definitely the auth.\n * Pull that off.\n */\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1) { hostEnd = rest.length; }\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n /*\n * we've indicated that there is a hostname,\n * so even if it's empty, it has to be present.\n */\n this.hostname = this.hostname || '';\n\n /*\n * if hostname begins with [ and ends with ]\n * assume that it's an IPv6 address.\n */\n var ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) { continue; }\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n /*\n * we replace non-ASCII char with a temporary placeholder\n * we need this to make sure size of hostname is not\n * broken by replacing non-ASCII by nothing\n */\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n /*\n * IDNA Support: Returns a punycoded representation of \"domain\".\n * It only converts parts of the domain name that\n * have non-ASCII characters, i.e. it doesn't matter if\n * you call it with a domain that already is ASCII-only.\n */\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n /*\n * strip [ and ] from the hostname\n * the host field still retains them, though\n */\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n /*\n * now rest is set to the post-host stuff.\n * chop off any delim chars.\n */\n if (!unsafeProtocol[lowerProto]) {\n\n /*\n * First, make 100% sure that any \"autoEscape\" chars get\n * escaped, even if encodeURIComponent doesn't think they\n * need to be.\n */\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1) { continue; }\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) { this.pathname = rest; }\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n // to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n /*\n * ensure it's an object, and not a string url.\n * If it's an obj, this is a no-op.\n * this way, you can call url_format() on strings\n * to clean up potentially wonky urls.\n */\n if (typeof obj === 'string') { obj = urlParse(obj); }\n if (!(obj instanceof Url)) { return Url.prototype.format.call(obj); }\n return obj.format();\n}\n\nUrl.prototype.format = function () {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ? this.hostname : '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query && typeof this.query === 'object' && Object.keys(this.query).length) {\n query = querystring.stringify(this.query, {\n arrayFormat: 'repeat',\n addQueryPrefix: false\n });\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') { protocol += ':'; }\n\n /*\n * only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n * unless they had them to begin with.\n */\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') { pathname = '/' + pathname; }\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') { hash = '#' + hash; }\n if (search && search.charAt(0) !== '?') { search = '?' + search; }\n\n pathname = pathname.replace(/[?#]/g, function (match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function (relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) { return relative; }\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function (relative) {\n if (typeof relative === 'string') {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n /*\n * hash is always overridden, no matter what.\n * even href=\"\" will remove it.\n */\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol') { result[rkey] = relative[rkey]; }\n }\n\n // urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) {\n result.pathname = '/';\n result.path = result.pathname;\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n /*\n * if it's a known url protocol, then changing\n * the protocol does weird things\n * first, if it's not file:, then we MUST have a host,\n * and if there was a path\n * to begin with, then we MUST have a path.\n * if it is file:, then the host is dropped,\n * because that's known to be hostless.\n * anything else is assumed to be absolute.\n */\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift())) { }\n if (!relative.host) { relative.host = ''; }\n if (!relative.hostname) { relative.hostname = ''; }\n if (relPath[0] !== '') { relPath.unshift(''); }\n if (relPath.length < 2) { relPath.unshift(''); }\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === '/',\n isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === '/',\n mustEndAbs = isRelAbs || isSourceAbs || (result.host && relative.pathname),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n /*\n * if the url is a non-slashed url, then relative\n * links like ../.. should be able\n * to crawl up to the hostname, as well. This is strange.\n * result.protocol has already been set by now.\n * Later on, put the first path part into the host field.\n */\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') { srcPath[0] = result.host; } else { srcPath.unshift(result.host); }\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') { relPath[0] = relative.host; } else { relPath.unshift(relative.host); }\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = relative.host || relative.host === '' ? relative.host : result.host;\n result.hostname = relative.hostname || relative.hostname === '' ? relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n /*\n * it's relative\n * throw away the existing file, and take the new path instead.\n */\n if (!srcPath) { srcPath = []; }\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (relative.search != null) {\n /*\n * just pull out the search.\n * like href='?foo'.\n * Put this after the other two cases because it simplifies the booleans\n */\n if (psychotic) {\n result.host = srcPath.shift();\n result.hostname = result.host;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n // to support http.request\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n /*\n * no path at all. easy.\n * we've already handled the other stuff above.\n */\n result.pathname = null;\n // to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n /*\n * if a url ENDs in . or .., then it must get a trailing slash.\n * however, if it ends in anything else non-slashy,\n * then it must NOT get a trailing slash.\n */\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === '.' || last === '..') || last === '';\n\n /*\n * strip single dots, resolve double dots to parent dir\n * if the path tries to go above the root, `up` ends up > 0\n */\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' && (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' || (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = isAbsolute ? '' : srcPath.length ? srcPath.shift() : '';\n result.host = result.hostname;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (srcPath.length > 0) {\n result.pathname = srcPath.join('/');\n } else {\n result.pathname = null;\n result.path = null;\n }\n\n // to support request.http\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function () {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) { this.hostname = host; }\n};\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n","\"use strict\";Object.defineProperty(exports,Symbol.toStringTag,{value:\"Module\"});const n=require(\"react\");var c=(e=>(e.Mouse=\"mouse\",e.Touch=\"touch\",e.Pointer=\"pointer\",e))(c||{}),a=(e=>(e.CancelledByMovement=\"cancelled-by-movement\",e.CancelledByRelease=\"cancelled-by-release\",e.CancelledOutsideElement=\"cancelled-outside-element\",e))(a||{});const U=[\"mousedown\",\"mousemove\",\"mouseup\",\"mouseleave\",\"mouseout\"],q=[\"touchstart\",\"touchmove\",\"touchend\",\"touchcancel\"],v=[\"pointerdown\",\"pointermove\",\"pointerup\",\"pointerleave\",\"pointerout\"];function H(e){return typeof e==\"object\"&&e!==null&&\"pageX\"in e&&typeof e.pageX==\"number\"&&\"pageY\"in e&&typeof e.pageY==\"number\"}function I(e){var t;return U.includes((t=e==null?void 0:e.nativeEvent)==null?void 0:t.type)}function X(e){var t;return q.includes((t=e==null?void 0:e.nativeEvent)==null?void 0:t.type)||\"touches\"in e}function k(e){const{nativeEvent:t}=e;return t?v.includes(t==null?void 0:t.type)||\"pointerId\"in t:!1}function C(e){return I(e)||X(e)||k(e)}function D(e){var i;const t=X(e)?(i=e==null?void 0:e.touches)==null?void 0:i[0]:e;return H(t)?{x:t.pageX,y:t.pageY}:null}function z(e){return{target:e.target,currentTarget:e.currentTarget,nativeEvent:e,persist:()=>{}}}function G(e,{threshold:t=400,captureEvent:i=!1,detect:M=c.Pointer,cancelOnMovement:p=!1,cancelOutsideElement:h=!0,filterEvents:T,onStart:m,onMove:g,onFinish:y,onCancel:w}={}){const L=n.useRef(!1),f=n.useRef(!1),Y=n.useRef(),l=n.useRef(),R=n.useRef(e),d=n.useRef(null),E=n.useCallback(r=>u=>{f.current||C(u)&&(T!==void 0&&!T(u)||(i&&u.persist(),m==null||m(u,{context:r}),d.current=D(u),f.current=!0,Y.current=u.currentTarget,l.current=setTimeout(()=>{R.current&&(R.current(u,{context:r}),L.current=!0)},t)))},[i,T,m,t]),o=n.useCallback(r=>(u,s)=>{C(u)&&f.current&&(d.current=null,i&&u.persist(),L.current?y==null||y(u,{context:r}):f.current&&(w==null||w(u,{context:r,reason:s??a.CancelledByRelease})),L.current=!1,f.current=!1,l.current!==void 0&&clearTimeout(l.current))},[i,y,w]),P=n.useCallback(r=>u=>{if(C(u)&&(g==null||g(u,{context:r}),p!==!1&&d.current)){const s=D(u);if(s){const b=p===!0?25:p,B={x:Math.abs(s.x-d.current.x),y:Math.abs(s.y-d.current.y)};(B.x>b||B.y>b)&&o(r)(u,a.CancelledByMovement)}}},[o,p,g]),A=n.useCallback(r=>{if(e===null)return{};switch(M){case c.Mouse:{const u={onMouseDown:E(r),onMouseMove:P(r),onMouseUp:o(r)};return h&&(u.onMouseLeave=s=>{o(r)(s,a.CancelledOutsideElement)}),u}case c.Touch:return{onTouchStart:E(r),onTouchMove:P(r),onTouchEnd:o(r)};case c.Pointer:{const u={onPointerDown:E(r),onPointerMove:P(r),onPointerUp:o(r)};return h&&(u.onPointerLeave=s=>o(r)(s,a.CancelledOutsideElement)),u}}},[e,o,h,M,P,E]);return n.useEffect(()=>{function r(u){const s=z(u);o()(s)}return window.addEventListener(\"mouseup\",r),window.addEventListener(\"touchend\",r),window.addEventListener(\"pointerup\",r),()=>{window.removeEventListener(\"mouseup\",r),window.removeEventListener(\"touchend\",r),window.removeEventListener(\"pointerup\",r)}},[o]),n.useEffect(()=>()=>{l.current!==void 0&&clearTimeout(l.current)},[]),n.useEffect(()=>{R.current=e},[e]),A}exports.LongPressCallbackReason=a;exports.LongPressEventType=c;exports.useLongPress=G;\n","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Default exports for Node. Export the extended versions of VTTCue and\n// VTTRegion in Node since we likely want the capability to convert back and\n// forth between JSON. If we don't then it's not that big of a deal since we're\n// off browser.\nmodule.exports = {\n WebVTT: require(\"./vtt.js\").WebVTT,\n VTTCue: require(\"./vttcue-extended.js\").VTTCue,\n VTTRegion: require(\"./vttregion-extended.js\").VTTRegion\n};\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */\n/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */\n\n(function(global) {\n function makeColorSet(color, opacity) {\n if(opacity === undefined) {\n opacity = 1;\n }\n return \"rgba(\" + [parseInt(color.substring(0, 2), 16),\n parseInt(color.substring(2, 4), 16),\n parseInt(color.substring(4, 6), 16),\n opacity].join(\",\") + \")\";\n }\n\n var WebVTTPrefs = ['webvtt.font.color', 'webvtt.font.opacity', 'webvtt.font.scale',\n 'webvtt.bg.color', 'webvtt.bg.opacity',\n 'webvtt.edge.color', 'webvtt.edge.type'];\n\n var fontScale = 1;\n\n function observe(subject, topic, data) {\n switch (data) {\n case \"webvtt.font.color\":\n case \"webvtt.font.opacity\":\n var fontColor = Services.prefs.getCharPref(\"webvtt.font.color\");\n var fontOpacity = Services.prefs.getIntPref(\"webvtt.font.opacity\") / 100;\n WebVTTSet.fontSet = makeColorSet(fontColor, fontOpacity);\n break;\n case \"webvtt.font.scale\":\n fontScale = Services.prefs.getIntPref(\"webvtt.font.scale\") / 100;\n break;\n case \"webvtt.bg.color\":\n case \"webvtt.bg.opacity\":\n var backgroundColor = Services.prefs.getCharPref(\"webvtt.bg.color\");\n var backgroundOpacity = Services.prefs.getIntPref(\"webvtt.bg.opacity\") / 100;\n WebVTTSet.backgroundSet = makeColorSet(backgroundColor, backgroundOpacity);\n break;\n case \"webvtt.edge.color\":\n case \"webvtt.edge.type\":\n var edgeTypeList = [\"\", \"0px 0px \", \"4px 4px 4px \", \"-2px -2px \", \"2px 2px \"];\n var edgeType = Services.prefs.getIntPref(\"webvtt.edge.type\");\n var edgeColor = Services.prefs.getCharPref(\"webvtt.edge.color\");\n WebVTTSet.edgeSet = edgeTypeList[edgeType] + makeColorSet(edgeColor);\n break;\n }\n }\n\n if(typeof Services !== \"undefined\") {\n var WebVTTSet = {};\n WebVTTPrefs.forEach(function (pref) {\n observe(undefined, undefined, pref);\n Services.prefs.addObserver(pref, observe, false);\n });\n }\n\n var _objCreate = Object.create || (function() {\n function F() {}\n return function(o) {\n if (arguments.length !== 1) {\n throw new Error('Object.create shim only accepts one parameter.');\n }\n F.prototype = o;\n return new F();\n };\n })();\n\n // Creates a new ParserError object from an errorData object. The errorData\n // object should have default code and message properties. The default message\n // property can be overriden by passing in a message parameter.\n // See ParsingError.Errors below for acceptable errors.\n function ParsingError(errorData, message) {\n this.name = \"ParsingError\";\n this.code = errorData.code;\n this.message = message || errorData.message;\n }\n ParsingError.prototype = _objCreate(Error.prototype);\n ParsingError.prototype.constructor = ParsingError;\n\n // ParsingError metadata for acceptable ParsingErrors.\n ParsingError.Errors = {\n BadSignature: {\n code: 0,\n message: \"Malformed WebVTT signature.\"\n },\n BadTimeStamp: {\n code: 1,\n message: \"Malformed time stamp.\"\n }\n };\n\n // Try to parse input as a time stamp.\n function parseTimeStamp(input) {\n\n function computeSeconds(h, m, s, f) {\n return (h | 0) * 3600 + (m | 0) * 60 + (s | 0) + (f | 0) / 1000;\n }\n\n var m = input.match(/^(\\d+):(\\d{2})(:\\d{2})?\\.(\\d{3})/);\n if (!m) {\n return null;\n }\n\n if (m[3]) {\n // Timestamp takes the form of [hours]:[minutes]:[seconds].[milliseconds]\n return computeSeconds(m[1], m[2], m[3].replace(\":\", \"\"), m[4]);\n } else if (m[1] > 59) {\n // Timestamp takes the form of [hours]:[minutes].[milliseconds]\n // First position is hours as it's over 59.\n return computeSeconds(m[1], m[2], 0, m[4]);\n } else {\n // Timestamp takes the form of [minutes]:[seconds].[milliseconds]\n return computeSeconds(0, m[1], m[2], m[4]);\n }\n }\n\n // A settings object holds key/value pairs and will ignore anything but the first\n // assignment to a specific key.\n function Settings() {\n this.values = _objCreate(null);\n }\n\n Settings.prototype = {\n // Only accept the first assignment to any key.\n set: function(k, v) {\n if (!this.get(k) && v !== \"\") {\n this.values[k] = v;\n }\n },\n // Return the value for a key, or a default value.\n // If 'defaultKey' is passed then 'dflt' is assumed to be an object with\n // a number of possible default values as properties where 'defaultKey' is\n // the key of the property that will be chosen; otherwise it's assumed to be\n // a single value.\n get: function(k, dflt, defaultKey) {\n if (defaultKey) {\n return this.has(k) ? this.values[k] : dflt[defaultKey];\n }\n return this.has(k) ? this.values[k] : dflt;\n },\n // Check whether we have a value for a key.\n has: function(k) {\n return k in this.values;\n },\n // Accept a setting if its one of the given alternatives.\n alt: function(k, v, a) {\n for (var n = 0; n < a.length; ++n) {\n if (v === a[n]) {\n this.set(k, v);\n break;\n }\n }\n },\n // Accept a setting if its a valid (signed) integer.\n integer: function(k, v) {\n if (/^-?\\d+$/.test(v)) { // integer\n this.set(k, parseInt(v, 10));\n }\n },\n // Accept a setting if its a valid percentage.\n percent: function(k, v) {\n var m;\n if ((m = v.match(/^([\\d]{1,3})(\\.[\\d]*)?%$/))) {\n v = parseFloat(v);\n if (v >= 0 && v <= 100) {\n this.set(k, v);\n return true;\n }\n }\n return false;\n }\n };\n\n // Helper function to parse input into groups separated by 'groupDelim', and\n // interprete each group as a key/value pair separated by 'keyValueDelim'.\n function parseOptions(input, callback, keyValueDelim, groupDelim) {\n var groups = groupDelim ? input.split(groupDelim) : [input];\n for (var i in groups) {\n if (typeof groups[i] !== \"string\") {\n continue;\n }\n var kv = groups[i].split(keyValueDelim);\n if (kv.length !== 2) {\n continue;\n }\n var k = kv[0];\n var v = kv[1];\n callback(k, v);\n }\n }\n\n function parseCue(input, cue, regionList, successCb, errCb) {\n // Remember the original input if we need to throw an error.\n var oInput = input;\n // 4.1 WebVTT timestamp\n function consumeTimeStamp() {\n var ts = parseTimeStamp(input);\n if (ts === null) {\n if (errCb) {\n errCb(new ParsingError(ParsingError.Errors.BadTimeStamp,\n \"Malformed timestamp: \" + oInput));\n return;\n }\n }\n // Remove time stamp from input.\n input = input.replace(/^[^\\sa-zA-Z-]+/, \"\");\n return ts;\n }\n\n // 4.4.2 WebVTT cue settings\n function consumeCueSettings(input, cue) {\n var settings = new Settings();\n\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"region\":\n // Find the last region we parsed with the same region id.\n for (var i = regionList.length - 1; i >= 0; i--) {\n if (regionList[i].id === v) {\n settings.set(k, regionList[i].region);\n break;\n }\n }\n break;\n case \"vertical\":\n settings.alt(k, v, [\"rl\", \"lr\"]);\n break;\n case \"line\":\n var vals = v.split(\",\"),\n vals0 = vals[0];\n settings.integer(k, vals0);\n settings.percent(k, vals0) ? settings.set(\"snapToLines\", false) : null;\n settings.alt(k, vals0, [\"auto\"]);\n if (vals.length === 2) {\n settings.alt(\"lineAlign\", vals[1], [\"start\", \"middle\", \"end\"]);\n }\n break;\n case \"position\":\n vals = v.split(\",\");\n settings.percent(k, vals[0]);\n if (vals.length === 2) {\n settings.alt(\"positionAlign\", vals[1], [\"start\", \"middle\", \"end\"]);\n }\n break;\n case \"size\":\n settings.percent(k, v);\n break;\n case \"align\":\n settings.alt(k, v, [\"start\", \"middle\", \"end\", \"left\", \"right\"]);\n break;\n }\n }, /:/, /\\s/);\n\n // Apply default values for any missing fields.\n cue.region = settings.get(\"region\", null);\n cue.vertical = settings.get(\"vertical\", \"\");\n cue.line = settings.get(\"line\", \"auto\");\n cue.lineAlign = settings.get(\"lineAlign\", \"start\");\n cue.snapToLines = settings.get(\"snapToLines\", true);\n cue.size = settings.get(\"size\", 100);\n cue.align = settings.get(\"align\", \"center\");\n cue.position = settings.get(\"position\", \"auto\");\n cue.positionAlign = settings.get(\"positionAlign\", {\n start: \"start\",\n left: \"start\",\n middle: \"middle\",\n end: \"end\",\n right: \"end\",\n center: \"center\"\n }, cue.align);\n\n successCb();\n }\n\n function skipWhitespace() {\n input = input.replace(/^\\s+/, \"\");\n }\n\n // 4.1 WebVTT cue timings.\n skipWhitespace();\n\n var timestamp = consumeTimeStamp()\n if (timestamp === undefined) return\n cue.startTime = timestamp; // (1) collect cue start time\n skipWhitespace();\n if (input.substr(0, 3) !== \"-->\") {\n // (3) next characters must match \"-->\"\n errCb(new ParsingError(ParsingError.Errors.BadTimeStamp,\n \"Malformed time stamp (time stamps must be separated by '-->'): \" +\n oInput));\n return;\n }\n input = input.substr(3);\n skipWhitespace();\n var timestamp = consumeTimeStamp()\n if (timestamp === undefined) return\n cue.endTime = timestamp; // (5) collect cue end time\n\n // 4.1 WebVTT cue settings list.\n skipWhitespace();\n consumeCueSettings(input, cue);\n }\n\n var ESCAPE = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n \"‎\": \"\\u200e\",\n \"‏\": \"\\u200f\",\n \" \": \"\\u00a0\"\n };\n\n var TAG_NAME = {\n c: \"span\",\n i: \"i\",\n b: \"b\",\n u: \"u\",\n ruby: \"ruby\",\n rt: \"rt\",\n v: \"span\",\n lang: \"span\"\n };\n\n var TAG_ANNOTATION = {\n v: \"title\",\n lang: \"lang\"\n };\n\n var NEEDS_PARENT = {\n rt: \"ruby\"\n };\n\n // Parse content into a document fragment.\n function parseContent(window, input) {\n function nextToken() {\n // Check for end-of-string.\n if (!input) {\n return null;\n }\n\n // Consume 'n' characters from the input.\n function consume(result) {\n input = input.substr(result.length);\n return result;\n }\n\n var m = input.match(/^([^<]*)(<[^>]+>?)?/);\n // If there is some text before the next tag, return it, otherwise return\n // the tag.\n return consume(m[1] ? m[1] : m[2]);\n }\n\n // Unescape a string 's'.\n function unescape1(e) {\n return ESCAPE[e];\n }\n function unescape(s) {\n while ((m = s.match(/&(amp|lt|gt|lrm|rlm|nbsp);/))) {\n s = s.replace(m[0], unescape1);\n }\n return s;\n }\n\n function shouldAdd(current, element) {\n return !NEEDS_PARENT[element.localName] ||\n NEEDS_PARENT[element.localName] === current.localName;\n }\n\n // Create an element for this tag.\n function createElement(type, annotation) {\n var tagName = TAG_NAME[type];\n if (!tagName) {\n return null;\n }\n var element = window.document.createElement(tagName);\n element.localName = tagName;\n var name = TAG_ANNOTATION[type];\n if (name && annotation) {\n element[name] = annotation.trim();\n }\n return element;\n }\n\n var rootDiv = window.document.createElement(\"div\"),\n current = rootDiv,\n t,\n tagStack = [];\n\n while ((t = nextToken()) !== null) {\n if (t[0] === '<') {\n if (t[1] === \"/\") {\n // If the closing tag matches, move back up to the parent node.\n if (tagStack.length &&\n tagStack[tagStack.length - 1] === t.substr(2).replace(\">\", \"\")) {\n tagStack.pop();\n current = current.parentNode;\n }\n // Otherwise just ignore the end tag.\n continue;\n }\n var ts = parseTimeStamp(t.substr(1, t.length - 2));\n var node;\n if (ts) {\n // Timestamps are lead nodes as well.\n node = window.document.createProcessingInstruction(\"timestamp\", ts);\n current.appendChild(node);\n continue;\n }\n var m = t.match(/^<([^.\\s/0-9>]+)(\\.[^\\s\\\\>]+)?([^>\\\\]+)?(\\\\?)>?$/);\n // If we can't parse the tag, skip to the next tag.\n if (!m) {\n continue;\n }\n // Try to construct an element, and ignore the tag if we couldn't.\n node = createElement(m[1], m[3]);\n if (!node) {\n continue;\n }\n // Determine if the tag should be added based on the context of where it\n // is placed in the cuetext.\n if (!shouldAdd(current, node)) {\n continue;\n }\n // Set the class list (as a list of classes, separated by space).\n if (m[2]) {\n node.className = m[2].substr(1).replace('.', ' ');\n }\n // Append the node to the current node, and enter the scope of the new\n // node.\n tagStack.push(m[1]);\n current.appendChild(node);\n current = node;\n continue;\n }\n\n // Text nodes are leaf nodes.\n current.appendChild(window.document.createTextNode(unescape(t)));\n }\n\n return rootDiv;\n }\n\n // This is a list of all the Unicode characters that have a strong\n // right-to-left category. What this means is that these characters are\n // written right-to-left for sure. It was generated by pulling all the strong\n // right-to-left characters out of the Unicode data table. That table can\n // found at: http://www.unicode.org/Public/UNIDATA/UnicodeData.txt\n var strongRTLRanges = [[0x5be, 0x5be], [0x5c0, 0x5c0], [0x5c3, 0x5c3], [0x5c6, 0x5c6],\n [0x5d0, 0x5ea], [0x5f0, 0x5f4], [0x608, 0x608], [0x60b, 0x60b], [0x60d, 0x60d],\n [0x61b, 0x61b], [0x61e, 0x64a], [0x66d, 0x66f], [0x671, 0x6d5], [0x6e5, 0x6e6],\n [0x6ee, 0x6ef], [0x6fa, 0x70d], [0x70f, 0x710], [0x712, 0x72f], [0x74d, 0x7a5],\n [0x7b1, 0x7b1], [0x7c0, 0x7ea], [0x7f4, 0x7f5], [0x7fa, 0x7fa], [0x800, 0x815],\n [0x81a, 0x81a], [0x824, 0x824], [0x828, 0x828], [0x830, 0x83e], [0x840, 0x858],\n [0x85e, 0x85e], [0x8a0, 0x8a0], [0x8a2, 0x8ac], [0x200f, 0x200f],\n [0xfb1d, 0xfb1d], [0xfb1f, 0xfb28], [0xfb2a, 0xfb36], [0xfb38, 0xfb3c],\n [0xfb3e, 0xfb3e], [0xfb40, 0xfb41], [0xfb43, 0xfb44], [0xfb46, 0xfbc1],\n [0xfbd3, 0xfd3d], [0xfd50, 0xfd8f], [0xfd92, 0xfdc7], [0xfdf0, 0xfdfc],\n [0xfe70, 0xfe74], [0xfe76, 0xfefc], [0x10800, 0x10805], [0x10808, 0x10808],\n [0x1080a, 0x10835], [0x10837, 0x10838], [0x1083c, 0x1083c], [0x1083f, 0x10855],\n [0x10857, 0x1085f], [0x10900, 0x1091b], [0x10920, 0x10939], [0x1093f, 0x1093f],\n [0x10980, 0x109b7], [0x109be, 0x109bf], [0x10a00, 0x10a00], [0x10a10, 0x10a13],\n [0x10a15, 0x10a17], [0x10a19, 0x10a33], [0x10a40, 0x10a47], [0x10a50, 0x10a58],\n [0x10a60, 0x10a7f], [0x10b00, 0x10b35], [0x10b40, 0x10b55], [0x10b58, 0x10b72],\n [0x10b78, 0x10b7f], [0x10c00, 0x10c48], [0x1ee00, 0x1ee03], [0x1ee05, 0x1ee1f],\n [0x1ee21, 0x1ee22], [0x1ee24, 0x1ee24], [0x1ee27, 0x1ee27], [0x1ee29, 0x1ee32],\n [0x1ee34, 0x1ee37], [0x1ee39, 0x1ee39], [0x1ee3b, 0x1ee3b], [0x1ee42, 0x1ee42],\n [0x1ee47, 0x1ee47], [0x1ee49, 0x1ee49], [0x1ee4b, 0x1ee4b], [0x1ee4d, 0x1ee4f],\n [0x1ee51, 0x1ee52], [0x1ee54, 0x1ee54], [0x1ee57, 0x1ee57], [0x1ee59, 0x1ee59],\n [0x1ee5b, 0x1ee5b], [0x1ee5d, 0x1ee5d], [0x1ee5f, 0x1ee5f], [0x1ee61, 0x1ee62],\n [0x1ee64, 0x1ee64], [0x1ee67, 0x1ee6a], [0x1ee6c, 0x1ee72], [0x1ee74, 0x1ee77],\n [0x1ee79, 0x1ee7c], [0x1ee7e, 0x1ee7e], [0x1ee80, 0x1ee89], [0x1ee8b, 0x1ee9b],\n [0x1eea1, 0x1eea3], [0x1eea5, 0x1eea9], [0x1eeab, 0x1eebb], [0x10fffd, 0x10fffd]];\n\n function isStrongRTLChar(charCode) {\n for (var i = 0; i < strongRTLRanges.length; i++) {\n var currentRange = strongRTLRanges[i];\n if (charCode >= currentRange[0] && charCode <= currentRange[1]) {\n return true;\n }\n }\n\n return false;\n }\n\n function determineBidi(cueDiv) {\n var nodeStack = [],\n text = \"\",\n charCode;\n\n if (!cueDiv || !cueDiv.childNodes) {\n return \"ltr\";\n }\n\n function pushNodes(nodeStack, node) {\n for (var i = node.childNodes.length - 1; i >= 0; i--) {\n nodeStack.push(node.childNodes[i]);\n }\n }\n\n function nextTextNode(nodeStack) {\n if (!nodeStack || !nodeStack.length) {\n return null;\n }\n\n var node = nodeStack.pop(),\n text = node.textContent || node.innerText;\n if (text) {\n // TODO: This should match all unicode type B characters (paragraph\n // separator characters). See issue #115.\n var m = text.match(/^.*(\\n|\\r)/);\n if (m) {\n nodeStack.length = 0;\n return m[0];\n }\n return text;\n }\n if (node.tagName === \"ruby\") {\n return nextTextNode(nodeStack);\n }\n if (node.childNodes) {\n pushNodes(nodeStack, node);\n return nextTextNode(nodeStack);\n }\n }\n\n pushNodes(nodeStack, cueDiv);\n while ((text = nextTextNode(nodeStack))) {\n for (var i = 0; i < text.length; i++) {\n charCode = text.charCodeAt(i);\n if (isStrongRTLChar(charCode)) {\n return \"rtl\";\n }\n }\n }\n return \"ltr\";\n }\n\n function computeLinePos(cue) {\n if (typeof cue.line === \"number\" &&\n (cue.snapToLines || (cue.line >= 0 && cue.line <= 100))) {\n return cue.line;\n }\n if (!cue.track || !cue.track.textTrackList ||\n !cue.track.textTrackList.mediaElement) {\n return -1;\n }\n var track = cue.track,\n trackList = track.textTrackList,\n count = 0;\n for (var i = 0; i < trackList.length && trackList[i] !== track; i++) {\n if (trackList[i].mode === \"showing\") {\n count++;\n }\n }\n return ++count * -1;\n }\n\n function StyleBox() {\n }\n\n // Apply styles to a div. If there is no div passed then it defaults to the\n // div on 'this'.\n StyleBox.prototype.applyStyles = function(styles, div) {\n div = div || this.div;\n for (var prop in styles) {\n if (styles.hasOwnProperty(prop)) {\n div.style[prop] = styles[prop];\n }\n }\n };\n\n StyleBox.prototype.formatStyle = function(val, unit) {\n return val === 0 ? 0 : val + unit;\n };\n\n // Constructs the computed display state of the cue (a div). Places the div\n // into the overlay which should be a block level element (usually a div).\n function CueStyleBox(window, cue, styleOptions) {\n var isIE8 = (typeof navigator !== \"undefined\") &&\n (/MSIE\\s8\\.0/).test(navigator.userAgent);\n var color = \"rgba(255, 255, 255, 1)\";\n var backgroundColor = \"rgba(0, 0, 0, 0.8)\";\n var textShadow = \"\";\n\n if(typeof WebVTTSet !== \"undefined\") {\n color = WebVTTSet.fontSet;\n backgroundColor = WebVTTSet.backgroundSet;\n textShadow = WebVTTSet.edgeSet;\n }\n\n if (isIE8) {\n color = \"rgb(255, 255, 255)\";\n backgroundColor = \"rgb(0, 0, 0)\";\n }\n\n StyleBox.call(this);\n this.cue = cue;\n\n // Parse our cue's text into a DOM tree rooted at 'cueDiv'. This div will\n // have inline positioning and will function as the cue background box.\n this.cueDiv = parseContent(window, cue.text);\n var styles = {\n color: color,\n backgroundColor: backgroundColor,\n textShadow: textShadow,\n position: \"relative\",\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n display: \"inline\"\n };\n\n if (!isIE8) {\n styles.writingMode = cue.vertical === \"\" ? \"horizontal-tb\"\n : cue.vertical === \"lr\" ? \"vertical-lr\"\n : \"vertical-rl\";\n styles.unicodeBidi = \"plaintext\";\n }\n this.applyStyles(styles, this.cueDiv);\n\n // Create an absolutely positioned div that will be used to position the cue\n // div. Note, all WebVTT cue-setting alignments are equivalent to the CSS\n // mirrors of them except \"middle\" which is \"center\" in CSS.\n this.div = window.document.createElement(\"div\");\n styles = {\n textAlign: cue.align === \"middle\" ? \"center\" : cue.align,\n font: styleOptions.font,\n whiteSpace: \"pre-line\",\n position: \"absolute\"\n };\n\n if (!isIE8) {\n styles.direction = determineBidi(this.cueDiv);\n styles.writingMode = cue.vertical === \"\" ? \"horizontal-tb\"\n : cue.vertical === \"lr\" ? \"vertical-lr\"\n : \"vertical-rl\".\n stylesunicodeBidi = \"plaintext\";\n }\n\n this.applyStyles(styles);\n\n this.div.appendChild(this.cueDiv);\n\n // Calculate the distance from the reference edge of the viewport to the text\n // position of the cue box. The reference edge will be resolved later when\n // the box orientation styles are applied.\n var textPos = 0;\n switch (cue.positionAlign) {\n case \"start\":\n textPos = cue.position;\n break;\n case \"middle\":\n textPos = cue.position - (cue.size / 2);\n break;\n case \"end\":\n textPos = cue.position - cue.size;\n break;\n }\n\n // Horizontal box orientation; textPos is the distance from the left edge of the\n // area to the left edge of the box and cue.size is the distance extending to\n // the right from there.\n if (cue.vertical === \"\") {\n this.applyStyles({\n left: this.formatStyle(textPos, \"%\"),\n width: this.formatStyle(cue.size, \"%\")\n });\n // Vertical box orientation; textPos is the distance from the top edge of the\n // area to the top edge of the box and cue.size is the height extending\n // downwards from there.\n } else {\n this.applyStyles({\n top: this.formatStyle(textPos, \"%\"),\n height: this.formatStyle(cue.size, \"%\")\n });\n }\n\n this.move = function(box) {\n this.applyStyles({\n top: this.formatStyle(box.top, \"px\"),\n bottom: this.formatStyle(box.bottom, \"px\"),\n left: this.formatStyle(box.left, \"px\"),\n right: this.formatStyle(box.right, \"px\"),\n height: this.formatStyle(box.height, \"px\"),\n width: this.formatStyle(box.width, \"px\")\n });\n };\n }\n CueStyleBox.prototype = _objCreate(StyleBox.prototype);\n CueStyleBox.prototype.constructor = CueStyleBox;\n\n // Represents the co-ordinates of an Element in a way that we can easily\n // compute things with such as if it overlaps or intersects with another Element.\n // Can initialize it with either a StyleBox or another BoxPosition.\n function BoxPosition(obj) {\n var isIE8 = (typeof navigator !== \"undefined\") &&\n (/MSIE\\s8\\.0/).test(navigator.userAgent);\n\n // Either a BoxPosition was passed in and we need to copy it, or a StyleBox\n // was passed in and we need to copy the results of 'getBoundingClientRect'\n // as the object returned is readonly. All co-ordinate values are in reference\n // to the viewport origin (top left).\n var lh, height, width, top;\n if (obj.div) {\n height = obj.div.offsetHeight;\n width = obj.div.offsetWidth;\n top = obj.div.offsetTop;\n\n var rects = (rects = obj.div.childNodes) && (rects = rects[0]) &&\n rects.getClientRects && rects.getClientRects();\n obj = obj.div.getBoundingClientRect();\n // In certain cases the outter div will be slightly larger then the sum of\n // the inner div's lines. This could be due to bold text, etc, on some platforms.\n // In this case we should get the average line height and use that. This will\n // result in the desired behaviour.\n lh = rects ? Math.max((rects[0] && rects[0].height) || 0, obj.height / rects.length)\n : 0;\n\n }\n this.left = obj.left;\n this.right = obj.right;\n this.top = obj.top || top;\n this.height = obj.height || height;\n this.bottom = obj.bottom || (top + (obj.height || height));\n this.width = obj.width || width;\n this.lineHeight = lh !== undefined ? lh : obj.lineHeight;\n\n if (isIE8 && !this.lineHeight) {\n this.lineHeight = 13;\n }\n }\n\n // Move the box along a particular axis. Optionally pass in an amount to move\n // the box. If no amount is passed then the default is the line height of the\n // box.\n BoxPosition.prototype.move = function(axis, toMove) {\n toMove = toMove !== undefined ? toMove : this.lineHeight;\n switch (axis) {\n case \"+x\":\n this.left += toMove;\n this.right += toMove;\n break;\n case \"-x\":\n this.left -= toMove;\n this.right -= toMove;\n break;\n case \"+y\":\n this.top += toMove;\n this.bottom += toMove;\n break;\n case \"-y\":\n this.top -= toMove;\n this.bottom -= toMove;\n break;\n }\n };\n\n // Check if this box overlaps another box, b2.\n BoxPosition.prototype.overlaps = function(b2) {\n return this.left < b2.right &&\n this.right > b2.left &&\n this.top < b2.bottom &&\n this.bottom > b2.top;\n };\n\n // Check if this box overlaps any other boxes in boxes.\n BoxPosition.prototype.overlapsAny = function(boxes) {\n for (var i = 0; i < boxes.length; i++) {\n if (this.overlaps(boxes[i])) {\n return true;\n }\n }\n return false;\n };\n\n // Check if this box is within another box.\n BoxPosition.prototype.within = function(container) {\n return this.top >= container.top &&\n this.bottom <= container.bottom &&\n this.left >= container.left &&\n this.right <= container.right;\n };\n\n // Check if this box is entirely within the container or it is overlapping\n // on the edge opposite of the axis direction passed. For example, if \"+x\" is\n // passed and the box is overlapping on the left edge of the container, then\n // return true.\n BoxPosition.prototype.overlapsOppositeAxis = function(container, axis) {\n switch (axis) {\n case \"+x\":\n return this.left < container.left;\n case \"-x\":\n return this.right > container.right;\n case \"+y\":\n return this.top < container.top;\n case \"-y\":\n return this.bottom > container.bottom;\n }\n };\n\n // Find the percentage of the area that this box is overlapping with another\n // box.\n BoxPosition.prototype.intersectPercentage = function(b2) {\n var x = Math.max(0, Math.min(this.right, b2.right) - Math.max(this.left, b2.left)),\n y = Math.max(0, Math.min(this.bottom, b2.bottom) - Math.max(this.top, b2.top)),\n intersectArea = x * y;\n return intersectArea / (this.height * this.width);\n };\n\n // Convert the positions from this box to CSS compatible positions using\n // the reference container's positions. This has to be done because this\n // box's positions are in reference to the viewport origin, whereas, CSS\n // values are in referecne to their respective edges.\n BoxPosition.prototype.toCSSCompatValues = function(reference) {\n return {\n top: this.top - reference.top,\n bottom: reference.bottom - this.bottom,\n left: this.left - reference.left,\n right: reference.right - this.right,\n height: this.height,\n width: this.width\n };\n };\n\n // Get an object that represents the box's position without anything extra.\n // Can pass a StyleBox, HTMLElement, or another BoxPositon.\n BoxPosition.getSimpleBoxPosition = function(obj) {\n var height = obj.div ? obj.div.offsetHeight : obj.tagName ? obj.offsetHeight : 0;\n var width = obj.div ? obj.div.offsetWidth : obj.tagName ? obj.offsetWidth : 0;\n var top = obj.div ? obj.div.offsetTop : obj.tagName ? obj.offsetTop : 0;\n\n obj = obj.div ? obj.div.getBoundingClientRect() :\n obj.tagName ? obj.getBoundingClientRect() : obj;\n var ret = {\n left: obj.left,\n right: obj.right,\n top: obj.top || top,\n height: obj.height || height,\n bottom: obj.bottom || (top + (obj.height || height)),\n width: obj.width || width\n };\n return ret;\n };\n\n // Move a StyleBox to its specified, or next best, position. The containerBox\n // is the box that contains the StyleBox, such as a div. boxPositions are\n // a list of other boxes that the styleBox can't overlap with.\n function moveBoxToLinePosition(window, styleBox, containerBox, boxPositions) {\n\n // Find the best position for a cue box, b, on the video. The axis parameter\n // is a list of axis, the order of which, it will move the box along. For example:\n // Passing [\"+x\", \"-x\"] will move the box first along the x axis in the positive\n // direction. If it doesn't find a good position for it there it will then move\n // it along the x axis in the negative direction.\n function findBestPosition(b, axis) {\n var bestPosition,\n specifiedPosition = new BoxPosition(b),\n percentage = 1; // Highest possible so the first thing we get is better.\n\n for (var i = 0; i < axis.length; i++) {\n while (b.overlapsOppositeAxis(containerBox, axis[i]) ||\n (b.within(containerBox) && b.overlapsAny(boxPositions))) {\n b.move(axis[i]);\n }\n // We found a spot where we aren't overlapping anything. This is our\n // best position.\n if (b.within(containerBox)) {\n return b;\n }\n var p = b.intersectPercentage(containerBox);\n // If we're outside the container box less then we were on our last try\n // then remember this position as the best position.\n if (percentage > p) {\n bestPosition = new BoxPosition(b);\n percentage = p;\n }\n // Reset the box position to the specified position.\n b = new BoxPosition(specifiedPosition);\n }\n return bestPosition || specifiedPosition;\n }\n\n var boxPosition = new BoxPosition(styleBox),\n cue = styleBox.cue,\n linePos = computeLinePos(cue),\n axis = [];\n\n // If we have a line number to align the cue to.\n if (cue.snapToLines) {\n var size;\n switch (cue.vertical) {\n case \"\":\n axis = [ \"+y\", \"-y\" ];\n size = \"height\";\n break;\n case \"rl\":\n axis = [ \"+x\", \"-x\" ];\n size = \"width\";\n break;\n case \"lr\":\n axis = [ \"-x\", \"+x\" ];\n size = \"width\";\n break;\n }\n\n var step = boxPosition.lineHeight,\n position = step * Math.round(linePos),\n maxPosition = containerBox[size] + step,\n initialAxis = axis[0];\n\n // If the specified intial position is greater then the max position then\n // clamp the box to the amount of steps it would take for the box to\n // reach the max position.\n if (Math.abs(position) > maxPosition) {\n position = position < 0 ? -1 : 1;\n position *= Math.ceil(maxPosition / step) * step;\n }\n\n // If computed line position returns negative then line numbers are\n // relative to the bottom of the video instead of the top. Therefore, we\n // need to increase our initial position by the length or width of the\n // video, depending on the writing direction, and reverse our axis directions.\n if (linePos < 0) {\n position += cue.vertical === \"\" ? containerBox.height : containerBox.width;\n axis = axis.reverse();\n }\n\n // Move the box to the specified position. This may not be its best\n // position.\n boxPosition.move(initialAxis, position);\n\n } else {\n // If we have a percentage line value for the cue.\n var calculatedPercentage = (boxPosition.lineHeight / containerBox.height) * 100;\n\n switch (cue.lineAlign) {\n case \"middle\":\n linePos -= (calculatedPercentage / 2);\n break;\n case \"end\":\n linePos -= calculatedPercentage;\n break;\n }\n\n // Apply initial line position to the cue box.\n switch (cue.vertical) {\n case \"\":\n styleBox.applyStyles({\n top: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n case \"rl\":\n styleBox.applyStyles({\n left: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n case \"lr\":\n styleBox.applyStyles({\n right: styleBox.formatStyle(linePos, \"%\")\n });\n break;\n }\n\n axis = [ \"+y\", \"-x\", \"+x\", \"-y\" ];\n\n // Get the box position again after we've applied the specified positioning\n // to it.\n boxPosition = new BoxPosition(styleBox);\n }\n\n var bestPosition = findBestPosition(boxPosition, axis);\n styleBox.move(bestPosition.toCSSCompatValues(containerBox));\n }\n\n function WebVTT() {\n // Nothing\n }\n\n // Helper to allow strings to be decoded instead of the default binary utf8 data.\n WebVTT.StringDecoder = function() {\n return {\n decode: function(data) {\n if (!data) {\n return \"\";\n }\n if (typeof data !== \"string\") {\n throw new Error(\"Error - expected string data.\");\n }\n return decodeURIComponent(encodeURIComponent(data));\n }\n };\n };\n\n WebVTT.convertCueToDOMTree = function(window, cuetext) {\n if (!window || !cuetext) {\n return null;\n }\n return parseContent(window, cuetext);\n };\n\n var FONT_SIZE_PERCENT = 0.05;\n var FONT_STYLE = \"sans-serif\";\n var CUE_BACKGROUND_PADDING = \"1.5%\";\n\n // Runs the processing model over the cues and regions passed to it.\n // @param overlay A block level element (usually a div) that the computed cues\n // and regions will be placed into.\n WebVTT.processCues = function(window, cues, overlay) {\n if (!window || !cues || !overlay) {\n return null;\n }\n\n // Remove all previous children.\n while (overlay.firstChild) {\n overlay.removeChild(overlay.firstChild);\n }\n\n var paddedOverlay = window.document.createElement(\"div\");\n paddedOverlay.style.position = \"absolute\";\n paddedOverlay.style.left = \"0\";\n paddedOverlay.style.right = \"0\";\n paddedOverlay.style.top = \"0\";\n paddedOverlay.style.bottom = \"0\";\n paddedOverlay.style.margin = CUE_BACKGROUND_PADDING;\n overlay.appendChild(paddedOverlay);\n\n // Determine if we need to compute the display states of the cues. This could\n // be the case if a cue's state has been changed since the last computation or\n // if it has not been computed yet.\n function shouldCompute(cues) {\n for (var i = 0; i < cues.length; i++) {\n if (cues[i].hasBeenReset || !cues[i].displayState) {\n return true;\n }\n }\n return false;\n }\n\n // We don't need to recompute the cues' display states. Just reuse them.\n if (!shouldCompute(cues)) {\n for (var i = 0; i < cues.length; i++) {\n paddedOverlay.appendChild(cues[i].displayState);\n }\n return;\n }\n\n var boxPositions = [],\n containerBox = BoxPosition.getSimpleBoxPosition(paddedOverlay),\n fontSize = Math.round(containerBox.height * FONT_SIZE_PERCENT * 100) / 100;\n var styleOptions = {\n font: (fontSize * fontScale) + \"px \" + FONT_STYLE\n };\n\n (function() {\n var styleBox, cue;\n\n for (var i = 0; i < cues.length; i++) {\n cue = cues[i];\n\n // Compute the intial position and styles of the cue div.\n styleBox = new CueStyleBox(window, cue, styleOptions);\n paddedOverlay.appendChild(styleBox.div);\n\n // Move the cue div to it's correct line position.\n moveBoxToLinePosition(window, styleBox, containerBox, boxPositions);\n\n // Remember the computed div so that we don't have to recompute it later\n // if we don't have too.\n cue.displayState = styleBox.div;\n\n boxPositions.push(BoxPosition.getSimpleBoxPosition(styleBox));\n }\n })();\n };\n\n WebVTT.Parser = function(window, decoder, VTTCue) {\n this.window = window;\n this.state = \"INITIAL\";\n this.buffer = \"\";\n this.decoder = decoder || new TextDecoder(\"utf8\");\n this.regionList = [];\n this.VTTCue = VTTCue\n };\n\n WebVTT.Parser.prototype = {\n // If the error is a ParsingError then report it to the consumer if\n // possible. If it's not a ParsingError then throw it like normal.\n reportOrThrowError: function(e) {\n if (e instanceof ParsingError) {\n this.onparsingerror && this.onparsingerror(e);\n } else {\n throw e;\n }\n },\n parse: function (data) {\n var self = this;\n\n // If there is no data then we won't decode it, but will just try to parse\n // whatever is in buffer already. This may occur in circumstances, for\n // example when flush() is called.\n if (data) {\n // Try to decode the data that we received.\n self.buffer += self.decoder.decode(data, {stream: true});\n }\n\n function collectNextLine() {\n var buffer = self.buffer;\n var pos = 0;\n while (pos < buffer.length && buffer[pos] !== '\\r' && buffer[pos] !== '\\n') {\n ++pos;\n }\n var line = buffer.substr(0, pos);\n // Advance the buffer early in case we fail below.\n if (buffer[pos] === '\\r') {\n ++pos;\n }\n if (buffer[pos] === '\\n') {\n ++pos;\n }\n self.buffer = buffer.substr(pos);\n return line;\n }\n\n // 3.4 WebVTT region and WebVTT region settings syntax\n function parseRegion(input) {\n var settings = new Settings();\n\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"id\":\n settings.set(k, v);\n break;\n case \"width\":\n settings.percent(k, v);\n break;\n case \"lines\":\n settings.integer(k, v);\n break;\n case \"regionanchor\":\n case \"viewportanchor\":\n var xy = v.split(',');\n if (xy.length !== 2) {\n break;\n }\n // We have to make sure both x and y parse, so use a temporary\n // settings object here.\n var anchor = new Settings();\n anchor.percent(\"x\", xy[0]);\n anchor.percent(\"y\", xy[1]);\n if (!anchor.has(\"x\") || !anchor.has(\"y\")) {\n break;\n }\n settings.set(k + \"X\", anchor.get(\"x\"));\n settings.set(k + \"Y\", anchor.get(\"y\"));\n break;\n case \"scroll\":\n settings.alt(k, v, [\"up\"]);\n break;\n }\n }, /=/, /\\s/);\n\n // Create the region, using default values for any values that were not\n // specified.\n if (settings.has(\"id\")) {\n var region = new self.window.VTTRegion();\n region.width = settings.get(\"width\", 100);\n region.lines = settings.get(\"lines\", 3);\n region.regionAnchorX = settings.get(\"regionanchorX\", 0);\n region.regionAnchorY = settings.get(\"regionanchorY\", 100);\n region.viewportAnchorX = settings.get(\"viewportanchorX\", 0);\n region.viewportAnchorY = settings.get(\"viewportanchorY\", 100);\n region.scroll = settings.get(\"scroll\", \"\");\n // Register the region.\n self.onregion && self.onregion(region);\n // Remember the VTTRegion for later in case we parse any VTTCues that\n // reference it.\n self.regionList.push({\n id: settings.get(\"id\"),\n region: region\n });\n }\n }\n\n // draft-pantos-http-live-streaming-20\n // https://tools.ietf.org/html/draft-pantos-http-live-streaming-20#section-3.5\n // 3.5 WebVTT\n function parseTimestampMap(input) {\n var settings = new Settings();\n\n parseOptions(input, function(k, v) {\n switch (k) {\n case \"MPEGT\":\n settings.integer(k + 'S', v);\n break;\n case \"LOCA\":\n settings.set(k + 'L', parseTimeStamp(v));\n break;\n }\n }, /[^\\d]:/, /,/);\n\n self.ontimestampmap && self.ontimestampmap({\n \"MPEGTS\": settings.get(\"MPEGTS\"),\n \"LOCAL\": settings.get(\"LOCAL\")\n });\n }\n\n // 3.2 WebVTT metadata header syntax\n function parseHeader(input) {\n if (input.match(/X-TIMESTAMP-MAP/)) {\n // This line contains HLS X-TIMESTAMP-MAP metadata\n parseOptions(input, function(k, v) {\n switch (k) {\n case \"X-TIMESTAMP-MAP\":\n parseTimestampMap(v);\n break;\n }\n }, /=/);\n } else {\n parseOptions(input, function (k, v) {\n switch (k) {\n case \"Region\":\n // 3.3 WebVTT region metadata header syntax\n parseRegion(v);\n break;\n }\n }, /:/);\n }\n }\n\n // 5.1 WebVTT file parsing.\n\n function fail(e) {\n\n self.reportOrThrowError(e);\n\n // If we are currently parsing a cue, report what we have.\n if (self.state === \"CUETEXT\" && self.cue && self.oncue) {\n self.oncue(self.cue);\n }\n self.cue = null;\n // Enter BADWEBVTT state if header was not parsed correctly otherwise\n // another exception occurred so enter BADCUE state.\n self.state = self.state === \"INITIAL\" ? \"BADWEBVTT\" : \"BADCUE\";\n\n }\n\n var line;\n\n if (self.state === \"INITIAL\") {\n // We can't start parsing until we have the first line.\n if (!/\\r\\n|\\n/.test(self.buffer)) {\n return this;\n }\n\n line = collectNextLine();\n\n var m = line.match(/^WEBVTT([ \\t].*)?$/);\n if (!m || !m[0]) {\n fail(new ParsingError(ParsingError.Errors.BadSignature))\n return\n }\n\n self.state = \"HEADER\";\n }\n\n var alreadyCollectedLine = false;\n\n var lineparse = function() {\n // We can't parse a line until we have the full line.\n if (!self.buffer || !/\\r\\n|\\n/.test(self.buffer)) {\n self.flush()\n return\n }\n\n if (!alreadyCollectedLine) {\n line = collectNextLine();\n } else {\n alreadyCollectedLine = false;\n }\n\n switch (self.state) {\n case \"HEADER\":\n // 13-18 - Allow a header (metadata) under the WEBVTT line.\n if (/:/.test(line)) {\n parseHeader(line);\n } else if (!line) {\n // An empty line terminates the header and starts the body (cues).\n self.state = \"ID\";\n }\n linebyline();\n break;\n case \"NOTE\":\n // Ignore NOTE blocks.\n if (!line) {\n self.state = \"ID\";\n }\n linebyline();\n break;\n case \"ID\":\n // Check for the start of NOTE blocks.\n if (/^NOTE($|[ \\t])/.test(line)) {\n self.state = \"NOTE\";\n linebyline();\n break;\n }\n // 19-29 - Allow any number of line terminators, then initialize new cue values.\n if (!line) {\n linebyline();\n break;\n }\n self.cue = new (self.VTTCue || self.window.VTTCue)(0, 0, \"\");\n self.state = \"CUE\";\n // 30-39 - Check if self line contains an optional identifier or timing data.\n if (line.indexOf(\"-->\") === -1) {\n self.cue.id = line;\n linebyline();\n break;\n }\n // Process line as start of a cue.\n /*falls through*/\n case \"CUE\":\n // 40 - Collect cue timings and settings.\n\n parseCue(line, self.cue, self.regionList, function successCb() {\n\n self.state = \"CUETEXT\";\n\n linebyline();\n\n }, function errCb(err) {\n\n self.reportOrThrowError(err);\n\n // In case of an error ignore rest of the cue.\n self.cue = null;\n self.state = \"BADCUE\";\n\n linebyline();\n\n });\n\n break;\n case \"CUETEXT\":\n var hasSubstring = line.indexOf(\"-->\") !== -1;\n // 34 - If we have an empty line then report the cue.\n // 35 - If we have the special substring '-->' then report the cue,\n // but do not collect the line as we need to process the current\n // one as a new cue.\n if (!line || hasSubstring && (alreadyCollectedLine = true)) {\n // We are done parsing self cue.\n self.oncue && self.oncue(self.cue);\n self.cue = null;\n self.state = \"ID\";\n linebyline();\n break;\n }\n if (self.cue.text) {\n self.cue.text += \"\\n\";\n }\n self.cue.text += line;\n linebyline();\n break;\n case \"BADCUE\":\n // BADCUE\n // 54-62 - Collect and discard the remaining cue.\n if (!line) {\n self.state = \"ID\";\n }\n linebyline();\n break;\n }\n };\n\n var STACK_LIMIT = 1000;\n\n var count = 0\n\n function unwrapStack(fn) {\n return function() {\n count++\n if (count < STACK_LIMIT) return fn()\n setTimeout(function() {\n count = 0\n fn()\n })\n }\n }\n\n var linebyline = unwrapStack(lineparse)\n\n linebyline();\n\n return this;\n },\n flush: function () {\n var self = this;\n try {\n // Finish decoding the stream.\n self.buffer += self.decoder.decode();\n // Synthesize the end of the current cue or region.\n if (self.cue || self.state === \"HEADER\") {\n self.buffer += \"\\n\\n\";\n self.parse();\n }\n // If we've flushed, parsed, and we're still on the INITIAL state then\n // that means we don't have enough of the stream to parse the first\n // line.\n if (self.state === \"INITIAL\") {\n throw new ParsingError(ParsingError.Errors.BadSignature);\n }\n } catch(e) {\n self.reportOrThrowError(e);\n }\n self.onflush && self.onflush();\n return this;\n }\n };\n\n global.WebVTT = WebVTT;\n\n}(this));\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// If we're in Node.js then require VTTCue so we can extend it, otherwise assume\n// VTTCue is on the global.\nif (typeof module !== \"undefined\" && module.exports) {\n this.VTTCue = this.VTTCue || require(\"./vttcue\").VTTCue;\n}\n\n// Extend VTTCue with methods to convert to JSON, from JSON, and construct a\n// VTTCue from an options object. The primary purpose of this is for use in the\n// vtt.js test suite (for testing only properties that we care about). It's also\n// useful if you need to work with VTTCues in JSON format.\n(function(root) {\n\n root.VTTCue.prototype.toJSON = function() {\n var cue = {},\n self = this;\n // Filter out getCueAsHTML as it's a function and hasBeenReset and displayState as\n // they're only used when running the processing model algorithm.\n Object.keys(this).forEach(function(key) {\n if (key !== \"getCueAsHTML\" && key !== \"hasBeenReset\" && key !== \"displayState\") {\n cue[key] = self[key];\n }\n });\n return cue;\n };\n\n root.VTTCue.create = function(options) {\n if (!options.hasOwnProperty(\"startTime\") || !options.hasOwnProperty(\"endTime\") ||\n !options.hasOwnProperty(\"text\")) {\n throw new Error(\"You must at least have start time, end time, and text.\");\n }\n var cue = new root.VTTCue(options.startTime, options.endTime, options.text);\n for (var key in options) {\n if (cue.hasOwnProperty(key)) {\n cue[key] = options[key];\n }\n }\n return cue;\n };\n\n root.VTTCue.fromJSON = function(json) {\n return this.create(JSON.parse(json));\n };\n\n}(this));\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root) {\n\n var autoKeyword = \"auto\";\n var directionSetting = {\n \"\": true,\n \"lr\": true,\n \"rl\": true\n };\n var alignSetting = {\n \"start\": true,\n \"middle\": true,\n \"end\": true,\n \"left\": true,\n \"right\": true\n };\n\n function findDirectionSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var dir = directionSetting[value.toLowerCase()];\n return dir ? value.toLowerCase() : false;\n }\n\n function findAlignSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var align = alignSetting[value.toLowerCase()];\n return align ? value.toLowerCase() : false;\n }\n\n function extend(obj) {\n var i = 1;\n for (; i < arguments.length; i++) {\n var cobj = arguments[i];\n for (var p in cobj) {\n obj[p] = cobj[p];\n }\n }\n\n return obj;\n }\n\n function VTTCue(startTime, endTime, text) {\n var cue = this;\n var isIE8 = (/MSIE\\s8\\.0/).test(navigator.userAgent);\n var baseObj = {};\n\n if (isIE8) {\n cue = document.createElement('custom');\n } else {\n baseObj.enumerable = true;\n }\n\n /**\n * Shim implementation specific properties. These properties are not in\n * the spec.\n */\n\n // Lets us know when the VTTCue's data has changed in such a way that we need\n // to recompute its display state. This lets us compute its display state\n // lazily.\n cue.hasBeenReset = false;\n\n /**\n * VTTCue and TextTrackCue properties\n * http://dev.w3.org/html5/webvtt/#vttcue-interface\n */\n\n var _id = \"\";\n var _pauseOnExit = false;\n var _startTime = startTime;\n var _endTime = endTime;\n var _text = text;\n var _region = null;\n var _vertical = \"\";\n var _snapToLines = true;\n var _line = \"auto\";\n var _lineAlign = \"start\";\n var _position = 50;\n var _positionAlign = \"middle\";\n var _size = 50;\n var _align = \"middle\";\n\n Object.defineProperty(cue,\n \"id\", extend({}, baseObj, {\n get: function() {\n return _id;\n },\n set: function(value) {\n _id = \"\" + value;\n }\n }));\n\n Object.defineProperty(cue,\n \"pauseOnExit\", extend({}, baseObj, {\n get: function() {\n return _pauseOnExit;\n },\n set: function(value) {\n _pauseOnExit = !!value;\n }\n }));\n\n Object.defineProperty(cue,\n \"startTime\", extend({}, baseObj, {\n get: function() {\n return _startTime;\n },\n set: function(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"Start time must be set to a number.\");\n }\n _startTime = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"endTime\", extend({}, baseObj, {\n get: function() {\n return _endTime;\n },\n set: function(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"End time must be set to a number.\");\n }\n _endTime = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"text\", extend({}, baseObj, {\n get: function() {\n return _text;\n },\n set: function(value) {\n _text = \"\" + value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"region\", extend({}, baseObj, {\n get: function() {\n return _region;\n },\n set: function(value) {\n _region = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"vertical\", extend({}, baseObj, {\n get: function() {\n return _vertical;\n },\n set: function(value) {\n var setting = findDirectionSetting(value);\n // Have to check for false because the setting an be an empty string.\n if (setting === false) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _vertical = setting;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"snapToLines\", extend({}, baseObj, {\n get: function() {\n return _snapToLines;\n },\n set: function(value) {\n _snapToLines = !!value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"line\", extend({}, baseObj, {\n get: function() {\n return _line;\n },\n set: function(value) {\n if (typeof value !== \"number\" && value !== autoKeyword) {\n throw new SyntaxError(\"An invalid number or illegal string was specified.\");\n }\n _line = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"lineAlign\", extend({}, baseObj, {\n get: function() {\n return _lineAlign;\n },\n set: function(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _lineAlign = setting;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"position\", extend({}, baseObj, {\n get: function() {\n return _position;\n },\n set: function(value) {\n if (value < 0 || value > 100) {\n throw new Error(\"Position must be between 0 and 100.\");\n }\n _position = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"positionAlign\", extend({}, baseObj, {\n get: function() {\n return _positionAlign;\n },\n set: function(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _positionAlign = setting;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"size\", extend({}, baseObj, {\n get: function() {\n return _size;\n },\n set: function(value) {\n if (value < 0 || value > 100) {\n throw new Error(\"Size must be between 0 and 100.\");\n }\n _size = value;\n this.hasBeenReset = true;\n }\n }));\n\n Object.defineProperty(cue,\n \"align\", extend({}, baseObj, {\n get: function() {\n return _align;\n },\n set: function(value) {\n var setting = findAlignSetting(value);\n if (!setting) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _align = setting;\n this.hasBeenReset = true;\n }\n }));\n\n /**\n * Other <track> spec defined properties\n */\n\n // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#text-track-cue-display-state\n cue.displayState = undefined;\n\n if (isIE8) {\n return cue;\n }\n }\n\n /**\n * VTTCue methods\n */\n\n VTTCue.prototype.getCueAsHTML = function() {\n // Assume WebVTT.convertCueToDOMTree is on the global.\n return WebVTT.convertCueToDOMTree(window, this.text);\n };\n\n root.VTTCue = root.VTTCue || VTTCue;\n}(this));\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// If we're in Node.js then require VTTRegion so we can extend it, otherwise assume\n// VTTRegion is on the global.\nif (typeof module !== \"undefined\" && module.exports) {\n this.VTTRegion = require(\"./vttregion\").VTTRegion;\n}\n\n// Extend VTTRegion with methods to convert to JSON, from JSON, and construct a\n// VTTRegion from an options object. The primary purpose of this is for use in the\n// vtt.js test suite. It's also useful if you need to work with VTTRegions in\n// JSON format.\n(function(root) {\n\n root.VTTRegion.create = function(options) {\n var region = new root.VTTRegion();\n for (var key in options) {\n if (region.hasOwnProperty(key)) {\n region[key] = options[key];\n }\n }\n return region;\n };\n\n root.VTTRegion.fromJSON = function(json) {\n return this.create(JSON.parse(json));\n };\n\n}(this));\n","/**\n * Copyright 2013 vtt.js Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root) {\n\n var scrollSetting = {\n \"\": true,\n \"up\": true\n };\n\n function findScrollSetting(value) {\n if (typeof value !== \"string\") {\n return false;\n }\n var scroll = scrollSetting[value.toLowerCase()];\n return scroll ? value.toLowerCase() : false;\n }\n\n function isValidPercentValue(value) {\n return typeof value === \"number\" && (value >= 0 && value <= 100);\n }\n\n // VTTRegion shim http://dev.w3.org/html5/webvtt/#vttregion-interface\n function VTTRegion() {\n var _width = 100;\n var _lines = 3;\n var _regionAnchorX = 0;\n var _regionAnchorY = 100;\n var _viewportAnchorX = 0;\n var _viewportAnchorY = 100;\n var _scroll = \"\";\n\n Object.defineProperties(this, {\n \"width\": {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"Width must be between 0 and 100.\");\n }\n _width = value;\n }\n },\n \"lines\": {\n enumerable: true,\n get: function() {\n return _lines;\n },\n set: function(value) {\n if (typeof value !== \"number\") {\n throw new TypeError(\"Lines must be set to a number.\");\n }\n _lines = value;\n }\n },\n \"regionAnchorY\": {\n enumerable: true,\n get: function() {\n return _regionAnchorY;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"RegionAnchorX must be between 0 and 100.\");\n }\n _regionAnchorY = value;\n }\n },\n \"regionAnchorX\": {\n enumerable: true,\n get: function() {\n return _regionAnchorX;\n },\n set: function(value) {\n if(!isValidPercentValue(value)) {\n throw new Error(\"RegionAnchorY must be between 0 and 100.\");\n }\n _regionAnchorX = value;\n }\n },\n \"viewportAnchorY\": {\n enumerable: true,\n get: function() {\n return _viewportAnchorY;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"ViewportAnchorY must be between 0 and 100.\");\n }\n _viewportAnchorY = value;\n }\n },\n \"viewportAnchorX\": {\n enumerable: true,\n get: function() {\n return _viewportAnchorX;\n },\n set: function(value) {\n if (!isValidPercentValue(value)) {\n throw new Error(\"ViewportAnchorX must be between 0 and 100.\");\n }\n _viewportAnchorX = value;\n }\n },\n \"scroll\": {\n enumerable: true,\n get: function() {\n return _scroll;\n },\n set: function(value) {\n var setting = findScrollSetting(value);\n // Have to check for false as an empty string is a legal value.\n if (setting === false) {\n throw new SyntaxError(\"An invalid or illegal string was specified.\");\n }\n _scroll = setting;\n }\n }\n });\n }\n\n root.VTTRegion = root.VTTRegion || VTTRegion;\n}(this));\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// src/Icon.tsx\nimport React from \"react\";\n\n// src/icons.json\nvar icons_default = { symbol: { viewBox: \"0 0 512 512\", paths: [{ d: \"M267.90500000000003 50.096c-2.997-2.831-7.045-4.42-11.263-4.42s-8.267 1.589-11.263 4.42L54.21 232.425c-2.969 2.858-4.634 6.719-4.634 10.742s1.665 7.884 4.634 10.742l191.169 182.329c2.996 2.832 7.045 4.421 11.263 4.421s8.266-1.589 11.263-4.421L459.074 253.90900000000002c2.969-2.858 4.634-6.719 4.634-10.742s-1.665-7.884-4.634-10.742z m60.101 202.007a10.56 10.56 0 0 0 3.461-3.724c0.82-1.49 1.25-3.148 1.25-4.831s-0.43-3.342-1.25-4.832a10.55 10.55 0 0 0-3.461-3.724L243.785 178.81a11.3 11.3 0 0 0-5.568-1.871c-2-0.127-3.999 0.273-5.778 1.156a10.77 10.77 0 0 0-4.309 3.849 10.1 10.1 0 0 0-1.589 5.422V299.729a10.1 10.1 0 0 0 1.589 5.423 10.77 10.77 0 0 0 4.309 3.848 11.4 11.4 0 0 0 5.778 1.157c2-0.127 3.926-0.774 5.568-1.872z\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] }, \"imdb-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M450.8800000000001 116.22299999999996H62.41999999999996a40.5 40.5 0 0 0-14.966 2.793 39.1 39.1 0 0 0-12.689 8.068c-3.629 3.462-6.505 7.575-8.459 12.102a35.6 35.6 0 0 0-2.929 14.275v180.17c0.025 9.867 4.148 19.326 11.463 26.303 7.317 6.98 17.234 10.9 27.58 10.93h388.46c10.34-0.03 20.26-3.95 27.58-10.93 7.31-6.977 11.44-16.436 11.46-26.303v-180.17c-0.02-9.869-4.15-19.326-11.46-26.305-7.32-6.978-17.24-10.909-27.58-10.933m18.92 217.408c0 2.367-0.48 4.715-1.43 6.911a17.8 17.8 0 0 1-4.11 5.855 18.6 18.6 0 0 1-6.14 3.917 19.8 19.8 0 0 1-7.24 1.369H62.41999999999996c-4.998-0.067-9.771-1.987-13.307-5.362s-5.551-7.928-5.622-12.69v-180.17c0.068-4.769 2.084-9.323 5.619-12.695 3.536-3.372 8.311-5.295 13.31-5.36h388.46c2.48 0 4.94 0.467 7.24 1.374a18.9 18.9 0 0 1 6.14 3.914 18.1 18.1 0 0 1 4.11 5.857 17.35 17.35 0 0 1 1.43 6.91z\", style: { fill: \"currentcolor\" } }, { d: \"M84.89599999999996 180.54700000000003h24.453v118.105h-24.453z\", style: { fill: \"currentcolor\" } }, { d: \"M182.30700000000002 260.28599999999994l-23.662-79.739h-30.764v118.105h21.3v-82.372l22.873 69.205h20.507l22.874-70.713v83.877h21.295V180.54700000000003h-30.76z\", style: { fill: \"currentcolor\" } }, { d: \"M298.255 180.54499999999996H257.24v118.105h41.015c13.055 0.905 25.956-3.151 35.887-11.284 4.47-3.952 7.958-8.806 10.21-14.206a37.4 37.4 0 0 0 2.807-17.013v-33.475a39.15 39.15 0 0 0-2.985-16.946c-2.243-5.383-5.662-10.248-10.029-14.274-10.068-7.866-22.906-11.767-35.89-10.907m24.845 76.355a18.04 18.04 0 0 1-1.37 8.203 18.85 18.85 0 0 1-4.939 6.843c-5.202 3.75-11.631 5.617-18.142 5.267h-18.14v-75.23h18.14c6.51-0.35 12.939 1.516 18.141 5.267a18.8 18.8 0 0 1 4.938 6.841 18 18 0 0 1 1.371 8.204z\", style: { fill: \"currentcolor\" } }, { d: \"M407.0999999999999 212.89199999999994c-4.68 0.048-9.24 1.494-13.02 4.137-3.22 2.242-5.79 5.216-7.49 8.651v-45.512h-23.664v118.482h23.664v-11.284c1.61 3.865 4.46 7.143 8.15 9.373 3.68 2.228 8 3.292 12.36 3.04 4.15 0.21 8.27-0.536 12.05-2.173a25.64 25.64 0 0 0 9.64-7.231c5.87-7.87 8.66-17.452 7.89-27.082v-13.541c0.82-9.634-1.97-19.233-7.89-27.081-2.53-3.163-5.82-5.701-9.6-7.401a27.2 27.2 0 0 0-12.09-2.378m6.31 50.401c0.29 4.164-0.97 8.291-3.55 11.66a11.36 11.36 0 0 1-4.55 3.354c-1.81 0.724-3.76 0.994-5.71 0.784-2.36 0.381-4.73-0.38-7.09-1.505a7.8 7.8 0 0 1-2.61-1.644 7.3 7.3 0 0 1-1.73-2.493 15.7 15.7 0 0 1-1.58-7.146v-19.183c-0.05-2.466 0.5-4.91 1.58-7.147 0.78-1.984 2.33-3.603 4.34-4.513a16.7 16.7 0 0 1 7.09-1.882c1.97-0.051 3.91 0.33 5.69 1.113s3.34 1.948 4.57 3.402c2.58 3.511 3.84 7.756 3.55 12.036z\", style: { fill: \"currentcolor\" } }] }, imdb: { viewBox: \"0 0 512 512\", paths: [{ d: \"M295.217 206.75900000000001c-1.295-0.665-3.787-0.95-7.375-0.95v74.053c4.784 0 7.774-0.856 8.871-2.567 1.096-1.711 1.694-6.274 1.694-13.784v-43.728c0-5.133-0.199-8.366-0.598-9.792a5 5 0 0 0-0.944-1.872 5.3 5.3 0 0 0-1.648-1.36\", style: { fill: \"currentcolor\" } }, { d: \"M384.41999999999996 242.977v26.713c0 5.038-0.3 8.27-0.79 9.506-0.5 1.331-3.19 1.996-4.99 1.996-1.79 0-4.282-0.76-4.88-1.996v-45.25c0.498-1.14 3.19-1.901 4.88-1.901 1.7 0 4.19 0.856 4.79 2.187 0.69 1.425 0.99 4.372 0.99 8.745\", style: { fill: \"currentcolor\" } }, { d: \"M46.53899999999999 167.68800000000002a24.1 24.1 0 0 1 1.996-9.608 25 25 0 0 1 5.704-8.144 26.4 26.4 0 0 1 8.54-5.44 27.4 27.4 0 0 1 10.073-1.904h367.988c3.45-0.005 6.87 0.642 10.07 1.901 3.19 1.26 6.1 3.109 8.54 5.44 2.45 2.332 4.38 5.1 5.71 8.146a24.3 24.3 0 0 1 1.99 9.609v150.388c0 3.297-0.68 6.562-1.99 9.609a25.1 25.1 0 0 1-5.71 8.146 26.5 26.5 0 0 1-8.54 5.44 27.4 27.4 0 0 1-10.07 1.902H72.85199999999998a27.4 27.4 0 0 1-10.073-1.904 26.4 26.4 0 0 1-8.54-5.44 25 25 0 0 1-5.704-8.145 24.1 24.1 0 0 1-1.996-9.608z m52.626 131.566h32.892V186.511h-32.892zM194.75 239.175l7.375-52.664h41.563V299.349H215.88l-0.1-76.144-11.163 76.144h-19.834l-11.662-74.528-0.1 74.528h-27.907V186.511h41.263a725 725 0 0 1 3.788 24.05z m62.095 60.079V186.511h51.33c5.547-0.01 10.871 2.074 14.812 5.796s6.176 8.781 6.219 14.072v73.007a19.1 19.1 0 0 1-1.614 7.642 19.9 19.9 0 0 1-4.568 6.465 21 21 0 0 1-6.821 4.295 21.8 21.8 0 0 1-8.028 1.466z m136.345-84.51h-2.09c-3.34-0.012-6.63 0.701-9.64 2.085a21.8 21.8 0 0 0-7.701 5.9v-36.218h-31.496v111.412h29.502l1.894-6.939a21.4 21.4 0 0 0 7.671 6.165 22.5 22.5 0 0 0 9.77 2.2h2.09c11.76 0 21.33-8.841 21.33-19.678v-45.249c0-10.932-9.47-19.678-21.33-19.678\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] }, reddit: { viewBox: \"0 0 512 512\", paths: [{ d: \"M310.32000000000016 118.852c4.55 18.419 21.9 32.139 42.62 32.139 24.18 0 43.78-18.692 43.78-41.749 0-23.056-19.6-41.748-43.78-41.748-21.15 0-38.79 14.288-42.89 33.293-35.41 3.621-63.06 32.255-63.06 66.958v0.214c-38.51 1.547-73.67 11.999-101.59 28.498-10.36-7.652-23.38-12.213-37.5-12.213-33.89 0-61.36 26.188-61.36 58.503 0 23.448 14.45 43.646 35.32 52.982 2.03 67.916 79.65 122.544 175.12 122.544 95.48 0 173.2-54.686 175.12-122.662 20.72-9.394 35.05-29.534 35.05-52.845 0-32.314-27.47-58.503-61.36-58.503-14.06 0-27.01 4.522-37.36 12.116-28.16-16.617-63.71-27.069-102.62-28.459v-0.155c0-24.858 19.38-45.488 44.51-48.874zM142.94000000000005 279.876c1.03-21.217 15.8-37.501 32.98-37.501s30.32 17.204 29.29 38.42c-1.02 21.217-13.85 28.928-31.05 28.928-17.21 0-32.25-8.631-31.22-29.847m195.13-37.501c17.2 0 31.98 16.284 32.99 37.501 1.02 21.216-14.04 29.847-31.22 29.847s-30.03-7.691-31.06-28.928c-1.02-21.216 12.09-38.42 29.29-38.42m-20.45 86.588c3.23 0.314 5.29 3.504 4.03 6.362-10.58 24.093-35.53 41.024-64.67 41.024-29.12 0-54.06-16.931-64.65-41.024-1.26-2.858 0.79-6.048 4.02-6.362 18.88-1.82 39.31-2.818 60.63-2.818 21.33 0 41.73 0.998 60.64 2.818\", style: { fill: \"currentcolor\" } }] }, x: { viewBox: \"0 0 512 512\", paths: [{ d: \"M285.28999999999996 220.538l111.31-123.575h-26.37l-96.66 107.298-77.19-107.298h-89.04l116.73 162.254-116.73 129.586h26.38l102.07-113.31 81.53 113.31h89.03L285.2800000000002 220.538z m-36.13 40.108l-11.83-16.156-94.11-128.562h40.52l75.95 103.753 11.83 16.157 98.72 134.863h-40.51l-80.57-110.049z\", style: { fill: \"currentcolor\" } }] }, facebook: { viewBox: \"0 0 512 512\", paths: [{ d: \"M338.66999999999985 187.177h-54.52V151.90900000000002c0-13.404 8.77-16.826 15.85-16.826h38.67V78.046h-54.52c-18.29-1.228-36.34 4.52-50.19 15.982s-22.36 27.699-23.67 45.143c-0.2 3.102-0.2 6.214 0 9.316v38.595h-35.18v60.364h35.18v169.496h73.86V247.541h49.24z\", style: { fill: \"currentcolor\" } }] }, youtube: { viewBox: \"0 0 512 512\", paths: [{ d: \"M476.2199999999998 153.619c0-37.264-28.71-67.21-64.29-67.21-48.14-2.186-97.18-2.946-147.32-2.946h-15.64c-50.04 0-99.18 0.856-147.22 2.947-35.38 0-64.19 30.135-64.19 67.399-2.19 29.469-3.09 58.938-3.09 88.408-0.1 29.469 0.9 59.033 2.99 88.502 0 37.264 28.71 67.494 64.19 67.494 50.54 2.282 102.36 3.232 155.09 3.137 52.83 0.19 104.52-0.855 155.09-3.137 35.48 0 64.29-30.23 64.29-67.494 2.09-29.564 3.09-59.033 2.99-88.598 0.1-29.469-0.8-58.938-2.89-88.502m-261.94 169.875V160.748l125.88 81.278z\", style: { fill: \"currentcolor\" } }] }, vlc: { viewBox: \"0 0 512 512\", paths: [{ d: \"M385.9200000000001 309.1399999999999c-7.87-23.86-7.97-23.77-33.89-22.44h-0.79c-4.79 0-7.18 1.52-5.88 6.75 1.79 7.23-1.7 12.64-7.18 17.3-7.78 6.47-17.14 10.27-26.91 13.12-29.21 8.46-59.01 8.94-88.81 4.56-16.54-2.47-32.89-6.27-46.35-16.92-4.88-3.8-8.57-8.27-8.67-14.45-0.2-10.36-0.1-10.36-11.56-10.26-2.79 0-5.48 0.28-8.27 0.09-9.07-0.66-14.06 3.23-16.65 11.6-9.67 30.61-19.93 60.93-29.8 91.45a74 74 0 0 0-3.39 15.3c-0.6 6.37 2.29 10.56 9.87 10.65 7.38 0.19 14.75 1.14 22.13 1.14 42.56 0.1 85.12 0.13 127.68 0.1 45.05 0 90 0.09 135.05-0.1 23.82-0.09 27.11-4.47 20.13-26.14-8.77-27.28-17.64-54.47-26.71-81.75\", style: { fill: \"currentcolor\" } }, { d: \"M201.4300000000003 186.50999999999976c-4.78 15.59-9.67 31.11-14.65 46.58-3.69 11.6-2.19 15.78 9.27 21.39 4.89 2.33 9.99 4.24 15.25 5.7a128.9 128.9 0 0 0 44.75 4.75c5.98 0 12.06 0.48 18.04-0.09 16.74-1.52 33.29-3.8 47.74-12.93 4.19-2.66 8.28-6.08 6.68-11.5-5.68-18.63-11.66-37.08-17.44-55.61-0.8-2.48-1.6-4.19-5.18-2.57-22.93 10.55-47.35 9.7-71.77 7.41-8.47-0.76-17.14-1.8-24.42-6.36-5.18-3.24-6.77-1.72-8.27 3.23\", style: { fill: \"currentcolor\" } }, { d: \"M284.0600000000004 121.48999999999978c5.18-1.24 6.28-4.19 4.68-8.85-2.79-8.17-4.98-16.54-7.87-24.81-5.08-14.73-7.48-16.35-23.52-16.35-17.35 0-20.74 2.38-25.72 18.16-2.39 7.79-4.68 15.59-7.28 23.29-1.49 4.37-0.19 7.22 4.39 8.37 18.13 4.47 37.15 4.54 55.32 0.19\", style: { fill: \"currentcolor\" } }] }, trakt: { viewBox: \"0 0 512 512\", paths: [{ d: \"M116.10999999999967 367.319c27.46 28.386 63.63 47.763 103.34 55.361s80.91 3.027 117.73-13.058l-132.86-126.433z\", style: { fill: \"currentcolor\" } }, { d: \"M203.6199999999999 206.665l-100.67 95.728-13.45-12.834 105.95-101.051 123.69-117.971c-38.8-12.603-80.81-13.015-119.88-1.176s-73.12 35.306-97.18 66.958-36.85 69.825-36.49 108.919c0.35 39.092 13.83 77.047 38.46 108.298l100.37-95.727 6.88 6.274 143.72 137.079a57.6 57.6 0 0 0 8.17-5.038l-158.87-151.529-96.38 91.925-13.46-12.833 109.84-104.759 6.88 6.274 167.74 159.704c2.59-1.901 4.89-4.087 7.28-5.988l-180.9-172.538z\", style: { fill: \"currentcolor\" } }, { d: \"M399.6700000000001 366.085c20.08-21.212 34.65-46.619 42.55-74.18a174.36 174.36 0 0 0 2.98-84.509c-5.96-28.003-18.71-54.285-37.24-76.733-18.54-22.449-42.33-40.437-69.48-52.52L217.76999999999953 192.977z m-135.55-139.931l-13.45-12.834 95.08-90.689 13.46 12.834z m90.2-124.531l-109.54 104.473-13.45-12.834L340.8699999999999 88.79z\", style: { fill: \"currentcolor\" } }] }, \"in-cinema\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M457.5799999999999 186.607l-37.87-36.124c-3.04-2.847-7.09-4.511-11.34-4.67-4.26-0.158-8.43 1.203-11.68 3.815-5.04 4.119-11.52 6.276-18.14 6.039s-12.91-2.849-17.61-7.314c-4.69-4.466-7.45-10.458-7.71-16.776-0.27-6.319 1.97-12.502 6.28-17.312 2.74-3.113 4.16-7.085 3.99-11.145-0.16-4.06-1.91-7.914-4.89-10.814l-37.67-36.124a17.1 17.1 0 0 0-5.54-3.534 17.7 17.7 0 0 0-6.53-1.242c-2.24 0-4.45 0.422-6.52 1.242-2.08 0.82-3.95 2.02-5.54 3.534l-60.3 57.512c-3.69 3.528-6.49 7.822-8.17 12.549a6.4 6.4 0 0 1-1.6 2.46 6.9 6.9 0 0 1-2.59 1.532 33.35 33.35 0 0 0-13.15 7.89l-154.69 147.537a16.2 16.2 0 0 0-3.71 5.275 15.57 15.57 0 0 0 0 12.455 16.2 16.2 0 0 0 3.71 5.275l37.48 36.123c3.04 2.847 7.08 4.513 11.34 4.67 4.25 0.159 8.42-1.201 11.68-3.814a26.5 26.5 0 0 1 8.54-5.503 27.5 27.5 0 0 1 10.1-1.96c3.46-0.013 6.89 0.626 10.1 1.881a26.5 26.5 0 0 1 8.59 5.435 25.2 25.2 0 0 1 5.75 8.158 24.1 24.1 0 0 1 2.02 9.635c0 3.308-0.68 6.584-2 9.64a25.2 25.2 0 0 1-5.72 8.172c-2.74 3.112-4.17 7.086-4 11.145s1.91 7.915 4.89 10.814l37.78 36.028a17.1 17.1 0 0 0 5.53 3.535 17.805 17.805 0 0 0 13.06 0c2.07-0.82 3.94-2.02 5.53-3.535l154.69-147.536c3.73-3.524 6.56-7.817 8.27-12.548 0.33-0.927 0.88-1.769 1.61-2.459a6.8 6.8 0 0 1 2.58-1.533c4.95-1.601 9.46-4.268 13.15-7.795l60.3-57.513c3.16-3.088 4.94-7.233 4.94-11.55s-1.78-8.462-4.94-11.55m-195.95-24.241a13.8 13.8 0 0 1-4.45 2.85 14.3 14.3 0 0 1-5.27 1.001c-1.8 0-3.59-0.34-5.26-1.001a13.8 13.8 0 0 1-4.45-2.85l-9.87-9.411c-2.68-2.338-4.29-5.594-4.46-9.057-0.18-3.462 1.09-6.849 3.53-9.422 2.43-2.573 5.83-4.124 9.47-4.312 3.63-0.189 7.19 0.998 9.9 3.303 0.36 0.293 0.68 0.611 0.99 0.951l9.87 9.411a13.2 13.2 0 0 1 2.99 4.249 12.52 12.52 0 0 1 0 10.038 13.2 13.2 0 0 1-2.99 4.25m37.78 35.934a13.8 13.8 0 0 1-4.46 2.849c-1.66 0.66-3.46 1.001-5.26 1.001-1.81 0-3.6-0.341-5.26-1.001a13.8 13.8 0 0 1-4.46-2.849l-9.37-8.936c-2.36-2.498-3.63-5.766-3.54-9.128s1.54-6.564 4.03-8.943 5.85-3.753 9.38-3.839c3.52-0.087 6.95 1.121 9.57 3.373l9.37 8.936c2.54 2.475 3.96 5.803 3.96 9.268s-1.42 6.793-3.96 9.269m37.97 36.028a13.8 13.8 0 0 1-4.45 2.85 14.3 14.3 0 0 1-5.27 1.001c-1.8 0-3.59-0.34-5.26-1.001a13.8 13.8 0 0 1-4.45-2.85l-9.37-8.936c-2.69-2.338-4.29-5.594-4.46-9.056-0.18-3.462 1.09-6.85 3.53-9.423 2.43-2.573 5.83-4.124 9.47-4.312 3.63-0.189 7.18 0.998 9.9 3.304q0.525 0.439 0.99 0.95l9.37 9.031c2.53 2.46 3.96 5.771 3.96 9.221s-1.43 6.762-3.96 9.221m38.08 36.409a14 14 0 0 1-4.46 2.85 14.346 14.346 0 0 1-10.53 0 13.9 13.9 0 0 1-4.45-2.85l-9.87-9.411a13.2 13.2 0 0 1-3.09-4.18 12.6 12.6 0 0 1-1.18-4.99c-0.04-1.722 0.27-3.435 0.91-5.042a13.1 13.1 0 0 1 2.86-4.325 13.7 13.7 0 0 1 4.39-2.95c1.64-0.7 3.43-1.083 5.23-1.127 1.81-0.044 3.6 0.251 5.28 0.869 1.69 0.618 3.23 1.547 4.54 2.732l0.5 0.476 9.87 9.411a13.3 13.3 0 0 1 2.99 4.249 12.6 12.6 0 0 1 0 10.038 13.4 13.4 0 0 1-2.99 4.25\", style: { fill: \"currentcolor\" } }] }, remote: { viewBox: \"0 0 512 512\", paths: [{ d: \"M293.6199999999999 113.22a28.3 28.3 0 0 0-9.4-6.258 29.6 29.6 0 0 0-11.23-2.202c-4.03-0.091-8.03 0.614-11.75 2.069a29.3 29.3 0 0 0-9.88 6.391l-20.64 19.678-176.91 168.64a28.35 28.35 0 0 0-7.82 7.852 26.9 26.9 0 0 0-4.08 10.113c-0.65 3.593-0.55 7.274 0.3 10.83a27 27 0 0 0 4.62 9.895 25.4 25.4 0 0 0 2.99 3.423q45.75 44.916 91.5 87.076c5.05 4.961 11.96 7.806 19.22 7.913 7.24 0.107 14.24-2.534 19.45-7.342l1.5-1.426c5.88-4.658 10.76-10.267 16.74-15.02l181.7-173.393c15.75-15.02 16.75-29.944 2-43.158-28.41-28.899-57.91-57.037-88.31-85.081m-178.71 231.286c-2.59 0.227-5.21-0.035-7.7-0.772a20 20 0 0 1-6.78-3.524 19 19 0 0 1-4.87-5.739 18.3 18.3 0 0 1-2.18-7.076c-0.08-0.822-0.11-1.647-0.1-2.472-0.17-2.549 0.19-5.105 1.07-7.521a19 19 0 0 1 4.01-6.552 20.3 20.3 0 0 1 6.35-4.571 21 21 0 0 1 7.71-1.889h1.49c2.53-0.292 5.09-0.105 7.55 0.55 2.44 0.655 4.73 1.765 6.73 3.266a18.7 18.7 0 0 1 4.92 5.483 18 18 0 0 1 2.33 6.862c0.13 1.167 0.17 2.344 0.1 3.517 0.31 2.41 0.11 4.855-0.57 7.193a18.1 18.1 0 0 1-3.43 6.433 19.1 19.1 0 0 1-5.75 4.686 19.9 19.9 0 0 1-7.19 2.221c-1.3 0-2.5 0-3.69-0.095m47.14 45.915c-3.92 0.166-7.79-0.78-11.14-2.721-3.35-1.939-6.02-4.784-7.68-8.174a18.5 18.5 0 0 1-1.81-7.167c-0.02-0.825 0.01-1.651 0.1-2.471-0.41-4.813 1.2-9.584 4.46-13.271 3.27-3.687 7.94-5.991 12.98-6.407 1.06-0.095 2.13-0.095 3.19 0a21.3 21.3 0 0 1 7.83 1.386c2.48 0.948 4.74 2.353 6.66 4.136a19.5 19.5 0 0 1 4.5 6.257 18.5 18.5 0 0 1 1.64 7.423v1.426c0.29 4.94-1.49 9.786-4.95 13.474-3.46 3.69-8.3 5.92-13.49 6.204-0.75-0.076-1.52-0.107-2.29-0.095m0-90.879c-3.92 0.166-7.79-0.781-11.14-2.721s-6.02-4.784-7.68-8.174a18.5 18.5 0 0 1-1.81-7.167c-0.02-0.825 0.01-1.651 0.1-2.471-0.16-5.572 2.01-10.975 6.03-15.022 4.02-4.046 9.56-6.405 15.4-6.558h0.1c5.58 0.353 10.78 2.806 14.46 6.816 3.68 4.011 5.54 9.254 5.17 14.573v0.191c0.17 2.546-0.18 5.101-1.04 7.518a19.15 19.15 0 0 1-3.99 6.563 20.2 20.2 0 0 1-6.32 4.604 21.1 21.1 0 0 1-7.68 1.943 8.6 8.6 0 0 1-1.6-0.095m47.15 44.964c-5.19 0.267-10.26-1.433-14.13-4.73-3.86-3.296-6.21-7.919-6.51-12.856v-1.997c0.1-5.305 2.41-10.356 6.4-14.045 4-3.688 9.37-5.714 14.93-5.632h0.3c5.56 0.003 10.92 2.049 14.94 5.713 4.03 3.663 6.42 8.663 6.69 13.964a19.8 19.8 0 0 1-1.84 7.732 20.4 20.4 0 0 1-4.83 6.459 21.4 21.4 0 0 1-7.05 4.197 22.2 22.2 0 0 1-8.21 1.29 2 2 0 0 0-0.69-0.095m55.81-59.889c-12.14-0.095-23.97-3.618-34.02-10.127-10.03-6.508-17.83-15.709-22.38-26.438-4.56-10.731-5.68-22.509-3.22-33.846 2.45-11.338 8.38-21.727 17.02-29.854 8.65-8.126 19.63-13.626 31.55-15.804s24.26-0.937 35.44 3.567 20.71 12.069 27.39 21.738 10.2 21.009 10.12 32.586c0.02 7.616-1.55 15.16-4.59 22.2-3.04 7.041-7.51 13.442-13.14 18.836a61.1 61.1 0 0 1-19.71 12.6 63.3 63.3 0 0 1-23.26 4.447h-1.2z m167.95-189.173c-8.91-12.871-20.46-23.898-33.93-32.424-13.48-8.525-28.62-14.374-44.51-17.199-15.75-0.95-22.63 3.708-23.53 12.168 0 10.267 6.88 14.07 15.75 15.02 9.78 1.126 19.18 4.308 27.51 9.316 13.14 6.781 24.53 16.26 33.35 27.751 8.82 11.492 14.86 24.708 17.68 38.698-0.05 3.916 1.53 7.694 4.38 10.509 2.86 2.814 6.77 4.435 10.87 4.51h0.4c8.87 0 13.76-6.559 13.76-16.826-1.53-18.895-9.11-36.885-21.73-51.523m-93.19-3.803c-7.98 0-14.76 2.852-15.75 11.218-0.91 3.251-0.43 6.712 1.32 9.63 1.76 2.919 4.65 5.061 8.05 5.96 0.8 0.226 1.64 0.354 2.49 0.38 10.64 1.5 20.5 6.23 28.11 13.488 7.62 7.259 12.57 16.663 14.15 26.818 0.43 3.655 2.35 6.999 5.36 9.297 3.01 2.3 6.85 3.367 10.69 2.966 0.19 0 0.49-0.095 0.69-0.095 3.38-0.258 6.52-1.784 8.72-4.242 2.21-2.46 3.3-5.651 3.04-8.876-1.42-16.735-8.86-32.489-21.04-44.609s-28.36-19.867-45.83-21.935m-73.66 103.048c-4.19-0.192-8.38 0.405-12.33 1.76a32.4 32.4 0 0 0-10.68 6.131 30.5 30.5 0 0 0-7.39 9.564 29.1 29.1 0 0 0-2.99 11.538v2.852c-0.57 7.863 2.15 15.62 7.57 21.571 5.43 5.952 13.09 9.612 21.33 10.18 1.2 0.095 2.3 0.095 3.49 0.095 4.19 0.203 8.38-0.383 12.33-1.725a32.3 32.3 0 0 0 10.71-6.1 30.5 30.5 0 0 0 7.42-9.544 29.5 29.5 0 0 0 3.03-11.53c0.1-0.98 0.1-1.967 0-2.947 0.43-8.011-2.49-15.859-8.11-21.826s-13.49-9.569-21.89-10.019z\", style: { fill: \"currentcolor\" } }] }, link: { viewBox: \"0 0 512 512\", paths: [{ d: \"M472.9499999999998 95.53699999999992c-15.77-37.236-54.03-60.934-96.23-60.181-23.95-1.123-47.46 6.397-65.86 21.063-13.01 10.156-24.45 21.816-36.67 32.724-13.02 12.036-25.63 24.073-38.65 36.109-2.91 2.651-4.92 6.079-5.77 9.836s-0.48 7.668 1.03 11.228c1.14 3.277 3.29 6.149 6.18 8.232s6.37 3.278 9.99 3.428c7.5 0.38 14.59-3.009 19.73-8.651l62.7-58.677c25.24-24.448 66.25-24.824 92.28-1.504 11.79 11.186 18.46 26.375 18.53 42.238s-6.45 31.107-18.14 42.392a8.3 8.3 0 0 1-1.97 1.505c-29.17 27.833-58.36 54.915-87.54 82.373-4.79 4.17-9.94 7.944-15.39 11.284-13.58 6.967-29.29 9.129-44.38 6.099-15.08-3.029-28.56-11.052-38.04-22.648-2.58-4.226-6.68-7.424-11.52-9.011a22.35 22.35 0 0 0-14.9 0.36c-13.41 5.266-15.78 18.807-5.13 31.971 36.29 43.634 102.94 50.779 148.67 16.174 2.38-1.88 4.74-4.137 7.11-6.394 30.36-27.834 60.73-56.045 90.7-84.631 14.43-13.429 24.35-30.649 28.5-49.469 4.14-18.82 2.32-38.392-5.23-56.223m-224.39 241.1c-21.3 19.559-42.6 39.49-63.5 59.425-12.08 11.732-28.5 18.502-45.74 18.852s-33.94-5.74-46.54-16.97c-5.91-5.485-10.62-12.044-13.86-19.279a57 57 0 0 1-5.03-22.879 57.2 57.2 0 0 1 4.6-22.962c3.11-7.29 7.69-13.92 13.5-19.508l2.37-2.257c28.78-27.081 57.96-54.163 86.76-81.245a69 69 0 0 1 16.17-11.66c13.48-6.783 29.01-8.917 43.96-6.038s28.4 10.592 38.06 21.836a19 19 0 0 0 5.42 5.181c2.15 1.363 4.56 2.3 7.1 2.756 2.54 0.457 5.15 0.421 7.68-0.101 2.52-0.524 4.9-1.526 7.01-2.946 2.17-1.4 4.01-3.194 5.45-5.278 1.42-2.086 2.4-4.42 2.88-6.869s0.44-4.964-0.11-7.399a18.4 18.4 0 0 0-3.09-6.787c-0.39-0.752-1.18-1.504-1.58-2.256-17.87-20.644-43.58-33.697-71.52-36.305-27.94-2.609-55.82 5.441-77.55 22.388a41 41 0 0 0-4.33 3.385c-31.95 28.962-63.1 58.3-94.26 88.015-14.08 13.498-23.59 30.71-27.32 49.414s-1.48 38.046 6.42 55.528c7.86 17.946 21.21 33.216 38.3 43.816 17.1 10.6 37.15 16.04 57.53 15.62 25 1.04 49.45-7.18 68.23-22.95 24.85-21.82 48.51-45.137 72.56-67.705 3.03-2.586 5.08-6.038 5.87-9.839 0.79-3.8 0.25-7.742-1.53-11.226-2.34-4.551-6.46-8.045-11.48-9.733a21.25 21.25 0 0 0-15.34 0.702 17.6 17.6 0 0 0-7.49 5.267z\", style: { fill: \"currentcolor\" } }] }, \"magnet-link\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M410.6300000000001 271.212c24.65-23.981 38.39-56.273 38.22-89.858-0.18-33.583-14.25-65.745-39.15-89.492-24.89-23.748-58.62-37.163-93.83-37.33-35.21-0.165-69.07 12.93-94.21 36.443\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M347.6399999999994 211.131c8.35-7.967 13.05-18.773 13.05-30.039 0-11.268-4.7-22.073-13.05-30.04s-19.69-12.443-31.5-12.443-23.14 4.476-31.49 12.443\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M190.2599999999993 421.885v-43.729\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M102.94999999999982 384.524l31.49-30.04\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M68.15999999999985 290.793h45.85\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M284.75 151.055l-104.96 100.1c-5.57 5.296-13.11 8.27-20.98 8.27-7.86 0-15.41-2.974-20.98-8.27l-21.13-19.963c-5.55-5.313-8.67-12.509-8.67-20.011s3.12-14.697 8.67-20.01l105.06-100.1\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M410.6300000000001 271.212l-104.95 100.195c-5.57 5.296-13.12 8.271-20.98 8.271-7.87 0-15.41-2.975-20.98-8.271l-20.93-20.058c-5.56-5.313-8.68-12.509-8.68-20.01 0-7.503 3.12-14.699 8.68-20.011l104.95-100.195\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M148.79999999999927 161.605l62.99 60.08\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"31.764\", fill: \"none\" } }, { d: \"M274.77999999999975 281.762l62.99 60.079\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"31.764\", fill: \"none\" } }] }, help: { viewBox: \"0 0 512 512\", paths: [{ d: \"M156.8699999999999 417.131c98.28 54.09 223.86 21.959 280.57-71.677 56.72-93.731 23.03-213.509-75.15-267.599-98.27-54.09-223.86-21.96-280.57 71.677-56.71 93.731-23.13 213.509 75.15 267.599\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M225.34000000000015 304.102c14.72 8.107 32.07 10.702 48.68 7.283s31.3-12.609 41.2-25.783c9.9-13.173 14.31-29.387 12.37-45.489-1.95-16.101-10.09-30.94-22.87-41.627s-29.26-16.461-46.26-16.198c-16.99 0.264-33.26 6.546-45.67 17.624-12.4 11.079-20.05 26.162-21.43 42.315-1.39 16.154 3.57 32.223 13.91 45.082 5.47 6.8 12.29 12.507 20.07 16.793\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M321.02999999999975 60.459l-46.95 119.588\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M313.64999999999964 201.816l85.12-98.58\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M120.48999999999978 391.749l85.12-98.579\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M245.1800000000003 314.941l-46.95 119.588\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M455.6800000000003 306.098l-125.38-44.774\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M307.47000000000025 298.971l103.46 81.088\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M108.32999999999993 114.836l103.36 81.183\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }, { d: \"M188.85999999999967 233.662l-125.38-44.869\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34.354\", fill: \"none\" } }] }, \"search-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M222.058 60.83999999999992c-38.838 0.02-76.281 13.81-105.046 38.7s-46.797 59.09-50.587 95.96c-3.791 36.86 6.93 73.76 30.077 103.5 23.147 29.75 57.066 50.21 95.16 57.43 38.094 7.21 77.64 0.66 110.947-18.4 33.307-19.05 57.993-49.23 69.259-84.68s8.304-73.63-8.309-107.11c-16.612-33.48-45.688-59.87-81.57-74.05-19.001-7.5-39.366-11.36-59.931-11.35Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M338.871 321.5999999999999l109.338 104.28\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }] }, search: { viewBox: \"0 0 512 512\", paths: [{ d: \"M456.882 415.7999999999997l-93.791-89.45c22.605-28.67 34.784-63.57 34.686-99.44 0-91.54-78.142-166.07-174.125-166.07s-174.125 74.53-174.125 166.17c0 91.54 78.142 166.07 174.125 166.07 37.586 0 74.161-11.61 104.256-33.08l93.79 89.45c3.535 3.04 7.91 5.05 12.604 5.79 4.696 0.74 9.515 0.18 13.887-1.61 4.374-1.79 8.117-4.74 10.788-8.49 2.671-3.76 4.157-8.17 4.284-12.7 0.108-6.11-2.165-12.04-6.379-16.64m-357.62-188.79c-0.01-29.43 11.453-57.8 32.162-79.61 20.709-21.82 49.183-35.49 79.884-38.39 30.7-2.9 61.433 5.2 86.221 22.72 24.787 17.52 41.858 43.2 47.891 72.05 6.034 28.86 0.598 58.83-15.249 84.07s-40.972 43.96-70.489 52.53c-29.518 8.55-61.317 6.33-89.213-6.24s-49.895-34.57-61.718-61.75c-6.258-14.38-9.483-29.81-9.488-45.38\", style: { fill: \"currentcolor\" } }] }, \"home-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M88.29899999999998 217.5v198.3c0.012 1.9 0.417 3.77 1.192 5.51 0.773 1.75 1.903 3.32 3.32 4.66a15.3 15.3 0 0 0 4.939 3.07 15.7 15.7 0 0 0 5.798 1.02h91.498v-121.2c0.066-5.72 2.504-11.18 6.782-15.19s10.047-6.24 16.043-6.2h76.248c2.972-0.03 5.92 0.5 8.676 1.57a22.8 22.8 0 0 1 7.384 4.61 21.5 21.5 0 0 1 4.969 6.97 20.7 20.7 0 0 1 1.796 8.24v121.2h91.496c1.99 0.02 3.96-0.32 5.8-1.03a15.4 15.4 0 0 0 4.94-3.07 14.6 14.6 0 0 0 3.32-4.65c0.77-1.74 1.18-3.61 1.19-5.51v-198.3\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M476.4200000000001 257.04999999999995l-209.709-196.68c-2.963-2.49-6.772-3.85-10.715-3.85s-7.751 1.36-10.714 3.85l-209.509 196.68\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, home: { viewBox: \"0 0 512 512\", paths: [{ d: \"M261.22900000000004 94.11000000000013c-1.482-1.37-3.466-2.14-5.531-2.14s-4.05 0.77-5.532 2.14l-184.192 167.78a7.6 7.6 0 0 0-1.845 2.51 7.3 7.3 0 0 0-0.647 3.01v157.52c0.008 8.08 3.381 15.84 9.379 21.56 6 5.73 14.133 8.94 22.616 8.95h96.182c4.256 0 8.338-1.62 11.347-4.49 3.01-2.86 4.7-6.76 4.7-10.82v-129.75c0.006-2.02 0.848-3.95 2.342-5.38 1.495-1.42 3.519-2.22 5.632-2.23h80.036c2.113 0.01 4.137 0.81 5.631 2.23 1.494 1.43 2.336 3.36 2.342 5.38v129.75c-0.002 2.02 0.411 4.01 1.216 5.86a15.2 15.2 0 0 0 3.479 4.97 16 16 0 0 0 5.209 3.32c1.947 0.77 4.035 1.16 6.143 1.16h96.084c8.48-0.01 16.61-3.22 22.61-8.95 6-5.72 9.37-13.48 9.38-21.56v-157.52c0-1.04-0.22-2.06-0.64-3.01a7.6 7.6 0 0 0-1.85-2.51z\", style: { fill: \"currentcolor\" } }, { d: \"M490.77 230.42999999999984l-74.85-68.26a923 923 0 0 0-80.036-73.1l-57.908-52.85c-5.967-5.4-13.905-8.37-22.127-8.27-4.082-0.12-8.145 0.57-11.947 1.98a30.5 30.5 0 0 0-10.18 6.29L20.923999999999978 230.42999999999984c-3.034 2.74-4.858 6.47-5.098 10.44-0.241 3.98 1.12 7.9 3.803 10.95a16 16 0 0 0 4.921 3.64 16.4 16.4 0 0 0 6.011 1.57c2.092 0.14 4.193-0.11 6.182-0.75 1.99-0.63 3.828-1.63 5.411-2.94l0.598-0.57 207.615-189.18a8.2 8.2 0 0 1 5.532-2.13c2.065 0 4.049 0.77 5.531 2.13l207.61 189.18c3.07 2.78 7.16 4.3 11.4 4.23 4.23-0.07 8.27-1.73 11.23-4.61 2.88-3.05 4.39-7.06 4.22-11.15-0.17-4.11-2-7.98-5.12-10.81\", style: { fill: \"currentcolor\" } }] }, \"discover-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M448.21000000000004 243.3599999999999c0-100.76-85.72-182.52-191.37-182.52s-191.37 81.76-191.37 182.52c0 100.77 85.72 182.52 191.37 182.52s191.37-81.75 191.37-182.52Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M351.23 143.45000000000005l-116.82 44.59c-8.04 3.04-15.33 7.64-21.42 13.49-6.08 5.86-10.89 12.81-14.16 20.44l-46.74 111.42c-0.59 1.38-0.72 2.9-0.4 4.37 0.35 1.46 1.1 2.81 2.19 3.9a8 8 0 0 0 4.09 2.09c1.53 0.3 3.13 0.17 4.58-0.38l116.82-44.59c8.04-3.04 15.34-7.64 21.43-13.5 6.08-5.86 10.88-12.8 14.15-20.43l46.74-111.42c0.59-1.38 0.73-2.91 0.4-4.37a8.2 8.2 0 0 0-2.19-3.9 8.3 8.3 0 0 0-4.07-2.09c-1.54-0.3-3.14-0.17-4.6 0.38m-94.39 122.73c-4.71 0.01-9.33-1.31-13.26-3.81-3.95-2.49-7.01-6.07-8.77-10.26-1.8-4.18-2.28-8.78-1.39-13.22 0.9-4.44 3.2-8.51 6.58-11.69 2.22-2.12 4.85-3.8 7.75-4.96 2.9-1.15 6.01-1.74 9.15-1.75 3.15 0 6.26 0.59 9.16 1.73 2.91 1.14 5.55 2.81 7.77 4.93 2.23 2.12 3.99 4.63 5.21 7.4 1.2 2.77 1.82 5.73 1.83 8.73 0 3-0.62 5.97-1.81 8.73a22.6 22.6 0 0 1-5.18 7.42c-4.52 4.3-10.65 6.73-17.04 6.75\", style: { fill: \"currentcolor\" } }] }, discover: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.8399999999999 266.1700000000001c5.55 0.02 10.93-1.81 15.23-5.15 4.31-3.36 7.26-8.02 8.34-13.22 1.1-5.19 0.27-10.58-2.33-15.24-2.61-4.68-6.84-8.35-11.96-10.37a25.05 25.05 0 0 0-16.15-0.78c-5.31 1.53-9.9 4.77-12.99 9.17-3.09 4.39-4.48 9.68-3.94 14.95s2.98 10.19 6.91 13.94c4.48 4.28 10.55 6.68 16.89 6.7\", style: { fill: \"currentcolor\" } }, { d: \"M256.8399999999999 45.63000000000011c-114.32 0-207.32 88.69-207.32 197.73 0 109.03 93 197.72 207.32 197.72s207.32-88.69 207.32-197.72c0-109.04-93-197.73-207.32-197.73m104.75 107.8l-46.74 111.41c-3.19 7.67-8.01 14.63-14.15 20.44-6.14 5.8-13.43 10.38-21.43 13.5l-116.82 44.58c-1.45 0.56-3.05 0.69-4.58 0.38a8.8 8.8 0 0 1-4.09-2.09 7.3 7.3 0 0 1-2.19-3.9 7.3 7.3 0 0 1 0.4-4.37l46.74-111.41c3.19-7.67 8.02-14.63 14.16-20.44 6.14-5.8 13.42-10.38 21.42-13.5l116.82-44.58c1.45-0.56 3.05-0.69 4.58-0.38 1.54 0.33 2.95 1.05 4.09 2.09a7.3 7.3 0 0 1 2.19 3.89c0.32 1.47 0.18 2.99-0.4 4.38\", style: { fill: \"currentcolor\" } }] }, \"library-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M419.4100000000003 167.30999999999995H94.18000000000006c-7.63 0-14.96 2.9-20.36 8.05-5.4 5.16-8.44 12.14-8.44 19.42v188.51c0 7.28 3.04 14.27 8.44 19.42 5.4 5.16 12.73 8.06 20.36 8.06h325.23c7.63 0 14.96-2.9 20.36-8.06 5.4-5.15 8.44-12.14 8.44-19.42v-188.51c0.01-3.61-0.73-7.18-2.18-10.52-1.44-3.34-3.57-6.36-6.24-8.92a29.1 29.1 0 0 0-9.35-5.95c-3.5-1.37-7.24-2.09-11.03-2.08Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M145.21000000000004 76.04999999999995h223.27\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M113.32000000000016 121.67999999999984h287.05\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }] }, library: { viewBox: \"0 0 512 512\", paths: [{ d: \"M368.48 91.26000000000022h-223.26c-4.23 0-8.29-1.61-11.28-4.46s-4.67-6.72-4.67-10.75 1.68-7.9 4.67-10.75 7.05-4.46 11.28-4.46h223.26c4.22 0 8.28 1.61 11.27 4.46s4.68 6.72 4.68 10.75-1.69 7.9-4.68 10.75-7.05 4.46-11.27 4.46\", style: { fill: \"currentcolor\" } }, { d: \"M400.3699999999999 136.89000000000033h-287.05c-4.23 0-8.28-1.6-11.27-4.46-2.99-2.85-4.68-6.72-4.68-10.75s1.69-7.9 4.68-10.75 7.04-4.46 11.27-4.46h287.05c4.23 0 8.29 1.61 11.28 4.46s4.67 6.72 4.67 10.75-1.68 7.9-4.67 10.75c-2.99 2.86-7.05 4.46-11.28 4.46\", style: { fill: \"currentcolor\" } }, { d: \"M419.4100000000003 425.8800000000001H94.18000000000006c-11.85-0.04-23.21-4.55-31.59-12.55-8.38-7.99-13.12-18.82-13.16-30.13v-188.51c0.04-11.3 4.78-22.14 13.16-30.13 8.38-8 19.74-12.51 31.59-12.55h325.23c5.87-0.01 11.69 1.09 17.12 3.25a44.4 44.4 0 0 1 14.48 9.3c8.36 8.01 13.08 18.83 13.15 30.13v188.51c-0.04 11.31-4.77 22.14-13.15 30.13-8.39 8-19.75 12.51-31.6 12.55\", style: { fill: \"currentcolor\" } }] }, \"addons-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M414.02 233.95000000000005h-27.6a2.1 2.1 0 0 1-1.4-0.57c-0.37-0.35-0.59-0.83-0.6-1.33v-73.39c-0.01-9.81-4.09-19.21-11.36-26.14s-17.12-10.83-27.41-10.84h-76.95c-0.52-0.01-1.02-0.22-1.39-0.57s-0.59-0.82-0.6-1.33v-26.33c0-25.76-21.43-47.44-48.44-47.82a52.4 52.4 0 0 0-19.14 3.33c-6.1 2.32-11.66 5.78-16.34 10.17a47.4 47.4 0 0 0-10.97 15.4 44.66 44.66 0 0 0-3.88 18.25v27.1c-0.01 0.5-0.23 0.98-0.6 1.33a2.1 2.1 0 0 1-1.4 0.57h-76.94c-10.47 0-20.5 3.96-27.91 11.03-7.41 7.06-11.56 16.63-11.56 26.61v66.93c0.01 0.5 0.23 0.98 0.6 1.33 0.36 0.35 0.86 0.56 1.39 0.57h26.81c29.31 0 53.53 24.24 53.92 52.09 0.4 28.43-23.42 54.38-53.12 54.38h-27.61c-0.53 0.01-1.03 0.22-1.39 0.57-0.37 0.35-0.59 0.82-0.6 1.33v66.92c0 9.98 4.15 19.56 11.56 26.62s17.44 11.03 27.91 11.03h70.17c0.52-0.01 1.02-0.22 1.39-0.57 0.37-0.36 0.59-0.83 0.6-1.33v-19.87c0-28.81 24.72-53.62 54.82-54.28 30-0.67 56.81 19.29 56.81 47.81v26.34c0.01 0.5 0.23 0.97 0.6 1.33 0.37 0.35 0.87 0.56 1.39 0.57h70.87c10.29-0.01 20.14-3.91 27.41-10.84s11.35-16.34 11.36-26.14v-74.15c0.01-0.5 0.23-0.98 0.6-1.33a2.1 2.1 0 0 1 1.4-0.57h28.4c27.51 0 49.34-21.58 49.34-47.91 0-26.34-23.12-46.3-50.14-46.3\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, addons: { viewBox: \"0 0 512 512\", paths: [{ d: \"M345.6500000000001 456.3000000000002h-70.87c-2.35 0.01-4.69-0.43-6.86-1.29-2.18-0.87-4.15-2.14-5.79-3.75-3.37-3.19-5.27-7.54-5.29-12.07v-26.33c0.03-4.05-0.81-8.07-2.49-11.79s-4.12-7.07-7.17-9.89c-7.78-7.22-19.04-11.22-30.8-10.93-21.33 0.47-39.27 18.35-39.27 39.07v19.87c0.01 2.24-0.45 4.48-1.36 6.55s-2.24 3.95-3.93 5.52c-3.35 3.21-7.9 5.02-12.65 5.04h-70.17c-14.71 0.01-28.83-5.55-39.23-15.46-10.42-9.91-16.28-23.36-16.29-37.4v-66.92c0.03-4.53 1.92-8.87 5.28-12.07 3.36-3.21 7.91-5.01 12.66-5.04h27.61c9.17 0 18.04-3.71 25.02-10.46 3.89-3.72 6.98-8.15 9.07-13.02a37.2 37.2 0 0 0 3.09-15.4c-0.3-20.15-17.64-37.17-37.98-37.17h-26.71c-2.35 0.01-4.69-0.43-6.87-1.29a17.7 17.7 0 0 1-5.79-3.75c-3.37-3.19-5.26-7.54-5.28-12.07v-66.92a50.9 50.9 0 0 1 4.19-20.25c2.76-6.43 6.86-12.25 12.06-17.11 10.39-9.91 24.48-15.48 39.17-15.5h55.02c2.12 0.01 4.16-0.77 5.68-2.19 0.73-0.71 1.32-1.55 1.71-2.49 0.4-0.93 0.6-1.92 0.58-2.92v-6.18a59 59 0 0 1 5.08-24.05c3.38-7.62 8.29-14.53 14.46-20.35 6.19-5.8 13.55-10.36 21.62-13.4a69.8 69.8 0 0 1 25.32-4.47c35.38 0.57 64.19 28.9 64.19 63.03v5.42c-0.03 1.51 0.42 3 1.29 4.25a7.73 7.73 0 0 0 3.61 2.81c0.98 0.37 2.03 0.56 3.07 0.54h55.02a56.4 56.4 0 0 1 20.93 3.99c13.4 5.31 24.04 15.46 29.6 28.24 2.77 6.32 4.2 13.11 4.19 19.96v52.47c-0.03 1.52 0.42 3.01 1.3 4.26a7.66 7.66 0 0 0 3.6 2.81c0.98 0.37 2.03 0.56 3.07 0.54h5.68c36.48 0 66.09 27.57 66.09 61.41 0 34.79-29.31 63.12-65.29 63.12h-6.48c-2.12-0.01-4.15 0.78-5.68 2.19a7.4 7.4 0 0 0-1.71 2.49c-0.4 0.93-0.6 1.93-0.58 2.93v53.23c0.01 6.85-1.42 13.64-4.19 19.96-5.56 12.78-16.2 22.93-29.6 28.24a56 56 0 0 1-20.93 3.99\", style: { fill: \"currentcolor\" } }] }, \"settings-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M456.8800000000001 230.33999999999992l-26.02-3.99a8.3 8.3 0 0 1-4.38-2.19 7.7 7.7 0 0 1-2.19-4.28c-0.5-3.04-1-6.08-1.7-9.03-0.31-1.58-0.1-3.2 0.6-4.66a8.24 8.24 0 0 1 3.29-3.51l23.02-12.17c1.75-0.83 3.1-2.26 3.79-4 0.68-1.73 0.72-3.65 0.1-5.41l-3.99-10.46c-0.67-1.74-1.99-3.19-3.68-4.09a8.35 8.35 0 0 0-5.69-0.66l-25.81 4.75c-1.69 0.28-3.42 0.09-4.98-0.57-1.58-0.67-2.85-1.85-3.59-3.33-1.5-2.66-3.09-5.32-4.79-7.98-0.9-1.4-1.32-3.04-1.19-4.67 0.13-1.65 0.78-3.2 1.89-4.46l17.24-18.92c1.31-1.36 2.09-3.11 2.2-4.94 0.09-1.88-0.59-3.72-1.9-5.13l-7.47-8.56a7.99 7.99 0 0 0-4.99-2.66 7.95 7.95 0 0 0-5.48 1.24l-22.62 12.92a8.47 8.47 0 0 1-4.79 1.05c-1.71-0.1-3.34-0.78-4.58-1.9-2.39-2-4.89-3.99-7.38-5.9a7.9 7.9 0 0 1-2.69-4c-0.45-1.56-0.38-3.22 0.2-4.74l9.37-23.58c0.8-1.72 0.9-3.66 0.29-5.44-0.61-1.79-1.89-3.3-3.58-4.25l-10.17-5.61a8.13 8.13 0 0 0-5.58-0.86c-1.91 0.4-3.62 1.45-4.78 2.95l-16.55 19.77a6.87 6.87 0 0 1-3.78 2.57c-1.55 0.41-3.18 0.34-4.69-0.19 0 0-5.58-2.19-9.77-3.52a8.1 8.1 0 0 1-3.96-2.82 7.45 7.45 0 0 1-1.52-4.5l0.4-25.09c0.1-1.89-0.5-3.74-1.69-5.23a8.67 8.67 0 0 0-4.89-2.85l-11.56-1.91c-1.93-0.27-3.91 0.1-5.58 1.05-1.67 0.98-2.9 2.5-3.49 4.28l-8.57 23.86a8.2 8.2 0 0 1-2.99 3.8 7.78 7.78 0 0 1-4.79 1.33h-9.76c-1.7 0-3.36-0.46-4.79-1.33a7.56 7.56 0 0 1-2.99-3.8l-8.57-23.86a7.56 7.56 0 0 0-3.49-4.28 8.85 8.85 0 0 0-5.58-1.05l-11.56 1.91a8.18 8.18 0 0 0-4.89 2.85 7.7 7.7 0 0 0-1.69 5.23l0.4 25.09c0.01 1.64-0.51 3.22-1.5 4.57-0.99 1.31-2.39 2.3-3.98 2.85-2.3 0.85-7.28 2.66-9.67 3.51-2.79 0.95-6.08 0.19-8.77-2.75l-16.45-19.3c-1.16-1.5-2.87-2.55-4.78-2.95-1.91-0.39-3.9-0.08-5.58 0.86l-10.17 5.61c-1.7 0.91-2.99 2.4-3.59 4.18s-0.5 3.71 0.3 5.42l9.37 23.57c0.62 1.52 0.69 3.2 0.2 4.76a7.94 7.94 0 0 1-2.69 3.99c-2.49 1.9-4.99 3.9-7.38 5.89a8.83 8.83 0 0 1-4.58 1.9 7.6 7.6 0 0 1-4.79-1.04l-22.32-13.12a7.93 7.93 0 0 0-5.48-1.14c-1.94 0.3-3.7 1.24-4.99 2.66l-7.47 8.56a7.48 7.48 0 0 0-1.9 5.13c0.07 1.84 0.85 3.61 2.2 4.94l17.24 18.92c1.1 1.23 1.77 2.76 1.89 4.37a7.76 7.76 0 0 1-1.19 4.66c-1.7 2.57-3.29 5.23-4.79 7.99-0.8 1.41-2.06 2.54-3.59 3.23-1.55 0.69-3.29 0.93-4.98 0.66l-25.81-4.75a8.07 8.07 0 0 0-5.59 0.67c-1.72 0.89-3.07 2.34-3.78 4.08l-3.99 10.46a6.8 6.8 0 0 0 0.1 5.42 7.83 7.83 0 0 0 3.79 3.99l23.02 12.17a7.37 7.37 0 0 1 3.39 3.52c0.71 1.45 0.89 3.1 0.5 4.66-0.6 3.04-1.2 5.98-1.7 9.03a7.2 7.2 0 0 1-2.19 4.27 8.2 8.2 0 0 1-4.38 2.19l-26.02 3.99c-1.91 0.23-3.69 1.12-4.98 2.47-1.28 1.41-2.02 3.19-2.1 5.04v11.13c-0.01 1.86 0.71 3.66 2.02 5.05a8.04 8.04 0 0 0 5.06 2.46l26.02 3.99c1.66 0.27 3.19 1.04 4.38 2.18a7.75 7.75 0 0 1 2.19 4.28c0.5 3.04 1 6.09 1.7 9.03 0.31 1.58 0.1 3.21-0.6 4.66-0.73 1.45-1.87 2.66-3.29 3.52l-23.02 12.17c-1.75 0.82-3.1 2.25-3.79 3.99a7.78 7.78 0 0 0-0.1 5.42l3.99 10.45c0.67 1.74 1.99 3.19 3.68 4.09 1.75 0.89 3.77 1.12 5.69 0.67l25.81-4.76c1.68-0.28 3.42-0.08 4.98 0.57 1.56 0.7 2.82 1.87 3.59 3.33 1.5 2.66 3.09 5.33 4.79 7.99a7.5 7.5 0 0 1 1.19 4.66 7.65 7.65 0 0 1-1.89 4.46l-17.24 19.02c-1.31 1.35-2.09 3.09-2.2 4.94-0.09 1.88 0.59 3.72 1.9 5.13l7.47 8.56a7.99 7.99 0 0 0 4.99 2.66 7.95 7.95 0 0 0 5.48-1.24l22.62-12.92c1.45-0.8 3.12-1.17 4.79-1.05 1.7 0.15 3.31 0.82 4.58 1.9 2.39 2 4.89 3.99 7.38 5.89 1.32 1.02 2.27 2.42 2.69 4a7.8 7.8 0 0 1-0.2 4.75l-9.37 23.58c-0.8 1.71-0.9 3.64-0.3 5.41 0.6 1.78 1.88 3.27 3.59 4.19l10.17 5.61c1.68 0.94 3.67 1.24 5.58 0.85 1.91-0.4 3.61-1.44 4.78-2.95l16.75-19.58c2.09-2.47 5.48-3.52 8.17-2.47 3.39 1.33 5.68 2.09 9.87 3.42 1.61 0.52 3.02 1.51 3.98 2.85a7.56 7.56 0 0 1 1.5 4.57l-0.4 25.09c-0.1 1.89 0.5 3.74 1.69 5.23a8.23 8.23 0 0 0 4.89 2.85l11.56 1.9a8.78 8.78 0 0 0 5.58-1.04c1.67-0.98 2.9-2.5 3.49-4.28l8.57-23.76a8.16 8.16 0 0 1 2.99-3.81c1.39-0.95 3.08-1.41 4.79-1.33h9.76c1.7 0 3.36 0.47 4.79 1.33 1.4 0.93 2.45 2.27 2.99 3.81l8.57 23.76c0.57 1.79 1.8 3.32 3.49 4.28a8.78 8.78 0 0 0 5.58 1.04l11.56-1.9a8.32 8.32 0 0 0 4.89-2.86c1.2-1.48 1.81-3.33 1.69-5.22l-0.4-25.09c-0.01-1.64 0.51-3.24 1.5-4.57 0.99-1.31 2.39-2.3 3.98-2.85 4.19-1.33 6.98-2.37 9.57-3.33 1.42-0.61 3-0.75 4.51-0.38 1.5 0.36 2.83 1.2 3.76 2.38l16.95 19.87c1.16 1.5 2.87 2.55 4.78 2.95 1.91 0.39 3.9 0.08 5.58-0.86l10.17-5.61c1.68-0.94 2.95-2.42 3.59-4.18 0.6-1.78 0.5-3.71-0.3-5.42l-9.37-23.57c-0.62-1.53-0.69-3.2-0.2-4.76a8.56 8.56 0 0 1 2.69-3.99c2.49-1.9 4.99-3.9 7.38-5.89a8.84 8.84 0 0 1 4.58-1.91 7.55 7.55 0 0 1 4.79 1.05l22.52 13.02a7.86 7.86 0 0 0 5.48 1.14c1.94-0.3 3.7-1.24 4.99-2.66l7.47-8.55a7.5 7.5 0 0 0 1.9-5.14 7.12 7.12 0 0 0-2.2-4.94l-17.24-18.92a7.28 7.28 0 0 1-1.89-4.37c-0.11-1.63 0.31-3.26 1.19-4.66 1.7-2.56 3.29-5.23 4.79-7.98 0.82-1.43 2.07-2.58 3.59-3.33 1.55-0.69 3.28-0.93 4.98-0.67l25.81 4.76c1.89 0.45 3.88 0.22 5.59-0.67 1.74-0.87 3.09-2.33 3.78-4.09l3.99-10.45c0.72-1.75 0.68-3.7-0.1-5.42a7.83 7.83 0 0 0-3.79-3.99l-23.02-12.17c-1.52-0.78-2.71-2.02-3.39-3.52a7.1 7.1 0 0 1-0.5-4.75c0.6-3.04 1.2-5.99 1.7-9.03a7.13 7.13 0 0 1 2.19-4.28 8.3 8.3 0 0 1 4.38-2.19l26.02-3.99c1.91-0.23 3.69-1.11 4.98-2.47a8 8 0 0 0 2.09-5.04v-11.12c-0.1-1.85-0.88-3.59-2.19-4.95-1.3-1.34-3.08-2.17-4.98-2.37m-200.04-123.87c31.82 0 62.75 10.11 87.91 28.71 25.15 18.61 43.1 44.65 51.03 74.05 0.58 2.25 0.62 4.59 0.1 6.85-0.52 2.24-1.55 4.34-2.99 6.18a15.2 15.2 0 0 1-5.58 4.28 16.25 16.25 0 0 1-6.98 1.52h-104.85c-2.83-0.01-5.6-0.73-8.06-2.08a16 16 0 0 1-5.9-5.62l-51.92-87.17a15.4 15.4 0 0 1-2.1-6.66c-0.1-2.34 0.31-4.67 1.2-6.84 0.91-2.18 2.39-4.11 4.28-5.61a16.1 16.1 0 0 1 6.38-3.23c12.26-2.88 24.85-4.35 37.48-4.38m-143.53 136.89c-0.02-18.33 3.81-36.46 11.28-53.35 7.46-16.89 18.41-32.17 32.18-44.94 1.76-1.61 3.88-2.84 6.18-3.61 2.31-0.75 4.76-0.97 7.18-0.67a15.7 15.7 0 0 1 6.77 2.47c2.01 1.31 3.67 3.03 4.89 5.04l52.02 87.36c1.38 2.28 2.1 4.88 2.1 7.51 0.02 2.64-0.71 5.23-2.1 7.51l-52.52 87.17c-1.2 2.05-2.91 3.78-4.99 5.04a19.4 19.4 0 0 1-6.77 2.47c-2.41 0.31-4.88 0.08-7.18-0.66-2.3-0.77-4.41-2.01-6.18-3.61-13.66-12.74-24.51-27.97-31.89-44.78-7.23-16.81-10.96-34.79-10.97-52.95m143.53 136.89c-12.85 0.02-25.65-1.54-38.08-4.66-2.37-0.57-4.55-1.68-6.37-3.23a14.9 14.9 0 0 1-4.19-5.61c-0.95-2.17-1.36-4.5-1.2-6.85 0.16-2.34 0.87-4.61 2.1-6.65l52.42-86.98c1.4-2.33 3.42-4.25 5.85-5.59 2.44-1.34 5.2-2.03 8.01-2.01h105.05c2.42-0.02 4.81 0.5 6.98 1.52 3.27 1.53 5.89 4.08 7.42 7.22a14.54 14.54 0 0 1 1.05 10.08c-7.93 29.41-25.9 55.48-51.07 74.08-25.18 18.6-56.13 28.7-87.97 28.68\", style: { fill: \"currentcolor\" } }] }, \"filters-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M48.0300000000002 102l159.77 177.48c2.36 2.63 3.7 5.95 3.79 9.42v107.8c-0.03 1.51 0.45 2.98 1.36 4.22a7.53 7.53 0 0 0 3.72 2.62l75.95 24.05c1.89 0.58 3.95 0.45 5.73-0.39 1.79-0.84 3.16-2.29 3.84-4.08 0.29-0.76 0.42-1.57 0.4-2.37v-131.95c0.01-3.47 1.35-6.83 3.78-9.41l159.68-177.48c2.28-2.55 3.42-5.87 3.16-9.21-0.26-3.35-1.9-6.46-4.56-8.66-2.38-1.97-5.42-3.05-8.57-3.05H58.29000000000042c-1.74 0-3.47 0.32-5.08 0.95s-3.08 1.55-4.32 2.73c-1.23 1.18-2.2 2.58-2.87 4.12-0.65 1.54-0.99 3.18-0.98 4.85a11 11 0 0 0 0.62 4.47 11.3 11.3 0 0 0 2.37 3.89\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, filters: { viewBox: \"0 0 512 512\", paths: [{ d: \"M48.0300000000002 102.10000000000014l159.77 177.48c2.36 2.62 3.7 5.95 3.79 9.41v107.8c-0.03 1.51 0.45 2.98 1.36 4.22a7.4 7.4 0 0 0 3.72 2.62l75.95 24.05c1.89 0.58 3.95 0.45 5.73-0.39 1.78-0.83 3.16-2.3 3.84-4.07 0.29-0.76 0.42-1.57 0.4-2.38V288.99c0.01-3.47 1.35-6.83 3.78-9.41l159.68-177.48c2.28-2.56 3.42-5.87 3.16-9.21-0.26-3.35-1.9-6.46-4.56-8.66a13.4 13.4 0 0 0-8.57-3.05H58.29000000000042c-1.74-0.01-3.47 0.32-5.08 0.94-1.61 0.64-3.08 1.56-4.32 2.74-1.23 1.18-2.2 2.58-2.87 4.12-0.65 1.54-0.99 3.18-0.98 4.85-0.17 3.02 0.89 5.99 2.99 8.27\", style: { fill: \"currentcolor\" } }] }, \"calendar-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M102.64999999999964 77h318.95c12.68 0 24.85 4.81 33.83 13.37 8.97 8.55 14.01 20.16 14.01 32.26v273.78c0 12.1-5.04 23.71-14.01 32.26-8.98 8.56-21.15 13.37-33.83 13.37H102.64999999999964c-12.69 0-24.86-4.81-33.83-13.37-8.97-8.55-14.01-20.16-14.01-32.26v-273.78c0-12.1 5.04-23.71 14.01-32.26 8.97-8.56 21.14-13.37 33.83-13.37Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M301.9899999999998 244.30999999999995c5.93 0.01 11.65-2.09 16.06-5.88 4.39-3.8 7.16-9.02 7.75-14.64 0.59-5.64-1.03-11.28-4.56-15.82-3.53-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.95 2.78-5.09 2.9-8.87 7.51-10.6 12.92-1.74 5.41-1.29 11.25 1.23 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M381.72999999999956 244.30999999999995c5.93 0.01 11.65-2.09 16.05-5.88 4.4-3.8 7.17-9.02 7.76-14.64 0.59-5.64-1.04-11.28-4.57-15.82-3.52-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78s-8.87 7.51-10.61 12.92c-1.73 5.41-1.28 11.25 1.24 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M301.9899999999998 320.3600000000001c5.93 0.01 11.65-2.09 16.06-5.89 4.39-3.79 7.16-9.01 7.75-14.64s-1.03-11.27-4.56-15.81c-3.53-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.95 2.78-5.09 2.9-8.87 7.51-10.6 12.92-1.74 5.41-1.29 11.24 1.23 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M381.72999999999956 320.3600000000001c5.93 0.01 11.65-2.09 16.05-5.89 4.4-3.79 7.17-9.01 7.76-14.64s-1.04-11.27-4.57-15.81c-3.52-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78s-8.87 7.51-10.61 12.92c-1.73 5.41-1.28 11.24 1.24 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M142.52000000000044 320.3600000000001c5.93 0.01 11.65-2.09 16.06-5.89 4.39-3.79 7.16-9.01 7.75-14.64s-1.04-11.27-4.57-15.81c-3.52-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78s-8.87 7.51-10.61 12.92c-1.73 5.41-1.28 11.24 1.24 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M222.25 320.3600000000001c5.93 0.01 11.66-2.09 16.06-5.89 4.4-3.79 7.17-9.01 7.76-14.64 0.58-5.63-1.04-11.27-4.57-15.81-3.53-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78-5.1 2.9-8.88 7.51-10.61 12.92a21.82 21.82 0 0 0 1.24 16.36c2.53 5.11 6.96 9.15 12.44 11.33 2.9 1.15 6 1.74 9.14 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M142.52000000000044 396.4100000000001c5.93 0.01 11.65-2.09 16.06-5.88 4.39-3.8 7.16-9.02 7.75-14.64 0.59-5.64-1.04-11.28-4.57-15.82-3.52-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78s-8.87 7.51-10.61 12.92c-1.73 5.41-1.28 11.24 1.24 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M222.25 396.4100000000001c5.93 0.01 11.66-2.09 16.06-5.88 4.4-3.8 7.17-9.02 7.76-14.64 0.58-5.64-1.04-11.28-4.57-15.82-3.53-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.94 2.78-5.1 2.9-8.88 7.51-10.61 12.92a21.82 21.82 0 0 0 1.24 16.36c2.53 5.11 6.96 9.15 12.44 11.33 2.9 1.15 6 1.74 9.14 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M301.9899999999998 396.4100000000001c5.93 0.01 11.65-2.09 16.06-5.88 4.39-3.8 7.16-9.02 7.75-14.64 0.59-5.64-1.03-11.28-4.56-15.82-3.53-4.56-8.7-7.69-14.52-8.8-5.81-1.11-11.85-0.12-16.95 2.78-5.09 2.9-8.87 7.51-10.6 12.92-1.74 5.41-1.29 11.24 1.23 16.36 2.53 5.11 6.97 9.15 12.44 11.33 2.9 1.15 6.01 1.74 9.15 1.75\", style: { fill: \"currentcolor\" } }, { d: \"M134.53999999999996 46.580000000000155v30.42\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M389.6999999999998 46.580000000000155v30.42\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M469.4399999999996 153.04999999999995h-414.63\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, calendar: { viewBox: \"0 0 512 512\", paths: [{ d: \"M480.10000000000036 121.68000000000029c-0.01-16.13-6.73-31.6-18.69-43.01-11.97-11.4-28.18-17.82-45.1-17.83h-15.94v-14.83c0-8.17-6.58-15.21-15.15-15.59-4.23-0.17-8.35 1.25-11.49 3.96-3.13 2.7-5.02 6.47-5.26 10.49v15.97h-223.26v-14.83c0-8.17-6.58-15.21-15.15-15.59-4.23-0.17-8.34 1.25-11.48 3.96-3.13 2.7-5.03 6.47-5.27 10.49v15.97h-15.94c-16.92 0.01-33.13 6.43-45.09 17.83-11.96 11.41-18.69 26.88-18.7 43.01v11.41c0 1.01 0.43 1.98 1.17 2.69 0.74 0.7 1.76 1.11 2.81 1.11h438.56c1.05 0 2.07-0.41 2.81-1.11 0.74-0.71 1.17-1.68 1.17-2.69z\", style: { fill: \"currentcolor\" } }, { d: \"M33.57999999999993 395.46000000000004c0.01 16.13 6.74 31.6 18.7 43.01 11.96 11.4 28.17 17.82 45.09 17.83h318.94c16.92-0.01 33.13-6.43 45.1-17.83 11.96-11.41 18.68-26.88 18.69-43.01v-225.3c0.01-0.38-0.06-0.75-0.21-1.1s-0.36-0.67-0.64-0.93c-0.28-0.27-0.61-0.48-0.98-0.62s-0.76-0.21-1.16-0.2h-440.54c-0.4-0.01-0.79 0.06-1.16 0.2a2.87 2.87 0 0 0-1.62 1.55c-0.15 0.35-0.22 0.72-0.21 1.1z m342.87-197.73c5.93 0.01 11.64 2.13 16.02 5.93 4.39 3.81 7.13 9.04 7.7 14.67s-1.08 11.26-4.62 15.79c-3.54 4.54-8.72 7.65-14.54 8.75-5.82 1.09-11.85 0.08-16.93-2.84-5.09-2.91-8.84-7.53-10.56-12.93-1.71-5.42-1.25-11.25 1.3-16.37 2.54-5.1 6.98-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m0 76.05c5.93 0.01 11.64 2.13 16.02 5.93 4.39 3.81 7.13 9.04 7.7 14.67s-1.08 11.26-4.62 15.79c-3.54 4.54-8.72 7.65-14.54 8.75-5.82 1.09-11.85 0.08-16.93-2.84-5.09-2.91-8.84-7.53-10.56-12.94-1.71-5.41-1.25-11.24 1.3-16.36 2.54-5.1 6.98-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m-79.74-76.05c5.93 0.01 11.64 2.13 16.03 5.93 4.38 3.81 7.12 9.04 7.69 14.67 0.58 5.63-1.08 11.26-4.61 15.79-3.54 4.54-8.73 7.65-14.55 8.75-5.82 1.09-11.85 0.08-16.93-2.84-5.08-2.91-8.84-7.53-10.56-12.93-1.71-5.42-1.25-11.25 1.3-16.37 2.54-5.1 6.99-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m0 76.05c5.93 0.01 11.64 2.13 16.03 5.93 4.38 3.81 7.12 9.04 7.69 14.67 0.58 5.63-1.08 11.26-4.61 15.79-3.54 4.54-8.73 7.65-14.55 8.75-5.82 1.09-11.85 0.08-16.93-2.84-5.08-2.91-8.84-7.53-10.56-12.94-1.71-5.41-1.25-11.24 1.3-16.36 2.54-5.1 6.99-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m0 76.05c5.93 0.01 11.64 2.13 16.03 5.93 4.38 3.81 7.12 9.04 7.69 14.67 0.58 5.63-1.08 11.25-4.61 15.79-3.54 4.54-8.73 7.65-14.55 8.74-5.82 1.1-11.85 0.09-16.93-2.83-5.08-2.91-8.84-7.53-10.56-12.94-1.71-5.41-1.25-11.24 1.3-16.36 2.54-5.1 6.99-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m-79.74-76.05c5.93 0.01 11.64 2.13 16.03 5.93 4.38 3.81 7.13 9.04 7.69 14.67 0.58 5.63-1.07 11.26-4.61 15.79-3.54 4.54-8.72 7.65-14.54 8.75-5.82 1.09-11.85 0.08-16.94-2.84-5.08-2.91-8.84-7.53-10.55-12.94-1.72-5.41-1.26-11.24 1.29-16.36 2.54-5.1 6.99-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m0 76.05c5.93 0.01 11.64 2.13 16.03 5.93 4.38 3.81 7.13 9.04 7.69 14.67 0.58 5.63-1.07 11.25-4.61 15.79s-8.72 7.65-14.54 8.74c-5.82 1.1-11.85 0.09-16.94-2.83-5.08-2.91-8.84-7.53-10.55-12.94-1.72-5.41-1.26-11.24 1.29-16.36 2.54-5.1 6.99-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m-79.73-76.05c5.93 0.01 11.64 2.13 16.02 5.93 4.39 3.81 7.13 9.04 7.7 14.67s-1.08 11.26-4.62 15.79c-3.54 4.54-8.72 7.65-14.54 8.75-5.82 1.09-11.85 0.08-16.93-2.84-5.09-2.91-8.84-7.53-10.56-12.94a21.78 21.78 0 0 1 1.3-16.36c2.54-5.1 6.98-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72m0 76.05c5.93 0.01 11.64 2.13 16.02 5.93 4.39 3.81 7.13 9.04 7.7 14.67s-1.08 11.25-4.62 15.79-8.72 7.65-14.54 8.74c-5.82 1.1-11.85 0.09-16.93-2.83-5.09-2.91-8.84-7.53-10.56-12.94a21.78 21.78 0 0 1 1.3-16.36c2.54-5.1 6.98-9.12 12.47-11.28 2.9-1.14 6.02-1.73 9.16-1.72\", style: { fill: \"currentcolor\" } }] }, settings: { viewBox: \"0 0 512 512\", paths: [{ d: \"M464.1500000000001 237.6500000000001c-0.09-2.4-1.11-4.67-2.89-6.37-1.71-1.73-4-2.84-6.47-3.14l-25.52-3.99a5.94 5.94 0 0 1-2.99-1.52 5.3 5.3 0 0 1-1.5-2.95c-0.49-3.04-0.99-6.08-1.69-9.03-0.22-1.05-0.08-2.16 0.4-3.13a6.4 6.4 0 0 1 2.19-2.38l22.73-12.07c2.25-1.11 3.99-2.97 4.88-5.23 0.93-2.25 0.97-4.75 0.1-7.04l-3.89-10.36c-0.87-2.26-2.57-4.15-4.78-5.32a10.7 10.7 0 0 0-7.28-0.86l-25.41 4.76c-1.16 0.17-2.34 0.01-3.39-0.48-1.02-0.47-1.87-1.24-2.39-2.19-1.5-2.66-3.09-5.32-4.79-7.98-0.6-0.94-0.88-2.04-0.8-3.14 0.07-1.12 0.53-2.18 1.3-3.04l16.94-18.63c1.69-1.78 2.68-4.07 2.79-6.47 0.08-2.39-0.77-4.72-2.39-6.56l-7.37-8.46c-1.62-1.85-3.9-3.07-6.4-3.42s-5.05 0.19-7.16 1.52l-22.32 12.74c-1 0.55-2.15 0.79-3.29 0.67-1.16-0.11-2.25-0.57-3.09-1.33-2.5-2.1-4.99-4.09-7.38-5.9a5.14 5.14 0 0 1-1.89-2.66 5.18 5.18 0 0 1 0.2-3.23l9.27-23.2c0.98-2.21 1.09-4.7 0.3-6.99-0.78-2.29-2.42-4.23-4.59-5.46l-10.07-5.61c-2.19-1.23-4.78-1.62-7.27-1.14-2.49 0.47-4.71 1.83-6.18 3.8l-16.35 19.49a5.23 5.23 0 0 1-2.49 1.81c-1.02 0.31-2.12 0.24-3.09-0.19-0.6-0.19-5.78-2.29-9.77-3.52a5.53 5.53 0 0 1-2.69-1.9 4.9 4.9 0 0 1-1-3.04l0.4-24.82c0.15-2.42-0.62-4.82-2.19-6.74-1.54-1.92-3.79-3.2-6.28-3.62l-11.36-1.9c-2.48-0.38-5.02 0.09-7.18 1.33-2.14 1.27-3.74 3.23-4.48 5.52l-8.47 23.57a4.9 4.9 0 0 1-2.1 2.57c-0.97 0.61-2.12 0.91-3.29 0.85h-9.76c-1.15 0.04-2.28-0.29-3.19-0.95a5.3 5.3 0 0 1-2.1-2.56l-8.47-23.48c-0.71-2.31-2.31-4.29-4.48-5.52a11.2 11.2 0 0 0-7.18-1.33l-11.46 1.9c-2.47 0.46-4.71 1.74-6.28 3.62a9.14 9.14 0 0 0-2.19 6.65l0.39 24.91c-0.01 1.13-0.4 2.22-1.09 3.13-0.73 0.87-1.7 1.53-2.79 1.9-2.3 0.86-7.28 2.67-9.47 3.43-2 0.66-4.19-0.1-5.88-2l-16.25-19.01c-1.47-1.98-3.69-3.34-6.18-3.8-2.48-0.48-5.05-0.11-7.27 1.04l-10.07 5.51c-2.22 1.23-3.89 3.19-4.69 5.52-0.81 2.31-0.67 4.83 0.4 7.03l9.17 23.1c0.43 1.04 0.47 2.18 0.1 3.23-0.28 1.05-0.9 1.99-1.79 2.67-2.39 1.9-4.89 3.8-7.38 5.89a5.644 5.644 0 0 1-6.38 0.67l-22.02-13.03c-2.13-1.3-4.68-1.84-7.18-1.52-2.5 0.34-4.77 1.56-6.38 3.42l-7.37 8.46c-1.62 1.84-2.48 4.17-2.4 6.56 0.1 2.41 1.09 4.7 2.79 6.47l17.05 18.63c0.77 0.86 1.22 1.92 1.29 3.04 0.09 1.1-0.19 2.2-0.79 3.14-1.7 2.57-3.29 5.32-4.79 7.98-0.57 0.99-1.43 1.78-2.49 2.29-1.05 0.48-2.23 0.65-3.39 0.47l-25.41-4.66c-2.46-0.59-5.06-0.27-7.29 0.87s-3.93 3.03-4.77 5.31l-3.99 10.36c-0.92 2.28-0.88 4.79 0.1 7.04 0.91 2.24 2.65 4.1 4.88 5.23l22.73 12.07c1 0.54 1.8 1.38 2.29 2.38s0.6 2.15 0.3 3.23l-0.2 1.23c-0.5 2.67-1 5.14-1.5 7.8-0.19 1.07-0.7 2.06-1.49 2.85-0.81 0.8-1.86 1.33-2.99 1.52l-25.62 3.99c-2.5 0.29-4.8 1.44-6.48 3.24-1.69 1.8-2.61 4.14-2.59 6.56v11.02c-0.01 2.42 0.91 4.75 2.58 6.55 1.67 1.81 3.98 2.96 6.49 3.24l25.62 3.9c1.14 0.17 2.2 0.71 2.99 1.52 0.81 0.81 1.32 1.85 1.49 2.95 0.5 3.04 1 6.08 1.7 9.03 0.21 1.09 0.08 2.22-0.4 3.23-0.51 0.96-1.27 1.78-2.19 2.38l-22.73 12.07c-2.25 1.1-4 2.97-4.88 5.23a10 10 0 0 0-0.1 7.03l3.99 10.37c0.87 2.26 2.57 4.15 4.78 5.32 2.23 1.13 4.82 1.45 7.28 0.86l25.51-4.66a5.35 5.35 0 0 1 3.39 0.47c1.02 0.48 1.85 1.24 2.39 2.19 1.5 2.66 3.09 5.32 4.79 7.98 0.59 0.95 0.87 2.04 0.79 3.14-0.07 1.12-0.52 2.2-1.29 3.04l-16.95 18.64c-1.76 1.74-2.8 4.05-2.89 6.46-0.09 2.42 0.76 4.8 2.4 6.65l7.37 8.46c1.62 1.86 3.9 3.08 6.4 3.43s5.04-0.19 7.16-1.52l22.32-12.74c1-0.55 2.15-0.79 3.29-0.67 1.16 0.11 2.24 0.57 3.09 1.33 2.49 2.09 4.98 4.09 7.38 5.9 0.91 0.67 1.57 1.6 1.89 2.66s0.28 2.19-0.1 3.23l-9.27 23.2a9.54 9.54 0 0 0-0.31 6.99c0.79 2.29 2.42 4.23 4.6 5.46l10.06 5.51c2.2 1.23 4.79 1.63 7.28 1.14 2.49-0.46 4.7-1.82 6.18-3.8l16.55-19.3c1.39-1.61 3.58-2.37 5.18-1.71 3.49 1.33 5.78 2.09 9.87 3.42 1.08 0.36 2.02 1.02 2.69 1.91 0.66 0.88 1.01 1.94 0.99 3.04l-0.4 24.81c-0.09 2.42 0.69 4.8 2.2 6.75 1.54 1.91 3.78 3.19 6.28 3.61l11.36 1.9c2.48 0.39 5.02-0.08 7.18-1.33 2.17-1.23 3.77-3.2 4.48-5.51l8.47-23.58a4.88 4.88 0 0 1 2.1-2.56c0.94-0.66 2.12-0.96 3.28-0.86h9.77c1.15-0.04 2.28 0.3 3.19 0.95 0.97 0.63 1.7 1.52 2.1 2.57l8.47 23.48c0.68 2.02 2.01 3.78 3.79 5.05a11 11 0 0 0 6.17 1.98c0.6-0.02 1.21-0.07 1.8-0.19l11.46-1.9c2.48-0.45 4.7-1.73 6.28-3.61a9.2 9.2 0 0 0 2.19-6.66l-0.4-24.9c-0.04-1.1 0.31-2.17 1-3.04s1.63-1.53 2.69-1.91c3.79-1.23 6.48-2.18 8.87-3.04l0.6-0.19c3.09-1.04 4.59 0.19 5.48 1.24l16.75 19.58c1.49 1.96 3.7 3.31 6.19 3.8 2.49 0.5 5.07 0.09 7.26-1.14l10.07-5.51c2.19-1.19 3.84-3.12 4.58-5.42 0.8-2.3 0.7-4.8-0.29-7.03l-9.17-23.1a5.2 5.2 0 0 1-0.2-3.24c0.28-1.07 0.94-2.01 1.89-2.66 2.39-1.9 4.88-3.8 7.38-5.89 0.86-0.72 1.94-1.19 3.09-1.33 1.14-0.12 2.29 0.12 3.28 0.66l22.33 12.74c2.12 1.3 4.68 1.85 7.18 1.52 2.5-0.34 4.77-1.56 6.38-3.42l7.37-8.46a9.44 9.44 0 0 0 2.39-6.65 9.88 9.88 0 0 0-2.79-6.47l-17.04-18.73c-0.76-0.84-1.21-1.9-1.3-3.01s0.19-2.21 0.8-3.17c1.7-2.56 3.29-5.32 4.79-7.98 0.59-0.96 1.45-1.75 2.49-2.28 1.04-0.49 2.23-0.66 3.39-0.48l25.41 4.76c2.45 0.59 5.06 0.28 7.29-0.86s3.93-3.04 4.77-5.32l3.89-10.37c0.92-2.27 0.88-4.79-0.1-7.03-0.92-2.24-2.65-4.1-4.88-5.23l-22.73-12.07a5.37 5.37 0 0 1-2.29-2.38c-0.5-1-0.6-2.16-0.3-3.23l0.2-1.24c0.5-2.66 1-5.13 1.49-7.79 0.19-1.07 0.71-2.06 1.5-2.85 0.81-0.8 1.85-1.33 2.99-1.52l25.61-3.9c2.51-0.29 4.81-1.44 6.48-3.23 1.69-1.81 2.61-4.15 2.59-6.56v-11.22z m-281.47 89.36c-1.23 2.08-2.98 3.84-5.08 5.13-2.09 1.3-4.48 2.12-6.98 2.38-2.47 0.26-4.97-0.07-7.27-0.95-2.33-0.86-4.42-2.23-6.08-3.99-22.46-23.67-34.86-54.48-34.79-86.4 0.08-31.92 12.62-62.66 35.19-86.24 1.66-1.77 3.74-3.13 6.08-3.99 2.31-0.85 4.81-1.14 7.27-0.86 2.49 0.26 4.89 1.08 6.98 2.38 2.08 1.32 3.82 3.08 5.08 5.13l45.45 76.43c1.38 2.3 2.1 4.88 2.1 7.51 0 2.64-0.72 5.22-2.1 7.51z m74.16 44.87c-9.48 0-18.94-0.95-28.21-2.85a15.8 15.8 0 0 1-6.59-3.06c-1.9-1.5-3.4-3.42-4.37-5.59-0.97-2.16-1.41-4.5-1.3-6.85 0.13-2.35 0.85-4.63 2.1-6.65l45.84-76.05c1.4-2.28 3.39-4.19 5.79-5.52 2.39-1.32 5.11-2.01 7.87-1.99h91.8c2.46 0.01 4.88 0.56 7.07 1.61a15.66 15.66 0 0 1 5.58 4.47c1.47 1.92 2.46 4.13 2.89 6.47 0.39 2.32 0.22 4.69-0.49 6.93-17.45 51.53-68.18 89.08-127.98 89.08m7.47-155.81l-45.35-76.24c-1.18-2.05-1.9-4.31-2.09-6.65-0.22-3.54 0.91-7.04 3.15-9.86s5.48-4.79 9.11-5.54c9.08-1.82 18.33-2.75 27.61-2.76 59.8 0 110.53 37.45 127.98 89.17 0.7 2.25 0.87 4.62 0.5 6.94-0.41 2.33-1.4 4.53-2.88 6.43-1.46 1.9-3.38 3.45-5.6 4.5a16.7 16.7 0 0 1-7.07 1.62h-91.7c-2.79 0-5.54-0.69-7.97-2a17.5 17.5 0 0 1-5.69-5.61\", style: { fill: \"currentcolor\" } }] }, trailer: { viewBox: \"0 0 512 512\", paths: [{ d: \"M434.65500000000003 204.75999999999976l-269.311 2c36.679-13.69 74.355-27.48 112.429-41.35 48.54-17.78 97.08-35.46 142.73-52.67 3.69-1.55 6.589-4.43 8.064-8a13.97 13.97 0 0 0-0.191-11.11l-1.893-4.27a503 503 0 0 0-30.102-64.08c-1.914-2.5-4.647-4.32-7.769-5.19-3.122-0.86-6.453-0.7-9.473 0.44a47263 47263 0 0 1-129.473 47.72c-74.953 27.66-160.67 59.13-193.86 71.49-3.556 1.33-6.43 3.93-8.01 7.25a13.44 13.44 0 0 0-0.462 10.53c5.283 13.97 8.672 22.91 11.163 29.08-6.925 6.11-11.842 14.01-14.153 22.72l-0.797 3.52-0.3 1.33a17 17 0 0 0-0.298 3.04v7.23c0.087 1.38 0.32 2.75 0.697 4.09 1.613 8.67 5.719 16.75 11.86 23.32 6.142 6.58 14.079 11.41 22.926 13.94 0.199 36.03 0.697 147.54 0.697 169.12 0.005 3.7 1.55 7.25 4.297 9.87s6.47 4.09 10.355 4.1c52.127 0 343.266 1.24 343.266 1.24 3.852 0 7.552-1.45 10.295-4.03s4.308-6.09 4.357-9.76c0-1.61 2.292-159.89 2.292-213.6-0.199-15.88-15.449-17.97-19.336-17.97m-155.287 65.4l23.821-36.6 53.424-0.38-24.021 36.98z m-10.765-36.31l-23.622 36.31H192.255l23.323-36.02z m-36.38-81.75c-16.545 6.08-32.791 12.07-49.038 18.06l5.98-49.72 49.039-18.06z m35.084-12.93l-4.385 1.61 5.98-49.81 50.334-18.44-6.08 49.91z m128.676-47.34c-16.945 6.37-34.387 12.74-51.829 19.2l6.081-49.91 27.508-10.07c5.282 11.21 13.156 28.99 18.24 40.78m-311.073 82.32l-5.183-13.4c19.336-7.23 47.244-17.49 78.54-29l-5.98 49.82c-6.379 2.37-12.857 4.75-19.137 7.13-4.406-4.97-9.93-8.92-16.159-11.57-6.229-2.66-13.004-3.93-19.821-3.74-0.798 0-1.894 0.19-2.791 0.19-2.634-0.03-5.266 0.12-7.874 0.48a10.6 10.6 0 0 0-1.595 0.09m-12.857 48.67l0.598-6.65c1.488-4.84 4.785-8.99 9.266-11.68 4.481-2.68 9.836-3.69 15.053-2.87 5.2 0.66 9.945 3.17 13.275 7.04 3.331 3.86 4.999 8.79 4.666 13.78-0.5 4.38-2.579 8.43-5.881 11.5-0.474 0.47-0.974 0.92-1.495 1.34-3.664 2.97-8.253 4.7-13.056 4.94-5.18 0.41-10.335-1.05-14.435-4.1s-6.847-7.45-7.692-12.35c-0.06-0.32-0.16-0.64-0.3-0.95m35.482 43.73c0.997-0.28 1.794-0.85 2.791-1.23a49 49 0 0 0 10.166-4.57l0.2-0.09a51.9 51.9 0 0 0 10.764-8.65c0.299-0.29 0.598-0.48 0.797-0.67s0.698-0.95 1.097-1.33c0.797-0.95 1.495-1.9 2.193-2.85a43.2 43.2 0 0 0 7.176-12.36l38.273-0.28-23.223 35.74H107.535z m314.961 155.62c-54.62-0.19-247.883-1.05-314.164-1.14-0.099-28.05-0.299-83.66-0.498-122.92h316.355c-0.598 47.15-1.294 99.72-1.693 124.06m1.793-152.01h-57.41l24.12-37.26 33.39-0.29c0.099 10.56-0.1 23.48-0.1 37.55\", style: { fill: \"currentcolor\" } }] }, \"add-to-library\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M141.81899999999996 68.92000000000007h212.299c9.07-0.28 16.146-6.94 15.947-15.02-0.299-7.7-7.276-13.88-15.947-14.16H141.81899999999996c-9.07 0.28-16.147 6.94-15.948 15.02 0.299 7.7 7.276 13.88 15.948 14.16\", style: { fill: \"currentcolor\" } }, { d: \"M118.09599999999989 112.74000000000024h254.26c8.874 0 16.044-6.55 16.044-14.54 0-8.08-7.17-14.54-16.044-14.54h-254.26c-8.871 0-16.047 6.56-16.047 14.54 0.1 7.99 7.276 14.54 16.047 14.54\", style: { fill: \"currentcolor\" } }, { d: \"M391.68999999999994 296.21000000000004h-40.661v-38.69c0-3.48-1.449-6.81-4.029-9.27-2.579-2.47-6.077-3.84-9.725-3.84s-7.147 1.37-9.726 3.84c-2.58 2.46-4.029 5.79-4.029 9.27v38.69h-40.566c-3.648 0-7.146 1.38-9.726 3.84-2.579 2.47-4.029 5.8-4.029 9.28s1.45 6.82 4.029 9.28c2.58 2.46 6.078 3.84 9.726 3.84h40.566v38.69c0 3.48 1.449 6.82 4.029 9.28s6.078 3.84 9.726 3.84 7.146-1.38 9.725-3.84c2.58-2.46 4.029-5.8 4.029-9.28v-38.69h40.661c3.65 0 7.15-1.38 9.73-3.84s4.03-5.8 4.03-9.28-1.45-6.81-4.03-9.28c-2.58-2.46-6.08-3.84-9.73-3.84\", style: { fill: \"currentcolor\" } }, { d: \"M424.3799999999999 200.20000000000027v-28.52c-0.02-11.96-5.01-23.45-13.88-31.91s-20.91-13.22-33.458-13.24H99.85799999999995c-12.555 0.01-24.592 4.76-33.469 13.23s-13.867 19.95-13.875 31.92v170.16c0.015 11.97 5.007 23.46 13.883 31.92 8.876 8.47 20.909 13.22 33.461 13.24h118.608c11.763 16.43 27.129 30.23 45.035 40.43 17.907 10.21 37.925 16.59 58.669 18.68 20.744 2.1 41.719-0.13 61.47-6.52 19.75-6.4 37.81-16.81 52.92-30.53 15.12-13.71 26.94-30.39 34.62-48.89 7.69-18.49 11.07-38.36 9.92-58.22-1.17-19.87-6.84-39.25-16.63-56.82-9.8-17.57-23.47-32.9-40.09-44.93m-324.522 157.61c-4.465-0.01-8.744-1.7-11.901-4.71s-4.935-7.09-4.944-11.35v-170.16c0.009-4.26 1.787-8.34 4.944-11.35 3.157-3.02 7.436-4.71 11.901-4.72h277.184c4.468 0.01 8.738 1.7 11.898 4.72 3.16 3.01 4.94 7.09 4.95 11.35v11.41c-25.963-10.66-54.638-13.79-82.448-8.99-27.81 4.79-53.523 17.29-73.928 35.95-20.405 18.65-34.596 42.61-40.802 68.92-6.206 26.29-4.152 53.74 5.906 78.93z m237.515 62.75c-15.997-0.01-31.821-3.16-46.483-9.26-14.663-6.11-27.849-15.02-38.735-26.2l-4.486-5.23a116 116 0 0 1-13.455-19.68l-1.296-2.38h-0.498c-11.035-21.73-14.358-46.28-9.469-69.97 4.888-23.68 17.724-45.21 36.567-61.32 18.845-16.13 42.675-25.96 67.894-28.02 25.218-2.06 50.458 3.76 71.908 16.58 21.44 12.81 37.93 31.95 46.97 54.49 9.05 22.55 10.16 47.29 3.17 70.49s-21.72 43.6-41.93 58.12c-20.22 14.52-44.846 22.38-70.157 22.38\", style: { fill: \"currentcolor\" } }] }, \"remove-from-library\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M391.5999999999999 296.21000000000004h-108.74c-3.65 0-7.15 1.38-9.73 3.84-2.58 2.47-4.02 5.8-4.02 9.28s1.44 6.82 4.02 9.28 6.08 3.84 9.73 3.84h108.74c3.65 0 7.15-1.38 9.73-3.84s4.03-5.8 4.03-9.28-1.45-6.81-4.03-9.28c-2.58-2.46-6.08-3.84-9.73-3.84\", style: { fill: \"currentcolor\" } }, { d: \"M424.3899999999999 200.20000000000027v-28.52c-0.01-11.97-4.99-23.45-13.87-31.92s-20.91-13.22-33.47-13.23h-277.19c-12.54 0.02-24.58 4.78-33.45 13.24-8.88 8.46-13.87 19.95-13.89 31.91v170.16c0.02 11.97 5.01 23.45 13.89 31.92 8.87 8.46 20.91 13.22 33.45 13.24h118.61c11.76 16.43 27.13 30.23 45.03 40.43 17.92 10.21 37.93 16.59 58.68 18.68 20.74 2.1 41.71-0.13 61.47-6.52 19.75-6.4 37.81-16.81 52.92-30.53 15.12-13.71 26.93-30.39 34.62-48.89 7.69-18.49 11.07-38.36 9.92-58.22-1.17-19.87-6.84-39.25-16.63-56.82-9.8-17.57-23.47-32.9-40.09-44.93m-324.53 157.61c-4.46-0.01-8.74-1.7-11.9-4.71s-4.93-7.09-4.94-11.35v-170.16c0.01-4.26 1.78-8.34 4.94-11.35 3.16-3.02 7.44-4.71 11.9-4.72h277.19c4.46 0.01 8.74 1.7 11.9 4.72 3.16 3.01 4.93 7.09 4.94 11.35v11.41c-25.95-10.66-54.63-13.79-82.44-8.99-27.81 4.79-53.53 17.29-73.93 35.95-20.4 18.65-34.6 42.61-40.81 68.92-6.19 26.29-4.14 53.74 5.92 78.93z m237.42 62.75c-16-0.01-31.82-3.16-46.49-9.26-14.66-6.11-27.84-15.02-38.73-26.2l-4.48-5.23a115.4 115.4 0 0 1-13.46-19.68l-1.29-2.38h-0.5c-10.03-19.79-13.67-41.97-10.48-63.72 3.19-21.76 13.08-42.14 28.42-58.54 15.33-16.41 35.41-28.1 57.72-33.62 22.3-5.52 45.82-4.6 67.57 2.63 21.76 7.23 40.78 20.45 54.66 37.99 13.88 17.55 21.99 38.62 23.32 60.56 1.31 21.94-4.21 43.76-15.89 62.7-11.68 18.95-28.99 34.16-49.74 43.72-15.77 7.31-33.09 11.08-50.63 11.03\", style: { fill: \"currentcolor\" } }, { d: \"M141.82999999999993 68.92000000000007h212.29c9.07-0.28 16.15-6.94 15.95-15.02-0.3-7.7-7.27-13.88-15.95-14.16h-212.29c-9.07 0.28-16.15 6.94-15.95 15.02 0.3 7.7 7.27 13.88 15.95 14.16\", style: { fill: \"currentcolor\" } }, { d: \"M118.09999999999991 112.74000000000024h254.36c8.87 0 16.05-6.55 16.05-14.54 0-8.08-7.18-14.54-16.05-14.54h-254.26c-8.87 0-16.04 6.56-16.04 14.54 0 7.99 7.17 14.54 15.94 14.54\", style: { fill: \"currentcolor\" } }] }, details: { viewBox: \"0 0 512 512\", paths: [{ d: \"M414.23 76.04999999999973h-314.56c-14.09 0.03-27.58 5.37-37.54 14.87-9.96 9.49-15.56 22.37-15.59 35.8v234.04c0.03 13.43 5.63 26.3 15.59 35.8s23.45 14.84 37.54 14.87h314.56c14.08-0.03 27.58-5.37 37.53-14.87 9.96-9.5 15.56-22.37 15.59-35.8v-234.04c-0.04-13.42-5.65-26.29-15.61-35.78-9.95-9.5-23.44-14.85-37.51-14.89m19.73 284.71c-0.01 4.99-2.09 9.77-5.79 13.3s-8.71 5.51-13.94 5.52h-314.56c-5.24-0.01-10.25-1.99-13.95-5.52s-5.78-8.31-5.79-13.3v-234.04c0.01-4.99 2.09-9.77 5.79-13.3s8.71-5.52 13.95-5.52h314.56c5.23 0 10.24 1.99 13.94 5.52s5.78 8.31 5.79 13.3z\", style: { fill: \"currentcolor\" } }, { d: \"M129.97000000000003 175.48000000000002h203.92c4.17-0.27 8.07-2.04 10.92-4.95 2.85-2.92 4.43-6.75 4.43-10.73s-1.58-7.81-4.43-10.73c-2.85-2.91-6.75-4.68-10.92-4.96h-203.92c-4.17 0.28-8.08 2.05-10.92 4.96-2.85 2.92-4.43 6.75-4.43 10.73s1.58 7.81 4.43 10.73c2.84 2.91 6.75 4.68 10.92 4.95\", style: { fill: \"currentcolor\" } }, { d: \"M219.3699999999999 284.4200000000001h-89.4c-4.18 0.28-8.09 2.06-10.95 4.98s-4.44 6.76-4.44 10.76c0 3.99 1.58 7.84 4.44 10.76s6.77 4.69 10.95 4.97h87.51c4.17-0.28 8.08-2.05 10.94-4.97 2.85-2.92 4.45-6.77 4.45-10.76 0-4-1.6-7.84-4.45-10.76-2.86-2.92-6.77-4.7-10.94-4.98\", style: { fill: \"currentcolor\" } }, { d: \"M335.99000000000024 212.3699999999999h-206.02c-4.18 0.28-8.09 2.05-10.95 4.97-2.86 2.93-4.44 6.77-4.44 10.76 0 4 1.58 7.85 4.44 10.76 2.86 2.92 6.77 4.7 10.95 4.98h204.42c4.18-0.28 8.08-2.06 10.94-4.98 2.86-2.91 4.45-6.76 4.45-10.76 0-3.99-1.59-7.83-4.45-10.76-2.86-2.92-6.76-4.69-10.94-4.97\", style: { fill: \"currentcolor\" } }] }, memory: { viewBox: \"0 0 512 512\", paths: [{ d: \"M437.1500000000001 136.0300000000002l-59.7-56.94c-3.6-3.46-7.89-6.2-12.61-8.06a40.3 40.3 0 0 0-14.9-2.78h-212.5c-13.75 0.01-26.92 5.22-36.64 14.49s-15.18 21.84-15.19 34.95v247.25c0.01 13.11 5.47 25.68 15.19 34.95s22.89 14.48 36.64 14.48h259.24c13.75 0 26.92-5.21 36.64-14.48s15.18-21.84 15.19-34.95v-202.67c0.02-4.88-0.97-9.71-2.92-14.2-1.95-4.51-4.82-8.6-8.44-12.04m-280.28-5.99h142.53c0.85 0 1.7 0.16 2.49 0.47 0.78 0.31 1.5 0.77 2.1 1.34a6.08 6.08 0 0 1 1.89 4.37v37.08c0 0.81-0.17 1.61-0.49 2.36-0.65 1.52-1.92 2.72-3.5 3.35-0.79 0.31-1.64 0.47-2.49 0.47h-142.53c-0.84 0-1.69-0.16-2.48-0.47-1.58-0.63-2.85-1.83-3.51-3.35-0.31-0.75-0.48-1.55-0.48-2.36v-37.08c0-0.8 0.17-1.61 0.48-2.36 0.49-1.13 1.32-2.1 2.39-2.78a6.77 6.77 0 0 1 3.6-1.04m113.23 247.26c-12.81 0.57-25.5-2.49-36.48-8.79-10.97-6.31-19.75-15.58-25.21-26.65-5.45-11.05-7.34-23.41-5.44-35.5 1.92-12.1 7.54-23.37 16.17-32.41 8.62-9.04 19.87-15.44 32.31-18.39 12.44-2.94 25.52-2.3 37.58 1.85 12.06 4.13 22.55 11.6 30.17 21.43 7.61 9.83 12 21.6 12.6 33.82 0.1 1.9 0.1 3.9 0 5.8-0.77 15.37-7.52 29.9-18.93 40.79-11.4 10.87-26.65 17.31-42.77 18.05\", style: { fill: \"currentcolor\" } }] }, \"play-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M134.74599999999998 101.34000000000015v280.14c0 16.83 15.051 27.57 27.509 19.49l219.775-143.26c8.771-6.56 10.664-19.2 4.186-28.23a21.6 21.6 0 0 0-4.186-4.28l-219.775-143.35c-12.458-8.08-27.509 2.76-27.509 19.49Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"36.752\", fill: \"none\" } }] }, play: { viewBox: \"0 0 512 512\", paths: [{ d: \"M396.47999999999996 233.94999999999982l-231.137-152.67a13.6 13.6 0 0 0-4.771-1.98c-1.711-0.35-3.48-0.38-5.202-0.07-1.722 0.29-3.366 0.92-4.836 1.82-1.47 0.91-2.737 2.08-3.73 3.46a12.6 12.6 0 0 0-2.392 7.23v305.53a12.15 12.15 0 0 0 1.025 4.85 12.6 12.6 0 0 0 2.9 4.11 13.2 13.2 0 0 0 4.332 2.74c1.619 0.62 3.352 0.95 5.099 0.94 2.714 0.02 5.365-0.78 7.575-2.28l231.137-152.67a13.1 13.1 0 0 0 3.627-3.56 12.4 12.4 0 0 0 1.919-4.61 12.1 12.1 0 0 0-0.084-4.96 12.25 12.25 0 0 0-2.073-4.55 13.4 13.4 0 0 0-3.389-3.24z\", style: { fill: \"currentcolor\" } }] }, \"external-player\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M434.0600000000004 243.17000000000007c0.1 24.52 0 49.05 0.1 73.67z\", style: { fill: \"currentcolor\" } }, { d: \"M469.4400000000005 130.51999999999998c0-11.03-4.48-19.11-14.15-25.29-4.69-3.04-10.27-4.47-16.95-4.47h-362.8c-5.99-0.16-11.89 1.4-16.94 4.47-9.67 6.18-14.16 14.26-14.16 25.29v0.09c0.1 36.32 0.13 72.63 0.1 108.95V310.57000000000016c0 15.49 0 30.89-0.1 46.39-0.04 1.92 0.16 3.83 0.6 5.7 0.84 4.52 2.83 8.76 5.8 12.36s6.84 6.44 11.25 8.27c1.65 0.65 3.35 1.19 5.08 1.62 2.56 0.68 5.21 1.03 7.87 1.04h46.55l14.75-33.08-33.29-0.19c-3.89 0-7.87-0.1-11.86 0.09-4.19 0.19-10.47 0.38-11.26-6.37-0.09-0.76-0.12-1.52-0.1-2.28v-201.62c0-2.28 0-4.76 2.09-6.75 2.09-2 4.78-2 7.08-1.9l34.58 0.19h267.22l34.59-0.19c2.29 0 4.98 0 7.07 1.9 2.1 1.99 2.1 4.56 2.1 6.75v201.72c0.02 0.76-0.01 1.52-0.1 2.28-0.9 6.84-7.08 6.56-11.27 6.37-3.88-0.19-7.87-0.1-11.86-0.1l-26.61 0.19 15.95 33.09h38.57c2.66-0.07 5.3-0.42 7.87-1.05 1.76-0.36 3.46-0.9 5.09-1.62 4.41-1.81 8.28-4.65 11.26-8.26 2.97-3.59 4.96-7.85 5.78-12.36 0.48-1.87 0.68-3.79 0.6-5.71-0.1-15.21-0.1-30.42-0.1-45.63v-71.77c0-36.31-0.1-72.63 0.1-108.94-0.4-0.1-0.4-0.19-0.4-0.19\", style: { fill: \"currentcolor\" } }, { d: \"M339.5700000000006 320.1700000000001c-4.78-14.55-4.88-14.55-20.73-13.69h-0.5c-2.89 0-4.39 0.95-3.59 4.08 1.1 4.38-0.99 7.7-4.38 10.56-4.79 3.99-10.47 6.27-16.45 7.98-17.84 5.13-35.98 5.42-54.12 2.76-10.07-1.52-20.03-3.8-28.31-10.27-2.99-2.37-5.18-5.04-5.28-8.84-0.1-6.27-0.1-6.27-7.08-6.27q-2.49 0.135-4.98 0c-5.58-0.38-8.57 1.99-10.17 7.03-5.88 18.63-12.16 37.17-18.14 55.8a38.2 38.2 0 0 0-1.99 9.32c-0.3 3.9 1.4 6.37 5.98 6.56 4.49 0.09 8.97 0.66 13.56 0.66 25.91 0.1 51.92 0 77.84 0 27.41 0 54.92 0.1 82.33 0 14.55-0.09 16.54-2.75 12.26-15.97-5.29-16.54-10.77-33.08-16.25-49.71\", style: { fill: \"currentcolor\" } }, { d: \"M227.04000000000042 245.35000000000036c-2.89 9.51-5.88 19.02-8.87 28.43-2.29 7.03-1.29 9.6 5.68 13.02 2.99 1.39 6.09 2.57 9.27 3.52a79.9 79.9 0 0 0 27.31 2.94c3.69 0.17 7.38 0.13 11.06-0.09 10.17-0.95 20.34-2.28 29.11-7.89 2.59-1.62 5.08-3.71 4.09-7.03-3.39-11.32-7.08-22.63-10.67-33.94-0.5-1.52-1-2.57-3.19-1.52-14.05 6.46-28.9 5.89-43.75 4.47-5.19-0.48-10.47-1.15-14.86-3.9-3.28-1.9-4.18-1.05-5.18 1.99\", style: { fill: \"currentcolor\" } }, { d: \"M277.47000000000025 205.71000000000004c3.09-0.76 3.89-2.56 2.9-5.41-1.7-5.04-3.09-10.08-4.79-15.12-3.09-9.03-4.58-9.98-14.35-9.98-10.57 0-12.66 1.42-15.65 11.03-1.5 4.75-2.89 9.5-4.49 14.16-0.89 2.66-0.09 4.37 2.7 5.13a70.5 70.5 0 0 0 33.68 0.19\", style: { fill: \"currentcolor\" } }] }, \"series-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M462.8600000000001 126.0600000000004c-7.77-5.23-16.64-5.99-25.61-5.99h-150.31c-3.39 0-6.97 0.85-11.26-1.71 12.66-12.74 24.82-24.91 36.88-37.17 8.37-8.46 16.74-16.83 24.92-25.39 4.48-4.75 6.58-10.17 1.09-15.39-5.48-5.23-10.96-2.95-15.94 1.33-1.5 1.33-2.89 2.75-4.29 4.08-18.14 18.16-36.38 36.32-54.22 54.76-4.69 4.75-8.07 6.18-12.96 0.47-4.68-5.32-9.97-9.98-14.95-15.02-14.85-14.73-29.5-29.56-44.45-44.29-4.39-4.47-9.47-6.94-15.25-2.19s-4.69 10.27-0.4 15.4c1.89 2.09 3.79 4.18 5.88 6.08 16.94 17.02 33.99 33.94 50.83 51.15 1.8 1.8 5.78 3.42 4.19 6.46-1.4 2.66-5.28 1.43-8.07 1.43h-152c-27.41 0.09-39.77 12.07-39.77 38.12v222.06c0 26.24 12.26 38.03 39.57 38.03h359.61c5.21-0.02 10.42-0.47 15.55-1.33 6.73-1.3 12.79-4.74 17.18-9.78 4.39-5.03 6.84-11.34 6.94-17.89q0.15-119.775 0-239.46c0.4-10.46-4.59-17.97-13.16-23.76m-100.76 231.09c-0.01 7.05-2.95 13.82-8.19 18.81-5.23 4.99-12.33 7.8-19.72 7.81h-229.84c-7.4-0.01-14.5-2.82-19.73-7.81s-8.17-11.76-8.18-18.81v-178.05c0.01-7.05 2.95-13.82 8.18-18.81s12.33-7.8 19.73-7.81h229.84c7.39 0.01 14.49 2.82 19.72 7.81 5.24 4.99 8.18 11.76 8.19 18.81z m58.1-98.58c-5.68-0.11-11.09-2.28-15.17-6.05-4.06-3.78-6.47-8.88-6.75-14.29-0.05-5.37 2.14-10.53 6.08-14.36 3.94-3.85 9.32-6.02 14.95-6.08h0.4c12.85-0.09 21.32 7.7 21.42 19.77 0.11 5.43-2.02 10.67-5.94 14.6-3.91 3.94-9.31 6.24-14.99 6.41m-0.49-64.16c-4.25 0-8.39-1.2-11.92-3.45-3.52-2.24-6.27-5.43-7.9-9.17a19.67 19.67 0 0 1-1.22-11.82c0.83-3.97 2.87-7.61 5.87-10.47s6.81-4.8 10.98-5.59c4.16-0.79 8.47-0.39 12.39 1.16s7.26 4.17 9.62 7.54c2.35 3.36 3.6 7.32 3.6 11.36 0.09 5.29-2.01 10.42-5.86 14.25-3.84 3.82-9.12 6.04-14.67 6.19z\", style: { fill: \"currentcolor\" } }] }, series: { viewBox: \"0 0 512 512\", paths: [{ d: \"M462.8600000000001 126.05999999999949c-7.77-5.23-16.64-5.99-25.61-5.99h-150.31c-3.39 0-6.97 0.85-11.26-1.71 12.66-12.74 24.82-24.91 36.88-37.17 8.37-8.46 16.74-16.83 24.92-25.39 4.48-4.75 6.58-10.17 1.09-15.4-5.48-5.22-10.96-2.94-15.94 1.34-1.5 1.33-2.89 2.75-4.29 4.08-18.14 18.16-36.38 36.32-54.22 54.76-4.69 4.75-8.07 6.18-12.96 0.47-4.68-5.32-9.97-9.98-14.95-15.02-14.85-14.73-29.5-29.56-44.45-44.29-4.39-4.47-9.47-6.94-15.25-2.19s-4.69 10.27-0.4 15.4c1.89 2.09 3.79 4.18 5.88 6.08 16.94 17.02 33.99 33.94 50.83 51.15 1.8 1.8 5.78 3.42 4.19 6.46-1.4 2.66-5.28 1.43-8.07 1.43h-152c-27.41 0.09-39.77 12.07-39.77 38.12v222.06c0 26.24 12.26 38.03 39.57 38.03h359.61c5.21-0.02 10.42-0.47 15.55-1.33 6.73-1.29 12.79-4.74 17.18-9.78 4.39-5.03 6.84-11.34 6.94-17.89q0.15-119.775 0-239.46c0.4-10.46-4.59-17.97-13.16-23.76m-100.76 231.09c-0.01 7.05-2.95 13.82-8.19 18.81-5.23 4.99-12.33 7.8-19.72 7.81h-229.84c-7.4-0.01-14.5-2.82-19.73-7.81s-8.17-11.76-8.18-18.81v-178.05c0.01-7.05 2.95-13.82 8.18-18.81s12.33-7.8 19.73-7.81h229.84c7.39 0.01 14.49 2.82 19.72 7.81 5.24 4.99 8.18 11.76 8.19 18.81z m58.1-98.58c-5.68-0.11-11.09-2.27-15.17-6.05-4.06-3.78-6.47-8.88-6.75-14.29-0.05-5.37 2.14-10.53 6.08-14.37 3.94-3.83 9.32-6.01 14.95-6.07h0.4c12.85-0.09 21.32 7.7 21.42 19.77 0.11 5.43-2.02 10.68-5.94 14.6-3.91 3.94-9.31 6.24-14.99 6.41m-0.49-64.17c-4.24 0-8.39-1.19-11.92-3.44-3.51-2.24-6.26-5.43-7.88-9.17a19.64 19.64 0 0 1-1.23-11.81c0.83-3.96 2.88-7.61 5.88-10.46 2.99-2.86 6.8-4.81 10.97-5.6 4.16-0.79 8.46-0.38 12.38 1.17 3.92 1.54 7.25 4.16 9.62 7.53a19.76 19.76 0 0 1 3.6 11.35c0.09 5.3-2.01 10.42-5.86 14.25-3.84 3.82-9.12 6.04-14.67 6.18z\", style: { fill: \"currentcolor\" } }, { d: \"M117.09999999999991 176.0599999999995h207.32s11.96 0 11.96 11.4v160.66s0 11.41-11.96 11.41h-207.32s-11.96 0-11.96-11.41v-160.66s0-11.4 11.96-11.4\", style: { fill: \"currentcolor\" } }] }, megaphone: { viewBox: \"0 0 512 512\", paths: [{ d: \"M374.6199999999999 63.029999999999745s-74.27 88.15-144.21 88.15h-137.41c-3.67 0-7.17 1.39-9.78 3.86-2.59 2.48-4.04 5.83-4.04 9.33v78.71c0.04 3.46 1.52 6.78 4.1 9.2 2.6 2.44 6.08 3.8 9.72 3.79h137.41c69.94 0 144.21 88.75 144.21 88.75 5.36 6.49 20.62 1.96 20.62-8.07v-265.65c0-10.23-14.43-15.55-20.62-8.07\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M79.1899999999996 229.89999999999964s-13.63-4.92-13.63-26.17c0-21.26 13.63-26.17 13.63-26.17\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M409.0799999999999 221.82999999999993c4.99-1.63 9.12-5.04 11.51-9.53a18.56 18.56 0 0 0 1.28-14.48 19.8 19.8 0 0 0-4.93-7.5 20.74 20.74 0 0 0-7.86-4.69\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M244.42999999999938 152.5599999999995v99.57\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M117.75999999999931 152.5599999999995v99.57\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M148.08999999999924 256.0699999999997v137.74a6.23 6.23 0 0 0 1.13 3.62c0.74 1.08 1.81 1.91 3.07 2.4 0.82 0.32 1.71 0.48 2.61 0.47h45.39c1.81 0 3.62-0.34 5.29-0.99 1.68-0.67 3.21-1.64 4.49-2.87 1.28-1.22 2.3-2.68 3-4.27 0.69-1.6 1.04-3.32 1.04-5.05 0-1.27-0.21-2.53-0.62-3.74-7.22-22.04-24.14-46.83-24.14-87.96h13.62c3.64 0.01 7.13-1.35 9.72-3.78 2.58-2.43 4.06-5.74 4.1-9.2v-13.19c0.01-3.47-1.41-6.79-3.96-9.26-2.56-2.47-6.02-3.88-9.65-3.92h-13.83\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }] }, \"channels-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M197.23999999999978 286.3299999999999v-120.63c-0.01-2.59 0.78-5.12 2.28-7.28 1.49-2.15 3.63-3.84 6.13-4.83 1.66-0.66 3.44-1 5.24-1.01 2.33 0.02 4.63 0.57 6.68 1.61l113.82 60.27c2.97 1.54 5.23 4.08 6.35 7.12s1.01 6.36-0.3 9.34c-1.19 2.74-3.33 5.02-6.05 6.45l-113.82 60.37c-2.08 1.12-4.44 1.7-6.83 1.68-2.38-0.02-4.72-0.64-6.79-1.8-2.06-1.16-3.76-2.8-4.94-4.79a12.44 12.44 0 0 1-1.77-6.5\", style: { fill: \"currentcolor\" } }, { d: \"M411.6300000000001 417.1399999999994h-300.91c-3.78-0.15-7.36-1.69-9.98-4.29-2.63-2.61-4.09-6.08-4.09-9.69s1.46-7.08 4.09-9.68c2.62-2.61 6.2-4.15 9.98-4.29h300.91c3.79 0.14 7.36 1.68 9.99 4.29 2.62 2.6 4.08 6.07 4.08 9.68s-1.46 7.08-4.08 9.69c-2.63 2.6-6.2 4.14-9.99 4.29\", style: { fill: \"currentcolor\" } }, { d: \"M456.5799999999999 367.8899999999994h-388.62c-5.09 0-10.13-0.96-14.84-2.81-4.7-1.85-8.98-4.58-12.58-8.01-3.59-3.44-6.45-7.51-8.4-12s-2.95-9.3-2.95-14.16v-209.8c0-4.86 1-9.67 2.95-14.15 1.95-4.49 4.81-8.57 8.4-12 3.6-3.43 7.88-6.16 12.58-8.01a40.2 40.2 0 0 1 14.84-2.82h388.62c5.09 0 10.14 0.95 14.84 2.82 4.71 1.85 8.98 4.58 12.58 8.01s6.46 7.51 8.4 12a35.4 35.4 0 0 1 2.95 14.15v209.8c-0.02 9.81-4.1 19.21-11.37 26.14s-17.12 10.82-27.4 10.84m-388.72-259.8c-3.64 0.01-7.13 1.39-9.71 3.85-2.59 2.46-4.03 5.79-4.04 9.27v209.7c0.01 3.48 1.45 6.81 4.04 9.27 2.58 2.46 6.07 3.84 9.71 3.85h388.62c3.65-0.01 7.14-1.39 9.72-3.85s4.03-5.79 4.03-9.27v-209.8c0-3.48-1.45-6.8-4.03-9.27-2.58-2.46-6.07-3.84-9.72-3.85h-388.62z\", style: { fill: \"currentcolor\" } }] }, channels: { viewBox: \"0 0 512 512\", paths: [{ d: \"M456.5799999999999 367.8900000000003h-388.62c-5.09 0-10.13-0.95-14.84-2.81-4.7-1.85-8.98-4.58-12.58-8.01-3.59-3.44-6.45-7.51-8.4-12s-2.95-9.3-2.95-14.16v-209.8c0-4.86 1-9.67 2.95-14.15 1.95-4.49 4.81-8.57 8.4-12 3.6-3.43 7.88-6.16 12.58-8.01 4.71-1.86 9.75-2.82 14.84-2.82h388.62c5.09 0 10.14 0.96 14.84 2.82 4.71 1.85 8.98 4.58 12.58 8.01s6.46 7.51 8.4 12a35.4 35.4 0 0 1 2.95 14.15v209.8c-0.02 9.8-4.1 19.21-11.37 26.14s-17.12 10.83-27.4 10.84m-245.69-215.31c-1.8 0.01-3.58 0.35-5.24 1.01-1.67 0.66-3.17 1.63-4.44 2.85a13 13 0 0 0-2.95 4.25c-0.68 1.58-1.03 3.29-1.02 5.01v120.63c-0.03 3.44 1.38 6.76 3.91 9.21 2.54 2.45 5.98 3.85 9.59 3.88h0.12c2.35 0 4.67-0.58 6.71-1.68l113.82-60.37a13.4 13.4 0 0 0 4.47-3.72c1.18-1.54 2-3.3 2.39-5.17 0.39-1.88 0.35-3.81-0.13-5.66s-1.36-3.58-2.62-5.08a13.6 13.6 0 0 0-4.11-3.28l-113.82-60.27a15.1 15.1 0 0 0-6.68-1.61\", style: { fill: \"currentcolor\" } }, { d: \"M411.6300000000001 417.1400000000003h-300.91c-3.78-0.15-7.36-1.69-9.98-4.29-2.63-2.61-4.09-6.08-4.09-9.69s1.46-7.08 4.09-9.69c2.62-2.6 6.2-4.14 9.98-4.28h300.91c3.79 0.14 7.36 1.68 9.99 4.28 2.62 2.61 4.08 6.08 4.08 9.69s-1.46 7.08-4.08 9.69c-2.63 2.6-6.2 4.14-9.99 4.29\", style: { fill: \"currentcolor\" } }] }, actors: { viewBox: \"0 0 512 512\", paths: [{ d: \"M125.45000000000073 311.5100000000002c6.84 4.9 11.7 11.08 15.77 20.05 18.77 41.28 50.5 67.06 94.31 76.61 7.62 1.68 15.42 2.55 23.24 2.56 24.01 0 47.77-8.47 70.65-25.2 21.36-15.64 36.7-35.21 45.59-58.2 2.69-6.97 7.52-11.02 12.66-14.89 18.32-13.83 27.19-30.99 27.09-52.48-0.04-8.88-3.01-15.74-9.07-20.98-7.71-6.67-7.55-14.43-6.76-19.7l1.24-8.1c1.73-10.97 3.35-21.35 3.88-32 1.64-32.77-11.62-61.48-40.52-87.76-20.7-18.81-44.74-31.29-73.48-38.18a302 302 0 0 0-38.13-2.76c-11.05 0-19.99 0.89-26.6 2.62-43.05 11.34-74.71 32.16-96.83 63.69-12.88 18.36-18.31 40.6-16.57 67.96 0.49 7.79 1.42 15.8 2.33 23.53 0.42 3.64 0.84 7.28 1.22 10.94 0.42 3.85 1.26 11.9-5.8 18.6-11.82 11.22-13.73 24.53-6.43 44.55 4.15 11.63 11.89 21.79 22.21 29.14m-6.29-53.69c1.71-8.77 6.85-14.86 14.49-17.14 2.29-0.68 3.06-0.91 2.74-5.6-0.99-14.14 2.67-27.57 6.78-39.97 3.3-10.35 9.76-19.51 18.56-26.33 1.97-1.54 5.06-3.57 9.02-3.57 2.42 0 8.37 0.89 11.01 9.11 5.59 17.33 18.41 27.78 44.28 36.05a85.5 85.5 0 0 0 26.2 4.24c1.61 0 3.21-0.04 4.83-0.14 2.56-0.11 5.1-0.45 7.59-1.03-4.58-6.29-9.49-18.97-9.16-24.25l1.34-20.61 13.2 16.37c12.16 15.06 29.48 18.99 46.39 20.98 3.66 0.43 7.34 0.64 11.01 0.64 10.45 0 20.84-1.52 33.22-3.79 2.11-0.45 4.24-0.7 6.39-0.76 11.62 0 11.76 11.07 11.8 14.72 0.08 8.03-0.14 15.2-0.71 21.92-0.04 0.35-0.05 0.7-0.02 1.04 0.33 0.2 0.66 0.38 1.02 0.52 13.76 6 18.73 14.95 16.15 29-2.52 13.72-8.5 33-31.16 41.84-0.61 1.02-1.09 2.1-1.41 3.25l-0.65 1.84c-7.38 19.69-17.71 35.33-31.63 47.84-20.78 18.67-44.13 28.81-69.41 30.13-1.7 0.08-3.39 0.13-5.06 0.13-20.1 0-39.82-6.42-58.63-19.13-21.74-14.4-37.82-35.32-45.68-59.43-1.25-3.79-2.44-5.19-5.57-6.56-17.47-7.62-30.57-32.55-26.93-51.31\", style: { fill: \"currentcolor\" } }] }, \"anime-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M358.9200000000001 128.55000000000018c15.56-17.46 35.51-25.42 59.24-22.09 16.55 2.33 30.06 10.56 40.54 23.47 19.76 24.39 19.12 72.77-30.15 93.25 0.16 2.08 0.2 4.32 0.5 6.55 1.48 10.46 3.47 20.87 4.44 31.37 1.23 13.44-3.38 18.16-17.48 19.38-1.02 0.17-2.03 0.42-3 0.74 6.02 25.39 12.02 50.7 18.01 75.94 0.73 3.06 1.49 6.12 2 9.22 1.33 8.01-2.83 14.37-10.1 15.7-7.84 1.41-14.32-2.95-16.35-11.17-3.09-12.51-6.07-25.04-9.14-37.56-0.33-1.32-0.93-2.57-1.8-4.98-30.32 53.03-75.26 83.33-138.47 83.37-63.32 0.05-108.39-30.1-139.11-83.87-1.98 7.67-3.66 13.88-5.18 20.13-1.96 8.07-3.6 16.2-5.75 24.23-0.87 3.38-3.1 6.31-6.2 8.13-3.11 1.84-6.86 2.43-10.42 1.65-6.8-1.52-11.29-7.92-9.64-15.26 5.09-22.61 10.57-45.14 15.88-67.71 1.38-5.84 2.69-11.69 4.03-17.52-0.59-0.33-1.07-0.82-1.59-0.86-15.77-1.38-20.16-5.93-18.69-20.91 0.99-10.22 3-20.33 4.49-30.51 0.29-1.95 0.31-3.94 0.51-6.56-22.04-8.49-37.11-23.44-41.47-45.97-3.41-17.55 0.61-34.19 12.56-48.55 20.21-24.26 65.25-35.02 98.77 0.15 67.25-39.69 134.76-39.99 203.57 0.24m-12.01 25.12c-51.66-39.42-131.52-37.81-179.31-0.22 3.96 39-14.89 62.58-54.35 72.58-1.75 9-3.46 17.85-5.33 27.53h57.29c3.01-8.96 5.82-17.68 8.86-26.31 2.9-8.22 10.13-12.55 17.03-10.48 8.12 2.45 11.57 9.08 9.01 17.84-1.83 6.25-3.99 12.43-6.07 18.84h49.67c0-8.11-0.16-15.52 0.04-22.92 0.23-8.51 5.9-14.39 13.38-14.28 7.53 0.11 12.78 5.9 13.07 14.6 0.15 4.3-0.02 8.6 0.07 12.91 0.08 3.31 0.34 6.61 0.52 9.87h49.23c-2.37-7.15-4.75-13.59-6.6-20.15-2.15-7.59 1.45-13.94 8.88-16.51 6.45-2.24 13.25 1.09 16.6 8.22 0.73 1.54 1.09 3.26 1.66 4.87 2.76 7.83 5.54 15.64 8.28 23.37h57.27c-1.98-9.8-3.78-18.66-5.66-27.98-17.66-3.59-32.57-10.88-42.98-24.97-10.36-14.04-14.02-29.5-10.56-46.81m33.92 127.52h-247.79c3.55 28.96 18.13 55.67 40.98 75.06 22.83 19.38 52.34 30.09 82.92 30.09 30.57 0 60.08-10.71 82.92-30.09 22.84-19.39 37.43-46.1 40.97-75.06m-275.86-82.07c18.38 1.83 36.28-14.91 36.24-32.92-0.04-18.79-15.39-34.06-35.02-34.32-20.2-0.26-36.65 15.1-36.4 34.01 0.11 8.84 3.87 17.27 10.45 23.49s15.47 9.72 24.73 9.74m303.29 0c15.75 1.47 35.15-11.23 35.79-33.44 0.51-18.61-15.88-33.55-35.65-33.86-21.63-0.33-35.86 18.49-35.79 33.72 0.08 19.64 19.21 35.36 35.65 33.58\", style: { fill: \"currentcolor\" } }, { d: \"M182.25 327.25c-4.05-4.57-3.27-11.46-1.68-14.58 3.99-7.87 13.96-9.31 21.25-2.74 6.72 6.06 13.09 7.93 21.82 3.84 7.5-3.5 15.62-0.4 18.43 5.76 3.18 6.93 0.1 13.79-7.61 17.89-18.93 10.07-40.06 3.66-52.21-10.18\", style: { fill: \"currentcolor\" } }, { d: \"M331.9499999999998 327.25c4.03-4.57 3.26-11.46 1.68-14.58-4-7.87-13.97-9.31-21.26-2.74-6.72 6.06-13.09 7.93-21.82 3.84-7.49-3.5-15.62-0.4-18.44 5.76-3.17 6.93-0.09 13.79 7.62 17.89 18.93 10.07 40.06 3.66 52.22-10.18\", style: { fill: \"currentcolor\" } }] }, anime: { viewBox: \"0 0 512 512\", paths: [{ d: \"M96.73999999999978 299.0500000000002c-5.31 22.57-10.79 45.1-15.88 67.71-1.65 7.34 2.83 13.75 9.64 15.27 3.56 0.78 7.31 0.19 10.42-1.65 3.11-1.83 5.33-4.76 6.2-8.14 2.15-8.02 3.78-16.16 5.75-24.24 1.52-6.24 3.2-12.45 5.18-20.12 30.72 53.77 75.79 83.92 139.11 83.87 63.21-0.04 108.15-30.34 138.47-83.37 0.87 2.41 1.47 3.66 1.8 4.99 3.06 12.51 6.05 25.04 9.14 37.55 2.02 8.22 8.51 12.58 16.34 11.16 7.28-1.31 11.44-7.68 10.11-15.69-0.51-3.1-1.27-6.16-2-9.22q-8.82-37.275-17.7-74.64h-312.78c-1.26 5.49-2.5 11.01-3.8 16.52m192.95 14.54c9.14 3.87 15.81 2.79 22.6-3.87 4.29-4.2 9.91-5.26 15.71-2.24 4.57 2.39 6.55 5.7 6.92 9.7 0.14 1.98-0.11 3.97-0.77 5.86a15 15 0 0 1-3.08 5.14c-11.7 13.09-32.89 19.32-51.87 9.13-4.09-2.2-7.36-4.78-8.11-9.57-1.74-10.97 7.7-18.76 18.6-14.15m-109.86 1c0.18-0.66 0.43-1.3 0.74-1.91 3.99-7.87 13.97-9.31 21.25-2.74 6.72 6.06 13.1 7.92 21.82 3.84 7.51-3.51 15.62-0.41 18.44 5.75 3.17 6.94 0.09 13.79-7.62 17.89-18.34 9.77-38.76 4.03-50.89-8.72a14.94 14.94 0 0 1-3.76-6.6c-0.66-2.46-0.65-5.05 0.02-7.51\", style: { fill: \"currentcolor\" } }, { d: \"M458.6999999999998 129.9300000000003c-10.47-12.91-23.99-21.14-40.54-23.47-23.73-3.33-43.68 4.64-59.24 22.09-68.81-40.22-136.33-39.92-203.57-0.23-33.52-35.17-78.56-24.42-98.77-0.15-11.96 14.36-15.97 31-12.56 48.55 4.36 22.53 19.42 37.48 41.47 45.96-0.2 2.63-0.23 4.62-0.51 6.57-0.53 3.57-1.11 7.13-1.68 10.69-0.3 1.85-0.17 3.73 0.37 5.54 0.53 1.8 1.47 3.46 2.75 4.89 1.27 1.41 2.86 2.55 4.64 3.34 1.79 0.78 3.73 1.19 5.69 1.19h65.54c3.01-8.96 5.82-17.68 8.86-26.32 2.9-8.21 10.13-12.55 17.03-10.48 8.12 2.46 11.57 9.08 9.01 17.84-1.83 6.25-3.99 12.43-6.07 18.84h49.67c0-8.1-0.16-15.52 0.04-22.92 0.23-8.51 5.9-14.39 13.38-14.27 7.53 0.11 12.78 5.9 13.07 14.6 0.15 4.3-0.02 8.6 0.07 12.9 0.08 3.31 0.34 6.61 0.52 9.87h49.23c-2.37-7.15-4.75-13.58-6.6-20.15-2.15-7.59 1.45-13.93 8.88-16.51 6.45-2.24 13.25 1.1 16.6 8.23 0.73 1.54 1.09 3.25 1.66 4.86 2.76 7.83 5.54 15.64 8.28 23.38h71.19c1.96 0 3.9-0.4 5.68-1.18a13.55 13.55 0 0 0 4.64-3.33c1.28-1.41 2.22-3.07 2.76-4.86 0.55-1.8 0.68-3.68 0.4-5.53-0.53-3.38-1.06-6.76-1.54-10.14-0.3-2.22-0.35-4.47-0.5-6.55 49.26-20.48 49.9-68.86 30.14-93.25m-353.72 69.2c-9.25-0.03-18.15-3.53-24.72-9.75-6.58-6.21-10.34-14.65-10.46-23.49-0.25-18.9 16.2-34.27 36.4-34.01 19.63 0.26 34.98 15.53 35.02 34.32 0.04 18.02-17.86 34.76-36.24 32.93m303.29 0c-16.44 1.78-35.57-13.93-35.65-33.58-0.06-15.23 14.16-34.05 35.79-33.72 19.77 0.31 36.16 15.26 35.65 33.86-0.63 22.22-20.04 34.91-35.79 33.44\", style: { fill: \"currentcolor\" } }] }, \"tv-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M375.2600000000002 293.5500000000002l82.42 55.33c2.45 1.03 5.12 1.45 7.78 1.24 2.65-0.21 5.22-1.03 7.47-2.38 2.22-1.39 4.02-3.28 5.28-5.51 1.25-2.22 1.9-4.71 1.9-7.23v-183.28c0.04-3.83-1.46-7.53-4.18-10.33-2.72-2.82-6.47-4.53-10.47-4.78-2.66-0.21-5.33 0.21-7.78 1.23l-82.42 55.33c-2.1 1.4-3.8 3.26-4.99 5.42-1.18 2.16-1.8 4.58-1.79 7.03v75.48c-0.01 2.45 0.61 4.87 1.79 7.04 1.19 2.15 2.89 4.01 4.99 5.41\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M268.80999999999995 365.03999999999996h-183.4c-6.81 0-13.53-1.28-19.81-3.77-6.28-2.5-11.98-6.16-16.77-10.77-9.65-9.29-15.13-21.81-15.25-34.89v-144.49c0-6.5 1.35-12.91 3.96-18.9 2.62-5.99 6.46-11.43 11.29-15.99 9.73-9.22 22.87-14.45 36.58-14.55h183.9c13.6 0.05 26.63 5.21 36.28 14.36 4.77 4.53 8.56 9.93 11.14 15.86a47 47 0 0 1 3.91 18.74v144.97c-0.06 13.09-5.55 25.63-15.25 34.89-9.71 9.26-22.86 14.48-36.58 14.54Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M92.78999999999996 197.53999999999996h83.62\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M134.6500000000001 298.02000000000044v-100.48\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M181.20000000000027 198.4900000000007l37.97 99.53 37.68-99.53\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }] }, tv: { viewBox: \"0 0 512 512\", paths: [{ d: \"M466.47000000000025 121.63000000000011c-5.27-0.4-10.56 0.45-15.4 2.48-0.97 0.4-1.9 0.9-2.77 1.49l-82.42 55.32c-4.19 2.81-7.61 6.53-9.97 10.87a29.4 29.4 0 0 0-3.58 14.02v75.42c-0.02 4.9 1.21 9.72 3.57 14.06 2.35 4.35 5.78 8.07 9.98 10.89l82.42 55.32c0.86 0.58 1.78 1.08 2.75 1.49a33.2 33.2 0 0 0 15.52 2.47c5.21-0.42 10.22-2.01 14.65-4.65 0.1-0.07 0.2-0.12 0.29-0.19 4.42-2.77 8.05-6.55 10.55-10.99s3.81-9.4 3.8-14.44v-183.21c0.05-7.67-2.95-15.07-8.41-20.71-5.46-5.63-12.95-9.07-20.98-9.64\", style: { fill: \"currentcolor\" } }, { d: \"M269.1100000000001 106.65999999999985h-184.02c-17.93 0.09-35.1 6.93-47.78 19.04-12.67 12.1-19.81 28.5-19.87 45.6v144.63c0.1 17.09 7.26 33.46 19.95 45.54 12.68 12.08 29.85 18.89 47.77 18.97h183.52c17.93-0.13 35.07-6.99 47.74-19.08 12.68-12.1 19.84-28.46 19.96-45.56v-144.96c-0.01-17.02-7.1-33.33-19.71-45.37-12.62-12.03-29.72-18.8-47.56-18.81m2.54 97.18l-37.68 99.53c-1.11 2.94-3.15 5.49-5.83 7.28-2.68 1.8-5.87 2.77-9.15 2.77h-0.02c-3.27 0-6.47-0.96-9.15-2.75a15.24 15.24 0 0 1-5.83-7.26l-34.53-90.47h-19.06v85.27c0 4.03-1.69 7.9-4.68 10.75s-7.04 4.46-11.27 4.46-8.28-1.61-11.27-4.46-4.68-6.72-4.68-10.75v-85.27h-25.91c-4.23 0-8.28-1.61-11.27-4.46s-4.68-6.72-4.68-10.75 1.69-7.9 4.68-10.75 7.04-4.46 11.27-4.46h83.62c4.94 0.57 9.75 1.89 14.25 3.92 2.53 1.77 4.45 4.23 5.53 7.04l22.92 60.1 22.74-60.06c1.45-3.77 4.41-6.84 8.23-8.53s8.18-1.88 12.14-0.52c3.97 1.37 7.2 4.17 9 7.79 1.8 3.64 2.03 7.8 0.63 11.58\", style: { fill: \"currentcolor\" } }] }, \"calendar-thin\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M115.76000000000022 95.34999999999945h282.17c11.22 0.01 21.99 4.26 29.93 11.83 7.93 7.57 12.39 17.84 12.4 28.54v242.2c-0.01 10.7-4.48 20.97-12.41 28.54-7.93 7.56-18.7 11.82-29.92 11.82h-282.17c-11.22 0-21.99-4.26-29.92-11.82-7.94-7.57-12.4-17.84-12.4-28.54v-242.2c0-10.7 4.45-20.97 12.4-28.55 7.93-7.56 18.7-11.82 29.92-11.82Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M292.119999999999 243.35999999999967c4.91 0.02 9.69-1.6 13.49-4.56 3.81-2.97 6.42-7.11 7.39-11.7 0.98-4.6 0.24-9.37-2.07-13.51s-6.05-7.39-10.59-9.19a22.25 22.25 0 0 0-14.3-0.69c-4.71 1.36-8.77 4.23-11.5 8.13a19.43 19.43 0 0 0-3.49 13.24c0.48 4.67 2.64 9.03 6.12 12.35 3.96 3.78 9.34 5.92 14.95 5.93\", style: { fill: \"currentcolor\" } }, { d: \"M362.64999999999964 243.35999999999967c4.92 0.01 9.68-1.6 13.48-4.56 3.81-2.97 6.42-7.1 7.39-11.69 0.96-4.59 0.23-9.36-2.08-13.5-2.3-4.13-6.04-7.37-10.57-9.18-4.54-1.8-9.59-2.03-14.3-0.68-4.69 1.36-8.76 4.22-11.49 8.11s-3.96 8.57-3.49 13.23c0.48 4.67 2.65 9.02 6.11 12.34 3.97 3.78 9.34 5.92 14.95 5.93\", style: { fill: \"currentcolor\" } }, { d: \"M292.119999999999 310.6299999999992c5.24 0 10.29-1.85 14.18-5.21 3.88-3.35 6.32-7.97 6.84-12.94 0.51-4.98-0.93-9.96-4.05-13.98-3.12-4.01-7.69-6.78-12.84-7.75-5.14-0.98-10.47-0.1-14.97 2.47-4.5 2.56-7.83 6.63-9.36 11.41a19.3 19.3 0 0 0 1.11 14.46c2.23 4.52 6.15 8.08 10.99 10 2.57 1.02 5.32 1.54 8.1 1.54\", style: { fill: \"currentcolor\" } }, { d: \"M362.64999999999964 310.6299999999992c5.25 0 10.3-1.85 14.19-5.21 3.87-3.35 6.32-7.97 6.83-12.94 0.51-4.98-0.92-9.96-4.04-13.98-3.12-4.01-7.7-6.78-12.84-7.75-5.14-0.98-10.47-0.1-14.97 2.47-4.51 2.56-7.83 6.63-9.36 11.41a19.26 19.26 0 0 0 1.11 14.46c2.23 4.52 6.15 8.08 10.99 10 2.56 1.02 5.31 1.54 8.09 1.54\", style: { fill: \"currentcolor\" } }, { d: \"M151.03000000000065 310.6299999999992c4.92 0.02 9.69-1.59 13.5-4.55 3.82-2.97 6.43-7.1 7.39-11.7 0.98-4.59 0.25-9.38-2.06-13.51-2.31-4.15-6.05-7.39-10.58-9.19-4.55-1.81-9.6-2.05-14.31-0.7-4.71 1.36-8.78 4.23-11.51 8.13s-3.97 8.57-3.49 13.24 2.64 9.03 6.12 12.35c3.97 3.77 9.34 5.91 14.94 5.93\", style: { fill: \"currentcolor\" } }, { d: \"M221.5599999999995 310.6299999999992c4.91 0.02 9.68-1.59 13.49-4.55 3.8-2.97 6.41-7.09 7.38-11.68s0.24-9.37-2.07-13.5c-2.3-4.15-6.04-7.39-10.58-9.18a22.13 22.13 0 0 0-14.28-0.7c-4.7 1.35-8.77 4.22-11.5 8.12-2.73 3.89-3.97 8.56-3.49 13.22 0.48 4.67 2.64 9.02 6.11 12.34 3.97 3.78 9.34 5.9 14.94 5.93\", style: { fill: \"currentcolor\" } }, { d: \"M151.03000000000065 377.90999999999985c4.91 0.01 9.67-1.61 13.47-4.57s6.4-7.1 7.36-11.68c0.97-4.59 0.23-9.36-2.07-13.49-2.31-4.13-6.05-7.36-10.58-9.16a22.2 22.2 0 0 0-14.28-0.69c-4.69 1.36-8.75 4.23-11.48 8.12s-3.96 8.57-3.48 13.23c0.48 4.65 2.64 9.01 6.11 12.32 3.97 3.78 9.34 5.91 14.95 5.92\", style: { fill: \"currentcolor\" } }, { d: \"M221.5599999999995 377.90999999999985c5.23 0 10.28-1.85 14.14-5.21 3.88-3.35 6.31-7.95 6.82-12.91 0.52-4.97-0.93-9.93-4.04-13.95-3.1-4-7.67-6.76-12.8-7.73-5.13-0.98-10.46-0.11-14.94 2.46-4.49 2.56-7.82 6.62-9.34 11.39-1.53 4.77-1.13 9.91 1.1 14.43 2.23 4.5 6.14 8.07 10.97 9.98 2.56 1.02 5.31 1.54 8.09 1.54\", style: { fill: \"currentcolor\" } }, { d: \"M292.119999999999 377.90999999999985c5.24 0 10.29-1.86 14.18-5.21 3.88-3.36 6.32-7.98 6.84-12.95 0.51-4.97-0.93-9.95-4.05-13.97-3.12-4.01-7.69-6.78-12.84-7.76-5.14-0.98-10.47-0.09-14.97 2.47-4.5 2.57-7.83 6.64-9.36 11.42a19.3 19.3 0 0 0 1.11 14.46c2.23 4.51 6.15 8.08 10.99 10 2.57 1.02 5.32 1.54 8.1 1.54\", style: { fill: \"currentcolor\" } }, { d: \"M143.97999999999956 68.42999999999938v26.92\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M369.7099999999991 68.42999999999938v26.92\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }, { d: \"M440.25 162.6199999999999h-366.81\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"16\", fill: \"none\" } }] }, android: { viewBox: \"0 0 512 512\", paths: [{ d: \"M318.15999999999985 54.98999999999978l23.88-33.07c0.37-0.42 0.65-0.9 0.82-1.42 0.16-0.53 0.21-1.08 0.13-1.62a3.8 3.8 0 0 0-0.57-1.53c-0.3-0.47-0.7-0.87-1.17-1.18-0.7-0.47-1.56-0.71-2.42-0.69-0.87 0.02-1.7 0.3-2.39 0.79a4.1 4.1 0 0 0-1.11 1.24l-24.82 34.37c-34.52-12.77-72.8-12.77-107.33 0l-24.82-34.37c-0.27-0.48-0.65-0.9-1.11-1.24-0.45-0.33-0.98-0.57-1.54-0.69s-1.14-0.14-1.7-0.05c-0.57 0.11-1.1 0.32-1.58 0.63-0.47 0.31-0.87 0.71-1.17 1.18-0.44 0.7-0.65 1.52-0.58 2.35 0.07 0.82 0.41 1.6 0.97 2.23l23.89 33.08c-37.99 16.85-64.62 48.88-68.02 86.25h258.65c-3.39-37.38-30.04-69.4-68.01-86.26m-115.34 52.15c-3.32 0-6.53-1.09-9.09-3.09-2.57-2.01-4.33-4.8-4.97-7.89-0.66-3.1-0.16-6.33 1.4-9.11 1.56-2.8 4.09-4.98 7.15-6.19 3.06-1.22 6.47-1.38 9.64-0.47 3.17 0.93 5.91 2.86 7.75 5.49 1.85 2.62 2.67 5.78 2.35 8.93-0.32 3.14-1.78 6.09-4.12 8.32-1.33 1.27-2.9 2.28-4.64 2.96-1.73 0.69-3.6 1.05-5.47 1.05m108.04 0c-3.56 0-7.01-1.26-9.66-3.54-2.66-2.29-4.32-5.43-4.68-8.82-0.35-3.39 0.63-6.79 2.75-9.53s5.24-4.62 8.74-5.29c3.51-0.67 7.15-0.07 10.21 1.68 3.07 1.75 5.34 4.52 6.38 7.78 1.03 3.27 0.77 6.77-0.76 9.85-1.52 3.08-4.19 5.52-7.49 6.82-1.74 0.68-3.6 1.05-5.49 1.05\", style: { fill: \"currentcolor\" } }, { d: \"M110.90999999999985 297.1399999999994c0 7.3-3.04 14.29-8.45 19.46-5.41 5.16-12.75 8.06-20.4 8.06-7.66 0-14.99-2.9-20.4-8.06-5.42-5.17-8.46-12.16-8.46-19.46v-111.3c0-7.3 3.04-14.3 8.46-19.46 5.41-5.16 12.74-8.06 20.4-8.06 7.65 0 14.99 2.9 20.4 8.06s8.45 12.16 8.45 19.46z\", style: { fill: \"currentcolor\" } }, { d: \"M127.52000000000044 159.15999999999985v201.04c0 5.73 2.39 11.22 6.64 15.27 4.25 4.06 10.01 6.34 16.02 6.34h26.82v61.85c0 7.3 3.04 14.3 8.45 19.46s12.75 8.06 20.4 8.06c7.66 0 14.99-2.9 20.4-8.06 5.42-5.16 8.46-12.16 8.46-19.46v-61.85H278.97999999999956v61.85c0 7.3 3.04 14.3 8.45 19.46s12.75 8.06 20.4 8.06c7.66 0 14.99-2.9 20.41-8.06 5.41-5.16 8.45-12.16 8.45-19.46v-61.85h26.81c6.01 0 11.77-2.28 16.03-6.34 4.24-4.05 6.64-9.54 6.64-15.27v-201.04z\", style: { fill: \"currentcolor\" } }, { d: \"M402.77000000000044 297.1399999999994c0 7.3 3.04 14.29 8.45 19.46 5.41 5.16 12.75 8.06 20.4 8.06s14.99-2.9 20.4-8.06c5.41-5.17 8.45-12.16 8.45-19.46v-111.3c0-7.3-3.04-14.3-8.45-19.46s-12.75-8.06-20.4-8.06-14.99 2.9-20.4 8.06-8.45 12.16-8.45 19.46z\", style: { fill: \"currentcolor\" } }] }, linux: { viewBox: \"0 0 512 512\", paths: [{ d: \"M109.89999999999964 329.08999999999924c1.3 2.47 1.9 5.17 1.9 7.9s-0.6 5.43-1.8 7.9c-4.4 9.77-13.3 12.77-23.6 13.32-3.7 0.2-7.6-0.21-11.5-0.08-5.1 0.17-6.8 1.95-6.9 6.79 0.1 2.78 0.8 5.51 2.2 7.96 2 3.94 3.8 7.99 5.3 12.13 0.9 2.34 1.2 4.83 1 7.31s-0.9 4.9-2.1 7.09c-1.8 3.07-3.4 6.25-4.8 9.44-3 6.65-1.6 9.57 5.8 11.81 9.8 3 20 4.55 30.2 6.46 16 3.04 31.8 7.06 47.2 12.06 8.8 2.82 17.7 4.87 26.8 4.05 16.1-1.43 24.3-9.99 21.2-27.6-1.7-9.71-6.5-18.28-11.9-26.44-9-13.59-18.3-26.99-27.9-40.28-6.6-9.21-13.9-17.91-22.8-25.18-5.9-4.74-12.3-7.17-20-3.19-3.8 1.99-5.3-0.57-5.9-3.64-2-9.7-0.2-19.76 5.2-28.2 7.3-11.73 12.6-24.19 17.2-37.03 6.5-18.3 15.4-35.33 29.1-49.98 9-9.58 15.7-20.78 23.1-31.46 4.8-6.94 3.8-14.42 3.1-21.93-2-19.02-2.1-38.08-3-57.14-0.6-10.9 0.2-21.82 2.4-32.53 2.6-12.07 9.8-21.41 19.4-29.28 16.4-13.2 35.3-15.04 55.7-11.8 8 1.29 15.8 2.97 23.5 6.2 14.6 6.24 24.7 16.82 32.2 29.71 8.5 14.63 12.5 31.26 11.5 47.96-1 23.15 5.1 45.08 15.2 66.03 5.6 11.51 13.8 21.51 22.9 30.61 11.4 11.31 19.6 24.32 26.8 38.13 8.2 15.87 14.2 32.67 17.8 50 2.5 11 2.7 22.37 0.6 33.44-1.1 5.04-3.1 9.23-8.8 11.29-4.1 1.44-5.7 5.61-8.2 8.7-6.9 8.52-14.9 14.72-27.1 15.13-12 0.39-19.9-3.86-24.8-14.52-1.3-2.98-2.7-5.9-5.2-8.19-4.2-3.8-8.3-3-10.5 1.95-4.4 9.39-4 18.93-1.1 28.61 4.7 15.67 3.4 31.45 1.1 47.21-0.9 5.19-1 10.47-0.3 15.69 1.7 13.22 14.7 20.9 29.1 17.38 6.3-1.54 12.1-4.49 16.9-8.61 13-11.03 28.4-19.24 44.9-24.07 8-2.28 16-4.65 22.9-9.34 6.4-4.52 6.6-8.97 0.2-13.62-3.4-2.59-7.3-4.52-11.5-5.68-3.2-0.75-6.2-2.14-8.9-4.09-2.6-1.94-4.8-4.39-6.4-7.18-5.2-8.91-6.1-18.5-3.1-28.31 0.4-1.38 1.1-3.06 2.9-2.68 1.7 0.32 1.5 2.04 1.5 3.3 0.5 16.76 8.9 28.69 24.9 35.98 1 0.43 2 0.93 2.9 1.47 11.4 6.92 12.4 15.53 2.7 24.32-5.6 5.11-12.5 8.53-19.5 11.37-21.2 8.54-39.9 20.64-56.6 35.47-4.8 4.25-11.1 5.18-17 5.91-7.8 0.94-15.7-0.29-23.3-2.49-6.3-1.83-10.6-5.95-13.7-11.18-3.6-6.21-9.1-8.67-16.3-9-19.8-1.01-39.7-0.93-59.6 0.25-5.6 0.37-11.3-0.29-16.9 0.84-9.1 1.78-17.6 4.71-24.6 10.44-13.8 11.22-28.9 10.9-44.6 4.68-22.5-8.9-46-14.27-70-18.09a85.6 85.6 0 0 1-19.1-5.08c-7.3-3.04-10.5-8.51-8.9-15.87 0.6-2.56 1-5.34 2.4-7.48 6.7-10.16 4.8-20.63 1.8-31.27-0.7-2.67-1.3-5.37-1.8-8.11-1.3-8.65 3.3-12.53 13.1-13.75 4-0.49 8-0.37 11.9-0.71 4.2-0.36 7.6-1.92 11.2-3.78 2.8-1.37 5.2-3.36 7.1-5.81 1.8-2.44 3-5.27 3.4-8.24 0.2-0.85 0.5-1.69 0.8-2.51 0-0.11 0.2-0.19 1-0.87m247.7-21.17c-0.8-0.05-1.5-0.04-2.3 0.02-9.7 1.54-14.2-3.24-14.4-12.53-0.3-14.42-0.8-28.77-4.6-42.9-3-11.22-6.1-22.43-14.3-31.39-2.7-2.75-4.6-6.13-5.5-9.8-3.5-14.05-8.6-27.43-18.3-38.88-2.4-2.9-4.2-6.25-5.3-9.86-1-3.6-1.3-7.36-0.8-11.07 0.5-3.43 1.9-6.74 2.7-10.12 1.5-6.21-0.1-9.95-6.5-11.39-7.5-1.69-14.1-5.33-21.1-7.87-6-2.19-7.7-5.97-7.7-11.47 0.1-2.91 0.7-5.78 1.8-8.49 2.2-5.79 5.7-8.75 11.2-8.75 5.9 0 10.4 2.51 13.1 7.59 2.7 5.24 2.7 10.68 0.8 16.15-1.2 3.76-0.2 5.07 4.1 4.99 2.8-0.07 4.7-1.14 5.1-3.98 0.9-8.62 0.5-17.07-3-25.25-3.6-8.06-12.4-13.49-20.4-12.35-11.6 1.65-19.4 8.69-19.9 18.41-0.3 4.21 0 8.45 0.2 12.66 0.2 4.52 0 4.78-4.4 3.21-2.9-1.08-6-1.49-9.1-1.19-8.5 0.79-9 0.28-9.1-8.03 0-6.7-1.5-13.06-5.8-18.56-3.9-4.93-10.2-5.81-15.2-2.3-8.7 6.23-10.2 30.03-2.4 37.36 1.4 1.33 2.6 1.27 3.9 0.05 1.6-1.4 0.5-2.03-0.7-2.98-3.1-2.46-5.1-5.86-5.8-9.6-0.8-3.76-0.1-7.64 1.7-10.98 2.6-4.33 9.4-6.1 13.8-3.56 7.4 4.39 8.5 18.87 2 24.3-5 4.45-10.5 8.5-16.2 12.13-5.1 3.14-4.9 7.74-0.2 11.29 2.5 1.89 4.9 4.02 7 6.38 3.7 4.37 8.5 5.76 14.3 5.99 13.1 0.56 25.6-2.64 37.9-6.48 6.5-2.05 13.4-3.59 17.8-9.4 1.4-1.93 3.8-1.95 5.7-0.29 2 1.8 1.9 3.91 0.1 5.82-1.4 1.23-3 2.09-4.8 2.48-8.8 2.57-17 6.26-25.3 9.64-9.8 3.96-19.8 7.26-30.8 6.1-2.7-0.27-5.4-0.06-8.6-0.08 5.6 6.84 12.6 8.78 20.7 7.73 8.2-1.17 16.2-3.81 23.4-7.75 5.5-2.96 10.8-6.59 17-8.53 2.7-0.85 5.5-0.9 6.7 2.11 1.1 2.85-1.1 4.13-3.4 5.32-8.3 4.26-16.8 8.01-24.2 13.44-5.5 3.97-11.1 7.92-17.3 10.93-9.1 4.52-16.3 3.16-23-4.33-3-3.13-5.7-6.53-8.1-10.13-1.5-2.57-3-5.61-6.4-6.94-0.4 2.37-0.5 4.4-0.9 6.38-1.5 7.46-5.8 13.73-9.4 20.3-5.1 9.26-10.2 18.5-4.7 29.31 0.3 0.52 0.4 1.13 0.3 1.72-0.1 0.58-0.5 1.11-1 1.49-8.4 6.75-12.7 16.02-16.8 25.19-6.2 13.62-11.8 27.47-10.7 42.88 0.4 5.63 0.6 11.38-0.8 16.97-1.5 6.15-4.9 7.1-9.6 2.62-7.2-6.83-9.2-15.63-9.8-24.76-0.3-3.77 0.5-7.58 0.9-11.53-0.5 0.17-0.9 0.48-1.2 0.88-0.3 0.41-0.5 0.89-0.5 1.38-2.4 9.83-0.9 19.42 2.8 28.71 1.3 3.34 2.3 6.99 5.3 9.58 4.9 4.24 9.8 8.53 14.8 12.69 13.9 11.7 28.8 22.38 43.3 33.47 9.8 7.46 9.4 21.5-0.7 26.7-6.6 3.43-6.6 3.43-2.3 9.49 0.6 0.85 1.3 1.68 2 2.47 4.9 5.94 8.1 13.15 8.9 20.77 0.2 2.58 0.1 5.36 1.6 8.15 1.3-1 2.3-2.33 2.8-3.84 0.6-1.51 0.7-3.14 0.3-4.69-0.9-5.71-3-11-7-15.49-1.6-1.72-4-3.54-1.1-5.87 2.5-2.07 5.6-3.04 8.3-0.61 8.8 7.54 19.3 9.17 30.5 9.38 10.7 0.1 21.2-1.48 31.3-4.72 11.4-3.48 21.5-8.69 27.4-19.25 0.6-0.99 1.4-1.89 2.3-2.66 1.6-1.39 3.1-3.09 5.6-2.35 2.5 0.75 2.8 2.89 3.3 4.91 2 7.88-0.1 15.27-2.6 22.69-1.7 5.24-4 10.42-4 16.07 0 1.71 0.4 3.45 2.4 3.68 2.3 0.25 2.1-1.82 2.4-3.11 1.3-5.7 2.4-11.41 3.7-17.09 2.7-11.67 3.3-23.7 1.7-35.58-1-8.08-3.5-16.05-2.8-24.27 0.7-8.07 1.4-17.13 9.7-20.94 6.2-2.8 10.7-5.92 14.1-11.43 3-4.8 9-5.14 14-6.61 7.1-0.75 13.9 0.87 21.4 2.65-1.5-1.85-3.6-3.22-5.9-3.95-3.7-1.38-4.6-3.44-3.7-7.14 1.8-6.76 4-13.63 2.9-20.68-2.4-16.44-4.3-33.07-14.4-47.49-3.3-4.91-7.1-9.58-10.7-14.36 3 5.82 5.9 11.57 9 17.23 3.1 5.86 5.4 12.06 7.8 18.22 3.7 9.81 6.2 20.03 5.5 30.38-0.6 9.51-0.4 19.99-11.8 25.19\", style: { fill: \"currentcolor\" } }] }, windows: { viewBox: \"0 0 512 512\", paths: [{ d: \"M426.2999999999993 434.77999999999975c-27.3-3.79-54.6-7.59-81.9-11.39-31.4-4.37-62.8-8.72-94.2-13.06-6.6-0.92-13.1-1.86-19.7-2.62-1.9-0.24-2.8-0.92-2.6-2.76 0.1-0.66 0.1-1.35 0-2.01v-156.54c77.2 0.39 154 0.8 230.9 1.2v191.64c-10.9-1.5-21.7-2.96-32.5-4.46m-400.4-54.55v-134.85c57.7 0.31 115.2 0.61 172.9 0.91v157.31c-57.7-7.81-115.2-15.58-172.9-23.37m202.2-161.38c0-1.21-0.1-2.38-0.2-3.56v-152.53c0-3.08 1-3.92 4.1-4.31 42.1-5.52 84.3-11.11 126.5-16.76 33-4.4 66.2-8.79 99.3-13.16 0.3 0 0.7 0.03 1 0.08v191.45c-76.8-0.4-153.6-0.8-230.7-1.21m-202.3-1.09v-133.47c57.7-7.12 115.2-14.22 173-21.35v155.72c-57.7-0.29-115.2-0.59-173-0.9\", style: { fill: \"currentcolor\" } }] }, macos: { viewBox: \"0 0 512 512\", paths: [{ d: \"M158 441.28999999999996c-12.5-8.07-22.4-18.64-30.9-30.27-21.5-29.14-37.8-60.62-47.8-94.91-8.9-30.51-11.3-61.41-6.4-92.68 4.4-27.57 15.3-52.41 35.7-72.88 21.3-21.22 47.3-29.86 77.9-26.83 15.3 1.52 30 5.82 44.7 9.97 6.1 1.71 12.3 3 18.5 4.49 8.6 2.12 17.2 1.17 25.7-1.11 11.9-3.27 23.8-7.01 35.8-10.31 18.9-5.25 38.1-6.44 57.5-2.13 22.4 4.95 40 16.92 55 33.06 2.2 2.33 4.3 4.7 6.3 6.92-7.5 6.96-15 13.36-21.8 20.33-17.2 17.55-26.2 38.4-26.4 62.51-0.3 21.95 7.2 43.35 21.1 60.8 9.3 11.79 20.2 21.68 34.8 27.4 1.7 0.67 3.4 1.27 5.6 2.05-2 4.97-3.7 9.91-5.8 14.68-11.9 27.32-27.4 52.56-48.5 74.43-4 4.06-8.4 7.82-13 11.26-15.4 11.84-32.8 16.29-52.3 10.82-9.8-2.73-19.4-5.83-29.2-8.72-10-3-20.1-5.4-30.6-5.71-13-0.38-25.2 3.27-37.3 7.44-9.1 3.14-18.3 6.43-27.8 8.52a47 47 0 0 1-9.9 1.1c-11.1 0-21.4-4.04-30.9-10.23m182.4-415.56c0.4 3.25 1.1 6.48 1 9.68-0.2 23.17-8.6 43.61-23.7 61.62-8.2 9.9-17.9 18.35-29.7 24.51-8.3 4.39-17.6 5.64-26.9 6.7-3 0.33-6.1 0.55-9.2 0.83 0.5-53.81 29.9-92.79 88.5-103.34\", style: { fill: \"currentcolor\" } }] }, \"star-rating-full\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M254.5 32.6299999999992l59 161.23 177.2 4.37-140.6 104 50.4 163.92-146-96.93-146.1 96.93 50.5-163.92-140.7-104.01 177.2-4.37z\", style: { fill: \"currentcolor\" } }] }, \"star-rating-half\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M257.3000000000011 33.98999999999978l-0.5-1.36-59 161.22-177 4.37 140.5 104.01-50.3 163.92 145.8-96.93 0.5 0.33z m235.2 164.23v0.2l0.3-0.19z\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] }, download: { viewBox: \"0 0 512 512\", paths: [{ d: \"M336.60000000000036 164.46000000000004h39.8c5.3 0 10.5 0.98 15.3 2.89 4.9 1.91 9.2 4.72 12.9 8.24 3.7 3.54 6.7 7.73 8.7 12.34s3 9.57 3 14.56v197.73c0 4.99-1 9.94-3 14.55s-5 8.8-8.7 12.34c-3.7 3.53-8 6.33-12.9 8.24-4.8 1.91-10 2.89-15.3 2.89h-239.2c-5.3 0-10.4-0.98-15.2-2.89-4.9-1.91-9.3-4.71-13-8.24-3.7-3.54-6.7-7.73-8.7-12.34s-2.9-9.56-2.9-14.55v-197.73c0-4.99 0.9-9.95 2.9-14.56s5-8.8 8.7-12.34c3.7-3.52 8.1-6.33 13-8.24 4.8-1.91 9.9-2.89 15.2-2.89h39.9\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M177.10000000000036 255.72000000000003l79.7 76.05 79.8-76.05\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M256.8000000000011 42.77999999999997v273.78\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, language: { viewBox: \"0 0 512 512\", paths: [{ d: \"M478.39999999999964 412.1900000000003l-89.7-207.23c-1.2-2.86-3.1-5.42-5.4-7.5-2.4-2.08-5.3-3.62-8.4-4.53-3.1-0.9-6.4-1.13-9.6-0.67-3.2 0.45-6.3 1.58-9 3.3-3.6 2.26-6.4 5.54-8 9.4l-89.7 207.23c-2.2 5.14-2.3 10.9-0.1 16.06 1.1 2.56 2.7 4.88 4.7 6.81 3.1 2.93 7 4.93 11.3 5.74 4.3 0.8 8.7 0.37 12.7-1.24 2.7-1.04 5.1-2.58 7.1-4.54 2-1.97 3.6-4.3 4.7-6.87l18.4-42.19h102.2l18.4 42.19c1.6 3.86 4.4 7.14 8 9.41 3.6 2.31 7.9 3.54 12.2 3.53 3.6 0 7.2-0.84 10.4-2.47 4.8-2.44 8.4-6.5 10.2-11.39 1.9-4.89 1.7-10.26-0.4-15.04m-143-68.06l33.1-76.38 33.1 76.38z\", style: { fill: \"currentcolor\" } }, { d: \"M268.60000000000036 325.99c1.7-2.2 3-4.72 3.6-7.39 0.7-2.68 0.8-5.45 0.3-8.16-0.4-2.7-1.4-5.31-2.9-7.64-1.5-2.34-3.5-4.38-5.8-5.99-0.2-0.15-14.9-10.58-36.3-33.02 39.4-51.03 61.9-109.08 70.9-136.4h32.2c5.8-0.02 11.4-2.22 15.6-6.12 4.1-3.94 6.4-9.25 6.4-14.8 0-5.54-2.3-10.85-6.4-14.79-4.2-3.9-9.8-6.1-15.6-6.12h-115.6v-19.01c0-5.54-2.3-10.86-6.4-14.79-4.1-3.92-9.7-6.13-15.5-6.13s-11.5 2.21-15.6 6.13c-4.1 3.93-6.3 9.25-6.3 14.79v19.01h-115.7c-5.7 0.02-11.3 2.22-15.5 6.12-4.1 3.94-6.4 9.25-6.4 14.79 0 5.55 2.3 10.86 6.4 14.8 4.2 3.9 9.8 6.1 15.5 6.12h196.6c-9.5 25.62-26.9 66.07-53.5 103.01-31.3-39.62-43-65.26-43.1-65.47-2.3-5.06-6.6-9.05-12-11.11-5.2-2.07-11.3-2.03-16.6 0.1-5.4 2.13-9.6 6.17-11.8 11.25-2.3 5.1-2.3 10.81-0.1 15.92 0.6 1.31 14.6 32.54 52.8 79.78 0.9 1.14 1.8 2.24 2.7 3.34-39.1 42.16-77.5 68.31-93.5 76.75-2.5 1.32-4.8 3.09-6.6 5.22-1.8 2.14-3.2 4.6-4 7.24-0.8 2.63-1.1 5.4-0.8 8.12 0.3 2.74 1.2 5.38 2.6 7.8 1.4 2.4 3.2 4.53 5.5 6.25 2.2 1.73 4.8 3.02 7.5 3.79 2.7 0.78 5.6 1.02 8.5 0.74 2.9-0.3 5.7-1.12 8.2-2.43 2.2-1.13 48.4-25.57 101.4-81.37 22.4 22.89 37.8 33.69 38.7 34.32 2.3 1.62 5 2.79 7.8 3.41 2.8 0.65 5.7 0.75 8.6 0.33 5.7-0.91 10.8-3.92 14.2-8.4z\", style: { fill: \"currentcolor\" } }] }, \"movies-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M436.26 91.25999999999931h-358.82c-3.67-0.01-7.3 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77-2.6 2.47-4.65 5.41-6.05 8.64a25.3 25.3 0 0 0-2.12 10.19v250.97c-0.01 3.49 0.72 6.95 2.12 10.19 1.4 3.23 3.45 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.38 1.33 7.01 2.01 10.68 2.01h358.82c3.66 0 7.29-0.68 10.68-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.47 4.64-5.41 6.05-8.64 1.4-3.24 2.12-6.7 2.11-10.19v-250.97c-0.01-7.05-2.95-13.82-8.18-18.81s-12.33-7.8-19.72-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M436.25 319.40999999999985h-23.92c-3.66-0.01-7.29 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.6 26.6 0 0 0-6.05 8.64 25.25 25.25 0 0 0-2.11 10.19v22.81c-0.01 3.5 0.71 6.96 2.11 10.2 1.4 3.23 3.46 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.47 4.64-5.41 6.05-8.64 1.4-3.24 2.12-6.7 2.11-10.2v-22.81c-0.01-7.05-2.95-13.82-8.18-18.81s-12.33-7.8-19.73-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M436.25 243.35999999999967h-23.92c-3.66-0.01-7.29 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.6 26.6 0 0 0-6.05 8.64 25.25 25.25 0 0 0-2.11 10.19v22.81c-0.01 3.5 0.71 6.96 2.11 10.19 1.4 3.24 3.46 6.17 6.05 8.65a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.48 4.64-5.41 6.05-8.65 1.4-3.23 2.12-6.69 2.11-10.19v-22.81c-0.01-7.05-2.95-13.82-8.18-18.81s-12.33-7.8-19.73-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M436.25 167.3099999999995h-23.92c-3.66-0.01-7.29 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.6 26.6 0 0 0-6.05 8.64 25.25 25.25 0 0 0-2.11 10.19v22.82c-0.01 3.49 0.71 6.95 2.11 10.19 1.4 3.23 3.46 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.47 4.64-5.41 6.05-8.64 1.4-3.24 2.12-6.7 2.11-10.19v-22.82c-0.01-7.05-2.95-13.82-8.18-18.81s-12.33-7.8-19.73-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M436.25 91.25999999999931h-23.92c-3.66-0.01-7.29 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.6 26.6 0 0 0-6.05 8.64 25.25 25.25 0 0 0-2.11 10.19v22.82c-0.01 3.49 0.71 6.95 2.11 10.19 1.4 3.23 3.46 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.47 4.64-5.41 6.05-8.64 1.4-3.24 2.12-6.7 2.11-10.19v-22.82c-0.01-7.05-2.95-13.82-8.18-18.81s-12.33-7.8-19.73-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M101.36000000000013 319.40999999999985h-23.92c-3.67-0.01-7.3 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77-2.6 2.47-4.65 5.41-6.05 8.64a25.3 25.3 0 0 0-2.12 10.19v22.81c-0.01 3.5 0.72 6.96 2.12 10.2 1.4 3.23 3.45 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.38 1.33 7.01 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01 3.38-1.34 6.46-3.3 9.06-5.77 2.59-2.47 4.64-5.41 6.05-8.64 1.39-3.24 2.12-6.7 2.11-10.2v-22.81c-0.01-7.05-2.95-13.82-8.18-18.81-5.24-4.99-12.33-7.8-19.73-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M101.36000000000013 243.35999999999967h-23.92c-3.67-0.01-7.3 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77-2.6 2.47-4.65 5.41-6.05 8.64a25.3 25.3 0 0 0-2.12 10.19v22.81c-0.01 3.5 0.72 6.96 2.12 10.19 1.4 3.24 3.45 6.17 6.05 8.65a28.1 28.1 0 0 0 9.06 5.77c3.38 1.33 7.01 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01 3.38-1.34 6.46-3.3 9.06-5.77 2.59-2.48 4.64-5.41 6.05-8.65 1.39-3.23 2.12-6.69 2.11-10.19v-22.81c-0.01-7.05-2.95-13.82-8.18-18.81-5.24-4.99-12.33-7.8-19.73-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M101.36000000000013 167.3099999999995h-23.92c-3.67-0.01-7.3 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77-2.6 2.47-4.65 5.41-6.05 8.64a25.3 25.3 0 0 0-2.12 10.19v22.82c-0.01 3.49 0.72 6.95 2.12 10.19 1.4 3.23 3.45 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.38 1.33 7.01 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01 3.38-1.34 6.46-3.3 9.06-5.77 2.59-2.47 4.64-5.41 6.05-8.64 1.39-3.24 2.12-6.7 2.11-10.19v-22.82c-0.01-7.05-2.95-13.82-8.18-18.81-5.24-4.99-12.33-7.8-19.73-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M101.36000000000013 91.25999999999931h-23.92c-3.67-0.01-7.3 0.68-10.68 2.02-3.39 1.33-6.47 3.3-9.06 5.77-2.6 2.47-4.65 5.41-6.05 8.64a25.3 25.3 0 0 0-2.12 10.19v22.82c-0.01 3.49 0.72 6.95 2.12 10.19 1.4 3.23 3.45 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.38 1.33 7.01 2.01 10.68 2.01h23.92c3.67 0 7.3-0.68 10.69-2.01 3.38-1.34 6.46-3.3 9.06-5.77 2.59-2.47 4.64-5.41 6.05-8.64 1.39-3.24 2.12-6.7 2.11-10.19v-22.82c-0.01-7.05-2.95-13.82-8.18-18.81-5.24-4.99-12.33-7.8-19.73-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M356.52 91.25999999999931h-199.34c-3.67-0.01-7.3 0.68-10.69 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.7 26.7 0 0 0-6.05 8.64c-1.4 3.23-2.12 6.69-2.11 10.19v98.87c-0.01 3.49 0.72 6.95 2.11 10.19 1.41 3.23 3.46 6.17 6.05 8.64a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.69 2.01h199.34c3.67 0 7.29-0.68 10.68-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.47 4.65-5.41 6.05-8.64 1.4-3.24 2.13-6.7 2.12-10.19v-98.87c-0.01-7.05-2.95-13.82-8.19-18.81-5.23-4.99-12.33-7.8-19.72-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M356.52 243.35999999999967h-199.34c-3.67-0.01-7.3 0.68-10.69 2.02-3.39 1.33-6.47 3.3-9.06 5.77a26.7 26.7 0 0 0-6.05 8.64c-1.4 3.23-2.12 6.69-2.11 10.19v98.86c-0.01 3.5 0.72 6.96 2.11 10.19 1.41 3.24 3.46 6.17 6.05 8.65a28.1 28.1 0 0 0 9.06 5.77c3.39 1.33 7.02 2.01 10.69 2.01h199.34c3.67 0 7.29-0.68 10.68-2.01a28.1 28.1 0 0 0 9.06-5.77c2.59-2.48 4.65-5.41 6.05-8.65 1.4-3.23 2.13-6.69 2.12-10.19v-98.86c-0.01-7.05-2.95-13.82-8.19-18.81-5.23-4.99-12.33-7.8-19.72-7.81Z\", style: { stroke: \"currentcolor\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, movies: { viewBox: \"0 0 512 512\", paths: [{ d: \"M436.0600000000002 76.23999999999978h-358.82c-11.63 0.01-22.77 4.42-31 12.27-8.22 7.84-12.85 18.47-12.86 29.56v250.96c0.01 11.1 4.64 21.72 12.86 29.57 8.23 7.84 19.37 12.25 31 12.26h358.82c11.63-0.01 22.77-4.42 30.99-12.26 8.23-7.85 12.85-18.47 12.86-29.57v-250.96c-0.01-11.09-4.63-21.72-12.86-29.56-8.22-7.85-19.36-12.26-30.99-12.27m-322.94 292.79c0 3.03-1.25 5.93-3.51 8.07-2.24 2.14-5.28 3.34-8.45 3.34h-23.92c-1.57 0-3.13-0.29-4.58-0.86-1.45-0.58-2.78-1.42-3.88-2.48-1.12-1.05-2-2.32-2.59-3.7-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.37 0.59-1.38 1.47-2.65 2.59-3.7 1.1-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.92c3.17 0 6.21 1.2 8.45 3.34 2.26 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.25 5.93-3.51 8.07-2.24 2.14-5.28 3.34-8.45 3.34h-23.92c-1.57 0-3.13-0.29-4.58-0.86s-2.78-1.42-3.88-2.48c-1.12-1.05-2-2.32-2.59-3.7-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.59-1.39 1.47-2.66 2.59-3.71 1.1-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.92c3.17 0 6.21 1.2 8.45 3.34 2.26 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.25 5.93-3.51 8.07-2.24 2.14-5.28 3.34-8.45 3.34h-23.92c-1.57 0-3.13-0.29-4.58-0.86s-2.78-1.42-3.88-2.48c-1.12-1.05-2-2.31-2.59-3.7-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.59-1.39 1.47-2.66 2.59-3.71 1.1-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.92c3.17 0 6.21 1.2 8.45 3.34 2.26 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.25 5.93-3.51 8.08-2.24 2.13-5.28 3.33-8.45 3.33h-23.92c-1.57 0-3.13-0.29-4.58-0.86s-2.78-1.42-3.88-2.47c-1.12-1.06-2-2.32-2.59-3.71-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.59-1.39 1.47-2.66 2.59-3.71 1.1-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.92c3.17 0 6.21 1.2 8.45 3.34 2.26 2.15 3.51 5.05 3.51 8.07z m240.89 117.88h-194.72c-4.23 0-8.28-1.61-11.27-4.46s-4.68-6.72-4.68-10.75 1.69-7.9 4.68-10.75 7.04-4.46 11.27-4.46h194.72c4.22 0 8.28 1.61 11.27 4.46s4.67 6.72 4.67 10.75-1.68 7.9-4.67 10.75-7.05 4.46-11.27 4.46m94.01 110.27c0 3.03-1.26 5.93-3.51 8.07s-5.29 3.34-8.45 3.34h-23.93c-1.57 0-3.13-0.29-4.58-0.86a12.1 12.1 0 0 1-3.88-2.48 11.3 11.3 0 0 1-2.59-3.7c-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.37s1.48-2.65 2.59-3.7c1.11-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.93c3.16 0 6.2 1.2 8.45 3.34 2.25 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.26 5.93-3.51 8.07s-5.29 3.34-8.45 3.34h-23.93c-1.57 0-3.13-0.29-4.58-0.86s-2.77-1.42-3.88-2.48a11.3 11.3 0 0 1-2.59-3.7c-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.6-1.39 1.48-2.66 2.59-3.71 1.11-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.93c3.16 0 6.2 1.2 8.45 3.34 2.25 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.26 5.93-3.51 8.07s-5.29 3.34-8.45 3.34h-23.93c-1.57 0-3.13-0.29-4.58-0.86s-2.77-1.42-3.88-2.48a11.2 11.2 0 0 1-2.59-3.7c-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.6-1.39 1.48-2.66 2.59-3.71 1.11-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.93c3.16 0 6.2 1.2 8.45 3.34 2.25 2.15 3.51 5.05 3.51 8.07z m0-76.05c0 3.03-1.26 5.93-3.51 8.08-2.25 2.13-5.29 3.33-8.45 3.33h-23.93c-1.57 0-3.13-0.29-4.58-0.86s-2.77-1.42-3.88-2.47a11.4 11.4 0 0 1-2.59-3.71c-0.6-1.38-0.91-2.86-0.91-4.37v-22.81c0-1.5 0.31-2.99 0.91-4.36 0.6-1.39 1.48-2.66 2.59-3.71 1.11-1.06 2.43-1.9 3.88-2.47s3.01-0.87 4.58-0.87h23.93c3.16 0 6.2 1.2 8.45 3.34 2.25 2.15 3.51 5.05 3.51 8.07z\", style: { fill: \"currentcolor\" } }] }, \"cloud-library\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M415.8299999999999 384.5699999999997l0.37-0.03h0.04l0.87-0.13c22.43-2.57 43.02-13.08 57.71-29.44 14.71-16.35 22.44-37.37 21.67-58.89-0.75-21.53-9.95-42.01-25.77-57.38-15.81-15.37-37.1-24.53-59.66-25.66l-6.39-0.35-0.13-6.1c-1.62-69.92-62.86-126.81-136.51-126.81-66.14 0-122.65 44.8-134.37 106.51l-1.1 5.73-6.09-0.31c-1.85-0.09-3.71-0.14-5.6-0.15-56.16 0-101.87 43.42-101.87 96.77-0.08 24.2 9.38 47.53 26.5 65.38 17.13 17.84 40.66 28.9 65.92 30.97l0.08 0.01c3.16 0.27 6.32 0.41 9.37 0.41 3.11 0 6.28-0.14 9.47-0.42l0.32-0.03h0.31l264.33-0.1h0.37l0.36 0.03c3.28 0.35 6.57 0.52 9.87 0.52 3.32 0 6.64-0.18 9.94-0.53m-20.53-15.53l-264.34 0.11c-0.7 0-1.41 0.03-2.1 0.09-2.69 0.23-5.38 0.35-7.99 0.35-2.56 0-5.22-0.11-7.89-0.35-21.24-1.72-41.02-11-55.42-25.99-14.39-14.99-22.35-34.59-22.3-54.92 0-44.81 38.4-81.27 85.61-81.27 1.59 0 3.17 0.05 4.74 0.13 0.42 0.02 0.83 0.03 1.25 0.03 5.44 0 10.69-1.82 14.85-5.14 4.17-3.32 6.98-7.93 7.95-13.03 10.3-54.33 60.09-93.76 118.36-93.76 64.88 0 118.83 50.08 120.25 111.64 0.15 5.55 2.48 10.86 6.53 14.85 4.05 4 9.52 6.41 15.34 6.74 18.5 0.91 35.96 8.41 48.95 21.02 12.97 12.6 20.53 29.39 21.15 47.05s-5.71 34.9-17.77 48.31c-12.06 13.42-28.96 22.03-47.35 24.13l-0.61 0.08c-2.86 0.31-5.74 0.47-8.62 0.48-2.71 0-5.42-0.14-8.12-0.43-0.83-0.08-1.66-0.12-2.48-0.12\", style: { fill: \"currentcolor\" } }, { d: \"M322.02999999999975 199.46999999999935c-0.68-2.8-2.5-5.23-5.05-6.75a11.82 11.82 0 0 0-8.59-1.37c-2.94 0.65-5.48 2.38-7.07 4.82-1.6 2.44-2.12 5.38-1.44 8.19l24.92 102.75c0.72 2.75 2.55 5.14 5.09 6.62 2.54 1.49 5.59 1.96 8.5 1.33 2.91-0.65 5.43-2.35 7.03-4.76 1.6-2.39 2.14-5.3 1.52-8.08z\", style: { fill: \"currentcolor\" } }, { d: \"M277.8200000000006 188.35999999999967c-3.01 0.01-5.91 1.15-8.04 3.18-2.13 2.04-3.33 4.79-3.33 7.67v105.46c0.09 2.81 1.33 5.49 3.44 7.45 2.12 1.97 4.96 3.06 7.93 3.06 2.95 0 5.79-1.09 7.91-3.06 2.11-1.96 3.35-4.64 3.44-7.45v-105.46c0-1.43-0.29-2.84-0.86-4.16a11 11 0 0 0-4.19-4.87 11.84 11.84 0 0 0-6.32-1.82\", style: { fill: \"currentcolor\" } }, { d: \"M201.46000000000004 188.35999999999967c-1.5 0-2.97 0.27-4.36 0.82-1.37 0.55-2.63 1.35-3.69 2.35a11 11 0 0 0-2.46 3.52c-0.57 1.32-0.86 2.73-0.86 4.16v105.46c0.09 2.81 1.33 5.49 3.44 7.45 2.13 1.97 4.97 3.06 7.93 3.06 2.95 0 5.79-1.09 7.91-3.06 2.11-1.96 3.35-4.64 3.44-7.45v-105.46c0-1.43-0.29-2.84-0.86-4.16a11 11 0 0 0-2.47-3.52c-1.05-1-2.3-1.8-3.68-2.34a11.8 11.8 0 0 0-4.35-0.83\", style: { fill: \"currentcolor\" } }, { d: \"M239.6300000000001 209.6199999999999c-3.01 0.01-5.89 1.15-8.02 3.19-2.14 2.03-3.33 4.78-3.34 7.65v84.22c0.09 2.81 1.32 5.49 3.44 7.45 2.12 1.97 4.96 3.06 7.91 3.06 2.96 0 5.8-1.09 7.92-3.06 2.12-1.96 3.35-4.64 3.44-7.45v-84.22c-0.01-2.87-1.2-5.62-3.34-7.65-2.13-2.04-5.01-3.18-8.02-3.19\", style: { fill: \"currentcolor\" } }] }, \"chevron-back\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M328.6100000000006 106.469l-143.53 136.889 143.53 136.889\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"48\", fill: \"none\" } }] }, \"sort-up-down\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M159.75 303.462l85.9 95.61c1.39 1.54 3.1 2.777 5.03 3.624 1.94 0.848 4.04 1.286 6.17 1.286s4.23-0.438 6.16-1.286a14.7 14.7 0 0 0 5.04-3.624l85.9-95.61a13.74 13.74 0 0 0 3.41-7.208 13.55 13.55 0 0 0-1.2-7.823 14.35 14.35 0 0 0-5.45-5.966 15.3 15.3 0 0 0-7.96-2.225H170.9300000000003c-2.83 0-5.59 0.772-7.97 2.224a14.4 14.4 0 0 0-5.44 5.969 13.56 13.56 0 0 0-1.19 7.826c0.39 2.664 1.58 5.164 3.42 7.203\", style: { fill: \"currentcolor\" } }, { d: \"M159.75 183.26099999999997l85.9-95.613a14.8 14.8 0 0 1 5.04-3.624 15.4 15.4 0 0 1 6.16-1.286c2.13 0 4.23 0.438 6.16 1.286a14.7 14.7 0 0 1 5.04 3.624l85.9 95.613a13.74 13.74 0 0 1 3.41 7.208c0.39 2.665-0.03 5.38-1.2 7.824a14.35 14.35 0 0 1-5.45 5.967 15.3 15.3 0 0 1-7.96 2.225h-171.83c-2.82 0-5.58-0.772-7.96-2.225-2.37-1.452-4.26-3.524-5.44-5.97a13.55 13.55 0 0 1-1.19-7.825c0.39-2.665 1.58-5.165 3.42-7.204\", style: { fill: \"currentcolor\" } }] }, \"caret-down\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M93.10000000000036 203.24199999999996l144.9 161.225c2.1 2.411 4.7 4.365 7.6 5.733 2.9 1.414 6.1 2.264 9.4 2.503 3.2 0.239 6.5-0.14 9.6-1.113 3.1-0.984 6-2.531 8.5-4.556 0.9-0.758 1.8-1.619 2.6-2.567l144.9-161.225c3.1-3.467 4.9-7.684 5.6-12.168 0.7-4.486 0-9.068-1.9-13.184-2-4.13-5.2-7.627-9.2-10.076s-8.7-3.747-13.5-3.738h-289.7c-3.3-0.009-6.6 0.595-9.6 1.781-4.6 1.768-8.5 4.808-11.1 8.722-2.7 3.906-4.2 8.483-4.2 13.168 0.1 5.694 2.3 11.175 6.1 15.495\", style: { fill: \"currentcolor\" } }] }, \"caret-up\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M93.20000000000073 299.35l144.8-161.225c2.1-2.41 4.7-4.364 7.7-5.733 2.9-1.414 6.1-2.264 9.3-2.502 3.2-0.239 6.5 0.139 9.6 1.112 3.1 0.985 6 2.531 8.5 4.556 1 0.758 1.9 1.619 2.7 2.567l144.8 161.225c3.1 3.467 5 7.684 5.7 12.168 0.7 4.486 0 9.067-2 13.184-2 4.129-5.2 7.626-9.2 10.076-4 2.448-8.7 3.745-13.4 3.737h-289.8c-3.3 0.01-6.6-0.595-9.5-1.781-4.6-1.767-8.5-4.808-11.2-8.722-2.7-3.906-4.2-8.483-4.2-13.168 0.1-5.694 2.3-11.174 6.2-15.494\", style: { fill: \"currentcolor\" } }] }, \"chevron-forward\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M185.07999999999993 380.24699999999996l143.53-136.889-143.53-136.889\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"48\", fill: \"none\" } }] }, \"chevron-down\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M113.29999999999927 174.914l143.6 136.89 143.5-136.89\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"48\", fill: \"none\" } }] }, \"chevron-up\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M400.2999999999993 311.804l-143.5-136.89-143.5 136.89\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"48\", fill: \"none\" } }] }, \"more-vertical\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.7999999999993 279.097c7.4-0.015 14.7-2.11 20.9-6.025a35.3 35.3 0 0 0 13.7-16.039c2.9-6.524 3.6-13.709 2.2-20.647-1.5-6.914-5.1-13.268-10.2-18.296-4.4-4.15-9.8-7.217-15.7-8.935-5.9-1.706-12.1-2-18.1-0.856-9.2 1.737-17.3 6.642-22.9 13.766-5.4 7.125-8 15.96-7.1 24.79 0.6 5.86 2.7 11.49 6 16.383 3.5 4.893 8.1 8.894 13.6 11.642 5.4 2.777 11.5 4.227 17.6 4.217\", style: { fill: \"currentcolor\" } }, { d: \"M256.7999999999993 398.217c7.4-0.015 14.7-2.11 20.9-6.026a35.3 35.3 0 0 0 13.7-16.039c2.9-6.523 3.6-13.709 2.2-20.646-1.5-6.914-5.1-13.267-10.2-18.296-4.4-4.15-9.8-7.218-15.7-8.936-5.9-1.706-12.1-2-18.1-0.855a38.4 38.4 0 0 0-16.5 7.428c-4.8 3.726-8.4 8.513-10.8 13.938s-3.3 11.331-2.7 17.182c0.6 5.86 2.7 11.49 6 16.383 3.5 4.893 8.1 8.894 13.6 11.641 5.4 2.781 11.5 4.234 17.6 4.226\", style: { fill: \"currentcolor\" } }, { d: \"M256.7999999999993 159.97500000000002c7.4-0.015 14.7-2.111 20.9-6.026a35.3 35.3 0 0 0 13.7-16.039c2.9-6.523 3.6-13.709 2.2-20.648-1.5-6.913-5.1-13.265-10.2-18.294-4.4-4.151-9.8-7.218-15.7-8.936-5.9-1.706-12.1-2-18.1-0.856a38.4 38.4 0 0 0-16.5 7.431c-4.8 3.728-8.4 8.516-10.8 13.942s-3.3 11.332-2.7 17.183c0.6 5.859 2.7 11.49 6 16.383 3.5 4.892 8.1 8.894 13.6 11.641 5.4 2.778 11.5 4.227 17.6 4.219\", style: { fill: \"currentcolor\" } }] }, \"more-horizontal\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M294.3000000000011 243.35899999999992c0-7.068-2.2-13.975-6.3-19.85-4.2-5.876-10.1-10.455-16.8-13.16a39.4 39.4 0 0 0-21.7-2.041c-7.2 1.374-13.9 4.773-19.2 9.764-5.2 5.032-8.8 11.386-10.3 18.302-1.4 6.939-0.7 14.127 2.2 20.652 2.8 6.544 7.6 12.135 13.8 16.043 4.2 2.693 8.9 4.541 13.9 5.429s10.1 0.8 15.1-0.26 9.7-3.07 13.7-5.907c4.1-2.838 7.6-6.442 10.2-10.597 3.6-5.53 5.4-11.894 5.4-18.378z\", style: { fill: \"currentcolor\" } }, { d: \"M419.2000000000007 243.36c0-7.068-2.2-13.975-6.4-19.85-4.1-5.875-10-10.454-16.8-13.159s-14.4-3.416-21.6-2.041a38.2 38.2 0 0 0-19.2 9.763c-5.2 5.031-8.8 11.386-10.3 18.302-1.4 6.938-0.7 14.126 2.2 20.652 2.8 6.544 7.6 12.135 13.8 16.043 5 3.265 11 5.275 17.1 5.852 6.2 0.577 12.4-0.297 18-2.543 4.6-1.785 8.7-4.418 12.2-7.746 3.5-3.29 6.3-7.24 8.1-11.598 1.9-4.332 2.9-8.98 2.9-13.675\", style: { fill: \"currentcolor\" } }, { d: \"M169.40000000000146 243.36c0-7.068-2.2-13.975-6.4-19.85-4.1-5.875-9.9-10.454-16.7-13.159-6.9-2.706-14.5-3.416-21.7-2.041s-13.9 4.772-19.2 9.763c-5.2 5.031-8.8 11.386-10.3 18.302-1.4 6.938-0.7 14.126 2.2 20.652 2.8 6.544 7.6 12.135 13.8 16.043 4.2 2.693 9 4.54 13.9 5.429 5 0.888 10.1 0.8 15.1-0.261s9.7-3.069 13.7-5.907c4.1-2.837 7.6-6.442 10.2-10.596 3.6-5.53 5.4-11.895 5.4-18.378z\", style: { fill: \"currentcolor\" } }] }, \"open-in-browser\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M372.5599999999995 214.46000000000004v143.26c0 4.52-0.92 8.99-2.74 13.18a34.2 34.2 0 0 1-7.82 11.16c-3.35 3.2-7.33 5.73-11.7 7.46a37.7 37.7 0 0 1-13.82 2.61h-216.38c-4.74 0-9.43-0.88-13.82-2.61a36.4 36.4 0 0 1-11.7-7.46c-3.35-3.2-6.01-6.99-7.82-11.17a32.9 32.9 0 0 1-2.74-13.17v-206.38c0-4.52 0.92-8.99 2.74-13.17a34 34 0 0 1 7.82-11.16c3.35-3.21 7.33-5.74 11.7-7.47a37.7 37.7 0 0 1 13.82-2.61h151\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.699\", fill: \"none\" } }, { d: \"M329.3099999999995 61.98000000000002h100.86v96.2\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.699\", fill: \"none\" } }, { d: \"M222.5599999999995 250.67999999999984l197.85-169.88\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.699\", fill: \"none\" } }] }, \"thumbs-up-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M320.02000000000044 96.99000000000001c-12.02 25.43-20.85 52.13-26.31 79.54-0.5 4.37 3.03 10.99 7.65 10.99l115.16 8.9-0.17 0.49c7.89 0.99 15.12 4.67 20.37 10.38 5.24 5.7 8.12 13.02 8.11 20.6v0.2c-0.04 7.73-3.29 15.12-9.04 20.57-5.75 5.46-13.52 8.52-21.63 8.52l-19.19-0.46-0.11 0.28 30.66 1.08c8.13 0 15.93 3.08 21.68 8.57 5.75 5.48 8.98 12.91 8.98 20.67 0 7.75-3.23 15.18-8.98 20.67-5.75 5.48-13.55 8.56-21.68 8.56l-41.36-0.81h-1.72l24.43 0.82c8.13 0 15.93 3.08 21.68 8.56s8.98 12.92 8.98 20.67-3.23 15.18-8.98 20.66-13.55 8.56-21.68 8.56l-12.58-0.23-29.19-1.2 11.13 1.43c7.95 0.27 15.48 3.47 21 8.93 5.52 5.45 8.6 12.74 8.58 20.32-0.01 7.58-3.12 14.86-8.65 20.3-5.54 5.45-13.08 8.62-21.03 8.86l-57.12-2.51a362 362 0 0 1-46.87 2.51c-33.31 0.92-65.89-9.42-91.97-29.2h-61.36c-16.27-0.02-31.86-6.19-43.36-17.15-11.49-10.97-17.95-25.84-17.95-41.35v-43.81c0-15.5 6.46-30.38 17.95-41.34 11.5-10.97 27.09-17.14 43.36-17.15h28.78c5.26-0.03 10.43-1.34 15.01-3.79 4.59-2.46 6.99-7.27 9.76-11.54 0 0 9.74-15.9 34.64-57.02 24.9-41.11 72.86-103.03 80.51-117.66 5.68-0.59 11.42 0.28 16.63 2.52 5.21 2.23 9.71 5.75 13.02 10.19s5.32 9.64 5.83 15.06c0.5 5.43-0.52 10.88-2.97 15.81\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"40\", fill: \"none\" } }] }, \"thumbs-up\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M285.4400000000005 33.51999999999998c9.05-0.94 18.23 0.44 26.6 4.04h-0.01c8.36 3.58 15.69 9.28 21.16 16.61 5.3 7.1 8.64 15.47 9.62 24.29l0.09 0.85v0.04c0.83 9.03-0.84 18.08-4.82 26.23a322.4 322.4 0 0 0-22.16 63l102.14 7.9c2.25 0.17 4.42 0.73 6.44 1.61 9.89 2.32 19 7.4 26.12 14.78l0.81 0.86 0.02 0.03c8.54 9.31 13.39 21.42 13.38 34.13v0.3a48.16 48.16 0 0 1-5.65 22.33c0.46 0.4 0.92 0.8 1.36 1.22l0.45 0.42 0.02 0.02c9.58 9.15 15.17 21.75 15.17 35.13s-5.58 25.99-15.17 35.13v0.01a51.4 51.4 0 0 1-6.92 5.52 47.9 47.9 0 0 1 3.44 17.81c0 13.38-5.59 26-15.19 35.15a50.7 50.7 0 0 1-18.11 11.09c1.04 3.96 1.58 8.08 1.57 12.27-0.01 12.68-5.06 24.68-13.76 33.67l-0.86 0.86-0.01 0.01c-8.93 8.77-20.82 13.87-33.24 14.53l-1.2 0.05c-0.25 0.01-0.49 0.01-0.74 0.01l-0.74-0.02-55.54-2.44c-15.74 1.8-31.59 2.63-47.44 2.46-35.29 0.89-69.94-9.36-98.59-29.21h-54.89c-20.94-0.01-41.2-7.82-56.43-22l-0.72-0.68c-15.34-14.63-24.14-34.69-24.14-55.81v-43.81c0-21.13 8.81-41.18 24.14-55.81l0.01-0.02 0.72-0.68c15.23-14.16 35.48-21.96 56.41-21.99h28.73c1.65-0.01 3.26-0.35 4.72-0.97 0.27-0.38 0.63-0.92 1.15-1.75 0.31-0.49 0.59-0.94 0.98-1.56 0.3-0.49 0.65-1.05 1.03-1.63 0.01-0.01 0.01-0.03 0.02-0.04 0.08-0.12 0.19-0.31 0.35-0.57 0.31-0.51 0.79-1.28 1.44-2.35l6.05-9.94c5.54-9.1 14.19-23.34 26.64-43.89l1.23-2.01c12.85-20.95 30.85-46.38 46.33-68.03 8.1-11.31 15.49-21.56 21.37-29.96 6.18-8.82 9.77-14.29 10.96-16.57l0.3-0.55a20 20 0 0 1 15.36-10.07m16.44 134c-0.05 0-0.11 0-0.17-0.01h-0.35z\", style: { fill: \"currentcolor\" } }] }, \"heart-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M357.47999999999956 53.23000000000002c-67.4 0-100.62 69.16-100.62 69.16s-33.23-69.16-100.64-69.16c-26.35 0.45-51.48 11.67-69.95 31.24-18.48 19.58-28.8 45.93-28.76 73.36-1.13 118.22 90.05 202.11 189.99 272.66 2.76 1.95 6.01 2.99 9.34 2.99 3.34 0 6.59-1.04 9.35-2.99 99.94-70.55 191.12-154.62 189.98-272.66 0.05-27.43-10.28-53.77-28.75-73.35-18.46-19.57-43.59-30.79-69.94-31.25\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"40\", fill: \"none\" } }] }, heart: { viewBox: \"0 0 512 512\", paths: [{ d: \"M357.8299999999999 33.23000000000002c31.37 0.55 61.12 13.72 83.1 36.44l1.04 1.09h0.01l1.02 1.11c21.35 23.19 33.17 53.92 33.18 85.77l0.01 1.51c0.44 128.53-99.18 217.59-198.47 287.68a36.16 36.16 0 0 1-20.87 6.65c-7.53 0-14.8-2.35-20.89-6.66-99.67-70.35-199.69-159.66-198.44-289.18 0-32.36 12.2-63.57 34.2-86.89 22.08-23.41 52.3-36.97 84.17-37.52h0.34c41.08 0 71.09 21.17 89.96 40.67 3.99 4.12 7.54 8.22 10.67 12.14 3.13-3.92 6.68-8.02 10.66-12.14 18.87-19.5 48.87-40.67 89.96-40.67z\", style: { fill: \"currentcolor\" } }] }, maximize: { viewBox: \"0 0 512 512\", paths: [{ d: \"M406.84999999999854 296.5v91.07h-95.49\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M106.83999999999924 192.5v-91.07h95.48\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M311.35999999999876 101.42999999999984h95.49v91.07\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M202.3199999999997 387.56999999999994h-95.48v-91.07\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }] }, minimize: { viewBox: \"0 0 512 512\", paths: [{ d: \"M311.35999999999876 387.56999999999994v-91.07h95.49\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M202.3199999999997 101.43000000000006v91.07h-95.48\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M406.84999999999854 192.5h-95.49v-91.07\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }, { d: \"M106.83999999999924 296.5899999999999h95.48v91.07\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"39.027\", fill: \"none\" } }] }, scale: { viewBox: \"0 0 512 512\", paths: [{ d: \"M320.6399999999994 76.04999999999995h111.63v106.47\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M422.0699999999997 85.75l-117.38 111.98\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M193.0599999999995 410.66999999999985h-111.63v-106.47\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M91.61999999999989 400.97l117.38-111.98\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, \"notifications-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M414.1200000000008 326.73c-23.52-27.47-40.17-41.45-40.17-117.12 0-69.39-37.07-94.01-67.67-106.09-2.12-0.83-4.02-2.08-5.58-3.67a15.1 15.1 0 0 1-3.49-5.55c-1.57-9.13-6.48-17.44-13.88-23.44-7.39-6-16.78-9.29-26.49-9.29s-19.1 3.29-26.49 9.29c-7.4 6-12.31 14.31-13.88 23.44a15.6 15.6 0 0 1-3.5 5.53 16.5 16.5 0 0 1-5.56 3.69c-30.6 11.98-67.68 36.6-67.68 106.09 0 75.77-16.65 89.74-40.17 117.12-3.02 3.67-4.38 8.34-3.81 12.97 0.58 4.63 3.06 8.86 6.9 11.75 3.61 2.66 8.1 3.98 12.66 3.7h283.06c4.9 0.28 9.69-1.32 13.36-4.42 3.66-3.1 5.88-7.46 6.18-12.12 0.26-4.27-1.09-8.48-3.79-11.88\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\", fill: \"none\" } }, { d: \"M315.4500000000007 355.25v13.88c0 14.82-6.17 29.04-17.17 39.52-10.99 10.48-25.9 16.37-41.44 16.37s-30.45-5.89-41.44-16.37-17.17-24.7-17.17-39.52v-13.88\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\", fill: \"none\" } }] }, notifications: { viewBox: \"0 0 512 512\", paths: [{ d: \"M414.1200000000008 326.81999999999994c-23.52-27.47-40.17-41.45-40.17-117.12 0-69.39-37.07-94.01-67.67-106.08-2.12-0.84-4.02-2.09-5.58-3.68a15.1 15.1 0 0 1-3.49-5.55c-1.57-9.13-6.48-17.44-13.88-23.44-7.39-6-16.78-9.29-26.49-9.29s-19.1 3.29-26.49 9.29c-7.4 6-12.31 14.31-13.88 23.44a15.6 15.6 0 0 1-3.5 5.53 16.5 16.5 0 0 1-5.56 3.7c-30.6 11.97-67.68 36.59-67.68 106.08 0 75.77-16.65 89.74-40.17 117.12-3.02 3.67-4.38 8.34-3.81 12.97 0.58 4.63 3.06 8.86 6.9 11.75 3.61 2.66 8.1 3.98 12.66 3.7h283.06c3.54 0.19 7.07-0.59 10.16-2.26 3.08-1.67 5.61-4.14 7.27-7.14 1.65-2.98 2.38-6.37 2.08-9.74-0.3-3.38-1.61-6.59-3.76-9.28\", style: { fill: \"currentcolor\" } }, { d: \"M214.78000000000065 408.1899999999998c5.45 5.36 11.97 9.61 19.19 12.52 7.2 2.91 14.95 4.41 22.77 4.41 7.83 0 15.57-1.5 22.78-4.41s13.73-7.16 19.18-12.52z\", style: { fill: \"none\", stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\" } }] }, \"person-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M328.2099999999991 144.21000000000004c-3.19 40.97-35.79 74.44-71.47 74.44-35.78 0-68.37-33.37-71.46-74.44-1.57-18.04 4.42-35.94 16.66-49.77 12.24-13.84 29.74-22.48 48.64-24.04 18.91-1.56 37.7 4.09 52.25 15.72s23.67 28.27 25.38 46.31c0.4 3.91 0.4 7.87 0 11.78\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\", fill: \"none\" } }, { d: \"M256.84000000000015 268.27c-70.66 0-142.43 37.17-155.68 107.42-0.5 1.64-0.65 3.36-0.45 5.06s0.75 3.34 1.62 4.83c0.87 1.5 2.05 2.82 3.45 3.87 1.41 1.06 3.02 1.85 4.74 2.3 1.11 0.31 2.25 0.47 3.39 0.48h286.06c2.7-0.07 5.32-0.9 7.52-2.4 2.21-1.49 3.9-3.57 4.86-5.99 1.02-2.64 1.15-5.53 0.38-8.25-13.36-70.15-85.22-107.32-155.89-107.32\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37\", fill: \"none\" } }] }, person: { viewBox: \"0 0 512 512\", paths: [{ d: \"M321.6299999999992 83.17999999999984c-16.45-16.83-39.37-26.14-64.59-26.14-25.42 0-48.44 9.22-64.79 25.95-16.54 16.92-24.51 39.92-22.72 64.83 3.79 49.05 42.96 88.88 87.41 88.88s83.63-39.83 87.41-88.88c2-24.62-6.08-47.63-22.72-64.64\", style: { fill: \"currentcolor\" } }, { d: \"M404.64999999999964 415.4200000000001h-295.12c-3.86 0.06-7.68-0.72-11.16-2.28-3.51-1.54-6.61-3.81-9.07-6.66-2.76-3.23-4.72-7-5.76-11.04a26.94 26.94 0 0 1-0.23-12.34c7.08-37.55 29.21-69.11 63.89-91.26 30.8-19.68 69.87-30.52 110.04-30.52s79.14 10.84 110.04 30.52c34.68 22.15 56.81 53.71 63.89 91.26 0.82 4.08 0.72 8.28-0.31 12.32-1.04 4.03-2.97 7.8-5.67 11.06a25.65 25.65 0 0 1-9.07 6.66 28.7 28.7 0 0 1-11.47 2.28\", style: { fill: \"currentcolor\" } }] }, glasses: { viewBox: \"0 0 512 512\", paths: [{ d: \"M288.7999999999993 238.46000000000026s16.5-15.75 82.5-15.75c66.1 0 82.5 15.75 82.5 15.75v1.19c-0.1 93.57-16.7 124.8-82.5 124.8-66 0-82.5-31.47-82.5-125.99m-231.3 1.19v-1.19s16.6-15.75 82.6-15.75 82.6 15.75 82.6 15.75c0 94.52-16.6 125.99-82.6 125.99-65.7 0-82.5-31.23-82.6-124.8m165.2 2.2c0-1.85 14.7-3.39 33-3.39 18.2 0 33.1 1.54 33.1 3.39z m191.3-79.27c6.4 4.85 57.9 71.08 57.9 71.08z m-314.2 0l-57.9 71.08s51.4-66.23 57.9-71.08\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, \"star-outline\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.8000000000011 80.71000000000004l50.9 86.03c4 6.9 9.7 12.84 16.5 17.41s14.6 7.65 22.7 9.02l103 17.02-70.8 67.3c-6.2 5.87-10.7 13.02-13.5 20.89a50.9 50.9 0 0 0-2.4 24.46l13.9 93.73-97-42.5c-7.4-3.19-15.4-4.84-23.5-4.84-8 0-16 1.65-23.4 4.84l-97 42.5 14-93.73c1.2-8.24 0.4-16.62-2.4-24.51-2.8-7.88-7.4-15.05-13.6-20.93l-70.7-67.31 103-17.01c8.2-1.34 16-4.41 22.8-8.98 6.7-4.57 12.3-10.54 16.4-17.45z m0-38.12c-4.3 0-8.4 1.09-12.1 3.14-3.7 2.06-6.8 5.01-8.9 8.56l-57.6 97.43c-1.8 2.94-4.2 5.5-7.1 7.49-2.9 1.96-6.3 3.3-9.8 3.92l-117.8 19.39c-4.4 0.73-8.4 2.58-11.7 5.37-2.5 2.07-4.5 4.63-5.9 7.48s-2.2 5.95-2.3 9.09c-0.1 3.15 0.5 6.29 1.7 9.22 1.2 2.92 3.1 5.59 5.4 7.82l81.3 77.38c2.7 2.52 4.7 5.61 5.9 9.01s1.5 7.03 1 10.57l-16 107.14c-0.7 4.37 0 8.84 2 12.83 2.7 5.54 7.6 9.85 13.6 11.97s12.6 1.88 18.4-0.66l110-48.19c3.2-1.38 6.5-2.09 10-2.09s6.9 0.71 10.1 2.09l110 48.19c3.2 1.4 6.6 2.11 10.1 2.09 1.1 0 2.3-0.09 3.4-0.19 4.7-0.64 9.2-2.61 12.6-5.65 3.6-3.04 6.1-7.02 7.3-11.43 0.8-2.93 1-5.98 0.5-8.96l-15.9-107.14c-0.5-3.54-0.2-7.17 1-10.57s3.2-6.49 5.8-9.01l81.5-77.38c4.1-3.81 6.6-8.88 7.1-14.29 0.5-5.42-1-10.83-4.3-15.27-1.9-2.45-4.2-4.56-6.9-6.19-2.7-1.6-5.7-2.69-8.8-3.23l-117.8-19.39c-3.5-0.56-6.9-1.88-9.8-3.85-2.9-1.94-5.3-4.53-7-7.56l-57.6-97.43c-2.2-3.64-5.4-6.65-9.2-8.75-3.8-1.89-7.9-2.91-12.2-2.95\", style: { fill: \"currentcolor\" } }] }, star: { viewBox: \"0 0 512 512\", paths: [{ d: \"M235.8000000000011 54.38000000000011c3.2-5.31 8.4-9.22 14.5-10.86 6.2-1.64 12.8-0.88 18.4 2.12 3.8 2.1 7 5.11 9.2 8.74l57.6 97.44c1.8 2.94 4.2 5.49 7 7.48 2.9 1.97 6.3 3.31 9.8 3.93l117.8 19.39c4.4 0.69 8.5 2.55 11.8 5.34 2.5 2.09 4.5 4.63 6 7.47 1.4 2.87 2.2 5.96 2.3 9.12 0.1 3.17-0.5 6.31-1.7 9.25s-3.1 5.59-5.5 7.79l-81.5 77.39c-2.6 2.51-4.6 5.6-5.8 9.01-1.2 3.4-1.5 7.02-1 10.57l15.9 107.13c0.9 6.04-0.8 12.16-4.6 17.05-3.8 4.87-9.5 8.12-15.8 9-4.6 0.67-9.3 0-13.5-1.9l-110-48.2c-3.2-1.37-6.6-2.07-10.1-2.07s-6.8 0.7-10 2.07l-110 48.2c-2.9 1.26-6 1.98-9.1 2.09-3.2 0.11-6.3-0.36-9.3-1.42s-5.7-2.66-8.1-4.7c-2.3-2.06-4.2-4.54-5.5-7.28-1.9-4.03-2.6-8.46-2-12.84l16-107.13c0.5-3.55 0.2-7.17-1-10.57-1.2-3.41-3.2-6.5-5.9-9.01l-81.3-77.39c-2.3-2.11-4.1-4.63-5.3-7.44-1.8-4.2-2.3-8.82-1.4-13.28 0.9-4.47 3.2-8.56 6.6-11.79 3.6-3.32 8-5.57 12.9-6.46l117.8-19.39c3.5-0.56 6.9-1.88 9.8-3.85 3-1.94 5.4-4.54 7.1-7.56z\", style: { fill: \"currentcolor\" } }] }, close: { viewBox: \"0 0 512 512\", paths: [{ d: \"M290.60000000000036 243.36000000000013l94.7-90.31c4.5-4.3 7-10.1 7.1-16.16 0-6.06-2.5-11.88-7-16.18-4.5-4.29-10.5-6.72-16.9-6.73-3.2-0.01-6.3 0.58-9.2 1.72s-5.6 2.82-7.8 4.94l-94.7 90.31-94.6-90.31c-3.4-3.17-7.6-5.33-12.3-6.19-4.6-0.87-9.4-0.4-13.8 1.33-4.3 1.7-8 4.62-10.7 8.38-2.6 3.74-4 8.15-4 12.67-0.1 2.99 0.5 5.97 1.7 8.73 1.2 2.78 3 5.3 5.2 7.4l94.7 90.31-94.7 90.31c-2.8 2.66-4.8 5.93-6 9.52-1.1 3.6-1.3 7.4-0.5 11.07 0.8 3.68 2.5 7.11 5 10 2.5 2.9 5.8 5.16 9.3 6.59 4.4 1.72 9.2 2.17 13.8 1.32 4.7-0.87 8.9-3.02 12.3-6.18l94.6-90.31 94.7 90.31c3.4 3.17 7.6 5.32 12.3 6.19 4.6 0.87 9.4 0.4 13.7-1.33a23.9 23.9 0 0 0 10.8-8.38c2.6-3.75 4-8.16 4-12.67 0.1-3-0.5-5.97-1.7-8.75-1.2-2.76-3-5.28-5.2-7.38z\", style: { fill: \"currentcolor\" } }] }, checkmark: { viewBox: \"0 0 512 512\", paths: [{ d: \"M416.3000000000011 121.67999999999984l-223.2 243.36-95.7-91.26\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"60\", fill: \"none\" } }] }, network: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.7999999999993 71.20000000000027c-103.5 0-187.6 80.07-187.6 178.91 0 98.77 84 178.91 187.6 178.91 49.7 0 97.5-18.85 132.7-52.4 35.2-33.56 54.9-79.06 54.9-126.51 0-47.44-19.7-92.95-54.9-126.51-35.2-33.54-83-52.4-132.7-52.4m0 26.91c1.6 0 3.1 0.16 4.6 0.23-28.4 19.86-51.7 45.62-68.2 75.32-4.8-1.09-9.7-1.02-14.5 0.22-4.7 1.24-9.1 3.59-12.6 6.85-3.6 3.26-6.2 7.31-7.7 11.78-1.4 4.48-1.7 9.24-0.7 13.83a279.7 279.7 0 0 0-59.9 37.67c1.7-39.18 19.2-76.22 48.8-103.41s69.1-42.42 110.2-42.49m53.9 83.51c-6.5 0.9-12.7 3.37-18 7.18s-9.5 8.82-12.2 14.58a331.7 331.7 0 0 0-65.1-5.22c-0.6-6.45-3.4-12.5-8.2-17.1-0.4-0.33-0.7-0.49-1.1-0.81 18.2-32.54 45-60.02 77.7-79.74 1.4 0.24 2.8 0.32 4.2 0.56 11.7 25.57 19.3 52.67 22.6 80.39z m-4.7-75.97c37.1 11.57 68.5 35.68 88.3 67.77-13.6 10.2-29.3 17.56-46.1 21.6-0.8-0.88-1.4-1.92-2.3-2.8-5.6-5.28-12.6-8.91-20.3-10.44 0-0.51-0.1-1.03-0.2-1.53a298 298 0 0 0-19.4-74.6m-15.8 142.46c-21.9 25.55-49.5 46.05-80.9 59.98-0.6-0.79-1.3-1.54-2-2.25-2.8-2.71-6.3-4.83-10-6.23-3.8-1.4-7.8-2.03-11.8-1.88-5.9-22.66-5.8-46.39 0.4-68.98 5.8 0.14 11.4-1.36 16.3-4.31 4.9-2.94 8.7-7.2 11-12.23 21.4-0.55 42.8 1.04 63.8 4.73-0.4 5.47 0.4 10.95 2.4 16.1s5.1 9.82 9.2 13.7c0.5 0.5 1 0.96 1.6 1.37m-126-29.24c0.5 0.63 1 1.22 1.6 1.77 1.8 1.68 3.8 3.12 6 4.26-7.2 25.14-7.3 51.64-0.3 76.84-2.1 1.16-4 2.54-5.7 4.1-5.1 4.88-8.1 11.41-8.5 18.31-14.5-0.33-29-2.57-42.8-6.67-9.1-17.27-14.7-36.06-16.3-55.32 19.8-17.4 41.9-31.98 66-43.29m-4.1 119.33h0.3c2.9 5.81 7.9 10.44 14.1 13.08 6.2 2.63 13.1 3.09 19.6 1.29 11.9 18.54 27 34.92 44.9 48.42-23.1-2.49-45.2-9.72-64.9-21.19a156.6 156.6 0 0 1-49.7-45.22c11.8 2.41 23.8 3.62 35.7 3.62m46.8 7.47l0.3-0.24c3.3-3.17 5.8-7.04 7.1-11.29 1.5-4.26 1.8-8.8 1-13.21 34.1-15 64-37.38 87.5-65.36 2.6 0.94 5.4 1.61 8.2 2.01-6 49.54-21.9 97.54-46.6 141.48-24-12.37-43.9-30.86-57.5-53.39m73.4 54.44c24.4-44.55 39.8-93.01 45.6-142.94 7.7-1.52 14.6-5.15 20.1-10.43 1-1 1.9-2.08 2.7-3.22 13.2 3.04 25.4 8.66 36.1 16.52 10.7 7.87 19.5 17.77 25.9 29.09-8.1 28.59-24.7 54.32-47.8 74.03-23.2 19.71-51.9 32.56-82.6 36.95m75.4-169.11c2.5-7.65 2.4-15.83-0.2-23.45 16.4-4.44 31.9-11.7 45.6-21.44 12.7 25.67 17.5 54.24 13.8 82.39-15.3-18-35.9-31.09-59.2-37.5\", style: { fill: \"currentcolor\" } }] }, about: { viewBox: \"0 0 512 512\", paths: [{ d: \"M252.10000000000036 79.75999999999976c-42.6 0-83.7 15.12-115.3 42.42s-51.3 64.84-55.5 105.28c-4.2 40.46 7.6 80.95 33 113.59 25.3 32.66 62.6 55.13 104.3 63.05 41.9 7.93 85.2 0.74 121.8-20.16 36.6-20.91 63.6-54.03 76.1-92.93 12.3-38.91 9-80.8-9.2-117.54s-50.1-65.71-89.5-81.26c-20.8-8.22-43.2-12.45-65.7-12.45Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M226.10000000000036 218.45999999999958h29.8v97.02\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M218.89999999999964 319.1399999999999h76.9\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M252.10000000000036 138.39999999999964c-4.8 0-9.5 1.35-13.4 3.89-3 1.9-5.5 4.39-7.4 7.32-1.8 2.94-3 6.22-3.4 9.62-0.3 3.41 0.1 6.85 1.4 10.06 1.2 3.24 3.1 6.16 5.7 8.56 3.4 3.24 7.6 5.46 12.3 6.35 4.8 0.89 9.7 0.43 14.1-1.33 4.4-1.78 8.2-4.73 10.8-8.51 2.7-3.79 4.1-8.27 4.1-12.84 0-3.03-0.6-6.04-1.8-8.85-1.3-2.78-3-5.32-5.2-7.5-4.6-4.34-10.8-6.77-17.2-6.77\", style: { fill: \"currentcolor\" } }] }, list: { viewBox: \"0 0 512 512\", paths: [{ d: \"M102.05999999999949 101.71000000000004h74.25c2.43 0 4.84 0.46 7.1 1.34 2.25 0.89 4.29 2.19 6.02 3.83 1.72 1.65 3.09 3.6 4.01 5.75a17 17 0 0 1 1.41 6.76v70.83c0 2.32-0.48 4.62-1.41 6.76-0.92 2.15-2.29 4.1-4.01 5.75a18.8 18.8 0 0 1-6.02 3.83c-2.26 0.88-4.67 1.34-7.1 1.34h-74.25c-2.44 0-4.85-0.46-7.1-1.34-2.25-0.89-4.3-2.19-6.02-3.83-1.72-1.65-3.09-3.6-4.02-5.75-0.92-2.14-1.4-4.44-1.4-6.76v-70.83c0.01-4.68 1.96-9.17 5.44-12.49 3.48-3.31 8.18-5.18 13.1-5.19\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M102.05999999999949 278.80999999999995h74.25c2.43 0 4.84 0.46 7.1 1.34 2.25 0.89 4.29 2.19 6.02 3.84 1.72 1.64 3.09 3.59 4.01 5.74 0.93 2.15 1.41 4.45 1.41 6.77v70.82c0 2.32-0.48 4.62-1.41 6.77-0.92 2.14-2.29 4.09-4.01 5.74a18.8 18.8 0 0 1-6.02 3.83c-2.26 0.88-4.67 1.34-7.1 1.34h-74.25c-2.44 0-4.85-0.46-7.1-1.34-2.25-0.89-4.3-2.19-6.02-3.83a17.8 17.8 0 0 1-4.02-5.74c-0.92-2.15-1.4-4.45-1.4-6.77v-70.82c0-2.32 0.48-4.62 1.4-6.77 0.93-2.15 2.3-4.1 4.02-5.74 1.72-1.65 3.77-2.95 6.02-3.84 2.25-0.88 4.66-1.34 7.1-1.34\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M287.6399999999994 137.17000000000007h148.51c4.92 0 9.63 1.87 13.11 5.18 3.48 3.32 5.43 7.82 5.43 12.5 0 4.69-1.95 9.19-5.43 12.5-3.48 3.32-8.19 5.19-13.11 5.19h-148.51c-4.91 0-9.62-1.87-13.1-5.19-3.48-3.31-5.44-7.81-5.44-12.5 0-4.68 1.96-9.18 5.44-12.5 3.48-3.31 8.19-5.18 13.1-5.18Z\", style: { stroke: \"currentcolor\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M287.6399999999994 314.1800000000003h148.51c4.92 0 9.63 1.86 13.11 5.18 3.48 3.31 5.43 7.81 5.43 12.5 0 4.68-1.95 9.18-5.43 12.5s-8.19 5.18-13.11 5.18h-148.51c-4.91 0-9.62-1.86-13.1-5.18s-5.44-7.82-5.44-12.5c0-4.69 1.96-9.19 5.44-12.5 3.48-3.32 8.19-5.18 13.1-5.18Z\", style: { stroke: \"currentcolor\", strokeWidth: \"37.252\", fill: \"none\" } }] }, grid: { viewBox: \"0 0 512 512\", paths: [{ d: \"M126.86999999999898 101.71000000000004h74.26c2.43 0 4.84 0.46 7.09 1.34 2.26 0.89 4.3 2.19 6.03 3.83 1.72 1.65 3.09 3.6 4.01 5.75 0.93 2.14 1.41 4.45 1.41 6.76v70.83c0 2.32-0.48 4.62-1.41 6.76-0.92 2.15-2.29 4.1-4.01 5.75a18.7 18.7 0 0 1-6.03 3.83c-2.25 0.88-4.66 1.34-7.09 1.34h-74.26c-2.43 0-4.84-0.46-7.09-1.34-2.26-0.89-4.3-2.19-6.02-3.83-1.73-1.65-3.09-3.6-4.02-5.75a17 17 0 0 1-1.41-6.76v-70.83c0-2.32 0.46-4.62 1.39-6.77s2.29-4.11 4.02-5.75a18.5 18.5 0 0 1 6.03-3.84 19.3 19.3 0 0 1 7.1-1.32\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M312.4599999999991 101.71000000000004h74.26c2.43 0 4.84 0.46 7.09 1.34 2.25 0.89 4.3 2.19 6.02 3.83 1.73 1.65 3.09 3.6 4.02 5.75 0.93 2.14 1.4 4.44 1.4 6.76v70.83c0 2.32-0.47 4.62-1.4 6.76-0.93 2.15-2.29 4.1-4.02 5.75a18.7 18.7 0 0 1-6.02 3.83c-2.25 0.88-4.66 1.34-7.09 1.34h-74.26c-2.43 0-4.84-0.46-7.1-1.34a18.8 18.8 0 0 1-6.02-3.83c-1.72-1.65-3.09-3.6-4.01-5.75a17 17 0 0 1-1.41-6.76v-70.83c0.01-4.68 1.97-9.17 5.44-12.49 3.48-3.31 8.19-5.18 13.1-5.19\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M126.86999999999898 278.80999999999995h74.26c2.43 0 4.84 0.46 7.09 1.35 2.26 0.88 4.3 2.18 6.03 3.83 1.72 1.64 3.09 3.59 4.01 5.74 0.93 2.15 1.41 4.45 1.41 6.77v70.82c0 2.32-0.48 4.62-1.41 6.77-0.92 2.14-2.29 4.09-4.01 5.74a18.7 18.7 0 0 1-6.03 3.83c-2.25 0.88-4.66 1.34-7.09 1.34h-74.26c-2.43 0-4.84-0.46-7.09-1.34-2.26-0.89-4.3-2.19-6.02-3.83-1.73-1.65-3.09-3.6-4.02-5.74-0.93-2.15-1.41-4.45-1.41-6.77v-70.82c0-2.33 0.46-4.63 1.39-6.78s2.29-4.11 4.02-5.75c1.72-1.65 3.77-2.95 6.03-3.83 2.25-0.89 4.66-1.33 7.1-1.33\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }, { d: \"M312.4599999999991 278.80999999999995h74.26c2.43 0 4.84 0.46 7.09 1.34 2.25 0.9 4.3 2.19 6.02 3.84 1.73 1.64 3.09 3.59 4.02 5.74s1.4 4.45 1.4 6.77v70.82c0 2.32-0.47 4.62-1.4 6.77-0.93 2.14-2.29 4.09-4.02 5.74a18.7 18.7 0 0 1-6.02 3.83c-2.25 0.88-4.66 1.34-7.09 1.34h-74.26c-2.43 0-4.84-0.46-7.1-1.34a18.8 18.8 0 0 1-6.02-3.83c-1.72-1.65-3.09-3.6-4.01-5.74-0.93-2.15-1.41-4.45-1.41-6.77v-70.82c0.01-4.69 1.97-9.18 5.44-12.5 3.48-3.3 8.19-5.18 13.1-5.19\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"37.252\", fill: \"none\" } }] }, share: { viewBox: \"0 0 512 512\", paths: [{ d: \"M396.39999999999964 437.19000000000005c-18 0.11-35.5-6.58-48.3-18.64-13-12.05-20.3-28.49-20.6-45.72v-1.43l-137.9-43.34a77.3 77.3 0 0 1-27.4 20.75c-10.66 4.84-22.32 7.3-34.18 7.19-20.19 0.76-39.86-6.15-54.71-19.22-14.85-13.06-23.65-31.21-24.49-50.47-0.83-19.25 6.38-38.02 20.05-52.2 13.67-14.2 32.68-22.63 52.87-23.46 2.09-0.09 4.18-0.09 6.28 0 17.44 0.17 34.28 5.56 48.38 15.4l101.3-62.93c-6.3-12.21-9.7-25.56-10.2-39.16-0.9-18.16 3.8-36.15 13.8-51.68 10-15.51 24.5-27.84 41.9-35.39 17.3-7.54 36.7-9.96 55.4-6.94 18.8 3.01 36.2 11.34 50 23.89s23.3 28.75 27.3 46.5c4.1 17.77 2.5 36.28-4.6 53.15-7 16.89-19.3 31.35-35.1 41.54-15.8 10.18-34.4 15.62-53.5 15.62-12.1 0.19-24.3-1.93-35.6-6.26s-21.7-10.76-30.3-18.93l-99.7 61.51c5.7 10.33 8.7 21.8 8.8 33.46-0.3 6.13-1.3 12.22-2.9 18.16l131.8 40.49c7.6-12.58 19.3-22.49 33.2-28.19 14-5.71 29.5-6.91 44.3-3.42 14.7 3.47 27.9 11.46 37.5 22.72 9.5 11.27 15 25.21 15.5 39.69-0.1 17.54-7.4 34.35-20.2 46.9-12.9 12.55-30.3 19.87-48.7 20.41m0-99.25c-6.8 0.29-13.5 2.49-19.1 6.35-5.6 3.85-9.8 9.2-12.3 15.35-2.4 6.15-2.9 12.84-1.4 19.25 1.6 6.4 5.1 12.24 10 16.78 5 4.55 11.3 7.6 18 8.77 6.8 1.17 13.9 0.42 20.2-2.17 6.4-2.58 11.7-6.89 15.5-12.38 3.8-5.48 5.8-11.92 5.8-18.49-0.2-9.06-4.2-17.67-11.1-23.94-6.8-6.28-16.1-9.69-25.6-9.52m-269.68-97.82c-5.97-0.13-11.91 0.85-17.47 2.9-5.57 2.06-10.67 5.14-14.99 9.06-4.32 3.93-7.79 8.63-10.21 13.83-2.41 5.21-3.74 10.82-3.88 16.52-0.13 5.69 0.89 11.36 3.05 16.66 2.15 5.31 5.38 10.17 9.49 14.3 4.12 4.11 9.05 7.42 14.51 9.73a47.3 47.3 0 0 0 17.31 3.7h2.19c5.97 0.13 11.96-0.85 17.44-2.9a46.5 46.5 0 0 0 15.05-9.06c4.29-3.92 7.78-8.63 10.17-13.83 2.42-5.21 3.82-10.82 3.92-16.51 0.2-5.7-0.9-11.36-3-16.67-2.22-5.31-5.4-10.17-9.59-14.29-4.09-4.12-9.07-7.43-14.45-9.74a47.8 47.8 0 0 0-17.35-3.7z m235.98-171.96c-7.9-0.25-15.9 1-23.5 3.69-7.5 2.69-14.3 6.77-20.2 12-5.8 5.22-10.6 11.49-13.9 18.46s-5.1 14.48-5.3 22.12v1.05c0.2 15.44 6.9 30.15 18.5 40.89 11.7 10.76 27.3 16.66 43.4 16.43h1.1c8.2 0.37 16.3-0.84 24-3.56 7.5-2.72 14.5-6.89 20.4-12.25 6-5.37 10.7-11.81 13.8-18.96 3.2-7.14 4.8-14.83 4.8-22.6s-1.6-15.46-4.9-22.59c-3.1-7.14-7.8-13.59-13.7-18.94s-13-9.52-20.5-12.22c-7.7-2.71-15.8-3.9-24-3.52\", style: { fill: \"currentcolor\" } }] }, warning: { viewBox: \"0 0 512 512\", paths: [{ d: \"M449.2999999999993 379.4000000000001l-169.9-300.87c-12-21.3-44-21.3-56.1 0l-169.8 300.87c-2.7 4.61-4 9.84-3.8 15.11 0.1 5.25 1.7 10.38 4.5 14.9 2.7 4.51 6.7 8.26 11.5 10.86 4.8 2.59 10.3 3.97 15.8 4h339.7c5.5 0.01 11-1.37 15.8-4 4.8-2.62 8.8-6.35 11.6-10.83 2.8-4.53 4.4-9.67 4.5-14.94 0.1-5.25-1.2-10.45-3.8-15.1m-197.9-1.81c-3 0.01-5.9-0.62-8.6-1.82-2.7-1.21-5-2.98-6.9-5.17-1.8-2.17-3.1-4.73-3.8-7.47s-0.8-5.59-0.2-8.35c0.7-3.69 2.6-7.08 5.3-9.7 2.8-2.67 6.4-4.49 10.3-5.23 3.9-0.72 7.9-0.34 11.5 1.09 3.7 1.45 6.8 3.87 8.9 6.99 2.2 3.12 3.4 6.79 3.4 10.55 0 2.52-0.5 5.02-1.6 7.32-1.5 3.48-3.9 6.46-7.2 8.56s-7.1 3.22-11.1 3.23m21.6-191.17l-5.7 115.98c0 4.03-1.6 7.9-4.6 10.75s-7.1 4.46-11.3 4.46-8.3-1.61-11.3-4.46-4.6-6.72-4.6-10.75l-5.8-115.88c-0.2-5.58 1.9-11.02 5.9-15.12 2-1.94 4.4-3.54 7-4.75 2.7-1.12 5.6-1.7 8.5-1.71h0.2c2.9 0 5.9 0.55 8.6 1.61 2.7 1.11 5.1 2.72 7 4.76 2.1 1.98 3.7 4.39 4.7 7.03 1 2.59 1.5 5.32 1.4 8.08\", style: { fill: \"currentcolor\" } }] }, \"cloud-sync\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M472.7999999999993 180.1500000000001c-13.2-7.99-29.7-13.88-47.9-17.02-3-0.57-5.9-1.96-8.1-3.99-2.2-2.08-3.8-4.72-4.5-7.61-7.9-32.79-24.5-60.93-48.9-82.32-28.7-24.91-66.5-38.69-106.6-38.69-35.3 0-67.8 10.55-94.1 30.42-17.7 13.5-32 30.66-41.7 50.19-1.1 2.19-2.8 4.11-4.8 5.6-2 1.48-4.4 2.5-6.9 2.96-27 4.65-50.3 13.97-68.2 27.28-25.8 19.3-39.4 46.67-39.4 79 0 64.07 55.7 108.75 135.5 108.75h71.8v-78.9c0-12.11 5.1-23.71 14-32.27 9-8.55 21.2-13.36 33.8-13.36 12.7 0 24.8 4.81 33.8 13.36 9 8.56 14.1 20.16 14.1 32.27v78.9h91.7c72.3 0 115.6-32.51 115.6-87.08 0-28.71-13.6-52-39.2-67.49\", style: { fill: \"currentcolor\" } }, { d: \"M256.7999999999993 240.51000000000022c-4.2 0.01-8.2 1.62-11.2 4.47s-4.7 6.71-4.7 10.74v148.68l-36.6-34.79c-1.5-1.37-3.3-2.47-5.2-3.22-1.9-0.74-4-1.1-6.1-1.06-4.2 0.03-8.1 1.62-11.1 4.45-1.5 1.39-2.6 3.06-3.4 4.89-0.8 1.84-1.2 3.79-1.2 5.77 0 3.99 1.6 7.84 4.5 10.74l63.8 60.75c1.5 1.42 3.1 2.56 5.1 3.31 1.9 0.77 4 1.16 6.1 1.16s4.2-0.39 6.1-1.16c2-0.75 3.7-1.89 5.2-3.31l63.8-60.75c1.5-1.41 2.6-3.09 3.4-4.94 0.7-1.86 1.1-3.82 1.1-5.8 0-2.97-0.9-5.87-2.7-8.35-1.7-2.48-4.1-4.43-7-5.6-1.9-0.77-4-1.17-6.1-1.16-4.2-0.03-8.3 1.51-11.2 4.28l-36.6 34.79v-148.68c0-2-0.4-3.97-1.2-5.83-0.8-1.85-2-3.52-3.5-4.93s-3.3-2.53-5.2-3.3c-1.9-0.76-4-1.15-6.1-1.15\", style: { fill: \"currentcolor\" } }] }, hourglass: { viewBox: \"0 0 512 512\", paths: [{ d: \"M215.5 223.71000000000004c-31.7-55.25-54.6-112.34-16.3-175.68-4-2.83-7.6-5.98-11-9.43-0.7-1.15-1.5-2.29-2.1-3.51-2.5-4.44-0.6-10.47 4.4-11.92 10-2.88 23.6-1.19 33.3 0.16 72.8 11.28 142.7 34.86 206.8 69.62 7.2 4.12 13.8 9.09 19.7 14.79 6.9 6.83 4.7 12.13-5.3 13.87-5.9 0.79-11.8 1.25-17.9 1.49-10.6 72.29-65.6 103.88-125.1 128.18 6.7 15.3 13.8 29.9 20 44.77 16.6 34.78 18.9 74.28 6.3 110.57-0.2 0.93-6.8 18.57 3.2 25.37 10.4 11.08 1.2 27.22-7.8 26.09-0.4-0.02-0.8-0.01-1.2 0.01-16.4-0.24-32.8-1.59-49-4.01-63.6-11.78-125.1-32.84-182.2-62.43-8.5-4.96-16.8-10.48-24.6-16.53-2.9-2.05-4.8-5.01-5.6-8.34-0.6-3.34-0.1-6.79 1.6-9.76 0.7-3.05 2.6-5.71 5.3-7.49 2.7-1.77 5.9-2.57 9.2-2.24 10.9 1.15 13.3-3.6 15.6-12.96 9.7-33.44 32.6-62 63.9-79.67 18.8-11.55 39-20.58 58.8-30.95m84.3 185.8c11.6-20.8 15.3-44.85 10.3-67.96-5.9-30.24-18.5-58.92-37-84.14-7.8-11.85-4.8-19.19 8.5-24.78 21.5-8.44 42.4-18.17 62.6-29.11 26.9-14.54 46.8-38.63 55.1-67.04 4.5-15.44 3.1-16.2-12.6-20.26-29.8-7.76-59.7-15.38-88.9-24.85-23.1-7.58-45.4-17.62-67.7-26.97-7.2-2.96-11.1-2.33-15.2 5-11 21.72-14.1 46.39-8.5 69.96 6.6 29.38 19.3 57.24 37 82.06 1.7 1.83 2.9 4.08 3.4 6.48 0.5 2.41 0.3 4.9-0.5 7.23-0.9 2.32-2.4 4.37-4.3 5.95-2 1.57-4.4 2.61-6.9 3.02-7.9 2.75-16 5.53-23.6 8.74-33.9 11.93-63.1 33.61-83.6 62.04-7.8 10.44-12.2 22.91-12.5 35.78 7.5 1.19 15.2 1.44 22.8 0.75 19.9-4.41 58.2 0.13 84.6-12.82 7.7-2.22 15.8-2.18 23.4 0.11 7.6 2.28 14.4 6.71 19.3 12.71 13 13.74 13.7 24.71 24.1 40.47 6.3 8.9 0 13.89 10.2 17.63\", style: { fill: \"currentcolor\" } }, { d: \"M335.60000000000036 158.78999999999996c-1.5 0.2-2.9 0.33-4.2 0.51-0.2 0.02-0.3 0.08-0.6 0.11-28.3 5.94-58 3.72-85-6.39-0.4-0.12-0.9-0.28-1.2-0.41-1.8-0.38-3.5-0.42-5.3-0.12-1.8 0.28-3.5 0.92-5 1.86s-2.6 2.28-3.3 3.85c-1.6 3.44-1.9 7.28-1 10.93 0.1 0.43 0.2 0.84 0.4 1.24 7.1 16.9 14.8 33.41 23.1 49.43 0.5 1.01 1.3 1.9 2.2 2.61 1.2 0.98 2.6 1.69 4.1 2.07 1.6 0.38 3.2 0.42 4.7 0.11 0.4-0.05 0.8-0.23 1.2-0.32 27.4-9.6 52.5-24.3 73.9-43.25 0.3-0.3 0.6-0.51 0.9-0.84 3.2-3.63 5.2-8.12 5.6-12.84 0-1.61-0.5-3.18-1.5-4.49-1-1.38-2.3-2.48-3.9-3.19-1.6-0.72-3.3-1.02-5.1-0.87\", style: { fill: \"currentcolor\" } }, { d: \"M267 309.6600000000001c-0.2 4.03-2 7.82-5.1 10.57-3.1 2.74-7.2 4.24-11.4 4.13-0.1-0.03-0.3 0.03-0.4-0.01-3.2-0.16-6.2-1.21-8.7-3.01-2.6-1.8-4.5-4.28-5.6-7.13-1.1-2.84-1.3-5.95-0.5-8.89 0.8-2.95 2.4-5.62 4.8-7.66 2.3-2.06 5.2-3.41 8.3-3.87 3.2-0.49 6.4-0.07 9.3 1.2 2.9 1.26 5.3 3.32 7 5.9s2.5 5.56 2.4 8.59c0 0.02-0.1 0.04-0.1 0.08z\", style: { fill: \"currentcolor\" } }, { d: \"M262.60000000000036 264.8900000000001c-0.9 5.86-4 9.17-10.2 8.92-1.2 0.06-2.3-0.1-3.4-0.46-1.1-0.33-2.1-0.89-2.9-1.64-0.9-0.72-1.6-1.6-2.1-2.6s-0.7-2.06-0.8-3.14c0-0.59 0-1.18 0.1-1.77-0.1-1.11 0.1-2.24 0.5-3.28 0.3-1.08 0.9-2.06 1.7-2.86s1.8-1.48 2.8-1.98c1.1-0.48 2.2-0.74 3.4-0.79 0.6-0.03 1.1-0.02 1.7 0.05 6.1 0.2 8.9 3.92 9.2 9.55\", style: { fill: \"currentcolor\" } }] }, pause: { viewBox: \"0 0 512 512\", paths: [{ d: \"M183.68499999999995 88.40999999999985h-18.339v314.18h18.339z\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"36.719\", fill: \"none\" } }, { d: \"M348.33900000000006 88.40999999999985H330v314.18h18.339z\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"36.719\", fill: \"none\" } }] }, next: { viewBox: \"0 0 512 512\", paths: [{ d: \"M122.19000000000005 113.3100000000004v264.75c0 15.88 15.14 26.05 27.7 18.44L371.15999999999985 261.1400000000003c2.12-1.49 3.9-3.35 5.26-5.49 1.35-2.15 2.25-4.52 2.64-7 0.39-2.47 0.26-4.99-0.38-7.41-0.64-2.43-1.77-4.72-3.33-6.72a18 18 0 0 0-4.19-3.99l-221.27-135.47c-12.56-7.79-27.7 2.38-27.7 18.25Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }, { d: \"M391.5 85.84000000000015v321.22\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }] }, \"skip-back\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M475.72000000000025 138.32000000000062v210.08c0 12.65-12.95 20.63-23.52 14.64l-188.28-107.42c-9.17-5.23-9.17-19.1 0-24.33l188.28-107.42c10.57-6.18 23.52 1.8 23.52 14.45Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }, { d: \"M247.8800000000001 138.32000000000062v210.08c0 12.65-12.96 20.63-23.53 14.64l-188.27-107.42c-9.17-5.23-9.17-19.1 0-24.33l188.27-107.42c10.57-6.18 23.53 1.8 23.53 14.45Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }] }, \"skip-forward\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M37.86999999999989 138.32000000000062v210.08c0 12.65 12.95 20.63 23.52 14.64l188.28-107.42c9.17-5.23 9.17-19.1 0-24.33l-188.28-107.42c-10.57-6.18-23.52 1.8-23.52 14.45Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }, { d: \"M265.71000000000004 138.32000000000062v210.08c0 12.65 12.96 20.63 23.53 14.64l188.27-107.42c9.17-5.23 9.17-19.1 0-24.33l-188.27-107.42c-10.57-6.18-23.53 1.8-23.53 14.45Z\", style: { stroke: \"currentcolor\", strokeMiterlimit: \"10\", strokeWidth: \"35.851\", fill: \"none\" } }] }, \"volume-off\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M237.80000000000018 177.76999999999953h-72.36c-1.08 0-2.16 0.2-3.17 0.6-2.02 0.8-3.64 2.34-4.47 4.26-0.42 0.96-0.63 1.99-0.63 3.03v111.03c0 1.04 0.21 2.06 0.63 3.02s1.02 1.83 1.79 2.56 1.68 1.31 2.68 1.71c1.01 0.4 2.09 0.6 3.17 0.6h72.36c3.86-0.02 7.61 1.26 10.57 3.61l95.08 74.25a8.7 8.7 0 0 0 6.2 1.42c2.19-0.32 4.15-1.44 5.47-3.13a7.45 7.45 0 0 0 1.59-4.76v-269.88c0-1.04-0.21-2.06-0.63-3.02a7.85 7.85 0 0 0-1.79-2.56 8.5 8.5 0 0 0-2.68-1.71c-1.01-0.4-2.09-0.6-3.17-0.6-1.76 0.01-3.46 0.54-4.89 1.52l-95.08 74.25c-2.94 2.47-6.74 3.83-10.67 3.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, \"volume-low\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M187.9699999999998 178.71999999999935h-72.36c-1.08 0-2.16 0.2-3.17 0.6-2.02 0.8-3.64 2.34-4.47 4.26-0.42 0.96-0.63 1.99-0.63 3.03v111.03c0 1.04 0.21 2.06 0.63 3.02s1.02 1.83 1.79 2.56 1.68 1.31 2.68 1.71c1.01 0.4 2.09 0.6 3.17 0.6h72.36c3.86-0.02 7.61 1.26 10.57 3.61l95.08 74.25a8.7 8.7 0 0 0 6.2 1.42c2.19-0.32 4.15-1.44 5.47-3.13a7.45 7.45 0 0 0 1.59-4.76v-269.88c0-1.04-0.21-2.06-0.63-3.02a7.85 7.85 0 0 0-1.79-2.56 8.5 8.5 0 0 0-2.68-1.71c-1.01-0.4-2.09-0.6-3.17-0.6-1.76 0.01-3.46 0.54-4.89 1.52l-95.08 74.25c-2.94 2.47-6.74 3.83-10.67 3.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M389.90999999999985 305.52999999999975c10.65-19.61 16.35-41.32 16.64-63.41-0.08-22.11-5.79-43.87-16.64-63.4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, \"volume-medium\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M154.07999999999993 178.71999999999935h-72.36c-1.09 0-2.16 0.2-3.17 0.6-1.01 0.39-1.91 0.97-2.69 1.71-0.77 0.73-1.38 1.59-1.78 2.55-0.42 0.96-0.63 1.99-0.63 3.03v111.03c0 1.04 0.21 2.06 0.63 3.02a7.7 7.7 0 0 0 1.79 2.56c0.77 0.73 1.67 1.31 2.68 1.71s2.08 0.6 3.17 0.6h72.36c3.86-0.02 7.61 1.26 10.57 3.61l95.08 74.25a8.7 8.7 0 0 0 6.2 1.42c2.19-0.32 4.15-1.44 5.46-3.13a7.4 7.4 0 0 0 1.6-4.76v-269.88c0-1.04-0.21-2.06-0.63-3.02a8 8 0 0 0-1.79-2.56 8.5 8.5 0 0 0-2.68-1.71c-1.01-0.4-2.09-0.6-3.17-0.6-1.76 0.01-3.46 0.54-4.89 1.52l-95.08 74.25c-2.97 2.43-6.75 3.78-10.67 3.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M356.1099999999997 305.52999999999975c10.66-19.61 16.36-41.32 16.65-63.41-0.09-22.11-5.8-43.86-16.65-63.4\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M405.9499999999998 353.15999999999985c22.13-33.16 33.7-71.74 33.29-111.04 0.71-39.34-10.88-78-33.29-111.03\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, \"volume-high\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M123.17999999999938 179.57000000000062h-72.36c-1.09 0-2.16 0.2-3.17 0.6-1.01 0.39-1.91 0.97-2.69 1.71a7.7 7.7 0 0 0-1.79 2.56 7.7 7.7 0 0 0-0.62 3.02v111.03c0 1.04 0.21 2.07 0.62 3.03s1.02 1.82 1.8 2.56c0.77 0.74 1.67 1.32 2.68 1.71 1.01 0.4 2.08 0.59 3.17 0.59h72.36c3.86-0.01 7.61 1.26 10.57 3.62l95.08 74.24a8.7 8.7 0 0 0 6.2 1.43c2.18-0.33 4.15-1.45 5.46-3.14a7.38 7.38 0 0 0 1.6-4.75v-269.88c0-1.04-0.21-2.07-0.63-3.03a8 8 0 0 0-1.79-2.55 8.3 8.3 0 0 0-2.69-1.72c-1-0.4-2.08-0.59-3.17-0.59-1.75 0-3.45 0.54-4.88 1.52l-95.08 74.24c-2.98 2.43-6.75 3.78-10.67 3.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M325.1099999999997 306.3800000000001c10.66-19.61 16.36-41.32 16.65-63.4-0.08-22.11-5.79-43.87-16.65-63.41\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M375.0499999999993 354.0100000000002c22.13-33.16 33.7-71.72 33.29-111.03 0.71-39.35-10.89-78-33.29-111.03\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M421.9899999999998 395.0799999999999c69.18-83.85 61.2-230.34-1.29-305.44\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, \"volume-mute\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M424.09000000000015 419.7000000000007l-367.88-350.97\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"33.557\", fill: \"none\" } }, { d: \"M223.36000000000058 125.48000000000047V159.14000000000033c-0.01 1.06 0.41 2.09 1.19 2.85l25.12 23.95c0.48 0.47 1.08 0.81 1.73 0.99 0.66 0.19 1.36 0.22 2.03 0.1 0.67-0.13 1.3-0.41 1.83-0.83s0.94-0.95 1.2-1.56c0.21-0.49 0.31-1.02 0.29-1.55v-73.86c0.05-4.42-1.16-8.77-3.49-12.59-2.34-3.81-5.71-6.96-9.77-9.09-4.18-2.15-8.9-3.12-13.64-2.8-4.72 0.32-9.27 1.92-13.07 4.61-0.2 0.19-0.5 0.29-0.7 0.48l-33.39 26.04c-0.43 0.33-0.79 0.74-1.05 1.2-0.27 0.47-0.43 0.97-0.49 1.49-0.04 0.53 0.01 1.05 0.16 1.55 0.16 0.51 0.43 0.97 0.78 1.37l0.3 0.29 17.84 17.01c0.74 0.69 1.71 1.09 2.73 1.14 1.03 0.05 2.05-0.24 2.85-0.85z\", style: { fill: \"currentcolor\" } }, { d: \"M223.36000000000058 362.9500000000007l-81.63-63.7c-6.01-4.64-13.51-7.16-21.23-7.12h-64.39v-95.73h53.02c0.83-0.01 1.64-0.25 2.32-0.69a4.1 4.1 0 0 0 1.54-1.79c0.32-0.74 0.41-1.53 0.26-2.31s-0.55-1.5-1.13-2.06l-25.11-23.95c-0.39-0.37-0.86-0.67-1.38-0.87-0.51-0.2-1.07-0.28-1.61-0.27h-36.28c-6.66 0.01-13.05 2.53-17.76 7.02-4.7 4.49-7.35 10.58-7.36 16.93v111.61c0.01 6.35 2.66 12.44 7.36 16.93 4.71 4.48 11.1 7.01 17.76 7.02h72.95l95.49 74.53c0.21 0.19 0.44 0.35 0.7 0.47 3.85 2.73 8.45 4.34 13.24 4.64 4.79 0.31 9.57-0.71 13.77-2.92 3.96-2.16 7.26-5.29 9.54-9.06 2.28-3.79 3.45-8.07 3.41-12.43v-50c0.01-1.07-0.41-2.09-1.19-2.85l-25.12-23.96a4.33 4.33 0 0 0-2.94-1.14c-1.09 0-2.15 0.41-2.94 1.14-0.39 0.37-0.7 0.82-0.91 1.31s-0.3 1.02-0.28 1.54v57.71z\", style: { fill: \"currentcolor\" } }, { d: \"M357.21000000000004 244.22000000000025c0-24.53-6.08-47.72-18.53-71.01-2.1-3.66-5.6-6.38-9.77-7.6-4.17-1.23-8.67-0.86-12.55 1.05-3.89 1.89-6.84 5.15-8.23 9.09-1.41 3.94-1.13 8.24 0.74 12 10.07 18.73 14.85 37.26 14.85 56.56 0 2.66-0.1 5.33-0.29 8.08-0.09 1.15 0.07 2.3 0.49 3.38a8.2 8.2 0 0 0 1.9 2.9l20.53 19.58a4.33 4.33 0 0 0 2.94 1.14c1.1 0 2.15-0.41 2.94-1.14 0.59-0.53 0.98-1.24 1.1-2 2.58-10.5 3.88-21.24 3.88-32.03\", style: { fill: \"currentcolor\" } }, { d: \"M424.09000000000015 244.21000000000004c0-51.04-13.65-83.65-35.68-119.68-2.27-3.57-5.93-6.16-10.19-7.19-4.24-1.03-8.75-0.43-12.54 1.68-3.79 2.1-6.56 5.55-7.72 9.58a15.3 15.3 0 0 0 1.55 12c19.73 32.32 31.19 59.6 31.19 103.61 0 23.77-3.49 42.78-9.76 60.46-0.5 1.42-0.58 2.95-0.23 4.41s1.12 2.8 2.22 3.86l17.54 16.74a4.33 4.33 0 0 0 2.94 1.14c1.1 0 2.15-0.41 2.94-1.14 0.39-0.36 0.69-0.77 0.9-1.24 10.66-24.53 16.84-50.38 16.84-84.23\", style: { fill: \"currentcolor\" } }, { d: \"M490.97000000000025 244.22000000000025c0-74.06-21.13-120.73-52.82-168.07-2.44-3.48-6.2-5.91-10.5-6.76-4.28-0.86-8.76-0.08-12.45 2.17-3.69 2.26-6.31 5.8-7.29 9.87-0.99 4.08-0.25 8.36 2.03 11.92 28.61 42.68 47.54 84.61 47.54 150.96 0 47.34-9.27 81.85-24.62 112.65-0.36 0.75-0.48 1.58-0.34 2.39 0.13 0.82 0.53 1.58 1.14 2.17l18.64 17.78c0.58 0.56 1.32 0.95 2.12 1.1a4.3 4.3 0 0 0 2.41-0.23c0.5-0.21 0.96-0.5 1.35-0.87 0.32-0.31 0.59-0.66 0.8-1.05 22.42-42.11 31.99-83.18 31.99-134.03\", style: { fill: \"currentcolor\" } }] }, subtitles: { viewBox: \"0 0 512 512\", paths: [{ d: \"M482.60000000000036 206v-77.29c0-30.32-25.4-38.97-38.6-38.69h-375.9c-17.9 0-37 10.27-37 36.79v220.92c0 22.72 15.8 36.7 38.6 36.7h274.1l30.9 29.47c3.8 3.52 9 5.48 14.4 5.48s10.6-1.96 14.5-5.48l30.9-29.47h17.3c14.5 0 30.9-8.56 30.9-34.89z m-32.8 0v136.12c0 5.52 0 11.03-7.7 11.03h-19.3l-34.8 31.28-32.7-31.28h-281.8c-1.3 0.02-2.5-0.2-3.7-0.65a9.6 9.6 0 0 1-3.2-2c-0.9-0.86-1.6-1.88-2.1-3.01s-0.7-2.34-0.7-3.56V130.42000000000007c0-5.51 0-11.03 7.7-11.03h368.5c6.9 0 9.7 5.52 9.7 9.23v77.38z\", style: { fill: \"currentcolor\" } }, { d: \"M193.1999999999989 237.26999999999998h-75.3q-3.45-0.015-6.6 1.23c-2.2 0.81-4.1 2.03-5.7 3.56-1.5 1.53-2.8 3.35-3.7 5.34-0.8 2-1.3 4.15-1.3 6.32v0.09c0 2.17 0.4 4.32 1.3 6.32 0.9 2.01 2.1 3.83 3.6 5.36 1.7 1.54 3.6 2.76 5.7 3.6 2.1 0.83 4.3 1.26 6.6 1.26h75.4c3.3 0.01 6.7-0.94 9.6-2.75 2.8-1.8 5.1-4.37 6.4-7.38 0.8-2.01 1.3-4.15 1.3-6.31v-0.1c0-2.18-0.4-4.32-1.3-6.34-0.9-2.01-2.2-3.83-3.8-5.37s-3.5-2.76-5.6-3.59c-2.1-0.82-4.3-1.25-6.6-1.24\", style: { fill: \"currentcolor\" } }, { d: \"M229.6999999999989 253.90999999999985c0 2.17 0.4 4.31 1.3 6.32s2.1 3.83 3.7 5.36c1.7 1.54 3.6 2.76 5.7 3.59 2.1 0.84 4.3 1.27 6.6 1.27h150.6c2.3 0.01 4.5-0.4 6.7-1.23 2.1-0.82 3.9-2.03 5.5-3.56s2.9-3.35 3.8-5.34c0.8-2 1.3-4.15 1.3-6.32v-0.09c0-2.17-0.4-4.32-1.3-6.32-0.8-2.01-2.1-3.83-3.7-5.36-1.6-1.54-3.5-2.76-5.6-3.6-2.1-0.83-4.3-1.26-6.6-1.26h-152.6c-4.3 0.4-8.3 2.32-11.1 5.39-2.9 3.07-4.4 7.05-4.3 11.15\", style: { fill: \"currentcolor\" } }, { d: \"M322.39999999999964 323.7800000000002h75.3c2.3 0.01 4.5-0.41 6.7-1.23 2.1-0.82 3.9-2.03 5.5-3.56s2.9-3.35 3.8-5.34c0.9-2 1.3-4.15 1.3-6.32v-0.09c0-2.17-0.4-4.32-1.3-6.32-0.9-2.01-2.1-3.83-3.7-5.36a17.2 17.2 0 0 0-5.6-3.6c-2.1-0.83-4.3-1.26-6.6-1.26h-75.4c-3.4-0.01-6.7 0.94-9.5 2.74-2.9 1.81-5.1 4.38-6.5 7.39-0.8 2-1.3 4.15-1.3 6.31v0.1c0 2.17 0.4 4.31 1.3 6.32s2.1 3.83 3.7 5.36c1.6 1.54 3.6 2.76 5.7 3.59 2 0.84 4.2 1.27 6.5 1.27z\", style: { fill: \"currentcolor\" } }, { d: \"M117.79999999999927 323.7800000000002h152.5c2.3 0.01 4.5-0.4 6.7-1.23 2.1-0.81 4-2.03 5.6-3.56s2.9-3.35 3.8-5.34c0.8-2 1.2-4.15 1.2-6.32v-0.09c0-2.17-0.4-4.32-1.2-6.32-0.9-2.01-2.1-3.83-3.7-5.36-1.6-1.54-3.5-2.77-5.7-3.6-2.1-0.83-4.3-1.26-6.6-1.26h-152.6c-3.4-0.01-6.8 0.94-9.6 2.74-2.9 1.81-5 4.38-6.4 7.39-0.8 2-1.3 4.15-1.3 6.31v0.1c0 2.18 0.4 4.32 1.3 6.34 0.9 2 2.2 3.83 3.7 5.37 1.6 1.54 3.5 2.76 5.6 3.58 2.2 0.83 4.4 1.26 6.7 1.25\", style: { fill: \"currentcolor\" } }] }, \"audio-tracks\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M58.97999999999956 212.5300000000002v72.12c-0.01 2.2 0.44 4.36 1.31 6.39a16.6 16.6 0 0 0 3.79 5.41c1.62 1.54 3.55 2.76 5.67 3.6s4.39 1.25 6.69 1.25c2.29 0 4.56-0.41 6.68-1.25a17.7 17.7 0 0 0 5.68-3.6 16.6 16.6 0 0 0 3.78-5.41c0.87-2.03 1.32-4.19 1.31-6.39v-72.12c0.01-2.19-0.44-4.36-1.31-6.38-0.87-2.03-2.16-3.86-3.78-5.41a17.2 17.2 0 0 0-5.68-3.6c-2.12-0.84-4.39-1.27-6.68-1.26-2.3-0.01-4.57 0.42-6.69 1.26a17.2 17.2 0 0 0-5.67 3.6 16.5 16.5 0 0 0-3.79 5.41c-0.87 2.02-1.32 4.19-1.31 6.38\", style: { fill: \"currentcolor\" } }, { d: \"M454.6999999999989 212.5300000000002v72.13c0.01 2.19-0.44 4.35-1.32 6.38a16.4 16.4 0 0 1-3.78 5.41c-1.62 1.55-3.54 2.76-5.67 3.6-2.12 0.84-4.39 1.26-6.69 1.25-2.29 0.01-4.56-0.41-6.68-1.25-2.13-0.84-4.06-2.05-5.67-3.6a16.5 16.5 0 0 1-3.79-5.41 16 16 0 0 1-1.31-6.38v-72.13c-0.01-2.19 0.44-4.36 1.31-6.38 0.87-2.03 2.16-3.86 3.79-5.41 1.61-1.55 3.54-2.78 5.67-3.6 2.12-0.84 4.39-1.26 6.68-1.25 2.3-0.01 4.57 0.41 6.69 1.25 2.13 0.82 4.05 2.05 5.67 3.6 1.63 1.55 2.91 3.38 3.78 5.41 0.88 2.02 1.33 4.19 1.32 6.38\", style: { fill: \"currentcolor\" } }, { d: \"M178.59000000000015 178.75v139.69c-0.01 2.18 0.44 4.35 1.3 6.37 0.88 2.03 2.17 3.86 3.79 5.41 1.63 1.55 3.55 2.78 5.67 3.61 2.13 0.83 4.4 1.26 6.69 1.25 2.29 0.01 4.57-0.42 6.69-1.25s4.05-2.06 5.67-3.61c1.63-1.55 2.91-3.38 3.79-5.41 0.87-2.02 1.31-4.19 1.3-6.37v-139.69c0.01-2.19-0.43-4.35-1.3-6.38a16.6 16.6 0 0 0-3.79-5.41 17.5 17.5 0 0 0-5.67-3.61c-2.12-0.83-4.4-1.25-6.69-1.24-2.29-0.01-4.56 0.41-6.69 1.24-2.12 0.84-4.04 2.06-5.67 3.61a16.8 16.8 0 0 0-3.79 5.41c-0.86 2.03-1.31 4.19-1.3 6.38\", style: { fill: \"currentcolor\" } }, { d: \"M334.09999999999854 178.75v139.69c0.01 2.18-0.44 4.35-1.31 6.37-0.88 2.03-2.16 3.86-3.79 5.41a17.4 17.4 0 0 1-5.67 3.61 18.1 18.1 0 0 1-6.69 1.25c-2.29 0.01-4.56-0.42-6.68-1.25-2.13-0.83-4.06-2.06-5.68-3.61a16.5 16.5 0 0 1-3.78-5.41c-0.87-2.02-1.32-4.19-1.31-6.37v-139.69c-0.01-2.19 0.44-4.35 1.31-6.38a16.6 16.6 0 0 1 3.78-5.41c1.62-1.55 3.55-2.77 5.68-3.61 2.12-0.83 4.39-1.25 6.68-1.24 2.3-0.01 4.57 0.41 6.69 1.24 2.12 0.84 4.05 2.06 5.67 3.61a16.6 16.6 0 0 1 3.79 5.41 16 16 0 0 1 1.31 6.38\", style: { fill: \"currentcolor\" } }, { d: \"M153.6899999999987 358.6300000000001v-230.55c0.01-2.18-0.44-4.35-1.3-6.38-0.88-2.02-2.17-3.86-3.79-5.4a17.7 17.7 0 0 0-5.67-3.62c-2.13-0.82-4.4-1.25-6.69-1.24-2.29-0.01-4.57 0.42-6.69 1.24a17.6 17.6 0 0 0-5.67 3.62 16.6 16.6 0 0 0-3.79 5.4c-0.87 2.03-1.31 4.2-1.3 6.38v230.55c-0.01 2.18 0.43 4.35 1.3 6.38 0.88 2.02 2.17 3.87 3.79 5.41s3.55 2.77 5.67 3.61c2.12 0.82 4.4 1.25 6.69 1.24 2.29 0.01 4.56-0.42 6.69-1.24 2.12-0.84 4.04-2.07 5.67-3.61 1.62-1.54 2.91-3.39 3.79-5.41 0.86-2.03 1.31-4.2 1.3-6.38\", style: { fill: \"currentcolor\" } }, { d: \"M358.9899999999998 358.6300000000001v-230.55c-0.01-2.18 0.44-4.35 1.31-6.38 0.88-2.02 2.16-3.85 3.79-5.4a17.3 17.3 0 0 1 5.67-3.62c2.12-0.82 4.39-1.25 6.69-1.24 2.29-0.01 4.56 0.42 6.68 1.24 2.13 0.84 4.05 2.07 5.67 3.62 1.63 1.55 2.92 3.38 3.78 5.4 0.88 2.03 1.33 4.2 1.32 6.38v230.55c0.01 2.18-0.44 4.36-1.32 6.38-0.86 2.02-2.15 3.87-3.78 5.41a17.6 17.6 0 0 1-5.67 3.61c-2.12 0.82-4.39 1.25-6.68 1.24-2.3 0.01-4.57-0.42-6.69-1.24-2.13-0.84-4.06-2.07-5.67-3.61a16.5 16.5 0 0 1-3.79-5.41 16 16 0 0 1-1.31-6.38\", style: { fill: \"currentcolor\" } }, { d: \"M274.28999999999905 409.3000000000002V77.42000000000007c0.01-2.19-0.44-4.36-1.3-6.38a16.6 16.6 0 0 0-3.79-5.41 17.4 17.4 0 0 0-5.67-3.61c-2.12-0.83-4.4-1.26-6.69-1.25-2.29-0.01-4.56 0.42-6.69 1.25-2.12 0.83-4.04 2.06-5.67 3.61a16.6 16.6 0 0 0-3.79 5.41c-0.86 2.02-1.31 4.19-1.3 6.38v331.88c-0.01 2.18 0.44 4.35 1.3 6.37a16.6 16.6 0 0 0 3.79 5.41c1.63 1.55 3.55 2.78 5.67 3.62 2.13 0.82 4.4 1.25 6.69 1.24 2.29 0.01 4.57-0.42 6.69-1.24a17.6 17.6 0 0 0 5.67-3.62 16.6 16.6 0 0 0 3.79-5.41c0.86-2.02 1.31-4.19 1.3-6.37\", style: { fill: \"currentcolor\" } }] }, chapters: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.83999999999924 169.44000000000005c14.91-56.14 71.24-84.81 193.87-85.33 1.97-0.01 3.91 0.35 5.71 1.06 1.82 0.72 3.47 1.76 4.86 3.08 1.38 1.32 2.48 2.9 3.23 4.63 0.75 1.72 1.12 3.58 1.11 5.45v256.02c0 1.86-0.38 3.72-1.13 5.45-0.75 1.72-1.85 3.29-3.23 4.61a15.1 15.1 0 0 1-4.84 3.08c-1.81 0.71-3.75 1.08-5.71 1.08-119.3 0-165.39 22.95-193.87 56.9-28.3-33.78-74.56-56.9-193.86-56.9-9.21 0-14.92-7.16-14.92-15.93v-254.31c0-1.87 0.38-3.72 1.13-5.45 1.13-2.6 3.04-4.83 5.5-6.39 2.45-1.56 5.34-2.39 8.29-2.38 122.63 0.52 178.95 29.19 193.86 85.33\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34\", fill: \"none\" } }, { d: \"M257.1399999999994 157.71000000000004v268.07\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"34\", fill: \"none\" } }] }, \"skip-15-forward\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M429.0699999999997 237.2800000000002c-3.94 0.01-7.71 1.5-10.5 4.15-2.78 2.65-4.34 6.26-4.35 10.01 0 82.8-70.57 150.1-157.38 150.1s-157.38-67.3-157.38-150.1c0-82.51 70.17-149.63 156.58-150.1l-27.01 25.47a12.6 12.6 0 0 0-2.93 4.14 12.16 12.16 0 0 0 0 9.79c0.68 1.55 1.67 2.96 2.93 4.14 2.6 2.37 6.06 3.7 9.67 3.7s7.07-1.33 9.67-3.7l51.73-48.68a12.6 12.6 0 0 0 2.93-4.13c0.67-1.55 1.02-3.21 1.02-4.9 0-1.68-0.35-3.34-1.02-4.89-0.68-1.55-1.68-2.96-2.93-4.14l-51.73-48.67c-2.6-2.38-6.06-3.71-9.67-3.71s-7.07 1.33-9.67 3.71a12.6 12.6 0 0 0-2.93 4.14 12.16 12.16 0 0 0 0 9.79c0.68 1.55 1.67 2.95 2.93 4.13l27.11 25.57c-102.76 0.38-186.28 80.24-186.28 178.34 0 98.39 83.92 178.34 186.98 178.34s187.08-80.05 187.08-178.43c-0.01-3.75-1.58-7.33-4.36-9.98-2.79-2.63-6.56-4.1-10.49-4.09\", style: { fill: \"currentcolor\" } }, { d: \"M196.23999999999978 239.55999999999995v66.44h25.42v-114.83h-20.94l-38.77 29.47 12.26 14.64 13.86-10.65c3.06-2.48 5.99-5.11 8.77-7.89l-0.4 11.98z\", style: { fill: \"currentcolor\" } }, { d: \"M322.0199999999986 211.80000000000018v-20.53h-65.28l-4.49 58.55 10.17 5.23c2.81-0.78 5.68-1.38 8.57-1.8 3.19-0.56 6.43-0.84 9.67-0.86 16.05 0 24.12 5.8 24.12 17.4 0 12.16-7.77 18.25-23.32 18.25-10.96-0.21-21.73-2.78-31.5-7.51v21.01c8.27 4.18 19.04 6.18 32.49 6.18 15.45 0 27.32-3.43 35.59-10.37s12.46-16.82 12.46-29.65c0-10.84-3.49-19.4-10.37-25.58-6.88-6.27-16.15-9.31-27.81-9.31-4.18-0.08-8.36 0.3-12.46 1.14l-2.89 0.57 2.2-22.53h42.85z\", style: { fill: \"currentcolor\" } }] }, \"skip-15-back\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M257.4400000000005 74.24000000000024l26.92-25.38c1.25-1.17 2.25-2.56 2.93-4.1 0.67-1.55 1.02-3.21 1.02-4.88s-0.35-3.34-1.02-4.88c-0.68-1.54-1.68-2.93-2.93-4.1-2.57-2.38-5.99-3.71-9.57-3.71s-7.01 1.33-9.57 3.71l-51.33 48.29a12.45 12.45 0 0 0-2.93 4.1c-0.68 1.55-1.03 3.21-1.03 4.88s0.35 3.33 1.03 4.88c0.68 1.54 1.67 2.94 2.93 4.1l51.33 48.3c2.56 2.37 5.99 3.7 9.57 3.7s7-1.33 9.57-3.7c1.25-1.17 2.25-2.57 2.93-4.11 0.67-1.55 1.02-3.2 1.02-4.88 0-1.67-0.35-3.33-1.02-4.87-0.68-1.54-1.68-2.94-2.93-4.11l-26.82-25.29c85.72 0.38 155.39 67.02 155.39 148.87 0 82.13-70.07 148.96-156.18 148.96-86.12 0-156.19-66.83-156.19-148.96 0-3.74-1.55-7.31-4.31-9.95-2.77-2.64-6.52-4.12-10.44-4.12s-7.66 1.48-10.43 4.12-4.32 6.21-4.32 9.95c0 97.63 83.22 177.01 185.59 177.01 102.36 0 185.58-79.38 185.58-177.01 0.2-97.25-82.72-176.44-184.79-176.82\", style: { fill: \"currentcolor\" } }, { d: \"M188.5699999999997 224.6300000000001c1.6-1.23 4.59-3.9 8.77-7.89l-0.4 11.88-0.19 10.84v65.97h25.21v-113.98h-20.73l-38.47 29.19 12.16 14.45z\", style: { fill: \"currentcolor\" } }, { d: \"M281.0699999999997 287.3699999999999c-5.5-0.03-10.95-0.73-16.25-2.09a67.8 67.8 0 0 1-15.05-5.32v20.82c8.17 4.08 18.94 6.17 32.19 6.17 15.35 0 27.11-3.42 35.29-10.26 8.27-6.85 12.36-16.64 12.36-29.38 0-10.74-3.39-19.2-10.27-25.38s-16.05-9.31-27.61-9.31c-4.15-0.05-8.28 0.3-12.36 1.04l-2.89 0.57 2.19-22.34h42.66v-20.44h-64.78l-4.49 58.09 10.07 5.13c2.77-0.79 5.6-1.36 8.47-1.71 3.16-0.54 6.36-0.83 9.57-0.86 15.95 0 23.92 5.71 23.92 17.21 0.1 12.07-7.57 18.06-23.02 18.06\", style: { fill: \"currentcolor\" } }] }, reset: { viewBox: \"0 0 512 512\", paths: [{ d: \"M115.69999999999982 161.07000000000016l18.82-20.88c15.96-15.99 35.17-28.71 56.45-37.4s44.18-13.15 67.33-13.13c94.47 0 171.12 73.11 171.12 163.22 0 90.1-76.65 163.21-171.12 163.21-35.4 0-69.91-10.47-98.82-29.95-28.89-19.48-50.75-47.03-62.56-78.85\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"34\", fill: \"none\" } }, { d: \"M58.659999999999854 118.07999999999993v94c0 1.78 0.36 3.55 1.08 5.2s1.77 3.15 3.09 4.41c1.33 1.26 2.9 2.27 4.64 2.94 1.72 0.69 3.57 1.04 5.45 1.04h98.55c2.82 0 5.58-0.79 7.93-2.28 2.35-1.5 4.17-3.62 5.26-6.11 1.08-2.49 1.35-5.22 0.81-7.86-0.55-2.64-1.92-5.06-3.91-6.97l-98.56-93.99c-2-1.9-4.54-3.21-7.31-3.73s-5.63-0.26-8.24 0.77c-2.62 1.03-4.84 2.78-6.4 5.01a13.1 13.1 0 0 0-2.39 7.57\", style: { fill: \"currentcolor\" } }] }, rotate: { viewBox: \"0 0 512 512\", paths: [{ d: \"M347.1300000000001 98.09999999999991c-23.26-12.24-48.94-19.11-75.06-20.37l23.66-22.55c5.25-5.01 5.25-13.13 0-18.15-5.26-5.01-13.78-5.01-19.03 0l-45.82 43.7c-2.88 2.75-4.19 6.43-3.9 10.04-0.29 3.6 1.02 7.29 3.9 10.04l45.82 43.69c5.25 5.01 13.77 5.01 19.03 0 5.25-5 5.25-13.13 0-18.14l-20.9-19.93c20.16 1.54 39.9 7.13 57.88 16.59 30.67 16.13 54.11 42.41 65.89 73.86 11.78 31.47 11.09 65.96-1.94 96.97-11.16 26.59-30.74 49.05-55.81 64.38-6.94 4.24-9.96 12.74-6.25 19.76 3.7 7.02 12.72 9.9 19.73 5.79 31.55-18.54 56.17-46.31 70.04-79.35 15.73-37.46 16.57-79.11 2.33-117.12-14.22-37.99-42.53-69.73-79.57-89.21m-181.02 291.06c23.26 12.22 48.94 19.09 75.06 20.35l-23.65 22.56c-5.26 5.01-5.26 13.13 0 18.14s13.78 5.01 19.03 0l45.81-43.69c2.89-2.75 4.19-6.44 3.91-10.04 0.28-3.6-1.02-7.3-3.91-10.04l-45.81-43.69c-5.25-5.02-13.77-5.02-19.03 0-5.26 5.01-5.26 13.13 0 18.14l20.89 19.92c-20.15-1.54-39.89-7.13-57.88-16.59-30.67-16.13-54.11-42.4-65.88-73.86-11.78-31.47-11.09-65.95 1.93-96.96 11.16-26.59 30.74-49.06 55.81-64.38 6.94-4.24 9.96-12.74 6.26-19.76-3.71-7.03-12.72-9.91-19.73-5.78-31.56 18.52-56.18 46.29-70.05 79.33-15.73 37.47-16.56 79.12-2.33 117.12 14.23 38.01 42.53 69.74 79.57 89.23\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] }, audio: { viewBox: \"0 0 512 512\", paths: [{ d: \"M154.70000000000073 180.80000000000018h-72.4c-1.1 0-2.2 0.2-3.1 0.6-1 0.41-1.9 0.98-2.7 1.7-0.8 0.74-1.4 1.61-1.8 2.57s-0.6 1.99-0.6 3.02v111.04c0 1.03 0.2 2.06 0.6 3.02s1 1.83 1.8 2.57c0.8 0.72 1.7 1.29 2.7 1.7 0.9 0.4 2 0.6 3.1 0.6h72.4c3.9-0.02 7.6 1.25 10.6 3.61l95.1 74.24c1.7 1.24 3.9 1.74 6.1 1.43 2.2-0.32 4.2-1.45 5.5-3.14 1.1-1.37 1.6-3.04 1.6-4.75v-269.88c0-1.04-0.2-2.07-0.6-3.03s-1-1.83-1.8-2.56c-0.8-0.72-1.7-1.3-2.7-1.7-1.3-0.53-2.8-0.71-4.2-0.55-1.4 0.17-2.7 0.67-3.8 1.47l-95.1 74.24c-3 2.44-6.8 3.79-10.7 3.8\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M356.60000000000036 307.71000000000004c10.7-19.61 16.4-41.32 16.7-63.4-0.1-22.12-5.8-43.88-16.7-63.41\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }, { d: \"M406.5 355.24000000000024c22.1-33.16 33.7-71.73 33.3-111.03 0.7-39.35-10.9-78-33.3-111.03\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"31.897\", fill: \"none\" } }] }, speed: { viewBox: \"0 0 512 512\", paths: [{ d: \"M313.60000000000036 219.78999999999996l-38.7 58.65c-1.6 2.09-3.6 3.93-5.8 5.46a23.55 23.55 0 0 1-8.7 3.76c-3.2 0.68-6.4 0.78-9.6 0.27-6.4-1.02-12.2-4.44-16-9.49-1.8-2.5-3.1-5.34-3.8-8.34-0.7-3.01-0.8-6.1-0.3-9.14 0.5-3.03 1.7-5.94 3.4-8.54 1.6-2.61 3.9-4.86 6.5-6.66l61.5-36.89a8.9 8.9 0 0 1 4.8-1.41c1.7 0 3.4 0.5 4.8 1.41 1.8 1.22 2.9 3.04 3.3 5.08 0.2 1.02 0.2 2.06-0.1 3.07-0.2 0.99-0.7 1.94-1.3 2.77\", style: { fill: \"currentcolor\" } }, { d: \"M256.5 89.30999999999995c-100.8 0-182.5 77.84-182.5 173.92 0 42.55 16.2 83.64 45.8 115.51 0.9 0.93 1.7 1.87 2.6 2.72 3.7 3.83 8.9 6.08 14.4 6.29 5.4 0.2 10.7-1.67 14.7-5.19l1.2-1.17c25.3-26.27 60.6-41.86 98-43.35s73.9 11.24 101.4 35.39c2.9 2.58 5.6 5.23 8.3 7.96 3.7 3.82 8.8 6.09 14.3 6.33 5.4 0.24 10.8-1.6 14.7-5.09l1.2-1.17 2.7-2.72c66.8-71.91 59.8-181.96-15.6-245.68-33.4-28.24-76.6-43.8-121.2-43.75\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M250.39999999999964 144.2199999999998v14.89\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M390.89999999999964 263.30999999999995h-31.3\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M156.70000000000073 263.30999999999995h-31.2\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M182.70000000000073 193.03999999999996l-18.4-17.55\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M330.2000000000007 193.03999999999996l18.5-17.55\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"32\", fill: \"none\" } }] }, episodes: { viewBox: \"0 0 512 512\", paths: [{ d: \"M499 150.25v-65.65c0.2-5.97-1.4-11.87-4.6-16.9-2.8-4.5-6.7-8.18-11.4-10.66-4.6-2.48-9.9-3.68-15.2-3.46h-0.1c-35.9 0.09-71.9 0.09-107.9 0h-111.3c-26.4 0-52.8 0-79.3-0.11-2 0.09-4 0.34-6 0.73-4.7 0.83-9.1 2.82-12.9 5.8s-6.7 6.84-8.6 11.25c-0.7 1.61-1.3 3.28-1.7 4.99-0.7 2.52-1 5.13-1.1 7.74v31.59h-31.1c-2 0.05-4.1 0.26-6 0.62-4.8 0.83-9.2 2.83-13 5.8-3.7 2.98-6.7 6.84-8.6 11.25-0.7 1.61-1.2 3.29-1.6 5-0.7 2.53-1.1 5.13-1.2 7.75v31.1h-33c-2 0.01-4 0.17-6 0.47-4.8 0.83-9.2 2.83-13 5.8-3.7 2.98-6.7 6.84-8.6 11.24-0.7 1.62-1.2 3.3-1.7 5.01-0.6 2.53-1 5.13-1.1 7.75v185.29c-0.2 5.98 1.4 11.88 4.7 16.92 2.7 4.46 6.6 8.12 11.2 10.6 4.7 2.48 9.9 3.69 15.1 3.52h0.1q54.3-0.18 108.6 0h144.1c15.3 0 30.6 0 45.9 0.14 2-0.05 4-0.25 6-0.62 4.7-0.85 9.1-2.84 12.9-5.82 3.8-2.97 6.7-6.83 8.6-11.23 0.7-1.62 1.3-3.29 1.7-5.01l0.1-0.37c0.6-2.43 1-4.93 1-7.44v-31.13q16.5 0 33 0.09c2.1-0.04 4.1-0.25 6.1-0.62 4.7-0.83 9.1-2.83 12.9-5.81 3.7-2.97 6.7-6.83 8.6-11.24 0.7-1.61 1.2-3.29 1.7-5l0.1-0.37c0.6-2.44 0.9-4.93 1-7.44v-31.74c10.3 0 20.7 0 31.1 0.09 2-0.04 4-0.25 6-0.62 4.7-0.84 9.2-2.83 12.9-5.81 3.8-2.97 6.7-6.83 8.6-11.23 0.7-1.62 1.3-3.3 1.7-5.01l0.1-0.39c0.6-2.43 1-4.93 1-7.44v-119.42z m-163 125.19v105.57c0.2 3.58 0.3 8.02-5 8.69h-271.9q-1.5 0.225-3-0.18c-1-0.26-1.9-0.73-2.7-1.37-0.6-0.77-1.1-1.67-1.3-2.64-0.3-0.97-0.4-1.99-0.2-2.98l0.2-17.98v-50.71l0.1-3.55v-90.41c-0.2-4.01-0.4-8.48 5-9.13 0.7-0.07 1.3-0.1 1.9-0.09h269.9c1-0.15 2-0.09 3 0.17 1 0.27 1.9 0.74 2.7 1.38 0.6 0.78 1 1.68 1.3 2.65s0.3 1.97 0.1 2.96l-0.2 17.98v14.04z m63.4-61.49v41.16l0.1 64.11v0.29c0.1 3.58 0.3 8.03-5.1 8.7-0.5 0-1.3 0-2 0.09h-18.3v-120.35c0.1-4.1-0.7-8.18-2.2-11.98-1.5-3.81-3.8-7.26-6.7-10.16-2.9-2.89-6.4-5.17-10.2-6.69-3.8-1.53-7.9-2.26-12-2.17h-0.1c-36 0.11-71.9 0-107.9 0h-119.4v-7.25c0-3.75 0-7.52-0.1-11.27-0.2-4.01-0.4-8.47 5-9.12 0.5 0 1.2 0 1.9-0.1h270q1.5-0.225 3 0.18c0.9 0.27 1.8 0.74 2.6 1.37 0.7 0.78 1.1 1.68 1.4 2.64 0.3 0.97 0.3 1.98 0.2 2.97l-0.3 17.98v14.04z m61.5-61.84v41.16l0.1 64.11v0.3c0.1 3.58 0.3 8.03-5.1 8.69-0.5 0-1.3 0-2 0.1h-16.4v-120.03c0.1-4.1-0.7-8.17-2.2-11.98-1.6-3.8-3.9-7.25-6.8-10.15-2.9-2.89-6.3-5.17-10.1-6.69-3.8-1.53-7.9-2.27-12-2.18h-0.1c-36 0.1-71.9 0.1-107.9 0h-37.3l-74.1 0.13h-10v-7.75c0-3.77 0-7.53-0.1-11.27-0.1-4.03-0.3-8.47 5.1-9.14 0.5 0 1.2 0 1.9-0.09h270.1c0.9-0.15 2-0.09 2.9 0.17 1 0.27 1.9 0.74 2.7 1.38 0.6 0.78 1.1 1.68 1.3 2.65 0.3 0.96 0.3 1.97 0.1 2.96l-0.2 17.99v14.05z\", style: { fill: \"currentcolor\" } }, { d: \"M254.70000000000073 295.8699999999999l-81.5 47.2c-0.8 0.48-1.7 0.74-2.7 0.74-0.9 0.01-1.9-0.24-2.7-0.71s-1.5-1.15-2-1.97-0.8-1.75-0.8-2.71v-94.48c0-0.96 0.3-1.89 0.8-2.71s1.2-1.5 2-1.97 1.8-0.72 2.7-0.71c1 0 1.9 0.26 2.7 0.74l81.5 47.11c0.8 0.48 1.5 1.17 2 2s0.7 1.77 0.7 2.73-0.2 1.91-0.7 2.74-1.2 1.52-2 2\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] }, cast: { viewBox: \"0 0 512 512\", paths: [{ d: \"M92.97000000000116 98.87000000000012c-26.21 0-43.35 22.81-43.35 45.72v48.96c5.28-0.38 10.56-0.67 15.94-0.67 5.39 0 10.67 0.19 15.95 0.67v-48.96c0-10.74 7.38-15.3 11.46-15.3h327.83c4.2 0 11.5 4.56 11.5 15.3v197.44c0 10.75-7.4 15.31-11.5 15.31h-167.6c0.4 5.04 0.7 10.08 0.7 15.21s-0.2 10.17-0.7 15.21h167.6c26.2 0 43.3-22.82 43.3-45.73V144.59000000000015c0-23-17.2-45.72-43.3-45.72z\", style: { fill: \"currentcolor\" } }, { d: \"M215.20000000000073 387.85000000000014c0.6-5.04 0.8-10.13 0.8-15.21 0-18.85-3.92-37.52-11.49-54.93-7.58-17.42-18.64-33.25-32.62-46.57-13.97-13.33-30.56-23.9-48.82-31.12-18.26-7.21-37.84-10.92-57.6-10.92-5.39 0-10.67 0.29-15.95 0.76v30.61c5.28-0.68 10.61-1.03 15.95-1.04 31.45 0 61.61 11.92 83.86 33.13 22.24 21.22 34.74 49.99 34.74 79.99 0 5.09-0.4 10.17-1.09 15.21z\", style: { fill: \"currentcolor\" } }, { d: \"M159.85000000000036 387.85000000000014c0.89-5.02 1.32-10.11 1.3-15.21-0.01-24.2-10.1-47.4-28.04-64.51s-42.27-26.73-67.64-26.74c-5.35-0.03-10.68 0.39-15.95 1.23v31.09c5.21-1.27 10.56-1.9 15.95-1.9 8.38-0.01 16.67 1.55 24.41 4.61 7.75 3.05 14.79 7.53 20.72 13.18 5.92 5.66 10.62 12.37 13.82 19.75 3.2 7.39 4.84 15.3 4.83 23.29 0 5.14-0.66 10.24-1.99 15.21z\", style: { fill: \"currentcolor\" } }, { d: \"M103.14000000000124 387.8600000000001c2.13-4.81 3.22-10 3.19-15.21-0.01-10.34-4.32-20.24-11.98-27.55-7.67-7.31-18.05-11.42-28.88-11.43a42.1 42.1 0 0 0-15.95 3.04v7.42c0.01 11.59 4.83 22.71 13.43 30.91s20.26 12.81 32.42 12.82z\", style: { fill: \"currentcolor\" } }] }, \"cast-connected\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M92.97000000000116 98.8599999999999c-26.21 0-43.35 22.82-43.35 45.73v48.95c5.28-0.38 10.56-0.66 15.94-0.66 5.39 0 10.67 0.19 15.95 0.66v-48.95c0-10.74 7.38-15.31 11.46-15.31h327.83c4.2 0 11.5 4.57 11.5 15.31v197.44c0 10.74-7.4 15.31-11.5 15.31h-167.6c0.4 5.03 0.7 10.07 0.7 15.21 0 5.13-0.2 10.17-0.7 15.21h167.6c26.2 0 43.3-22.82 43.3-45.73v-197.44c0-23.01-17.2-45.73-43.3-45.73z\", style: { fill: \"currentcolor\" } }, { d: \"M215.20000000000073 387.8499999999999c0.6-5.05 0.8-10.13 0.8-15.21 0-18.85-3.92-37.52-11.49-54.94-7.58-17.41-18.64-33.24-32.62-46.57-13.97-13.32-30.56-23.9-48.82-31.11-18.26-7.22-37.84-10.92-57.6-10.92-5.39 0-10.67 0.28-15.95 0.76v30.61c5.28-0.69 10.61-1.04 15.95-1.05 31.45 0 61.61 11.92 83.86 33.14 22.24 21.22 34.74 49.98 34.74 79.99 0 5.08-0.4 10.17-1.09 15.21z\", style: { fill: \"currentcolor\" } }, { d: \"M159.85000000000036 387.8499999999999c0.89-5.03 1.32-10.11 1.3-15.21-0.01-24.2-10.1-47.41-28.04-64.52s-42.27-26.73-67.64-26.74c-5.35-0.03-10.68 0.39-15.95 1.24v31.08c5.21-1.26 10.56-1.9 15.95-1.9 8.38-0.01 16.67 1.56 24.41 4.61 7.75 3.05 14.79 7.54 20.72 13.19 5.92 5.65 10.62 12.36 13.82 19.75s4.84 15.3 4.83 23.29c0 5.13-0.66 10.24-1.99 15.21z\", style: { fill: \"currentcolor\" } }, { d: \"M103.14000000000124 387.8499999999999c2.13-4.81 3.22-9.99 3.19-15.21-0.01-10.33-4.32-20.24-11.98-27.55-7.67-7.31-18.05-11.41-28.88-11.42-5.49-0.03-10.91 1-15.95 3.04v7.41c0.01 11.6 4.83 22.71 13.43 30.92 8.6 8.19 20.26 12.8 32.42 12.81z\", style: { fill: \"currentcolor\" } }, { d: \"M134.23999999999978 160.64999999999986c-1.71 0-3.39 0.32-4.97 0.94-1.57 0.61-3 1.53-4.2 2.68a12.2 12.2 0 0 0-2.81 4.01c-0.65 1.5-0.98 3.11-0.98 4.73v28.71c31.63 6.95 60.5 22.33 83.33 44.35 22.79 22.01 38.69 49.75 45.59 79.99h128.2c1.7 0 3.4-0.31 5-0.93s3-1.53 4.2-2.68c1.2-1.14 2.2-2.51 2.8-4.01 0.7-1.5 1-3.11 1-4.74v-140.69c0-1.62-0.3-3.23-1-4.73-0.6-1.5-1.6-2.86-2.8-4.01s-2.6-2.07-4.2-2.68c-1.6-0.62-3.3-0.94-5-0.94z\", style: { fill: \"currentcolor\" } }] }, add: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.89999999999964 106.4699999999998v273.78\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"50\", fill: \"none\" } }, { d: \"M400.39999999999964 243.36000000000013h-287\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"50\", fill: \"none\" } }] }, remove: { viewBox: \"0 0 512 512\", paths: [{ d: \"M400.39999999999964 243.36000000000013h-287.1\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"50\", fill: \"none\" } }] }, eye: { viewBox: \"0 0 512 512\", paths: [{ d: \"M256.89999999999964 304.1999999999998c14.7 0 29.1-4.87 40.5-13.8 11.4-8.94 19.2-21.36 22.1-35.16 2.9-13.82 0.7-28.15-6.3-40.57-7-12.41-18.2-22.15-31.9-27.54-13.6-5.39-28.8-6.1-43-2.01-14 4.08-26.3 12.71-34.4 24.42-8.2 11.7-11.9 25.76-10.5 39.77 1.5 14.02 8 27.11 18.4 37.07 5.9 5.65 12.9 10.13 20.7 13.19 7.7 3.06 16 4.63 24.4 4.63\", style: { fill: \"currentcolor\" } }, { d: \"M490.89999999999964 226.81999999999994c-26.4-38.88-60.6-71.96-99-95.54-42.4-26.14-89.3-40.02-135.4-40.02-42.4 0-84 11.5-123.9 34.32-40.6 23.19-77.3 57.13-109.3 100.86-3.6 4.95-5.6 10.81-5.7 16.84-0.1 6.02 1.7 11.94 5.1 17 26.3 39.26 60.2 72.34 97.9 95.73 42.6 26.24 88.2 39.55 135.9 39.55 46.5 0 93.5-13.69 135.7-39.65 38.4-23.57 72.5-56.75 98.8-95.91 3.3-4.98 5-10.74 5-16.6 0-5.88-1.8-11.63-5.1-16.58m-234 107.8c-14.2 0.02-28.1-2.97-41-8.73-12.7-5.77-24.1-14.16-33.1-24.6-8.9-10.43-15.4-22.63-18.8-35.73-3.5-13.09-3.8-26.76-1.1-40 2.8-13.25 8.6-25.75 17-36.59s19.3-19.77 31.8-26.14c12.5-6.36 26.3-10 40.4-10.65 14.2-0.66 28.3 1.68 41.4 6.86 17.4 6.98 32.4 18.67 42.9 33.65 9.6 13.75 15.2 29.71 16 46.2 0.8 16.51-3 32.9-11.2 47.47-8.2 14.56-20.3 26.74-35.2 35.25-14.8 8.49-31.8 12.99-49.1 13.01\", style: { fill: \"currentcolor\" } }] }, \"eye-off\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M432.2999999999993 425.8799999999999c-2.1 0.01-4.2-0.38-6.1-1.14-2-0.75-3.7-1.88-5.2-3.33l-350.8-334.62c-2.9-2.88-4.4-6.69-4.4-10.64 0-1.97 0.4-3.92 1.2-5.74 0.8-1.81 2-3.45 3.5-4.82 3-2.76 6.9-4.36 11-4.46 2.1-0.05 4.1 0.3 6 1.01 2 0.73 3.7 1.8 5.2 3.17l350.8 334.62c2.2 2.12 3.8 4.82 4.4 7.76 0.6 2.95 0.3 6-0.9 8.78-1.2 2.77-3.3 5.15-5.8 6.84-2.6 1.71-5.7 2.61-8.9 2.57\", style: { fill: \"currentcolor\" } }, { d: \"M248.89999999999964 300.29999999999995l-51.6-49.24c-0.3-0.28-0.7-0.48-1.1-0.57-0.4-0.08-0.8-0.01-1.2 0.19-0.4 0.18-0.7 0.48-0.9 0.86-0.2 0.34-0.3 0.75-0.2 1.14 2.1 12.78 8.3 24.6 17.9 33.74 9.6 9.15 22 15.14 35.4 17.11 0.4 0.08 0.8 0.01 1.2-0.19 0.4-0.18 0.7-0.48 0.9-0.85 0.2-0.36 0.2-0.75 0.2-1.14-0.1-0.39-0.3-0.75-0.6-1.05\", style: { fill: \"currentcolor\" } }, { d: \"M264.7999999999993 186.51l51.8 49.34c0.3 0.28 0.7 0.48 1.1 0.57 0.4 0.08 0.8 0.01 1.2-0.19 0.4-0.18 0.7-0.48 0.9-0.85 0.2-0.35 0.3-0.76 0.2-1.15-2.1-12.78-8.4-24.6-18-33.74-9.6-9.15-22-15.15-35.4-17.11-0.4-0.08-0.8-0.01-1.2 0.19-0.4 0.18-0.7 0.48-0.9 0.85-0.2 0.34-0.3 0.75-0.2 1.14 0 0.18 0.1 0.36 0.1 0.53 0.1 0.15 0.3 0.29 0.4 0.42\", style: { fill: \"currentcolor\" } }, { d: \"M491.10000000000036 259.89999999999986c3.3-4.93 5.1-10.68 5-16.54 0-5.86-1.8-11.6-5.1-16.54-26.4-38.88-60.6-71.96-99-95.54-42.4-26.14-89.3-40.02-135.5-40.02-24.4 0.01-48.6 3.79-71.6 11.22-0.6 0.22-1.2 0.58-1.7 1.04s-0.8 1.07-0.9 1.72c-0.2 0.62-0.2 1.27 0 1.9 0.1 0.62 0.5 1.19 1 1.61l47.1 44.87c0.4 0.5 1 0.83 1.7 0.95 0.7 0.19 1.3 0.19 2 0 16-3.72 32.7-3.46 48.5 0.76s30.3 12.27 41.8 23.35c11.7 11.08 20.2 24.83 24.6 39.93 4.3 15.08 4.6 31.02 0.8 46.24-0.2 0.61-0.2 1.28 0 1.9 0.2 0.63 0.5 1.22 1 1.71l67.6 64.64c0.7 0.66 1.7 1.07 2.7 1.14 1 0.06 2-0.25 2.8-0.86 26.2-21.08 48.9-45.85 67.2-73.48\", style: { fill: \"currentcolor\" } }, { d: \"M256.89999999999964 334.6200000000001c-14.5 0.03-28.8-3.09-41.9-9.11-13-6.02-24.4-14.78-33.4-25.63s-15.2-23.5-18.3-37c-3.1-13.49-2.9-27.49 0.5-40.91 0.2-0.62 0.2-1.28 0-1.9-0.2-0.65-0.5-1.24-1-1.71l-66.6-63.6c-0.7-0.65-1.7-1.06-2.7-1.14-1-0.06-2 0.25-2.8 0.86-24.3 19.77-46.8 43.75-67.5 71.96-3.6 4.94-5.5 10.8-5.6 16.82s1.6 11.93 5 17.02c26.4 39.26 60.2 72.34 98 95.73 42.6 26.23 88.2 39.54 135.9 39.54 24.6-0.08 48.9-3.8 72.3-11.02 0.7-0.2 1.2-0.57 1.7-1.05s0.8-1.07 1-1.71c0.2-0.62 0.2-1.28 0-1.9-0.2-0.65-0.5-1.24-1-1.71l-47.3-45.16c-0.5-0.46-1.1-0.8-1.8-0.95-0.7-0.19-1.3-0.19-2 0-7.4 1.71-15 2.57-22.5 2.57\", style: { fill: \"currentcolor\" } }] }, \"local-import\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M85.00999999999931 192.501v-61.41c0-9.025 3.77-17.679 10.46-24.06s15.77-9.969 25.23-9.972h67.97c7.05 0.03 13.95 2.011 19.84 5.703l24.91 15.876c5.86 3.758 12.77 5.746 19.84 5.703h139.44c9.46 0.005 18.54 3.592 25.22 9.973 6.69 6.381 10.46 15.034 10.46 24.06v34.032\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M457.09000000000015 221.873l-14.56 141.072c-0.01 9.024-3.76 17.678-10.45 24.059s-15.77 9.968-25.23 9.973h-300.01c-9.46-0.005-18.54-3.591-25.22-9.973-6.69-6.381-10.46-15.035-10.46-24.059l-14.55-141.072c-0.59-7.208 1.83-14.344 6.75-19.849 4.91-5.505 11.91-8.93 19.46-9.525 0.8 0 1.5-0.19 2.29-0.19h343.47c7.58 0.028 14.85 2.927 20.19 8.061 5.35 5.134 8.34 12.081 8.32 19.316z\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, \"drag-handle\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M171.1299999999992 131.55999999999995c28.62 0 51.82-22.13 51.82-49.43s-23.2-49.43-51.82-49.43c-28.63 0-51.83 22.13-51.83 49.43s23.2 49.43 51.83 49.43\", style: { fill: \"currentcolor\" } }, { d: \"M171.1299999999992 296.02c28.62 0 51.82-22.13 51.82-49.43s-23.2-49.43-51.82-49.43c-28.63 0-51.83 22.13-51.83 49.43s23.2 49.43 51.83 49.43\", style: { fill: \"currentcolor\" } }, { d: \"M171.1299999999992 466.1800000000003c28.62 0 51.82-22.56 51.82-50.38 0-27.83-23.2-50.39-51.82-50.39-28.63 0-51.83 22.56-51.83 50.39 0 27.82 23.2 50.38 51.83 50.38\", style: { fill: \"currentcolor\" } }, { d: \"M343.5599999999995 131.55999999999995c28.62 0 51.83-22.13 51.83-49.43s-23.21-49.43-51.83-49.43c-28.63 0-51.83 22.13-51.83 49.43s23.2 49.43 51.83 49.43\", style: { fill: \"currentcolor\" } }, { d: \"M343.5599999999995 296.02c28.62 0 51.83-22.13 51.83-49.43s-23.21-49.43-51.83-49.43c-28.63 0-51.83 22.13-51.83 49.43s23.2 49.43 51.83 49.43\", style: { fill: \"currentcolor\" } }, { d: \"M343.5599999999995 466.1800000000003c28.62 0 51.83-22.56 51.83-50.38 0-27.83-23.21-50.39-51.83-50.39-28.63 0-51.83 22.56-51.83 50.39 0 27.82 23.2 50.38 51.83 50.38\", style: { fill: \"currentcolor\" } }] }, bin: { viewBox: \"0 0 512 512\", paths: [{ d: \"M436.83999999999924 118.26999999999998l-29.95 307.93c-0.96 8.69-4.88 16.72-11 22.53-6.12 5.82-14.02 9.03-22.21 9.03h-241.51c-8.2 0-16.11-3.21-22.23-9.03-6.12-5.81-10.04-13.84-10.99-22.53l-29.95-307.93\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M440.72999999999956 28.519999999999982h-368.76c-23.95 0-43.37 20-43.37 44.66v0.04c0 24.66 19.42 44.66 43.37 44.66h368.76c23.95 0 43.36-20 43.36-44.66v-0.04c0-24.66-19.41-44.66-43.36-44.66\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M306.47999999999956 245.26000000000022l-108.44 115.31\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }, { d: \"M306.47999999999956 360.0999999999999l-108.44-115.31\", style: { stroke: \"currentcolor\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"32\", fill: \"none\" } }] }, \"dot-arrow\": { viewBox: \"0 0 512 512\", paths: [{ d: \"M310.84999999999945 140.77999999999997c9.4-8.891 24.59-8.858 33.94 0.071l97.99 93.565 0.02 0.012 0.03 0.036 0.03 0.023c2.3 2.2 4.03 4.734 5.2 7.438a21.9 21.9 0 0 1 1.79 8.322v0.632a21.7 21.7 0 0 1-1.82 8.436 22 22 0 0 1-2.16 3.865 24 24 0 0 1-3.01 3.501l-0.01 0.011c-0.02 0.02-0.05 0.04-0.07 0.061l-97.99 93.565c-9.35 8.929-24.54 8.961-33.94 0.071-9.39-8.89-9.42-23.336-0.07-32.265l57.31-54.725H180.6899999999996c-13.25 0-24-10.214-24-22.815 0-12.6 10.75-22.815 24-22.815h187.4l-57.31-54.724c-9.35-8.93-9.32-23.375 0.07-32.265M83.6899999999996 275.77599999999995c14.36 0 26-11.278 26-25.192s-11.64-25.191-26-25.191-26 11.278-26 25.191c0 13.914 11.64 25.192 26 25.192\", style: { fill: \"currentcolor\", fillRule: \"evenodd\", clipRule: \"evenodd\" } }] } };\n\n// src/Icon.tsx\nvar ICONS = icons_default;\nvar Icon = React.memo(React.forwardRef((props, ref) => {\n const icon = ICONS[props.name];\n return icon ? /* @__PURE__ */ React.createElement(\"svg\", { ref, className: props.className, viewBox: icon.viewBox }, icon.paths.map((path, index) => /* @__PURE__ */ React.createElement(\"path\", { key: index, d: path.d, style: path.style }))) : null;\n}));\nvar Icon_default = Icon;\n\n// src/index.ts\nvar src_default = Icon_default;\nexport {\n src_default as default\n};\n","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"</\"+t.name+\">\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"</\"+a.name+\">\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","export const warn = (i18n, code, msg, rest) => {\n const args = [msg, {\n code,\n ...(rest || {})\n }];\n if (i18n?.services?.logger?.forward) {\n return i18n.services.logger.forward(args, 'warn', 'react-i18next::', true);\n }\n if (isString(args[0])) args[0] = `react-i18next:: ${args[0]}`;\n if (i18n?.services?.logger?.warn) {\n i18n.services.logger.warn(...args);\n } else if (console?.warn) {\n console.warn(...args);\n }\n};\nconst alreadyWarned = {};\nexport const warnOnce = (i18n, code, msg, rest) => {\n if (isString(msg) && alreadyWarned[msg]) return;\n if (isString(msg)) alreadyWarned[msg] = new Date();\n warn(i18n, code, msg, rest);\n};\nconst loadedClb = (i18n, cb) => () => {\n if (i18n.isInitialized) {\n cb();\n } else {\n const initialized = () => {\n setTimeout(() => {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n i18n.on('initialized', initialized);\n }\n};\nexport const loadNamespaces = (i18n, ns, cb) => {\n i18n.loadNamespaces(ns, loadedClb(i18n, cb));\n};\nexport const loadLanguages = (i18n, lng, ns, cb) => {\n if (isString(ns)) ns = [ns];\n if (i18n.options.preload && i18n.options.preload.indexOf(lng) > -1) return loadNamespaces(i18n, ns, cb);\n ns.forEach(n => {\n if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);\n });\n i18n.loadLanguages(lng, loadedClb(i18n, cb));\n};\nexport const hasLoadedNamespace = (ns, i18n, options = {}) => {\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce(i18n, 'NO_LANGUAGES', 'i18n.languages were undefined or empty', {\n languages: i18n.languages\n });\n return true;\n }\n return i18n.hasLoadedNamespace(ns, {\n lng: options.lng,\n precheck: (i18nInstance, loadNotPending) => {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n};\nexport const getDisplayName = Component => Component.displayName || Component.name || (isString(Component) && Component.length > 0 ? Component : 'Unknown');\nexport const isString = obj => typeof obj === 'string';\nexport const isObject = obj => typeof obj === 'object' && obj !== null;","const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nconst htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\nconst unescapeHtmlEntity = m => htmlEntities[m];\nexport const unescape = text => text.replace(matchHtmlEntity, unescapeHtmlEntity);","import { unescape } from './unescape.js';\nlet defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape\n};\nexport const setDefaults = (options = {}) => {\n defaultOptions = {\n ...defaultOptions,\n ...options\n };\n};\nexport const getDefaults = () => defaultOptions;","let i18nInstance;\nexport const setI18n = instance => {\n i18nInstance = instance;\n};\nexport const getI18n = () => i18nInstance;","import { Fragment, isValidElement, cloneElement, createElement, Children } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { isObject, isString, warn, warnOnce } from './utils.js';\nimport { getDefaults } from './defaults.js';\nimport { getI18n } from './i18nInstance.js';\nconst hasChildren = (node, checkLength) => {\n if (!node) return false;\n const base = node.props?.children ?? node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n};\nconst getChildren = node => {\n if (!node) return [];\n const children = node.props?.children ?? node.children;\n return node.props?.i18nIsDynamicList ? getAsArray(children) : children;\n};\nconst hasValidReactChildren = children => Array.isArray(children) && children.every(isValidElement);\nconst getAsArray = data => Array.isArray(data) ? data : [data];\nconst mergeProps = (source, target) => {\n const newTarget = {\n ...target\n };\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n};\nexport const nodesToString = (children, i18nOptions, i18n, i18nKey) => {\n if (!children) return '';\n let stringNode = '';\n const childrenArray = getAsArray(children);\n const keepArray = i18nOptions?.transSupportBasicHtmlNodes ? i18nOptions.transKeepBasicHtmlNodesFor ?? [] : [];\n childrenArray.forEach((child, childIndex) => {\n if (isString(child)) {\n stringNode += `${child}`;\n return;\n }\n if (isValidElement(child)) {\n const {\n props,\n type\n } = child;\n const childPropsCount = Object.keys(props).length;\n const shouldKeepChild = keepArray.indexOf(type) > -1;\n const childChildren = props.children;\n if (!childChildren && shouldKeepChild && !childPropsCount) {\n stringNode += `<${type}/>`;\n return;\n }\n if (!childChildren && (!shouldKeepChild || childPropsCount) || props.i18nIsDynamicList) {\n stringNode += `<${childIndex}></${childIndex}>`;\n return;\n }\n if (shouldKeepChild && childPropsCount === 1 && isString(childChildren)) {\n stringNode += `<${type}>${childChildren}</${type}>`;\n return;\n }\n const content = nodesToString(childChildren, i18nOptions, i18n, i18nKey);\n stringNode += `<${childIndex}>${content}</${childIndex}>`;\n return;\n }\n if (child === null) {\n warn(i18n, 'TRANS_NULL_VALUE', `Passed in a null value as child`, {\n i18nKey\n });\n return;\n }\n if (isObject(child)) {\n const {\n format,\n ...clone\n } = child;\n const keys = Object.keys(clone);\n if (keys.length === 1) {\n const value = format ? `${keys[0]}, ${format}` : keys[0];\n stringNode += `{{${value}}}`;\n return;\n }\n warn(i18n, 'TRANS_INVALID_OBJ', `Invalid child - Object should only have keys {{ value, format }} (format is optional).`, {\n i18nKey,\n child\n });\n return;\n }\n warn(i18n, 'TRANS_INVALID_VAR', `Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.`, {\n i18nKey,\n child\n });\n });\n return stringNode;\n};\nconst renderNodes = (children, knownComponentsMap, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) => {\n if (targetString === '') return [];\n const keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n const emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.map(keep => `<${keep}`).join('|')).test(targetString);\n if (!children && !knownComponentsMap && !emptyChildrenButNeedsHandling && !shouldUnescape) return [targetString];\n const data = knownComponentsMap ?? {};\n const getData = childs => {\n const childrenArray = getAsArray(childs);\n childrenArray.forEach(child => {\n if (isString(child)) return;\n if (hasChildren(child)) getData(getChildren(child));else if (isObject(child) && !isValidElement(child)) Object.assign(data, child);\n });\n };\n getData(children);\n const ast = HTML.parse(`<0>${targetString}</0>`);\n const opts = {\n ...data,\n ...combinedTOpts\n };\n const renderInner = (child, node, rootReactNode) => {\n const childs = getChildren(child);\n const mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 || child.props?.i18nIsDynamicList ? childs : mappedChildren;\n };\n const pushTranslatedJSX = (child, inner, mem, i, isVoid) => {\n if (child.dummy) {\n child.children = inner;\n mem.push(cloneElement(child, {\n key: i\n }, isVoid ? undefined : inner));\n } else {\n mem.push(...Children.map([child], c => {\n const props = {\n ...c.props\n };\n delete props.i18nIsDynamicList;\n return createElement(c.type, {\n ...props,\n key: i,\n ref: c.props.ref ?? c.ref\n }, isVoid ? null : inner);\n }));\n }\n };\n const mapAST = (reactNode, astNode, rootReactNode) => {\n const reactNodes = getAsArray(reactNode);\n const astNodes = getAsArray(astNode);\n return astNodes.reduce((mem, node, i) => {\n const translationContent = node.children?.[0]?.content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n if (node.type === 'tag') {\n let tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && knownComponentsMap) tmp = knownComponentsMap[node.name];\n if (rootReactNode.length === 1 && !tmp) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n const child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n const isElement = isValidElement(child);\n const isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n const isEmptyTransWithHTML = emptyChildrenButNeedsHandling && isObject(child) && child.dummy && !isElement;\n const isKnownComponent = isObject(knownComponentsMap) && Object.hasOwnProperty.call(knownComponentsMap, node.name);\n if (isString(child)) {\n const value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n const inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n const inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: `${node.name}-${i}`\n }));\n } else {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n mem.push(createElement(node.name, {\n key: `${node.name}-${i}`\n }, inner));\n }\n } else if (node.voidElement) {\n mem.push(`<${node.name} />`);\n } else {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n mem.push(`<${node.name}>${inner}</${node.name}>`);\n }\n } else if (isObject(child) && !isElement) {\n const content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else {\n pushTranslatedJSX(child, translationContent, mem, i, node.children.length !== 1 || !translationContent);\n }\n } else if (node.type === 'text') {\n const wrapTextNodes = i18nOptions.transWrapTextNodes;\n const content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: `${node.name}-${i}`\n }, content));\n } else {\n mem.push(content);\n }\n }\n return mem;\n }, []);\n };\n const result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n};\nconst fixComponentProps = (component, index, translation) => {\n const componentKey = component.key || index;\n const comp = cloneElement(component, {\n key: componentKey\n });\n if (!comp.props || !comp.props.children || translation.indexOf(`${index}/>`) < 0 && translation.indexOf(`${index} />`) < 0) {\n return comp;\n }\n function Componentized() {\n return createElement(Fragment, null, comp);\n }\n return createElement(Componentized, {\n key: componentKey\n });\n};\nconst generateArrayComponents = (components, translation) => components.map((c, index) => fixComponentProps(c, index, translation));\nconst generateObjectComponents = (components, translation) => {\n const componentMap = {};\n Object.keys(components).forEach(c => {\n Object.assign(componentMap, {\n [c]: fixComponentProps(components[c], c, translation)\n });\n });\n return componentMap;\n};\nconst generateComponents = (components, translation, i18n, i18nKey) => {\n if (!components) return null;\n if (Array.isArray(components)) {\n return generateArrayComponents(components, translation);\n }\n if (isObject(components)) {\n return generateObjectComponents(components, translation);\n }\n warnOnce(i18n, 'TRANS_INVALID_COMPONENTS', `<Trans /> \"components\" prop expects an object or array`, {\n i18nKey\n });\n return null;\n};\nconst isComponentsMap = object => {\n if (!isObject(object)) return false;\n if (Array.isArray(object)) return false;\n return Object.keys(object).reduce((acc, key) => acc && Number.isNaN(Number.parseFloat(key)), true);\n};\nexport function Trans({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions = {},\n values,\n defaults,\n components,\n ns,\n i18n: i18nFromProps,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n}) {\n const i18n = i18nFromProps || getI18n();\n if (!i18n) {\n warnOnce(i18n, 'NO_I18NEXT_INSTANCE', `Trans: You need to pass in an i18next instance using i18nextReactModule`, {\n i18nKey\n });\n return children;\n }\n const t = tFromProps || i18n.t.bind(i18n) || (k => k);\n const reactI18nextOptions = {\n ...getDefaults(),\n ...i18n.options?.react\n };\n let namespaces = ns || t.ns || i18n.options?.defaultNS;\n namespaces = isString(namespaces) ? [namespaces] : namespaces || ['translation'];\n const nodeAsString = nodesToString(children, reactI18nextOptions, i18n, i18nKey);\n const defaultValue = defaults || nodeAsString || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n const {\n hashTransKey\n } = reactI18nextOptions;\n const key = i18nKey || (hashTransKey ? hashTransKey(nodeAsString || defaultValue) : nodeAsString || defaultValue);\n if (i18n.options?.interpolation?.defaultVariables) {\n values = values && Object.keys(values).length > 0 ? {\n ...values,\n ...i18n.options.interpolation.defaultVariables\n } : {\n ...i18n.options.interpolation.defaultVariables\n };\n }\n const interpolationOverride = values || count !== undefined && !i18n.options?.interpolation?.alwaysFormat || !children ? tOptions.interpolation : {\n interpolation: {\n ...tOptions.interpolation,\n prefix: '#$?',\n suffix: '?$#'\n }\n };\n const combinedTOpts = {\n ...tOptions,\n context: context || tOptions.context,\n count,\n ...values,\n ...interpolationOverride,\n defaultValue,\n ns: namespaces\n };\n const translation = key ? t(key, combinedTOpts) : defaultValue;\n const generatedComponents = generateComponents(components, translation, i18n, i18nKey);\n let indexedChildren = generatedComponents || children;\n let componentsMap = null;\n if (isComponentsMap(generatedComponents)) {\n componentsMap = generatedComponents;\n indexedChildren = children;\n }\n const content = renderNodes(indexedChildren, componentsMap, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n const useAsParent = parent ?? reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport const initReactI18next = {\n type: '3rdParty',\n init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport const I18nContext = createContext();\nexport class ReportNamespaces {\n constructor() {\n this.usedNamespaces = {};\n }\n addUsedNamespaces(namespaces) {\n namespaces.forEach(ns => {\n if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;\n });\n }\n getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n}\nexport const composeInitialProps = ForComponent => async ctx => {\n const componentsInitialProps = (await ForComponent.getInitialProps?.(ctx)) ?? {};\n const i18nInitialProps = getInitialProps();\n return {\n ...componentsInitialProps,\n ...i18nInitialProps\n };\n};\nexport const getInitialProps = () => {\n const i18n = getI18n();\n const namespaces = i18n.reportNamespaces?.getUsedNamespaces() ?? [];\n const ret = {};\n const initialI18nStore = {};\n i18n.languages.forEach(l => {\n initialI18nStore[l] = {};\n namespaces.forEach(ns => {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n};","import { useContext } from 'react';\nimport { nodesToString, Trans as TransWithoutContext } from './TransWithoutContext.js';\nimport { getI18n, I18nContext } from './context.js';\nexport { nodesToString };\nexport function Trans({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions = {},\n values,\n defaults,\n components,\n ns,\n i18n: i18nFromProps,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n}) {\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n const t = tFromProps || i18n?.t.bind(i18n);\n return TransWithoutContext({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions,\n values,\n defaults,\n components,\n ns: ns || t?.ns || defaultNSFromContext || i18n?.options?.defaultNS,\n i18n,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n });\n}","import { useState, useEffect, useContext, useRef, useCallback } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, loadLanguages, hasLoadedNamespace, isString, isObject } from './utils.js';\nconst usePrevious = (value, ignore) => {\n const ref = useRef();\n useEffect(() => {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\nconst alwaysNewT = (i18n, language, namespace, keyPrefix) => i18n.getFixedT(language, namespace, keyPrefix);\nconst useMemoizedT = (i18n, language, namespace, keyPrefix) => useCallback(alwaysNewT(i18n, language, namespace, keyPrefix), [i18n, language, namespace, keyPrefix]);\nexport const useTranslation = (ns, props = {}) => {\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n if (!i18n) {\n warnOnce(i18n, 'NO_I18NEXT_INSTANCE', 'useTranslation: You will need to pass in an i18next instance by using initReactI18next');\n const notReadyT = (k, optsOrDefaultValue) => {\n if (isString(optsOrDefaultValue)) return optsOrDefaultValue;\n if (isObject(optsOrDefaultValue) && isString(optsOrDefaultValue.defaultValue)) return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n const retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n if (i18n.options.react?.wait) warnOnce(i18n, 'DEPRECATED_OPTION', 'useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n const i18nOptions = {\n ...getDefaults(),\n ...i18n.options.react,\n ...props\n };\n const {\n useSuspense,\n keyPrefix\n } = i18nOptions;\n let namespaces = ns || defaultNSFromContext || i18n.options?.defaultNS;\n namespaces = isString(namespaces) ? [namespaces] : namespaces || ['translation'];\n i18n.reportNamespaces.addUsedNamespaces?.(namespaces);\n const ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(n => hasLoadedNamespace(n, i18n, i18nOptions));\n const memoGetT = useMemoizedT(i18n, props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const getT = () => memoGetT;\n const getNewT = () => alwaysNewT(i18n, props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const [t, setT] = useState(getT);\n let joinedNS = namespaces.join();\n if (props.lng) joinedNS = `${props.lng}${joinedNS}`;\n const previousJoinedNS = usePrevious(joinedNS);\n const isMounted = useRef(true);\n useEffect(() => {\n const {\n bindI18n,\n bindI18nStore\n } = i18nOptions;\n isMounted.current = true;\n if (!ready && !useSuspense) {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => {\n if (isMounted.current) setT(getNewT);\n });\n } else {\n loadNamespaces(i18n, namespaces, () => {\n if (isMounted.current) setT(getNewT);\n });\n }\n }\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getNewT);\n }\n const boundReset = () => {\n if (isMounted.current) setT(getNewT);\n };\n if (bindI18n) i18n?.on(bindI18n, boundReset);\n if (bindI18nStore) i18n?.store.on(bindI18nStore, boundReset);\n return () => {\n isMounted.current = false;\n if (i18n && bindI18n) bindI18n?.split(' ').forEach(e => i18n.off(e, boundReset));\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(e => i18n.store.off(e, boundReset));\n };\n }, [i18n, joinedNS]);\n useEffect(() => {\n if (isMounted.current && ready) {\n setT(getT);\n }\n }, [i18n, keyPrefix, ready]);\n const ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(resolve => {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => resolve());\n } else {\n loadNamespaces(i18n, namespaces, () => resolve());\n }\n });\n};","import { createElement, forwardRef as forwardRefReact } from 'react';\nimport { useTranslation } from './useTranslation.js';\nimport { getDisplayName } from './utils.js';\nexport const withTranslation = (ns, options = {}) => function Extend(WrappedComponent) {\n function I18nextWithTranslation({\n forwardedRef,\n ...rest\n }) {\n const [t, i18n, ready] = useTranslation(ns, {\n ...rest,\n keyPrefix: options.keyPrefix\n });\n const passDownProps = {\n ...rest,\n t,\n i18n,\n tReady: ready\n };\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n return createElement(WrappedComponent, passDownProps);\n }\n I18nextWithTranslation.displayName = `withI18nextTranslation(${getDisplayName(WrappedComponent)})`;\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n const forwardRef = (props, ref) => createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n return options.withRef ? forwardRefReact(forwardRef) : I18nextWithTranslation;\n};","import { useTranslation } from './useTranslation.js';\nexport const Translation = ({\n ns,\n children,\n ...options\n}) => {\n const [t, i18n, ready] = useTranslation(ns, options);\n return children(t, {\n i18n,\n lng: i18n.language\n }, ready);\n};","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context.js';\nexport function I18nextProvider({\n i18n,\n defaultNS,\n children\n}) {\n const value = useMemo(() => ({\n i18n,\n defaultNS\n }), [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value\n }, children);\n}","import { useContext } from 'react';\nimport { getI18n, I18nContext } from './context.js';\nexport const useSSR = (initialI18nStore, initialLanguage, props = {}) => {\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n.options?.isClone) return;\n if (initialI18nStore && !i18n.initializedStoreOnce) {\n i18n.services.resourceStore.data = initialI18nStore;\n i18n.options.ns = Object.values(initialI18nStore).reduce((mem, lngResources) => {\n Object.keys(lngResources).forEach(ns => {\n if (mem.indexOf(ns) < 0) mem.push(ns);\n });\n return mem;\n }, i18n.options.ns);\n i18n.initializedStoreOnce = true;\n i18n.isInitialized = true;\n }\n if (initialLanguage && !i18n.initializedLanguageOnce) {\n i18n.changeLanguage(initialLanguage);\n i18n.initializedLanguageOnce = true;\n }\n};","import { createElement } from 'react';\nimport { useSSR } from './useSSR.js';\nimport { composeInitialProps } from './context.js';\nimport { getDisplayName } from './utils.js';\nexport const withSSR = () => function Extend(WrappedComponent) {\n function I18nextWithSSR({\n initialI18nStore,\n initialLanguage,\n ...rest\n }) {\n useSSR(initialI18nStore, initialLanguage);\n return createElement(WrappedComponent, {\n ...rest\n });\n }\n I18nextWithSSR.getInitialProps = composeInitialProps(WrappedComponent);\n I18nextWithSSR.displayName = `withI18nextSSR(${getDisplayName(WrappedComponent)})`;\n I18nextWithSSR.WrappedComponent = WrappedComponent;\n return I18nextWithSSR;\n};","export { Trans } from './Trans.js';\nexport { Trans as TransWithoutContext } from './TransWithoutContext.js';\nexport { useTranslation } from './useTranslation.js';\nexport { withTranslation } from './withTranslation.js';\nexport { Translation } from './Translation.js';\nexport { I18nextProvider } from './I18nextProvider.js';\nexport { withSSR } from './withSSR.js';\nexport { useSSR } from './useSSR.js';\nexport { initReactI18next } from './initReactI18next.js';\nexport { setDefaults, getDefaults } from './defaults.js';\nexport { setI18n, getI18n } from './i18nInstance.js';\nexport { I18nContext, composeInitialProps, getInitialProps } from './context.js';\nexport const date = () => '';\nexport const time = () => '';\nexport const number = () => '';\nexport const select = () => '';\nexport const plural = () => '';\nexport const selectOrdinal = () => '';","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl + \"../../\";","// Copyright (C) 2017-2023 Smart code 203358507\n\nif (typeof process.env.SENTRY_DSN === 'string') {\n const Sentry = require('@sentry/browser');\n Sentry.init({ dsn: process.env.SENTRY_DSN });\n}\n\nconst Bowser = require('bowser');\nconst browser = Bowser.parse(window.navigator?.userAgent || '');\nif (browser?.platform?.type === 'desktop') {\n document.querySelector('meta[name=\"viewport\"]')?.setAttribute('content', '');\n}\n\nconst React = require('react');\nconst ReactDOM = require('react-dom/client');\nconst i18n = require('i18next');\nconst { initReactI18next } = require('react-i18next');\nconst stremioTranslations = require('stremio-translations');\nconst App = require('./App');\n\nconst translations = Object.fromEntries(Object.entries(stremioTranslations()).map(([key, value]) => [key, {\n translation: value\n}]));\n\ni18n\n .use(initReactI18next)\n .init({\n resources: translations,\n lng: 'en-US',\n fallbackLng: 'en-US',\n interpolation: {\n escapeValue: false\n }\n });\n\nconst root = ReactDOM.createRoot(document.getElementById('app'));\nroot.render(<App />);\n\nif (process.env.NODE_ENV === 'production' && process.env.SERVICE_WORKER_DISABLED !== 'true' && process.env.SERVICE_WORKER_DISABLED !== true && 'serviceWorker' in navigator) {\n window.addEventListener('load', () => {\n navigator.serviceWorker.register('service-worker.js')\n .catch((registrationError) => {\n console.error('SW registration failed: ', registrationError);\n });\n });\n}\n"],"names":["_interopRequireDefault","_regenerator","_asyncToGenerator2","getId","Math","random","toString","slice","module","exports","scope","handler","addEventListener","_ref2","mark","_callee","_ref","request","id","path","args","value","data","thisArg","wrap","_context","prev","next","abrupt","reduce","prop","length","apply","sent","postMessage","response","result","t0","error","stop","_x","this","arguments","call","_ref3","_callee2","_context2","Promise","resolve","reject","onMessage","_ref4","removeEventListener","_x2","_x3","EventEmitter","ERROR","ChromecastSenderVideo","options","containerElement","HTMLElement","Error","chromecastTransport","device","getCastDevice","deviceNameContainerElement","document","createElement","style","display","flexDirection","alignItems","justifyContent","width","height","backgroundColor","deviceNameLabelElement","flex","maxWidth","fontSize","lineHeight","maxHeight","textAlign","color","innerText","friendlyName","appendChild","on","onMessageReceivedError","events","destroyed","observedProps","stream","loaded","paused","time","duration","buffering","buffered","audioTracks","selectedAudioTrackId","subtitlesTracks","selectedSubtitlesTrackId","subtitlesOffset","subtitlesSize","subtitlesTextColor","subtitlesBackgroundColor","subtitlesOutlineColor","volume","muted","playbackSpeed","videoParams","extraSubtitlesTracks","selectedExtraSubtitlesTrackId","extraSubtitlesDelay","extraSubtitlesSize","extraSubtitlesOffset","extraSubtitlesTextColor","extraSubtitlesBackgroundColor","extraSubtitlesOutlineColor","onMessageSendError","action","emit","Object","assign","CHROMECAST_SENDER_VIDEO","MESSAGE_SEND_FAILED","INVALID_MESSAGE_RECEIVED","message","event","Array","isArray","concat","onPropChanged","propName","propValue","eventName","listener","dispatch","type","hasOwnProperty","sendMessage","catch","commandName","commandArgs","removeAllListeners","off","removeChild","JSON","stringify","canPlayStream","manifest","name","external","props","commands","Hls","cloneDeep","deepFreeze","Color","getContentType","HLS_CONFIG","HTMLVideo","styleElement","sheet","insertRule","videoElement","controls","playsInline","onerror","code","HTML_VIDEO","MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED","UNKNOWN_ERROR","onError","critical","onVideoError","onended","onpause","onplay","ontimeupdate","ondurationchange","onwaiting","onseeking","onseeked","onstalled","onplaying","oncanplay","canplaythrough","onloadedmetadata","onloadeddata","onvolumechange","onratechange","textTracks","onchange","onCueChange","from","forEach","track","oncuechange","hls","subtitlesOpacity","getProp","readyState","HAVE_METADATA","currentTime","isFinite","floor","HAVE_FUTURE_DATA","i","start","end","map","index","freeze","String","lang","language","label","origin","embedded","mode","parseInt","cssRules","textShadow","indexOf","round","audioTrack","playbackRate","cues","cue","snapToLines","line","command","url","autoplay","then","contentType","isSupported","Events","AUDIO_TRACKS_UPDATED","AUDIO_TRACK_SWITCHED","loadSource","attachMedia","src","UNSUPPORTED_STREAM","detachMedia","destroy","removeAttribute","load","pause","play","selecterdSubtitlesTrack","find","max","min","rgb","string","console","outlineColor","opacity","selecterdAudioTrack","split","pop","parseFloat","setProp","behaviorHints","notWebReady","canPlayType","proxyHeaders","fetch","method","resp","ok","headers","get","status","statusText","debug","enableWorker","lowLatencyMode","backBufferLength","maxBufferLength","maxMaxBufferLength","maxFragLookUpTolerance","maxBufferHole","appendErrorMaxRetry","nudgeMaxRetry","manifestLoadingTimeOut","manifestLoadingMaxRetry","fragLoadPolicy","default","maxTimeToFirstByteMs","maxLoadTimeMs","timeoutRetry","maxNumRetry","retryDelayMs","maxRetryDelayMs","errorRetry","IFrameVideo","iframeElement","border","allowFullscreen","allow","source","contentWindow","playerFrameUrl","window","onload","SUBS_SCALE_FACTOR","stremioToMPVProps","parseVersion","version","v","ShellVideo","resolveMPVVersion","ipc","shellTransport","stremioProps","keys","key","waitForMPVVersion","send","avgDuration","setBackground","visible","bg","container","parentElement","background","getElementsByTagName","body","logProp","log","last_time","mpvVersion","hwdecValue","hardwareDecoding","windowRenderer","navigator","platform","videoOutput","mpvSeparateWindow","separateWindow","b","versionA","versionB","startAt","speed","aid","startsWith","mute","sid","intDuration","embeddedProp","filter","x","undefined","title","current_time","actualId","argb","replace","selectVideoImplementation","StremioVideo","video","set","Video","constructor","TizenVideo","TitanVideo","VidaaVideo","WebOsVideo","YouTubeVideo","withStreamingServer","withHTMLSubtitles","withVideoParams","externalUrl","getCastState","cast","framework","CastState","CONNECTED","ytId","streamingServerURL","SSA_DESCRIPTORS_REGEX","size","offset","textColor","subtitlesElement","position","right","bottom","left","zIndex","lastSub","async","refreshSubtitle","renderSubtitle","text","visibility","hasChildNodes","lastChild","cueNode","innerHTML","padding","whiteSpace","renderCue","ev","target","activeCues","kind","enabled","onaddtrack","setTimeout","selectedSubtitlesTrack","selectedAudioTrack","SCOPE","transport","getState","getCurrentTime","getDuration","getTotalTrackInfo","getCurrentStreamInfo","open","prepareAsync","successHandler","errorHandler","handlerResult","seekTo","setSpeed","rate","setSelectTrack","setDisplayRect","y","setDisplayMethod","setListener","handlers","listen","getTracksData","createAVPlay","isBuffering","videoSpeed","currentSubTrack","currentAudioTrack","AVPlay","promiseAudioTrackChange","objElement","disabledSubs","lastSubDurationDiff","now","cleanedText","subtitleTimeout","clearTimeout","onbufferingstart","onbufferingprogress","onbufferingcomplete","oncurrentplaytime","onsubtitlechange","onstreamcompleted","retries","isLoaded","gotTraktData","tracksData","audio","subs","isPaused","totalTrackInfo","textTrack","textTrackId","extra","parse","extra_info","e","textTrackLang","track_lang","trim","textTrackLabel","extendedTrackData","el","push","currentTracks","currentIndex","audioTrackId","audioTrackLang","audioTrackLabel","tizenVersion","TIZEN_MATCHES","userAgent","match","innerWidth","innerHeight","STREAM_FAILED_TO_LOAD","observeProp","willPause","lastKnownProp","luna","params","fail","onSuccess","onFailure","errorCode","errorText","webOS","service","launchVideoApp","success","failure","parameters","webOsColors","stremioColors","unsupportedAudio","unsupportedSubs","fetchedDeviceInfo","retrieveDeviceInfo","configs","edidType","toLowerCase","includes","err","subSize","subStyles","font_size","bg_color","bg_opacity","char_opacity","toggleSubtitles","mediaId","startTime","lastSubColor","lastSubBgColor","lastPlaybackSpeed","retrieveExtendedTracks","nrSubs","nrAudio","codec","charColor","bgColor","bgOpacity","charOpacity","trackIndex","successCb","nextOffset","nextSubSize","nextColor","nextSubOpacity","count","cb","timer","setInterval","clearInterval","timeChangedTimeout","apiScriptElement","YT","ready","onAPIError","PlayerState","Player","videoContainerElement","playerVars","cc_load_policy","disablekb","enablejsapi","fs","iv_load_policy","loop","modestbranding","playsinline","rel","onReady","onVideoReady","onApiChange","onVideoAPIChange","onStateChange","onVideoStateChange","timeChangedIntervalId","pendingLoadArgs","YOUTUBE_VIDEO","API_LOAD_FAILED","videoError","INVALID_PARAMETER","HTML5_VIDEO","VIDEO_NOT_FOUND","VIDEO_NOT_EMBEDDABLE","loadModule","setOption","state","ENDED","CUED","UNSTARTED","PAUSED","PLAYING","getPlayerState","BUFFERING","getVolume","isMuted","getPlaybackRate","getOption","languageCode","displayName","loadVideoById","videoId","startSeconds","cueVideoById","stopVideo","pauseVideo","playVideo","unMute","setVolume","setPlaybackRate","selecterdTrack","WITH_HTML_SUBTITLES","LOAD_FAILED","WITH_STREAMING_SERVER","CONVERT_FAILED","mediaElement","formats","VIDEO_CODEC_CONFIGS","force","chrome","mime","aliases","AUDIO_CODEC_CONFIGS","canPlay","config","videoCodecs","audioCodecs","maxAudioChannels","test","AudioContext","maxChannelCount","destination","getMaxAudioChannels","val","qt","encodeURIComponent","json","tracks","subsTracks","array","middle","convertSrtCue","caption","s","splice","m","convert","srt","cuelist","srt2webvtt","VTTJS","binarySearchUpperBound","parser","WebVTT","Parser","StringDecoder","errors","cuesByTime","oncue","c","endTime","onparsingerror","onflush","warn","times","sort","t1","t2","j","k","c1","c2","render","nodes","timeIndex","cuesForTime","node","convertCueToDOMTree","subtitlesParser","subtitlesRenderer","subtitlesConverter","VideoWithHTMLSubtitles","onVideoPropEvent","bind","onOtherVideoEvent","videoState","selectedTrackId","delay","extraSubtitlesOpacity","renderSubtitles","fontSizeMultiplier","screen720p","videoPropValue","selectedTrack","loadSubtitles","isFallback","fallbackUrl","buffer","ArrayBuffer","uInt8Array","Uint8Array","TextDecoder","decode","getSubtitlesData","findIndex","t","filename","local","subtitles","exclusive","magnet","createTorrent","buildProxyUrl","streamURL","requestHeaders","responseHeaders","parsedStreamURL","URL","proxyOptions","URLSearchParams","entries","entry","append","pathname","search","seriesInfo","streamingServerSettings","infoHash","fileIdx","announce","torrent","parsedMagnetURI","sources","proxyStreamsEnabled","buildTorrent","query","peerSearch","guessFileIdx","season","episode","guessedFileIdx","fetchOpensubtitlesParams","mediaURL","hash","videoHash","videoSize","queryParams","fetchFilename","streamName","decodeURIComponent","allSettled","results","reason","hat","mediaCapabilities","convertStream","fetchVideoParams","isPlayerLoaded","supportsTranscoding","VideoWithStreamingServer","self","loadArgs","actionsQueue","canPlayStreamOptions","forceTranscoding","videoCodec","audioCodec","shift","flushActionsQueue","supported","probe","isFormatSupported","some","format","areStreamsSupported","streams","every","channels","VideoWithVideoParams","r","o","l","d","defineProperty","enumerable","Symbol","toStringTag","__esModule","create","n","prototype","p","VERSION","PALETTE_MATERIAL_CHROME","PALETTE_MATERIAL_500","COLOR_NAMES","getLuminance","intToRgb","rgbToInt","rgbToHsv","rgbToHsl","hslToRgb","rgbToHex","parseColor","parseColorToHsla","parseColorToHsl","parseColorToRgba","parseColorToRgb","createPicker","configurable","writable","iterator","a","done","return","TypeError","u","h","attachTo","showHSL","showRGB","showHEX","showAlpha","palette","paletteEditable","useAlphaInPalette","slBarSize","hueBarSize","alphaBarSize","f","g","NodeList","querySelector","jquery","getContext","createLinearGradient","addColorStop","setHue","fillStyle","fillRect","globalCompositeOperation","grabColor","getImageData","findColor","A","Number","nvl","hasAttribute","getAttribute","H","S","L","R","G","B","element","className","setupHueCanvas","hueBarHelper","huePointer","setupSlCanvas","slBarHelper","slPointer","preview","setupClipboard","setupInput","inputH","inputS","inputL","remove","inputR","inputG","inputB","inputRGBHEX","setPalette","paletteRow","setupAlphaCanvas","alphaPointer","onValueChanged","limit","clientX","getBoundingClientRect","clientY","top","toFixed","select","returnValue","execCommand","ensureArray","setAttribute","insertBefore","onPaletteColorAdd","onPaletteColorRemove","querySelectorAll","shiftKey","silent","updatePointerH","updateInputHSL","updateInputRGB","updateInputRGBHEX","updatePointerSL","F","E","updatePointerA","C","cssColorToRgb","w","T","I","P","D","oncoloradd","oncolorremove","listeners","change","coloradd","colorremove","hsl","rgbhex","all","hex","rgba","hsla","setColor","updatePalette","show","classList","hide","add","toggle","ctrl","cssHslaToHsla","cssHslToHsl","cssRgbaToRgba","cssRgbToRgb","cssColorToRgba","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","isNaN","exec","pow","btoa","unescape","sourceRoot","join","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","extraBytes","parts","maxChunkLength","len2","encodeChunk","lookup","tripletToBase64","num","output","parseRange","range","acc","cur","idx","generateRange","compose","getFirstMatch","getSecondMatch","matchAndReturnConst","getWindowsVersionName","getMacOSVersionName","getAndroidVersionName","getVersionPrecision","compareVersions","reverse","getBrowserAlias","BROWSER_ALIASES_MAP","getBrowserTypeByAlias","BROWSER_MAP","ENGINE_MAP","OS_MAP","PLATFORMS_MAP","Bada","BlackBerry","Chrome","Chromium","Electron","Epiphany","Firefox","Focus","Generic","Googlebot","Maxthon","Opera","PhantomJS","Puffin","QupZilla","QQ","QQLite","Safari","Sailfish","SeaMonkey","Sleipnir","Swing","Tizen","Vivaldi","WeChat","Roku","amazon_silk","android","bada","blackberry","chromium","electron","epiphany","firefox","focus","generic","googlebot","google_search","ie","k_meleon","maxthon","edge","mz","naver","opera","opera_coast","phantomjs","puffin","qupzilla","qq","qqlite","safari","sailfish","samsung_internet","seamonkey","sleipnir","swing","tizen","uc","vivaldi","webos","wechat","yandex","tablet","mobile","desktop","tv","WindowsPhone","Windows","MacOS","iOS","Android","WebOS","Linux","ChromeOS","PlayStation4","EdgeHTML","Blink","Trident","Presto","Gecko","WebKit","getParser","getResult","_ua","parsedResult","getUA","parseBrowser","browser","describe","getBrowser","getBrowserName","getBrowserVersion","getOS","os","parseOS","getOSName","getOSVersion","getPlatform","parsePlatform","getPlatformType","getEngine","engine","parseEngine","getEngineName","satisfies","isOS","isPlatform","isBrowser","compareVersion","substr","isEngine","is","versionName","vendor","model","base64","ieee754","customInspectSymbol","Buffer","K_MAX_LENGTH","createBuffer","RangeError","buf","setPrototypeOf","arg","encodingOrOffset","allocUnsafe","encoding","isEncoding","actual","write","fromString","isView","arrayView","isInstance","copy","fromArrayBuffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","obj","isBuffer","checked","numberIsNaN","fromObject","toPrimitive","assertSize","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","read","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","decodeCodePointsArray","TYPED_ARRAY_SUPPORT","proto","foo","typedArraySupport","poolSize","alloc","fill","allocUnsafeSlow","_isBuffer","compare","list","pos","swap16","swap32","swap64","toLocaleString","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","sym","getMessage","Base","super","stack","addNumericalSeparator","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","base64clean","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","$apply","$call","$reflectApply","Function","$TypeError","$actualApply","Reflect","GetIntrinsic","callBindBasic","$indexOf","allowMissing","intrinsic","cssKeywords","reverseKeywords","labels","hsv","hwb","cmyk","xyz","lab","lch","keyword","ansi16","ansi256","hcg","apple","comparativeDistance","delta","rdif","gdif","bdif","diff","diffc","reversed","currentClosestKeyword","currentClosestDistance","distance","z","t3","smin","lmin","q","vmin","sl","wh","bl","ratio","y2","x2","z2","atan2","PI","sqrt","hr","cos","sin","saturation","ansi","mult","rem","toUpperCase","substring","colorString","char","integer","chroma","grayscale","hue","pure","mg","conversions","route","fromModel","routes","toModel","wrappedFn","arg0","conversion","wrapRounded","raw","wrapRaw","deriveBFS","graph","models","parent","buildGraph","queue","current","adjacents","adjacent","unshift","link","to","wrapConversion","colorNames","swizzle","reverseNames","cs","clamp","hexDouble","hexAlpha","i2","alpha","percent","hwba","skippedModels","hashedModelKeys","limiters","object","valpha","newArray","zeroArray","hashedKeys","places","percentString","unitArray","unitObject","roundToPlace","getset","maxfn","saturationl","lightness","saturationv","wblack","hexa","rgbArray","alphaHex","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","isDark","isLight","negate","lighten","darken","saturate","desaturate","whiten","blacken","fade","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","number","roundTo","channel","modifier","getOwnPropertyNames","isFrozen","hasProtoAccessor","callBind","gOPD","__proto__","desc","$Object","$getPrototypeOf","getPrototypeOf","$defineProperty","EvalError","ReferenceError","SyntaxError","URIError","has","prefix","EE","context","once","addListener","emitter","evt","_events","_eventsCount","clearEvent","eventNames","names","getOwnPropertySymbols","ee","listenerCount","a1","a2","a3","a4","a5","removeListener","prefixed","domProps","isValidDOMProp","eventProps","onCopy","onCut","onPaste","onLoad","onWheel","onScroll","onCompositionEnd","onCompositionStart","onCompositionUpdate","onKeyDown","onKeyPress","onKeyUp","onFocus","onBlur","onChange","onInput","onSubmit","onClick","onContextMenu","onDoubleClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onSelect","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onAnimationStart","onAnimationEnd","onAnimationIteration","onTransitionEnd","htmlAttributes","abbr","accept","acceptCharset","accessKey","allowFullScreen","allowTransparency","alt","autoComplete","autoFocus","autoPlay","cellPadding","cellSpacing","challenge","charset","cite","class","cols","colSpan","content","contentEditable","contextMenu","coords","crossOrigin","dateTime","defer","disabled","download","draggable","dropzone","encType","for","form","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","hidden","high","href","hrefLang","htmlFor","httpEquiv","icon","inputMode","isMap","itemId","itemProp","itemRef","itemScope","itemType","maxLength","media","mediaGroup","minLength","multiple","noValidate","optimum","pattern","ping","placeholder","poster","preload","radioGroup","readOnly","required","role","rows","rowSpan","sandbox","scoped","scrolling","seamless","selected","shape","sizes","sortable","span","spellCheck","srcDoc","srcSet","step","tabIndex","translate","typeMustMatch","useMap","wmode","toStr","concatty","that","bound","arrLike","slicy","boundLength","boundArgs","joiner","joiny","Empty","implementation","$Error","$EvalError","$RangeError","$ReferenceError","$SyntaxError","$URIError","sign","$Function","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","hasSymbols","getProto","$ObjectGPO","$ReflectGPO","needsEval","TypedArray","INTRINSICS","AggregateError","Atomics","BigInt64Array","BigUint64Array","Boolean","DataView","Date","decodeURI","encodeURI","eval","Float16Array","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","Map","Proxy","RegExp","Set","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","WeakRef","WeakSet","errorProto","doEval","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","getBaseIntrinsic","alias","intrinsicName","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","reflectGetProto","originalGetProto","getDunderProto","O","getOwnPropertyDescriptor","origSymbol","hasSymbolSham","symObj","_","syms","propertyIsEnumerable","descriptor","$hasOwn","bits","base","digits","rack","expandBy","iters","hats","__HLS_WORKER_BUNDLE__","__IN_WORKER__","ownKeys","_objectSpread2","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPrimitive","_toPropertyKey","_defineProperties","_createClass","Constructor","protoProps","staticProps","_extends","_inheritsLoose","subClass","superClass","_setPrototypeOf","_getPrototypeOf","_isNativeReflectConstruct","construct","sham","_construct","Parent","Class","instance","_isNativeFunction","_wrapNativeSuper","_cache","Wrapper","_assertThisInitialized","_unsupportedIterableToArray","minLen","_arrayLikeToArray","arr2","_createForOfIteratorHelperLoose","allowArrayLike","it","getDefaultExportFromCjs","urlToolkit","URL_REGEX","FIRST_SEGMENT_REGEX","SLASH_DOT_REGEX","SLASH_DOT_DOT_REGEX","URLToolkit","buildAbsoluteURL","baseURL","relativeURL","opts","alwaysNormalize","basePartsForNormalise","parseURL","normalizePath","buildURLFromParts","relativeParts","scheme","baseParts","netLoc","pathParts","builtParts","fragment","baseURLPath","newPath","urlToolkitExports","isFiniteNumber","isSafeInteger","MAX_SAFE_INTEGER","ErrorTypes","ErrorDetails","noop","fakeLogger","trace","info","exportedLogger","consolePrintFn","func","exportLoggerFunctions","debugConfig","_len","functions","_key","enableLogs","logger","DECIMAL_RESOLUTION_REGEX","ATTR_LIST_REGEX","AttrList","attrs","parseAttrList","_proto","decimalInteger","attrName","intValue","hexadecimalInteger","stringValue","hexadecimalIntegerAsNumber","decimalFloatingPoint","optionalFloat","defaultValue","enumeratedString","bool","decimalResolution","lastIndex","attr","isDateRangeCueAttribute","isSCTE35Attribute","DateRange","dateRangeAttr","dateRangeWithSameId","_startDate","_endDate","_badValueForSameId","previousAttr","ID","endDate","getTime","CLASS","startDate","endOnNext","LoadStats","aborted","retry","total","chunkCount","bwEstimate","loading","parsing","ElementaryStreamTypes","AUDIO","VIDEO","AUDIOVIDEO","BaseSegment","baseurl","_this$elementaryStrea","_byteRange","_url","relurl","elementaryStreams","setByteRange","previous","byteRangeEndOffset","byteRange","Fragment","_BaseSegment","_this","_decryptdata","rawProgramDateTime","programDateTime","tagList","sn","levelkeys","loader","keyLoader","cc","startPTS","endPTS","startDTS","endDTS","deltaPTS","maxStartPTS","minEndPTS","stats","bitrateTest","initSegment","endList","gap","urlId","_proto2","setKeyFormat","keyFormat","getDecryptData","abortRequests","_this$loader","_this$keyLoader","abort","setElementaryStreamInfo","partial","clearElementaryStreamInfo","NONE","_key2","identity","keyFormats","_this$_decryptdata","encrypted","Part","_BaseSegment2","partAttrs","frag","_this2","fragOffset","independent","audiovideo","DEFAULT_TARGET_DURATION","LevelDetails","baseUrl","PTSKnown","alignedSliding","averagetargetduration","endCC","endSN","fragments","fragmentHint","partList","dateRanges","live","ageHeader","advancedDateTime","updated","advanced","availabilityDelay","misses","startCC","startSN","startTimeOffset","targetduration","totalduration","m3u8","canBlockReload","canSkipUntil","canSkipDateRanges","skippedSegments","recentlyRemovedDateranges","partHoldBack","holdBack","partTarget","preloadHint","renditionReports","tuneInGoal","deltaUpdateFailed","driftStartTime","driftEndTime","driftStart","driftEnd","encryptedFragments","playlistParsingError","variableList","hasVariableRefs","reloaded","partSnDiff","lastPartSn","partIndexDiff","lastPartIndex","runTime","partEnd","fragmentEnd","_this$partList","_this$fragments","_this$partList2","_this$partList3","base64Decode","base64encodedStr","atob","getKeyIdBytes","keyIdbytes","strToUtf8array","paddedkeyIdbytes","changeEndianness","keyId","convertDataUriToArrayBytes","uri","colonsplit","keydata","semicolonsplit","commasplit","isbase64","optionalSelf","KeySystems","CLEARKEY","FAIRPLAY","PLAYREADY","WIDEVINE","KeySystemFormats","keySystemFormatToKeySystemDomain","KeySystemIds","keySystemIdToKeySystemDomain","systemId","keySystemDomainToKeySystemFormat","keySystem","getKeySystemsForConfig","drmSystems","widevineLicenseUrl","keySystemsToAttempt","_optionalSelf$navigat","requestMediaKeySystemAccess","getSupportedMediaKeySystemConfigurations","drmSystemOptions","initDataTypes","createMediaKeySystemConfigurations","persistentState","distinctiveIdentifier","sessionTypes","sessionType","audioCapabilities","robustness","audioRobustness","encryptionScheme","audioEncryptionScheme","videoCapabilities","videoRobustness","videoEncryptionScheme","sliceUint8","decoder","isHeader$2","isFooter","getID3Data","front","readSize","canParse$2","getTimeStamp","frames","getID3Frames","frame","isTimeStampFrame","readTimeStamp","getFrameData","id3Data","frameData","decodeFrame","decodePrivFrame","decodeURLFrame","decodeTextFrame","owner","utf8ArrayToStr","privateData","description","timeStampFrame","pts33Bit","timestamp","exitOnNull","getTextDecoder","decoded","char2","char3","Hex","hexDump","UINT32_MAX$1","RemuxerTrackIdConfig","id3","bin2str","readUint16","readUint32","readSint32","readUint64","writeUint32","hasMoofData","findBox","endbox","subresults","parseSegmentIndex","sidx","references","timescale","earliestPresentationTime","firstOffset","startByte","referencesCount","referenceIndex","referenceInfo","referenceSize","subsegmentDuration","parseInitSegment","traks","trak","tkhd","trackId","mdhd","hdlr","hdlrType","soun","vide","stsdData","parseStsd","trex","flags","stsd","sampleEntries","sampleEntriesEnd","fourCC","encBox","sinf","schm","frma","avcCBox","toHex","codecBox","esdsBox","skipBERInteger","objectType","audioObjectType","hvcCBox","profileByte","profileSpace","generalProfileIdc","profileCompat","tierFlag","levelIDC","constraintIndicator","constraintString","_i","_byte","dvcCBox","profile","addLeadingZero","vpcCBox","_profile","_level","bitDepth","av1CBox","_profile2","_level2","_tierFlag","highBitDepth","twelveBit","_bitDepth","monochrome","chromaSubsamplingX","chromaSubsamplingY","chromaSamplePosition","colorPrimaries","transferCharacteristics","matrixCoefficients","videoFullRangeFlag","patchEncyptionData","decryptdata","isCommonEncryption","encBoxes","isAudio","enc","tenc","parseSinf","tencKeyId","getStartDTS","initData","fmp4","traf","tfdt","tfhd","baseTime","sidxMinStart","sidxMaxEnd","sidxDuration","sidxs","subSegmentDuration","dur","ref","rawDuration","videoDuration","audioDuration","trafs","_i2","trackDefault","tfhdFlags","sampleDuration","truns","computeRawDurationFromSamples","trun","sampleCount","offsetStartDTS","timeOffset","baseMediaDecodeTime","upper","lower","segmentValidRange","segmentedRange","valid","remainder","moofs","appendUint8Array","data1","data2","temp","parseSamples","seiSamples","videoData","samples","isHEVCFlavor","moof","moofOffset","defaultSampleDuration","defaultSampleSizePresent","defaultSampleSize","defaultSampleFlagsPresent","tfhdOffset","isHEVC","dataOffsetPresent","dataOffset","firstSampleFlagsPresent","sampleDurationPresent","sampleSizePresent","sampleSize","sampleFlagsPresent","sampleCompositionOffsetsPresent","compositionOffset","trunOffset","sampleOffset","ix","naluTotalSize","naluSize","isSEIMessage","parseSEIMessageFromNALu","delimit","baseCodec","naluHeader","naluType","unescapedData","headerSize","pts","discardEPB","seiPtr","payloadType","payloadSize","leftOver","payPtr","providerCode","userStructure","userDataType","totalBytes","uuidStrArray","_i3","_b","userDataBytes","_i4","uuid","userData","EPBPositions","newLength","newData","sourceIndex","parseEmsg","schemeIdUri","timeScale","presentationTimeDelta","presentationTime","eventDuration","leftPresentationTime","rightPresentationTime","payload","mp4Box","mp4pssh","keyids","kids","kidCount","setUint32","dataSize","parsePssh","view","boxSize","getUint32","dataSizeOrKidCount","keyUriToKeyIdMap","LevelKey","formatversions","iv","keyFormatVersions","pssh","clearKeyUriToKeyIdMap","createInitializationVector","keyBytes","PlayReadyKeySystemUUID","keyBytesUtf16","keyByteStr","xmlKeyBytes","keyData","DOMParser","parseFromString","childNodes","nodeValue","keyIdArray","padded","_keyId","segmentNumber","uint8View","VARIABLE_REPLACEMENT_REGEX","hasVariableReferences","substituteVariablesInAttributes","attributeNames","substituteVariables","variableReference","variableName","variableValue","addVariableDefinition","parentUrl","NAME","VALUE","QUERYPARAM","searchParams","importVariableDefinition","sourceVariableList","IMPORT","getMediaSource","preferManagedMediaSource","MediaSource","ManagedMediaSource","WebKitMediaSource","sampleEntryCodesISO","a3ds","alac","alaw","dra1","dtsc","dtse","dtsh","enca","fLaC","flac","FLAC","g719","g726","m4ae","mha1","mha2","mhm1","mhm2","mlpa","mp4a","Opus","opus","samr","sawb","sawp","sevc","sqcp","ssmv","twos","ulaw","avc1","avc2","avc3","avc4","avcp","av01","drac","dva1","dvav","dvh1","dvhe","encv","hev1","hvc1","mjp2","mp4v","mvc1","mvc2","mvc3","mvc4","resv","rv60","s263","svc1","svc2","vp08","vp09","stpp","wvtt","isCodecType","typeCodes","areCodecsMediaSourceSupported","codecs","isCodecMediaSourceSupported","_MediaSource$isTypeSu","isTypeSupported","mimeTypeForCodec","videoCodecPreferenceValue","codecsSetSelectionPreferenceValue","codecSet","preferenceValue","CODEC_COMPATIBLE_NAMES","getCodecCompatibleNameLower","lowerCaseCodec","codecsToCheck","AUDIO_CODEC_REGEXP","getCodecCompatibleName","pickMostCompleteCodecName","parsedCodec","levelCodec","convertAVC1ToAVCOTI","avcdata","MASTER_PLAYLIST_REGEX","MASTER_PLAYLIST_MEDIA_REGEX","IS_MEDIA_PLAYLIST","LEVEL_PLAYLIST_REGEX_FAST","LEVEL_PLAYLIST_REGEX_SLOW","M3U8Parser","findGroup","groups","mediaGroupId","group","isMediaPlaylist","parseMasterPlaylist","contentSteering","levels","sessionData","sessionKeys","levelsWithKnownCodecs","_level$unknownCodecs","bitrate","resolution","setCodecs","CODECS","unknownCodecs","tag","attributes","sessionAttrs","dataId","sessionKey","parseKey","variableAttributes","contentSteeringAttributes","pathwayId","parseStartTimeOffset","stripUnknownCodecLevels","parseMasterPlaylistMedia","groupsByType","SUBTITLES","textCodec","TYPE","medias","LANGUAGE","assocLang","CHANNELS","characteristics","CHARACTERISTICS","instreamId","groupId","autoselect","forced","URI","groupCodec","assignCodec","parseLevelPlaylist","levelUrlId","multivariantVariableList","currentInitSegment","currentSN","currentPart","discontinuityCounter","prevFrag","firstPdtIndex","createNextFrag","nextByteRange","setFragLevelKeys","assignProgramDateTime","value1","value2","skipAttrs","clientAttrs","dateRange","isValid","levelKey","mapAttrs","init","setInitSegment","byteRangeStartOffset","serverControlAttrs","partInfAttrs","previousFragmentPart","preloadHintAttrs","renditionReportAttrs","fragmentLength","firstFragment","lastFragment","lastSn","backfillProgramDateTimes","keyTagAttributes","_keyAttrs$METHOD","_keyAttrs$KEYFORMAT","keyAttrs","decryptmethod","METHOD","decrypturi","decryptiv","decryptkeyformatversions","KEYFORMATVERSIONS","decryptkeyformat","KEYFORMAT","IV","resolvedUri","startAttributes","codecsAttributeValue","filtered","groupItem","codecProperty","codecValue","fragPrev","endProgramDateTime","BYTERANGE","PlaylistContextType","MANIFEST","LEVEL","AUDIO_TRACK","SUBTITLE_TRACK","PlaylistLevelType","MAIN","SUBTITLE","mapContextToLevelType","getResponseUrl","PlaylistLoader","loaders","registerListeners","startLoad","startPosition","stopLoad","destroyInternalLoaders","MANIFEST_LOADING","onManifestLoading","LEVEL_LOADING","onLevelLoading","AUDIO_TRACK_LOADING","onAudioTrackLoading","SUBTITLE_TRACK_LOADING","onSubtitleTrackLoading","unregisterListeners","createInternalLoader","PLoader","pLoader","Loader","getInternalLoader","resetInternalLoader","contextType","responseType","deliveryDirectives","_context$deliveryDire","loadPolicy","levelDetails","loaderContext","manifestLoadPolicy","playlistLoadPolicy","details","subtitleTracks","targetDuration","maxLowLatencyPlaylistRefresh","legacyRetryCompatibility","loaderConfig","timeout","maxRetry","retryDelay","maxRetryDelay","loaderCallbacks","networkDetails","performance","handleTrackOrLevelPlaylist","handleMasterPlaylist","handleManifestParsingError","handleNetworkError","onTimeout","_M3U8Parser$parseMast","_M3U8Parser$parseMast2","captions","trigger","MANIFEST_LOADED","levelId","levelType","singleLevel","handlePlaylistLoaded","NETWORK_ERROR","MANIFEST_PARSING_ERROR","fatal","UNKNOWN","MANIFEST_LOAD_TIMEOUT","MANIFEST_LOAD_ERROR","LEVEL_LOAD_TIMEOUT","LEVEL_LOAD_ERROR","AUDIO_TRACK_LOAD_TIMEOUT","AUDIO_TRACK_LOAD_ERROR","SUBTITLE_TRACK_LOAD_TIMEOUT","SUBTITLE_LOAD_ERROR","errorData","levelIndex","LEVEL_PARSING_ERROR","getCacheAge","LEVEL_LOADED","AUDIO_TRACK_LOADED","SUBTITLE_TRACK_LOADED","_error","LEVEL_EMPTY_ERROR","sendAddTrackEvent","videoEl","Event","createEvent","initEvent","dispatchEvent","addCueToTrack","getCueById","addCue","textTrackCue","TextTrackCue","err2","clearCurrentCues","removeCue","removeCuesInRange","predicate","getCuesInRange","getFirstCueIndexAfterTime","mid","cuesFound","firstCueInRange","_cue","filterSubtitleTracks","textTrackList","MetadataSchema","audioId3","emsg","MIN_CUE_DURATION","getCueClass","VTTCue","createCueWithDataFields","Cue","MAX_CUE_ENDTIME","POSITIVE_INFINITY","MAX_VALUE","dateRangeDateToTimelineSeconds","date","hexToArrayBuffer","ID3TrackController","id3Track","dateRangeCuesAppended","_registerListeners","_unregisterListeners","MEDIA_ATTACHED","onMediaAttached","MEDIA_DETACHING","onMediaDetaching","FRAG_PARSING_METADATA","onFragParsingMetadata","BUFFER_FLUSHING","onBufferFlushing","LEVEL_UPDATED","onLevelUpdated","createTrack","getID3Track","addTextTrack","_this$hls$config","enableEmsgMetadataCues","enableID3MetadataCues","updateId3CueEnds","_this$id3Track","startOffset","endOffset","_hls$config","hasProgramDateTime","enableDateRangeMetadataCues","ids","idsToRemove","_loop","dateTimeOffset","_loop2","appendedDateRangeCues","durationKnown","nextDateRangeWithSameClass","candidateDateRange","otherDateRange","LatencyController","stallCount","_latency","timeupdateHandler","timeupdate","_this$levelDetails","BUFFER_STALLED_ERROR","latency","computeLatency","_this$config","maxLiveSyncPlaybackRate","targetLatency","distanceFromTarget","maxLatency","forwardBufferLength","exp","edgeStalled","estimateLiveEdge","age","liveEdge","liveMaxLatencyDuration","liveMaxLatencyDurationCount","_this$config2","liveSyncDuration","liveSyncDurationCount","userConfig","maxLiveSyncOnStallIncrease","liveSyncOnStallIncrease","syncPosition","drift","maxLevelUpdateAge","bufferedRanges","HdcpLevels","isHdcpLevel","VideoRangeValues","isVideoRange","HlsSkip","No","Yes","v2","getSkipValue","msn","HlsUrlParameters","skip","addDirectives","Level","_attrs","frameRate","fragmentError","loadError","realBitrate","supportedPromise","supportedResult","_avgBitrate","_audioGroups","_subtitleGroups","_urlId","addGroupId","hasAudioGroup","hasGroup","hasSubtitleGroup","audioGroups","subtitleGroups","addFallback","audioGroupId","textGroupId","_this$audioGroups","_this$subtitleGroups","updateFromToPTS","fragFrom","fragTo","fragToPTS","updateFragPTSDTS","fragStartPts","fragEndPts","fragIdx","mergeDetails","oldDetails","newDetails","oldFragments","oldInit","PTSFrag","ccOffset","mapFragmentIntersection","oldFrag","newFrag","_currentInitSegment","mergeDateRanges","newFragments","mapPartIntersection","oldPart","newPart","adjustSliding","oldDateRanges","deltaDateRanges","oldParts","newParts","intersectionFn","_oldPart","_newPart","newFrags","oldFrags","_oldFrag","_newFrag","addSliding","computeReloadInterval","distanceToLiveEdgeMs","reloadInterval","liveEdgeMaxTargetDurations","lastSegmentDuration","getFragmentWithSN","fragCurrent","getPartWith","partIndex","_level$details","findPart","reassignFragmentLevelIndexes","isTimeoutError","FRAG_LOAD_TIMEOUT","KEY_LOAD_TIMEOUT","getRetryConfig","isTimeout","getRetryDelay","retryConfig","retryCount","backoffFactor","backoff","getLoaderConfigWithoutReties","loderConfig","shouldRetry","loaderResponse","httpStatus","retryForHttpStatus","onLine","BinarySearch","comparisonFn","minIndex","maxIndex","currentElement","comparisonResult","findFragmentByPDT","PDTValue","seg","pdtWithinToleranceTest","findFragmentByPTS","fragPrevious","bufferEnd","fragNext","bufferEdgeError","fragmentWithinToleranceTest","foundFragment","candidate","candidateLookupTolerance","pdtBufferEnd","findFragWithCC","NetworkErrorAction","DoNothing","SendEndCallback","SendAlternateToPenaltyBox","RemoveAlternatePermanently","InsertDiscontinuity","RetryRequest","ErrorActionFlags","None","MoveAllAlternatesMatchingHost","MoveAllAlternatesMatchingHDCP","SwitchToSDR","ErrorController","playlistError","penalizedRenditions","onErrorOut","getVariantLevelIndex","loadLevel","_data$frag","_data$level","FRAG_LOAD_ERROR","KEY_LOAD_ERROR","errorAction","getFragRetryOrSwitchAction","FRAG_PARSING_ERROR","FRAG_GAP","FRAG_DECRYPT_ERROR","_data$context","_data$context$levelDe","getPlaylistRetryOrSwitchAction","levelRetry","getLevelSwitchAction","KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED","restrictedHdcpLevel","hdcpLevel","keySystemError","BUFFER_ADD_CODEC_ERROR","REMUX_ALLOC_ERROR","BUFFER_APPEND_ERROR","INTERNAL_EXCEPTION","BUFFER_APPENDING_ERROR","BUFFER_FULL_ERROR","LEVEL_SWITCH_ERROR","BUFFER_SEEK_OVER_HOLE","BUFFER_NUDGE_ON_STALL","KEY_SYSTEM_ERROR","variantLevelIndex","keyLoadPolicy","fragmentErrors","_data$frag2","_data$context2","errorDetails","nextLevel","minAutoLevel","maxAutoLevel","autoLevelEnabled","_ret","fragErrorType","findAudioCodecAlternate","sourceBufferName","findVideoCodecAlternate","playlistErrorType","playlistErrorGroupId","_level$audioGroups","_level$subtitleGroups","levelCandidate","fragCandidate","nextAutoLevel","_data$errorAction","sendAlternateToPenaltyBox","resolved","recoverMediaError","switchLevel","maxHdcpLevel","nextLoadLevel","BasePlaylistController","logPrefix","requestScheduled","canLoad","clearTimer","loadPlaylist","switchParams","playlistUri","_attr","currentGoal","hlsUrlParameters","shouldLoadPlaylist","playlist","shouldReloadPlaylist","playlistLoaded","previousDetails","elapsed","endSn","lastPart","lastAdvanced","cdnAge","segments","getDeliveryDirectives","bufferInfo","mainForwardBufferInfo","estimatedTimeUntilUpdate","previousDeliveryDirectives","checkRetry","errorEvent","_ref$retryCount","_errorEvent$context","EWMA","halfLife","estimate","alpha_","estimate_","totalWeight_","sample","adjAlpha","getTotalWeight","getEstimate","zeroFactor","EwmaBandWidthEstimator","slow","fast","defaultEstimate","defaultTTFB","defaultEstimate_","minWeight_","minDelayMs_","slow_","fast_","defaultTTFB_","ttfb_","update","durationMs","numBytes","durationS","bandwidthInBps","sampleTTFB","ttfb","seconds","canEstimate","getEstimateTTFB","SUPPORTED_INFO_DEFAULT","configurations","decodingInfoResults","powerEfficient","smooth","SUPPORTED_INFO_CACHE","requiresMediaCapabilitiesDecodingInfo","audioTracksByGroup","currentVideoRange","currentFrameRate","currentBw","audioPreference","audioCodecPreference","channelsPreference","maxChannels","audioChannels","audioTrackGroup","videoRange","getMediaDecodingInfoPromise","baseVideoConfiguration","ceil","averageBitrate","framerate","transferFunction","_audioTracksByGroup$g","channelsNumber","configuration","decodingInfoKey","getMediaDecodingInfoKey","decodingInfo","mediaConfig","spatialRendering","isHdrSupported","matchMedia","mediaQueryList","badQuery","matches","getVideoSelectionOptions","videoPreference","preferHDR","allowedVideoRanges","getStartCodecTier","codecTiers","codecSets","preferStereo","hasStereo","hasCurrentVideoRange","minHeight","minFramerate","minBitrate","selectedScore","videoRanges","_getVideoSelectionOpt","tier","matchingVideoRanges","maxFramerate","candidateTier","logStartCodecCandidateIgnored","hasDefaultAudio","maxScore","codeSet","getAudioTracksByGroup","allAudioTracks","trackGroup","hasDefault","hasAutoSelect","channelsKey","hasAutoSelectAudio","getCodecTiers","tiers","SDR","lesserWidthOrHeight","score","audioGroup","findMatchingOption","option","matchPredicate","matchesOption","isDefault","characteristicsMatch","characteristicsA","characteristicsB","arrA","arrB","audioMatchPredicate","findClosestLevelWithAudioGroup","searchIndex","currentLevel","renditions","variantMap","currentVideoCodec","matchingVideo","searchDownAndUpList","AbrController","_hls","lastLevelLoadSec","lastLoadedFragLevel","firstSelection","_nextAutoLevel","nextAutoLevelKey","partCurrent","bitrateTestDelay","bwEstimator","_abandonRulesCheck","timeLoading","ttfbEstimate","bufferStarvationDelay","loadedFirstByte","getBwEstimate","expectedLen","timeStreaming","loadRate","fragLoadedDelay","bwe","fragLevelNextLoadedDelay","levelNextBitrate","maxBitrate","getTimeToLoadFrag","nextLoadLevelBitrate","abrBandWidthUpFactor","resetEstimator","FRAG_LOAD_EMERGENCY_ABORTED","initEstimator","abrEwmaDefaultEstimate","abrEwmaSlowVoD","abrEwmaFastVoD","FRAG_LOADING","onFragLoading","FRAG_LOADED","onFragLoaded","FRAG_BUFFERED","onFragBuffered","LEVEL_SWITCHING","onLevelSwitching","onLevelLoaded","LEVELS_UPDATED","onLevelsUpdated","MAX_AUTO_LEVEL_UPDATED","onMaxAutoLevelUpdated","_data$part","ignoreFragment","timeToFirstByteSec","bandwidth","fragSizeBits","isSwitch","timeLoadingMs","abrEwmaSlowLive","abrEwmaFastLive","abrMaxWithRealBitrate","loadedBytes","loadedDuration","fragBufferedData","processingMs","getAutoLevelKey","_this$hls$mainForward","getNextABRAutoLevel","currentFragDuration","avgbw","bwFactor","abrBandWidthFactor","bwUpFactor","_bestLevel","findBestLevel","maxStarvationDelay","maxLoadingDelay","bestLevel","minLevel","autoLevel","maxFetchDuration","selectionBaseLevel","firstLevel","_this$hls","currentCodecSet","startTier","ttfbEstimateSec","levelsSkipped","_levelInfo$supportedR","levelInfo","upSwitch","useMediaCapabilities","removeLevel","adjustedbw","fetchDuration","forcedAutoLevel","_this$hls2","maxStartDelay","abrAutoLevel","clamped","useEstimate","loadedFirstFrag","nextABRAutoLevel","firstAutoLevel","_this$hls3","TaskLoop","_boundTick","_tickTimer","_tickInterval","_tickCallCount","tick","onHandlerDestroying","onHandlerDestroyed","clearNextTick","hasInterval","hasNextTick","millis","doTick","tickImmediate","FragmentState","NOT_LOADED","APPENDING","PARTIAL","OK","FragmentTracker","activePartLists","endListFragments","timeRanges","bufferPadding","hasGaps","BUFFER_APPENDED","onBufferAppended","getAppendedFrag","activeParts","activePart","appendedPTS","getBufferedFrag","fragmentEntity","detectEvictedFragments","elementaryStream","timeRange","playlistType","appendedPart","appendedPartSn","esData","isNotBuffered","isTimeBuffered","removeFragment","detectPartialFragments","fragKey","getFragmentKey","isFragHint","streamInfo","getBufferedTimes","isPartial","removeParts","snToKeep","fragBuffered","getPartialFragment","timePadding","bestFragment","bestOverlap","isEndListAppended","lastFragmentEntity","_this3","hasFragment","hasParts","_this$activePartLists","removeFragmentsInRange","withGapOnly","unbufferedOnly","_this4","snToRemove","removeAllFragments","_fragmentEntity$range","_fragmentEntity$range2","_fragmentEntity$range3","noopBuffered","BufferHelper","isBuffered","getBuffered","maxHoleDuration","vbuffered","bufferedInfo","nextStart","buffered2","buf2len","buf2end","bufferStartNext","bufferLen","bufferStart","ChunkMetadata","transmuxing","getNewPerformanceTiming","executeStart","executeEnd","findFirstFragWithCC","_fragments$i","shouldAlignOnDiscontinuities","lastFrag","switchDetails","findDiscontinuousReferenceFrag","prevDetails","curDetails","prevFrags","curFrags","prevStartFrag","adjustFragmentStart","sliding","adjustSlidingStart","alignStream","alignDiscontinuities","alignMediaPlaylistByPDT","referenceFrag","refDetails","refFragments","refFrag","targetCC","refPDT","targetPDT","MIN_CHUNK_SIZE","FragmentLoader","partLoadTimeout","_onProgress","LoadError","FragmentILoader","fLoader","DefaultILoader","tags","createGapLoadError","createLoaderContext","highWaterMark","resetLoader","resetIV","onAbort","INTERNAL_ABORTED","onProgress","loadPart","updateStatsFromPart","partLoadedData","fragStats","partStats","partTotal","estTotalParts","estLoadedParts","estRemainingBytes","fragLoading","partLoading","segment","rangeStart","rangeEnd","_frag$decryptdata","byteRangeStart","byteRangeEnd","fragmentLen","MEDIA_ERROR","_Error","AESCrypto","subtle","aesIV","decrypt","FastAESKey","expandKey","importKey","removePadding","outputBytes","paddingBytes","getUint8","AESDecryptor","rcon","subMix","invSubMix","sBox","invSBox","ksRows","keySize","keySchedule","invKeySchedule","initTable","uint8ArrayToUint32Array_","arrayBuffer","subMix0","subMix1","subMix2","subMix3","invSubMix0","invSubMix1","invSubMix2","invSubMix3","xi","sx","x4","x8","keyBuffer","sameKey","ksRow","invKsRow","sbox","networkToHostOrderSwap","word","inputArrayBuffer","s0","s1","s2","s3","inputWords0","inputWords1","inputWords2","inputWords3","nRounds","invSBOX","initVector","initVector0","initVector1","initVector2","initVector3","inputInt32","outputInt32","swapWord","CHUNK_SIZE","Decrypter","_temp","_ref$removePKCS7Paddi","removePKCS7Padding","logEnabled","softwareDecrypter","fastAesKey","remainderData","currentIV","currentResult","useSoftware","enableSoftwareAES","browserCrypto","crypto","webkitSubtle","isSync","flush","reset","softwareDecrypt","decryptResult","webCryptoDecrypt","logOnce","currentChunk","getValidChunk","aesKey","onWebCryptoError","splitPoint","TimeRanges","State","STOPPED","IDLE","KEY_LOADING","FRAG_LOADING_WAITING_RETRY","WAITING_TRACK","PARSING","PARSED","WAITING_INIT_PTS","WAITING_LEVEL","BaseStreamController","_TaskLoop","fragmentTracker","transmuxer","_state","mediaBuffer","lastCurrentTime","nextLoadPosition","loadedmetadata","retryDate","fragmentLoader","levelLastLoaded","startFragRequested","decrypter","initPTS","onvseeking","onvended","onManifestLoaded","onTickEnd","resetTransmuxer","_streamEnded","getLevelDetails","_this$levelLastLoaded","onMediaSeeking","onMediaEnded","autoStartLoad","ended","detach","resetLoadingState","tolerance","fragStartOffset","fragEndOffset","pastFragment","loadFragment","targetBufferTime","_loadFragForPlayback","progressCallback","fragContextChanged","_handleFragmentLoadProgress","_doFragLoad","_handleFragmentLoadComplete","resetFragmentLoading","clearTrackerIfNeeded","_this$mediaBuffer","getFwdBufferInfo","minForwardBufferLength","reduceMaxBufferLength","checkLiveUpdate","flushMainBuffer","flushScope","_loadInitSegment","decryptData","decryptedData","FRAG_DECRYPTED","tstart","tdecrypt","completeInitSegmentLoad","fragBufferedComplete","_frag$startPTS","_frag$endPTS","_this$fragCurrent","_this$fragPrevious","NaN","_this$levels","seekToStartPos","fragLoadedEndData","partsLoaded","complete","fragLoaded","chunkMeta","keyLoadingPromise","loadClear","keyLoadedData","KEY_LOADED","getNextPart","_result","doFragPartsLoad","handleFragLoadError","loadedEndOfParts","dataOnProgress","progressive","fragLoadedData","fromPart","_this5","initialPartList","loadedPart","nextPart","handleFragLoadAborted","OTHER_ERROR","_handleTransmuxerFlush","getCurrentContext","updateLevelTiming","bufferFragmentData","noBacktracking","_buffer","BUFFER_APPENDING","dropped","flushBufferGap","fragDuration","segmentFraction","bufferable","getLoadPosition","getFwdBufferInfoAtPos","bufferedFragAtPos","getMaxBufferLength","levelBitrate","maxBufLen","maxBufferSize","threshold","fragOrPart","getNextFragment","fragLen","initialLiveManifestSize","getInitialLiveFragment","liveSyncPosition","getFragmentAtPosition","mapToInitFragWhenRequired","isLoopLoading","trackerState","getNextFragmentLoopLoading","gapStart","nextFragment","nextbufferInfo","contiguous","independentAttrOmitted","targetSN","liveStart","loadingParts","curSNIdx","fragState","nextFrag","synchronizeToLiveEdge","withinSlidingWindow","alignPlaylists","slidingStart","firstLevelLoad","aligned","alignedSlidingStart","waitForCdnTuneIn","advancePartLimit","setStartPosition","offsetInMultivariantPlaylist","onFragmentOrKeyLoadError","filterType","_this$fragCurrent2","gapTagEncountered","_ref2$retryCount","resetStartWhenNotLoaded","resetFragmentErrors","reduceLengthAndFlushBuffer","flushBuffer","afterBufferFlushed","bufferType","bufferedTimeRanges","resetWhenMissingContext","removeUnbufferedFrags","_this$transmuxer","_this6","parsedDuration","LEVEL_PTS_UPDATED","FRAG_PARSED","recoverWorkerError","nextState","previousState","ChunkCache","chunks","dataLength","chunk","concatUint8Arrays","dummyTrack","inputTimeScale","pid","sequenceNumber","BaseAudioDemuxer","_audioTrack","_id3Track","frameIndex","cachedData","basePTS","lastPTS","resetInitSegment","trackDuration","resetTimeStamp","deaultTimestamp","resetContiguity","canParse","appendFrame","demux","lastDataIndex","initPTSFn","dts","partialData","videoTrack","demuxSampleAes","getAudioConfig","observer","adtsObjectType","adtsExtensionSamplingIndex","adtsChannelConfig","manifestCodec","adtsSamplingRates","adtsSamplingIndex","samplerate","channelCount","isHeaderPattern$1","getHeaderLength","getFullFrameLength","canGetFrameLength","isHeader$1","canParse$1","probe$1","headerLength","frameLength","newOffset","initTrackConfig","getFrameDuration","parseFrameHeader","appendFrame$1","unit","stamp","header","_length","missing","_sample","chromeVersion$1","BitratesMap","SamplingRateMap","SamplesCoefficients","BytesInSlot","parseHeader","samplesPerFrame","sampleRate","mpegVersion","mpegLayer","bitRateIndex","sampleRateIndex","paddingBit","channelMode","bitRate","sampleCoefficient","bytesInSlot","isHeaderPattern","isHeader","AACDemuxer","_BaseAudioDemuxer","segmentCodec","emsgSchemePattern","MP4Demuxer","txtTrack","captionTrack","_initData$video","_initData$audio","_id","_timescale","_codec","videoSamples","segmentedData","extractID3Track","emsgs","emsgInfo","getAudioBSID","bsid","numBits","mask","AC3Demuxer","_appendFrame","samplingRateCode","frameSizeCode","skipCount","lfeon","bsmod","BaseVideoParser","VideoSample","createVideoSample","getLastNalUnit","_VideoSample","lastUnit","pushAccessUnit","nbSamples","lastSample","ExpGolomb","bytesAvailable","bitsAvailable","loadWord","workingBytes","availableBytes","skipBits","skipBytes","readBits","valu","skipLZ","leadingZeroCount","skipUEG","skipEG","readUEG","clz","readEG","readBoolean","readUByte","readUShort","readUInt","skipScalingList","lastScale","nextScale","readSPS","numRefFramesInPicOrderCntCycle","scalingListCount","frameCropLeftOffset","frameCropRightOffset","frameCropTopOffset","frameCropBottomOffset","profileIdc","chromaFormatIdc","picOrderCntType","picWidthInMbsMinus1","picHeightInMapUnitsMinus1","frameMbsOnlyFlag","pixelRatio","readSliceType","AvcVideoParser","_BaseVideoParser","parseAVCPES","pes","parseAVCNALu","spsfound","audFound","_VideoSample2","iskey","sliceType","_track$pixelRatio","_track$pixelRatio2","sps","codecarray","codecstring","pps","overflow","naluState","lastState","lastUnitStart","lastUnitType","_unit","_lastUnit","SampleAesDecrypter","decryptBuffer","encryptedData","decryptAacSample","sampleIndex","callback","curUnit","encryptedBuffer","decryptedBuffer","decryptAacSamples","getAvcEncryptedData","decodedData","encryptedDataLen","outputPos","inputPos","getAvcDecryptedUnit","uint8DecryptedData","decryptAvcSample","unitIndex","decryptAvcSamples","curUnits","PACKET_LENGTH","TSDemuxer","typeSupported","sampleAes","pmtParsed","_duration","_pmtId","_videoTrack","_txtTrack","aacOverFlow","videoParser","syncOffset","scanwindow","foundPat","packetStart","tsPackets","parsePID","pesData","isSampleAes","videoPid","audioPid","id3Pid","audioData","unknownPID","pmtId","tsPacketErrors","stt","parsePES","parseAACPES","parseMPEGPES","parseAC3PES","parseID3PES","parsePAT","parsedPIDs","parsePMT","segmentVideoCodec","segmentAudioCodec","demuxResult","extractRemainingSamples","frameMissingBytes","sampleLength","frameOverflowBytes","recoverable","frameDuration","id3Sample","tableEnd","esInfoLength","logEncryptedSamplesFoundInUnencryptedStream","mpeg","mp3","ac3","parsePos","descriptorLen","pesLen","pesHdrLen","pesPts","pesDts","pesFlags","payloadStartOffset","dataLen","MP3Demuxer","AAC","getSilentFrame","UINT32_MAX","MP4","types","avcC","btrt","dinf","dref","esds","ftyp","mdat","mdia","mfhd","minf","moov","dac3","mvex","mvhd","pasp","sdtp","stbl","stco","stsc","stsz","stts","vmhd","smhd","videoHdlr","audioHdlr","HDLR_TYPES","STTS","STSC","STCO","STSZ","VMHD","SMHD","STSD","majorBrand","avc1Brand","minorVersion","FTYP","box","DINF","upperWordDuration","lowerWordDuration","boxes","dependsOn","isDependedOn","hasRedundancy","avcc","hSpacing","vSpacing","configlen","audioStsd","sampleDependencyTable","upperWordBaseMediaDecodeTime","lowerWordBaseMediaDecodeTime","cts","arraylen","isLeading","paddingValue","isNonSync","degradPrio","movie","MPEG_TS_CLOCK_FREQ_HZ","toTimescaleFromBase","destScale","srcBase","toTimescaleFromScale","srcScale","toMsFromMpegTsClock","toMpegTsClockFromTimescale","MAX_SILENT_FRAME_DURATION","AAC_SAMPLES_PER_FRAME","MPEG_AUDIO_SAMPLE_PER_FRAME","AC3_SAMPLES_PER_FRAME","chromeVersion","safariWebkitVersion","MP4Remuxer","ISGenerated","_initPTS","_initDTS","nextAvcDts","nextAudioPts","videoSampleDuration","isAudioContiguous","isVideoContiguous","videoTrackConfig","defaultTimeStamp","resetNextTimestamp","getVideoStartPts","rolloverDetected","minPTS","normalizePts","remux","accurateTimeOffset","audioTimeOffset","videoTimeOffset","hasAudio","hasVideo","enoughAudioSamples","enoughVideoSamples","_videoTrack$pixelRati","_config$pixelRatio","_videoTrack$pixelRati2","_config$pixelRatio2","generateIS","firstKeyFramePTS","firstKeyFrameIndex","findKeyframeIndex","forceKeyFrameOnDiscontinuity","_startPTS","audiovideoTimestampDelta","remuxAudio","audioTrackLength","remuxVideo","firstKeyFrame","flushTextTrackMetadataCueSamples","flushTextTrackUserdataCueSamples","initDTS","audioSamples","computePTSDTS","metadata","firstDTS","lastDTS","inputSamples","outputSamples","mp4SampleDuration","maxPTS","NEGATIVE_INFINITY","sortSamples","initTime","deltadts","deltapts","inputDuration","averageSampleDuration","foundHole","foundOverlap","firstPTS","nbNalu","naluLen","dtsStep","nbUnits","sampleLen","mdatSize","MUX_ERROR","stretchedLastFrame","minDtsDelta","minPtsDelta","maxDtsDelta","maxPtsDelta","VideoSampleUnits","mp4SampleLength","_j","_nbUnits","unitData","unitDataLen","ptsDelta","lastFrameDuration","stretchShortVideoTrack","gapTolerance","deltaToFrameEnd","compositionTimeOffset","Mp4Sample","nextDts","_pts","nextPts","nb","getSamplesPerFrame","scaleFactor","inputSampleDuration","rawMPEG","alignedWithVideo","timeOffsetMpegTS","maxAudioFramesDrift","newStamp","fillFrame","_j2","_nbSamples","audioSample","_pts2","unitLen","remuxEmptyAudio","init90kHz","silentFrame","reference","isKeyframe","PassThroughRemuxer","emitInitSegment","initTracks","lastEndTime","defaultInitPTS","generateInitSegment","getParsedTrackCodec","_initData","_initData2","decodeTime","isInvalidInitPts","minDuration","muxConfig","Transmuxer","demuxer","remuxer","decryptionPromise","transmuxConfig","currentTransmuxState","configure","uintData","discontinuity","trackSwitch","initSegmentChange","defaultInitPts","initSegmentData","getEncryptionType","getDecrypter","emptyResult","resetMuxers","needsProbing","configureTransmuxer","resetInitialTimestamp","transmux","currentState","transmuxResults","demuxResultOrPromise","isPromise","flushRemux","_this$currentTransmux","remuxResult","transmuxSampleAes","transmuxUnencrypted","_demux","mux","_muxConfig$i$demux","Remuxer","Demuxer","encryptionType","TransmuxConfig","TransmuxState","eventemitter3","startWorker","forwardMessage","forwardWorkerLogs","logFn","logType","cmd","transmuxResult","emitTransmuxComplete","_transmuxResult","handleFlushResult","isEmptyResult","transferable","_transmuxResult$remux","addToTransferable","hasUMDWorker","injectWorker","blob","Blob","objectURL","createObjectURL","worker","Worker","loadWorker","scriptURL","location","TransmuxerInterface","onTransmuxComplete","onFlush","useWorker","workerContext","onwmsg","m2tsTypeSupported","workerPath","onWorkerMessage","lineno","resetWorker","_this$workerContext","revokeObjectURL","terminate","_frag$initSegment","_lastFrag$initSegment","snDiff","partDiff","handleTransmuxComplete","transmuxerError","_transmuxResult2","_this$workerContext2","subtitleOptionsIdentical","trackList1","trackList2","mediaAttributesIdentical","attrs1","attrs2","customAttributes","stableRenditionId","subtitleAttribute","subtitleTrackMatchesTextTrack","subtitleTrack","TICK_INTERVAL$2","AudioStreamController","_BaseStreamController","videoBuffer","videoTrackCC","waitingVideoCC","bufferedTrack","switchingTrack","waitingData","mainDetails","flushing","bufferFlushed","cachedTrackLoadedData","onAudioTracksUpdated","AUDIO_TRACK_SWITCHING","onAudioTrackSwitching","onAudioTrackLoaded","BUFFER_RESET","onBufferReset","BUFFER_CREATED","onBufferCreated","BUFFER_FLUSHED","onBufferFlushed","INIT_PTS_FOUND","onInitPtsFound","doTickIdle","_levels$trackId","_this$media","seeking","_levels","_trackId","cache","clearWaitingFragment","startFragPrefetch","trackDetails","BUFFER_EOS","mainBufferInfo","atGap","atBufferSyncLimit","mainFrag","mainBufferLength","maxConfigBuffer","mediaPlaylist","altAudio","flushAudioIfNeeded","_track$details","defaultAudioCodec","_handleTransmuxComplete","_id3$samples","completeAudioSwitch","mapFragment","_bufferInitSegment","FRAG_PARSING_INIT_SEGMENT","emittedID3","emittedText","FRAG_PARSING_USERDATA","variantAudioCodecs","BUFFER_CODECS","_track$details2","bufferedAttributes","switchAttributes","AudioTrackController","_BasePlaylistControll","groupIds","tracksInGroup","currentTrack","selectDefaultTrack","MANIFEST_PARSED","onManifestParsed","trackInActiveGroup","currentGroups","groupIndex","allIndex","findTrackId","audioTracksUpdated","setAudioTrack","_this$groupIds","setAudioOption","audioOption","switchIndex","withoutCodecAndChannelsMatch","newId","lastTrack","trackLoaded","_track2","_track3","TICK_INTERVAL$1","SubtitleStreamController","currentTrackId","tracksBuffered","SUBTITLE_TRACKS_UPDATED","onSubtitleTracksUpdated","SUBTITLE_TRACK_SWITCH","onSubtitleTrackSwitch","onSubtitleTrackLoaded","SUBTITLE_FRAG_PROCESSED","onSubtitleFragProcessed","fragStart","fragEnd","endOffsetSubtitles","mediaBufferTimeRanges","mainSlidingStartFragment","levelTargetDuration","foundFrag","lookupTolerance","BufferableInstance","timeranges","getRange","DOMException","SubtitleTrackController","queuedDefaultTrack","asyncPollTrackChange","pollTrackChange","useTextTrackPolling","subtitlePollingInterval","_subtitleDisplay","onTextTracksChanged","renderTextTracksNatively","findTrackForTextTrack","setSubtitleTrack","subtitlePreference","subtitleTracksUpdated","selectDefault","_track","setSubtitleOption","subtitleOption","allSubtitleTracks","toggleTrackModes","nextTrack","subtitleDisplay","_track$groupId","BufferOperationQueue","sourceBufferReference","buffers","queues","operation","pending","executeNext","insertAbort","appendBlocker","execute","promise","onStart","onComplete","sb","updating","shiftAndExecuteNext","VIDEO_CODEC_PROFILE_REPLACE","BufferController","_objectUrl","operationQueue","bufferCodecEventsExpected","_bufferCodecEventsTotal","mediaSource","lastMpegAudioChunk","appendSource","appendErrors","pendingTracks","sourceBuffer","_onEndStreaming","pauseBuffering","_onStartStreaming","resumeBuffering","_onMediaSourceOpen","_onMediaEmptied","updateMediaElementDuration","checkPendingTracks","_onMediaSourceClose","_onMediaSourceEnded","mediaSrc","_initSourceBuffer","hasSourceTypes","getSourceBufferTypes","MEDIA_ATTACHING","onMediaAttaching","onBufferAppending","onBufferCodecs","onBufferEos","onFragParsed","FRAG_CHANGED","onFragChanged","codecEvents","_ms$constructor","ms","objectUrl","MMS","disableRemotePlayback","removeSourceChildren","addSource","endOfStream","MEDIA_DETACHED","resetBuffer","_this$mediaSource","removeBufferListeners","sourceBuffers","removeSourceBuffer","sourceBufferCount","trackNames","trackName","changeType","_trackCodec","_data$trackName","currentCodecFull","currentCodec","trackCodec","nextCodec","mimeType","appendChangeType","eventData","chunkStats","bufferAppendingStart","fragBuffering","partBuffering","checkTimestampOffset","timestampOffset","appendExecutor","_type","QUOTA_EXCEEDED_ERR","appendErrorCount","flushOperation","removeExecutor","_this7","buffersAppendedTo","onUnblocked","blockBuffers","trimBuffers","_this8","ending","liveBackBufferLength","maxBackBufferLength","targetBackBufferPosition","flushBackBuffer","frontBufferFlushThreshold","frontBufferLength","maxFrontBufferLength","targetFrontBufferPosition","flushFrontBuffer","_this9","BACK_BUFFER_REACHED","LIVE_BACK_BUFFER_REACHED","_this10","numBufferedRanges","levelDuration","mediaDuration","msDuration","liveDurationInfinity","updateSeekableRange","setLiveSeekableRange","pendingTracksCount","createSourceBuffers","BUFFER_INCOMPATIBLE_CODECS_ERROR","_this11","addSourceBuffer","sbName","addBufferListener","_onSBUpdateStart","_onSBUpdateEnd","_onSBUpdateError","removedRanges","_this$mediaSource2","_this$mediaSource3","removeStart","removeEnd","appendBuffer","_this12","blockingOperations","firstChild","sourceChildren","specialCea608CharsCodes","getCharForByte","charCode","NR_ROWS","NR_COLS","rowsLowCh1","rowsHighCh1","rowsLowCh2","rowsHighCh2","backgroundColors","CaptionsLogger","verboseLevel","severity","numArrayToHexArray","numArray","hexArray","PenState","foreground","underline","italics","flash","setStyles","styles","attribs","other","newPenState","StyledUnicodeChar","uchar","penState","_proto3","setChar","setPenState","newChar","isEmpty","Row","chars","currPenState","cueStartTime","_proto4","empty","setCursor","absPos","moveCursor","relPos","newPos","backSpace","insertChar","_byte2","_char","clearFromPos","startPos","clear","clearToEndOfRow","getTextString","_char2","setPenStyles","CaptionScreen","currRow","nrRollUpRows","lastOutputScreen","_proto5","equal","_char3","setPen","setPAC","pacData","newRow","row","topRowIndex","prevLineTime","indent","prevPos","setBkgData","bkgData","setRollUpRows","nrRows","rollUp","getDisplayText","topRow","asOneRow","displayText","rowNr","rowText","getTextAndFormat","Cea608Channel","channelNumber","outputFilter","chNr","verbose","displayedMemory","nonDisplayedMemory","currRollUpRow","writeScreen","_proto6","getHandler","setHandler","newHandler","setMode","newMode","insertChars","screen","outputDataUpdate","ccRCL","ccBS","ccAOF","ccAON","ccDER","ccRU","ccFON","ccRDC","ccTR","ccRTD","ccEDM","ccCR","ccENM","ccEOC","ccTO","nrCols","ccMIDROW","colorIndex","colors","newCue","dispatchCue","cueSplitAtTime","Cea608Parser","field","out1","out2","currentChannel","cmdHistory","createCmdHistory","_proto7","addData","byteList","cmdFound","charsFound","parseCmd","parseMidrow","parsePAC","parseBackgroundAttributes","parseChars","currChNr","hasCmdRepeated","setLastCmd","interpretPAC","_byte3","pacIndex","channelNr","oneCode","charCodes","charCode1","hexCodes","OutputFilter","timelineController","cueRanges","addCues","createCaptionsTrack","AllowedDirections","AllowedAlignments","isAllowedValue","allowed","lcValue","findDirectionSetting","findAlignSetting","extend","rest","cobj","baseObj","hasBeenReset","_pauseOnExit","_startTime","_endTime","_text","_region","_vertical","_snapToLines","_line","_lineAlign","_position","_positionAlign","_size","_align","setting","displayState","getCueAsHTML","parseTimeStamp","computeSeconds","Settings","values","dflt","defaultKey","parseOptions","keyValueDelim","groupDelim","kv","defaults","center","align","parseCue","regionList","oInput","consumeTimeStamp","ts","consumeCueSettings","settings","vals","region","vertical","lineAlign","skipWhitespace","fixLineBreaks","VTTParser","collectNextLine","alreadyCollectedLine","hasSubstring","LINEBREAKS","inputString","searchString","cueString2millis","timeString","secs","mins","hours","generateCueId","calculateOffset","vttCCs","currCC","prevCC","new","presentationOffset","_prevCC","parseWebVTT","vttByteArray","callBack","errorCallBack","parsingError","vttLines","cueTime","timestampMapMPEGTS","timestampMapLOCAL","inHeader","cueOffset","webVttMpegTsMapOffset","IMSC1_CODEC","HMSF_REGEX","TIME_UNIT_REGEX","textAlignToLineAlign","parseIMSC1","ttmlList","syncTime","ttml","parseTTML","tt","defaultRateInfo","subFrameRate","frameRateMultiplier","tickRate","rateInfo","styleElements","collectionToDictionary","getElementCollection","regionElements","cueElements","cueElement","cueText","getTextContent","parseTtmlTime","timestampParsingError","getTtmlStyles","fromElement","parentName","childName","elementsWithId","dict","_node$childNodes","nodeName","textContent","ttsNs","regionStyle","styleAttributes","regionStyleName","getAttributeNS","ns","hasAttributeNS","timeAttributeValue","parseHoursMinutesSecondsFrames","parseTimeUnits","TimelineController","Cues","unparsedVttFrags","captionsTracks","nonNativeCaptionsTracks","cea608Parser1","cea608Parser2","lastCc","newVTTCCs","captionsProperties","cueHandler","textTrack1","captionsTextTrack1Label","captionsTextTrack1LanguageCode","textTrack2","captionsTextTrack2Label","captionsTextTrack2LanguageCode","textTrack3","captionsTextTrack3Label","captionsTextTrack3LanguageCode","textTrack4","captionsTextTrack4Label","captionsTextTrack4LanguageCode","onFragParsingUserdata","onFragDecrypted","SUBTITLE_TRACKS_CLEARED","onSubtitleTracksCleared","initCea608Parsers","enableCEA708Captions","channel1","channel2","channel3","channel4","merged","cueRange","overlap","intersection","CUES_PARSED","getExistingTrack","canReuseVttTextTrack","createNativeTrack","createNonNativeTrack","_captionsProperties$t","existingTrack","createTextTrack","trackProperties","closedCaptions","NON_NATIVE_TEXT_TRACKS_FOUND","_cleanTracks","hasIMSC1","enableWebVTT","enableIMSC1","inUseTracks","inUseTrack","textTrackKind","captionsOrSubtitlesFromCharacteristics","unusedTextTracks","tracksList","captionsTrack","instreamIdMatch","closedCaptionsForLevel","_data$part$index","decrypted","trackPlaylistMedia","_parseIMSC1","_parseVTTs","_appendCues","maxAvCC","missingInitPTS","_fallbackToIMSC1","fragLevel","ccBytes","ccdatas","extractCea608Data","actualCCBytes","tmpByte","ccbyte1","ccbyte2","ccType","manifestTrack","x1","y1","CapLevelController","autoLevelCapping","restrictedLevels","clientRect","streamController","setStreamController","unregisterListener","stopCapping","FPS_DROP_LEVEL_CAPPING","onFpsDropLevelCapping","droppedLevel","isLevelAllowed","HTMLVideoElement","detectPlayerSize","capLevelToPlayerSize","startCapping","mediaHeight","mediaWidth","maxLevel","getMaxLevel","nextLevelSwitch","capLevelIndex","validLevels","getMaxLevelByMediaSize","getDimensions","boundsRect","restrictedLevel","atGreatestBandwidth","curLevel","maxLevelIndex","squareSize","contentScaleFactor","ignoreDevicePixelRatio","devicePixelRatio","FPSController","isVideoPlaybackQualityAvailable","lastTime","lastDroppedFrames","lastDecodedFrames","capLevelOnFPSDrop","getVideoPlaybackQuality","checkFPSInterval","fpsDroppedMonitoringPeriod","checkFPS","decodedFrames","droppedFrames","currentPeriod","currentDropped","currentDecoded","droppedFPS","FPS_DROP","totalDroppedFrames","fpsDroppedMonitoringThreshold","videoPlaybackQuality","totalVideoFrames","droppedVideoFrames","webkitDecodedFrameCount","webkitDroppedFrameCount","LOGGER_PREFIX","EMEController","keyFormatPromise","keySystemAccessPromises","_requestLicenseFailureCount","mediaKeySessions","keyIdToKeySessionPromise","setMediaKeysQueue","CDMCleanupPromise","onMediaEncrypted","_onMediaEncrypted","onWaitingForKey","_onWaitingForKey","onMediaDetached","requestMediaKeySystemAccessFunc","licenseXhrSetup","licenseResponseCallback","getLicenseServerUrl","keySystemConfiguration","licenseUrl","getServerCertificateUrl","serverCertificateUrl","attemptKeySystemAccess","uniqueCodec","attempt","keySystems","getMediaKeysPromise","mediaKeys","EMEKeyError","KEY_SYSTEM_NO_ACCESS","supportedConfigurations","errMessage","protocol","mediaKeySystemConfigs","keySystemAccess","_keySystemAccessPromises","mediaKeySystemAccess","certificateRequest","fetchServerCertificate","createMediaKeys","certificate","setMediaKeysServerCertificate","createMediaKeySessionContext","mediaKeysSession","createSession","mediaKeySessionContext","keyStatus","renewKeySession","keySessionContext","getKeyIdString","generateRequestWithPreferredKeySession","removeSession","updateKeySession","_mediaKeySessionConte","keySession","sessionId","selectKeySystemFormat","getKeyFormatPromise","keySystemsInConfig","getKeySystemSelectionPromise","keySystemFormat","loadKey","keyInfo","keyDetails","keySessionContextPromise","getKeySystemForKeyPromise","throwIfDestroyed","attemptSetMediaKeys","handleError","KEY_SYSTEM_NO_KEYS","KEY_SYSTEM_NO_CONFIGURED_LICENSE","initDataType","keySystemDomain","psshInfo","keyIdHex","keyContext","oldKeyIdHex","_keySystemToKeySystem","setMediaKeysPromise","setMediaKeys","_this$config$drmSyste","_this$config$drmSyste2","generateRequestFilter","generateRequest","mappedInitData","licenseStatus","onmessage","_onmessage","messageType","renewLicense","onkeystatuseschange","_onkeystatuseschange","onKeyStatusChange","keyUsablePromise","KEY_SYSTEM_STATUS_INTERNAL_ERROR","_context$mediaKeysSes","KEY_SYSTEM_NO_SESSION","keyStatuses","certLoader","certLoadPolicy","contex","KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED","cert","setServerCertificate","KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED","keyMessage","requestLicense","KEY_SYSTEM_SESSION_UPDATE_FAILED","unpackPlayReadyKeyMessage","xhr","licenseChallenge","xmlString","setRequestHeader","keyMessageXml","_header$querySelector","_header$querySelector2","_value","challengeElement","challengeText","setupLicenseXHR","keysListItem","licenseXhrSetupResult","XMLHttpRequest","onreadystatechange","KEY_SYSTEM_LICENSE_REQUEST_FAILED","attemptsLeft","licenseXhr","DONE","_ref5","emeEnabled","_this13","mediaKeysList","keySessionCount","_ref6","_this14","close","CmObjectType","CmStreamingFormat","CmcdHeaderField","_CmcdHeaderMap","_this15","CmcdHeaderMap","OBJECT","REQUEST","SESSION","STATUS","SfItem","SfToken","DICT","throwError","cause","BARE_ITEM","BOOLEAN","BYTES","DECIMAL","INTEGER","isInvalidInt","STRING_REGEX","TOKEN","KEY","serializeError","serializeBoolean","base64encode","binary","serializeByteSequence","serializeInteger","serializeDate","roundToEven","precision","decimalShift","EPSILON","flooredValue","serializeDecimal","roundedValue","STRING","serializeString","symbolToStr","symbol","serializeToken","token","serializeBareItem","serializeKey","serializeParams","serializeItem","serializeInnerList","serializeDict","_options","whitespace","optionalWhiteSpace","item","encodeSfDict","isTokenField","urlToRelativePath","toPath","fromPath","randomUUID","_uuid","dt","toRounded","toHundred","CmcdFormatters","br","dl","mtp","nor","rtp","tb","processCmcd","formatters","formatter","encodeCmcd","cmcd","toCmcdHeaders","headerMap","customHeaderMap","shards","_headerMap$find","appendCmcdHeaders","CMCD_PARAM","toCmcdQuery","REGEX","appendCmcdQuery","separator","CMCDController","cid","useHeaders","includeKeys","initialized","starved","audioBuffer","onWaiting","onPlaying","applyPlaylistData","ot","su","applyFragmentData","getObjectType","MUXED","getTopBandwidth","getBufferLength","createPlaylistLoader","createFragmentLoader","contentId","_data$tracks$audio","_data$tracks$video","createData","sf","HLS","pr","bandwidthEstimate","isVideo","INIT","bs","TIMED_TEXT","_step","_iterator","Ctor","CmcdPlaylistLoader","callbacks","CmcdFragmentLoader","PATHWAY_PENALTY_DURATION_MS","ContentSteeringController","pathwayPriority","timeToLoad","reloadTimer","started","penalizedPathways","ttl","scheduleRefresh","loadSteeringManifest","levelToRemove","errorPathway","_pathwayId","getPathwayForGroupId","pathways","updatePathwayPriority","filterParsedLevels","pathwayLevels","getLevelsForPathway","_pathwayId2","_pathwayId3","selectedIndex","selectedLevel","levelAfterChange","defaultPathway","clonePathways","pathwayClones","audioGroupCloneMap","subtitleGroupCloneMap","pathwayClone","cloneId","baseId","uriReplacement","clonedVariants","baseLevel","clonedAudioGroupId","clonedSubtitleGroupId","performUriReplacement","clonedLevel","cloneRenditionGroups","throughput","steeringManifestLoadPolicy","steeringData","TTL","reloadUri","loadedSteeringData","steeringManifest","STEERING_MANIFEST_LOADED","getResponseHeader","retryAfter","ttlMs","_this3$hls","groupCloneMap","clonedTracks","clonedTrack","stableId","perOptionKey","perVariantUri","host","HOST","PARAMS","perOptionUris","AGE_HEADER_LINE_REGEX","XhrLoader","xhrSetup","requestTimeout","retryTimeout","abortInternal","onprogress","_this$callbacks","loadInternal","openAndSendXhr","_config$loadPolicy","readystatechange","loadprogress","loadtimeout","_status","useResponse","responseText","responseURL","_this$context","lengthComputable","getAllResponseHeaders","fetchSupported","AbortController","ReadableStream","Request","FetchLoader","fetchSetup","controller","getRequest","initParams","getRequestParameters","signal","isArrayBuffer","LENGTH","FetchError","getContentLength","loadProgressively","responseData","chunkCache","reader","getReader","pump","credentials","Headers","getByteRangeLength","byteRangeHeader","contentRange","byteRangeLength","contentLength","chromeOrFirefox","WHITESPACE_CHAR","captionScreen","indenting","_track$cues","cueA","cueB","hlsDefaultConfig","highBufferWatchdogPeriod","nudgeOffset","startLevel","abrController","bufferController","capLevelController","errorController","fpsController","abrEwmaDefaultEstimateMax","minAutoBitrate","testBandwidth","manifestLoadingRetryDelay","manifestLoadingMaxRetryTimeout","levelLoadingTimeOut","levelLoadingMaxRetry","levelLoadingRetryDelay","levelLoadingMaxRetryTimeout","fragLoadingTimeOut","fragLoadingMaxRetry","fragLoadingRetryDelay","fragLoadingMaxRetryTimeout","timelineConfig","subtitleStreamController","subtitleTrackController","audioStreamController","audioTrackController","emeController","cmcdController","contentSteeringController","mergeConfig","defaultConfig","defaultsCopy","deepCpy","deprecatedSettings","policyName","policyNotSet","report","deprecatedSetting","enableStreamingMode","currentLoader","LevelController","_firstLevel","_maxAutoLevel","_startLevel","currentLevelIndex","manualLevelIndex","steering","onParsedComplete","resetLevels","redundantSet","generatePathwaySet","resolutionFound","videoCodecFound","audioCodecFound","levelParsed","_audioCodec","_videoCodec","FRAMERATE","HDCP","PATHWAY","RESOLUTION","VIDEO_RANGE","pathwayCount","filterAndSortMediaOptions","filteredLevels","assignTrackIdsByGroup","unsortedLevels","valueA","valueB","_valueA","_valueB","firstLevelInPlaylist","_this$hls$userConfig","firstLevelBitrate","startingBwEstimate","audioOnly","edata","forceStartLoad","MANIFEST_INCOMPATIBLE_CODECS_ERROR","_data$deliveryDirecti2","_data$deliveryDirecti","_this$currentLevel","checkMaxAutoUpdated","newLevel","lastLevelIndex","lastLevel","lastPathwayId","levelSwitchingData","audioGroupIds","textGroupIds","configStartLevel","KeyLoader","keyUriToKeyInfo","_loader$context","createKeyLoadError","loadingFrag","_keyInfo","_keyInfo2","_keyInfo$mediaKeySess","keyLoadPromise","loadKeyHTTP","loadKeyEME","getSourceBuffer","SourceBuffer","WebKitSourceBuffer","isMSESupported","codecsForVideoContainer","codecForAudioContainer","changeTypeSupported","_sourceBuffer$prototy","STALL_MINIMUM_DURATION_MS","MAX_START_GAP_JUMP","SKIP_BUFFER_HOLE_STEP_SECONDS","SKIP_BUFFER_RANGE_START","GapController","nudgeRetry","stallReported","stalled","moved","poll","activeFrag","seeked","beginSeek","hasEnoughBuffer","noBufferGap","startJump","maxStartGapJump","partialOrGap","_trySkipBufferHole","tnow","stalledDuration","_reportStall","bufferedWithHoles","_tryFixBufferStall","_stalledDuration","stalledDurationMs","_tryNudgeBuffer","bufferStarved","waiting","gapLength","startGap","startFrag","startProvisioned","moreToLoad","provisioned","targetTime","TICK_INTERVAL","StreamController","audioCodecSwap","gapController","_forceStartLoad","fragPlaying","onvplaying","onvseeked","fragLastKbps","couldBacktrack","backtrackFragment","audioCodecSwitch","onFragLoadEmergencyAborted","onAudioTrackSwitched","_currentLevel","checkBuffer","checkFragmentChanged","getMainFwdBufferInfo","lastDetails","manualLevel","_this$backtrackFragme","backtrackFrag","_loadBitrateTestFrag","followingBufferedFrag","immediateLevelSwitch","abortCurrentFrag","fetchdelay","fragPlayingCurrent","bufferedFrag","nextBufferedFrag","maxStart","startPts","onMediaPlaying","onMediaSeeked","aac","heaac","_curLevel$details","newLevelId","_getAudioCodec","fromAltAudio","mediaTrack","alternate","swapAudioCodec","isFirstFragment","isFirstInDiscontinuity","backtrack","_endPTS","_startDTS","_endDTS","ua","fragCurrentLevel","LEVEL_SWITCHED","currentFrag","epocMs","coreComponents","networkControllers","_emitter","_autoLevelCapping","_maxHdcpLevel","latencyController","levelController","_media","triggeringException","DefaultConfig","ConfigAbrController","ConfigBufferController","ConfigCapLevelController","ConfigErrorController","ConfigFpsController","playListLoader","id3TrackController","ConfigContentSteeringController","createController","AudioStreamControllerClass","SubtitleStreamControllerClass","ControllerClass","components","controllerInstance","eventObject","DESTROYING","component","loadedSource","loadingSource","_this$audioTrackContr","_this$subtitleTrackCo","shouldStartCapping","newCapLevelToPlayerSize","currentProgramDateTime","subtitleTrackId","factory","isString","rej","makeString","lastOfPathSeparatorRegExp","cleanKey","canNotTraverseDeeper","getLastOfPath","stackIndex","setPath","newValue","getPath","deepExtend","overwrite","regexEscape","_entityMap","escape","looksLikeObjectPathRegExpCache","capacity","regExpMap","regExpQueue","getRegExp","regExpFromCache","regExpNew","delete","deepFind","keySeparator","tokens","nextPath","getCleanedCode","consoleLogger","Logger","concreteLogger","forward","_len2","_len3","_key3","deprecate","_len4","_key4","lvl","debugOnly","moduleName","clone","baseLogger","observers","numListeners","numTimesAdded","ResourceStore","defaultNS","ignoreJSONStructure","addNamespaces","removeNamespaces","getResource","lng","addResource","addResources","resources","addResourceBundle","deep","skipCopy","pack","removeResourceBundle","hasResourceBundle","getResourceBundle","getDataByLanguage","hasLanguageSomeTranslations","postProcessor","processors","addPostProcessor","handle","translator","processor","process","checkedLoadedFor","shouldHandleAsObject","Translator","services","changeLanguage","exists","interpolation","extractFromKey","nsSeparator","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","matched","ki","looksLikeObjectPath","interpolator","nestingRegexp","lastKey","overloadTranslationOptionHandler","returnDetails","namespace","appendNamespaceToCIMode","usedKey","exactUsedKey","usedLng","usedNS","usedParams","getUsedParamsDetails","resUsedKey","resExactUsedKey","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","needsPluralHandling","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValueSuffixOrdinalFallback","ordinal","needsZeroSuffixLookup","pluralSeparator","resForObjHndl","resType","extendTranslation","usedDefault","isValidLookup","resForMissing","missingKeyNoValueFallbackToKey","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","specificDefaultValue","defaultForMissing","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","suffixes","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","defaultVariables","skipInterpolation","skipOnVariables","nestBef","interpolate","na","nest","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","extracted","fallbackNS","needsContextHandling","codes","utils","hasLoadedNamespace","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","ordinalPrefix","contextKey","contextSeparator","possibleKey","returnNull","returnEmptyString","resourceStore","optionsKeys","useOptionsReplaceForData","LanguageUtil","supportedLngs","getScriptPartFromCode","formatLanguageCode","getLanguagePartFromCode","formattedCode","Intl","getCanonicalLocales","lowerCaseLng","cleanCode","isSupportedCode","nonExplicitSupportedLngs","getBestMatchFromCodes","cleanedLng","lngOnly","supportedLng","fallbacks","fallbackCode","fallbackCodes","addCode","fc","suffixesOrder","zero","one","two","few","many","dummyRule","resolvedOptions","pluralCategories","PluralResolver","pluralRulesCache","addRule","rules","clearCache","getRule","cleanedCode","cacheKey","rule","PluralRules","lngPart","needsPlural","getPluralFormsOfKey","pluralCategory1","pluralCategory2","pluralCategory","prepend","deepFindWithDefaults","defaultData","getPathWithDefaults","regexSafe","Interpolator","escapeValue","escape$1","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapeSuffix","unescapePrefix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","getOrResetRegExp","existingRegExp","regexp","regexpUnescape","replaces","handleFormat","interpolationkey","missingInterpolationHandler","regex","safeValue","todo","matchedVar","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","doReduce","elem","createCachedFormatter","optForCache","formatParams","Formatter","opt","NumberFormat","currency","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","ListFormat","addCached","mem","formatName","formatOptions","formatStr","optStr","trimmedKey","parseFormatStr","formatted","valOptions","locale","Connector","backend","store","waitingReads","maxParallelReads","readingCalls","maxRetries","queueLoad","languages","toLoad","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","pendingCount","pushPath","removePending","loadedKeys","fcName","tried","wait","resolver","prepareLoading","loadOne","fallbackValue","isUpdate","clb","initAsync","simplifyPluralSuffix","partialBundledLanguages","tDescription","transformOptions","initImmediate","I18n","inst","modules","isInitialized","isClone","isInitializing","defOpts","createClassOnDemand","ClassOrObject","lu","languageDetector","detection","deferred","finish","initializedStoreOnce","loadResources","usedCallback","resolvedLanguage","setResolvedLanguage","reloadResources","use","li","lngInLngs","isLanguageChangingTo","setLngProps","setLng","cacheUserLanguage","detect","getFixedT","keyPrefix","fixedT","resultKey","_len5","_key5","setDefaultNamespace","lastLng","loadNotPending","loadState","precheck","preResult","loadNamespaces","loadLanguages","preloaded","newLngs","createInstance","cloneInstance","forkResourceStore","mergedOptions","clonedData","_len6","_key6","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","LN2","langs","crit","findBy","isValidType","forAll","where","HASH_UNDEFINED","argsTag","boolTag","dateTag","funcTag","genTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reFlags","reIsHostCtor","reIsUint","cloneableTags","freeGlobal","freeSelf","root","freeExports","nodeType","freeModule","moduleExports","addMapEntry","pair","addSetEntry","arrayReduce","iteratee","accumulator","initAccum","isHostObject","mapToArray","overArg","transform","setToArray","uid","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","IE_PROTO","funcToString","objectToString","reIsNative","getPrototype","objectCreate","nativeGetSymbols","nativeIsBuffer","nativeKeys","getNative","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","Hash","ListCache","MapCache","Stack","__data__","arrayLikeKeys","inherited","isObjectLike","isArrayLike","isArrayLikeObject","isArguments","baseTimes","skipIndexes","isIndex","assignValue","objValue","eq","assocIndexOf","baseClone","isDeep","isFull","customizer","isObject","isArr","initCloneArray","copyArray","getTag","isFunc","cloneBuffer","isPrototype","initCloneObject","copyObject","getSymbols","copySymbols","baseAssign","cloneFunc","cloneArrayBuffer","dataView","cloneDataView","typedArray","cloneTypedArray","cloneMap","cloneRegExp","cloneSet","initCloneByTag","stacked","keysFunc","symbolsFunc","arrayPush","baseGetAllKeys","getAllKeys","arrayEach","subValue","baseIsNative","isFunction","getMapData","getValue","pairs","LARGE_ARRAY_SIZE","ctorString","isLength","baseKeys","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","nativeMax","nativeMin","toNumber","isSymbol","isBinary","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","remainingWait","debounced","isInvoking","leadingEdge","cancel","arrayIncludes","fromIndex","fromRight","baseFindIndex","baseIsNaN","baseIndexOf","arrayIncludesWith","comparator","arrayMap","baseUnary","cacheHas","SetCache","castArrayLikeObject","arrays","mapped","othLength","othIndex","caches","seen","outer","computed","baseIntersection","otherArgs","arrayTag","errorTag","typedArrayTags","freeProcess","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arraySome","nativeObjectToString","symToStringTag","isArg","isBuff","isType","baseGetTag","unmasked","getRawTag","baseIsArguments","baseIsEqual","bitmask","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","othProps","skipCtor","othValue","compared","objCtor","othCtor","equalObjects","baseIsEqualDeep","isMasked","arrValue","resIndex","arrayFilter","FUNC_ERROR_TEXT","debounce","magnetURIDecode","encode","xts","xt","infoHashBuffer","infoHashV2Buffer","infoHashV2","xtsDeduped","publicKeyBuffer","xs","publicKey","dn","keywords","kt","tr","urlList","ws","as","peerAddresses","bep53Range","base32","param","keyval","decodedStr","$isNaN","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","weakMapHas","weakSetHas","weakRefDeref","deref","booleanValueOf","functionToString","$match","$slice","$toUpperCase","$toLowerCase","$test","$join","$arrSlice","$floor","bigIntValueOf","gOPS","symToString","hasShammedSymbols","isEnumerable","gPO","addNumericSeparator","sepRegex","int","intStr","dec","utilInspect","inspectCustom","custom","inspectSymbol","quotes","single","quoteREs","wrapQuotes","defaultStyle","quoteStyle","quoteChar","canTrustToString","isRegExp","inspect_","depth","maxStringLength","customInspect","numericSeparator","inspectString","bigIntStr","maxDepth","baseIndent","getIndent","noIndent","newOpts","nameOf","arrObjKeys","symString","markBoxed","isElement","singleLineValues","indentedJoin","isError","mapParts","collectionOf","isSet","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isNumber","isBigInt","isBoolean","globalThis","isDate","ys","isPlainObject","protoTag","trailer","quoteRE","lowbyte","lineJoiner","symMap","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","bigint","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","PropTypes","global","punycode","maxInt","regexPunycode","regexNonASCII","regexSeparators","stringFromCharCode","mapDomain","ucs2decode","counter","ucs2encode","basicToDigit","digitToBasic","digit","flag","adapt","numPoints","firstTime","baseMinusTMin","basic","oldi","baseMinusT","inputLength","bias","handledCPCount","basicLength","currentValue","handledCPCountPlusOne","qMinusT","percentTwenties","Format","RFC1738","RFC3986","allowDots","allowEmptyArrays","allowPrototypes","allowSparse","arrayLimit","charsetSentinel","comma","decodeDotInKeys","delimiter","duplicates","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","plainObjects","strictDepth","strictNullHandling","throwOnLimitExceeded","$0","numberStr","parseArrayValue","currentArrayLength","parseKeys","givenKey","valuesParsed","child","chain","parentKey","leaf","combine","cleanRoot","charAt","decodedRoot","parseObject","normalizeParseOptions","tempObj","cleanStr","skipIndex","bracketEqualsPos","maybeMap","encodedVal","existing","parseValues","newObj","merge","compact","getSideChannel","arrayPrefixGenerators","brackets","indices","repeat","pushToArray","valueOrArray","toISO","toISOString","defaultFormat","addQueryPrefix","arrayFormat","commaRoundTrip","encodeDotInKeys","encoder","encodeValuesOnly","skipNulls","sentinel","generateArrayPrefix","sideChannel","tmpSc","findFlag","objKeys","encodedPrefix","adjustedPrefix","encodedKey","valueSideChannel","normalizeStringifyOptions","joined","hexTable","arrayToObject","refs","compacted","compactQueue","defaultDecoder","strWithoutPlus","defaultEncoder","mergeTarget","targetItem","qs","maxKeys","kstr","vstr","stringifyPrimitive","ks","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","ra","sa","ta","pa","qa","oa","setAttributeNS","xlinkHref","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","Pa","Qa","$$typeof","_payload","_init","Ra","Sa","Ta","Va","_valueTracker","setValue","stopTracking","Ua","Wa","Xa","activeElement","Ya","defaultChecked","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","db","ownerDocument","eb","fb","defaultSelected","gb","dangerouslySetInnerHTML","children","hb","ib","jb","kb","lb","mb","namespaceURI","MSApp","execUnsafeLocalFunction","ob","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","order","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","setProperty","menuitem","area","col","embed","img","keygen","meta","wbr","ub","vb","wb","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","ec","unstable_getCurrentPriorityLevel","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","rc","sc","tc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","detail","vd","Ad","screenX","screenY","pageX","pageY","ctrlKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","fe","ge","he","le","email","month","password","tel","week","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","Ne","Oe","focusedElem","selectionRange","documentElement","selectionStart","selectionEnd","defaultView","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","of","pf","qf","rf","capture","passive","J","tf","uf","parentWindow","vf","wf","xa","$a","ba","je","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","_owner","_stringRef","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","_currentValue","bh","childLanes","ch","dependencies","firstContext","lanes","dh","eh","memoizedValue","fh","gh","hh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","effects","lh","mh","eventTime","lane","nh","K","oh","ph","qh","rh","sh","th","uh","vh","xh","yh","tagName","zh","Ah","Bh","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","ReactCurrentDispatcher","Gh","Hh","M","N","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","Uh","Vh","Wh","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","Xh","Yh","Zh","$h","ai","getSnapshot","bi","ci","Q","di","lastEffect","stores","ei","fi","gi","ii","deps","ji","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","yi","zi","Ai","Bi","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ci","defaultProps","Di","Ei","isMounted","_reactInternals","enqueueSetState","enqueueReplaceState","enqueueForceUpdate","Fi","shouldComponentUpdate","isPureReactComponent","Gi","updater","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ii","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Ji","digest","Ki","Li","Mi","Ni","Oi","Pi","Qi","getDerivedStateFromError","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","ReactCurrentOwner","Xi","Yi","Zi","$i","aj","bj","cj","dj","baseLanes","cachePool","transitions","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","jj","kj","pendingContext","lj","zj","Aj","Bj","Cj","mj","nj","oj","fallback","pj","qj","sj","dataset","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","rendering","renderingStartTime","tail","tailMode","xj","Dj","Ej","Fj","wasMultiple","suppressHydrationWarning","onclick","createElementNS","createTextNode","Gj","Hj","Ij","Jj","U","Kj","V","Lj","W","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","_reactRootContainer","Wj","X","Xj","Yj","Zj","onCommitFiberUnmount","componentWillUnmount","ak","bk","ck","dk","ek","isHidden","gk","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","Vk","lk","mk","nk","Y","Z","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","isReactComponent","pendingChildren","al","mutableSourceEagerHydrationData","pendingSuspenseBoundaries","fl","gl","hl","il","yj","Zk","kl","reportError","ll","_internalRoot","ml","nl","ol","pl","rl","ql","unmount","unstable_scheduleHydration","usingClientEntryPoint","tl","findFiberByHostInstance","bundleType","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","isDisabled","supportsFiber","inject","createPortal","cl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","FOCUS_GROUP","FOCUS_DISABLED","assignRef","useIsomorphicLayoutEffect","currentValues","useMergeRefs","callbackRef","facade","oldValue","prevRefs_1","nextRefs_1","current_1","hiddenGuard","InFocusGuard","_ref$children","propTypes","__assign","SuppressedError","ItoI","innerCreateMedium","middleware","assigned","useMedium","assignSyncMedium","cbs","assignMedium","pendingQueue","executeQueue","cycle","createMedium","mediumFocus","mediumBlur","mediumEffect","mediumSidecar","medium","ssr","createSidecarMedium","focusScope","createContext","emptyArray","FocusLock","parentRef","_extends2","_React$useState","realObserved","setObserved","observed","isActive","originalFocusedElement","_props$disabled","_props$noFocusGuards","noFocusGuards","_props$persistentFocu","persistentFocus","_props$crossFrame","crossFrame","_props$autoFocus","allowTextSelection","whiteList","hasPositiveIndices","_props$shards","_props$as","Container","_props$lockProps","lockProps","containerProps","SideCar","sideCar","_props$returnFocus","returnFocus","shouldReturnFocus","focusOptions","onActivationCallback","onActivation","onDeactivationCallback","onDeactivation","captureFocusRestore","_document","allowDefer","focusRestore","returnFocusTo","howToReturnFocus","returnFocusOptions","setObserveNode","newObserved","hasLeadingGuards","hasTailingGuards","mergedRef","focusScopeValue","active","Provider","_typeof","toPropertyKey","reducePropsToState","handleStateChangeOnClient","WrappedComponent","mountedInstances","emitChange","SideEffect","_PureComponent","peek","PureComponent","getDisplayName","toArray","asArray","getFirst","getParentNode","Node","DOCUMENT_FRAGMENT_NODE","isTopNode","DOCUMENT_NODE","isVisibleUncached","checkParent","ELEMENT_NODE","computedStyle","getComputedStyle","getPropertyValue","isElementHidden","isInert","isVisibleCached","visibilityCache","cached","isAutoFocusAllowedCached","isAutoFocusAllowed","isAutoFocusAllowedUncached","getDataset","isHTMLInputElement","isRadioElement","attribute","isGuard","_a","focusGuard","isNotAGuard","isDefined","tabSort","aTab","bTab","tabDiff","indexDiff","orderByTabIndex","filterNegative","keepGuards","getTabIndex","queryTabbables","queryGuardTabbables","getFocusablesWithShadowDom","withGuards","shadowRoot","getFocusables","parents","focusableWithShadowDom","focusableWithIframes","contentDocument","getFocusablesWithIFrame","filterFocusable","isHTMLButtonElement","notHiddenInput","filterAutoFocusable","getTabbableNodes","topNodes","getFocusableNodes","parentAutofocusables","topNode","parentFocus","getParentAutofocusables","iframeBody","getActiveElement","inDocument","safeProbe","getTopParent","getAllAffectedNodes","currentNode","contained","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_CONTAINS","filterNested","focusInside","focusInFrame","focusInsideIframe","focusOn","correctNode","findSelectedRadio","pickFirstFocus","pickFocusable","NEW_FOCUS","newFocus","innerNodes","innerTabbables","outerNodes","lastNode","cnt","firstFocus","lastFocus","isOnGuard","activeIndex","lastNodeInside","resultSet","firstNodeIndex","lastNodeIndex","correctedNodes","currentFocusableIndex","previousFocusableIndex","tabbableNodes","currentTabbableIndex","previousTabbableIndex","focusIndexDiff","returnFirstNode","returnLastNode","pickAutofocus","nodesIndexes","orderedNodes","autoFocusables","autoFocusable","autofocus","getParents","getCommonParent","nodeA","nodeB","parentsA","parentsB","currentParent","getTopCommonParent","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","subEntry","common","allParentAutofocusables","focusSolver","commonParent","anyFocusable","innerElements","srcNodes","dstNodes","remap","orderedInnerElements","entity","innerFocusables","innerTabbable","guardCount","lockDisabled","moveFocusInside","focusable","weakRef","targetElement","previousElementSibling","nextElementSibling","recordElementLocation","_c","_d","_e","stack_1","parent_1","savedCurrent","focusables","aim","_f","focusables_1","restoreFocusTo","moveFocus","newOptions","onlyTabbable","defaultOptions","solution","useTabbables","shard","getRelativeFocusable","pickBoundary","what","deferAction","extractRef","focusOnBody","isFreeFocus","focusIsHidden","lastActiveTrap","lastActiveFocus","tryRestoreFocus","lastPortaledElement","focusWasOutsideWindow","windowFocused","defaultWhitelist","autoGuard","startIndex","allNodes","lastGuard","guard","focusAutoGuard","lockItem","checkInHost","check","boundary","getNodeFocusables","activateTrap","_lastActiveTrap","workingNode","portaledElement","newTarget","workingArea","focusWhitelisted","shouldForceRestoreFocus","withinHost","blur","newActiveElement","focusedIndex","onTrap","observerNode","onWindowFocus","onWindowBlur","focusLockAPI","focusNextElement","focusPrevElement","focusFirstElement","focusLastElement","propsList","traps","trap","lastTrap","sameTrap","_ref7","FocusLockCombination","_objectWithoutPropertiesLoose","ContextConsumer","ContextProvider","Element","ForwardRef","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","SuspenseList","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isSuspenseList","isValidElementType","getModuleId","typeOf","setState","forceUpdate","__self","__source","Children","only","Component","act","cloneElement","_currentValue2","_threadCount","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","sortIndex","setImmediate","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","listGetNode","isDelete","curr","$o","assert","deletedNode","objects","listDelete","listGet","listHas","listSet","callBound","$Map","$mapGet","$mapSet","$mapHas","$mapDelete","$mapSize","$m","getSideChannelMap","$WeakMap","$weakMapGet","$weakMapSet","$weakMapHas","$weakMapDelete","$wm","getSideChannelList","makeChannel","$channelData","isArrayish","navigate","ARROW_KEY_CODE","mapOfBoundRect","startingPoint","initiateSpatialNavigation","spatialNavigationSearch","focusableAreas","getSpatialNavigationContainer","CSS","registerProperty","syntax","inherits","currentKeyMode","__spatialNavigation__","keyMode","eventTarget","spatialNavigationPrevented","focusNavigableArrowKey","up","down","SPINNABLE_INPUT_TYPES","TEXT_INPUT_TYPES","endPosition","handlingEditableElement","searchOrigin","findSearchOrigin","elementFromPosition","elementFromPoint","isFocusable","isContainer","bestInsideCandidate","getCSSSpatNavAction","scrollingController","candidates","getSpatialNavigationCandidates","inside","focusingController","parentContainer","navigateChain","bestCandidate","elementStyle","isScrollable","rect","containerRect","isEntirelyVisible","scrollIntoView","createSpatNavEvents","isScrollBoundary","moveScroll","isHTMLScrollBoundary","childElementCount","isDelegableContainer","isVisible","getFilteredSpatialNavigationCandidates","filteredCandidates","bestTarget","internalCandidates","externalCandidates","currentElm","getClosestElement","getDistanceFromPoint","getInnerDistance","selectBestCandidateFromEdge","spatialNavigationFunction","currentElmRect","distanceFunction","alignedCandidates","elm","isAligned","getAbsoluteDistance","getEuclideanDistance","getDistance","selectBestCandidate","innerTarget","descendantsBest","originalContainer","eventTargetRect","candidateRect","candidateBody","isOutside","childRect","rightEdgeCheck","leftEdgeCheck","topEdgeCheck","bottomEdgeCheck","isInside","frameElement","minDistance","minDistanceElements","eventType","direction","triggeredEvent","CustomEvent","causedTarget","readCssVar","varName","currentOption","isScrollContainer","overflowX","overflowY","isOverflow","scrollWidth","clientWidth","scrollHeight","clientHeight","scrollX","scrollY","winScrollY","winScrollX","isAtagWithoutHref","isActuallyDisabled","inert","isExpresslyInert","isVisibleStyleProperty","isBeingRendered","elementRect","offsetX","offsetWidth","offsetY","offsetHeight","hitTestPoint","leftTop","rightBottom","point","elemFromPoint","hitTest","thisVisibility","rect1","rect2","isRightSide","isBelow","points","getEntryAndExitPoints","P1","entryPoint","exitPoint","P2","baseEdge","orthogonalBias","alignBias","intersectionRect","intersection_rect","new_location","new_max_point","getIntersectionRect","boundingClientRect","enableExperimentalAPIs","getInitialAPIs","canScroll","findTarget","findCandidate","bestNextTarget","findCandidates","findNextTarget","getDistanceFromTarget","candidateElement","getExperimentalAPI","seal","_keymode","setStartingPoint","byteTable","plain","buff","quintets","shiftIndex","encoded","plainChar","plainDigit","plainPos","encodedByte","require","React","useTranslation","Router","_require3","Core","Shell","Chromecast","DragAndDrop","KeyboardShortcuts","ServicesProvider","NotFound","_require5","FileDropProvider","PlatformProvider","ToastProvider","TooltipProvider","CONSTANTS","withCoreSuspender","useShell","ServicesToaster","DeepLinkHandler","SearchParamsHandler","UpdaterBanner","ErrorDialog","withProtectedRoutes","routerViewsConfig","RouterWithProtectedRoutes","i18n","shell","onPathNotMatch","core","appVersion","shellVersion","chromecast","keyboardShortcuts","dragAndDrop","_React$useState2","_slicedToArray","setInitialized","prevPath","onLocationHashChange","analytics","onCoreStateChanged","onShellStateChanged","onChromecastStateChange","setOptions","receiverApplicationId","CHROMECAST_RECEIVER_APP_ID","autoJoinPolicy","AutoJoinPolicy","PAGE_SCOPED","resumeSavedSession","androidReceiverCompatible","onOpenMedia","_URL","hostname","PROTOCOL","transportUrl","onCoreEvent","_args$settings","interfaceLanguage","quitOnClose","windowClosed","_state$profile","viewsConfig","_require","useStreamingServer","streamingServer","_streamingServer$torr2","deepLinks","metaDetailsVideos","classnames","_require2","Image","Button","dataCleared","setDataCleared","clearData","localStorage","isEqual","useProfile","useToast","useServices","toast","setSearchParams","onLocationChange","_window$location","previousSearchParams","currentSearchParams","fromEntries","streamingServerUrl","_objectSpread","_useServices","transport_url","onDragAndDropError","_error$file","file","App","routesRegexp","board","Board","intro","Intro","discover","Discover","library","Library","calendar","Calendar","continuewatching","Search","metadetails","MetaDetails","addons","Addons","player","previousAuthRef","auth","onRouteChange","routeConfig","TYPE_PRIORITIES","series","music","radio","podcast","game","book","adult","ICON_FOR_TYPE","DEFAULT_STREAMING_SERVER_URL","SUBTITLES_SIZES","SUBTITLES_FONTS","SEEK_TIME_DURATIONS","NEXT_VIDEO_POPUP_DURATIONS","CATALOG_PREVIEW_SIZE","CATALOG_PAGE_SIZE","NONE_EXTRA_VALUE","SKIP_EXTRA_NAME","META_LINK_CATEGORY","IMDB_LINK_CATEGORY","SHARE_LINK_CATEGORY","WRITERS_LINK_CATEGORY","MIME_SIGNATURES","SUPPORTED_LOCAL_SUBTITLES","EXTERNAL_PLAYERS","platforms","WHITELISTED_HOSTS","CoreSuspenderContext","wrapPromise","suspender","useCoreSuspender","Fallback","parentSuspender","setRender","statesRef","streamsRef","decodeStream","ToastContext","Icon","ToastItem","onClose","_objectWithoutProperties","_excluded","toastOnClick","selectToastPrevented","reactEvent","closeToastPrevented","closeButtonOnClick","setContainer","_React$useReducer","items","_React$useReducer2","itemOnClose","filters","addFilter","removeFilter","useTooltip","Tooltip","_ref$margin","margin","tooltip","TooltipContext","classNames","TooltipItem","setStyle","tooltipBounds","parentBounds","tooltips","setTooltips","_toConsumableArray","priorities","localeCompare","elementTop","offsetTop","elementBottom","containerTop","containerBottom","isChildVisible","onFileDrop","usePlatform","_require4","comparatorWithPriorities","getVisibleChildrenRange","interfaceLanguages","languageNames","useAnimationFrame","useBinaryState","useFullscreen","useInterval","useLiveRef","useModelState","useNotifications","useOnScrollToBottom","useSettings","useTimeout","useTorrent","useTranslate","useOrientation","useLanguageSorting","urlParamsNames","animationFrameId","cancelAnimationFrame","requestAnimationFrame","Generator","_regeneratorDefine2","GeneratorFunction","GeneratorFunctionPrototype","_invoke","asyncGeneratorStep","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","throttle","useRouteFocused","routeFocused","mountedRef","_React$useMemo2","prevState","onNewState","_next","_throw","onNewStateThrottled","ctx","notifications","triggeredRef","standalone","streamingServerWarningDismissed","createTorrentTimeout","createTorrentFromMagnet","stringWithPrefix","catalogTitle","addon","withType","partialKey","translatedName","translatedType","AddonDetails","logo","official","renderLogoFallback","renderFallback","ModalDialog","AddonDetailsWithRemoteAndLocalAddon","withRemoteAndLocalAddon","remoteAddon","localAddon","useAddonDetails","AddonDetailsModal","onCloseRequest","addonDetails","modalButtons","cancelButton","configureButton","openExternal","toggleButton","configurationRequired","modalBackground","_addonDetails$remoteA","AddonDetailsModalFallback","AColorPicker","ColorPicker","pickerRef","pickerElementRef","pickerClipboard","picker","nextValue","LibItem","ContinueWatchingItem","_deepLinks$metaDetail","_deepLinks$metaDetail2","metaDetailsStreams","onPlayClick","_deepLinks$player","_deepLinks$player2","onDismissClick","posterChangeCursor","ContineWatchingItem","DelayedRenderer","useEvents","_modal$addon","_modal$addon2","_useEvents","pullEvents","dismissEvent","modal","_events$modal","imageUrl","manifestUrl","EventModal","MetaItem","removable","watched","newVideos","_notifications$items$","_notifications$items","progress","optionOnSelect","optionSelectPrevented","is_watched","filterInvalidDOMProps","Multiselect","posterShape","_useBinaryState2","menuOpen","onMenuOpen","onMenuClose","metaItemOnClick","selectPrevented","menuOnClick","menuOnSelect","renderPosterFallback","renderMenuLabelContent","renderLabelContent","onOpen","ActionButton","MetaLinks","links","UrlUtils","SharePrompt","MetaPreviewPlaceholder","Ratings","ALLOWED_LINK_REDIRECTS","MetaPreview","runtime","releaseInfo","released","trailerStreams","inLibrary","toggleInLibrary","ratingInfo","shareModalOpen","openShareModal","closeShareModal","linksGroups","category","_UrlUtils$parse","showHref","trailerHref","getFullYear","Placeholder","ReactIs","MetaRowPlaceholder","MetaRow","catalog","itemComponent","_catalog$items","_catalog$content","_catalog$deepLinks$di","_catalog$deepLinks","_catalog$deepLinks2","useModalsContainer","Modal","modalsContainer","modalContainerRef","onModalContainerMouseDown","closeModalDialogPrevented","onModalDialogContainerMouseDown","backgroundImage","Popup","renderLabelText","closeMenu","toggleMenu","filteredOptions","labelOnClick","toggleMenuPrevented","menuOnKeyDown","buttonClickPrevented","optionOnClick","closeMenuPrevented","renderLabel","_excluded2","renderMenu","renderPopupLabel","labelProps","usePWA","SearchBar","NavMenu","HorizontalNavBar","backButton","searchBar","fullscreenButton","navMenu","backButtonOnClick","history","back","_useFullscreen2","fullscreen","requestFullscreen","exitFullscreen","isIOSPWA","renderNavMenuLabel","NavMenuContent","popupLabelOnClick","togglePopupPrevented","popupMenuOnClick","_asyncToGenerator","_usePWA2","isAndroidPWA","logoutButtonOnClick","onPlayMagnetLinkClick","clipboardText","_t","clipboard","readText","user","avatar","TextInput","useSearchHistory","useLocalSearch","_searchHistory$items","_localSearch$items","_searchHistory$items2","_localSearch$items2","searchHistory","localSearch","historyOpen","openHistory","closeHistory","currentQuery","setCurrentQuery","searchInputRef","containerRef","searchBarOnClick","searchHistoryOnClose","queryInputOnChange","queryInputOnSubmit","searchValue","queryInputClear","updateLocalSearchDebounced","SearchBarFallback","searchQuery","maxResults","NavTabButton","scrollTo","behavior","VerticalNavBar","tabs","tab","getAnchorElement","labelRef","menuRef","autoDirection","setAutoDirection","menuOnMouseDown","closePopupPrevented","onCloseEvent","closeEvent","anchorRect","labelRect","menuRect","labelPosition","SearchBarPlaceholder","inputRef","selectInputContent","copyToClipboard","Slider","minimumValue","maximumValue","onSlide","audioBoost","minimumValueRef","maximumValueRef","valueRef","bufferedRef","onSlideRef","onCompleteRef","sliderContainerRef","_useAnimationFrame2","requestThumbAnimation","cancelThumbAnimation","calculateValueForMouseX","mouseX","_sliderContainerRef$c","sliderX","sliderWidth","retainThumb","releaseThumb","classIndex","touch","thumbPosition","bufferedPosition","marginLeft","VideoPlaceholder","thumbnail","upcoming","scheduled","seasonWatched","onMarkVideoAsWatched","onMarkSeasonAsWatched","popupLabelOnMouseUp","popupLabelOnContextMenu","popupLabelOnLongPress","popupMenuOnPointerDown","popupMenuOnContextMenu","popupMenuOnKeyDown","toggleWatchedOnClick","toggleWatchedSeasonOnClick","videoButtonOnClick","popupRef","blurThumbnail","hideSpoilers","handleRef","year","day","onPointerDown","onLongPress","ReactDOM","ModalsContainerContext","ModalsContainerProvider","Route","RouteFocusedContext","RouteFocusedProvider","routeConfigForPath","urlParamsForPath","views","setViews","urlParams","routeViewIndex","routeIndex","_createForOfIteratorHelper","_step2","_iterator2","Addon","installed","onInstall","onUninstall","onConfigure","onShare","onInstallClick","onUninstallClick","onOpenClick","configureButtonOnClick","shareButtonOnClick","p2p","onToggle","MainNavBars","MultiselectMenu","useInstalledAddons","useRemoteAddons","useAddonDetailsTransportUrl","useSelectableInputs","AddonPlaceholder","installedAddons","remoteAddons","_useAddonDetailsTrans2","addonDetailsTransportUrl","setAddonDetailsTransportUrl","selectInputs","filtersModalOpen","openFiltersModal","closeFiltersModal","_useBinaryState4","addAddonModalOpen","openAddAddonModal","closeAddAddonModal","addAddonUrlInputRef","addAddonOnSubmit","addAddonModalButtons","setSearch","searchInputOnChange","_React$useState4","sharedAddon","setSharedAddon","clearSharedAddon","onAddonShare","onAddonInstall","onAddonUninstall","onAddonConfigure","onAddonOpen","closeAddonDetails","searchFilterPredicate","selectInput","selectable","catalogId","setTransportUrl","nextQueryParams","resource","selectableInputs","selectedCatalog","catalogs","catalogSelect","selectableCatalog","selectedType","typeSelect","mapSelectableInputs","useBoard","useContinueWatchingPreview","StreamingServerWarning","continueWatchingPreview","_useBoard2","loadBoardRows","boardCatalogsOffset","scrollContainerRef","onVisibleRangeChange","loadRange","useDiscover","_useDiscover2","loadNextPage","_useSelectableInputs2","hasNextPage","inputsModalOpen","openInputsModal","closeInputsModal","addonModalOpen","openAddonModal","closeAddonModal","selectedMetaItemIndex","setSelectedMetaItemIndex","metasContainerRef","metaPreviewRef","_discover$catalog","selectedMetaItem","addToLibrary","removeFromLibrary","metaItemsOnFocusCapture","onScrollToBottom","onFocusCapture","metaItem","playname","metaId","like","extraSelects","selectedExtra","_ref8","_ref9","_ref0","nextPage","CredentialsTextInput","navigationPrevented","_require6","Checkbox","PasswordResetModal","useFacebookLogin","useAppleLogin","SIGNUP_FORM","LOGIN_FORM","_useFacebookLogin2","startFacebookLogin","stopFacebookLogin","_useAppleLogin2","startAppleLogin","stopAppleLogin","emailRef","passwordRef","confirmPasswordRef","termsRef","privacyPolicyRef","marketingRef","errorRef","passwordRestModalOpen","openPasswordRestModal","closePasswordResetModal","loaderModalOpen","openLoaderModal","closeLoaderModal","confirmPassword","termsAccepted","privacyPolicyAccepted","marketingAccepted","loginWithFacebook","facebook","cancelLoginWithFacebook","loginWithApple","cancelLoginWithApple","loginWithEmail","validity","loginAsGuest","signup","gdpr_consent","tos","privacy","marketing","emailOnChange","emailOnSubmit","passwordOnChange","passwordOnSubmit","confirmPasswordOnChange","confirmPasswordOnSubmit","toggleTermsAccepted","togglePrivacyPolicyAccepted","toggleMarketingAccepted","switchFormOnClick","setError","goToPasswordReset","passwordResetModalButtons","Chips","useLibrary","_useLibrary2","sortChips","page","_library$selected","libItem","LibraryFallback","withModel","sorts","StreamsList","VideosList","useMetaDetails","useSeason","useMetaExtensionTabs","metaDetails","_useSeason2","setSeason","_useMetaExtensionTabs2","metaExtensions","metaExtension","clearMetaExtension","metaPath","streamPath","videos","toggleNotifications","libraryItem","noNotif","seasonOnSelect","handleEpisodeSearch","searchVideoHash","searchVideoPath","renderBackgroundImageFallback","renderBackground","_metaDetails$metaItem","overview","onEpisodeSearch","StreamPlaceholder","Stream","videoReleased","addonName","externalPlayer","web","openPlayer","_deepLinks$externalPl","fileName","_deepLinks$externalPl2","streamLink","_deepLinks$externalPl3","markVideoAsWatched","playerType","copyStreamLink","writeText","renderThumbnailFallback","streaming","ios","windows","macos","linux","PlayIconCircleCentered","viewBox","cx","cy","SeasonEpisodePicker","ALL_ADDONS_KEY","streamsContainerRef","selectedAddon","setSelectedAddon","onAddonSelected","showInstallAddonsButton","_profile$auth","isNewUser","countLoadingAddons","streamsByAddon","filteredStreams","flat","selectableOptions","handleEpisodePicker","SeasonsBarPlaceholder","SeasonsBar","seasons","selectedSeason","prevNextButtonOnClick","seasonIndex","valueIndex","prevDisabled","nextDisabled","Toggle","EpisodePicker","showNotificationsToggle","_metaItem$content","_metaItem$content2","video_id","nonSpecialSeasons","videosForSeason","guessStream","extension","setSelected","BufferingLoader","fallbackSrc","SeekBar","VolumeSlider","ControlBar","nextVideo","statistics","onPlayRequested","onPauseRequested","onNextVideoRequested","onMuteRequested","onUnmuteRequested","onVolumeChangeRequested","onSeekRequested","onToggleSubtitlesMenu","onToggleAudioMenu","onToggleSpeedMenu","onToggleSideDrawer","onToggleOptionsMenu","onToggleStatisticsMenu","chromecastServiceActive","setChromecastServiceActive","buttonsMenuOpen","toggleButtonsMenu","onSubtitlesButtonMouseDown","subtitlesMenuClosePrevented","onAudioButtonMouseDown","audioMenuClosePrevented","onSpeedButtonMouseDown","speedMenuClosePrevented","onVideosButtonMouseDown","videosMenuClosePrevented","onOptionsButtonMouseDown","optionsMenuClosePrevented","onStatisticsButtonMouseDown","statisticsMenuClosePrevented","onPlayPauseButtonClick","onNextVideoButtonClick","onMuteButtonClick","onChromecastButtonClick","requestSession","onStateChanged","isMobile","formatTime","seekTime","setSeekTime","remainingTimeMode","toggleRemainingTimeMode","resetTimeDebounced","formatUnit","minutes","slidingVolume","setSlidingVolume","maxVolume","resetVolumeDebounced","_stream$deepLinks","_stream$deepLinks2","NextVideoPopup","onDismiss","blurPosterImage","watchNowButtonRef","animationEnded","setAnimationEnded","videoName","onDismissButtonClick","onWatchNowButtonClick","Option","deviceId","onButtonClick","OptionsMenu","playbackDevices","streamingUrl","downloadUrl","externalDevices","subtitlesTrackUrl","_track$fallbackUrl","onCopyStreamButtonClick","onDownloadVideoButtonClick","onDownloadSubtitlesClick","onExternalDeviceRequested","Transition","ContextMenu","VolumeChangeIndicator","StatisticsMenu","SubtitlesMenu","AudioMenu","SpeedMenu","SideDrawerButton","SideDrawer","usePlayer","useStatistics","useVideo","Indicator","_player$metaItem","_player$metaItem2","_player$selected","_player$metaItem3","_player$metaItem4","_player$selected2","_usePlayer2","videoParamsChanged","timeChanged","seek","pausedChanged","_useSettings2","updateSettings","setSeeking","casting","setCasting","bufferingRef","_React$useState6","immersed","setImmersed","setImmersedDebounced","toggleFullscreen","optionsMenuOpen","closeOptionsMenu","toggleOptionsMenu","subtitlesMenuOpen","closeSubtitlesMenu","toggleSubtitlesMenu","_useBinaryState6","audioMenuOpen","closeAudioMenu","toggleAudioMenu","_useBinaryState8","speedMenuOpen","closeSpeedMenu","toggleSpeedMenu","_useBinaryState0","statisticsMenuOpen","closeStatisticsMenu","toggleStatisticsMenu","_useBinaryState10","nextVideoPopupOpen","openNextVideoPopup","closeNextVideoPopup","_useBinaryState12","sideDrawerOpen","closeSideDrawer","toggleSideDrawer","menusOpen","closeMenus","overlayHidden","nextVideoPopupDismissed","defaultSubtitlesSelected","defaultAudioTrackSelected","_React$useState8","isNavigating","onImplementationChanged","handleNextVideoNavigation","onEnded","playerNextVideo","onSubtitlesTrackLoaded","onExtraSubtitlesTrackLoaded","onExtraSubtitlesTrackAdded","setExtraSubtitlesTrack","onPlayRequestedDebounced","onPauseRequestedDebounced","_video$state$manifest","onPlaybackSpeedChanged","onSubtitlesTrackSelected","setSubtitlesTrack","onExtraSubtitlesTrackSelected","onAudioTrackSelected","onExtraSubtitlesDelayChanged","onIncreaseSubtitlesDelay","onDecreaseSubtitlesDelay","onSubtitlesSizeChanged","onUpdateSubtitlesSize","sizeIndex","onSubtitlesOffsetChanged","onDismissNextVideoPopup","onVideoClick","onVideoDoubleClick","onContainerMouseDown","onContainerMouseMove","immersePrevented","onContainerMouseLeave","onBarMouseMove","addLocalSubtitles","_streamingServer$sett","unload","streamRequest","surroundSound","addExtraSubtitlesTracks","_video$state$manifest2","bingeWatching","nextVideoNotificationDuration","findTrackByLang","_langs$where","subtitlesLanguage","subtitlesTrack","extraSubtitlesTrack","audioLanguage","_langs$where2","toastFilter","_item$dataset","onCastStateChange","onChromecastServiceStateChange","CastContextEventType","CAST_STATE_CHANGED","pauseOnMinimize","windowHidden","mediaSession","playbackState","videoInfo","videoTitle","metaTitle","artist","artwork","MediaMetadata","setActionHandler","nexVideoCallback","seekDuration","seekShortTimeDuration","seekTimeDuration","escExitFullscreen","autoClose","when","onExtraSubtitlesOffsetChanged","onExtraSubtitlesSizeChanged","streamTransportUrl","metaTransportUrl","OptionButton","RATES","onOptionSelect","peers","completed","Stepper","ORIGIN_PRIORITIES","LANGUAGE_PRIORITIES","subtitlesLanguages","selectedSubtitlesLanguage","subtitlesTracksForLanguage","subtitlesLanguageOnClick","subtitlesTrackOnClick","onSubtitlesDelayChanged","volumeIndicatorOpen","openVolumeIndicator","closeVolumeIndicator","volumeChangeTimeout","prevVolume","iconName","metaRequest","subtitlesPath","_streamingServer$stat","downloadSpeed","streamProgress","getStatistics","interval","useSearch","_useSearch2","loadSearchRows","reduceRight","SearchFallback","_queryParams$get","dataExport","exportUrl","loadDataExport","streamingServerUrls","addServerUrl","isValidUrl","deleteServerUrl","selectServerUrl","reloadServer","ChromecastTransport","starting","onTransportInit","onTransportInitError","MESSAGE_NAMESPACE","castAPIAvailable","castAPIEvents","available","messages","_JSON$parse","parsedMessage","onApplicationStatusChanged","CastSession","APPLICATION_STATUS_CHANGED","onApplicationMetadataChanged","APPLICATION_METADATA_CHANGED","onActiveInputStateChanged","ACTIVE_INPUT_STATE_CHANGED","onVolumeChanged","VOLUME_CHANGED","onMediaSessionChanged","MEDIA_SESSION","onCastStateChanged","onSesstionStateChanged","SESSION_STATE_CHANGED","sessionState","SessionState","SESSION_STARTED","session","addMessageListener","SESSION_ENDED","removeMessageListener","onCastAPIAvailabilityChanged","CastContext","getInstance","getSessionState","getCurrentSession","endCurrentSession","stopCasting","castSession","serializedMessage","chunksCount","CoreTransport","onTransportError","Bridge","bridge","getDebugState","_callee3","_context3","_callee4","_context4","_x4","_callee5","_context5","_x5","_onDrop","files","FileList","keyboardShortcutPrevented","ServicesContext","_ref$services","ShellTransport","QtMsgTypes","QtObjId","webChannelTransport","properties","shellVersionArr","signals","sig","onEvent","methods","__createBinding","k2","__setModuleDefault","__importStar","ar","mod","__importDefault","react_1","react_2","react_i18next_1","services_1","common_1","components_1","UpdaterBanner_less_1","UpdaterBanner_1","__spreadArray","useFileDrop","classnames_1","utils_1","FileDropContext","setListeners","setActive","file_1","isFileType","listerner","FileDrop_1","onFileDrop_1","SIGNATURES","signature","signatureBuffer","bufferToCompare","CONSTANTS_1","device_1","PlatformContext","hostname_1","finalUrl","endsWith","bowser_1","maxTouchPoints","isIOS","isVisionOS","Platform_1","alpha2","alpha3","__awaiter","_arguments","generator","fulfilled","rejected","__generator","trys","ops","Iterator","verb","op","useShell_1","useSettings_1","setFullscreen","err_1","fullscreenElement","onWindowVisibilityChanged","isFullscreen","onFullscreenChange","inputFocused","isContentEditable","interfaceLanguages_json_1","userLangCode","isLanguageDropdown","sortedOptions","matchingIndex","matchingOption","otherOptions","windowHeight","setWindowHeight","windowWidth","setWindowWidth","orientation","handleResize","handleClickOutside","useProfile_1","ShellEventType","eventemitter3_1","webview","setWindowClosed","setWindowHidden","onWindowStateChanged","SIGNAL","methodName","methodArg","INVOKE_METHOD","react_dom_1","useBinaryState_1","useOrientation_1","BottomSheet_less_1","setStartOffset","setOffset","opened","containerStyle","containerHeight","BottomSheet_1","__rest","use_long_press_1","Button_less_1","longPress","useLongPress","LongPressEventType","Pointer","click","buttonBlurPrevented","Button_1","Checkbox_less_1","handleSelect","Checkbox_1","Chip_less_1","Chip","onselect","block","inline","Chip_1","Chips_less_1","HorizontalScroll","Chips_1","ModalDialog_1","ColorPicker_1","ColorInput_less_1","modalOpen","openModal","closeModal","tempValue","setTempValue","labelButtonStyle","isTransparent","labelButtonOnClick","openModalPrevented","modalDialogOnClick","colorPickerOnInput","ColorInput_1","ContextMenu_less_1","setPosition","containerSize","setContainerSize","viewportWidth","viewportHeight","containerWidth","handleKeyDown","ContextMenu_1","HorizontalScroll_less_1","scrollPosition","setScrollPosition","HorizontalScroll_1","broken","setBroken","Image_1","NavBar_1","MainNavBars_less_1","TABS","MainNavBars_1","useRating_1","Ratings_less_1","onLiked","onLoved","liked","loved","Ratings_1","setRating","Option_1","Dropdown_less_1","setLevel","optionsRef","selectedOption","handleSetOptionRef","optionValue","handleBackClick","selectedNode","selectedValue","Option_less_1","handleClick","Dropdown_1","MultiselectMenu_less_1","useOutsideClick_1","multiselectMenuRef","MultiselectMenu_1","NumberInput_less_1","NumberInput","showButtons","displayValue","handleValueChange","clampValueToRange","minValue","handleInputChange","valueAsNumber","containerClassName","NumberInput_1","RadioButton_less_1","RadioButton_1","styles_less_1","autoCorrect","autoCapitalize","TextInput_1","Toggle_less_1","Toggle_1","setElement","mounted","setMounted","animationClass","activeClass","Transition_1","RadioButton","ColorInput","BottomSheet","AddonDetailsModal_1","ContinueWatchingItem_1","DelayedRenderer_1","EventModal_1","LibItem_1","MetaItem_1","MetaPreview_1","MetaRow_1","Multiselect_1","Popup_1","SearchBar_1","SharePrompt_1","Slider_1","Video_1","AddonPlaceholder_less_1","AddonPlaceholder_1","CoreSuspender_1","StreamingServerWarning_less_1","createDismissalDate","months","years","dismissalDate","setMonth","getMonth","setFullYear","onLater","StreamingServerWarning_1","Selector_1","Table_1","List_1","Details_1","Placeholder_1","useCalendar_1","useCalendarDate_1","Calendar_less_1","toDayMonth","detailsTitle","monthInfo","Details_less_1","Item_less_1","today","ItemPlaceholder","Item","Item_1","ItemPlaceholder_1","List_less_1","filteredItems","Placeholder_less_1","Selector_less_1","toMonth","onPrev","onNext","Cell_less_1","onPosterClick","Table_less_1","Cell_1","WEEK_DAYS","cellsOffset","firstWeekday","Calendar_1","calendarDate","setDate","toMonthYear","hat_1","STREMIO_URL","tries","waitForCredentials","e_1","getCredentials","fbLoginToken","EpisodePicker_less_1","splitPath","pathSeason","pathEpisode","initialSeason","initialEpisode","setEpisode","handleSeasonChange","handleEpisodeChange","EpisodePicker_1","AudioMenu_less_1","onAudioTrackClick","AudioMenu_1","i18next_1","Indicator_less_1","PROPERTIES","prevVideoState","shown","setCurrent","property","SeasonsBar_1","SideDrawer_less_1","selectedVideoRef","SideDrawer_1","SideDrawerButton_less_1","SideDrawerButton_1","Stepper_less_1","localValue","updateValue","minClamped","onDecrementMouseDown","onDecrementMouseUp","onIncrementMouseDown","onIncrementMouseUp","Stepper_1","components_2","User_1","useDataExport_1","General_less_1","useGeneralOptions_1","General","_g","_h","interfaceLanguageSelect","quitOnCloseToggle","escExitFullscreenToggle","hideSpoilersToggle","_k","traktAuthStarted","setTraktAuthStarted","isTraktAuthenticated","trakt","created_at","expires_in","onExportData","onCalendarSubscribe","onToggleTrakt","Section","Link","User_less_1","onLogout","General_1","interfaceLanguageOptions","Info_less_1","serverVersion","Info_1","constants_1","Menu_less_1","SECTIONS","GENERAL","PLAYER","STREAMING","SHORTCUTS","Menu_1","usePlayerOptions_1","subtitlesLanguageSelect","subtitlesSizeSelect","subtitlesTextColorInput","subtitlesBackgroundColorInput","subtitlesOutlineColorInput","audioLanguageSelect","surroundSoundToggle","seekTimeDurationSelect","seekShortTimeDurationSelect","playInExternalPlayerSelect","nextVideoPopupDurationSelect","bingeWatchingToggle","playInBackgroundToggle","hardwareDecodingToggle","pauseOnMinimizeToggle","Category","Player_1","LANGUAGES_NAMES","languageOptions","sortedLanguageOptions","playInBackground","lodash_throttle_1","stremio_router_1","Streaming_1","Shortcuts_1","Settings_less_1","sectionsContainerRef","generalSectionRef","playerSectionRef","streamingServerSectionRef","shortcutsSectionRef","sections","selectedSectionId","setSelectedSectionId","updateSelectedSectionId","onMenuSelect","section","onContainerScroll","Shortcuts_less_1","Shortcuts","URLsManager_1","useStreamingOptions_1","Streaming_less_1","Streaming","streamingServerRemoteUrlInput","remoteEndpointSelect","cacheSizeSelect","torrentProfileSelect","transcodingProfileSelect","onCopyRemoteUrl","remoteUrl","AddItem_less_1","onCancel","handleAddUrl","inputValue","setInputValue","onSumbit","AddItem_1","useStreamingServer_1","useStreamingServerUrls_1","defaultUrl","handleDelete","URLsManager_less_1","addMode","setAddMode","lodash_isequal_1","CACHE_SIZES","cacheSizeToString","TORRENT_PROFILES","btDownloadSpeedHardLimit","btDownloadSpeedSoftLimit","btHandshakeTimeout","btMaxConnections","btMinPeersForStable","btRequestTimeout","soft","networkInfo","deviceInfo","availableInterfaces","address","remoteHttps","cacheSize","selectedTorrentProfile","isCustomTorrentProfileSelected","torrentProfile","profileName","availableHardwareAccelerations","transcodeProfile","Category_less_1","Category_1","Link_less_1","Link_1","Section_less_1","Section_1","Settings_1","util","Url","slashes","port","urlParse","relative","resolveObject","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","parseQueryString","slashesDenoteHost","queryIndex","splitter","uSplit","simplePath","lowerProto","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","newpart","validParts","notHost","bit","toASCII","esc","qm","tkeys","tkey","rkeys","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","isNullOrUndefined","authInHost","isNull","hasTrailingSlash","isAbsolute","javascript","http","https","ftp","gopher","Mouse","Touch","CancelledByMovement","CancelledByRelease","CancelledOutsideElement","LongPressCallbackReason","captureEvent","cancelOnMovement","cancelOutsideElement","filterEvents","onMove","onFinish","onPointerMove","onPointerUp","onPointerLeave","VTTRegion","makeColorSet","fontScale","observe","subject","topic","fontColor","Services","prefs","getCharPref","fontOpacity","getIntPref","WebVTTSet","fontSet","backgroundOpacity","backgroundSet","edgeType","edgeColor","edgeSet","pref","addObserver","_objCreate","ParsingError","Errors","BadSignature","BadTimeStamp","ESCAPE","TAG_NAME","ruby","TAG_ANNOTATION","NEEDS_PARENT","parseContent","nextToken","unescape1","shouldAdd","localName","annotation","rootDiv","tagStack","createProcessingInstruction","strongRTLRanges","isStrongRTLChar","currentRange","StyleBox","CueStyleBox","styleOptions","isIE8","cueDiv","writingMode","unicodeBidi","applyStyles","div","font","nodeStack","pushNodes","nextTextNode","determineBidi","stylesunicodeBidi","textPos","positionAlign","formatStyle","move","BoxPosition","rects","getClientRects","moveBoxToLinePosition","styleBox","containerBox","boxPositions","boxPosition","linePos","trackList","computeLinePos","axis","maxPosition","initialAxis","calculatedPercentage","bestPosition","specifiedPosition","percentage","overlapsOppositeAxis","within","overlapsAny","intersectPercentage","findBestPosition","toCSSCompatValues","toMove","overlaps","b2","getSimpleBoxPosition","cuetext","processCues","overlay","paddedOverlay","shouldCompute","reportOrThrowError","ontimestampmap","parseTimestampMap","xy","anchor","lines","regionAnchorX","regionAnchorY","viewportAnchorX","viewportAnchorY","scroll","onregion","parseRegion","linebyline","errCb","vals0","fromJSON","directionSetting","alignSetting","scrollSetting","isValidPercentValue","_width","_lines","_regionAnchorX","_regionAnchorY","_viewportAnchorX","_viewportAnchorY","_scroll","findScrollSetting","_regeneratorRuntime","asyncIterator","define","Context","makeInvokeMethod","tryCatch","defineIteratorMethods","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isGeneratorFunction","awrap","rval","delegateYield","regeneratorRuntime","accidentalStrictMode","classes","appendClass","parseValue","newClass","ICONS","paths","fillRule","clipRule","imdb","reddit","youtube","vlc","remote","stroke","strokeLinecap","strokeLinejoin","help","home","memory","megaphone","actors","anime","movies","heart","maximize","minimize","scale","person","glasses","star","checkmark","network","about","grid","share","warning","hourglass","chapters","episodes","eye","bin","src_default","voidElement","comment","alreadyWarned","warnOnce","loadedClb","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","setDefaults","getDefaults","i18nInstance","setI18n","getI18n","hasChildren","checkLength","getChildren","i18nIsDynamicList","getAsArray","nodesToString","i18nOptions","i18nKey","stringNode","childrenArray","keepArray","childIndex","childPropsCount","shouldKeepChild","childChildren","renderNodes","knownComponentsMap","targetString","combinedTOpts","shouldUnescape","emptyChildrenButNeedsHandling","keep","getData","childs","ast","renderInner","rootReactNode","mappedChildren","mapAST","hasValidReactChildren","pushTranslatedJSX","inner","isVoid","dummy","reactNode","astNode","reactNodes","translationContent","mergeProps","isValidTranslationWithChildren","isEmptyTransWithHTML","isKnownComponent","wrapTextNodes","fixComponentProps","translation","componentKey","comp","generateComponents","generateArrayComponents","componentMap","generateObjectComponents","isComponentsMap","Trans","tOptions","i18nFromProps","tFromProps","additionalProps","reactI18nextOptions","react","nodeAsString","hashTransKey","interpolationOverride","generatedComponents","indexedChildren","componentsMap","useAsParent","defaultTransParent","initReactI18next","I18nContext","ReportNamespaces","usedNamespaces","addUsedNamespaces","getUsedNamespaces","composeInitialProps","ForComponent","getInitialProps","reportNamespaces","initialI18nStore","initialLanguage","i18nFromContext","defaultNSFromContext","alwaysNewT","notReadyT","optsOrDefaultValue","retNotReady","memoGetT","useMemoizedT","nsMode","getT","getNewT","setT","joinedNS","previousJoinedNS","ignore","usePrevious","boundReset","withTranslation","I18nextWithTranslation","forwardedRef","passDownProps","tReady","withRef","Translation","I18nextProvider","useSSR","lngResources","initializedLanguageOnce","withSSR","I18nextWithSSR","plural","selectOrdinal","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","nmd","scriptUrl","importScripts","currentScript","scripts","_document$querySelect","_window$navigator","_browser$platform","stremioTranslations","translations","getElementById","serviceWorker","register","registrationError"],"sourceRoot":""} \ No newline at end of file diff --git a/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/worker.js b/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/worker.js new file mode 100644 index 000000000..c701fdfb2 --- /dev/null +++ b/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/worker.js @@ -0,0 +1,2 @@ +(()=>{var e={1211:(e,t,n)=>{"use strict";var r=n(28161),o=r(n(49507)),a=r(n(68048));function i(){return Math.random().toString(32).slice(2)}e.exports=function(e,t){t.addEventListener("message",(function(){var n=(0,a.default)(o.default.mark(function n(r){var a,i,u,c,f,s,_;return o.default.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(a=r.data.request){n.next=3;break}return n.abrupt("return");case 3:if(i=a.id,u=a.path,c=a.args,n.prev=4,"function"!=typeof(f=u.reduce(function(e,t){return e[t]},e))){n.next=13;break}return _=u.slice(0,u.length-1).reduce(function(e,t){return e[t]},e),n.next=10,f.apply(_,c);case 10:s=n.sent,n.next=16;break;case 13:return n.next=15,f;case 15:s=n.sent;case 16:t.postMessage({response:{id:i,result:{data:s}}}),n.next=22;break;case 19:n.prev=19,n.t0=n.catch(4),t.postMessage({response:{id:i,result:{error:n.t0}}});case 22:case"end":return n.stop()}},n,null,[[4,19]])}));return function(e){return n.apply(this,arguments)}})()),this.call=(function(){var e=(0,a.default)(o.default.mark(function e(n,r){var a;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=i(),e.abrupt("return",new Promise(function(e,o){t.addEventListener("message",function n(r){var i=r.data.response;i&&i.id===a&&(t.removeEventListener("message",n),"error"in i.result?o(i.result.error):e(i.result.data))}),t.postMessage({request:{id:a,path:n,args:r}})}));case 2:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}})()}},87678:(e,t,n)=>{"use strict";var r=n(28161);Object.defineProperty(t,"__esModule",{value:!0}),t.analytics=function(e,t){o.analytics(E(e),E(t))},t.decode_stream=function(e){return l(o.decode_stream(E(e)))},t.default=void 0,t.dispatch=function(e,t,n){o.dispatch(E(e),E(t),E(n))},t.get_state=function(e){return l(o.get_state(E(e)))},t.initialize_runtime=function(e){return l(o.initialize_runtime(E(e)))},t.start=function(){o.start()};var o,a=r(n(49507)),i=r(n(68048)),u=r(n(56811)),c={url:new URL("/stremio_core_web.js",document.baseURI).href},f=new Array(32).fill(void 0);function s(e){return f[e]}f.push(void 0,null,!0,!1);var _=f.length;function l(e){var t=s(e);return(function(e){e<36||(f[e]=_,_=e)})(e),t}var b=0,g=null;function d(){return null!==g&&g.buffer===o.memory.buffer||(g=new Uint8Array(o.memory.buffer)),g}var w=new TextEncoder("utf-8"),p="function"==typeof w.encodeInto?function(e,t){return w.encodeInto(e,t)}:function(e,t){var n=w.encode(e);return t.set(n),{read:e.length,written:n.length}};function h(e,t,n){if(void 0===n){var r=w.encode(e),o=t(r.length);return d().subarray(o,o+r.length).set(r),b=r.length,o}for(var a=e.length,i=t(a),u=d(),c=0;c<a;c++){var f=e.charCodeAt(c);if(f>127)break;u[i+c]=f}if(c!==a){0!==c&&(e=e.slice(c)),i=n(i,a,a=c+3*e.length);var s=d().subarray(i+c,i+a);c+=p(e,s).written}return b=c,i}function y(e){return null==e}var v=null;function m(){return null!==v&&v.buffer===o.memory.buffer||(v=new Int32Array(o.memory.buffer)),v}var x=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});function S(e,t){return x.decode(d().subarray(e,e+t))}function E(e){_===f.length&&f.push(f.length+1);var t=_;return _=f[t],f[t]=e,t}function k(e){var t=(0,u.default)(e);if("number"==t||"boolean"==t||null==e)return"".concat(e);if("string"==t)return'"'.concat(e,'"');if("symbol"==t){var n=e.description;return null==n?"Symbol":"Symbol(".concat(n,")")}if("function"==t){var r=e.name;return"string"==typeof r&&r.length>0?"Function(".concat(r,")"):"Function"}if(Array.isArray(e)){var o=e.length,a="[";o>0&&(a+=k(e[0]));for(var i=1;i<o;i++)a+=", "+k(e[i]);return a+="]"}var c,f=/\[object ([^\]]+)\]/.exec(toString.call(e));if(!(f.length>1))return toString.call(e);if("Object"==(c=f[1]))try{return"Object("+JSON.stringify(e)+")"}catch(e){return"Object"}return e instanceof Error?"".concat(e.name,": ").concat(e.message,"\n").concat(e.stack):c}function L(e,t,n,r){var a={a:e,b:t,cnt:1,dtor:n},i=function(){a.cnt++;var e=a.a;a.a=0;try{for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return r.apply(void 0,[e,a.b].concat(n))}finally{0===--a.cnt?o.__wbindgen_export_2.get(a.dtor)(e,a.b):a.a=e}};return i.original=a,i}function O(e,t){o.wasm_bindgen__convert__closures__invoke0_mut__hef64c6d403f4d44b(e,t)}function j(e,t,n){o.wasm_bindgen__convert__closures__invoke1_mut__h287d35c01be7cb49(e,t,E(n))}function R(e,t){try{return e.apply(this,t)}catch(e){o.__wbindgen_exn_store(E(e))}}function A(e,t,n,r){o.wasm_bindgen__convert__closures__invoke2_mut__hae5b9d44fd620b1a(e,t,E(n),E(r))}function T(e,t){return I.apply(this,arguments)}function I(){return(I=(0,i.default)(a.default.mark(function e(t,n){var r,o;return a.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!("function"==typeof Response&&t instanceof Response)){e.next=23;break}if("function"!=typeof WebAssembly.instantiateStreaming){e.next=15;break}return e.prev=2,e.next=5,WebAssembly.instantiateStreaming(t,n);case 5:case 20:return e.abrupt("return",e.sent);case 8:if(e.prev=8,e.t0=e.catch(2),"application/wasm"==t.headers.get("Content-Type")){e.next=14;break}console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e.t0),e.next=15;break;case 14:throw e.t0;case 15:return e.next=17,t.arrayBuffer();case 17:return r=e.sent,e.next=20,WebAssembly.instantiate(r,n);case 23:return e.next=25,WebAssembly.instantiate(t,n);case 25:if(!((o=e.sent)instanceof WebAssembly.Instance)){e.next=30;break}return e.abrupt("return",{instance:o,module:t});case 30:return e.abrupt("return",o);case 31:case"end":return e.stop()}},e,null,[[2,8]])}))).apply(this,arguments)}function P(e){return M.apply(this,arguments)}function M(){return M=(0,i.default)(a.default.mark(function e(t){var r,i,f,_;return a.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===t&&(t=new URL("stremio_core_web_bg.wasm",c.url)),(r={}).wbg={},r.wbg.__wbindgen_object_drop_ref=function(e){l(e)},r.wbg.__wbindgen_string_get=function(e,t){var n=s(t),r="string"==typeof n?n:void 0,a=y(r)?0:h(r,o.__wbindgen_malloc,o.__wbindgen_realloc),i=b;m()[e/4+1]=i,m()[e/4+0]=a},r.wbg.__wbg_localstoragegetitem_67e1be0db7acf43b=function(){return R(function(e,t){try{return E(self.local_storage_get_item(S(e,t)))}finally{o.__wbindgen_free(e,t)}},arguments)},r.wbg.__wbg_getlocationhash_891da82c30d22ae0=function(){return R(function(){return E(self.get_location_hash())},arguments)},r.wbg.__wbg_localstorageremoveitem_6ce24c9c4caf3ef4=function(){return R(function(e,t){try{return E(self.local_storage_remove_item(S(e,t)))}finally{o.__wbindgen_free(e,t)}},arguments)},r.wbg.__wbg_localstoragesetitem_2a34d1f953a38a29=function(){return R(function(e,t,n,r){try{return E(self.local_storage_set_item(S(e,t),S(n,r)))}finally{o.__wbindgen_free(e,t),o.__wbindgen_free(n,r)}},arguments)},r.wbg.__wbindgen_string_new=function(e,t){return E(S(e,t))},r.wbg.__wbg_static_accessor_APP_VERSION_8def2febd0606e11=function(e){var t=h(self.app_version,o.__wbindgen_malloc,o.__wbindgen_realloc),n=b;m()[e/4+1]=n,m()[e/4+0]=t},r.wbg.__wbg_static_accessor_SHELL_VERSION_4d95887f6d5f1893=function(e){var t=self.shell_version,n=y(t)?0:h(t,o.__wbindgen_malloc,o.__wbindgen_realloc),r=b;m()[e/4+1]=r,m()[e/4+0]=n},r.wbg.__wbindgen_is_undefined=function(e){return void 0===s(e)},r.wbg.__wbg_new_693216e109162396=function(){return E(new Error)},r.wbg.__wbg_stack_0ddaca5d1abfb52f=function(e,t){var n=h(s(t).stack,o.__wbindgen_malloc,o.__wbindgen_realloc),r=b;m()[e/4+1]=r,m()[e/4+0]=n},r.wbg.__wbg_error_09919627ac0992f5=function(e,t){try{console.error(S(e,t))}finally{o.__wbindgen_free(e,t)}},r.wbg.__wbg_crypto_1dc1c51d9d27e0dd=function(e){return E(s(e).crypto)},r.wbg.__wbindgen_is_object=function(e){var t=s(e);return"object"===(0,u.default)(t)&&null!==t},r.wbg.__wbg_process_65edac0b2f0a8427=function(e){return E(s(e).process)},r.wbg.__wbg_versions_0d0eed1c1b42b216=function(e){return E(s(e).versions)},r.wbg.__wbg_node_82761bdd6eaac7e7=function(e){return E(s(e).node)},r.wbg.__wbindgen_is_string=function(e){return"string"==typeof s(e)},r.wbg.__wbg_require_3f60396135018b0f=function(){return R(function(){return E(_.require)},arguments)},r.wbg.__wbg_msCrypto_4ef1b0e1cd4cedbb=function(e){return E(s(e).msCrypto)},r.wbg.__wbg_randomFillSync_d84d19ffc1d700ed=function(){return R(function(e,t){s(e).randomFillSync(l(t))},arguments)},r.wbg.__wbg_getRandomValues_3293819ebec805bc=function(){return R(function(e,t){s(e).getRandomValues(s(t))},arguments)},r.wbg.__wbg_log_02e20a3c32305fb7=function(e,t){try{console.log(S(e,t))}finally{o.__wbindgen_free(e,t)}},r.wbg.__wbg_log_5c7513aa8c164502=function(e,t,n,r,a,i,u,c){try{console.log(S(e,t),S(n,r),S(a,i),S(u,c))}finally{o.__wbindgen_free(e,t)}},r.wbg.__wbg_mark_abc7631bdced64f0=function(e,t){performance.mark(S(e,t))},r.wbg.__wbg_measure_c528ff64085b7146=function(){return R(function(e,t,n,r){try{performance.measure(S(e,t),S(n,r))}finally{o.__wbindgen_free(e,t),o.__wbindgen_free(n,r)}},arguments)},r.wbg.__wbindgen_cb_drop=function(e){var t=l(e).original;if(1==t.cnt--)return t.a=0,!0;return!1},r.wbg.__wbindgen_object_clone_ref=function(e){return E(s(e))},r.wbg.__wbg_newwithstrandinit_9b0fa00478c37287=function(){return R(function(e,t,n){return E(new Request(S(e,t),s(n)))},arguments)},r.wbg.__wbg_instanceof_Response_e1b11afbefa5b563=function(e){return s(e)instanceof Response},r.wbg.__wbg_status_6d8bb444ddc5a7b2=function(e){return s(e).status},r.wbg.__wbg_text_8279d34d73e43c68=function(){return R(function(e){return E(s(e).text())},arguments)},r.wbg.__wbg_language_cd6e22892ba36a1f=function(e,t){var n=s(t).language,r=y(n)?0:h(n,o.__wbindgen_malloc,o.__wbindgen_realloc),a=b;m()[e/4+1]=a,m()[e/4+0]=r},r.wbg.__wbg_instanceof_WorkerGlobalScope_f191ca0158f5637b=function(e){return s(e)instanceof WorkerGlobalScope},r.wbg.__wbg_navigator_8bc0889cda8f8500=function(e){return E(s(e).navigator)},r.wbg.__wbg_fetch_b4e81012e07ff95a=function(e,t){return E(s(e).fetch(s(t)))},r.wbg.__wbg_setInterval_a02797f5ab1c7eb1=function(){return R(function(e,t,n){return s(e).setInterval(s(t),n)},arguments)},r.wbg.__wbindgen_number_new=function(e){return E(e)},r.wbg.__wbindgen_is_function=function(e){return"function"==typeof s(e)},r.wbg.__wbg_newnoargs_be86524d73f67598=function(e,t){return E(new Function(S(e,t)))},r.wbg.__wbg_call_888d259a5fefc347=function(){return R(function(e,t){return E(s(e).call(s(t)))},arguments)},r.wbg.__wbg_new_0b83d3df67ecb33e=function(){return E(new Object)},r.wbg.__wbg_self_c6fbdfc2918d5e58=function(){return R(function(){return E(self.self)},arguments)},r.wbg.__wbg_window_baec038b5ab35c54=function(){return R(function(){return E(window.window)},arguments)},r.wbg.__wbg_globalThis_3f735a5746d41fbd=function(){return R(function(){return E(globalThis.globalThis)},arguments)},r.wbg.__wbg_global_1bc0b39582740e95=function(){return R(function(){return E(n.g.global)},arguments)},r.wbg.__wbg_instanceof_Error_561efcb1265706d8=function(e){return s(e)instanceof Error},r.wbg.__wbg_message_9f7d15ff97fc4102=function(e){return E(s(e).message)},r.wbg.__wbg_call_346669c262382ad7=function(){return R(function(e,t,n){return E(s(e).call(s(t),s(n)))},arguments)},r.wbg.__wbg_getTimezoneOffset_d3e5a22a1b7fb1d8=function(e){return s(e).getTimezoneOffset()},r.wbg.__wbg_new_f11872bb9bb9d781=function(e){return E(new Date(s(e)))},r.wbg.__wbg_now_af172eabe2e041ad=function(){return Date.now()},r.wbg.__wbg_new_b1d61b5687f5e73a=function(e,t){try{var n={a:e,b:t},r=new Promise(function(e,t){var r=n.a;n.a=0;try{return A(r,n.b,e,t)}finally{n.a=r}});return E(r)}finally{n.a=n.b=0}},r.wbg.__wbg_resolve_d23068002f584f22=function(e){return E(Promise.resolve(s(e)))},r.wbg.__wbg_then_2fcac196782070cc=function(e,t){return E(s(e).then(s(t)))},r.wbg.__wbg_then_8c2d62e8ae5978f7=function(e,t,n){return E(s(e).then(s(t),s(n)))},r.wbg.__wbg_buffer_397eaa4d72ee94dd=function(e){return E(s(e).buffer)},r.wbg.__wbg_newwithbyteoffsetandlength_4b9b8c4e3f5adbff=function(e,t,n){return E(new Uint8Array(s(e),t>>>0,n>>>0))},r.wbg.__wbg_new_a7ce447f15ff496f=function(e){return E(new Uint8Array(s(e)))},r.wbg.__wbg_set_969ad0a60e51d320=function(e,t,n){s(e).set(s(t),n>>>0)},r.wbg.__wbg_newwithlength_929232475839a482=function(e){return E(new Uint8Array(e>>>0))},r.wbg.__wbg_subarray_8b658422a224f479=function(e,t,n){return E(s(e).subarray(t>>>0,n>>>0))},r.wbg.__wbg_set_82a4e8a85e31ac42=function(){return R(function(e,t,n){return Reflect.set(s(e),s(t),s(n))},arguments)},r.wbg.__wbg_parse_ccb2cd4fe8ead0cb=function(){return R(function(e,t){return E(JSON.parse(S(e,t)))},arguments)},r.wbg.__wbg_stringify_d4507a59932eed0c=function(){return R(function(e){return E(JSON.stringify(s(e)))},arguments)},r.wbg.__wbindgen_debug_string=function(e,t){var n=h(k(s(t)),o.__wbindgen_malloc,o.__wbindgen_realloc),r=b;m()[e/4+1]=r,m()[e/4+0]=n},r.wbg.__wbindgen_throw=function(e,t){throw new Error(S(e,t))},r.wbg.__wbindgen_memory=function(){return E(o.memory)},r.wbg.__wbindgen_closure_wrapper2610=function(e,t,n){return E(L(e,t,712,O))},r.wbg.__wbindgen_closure_wrapper7770=function(e,t,n){return E(L(e,t,951,j))},("string"==typeof t||"function"==typeof Request&&t instanceof Request||"function"==typeof URL&&t instanceof URL)&&(t=fetch(t)),e.t0=T,e.next=78,t;case 78:return e.t1=e.sent,e.t2=r,e.next=82,(0,e.t0)(e.t1,e.t2);case 82:return i=e.sent,f=i.instance,_=i.module,o=f.exports,P.__wbindgen_wasm_module=_,o.__wbindgen_start(),e.abrupt("return",o);case 89:case"end":return e.stop()}},e)})),M.apply(this,arguments)}x.decode();t.default=P},62038:(e,t,n)=>{"use strict";e.exports=n.p+"4a0ac61763256a759055a68cca63c8afc0e0da51/binaries/stremio_core_web_bg.wasm"},68048:e=>{function t(e,t,n,r,o,a,i){try{var u=e[a](i),c=u.value}catch(e){return void n(e)}u.done?t(c):Promise.resolve(c).then(r,o)}e.exports=function(e){return function(){var n=this,r=arguments;return new Promise(function(o,a){var i=e.apply(n,r);function u(e){t(i,o,a,u,c,"next",e)}function c(e){t(i,o,a,u,c,"throw",e)}u(void 0)})}},e.exports.__esModule=!0,e.exports.default=e.exports},28161:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},79556:(e,t,n)=>{var r=n(56811).default;function o(){"use strict";e.exports=o=function(){return n},e.exports.__esModule=!0,e.exports.default=e.exports;var t,n={},a=Object.prototype,i=a.hasOwnProperty,u=Object.defineProperty||function(e,t,n){e[t]=n.value},c="function"==typeof Symbol?Symbol:{},f=c.iterator||"@@iterator",s=c.asyncIterator||"@@asyncIterator",_=c.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(t){l=function(e,t,n){return e[t]=n}}function b(e,t,n,r){var o=t&&t.prototype instanceof v?t:v,a=Object.create(o.prototype),i=new P(r||[]);return u(a,"_invoke",{value:R(e,n,i)}),a}function g(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}n.wrap=b;var d="suspendedStart",w="suspendedYield",p="executing",h="completed",y={};function v(){}function m(){}function x(){}var S={};l(S,f,function(){return this});var E=Object.getPrototypeOf,k=E&&E(E(M([])));k&&k!==a&&i.call(k,f)&&(S=k);var L=x.prototype=v.prototype=Object.create(S);function O(e){["next","throw","return"].forEach(function(t){l(e,t,function(e){return this._invoke(t,e)})})}function j(e,t){function n(o,a,u,c){var f=g(e[o],e,a);if("throw"!==f.type){var s=f.arg,_=s.value;return _&&"object"==r(_)&&i.call(_,"__await")?t.resolve(_.__await).then(function(e){n("next",e,u,c)},function(e){n("throw",e,u,c)}):t.resolve(_).then(function(e){s.value=e,u(s)},function(e){return n("throw",e,u,c)})}c(f.arg)}var o;u(this,"_invoke",{value:function(e,r){function a(){return new t(function(t,o){n(e,r,t,o)})}return o=o?o.then(a,a):a()}})}function R(e,n,r){var o=d;return function(a,i){if(o===p)throw Error("Generator is already running");if(o===h){if("throw"===a)throw i;return{value:t,done:!0}}for(r.method=a,r.arg=i;;){var u=r.delegate;if(u){var c=A(u,r);if(c){if(c===y)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===d)throw o=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=p;var f=g(e,n,r);if("normal"===f.type){if(o=r.done?h:w,f.arg===y)continue;return{value:f.arg,done:r.done}}"throw"===f.type&&(o=h,r.method="throw",r.arg=f.arg)}}}function A(e,n){var r=n.method,o=e.iterator[r];if(o===t)return n.delegate=null,"throw"===r&&e.iterator.return&&(n.method="return",n.arg=t,A(e,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),y;var a=g(o,e.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,y;var i=a.arg;return i?i.done?(n[e.resultName]=i.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,y):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function I(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function M(e){if(e||""===e){var n=e[f];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function n(){for(;++o<e.length;)if(i.call(e,o))return n.value=e[o],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}throw new TypeError(r(e)+" is not iterable")}return m.prototype=x,u(L,"constructor",{value:x,configurable:!0}),u(x,"constructor",{value:m,configurable:!0}),m.displayName=l(x,_,"GeneratorFunction"),n.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},n.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,x):(e.__proto__=x,l(e,_,"GeneratorFunction")),e.prototype=Object.create(L),e},n.awrap=function(e){return{__await:e}},O(j.prototype),l(j.prototype,s,function(){return this}),n.AsyncIterator=j,n.async=function(e,t,r,o,a){void 0===a&&(a=Promise);var i=new j(b(e,t,r,o),a);return n.isGeneratorFunction(t)?i:i.next().then(function(e){return e.done?e.value:i.next()})},O(L),l(L,_,"Generator"),l(L,f,function(){return this}),l(L,"toString",function(){return"[object Generator]"}),n.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},n.values=M,P.prototype={constructor:P,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(I),!e)for(var n in this)"t"===n.charAt(0)&&i.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function r(r,o){return u.type="throw",u.arg=e,n.next=r,o&&(n.method="next",n.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],u=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var c=i.call(a,"catchLoc"),f=i.call(a,"finallyLoc");if(c&&f){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!f)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,y):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),I(n),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;I(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:M(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),y}},n}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},56811:e=>{function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},49507:(e,t,n)=>{var r=n(79556)();e.exports=r;try{regeneratorRuntime=r}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}n.g=(function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}})(),(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var t=n.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var o=r.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=r[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e+"../../"})(),(()=>{"use strict";var e=n(28161),t=e(n(49507)),r=e(n(68048)),o=new(n(1211))(self,self);self.init=(function(){var e=(0,r.default)(t.default.mark(function e(a){var i,u,c,f,s,_,l,b,g,d;return t.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i=a.appVersion,u=a.shellVersion,self.document={baseURI:self.location.href},self.app_version=i,self.shell_version=u,self.get_location_hash=(0,r.default)(t.default.mark(function e(){return t.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["location","hash"],[]));case 1:case"end":return e.stop()}},e)})),self.local_storage_get_item=(function(){var e=(0,r.default)(t.default.mark(function e(n){return t.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["localStorage","getItem"],[n]));case 1:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}})(),self.local_storage_set_item=(function(){var e=(0,r.default)(t.default.mark(function e(n,r){return t.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["localStorage","setItem"],[n,r]));case 1:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}})(),self.local_storage_remove_item=(function(){var e=(0,r.default)(t.default.mark(function e(n){return t.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.call(["localStorage","removeItem"],[n]));case 1:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}})(),c=n(87678),f=c.default,s=c.initialize_runtime,_=c.get_state,l=c.get_debug_state,b=c.dispatch,g=c.analytics,d=c.decode_stream,self.getState=_,self.getDebugState=l,self.dispatch=b,self.analytics=g,self.decodeStream=d,e.next=16,f(n(62038));case 16:return e.next=18,s(function(e){return o.call(["onCoreEvent"],[e])});case 18:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}})()})()})(); +//# sourceMappingURL=worker.js.map \ No newline at end of file diff --git a/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/worker.js.map b/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/worker.js.map new file mode 100644 index 000000000..3670dfeb5 --- /dev/null +++ b/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/worker.js.map @@ -0,0 +1 @@ +{"version":3,"file":"4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/worker.js","mappings":"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","sources":["webpack://stremio/./node_modules/.pnpm/@stremio+stremio-core-web@0.50.0/node_modules/@stremio/stremio-core-web/bridge.js","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-core-web@0.50.0/node_modules/@stremio/stremio-core-web/stremio_core_web.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.24.1/node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.24.1/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.24.1/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.24.1/node_modules/@babel/runtime/helpers/typeof.js","webpack://stremio/./node_modules/.pnpm/@babel+runtime@7.24.1/node_modules/@babel/runtime/regenerator/index.js","webpack://stremio/webpack/bootstrap","webpack://stremio/webpack/runtime/global","webpack://stremio/webpack/runtime/publicPath","webpack://stremio/./node_modules/.pnpm/@stremio+stremio-core-web@0.50.0/node_modules/@stremio/stremio-core-web/worker.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\nfunction getId() {\n return Math.random().toString(32).slice(2);\n}\nfunction Bridge(scope, handler) {\n handler.addEventListener('message', /*#__PURE__*/function () {\n var _ref2 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref) {\n var request, id, path, args, value, data, thisArg;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n request = _ref.data.request;\n if (request) {\n _context.next = 3;\n break;\n }\n return _context.abrupt(\"return\");\n case 3:\n id = request.id, path = request.path, args = request.args;\n _context.prev = 4;\n value = path.reduce(function (value, prop) {\n return value[prop];\n }, scope);\n if (!(typeof value === 'function')) {\n _context.next = 13;\n break;\n }\n thisArg = path.slice(0, path.length - 1).reduce(function (value, prop) {\n return value[prop];\n }, scope);\n _context.next = 10;\n return value.apply(thisArg, args);\n case 10:\n data = _context.sent;\n _context.next = 16;\n break;\n case 13:\n _context.next = 15;\n return value;\n case 15:\n data = _context.sent;\n case 16:\n handler.postMessage({\n response: {\n id: id,\n result: {\n data: data\n }\n }\n });\n _context.next = 22;\n break;\n case 19:\n _context.prev = 19;\n _context.t0 = _context[\"catch\"](4);\n handler.postMessage({\n response: {\n id: id,\n result: {\n error: _context.t0\n }\n }\n });\n case 22:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[4, 19]]);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n this.call = /*#__PURE__*/function () {\n var _ref3 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(path, args) {\n var id;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n id = getId();\n return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n var onMessage = function onMessage(_ref4) {\n var response = _ref4.data.response;\n if (!response || response.id !== id) return;\n handler.removeEventListener('message', onMessage);\n if ('error' in response.result) {\n reject(response.result.error);\n } else {\n resolve(response.result.data);\n }\n };\n handler.addEventListener('message', onMessage);\n handler.postMessage({\n request: {\n id: id,\n path: path,\n args: args\n }\n });\n }));\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x2, _x3) {\n return _ref3.apply(this, arguments);\n };\n }();\n}\nmodule.exports = Bridge;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.analytics = analytics;\nexports.decode_stream = decode_stream;\nexports[\"default\"] = void 0;\nexports.dispatch = dispatch;\nexports.get_state = get_state;\nexports.initialize_runtime = initialize_runtime;\nexports.start = start;\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\nvar importMeta = {\n url: new URL('/stremio_core_web.js', document.baseURI).href\n};\nvar wasm;\nvar heap = new Array(32).fill(undefined);\nheap.push(undefined, null, true, false);\nfunction getObject(idx) {\n return heap[idx];\n}\nvar heap_next = heap.length;\nfunction dropObject(idx) {\n if (idx < 36) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\nfunction takeObject(idx) {\n var ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\nvar WASM_VECTOR_LEN = 0;\nvar cachegetUint8Memory0 = null;\nfunction getUint8Memory0() {\n if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {\n cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachegetUint8Memory0;\n}\nvar cachedTextEncoder = new TextEncoder('utf-8');\nvar encodeString = typeof cachedTextEncoder.encodeInto === 'function' ? function (arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n} : function (arg, view) {\n var buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n};\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (realloc === undefined) {\n var buf = cachedTextEncoder.encode(arg);\n var _ptr = malloc(buf.length);\n getUint8Memory0().subarray(_ptr, _ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return _ptr;\n }\n var len = arg.length;\n var ptr = malloc(len);\n var mem = getUint8Memory0();\n var offset = 0;\n for (; offset < len; offset++) {\n var code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3);\n var view = getUint8Memory0().subarray(ptr + offset, ptr + len);\n var ret = encodeString(arg, view);\n offset += ret.written;\n }\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\nvar cachegetInt32Memory0 = null;\nfunction getInt32Memory0() {\n if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) {\n cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachegetInt32Memory0;\n}\nvar cachedTextDecoder = new TextDecoder('utf-8', {\n ignoreBOM: true,\n fatal: true\n});\ncachedTextDecoder.decode();\nfunction getStringFromWasm0(ptr, len) {\n return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));\n}\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n var idx = heap_next;\n heap_next = heap[idx];\n heap[idx] = obj;\n return idx;\n}\nfunction debugString(val) {\n // primitive types\n var type = (0, _typeof2[\"default\"])(val);\n if (type == 'number' || type == 'boolean' || val == null) {\n return \"\".concat(val);\n }\n if (type == 'string') {\n return \"\\\"\".concat(val, \"\\\"\");\n }\n if (type == 'symbol') {\n var description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return \"Symbol(\".concat(description, \")\");\n }\n }\n if (type == 'function') {\n var name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return \"Function(\".concat(name, \")\");\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n var length = val.length;\n var debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for (var i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n var builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n var className;\n if (builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return \"\".concat(val.name, \": \").concat(val.message, \"\\n\").concat(val.stack);\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\nfunction makeMutClosure(arg0, arg1, dtor, f) {\n var state = {\n a: arg0,\n b: arg1,\n cnt: 1,\n dtor: dtor\n };\n var real = function real() {\n // First up with a closure we increment the internal reference\n // count. This ensures that the Rust closure environment won't\n // be deallocated while we're invoking it.\n state.cnt++;\n var a = state.a;\n state.a = 0;\n try {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return f.apply(void 0, [a, state.b].concat(args));\n } finally {\n if (--state.cnt === 0) {\n wasm.__wbindgen_export_2.get(state.dtor)(a, state.b);\n } else {\n state.a = a;\n }\n }\n };\n real.original = state;\n return real;\n}\nfunction __wbg_adapter_28(arg0, arg1) {\n wasm.wasm_bindgen__convert__closures__invoke0_mut__hef64c6d403f4d44b(arg0, arg1);\n}\nfunction __wbg_adapter_31(arg0, arg1, arg2) {\n wasm.wasm_bindgen__convert__closures__invoke1_mut__h287d35c01be7cb49(arg0, arg1, addHeapObject(arg2));\n}\n\n/**\n*/\nfunction start() {\n wasm.start();\n}\n\n/**\n* @param {Function} emit_to_ui\n* @returns {Promise<void>}\n*/\nfunction initialize_runtime(emit_to_ui) {\n var ret = wasm.initialize_runtime(addHeapObject(emit_to_ui));\n return takeObject(ret);\n}\n\n/**\n* @param {any} field\n* @returns {any}\n*/\nfunction get_state(field) {\n var ret = wasm.get_state(addHeapObject(field));\n return takeObject(ret);\n}\n\n/**\n* @param {any} action\n* @param {any} field\n* @param {any} location_hash\n*/\nfunction dispatch(action, field, location_hash) {\n wasm.dispatch(addHeapObject(action), addHeapObject(field), addHeapObject(location_hash));\n}\n\n/**\n* @param {any} event\n* @param {any} location_hash\n*/\nfunction analytics(event, location_hash) {\n wasm.analytics(addHeapObject(event), addHeapObject(location_hash));\n}\n\n/**\n* @param {any} stream\n* @returns {any}\n*/\nfunction decode_stream(stream) {\n var ret = wasm.decode_stream(addHeapObject(stream));\n return takeObject(ret);\n}\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n wasm.__wbindgen_exn_store(addHeapObject(e));\n }\n}\nfunction __wbg_adapter_116(arg0, arg1, arg2, arg3) {\n wasm.wasm_bindgen__convert__closures__invoke2_mut__hae5b9d44fd620b1a(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));\n}\nfunction load(_x, _x2) {\n return _load.apply(this, arguments);\n}\nfunction _load() {\n _load = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(module, imports) {\n var bytes, instance;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (!(typeof Response === 'function' && module instanceof Response)) {\n _context.next = 23;\n break;\n }\n if (!(typeof WebAssembly.instantiateStreaming === 'function')) {\n _context.next = 15;\n break;\n }\n _context.prev = 2;\n _context.next = 5;\n return WebAssembly.instantiateStreaming(module, imports);\n case 5:\n return _context.abrupt(\"return\", _context.sent);\n case 8:\n _context.prev = 8;\n _context.t0 = _context[\"catch\"](2);\n if (!(module.headers.get('Content-Type') != 'application/wasm')) {\n _context.next = 14;\n break;\n }\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", _context.t0);\n _context.next = 15;\n break;\n case 14:\n throw _context.t0;\n case 15:\n _context.next = 17;\n return module.arrayBuffer();\n case 17:\n bytes = _context.sent;\n _context.next = 20;\n return WebAssembly.instantiate(bytes, imports);\n case 20:\n return _context.abrupt(\"return\", _context.sent);\n case 23:\n _context.next = 25;\n return WebAssembly.instantiate(module, imports);\n case 25:\n instance = _context.sent;\n if (!(instance instanceof WebAssembly.Instance)) {\n _context.next = 30;\n break;\n }\n return _context.abrupt(\"return\", {\n instance: instance,\n module: module\n });\n case 30:\n return _context.abrupt(\"return\", instance);\n case 31:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[2, 8]]);\n }));\n return _load.apply(this, arguments);\n}\nfunction init(_x3) {\n return _init.apply(this, arguments);\n}\nfunction _init() {\n _init = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(input) {\n var imports, _yield$load, instance, module;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (typeof input === 'undefined') {\n input = new URL('stremio_core_web_bg.wasm', importMeta.url);\n }\n imports = {};\n imports.wbg = {};\n imports.wbg.__wbindgen_object_drop_ref = function (arg0) {\n takeObject(arg0);\n };\n imports.wbg.__wbindgen_string_get = function (arg0, arg1) {\n var obj = getObject(arg1);\n var ret = typeof obj === 'string' ? obj : undefined;\n var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbg_localstoragegetitem_67e1be0db7acf43b = function () {\n return handleError(function (arg0, arg1) {\n try {\n var ret = self.local_storage_get_item(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n }, arguments);\n };\n imports.wbg.__wbg_getlocationhash_891da82c30d22ae0 = function () {\n return handleError(function () {\n var ret = self.get_location_hash();\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_localstorageremoveitem_6ce24c9c4caf3ef4 = function () {\n return handleError(function (arg0, arg1) {\n try {\n var ret = self.local_storage_remove_item(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n }, arguments);\n };\n imports.wbg.__wbg_localstoragesetitem_2a34d1f953a38a29 = function () {\n return handleError(function (arg0, arg1, arg2, arg3) {\n try {\n var ret = self.local_storage_set_item(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n return addHeapObject(ret);\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n wasm.__wbindgen_free(arg2, arg3);\n }\n }, arguments);\n };\n imports.wbg.__wbindgen_string_new = function (arg0, arg1) {\n var ret = getStringFromWasm0(arg0, arg1);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_static_accessor_APP_VERSION_8def2febd0606e11 = function (arg0) {\n var ret = self.app_version;\n var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbg_static_accessor_SHELL_VERSION_4d95887f6d5f1893 = function (arg0) {\n var ret = self.shell_version;\n var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbindgen_is_undefined = function (arg0) {\n var ret = getObject(arg0) === undefined;\n return ret;\n };\n imports.wbg.__wbg_new_693216e109162396 = function () {\n var ret = new Error();\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_stack_0ddaca5d1abfb52f = function (arg0, arg1) {\n var ret = getObject(arg1).stack;\n var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbg_error_09919627ac0992f5 = function (arg0, arg1) {\n try {\n console.error(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n };\n imports.wbg.__wbg_crypto_1dc1c51d9d27e0dd = function (arg0) {\n var ret = getObject(arg0).crypto;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_is_object = function (arg0) {\n var val = getObject(arg0);\n var ret = (0, _typeof2[\"default\"])(val) === 'object' && val !== null;\n return ret;\n };\n imports.wbg.__wbg_process_65edac0b2f0a8427 = function (arg0) {\n var ret = getObject(arg0).process;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_versions_0d0eed1c1b42b216 = function (arg0) {\n var ret = getObject(arg0).versions;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_node_82761bdd6eaac7e7 = function (arg0) {\n var ret = getObject(arg0).node;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_is_string = function (arg0) {\n var ret = typeof getObject(arg0) === 'string';\n return ret;\n };\n imports.wbg.__wbg_require_3f60396135018b0f = function () {\n return handleError(function () {\n var ret = module.require;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_msCrypto_4ef1b0e1cd4cedbb = function (arg0) {\n var ret = getObject(arg0).msCrypto;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_randomFillSync_d84d19ffc1d700ed = function () {\n return handleError(function (arg0, arg1) {\n getObject(arg0).randomFillSync(takeObject(arg1));\n }, arguments);\n };\n imports.wbg.__wbg_getRandomValues_3293819ebec805bc = function () {\n return handleError(function (arg0, arg1) {\n getObject(arg0).getRandomValues(getObject(arg1));\n }, arguments);\n };\n imports.wbg.__wbg_log_02e20a3c32305fb7 = function (arg0, arg1) {\n try {\n console.log(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n };\n imports.wbg.__wbg_log_5c7513aa8c164502 = function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) {\n try {\n console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n }\n };\n imports.wbg.__wbg_mark_abc7631bdced64f0 = function (arg0, arg1) {\n performance.mark(getStringFromWasm0(arg0, arg1));\n };\n imports.wbg.__wbg_measure_c528ff64085b7146 = function () {\n return handleError(function (arg0, arg1, arg2, arg3) {\n try {\n performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));\n } finally {\n wasm.__wbindgen_free(arg0, arg1);\n wasm.__wbindgen_free(arg2, arg3);\n }\n }, arguments);\n };\n imports.wbg.__wbindgen_cb_drop = function (arg0) {\n var obj = takeObject(arg0).original;\n if (obj.cnt-- == 1) {\n obj.a = 0;\n return true;\n }\n var ret = false;\n return ret;\n };\n imports.wbg.__wbindgen_object_clone_ref = function (arg0) {\n var ret = getObject(arg0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_newwithstrandinit_9b0fa00478c37287 = function () {\n return handleError(function (arg0, arg1, arg2) {\n var ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_instanceof_Response_e1b11afbefa5b563 = function (arg0) {\n var ret = getObject(arg0) instanceof Response;\n return ret;\n };\n imports.wbg.__wbg_status_6d8bb444ddc5a7b2 = function (arg0) {\n var ret = getObject(arg0).status;\n return ret;\n };\n imports.wbg.__wbg_text_8279d34d73e43c68 = function () {\n return handleError(function (arg0) {\n var ret = getObject(arg0).text();\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_language_cd6e22892ba36a1f = function (arg0, arg1) {\n var ret = getObject(arg1).language;\n var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbg_instanceof_WorkerGlobalScope_f191ca0158f5637b = function (arg0) {\n var ret = getObject(arg0) instanceof WorkerGlobalScope;\n return ret;\n };\n imports.wbg.__wbg_navigator_8bc0889cda8f8500 = function (arg0) {\n var ret = getObject(arg0).navigator;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_fetch_b4e81012e07ff95a = function (arg0, arg1) {\n var ret = getObject(arg0).fetch(getObject(arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_setInterval_a02797f5ab1c7eb1 = function () {\n return handleError(function (arg0, arg1, arg2) {\n var ret = getObject(arg0).setInterval(getObject(arg1), arg2);\n return ret;\n }, arguments);\n };\n imports.wbg.__wbindgen_number_new = function (arg0) {\n var ret = arg0;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_is_function = function (arg0) {\n var ret = typeof getObject(arg0) === 'function';\n return ret;\n };\n imports.wbg.__wbg_newnoargs_be86524d73f67598 = function (arg0, arg1) {\n var ret = new Function(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_call_888d259a5fefc347 = function () {\n return handleError(function (arg0, arg1) {\n var ret = getObject(arg0).call(getObject(arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_new_0b83d3df67ecb33e = function () {\n var ret = new Object();\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_self_c6fbdfc2918d5e58 = function () {\n return handleError(function () {\n var ret = self.self;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_window_baec038b5ab35c54 = function () {\n return handleError(function () {\n var ret = window.window;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_globalThis_3f735a5746d41fbd = function () {\n return handleError(function () {\n var ret = globalThis.globalThis;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_global_1bc0b39582740e95 = function () {\n return handleError(function () {\n var ret = global.global;\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_instanceof_Error_561efcb1265706d8 = function (arg0) {\n var ret = getObject(arg0) instanceof Error;\n return ret;\n };\n imports.wbg.__wbg_message_9f7d15ff97fc4102 = function (arg0) {\n var ret = getObject(arg0).message;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_call_346669c262382ad7 = function () {\n return handleError(function (arg0, arg1, arg2) {\n var ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_getTimezoneOffset_d3e5a22a1b7fb1d8 = function (arg0) {\n var ret = getObject(arg0).getTimezoneOffset();\n return ret;\n };\n imports.wbg.__wbg_new_f11872bb9bb9d781 = function (arg0) {\n var ret = new Date(getObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_now_af172eabe2e041ad = function () {\n var ret = Date.now();\n return ret;\n };\n imports.wbg.__wbg_new_b1d61b5687f5e73a = function (arg0, arg1) {\n try {\n var state0 = {\n a: arg0,\n b: arg1\n };\n var cb0 = function cb0(arg0, arg1) {\n var a = state0.a;\n state0.a = 0;\n try {\n return __wbg_adapter_116(a, state0.b, arg0, arg1);\n } finally {\n state0.a = a;\n }\n };\n var ret = new Promise(cb0);\n return addHeapObject(ret);\n } finally {\n state0.a = state0.b = 0;\n }\n };\n imports.wbg.__wbg_resolve_d23068002f584f22 = function (arg0) {\n var ret = Promise.resolve(getObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_then_2fcac196782070cc = function (arg0, arg1) {\n var ret = getObject(arg0).then(getObject(arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_then_8c2d62e8ae5978f7 = function (arg0, arg1, arg2) {\n var ret = getObject(arg0).then(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_buffer_397eaa4d72ee94dd = function (arg0) {\n var ret = getObject(arg0).buffer;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_newwithbyteoffsetandlength_4b9b8c4e3f5adbff = function (arg0, arg1, arg2) {\n var ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_a7ce447f15ff496f = function (arg0) {\n var ret = new Uint8Array(getObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_set_969ad0a60e51d320 = function (arg0, arg1, arg2) {\n getObject(arg0).set(getObject(arg1), arg2 >>> 0);\n };\n imports.wbg.__wbg_newwithlength_929232475839a482 = function (arg0) {\n var ret = new Uint8Array(arg0 >>> 0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_subarray_8b658422a224f479 = function (arg0, arg1, arg2) {\n var ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_set_82a4e8a85e31ac42 = function () {\n return handleError(function (arg0, arg1, arg2) {\n var ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2));\n return ret;\n }, arguments);\n };\n imports.wbg.__wbg_parse_ccb2cd4fe8ead0cb = function () {\n return handleError(function (arg0, arg1) {\n var ret = JSON.parse(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbg_stringify_d4507a59932eed0c = function () {\n return handleError(function (arg0) {\n var ret = JSON.stringify(getObject(arg0));\n return addHeapObject(ret);\n }, arguments);\n };\n imports.wbg.__wbindgen_debug_string = function (arg0, arg1) {\n var ret = debugString(getObject(arg1));\n var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len0 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len0;\n getInt32Memory0()[arg0 / 4 + 0] = ptr0;\n };\n imports.wbg.__wbindgen_throw = function (arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n imports.wbg.__wbindgen_memory = function () {\n var ret = wasm.memory;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_closure_wrapper2610 = function (arg0, arg1, arg2) {\n var ret = makeMutClosure(arg0, arg1, 712, __wbg_adapter_28);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_closure_wrapper7770 = function (arg0, arg1, arg2) {\n var ret = makeMutClosure(arg0, arg1, 951, __wbg_adapter_31);\n return addHeapObject(ret);\n };\n if (typeof input === 'string' || typeof Request === 'function' && input instanceof Request || typeof URL === 'function' && input instanceof URL) {\n input = fetch(input);\n }\n _context2.t0 = load;\n _context2.next = 78;\n return input;\n case 78:\n _context2.t1 = _context2.sent;\n _context2.t2 = imports;\n _context2.next = 82;\n return (0, _context2.t0)(_context2.t1, _context2.t2);\n case 82:\n _yield$load = _context2.sent;\n instance = _yield$load.instance;\n module = _yield$load.module;\n wasm = instance.exports;\n init.__wbindgen_wasm_module = module;\n wasm.__wbindgen_start();\n return _context2.abrupt(\"return\", wasm);\n case 89:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return _init.apply(this, arguments);\n}\nvar _default = exports[\"default\"] = init;\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl + \"../../\";","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\nvar Bridge = require('./bridge');\nvar bridge = new Bridge(self, self);\nself.init = /*#__PURE__*/function () {\n var _ref2 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee5(_ref) {\n var appVersion, shellVersion, _require, initialize_api, initialize_runtime, get_state, get_debug_state, dispatch, analytics, decode_stream;\n return _regenerator[\"default\"].wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n appVersion = _ref.appVersion, shellVersion = _ref.shellVersion;\n // TODO remove the document shim when this PR is merged\n // https://github.com/cfware/babel-plugin-bundled-import-meta/pull/26\n self.document = {\n baseURI: self.location.href\n };\n self.app_version = appVersion;\n self.shell_version = shellVersion;\n self.get_location_hash = /*#__PURE__*/(0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", bridge.call(['location', 'hash'], []));\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n self.local_storage_get_item = /*#__PURE__*/function () {\n var _ref4 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(key) {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", bridge.call(['localStorage', 'getItem'], [key]));\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }();\n self.local_storage_set_item = /*#__PURE__*/function () {\n var _ref5 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(key, value) {\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", bridge.call(['localStorage', 'setItem'], [key, value]));\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return function (_x3, _x4) {\n return _ref5.apply(this, arguments);\n };\n }();\n self.local_storage_remove_item = /*#__PURE__*/function () {\n var _ref6 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(key) {\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n return _context4.abrupt(\"return\", bridge.call(['localStorage', 'removeItem'], [key]));\n case 1:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return function (_x5) {\n return _ref6.apply(this, arguments);\n };\n }();\n _require = require('./stremio_core_web.js'), initialize_api = _require[\"default\"], initialize_runtime = _require.initialize_runtime, get_state = _require.get_state, get_debug_state = _require.get_debug_state, dispatch = _require.dispatch, analytics = _require.analytics, decode_stream = _require.decode_stream;\n self.getState = get_state;\n self.getDebugState = get_debug_state;\n self.dispatch = dispatch;\n self.analytics = analytics;\n self.decodeStream = decode_stream;\n _context5.next = 16;\n return initialize_api(require('./stremio_core_web_bg.wasm'));\n case 16:\n _context5.next = 18;\n return initialize_runtime(function (event) {\n return bridge.call(['onCoreEvent'], [event]);\n });\n case 18:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n"],"names":["_interopRequireDefault","_regenerator","_asyncToGenerator2","getId","Math","random","toString","slice","module","exports","scope","handler","addEventListener","_ref2","mark","_callee","_ref","request","id","path","args","value","data","thisArg","wrap","_context","prev","next","abrupt","reduce","prop","length","apply","sent","postMessage","response","result","t0","error","stop","_x","this","arguments","call","_ref3","_callee2","_context2","Promise","resolve","reject","onMessage","_ref4","removeEventListener","_x2","_x3","Object","defineProperty","analytics","event","location_hash","wasm","addHeapObject","decode_stream","stream","takeObject","dispatch","action","field","get_state","initialize_runtime","emit_to_ui","start","_typeof2","importMeta","url","URL","document","baseURI","href","heap","Array","fill","undefined","getObject","idx","push","heap_next","ret","dropObject","WASM_VECTOR_LEN","cachegetUint8Memory0","getUint8Memory0","buffer","memory","Uint8Array","cachedTextEncoder","TextEncoder","encodeString","encodeInto","arg","view","buf","encode","set","read","written","passStringToWasm0","malloc","realloc","_ptr","subarray","len","ptr","mem","offset","code","charCodeAt","isLikeNone","x","cachegetInt32Memory0","getInt32Memory0","Int32Array","cachedTextDecoder","TextDecoder","ignoreBOM","fatal","getStringFromWasm0","decode","obj","debugString","val","type","concat","description","name","isArray","debug","i","className","builtInMatches","exec","JSON","stringify","_","Error","message","stack","makeMutClosure","arg0","arg1","dtor","f","state","a","b","cnt","real","_len","_key","__wbindgen_export_2","get","original","__wbg_adapter_28","wasm_bindgen__convert__closures__invoke0_mut__hef64c6d403f4d44b","__wbg_adapter_31","arg2","wasm_bindgen__convert__closures__invoke1_mut__h287d35c01be7cb49","handleError","e","__wbindgen_exn_store","__wbg_adapter_116","arg3","wasm_bindgen__convert__closures__invoke2_mut__hae5b9d44fd620b1a","load","_load","imports","bytes","instance","Response","WebAssembly","instantiateStreaming","headers","console","warn","arrayBuffer","instantiate","Instance","init","_init","input","_yield$load","wbg","__wbindgen_object_drop_ref","__wbindgen_string_get","ptr0","__wbindgen_malloc","__wbindgen_realloc","len0","__wbg_localstoragegetitem_67e1be0db7acf43b","self","local_storage_get_item","__wbindgen_free","__wbg_getlocationhash_891da82c30d22ae0","get_location_hash","__wbg_localstorageremoveitem_6ce24c9c4caf3ef4","local_storage_remove_item","__wbg_localstoragesetitem_2a34d1f953a38a29","local_storage_set_item","__wbindgen_string_new","__wbg_static_accessor_APP_VERSION_8def2febd0606e11","app_version","__wbg_static_accessor_SHELL_VERSION_4d95887f6d5f1893","shell_version","__wbindgen_is_undefined","__wbg_new_693216e109162396","__wbg_stack_0ddaca5d1abfb52f","__wbg_error_09919627ac0992f5","__wbg_crypto_1dc1c51d9d27e0dd","crypto","__wbindgen_is_object","__wbg_process_65edac0b2f0a8427","process","__wbg_versions_0d0eed1c1b42b216","versions","__wbg_node_82761bdd6eaac7e7","node","__wbindgen_is_string","__wbg_require_3f60396135018b0f","require","__wbg_msCrypto_4ef1b0e1cd4cedbb","msCrypto","__wbg_randomFillSync_d84d19ffc1d700ed","randomFillSync","__wbg_getRandomValues_3293819ebec805bc","getRandomValues","__wbg_log_02e20a3c32305fb7","log","__wbg_log_5c7513aa8c164502","arg4","arg5","arg6","arg7","__wbg_mark_abc7631bdced64f0","performance","__wbg_measure_c528ff64085b7146","measure","__wbindgen_cb_drop","__wbindgen_object_clone_ref","__wbg_newwithstrandinit_9b0fa00478c37287","Request","__wbg_instanceof_Response_e1b11afbefa5b563","__wbg_status_6d8bb444ddc5a7b2","status","__wbg_text_8279d34d73e43c68","text","__wbg_language_cd6e22892ba36a1f","language","__wbg_instanceof_WorkerGlobalScope_f191ca0158f5637b","WorkerGlobalScope","__wbg_navigator_8bc0889cda8f8500","navigator","__wbg_fetch_b4e81012e07ff95a","fetch","__wbg_setInterval_a02797f5ab1c7eb1","setInterval","__wbindgen_number_new","__wbindgen_is_function","__wbg_newnoargs_be86524d73f67598","Function","__wbg_call_888d259a5fefc347","__wbg_new_0b83d3df67ecb33e","__wbg_self_c6fbdfc2918d5e58","__wbg_window_baec038b5ab35c54","window","__wbg_globalThis_3f735a5746d41fbd","globalThis","__wbg_global_1bc0b39582740e95","g","global","__wbg_instanceof_Error_561efcb1265706d8","__wbg_message_9f7d15ff97fc4102","__wbg_call_346669c262382ad7","__wbg_getTimezoneOffset_d3e5a22a1b7fb1d8","getTimezoneOffset","__wbg_new_f11872bb9bb9d781","Date","__wbg_now_af172eabe2e041ad","now","__wbg_new_b1d61b5687f5e73a","state0","__wbg_resolve_d23068002f584f22","__wbg_then_2fcac196782070cc","then","__wbg_then_8c2d62e8ae5978f7","__wbg_buffer_397eaa4d72ee94dd","__wbg_newwithbyteoffsetandlength_4b9b8c4e3f5adbff","__wbg_new_a7ce447f15ff496f","__wbg_set_969ad0a60e51d320","__wbg_newwithlength_929232475839a482","__wbg_subarray_8b658422a224f479","__wbg_set_82a4e8a85e31ac42","Reflect","__wbg_parse_ccb2cd4fe8ead0cb","parse","__wbg_stringify_d4507a59932eed0c","__wbindgen_debug_string","__wbindgen_throw","__wbindgen_memory","__wbindgen_closure_wrapper2610","__wbindgen_closure_wrapper7770","t1","t2","__wbindgen_wasm_module","__wbindgen_start","asyncGeneratorStep","gen","_next","_throw","key","info","done","fn","err","__esModule","_typeof","_regeneratorRuntime","t","r","prototype","n","hasOwnProperty","o","Symbol","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","Generator","create","Context","makeInvokeMethod","tryCatch","h","l","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","method","delegate","maybeInvokeDelegate","_sent","dispatchException","TypeError","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","setPrototypeOf","__proto__","awrap","async","keys","reverse","pop","charAt","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","src","scripts","getElementsByTagName","test","replace","bridge","_callee5","appVersion","shellVersion","_require","initialize_api","get_debug_state","_context5","_ref5","_callee3","_context3","_x4","_ref6","_callee4","_context4","_x5","getState","getDebugState","decodeStream"],"sourceRoot":""} \ No newline at end of file diff --git a/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/styles/main.css b/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/styles/main.css similarity index 99% rename from chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/styles/main.css rename to chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/styles/main.css index 9f8da1ee8..c2e03e450 100644 --- a/chore/update-pull-user-from-api-action/47a330ac4a44057e9427ee0c5b2d1f772a7a783f/styles/main.css +++ b/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/styles/main.css @@ -1704,6 +1704,13 @@ .action-button-container-sVyRr .icon-container-rQBA0 { width: 2rem; } + .action-button-container-sVyRr .icon-container-rQBA0 .icon-RouVG { + width: 2rem; + height: 2rem; + } + .action-button-container-sVyRr .label-container-xslEF { + display: none; + } } .tooltip-item-gfYXu { @@ -8043,7 +8050,7 @@ html:not(.active-slider-within-NcgYf) .player-container-wIELK.overlayHidden-gyjI @font-face { font-family: 'PlusJakartaSans'; - src: url(../../47a330ac4a44057e9427ee0c5b2d1f772a7a783f/fonts/PlusJakartaSans.ttf) format('truetype'); + src: url(../../4a0ac61763256a759055a68cca63c8afc0e0da51/fonts/PlusJakartaSans.ttf) format('truetype'); } { /* Copyright (C) 2017-2023 Smart code 203358507 */ diff --git a/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/styles/main.css.map b/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/styles/main.css.map new file mode 100644 index 000000000..89af59ad7 --- /dev/null +++ b/chore/update-pull-user-from-api-action/4a0ac61763256a759055a68cca63c8afc0e0da51/styles/main.css.map @@ -0,0 +1 @@ +{"version":3,"file":"4a0ac61763256a759055a68cca63c8afc0e0da51/styles/main.css","mappings":"AAIA;EACI;EACA;EACA;EACA;AAHJ;AAKI;EACI;AAHR;AAMI;EACI;EACA;AAJR;;ACPA;EACI;EACA;EACA;EACA;AAJJ;AAAA;EAOQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJR;AAZA;EAmBY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJZ;AAvBA;EA+BY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AALZ;AAjCA;EAyCgB;EACA;EACA;EACA;EACA;AALhB;AAQY;;EAGQ;EACA;AAPpB;AAWY;EACI;AAThB;AAhDA;EA8DY;EACA;EACA;AAXZ;AArDA;EAmEgB;EACA;EACA;EACA;EACA;EACA;EACA;AAXhB;AA9DA;EA6EgB;EACA;EACA;EACA;AAZhB;AAcgB;EACI;AAZpB;AAvEA;EAwFgB;EACA;EACA;EACA;EACA;AAdhB;AAgBgB;EACI;AAdpB;AAqBA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAnBJ;AAqBI;EACI;EACA;AAnBR;AAsBI;EACI;AApBR;AAuBI;EACI;AArBR;AAAA;EAyBQ;EACA;EACA;EACA;EACA;AAtBR;AAPA;EAiCQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAvBR;AA2BA;EACI;IAEQ;IACA;IACA;IACA;IACA;EA1BV;EAoBE;IAUgB;IACA;EA3BlB;EAgBE;IAiBQ;EA9BV;EAaE;IAoBY;IACA;EA9Bd;AACF;;AC5IA;EAEQ;EACA;EACA;AAJR;AAAA;;EAOY;EACA;EACA;EACA;EACA;AAHZ;AARA;EAeY;EACA;AAJZ;AAZA;EAoBY;AALZ;AAfA;EAwBY;EACA;EACA;EACA;EACA;EACA;EACA;AANZ;AAxBA;EAiCgB;EACA;EACA;EACA;EACA;EACA;AANhB;AAhCA;EA0CgB;EACA;EACA;EACA;EACA;AAPhB;AAvCA;EAoDQ;AAVR;AA1CA;EAuDY;EACA;AAVZ;AA9CA;EA4DY;EACA;EACA;AAXZ;AAaY;EACI;AAXhB;AAcY;EACI;AAZhB;;ACzDA;;EAEQ;EACA;EACA;AAHR;AADA;EAQQ;EACA;AAJR;AAMQ;EACI;EACA;AAJZ;AAOQ;EACI;AALZ;AAZA;EAqBY;AANZ;AAfA;EA0BQ;AARR;AAUQ;EACI;EACA;AARZ;AAWQ;EACI;AATZ;;ACzBA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AALA;EAWQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHR;AAjBA;EAwBQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJR;AAMQ;EACI;AAJZ;AAnCA;EA2CY;AALZ;AAtCA;EA8CgB;EACA;EACA;EACA;EACA;EACA;AALhB;AAOgB;EACI;EACA;EACA;EACA;EACA;EACA;AALpB;AAtDA;EAgEgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAPhB;AAlEA;EA8EY;EACA;AATZ;AAcA;EACI;IACI;EAZN;AACF;AAeA;EACI;IACI;EAbN;AACF;AAgBA;EACI;IAEQ;EAfV;AACF;;ACrFA;EACI;EACA;EACA;AAHJ;AAAA;EAMQ;EACA;EACA;EACA;EACA;AAHR;AAPA;EAaY;EACA;EACA;AAHZ;AAZA;EAmBY;EACA;EACA;AAJZ;AAMY;EACI;AAJhB;AApBA;EA8BQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAPR;AAxCA;EAkDY;EACA;EACA;EACA;EACA;AAPZ;AA/CA;EA0DY;EACA;EACA;AARZ;AAWQ;EACI;AATZ;AAYQ;EACI;AAVZ;AAaQ;EACI;AAXZ;AAcQ;;EACI;AAXZ;;ACjEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AAKI;EACI;EACA;EACA;AAHR;AAMI;EACI;EACA;EACA;AAJR;;AC1BA;EACI;EACA;EACA;EACA;EACA;EACA;AADJ;;ACLA;EACI;EACA;AADJ;AADA;EAKQ;AADR;AAJA;;EASQ;AADR;AARA;EAaQ;AAFR;AAXA;EAiBQ;AAHR;;ACZA;EACI;EACA;AAHJ;AACA;EAKQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHR;AAZA;EAkBY;EACA;EACA;EACA;EACA;AAHZ;AAQA;EACI;AANJ;;ACxBA;EACI;EACA;EACA;EACA;EACA;AADJ;AAJA;EAQQ;EACA;EACA;EACA;AADR;;ACRA;EAGI;EAEA;EACA;AANJ;AAAA;EASQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AANR;AAQQ;EACI;EACA;EACA;EACA;EACA;AANZ;AASQ;EACI;EACA;EACA;EACA;EACA;AAPZ;AAUQ;EACI;EACA;EACA;EACA;EACA;AARZ;AAWQ;EACI;EACA;EACA;EACA;EACA;AATZ;;AAtCA,uBAGI,qCAGA,iBADA,iBALJ,8CAcQ,+CADA,mCAEA,6BACA,YALA,gBAFA,kBAGA,kBAFA,SAAR,CAQQ,2EAGI,YACA,aAFA,QADA,YAIA,kBANZ,CASQ,8EAGI,eACA,aAFA,QADA,SAIA,kBAPZ,CAUQ,4EAGI,YACA,OAFA,cADA,YAIA,kBARZ,CAWQ,+EAGI,eACA,OAFA,cADA,SAIA,kBATZ,C;AC/BA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AAPJ;AASI;EAEQ;AARZ;AAHA;EAgBQ;EACA;EACA;EACA;EACA;EACA;EACA;AAVR;AAZA;EA0BQ;EACA;EACA;EACA;EACA;EACA;AAXR;AApBA;EAmCQ;AAZR;AAgBA;;EAEQ;AAdR;AAYA;;EAKY;EACA;EACA;EACA;AAbZ;AAeY;;EAEQ;AAbpB;AAiBY;;;;EACI;AAZhB;AALA;;EAqBgB;EACA;EACA;AAZhB;AAXA;;EA2BgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAZhB;AAtBA;;EAuCY;EACA;EACA;EACA;EACA;EACA;AAbZ;AA/BA;;EA+CgB;EACA;EACA;EACA;EACA;EACA;EACA;AAZhB;AAkBA;EACI;;IAEQ;EAhBV;AACF;;AAtFA,uBAGI,mBAIA,sCADA,sBALA,aACA,mBAEA,eACA,gBALJ,CASI,0CAEQ,wBARZ,CAHA,oCAmBQ,sCAHA,OAEA,gBADA,iBAGA,gBACA,uBACA,kBAVR,CAZA,mCA8BQ,sCAJA,UAEA,YACA,iBAEA,YAJA,UAPR,CApBA,qEAmCQ,UAZR,CAgBA,iHAEQ,yBAdR,CAYA,iKAOY,mBAFA,aACA,mBAEA,YAbZ,CAeY,2MAEQ,aAbpB,CAiBY,0VACI,qCAZhB,CALA,2LAuBgB,sCAFA,OACA,gBAXhB,CAXA,yLAiCgB,+CAFA,mBAHA,aADA,UAGA,cAEA,iBAEA,UALA,YAPhB,CAtBA,yKAyCY,mBAGA,oCALA,aACA,mBAEA,uBACA,YAZZ,CA/BA,mMAqDgB,0BAJA,gBAFA,YACA,cAEA,iBACA,G;ACpFhB;EACI;EACA;AARJ;AAUI;;;;EACI;EACA;AALR;AAGI;;;;EAKQ;AAFZ;AAHI;;;;EAQY;AAChB;AATI;;;;EAYY;AAGhB;AAfI;;;;EAiBgB;AAIpB;AArBI;;;;EAqBgB;EACA;AAMpB;AA5BI;;;;EA6BY;AAKhB;AAAI;EAEQ;AACZ;AAGI;EAEQ;AAFZ;AAMI;EAEQ;AALZ;AA/CA;EAyDQ;EACA;EACA;EACA;AAPR;AAWgB;EACI;AATpB;AAxDA;EAuEY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAZZ;AAtEA;EAqFgB;EACA;EACA;EACA;EACA;EACA;AAZhB;AA9EA;EA8FgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAbhB;AAxFA;EA0GY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAfZ;AArGA;EAuHgB;EACA;EACA;AAfhB;AA1GA;EA8HY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAjBZ;AAvHA;EA2IgB;EACA;EACA;EACA;EACA;EACA;EACA;AAjBhB;AAhIA;EAqJgB;EACA;EACA;EACA;EACA;AAlBhB;AAvIA;EA8JY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AApBZ;AArJA;EA4KgB;EACA;EACA;EACA;EACA;AApBhB;AA5JA;EAoLgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AArBhB;AAxKA;EAiMgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAtBhB;AAyBY;EACI;AAvBhB;AAvLA;EAmNY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAzBZ;AAjMA;EA6NgB;EACA;EACA;AAzBhB;AAtMA;EAmOgB;EACA;EACA;EACA;EACA;EACA;EACA;AA1BhB;AA/MA;EA8OY;EACA;EACA;EACA;EACA;AA5BZ;AAtNA;EAqPgB;EACA;EACA;EACA;EACA;EACA;EACA;AA5BhB;AA8BgB;EACI;EACA;EACA;EACA;AA5BpB;AA+BgB;EACI;EACA;EACA;EACA;AA7BpB;AAgCgB;EACI;EACA;EACA;AA9BpB;AAhPA;EAkRoB;EACA;EACA;AA/BpB;AArPA;EAwRoB;EACA;EACA;AAhCpB;AA1PA;EAiSQ;EACA;EACA;EACA;EACA;AApCR;AAjQA;EAwSY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AApCZ;AAsCY;EACI;AApChB;AA/QA;EAwTY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAtCZ;AA1RA;EAmUgB;EACA;EACA;EACA;EACA;AAtChB;AAjSA;EA2UgB;AAvChB;AApSA;EA8UoB;EACA;AAvCpB;AAxSA;EAkVwB;AAvCxB;AAyCwB;;EACI;EACA;AAtC5B;AAhTA;EA0V4B;EACA;EACA;AAvC5B;AAgDA;EACI;IACI;EA9CN;EA6CE;IAIQ;EA9CV;AACF;;AZzUA,uBAGI,mBACA,mCAHA,aACA,sBAFJ,sDAeQ,+CADA,mCAEA,6BAPA,aADA,UAEA,sBAEA,eADA,cAEA,eANA,iBAKR,CAZA,oFA0BY,2BADA,sBAHA,SACA,OAIA,YAPA,kBAIA,QAHA,MAFA,SAIZ,CAvBA,mFAqCY,mCAFA,YACA,eALA,kBAEA,aADA,WAEA,WAIA,SALZ,CAjCA,+FA4CgB,sCAHA,cAEA,YAEA,YAHA,UAFhB,CAQY,0MAIQ,sCADA,SANpB,CAWY,yFACI,6CAThB,CAhDA,iFAgEY,gBADA,kBADA,SATZ,CArDA,wGAqEgB,mBAIA,sCALA,aADA,cAIA,iBACA,gBAFA,aARhB,CA9DA,uGA8EgB,mBADA,OAEA,iBACA,cAZhB,CAcgB,kHACI,kBAZpB,CAvEA,0GAyFgB,mBACA,aAFA,UAGA,mBACA,cAdhB,CAgBgB,qHACI,aAdpB,CAqBA,qBAII,mBAKA,+CAFA,qBALA,aADA,OAEA,mBAGA,cADA,uBAGA,cAlBJ,CAqBI,2BACI,6BACA,qEAnBR,CAsBI,2BACI,6CApBR,CAuBI,sCACI,iBArBR,kCA6BQ,sCAJA,UAEA,cACA,oBAFA,YAnBR,CAPA,kCAwCQ,sCALA,gBAFA,YACA,cAGA,iBACA,gBAFA,iBAGA,iBAtBR,CA2BA,yCACI,qDAIQ,kBAEA,iBAJA,kBACA,UAEA,SAzBV,CAoBE,0GAUgB,sBACA,QA3BlB,CAgBE,4CAiBQ,UA9BV,CAaE,yDAoBY,uBACA,kBA9Bd,CACF,C;AavIA;EACI;AAJJ;AAGA;EAIQ;EACA;AAJR;AADA;EAQY;EACA;EACA;EACA;EACA;AAJZ;AARA;EAegB;AAJhB;AAXA;EAmBgB;EACA;EACA;EACA;EACA;EACA;EACA;AALhB;AApBA;EA6BgB;EACA;EACA;EACA;EACA;EACA;AANhB;AA5BA;EAqCoB;EACA;EACA;AANpB;AAjCA;EA0CwB;EACA;EACA;EACA;AANxB;AAvCA;EAiDwB;EACA;EACA;EACA;AAPxB;AA7CA;EAyDoB;EACA;EACA;EACA;EACA;AATpB;AApDA;EAgEwB;EACA;EACA;AATxB;AAzDA;EAsEwB;AAVxB;AA5DA;EA2EoB;EACA;EACA;EACA;AAZpB;AAlEA;EAiFwB;EACA;EACA;AAZxB;AAeoB;EACI;AAbxB;AAqBA;EACI;IAGY;EArBd;EAkBE;IAMgB;EArBlB;EAeE;IAUgB;EAtBlB;EAYE;IAcgB;EAvBlB;AACF;AA6BA;EACI;IAMwB;IACA;EAhC1B;EAyBE;IAWwB;EAjC1B;AACF;;ACtGA;EACI;EACA;AAHJ;AAKI;EACI;AAHR;AAMI;EACI;AAJR;AAOI;EACI;AALR;;ACVA;EACI;AADJ;AAGI;EACI;AADR;;ACDA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AALA;EAWQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHR;AAKQ;;EACI;EACA;EACA;EACA;AAFZ;AAvBA;EA8BQ;EACA;EACA;EACA;EACA;EACA;EACA;AAJR;AAhCA;EAuCY;EACA;EACA;EACA;EACA;AAJZ;AAvCA;EAgDQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AANR;AAxDA;EAiEY;EACA;AANZ;AA5DA;EAsEY;EACA;EACA;EACA;EACA;AAPZ;AAnEA;EA6EgB;EACA;EACA;AAPhB;AASgB;EACI;AAPpB;AA3EA;EAwFY;EACA;EACA;EACA;EACA;EACA;AAVZ;AAnFA;EAgGgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAVhB;AAYgB;EACI;AAVpB;;ACzFA;EAEQ;AATR;AAYA;EACI;EACA;EACA;EACA;EACA;AAVJ;AAYI;EACI;AAVR;AAEA;EAYQ;EACA;AAXR;AAFA;EAgBY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAXZ;AAfA;EA8BY;EACA;EACA;EACA;EACA;AAZZ;AAtBA;EAqCgB;EACA;AAZhB;AA1BA;EAyCoB;EACA;AAZpB;AA9BA;EA+CgB;AAdhB;AAgBgB;;EACI;AAbpB;AAYgB;;EAIQ;AAZxB;AAzCA;EA0DoB;EACA;EACA;EACA;AAdpB;AA/CA;EAoEQ;AAlBR;AAlDA;EAuEY;EACA;EACA;EACA;EACA;AAlBZ;AAoBY;EACI;AAlBhB;AA5DA;EAkFgB;EACA;EACA;EACA;EACA;EACA;AAnBhB;AApEA;EA2FgB;EACA;AApBhB;AA0BA;EACI;IACI;EAxBN;EA0BM;IACI;EAxBV;AACF;;AC5FA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJJ;AANA;EAaQ;EACA;EACA;EACA;EACA;EACA;AAJR;AAdA;EAqBY;EACA;EACA;EACA;EACA;EACA;AAJZ;AAtBA;EA+BQ;AANR;AAzBA;EAmCQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAPR;AApCA;EA+CQ;EACA;AARR;AAxCA;EAoDQ;EACA;EACA;EACA;AATR;AA9CA;EA2DQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAVR;AAxDA;EAqEY;EACA;EACA;EACA;EACA;AAVZ;AAuBQ;EATI;EACA;AAXZ;AAmBQ;EALQ;EACA;AAXhB;AAmBQ;EACI;IAdA;IACA;EAFV;EAeU;IAVI;IACA;EAFd;AACF;AAiBA;EACI;IACI;IACA;EAfN;EAaE;IAKQ;EAfV;EAUE;IASQ;EAhBV;EAkBU;IACI;EAhBd;AACF;;AChGA;EACI;EACA;EACA;EACA;EACA;EACA;AAJJ;AAMI;EACI;IACI;EAJV;EAGM;IAIQ;EAJd;EAOU;IAEQ;EANlB;AACF;AAWI;EAEQ;AAVZ;AAQI;;EAMQ;AAVZ;AApBA;;EAmCQ;EACA;EACA;EACA;AAXR;AA3BA;EA0CQ;EACA;AAZR;AA/BA;EA+CQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAbR;AAiBA;EACI;IAEQ;EAhBV;EAmBM;IAEQ;EAlBd;AACF;;ACvDA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJJ;AAMI;EACI;AAJR;AATA;EAiBQ;EACA;EACA;AALR;AASA;EACI;IACI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EAPN;EADE;IAWQ;EAPV;EASU;IACI;EAPd;AACF;AAYA;EAGY;IACI;EAZd;AACF;;ACtCA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AAJA;EAUQ;EACA;EACA;EACA;EACA;AAHR;AAXA;EAkBQ;EACA;EACA;EACA;EACA;AAJR;AAlBA;EA0BQ;EACA;EACA;EACA;EACA;EACA;EACA;AALR;AASA;EACI;IAEQ;IACA;EARV;EAKE;IAOQ;EATV;AACF;;ACpCA;EAEQ;EACA;AAJR;AACA;EAMY;EACA;EACA;EACA;EACA;EACA;AAJZ;AAMY;EACI;AAJhB;AAVA;EAkBgB;EACA;EACA;AALhB;AAfA;;;EAyBY;AALZ;AAOY;;;EACI;AAHhB;AAzBA;EAiCY;AALZ;AA5BA;EAqCY;AANZ;AA/BA;EAyCY;AAPZ;AAlCA;EA8CQ;EACA;EACA;EACA;EACA;AATR;AAzCA;EAqDY;EACA;EACA;EACA;EACA;EACA;AATZ;AAjDA;EA8DY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAVZ;AAYY;EACI;EACA;AAVhB;AAaY;EACI;AAXhB;AApEA;EAmFgB;EACA;EACA;EACA;EACA;AAZhB;AA3EA;EA2FgB;EACA;EACA;EACA;EACA;EACA;AAbhB;;AClFA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJJ;AAMI;;EACI;EACA;AAHR;AAVA;EAiBQ;AAJR;AAbA;EAoBY;EACA;EACA;EACA;EACA;AAJZ;AApBA;EA6BQ;EACA;EACA;EACA;EACA;AANR;AA3BA;EAoCY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AANZ;AAWA;EACI;IAEQ;EAVV;AACF;AAcA;EACI;IACI;IACA;EAZN;EAUE;IAKQ;EAZV;EAOE;IAQY;IACA;EAZd;EAGE;IAcQ;EAdV;AACF;;AC7DA;EACI;EACA;AADJ;AAGI;EACI;AADR;;ACJA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AADJ;;ACJA;EAEQ;EACA;EACA;EACA;EACA;EACA;AAJR;AAHA;EAWQ;EACA;EACA;AALR;AARA;EAgBY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AALZ;AAOY;;EACI;AAJhB;AAOY;EACI;EACA;AALhB;;ACnCA;EACI;EACA;AADJ;AADA;EAKQ;EACA;AADR;AALA;EASY;EACA;EACA;EACA;EACA;AADZ;AAZA;EAiBY;EACA;EACA;EACA;AAFZ;AAlBA;EAuBgB;EACA;EACA;EACA;EACA;AAFhB;AAzBA;EA+BgB;EACA;EACA;EACA;AAHhB;AA/BA;EAuCY;AALZ;AAlCA;EA0CgB;EACA;EACA;EACA;EACA;AALhB;AAzCA;EAkDgB;EACA;EACA;EACA;EACA;EACA;AANhB;AAjDA;EA6DQ;EACA;EACA;EACA;EACA;EACA;EACA;AATR;;ACvDA;EACI;EACA;EACA;EACA;AAJJ;AAMI;;EAGY;EACA;AALhB;AACI;EAQY;AANhB;AAFI;;EAWgB;AALpB;AANI;EAgBY;AAPhB;AATI;EAqBQ;AATZ;AAZI;EAwBY;AAThB;AArBA;EAoCQ;EACA;EACA;EACA;EACA;EACA;AAZR;AA7BA;EA4CY;EACA;EACA;EACA;EACA;EACA;EACA;AAZZ;AAtCA;EAuDQ;EACA;EACA;AAdR;AAgBQ;EACI;AAdZ;AAgBY;;EACI;AAbhB;AAlDA;;EAoEY;EACA;EACA;AAdZ;AAxDA;EA0EY;EACA;EACA;AAfZ;AA7DA;EAgFY;EACA;AAhBZ;AAjEA;EAqFY;EACA;EACA;EACA;EACA;AAjBZ;AAxEA;;EA4FgB;EACA;EACA;EACA;EACA;AAhBhB;AAhFA;EAoGgB;EACA;EACA;EACA;EACA;EACA;EACA;AAjBhB;AAmBgB;EACI;EACA;AAjBpB;AA7FA;EAkHoB;EACA;EACA;EACA;EACA;AAlBpB;AApGA;EA0HoB;EACA;EACA;EACA;AAnBpB;AA1GA;EAmIY;EACA;EACA;EACA;EACA;AAtBZ;AAjHA;EAyIgB;EACA;EACA;EACA;EACA;AArBhB;AAxHA;EAkJY;AAvBZ;AA3HA;EAuJQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAzBR;AArIA;EAiKY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAzBZ;AA4BQ;EACI;AA1BZ;AA6BQ;EAEQ;AA5BhB;AArJA;EAsLY;EACA;EACA;EACA;AA9BZ;AAgCY;EACI;EACA;EACA;AA9BhB;AAiCY;EACI;AA/BhB;AAmCgB;;EACI;EACA;AAhCpB;AAxKA;EA+MQ;EACA;AApCR;AAwCA;EACI;AAtCJ;AA0CA;EACI;IAGY;IACA;EA1Cd;EAsCE;IASQ;IACA;EA5CV;EAkCE;IAaY;IACA;IACA;IACA;EA5Cd;EA4BE;IAqBQ;EA9CV;AACF;AAkDA;EACI;IAGY;EAlDd;EA+CE;IAOY;EAnDd;EA4CE;;IAUgB;EAlDlB;EAwCE;IAgBQ;IACA;IACA;IACA;EArDV;EAuDU;IACI;EArDd;EA0DE;IACI;EAxDN;AACF;;ACrNA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AATJ;AACA;EAWQ;EACA;EACA;EACA;EACA;EACA;EACA;AATR;AARA;EAoBY;EACA;EACA;EACA;AATZ;AAWY;EACI;AAThB;AAaQ;EACI;AAXZ;AAgBA;EACI;IACI;EAdN;EAaE;IAIQ;IACA;EAdV;EASE;IAQY;IACA;EAdd;AACF;;ACvCA;EAEQ;EACA;EACA;EACA;EACA;EACA;AAJR;AAHA;EAUY;EACA;EACA;EACA;EACA;AAJZ;AAMY;EACI;EACA;AAJhB;AAdA;EAuBY;EACA;EACA;EACA;EACA;EACA;AANZ;AAQY;EACI;EACA;AANhB;AA1BA;EAoCgB;EACA;EACA;EACA;EACA;AAPhB;AAjCA;EA4CgB;EACA;EACA;EACA;AARhB;AAvCA;EAqDQ;EACA;EACA;AAXR;AA5CA;EA0DY;EACA;AAXZ;AAaY;EACI;AAXhB;AAnDA;EAkEgB;EACA;EACA;AAZhB;AAxDA;EAwEgB;EACA;EACA;EACA;EACA;AAbhB;AA/DA;EA+EoB;EACA;EACA;EACA;EACA;AAbpB;AAoBA;EACI;IAGY;EApBd;EAsBc;IACI;EApBlB;EAcE;IAUgB;EArBlB;AACF;;AChFA;EACI;AAJJ;AAGA;EAIQ;EACA;EACA;EACA;EACA;EACA;AAJR;AALA;EAYY;EACA;EACA;EACA;EACA;AAJZ;AAZA;EAoBY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AALZ;AAOY;;EACI;EACA;EACA;AAJhB;AA7BA;EAqCgB;EACA;EACA;EACA;EACA;AALhB;AApCA;EA6CgB;EACA;EACA;EACA;AANhB;AA1CA;EAsDQ;EACA;EACA;EACA;EACA;AATR;AAjDA;EA8DQ;EACA;EACA;EACA;AAVR;AAaY;EACI;AAXhB;AAcY;EACI;AAZhB;AAeY;EACI;AAbhB;AAmBA;EACI;IAEQ;EAlBV;EAgBE;IAKY;IACA;IACA;EAlBd;EAwBc;IACI;EAtBlB;AACF;;AC9EA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AAJA;EAUQ;EACA;AAHR;AARA;EAeQ;EACA;EACA;EACA;EACA;EACA;EACA;AAJR;AAOI;EACI;AALR;;ACjBA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AANJ;AAQI;EACI;EACA;EACA;AANR;AATA;EAmBQ;EACA;EACA;EACA;EACA;AAPR;AAhBA;EA0BY;AAPZ;AAYA;EAEQ;IACI;EAXV;AACF;;AC1BA;EACI;EACA;EACA;EACA;AAJJ;AAMI;EACI;EACA;AAJR;AAJA;EAYQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AALR;AAdA;EAsBY;EACA;EACA;EACA;AALZ;AApBA;EA6BY;EACA;EACA;AANZ;AAQY;EACI;AANhB;AAWI;;EACI;AARR;;ACnCA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADJ;AAPA;EAWQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADR;AAlBA;EAsBY;EACA;AADZ;AAtBA;EA4BQ;EACA;EACA;EACA;EACA;EACA;EACA;AAHR;AAKQ;EACI;AAHZ;AAlCA;EAyCY;EACA;EACA;AAJZ;AAvCA;EA+CY;EACA;EACA;EACA;EACA;EACA;EACA;AALZ;AAOY;;EAEI;EACA;AALhB;;ACnDA;EACI;EACA;EACA;AAHJ;AAAA;EAMQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHR;AAlBA;EAwBY;EACA;EACA;EACA;EACA;AAHZ;AAzBA;EAgCY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJZ;AAOQ;EACI;AALZ;AAQQ;EACI;AANZ;AASQ;EAEQ;EACA;AARhB;AAYQ;EACI;AAVZ;;ACrDA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADJ;AAPA;EAWQ;EACA;EACA;EACA;EACA;AADR;AAdA;EAmBQ;EACA;EACA;EACA;AAFR;;AClBA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AAKI;EACI;AAHR;AATA;EAgBQ;EACA;EACA;EACA;AAJR;AAMQ;EACI;EACA;AAJZ;AAnBA;EA4BQ;EACA;EACA;EACA;EACA;AANR;;ACpBA;EACI;AATJ;AAQA;EAIQ;AATR;AAaA;EACI;EACA;EACA;EACA;AAXJ;AAaI;EACI;EACA;AAXR;AAGA;EAYQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAZR;AATA;EAyBQ;EACA;EACA;EACA;EACA;EACA;EACA;AAbR;AAeQ;EACI;EACA;AAbZ;AAtBA;EAwCQ;EACA;EACA;EACA;EACA;AAfR;AA7BA;EAgDQ;EACA;EACA;EACA;EACA;EACA;EACA;AAhBR;AAsBQ;EACI;AApBZ;AAzCA;EAkEQ;EACA;EACA;EACA;EACA;EACA;EACA;AAtBR;;AC1DA;EACI;AATJ;AAQA;EAIQ;EACA;EACA;EACA;EACA;EACA;AATR;AAWQ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AATZ;AAaI;EAEQ;AAZZ;AAcY;EACI;AAZhB;;ACzBA;EACI;EACA;EACA;EACA;AADJ;AAHA;EAOQ;EACA;EACA;EACA;EACA;EACA;AADR;AAXA;EAeY;EACA;EACA;EACA;AADZ;AAjBA;EAsBY;EACA;EACA;AAFZ;;ACXA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AALJ;AAOI;;;EAGI;AALR;AAPA;EAgBQ;EACA;EACA;EACA;AANR;AAbA;EAsBY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AANZ;AAQY;EACI;EACA;AANhB;AA3BA;EAsCY;EACA;EACA;EACA;EACA;EACA;EACA;AARZ;AApCA;EAgDY;EACA;EACA;EACA;EACA;AATZ;AA3CA;EAuDgB;EACA;EACA;EACA;AAThB;AAjDA;EA8DgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAVhB;AA3DA;EA2EQ;EACA;EACA;EACA;EACA;EACA;AAbR;AAnEA;EAmFY;EACA;EACA;EACA;EAC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EACI;EACA;AANJ;AAIA;EAKQ;EACA;EACA;EACA;EACA;AANR;AAHA;EAYY;EACA;EACA;EACA;EACA;AANZ;AAVA;EAmBgB;EACA;AANhB;AAdA;EAwBgB;EACA;EACA;EACA;EACA;EACA;EACA;AAPhB;AAvBA;EAiCoB;EACA;AAPpB;AASoB;EACI;AAPxB;AAUoB;EACI;AARxB;AAUwB;EAEQ;AAThC;AApCA;EAmDwB;AAZxB;AAvCA;EAwDoB;EACA;EACA;AAdpB;AA5CA;EA6DwB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAdxB;AAvDA;EAwE4B;EACA;EACA;EACA;AAd5B;AA7DA;EAkFgB;EACA;EACA;EACA;EACA;EACA;AAlBhB;AArEA;EA0FoB;EACA;EACA;EACA;EACA;EACA;AAlBpB;AA7EA;EAmGoB;EACA;EACA;EACA;EACA;AAnBpB;AAqBoB;EACI;EACA;AAnBxB;AAsBoB;EACI;AApBxB;AA3FA;EAmHwB;EACA;EACA;EACA;AArBxB;AAjGA;EA4HgB;EACA;EACA;EACA;EACA;EACA;EACA;AAxBhB;AA0BgB;EACI;AAxBpB;AA7GA;EAyIoB;EACA;EACA;EACA;EACA;EACA;EACA;AAzBpB;AAtHA;EAmJoB;EACA;EACA;EACA;EACA;AA1BpB;AA7HA;EA4JgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA5BhB;AAvIA;EAsKoB;AA5BpB;AA1IA;EAyKwB;EACA;EACA;AA5BxB;AA/IA;EA+KwB;EACA;EACA;EACA;EACA;AA7BxB;AAtJA;EAsL4B;EACA;EACA;EACA;EACA;AA7B5B;AA7JA;EAkMY;EACA;EACA;EACA;EACA;EACA;AAlCZ;AAuCA;EAEQ;AAtCR;AAoCA;EAKY;AAtCZ;AAiCA;EAQgB;EACA;AAtChB;AAwCgB;EACI;AAtCpB;AAwCoB;EACI;AAtCxB;AAuBA;EAoBoB;EACA;AAxCpB;AA+CA;EACI;IAIgB;EAhDlB;AACF;AAsDA;EACI;IAIgB;EAvDlB;AACF;AA6DA;EACI;IAIgB;EA9DlB;AACF;AAoEA;EACI;IAIgB;EArElB;A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PR;AAWA;EACI;IAIgB;EAZlB;EAQE;IAQgB;EAblB;AACF;;AC3CA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AAKI;EACI;AAHR;AAMI;EACI;AAJR;AAOI;EACI;AALR;AAhBA;EAyBQ;EACA;EACA;EACA;EACA;EACA;AANR;AAxBA;EAiCY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AANZ;AArCA;EAgDQ;EACA;EACA;EACA;EACA;EACA;AARR;AA7CA;EAwDY;EACA;EACA;EACA;EACA;EACA;EACA;AARZ;AAtDA;EAiEgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AARhB;AAlEA;EA8EgB;EACA;EACA;EACA;EACA;EACA;EACA;AAThB;AA3EA;;EAwFgB;AAThB;AAYY;EAEQ;AAXpB;AASY;EAMQ;AAZpB;AArFA;EAwGQ;EACA;EACA;EACA;EACA;EACA;EACA;AAhBR;AAmBI;EAGY;AAnBhB;AAwBI;EACI;AAtBR;AAyBI;EACI;IACI;EAvBV;AACF;AA2BA;EACI;IAEQ;EA1BV;EAwBE;IAMQ;EA3BV;EAqBE;IAUQ;EA5BV;AACF;AAgCA;EACI;IACI;IACA;EA9BN;EA4BE;IAKQ;EA9BV;EAyBE;IASQ;EA/BV;AACF;AAmCA;EACI;IACI;EAjCN;EAgCE;IAIQ;EAjCV;EA6BE;IAOY;EAjCd;EA0BE;IAYQ;EAnCV;EAuBE;IAeY;IACA;EAnCd;AACF;;ACpJA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADJ;AAPA;EAWQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADR;AAlBA;EAuBQ;EACA;EACA;AAFR;AAvBA;EA4BY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAFZ;AAIY;EACI;AAFhB;AAxCA;EA8CgB;EACA;EACA;EACA;AAHhB;AA9CA;EAqDgB;EACA;AAJhB;AAlDA;EA0DgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AALhB;AAQY;EACI;AA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GY;EA/Bd;EAoCU;;IAEI;EAlCd;EAqCU;;IAEI;EAnCd;EAsCU;;IAEI;EApCd;EAuCU;;IAEI;EArCd;AACF;;ACxJA;EACI;EACA;AALJ;AAGA;EAKQ;EACA;EACA;EACA;EACA;EACA;EACA;AALR;AANA;EAcY;AALZ;AATA;EAkBY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AANZ;AAnBA;EA6BY;EACA;EACA;EACA;EACA;AAPZ;AA1BA;EAsCQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AATR;AApCA;EAgDY;EACA;AATZ;AAxCA;EAqDY;EACA;EACA;EACA;AAVZ;AA9CA;EA6DQ;EACA;EACA;EACA;EACA;EACA;AAZR;AAtDA;EAqEY;EACA;EACA;EACA;EACA;EACA;AAZZ;AA9DA;EA6EgB;EACA;EACA;EACA;AAZhB;AAeY;;EACI;EACA;AAZhB;AAUY;;EAKQ;EACA;AAXpB;AA9EA;EA+FY;EACA;EACA;EACA;EACA;AAdZ;AArFA;EAuGY;EACA;EACA;AAfZ;AAiBY;;;EACI;AAbhB;AAgBY;EACI;AAdhB;AAiBY;EACI;AAfhB;AArGA;EAwHgB;AAhBhB;AAxGA;EA8HQ;EACA;EACA;EACA;EACA;AAnBR;AA/GA;EAsIQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AApBR;AAsBQ;EACI;EACA;AApBZ;AAjIA;EAyJY;EACA;EACA;EACA;EACA;AArBZ;AAxIA;EAiKY;EACA;EACA;EACA;EACA;EACA;EACA;AAtBZ;AA2BA;EACI;IACI;EAzBN;EAwBE;IAIQ;IACA;IACA;EAzBV;EA2BU;IACI;EAzBd;EA4BU;IACI;EA1Bd;AACF;;AC1KA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADJ;AAGI;EACI;AADR;AAbA;EAkBQ;EACA;EACA;EACA;EACA;EACA;EACA;AAFR;;ACtBA;EACI;EACA;EACA;EACA;AADJ;AAHA;;EAOQ;EACA;EACA;EACA;EACA;EACA;EACA;AAAR;AAEQ;;EACI;AACZ;AAjBA;;EAoBY;EACA;EACA;EACA;EACA;AACZ;AAzBA;;EA4BY;EACA;EACA;EACA;EACA;AACZ;AAjCA;EAqCQ;EACA;EACA;EACA;EACA;AADR;AAxCA;EA4CY;EACA;EACA;AADZ;AA7CA;EAkDY;EACA;EACA;EACA;EACA;AAFZ;;AC3CA;EACI;EACA;EACA;EACA;EACA;EACA;AALJ;AADA;;EASQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJR;AAMQ;;EACI;EACA;AAHZ;AAMQ;;;;EACI;AADZ;AAIQ;;EACI;AADZ;AA3BA;;EAgCY;EACA;EACA;EACA;EACA;AADZ;AAnCA;;EAwCY;EACA;EACA;EACA;AADZ;AA1CA;EAgDQ;EACA;AAHR;AAKQ;;;EACI;AADZ;AAIQ;EACI;AAFZ;AAKQ;EACI;AAHZ;AAzDA;EAgEY;AAJZ;AASA;EACI;IACI;EAPN;AACF;;ACvEA;EACI;EACA;AAJJ;AAEA;EAKQ;EACA;EACA;EACA;EACA;EACA;EACA;AAJR;AAPA;EAcY;AAJZ;AAVA;EAkBY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AALZ;AApBA;EA6BY;EACA;EACA;EACA;AANZ;AA1BA;EAqCQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AARR;AApCA;EAgDQ;EACA;EACA;AATR;AAzCA;EAsDQ;EACA;EACA;AAVR;AAYQ;EACI;AAVZ;AAjDA;EAgEQ;EACA;EACA;EACA;AAZR;AAgBA;EACI;IACI;EAdN;EAaE;IAIQ;EAdV;AACF;;AC1DA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AALJ;AAFA;EAUQ;EACA;EACA;EACA;EACA;EACA;EACA;AALR;AAXA;EAmBY;EACA;EACA;EACA;EACA;EACA;EACA;AALZ;AApBA;EA8BQ;EACA;EACA;AAPR;AAzBA;EAoCQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AARR;AApCA;EA8CY;AAPZ;AAvCA;EAkDY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AARZ;AAjDA;EA4DgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AARhB;AA3DA;EAuEgB;EACA;EACA;EACA;EACA;AAThB;AAlEA;EAgFY;EACA;EACA;EAEA;AAZZ;AAxEA;EAwFY;AAbZ;AA3EA;;EA4FY;EACA;EACA;EACA;EACA;AAbZ;AAkBA;EAEQ;EACA;AAjBR;AAcA;EAMY;AAjBZ;AAWA;EAUY;EACA;AAlBZ;AAuBA;EACI;IAGY;EAvBd;AACF;AA4BA;EACI;IAEQ;IACA;EA3BV;EAwBE;IAMY;EA3Bd;EAqBE;IAUY;EA5Bd;EAkBE;;IAcY;EA5Bd;AACF;;AChHA;EACI;EACA;EACA;AANJ;AAGA;EAMQ;EACA;EACA;EACA;AANR;AAHA;EAYY;EACA;AANZ;AAPA;EAiBY;EACA;EACA;EACA;EACA;EACA;AAPZ;AAfA;EAyBgB;EACA;EACA;EACA;AAPhB;AArBA;EA+BoB;EACA;EACA;EACA;EACA;EACA;EACA;AAPpB;AA9BA;EA0CgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAThB;AAzCA;EAqDoB;EACA;EACA;EACA;EACA;EACA;EACA;AATpB;AAlDA;EA8DwB;EACA;EACA;EACA;EACA;EACA;AATxB;AA1DA;EAuEwB;EACA;EACA;EACA;EACA;EACA;EACA;AAVxB;AAnEA;EAoFY;EACA;EACA;EACA;AAdZ;AAzEA;EA0FgB;EACA;EACA;EACA;EACA;EACA;EACA;AAdhB;AAlFA;EAoGgB;EACA;EACA;EACA;AAfhB;AAqBA;EAKoB;;;;IACI;EApBtB;EA2BkB;;IACI;EAxBtB;AACF;AA+BA;EAKoB;;;;IACI;EA9BtB;EAqCkB;;IACI;EAlCtB;AACF;AAyCA;EACI;IAIgB;EA1ClB;EA+CkB;;;;IACI;EA1CtB;EAiDkB;;IACI;EA9CtB;AACF;AAqDA;EACI;IAIgB;EAtDlB;EA2DkB;;;;IACI;EAtDtB;EA6DkB;;IACI;EA1DtB;AACF;AAiEA;EAKoB;;;;IACI;EAhEtB;EAuEkB;;IACI;EApEtB;AACF;AA2EA;EACI;IAIgB;EA5ElB;EAwEE;IAMoB;EA3EtB;EAiFkB;;;;IACI;EA5EtB;EAmFkB;;IACI;EAhFtB;AACF;AAuFA;EACI;IAGY;EAvFd;EA4FkB;;;;IACI;EAvFtB;EA8EE;IAeY;EA1Fd;EA2EE;IAkBgB;EA1FlB;EAwEE;IAqBoB;EA1FtB;AACF;;AC3MA;EACI;EACA;EACA;EACA;EACA;EACA;AADJ;AALA;EASQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADR;AAGQ;EACI;EACA;EACA;EACA;AADZ;AAIQ;EACI;AAFZ;AA5BA;EAmCQ;AAJR;AA/BA;EAuCQ;EACA;EACA;EACA;EACA;EACA;EACA;AALR;AASA;EACI;IACI;EAPN;AACF;AAUA;EACI;IACI;EARN;AACF;;ACpDA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACJ;AACI;EACI;AACR;AAZA;EAeQ;EACA;EACA;EACA;EACA;EACA;EACA;AAAR;AArBA;EAwBY;EACA;EACA;AAAZ;AA1BA;EA8BY;EACA;EACA;EACA;AADZ;;AChCA;EACI;EACA;EACA;EACA;AACJ;AALA;EAOQ;AACR;AAEI;EAEQ;AADZ;;ACXA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACJ;AAVA;;EAYQ;EACA;EACA;EACA;EACA;AAER;AAlBA;EAoBQ;EACA;AACR;AAtBA;EAwBY;EACA;EACA;AACZ;AA3BA;EA8BY;EACA;EACA;EACA;AAAZ;AAjCA;EAsCQ;EACA;AAFR;AArCA;EA0CY;EACA;EACA;AAFZ;AA1CA;EAgDY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHZ;AAKY;EACI;EACA;AAHhB;AA1DA;EAkEY;EACA;EACA;EACA;EACA;AALZ;AAOY;EACI;AALhB;;ACpEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AACJ;AACI;EACI;AACR;AAXA;EAcQ;EACA;EACA;EACA;EACA;EACA;AAAR;;ACjBA;EACI;AADJ;AAAA;EAIQ;EACA;EACA;EACA;AADR;AANA;EAUY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AADZ;AAtBA;EA2BY;EACA;EACA;EACA;AAFZ;AA5BA;EAiCgB;EACA;EACA;AAFhB;AAjCA;EAwCoB;EACA;EACA;EACA;AAJpB;AAvCA;EAkDQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AARR;AAUQ;EACI;EACA;AARZ;AArDA;EAiEY;EACA;EACA;EACA;EACA;EACA;AATZ;AAcA;EACI;IACI;IACA;EAZN;EAUE;IAKQ;EAZV;AACF;;AFxEA,cAGI,UAEA,mBAEA,SACA,mBACA,iBAPA,UAQJ,CAVA,wEAMI,mBAFA,aAHA,iBAiBJ,CAlBA,0DAYQ,aAGA,kBAGR,CAlBA,6BAoBQ,aACA,WACR,CAtBA,yCA0BY,sCADA,YADA,UAGZ,CA3BA,0CAiCY,sCAHA,mBAEA,uBADA,kBAEZ,CAjCA,6BAsCQ,uBACA,gBAFR,CArCA,0CA4CY,gCADA,UADA,UAAZ,CA1CA,qCAiDY,mBAQA,sCAHA,qBAEA,sCARA,aAOA,gBAJA,cADA,uBAGA,eADA,UAEZ,CAKY,2CAEI,6BADA,uEAFhB,CA1DA,0CAqEY,6BADA,mBADA,oBAGA,gCAJA,UADZ,CAOY,gDACI,iCALhB,C;AGhEA;EACI;AAAJ;AADA;EAIQ;AAAR;;ACNA;EACI;EACA;EACA;EACA;EACA;EACA;AADJ;AALA;EASQ;EACA;EACA;EACA;AADR;AAXA;EAeY;EACA;EACA;EACA;AADZ;AAGY;EACI;AADhB;AApBA;EA2BQ;EACA;EACA;EACA;AAJR;AA1BA;EAkCQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AALR;AApCA;EA6CQ;EACA;AANR;AAxCA;EAiDY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AANZ;AApDA;EA6DgB;EACA;EACA;AANhB;AASY;EACI;EACA;AAPhB;AA7DA;EAyEY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AATZ;AAzEA;EAqFgB;EACA;EACA;AAThB;AAYY;EACI;EACA;AAVhB;;AChFA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AALA;EAWQ;EACA;EACA;EACA;EACA;AAHR;AAZA;EAkBY;AAHZ;AAfA;EAsBY;EACA;EACA;EACA;AAJZ;AArBA;EA8BQ;EACA;EACA;AANR;AA1BA;EAmCY;EACA;EACA;EACA;AANZ;AAhCA;EAyCgB;EACA;EACA;AANhB;AAQgB;EACI;AANpB;AASgB;EACI;AAPpB;AA3CA;EAuDgB;EACA;EACA;EACA;EACA;AAThB;AAlDA;EAgEY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAXZ;AAjEA;EA+EgB;EACA;EACA;EACA;EACA;AAXhB;AAcY;;EACI;AAXhB;AAUY;;EAIQ;EACA;AAVpB;AAgBI;EACI;AAdR;AAaI;EAMgB;AAhBpB;AAuBA;EACI;IACI;EArBN;EAoBE;IAKY;EAtBd;EAiBE;IAQgB;EAtBlB;AACF;;AClGA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAHJ;AALA;EAWQ;EACA;EACA;EACA;EACA;EACA;AAHR;AAKQ;EACI;AAHZ;AAhBA;EAwBQ;EACA;EACA;AALR;AArBA;;EA6BY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJZ;AAlCA;;EAyCgB;EACA;EACA;AAHhB;AAMY;;EACI;EACA;AAHhB;AA7CA;EAsDgB;EACA;AANhB;AAQY;EAEQ;AAPpB;AAaY;EAEQ;AAZpB;AAkBI;EACI;AAhBR;AAoBA;EACI;IACI;EAlBN;AACF;;AC/DA;EAEQ;EACA;EACA;EACA;AADR;AAJA;EAQY;EACA;EACA;EACA;EACA;AADZ;AAXA;EAgBY;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAFZ;AAIY;EACI;EACA;AAFhB;AAzBA;EA+BgB;EACA;EACA;EACA;EACA;AAHhB;;ACpCA;EACI;EACA;EACA;EACA;EACA;AACJ;AANA;EAQQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACR;AAlBA;EAqBQ;EACA;EACA;EACA;AAAR;;AClBA;EACI;AAFJ;AACA;EAIQ;EACA;AAFR;AAHA;EAQY;EACA;AAFZ;AAOA;EACI;IACI;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;AAIA;EAQQ;EACA;EACA;EACA;EACA;EACA;AATR;AAWQ;;EACI;AARZ;AAWQ;EAEQ;EACA;EACA;EACA;AAVhB;AAcQ;EACI;EACA;EACA;AAZZ;AAcY;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AAZhB;AAgBgB;EACI;AAdpB;AAHQ;EAqBY;AAfpB;AANQ;EA0BQ;AAjBhB;AAqBQ;EACI;EACA;EACA;EACA;EACA;AAnBZ;AAsBQ;EACI;EACA;AApBZ;AAsBY;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AApBhB;AAwBQ;EACI;EACA;EACA;EACA;AAtBZ;AAyBQ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;AAxBZ;AA2BQ;EACI;EACA;EACA;EACA;AAzBZ;AA8BA;EAGY;IACI;EA9Bd;AACF;AAmCA;EAGY;IACI;IACA;EAnCd;AACF;;ACvHA;EAEQ;EACA;AAFR;AADA;EAMY;AAFZ;;ACNA;EACI;EACA;EACA;EACA;EACA;EACA;AACJ;AAPA;EASQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACR;;ACXA;EAEQ;AANR;AAIA;EAKY;EACA;EACA;EACA;EACA;EACA;AANZ;AAQY;;EACI;AALhB;AARA;EAmBQ;EACA;EACA;EACA;AARR;AAdA;EA0BQ;AATR;AAWQ;;EACI;AARZ;AArBA;EAiCY;AATZ;AAcA;EACI;IAEQ;EAbV;AACF;;AClCA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;AAJJ;AAHA;EAUQ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAJR;AAjBA;EAyBQ;EACA;EACA;EACA;EACA;EACA;AALR;AAzBA;EAiCY;EACA;AALZ;AA7BA;EAqCgB;EACA;AALhB;AAjCA;;EA2CY;AANZ;AArCA;EA+CY;EACA;EACA;AAPZ;AA1CA;EAqDY;EACA;EACA;EACA;AARZ;AAUY;EACI;AARhB;AAnDA;EAiEQ;EACA;EACA;EACA;EACA;EACA;AAXR;AA3DA;EAyEY;EACA;EACA;EAC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BI;EACA;AF2FJ;AAjHA;EE0BI;EACA;EACA;EACA;EACA;EACA;EACA;AF0FJ;AA7FA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA+FJ;AA7FI;EAAA;IACI;IACA;EAgGN;AACF;AA9FI;EAAA;IACI;IACA;EAiGN;AACF;AA/FI;EAAA;IACI;IACA;EAkGN;AACF;AAhGI;EAAA;IACI;EAmGN;AACF;AAjGI;EAAA;IACI;EAoGN;AACF;AAjGA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAmGJ;AAhGA;EACI;EACA;AAkGJ;AA/FA;EACI;EACA;AAiGJ;AA/FI;EACI;AAiGR;AA7FA;EACI;AA+FJ;AA5FA;EACI;AA8FJ;AA3FA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA6FJ;AA3FI;EAAA;IACI;IACA;EA8FN;AACF;AA3GA;EAgBQ;EACA;EACA;EACA;AA8FR;AAjHA;EAsBY;EACA;EACA;EACA;AA8FZ;AAvHA;EA4BgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA8FhB;AA5FgB;EACI;AA8FpB;AAtIA;EA6CgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA4FhB;AAnJA;EA2DgB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA2FhB;AAzFgB;EACI;AA2FpB;AAjKA;EA2EgB;EACA;EACA;EACA;EACA;AAyFhB;AAxKA;EAmFgB;EACA;AAwFhB;AA5KA;;EAwFgB;EACA;AAwFhB;AAlFA;EACI;IACI;EAoFN;AACF;AAjFA;EACI;IACI;EAmFN;AACF;AAhFA;EACI;IACI;EAkFN;AACF;AA/EA;EACI;IACI;EAiFN;AACF;AA9EA;EACI;IAIgB;EA6ElB;EAjFE;IAQgB;EA4ElB;AACF;AAtEA;EACI;IACI;EAwEN;AACF","sources":["webpack://stremio/./src/components/Button/Button.less","webpack://stremio/./src/components/ModalDialog/styles.less","webpack://stremio/./src/components/AddonDetailsModal/AddonDetails/styles.less","webpack://stremio/./src/components/AddonDetailsModal/styles.less","webpack://stremio/./src/components/BottomSheet/BottomSheet.less","webpack://stremio/./src/components/Checkbox/Checkbox.less","webpack://stremio/./src/components/Chips/Chip/Chip.less","webpack://stremio/./src/components/Chips/Chips.less","webpack://stremio/./src/components/ColorInput/ColorPicker/styles.less","webpack://stremio/./src/components/ColorInput/ColorInput.less","webpack://stremio/./src/components/ContextMenu/ContextMenu.less","webpack://stremio/./src/components/Popup/styles.less","webpack://stremio/./src/components/Multiselect/styles.less","webpack://stremio/./src/components/MetaItem/styles.less","webpack://stremio/./src/components/EventModal/styles.less","webpack://stremio/./src/components/HorizontalScroll/HorizontalScroll.less","webpack://stremio/./src/components/TextInput/styles.less","webpack://stremio/./src/components/NavBar/HorizontalNavBar/SearchBar/styles.less","webpack://stremio/./src/components/NavBar/HorizontalNavBar/NavMenu/styles.less","webpack://stremio/./src/components/NavBar/HorizontalNavBar/styles.less","webpack://stremio/./src/components/NavBar/VerticalNavBar/NavTabButton/styles.less","webpack://stremio/./src/components/NavBar/VerticalNavBar/styles.less","webpack://stremio/./src/components/MainNavBars/MainNavBars.less","webpack://stremio/./src/components/SharePrompt/styles.less","webpack://stremio/./src/components/MetaPreview/ActionButton/styles.less","webpack://stremio/./src/common/Tooltips/TooltipItem/styles.less","webpack://stremio/./src/common/Tooltips/Tooltip/styles.less","webpack://stremio/./src/components/MetaPreview/MetaLinks/styles.less","webpack://stremio/./src/components/MetaPreview/MetaPreviewPlaceholder/styles.less","webpack://stremio/./src/components/MetaPreview/styles.less","webpack://stremio/./src/components/MetaPreview/Ratings/Ratings.less","webpack://stremio/./src/components/MetaRow/MetaRowPlaceholder/styles.less","webpack://stremio/./src/components/MetaRow/styles.less","webpack://stremio/./src/components/MultiselectMenu/Dropdown/Option/Option.less","webpack://stremio/./src/components/MultiselectMenu/Dropdown/Dropdown.less","webpack://stremio/./src/components/MultiselectMenu/MultiselectMenu.less","webpack://stremio/./src/components/NumberInput/NumberInput.less","webpack://stremio/./src/components/RadioButton/RadioButton.less","webpack://stremio/./src/components/SearchBar/SearchBarPlaceholder/styles.less","webpack://stremio/./src/components/SearchBar/styles.less","webpack://stremio/./src/components/Slider/styles.less","webpack://stremio/./src/components/Toggle/Toggle.less","webpack://stremio/./src/components/Video/VideoPlaceholder/styles.less","webpack://stremio/./src/components/Video/styles.less","webpack://stremio/./src/common/Toast/ToastItem/styles.less","webpack://stremio/./src/routes/Addons/Addon/styles.less","webpack://stremio/./src/routes/Addons/styles.less","webpack://stremio/./src/routes/Addons/AddonPlaceholder/AddonPlaceholder.less","webpack://stremio/./src/routes/Board/styles.less","webpack://stremio/./src/routes/Board/StreamingServerWarning/StreamingServerWarning.less","webpack://stremio/./src/routes/Discover/styles.less","webpack://stremio/./src/routes/NotFound/styles.less","webpack://stremio/./src/routes/Library/Placeholder/Placeholder.less","webpack://stremio/./src/routes/Library/styles.less","webpack://stremio/./src/routes/Calendar/Selector/Selector.less","webpack://stremio/./src/routes/Calendar/Table/Table.less","webpack://stremio/./src/routes/Calendar/Table/Cell/Cell.less","webpack://stremio/./src/routes/Calendar/List/Item/Item.less","webpack://stremio/./src/routes/Calendar/List/List.less","webpack://stremio/./src/routes/Calendar/Details/Details.less","webpack://stremio/./src/routes/Calendar/Placeholder/Placeholder.less","webpack://stremio/./src/routes/Calendar/Calendar.less","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/PlayIconCircleCentered/styles.less","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/StreamPlaceholder/styles.less","webpack://stremio/./src/routes/MetaDetails/StreamsList/Stream/styles.less","webpack://stremio/./src/routes/MetaDetails/StreamsList/styles.less","webpack://stremio/./src/routes/MetaDetails/EpisodePicker/EpisodePicker.less","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/SeasonsBarPlaceholder/styles.less","webpack://stremio/./src/routes/MetaDetails/VideosList/SeasonsBar/styles.less","webpack://stremio/./src/routes/MetaDetails/VideosList/styles.less","webpack://stremio/./src/routes/MetaDetails/styles.less","webpack://stremio/./src/routes/Search/styles.less","webpack://stremio/./src/routes/Settings/Menu/Menu.less","webpack://stremio/./src/routes/Settings/components/Category/Category.less","webpack://stremio/./src/routes/Settings/components/Link/Link.less","webpack://stremio/./src/routes/Settings/components/Option/Option.less","webpack://stremio/./src/routes/Settings/components/Section/Section.less","webpack://stremio/./src/routes/Settings/General/User/User.less","webpack://stremio/./src/routes/Settings/General/General.less","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/URLsManager.less","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/Item/Item.less","webpack://stremio/./src/routes/Settings/Streaming/URLsManager/AddItem/AddItem.less","webpack://stremio/./src/routes/Settings/Streaming/Streaming.less","webpack://stremio/./src/routes/Settings/Shortcuts/Shortcuts.less","webpack://stremio/./src/routes/Settings/Info/Info.less","webpack://stremio/./src/routes/Settings/Settings.less","webpack://stremio/./src/routes/Player/BufferingLoader/styles.less","webpack://stremio/./src/routes/Player/ControlBar/VolumeSlider/styles.less","webpack://stremio/./src/routes/Player/VolumeChangeIndicator/styles.less","webpack://stremio/./src/routes/Player/Error/styles.less","webpack://stremio/./src/routes/Player/ControlBar/SeekBar/styles.less","webpack://stremio/./src/routes/Player/ControlBar/styles.less","webpack://stremio/./src/routes/Player/NextVideoPopup/styles.less","webpack://stremio/./src/routes/Player/StatisticsMenu/styles.less","webpack://stremio/./src/routes/Player/OptionsMenu/Option/styles.less","webpack://stremio/./src/routes/Player/OptionsMenu/styles.less","webpack://stremio/./src/routes/Player/SubtitlesMenu/styles.less","webpack://stremio/./src/routes/Player/SubtitlesMenu/Stepper/Stepper.less","webpack://stremio/./src/routes/Player/AudioMenu/AudioMenu.less","webpack://stremio/./src/routes/Player/SpeedMenu/Option/styles.less","webpack://stremio/./src/routes/Player/SpeedMenu/styles.less","webpack://stremio/./src/routes/Player/SideDrawerButton/SideDrawerButton.less","webpack://stremio/./src/routes/Player/SideDrawer/SideDrawer.less","webpack://stremio/./src/routes/Player/styles.less","webpack://stremio/./src/routes/Player/Video/styles.less","webpack://stremio/./src/routes/Player/Indicator/Indicator.less","webpack://stremio/./src/routes/Intro/PasswordResetModal/styles.less","webpack://stremio/./src/routes/Intro/styles.less","webpack://stremio/./src/App/UpdaterBanner/UpdaterBanner.less","webpack://stremio/./src/App/ErrorDialog/styles.less","webpack://stremio/./src/App/styles.less","webpack://stremio/./src/common/animations.less","webpack://stremio/./src/router/styles.css"],"sourcesContent":["// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.button-container {\n outline-width: var(--focus-outline-size);\n outline-color: @color-surface-light5;\n outline-offset: calc(-1 * var(--focus-outline-size));\n cursor: pointer;\n\n &:focus {\n outline-style: solid;\n }\n\n &:global(.disabled) {\n pointer-events: none;\n opacity: 0.5;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.modal-container {\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: @color-background-dark5-40;\n\n .modal-dialog-container {\n position: relative;\n flex: none;\n display: flex;\n flex-direction: column;\n max-width: 80%;\n max-height: 80%;\n padding: 0 2rem;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: var(--outer-glow);\n\n .modal-dialog-background {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-size: cover;\n background-position: center;\n opacity: 0.1;\n }\n\n .close-button-container {\n position: absolute;\n top: 0.5rem;\n right: 0.5rem;\n width: 3rem;\n height: 3rem;\n padding: 0.5rem;\n border-radius: var(--border-radius);\n z-index: 2;\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n color: var(--primary-foreground-color);\n opacity: 0.4;\n }\n\n &:hover,\n &:focus {\n .icon {\n opacity: 1;\n color: var(--primary-foreground-color);\n }\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n\n .modal-dialog-content {\n z-index: 1;\n position: relative;\n overflow-y: auto;\n\n .title-container {\n flex: 1 0 auto;\n display: flex;\n align-items: center;\n height: 4.5rem;\n font-size: 1.2rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .body-container {\n flex: 1;\n align-self: stretch;\n overflow: visible;\n padding: 2rem 0;\n\n &:last-child {\n margin-bottom: 2rem;\n }\n }\n\n .buttons-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:last-child {\n margin: 2rem 0;\n }\n }\n }\n }\n}\n\n.action-button {\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 3.5rem;\n border-radius: 3.5rem;\n padding: 1.2rem;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n background-color: transparent;\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n &:not(:last-child) {\n margin-right: 1rem;\n }\n\n .icon {\n flex: none;\n width: 1.2rem;\n height: 1.2rem;\n margin-right: .5rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 3.6em;\n font-size: 1.1rem;\n font-weight: 700;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .modal-container {\n .modal-dialog-container {\n position: relative;\n width: 90%;\n max-width: initial;\n z-index: 0;\n padding: 0 1.5rem;\n\n .modal-dialog-content {\n .buttons-container {\n flex-direction: column;\n gap: 1rem;\n }\n }\n }\n\n .action-button {\n width: 100%;\n\n .label {\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.addon-details-container {\n .title-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .logo, .icon {\n float: left;\n width: 5rem;\n height: 5rem;\n margin-right: 1.5rem;\n padding: 0.5rem;\n }\n\n .logo {\n object-fit: contain;\n object-position: center;\n }\n\n .icon {\n color: var(--primary-foreground-color);\n }\n\n .name-container {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: 0;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: baseline;\n \n .name {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n margin-right: 0.5rem;\n font-size: 1.6rem;\n color: var(--primary-foreground-color);\n }\n \n .version {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: auto;\n margin-top: 0.5rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .section-container {\n margin-top: 1rem;\n\n .section-header {\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n }\n\n .section-label {\n font-size: 1.1rem;\n font-weight: 300;\n color: var(--primary-foreground-color);\n\n &.transport-url-label {\n user-select: text;\n }\n\n &.disclaimer-label {\n font-style: italic;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.addon-details-modal-container {\n .addon-details-container, .addon-details-message-container {\n width: 40rem;\n max-width: 100%;\n color: var(--primary-foreground-color);\n }\n\n .cancel-button {\n background-color: transparent;\n opacity: 0.3;\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n opacity: 1;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .cancel-button-label {\n color: var(--primary-foreground-color);\n }\n }\n\n .uninstall-button {\n background-color: var(--overlay-color);\n \n &:hover {\n outline: var(--focus-outline-size) solid var(--overlay-color);\n background-color: transparent;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.bottom-sheet {\n z-index: 99;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n justify-content: center;\n\n .backdrop {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-background-color);\n opacity: 0.8;\n transition: opacity 0.1s ease-out;\n cursor: pointer;\n }\n\n .container {\n z-index: 1;\n position: absolute;\n bottom: 0;\n max-height: calc(100% - var(--horizontal-nav-bar-size));\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n padding-bottom: 1rem;\n border-radius: 2rem 2rem 0 0;\n background-color: var(--modal-background-color);\n box-shadow: var(--outer-glow);\n overflow: hidden;\n\n &:not(.dragging) {\n transition: transform 0.1s ease-out;\n }\n\n .heading {\n position: relative;\n\n .handle {\n position: relative;\n height: 2.5rem;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n \n &::after {\n content: \"\";\n height: 0.3rem;\n width: 3rem;\n border-radius: 1rem;\n background-color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n }\n \n .title {\n position: relative;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 1rem;\n padding-left: 1.5rem;\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--primary-foreground-color);\n }\n }\n\n .content {\n position: relative;\n overflow-y: auto;\n }\n }\n}\n\n@media only screen and (min-width: @small) and (orientation: portait) {\n .bottom-sheet {\n display: none;\n }\n}\n\n@media only screen and (min-width: @xsmall) and (orientation: landscape) {\n .bottom-sheet {\n display: none;\n }\n}\n\n@media only screen and (orientation: landscape) {\n .bottom-sheet {\n .container {\n max-width: calc(90% - var(--safe-area-inset-left) - var(--safe-area-inset-right));\n }\n }\n}","// Copyright (C) 2017-2025 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.checkbox {\n display: flex;\n align-items: center;\n overflow: visible;\n\n .label {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0.5rem 0;\n cursor: pointer;\n \n span {\n font-size: 0.9rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .link {\n font-size: 0.9rem;\n color: var(--primary-accent-color);\n margin-left: 0.5rem;\n\n &:hover {\n text-decoration: underline;\n }\n }\n }\n\n .checkbox-container {\n position: relative;\n width: 1.5rem;\n height: 1.5rem;\n border-radius: 0.3rem;\n background-color: var(--overlay-color);\n padding: 0.1rem;\n display: flex;\n flex: none;\n margin: 0 1rem 0 0.3rem;\n align-items: center;\n justify-content: center;\n transition: background-color 0.2s ease-in-out;\n cursor: pointer;\n outline: none;\n user-select: none;\n outline-width: var(--focus-outline-size);\n outline-color: @color-surface-light5;\n outline-offset: 2px;\n\n input[type='checkbox'] {\n opacity: 0;\n width: 0;\n height: 0;\n position: absolute;\n cursor: pointer;\n }\n\n .checkbox-icon {\n width: 100%; \n height: 100%;\n color: var(--primary-foreground-color);\n }\n\n &.disabled {\n cursor: not-allowed;\n }\n\n &.error {\n border-color: var(--color-trakt);\n }\n\n &.checked {\n background-color: var(--primary-accent-color);\n }\n\n &:hover, &:focus {\n outline-style: solid;\n }\n }\n}\n","// Copyright (C) 2017-2024 Smart code 203358507\n\n@height: 2.75rem;\n\n.chip {\n flex: none;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: @height;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n white-space: nowrap;\n text-transform: capitalize;\n padding: 0 1.75rem;\n border-radius: @height;\n background-color: transparent;\n user-select: none;\n overflow: hidden;\n opacity: 0.6;\n\n &:hover {\n background-color: var(--overlay-color);\n transition: background-color 0.1s ease-out;\n opacity: 1;\n }\n\n &.active {\n opacity: 1;\n background-color: var(--quaternary-accent-color);\n transition: background-color 0.1s ease-in;\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n.chips {\n position: relative;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 1rem;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.color-picker-container {\n overflow: visible;\n text-align: center;\n\n * {\n overflow: visible;\n }\n\n :global(.a-color-picker-stack):not(:global(.a-color-picker-row-top)) canvas, :global(.a-color-picker-circle) {\n border: solid thin var(--color-surfacedark);\n }\n\n :global(.a-color-picker-circle) {\n box-shadow: 0 0 .2rem var(--color-surfacedark);\n }\n\n :global(.a-color-picker-clipbaord) {\n pointer-events: none;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.color-input-container {\n position: relative;\n z-index: 0;\n\n .transparent-label-container {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 0.5rem;\n pointer-events: none;\n\n .transparent-label {\n flex: 1;\n text-align: center;\n color: @color-surface-light5;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n}\n\n.color-picker-container {\n margin: 1rem 0;\n}","@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.context-menu-container {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n\n .context-menu {\n position: fixed;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: 0 1.35rem 2.7rem @color-background-dark5-40,\n 0 1.1rem 0.85rem @color-background-dark5-20;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.label-container {\n // IOS specific \n // prevents showing the default context-menu when long pressing an anchor in safari.\n -webkit-touch-callout: none !important;\n\n position: relative;\n overflow: visible;\n\n .menu-container {\n position: absolute;\n z-index: 1;\n overflow: hidden;\n visibility: hidden;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: var(--outer-glow);\n cursor: auto;\n\n &.menu-direction-top-left {\n top: initial;\n right: 0;\n bottom: 100%;\n left: initial;\n visibility: visible;\n }\n\n &.menu-direction-bottom-left {\n top: 100%;\n right: 0;\n bottom: initial;\n left: initial;\n visibility: visible;\n }\n\n &.menu-direction-top-right {\n top: initial;\n right: initial;\n bottom: 100%;\n left: 0;\n visibility: visible;\n }\n\n &.menu-direction-bottom-right {\n top: 100%;\n right: initial;\n bottom: initial;\n left: 0;\n visibility: visible;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Popup/styles.less') {\n popup-menu-container: menu-container;\n}\n\n@parent-height: 10rem;\n\n.label-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 2.75rem;\n padding: 0 1.5rem;\n border-radius: 2.75rem;\n background-color: var(--overlay-color);\n\n &:global(.active) {\n .icon {\n transform: rotate(180deg);\n }\n }\n\n >.label {\n flex: 1;\n max-height: 2.4em;\n font-weight: 500;\n color: var(--primary-foreground-color);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .icon {\n flex: none;\n width: 1rem;\n height: 1rem;\n margin-left: 1rem;\n color: var(--primary-foreground-color);\n opacity: 0.4;\n }\n\n .popup-menu-container {\n width: 100%;\n }\n}\n\n.modal-container, .popup-menu-container {\n .menu-container {\n max-height: calc(3rem * 7);\n\n .option-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 1rem;\n\n &:global(.selected) {\n .icon {\n display: block;\n }\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n\n .label {\n flex: 1;\n max-height: 4.8em;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n display: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n margin-left: 1rem;\n background-color: var(--secondary-accent-color);\n opacity: 1;\n }\n }\n\n .no-options-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 1rem;\n background-color: @color-background;\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n font-size: 1.2rem;\n font-weight: 500;\n text-align: center;\n color: @color-surface-light5-90;\n }\n }\n }\n}\n\n@media (orientation: landscape) and (max-width: @xsmall) {\n .modal-container, .popup-menu-container {\n .menu-container {\n max-height: calc(100dvh - var(--horizontal-nav-bar-size) - @parent-height);\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Popup/styles.less') {\n popup-menu-container: menu-container;\n}\n\n:import('~stremio/components/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-option-container: option-container;\n multiselect-option-label: label;\n}\n\n@play-icon-size: 4rem;\n\n.meta-item-container {\n padding: 1rem;\n overflow: visible;\n\n &:hover, &:focus, &:global(.active), &:global(.selected) {\n outline-style: none;\n transition: background-color 100ms ease-out;\n\n .poster-container {\n box-shadow: 0 0 0 0.2rem var(--primary-foreground-color);\n\n .dismiss-icon-layer {\n opacity: 1;\n }\n\n .poster-image-layer {\n transform: scale(1.05);\n }\n\n .play-icon-layer {\n .play-icon-outer {\n color: transparent;\n }\n\n .play-icon-background {\n background-color: var(--secondary-accent-color);\n opacity: 1;\n }\n }\n }\n\n .title-bar-container {\n .menu-label-container {\n opacity: 1;\n }\n }\n }\n\n &.poster-shape-poster {\n .poster-container {\n padding-top: calc(100% * var(--poster-shape-ratio));\n }\n }\n\n &.poster-shape-square {\n .poster-container {\n padding-top: 100%;\n }\n }\n\n &.poster-shape-landscape {\n .poster-container {\n padding-top: calc(100% * var(--landscape-shape-ratio));\n }\n }\n\n .poster-container {\n position: relative;\n z-index: 0;\n background-color: var(--overlay-color);\n border-radius: var(--border-radius);\n\n &:global(.poster-change-cursor) {\n .poster-image-layer {\n &:hover {\n cursor: zoom-in;\n }\n }\n }\n\n .dismiss-icon-layer {\n z-index: -2;\n position: absolute;\n top: 0.5rem;\n left: 0.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 1.5rem;\n width: 1.5rem;\n border-radius: 100%;\n opacity: 0;\n transition: opacity 0.1s ease-in;\n\n .dismiss-icon {\n z-index: 1;\n position: relative;\n height: 1.25rem;\n width: 1.25rem;\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n\n .dismiss-icon-backdrop {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-background-color);\n opacity: 0.6;\n }\n }\n\n .watched-icon-layer {\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 1.5rem;\n height: 1.5rem;\n background-color: var(--primary-accent-color);\n border-radius: 50%;\n margin: 0.5rem;\n\n .watched-icon {\n width: 0.75rem;\n height: 0.75rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .poster-image-layer {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -3;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n transition: transform 0.1s ease-out;\n\n .poster-image {\n flex: none;\n width: 100%;\n height: 100%;\n object-position: center;\n object-fit: cover;\n opacity: 0.9;\n overflow-clip-margin: unset;\n }\n\n .placeholder-icon {\n flex: none;\n width: 80%;\n height: 50%;\n color: var(--primary-foreground-color);\n opacity: 0.2;\n }\n }\n\n .play-icon-layer {\n z-index: -2;\n position: absolute;\n top: 50%;\n left: 50%;\n margin-top: calc(@play-icon-size / -2);\n margin-left: calc(@play-icon-size / -2);\n display: flex;\n align-items: center;\n justify-content: center;\n height: @play-icon-size;\n width: @play-icon-size;\n transition: transform 0.1s ease-out;\n\n .play-icon {\n z-index: 2;\n position: relative;\n height: 2.25rem;\n width: 2.25rem;\n color: var(--primary-foreground-color);\n }\n\n .play-icon-outer {\n z-index: 1;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n color: var(--primary-foreground-color);\n box-shadow: 0 0 0 0.15rem currentColor inset;\n border-radius: 100%;\n transition: color 0.1s ease-in;\n }\n\n .play-icon-background {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-background-color);\n border-radius: 100%;\n opacity: 0.4;\n transition: all 0.1s ease-in;\n }\n\n &:hover {\n transform: scale(1.1);\n }\n }\n\n .progress-bar-layer {\n z-index: -1;\n position: absolute;\n bottom: 1rem;\n left: 1rem;\n right: 1rem;\n height: 0.45rem;\n border-radius: 0.45rem;\n overflow: hidden;\n\n .progress-bar {\n position: relative;\n height: 100%;\n background-color: var(--primary-foreground-color);\n }\n \n .progress-bar-background {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n }\n\n .new-videos {\n z-index: -1;\n position: absolute;\n top: 0;\n right: 0;\n overflow: visible;\n\n .layer {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 1.25rem;\n width: 2.25rem;\n border-radius: 0.25rem;\n\n &:nth-child(1) {\n top: 0.5rem;\n right: 0.5rem;\n background-color: var(--primary-foreground-color);\n opacity: 0.4;\n }\n\n &:nth-child(2) {\n top: 0.75rem;\n right: 0.75rem;\n background-color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n &:nth-child(3) {\n top: 1rem;\n right: 1rem;\n background-color: var(--primary-foreground-color);\n }\n\n .icon {\n height: 0.8rem;\n width: 0.8rem;\n color: var(--primary-accent-color);\n }\n\n .label {\n font-size: 0.8rem;\n font-weight: 600;\n color: var(--primary-accent-color);\n }\n }\n }\n }\n\n .title-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 4rem;\n overflow: visible;\n\n .title-label {\n flex: 1;\n padding-left: 1.5rem;\n font-weight: 600;\n text-align: center;\n color: var(--primary-foreground-color);\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n\n &:only-child {\n padding: 0 0.5rem;\n }\n }\n\n .menu-label-container {\n z-index: 1;\n flex: none;\n width: 1.5rem;\n height: 4rem;\n padding: 1rem 0;\n background-color: transparent;\n opacity: 0;\n transform: translateX(1rem);\n transition: opacity 0.1s ease-out;\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .popup-menu-container {\n width: auto;\n\n .multiselect-menu-container {\n min-width: 9rem;\n max-width: 14rem;\n\n .multiselect-option-container {\n padding: 1rem 1.5rem;\n\n &:hover, &:focus {\n outline: none;\n background-color: var(--overlay-color);\n }\n\n .multiselect-option-label {\n font-weight: 500;\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .meta-item-container {\n padding: 0.5rem;\n\n .title-bar-container {\n margin-top: 0.5rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/ModalDialog/styles.less') {\n modal-dialog-content: modal-dialog-content;\n modal-dialog-container: modal-dialog-container;\n}\n\n.event-modal {\n backdrop-filter: blur(10px);\n\n .modal-dialog-container {\n overflow: visible;\n max-width: 45rem;\n\n .modal-dialog-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n overflow: visible;\n position: relative;\n\n .body-container {\n overflow-y: visible;\n }\n\n .image {\n position: absolute;\n top: -10rem;\n left: 50%;\n transform: translateX(-50%);\n object-fit: cover;\n width: 30rem;\n height: 30rem;\n }\n\n .info-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 2.5rem;\n padding: 10rem 4rem 0;\n\n .title-container {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n\n .title {\n color: var(--primary-foreground-color);\n font-size: 1.325rem;\n text-align: center;\n padding: 0 6rem;\n }\n\n .label {\n color: var(--primary-foreground-color);\n font-size: 1rem;\n text-align: center;\n opacity: 0.5;\n }\n }\n\n .addon-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n gap: 0.5rem;\n\n .icon {\n height: 2rem;\n width: 2rem;\n color: var(--primary-accent-color);\n }\n\n .name {\n color: var(--primary-foreground-color);\n }\n }\n\n .action-button {\n background-color: var(--primary-foreground-color);\n border: 2px solid var(--primary-foreground-color);\n padding: 0.8rem 2rem;\n border-radius: 2rem;\n\n .button-label {\n color: var(--primary-accent-color);\n font-size: 1rem;\n font-weight: 700;\n }\n\n &:hover {\n background-color: transparent;\n }\n }\n }\n }\n }\n}\n\n@media (orientation: landscape) and (max-height: @minimum) {\n .event-modal {\n .modal-dialog-container {\n .modal-dialog-content {\n overflow-y: auto;\n\n .body-container {\n overflow-y: auto;\n }\n\n .image {\n display: none;\n }\n\n .info-container {\n padding: 1rem 4rem 0;\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .event-modal {\n .modal-dialog-container {\n .modal-dialog-content {\n .info-container {\n .title-container {\n .title {\n padding: 0rem;\n font-size: 1rem;\n }\n\n .label {\n font-size: 0.875rem;\n }\n }\n }\n }\n }\n }\n}\n","// Copyright (C) 2017-2024 Smart code 203358507\n\n@mask-width: 10%;\n\n.horizontal-scroll {\n position: relative;\n overflow-x: auto;\n\n &.left {\n mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) calc(100% - @mask-width), rgba(0, 0, 0, 0) 100%);\n }\n\n &.right {\n mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) @mask-width);\n }\n\n &.center {\n mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) @mask-width, rgba(0, 0, 0, 1) calc(100% - @mask-width), rgba(0, 0, 0, 0) 100%);\n }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n.text-input {\n user-select: text;\n\n &::-moz-focus-inner {\n border: none;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.search-bar-container {\n --search-bar-size: 3.25rem;\n display: flex;\n flex-direction: row;\n height: var(--search-bar-size);\n border-radius: var(--search-bar-size);\n background-color: var(--overlay-color);\n position: relative;\n overflow: visible;\n\n .search-input {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0 0.5rem 0 2rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n cursor: text;\n\n &::placeholder, .placeholder-label {\n max-height: 1.2em;\n opacity: 1;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n }\n\n .submit-button-container {\n flex: none;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n height: var(--search-bar-size);\n padding: 0 1.5rem;\n\n .icon {\n flex: none;\n width: 1.7rem;\n height: 1.7rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n }\n\n .menu-container {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n height: auto;\n z-index: 10;\n padding: 1rem;\n margin: 0 auto;\n display: flex;\n justify-content: center;\n align-items: flex-start;\n flex-direction: column;\n gap: 1.5rem;\n background-color: var(--modal-background-color);\n border-radius: var(--border-radius);\n \n .label {\n font-size: 0.9rem;\n color: var(--primary-foreground-color);\n }\n\n .title {\n display: flex;\n justify-content: space-between;\n width: 100%;\n opacity: 0.8;\n padding-bottom: 1rem;\n\n .search-history-clear {\n cursor: pointer;\n color: var(--primary-foreground-color);\n font-size: 0.9rem;\n\n &:hover {\n opacity: 0.6;\n }\n }\n }\n\n .items {\n width: 100%;\n margin: 0 auto;\n display: flex;\n justify-content: center;\n align-items: flex-start;\n flex-direction: column;\n\n .item {\n width: 90%;\n color: var(--primary-foreground-color);\n text-align: left;\n text-decoration: none;\n padding: 0.5rem 1rem;\n border-radius: var(--border-radius);\n width: 100%;\n cursor: pointer;\n z-index: 10;\n\n &:hover {\n background-color: var(--secondary-background-color);\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Popup/styles.less') {\n popup-menu-container: menu-container;\n}\n\n@mobile-height: calc(var(--small-viewport-height) - var(--horizontal-nav-bar-size) - var(--vertical-nav-bar-size));\n@height: calc(var(--small-viewport-height) - var(--horizontal-nav-bar-size));\n\n.nav-menu-popup-label {\n .popup-menu-container {\n margin-top: 1rem;\n }\n}\n.nav-menu-container {\n width: 22rem;\n max-height: calc(@height - 1rem);\n overflow-y: auto;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n\n &.with-warning {\n max-height: calc(@height - 6rem);\n }\n\n .user-info-container {\n display: flex;\n padding: 1.5rem 1rem;\n\n .avatar-container {\n flex: none;\n height: 4rem;\n width: 4rem;\n border-radius: 50%;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n background-origin: content-box;\n background-clip: content-box;\n background-color: var(--primary-foreground-color);\n opacity: 0.9;\n }\n\n .user-info-details {\n flex: auto;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-left: 1rem;\n\n .email-container {\n flex: none;\n margin-bottom: 0.5rem;\n\n .email-label {\n flex: 1;\n color: var(--primary-foreground-color);\n }\n }\n\n .logout-button-container {\n flex: none;\n\n &:hover, &:focus {\n outline: none;\n\n .logout-label {\n text-decoration: underline;\n }\n }\n\n .logout-label {\n flex: 1;\n font-size: 0.9rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n }\n }\n }\n\n .nav-menu-section {\n border-top: thin solid var(--overlay-color);\n\n .nav-menu-option-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 4rem;\n padding: 0 1.5rem;\n\n &:hover {\n background-color: var(--overlay-color);\n }\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n\n .nav-menu-option-label {\n flex: 1;\n color: var(--primary-foreground-color);\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .nav-menu-container {\n max-height: calc(@mobile-height - 1rem);\n\n &.with-warning {\n max-height: calc(@mobile-height - 8.5rem);\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.horizontal-nav-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n height: var(--horizontal-nav-bar-size);\n padding-right: 1rem;\n background-color: transparent;\n overflow: visible;\n padding-top: var(--safe-area-inset-top);\n box-sizing: content-box;\n\n .logo-container {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--vertical-nav-bar-size);\n height: var(--horizontal-nav-bar-size);\n\n .logo {\n flex: none;\n width: 2.5rem;\n height: 2.5rem;\n object-position: center;\n object-fit: contain;\n opacity: 0.9;\n }\n }\n\n .back-button-container {\n margin-left: max(0rem, calc(1rem - var(--safe-area-inset-left)));\n }\n\n .title {\n flex: 4 0 0;\n padding: 0 1rem;\n font-size: 1.2rem;\n font-style: normal;\n font-weight: 500;\n letter-spacing: 0.01rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: @color-secondaryvariant2-light1-90;\n }\n\n .search-bar {\n height: 3.25rem;\n width: 30rem;\n }\n\n .buttons-container {\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n overflow: visible;\n }\n\n .button-container {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 3.5rem;\n height: 3.5rem;\n border-radius: 0.75rem;\n opacity: 0.6;\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .active() {\n background-color: var(--overlay-color);\n opacity: 1;\n\n .icon {\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n }\n\n &:global(.active) {\n .active();\n }\n\n @media (pointer: fine) {\n &:hover {\n .active();\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .horizontal-nav-bar-container {\n justify-content: space-between;\n padding-right: 0;\n\n .logo-container {\n width: var(--horizontal-nav-bar-size);\n }\n\n .button-container {\n margin: 0 1rem;\n\n &:not(.back-button-container):not(.menu-button-container) {\n display: none;\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.nav-tab-button-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n border-radius: 0.75rem;\n\n @media (pointer: fine) {\n &:hover {\n background-color: var(--overlay-color);\n\n .label {\n opacity: 0.6;\n }\n\n &:global(.selected) {\n .label {\n opacity: 1;\n }\n }\n }\n }\n\n &:global(.selected) {\n .icon {\n opacity: 1;\n }\n\n .icon, .label {\n color: var(--primary-accent-color);\n }\n }\n\n .icon, .logo {\n flex: none;\n width: 2.2rem;\n height: 2.2rem;\n margin-bottom: 0.5rem;\n }\n\n .icon {\n color: var(--primary-foreground-color);\n opacity: 0.35;\n }\n\n .label {\n flex: none;\n position: relative;\n max-width: 100%;\n max-height: 2.4em;\n padding: 0 0.5rem;\n font-size: 0.8rem;\n font-weight: 500;\n letter-spacing: 0.01rem;\n text-align: center;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n opacity: 0;\n overflow: hidden;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .nav-tab-button-container {\n .label {\n opacity: 0.6;\n }\n\n &:global(.selected) {\n .label {\n opacity: 1;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.vertical-nav-bar-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 1rem;\n width: var(--vertical-nav-bar-size);\n padding: 1rem 0;\n background-color: transparent;\n overflow-y: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n .nav-tab-button {\n width: calc(var(--vertical-nav-bar-size) - 1.2rem);\n height: calc(var(--vertical-nav-bar-size) - 1.2rem);\n min-height: 3.5rem;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .vertical-nav-bar-container {\n flex-direction: row;\n justify-content: space-between;\n gap: 0;\n height: var(--vertical-nav-bar-size);\n width: 100%;\n padding: 0 1rem;\n overflow-y: hidden;\n overflow-x: auto;\n\n .nav-tab-button {\n flex: none;\n\n &:last-child {\n display: none;\n }\n }\n }\n}\n\n@media only screen and (max-height: @minimum) {\n .vertical-nav-bar-container {\n .nav-tab-button {\n &:last-child {\n display: none;\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.main-nav-bars-container {\n position: relative;\n z-index: 0;\n overflow: clip;\n margin-left: var(--safe-area-inset-left);\n margin-right: var(--safe-area-inset-right);\n width: calc(100% - var(--safe-area-inset-left) - var(--safe-area-inset-right));\n height: 100%;\n\n .horizontal-nav-bar {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n }\n\n .vertical-nav-bar {\n position: absolute;\n top: var(--horizontal-nav-bar-size);\n bottom: 0;\n left: 0;\n z-index: 1;\n }\n\n .nav-content-container {\n position: absolute;\n top: calc(var(--horizontal-nav-bar-size) + var(--safe-area-inset-top));\n right: 0;\n bottom: 0;\n left: var(--vertical-nav-bar-size);\n z-index: 0;\n overflow: hidden;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .main-nav-bars-container {\n .nav-content-container {\n left: 0;\n bottom: var(--vertical-nav-bar-size);\n }\n\n .vertical-nav-bar {\n top: initial;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.share-prompt-container {\n .buttons-container {\n display: flex;\n flex-direction: row;\n\n .button-container {\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 1rem;\n\n &:not(:last-child) {\n margin-right: 1rem;\n }\n\n .icon {\n flex: none;\n height: 1.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .facebook-button, .x-button, .reddit-button {\n border-radius: var(--border-radius);\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n\n .facebook-button {\n background-color: var(--color-facebook);\n }\n\n .x-button {\n background-color: var(--color-x);\n }\n\n .reddit-button {\n background-color: var(--color-reddit);\n }\n }\n\n .url-container {\n display: flex;\n flex-direction: row;\n margin-top: 1rem;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n\n .url-text-input {\n flex: 1;\n align-self: stretch;\n padding: 1rem;\n font-size: 1.1rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .copy-button {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n width: 8rem;\n padding: 1rem;\n border-radius: 0 var(--border-radius) var(--border-radius) 0;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 1.2rem;\n height: 1.2rem;\n margin-right: 0.5rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 2.4em;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.action-button-container {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n gap: 1rem;\n border-radius: 100%;\n background-color: var(--overlay-color);\n backdrop-filter: blur(5px);\n transition: background-color 0.1s ease-out;\n\n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n .icon-container {\n flex: none;\n\n .icon {\n display: block;\n height: 1.75rem;\n width: 1.75rem;\n color: var(--primary-foreground-color);\n opacity: 0.9;\n }\n }\n\n .label-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .label {\n flex: 1;\n font-size: 1rem;\n font-weight: 500;\n max-height: 2.4em;\n padding: 0 0.2rem;\n text-align: center;\n color: var(--primary-foreground-color);\n opacity: 0.9;\n }\n }\n}\n\n@media @phone-landscape {\n .action-button-container {\n .label-container {\n display: none;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .action-button-container {\n flex-direction: row;\n padding: 0 1rem;\n\n .icon-container {\n width: 2rem;\n\n .icon {\n width: 2rem;\n height: 2rem;\n }\n }\n\n .label-container {\n display: none;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.tooltip-item {\n position: fixed;\n opacity: 0;\n\n &:global(.active) {\n opacity: 1;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.tooltip-placeholder {\n z-index: -1;\n visibility: hidden;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.meta-links-container {\n .label-container {\n margin-bottom: 0.75rem;\n text-transform: uppercase;\n font-size: 0.95rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n\n .links-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n .link-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n margin-right: 0.75rem;\n margin-bottom: 0.75rem;\n padding: 0.4rem 1.25rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n border-radius: 2rem;\n border: var(--focus-outline-size) solid transparent;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n backdrop-filter: blur(5px);\n\n &:hover, &:focus {\n background-color: @color-surface-light5-30;\n }\n\n &:focus {\n outline: none;\n border-color: @color-surface-light5;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.meta-preview-placeholder-container {\n display: flex;\n flex-direction: column;\n\n .meta-info-container {\n flex: 1;\n align-self: stretch;\n\n .logo-container {\n width: 20rem;\n height: 8rem;\n max-width: 100%;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n\n .duration-release-info-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n margin: 1rem 0;\n\n .duration-container {\n flex-basis: 5rem;\n height: 1.4rem;\n margin-right: 1rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n\n .release-info-container {\n flex-basis: 5rem;\n height: 1.4rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n\n .genres-container {\n margin: 1rem 0;\n\n .genres-header-container {\n width: 6.5rem;\n height: 1.6rem;\n max-width: 100%;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n\n .genre-label-container {\n width: 10rem;\n height: 1.2rem;\n max-width: 100%;\n margin-top: 0.2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n }\n\n .action-buttons-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n height: 4rem;\n margin-bottom: 1rem;\n border-radius: 4rem;\n background-color: var(--color-placeholder-background);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.meta-preview-container {\n position: relative;\n z-index: 0;\n display: flex;\n flex-direction: column;\n\n &.compact {\n .meta-info-container {\n .logo, .logo-placeholder {\n width: 100%;\n height: 6rem;\n }\n\n .runtime-release-info-container {\n justify-content: space-between;\n\n .runtime-label, .release-info-label {\n margin: 1rem 0.4rem;\n }\n }\n\n .description-container {\n max-height: none;\n }\n }\n\n .action-buttons-container {\n justify-content: space-between;\n\n .action-button:not(:last-child) {\n margin-right: 0;\n }\n }\n }\n\n .background-image-layer {\n position: absolute;\n top: -10px;\n right: -10px;\n bottom: -10px;\n left: -10px;\n z-index: -1;\n\n .background-image {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n filter: blur(10px);\n opacity: 0.3;\n }\n }\n\n .meta-info-container {\n flex: 1;\n align-self: stretch;\n overflow-y: auto;\n\n &:not(:hover) {\n scrollbar-color: transparent transparent;\n\n &::-webkit-scrollbar-thumb, &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n }\n\n .logo, .logo-placeholder {\n display: block;\n max-width: 100%;\n margin-bottom: 2rem;\n }\n\n .logo {\n height: 9rem;\n object-fit: contain;\n object-position: center;\n }\n\n .logo-placeholder {\n font-size: 1.7rem;\n color: @color-surface-light5-90;\n }\n\n .runtime-release-info-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n margin-top: 1rem;\n\n .runtime-label, .release-info-label {\n flex: 0 1 auto;\n margin-right: 3rem;\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--primary-foreground-color);\n }\n\n .imdb-button-container {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n border-radius: 0.5rem;\n border: var(--focus-outline-size) solid transparent;\n padding: 0rem 0.5rem;\n\n &:focus {\n outline: none;\n border: var(--focus-outline-size) solid @color-surface-light5;\n }\n\n .label {\n flex: 0 1 auto;\n margin-right: 1rem;\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 3rem;\n height: 3rem;\n color: var(--color-imdb);\n }\n }\n }\n\n .description-container {\n margin-top: 1rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 2em;\n color: var(--primary-foreground-color);\n .label-container {\n text-transform: uppercase;\n font-size: 0.95rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n }\n\n .meta-links {\n margin-top: 1.5rem;\n }\n }\n\n .action-buttons-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n flex-wrap: wrap;\n padding-top: 3.5rem;\n overflow: visible;\n\n .label {\n position: absolute;\n top: -3rem;\n left: 0;\n opacity: 0;\n transition: opacity 0.3s ease; \n text-align: center;\n color: var(--primary-foreground-color);\n overflow: visible;\n }\n\n &:not(:last-child) {\n margin-right: 1rem;\n }\n\n &:hover {\n .label {\n opacity: 0.7;\n }\n }\n \n .action-button {\n flex: none;\n width: 4rem;\n height: 4rem;\n margin-bottom: 1rem;\n\n &:global(.wide) {\n width: auto;\n padding: 0 2rem;\n border-radius: 4rem;\n }\n\n &:not(:last-child) {\n margin-right: 1rem;\n }\n\n &.show-button {\n &:hover, &:focus {\n background-color: var( --secondary-accent-color);\n outline: none;\n }\n }\n }\n }\n\n .ratings {\n margin-bottom: 1rem;\n margin-right: 1rem;\n }\n}\n\n.share-prompt {\n width: 30rem;\n}\n\n\n@media @phone-landscape {\n .meta-preview-container {\n .meta-info-container {\n .logo {\n height: 5rem;\n margin-bottom: 1rem;\n }\n }\n\n .action-buttons-container {\n padding-top: 1.5rem;\n gap: 0.5rem;\n\n .action-button {\n padding: 0 1.5rem !important;\n margin-right: 0rem !important;\n height: 3rem;\n border-radius: 2rem;\n }\n }\n\n .ratings {\n margin-right: 0;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .meta-preview-container {\n .meta-info-container {\n .logo {\n margin: 2rem auto;\n }\n\n .runtime-release-info-container {\n justify-content: space-between;\n\n .runtime-label, .release-info-label {\n margin: 0;\n }\n }\n }\n\n .action-buttons-container {\n flex-shrink: 0;\n margin-top: 3rem;\n overflow: visible;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n }\n\n .share-prompt {\n width: auto;\n }\n}","// Copyright (C) 2017-2025 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n@height: 4rem;\n@width: 4rem;\n@height-mobile: 3rem;\n@width-mobile: 3rem;\n\n\n.ratings-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-start;\n background-color: var(--overlay-color);\n border-radius: 2rem;\n height: @height;\n width: fit-content;\n\n .icon-container {\n display: flex;\n justify-content: center;\n align-items: center;\n height: @height;\n width: @width;\n padding: 0 1rem;\n cursor: pointer;\n\n .icon {\n width: calc(@width / 2);\n height: calc(@height / 2);\n color: var(--primary-foreground-color);\n opacity: 0.7;\n\n &:hover {\n opacity: 1;\n }\n }\n\n &.disabled {\n pointer-events: none;\n }\n }\n}\n\n@media @phone-landscape {\n .ratings-container {\n height: @height-mobile;\n\n .icon-container {\n height: @height-mobile;\n width: @width-mobile;\n\n .icon {\n width: 1.75rem;\n height: 1.75rem;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.meta-row-placeholder-container {\n .header-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n padding: 0 1rem;\n margin-bottom: 0.5rem;\n\n .title-container {\n flex: 1;\n max-height: 2.4em;\n font-size: 1.6rem;\n font-weight: 500;\n color: var(--color-placeholder-text);\n\n &:empty {\n height: 1.2em;\n background: linear-gradient(to right, var(--color-placeholder-background) 0 40%, transparent 40% 100%);\n }\n }\n\n .see-all-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n max-width: 12rem;\n padding: 0.2rem;\n\n &:focus {\n outline: none;\n background-color: var(--color-placeholder-background);\n }\n\n .label {\n flex: 0 1 auto;\n max-height: 1.2em;\n font-size: 1rem;\n font-weight: 500;\n color: var(--color-placeholder-text);\n }\n\n .icon {\n flex: none;\n height: 1rem;\n margin-left: 0.5rem;\n color: var(--color-placeholder-text);\n }\n }\n }\n\n .meta-items-container {\n display: flex;\n flex-direction: row;\n align-items: stretch;\n\n .meta-item {\n flex: 1;\n margin: 1rem;\n\n &:not(:first-child) {\n margin-left: 1.5rem;\n }\n\n .poster-container {\n border-radius: var(--border-radius);\n padding-bottom: calc(100% * var(--poster-shape-ratio));\n background-color: var(--color-placeholder-background);\n }\n\n .title-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 2.8rem;\n\n .title-label {\n flex: none;\n width: 60%;\n height: 1.2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .meta-row-placeholder-container {\n .meta-items-container {\n .meta-item {\n margin: 0.5rem;\n\n &:not(:first-child) {\n margin-left: 0.5rem;\n }\n\n .title-bar-container {\n margin-top: 0.5rem;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.meta-row-container {\n overflow: visible;\n\n .header-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n padding: 0 1rem;\n margin-bottom: 0.25rem;\n\n .title-container {\n flex: 1;\n max-height: 2.4em;\n font-size: 1.6rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .see-all-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n max-width: 12rem;\n height: 2.5rem;\n padding: 0 0.5rem 0 1rem;\n border-radius: 2.5rem;\n opacity: 0.6;\n\n &:hover, &:focus {\n outline: none;\n background-color: var(--overlay-color);\n opacity: 1;\n }\n\n .label {\n flex: 0 1 auto;\n max-height: 1.2em;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n height: 1.5rem;\n margin-left: 0.5rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .message-container {\n max-height: 3.6em;\n padding: 0 0.5rem;\n font-size: 1.3rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .meta-items-container {\n display: flex;\n flex-direction: row;\n align-items: stretch;\n overflow: visible;\n\n .meta-item {\n &.poster-shape-poster {\n flex: calc(1 / var(--poster-shape-ratio));\n }\n\n &.poster-shape-square {\n flex: 1;\n }\n\n &.poster-shape-landscape {\n flex: calc(1 / var(--landscape-shape-ratio));\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .meta-row-container {\n .header-container {\n padding: 0 0.5rem;\n\n .title-container {\n margin-right: 0.5rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n\n .meta-items-container {\n .meta-item {\n &:not(:first-child) {\n margin-left: 0;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@height: 3rem;\n\n.option {\n height: @height;\n font-size: var(--font-size-normal);\n color: var(--primary-foreground-color);\n align-items: center;\n display: flex;\n flex-direction: row;\n padding: 1rem;\n\n .label {\n flex: 1;\n color: var(--primary-foreground-color);\n }\n \n .icon {\n flex: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n margin-left: 1rem;\n background-color: var(--secondary-accent-color);\n opacity: 1;\n }\n\n &:hover {\n background-color: rgba(255, 255, 255, 0.15);\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n@parent-height: 12rem;\n@item-height: 3rem;\n\n.dropdown {\n background: var(--modal-background-color);\n display: none;\n position: absolute;\n width: 100%;\n top: 100%;\n left: 0;\n z-index: 10;\n box-shadow: var(--outer-glow);\n border-radius: var(--border-radius);\n overflow: hidden;\n\n &.open {\n display: block;\n max-height: calc(@item-height * 7);\n overflow: auto;\n }\n\n .back-button {\n display: flex;\n align-items: center;\n gap: 0 0.5rem;\n padding: 0.75rem;\n color: var(--primary-foreground-color);\n\n .back-button-icon {\n width: 1.5rem;\n }\n }\n}\n\n@media (orientation: landscape) and (max-width: @xsmall) {\n .dropdown {\n &.open {\n max-height: calc(100dvh - var(--horizontal-nav-bar-size) - @parent-height);\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@border-radius: 2.75rem;\n@height: 3rem;\n\n.multiselect-menu {\n position: relative;\n min-width: 8.5rem;\n overflow: visible;\n border-radius: @border-radius;\n\n &.disabled {\n pointer-events: none;\n opacity: 0.3;\n }\n\n .multiselect-button {\n height: @height;\n padding: 0.75rem 1.5rem;\n display: flex;\n flex: 1;\n justify-content: space-between;\n align-items: center;\n gap: 0 0.5rem;\n border-radius: @border-radius;\n\n .label {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n width: 1rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n\n &.open {\n transform: rotate(180deg);\n }\n }\n }\n\n &:hover, &.active {\n background-color: var(--overlay-color);\n }\n}","// Copyright (C) 2017-2025 Smart code 203358507\n\n.number-input {\n user-select: text;\n display: flex;\n max-width: 14rem;\n height: 3.5rem;\n margin-bottom: 1rem;\n color: var(--primary-foreground-color);\n background: var(--overlay-color);\n border-radius: 3.5rem;\n\n .button {\n flex: none;\n width: 3.5rem;\n height: 3.5rem;\n padding: 1rem;\n background: var(--overlay-color);\n border: none;\n border-radius: 100%;\n cursor: pointer;\n z-index: 1;\n\n .icon {\n width: 100%;\n height: 100%;\n }\n }\n\n .number-display {\n display: flex;\n flex: 1;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 0 1rem;\n\n &::-moz-focus-inner {\n border: none;\n }\n\n .label {\n font-size: 0.8rem;\n font-weight: 400;\n opacity: 0.7;\n }\n\n .value {\n font-size: 1.2rem;\n display: flex;\n justify-content: center;\n width: 100%;\n color: var(--primary-foreground-color);\n text-align: center;\n appearance: none;\n\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.radio-button {\n display: flex;\n align-items: center;\n overflow: visible;\n\n .radio-container {\n position: relative;\n width: 1.75rem;\n height: 1.75rem;\n border: 3px solid var(--color-placeholder);\n border-radius: 1rem;\n background-color: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease-in-out;\n cursor: pointer;\n outline: none;\n user-select: none;\n outline-width: var(--focus-outline-size);\n outline-color: @color-surface-light5;\n outline-offset: calc(-1 * var(--focus-outline-size));\n\n input[type='radio'] {\n opacity: 0;\n width: 0;\n height: 0;\n position: absolute;\n cursor: pointer;\n }\n\n .inner-circle {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 1.25rem;\n height: 1.25rem;\n border-radius: 0.675rem;\n border: 2px solid var(--secondary-background-color);\n transition: opacity 0.2s ease-in-out;\n background-color: transparent;\n opacity: 0;\n }\n\n &.disabled {\n cursor: not-allowed;\n }\n\n &.error {\n border-color: var(--color-trakt);\n }\n\n &.selected {\n .inner-circle {\n background-color: var(--primary-accent-color);\n opacity: 1;\n }\n }\n\n &:focus {\n outline-style: solid;\n }\n }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n.search-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3.5rem;\n padding: 0 1rem;\n border-radius: 3.5rem;\n border: var(--focus-outline-size) solid transparent;\n background-color: var(--color-placeholder-background);\n\n .search-input {\n flex: 1;\n max-height: 1.2em;\n margin-right: 1rem;\n font-size: 1.1rem;\n color: var(--color-placeholder-text);\n }\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--color-placeholder-background);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.search-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3rem;\n padding: 0 1.5rem;\n border-radius: 3rem;\n border: var(--focus-outline-size) solid transparent;\n background-color: var(--overlay-color);\n cursor: text;\n\n &:focus-within {\n border: var(--focus-outline-size) solid var(--primary-foreground-color);\n }\n\n .search-input {\n flex: 1;\n margin-right: 1rem;\n font-size: 1rem;\n color: var(--primary-foreground-color);\n\n &::placeholder {\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n }\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n@audio-boost-background: linear-gradient(to right,\n var(--primary-foreground-color) 0%,\n var(--primary-foreground-color) 50%,\n var(--warning-accent-color) 75%,\n var(--danger-accent-color) 100%) !important;\n\nhtml.active-slider-within {\n cursor: grabbing;\n\n body {\n pointer-events: none;\n }\n}\n\n.slider-container {\n position: relative;\n z-index: 0;\n overflow: visible;\n cursor: pointer;\n\n &:global(.disabled) {\n pointer-events: none;\n opacity: 0.5;\n }\n\n .layer {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n overflow: visible;\n }\n\n .track {\n z-index: 0;\n flex: 1;\n width: 100%;\n height: var(--track-size);\n border-radius: var(--track-size);\n background-color: var(--primary-accent-color);\n opacity: 0.2;\n\n &.audio-boost {\n opacity: 0.3;\n background: @audio-boost-background;\n }\n }\n\n .track-before {\n z-index: 1;\n flex: none;\n height: var(--track-size);\n border-radius: var(--track-size);\n background-color: var(--overlay-color);\n }\n\n .track-after {\n z-index: 2;\n flex: none;\n width: 100%;\n height: var(--track-size);\n border-radius: var(--track-size);\n background-color: var(--primary-foreground-color);\n mask-image: linear-gradient(to right,\n black 0%,\n black var(--mask-width),\n transparent var(--mask-width)\n );\n\n &.audio-boost {\n background: @audio-boost-background;\n }\n }\n\n .thumb {\n z-index: 3;\n flex: none;\n width: var(--thumb-size);\n height: var(--thumb-size);\n transform: translateX(-50%);\n background-color: var(--primary-foreground-color);\n border-radius: 100%;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n@height: 1.7rem;\n@width: 3.2rem;\n@thumb-margin: 0.5rem;\n\n@thumb-size: calc(@height - @thumb-margin);\n\n.toggle-container {\n position: relative;\n \n .toggle {\n position: relative;\n width: @width;\n height: @height;\n border-radius: @height;\n background-color: var(--overlay-color);\n transition: background-color 0.1s ease-in-out;\n\n &::before {\n content: \"\";\n position: absolute;\n height: @thumb-size;\n width: @thumb-size;\n top: calc(@thumb-margin / 2);\n left: calc(@thumb-margin / 2);\n border-radius: 50%;\n background-color: var(--primary-foreground-color);\n transition: transform 0.1s ease-in-out;\n }\n }\n\n &:global(.checked) {\n .toggle {\n background-color: var(--secondary-accent-color);\n\n &::before {\n transform: translateX(calc(@width - @thumb-size - @thumb-margin));\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.video-placeholder-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0.5rem 1rem;\n\n .info-container {\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: 3rem;\n margin: 0.5rem 1rem;\n\n .name-container {\n width: 80%;\n height: 1.2rem;\n border-radius: var(--border-radius);\n background: var(--color-placeholder-background);\n }\n\n .released-container {\n height: 1rem;\n border-radius: var(--border-radius);\n background: var(--color-placeholder-background);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Popup/styles.less') {\n context-menu-container: menu-container;\n menu-direction-top-left: menu-direction-top-left;\n menu-direction-bottom-left: menu-direction-bottom-left;\n menu-direction-top-right: menu-direction-top-right;\n menu-direction-bottom-right: menu-direction-bottom-right;\n}\n\n.video-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n padding: 0.5rem;\n margin-bottom: 0.5rem;\n border-radius: var(--border-radius);\n\n &:hover,\n &:focus,\n &:global(.active) {\n background-color: var(--overlay-color);\n }\n\n .thumbnail-container {\n flex: none;\n position: relative;\n border-radius: 0.3rem;\n overflow: hidden;\n\n .thumbnail {\n pointer-events: none;\n display: block;\n height: 5rem;\n width: 8rem;\n object-fit: cover;\n object-position: center;\n opacity: 0.9;\n background-color: var(--overlay-color);\n\n &.blurred {\n filter: blur(0.5rem);\n -webkit-filter: blur(0.5rem);\n }\n }\n\n .placeholder-icon {\n display: block;\n height: 5rem;\n width: 8rem;\n padding: 1rem;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n opacity: 0.25;\n }\n\n .progress-bar-container {\n position: absolute;\n bottom: 0.5rem;\n left: 0.5rem;\n right: 0.5rem;\n border-radius: var(--border-radius);\n\n .progress-bar {\n z-index: 1;\n position: relative;\n height: 0.4rem;\n background-color: var(--primary-accent-color);\n }\n\n .progress-bar-background {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-foreground-color);\n opacity: 0.2;\n }\n }\n }\n\n .info-container {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0 0.5rem 0 1.5rem;\n\n .title-container {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n margin-bottom: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .flex-row-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n\n .released-container {\n flex: 1;\n margin-right: 0.5rem;\n padding: 0.2rem 0;\n font-size: 0.8rem;\n font-weight: 500;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n opacity: 0.44;\n }\n\n .upcoming-watched-container {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 1.6rem;\n border-radius: 0.3rem;\n\n &>:nth-child(2) {\n margin-left: 0.5rem;\n }\n\n .upcoming-container,\n .watched-container {\n flex: none;\n display: flex;\n align-items: center;\n height: 100%;\n padding: 0 0.5rem;\n max-width: 10rem;\n\n &:not(:only-child) {\n max-width: 5rem;\n }\n\n .flag-icon {\n height: 1.15rem;\n width: 1.15rem;\n margin-right: 0.25rem;\n color: var(--secondary-foreground-color);\n }\n\n .flag-label {\n font-size: 0.8rem;\n font-weight: 800;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-transform: uppercase;\n color: var(--secondary-foreground-color);\n }\n }\n\n .upcoming-container {\n background-color: var(--secondary-accent-color);\n }\n\n .watched-container {\n background-color: var(--tertiary-accent-color);\n }\n }\n }\n }\n\n .context-menu-container {\n max-width: calc(90% - 1.5rem);\n z-index: 2;\n\n .context-menu-content {\n --spatial-navigation-contain: contain;\n\n .context-menu-option-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 1rem 1.5rem;\n\n &:hover,\n &:focus {\n background-color: var(--overlay-color);\n }\n\n .context-menu-option-label {\n font-size: 1rem;\n font-weight: 500;\n color:var(--primary-foreground-color);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .video-container {\n .context-menu-container {\n &.menu-direction-top-left,\n &.menu-direction-bottom-left {\n right: 1.5rem;\n }\n\n &.menu-direction-top-right,\n &.menu-direction-bottom-right {\n left: 1.5rem;\n }\n\n &.menu-direction-top-left,\n &.menu-direction-top-right {\n bottom: 90%;\n }\n\n &.menu-direction-bottom-left,\n &.menu-direction-bottom-right {\n top: 90%;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.toast-item-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n width: 25rem;\n margin-bottom: 1rem;\n overflow: visible;\n box-shadow: var(--outer-glow);\n background-color: var(--modal-background-color);\n pointer-events: auto;\n border-radius: var(--border-radius);\n border: 0.4px solid var(--primary-accent-color);\n backdrop-filter: blur(10px);\n padding: 1rem;\n &.success {\n .icon-container {\n .icon {\n color: @color-accent3;\n }\n }\n }\n\n &.error {\n .icon-container {\n .icon {\n color: var(--color-trakt);\n }\n }\n }\n\n &.info {\n .icon-container {\n background-color: @color-primary-light2;\n\n .icon {\n color: @color-surface-light5-90;\n }\n }\n }\n\n .icon-container {\n border-radius: 3px;\n background-color: var(--overlay-color);\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n max-width: 2rem;\n }\n }\n\n .info-container {\n flex: 1;\n align-self: stretch;\n padding: 0.2rem 1rem;\n\n .title-container {\n font-size: 1.2rem;\n color: var(--primary-foreground-color);\n\n &:not(:last-child) {\n margin-bottom: 0.2rem;\n }\n }\n\n .message-container {\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n }\n\n .close-button-container {\n width: 2rem;\n height: 2rem;\n border-radius: 3px;\n \n .icon {\n display: block;\n width: 100%;\n height: 100%;\n color: var(--primary-foreground-color);\n opacity: 0.4;\n }\n\n &:hover {\n .icon {\n opacity: 1;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.addon-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 1.5rem;\n border: 0.15rem solid transparent;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n transition: border-color 0.1s ease-out;\n cursor: pointer;\n\n &:hover {\n border-color: var(--overlay-color);\n }\n\n .logo-container {\n flex: none;\n width: 8rem;\n height: 8rem;\n\n .logo {\n display: block;\n width: 100%;\n height: 100%;\n padding: 0.5rem;\n object-fit: contain;\n object-position: center;\n }\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n padding: 1rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .info-container {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: 0;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: baseline;\n padding: 0 0.5rem;\n\n .name-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n padding: 0 0.5rem;\n max-height: 3.6em;\n font-size: 1.6rem;\n color: var(--primary-foreground-color);\n }\n\n .version-container {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: auto;\n margin-top: 0.5rem;\n padding: 0 0.5rem;\n max-height: 2.4em;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .types-container {\n flex-grow: 0;\n flex-shrink: 0;\n flex-basis: 100%;\n margin-top: 0.5rem;\n padding: 0 0.5rem;\n max-height: 2.4em;\n color: var(--primary-foreground-color);\n text-transform: capitalize;\n opacity: 0.4;\n }\n\n .description-container {\n flex-grow: 0;\n flex-shrink: 0;\n flex-basis: 100%;\n margin-top: 0.5rem;\n padding: 0 0.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .buttons-container {\n flex: none;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 17rem;\n\n .action-buttons-container {\n flex: auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1rem;\n }\n\n .install-button-container, .configure-button-container, .uninstall-button-container, .share-button-container {\n flex: auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n height: 3.5rem;\n padding: 0 1rem;\n border-radius: 4rem;\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 2.4em;\n font-size: 1.1rem;\n font-weight: 700;\n text-align: center;\n }\n }\n\n .install-button-container {\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .label {\n color: var(--primary-foreground-color)\n }\n }\n\n .configure-button-container {\n flex: none;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .icon {\n color: var(--primary-foreground-color)\n }\n }\n\n .uninstall-button-container {\n outline-color: var(--primary-foreground-color);\n outline-style: solid;\n opacity: 0.3;\n\n &:hover {\n opacity: 1;\n }\n\n .label {\n color: var(--primary-foreground-color);\n }\n }\n\n .share-button-container {\n opacity: 0.9;\n\n &:hover {\n .label {\n text-decoration: underline;\n }\n }\n\n .icon {\n height: 1.5rem;\n width: 1.5rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n color: var(--primary-foreground-color);\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .addon-container {\n flex-wrap: wrap;\n\n .info-container {\n margin-left: 0.5rem;\n padding: 0;\n\n .name-container {\n max-height: none;\n font-size: 1.3rem;\n }\n }\n\n .buttons-container {\n flex: 0 1 100%;\n width: auto;\n margin-top: 1rem;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n .share-button-container {\n flex: none;\n\n .icon {\n margin-right: 0;\n }\n\n .label {\n display: none;\n }\n }\n\n .install-button-container, .uninstall-button-container {\n flex-basis: 100%;\n margin-right: 1rem;\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n}\n\n:import('~stremio/components/ModalDialog/styles.less') {\n share-modal-content: modal-dialog-content;\n}\n\n:import('~stremio/components/ModalDialog/styles.less') {\n addon-modal-content: modal-dialog-content;\n cancel-button-label: label;\n}\n\n:import('~stremio/components/ModalDialog/styles.less') {\n filters-modal-container: modal-dialog-container;\n filters-modal-content: modal-dialog-content;\n}\n\n.addons-container {\n height: calc(100% - var(--safe-area-inset-bottom));\n background-color: transparent;\n\n .addons-content {\n width: 100%;\n height: 100%;\n margin-bottom: calc(var(--bottom-overlay-size) * -1);\n display: flex;\n flex-direction: column;\n align-self: stretch;\n\n .addons-list-container {\n padding: 0 1.5rem;\n z-index: 1;\n }\n\n .selectable-inputs-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 1.5rem;\n overflow: visible;\n z-index: 2;\n\n .add-button-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 3rem;\n margin-right: 1.5rem;\n padding: 0 1.5rem;\n border-radius: 3rem;\n background-color: var(--secondary-accent-color);\n z-index: 3;\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 1.2rem;\n height: 1.2rem;\n margin-right: 0.5rem;\n color: var(--primary-foreground-color);\n }\n\n .add-button-label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 2.4em;\n font-size: 1rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n }\n }\n\n .select-input-container {\n background-color: var(--overlay-color);\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: 15rem;\n margin-right: 1.5rem;\n\n .multiselect-menu-container {\n overflow: auto;\n }\n }\n\n .spacing {\n flex: 1;\n }\n\n .search-bar {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: 18rem;\n }\n\n .filter-button {\n flex: none;\n display: none;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n\n .filter-icon {\n flex: none;\n width: 1.4rem;\n height: 1.4rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .message-container {\n flex: 1;\n align-self: stretch;\n padding: 0 1.5rem;\n font-size: 2rem;\n color: var(--primary-foreground-color);\n }\n\n .addons-list-container {\n flex: 1;\n align-self: stretch;\n overflow-y: auto;\n\n .addon {\n margin-bottom: 1.5rem;\n }\n }\n }\n}\n\n.filters-modal {\n .filters-modal-container {\n overflow: visible;\n\n .filters-modal-content {\n display: flex;\n flex-direction: column;\n overflow: visible !important;\n\n .select-input-container {\n height: 3rem;\n\n .multiselect-menu-container {\n overflow: auto;\n }\n\n &:not(:last-child) {\n margin-bottom: 1rem;\n }\n }\n }\n }\n}\n\n.add-addon-modal-container {\n .addon-modal-content {\n width: 30rem;\n\n .notice {\n margin-bottom: 1.5rem;\n font-size: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .addon-url-input {\n width: 100%;\n padding: 1rem;\n color: var(--primary-foreground-color);\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n outline: var(--focus-outline-size) solid var(--overlay-color);\n outline-offset: calc(-1 * var(--focus-outline-size));\n\n &:hover {\n outline-color: var(--primary-foreground-color);\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n }\n }\n\n .cancel-button {\n background-color: transparent;\n opacity: 0.3;\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n opacity: 1;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .cancel-button-label {\n color: var(--primary-foreground-color);\n }\n }\n}\n\n.share-modal-container {\n .share-modal-content {\n width: 30rem;\n\n .title-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .logo, .icon {\n float: left;\n width: 5rem;\n height: 5rem;\n margin-right: 1.5rem;\n padding: 0.5rem;\n }\n\n .logo {\n object-fit: contain;\n object-position: center;\n }\n\n .icon {\n color: var(--primary-foreground-color);\n }\n\n .name-container {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: 0;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: baseline;\n\n .name {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n margin-right: 0.5rem;\n font-size: 1.6rem;\n color: var(--primary-foreground-color);\n }\n\n .version {\n flex-grow: 1;\n flex-shrink: 1;\n flex-basis: auto;\n margin-top: 0.5rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .share-prompt-container {\n margin-top: 1rem;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .addons-container {\n .addons-content {\n .selectable-inputs-container {\n .add-button-container {\n z-index: 1;\n position: fixed;\n right: 0;\n bottom: calc(3rem + var(--horizontal-nav-bar-size));\n }\n\n .select-input-container {\n display: none;\n }\n\n .spacing {\n display: none;\n }\n\n .search-bar {\n flex-basis: 100%;\n margin-right: 1rem;\n }\n\n .filter-button {\n display: flex;\n }\n }\n }\n }\n\n .share-modal-container {\n .share-modal-content {\n width: auto;\n }\n }\n\n .add-addon-modal-container {\n .addon-modal-content {\n width: auto;\n\n .notice {\n margin-bottom: 1rem;\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n@placeholder-opacity: 0.1;\n@padding: 1.5rem;\n@small-padding: 1rem;\n@logo-size: 8rem;\n\n.placeholder-pill(@width: 100%, @height: 1.3rem) {\n background-color: var(--primary-foreground-color);\n border-radius: var(--border-radius);\n opacity: @placeholder-opacity;\n width: @width;\n height: @height;\n}\n\n.placeholder-logo(@size: @logo-size) {\n width: @size;\n height: @size;\n border-radius: 50%;\n background-color: var(--primary-foreground-color);\n opacity: @placeholder-opacity;\n}\n\n.addon-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: @padding;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n cursor: inherit;\n\n .content {\n display: flex;\n flex: 1;\n\n .logo-container {\n flex: none;\n .placeholder-logo(@logo-size);\n }\n\n .info-container {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n padding: @small-padding;\n flex: 1;\n\n .placeholder-pill:nth-child(1) {\n .placeholder-pill(40%);\n }\n\n .placeholder-pill:nth-child(2) {\n .placeholder-pill(60%);\n }\n\n .placeholder-pill:nth-child(3) {\n .placeholder-pill(80%);\n }\n\n .placeholder-pill:nth-child(4) {\n display: none;\n }\n }\n }\n\n .buttons-container {\n flex: none;\n display: flex;\n flex-direction: column;\n gap: @small-padding;\n width: 30%;\n max-width: 18rem;\n\n .action-buttons-container {\n display: flex;\n flex-direction: row;\n gap: @small-padding;\n\n .placeholder-pill:nth-child(1), .placeholder-pill:nth-child(2) {\n .placeholder-pill(50%, 3.5rem);\n }\n }\n\n .placeholder-pill:last-child {\n .placeholder-pill(100%, 3.5rem);\n }\n }\n}\n\n@media screen and (max-width: @minimum) {\n .addon-container {\n flex-direction: column;\n align-items: stretch;\n width: 100%;\n gap: 1rem;\n\n .content {\n flex-direction: row;\n width: 100%;\n\n .logo-container {\n margin: 0 auto;\n }\n\n .info-container {\n padding: 1rem;\n width: 100%;\n\n .placeholder-pill:nth-child(1) {\n .placeholder-pill(60%);\n }\n\n .placeholder-pill:nth-child(2) {\n .placeholder-pill(40%);\n }\n\n .placeholder-pill:nth-child(3) {\n .placeholder-pill(80%, 0.8rem);\n }\n\n .placeholder-pill:nth-child(4) {\n display: block;\n .placeholder-pill(20%, 0.8rem);\n }\n }\n }\n\n .buttons-container {\n flex-direction: column;\n align-items: stretch;\n width: 100%;\n gap: 0.5rem;\n max-width: none;\n\n .action-buttons-container {\n display: none;\n }\n }\n }\n}\n","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/MetaRow/styles.less') {\n meta-item: meta-item;\n}\n\n:import('~stremio/components/MetaRow/MetaRowPlaceholder/styles.less') {\n meta-item-placeholder: meta-item;\n}\n\n.board-container {\n width: 100%;\n height: calc(100% - var(--safe-area-inset-bottom));\n display: flex;\n flex-direction: column;\n\n .board-content-container {\n flex: 1;\n align-self: stretch;\n background: transparent;\n\n .board-content {\n height: 100%;\n width: 100%;\n padding: 0 1rem;\n overflow-y: auto;\n\n .board-row {\n margin-top: 1rem;\n margin-bottom: 2rem;\n }\n }\n }\n\n .board-warning-container {\n position: absolute;\n bottom: calc(var(--safe-area-inset-bottom) + 0.5rem);\n left: calc(var(--safe-area-inset-left) + 0.5rem);\n right: calc(var(--safe-area-inset-right) + 0.5rem);\n }\n}\n\n@media only screen and (max-width: @large) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+10) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+9) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @normal) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+9) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+8) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @medium) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+8) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+7) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+7) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+6) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+6) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+5) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxsmall) {\n .board-container {\n .board-content-container {\n .board-content {\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+5) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+4) {\n display: none;\n }\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .board-container {\n position: relative;\n z-index: 0;\n\n .board-content-container {\n .board-content {\n .board-row {\n margin-bottom: 1.5rem;\n }\n\n .board-row-poster, .board-row-square, .continue-watching-row {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+4) {\n display: none;\n }\n }\n }\n\n .board-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+3) {\n display: none;\n }\n }\n }\n }\n }\n \n .board-warning-container {\n bottom: calc(var(--vertical-nav-bar-size) + 0.5rem);\n height: 7rem;\n }\n }\n}\n\n@media @phone-landscape {\n .board-container {\n .board-warning-container {\n left: calc(var(--safe-area-inset-left) + var(--vertical-nav-bar-size) + 0.5rem);\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.warning-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 1rem;\n background-color: @color-accent5-dark3;\n border-radius: 0.5rem;\n box-shadow: 0rem 0.25rem 1rem rgba(0, 0, 0, 0.48), 0rem 0.5rem 3rem rgba(0, 0, 0, 0.64);\n\n .warning-statement {\n flex: 1;\n font-size: 1.2rem;\n max-height: 2.4em;\n color: @color-surface-light5-90;\n }\n\n .actions {\n display: flex;\n gap: 1rem;\n\n .action {\n flex: none;\n padding: 0.5rem 1rem;\n color: @color-surface-light5-90;\n background-color: rgba(0, 0, 0, 0.24);\n border-radius: var(--border-radius);\n \n &:first-child {\n margin-left: 0;\n }\n \n .label {\n font-size: 1.2rem;\n color: @color-surface-light5-90;\n }\n \n &:hover {\n .label {\n text-decoration: underline;\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .warning-container {\n flex-direction: column;\n text-align: center;\n padding: 1rem 0.5rem;\n\n .actions {\n justify-content: space-around;\n }\n }\n}\n","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-modal-container: modal-container;\n multiselect-option-container: option-container;\n multiselect-icon: icon;\n multiselect-label: label;\n}\n\n:import('~stremio/components/ModalDialog/styles.less') {\n selectable-inputs-modal-container: modal-dialog-container;\n selectable-inputs-modal-content: modal-dialog-content;\n}\n\n.discover-container {\n height: calc(100% - var(--safe-area-inset-bottom));\n background-color: transparent;\n\n .discover-content {\n width: 100%;\n height: 100%;\n margin-bottom: calc(var(--bottom-overlay-size) * -1);\n display: flex;\n flex-direction: row;\n\n .catalog-container {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n contain: strict;\n\n .meta-items-container {\n padding: 0 1.5rem;\n z-index: 1;\n }\n\n .selectable-inputs-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n padding: 1.5rem;\n overflow: visible;\n z-index: 2;\n\n .select-input {\n flex: 0 1 15rem;\n background-color: var(--overlay-color);\n\n &:not(:first-child) {\n margin-left: 1.5rem;\n }\n\n &:nth-child(n+4) {\n display: none;\n\n &~.filter-container {\n .filter-button {\n display: flex;\n }\n }\n }\n\n .multiselect-menu-container {\n overflow: auto;\n }\n }\n\n .filter-container {\n display: flex;\n flex: 1 0 5rem;\n justify-content: flex-end;\n\n .filter-button {\n flex: none;\n display: none;\n align-items: center;\n justify-content: center;\n width: 3rem;\n height: 3rem;\n margin-left: 1.5rem;\n border-radius: var(--border-radius);\n background-color: var(--overlay-color);\n\n .filter-icon {\n flex: none;\n width: 1.4rem;\n height: 1.4rem;\n color: var(--primary-foreground-color);\n }\n }\n }\n }\n\n .missing-addon-warning-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0 1.5rem 1.5rem 1.5rem;\n\n .warning-label {\n flex: none;\n max-height: 2.4em;\n margin-bottom: 1rem;\n font-size: 1.4rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .install-button {\n flex: none;\n min-width: 10rem;\n max-width: 15rem;\n padding: 1rem;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .label {\n max-height: 2.4em;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .message-container {\n flex: 0 1 auto;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0 1.5rem;\n overflow-y: auto;\n\n &:first-child {\n padding: 4rem;\n }\n\n .image {\n flex: none;\n width: 12rem;\n height: 12rem;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .message-label {\n flex: none;\n font-size: 2rem;\n font-weight: 400;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .meta-items-container {\n flex: 1;\n align-self: stretch;\n display: grid;\n grid-auto-rows: max-content;\n align-items: center;\n grid-gap: 0.5rem;\n margin-right: 1.5rem;\n overflow-y: auto;\n\n .meta-item-placeholder {\n padding: 1rem;\n\n .poster-container {\n padding-bottom: calc(100% * var(--poster-shape-ratio));\n background-color: var(--color-placeholder-background);\n border-radius: var(--border-radius);\n }\n\n .title-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 2.8rem;\n\n .title-label {\n flex: none;\n width: 60%;\n height: 1.2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n }\n }\n }\n\n .meta-preview-container {\n flex: none;\n align-self: stretch;\n width: 29rem;\n padding: 2rem 2.5rem;\n border-radius: var(--border-radius) 0 0 var(--border-radius);\n background-color: var(--modal-background-color);\n }\n }\n}\n\n.selectable-inputs-modal {\n .selectable-inputs-modal-container {\n overflow: visible;\n\n .selectable-inputs-modal-content {\n overflow: visible !important;\n\n .select-input {\n height: 3rem;\n display: none;\n\n &:nth-child(n+4) {\n display: flex;\n\n &:not(:last-child) {\n margin-bottom: 1rem;\n }\n }\n\n .multiselect-menu-container {\n max-height: calc(3rem * 3);\n overflow: auto;\n }\n }\n }\n }\n}\n\n@media only screen and (min-width: @xxlarge) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(10, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxlarge) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(9, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xlarge) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(8, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @large) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(7, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @normal) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(6, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @medium) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(5, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(4, 1fr);\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(5, 1fr);\n margin-right: 0;\n }\n }\n\n .meta-preview-container {\n display: none;\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxsmall) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .meta-items-container {\n grid-template-columns: repeat(4, 1fr);\n margin-right: 0;\n }\n }\n\n .meta-preview-container {\n display: none;\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .discover-container {\n .discover-content {\n .catalog-container {\n .selectable-inputs-container {\n justify-content: space-between;\n\n .select-input {\n &:nth-child(n+2) {\n display: none;\n\n &~.filter-container {\n .filter-button {\n display: flex;\n }\n }\n }\n }\n }\n\n .meta-items-container {\n grid-template-columns: repeat(3, 1fr);\n }\n }\n }\n }\n\n .selectable-inputs-modal {\n .selectable-inputs-modal-container {\n .selectable-inputs-modal-content {\n .select-input {\n display: none;\n\n &:nth-child(n+2) {\n display: flex;\n\n &:not(:last-child) {\n margin-bottom: 1rem;\n }\n }\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.not-found-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n background-color: transparent;\n\n .nav-bar {\n flex: none;\n align-self: stretch;\n }\n\n .not-found-content {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n .not-found-image {\n flex: none;\n width: 12rem;\n height: 12rem;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .not-found-label {\n flex: none;\n font-size: 2.5rem;\n max-height: 3.6em;\n max-width: 60%;\n text-align: center;\n color: @color-secondaryvariant2-light1-90;\n }\n }\n}","// Copyright (C) 2017-2025 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.placeholder {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100%;\n width: 100%;\n overflow-y: auto;\n\n .title {\n font-size: 1.75rem;\n font-weight: 400;\n text-align: center;\n color: var(--primary-foreground-color);\n margin-bottom: 1rem;\n opacity: 0.5;\n }\n\n .image-container {\n padding: 1.5rem 0;\n\n .image {\n height: 100%;\n max-height: 14rem;\n object-fit: contain;\n }\n }\n\n .overview {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4rem;\n margin-bottom: 1rem;\n\n .point {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1.5rem;\n width: 18rem;\n\n .icon {\n flex: none;\n height: 3.25rem;\n width: 3.25rem;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n\n .text {\n flex: auto;\n font-size: 1.1rem;\n font-size: 500;\n color: var(--primary-foreground-color);\n opacity: 0.9;\n }\n }\n }\n\n .button-container {\n margin: 1rem 0;\n \n .button {\n display: flex;\n justify-content: center;\n height: 4rem;\n line-height: 4rem;\n padding: 0 5rem;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n text-align: center;\n border-radius: 3.5rem;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .placeholder {\n padding: 1rem 2rem;\n\n .title {\n margin-bottom: 0;\n }\n\n .image-container {\n padding: 1rem;\n\n .image {\n max-height: 10rem;\n }\n }\n\n .button-container {\n margin: 1rem 0 0;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .placeholder {\n padding: 1rem 2rem;\n\n .overview {\n flex-direction: column;\n gap: 1rem;\n\n .point {\n .text {\n font-size: 1rem;\n }\n }\n }\n\n .button-container {\n .button {\n width: 100%;\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n}\n\n:import('~stremio/components/ModalDialog/styles.less') {\n selectable-inputs-modal-container: modal-dialog-container;\n selectable-inputs-modal-content: modal-dialog-content;\n}\n\n.library-container {\n height: calc(100% - var(--safe-area-inset-bottom));\n background-color: transparent;\n\n .library-content {\n width: 100%;\n height: 100%;\n margin-bottom: calc(var(--bottom-overlay-size) * -1);\n display: flex;\n flex-direction: column;\n\n .meta-items-container {\n padding: 0 1.5rem;\n z-index: 1;\n }\n\n .selectable-inputs-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n padding: 1.5rem;\n overflow: visible;\n z-index: 2;\n\n .select-input-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: 15rem;\n height: 2.75rem;\n background-color: var(--overlay-color);\n\n &:not(:last-child) {\n margin-right: 1.5rem;\n }\n\n .multiselect-menu-container {\n overflow: auto;\n }\n }\n }\n\n .message-container {\n flex: 0 1 auto;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0 1.5rem;\n overflow-y: auto;\n\n &:first-child {\n padding: 4rem;\n }\n\n .image {\n flex: none;\n width: 12rem;\n height: 12rem;\n margin-bottom: 2rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .message-label {\n flex: none;\n margin-bottom: 2rem;\n font-size: 2rem;\n font-weight: 400;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .meta-items-container {\n flex: 1;\n align-self: stretch;\n display: grid;\n grid-auto-rows: max-content;\n align-items: center;\n grid-gap: 0.5rem;\n overflow-y: auto;\n }\n }\n}\n\n.selectable-inputs-modal {\n .selectable-inputs-modal-container {\n overflow: visible;\n\n .selectable-inputs-modal-content {\n overflow: visible;\n\n .select-input-container {\n height: 3.5rem;\n\n &:not(:last-child) {\n margin-bottom: 1rem;\n }\n }\n }\n }\n}\n\n@media only screen and (min-width: @large) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(10, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @large) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(9, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @normal) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(8, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @medium) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(7, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(6, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(5, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxsmall) {\n .library-container {\n .library-content {\n .meta-items-container {\n grid-template-columns: repeat(4, 1fr);\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .library-container {\n .library-content {\n .selectable-inputs-container {\n justify-content: space-between;\n }\n\n .meta-items-container {\n grid-template-columns: repeat(3, 1fr);\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.selector {\n flex: none;\n position: relative;\n display: flex;\n gap: 1rem;\n align-items: center;\n justify-content: center;\n padding: 0 1rem;\n\n .prev, .next {\n position: relative;\n height: 3rem;\n width: 6rem;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n border-radius: 0.5rem;\n transition: background-color 0.1s ease-out;\n\n .label, .icon {\n color: var(--primary-foreground-color);\n opacity: 0.5;\n transition: opacity 0.1s ease-out;\n }\n\n .label {\n font-size: 1rem;\n font-weight: 500;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n\n .icon {\n height: 1.5rem;\n }\n\n &:hover {\n .label, .icon {\n opacity: 1;\n }\n\n background-color: var(--overlay-color);\n }\n }\n\n .prev {\n padding-left: 0.5rem;\n padding-right: 1.25rem;\n }\n\n .next {\n padding-left: 1.25rem;\n padding-right: 0.5rem;\n }\n\n .selected {\n position: relative;\n width: 8.5rem;\n text-align: center;\n\n .year {\n font-size: 1rem;\n font-weight: 500;\n line-height: 100%;\n color: var(--primary-foreground-color);\n opacity: 0.5;\n }\n\n .month {\n font-size: 1.5rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .selector {\n justify-content: space-between;\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.table {\n flex: auto;\n position: relative;\n display: flex;\n flex-direction: column;\n\n .week {\n flex: none;\n position: relative;\n height: 3rem;\n width: 100%;\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n align-items: center;\n\n .day {\n position: relative;\n padding: 0.5rem;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n\n .long {\n display: block;\n }\n\n .short {\n display: none;\n }\n }\n }\n\n .grid {\n flex: auto;\n position: relative;\n width: 100%;\n height: 100%;\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 1px;\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .table {\n .week {\n .day {\n .long {\n display: none;\n }\n\n .short {\n display: block;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.cell {\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n gap: 0.5rem;\n background-color: var(--overlay-color);\n border: 0.15rem solid transparent;\n overflow: hidden;\n cursor: pointer;\n transition: border-color 0.1s ease-out;\n\n &:first-child {\n border-radius: var(--border-radius) 0 0 0;\n }\n\n &:nth-child(7) {\n border-radius: 0 var(--border-radius) 0 0;\n }\n\n &:last-child {\n border-radius: 0 0 var(--border-radius) 0;\n }\n\n .heading {\n flex: none;\n position: relative;\n height: 3rem;\n display: flex;\n align-items: center;\n padding: 0 1rem;\n\n .day {\n flex: none;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 2rem;\n width: 2rem;\n border-radius: 100%;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n }\n\n .items {\n flex: 0 1 10rem;\n position: relative;\n display: flex;\n flex-direction: row;\n gap: 1rem;\n padding: 0 0.5rem 0.5rem 0.5rem;\n\n .item {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n aspect-ratio: 2 / 3;\n border-radius: var(--border-radius);\n\n .icon {\n flex: none;\n z-index: 1;\n position: absolute;\n width: 2rem;\n height: 2rem;\n padding: 0.5rem;\n border-radius: 50%;\n color: var(--primary-foreground-color);\n background-color: var(--secondary-accent-color);\n opacity: 0;\n }\n\n .poster {\n flex: auto;\n z-index: 0;\n position: relative;\n height: 100%;\n width: 100%;\n object-fit: cover;\n opacity: 1;\n }\n\n .icon, .poster {\n transition: opacity 0.1s ease-out;\n }\n\n &:hover {\n .icon {\n opacity: 1;\n }\n\n .poster {\n opacity: 0.5;\n }\n }\n }\n }\n\n .more {\n display: none;\n flex: none;\n width: 2rem;\n height: 2rem;\n padding: 0.5rem;\n align-self: center;\n color: var(--primary-foreground-color);\n }\n\n &.today {\n .heading {\n .day {\n background-color: var(--primary-accent-color);\n }\n }\n }\n\n &.active {\n border-color: var(--primary-foreground-color);\n }\n\n @media (pointer: fine) {\n &:not(.active):hover {\n border-color: var(--overlay-color);\n }\n }\n}\n\n@media only screen and (max-height: @minimum) and (orientation: portrait) {\n .cell {\n .heading {\n justify-content: center;\n }\n\n .items {\n display: none;\n }\n\n .more {\n display: flex;\n }\n }\n}\n\n@media only screen and (max-height: @xxsmall) and (orientation: landscape) {\n .cell {\n flex-direction: row;\n align-items: center;\n\n .items {\n display: none;\n }\n\n .more {\n display: flex;\n }\n }\n}\n\n@media only screen and (max-height: @xsmall) and (max-width: @xsmall) {\n .cell {\n gap: 0;\n\n .heading {\n height: 2rem;\n\n .day {\n font-size: 0.875rem;\n }\n }\n\n .items {\n padding: 0.25rem;\n\n .item {\n pointer-events: none;\n border-radius: calc(var(--border-radius) / 2);\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n.item {\n flex: none;\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: var(--overlay-color);\n border-radius: var(--border-radius);\n border: 0.15rem solid transparent;\n transition: border-color 0.1s ease-out;\n\n .heading {\n flex: none;\n position: relative;\n display: flex;\n align-items: center;\n height: 3.5rem;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n padding: 0 1rem;\n }\n\n .body {\n flex: auto;\n display: flex;\n flex-direction: column;\n\n .video {\n flex: none;\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n height: 3rem;\n padding: 0 1rem;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n\n &:last-child {\n border-radius: 0 0 var(--border-radius) var(--border-radius);\n }\n\n .name {\n flex: auto;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n\n .info {\n flex: none;\n display: block;\n }\n\n .icon {\n flex: none;\n display: none;\n width: 2rem;\n height: 2rem;\n padding: 0.5rem;\n border-radius: 50%;\n color: var(--primary-foreground-color);\n background-color: var(--secondary-accent-color);\n }\n\n &:hover {\n background-color: var(--overlay-color);\n\n .info {\n display: none;\n }\n\n .icon {\n display: block;\n }\n }\n }\n }\n\n &.placeholder {\n opacity: 0.7;\n pointer-events: none;\n\n .text {\n width: 8rem;\n height: 1.2rem;\n background-color: var(--overlay-color);\n border-radius: 0.2rem;\n }\n\n .video {\n flex: none;\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n height: 3rem;\n padding: 0 1rem;\n\n .name {\n flex: auto;\n width: 12rem;\n height: 1.2rem;\n background-color: var(--overlay-color);\n border-radius: 0.2rem;\n }\n\n .info {\n flex: none;\n width: 4rem;\n height: 1.2rem;\n background-color: var(--overlay-color);\n border-radius: 0.2rem;\n }\n }\n }\n\n &.today {\n .heading {\n background-color: var(--primary-accent-color);\n }\n }\n\n &.active {\n border-color: var(--primary-foreground-color);\n }\n\n &:not(.active):hover {\n border-color: var(--overlay-color);\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.list {\n flex: none;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 20rem;\n padding: 0 1rem;\n overflow-y: auto;\n \n @supports (scroll-padding-block-start: 0.15rem) {\n scroll-padding-block-start: 0.15rem;\n }\n}\n\n@media only screen and (max-width: @small) and (orientation: portrait) {\n .list {\n display: none;\n }\n}\n\n@media only screen and (max-width: @medium) and (orientation: landscape) {\n .list {\n width: 20rem;\n }\n}\n\n@media only screen and (max-width: @small) and (orientation: landscape) {\n .list {\n width: 17rem;\n }\n}\n\n@media only screen and (max-width: @xsmall) and (orientation: landscape) {\n .list {\n display: none;\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n.details {\n position: relative;\n\n .video {\n flex: none;\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n padding: 0 1.5rem;\n height: 4rem;\n font-size: 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n\n .name {\n flex: auto;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n\n .info {\n flex: none;\n display: block;\n }\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n padding: 0.5rem;\n border-radius: 50%;\n color: var(--primary-foreground-color);\n }\n\n &:hover, &:active {\n background-color: var(--overlay-color);\n\n .icon {\n display: block;\n background-color: var(--secondary-accent-color);\n }\n }\n }\n\n .placeholder {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 10rem;\n font-size: 1rem;\n color: var(--primary-foreground-color);\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.placeholder {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100%;\n width: 100%;\n overflow-y: auto;\n\n .title {\n font-size: 1.75rem;\n font-weight: 400;\n text-align: center;\n color: var(--primary-foreground-color);\n margin-bottom: 1rem;\n opacity: 0.5;\n }\n\n .image-container {\n padding: 1.5rem 0;\n\n .image {\n height: 100%;\n max-height: 14rem;\n object-fit: contain;\n }\n }\n\n .overview {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4rem;\n margin-bottom: 1rem;\n\n .point {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1.5rem;\n width: 18rem;\n\n .icon {\n flex: none;\n height: 3.25rem;\n width: 3.25rem;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n }\n\n .text {\n flex: auto;\n font-size: 1.1rem;\n font-size: 500;\n color: var(--primary-foreground-color);\n opacity: 0.9;\n }\n }\n }\n\n .button-container {\n margin: 1rem 0;\n \n .button {\n display: flex;\n justify-content: center;\n height: 4rem;\n line-height: 4rem;\n padding: 0 5rem;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n text-align: center;\n border-radius: 3.5rem;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .placeholder {\n padding: 1rem 2rem;\n\n .title {\n margin-bottom: 0;\n }\n\n .image-container {\n padding: 1rem;\n\n .image {\n max-height: 10rem;\n }\n }\n\n .button-container {\n margin: 1rem 0 0;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .placeholder {\n padding: 1rem 2rem;\n\n .overview {\n flex-direction: column;\n gap: 1rem;\n\n .point {\n .text {\n font-size: 1rem;\n }\n }\n }\n\n .button-container {\n .button {\n width: 100%;\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.calendar {\n height: calc(100% - var(--safe-area-inset-bottom));\n background-color: transparent;\n\n .content {\n position: relative;\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n width: 100%;\n height: 100%;\n padding: 0 0 1.5rem 1.5rem;\n\n .main {\n flex: auto;\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .calendar {\n .content {\n padding: 0;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.background {\n fill: @color-surface-light5;\n}\n\n.icon {\n fill: @color-background-dark5;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n:import('~./PlayIconCircleCentered/styles.less') {\n play-icon-circle-centered-background: background;\n play-icon-circle-centered-icon: icon;\n}\n\n.stream-placeholder-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0.5rem 1rem;\n\n .addon-container {\n flex: none;\n\n .addon-name {\n width: 5rem;\n height: 2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n }\n }\n\n .info-container {\n flex: 1;\n margin: 0.5rem 1rem;\n\n .description-container {\n height: 1.2rem;\n border-radius: var(--border-radius);\n background-color: var(--color-placeholder-background);\n\n &:nth-child(1) {\n width: 80%;\n }\n\n &:nth-child(2) {\n width: 40%;\n margin-top: 0.5rem;\n }\n }\n }\n\n .play-icon {\n flex: none;\n width: 3.5rem;\n height: 5rem;\n\n .play-icon-circle-centered-background {\n fill: none;\n }\n\n .play-icon-circle-centered-icon {\n fill: var(--color-placeholder-background);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Popup/styles.less') {\n context-menu-container: menu-container;\n menu-direction-top-left: menu-direction-top-left;\n menu-direction-bottom-left: menu-direction-bottom-left;\n menu-direction-top-right: menu-direction-top-right;\n menu-direction-bottom-right: menu-direction-bottom-right;\n}\n\n.stream-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n gap: 1rem;\n padding: 0.5rem 1rem;\n margin-bottom: 0.5rem;\n border-radius: var(--border-radius);\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n\n &:hover, &:focus, &:global(.selected) {\n .icon {\n opacity: 1;\n }\n }\n\n .info-container {\n flex: none;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n\n .thumbnail {\n display: block;\n height: 5rem;\n width: 8rem;\n object-fit: cover;\n object-position: center;\n opacity: 0.9;\n }\n\n .placeholder-icon {\n display: block;\n height: 5rem;\n width: 8rem;\n padding: 1rem;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n opacity: 0.25;\n }\n\n .addon-name {\n width: 7rem;\n font-size: 1.1rem;\n text-align: left;\n color: var(--primary-foreground-color);\n }\n\n .progress-bar-container {\n flex: 0 0 100%;\n position: relative;\n border-radius: var(--border-radius);\n\n .progress-bar {\n z-index: 1;\n position: relative;\n height: 0.4rem;\n background-color: var(--primary-accent-color);\n }\n\n .progress-bar-background {\n z-index: 0;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: var(--primary-foreground-color);\n opacity: 0.2;\n }\n }\n }\n\n .description-container {\n flex: 1;\n display: flex;\n flex-direction: column;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n white-space: pre;\n overflow-y: visible;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n }\n \n .icon {\n flex: none;\n width: 3rem;\n height: 3rem;\n padding: 0.7rem;\n border-radius: 50%;\n opacity: 0;\n color: var(--primary-foreground-color);\n background-color: var(--secondary-accent-color);\n }\n\n .menu-icon {\n flex: none;\n width: 1.7rem;\n height: 1.7rem;\n margin-right: 1rem;\n color: var(--color-placeholder);\n }\n\n\t.context-menu-container {\n\t\tmax-width: calc(90% - 1.5rem);\n\t\tz-index: 2;\n\t\n\t\t.context-menu-content {\n\t\t\t--spatial-navigation-contain: contain;\n\n .context-menu-title {\n font-size: 0.9rem;\n padding: 1rem 1.5rem;\n font-weight: 100;\n border-bottom: 1px solid var(--color-placeholder);\n color: var(--primary-foreground-color);\n white-space: break-spaces;\n }\n\t\n\t\t\t.context-menu-option-container {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: row;\n\t\t\t\talign-items: center;\n\t\t\t\tpadding: 1rem 1.5rem;\n\t\n\t\t\t\t&:hover,\n\t\t\t\t&:focus {\n\t\t\t\t\tbackground-color: var(--overlay-color);\n\t\t\t\t}\n\t\n\t\t\t\t.context-menu-option-label {\n\t\t\t\t\tfont-size: 1rem;\n\t\t\t\t\tfont-weight: 300;\n\t\t\t\t\tcolor: var(--primary-foreground-color);\n text-transform: capitalize;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: @small) {\n .stream-container {\n .description-container {\n font-size: 0.9rem;\n }\n\n .info-container {\n .addon-name {\n font-size: 0.9rem;\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .stream-container {\n .info-container {\n .addon-name {\n font-weight: 500;\n }\n }\n\n\t\t.context-menu-container {\n &.menu-direction-top-left,\n &.menu-direction-bottom-left {\n right: 1.5rem;\n }\n\n &.menu-direction-top-right,\n &.menu-direction-bottom-right {\n left: 1.5rem;\n }\n\n &.menu-direction-top-left,\n &.menu-direction-top-right {\n bottom: 90%;\n }\n\n &.menu-direction-bottom-left,\n &.menu-direction-bottom-right {\n top: 90%;\n }\n }\n }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-label: label;\n multiselect-icon: icon;\n}\n\n.streams-list-container {\n display: flex;\n flex-direction: column;\n\n .message-container {\n flex: 0 1 auto;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 1rem;\n overflow-y: auto;\n\n .search {\n flex: none;\n }\n\n .image {\n flex: none;\n width: 10rem;\n height: 10rem;\n max-width: 100%;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .label {\n flex: none;\n font-size: 1.4rem;\n text-align: center;\n color: var(--primary-foreground-color);\n margin-bottom: 2rem;\n }\n }\n\n .addons-loading-container {\n display: flex;\n z-index: 1;\n overflow: visible;\n margin: 2em 1em 0 1em;\n gap: 1em;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n .addons-loading {\n color: var(--primary-foreground-color);\n font-size: 1rem;\n }\n\n .addons-loading-bar {\n width: 90%;\n height: 0.3em;\n border-radius: var(--border-radius);\n background-color: var(--primary-accent-color);\n }\n }\n\n .select-choices-wrapper {\n display: flex;\n align-items: center;\n z-index: 2;\n margin: 1em 1em 0 1em;\n gap: 0 0.5em;\n overflow: visible;\n\n .back-button-container {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 0.5em;\n padding: 1em;\n max-height: 3em;\n\n .icon {\n width: 1.5em;\n height: 1.5em;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n &:hover, &:global(.active) {\n background-color: var(--overlay-color);\n opacity: 1;\n \n .icon {\n color: var(--primary-foreground-color);\n opacity: 0.8;\n }\n }\n }\n\n .episode-title {\n min-width: 45%;\n color: var(--primary-foreground-color);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .select-input-container {\n min-width: 40%;\n flex-grow: 1;\n background-color: none;\n\n &:hover, &:focus, &:global(.active) {\n background-color: var(--overlay-color);\n }\n \n & >.multiselect-label {\n color: var(--primary-foreground-color);\n }\n \n & >.multiselect-icon {\n color: var(--primary-foreground-color);\n }\n \n .multiselect-menu-container {\n overflow: auto;\n }\n }\n }\n\n .streams-container {\n flex: 1 1 auto;\n align-self: stretch;\n margin-top: 1rem;\n padding: 0 1rem;\n overflow-y: auto;\n }\n\n .install-button-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n background-color: var(--secondary-accent-color);\n height: 4rem;\n padding: 0 2rem;\n margin: 1rem auto;\n max-width: 50%;\n border-radius: 2rem;\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: 0 1 auto;\n font-size: 1rem;\n font-weight: 700;\n max-height: 3.6em;\n text-align: center;\n color: var(--primary-foreground-color);\n margin-bottom: 0;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .streams-list-container {\n overflow: visible;\n\n .streams-container {\n margin-top: 0;\n overflow: visible;\n scrollbar-color: @color-surface-light5-20 transparent;\n\n &::-webkit-scrollbar-thumb {\n background-color: @color-surface-light5-20;\n }\n\n &::-webkit-scrollbar-track {\n background-color: transparent;\n }\n }\n }\n}","// Copyright (C) 2017-2025 Smart code 203358507\n\n.button-container {\n flex: none;\n align-self: stretch;\n display: flex;\n align-items: center;\n justify-content: center;\n border: var(--focus-outline-size) solid var(--primary-accent-color);\n background-color: var(--primary-accent-color);\n height: 4rem;\n padding: 0 2rem;\n margin: 1rem auto;\n border-radius: 2rem;\n\n &:hover {\n background-color: transparent;\n }\n\n .label {\n flex: 0 1 auto;\n font-size: 1rem;\n font-weight: 700;\n max-height: 3.5rem;\n text-align: center;\n color: var(--primary-foreground-color);\n margin-bottom: 0;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.seasons-bar-placeholder-container {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 1rem;\n\n .prev-season-button, .next-season-button {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 6.5rem;\n height: 3rem;\n padding: 0.5rem;\n\n &>:first-child {\n margin-right: 0.5rem;\n }\n\n .icon {\n flex: none;\n display: block;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--color-placeholder-background);\n }\n\n .label {\n flex: 1;\n max-height: 1.2em;\n font-weight: 500;\n text-align: center;\n color: var(--color-placeholder-text);\n }\n }\n\n .seasons-popup-label-container {\n flex: 0 1 auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n margin: 0 1rem;\n\n .seasons-popup-label {\n max-height: 1.2em;\n font-weight: 500;\n color: var(--color-placeholder-text);\n }\n\n .seasons-popup-icon {\n flex: none;\n width: 1rem;\n height: 1rem;\n margin-left: 1rem;\n color: var(--color-placeholder-background);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Multiselect/styles.less') {\n multiselect-menu-container: menu-container;\n multiselect-label: label;\n multiselect-icon: icon;\n}\n\n.seasons-bar-container {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n padding: 1rem;\n overflow: visible;\n\n .prev-season-button, .next-season-button {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 6.5rem;\n height: 3rem;\n border-radius: 3rem;\n padding: 0.5rem;\n\n &.disabled {\n pointer-events: none;\n opacity: 0.5;\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n\n &>:first-child {\n margin-right: 0.5rem;\n }\n\n .label {\n flex: 1;\n max-height: 1.2em;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .seasons-popup-label-container {\n flex: 0 1 auto;\n background: none;\n\n &:hover, &:focus, &:global(.active) {\n background-color: var(--overlay-color);\n }\n\n &>.multiselect-label {\n color: var(--primary-foreground-color);\n }\n\n &>.multiselect-icon {\n color: var(--primary-foreground-color);\n }\n\n .multiselect-menu-container {\n overflow: auto;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .seasons-bar-container {\n height: 6rem;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.videos-list-container {\n display: flex;\n flex-direction: column;\n\n .message-container {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 2rem;\n overflow-y: auto;\n\n .episode-picker {\n margin-bottom: 2rem;\n }\n\n .image {\n flex: none;\n width: 10rem;\n height: 10rem;\n max-width: 100%;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .label {\n flex: none;\n font-size: 1.4rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .notifications-toggle {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-start;\n gap: 1rem;\n padding: 1.15rem 1.5rem 0.65rem;\n color: @color-surface-light5-90;\n }\n\n .seasons-bar {\n flex: none;\n align-self: stretch;\n margin: 0.5rem 1rem 1rem 1rem;\n }\n\n .search-bar {\n flex: none;\n align-self: stretch;\n margin: 0 1.5rem 1rem 1.5rem;\n\n &:first-child {\n margin-top: 1rem;\n }\n }\n\n .videos-container {\n flex: 1;\n align-self: stretch;\n padding: 0 1rem;\n overflow-y: auto;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .videos-list-container {\n overflow: visible;\n\n .videos-container {\n overflow: auto;\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/ModalDialog/styles.less') {\n modal-dialog-container: modal-dialog-container;\n title-modal-container: title-container;\n}\n\n.metadetails-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n padding-left: var(--safe-area-inset-left);\n padding-right: var(--safe-area-inset-right);\n box-sizing: border-box;\n\n .background-image-layer {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n background-color: var(--modal-background-color);\n\n .background-image {\n pointer-events: none; \n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: top left;\n opacity: 0.3;\n }\n }\n\n .nav-bar {\n z-index: 1;\n flex: none;\n align-self: stretch;\n }\n\n .metadetails-content {\n flex: 1;\n align-self: stretch;\n position: relative;\n z-index: 0;\n display: flex;\n flex-direction: row;\n margin-top: calc(var(--top-overlay-size) * -1);\n padding-top: var(--top-overlay-size);\n padding-bottom: var(--safe-area-inset-bottom, 0rem);\n .vertical-nav-bar {\n flex: none;\n }\n\n .meta-message-container {\n align-self: stretch;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 2rem;\n width: 100%;\n height: 100%;\n\n .image {\n flex: none;\n width: 12rem;\n height: 12rem;\n max-width: 100%;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .message-label {\n flex: none;\n align-self: stretch;\n font-size: 2rem;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n\n .meta-preview {\n flex: 0 1 auto;\n align-self: stretch;\n padding: 0 4rem 2rem 4rem;\n\n padding-left: max(1rem, calc(4rem - var(--safe-area-inset-left)));\n }\n\n .spacing {\n flex: 1;\n }\n\n .videos-list, .streams-list {\n flex: 0 0 30rem;\n align-self: stretch;\n border-radius: var(--border-radius) 0 0 var(--border-radius);\n background-color: rgba(0, 0, 0, 0.4);\n backdrop-filter: blur(15px);\n }\n }\n}\n\n.meta-extension-modal-container {\n .modal-dialog-container {\n width: 80%;\n height: 80%;\n\n .title-modal-container {\n max-height: 1.2em;\n }\n\n .meta-extension-modal-iframe {\n width: 100%;\n height: 100%;\n }\n }\n}\n\n@media @phone-landscape {\n .metadetails-container {\n .metadetails-content {\n .meta-preview {\n padding: 0 1.5rem 1rem;\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .metadetails-container {\n .metadetails-content {\n display: block;\n overflow-y: auto;\n\n .spacing {\n display: none;\n }\n\n .meta-preview {\n padding: 0 1.5rem 2rem;\n }\n\n .videos-list, .streams-list {\n border-radius: var(--border-radius) var(--border-radius) 0 0;\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/MetaRow/styles.less') {\n meta-item: meta-item;\n}\n\n:import('~stremio/components/MetaRow/MetaRowPlaceholder/styles.less') {\n meta-item-placeholder: meta-item;\n}\n\n.search-container {\n height: calc(100% - var(--safe-area-inset-bottom));\n width: 100%;\n background-color: transparent;\n\n .search-content {\n height: 100%;\n width: 100%;\n padding: 0 1rem;\n overflow-y: auto;\n\n .search-row {\n margin-top: 1rem;\n margin-bottom: 2rem;\n }\n\n .search-hints-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n width: 100%;\n height: 100%;\n\n .search-hints-title-container {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 1rem;\n\n .search-hints-title {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n font-size: 1.6rem;\n color: @color-surface-light5-90;\n text-align: center;\n opacity: 0.4;\n }\n }\n \n .search-hints-container {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n align-content: flex-start;\n flex-wrap: wrap;\n padding: 4rem;\n max-width: 50%;\n margin: 0 auto;\n \n .search-hint-container {\n flex: 0 0 25%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 0 1rem;\n margin-bottom: 4rem;\n \n .icon {\n flex: none;\n width: 4rem;\n height: 4rem;\n margin-bottom: 2rem;\n color: @color-surface-light5-90;\n opacity: 0.4;\n }\n \n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n font-size: 1.2rem;\n color: @color-surface-light5-90;\n text-align: center;\n opacity: 0.4;\n }\n }\n } \n }\n\n .message-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 4rem;\n\n .image {\n flex: none;\n width: 12rem;\n height: 12rem;\n margin-bottom: 1rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .message-label {\n flex: 0 1 auto;\n font-size: 2.5rem;\n text-align: center;\n color: @color-secondaryvariant2-light1-90;\n }\n }\n }\n}\n\n@media only screen and (max-width: @large) {\n .search-container {\n .search-content {\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+10) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+9) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @normal) {\n .search-container {\n .search-content {\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+9) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+8) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @medium) {\n .search-container {\n .search-content {\n .search-hints-wrapper {\n .search-hints-container {\n max-width: 70%;\n }\n }\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+8) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+7) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @small) {\n .search-container {\n .search-content {\n .search-hints-wrapper {\n .search-hints-container {\n max-width: 90%;\n }\n }\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+7) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+6) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .search-container {\n .search-content {\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+6) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+5) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @xxsmall) {\n .search-container {\n .search-content {\n .search-hints-wrapper {\n .search-hints-container {\n max-width: 100%;\n .search-hint-container {\n flex: 0 0 50%;\n }\n }\n }\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+5) {\n display: none;\n }\n }\n }\n\n .search-row-landscape {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+4) {\n display: none;\n }\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .search-container {\n .search-content {\n .search-row {\n margin-bottom: 1.5rem;\n }\n\n .search-row-poster, .search-row-square {\n .meta-item, .meta-item-placeholder {\n &:nth-child(n+4) {\n display: none;\n }\n }\n }\n\n .search-hints-wrapper {\n margin-top: 4rem;\n\n .search-hints-container {\n padding: 4rem 2rem;\n\n .search-hint-container {\n padding: 0 1.5rem;\n }\n }\n }\n }\n }\n}","@import (reference) '~stremio/common/screen-sizes.less';\n\n.menu {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n width: 18rem;\n padding: 3rem 1.5rem;\n\n .button {\n flex: none;\n align-self: stretch;\n display: flex;\n align-items: center;\n height: 4rem;\n border-radius: 4rem;\n padding: 2rem;\n margin-bottom: 0.5rem;\n font-size: 1.1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n opacity: 0.4;\n\n &.selected {\n font-weight: 600;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n opacity: 1;\n }\n\n &:hover {\n background-color: var(--overlay-color);\n }\n }\n\n .spacing {\n flex: 1;\n }\n\n .version-info-label {\n flex: 0 1 auto;\n margin: 0.5rem 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n opacity: 0.3;\n overflow: hidden;\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .menu {\n display: none;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .menu {\n display: none;\n }\n}",".category {\n position: relative;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: start;\n margin-bottom: 1rem;\n padding-bottom: 1rem;\n overflow: visible;\n\n &:not(:last-child) {\n border-bottom: thin solid var(--overlay-color);\n }\n\n .heading {\n position: relative;\n height: 4rem;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1rem;\n margin-bottom: 1rem;\n\n .label {\n flex: none;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n }\n \n .icon {\n flex: none;\n width: 2rem;\n height: 2rem;\n color: var(--primary-foreground-color);\n }\n }\n}",".link {\n position: relative;\n display: flex;\n align-items: center;\n height: 2rem;\n\n .label {\n color: var(--primary-accent-color);\n }\n\n &:hover {\n .label {\n text-decoration: underline;\n }\n }\n}",".option {\n position: relative;\n width: 100%;\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 2rem;\n margin-bottom: 2rem;\n overflow: visible;\n\n .heading, .content {\n flex: 1 1 50%;\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n\n .heading {\n display: flex;\n gap: 0.75rem;\n\n .icon {\n width: 3rem;\n height: 3rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n line-height: 1.5rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n }\n }\n\n .content {\n justify-content: center;\n overflow: visible;\n\n :global(.multiselect) {\n width: 100%;\n padding: 0;\n background: var(--overlay-color);\n }\n\n :global(.button) {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 3.5rem;\n width: 100%;\n padding: 0 2rem;\n border-radius: 3.5rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n background-color: var(--overlay-color);\n \n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n }\n\n :global(.color-input) {\n width: 100%;\n padding: 1.3rem 1rem;\n border-radius: 3rem;\n border: 2px solid transparent;\n transition: 0.3s all ease-in-out;\n \n &:hover {\n border-color: var(--overlay-color);\n }\n }\n }\n}",".section {\n position: relative;\n max-width: 35rem;\n display: flex;\n flex-direction: column;\n align-items: start;\n padding: 3rem 0;\n overflow: visible;\n\n &:not(:last-child) {\n border-bottom: thin solid var(--overlay-color);\n }\n \n .label {\n flex: none;\n align-self: stretch;\n font-size: 1.8rem;\n line-height: 3.4rem;\n margin-bottom: 2rem;\n color: var(--primary-foreground-color);\n }\n}","@import (reference) '~stremio/common/screen-sizes.less';\n\n.user {\n gap: 1rem;\n\n .user-info-content {\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .avatar-container {\n flex: none;\n align-self: stretch;\n height: 5rem;\n width: 5rem;\n margin-right: 1rem;\n border: 2px solid var(--primary-accent-color);\n border-radius: 50%;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n background-origin: content-box;\n background-clip: content-box;\n opacity: 0.9;\n background-color: var(--primary-foreground-color);\n }\n\n .email-logout-container {\n flex: none;\n display: flex;\n flex-direction: column;\n align-items: start;\n\n .email-label-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n\n .email-label-container {\n .email-label {\n flex: 1;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n opacity: 0.7;\n }\n }\n }\n }\n\n .user-panel-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 10rem;\n height: 3.5rem;\n border-radius: 3.5rem;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n .user-panel-label {\n flex: 1;\n max-height: 2.4em;\n padding: 0 0.5rem;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .user {\n flex-direction: column;\n align-items: flex-start;\n\n .user-panel-container {\n width: 100% !important;\n }\n }\n}",":import('~stremio/routes/Settings/components/Option/Option.less') {\n option-icon: icon;\n}\n\n.trakt-container {\n margin-top: 2rem;\n\n .option-icon {\n color: var(--color-trakt) !important;\n }\n}\n","// Copyright (C) 2017-2024 Smart code 203358507\n\n.wrapper {\n position: relative;\n width: 100%;\n display: flex;\n flex-direction: column;\n max-width: 35rem;\n margin-bottom: 2rem;\n\n .header {\n display: flex;\n justify-content: space-between;\n padding: 0 3rem;\n align-items: center;\n \n .label {\n font-size: 1rem;\n color: var(--primary-foreground-color);\n font-weight: 400;\n opacity: 0.6;\n\n &:last-of-type {\n padding-right: 3rem;\n }\n }\n }\n\n .content {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n padding: 1.5rem 0;\n }\n \n .item {\n display: flex;\n padding: 1rem 1.5rem;\n border-radius: var(--border-radius);\n transition: 0.3s all ease-in-out;\n background-color: transparent;\n border: 2px solid transparent;\n justify-content: space-between;\n position: relative;\n }\n\n .footer {\n display: flex;\n justify-content: space-between;\n\n .add-url {\n display: flex;\n gap: 0.5rem;\n align-items: center;\n justify-content: center;\n padding: 0.5rem 1.5rem;\n background-color: var(--secondary-accent-color);\n transition: 0.3s all ease-in-out;\n border-radius: 1.5rem;\n color: var(--primary-foreground-color);\n border: 2px solid transparent;\n\n .icon {\n width: 1rem;\n height: 1rem;\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n background-color: transparent;\n border: 2px solid var(--primary-foreground-color);\n }\n }\n\n .reload {\n display: flex;\n gap: 0.5rem;\n align-items: center;\n justify-content: center;\n padding: 0.5rem 1.5rem;\n background-color: var(--overlay-color);\n border-radius: 1.5rem;\n transition: 0.3s all ease-in-out;\n color: var(--primary-foreground-color);\n border: 2px solid transparent;\n\n .icon {\n width: 1rem;\n height: 1rem;\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n background-color: transparent;\n border: 2px solid var(--primary-foreground-color);\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.item {\n display: flex;\n padding: 0.7rem 1.5rem;\n border-radius: 2.5rem;\n transition: 0.3s all ease-in-out;\n background-color: var(--overlay-color);\n border: 2px solid transparent;\n justify-content: space-between;\n position: relative;\n\n .content {\n display: flex;\n gap: 1rem;\n align-items: center;\n justify-content: center;\n max-width: 60%;\n\n .selectable {\n overflow: visible;\n }\n\n .label {\n color: var(--primary-foreground-color);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n\n .actions {\n display: flex;\n gap: 1rem;\n padding-right: 4rem;\n\n .status {\n display: flex;\n gap: 0.5rem;\n align-items: center;\n justify-content: center;\n\n .icon {\n width: 0.75rem;\n height: 0.75rem;\n border-radius: 1rem;\n\n &.ready {\n background-color: var(--secondary-accent-color);\n }\n\n &.error {\n background-color: var(--color-trakt);\n }\n }\n\n .label {\n font-size: 1rem;\n color: var(--primary-foreground-color);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n\n .delete {\n position: absolute;\n display: flex;\n right: 1.5rem;\n top: 50%; \n gap: 0.5rem;\n padding: 0.5rem 0.25rem;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n transition: 0.3s all ease-in-out;\n border-radius: var(--border-radius);\n transform: translateY(-50%);\n width: 3rem;\n\n .icon {\n width: 1.5rem;\n height: 1.5rem;\n opacity: 0;\n transition: 0.3s all ease-in-out;\n color: var(--primary-foreground-color);\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n\n .icon {\n color: var(--color-trakt);\n opacity: 1 !important;\n }\n }\n }\n }\n\n &:hover {\n border: 2px solid var(--overlay-color);\n \n .actions {\n .delete {\n .icon {\n opacity: 0.6;\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .item {\n padding: 0.7rem 1rem;\n\n .actions {\n .delete {\n right: 1rem;\n\n .icon {\n opacity: 0.6;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.add-item {\n display: flex;\n padding: 0.35rem 1.5rem;\n border-radius: 2.5rem;\n transition: 0.3s all ease-in-out;\n background-color: var(--overlay-color);\n border: 2px solid transparent;\n justify-content: space-between;\n position: relative;\n\n .input {\n background-color: var(--overlay-color);\n border-radius: var(--border-radius);\n color: var(--primary-foreground-color);\n padding: 0.5rem 0.75rem;\n border: 1px solid transparent;\n width: 70%;\n\n &:focus {\n border: 1px solid var(--primary-foreground-color);\n }\n }\n\n .actions {\n display: flex;\n gap: 0.25rem;\n margin-right: 0;\n\n .add, .cancel {\n display: flex;\n gap: 0.5rem;\n padding: 0.25rem;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n transition: 0.3s all ease-in-out;\n border-radius: var(--border-radius);\n width: 3rem;\n opacity: 0.6;\n\n .icon {\n width: 2rem;\n height: 2rem;\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n opacity: 1;\n background-color: var(--overlay-color);\n }\n }\n\n .add {\n .icon {\n width: 1.8rem;\n height: 1.8rem;\n }\n &:hover {\n .icon {\n color: var(--secondary-accent-color);\n }\n }\n }\n\n .cancel {\n &:hover {\n .icon {\n color: var(--color-trakt);\n }\n }\n }\n }\n\n &:hover {\n border: 2px solid var(--overlay-color);\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .add-item {\n padding: 0.35rem 0.5rem;\n }\n}",":import('~stremio/routes/Settings/components/Option/Option.less') {\n option-content: content;\n}\n\n.configure-input-container {\n .option-content {\n display: flex;\n align-items: center;\n gap: 1rem;\n overflow: hidden;\n\n .label {\n flex: auto;\n white-space: pre;\n text-overflow: ellipsis;\n color: var(--primary-foreground-color);\n padding: 0 1rem;\n }\n\n .configure-button-container {\n flex: none;\n width: 3rem;\n height: 3rem;\n border-radius: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n .icon {\n flex: none;\n width: 1rem;\n height: 1rem;\n margin: 0;\n color: var(--primary-foreground-color);\n }\n }\n }\n}",".shortcut-container {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n overflow: visible;\n\n kbd {\n flex: 0 1 auto;\n height: 2.5rem;\n min-width: 2.5rem;\n line-height: 2.5rem;\n padding: 0 1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n border-radius: 0.25em;\n box-shadow: 0 4px 0 1px var(--modal-background-color);\n background-color: var(--overlay-color);\n }\n\n .label {\n flex: none;\n margin: 0 1rem;\n white-space: nowrap;\n color: var(--primary-foreground-color);\n }\n}","@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/routes/Settings/components/Option/Option.less') {\n option-content: content;\n}\n\n.info {\n display: none;\n\n .option-content {\n color: var(--primary-foreground-color);\n overflow: hidden;\n\n .label {\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .info {\n display: flex;\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .info {\n display: flex;\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.settings-container {\n height: calc(100% - var(--safe-area-inset-bottom));\n width: 100%;\n background-color: transparent;\n\n .settings-content {\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: row;\n\n .sections-container {\n flex: 1;\n align-self: stretch;\n padding: 0 3rem;\n overflow-y: auto;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .settings-container {\n .settings-content {\n flex-direction: column-reverse;\n\n .sections-container {\n padding: 0 1.5rem;\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.buffering-loader-container {\n display: flex;\n align-items: center;\n justify-content: center;\n\n .buffering-loader {\n flex: none;\n max-width: 15rem;\n max-height: 15rem;\n animation: fadeInOut 2s infinite; \n display: block; \n width: auto;\n height: auto; \n }\n \n}\n\n\n@keyframes fadeInOut {\n 0% { opacity: 0.2; }\n 50% { opacity: 1; }\n 100% { opacity: 0.2; }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n:import('~stremio/components/Slider/styles.less') {\n slider-track: track;\n slider-track-after: track-after;\n}\n\n.volume-slider:not(:global(.disabled)) {\n .slider-track {\n background-color: var(--overlay-color);\n }\n\n .slider-track-after {\n background-color: var(--primary-foreground-color);\n }\n\n &:hover, &:global(.active) {\n .slider-track-after {\n background-color: var(--primary-foreground-color);\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.volume-change-indicator {\n position: absolute;\n top: 50%;\n left: 50%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n transform: translate(-50%, -50%);\n background-color: var(--overlay-color);\n border-radius: var(--border-radius);\n padding: 2rem 2.5rem;\n gap: 1rem;\n\n .volume-icon {\n width: 6.5rem;\n height: 6.5rem;\n color: var(--primary-foreground-color);\n }\n\n .volume-slider {\n border-radius: var(--border-radius);\n max-height: 1rem;\n width: 6.5rem;\n max-height: 1rem;\n flex: 0 1 10rem;\n margin: 0 1rem;\n\n --track-size: 0.35rem;\n --thumb-size: 1rem;\n }\n\n}\n\n@media only screen and (max-width: @minimum) {\n .volume-change-indicator {\n padding: 1rem 1.5rem;\n \n .volume-icon {\n width: 4rem;\n height: 4rem;\n }\n\n .volume-slider {\n width: 4rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.error {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n background-color: rgba(0, 0, 0, 1);\n\n .error-label {\n flex: 0 1 auto;\n padding: 0 8rem;\n max-height: 4.8em;\n font-size: 2rem;\n color: var(--primary-foreground-color);\n text-align: center;\n }\n\n .error-sub {\n flex: 0 1 auto;\n padding: 0 2rem;\n max-height: 4.8em;\n font-size: 1.3rem;\n margin-top: 0.8rem;\n color: var(--primary-foreground-color);\n text-align: center; \n }\n\n .playlist-button {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3.5rem;\n border-radius: 3.5rem;\n margin-top: 1.5rem;\n padding: 0 2rem;\n background-color: var(--secondary-accent-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--secondary-accent-color);\n background-color: transparent;\n }\n\n .icon {\n flex: none;\n width: 1.5rem;\n height: 1.5rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: 1;\n max-height: 2.4em;\n font-size: 1.1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n text-align: center;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n:import('~stremio/components/Slider/styles.less') {\n slider-track-after: track-after;\n slider-thumb: thumb;\n}\n\n.seek-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .label {\n flex: none;\n width: 6rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n direction: rtl;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .slider {\n flex: 1;\n align-self: stretch;\n margin: 0 var(--thumb-size);\n\n .slider-track-after {\n background-color: var(--primary-accent-color);\n }\n\n .slider-thumb {\n background-color: var(--primary-accent-color);\n \n &:after {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: 100%;\n box-shadow: 0 0 0 0.25rem var(--primary-accent-color) inset;\n filter: brightness(130%);\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.control-bar-container {\n padding: 0 1.5rem;\n\n .seek-bar {\n --track-size: 0.5rem;\n --thumb-size: 1.3rem;\n\n height: 2.5rem;\n }\n\n .control-bar-buttons-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n .control-bar-button {\n flex: none;\n width: 4rem;\n height: 5rem;\n display: flex;\n justify-content: center;\n align-items: center;\n\n &:global(.disabled) {\n .icon {\n opacity: 0.5;\n }\n }\n\n .icon {\n flex: none;\n width: 2.5rem;\n height: 2.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .volume-slider {\n --track-size: 0.35rem;\n --thumb-size: 1rem;\n\n flex: 0 1 10rem;\n height: 4rem;\n margin: 0 1rem;\n }\n\n .spacing {\n flex: 1;\n }\n\n .control-bar-buttons-menu-button {\n flex: none;\n width: 4rem;\n height: 4rem;\n display: none;\n justify-content: center;\n align-items: center;\n\n .icon {\n flex: none;\n width: 2.5rem;\n height: 2.5rem;\n color: var(--primary-foreground-color);\n }\n }\n\n .control-bar-buttons-menu-container {\n flex: none;\n display: flex;\n flex-direction: row;\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .control-bar-container {\n padding: 0;\n\n .seek-bar {\n margin: 0 1.5rem;\n }\n\n .control-bar-buttons-container {\n position: relative;\n padding: 0 0.5rem;\n overflow: visible;\n\n .volume-slider {\n display: none;\n }\n\n .control-bar-buttons-menu-button {\n display: flex;\n }\n\n .control-bar-buttons-menu-container {\n position: absolute;\n right: 0rem;\n bottom: 4.5rem;\n padding: 0.5rem;\n margin: 0.5rem;\n max-width: calc(100dvw - 1rem);\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: 0 1.35rem 2.7rem @color-background-dark5-40,\n 0 1.1rem 0.85rem @color-background-dark5-20;\n overflow-x: auto;\n\n &:not(:global(.open)) {\n display: none;\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.next-video-popup-container {\n display: flex;\n flex-direction: row;\n width: 38rem;\n min-height: 13rem;\n animation: slide-fade-in 0.5s ease-in;\n\n @keyframes slide-fade-in {\n 0% {\n opacity: 0;\n transform: translateX(calc(40rem + 2rem));\n }\n\n 100% {\n opacity: 1;\n transform: translateX(0);\n }\n }\n\n .poster-container {\n flex: 1 1 25%;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: var(--overlay-color);\n\n .poster-image {\n flex: none;\n width: 100%;\n height: 100%;\n object-position: center;\n object-fit: cover;\n\n &.blurred {\n filter: blur(0.5rem);\n -webkit-filter: blur(0.5rem);\n }\n }\n\n .placeholder-icon {\n flex: none;\n width: 80%;\n height: 50%;\n color: var(--primary-foreground-color);\n }\n }\n\n .info-container {\n flex: 1 1 55%;\n display: flex;\n flex-direction: column;\n\n .details-container {\n flex: auto;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n padding: 1.5rem 2rem;\n\n .name {\n flex: none;\n align-self: stretch;\n max-height: 2.4em;\n font-weight: 700;\n color: var(--primary-accent-color);\n\n .label {\n color: var(--primary-foreground-color);\n }\n }\n\n .title {\n flex: none;\n align-self: stretch;\n max-height: 2.4em;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n }\n\n .buttons-container {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n gap: 1rem;\n padding: 0 1rem 1.5rem;\n\n .spacing {\n flex: 0 0 50%;\n }\n\n .button-container {\n flex: 0 1 50%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n height: 3.5rem;\n padding: 0 1rem;\n border-radius: 1.75rem;\n\n &.play-button {\n background-color: var(--primary-accent-color);\n\n .icon {\n color: var(--primary-foreground-color);\n }\n\n .label {\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-accent-color);\n background-color: transparent;\n }\n }\n\n .icon {\n flex: none;\n width: 1.4rem;\n height: 1.4rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: none;\n max-height: 2.4em;\n font-size: 1.1rem;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n &.dismiss {\n opacity: 0.6;\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n }\n }\n }\n}\n\n@media @phone-portrait {\n .next-video-popup-container {\n .info-container {\n .buttons-container {\n gap: 0.5rem;\n\n .button-container {\n margin-left: 0rem;\n\n .icon {\n margin-right: 0rem;\n }\n \n .label {\n display: none;\n }\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.statistics-menu-container {\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n width: 30rem;\n padding: 1.5rem;\n\n .title {\n flex: none;\n font-weight: 700;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: none;\n font-weight: 500;\n color: var(--primary-foreground-color);\n opacity: 0.5;\n }\n\n .value {\n flex: none;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n\n .stats {\n flex: auto;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: 1rem;\n\n .stat {\n flex: auto;\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n }\n }\n\n .info-hash {\n flex: auto;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.option-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3.5rem;\n border-radius: var(--border-radius);\n padding: 0 1rem;\n margin-bottom: 0.5rem;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n .icon {\n flex: none;\n width: 1.4rem;\n height: 1.4rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex: 1;\n max-height: 2.4em;\n font-weight: 400;\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n background-color: var(--overlay-color);\n }\n\n &:global(.disabled) {\n opacity: 0.5;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n.options-menu-container {\n width: 16rem;\n padding: 1rem;\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.subtitles-menu-container {\n height: 25rem;\n display: flex;\n flex-direction: row;\n\n .languages-container, .variants-container, .subtitles-settings-container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n\n .languages-header, .variants-header, .settings-header {\n flex: none;\n align-self: stretch;\n padding: 1.5rem 2rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n }\n\n .languages-list, .variants-list {\n flex: 1;\n align-self: stretch;\n overflow-y: auto;\n padding: 0 1rem;\n\n .language-option, .variant-option {\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 3.5rem;\n padding: 0 1.5rem;\n margin-bottom: 0.5rem;\n border-radius: var(--border-radius);\n\n &:global(.selected), &:hover {\n background-color: var(--overlay-color);\n }\n\n .language-label, .variant-label {\n flex: 1;\n font-size: 1.1rem;\n color: var(--primary-foreground-color);\n }\n\n .language-label, .variant-label, .variant-origin {\n text-wrap: nowrap;\n text-overflow: ellipsis;\n }\n\n .icon {\n flex: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n margin-left: 1rem;\n background-color: var(--secondary-accent-color);\n }\n }\n\n .variant-option {\n height: 4rem;\n\n .info {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n\n .variant-label {\n line-height: 1.5rem;\n }\n\n .variant-origin {\n font-size: 0.9rem;\n color: var(--color-placeholder-text);\n }\n }\n }\n }\n }\n\n .languages-container {\n width: 16rem;\n }\n\n .variants-container {\n width: 16rem;\n\n .no-variants-container {\n flex: 1;\n align-self: stretch;\n padding: 1rem;\n\n .no-variants-label {\n max-height: 4.8em;\n font-weight: 500;\n color: var(--primary-foreground-color);\n }\n }\n }\n\n .subtitles-settings-container {\n width: 17rem;\n\n .settings-list {\n overflow-y: scroll;\n }\n\n .spacing {\n flex: 1;\n }\n\n .stepper {\n padding: 0 1.5rem 1rem;\n }\n }\n}",".stepper {\n &:global(.disabled) {\n .header {\n color: var(--primary-foreground-color);\n }\n\n .content {\n opacity: 0.4;\n }\n }\n\n .header {\n margin-bottom: 0.5rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n }\n\n .content {\n display: flex;\n flex-direction: row;\n align-items: center;\n border-radius: 3.5rem;\n background: var(--overlay-color);\n\n .button {\n flex: none;\n width: 3.5rem;\n height: 3.5rem;\n padding: 1rem;\n border-radius: 100%;\n background-color: var(--overlay-color);\n\n .icon {\n display: block;\n width: 100%;\n height: 100%;\n color: var(--primary-foreground-color);\n }\n }\n\n .value {\n flex: 1;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n}",".audio-menu {\n display: flex;\n flex-direction: row;\n\n .container {\n flex: none;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n width: 16rem;\n\n .header {\n flex: none;\n align-self: stretch;\n padding: 1.5rem 2rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n }\n\n .list {\n flex: 1;\n align-self: stretch;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n overflow-y: auto;\n padding: 0 1rem;\n padding-bottom: 1rem;\n\n .option {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1rem;\n height: 4rem;\n padding: 0 1.5rem;\n border-radius: var(--border-radius);\n\n &:global(.selected), &:hover {\n background-color: var(--overlay-color);\n }\n\n .info {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n\n .lang, .label {\n flex: auto;\n text-wrap: nowrap;\n text-overflow: ellipsis;\n }\n\n .lang {\n font-size: 1.1rem;\n line-height: 1.5rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n font-size: 0.9rem;\n color: var(--color-placeholder-text);\n }\n }\n\n .icon {\n flex: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n background-color: var(--secondary-accent-color);\n }\n }\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.option {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0 1.5em;\n margin-bottom: 0.5rem;\n border-radius: var(--border-radius);\n \n &:global(.selected) {\n background-color: var(--overlay-color);\n\n .icon {\n display: block;\n }\n }\n\n &:hover, &:focus {\n background-color: var(--overlay-color);\n }\n\n .label {\n flex: 1;\n font-weight: 400;\n color: var(--primary-foreground-color);\n }\n\n .icon {\n flex: none;\n display: none;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 100%;\n margin-left: 1rem;\n background-color: var(--secondary-accent-color);\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.speed-menu-container {\n width: 14rem;\n\n .title {\n flex: none;\n align-self: stretch;\n font-weight: 700;\n color: var(--primary-foreground-color);\n padding: 1.5rem 2rem;\n }\n\n .options-container {\n flex: 0 1 auto;\n max-height: calc(3.2rem * 8);\n padding: 0 1rem 0.5rem;\n \n .option {\n height: 3.2rem;\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.side-drawer-button {\n height: 12.5rem;\n width: 7.5rem;\n display: flex;\n align-items: center;\n justify-content: start;\n padding-left: 0.5rem;\n border-radius: 50%;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\n background-color: var(--modal-background-color);\n -webkit-tap-highlight-color: transparent;\n cursor: pointer;\n opacity: 1;\n will-change: opacity;\n transition: opacity 0.3s ease-in-out, border-radius 0.3s ease-in-out;\n\n .icon {\n position: relative;\n width: 2.5rem;\n height: 2.5rem;\n color: var(--primary-foreground-color);\n opacity: 0.6;\n transition: 0.3s opacity ease-in-out;\n }\n\n &:hover {\n .icon {\n opacity: 1;\n }\n }\n}\n\n@media screen and (max-width: @xsmall) {\n .side-drawer-button {\n height: 8rem;\n width: 4.5rem;\n\n .icon {\n width: 2rem;\n height: 2rem;\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/MetaPreview/styles.less') {\n action-buttons-container: action-buttons-container;\n}\n\n@padding: 1rem;\n\n.side-drawer {\n display: flex;\n flex-direction: column;\n padding: @padding;\n height: 100dvh;\n max-width: 35rem;\n overflow-y: auto;\n position: relative;\n border-top-left-radius: var(--border-radius);\n border-bottom-left-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: 0 1.35rem 2.7rem var(--color-background-dark5-40), 0 1.1rem 0.85rem var(--color-background-dark5-20);\n backdrop-filter: blur(15px);\n transition: transform 0.3s ease-in-out;\n z-index: 1;\n\n .close-button {\n display: none;\n position: absolute;\n top: 1.3rem;\n right: 1.3rem;\n padding: 0.5rem;\n background-color: transparent;\n cursor: pointer;\n z-index: 2;\n border-radius: var(--border-radius);\n transition: 0.3s all ease-in-out;\n -webkit-tap-highlight-color: transparent;\n\n .icon {\n color: var(--primary-foreground-color);\n width: 2rem;\n height: 2rem;\n opacity: 0.6;\n transition: 0.3s opacity ease-in-out;\n }\n\n &:hover {\n background-color: var(--overlay-color);\n\n .icon {\n opacity: 1;\n }\n }\n }\n\n .info {\n padding: @padding;\n overflow-y: auto;\n flex: 1;\n\n .side-drawer-meta-preview {\n .action-buttons-container {\n padding-top: 0;\n margin-top: 0;\n }\n }\n }\n\n .series-content {\n flex: 2;\n display: flex;\n flex-direction: column;\n\n .videos {\n overflow-y: auto;\n }\n }\n}\n\n@media @phone-portrait {\n .side-drawer {\n max-width: 100dvw;\n\n .close-button {\n display: block;\n }\n }\n}\n\n@media @phone-landscape {\n .side-drawer {\n max-width: 50dvw;\n\n .info {\n flex: 1;\n }\n }\n}\n\n@media screen and (max-width: @xxsmall) {\n .side-drawer {\n padding: calc(@padding / 2);\n\n .info {\n padding: calc(@padding / 2);\n }\n }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/Slider/styles.less') {\n active-slider-within: active-slider-within;\n}\n\n:import('~stremio/components/NavBar/HorizontalNavBar/styles.less') {\n nav-bar-button-container: button-container;\n nav-bar-title: title;\n nav-bar-icon: icon;\n}\n\n@background-color: rgba(0, 0, 0, 1);\n\nhtml:not(.active-slider-within) {\n .player-container.overlayHidden {\n cursor: none;\n\n .nav-bar-layer, .control-bar-layer, .menu-layer, .side-drawer-button-layer {\n opacity: 0;\n transition: opacity 200ms;\n }\n }\n}\n\n.player-container {\n position: relative;\n z-index: 0;\n width: 100%;\n height: 100%;\n background-color: @background-color;\n\n .layer {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 0;\n\n &.buffering-layer, &.error-layer {\n background: transparent;\n }\n\n &.background-layer {\n .image {\n width: 100vw;\n height: 100vh;\n object-fit: cover;\n opacity: 0.6;\n }\n }\n\n &.nav-bar-layer {\n bottom: initial;\n background: transparent;\n overflow: visible;\n\n &::before {\n position: absolute;\n right: 0;\n top: 0;\n left: 0;\n z-index: -1;\n box-shadow: 0 0 8rem 6rem @color-background-dark5;\n content: \"\";\n }\n\n .nav-bar-button-container {\n &:hover {\n background: transparent;\n }\n\n .nav-bar-icon {\n color: var(--primary-foreground-color);\n }\n }\n\n .nav-bar-title {\n color: var(--primary-foreground-color);\n }\n }\n\n &.side-drawer-button-layer {\n position: fixed;\n top: 50%;\n right: -4rem;\n left: initial;\n transform: translateY(-50%);\n }\n\n &.control-bar-layer {\n top: initial;\n overflow: visible;\n\n &::before {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n box-shadow: 0 0 8rem 8rem @color-background-dark5;\n content: \"\";\n }\n }\n\n &.indicator-layer {\n top: initial;\n left: 0;\n right: 0;\n bottom: 10rem;\n }\n\n &.menu-layer {\n top: initial;\n left: initial;\n right: 4rem;\n bottom: 8rem;\n max-height: calc(100% - 13.5rem);\n max-width: calc(100% - 4rem);\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: 0 1.35rem 2.7rem @color-background-dark5-40,\n 0 1.1rem 0.85rem @color-background-dark5-20;\n backdrop-filter: blur(15px);\n overflow: auto;\n }\n\n &.side-drawer-layer {\n bottom: 0;\n right: 0;\n left: initial;\n bottom: initial;\n }\n }\n}\n\n@media screen and (max-width: @xsmall) {\n .player-container {\n .layer {\n &.side-drawer-button-layer {\n right: -2rem;\n }\n }\n }\n}\n\n@media (orientation: portrait) and (max-width: @minimum) {\n .player-container {\n .layer {\n &.menu-layer {\n right: 2.5rem;\n bottom: 11rem;\n }\n }\n }\n}\n","// Copyright (C) 2017-2023 Smart code 203358507\n\n.video-container {\n .video {\n width: 100%;\n height: 100%;\n\n * {\n font-size: inherit;\n }\n }\n}",".indicator-container {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 4rem;\n user-select: none;\n\n .indicator {\n flex: none;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 0 2rem;\n border-radius: 4rem;\n text-align: center;\n font-weight: bold;\n color: var(--primary-foreground-color);\n background-color: var(--modal-background-color);\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n:import('~stremio/components/ModalDialog/styles.less') {\n password-reset-modal-content: modal-dialog-content;\n cancel-button-label: label;\n}\n\n.password-reset-modal-container {\n .password-reset-modal-content {\n width: 30rem;\n\n .credentials-text-input {\n width: 100%;\n padding: 1rem;\n border-radius: var(--border-radius);\n outline-offset: calc(-1 * var(--focus-outline-size));\n color: var(--primary-foreground-color);\n background: var(--overlay-color);\n \n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--overlay-color);\n }\n }\n }\n\n .error-message {\n font-size: 1.1rem;\n margin-top: 2rem;\n text-align: center;\n color: @color-accent5-90;\n }\n\n .cancel-button {\n background-color: transparent;\n\n &:hover, &:focus {\n outline-color: var(--primary-foreground-color);\n }\n\n .cancel-button-label {\n color: var(--primary-foreground-color);\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .password-reset-modal-container {\n .password-reset-modal-content {\n width: auto;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n@import (reference) '~stremio/common/screen-sizes.less';\n\n.intro-container {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n overflow-y: auto;\n\n .background-container {\n z-index: -1;\n position: fixed;\n top: -1rem;\n bottom: -1rem;\n left: -1rem;\n right: -1rem;\n background: url('/images/background_1.svg'), url('/images/background_2.svg');\n background-color: var(--primary-background-color);\n background-position: bottom left, top right;\n background-size: 53%, 54%;\n background-repeat: no-repeat;\n filter: blur(6rem);\n }\n\n .heading-container {\n flex: none;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin-bottom: 5rem;\n\n .logo-container {\n flex: none;\n margin-bottom: 3rem;\n\n .logo {\n height: 5rem;\n opacity: 0.9;\n }\n }\n\n .title-container, .slogan-container {\n color: var(--primary-foreground-color);\n }\n\n .title-container {\n font-size: 3rem;\n font-weight: 600;\n margin-bottom: 0.5rem;\n }\n\n .slogan-container {\n font-size: 1.5rem;\n font-weight: 400;\n text-transform: lowercase;\n opacity: 0.6;\n \n &::first-letter {\n text-transform: uppercase;\n }\n }\n }\n\n .content-container {\n flex: none;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n width: 100%;\n \n .form-button {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 4rem;\n border-radius: 3.5rem;\n padding: 0 1rem;\n\n .icon {\n flex: none;\n height: 2rem;\n width: 2rem;\n margin-right: 1rem;\n color: var(--primary-foreground-color);\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n font-size: 1.1rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n text-align: center;\n }\n\n .uppercase {\n text-transform: uppercase;\n }\n }\n\n .submit-button, .guest-login-button, .signup-form-button, .login-form-button {\n margin-top: 1rem;\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n\n .label {\n color: var(--primary-foreground-color);\n }\n\n &:hover {\n background-color: var(--primary-foreground-color);\n\n .label {\n color: var(--secondary-foreground-color);\n }\n }\n }\n\n .form-container {\n flex: none;\n position: relative;\n width: 22rem;\n margin-right: 2rem;\n\n .credentials-text-input {\n display: block;\n width: 100%;\n margin-bottom: 1rem;\n padding: 1rem;\n border-radius: var(--border-radius);\n outline-offset: calc(-1 * var(--focus-outline-size));\n color: var(--primary-foreground-color);\n background: var(--overlay-color);\n\n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--overlay-color);\n }\n }\n\n .forgot-password-link-container {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n margin: 1rem 0;\n text-align: right;\n\n .forgot-password-link {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n padding: 0.5rem 1rem;\n color: var(--primary-foreground-color);\n\n &:hover {\n text-decoration: underline;\n }\n }\n }\n\n .error-message {\n margin: 1rem 0;\n padding: 0 1rem;\n text-align: center;\n color: var(--tertiary-accent-color);\n }\n }\n\n .options-container {\n flex: none;\n position: relative;\n width: 22rem;\n margin-left: 2rem;\n display: flex;\n flex-direction: column;\n\n .facebook-button {\n background: var(--color-facebook);\n margin-bottom: 1rem;\n \n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--color-facebook);\n background-color: transparent;\n }\n }\n\n .apple-button {\n background: var(--primary-foreground-color);\n\n .icon {\n color: var(--primary-background-color);\n }\n\n .label {\n color: var(--primary-background-color);\n }\n \n &:hover, &:focus {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n\n .icon {\n color: var(--primary-foreground-color);\n }\n\n .label {\n color: var(--primary-foreground-color);\n }\n }\n }\n }\n }\n}\n\n.loading-modal-container {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: @color-background-dark5-40;\n\n .loader-container {\n flex: none;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n padding: 2.5rem;\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n\n @keyframes flash {\n 0% {\n opacity: 0.4;\n }\n\n 100% {\n opacity: 1.0;\n }\n }\n\n .icon {\n flex: none;\n width: 5rem;\n height: 5rem;\n color: var(--primary-foreground-color);\n animation: 1s linear infinite alternate flash;\n }\n\n .label {\n font-size: 1.5rem;\n color: var(--primary-foreground-color);\n animation: 1s linear infinite alternate flash;\n }\n\n .button {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 3.5rem;\n width: 100%;\n border-radius: 3.5rem;\n padding: 0 1rem;\n margin-top: 2rem;\n font-size: 1.1rem;\n font-weight: 700;\n color: var(--primary-foreground-color);\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n\n &:hover {\n color: var(--secondary-foreground-color);\n background-color: var(--primary-foreground-color);\n }\n }\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n .intro-container {\n justify-content: initial;\n padding: 3rem 1.5rem;\n\n .heading-container {\n align-items: flex-start;\n margin-bottom: 4rem;\n\n .logo-container {\n .logo {\n height: 4rem;\n }\n }\n\n .title-container {\n font-size: 2.5rem;\n }\n\n .slogan-container {\n font-size: 1.5rem;\n }\n }\n\n .content-container {\n flex-direction: column-reverse;\n\n .form-container, .options-container {\n width: 50%;\n margin: 0 auto;\n }\n\n .options-container {\n margin-bottom: 4rem;\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n .intro-container {\n .content-container {\n .form-container, .options-container {\n width: 100%;\n margin: 0;\n }\n\n .options-container {\n margin-bottom: 4rem;\n }\n }\n }\n}",".updater-banner {\n height: 4rem;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n padding: 0 1rem;\n font-size: 1rem;\n font-weight: bold;\n color: var(--primary-foreground-color);\n background-color: var(--primary-accent-color);\n\n .button {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 2.5rem;\n padding: 0 1rem;\n border-radius: var(--border-radius);\n color: var(--primary-background-color);\n background-color: var(--primary-foreground-color);\n transition: all 0.1s ease-out;\n\n &:hover {\n color: var(--primary-foreground-color);\n background-color: transparent;\n box-shadow: inset 0 0 0 0.15rem var(--primary-foreground-color);\n }\n }\n\n .close {\n position: absolute;\n right: 0;\n height: 4rem;\n width: 4rem;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n\n .icon {\n height: 2rem;\n }\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n.error-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 1rem;\n\n .error-image {\n flex: none;\n width: 12rem;\n height: 12rem;\n object-fit: contain;\n object-position: center;\n opacity: 0.9;\n }\n\n .error-message {\n flex: none;\n padding: 0 3rem;\n font-size: 2rem;\n max-height: 3.6em;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n\n .buttons-container {\n flex: none;\n align-self: stretch;\n margin: 0 2rem;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n gap: 1.5rem;\n margin-top: 1rem;\n\n .button-container {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 0 2.5rem;\n min-width: 8rem;\n height: 3.5rem;\n border-radius: 3.5rem;\n background-color: var(--overlay-color);\n\n &:hover {\n outline: var(--focus-outline-size) solid var(--primary-foreground-color);\n background-color: transparent;\n }\n\n &:active {\n outline: none;\n }\n\n &:global(.disabled) {\n opacity: 0.3;\n }\n\n .label {\n flex-grow: 0;\n flex-shrink: 1;\n flex-basis: auto;\n max-height: 2.4em;\n font-size: 1.1rem;\n font-weight: 500;\n text-align: center;\n color: var(--primary-foreground-color);\n }\n }\n }\n}","// Copyright (C) 2017-2024 Smart code 203358507\n\n@import (reference) '~stremio/common/screen-sizes.less';\n@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';\n\n@font-face {\n font-family: 'PlusJakartaSans';\n src: url('/fonts/PlusJakartaSans.ttf') format('truetype');\n}\n\n:global {\n @import (once, less) '~stremio/common/animations.less';\n @import (once, less) '~stremio-router/styles.css';\n}\n\n// iOS pads the bottom inset more than needed, so we deduce the actual inset size when using the webapp\n@calculated-bottom-safe-inset: ~\"min(env(safe-area-inset-bottom, 0rem), max(1rem, calc(var(--viewport-height-diff) - env(safe-area-inset-top, 0rem))))\";\n\n// Viewport sizes\n@viewport-width: ~\"100vw\";\n@viewport-height: ~\"100vh\";\n\n// HTML sizes\n@html-width: ~\"calc(max(var(--small-viewport-width), var(--dynamic-viewport-width)))\";\n@html-height: ~\"calc(max(var(--small-viewport-height), var(--dynamic-viewport-height)))\";\n@html-standalone-width: ~\"calc(max(100%, var(--small-viewport-width)))\";\n@html-standalone-height: ~\"calc(max(100%, var(--small-viewport-height)))\";\n\n// Safe area insets\n@safe-area-inset-top: env(safe-area-inset-top, 0rem);\n@safe-area-inset-right: env(safe-area-inset-right, 0rem);\n@safe-area-inset-bottom: env(safe-area-inset-bottom, 0rem);\n@safe-area-inset-left: env(safe-area-inset-left, 0rem);\n\n@top-overlay-size: 5.25rem;\n@bottom-overlay-size: 0rem;\n@overlap-size: 3rem;\n@transparency-grandient-pad: 6rem;\n\n:root {\n --landscape-shape-ratio: 0.5625;\n --poster-shape-ratio: 1.464;\n --scroll-bar-size: 6px;\n --horizontal-nav-bar-size: 5.5rem;\n --vertical-nav-bar-size: 6rem;\n --focus-outline-size: 2px;\n --color-facebook: #1877F1;\n --color-x: #000000;\n --color-reddit: #FF4500;\n --color-imdb: #f5c518;\n --color-trakt: #ED2224;\n --color-placeholder: #60606080;\n --color-placeholder-text: @color-surface-50;\n --color-placeholder-background: @color-surface-dark5-20;\n --primary-background-color: rgba(12, 11, 17, 1);\n --secondary-background-color: rgba(26, 23, 62, 1);\n --primary-foreground-color: rgba(255, 255, 255, 0.9);\n --secondary-foreground-color: rgb(12, 11, 17, 1);\n --primary-accent-color: rgb(123, 91, 245);\n --secondary-accent-color: rgba(34, 179, 101, 1);\n --tertiary-accent-color: rgba(246, 199, 0, 1);\n --quaternary-accent-color: rgba(18, 69, 166, 1);\n --overlay-color: rgba(255, 255, 255, 0.05);\n --modal-background-color: rgba(15, 13, 32, 1);\n --outer-glow: 0px 0px 15px rgba(123, 91, 245, 0.37);\n --warning-accent-color: rgba(255, 165, 0, 1);\n --danger-accent-color: rgba(220, 38, 38, 1); \n --border-radius: 0.75rem;\n --top-overlay-size: @top-overlay-size;\n --bottom-overlay-size: @bottom-overlay-size;\n --overlap-size: @overlap-size;\n --transparency-grandient-pad: @transparency-grandient-pad;\n --safe-area-inset-top: @safe-area-inset-top;\n --safe-area-inset-right: @safe-area-inset-right;\n --safe-area-inset-bottom: @safe-area-inset-bottom;\n --safe-area-inset-left: @safe-area-inset-left;\n --dynamic-viewport-width: @viewport-width;\n --dynamic-viewport-height: @viewport-height;\n --large-viewport-width: @viewport-width;\n --large-viewport-height: @viewport-height;\n --small-viewport-width: @viewport-width;\n --small-viewport-height: @viewport-height;\n --viewport-height-diff: calc(100vh - 100vh);\n\n @supports (height: 100dvh) {\n --dynamic-viewport-width: 100dvw;\n --dynamic-viewport-height: 100dvh;\n }\n\n @supports (height: 100lvh) {\n --large-viewport-width: 100lvw;\n --large-viewport-height: 100lvh;\n }\n\n @supports (height: 100svh) {\n --small-viewport-width: 100svw;\n --small-viewport-height: 100svh;\n }\n\n @supports (height: 100lvh) and (height: 100svh) {\n --viewport-height-diff: calc(100lvh - 100svh);\n }\n\n @media (display-mode: standalone) {\n --safe-area-inset-bottom: @calculated-bottom-safe-inset;\n }\n}\n\n* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-size: 1rem;\n font-family: inherit;\n border: none;\n outline: none;\n list-style: none;\n user-select: none;\n text-decoration: none;\n appearance: none;\n background: none;\n box-shadow: none;\n overflow: hidden;\n word-break: break-word;\n scrollbar-width: thin;\n scrollbar-color: var(--overlay-color) transparent;\n}\n\n::-webkit-scrollbar {\n width: var(--scroll-bar-size);\n height: var(--scroll-bar-size);\n}\n\n::-webkit-scrollbar-thumb {\n border-radius: var(--scroll-bar-size);\n background-color: var(--overlay-color);\n\n &:hover {\n background-color: var(--primary-accent-color);\n }\n}\n\n::-webkit-scrollbar-track {\n background-color: transparent;\n}\n\nsvg {\n overflow: visible;\n}\n\nhtml {\n width: @html-width;\n height: @html-height;\n font-family: 'PlusJakartaSans', 'Arial', 'Helvetica', 'sans-serif';\n overflow: auto;\n overscroll-behavior: none;\n user-select: none;\n touch-action: manipulation;\n -webkit-tap-highlight-color: transparent;\n\n @media (display-mode: standalone) {\n width: @html-standalone-width;\n height: @html-standalone-height;\n }\n\n body {\n width: 100%;\n height: 100%;\n background: linear-gradient(41deg, var(--primary-background-color) 0%, var(--secondary-background-color) 100%);\n -webkit-font-smoothing: antialiased;\n\n :global(#app) {\n position: relative;\n z-index: 0;\n width: 100%;\n height: 100%;\n\n .toasts-container {\n position: absolute;\n top: calc(1.2 * var(--horizontal-nav-bar-size) + var(--safe-area-inset-top));\n right: var(--safe-area-inset-right);\n bottom: calc(1.2 * var(--horizontal-nav-bar-size) + var(--safe-area-inset-bottom, 0rem));\n left: auto;\n z-index: 1;\n padding: 0 calc(0.5 * var(--horizontal-nav-bar-size));\n overflow: visible;\n scrollbar-width: none;\n pointer-events: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n .tooltip-container {\n height: 2.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 1.5rem;\n font-size: 1rem;\n color: var(--primary-foreground-color);\n border-radius: var(--border-radius);\n background-color: var(--modal-background-color);\n box-shadow: var(--outer-glow);\n transition: opacity 0.1s ease-out;\n }\n\n .file-drop-container {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: 1rem;\n border: 0.5rem dashed transparent;\n pointer-events: none;\n transition: border-color 0.25s ease-out;\n\n &:global(.active) {\n border-color: var(--primary-accent-color);\n }\n }\n\n .updater-banner-container {\n z-index: 1;\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n }\n\n .router {\n width: 100%;\n height: 100%;\n }\n\n .loader-container, .error-container {\n width: 100%;\n height: 100%;\n }\n }\n }\n}\n\n@media only screen and (min-width: @xxlarge) {\n html {\n font-size: 18px;\n }\n}\n\n@media only screen and (max-width: @xxlarge) {\n html {\n font-size: 16px;\n }\n}\n\n@media only screen and (max-width: @large) {\n html {\n font-size: 15px;\n }\n}\n\n@media only screen and (max-width: @medium) {\n html {\n font-size: 14px;\n }\n}\n\n@media only screen and (max-width: @xsmall) {\n html {\n body {\n :global(#app) {\n .toasts-container {\n padding: 0 1rem;\n }\n\n .tooltip-container {\n display: none;\n }\n }\n }\n }\n}\n\n@media only screen and (max-width: @minimum) {\n :root {\n --bottom-overlay-size: 6rem;\n }\n}","// Copyright (C) 2017-2023 Smart code 203358507\n\n:global(.animation-fade-in) {\n :local {\n animation-name: fade-in;\n }\n\n animation-timing-function: ease-in-out;\n animation-duration: 350ms;\n\n @media (prefers-reduced-motion) {\n :local {\n animation-name: fade-in-no-motion;\n }\n }\n}\n\n@keyframes fade-in {\n 0% {\n opacity: 0;\n transform: translateY(4px);\n }\n\n 40% {\n opacity: 0;\n transform: translateY(4px);\n }\n\n 70% {\n opacity: 0.6;\n transform: translateY(2px);\n }\n\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n:global(.animation-slide-up) {\n :local {\n animation-name: slide-up;\n }\n\n animation-timing-function: ease-out;\n animation-duration: 0.1s;\n}\n\n@keyframes slide-up {\n 0% {\n transform: translateY(100%);\n }\n\n 100% {\n transform: translateY(0%);\n }\n}\n\n.slide-left-enter {\n transform: translateX(100%);\n}\n\n.slide-left-active {\n transform: translateX(0%);\n transition: transform 0.3s cubic-bezier(0.32, 0, 0.67, 0);\n}\n\n.slide-left-exit {\n transform: translateX(100%);\n}\n\n.slide-up-enter {\n transform: translateY(100%);\n}\n\n.slide-up-active {\n transform: translateY(0%);\n transition: transform 0.3s cubic-bezier(0.32, 0, 0.67, 0);\n}\n\n.slide-up-exit {\n transform: translateY(100%);\n}\n\n.fade-enter {\n opacity: 0;\n}\n\n.fade-active {\n opacity: 1;\n transition: opacity 0.3s cubic-bezier(0.32, 0, 0.67, 0);\n}\n\n.fade-exit {\n opacity: 0;\n}\n\n@keyframes fade-in-no-motion {\n 0% {\n opacity: 0;\n }\n\n 40% {\n opacity: 0;\n }\n\n 70% {\n opacity: 0.6;\n }\n\n 100% {\n opacity: 1;\n }\n}","/* Copyright (C) 2017-2023 Smart code 203358507 */\n\n.routes-container {\n position: relative;\n z-index: 0;\n}\n\n.routes-container .route-container {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 0;\n}\n\n.routes-container .route-container:not(:last-child) {\n display: none;\n}\n\n.routes-container .route-container .route-content {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 0;\n overflow: hidden;\n}\n\n.routes-container .route-container .modals-container {\n width: 0;\n height: 0;\n}\n\n.routes-container .route-container .modals-container .modal-container {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n overflow: hidden;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/chore/update-pull-user-from-api-action/index.html b/chore/update-pull-user-from-api-action/index.html index 615d64795..b12c1767f 100644 --- a/chore/update-pull-user-from-api-action/index.html +++ b/chore/update-pull-user-from-api-action/index.html @@ -1 +1 @@ -<!doctype html><html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0,user-scalable=no,viewport-fit=cover"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-title" content="Stremio"><link rel="icon" type="image/x-icon" href="favicons/favicon.ico"><title>Stremio - Freedom to Stream
    \ No newline at end of file +Stremio - Freedom to Stream
    \ No newline at end of file diff --git a/chore/update-pull-user-from-api-action/service-worker.js b/chore/update-pull-user-from-api-action/service-worker.js index 76f75434c..b8025c879 100644 --- a/chore/update-pull-user-from-api-action/service-worker.js +++ b/chore/update-pull-user-from-api-action/service-worker.js @@ -1,2 +1,2 @@ -if(!self.define){let e,a={};const i=(i,r)=>(i=new URL(i+".js",r).href,a[i]||new Promise((a=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=a,document.head.appendChild(e)}else e=i,importScripts(i),a()})).then((()=>{let e=a[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(r,s)=>{const c=e||("document"in self?document.currentScript.src:"")||location.href;if(a[c])return;let n={};const o=e=>i(e,c),d={module:{uri:c},exports:n,require:o};a[c]=Promise.all(r.map((e=>d[e]||o(e)))).then((e=>(s(...e),n)))}}define(["./workbox-1f84e78b"],(function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:".well-known/apple-app-site-association",revision:"fa0647fcd42a1063e72bd66bfdf00052"},{url:"47a330ac4a44057e9427ee0c5b2d1f772a7a783f/fonts/PlusJakartaSans.ttf",revision:"d42d5252438e0617f4fafe9c9b1eaa36"},{url:"47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/main.js",revision:"33a3f7132ecff22af27a1ba7fca21b56"},{url:"47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/worker.js",revision:"0e43502f853194f6075c43430ed4f027"},{url:"47a330ac4a44057e9427ee0c5b2d1f772a7a783f/styles/main.css",revision:"3f2207700b30f299e50906d7e177a689"},{url:"favicons/favicon.ico",revision:"4c07b4cdba0741908240aaf0f0996231"},{url:"images/anonymous.png",revision:"14a3d1f35520016dfa7d524bc6fe00a3"},{url:"images/background_1.svg",revision:"e13e8149bc3a081ae4b19a94339d0929"},{url:"images/background_2.svg",revision:"7400a2bd6bd3a5b6ddf4d4cd12e6e1c8"},{url:"images/calendar_placeholder.png",revision:"420d4c30fb60f24bfc0b292e0ec6f8db"},{url:"images/default_avatar.png",revision:"71b1172926723433c6e5f94a1e570993"},{url:"images/empty.png",revision:"3508ea0d8cd8dd84906ff960a356b6c9"},{url:"images/icon.png",revision:"b23a3a2bbe761ce6029c564879702ad5"},{url:"images/library_placeholder.png",revision:"47355825e2c3f3e5bcc80d204f0156c8"},{url:"images/logo.png",revision:"a747ada078440d543890a24ea9105e6d"},{url:"images/maskable_icon.png",revision:"941c7d6c4af30fd50d631032e31bbd42"},{url:"images/stremio_symbol.png",revision:"c64dbb21f02e31bc644512327ed6fe80"},{url:"index.html",revision:"3fe1d22238c758c2a98562e2e4630796"},{url:"screenshots/board_narrow.webp",revision:"8329eb909f925e3658dbb7d7e6611bd1"},{url:"screenshots/board_wide.webp",revision:"506ccb23f4d5eced25b11331a10abacb"}],{})})); +if(!self.define){let e,a={};const c=(c,i)=>(c=new URL(c+".js",i).href,a[c]||new Promise(a=>{if("document"in self){const e=document.createElement("script");e.src=c,e.onload=a,document.head.appendChild(e)}else e=c,importScripts(c),a()}).then(()=>{let e=a[c];if(!e)throw new Error(`Module ${c} didn’t register its module`);return e}));self.define=(i,r)=>{const s=e||("document"in self?document.currentScript.src:"")||location.href;if(a[s])return;let d={};const n=e=>c(e,s),o={module:{uri:s},exports:d,require:n};a[s]=Promise.all(i.map(e=>o[e]||n(e))).then(e=>(r(...e),d))}}define(["./workbox-099bf95e"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:".well-known/apple-app-site-association",revision:"fa0647fcd42a1063e72bd66bfdf00052"},{url:"4a0ac61763256a759055a68cca63c8afc0e0da51/binaries/stremio_core_web_bg.wasm",revision:"e7c5d0bb0a822d721b745748fd3f1203"},{url:"4a0ac61763256a759055a68cca63c8afc0e0da51/fonts/PlusJakartaSans.ttf",revision:"d42d5252438e0617f4fafe9c9b1eaa36"},{url:"4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/main.js",revision:"6588a1aaeee1973d49e7c1dd753b9337"},{url:"4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/worker.js",revision:"cb9de2af61fc082064e1b0aaae7e1c84"},{url:"4a0ac61763256a759055a68cca63c8afc0e0da51/styles/main.css",revision:"59e5c9733498f7b13afa964eb5d346e8"},{url:"favicons/favicon.ico",revision:"4c07b4cdba0741908240aaf0f0996231"},{url:"images/anonymous.png",revision:"14a3d1f35520016dfa7d524bc6fe00a3"},{url:"images/background_1.svg",revision:"e13e8149bc3a081ae4b19a94339d0929"},{url:"images/background_2.svg",revision:"7400a2bd6bd3a5b6ddf4d4cd12e6e1c8"},{url:"images/calendar_placeholder.png",revision:"420d4c30fb60f24bfc0b292e0ec6f8db"},{url:"images/default_avatar.png",revision:"71b1172926723433c6e5f94a1e570993"},{url:"images/empty.png",revision:"3508ea0d8cd8dd84906ff960a356b6c9"},{url:"images/icon.png",revision:"b23a3a2bbe761ce6029c564879702ad5"},{url:"images/library_placeholder.png",revision:"47355825e2c3f3e5bcc80d204f0156c8"},{url:"images/logo.png",revision:"a747ada078440d543890a24ea9105e6d"},{url:"images/maskable_icon.png",revision:"941c7d6c4af30fd50d631032e31bbd42"},{url:"images/stremio_symbol.png",revision:"c64dbb21f02e31bc644512327ed6fe80"},{url:"index.html",revision:"43c72f2eca10d9e67e3e690ec8af1d23"},{url:"screenshots/board_narrow.webp",revision:"8329eb909f925e3658dbb7d7e6611bd1"},{url:"screenshots/board_wide.webp",revision:"506ccb23f4d5eced25b11331a10abacb"}],{})}); //# sourceMappingURL=service-worker.js.map diff --git a/chore/update-pull-user-from-api-action/service-worker.js.map b/chore/update-pull-user-from-api-action/service-worker.js.map index bbdcfdeac..252eeb475 100644 --- a/chore/update-pull-user-from-api-action/service-worker.js.map +++ b/chore/update-pull-user-from-api-action/service-worker.js.map @@ -1 +1 @@ -{"version":3,"file":"service-worker.js","sources":["../../../../../tmp/229e315379cb40ad859195812c3f6632/service-worker.js"],"sourcesContent":["import {clientsClaim as workbox_core_clientsClaim} from '/home/runner/work/stremio-web/stremio-web/node_modules/workbox-core/clientsClaim.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/home/runner/work/stremio-web/stremio-web/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \".well-known/apple-app-site-association\",\n \"revision\": \"fa0647fcd42a1063e72bd66bfdf00052\"\n },\n {\n \"url\": \"47a330ac4a44057e9427ee0c5b2d1f772a7a783f/fonts/PlusJakartaSans.ttf\",\n \"revision\": \"d42d5252438e0617f4fafe9c9b1eaa36\"\n },\n {\n \"url\": \"47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/main.js\",\n \"revision\": \"33a3f7132ecff22af27a1ba7fca21b56\"\n },\n {\n \"url\": \"47a330ac4a44057e9427ee0c5b2d1f772a7a783f/scripts/worker.js\",\n \"revision\": \"0e43502f853194f6075c43430ed4f027\"\n },\n {\n \"url\": \"47a330ac4a44057e9427ee0c5b2d1f772a7a783f/styles/main.css\",\n \"revision\": \"3f2207700b30f299e50906d7e177a689\"\n },\n {\n \"url\": \"favicons/favicon.ico\",\n \"revision\": \"4c07b4cdba0741908240aaf0f0996231\"\n },\n {\n \"url\": \"images/anonymous.png\",\n \"revision\": \"14a3d1f35520016dfa7d524bc6fe00a3\"\n },\n {\n \"url\": \"images/background_1.svg\",\n \"revision\": \"e13e8149bc3a081ae4b19a94339d0929\"\n },\n {\n \"url\": \"images/background_2.svg\",\n \"revision\": \"7400a2bd6bd3a5b6ddf4d4cd12e6e1c8\"\n },\n {\n \"url\": \"images/calendar_placeholder.png\",\n \"revision\": \"420d4c30fb60f24bfc0b292e0ec6f8db\"\n },\n {\n \"url\": \"images/default_avatar.png\",\n \"revision\": \"71b1172926723433c6e5f94a1e570993\"\n },\n {\n \"url\": \"images/empty.png\",\n \"revision\": \"3508ea0d8cd8dd84906ff960a356b6c9\"\n },\n {\n \"url\": \"images/icon.png\",\n \"revision\": \"b23a3a2bbe761ce6029c564879702ad5\"\n },\n {\n \"url\": \"images/library_placeholder.png\",\n \"revision\": \"47355825e2c3f3e5bcc80d204f0156c8\"\n },\n {\n \"url\": \"images/logo.png\",\n \"revision\": \"a747ada078440d543890a24ea9105e6d\"\n },\n {\n \"url\": \"images/maskable_icon.png\",\n \"revision\": \"941c7d6c4af30fd50d631032e31bbd42\"\n },\n {\n \"url\": \"images/stremio_symbol.png\",\n \"revision\": \"c64dbb21f02e31bc644512327ed6fe80\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"3fe1d22238c758c2a98562e2e4630796\"\n },\n {\n \"url\": \"screenshots/board_narrow.webp\",\n \"revision\": \"8329eb909f925e3658dbb7d7e6611bd1\"\n },\n {\n \"url\": \"screenshots/board_wide.webp\",\n \"revision\": \"506ccb23f4d5eced25b11331a10abacb\"\n }\n], {});\n\n\n\n\n\n\n\n\n"],"names":["self","skipWaiting","workbox_core_clientsClaim","workbox_precaching_precacheAndRoute","url","revision"],"mappings":"0nBAoBAA,KAAKC,cAELC,EAAAA,eAQAC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,qEACPC,SAAY,oCAEd,CACED,IAAO,2DACPC,SAAY,oCAEd,CACED,IAAO,6DACPC,SAAY,oCAEd,CACED,IAAO,2DACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,kCACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,qCAEb,CAAA"} \ No newline at end of file +{"version":3,"file":"service-worker.js","sources":["../../../../../tmp/c8fc87ff46a042daf4896057a8e8032d/service-worker.js"],"sourcesContent":["import {clientsClaim as workbox_core_clientsClaim} from '/home/runner/work/stremio-web/stremio-web/node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/clientsClaim.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/home/runner/work/stremio-web/stremio-web/node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.skipWaiting();\n\nworkbox_core_clientsClaim();\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \".well-known/apple-app-site-association\",\n \"revision\": \"fa0647fcd42a1063e72bd66bfdf00052\"\n },\n {\n \"url\": \"4a0ac61763256a759055a68cca63c8afc0e0da51/binaries/stremio_core_web_bg.wasm\",\n \"revision\": \"e7c5d0bb0a822d721b745748fd3f1203\"\n },\n {\n \"url\": \"4a0ac61763256a759055a68cca63c8afc0e0da51/fonts/PlusJakartaSans.ttf\",\n \"revision\": \"d42d5252438e0617f4fafe9c9b1eaa36\"\n },\n {\n \"url\": \"4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/main.js\",\n \"revision\": \"6588a1aaeee1973d49e7c1dd753b9337\"\n },\n {\n \"url\": \"4a0ac61763256a759055a68cca63c8afc0e0da51/scripts/worker.js\",\n \"revision\": \"cb9de2af61fc082064e1b0aaae7e1c84\"\n },\n {\n \"url\": \"4a0ac61763256a759055a68cca63c8afc0e0da51/styles/main.css\",\n \"revision\": \"59e5c9733498f7b13afa964eb5d346e8\"\n },\n {\n \"url\": \"favicons/favicon.ico\",\n \"revision\": \"4c07b4cdba0741908240aaf0f0996231\"\n },\n {\n \"url\": \"images/anonymous.png\",\n \"revision\": \"14a3d1f35520016dfa7d524bc6fe00a3\"\n },\n {\n \"url\": \"images/background_1.svg\",\n \"revision\": \"e13e8149bc3a081ae4b19a94339d0929\"\n },\n {\n \"url\": \"images/background_2.svg\",\n \"revision\": \"7400a2bd6bd3a5b6ddf4d4cd12e6e1c8\"\n },\n {\n \"url\": \"images/calendar_placeholder.png\",\n \"revision\": \"420d4c30fb60f24bfc0b292e0ec6f8db\"\n },\n {\n \"url\": \"images/default_avatar.png\",\n \"revision\": \"71b1172926723433c6e5f94a1e570993\"\n },\n {\n \"url\": \"images/empty.png\",\n \"revision\": \"3508ea0d8cd8dd84906ff960a356b6c9\"\n },\n {\n \"url\": \"images/icon.png\",\n \"revision\": \"b23a3a2bbe761ce6029c564879702ad5\"\n },\n {\n \"url\": \"images/library_placeholder.png\",\n \"revision\": \"47355825e2c3f3e5bcc80d204f0156c8\"\n },\n {\n \"url\": \"images/logo.png\",\n \"revision\": \"a747ada078440d543890a24ea9105e6d\"\n },\n {\n \"url\": \"images/maskable_icon.png\",\n \"revision\": \"941c7d6c4af30fd50d631032e31bbd42\"\n },\n {\n \"url\": \"images/stremio_symbol.png\",\n \"revision\": \"c64dbb21f02e31bc644512327ed6fe80\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"43c72f2eca10d9e67e3e690ec8af1d23\"\n },\n {\n \"url\": \"screenshots/board_narrow.webp\",\n \"revision\": \"8329eb909f925e3658dbb7d7e6611bd1\"\n },\n {\n \"url\": \"screenshots/board_wide.webp\",\n \"revision\": \"506ccb23f4d5eced25b11331a10abacb\"\n }\n], {});\n\n\n\n\n\n\n\n\n"],"names":["self","skipWaiting","workbox_core_clientsClaim","workbox_precaching_precacheAndRoute","url","revision"],"mappings":"inBAoBAA,KAAKC,cAELC,EAAAA,eAQAC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,6EACPC,SAAY,oCAEd,CACED,IAAO,qEACPC,SAAY,oCAEd,CACED,IAAO,2DACPC,SAAY,oCAEd,CACED,IAAO,6DACPC,SAAY,oCAEd,CACED,IAAO,2DACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,kCACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,qCAEb,CAAA"} \ No newline at end of file diff --git a/chore/update-pull-user-from-api-action/workbox-099bf95e.js b/chore/update-pull-user-from-api-action/workbox-099bf95e.js new file mode 100644 index 000000000..c18ef8d91 --- /dev/null +++ b/chore/update-pull-user-from-api-action/workbox-099bf95e.js @@ -0,0 +1,2 @@ +define(["exports"],function(t){"use strict";try{self["workbox:core:7.2.0"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:7.2.0"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class i{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class r extends i{constructor(t,e,s){super(({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)},e,s)}}class o{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)})}addCacheListener(){self.addEventListener("message",t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map(e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})}));t.waitUntil(s),t.ports&&t.ports[0]&&s.then(()=>t.ports[0].postMessage(!0))}})}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let o=r&&r.handler;const c=t.method;if(!o&&this.i.has(c)&&(o=this.i.get(c)),!o)return;let a;try{a=o.handle({url:s,request:t,event:e,params:i})}catch(t){a=Promise.reject(t)}const h=r&&r.catchHandler;return a instanceof Promise&&(this.o||h)&&(a=a.catch(async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n})),a}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const o=r.match({url:t,sameOrigin:e,request:s,event:n});if(o)return i=o,(Array.isArray(i)&&0===i.length||o.constructor===Object&&0===Object.keys(o).length||"boolean"==typeof o)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let c;const a={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},h=t=>[a.prefix,t,a.suffix].filter(t=>t&&t.length>0).join("-"),u=t=>t||h(a.precache),l=t=>t||h(a.runtime);function f(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:7.2.0"]&&_()}catch(t){}function w(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class d{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class p{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.h.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.h=t}}let y;async function g(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=e?e(r):r,c=function(){if(void 0===y){const t=new Response("");if("body"in t)try{new Response(t.body),y=!0}catch(t){y=!1}y=!1}return y}()?i.body:await i.blob();return new Response(c,o)}function R(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class m{constructor(){this.promise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}}const v=new Set;try{self["workbox:strategies:7.2.0"]&&_()}catch(t){}function q(t){return"string"==typeof t?new Request(t):t}class U{constructor(t,e){this.u={},Object.assign(this,e),this.event=e.event,this.l=t,this.p=new m,this.R=[],this.m=[...t.plugins],this.v=new Map;for(const t of this.m)this.v.set(t,{});this.event.waitUntil(this.p.promise)}async fetch(t){const{event:e}=this;let n=q(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.l.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=q(t);let s;const{cacheName:n,matchOptions:i}=this.l,r=await this.getCacheKey(e,"read"),o=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,o);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=q(t);var i;await(i=0,new Promise(t=>setTimeout(t,i)));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(o=r.url,new URL(String(o),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var o;const c=await this.q(e);if(!c)return!1;const{cacheName:a,matchOptions:h}=this.l,u=await self.caches.open(a),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=R(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),o=await t.keys(e,r);for(const e of o)if(i===R(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?c.clone():c)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of v)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:a,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.u[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=q(await t({mode:e,request:n,event:this.event,params:this.params}));this.u[s]=n}return this.u[s]}hasCallback(t){for(const e of this.l.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.l.plugins)if("function"==typeof e[t]){const s=this.v.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.R.push(t),t}async doneWaiting(){let t;for(;t=this.R.shift();)await t}destroy(){this.p.resolve(null)}async q(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class L{constructor(t={}){this.cacheName=l(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new U(this,{event:e,request:s,params:n}),r=this.U(i,s,e);return[r,this.L(r,i,s,e)]}async U(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this._(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async L(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}class b extends L{constructor(t={}){t.cacheName=u(t.cacheName),super(t),this.C=!1!==t.fallbackToNetwork,this.plugins.push(b.copyRedirectedCacheableResponsesPlugin)}async _(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.O(t,e):await this.N(t,e))}async N(t,e){let n;const i=e.params||{};if(!this.C)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,o=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&o&&"no-cors"!==t.mode&&(this.k(),await e.cachePut(t,n.clone()))}return n}async O(t,e){this.k();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}k(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==b.copyRedirectedCacheableResponsesPlugin&&(n===b.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(b.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}b.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},b.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await g(t):t};class C{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.K=new Map,this.T=new Map,this.W=new Map,this.l=new b({cacheName:u(t),plugins:[...e,new p({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.l}precache(t){this.addToCacheList(t),this.j||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.j=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=w(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.K.has(i)&&this.K.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.K.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.W.has(t)&&this.W.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.W.set(t,n.integrity)}if(this.K.set(i,t),this.T.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return f(t,async()=>{const e=new d;this.strategy.plugins.push(e);for(const[e,s]of this.K){const n=this.W.get(s),i=this.T.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}})}activate(t){return f(t,async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.K.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}})}getURLsToCacheKeys(){return this.K}getCachedURLs(){return[...this.K.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.K.get(e.href)}getIntegrityForCacheKey(t){return this.W.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}let E;const O=()=>(E||(E=new C),E);class x extends i{constructor(t,e){super(({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const o=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some(t=>t.test(s))&&t.searchParams.delete(s);return t}(r,e);if(yield o.href,s&&o.pathname.endsWith("/")){const t=new URL(o.href);t.pathname+=s,yield t.href}if(n){const t=new URL(o.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}},t.strategy)}}function N(t){const e=O();!function(t,e,n){let a;if("string"==typeof t){const s=new URL(t,location.href);a=new i(({url:t})=>t.href===s.href,e,n)}else if(t instanceof RegExp)a=new r(t,e,n);else if("function"==typeof t)a=new i(t,e,n);else{if(!(t instanceof i))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});a=t}(c||(c=new o,c.addFetchListener(),c.addCacheListener()),c).registerRoute(a)}(new x(e,t))}t.clientsClaim=function(){self.addEventListener("activate",()=>self.clients.claim())},t.precacheAndRoute=function(t,e){!function(t){O().precache(t)}(t),N(e)}}); +//# sourceMappingURL=workbox-099bf95e.js.map diff --git a/chore/update-pull-user-from-api-action/workbox-099bf95e.js.map b/chore/update-pull-user-from-api-action/workbox-099bf95e.js.map new file mode 100644 index 000000000..b0d245aa8 --- /dev/null +++ b/chore/update-pull-user-from-api-action/workbox-099bf95e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"workbox-099bf95e.js","sources":["node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_version.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/logger.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/models/messages/messageGenerator.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/WorkboxError.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/_version.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/utils/constants.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/utils/normalizeHandler.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/Route.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/RegExpRoute.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/Router.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/utils/getOrCreateDefaultRouter.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/cacheNames.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/waitUntil.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/_version.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/createCacheKey.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/PrecacheInstallReportPlugin.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/PrecacheCacheKeyPlugin.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/canConstructResponseFromBodyStream.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/copyResponse.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/cacheMatchIgnoreParams.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/Deferred.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/models/quotaErrorCallbacks.js","node_modules/.pnpm/workbox-strategies@7.3.0/node_modules/workbox-strategies/_version.js","node_modules/.pnpm/workbox-strategies@7.3.0/node_modules/workbox-strategies/StrategyHandler.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/timeout.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/getFriendlyURL.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/executeQuotaErrorCallbacks.js","node_modules/.pnpm/workbox-strategies@7.3.0/node_modules/workbox-strategies/Strategy.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/PrecacheStrategy.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/PrecacheController.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/getOrCreatePrecacheController.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/PrecacheRoute.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/generateURLVariations.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/removeIgnoredSearchParams.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/addRoute.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/registerRoute.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/clientsClaim.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/precacheAndRoute.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/precache.js"],"sourcesContent":["\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:core:7.2.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst logger = (process.env.NODE_ENV === 'production'\n ? null\n : (() => {\n // Don't overwrite this value if it's already set.\n // See https://github.com/GoogleChrome/workbox/pull/2284#issuecomment-560470923\n if (!('__WB_DISABLE_DEV_LOGS' in globalThis)) {\n self.__WB_DISABLE_DEV_LOGS = false;\n }\n let inGroup = false;\n const methodToColorMap = {\n debug: `#7f8c8d`,\n log: `#2ecc71`,\n warn: `#f39c12`,\n error: `#c0392b`,\n groupCollapsed: `#3498db`,\n groupEnd: null, // No colored prefix on groupEnd\n };\n const print = function (method, args) {\n if (self.__WB_DISABLE_DEV_LOGS) {\n return;\n }\n if (method === 'groupCollapsed') {\n // Safari doesn't print all console.groupCollapsed() arguments:\n // https://bugs.webkit.org/show_bug.cgi?id=182754\n if (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n console[method](...args);\n return;\n }\n }\n const styles = [\n `background: ${methodToColorMap[method]}`,\n `border-radius: 0.5em`,\n `color: white`,\n `font-weight: bold`,\n `padding: 2px 0.5em`,\n ];\n // When in a group, the workbox prefix is not displayed.\n const logPrefix = inGroup ? [] : ['%cworkbox', styles.join(';')];\n console[method](...logPrefix, ...args);\n if (method === 'groupCollapsed') {\n inGroup = true;\n }\n if (method === 'groupEnd') {\n inGroup = false;\n }\n };\n // eslint-disable-next-line @typescript-eslint/ban-types\n const api = {};\n const loggerMethods = Object.keys(methodToColorMap);\n for (const key of loggerMethods) {\n const method = key;\n api[method] = (...args) => {\n print(method, args);\n };\n }\n return api;\n })());\nexport { logger };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messages } from './messages.js';\nimport '../../_version.js';\nconst fallback = (code, ...args) => {\n let msg = code;\n if (args.length > 0) {\n msg += ` :: ${JSON.stringify(args)}`;\n }\n return msg;\n};\nconst generatorFunction = (code, details = {}) => {\n const message = messages[code];\n if (!message) {\n throw new Error(`Unable to find message for code '${code}'.`);\n }\n return message(details);\n};\nexport const messageGenerator = process.env.NODE_ENV === 'production' ? fallback : generatorFunction;\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messageGenerator } from '../models/messages/messageGenerator.js';\nimport '../_version.js';\n/**\n * Workbox errors should be thrown with this class.\n * This allows use to ensure the type easily in tests,\n * helps developers identify errors from workbox\n * easily and allows use to optimise error\n * messages correctly.\n *\n * @private\n */\nclass WorkboxError extends Error {\n /**\n *\n * @param {string} errorCode The error code that\n * identifies this particular error.\n * @param {Object=} details Any relevant arguments\n * that will help developers identify issues should\n * be added as a key on the context object.\n */\n constructor(errorCode, details) {\n const message = messageGenerator(errorCode, details);\n super(message);\n this.name = errorCode;\n this.details = details;\n }\n}\nexport { WorkboxError };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:routing:7.2.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The default HTTP method, 'GET', used when there's no specific method\n * configured for a route.\n *\n * @type {string}\n *\n * @private\n */\nexport const defaultMethod = 'GET';\n/**\n * The list of valid HTTP methods associated with requests that could be routed.\n *\n * @type {Array}\n *\n * @private\n */\nexport const validMethods = [\n 'DELETE',\n 'GET',\n 'HEAD',\n 'PATCH',\n 'POST',\n 'PUT',\n];\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport '../_version.js';\n/**\n * @param {function()|Object} handler Either a function, or an object with a\n * 'handle' method.\n * @return {Object} An object with a handle method.\n *\n * @private\n */\nexport const normalizeHandler = (handler) => {\n if (handler && typeof handler === 'object') {\n if (process.env.NODE_ENV !== 'production') {\n assert.hasMethod(handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return handler;\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(handler, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return { handle: handler };\n }\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { defaultMethod, validMethods } from './utils/constants.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport './_version.js';\n/**\n * A `Route` consists of a pair of callback functions, \"match\" and \"handler\".\n * The \"match\" callback determine if a route should be used to \"handle\" a\n * request by returning a non-falsy value if it can. The \"handler\" callback\n * is called when there is a match and should return a Promise that resolves\n * to a `Response`.\n *\n * @memberof workbox-routing\n */\nclass Route {\n /**\n * Constructor for Route class.\n *\n * @param {workbox-routing~matchCallback} match\n * A callback function that determines whether the route matches a given\n * `fetch` event by returning a non-falsy value.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(match, handler, method = defaultMethod) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(match, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'match',\n });\n if (method) {\n assert.isOneOf(method, validMethods, { paramName: 'method' });\n }\n }\n // These values are referenced directly by Router so cannot be\n // altered by minificaton.\n this.handler = normalizeHandler(handler);\n this.match = match;\n this.method = method;\n }\n /**\n *\n * @param {workbox-routing-handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response\n */\n setCatchHandler(handler) {\n this.catchHandler = normalizeHandler(handler);\n }\n}\nexport { Route };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { Route } from './Route.js';\nimport './_version.js';\n/**\n * RegExpRoute makes it easy to create a regular expression based\n * {@link workbox-routing.Route}.\n *\n * For same-origin requests the RegExp only needs to match part of the URL. For\n * requests against third-party servers, you must define a RegExp that matches\n * the start of the URL.\n *\n * @memberof workbox-routing\n * @extends workbox-routing.Route\n */\nclass RegExpRoute extends Route {\n /**\n * If the regular expression contains\n * [capture groups]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references},\n * the captured values will be passed to the\n * {@link workbox-routing~handlerCallback} `params`\n * argument.\n *\n * @param {RegExp} regExp The regular expression to match against URLs.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(regExp, handler, method) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(regExp, RegExp, {\n moduleName: 'workbox-routing',\n className: 'RegExpRoute',\n funcName: 'constructor',\n paramName: 'pattern',\n });\n }\n const match = ({ url }) => {\n const result = regExp.exec(url.href);\n // Return immediately if there's no match.\n if (!result) {\n return;\n }\n // Require that the match start at the first character in the URL string\n // if it's a cross-origin request.\n // See https://github.com/GoogleChrome/workbox/issues/281 for the context\n // behind this behavior.\n if (url.origin !== location.origin && result.index !== 0) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`The regular expression '${regExp.toString()}' only partially matched ` +\n `against the cross-origin URL '${url.toString()}'. RegExpRoute's will only ` +\n `handle cross-origin requests if they match the entire URL.`);\n }\n return;\n }\n // If the route matches, but there aren't any capture groups defined, then\n // this will return [], which is truthy and therefore sufficient to\n // indicate a match.\n // If there are capture groups, then it will return their values.\n return result.slice(1);\n };\n super(match, handler, method);\n }\n}\nexport { RegExpRoute };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { defaultMethod } from './utils/constants.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\n/**\n * The Router can be used to process a `FetchEvent` using one or more\n * {@link workbox-routing.Route}, responding with a `Response` if\n * a matching route exists.\n *\n * If no route matches a given a request, the Router will use a \"default\"\n * handler if one is defined.\n *\n * Should the matching Route throw an error, the Router will use a \"catch\"\n * handler if one is defined to gracefully deal with issues and respond with a\n * Request.\n *\n * If a request matches multiple routes, the **earliest** registered route will\n * be used to respond to the request.\n *\n * @memberof workbox-routing\n */\nclass Router {\n /**\n * Initializes a new Router.\n */\n constructor() {\n this._routes = new Map();\n this._defaultHandlerMap = new Map();\n }\n /**\n * @return {Map>} routes A `Map` of HTTP\n * method name ('GET', etc.) to an array of all the corresponding `Route`\n * instances that are registered.\n */\n get routes() {\n return this._routes;\n }\n /**\n * Adds a fetch event listener to respond to events when a route matches\n * the event's request.\n */\n addFetchListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('fetch', ((event) => {\n const { request } = event;\n const responsePromise = this.handleRequest({ request, event });\n if (responsePromise) {\n event.respondWith(responsePromise);\n }\n }));\n }\n /**\n * Adds a message event listener for URLs to cache from the window.\n * This is useful to cache resources loaded on the page prior to when the\n * service worker started controlling it.\n *\n * The format of the message data sent from the window should be as follows.\n * Where the `urlsToCache` array may consist of URL strings or an array of\n * URL string + `requestInit` object (the same as you'd pass to `fetch()`).\n *\n * ```\n * {\n * type: 'CACHE_URLS',\n * payload: {\n * urlsToCache: [\n * './script1.js',\n * './script2.js',\n * ['./script3.js', {mode: 'no-cors'}],\n * ],\n * },\n * }\n * ```\n */\n addCacheListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('message', ((event) => {\n // event.data is type 'any'\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (event.data && event.data.type === 'CACHE_URLS') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const { payload } = event.data;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Caching URLs from the window`, payload.urlsToCache);\n }\n const requestPromises = Promise.all(payload.urlsToCache.map((entry) => {\n if (typeof entry === 'string') {\n entry = [entry];\n }\n const request = new Request(...entry);\n return this.handleRequest({ request, event });\n // TODO(philipwalton): TypeScript errors without this typecast for\n // some reason (probably a bug). The real type here should work but\n // doesn't: `Array | undefined>`.\n })); // TypeScript\n event.waitUntil(requestPromises);\n // If a MessageChannel was used, reply to the message on success.\n if (event.ports && event.ports[0]) {\n void requestPromises.then(() => event.ports[0].postMessage(true));\n }\n }\n }));\n }\n /**\n * Apply the routing rules to a FetchEvent object to get a Response from an\n * appropriate Route's handler.\n *\n * @param {Object} options\n * @param {Request} options.request The request to handle.\n * @param {ExtendableEvent} options.event The event that triggered the\n * request.\n * @return {Promise|undefined} A promise is returned if a\n * registered route can handle the request. If there is no matching\n * route and there's no `defaultHandler`, `undefined` is returned.\n */\n handleRequest({ request, event, }) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(request, Request, {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'handleRequest',\n paramName: 'options.request',\n });\n }\n const url = new URL(request.url, location.href);\n if (!url.protocol.startsWith('http')) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Workbox Router only supports URLs that start with 'http'.`);\n }\n return;\n }\n const sameOrigin = url.origin === location.origin;\n const { params, route } = this.findMatchingRoute({\n event,\n request,\n sameOrigin,\n url,\n });\n let handler = route && route.handler;\n const debugMessages = [];\n if (process.env.NODE_ENV !== 'production') {\n if (handler) {\n debugMessages.push([`Found a route to handle this request:`, route]);\n if (params) {\n debugMessages.push([\n `Passing the following params to the route's handler:`,\n params,\n ]);\n }\n }\n }\n // If we don't have a handler because there was no matching route, then\n // fall back to defaultHandler if that's defined.\n const method = request.method;\n if (!handler && this._defaultHandlerMap.has(method)) {\n if (process.env.NODE_ENV !== 'production') {\n debugMessages.push(`Failed to find a matching route. Falling ` +\n `back to the default handler for ${method}.`);\n }\n handler = this._defaultHandlerMap.get(method);\n }\n if (!handler) {\n if (process.env.NODE_ENV !== 'production') {\n // No handler so Workbox will do nothing. If logs is set of debug\n // i.e. verbose, we should print out this information.\n logger.debug(`No route found for: ${getFriendlyURL(url)}`);\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // We have a handler, meaning Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Router is responding to: ${getFriendlyURL(url)}`);\n debugMessages.forEach((msg) => {\n if (Array.isArray(msg)) {\n logger.log(...msg);\n }\n else {\n logger.log(msg);\n }\n });\n logger.groupEnd();\n }\n // Wrap in try and catch in case the handle method throws a synchronous\n // error. It should still callback to the catch handler.\n let responsePromise;\n try {\n responsePromise = handler.handle({ url, request, event, params });\n }\n catch (err) {\n responsePromise = Promise.reject(err);\n }\n // Get route's catch handler, if it exists\n const catchHandler = route && route.catchHandler;\n if (responsePromise instanceof Promise &&\n (this._catchHandler || catchHandler)) {\n responsePromise = responsePromise.catch(async (err) => {\n // If there's a route catch handler, process that first\n if (catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to route's Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n try {\n return await catchHandler.handle({ url, request, event, params });\n }\n catch (catchErr) {\n if (catchErr instanceof Error) {\n err = catchErr;\n }\n }\n }\n if (this._catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to global Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n return this._catchHandler.handle({ url, request, event });\n }\n throw err;\n });\n }\n return responsePromise;\n }\n /**\n * Checks a request and URL (and optionally an event) against the list of\n * registered routes, and if there's a match, returns the corresponding\n * route along with any params generated by the match.\n *\n * @param {Object} options\n * @param {URL} options.url\n * @param {boolean} options.sameOrigin The result of comparing `url.origin`\n * against the current origin.\n * @param {Request} options.request The request to match.\n * @param {Event} options.event The corresponding event.\n * @return {Object} An object with `route` and `params` properties.\n * They are populated if a matching route was found or `undefined`\n * otherwise.\n */\n findMatchingRoute({ url, sameOrigin, request, event, }) {\n const routes = this._routes.get(request.method) || [];\n for (const route of routes) {\n let params;\n // route.match returns type any, not possible to change right now.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const matchResult = route.match({ url, sameOrigin, request, event });\n if (matchResult) {\n if (process.env.NODE_ENV !== 'production') {\n // Warn developers that using an async matchCallback is almost always\n // not the right thing to do.\n if (matchResult instanceof Promise) {\n logger.warn(`While routing ${getFriendlyURL(url)}, an async ` +\n `matchCallback function was used. Please convert the ` +\n `following route to use a synchronous matchCallback function:`, route);\n }\n }\n // See https://github.com/GoogleChrome/workbox/issues/2079\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n params = matchResult;\n if (Array.isArray(params) && params.length === 0) {\n // Instead of passing an empty array in as params, use undefined.\n params = undefined;\n }\n else if (matchResult.constructor === Object && // eslint-disable-line\n Object.keys(matchResult).length === 0) {\n // Instead of passing an empty object in as params, use undefined.\n params = undefined;\n }\n else if (typeof matchResult === 'boolean') {\n // For the boolean value true (rather than just something truth-y),\n // don't set params.\n // See https://github.com/GoogleChrome/workbox/pull/2134#issuecomment-513924353\n params = undefined;\n }\n // Return early if have a match.\n return { route, params };\n }\n }\n // If no match was found above, return and empty object.\n return {};\n }\n /**\n * Define a default `handler` that's called when no routes explicitly\n * match the incoming request.\n *\n * Each HTTP method ('GET', 'POST', etc.) gets its own default handler.\n *\n * Without a default handler, unmatched requests will go against the\n * network as if there were no service worker present.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to associate with this\n * default handler. Each method has its own default.\n */\n setDefaultHandler(handler, method = defaultMethod) {\n this._defaultHandlerMap.set(method, normalizeHandler(handler));\n }\n /**\n * If a Route throws an error while handling a request, this `handler`\n * will be called and given a chance to provide a response.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n */\n setCatchHandler(handler) {\n this._catchHandler = normalizeHandler(handler);\n }\n /**\n * Registers a route with the router.\n *\n * @param {workbox-routing.Route} route The route to register.\n */\n registerRoute(route) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(route, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route, 'match', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.isType(route.handler, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route.handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.handler',\n });\n assert.isType(route.method, 'string', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.method',\n });\n }\n if (!this._routes.has(route.method)) {\n this._routes.set(route.method, []);\n }\n // Give precedence to all of the earlier routes by adding this additional\n // route to the end of the array.\n this._routes.get(route.method).push(route);\n }\n /**\n * Unregisters a route with the router.\n *\n * @param {workbox-routing.Route} route The route to unregister.\n */\n unregisterRoute(route) {\n if (!this._routes.has(route.method)) {\n throw new WorkboxError('unregister-route-but-not-found-with-method', {\n method: route.method,\n });\n }\n const routeIndex = this._routes.get(route.method).indexOf(route);\n if (routeIndex > -1) {\n this._routes.get(route.method).splice(routeIndex, 1);\n }\n else {\n throw new WorkboxError('unregister-route-route-not-registered');\n }\n }\n}\nexport { Router };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { Router } from '../Router.js';\nimport '../_version.js';\nlet defaultRouter;\n/**\n * Creates a new, singleton Router instance if one does not exist. If one\n * does already exist, that instance is returned.\n *\n * @private\n * @return {Router}\n */\nexport const getOrCreateDefaultRouter = () => {\n if (!defaultRouter) {\n defaultRouter = new Router();\n // The helpers that use the default Router assume these listeners exist.\n defaultRouter.addFetchListener();\n defaultRouter.addCacheListener();\n }\n return defaultRouter;\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst _cacheNameDetails = {\n googleAnalytics: 'googleAnalytics',\n precache: 'precache-v2',\n prefix: 'workbox',\n runtime: 'runtime',\n suffix: typeof registration !== 'undefined' ? registration.scope : '',\n};\nconst _createCacheName = (cacheName) => {\n return [_cacheNameDetails.prefix, cacheName, _cacheNameDetails.suffix]\n .filter((value) => value && value.length > 0)\n .join('-');\n};\nconst eachCacheNameDetail = (fn) => {\n for (const key of Object.keys(_cacheNameDetails)) {\n fn(key);\n }\n};\nexport const cacheNames = {\n updateDetails: (details) => {\n eachCacheNameDetail((key) => {\n if (typeof details[key] === 'string') {\n _cacheNameDetails[key] = details[key];\n }\n });\n },\n getGoogleAnalyticsName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.googleAnalytics);\n },\n getPrecacheName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.precache);\n },\n getPrefix: () => {\n return _cacheNameDetails.prefix;\n },\n getRuntimeName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.runtime);\n },\n getSuffix: () => {\n return _cacheNameDetails.suffix;\n },\n};\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A utility method that makes it easier to use `event.waitUntil` with\n * async functions and return the result.\n *\n * @param {ExtendableEvent} event\n * @param {Function} asyncFn\n * @return {Function}\n * @private\n */\nfunction waitUntil(event, asyncFn) {\n const returnPromise = asyncFn();\n event.waitUntil(returnPromise);\n return returnPromise;\n}\nexport { waitUntil };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:precaching:7.2.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport '../_version.js';\n// Name of the search parameter used to store revision info.\nconst REVISION_SEARCH_PARAM = '__WB_REVISION__';\n/**\n * Converts a manifest entry into a versioned URL suitable for precaching.\n *\n * @param {Object|string} entry\n * @return {string} A URL with versioning info.\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function createCacheKey(entry) {\n if (!entry) {\n throw new WorkboxError('add-to-cache-list-unexpected-type', { entry });\n }\n // If a precache manifest entry is a string, it's assumed to be a versioned\n // URL, like '/app.abcd1234.js'. Return as-is.\n if (typeof entry === 'string') {\n const urlObject = new URL(entry, location.href);\n return {\n cacheKey: urlObject.href,\n url: urlObject.href,\n };\n }\n const { revision, url } = entry;\n if (!url) {\n throw new WorkboxError('add-to-cache-list-unexpected-type', { entry });\n }\n // If there's just a URL and no revision, then it's also assumed to be a\n // versioned URL.\n if (!revision) {\n const urlObject = new URL(url, location.href);\n return {\n cacheKey: urlObject.href,\n url: urlObject.href,\n };\n }\n // Otherwise, construct a properly versioned URL using the custom Workbox\n // search parameter along with the revision info.\n const cacheKeyURL = new URL(url, location.href);\n const originalURL = new URL(url, location.href);\n cacheKeyURL.searchParams.set(REVISION_SEARCH_PARAM, revision);\n return {\n cacheKey: cacheKeyURL.href,\n url: originalURL.href,\n };\n}\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A plugin, designed to be used with PrecacheController, to determine the\n * of assets that were updated (or not updated) during the install event.\n *\n * @private\n */\nclass PrecacheInstallReportPlugin {\n constructor() {\n this.updatedURLs = [];\n this.notUpdatedURLs = [];\n this.handlerWillStart = async ({ request, state, }) => {\n // TODO: `state` should never be undefined...\n if (state) {\n state.originalRequest = request;\n }\n };\n this.cachedResponseWillBeUsed = async ({ event, state, cachedResponse, }) => {\n if (event.type === 'install') {\n if (state &&\n state.originalRequest &&\n state.originalRequest instanceof Request) {\n // TODO: `state` should never be undefined...\n const url = state.originalRequest.url;\n if (cachedResponse) {\n this.notUpdatedURLs.push(url);\n }\n else {\n this.updatedURLs.push(url);\n }\n }\n }\n return cachedResponse;\n };\n }\n}\nexport { PrecacheInstallReportPlugin };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A plugin, designed to be used with PrecacheController, to translate URLs into\n * the corresponding cache key, based on the current revision info.\n *\n * @private\n */\nclass PrecacheCacheKeyPlugin {\n constructor({ precacheController }) {\n this.cacheKeyWillBeUsed = async ({ request, params, }) => {\n // Params is type any, can't change right now.\n /* eslint-disable */\n const cacheKey = (params === null || params === void 0 ? void 0 : params.cacheKey) ||\n this._precacheController.getCacheKeyForURL(request.url);\n /* eslint-enable */\n return cacheKey\n ? new Request(cacheKey, { headers: request.headers })\n : request;\n };\n this._precacheController = precacheController;\n }\n}\nexport { PrecacheCacheKeyPlugin };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nlet supportStatus;\n/**\n * A utility function that determines whether the current browser supports\n * constructing a new `Response` from a `response.body` stream.\n *\n * @return {boolean} `true`, if the current browser can successfully\n * construct a `Response` from a `response.body` stream, `false` otherwise.\n *\n * @private\n */\nfunction canConstructResponseFromBodyStream() {\n if (supportStatus === undefined) {\n const testResponse = new Response('');\n if ('body' in testResponse) {\n try {\n new Response(testResponse.body);\n supportStatus = true;\n }\n catch (error) {\n supportStatus = false;\n }\n }\n supportStatus = false;\n }\n return supportStatus;\n}\nexport { canConstructResponseFromBodyStream };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { canConstructResponseFromBodyStream } from './_private/canConstructResponseFromBodyStream.js';\nimport { WorkboxError } from './_private/WorkboxError.js';\nimport './_version.js';\n/**\n * Allows developers to copy a response and modify its `headers`, `status`,\n * or `statusText` values (the values settable via a\n * [`ResponseInit`]{@link https://developer.mozilla.org/en-US/docs/Web/API/Response/Response#Syntax}\n * object in the constructor).\n * To modify these values, pass a function as the second argument. That\n * function will be invoked with a single object with the response properties\n * `{headers, status, statusText}`. The return value of this function will\n * be used as the `ResponseInit` for the new `Response`. To change the values\n * either modify the passed parameter(s) and return it, or return a totally\n * new object.\n *\n * This method is intentionally limited to same-origin responses, regardless of\n * whether CORS was used or not.\n *\n * @param {Response} response\n * @param {Function} modifier\n * @memberof workbox-core\n */\nasync function copyResponse(response, modifier) {\n let origin = null;\n // If response.url isn't set, assume it's cross-origin and keep origin null.\n if (response.url) {\n const responseURL = new URL(response.url);\n origin = responseURL.origin;\n }\n if (origin !== self.location.origin) {\n throw new WorkboxError('cross-origin-copy-response', { origin });\n }\n const clonedResponse = response.clone();\n // Create a fresh `ResponseInit` object by cloning the headers.\n const responseInit = {\n headers: new Headers(clonedResponse.headers),\n status: clonedResponse.status,\n statusText: clonedResponse.statusText,\n };\n // Apply any user modifications.\n const modifiedResponseInit = modifier ? modifier(responseInit) : responseInit;\n // Create the new response from the body stream and `ResponseInit`\n // modifications. Note: not all browsers support the Response.body stream,\n // so fall back to reading the entire body into memory as a blob.\n const body = canConstructResponseFromBodyStream()\n ? clonedResponse.body\n : await clonedResponse.blob();\n return new Response(body, modifiedResponseInit);\n}\nexport { copyResponse };\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nfunction stripParams(fullURL, ignoreParams) {\n const strippedURL = new URL(fullURL);\n for (const param of ignoreParams) {\n strippedURL.searchParams.delete(param);\n }\n return strippedURL.href;\n}\n/**\n * Matches an item in the cache, ignoring specific URL params. This is similar\n * to the `ignoreSearch` option, but it allows you to ignore just specific\n * params (while continuing to match on the others).\n *\n * @private\n * @param {Cache} cache\n * @param {Request} request\n * @param {Object} matchOptions\n * @param {Array} ignoreParams\n * @return {Promise}\n */\nasync function cacheMatchIgnoreParams(cache, request, ignoreParams, matchOptions) {\n const strippedRequestURL = stripParams(request.url, ignoreParams);\n // If the request doesn't include any ignored params, match as normal.\n if (request.url === strippedRequestURL) {\n return cache.match(request, matchOptions);\n }\n // Otherwise, match by comparing keys\n const keysOptions = Object.assign(Object.assign({}, matchOptions), { ignoreSearch: true });\n const cacheKeys = await cache.keys(request, keysOptions);\n for (const cacheKey of cacheKeys) {\n const strippedCacheKeyURL = stripParams(cacheKey.url, ignoreParams);\n if (strippedRequestURL === strippedCacheKeyURL) {\n return cache.match(cacheKey, matchOptions);\n }\n }\n return;\n}\nexport { cacheMatchIgnoreParams };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The Deferred class composes Promises in a way that allows for them to be\n * resolved or rejected from outside the constructor. In most cases promises\n * should be used directly, but Deferreds can be necessary when the logic to\n * resolve a promise must be separate.\n *\n * @private\n */\nclass Deferred {\n /**\n * Creates a promise and exposes its resolve and reject functions as methods.\n */\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\nexport { Deferred };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n// Callbacks to be executed whenever there's a quota error.\n// Can't change Function type right now.\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst quotaErrorCallbacks = new Set();\nexport { quotaErrorCallbacks };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:strategies:7.2.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheMatchIgnoreParams } from 'workbox-core/_private/cacheMatchIgnoreParams.js';\nimport { Deferred } from 'workbox-core/_private/Deferred.js';\nimport { executeQuotaErrorCallbacks } from 'workbox-core/_private/executeQuotaErrorCallbacks.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { timeout } from 'workbox-core/_private/timeout.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\nfunction toRequest(input) {\n return typeof input === 'string' ? new Request(input) : input;\n}\n/**\n * A class created every time a Strategy instance instance calls\n * {@link workbox-strategies.Strategy~handle} or\n * {@link workbox-strategies.Strategy~handleAll} that wraps all fetch and\n * cache actions around plugin callbacks and keeps track of when the strategy\n * is \"done\" (i.e. all added `event.waitUntil()` promises have resolved).\n *\n * @memberof workbox-strategies\n */\nclass StrategyHandler {\n /**\n * Creates a new instance associated with the passed strategy and event\n * that's handling the request.\n *\n * The constructor also initializes the state that will be passed to each of\n * the plugins handling this request.\n *\n * @param {workbox-strategies.Strategy} strategy\n * @param {Object} options\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params] The return value from the\n * {@link workbox-routing~matchCallback} (if applicable).\n */\n constructor(strategy, options) {\n this._cacheKeys = {};\n /**\n * The request the strategy is performing (passed to the strategy's\n * `handle()` or `handleAll()` method).\n * @name request\n * @instance\n * @type {Request}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * The event associated with this request.\n * @name event\n * @instance\n * @type {ExtendableEvent}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `URL` instance of `request.url` (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `url` param will be present if the strategy was invoked\n * from a workbox `Route` object.\n * @name url\n * @instance\n * @type {URL|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `param` value (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `param` param will be present if the strategy was invoked\n * from a workbox `Route` object and the\n * {@link workbox-routing~matchCallback} returned\n * a truthy value (it will be that value).\n * @name params\n * @instance\n * @type {*|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(options.event, ExtendableEvent, {\n moduleName: 'workbox-strategies',\n className: 'StrategyHandler',\n funcName: 'constructor',\n paramName: 'options.event',\n });\n }\n Object.assign(this, options);\n this.event = options.event;\n this._strategy = strategy;\n this._handlerDeferred = new Deferred();\n this._extendLifetimePromises = [];\n // Copy the plugins list (since it's mutable on the strategy),\n // so any mutations don't affect this handler instance.\n this._plugins = [...strategy.plugins];\n this._pluginStateMap = new Map();\n for (const plugin of this._plugins) {\n this._pluginStateMap.set(plugin, {});\n }\n this.event.waitUntil(this._handlerDeferred.promise);\n }\n /**\n * Fetches a given request (and invokes any applicable plugin callback\n * methods) using the `fetchOptions` (for non-navigation requests) and\n * `plugins` defined on the `Strategy` object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - `requestWillFetch()`\n * - `fetchDidSucceed()`\n * - `fetchDidFail()`\n *\n * @param {Request|string} input The URL or request to fetch.\n * @return {Promise}\n */\n async fetch(input) {\n const { event } = this;\n let request = toRequest(input);\n if (request.mode === 'navigate' &&\n event instanceof FetchEvent &&\n event.preloadResponse) {\n const possiblePreloadResponse = (await event.preloadResponse);\n if (possiblePreloadResponse) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Using a preloaded navigation response for ` +\n `'${getFriendlyURL(request.url)}'`);\n }\n return possiblePreloadResponse;\n }\n }\n // If there is a fetchDidFail plugin, we need to save a clone of the\n // original request before it's either modified by a requestWillFetch\n // plugin or before the original request's body is consumed via fetch().\n const originalRequest = this.hasCallback('fetchDidFail')\n ? request.clone()\n : null;\n try {\n for (const cb of this.iterateCallbacks('requestWillFetch')) {\n request = await cb({ request: request.clone(), event });\n }\n }\n catch (err) {\n if (err instanceof Error) {\n throw new WorkboxError('plugin-error-request-will-fetch', {\n thrownErrorMessage: err.message,\n });\n }\n }\n // The request can be altered by plugins with `requestWillFetch` making\n // the original request (most likely from a `fetch` event) different\n // from the Request we make. Pass both to `fetchDidFail` to aid debugging.\n const pluginFilteredRequest = request.clone();\n try {\n let fetchResponse;\n // See https://github.com/GoogleChrome/workbox/issues/1796\n fetchResponse = await fetch(request, request.mode === 'navigate' ? undefined : this._strategy.fetchOptions);\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Network request for ` +\n `'${getFriendlyURL(request.url)}' returned a response with ` +\n `status '${fetchResponse.status}'.`);\n }\n for (const callback of this.iterateCallbacks('fetchDidSucceed')) {\n fetchResponse = await callback({\n event,\n request: pluginFilteredRequest,\n response: fetchResponse,\n });\n }\n return fetchResponse;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Network request for ` +\n `'${getFriendlyURL(request.url)}' threw an error.`, error);\n }\n // `originalRequest` will only exist if a `fetchDidFail` callback\n // is being used (see above).\n if (originalRequest) {\n await this.runCallbacks('fetchDidFail', {\n error: error,\n event,\n originalRequest: originalRequest.clone(),\n request: pluginFilteredRequest.clone(),\n });\n }\n throw error;\n }\n }\n /**\n * Calls `this.fetch()` and (in the background) runs `this.cachePut()` on\n * the response generated by `this.fetch()`.\n *\n * The call to `this.cachePut()` automatically invokes `this.waitUntil()`,\n * so you do not have to manually call `waitUntil()` on the event.\n *\n * @param {Request|string} input The request or URL to fetch and cache.\n * @return {Promise}\n */\n async fetchAndCachePut(input) {\n const response = await this.fetch(input);\n const responseClone = response.clone();\n void this.waitUntil(this.cachePut(input, responseClone));\n return response;\n }\n /**\n * Matches a request from the cache (and invokes any applicable plugin\n * callback methods) using the `cacheName`, `matchOptions`, and `plugins`\n * defined on the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillBeUsed()\n * - cachedResponseWillBeUsed()\n *\n * @param {Request|string} key The Request or URL to use as the cache key.\n * @return {Promise} A matching response, if found.\n */\n async cacheMatch(key) {\n const request = toRequest(key);\n let cachedResponse;\n const { cacheName, matchOptions } = this._strategy;\n const effectiveRequest = await this.getCacheKey(request, 'read');\n const multiMatchOptions = Object.assign(Object.assign({}, matchOptions), { cacheName });\n cachedResponse = await caches.match(effectiveRequest, multiMatchOptions);\n if (process.env.NODE_ENV !== 'production') {\n if (cachedResponse) {\n logger.debug(`Found a cached response in '${cacheName}'.`);\n }\n else {\n logger.debug(`No cached response found in '${cacheName}'.`);\n }\n }\n for (const callback of this.iterateCallbacks('cachedResponseWillBeUsed')) {\n cachedResponse =\n (await callback({\n cacheName,\n matchOptions,\n cachedResponse,\n request: effectiveRequest,\n event: this.event,\n })) || undefined;\n }\n return cachedResponse;\n }\n /**\n * Puts a request/response pair in the cache (and invokes any applicable\n * plugin callback methods) using the `cacheName` and `plugins` defined on\n * the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillBeUsed()\n * - cacheWillUpdate()\n * - cacheDidUpdate()\n *\n * @param {Request|string} key The request or URL to use as the cache key.\n * @param {Response} response The response to cache.\n * @return {Promise} `false` if a cacheWillUpdate caused the response\n * not be cached, and `true` otherwise.\n */\n async cachePut(key, response) {\n const request = toRequest(key);\n // Run in the next task to avoid blocking other cache reads.\n // https://github.com/w3c/ServiceWorker/issues/1397\n await timeout(0);\n const effectiveRequest = await this.getCacheKey(request, 'write');\n if (process.env.NODE_ENV !== 'production') {\n if (effectiveRequest.method && effectiveRequest.method !== 'GET') {\n throw new WorkboxError('attempt-to-cache-non-get-request', {\n url: getFriendlyURL(effectiveRequest.url),\n method: effectiveRequest.method,\n });\n }\n // See https://github.com/GoogleChrome/workbox/issues/2818\n const vary = response.headers.get('Vary');\n if (vary) {\n logger.debug(`The response for ${getFriendlyURL(effectiveRequest.url)} ` +\n `has a 'Vary: ${vary}' header. ` +\n `Consider setting the {ignoreVary: true} option on your strategy ` +\n `to ensure cache matching and deletion works as expected.`);\n }\n }\n if (!response) {\n if (process.env.NODE_ENV !== 'production') {\n logger.error(`Cannot cache non-existent response for ` +\n `'${getFriendlyURL(effectiveRequest.url)}'.`);\n }\n throw new WorkboxError('cache-put-with-no-response', {\n url: getFriendlyURL(effectiveRequest.url),\n });\n }\n const responseToCache = await this._ensureResponseSafeToCache(response);\n if (!responseToCache) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Response '${getFriendlyURL(effectiveRequest.url)}' ` +\n `will not be cached.`, responseToCache);\n }\n return false;\n }\n const { cacheName, matchOptions } = this._strategy;\n const cache = await self.caches.open(cacheName);\n const hasCacheUpdateCallback = this.hasCallback('cacheDidUpdate');\n const oldResponse = hasCacheUpdateCallback\n ? await cacheMatchIgnoreParams(\n // TODO(philipwalton): the `__WB_REVISION__` param is a precaching\n // feature. Consider into ways to only add this behavior if using\n // precaching.\n cache, effectiveRequest.clone(), ['__WB_REVISION__'], matchOptions)\n : null;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Updating the '${cacheName}' cache with a new Response ` +\n `for ${getFriendlyURL(effectiveRequest.url)}.`);\n }\n try {\n await cache.put(effectiveRequest, hasCacheUpdateCallback ? responseToCache.clone() : responseToCache);\n }\n catch (error) {\n if (error instanceof Error) {\n // See https://developer.mozilla.org/en-US/docs/Web/API/DOMException#exception-QuotaExceededError\n if (error.name === 'QuotaExceededError') {\n await executeQuotaErrorCallbacks();\n }\n throw error;\n }\n }\n for (const callback of this.iterateCallbacks('cacheDidUpdate')) {\n await callback({\n cacheName,\n oldResponse,\n newResponse: responseToCache.clone(),\n request: effectiveRequest,\n event: this.event,\n });\n }\n return true;\n }\n /**\n * Checks the list of plugins for the `cacheKeyWillBeUsed` callback, and\n * executes any of those callbacks found in sequence. The final `Request`\n * object returned by the last plugin is treated as the cache key for cache\n * reads and/or writes. If no `cacheKeyWillBeUsed` plugin callbacks have\n * been registered, the passed request is returned unmodified\n *\n * @param {Request} request\n * @param {string} mode\n * @return {Promise}\n */\n async getCacheKey(request, mode) {\n const key = `${request.url} | ${mode}`;\n if (!this._cacheKeys[key]) {\n let effectiveRequest = request;\n for (const callback of this.iterateCallbacks('cacheKeyWillBeUsed')) {\n effectiveRequest = toRequest(await callback({\n mode,\n request: effectiveRequest,\n event: this.event,\n // params has a type any can't change right now.\n params: this.params, // eslint-disable-line\n }));\n }\n this._cacheKeys[key] = effectiveRequest;\n }\n return this._cacheKeys[key];\n }\n /**\n * Returns true if the strategy has at least one plugin with the given\n * callback.\n *\n * @param {string} name The name of the callback to check for.\n * @return {boolean}\n */\n hasCallback(name) {\n for (const plugin of this._strategy.plugins) {\n if (name in plugin) {\n return true;\n }\n }\n return false;\n }\n /**\n * Runs all plugin callbacks matching the given name, in order, passing the\n * given param object (merged ith the current plugin state) as the only\n * argument.\n *\n * Note: since this method runs all plugins, it's not suitable for cases\n * where the return value of a callback needs to be applied prior to calling\n * the next callback. See\n * {@link workbox-strategies.StrategyHandler#iterateCallbacks}\n * below for how to handle that case.\n *\n * @param {string} name The name of the callback to run within each plugin.\n * @param {Object} param The object to pass as the first (and only) param\n * when executing each callback. This object will be merged with the\n * current plugin state prior to callback execution.\n */\n async runCallbacks(name, param) {\n for (const callback of this.iterateCallbacks(name)) {\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n await callback(param);\n }\n }\n /**\n * Accepts a callback and returns an iterable of matching plugin callbacks,\n * where each callback is wrapped with the current handler state (i.e. when\n * you call each callback, whatever object parameter you pass it will\n * be merged with the plugin's current state).\n *\n * @param {string} name The name fo the callback to run\n * @return {Array}\n */\n *iterateCallbacks(name) {\n for (const plugin of this._strategy.plugins) {\n if (typeof plugin[name] === 'function') {\n const state = this._pluginStateMap.get(plugin);\n const statefulCallback = (param) => {\n const statefulParam = Object.assign(Object.assign({}, param), { state });\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n return plugin[name](statefulParam);\n };\n yield statefulCallback;\n }\n }\n }\n /**\n * Adds a promise to the\n * [extend lifetime promises]{@link https://w3c.github.io/ServiceWorker/#extendableevent-extend-lifetime-promises}\n * of the event event associated with the request being handled (usually a\n * `FetchEvent`).\n *\n * Note: you can await\n * {@link workbox-strategies.StrategyHandler~doneWaiting}\n * to know when all added promises have settled.\n *\n * @param {Promise} promise A promise to add to the extend lifetime promises\n * of the event that triggered the request.\n */\n waitUntil(promise) {\n this._extendLifetimePromises.push(promise);\n return promise;\n }\n /**\n * Returns a promise that resolves once all promises passed to\n * {@link workbox-strategies.StrategyHandler~waitUntil}\n * have settled.\n *\n * Note: any work done after `doneWaiting()` settles should be manually\n * passed to an event's `waitUntil()` method (not this handler's\n * `waitUntil()` method), otherwise the service worker thread my be killed\n * prior to your work completing.\n */\n async doneWaiting() {\n let promise;\n while ((promise = this._extendLifetimePromises.shift())) {\n await promise;\n }\n }\n /**\n * Stops running the strategy and immediately resolves any pending\n * `waitUntil()` promises.\n */\n destroy() {\n this._handlerDeferred.resolve(null);\n }\n /**\n * This method will call cacheWillUpdate on the available plugins (or use\n * status === 200) to determine if the Response is safe and valid to cache.\n *\n * @param {Request} options.request\n * @param {Response} options.response\n * @return {Promise}\n *\n * @private\n */\n async _ensureResponseSafeToCache(response) {\n let responseToCache = response;\n let pluginsUsed = false;\n for (const callback of this.iterateCallbacks('cacheWillUpdate')) {\n responseToCache =\n (await callback({\n request: this.request,\n response: responseToCache,\n event: this.event,\n })) || undefined;\n pluginsUsed = true;\n if (!responseToCache) {\n break;\n }\n }\n if (!pluginsUsed) {\n if (responseToCache && responseToCache.status !== 200) {\n responseToCache = undefined;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (responseToCache) {\n if (responseToCache.status !== 200) {\n if (responseToCache.status === 0) {\n logger.warn(`The response for '${this.request.url}' ` +\n `is an opaque response. The caching strategy that you're ` +\n `using will not cache opaque responses by default.`);\n }\n else {\n logger.debug(`The response for '${this.request.url}' ` +\n `returned a status code of '${response.status}' and won't ` +\n `be cached as a result.`);\n }\n }\n }\n }\n }\n return responseToCache;\n }\n}\nexport { StrategyHandler };\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Returns a promise that resolves and the passed number of milliseconds.\n * This utility is an async/await-friendly version of `setTimeout`.\n *\n * @param {number} ms\n * @return {Promise}\n * @private\n */\nexport function timeout(ms) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst getFriendlyURL = (url) => {\n const urlObj = new URL(String(url), location.href);\n // See https://github.com/GoogleChrome/workbox/issues/2323\n // We want to include everything, except for the origin if it's same-origin.\n return urlObj.href.replace(new RegExp(`^${location.origin}`), '');\n};\nexport { getFriendlyURL };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from '../_private/logger.js';\nimport { quotaErrorCallbacks } from '../models/quotaErrorCallbacks.js';\nimport '../_version.js';\n/**\n * Runs all of the callback functions, one at a time sequentially, in the order\n * in which they were registered.\n *\n * @memberof workbox-core\n * @private\n */\nasync function executeQuotaErrorCallbacks() {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`About to run ${quotaErrorCallbacks.size} ` +\n `callbacks to clean up caches.`);\n }\n for (const callback of quotaErrorCallbacks) {\n await callback();\n if (process.env.NODE_ENV !== 'production') {\n logger.log(callback, 'is complete.');\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.log('Finished running callbacks.');\n }\n}\nexport { executeQuotaErrorCallbacks };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { StrategyHandler } from './StrategyHandler.js';\nimport './_version.js';\n/**\n * An abstract base class that all other strategy classes must extend from:\n *\n * @memberof workbox-strategies\n */\nclass Strategy {\n /**\n * Creates a new instance of the strategy and sets all documented option\n * properties as public instance properties.\n *\n * Note: if a custom strategy class extends the base Strategy class and does\n * not need more than these properties, it does not need to define its own\n * constructor.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters)\n * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796)\n * `fetch()` requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n */\n constructor(options = {}) {\n /**\n * Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n *\n * @type {string}\n */\n this.cacheName = cacheNames.getRuntimeName(options.cacheName);\n /**\n * The list\n * [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * used by this strategy.\n *\n * @type {Array}\n */\n this.plugins = options.plugins || [];\n /**\n * Values passed along to the\n * [`init`]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters}\n * of all fetch() requests made by this strategy.\n *\n * @type {Object}\n */\n this.fetchOptions = options.fetchOptions;\n /**\n * The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n *\n * @type {Object}\n */\n this.matchOptions = options.matchOptions;\n }\n /**\n * Perform a request strategy and returns a `Promise` that will resolve with\n * a `Response`, invoking all relevant plugin callbacks.\n *\n * When a strategy instance is registered with a Workbox\n * {@link workbox-routing.Route}, this method is automatically\n * called when the route matches.\n *\n * Alternatively, this method can be used in a standalone `FetchEvent`\n * listener by passing it to `event.respondWith()`.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n */\n handle(options) {\n const [responseDone] = this.handleAll(options);\n return responseDone;\n }\n /**\n * Similar to {@link workbox-strategies.Strategy~handle}, but\n * instead of just returning a `Promise` that resolves to a `Response` it\n * it will return an tuple of `[response, done]` promises, where the former\n * (`response`) is equivalent to what `handle()` returns, and the latter is a\n * Promise that will resolve once any promises that were added to\n * `event.waitUntil()` as part of performing the strategy have completed.\n *\n * You can await the `done` promise to ensure any extra work performed by\n * the strategy (usually caching responses) completes successfully.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n * @return {Array} A tuple of [response, done]\n * promises that can be used to determine when the response resolves as\n * well as when the handler has completed all its work.\n */\n handleAll(options) {\n // Allow for flexible options to be passed.\n if (options instanceof FetchEvent) {\n options = {\n event: options,\n request: options.request,\n };\n }\n const event = options.event;\n const request = typeof options.request === 'string'\n ? new Request(options.request)\n : options.request;\n const params = 'params' in options ? options.params : undefined;\n const handler = new StrategyHandler(this, { event, request, params });\n const responseDone = this._getResponse(handler, request, event);\n const handlerDone = this._awaitComplete(responseDone, handler, request, event);\n // Return an array of promises, suitable for use with Promise.all().\n return [responseDone, handlerDone];\n }\n async _getResponse(handler, request, event) {\n await handler.runCallbacks('handlerWillStart', { event, request });\n let response = undefined;\n try {\n response = await this._handle(request, handler);\n // The \"official\" Strategy subclasses all throw this error automatically,\n // but in case a third-party Strategy doesn't, ensure that we have a\n // consistent failure when there's no response or an error response.\n if (!response || response.type === 'error') {\n throw new WorkboxError('no-response', { url: request.url });\n }\n }\n catch (error) {\n if (error instanceof Error) {\n for (const callback of handler.iterateCallbacks('handlerDidError')) {\n response = await callback({ error, event, request });\n if (response) {\n break;\n }\n }\n }\n if (!response) {\n throw error;\n }\n else if (process.env.NODE_ENV !== 'production') {\n logger.log(`While responding to '${getFriendlyURL(request.url)}', ` +\n `an ${error instanceof Error ? error.toString() : ''} error occurred. Using a fallback response provided by ` +\n `a handlerDidError plugin.`);\n }\n }\n for (const callback of handler.iterateCallbacks('handlerWillRespond')) {\n response = await callback({ event, request, response });\n }\n return response;\n }\n async _awaitComplete(responseDone, handler, request, event) {\n let response;\n let error;\n try {\n response = await responseDone;\n }\n catch (error) {\n // Ignore errors, as response errors should be caught via the `response`\n // promise above. The `done` promise will only throw for errors in\n // promises passed to `handler.waitUntil()`.\n }\n try {\n await handler.runCallbacks('handlerDidRespond', {\n event,\n request,\n response,\n });\n await handler.doneWaiting();\n }\n catch (waitUntilError) {\n if (waitUntilError instanceof Error) {\n error = waitUntilError;\n }\n }\n await handler.runCallbacks('handlerDidComplete', {\n event,\n request,\n response,\n error: error,\n });\n handler.destroy();\n if (error) {\n throw error;\n }\n }\n}\nexport { Strategy };\n/**\n * Classes extending the `Strategy` based class should implement this method,\n * and leverage the {@link workbox-strategies.StrategyHandler}\n * arg to perform all fetching and cache logic, which will ensure all relevant\n * cache, cache options, fetch options and plugins are used (per the current\n * strategy instance).\n *\n * @name _handle\n * @instance\n * @abstract\n * @function\n * @param {Request} request\n * @param {workbox-strategies.StrategyHandler} handler\n * @return {Promise}\n *\n * @memberof workbox-strategies.Strategy\n */\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { copyResponse } from 'workbox-core/copyResponse.js';\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Strategy } from 'workbox-strategies/Strategy.js';\nimport './_version.js';\n/**\n * A {@link workbox-strategies.Strategy} implementation\n * specifically designed to work with\n * {@link workbox-precaching.PrecacheController}\n * to both cache and fetch precached assets.\n *\n * Note: an instance of this class is created automatically when creating a\n * `PrecacheController`; it's generally not necessary to create this yourself.\n *\n * @extends workbox-strategies.Strategy\n * @memberof workbox-precaching\n */\nclass PrecacheStrategy extends Strategy {\n /**\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] {@link https://developers.google.com/web/tools/workbox/guides/using-plugins|Plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters|init}\n * of all fetch() requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * {@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions|CacheQueryOptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to\n * get the response from the network if there's a precache miss.\n */\n constructor(options = {}) {\n options.cacheName = cacheNames.getPrecacheName(options.cacheName);\n super(options);\n this._fallbackToNetwork =\n options.fallbackToNetwork === false ? false : true;\n // Redirected responses cannot be used to satisfy a navigation request, so\n // any redirected response must be \"copied\" rather than cloned, so the new\n // response doesn't contain the `redirected` flag. See:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=669363&desc=2#c1\n this.plugins.push(PrecacheStrategy.copyRedirectedCacheableResponsesPlugin);\n }\n /**\n * @private\n * @param {Request|string} request A request to run this strategy for.\n * @param {workbox-strategies.StrategyHandler} handler The event that\n * triggered the request.\n * @return {Promise}\n */\n async _handle(request, handler) {\n const response = await handler.cacheMatch(request);\n if (response) {\n return response;\n }\n // If this is an `install` event for an entry that isn't already cached,\n // then populate the cache.\n if (handler.event && handler.event.type === 'install') {\n return await this._handleInstall(request, handler);\n }\n // Getting here means something went wrong. An entry that should have been\n // precached wasn't found in the cache.\n return await this._handleFetch(request, handler);\n }\n async _handleFetch(request, handler) {\n let response;\n const params = (handler.params || {});\n // Fall back to the network if we're configured to do so.\n if (this._fallbackToNetwork) {\n if (process.env.NODE_ENV !== 'production') {\n logger.warn(`The precached response for ` +\n `${getFriendlyURL(request.url)} in ${this.cacheName} was not ` +\n `found. Falling back to the network.`);\n }\n const integrityInManifest = params.integrity;\n const integrityInRequest = request.integrity;\n const noIntegrityConflict = !integrityInRequest || integrityInRequest === integrityInManifest;\n // Do not add integrity if the original request is no-cors\n // See https://github.com/GoogleChrome/workbox/issues/3096\n response = await handler.fetch(new Request(request, {\n integrity: request.mode !== 'no-cors'\n ? integrityInRequest || integrityInManifest\n : undefined,\n }));\n // It's only \"safe\" to repair the cache if we're using SRI to guarantee\n // that the response matches the precache manifest's expectations,\n // and there's either a) no integrity property in the incoming request\n // or b) there is an integrity, and it matches the precache manifest.\n // See https://github.com/GoogleChrome/workbox/issues/2858\n // Also if the original request users no-cors we don't use integrity.\n // See https://github.com/GoogleChrome/workbox/issues/3096\n if (integrityInManifest &&\n noIntegrityConflict &&\n request.mode !== 'no-cors') {\n this._useDefaultCacheabilityPluginIfNeeded();\n const wasCached = await handler.cachePut(request, response.clone());\n if (process.env.NODE_ENV !== 'production') {\n if (wasCached) {\n logger.log(`A response for ${getFriendlyURL(request.url)} ` +\n `was used to \"repair\" the precache.`);\n }\n }\n }\n }\n else {\n // This shouldn't normally happen, but there are edge cases:\n // https://github.com/GoogleChrome/workbox/issues/1441\n throw new WorkboxError('missing-precache-entry', {\n cacheName: this.cacheName,\n url: request.url,\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n const cacheKey = params.cacheKey || (await handler.getCacheKey(request, 'read'));\n // Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Precaching is responding to: ` + getFriendlyURL(request.url));\n logger.log(`Serving the precached url: ${getFriendlyURL(cacheKey instanceof Request ? cacheKey.url : cacheKey)}`);\n logger.groupCollapsed(`View request details here.`);\n logger.log(request);\n logger.groupEnd();\n logger.groupCollapsed(`View response details here.`);\n logger.log(response);\n logger.groupEnd();\n logger.groupEnd();\n }\n return response;\n }\n async _handleInstall(request, handler) {\n this._useDefaultCacheabilityPluginIfNeeded();\n const response = await handler.fetch(request);\n // Make sure we defer cachePut() until after we know the response\n // should be cached; see https://github.com/GoogleChrome/workbox/issues/2737\n const wasCached = await handler.cachePut(request, response.clone());\n if (!wasCached) {\n // Throwing here will lead to the `install` handler failing, which\n // we want to do if *any* of the responses aren't safe to cache.\n throw new WorkboxError('bad-precaching-response', {\n url: request.url,\n status: response.status,\n });\n }\n return response;\n }\n /**\n * This method is complex, as there a number of things to account for:\n *\n * The `plugins` array can be set at construction, and/or it might be added to\n * to at any time before the strategy is used.\n *\n * At the time the strategy is used (i.e. during an `install` event), there\n * needs to be at least one plugin that implements `cacheWillUpdate` in the\n * array, other than `copyRedirectedCacheableResponsesPlugin`.\n *\n * - If this method is called and there are no suitable `cacheWillUpdate`\n * plugins, we need to add `defaultPrecacheCacheabilityPlugin`.\n *\n * - If this method is called and there is exactly one `cacheWillUpdate`, then\n * we don't have to do anything (this might be a previously added\n * `defaultPrecacheCacheabilityPlugin`, or it might be a custom plugin).\n *\n * - If this method is called and there is more than one `cacheWillUpdate`,\n * then we need to check if one is `defaultPrecacheCacheabilityPlugin`. If so,\n * we need to remove it. (This situation is unlikely, but it could happen if\n * the strategy is used multiple times, the first without a `cacheWillUpdate`,\n * and then later on after manually adding a custom `cacheWillUpdate`.)\n *\n * See https://github.com/GoogleChrome/workbox/issues/2737 for more context.\n *\n * @private\n */\n _useDefaultCacheabilityPluginIfNeeded() {\n let defaultPluginIndex = null;\n let cacheWillUpdatePluginCount = 0;\n for (const [index, plugin] of this.plugins.entries()) {\n // Ignore the copy redirected plugin when determining what to do.\n if (plugin === PrecacheStrategy.copyRedirectedCacheableResponsesPlugin) {\n continue;\n }\n // Save the default plugin's index, in case it needs to be removed.\n if (plugin === PrecacheStrategy.defaultPrecacheCacheabilityPlugin) {\n defaultPluginIndex = index;\n }\n if (plugin.cacheWillUpdate) {\n cacheWillUpdatePluginCount++;\n }\n }\n if (cacheWillUpdatePluginCount === 0) {\n this.plugins.push(PrecacheStrategy.defaultPrecacheCacheabilityPlugin);\n }\n else if (cacheWillUpdatePluginCount > 1 && defaultPluginIndex !== null) {\n // Only remove the default plugin; multiple custom plugins are allowed.\n this.plugins.splice(defaultPluginIndex, 1);\n }\n // Nothing needs to be done if cacheWillUpdatePluginCount is 1\n }\n}\nPrecacheStrategy.defaultPrecacheCacheabilityPlugin = {\n async cacheWillUpdate({ response }) {\n if (!response || response.status >= 400) {\n return null;\n }\n return response;\n },\n};\nPrecacheStrategy.copyRedirectedCacheableResponsesPlugin = {\n async cacheWillUpdate({ response }) {\n return response.redirected ? await copyResponse(response) : response;\n },\n};\nexport { PrecacheStrategy };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { waitUntil } from 'workbox-core/_private/waitUntil.js';\nimport { createCacheKey } from './utils/createCacheKey.js';\nimport { PrecacheInstallReportPlugin } from './utils/PrecacheInstallReportPlugin.js';\nimport { PrecacheCacheKeyPlugin } from './utils/PrecacheCacheKeyPlugin.js';\nimport { printCleanupDetails } from './utils/printCleanupDetails.js';\nimport { printInstallDetails } from './utils/printInstallDetails.js';\nimport { PrecacheStrategy } from './PrecacheStrategy.js';\nimport './_version.js';\n/**\n * Performs efficient precaching of assets.\n *\n * @memberof workbox-precaching\n */\nclass PrecacheController {\n /**\n * Create a new PrecacheController.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] The cache to use for precaching.\n * @param {string} [options.plugins] Plugins to use when precaching as well\n * as responding to fetch events for precached assets.\n * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to\n * get the response from the network if there's a precache miss.\n */\n constructor({ cacheName, plugins = [], fallbackToNetwork = true, } = {}) {\n this._urlsToCacheKeys = new Map();\n this._urlsToCacheModes = new Map();\n this._cacheKeysToIntegrities = new Map();\n this._strategy = new PrecacheStrategy({\n cacheName: cacheNames.getPrecacheName(cacheName),\n plugins: [\n ...plugins,\n new PrecacheCacheKeyPlugin({ precacheController: this }),\n ],\n fallbackToNetwork,\n });\n // Bind the install and activate methods to the instance.\n this.install = this.install.bind(this);\n this.activate = this.activate.bind(this);\n }\n /**\n * @type {workbox-precaching.PrecacheStrategy} The strategy created by this controller and\n * used to cache assets and respond to fetch events.\n */\n get strategy() {\n return this._strategy;\n }\n /**\n * Adds items to the precache list, removing any duplicates and\n * stores the files in the\n * {@link workbox-core.cacheNames|\"precache cache\"} when the service\n * worker installs.\n *\n * This method can be called multiple times.\n *\n * @param {Array} [entries=[]] Array of entries to precache.\n */\n precache(entries) {\n this.addToCacheList(entries);\n if (!this._installAndActiveListenersAdded) {\n self.addEventListener('install', this.install);\n self.addEventListener('activate', this.activate);\n this._installAndActiveListenersAdded = true;\n }\n }\n /**\n * This method will add items to the precache list, removing duplicates\n * and ensuring the information is valid.\n *\n * @param {Array} entries\n * Array of entries to precache.\n */\n addToCacheList(entries) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isArray(entries, {\n moduleName: 'workbox-precaching',\n className: 'PrecacheController',\n funcName: 'addToCacheList',\n paramName: 'entries',\n });\n }\n const urlsToWarnAbout = [];\n for (const entry of entries) {\n // See https://github.com/GoogleChrome/workbox/issues/2259\n if (typeof entry === 'string') {\n urlsToWarnAbout.push(entry);\n }\n else if (entry && entry.revision === undefined) {\n urlsToWarnAbout.push(entry.url);\n }\n const { cacheKey, url } = createCacheKey(entry);\n const cacheMode = typeof entry !== 'string' && entry.revision ? 'reload' : 'default';\n if (this._urlsToCacheKeys.has(url) &&\n this._urlsToCacheKeys.get(url) !== cacheKey) {\n throw new WorkboxError('add-to-cache-list-conflicting-entries', {\n firstEntry: this._urlsToCacheKeys.get(url),\n secondEntry: cacheKey,\n });\n }\n if (typeof entry !== 'string' && entry.integrity) {\n if (this._cacheKeysToIntegrities.has(cacheKey) &&\n this._cacheKeysToIntegrities.get(cacheKey) !== entry.integrity) {\n throw new WorkboxError('add-to-cache-list-conflicting-integrities', {\n url,\n });\n }\n this._cacheKeysToIntegrities.set(cacheKey, entry.integrity);\n }\n this._urlsToCacheKeys.set(url, cacheKey);\n this._urlsToCacheModes.set(url, cacheMode);\n if (urlsToWarnAbout.length > 0) {\n const warningMessage = `Workbox is precaching URLs without revision ` +\n `info: ${urlsToWarnAbout.join(', ')}\\nThis is generally NOT safe. ` +\n `Learn more at https://bit.ly/wb-precache`;\n if (process.env.NODE_ENV === 'production') {\n // Use console directly to display this warning without bloating\n // bundle sizes by pulling in all of the logger codebase in prod.\n console.warn(warningMessage);\n }\n else {\n logger.warn(warningMessage);\n }\n }\n }\n }\n /**\n * Precaches new and updated assets. Call this method from the service worker\n * install event.\n *\n * Note: this method calls `event.waitUntil()` for you, so you do not need\n * to call it yourself in your event handlers.\n *\n * @param {ExtendableEvent} event\n * @return {Promise}\n */\n install(event) {\n // waitUntil returns Promise\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return waitUntil(event, async () => {\n const installReportPlugin = new PrecacheInstallReportPlugin();\n this.strategy.plugins.push(installReportPlugin);\n // Cache entries one at a time.\n // See https://github.com/GoogleChrome/workbox/issues/2528\n for (const [url, cacheKey] of this._urlsToCacheKeys) {\n const integrity = this._cacheKeysToIntegrities.get(cacheKey);\n const cacheMode = this._urlsToCacheModes.get(url);\n const request = new Request(url, {\n integrity,\n cache: cacheMode,\n credentials: 'same-origin',\n });\n await Promise.all(this.strategy.handleAll({\n params: { cacheKey },\n request,\n event,\n }));\n }\n const { updatedURLs, notUpdatedURLs } = installReportPlugin;\n if (process.env.NODE_ENV !== 'production') {\n printInstallDetails(updatedURLs, notUpdatedURLs);\n }\n return { updatedURLs, notUpdatedURLs };\n });\n }\n /**\n * Deletes assets that are no longer present in the current precache manifest.\n * Call this method from the service worker activate event.\n *\n * Note: this method calls `event.waitUntil()` for you, so you do not need\n * to call it yourself in your event handlers.\n *\n * @param {ExtendableEvent} event\n * @return {Promise}\n */\n activate(event) {\n // waitUntil returns Promise\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return waitUntil(event, async () => {\n const cache = await self.caches.open(this.strategy.cacheName);\n const currentlyCachedRequests = await cache.keys();\n const expectedCacheKeys = new Set(this._urlsToCacheKeys.values());\n const deletedURLs = [];\n for (const request of currentlyCachedRequests) {\n if (!expectedCacheKeys.has(request.url)) {\n await cache.delete(request);\n deletedURLs.push(request.url);\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n printCleanupDetails(deletedURLs);\n }\n return { deletedURLs };\n });\n }\n /**\n * Returns a mapping of a precached URL to the corresponding cache key, taking\n * into account the revision information for the URL.\n *\n * @return {Map} A URL to cache key mapping.\n */\n getURLsToCacheKeys() {\n return this._urlsToCacheKeys;\n }\n /**\n * Returns a list of all the URLs that have been precached by the current\n * service worker.\n *\n * @return {Array} The precached URLs.\n */\n getCachedURLs() {\n return [...this._urlsToCacheKeys.keys()];\n }\n /**\n * Returns the cache key used for storing a given URL. If that URL is\n * unversioned, like `/index.html', then the cache key will be the original\n * URL with a search parameter appended to it.\n *\n * @param {string} url A URL whose cache key you want to look up.\n * @return {string} The versioned URL that corresponds to a cache key\n * for the original URL, or undefined if that URL isn't precached.\n */\n getCacheKeyForURL(url) {\n const urlObject = new URL(url, location.href);\n return this._urlsToCacheKeys.get(urlObject.href);\n }\n /**\n * @param {string} url A cache key whose SRI you want to look up.\n * @return {string} The subresource integrity associated with the cache key,\n * or undefined if it's not set.\n */\n getIntegrityForCacheKey(cacheKey) {\n return this._cacheKeysToIntegrities.get(cacheKey);\n }\n /**\n * This acts as a drop-in replacement for\n * [`cache.match()`](https://developer.mozilla.org/en-US/docs/Web/API/Cache/match)\n * with the following differences:\n *\n * - It knows what the name of the precache is, and only checks in that cache.\n * - It allows you to pass in an \"original\" URL without versioning parameters,\n * and it will automatically look up the correct cache key for the currently\n * active revision of that URL.\n *\n * E.g., `matchPrecache('index.html')` will find the correct precached\n * response for the currently active service worker, even if the actual cache\n * key is `'/index.html?__WB_REVISION__=1234abcd'`.\n *\n * @param {string|Request} request The key (without revisioning parameters)\n * to look up in the precache.\n * @return {Promise}\n */\n async matchPrecache(request) {\n const url = request instanceof Request ? request.url : request;\n const cacheKey = this.getCacheKeyForURL(url);\n if (cacheKey) {\n const cache = await self.caches.open(this.strategy.cacheName);\n return cache.match(cacheKey);\n }\n return undefined;\n }\n /**\n * Returns a function that looks up `url` in the precache (taking into\n * account revision information), and returns the corresponding `Response`.\n *\n * @param {string} url The precached URL which will be used to lookup the\n * `Response`.\n * @return {workbox-routing~handlerCallback}\n */\n createHandlerBoundToURL(url) {\n const cacheKey = this.getCacheKeyForURL(url);\n if (!cacheKey) {\n throw new WorkboxError('non-precached-url', { url });\n }\n return (options) => {\n options.request = new Request(url);\n options.params = Object.assign({ cacheKey }, options.params);\n return this.strategy.handle(options);\n };\n }\n}\nexport { PrecacheController };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { PrecacheController } from '../PrecacheController.js';\nimport '../_version.js';\nlet precacheController;\n/**\n * @return {PrecacheController}\n * @private\n */\nexport const getOrCreatePrecacheController = () => {\n if (!precacheController) {\n precacheController = new PrecacheController();\n }\n return precacheController;\n};\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { Route } from 'workbox-routing/Route.js';\nimport { generateURLVariations } from './utils/generateURLVariations.js';\nimport './_version.js';\n/**\n * A subclass of {@link workbox-routing.Route} that takes a\n * {@link workbox-precaching.PrecacheController}\n * instance and uses it to match incoming requests and handle fetching\n * responses from the precache.\n *\n * @memberof workbox-precaching\n * @extends workbox-routing.Route\n */\nclass PrecacheRoute extends Route {\n /**\n * @param {PrecacheController} precacheController A `PrecacheController`\n * instance used to both match requests and respond to fetch events.\n * @param {Object} [options] Options to control how requests are matched\n * against the list of precached URLs.\n * @param {string} [options.directoryIndex=index.html] The `directoryIndex` will\n * check cache entries for a URLs ending with '/' to see if there is a hit when\n * appending the `directoryIndex` value.\n * @param {Array} [options.ignoreURLParametersMatching=[/^utm_/, /^fbclid$/]] An\n * array of regex's to remove search params when looking for a cache match.\n * @param {boolean} [options.cleanURLs=true] The `cleanURLs` option will\n * check the cache for the URL with a `.html` added to the end of the end.\n * @param {workbox-precaching~urlManipulation} [options.urlManipulation]\n * This is a function that should take a URL and return an array of\n * alternative URLs that should be checked for precache matches.\n */\n constructor(precacheController, options) {\n const match = ({ request, }) => {\n const urlsToCacheKeys = precacheController.getURLsToCacheKeys();\n for (const possibleURL of generateURLVariations(request.url, options)) {\n const cacheKey = urlsToCacheKeys.get(possibleURL);\n if (cacheKey) {\n const integrity = precacheController.getIntegrityForCacheKey(cacheKey);\n return { cacheKey, integrity };\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Precaching did not find a match for ` + getFriendlyURL(request.url));\n }\n return;\n };\n super(match, precacheController.strategy);\n }\n}\nexport { PrecacheRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { removeIgnoredSearchParams } from './removeIgnoredSearchParams.js';\nimport '../_version.js';\n/**\n * Generator function that yields possible variations on the original URL to\n * check, one at a time.\n *\n * @param {string} url\n * @param {Object} options\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function* generateURLVariations(url, { ignoreURLParametersMatching = [/^utm_/, /^fbclid$/], directoryIndex = 'index.html', cleanURLs = true, urlManipulation, } = {}) {\n const urlObject = new URL(url, location.href);\n urlObject.hash = '';\n yield urlObject.href;\n const urlWithoutIgnoredParams = removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching);\n yield urlWithoutIgnoredParams.href;\n if (directoryIndex && urlWithoutIgnoredParams.pathname.endsWith('/')) {\n const directoryURL = new URL(urlWithoutIgnoredParams.href);\n directoryURL.pathname += directoryIndex;\n yield directoryURL.href;\n }\n if (cleanURLs) {\n const cleanURL = new URL(urlWithoutIgnoredParams.href);\n cleanURL.pathname += '.html';\n yield cleanURL.href;\n }\n if (urlManipulation) {\n const additionalURLs = urlManipulation({ url: urlObject });\n for (const urlToAttempt of additionalURLs) {\n yield urlToAttempt.href;\n }\n }\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Removes any URL search parameters that should be ignored.\n *\n * @param {URL} urlObject The original URL.\n * @param {Array} ignoreURLParametersMatching RegExps to test against\n * each search parameter name. Matches mean that the search parameter should be\n * ignored.\n * @return {URL} The URL with any ignored search parameters removed.\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching = []) {\n // Convert the iterable into an array at the start of the loop to make sure\n // deletion doesn't mess up iteration.\n for (const paramName of [...urlObject.searchParams.keys()]) {\n if (ignoreURLParametersMatching.some((regExp) => regExp.test(paramName))) {\n urlObject.searchParams.delete(paramName);\n }\n }\n return urlObject;\n}\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { registerRoute } from 'workbox-routing/registerRoute.js';\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport { PrecacheRoute } from './PrecacheRoute.js';\nimport './_version.js';\n/**\n * Add a `fetch` listener to the service worker that will\n * respond to\n * [network requests]{@link https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers#Custom_responses_to_requests}\n * with precached assets.\n *\n * Requests for assets that aren't precached, the `FetchEvent` will not be\n * responded to, allowing the event to fall through to other `fetch` event\n * listeners.\n *\n * @param {Object} [options] See the {@link workbox-precaching.PrecacheRoute}\n * options.\n *\n * @memberof workbox-precaching\n */\nfunction addRoute(options) {\n const precacheController = getOrCreatePrecacheController();\n const precacheRoute = new PrecacheRoute(precacheController, options);\n registerRoute(precacheRoute);\n}\nexport { addRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Route } from './Route.js';\nimport { RegExpRoute } from './RegExpRoute.js';\nimport { getOrCreateDefaultRouter } from './utils/getOrCreateDefaultRouter.js';\nimport './_version.js';\n/**\n * Easily register a RegExp, string, or function with a caching\n * strategy to a singleton Router instance.\n *\n * This method will generate a Route for you if needed and\n * call {@link workbox-routing.Router#registerRoute}.\n *\n * @param {RegExp|string|workbox-routing.Route~matchCallback|workbox-routing.Route} capture\n * If the capture param is a `Route`, all other arguments will be ignored.\n * @param {workbox-routing~handlerCallback} [handler] A callback\n * function that returns a Promise resulting in a Response. This parameter\n * is required if `capture` is not a `Route` object.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n * @return {workbox-routing.Route} The generated `Route`.\n *\n * @memberof workbox-routing\n */\nfunction registerRoute(capture, handler, method) {\n let route;\n if (typeof capture === 'string') {\n const captureUrl = new URL(capture, location.href);\n if (process.env.NODE_ENV !== 'production') {\n if (!(capture.startsWith('/') || capture.startsWith('http'))) {\n throw new WorkboxError('invalid-string', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n // We want to check if Express-style wildcards are in the pathname only.\n // TODO: Remove this log message in v4.\n const valueToCheck = capture.startsWith('http')\n ? captureUrl.pathname\n : capture;\n // See https://github.com/pillarjs/path-to-regexp#parameters\n const wildcards = '[*:?+]';\n if (new RegExp(`${wildcards}`).exec(valueToCheck)) {\n logger.debug(`The '$capture' parameter contains an Express-style wildcard ` +\n `character (${wildcards}). Strings are now always interpreted as ` +\n `exact matches; use a RegExp for partial or wildcard matches.`);\n }\n }\n const matchCallback = ({ url }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (url.pathname === captureUrl.pathname &&\n url.origin !== captureUrl.origin) {\n logger.debug(`${capture} only partially matches the cross-origin URL ` +\n `${url.toString()}. This route will only handle cross-origin requests ` +\n `if they match the entire URL.`);\n }\n }\n return url.href === captureUrl.href;\n };\n // If `capture` is a string then `handler` and `method` must be present.\n route = new Route(matchCallback, handler, method);\n }\n else if (capture instanceof RegExp) {\n // If `capture` is a `RegExp` then `handler` and `method` must be present.\n route = new RegExpRoute(capture, handler, method);\n }\n else if (typeof capture === 'function') {\n // If `capture` is a function then `handler` and `method` must be present.\n route = new Route(capture, handler, method);\n }\n else if (capture instanceof Route) {\n route = capture;\n }\n else {\n throw new WorkboxError('unsupported-route-type', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n const defaultRouter = getOrCreateDefaultRouter();\n defaultRouter.registerRoute(route);\n return route;\n}\nexport { registerRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport './_version.js';\n/**\n * Claim any currently available clients once the service worker\n * becomes active. This is normally used in conjunction with `skipWaiting()`.\n *\n * @memberof workbox-core\n */\nfunction clientsClaim() {\n self.addEventListener('activate', () => self.clients.claim());\n}\nexport { clientsClaim };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { addRoute } from './addRoute.js';\nimport { precache } from './precache.js';\nimport './_version.js';\n/**\n * This method will add entries to the precache list and add a route to\n * respond to fetch events.\n *\n * This is a convenience method that will call\n * {@link workbox-precaching.precache} and\n * {@link workbox-precaching.addRoute} in a single call.\n *\n * @param {Array} entries Array of entries to precache.\n * @param {Object} [options] See the\n * {@link workbox-precaching.PrecacheRoute} options.\n *\n * @memberof workbox-precaching\n */\nfunction precacheAndRoute(entries, options) {\n precache(entries);\n addRoute(options);\n}\nexport { precacheAndRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport './_version.js';\n/**\n * Adds items to the precache list, removing any duplicates and\n * stores the files in the\n * {@link workbox-core.cacheNames|\"precache cache\"} when the service\n * worker installs.\n *\n * This method can be called multiple times.\n *\n * Please note: This method **will not** serve any of the cached files for you.\n * It only precaches files. To respond to a network request you call\n * {@link workbox-precaching.addRoute}.\n *\n * If you have a single array of files to precache, you can just call\n * {@link workbox-precaching.precacheAndRoute}.\n *\n * @param {Array} [entries=[]] Array of entries to precache.\n *\n * @memberof workbox-precaching\n */\nfunction precache(entries) {\n const precacheController = getOrCreatePrecacheController();\n precacheController.precache(entries);\n}\nexport { precache };\n"],"names":["self","_","e","messageGenerator","fallback","code","args","msg","length","JSON","stringify","WorkboxError","Error","constructor","errorCode","details","super","this","name","normalizeHandler","handler","handle","Route","match","method","setCatchHandler","catchHandler","RegExpRoute","regExp","url","result","exec","href","origin","location","index","slice","Router","_routes","Map","_defaultHandlerMap","routes","addFetchListener","addEventListener","event","request","responsePromise","handleRequest","respondWith","addCacheListener","data","type","payload","requestPromises","Promise","all","urlsToCache","map","entry","Request","waitUntil","ports","then","postMessage","URL","protocol","startsWith","sameOrigin","params","route","findMatchingRoute","has","get","err","reject","_catchHandler","catch","async","catchErr","matchResult","Array","isArray","Object","keys","undefined","setDefaultHandler","set","registerRoute","push","unregisterRoute","routeIndex","indexOf","splice","defaultRouter","_cacheNameDetails","googleAnalytics","precache","prefix","runtime","suffix","registration","scope","_createCacheName","cacheName","filter","value","join","cacheNames","userCacheName","asyncFn","returnPromise","createCacheKey","urlObject","cacheKey","revision","cacheKeyURL","originalURL","searchParams","PrecacheInstallReportPlugin","updatedURLs","notUpdatedURLs","handlerWillStart","state","originalRequest","cachedResponseWillBeUsed","cachedResponse","PrecacheCacheKeyPlugin","precacheController","cacheKeyWillBeUsed","_precacheController","getCacheKeyForURL","headers","supportStatus","copyResponse","response","modifier","clonedResponse","clone","responseInit","Headers","status","statusText","modifiedResponseInit","body","testResponse","Response","error","canConstructResponseFromBodyStream","blob","stripParams","fullURL","ignoreParams","strippedURL","param","delete","Deferred","promise","resolve","quotaErrorCallbacks","Set","toRequest","input","StrategyHandler","strategy","options","_cacheKeys","assign","_strategy","_handlerDeferred","_extendLifetimePromises","_plugins","plugins","_pluginStateMap","plugin","fetch","mode","FetchEvent","preloadResponse","possiblePreloadResponse","hasCallback","cb","iterateCallbacks","thrownErrorMessage","message","pluginFilteredRequest","fetchResponse","fetchOptions","callback","runCallbacks","fetchAndCachePut","responseClone","cachePut","cacheMatch","key","matchOptions","effectiveRequest","getCacheKey","multiMatchOptions","caches","ms","setTimeout","String","replace","RegExp","responseToCache","_ensureResponseSafeToCache","cache","open","hasCacheUpdateCallback","oldResponse","strippedRequestURL","keysOptions","ignoreSearch","cacheKeys","cacheMatchIgnoreParams","put","executeQuotaErrorCallbacks","newResponse","statefulCallback","statefulParam","doneWaiting","shift","destroy","pluginsUsed","Strategy","responseDone","handleAll","_getResponse","_awaitComplete","_handle","waitUntilError","PrecacheStrategy","_fallbackToNetwork","fallbackToNetwork","copyRedirectedCacheableResponsesPlugin","_handleInstall","_handleFetch","integrityInManifest","integrity","integrityInRequest","noIntegrityConflict","_useDefaultCacheabilityPluginIfNeeded","defaultPluginIndex","cacheWillUpdatePluginCount","entries","defaultPrecacheCacheabilityPlugin","cacheWillUpdate","redirected","PrecacheController","_urlsToCacheKeys","_urlsToCacheModes","_cacheKeysToIntegrities","install","bind","activate","addToCacheList","_installAndActiveListenersAdded","urlsToWarnAbout","cacheMode","firstEntry","secondEntry","warningMessage","console","warn","installReportPlugin","credentials","currentlyCachedRequests","expectedCacheKeys","values","deletedURLs","getURLsToCacheKeys","getCachedURLs","getIntegrityForCacheKey","matchPrecache","createHandlerBoundToURL","getOrCreatePrecacheController","PrecacheRoute","urlsToCacheKeys","possibleURL","ignoreURLParametersMatching","directoryIndex","cleanURLs","urlManipulation","hash","urlWithoutIgnoredParams","paramName","some","test","removeIgnoredSearchParams","pathname","endsWith","directoryURL","cleanURL","additionalURLs","urlToAttempt","generateURLVariations","addRoute","capture","captureUrl","matchCallback","moduleName","funcName","clients","claim"],"mappings":"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"} \ No newline at end of file diff --git a/chore/update-pull-user-from-api-action/workbox-1f84e78b.js b/chore/update-pull-user-from-api-action/workbox-1f84e78b.js deleted file mode 100644 index e3dd801c8..000000000 --- a/chore/update-pull-user-from-api-action/workbox-1f84e78b.js +++ /dev/null @@ -1,2 +0,0 @@ -define(["exports"],(function(t){"use strict";try{self["workbox:core:7.2.0"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:7.2.0"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class i{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class r extends i{constructor(t,e,s){super((({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)}),e,s)}}class o{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",(t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map((e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})})));t.waitUntil(s),t.ports&&t.ports[0]&&s.then((()=>t.ports[0].postMessage(!0)))}}))}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let o=r&&r.handler;const c=t.method;if(!o&&this.i.has(c)&&(o=this.i.get(c)),!o)return;let a;try{a=o.handle({url:s,request:t,event:e,params:i})}catch(t){a=Promise.reject(t)}const h=r&&r.catchHandler;return a instanceof Promise&&(this.o||h)&&(a=a.catch((async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n}))),a}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const o=r.match({url:t,sameOrigin:e,request:s,event:n});if(o)return i=o,(Array.isArray(i)&&0===i.length||o.constructor===Object&&0===Object.keys(o).length||"boolean"==typeof o)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let c;const a={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},h=t=>[a.prefix,t,a.suffix].filter((t=>t&&t.length>0)).join("-"),u=t=>t||h(a.precache),l=t=>t||h(a.runtime);function f(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:7.2.0"]&&_()}catch(t){}function w(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class d{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class p{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.h.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.h=t}}let y;async function g(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=e?e(r):r,c=function(){if(void 0===y){const t=new Response("");if("body"in t)try{new Response(t.body),y=!0}catch(t){y=!1}y=!1}return y}()?i.body:await i.blob();return new Response(c,o)}function R(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class m{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}}const v=new Set;try{self["workbox:strategies:7.2.0"]&&_()}catch(t){}function q(t){return"string"==typeof t?new Request(t):t}class U{constructor(t,e){this.u={},Object.assign(this,e),this.event=e.event,this.l=t,this.p=new m,this.R=[],this.m=[...t.plugins],this.v=new Map;for(const t of this.m)this.v.set(t,{});this.event.waitUntil(this.p.promise)}async fetch(t){const{event:e}=this;let n=q(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.l.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=q(t);let s;const{cacheName:n,matchOptions:i}=this.l,r=await this.getCacheKey(e,"read"),o=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,o);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=q(t);var i;await(i=0,new Promise((t=>setTimeout(t,i))));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(o=r.url,new URL(String(o),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var o;const c=await this.q(e);if(!c)return!1;const{cacheName:a,matchOptions:h}=this.l,u=await self.caches.open(a),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=R(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),o=await t.keys(e,r);for(const e of o)if(i===R(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?c.clone():c)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of v)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:a,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.u[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=q(await t({mode:e,request:n,event:this.event,params:this.params}));this.u[s]=n}return this.u[s]}hasCallback(t){for(const e of this.l.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.l.plugins)if("function"==typeof e[t]){const s=this.v.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.R.push(t),t}async doneWaiting(){let t;for(;t=this.R.shift();)await t}destroy(){this.p.resolve(null)}async q(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class L{constructor(t={}){this.cacheName=l(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new U(this,{event:e,request:s,params:n}),r=this.U(i,s,e);return[r,this.L(r,i,s,e)]}async U(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this._(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async L(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}class b extends L{constructor(t={}){t.cacheName=u(t.cacheName),super(t),this.C=!1!==t.fallbackToNetwork,this.plugins.push(b.copyRedirectedCacheableResponsesPlugin)}async _(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.O(t,e):await this.N(t,e))}async N(t,e){let n;const i=e.params||{};if(!this.C)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,o=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&o&&"no-cors"!==t.mode&&(this.k(),await e.cachePut(t,n.clone()))}return n}async O(t,e){this.k();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}k(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==b.copyRedirectedCacheableResponsesPlugin&&(n===b.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(b.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}b.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},b.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await g(t):t};class C{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.K=new Map,this.T=new Map,this.W=new Map,this.l=new b({cacheName:u(t),plugins:[...e,new p({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.l}precache(t){this.addToCacheList(t),this.j||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.j=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=w(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.K.has(i)&&this.K.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.K.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.W.has(t)&&this.W.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.W.set(t,n.integrity)}if(this.K.set(i,t),this.T.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return f(t,(async()=>{const e=new d;this.strategy.plugins.push(e);for(const[e,s]of this.K){const n=this.W.get(s),i=this.T.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}}))}activate(t){return f(t,(async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.K.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}}))}getURLsToCacheKeys(){return this.K}getCachedURLs(){return[...this.K.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.K.get(e.href)}getIntegrityForCacheKey(t){return this.W.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}let E;const O=()=>(E||(E=new C),E);class x extends i{constructor(t,e){super((({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const o=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some((t=>t.test(s)))&&t.searchParams.delete(s);return t}(r,e);if(yield o.href,s&&o.pathname.endsWith("/")){const t=new URL(o.href);t.pathname+=s,yield t.href}if(n){const t=new URL(o.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}}),t.strategy)}}function N(t){const e=O();!function(t,e,n){let a;if("string"==typeof t){const s=new URL(t,location.href);a=new i((({url:t})=>t.href===s.href),e,n)}else if(t instanceof RegExp)a=new r(t,e,n);else if("function"==typeof t)a=new i(t,e,n);else{if(!(t instanceof i))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});a=t}(c||(c=new o,c.addFetchListener(),c.addCacheListener()),c).registerRoute(a)}(new x(e,t))}t.clientsClaim=function(){self.addEventListener("activate",(()=>self.clients.claim()))},t.precacheAndRoute=function(t,e){!function(t){O().precache(t)}(t),N(e)}})); -//# sourceMappingURL=workbox-1f84e78b.js.map diff --git a/chore/update-pull-user-from-api-action/workbox-1f84e78b.js.map b/chore/update-pull-user-from-api-action/workbox-1f84e78b.js.map deleted file mode 100644 index 7e551df56..000000000 --- a/chore/update-pull-user-from-api-action/workbox-1f84e78b.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"workbox-1f84e78b.js","sources":["node_modules/workbox-core/_version.js","node_modules/workbox-core/_private/logger.js","node_modules/workbox-core/models/messages/messageGenerator.js","node_modules/workbox-core/_private/WorkboxError.js","node_modules/workbox-routing/_version.js","node_modules/workbox-routing/utils/constants.js","node_modules/workbox-routing/utils/normalizeHandler.js","node_modules/workbox-routing/Route.js","node_modules/workbox-routing/RegExpRoute.js","node_modules/workbox-routing/Router.js","node_modules/workbox-routing/utils/getOrCreateDefaultRouter.js","node_modules/workbox-core/_private/cacheNames.js","node_modules/workbox-core/_private/waitUntil.js","node_modules/workbox-precaching/_version.js","node_modules/workbox-precaching/utils/createCacheKey.js","node_modules/workbox-precaching/utils/PrecacheInstallReportPlugin.js","node_modules/workbox-precaching/utils/PrecacheCacheKeyPlugin.js","node_modules/workbox-core/_private/canConstructResponseFromBodyStream.js","node_modules/workbox-core/copyResponse.js","node_modules/workbox-core/_private/cacheMatchIgnoreParams.js","node_modules/workbox-core/_private/Deferred.js","node_modules/workbox-core/models/quotaErrorCallbacks.js","node_modules/workbox-strategies/_version.js","node_modules/workbox-strategies/StrategyHandler.js","node_modules/workbox-core/_private/timeout.js","node_modules/workbox-core/_private/getFriendlyURL.js","node_modules/workbox-core/_private/executeQuotaErrorCallbacks.js","node_modules/workbox-strategies/Strategy.js","node_modules/workbox-precaching/PrecacheStrategy.js","node_modules/workbox-precaching/PrecacheController.js","node_modules/workbox-precaching/utils/getOrCreatePrecacheController.js","node_modules/workbox-precaching/PrecacheRoute.js","node_modules/workbox-precaching/utils/generateURLVariations.js","node_modules/workbox-precaching/utils/removeIgnoredSearchParams.js","node_modules/workbox-precaching/addRoute.js","node_modules/workbox-routing/registerRoute.js","node_modules/workbox-core/clientsClaim.js","node_modules/workbox-precaching/precacheAndRoute.js","node_modules/workbox-precaching/precache.js"],"sourcesContent":["\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:core:7.2.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst logger = (process.env.NODE_ENV === 'production'\n ? null\n : (() => {\n // Don't overwrite this value if it's already set.\n // See https://github.com/GoogleChrome/workbox/pull/2284#issuecomment-560470923\n if (!('__WB_DISABLE_DEV_LOGS' in globalThis)) {\n self.__WB_DISABLE_DEV_LOGS = false;\n }\n let inGroup = false;\n const methodToColorMap = {\n debug: `#7f8c8d`,\n log: `#2ecc71`,\n warn: `#f39c12`,\n error: `#c0392b`,\n groupCollapsed: `#3498db`,\n groupEnd: null, // No colored prefix on groupEnd\n };\n const print = function (method, args) {\n if (self.__WB_DISABLE_DEV_LOGS) {\n return;\n }\n if (method === 'groupCollapsed') {\n // Safari doesn't print all console.groupCollapsed() arguments:\n // https://bugs.webkit.org/show_bug.cgi?id=182754\n if (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n console[method](...args);\n return;\n }\n }\n const styles = [\n `background: ${methodToColorMap[method]}`,\n `border-radius: 0.5em`,\n `color: white`,\n `font-weight: bold`,\n `padding: 2px 0.5em`,\n ];\n // When in a group, the workbox prefix is not displayed.\n const logPrefix = inGroup ? [] : ['%cworkbox', styles.join(';')];\n console[method](...logPrefix, ...args);\n if (method === 'groupCollapsed') {\n inGroup = true;\n }\n if (method === 'groupEnd') {\n inGroup = false;\n }\n };\n // eslint-disable-next-line @typescript-eslint/ban-types\n const api = {};\n const loggerMethods = Object.keys(methodToColorMap);\n for (const key of loggerMethods) {\n const method = key;\n api[method] = (...args) => {\n print(method, args);\n };\n }\n return api;\n })());\nexport { logger };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messages } from './messages.js';\nimport '../../_version.js';\nconst fallback = (code, ...args) => {\n let msg = code;\n if (args.length > 0) {\n msg += ` :: ${JSON.stringify(args)}`;\n }\n return msg;\n};\nconst generatorFunction = (code, details = {}) => {\n const message = messages[code];\n if (!message) {\n throw new Error(`Unable to find message for code '${code}'.`);\n }\n return message(details);\n};\nexport const messageGenerator = process.env.NODE_ENV === 'production' ? fallback : generatorFunction;\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messageGenerator } from '../models/messages/messageGenerator.js';\nimport '../_version.js';\n/**\n * Workbox errors should be thrown with this class.\n * This allows use to ensure the type easily in tests,\n * helps developers identify errors from workbox\n * easily and allows use to optimise error\n * messages correctly.\n *\n * @private\n */\nclass WorkboxError extends Error {\n /**\n *\n * @param {string} errorCode The error code that\n * identifies this particular error.\n * @param {Object=} details Any relevant arguments\n * that will help developers identify issues should\n * be added as a key on the context object.\n */\n constructor(errorCode, details) {\n const message = messageGenerator(errorCode, details);\n super(message);\n this.name = errorCode;\n this.details = details;\n }\n}\nexport { WorkboxError };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:routing:7.2.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The default HTTP method, 'GET', used when there's no specific method\n * configured for a route.\n *\n * @type {string}\n *\n * @private\n */\nexport const defaultMethod = 'GET';\n/**\n * The list of valid HTTP methods associated with requests that could be routed.\n *\n * @type {Array}\n *\n * @private\n */\nexport const validMethods = [\n 'DELETE',\n 'GET',\n 'HEAD',\n 'PATCH',\n 'POST',\n 'PUT',\n];\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport '../_version.js';\n/**\n * @param {function()|Object} handler Either a function, or an object with a\n * 'handle' method.\n * @return {Object} An object with a handle method.\n *\n * @private\n */\nexport const normalizeHandler = (handler) => {\n if (handler && typeof handler === 'object') {\n if (process.env.NODE_ENV !== 'production') {\n assert.hasMethod(handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return handler;\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(handler, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return { handle: handler };\n }\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { defaultMethod, validMethods } from './utils/constants.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport './_version.js';\n/**\n * A `Route` consists of a pair of callback functions, \"match\" and \"handler\".\n * The \"match\" callback determine if a route should be used to \"handle\" a\n * request by returning a non-falsy value if it can. The \"handler\" callback\n * is called when there is a match and should return a Promise that resolves\n * to a `Response`.\n *\n * @memberof workbox-routing\n */\nclass Route {\n /**\n * Constructor for Route class.\n *\n * @param {workbox-routing~matchCallback} match\n * A callback function that determines whether the route matches a given\n * `fetch` event by returning a non-falsy value.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(match, handler, method = defaultMethod) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(match, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'match',\n });\n if (method) {\n assert.isOneOf(method, validMethods, { paramName: 'method' });\n }\n }\n // These values are referenced directly by Router so cannot be\n // altered by minificaton.\n this.handler = normalizeHandler(handler);\n this.match = match;\n this.method = method;\n }\n /**\n *\n * @param {workbox-routing-handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response\n */\n setCatchHandler(handler) {\n this.catchHandler = normalizeHandler(handler);\n }\n}\nexport { Route };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { Route } from './Route.js';\nimport './_version.js';\n/**\n * RegExpRoute makes it easy to create a regular expression based\n * {@link workbox-routing.Route}.\n *\n * For same-origin requests the RegExp only needs to match part of the URL. For\n * requests against third-party servers, you must define a RegExp that matches\n * the start of the URL.\n *\n * @memberof workbox-routing\n * @extends workbox-routing.Route\n */\nclass RegExpRoute extends Route {\n /**\n * If the regular expression contains\n * [capture groups]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references},\n * the captured values will be passed to the\n * {@link workbox-routing~handlerCallback} `params`\n * argument.\n *\n * @param {RegExp} regExp The regular expression to match against URLs.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(regExp, handler, method) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(regExp, RegExp, {\n moduleName: 'workbox-routing',\n className: 'RegExpRoute',\n funcName: 'constructor',\n paramName: 'pattern',\n });\n }\n const match = ({ url }) => {\n const result = regExp.exec(url.href);\n // Return immediately if there's no match.\n if (!result) {\n return;\n }\n // Require that the match start at the first character in the URL string\n // if it's a cross-origin request.\n // See https://github.com/GoogleChrome/workbox/issues/281 for the context\n // behind this behavior.\n if (url.origin !== location.origin && result.index !== 0) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`The regular expression '${regExp.toString()}' only partially matched ` +\n `against the cross-origin URL '${url.toString()}'. RegExpRoute's will only ` +\n `handle cross-origin requests if they match the entire URL.`);\n }\n return;\n }\n // If the route matches, but there aren't any capture groups defined, then\n // this will return [], which is truthy and therefore sufficient to\n // indicate a match.\n // If there are capture groups, then it will return their values.\n return result.slice(1);\n };\n super(match, handler, method);\n }\n}\nexport { RegExpRoute };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { defaultMethod } from './utils/constants.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\n/**\n * The Router can be used to process a `FetchEvent` using one or more\n * {@link workbox-routing.Route}, responding with a `Response` if\n * a matching route exists.\n *\n * If no route matches a given a request, the Router will use a \"default\"\n * handler if one is defined.\n *\n * Should the matching Route throw an error, the Router will use a \"catch\"\n * handler if one is defined to gracefully deal with issues and respond with a\n * Request.\n *\n * If a request matches multiple routes, the **earliest** registered route will\n * be used to respond to the request.\n *\n * @memberof workbox-routing\n */\nclass Router {\n /**\n * Initializes a new Router.\n */\n constructor() {\n this._routes = new Map();\n this._defaultHandlerMap = new Map();\n }\n /**\n * @return {Map>} routes A `Map` of HTTP\n * method name ('GET', etc.) to an array of all the corresponding `Route`\n * instances that are registered.\n */\n get routes() {\n return this._routes;\n }\n /**\n * Adds a fetch event listener to respond to events when a route matches\n * the event's request.\n */\n addFetchListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('fetch', ((event) => {\n const { request } = event;\n const responsePromise = this.handleRequest({ request, event });\n if (responsePromise) {\n event.respondWith(responsePromise);\n }\n }));\n }\n /**\n * Adds a message event listener for URLs to cache from the window.\n * This is useful to cache resources loaded on the page prior to when the\n * service worker started controlling it.\n *\n * The format of the message data sent from the window should be as follows.\n * Where the `urlsToCache` array may consist of URL strings or an array of\n * URL string + `requestInit` object (the same as you'd pass to `fetch()`).\n *\n * ```\n * {\n * type: 'CACHE_URLS',\n * payload: {\n * urlsToCache: [\n * './script1.js',\n * './script2.js',\n * ['./script3.js', {mode: 'no-cors'}],\n * ],\n * },\n * }\n * ```\n */\n addCacheListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('message', ((event) => {\n // event.data is type 'any'\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (event.data && event.data.type === 'CACHE_URLS') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const { payload } = event.data;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Caching URLs from the window`, payload.urlsToCache);\n }\n const requestPromises = Promise.all(payload.urlsToCache.map((entry) => {\n if (typeof entry === 'string') {\n entry = [entry];\n }\n const request = new Request(...entry);\n return this.handleRequest({ request, event });\n // TODO(philipwalton): TypeScript errors without this typecast for\n // some reason (probably a bug). The real type here should work but\n // doesn't: `Array | undefined>`.\n })); // TypeScript\n event.waitUntil(requestPromises);\n // If a MessageChannel was used, reply to the message on success.\n if (event.ports && event.ports[0]) {\n void requestPromises.then(() => event.ports[0].postMessage(true));\n }\n }\n }));\n }\n /**\n * Apply the routing rules to a FetchEvent object to get a Response from an\n * appropriate Route's handler.\n *\n * @param {Object} options\n * @param {Request} options.request The request to handle.\n * @param {ExtendableEvent} options.event The event that triggered the\n * request.\n * @return {Promise|undefined} A promise is returned if a\n * registered route can handle the request. If there is no matching\n * route and there's no `defaultHandler`, `undefined` is returned.\n */\n handleRequest({ request, event, }) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(request, Request, {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'handleRequest',\n paramName: 'options.request',\n });\n }\n const url = new URL(request.url, location.href);\n if (!url.protocol.startsWith('http')) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Workbox Router only supports URLs that start with 'http'.`);\n }\n return;\n }\n const sameOrigin = url.origin === location.origin;\n const { params, route } = this.findMatchingRoute({\n event,\n request,\n sameOrigin,\n url,\n });\n let handler = route && route.handler;\n const debugMessages = [];\n if (process.env.NODE_ENV !== 'production') {\n if (handler) {\n debugMessages.push([`Found a route to handle this request:`, route]);\n if (params) {\n debugMessages.push([\n `Passing the following params to the route's handler:`,\n params,\n ]);\n }\n }\n }\n // If we don't have a handler because there was no matching route, then\n // fall back to defaultHandler if that's defined.\n const method = request.method;\n if (!handler && this._defaultHandlerMap.has(method)) {\n if (process.env.NODE_ENV !== 'production') {\n debugMessages.push(`Failed to find a matching route. Falling ` +\n `back to the default handler for ${method}.`);\n }\n handler = this._defaultHandlerMap.get(method);\n }\n if (!handler) {\n if (process.env.NODE_ENV !== 'production') {\n // No handler so Workbox will do nothing. If logs is set of debug\n // i.e. verbose, we should print out this information.\n logger.debug(`No route found for: ${getFriendlyURL(url)}`);\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // We have a handler, meaning Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Router is responding to: ${getFriendlyURL(url)}`);\n debugMessages.forEach((msg) => {\n if (Array.isArray(msg)) {\n logger.log(...msg);\n }\n else {\n logger.log(msg);\n }\n });\n logger.groupEnd();\n }\n // Wrap in try and catch in case the handle method throws a synchronous\n // error. It should still callback to the catch handler.\n let responsePromise;\n try {\n responsePromise = handler.handle({ url, request, event, params });\n }\n catch (err) {\n responsePromise = Promise.reject(err);\n }\n // Get route's catch handler, if it exists\n const catchHandler = route && route.catchHandler;\n if (responsePromise instanceof Promise &&\n (this._catchHandler || catchHandler)) {\n responsePromise = responsePromise.catch(async (err) => {\n // If there's a route catch handler, process that first\n if (catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to route's Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n try {\n return await catchHandler.handle({ url, request, event, params });\n }\n catch (catchErr) {\n if (catchErr instanceof Error) {\n err = catchErr;\n }\n }\n }\n if (this._catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to global Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n return this._catchHandler.handle({ url, request, event });\n }\n throw err;\n });\n }\n return responsePromise;\n }\n /**\n * Checks a request and URL (and optionally an event) against the list of\n * registered routes, and if there's a match, returns the corresponding\n * route along with any params generated by the match.\n *\n * @param {Object} options\n * @param {URL} options.url\n * @param {boolean} options.sameOrigin The result of comparing `url.origin`\n * against the current origin.\n * @param {Request} options.request The request to match.\n * @param {Event} options.event The corresponding event.\n * @return {Object} An object with `route` and `params` properties.\n * They are populated if a matching route was found or `undefined`\n * otherwise.\n */\n findMatchingRoute({ url, sameOrigin, request, event, }) {\n const routes = this._routes.get(request.method) || [];\n for (const route of routes) {\n let params;\n // route.match returns type any, not possible to change right now.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const matchResult = route.match({ url, sameOrigin, request, event });\n if (matchResult) {\n if (process.env.NODE_ENV !== 'production') {\n // Warn developers that using an async matchCallback is almost always\n // not the right thing to do.\n if (matchResult instanceof Promise) {\n logger.warn(`While routing ${getFriendlyURL(url)}, an async ` +\n `matchCallback function was used. Please convert the ` +\n `following route to use a synchronous matchCallback function:`, route);\n }\n }\n // See https://github.com/GoogleChrome/workbox/issues/2079\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n params = matchResult;\n if (Array.isArray(params) && params.length === 0) {\n // Instead of passing an empty array in as params, use undefined.\n params = undefined;\n }\n else if (matchResult.constructor === Object && // eslint-disable-line\n Object.keys(matchResult).length === 0) {\n // Instead of passing an empty object in as params, use undefined.\n params = undefined;\n }\n else if (typeof matchResult === 'boolean') {\n // For the boolean value true (rather than just something truth-y),\n // don't set params.\n // See https://github.com/GoogleChrome/workbox/pull/2134#issuecomment-513924353\n params = undefined;\n }\n // Return early if have a match.\n return { route, params };\n }\n }\n // If no match was found above, return and empty object.\n return {};\n }\n /**\n * Define a default `handler` that's called when no routes explicitly\n * match the incoming request.\n *\n * Each HTTP method ('GET', 'POST', etc.) gets its own default handler.\n *\n * Without a default handler, unmatched requests will go against the\n * network as if there were no service worker present.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to associate with this\n * default handler. Each method has its own default.\n */\n setDefaultHandler(handler, method = defaultMethod) {\n this._defaultHandlerMap.set(method, normalizeHandler(handler));\n }\n /**\n * If a Route throws an error while handling a request, this `handler`\n * will be called and given a chance to provide a response.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n */\n setCatchHandler(handler) {\n this._catchHandler = normalizeHandler(handler);\n }\n /**\n * Registers a route with the router.\n *\n * @param {workbox-routing.Route} route The route to register.\n */\n registerRoute(route) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(route, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route, 'match', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.isType(route.handler, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route.handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.handler',\n });\n assert.isType(route.method, 'string', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.method',\n });\n }\n if (!this._routes.has(route.method)) {\n this._routes.set(route.method, []);\n }\n // Give precedence to all of the earlier routes by adding this additional\n // route to the end of the array.\n this._routes.get(route.method).push(route);\n }\n /**\n * Unregisters a route with the router.\n *\n * @param {workbox-routing.Route} route The route to unregister.\n */\n unregisterRoute(route) {\n if (!this._routes.has(route.method)) {\n throw new WorkboxError('unregister-route-but-not-found-with-method', {\n method: route.method,\n });\n }\n const routeIndex = this._routes.get(route.method).indexOf(route);\n if (routeIndex > -1) {\n this._routes.get(route.method).splice(routeIndex, 1);\n }\n else {\n throw new WorkboxError('unregister-route-route-not-registered');\n }\n }\n}\nexport { Router };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { Router } from '../Router.js';\nimport '../_version.js';\nlet defaultRouter;\n/**\n * Creates a new, singleton Router instance if one does not exist. If one\n * does already exist, that instance is returned.\n *\n * @private\n * @return {Router}\n */\nexport const getOrCreateDefaultRouter = () => {\n if (!defaultRouter) {\n defaultRouter = new Router();\n // The helpers that use the default Router assume these listeners exist.\n defaultRouter.addFetchListener();\n defaultRouter.addCacheListener();\n }\n return defaultRouter;\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst _cacheNameDetails = {\n googleAnalytics: 'googleAnalytics',\n precache: 'precache-v2',\n prefix: 'workbox',\n runtime: 'runtime',\n suffix: typeof registration !== 'undefined' ? registration.scope : '',\n};\nconst _createCacheName = (cacheName) => {\n return [_cacheNameDetails.prefix, cacheName, _cacheNameDetails.suffix]\n .filter((value) => value && value.length > 0)\n .join('-');\n};\nconst eachCacheNameDetail = (fn) => {\n for (const key of Object.keys(_cacheNameDetails)) {\n fn(key);\n }\n};\nexport const cacheNames = {\n updateDetails: (details) => {\n eachCacheNameDetail((key) => {\n if (typeof details[key] === 'string') {\n _cacheNameDetails[key] = details[key];\n }\n });\n },\n getGoogleAnalyticsName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.googleAnalytics);\n },\n getPrecacheName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.precache);\n },\n getPrefix: () => {\n return _cacheNameDetails.prefix;\n },\n getRuntimeName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.runtime);\n },\n getSuffix: () => {\n return _cacheNameDetails.suffix;\n },\n};\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A utility method that makes it easier to use `event.waitUntil` with\n * async functions and return the result.\n *\n * @param {ExtendableEvent} event\n * @param {Function} asyncFn\n * @return {Function}\n * @private\n */\nfunction waitUntil(event, asyncFn) {\n const returnPromise = asyncFn();\n event.waitUntil(returnPromise);\n return returnPromise;\n}\nexport { waitUntil };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:precaching:7.2.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport '../_version.js';\n// Name of the search parameter used to store revision info.\nconst REVISION_SEARCH_PARAM = '__WB_REVISION__';\n/**\n * Converts a manifest entry into a versioned URL suitable for precaching.\n *\n * @param {Object|string} entry\n * @return {string} A URL with versioning info.\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function createCacheKey(entry) {\n if (!entry) {\n throw new WorkboxError('add-to-cache-list-unexpected-type', { entry });\n }\n // If a precache manifest entry is a string, it's assumed to be a versioned\n // URL, like '/app.abcd1234.js'. Return as-is.\n if (typeof entry === 'string') {\n const urlObject = new URL(entry, location.href);\n return {\n cacheKey: urlObject.href,\n url: urlObject.href,\n };\n }\n const { revision, url } = entry;\n if (!url) {\n throw new WorkboxError('add-to-cache-list-unexpected-type', { entry });\n }\n // If there's just a URL and no revision, then it's also assumed to be a\n // versioned URL.\n if (!revision) {\n const urlObject = new URL(url, location.href);\n return {\n cacheKey: urlObject.href,\n url: urlObject.href,\n };\n }\n // Otherwise, construct a properly versioned URL using the custom Workbox\n // search parameter along with the revision info.\n const cacheKeyURL = new URL(url, location.href);\n const originalURL = new URL(url, location.href);\n cacheKeyURL.searchParams.set(REVISION_SEARCH_PARAM, revision);\n return {\n cacheKey: cacheKeyURL.href,\n url: originalURL.href,\n };\n}\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A plugin, designed to be used with PrecacheController, to determine the\n * of assets that were updated (or not updated) during the install event.\n *\n * @private\n */\nclass PrecacheInstallReportPlugin {\n constructor() {\n this.updatedURLs = [];\n this.notUpdatedURLs = [];\n this.handlerWillStart = async ({ request, state, }) => {\n // TODO: `state` should never be undefined...\n if (state) {\n state.originalRequest = request;\n }\n };\n this.cachedResponseWillBeUsed = async ({ event, state, cachedResponse, }) => {\n if (event.type === 'install') {\n if (state &&\n state.originalRequest &&\n state.originalRequest instanceof Request) {\n // TODO: `state` should never be undefined...\n const url = state.originalRequest.url;\n if (cachedResponse) {\n this.notUpdatedURLs.push(url);\n }\n else {\n this.updatedURLs.push(url);\n }\n }\n }\n return cachedResponse;\n };\n }\n}\nexport { PrecacheInstallReportPlugin };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A plugin, designed to be used with PrecacheController, to translate URLs into\n * the corresponding cache key, based on the current revision info.\n *\n * @private\n */\nclass PrecacheCacheKeyPlugin {\n constructor({ precacheController }) {\n this.cacheKeyWillBeUsed = async ({ request, params, }) => {\n // Params is type any, can't change right now.\n /* eslint-disable */\n const cacheKey = (params === null || params === void 0 ? void 0 : params.cacheKey) ||\n this._precacheController.getCacheKeyForURL(request.url);\n /* eslint-enable */\n return cacheKey\n ? new Request(cacheKey, { headers: request.headers })\n : request;\n };\n this._precacheController = precacheController;\n }\n}\nexport { PrecacheCacheKeyPlugin };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nlet supportStatus;\n/**\n * A utility function that determines whether the current browser supports\n * constructing a new `Response` from a `response.body` stream.\n *\n * @return {boolean} `true`, if the current browser can successfully\n * construct a `Response` from a `response.body` stream, `false` otherwise.\n *\n * @private\n */\nfunction canConstructResponseFromBodyStream() {\n if (supportStatus === undefined) {\n const testResponse = new Response('');\n if ('body' in testResponse) {\n try {\n new Response(testResponse.body);\n supportStatus = true;\n }\n catch (error) {\n supportStatus = false;\n }\n }\n supportStatus = false;\n }\n return supportStatus;\n}\nexport { canConstructResponseFromBodyStream };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { canConstructResponseFromBodyStream } from './_private/canConstructResponseFromBodyStream.js';\nimport { WorkboxError } from './_private/WorkboxError.js';\nimport './_version.js';\n/**\n * Allows developers to copy a response and modify its `headers`, `status`,\n * or `statusText` values (the values settable via a\n * [`ResponseInit`]{@link https://developer.mozilla.org/en-US/docs/Web/API/Response/Response#Syntax}\n * object in the constructor).\n * To modify these values, pass a function as the second argument. That\n * function will be invoked with a single object with the response properties\n * `{headers, status, statusText}`. The return value of this function will\n * be used as the `ResponseInit` for the new `Response`. To change the values\n * either modify the passed parameter(s) and return it, or return a totally\n * new object.\n *\n * This method is intentionally limited to same-origin responses, regardless of\n * whether CORS was used or not.\n *\n * @param {Response} response\n * @param {Function} modifier\n * @memberof workbox-core\n */\nasync function copyResponse(response, modifier) {\n let origin = null;\n // If response.url isn't set, assume it's cross-origin and keep origin null.\n if (response.url) {\n const responseURL = new URL(response.url);\n origin = responseURL.origin;\n }\n if (origin !== self.location.origin) {\n throw new WorkboxError('cross-origin-copy-response', { origin });\n }\n const clonedResponse = response.clone();\n // Create a fresh `ResponseInit` object by cloning the headers.\n const responseInit = {\n headers: new Headers(clonedResponse.headers),\n status: clonedResponse.status,\n statusText: clonedResponse.statusText,\n };\n // Apply any user modifications.\n const modifiedResponseInit = modifier ? modifier(responseInit) : responseInit;\n // Create the new response from the body stream and `ResponseInit`\n // modifications. Note: not all browsers support the Response.body stream,\n // so fall back to reading the entire body into memory as a blob.\n const body = canConstructResponseFromBodyStream()\n ? clonedResponse.body\n : await clonedResponse.blob();\n return new Response(body, modifiedResponseInit);\n}\nexport { copyResponse };\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nfunction stripParams(fullURL, ignoreParams) {\n const strippedURL = new URL(fullURL);\n for (const param of ignoreParams) {\n strippedURL.searchParams.delete(param);\n }\n return strippedURL.href;\n}\n/**\n * Matches an item in the cache, ignoring specific URL params. This is similar\n * to the `ignoreSearch` option, but it allows you to ignore just specific\n * params (while continuing to match on the others).\n *\n * @private\n * @param {Cache} cache\n * @param {Request} request\n * @param {Object} matchOptions\n * @param {Array} ignoreParams\n * @return {Promise}\n */\nasync function cacheMatchIgnoreParams(cache, request, ignoreParams, matchOptions) {\n const strippedRequestURL = stripParams(request.url, ignoreParams);\n // If the request doesn't include any ignored params, match as normal.\n if (request.url === strippedRequestURL) {\n return cache.match(request, matchOptions);\n }\n // Otherwise, match by comparing keys\n const keysOptions = Object.assign(Object.assign({}, matchOptions), { ignoreSearch: true });\n const cacheKeys = await cache.keys(request, keysOptions);\n for (const cacheKey of cacheKeys) {\n const strippedCacheKeyURL = stripParams(cacheKey.url, ignoreParams);\n if (strippedRequestURL === strippedCacheKeyURL) {\n return cache.match(cacheKey, matchOptions);\n }\n }\n return;\n}\nexport { cacheMatchIgnoreParams };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The Deferred class composes Promises in a way that allows for them to be\n * resolved or rejected from outside the constructor. In most cases promises\n * should be used directly, but Deferreds can be necessary when the logic to\n * resolve a promise must be separate.\n *\n * @private\n */\nclass Deferred {\n /**\n * Creates a promise and exposes its resolve and reject functions as methods.\n */\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\nexport { Deferred };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n// Callbacks to be executed whenever there's a quota error.\n// Can't change Function type right now.\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst quotaErrorCallbacks = new Set();\nexport { quotaErrorCallbacks };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:strategies:7.2.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheMatchIgnoreParams } from 'workbox-core/_private/cacheMatchIgnoreParams.js';\nimport { Deferred } from 'workbox-core/_private/Deferred.js';\nimport { executeQuotaErrorCallbacks } from 'workbox-core/_private/executeQuotaErrorCallbacks.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { timeout } from 'workbox-core/_private/timeout.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\nfunction toRequest(input) {\n return typeof input === 'string' ? new Request(input) : input;\n}\n/**\n * A class created every time a Strategy instance instance calls\n * {@link workbox-strategies.Strategy~handle} or\n * {@link workbox-strategies.Strategy~handleAll} that wraps all fetch and\n * cache actions around plugin callbacks and keeps track of when the strategy\n * is \"done\" (i.e. all added `event.waitUntil()` promises have resolved).\n *\n * @memberof workbox-strategies\n */\nclass StrategyHandler {\n /**\n * Creates a new instance associated with the passed strategy and event\n * that's handling the request.\n *\n * The constructor also initializes the state that will be passed to each of\n * the plugins handling this request.\n *\n * @param {workbox-strategies.Strategy} strategy\n * @param {Object} options\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params] The return value from the\n * {@link workbox-routing~matchCallback} (if applicable).\n */\n constructor(strategy, options) {\n this._cacheKeys = {};\n /**\n * The request the strategy is performing (passed to the strategy's\n * `handle()` or `handleAll()` method).\n * @name request\n * @instance\n * @type {Request}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * The event associated with this request.\n * @name event\n * @instance\n * @type {ExtendableEvent}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `URL` instance of `request.url` (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `url` param will be present if the strategy was invoked\n * from a workbox `Route` object.\n * @name url\n * @instance\n * @type {URL|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `param` value (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `param` param will be present if the strategy was invoked\n * from a workbox `Route` object and the\n * {@link workbox-routing~matchCallback} returned\n * a truthy value (it will be that value).\n * @name params\n * @instance\n * @type {*|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(options.event, ExtendableEvent, {\n moduleName: 'workbox-strategies',\n className: 'StrategyHandler',\n funcName: 'constructor',\n paramName: 'options.event',\n });\n }\n Object.assign(this, options);\n this.event = options.event;\n this._strategy = strategy;\n this._handlerDeferred = new Deferred();\n this._extendLifetimePromises = [];\n // Copy the plugins list (since it's mutable on the strategy),\n // so any mutations don't affect this handler instance.\n this._plugins = [...strategy.plugins];\n this._pluginStateMap = new Map();\n for (const plugin of this._plugins) {\n this._pluginStateMap.set(plugin, {});\n }\n this.event.waitUntil(this._handlerDeferred.promise);\n }\n /**\n * Fetches a given request (and invokes any applicable plugin callback\n * methods) using the `fetchOptions` (for non-navigation requests) and\n * `plugins` defined on the `Strategy` object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - `requestWillFetch()`\n * - `fetchDidSucceed()`\n * - `fetchDidFail()`\n *\n * @param {Request|string} input The URL or request to fetch.\n * @return {Promise}\n */\n async fetch(input) {\n const { event } = this;\n let request = toRequest(input);\n if (request.mode === 'navigate' &&\n event instanceof FetchEvent &&\n event.preloadResponse) {\n const possiblePreloadResponse = (await event.preloadResponse);\n if (possiblePreloadResponse) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Using a preloaded navigation response for ` +\n `'${getFriendlyURL(request.url)}'`);\n }\n return possiblePreloadResponse;\n }\n }\n // If there is a fetchDidFail plugin, we need to save a clone of the\n // original request before it's either modified by a requestWillFetch\n // plugin or before the original request's body is consumed via fetch().\n const originalRequest = this.hasCallback('fetchDidFail')\n ? request.clone()\n : null;\n try {\n for (const cb of this.iterateCallbacks('requestWillFetch')) {\n request = await cb({ request: request.clone(), event });\n }\n }\n catch (err) {\n if (err instanceof Error) {\n throw new WorkboxError('plugin-error-request-will-fetch', {\n thrownErrorMessage: err.message,\n });\n }\n }\n // The request can be altered by plugins with `requestWillFetch` making\n // the original request (most likely from a `fetch` event) different\n // from the Request we make. Pass both to `fetchDidFail` to aid debugging.\n const pluginFilteredRequest = request.clone();\n try {\n let fetchResponse;\n // See https://github.com/GoogleChrome/workbox/issues/1796\n fetchResponse = await fetch(request, request.mode === 'navigate' ? undefined : this._strategy.fetchOptions);\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Network request for ` +\n `'${getFriendlyURL(request.url)}' returned a response with ` +\n `status '${fetchResponse.status}'.`);\n }\n for (const callback of this.iterateCallbacks('fetchDidSucceed')) {\n fetchResponse = await callback({\n event,\n request: pluginFilteredRequest,\n response: fetchResponse,\n });\n }\n return fetchResponse;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Network request for ` +\n `'${getFriendlyURL(request.url)}' threw an error.`, error);\n }\n // `originalRequest` will only exist if a `fetchDidFail` callback\n // is being used (see above).\n if (originalRequest) {\n await this.runCallbacks('fetchDidFail', {\n error: error,\n event,\n originalRequest: originalRequest.clone(),\n request: pluginFilteredRequest.clone(),\n });\n }\n throw error;\n }\n }\n /**\n * Calls `this.fetch()` and (in the background) runs `this.cachePut()` on\n * the response generated by `this.fetch()`.\n *\n * The call to `this.cachePut()` automatically invokes `this.waitUntil()`,\n * so you do not have to manually call `waitUntil()` on the event.\n *\n * @param {Request|string} input The request or URL to fetch and cache.\n * @return {Promise}\n */\n async fetchAndCachePut(input) {\n const response = await this.fetch(input);\n const responseClone = response.clone();\n void this.waitUntil(this.cachePut(input, responseClone));\n return response;\n }\n /**\n * Matches a request from the cache (and invokes any applicable plugin\n * callback methods) using the `cacheName`, `matchOptions`, and `plugins`\n * defined on the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillBeUsed()\n * - cachedResponseWillBeUsed()\n *\n * @param {Request|string} key The Request or URL to use as the cache key.\n * @return {Promise} A matching response, if found.\n */\n async cacheMatch(key) {\n const request = toRequest(key);\n let cachedResponse;\n const { cacheName, matchOptions } = this._strategy;\n const effectiveRequest = await this.getCacheKey(request, 'read');\n const multiMatchOptions = Object.assign(Object.assign({}, matchOptions), { cacheName });\n cachedResponse = await caches.match(effectiveRequest, multiMatchOptions);\n if (process.env.NODE_ENV !== 'production') {\n if (cachedResponse) {\n logger.debug(`Found a cached response in '${cacheName}'.`);\n }\n else {\n logger.debug(`No cached response found in '${cacheName}'.`);\n }\n }\n for (const callback of this.iterateCallbacks('cachedResponseWillBeUsed')) {\n cachedResponse =\n (await callback({\n cacheName,\n matchOptions,\n cachedResponse,\n request: effectiveRequest,\n event: this.event,\n })) || undefined;\n }\n return cachedResponse;\n }\n /**\n * Puts a request/response pair in the cache (and invokes any applicable\n * plugin callback methods) using the `cacheName` and `plugins` defined on\n * the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillBeUsed()\n * - cacheWillUpdate()\n * - cacheDidUpdate()\n *\n * @param {Request|string} key The request or URL to use as the cache key.\n * @param {Response} response The response to cache.\n * @return {Promise} `false` if a cacheWillUpdate caused the response\n * not be cached, and `true` otherwise.\n */\n async cachePut(key, response) {\n const request = toRequest(key);\n // Run in the next task to avoid blocking other cache reads.\n // https://github.com/w3c/ServiceWorker/issues/1397\n await timeout(0);\n const effectiveRequest = await this.getCacheKey(request, 'write');\n if (process.env.NODE_ENV !== 'production') {\n if (effectiveRequest.method && effectiveRequest.method !== 'GET') {\n throw new WorkboxError('attempt-to-cache-non-get-request', {\n url: getFriendlyURL(effectiveRequest.url),\n method: effectiveRequest.method,\n });\n }\n // See https://github.com/GoogleChrome/workbox/issues/2818\n const vary = response.headers.get('Vary');\n if (vary) {\n logger.debug(`The response for ${getFriendlyURL(effectiveRequest.url)} ` +\n `has a 'Vary: ${vary}' header. ` +\n `Consider setting the {ignoreVary: true} option on your strategy ` +\n `to ensure cache matching and deletion works as expected.`);\n }\n }\n if (!response) {\n if (process.env.NODE_ENV !== 'production') {\n logger.error(`Cannot cache non-existent response for ` +\n `'${getFriendlyURL(effectiveRequest.url)}'.`);\n }\n throw new WorkboxError('cache-put-with-no-response', {\n url: getFriendlyURL(effectiveRequest.url),\n });\n }\n const responseToCache = await this._ensureResponseSafeToCache(response);\n if (!responseToCache) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Response '${getFriendlyURL(effectiveRequest.url)}' ` +\n `will not be cached.`, responseToCache);\n }\n return false;\n }\n const { cacheName, matchOptions } = this._strategy;\n const cache = await self.caches.open(cacheName);\n const hasCacheUpdateCallback = this.hasCallback('cacheDidUpdate');\n const oldResponse = hasCacheUpdateCallback\n ? await cacheMatchIgnoreParams(\n // TODO(philipwalton): the `__WB_REVISION__` param is a precaching\n // feature. Consider into ways to only add this behavior if using\n // precaching.\n cache, effectiveRequest.clone(), ['__WB_REVISION__'], matchOptions)\n : null;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Updating the '${cacheName}' cache with a new Response ` +\n `for ${getFriendlyURL(effectiveRequest.url)}.`);\n }\n try {\n await cache.put(effectiveRequest, hasCacheUpdateCallback ? responseToCache.clone() : responseToCache);\n }\n catch (error) {\n if (error instanceof Error) {\n // See https://developer.mozilla.org/en-US/docs/Web/API/DOMException#exception-QuotaExceededError\n if (error.name === 'QuotaExceededError') {\n await executeQuotaErrorCallbacks();\n }\n throw error;\n }\n }\n for (const callback of this.iterateCallbacks('cacheDidUpdate')) {\n await callback({\n cacheName,\n oldResponse,\n newResponse: responseToCache.clone(),\n request: effectiveRequest,\n event: this.event,\n });\n }\n return true;\n }\n /**\n * Checks the list of plugins for the `cacheKeyWillBeUsed` callback, and\n * executes any of those callbacks found in sequence. The final `Request`\n * object returned by the last plugin is treated as the cache key for cache\n * reads and/or writes. If no `cacheKeyWillBeUsed` plugin callbacks have\n * been registered, the passed request is returned unmodified\n *\n * @param {Request} request\n * @param {string} mode\n * @return {Promise}\n */\n async getCacheKey(request, mode) {\n const key = `${request.url} | ${mode}`;\n if (!this._cacheKeys[key]) {\n let effectiveRequest = request;\n for (const callback of this.iterateCallbacks('cacheKeyWillBeUsed')) {\n effectiveRequest = toRequest(await callback({\n mode,\n request: effectiveRequest,\n event: this.event,\n // params has a type any can't change right now.\n params: this.params, // eslint-disable-line\n }));\n }\n this._cacheKeys[key] = effectiveRequest;\n }\n return this._cacheKeys[key];\n }\n /**\n * Returns true if the strategy has at least one plugin with the given\n * callback.\n *\n * @param {string} name The name of the callback to check for.\n * @return {boolean}\n */\n hasCallback(name) {\n for (const plugin of this._strategy.plugins) {\n if (name in plugin) {\n return true;\n }\n }\n return false;\n }\n /**\n * Runs all plugin callbacks matching the given name, in order, passing the\n * given param object (merged ith the current plugin state) as the only\n * argument.\n *\n * Note: since this method runs all plugins, it's not suitable for cases\n * where the return value of a callback needs to be applied prior to calling\n * the next callback. See\n * {@link workbox-strategies.StrategyHandler#iterateCallbacks}\n * below for how to handle that case.\n *\n * @param {string} name The name of the callback to run within each plugin.\n * @param {Object} param The object to pass as the first (and only) param\n * when executing each callback. This object will be merged with the\n * current plugin state prior to callback execution.\n */\n async runCallbacks(name, param) {\n for (const callback of this.iterateCallbacks(name)) {\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n await callback(param);\n }\n }\n /**\n * Accepts a callback and returns an iterable of matching plugin callbacks,\n * where each callback is wrapped with the current handler state (i.e. when\n * you call each callback, whatever object parameter you pass it will\n * be merged with the plugin's current state).\n *\n * @param {string} name The name fo the callback to run\n * @return {Array}\n */\n *iterateCallbacks(name) {\n for (const plugin of this._strategy.plugins) {\n if (typeof plugin[name] === 'function') {\n const state = this._pluginStateMap.get(plugin);\n const statefulCallback = (param) => {\n const statefulParam = Object.assign(Object.assign({}, param), { state });\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n return plugin[name](statefulParam);\n };\n yield statefulCallback;\n }\n }\n }\n /**\n * Adds a promise to the\n * [extend lifetime promises]{@link https://w3c.github.io/ServiceWorker/#extendableevent-extend-lifetime-promises}\n * of the event event associated with the request being handled (usually a\n * `FetchEvent`).\n *\n * Note: you can await\n * {@link workbox-strategies.StrategyHandler~doneWaiting}\n * to know when all added promises have settled.\n *\n * @param {Promise} promise A promise to add to the extend lifetime promises\n * of the event that triggered the request.\n */\n waitUntil(promise) {\n this._extendLifetimePromises.push(promise);\n return promise;\n }\n /**\n * Returns a promise that resolves once all promises passed to\n * {@link workbox-strategies.StrategyHandler~waitUntil}\n * have settled.\n *\n * Note: any work done after `doneWaiting()` settles should be manually\n * passed to an event's `waitUntil()` method (not this handler's\n * `waitUntil()` method), otherwise the service worker thread my be killed\n * prior to your work completing.\n */\n async doneWaiting() {\n let promise;\n while ((promise = this._extendLifetimePromises.shift())) {\n await promise;\n }\n }\n /**\n * Stops running the strategy and immediately resolves any pending\n * `waitUntil()` promises.\n */\n destroy() {\n this._handlerDeferred.resolve(null);\n }\n /**\n * This method will call cacheWillUpdate on the available plugins (or use\n * status === 200) to determine if the Response is safe and valid to cache.\n *\n * @param {Request} options.request\n * @param {Response} options.response\n * @return {Promise}\n *\n * @private\n */\n async _ensureResponseSafeToCache(response) {\n let responseToCache = response;\n let pluginsUsed = false;\n for (const callback of this.iterateCallbacks('cacheWillUpdate')) {\n responseToCache =\n (await callback({\n request: this.request,\n response: responseToCache,\n event: this.event,\n })) || undefined;\n pluginsUsed = true;\n if (!responseToCache) {\n break;\n }\n }\n if (!pluginsUsed) {\n if (responseToCache && responseToCache.status !== 200) {\n responseToCache = undefined;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (responseToCache) {\n if (responseToCache.status !== 200) {\n if (responseToCache.status === 0) {\n logger.warn(`The response for '${this.request.url}' ` +\n `is an opaque response. The caching strategy that you're ` +\n `using will not cache opaque responses by default.`);\n }\n else {\n logger.debug(`The response for '${this.request.url}' ` +\n `returned a status code of '${response.status}' and won't ` +\n `be cached as a result.`);\n }\n }\n }\n }\n }\n return responseToCache;\n }\n}\nexport { StrategyHandler };\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Returns a promise that resolves and the passed number of milliseconds.\n * This utility is an async/await-friendly version of `setTimeout`.\n *\n * @param {number} ms\n * @return {Promise}\n * @private\n */\nexport function timeout(ms) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst getFriendlyURL = (url) => {\n const urlObj = new URL(String(url), location.href);\n // See https://github.com/GoogleChrome/workbox/issues/2323\n // We want to include everything, except for the origin if it's same-origin.\n return urlObj.href.replace(new RegExp(`^${location.origin}`), '');\n};\nexport { getFriendlyURL };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from '../_private/logger.js';\nimport { quotaErrorCallbacks } from '../models/quotaErrorCallbacks.js';\nimport '../_version.js';\n/**\n * Runs all of the callback functions, one at a time sequentially, in the order\n * in which they were registered.\n *\n * @memberof workbox-core\n * @private\n */\nasync function executeQuotaErrorCallbacks() {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`About to run ${quotaErrorCallbacks.size} ` +\n `callbacks to clean up caches.`);\n }\n for (const callback of quotaErrorCallbacks) {\n await callback();\n if (process.env.NODE_ENV !== 'production') {\n logger.log(callback, 'is complete.');\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.log('Finished running callbacks.');\n }\n}\nexport { executeQuotaErrorCallbacks };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { StrategyHandler } from './StrategyHandler.js';\nimport './_version.js';\n/**\n * An abstract base class that all other strategy classes must extend from:\n *\n * @memberof workbox-strategies\n */\nclass Strategy {\n /**\n * Creates a new instance of the strategy and sets all documented option\n * properties as public instance properties.\n *\n * Note: if a custom strategy class extends the base Strategy class and does\n * not need more than these properties, it does not need to define its own\n * constructor.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters)\n * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796)\n * `fetch()` requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n */\n constructor(options = {}) {\n /**\n * Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n *\n * @type {string}\n */\n this.cacheName = cacheNames.getRuntimeName(options.cacheName);\n /**\n * The list\n * [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * used by this strategy.\n *\n * @type {Array}\n */\n this.plugins = options.plugins || [];\n /**\n * Values passed along to the\n * [`init`]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters}\n * of all fetch() requests made by this strategy.\n *\n * @type {Object}\n */\n this.fetchOptions = options.fetchOptions;\n /**\n * The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n *\n * @type {Object}\n */\n this.matchOptions = options.matchOptions;\n }\n /**\n * Perform a request strategy and returns a `Promise` that will resolve with\n * a `Response`, invoking all relevant plugin callbacks.\n *\n * When a strategy instance is registered with a Workbox\n * {@link workbox-routing.Route}, this method is automatically\n * called when the route matches.\n *\n * Alternatively, this method can be used in a standalone `FetchEvent`\n * listener by passing it to `event.respondWith()`.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n */\n handle(options) {\n const [responseDone] = this.handleAll(options);\n return responseDone;\n }\n /**\n * Similar to {@link workbox-strategies.Strategy~handle}, but\n * instead of just returning a `Promise` that resolves to a `Response` it\n * it will return an tuple of `[response, done]` promises, where the former\n * (`response`) is equivalent to what `handle()` returns, and the latter is a\n * Promise that will resolve once any promises that were added to\n * `event.waitUntil()` as part of performing the strategy have completed.\n *\n * You can await the `done` promise to ensure any extra work performed by\n * the strategy (usually caching responses) completes successfully.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n * @return {Array} A tuple of [response, done]\n * promises that can be used to determine when the response resolves as\n * well as when the handler has completed all its work.\n */\n handleAll(options) {\n // Allow for flexible options to be passed.\n if (options instanceof FetchEvent) {\n options = {\n event: options,\n request: options.request,\n };\n }\n const event = options.event;\n const request = typeof options.request === 'string'\n ? new Request(options.request)\n : options.request;\n const params = 'params' in options ? options.params : undefined;\n const handler = new StrategyHandler(this, { event, request, params });\n const responseDone = this._getResponse(handler, request, event);\n const handlerDone = this._awaitComplete(responseDone, handler, request, event);\n // Return an array of promises, suitable for use with Promise.all().\n return [responseDone, handlerDone];\n }\n async _getResponse(handler, request, event) {\n await handler.runCallbacks('handlerWillStart', { event, request });\n let response = undefined;\n try {\n response = await this._handle(request, handler);\n // The \"official\" Strategy subclasses all throw this error automatically,\n // but in case a third-party Strategy doesn't, ensure that we have a\n // consistent failure when there's no response or an error response.\n if (!response || response.type === 'error') {\n throw new WorkboxError('no-response', { url: request.url });\n }\n }\n catch (error) {\n if (error instanceof Error) {\n for (const callback of handler.iterateCallbacks('handlerDidError')) {\n response = await callback({ error, event, request });\n if (response) {\n break;\n }\n }\n }\n if (!response) {\n throw error;\n }\n else if (process.env.NODE_ENV !== 'production') {\n logger.log(`While responding to '${getFriendlyURL(request.url)}', ` +\n `an ${error instanceof Error ? error.toString() : ''} error occurred. Using a fallback response provided by ` +\n `a handlerDidError plugin.`);\n }\n }\n for (const callback of handler.iterateCallbacks('handlerWillRespond')) {\n response = await callback({ event, request, response });\n }\n return response;\n }\n async _awaitComplete(responseDone, handler, request, event) {\n let response;\n let error;\n try {\n response = await responseDone;\n }\n catch (error) {\n // Ignore errors, as response errors should be caught via the `response`\n // promise above. The `done` promise will only throw for errors in\n // promises passed to `handler.waitUntil()`.\n }\n try {\n await handler.runCallbacks('handlerDidRespond', {\n event,\n request,\n response,\n });\n await handler.doneWaiting();\n }\n catch (waitUntilError) {\n if (waitUntilError instanceof Error) {\n error = waitUntilError;\n }\n }\n await handler.runCallbacks('handlerDidComplete', {\n event,\n request,\n response,\n error: error,\n });\n handler.destroy();\n if (error) {\n throw error;\n }\n }\n}\nexport { Strategy };\n/**\n * Classes extending the `Strategy` based class should implement this method,\n * and leverage the {@link workbox-strategies.StrategyHandler}\n * arg to perform all fetching and cache logic, which will ensure all relevant\n * cache, cache options, fetch options and plugins are used (per the current\n * strategy instance).\n *\n * @name _handle\n * @instance\n * @abstract\n * @function\n * @param {Request} request\n * @param {workbox-strategies.StrategyHandler} handler\n * @return {Promise}\n *\n * @memberof workbox-strategies.Strategy\n */\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { copyResponse } from 'workbox-core/copyResponse.js';\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Strategy } from 'workbox-strategies/Strategy.js';\nimport './_version.js';\n/**\n * A {@link workbox-strategies.Strategy} implementation\n * specifically designed to work with\n * {@link workbox-precaching.PrecacheController}\n * to both cache and fetch precached assets.\n *\n * Note: an instance of this class is created automatically when creating a\n * `PrecacheController`; it's generally not necessary to create this yourself.\n *\n * @extends workbox-strategies.Strategy\n * @memberof workbox-precaching\n */\nclass PrecacheStrategy extends Strategy {\n /**\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] {@link https://developers.google.com/web/tools/workbox/guides/using-plugins|Plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters|init}\n * of all fetch() requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * {@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions|CacheQueryOptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to\n * get the response from the network if there's a precache miss.\n */\n constructor(options = {}) {\n options.cacheName = cacheNames.getPrecacheName(options.cacheName);\n super(options);\n this._fallbackToNetwork =\n options.fallbackToNetwork === false ? false : true;\n // Redirected responses cannot be used to satisfy a navigation request, so\n // any redirected response must be \"copied\" rather than cloned, so the new\n // response doesn't contain the `redirected` flag. See:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=669363&desc=2#c1\n this.plugins.push(PrecacheStrategy.copyRedirectedCacheableResponsesPlugin);\n }\n /**\n * @private\n * @param {Request|string} request A request to run this strategy for.\n * @param {workbox-strategies.StrategyHandler} handler The event that\n * triggered the request.\n * @return {Promise}\n */\n async _handle(request, handler) {\n const response = await handler.cacheMatch(request);\n if (response) {\n return response;\n }\n // If this is an `install` event for an entry that isn't already cached,\n // then populate the cache.\n if (handler.event && handler.event.type === 'install') {\n return await this._handleInstall(request, handler);\n }\n // Getting here means something went wrong. An entry that should have been\n // precached wasn't found in the cache.\n return await this._handleFetch(request, handler);\n }\n async _handleFetch(request, handler) {\n let response;\n const params = (handler.params || {});\n // Fall back to the network if we're configured to do so.\n if (this._fallbackToNetwork) {\n if (process.env.NODE_ENV !== 'production') {\n logger.warn(`The precached response for ` +\n `${getFriendlyURL(request.url)} in ${this.cacheName} was not ` +\n `found. Falling back to the network.`);\n }\n const integrityInManifest = params.integrity;\n const integrityInRequest = request.integrity;\n const noIntegrityConflict = !integrityInRequest || integrityInRequest === integrityInManifest;\n // Do not add integrity if the original request is no-cors\n // See https://github.com/GoogleChrome/workbox/issues/3096\n response = await handler.fetch(new Request(request, {\n integrity: request.mode !== 'no-cors'\n ? integrityInRequest || integrityInManifest\n : undefined,\n }));\n // It's only \"safe\" to repair the cache if we're using SRI to guarantee\n // that the response matches the precache manifest's expectations,\n // and there's either a) no integrity property in the incoming request\n // or b) there is an integrity, and it matches the precache manifest.\n // See https://github.com/GoogleChrome/workbox/issues/2858\n // Also if the original request users no-cors we don't use integrity.\n // See https://github.com/GoogleChrome/workbox/issues/3096\n if (integrityInManifest &&\n noIntegrityConflict &&\n request.mode !== 'no-cors') {\n this._useDefaultCacheabilityPluginIfNeeded();\n const wasCached = await handler.cachePut(request, response.clone());\n if (process.env.NODE_ENV !== 'production') {\n if (wasCached) {\n logger.log(`A response for ${getFriendlyURL(request.url)} ` +\n `was used to \"repair\" the precache.`);\n }\n }\n }\n }\n else {\n // This shouldn't normally happen, but there are edge cases:\n // https://github.com/GoogleChrome/workbox/issues/1441\n throw new WorkboxError('missing-precache-entry', {\n cacheName: this.cacheName,\n url: request.url,\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n const cacheKey = params.cacheKey || (await handler.getCacheKey(request, 'read'));\n // Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Precaching is responding to: ` + getFriendlyURL(request.url));\n logger.log(`Serving the precached url: ${getFriendlyURL(cacheKey instanceof Request ? cacheKey.url : cacheKey)}`);\n logger.groupCollapsed(`View request details here.`);\n logger.log(request);\n logger.groupEnd();\n logger.groupCollapsed(`View response details here.`);\n logger.log(response);\n logger.groupEnd();\n logger.groupEnd();\n }\n return response;\n }\n async _handleInstall(request, handler) {\n this._useDefaultCacheabilityPluginIfNeeded();\n const response = await handler.fetch(request);\n // Make sure we defer cachePut() until after we know the response\n // should be cached; see https://github.com/GoogleChrome/workbox/issues/2737\n const wasCached = await handler.cachePut(request, response.clone());\n if (!wasCached) {\n // Throwing here will lead to the `install` handler failing, which\n // we want to do if *any* of the responses aren't safe to cache.\n throw new WorkboxError('bad-precaching-response', {\n url: request.url,\n status: response.status,\n });\n }\n return response;\n }\n /**\n * This method is complex, as there a number of things to account for:\n *\n * The `plugins` array can be set at construction, and/or it might be added to\n * to at any time before the strategy is used.\n *\n * At the time the strategy is used (i.e. during an `install` event), there\n * needs to be at least one plugin that implements `cacheWillUpdate` in the\n * array, other than `copyRedirectedCacheableResponsesPlugin`.\n *\n * - If this method is called and there are no suitable `cacheWillUpdate`\n * plugins, we need to add `defaultPrecacheCacheabilityPlugin`.\n *\n * - If this method is called and there is exactly one `cacheWillUpdate`, then\n * we don't have to do anything (this might be a previously added\n * `defaultPrecacheCacheabilityPlugin`, or it might be a custom plugin).\n *\n * - If this method is called and there is more than one `cacheWillUpdate`,\n * then we need to check if one is `defaultPrecacheCacheabilityPlugin`. If so,\n * we need to remove it. (This situation is unlikely, but it could happen if\n * the strategy is used multiple times, the first without a `cacheWillUpdate`,\n * and then later on after manually adding a custom `cacheWillUpdate`.)\n *\n * See https://github.com/GoogleChrome/workbox/issues/2737 for more context.\n *\n * @private\n */\n _useDefaultCacheabilityPluginIfNeeded() {\n let defaultPluginIndex = null;\n let cacheWillUpdatePluginCount = 0;\n for (const [index, plugin] of this.plugins.entries()) {\n // Ignore the copy redirected plugin when determining what to do.\n if (plugin === PrecacheStrategy.copyRedirectedCacheableResponsesPlugin) {\n continue;\n }\n // Save the default plugin's index, in case it needs to be removed.\n if (plugin === PrecacheStrategy.defaultPrecacheCacheabilityPlugin) {\n defaultPluginIndex = index;\n }\n if (plugin.cacheWillUpdate) {\n cacheWillUpdatePluginCount++;\n }\n }\n if (cacheWillUpdatePluginCount === 0) {\n this.plugins.push(PrecacheStrategy.defaultPrecacheCacheabilityPlugin);\n }\n else if (cacheWillUpdatePluginCount > 1 && defaultPluginIndex !== null) {\n // Only remove the default plugin; multiple custom plugins are allowed.\n this.plugins.splice(defaultPluginIndex, 1);\n }\n // Nothing needs to be done if cacheWillUpdatePluginCount is 1\n }\n}\nPrecacheStrategy.defaultPrecacheCacheabilityPlugin = {\n async cacheWillUpdate({ response }) {\n if (!response || response.status >= 400) {\n return null;\n }\n return response;\n },\n};\nPrecacheStrategy.copyRedirectedCacheableResponsesPlugin = {\n async cacheWillUpdate({ response }) {\n return response.redirected ? await copyResponse(response) : response;\n },\n};\nexport { PrecacheStrategy };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { waitUntil } from 'workbox-core/_private/waitUntil.js';\nimport { createCacheKey } from './utils/createCacheKey.js';\nimport { PrecacheInstallReportPlugin } from './utils/PrecacheInstallReportPlugin.js';\nimport { PrecacheCacheKeyPlugin } from './utils/PrecacheCacheKeyPlugin.js';\nimport { printCleanupDetails } from './utils/printCleanupDetails.js';\nimport { printInstallDetails } from './utils/printInstallDetails.js';\nimport { PrecacheStrategy } from './PrecacheStrategy.js';\nimport './_version.js';\n/**\n * Performs efficient precaching of assets.\n *\n * @memberof workbox-precaching\n */\nclass PrecacheController {\n /**\n * Create a new PrecacheController.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] The cache to use for precaching.\n * @param {string} [options.plugins] Plugins to use when precaching as well\n * as responding to fetch events for precached assets.\n * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to\n * get the response from the network if there's a precache miss.\n */\n constructor({ cacheName, plugins = [], fallbackToNetwork = true, } = {}) {\n this._urlsToCacheKeys = new Map();\n this._urlsToCacheModes = new Map();\n this._cacheKeysToIntegrities = new Map();\n this._strategy = new PrecacheStrategy({\n cacheName: cacheNames.getPrecacheName(cacheName),\n plugins: [\n ...plugins,\n new PrecacheCacheKeyPlugin({ precacheController: this }),\n ],\n fallbackToNetwork,\n });\n // Bind the install and activate methods to the instance.\n this.install = this.install.bind(this);\n this.activate = this.activate.bind(this);\n }\n /**\n * @type {workbox-precaching.PrecacheStrategy} The strategy created by this controller and\n * used to cache assets and respond to fetch events.\n */\n get strategy() {\n return this._strategy;\n }\n /**\n * Adds items to the precache list, removing any duplicates and\n * stores the files in the\n * {@link workbox-core.cacheNames|\"precache cache\"} when the service\n * worker installs.\n *\n * This method can be called multiple times.\n *\n * @param {Array} [entries=[]] Array of entries to precache.\n */\n precache(entries) {\n this.addToCacheList(entries);\n if (!this._installAndActiveListenersAdded) {\n self.addEventListener('install', this.install);\n self.addEventListener('activate', this.activate);\n this._installAndActiveListenersAdded = true;\n }\n }\n /**\n * This method will add items to the precache list, removing duplicates\n * and ensuring the information is valid.\n *\n * @param {Array} entries\n * Array of entries to precache.\n */\n addToCacheList(entries) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isArray(entries, {\n moduleName: 'workbox-precaching',\n className: 'PrecacheController',\n funcName: 'addToCacheList',\n paramName: 'entries',\n });\n }\n const urlsToWarnAbout = [];\n for (const entry of entries) {\n // See https://github.com/GoogleChrome/workbox/issues/2259\n if (typeof entry === 'string') {\n urlsToWarnAbout.push(entry);\n }\n else if (entry && entry.revision === undefined) {\n urlsToWarnAbout.push(entry.url);\n }\n const { cacheKey, url } = createCacheKey(entry);\n const cacheMode = typeof entry !== 'string' && entry.revision ? 'reload' : 'default';\n if (this._urlsToCacheKeys.has(url) &&\n this._urlsToCacheKeys.get(url) !== cacheKey) {\n throw new WorkboxError('add-to-cache-list-conflicting-entries', {\n firstEntry: this._urlsToCacheKeys.get(url),\n secondEntry: cacheKey,\n });\n }\n if (typeof entry !== 'string' && entry.integrity) {\n if (this._cacheKeysToIntegrities.has(cacheKey) &&\n this._cacheKeysToIntegrities.get(cacheKey) !== entry.integrity) {\n throw new WorkboxError('add-to-cache-list-conflicting-integrities', {\n url,\n });\n }\n this._cacheKeysToIntegrities.set(cacheKey, entry.integrity);\n }\n this._urlsToCacheKeys.set(url, cacheKey);\n this._urlsToCacheModes.set(url, cacheMode);\n if (urlsToWarnAbout.length > 0) {\n const warningMessage = `Workbox is precaching URLs without revision ` +\n `info: ${urlsToWarnAbout.join(', ')}\\nThis is generally NOT safe. ` +\n `Learn more at https://bit.ly/wb-precache`;\n if (process.env.NODE_ENV === 'production') {\n // Use console directly to display this warning without bloating\n // bundle sizes by pulling in all of the logger codebase in prod.\n console.warn(warningMessage);\n }\n else {\n logger.warn(warningMessage);\n }\n }\n }\n }\n /**\n * Precaches new and updated assets. Call this method from the service worker\n * install event.\n *\n * Note: this method calls `event.waitUntil()` for you, so you do not need\n * to call it yourself in your event handlers.\n *\n * @param {ExtendableEvent} event\n * @return {Promise}\n */\n install(event) {\n // waitUntil returns Promise\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return waitUntil(event, async () => {\n const installReportPlugin = new PrecacheInstallReportPlugin();\n this.strategy.plugins.push(installReportPlugin);\n // Cache entries one at a time.\n // See https://github.com/GoogleChrome/workbox/issues/2528\n for (const [url, cacheKey] of this._urlsToCacheKeys) {\n const integrity = this._cacheKeysToIntegrities.get(cacheKey);\n const cacheMode = this._urlsToCacheModes.get(url);\n const request = new Request(url, {\n integrity,\n cache: cacheMode,\n credentials: 'same-origin',\n });\n await Promise.all(this.strategy.handleAll({\n params: { cacheKey },\n request,\n event,\n }));\n }\n const { updatedURLs, notUpdatedURLs } = installReportPlugin;\n if (process.env.NODE_ENV !== 'production') {\n printInstallDetails(updatedURLs, notUpdatedURLs);\n }\n return { updatedURLs, notUpdatedURLs };\n });\n }\n /**\n * Deletes assets that are no longer present in the current precache manifest.\n * Call this method from the service worker activate event.\n *\n * Note: this method calls `event.waitUntil()` for you, so you do not need\n * to call it yourself in your event handlers.\n *\n * @param {ExtendableEvent} event\n * @return {Promise}\n */\n activate(event) {\n // waitUntil returns Promise\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return waitUntil(event, async () => {\n const cache = await self.caches.open(this.strategy.cacheName);\n const currentlyCachedRequests = await cache.keys();\n const expectedCacheKeys = new Set(this._urlsToCacheKeys.values());\n const deletedURLs = [];\n for (const request of currentlyCachedRequests) {\n if (!expectedCacheKeys.has(request.url)) {\n await cache.delete(request);\n deletedURLs.push(request.url);\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n printCleanupDetails(deletedURLs);\n }\n return { deletedURLs };\n });\n }\n /**\n * Returns a mapping of a precached URL to the corresponding cache key, taking\n * into account the revision information for the URL.\n *\n * @return {Map} A URL to cache key mapping.\n */\n getURLsToCacheKeys() {\n return this._urlsToCacheKeys;\n }\n /**\n * Returns a list of all the URLs that have been precached by the current\n * service worker.\n *\n * @return {Array} The precached URLs.\n */\n getCachedURLs() {\n return [...this._urlsToCacheKeys.keys()];\n }\n /**\n * Returns the cache key used for storing a given URL. If that URL is\n * unversioned, like `/index.html', then the cache key will be the original\n * URL with a search parameter appended to it.\n *\n * @param {string} url A URL whose cache key you want to look up.\n * @return {string} The versioned URL that corresponds to a cache key\n * for the original URL, or undefined if that URL isn't precached.\n */\n getCacheKeyForURL(url) {\n const urlObject = new URL(url, location.href);\n return this._urlsToCacheKeys.get(urlObject.href);\n }\n /**\n * @param {string} url A cache key whose SRI you want to look up.\n * @return {string} The subresource integrity associated with the cache key,\n * or undefined if it's not set.\n */\n getIntegrityForCacheKey(cacheKey) {\n return this._cacheKeysToIntegrities.get(cacheKey);\n }\n /**\n * This acts as a drop-in replacement for\n * [`cache.match()`](https://developer.mozilla.org/en-US/docs/Web/API/Cache/match)\n * with the following differences:\n *\n * - It knows what the name of the precache is, and only checks in that cache.\n * - It allows you to pass in an \"original\" URL without versioning parameters,\n * and it will automatically look up the correct cache key for the currently\n * active revision of that URL.\n *\n * E.g., `matchPrecache('index.html')` will find the correct precached\n * response for the currently active service worker, even if the actual cache\n * key is `'/index.html?__WB_REVISION__=1234abcd'`.\n *\n * @param {string|Request} request The key (without revisioning parameters)\n * to look up in the precache.\n * @return {Promise}\n */\n async matchPrecache(request) {\n const url = request instanceof Request ? request.url : request;\n const cacheKey = this.getCacheKeyForURL(url);\n if (cacheKey) {\n const cache = await self.caches.open(this.strategy.cacheName);\n return cache.match(cacheKey);\n }\n return undefined;\n }\n /**\n * Returns a function that looks up `url` in the precache (taking into\n * account revision information), and returns the corresponding `Response`.\n *\n * @param {string} url The precached URL which will be used to lookup the\n * `Response`.\n * @return {workbox-routing~handlerCallback}\n */\n createHandlerBoundToURL(url) {\n const cacheKey = this.getCacheKeyForURL(url);\n if (!cacheKey) {\n throw new WorkboxError('non-precached-url', { url });\n }\n return (options) => {\n options.request = new Request(url);\n options.params = Object.assign({ cacheKey }, options.params);\n return this.strategy.handle(options);\n };\n }\n}\nexport { PrecacheController };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { PrecacheController } from '../PrecacheController.js';\nimport '../_version.js';\nlet precacheController;\n/**\n * @return {PrecacheController}\n * @private\n */\nexport const getOrCreatePrecacheController = () => {\n if (!precacheController) {\n precacheController = new PrecacheController();\n }\n return precacheController;\n};\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { Route } from 'workbox-routing/Route.js';\nimport { generateURLVariations } from './utils/generateURLVariations.js';\nimport './_version.js';\n/**\n * A subclass of {@link workbox-routing.Route} that takes a\n * {@link workbox-precaching.PrecacheController}\n * instance and uses it to match incoming requests and handle fetching\n * responses from the precache.\n *\n * @memberof workbox-precaching\n * @extends workbox-routing.Route\n */\nclass PrecacheRoute extends Route {\n /**\n * @param {PrecacheController} precacheController A `PrecacheController`\n * instance used to both match requests and respond to fetch events.\n * @param {Object} [options] Options to control how requests are matched\n * against the list of precached URLs.\n * @param {string} [options.directoryIndex=index.html] The `directoryIndex` will\n * check cache entries for a URLs ending with '/' to see if there is a hit when\n * appending the `directoryIndex` value.\n * @param {Array} [options.ignoreURLParametersMatching=[/^utm_/, /^fbclid$/]] An\n * array of regex's to remove search params when looking for a cache match.\n * @param {boolean} [options.cleanURLs=true] The `cleanURLs` option will\n * check the cache for the URL with a `.html` added to the end of the end.\n * @param {workbox-precaching~urlManipulation} [options.urlManipulation]\n * This is a function that should take a URL and return an array of\n * alternative URLs that should be checked for precache matches.\n */\n constructor(precacheController, options) {\n const match = ({ request, }) => {\n const urlsToCacheKeys = precacheController.getURLsToCacheKeys();\n for (const possibleURL of generateURLVariations(request.url, options)) {\n const cacheKey = urlsToCacheKeys.get(possibleURL);\n if (cacheKey) {\n const integrity = precacheController.getIntegrityForCacheKey(cacheKey);\n return { cacheKey, integrity };\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Precaching did not find a match for ` + getFriendlyURL(request.url));\n }\n return;\n };\n super(match, precacheController.strategy);\n }\n}\nexport { PrecacheRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { removeIgnoredSearchParams } from './removeIgnoredSearchParams.js';\nimport '../_version.js';\n/**\n * Generator function that yields possible variations on the original URL to\n * check, one at a time.\n *\n * @param {string} url\n * @param {Object} options\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function* generateURLVariations(url, { ignoreURLParametersMatching = [/^utm_/, /^fbclid$/], directoryIndex = 'index.html', cleanURLs = true, urlManipulation, } = {}) {\n const urlObject = new URL(url, location.href);\n urlObject.hash = '';\n yield urlObject.href;\n const urlWithoutIgnoredParams = removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching);\n yield urlWithoutIgnoredParams.href;\n if (directoryIndex && urlWithoutIgnoredParams.pathname.endsWith('/')) {\n const directoryURL = new URL(urlWithoutIgnoredParams.href);\n directoryURL.pathname += directoryIndex;\n yield directoryURL.href;\n }\n if (cleanURLs) {\n const cleanURL = new URL(urlWithoutIgnoredParams.href);\n cleanURL.pathname += '.html';\n yield cleanURL.href;\n }\n if (urlManipulation) {\n const additionalURLs = urlManipulation({ url: urlObject });\n for (const urlToAttempt of additionalURLs) {\n yield urlToAttempt.href;\n }\n }\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Removes any URL search parameters that should be ignored.\n *\n * @param {URL} urlObject The original URL.\n * @param {Array} ignoreURLParametersMatching RegExps to test against\n * each search parameter name. Matches mean that the search parameter should be\n * ignored.\n * @return {URL} The URL with any ignored search parameters removed.\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching = []) {\n // Convert the iterable into an array at the start of the loop to make sure\n // deletion doesn't mess up iteration.\n for (const paramName of [...urlObject.searchParams.keys()]) {\n if (ignoreURLParametersMatching.some((regExp) => regExp.test(paramName))) {\n urlObject.searchParams.delete(paramName);\n }\n }\n return urlObject;\n}\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { registerRoute } from 'workbox-routing/registerRoute.js';\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport { PrecacheRoute } from './PrecacheRoute.js';\nimport './_version.js';\n/**\n * Add a `fetch` listener to the service worker that will\n * respond to\n * [network requests]{@link https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers#Custom_responses_to_requests}\n * with precached assets.\n *\n * Requests for assets that aren't precached, the `FetchEvent` will not be\n * responded to, allowing the event to fall through to other `fetch` event\n * listeners.\n *\n * @param {Object} [options] See the {@link workbox-precaching.PrecacheRoute}\n * options.\n *\n * @memberof workbox-precaching\n */\nfunction addRoute(options) {\n const precacheController = getOrCreatePrecacheController();\n const precacheRoute = new PrecacheRoute(precacheController, options);\n registerRoute(precacheRoute);\n}\nexport { addRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Route } from './Route.js';\nimport { RegExpRoute } from './RegExpRoute.js';\nimport { getOrCreateDefaultRouter } from './utils/getOrCreateDefaultRouter.js';\nimport './_version.js';\n/**\n * Easily register a RegExp, string, or function with a caching\n * strategy to a singleton Router instance.\n *\n * This method will generate a Route for you if needed and\n * call {@link workbox-routing.Router#registerRoute}.\n *\n * @param {RegExp|string|workbox-routing.Route~matchCallback|workbox-routing.Route} capture\n * If the capture param is a `Route`, all other arguments will be ignored.\n * @param {workbox-routing~handlerCallback} [handler] A callback\n * function that returns a Promise resulting in a Response. This parameter\n * is required if `capture` is not a `Route` object.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n * @return {workbox-routing.Route} The generated `Route`.\n *\n * @memberof workbox-routing\n */\nfunction registerRoute(capture, handler, method) {\n let route;\n if (typeof capture === 'string') {\n const captureUrl = new URL(capture, location.href);\n if (process.env.NODE_ENV !== 'production') {\n if (!(capture.startsWith('/') || capture.startsWith('http'))) {\n throw new WorkboxError('invalid-string', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n // We want to check if Express-style wildcards are in the pathname only.\n // TODO: Remove this log message in v4.\n const valueToCheck = capture.startsWith('http')\n ? captureUrl.pathname\n : capture;\n // See https://github.com/pillarjs/path-to-regexp#parameters\n const wildcards = '[*:?+]';\n if (new RegExp(`${wildcards}`).exec(valueToCheck)) {\n logger.debug(`The '$capture' parameter contains an Express-style wildcard ` +\n `character (${wildcards}). Strings are now always interpreted as ` +\n `exact matches; use a RegExp for partial or wildcard matches.`);\n }\n }\n const matchCallback = ({ url }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (url.pathname === captureUrl.pathname &&\n url.origin !== captureUrl.origin) {\n logger.debug(`${capture} only partially matches the cross-origin URL ` +\n `${url.toString()}. This route will only handle cross-origin requests ` +\n `if they match the entire URL.`);\n }\n }\n return url.href === captureUrl.href;\n };\n // If `capture` is a string then `handler` and `method` must be present.\n route = new Route(matchCallback, handler, method);\n }\n else if (capture instanceof RegExp) {\n // If `capture` is a `RegExp` then `handler` and `method` must be present.\n route = new RegExpRoute(capture, handler, method);\n }\n else if (typeof capture === 'function') {\n // If `capture` is a function then `handler` and `method` must be present.\n route = new Route(capture, handler, method);\n }\n else if (capture instanceof Route) {\n route = capture;\n }\n else {\n throw new WorkboxError('unsupported-route-type', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n const defaultRouter = getOrCreateDefaultRouter();\n defaultRouter.registerRoute(route);\n return route;\n}\nexport { registerRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport './_version.js';\n/**\n * Claim any currently available clients once the service worker\n * becomes active. This is normally used in conjunction with `skipWaiting()`.\n *\n * @memberof workbox-core\n */\nfunction clientsClaim() {\n self.addEventListener('activate', () => self.clients.claim());\n}\nexport { clientsClaim };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { addRoute } from './addRoute.js';\nimport { precache } from './precache.js';\nimport './_version.js';\n/**\n * This method will add entries to the precache list and add a route to\n * respond to fetch events.\n *\n * This is a convenience method that will call\n * {@link workbox-precaching.precache} and\n * {@link workbox-precaching.addRoute} in a single call.\n *\n * @param {Array} entries Array of entries to precache.\n * @param {Object} [options] See the\n * {@link workbox-precaching.PrecacheRoute} options.\n *\n * @memberof workbox-precaching\n */\nfunction precacheAndRoute(entries, options) {\n precache(entries);\n addRoute(options);\n}\nexport { precacheAndRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport './_version.js';\n/**\n * Adds items to the precache list, removing any duplicates and\n * stores the files in the\n * {@link workbox-core.cacheNames|\"precache cache\"} when the service\n * worker installs.\n *\n * This method can be called multiple times.\n *\n * Please note: This method **will not** serve any of the cached files for you.\n * It only precaches files. To respond to a network request you call\n * {@link workbox-precaching.addRoute}.\n *\n * If you have a single array of files to precache, you can just call\n * {@link workbox-precaching.precacheAndRoute}.\n *\n * @param {Array} [entries=[]] Array of entries to precache.\n *\n * @memberof workbox-precaching\n */\nfunction precache(entries) {\n const precacheController = getOrCreatePrecacheController();\n precacheController.precache(entries);\n}\nexport { precache };\n"],"names":["self","_","e","messageGenerator","fallback","code","args","msg","length","JSON","stringify","WorkboxError","Error","constructor","errorCode","details","super","this","name","normalizeHandler","handler","handle","Route","match","method","setCatchHandler","catchHandler","RegExpRoute","regExp","url","result","exec","href","origin","location","index","slice","Router","_routes","Map","_defaultHandlerMap","routes","addFetchListener","addEventListener","event","request","responsePromise","handleRequest","respondWith","addCacheListener","data","type","payload","requestPromises","Promise","all","urlsToCache","map","entry","Request","waitUntil","ports","then","postMessage","URL","protocol","startsWith","sameOrigin","params","route","findMatchingRoute","has","get","err","reject","_catchHandler","catch","async","catchErr","matchResult","Array","isArray","Object","keys","undefined","setDefaultHandler","set","registerRoute","push","unregisterRoute","routeIndex","indexOf","splice","defaultRouter","_cacheNameDetails","googleAnalytics","precache","prefix","runtime","suffix","registration","scope","_createCacheName","cacheName","filter","value","join","cacheNames","userCacheName","asyncFn","returnPromise","createCacheKey","urlObject","cacheKey","revision","cacheKeyURL","originalURL","searchParams","PrecacheInstallReportPlugin","updatedURLs","notUpdatedURLs","handlerWillStart","state","originalRequest","cachedResponseWillBeUsed","cachedResponse","PrecacheCacheKeyPlugin","precacheController","cacheKeyWillBeUsed","_precacheController","getCacheKeyForURL","headers","supportStatus","copyResponse","response","modifier","clonedResponse","clone","responseInit","Headers","status","statusText","modifiedResponseInit","body","testResponse","Response","error","canConstructResponseFromBodyStream","blob","stripParams","fullURL","ignoreParams","strippedURL","param","delete","Deferred","promise","resolve","quotaErrorCallbacks","Set","toRequest","input","StrategyHandler","strategy","options","_cacheKeys","assign","_strategy","_handlerDeferred","_extendLifetimePromises","_plugins","plugins","_pluginStateMap","plugin","fetch","mode","FetchEvent","preloadResponse","possiblePreloadResponse","hasCallback","cb","iterateCallbacks","thrownErrorMessage","message","pluginFilteredRequest","fetchResponse","fetchOptions","callback","runCallbacks","fetchAndCachePut","responseClone","cachePut","cacheMatch","key","matchOptions","effectiveRequest","getCacheKey","multiMatchOptions","caches","ms","setTimeout","String","replace","RegExp","responseToCache","_ensureResponseSafeToCache","cache","open","hasCacheUpdateCallback","oldResponse","strippedRequestURL","keysOptions","ignoreSearch","cacheKeys","cacheMatchIgnoreParams","put","executeQuotaErrorCallbacks","newResponse","statefulCallback","statefulParam","doneWaiting","shift","destroy","pluginsUsed","Strategy","responseDone","handleAll","_getResponse","_awaitComplete","_handle","waitUntilError","PrecacheStrategy","_fallbackToNetwork","fallbackToNetwork","copyRedirectedCacheableResponsesPlugin","_handleInstall","_handleFetch","integrityInManifest","integrity","integrityInRequest","noIntegrityConflict","_useDefaultCacheabilityPluginIfNeeded","defaultPluginIndex","cacheWillUpdatePluginCount","entries","defaultPrecacheCacheabilityPlugin","cacheWillUpdate","redirected","PrecacheController","_urlsToCacheKeys","_urlsToCacheModes","_cacheKeysToIntegrities","install","bind","activate","addToCacheList","_installAndActiveListenersAdded","urlsToWarnAbout","cacheMode","firstEntry","secondEntry","warningMessage","console","warn","installReportPlugin","credentials","currentlyCachedRequests","expectedCacheKeys","values","deletedURLs","getURLsToCacheKeys","getCachedURLs","getIntegrityForCacheKey","matchPrecache","createHandlerBoundToURL","getOrCreatePrecacheController","PrecacheRoute","urlsToCacheKeys","possibleURL","ignoreURLParametersMatching","directoryIndex","cleanURLs","urlManipulation","hash","urlWithoutIgnoredParams","paramName","some","test","removeIgnoredSearchParams","pathname","endsWith","directoryURL","cleanURL","additionalURLs","urlToAttempt","generateURLVariations","addRoute","capture","captureUrl","matchCallback","moduleName","funcName","clients","claim"],"mappings":"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"} \ No newline at end of file

    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%0D%-iqesN7cpX;TGFi=XXc6 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%0Ain{X#aLU{SI2_AM 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Ď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

  • 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≥ku;CH9<$Yu9V~f)@*%J;;&4@i323hesED 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

    dh-39$IYY!Ivs$Yd3>p&Ew_ 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